[cut: only the first 33554432 bytes of this file were read]
<?xml version="1.0" encoding="utf-8"?>
<posts>
  <row Id="2" PostTypeId="1" AcceptedAnswerId="20" CreationDate="2010-08-16T19:46:06.793" Score="13" ViewCount="944" Body="&lt;p&gt;I have a dataset which is a number of objects arranged in a 2-D grid.  I know I have a strict ordering, increasing as you go left-to-right within each row, and increasing as top-to-bottom within each column.  For example, &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;1 2 3&lt;/li&gt;&#xA;&lt;li&gt;4 6 7&lt;/li&gt;&#xA;&lt;li&gt;5 8 9&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Can I improve on naive sorting to sort the entire dataset linearly (as measured in comparisons)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What about for n-d datasets?  Arbitrary finite datasets with a subset of comparisons known?&lt;/p&gt;&#xA;" OwnerUserId="48" LastEditorUserId="80" LastEditDate="2010-08-16T20:57:38.993" LastActivityDate="2010-08-16T20:57:38.993" Title="What is a good special-case sorting algorithm?" Tags="&lt;ds.algorithms&gt;&lt;total-ordering&gt;&lt;sorting&gt;" AnswerCount="2" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3" PostTypeId="1" AcceptedAnswerId="44" CreationDate="2010-08-16T19:50:13.663" Score="8" ViewCount="1214" Body="&lt;p&gt;A particular programming problem I came across recently reduces to finding hamiltonian paths in a rectangular grid that would look something like,&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;A  0  0  0&#xA;&#xA;0  0  0  0&#xA;&#xA;0  0  C  D&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;What are some effective heuristics that could be applied to find them - and particularly, techniques to trim/discard paths along the way?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit: Just to clarify, the edges are formed when elements are connected horizontally and vertically, but not diagonally. The problem also states that any element that is marked 0 can be used to form a path, but non 0 elements are &quot;obstacles&quot; that need to be avoided. &lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;A-0-0-0&#xA;      |&#xA;0-0-0-0&#xA;|&#xA;0-0-C D&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;could be one path, for instance. Another may be,&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;A 0-0-0&#xA;| |   |&#xA;0 0 0-0&#xA;| | |&#xA;0-0 C D&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;" OwnerUserId="35" LastEditorUserId="35" LastEditDate="2010-08-17T00:46:46.777" LastActivityDate="2010-08-17T01:12:55.963" Title="What are some effective heuristics to find the number of Hamiltonian paths in a rectangular grid?" Tags="&lt;ds.algorithms&gt;&lt;hamiltonian-paths&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="4" PostTypeId="1" CreationDate="2010-08-16T19:58:52.537" Score="15" ViewCount="1152" Body="&lt;p&gt;What is the following variation on set cover known as?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a set S, a collection C of subsets of S and a positive integer K, do there exist K sets in C such that every pair of elements of S lies in one of the selected subsets.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note: It is not hard to see that this problem is NP-Complete:  Given a normal set cover problem (S, C, K), make three copies of S, say S', S'', and S''',  then create your subsets as S''', |S| subsets of the form {a'} U {x in S'' | x != a} U {a'''}, |S| subsets of the form {a''} U {x in S' | x != a} U {a'''}, {a', a'' | a in C_i}.  Then we can solve the set cover problem with K subsets iff we can solve the pair cover problem with K + 1 + 2 |S| subsets.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This generalizes to triples, etc.  I would like to be able to not waste half a page proving this, and it is probably not obvious enough to dismiss as trivial.  It is certainly sufficiently useful that someone has proved it, but I have no idea who or where.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, is there a good place to look for NP-Completeness results that are not in Garey and Johnson?&lt;/p&gt;&#xA;" OwnerUserId="54" LastEditorUserId="80" LastEditDate="2010-08-16T20:25:11.147" LastActivityDate="2010-08-16T20:57:29.213" Title="What is the following variation on Set Cover known as?" Tags="&lt;np-hardness&gt;&lt;set-cover&gt;&lt;cc.complexity-theory&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="5" PostTypeId="1" AcceptedAnswerId="22" CreationDate="2010-08-16T20:05:19.027" Score="10" ViewCount="311" Body="&lt;p&gt;Can the divide and conquer nature of the FFT be generalized to other transforms (z Transform, chirp, etc) automatically?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there an algorithm that takes in a description of transform (I don't know what information would be needed) and can produce a fast FFT like function?&lt;/p&gt;&#xA;" OwnerUserId="64" LastActivityDate="2010-08-16T20:47:42.030" Title="Generalizing the FFT" Tags="&lt;ds.algorithms&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="6" PostTypeId="1" AcceptedAnswerId="9" CreationDate="2010-08-16T20:05:51.693" Score="8" ViewCount="193" Body="&lt;p&gt;Is anyone aware of any process algebraic (or related) formalisms that capture fine-grained location information?  I'm familiar with ambients and bigraphs, which obviously have a location model, but what about attempts to model more concrete location information, such that the location of some agent is expressed within some (real or virtual) coordinate space?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It seems to me that it would be possible to take some existing formalism and enrich it with constructs to model location at some appropriate level of abstraction, but I would hate to reinvent the wheel needlessly if this is reminiscent of previous efforts.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As background, the application domain is essentially biological modeling where the traditional notions of location used in this domain to govern where interactions can occur are not fine-grained enough to capture the properties of interest.&lt;/p&gt;&#xA;" OwnerUserId="47" LastActivityDate="2010-08-16T20:16:17.470" Title="Process modeling with fine-grained notions of location" Tags="&lt;concurrency&gt;&lt;process-algebra&gt;&lt;formal-modeling&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="7" PostTypeId="1" AcceptedAnswerId="247" CreationDate="2010-08-16T20:10:16.987" Score="21" ViewCount="498" Body="&lt;p&gt;In general, the query-tape for an oracle counts towards the space-complexity of a TM. However, it seems plausible to allow a write-only oracle-tape (such as is used in L-space reductions).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is such a construction useful? Does it yield any particularly absurd results?&lt;/p&gt;&#xA;" OwnerUserId="63" LastEditorUserId="80" LastEditDate="2010-08-16T20:40:49.097" LastActivityDate="2016-04-29T09:27:18.250" Title="space-bounded TMs and oracles" Tags="&lt;cc.complexity-theory&gt;&lt;space-bounded&gt;&lt;oracles&gt;" AnswerCount="3" CommentCount="4" FavoriteCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="8" PostTypeId="2" ParentId="2" CreationDate="2010-08-16T20:11:04.240" Score="4" Body="&lt;p&gt;If I understand the problem correctly (and I may not, feel free to tell me if I don't) you want to transform a 2D grid into a sorted 1D array, whereas each row and column is already sorted in the 2D grid?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The first element in the list in this case has to be the top-left corner ((0,0), by definition of the problem). After this it has to either be the (1,0) or (0,1) element, as all others will be larger than these by definition.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can generalise by saying that the next smallest element in the grid is always directly below an element already used (or the edge of grid), and also to the right of an element already used (or the edge of grid), since both are defined to be smaller than it.&#xA;So at each iteration you must only consider the smallest value that fulfills this requirement.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can keep the possible candidates in sorted order as you find them (no more than two will ever be made available in one iteration), and at each iteration check the new values made available (if any).&#xA;If they're lower than the lowest of the previous candidates add them to the list straight away and repeat, otherwise add the lowest previous candidate and compare to the next lowest etc.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Unfortunately I don't claim to be able to provide an exact complexity of this, nor do I claim it's the most efficient possible, it certainly seems better than a naive approach, and I hope I explained it well enough for you to understand.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT: For n-d grids like this I believe the same basic principle applies, but each iteration makes up to n new candidates available, and these candidates must be the smallest unused elements in each of n dimensions at this point.&lt;/p&gt;&#xA;" OwnerUserId="14" LastEditorUserId="14" LastEditDate="2010-08-16T20:42:03.493" LastActivityDate="2010-08-16T20:42:03.493" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="9" PostTypeId="2" ParentId="6" CreationDate="2010-08-16T20:16:17.470" Score="7" Body="&lt;p&gt;&lt;a href=&quot;http://www.doc.ic.ac.uk/~pg/papers/geometric.pdf&quot; rel=&quot;noreferrer&quot;&gt;Processes in Space&lt;/a&gt; by Luca Cardelli and Philippa Gardner is one paper in this direction. It specified a process algebra for describing the evolution of 3D structures. &lt;/p&gt;&#xA;" OwnerUserId="77" LastActivityDate="2010-08-16T20:16:17.470" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="10" PostTypeId="1" AcceptedAnswerId="18" CreationDate="2010-08-16T20:21:20.173" Score="8" ViewCount="2685" Body="&lt;p&gt;There was recently a claimed &lt;a href=&quot;http://science.slashdot.org/story/10/08/08/226227/Claimed-Proof-That-P--NP&quot; rel=&quot;nofollow&quot;&gt;proof that $P \ne NP$&lt;/a&gt;. Not long after its publication there were raised &lt;a href=&quot;http://slashdot.org/story/10/08/11/0239209/Possible-Issues-With-the-P--NP-Proof&quot; rel=&quot;nofollow&quot;&gt;some issues&lt;/a&gt; with this proof.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So ... is the proof correct or not ? (Please only answer this if you have evidence ... this question might take some time until it's answered)&lt;/p&gt;&#xA;" OwnerUserId="81" LastEditorUserId="2241" LastEditDate="2012-01-14T13:45:16.260" LastActivityDate="2012-01-14T13:45:16.260" Title="Is Deolalikar's 2010 proof that $P \ne NP$ correct?" Tags="&lt;np-hardness&gt;&lt;cc.complexity-theory&gt;" AnswerCount="3" CommentCount="4" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="11" PostTypeId="1" AcceptedAnswerId="256" CreationDate="2010-08-16T20:21:43.683" Score="49" ViewCount="3412" Body="&lt;p&gt;Functional programming has a theoretical basis in &lt;a href=&quot;http://en.wikipedia.org/wiki/Lambda_calculus&quot;&gt;lambda calculus&lt;/a&gt; and &lt;a href=&quot;http://en.wikipedia.org/wiki/Combinatory_logic&quot;&gt;combinatory logic&lt;/a&gt;.  As someone involved with statistical computing, I find these concepts to be very useful for modeling.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there an equivalent mathematical basis of &lt;a href=&quot;http://en.wikipedia.org/wiki/Imperative_programming&quot;&gt;imperative programming&lt;/a&gt;, or did it simply grow out of practical hardware application in machine language and the subsequent development of &lt;a href=&quot;http://en.wikipedia.org/wiki/FORTRAN&quot;&gt;FORTRAN&lt;/a&gt;?&lt;/p&gt;&#xA;" OwnerUserId="7" LastEditorUserId="74" LastEditDate="2010-08-21T20:37:23.677" LastActivityDate="2017-06-26T18:35:50.620" Title="What is the theoretical basis of imperative programming?" Tags="&lt;imperative-programming&gt;&lt;pl.programming-languages&gt;" AnswerCount="12" CommentCount="0" FavoriteCount="21" ContentLicense="CC BY-SA 2.5" />
  <row Id="12" PostTypeId="1" AcceptedAnswerId="13" CreationDate="2010-08-16T20:27:39.673" Score="35" ViewCount="956" Body="&lt;p&gt;I took a class once on Computability and Logic. The material included a correlation between complexity / computability classes (R, RE, co-RE, P, NP, Logspace, ...) and Logics (Predicate calculus, first order logic, ...).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The correlation included several results in one fields, that were obtained using techniques from the other field. It was conjectured that P != NP could be attacked as a problem in Logic (by projecting the problem from the domain of complexity classes to logics).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a good summary of these techniques and results?&lt;/p&gt;&#xA;" OwnerUserId="81" LastEditorUserId="80" LastEditDate="2010-08-16T20:32:20.710" LastActivityDate="2016-04-29T09:29:00.493" Title="Correspondence between complexity classes and logic" Tags="&lt;cc.complexity-theory&gt;&lt;lo.logic&gt;&lt;computability&gt;" AnswerCount="4" CommentCount="0" FavoriteCount="9" ContentLicense="CC BY-SA 2.5" />
  <row Id="13" PostTypeId="2" ParentId="12" CreationDate="2010-08-16T20:31:32.583" Score="23" Body="&lt;p&gt;It's possible that you're asking about results in finite model theory (such as the characterization of P and NP in terms of various fragments of logic). The recent attempted proof of P != NP initially made heavy use of such concepts, and some good references (taken from the &lt;a href=&quot;http://michaelnielsen.org/polymath1/index.php?title=Deolalikar_P_vs_NP_paper&quot;&gt;wiki&lt;/a&gt;) are &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.logic.rwth-aachen.de/pub/graedel/FMTbook-Chapter3.pdf&quot;&gt;Erich Gradel's review of FMT and descriptive complexity&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download;jsessionid=38D2317557C5EF25F3ED6D0D3CBE6E69?doi=10.1.1.28.6917&amp;amp;rep=rep1&amp;amp;type=pdf&quot;&gt;Ron Fagin's article on descriptive complexity&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="80" LastActivityDate="2010-08-16T20:31:32.583" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="14" PostTypeId="1" CreationDate="2010-08-16T20:32:00.193" Score="24" ViewCount="1497" Body="&lt;p&gt;Other than going fully academic and getting a doctorate/post-doc, or going for a more or less 'standard' job in software development, what are some other career options in the full or semi theoretical C.S field?&lt;/p&gt;&#xA;" OwnerUserId="81" LastEditorUserId="1037" LastEditDate="2012-02-08T17:42:24.397" LastActivityDate="2016-04-29T09:22:41.867" Title="What are some career options for someone with a computer scientist master degree?" Tags="&lt;soft-question&gt;&lt;advice-request&gt;&lt;career&gt;" AnswerCount="5" CommentCount="5" FavoriteCount="9" CommunityOwnedDate="2010-08-17T06:10:22.320" ContentLicense="CC BY-SA 2.5" />
  <row Id="15" PostTypeId="1" CreationDate="2010-08-16T20:32:53.500" Score="19" ViewCount="479" Body="&lt;p&gt;[This question has been asked on MathOverflow with no luck a month ago.]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let me first clarify my definitions.  For a word $w \in \Sigma^*$, with $\Sigma =\{a_1,&#xD;&#xA;\ldots, a_n\}$, I define two structures:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\mathbb{N}(w) = \langle \mathbb{N}, &amp;lt;, Q_{a_1}, \ldots, Q_{a_n} \rangle$,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;and the more usual &lt;i&gt;word model&lt;/i&gt;:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\mathbb{N}^r(w) = \langle \{0, \ldots, |w|-1\}, &amp;lt;, Q_{a_1}, \ldots, Q_{a_n} \rangle$,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where $Q_{a_i} = \{p \mid w_p = a_i\}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then WS1S is the set of second order formulas with models of the form&#xA;$\mathbb{N}(w)$, with order, and for which second order quantification is&#xA;limited to finite subsets of the domain.  MSO is the set of second order&#xA;formulas with models of the form $\mathbb{N}^r(w)$, with order.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The usual proof that REG = WS1S proves at the same time that MSO = WS1S.  My&#xA;question is then, for which first or second order relations can we keep this&#xA;to be true?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For instance, if we add a unary predicate $E(X)$ which says that a&#xA;(monadic) second order variable contains an even number of objects, we add no&#xA;power, as $E(X)$ is expressible as &quot;there exists $X_1$ and&#xA;$X_2$ that partition $X$, in such a way that if an element is in&#xA;$X_i$ the next one in $X$ is in $X_j$, $i \neq j$, and&#xA;the first element of $X$ is in $X_1$ and the last is in&#xA;$X_2$.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, if we add a predicate $|X| &amp;lt; |Y|$, then WS1S becomes undecidable&#xA;(see Klaedtke &amp;amp; Ruess, 10.1.1.7.3029), while MSO stays trivially decidable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thank you.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;b&gt;Edit:&lt;/b&gt; As a side question, ... is this question of interest?  I mean, I'm no expert in the field, so I'm not sure this question is relevant.&lt;/p&gt;&#xA;" OwnerUserId="88" LastEditorUserId="77" LastEditDate="2011-02-24T08:11:47.110" LastActivityDate="2011-02-24T08:11:47.110" Title="To what extent MSO = WS1S, when adding relations?" Tags="&lt;lo.logic&gt;&lt;automata-theory&gt;&lt;descriptive-complexity&gt;" AnswerCount="0" CommentCount="6" ContentLicense="CC BY-SA 2.5" />
  <row Id="16" PostTypeId="2" ParentId="10" CreationDate="2010-08-16T20:32:57.867" Score="21" Body="&lt;p&gt;See the &lt;a href=&quot;http://michaelnielsen.org/polymath1/index.php?title=Deolalikar_P_vs_NP_paper&quot; rel=&quot;noreferrer&quot;&gt;wiki&lt;/a&gt;. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2010-08-16T20:32:57.867" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="17" PostTypeId="1" AcceptedAnswerId="23" CreationDate="2010-08-16T20:33:42.140" Score="16" ViewCount="561" Body="&lt;p&gt;it is often said that when using the MD5 algorithm to sign some arbitrary information, the shared secret has to be at the end. Why?&lt;/p&gt;&#xA;" OwnerUserId="87" LastEditorUserId="74" LastEditDate="2010-08-23T23:54:23.390" LastActivityDate="2010-08-23T23:54:23.390" Title="Why is it important that the secret is at the end when signing with MD5?" Tags="&lt;hash-function&gt;&lt;cr.crypto-security&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="18" PostTypeId="2" ParentId="10" CreationDate="2010-08-16T20:36:48.810" Score="20" Body="&lt;p&gt;In one word: No.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It seems that there are some fatal flaws in Deolalikar's proposed proof. The real question now is if the &quot;proof&quot; has any useful ideas that can be built upon. In any case, it seems that the proof in its current form simply isn't correct, and can't be corrected either. On the other hand, Deolalikar has not given up on the proof, so I guess it's not the end of it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can find an update here: &lt;a href=&quot;http://rjlipton.wordpress.com/2010/08/15/the-p%E2%89%A0np-proof-is-one-week-old/&quot;&gt;http://rjlipton.wordpress.com/2010/08/15/the-p%E2%89%A0np-proof-is-one-week-old/&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="90" LastActivityDate="2010-08-16T20:36:48.810" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="19" PostTypeId="2" ParentId="11" CreationDate="2010-08-16T20:39:06.183" Score="20" Body="&lt;p&gt;In short, I would say that imperative programming evolved from machine language and programming practice. On the other hand, &lt;a href=&quot;http://en.wikipedia.org/wiki/Monad_%28functional_programming%29&quot;&gt;monads&lt;/a&gt; provide an appropriate semantic framework for describing the semantics of imperative programming language features. The paper   &lt;a href=&quot;http://www.disi.unige.it/person/MoggiE/ftp/ic91.pdf&quot;&gt;&lt;em&gt;Notions of computation and monads&lt;/em&gt;&lt;/a&gt; by Moggi established the formal foundations. Phil Wadler popularised the idea and contributed significantly to it being the key way of incorporating imperative features into the programming language Haskell. Recent work by Plotkin and Power &lt;a href=&quot;http://hdl.handle.net/1842/196&quot;&gt;&lt;em&gt;Notions of Computation Determine Monads&lt;/em&gt;&lt;/a&gt; goes the other way stating that some, but not all, notions of (imperative) computation actually give a monad, meaning that in a very essential way monads correspond to imperative (and other) notions of computation.&lt;/p&gt;&#xA;" OwnerUserId="77" LastActivityDate="2010-08-16T20:39:06.183" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="20" PostTypeId="2" ParentId="2" CreationDate="2010-08-16T20:40:01.720" Score="19" Body="&lt;p&gt;It's easy to prove an Ω(n&lt;sup&gt;2&lt;/sup&gt; log n) lower bound on this problem (in the comparison sorting model): if the element at position (i,j) is always within distance 1/2 of i+j, then the grid diagonals are independent of each other, and the sorted order within each grid diagonal is arbitrary. So under this constraint the total number of orderings possible is the product (over all the diagonals of the grid) of the factorials of the lengths of the diagonals, which is exponential in n&lt;sup&gt;2&lt;/sup&gt; log n.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Which is to say that standard comparison sorting algorithms are asymptotically optimal for grids ordered as you describe.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2010-08-16T20:40:01.720" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="21" PostTypeId="2" ParentId="14" CreationDate="2010-08-16T20:42:15.647" Score="4" Body="&lt;p&gt;Any &amp;quot;cutting-edge&amp;quot; technology field will look for theoreticians.&lt;/p&gt;&#xA;&lt;p&gt;One recent example is high-frequency trading, as in this &lt;a href=&quot;http://cufp.org/jobs/haskellerlangc-developers-high-frequency-trading&quot; rel=&quot;nofollow noreferrer&quot;&gt;recent job post&lt;/a&gt; from &lt;a href=&quot;http://www.allstontrading.com/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Allston Trading&lt;/a&gt; (h.t. to &lt;a href=&quot;http://twitter.com/donsbot/status/21329927415&quot; rel=&quot;nofollow noreferrer&quot;&gt;Don Stewart&lt;/a&gt;):&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Are you familiar with the teachings&#xA;and lore of SICP, PAIP, TAOCP? Do you&#xA;know why monads really are like&#xA;burritos (or have an even better&#xA;analogy)? Do you have a love/hate (or&#xA;just love?) relationship with&#xA;Hindley-Milner inference? And can you&#xA;make code run so fast your CPU begs&#xA;for mercy? Then we want to talk to&#xA;you.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;It goes on to guarantee a phone interview to anyone who has solved P != NP (amongst other things).&lt;/p&gt;&#xA;" OwnerUserId="7" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2010-08-16T20:42:15.647" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="22" PostTypeId="2" ParentId="5" CreationDate="2010-08-16T20:47:42.030" Score="6" Body="&lt;p&gt;While this is not a direct answer, the &lt;a href=&quot;https://mathoverflow.net/questions/10237/does-the-convolution-theorem-apply-to-weaker-algebraic-structures&quot;&gt;following discussion on MO&lt;/a&gt; (Mathoverflow) relates to finding convolution operations that admit fast FFT-like operations on other algebraic structures. &lt;/p&gt;&#xA;" OwnerUserId="80" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2010-08-16T20:47:42.030" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="23" PostTypeId="2" ParentId="17" CreationDate="2010-08-16T20:53:02.767" Score="16" Body="&lt;p&gt;See &quot;extension attacks&quot; in the &lt;a href=&quot;http://en.wikipedia.org/wiki/Merkle%E2%80%93Damg%C3%A5rd_construction&quot; rel=&quot;noreferrer&quot;&gt;Merkle-Damgard construction&lt;/a&gt;. This issue arises in the use of hash functions for &lt;a href=&quot;http://en.wikipedia.org/wiki/Message_authentication_code&quot; rel=&quot;noreferrer&quot;&gt;message authentication&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In short, putting the secret in the beginning allows the attacker, given a message and its hash, to forge any message which has the given message as a prefix. This is a problem for naive codes but is avoided by well-known codes like &lt;a href=&quot;http://en.wikipedia.org/wiki/HMAC&quot; rel=&quot;noreferrer&quot;&gt;HMAC&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="50" LastActivityDate="2010-08-16T20:53:02.767" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="24" PostTypeId="2" ParentId="4" CreationDate="2010-08-16T20:55:59.623" Score="7" Body="&lt;p&gt;To answer your second question, the &lt;a href=&quot;http://www.csc.kth.se/~viggo/problemlist/&quot; rel=&quot;noreferrer&quot;&gt;Kahn-Crescenzi compendium of NP-hardness results&lt;/a&gt; is a valuable source for hardness results, and also covers many variants of core G&amp;amp;J problems. T&lt;a href=&quot;http://www.csc.kth.se/~viggo/wwwcompendium/node146.html&quot; rel=&quot;noreferrer&quot;&gt;he entry for set cover&lt;/a&gt; is a good example of this. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2010-08-16T20:55:59.623" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="25" PostTypeId="2" ParentId="4" CreationDate="2010-08-16T20:57:29.213" Score="7" Body="&lt;p&gt;It sounds like you're generalizing set cover to consider not just elements of S, but every size-M subset of S.  We can state the problem more generally:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&quot;Given a set S, a collection C of subsets of S and a positive integer m, what is the smallest number of elements of C such that each size-M subset of S lies in one of the selected elements of C?&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This actually strikes me as being a fairly obvious generalization of set cover, and not one you'd need to spend time proving NP-complete beyond a single line.  After all, choosing m=1 recovers the original set cover problem.  Perhaps this more general formulation is good enough for your purposes to avoid needing to go into the details?&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Your question about an updated set of NP-completeness results is a good one, and deserves its own question. Crescenzi and Kann have put together a useful compendium &lt;a href=&quot;http://www.ensta.fr/~diam/ro/online/viggo_wwwcompendium/wwwcompendium.html&quot;&gt;online here&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Second, it's hardly pervasive, but the Algorithms Design Manual by Steven Skiena is often a useful first stop for a large number of problems, and is available online &lt;a href=&quot;http://www.cs.sunysb.edu/~algorith/&quot;&gt;in part&lt;/a&gt;. &lt;/p&gt;&#xA;" OwnerUserId="71" LastActivityDate="2010-08-16T20:57:29.213" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="26" PostTypeId="1" AcceptedAnswerId="27" CreationDate="2010-08-16T20:57:50.413" Score="16" ViewCount="3649" Body="&lt;p&gt;This question is in regard to the Fisher-Yates algorithm for returning a random shuffle of a given array. The &lt;a href=&quot;http://en.wikipedia.org/wiki/Fisher%E2%80%93Yates_shuffle&quot; rel=&quot;noreferrer&quot;&gt;Wikipedia page&lt;/a&gt; says that its complexity is O(n), but I think that it is O(n log n).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In each iteration i, a random integer is chosen between 1 and i. Simply writing the integer in memory is O(log i), and since there are n iterations, the total is&lt;/p&gt;&#xA;&#xA;&lt;p&gt;O(log 1) + O(log 2) + ... + O(log n) = O(n log n)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;which isn't better the the naive algorithm. Am I missing something here?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note: The naive algorithm is to assign each element a random number in the interval (0,1) , then sort the array with regard to the assigned numbers.&lt;/p&gt;&#xA;" OwnerUserId="90" LastActivityDate="2010-10-02T11:48:12.490" Title="Complexity of the Fisher-Yates Shuffle Algorithm" Tags="&lt;ds.algorithms&gt;&lt;permutations&gt;" AnswerCount="6" CommentCount="0" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="27" PostTypeId="2" ParentId="26" CreationDate="2010-08-16T21:04:00.307" Score="25" Body="&lt;p&gt;I suspect that here, like in most algorithms work, the cost of reading and writing $O(\log n)$ bit numbers is assumed to be a constant. It's a minor sin, as long as you don't get carried away and &lt;a href=&quot;http://www.computational-geometry.org/mailing-lists/compgeom-announce/2003-December/000852.html&quot; rel=&quot;noreferrer&quot;&gt;collapse P and PSPACE by accident&lt;/a&gt;. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2010-08-16T21:04:00.307" CommentCount="7" ContentLicense="CC BY-SA 2.5" />
  <row Id="28" PostTypeId="2" ParentId="26" CreationDate="2010-08-16T21:05:59.067" Score="19" Body="&lt;p&gt;The standard model of computation assumes that arithmetic operations on O(log n)-bit integers can be executed in constant time, since those operations are typically handed in hardware.  So in the Fisher-Yates algorithm, &quot;writing the integer i in memory&quot; only takes O(1) time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course, it's perfectly meaningful to analyze algorithm in terms of bit operations, but the bit-cost model is less predictive of actual behavior.  Even the simple loop &lt;code&gt;for i = 1 to n: print(i)&lt;/code&gt; requires O(n log n) bit operations.&lt;/p&gt;&#xA;" OwnerUserId="111" LastActivityDate="2010-08-16T21:05:59.067" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="29" PostTypeId="1" AcceptedAnswerId="37" CreationDate="2010-08-16T21:06:49.003" Score="17" ViewCount="1006" Body="&lt;p&gt;I'm looking for an online algorithm to maintain the transitive closure of a directed acyclic graph with a time complexity less than O(N^2) per edge addition. My current algorithm is like this: &lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;For every new edge u-&amp;gt;v connect all nodes in Pred(u) \cup { u } with all nodes in Succ(v) \ \cup { v }.&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;For O(N^2) edges this translates in a total time complexity of O(N^4) which much worse than, for example, &lt;a href=&quot;http://en.wikipedia.org/wiki/Floyd%E2%80%93Warshall_algorithm&quot;&gt;Floyd-Warshall&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="10" LastEditorUserId="74" LastEditDate="2010-08-21T20:33:59.190" LastActivityDate="2010-08-21T20:33:59.190" Title="Online transitive closure better than O(N^2) per edge addition" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;ds.data-structures&gt;&lt;transitive-closure&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="30" PostTypeId="1" AcceptedAnswerId="102" CreationDate="2010-08-16T21:06:54.870" Score="17" ViewCount="755" Body="&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Quantum_computer&quot; rel=&quot;nofollow&quot;&gt;Quantum Computation&lt;/a&gt; is an active area of research that aims to take advantage of quantum physics (e.g. quantum entanglement) to advance the efficiency capabilities of computers (does not alter the &lt;a href=&quot;http://en.wikipedia.org/wiki/Church%E2%80%93Turing_thesis&quot; rel=&quot;nofollow&quot;&gt;Church-Turing thesis&lt;/a&gt;).  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;What are the most significant experiments that have been conducted to demonstrate quantum-computing theory (such as qubits and teleportation)?&lt;/p&gt;&#xA;" OwnerUserId="7" LastEditorUserId="5385" LastEditDate="2012-10-15T20:29:27.377" LastActivityDate="2012-10-15T20:29:27.377" Title="Are there any known implementations for quantum computing constructs?" Tags="&lt;reference-request&gt;&lt;quantum-computing&gt;" AnswerCount="3" CommentCount="2" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="31" PostTypeId="2" ParentId="26" CreationDate="2010-08-16T21:11:08.947" Score="9" Body="&lt;p&gt;This is an answer to &quot;[Fisher-Yates algorithm] isn't better than the naive algorithm. Am I missing something here?&quot; which you asked in the question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In your &quot;naive&quot; algorithm which uses real numbers: how many bits of accuracy do you use? If you're counting bit complexity (as you seem to be doing for Fisher-Yates), and the algorithm uses k random bits for the real numbers, then its running time would be Ω(kn log n), since comparing two k-bit real numbers takes Ω(k) time. But k needs to be at least Ω(log n) to prevent two elements being mapped to the same real number, which means that the algorithm takes Ω(n log&lt;sup&gt;2&lt;/sup&gt; n) time, which is slower than the Fisher-Yates shuffle by a factor of log n.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you're just counting the &lt;em&gt;number&lt;/em&gt; of arithmetic and comparison operations and ignoring their bit complexity, then Fisher-Yates is &amp;Theta;(n) and your algorithm is &amp;Theta;(n log n), still a factor of log n apart.&lt;/p&gt;&#xA;" OwnerUserId="115" LastEditorUserId="115" LastEditDate="2010-08-16T21:24:35.677" LastActivityDate="2010-08-16T21:24:35.677" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="32" PostTypeId="2" ParentId="11" CreationDate="2010-08-16T21:11:33.283" Score="11" Body="&lt;p&gt;Functional programming has a clear basis in mathematics because functional programming languages evolved in parallel with the relevant math and their designers typically held the math in high regard. The strong and straightforward relationship is a self-fulfilling prophecy.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Imperative programming has a significantly messier history that's tied much more closely to business and engineering problems and was historically much more concerned with the performance of compilers and the code that they generate than with respecting mathematical formalisms.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Many people have attempted to explain imperative programming in (traditionally) functional terms. This may be the closest we can get to what you're looking for, but these attempts are invariably awkward, tedious, forensic. I'm pretty sure I would rather tear my eyes out of my face than read a progress/preservation proof for the CLR.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Usually if you get towards the end of a decent pl textbook (e.g. Pierce's Types and Programming Languages), you'll start to see formal modeling of imperative language features. This may be interesting to you.&lt;/p&gt;&#xA;" OwnerUserId="91" LastActivityDate="2010-08-16T21:11:33.283" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="33" PostTypeId="1" AcceptedAnswerId="40" CreationDate="2010-08-16T21:11:34.063" Score="8" ViewCount="425" Body="&lt;p&gt;I would like to be somewhat good at string searching and pattern matching, could you point me to some good online resources? Exercise problems would be great. Thanks.&lt;/p&gt;&#xA;" OwnerUserId="101" LastActivityDate="2010-08-16T21:33:36.650" Title="Best resources for string searching or pattern matching exercises" Tags="&lt;ds.algorithms&gt;&lt;string-search&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="2" CommunityOwnedDate="2010-08-16T21:11:34.063" ContentLicense="CC BY-SA 2.5" />
  <row Id="34" PostTypeId="1" AcceptedAnswerId="14547" CreationDate="2010-08-16T21:12:44.327" Score="127" ViewCount="10729" Body="&lt;p&gt;A shuffle of two strings is formed by interspersing the characters into a new string, keeping the characters of each string in order. For example, &lt;code&gt;MISSISSIPPI&lt;/code&gt; is a shuffle of &lt;code&gt;MISIPP&lt;/code&gt; and &lt;code&gt;SSISI&lt;/code&gt;.  Let me call a string &lt;strong&gt;square&lt;/strong&gt; if it is a shuffle of two identical strings. For example, &lt;code&gt;ABCABDCD&lt;/code&gt; is square, because it is a shuffle of &lt;code&gt;ABCD&lt;/code&gt; and &lt;code&gt;ABCD&lt;/code&gt;, but the string &lt;code&gt;ABCDDCBA&lt;/code&gt; is not square.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a fast algorithm to determine whether a string is square, or is it NP-hard?  The obvious dynamic programming approach doesn't seem to work.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Even the following special cases appear to be hard: (1) strings in which each character appears at most &lt;strike&gt;four&lt;/strike&gt; &lt;strong&gt;six&lt;/strong&gt; times, and (2) strings with only two distinct characters.  &lt;em&gt;As Per Austrin points out below, the special case where each character occurs at most four times can be reduced to 2SAT.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt;  This problem has another formulation that may make a hardness proof easier.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider a graph G whose vertices are the integers 1 through n; identify each edge with the real interval between its endpoints.  We say that two edges of G are &lt;em&gt;nested&lt;/em&gt; if one interval properly contains the other.  For example, the edges (1,5) and (2,3) are nested, but (1,3) and (5,6) are not, and (1,5) and (2,8) are not.  A matching in G is &lt;em&gt;non-nested&lt;/em&gt; if &lt;em&gt;no&lt;/em&gt; pair of edges is nested.  &lt;strong&gt;Is there a fast algorithm to determine whether G has a non-nested perfect matching, or is that problem NP-hard?&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Unshuffling a string is equivalent to finding a non-nested perfect matching in a disjoint union of cliques (with edges between equal characters).  In particular, unshuffling a &lt;em&gt;binary&lt;/em&gt; string is equivalent to finding a non-nested perfect matching in a disjoint union of &lt;em&gt;two&lt;/em&gt; cliques.  But I don't even know if this problem is hard for general graphs, or easy for any interesting classes of graphs.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;There is an easy polynomial-time algorithm to find perfect non-&lt;em&gt;crossing&lt;/em&gt; matchings.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Update (Jun 24, 2013): The problem is solved!&lt;/strong&gt;  There are now two independent proofs that identifying square strings is NP-complete.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;In November 2012, Sam Buss and Michael Soltys announced a reduction from &lt;a href=&quot;http://en.wikipedia.org/wiki/3-partition_problem&quot;&gt;3-partition&lt;/a&gt;, which shows that the problem is hard even for strings over a 9-character alphabet.  See &lt;a href=&quot;http://www.math.ucsd.edu/~sbuss/ResearchWeb/Shuffle/&quot;&gt;&quot;Unshuffling a Square is NP-Hard&lt;/a&gt;&quot;, &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S002200001300189X&quot;&gt;&lt;em&gt;Journal of Computer System Sciences&lt;/em&gt;&lt;/a&gt; 2014.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;In June 2013, Romeo Rizzi and Stéphane Vialette published a reduction from the &lt;a href=&quot;http://en.wikipedia.org/wiki/Longest_common_subsequence#Complexity&quot;&gt;longest common subsequence&lt;/a&gt; problem.  See &quot;&lt;a href=&quot;http://link.springer.com/chapter/10.1007%2F978-3-642-38536-0_21&quot;&gt;On Recognizing Words That Are Squares for the Shuffle Product&lt;/a&gt;&quot;, &lt;em&gt;Proc. 8th International Computer Science Symposium in Russia&lt;/em&gt;, Springer LNCS 7913, pp. 235–245.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;There is also a simpler proof that finding non-nested perfect matchings is NP-hard, due to Shuai Cheng Li and Ming Li in 2009.  See &quot;&lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0304397509001856&quot;&gt;On two open problems of 2-interval patterns&lt;/a&gt;&quot;, &lt;em&gt;Theoretical Computer Science&lt;/em&gt; 410(24–25):2410–2423, 2009.&lt;/p&gt;&#xA;" OwnerUserId="111" LastEditorUserId="111" LastEditDate="2013-12-06T19:15:37.183" LastActivityDate="2019-02-25T10:45:43.203" Title="How hard is unshuffling a string?" Tags="&lt;ds.algorithms&gt;&lt;open-problem&gt;" AnswerCount="11" CommentCount="21" FavoriteCount="61" ContentLicense="CC BY-SA 3.0" />
  <row Id="35" PostTypeId="2" ParentId="11" CreationDate="2010-08-16T21:13:47.323" Score="22" Body="&lt;p&gt;The simplest theoretical model of an imperative program is the turing machine itself. It has  both essential components of an imperative program: unbounded modifiable state and a state machine that operates on it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can also ground imperative programming into functional programming by considering programs as compositions of monadic operations that pass and return modified versions of the global state, as done in the Haskell programming language.&lt;/p&gt;&#xA;" OwnerUserId="120" LastActivityDate="2010-08-16T21:13:47.323" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="36" PostTypeId="1" AcceptedAnswerId="42" CreationDate="2010-08-16T21:16:37.420" Score="21" ViewCount="319" Body="&lt;p&gt;Is there a good survey that compares different extractors, concentrators and superconcentrators and lays out the best methods in terms of the tradeoff between randomness, time and space ? &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2010-08-16T21:37:08.057" Title="A comparison of extractors in terms of tradeoffs between time, randomness and space ?" Tags="&lt;reference-request&gt;&lt;randomness&gt;&lt;derandomization&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="7" ContentLicense="CC BY-SA 2.5" />
  <row Id="37" PostTypeId="2" ParentId="29" CreationDate="2010-08-16T21:16:50.027" Score="16" Body="&lt;p&gt;O(n) time per edge addition:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;G. F. Italiano (1986): &lt;a href=&quot;http://dx.doi.org/10.1016/0304-3975%2886%2990098-8&quot;&gt;Amortized efficiency of a path retrieval data structure&lt;/a&gt;, &lt;em&gt;Theoretical Computer Science&lt;/em&gt; 48, 273–281.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;J. A. La Poutré and J. van Leeuwen (1988): &lt;a href=&quot;http://dx.doi.org/10.1007/3-540-19422-3_9&quot;&gt;Maintenance of transitive closures and transitive reductions of graphs&lt;/a&gt;, &lt;em&gt;Proc. WG 1987&lt;/em&gt;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="74" LastEditorUserId="74" LastEditDate="2010-08-16T21:24:08.673" LastActivityDate="2010-08-16T21:24:08.673" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="39" PostTypeId="1" AcceptedAnswerId="46" CreationDate="2010-08-16T21:23:21.370" Score="23" ViewCount="1102" Body="&lt;p&gt;I'm trying to understand the relationship between graph isomorphism and the hidden subgroup problem. Is there a good reference for this ?&lt;/p&gt;&#xA;" OwnerUserId="80" LastEditorUserId="8067" LastEditDate="2013-12-14T04:07:15.640" LastActivityDate="2013-12-14T04:07:15.640" Title="Graph Isomorphism and hidden subgroups" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;quantum-computing&gt;&lt;graph-isomorphism&gt;" AnswerCount="3" CommentCount="3" FavoriteCount="8" ContentLicense="CC BY-SA 2.5" />
  <row Id="40" PostTypeId="2" ParentId="33" CreationDate="2010-08-16T21:33:36.650" Score="6" Body="&lt;p&gt;Are you already familiar with the main algorithms in the area? Are you familiar with &lt;a href=&quot;http://www.cs.ucr.edu/~stelo/pattern.html&quot; rel=&quot;noreferrer&quot;&gt;this site&lt;/a&gt; a huge and well-maintained list of references in pattern matching?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I don't see how one could come up with a list of exercised for string matching, except &quot;implement all main approaches and test them on a lot of data&quot;. And data is really easy to come by: you can grab any text file and it will do (you can create a positive example by seeking to a random location in the text file and getting n characters, and for a negative example any random string will do).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'd read up on &lt;a href=&quot;http://en.wikipedia.org/wiki/Knuth-morris-pratt&quot; rel=&quot;noreferrer&quot;&gt;KMP&lt;/a&gt;, &lt;a href=&quot;http://en.wikipedia.org/wiki/Boyer-Moore&quot; rel=&quot;noreferrer&quot;&gt;Boyer-Moore&lt;/a&gt;, automata methods, and the naive algorithm and implement them, and then think about the problem trying to make your algorithms faster.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is a huge literature in the area, of course, and the first link I posted can steer you in that direction.&lt;/p&gt;&#xA;" OwnerUserId="120" LastActivityDate="2010-08-16T21:33:36.650" CommentCount="0" CommunityOwnedDate="2010-08-16T21:33:36.650" ContentLicense="CC BY-SA 2.5" />
  <row Id="41" PostTypeId="1" AcceptedAnswerId="63" CreationDate="2010-08-16T21:34:24.110" Score="20" ViewCount="1174" Body="&lt;p&gt;The complexity class &lt;strong&gt;PPAD&lt;/strong&gt; (e.g. computing various Nash equilibria) can be defined as the set of total search problems polytime reducible to &lt;strong&gt;END OF THE LINE&lt;/strong&gt;:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;END OF THE LINE&lt;/strong&gt;: Given circuits &lt;em&gt;S&lt;/em&gt; and &lt;em&gt;P&lt;/em&gt; with &lt;em&gt;n&lt;/em&gt; input bits and &lt;em&gt;n&lt;/em&gt; output bits such that &lt;em&gt;P(0&lt;sup&gt;n&lt;/sup&gt;)&lt;/em&gt; = &lt;em&gt;0&lt;sup&gt;n&lt;/sup&gt;&lt;/em&gt; != &lt;em&gt;S(0&lt;sup&gt;n&lt;/sup&gt;)&lt;/em&gt;, find an input &lt;em&gt;x&lt;/em&gt; in {0,1}&lt;sup&gt;&lt;em&gt;n&lt;/em&gt;&lt;/sup&gt; such that &lt;em&gt;P(S(x))&lt;/em&gt; != &lt;em&gt;x&lt;/em&gt; &lt;strong&gt;or&lt;/strong&gt; &lt;em&gt;S(P(x))&lt;/em&gt; != &lt;em&gt;x&lt;/em&gt; != &lt;em&gt;0&lt;sup&gt;n&lt;/sup&gt;&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Circuits or algorithms such as &lt;em&gt;S&lt;/em&gt; and &lt;em&gt;P&lt;/em&gt; implicitly define an exponentially large graph that is only revealed on a query-by-query basis (to keep the problem in &lt;strong&gt;PSPACE&lt;/strong&gt;!), e.g. &lt;a href=&quot;http://www.cs.berkeley.edu/~christos/papers/On%20the%20Complexity.pdf&quot;&gt;Papadimitrou's paper&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, I don't understand how one would design a circuit that enables &lt;em&gt;arbitrary&lt;/em&gt; graphs (if there is a systematic structure to the graph, it appears much easier to find the circuit). For instance, how would one design a polynomially-sized circuit that represents an exponentially-long directed line, with an &lt;em&gt;all-0&lt;/em&gt; label for the source vertex and randomly assigned binary labels to all other vertices? This seems to be implicit in the &lt;strong&gt;PPAD&lt;/strong&gt;-related papers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The closest I've come from a search online is &lt;a href=&quot;http://www.math.ias.edu/~avi/PUBLICATIONS/MYPAPERS/GW84/GW84.pdf&quot;&gt;Galperin/Widgerson's paper&lt;/a&gt;, but the circuit described there takes two vertex labels and returns a Boolean answer to &quot;Are these vertices adjacent?&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, how would you design a polynomially-sized circuit of an exponentially-sized graph that takes an &lt;em&gt;n&lt;/em&gt;-bit input and outputs the &lt;em&gt;n&lt;/em&gt;-bit label of its predecessor or successor, respectively? Or even, does someone know of a resource that explains this well?&lt;/p&gt;&#xA;" OwnerUserId="108" LastEditorUserId="80" LastEditDate="2010-08-16T21:37:23.923" LastActivityDate="2010-08-16T23:00:08.300" Title="Succinct circuit representation of graphs" Tags="&lt;reference-request&gt;&lt;combinatory-logic&gt;&lt;graph-theory&gt;&lt;ppad&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="6" ContentLicense="CC BY-SA 2.5" />
  <row Id="42" PostTypeId="2" ParentId="36" CreationDate="2010-08-16T21:37:08.057" Score="12" Body="&lt;p&gt;The default reference is Ronen Shaltiel's &lt;a href=&quot;http://cs.haifa.ac.il/~ronen/online_papers/survey.ps&quot; rel=&quot;noreferrer&quot;&gt;survey&lt;/a&gt;.  This predates the important results of [Barak-Impagliazzo-Wigderson '04], [Barak-Kindler-Shaltiel-Sudakov-Wigderson '05], [Barak-Rao-Shaltiel-Wigderson '06] etc.  I believe Anup Rao's &lt;a href=&quot;http://www.cs.washington.edu/homes/anuprao/pubs/thesis.pdf&quot; rel=&quot;noreferrer&quot;&gt;Ph.D. thesis&lt;/a&gt; is a good recent reference that describes these developments.&lt;/p&gt;&#xA;" OwnerUserId="15" LastActivityDate="2010-08-16T21:37:08.057" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="43" PostTypeId="2" ParentId="39" CreationDate="2010-08-16T21:38:07.933" Score="17" Body="&lt;p&gt;You might want to read Dave Bacon's recent &lt;a href=&quot;http://dabacon.org/pontiff/?p=4148&quot;&gt;blog post&lt;/a&gt; on Graph Isomorphism with links to the literature.&lt;/p&gt;&#xA;" OwnerUserId="121" LastActivityDate="2010-08-16T21:38:07.933" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="44" PostTypeId="2" ParentId="3" CreationDate="2010-08-16T21:41:22.647" Score="3" Body="&lt;p&gt;I don't see an easy way of counting without enumerating. You can easily visit all hamiltonian paths with an exaustive depth-first search with backtracking. You can actually cheat a bit, and realize that, if N is the number of hamiltonian paths that start by going to the right, the total number of hamiltonian paths is 2N (due to the symmetry if the grid).  This does not extend all the way (for some vertices not all paths will lead to the same number of cycles, but you can upper bound the number of hamiltonian paths easily with a similar argument (with the bonus that you can solve parts of it exactly to improve your bound with symmetry arguments). This is the strategy I'd choose.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But if you don't want this, some generic heuristics:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;You can also easily upper bound the number of hamiltonian paths as |E| choose |V|-1 (where |E| is the number of edges and |V| the number of vertices in the graph), which can be a lot better for a sparse graph than |V|! (the naive bound that assumes that the graph is complete).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;An easy way to improve this bound is by trimming known-bad combinations, by not considering twice edges from the same vertex. So you'd get something like prod_v(deg_v-1) (which should still upper bound the number of hamiltonian paths, since you're now counting cycles more than once, I think).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="120" LastEditorUserId="120" LastEditDate="2010-08-17T01:12:55.963" LastActivityDate="2010-08-17T01:12:55.963" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="45" PostTypeId="1" AcceptedAnswerId="47" CreationDate="2010-08-16T21:46:47.660" Score="65" ViewCount="4664" Body="&lt;p&gt;I'm familiar with a lot of results that use the &lt;a href=&quot;https://en.wikipedia.org/wiki/PCP_theorem&quot; rel=&quot;noreferrer&quot;&gt;PCP theorem&lt;/a&gt; (mainly in approximating algorithms), but I've never come across a clear explanation of the PCP theorem (ie, that $\mathsf{NP} = \mathsf{PCP}(O(\log(n)),O(1))$). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;What are good papers/books to read for that?&lt;/p&gt;&#xA;" OwnerUserId="120" LastEditorUserId="4896" LastEditDate="2016-09-21T19:42:08.087" LastActivityDate="2016-09-21T19:42:08.087" Title="What are good references to understanding the proof of the PCP theorem?" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;pcp&gt;" AnswerCount="11" CommentCount="0" FavoriteCount="21" ContentLicense="CC BY-SA 3.0" />
  <row Id="46" PostTypeId="2" ParentId="39" CreationDate="2010-08-16T21:46:57.627" Score="20" Body="&lt;p&gt;References can be found in martinschwarz's answer, but here's a summary of a couple reductions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The symmetric group $S_n$ acts on graphs of n vertices by permuting the vertices.  Determining whether two graphs are isomorphic is polynomial-time equivalent to computing a polynomial-size generating set for $Aut(G)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Reduction to the HSP over the symmetric group $S_n$ (where $n$ is the number of variables in the graph).  The function $f$ is $f(p)=p(G)$ where $p$ is a permutation in $S_n$, and $p(G)$ is the permuted version of $G$.  Then $f$ is constant on cosets of $Aut(G)$ and distinct on distinct cosets (note that the image of $f$ consists of all graphs isomorphic to $G$).  Since the hidden subgroup is exactly $Aut(G)$, if we could solve this HSP then we would have the generating set for $Aut(G)$, which is all we need to solve GI (see above).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Reduction to the HSP over $S_n \wr \mathbb{Z}/2\mathbb{Z}$.  If we want to know if two graphs $G$ and $H$ on $n$ vertices are isomorphic, consider the graph $K$ which is the disjoint union of $G$ and $H$ on $2n$ vertices.  Let $\mathbb{Z}/2\mathbb{Z}$ act on the vertices by swapping $i$ with $n+i$ for $i=1,...,n$.  Either $Aut(K) = Aut(G) \times Aut(H)$ or $Aut(K) = (Aut(G) \times Aut(H)) semidirect \mathbb{Z}/2\mathbb{Z}$.  As before, let $f(x)=x(K)$ where $x$ is now an element of $S_n \wr \mathbb{Z}/2\mathbb{Z}$ that acts on $K$ as described.  The hidden subgroup associated to $f$ is exactly $Aut(K)$, as in the previous reduction.  If we solve this HSP, we get a generating set for $Aut(K)$.  It is then easy to check whether the generating set contains any element that swaps the copy of $G$ with the copy of $H$ inside $K$ (has nontrivial $\mathbb{Z}/2\mathbb{Z}$ component).&lt;/p&gt;&#xA;" OwnerUserId="129" LastEditorUserId="129" LastEditDate="2010-08-31T14:41:35.667" LastActivityDate="2010-08-31T14:41:35.667" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="47" PostTypeId="2" ParentId="45" CreationDate="2010-08-16T21:55:05.167" Score="41" Body="&lt;p&gt;Both &lt;a href=&quot;http://www.wisdom.weizmann.ac.il/~oded/cc-book.html&quot;&gt;Goldreich's complexity textbook&lt;/a&gt; and &lt;a href=&quot;http://www.cs.princeton.edu/theory/complexity/&quot;&gt;Arora and Barak's complexity textbook&lt;/a&gt; have chapters devoted to explaining the proof of the PCP theorem (with pictures!).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, &lt;a href=&quot;http://www.wisdom.weizmann.ac.il/~dinuri/mypapers/combpcp.pdf&quot;&gt;Dinur's paper&lt;/a&gt; is worthwhile to read, if you haven't tried to tackle it yet. It's at least more approachable (in my opinion) than the original proof, and you can get a good intuition for how the proof works by skimming just the first 12 pages (and delve into the technical proofs contained in the latter chunk of the paper later, if you prefer).&lt;/p&gt;&#xA;" OwnerUserId="108" LastEditorUserId="108" LastEditDate="2011-03-21T21:41:12.210" LastActivityDate="2011-03-21T21:41:12.210" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="48" PostTypeId="2" ParentId="12" CreationDate="2010-08-16T21:58:36.573" Score="25" Body="&lt;p&gt;Neil Immerman produced a beautiful diagram that provides at-a-glance correspondences between complexity classes and logics interpreted by finite models.  It's on the cover of his book, and also at the bottom of his web page here: &lt;a href=&quot;http://www.cs.umass.edu/~immerman/&quot;&gt;http://www.cs.umass.edu/~immerman/&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="30" LastActivityDate="2010-08-16T21:58:36.573" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="49" PostTypeId="1" AcceptedAnswerId="271" CreationDate="2010-08-16T22:02:29.947" Score="26" ViewCount="1996" Body="&lt;p&gt;What are the consequences of having complete problems in $NP\cap coNP$?&lt;/p&gt;&#xA;" OwnerUserId="135" LastEditorUserId="109" LastEditDate="2014-02-16T13:49:03.220" LastActivityDate="2019-01-04T23:14:00.293" Title="Consequences of Complete problems for NP intersects coNP" Tags="&lt;cc.complexity-theory&gt;&lt;conditional-results&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="6" ContentLicense="CC BY-SA 2.5" />
  <row Id="50" PostTypeId="2" ParentId="11" CreationDate="2010-08-16T22:05:38.467" Score="7" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there an equivalent mathematical basis of imperative programming, or did it simply grow out of practical hardware application in machine language and the subsequent development of FORTRAN?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;If you mean &quot;basis&quot; in the historical sense, I think that there is no &quot;equivalent mathematical basis&quot;. However, even though imperative programming grew out of practical concerns, there are several ways of comprehensively characterizing the meaning of imperative programming in ways that you might find &quot;useful for modeling&quot;, such as &lt;a href=&quot;http://en.wikipedia.org/wiki/Hoare_logic&quot; rel=&quot;noreferrer&quot;&gt;Hoare logic&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="43" LastActivityDate="2010-08-16T22:05:38.467" CommentCount="2" CommunityOwnedDate="2010-08-16T22:05:38.467" ContentLicense="CC BY-SA 2.5" />
  <row Id="52" PostTypeId="1" AcceptedAnswerId="54" CreationDate="2010-08-16T22:18:55.590" Score="30" ViewCount="1998" Body="&lt;p&gt;Assuming that P != NP, I believe it has been shown that there are problems which are not in P and not NP-Complete. Graph Isomorphism is conjectured to be such a problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there any evidence of more such 'layers' in NP? i.e. A hierachy of more than three classes starting at P and culminating in NP, such that each is a proper superset of the other? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is it possible that the hierarchy is infinite?&lt;/p&gt;&#xA;" OwnerUserId="126" LastEditorUserId="126" LastEditDate="2010-08-16T22:36:27.700" LastActivityDate="2010-08-17T02:32:57.740" Title="Hierarchies in NP (under the assumption that P != NP)" Tags="&lt;cc.complexity-theory&gt;" AnswerCount="2" CommentCount="3" FavoriteCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="53" PostTypeId="2" ParentId="30" CreationDate="2010-08-16T22:20:10.130" Score="15" Body="&lt;p&gt;This is a nice survey. It is one of the most up to date papers that you'll find about building quantum computers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.nature.com/nature/journal/v464/n7285/full/nature08812.html&quot; rel=&quot;noreferrer&quot;&gt;Quantum Computers. Nature 464&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="135" LastActivityDate="2010-08-16T22:20:10.130" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="54" PostTypeId="2" ParentId="52" CreationDate="2010-08-16T22:28:55.187" Score="30" Body="&lt;p&gt;Yes! In fact, there is provably an infinite hierarchy of increasingly harder problems between P and NP-complete under the assumption that P!=NP. This is a direct corollary of the proof of Ladner's Theorem (which established the non-emptiness of NP\P)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Formally, we know that for every set S not in P, there exists S' not in P such that S' is Karp-reducible to S but S is not Cook-reducible to S'. Therefore, if P != NP, then there exists an infinite sequence of sets S&lt;sub&gt;1&lt;/sub&gt;, S&lt;sub&gt;2&lt;/sub&gt;... in NP\P such that S&lt;sub&gt;i+1&lt;/sub&gt; is Karp-reducible to S&lt;sub&gt;i&lt;/sub&gt; but S&lt;sub&gt;i&lt;/sub&gt; is not Cook-reducible to S&lt;sub&gt;i+1&lt;/sub&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Admittedly, the overwhelming majority of such problems are highly unnatural in nature.&lt;/p&gt;&#xA;" OwnerUserId="108" LastActivityDate="2010-08-16T22:28:55.187" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="55" PostTypeId="1" AcceptedAnswerId="62" CreationDate="2010-08-16T22:35:59.370" Score="12" ViewCount="652" Body="&lt;p&gt;In &lt;a href=&quot;http://www.cs.au.dk/~gerth//pub/esa06trees.html&quot;&gt;Purely Functional Worst Case Constant Time Catenable Sorted Lists&lt;/a&gt;, Brodal et al. present purely functional balanced trees with O(1) concatenate and O(lg n) insert, delete, and find. The data structure is somewhat complicated.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a simpler balanced search tree with O(1) concatenate, functional or not?&lt;/p&gt;&#xA;" OwnerUserId="43" LastEditorUserId="80" LastEditDate="2010-08-18T03:46:13.010" LastActivityDate="2010-09-08T22:49:38.953" Title="Simple balanced trees with O(1) concat?" Tags="&lt;functional-programming&gt;&lt;ds.data-structures&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="58" PostTypeId="1" CreationDate="2010-08-16T22:40:11.640" Score="-1" ViewCount="593" Body="&lt;p&gt;Is the following a valid algorithm for finding a minimum spanning tree?&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Given a weighted graph with unique weights, remove the all edges that are the highest cost edge in any cycle &lt;em&gt;of the original full graph&lt;/em&gt;.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Edit: I've changed the description to draw more attention to the differences between this an Kruskal's algorithm (which it is NOT.) Kruskal's algorithm is iterative, this is just a predicate that can be tested on the original unmodified graph.&lt;/p&gt;&#xA;" OwnerUserId="143" LastEditorUserId="567" LastEditDate="2011-01-29T03:04:42.057" LastActivityDate="2011-01-29T03:04:42.057" Title="Minimum spanning tree algorithm." Tags="&lt;ds.algorithms&gt;&lt;graph-algorithms&gt;" AnswerCount="2" CommentCount="3" ClosedDate="2010-08-16T22:54:46.780" ContentLicense="CC BY-SA 2.5" />
  <row Id="59" PostTypeId="2" ParentId="41" CreationDate="2010-08-16T22:42:38.173" Score="11" Body="&lt;p&gt;Since most graphs on n vertices are Kolmogorov-random, they cannot be described by a circuit (or any other program) that is significantly smaller than the graph itself.  (If you don't know what Kolmogorov-random means, you can basically take the conclusion of the previous sentence as its definition.  Then rely on the fact that almost all strings are Kolmogorov-random.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Although I'm not intimately familiar with the works you cited, my guess is that they are always talking about graphs-described-by-circuits.  In other words, by focusing on the circuits, they are essentially restricting their attention to the class of graphs that do have succinct circuits (whose size is logarithmic in the size of the graph).&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2010-08-16T22:42:38.173" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="60" PostTypeId="2" ParentId="58" CreationDate="2010-08-16T22:43:40.043" Score="2" Body="&lt;p&gt;Indeed, it is correct. You can characterize MST as a tree such that every edge outside it is a maximum edge in the corresponding cycle. The proof is an easy excersise.&lt;/p&gt;&#xA;" OwnerUserId="141" LastActivityDate="2010-08-16T22:43:40.043" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="61" PostTypeId="2" ParentId="58" CreationDate="2010-08-16T22:44:43.583" Score="2" Body="&lt;p&gt;This is not a well-defined algorithm. You can tweak it to make it well-defined, by changing the description to&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;Remove all edges, from high to low weight, that do not make the graph disconnected.&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;and this is equivalent to kruskal's algorithm.&lt;/p&gt;&#xA;" OwnerUserId="120" LastActivityDate="2010-08-16T22:44:43.583" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="62" PostTypeId="2" ParentId="55" CreationDate="2010-08-16T22:53:40.137" Score="5" Body="&lt;p&gt;You can trivially make a data structure with O(1) &lt;em&gt;amortized&lt;/em&gt; concatenation time, by just reinserting everything from one tree on the other on concatenation (which has O(n log n) cost, exactly the same as was used in constructing that tree in the first place, so the overall time is still O(n log n)), but this is cheating.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For worst-case O(1) time, the authors claim it was an open problem for any data structure, so I don't think you're going to find an easy answer.&lt;/p&gt;&#xA;" OwnerUserId="120" LastActivityDate="2010-08-16T22:53:40.137" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="63" PostTypeId="2" ParentId="41" CreationDate="2010-08-16T23:00:08.300" Score="20" Body="&lt;p&gt;Your question seems to be asking: how does one represent arbitrary graphs (or even arbitrary path graphs) as a circuit of polynomial size? The answer is, you don't. The number of different path graphs with 2&lt;sup&gt;n&lt;/sup&gt; vertices is (2&lt;sup&gt;n&lt;/sup&gt;)!, far more than the number of different circuits with n&lt;sup&gt;c&lt;/sup&gt; gates (exponential in n&lt;sup&gt;c&lt;/sup&gt; log n). So almost all graphs with this many vertices cannot be represented by a succinct circuit.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Therefore, as you hint, in some sense only graphs that have a high degree of structure can be represented in this way. That's what makes complexity classes like PPAD interesting: despite the structure that we know the input graphs to the EOL problem must have, we don't seem to know how to take advantage of the structure to solve the problem efficiently.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If I'm misunderstanding your question and you're really asking: how does one make a circuit that even meets the input requirements for EOL, for even a very highly structured graph: try the path graph that connects vertex x (considered as a number in binary) to x-1 and x+1, with ends at zero and at 2^n-1. Or if you want something less trivial that seems more difficult to solve EOL for: let E and D be the encryption and decryption functions for a fixed key in your favorite cryptosystem, let the neighbors of x in the graph be E(x) and D(x), and let the ends of the line be 0 and D(0).&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2010-08-16T23:00:08.300" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="64" PostTypeId="1" AcceptedAnswerId="177" CreationDate="2010-08-16T23:27:36.677" Score="26" ViewCount="1495" Body="&lt;p&gt;&lt;a href=&quot;https://complexityzoo.uwaterloo.ca/Complexity_Zoo:R#rp&quot; rel=&quot;noreferrer&quot;&gt;RP&lt;/a&gt; is the class of problems decidable by a nondeterministic Turing machine that terminates in polynomial time, but that is also allowed one-sided error.  P is the usual class of problems decidable by a deterministic Turing machine that terminates in polynomial time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;P = RP follows from a relationship in circuit complexity.  Impagliazzo and Wigderson showed that P = BPP follows &lt;a href=&quot;http://doi.acm.org/10.1145/258533.258590&quot; rel=&quot;noreferrer&quot;&gt;if some problem that can be decided in deterministic exponential time also requires exponential size circuits&lt;/a&gt; (note that P = BPP implies P = RP).  Perhaps due to these results, there seems to be a feeling among some complexity theorists that probabilistic reductions can probably be derandomized.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What other &lt;em&gt;specific&lt;/em&gt; evidence is there that P = RP?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="109" LastEditorUserId="21001" LastEditDate="2015-09-07T11:41:27.500" LastActivityDate="2015-09-07T11:41:27.500" Title="What specific evidence is there for P = RP?" Tags="&lt;cc.complexity-theory&gt;&lt;derandomization&gt;&lt;conditional-results&gt;&lt;randomized-algorithms&gt;" AnswerCount="4" CommentCount="1" FavoriteCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="65" PostTypeId="1" AcceptedAnswerId="124" CreationDate="2010-08-16T23:31:03.067" Score="17" ViewCount="665" Body="&lt;p&gt;Suppose you are given a connected, simple, undirected graph H.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The H-free cut problem is defined as follows:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Given a simple, undirected graph G, is&#xA;  there a cut (partition of vertices&#xA;  into two non-empty sets, L,R) such&#xA;  that graphs induced by the cut-sets (L&#xA;  and R) both do not contain a subgraph&#xA;  isomorphic to H.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;For example, when H is the graph with two vertices connected by a single edge, the problem is the same as determining if a graph is bipartite and is in P.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In case H is a triangle, this is like the vertex version of the &lt;a href=&quot;http://en.wikipedia.org/wiki/Monochromatic_triangle&quot; rel=&quot;nofollow&quot;&gt;Monochromatic Triangle&lt;/a&gt; problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think I have been able to show that when H is 2-connected with at least three vertices, the H-free cut problem is NP-Complete. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I haven't been able to find any references to this problem (and so, any results).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can we drop the 2-connectedness condition and still prove NP-Completeness?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does anyone know of any known results which would imply the above or a stronger result (or you think might be relevant)?&lt;/p&gt;&#xA;" OwnerUserId="126" LastEditorUserId="126" LastEditDate="2011-02-15T20:54:48.820" LastActivityDate="2013-04-24T19:11:43.660" Title="H-free cut problem" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;graph-theory&gt;&lt;np-hardness&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="66" PostTypeId="2" ParentId="64" CreationDate="2010-08-16T23:36:51.073" Score="5" Body="&lt;p&gt;&lt;a href=&quot;http://dx.doi.org/10.1016/0304-3975%2886%2990135-0&quot; rel=&quot;nofollow&quot;&gt;Valiant and Vazirani showed in 1986&lt;/a&gt; that there is a randomized reduction of SAT to $USAT_Q$, which is the decision problem based on SAT where only the difference between satisfiable and unsatisfiable instances matters.  If $Q = \bot$ is the false predicate, then $USAT_{\bot}$ is the problem of deciding whether there is precisely one solution.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A solution to a Boolean formula $\phi$ is a (0,1)-vector assigning truth values to the free variables in $\phi$, so that $\phi$ is satisfied.  A $k$-isolated solution $x$ to $\phi$ is a solution, with the additional property that any other solution differs in more than $k$ values.  (Alternately, $x$ is a $k$-isolated solution if the Hamming distance of $x$ to any other solution exceeds $k$.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let &lt;a href=&quot;http://constraints.wordpress.com/2010/04/15/k-isolated-sat/&quot; rel=&quot;nofollow&quot;&gt;$k$-ISOLATED SAT&lt;/a&gt; be the problem which requires deciding whether the input CNF formula has a solution that is $k$-isolated.  If $n$ denotes the number of variables in an instance, then $USAT_{\bot}$ and $n$-ISOLATED SAT are precisely the same problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For any $\epsilon &gt; 0$, by duplicating each variable polynomially many times, a &lt;em&gt;deterministic&lt;/em&gt; reduction can be made from SAT to $n^{1-\epsilon}$-isolated SAT.  (Details are available &lt;a href=&quot;http://constraints.wordpress.com/2010/04/15/k-isolated-sat/&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;.)  This seems to provide further evidence that the gap between deterministic and randomized reductions is &quot;small&quot;.&lt;/p&gt;&#xA;" OwnerUserId="109" LastActivityDate="2010-08-16T23:36:51.073" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="67" PostTypeId="2" ParentId="64" CreationDate="2010-08-16T23:43:38.783" Score="11" Body="&lt;p&gt;Any concrete derandomization result gives evidence that P=BPP. As such PRIMES in P (Agrawal-Kayal-Saxena'02) is one good example. Generally, there are few natural problems in BPP that are not known to be in P (Polynomial Identity Testing is one notable exception.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Similar in spirit to the result you mention, Hastad-Impagliazzo-Levin-Luby '99 showed that the existence of one-way functions implies the existence of pseudorandom generators. While this does not directly imply P=BPP based on the existence of one-way functions, it does show that pseudorandom generators follow from minimal cryptographic assumptions. This may be seen as another hint that BPP is not more powerful than P.&lt;/p&gt;&#xA;" OwnerUserId="68" LastActivityDate="2010-08-16T23:43:38.783" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="68" PostTypeId="1" AcceptedAnswerId="71" CreationDate="2010-08-17T00:12:59.050" Score="14" ViewCount="1041" Body="&lt;p&gt;Let G be a tree on 2n vertices. The treewidth of G, tw(G) = 1. Now suppose we add n edges to G to get a graph H. An easy upper bound on tw(H) is n + 1. Is this essentially the best possible? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It seems somehow that tw(H) should be O(sqrt(n)) , but this is just a vague hunch. Do we know better upper bounds than O(n) for the treewidth of a graph obtained by adding n edges to a tree on 2n vertices?&lt;/p&gt;&#xA;" OwnerUserId="148" LastEditorUserId="873" LastEditDate="2010-09-13T02:10:56.513" LastActivityDate="2010-09-13T02:10:56.513" Title="How large a treewidth can a tree plus half the edges have?" Tags="&lt;upper-bounds&gt;&lt;treewidth&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="69" PostTypeId="2" ParentId="45" CreationDate="2010-08-17T00:16:19.480" Score="23" Body="&lt;p&gt;Dinur's paper (linked in the answer by Daniel Apon) is well written and worth reading.  An extended discussion was also published about this paper and the proof, which is useful when reading the paper itself: Jaikumar Radhakrishnan and Madhu Sudan, &lt;a href=&quot;https://www.ams.org/journals/bull/2007-44-01/S0273-0979-06-01143-8/home.html&quot;&gt;&lt;em&gt;On Dinur's Proof of the PCP Theorem&lt;/em&gt;&lt;/a&gt;, Bull. Amer. Math. Soc. 44 (2007), 19-61 (&lt;a href=&quot;http://people.csail.mit.edu/madhu/papers/jaikumar.pdf&quot;&gt;preprint&lt;/a&gt;).&lt;/p&gt;&#xA;" OwnerUserId="109" LastActivityDate="2010-08-17T00:16:19.480" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="70" PostTypeId="1" AcceptedAnswerId="129" CreationDate="2010-08-17T00:47:50.847" Score="14" ViewCount="647" Body="&lt;p&gt;&lt;a href=&quot;http://www.cl.cam.ac.uk/archive/rm135/&quot; rel=&quot;noreferrer&quot;&gt;Robin Milner&lt;/a&gt; defined &lt;a href=&quot;http://www.cl.cam.ac.uk/archive/rm135/uam-theme.html&quot; rel=&quot;noreferrer&quot;&gt;bigraphs&lt;/a&gt; as a type of graphical structure with graph-like structure but where the nodes can be nested.  They generalise process calculi like CCS and the $\pi$-calculus, but Milner seems to have intended for them to be used much more generally: the &lt;a href=&quot;http://www.cl.cam.ac.uk/archive/rm135/Bigraphs-Seminars.pdf&quot; rel=&quot;noreferrer&quot;&gt;seminar notes&lt;/a&gt; from shortly before his death detail recent developments.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Looking back instead of forward, the &lt;a href=&quot;http://www.cl.cam.ac.uk/archive/rm135/Bigraphs-myprologue.pdf&quot; rel=&quot;noreferrer&quot;&gt;prologue of Milner's 2009 textbook&lt;/a&gt; &lt;em&gt;The Space and Motion of Communicating Agents&lt;/em&gt;, does not provide much of a historical background.  Milner explicitly acknowledged its roots in Mobile Ambients and the Pi calculus.  Yet the model is so general that there are bound to be strong links to older models.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Are there historical predecessors of bigraphs?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Focusing on the syntactic elements rather than the way they are used to capture evolving systems, an obvious precedent is A. B. Kempe, &lt;a href=&quot;http://www.jstor.org/stable/109477&quot; rel=&quot;noreferrer&quot;&gt;&lt;em&gt;A Memoir on the Theory of Mathematical Form&lt;/em&gt;&lt;/a&gt;, Philosophical Transactions of the Royal Society of London 177, 1–70, 1886.  Kempe's paper may have introduced vertex and edge coloured graphs (I am ignorant of earlier usage but would welcome pointers).  Kempe also appears to have had some of the same kinds of general applications in mind that Milner envisaged.  Are there other predecessors that should be mentioned?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Edit: now marking this a community wiki, in the hope of attracting further answers.)&lt;/p&gt;&#xA;" OwnerUserId="109" LastEditorUserId="109" LastEditDate="2010-08-27T21:51:16.443" LastActivityDate="2010-08-27T21:51:16.443" Title="What are the historical roots of Milner's bigraphs?" Tags="&lt;process-algebra&gt;&lt;ho.history-overview&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="4" CommunityOwnedDate="2010-08-27T21:51:16.443" ContentLicense="CC BY-SA 2.5" />
  <row Id="71" PostTypeId="2" ParentId="68" CreationDate="2010-08-17T00:53:48.867" Score="18" Body="&lt;p&gt;Your model is not really any less general than asking about arbitrary 3-regular graphs, and 3-regular expander graphs have linear treewidth. So I don't know about constant factors, but Θ(n) is best possible, yes.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2010-08-17T00:53:48.867" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="72" PostTypeId="1" AcceptedAnswerId="73" CreationDate="2010-08-17T01:09:57.983" Score="16" ViewCount="2155" Body="&lt;p&gt;Twenty years ago, I built an regular expression package that included conversions from regular expressions to a finite state machine (DFA) and supported a host of closed regular expression  operations (Kleene star, concatenation, reverse, set operations, etc). I was unsure about the worst case performance of my package.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A DFA has the same expressive power as an NDFA, because an n-state NDFA can be trivially converted to a DFA having 2^n states. However, are there any lower upper bound guarantees for such a conversion that do not require an exponential explosion in state?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I was unable to come up with examples mal-behaving regular expressions or NDFAs, but I didn't spend much time thinking about it. I am guessing a regular expression like ((((e|A|B|C)*(e|D|E|F))*(e|G|H|I))*(e|J|K|L|M))* which mixes a lot of alternations and Kleene stars would have a linearly sized NDFA but an expansive DFA. &lt;/p&gt;&#xA;" OwnerUserId="178" LastEditorUserId="178" LastEditDate="2010-08-28T09:46:28.250" LastActivityDate="2010-08-28T09:46:28.250" Title="Can a nondeterministic finite automata (NDFA) be efficiently converted to a deterministic finite automata (DFA) in subexponential space/time?" Tags="&lt;dfa&gt;&lt;regular-expressions&gt;&lt;bounds&gt;" AnswerCount="3" CommentCount="3" FavoriteCount="6" ContentLicense="CC BY-SA 2.5" />
  <row Id="73" PostTypeId="2" ParentId="72" CreationDate="2010-08-17T01:21:53.837" Score="15" Body="&lt;p&gt;It is known that for every pair of naturals numbers &lt;code&gt;n,a&lt;/code&gt; such that &lt;code&gt;n &amp;lt;= a &amp;lt;= 2^n&lt;/code&gt;, there exists a minimal NDFA with &lt;code&gt;n&lt;/code&gt; states whose corresponding equivalent minimal dfa has &lt;code&gt;a&lt;/code&gt; states (over a four letter alphabet).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See the paper here: &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=1770337&amp;amp;dl=GUIDE&amp;amp;coll=GUIDE&amp;amp;CFID=100818292&amp;amp;CFTOKEN=24447810&quot;&gt;Deterministic blow-ups of minimal nondeterministic finite automata over a fixed alphabet&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Abstract of the paper:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;We show that for all integers n and α&#xA;  such that n ≤ α ≤ 2^n, there exists a&#xA;  minimal nondeterministic finite&#xA;  automaton of n states with a&#xA;  four-letter input alphabet whose&#xA;  equivalent minimal deterministic&#xA;  finite automaton has exactly a states.&#xA;  It follows that in the case of a&#xA;  four-letter alphabet, there are no&#xA;  &quot;magic numbers&quot;, i.e., the holes in&#xA;  the hierarchy. This improves a similar&#xA;  result obtained by Geffert for a&#xA;  growing alphabet of size n + 2 (Proc.&#xA;  7th DCFS, Como, Italy, 23-37).&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;So, I suppose the answer to your question is, no.&lt;/p&gt;&#xA;" OwnerUserId="126" LastActivityDate="2010-08-17T01:21:53.837" CommentCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="74" PostTypeId="2" ParentId="72" CreationDate="2010-08-17T01:28:14.353" Score="8" Body="&lt;p&gt;The minimum DFA corresponding to an NFA has 2^n states in the worst case, so you can't garantee anything. Without having a constructive example, the reasoning is that in an NFA you can be at any arbitrary subset of states after reading a certain input string, and each such subset might behave differently when observing one character. Suppose a language with two characters in the alphabet (a and b), and an NFA N with n states that starts with an accepting state at s_0. Now enumerate all subsets of states of N, and build the transition table such that observing &quot;a&quot; from subset S_i takes you to subset S_i+1 and observing b takes you to subset S_i-1 (this is doable for some enumerations, I think). Now this automata has n states and accepts sequences of m a's and n  b's such that m-n = 0 mod 2^|N|, and cannot be expressed with a DFA that has less than 2^|N| states (since it might need to cycle through all subsets of states of the NFA N).&lt;/p&gt;&#xA;" OwnerUserId="120" LastEditorUserId="120" LastEditDate="2010-08-17T01:34:06.180" LastActivityDate="2010-08-17T01:34:06.180" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="75" PostTypeId="2" ParentId="34" CreationDate="2010-08-17T01:32:45.357" Score="10" Body="&lt;p&gt;Does this help?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://users.soe.ucsc.edu/~manfred/pubs/J1.pdf&quot;&gt;http://users.soe.ucsc.edu/~manfred/pubs/J1.pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="30" LastActivityDate="2010-08-17T01:32:45.357" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="76" PostTypeId="2" ParentId="45" CreationDate="2010-08-17T01:35:23.773" Score="21" Body="&lt;p&gt;I found the lecture notes from &lt;a href=&quot;http://www.cs.washington.edu/education/courses/533/05au/&quot;&gt;Guruswami &amp;amp; O'Donnell course&lt;/a&gt; (UW, 2005) very useful.&lt;/p&gt;&#xA;" OwnerUserId="61" LastActivityDate="2010-08-17T01:35:23.773" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="78" PostTypeId="2" ParentId="12" CreationDate="2010-08-17T01:55:39.530" Score="16" Body="&lt;p&gt;I know two ways of associating logic with complexity classes. The first one is descriptive complexity which is model theoretic mentioned in other answers. (Going back to Ronald Fagin's characterization of $NP$.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The second approach (which is also a little bit older going back to works of people like Steve Cook ans Sam Buss) is proof theoretic. Here a complexity class is associated with theories in arithmetic. The provably total functions of these theories are exactly the functions in the complexity class. For example, provably total functions of Sam Buss's theory $S^1_2$ are exactly polynomial time computable functions. There are also links with propositional proof systems. For more on this approach check Jan Krajicek's book &quot;Bounded arithmetic, propositional logic, and complexity theory&quot;, 1995, or Stephen A. Cook and Phuong The Nguyen's more recent book &quot;LOGICAL FOUNDATIONS OF PROOF COMPLEXITY&quot; , 2010 (a draft can be found &lt;a href=&quot;http://www.cs.toronto.edu/~sacook/homepage/book&quot;&gt;here&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Antonina Kolokolova has worked on relations between these two approaches.&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2010-08-17T07:21:19.750" LastActivityDate="2010-08-17T07:21:19.750" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="79" PostTypeId="1" AcceptedAnswerId="237" CreationDate="2010-08-17T02:07:54.787" Score="134" ViewCount="21118" Body="&lt;p&gt;Factoring and graph isomorphism are problems in NP that are not known to be in P nor to be NP-Complete.  What are some other (sufficiently different) natural problems that share this property?  Artificial examples coming directly from the proof of Ladner's theorem do not count.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are any of these example provably NP-intermediate, assuming only some &quot;reasonable&quot; hypothesis?&lt;/p&gt;&#xA;" OwnerUserId="123" LastEditorUserId="123" LastEditDate="2011-08-09T19:39:07.173" LastActivityDate="2020-08-15T23:45:55.107" Title="Problems Between P and NPC" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;&lt;big-list&gt;&lt;np-intermediate&gt;" AnswerCount="29" CommentCount="4" FavoriteCount="107" CommunityOwnedDate="2010-08-17T05:46:00.590" ContentLicense="CC BY-SA 3.0" />
  <row Id="80" PostTypeId="1" AcceptedAnswerId="270" CreationDate="2010-08-17T02:09:11.290" Score="21" ViewCount="478" Body="&lt;p&gt;A complexity class separation proof uses uniformity of complexity classes essentially if the proof does not prove the result for nonuniform version, for example proofs based on diagonalization (like time and space hierarchy theorems) make essential use of uniformity as they need to simulate the programs in the smaller class. &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Which results in complexity theory (other than diagonalization proofs) use uniformity essentially?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="186" LastActivityDate="2010-09-17T07:39:04.807" Title="Which results in complexity theory make essential use of uniformity?" Tags="&lt;cc.complexity-theory&gt;" AnswerCount="4" CommentCount="1" FavoriteCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="81" PostTypeId="2" ParentId="79" CreationDate="2010-08-17T02:12:14.060" Score="18" Body="&lt;p&gt;You get a very long list of problems if willing to accept approximation problems, such as approximating Max-Cut to within a factor 0.878. We don't know if it's NP-hard or in P (only know NP-hardness assuming the Uniuqe Games Conjecture).&lt;/p&gt;&#xA;" OwnerUserId="68" LastActivityDate="2010-08-17T02:12:14.060" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="82" PostTypeId="1" CreationDate="2010-08-17T02:32:53.573" Score="56" ViewCount="1924" Body="&lt;p&gt;The purposes of this question is to collect examples from theoretical computer science where the systematic use of computers was helpful&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;in building a conjecture that lead to a theorem,&lt;/li&gt;&#xA;&lt;li&gt;falsifying a conjecture or proof approach,&lt;/li&gt;&#xA;&lt;li&gt;constructing/verifying (parts of) a proof.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;If you have a specific example, please describe how it was done. Perhaps this will help others use computers more effectively in their daily research (which still seems to be a fairly uncommon practice in TCS as of today).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Flagged as community wiki, since there is no single &quot;correct&quot; answer.)&lt;/p&gt;&#xA;" OwnerUserId="68" LastEditorUserId="2367" LastEditDate="2021-02-21T09:03:49.417" LastActivityDate="2021-02-21T09:03:49.417" Title="Where and how did computers help prove a theorem?" Tags="&lt;proofs&gt;&lt;survey&gt;&lt;examples&gt;&lt;proof-techniques&gt;" AnswerCount="18" CommentCount="3" FavoriteCount="24" CommunityOwnedDate="2010-08-17T02:32:53.573" ContentLicense="CC BY-SA 2.5" />
  <row Id="83" PostTypeId="2" ParentId="52" CreationDate="2010-08-17T02:32:57.740" Score="11" Body="&lt;p&gt;There is a notion of &quot;limited nondeterminism&quot; which limits the non-deterministic bits required by Turing machine to arrive at a solution. The class NP requires for example O(n) bits. By limiting the non-deterministic bits to polylog defines a infinite hierarchy of complexity classes called \beta P hierarchy all with complete problems of their own.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See, for example, the following article for details:&#xA;Goldsmith, Levy, Mundhenk, &quot;Limited nondeterminism&quot;, SIGACT News, vol 27(2), pages 20-29, 1996.&lt;/p&gt;&#xA;" OwnerUserId="189" LastActivityDate="2010-08-17T02:32:57.740" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="84" PostTypeId="2" ParentId="7" CreationDate="2010-08-17T02:33:48.487" Score="9" Body="&lt;p&gt;This might not answer your question (which to be honest I don't fully understand), but I think it's in the same spirit.  It's known that there is a difference in reducibility between a logspace TM with one oracle tape, and one with access to multiple oracle tapes.  Also, the following notion of logspaceness has nice properties: the TM can only use a log-amount of space on its work tape, but it can use polynomial-amount of space on its oracle tapes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Reference: &lt;a href=&quot;http://groups.csail.mit.edu/tds/papers/Lynch/tcs78.pdf&quot;&gt;http://groups.csail.mit.edu/tds/papers/Lynch/tcs78.pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="30" LastActivityDate="2010-08-17T02:33:48.487" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="85" PostTypeId="1" AcceptedAnswerId="87" CreationDate="2010-08-17T02:33:56.347" Score="23" ViewCount="724" Body="&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Subhash_Khot&quot;&gt;Subhash Khot&lt;/a&gt;'s &lt;a href=&quot;http://en.wikipedia.org/wiki/Unique_games_conjecture&quot;&gt;Unique Games Conjecture&lt;/a&gt; is one of active research areas in complexity theory.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What evidence do we have for it? What evidence do we have against it?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2010-08-17T07:23:30.150" LastActivityDate="2019-11-27T14:48:53.930" Title="What evidence do we have for (and against) Unique Games Conjecture?" Tags="&lt;cc.complexity-theory&gt;&lt;unique-games-conjecture&gt;" AnswerCount="2" CommentCount="4" FavoriteCount="3" CommunityOwnedDate="2010-08-17T07:23:30.150" ContentLicense="CC BY-SA 2.5" />
  <row Id="86" PostTypeId="2" ParentId="68" CreationDate="2010-08-17T02:36:00.507" Score="8" Body="&lt;p&gt;As David pointed out, you basically ask for bounds on the treewidth of a connected graph with average degree 3. For the more special case of 3-regular graphs, the following lower and upper bounds can be obtained. Denoting by pw(G) the pathwidth of a graph G, it is clear that&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(1) tw(G) &amp;lt;= pw(G) for any graph G (as a path decomposition is a tree decomposition)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is proved in [1] that&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(2) For every \epsilon &gt; 0, there exists an integer n_0 such that for any 3-regular graph G on n &gt;= n_0 vertices, pw(G) &amp;lt;= n/6 + \epsilon*n.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This gives you an upper bound of roughly n/6 on the treewidth of 3-regular graphs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For an almost sure lower bound, I cite from [2]:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&quot;As random cubic graphs almost surely have bisection width at least 0.101 n (Kostochka, Melnikov, 1992), they have almost surely no separator of size smaller than n/20&quot;&#xA;and thus almost surely no tree decomposition of width smaller than n/20.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For a &quot;sure&quot; lower bound on the bisection width, [3] showed an infinite family of 3-regular graphs, such that each graph G=(V,E) in this family has bisection width at least 0.082 * |V|.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] Fedor V. Fomin, Kjartan Høie: Pathwidth of cubic graphs and exact algorithms. Inf. Process. Lett. 97(5): 191-196 (2006)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] Jaroslav Nesetril, Patrice Ossona de Mendez: Grad and classes with bounded expansion II. Algorithmic aspects. Eur. J. Comb. 29(3): 777-791 (2008)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[3] Sergei L. Bezrukov, Robert Elsässer, Burkhard Monien, Robert Preis, Jean-Pierre Tillich: New spectral lower bounds on the bisection width of graphs. Theor. Comput. Sci. 320(2-3): 155-174 (2004)&lt;/p&gt;&#xA;" OwnerUserId="72" LastActivityDate="2010-08-17T02:36:00.507" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="87" PostTypeId="2" ParentId="85" CreationDate="2010-08-17T02:47:50.323" Score="16" Body="&lt;p&gt;Khot gave a UGC survey talk at CCC 2010. The write-up is &lt;a href=&quot;http://cs.nyu.edu/~khot/papers/UGCSurvey.pdf&quot; rel=&quot;noreferrer&quot;&gt;here&lt;/a&gt;. The final segment (bottom of page 30) has his opinions on this question.&lt;/p&gt;&#xA;" OwnerUserId="108" LastActivityDate="2010-08-17T02:47:50.323" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="88" PostTypeId="1" AcceptedAnswerId="105" CreationDate="2010-08-17T02:48:26.173" Score="89" ViewCount="16932" Body="&lt;p&gt;Sorry for the catchy title. I want to understand, what should one have to do to disprove the Church-Turing thesis? Somewhere I read it's mathematically impossible to do it! Why?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Turing, Rosser etc used different terms to&#xA;differentiate between: &quot;what can be computed&quot; and &quot;what can be&#xA;computed by a Turing machine&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Turing's 1939 definition regarding this is:&#xA;&quot;We shall use the expression &quot;computable function&quot; to mean a function&#xA;calculable by a machine, and we let &quot;effectively calculable&quot; refer to&#xA;the intuitive idea without particular identification with any one of&#xA;these definitions&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, the Church-Turing thesis can be stated as follows:&#xA;Every effectively calculable function is a computable function.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So again, how will the proof look like if one disproves this conjecture?&lt;/p&gt;&#xA;" OwnerDisplayName="user200" LastEditorUserId="109" LastEditDate="2011-04-08T08:38:07.657" LastActivityDate="2020-07-10T23:58:57.873" Title="What would it mean to disprove Church-Turing thesis?" Tags="&lt;computability&gt;&lt;proofs&gt;&lt;hypercomputation&gt;" AnswerCount="9" CommentCount="5" FavoriteCount="47" ContentLicense="CC BY-SA 2.5" />
  <row Id="89" PostTypeId="2" ParentId="82" CreationDate="2010-08-17T02:50:07.540" Score="33" Body="&lt;p&gt;A very well-known example is the &lt;a href=&quot;http://en.wikipedia.org/wiki/Four_color_theorem&quot;&gt;Four Color Theorem&lt;/a&gt;, originally proven by exhaustive checking.&lt;/p&gt;&#xA;" OwnerUserId="161" LastActivityDate="2010-08-17T02:50:07.540" CommentCount="1" CommunityOwnedDate="2010-08-17T02:50:07.540" ContentLicense="CC BY-SA 2.5" />
  <row Id="90" PostTypeId="2" ParentId="88" CreationDate="2010-08-17T03:01:02.727" Score="25" Body="&lt;p&gt;As far as I understand, the &quot;impossibility&quot; of proving or disproving the thesis is that there is no formal definition of &quot;effectively calculable&quot;. Today, we take it to be precisely &quot;computable by a Turing machine&quot;, but that rather begs the question. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Models of computation that are strictly more powerful than a Turing machine have been studied, take a look at &lt;a href=&quot;http://en.wikipedia.org/wiki/Hypercomputation&quot;&gt;http://en.wikipedia.org/wiki/Hypercomputation&lt;/a&gt; for some examples. Or just take a Turing machine with an oracle for the Halting Problem for Turing Machines. Such a machine will have its own Halting Problem, but it can solve the original Halting Problem just fine. Of course, we have no such oracle, but there's nothing mathematically impossible about the idea. &lt;/p&gt;&#xA;" OwnerUserId="161" LastActivityDate="2010-08-17T03:01:02.727" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="91" PostTypeId="2" ParentId="82" CreationDate="2010-08-17T03:06:02.870" Score="20" Body="&lt;p&gt;Fix $n$ points in the plane. Let T be a triangulation (i.e a planar straight-line graph with the points as vertices that is fully triangulated), and let the weight of the triangulation be the sum of the edge lengths. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Showing that the minimum weight triangulation (MWT) problem was NP-hard was a long standing open problem, made difficult by the fact that edge lengths involve square roots, and the desired precision needed to compute these accurately was difficult to bound. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://arxiv.org/abs/cs/0601002&quot;&gt;Mulzer and Rote showed that MWT was NP-hard&lt;/a&gt;, and in the process used computer assistance to verify the correctness of their gadgets. As far as I know, there is no alternate proof. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2010-08-17T03:06:02.870" CommentCount="0" CommunityOwnedDate="2010-08-17T03:06:02.870" ContentLicense="CC BY-SA 2.5" />
  <row Id="92" PostTypeId="2" ParentId="88" CreationDate="2010-08-17T03:06:06.847" Score="9" Body="&lt;p&gt;Regarding the &lt;em&gt;Extended&lt;/em&gt; Church-Turing Thesis (meant as &quot;A probabilistic Turing machine can efficiently simulate any physically computable function.&quot;):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One possibility is the difference between classical and quantum computers. Specifically the question, &quot;Is there a task that quantum computers can perform that classical computers cannot?&quot; &lt;a href=&quot;http://www.eccc.uni-trier.de/report/2010/128/&quot;&gt;A recent ECCC report by Scott Aaronson&lt;/a&gt; (see Conjecture 9 on page 5) highlights a conjecture that, if proven, would provide strong evidence against the Extended Church-Turing Thesis.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If one were to disprove the Extended Church-Turing Thesis, it could look like that -- specifically, by demonstrating an efficiently computable task that a (classical) Turing machine cannot efficiently compute.&lt;/p&gt;&#xA;" OwnerUserId="108" LastEditorUserId="108" LastEditDate="2010-08-17T04:25:40.313" LastActivityDate="2010-08-17T04:25:40.313" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="93" PostTypeId="1" AcceptedAnswerId="120" CreationDate="2010-08-17T03:06:40.607" Score="49" ViewCount="4375" Body="&lt;p&gt;What are the best current lower bounds for time and circuit depth for 3SAT?&lt;/p&gt;&#xA;" OwnerUserId="204" LastEditorUserId="567" LastEditDate="2010-09-07T15:36:21.810" LastActivityDate="2010-09-19T15:11:15.157" Title="What are the best current lower bounds on 3SAT?" Tags="&lt;cc.complexity-theory&gt;&lt;lower-bounds&gt;&lt;sat&gt;" AnswerCount="4" CommentCount="0" FavoriteCount="12" ContentLicense="CC BY-SA 2.5" />
  <row Id="94" PostTypeId="2" ParentId="79" CreationDate="2010-08-17T03:07:32.600" Score="13" Body="&lt;p&gt;Take a look at the class &lt;a href=&quot;http://theory.stanford.edu/~megiddo/pdf/papadimX.pdf&quot;&gt;TFNP&lt;/a&gt;. It has a lot of search problems with an intermediate status.&lt;/p&gt;&#xA;" OwnerUserId="135" LastActivityDate="2010-08-17T03:07:32.600" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="95" PostTypeId="2" ParentId="79" CreationDate="2010-08-17T03:12:24.760" Score="30" Body="&lt;p&gt;Here is a list of problems that may or may not qualify as &quot;sufficiently&quot; different.  By the same proof as for Graph Isomorphism, if any of them is NP-complete, then the Polynomial Hierarchy collapses to the second level.  I do not think there is any broad consensus as to which of these &quot;ought&quot; to be in P.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Graph Automorphism (determine if a graph has a nontrivial automorphism).  Reduces to Graph Isomorphism, but not known (not thought?) to be GI-hard.&lt;/li&gt;&#xA;&lt;li&gt;Group Isomorphism and Automorphism (where the groups are given by their multiplication tables).  Again, reduces to Graph Isomorphism, but not thought to be GI-hard.&lt;/li&gt;&#xA;&lt;li&gt;Ring Isomorphism and Automorphism.  In a sense, this is the grand-daddy of all the above problems, since integer factoring is equivalent to finding a nontrivial automorphism of a ring, and Graph Isomorphism reduces to Ring Isomorphism.  See &lt;a href=&quot;http://dimacs.rutgers.edu/~kayaln/pdf/ringAuto_journal.pdf&quot;&gt;Neeraj Kayal, Nitin Saxena. Complexity of Ring Morphism Problems.&#xA;Computational Complexity 15(4): 342-390 (2006).&lt;/a&gt;  (Interestingly, &lt;em&gt;determining&lt;/em&gt; if a ring has a nontrivial automorphism is in $P$.)&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://blog.computationalcomplexity.org/2010/07/what-is-complexity-of-these-problems.html&quot;&gt;This post&lt;/a&gt; by Bill Gasarch contains some other problems with the taste of Ramsey theory that look like they might be intermediate.&lt;/li&gt;&#xA;&lt;li&gt;By Mahaney's Theorem, no sparse set can be NP-complete.  But we also know that there are sparse sets in $NP$ - $P$ iff $NEXP$ is not equal to $EXP$.  So assuming $NEXP \neq EXP$, the padded version of any $NEXP$-complete problem is of intermediate complexity.  (Such a set cannot be in $P$ unless $NEXP = EXP$, contradicting our assumption.)  There are plenty of natural $NEXP$-complete problems.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="129" LastEditorUserId="129" LastEditDate="2010-08-24T01:19:50.483" LastActivityDate="2010-08-24T01:19:50.483" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="96" PostTypeId="2" ParentId="79" CreationDate="2010-08-17T03:16:41.550" Score="16" Body="&lt;p&gt;There are a lot of problems related to finding hidden subgroups. You mentioned factoring, but there is also the discrete log problem as well as others related to elliptic curves, etc.&lt;/p&gt;&#xA;" OwnerUserId="204" LastActivityDate="2010-08-17T03:16:41.550" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="97" PostTypeId="2" ParentId="79" CreationDate="2010-08-17T03:18:17.120" Score="45" Body="&lt;p&gt;My favorite problem in this class (I'll phrase it as a functional problem, but it's easy to turn into a decision problem in the standard way): compute the rotation distance between two binary trees (equivalently, the flip distance between two triangulations of a convex polygon).&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2010-08-17T03:18:17.120" CommentCount="6" ContentLicense="CC BY-SA 2.5" />
  <row Id="98" PostTypeId="2" ParentId="80" CreationDate="2010-08-17T03:20:12.223" Score="11" Body="&lt;p&gt;I have asked many experts essentially this question, and the answer I always get is: none.  Diagonalization proofs obviously use uniformity, and these are at the heart of the time and space hierarchy theorems, as well as Fortnow-Williams type of time-space lower bounds.  As far as I know, all the other lower bounds we know of, both for complexity class separations and for data structures, seem to be non-uniform.  It would be great to hear that I'm wrong though :).&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2010-08-17T03:20:12.223" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="99" PostTypeId="1" CreationDate="2010-08-17T03:22:44.173" Score="5" ViewCount="253" Body="&lt;p&gt;As stated by the title. Some examples that I would include would be map and conditionals. What other functions should be built in already parallel for users to expand on it?&lt;/p&gt;&#xA;" OwnerUserId="181" LastActivityDate="2010-08-17T03:22:44.173" Title="When designing an explicitly parallel language, what built in functions should be parallelized?" Tags="&lt;dc.parallel-comp&gt;&lt;language-design&gt;" AnswerCount="0" CommentCount="7" FavoriteCount="1" ClosedDate="2010-09-16T15:07:42.237" ContentLicense="CC BY-SA 2.5" />
  <row Id="100" PostTypeId="2" ParentId="26" CreationDate="2010-08-17T03:31:30.170" Score="6" Body="&lt;p&gt;There is nothing special about integers for this problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For instance, hash tables (storing any kind of values) are not O(1) time to access if the hash function must read the whole value to compute its hash.  n unique elements require log n bits each on average to represent, no matter how clever your representation, and any hash function that reads its whole input will therefore take at least as much time to compute. In practice they are faster than red-black trees, but asymptotically they are no better.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The brouhaha referenced by randomwalker was about a POPL 2008 paper ( &lt;a href=&quot;http://portal.acm.org/citation.cfm?doid=1328438.1328460&quot; rel=&quot;noreferrer&quot;&gt;http://portal.acm.org/citation.cfm?doid=1328438.1328460&lt;/a&gt;), discussed here: &lt;a href=&quot;http://blog.computationalcomplexity.org/2009/05/shaving-logs-with-unit-cost.html&quot; rel=&quot;noreferrer&quot;&gt;http://blog.computationalcomplexity.org/2009/05/shaving-logs-with-unit-cost.html&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In that post Lance Fortnow describes how as a student he complained that sorting really requires n log^2 n time if we must read all log n bits of two elements in order to compare them, which seems a reasonable objection.&lt;/p&gt;&#xA;" OwnerUserId="165" LastActivityDate="2010-08-17T03:31:30.170" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="101" PostTypeId="2" ParentId="79" CreationDate="2010-08-17T03:32:35.633" Score="39" Body="&lt;p&gt;A problem that is mentioned neither in this list or the MO list is the turnpike problem. Given a multiset of n(n-1)/2 numbers, each number representing the distance between two points on the line, reconstruct the positions of the original points. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that what makes this nontrivial is that for a given number d in the multiset, you don't know which pair of points is d units apart. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://portal.acm.org/citation.cfm?id=98598&amp;amp;dl=GUIDE,&quot;&gt;While it is known&lt;/a&gt; that for any given instance there are only a polynomial number of solutions, it is not known how to find one ! &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2010-08-17T03:32:35.633" CommentCount="6" ContentLicense="CC BY-SA 2.5" />
  <row Id="102" PostTypeId="2" ParentId="30" CreationDate="2010-08-17T03:34:29.830" Score="18" Body="&lt;p&gt;At this stage progress on experimental quantum computing is relatively slow, but there are now a wide variety of systems that can be used to implement one or more qubits. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;At the moment the most developed systems as&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Ion traps&lt;/li&gt;&#xA;&lt;li&gt;Liquid state NMR&lt;/li&gt;&#xA;&lt;li&gt;Linear optics quantum computing&lt;/li&gt;&#xA;&lt;li&gt;Superconducting qubits&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;There has also been a lot of recent work with defects in solid state, solid state NMR, endohedral fullerenes, neutral atom traps, atom chips, etc.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The highest numbers of qubits tend to be in ion traps and NMR, though linear optics is doing well too. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;As regards significant experiments, that really depends what constitutes progress to you. There was a very nice experiment back in 2007 where two separate ion traps were coupled optically, and some nice recent work on segmented ion traps, which demonstrate ways of scaling ion trap computation beyond 10 or so qubits. There has also been some very nice implementations of measurement based computation using optics, which is also important for scalability. If you have a better idea of the type of experiments you have in mind it would make the task of answering much easier.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The US quantum computing roadmap, available &lt;a href=&quot;http://qist.lanl.gov/qcomp_map.shtml&quot;&gt;here&lt;/a&gt;, provides an excellent, though slightly dated overview of the state of the art circa 2004.&lt;/p&gt;&#xA;" OwnerUserId="204" LastActivityDate="2010-08-17T03:34:29.830" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="103" PostTypeId="2" ParentId="82" CreationDate="2010-08-17T03:34:54.540" Score="20" Body="&lt;p&gt;Thomas Hales proof (his site, &lt;a href=&quot;http://www.ams.org/mathscinet-getitem?mr=2179728&quot;&gt;MathSciNet&lt;/a&gt;) of the Kepler conjecture involved so much case analysis -- and the cases were in turn verified by computer -- that he decided to attempt a formal proof of it.  His project to do so is &lt;a href=&quot;http://code.google.com/p/flyspeck/&quot;&gt;FlysPecK&lt;/a&gt;, and he estimates it will take 20 years of work.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Researchers in Programming Languages regularly use computer-aided proofs in their work, though I do not know how essential this is in terms of their research process (it certainly keeps them from having to write out tons of tedious manipulations, though).&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2010-08-17T03:34:54.540" CommentCount="0" CommunityOwnedDate="2010-08-17T03:34:54.540" ContentLicense="CC BY-SA 2.5" />
  <row Id="104" PostTypeId="2" ParentId="34" CreationDate="2010-08-17T03:40:16.043" Score="6" Body="&lt;p&gt;NEVER MIND, THIS ANSWER IS WRONG. It fails on input &quot;AABAAB&quot;: greedily matching the first two A's with each other makes it impossible to match the remaining symbols. I'm leaving it up rather than deleting it to help others avoid making the same mistake.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It seems to me that it's always safe to match each successive character of the supposed square greedily to another equal character that is in as early a position as possible. That is, I think the following linear time algorithm should work:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Loop through each position i in the input string, i = 0, 1, 2, ... n. For each position i, check whether that position has already been matched against some earlier position in the string. If not, match it against an equal character that comes after the last already matched position and is otherwise as early as possible in the string. If a match is not found for some character, declare that the input is not a square; otherwise, it is the set of characters in the first pair of each match.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here it is in Python:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;def sqrt(S):&#xA;    matches = []&#xA;    i, j = 0, 0&#xA;    while i &amp;lt; len(S):&#xA;        if j &amp;lt; len(matches) and matches[j][1] == i:&#xA;            i += 1&#xA;            j += 1&#xA;            continue&#xA;        if matches:&#xA;            k = matches[-1][1] + 1&#xA;        else:&#xA;            k = 1&#xA;        while k &amp;lt; len(S) and S[k] != S[i]:&#xA;            k += 1&#xA;        if k &amp;gt;= len(S):&#xA;            raise Exception(&quot;Not a square&quot;)&#xA;        matches.append((i,k))&#xA;        i += 1&#xA;    return &quot;&quot;.join(S[a] for a,b in matches)&#xA;&#xA;print sqrt(&quot;ABCABDCD&quot;)&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Here i is the main loop variable (the position we're trying to match), j is a pointer into the array of matched pairs that speeds up the check of whether position i is already matched, and k is an index used to search for the character that matches the one at position i. It's linear time because i, j, and k are monotonically increasing through the string and each inner loop iteration increases one of them.&lt;/p&gt;&#xA;" OwnerUserId="95" LastEditorUserId="95" LastEditDate="2010-08-17T07:36:38.560" LastActivityDate="2010-08-17T07:36:38.560" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="105" PostTypeId="2" ParentId="88" CreationDate="2010-08-17T03:50:41.833" Score="2" Body="&lt;p&gt;The Church-Turing thesis has been proved for all practical purposes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.146.5402&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.146.5402&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Dershowitz and Gurevich, Bulletin of Symbolic Logic, 2008.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(This reference discusses the history of Church's and Turing's work, and argues for a separation between &quot;Church's Thesis&quot; and &quot;Turing's Thesis&quot; as distinct logical claims, then proves them both, within an intuitive axiomatization of computability.)&lt;/p&gt;&#xA;" OwnerUserId="30" LastActivityDate="2010-08-17T03:50:41.833" CommentCount="16" ContentLicense="CC BY-SA 2.5" />
  <row Id="106" PostTypeId="2" ParentId="80" CreationDate="2010-08-17T03:55:45.090" Score="3" Body="&lt;p&gt;This is just a quibble, but as you allude to in your question, it's the simulation that requires uniformity, not the diagonalization per se.  So if I understand your question, that would also include something like Savitch's theorem, which uses simulation but not diagonalization.  Conversely, you could hypothetically have a diagonalization that doesn't make use of simulation.  (I don't know if that is of any practical use, but I know there's been some work along those lines including a classic paper by Kozen.)&lt;/p&gt;&#xA;" OwnerUserId="184" LastActivityDate="2010-08-17T03:55:45.090" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="107" PostTypeId="2" ParentId="93" CreationDate="2010-08-17T04:07:21.027" Score="17" Body="&lt;p&gt;A partial answer: as Richard Lipton outlines &lt;a href=&quot;http://rjlipton.wordpress.com/2009/04/13/sat-is-not-too-easy/&quot;&gt;in this post&lt;/a&gt;, the best bounds are time-space tradeoffs, that ask for a lower bound on time with space $o(n)$. The best known bound in this vein is due to Ryan Williams, who gives a bound of the form $n^c$, where $c$ is slightly more than $\sqrt{3}$. &lt;/p&gt;&#xA;" OwnerUserId="80" LastEditorUserId="80" LastEditDate="2010-08-17T06:47:51.590" LastActivityDate="2010-08-17T06:47:51.590" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="108" PostTypeId="2" ParentId="45" CreationDate="2010-08-17T04:12:15.567" Score="17" Body="&lt;p&gt;There was a nice tutorial on the PCP theorem and applications a year ago. Their lecture notes should be helpful: &lt;a href=&quot;http://arxiv.org/abs/1002.3864&quot;&gt;Limits of Approximation Algorithms: PCPs and Unique Games (DIMACS Tutorial Lecture Notes)&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="206" LastActivityDate="2010-08-17T04:12:15.567" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="109" PostTypeId="1" AcceptedAnswerId="2737" CreationDate="2010-08-17T04:15:46.907" Score="23" ViewCount="1241" Body="&lt;p&gt;If I have a set of linear constraints in which each constraint has at most (say) 4 variables (all nonnegative and with {0,1} coefficients except for one variable that can have a -1 coefficient), what is known about the solution space?  I am less concerned with an efficient solution (although please indicate if one is known) than with knowing how small the minimum of the objective function can be, as a function of the number of variables and number of constraints, and the number of variables per constraint.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;More concretely, the program is something like&lt;/p&gt;&#xA;&#xA;&lt;p&gt;minimize t&lt;br&gt;&#xA;&amp;nbsp;&amp;nbsp;subject to&lt;br&gt;&#xA;for all i, x_i is a positive integer&lt;br&gt;&#xA;x1 + x2 + x3 - t &amp;lt; 0&lt;br&gt;&#xA;x1 + x4 + x5 - t &amp;lt; 0&lt;br&gt;&#xA;...&lt;br&gt;&#xA;x3 + x6 - t     &amp;ge; 0&lt;br&gt;&#xA;x1 + x2 + x7 - t &amp;ge; 0&lt;br&gt;&#xA;...  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If a concrete question is needed, then is it the case that the minimum solution obeys t &amp;lt;= O(max{# of variables, # of constraints}), with the constant in the O() depending on the sparseness?  But even if the answer is no, I am more interested in knowing what kind of textbook or paper to study for a discussion of such issues, and if there is an area of study devoted to this kind of thing but I just don't know the terms to search for.  Thank you.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;b&gt;Update:&lt;/b&gt; With further reflection (and thinking through the rather simple reduction of 3SAT to ILP, which uses constraints with three variables), I realize that the issue of coefficients is critical (if there is going to be an efficient algorithm).  More precisely, all x_i variables have 0 or 1 coefficients (with at most three 1 coefficients in any one constraint), and all t variables have -1 coefficients, and all comparisons have variables on the left and 0 on the right.  I updated the above example to clarify.&lt;/p&gt;&#xA;" OwnerUserId="165" LastEditorUserId="186" LastEditDate="2010-11-07T05:31:59.410" LastActivityDate="2012-02-28T22:10:38.230" Title="What is known about solutions to sparse integer linear programming problems?" Tags="&lt;co.combinatorics&gt;&lt;integer-programming&gt;" AnswerCount="3" CommentCount="5" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="110" PostTypeId="1" CreationDate="2010-08-17T04:18:37.340" Score="10" ViewCount="2703" Body="&lt;p&gt;Specifically, I'm asking for resources to learn about machine learning systems that can update their respective belief networks (or equivalent) during operation. I've even run across a few, though I failed to bookmark them.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As you might imagine, it's a rather challenging topic to search for on the internet.&lt;/p&gt;&#xA;" OwnerUserId="130" LastEditorUserId="123" LastEditDate="2010-08-17T20:53:55.143" LastActivityDate="2010-08-18T21:42:40.450" Title="What are good references on understanding online learning?" Tags="&lt;reference-request&gt;&lt;machine-learning&gt;&lt;lg.learning&gt;&lt;ai.artificial-intel&gt;&lt;online-learning&gt;" AnswerCount="5" CommentCount="1" FavoriteCount="9" CommunityOwnedDate="2010-08-17T18:13:01.637" ContentLicense="CC BY-SA 2.5" />
  <row Id="111" PostTypeId="2" ParentId="110" CreationDate="2010-08-17T04:23:11.580" Score="4" Body="&lt;p&gt;If you're looking for information on the theory behind online learning, the book by &lt;a href=&quot;http://homes.dsi.unimi.it/~cesabian/predbook/&quot; rel=&quot;nofollow&quot;&gt;Cesa-Bianchi and Lugosi&lt;/a&gt; is a solid reference. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2010-08-17T04:23:11.580" CommentCount="2" CommunityOwnedDate="2010-08-17T18:13:01.637" ContentLicense="CC BY-SA 2.5" />
  <row Id="112" PostTypeId="2" ParentId="64" CreationDate="2010-08-17T04:24:34.323" Score="8" Body="&lt;p&gt;It's important to note that saying &quot;probabilistic reductions can [probably] be derandomized&quot; is much stronger than P=RP.  In fact, one formalization of the notion of derandomizing all randomized reductions is that $P^X=RP^X$ &lt;em&gt;relative to every oracle $X$&lt;/em&gt;, which we know is false (e.g. Heller. Relativized polynomial hierarchies extending two levels, Mathematical Systems Theory 17(2):71-84, 1984 gives an oracle where $ZPP=RP=EXP$ which is not equal to $P$ by the Time Hierarchy Theorem).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The above is, of course, talking about derandomizing randomized polynomial-time Turing reductions, rather than the usual polynomial-time many-one reductions.  I wouldn't be surprised if Heller's oracle can be adapted to give a set X such that for all Y, Y is exponential-time many-one reducible to X iff Y is RP-reducible to X, but without going through the construction I couldn't swear to it.&lt;/p&gt;&#xA;" OwnerUserId="129" LastEditorUserId="129" LastEditDate="2010-08-21T00:58:48.257" LastActivityDate="2010-08-21T00:58:48.257" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="113" PostTypeId="1" CreationDate="2010-08-17T04:42:19.403" Score="10" ViewCount="1092" Body="&lt;p&gt;The Zone theorem says that if we stab an arrangement of n lines with another line, the total complexity of its &lt;em&gt;zone&lt;/em&gt;, the set of all 0-, 1-, and 2-faces adjacent to it,  is O(n). The actual constant is something like 6n at least as stated in various textbooks, and the proof is by induction with a reasonably careful charging argument. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I was asked this question in class, and don't have an answer: &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there an alternate, more intuitive&#xA;  proof of the Zone theorem ?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Now I realize that many people find induction quite intuitive and would be offended by my implication, and am willing to amend the above to merely &quot;alternate&quot; for them. But is there any such proof ? Or even a &lt;a href=&quot;http://en.wikipedia.org/wiki/Proofs_from_THE_BOOK&quot; rel=&quot;noreferrer&quot;&gt;proof from the book&lt;/a&gt; ? &lt;/p&gt;&#xA;" OwnerUserId="80" LastEditorUserId="111" LastEditDate="2010-08-17T20:55:35.980" LastActivityDate="2010-08-24T05:23:40.850" Title="A more intuitive proof of the Zone theorem ?" Tags="&lt;cg.comp-geom&gt;" AnswerCount="3" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="114" PostTypeId="1" AcceptedAnswerId="1003" CreationDate="2010-08-17T05:11:03.917" Score="10" ViewCount="292" Body="&lt;p&gt;There are several different (probably inequivalent) notions of computational universality (see for example the last couple pages of &lt;a href=&quot;http://www.dna.caltech.edu/~woods/download/WoodsNearyTCS07-DRAFT.pdf&quot;&gt;http://www.dna.caltech.edu/~woods/download/WoodsNearyTCS07-DRAFT.pdf&lt;/a&gt;) and there is no consensus among experts about which notions are most correct (see for example &lt;a href=&quot;http://cs.nyu.edu/pipermail/fom/2007-October/012148.html&quot;&gt;http://cs.nyu.edu/pipermail/fom/2007-October/012148.html&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm trying to say something about a particular model of biomolecular computation.  I'd like to argue that it's &quot;more universal&quot; or &quot;more usefully universal&quot; than some other models, because you can construct a universal machine that runs a program and then deletes the input at the end and is ready to run another program.  Contrast this to, say, cellular automata, which can emulate any Turing machine, but then at the end of the computation, you've got a final, unchangeable configuration.  To emulate another TM, you need to define a completely separate CA.  So I'd like to say something is &quot;reusably universal&quot; if it behaves like your desktop, not a CA (i.e., can execute multiple programs without needing to recreate the universe).  Has this notion been formalized anywhere?&lt;/p&gt;&#xA;" OwnerUserId="30" LastEditorUserId="30" LastEditDate="2010-08-17T15:05:08.120" LastActivityDate="2010-09-05T21:04:03.390" Title="Is there an official name for a notion of &quot;reusably universal&quot;?" Tags="&lt;universal-computation&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="115" PostTypeId="1" AcceptedAnswerId="8364" CreationDate="2010-08-17T05:17:03.297" Score="36" ViewCount="1469" Body="&lt;p&gt;In general we know that the complexity of testing whether a function takes a particular value at a given input is easier than evaluating the function at that input.  For example:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Evaluating the permanent of a nonnegative integer matrix is #P-hard, yet telling whether such a permanent is zero or nonzero is in P (bipartite matching)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;There are n real numbers $a_1,...,a_n$, such that the polynomial $\prod_{i=1}^{n}(x - a_i)$ has the following properties (indeed most sets of $n$ real numbers will have these properties). For given input $x$, testing whether or not this polynomial is zero takes $\Theta(\log n)$ multiplications and comparisons (by &lt;a href=&quot;http://doi.acm.org/10.1145/800061.808735&quot;&gt;Ben-Or's result&lt;/a&gt;, since the zero set has $n$ components), but evaluating the above polynomial takes at least $\Omega(\sqrt{n})$ steps, by &lt;a href=&quot;http://doi.ieeecomputersociety.org/10.1109/SWAT.1971.5&quot;&gt;Paterson-Stockmeyer&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Sorting requires $\Omega(n \log n)$ steps on a comparison tree (also $\Omega(n \log n)$ steps on a real algebraic decision tree, again by Ben-Or's result), but testing if a list is sorted only uses $n-1$ comparisons.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Are there general conditions on a polynomial that are sufficient to imply that the (algebraic) complexity of testing whether or not the polynomial is zero is equivalent to the complexity of evaluating the polynomial?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I'm looking for conditions that do not depend on knowing the complexity of the problems beforehand.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(&lt;strong&gt;Clarification 10/27/2010&lt;/strong&gt;) To be clear, the polynomial is not part of the input.  What that means is that, given a &lt;em&gt;fixed&lt;/em&gt; family of functions $\{ f_n \}$ (one for each input size (either bitlength or number of inputs)), I want to compare the complexity of the &lt;em&gt;language/decision problem&lt;/em&gt; $\{ X : f_n(X) = 0 \text{ where } n \text{ is the &quot;size&quot; of } X \}$ with the complexity of evaluating the &lt;em&gt;functions&lt;/em&gt; $\{f_n\}$.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Clarification:&lt;/strong&gt; I am asking about the &lt;em&gt;asymptotic&lt;/em&gt; complexity of evaluating/testing &lt;em&gt;families&lt;/em&gt; of polynomials.  For example, over a fixed field (or ring, such as $\mathbb{Z}$) &quot;the permanent&quot; is not a single polynomial, but an infinite family $\{perm_{n} : n \geq 0 \}$ where $perm_{n}$ is the permanent of an $n \times n$ matrix over that field (or ring).&lt;/p&gt;&#xA;" OwnerUserId="129" LastEditorUserId="129" LastEditDate="2010-10-27T21:49:48.123" LastActivityDate="2011-09-26T13:51:46.177" Title="Complexity of testing for a value versus computing a function" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;algebraic-complexity&gt;" AnswerCount="5" CommentCount="9" FavoriteCount="10" ContentLicense="CC BY-SA 2.5" />
  <row Id="116" PostTypeId="1" AcceptedAnswerId="4032" CreationDate="2010-08-17T05:22:33.040" Score="20" ViewCount="522" Body="&lt;p&gt;The self-referentiality of the P/NP problem has sometimes been highlighted as a barrier to its resolution, see, for instance, Scott Aaronson's paper, &lt;a href=&quot;http://www.scottaaronson.com/papers/pnp.pdf&quot;&gt;is P vs. NP formally independent&lt;/a&gt;?  One of the many conceivable resolutions to P/NP would be a demonstration that the problem is formally independent of ZFC or true but unprovable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's conceivable that the self-referentiality of the problem can pose a deeper challenge in proofs of independence, for example, if statements about its provability are themselves unprovable or otherwise impossible to reason about. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose we call a theorem T Godel_0 if it is true but unprovable in the sense of Godel's theorem.  Call T Godel_1 if the statement &quot;T is Godel_0&quot; is true, but unprovable. Call T Godel_i if the statement &quot;T is Godel_{(i-1)} is true.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We know that Godel_0 statements exist, and a few examples have been found &quot;in the wild&quot; that are not constructed explicitly for this purpose, as in &lt;a href=&quot;http://divisbyzero.com/2010/08/16/goodsteins-unprovable-theorem/&quot;&gt;this article&lt;/a&gt;.  &lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;My question is: do there exist any Godel_1 statements or higher?  Are such statements a natural consequence of Godel's theorem?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What about a statement about which we can prove absolutely nothing: ie, one for which for every &lt;em&gt;k&lt;/em&gt; &gt; 0, T is Godel_k?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I can ask an analogous question for formal independence, although I suspect the answer is &quot;no&quot; there.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To return to the P vs. NP question, let me ask whether there's even a hint that Godel's theorem is relevant to questions of class separability.  Have any true but unprovable statements been identified with respect to complexity classes -- beyond, of course, the obvious connection between halting problem and Godel's theorem?&lt;/p&gt;&#xA;" OwnerUserId="71" LastActivityDate="2010-12-30T22:04:12.387" Title="Are recursive forms of Godel's statement possible?" Tags="&lt;cc.complexity-theory&gt;&lt;lo.logic&gt;" AnswerCount="3" CommentCount="1" FavoriteCount="8" ContentLicense="CC BY-SA 2.5" />
  <row Id="117" PostTypeId="2" ParentId="114" CreationDate="2010-08-17T05:27:30.630" Score="4" Body="&lt;p&gt;There has been work in the PL/systems community on the semantics and modelling of operating systems.  As you point out, what you are talking about is much like an OS: it does something, but is guaranteed (well, in the case of an OS, guaranteed-ish) to return to a &quot;ground state.&quot;  The PL people may not have formalized your notion of reusably universal, but you might find some inspiration there.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Your formalization will have to capture the difference between &quot;a universal machine that, after it runs with one input, if you replace the input with another input it is ready to go&quot; and &quot;a universal machine that, given a sequence of input programs, runs them in succession.&quot;  And of course, all reasonable notions of universal machine probably satisfy the latter requirement.  So it seems quite tricky...&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2010-08-17T05:27:30.630" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="118" PostTypeId="1" AcceptedAnswerId="122" CreationDate="2010-08-17T05:34:08.633" Score="21" ViewCount="559" Body="&lt;p&gt;We know a lot about the limitations of (polynomial size) constant-depth circuits. Since (polynomial size) constant-depth formulae are an even more restricted model of computation, all problems known not to be in AC&lt;sup&gt;0&lt;/sup&gt; are also not computable by a constant-depth formula.  However, since it's an easier model, I'm guessing there are more problems known to be not computable in this model.  Has this been studied? (I'm guessing it has been, but I'm probably not using the right search terms.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Specifically I am interested in the following question: Is there some function f, which can be computed by an AC&lt;sup&gt;0&lt;/sup&gt; circuit of size S, but needs a constant-depth formula of size at least quadratic in S, or super-polynomial in S?  What's the best known result of this kind?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In case it is not clear what I mean by constant-depth formula, I mean a formula which if you write out as a tree (with internal nodes being AND/OR/NOT gates, and leaves being inputs), then this tree has constant height. Equivalently, a constant-depth formula is a constant-depth circuit in which all non-input gates have fanout 1.&lt;/p&gt;&#xA;" OwnerUserId="206" LastActivityDate="2014-01-22T12:27:41.320" Title="Lower bounds for constant-depth formulae?" Tags="&lt;cc.complexity-theory&gt;&lt;circuit-complexity&gt;&lt;lower-bounds&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="6" ContentLicense="CC BY-SA 2.5" />
  <row Id="119" PostTypeId="2" ParentId="93" CreationDate="2010-08-17T05:38:31.510" Score="11" Body="&lt;p&gt;My understanding is that, without additional assumptions, we do not have a superlinear time, as in $\Omega(n^c)$ for constant $c &gt; 1$, lower bound for 3SAT.&lt;/p&gt;&#xA;" OwnerUserId="123" LastEditorUserId="123" LastEditDate="2010-09-19T15:11:15.157" LastActivityDate="2010-09-19T15:11:15.157" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="120" PostTypeId="2" ParentId="93" CreationDate="2010-08-17T07:00:24.747" Score="46" Body="&lt;p&gt;As far as I know, the best known &quot;model-independent&quot; time lower bound for SAT is the following. Let $T$ and $S$ be the running time and space bound of any SAT algorithm. Then we must have $T \cdot S \geq n^{2 \cos(\pi/7) - o(1)}$ infinitely often. Note $2 \cos(\pi/7) \approx 1.801$. (The result that Suresh cites is a little obsolete.) This result appeared in STACS 2010, but that is an extended abstract of a much longer paper, which you can get here: &lt;a href=&quot;http://www.cs.cmu.edu/~ryanw/automated-lbs.pdf&quot;&gt;http://www.cs.cmu.edu/~ryanw/automated-lbs.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course, the above work builds on a lot of prior work which is mentioned in Lipton's blog (see Suresh's answer). Also, as the space bound S gets close to n, the time lower bound T gets close to n as well. You can prove a better &quot;time-space tradeoff&quot; in this regime; see Dieter van Melkebeek's survey of SAT time-space lower bounds from 2008.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you restrict yourself to multitape Turing machines, you can prove $T \cdot S \geq n^{2-o(1)}$ infinitely often. That was proved by Rahul Santhanam, and follows from a similar lower bound that's known for PALINDROMES in this model. We believe you should be able to prove a quadratic lower bound that is &quot;model-independent&quot; but that has been elusive for some time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For non-uniform circuits with bounded fan-in, I know of no depth lower bound better than $\log n$.&lt;/p&gt;&#xA;" OwnerUserId="225" LastEditorUserId="225" LastEditDate="2010-09-07T16:38:45.117" LastActivityDate="2010-09-07T16:38:45.117" CommentCount="8" ContentLicense="CC BY-SA 2.5" />
  <row Id="121" PostTypeId="1" CreationDate="2010-08-17T07:02:09.750" Score="39" ViewCount="2576" Body="&lt;p&gt;What are applications of error-correcting codes in theory besides error correction itself? I am aware of three applications: &lt;a href=&quot;http://en.wikipedia.org/wiki/Hard-core_predicate&quot;&gt;Goldreich-Levin theorem&lt;/a&gt; about hard core bit, &lt;a href=&quot;http://www.cs.berkeley.edu/~luca/pubs/#extract&quot;&gt;Trevisan's construction of extractor&lt;/a&gt; and &lt;a href=&quot;http://www.cs.berkeley.edu/~luca/pubs/stv-full.ps&quot;&gt;amplification of hardness of boolean function&lt;/a&gt; (by Sudan-Trevisan-Vadhan).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What are other 'serious' or 'recreational' applications of error-correcting codes?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;UPD: &lt;a href=&quot;http://people.cs.uchicago.edu/~razborov/files/secrets.ps&quot;&gt;one amusing application&lt;/a&gt; of list decoding of Reed-Solomon codes is a solution to particular variation of 20 questions game (and &lt;a href=&quot;http://www.math.dartmouth.edu/~pw/papers/3thresh.ps&quot;&gt;another&lt;/a&gt;, more straightforward, variation).&lt;/p&gt;&#xA;" OwnerUserId="141" LastEditorUserId="80" LastEditDate="2010-08-17T16:57:51.253" LastActivityDate="2017-09-08T13:07:29.393" Title="Using error-correcting codes in theory" Tags="&lt;co.combinatorics&gt;&lt;big-list&gt;&lt;coding-theory&gt;" AnswerCount="13" CommentCount="1" FavoriteCount="20" CommunityOwnedDate="2010-08-17T07:02:09.750" ContentLicense="CC BY-SA 2.5" />
  <row Id="122" PostTypeId="2" ParentId="118" CreationDate="2010-08-17T07:20:12.763" Score="11" Body="&lt;p&gt;It is easy to convert a constant depth circuit to a constant depth formula of the same depth with polynomial size increase, by making copies of gates used more than once. If the depth of the circuit is $d$ and its size is $O(p(n))$, the formula will have depth $d$ and size $O((p(n))^d)$. Therefore the answer is no.&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2010-08-17T08:17:42.563" LastActivityDate="2010-08-17T08:17:42.563" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="124" PostTypeId="2" ParentId="65" CreationDate="2010-08-17T08:18:26.977" Score="9" Body="&lt;p&gt;You could look for the term &quot;bipartition&quot; or &quot;vertex partition&quot; or &quot;coloring&quot; rather than &quot;cut&quot;.  Various generalizations of the chromatic number along the lines you hint at have been considered since the mid-80s (or possibly earlier). There are some early hard-to-find references in Canadian combinatorics conferences, but you might want to check out Cowen, Goddard and Jesurum (JGT or SODA 1997) and related references/citations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edited 15/02/2011&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As pointed out by &lt;a href=&quot;https://cstheory.stackexchange.com/questions/884/h-free-partition/4107#4107&quot;&gt;Aravind&lt;/a&gt; and &lt;a href=&quot;https://cstheory.stackexchange.com/users/126/moron&quot;&gt;Moron&lt;/a&gt; (in the comments below),&#xA;the following references show that the $H$-free cut problem is NP-hard except in the trivial cases.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;D. Achlioptas.  The complexity of $G$-free colourability. Discrete Math. 165/166 (1997) 21-30.&lt;a href=&quot;http://users.soe.ucsc.edu/~optas/papers/G-free-complex.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt; [pdf]&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A. Farrugia.  Vertex-partitioning into fixed additive induced-hereditary properties is NP-hard.  Electron. J. Combin. 11 (2004) #R46 (9 pp).&lt;/p&gt;&#xA;" OwnerUserId="233" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2013-04-24T19:11:43.660" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="125" PostTypeId="2" ParentId="82" CreationDate="2010-08-17T08:41:06.750" Score="19" Body="&lt;p&gt;A counterexample to the &lt;a href=&quot;http://en.wikipedia.org/wiki/Hirsch_conjecture&quot;&gt;Hirsch conjecture&lt;/a&gt;, important to linear programming and polyhedral combinatorics, was proposed by Francisco Santos very recently.  Computer verification was used first to establish some of the properties required of the example, although arguments without the assistance of computational power were discovered afterwards, cf. &lt;a href=&quot;http://gilkalai.wordpress.com/2010/06/15/a-counterexample-to-the-hirsch-conjecture-is-now-out/#comments&quot;&gt;Gil Kalai's blog post&lt;/a&gt; or the &lt;a href=&quot;http://arxiv.org/abs/1006.2814&quot;&gt;paper on arxiv&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="233" LastActivityDate="2010-08-17T08:41:06.750" CommentCount="0" CommunityOwnedDate="2010-08-17T08:41:06.750" ContentLicense="CC BY-SA 2.5" />
  <row Id="126" PostTypeId="2" ParentId="79" CreationDate="2010-08-17T09:17:04.140" Score="12" Body="&lt;p&gt;The induced subgraph isomorphism problem has NP-incomplete &amp;quot;left-hand side restrictions&amp;quot; assuming that P is not equal to NP. See Y. Chen, M. Thurley, M. Weyer: &lt;a href=&quot;http://dx.doi.org/10.1007/978-3-540-70575-8_48&quot; rel=&quot;noreferrer&quot;&gt;Understanding the Complexity of Induced Subgraph Isomorphisms&lt;/a&gt;, ICALP 2008.&lt;/p&gt;&#xA;" OwnerUserId="239" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2010-08-17T09:17:04.140" CommentCount="2" CommunityOwnedDate="2010-08-17T09:17:04.140" ContentLicense="CC BY-SA 2.5" />
  <row Id="127" PostTypeId="2" ParentId="116" CreationDate="2010-08-17T09:41:13.590" Score="8" Body="&lt;p&gt;I'm not so sure about the definition of Godel_1. Can you try to formalize it a bit more? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;How can you encode the formula &quot;T is Godel_0&quot;? For that you will need to somehow encode that &quot;T is semantically true&quot; without referring to notion of proof. How can you do that?&lt;/p&gt;&#xA;" OwnerUserId="142" LastEditorUserId="142" LastEditDate="2010-08-17T16:53:42.587" LastActivityDate="2010-08-17T16:53:42.587" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="128" PostTypeId="2" ParentId="82" CreationDate="2010-08-17T10:24:27.277" Score="23" Body="&lt;p&gt;Doron Zeilberger has done some work in the field of computer-generated proofs. Most notably, he has prepared a Maple program to &lt;a href=&quot;http://www.math.rutgers.edu/~zeilberg/GT.html&quot;&gt;prove geometric identities&lt;/a&gt;, and another program to prove a class of &lt;a href=&quot;http://www.math.temple.edu/~akalu/html/pg1.html&quot;&gt;combinatorial identities&lt;/a&gt;. Some of the methods are mentioned in the book &lt;a href=&quot;http://www.math.upenn.edu/~wilf/AeqB.html&quot;&gt;A=B&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="90" LastActivityDate="2010-08-17T10:24:27.277" CommentCount="0" CommunityOwnedDate="2010-08-17T10:24:27.277" ContentLicense="CC BY-SA 2.5" />
  <row Id="129" PostTypeId="2" ParentId="70" CreationDate="2010-08-17T10:43:47.117" Score="9" Body="&lt;p&gt;Much of the category theoretic groundwork for bigraphs was done in terms of Reactive Systems:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Leifer, J. J. and Milner, R. (2000). &lt;strong&gt;Deriving bisimulation congruences for reactive systems&lt;/strong&gt;. In Palamidessi, C., editor, &lt;em&gt;Proceedings of the 11th International Conference on Concurrency Theory (CONCUR'00), volume 1877 of Lecture Notes in Computer Science&lt;/em&gt;, pages 243-258. Springer-Verlag. (&lt;a href=&quot;http://moscova.inria.fr/~leifer/articles/leifer-derbc.ps.gz&quot;&gt;link&lt;/a&gt;)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This was the result that showed that bisimulation is a congruence in the presence of sufficient RPOs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As you correctly noted, there are definitely links with various &lt;a href=&quot;http://en.wikipedia.org/wiki/Ambient_calculus&quot;&gt;ambient calculi&lt;/a&gt; - particularly in capturing the notion of &quot;place&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The &lt;a href=&quot;http://www.lix.polytechnique.fr/~fvalenci/papers/cham.pdf&quot;&gt;Chemical Abstract Machine&lt;/a&gt; (Cham) has also been cited as significant - probably in terms of the semantics of reactions as well as a few other concepts (such as membranes) that look familiar when viewed from the bigraphs world.  This to me probably shows the clearest sign of being an ideological ancestor of bigraphical reactive systems in many ways.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, I think it's worth just looking at the thread of Milner's work from CCS, to pi-calculus, to reactive systems, to bigraphs.  You see a definite trend within that strand of work, in the introduction of additional abstractions or the ability to explicitly encode certain information that was perhaps otherwise only implicitly included in previous modeling formalisms.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is by no means complete, but I think it's definitely fair to see the development of bigraphs as a natural progression from many, many different ideas.&lt;/p&gt;&#xA;" OwnerUserId="47" LastActivityDate="2010-08-17T10:43:47.117" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="130" PostTypeId="2" ParentId="11" CreationDate="2010-08-17T10:47:26.487" Score="15" Body="&lt;p&gt;If you are looking for a rigorous mathematical treatment of an imperative programming language, Winskel's book &quot;The Formal Semantics of Programming Languages&quot; (1993) is an example.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the book, he defines an imperative programming language called IMP and provides operational, denotational and axiomatic semantics of it.&lt;/p&gt;&#xA;" OwnerUserId="249" LastActivityDate="2010-08-17T10:47:26.487" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="131" PostTypeId="2" ParentId="82" CreationDate="2010-08-17T11:21:42.567" Score="14" Body="&lt;p&gt;The &lt;a href=&quot;http://en.wikipedia.org/wiki/Karloff%E2%80%93Zwick_algorithm&quot;&gt;Karloff–Zwick algorithm&lt;/a&gt; for MAX-3SAT achieves expected performance 7/8.  However the analysis relies on unproven spherical volume inequalities. These inequalities were finally confirmed via computer assisted proofs in Zwick's &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.6.3939&quot;&gt;another paper&lt;/a&gt;.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Besides Hales' proof to the Kepler conjecture as mentioned above, the proof to the &lt;a href=&quot;http://en.wikipedia.org/wiki/Honeycomb_conjecture&quot;&gt;Honeycomb conjecture&lt;/a&gt; and the one to the &lt;a href=&quot;http://en.wikipedia.org/wiki/Dodecahedral_conjecture&quot;&gt;Dodecahedral conjecture&lt;/a&gt; are computer aided as well.&lt;/p&gt;&#xA;" OwnerUserId="245" LastEditorUserId="245" LastEditDate="2010-08-17T12:56:04.430" LastActivityDate="2010-08-17T12:56:04.430" CommentCount="1" CommunityOwnedDate="2010-08-17T11:21:42.567" ContentLicense="CC BY-SA 2.5" />
  <row Id="132" PostTypeId="2" ParentId="110" CreationDate="2010-08-17T11:50:27.913" Score="1" Body="&lt;p&gt;Machine Learning - Course Materials - Stanford&#xA;&lt;a href=&quot;http://www.stanford.edu/class/cs229/materials.html&quot; rel=&quot;nofollow&quot;&gt;http://www.stanford.edu/class/cs229/materials.html&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Machine Learning and Artificial Intelligence Video Lectures&#xA;&lt;a href=&quot;http://freescienceonline.blogspot.com/2007/07/machine-learning-and-artificial.html&quot; rel=&quot;nofollow&quot;&gt;http://freescienceonline.blogspot.com/2007/07/machine-learning-and-artificial.html&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Gaussian Processes for Machine Learning&#xA;&lt;a href=&quot;http://www.gaussianprocess.org/gpml/&quot; rel=&quot;nofollow&quot;&gt;http://www.gaussianprocess.org/gpml/&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="252" LastActivityDate="2010-08-17T11:50:27.913" CommentCount="1" CommunityOwnedDate="2010-08-17T18:13:01.637" ContentLicense="CC BY-SA 2.5" />
  <row Id="133" PostTypeId="2" ParentId="110" CreationDate="2010-08-17T12:01:54.630" Score="7" Body="&lt;p&gt;Avrim Blum as a terrific survey paper that I would recommend starting with: &quot;Online Algorithms in Machine Learning&quot; &lt;a href=&quot;http://www.cs.cmu.edu/~avrim/Papers/survey.ps&quot;&gt;http://www.cs.cmu.edu/~avrim/Papers/survey.ps&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="25" LastActivityDate="2010-08-17T12:01:54.630" CommentCount="0" CommunityOwnedDate="2010-08-17T18:13:01.637" ContentLicense="CC BY-SA 2.5" />
  <row Id="134" PostTypeId="2" ParentId="45" CreationDate="2010-08-17T12:07:47.897" Score="13" Body="&lt;p&gt;For the original (and long) proof of the PCP theorem, I recommend Sudan's &lt;a href=&quot;http://people.csail.mit.edu/madhu/pcp/course.html&quot;&gt;notes&lt;/a&gt; as a recap and Feige's &lt;a href=&quot;http://www.wisdom.weizmann.ac.il/~feige/pcp.html&quot;&gt;lecture notes&lt;/a&gt; which explain the proof in detail.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, see &lt;a href=&quot;http://blog.computationalcomplexity.org/2005/11/teaching-pcps.html&quot;&gt;Fortnow's post&lt;/a&gt; for other materials and useful discussions.&lt;/p&gt;&#xA;" OwnerUserId="245" LastEditorUserId="245" LastEditDate="2010-08-17T13:34:26.200" LastActivityDate="2010-08-17T13:34:26.200" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="135" PostTypeId="1" CreationDate="2010-08-17T12:21:28.773" Score="23" ViewCount="369" Body="&lt;p&gt;(I posted &lt;a href=&quot;https://mathoverflow.net/questions/34364/cliquewidth-of-cographs-kv&quot;&gt;this question&lt;/a&gt; to MathOverflow two weeks ago, but so far without a rigorous answer)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have a question about graph width measures of undirected simple graphs. It is well-known that cographs (graphs which can be built by the operations of disjoint union and complementation, starting from isolated vertices) have cliquewidth at most 2. (Courcelle et al, Upper bounds to the clique width of graphs). Now consider some fixed non-negative integer k, and consider the class of graphs $\mathcal{G} _k$ of graphs such that for every $G = (V,E) \in \mathcal{G} _k$ there is a set $S$ of at most k vertices such that $G[V - S]$ is a cograph. Since the graph class $\mathcal{G} _k$ can also be seen as the class of graphs that can be built out of cographs by adding at most $k$ vertices, this class has also been called cographs + $kv$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is: what is a tight bound on the cliquewidth of graphs in $\mathcal{G}_k$, i.e. the graphs which can be turned into a cograph by deleting k vertices? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is known that if a graph $G$ is obtained from $H$ by deleting $k$ vertices then $cw(H) \leq 2^k (cw(G) + 1)$. This shows that if a cograph $G$ can be obtained from a graph $H$ by deleting $k$ vertices, then $cw(H) \leq 2^k (3 + 1)$, and hence the cliquewidth of a graph in $\mathcal{G}_k$ is at most $4*2^k$. I am unsure whether this exponential dependency on $k$ is necessary. In this context I would also be interested in the maximum decrease in the cliquewidth by deleting a vertex; i.e. if we delete a single vertex from a graph, how much can the cliquewidth decrease?&lt;/p&gt;&#xA;" OwnerUserId="122" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2012-11-12T14:27:17.183" Title="Cliquewidth of Almost Cographs" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;cliquewidth&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="136" PostTypeId="2" ParentId="116" CreationDate="2010-08-17T12:23:56.037" Score="6" Body="&lt;p&gt;Godel_n statements exist for each n.  You might be interested in The Unprovability of Consistency, a book by George Boolos.  He defines a modal logic in which Box means &quot;is provable,&quot; Diamond means &quot;is consistent,&quot; and then proceeds to investigate the behavior of Godel-type sentences.  (He wrote a followup book, The Logic of Provability, also.)&lt;/p&gt;&#xA;" OwnerUserId="30" LastActivityDate="2010-08-17T12:23:56.037" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="137" PostTypeId="2" ParentId="79" CreationDate="2010-08-17T12:55:31.840" Score="19" Body="&lt;p&gt;It is not known if it is possible to decide in polynomial time if player 1 has a winning strategy in a parity game (from a given starting position). The problem is, however, contained in NP and co-NP and even in UP and co-UP.&lt;/p&gt;&#xA;" OwnerUserId="127" LastActivityDate="2010-08-17T12:55:31.840" CommentCount="4" CommunityOwnedDate="2010-08-17T12:55:31.840" ContentLicense="CC BY-SA 2.5" />
  <row Id="138" PostTypeId="1" AcceptedAnswerId="172" CreationDate="2010-08-17T12:58:02.723" Score="40" ViewCount="5937" Body="&lt;p&gt;Why do most people prefer to use many-one reductions to define NP-completeness instead of, for instance, Turing reductions?&lt;/p&gt;&#xA;" OwnerUserId="127" LastActivityDate="2014-10-10T16:02:58.323" Title="Many-one reductions vs. Turing reductions to define NPC" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;&lt;reductions&gt;" AnswerCount="7" CommentCount="0" FavoriteCount="17" ContentLicense="CC BY-SA 2.5" />
  <row Id="139" PostTypeId="2" ParentId="138" CreationDate="2010-08-17T13:08:08.303" Score="21" Body="&lt;p&gt;I don't know whether there is a preference, but they are conjectured to be distinct notions.  That is, Turing reducibility is conjectured to be a stronger notion.  (There exist A and B such that A is T-reducible to B, but not m-o reducible to B.)  One paper that discusses this is &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.45.465&quot;&gt;this one&lt;/a&gt; by Lutz and Mayordomo.  They propose a strengthening of the statement P != NP; roughly, that NP includes a non-negligible amount of EXPTIME.  This assumption allows them to show that the two notions of reducibility are distinct.&lt;/p&gt;&#xA;" OwnerUserId="30" LastActivityDate="2010-08-17T13:08:08.303" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="140" PostTypeId="1" AcceptedAnswerId="142" CreationDate="2010-08-17T13:26:52.537" Score="-6" ViewCount="5525" Body="&lt;p&gt;In which situations would I use a red/black tree instead of an unbalanced tree?&lt;/p&gt;&#xA;" OwnerUserId="112" LastEditorUserId="112" LastEditDate="2012-11-14T22:12:43.360" LastActivityDate="2012-11-14T22:12:43.360" Title="What is the advantage of red/black trees in comparison with unbalanced trees?" Tags="&lt;ds.data-structures&gt;&lt;tree&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="1" ClosedDate="2010-08-17T14:23:28.877" ContentLicense="CC BY-SA 3.0" />
  <row Id="141" PostTypeId="2" ParentId="138" CreationDate="2010-08-17T13:37:31.060" Score="18" Body="&lt;p&gt;I think the reason people prefer (to start with) many-one reductions is pedagogical -- a many-one reduction from A to B is actually a function on strings, whereas a Turing reduction requires the introduction of oracles.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that Cook reduction (polynomial-time Turing) and Karp-Levin reduction (polynomial-time many-one) are known to be distinct on E unconditionally, by Ko and Moore, and separately by Watanabe (as referenced in the Lutz and Mayordomo paper in Aaron Sterling's response).&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2010-08-17T13:37:31.060" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="142" PostTypeId="2" ParentId="140" CreationDate="2010-08-17T13:38:09.890" Score="4" Body="&lt;p&gt;Red-Black trees are a form of balanced trees. This means that the tree height is always O(log n), where n is the number of node in the tree. The effect of this is that searching for a node in a balanced tree takes O(log n) time. Similarly, adding and removing also take O(log n). This is in contrast to unbalanced trees, where the worst-case complexity for searching/adding/removing is O(n) (which means that in the worst case they're not any better than linked lists).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You should use balanced trees whenever you need to bound the worst-case performance of operations on the tree.&lt;/p&gt;&#xA;" OwnerUserId="90" LastActivityDate="2010-08-17T13:38:09.890" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="143" PostTypeId="2" ParentId="121" CreationDate="2010-08-17T13:49:26.007" Score="5" Body="&lt;p&gt;Check out &lt;a href=&quot;http://eccc.hpi-web.de/keyword/13579/&quot; rel=&quot;nofollow&quot;&gt;the list of ECCC papers tagged with &quot;error-correcting codes&quot;&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Perusing that list, you'll see that there's a connection between error-correcting codes and PCPs (I don't know whether you'll consider this an application &quot;beyond just error-correcting itself.&quot;), and also &lt;a href=&quot;http://eccc.hpi-web.de/report/1997/028&quot; rel=&quot;nofollow&quot;&gt;PAC learning&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2010-08-17T13:49:26.007" CommentCount="1" CommunityOwnedDate="2010-08-17T13:49:26.007" ContentLicense="CC BY-SA 2.5" />
  <row Id="144" PostTypeId="2" ParentId="121" CreationDate="2010-08-17T14:01:28.570" Score="24" Body="&lt;p&gt;Here's a straightforward application in communication complexity (which I see now is also described in a comment by Andy Drucker on his &lt;a href=&quot;http://andysresearch.blogspot.com/2007/09/information-is-not-substance.html&quot;&gt;blog&lt;/a&gt;) outside the context of derandomization:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose Alice and Bob are given strings $x$ and $y$ respectively, and they want to find out if the Hamming distance between $x$ and $y$ is at most $\epsilon n$ (where $\epsilon$ is some fixed constant).  We want to prove a communication complexity lower bound for this problem.  The observation is that any deterministic protocol for this problem yields a deterministic protocol with the same number of rounds for checking equality of two strings $a$ and $b$ of length $cn$ where $c&amp;lt;1$ is some constant depending on $\epsilon$.  Why?  To check equality of $a$ and $b$, Alice and Bob can run the protocol for the first problem on $C(a)$ and $C(b)$ where $C$ is an error correcting code with distance at least $\epsilon$.  Since there is an easy linear lower bound for the equality problem, this also yields a deterministic linear lower bound for the first problem.&lt;/p&gt;&#xA;" OwnerUserId="15" LastActivityDate="2010-08-17T14:01:28.570" CommentCount="8" CommunityOwnedDate="2010-08-17T14:01:28.570" ContentLicense="CC BY-SA 2.5" />
  <row Id="145" PostTypeId="2" ParentId="121" CreationDate="2010-08-17T14:09:07.473" Score="8" Body="&lt;p&gt;There is a series of papers on steganography and covert computation (beginning &lt;a href=&quot;http://www.cs.cmu.edu/~biglou/PSS.pdf&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;) that fundamentally require error-correcting codes. They model failed oracle calls to draw from an arbitrary distribution as noise in a channel.&lt;/p&gt;&#xA;" OwnerUserId="108" LastActivityDate="2010-08-17T14:09:07.473" CommentCount="0" CommunityOwnedDate="2010-08-17T14:09:07.473" ContentLicense="CC BY-SA 2.5" />
  <row Id="146" PostTypeId="1" AcceptedAnswerId="148" CreationDate="2010-08-17T14:12:14.283" Score="-2" ViewCount="382" Body="&lt;p&gt;How can an arbitrary non-deterministic finite automate be converted into one with only one accept stage? If so, what is the proof that this can always be done?&lt;/p&gt;&#xA;" OwnerUserId="112" LastEditorUserId="186" LastEditDate="2011-02-07T06:52:49.413" LastActivityDate="2011-02-07T06:52:49.413" Title="Can every non-deterministic finite automate be changed into one with only one acceptance state?" Tags="&lt;fl.formal-languages&gt;&lt;automata-theory&gt;" AnswerCount="2" CommentCount="7" FavoriteCount="1" ClosedDate="2010-08-17T15:05:54.233" ContentLicense="CC BY-SA 2.5" />
  <row Id="148" PostTypeId="2" ParentId="146" CreationDate="2010-08-17T14:20:44.497" Score="5" Body="&lt;p&gt;If you allow $\epsilon$ transitions, then the answer is yes. Simply introduce a new accepting state and have epsilon transitions from the original accepting states to it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Proof is by construction.&lt;/p&gt;&#xA;" OwnerUserId="77" LastActivityDate="2010-08-17T14:20:44.497" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="149" PostTypeId="1" CreationDate="2010-08-17T14:34:09.410" Score="65" ViewCount="3961" Body="&lt;p&gt;We in TCS often use powerful results and ideas from classical mathematics (algebra, topology, analysis, geometry, etc.).  &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What are some examples of when it has gone the other way around?  &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Here are some I know of (and also to give a flavor of the type of results I'm asking about):&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Cubical foams (Guy Kindler, Ryan O'Donnell, Anup Rao, and Avi Wigderson: Spherical Cubes and Rounding in High Dimensions, FOCS 2008)&lt;/li&gt;&#xA;&lt;li&gt;The Geometric Complexity Theory Program.  (Although this is technically an application of algebraic geometry and representation theory to TCS, they were led to introduce new quantum groups and new purely algebro-geometric and representation-theoretic ideas in their pursuit of P vs NP.)&lt;/li&gt;&#xA;&lt;li&gt;Work on metric embeddings inspired by approximation algorithms and inapproximability results&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I am in particular &lt;em&gt;not&lt;/em&gt; looking for applications of TCS to logic (finite model theory, proof theory, etc.) unless they are particularly surprising -- the relationship between TCS and logic is too close and standard and historical for the purposes of this question.&lt;/p&gt;&#xA;" OwnerUserId="129" LastEditorUserId="129" LastEditDate="2013-10-23T19:36:17.440" LastActivityDate="2015-04-12T21:47:56.737" Title="Applications of TCS to classical mathematics?" Tags="&lt;reference-request&gt;&lt;big-list&gt;" AnswerCount="17" CommentCount="3" FavoriteCount="31" CommunityOwnedDate="2010-08-17T14:34:09.410" ContentLicense="CC BY-SA 3.0" />
  <row Id="151" PostTypeId="2" ParentId="146" CreationDate="2010-08-17T14:42:19.533" Score="3" Body="&lt;p&gt;Even if you don't allow epsilon transitions, yes. Create a new state and for each edge that would lead to a final state in the original NFA create another nondeterministic one that points to this new state.&lt;/p&gt;&#xA;" OwnerUserId="120" LastActivityDate="2010-08-17T14:42:19.533" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="152" PostTypeId="1" AcceptedAnswerId="1861" CreationDate="2010-08-17T14:43:43.850" Score="25" ViewCount="2669" Body="&lt;p&gt;The intersection of two (minimal) DFAs with n states can be computed using O(n&lt;sup&gt;2&lt;/sup&gt;) time and space. This is optimal in general, since the resulting (minimal) DFA may have n&lt;sup&gt;2&lt;/sup&gt; states. However, if the resulting minimal DFA has z states, where z=O(n), can it be computed in space n&lt;sup&gt;2-eps&lt;/sup&gt;, for some constant eps&gt;0? I would be interested in such a result even for the special case where the input DFAs are acyclic.&lt;/p&gt;&#xA;" OwnerUserId="215" LastEditorUserId="80" LastEditDate="2010-08-18T02:00:11.260" LastActivityDate="2013-01-14T18:55:58.910" Title="DFA intersection in subquadratic space?" Tags="&lt;automata-theory&gt;&lt;dfa&gt;" AnswerCount="4" CommentCount="3" FavoriteCount="6" ContentLicense="CC BY-SA 2.5" />
  <row Id="153" PostTypeId="1" AcceptedAnswerId="1073" CreationDate="2010-08-17T14:50:22.913" Score="12" ViewCount="360" Body="&lt;p&gt;It is known that for PAC learning, there are natural concept classes (e.g. subsets of decision lists) for which there are polynomial gaps between the sample complexity needed for information theoretic learning by a computationally unbounded learner, and the sample complexity needed by a polynomial-time learner. (see, e.g. &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=267489&amp;amp;dl=GUIDE&quot;&gt;http://portal.acm.org/citation.cfm?id=267489&amp;amp;dl=GUIDE&lt;/a&gt; or &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=301437&quot;&gt;http://portal.acm.org/citation.cfm?id=301437&lt;/a&gt;)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;These results seem to depend on encoding a secret in particular examples, however, and so don't naturally translate into the SQ-model of learning, where the learner just gets to query statistical properties of the distribution. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is it known whether there exist concept classes for which information-theoretic learning in the SQ model is possible with O(f(n)) queries, but computationally efficient learning is only possible with Omega(g(n)) queries for g(n) &gt;&gt; f(n)?&lt;/p&gt;&#xA;" OwnerUserId="25" LastEditorUserId="25" LastEditDate="2010-08-17T15:35:21.737" LastActivityDate="2010-09-08T04:14:14.743" Title="Computational query complexity of SQ-learning" Tags="&lt;machine-learning&gt;&lt;lg.learning&gt;&lt;sample-complexity&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="154" PostTypeId="2" ParentId="149" CreationDate="2010-08-17T14:56:55.143" Score="22" Body="&lt;p&gt;There is Dvir's &lt;a href=&quot;http://www.math.ias.edu/~dvir/papers/Dvir09.pdf&quot;&gt;proof&lt;/a&gt; of the finite field Kakeya conjecture.&lt;/p&gt;&#xA;" OwnerUserId="25" LastEditorUserId="1080" LastEditDate="2010-10-18T16:43:18.120" LastActivityDate="2010-10-18T16:43:18.120" CommentCount="3" CommunityOwnedDate="2010-08-17T14:56:55.143" ContentLicense="CC BY-SA 2.5" />
  <row Id="155" PostTypeId="2" ParentId="149" CreationDate="2010-08-17T15:03:19.327" Score="19" Body="&lt;p&gt;Is computability theory part of TCS?  If so, then Computability Theory and Differential Geometry by Bob Soare, which exposits applications of results he obtained with Csima, is an example.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Don't know why the link isn't showing up....  Here: &lt;a href=&quot;http://www.people.cs.uchicago.edu/~soare/res/Geometry/geom.pdf&quot;&gt;http://www.people.cs.uchicago.edu/~soare/res/Geometry/geom.pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="30" LastActivityDate="2010-08-17T15:03:19.327" CommentCount="1" CommunityOwnedDate="2010-08-17T15:03:19.327" ContentLicense="CC BY-SA 2.5" />
  <row Id="156" PostTypeId="1" AcceptedAnswerId="518" CreationDate="2010-08-17T15:04:56.247" Score="13" ViewCount="334" Body="&lt;p&gt;The &lt;a href=&quot;http://en.wikipedia.org/wiki/Paley_graph&quot; rel=&quot;nofollow&quot;&gt;Paley graphs&lt;/a&gt; P&lt;sub&gt;q&lt;/sub&gt; are those whose vertex-set is given by the &lt;a href=&quot;http://en.wikipedia.org/wiki/Finite_field&quot; rel=&quot;nofollow&quot;&gt;finite field&lt;/a&gt; GF(q), for prime powers q&amp;equiv;1&amp;nbsp;(mod&amp;nbsp;4), and where two vertices are adjacent if and only if they differ by a&lt;sup&gt;2&lt;/sup&gt; for some a&amp;nbsp;&amp;isin;&amp;nbsp;GF(q). In the case that q is prime, the finite field GF(q) is just the set of integers modulo q.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In a &lt;a href=&quot;http://dx.doi.org/10.1016/j.disc.2005.10.018&quot; rel=&quot;nofollow&quot;&gt;recent paper&lt;/a&gt;, Maistrelli and Penman show that the only Paley graph which is &lt;a href=&quot;http://en.wikipedia.org/wiki/Perfect_graph&quot; rel=&quot;nofollow&quot;&gt;&lt;em&gt;perfect&lt;/em&gt;&lt;/a&gt; (having a chromatic number equal to the size of its largest clique) is the one on nine vertices. This implies, in particular, that none of the Paley graphs P&lt;sub&gt;q&lt;/sub&gt; are perfect for q prime.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The &lt;a href=&quot;http://en.wikipedia.org/wiki/Perfect_graph_theorem#Characterizations_and_the_perfect_graph_theorems&quot; rel=&quot;nofollow&quot;&gt;Strong Perfect Graph Theorem&lt;/a&gt; asserts that a graph G is perfect if and only if both G and its complement lacks &lt;em&gt;odd holes&lt;/em&gt; (an induced subgraph which is a cycle of odd length, and size at least 5.) The Paley graphs of prime order are self-complementary, and imperfect; therefore they must contain odd holes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question.&lt;/strong&gt; For q&amp;equiv;1&amp;nbsp;(mod&amp;nbsp;4) prime, is there a poly(q) algorithm for finding an odd hole in P&lt;sub&gt;q&lt;/sub&gt;? Is there a polylog(q) algorithm? Randomness and popular number-theoretic conjectures are allowed.&lt;/p&gt;&#xA;" OwnerUserId="248" LastEditorUserId="248" LastEditDate="2010-08-17T15:20:55.677" LastActivityDate="2011-01-26T14:17:35.640" Title="Finding odd holes in circulant Paley graphs" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="157" PostTypeId="2" ParentId="149" CreationDate="2010-08-17T15:05:01.583" Score="17" Body="&lt;p&gt;Extractors is another place to look. For example, the paper by Barak-Kindler-Shaltiel-Sudakov-Wigderson'04 gives (among other things) improved constructions of Ramsey graphs (a problem that had been open for a while in discrete maths).&lt;/p&gt;&#xA;" OwnerUserId="68" LastEditorUserId="969" LastEditDate="2015-04-12T21:47:56.737" LastActivityDate="2015-04-12T21:47:56.737" CommentCount="0" CommunityOwnedDate="2010-08-17T15:05:01.583" ContentLicense="CC BY-SA 3.0" />
  <row Id="158" PostTypeId="2" ParentId="138" CreationDate="2010-08-17T15:07:50.967" Score="7" Body="&lt;p&gt;Turing reductions are more powerful than many-one mapping reductions in this regard: Turing reductions let you map a language to its complement.  As a result it can kind of obscure the difference between (for example) NP and coNP.  In Cook's original paper he didn't look at this distinction (iirc Cook actually used DNF formulas instead of CNF), but it probably became clear very quickly that this was an important separation, and many-one reductions made it easier to deal with this.&lt;/p&gt;&#xA;" OwnerUserId="184" LastActivityDate="2010-08-17T15:07:50.967" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="159" PostTypeId="1" AcceptedAnswerId="160" CreationDate="2010-08-17T15:35:37.323" Score="9" ViewCount="29949" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Possible Duplicate:&lt;/strong&gt;&lt;br&gt;&#xA;  &lt;a href=&quot;https://cstheory.stackexchange.com/questions/167/what-are-the-consequences-of-factoring-being-np-complete&quot;&gt;What are the consequences of factoring being NP-complete?&lt;/a&gt;  &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&#xA;&#xA;&lt;p&gt;What notable reference works have covered this?&lt;/p&gt;&#xA;" OwnerUserId="112" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2011-02-08T05:43:22.340" Title="Is integer factorization an NP-complete problem?" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;&lt;factoring&gt;" AnswerCount="1" CommentCount="11" FavoriteCount="3" ClosedDate="2011-02-08T09:51:33.747" ContentLicense="CC BY-SA 2.5" />
  <row Id="160" PostTypeId="2" ParentId="159" CreationDate="2010-08-17T15:41:49.103" Score="31" Body="&lt;p&gt;No, its not known to be NP-complete, and it would be very surprising if it were. This is because its decision version is known to be in $\text{NP} \cap \text{co-NP}$. (Decision version: Does $n$ have a prime factor $\lt k$?)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is in NP, because a factor $p \lt k$ such that $p \mid n$ serves as a witness of a yes instance.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is in co-NP because a prime factorization of $n$ with no factors $\lt k$ serves as a witness of a no instance. Prime factorizations are unique, and can be verified in polynomial time because testing for primality is in P. &lt;/p&gt;&#xA;" OwnerUserId="25" LastEditorUserId="126" LastEditDate="2011-02-07T09:54:08.053" LastActivityDate="2011-02-07T09:54:08.053" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="161" PostTypeId="1" CreationDate="2010-08-17T16:10:15.953" Score="15" ViewCount="770" Body="&lt;p&gt;Given a language L defined by a Turing Machine that decides it, is it possible to determine algorithmically whether L lies in NP?&lt;/p&gt;&#xA;" OwnerUserId="112" LastEditorUserId="71" LastEditDate="2010-08-20T00:27:50.117" LastActivityDate="2010-08-27T22:04:07.393" Title="Can it be determined if language L lies in NP?" Tags="&lt;cc.complexity-theory&gt;&lt;computability&gt;&lt;turing-machines&gt;" AnswerCount="3" CommentCount="5" FavoriteCount="6" ContentLicense="CC BY-SA 2.5" />
  <row Id="162" PostTypeId="2" ParentId="161" CreationDate="2010-08-17T16:16:12.237" Score="24" Body="&lt;p&gt;No.  First, by Rice's Theorem, this is a property of TMs that depends only on the language they compute, so it cannot be computable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But, more than that, it is known that the index set of $NP$ (that is, the set of TMs that compute languages in $NP$) is $\Sigma^0_3$-complete ($\Sigma^0_3$ in the &lt;em&gt;arithmetic&lt;/em&gt; hierarchy of computability, not the polynomial hierarchy).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Questions like this were first investigated by &lt;a href=&quot;http://dx.doi.org.proxy.uchicago.edu/10.1016/0304-3975(79)90046-X&quot;&gt;Hajek&lt;/a&gt;.  For more, see e.g. &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.32.8927&amp;amp;rep=rep1&amp;amp;type=ps&quot;&gt;this article&lt;/a&gt; by Ken Regan.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A few more great nuggets from Hajek's paper:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The index set of $P$ is $\Sigma^0_3$-complete.&lt;/li&gt;&#xA;&lt;li&gt;$\{i : P^{L(M_i)} \neq NP^{L(M_i)}\}$ is $\Pi^0_2$-complete&lt;/li&gt;&#xA;&lt;li&gt;There is a total Turing machine (halts on all inputs) $M_i$ such that $P^{L_i} = NP^{L_i}$ but the statement &quot;$P^{L_i} = NP^{L_i}$&quot; is independent (where $L_i = L(M_i)$).  Similarly for relativizations where $P \neq NP$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="129" LastEditorUserId="129" LastEditDate="2010-08-27T22:04:07.393" LastActivityDate="2010-08-27T22:04:07.393" CommentCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="163" PostTypeId="2" ParentId="149" CreationDate="2010-08-17T16:19:51.593" Score="22" Body="&lt;p&gt;A cute example I know is Michael Freedman's paper titled &quot;&lt;a href=&quot;http://arxiv.org/abs/0810.0033&quot;&gt;Complexity Classes as Mathematical Axioms&lt;/a&gt;&quot; which gives an implication of $P^{\sharp P}\neq NP$ in the field of 3-manifold topology.&lt;/p&gt;&#xA;" OwnerUserId="245" LastEditorUserId="245" LastEditDate="2010-08-19T21:58:24.660" LastActivityDate="2010-08-19T21:58:24.660" CommentCount="0" CommunityOwnedDate="2010-08-17T16:19:51.593" ContentLicense="CC BY-SA 2.5" />
  <row Id="165" PostTypeId="2" ParentId="149" CreationDate="2010-08-17T16:22:24.133" Score="15" Body="&lt;p&gt;De Wolf and Drucker mention in &lt;a href=&quot;http://arxiv.org/abs/0910.3376&quot;&gt;their survey on quantum proofs&lt;/a&gt; about surprising connection between quantum query complexity and $\epsilon$-approximation of symmetric functions by polynomials.&lt;/p&gt;&#xA;" OwnerUserId="141" LastEditorUserId="141" LastEditDate="2010-08-17T23:33:55.127" LastActivityDate="2010-08-17T23:33:55.127" CommentCount="0" CommunityOwnedDate="2010-08-17T16:22:24.133" ContentLicense="CC BY-SA 2.5" />
  <row Id="167" PostTypeId="1" CreationDate="2010-08-17T16:32:14.937" Score="29" ViewCount="4940" Body="&lt;p&gt;Are there any references covering this?&lt;/p&gt;&#xA;" OwnerUserId="112" LastEditorUserId="7712" LastEditDate="2020-08-09T14:53:17.503" LastActivityDate="2020-08-09T14:53:17.503" Title="What would be the consequences of factoring being NP-complete?" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;np-hardness&gt;&lt;factoring&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="9" ContentLicense="CC BY-SA 4.0" />
  <row Id="168" PostTypeId="2" ParentId="167" CreationDate="2010-08-17T16:35:24.667" Score="22" Body="&lt;p&gt;Since integer factorization is known to be in both &lt;strong&gt;NP&lt;/strong&gt; and &lt;strong&gt;co-NP&lt;/strong&gt;, a proof that it is &lt;strong&gt;NP&lt;/strong&gt;-complete would imply &lt;strong&gt;NP&lt;/strong&gt; = &lt;strong&gt;co-NP&lt;/strong&gt;, which is considered highly unlikely.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is an interesting discussion at this &lt;a href=&quot;http://blog.computationalcomplexity.org/2002/09/complexity-class-of-week-factoring.html&quot;&gt;old post by Lance Fortnow&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="108" LastActivityDate="2010-08-17T16:35:24.667" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="169" PostTypeId="2" ParentId="167" CreationDate="2010-08-17T16:39:09.330" Score="30" Body="&lt;p&gt;As well as implying NP=co-NP, it would also imply that BQP contained NP.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It would also seem to imply that hard instances of NP-complete problems were easy to generate.&lt;/p&gt;&#xA;" OwnerUserId="204" LastActivityDate="2010-08-17T16:39:09.330" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="170" PostTypeId="1" AcceptedAnswerId="186" CreationDate="2010-08-17T16:50:31.607" Score="22" ViewCount="1290" Body="&lt;p&gt;The exact phrasing of the title is due to Anand Kulkarni (who proposed this site be created). This question was asked as an example question, but I’m insanely curious. I know very little about algebraic geometry, and in fact also only have a cursory, undergraduate understanding of the obstacles at play in the P/poly versus NP question (non-relativizing, non-algebrazing, likely won’t be a natural proof).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What makes algebraic geometry seem like it can bypass these sorts of obstacles? Is it just field expert intuition or do we have a really good reason to believe the approach is fundamentally more powerful than previous approachs? What weaker results have this approach been able to achieve?&lt;/p&gt;&#xA;" OwnerUserId="3624" LastEditorUserId="-1" LastEditDate="2013-04-05T05:33:55.343" LastActivityDate="2013-04-05T05:33:55.343" Title="How does the Mulmuley-Sohoni geometric approach to producing lower bounds avoid producing natural proofs (in the Razborov-Rudich sense)?" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;&lt;lower-bounds&gt;&lt;gct&gt;&lt;barriers&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="10" ContentLicense="CC BY-SA 2.5" />
  <row Id="171" PostTypeId="2" ParentId="121" CreationDate="2010-08-17T16:56:12.583" Score="3" Body="&lt;p&gt;Another application is in authentication codes. These are essentially encodings designed to detect any tampering with the message, and fundamentally rely on error correction. This is somewhat more than simple error correction, which tends to entail making assumptions about the structure of noise.&lt;/p&gt;&#xA;" OwnerUserId="204" LastActivityDate="2010-08-17T16:56:12.583" CommentCount="0" CommunityOwnedDate="2010-08-17T16:56:12.583" ContentLicense="CC BY-SA 2.5" />
  <row Id="172" PostTypeId="2" ParentId="138" CreationDate="2010-08-17T17:00:38.473" Score="35" Body="&lt;p&gt;Two reasons: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;(1) just a matter of minimality: being NPC under many-one reductions is a formally stronger statement and if you get the stronger statement (as Karp did and as you almost always do) then why not say so?  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;(2) Talking about many-one reductions gives rise to a richer, more delicate, hierarchy.  For example the distinction NP vs co-NP disappears under Turing reductions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is similar in spirit to why often one uses Logspace-reductions rather than polytime ones.&lt;/p&gt;&#xA;" OwnerUserId="42" LastActivityDate="2010-08-17T17:00:38.473" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="173" PostTypeId="2" ParentId="72" CreationDate="2010-08-17T17:14:07.217" Score="13" Body="&lt;p&gt;The classic example for a language with an exponential separation between DFA size and NFA size is the following finite language: binary strings of length exactly 2n in which the first half is not equal to the second half.  A NFA would guess an index i in which the first and second half disagree.  A lower bound for a DFA follows from communication complexity, for example.&lt;/p&gt;&#xA;" OwnerUserId="42" LastActivityDate="2010-08-17T17:14:07.217" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="174" PostTypeId="1" CreationDate="2010-08-17T17:16:11.053" Score="226" ViewCount="92321" Body="&lt;p&gt;Wikipedia only lists two problems under &lt;a href=&quot;http://en.wikipedia.org/wiki/List_of_unsolved_problems_in_computer_science&quot;&gt;&quot;unsolved problems in computer science&quot;&lt;/a&gt;:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/P_and_NP&quot;&gt;P = NP?&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/One-way_function&quot;&gt;The existence of one-way functions&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;What are other major problems that should be added to this list?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Rules:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Only one problem per answer&lt;/li&gt;&#xA;&lt;li&gt;Provide a brief description and any relevant links &lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="7" LastEditorUserId="78" LastEditDate="2010-08-19T21:59:29.793" LastActivityDate="2020-02-10T13:30:31.563" Title="Major unsolved problems in theoretical computer science?" Tags="&lt;big-list&gt;&lt;open-problem&gt;" AnswerCount="60" CommentCount="10" FavoriteCount="229" CommunityOwnedDate="2010-08-17T17:25:20.040" ContentLicense="CC BY-SA 2.5" />
  <row Id="175" PostTypeId="1" AcceptedAnswerId="190" CreationDate="2010-08-17T17:16:59.023" Score="27" ViewCount="1350" Body="&lt;p&gt;&lt;a href=&quot;http://qwiki.stanford.edu/wiki/Complexity_Zoo%3aSymbols#parityl&quot;&gt;Parity-L&lt;/a&gt; is the set of languages recognized by a non-deterministic Turing machine which can only distinguish between an even number or odd number of &quot;acceptance&quot; paths (rather than a zero or non-zero number of acceptance paths), and which is further restricted to work in logarithmic space. Solving a linear system of equations over &amp;#8484;&lt;sub&gt;2&lt;/sub&gt; is a complete problem for Parity-L, and so Parity-L is contained in P.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What other complexity class relations would be known, if Parity-L and P were equal?&lt;/p&gt;&#xA;" OwnerUserId="248" LastEditorUserId="109" LastEditDate="2010-09-24T16:53:13.423" LastActivityDate="2013-02-12T17:51:24.240" Title="What are the consequences of Parity-L = P?" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;conditional-results&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="8" ContentLicense="CC BY-SA 2.5" />
  <row Id="176" PostTypeId="2" ParentId="174" CreationDate="2010-08-17T17:17:51.360" Score="75" Body="&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Bounded-error_probabilistic_polynomial&quot;&gt;P = BPP?&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="168" LastEditorUserId="-1" LastEditDate="2012-01-30T09:44:58.910" LastActivityDate="2012-01-30T09:44:58.910" CommentCount="3" CommunityOwnedDate="2010-08-26T19:00:59.530" ContentLicense="CC BY-SA 3.0" />
  <row Id="177" PostTypeId="2" ParentId="64" CreationDate="2010-08-17T17:21:13.977" Score="14" Body="&lt;p&gt;The existence of problems in DTIME(2^O(n)) which require exponential-size circuits to compute (which is the assumption in IW) seems plausible since otherwise we would have non-uniformity giving a speedup on EVERY computational problem -- which goes completely against the current thinking that does not see a &quot;too significant&quot; gap between uniform and non-uniform complexity for &quot;normal&quot; problems.  This thinking comes from the fact that there are very few examples where a &quot;non-uniform&quot; algorithm is known that is significantly better than the known uniform one (again except for derandomization).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another piece of &quot;evidence&quot; is that relative to a &lt;em&gt;random&lt;/em&gt; oracle we do have P=BPP.&lt;/p&gt;&#xA;" OwnerUserId="42" LastEditorUserId="42" LastEditDate="2010-08-17T18:58:51.980" LastActivityDate="2010-08-17T18:58:51.980" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="178" PostTypeId="1" AcceptedAnswerId="187" CreationDate="2010-08-17T17:30:51.980" Score="25" ViewCount="986" Body="&lt;p&gt;The sign rank of a matrix A with +1,-1 entries is the least rank (over the reals) of a matrix B which has the same sign pattern as A (i.e., $A_{ij}B_{ij}&gt;0$ for all $i,j$). This notion is important in communication complexity and learning theory.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is: Are there any known (subexponential time) algorithms that approximate the sign-rank of a matrix to within a factor $o(n)$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(I am aware of Forster's lower bound on the sign rank in terms of spectral norm, but this does not yield an approximation ratio better than $\Omega(n)$ in general.)&lt;/p&gt;&#xA;" OwnerUserId="68" LastEditorUserId="1800" LastEditDate="2011-02-14T08:12:54.570" LastActivityDate="2015-11-17T12:15:55.280" Title="Approximating the sign rank of a matrix" Tags="&lt;lg.learning&gt;&lt;open-problem&gt;&lt;communication-complexity&gt;&lt;matrices&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="179" PostTypeId="2" ParentId="174" CreationDate="2010-08-17T17:34:36.903" Score="33" Body="&lt;ol&gt;&#xA;&lt;li&gt; Isomorphism Conjecture.  (Are all NP-complete problems the &quot;same&quot; problem?)&lt;/li&gt;&#xA;&lt;li&gt; Can cryptography be based upon an NP-complete problem?&lt;/li&gt;&#xA;&#xA;&lt;br&gt;and, a little further away from the mainstream:&lt;br&gt;&lt;br&gt;&#xA;&#xA;&lt;li&gt; What is the size of NP within EXP?&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;(Informally, if you have all problems in EXP on a table, and you pick one up uniformly at random, what is the probability that the problem you chose is also in NP?  This question has been formalized by the notion of resource-bounded measure.  It is known that P has measure zero within EXP, i.e., the problem you picked up from the table is almost surely not in P.)&lt;/p&gt;&#xA;" OwnerUserId="30" LastEditorUserId="108" LastEditDate="2010-08-18T15:08:42.873" LastActivityDate="2010-08-18T15:08:42.873" CommentCount="7" CommunityOwnedDate="2010-08-17T17:34:36.903" ContentLicense="CC BY-SA 2.5" />
  <row Id="181" PostTypeId="2" ParentId="174" CreationDate="2010-08-17T17:43:26.000" Score="145" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;Can multiplication of $n$ by $n$ matrices be done in $O(n^2)$ operations?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The exponent of the best known upper bound even has a special symbol, $\omega$. Currently $\omega$ is approximately 2.376, by the &lt;a href=&quot;http://en.wikipedia.org/wiki/Coppersmith%E2%80%93Winograd_algorithm&quot;&gt;Coppersmith-Winograd algorithm&lt;/a&gt;.  A nice overview &lt;strike&gt;of the state of the art&lt;/strike&gt; is Sara Robinson, &lt;a href=&quot;http://www.siam.org/news/news.php?id=174&quot;&gt;&lt;em&gt;Toward an Optimal Algorithm for Matrix Multiplication&lt;/em&gt;&lt;/a&gt;, SIAM News, 38(9), 2005.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Update: Andrew Stothers (in his 2010 &lt;a href=&quot;http://hdl.handle.net/1842/4734&quot;&gt;thesis&lt;/a&gt;) showed that $\omega &amp;lt; 2.3737$, which was improved by Virginia Vassilevska Williams (in a July 2014 &lt;a href=&quot;http://www.cs.berkeley.edu/~virgi/matrixmult-f.pdf&quot;&gt;preprint&lt;/a&gt;) to $\omega &amp;lt; 2.372873$.  These bounds were both obtained by a careful analysis of the basic Coppersmith-Winograd technique.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Further Update&lt;/strong&gt; (Jan 30, 2014): François Le Gall has proved that $\omega &amp;lt; 2.3728639$ in a paper published in ISSAC 2014 (&lt;a href=&quot;http://arxiv.org/abs/1401.7714v1&quot;&gt;arXiv preprint&lt;/a&gt;). &lt;/p&gt;&#xA;" OwnerUserId="109" LastEditorUserId="976" LastEditDate="2015-02-04T07:56:53.217" LastActivityDate="2015-02-04T07:56:53.217" CommentCount="8" CommunityOwnedDate="2010-08-17T17:43:26.000" ContentLicense="CC BY-SA 3.0" />
  <row Id="182" PostTypeId="1" CreationDate="2010-08-17T17:48:56.910" Score="37" ViewCount="1518" Body="&lt;p&gt;I'm interested in the parameterized complexity of what I'll call the d-Dimensional Hitting Set problem: given a range space (i.e. a set system / hypergraph) S = (X,R) having VC-dimension at most d and a positive integer k, does X contain a subset of size k that hits every range in R?  The parameterized version of the problem is parameterized by k.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For what values of d is the d-Dimensional Hitting Set problem&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;in FPT?&lt;/li&gt;&#xA;&lt;li&gt;in W[1]?&lt;/li&gt;&#xA;&lt;li&gt;W[1]-hard?&lt;/li&gt;&#xA;&lt;li&gt;W[2]-hard?&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;What I know can be summarized as follows:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;1-Dimensional Hitting Set is in P and is therefore in FPT.  If S has dimension 1 then it is not difficult to show that either there is a hitting set of size 2 or the incidence matrix of S is totally balanced.  In either case we can find a minimum hitting set in polynomial time.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;4-Dimensional Hitting Set is W[1]-hard.  Dom, Fellows, and Rosamond &lt;a href=&quot;http://theinf1.informatik.uni-jena.de/publications/DFR09_s.pdf&quot;&gt;[PDF]&lt;/a&gt; proved W[1]-hardness for the problem of stabbing axis-parallel rectangles in R^2 with axis-parallel lines.  This can be formulated as Hitting Set in a range space of VC-dimension 4.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;If no restriction is placed on d then we have the standard Hitting Set problem which is W[2]-complete and NP-complete.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Langerman and Morin &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.152.8053&quot;&gt;[citeseer link]&lt;/a&gt; give FPT algorithms for Set Cover in restricted dimension, though their bounded dimensionality model is not the same as the model defined by bounded VC-dimension. Their model does not seem to include, for example, the problem of hitting halfspaces with points, though the prototype problem for their model is equivalent to hitting hyperplanes with points.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="196" LastEditorUserId="80" LastEditDate="2010-10-12T04:39:32.310" LastActivityDate="2015-12-03T08:36:54.100" Title="Parameterized complexity of Hitting Set in finite VC-dimension" Tags="&lt;cc.complexity-theory&gt;&lt;cg.comp-geom&gt;&lt;set-cover&gt;&lt;parameterized-complexity&gt;&lt;vc-dimension&gt;" AnswerCount="3" CommentCount="1" FavoriteCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="183" PostTypeId="2" ParentId="174" CreationDate="2010-08-17T17:49:50.870" Score="56" Body="&lt;p&gt;Is the &lt;a href=&quot;https://secure.wikimedia.org/wikipedia/en/wiki/Unique_games_conjecture&quot;&gt;unique games conjecture&lt;/a&gt; true?&lt;br&gt;&#xA;And: Given that there are &lt;a href=&quot;http://www.cs.princeton.edu/~dsteurer/subexpug.pdf&quot;&gt;sub-exponential time approximation algorithms for Unique Games&lt;/a&gt;, where does the problem ultimately rest in terms of the complexity landscape?&lt;/p&gt;&#xA;" OwnerUserId="108" LastEditorUserId="71" LastEditDate="2010-08-17T23:32:40.167" LastActivityDate="2010-08-17T23:32:40.167" CommentCount="4" CommunityOwnedDate="2010-08-17T17:49:50.870" ContentLicense="CC BY-SA 2.5" />
  <row Id="184" PostTypeId="1" AcceptedAnswerId="188" CreationDate="2010-08-17T17:51:24.970" Score="30" ViewCount="5249" Body="&lt;p&gt;I'm trying to wrap my head around what the real differences between the Actor Model of concurrency and Communicating Sequential Processes (CSP) model of concurrency.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;So far the best that I have been able to come up with is that the Actor Model allows the number and layout of nodes to change while CSP has a fixed structure of nodes.&lt;/p&gt;&#xA;" OwnerUserId="69" LastActivityDate="2013-08-01T08:00:32.143" Title="What's the difference between the Actor Model of Concurrency and Communicating Sequential Processes" Tags="&lt;concurrency&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="17" ContentLicense="CC BY-SA 2.5" />
  <row Id="185" PostTypeId="2" ParentId="175" CreationDate="2010-08-17T17:53:13.923" Score="14" Body="&lt;p&gt;Well, evaluating Clifford group quantum circuits is complete under log space reductions for parity-L (See Aaronson and Gottesman, Physical Review A 70:052328, 2004). Now, let's use some tricks from measurement based quantum computation:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Evaluating clifford group circuits is in QNC^1. This is simply because there is no partial time ordering on measurements, and correction operations are simply calculated by parity of some subset of measurement results.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This would seem to imply that L^{QNC^1} contains P.&lt;/p&gt;&#xA;" OwnerUserId="204" LastActivityDate="2010-08-17T17:53:13.923" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="186" PostTypeId="2" ParentId="170" CreationDate="2010-08-17T17:54:38.787" Score="19" Body="&lt;p&gt;[I'll answer the question as stated in the title, leaving the litany of other questions about GCT for other threads.] Proving the conjectures arising in GCT seems like it will crucially use the fact that the functions under consideration (determinant and permanent, and other related polynomials for P/poly and NP) are characterized by their symmetries.  This necessity is not a formal result, but an intuition expressed by several experts.  (Basically that in the absence of characterization by symmetries, understanding the algebraic geometry and representation theory that arises is far harder.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This should bypass Razborov-Rudich because very few functions are characterized by their symmetries (bypassing the largeness condition in the definition of natural proofs).  Again, I have not seen a proof of this, but it is an intuition I have heard expressed by several experts.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, over the complex numbers, it's not clear to me that there's an analog of Razborov-Rudich.  Although most of GCT currently focuses on the complex numbers, there are analogs in the finite characteristic (promised in the forthcoming paper GCT VIII).  In finite characteristic, one might actually be able to prove a statement of the form &quot;Very few functions are characterized by their symmetries.&quot;&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;[In response to Ross Snider's comment, here's an explanation of characterization by symmetries.]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First, an explanation-by-example.  For the example, define an auxiliary function $q$.  If $A$ is a permutation matrix, then $q(A)=1$ and if $A$ is diagonal, then $q(A)=det(A)$ (product of the diagonal entries).  Now, suppose $p(X)$ is a homogeneous degree $n$ polynomial in $n^2$ variables (that we think of as the entires of an $n \times n$ matrix $X$).  If $p$ has the following symmetries:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$p(X) = p(X^t)$ (transpose)&lt;/li&gt;&#xA;&lt;li&gt;$p(AXB) = p(X)$ for all pairs of matrices $(A,B)$ such that $A$ and $B$ are each either permutation matrices or diagonal matrices and $q(A)q(B) = 1$&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;then $p(X)$ is a constant multiple of $perm(X)$ for all matrices $X$.  Hence we say the permanent is characterized by its symmetries.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More generally, if we have a (homogeneous) polynomial $f(x_1, ..., x_m)$ in $m$ variables, then $GL_m$ (the group of all invertible $m \times m$ matrices) acts on $f$ by $(Af)(x_1,...,x_m) = f(A^{-1}(x_1),...,A^{-1}(x_{m}))$ for $A \in GL_m$ (where we are taking the variables $x_1,...,x_m$ as a basis for the $m$-dimensional vector space on which $GL_m$ naturally acts).  The stabilizer of $f$ in $GL_m$ is the subgroup $\text{Stab}(f) = \{ A \in GL_m : Af = f\}$.  We say $f$ is characterized by its symmetries if the following holds: for any homogeneous polynomial $f'$ in $m$ variables of the same degree as $f$, if $Af' = f'$ for all $A \in \text{Stab}(f)$, then $f'$ is a constant multiple of $f$.&lt;/p&gt;&#xA;" OwnerUserId="129" LastEditorUserId="129" LastEditDate="2010-08-30T16:15:32.600" LastActivityDate="2010-08-30T16:15:32.600" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="187" PostTypeId="2" ParentId="178" CreationDate="2010-08-17T18:10:04.980" Score="17" Body="&lt;p&gt;I believe this is an open question.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Lee and Schraibman in &lt;a href=&quot;http://www.research.rutgers.edu/~troyjlee/approx_rank.pdf&quot;&gt;&quot;An approximation algorithm for approximation rank&quot;&lt;/a&gt; show that the &lt;i&gt;approximation rank&lt;/i&gt; can be approximated to a constant factor by a polynomial time algorithm.  To do so, they relate a semidefinite programming quantity $\gamma_2^\alpha$ to the approximation rank, where the $\alpha$ is some finite parameter greater than 1.  Taking $\alpha$ to the limit of infinity yields the sign-rank but their result does not give anything in this setting.&lt;/p&gt;&#xA;" OwnerUserId="15" LastEditorUserId="15" LastEditDate="2010-08-17T18:20:48.827" LastActivityDate="2010-08-17T18:20:48.827" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="188" PostTypeId="2" ParentId="184" CreationDate="2010-08-17T18:13:34.927" Score="21" Body="&lt;p&gt;I believe one core difference is that in CSP, processes synchronize when messages are received (i.e. a message cannot be sent from one process unless another process is in a receiving mode), while the Actor model is inherently asynchronous (i.e. messages are immediately sent to other processes' address, irrespective of whether they're actively waiting on a message or not).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There should be another answer that is more well-developed, however.&lt;/p&gt;&#xA;" OwnerUserId="108" LastActivityDate="2010-08-17T18:13:34.927" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="189" PostTypeId="1" CreationDate="2010-08-17T18:22:03.583" Score="372" ViewCount="110863" Body="&lt;p&gt;Paul Erdos talked about the &quot;Book&quot; where God keeps the most elegant proof of each mathematical theorem. This even inspired a book (which I believe is now in its 4th edition): &lt;a href=&quot;http://en.wikipedia.org/wiki/Proofs_from_THE_BOOK&quot;&gt;Proofs from the Book&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If God had a similar book for algorithms, what algorithm(s) do you think would be a candidate(s)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If possible, please also supply a clickable reference and the key insight(s) which make it work.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Only one algorithm per answer, please. &lt;/p&gt;&#xA;" OwnerUserId="126" LastEditorUserId="1800" LastEditDate="2011-02-12T05:57:04.653" LastActivityDate="2019-01-05T10:30:48.807" Title="Algorithms from the Book." Tags="&lt;ds.algorithms&gt;&lt;soft-question&gt;&lt;ds.data-structures&gt;&lt;big-list&gt;" AnswerCount="92" CommentCount="10" FavoriteCount="527" CommunityOwnedDate="2010-08-17T18:22:03.583" ContentLicense="CC BY-SA 2.5" />
  <row Id="190" PostTypeId="2" ParentId="175" CreationDate="2010-08-17T18:33:04.137" Score="28" Body="&lt;p&gt;parity-$L$ is in &lt;a href=&quot;http://en.wikipedia.org/wiki/NC_%28complexity%29&quot;&gt;$NC^2$&lt;/a&gt; and parity-$L=P$ would mean that $P$ can be simulated in parallel $\log^2$ time or in $\log^2$ space (since $NC^2$ is in $DSPACE(log^2 n)$)&lt;/p&gt;&#xA;" OwnerUserId="42" LastEditorUserId="1037" LastEditDate="2013-02-12T17:51:24.240" LastActivityDate="2013-02-12T17:51:24.240" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="191" PostTypeId="1" AcceptedAnswerId="369" CreationDate="2010-08-17T18:42:38.457" Score="29" ViewCount="1994" Body="&lt;p&gt;Consider the &lt;strong&gt;minimum set cover&lt;/strong&gt; problem with the following restrictions: each set contains at most $k$ elements and each element of the universe occurs in at most $f$ sets.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Example: the case $k = 4$ and $f = 2$ is equivalent to the minimum vertex cover problem in graphs with maximum degree 4.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Let $a(k,f) &gt; 1$ be the largest value such that finding an $a(k,f)$-approximation of the minimum set cover problem with parameters $k$ and $f$ is NP-hard.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Example: $a(4,2) \ge 1.0128$ (&lt;a href=&quot;http://dx.doi.org/10.1007/3-540-48523-6_17&quot;&gt;Berman &amp;amp; Karpinski 1999&lt;/a&gt;).&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question:&lt;/strong&gt; Do we have a reference that summarises the strongest known lower bounds on $a(k,f)$? In particular, I'm interested in concrete values in the case that both $k$ and $f$ are small but $f &gt; 2$.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Restricted versions of the set cover problem are often convenient in reductions; typically there is some freedom in choosing the values of $k$ and $f$, and further information on $a(k,f)$ would help to choose the right values that provide the strongest hardness results. References &lt;a href=&quot;http://www.nada.kth.se/~viggo/wwwcompendium/node10.html&quot;&gt;here&lt;/a&gt;, &lt;a href=&quot;http://www.nada.kth.se/~viggo/wwwcompendium/node11.html&quot;&gt;here&lt;/a&gt;, and &lt;a href=&quot;http://www.nada.kth.se/~viggo/wwwcompendium/node146.html&quot;&gt;here&lt;/a&gt; provide a starting point, but the information is somewhat outdated and fragmentary. I was wondering if there is a more complete and up-to-date source?&lt;/p&gt;&#xA;" OwnerUserId="74" LastEditorUserId="74" LastEditDate="2010-08-25T21:46:45.920" LastActivityDate="2010-12-22T02:48:06.327" Title="Bounded-cardinality bounded-frequency set cover: hardness of approximation" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;approximation-algorithms&gt;&lt;set-cover&gt;&lt;np-hardness&gt;" AnswerCount="4" CommentCount="2" FavoriteCount="8" ContentLicense="CC BY-SA 2.5" />
  <row Id="192" PostTypeId="2" ParentId="189" CreationDate="2010-08-17T19:05:38.253" Score="121" Body="&lt;p&gt;&lt;strong&gt;Union-find&lt;/strong&gt; is a beautiful problem whose best algorithm/datastructure (&lt;strong&gt;Disjoint Set Forest&lt;/strong&gt;) is based on a spaghetti stack. While very simple and intuitive enough to explain to an intelligent child, it took several years to get a tight bound on its runtime. Ultimately, its behavior was discovered to be related to the inverse Ackermann Function, a function whose discovery marked a shift in perspective about computation (and was in fact included in Hilbert's &lt;i&gt;On the Infinite&lt;/i&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Wikipedia provides a good introduction to &lt;a href=&quot;http://en.wikipedia.org/wiki/Disjoint-set_data_structure&quot;&gt;Disjoint Set Forests&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="3624" LastEditorUserId="1140" LastEditDate="2010-09-15T08:37:58.823" LastActivityDate="2010-09-15T08:37:58.823" CommentCount="0" CommunityOwnedDate="2010-08-17T19:05:38.253" ContentLicense="CC BY-SA 2.5" />
  <row Id="193" PostTypeId="2" ParentId="153" CreationDate="2010-08-17T19:15:20.683" Score="5" Body="&lt;p&gt;This is a nice question.  The power of the statistical query model is precisely the ability to prove unconditional lower bounds for learning with SQ -- for example, parity is not learnable with a polynomial number statistical queries.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am not aware of results of the form you ask, but perhaps we are missing something obvious...&lt;/p&gt;&#xA;" OwnerUserId="123" LastActivityDate="2010-08-17T19:15:20.683" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="194" PostTypeId="1" AcceptedAnswerId="4823" CreationDate="2010-08-17T19:25:06.527" Score="16" ViewCount="366" Body="&lt;p&gt;For a language &lt;i&gt;L ⊆ Σ^*&lt;/i&gt;, define the &lt;i&gt;syntactic congruence&lt;/i&gt; &lt;i&gt;≡&lt;/i&gt; of &lt;i&gt;L&lt;/i&gt; as the least congruence on &lt;i&gt;Σ^*&lt;/i&gt; that saturates &lt;i&gt;L&lt;/i&gt;, i.e. :&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;i&gt;u ≡ v ⇔ (∀ x, y)[xuy ∈ L ↔ xvy ∈ L].&lt;/i&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now define the &lt;i&gt;Nerode equivalence&lt;/i&gt; as the following right congruence :&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;i&gt;u ∼ v ⇔ (∀ x)[ux ∈ L ↔ vx ∈ L].&lt;/i&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let &lt;i&gt;[u]&lt;/i&gt; be the equivalence class of &lt;i&gt;u&lt;/i&gt; with respect to &lt;i&gt;≡&lt;/i&gt; and &lt;i&gt;〈u〉&lt;/i&gt; with respect to &lt;i&gt;∼&lt;/i&gt;. &#xA;Now define &lt;i&gt;i(n)&lt;/i&gt; to be the number of different &lt;i&gt;[u]&lt;/i&gt;  for &lt;i&gt;u&lt;/i&gt; of size &lt;i&gt;n&lt;/i&gt;, and define &lt;i&gt;j(n)&lt;/i&gt; in a similar fashion for &lt;i&gt;∼&lt;/i&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now the question is, how do the two functions relate ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For instance, a standard theorem (Kleene-Schützenberger, I believe) says that &lt;i&gt;i(n)&lt;/i&gt; is bounded by a constant whenever &lt;i&gt;j(n)&lt;/i&gt; is, and reciprocally.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;b&gt;Question:&lt;/b&gt; Is there any other result in this trend?  What if one of them is polynomial, for instance?&lt;/p&gt;&#xA;" OwnerUserId="88" LastActivityDate="2011-02-09T15:01:34.700" Title="Compared growth of the number of syntactic classes and Nerode classes." Tags="&lt;automata-theory&gt;&lt;fl.formal-languages&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="195" PostTypeId="2" ParentId="189" CreationDate="2010-08-17T20:06:22.883" Score="53" Body="&lt;p&gt;The &lt;strong&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Miller%E2%80%93Rabin_primality_test&quot;&gt;Miller-Rabin primality test&lt;/a&gt;&lt;/strong&gt; (and similar tests) should be in The Book.  The idea is to take advantage of properties of primes (ie using Fermat's little theorem) to probabilistically look for a witness to the number not being prime.  If no witness is found after enough random tests, the number is classified as prime.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On that note, the &lt;strong&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/AKS_primality_test&quot;&gt;AKS primality test&lt;/a&gt;&lt;/strong&gt; that showed PRIMES is in P should certainly be in The Book!&lt;/p&gt;&#xA;" OwnerUserId="123" LastEditorUserId="123" LastEditDate="2010-08-18T16:19:02.033" LastActivityDate="2010-08-18T16:19:02.033" CommentCount="0" CommunityOwnedDate="2010-08-17T20:06:22.883" ContentLicense="CC BY-SA 2.5" />
  <row Id="196" PostTypeId="2" ParentId="174" CreationDate="2010-08-17T20:10:24.293" Score="23" Body="&lt;p&gt;Sensitivity versus block sensitivity&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Boolean sensitivity is interesting because block sensitivity, a close relative, is polynomially related to several other important and interesting complexity measures (like the certificate complexity of a boolean function). If sensitivity is always related to block sensitivity in a polynomial way, we have an extremely simple characteristic of boolean function that's related to so many others.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One might read Rubinstein's &quot;Sensitivity vs. block sensitivity of Boolean functions&quot; or Kenyon and Kutin's &quot;Sensitivity, block sensitivity, and l-block sensitivity of boolean functions.&quot;&lt;/p&gt;&#xA;" OwnerUserId="3624" LastActivityDate="2010-08-17T20:10:24.293" CommentCount="2" CommunityOwnedDate="2010-08-17T20:10:24.293" ContentLicense="CC BY-SA 2.5" />
  <row Id="197" PostTypeId="2" ParentId="174" CreationDate="2010-08-17T20:11:21.250" Score="45" Body="&lt;p&gt;NP versus co-NP&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The NP versus co-NP question is interesting because NP ≠ co-NP implies P ≠ NP (as P is closed under complement).  It also relates to &quot;duality&quot;: separation between finding/verifying examples and finding/verifying counterexamples. In fact, proving that a question is in both NP and co-NP is our first good evidence that a problem that seems to be outside of P is also likely not NP-Complete.&lt;/p&gt;&#xA;" OwnerUserId="3624" LastEditorUserId="109" LastEditDate="2010-08-18T00:03:36.320" LastActivityDate="2010-08-18T00:03:36.320" CommentCount="1" CommunityOwnedDate="2010-08-17T20:11:21.250" ContentLicense="CC BY-SA 2.5" />
  <row Id="198" PostTypeId="2" ParentId="174" CreationDate="2010-08-17T20:12:00.407" Score="56" Body="&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Permanent&quot;&gt;Permanent&lt;/a&gt; versus &lt;a href=&quot;http://en.wikipedia.org/wiki/Determinant&quot;&gt;Determinant&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The permanent versus determinant question is interesting because of two facts. First, the permanent of a matrix counts the number of perfect matchings in a bipartite graph. Therefore the permanent of such a matrix is #P-Complete. At the same time, the definition of the permanent is very close that of the determinant, ultimately different only because of a simple sign change. Determinant calculations are well known to be in P. Studying the different between the permanent and the determinant, and how many determinant calculations are required to compute the permanent speak about P versus #P.&lt;/p&gt;&#xA;" OwnerUserId="3624" LastEditorUserId="186" LastEditDate="2012-03-15T23:06:24.270" LastActivityDate="2012-03-15T23:06:24.270" CommentCount="5" CommunityOwnedDate="2010-08-17T20:12:00.407" ContentLicense="CC BY-SA 3.0" />
  <row Id="199" PostTypeId="2" ParentId="189" CreationDate="2010-08-17T20:18:59.267" Score="32" Body="&lt;p&gt;An example as fundamental and &quot;trivial&quot; as Euclid's proof of infinitely many primes:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;2-approximation for MAX-CUT&lt;/strong&gt; -- Independently for each vertex, assign it to one of the two partitions with equal probability.&lt;/p&gt;&#xA;" OwnerUserId="15" LastEditorUserId="74" LastEditDate="2010-08-18T16:12:40.010" LastActivityDate="2010-08-18T16:12:40.010" CommentCount="1" CommunityOwnedDate="2010-08-17T20:18:59.267" ContentLicense="CC BY-SA 2.5" />
  <row Id="200" PostTypeId="1" AcceptedAnswerId="253" CreationDate="2010-08-17T20:22:15.623" Score="27" ViewCount="1883" Body="&lt;p&gt;Is it possible to translate a boolean formula B into an equivalent conjunction of Horn clauses? The Wikipedia article about &lt;a href=&quot;http://en.wikipedia.org/wiki/Horn-satisfiability&quot;&gt;HornSAT&lt;/a&gt; seems to imply that it is, but I have not been able to chase down any reference. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that I do not mean &quot;in polynomial time&quot;, but rather &quot;at all&quot;.&lt;/p&gt;&#xA;" OwnerUserId="161" LastEditorUserId="161" LastEditDate="2010-08-17T20:27:44.690" LastActivityDate="2014-11-20T06:35:59.017" Title="Translating SAT to HornSAT" Tags="&lt;reference-request&gt;&lt;lo.logic&gt;&lt;sat&gt;" AnswerCount="3" CommentCount="3" FavoriteCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="201" PostTypeId="2" ParentId="174" CreationDate="2010-08-17T20:28:21.443" Score="49" Body="&lt;p&gt;The &lt;a href=&quot;http://en.wikipedia.org/wiki/Splay_tree#Dynamic_optimality_conjecture&quot;&gt;dynamic optimality conjecture for splay trees.&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Or more generally: Is &lt;em&gt;any&lt;/em&gt; online dynamic binary search tree O(1)-competitive?&lt;/p&gt;&#xA;" OwnerUserId="111" LastActivityDate="2010-08-17T20:28:21.443" CommentCount="2" CommunityOwnedDate="2010-08-17T20:28:21.443" ContentLicense="CC BY-SA 2.5" />
  <row Id="202" PostTypeId="2" ParentId="189" CreationDate="2010-08-17T20:30:49.580" Score="34" Body="&lt;p&gt;The linear time algorithm for constructing suffix arrays is truly beautiful, although it didn't really receive the recognition it deserved &lt;a href=&quot;http://www.cs.helsinki.fi/u/tpkarkka/publications/icalp03.pdf&quot;&gt;http://www.cs.helsinki.fi/u/tpkarkka/publications/icalp03.pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="49" LastActivityDate="2010-08-17T20:30:49.580" CommentCount="3" CommunityOwnedDate="2010-08-17T20:30:49.580" ContentLicense="CC BY-SA 2.5" />
  <row Id="203" PostTypeId="2" ParentId="174" CreationDate="2010-08-17T20:40:07.563" Score="21" Body="&lt;p&gt;Does there exist any hypothesis class that is NP-Hard to (improperly) PAC learn?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This has some possible implications for complexity, and I think the best progress on this question is here: &lt;a href=&quot;http://www.cs.princeton.edu/~dxiao/docs/ABX08.pdf&quot;&gt;http://www.cs.princeton.edu/~dxiao/docs/ABX08.pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="123" LastEditorUserId="123" LastEditDate="2010-10-15T22:31:19.953" LastActivityDate="2010-10-15T22:31:19.953" CommentCount="0" CommunityOwnedDate="2010-08-17T20:40:07.563" ContentLicense="CC BY-SA 2.5" />
  <row Id="204" PostTypeId="2" ParentId="189" CreationDate="2010-08-17T20:49:28.757" Score="112" Body="&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Knuth%E2%80%93Morris%E2%80%93Pratt_algorithm&quot;&gt;Knuth-Morris-Pratt&lt;/a&gt;&lt;/strong&gt; string matching.  The slickest eight lines of code you'll ever see.&lt;/p&gt;&#xA;" OwnerUserId="111" LastEditorUserId="74" LastEditDate="2010-08-18T16:01:11.407" LastActivityDate="2010-08-18T16:01:11.407" CommentCount="5" CommunityOwnedDate="2010-08-17T20:49:28.757" ContentLicense="CC BY-SA 2.5" />
  <row Id="205" PostTypeId="2" ParentId="174" CreationDate="2010-08-17T20:51:29.843" Score="66" Body="&lt;p&gt;The &lt;strong&gt;exponential-time hypothesis (ETH)&lt;/strong&gt; asserts that solving SAT requires exponential, 2&lt;sup&gt;Ω(n)&lt;/sup&gt; time.  ETH implies many things, for instance that SAT is not in P, so ETH implies P ≠ NP.  See Impagliazzo, Paturi, Zane, &lt;a href=&quot;http://dx.doi.org/10.1006/jcss.2001.1774&quot;&gt;&lt;em&gt;Which Problems Have Strongly Exponential Complexity?&lt;/em&gt;&lt;/a&gt;, JCSS 63, 512–530, 2001.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;ETH is widely believed, but likely to be difficult to prove, as it implies many other complexity class separations.&lt;/p&gt;&#xA;" OwnerUserId="111" LastEditorUserId="109" LastEditDate="2010-08-18T00:13:02.773" LastActivityDate="2010-08-18T00:13:02.773" CommentCount="5" CommunityOwnedDate="2010-08-17T20:51:29.843" ContentLicense="CC BY-SA 2.5" />
  <row Id="206" PostTypeId="2" ParentId="189" CreationDate="2010-08-17T20:54:46.920" Score="97" Body="&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Selection_algorithm#Linear_general_selection_algorithm_-_Median_of_Medians_algorithm&quot;&gt;The algorithm of Blum, Floyd, Pratt, Rivest, and Tarjan&lt;/a&gt; to &lt;strong&gt;find the &lt;i&gt;k&lt;/i&gt;th element of an unsorted list&lt;/strong&gt; in linear time is a beautiful algorithm, and only works because the numbers are &lt;em&gt;just right&lt;/em&gt; to fit in the Master Theorem.  It goes as follows:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Sort each sequence of five elements.&lt;/li&gt;&#xA;&lt;li&gt;Pick out the median in each.&lt;/li&gt;&#xA;&lt;li&gt;Recur to find the median of this list.&lt;/li&gt;&#xA;&lt;li&gt;Pivot on the median of medians (as in Quicksort)&lt;/li&gt;&#xA;&lt;li&gt;Select the proper side of the list and position in that list, and recur.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="59" LastEditorUserId="16478" LastEditDate="2013-06-16T15:00:31.670" LastActivityDate="2013-06-16T15:00:31.670" CommentCount="4" CommunityOwnedDate="2010-08-17T20:54:46.920" ContentLicense="CC BY-SA 3.0" />
  <row Id="207" PostTypeId="2" ParentId="174" CreationDate="2010-08-17T21:00:38.793" Score="35" Body="&lt;p&gt;BQP = P?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also: NP contained in BQP?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I know this violated the rules by having two questions in the answer, but when taken with the P vs NP question, they are not necessarily independent questions.&lt;/p&gt;&#xA;" OwnerUserId="204" LastActivityDate="2010-08-17T21:00:38.793" CommentCount="0" CommunityOwnedDate="2010-08-17T21:00:38.793" ContentLicense="CC BY-SA 2.5" />
  <row Id="208" PostTypeId="2" ParentId="113" CreationDate="2010-08-17T21:11:09.330" Score="4" Body="&lt;p&gt;I find induction quite intuitive and am offended by your implication.  But what charging argument?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Wlog assume the line defining the zone is horizontal (else rotate) and that the lines are in general position (else perturb and make the zone more complicated).  Remove one of the other n lines.  Classify the edges of the resulting zone as left or right boundaries, depending on whether the zone is to their right or left, respectively.  (Some edges are both left and right boundaries, but they're counted twice in the complexity bound.)  By the inductive hypothesis, there are at most 3n-3 left boundaries.  (The base case n=0 is trivial.)  Reinserting the deleted line adds at most 3 left boundaries (one on the line itself, and two from splitting older left boundaries).  Thus, the total number of left boundaries is at most 3n.  Symmetrically, the number of right boundaries is at most 3n, so the total complexity of the zone is at most 6n.&lt;/p&gt;&#xA;" OwnerUserId="111" LastActivityDate="2010-08-17T21:11:09.330" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="209" PostTypeId="1" AcceptedAnswerId="217" CreationDate="2010-08-17T21:17:37.320" Score="18" ViewCount="700" Body="&lt;p&gt;&lt;a href=&quot;http://qwiki.stanford.edu/wiki/Complexity_Zoo%3aSymbols#parityp&quot;&gt;Parity-P&lt;/a&gt; is the set of languages recognized by a non-deterministic Turing machine which can only distinguish between an even number or odd number of &quot;acceptance&quot; paths (rather than a zero or non-zero number of acceptance paths). Thus Parity-P is basically &lt;a href=&quot;http://qwiki.stanford.edu/wiki/Complexity_Zoo%3aP#pp&quot;&gt;PP&lt;/a&gt;'s stunted younger sibling: while PP counts whether or not the number of accepting paths of an NP-machine is a majority or not (&lt;em&gt;i.e.&lt;/em&gt; the most-significant bit of that quantity), Parity-P indicates the least-significant bit of the number of accepting paths.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Like NP, Parity-P contains &lt;a href=&quot;http://qwiki.stanford.edu/wiki/Complexity_Zoo%3aU#up&quot;&gt;UP&lt;/a&gt; (which contains P, &quot;probably&quot; strictly so); and like NP, Parity-P is contained in PSPACE.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question.&lt;/strong&gt; What are the best known joint upper and lower bounds for NP and Parity-P?&lt;/p&gt;&#xA;" OwnerUserId="248" LastEditorUserId="248" LastEditDate="2010-08-18T15:03:06.910" LastActivityDate="2010-08-18T19:17:56.733" Title="Best known joint containments for/by NP and Parity-P?" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;np&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="210" PostTypeId="2" ParentId="82" CreationDate="2010-08-17T21:19:19.503" Score="10" Body="&lt;p&gt;The results in &quot;&lt;a href=&quot;http://www.siam.org/proceedings/soda/2009/SODA09_055_demainee.pdf&quot;&gt;The Geometry of Binary Search Trees&lt;/a&gt;&quot; by Demaine, Harmon, Iacono, Kane, and Patraşcu were developed with the help of software to test various charging schemes and construct optimal asses for small access sequences.  (And yes, &quot;asses&quot; is the correct term.)&lt;/p&gt;&#xA;" OwnerUserId="111" LastActivityDate="2010-08-17T21:19:19.503" CommentCount="1" CommunityOwnedDate="2010-08-17T21:19:19.503" ContentLicense="CC BY-SA 2.5" />
  <row Id="211" PostTypeId="2" ParentId="152" CreationDate="2010-08-17T21:19:52.080" Score="14" Body="&lt;p&gt;Dick Lipton and colleagues recently worked on this problem, and Lipton blogged about it here:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://rjlipton.wordpress.com/2009/08/17/on-the-intersection-of-finite-automata/&quot;&gt;http://rjlipton.wordpress.com/2009/08/17/on-the-intersection-of-finite-automata/&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It appears that doing better than O(n^2) is open even for the very-special case of determining if the DFA intersection defines the empty language.&lt;br&gt;&#xA;The paper gives complexity consequences that would result from a much-improved algorithm handling not just 2 DFAs in the intersection, but larger numbers as well.&lt;/p&gt;&#xA;" OwnerUserId="223" LastActivityDate="2010-08-17T21:19:52.080" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="212" PostTypeId="2" ParentId="189" CreationDate="2010-08-17T21:21:31.377" Score="12" Body="&lt;p&gt;Avi Wigderson in Part II of &lt;a href=&quot;http://hulk03.princeton.edu:8080/WebMedia/lectures/&quot;&gt;these lectures &lt;/a&gt; gives the following examples of algorithmic gems, with pseudocode:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Shortest path (Dijkstra's algorithm)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Pattern matching (Knuth-Morris-Pratt's algorithm)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Fast Fourier Transform (Cooley-Tukey's algorithm)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Error Correction (Berlekamp-Massey's algorithm)&lt;/p&gt;&#xA;" OwnerUserId="259" LastEditorUserId="259" LastEditDate="2010-08-17T22:07:06.050" LastActivityDate="2010-08-17T22:07:06.050" CommentCount="3" CommunityOwnedDate="2010-08-17T21:21:31.377" ContentLicense="CC BY-SA 2.5" />
  <row Id="213" PostTypeId="2" ParentId="189" CreationDate="2010-08-17T21:35:37.263" Score="74" Body="&lt;p&gt;Might seem somewhat trivial (especially in comparison with the other answers), but I think that &lt;strong&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Quicksort&quot;&gt;Quicksort&lt;/a&gt;&lt;/strong&gt; is really elegant. I remember that when I first saw it I thought it was really complicated, but now it seems all too simple.&lt;/p&gt;&#xA;" OwnerUserId="90" LastEditorUserId="90" LastEditDate="2010-08-19T15:45:14.253" LastActivityDate="2010-08-19T15:45:14.253" CommentCount="7" CommunityOwnedDate="2010-08-17T21:35:37.263" ContentLicense="CC BY-SA 2.5" />
  <row Id="214" PostTypeId="2" ParentId="149" CreationDate="2010-08-17T21:37:24.423" Score="19" Body="&lt;p&gt;Although I am biased, I think it's fair to say that various ideas from TCS have contributed to progress on the inverse conjecture for the Gowers norm, see e.g. the &lt;a href=&quot;http://arxiv.org/abs/0711.3191&quot;&gt;paper by Green and Tao&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="259" LastActivityDate="2010-08-17T21:37:24.423" CommentCount="1" CommunityOwnedDate="2010-08-17T21:37:24.423" ContentLicense="CC BY-SA 2.5" />
  <row Id="215" PostTypeId="2" ParentId="189" CreationDate="2010-08-17T21:52:31.363" Score="26" Body="&lt;p&gt;Algorithms for &lt;strong&gt;linear programming&lt;/strong&gt;: Simplex, Ellipsoid, and interior point methods.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Linear_programming#Algorithms&quot;&gt;http://en.wikipedia.org/wiki/Linear_programming#Algorithms&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="74" LastEditDate="2010-08-18T16:13:11.803" LastActivityDate="2010-08-18T16:13:11.803" CommentCount="3" CommunityOwnedDate="2010-08-17T21:52:31.363" ContentLicense="CC BY-SA 2.5" />
  <row Id="216" PostTypeId="2" ParentId="174" CreationDate="2010-08-17T22:02:00.670" Score="95" Body="&lt;h2&gt;Complexity of Factoring&lt;/h2&gt;&#xA;&lt;p&gt;Is &lt;a href=&quot;http://en.wikipedia.org/wiki/Integer_factorization&quot; rel=&quot;noreferrer&quot;&gt;Factoring&lt;/a&gt; in &lt;span class=&quot;math-container&quot;&gt;$\mathsf{P}$&lt;/span&gt;?&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/questions/5096/consequences-of-factoring-being-in-p&quot;&gt;Consequences of Factoring being in P?&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/questions/8000/are-the-problems-primes-factoring-known-to-be-p-hard&quot;&gt;Are the problems PRIMES, FACTORING known to be P-hard?&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/questions/167/what-are-the-consequences-of-factoring-being-np-complete&quot;&gt;What are the consequences of factoring being NP-complete?&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/questions/4765/p-with-integer-factorization-oracle&quot;&gt;P with integer factorization oracle&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://mathoverflow.net/questions/79366/evidence-for-integer-factorization-is-in-p&quot;&gt;Evidence for integer factorization is in P&lt;/a&gt; (on &lt;a href=&quot;https://mathoverflow.net/&quot;&gt;MO&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="186" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2012-01-28T23:08:48.817" CommentCount="1" CommunityOwnedDate="2010-08-17T22:02:00.670" ContentLicense="CC BY-SA 3.0" />
  <row Id="217" PostTypeId="2" ParentId="209" CreationDate="2010-08-17T22:02:22.450" Score="17" Body="&lt;p&gt;By Valiant-Vazirani, NP is contained in BP dot Parity-P (which obviously contains Parity-P).&#xA;Moreover, Toda showed that PH is in BP dot Parity-P which is in P^(#P) (which is in PSPACE).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For lower bounds, I think both classes contain a class known as FewP which contains UP and is like NP but you ask that strings in the language have at most polynomially many accepting paths.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[Update: corrected typo BPP instead of BP]&lt;/p&gt;&#xA;" OwnerUserId="259" LastEditorUserId="259" LastEditDate="2010-08-18T19:17:56.733" LastActivityDate="2010-08-18T19:17:56.733" CommentCount="7" ContentLicense="CC BY-SA 2.5" />
  <row Id="218" PostTypeId="2" ParentId="174" CreationDate="2010-08-17T22:03:03.540" Score="127" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;Is Graph Isomorphism in P?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The complexity of Graph Isomorphism (GI) has been an open question for several decades.  Stephen Cook mentioned it in his &lt;a href=&quot;http://4mhz.de/cook.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;1971 paper on NP-completeness of SAT&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Determining whether two graphs are isomorphic can usually be done quickly, for instance by software such as &lt;a href=&quot;http://cs.anu.edu.au/~bdm/nauty/&quot; rel=&quot;nofollow noreferrer&quot;&gt;&lt;code&gt;nauty&lt;/code&gt;&lt;/a&gt; and &lt;a href=&quot;http://vlsicad.eecs.umich.edu/BK/SAUCY/&quot; rel=&quot;nofollow noreferrer&quot;&gt;&lt;code&gt;saucy&lt;/code&gt;&lt;/a&gt;.  On the other hand, Miyazaki constructed &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.80.7911&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;classes of instances&lt;/a&gt; for which &lt;code&gt;nauty&lt;/code&gt; provably requires exponential time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Read and Corneil reviewed the many attempts to tackle the complexity of GI up to that point: &lt;a href=&quot;http://dx.doi.org/10.1002/jgt.3190010410&quot; rel=&quot;nofollow noreferrer&quot;&gt;&lt;em&gt;The Graph Isomorphism Disease&lt;/em&gt;&lt;/a&gt;, Journal of Graph Theory &lt;strong&gt;1&lt;/strong&gt;, 339–363, 1977.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;GI is not known to be in co-NP, but there is a simple randomized protocol for Graph Non-Isomorphism (GNI).  So GI (= co-GNI) is therefore believed to be &quot;close to&quot; NP &lt;span class=&quot;math-container&quot;&gt;${}\cap{}$&lt;/span&gt; co-NP.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, if GI is NP-complete, then the Polynomial Hierarchy collapses.  So GI is unlikely to be NP-complete.  (Boppana, Håstad, Zachos, &lt;a href=&quot;http://dx.doi.org/10.1016/0020-0190(87)90232-8&quot; rel=&quot;nofollow noreferrer&quot;&gt;&lt;em&gt;Does co-NP Have Short Interactive Proofs?&lt;/em&gt;&lt;/a&gt;, IPL &lt;strong&gt;25&lt;/strong&gt;, 127–132, 1987)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Shiva Kintali has a &lt;a href=&quot;http://kintali.wordpress.com/2010/09/02/hardness-of-graph-isomorphism/&quot; rel=&quot;nofollow noreferrer&quot;&gt;nice discussion&lt;/a&gt; of the complexity of GI at his blog.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Laszlo Babai proved that &lt;a href=&quot;http://arxiv.org/abs/1512.03547&quot; rel=&quot;nofollow noreferrer&quot;&gt;Graph Isomorphism is in quasipolynomial time&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="53480" LastEditDate="2020-01-22T21:32:18.027" LastActivityDate="2020-01-22T21:32:18.027" CommentCount="4" CommunityOwnedDate="2010-08-17T22:03:03.540" ContentLicense="CC BY-SA 4.0" />
  <row Id="219" PostTypeId="2" ParentId="189" CreationDate="2010-08-17T23:16:59.803" Score="43" Body="&lt;p&gt;Gentry's Fully Homomorphic Encryption Scheme (either over ideal lattices or over the integers) is terribly beautiful. It allows a third party to perform arbitrary computations on encrypted data without access to a private key.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The encryption scheme is due to several keen observations.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;To get a fully homomorphic encryption scheme, one needs only to have a scheme that is homomorphic over addition and multiplication. This is because addition and multiplication (mod 2) are enough to get AND, OR and NOT gates (and therefore Turing Completeness).&lt;/li&gt;&#xA;&lt;li&gt;That if such a scheme were to be had, but due to some limitations could only be executed for circuits of some finite depth, then one can &lt;i&gt;homomorphically&lt;/i&gt; evaluate the decryption and reencyption procedure to reset the circuit depth limitation without sacrificing key privacy.&lt;/li&gt;&#xA;&lt;li&gt;That by &quot;squashing&quot; the depth of the circuit version of the decryption function for the scheme, one might enable a scheme originally limited to finite, shallow circuits an arbitrary number of computations.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;In his thesis, Craig Gentry solved a long standing (and gorgeous) open problem in cryptography. The fact that a fully homomorphic scheme does exist demands that we recognize that there is some inherent structure to computability that we may have otherwise ignored.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://crypto.stanford.edu/craig/craig-thesis.pdf&quot;&gt;http://crypto.stanford.edu/craig/craig-thesis.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://eprint.iacr.org/2009/616.pdf&quot;&gt;http://eprint.iacr.org/2009/616.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://portal.acm.org/citation.cfm?id=1666420.1666445&quot;&gt;http://portal.acm.org/citation.cfm?id=1666420.1666445&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="3624" LastActivityDate="2010-08-17T23:16:59.803" CommentCount="0" CommunityOwnedDate="2010-08-17T23:16:59.803" ContentLicense="CC BY-SA 2.5" />
  <row Id="220" PostTypeId="1" AcceptedAnswerId="240" CreationDate="2010-08-17T23:47:54.760" Score="18" ViewCount="714" Body="&lt;p&gt;Define the &lt;em&gt;Gaussian complexity&lt;/em&gt; of an $n \times n$ matrix to be the minimal number of elementary row and column operations required to bring the matrix into upper-triangular form. This is a quantity between $0$ and $n^2$ (via Gaussian elemination). The notion makes sense over any field.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This problem certainly seems very basic and it must have been studied. Surprisingly, I don't know of any references. So, I'll be happy with any reference there is. But, of course, the main question is:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Are there any non-trivial explicit lower bounds known?&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By nontrivial I mean superlinear. Just to be clear: Over finite fields a counting argument shows that a random matrix has complexity order n^2 (a similar claim should be true over infinite fields). Hence, what we're looking for is an &lt;em&gt;explicit&lt;/em&gt; family of matrices, e.g., Hadmard matrices. This is the same as with Boolean circuit complexity where we know that a random function has high complexity, but we're looking for explicit functions with this property.&lt;/p&gt;&#xA;" OwnerUserId="68" LastEditorUserId="68" LastEditDate="2010-08-18T03:51:28.233" LastActivityDate="2010-08-18T21:36:04.007" Title="Lower bounds on Gaussian complexity" Tags="&lt;cc.complexity-theory&gt;&lt;lower-bounds&gt;&lt;matrices&gt;" AnswerCount="2" CommentCount="10" FavoriteCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="221" PostTypeId="1" AcceptedAnswerId="225" CreationDate="2010-08-18T00:57:37.787" Score="11" ViewCount="260" Body="&lt;p&gt;I'm especially interested in their use in model checking applications.  I have Open, Closed and Mixed Networks of Queues with Different Classes of Customers by Baskett et al.  Any other suggestions for reading material?  Thanks.&lt;/p&gt;&#xA;" OwnerUserId="30" LastEditorUserId="873" LastEditDate="2011-01-10T10:19:41.757" LastActivityDate="2011-01-10T10:19:41.757" Title="Can someone suggest a recent survey on product form Markov chains?" Tags="&lt;reference-request&gt;&lt;markov-chains&gt;&lt;queueing-theory&gt;&lt;model-checking&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="222" PostTypeId="1" AcceptedAnswerId="230" CreationDate="2010-08-18T01:31:23.843" Score="8" ViewCount="693" Body="&lt;p&gt;&lt;strong&gt;Does there exist a generalized algorithm for finding the inverse function of an arbitrary bijective function?&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;In order for this algorithm to be&#xA;useful, it must eventually halt once&#xA;the correct answer is found.&lt;/li&gt;&#xA;&lt;li&gt;Beyond the requirement that it must find the solution eventually, there is &lt;strong&gt;no&lt;/strong&gt; time constraints on the time it takes to find or run the inverse function (with that in mind, something better than bruteforce guess-and-check, would be more interesting). &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;For example, if such a generalized algorithm existed it could solve for a decompression algorithm for a lossless compression algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I really liked Evgenij Thorstensen assumptions as they summed up my question fairly well.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Assumptions&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Computable bijective functions over a fixed alphabet (say {0, 1})&lt;/li&gt;&#xA;&lt;li&gt;Represented by a deterministic Turing machine (DTM) that computes it&lt;/li&gt;&#xA;&lt;li&gt;The proposed algorithm would be able to solve for a DTM that would invert the original bijective function output.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Another shot at explaining it:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given: Bijective function &lt;code&gt;F&lt;/code&gt; that maps X from domain A onto Y from domain B.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Proposed algorithm should be able to solve for a Bijective function &lt;code&gt;G&lt;/code&gt; that maps Y from domain B onto X from domain A, such that &lt;code&gt;G(F(X))=X&lt;/code&gt; and &lt;code&gt;F * G = I&lt;/code&gt; where &lt;code&gt;I&lt;/code&gt; is the identity function.&lt;/p&gt;&#xA;" OwnerUserId="44" LastEditorUserId="44" LastEditDate="2010-08-18T03:51:00.277" LastActivityDate="2010-08-18T03:51:00.277" Title="Algorithm for inverting a bijective function." Tags="&lt;ds.algorithms&gt;" AnswerCount="5" CommentCount="11" FavoriteCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="223" PostTypeId="2" ParentId="174" CreationDate="2010-08-18T01:34:55.237" Score="23" Body="&lt;p&gt;Is BQP in PH (polynomial hierachy)?                &lt;/p&gt;&#xA;" OwnerUserId="24" LastActivityDate="2010-08-18T01:34:55.237" CommentCount="0" CommunityOwnedDate="2010-08-18T01:34:55.237" ContentLicense="CC BY-SA 2.5" />
  <row Id="224" PostTypeId="2" ParentId="222" CreationDate="2010-08-18T01:51:32.467" Score="4" Body="&lt;p&gt;Over a completely unstructured domain, the best you can do is brute force search, which takes time linear in the size of the domain.  However, if the domain you're talking about is n-bit strings, that's exponential in n.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Note that, if there were an efficient fully general function inverter, then inverting the integer multiplication function would give you an efficient factoring algorithm.)&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2010-08-18T01:51:32.467" CommentCount="6" ContentLicense="CC BY-SA 2.5" />
  <row Id="225" PostTypeId="2" ParentId="221" CreationDate="2010-08-18T01:54:53.537" Score="7" Body="&lt;p&gt;There is &lt;a href=&quot;http://www.stat.berkeley.edu/~aldous/RWG/book.html&quot; rel=&quot;noreferrer&quot;&gt;this&lt;/a&gt; unpublished book by Aldous and Fill, two experts in the field. You'll find walks on product of chains there.&lt;/p&gt;&#xA;" OwnerUserId="135" LastActivityDate="2010-08-18T01:54:53.537" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="227" PostTypeId="1" CreationDate="2010-08-18T02:04:43.467" Score="20" ViewCount="429" Body="&lt;p&gt;[Note: I believe this question in no way hinges on the correctness or incorrectness of Deolalikar's paper.]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On Scott Aaronson's blog &lt;a href=&quot;http://scottaaronson.com/blog/&quot;&gt;Shtetl Optimized&lt;/a&gt;, in the discussion about Deolalikar's recent attempt on P vs NP, Leonid Gurvits made the following &lt;a href=&quot;http://scottaaronson.com/blog/?p=456#comment-44844&quot;&gt;comment&lt;/a&gt;:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;I tried to understand/reformulate the approach, and here&#xA;  is my, perhaps very minimalist, attempt: the discrete probabilistic distributions in the paper can be viewed&#xA;  as tensors, or very special multilinear polynomials.&#xA;  The assumptions “P=NP” somehow gives a (polynomial?)&#xA;  upper bound on the tensor rank. And finally, using&#xA;  known probabilistic results, he gets nonmatching&#xA;  (exponential?) lower bound on the same rank. If I am right, then this approah is a very clever, in a good sense&#xA;  elementary, way to push the previous algebraic-geometric approaches.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Despite the suspected/known flaws in Deolalikar's proof, I'm curious:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;In what way can the distributions discussed in Deolalikar's paper be considered as tensors, and how do the statements of his results (regardless of their correctness) translate into statements about tensor-rank?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="129" LastEditorUserId="129" LastEditDate="2010-08-18T20:54:03.007" LastActivityDate="2010-08-21T00:52:34.430" Title="Explain Gurvits's tensor-rank interpretation of Deolalikar's paper" Tags="&lt;cc.complexity-theory&gt;&lt;lower-bounds&gt;&lt;tensor-rank&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="228" PostTypeId="2" ParentId="222" CreationDate="2010-08-18T02:29:49.897" Score="3" Body="&lt;p&gt;As @arnab pointed out in the comments, one-way permutations are a cryptographic primitive. If you want to invert arbitrary functions efficiently, you will have cryptographic barriers to overcome (in addition to factoring).&lt;/p&gt;&#xA;" OwnerUserId="123" LastActivityDate="2010-08-18T02:29:49.897" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="229" PostTypeId="2" ParentId="11" CreationDate="2010-08-18T02:42:13.423" Score="8" Body="&lt;p&gt;I second what Alexandre said, that the Turing machine provided the original theoretical basis for imperative programming.  To the extent that the organization of imperative programming languages reflect the machine architecture, I think that the work of &lt;a href=&quot;http://en.wikipedia.org/wiki/Von_Neumann_architecture&quot;&gt;John Von Neumann&lt;/a&gt; would also be a key part of the their theoretical foundations.&lt;/p&gt;&#xA;" OwnerUserId="184" LastActivityDate="2010-08-18T02:42:13.423" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="230" PostTypeId="2" ParentId="222" CreationDate="2010-08-18T02:47:24.173" Score="7" Body="&lt;p&gt;There have been papers on automatically converting algorithms for bijective functions into algorithms for the inverse function; &lt;a href=&quot;http://www.ics.uci.edu/~eppstein/pubs/Epp-IJCAI-85.pdf&quot; rel=&quot;noreferrer&quot;&gt;my own first conference paper&lt;/a&gt; was one such. But the class of algorithms that can be inverted in this way is severely limited, as the other answers already suggest.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2010-08-18T02:47:24.173" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="231" PostTypeId="2" ParentId="222" CreationDate="2010-08-18T02:50:40.000" Score="2" Body="&lt;p&gt;Here's a handwavy algorithm under some strong assumptions.&lt;/p&gt;&#xA;&#xA;&lt;h3&gt;Assumptions&lt;/h3&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Computable bijective functions over a fixed alphabet (say {0, 1})&lt;/li&gt;&#xA;&lt;li&gt;Represented by a deterministic Turing machine (DTM) that computes it and &lt;strong&gt;not something &quot;more&quot;&lt;/strong&gt; (see below)&lt;/li&gt;&#xA;&lt;li&gt;If the input DTM doesn't compute a bijective function, we don't care what happens&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;With these assumptions, we can look at the input DTM, and invert all transitions (halting states become start states, reading becomes writing and vica versa, we read from the end, left is right, etc). Since the TM is deterministic and the function computed is bijective, the result is also a TM, and computes the inverse. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that this won't work for factoring, because multiplication is not bijective. Multiplication of primes &lt;strong&gt;is&lt;/strong&gt;, if we disregard order, but a TM that multiplies numbers does not compute &quot;only&quot; the bijective function we want, it computes &quot;too much&quot;, hence my second assumption (yes, it is rather strong). This ties nicely in with the comments about representation.&lt;/p&gt;&#xA;" OwnerUserId="161" LastActivityDate="2010-08-18T02:50:40.000" CommentCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="232" PostTypeId="1" AcceptedAnswerId="234" CreationDate="2010-08-18T03:25:11.647" Score="15" ViewCount="1293" Body="&lt;p&gt;Consider &lt;span class=&quot;math-container&quot;&gt;$X = \sum_i \lambda_i Y_i^2$&lt;/span&gt;, where &lt;span class=&quot;math-container&quot;&gt;$\lambda_i$&lt;/span&gt; &amp;gt; 0 and &lt;span class=&quot;math-container&quot;&gt;$Y_i$&lt;/span&gt; is distributed as a standard normal. What kind of concentration bounds can one prove on &lt;span class=&quot;math-container&quot;&gt;$X$&lt;/span&gt;, as a function of the (fixed) coefficients &lt;span class=&quot;math-container&quot;&gt;$\lambda_i$&lt;/span&gt;?&lt;/p&gt;&#xA;&lt;p&gt;If all the &lt;span class=&quot;math-container&quot;&gt;$\lambda_i$&lt;/span&gt; are equal then this is a Chernoff bound. The only other result I am aware of is a lemma from a paper of Arora and Kannan (&amp;quot;Learning mixtures of arbitrary Gaussians&amp;quot;, STOC'01, Lemma 13), which proves concentration of the form &lt;span class=&quot;math-container&quot;&gt;$\Pr[X &amp;lt; E[X] - t] &amp;lt; \exp(-t^2/(4 \sum_i \lambda_i^2)$&lt;/span&gt;, i.e., the bound depends on the sum of the squares of the coefficients.&lt;/p&gt;&#xA;&lt;p&gt;The proof of their lemma is analogous to the usual proof of the Chernoff bound. Are there other &amp;quot;canonical&amp;quot; such bounds, or a general theory of which functions of the &lt;span class=&quot;math-container&quot;&gt;$\lambda_i$&lt;/span&gt;'s are such that their largeness ensures good exponential concentration (here, the function was simply the sum of the squares)? Maybe some general measure of entropy?&lt;/p&gt;&#xA;&lt;p&gt;A more standard reference for the Arora-Kannan lemma would also be great, if it exists.&lt;/p&gt;&#xA;" OwnerUserId="166" LastEditorUserId="57913" LastEditDate="2020-06-29T08:10:41.210" LastActivityDate="2020-06-29T08:10:41.210" Title="Chernoff bound for weighted sums" Tags="&lt;chernoff-bound&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="7" ContentLicense="CC BY-SA 4.0" />
  <row Id="233" PostTypeId="2" ParentId="222" CreationDate="2010-08-18T03:36:05.520" Score="3" Body="&lt;p&gt;As many on this page have already pointed out the solution in general could be intractable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;All is not lost if you are interested in invertible programming. An alternative to finding the inverse for a given function, is to construct your function from the composition of invertible functions, in which case finding the inverse is trivial. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;An example of this approach (using Haskell) is explained in this paper&#xA;&lt;a href=&quot;http://www.cs.ru.nl/A.vanWeelden/bi-arrows/&quot; rel=&quot;nofollow&quot;&gt;http://www.cs.ru.nl/A.vanWeelden/bi-arrows/&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As it so happens I have used Biarrow's to help me write only one direction of a compression algorithm and get the other (decompression) for free (free might be the wrong word, they are awkward to use, because of the lack of language support).&lt;/p&gt;&#xA;" OwnerUserId="64" LastActivityDate="2010-08-18T03:36:05.520" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="234" PostTypeId="2" ParentId="232" CreationDate="2010-08-18T03:44:48.050" Score="14" Body="&lt;p&gt;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0521884276&quot; rel=&quot;noreferrer&quot;&gt;The book by Dubhashi and Panconesi&lt;/a&gt; collects together many such bounds, more numerous than can be listed here. If you find that hard to access immediately, there's an &lt;a href=&quot;http://www.internetmathematics.org/volumes/3/1/ChungLu.pdf&quot; rel=&quot;noreferrer&quot;&gt;online  survey of Chernoff-like bounds&lt;/a&gt; by Chung and Lu&lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2010-08-18T03:44:48.050" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="235" PostTypeId="1" AcceptedAnswerId="361" CreationDate="2010-08-18T03:50:44.350" Score="24" ViewCount="548" Body="&lt;p&gt;Is there a natural parallel analog to red-black trees with similar or even not-terribly-worse properties for updates while being reasonably work-efficient ? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;More generally, what's the best we can do for parallel search with updates ? &lt;/p&gt;&#xA;" OwnerUserId="80" LastEditorUserId="43" LastEditDate="2010-10-04T00:53:38.890" LastActivityDate="2010-10-04T00:53:38.890" Title="Parallel Dynamic Search" Tags="&lt;ds.algorithms&gt;&lt;ds.data-structures&gt;&lt;dc.parallel-comp&gt;&lt;concurrency&gt;&lt;dynamic-algorithms&gt;" AnswerCount="2" CommentCount="4" FavoriteCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="237" PostTypeId="2" ParentId="79" CreationDate="2010-08-18T04:09:07.930" Score="109" Body="&lt;p&gt;Here's a collection of some of the responses of problems between P and NPC:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Integer_factorization&quot; rel=&quot;nofollow noreferrer&quot;&gt;Factoring&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Isomorphism problems: Graph Isomorphism [not NPC unless &lt;span class=&quot;math-container&quot;&gt;$\sum_2^p=\prod_2^p$&lt;/span&gt;] (via @Jeff Kinne), Graph Automorphism, Group Isomorphism, Automorphism, &lt;a href=&quot;http://dimacs.rutgers.edu/%7Ekayaln/pdf/ringAuto_journal.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Ring Isomorphism and Automorphism&lt;/a&gt; (via @Joshua Grochow)&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://portal.acm.org/citation.cfm?id=12143&quot; rel=&quot;nofollow noreferrer&quot;&gt;Computing the rotation distance&lt;/a&gt; between two binary trees or the flip distance between two triangulations of the same convex polygon (via @David Eppstein)&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://portal.acm.org/citation.cfm?id=98598&amp;amp;dl=GUIDE,&quot; rel=&quot;nofollow noreferrer&quot;&gt;The Turnpike Problem&lt;/a&gt; of reconstructing points on line from distances (via @Suresh Venkat)&lt;/li&gt;&#xA;&lt;li&gt;Problems arising from the &lt;a href=&quot;http://en.wikipedia.org/wiki/Unique_games_conjecture&quot; rel=&quot;nofollow noreferrer&quot;&gt;Unique Games Conjecture&lt;/a&gt; (via @Moritz)&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.rsa.com/rsalabs/node.asp?id=2193&quot; rel=&quot;nofollow noreferrer&quot;&gt;Discrete Log Problem&lt;/a&gt; and others related to cryptographic assumptions (via @Joe Fitzsimons)&lt;/li&gt;&#xA;&lt;li&gt;Determining winner in &lt;a href=&quot;http://kintali.wordpress.com/2010/06/06/np-intersect-conp/&quot; rel=&quot;nofollow noreferrer&quot;&gt;parity games&lt;/a&gt; (via @mashca)&lt;/li&gt;&#xA;&lt;li&gt;Determining who has the highest chance of winning a &lt;a href=&quot;http://kintali.wordpress.com/2010/06/06/np-intersect-conp/&quot; rel=&quot;nofollow noreferrer&quot;&gt;stochastic game&lt;/a&gt; (via @Peter Shor on MO)&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://blog.computationalcomplexity.org/2010/07/what-is-complexity-of-these-problems.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;Numbers in boxes&lt;/a&gt; problems (via @Joshua Grochow)&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/questions/79/problems-between-p-and-npc/460#460&quot;&gt;Agenda control for balanced single-elimination tournaments&lt;/a&gt; (via @virgi)&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/questions/79/problems-between-p-and-npc/1106#1106&quot;&gt;Knot triviality&lt;/a&gt; (via @JeffE)&lt;/li&gt;&#xA;&lt;li&gt;(Assuming NEXP≠EXP) padded versions of &lt;a href=&quot;http://qwiki.stanford.edu/wiki/Complexity_Zoo:N#nexp&quot; rel=&quot;nofollow noreferrer&quot;&gt;NEXP&lt;/a&gt;-complete problems (via @Joshua Grochow)&lt;/li&gt;&#xA;&lt;li&gt;Problems in &lt;a href=&quot;http://theory.stanford.edu/%7Emegiddo/pdf/papadimX.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;TFNP&lt;/a&gt; (via @Marcos Villagra)&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/questions/79/problems-between-p-and-npc/1739#1739&quot;&gt;Intersecting Monotone SAT&lt;/a&gt; (via @András Salamon)&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/questions/79/problems-between-p-and-npc/1745#1745&quot;&gt;Minimum Circuit Size Problem&lt;/a&gt; (via @Eric Allender)&lt;/li&gt;&#xA;&lt;li&gt;Deciding whether a given triangulated 3-manifold is a 3-sphere (via @Joe O'Rourke and @Peter Shor)&lt;/li&gt;&#xA;&lt;li&gt;The &lt;a href=&quot;https://cstheory.stackexchange.com/questions/3826/np-hardness-of-a-special-case-of-orthogonal-packing-problem/3827#3827&quot;&gt;Cutting Stock Problem&lt;/a&gt; with a constant number of object lengths (via @Suresh Venkat)&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/questions/79/problems-between-p-and-npc/3950#3950&quot;&gt;Monotone Self-Duality&lt;/a&gt; (via @Danu)&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://portal.acm.org/citation.cfm?id=668338&quot; rel=&quot;nofollow noreferrer&quot;&gt;Planar Minimum Bisection&lt;/a&gt; (via @turkistany)&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://garden.irmacs.sfu.ca/?q=op/theoretical_computer_science/subset_sums_equality&quot; rel=&quot;nofollow noreferrer&quot;&gt;Pigeonhole Subset Sum&lt;/a&gt; (via @user834)&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/questions/79/problems-between-p-and-npc/4010#4010&quot;&gt;Square Root Sums&lt;/a&gt; (via @JeffE)&lt;/li&gt;&#xA;&lt;li&gt;Deciding Whether a Graph Admits a &lt;a href=&quot;https://cstheory.stackexchange.com/questions/79/problems-between-p-and-npc/6384#6384&quot;&gt;Graceful Labeling&lt;/a&gt; (via @Oleksandr Bondarenko)&lt;/li&gt;&#xA;&lt;li&gt;Gap version of the &lt;a href=&quot;https://cstheory.stackexchange.com/questions/79/problems-between-p-and-npc/7806#7806&quot;&gt;closest vector in lattice&lt;/a&gt; problem GapCVP&lt;span class=&quot;math-container&quot;&gt;$(\sqrt{n})$&lt;/span&gt; (via @MCH)&lt;/li&gt;&#xA;&lt;li&gt;The &lt;a href=&quot;https://cstheory.stackexchange.com/questions/79/problems-between-p-and-npc/4331#4331&quot;&gt;linear divisibility&lt;/a&gt; problem [known to be &lt;span class=&quot;math-container&quot;&gt;$\gamma$&lt;/span&gt;-complete but not NPC] (via @Oleksandr Bondarenko)&lt;/li&gt;&#xA;&lt;li&gt;Finding the &lt;a href=&quot;http://en.wikipedia.org/wiki/VC_dimension&quot; rel=&quot;nofollow noreferrer&quot;&gt;VC dimension&lt;/a&gt; (via @Mohammad al Turkistany)&lt;/li&gt;&#xA;&lt;li&gt;Finding the &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/0304397588901314&quot; rel=&quot;nofollow noreferrer&quot;&gt;minimum dominating set in a tournament&lt;/a&gt; (via @Mohammad al Turkistany)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="123" LastEditorUserId="1800" LastEditDate="2020-08-14T14:44:51.400" LastActivityDate="2020-08-14T14:44:51.400" CommentCount="13" CommunityOwnedDate="2010-08-18T04:09:07.930" ContentLicense="CC BY-SA 4.0" />
  <row Id="238" PostTypeId="1" AcceptedAnswerId="262" CreationDate="2010-08-18T04:27:37.933" Score="41" ViewCount="4840" Body="&lt;p&gt;Are there any references (online or in book form) that organize and discuss TCS theorems by proof technique?  &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0716710455&quot;&gt;Garey and Johnson&lt;/a&gt; do this for the various kinds of widget constructions needed for NP-completeness proofs (particularly in chapter 3 of their book), but I'm wondering if there's anything that treats proof techniques in TCS more broadly.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;So for example, topics might include diagonalization, broken down further by the type of construction used; proofs by computation histories; tableau constructions; incompressibility arguments, etc.  I suppose I could just chop up a standard theory of computation text and rearrange the sections, but it would be great if there is something out there that also provides some additional commentary and shows where there are commonalities between the techniques being used.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Just to be clear, since any text is going to &lt;em&gt;use&lt;/em&gt; proofs, what I'm really interested in finding is a reference where the proof techniques themselves are the actual subject matter.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In addition to chapter 3 of Garey and Johnson, here's another partial example that just occurred to me: in &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0387339981&quot;&gt;Li and Vitanyi&lt;/a&gt;, in chapter 6 they discuss the incompressibility method and give examples of how to apply the technique.&lt;/p&gt;&#xA;" OwnerUserId="184" LastEditorUserId="873" LastEditDate="2011-01-24T09:43:09.747" LastActivityDate="2014-09-30T20:43:23.063" Title="References for TCS proof techniques" Tags="&lt;reference-request&gt;&lt;proof-techniques&gt;" AnswerCount="9" CommentCount="6" FavoriteCount="53" CommunityOwnedDate="2010-08-18T06:30:50.350" ContentLicense="CC BY-SA 2.5" />
  <row Id="239" PostTypeId="2" ParentId="82" CreationDate="2010-08-18T04:38:27.843" Score="13" Body="&lt;p&gt;You can check out Shalosh B. Ekhad's &lt;a href=&quot;http://www.math.rutgers.edu/~zeilberg/ekhad/papers.html&quot;&gt;homepage&lt;/a&gt;.  This computer has been publishing papers for a while (usually with coauthors).&lt;/p&gt;&#xA;" OwnerUserId="123" LastActivityDate="2010-08-18T04:38:27.843" CommentCount="0" CommunityOwnedDate="2010-08-18T04:38:27.843" ContentLicense="CC BY-SA 2.5" />
  <row Id="240" PostTypeId="2" ParentId="220" CreationDate="2010-08-18T04:40:38.810" Score="17" Body="&lt;p&gt;This appears to be a very hard problem, related to a more widely-studied one.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose we consider a square invertible matrix A, and define c(A) as the minimal number of elementary row operations needed to reduce A to the identity matrix.  This complexity measure is larger than the one Moritz suggests, so proving superlinear bounds for it can only be easier.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, row operations are &lt;em&gt;reversible&lt;/em&gt;.  It follows that c(A) can be equivalently defined as the minimum number of row operations needed to &lt;em&gt;produce&lt;/em&gt; A, starting from the identity matrix.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Notice that producing A in such a fashion gives rise to an arithmetic circuit to compute the map taking x to Ax.  The fanin of each gate is 2, and the number of non-input gates corresponds to the number of row operations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There isn't any obvious reduction in the reverse direction (from circuits to row-op sequences).  Still, we can characterize c(A) in terms of the arithmetic circuit complexity of Ax in a restricted circuit model: I claim that c(A) is equal to one-half the minimum number of edges in an arithmetic circuit for A, of fanin at most 2 and &lt;em&gt;width&lt;/em&gt; n, where we don't charge for edges leading into gates of fanin 1.&#xA;(I'm using the usual notion of circuit width here.)  This can be shown using the simple idea sketched before.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now here's the connection to well-studied problems: it's been a famous open problem for over 30 years to exhibit an explicit linear map Ax (over any finite field) which requires a superlinear number of gates in a fanin-2 circuit.  The classic reference is Valiant, &quot;Graph-theoretic arguments in low-level complexity&quot;, and a recent FTTCS survey by Lokam is also helpful.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In studying c(A), we are imposing an additional width restriction, but since our restriction is so weak (width n) I don't anticipate the problem becoming much easier.  But hey--I'd love to be proved wrong.&lt;/p&gt;&#xA;" OwnerUserId="223" LastActivityDate="2010-08-18T04:40:38.810" CommentCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="242" PostTypeId="2" ParentId="189" CreationDate="2010-08-18T05:02:41.227" Score="22" Body="&lt;p&gt;Marcus Hutter's &lt;a href=&quot;http://www.hutter1.net/ai/pfastprg.htm&quot;&gt;The Fastest and Shortest Algorithm for All Well-Defined Problems&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This kind of goes against the spirit of the other offerings in this list, since it is only of theoretical and not practical interest, but then again the title kind of says it all.  Perhaps it should be included as a cautionary tale for those who would look only at the asymptotic behavior of an algorithm.&lt;/p&gt;&#xA;" OwnerUserId="184" LastActivityDate="2010-08-18T05:02:41.227" CommentCount="0" CommunityOwnedDate="2010-08-18T05:02:41.227" ContentLicense="CC BY-SA 2.5" />
  <row Id="243" PostTypeId="2" ParentId="174" CreationDate="2010-08-18T05:03:43.283" Score="25" Body="&lt;p&gt;Is there a Quantum PCP theorem?&lt;/p&gt;&#xA;" OwnerUserId="206" LastActivityDate="2010-08-18T05:03:43.283" CommentCount="8" CommunityOwnedDate="2010-08-18T05:03:43.283" ContentLicense="CC BY-SA 2.5" />
  <row Id="244" PostTypeId="2" ParentId="174" CreationDate="2010-08-18T05:07:59.127" Score="47" Body="&lt;p&gt;A linear time deterministic algorithm for the &lt;a href=&quot;http://en.wikipedia.org/wiki/Minimum_spanning_tree&quot;&gt;minimum spanning tree&lt;/a&gt; problem. &lt;/p&gt;&#xA;" OwnerUserId="80" LastEditorUserId="1037" LastEditDate="2012-01-26T23:38:39.303" LastActivityDate="2012-01-26T23:38:39.303" CommentCount="0" CommunityOwnedDate="2010-08-18T05:07:59.127" ContentLicense="CC BY-SA 3.0" />
  <row Id="245" PostTypeId="2" ParentId="109" CreationDate="2010-08-18T05:48:01.510" Score="9" Body="&lt;p&gt;If the coefficient matrix is &lt;a href=&quot;https://secure.wikimedia.org/wikipedia/en/wiki/Unimodular_matrix#Totally_unimodular&quot;&gt;totally unimodular&lt;/a&gt;, then an efficient solution exists via ordinary linear programming.  This holds for any ILP, not just sparse ones -- though you're more likely to be able to exploit this property for a sparse ILP such as yours.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I suspect you may know this already, so let me try and give you a better answer.  Before thinking about the specifics too deeply, the answer to your concrete question is &quot;yes&quot;, a bound exists. The the intersection of n inequalities in m variables defines a polytope.  Because the coefficients are so well-behaved, we can work out an upper bound on the dimension of the coordinates of its vertices with a little arithmetic.  This gives you a very easy upper bound on the dimension of any integer point within the polytope, and thus on a solution to your integer program. Have you tried this already?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Your problem in particular has quite a bit of structure (I'm curious, where does it come from?) so I'm confident that we can be much more precise than this if we discuss it further.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, for the more general question about finding information on this topic.  This is the sort of problem that traditionally falls in the theory of linear and integer programming, a subset of mathematical programming.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's quite an active area of research, but much of the work takes place in operations research departments under the headings of &quot;optimization&quot; and &quot;mathematical programming&quot; instead of computer science.  There are many textbooks available covering the topic.  You might consider the one by &lt;a href=&quot;http://www.wiley.com/WileyCDA/WileyTitle/productCd-0471283665.html&quot;&gt;Wolsey&lt;/a&gt;, which we use at Berkeley.  Here is an underused list of &lt;a href=&quot;http://glossary.computing.society.informs.org/index.php?page=myths.html&quot;&gt;myths and counterexamples&lt;/a&gt; by Greenberg, including integer and linear programming, which may give you a sense of what things people consider in analyzing such problems.  Wolsey is dense, but a reasonably good place to start -- there are a bevy of techniques for analyzing ILPs and improving problem formulations to the point of efficiency.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let me add that if you do pursue the naive approach I suggest, by analyzing the geometry of the polytope, the terms to search for would concern bounding the size of the coordinates of the polytope's vertices. These terms come up more often in the mathematical literature about polytopes.&lt;/p&gt;&#xA;" OwnerUserId="71" LastEditorUserId="71" LastEditDate="2010-08-18T06:10:37.737" LastActivityDate="2010-08-18T06:10:37.737" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="246" PostTypeId="1" AcceptedAnswerId="266" CreationDate="2010-08-18T06:06:00.507" Score="16" ViewCount="428" Body="&lt;p&gt;The beta-eta-theory of the lambda-calculus is Post-complete.  Can additional rules be added to extend the beta-theory of the lambda-calculus to get confluent theories other than the beta-eta theory?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Postscript&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This question violated my own rule that questions should explain why the questioner cares.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It struck me one night, not long before this site went into private beta, that because extensionality and the principle of the excluded middle are related, the eta rule is some sort of extensionality rule, and there are intermediate logics between intuitionistic and classical logic, then it would be interesting if there was such a thing as &quot;intermediate eta&quot; theories.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If I has done so, it would have been obvious that Evgenij's answer raises an obvious problem in the way I'd formulated the question, rather than being what I was after.&lt;/p&gt;&#xA;" OwnerUserId="270" LastEditorUserId="270" LastEditDate="2010-09-02T09:35:13.400" LastActivityDate="2010-09-02T09:35:13.400" Title="Extensions of beta-theory of lambda calculus" Tags="&lt;lambda-calculus&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="247" PostTypeId="2" ParentId="7" CreationDate="2010-08-18T06:11:32.697" Score="10" Body="&lt;p&gt;I think one surprising fact is that in this model Savitch's theorem doesn't &quot;obviously&quot; relativize. That is, one can see that $PSPACE^P=EXPTIME$ and $NPSPACE^P=NEXPTIME$ in this model, and we don't currently know that $EXPTIME=NEXPTIME$ (and Savitch's theorem in this context does not seem to give it).  I'd be interested in whether this can be pushed to &quot;provably&quot; non-relativizing.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One can also observe that $NL^{NL}=NL^L=NP$ in this model.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, I think that this model is at least worth thinking about, with respect to issues of relativization in the space hierarchy theorem.  Also, in some sense, I want $L^A$ to make poly-sized queries to $A$.&lt;/p&gt;&#xA;" OwnerUserId="246" LastActivityDate="2010-08-18T06:11:32.697" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="248" PostTypeId="2" ParentId="174" CreationDate="2010-08-18T06:17:50.657" Score="49" Body="&lt;p&gt;Can we compute the &lt;a href=&quot;http://en.wikipedia.org/wiki/Fft&quot; rel=&quot;noreferrer&quot;&gt;FFT&lt;/a&gt; in much less than $O(n \log n)$ time?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the same (very) general vein, there are many questions of improving the run-times of many classical problems or algorithms: e.g., can &lt;a href=&quot;http://en.wikipedia.org/wiki/Floyd-Warshall_algorithm&quot; rel=&quot;noreferrer&quot;&gt;all-pairs-shortest-paths (APSP)&lt;/a&gt; be solved in $O(n^{3-\epsilon})$ time ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit: APSP runs in time $(\frac{n^3}{2^{\Omega(log n)^{1/2}}})$ &quot;where additions and&#xA;comparisons of reals are unit cost (but all other operations have typical logarithmic cost)&quot;: &lt;a href=&quot;http://arxiv.org/pdf/1312.6680v2.pdf&quot; rel=&quot;noreferrer&quot;&gt;http://arxiv.org/pdf/1312.6680v2.pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="152" LastEditorUserId="25556" LastEditDate="2014-11-03T02:21:52.027" LastActivityDate="2014-11-03T02:21:52.027" CommentCount="1" CommunityOwnedDate="2010-08-18T06:17:50.657" ContentLicense="CC BY-SA 3.0" />
  <row Id="249" PostTypeId="2" ParentId="174" CreationDate="2010-08-18T06:54:47.353" Score="29" Body="&lt;p&gt;What is the query complexity of testing triangle-freeness in dense graphs (i.e., distinguishing triangle-free graphs from those $\epsilon$-far from being triangle-free)? The known upper bound is a tower of exponentials in $1/\epsilon$, while the known lower bound is only mildly superpolynomial in $1/\epsilon$.  This is a pretty basic question in extremal graph theory/additive combinatorics that has been open for nearly 30 years.&lt;/p&gt;&#xA;" OwnerUserId="15" LastEditorUserId="15" LastEditDate="2010-08-18T07:17:00.653" LastActivityDate="2010-08-18T07:17:00.653" CommentCount="0" CommunityOwnedDate="2010-08-18T06:54:47.353" ContentLicense="CC BY-SA 2.5" />
  <row Id="250" PostTypeId="2" ParentId="189" CreationDate="2010-08-18T07:21:50.300" Score="21" Body="&lt;p&gt;I think we must include &lt;strong&gt;Schieber-Vishkin&lt;/strong&gt;'s, which answers &lt;strong&gt;lowest common ancestor&lt;/strong&gt; queries in constant time, preprocessing the forest in linear time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I like Knuth's exposition in Volume 4 Fascicle 1, and &lt;a href=&quot;http://stanford-online.stanford.edu/seminars/knuth/071203-knuth-300.asx&quot;&gt;his musing&lt;/a&gt;.&#xA;He said it took him two entire days to fully understand it, and I remember his words:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;I think it's quite beautiful, but&#xA;  amazingly it's got a bad press in the&#xA;  literature (..) It's based on&#xA;  mathematics that excites me.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="168" LastEditorUserId="74" LastEditDate="2010-08-18T16:14:47.747" LastActivityDate="2010-08-18T16:14:47.747" CommentCount="2" CommunityOwnedDate="2010-08-18T07:21:50.300" ContentLicense="CC BY-SA 2.5" />
  <row Id="251" PostTypeId="2" ParentId="174" CreationDate="2010-08-18T09:55:45.397" Score="62" Body="&lt;p&gt;Immerman and Vardi show that fixed-point logic captures PTIME on the class of &lt;em&gt;ordered&lt;/em&gt; structures. One of the biggest open problems in descriptive complexity theory is whether the dependency on the order can be removed:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there a logic that captures PTIME?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Put simply, a logic capturing PTIME is a programming language for graph problems that works directly on the graph structure and does not have access to the encoding of the vertices and edges, such that the following hold:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;any syntactically correct program models a polynomial-time computable graph problem and&lt;/li&gt;&#xA;&lt;li&gt;any polynomial-time computable graph problem can be modelled by a syntactically correct program.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;If there is no logic that captures PTIME, then $P \neq NP$ since NP is captured by existential second-order logic. A logic capturing PTIME would provide a possible attack to P vs NP.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See &lt;a href=&quot;http://rjlipton.wordpress.com/2010/04/05/graph-isomorphism-and-graph-minors/&quot;&gt;Lipton's blog&lt;/a&gt; for an informal discussion and &lt;em&gt;M. Grohe: &lt;a href=&quot;http://www-i7.informatik.rwth-aachen.de/~grohe/pub/gro08b.pdf&quot;&gt;The Quest for a Logic Capturing PTIME&lt;/a&gt;&lt;/em&gt; (LICS 2008) for a more technical survey.&lt;/p&gt;&#xA;" OwnerUserId="239" LastEditorUserId="109" LastEditDate="2014-01-31T17:33:32.783" LastActivityDate="2014-01-31T17:33:32.783" CommentCount="2" CommunityOwnedDate="2010-08-18T09:55:45.397" ContentLicense="CC BY-SA 3.0" />
  <row Id="252" PostTypeId="1" AcceptedAnswerId="272" CreationDate="2010-08-18T10:04:09.980" Score="10" ViewCount="245" Body="&lt;p&gt;Let $G= (V, E)$ be a non-regular connected graph whose degree is bounded. Suppose that each node contain a unique token.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I want to uniformly shuffle the tokens amongst the graph using only local swaps (i.e. exchange of the tokens between two adjacent nodes) ? Is there a lower bound known for this problem ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The only idea I had is to use a random walk result, then to see how much swaps I need to &quot;simulate&quot; the effect of random walks transporting tokens on the graph.&lt;/p&gt;&#xA;" OwnerUserId="76" LastEditorUserId="74" LastEditDate="2010-08-19T20:42:26.670" LastActivityDate="2010-08-19T20:42:26.670" Title="Shuffling of tokens on a graph using local swaps" Tags="&lt;ds.algorithms&gt;&lt;random-walks&gt;&lt;dc.distributed-comp&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="253" PostTypeId="2" ParentId="200" CreationDate="2010-08-18T10:46:55.463" Score="25" Body="&lt;p&gt;No.  Conjunctions of Horn clauses admit least Herbrand models, which disjunctions of positive literals don't.  Cf. &lt;a href=&quot;http://books.google.com/books/about/Foundations_of_logic_programming.html?id=P10ZAQAAIAAJ&quot;&gt;Lloyd, 1987, &lt;em&gt;Foundations of Logic Programming&lt;/em&gt;&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Least Herbrand models have the property that they are in the intersections of all satisfiers.  The Herbrand models for $(a \lor b)$ are $\{\{a\}, \{b\}, \{a,b\}\}$, which doesn't contain its intersection, so as arnab says, $(a \lor b)$ is an example of a formula which can't be expressed as a conjunction of Horn clauses.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Incorrect answer overwritten&lt;/em&gt;&lt;/p&gt;&#xA;" OwnerUserId="270" LastEditorUserId="186" LastEditDate="2011-11-07T20:08:04.943" LastActivityDate="2011-11-07T20:08:04.943" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="254" PostTypeId="2" ParentId="161" CreationDate="2010-08-18T11:05:11.473" Score="3" Body="&lt;p&gt;I want to remark that the answer is yes if you consider the input to be a clocked Turing machine, i.e., there is a clock that lets the Turing machine perform $p(n)$ steps and then accepts/rejects. Now checking whether the language decided by the machine is in NP is a syntactic property that boils down to deciding whether the machine is a well-formed nondeterministic Turing machine with a polynomial clock.&lt;/p&gt;&#xA;" OwnerUserId="239" LastActivityDate="2010-08-18T11:05:11.473" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="255" PostTypeId="2" ParentId="82" CreationDate="2010-08-18T11:06:17.977" Score="10" Body="&lt;p&gt;N. Shankar &lt;em&gt;verified&lt;/em&gt; (fully and mechanically) Godel's proof of the incompleteness theorem and the Church--Rosser theorem using the Boyer--Moore theorem prover. There is a &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0521585333&quot;&gt;book&lt;/a&gt; describing how it was done.&lt;/p&gt;&#xA;" OwnerUserId="236" LastActivityDate="2010-08-18T11:06:17.977" CommentCount="0" CommunityOwnedDate="2010-08-18T11:06:17.977" ContentLicense="CC BY-SA 2.5" />
  <row Id="256" PostTypeId="2" ParentId="11" CreationDate="2010-08-18T13:07:11.397" Score="27" Body="&lt;p&gt;In general, when mathematics is used to study some &lt;em&gt;X&lt;/em&gt;, one first needs a model of &lt;em&gt;X&lt;/em&gt;, and then develops a theory, a set of results about that model. I guess that theory may be said to be a &quot;theoretical basis&quot; for &lt;em&gt;X&lt;/em&gt;. Now set X=computation. There are &lt;em&gt;many&lt;/em&gt; models of computation, many involving &quot;state&quot;. Each model has its own &quot;theory&quot; and it is sometimes possible to &quot;translate&quot; between models. I believe it's hard to say which model is more &quot;basic&quot;---they are simply designed with different goals in mind.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Turing machines were designed to define what is &lt;em&gt;computable&lt;/em&gt;. So they make a good model if you care about whether there exists an algorithm for a certain problem. This model is sometimes abused to study the &lt;em&gt;efficiency&lt;/em&gt; of algorithms or the &lt;em&gt;hardness&lt;/em&gt; of problems, under the pretext that it's good enough, at least if you only care about polynomial/non-polynomial. The RAM model is closer to a real computer and therefore better if you want a precise analysis of an algorithm. To put lower bounds on the hardness of problems it is better to &lt;em&gt;not&lt;/em&gt; use a model that resembles too much today's computers because you want to cover a wide range of possible computers, while still being more precise than just polynomial/non-polynomial. In this context, I saw for example the cell-probe model used.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you care about &lt;em&gt;correctness&lt;/em&gt;, then still other models are useful. Here you have operational semantics (which I'd say is the analogue of lambda calculus for statefull computations), axiomatic semantics (developed in 1969 by Hoare based on Floyd's inductive assertions from 1967, which are popularized by Knuth in &lt;em&gt;The Art of Computer Programming&lt;/em&gt;, volume 1), and others.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To summarize, I &lt;em&gt;think&lt;/em&gt; you are after models of computation. There are many such models, developed with various goals in minds, and many have state, so they correspond to imperative programming. If you want to know if something can be computed, then look at Turing machines. If you care about efficiency look at RAM models. If you care about correctness look at models that end in &quot;semantics&quot;, such as operational semantics.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, let me mention that there is a big book online only about &lt;a href=&quot;http://www.cs.brown.edu/~jes/book/pdfs/ModelsOfComputation.pdf&quot;&gt;Models of Computation&lt;/a&gt; by John Savage. It is mostly about efficiency. For the correctness part I recommend you start with the classic papers of &lt;a href=&quot;http://scholar.google.com/scholar?cluster=2215741797543540501&quot;&gt;Floyd (1967)&lt;/a&gt;, &lt;a href=&quot;http://scholar.google.com/scholar?cluster=4957422039574646466&quot;&gt;Hoare (1969)&lt;/a&gt;, &lt;a href=&quot;http://scholar.google.com/scholar?cluster=2051254789593517635&quot;&gt;Dijkstra (1975)&lt;/a&gt;, and &lt;a href=&quot;http://scholar.google.com/scholar?cluster=17160779484259521873&quot;&gt;Plotkin (1981)&lt;/a&gt;. They are all pretty cool.&lt;/p&gt;&#xA;" OwnerUserId="236" LastEditorUserId="236" LastEditDate="2010-08-18T13:28:46.200" LastActivityDate="2010-08-18T13:28:46.200" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="258" PostTypeId="2" ParentId="110" CreationDate="2010-08-18T13:40:05.237" Score="11" Body="&lt;p&gt;Most online learning algorithms come from at least one out of these lineages:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;the perceptron&lt;/p&gt;&#xA;&#xA;&lt;p&gt;State of the art perceptrons are the &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.61.5120&amp;amp;rep=rep1&amp;amp;type=pdf&quot;&gt;passive-aggressive algorithm&lt;/a&gt;, the &lt;a href=&quot;http://ir.hit.edu.cn/~car/research/dishmm.pdf&quot;&gt;structured perceptron&lt;/a&gt;, and their many varieties.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The winnow &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The winnow has been reformulated as &lt;a href=&quot;http://www.ingentaconnect.com/content/ap/ic/1997/00000132/00000001/art02612&quot;&gt;exponentiated gradient methods&lt;/a&gt;, and can be applied to &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.70.6635&amp;amp;rep=rep1&amp;amp;type=pdf&quot;&gt;structured problems&lt;/a&gt; as well. There are also varieties that deal directly with L1 regularization (to guarantee sparsity), such as &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.149.5344&amp;amp;rep=rep1&amp;amp;type=pdf&quot;&gt;SMIDAS&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Stochastic gradient descent&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Stochastic gradient descent is when you apply online optimization to a possibly batch problem. State of the art algorithms are Leon Bottou's &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.60.9676&amp;amp;rep=rep1&amp;amp;type=pdf&quot;&gt;LaSVM&lt;/a&gt;, &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.161.9629&amp;amp;rep=rep1&amp;amp;type=pdf&quot;&gt;Pegasos&lt;/a&gt;, and many neural network algorithms can be easily trained in this setting. See the &lt;a href=&quot;http://deeplearning.net/tutorial/&quot;&gt;theano tutorial&lt;/a&gt; for many examples. Maybe &lt;a href=&quot;http://www.cs.berkeley.edu/~pliang/papers/online-naacl2009-talk.pdf&quot;&gt;online EM&lt;/a&gt; fits here.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;particle filtering&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is also known as rao-blackwellized inference, and it allows you to update a graphical/probabilistic model as more data arrives. Some good examples are &lt;a href=&quot;http://cocosci.berkeley.edu/tom/papers/topicpf.pdf&quot;&gt;online topic models&lt;/a&gt; and the &lt;a href=&quot;http://videolectures.net/mlss07_doucet_smcm/&quot;&gt;NIPS tutorial on SMC&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;There are also some broader issues with online learning, like &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.68.9600&amp;amp;rep=rep1&amp;amp;type=pdf&quot;&gt;online-to-batch conversion&lt;/a&gt;, budget techniques for online learning with kernels (like &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.72.5040&amp;amp;rep=rep1&amp;amp;type=pdf&quot;&gt;this paper&lt;/a&gt;, &lt;a href=&quot;http://astro.temple.edu/~tua63862/ICML10_BPegasos.pdf&quot;&gt;this paper&lt;/a&gt;, and &lt;a href=&quot;http://jmlr.csail.mit.edu/proceedings/papers/v9/wang10b/wang10b.pdf&quot;&gt;this paper&lt;/a&gt;), many different flavors of generalization bounds, &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.148.6556&amp;amp;rep=rep1&amp;amp;type=pdf&quot;&gt;sparsity concerns&lt;/a&gt; (and also the SMIDAS paper I cited above), &lt;a href=&quot;http://eprints.pascal-network.org/archive/00005685/01/ShiPetDroLanetal09b.pdf&quot;&gt;hashing&lt;/a&gt; to save memory, and many other issues. &lt;/p&gt;&#xA;" OwnerUserId="120" LastActivityDate="2010-08-18T13:40:05.237" CommentCount="1" CommunityOwnedDate="2010-08-18T13:40:05.237" ContentLicense="CC BY-SA 2.5" />
  <row Id="259" PostTypeId="1" AcceptedAnswerId="263" CreationDate="2010-08-18T13:50:19.863" Score="20" ViewCount="417" Body="&lt;p&gt;There is a large literature on &quot;property testing&quot; -- the problem of making a small number of black box queries to a function $f\colon\{0,1\}^n \to R$ to distinguish between two cases: &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;$f$ is a member of some class of functions $\mathcal{C}$&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;$f$ is $\varepsilon$-far from every function in class $\mathcal{C}$. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;The range $R$ of the function is sometimes Boolean: $R = \{0,1\}$, but not always. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here, $\varepsilon$-far is generally taken to mean Hamming distance: the fraction of points of $f$ that would need to be changed in order to place $f$ in class $\mathcal{C}$. This is a natural metric if $f$ has a Boolean range, but seems less natural if the range is say real-valued. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question: does there exist a strand of the property-testing literature that tests for closeness to some class $\mathcal{C}$ with respect to other metrics? &lt;/p&gt;&#xA;" OwnerUserId="25" LastEditorUserId="13319" LastEditDate="2018-01-22T06:02:53.473" LastActivityDate="2018-01-22T06:02:53.473" Title="Property testing in other metrics?" Tags="&lt;reference-request&gt;&lt;lg.learning&gt;&lt;metrics&gt;&lt;property-testing&gt;&lt;black-box&gt;" AnswerCount="3" CommentCount="0" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="260" PostTypeId="1" AcceptedAnswerId="307" CreationDate="2010-08-18T13:51:02.590" Score="16" ViewCount="359" Body="&lt;p&gt;This is a follow-up to &lt;a href=&quot;https://math.stackexchange.com/questions/2647/sets-of-integers-in-which-every-element-is-the-sum-of-two-others&quot;&gt;this question&lt;/a&gt; on math.stackexchange.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let us say that a non-empty set S&amp;nbsp;&amp;sube;&amp;nbsp;&amp;#8484; is &lt;strong&gt;self-supporting&lt;/strong&gt; if for every &lt;em&gt;a&lt;/em&gt;&amp;nbsp;&amp;isin;&amp;nbsp;S, there exist distinct elements &lt;em&gt;b,c&lt;/em&gt;&amp;nbsp;&amp;isin;&amp;nbsp;S such that &lt;em&gt;a&lt;/em&gt;&amp;nbsp;=&amp;nbsp;&lt;em&gt;b&lt;/em&gt;&amp;nbsp;+&amp;nbsp;c. For positive integers &lt;em&gt;n&lt;/em&gt;, simple examples include the ideal S&amp;nbsp;=&amp;nbsp;&lt;em&gt;n&lt;/em&gt;&amp;#8484;, or (for &lt;em&gt;n&lt;/em&gt;&amp;gt;3) the integer interval [&amp;minus;&lt;em&gt;n&lt;/em&gt;,&amp;nbsp;&lt;em&gt;n&lt;/em&gt;].&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We'll say that S is &lt;strong&gt;strongly self-supporting&lt;/strong&gt; if S is disjoint from &amp;minus;S: that is, if &lt;em&gt;a&lt;/em&gt;&amp;nbsp;&amp;isin;&amp;nbsp;S, then &amp;minus;&lt;em&gt;a&lt;/em&gt;&amp;nbsp;&amp;notin;&amp;nbsp;S. Neither of the above examples are strongly self-supporting, because they are in fact closed under negation.&#xA;There exist finite sets which are strongly self-supporting: for instance, the sets&#xA;{−22,&amp;nbsp;−20,&amp;nbsp;−18,&amp;nbsp;−16,&amp;nbsp;−14,&amp;nbsp;−12,&amp;nbsp;−10,&amp;nbsp;−2,&amp;nbsp;1,&amp;nbsp;3,&amp;nbsp;7,&amp;nbsp;8,&amp;nbsp;15,&amp;nbsp;23} and  {−10,&amp;nbsp;−8,&amp;nbsp;−6,&amp;nbsp;−2,&amp;nbsp;1,&amp;nbsp;3,&amp;nbsp;4,&amp;nbsp;5}.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question #1.&lt;/strong&gt; For a positive integer &lt;em&gt;N&lt;/em&gt;&amp;gt;0, does there exist a poly(&lt;em&gt;N&lt;/em&gt;)-time [or polylog(&lt;em&gt;N&lt;/em&gt;)-time] algorithm to either &lt;strong&gt;(i)&lt;/strong&gt;&amp;nbsp;produce a strongly self-supporting set whose maximum absolute value is &lt;em&gt;N&lt;/em&gt;, or &lt;strong&gt;(ii)&lt;/strong&gt;&amp;nbsp;determine that no such set exists? [&lt;strong&gt;Edit&lt;/strong&gt;:&amp;nbsp;as pointed out in the oldest answer&amp;nbsp;+&amp;nbsp;my comment on it, there always exists such a set for &lt;em&gt;N&lt;/em&gt;&amp;nbsp;&amp;ge;&amp;nbsp;10.]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question #2.&lt;/strong&gt; For &lt;em&gt;N&lt;/em&gt;&amp;gt;0, can you construct the strongly self-supporting set with maximum absolute value &lt;em&gt;N&lt;/em&gt;, and which has the fewest possible elements?&lt;/p&gt;&#xA;" OwnerUserId="248" LastEditorUserId="-1" LastEditDate="2017-04-13T12:19:19.363" LastActivityDate="2010-08-19T11:28:55.753" Title="Finding small sets of integers in which every element is a sum of two others" Tags="&lt;ds.algorithms&gt;&lt;co.combinatorics&gt;" AnswerCount="2" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="261" PostTypeId="2" ParentId="260" CreationDate="2010-08-18T14:49:55.943" Score="6" Body="&lt;p&gt;I suppose a linear time algorithm should be possible for Question #1) (and if you are willing to deal with a different representation, an O(1) time algorithm)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given any N &gt;= 23, we construct a strongly self supporting set which contains 1 and N.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We can do that easily if we construct the same for N-1, and then add N to the resulting set.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the base case of 23, we can start with your example set.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To bring the size down, we should be able to use a similar approach: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Construct sets which contain &lt;code&gt;1, N and N-1.&lt;/code&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We use these constrained sets and do this construction recursively to bring the size down to O(logN) as follows: &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;If N is even, to construct a set containing 1,N and N-1, recursively construct a set containing 1, N/2 and N/2-1 (i.e. set corresponding to N/2) and add N and N-1 to resulting set. Since N-1 = N/2 + N/2-1 and N = 1 + N-1, this is a valid set.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;If N is odd construct a set for N-1 and N to resulting set.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;For the base cases, we can start with {−22, −20, −18, −16, −14, −12, −10, −2, 1, 3, 7, 8, 15, 23,24} for N=24. For 24 &amp;lt; N &amp;lt;= 47, we can use the above linear time algorithm and build upon the set for N=24. For N&gt;=48 we switch to reducing by half.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In fact, for composite N, we can bring the size further down to the size required for one of the small primes which divides N: Find a set for the small prime, and just multiply all numbers by a suitable factor.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It might be interesting to prove some lower bounds in the case N is prime.&lt;/p&gt;&#xA;" OwnerUserId="126" LastEditorUserId="126" LastEditDate="2010-08-18T19:10:29.150" LastActivityDate="2010-08-18T19:10:29.150" CommentCount="9" ContentLicense="CC BY-SA 2.5" />
  <row Id="262" PostTypeId="2" ParentId="238" CreationDate="2010-08-18T14:50:13.900" Score="37" Body="&lt;p&gt;&lt;a href=&quot;http://www.cs.rochester.edu/~lane/=companion/&quot;&gt;The Complexity Theory Companion by Hemaspaandra and Ogihara&lt;/a&gt;.  It's not exhaustive in terms of techniques (I imagine no such book is), but I think it qualifies as an answer to your question.  Here are the titles of the chapters:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The Self-Reducibility Technique. &lt;/li&gt;&#xA;&lt;li&gt;The One-Way Function Technique. &lt;/li&gt;&#xA;&lt;li&gt;The Tournament Divide and Conquer Technique. &lt;/li&gt;&#xA;&lt;li&gt;The Isolation Technique. &lt;/li&gt;&#xA;&lt;li&gt;The Witness Reduction Technique. &lt;/li&gt;&#xA;&lt;li&gt;The Polynomial Interpolation Technique. &lt;/li&gt;&#xA;&lt;li&gt;The Nonsolvable Group Technique. &lt;/li&gt;&#xA;&lt;li&gt;The Random Restriction Technique. &lt;/li&gt;&#xA;&lt;li&gt;The Polynomial Technique.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="129" LastActivityDate="2010-08-18T14:50:13.900" CommentCount="1" CommunityOwnedDate="2010-08-18T14:50:13.900" ContentLicense="CC BY-SA 2.5" />
  <row Id="263" PostTypeId="2" ParentId="259" CreationDate="2010-08-18T15:00:33.813" Score="19" Body="&lt;p&gt;Yes, there is!  I will give three examples:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Given a set S and a &quot;multiplication table&quot; over S x S, consider the problem of determining if the input describes an abelian group or whether it is far from one.  &lt;a href=&quot;http://doi.acm.org/10.1145/1060590.1060614&quot;&gt;Friedl, Ivanyos, and Santha in STOC '05&lt;/a&gt; showed that there is a property tester with query complexity polylog(|S|) when the distance measure is with respect to the &lt;i&gt;edit distance&lt;/i&gt; of multiplication tables which allows addition and deletion of rows and columns from the multiplication table.  The same problem was also considered in the Hamming distance model by &lt;a href=&quot;http://dx.doi.org/10.1006/jcss.1999.1692&quot;&gt;Ergun, Kannan, Kumar, Rubinfeld and Viswanathan (JCSS '00)&lt;/a&gt; where they showed query complexity of O~(|S|^{3/2}).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;There is a large amount of work done on testing graph properties where the graphs are represented using adjacency lists and there is a bound on the degree of each vertex.  In this case, the distance model is not exactly Hamming distance but rather how many edges can be added or deleted while preserving the degree bound.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;In the closely related study of testing properties of distributions, various notions of distance between distributions have been studied.  In this model, the input is a probability distribution over some set and the algorithm gets access to it by sampling from the set according to the unknown distribution.  The algorithm is then required to determine if the distribution satisfies some property or is &quot;far&quot; from it.  Various notions of distance have been studied here, such as L_1, L_2, earthmover.  Probability distributions over infinite domains have also been studied here (&lt;a href=&quot;http://www.siam.org/proceedings/soda/2010/SODA10_006_adamaszekm.pdf&quot;&gt;Adamaszek-Czumaj-Sohler, SODA '10&lt;/a&gt;).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="15" LastEditorUserId="15" LastEditDate="2010-08-19T02:12:23.663" LastActivityDate="2010-08-19T02:12:23.663" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="264" PostTypeId="2" ParentId="259" CreationDate="2010-08-18T15:04:14.257" Score="7" Body="&lt;p&gt;It's usually not called property testing (and it really isn't), but there is a large body of work on deciding properties of a matrix by looking at a small induced minor. This is very similar to the goal in property testing. See for instance the paper by Rudelson and Vershynin:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://portal.acm.org/citation.cfm?id=1255449&quot;&gt;http://portal.acm.org/citation.cfm?id=1255449&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are earlier papers by Frieze-Kannan. The point is that typically the metric they use is some matrix norm such as spectral norm, frobenius norm or cut norm. If you want, you can think of some of these results as property testing algorithms in a metric other than Hamming distance.&lt;/p&gt;&#xA;" OwnerUserId="68" LastActivityDate="2010-08-18T15:04:14.257" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="265" PostTypeId="1" CreationDate="2010-08-18T15:10:31.213" Score="14" ViewCount="581" Body="&lt;p&gt;If you are familiar with program verification you are likely to prefer reading the &lt;strong&gt;Question&lt;/strong&gt; before the &lt;strong&gt;Background&lt;/strong&gt;. If you are not familiar with program verification then you may still be able to answer this question, but you are likely to prefer reading the &lt;strong&gt;Background&lt;/strong&gt; first.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Background&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;It is often stated that checking partial correctness is undecidable. For the sake of discussion, let's pick one very particular way of making this statement precise, in the style of Floyd--Hoare. A &lt;em&gt;flowgraph&lt;/em&gt; is a digraph with a distinguished &lt;em&gt;initial node&lt;/em&gt; from which all nodes are reachable. A &lt;em&gt;program&lt;/em&gt; is a flowgraph whose nodes are commands. There are three types of commands (1) assumptions &lt;strong&gt;assume&lt;/strong&gt; &lt;em&gt;q&lt;/em&gt;, (2) assertions &lt;strong&gt;assert&lt;/strong&gt; &lt;em&gt;q&lt;/em&gt;, and (3) assignments v:=e. Here &lt;em&gt;q&lt;/em&gt; is a fol (first-order logic) formula, &lt;em&gt;e&lt;/em&gt; is a fol term, and &lt;em&gt;v&lt;/em&gt; is a variable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We say that a program is &lt;em&gt;partially correct&lt;/em&gt; when there is a way to annotate each node &lt;em&gt;x&lt;/em&gt; with a precondition &lt;em&gt;a(x)&lt;/em&gt; and a postcondition &lt;em&gt;b(x)&lt;/em&gt; such that (1) the precondition of the initial node is valid, (2) {&lt;em&gt;a(x)&lt;/em&gt;} &lt;em&gt;x&lt;/em&gt; {&lt;em&gt;b(x)&lt;/em&gt;} holds for all commands &lt;em&gt;x&lt;/em&gt;, and (3) (&lt;em&gt;b(x)&lt;/em&gt; implies &lt;em&gt;a(y)&lt;/em&gt;) is valid for all edges from &lt;em&gt;x&lt;/em&gt; to &lt;em&gt;y&lt;/em&gt;. Here the Hoare triples are defined as follows:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;{&lt;em&gt;p&lt;/em&gt;} &lt;strong&gt;assert&lt;/strong&gt; &lt;em&gt;q&lt;/em&gt; {&lt;em&gt;r&lt;/em&gt;} means that (&lt;em&gt;p&lt;/em&gt; implies (&lt;em&gt;q&lt;/em&gt; and &lt;em&gt;r&lt;/em&gt;)) is valid&lt;/li&gt;&#xA;&lt;li&gt;{&lt;em&gt;p&lt;/em&gt;} &lt;strong&gt;assume&lt;/strong&gt; &lt;em&gt;q&lt;/em&gt; {&lt;em&gt;r&lt;/em&gt;} means that ((&lt;em&gt;p&lt;/em&gt; and &lt;em&gt;q&lt;/em&gt;) implies &lt;em&gt;r&lt;/em&gt;) is valid&lt;/li&gt;&#xA;&lt;li&gt;{&lt;em&gt;p&lt;/em&gt;} v:=e {&lt;em&gt;r&lt;/em&gt;} means that ((&lt;em&gt;p&lt;/em&gt; with &lt;em&gt;e&lt;/em&gt; substituted for &lt;em&gt;v&lt;/em&gt;) implies &lt;em&gt;r&lt;/em&gt;) is valid&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Here's a hand-wavy argument of why checking &lt;em&gt;this&lt;/em&gt; partial correctness is undecidable: Once you fill in some &lt;em&gt;a(x)&lt;/em&gt; and some &lt;em&gt;b(x)&lt;/em&gt; you need to check if some fol formulas are valid, and that is undecidable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A typical way to encode termination in partial correctness is to add some special assertions that essentially say &quot;since last time I was executed, there was progress towards termination.&quot; These &lt;em&gt;progress assertions&lt;/em&gt; must be placed such that all infinite walks on the flowgraph (that start at the initial node) contain infinitely many progress assertions. To be more specific, let's say that progress assertions always have the form &lt;strong&gt;assert&lt;/strong&gt; &lt;em&gt;u&lt;/em&gt; &amp;lt; &lt;em&gt;v&lt;/em&gt;, where &lt;em&gt;u&lt;/em&gt; and &lt;em&gt;v&lt;/em&gt; are positive integers, are preceded by the assignment &lt;em&gt;u&lt;/em&gt;:=&lt;em&gt;f&lt;/em&gt;, and are followed by the assignment &lt;em&gt;v&lt;/em&gt;:=&lt;em&gt;u&lt;/em&gt;. Here &lt;em&gt;f&lt;/em&gt; is a &lt;a href=&quot;http://en.wikipedia.org/wiki/Loop_variant&quot; rel=&quot;nofollow&quot;&gt;variant function&lt;/a&gt;, &lt;em&gt;u&lt;/em&gt; is its current value, and &lt;em&gt;v&lt;/em&gt; is its former value. Now, since we talk about &quot;positive integers&quot; and we compare them, we need to ensure that a bit more than fol is available: Let's say &lt;a href=&quot;http://en.wikipedia.org/wiki/Peano_axioms&quot; rel=&quot;nofollow&quot;&gt;Peano arithmetic&lt;/a&gt; is available. (I don't feel strongly about this choice. Feel free to disregard if convenient.) Of course, &lt;em&gt;f&lt;/em&gt; may use any other functions and constants that are mentioned in the program. (Note that adding assumptions at the beginning of the program is equivalent to introducing non-logical axioms.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, if the program with progress assertions is still partially correct, then we know that the original program terminates.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Question&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;Given a terminating program, it feels that coming up with variant functions for progress assertions is hard. But how hard? (I know that even with the huge background above, I still left this question sort of open-ended, or ill-defined, depending on how you want to look at it.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To put it differently: I'm looking for a reference that formalizes the problem of reducing termination to partial correctness and then says something about its complexity. An answer that does all this would of course be welcome.&lt;/p&gt;&#xA;" OwnerUserId="236" LastEditorUserId="8519" LastEditDate="2012-10-13T18:31:59.520" LastActivityDate="2012-10-13T18:31:59.520" Title="How hard is it to reduce termination to partial correctness?" Tags="&lt;cc.complexity-theory&gt;&lt;lo.logic&gt;&lt;program-verification&gt;&lt;program-logic&gt;" AnswerCount="3" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="266" PostTypeId="2" ParentId="246" CreationDate="2010-08-18T15:11:04.317" Score="8" Body="&lt;p&gt;Yes. There is for example beta + the rule {s = t | s and t are closed unsolvable terms}. This is as far as I remember not equal to beta-eta, and is consistent. See &lt;a href=&quot;http://mathgate.info/cebrown/notes/barendregt.php#4&quot; rel=&quot;noreferrer&quot;&gt;mathgate&lt;/a&gt; for a short description and reference to Barendregt.&lt;/p&gt;&#xA;" OwnerUserId="161" LastActivityDate="2010-08-18T15:11:04.317" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="267" PostTypeId="1" AcceptedAnswerId="306" CreationDate="2010-08-18T16:02:21.783" Score="27" ViewCount="3756" Body="&lt;p&gt;I am currently reading &quot;&lt;a href=&quot;http://www.cambridge.org/catalogue/catalogue.asp?isbn=9780521898850&quot;&gt;Lambda-Calculus and Combinators&lt;/a&gt;&quot; by Hindley and Seldin.  I'm not an expert, but have always taken an interest in lambda calculus because of involvement with functional programming (starting with Lisp and SICP, and now with R and Haskell).  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In &quot;&lt;a href=&quot;http://homepages.cwi.nl/~tromp/cl/LC.pdf&quot;&gt;Binary Lambda Calculus and Combinatory Logic&quot;&lt;/a&gt;, &lt;a href=&quot;http://homepages.cwi.nl/~tromp/&quot;&gt;John Tromp&lt;/a&gt; states:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;CL may be viewed as a subset of lambda calculus...the theories are largely the same,&#xA;  becoming equivalent in the presence of the rule of extensionality.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Under what conditions would one use &lt;a href=&quot;http://en.wikipedia.org/wiki/Combinatory_logic&quot;&gt;combinatory logic&lt;/a&gt; instead of &lt;a href=&quot;http://en.wikipedia.org/wiki/Lambda_calculus&quot;&gt;lambda calculus&lt;/a&gt;?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any references would be appreciated.&lt;/p&gt;&#xA;" OwnerUserId="7" LastActivityDate="2010-09-08T22:07:12.273" Title="Are lambda calculus and combinatory logic the same?" Tags="&lt;combinatory-logic&gt;&lt;functional-programming&gt;&lt;lambda-calculus&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="11" ContentLicense="CC BY-SA 2.5" />
  <row Id="268" PostTypeId="1" AcceptedAnswerId="325" CreationDate="2010-08-18T16:02:44.403" Score="10" ViewCount="319" Body="&lt;p&gt;Most of the literature seems to be concerned with machines with single oracles for specific problems, however there appear to be a few papers that consider machines with multiple oracles. Is there a good paper or thesis which provides an overview of what is known about such machines? In particular I am interested in P with multiple oracles.&lt;/p&gt;&#xA;" OwnerUserId="204" LastEditorUserId="135" LastEditDate="2010-08-19T00:17:43.977" LastActivityDate="2010-08-19T16:10:03.350" Title="Is there a definitive reference for Turing machines with multiple oracle tapes?" Tags="&lt;oracles&gt;&lt;turing-machines&gt;" AnswerCount="2" CommentCount="6" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="269" PostTypeId="2" ParentId="189" CreationDate="2010-08-18T16:07:29.687" Score="48" Body="&lt;p&gt;&lt;strong&gt;Depth First Search&lt;/strong&gt;. It is the basis of many other algorithms. It is also &lt;em&gt;deceivingly&lt;/em&gt; simple: For example, if you replace the queue in a BFS implementation by a stack, do you get DFS?&lt;/p&gt;&#xA;" OwnerUserId="236" LastActivityDate="2010-08-18T16:07:29.687" CommentCount="4" CommunityOwnedDate="2010-08-18T16:07:29.687" ContentLicense="CC BY-SA 2.5" />
  <row Id="270" PostTypeId="2" ParentId="80" CreationDate="2010-08-18T16:18:13.267" Score="6" Body="&lt;p&gt;We suspect Permanent requires superpolynomial-size circuits (in either of the arithmetic or Boolean models).  However, if we consider Boolean circuits with threshold gates, currently we can only prove superpoly lower bounds in the case of depth-restricted, &lt;em&gt;uniform&lt;/em&gt; circuits.  I believe the most recent reference for results of this type is&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&quot;A Superpolynomial Lower Bound on the Size of Uniform Non-constant-depth Threshold Circuits for the Permanent&quot;&#xA;by Koiran and Perifel.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Their proof involves diagonalization at some point, so this doesn't strictly speaking meet your criterion, but I thought it might still be of interest.)&lt;/p&gt;&#xA;" OwnerUserId="223" LastActivityDate="2010-08-18T16:18:13.267" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="271" PostTypeId="2" ParentId="49" CreationDate="2010-08-18T16:57:18.573" Score="20" Body="&lt;p&gt;This is a (wide) open problem; as in, we know almost nothing. Specifically, because of the trickiness in &lt;em&gt;proving&lt;/em&gt; &lt;span class=&quot;math-container&quot;&gt;$NP \cap coNP$&lt;/span&gt;-complete problems, we need very different proof techniques than currently exist. As such, a discussion of consequences should reasonably include a tangent on &quot;What would it mean to have such powerful, new proof techniques?&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For a relatively recent discussion of the topic, there is David Johnson's 26th NP-Completeness column in the &lt;em&gt;ACM Transactions on Algorithms&lt;/em&gt; from 2007 (&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download;jsessionid=D2C93BB7DA98397482AC9804528997A3?doi=10.1.1.84.7884&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;PDF&lt;/a&gt;). Allow me to paraphrase some of what David says regarding the question of proving &lt;span class=&quot;math-container&quot;&gt;$NP \cap coNP$&lt;/span&gt;-complete problems' existence and add my thoughts:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Currently, we only have &quot;weak,&quot; natural candidates for membership in &lt;span class=&quot;math-container&quot;&gt;$NP \cap coNP - P$&lt;/span&gt; in the sense that the strongest &lt;em&gt;evidence&lt;/em&gt; for their membership is that we haven't managed to find a polynomial time algorithm for them yet. He lists a couple candidates: SMALL FACTOR, SIMPLE STOCHASTIC GAME, and MEAN PAYOFF GAME. Some of the extra &quot;weirdness&quot; of these problems comes from the best heuristic run times for solving them, e.g. SMALL FACTOR, aka INTEGER FACTOR &lt;span class=&quot;math-container&quot;&gt;$\le k$&lt;/span&gt;, has a randomized time complexity of &lt;a href=&quot;http://qwiki.stanford.edu/wiki/Complexity_Garden#integer_factor&quot; rel=&quot;nofollow noreferrer&quot;&gt;&lt;span class=&quot;math-container&quot;&gt;$poly(n) 2^{\sqrt{k log(k)}}$&lt;/span&gt;&lt;/a&gt;. (If complete problems exist in &lt;span class=&quot;math-container&quot;&gt;$NP \cap coNP - P$&lt;/span&gt;, then &lt;em&gt;is such sub-exponential&lt;/em&gt; (neither purely exponential, nor quite polynomial) &lt;em&gt;runtime endemic of the class?&lt;/em&gt;)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So specifically, we would want to prove something like: problem A is only in &lt;span class=&quot;math-container&quot;&gt;$P$&lt;/span&gt; iff &lt;span class=&quot;math-container&quot;&gt;$NP \cap coNP = P$&lt;/span&gt;, i.e. a completeness result like Cook's theorem for 3SAT and &lt;span class=&quot;math-container&quot;&gt;$NP$&lt;/span&gt;. For &lt;span class=&quot;math-container&quot;&gt;$NP$&lt;/span&gt;, such proofs universally involve polynomial-time reductions (and fix your favorite, additional restrictions, e.g. Cook-reductions, Karp-reductions). As a result, under polynomial-time reduction techniques, it must be the case that there exists a polynomial-time recognizable representation of the class. For &lt;span class=&quot;math-container&quot;&gt;$NP$&lt;/span&gt;, we can use non-deterministic Turing machines that halt within a polynomial, &lt;span class=&quot;math-container&quot;&gt;$p(|x|)$&lt;/span&gt;, number of steps. As David points out, we have similar representations for other classes (where the status is more clear) such as &lt;span class=&quot;math-container&quot;&gt;$PSPACE$&lt;/span&gt; and &lt;strong&gt;#&lt;/strong&gt;&lt;span class=&quot;math-container&quot;&gt;$P$&lt;/span&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The difficulty, however, with providing a similar representation for &lt;span class=&quot;math-container&quot;&gt;$NP \cap coNP$&lt;/span&gt; is that the &quot;natural&quot; analog &lt;em&gt;allows&lt;/em&gt; us to embed the Halting Problem within the representation and is therefore &lt;em&gt;undecidable&lt;/em&gt;. That is, consider the following attempt to represent &lt;span class=&quot;math-container&quot;&gt;$NP \cap coNP$&lt;/span&gt; with two non-deterministic Turing machines that, purportedly, recognize complementary languages:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Question: Does a Turing Machine &lt;span class=&quot;math-container&quot;&gt;$M^*$&lt;/span&gt; halt on input &lt;span class=&quot;math-container&quot;&gt;$x \in {0,1}^n$&lt;/span&gt;?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Construct two linear-time Turing machines &lt;span class=&quot;math-container&quot;&gt;$M_1$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$M_2$&lt;/span&gt; as follows. On input &lt;span class=&quot;math-container&quot;&gt;$y$&lt;/span&gt;, &lt;span class=&quot;math-container&quot;&gt;$M_1$&lt;/span&gt; reads the input and always accepts. &lt;span class=&quot;math-container&quot;&gt;$M_2$&lt;/span&gt; always rejects unless &lt;span class=&quot;math-container&quot;&gt;$|y| \ge |x|$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$M^*$&lt;/span&gt; accepts &lt;span class=&quot;math-container&quot;&gt;$x$&lt;/span&gt; in steps &lt;span class=&quot;math-container&quot;&gt;$\le |y|$&lt;/span&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Therefore, &lt;span class=&quot;math-container&quot;&gt;$M_1$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$M_2$&lt;/span&gt; accept complementary languages &lt;em&gt;iff&lt;/em&gt; &lt;span class=&quot;math-container&quot;&gt;$M^*$&lt;/span&gt; does not halt on input &lt;span class=&quot;math-container&quot;&gt;$x$&lt;/span&gt;. Therefore, by contradiction, deciding if two polynomial-time Turing machines accept complementary languages is undecidable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, the &quot;natural&quot; representation of &lt;span class=&quot;math-container&quot;&gt;$NP \cap coNP$&lt;/span&gt; problems is not polynomial-time recognizable. The question remains: How do you represent &lt;span class=&quot;math-container&quot;&gt;$NP \cap coNP$&lt;/span&gt; problems such that they are polynomial-time recognizable?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There has been no significant work done on this issue, but its successful resolution is necessary to prove completeness in &lt;span class=&quot;math-container&quot;&gt;$NP \cap coNP$&lt;/span&gt;. Hence, I claim that the existence of a proof technique that can resolve the completeness of &lt;span class=&quot;math-container&quot;&gt;$NP \cap coNP$&lt;/span&gt; will be the bigger story here -- not the &quot;automatic&quot; results of &lt;span class=&quot;math-container&quot;&gt;$NP \cap coNP$&lt;/span&gt;-complete problems (e.g. complexity classes, perhaps, collapsing) that we are already aware of (or rather, &lt;em&gt;will be aware of&lt;/em&gt;, hypothetically in the future).&lt;/p&gt;&#xA;" OwnerUserId="108" LastEditorUserId="34978" LastEditDate="2019-01-04T23:14:00.293" LastActivityDate="2019-01-04T23:14:00.293" CommentCount="3" ContentLicense="CC BY-SA 4.0" />
  <row Id="272" PostTypeId="2" ParentId="252" CreationDate="2010-08-18T17:13:58.813" Score="5" Body="&lt;p&gt;Suppose your graph was a path.  I think then this problem becomes equivalent to sorting a random sequence of numbers in an array by swapping adjacent entries.  Even of all nodes are topology aware, you get a n^2 lower bound on the number of swaps (cannot do better than bubble sort which is n^2 even on a random input).&lt;/p&gt;&#xA;" OwnerUserId="123" LastActivityDate="2010-08-18T17:13:58.813" CommentCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="273" PostTypeId="1" AcceptedAnswerId="274" CreationDate="2010-08-18T17:27:53.033" Score="15" ViewCount="3167" Body="&lt;p&gt;Who introduced the idea of &lt;a href=&quot;https://en.wikipedia.org/wiki/Recursion&quot; rel=&quot;nofollow&quot;&gt;recursion&lt;/a&gt;?&lt;br&gt;&#xA;Can someone explain where it came from and how it impacted computer science?&lt;/p&gt;&#xA;" OwnerUserId="294" LastEditorUserId="186" LastEditDate="2015-11-07T14:33:08.597" LastActivityDate="2015-11-07T14:38:00.953" Title="History of recursion" Tags="&lt;reference-request&gt;&lt;ho.history-overview&gt;&lt;recursion&gt;" AnswerCount="5" CommentCount="1" FavoriteCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="274" PostTypeId="2" ParentId="273" CreationDate="2010-08-18T17:36:29.213" Score="19" Body="&lt;p&gt;Computability and Recursion, by Soare.&#xA;&lt;a href=&quot;http://www.people.cs.uchicago.edu/~soare/History/compute.pdf&quot;&gt;http://www.people.cs.uchicago.edu/~soare/History/compute.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This paper is the first of the history of computation papers available here:&#xA;&lt;a href=&quot;http://www.people.cs.uchicago.edu/~soare/History/&quot;&gt;http://www.people.cs.uchicago.edu/~soare/History/&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="30" LastActivityDate="2010-08-18T17:36:29.213" CommentCount="6" ContentLicense="CC BY-SA 2.5" />
  <row Id="275" PostTypeId="2" ParentId="273" CreationDate="2010-08-18T17:39:36.540" Score="6" Body="&lt;p&gt;Not the first, but important so far as the practical application is concerned: &lt;a href=&quot;http://www-formal.stanford.edu/jmc/recursive.pdf&quot;&gt;&quot;Recursive Functions of Symbolic Expressions and Their Computation by Machine, Part I&quot;&lt;/a&gt; by John McCarthy (in which he introduced Lisp)&lt;/p&gt;&#xA;" OwnerUserId="7" LastActivityDate="2010-08-18T17:39:36.540" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="276" PostTypeId="1" AcceptedAnswerId="277" CreationDate="2010-08-18T18:14:00.827" Score="35" ViewCount="2248" Body="&lt;p&gt;What were the most surprising results in complexity?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think it would be useful to have a list of unexpected/surprising results.  This includes both results that were surprising and came out of nowhere and also results that turned out different than people expected.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;b&gt;Edit&lt;/b&gt;: &lt;i&gt;given the &lt;b&gt;&lt;a href=&quot;http://blog.computationalcomplexity.org/2005/12/surprising-results.html&quot;&gt;list&lt;/a&gt;&lt;/b&gt; by Gasarch, Lewis, and Ladner on the complexity blog (pointed out by @Zeyu), let's focus this community wiki on results not on their list.&lt;/i&gt;  Perhaps this will lead to a focus on results after 2005 (as per @Jukka's suggestion).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An example: &lt;b&gt;Weak Learning = Strong Learning [Schapire 1990]&lt;/b&gt;: (Surprisingly?) Having any edge over random guessing gets you PAC learning. Lead to the AdaBoost algorithm.&lt;/p&gt;&#xA;" OwnerUserId="123" LastEditorUserId="123" LastEditDate="2010-08-29T01:08:57.477" LastActivityDate="2010-10-06T14:17:51.620" Title="Surprising Results in Complexity (Not on the Complexity Blog List)" Tags="&lt;cc.complexity-theory&gt;&lt;big-list&gt;" AnswerCount="9" CommentCount="2" FavoriteCount="24" CommunityOwnedDate="2010-08-18T18:14:00.827" ContentLicense="CC BY-SA 2.5" />
  <row Id="277" PostTypeId="2" ParentId="276" CreationDate="2010-08-18T18:20:33.853" Score="29" Body="&lt;p&gt;Here is the guest post by Bill Gasarch with help from Harry Lewis and Richard Ladner:&#xA;&lt;a href=&quot;http://blog.computationalcomplexity.org/2005/12/surprising-results.html&quot;&gt;http://blog.computationalcomplexity.org/2005/12/surprising-results.html&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="245" LastActivityDate="2010-08-18T18:20:33.853" CommentCount="2" CommunityOwnedDate="2010-08-18T18:20:33.853" ContentLicense="CC BY-SA 2.5" />
  <row Id="278" PostTypeId="2" ParentId="276" CreationDate="2010-08-18T18:31:40.570" Score="19" Body="&lt;p&gt;At Barriers I, a panel of leading complexity theorists agreed that Barrington's Theorem was the result that most surprised them.  Fortnow explains Barrington's Theorem here: &lt;a href=&quot;http://blog.computationalcomplexity.org/2008/11/barringtons-theorem.html&quot;&gt;http://blog.computationalcomplexity.org/2008/11/barringtons-theorem.html&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="30" LastEditorUserId="30" LastEditDate="2010-08-18T22:41:58.790" LastActivityDate="2010-08-18T22:41:58.790" CommentCount="0" CommunityOwnedDate="2010-08-18T18:31:40.570" ContentLicense="CC BY-SA 2.5" />
  <row Id="279" PostTypeId="2" ParentId="252" CreationDate="2010-08-18T19:42:30.323" Score="5" Body="&lt;p&gt;I'd like to point out the relation between this problem and sorting networks. For example, if your graph is a path, then the trivial &lt;a href=&quot;http://en.wikipedia.org/wiki/File%3aSix-wire-pyramid-sorting-network.svg&quot; rel=&quot;noreferrer&quot;&gt;linear-depth sorting network&lt;/a&gt; also shows that you can obtain any permutation in linear number of rounds. Moreover, this is tight, as simply interchanging the elements at the endpoints of the path requires a linear number of rounds.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;AKS sorting networks show that there are graphs in which you can obtain any permutation in logarithmic number of rounds. For the case of grid graphs, see e.g. &lt;a href=&quot;http://dcg.ethz.ch/lectures/fs10/podc/lecture/sorting.pdf&quot; rel=&quot;noreferrer&quot;&gt;these lecture notes&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Of course sorting and shuffling are different problems, but many upper and lower bounds are related. E.g., pick random labels and sort by labels.)&lt;/p&gt;&#xA;" OwnerUserId="74" LastActivityDate="2010-08-18T19:42:30.323" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="281" PostTypeId="2" ParentId="220" CreationDate="2010-08-18T21:36:04.007" Score="9" Body="&lt;p&gt;There are references, and they're quite old. I came across them while working on combinatorial algorithms for Boolean matrix multiplication. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In 1966, Moon and Moser proved that computing the inverse of a matrix over GF(2) needs $\Theta(n^2/log n)$ row operations, providing an upper and lower bound. (You can squeeze an extra $\log n$ out when you work over a finite field.) &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;J. W. Moon and L. Moser. A Matrix Reduction Problem. Mathematics of Computation 20(94):328–&#xA;  330, 1966.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The article should be accessible on JSTOR. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am pretty sure that the lower bound is just a counting argument, and no explicit matrices achieving the lower bound were given.&lt;/p&gt;&#xA;" OwnerUserId="225" LastActivityDate="2010-08-18T21:36:04.007" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="282" PostTypeId="2" ParentId="110" CreationDate="2010-08-18T21:42:40.450" Score="4" Body="&lt;p&gt;There is a &lt;a href=&quot;http://ttic.uchicago.edu/~shai/icml08tutorial/&quot; rel=&quot;nofollow&quot;&gt;nice tutorial&lt;/a&gt; from ICML 2008 by Yoram Singer and Shai Shalev Shwartz on the theory and practice of online learning.&lt;/p&gt;&#xA;" OwnerUserId="123" LastActivityDate="2010-08-18T21:42:40.450" CommentCount="0" CommunityOwnedDate="2010-08-18T21:42:40.450" ContentLicense="CC BY-SA 2.5" />
  <row Id="283" PostTypeId="2" ParentId="191" CreationDate="2010-08-18T21:53:32.973" Score="6" Body="&lt;p&gt;This does not quite answer your question, but perhaps it can help -- there is a &lt;a href=&quot;http://www.cs.huji.ac.il/~inapprox/papers/hvc-DGKR.ps&quot;&gt;paper&lt;/a&gt; [Dinur et al. 2004] which covers f &gt; 2 (but seems not to fix k).&lt;/p&gt;&#xA;" OwnerUserId="123" LastActivityDate="2010-08-18T21:53:32.973" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="284" PostTypeId="1" AcceptedAnswerId="298" CreationDate="2010-08-18T22:39:03.460" Score="16" ViewCount="1184" Body="&lt;p&gt;A problem P is said to be in APX if there exists some constant c &gt; 0 such that a polynomial-time approximation algorithm exists for P with approximation factor 1 + c.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;APX contains PTAS (seen by simply picking any constant c &gt; 0) and P.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is APX in NP? In particular, does the existence of a polynomial-time approximation algorithm for some approximation factor imply that the problem is in NP?&lt;/p&gt;&#xA;" OwnerUserId="275" LastEditorUserId="206" LastEditDate="2010-10-03T16:22:47.267" LastActivityDate="2010-10-03T16:22:47.267" Title="Is APX contained in NP?" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;apx&gt;" AnswerCount="2" CommentCount="5" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="285" PostTypeId="2" ParentId="284" CreationDate="2010-08-18T22:46:15.527" Score="8" Body="&lt;p&gt;APX is discussed and (like other complexity classes) updated regularly in the Complexity Zoo.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://qwiki.stanford.edu/wiki/Complexity_Zoo:A#apx&quot;&gt;http://qwiki.stanford.edu/wiki/Complexity_Zoo:A#apx&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="3624" LastActivityDate="2010-08-18T22:46:15.527" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="286" PostTypeId="1" CreationDate="2010-08-19T00:10:31.653" Score="44" ViewCount="3618" Body="&lt;p&gt;Informally speaking, Kolmogorov complexity of a string $x$ is a length of a shortest program that outputs $x$. We can define a notion of 'random string' using it ($x$ is random if $K(x) \geq 0.99 |x|$) It is easy to see that most of strings are random (there are not so many short programs).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Kolmogorov complexity theory and algorithmic information theory are quite developed nowadays. And there are several amusing examples of using Kolmogorov complexity in proofs of different theorems that do not contain anything about Kolmogorov complexity in their statements (&lt;a href=&quot;http://blog.computationalcomplexity.org/2009/06/kolmogorov-complexity-proof-of-lov.html&quot;&gt;constructive LLL&lt;/a&gt;, &lt;a href=&quot;http://en.wikipedia.org/wiki/Loomis-Whitney_inequality&quot;&gt;Loomis-Whitney inequality&lt;/a&gt; and so on).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there any nice applications of Kolmogorov complexity and algorithmic information theory in &lt;strong&gt;computational complexity and related fields&lt;/strong&gt;? I feel that there should be results that use Kolmogorov complexity as a straightforward replacement of simple counting arguments. This is, of course, not that interesting.&lt;/p&gt;&#xA;" OwnerUserId="141" LastActivityDate="2013-02-21T10:25:34.003" Title="Kolmogorov complexity applications in computational complexity" Tags="&lt;cc.complexity-theory&gt;&lt;big-list&gt;&lt;co.combinatorics&gt;&lt;it.information-theory&gt;" AnswerCount="10" CommentCount="2" FavoriteCount="29" CommunityOwnedDate="2010-08-19T00:10:52.667" ContentLicense="CC BY-SA 2.5" />
  <row Id="287" PostTypeId="2" ParentId="286" CreationDate="2010-08-19T00:14:00.053" Score="6" Body="&lt;p&gt;One example is the following result that is described in &lt;a href=&quot;http://arxiv.org/abs/cs/0606037&quot;&gt;survey by Bogdanov and Trevisan&lt;/a&gt;:&#xA;there exists a distribution $D$ such that language is easy on-average with respect to $D$ iff it is worst-case-easy.&lt;/p&gt;&#xA;" OwnerUserId="141" LastActivityDate="2010-08-19T00:14:00.053" CommentCount="4" CommunityOwnedDate="2010-08-19T00:14:00.053" ContentLicense="CC BY-SA 2.5" />
  <row Id="288" PostTypeId="2" ParentId="286" CreationDate="2010-08-19T00:41:23.430" Score="16" Body="&lt;p&gt;Lance Fortnow has written an article on this topic: &lt;a href=&quot;http://people.cs.uchicago.edu/~fortnow/papers/quaderni.pdf&quot;&gt;Kolmogorov Complexity and Computational Complexity&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You should also check out &lt;a href=&quot;http://homepages.cwi.nl/~paulv/kolmogorov.html&quot;&gt;An Introduction to Kolmogorov Complexity and Its Applications&lt;/a&gt; by Li and Vitanyi, the definitive book on the subject.  In particular, chapter 6 &quot;The Incompressibility Method&quot; discusses a number of applications in complexity such as a Kolmogorov complexity proof of Hastad's switching lemma (from &lt;a href=&quot;http://dx.doi.org/10.1006/inco.1995.1161&quot;&gt;Circuit Lower Bounds à la Kolmogorov&lt;/a&gt; by Fortnow and Laplante).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;And there are applications in communication complexity (e.g. &lt;a href=&quot;http://dx.doi.org/10.1007/978-3-642-02017-9_29&quot;&gt;Kolmogorov Complexity and Combinatorial Methods in Communication Complexity&lt;/a&gt; by Kaplan and Laplante).&lt;/p&gt;&#xA;" OwnerUserId="205" LastEditorUserId="205" LastEditDate="2010-08-19T01:50:33.870" LastActivityDate="2010-08-19T01:50:33.870" CommentCount="3" CommunityOwnedDate="2010-08-19T00:41:23.430" ContentLicense="CC BY-SA 2.5" />
  <row Id="289" PostTypeId="2" ParentId="238" CreationDate="2010-08-19T00:43:13.507" Score="12" Body="&lt;p&gt;&lt;a href=&quot;http://dx.doi.org/10.1016/S0890-5401(03)00018-X&quot;&gt;S. Fenner, L. Fortnow, S. Kurtz, and L. Li. An oracle builder's toolkit. Information and Computation, 182(2):95-136, 2003.&lt;/a&gt; (also available &lt;a href=&quot;http://www.cs.uchicago.edu/~fortnow/papers/obt.pdf&quot;&gt;from Lance's homepage&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is basically a survey paper on the use of genericity in constructing &quot;designer oracles&quot; (that is, oracles designed to have various properties).  Although it's a paper, I think it qualifies as an answer to the question because it's focused on the technique and its uses, rather than any particular result.  [But this is much more specific than the Complexity Theory Companion, which is why I thought it should be in a separate answer.]&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2010-08-19T00:43:13.507" CommentCount="0" CommunityOwnedDate="2010-08-19T00:43:13.507" ContentLicense="CC BY-SA 2.5" />
  <row Id="290" PostTypeId="2" ParentId="286" CreationDate="2010-08-19T00:49:20.873" Score="8" Body="&lt;p&gt;H. Buhrman, L. Fortnow, and S. Laplante. Resource-bounded Kolmogorov complexity revisited. SIAM Journal on Computing, 31(3):887-905, 2002. (&lt;a href=&quot;http://dx.doi.org/10.1137/S009753979834388X&quot;&gt;journal&lt;/a&gt;, &lt;a href=&quot;http://www.cs.uchicago.edu/~fortnow/papers/cd.pdf&quot;&gt;Lance's web page&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Includes applications of Kolmogorov complexity such as:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;A proof of Valiant-Vazirani&lt;/li&gt;&#xA;&lt;li&gt;Satisfying assignments of Boolean formulae can be enumerated in time polynomial in the output size iff a unique assignment can be found quickly&lt;/li&gt;&#xA;&lt;li&gt;A new proof that BPP is in Sigma_2 P&lt;/li&gt;&#xA;&lt;li&gt;Several oracle constructions&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Some of the above were first proven in this paper, whereas others are simply new proofs of old theorems, using Kolmogorov complexity.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://ftp.cs.rutgers.edu/pub/allender/chapter.pdf&quot;&gt;Applications of time-bounded Kolmogorov complexity in complexity theory&lt;/a&gt; is a nice survey by Eric Allender of other applications.  Although many of the results here are implications, some are true applications, such as the following:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Cor 13: Relative to a generic oracle, there is no pseudorandom generator that is secure against P/poly adversaries.&lt;/li&gt;&#xA;&lt;li&gt;Thm 16 [Allender and Gore, 1991]: There is an oracle relative to which all NE predicates are solvable in exponential time and E = Union_k \Sigma_k-TIME(n).&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Both proofs use Kolmogorov complexity significantly.&lt;/p&gt;&#xA;" OwnerUserId="129" LastEditorUserId="129" LastEditDate="2010-08-19T01:05:57.813" LastActivityDate="2010-08-19T01:05:57.813" CommentCount="1" CommunityOwnedDate="2010-08-19T00:49:20.873" ContentLicense="CC BY-SA 2.5" />
  <row Id="291" PostTypeId="2" ParentId="286" CreationDate="2010-08-19T01:48:37.697" Score="3" Body="&lt;p&gt;Do you mean something like this, ilyaraz?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://arxiv.org/abs/1004.3993&quot; rel=&quot;nofollow&quot;&gt;http://arxiv.org/abs/1004.3993&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="30" LastActivityDate="2010-08-19T01:48:37.697" CommentCount="1" CommunityOwnedDate="2010-08-19T01:48:37.697" ContentLicense="CC BY-SA 2.5" />
  <row Id="292" PostTypeId="2" ParentId="238" CreationDate="2010-08-19T02:37:05.537" Score="25" Body="&lt;p&gt;Here's another book where the chapters are more focused on proof techniques.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&quot;Extremal Combinatorics With Applications in Computer Science&quot;, by Stasys Jukna. It's a nice book and covers a lot of combinatorics that you may need in TCS. Of course its subject matter does not include diagonalization, tableaus, etc., but it is a collection of neat combinatorial techniques looking for an application (and at various places in the text, applications are spelled out).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An &quot;early draft&quot; of the second edition is &lt;a href=&quot;http://www.thi.informatik.uni-frankfurt.de/~jukna/EC_Book_2nd/draft.pdf&quot;&gt;available here&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="225" LastEditorUserId="225" LastEditDate="2013-09-21T00:20:58.400" LastActivityDate="2013-09-21T00:20:58.400" CommentCount="1" CommunityOwnedDate="2010-08-19T02:37:05.537" ContentLicense="CC BY-SA 3.0" />
  <row Id="293" PostTypeId="2" ParentId="238" CreationDate="2010-08-19T02:47:29.227" Score="13" Body="&lt;p&gt;Another techniques tome that is useful in many parts of theoretical computer science:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Noga Alon and Joel H. Spencer, &lt;em&gt;The Probabilistic Method&lt;/em&gt; (3rd edition), Wiley, ISBN 0470170204.&lt;/p&gt;&#xA;" OwnerUserId="109" LastActivityDate="2010-08-19T02:47:29.227" CommentCount="0" CommunityOwnedDate="2010-08-19T02:47:29.227" ContentLicense="CC BY-SA 2.5" />
  <row Id="294" PostTypeId="2" ParentId="152" CreationDate="2010-08-19T03:21:48.003" Score="13" Body="&lt;p&gt;If you're given k DFAs (k is part of the input) and wish to know if their intersection is empty, this problem is PSPACE-complete in general:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Dexter Kozen: Lower Bounds for Natural Proof Systems FOCS 1977: 254-266&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Perhaps if you carefully study this proof (and similar constructions by Lipton and his co-authors), you might find some sort of space lower bound even for fixed k. &lt;/p&gt;&#xA;" OwnerUserId="225" LastActivityDate="2010-08-19T03:21:48.003" CommentCount="8" ContentLicense="CC BY-SA 2.5" />
  <row Id="295" PostTypeId="2" ParentId="82" CreationDate="2010-08-19T03:29:00.723" Score="22" Body="&lt;p&gt;Computers have been also used to determine upper bounds on the running times of backtracking programs solving NP-hard problems, and construct gadgets to prove inapproximability results. This and other fun-filled topics await you in a short essay &lt;em&gt;(warning, extreme self-promotion ahead)&lt;/em&gt; entitled &quot;Applying Practice To Theory.&quot; See &lt;a href=&quot;http://arxiv.org/abs/0811.1305&quot;&gt;http://arxiv.org/abs/0811.1305&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given this nice list, it looks like I should update the paper!&lt;/p&gt;&#xA;" OwnerUserId="225" LastActivityDate="2010-08-19T03:29:00.723" CommentCount="1" CommunityOwnedDate="2010-08-19T03:29:00.723" ContentLicense="CC BY-SA 2.5" />
  <row Id="296" PostTypeId="2" ParentId="268" CreationDate="2010-08-19T04:33:01.467" Score="3" Body="&lt;p&gt;Here is an older paper you might find helpful: Logspace Machines with Multiple Oracle Tapes by &lt;a href=&quot;http://people.csail.mit.edu/lynch/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Nancy Lynch at MIT&lt;/a&gt; (&lt;a href=&quot;http://groups.csail.mit.edu/tds/papers/Lynch/tcs78.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;PDF&lt;/a&gt;). In particular Theorem 2.2, on PDF-page 5, might be the type of thing you're looking for. There's also a section on hierarchies defined by different numbers of oracle tapes per machine.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Disclaimer after the fact: Looks like a similar question and (even more similar) answer were given &lt;a href=&quot;https://cstheory.stackexchange.com/questions/7/space-bounded-tms-and-oracles&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="108" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2010-08-19T04:33:01.467" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="298" PostTypeId="2" ParentId="284" CreationDate="2010-08-19T05:11:52.550" Score="21" Body="&lt;p&gt;APX is &lt;em&gt;defined&lt;/em&gt; as a subset of NPO, so yes, if an optimization problem is in APX then the corresponding decision problem is in NP.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, if what you're asking is whether an arbitrary problem must be in NP (or NPO) if there is a poly time O(1)-approximation, then the answer is no.  I don't know of any natural problems that serve as a counter-example, but one could define an artificial maximization problem where the objective is the sum of two terms, a large term that is easily optimized in P, and a much smaller term that adds a small amount if part of the solution encodes an answer to some hard problem (outside of NP).  Then you could find, say, a 2-approximation in poly time by concentrating on the easy term, but finding an optimal solution would require solving the hard problem.&lt;/p&gt;&#xA;" OwnerUserId="205" LastActivityDate="2010-08-19T05:11:52.550" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="299" PostTypeId="2" ParentId="286" CreationDate="2010-08-19T05:28:09.293" Score="14" Body="&lt;p&gt;Just a few days ago Scott Aaronson used an argument based on Kolmogorov complexity to show the &lt;a href=&quot;http://eccc.hpi-web.de/report/2010/128/&quot;&gt;Equivalence of Sampling and Searching&lt;/a&gt;. Further he argues, that in his argument Kolmogorov complexity is used in an essential way, that is not just a short-cut for a counting argument.&lt;/p&gt;&#xA;" OwnerUserId="121" LastActivityDate="2010-08-19T05:28:09.293" CommentCount="0" CommunityOwnedDate="2010-08-19T05:28:09.293" ContentLicense="CC BY-SA 2.5" />
  <row Id="300" PostTypeId="2" ParentId="189" CreationDate="2010-08-19T07:05:52.503" Score="22" Body="&lt;p&gt;&lt;strong&gt;Knuth's Algorithm X&lt;/strong&gt; finds all solutions to the &lt;strong&gt;exact cover problem&lt;/strong&gt;. What is so magical about it is the technique he proposed to efficiently implement it: &lt;a href=&quot;http://arxiv.org/abs/cs/0011047&quot;&gt;Dancing Links&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="168" LastActivityDate="2010-08-19T07:05:52.503" CommentCount="0" CommunityOwnedDate="2010-08-19T07:05:52.503" ContentLicense="CC BY-SA 2.5" />
  <row Id="301" PostTypeId="2" ParentId="189" CreationDate="2010-08-19T07:54:38.500" Score="12" Body="&lt;p&gt;We cannot forget &lt;strong&gt;Binary Decision Diagrams&lt;/strong&gt;, a family of data structures that have become &lt;em&gt;the&lt;/em&gt; method for representing boolean functions. I think the key insight is the dual nature of being a data structure and a &quot;algorithm&quot; at the same time (which indeed is the powerful idea behind Knuth-Morris-Pratt.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My reference is again Knuth's Volume 4 Fascicle 1, and you can see his musings &lt;a href=&quot;http://stanford-online.stanford.edu/seminars/knuth/080605-knuth-300.asx&quot;&gt;here&lt;/a&gt; and &lt;a href=&quot;http://proedvid.stanford.edu/knuth/081209/081209-knuth-300.wmv&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="168" LastActivityDate="2010-08-19T07:54:38.500" CommentCount="0" CommunityOwnedDate="2010-08-19T07:54:38.500" ContentLicense="CC BY-SA 2.5" />
  <row Id="303" PostTypeId="2" ParentId="276" CreationDate="2010-08-19T09:57:58.017" Score="5" Body="&lt;p&gt;That the axioms of &lt;a href=&quot;http://en.wikipedia.org/wiki/Axiom_of_choice&quot; rel=&quot;noreferrer&quot;&gt;Choice&lt;/a&gt; and &lt;a href=&quot;http://en.wikipedia.org/wiki/Axiom_of_determinacy&quot; rel=&quot;noreferrer&quot;&gt;Determinacy&lt;/a&gt; are not compatible.&lt;/p&gt;&#xA;" OwnerUserId="81" LastActivityDate="2010-08-19T09:57:58.017" CommentCount="0" CommunityOwnedDate="2010-08-19T09:57:58.017" ContentLicense="CC BY-SA 2.5" />
  <row Id="304" PostTypeId="2" ParentId="276" CreationDate="2010-08-19T09:59:21.510" Score="11" Body="&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/G%C3%B6del%27s_incompleteness_theorems&quot;&gt;Gödel's incompleteness theorems&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="81" LastActivityDate="2010-08-19T09:59:21.510" CommentCount="0" CommunityOwnedDate="2010-08-19T09:59:21.510" ContentLicense="CC BY-SA 2.5" />
  <row Id="305" PostTypeId="1" AcceptedAnswerId="316" CreationDate="2010-08-19T10:15:51.483" Score="54" ViewCount="3009" Body="&lt;p&gt;Two ways of analyzing the efficiency of an algorithm are&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;to put an asymptotic upper bound on its runtime, and&lt;/li&gt;&#xA;&lt;li&gt;to run it and collect experimental data.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;I wonder if there are known cases where there is a &lt;em&gt;significant&lt;/em&gt; gap between (1) and (2). By this I mean that either (a) the experimental data suggests a tighter asymptotic or (b) there are algorithms X and Y such that the theoretical analysis suggests that X is much better than Y and the experimental data suggests that Y is much better than X.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since experiments usually reveal average-case behavior, I expect most interesting answers to refer to average-case upper bounds. However, I don't want to rule out possibly interesting answers that talk about different bounds, such as Noam's answer about Simplex.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Include data structures. Please put one algo/ds per answer.&lt;/p&gt;&#xA;" OwnerUserId="236" LastEditorUserId="236" LastEditDate="2010-08-19T15:47:42.850" LastActivityDate="2013-10-17T11:20:17.443" Title="For which algorithms is there a large gap between the theoretical analysis and reality?" Tags="&lt;ds.algorithms&gt;&lt;big-list&gt;&lt;ds.data-structures&gt;" AnswerCount="13" CommentCount="2" FavoriteCount="22" CommunityOwnedDate="2010-08-19T10:15:51.483" ContentLicense="CC BY-SA 2.5" />
  <row Id="306" PostTypeId="2" ParentId="267" CreationDate="2010-08-19T11:18:48.657" Score="16" Body="&lt;p&gt;What distinguishes combinatory logic is that it is variable free.  This is sometimes useful in metamathematics and philosophical logic, where the status of variables is tricky.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It may also be useful in implementations, since managing variables can be a headache.  Cf., e.g., Hughes, 1982, &lt;em&gt;Super-combinators: A new implementation method for applicative languages&lt;/em&gt;&lt;/p&gt;&#xA;" OwnerUserId="270" LastActivityDate="2010-08-19T11:18:48.657" CommentCount="7" ContentLicense="CC BY-SA 2.5" />
  <row Id="307" PostTypeId="2" ParentId="260" CreationDate="2010-08-19T11:28:55.753" Score="5" Body="&lt;p&gt;For N&amp;nbsp;&amp;ge;&amp;nbsp;10, one can build a strongly self-supporting set of size at most eleven, as follows:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;{&amp;minus;N,&amp;nbsp;&amp;minus;N+2,&amp;nbsp;&amp;minus;N+4,&amp;nbsp;&amp;minus;2,&amp;nbsp;1,&amp;nbsp;3,&amp;nbsp;4,&amp;nbsp;5,&amp;nbsp;N&amp;minus;7,&amp;nbsp;N&amp;minus;6,&amp;nbsp;N&amp;minus;5}.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The shorter example presented in the original question corresponds to the case N&amp;nbsp;=&amp;nbsp;10. This is close to being optimal, as any strongly self-supporting set must have cardinality &lt;a href=&quot;https://math.stackexchange.com/questions/2647/sets-of-integers-in-which-every-element-is-the-sum-of-two-others/2652#2652&quot;&gt;at least eight&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thus, the problem is solvable in O(log(N)) time [taken up in mundane arithmetic operations on N], yielding a set of cardinality between eight and eleven.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The construction for this answer was first presented for &lt;a href=&quot;https://math.stackexchange.com/questions/2647/sets-of-integers-in-which-every-element-is-the-sum-of-two-others/2790#2790&quot;&gt;the math.stackoverflow question&lt;/a&gt;, which also gives the intuition for the construction. Can we obtain smaller constructions still, &lt;em&gt;e.g.&lt;/em&gt; matching the lower bound of eight for every N&amp;gt;9? What about the cases of N&amp;nbsp;&amp;isin;&amp;nbsp;{8,9}?&lt;/p&gt;&#xA;" OwnerUserId="248" LastEditorUserId="-1" LastEditDate="2017-04-13T12:19:19.363" LastActivityDate="2010-08-19T11:28:55.753" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="309" PostTypeId="2" ParentId="305" CreationDate="2010-08-19T12:18:03.027" Score="10" Body="&lt;p&gt;The traversal, deque, and split corollaries of the &lt;a href=&quot;http://en.wikipedia.org/wiki/Splay_tree#Dynamic_optimality_conjecture&quot;&gt;dynamic optimality conjecture&lt;/a&gt; for splay trees are examples of such gaps. Experiments back up the claim for linear time, but there is no known proof.&lt;/p&gt;&#xA;" OwnerUserId="236" LastActivityDate="2010-08-19T12:18:03.027" CommentCount="1" CommunityOwnedDate="2010-08-19T12:18:03.027" ContentLicense="CC BY-SA 2.5" />
  <row Id="310" PostTypeId="2" ParentId="189" CreationDate="2010-08-19T12:25:08.563" Score="31" Body="&lt;p&gt;I've always been partial to &lt;strong&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Christofides_algorithm&quot;&gt;Christofides' Algorithm&lt;/a&gt;&lt;/strong&gt; that gives a (3/2)-approximation for metric TSP.  In fact, call me easy to please, but I even liked &lt;a href=&quot;http://en.wikipedia.org/wiki/Traveling_salesman_problem#Metric_TSP&quot;&gt;the 2-approximation algorithm that came before it&lt;/a&gt;.  Christofides' trick of making a minimum weight spanning tree Eulerian by adding a matching of its odd-degree vertices (instead of duplicating all edges) is simple and elegant, and it takes little to convince one that this matching has no more than half the weight of an optimum tour.&lt;/p&gt;&#xA;" OwnerUserId="196" LastEditorUserId="74" LastEditDate="2010-08-21T21:10:39.193" LastActivityDate="2010-08-21T21:10:39.193" CommentCount="1" CommunityOwnedDate="2010-08-19T12:25:08.563" ContentLicense="CC BY-SA 2.5" />
  <row Id="311" PostTypeId="2" ParentId="305" CreationDate="2010-08-19T12:37:53.860" Score="28" Body="&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Gr%C3%B6bner_basis&quot;&gt;Groebner bases&lt;/a&gt;.  The worst-case running time is doubly-exponential (in the number of variables).  In practice however, especially for well-structured problems, the &lt;a href=&quot;http://en.wikipedia.org/wiki/Faug%C3%A8re_F4_algorithm&quot;&gt;F4 and F5&lt;/a&gt; algorithms are effective (i.e. terminate quite quickly).  It is still an active area of research to figure out what the proper conjecture even should be regarding the average or expected running time.  It is conjectured that it is related, somehow, to the volume of the Newton polytope of the underlying ideal.&lt;/p&gt;&#xA;" OwnerUserId="66" LastActivityDate="2010-08-19T12:37:53.860" CommentCount="6" CommunityOwnedDate="2010-08-19T12:37:53.860" ContentLicense="CC BY-SA 2.5" />
  <row Id="312" PostTypeId="2" ParentId="174" CreationDate="2010-08-19T13:23:45.993" Score="30" Body="&lt;p&gt;What is the approximability of &lt;a href=&quot;http://en.wikipedia.org/wiki/Traveling_salesman_problem#Metric_TSP&quot;&gt;Metric TSP&lt;/a&gt;?  &lt;a href=&quot;http://en.wikipedia.org/wiki/Christofides_algorithm&quot;&gt;Christofides' Algorithm&lt;/a&gt; from 1975 is a polynomial-time (3/2)-approximation algorithm.  Is it NP-hard to do better?  &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Approximating Metric TSP to within a factor smaller than 220/219 is NP-hard (Papadimitriou and Vempala, 2006 &lt;a href=&quot;http://www.cs.berkeley.edu/~christos/tsp.ps&quot;&gt;[PS]&lt;/a&gt;).  To my knowledge this is the best known lower bound.  &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;There is some evidence suggesting that the actual bound may be 4/3 (Carr and Vempala, 2004 &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.64.7595&quot;&gt;[Free version]&lt;/a&gt; &lt;a href=&quot;http://www.springerlink.com/content/2e1ck0nv7u6r6l0t/&quot;&gt;[Good version]&lt;/a&gt;).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The upper bound on approximability was recently lowered to $13/9$ (Mucha 2011 &quot;13/9&#xA;-approximation for Graphic TSP&quot; [&lt;a href=&quot;http://arxiv.org/pdf/1108.1130.pdf&quot;&gt;PDF&lt;/a&gt;])&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="196" LastEditorUserId="1037" LastEditDate="2012-01-26T23:45:23.893" LastActivityDate="2012-01-26T23:45:23.893" CommentCount="4" CommunityOwnedDate="2010-08-19T13:23:45.993" ContentLicense="CC BY-SA 3.0" />
  <row Id="313" PostTypeId="2" ParentId="189" CreationDate="2010-08-19T13:27:18.467" Score="22" Body="&lt;p&gt;Robin Moser algorithm for solving a certain class of SAT instances.  Such instances are solvable by Lovasz Local Lemma. Moser algorithm is indeed a de-randomization of the statement of the lemma.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think that is some years his algorithm (and the technique for its correctness proof) will be well digested and refined to the point of being a viable candidate for an &lt;strong&gt;Algorithm from the Book&lt;/strong&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://arxiv.org/abs/0903.0544&quot;&gt;This version&lt;/a&gt; is an extension of his original paper, written with Gábor Tardos.&lt;/p&gt;&#xA;" OwnerUserId="267" LastActivityDate="2010-08-19T13:27:18.467" CommentCount="0" CommunityOwnedDate="2010-08-19T13:27:18.467" ContentLicense="CC BY-SA 2.5" />
  <row Id="314" PostTypeId="1" AcceptedAnswerId="319" CreationDate="2010-08-19T14:02:54.637" Score="33" ViewCount="2156" Body="&lt;p&gt;There is often-quoted philosophical justification for believing that P != NP even without proof. Other complexity classes have evidence that they are distinct, because if not, there would be &quot;surprising&quot; consequences (like the collapse of the polynomial hierarchy). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is, what is the basis for belief that the class PPAD is intractable? If there was a polynomial time algorithm for finding Nash equilibria, would this imply anything about other complexity classes? Is there a heuristic argument for why it should be hard? &lt;/p&gt;&#xA;" OwnerUserId="25" LastEditorUserId="109" LastEditDate="2010-09-24T16:15:28.883" LastActivityDate="2017-02-07T19:07:51.287" Title="Evidence that PPAD is hard?" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;gt.game-theory&gt;&lt;conditional-results&gt;" AnswerCount="5" CommentCount="0" FavoriteCount="8" ContentLicense="CC BY-SA 2.5" />
  <row Id="315" PostTypeId="2" ParentId="113" CreationDate="2010-08-19T14:05:33.240" Score="2" Body="&lt;p&gt;A proof by a charging argument is posed as an exercise (together with step by step hints) on page 13 of David Mount's computational geometry class handouts:&#xA;&lt;a href=&quot;http://www.cs.umd.edu/class/fall2005/cmsc754/Handouts/cmsc754-handouts.pdf&quot; rel=&quot;nofollow&quot;&gt;http://www.cs.umd.edu/class/fall2005/cmsc754/Handouts/cmsc754-handouts.pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="169" LastActivityDate="2010-08-19T14:05:33.240" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="316" PostTypeId="2" ParentId="305" CreationDate="2010-08-19T14:51:49.340" Score="41" Body="&lt;p&gt;The most glaring example is of course the Simplex method that runs quickly in practice, suggesting poly-timeness, but takes exponential time in theory.  Dan Spielman just got the Nevanlinna award to a large extent for explaining this mystery.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More generally, many instances of Integer-programming can be solved quite well using standard IP-solvers, e.g. combinatorial auctions for most distributions attempted on significant sized inputs could be solved -- &lt;a href=&quot;http://www.cis.upenn.edu/~mkearns/teaching/cgt/combinatorial-auctions-survey.pdf&quot;&gt;http://www.cis.upenn.edu/~mkearns/teaching/cgt/combinatorial-auctions-survey.pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="42" LastEditorUserId="127" LastEditDate="2010-08-19T15:14:22.290" LastActivityDate="2010-08-19T15:14:22.290" CommentCount="4" CommunityOwnedDate="2010-08-19T14:51:49.340" ContentLicense="CC BY-SA 2.5" />
  <row Id="317" PostTypeId="1" AcceptedAnswerId="1976" CreationDate="2010-08-19T15:22:59.487" Score="19" ViewCount="564" Body="&lt;p&gt;Zinkevich's &quot;online convex optimization&quot; ( &lt;a href=&quot;http://www.cs.cmu.edu/~maz/publications/ICML03.pdf&quot;&gt;http://www.cs.cmu.edu/~maz/publications/ICML03.pdf&lt;/a&gt; ) generalizes &quot;regret minimization&quot; learning algorithms from a linear settings to a convex setting and gives good &quot;external regret&quot;.  Is there a similar generalization for internal regret?  (I'm not totally sure even what exactly that would mean.)&lt;/p&gt;&#xA;" OwnerUserId="42" LastEditorUserId="74" LastEditDate="2010-08-21T20:43:42.197" LastActivityDate="2010-10-06T14:45:48.080" Title="Internal Regret in Online Convex Optimization" Tags="&lt;lg.learning&gt;&lt;online-learning&gt;" AnswerCount="2" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="318" PostTypeId="1" AcceptedAnswerId="362" CreationDate="2010-08-19T15:24:53.233" Score="11" ViewCount="604" Body="&lt;p&gt;Here are two variations on the definition of NP.  They (almost certainly) define distinct complexity classes, but my question is: are there natural examples of problems that fit into these classes?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(My threshold for what counts as natural here is a bit lower than usual.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Class 1 (a superclass of NP): Problems with polynomial-size witnesses that take superpolynomial but subexponential time to verify.  For concreteness, let's say time $n^{O(\log n)}$.  This is equivalent to the class of languages recognized by nondeterministic machines that take time $n^{O(\log n)}$ but can only make poly(n) nondeterministic guesses.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Are there natural problems in class 1 that is not known/thought to be either in $NP$ nor in $DTIME(n^{O(\log n)})$?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Class 1 is a class of languages, as usual.  Class 2, on the other hand, is a class of relational problems:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Class 2: A binary relation R = {(x,y)} is in this class if&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;There is a polynomial p such that (x,y) in R implies |y| is at most p(|x|).&lt;/li&gt;&#xA;&lt;li&gt;There is a poly(|x|)-time algorithm A such that, for all inputs x, if there is a y such that (x,y) is in R, then (x,A(x)) is in R, and if there is no such y, then A(x) rejects.&lt;/li&gt;&#xA;&lt;li&gt;For any poly(|x|)-time algorithm B, there are infinitely many pairs (x,w) such that B(x,w) differs from R(x,w) (here I am using R to denote its own characteristic function).&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;In other words, for all instances, some witness is easy to find if there is one.  And yet not all witnesses are easily verifiable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Note that if R is in class 2, then the projection of R onto its first factor is simply in P.  This is what I meant by saying that class 2 is a class of relational problems.)&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Are there natural relational problems in class 2?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="129" LastEditorUserId="74" LastEditDate="2010-08-21T20:23:23.500" LastActivityDate="2010-09-17T04:04:38.357" Title="Two Variants of NP" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;np&gt;" AnswerCount="3" CommentCount="6" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="319" PostTypeId="2" ParentId="314" CreationDate="2010-08-19T15:30:35.467" Score="29" Body="&lt;p&gt;PPAD is pretty &quot;low&quot; above P and not much would change in our understanding of complexity if it was shown equal to P (except that the few problems in PPAD would now be in P).  The main &quot;evidence&quot; that PPAD!=P is an oracle separation, which is essentially equivalent to the  combinatorial fact that no &quot;black-box simulation&quot; exists.&lt;/p&gt;&#xA;" OwnerUserId="42" LastActivityDate="2010-08-19T15:30:35.467" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="320" PostTypeId="1" AcceptedAnswerId="342" CreationDate="2010-08-19T15:35:52.270" Score="12" ViewCount="340" Body="&lt;p&gt;Let distinct points $1 ... n$ sit in $\mathbb{R}^2$.  We say points $i$ and $j$ are neighbors if $|i-j| &amp;lt; 3 \pmod{n-2}$, meaning each point is neighbors with points with indexes within $2$, wrapping around.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem is: &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;For each pair of neighbors we are given their pairwise distances (and we know which distance corresponds to which points), and we want to reconstruct the&#xA;  pairwise distances of all points.  My&#xA;  questions is, what is the complexity&#xA;  of this localization problem?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I don't know of a polynomial time algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is motivated by problems in &lt;a href=&quot;http://www.cs.yale.edu/homes/dkg6/papers/thesis.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;localization in sensor networks&lt;/a&gt;, where agents, placed ad-hoc, can wirelessly communicate with their lexicographic neighbors, and we want to reconstruct their positions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I don't know much about geometry / localization problems, so this might be easy or known.  The closest problem I know about is the &lt;a href=&quot;https://cstheory.stackexchange.com/questions/79/problems-between-p-and-npc/101#101&quot;&gt;Turnpike problem&lt;/a&gt;, recently pointed out on this forum by @Suresh Venkat.&lt;/p&gt;&#xA;" OwnerUserId="123" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2010-08-20T09:04:35.087" Title="Complexity of Localization in Wireless Networks" Tags="&lt;cg.comp-geom&gt;" AnswerCount="3" CommentCount="5" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="321" PostTypeId="2" ParentId="305" CreationDate="2010-08-19T15:38:43.987" Score="9" Body="&lt;p&gt;There is a slight issue with the question. There are in fact more than two ways of analyzing an algorithm, and one of the theoretical ways which has been neglected is expected run time, rather than worst case run time. It is really this average case behaviour that is relevant to doing experiments. Here is a very simple example: Imagine that you have an algorithm for an input of size n, which takes time n for each possible input of size n except for one specific input of each length which takes time 2^n. Hear the worst case run time is exponential, but the average case is [(2^n -1)n + (2^n)1]/(2^n) = n - (n-1)/2^n which limits to n. Clearly the two types of analysis give very different answers, but this is to be expected as we are calculating different quantities.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By running the experiment a bunch of times, even if we take the longest run time for the sample, we are still only sampling a small portion of the space of possible inputs, and so if hard instances are rare then we are likely to miss them.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is relatively easy to construct such a problem: If the first n/2 bits are all zero, than solve the 3SAT instance encoded with the last n/2 bits. Otherwise reject. As n gets large the problem has roughly the same run time in the worst case as the most efficient algorithm for 3SAT, where as the average run time is guaranteed to be very low.&lt;/p&gt;&#xA;" OwnerUserId="204" LastActivityDate="2010-08-19T15:38:43.987" CommentCount="1" CommunityOwnedDate="2010-08-19T15:38:43.987" ContentLicense="CC BY-SA 2.5" />
  <row Id="322" PostTypeId="2" ParentId="305" CreationDate="2010-08-19T15:52:02.957" Score="21" Body="&lt;p&gt;Another example that has not been well understood until recently is the running time of &lt;a href=&quot;http://en.wikipedia.org/wiki/Lloyd%27s_algorithm&quot;&gt;Lloyd's k-means algorithm&lt;/a&gt;, which (from a practical standpoint) has been the clustering algorithm of choice for more than 50 years. Only recently, in 2009, it has been proven (by &lt;a href=&quot;http://arxiv.org/abs/0812.0382&quot;&gt;Vattani&lt;/a&gt;) that in the worst case, Lloyd's algorithm requires a number of iterations that is exponential in the number of input points. On the other hand, at the same time, a smoothed analysis (by &lt;a href=&quot;http://arxiv.org/abs/0904.1113&quot;&gt;Arthur, Manthey and Röglin&lt;/a&gt;) proved that the smoothed number of iterations is merely polynomial, which explained the empirical performance.&lt;/p&gt;&#xA;" OwnerUserId="228" LastEditorUserId="228" LastEditDate="2010-08-19T16:00:53.747" LastActivityDate="2010-08-19T16:00:53.747" CommentCount="0" CommunityOwnedDate="2010-08-19T15:52:02.957" ContentLicense="CC BY-SA 2.5" />
  <row Id="323" PostTypeId="2" ParentId="314" CreationDate="2010-08-19T15:52:32.113" Score="8" Body="&lt;p&gt;Buhrman et al. showed there is an oracle relative to which all TFNP functions are poly-time computable, yet the Polynomial Hierarchy is infinite.  TFNP is a class which contains PPAD and its cousins.  This is another result strengthening our sense that PPAD being easy would not generate unlikely consequences in complexity.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The paper is &#xA;&quot;Does the Polynomial Hierarchy Collapse if Onto&#xA;Functions are Invertible?&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;available on Lance Fortnow's website.  It seems an earlier version of the paper was titled &quot;Inverting onto functions and the polynomial hierarchy&quot; (the new version is under this old name on Lance's site).&lt;/p&gt;&#xA;" OwnerUserId="223" LastActivityDate="2010-08-19T15:52:32.113" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="324" PostTypeId="2" ParentId="305" CreationDate="2010-08-19T16:00:41.313" Score="20" Body="&lt;p&gt;From David Johnson, a discrepancy in theoretical vs. experimental approximation ratios:&#xA;&lt;a href=&quot;http://www2.research.att.com/~dsj/papers/TSPchapter.pdf&quot;&gt;The Traveling Salesman Problem: A Case Study in Local Optimization, D. S. Johnson and L. A. McGeoch&lt;/a&gt;.  In this paper they give experimental evidence of asymptotics (since the experiments run up to size N=10,000,000!) that defy the theoretical asymptotics: Jon Bentley's&#xA;&quot;Greedy&quot; or &quot;Multi-Fragment&quot; algorithm (worst-case approximation ratio&#xA;at least logN/loglogN) beats Nearest Insertion and Double MST, both of which have worst-case approximation ratios of 2.&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2010-08-19T16:00:41.313" CommentCount="0" CommunityOwnedDate="2010-08-19T16:00:41.313" ContentLicense="CC BY-SA 2.5" />
  <row Id="325" PostTypeId="2" ParentId="268" CreationDate="2010-08-19T16:10:03.350" Score="5" Body="&lt;p&gt;Here is a more recent paper giving a difference between single vs. multiple oracles motivated by cryptography:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Donald Beaver and Joan Feigenbaum.  &lt;a href=&quot;http://www.springerlink.com/content/y54n658xg057p577/abstract/&quot; rel=&quot;nofollow&quot;&gt;Hiding instances in multioracle queries&lt;/a&gt;.  STACS 1990.  Springer Lecture Notes in Computer Science, 1990, Volume 415/1990, 37-48, DOI: 10.1007/3-540-52282-4_30&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2010-08-19T16:10:03.350" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="326" PostTypeId="2" ParentId="227" CreationDate="2010-08-19T17:12:25.460" Score="10" Body="&lt;p&gt;[I was reading something I thought was totally unrelated and then had an &quot;aha moment&quot; so I think I've figured out at least part of the answer.  I'm not sure if this is what Gurvits had in mind, but this makes sense to me.]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A distribution on n binary variables $x_1,...,x_n$ can be viewed as an element of the tensor product $\mathbb{R}^2 \otimes \dotsb \otimes \mathbb{R}^{2}$ (n factors) (actually the associated projective space, but we'll get to that).  If we label the basis elements of each copy of $\mathbb{R}^2$ by $|0\rangle$ and $|1\rangle$, then a basis of this tensor product space is given by the set of all n-bit strings.  If we have an element of this tensor product whose coefficients sum to 1, then we can interpret the coefficient of any given n-bit string as the probability of that string occurring -- whence, a probability distribution!  Now, since we only want probability distributions (coefficients summing to 1) we can normalize any vector in the tensor product to have that property.  By only considering normalized tensors, we are really only considering elements of the projective space of this tensor product.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now we have to connect tensor-rank to Deolalikar's notion of polylog-parametrizability.  According to &lt;a href=&quot;http://michaelnielsen.org/polymath1/index.php?title=Polylog_parameterizability&quot;&gt;this page&lt;/a&gt; by Terry Tao, it seems that Deolalikar's notion of polylog-parametrizability is that the distribution $\mu$ can be &quot;factored into potentials&quot; as $\mu(x_1,...,x_n) = \prod_{i=1}^{n} p_i(x_i ; x_{pa(i)})$ where pa(i) is a set of polylog(n) variables, defined to be the &quot;parents of i&quot; and $p_i( - ; x_{pa(i)})$ is a distribution on $x_i$ that depends only on these parent variables.  Moreover, the directed graph of parents should be acyclic.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let's start with a very simple kind of distribution. Suppose $\mu$ satisfies $\mu(x_1, ..., x_n) = \prod_{i=1}^{n} p_i(x_i)$ for some distributions $p_i$ (where $p_i$ depends only on $x_i$).  Then it is hopefully clear that the corresponding tensor is the rank 1 tensor: $(p_1(0)|0\rangle + p_1(1)|1\rangle) \otimes \dotsb \otimes (p_n(0)|0\rangle + p_n(1)|1\rangle)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For a slightly more complicated distribution, suppose we want to consider the uniform distribution over the strings where $x_{2i} = 1 - x_{2i+1}$ (they are each other's negation) for all $i$.  In Tao's interpretation of Deolalikar's language, this would be a $O(1)$-parametrizable distribution.  Then this corresponds to the tensor $(|0\rangle \otimes |1\rangle + |1\rangle \otimes |0\rangle) \otimes \dotsb \otimes (|0\rangle \otimes |1\rangle + |1\rangle \otimes |0\rangle)$ (needs to be normalized).  If we write this out in full, it contains $2^{n/2}$ terms, and so has tensor-rank at most $2^{n/2}$ over $\mathbb{R}^2$.  However, over $\mathbb{R}^2 \otimes \mathbb{R}^2$, it has tensor-rank 1!  I believe the latter fact corresponds to the fact that the factorization can be described by $O(n)$ numbers -- $O(1)$ for each pair of adjacent bits, for each of $O(n)$ adjacent pairs.  Significantly smaller than the $2^n$ real numbers required in theory for an arbitrary distribution mu on the Boolean cube.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm still having trouble formulating two issues, and would appreciate further answers on them:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Making the latter correspondence precise&lt;/li&gt;&#xA;&lt;li&gt;Writing out the formulae for the tensor corresponding to polylog-parametrizable distribution, and getting an upper bound on its rank.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="129" LastEditorUserId="129" LastEditDate="2010-08-21T00:52:34.430" LastActivityDate="2010-08-21T00:52:34.430" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="327" PostTypeId="2" ParentId="286" CreationDate="2010-08-19T17:37:00.117" Score="5" Body="&lt;p&gt;Minimum Description Length uses Kolmogorov complexity (or approximations and generalizations thereof, due to undecidability) in information-theoretical learning and inference theory. Specifically, MDL is used to find explanations of data that naturally avoids overfitting.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Jorma Rissanen provides a good introduction to his concept: &lt;a href=&quot;http://www.mdl-research.org/jorma.rissanen/pub/Intro.pdf&quot;&gt;http://www.mdl-research.org/jorma.rissanen/pub/Intro.pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="3624" LastActivityDate="2010-08-19T17:37:00.117" CommentCount="0" CommunityOwnedDate="2010-08-19T17:37:00.117" ContentLicense="CC BY-SA 2.5" />
  <row Id="328" PostTypeId="2" ParentId="286" CreationDate="2010-08-19T18:41:56.353" Score="11" Body="&lt;p&gt;One excellent paper that I know of (in addition to those other excellent papers mentioned in other answers):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Juris Hartmanis, &lt;a href=&quot;http://dx.doi.org/10.1109/SFCS.1983.21&quot;&gt;&lt;em&gt;Generalized Kolmogorov Complexity and the Structure of Feasible Computations&lt;/em&gt;&lt;/a&gt;, FOCS 1983.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The main thing I remember from that paper is a Kolmogorov complexity-based construction of an oracle separating P from NP.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another paper that comes to mind is&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Allender et al., &lt;em&gt;Power from Random Strings&lt;/em&gt;, FOCS 2002 (&lt;a href=&quot;http://eccc.uni-trier.de/report/2002/028/&quot;&gt;ECCC version&lt;/a&gt;) and &lt;a href=&quot;http://dx.doi.org/10.1137/050628994&quot;&gt;SICOMP 2006&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If I recall, the latter paper separates polynomial-time Turing completeness from log-space many-one completeness in PSPACE, using Kolmogorov complexity arguments.  Of course, it does many other things, but I recall that separation being one application that is of independent interest outside of algorithmic information theory.&lt;/p&gt;&#xA;" OwnerUserId="165" LastEditorUserId="109" LastEditDate="2010-08-24T11:38:13.907" LastActivityDate="2010-08-24T11:38:13.907" CommentCount="0" CommunityOwnedDate="2010-08-19T18:41:56.353" ContentLicense="CC BY-SA 2.5" />
  <row Id="329" PostTypeId="2" ParentId="320" CreationDate="2010-08-19T18:55:22.037" Score="4" Body="&lt;p&gt;Drineas et al. wrote the paper &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.80.3194&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;nofollow&quot;&gt;&lt;em&gt;Distance Matrix Reconstruction from Incomplete Distance Information for Sensor Network Localization&lt;/em&gt;&lt;/a&gt;. But what they achieve is probably not exactly what you ask for : they compute the whole distance map from an incomplete one, even in the presence of noise and node failures.&lt;/p&gt;&#xA;" OwnerUserId="76" LastActivityDate="2010-08-19T18:55:22.037" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="330" PostTypeId="1" AcceptedAnswerId="335" CreationDate="2010-08-19T20:21:44.363" Score="28" ViewCount="1017" Body="&lt;p&gt;Are there any natural problems in $NP \cap coNP$ that are not (known to be/thought to be) in $UP \cap coUP$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Obviously the big one everyone knows about in $NP \cap coNP$ is the decision version of factoring (does n have a factor of size at most k), but that is in fact in $UP \cap coUP$.&lt;/p&gt;&#xA;" OwnerUserId="129" LastEditorUserId="74" LastEditDate="2010-08-21T20:26:18.190" LastActivityDate="2011-12-12T14:28:15.887" Title="Natural problems in $NP \cap coNP$ not in $UP \cap coUP$?" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;np&gt;" AnswerCount="3" CommentCount="3" FavoriteCount="7" ContentLicense="CC BY-SA 2.5" />
  <row Id="331" PostTypeId="1" CreationDate="2010-08-19T20:26:21.217" Score="6" ViewCount="387" Body="&lt;p&gt;It seems that the perceptron updates come from some notion of primal-dual updates for convex programs. Can anyone explain how this is true or point to relevant literature?&lt;/p&gt;&#xA;" OwnerUserId="315" LastEditorUserId="109" LastEditDate="2010-09-24T18:50:37.163" LastActivityDate="2010-09-24T18:50:37.163" Title="Online learning: Perceptron updates" Tags="&lt;lg.learning&gt;&lt;online-learning&gt;&lt;primal-dual&gt;" AnswerCount="2" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="332" PostTypeId="1" AcceptedAnswerId="395" CreationDate="2010-08-19T20:26:30.047" Score="17" ViewCount="390" Body="&lt;p&gt;Typically, efficient algorithms have a polynomial runtime and an exponentially-large solution space.  This means that the problem must be easy in two senses: first, the problem can be solved in a polynomial number of steps, and second, the solution space must be very structured because the runtime is only polylogarithmic in the number of possible solutions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, sometimes these two notions diverge, and a problem is easy only in the first sense.  For instance, a common technique in approximation algorithms and parameterized complexity is (roughly) to prove that the solution space can actually be restricted to a much smaller size than the naive definition and then use brute-force to find the best answer in this restricted space.  If we can &lt;em&gt;a priori&lt;/em&gt; restrict ourselves to, say, n^3 possible answers, but we still need to check each one, then in some sense such problems are still &quot;hard&quot; in that there's no better algorithm than brute-force.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Conversely, if we have a problem with a doubly-exponential number of possible answers, but we can solve it in only exponential time, then I'd like to say that such a problem is &quot;easy&quot; (&quot;structured&quot; may be a better word) since runtime is only log of the solution space size.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does anyone know of any papers that consider something like hardness based on the gap between an efficient algorithm and brute-force or hardness relative to the size of the solution space?&lt;/p&gt;&#xA;" OwnerUserId="205" LastActivityDate="2010-08-22T22:28:52.670" Title="Alternate notion of complexity based on gap between brute-force and the best algorithm?" Tags="&lt;cc.complexity-theory&gt;" AnswerCount="4" CommentCount="0" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="333" PostTypeId="2" ParentId="332" CreationDate="2010-08-19T20:59:59.887" Score="5" Body="&lt;p&gt;How would you deal with typical dynamic programming problems ? Here, what often happens is that the space of &lt;strong&gt;&lt;em&gt;optimal&lt;/em&gt;&lt;/strong&gt; solutions is polynomially bounded, but the space of solutions isn't. So it seems &quot;easy&quot; in your sense because the running time is logarithmic in the solution space, but it's &quot;hard&quot; in your sense because it runs &quot;brute force&quot; over all potentially optimal solutions. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2010-08-19T20:59:59.887" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="334" PostTypeId="2" ParentId="331" CreationDate="2010-08-19T21:09:12.097" Score="10" Body="&lt;p&gt;The perceptron algorithm as such is a simple case of Gradient Descent (which is widely used for convex optimization). It minimizes a convex function (here the sum of inner products of misclassified examples with the current hypothesis) by making a step in the direction of the gradient of the convex function. As such perceptron is not necessarily an online learning algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is however work on primal dual interpretations of online learning algorithms that seem to be relevant to you:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://ttic.uchicago.edu/~shai/papers/ShalevSi07_mlj.pdf&quot; rel=&quot;noreferrer&quot;&gt;http://ttic.uchicago.edu/~shai/papers/ShalevSi07_mlj.pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="68" LastEditorUserId="68" LastEditDate="2010-08-23T21:57:22.247" LastActivityDate="2010-08-23T21:57:22.247" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="335" PostTypeId="2" ParentId="330" CreationDate="2010-08-19T21:11:20.187" Score="16" Body="&lt;p&gt;While &lt;a href=&quot;http://en.wikipedia.org/wiki/Parity_game&quot;&gt;parity games&lt;/a&gt; are known to be in both, &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=1109631&quot;&gt;it's been claimed&lt;/a&gt; that stochastic parity games are not known to be in UP intersect coUP.&lt;/p&gt;&#xA;" OwnerUserId="123" LastActivityDate="2010-08-19T21:11:20.187" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="336" PostTypeId="2" ParentId="332" CreationDate="2010-08-19T21:13:56.553" Score="3" Body="&lt;p&gt;The perspective seems to assume some things, like fininitude of solution spaces.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, think about the problem of generating a Voronoi tesselation from a set of input points. Here there is an infinitely sized solution space as each point in the edges of the diagram is a tuple of real numbers. Yet a solution can be reached in O(n log(n)) in the number of input points (for the plane).&lt;/p&gt;&#xA;" OwnerUserId="3624" LastEditorUserId="3624" LastEditDate="2010-08-19T21:31:30.323" LastActivityDate="2010-08-19T21:31:30.323" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="337" PostTypeId="2" ParentId="330" CreationDate="2010-08-19T21:17:39.210" Score="14" Body="&lt;p&gt;Lattice problems are a good source of candidates.   Given a basis for a lattice $L$ in $R^n$, one can look for a nonzero lattice vector whose ($\ell_2$) norm is smallest possible; this is the 'Shortest Vector Problem' (SVP).  Also, given a basis for $L$ and a point $t \in R^n$, one can ask for a lattice vector as close as possible to $t$; this is the 'Closest Vector Problem' (CVP).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Both problems are NP-hard to solve exactly.  Aharonov and Regev showed that in (NP $\cap$ coNP), one can solve them to within an $O(\sqrt{n})$ factor:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://portal.acm.org/citation.cfm?id=1089025&quot;&gt;http://portal.acm.org/citation.cfm?id=1089025&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I've read the paper, and I don't think there's any hint from their work that one can do this in UP $\cup$ coUP, let alone UP $\cap$ coUP.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A technicality: as stated, these are search problems, so strictly speaking we have to be careful about what we mean when we say they're in a complexity class.  Using a decisional variant of the approximation problem, the candidate decision problem we get is a &lt;em&gt;promise problem&lt;/em&gt;: given a lattice $L$, distinguish between the following two cases:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Case I: $L$ has a nonzero vector of norm $\leq 1$;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Case II: $L$ has no nonzero vector of norm $\leq C\sqrt{n}$.  (for some constant $C &gt; 0$)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This problem is in Promise-NP $\cap$ Promise-coNP, and might not be in either Promise-UP or Promise-coUP.  But assume for the moment that it's not in Promise-UP; this doesn't seem to yield an example of a problem in (NP $\cap$ coNP)$\setminus$UP.  The difficulty stems from the fact that NP $\cap$ coNP is a semantic class.&#xA;(By contrast, if we identified a problem in Promise-NP$\setminus$Promise-P, then we could conclude P$\neq$NP.  This is because any NP machine solving a promise problem $\Pi$ also defines an NP language $L$ which is no easier than $\Pi$.)&lt;/p&gt;&#xA;" OwnerUserId="223" LastEditorUserId="223" LastEditDate="2010-08-19T21:23:19.493" LastActivityDate="2010-08-19T21:23:19.493" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="338" PostTypeId="2" ParentId="276" CreationDate="2010-08-19T21:35:02.150" Score="21" Body="&lt;p&gt;If $P \neq NP$, then there is a &quot;diagonalization&quot; proof for it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This result is due to Kozen. Not everyone agrees with what he calls a &quot;diagonalization&quot; proof.&lt;/p&gt;&#xA;" OwnerUserId="186" LastActivityDate="2010-08-19T21:35:02.150" CommentCount="4" CommunityOwnedDate="2010-08-19T21:35:02.150" ContentLicense="CC BY-SA 2.5" />
  <row Id="339" PostTypeId="2" ParentId="276" CreationDate="2010-08-19T21:41:24.010" Score="10" Body="&lt;p&gt;Razborov-Rudich Natural Proofs theorem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(AFAIK) People were very hopeful about proving circuit lower bounds but after this theorem many stopped working and moved to other topics.&lt;/p&gt;&#xA;" OwnerUserId="186" LastActivityDate="2010-08-19T21:41:24.010" CommentCount="0" CommunityOwnedDate="2010-08-19T21:41:24.010" ContentLicense="CC BY-SA 2.5" />
  <row Id="340" PostTypeId="2" ParentId="276" CreationDate="2010-08-19T21:45:08.627" Score="14" Body="&lt;p&gt;$NL$ is closed under complementation.&lt;/p&gt;&#xA;" OwnerUserId="186" LastActivityDate="2010-08-19T21:45:08.627" CommentCount="0" CommunityOwnedDate="2010-08-19T21:45:08.627" ContentLicense="CC BY-SA 2.5" />
  <row Id="341" PostTypeId="2" ParentId="174" CreationDate="2010-08-19T21:55:17.343" Score="42" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;Do all propositional tautologies have polynomial-size Frege proofs?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Arguably the major open problem of proof complexity&lt;/strong&gt;: demonstrate&#xA;super-polynomial size lower bounds on propositional proofs (called also Frege proofs). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Informally, a Frege proof system is just a standard propositional proof system for proving&#xA;propositional tautologies (one learns in a basic logic course), having axioms and deduction rules, where proof-lines are written as formulas. The &lt;em&gt;size&lt;/em&gt; of&#xA;a Frege proof is the number of symbols it takes to write down the proof.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem then asks whether there is a family &lt;span class=&quot;math-container&quot;&gt;$(F_n)_{n=1}^\infty$&lt;/span&gt; of propositional&#xA;tautological formulas for which there is no polynomial &lt;span class=&quot;math-container&quot;&gt;$ p $&lt;/span&gt; such that the minimal Frege proof size of &lt;span class=&quot;math-container&quot;&gt;$ F_n $&lt;/span&gt; is at most &lt;span class=&quot;math-container&quot;&gt;$ p(|F_n|)$&lt;/span&gt;, for all &lt;span class=&quot;math-container&quot;&gt;$ n=1,2,\ldots$&lt;/span&gt;  (where &lt;span class=&quot;math-container&quot;&gt;$ |F_n| $&lt;/span&gt; denotes the size of the formula &lt;span class=&quot;math-container&quot;&gt;$ F_n $&lt;/span&gt;).&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Formal definition of a Frege proof system&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Definition&lt;/strong&gt; (Frege rule) A &lt;em&gt;Frege rule&lt;/em&gt; is a sequence of propositional &#xA;formulas &lt;span class=&quot;math-container&quot;&gt;$ A_0(\overline x),\ldots,A_k(\overline x) $&lt;/span&gt;, for &lt;span class=&quot;math-container&quot;&gt;$ k \le 0 $&lt;/span&gt;,&#xA;written as &lt;span class=&quot;math-container&quot;&gt;$ \frac{A_1(\overline x), \ldots,A_k(\overline&#xA;x)}{A_0(\overline x)}$&lt;/span&gt;. In case &lt;span class=&quot;math-container&quot;&gt;$ k = 0 $&lt;/span&gt;, the Frege rule is called&#xA;an &lt;em&gt;axiom scheme&lt;/em&gt;. A formula &lt;span class=&quot;math-container&quot;&gt;$ F_0 $&lt;/span&gt; is said to be &lt;em&gt;derived by the&#xA;rule&lt;/em&gt; from &lt;span class=&quot;math-container&quot;&gt;$ F_1,\ldots,F_k $&lt;/span&gt; if &lt;span class=&quot;math-container&quot;&gt;$ F_0,\ldots,F_k $&lt;/span&gt; are all&#xA;substitution instances of &lt;span class=&quot;math-container&quot;&gt;$ A_1,\ldots,A_k $&lt;/span&gt;, for some assignment to&#xA;the &lt;span class=&quot;math-container&quot;&gt;$ \overline x $&lt;/span&gt; variables (that is, there are formulas&#xA;&lt;span class=&quot;math-container&quot;&gt;$B_1,\ldots,B_n $&lt;/span&gt; such that &lt;span class=&quot;math-container&quot;&gt;$F_i = A_i(B_1/x_1,\ldots,B_n/x_n), $&lt;/span&gt; for&#xA;all &lt;span class=&quot;math-container&quot;&gt;$ i=0,\ldots,k $&lt;/span&gt;. The Frege rule is said to be &lt;em&gt;sound&lt;/em&gt; if&#xA;whenever an assignment satisfies the formulas in the upper side&#xA;&lt;span class=&quot;math-container&quot;&gt;$A_1,\ldots,A_k $&lt;/span&gt;, then it also satisfies the formula in the lower&#xA;side &lt;span class=&quot;math-container&quot;&gt;$ A_0 $&lt;/span&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Definition&lt;/strong&gt; (Frege proof) &#xA;Given a set of Frege rules, a &lt;em&gt;Frege proof&lt;/em&gt; is a sequence of&#xA;formulas such that every proof-line is either an axiom or was derived&#xA;by one of the given Frege rules from previous proof-lines. If the&#xA;sequence terminates with the formula &lt;span class=&quot;math-container&quot;&gt;$ A $&lt;/span&gt;, then the proof is said to&#xA;be &lt;em&gt;a proof of &lt;span class=&quot;math-container&quot;&gt;$ A $&lt;/span&gt;&lt;/em&gt;. The &lt;strong&gt;size&lt;/strong&gt; of a Frege proof is the the total sizes of &#xA;all the formulas in the proof.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A proof system is said to be &lt;em&gt;implicationally complete&lt;/em&gt; if for&#xA;all set of formulas &lt;span class=&quot;math-container&quot;&gt;$ T $&lt;/span&gt;, if &lt;span class=&quot;math-container&quot;&gt;$ T $&lt;/span&gt; semantically implies &lt;span class=&quot;math-container&quot;&gt;$ F $&lt;/span&gt;, then&#xA;there is a proof of &lt;span class=&quot;math-container&quot;&gt;$ F $&lt;/span&gt; using (possibly) axioms from &lt;span class=&quot;math-container&quot;&gt;$ T $&lt;/span&gt;.&#xA;A proof system is said to be sound if it admits proofs of only&#xA;tautologies (when not using auxiliary axioms, like in the &lt;span class=&quot;math-container&quot;&gt;$ T $&lt;/span&gt;&#xA;above).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Definition&lt;/strong&gt; (Frege proof system)&#xA;Given a propositional language and a finite set &lt;span class=&quot;math-container&quot;&gt;$ P $&lt;/span&gt; of sound Frege rules,&#xA; we say that &lt;span class=&quot;math-container&quot;&gt;$ P $&lt;/span&gt; is &lt;em&gt;a Frege proof system&lt;/em&gt; if &lt;span class=&quot;math-container&quot;&gt;$ P $&lt;/span&gt; is&#xA;implicationally complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that a Frege proof is always sound since the Frege rules are&#xA;assumed to be sound. We do not need to work with a specific Frege proof system, since a&#xA;basic result in proof complexity states that every two Frege proof&#xA;systems, even over different languages, are polynomially equivalent&#xA;[Reckhow, PhD thesis, University of Toronto, 1976].&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Establishing lower bounds on Frege proofs could be viewed as a step towards proving &lt;span class=&quot;math-container&quot;&gt;$NP \neq coNP$&lt;/span&gt;, since if this is true then no propositional proof system (including Frege) can have polynomial size proofs for all tautologies.&lt;/p&gt;&#xA;" OwnerUserId="78" LastEditorUserId="78" LastEditDate="2019-09-22T12:53:13.703" LastActivityDate="2019-09-22T12:53:13.703" CommentCount="0" CommunityOwnedDate="2010-08-19T21:55:17.343" ContentLicense="CC BY-SA 4.0" />
  <row Id="342" PostTypeId="2" ParentId="320" CreationDate="2010-08-19T21:57:53.147" Score="4" Body="&lt;p&gt;(I don't have a real answer, but this was too long for a comment, so posting it here anyway...)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I &lt;em&gt;suspect&lt;/em&gt; that the problem is NP-hard, by reduction from the subset sum problem. A proof idea:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Reduction: if the $i$th element in the subset sum instance is $x_i$, then the distance between nodes $2i-1$ and $2i$ is $s$, distance between $2i-1$ and $2i+1$ is $x_i$, distance between $2i$ and $2i+2$ is also $x_i$, and distance between $2i$ and $2i+1$ is $\sqrt{s^2 + x_i^2}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assume that the edges between $2i-1$ and $2i$ for all $i$ are vertical. Then the whole graph consists of a chain of rectangles with diagonals. However, you can &quot;flip&quot; each rectangle so that $2i+2$ is either on the left side of $2i$ or the right side of $2i$. And you need to find the right subset of flips so that the distance between the last node $n = 2k$ and the node $2$ is &quot;correct&quot; (and the distance between $2k-1$ and $1$ is correct and the distance between $2k-1$ and $2$ is correct).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So far so good, but our rectangles aren't really rigid; we could also flip along the diagonal. However, I think if we choose a nasty value $s$, then perhaps we could show that everything goes horribly wrong if we ever flip along a diagonal (e.g., the coordinates of $2k$ won't be rational)? This may require some tweaks in the values $x_i$, though.&lt;/p&gt;&#xA;" OwnerUserId="74" LastActivityDate="2010-08-19T21:57:53.147" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="343" PostTypeId="1" AcceptedAnswerId="349" CreationDate="2010-08-20T02:02:25.757" Score="28" ViewCount="1027" Body="&lt;p&gt;You might often find cutting plane methods, variable propagation, branch and bound, clause learning, intelligent backtracking or even handwoven human heuristics in SAT solvers. Yet for decades the best SAT solvers have relied heavily on resolution proof techniques and use a combination of other things simply for aid and to direct resolution-style search. Obviously, it's suspected that ANY algorithm will fail to decide the satisfiability question in polynomial time in at least some cases.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In 1985, Haken proved in his paper &lt;a href=&quot;http://www.sciencedirect.com/science?_ob=ArticleURL&amp;amp;_udi=B6V1G-48HRYBH-P&amp;amp;_user=10&amp;amp;_coverDate=12%2F31%2F1985&amp;amp;_rdoc=1&amp;amp;_fmt=high&amp;amp;_orig=search&amp;amp;_sort=d&amp;amp;_docanchor=&amp;amp;view=c&amp;amp;_searchStrId=1436167533&amp;amp;_rerunOrigin=scholar.google&amp;amp;_acct=C000050221&amp;amp;_version=1&amp;amp;_urlVersion=0&amp;amp;_userid=10&amp;amp;md5=3eadc0120fda0dd052d1f9a8007b9f66&quot;&gt;&quot;The intractability of resolution&quot;&lt;/a&gt; that the pigeon hole principle encoded in CNF does not admit polynomial sized resolution proofs. While this does prove something about the intractability of resolution-based algorithms, it also gives criteria by which cutting edge solvers can be judged - and in fact one of the many considerations that goes into designing a SAT solver today is how it is likely to perform on known 'hard' cases.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Having a list of classes of Boolean formulas that provably admit exponentially sized resolution proofs is useful in the sense it gives 'hard' formulas to test new SAT solvers against. What work has been done in compiling such classes together? Does anyone have a reference containing such a list and their relevant proofs? Please list one class of Boolean formula per answer.&lt;/p&gt;&#xA;" OwnerUserId="3624" LastEditorUserId="74" LastEditDate="2010-08-21T20:31:26.947" LastActivityDate="2012-01-20T12:42:33.560" Title="Well known classes of boolean formulas that require exponentially long resolution proofs" Tags="&lt;reference-request&gt;&lt;big-list&gt;&lt;sat&gt;&lt;proof-complexity&gt;&lt;lo.logic&gt;" AnswerCount="6" CommentCount="3" FavoriteCount="10" CommunityOwnedDate="2010-08-20T04:25:33.013" ContentLicense="CC BY-SA 2.5" />
  <row Id="344" PostTypeId="2" ParentId="161" CreationDate="2010-08-20T02:25:46.840" Score="5" Body="&lt;p&gt;The answer to your literal question is no, as Joshua Grochow pointed out.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, as Holger stated, it is possible to check in linear time whether the nondeterministic Turing machine (NTM) &quot;clocks itself&quot; and halts after n^k steps for some constant k, through some standard way of simulating a clock (such as the code below).  Often when a paper or book will suggest (incorrectly) that it is possible to determine if a NTM is polynomial time, this is what they really mean.  Perhaps this is why you asked the question?  (I had the same question when I first learned complexity theory and somewhere saw the statement that it is possible to check if a TM is poly-time.)  The real question is &lt;em&gt;why&lt;/em&gt; one might wish to do this, which I discuss below after explaining &lt;em&gt;how&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are lots ways to add such a clock feature.  For instance, imagine on input x of length n, alternately executing one statement of the &quot;primary algorithm&quot; being clocked, and then one statement of the following algorithm, which finishes in (something close to) n^k steps:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&#xA;for i_1 = 1 to n&#xA;  for i_2 = 1 to n&#xA;...&#xA;        for i_k = 1 to n&#xA;          no-op;&#xA;return;&#xA;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;If the above code returns before the primary algorithm halts, then halt the entire computation (say, with rejection).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The algorithm that decides if a NTM is of this form, if interpreted as an attempt at an algorithm to decide whether its input is a poly-time NTM, will report some false negatives: some NTMs are guaranteed to halt in polynomial time, even though they do not alternate executing one statement of an algorithm with one statement of a clock like the code above (hence would be rejected despite being poly-time).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But there are no false positives.  If a NTM passes the test, then it definitely halts in polynomial time, hence it defines some NP language.  However, perhaps the behavior of its underlying primary algorithm is altered, if the clock sometimes runs out before the  primary algorithm halts, causing the computation to reject even though the primary algorithm may have accepted if given enough time to finish.  Therefore the language decided may be different than that of the primary algorithm.  &lt;b&gt;But&lt;/b&gt;, and this is key, if the primary algorithm being executed is in fact a polynomial-time algorithm running in time p(n), and if the constant k in the clock is large enough that n^k &gt; p(n), then the primary algorithm will always halt before the clock runs out.  In this case, the answer of the primary algorithm is not altered, so the primary algorithm and clocked NTM simulating it therefore decide the same NP language.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Why is this important?  This means that it is possible to &quot;enumerate all the NP languages&quot; (which as I said is in the literature often inaccurate stated as &quot;decide whether a given NTM is poly-time&quot; or &quot;enumerate all the poly-time NTM's&quot;).  More precisely, it is possible to enumerate an infinite list of NTM's M_1 M_2, ..., with the properties that&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt; Each M_k runs in polynomial time (for instance, by attaching a n^k-time clock to M_k), hence decides some NP language, and&#xA;&lt;li&gt; Each NP language is the language decided by some M_i in the list.&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;What does not happen is that &lt;em&gt;every&lt;/em&gt; polynomial-time NTM is on the list.  But each NP language has an infinite number of NTM's representing it.  Thus, each NP language is guaranteed to have at least some of its representative NTM's on the list, specifically all those NTM's at a large enough index k that n^k exceeds the running time of M_k.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is useful for doing tricks like diagonalization, which require algorithmically enumerating such infinite (or unbounded) lists of all NP languages.  And of course, this whole discussion applies to many other kinds of machines besides poly-time NTMs, such as poly-time deterministic TMs.&lt;/p&gt;&#xA;" OwnerUserId="165" LastEditorUserId="165" LastEditDate="2010-08-20T15:19:56.930" LastActivityDate="2010-08-20T15:19:56.930" CommentCount="0" CommunityOwnedDate="2010-08-20T02:25:46.840" ContentLicense="CC BY-SA 2.5" />
  <row Id="345" PostTypeId="2" ParentId="238" CreationDate="2010-08-20T02:36:41.463" Score="15" Body="&lt;p&gt;The book &quot;Gems of Theoretical Computer Science&quot; is a good way to learn lots of different techniques (although you see each of them applied only once):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.calvin.edu/~rpruim/publications/gems/&quot;&gt;http://www.calvin.edu/~rpruim/publications/gems/&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="165" LastActivityDate="2010-08-20T02:36:41.463" CommentCount="1" CommunityOwnedDate="2010-08-20T02:36:41.463" ContentLicense="CC BY-SA 2.5" />
  <row Id="346" PostTypeId="2" ParentId="343" CreationDate="2010-08-20T06:41:50.237" Score="7" Body="&lt;p&gt;There is a construction on page 9 of this &lt;a href=&quot;http://scholar.google.com/scholar?hl=en&amp;amp;q=Resolution+and+binary+decision+diagrams+cannot+simulate+each+other+polynomially&quot; rel=&quot;nofollow&quot;&gt;paper by Groote and Zantema&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="236" LastEditorUserId="236" LastEditDate="2011-11-18T17:03:34.597" LastActivityDate="2011-11-18T17:03:34.597" CommentCount="0" CommunityOwnedDate="2010-08-20T06:41:50.237" ContentLicense="CC BY-SA 3.0" />
  <row Id="347" PostTypeId="2" ParentId="320" CreationDate="2010-08-20T09:04:35.087" Score="6" Body="&lt;p&gt;It is actually NP-hard. See the following paper for references.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Sriram V. Pemmaraju, Imran A. Pirwani: Good Quality Virtual Realization of Unit Ball Graphs. ESA 2007: 311-322&lt;/p&gt;&#xA;" OwnerUserId="189" LastActivityDate="2010-08-20T09:04:35.087" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="348" PostTypeId="2" ParentId="343" CreationDate="2010-08-20T09:51:52.207" Score="9" Body="&lt;p&gt;There are a number of good surveys and books on propositional proof complexity which contain such lists. Many proof systems p-simulate resolution, therefore any formula which is hard for them will be hard for resolution.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Books: &lt;br/&gt;&#xA;1. Jan Krajicek, &quot;Bounded arithmetic, propositional logic, and complexity theory&quot;, 1995 &lt;br/&gt;&#xA;2. Stephen A. Cook and Phoung The Neguyen, &quot;Logical Foundations of Proof Complexity&quot;, 2010&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Surveys: &lt;br/&gt;&#xA;1. Paul Beame, and Toniann Pitassi, &quot;Propositional proof complexity: Past, Present and Future&quot;, 2001 &lt;br/&gt;&#xA;2. Samuel R. Buss, &quot;Bounded Arithmetic and Propositional Proof Complexity&quot;, 1997 &lt;br/&gt;&#xA;3. Alasdair Urquhart, &quot;The complexity of propositional proofs&quot;, 1995&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also see those listed &lt;a href=&quot;http://www.karlin.mff.cuni.cz/~krajicek/syll10.html&quot;&gt;here&lt;/a&gt; and &lt;a href=&quot;http://en.wikipedia.org/wiki/Proof_complexity&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2010-08-21T05:36:04.207" LastActivityDate="2010-08-21T05:36:04.207" CommentCount="0" CommunityOwnedDate="2010-08-20T09:51:52.207" ContentLicense="CC BY-SA 2.5" />
  <row Id="349" PostTypeId="2" ParentId="343" CreationDate="2010-08-20T11:57:22.083" Score="21" Body="&lt;p&gt;&lt;strong&gt;Hard instances for resolution&lt;/strong&gt;:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Tseitin's formulas (over expander graphs).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Weak ($ m $ to $ n$) pigeonhole principle (exponential in $n$ lower bounds, for any $ m&gt;n $).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Random 3CNF's with $ n $ variables and $ O(n^{1.5-\epsilon})$ clauses, for $ 0&amp;lt;\epsilon&amp;lt;1/2 $.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Good, relatively up-to-date, technical survey for proof complexity lower bounds, see:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Nathan Segerlind: The Complexity of Propositional Proofs. Bulletin of Symbolic Logic 13(4): 417-481 (2007) available at: &lt;a href=&quot;http://www.math.ucla.edu/~asl/bsl/1304/1304-001.ps&quot;&gt;http://www.math.ucla.edu/~asl/bsl/1304/1304-001.ps&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="78" LastEditorUserId="78" LastEditDate="2010-08-20T12:59:38.723" LastActivityDate="2010-08-20T12:59:38.723" CommentCount="1" CommunityOwnedDate="2010-08-20T11:57:22.083" ContentLicense="CC BY-SA 2.5" />
  <row Id="350" PostTypeId="2" ParentId="317" CreationDate="2010-08-20T12:29:18.313" Score="0" Body="&lt;p&gt;&lt;a href=&quot;http://jmlr.csail.mit.edu/papers/volume8/blum07a/blum07a.pdf&quot; rel=&quot;nofollow&quot;&gt;This Avrim Blum paper&lt;/a&gt; points a connection between external and internal regret. According to its abstract, externa regret is a measure of how bad an algorithm is compared to the best fixed action, while internal regret compares to the best variation of that method (best fixed permutation of outputs, like reporting class A whenever the original algorithm reported class B).&lt;/p&gt;&#xA;" OwnerUserId="120" LastActivityDate="2010-08-20T12:29:18.313" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="351" PostTypeId="2" ParentId="343" CreationDate="2010-08-20T13:40:30.450" Score="1" Body="&lt;p&gt;Doesn't &lt;a href=&quot;http://dimacs.rutgers.edu/&quot; rel=&quot;nofollow&quot;&gt;DIMACS&lt;/a&gt; maintain sample sets of hard SAT instances?  I couldn't find it there with just a cursory look, but if you enter &quot;SAT&quot; into their search box it will bring up many hits including several papers/talks on hard SAT instances.&lt;/p&gt;&#xA;" OwnerUserId="184" LastActivityDate="2010-08-20T13:40:30.450" CommentCount="1" CommunityOwnedDate="2010-08-20T13:40:30.450" ContentLicense="CC BY-SA 2.5" />
  <row Id="352" PostTypeId="1" AcceptedAnswerId="355" CreationDate="2010-08-20T14:45:02.057" Score="19" ViewCount="1169" Body="&lt;p&gt;I am interested in the following problem: Given a set X and subsets X_1, ..., X_n of X, find a coloring of the elements of X with k colors such that the elements in each X_i are all differently colored. More specifically, I am looking at the case where all X_i are of size k. Is this known in the literature under some name?  I am looking for characterizations of colorable instances and results on complexity (P vs. NP-hard). For example, for k=2, colorable instances correspond to bipartite graphs, and thus the problem can be solved in polynomial time.&lt;/p&gt;&#xA;" OwnerUserId="251" LastEditorUserId="74" LastEditDate="2010-08-20T15:03:42.347" LastActivityDate="2016-02-20T10:35:34.470" Title="&quot;All-different hypergraph coloring&quot; - known problem?" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;np-hardness&gt;&lt;hypergraphs&gt;" AnswerCount="4" CommentCount="2" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="353" PostTypeId="2" ParentId="352" CreationDate="2010-08-20T15:01:21.027" Score="8" Body="&lt;p&gt;At least as hard as $k$-colouring an arbitrary graph $G = (V,E)$. For each edge $e = \{u,v\}$ you have a subset $X_e = \{ u, v, x(e,3), x(e,4), \dotsc, x(e,k) \}$; here each $x(e,j)$ is a dummy element that is not present in any other subset. If you can $k$-colour $G$, you can easily find a colouring of the set system (just colour the dummy elements greedily), and vice versa.&lt;/p&gt;&#xA;" OwnerUserId="74" LastActivityDate="2010-08-20T15:01:21.027" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="354" PostTypeId="2" ParentId="352" CreationDate="2010-08-20T15:48:20.800" Score="10" Body="&lt;p&gt;It is also at most as hard as $k$-coloring a graph $G=(X,E)$, where $E$ is formed by making each $X_i$ into a clique. Your restriction that all $X_i$ are of size $k$ means that you can cover each edge of $G$ with a clique on $k$ vertices.&lt;/p&gt;&#xA;" OwnerUserId="72" LastActivityDate="2010-08-20T15:48:20.800" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="355" PostTypeId="2" ParentId="352" CreationDate="2010-08-20T16:15:11.613" Score="15" Body="&lt;p&gt;I believe this is known in the literature as the problem of finding a strong k-coloring for a k-uniform hypergraph.  This should be a good place to start: &lt;a href=&quot;http://www.hr.is/faculty/mmh/papers/strongcol.pdf&quot;&gt;[PDF]&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="196" LastActivityDate="2010-08-20T16:15:11.613" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="356" PostTypeId="2" ParentId="352" CreationDate="2010-08-20T17:23:01.750" Score="8" Body="&lt;p&gt;A colouring in which every hyperedge is &lt;em&gt;polychromatic&lt;/em&gt; (or &lt;em&gt;rainbow&lt;/em&gt;) is also known as a &lt;em&gt;strong colouring&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that a strong colouring of a hypergraph is precisely a proper colouring of the Gaifman graph of the hypergraph.  (The &lt;em&gt;Gaifman graph&lt;/em&gt; (or &lt;em&gt;primal graph&lt;/em&gt; or &lt;em&gt;2-section&lt;/em&gt;) of a hypergraph is formed by adding edges between any two vertices that appear together in some hyperedge.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So if you are looking for a $k$-colouring of an $r$-uniform hypergraph $H$, then you can equivalently look for a $k$-colouring of the Gaifman graph of $H$.  The case $r=2$ corresponds to graph colouring, which is polynomial-time for $k=2$ and NP-complete for $k\ge 3$.  Obviously $r &amp;lt;2$ is trivial, $k\lt r$ leads to no solutions, and the other cases are all NP-complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A useful reference which has most of the above definitions&#xA;is Vitaly I. Voloshin, &lt;a href=&quot;http://bookstore.ams.org/fim-17&quot; rel=&quot;nofollow&quot;&gt;&lt;em&gt;Coloring Mixed Hypergraphs: Theory, Algorithms and Applications&lt;/em&gt;&lt;/a&gt;, Fields Institute Monographs &lt;strong&gt;17&lt;/strong&gt;, AMS, 2002, ISBN 0-8218-2812-6.&#xA;This book covers the more general case of weak colourings, with particular focus on combining two types of coloured edges: $C$-edges, which have at least two vertices with a common colour, and $D$-edges, which have at least two vertices of different colours.&lt;/p&gt;&#xA;" OwnerUserId="109" LastEditorUserId="109" LastEditDate="2016-02-20T10:35:34.470" LastActivityDate="2016-02-20T10:35:34.470" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="357" PostTypeId="2" ParentId="238" CreationDate="2010-08-20T17:38:33.583" Score="16" Body="&lt;p&gt;There is a wiki devoted to different proof techniques: &lt;a href=&quot;http://www.tricki.org/&quot;&gt;http://www.tricki.org/&lt;/a&gt; (seems to be inspired by Timothy Gowers).&lt;/p&gt;&#xA;" OwnerUserId="141" LastActivityDate="2010-08-20T17:38:33.583" CommentCount="3" CommunityOwnedDate="2010-08-20T17:38:33.583" ContentLicense="CC BY-SA 2.5" />
  <row Id="358" PostTypeId="2" ParentId="305" CreationDate="2010-08-20T17:41:57.820" Score="5" Body="&lt;p&gt;There are many very fast and efficient in practice &lt;a href=&quot;http://en.wikipedia.org/wiki/Branch_and_bound&quot; rel=&quot;nofollow&quot;&gt;branch and bound&lt;/a&gt; algorithms for different NP-hard problems that we can not rigorously analyze: TSP, Steiner tree, bin packing and so on.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also there are very nice algorithms for max-flow that are in practice almost linear, but only $\Omega(nm)$ bounds are proven for them.&lt;/p&gt;&#xA;" OwnerUserId="141" LastEditorUserId="141" LastEditDate="2010-08-21T02:01:45.850" LastActivityDate="2010-08-21T02:01:45.850" CommentCount="2" CommunityOwnedDate="2010-08-20T17:41:57.820" ContentLicense="CC BY-SA 2.5" />
  <row Id="359" PostTypeId="2" ParentId="286" CreationDate="2010-08-20T17:45:21.747" Score="11" Body="&lt;p&gt;&lt;a href=&quot;http://portal.acm.org/citation.cfm?id=1238706.1238720&quot;&gt;This result&lt;/a&gt; by Alon et al. can be obtained by the means of Kolmogorov complexity.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&quot;The set of edges E of every finite bipartite graph can be split into $\mathrm{poly}(\log |E|)$ subsets so that all the resulting bipartite graphs are almost regular&quot;.&lt;/p&gt;&#xA;" OwnerUserId="141" LastActivityDate="2010-08-20T17:45:21.747" CommentCount="1" CommunityOwnedDate="2010-08-20T17:45:21.747" ContentLicense="CC BY-SA 2.5" />
  <row Id="360" PostTypeId="2" ParentId="332" CreationDate="2010-08-20T17:49:37.963" Score="3" Body="&lt;p&gt;Related are problems that admit algorithms with &lt;em&gt;polynomial delay&lt;/em&gt;.  The first solution, and every solution thereafter, can be generated in polynomial time.  Johnson, Yannakakis, and Papdimitriou discuss this framework in the context of other possible gaps (such as polynomial total time): &lt;a href=&quot;http://dx.doi.org/10.1016/0020-0190%2888%2990065-8&quot; rel=&quot;nofollow&quot;&gt;&lt;em&gt;On Generating All Maximal Independent Sets&lt;/em&gt;&lt;/a&gt;, Information Processing Letters &lt;strong&gt;27&lt;/strong&gt;, 119–123, 1988.&lt;/p&gt;&#xA;" OwnerUserId="109" LastActivityDate="2010-08-20T17:49:37.963" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="361" PostTypeId="2" ParentId="235" CreationDate="2010-08-20T20:38:01.607" Score="8" Body="&lt;p&gt;From what I can tell, strategies involve relaxing balance conditions, then performing rebalancing updates in bursts.  Here is a paper from Hanke et al., 1997 &lt;a href=&quot;http://algo.informatik.uni-freiburg.de/mitarbeiter/ottmann/lokale_publikationen/relaxed_balanced.pdf&quot;&gt;[PDF]&lt;/a&gt;, which I think focuses on their technique of aggregating and resolving update operations so that they can be performed concurrently.&lt;/p&gt;&#xA;" OwnerUserId="196" LastActivityDate="2010-08-20T20:38:01.607" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="362" PostTypeId="2" ParentId="318" CreationDate="2010-08-20T22:32:11.737" Score="6" Body="&lt;p&gt;For Class 2, one somewhat silly example is &lt;/p&gt;&#xA;&#xA;&lt;p&gt;R(p, a) = {p is an integer polynomial, a is in the range of p, and |a| = O(poly(|p|)}. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;R is in Class 2 but undecidable.&lt;/p&gt;&#xA;" OwnerUserId="223" LastActivityDate="2010-08-20T22:32:11.737" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="363" PostTypeId="1" CreationDate="2010-08-20T22:41:28.277" Score="12" ViewCount="595" Body="&lt;p&gt;What other &lt;strike&gt;problems&lt;/strike&gt; languages different than graph isomorphism are in $NP\cap coAM$? Can you give some references?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt; I forgot to mention that I'm interested in languages not known to be in $coNP$.&lt;/p&gt;&#xA;" OwnerUserId="135" LastEditorUserId="135" LastEditDate="2010-08-21T00:46:32.307" LastActivityDate="2010-09-05T12:01:59.733" Title="$NP\cap coAM$ Languages" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;complexity-classes&gt;&lt;graph-isomorphism&gt;" AnswerCount="3" CommentCount="3" FavoriteCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="364" PostTypeId="1" AcceptedAnswerId="371" CreationDate="2010-08-21T00:01:44.557" Score="10" ViewCount="640" Body="&lt;p&gt;What evidence is there that $coRP \neq NP$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$coRP$ is the class of languages for which there exists a probabililistic Turing Machine that runs in polynomial time and always answers Yes on an input belonging to the language and answers No with probability at least one half on an input not belonging to the language.&lt;/p&gt;&#xA;" OwnerUserId="72" LastEditorUserId="72" LastEditDate="2010-08-21T18:26:45.903" LastActivityDate="2010-08-21T18:26:45.903" Title="What evidence is there that $coRP \neq NP$?" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;" AnswerCount="3" CommentCount="4" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="365" PostTypeId="2" ParentId="286" CreationDate="2010-08-21T00:14:51.977" Score="9" Body="&lt;p&gt;(First, a jest.)  When faced with a difficult problem in computational complexity, there is always the joy of applied Kolmogorov complexity to lift one's spirits.  This is also known as &lt;a href=&quot;http://en.wikipedia.org/wiki/Code_golf&quot; rel=&quot;nofollow&quot;&gt;code golf&lt;/a&gt;.  For a range of small problems corresponding to strings $s$, one can explore the intrinsic complexity $K(s)$ competitively at &lt;a href=&quot;http://codegolf.com/&quot; rel=&quot;nofollow&quot;&gt;http://codegolf.com/&lt;/a&gt; or just for fun at &lt;a href=&quot;http://golf.shinh.org/&quot; rel=&quot;nofollow&quot;&gt;http://golf.shinh.org/&lt;/a&gt; (with 80 different languages at the latter site for which the &lt;a href=&quot;http://en.wikipedia.org/wiki/Invariance_theorem&quot; rel=&quot;nofollow&quot;&gt;Invariance Theorem&lt;/a&gt; constants need to be estimated).  &lt;em&gt;As with all undecidable functions, approach with caution.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Now for the serious bit.)  Daniil Musatov has recently shown that naïve derandomization can provide reasonable constructions for objects that are usually shown to exist non-constructively via the probabilistic method.  I think this is likely to provide significant future applications of resource-bounded Kolmogorov complexity to computational complexity.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Daniil Musatov,&#xA;&lt;em&gt;Improving the Space-Bounded Version of Muchnik's Conditional Complexity Theorem via ``Naive'' Derandomization&lt;/em&gt;,&#xA;CSR 2011,&#xA;LNCS 6651,&#xA;64–76.&#xA;doi:&lt;a href=&quot;http://dx.doi.org/10.1007/978-3-642-20712-9_6&quot; rel=&quot;nofollow&quot;&gt;10.1007/978-3-642-20712-9_6&lt;/a&gt;&#xA;(&lt;a href=&quot;http://arxiv.org/abs/1009.5108&quot; rel=&quot;nofollow&quot;&gt;preprint&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;See also &lt;a href=&quot;http://scholar.google.com/scholar?cites=3428921449285234718&quot; rel=&quot;nofollow&quot;&gt;papers citing this one&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Edit: linking to the later, published version.)&lt;/p&gt;&#xA;" OwnerUserId="109" LastEditorUserId="109" LastEditDate="2013-02-21T10:25:34.003" LastActivityDate="2013-02-21T10:25:34.003" CommentCount="2" CommunityOwnedDate="2010-08-21T00:14:51.977" ContentLicense="CC BY-SA 3.0" />
  <row Id="366" PostTypeId="2" ParentId="363" CreationDate="2010-08-21T04:21:51.240" Score="10" Body="&lt;p&gt;The only other ones I know of are also isomorphism problems: group isomorphism and ring isomorphism.  The $coAM$ protocols for both of these are essentially the same as for graph isomorphism.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Group isomorphism reduces to graph isomorphism reduces to ring isomorphism.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Interestingly, unlike (what is known for) groups and graphs, for rings, determining whether a ring has a nontrivial automorphism is in $P$, while finding a nontrivial automorphism is equivalent to factoring integers.  See &lt;a href=&quot;http://dimacs.rutgers.edu/~kayaln/pdf/ringAuto_journal.pdf&quot; rel=&quot;noreferrer&quot;&gt;Neeraj Kayal, Nitin Saxena. Complexity of Ring Morphism Problems. Computational Complexity 15(4): 342-390 (2006)&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2010-08-21T04:21:51.240" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="367" PostTypeId="2" ParentId="364" CreationDate="2010-08-21T05:34:51.400" Score="11" Body="&lt;p&gt;If by coR you mean coRP, then it is believed by many that P = RP = coRP = BPP, and also that P is not equal to NP, thus coRP is not equal to NP.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More directly, if NP were equal to coRP, then it would be contained in coNP (since coRP is contained in coNP). Then by symmetry, NP = coNP. This would imply that the polynomial hierarchy collapses to the first level. It is, however, widely believed that the polynomial hierarchy is infinite.&lt;/p&gt;&#xA;" OwnerUserId="206" LastEditorUserId="206" LastEditDate="2010-08-21T05:52:03.367" LastActivityDate="2010-08-21T05:52:03.367" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="368" PostTypeId="2" ParentId="318" CreationDate="2010-08-21T08:31:54.423" Score="5" Body="&lt;p&gt;I would request that you clarify the witness condition in class 1 a bit.  It seems that any appropriately bounded problem from co-NP would seem to do the trick, is this what you intended?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, take the class of all graphs that do not have a clique of size $\log n$.  The witness, of course, is the graph itself, and performing this check is (I believe) not believed to be possible in polynomial time. (See for example the parameterized complexity status of the problem, and the results of Chen et al. &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.94.7156&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;noreferrer&quot;&gt;here&lt;/a&gt;.)&lt;/p&gt;&#xA;" OwnerUserId="307" LastActivityDate="2010-08-21T08:31:54.423" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="369" PostTypeId="2" ParentId="191" CreationDate="2010-08-21T15:13:07.477" Score="15" Body="&lt;p&gt;Using the more common parameter notation $(\Delta,k)$ instead of $(k,f)$, this is equivalent to (and I think more commonly known as) the Vertex Cover problem in $k$-uniform hypergraphs of maximum degree $\Delta$.  To emphasize, for consistency with the literature I'm using $k$ where you use $f$, and $\Delta$ where you use $k$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For any constant $\varepsilon &gt; 0$, results ignoring $\Delta$ include&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$\sup_\Delta\{ a(\Delta,k) \}\leq k$ from general set cover.&lt;/li&gt;&#xA;&lt;li&gt;$\sup_\Delta\{ a(\Delta,k) \}\geq k-1-\varepsilon$ &lt;a href=&quot;http://www.cs.huji.ac.il/~inapprox/papers/hvc-DGKR.ps&quot;&gt;(Dinur et al., 2004)&lt;/a&gt;, as noted by Lev.&lt;/li&gt;&#xA;&lt;li&gt;If the unique games conjecture is true, then $\sup_\Delta \{a(\Delta,k)\} \geq k-\varepsilon$, which is tight &lt;a href=&quot;http://www.cs.tau.ac.il/~odedr/papers/vc_hard.pdf&quot;&gt;(Khot &amp;amp; Regev, 2008)&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Ignoring $k$, &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$\sup_k\{ a(\Delta,k) \}\leq \Delta$ (trivial).&lt;/li&gt;&#xA;&lt;li&gt;$\sup_k\{ a(4,k) \}\geq 2-\varepsilon$ &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=509907.509986&quot;&gt;(Holmerin, 2002)&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The only result I know that combines the two parameters is &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$a(\Delta,k) \leq k - (1-o(1))\left(\frac{k(k-1)\ln\ln\Delta}{\ln(\Delta)}\right)$ for fixed $k$, or $k$ growing slowly with $\Delta$ &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=587019&quot;&gt;(Halperin, 2002)&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;There is a connection between this problem and the (Weak) Independent Set problem, but I'm not exactly sure how they're related in terms of approximability.  I would recommend investigating this, perhaps starting here: &lt;a href=&quot;http://www.hr.is/faculty/mmh/papers/DAM2.pdf&quot;&gt;[PDF]&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="196" LastActivityDate="2010-08-21T15:13:07.477" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="370" PostTypeId="2" ParentId="364" CreationDate="2010-08-21T16:07:02.747" Score="4" Body="&lt;p&gt;Just to avoid duplicate discussion of the same topic, this is very closely related to a previous question:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/questions/64/what-specific-evidence-is-there-for-p-rp/&quot;&gt;What specific evidence is there for P = RP?&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In short, P=BPP follows from hardness assumptions, and P=BPP implies P=coRP.&lt;/p&gt;&#xA;" OwnerUserId="68" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.743" LastActivityDate="2010-08-21T16:07:02.747" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="371" PostTypeId="2" ParentId="364" CreationDate="2010-08-21T16:34:16.570" Score="15" Body="&lt;p&gt;When considering the power of non-determinism (P vs NP), randomization seems like a 2nd order issue.  In particular when we think about &quot;P=NP?&quot; we are really interested in the question &quot;are all NP problems tractable&quot;, where randomization could be allowed, so tractability really means &quot;in BPP&quot;.  So &quot;NP contained in BPP&quot; seems essentially as unlikely as &quot;P=NP&quot;, and in fact if these were considered different then people would care about the former rather than the latter.  (The peculiar variant &quot;NP in coRP&quot; is formally somewhere in the middle between these two, but conceptually essentially the same).    If good enough pseudo random generators exist then the two questions are formally the same.  Similarly, in &quot;non-uniform settings&quot; randomization is known not to help and thus &quot;NP in BPP&quot; implies that NP has poly-size circuits.  &lt;/p&gt;&#xA;" OwnerUserId="42" LastActivityDate="2010-08-21T16:34:16.570" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="372" PostTypeId="1" AcceptedAnswerId="375" CreationDate="2010-08-21T18:53:27.083" Score="6" ViewCount="629" Body="&lt;p&gt;What is the proof that there is only one homomorphism from an initial object to another object?&lt;/p&gt;&#xA;" OwnerUserId="324" LastEditorUserId="80" LastEditDate="2010-08-23T02:16:27.920" LastActivityDate="2010-08-23T02:16:27.920" Title="Proof of a unique homomorphism from an initial object" Tags="&lt;functional-programming&gt;&lt;algebra&gt;&lt;ct.category-theory&gt;" AnswerCount="2" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="374" PostTypeId="2" ParentId="372" CreationDate="2010-08-21T20:36:04.130" Score="14" Body="&lt;p&gt;As far as I remember (and my copy of Pierce's &lt;em&gt;Basic Category Theory for Computer Scientists&lt;/em&gt; confirms this), the initial object is &lt;strong&gt;defined&lt;/strong&gt; as an object with exactly one arrow to each object in the category.&lt;/p&gt;&#xA;" OwnerUserId="321" LastActivityDate="2010-08-21T20:36:04.130" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="375" PostTypeId="2" ParentId="372" CreationDate="2010-08-21T21:23:11.247" Score="6" Body="&lt;p&gt;To add on top of &lt;a href=&quot;https://cstheory.stackexchange.com/questions/372/proof-of-a-unique-homomorphism-from-an-initial-object/374#374&quot;&gt;finrod's answer&lt;/a&gt;: while the existence of an initial object guarantees the uniqueness of the aforesaid morphism, the initial object's &lt;strong&gt;existence&lt;/strong&gt; is not guaranteed.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As you asked this question under the functional programming tag, perhaps you meant to ask how to establish the existence of initial algebras for a given algebraic type in a functional programming language.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The existence of an initial object is not entirely trivial, but if you know some domain theory then the proof is very similar to the least fixed point theorem for continuous functions over directed CPOs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The canonical reference eludes me right now, but brief Googling/Wikipedia dig up Abramsky's and Jung's chapter on &lt;a href=&quot;http://www.cs.bham.ac.uk/~axj/pub/papers/handy1.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Domain Theory&lt;/a&gt; (section 5, this case is the example in 5.1.3) in the Handbook of Logic in CS.  &lt;/p&gt;&#xA;" OwnerUserId="142" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2010-08-22T19:13:13.633" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="376" PostTypeId="1" AcceptedAnswerId="397" CreationDate="2010-08-21T21:32:52.927" Score="44" ViewCount="3877" Body="&lt;p&gt;Are there any benefits to calculating the time complexity of an algorithm using lambda calculus?  Or is there another system designed for this purpose?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any references would be appreciated.&lt;/p&gt;&#xA;" OwnerUserId="7" LastActivityDate="2017-01-05T03:07:13.337" Title="Using lambda calculus to derive time complexity?" Tags="&lt;lambda-calculus&gt;&lt;pl.programming-languages&gt;&lt;time-complexity&gt;" AnswerCount="7" CommentCount="0" FavoriteCount="18" ContentLicense="CC BY-SA 2.5" />
  <row Id="377" PostTypeId="2" ParentId="376" CreationDate="2010-08-21T21:44:38.303" Score="12" Body="&lt;p&gt;As far as I know, lambda calculus is ill suited for this purpose, as the notion of time/space complexity is hard to formulate in lambda calculus. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is 1 unit of time complexity? A beta reduction? What about the units of space complexity? The length of the string?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Lambda calculus is more suitable for abstract manipulation of algorithms, as it is much more readily composable than Turing machines.&lt;/p&gt;&#xA;" OwnerUserId="142" LastActivityDate="2010-08-21T21:44:38.303" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="378" PostTypeId="2" ParentId="276" CreationDate="2010-08-21T21:45:51.437" Score="12" Body="&lt;p&gt;I would say the recent work of Jain, Upadhyay and Watrous showing that QIP = IP = PSPACE is quite surprising. My opinion is that it isn't so much that QIP = IP is interesting but rather the fact that all of QIP can be simulated in a 3 round quantum interactive proof. A rather cool demonstration of the power of quantum parallelism.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Something that continues to surprise me is that BPP is likely to be P - It brings up a lot of philosophical questions regarding the nature of randomness.&lt;/p&gt;&#xA;" OwnerUserId="170" LastActivityDate="2010-08-21T21:45:51.437" CommentCount="2" CommunityOwnedDate="2010-08-21T21:45:51.437" ContentLicense="CC BY-SA 2.5" />
  <row Id="379" PostTypeId="2" ParentId="376" CreationDate="2010-08-21T22:48:40.560" Score="23" Body="&lt;p&gt;There are quantitative results concerning $\lambda $-calculus, in the form of measuring the length of reductions in (typed-)lambda calculus. But this is of course far from saying anything about the complexity of algorithms (especially that the bounds obtained are fast-growing). See for example:  Arnold Beckmann, Exact bounds for lengths of reductions in typed $\lambda $-calculus, &lt;em&gt;Journal of Symbolic Logic&lt;/em&gt; 2001, 66(3): 1277-1285.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For something closer to your question, there is a current project that develops and studies a type-system (a functional programing language) which by static-analysis can determine (polynomial) run-time bounds of programs (as well as other resources used by programs). So in some sense, this might hint that there might be some advantage in using functional-programing for analyzing  run-time complexity. The project homepage is &lt;a href=&quot;http://raml.tcs.ifi.lmu.de/&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A possibly representative paper of this project is: &#xA;Jan Hoffmann, Martin Hofmann. Amortized Resource Analysis with Polynomial Potential - A Static Inference of Polynomial Bounds for Functional Programs.  In &lt;em&gt;Proceedings of the 19th European Symposium on Programming&lt;/em&gt; (ESOP'10).&lt;a href=&quot;http://www2.tcs.ifi.lmu.de/~hoffmann/papers/aapoly_extended.pdf&quot;&gt;link&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="78" LastActivityDate="2010-08-21T22:48:40.560" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="380" PostTypeId="2" ParentId="189" CreationDate="2010-08-22T01:41:28.590" Score="20" Body="&lt;p&gt;&lt;strong&gt;Expander codes&lt;/strong&gt; &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Gallager showed in the 1960's that random low density parity codes have good rate and relative distance with high probability.  But it was &lt;a href=&quot;http://dx.doi.org/10.1109/SFCS.1994.365734&quot;&gt;Sipser and Spielman (1994)&lt;/a&gt;, following work of &lt;a href=&quot;http://www.ldpc-codes.com/papers/rlcc.pdf&quot;&gt;Tanner (1981)&lt;/a&gt;, who had the beautiful insight that it is the expansion of the natural bipartite graph associated with the parity check matrix of the code that leads to the code being good.  They then proved that the following simple decoding algorithm runs in linear time for any expander code: repeatedly check if there exists a bit of the received word which violates more than half of the parity checks it is involved in, and if there is such a bit, flip it.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Two footnotes:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Graphs of such expansion were not explicitly constructible at the time of Spielman and Sipser, but they now are due to work of &lt;a href=&quot;http://doi.acm.org/10.1145/509907.510003&quot;&gt;Capalbo, Reingold, Vadhan and Wigderson (2002)&lt;/a&gt;.  Sipser and Spielman themselves constructed linear time decodable codes by using the Tanner product construction.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://doi.acm.org/10.1145/225058.225165&quot;&gt;Spielman (1995)&lt;/a&gt; developed these ideas further to give a code with both linear time encoding and decoding.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="15" LastActivityDate="2010-08-22T01:41:28.590" CommentCount="1" CommunityOwnedDate="2010-08-22T01:41:28.590" ContentLicense="CC BY-SA 2.5" />
  <row Id="381" PostTypeId="2" ParentId="189" CreationDate="2010-08-22T05:04:17.130" Score="40" Body="&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Strassen_algorithm&quot;&gt;Strassen's algorithm&lt;/a&gt;&lt;/strong&gt; for matrix multiplication.&lt;/p&gt;&#xA;" OwnerUserId="42" LastEditorUserId="186" LastEditDate="2010-11-24T07:23:04.000" LastActivityDate="2010-11-24T07:23:04.000" CommentCount="2" CommunityOwnedDate="2010-08-22T05:04:17.130" ContentLicense="CC BY-SA 2.5" />
  <row Id="382" PostTypeId="2" ParentId="189" CreationDate="2010-08-22T06:13:02.753" Score="6" Body="&lt;p&gt;I think that &lt;a href=&quot;http://en.wikipedia.org/wiki/LR_parser&quot;&gt;LR parsers&lt;/a&gt; are beautiful. A language is deterministic context-free if and only if there exists a LR(1) grammar for it.&lt;/p&gt;&#xA;" OwnerUserId="168" LastActivityDate="2010-08-22T06:13:02.753" CommentCount="0" CommunityOwnedDate="2010-08-22T06:13:02.753" ContentLicense="CC BY-SA 2.5" />
  <row Id="383" PostTypeId="2" ParentId="189" CreationDate="2010-08-22T06:16:59.093" Score="7" Body="&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Knuth%E2%80%93Bendix_completion_algorithm&quot;&gt;Knuth-Bendix algorithm&lt;/a&gt; and the analogous &lt;a href=&quot;http://en.wikipedia.org/wiki/Buchberger%27s_algorithm&quot;&gt;Buchberger's algorithm&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="168" LastActivityDate="2010-08-22T06:16:59.093" CommentCount="0" CommunityOwnedDate="2010-08-22T06:16:59.093" ContentLicense="CC BY-SA 2.5" />
  <row Id="384" PostTypeId="1" AcceptedAnswerId="803" CreationDate="2010-08-22T07:21:32.693" Score="36" ViewCount="2190" Body="&lt;p&gt;Most of the well-known algorithms are first-order, in the sense that their input and output are &quot;plain&quot; data.&#xA;Some are second-order in a trivial way, for example sorting, hashtables or the map and fold functions: they are parameterized by a function, but they don't really do anything interesting with it except invoke it on pieces of other input data.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some are also second-order but somewhat more interesting:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Fingertrees parameterized by monoids&lt;/li&gt;&#xA;&lt;li&gt;Splitting a fingertree on a monotonous predicate&lt;/li&gt;&#xA;&lt;li&gt;Prefix sum algorithms, again usually parameterized by a monoid or a predicate etc.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Finally, some are &quot;truly&quot; higher-order in the sense that is most interesting to me:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The Y combinator&lt;/li&gt;&#xA;&lt;li&gt;Difference lists&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Do there exist other nontrivial higher-order algorithms?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In attempt to clarify my question, under &quot;nontrivial higher-order&quot; I mean &quot;using higher-order facilities of the computational formalism in a critical way in the algorithm's interface and/or implementation&quot;&lt;/p&gt;&#xA;" OwnerUserId="326" LastEditorUserId="74" LastEditDate="2010-08-22T11:02:48.970" LastActivityDate="2012-06-12T12:32:30.690" Title="Higher-order algorithms" Tags="&lt;ds.algorithms&gt;&lt;functional-programming&gt;&lt;ds.data-structures&gt;&lt;pl.programming-languages&gt;" AnswerCount="8" CommentCount="2" FavoriteCount="21" ContentLicense="CC BY-SA 2.5" />
  <row Id="385" PostTypeId="2" ParentId="384" CreationDate="2010-08-22T08:34:31.203" Score="13" Body="&lt;p&gt;In parser combinator libraries the order of the function is generally fairly high. Check out &lt;a href=&quot;http://www.eecs.usma.edu/webs/people/okasaki/jfp98.ps&quot;&gt;&lt;strong&gt;Even Higher-Order Functions for Parsing or Why Would Anyone Ever Want To Use a Sixth-Order Function?&lt;/strong&gt;&lt;/a&gt; by Chris Okasaki. &lt;em&gt;Journal of Functional Programming&lt;/em&gt;, 8(2):195-199, March 1998.&lt;/p&gt;&#xA;" OwnerUserId="77" LastActivityDate="2010-08-22T08:34:31.203" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="386" PostTypeId="1" CreationDate="2010-08-22T17:09:38.490" Score="0" ViewCount="445" Body="&lt;p&gt;What are the most significant annual Complexity Theory conferences?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Rules:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;One conference per answer&lt;/li&gt;&#xA;&lt;li&gt;Include a link to the conference &lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="7" LastEditorUserId="295" LastEditDate="2010-08-22T18:00:50.840" LastActivityDate="2010-08-22T18:25:18.567" Title="Complexity Theory conferences?" Tags="&lt;cc.complexity-theory&gt;&lt;big-list&gt;" AnswerCount="0" CommentCount="0" FavoriteCount="0" ClosedDate="2010-08-22T20:44:11.267" CommunityOwnedDate="2010-08-22T17:09:38.490" ContentLicense="CC BY-SA 2.5" />
  <row Id="392" PostTypeId="1" CreationDate="2010-08-22T18:51:32.243" Score="46" ViewCount="6718" Body="&lt;p&gt;I always had trouble in understanding the importance of the &lt;a href=&quot;http://en.wikipedia.org/wiki/Linear_programming_relaxation#Approximation_and_integrality_gap&quot;&gt;Integrality Gap&lt;/a&gt; (IG) and bounds on it. IG is the ratio of (the quality of) an optimal integer answer to (the quality of) an optimal real solution of the relaxation of the problem. Lets consider vertex cover (VC) as an example. VC can be stated as finding an optimal integer solution of the following set of linear equations: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;We have zero/one valued variables $x_v$s for each vertex $v \in V(G)$ of the graph $G$. The equations are: $0 \leq x_v \leq 1$ for $v\in V(G)$, and $1 \leq x_v+x_u$ for each edge $uv \in E(G)$. We are looking for values which will minimize $\sum_{v \in V(G)} x_v$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The relaxation of this problem allows real values between $0$ and $1$ so the space of solutions is larger and an optimal real solution can be smaller than an optimal integer solution we want to find. Therefore we need to perform a &quot;rounding&quot; process on the optimal real answer obtained from linear programming to find an integer solution. The optimal integer solution will be between the optimal real solution and the result of the rounding process. IG is the ratio of an optimal integer solution to an optimal real solution and does not say anything about the rounding process. The rounding process can (in theory) completely ignore the real solution and compute the optimal integer solution directly. &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Why are people interested in proving bounds on IG?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="186" LastEditorUserId="39090" LastEditDate="2016-12-07T20:56:43.423" LastActivityDate="2016-12-07T20:56:43.423" Title="The importance of Integrality Gap" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;approximation-algorithms&gt;&lt;linear-programming&gt;&lt;integrality-gap&gt;" AnswerCount="8" CommentCount="2" FavoriteCount="28" ContentLicense="CC BY-SA 2.5" />
  <row Id="393" PostTypeId="2" ParentId="392" CreationDate="2010-08-22T19:21:02.933" Score="11" Body="&lt;p&gt;Technically, the integrality gap is for a specific IP formulation, not (as you formulated it) the ration between the best linear relaxation and the optimal solution (which appears to quantify over ALL IP formulations). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;An integrality gap is important because it shows the limits of the particular LP formulation being used. If I know that that a particular relaxation has an integrality gap of $c$, then I also know that if I ever hope to prove a bound of better than $c$, I'll need to use a different formulation. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2010-08-22T19:21:02.933" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="394" PostTypeId="2" ParentId="392" CreationDate="2010-08-22T19:30:41.133" Score="12" Body="&lt;p&gt;You are right in that the integrality gap of a relaxation has as such nothing to do with any rounding algorithm. These are two different notions. An integrality gap is a property of a particular relaxation. That is, how much larger is the value of that relaxation compared to the optimal integral value?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Why do we care about linear/convex relaxations?&lt;/em&gt; To efficiently approximate an integral value. Hence, we typicaly talk about relaxations only in cases where the optimal value is hard to compute and we're interested in efficient approximations. Integrality gaps show us the inherent limitations of what can be achieved by such techniques.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, &lt;em&gt;why do we care about rounding algorithms on top of the relaxation?&lt;/em&gt; We use rounding algorithms to solve the algorithmic problem of finding a near optimal solution as opposed to just approximating the &lt;em&gt;value&lt;/em&gt; of an optimal solution. Moreover, often rounding algorithms are used to bound the integrality gap of a relaxation in the first place.&lt;/p&gt;&#xA;" OwnerUserId="68" LastActivityDate="2010-08-22T19:30:41.133" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="395" PostTypeId="2" ParentId="332" CreationDate="2010-08-22T19:55:24.047" Score="12" Body="&lt;p&gt;One problem with formalizing the question is that the phrase &quot;solution space for Problem A&quot; is not well-defined. The definition of a solution space needs a &lt;em&gt;verifier&lt;/em&gt; algorithm which, given an instance and a candidate solution, verifies whether or not the solution is correct. Then, the solution space of an instance wrt to a verifier is the set of candidate solutions that make the verifier output &quot;correct&quot;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, take the problem SAT0: given a Boolean formula, is it satisfied by the all-zeroes assignment? This problem is trivially in polynomial time, but its solution space can vary wildly, depending on which verifier you use. If your verifier ignores the candidate solution and just checks if all-zeroes works on the instance, then the &quot;solution space&quot; for any SAT0 instance on that verifier is trivial: it is all possible solutions. If your verifier checks to see if the candidate solution is a satisfying assignment, then the solution space of a SAT0 instance can actually be quite complex, arguably as complex as any SAT instance's solution space.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;That said, the problem of &quot;avoiding brute-force search&quot; can be formalized in the following way (as seen in the paper &quot;Improving exhaustive search implies superpolynomial lower bounds&quot;). You are given a verifier algorithm that runs in time $t(n,k)$, on instances of size $n$ and candidate solutions of $k$ bits. The question is, *on arbitrary instances of size $n$, can we determine if there is a correct solution (wrt this verifier) with at most $k$ bits, in much less than $O(2^k t(n,k))$ time? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note $O(2^k t(n,k))$ is the cost of trying all strings of length up to k, and running the verifier. So the above can be seen as asking whether we can improve on brute-force search for the given verifier. The area of &quot;exact algorithms for NP-hard problems&quot; can be seen as a long-term effort to study the difficulty of improving on brute-force search for certain very natural verifiers: e.g. the question of finding better-than-$2^n$ algorithms for SAT is the question of whether we can always improve over brute-force search for the verifier that checks if the given candidate solution is a satisfying assignment to the given SAT instance.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The paper shows some interesting consequences of improving on brute-force search for some problems. Even improving on brute-force search for &quot;polynomial-size solution spaces&quot; would have interesting consequences.&lt;/p&gt;&#xA;" OwnerUserId="225" LastEditorUserId="225" LastEditDate="2010-08-22T22:28:52.670" LastActivityDate="2010-08-22T22:28:52.670" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="396" PostTypeId="2" ParentId="392" CreationDate="2010-08-22T20:09:40.447" Score="13" Body="&lt;p&gt;When you are coming up with an approximation algorithm for some NP-hard maximization problem, there are several values that you might care about: There is OPT, the optimal value of your problem, which is the same as OPT(IP), the optimal value of any correct IP formulation of your problem. There is also OPT(LP), the optimal value of the linear relaxation of your IP. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$OPT(LP) \geq OPT(IP)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, there is V, the value of the solution you end up getting by rounding the LP solution. You would like to be able to prove that $V &gt; \frac{OPT(IP)}{c}$ to show that your algorithm is a $c$ approximation, but it is often not possible to do this directly, since you don't have a hold on the solution space. Instead, what is almost always proven is that $V \geq \frac{OPT(LP)}{c}$. This of course implies $V &gt; \frac{OPT(IP)}{c}$, but is stronger. In particular, if the integrality gap of your IP formulation is larger than $c$, the above statement will be false in general, since your rounding procedure ends up with an integral solution. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;So the crux is this: The LP gives you a solution which you know is &quot;good&quot;, and you want to round it to something that is &quot;almost as good&quot;. If the integrality gap is large, this is impossible in general, since there will never be a procedure which is guaranteed to get an integral solution that is &quot;amost as good&quot; as an LP solution -- because sometimes, these don't exist! &lt;/p&gt;&#xA;" OwnerUserId="25" LastEditorUserId="25" LastEditDate="2010-08-22T20:15:11.887" LastActivityDate="2010-08-22T20:15:11.887" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="397" PostTypeId="2" ParentId="376" CreationDate="2010-08-22T21:10:03.883" Score="22" Body="&lt;p&gt;Ohad is quite right about the problems that the lambda calculus faces as a basis for talking about complexity classes.  There has been a fair bit of work done on characterising complexity of reducibility in the lambda calculus, particularly around the work on labelled and optimal reductions from Lèvy's PhD thesis.  Generally speaking, good cost models for the lambda calculus should not assign a constant weight to all beta reductions: intuitively, substituting a large subterm into many, differently scoped places should cost more than contracting a small K redex, and if one wants a certain amount of invariance of cost under different rewrite strategies, this becomes essential.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Two links:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Lawall &amp;amp; Mairson, 1996, &lt;a href=&quot;http://www.diku.dk/hjemmesider/ansatte/julia/icfp96.ps.gz&quot;&gt;Optimality and inefficiency: what isn't a cost model of the lambda calculus? (.ps.gz)&lt;/a&gt; – Seminal survey of issues bearing on choice of cost model, and why many plausible ideas don't work.&lt;/li&gt;&#xA;&lt;li&gt;Dal Lago &amp;amp; Martini, 2008, &lt;a href=&quot;https://www.di.unito.it/~deligu/CDR60_TCS/Martini.pdf&quot;&gt;The weak lambda calculus as a reasonable machine&lt;/a&gt; – Offers a cost model for the call-by-value lambda calculus, together with good discussion of the literature.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="270" LastEditorUserId="270" LastEditDate="2016-05-31T11:03:31.497" LastActivityDate="2016-05-31T11:03:31.497" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="398" PostTypeId="1" CreationDate="2010-08-22T21:39:10.493" Score="14" ViewCount="297" Body="&lt;p&gt;In response to another question, &lt;a href=&quot;https://cstheory.stackexchange.com/questions/246/extensions-of-beta-theory-of-lambda-calculus&quot;&gt;Extensions of beta theory of lambda calculus&lt;/a&gt;, Evgenij offered the answer:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;beta + the rule {s = t | s and t are closed unsolvable terms}&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;where a term &lt;em&gt;M&lt;/em&gt; is solvable if we can find a sequence of terms such that &lt;em&gt;M&lt;/em&gt;'s application to them is equal to &lt;em&gt;I&lt;/em&gt;.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Evgenij's answer gives an equational theory over the lambda calculus, but not one characterised by a reduction system, i.e., a confluent, recursive set of rewrite rules.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let's call an &lt;em&gt;invisible equivalence&lt;/em&gt; over a theory of the lambda calculus, a reduction system that equates some nontrivial set of closed unsolvable lambda terms, but doesn't add any new equations involving solvable terms.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there any invisible equivalences over the beta theory of the lambda calculus?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Postscript&lt;/strong&gt; An example that characterises an invisible equivalence, but is not confluent.  Let &lt;em&gt;M=(λx.x x)&lt;/em&gt; and &lt;em&gt;N=(λx.x x x)&lt;/em&gt;, two unsolvable terms.  Adding the rule rewriting &lt;em&gt;N N&lt;/em&gt; to &lt;em&gt;M M&lt;/em&gt; induces an invisible equivalence containing &lt;em&gt;M M = N N&lt;/em&gt;, but has the bad critical pair where &lt;em&gt;N N&lt;/em&gt; reduces to both &lt;em&gt;M M&lt;/em&gt; and &lt;em&gt;M M N&lt;/em&gt;, each of which has one rewrite available, which rewrites to itself.&lt;/p&gt;&#xA;" OwnerUserId="270" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2010-08-30T12:15:37.303" Title="Characterising invisible equivalences by confluent rewrite rules" Tags="&lt;pl.programming-languages&gt;&lt;lambda-calculus&gt;&lt;lo.logic&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="399" PostTypeId="1" AcceptedAnswerId="550" CreationDate="2010-08-22T23:23:14.603" Score="22" ViewCount="1250" Body="&lt;p&gt;In &lt;a href=&quot;http://en.wikipedia.org/wiki/Compressed_sensing&quot;&gt;compressed sensing&lt;/a&gt;, the goal is to find linear compression schemes for huge input signals that are known to have a sparse representation, so that the input signal can be recovered efficiently from the compression (the &quot;sketch&quot;).  More formally, the standard setup is that there is a signal vector $x \in \mathbb{R}^n$ for which $\|x\|_0 &amp;lt; k$, and the compressed representation equals $Ax$ where $A$ is a $R$-by-$n$ real matrix where we want $R \ll n$.  The magic of compressed sensing is that one can explicitly construct $A$ such that it allows fast (near-linear time) exact recovery of any $k$-sparse $x$ with $R$ as small as $O(k n^{o(1)})$. I might not have the parameters best known but this is the general idea.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is: are there similar phenomena in other settings?  What I mean is that the input signal could come from some &quot;low complexity family&quot; according to a measure of complexity that is not necessarily sparsity.  We then want compression and decompression algorithms, not necessarily linear maps, that are efficient and correct.  Are such results known in a different context?  What would your guess be for a more &quot;general&quot; theory of compressed sensing?  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Of course, in applications of compressed sensing, linearity and sparsity are important issues. The question I ask here is more &quot;philosophical&quot;.)&lt;/p&gt;&#xA;" OwnerUserId="15" LastEditorUserId="74" LastEditDate="2010-08-23T22:11:47.130" LastActivityDate="2011-02-03T09:03:43.200" Title="Analogs of compressed sensing" Tags="&lt;ds.algorithms&gt;&lt;ds.data-structures&gt;&lt;compressed-sensing&gt;" AnswerCount="6" CommentCount="0" FavoriteCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="400" PostTypeId="2" ParentId="392" CreationDate="2010-08-22T23:48:29.353" Score="17" Body="&lt;p&gt;The integrality gap is a useful indicator of how well an IP can be approximated.  It might be better to think of it in an informal, intuitive way.  A high integrality gap implies that certain methods won't work.  Certain primal/dual methods, for example, depend on a small integrality gap.  For the standard primal Vertex Cover LP, the dual LP asks for a maximum matching.  In this case, we can do the following:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;find an optimum fractional solution $\boldsymbol{y}$ to the dual LP (a maximum fractional matching)&lt;/li&gt;&#xA;&lt;li&gt;multiply the solution $\boldsymbol{y}$ by a factor of 2 (double all edge weights)&lt;/li&gt;&#xA;&lt;li&gt;convert this to a feasible integral $\boldsymbol{x}$ for the primal LP (each edge gives half of its weight from the $2\boldsymbol{y}$ vector to each of its endpoints in the $\boldsymbol{x}$ vector, then each $x_i$ is replaced with $\min(\lfloor x_i\rfloor, 1)$).&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;In this case this simple strategy works and we end up with a feasible integral solution to the primal LP whose weight is no more than twice the weight of a feasible solution for the dual LP.  Since the weight of a feasible solution for the dual LP is a lower bound for OPT, this is a 2-approximation algorithm.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, where does the integrality gap come in?  The IG is 2 in this case, but that alone doesn't imply that the algorithm will work.  Rather, it suggests that it might work.  And if the IG was more than 2, it would guarantee that the simple strategy would &lt;em&gt;not&lt;/em&gt; always work.  At the very least we would have to multiply the dual solution by the IG.  So the integrality gap sometimes tells us what &lt;em&gt;won't&lt;/em&gt; work. The integrality gap can also indicate what kind of approximation factor we can hope for.  A small integrality gap suggests that investigating rounding strategies, etc., might be a worthwhile approach.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For a more interesting example, consider the Hitting Set problem and the powerful technique of approximating the problem using $\varepsilon$-nets &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.130.8834&quot; rel=&quot;noreferrer&quot;&gt;(Brönnimann &amp;amp; Goodrich, 1995)&lt;/a&gt;.  Many problems can be formulated as instances of Hitting Set, and a strategy that has been successful for many problems is to do this, then just find a good net finder, i.e., an algorithm to construct small $\varepsilon$-nets, and crank everything through the B&amp;amp;G meta-algorithm.  So people (myself included) try to find net finders for restricted instances of Hitting Set that, for any $\varepsilon$, can build an $\varepsilon$-net of size $f(1/\varepsilon)$, where the function $f$ should be as small as possible.  Having $f(1/\varepsilon) = \mathcal{O}(1/\varepsilon)$ is a typical goal; this would give a $\mathcal{O}(1)$-approximation. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;As it turns out, the best possible function $f$ is bounded by the integrality gap of a certain LP for Hitting Set &lt;a href=&quot;http://www.mpi-inf.mpg.de/~sgovinda/Course/papers/ED05.pdf&quot; rel=&quot;noreferrer&quot;&gt;(Even, Rawitz, Shahar, 2005)&lt;/a&gt;.  Specifically, the optimum integral and fractional solutions satisfy $\mathrm{OPT}_I \leq f(\mathrm{OPT}_f)$.  For unrestricted instances of Hitting Set the integrality gap is $\Theta(\log(m))$, but when formulating another problem as Hitting Set, the IG can be lower.  In &lt;a href=&quot;http://www.math.tau.ac.il/~michas/epsrect.pdf&quot; rel=&quot;noreferrer&quot;&gt;this example&lt;/a&gt; the authors show how to find $\varepsilon$-nets of size $\mathcal{O}((1/\varepsilon) \log \log (1/\varepsilon))$ for the restricted instances of Hitting Set that correspond to the problem of hitting axis-parallel boxes.  In this way they improve upon the best known approximation factor for that problem.  It's an open problem whether or not this can be improved.  If, for these restricted Hitting Set instances, the IG for the Hitting Set LP is $\Theta(\log \log m)$, it would be impossible to design net finder guaranteeing $\varepsilon$-nets of size $o((1/\varepsilon) \log \log (1/\varepsilon))$, since doing so would imply the existence of an algorithm that guarantees integral hitting sets of size $o(\mathrm{OPT}_f \log\log \mathrm{OPT}_f)$, but since $\mathrm{OPT}_f\leq m$ this would imply a smaller integrality gap.  So if the integrality gap is large, proving it could prevent people from wasting their time looking for good net finders.&lt;/p&gt;&#xA;" OwnerUserId="196" LastActivityDate="2010-08-22T23:48:29.353" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="401" PostTypeId="2" ParentId="399" CreationDate="2010-08-23T00:00:55.447" Score="9" Body="&lt;p&gt;There is manifold-based compressed sensing, in which the sparsity condition is replaced by the condition that the data lie on a low-dimensional submanifold of the natural space of signals.  Note that sparsity can be phrased as lying on a particular manifold (in fact, a secant variety).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See, for example &lt;a href=&quot;http://people.ee.duke.edu/~lcarin/MFA10.pdf&quot; rel=&quot;nofollow&quot;&gt;this paper&lt;/a&gt; and the references in its introduction.  (I admittedly do not know if this paper is representative of the area -- I am more familiar with the related topic of manifold-based classifiers a la &lt;a href=&quot;http://people.cs.uchicago.edu/~niyogi/papersps/noise.pdf&quot; rel=&quot;nofollow&quot;&gt;Niyogi-Smale-Weinberger&lt;/a&gt;.)&lt;/p&gt;&#xA;" OwnerUserId="129" LastEditorUserId="129" LastEditDate="2010-10-27T22:10:01.967" LastActivityDate="2010-10-27T22:10:01.967" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="402" PostTypeId="2" ParentId="399" CreationDate="2010-08-23T02:32:16.733" Score="8" Body="&lt;p&gt;I suppose that, at the level of generality in which I've posed the question, the paper &lt;a href=&quot;http://dx.doi.org/10.1007/s00037-005-0198-6&quot;&gt;&quot;Compression of samplable sources&quot;&lt;/a&gt; by Trevisan, Vadhan and Zuckerman (2004) also qualifies as one possible answer.  They show that in many cases, if the source of input strings is of low complexity (e.g., samplable by logspace machines), then one can compress, and decompress, in polynomial time to length an additive constant away from the entropy of the source.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I don't really know though if compressed sensing can be put into some larger theory of compression.&lt;/p&gt;&#xA;" OwnerUserId="15" LastActivityDate="2010-08-23T02:32:16.733" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="403" PostTypeId="1" AcceptedAnswerId="537" CreationDate="2010-08-23T05:26:03.070" Score="13" ViewCount="1073" Body="&lt;p&gt;It is known thanks to Immerman and Szelepcsényi that ${\rm NSPACE}(f)={\rm coNSPACE}(f)$ if $f=\Omega(\log)$ (even for non-space constructible functions).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the same paper, Immerman state that the logspace alternating hierarchy collapses, this means that $\Sigma_j{\rm SPACE}(\log)={\rm NSPACE}(\log)$ (the definition of the bounded alternating turing machine and of what is a hierarchy can be found on &lt;a href=&quot;http://en.wikipedia.org/wiki/Alternating_Turing_machine#Definition&quot;&gt;wikipedia&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there any paper about the alternating space hierarchy  for  $f=\Omega(\log)$ ? I asked last week to Immerman who did not remember reading anything like that. In english I would want to know if there is any written proof that using any language that can be decided by a Turing Machine with $j$ alternations can also be decided by a non deterministic turing maachine with the same space bound.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is really about finding a reference, because I think I figured out the proof; but I guess that it may already be known. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Maybe I should state what I think are the two main problems. First if $f=O(n)$, let's say $f=\log^2$, then it is impossible to compose to $SPACE(f)$ TM to obtains a $SPACE(f)$ TM, which we could do with $\rm{LOGSPACE}$ TM. Secondly, there is one argument for the case $f=O(n)$ and one for $f=\Omega(n)$ but there is still some problem for fonction which are neither $O(n)$ nor $\Omega(n)$.&lt;/p&gt;&#xA;" OwnerUserId="328" LastEditorUserId="74" LastEditDate="2010-08-23T08:17:25.613" LastActivityDate="2011-04-14T00:33:02.783" Title="Space alternating hierarchy" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;space-bounded&gt;&lt;alternating-hierarchy&gt;" AnswerCount="2" CommentCount="5" FavoriteCount="6" ContentLicense="CC BY-SA 2.5" />
  <row Id="404" PostTypeId="2" ParentId="189" CreationDate="2010-08-23T06:26:39.160" Score="7" Body="&lt;p&gt;I would like to put some non-deterministic algorithm, which may also be in the Book.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In particular, I think of the Immerman's algorithm for non-reachability in directed graph in non deterministic log space ! (or equivalently reachability in universal logspace).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;And also probably the algorithm to reduce any problem in NP into an NP-complete problem like SAT; because it is really impressive that one algorithm like this exists !&lt;/p&gt;&#xA;" OwnerUserId="328" LastActivityDate="2010-08-23T06:26:39.160" CommentCount="1" CommunityOwnedDate="2010-08-23T06:26:39.160" ContentLicense="CC BY-SA 2.5" />
  <row Id="405" PostTypeId="2" ParentId="235" CreationDate="2010-08-23T07:45:28.440" Score="5" Body="&lt;p&gt;I think you may find interesting answer in Okasaki's book &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.64.3080&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;noreferrer&quot;&gt;Purely Functional Data Structures&lt;/a&gt;. In this book, many data structures are shown, such that every updates are not expensive (usually only take a constant or logarithm time). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let say that &quot;d&quot; is a structure just before the time you must rebalance. In a purely functional data structure you have got persistant data structures, hence you can add $n$  things to &quot;d&quot; and need to rebalance $n$ times. This is why amortized complexity does not work in this setting, and he created other way to obtains good algorithm where every step with updates are non-expensive.&lt;/p&gt;&#xA;" OwnerUserId="328" LastActivityDate="2010-08-23T07:45:28.440" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="407" PostTypeId="2" ParentId="392" CreationDate="2010-08-23T09:08:30.160" Score="32" Body="&lt;p&gt;Integrality gaps essentially represent the inherent limits of a particular linear or convex relaxation in approximating an integer program.  Generally, if the integrality gap of a particular relaxation is $x$, then any approximation algorithm based on that relaxation cannot hope to do better than an $x$-approximation.  So at the very least, integrality gaps are of interest to algorithm designers since they suggest limitations in certain techniques.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;So why not just come up with another LP relaxation or switch to other techniques and move on?  Linear and convex programming have proven to be central to approximation algorithms; for many problems the integrality gap of a natural LP or SDP formulation is equal to the approximation ratio of the best algorithm as well as the hardness of approximation ratio.  This is just an empirical observation, but it means that proving an integrality gap may suggest much stronger consequences of an improved algorithm or lower bound.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There may be deeper and more rigorous reasons for this phenomenon.  For instance, assuming the unique games conjecture, it is known that the approximation ratio and inapproximability ratio for constraint satisfaction problems is equal to the integrality gap of a simple SDP relaxation (see &lt;a href=&quot;http://research.microsoft.com/en-us/um/people/pnagaraj/Files/extabstract.pdf&quot;&gt;Optimal Algorithms and Inapproximability Results for Every CSP?&lt;/a&gt; by Prasad Raghavendra)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, integrality gaps represent &lt;em&gt;unconditional&lt;/em&gt; lower bounds.  Usually, we need to rely on unproven assumptions (e.g. $P \neq NP$) if we want to make any progress in lower bounds, but for restricted models of computation, we can sometimes get away without it (see &lt;a href=&quot;http://lucatrevisan.wordpress.com/2010/04/22/cs254-lecture-1-introduction/&quot;&gt;lecture notes&lt;/a&gt; by Luca Trevisan).  Integrality gaps, being purely geometric rather than computational, are one way of getting fairly powerful lower bounds without the baggage of extra assumptions.&lt;/p&gt;&#xA;" OwnerUserId="205" LastActivityDate="2010-08-23T09:08:30.160" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="408" PostTypeId="1" AcceptedAnswerId="418" CreationDate="2010-08-23T09:10:28.190" Score="4" ViewCount="521" Body="&lt;p&gt;Are there well-established applications of the &lt;a href=&quot;http://en.wikipedia.org/wiki/Cantor_space&quot; rel=&quot;nofollow&quot;&gt;Cantor space&lt;/a&gt; ($2^\omega$) in computer science, other than those connected with computable real arithmetic?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;John Tucker's page &lt;a href=&quot;http://www-compsci.swan.ac.uk/~csjvt/JVTResearch/ComputationTopologicalData.html&quot; rel=&quot;nofollow&quot;&gt;Computation on Topological Data Types&lt;/a&gt; mentions applications of the general area in signal processing, 3d graphics, and semantics of process algebras: have these applications been fruitful?&lt;/p&gt;&#xA;" OwnerUserId="270" LastEditorUserId="270" LastEditDate="2010-08-23T12:52:00.527" LastActivityDate="2010-08-29T00:27:32.333" Title="What applications of Cantor space are there?" Tags="&lt;reference-request&gt;&lt;semantics&gt;&lt;topology&gt;&lt;computable-analysis&gt;" AnswerCount="3" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="409" PostTypeId="2" ParentId="384" CreationDate="2010-08-23T09:24:33.597" Score="13" Body="&lt;p&gt;Computable analysis characterises real numbers programmatically, since real numbers contain an unbounded amount of information, and so operations on real numbers are higher-order in the questions sense.  Typically, real numbers are presented using a topological view on the infinite stream of bits, the Cantor space, lending interest to the wider field of computable topology.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Klaus Weihrach has talked of this as the &lt;em&gt;Type Two Hierarchy of Effectivity&lt;/em&gt; of computable topology.  For more about this, look at Weihrach &amp;amp; Grubba, 2009, &lt;a href=&quot;http://www.jucs.org/jucs_15_6/elementary_computable_topology/jucs_15_06_1381_1422_weihrauch.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Elementary Computable Topology&lt;/a&gt;, and at John Tucker's research page, &lt;a href=&quot;http://www-compsci.swan.ac.uk/~csjvt/JVTResearch/ComputationTopologicalData.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;Computation with Topological Data&lt;/a&gt;.  I mention Tucker's page in my question, &lt;a href=&quot;https://cstheory.stackexchange.com/questions/408/applications-of-cantor-space&quot;&gt;Applications of Cantor Space&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="270" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2010-08-23T09:24:33.597" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="410" PostTypeId="2" ParentId="189" CreationDate="2010-08-23T11:33:04.287" Score="15" Body="&lt;p&gt;I would add universal hashing (or more generally pairwise independent hash functions) of Carter and Wegman. While not really an algorithm in itself, it is the enabling technology in a lot of fantastic randomized algorithms. To name a few:&lt;ul&gt;&#xA;&lt;li&gt; Randomized equality testing (hugely important in communication protocols)&#xA;&lt;li&gt; Hashing with chaining&#xA;&lt;li&gt; Count-min sketches&#xA;&lt;/ul&gt;&lt;/p&gt;&#xA;" OwnerUserId="215" LastActivityDate="2010-08-23T11:33:04.287" CommentCount="1" CommunityOwnedDate="2010-08-23T11:33:04.287" ContentLicense="CC BY-SA 2.5" />
  <row Id="411" PostTypeId="2" ParentId="384" CreationDate="2010-08-23T11:43:05.350" Score="22" Body="&lt;p&gt;there are a bunch of algorithms that are &quot;truly 2nd order&quot; although usually not explicitly described in these terms.  Whenever we have sub-linear time algorithms, implicit is some kind of oracle access to the input, i.e. really treating the input as a function.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Examples:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(1) The Ellipsoid algorithms when working with a &quot;separation oracle&quot; (eg &lt;a href=&quot;http://math.mit.edu/~vempala/18.433/L18.pdf&quot;&gt;http://math.mit.edu/~vempala/18.433/L18.pdf&lt;/a&gt; )&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(2) Submodular function minimization (eg &lt;a href=&quot;http://people.commerce.ubc.ca/faculty/mccormick/sfmchap8a.pdf&quot;&gt;http://people.commerce.ubc.ca/faculty/mccormick/sfmchap8a.pdf&lt;/a&gt; )&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(3) The whole field of property testing is really of this form ( &lt;a href=&quot;http://www.wisdom.weizmann.ac.il/~oded/test.html&quot;&gt;http://www.wisdom.weizmann.ac.il/~oded/test.html&lt;/a&gt; )&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(4) Combinatorial auctions in the query model (eg  &lt;a href=&quot;http://pluto.huji.ac.il/~blumrosen/papers/iter.pdf&quot;&gt;http://pluto.huji.ac.il/~blumrosen/papers/iter.pdf&lt;/a&gt; )&lt;/p&gt;&#xA;" OwnerUserId="42" LastActivityDate="2010-08-23T11:43:05.350" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="412" PostTypeId="2" ParentId="265" CreationDate="2010-08-23T12:42:05.790" Score="3" Body="&lt;p&gt;There's a standard technology – usually undecidable, of course – for populating your graph with its pre- and post-conditions, namely &lt;a href=&quot;http://en.wikipedia.org/wiki/Predicate_transformer_semantics#Weakest_liberal_precondition&quot; rel=&quot;nofollow&quot;&gt;weakest liberal precondition semantics&lt;/a&gt;, which is a form of predicate transformer semantics that gives weakest preconditions for either satisfaction of the specification or non-termination.  This essentially is a complete theory of partial correctness for such languages, and, indeed, full correctness&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's chalk and cheese deciding which of termination and partial correctness is where the hard work lies, since both are so badly undecidable.  But partial correctness is tangled up with language design issues, both for program and specification languages, whilst the difficulty of termination is of a clean sort: for any theory used for proving termination there will be algorithms that terminate, but connot be proven to terminate relative to that theory.  For example, computations in &lt;a href=&quot;http://en.wikipedia.org/wiki/System_F&quot; rel=&quot;nofollow&quot;&gt;the pure polymorphic lambda calculus&lt;/a&gt; must terminate, but Peano arithmetic cannot prove this.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My impression is that the work on &lt;a href=&quot;http://www.di.ens.fr/~cousot/AI/&quot; rel=&quot;nofollow&quot;&gt;abstract interpretation&lt;/a&gt; pioneered by Patrick Cousot, has been the most dynamic in this area, but I don't pretend to be an expert.&lt;/p&gt;&#xA;" OwnerUserId="270" LastActivityDate="2010-08-23T12:42:05.790" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="413" PostTypeId="2" ParentId="363" CreationDate="2010-08-23T13:59:12.873" Score="9" Body="&lt;p&gt;Another problem is finding approximate solutions to the &lt;a href=&quot;http://en.wikipedia.org/wiki/Lattice_problem&quot;&gt;shortest or closest vector problem&lt;/a&gt; (SVP, CVP). For instance, it has been proven (by &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.47.594&quot;&gt;Goldreich and Goldwasser, 1998&lt;/a&gt;) that approximating SVP within a factor of $O(\sqrt{n/\log(n)})$ is in $NP \cap coAM$, where $n$ denotes the dimension of the lattice. It is not known whether this problem is in $coNP$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, it is also known (see &lt;a href=&quot;http://doi.acm.org/10.1145/1089023.1089025&quot;&gt;Aharonov and Regev, 2004&lt;/a&gt;) that finding $O(\sqrt{n})$-approximate solutions is in $NP \cap coNP$.&lt;/p&gt;&#xA;" OwnerUserId="228" LastActivityDate="2010-08-23T13:59:12.873" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="414" PostTypeId="1" AcceptedAnswerId="422" CreationDate="2010-08-23T14:41:52.427" Score="7" ViewCount="471" Body="&lt;p&gt;My question: is the set of potential games closed under convex combinations?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An n player game with action set $A = A_1 \times \ldots \times A_n$ and payoff functions $u_i$ is called an exact potential game if there exists a potential function $\Phi$ such that:&#xA;$$\forall_{a\in A} \forall_{a_{i},b_{i}\in A_{i}} \Phi(b_{i},a_{-i})-\Phi(a_{i},a_{-i}) = u_{i}(b_{i},a_{-i})-u_{i}(a_{i},a_{-i})$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A game is a general (ordinal) potential game if there exists a potential function $\Phi$ such that: &#xA;$$\forall_{a\in A} \forall_{a_{i},b_{i}\in A_{i}} sgn(\Phi(b_{i},a_{-i})-\Phi(a_{i},a_{-i})) = sgn(u_{i}(b_{i},a_{-i})-u_{i}(a_{i},a_{-i}))$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Say that we have two games on the same action set, with utility functions $u_i$ and $u'_i$ respectively, for each player $i$. For any $0 \leq p \leq 1$, there is a convex combination of these two games, again on the same action set, where the utility function for each player $i$ is now $u^p_i(\cdot) = (1-p)u_i(\cdot) + pu'_i(\cdot)$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Clearly, the convex combination of two exact potential games is also an exact potential game: just take the same convex combination of the two potential functions. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;But is it possible to have two (general) potential games such that their convex combination is not a potential game?&lt;/p&gt;&#xA;" OwnerUserId="25" LastEditorUserId="108" LastEditDate="2010-09-24T14:50:53.040" LastActivityDate="2010-09-24T14:50:53.040" Title="Is the convex combination of two potential games a potential game?" Tags="&lt;gt.game-theory&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="416" PostTypeId="2" ParentId="174" CreationDate="2010-08-23T16:29:22.547" Score="41" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;Are there problems that cannot be solved efficiently by parallel computers?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Problems that are P-complete are not known to be parallelizable.  P-complete problems include Horn-SAT and Linear Programming.  But proving that this is the case would require separating some notion of parallelizable problems (such as NC or LOGCFL) from P.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Computer processor designs are increasing the number of processing units, in the hope that this will yield improved performance.  If fundamental algorithms such as Linear Programming are inherently not parallelizable, then there are significant consequences.&lt;/p&gt;&#xA;" OwnerUserId="109" LastActivityDate="2010-08-23T16:29:22.547" CommentCount="1" CommunityOwnedDate="2010-08-23T16:29:22.547" ContentLicense="CC BY-SA 2.5" />
  <row Id="418" PostTypeId="2" ParentId="408" CreationDate="2010-08-23T16:41:47.070" Score="5" Body="&lt;p&gt;It is used heavily in algorithmic information theory. For example, if you want to define random sequence with respect to a particular measure, you should first define this measure on Borel sets of cantor space.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Compactness of Cantor tree is used implicitly or explicitly in compactness arguments in combinatorics (in particular, it is used in the proof of compactness theorem for boolean functions).&lt;/p&gt;&#xA;" OwnerUserId="141" LastEditorUserId="141" LastEditDate="2010-08-24T01:36:44.643" LastActivityDate="2010-08-24T01:36:44.643" CommentCount="4" CommunityOwnedDate="2010-08-23T16:41:47.070" ContentLicense="CC BY-SA 2.5" />
  <row Id="419" PostTypeId="1" AcceptedAnswerId="420" CreationDate="2010-08-23T18:34:22.200" Score="9" ViewCount="557" Body="&lt;p&gt;Is it possible (slash can you provide an example) to reduce computational complexity of a problem by using a parallel algorithm which does not require a number of processors relative to the input size?&lt;/p&gt;&#xA;" OwnerUserId="102" LastEditorUserId="74" LastEditDate="2010-09-20T07:30:14.503" LastActivityDate="2010-12-20T21:42:50.440" Title="Reducing complexity with parallelism" Tags="&lt;cc.complexity-theory&gt;&lt;dc.parallel-comp&gt;" AnswerCount="6" CommentCount="3" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="420" PostTypeId="2" ParentId="419" CreationDate="2010-08-23T18:49:16.443" Score="12" Body="&lt;p&gt;If you mean O(1) processors, then no, computation complexity cannot be reduced.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Simply line up the work done by each processor and do it on a single one. If you are worried about synchronization, then one processor can easily emulate that.&lt;/p&gt;&#xA;" OwnerUserId="126" LastActivityDate="2010-08-23T18:49:16.443" CommentCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="421" PostTypeId="2" ParentId="174" CreationDate="2010-08-23T19:07:47.687" Score="39" Body="&lt;p&gt;Are there truly subquadratic-time algorithms (meaning $O(n^{2-\delta})$ time for some constant $\delta&amp;gt;0$) for &lt;a href=&quot;http://maven.smith.edu/~orourke/TOPP/P11.html&quot; rel=&quot;noreferrer&quot;&gt;3SUM-hard Problems&lt;/a&gt;?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In 2014, &lt;a href=&quot;http://arxiv.org/abs/1404.0799&quot; rel=&quot;noreferrer&quot;&gt;Grønlund and Pettie&lt;/a&gt; described a deterministic algorithm for 3SUM itself that runs in time $O(n^2/(\log n/\log \log n)^{2/3})$.  Although this is a major result, the improvement over $O(n^2)$ is only (sub)logarithmic.  Moreover, no similar subquadratic algorithms are known for most other 3SUM-hard problems.&lt;/p&gt;&#xA;" OwnerUserId="126" LastEditorUserId="111" LastEditDate="2015-06-25T22:40:24.090" LastActivityDate="2015-06-25T22:40:24.090" CommentCount="8" CommunityOwnedDate="2010-08-23T19:07:47.687" ContentLicense="CC BY-SA 3.0" />
  <row Id="422" PostTypeId="2" ParentId="414" CreationDate="2010-08-23T19:14:22.650" Score="12" Body="&lt;p&gt;NO.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The following two-player game, with e very close to 0, is a potential game:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(e,0)   (e,1)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(0,0)   (0,e)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Taking the 8 equivalent games (switching the roles of the players / rows / columns), then a convex combination of them gets you as close as you want to any game with positive utilities, like to matching pennies with a positive constant added to each utility.  But that is not a potential game.&lt;/p&gt;&#xA;" OwnerUserId="42" LastActivityDate="2010-08-23T19:14:22.650" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="423" PostTypeId="1" CreationDate="2010-08-23T19:20:18.800" Score="11" ViewCount="4224" Body="&lt;p&gt;In a directed graph, $G=(V,E)$, $F\subset E$, if $G\setminus F$ is a DAG(directed acyclic graph), $F$ is called a feedback arc set.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If each edge is associated with a weight $w$, the minimum cost feedback arc set problem is to find a $F$ such that $W(F)$ is minimum. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is well-known that minimum feedback arc set problem is NP-hard, and so does minimum cost feedback arc set problem. I wonder if anyone knows any approximate algorithm that performs well, and any properties of the weight function that can yield a fast solver.&lt;/p&gt;&#xA;" OwnerUserId="299" LastEditorUserId="74" LastEditDate="2010-08-23T22:13:17.207" LastActivityDate="2017-03-01T13:31:30.427" Title="Any fast algorithm for minimum cost feedback arc set problem?" Tags="&lt;ds.data-structures&gt;&lt;graph-theory&gt;&lt;np-hardness&gt;&lt;approximation-algorithms&gt;" AnswerCount="2" CommentCount="5" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="424" PostTypeId="2" ParentId="189" CreationDate="2010-08-23T19:23:25.643" Score="13" Body="&lt;p&gt;This collection of answers would be a great start on an outline for a book with that title!&#xA;I have really enjoyed &lt;em&gt;Proofs from the Book&lt;/em&gt;, have even purchased all four editions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would include the &lt;a href=&quot;http://en.wikipedia.org/wiki/Delaunay_triangulation#Flip_algorithms&quot;&gt;edge-flipping algorithm&lt;/a&gt; for constructing the Delaunay Triangulation in 2D.&#xA;Even though it is not optimal.&lt;/p&gt;&#xA;" OwnerUserId="337" LastActivityDate="2010-08-23T19:23:25.643" CommentCount="1" CommunityOwnedDate="2010-08-23T19:23:25.643" ContentLicense="CC BY-SA 2.5" />
  <row Id="425" PostTypeId="2" ParentId="189" CreationDate="2010-08-23T19:27:29.597" Score="8" Body="&lt;p&gt;I'm not sure if the question requests particularly beautiful algorithms, but as far as useful and simple algorithms go..&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I propose steepest descent.  By this I specifically mean an iterative minimization technique for a function $f$ over a domain with norm $\|\cdot\|$ which, at every step, from an iterate $x$, performs linesearch in the direction(*) $v := \textrm{argmin}_u \{\nabla f(x)^T u : \|u\| = 1\}$.  (For two texts which use this terminology and provide discussion, see Boyd/Vandenberghe or Hiriart-Urruty/Lemarechal.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;When $\|\cdot\|$ is the $l_2$ norm, this gives gradient descent, which was certainly known to Cauchy but arguably known by every living organism.  When $\|\cdot\|$ is the $l_1$ norm, this is greedy coordinate ascent, which includes boosting, which is similar to Gauss-Seidel iterations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;When $\|\cdot\|$ is any norm over $\mathbb{R}^n$ and $f$ is strongly convex, this method exhibits linear convergence (i.e. $\mathcal{O}(\ln(1/\epsilon))$ iterations to error $\epsilon$); for a proof of this, see Boyd/Vandenberghe.  (The constants are bad because it uses the ones provided by norm equivalence.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Certainly, there are methods with faster convergence, the ability to handle nonsmooth objectives, etc.  But this method is simple and can work decently, and thus is in widespread use, and always will be.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(*) There may be more than one minimizer (consider $l_1$ norm), but there is always at least one (gradients are linear, and the set is compact).&lt;/p&gt;&#xA;" OwnerUserId="336" LastEditorUserId="336" LastEditDate="2010-08-23T19:33:28.243" LastActivityDate="2010-08-23T19:33:28.243" CommentCount="1" CommunityOwnedDate="2010-08-23T19:27:29.597" ContentLicense="CC BY-SA 2.5" />
  <row Id="426" PostTypeId="1" AcceptedAnswerId="543" CreationDate="2010-08-23T20:07:54.710" Score="42" ViewCount="1696" Body="&lt;p&gt;The field of distributed computing has fallen woefully short in developing a single mathematical theory to describe distributed algorithms. There are several 'models' and frameworks of distributed computation that are simply not compatible with each other. The sheer explosion of varying temporal properties (asynchrony, synchrony, partial synchrony), various communication primitives (message passing vs. shared memory, broadcast vs. unicast), multiple fault models (fail stop, crash recover, send omission, byzantine, and so on) has left us with an intractable number of system models, frameworks, and methodologies, that comparing relative solvability results and lower bounds across these models and frameworks has become arduous, intractable, and at times, impossible.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is very simply, why is that so? What is so fundamentally different about distributed computing (from its sequential counterpart) that we haven't been able to collate the research into a unified theory of distributed computing? With sequential computing, Turing Machines, Recursive Functions, and Lambda Calculus all truned out to be equivalent. Was this just a stroke of luck, or did we really do a good job in encapsulating sequential computing in a manner that is yet to be accomplished with distributed computing?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In other words, is distributed computing inherently unyielding to an elegant theory (and if so, how and why?), or are we simply not smart enough to discover such a theory?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The only reference I could find that addresses this issue is: &quot;&lt;a href=&quot;http://www.springerlink.com/content/w8fwjygg99rvg4je/&quot;&gt;Appraising two decades of distributed computing theory research&lt;/a&gt;&quot; by Fischer and Merritt DOI: 10.1007/s00446-003-0096-6&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any references or expositions would be really helpful.&lt;/p&gt;&#xA;" OwnerUserId="175" LastEditorUserId="567" LastEditDate="2010-11-11T15:43:41.000" LastActivityDate="2017-06-14T17:11:14.573" Title="Why have we not been able to develop a unified complexity theory of distributed computing?" Tags="&lt;big-picture&gt;&lt;dc.distributed-comp&gt;" AnswerCount="4" CommentCount="0" FavoriteCount="19" ContentLicense="CC BY-SA 2.5" />
  <row Id="427" PostTypeId="1" AcceptedAnswerId="479" CreationDate="2010-08-23T20:12:07.930" Score="13" ViewCount="6073" Body="&lt;p&gt;What are some real world problems that have been solved using a genetic algorithm?   What is the problem?  What is the fitness test used to solve this problem?&lt;/p&gt;&#xA;" OwnerUserId="365" LastEditorUserId="7884" LastEditDate="2012-09-03T01:25:47.823" LastActivityDate="2015-10-17T12:29:24.677" Title="What are some real world applications for genetic algorithms?" Tags="&lt;ds.algorithms&gt;&lt;machine-learning&gt;&lt;ai.artificial-intel&gt;&lt;application-of-theory&gt;&lt;ne.neural-evol&gt;" AnswerCount="12" CommentCount="9" FavoriteCount="7" ContentLicense="CC BY-SA 2.5" />
  <row Id="428" PostTypeId="2" ParentId="427" CreationDate="2010-08-23T20:13:26.633" Score="6" Body="&lt;p&gt;Nasa created a genetic algorithm for &lt;a href=&quot;http://ti.arc.nasa.gov/projects/esg/research/antenna.htm&quot;&gt;Antenna Design&lt;/a&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The fitness test is as follows:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;The fitness function used to evaluate&#xA;  antennas is a function of the voltage&#xA;  standing wave ratio (VSWR) and gain&#xA;  values on the transmit and receive&#xA;  frequencies. VSWR is a way to quantify&#xA;  reflected-wave interference, and thus&#xA;  the amount of impedance mismatch at&#xA;  the junction. VSWR is the ratio&#xA;  between the highest voltage and the&#xA;  lowest voltage in the signal envelope&#xA;  along a transmission line.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="365" LastActivityDate="2010-08-23T20:13:26.633" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="429" PostTypeId="1" AcceptedAnswerId="443" CreationDate="2010-08-23T20:20:38.850" Score="3" ViewCount="3198" Body="&lt;p&gt;Why is $\mathsf{P}$ vs. $\mathsf{NP}$ problem considered so important?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is $\mathsf{P}$ vs. $\mathsf{NP}$ the hardest mathematical problem? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Why is it so hard?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;All I'm looking for is the hindrances to solving $\mathsf{P}$ vs. $\mathsf{NP}$. Are there any theorems that help explain why $\mathsf{P}$ vs. $\mathsf{NP}$ is so hard?&lt;/p&gt;&#xA;" OwnerUserId="73" LastEditorUserId="186" LastEditDate="2013-02-09T09:53:30.493" LastActivityDate="2013-02-09T09:53:30.493" Title="Why is P vs. NP so hard?" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;np-hardness&gt;" AnswerCount="4" CommentCount="6" FavoriteCount="3" ClosedDate="2010-08-26T20:11:51.733" ContentLicense="CC BY-SA 3.0" />
  <row Id="430" PostTypeId="1" CreationDate="2010-08-23T20:21:04.793" Score="29" ViewCount="991" Body="&lt;p&gt;By simulation I mean in the Impaglazzio-Widgerson [IW98] sense, i.e. sub-exponential deterministic simulation which appears correct i.o to every efficient adversary.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think this is a proof: if $EXP\neq BPP$ then from [IW98] we get that BPP has such a simulation. Otherwise we have that $EXP=BPP$, which implies $RP=NP$ (because $NP \subseteq BPP$) and $EXP \in PH$. Now if $NP=RP=ZPP$ we have that $PH$ collapses to $ZPP$ and as a result $EXP$, but this cannot happen because of the assumption, so $RP\neq ZPP$ and this by the Kabanets paper &quot;Easiness assumptions and hardness tests: trading time for zero error&quot; implies that RP has such a simulation and as a result also NP.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This sounds like it could be a useful gap theorem.  Does anyone know if it appears anywhere?&lt;/p&gt;&#xA;" OwnerUserId="364" LastEditorUserId="186" LastEditDate="2011-08-31T06:48:54.303" LastActivityDate="2011-08-31T06:48:54.303" Title="Does $EXP\neq ZPP$ imply sub-exponential simulation of BPP or NP?" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;complexity-classes&gt;&lt;conditional-results&gt;" AnswerCount="0" CommentCount="4" FavoriteCount="10" ContentLicense="CC BY-SA 2.5" />
  <row Id="431" PostTypeId="2" ParentId="376" CreationDate="2010-08-23T20:39:02.540" Score="7" Body="&lt;p&gt;You could also look up calculi of explicit substitutions which break up the meta-level substitution of the lambda-calculus into a series of explicit reduction steps.  This touches on Charles' point that all substitutions should not be considered the same when considering time complexity.&lt;/p&gt;&#xA;" OwnerUserId="375" LastActivityDate="2010-08-23T20:39:02.540" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="433" PostTypeId="2" ParentId="265" CreationDate="2010-08-23T20:43:01.143" Score="7" Body="&lt;p&gt;One way to answer this is to consider the computational complexity of the decision problems for the classes of partial correctness and termination queries that are known to be decidable.  Abstract interpretation using the polyhedral domain can infer the partial correctness annotations you mention in cases where the required annotations are conjunctions of linear inequalities.  Computing the abstract post-condition is exponential in the number of variables.  Then there is the overhead of finding the fixed point.  See Cousot's early papers for more on this and the Apron library if you want to play with it directly.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finding variant functions is decidable when the variant functions are linear.  I couldn't find a complete characterization of the complexity of this, but &quot;Termination of Linear Programs&quot; by Tiwari has a section that discusses complexity.  See also &quot;A Complete Method for the Synthesis of Linear Ranking Functions&quot; by Podelski and Rybalchenko.  Also, Byron Cook has done work on leveraging abstract interpretation to help construct termination arguments.  See, for example, &quot;Ranking Abstractions&quot; and &quot;Variance Analyses from Invariance Analyses&quot;.  These may give further insight into the relationship between partial correctness and termination.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Links:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.csl.sri.com/users/tiwari/html/cav04.html&quot; rel=&quot;nofollow&quot;&gt;http://www.csl.sri.com/users/tiwari/html/cav04.html&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www7.in.tum.de/~rybal/papers/vmcai04-linear-ranking.pdf&quot; rel=&quot;nofollow&quot;&gt;http://www7.in.tum.de/~rybal/papers/vmcai04-linear-ranking.pdf&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.dcs.qmul.ac.uk/~hyang/paper/esop08.pdf&quot; rel=&quot;nofollow&quot;&gt;http://www.dcs.qmul.ac.uk/~hyang/paper/esop08.pdf&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://research.microsoft.com/terminator/popl07a.pdf&quot; rel=&quot;nofollow&quot;&gt;http://research.microsoft.com/terminator/popl07a.pdf&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="92" LastEditorUserId="705" LastEditDate="2011-02-02T09:33:12.323" LastActivityDate="2011-02-02T09:33:12.323" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="434" PostTypeId="2" ParentId="82" CreationDate="2010-08-23T20:51:22.127" Score="12" Body="&lt;p&gt;Christian Urban used the Isabelle proof assistant to check one of the main theorems in his PhD thesis was actually a theorem [1].  Using the assistant, a few changes needed to be made, but the result pretty much stood up.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Similarly, Urban and Narboux also discovered errors in a pen and paper proof of Crary's completeness proof for equivalence checking.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Meikle and Fleuriot formalised Hilbert's Grundlagen in Isabelle and demonstrated that, contrary to Hilbert's claims, he was still relying on his intutition to formalise geometry in an axiomatic manner (IIRC there were holes in his proof derived from Hilbert assuming things about diagrams) [3].&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1]: Revisiting Cut-Elimination: One Difficult Proof is Really a Proof&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2]: Formalising in Nominal Isabelle Crary's Completeness Proof for Equivalence Checking&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[3]: Formalising Hilbert's Grundlagen in Isabelle/Isar&lt;/p&gt;&#xA;" OwnerUserId="375" LastActivityDate="2010-08-23T20:51:22.127" CommentCount="0" CommunityOwnedDate="2010-08-23T20:51:22.127" ContentLicense="CC BY-SA 2.5" />
  <row Id="437" PostTypeId="2" ParentId="426" CreationDate="2010-08-23T20:55:00.730" Score="4" Body="&lt;p&gt;I think the situation looks quite different if viewed in context: starting from the early works and impossibility results on Byzantine agreement (&lt;a href=&quot;http://portal.acm.org/citation.cfm?doid=322186.322188&quot; rel=&quot;nofollow&quot;&gt;PSL80&lt;/a&gt; &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=357172.357176&quot; rel=&quot;nofollow&quot;&gt;LSP82&lt;/a&gt; &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=214121&quot; rel=&quot;nofollow&quot;&gt;FLP85&lt;/a&gt;), it was clear soon that fundamental problems in distributed computing can only be solved at all with strict synchrony assumptions and a high degree of redundancy. As these unconditional theoretical resource lower bounds were considered infeasible for any practical purposes, research focused on developing more refined models that allowed evermore fine-grained trade-offs of assumptions (on timing guarantees or failure modes for example) vs. guarantees (i.e. number of simultaneous faults of what kinds on what type of components tolerated, e.g. processors, links) in order to give the system designers the tools to find the right trade-off for the system at hand. &lt;/p&gt;&#xA;" OwnerUserId="121" LastEditorUserId="121" LastEditDate="2010-08-24T07:29:15.997" LastActivityDate="2010-08-24T07:29:15.997" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="438" PostTypeId="1" AcceptedAnswerId="441" CreationDate="2010-08-23T21:08:58.767" Score="6" ViewCount="533" Body="&lt;p&gt;If $L\subset \Sigma^\ast$ is a regular language then it is known that we can find a directed graph (aka automaton) $G$ with edges labelled with symbols from $\Sigma$, an ‘initial’ vertex, and a set of ‘terminal’ vertices, with the property that a word $w$ is in $L$ iff $w$ is the sequence of edge labels along a path from the initial vertex to a terminal vertex.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It’s possible that the same word can appear as a result of different paths in $G$. Can we guarantee that for any regular $L$ we can find a $G$ such that each word in $L$ appears as a path in $G$ in a &lt;em&gt;unique&lt;/em&gt; way?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(I’m interested in this because I want to know whether the solution to the problem I worked on &lt;a href=&quot;http://blog.sigfpe.com/2010/08/constraining-types-with-regular.html&quot;&gt;here&lt;/a&gt; applies cleanly to any regular language, or just for a certain class of them.)&lt;/p&gt;&#xA;" OwnerUserId="381" LastEditorUserId="74" LastEditDate="2010-08-23T22:18:54.890" LastActivityDate="2014-01-08T09:21:57.570" Title="Can words in regular languages be generated by automata in a unique way?" Tags="&lt;automata-theory&gt;&lt;fl.formal-languages&gt;" AnswerCount="3" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="439" PostTypeId="2" ParentId="384" CreationDate="2010-08-23T21:13:09.650" Score="9" Body="&lt;p&gt;To complement &lt;a href=&quot;https://cstheory.stackexchange.com/questions/384/higher-order-algorithms/411#411&quot;&gt;Noam's answer&lt;/a&gt;, there are also several situations where it's important to have the &lt;em&gt;output&lt;/em&gt; be (an explicit representation of) a function.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;One interesting example is the definition of a list-decodable code.  Let $C: \\{0,1\\}^n \rightarrow  \\{0,1\\}^m$ be a code.  We say that a probabilistic algorithm $A$ $(\alpha,L,\epsilon)$ list-decodes $C$ if on input $n$, $A$ outputs probabilistic machines $M_1,\dots,M_L$ such that:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\begin{align}\forall w \in \\{0,1\\}^m, Pr_A [&amp;amp;\forall m,~(Ag(C(m),w) \geq \alpha \Rightarrow \\\ &amp;amp;\exists i \in [L],~\forall j \in [n],~Pr_{M_i}[M_i(j) = m_j] \geq 1-\epsilon)] \geq 2/3\end{align}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here, $Ag$ denotes the fraction of coordinates that the two strings agree on.  In other words, for every received word, the output of $A$ must contain, with probability at least $2/3$, a machine that $\epsilon$-approximates $m$ for every message $m$ whose encoding agrees with at least $\alpha$ fraction of the coordinates of the received word. &lt;/p&gt;&#xA;" OwnerUserId="15" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2010-08-24T02:18:52.670" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="440" PostTypeId="2" ParentId="426" CreationDate="2010-08-23T21:14:45.580" Score="21" Body="&lt;p&gt;I will answer this from the perspective of classical graph problems (or input/output problems): we have a network, each node gets something as input and each node must produce something as output. I guess this is closest to the world of traditional computational complexity.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am certainly biased, but I think that in this setting, there &lt;em&gt;is&lt;/em&gt; a simple and fairly commonly used model of distributed computing: &lt;em&gt;synchronous distributed algorithms&lt;/em&gt;, with the definition that &lt;em&gt;running time = number of synchronous rounds&lt;/em&gt;. In Peleg's terminology, this is the &lt;em&gt;LOCAL&lt;/em&gt; model.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This model is nice as it has very few &quot;moving parts&quot;, no parameters, etc. Nevertheless, it is very concrete: it makes sense to say that the running time of an algorithm is exactly 15 in this model. And you can prove unconditional, information-theoretic lower bounds: from this perspective, the distributed complexity of many graph problems (e.g., graph colouring) is fairly well-understood.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This model also provides a unified approach to many aspects of distributed computing:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Message-passing vs. shared memory, broadcast vs. unicast: Irrelevant in this model.&lt;/li&gt;&#xA;&lt;li&gt;Your real-world system is asynchronous? No problem, just plug in the $\alpha$-synchroniser. The time complexity (with suitable definitions) is essentially unaffected.&lt;/li&gt;&#xA;&lt;li&gt;You'd like to have an algorithm for dynamic networks, or you'd like to recover from failures? Well, if your synchronous algorithm is deterministic, then you can use it to construct a &lt;em&gt;self-stabilising&lt;/em&gt; algorithm. Again, the time complexity is essentially unaffected.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Now all this is fine as long as you study problems that are &quot;truly distributed&quot; in the sense that the running time of your algorithm is &lt;em&gt;smaller than the diameter of the graph&lt;/em&gt;, i.e., no node needs to have full information on the structure of the graph. However, there are also many problems that are inherently global: the fastest algorithm in this model has running time that is linear in the diameter of the graph. In the study of those problems, the above model no longer makes any sense, and then we need to resort to something else. Typically, one starts to pay attention to the total number of messages or bits communicated in the network. That's one reason why we get several different models.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Then of course we have the issue that the distributed computing community is actually &lt;a href=&quot;http://dx.doi.org/10.1145/1835698.1835700&quot;&gt;two different communities, with surprisingly few things in common&lt;/a&gt;. If you lump together all models from two communities, it &lt;em&gt;will&lt;/em&gt; certainly look a bit confusing... My answer above is related to only one half of the community; I trust others will fill in regarding the other half.&lt;/p&gt;&#xA;" OwnerUserId="74" LastEditorUserId="74" LastEditDate="2010-08-23T21:24:38.973" LastActivityDate="2010-08-23T21:24:38.973" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="441" PostTypeId="2" ParentId="438" CreationDate="2010-08-23T21:41:02.180" Score="14" Body="&lt;p&gt;Maybe I misunderstood your question, but wouldn't a Deterministic Finite Automaton do what you want?&lt;/p&gt;&#xA;" OwnerUserId="126" LastActivityDate="2010-08-23T21:41:02.180" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="442" PostTypeId="2" ParentId="331" CreationDate="2010-08-23T21:46:45.453" Score="6" Body="&lt;p&gt;The reference Moritz cited basically shows that the online learning algorithms can be seen this way too, i.e., maximizing the dual objective (of the regularized loss function) instead of minimizing the primal objective.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The primal-dual perspective is useful because it lets you see how the dual objective is improving with each round, how it relates to other notions used to analyze online learning algorithms (such as the minimizing the total number of mistakes), and therefore also leads to ways of designing and analyzing some new online learning algorithms.&lt;/p&gt;&#xA;" OwnerUserId="384" LastActivityDate="2010-08-23T21:46:45.453" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="443" PostTypeId="2" ParentId="429" CreationDate="2010-08-23T21:56:36.100" Score="11" Body="&lt;p&gt;I guess the best answer to your question is to point out that there have been several &quot;barriers&quot; to proving the P vs NP problem which have been identified and which rule out a number of approaches to a proof.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The three main barriers identified are relativization, natural proofs and algebrization. All of these are described on the P vs NP Wikipedia page under the heading &quot;Results about the difficulty of proof&quot;, &lt;a href=&quot;http://en.wikipedia.org/wiki/P_versus_NP_problem#Results_about_difficulty_of_proof&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A more detailed explanation can be found in the papers outlining these barriers referenced on the same Wikipedia page.&lt;/p&gt;&#xA;" OwnerUserId="204" LastActivityDate="2010-08-23T21:56:36.100" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="444" PostTypeId="2" ParentId="82" CreationDate="2010-08-23T22:03:22.583" Score="8" Body="&lt;p&gt;The formula for the &lt;a href=&quot;http://en.wikipedia.org/wiki/Bailey%E2%80%93Borwein%E2%80%93Plouffe_formula&quot;&gt;Bailey-Borwein-Plouffe algorithm&lt;/a&gt; to compute the nth bit of Pi without computing any of the more significant bits was discovered, &lt;a href=&quot;http://groups.google.com/group/sci.math.symbolic/msg/5b7e62ce42ae0cb6?pli=1&quot;&gt;according to Simon Plouffe&lt;/a&gt;, using computer proof systems.&lt;/p&gt;&#xA;" OwnerUserId="3624" LastActivityDate="2010-08-23T22:03:22.583" CommentCount="0" CommunityOwnedDate="2010-08-23T22:03:22.583" ContentLicense="CC BY-SA 2.5" />
  <row Id="445" PostTypeId="1" AcceptedAnswerId="1694" CreationDate="2010-08-23T22:14:57.563" Score="10" ViewCount="374" Body="&lt;p&gt;By BPP/linear I refer to BPP machines with linear advice, which fulfills the promise when given the &quot;correct&quot; advice, &#xA;and the derandomization should give us, say, a P/linear or (SUBEXP/linear) algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we use non-uniform assumptions, I think classical results should work, because we can &quot;fool&quot; non-uniform adversaries.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, using uniform assumptions, say $EXP\neq BPP$,  non-trivial derandomization seems like a harder question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Do there exist results regarding this kind of classes, not necessary BPP/linear?&lt;/p&gt;&#xA;" OwnerUserId="364" LastEditorUserId="873" LastEditDate="2010-09-27T03:05:47.680" LastActivityDate="2010-09-27T03:05:47.680" Title="Has the derandomization of slightly non-uniform classes, e.g BPP/linear, been studied?" Tags="&lt;cc.complexity-theory&gt;&lt;derandomization&gt;&lt;advice-and-nonuniformity&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="446" PostTypeId="1" CreationDate="2010-08-23T22:41:01.117" Score="37" ViewCount="7131" Body="&lt;p&gt;Mark Dominus collected a few examples of &lt;a href=&quot;http://en.wikipedia.org/wiki/Polynomial-time_reduction&quot;&gt;polynomial-time reductions&lt;/a&gt; from &lt;a href=&quot;http://perl.plover.com/NPC/&quot;&gt;various NP-hard problems to “regular expression” matching&lt;/a&gt;. Envisioning &lt;a href=&quot;http://en.wikipedia.org/wiki/NP_%28complexity%29#Verifier-based_definition&quot;&gt;polynomial-time verifications&lt;/a&gt; isn't an enormous leap.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;How do you illustrate the class NP-complete to undergraduates or to friends in other fields who wanted to understand the recent fuss over Deolalikar's paper?&lt;/p&gt;&#xA;" OwnerUserId="362" LastEditorUserId="362" LastEditDate="2010-08-31T21:15:39.903" LastActivityDate="2019-12-10T16:26:23.463" Title="Everyday encounters with NP-complete problems" Tags="&lt;np-hardness&gt;&lt;big-list&gt;" AnswerCount="16" CommentCount="0" FavoriteCount="19" CommunityOwnedDate="2010-08-23T22:41:01.117" ContentLicense="CC BY-SA 2.5" />
  <row Id="447" PostTypeId="2" ParentId="446" CreationDate="2010-08-23T22:59:34.680" Score="4" Body="&lt;p&gt;I usually use SAT as an example. I say something like &quot;all sorts of problems that come up all the time can be rewritten as looking for a true assignment to a big logic formula. The P vs NP question is whether is there a fundamentally easier way to solve this logic formula than just trying all possibilities. So far no one has been able to either find a way or prove that there is no easy way out&quot;.&lt;/p&gt;&#xA;" OwnerUserId="120" LastActivityDate="2010-08-23T22:59:34.680" CommentCount="1" CommunityOwnedDate="2010-08-23T22:59:34.680" ContentLicense="CC BY-SA 2.5" />
  <row Id="448" PostTypeId="1" AcceptedAnswerId="486" CreationDate="2010-08-23T23:01:10.013" Score="39" ViewCount="5569" Body="&lt;p&gt;Ask even someone with a background in computer science what a regular expression is, and the answer is likely to go beyond the constraint of being within reach of a finite-state automaton.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, the “regular expression”&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;/^1?$|^(11+?)\1+$/&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;created by noted Perl personality &lt;a href=&quot;http://perl.abigail.be/&quot;&gt;Abigail&lt;/a&gt; (and part of &lt;a href=&quot;http://perl5.git.perl.org/perl.git/blob/d5e45555fc406945bd8e4694adaab59e4f99120e:/t/japh/abigail.t&quot;&gt;Perl's test suite&lt;/a&gt; since 2002) describes a machine that accepts only composite unary numbers, but &lt;a href=&quot;http://books.google.com/books?id=Cgooanwdo9AC&amp;amp;lpg=PA122&amp;amp;pg=PA122#v=onepage&amp;amp;q&amp;amp;f=false&quot;&gt;exercise 4.5 (b)&lt;/a&gt; in the third edition of Peter Linz's &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0763714224&quot;&gt;&lt;em&gt;An Introduction to Formal Languages and Automata&lt;/em&gt;&lt;/a&gt; has the reader use the &lt;a href=&quot;http://en.wikipedia.org/wiki/Pumping_lemma_for_regular_languages&quot;&gt;pumping lemma&lt;/a&gt; to prove that&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\mathcal{L} = \left\{ a^n : n\ \mathrm{is\ not\ a\ prime\ number} \right\}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;is not a regular language.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In contexts where the distinction is important, what should we call the strictly more powerful expressions?&lt;/p&gt;&#xA;" OwnerUserId="362" LastEditorUserId="111" LastEditDate="2011-12-28T10:34:08.723" LastActivityDate="2015-08-13T11:04:34.570" Title="Regular expressions aren't" Tags="&lt;automata-theory&gt;&lt;pl.programming-languages&gt;&lt;fl.formal-languages&gt;&lt;regular-expressions&gt;&lt;terminology&gt;" AnswerCount="6" CommentCount="0" FavoriteCount="16" ContentLicense="CC BY-SA 3.0" />
  <row Id="450" PostTypeId="1" AcceptedAnswerId="458" CreationDate="2010-08-23T23:05:17.947" Score="20" ViewCount="739" Body="&lt;p&gt;With some randomized algorithms you can derandomize the algorithm, removing (at a possible cost in run time) the use of random bits and maximizing some lower bound on the objective (usually computed using the fact that the theorems are about the expected performance of the random algorithm). Is there an equivalent for quantum algorithms? Are there any well-known results of &quot;dequantization&quot;? Or is the underlying state space too big for this sort of technique?&lt;/p&gt;&#xA;" OwnerUserId="120" LastActivityDate="2010-08-24T09:33:23.270" Title="Is there an equivalent to derandomization for quantum algorithms?" Tags="&lt;derandomization&gt;&lt;quantum-computing&gt;" AnswerCount="4" CommentCount="1" FavoriteCount="6" ContentLicense="CC BY-SA 2.5" />
  <row Id="452" PostTypeId="2" ParentId="446" CreationDate="2010-08-23T23:19:26.147" Score="8" Body="&lt;p&gt;Knapsack is pretty easy to grasp, especially for anyone who has had to deal with a small suitcase.. a nice example if they know dynamic programming.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another fun (practically identical) one is Subset-sum, because it also has a nice physical interpretation: imagine the numbers being the distances of equal point-masses on an ideal (massless) ruler, with the fulcrum at the origin.  Subset-sum says: does there exist a non-empty subset such that the ruler will remain balanced?  (i.e., such that the center of gravity is the support point for the ruler?)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In both cases, it seems intuitive that naive strategies may force resorting to checking all subsets.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If they have more background, it's nice to grow problems by dropping constraints.  For example, starting with a max flow problem, turning it into a linear program, and making it an integer program.  (A great one of course is MAX-CUT, since to people with more background you can also bring up UGC; I touch some of this in an MO answer &lt;a href=&quot;https://mathoverflow.net/questions/33036/is-quadratic-programming-still-np-hard-if-you-have-bounds-and-a-feasible-point/33048#33048&quot;&gt;https://mathoverflow.net/questions/33036/is-quadratic-programming-still-np-hard-if-you-have-bounds-and-a-feasible-point/33048#33048&lt;/a&gt; .) Also there are neat things like problems seemingly similar which have vastly different complexity (Euler (edge) path is linear time, Hamiltonian (vertex) path is NP-complete).&lt;/p&gt;&#xA;" OwnerUserId="336" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2010-08-23T23:19:26.147" CommentCount="2" CommunityOwnedDate="2010-08-23T23:19:26.147" ContentLicense="CC BY-SA 2.5" />
  <row Id="453" PostTypeId="1" AcceptedAnswerId="455" CreationDate="2010-08-23T23:45:41.733" Score="11" ViewCount="2287" Body="&lt;p&gt;When I think of software that is insecure I think that it is &quot;too useful&quot; and can be abused by an attacker.  So in a sense securing software is the process of making software less useful.  In Theoretical Computer Science you aren't working with the real world.  So are there any security concerns when working with pure theory?  Or the other side of the coin, does Theoretical Computer Science affect the real world of people getting hacked?  If so,  what security topics are considered Theoretical?&lt;/p&gt;&#xA;" OwnerUserId="365" LastEditorUserId="-1" LastEditDate="2013-04-03T04:14:09.657" LastActivityDate="2013-04-03T04:14:09.657" Title="How does Theoretical Computer Science relate to security?" Tags="&lt;cr.crypto-security&gt;&lt;big-picture&gt;" AnswerCount="7" CommentCount="1" FavoriteCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="454" PostTypeId="2" ParentId="453" CreationDate="2010-08-24T00:04:45.930" Score="3" Body="&lt;p&gt;Decidability is a central concern in programming language research.  That is, much effort is being invested in constructing programming languages which only accept code which satisfies certain properties.  Typical static languages only provide weak guarantees, like rejecting a program if certain methods do not exist, but imagine if the language could also throw out programs which, for instance, improperly use mutexes, or attempt to read beyond the end of memory regions.  It is clear that decidability issues come in quickly (simplest scenario: specify that your compiler should only accept terminating programs), and certainly, there are efficiency concerns (the ML type-checker has doubly exponential cases).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In any case, the PL research community is very interested in security (do you trust your browser to run arbitrary foreign code?!), and their questions lead into many classical CS theory questions.&lt;/p&gt;&#xA;" OwnerUserId="336" LastEditorUserId="336" LastEditDate="2010-08-24T00:11:04.190" LastActivityDate="2010-08-24T00:11:04.190" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="455" PostTypeId="2" ParentId="453" CreationDate="2010-08-24T00:08:00.497" Score="20" Body="&lt;p&gt;Your intuition that &quot;insecurity&quot; is due to software that is &quot;too useful&quot; is correct, in a sense. There is a large and growing theoretical literature on &quot;differential privacy&quot; that formalizes your intuition. See for example, here: research.microsoft.com/en-us/projects/databaseprivacy/dwork.pdf&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here, we think of the input to an algorithm as being a &quot;database&quot;, and the algorithm is &quot;insecure&quot; if it reveals too much information about any one person's data in the database. An algorithm is $\epsilon$-differentially private if the algorithm's output does not depend much on any one input: specifically, changing a single entry in the input database should only change the probability of any output of the algorithm by at most an $e^\epsilon$ factor.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course, making an algorithm private makes it less useful: a $0$-differentially private algorithm produces outputs that aren't even a function of the inputs at all! But it turns out you can try and carefully balance the tradeoff between privacy and utility, and can get very private algorithms that nevertheless are very non-trivially useful. &lt;/p&gt;&#xA;" OwnerUserId="25" LastActivityDate="2010-08-24T00:08:00.497" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="456" PostTypeId="2" ParentId="453" CreationDate="2010-08-24T00:29:07.447" Score="14" Body="&lt;p&gt;In a number of ways:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Cryptography&quot;&gt;Cryptography&lt;/a&gt; (an enormously broad generalization of information security that ranges from privacy to encryption)&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Formal_verification&quot;&gt;Formal verification of code&lt;/a&gt; (also see the &lt;a href=&quot;http://ertos.nicta.com.au/research/sel4/&quot;&gt;seL4 project&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Fault-tolerant_system&quot;&gt;Fault tolerance&lt;/a&gt; and &lt;a href=&quot;http://en.wikipedia.org/wiki/Error_detection_and_correction&quot;&gt;error correction&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://hal.archives-ouvertes.fr/inria-00115199/en/&quot;&gt;Theoretical ways to prevent malware&lt;/a&gt; (&lt;a href=&quot;http://rjlipton.wordpress.com/2010/02/26/is-it-time-to-stop-malware-forever/&quot;&gt;another&lt;/a&gt;) including &lt;a href=&quot;http://en.wikipedia.org/wiki/Code_signing&quot;&gt;code signing&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Tamperproof Hardware&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://eprint.iacr.org/2010/414.pdf&quot;&gt;Point obfusation&lt;/a&gt; (a theoretical approach to information theoretically secure code obfusaction)&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Machine_learning&quot;&gt;Machine learning&lt;/a&gt; helps to prevent and alert hack attempts in real time (think &lt;a href=&quot;http://www.springerlink.com/content/nwnq4rfdq38whxnc/&quot;&gt;Active Wardens&lt;/a&gt; and &lt;a href=&quot;http://en.wikipedia.org/wiki/E-mail_filtering&quot;&gt;Spam Filtering&lt;/a&gt;).&lt;/li&gt;&#xA;&lt;li&gt;Much much more.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="3624" LastActivityDate="2010-08-24T00:29:07.447" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="457" PostTypeId="2" ParentId="453" CreationDate="2010-08-24T00:32:01.000" Score="13" Body="&lt;p&gt;Consider the example &lt;a href=&quot;http://en.wikipedia.org/wiki/Wired_Equivalent_Privacy&quot;&gt;Wired Equivalent Privacy&lt;/a&gt;, which is no such thing in reality: due to &lt;a href=&quot;http://www.isaac.cs.berkeley.edu/isaac/mobicom.pdf&quot;&gt;embarrassingly basic theoretical oversights&lt;/a&gt; (pdf), WEP is crackable within minutes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In &lt;a href=&quot;http://www.schneier.com/essay-192.html&quot;&gt;“Why Computers Are Insecure,”&lt;/a&gt; Bruce Schneier quipped&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Security engineering involves programming Satan's computer.&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;And Satan's computer is hard to test. &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="362" LastActivityDate="2010-08-24T00:32:01.000" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="458" PostTypeId="2" ParentId="450" CreationDate="2010-08-24T00:50:08.437" Score="13" Body="&lt;p&gt;There was a &lt;a href=&quot;http://blog.computationalcomplexity.org/2009/12/dequantification.html&quot; rel=&quot;nofollow&quot;&gt;blog post by Fortnow&lt;/a&gt; on this topic.  It's believed that there's no hope of a &quot;dequantization&quot; program, similar to the derandomization one.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, for some specific non-quantum results that were obtained using quantum methods, it has been possible to remove the quantumness in the proof.  For example, &lt;a href=&quot;http://arxiv.org/abs/quant-ph/0208062&quot; rel=&quot;nofollow&quot;&gt;Kerenidis and de Wolf (2002)&lt;/a&gt; proved the first exponential lower bound for the length of possibly non-linear 2-query locally decodable codes using quantum arguments.  Later, &lt;a href=&quot;http://arxiv.org/abs/0705.3806&quot; rel=&quot;nofollow&quot;&gt;Ben-Aroya, Regev and de Wolf (2007)&lt;/a&gt; could remove the quantumness of the proof (although the line of argument still modeled the quantum one).  Similar situations also arose in proving lower bounds for rigidity of Hadamard matrices, and in showing that PP is closed under intersection (though in reverse chronological order :)).  See &lt;a href=&quot;http://arxiv.org/abs/0910.3376&quot; rel=&quot;nofollow&quot;&gt;this survey by Drucker and de Wolf&lt;/a&gt; for references and discussion.&lt;/p&gt;&#xA;" OwnerUserId="15" LastEditorUserId="15" LastEditDate="2010-08-24T00:57:46.983" LastActivityDate="2010-08-24T00:57:46.983" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="459" PostTypeId="2" ParentId="399" CreationDate="2010-08-24T00:51:39.447" Score="3" Body="&lt;p&gt;One analog of compressive sensing is in machine learning when you try to estimate a high dimensional weight vector (e.g., in classification/regression) from a very small sample size. To deal with underdetermined systems of linear equations in such settings, one typically enforces sparsity (via l0 or l1 penalty) on the weight vector being learned. To see the connection, consider the following classification/regression problem from machine learning:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Represent the N examples of D dimensions each (D &gt;&gt; N) as an NxD matrix X. Represent the N responses (one for each example) as an Nx1 vector Y. The goal is to solve for a Dx1 vector theta via the following equation: Y = X*theta&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now here is the analogy of this problem to compressive sensing (CS): you want to estimate/measure theta which is a D dimensional vector (akin to an unknown &quot;signal&quot; in CS). To estimate this, you use a matrix X (akin to the design matrix in CS) and N 1-D measurements Y (akin to the compressed signal in CS, since D &gt;&gt; N).&lt;/p&gt;&#xA;" OwnerUserId="384" LastActivityDate="2010-08-24T00:51:39.447" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="460" PostTypeId="2" ParentId="79" CreationDate="2010-08-24T01:07:19.820" Score="15" Body="&lt;p&gt;Here's a problem in computational social choice which is not known to be in P, and may or may not be NP-complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Agenda control for balanced single-elimination tournaments:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given: tournament graph $T$ on $n=2^k$ nodes, node $a$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Question: does there exist a permutation of the nodes (a &lt;em&gt;bracket&lt;/em&gt;) so that a is the winner of the induced single-elimination tournament?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a permutation $P_k$ on $2^k$ nodes of $V$ and a tournament graph $T$ on $V$, one can obtain a permutation $P_{k-1}$ on $2^{k-1}$ nodes as follows. For every $i&gt;0$, consider $P_k[2i-1]$ and $P_k[2i]$ and the arc $e$ between them in $T$; let $P_{k-1}[i]=P_k[2i-1]$ if $e=(P_k[2i-1],P_k[2i])$ and $P_{k-1}[i]=P_k[2i]$ otherwise.&#xA;That is, we match up pairs of nodes according to $P_k$ and use $T$ to decide which nodes (winners) move on to the next round $P_{k-1}$. Hence given a permutation on $2^k$ one can actually define $k$ rounds $P_{k-1},\ldots,P_0$ inductively as above, until the last permutation contains only one node. This defines a (balanced) single-elimination tournament on $2^k$ nodes. The node which remains after all the rounds is the winner of the tournament.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Agenda control for balanced single-elimination tournaments (graph formulation):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given: tournament graph $T$ on $n=2^k$ nodes, node $a$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Question: does $T$ contain a (spanning) binomial arborescence on $2^k$ nodes rooted at $a$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A binomial arborescence on $2^k$ nodes rooted at a node $x$ is defined recursively as $a$ binomial arborescence on $2^{k-1}$ nodes rooted at $x$ and a binomial arborescence on $2^{k-1}$ nodes rooted at a different node $y$ and an arc from $x$ to $y$. (If $k=0$, a binomial arborescence is just the root.) The spanning binomial arborescences in a tournament graph capture exactly the single-elimination tournaments which can be played, given the match outcome information in the tournament graph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some references:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Jérôme Lang, Maria Silvia Pini, Francesca Rossi, Kristen Brent Venable, Toby Walsh: Winner Determination in Sequential Majority Voting. IJCAI 2007: 1372-1377.&lt;/li&gt;&#xA;&lt;li&gt;N. Hazon, P. E. Dunne, S. Kraus, and , M. Wooldridge. How to Rig Elections and Competitions. COMSOC 2008.&lt;/li&gt;&#xA;&lt;li&gt;Thuc Vu, Alon Altman, Yoav Shoham. On the complexity of schedule control problems for knockout tournaments. AAMAS (1) 2009: 225-232.&lt;/li&gt;&#xA;&lt;li&gt;V. Vassilevska Williams. Fixing a tournament. AAAI 2010.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="410" LastEditorUserId="410" LastEditDate="2010-08-24T05:27:22.730" LastActivityDate="2010-08-24T05:27:22.730" CommentCount="0" CommunityOwnedDate="2010-08-24T01:07:19.820" ContentLicense="CC BY-SA 2.5" />
  <row Id="461" PostTypeId="2" ParentId="429" CreationDate="2010-08-24T01:19:44.880" Score="-2" Body="&lt;p&gt;The patronizing answer is that it amounts to a non-existence proof.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If P != NP (as is commonly considered to be very likely), then proving it amounts to proving that something doesn't exist. Proofs of that type tend to be fairly simple (Comparison sort can't be faster than &lt;code&gt;O(n log n)&lt;/code&gt; because it take that many comparisons/bits to be able to enumerate all reordering. A solution to the halting problem directly leads to a contradiction.) or darn near impossible (&lt;a href=&quot;http://en.wikipedia.org/wiki/Fermat%27s_Last_Theorem&quot; rel=&quot;nofollow&quot;&gt;Fermat's Last Theorem&lt;/a&gt;, the &lt;a href=&quot;http://en.wikipedia.org/wiki/Four_color_theorem&quot; rel=&quot;nofollow&quot;&gt;four color map problem&lt;/a&gt;)&lt;/p&gt;&#xA;" OwnerUserId="143" LastActivityDate="2010-08-24T01:19:44.880" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="463" PostTypeId="2" ParentId="450" CreationDate="2010-08-24T01:51:15.270" Score="10" Body="&lt;p&gt;Although in general &quot;dequantization&quot; is unlikely, I believe that this sort of idea helped inspire Valiant's holographic algorithms.  Or, at the very least, you can view his work as some partial dequantization results on restricted classes of quantum circuits.  See, for example: &lt;a href=&quot;http://dx.doi.org/10.1137/S0097539700377025&quot;&gt;L. Valiant. Quantum Circuits That Can Be Simulated Classically in Polynomial Time. SIAM J. Comput. 31 (4) 1229-1254 (2002).&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2010-08-24T01:51:15.270" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="464" PostTypeId="2" ParentId="448" CreationDate="2010-08-24T01:55:54.183" Score="2" Body="&lt;p&gt;I think the best term for &quot;regular expression in the context of automata&quot; is &quot;rational expression&quot;, as used, say, in Sakarovitch's Elements of Automata Theory, or the Handbook of Weighted Automata.&lt;/p&gt;&#xA;" OwnerUserId="88" LastActivityDate="2010-08-24T01:55:54.183" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="465" PostTypeId="1" CreationDate="2010-08-24T02:39:24.067" Score="10" ViewCount="349" Body="&lt;p&gt;This question was already asked on &lt;a href=&quot;https://mathoverflow.net/questions/35008/collapsing-of-exptime-and-alternation-bounded-turing-machine&quot;&gt;math overflow&lt;/a&gt;, but I did not find any answer to my question (or let say the answer was that up to the knowledge of those people, no answer were known)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let C be a set of function (let say time-computable increasing function to avoid pathological cases).&#xA;Let's call $\Sigma_j\rm{TIME}(C)$ the class of languages decided by a Turing Machine beginning in existential state, alternating at most $j-1$ times and whose time is bounded by a function $f\in C$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let suppose that $\Sigma_j\rm{TIME}(C)=\Sigma_{j+1}\rm{TIME}(C)$ then, can we prove that $\forall k&amp;gt;j \Sigma_j\rm{TIME}(C)=\Sigma_k\rm{TIME}(C)$ ? Or at least, what are the condition over $C$ ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is true if $C$ is the class of polynomials because $C$ is then closed under composition. I would have expected it to be true for every polynomially closed set (for example for the exponential hierarchy, a class like $C=\{2^{2^{\dots^{2^{n^{O(1)}}}}}\}$ for a bounded tower of 2.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I guess and hope that some things are known about it, but I was not able to find any reference, neither my adviser could. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is at least one related result I can state, which is that if $\Sigma_j\rm{TIME}(\exp_2^c(n^{O(1)}))=\Sigma_k\rm{TIME}(\exp_2^c(n^{O(1)}))$ then $\Sigma_j\rm{TIME}(\exp_2^d(n^{O(1)}))=\Sigma_k\rm{TIME}(\exp_2^d(n^{O(1)}))$ for $d&amp;gt;c$ where $\exp_2^j(n)$ use the notation for &lt;a href=&quot;http://en.wikipedia.org/wiki/Tetration&quot; rel=&quot;nofollow noreferrer&quot;&gt;tetration&lt;/a&gt;($\exp_2^d(n^{O(1)})=\{2^{2^{\dots^{2^{n^{O(1)}}}}}\}$ with $d$ &quot;2&quot;s). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In fact I have a more general result, but this give a good idea. If anything like this is already known, I would like to know the references.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An equivalent way to ask the question in a finite model theory setting, is:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let HO$^{r,f}_j$ be the class of formula of order $r$ with free variable of order up to $f$ and with $j$ alternations of quantification of order $r$ beginning with an existential quantification. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If there exists $k&amp;gt;2$ such that HO$^{r,2}_j$=HO$^{r,f}_k$ then can we prove that  $\forall l&amp;gt;j$  HO$^{r,2}_j$=HO$^{r,2}_l$ ?&lt;/p&gt;&#xA;" OwnerUserId="328" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2011-03-16T10:52:08.950" Title="Collapsing of exptime and alternation bounded turing machine" Tags="&lt;cc.complexity-theory&gt;&lt;conditional-results&gt;&lt;descriptive-complexity&gt;&lt;alternating-hierarchy&gt;" AnswerCount="0" CommentCount="3" FavoriteCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="466" PostTypeId="2" ParentId="450" CreationDate="2010-08-24T02:45:54.880" Score="15" Body="&lt;p&gt;There are certain classes of quantum gates which can be simulated efficiently with a classical computer. If no entanglement is present, a computation with pure states (i.e. not random states) can be simulated efficiently. Classical gates reversible gates are a subset of quantum gates, and so can obviously be simulated efficiently. These two examples are pretty trivial, however there are a number of non-trivial gate sets known.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Valiant gates as mentioned in Joshua's answer&lt;/li&gt;&#xA;&lt;li&gt;Clifford group gates (see &lt;a href=&quot;http://arxiv.org/abs/quant-ph/0406196&quot;&gt;arXiv:quant-ph/0406196&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;li&gt;Match gates (see &lt;a href=&quot;http://arxiv.org/abs/0804.4050&quot;&gt;arXiv:0804.4050&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;li&gt;Commuting gates, etc.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Basically, most sets of operators which generate only some small subspace of $SU(2^N)$ tend to be simulable, while any that generate $SU(2^N)$ are as hard as general quantum simulation of N qubits.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It seems very unlikely that quantum mechanics is efficiently simulable, and so such a dequantization program will likely be impossible in general. There is however a regime where this has worked, which is with interactive proofs. Several different kinds of interactive proof systems with quantum verifiers have been shown to have the same power if the quantum verifier is replaced with a purely classical verifier. For an example of this, see Jain, Ji, Upadhyay and Watrous's proof that QIP=PSPACE (&lt;a href=&quot;http://arxiv.org/abs/0907.4737&quot;&gt;arXiv:0907.4737&lt;/a&gt;).&lt;/p&gt;&#xA;" OwnerUserId="204" LastActivityDate="2010-08-24T02:45:54.880" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="467" PostTypeId="2" ParentId="448" CreationDate="2010-08-24T03:56:53.920" Score="6" Body="&lt;p&gt;It is known that perl's so-called regexp is powerful enough to be Turing complete; there is even a compiler from usual program to perl regexp.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hence I doubt it makes sense to search for a name for this kind of &quot;regexps&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Look for example at &lt;a href=&quot;http://search.cpan.org/~asavige/Acme-EyeDrops-1.62/lib/Acme/EyeDrops.pm&quot; rel=&quot;nofollow&quot;&gt;http://search.cpan.org/~asavige/Acme-EyeDrops-1.62/lib/Acme/EyeDrops.pm&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="328" LastEditorUserId="-1" LastEditDate="2015-08-13T11:04:34.570" LastActivityDate="2015-08-13T11:04:34.570" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="468" PostTypeId="2" ParentId="189" CreationDate="2010-08-24T04:13:36.057" Score="9" Body="&lt;p&gt;I think that there should be at least one persistant data structure. In particular, the &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.34.1317&quot;&gt;&quot;persistant array&quot;&lt;/a&gt; let us obtains a lot of other persistant data-structures where we wouldn't expect them. &lt;/p&gt;&#xA;" OwnerUserId="328" LastActivityDate="2010-08-24T04:13:36.057" CommentCount="0" CommunityOwnedDate="2010-08-24T04:13:36.057" ContentLicense="CC BY-SA 2.5" />
  <row Id="469" PostTypeId="2" ParentId="189" CreationDate="2010-08-24T04:18:30.480" Score="9" Body="&lt;p&gt;I guess the algorithm to &quot;&lt;a href=&quot;http://en.wikipedia.org/wiki/Hash_consing&quot;&gt;hash-cons&lt;/a&gt;&quot; is really interesting. This idea let us usually save both memory, time, and avoid doing many time the same computation by finding quickly equality between many structures in memory, or that has been in memory (at least that has been in memory and did not need to be garbage collected).&lt;/p&gt;&#xA;" OwnerUserId="328" LastActivityDate="2010-08-24T04:18:30.480" CommentCount="1" CommunityOwnedDate="2010-08-24T04:18:30.480" ContentLicense="CC BY-SA 2.5" />
  <row Id="471" PostTypeId="2" ParentId="113" CreationDate="2010-08-24T05:23:40.850" Score="6" Body="&lt;p&gt;This is not cleaner, but it is a good preparation for more advanced stuff, and it is a good example of abstraction...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One can use Davenport-Schinzel sequences argument. Consider the region above your zone line. Every line becomes a ray, and in fact two rays, as we consider the left side and right side as being different. Scan the boundary of this zone from left to right, writing down which rays you encounter. This is a sequence defined over 2n symbols, and the pattern abab is illegal. As such, the length of the sequence is at most 2(2n)-1 = 4n-1. Applying it to the zone below the line, implies a bound of the form 8n.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, proving that a sequence of symbols without ...a..b..a..b... as a subsequence of n symbols has length 2n-1 is easy. indeed, consider two consecutive appearances of the same character that are closest to each other in this sequence. Clearly, in between these two characters, each character that appears must be unique. Consider such a character, and observe that if it appears anywhere else in the string, then we will get the forbidden subsequence. As such, this character appears exactly once in the string. Remove it, and remove an extra character if needed if you created two consecutive identical characters. Namely, removing a character from the string shorten it by 2, as such, the maximum length of the string is 2n-1. &lt;/p&gt;&#xA;" OwnerUserId="9594" LastActivityDate="2010-08-24T05:23:40.850" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="472" PostTypeId="2" ParentId="189" CreationDate="2010-08-24T05:24:25.670" Score="4" Body="&lt;p&gt;theres a really wonderful way to describe &lt;strong&gt;in place quicksort&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;in particular:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;let i,j be your initial upper and lower indices for an array a (or slice thereof) . randomly pick an integer $\ell$ in the interval [i,j] as the pivot $p=a[\ell]$. As for the the number of entries greater or equal to p, call this $m$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;We know that there are at most $\min(j-i -m+1, m)$ swap operations needed between the interval $[i, j-m]$ and the interval $[j-m+1,j]$ for us to be able to then recursively sort these two intervals. these swaps can be done by starting from indices $i$ and $j$ and scanning inward on both sides  until each side  has found an index that violates the ordering relative to the pivot value, at which point a swap is done, then the search continues inward, terminating at the point when these two searches meet.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;edit: note that there is actually &lt;strong&gt;no special treatment&lt;/strong&gt; needed for the pivot value, we just apply the swapping operation uniformly.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;then recursively sort the intervals you get from the final placement of the pivot value.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;this gives you the &quot;c-style&quot; in place quick sort, but explained in a a high level way that has very very clear correctness properties! &lt;/p&gt;&#xA;&#xA;&lt;p&gt;:)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;note that this isn't a stable sort algorithm&lt;/p&gt;&#xA;" OwnerUserId="18" LastEditorUserId="18" LastEditDate="2010-08-24T16:31:00.137" LastActivityDate="2010-08-24T16:31:00.137" CommentCount="2" CommunityOwnedDate="2010-08-24T05:24:25.670" ContentLicense="CC BY-SA 2.5" />
  <row Id="473" PostTypeId="2" ParentId="174" CreationDate="2010-08-24T06:13:44.307" Score="69" Body="&lt;p&gt;Is there a pivoting rule for the simplex algorithm that yields worst-case polynomial running time?  More generally, is there any strongly polynomial algorithm for linear programming?&lt;/p&gt;&#xA;" OwnerUserId="111" LastEditorUserId="71" LastEditDate="2010-08-30T19:47:56.753" LastActivityDate="2010-08-30T19:47:56.753" CommentCount="3" CommunityOwnedDate="2010-08-24T06:13:44.307" ContentLicense="CC BY-SA 2.5" />
  <row Id="474" PostTypeId="2" ParentId="429" CreationDate="2010-08-24T06:25:20.697" Score="8" Body="&lt;p&gt;Here is a thorny difficulty that nullifies many naive attempts at proofs of lower bounds.  It's not a theorem per se, but it's a salient example.  Many attempts at lower bounds try to define some sort of &quot;complexity function.&quot;  These complexity functions often have the property that if a circuit C is composed of two circuits F and G and one additional gate, then the complexity of C is at least the complexity of F and G.  But this phenomenon is strongly violated by our usual notion of complexity, as the following argument (which I think is due to Razborov) shows.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By a counting argument (originally due to Shannon, I believe) almost all functions require circuits of size $\Omega(2^{n}/n)$ to compute.  Let R be a random function, which is therefore highly likely to be hard to compute.  Let S=1-R.  S is necessarily as hard as R to compute.  But S+R=1, a constant function, which is as trivial to compute as possible.&lt;/p&gt;&#xA;" OwnerUserId="129" LastEditorUserId="129" LastEditDate="2013-02-08T15:42:52.317" LastActivityDate="2013-02-08T15:42:52.317" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="475" PostTypeId="1" AcceptedAnswerId="650" CreationDate="2010-08-24T07:12:43.697" Score="8" ViewCount="1279" Body="&lt;p&gt;The &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=1347083&quot; rel=&quot;noreferrer&quot;&gt;SODA 2008 Ailon-Liberty paper&lt;/a&gt; on fast Johnson-Lindenstrauss transforms uses a &quot;dual BCH code of design distance 5&quot; as part of the construction. They cite the &#xA;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0444851933&quot; rel=&quot;noreferrer&quot;&gt;MacWilliams-Sloane book on error-correcting codes&lt;/a&gt; as the source for how to construct these codes, but my initial wading through the book doesn't appear to yield the answer (there are dual codes and BCH codes, but...)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there an easy way to describe how to construct such a matrix, for general matrix dimensions $m \times d$ ? &lt;/p&gt;&#xA;" OwnerUserId="80" LastEditorUserId="80" LastEditDate="2010-08-25T16:32:14.063" LastActivityDate="2010-08-26T18:21:33.280" Title="Dual BCH codes of design distance $d$" Tags="&lt;coding-theory&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="476" PostTypeId="1" CreationDate="2010-08-24T08:11:43.837" Score="7" ViewCount="2045" Body="&lt;p&gt;I was reading the Ramsey's Theory stating &quot;complete disorder is impossible&quot;. Is there any algorithm to generate random numbers for a long period of time without there being any relation from one set of random numbers to any other set?&lt;/p&gt;&#xA;" OwnerUserId="430" LastEditorUserId="80" LastEditDate="2010-09-01T17:25:25.260" LastActivityDate="2010-09-01T17:25:25.260" Title="What are the most effective algorithms to find random number?" Tags="&lt;ds.algorithms&gt;&lt;randomness&gt;" AnswerCount="4" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="477" PostTypeId="2" ParentId="476" CreationDate="2010-08-24T08:41:00.207" Score="3" Body="&lt;p&gt;In practical terms the way to generate &quot;random&quot; numbers in a computer is totally deterministic. The most commonly used method is explained here &lt;a href=&quot;http://en.wikipedia.org/wiki/Linear_congruential_generator&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/Linear_congruential_generator&lt;/a&gt; &lt;/p&gt;&#xA;" OwnerUserId="207" LastEditorUserId="207" LastEditDate="2010-09-01T17:10:12.957" LastActivityDate="2010-09-01T17:10:12.957" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="478" PostTypeId="2" ParentId="174" CreationDate="2010-08-24T09:03:39.320" Score="26" Body="&lt;p&gt;I know the OP asked for only one problem per post, but the RTA (Rewriting Techniques and their Applications) &lt;a href=&quot;http://rtaloop.mancoosi.univ-paris-diderot.fr/problems/summary.html&quot;&gt;1&lt;/a&gt; and TLCA (Typed Lambda Calculi and their Applications) conferences both maintain lists of open problems in their fields &lt;a href=&quot;http://tlca.di.unito.it/opltlca/&quot;&gt;2&lt;/a&gt;.  These lists are quite useful, as they also include pointers to previous work done on attempting to solve these problems.&lt;/p&gt;&#xA;" OwnerUserId="375" LastActivityDate="2010-08-24T09:03:39.320" CommentCount="1" CommunityOwnedDate="2010-08-24T09:03:39.320" ContentLicense="CC BY-SA 2.5" />
  <row Id="479" PostTypeId="2" ParentId="427" CreationDate="2010-08-24T09:27:01.847" Score="11" Body="&lt;p&gt;The optimizer in relational databases. Examples are &lt;a href=&quot;http://www.postgresql.org/docs/8.0/static/geqo-intro2.html&quot;&gt;PostgreSQL&lt;/a&gt; and &lt;a href=&quot;http://h2database.com/html/performance.html?highlight=genetic&amp;amp;search=genetic#firstFound&quot;&gt;H2&lt;/a&gt;; other databases most likely also use a genetic algorithm. The problem is: selecting the best query plan (the one with the lowest estimated cost) is NP-hard. The fitness test is the estimated cost.&lt;/p&gt;&#xA;" OwnerUserId="453" LastActivityDate="2010-08-24T09:27:01.847" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="480" PostTypeId="2" ParentId="450" CreationDate="2010-08-24T09:33:23.270" Score="12" Body="&lt;p&gt;One interesting setting in which to study &quot;dequantization&quot; is communication complexity. Here, an interesting question is whether an upper bound can be put on the amount of entanglement that Alice and Bob need to share in order to achieve an efficient quantum protocol for solving some problem. This would be a quantum analogue of Newman's Theorem from classical communication complexity. Gavinsky has &lt;a href=&quot;http://arxiv.org/abs/quant-ph/0604052&quot; rel=&quot;nofollow&quot;&gt;given&lt;/a&gt; a relational problem for which this cannot be done, but as far as I am aware this is still open for (total) functional problems.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, an addendum to Joe's comment about commuting gates: Bremner, Jozsa and Shepherd have recently shown (arXiv:1005.1407) that a particular notion of commuting circuits is unlikely to be simulable, as this would collapse the polynomial hierarchy to the third level.&lt;/p&gt;&#xA;" OwnerUserId="447" LastActivityDate="2010-08-24T09:33:23.270" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="481" PostTypeId="1" AcceptedAnswerId="484" CreationDate="2010-08-24T09:59:27.873" Score="4" ViewCount="225" Body="&lt;p&gt;What do the &lt;a href=&quot;https://secure.wikimedia.org/wikipedia/en/wiki/Unique_games_conjecture#Unique_label_cover&quot; rel=&quot;nofollow&quot;&gt;edge permuations&lt;/a&gt; in the unique games conjecture represent?&lt;/p&gt;&#xA;" OwnerUserId="450" LastEditorUserId="109" LastEditDate="2010-08-24T11:41:28.207" LastActivityDate="2010-08-24T11:41:28.207" Title="Unique games conjecture - edge permutations" Tags="&lt;cc.complexity-theory&gt;&lt;unique-games-conjecture&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="482" PostTypeId="1" CreationDate="2010-08-24T10:30:51.070" Score="32" ViewCount="1919" Body="&lt;p&gt;I have occasionally heard people talk about quantum algorithms and about states and the ability to consider multiple possibilities at once, but I have never managed to get someone to explain the computational model behind this. To be clear, I am not asking about how quantum computers are physically constructed, but rather how to view them from a computational point of view. &lt;/p&gt;&#xA;" OwnerUserId="450" LastEditorUserId="80" LastEditDate="2010-08-30T21:11:08.790" LastActivityDate="2011-06-20T09:49:09.400" Title="What is the quantum computational model?" Tags="&lt;quantum-computing&gt;&lt;big-picture&gt;" AnswerCount="11" CommentCount="3" FavoriteCount="18" ContentLicense="CC BY-SA 2.5" />
  <row Id="483" PostTypeId="2" ParentId="427" CreationDate="2010-08-24T11:09:29.130" Score="6" Body="&lt;p&gt;These are often used in finance, especially for portfolio optimization problems. There are many papers on this subject, but see for example &lt;a HREF=&quot;http://econpapers.repec.org/paper/scescecf1/204.htm&quot;&gt;Genetic Algorithms in Portfolio Optimization&lt;/a&gt;. &lt;/p&gt;&#xA;" OwnerUserId="7" LastActivityDate="2010-08-24T11:09:29.130" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="484" PostTypeId="2" ParentId="481" CreationDate="2010-08-24T11:29:43.580" Score="3" Body="&lt;p&gt;These permutations represent the constraints on the labeling. for each edge, there is some set of labellings for the edge's vertices which is legal. Since we are talking about unique games, these legal labellings are limited in the following way: if (u,v) is an edge, then for any possible labeling of u, there exist a single legal labeling of v. This means that we can represent the legal labellings of any edge's vertices by a permutation $\phi :[k] \to [k]$ where $[k]$ is the set of labels.&lt;/p&gt;&#xA;" OwnerUserId="462" LastActivityDate="2010-08-24T11:29:43.580" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="485" PostTypeId="2" ParentId="482" CreationDate="2010-08-24T11:31:03.110" Score="8" Body="&lt;p&gt;The quantum computational model is formalized, equivalently, by the Quantum Turing Machine (QTM) model and by the quantum circuits model, which is predominantly used nowadays. A third, less frequently used model, is based on finite-dimensional path integrals, that is for example used to show the relation of $BQP$ (Bounded-Error Quantum Polynomial time) to classical complexity classes, i.e. BQP ⊆ P&lt;sup&gt;#P&lt;/sup&gt; = P&lt;sup&gt;GapP&lt;/sup&gt;. Furthermore, the most general model incorporating noise is based on quantum operations, or Kraus operators. All of these models are known to be computationally equivalent, though.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let me now give a brief, &lt;a href=&quot;http://arxiv.org/abs/cs/0304008&quot; rel=&quot;nofollow&quot;&gt;physics-free introduction&lt;/a&gt; to the quantum circuit model: Qubits are the fundamental unit of quantum information being processed. A qubit is simply some unit vector $|\phi\rangle$ in a two dimensional Hilbert space $\cal{H_2}$. Larger registers are formed by tensor products $\cal{H_2} \otimes ... \otimes \cal{H_2}$ of the basic two-dimensional Hilbert space. The dimension of the composite space is the product of the dimension of the constituent spaces and thus scales exponentially with the number of qubits in the quantum register. A quantum state in the register is again a unit vector $|\psi\rangle$ in the composite space. The components of this vector are complex values called probability amplitudes and can be labeled with classical bit strings. State evolution is performed by applying a unitary operator $U$ (also known as quantum gate) to some constant-width subset of qubits. At the end of the computation the qubits are measured leading to a classical bit string as outcome with a probability distribution that is related to the $square$ of the probability amplitude associated with that bit string. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For a more in-depth introduction, please see the standard textbook &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0521635039&quot; rel=&quot;nofollow&quot;&gt;Nielsen and Chuang.&lt;/a&gt; &lt;/p&gt;&#xA;" OwnerUserId="121" LastEditorUserId="873" LastEditDate="2011-06-19T13:40:49.570" LastActivityDate="2011-06-19T13:40:49.570" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="486" PostTypeId="2" ParentId="448" CreationDate="2010-08-24T11:57:09.187" Score="47" Body="&lt;p&gt;Larry Wall proposed that we use &quot;regular expression&quot; for the formalism Kleene proposed, and &quot;regex&quot; for expressions for the widely used extensions.  It's a fairly widely followed convention.  If you want to make it clear that you are talking about regular expressions in the formal languages sense, it is usually not difficult to translate into talk of regular languages.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The power of regexes comes from backtracking, and there has been work done on automata for regular languages with backtracking.  See, in particular, Becchi &amp;amp; Crowley, 2008, &lt;a href=&quot;http://www.arl.wustl.edu/~pcrowley/a25-becchi.pdf&quot;&gt;Extending Finite Automata to Efficiently Match Perl-Compatible Regular Expressions&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="270" LastActivityDate="2010-08-24T11:57:09.187" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="487" PostTypeId="2" ParentId="476" CreationDate="2010-08-24T12:26:40.640" Score="6" Body="&lt;p&gt;No, not recursively.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The idea that randomness is absence of predictable pattern is usually formalised by Martin-Löf randomness (see WP, &lt;a href=&quot;http://en.wikipedia.org/wiki/Algorithmically_random_sequence&quot; rel=&quot;nofollow&quot;&gt;Algorithmically random sequence&lt;/a&gt;).  Martin-Löf randomness consitutes a recursive degree (as a mass problem) stronger than the base recursive degree, so it cannot be generated by a machine.  See Simpson, 2005, &lt;a href=&quot;http://www.math.psu.edu/simpson/papers/massrand.pdf&quot; rel=&quot;nofollow&quot;&gt;Mass problems and randomness&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="270" LastActivityDate="2010-08-24T12:26:40.640" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="488" PostTypeId="2" ParentId="482" CreationDate="2010-08-24T12:34:53.670" Score="24" Body="&lt;p&gt;I'll echo Martin Schwartz's recommendation of &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0521635039&quot;&gt;Nielsen &amp;amp; Chaung&lt;/a&gt; as the standard reference; there are many others as well. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Research in the field prefers to consider uniform families of quantum circuits, which (ironically) are directed acyclic networks describing how the state of one or more registers transforms with time, in a way similar to classical boolean circuits. If you wish to learn more, I recommend learning in terms of this model.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would like to give some qualitative answers to complement Martin's response.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Quantum computation does not actually consider &quot;multiple possibilities at once&quot;&lt;/strong&gt; --- or more precisely, whether or not you consider them to consider multiple possibilities at once is a matter of your choice of &lt;em&gt;interpretation of quantum mechanics&lt;/em&gt;, i.e. a philosophical choice which has no bearing on the ability or predictions of the computational model. (&quot;Considering multiple possibilities at once&quot; corresponds to the &quot;many worlds interpretation&quot; of QM.)&lt;br&gt;&lt;br&gt; &#xA;At the very least, one can say that a quantum computer considers multiple possibilities at the same time only to the extent that a &lt;em&gt;randomized&lt;/em&gt; computation using coin-flips considers multiple possibilities at the same time. This is because:&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Quantum states are generalizations of &quot;the usual&quot; probability distributions&lt;/strong&gt; --- with some simple but important differences. A probability distribution can be represented as a non-negative real vector whose entries sum to 1: that is, a unit vector in the &amp;#8467;&lt;sup&gt;1&lt;/sup&gt; norm. Probabilistic computations must map &amp;#8467;&lt;sup&gt;1&lt;/sup&gt;-unit vectors to other such vectors, and so they are described by stochastic maps. One can describe quantum computation in a similar way, except using &amp;#8467;&lt;sup&gt;2&lt;/sup&gt;-unit vectors over &amp;#8450; (not restricted to be real or non-negative); transformations are by those maps which preserve the &amp;#8467;&lt;sup&gt;2&lt;/sup&gt;-norm, i.e. unitary operations.&lt;br&gt;&lt;br&gt; This difference is not trivial, of course, nor does it explain yet what the coefficients of the quantum state vectors &lt;strong&gt;mean&lt;/strong&gt;. But it may help to explain what is going on with Hilbert spaces and tensor products in quantum computation: to wit, exactly the same things as happen in probabilistic computation. The configuration space of a random bit is a vector in &amp;#8477;&lt;sub&gt;+&lt;/sub&gt;&lt;sup&gt;2&lt;/sup&gt; (where &amp;#8477;&lt;sub&gt;+&lt;/sub&gt; are the non-negative reals); but because random bits can be correlated, we combine the configuration spaces of one or more random bits by taking the tensor product. So the configuration space of two random bits is &amp;#8477;&lt;sub&gt;+&lt;/sub&gt;&lt;sup&gt;2&lt;/sup&gt;&amp;nbsp;&amp;otimes;&amp;nbsp;&amp;#8477;&lt;sub&gt;+&lt;/sub&gt;&lt;sup&gt;2&lt;/sup&gt;&amp;nbsp;&amp;cong;&amp;nbsp;&amp;#8477;&lt;sub&gt;+&lt;/sub&gt;&lt;sup&gt;4&lt;/sup&gt;&amp;nbsp;, or the fully-general space of probability distributions over the four distinct two-bit strings. An operation &lt;em&gt;A&lt;/em&gt; on the first of these random bits which does not act on the second is represented by the operator &lt;em&gt;A&lt;/em&gt;&amp;nbsp;&amp;otimes;&amp;nbsp;&lt;em&gt;I&lt;/em&gt;&lt;sub&gt;2&lt;/sub&gt;&amp;nbsp;. And so on. The same constructions apply to quantum bits; and we can consider quantum registers over sets of distinguishable elements the same way we consider probability distributions over such sets, again using &amp;#8467;&lt;sup&gt;2&lt;/sup&gt;-norm vectors over &amp;#8450;.&lt;br&gt;&lt;br&gt; This description actually describes the &quot;pure&quot; quantum states --- the ones for which you can in principle transform in an information-preserving way to a delta-distribution over the bit-string 00...0 (or more precisely, to a state arbitrarily close to this in the &amp;#8467;&lt;sup&gt;2&lt;/sup&gt; norm). On top of the quantum-randomness (of which I have not yet mentioned anything explicit), you can consider vanilla-convexity-randomness corresponding to probabilistic mixtures of quantum states: these are represented by &lt;em&gt;density operators&lt;/em&gt;, which can be represented by positive definite matrices with trace 1 (again generalizing &quot;classical&quot; probability distributions, which may be represented by the special case of positive diagonal matrices with trace 1).&lt;br&gt;&lt;br&gt; What is important about this is that, while quantum states are often described as being &quot;exponentially large&quot;, this is because they are usually described using the same mathematical structures as probability distributions; why probability distributions are not described as &quot;exponentially large&quot; in the same way is unclear (but ultimately unimportant). The difficulty of simulating quantum states come from this fact, together with the fact that the complex coefficients of these &amp;#8467;&lt;sup&gt;2&lt;/sup&gt;-distributions (or the complex off-diagonal terms of the density operators, if you prefer) may cancel in a way that probabilities cannot, rendering estimation of them more difficult.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Entanglement is just another form of correlation.&lt;/strong&gt; For probabilistic computation on e.g. boolean strings, the only &quot;pure&quot; states (which can be mapped by information-preserving transformations to a delta-peaked distribution on 000...0) are the &quot;standard basis&quot; of delta-peaked distributions on the different boolean strings. Thus, this basis of &amp;#8477;&lt;sub&gt;+&lt;/sub&gt;&lt;sup&gt;2&lt;sup&gt;n&lt;/sup&gt;&lt;/sup&gt; is distinguished. But there is no such distinguished basis in quantum mechanics, as far as we can tell --- this is clearest for quantum bits (look up spin 1/2 particles, if you want to know why). As a consequence, there are more information-preserving transformations than just the permutations: a continuous group of them, in fact. This allows would-be quantum computers to transform states in ways which are not possible for probabilistic computers, possibly obtaining an asymptotic advantage over them.&lt;br&gt;&lt;br&gt; But what about entanglement, which many people find mysterious, and claim to be the cause of the speed-up of quantum computers over classical? &quot;Entanglement&quot; here is really just a form of correlation: just as two random variables are correlated if their distribution is a convex combination of more than one product distribution (with different marginals on each variable), two &quot;quantum variables&quot; are entangled if their distribution is a linear combination (with unit &amp;#8467;&lt;sup&gt;2&lt;/sup&gt;-norm) of two valid product distributions; it is the same concept under a different norm, and plays a similar role in communication tasks. (For example: &quot;quantum teleportation&quot; in quantum communication corresponds to encoding and decoding a message using a one-time pad classically.) This is a form of correlation which is more general than just classically correlated bits; but the only way to show this is that the correlations encoded in the entangled state &lt;em&gt;apply to more than just one privileged basis&lt;/em&gt;. In a manner of speaking, entanglement is a &lt;em&gt;consequence&lt;/em&gt; of the absence of a privileged basis. &lt;br&gt;&lt;br&gt; People like to invoke entanglement as the key element of quantum computation, but this simply doesn't seem to hold water: there have been results showing that &lt;a href=&quot;http://uk.arxiv.org/abs/quant-ph/0412140&quot;&gt;entanglement is not quantitatively important&lt;/a&gt; for Shor's algorithm to factor large integers, and that indeed a quantum system can have &lt;a href=&quot;http://www.physorg.com/news162468404.html&quot;&gt;too much entanglement to be useful&lt;/a&gt; for a computation. In fact, everywhere that I am aware of that entanglement plays an important role in a quantum protocol is essentially one of &lt;em&gt;communication&lt;/em&gt; (where correlations would be expected to play an important role for a classical protocol).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;At this point, I begin wading into the domain of personal opinion, so I'll stop here. But hopefully, these remarks might de-mystify some of what is obscure about quantum computation and how it is described.&lt;/p&gt;&#xA;" OwnerUserId="248" LastEditorUserId="248" LastEditDate="2010-08-24T13:37:38.287" LastActivityDate="2010-08-24T13:37:38.287" CommentCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="489" PostTypeId="1" AcceptedAnswerId="511" CreationDate="2010-08-24T12:57:00.220" Score="24" ViewCount="2211" Body="&lt;p&gt;&lt;strong&gt;Post updated on 31st of August&lt;/strong&gt;: I added a summary of the current answers below the original question. Thanks for all the interesting answers! Of course, everyone can continue posting any new findings. &lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;For which graph families there exists a polynomial time algorithm for computing the chromatic number $\chi(G)$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem is solvable in polynomial time when $\chi(G) = 2$ (bipartite graphs).&#xA;In general when $\chi(G) \ge 3$, computing the chromatic number is NP-hard, but there are many graph families where this is not the case. For example, colouring cycles and perfect graphs can be done in polynomial time. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, for many graph classes, we can simply evaluate the corresponding chromatic polynomial; some examples in &lt;a href=&quot;http://mathworld.wolfram.com/ChromaticPolynomial.html&quot;&gt;Mathworld&lt;/a&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I suppose most of the above is common knowledge. I would gladly learn whether there are any other (non-trivial) graph families for which the minimum graph colouring is solvable in polynomial time. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In particular, I am interested in exact and deterministic algorithms but feel free to point out any interesting randomized algorithms or approximation algorithms.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Update (Aug 31):&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks to everyone for submitting interesting answers. Here's a short summary of the answers and references.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Perfect and almost perfect graphs&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;em&gt;Geometric Algorithms and Combinatorial Optimization&lt;/em&gt; (1988), Chapter 9 (Stable sets in graphs).  Martin Grotschel, Laszlo Lovasz , Alexander Schrijver.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Chapter 9 of the book shows how to solve the coloring problem via the minimum weighted clique covering problem.&#xA;Since they rely on the ellipsoid method, these algorithms may not be very useful in practice. Also, the chapter&#xA;has a nice reference list for different classes of perfect graphs.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;em&gt;Combinatorial Optimization&lt;/em&gt; (2003), Volume B, Section VI&#xA;Alexander Schrijver.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This book has three chapters devoted to perfect graphs and their polynomial time colourability. I took only a quick look but the basic approach seems the same as in the previous book.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://arxiv.org/abs/1004.5306v1&quot;&gt;A characterization of b-perfect graphs&lt;/a&gt; (2010). &#xA;Chinh T. Hoàng, Frédéric Maffray, Meriem Mechebbek&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Graphs with bounded tree-width or clique-width&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://dx.doi.org/10.1016/S0166-218X(02)00198-1&quot;&gt;Edge dominating set and colorings on graphs with fixed clique-width&lt;/a&gt; (2001). &#xA;Daniel Kobler, Udi Rotics &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The algorithms here require a k-expression (an algebraic formula for constructing a graph with a bounded clique-width) as a parameter. For some graphs, this expression can be computed in linear time.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;Yaroslav pointed out in methods for counting colourings in bounded tree-width graphs. See his answer below.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;These two study graph families where $k$ vertices or edges can be either added or deleted.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://dx.doi.org/10.1016/S0166-218X(02)00198-1&quot;&gt;Parameterized complexity of vertex colouring&lt;/a&gt; (2003). &#xA;Leizhen Cai.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Colouring can be solved in polynomial time when adding or deleting $k$ edges (for fixed $k$) in &lt;a href=&quot;http://en.wikipedia.org/wiki/Split_graph&quot;&gt;split graphs&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://dx.doi.org/10.1016/j.tcs.2005.10.008&quot;&gt;Parameterized coloring problems on chordal graphs&lt;/a&gt; (2006). &#xA;Dániel Marx.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For fixed $k$, chordal graphs to which $k$ edges are added, can be coloured in polynomial time. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Graphs not containing particular subgraphs&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://www.springerlink.com/content/a27473768r2q0747/&quot;&gt;Deciding k-Colorability of P5-Free Graphs in Polynomial Time&lt;/a&gt; (2010). &#xA;Chính T. Hoàng, Marcin Kamínski, Vadim Lozin, Joe Sawada, Xiao Shu.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://www.cs.toronto.edu/~stacho/public/3col-atfree3.pdf&quot;&gt;3-colouring AT-free graphs in polynomial time&lt;/a&gt; (2010). &#xA;Juraj Stacho. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Colouring quadtrees&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://arxiv.org/abs/cs/9907030&quot;&gt;Algorithms for coloring quadtrees&lt;/a&gt; (1999). &#xA;David Eppstein, Marshall W. Bern, Brad Hutchings.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="295" LastEditorUserId="295" LastEditDate="2010-08-31T21:30:38.777" LastActivityDate="2010-08-31T21:30:38.777" Title="Graph families which have polynomial time algorithms for computing the chromatic number" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;co.combinatorics&gt;" AnswerCount="6" CommentCount="5" FavoriteCount="12" ContentLicense="CC BY-SA 2.5" />
  <row Id="491" PostTypeId="2" ParentId="489" CreationDate="2010-08-24T13:29:34.743" Score="4" Body="&lt;p&gt;Algorithms for coloring &lt;strong&gt;quadtrees&lt;/strong&gt;. &lt;br/&gt;&#xA;M. Bern, D. Eppstein, and B. Hutchings. &lt;br/&gt;&#xA;&lt;a href=&quot;http://arXiv:cs.CG/9907030&quot; rel=&quot;nofollow&quot;&gt;http://arXiv:cs.CG/9907030&lt;/a&gt;.&lt;br/&gt;&#xA;Algorithmica 32(1):87-94, 2002.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;We consider several variations of the&#xA;  problem of coloring the squares of a&#xA;  quadtree so that no two adjacent&#xA;  squares are colored alike. We give&#xA;  simple linear time algorithms for&#xA;  3-coloring balanced quadtrees with&#xA;  edge adjacency, 4-coloring unbalanced&#xA;  quadtrees with edge adjacency, and&#xA;  6-coloring balanced or unbalanced&#xA;  quadtrees with corner adjacency. The&#xA;  number of colors used by the first two&#xA;  algorithms is optimal; for the third&#xA;  algorithm, 5 colors may sometimes be&#xA;  needed.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="126" LastActivityDate="2010-08-24T13:29:34.743" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="492" PostTypeId="2" ParentId="489" CreationDate="2010-08-24T13:38:31.543" Score="8" Body="&lt;p&gt;b-perfect graphs allow induced 5-cycles (unlike perfect graphs), and were shown to have a polynomial-time algorithm for colouring by Hoàng, Maffray, and Mechebbek, &lt;em&gt;A characterization of b-perfect graphs&lt;/em&gt;, &lt;a href=&quot;http://arxiv.org/abs/1004.5306&quot; rel=&quot;nofollow&quot;&gt;arXiv:1004.5306&lt;/a&gt;, 2010.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(It is a pity that the wonderful compendium of graph classes at the &lt;a href=&quot;http://wwwteo.informatik.uni-rostock.de/isgci/index.html&quot; rel=&quot;nofollow&quot;&gt;ISGCI&lt;/a&gt; only covers cliquewidth, independent set, and domination.  It does not include information about colouring.)&lt;/p&gt;&#xA;" OwnerUserId="109" LastActivityDate="2010-08-24T13:38:31.543" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="493" PostTypeId="2" ParentId="482" CreationDate="2010-08-24T14:33:36.937" Score="12" Body="&lt;p&gt;Lance Fortnow wrote an article that explains quantum computing without using quantum mechanics.  He presents it essentially the same way one would present probabilistic computing.  I suspect this may be a quicker starting point than something like Nielson and Chuang (though I agree that if you want to really go into this then Nielson and Chung should definitely be on your reading list).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.cs.uchicago.edu/~fortnow/papers/quantview.pdf&quot;&gt;L. Fortnow. One complexity theorist's view of quantum computing. Theoretical Computer Science, 292(3):597-610, 2003. Special Issue of papers presented at the second workshop on Algorithms in Quantum Information Processing.&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="129" LastEditorUserId="129" LastEditDate="2010-08-24T18:19:22.900" LastActivityDate="2010-08-24T18:19:22.900" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="494" PostTypeId="2" ParentId="489" CreationDate="2010-08-24T14:50:18.337" Score="7" Body="&lt;p&gt;For every fixed integer k, testing whether a graph without induced $P_5$ subgraphs can be k-colored is solvable in polynomial time (&quot;Deciding k-colorability of P5-free graphs in polynomial time&quot;, 2008). Observe that $C_5$ is $P_5$ free and thus the P_5-free graphs are not perfect.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A very recent result which is in the accepted papers list of ISAAC is that 3-colorability of AT-free graphs can also be decided in polynomial time. ( Juraj Stacho, 3-colouring AT-free graphs in polynomial time; paper not yet published but the abstract is at &lt;a href=&quot;http://tclab.kaist.ac.kr/~otfried/isaac2010-abstracts.html&quot;&gt;http://tclab.kaist.ac.kr/~otfried/isaac2010-abstracts.html&lt;/a&gt; ). The same list also has a result by Hajo Broersma, Petr Golovach, Daniel Paulusma and Jian Song (&quot;On Coloring Graphs Without Induced Forests&quot;) that 3-coloring is in P for graphs without induced $2P_3$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are also results by Daniel Marx regarding the complexity of the chromatic number problem on graphs which can be made chordal by at most k vertex deletions; for every fixed k this problem is polynomial ( &lt;a href=&quot;http://dx.doi.org/10.1016/j.tcs.2005.10.008&quot;&gt;http://dx.doi.org/10.1016/j.tcs.2005.10.008&lt;/a&gt; ).&lt;/p&gt;&#xA;" OwnerUserId="122" LastActivityDate="2010-08-24T14:50:18.337" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="495" PostTypeId="2" ParentId="446" CreationDate="2010-08-24T14:53:28.957" Score="26" Body="&lt;p&gt;My favorite example to use with non-CS friends is this one:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.cs.cmu.edu/~sandholm/kidneyExchange.EC07.withGrantInfo.pdf&quot;&gt;Abraham, A. Blum, Sandholm.  Clearing algorithms for barter exchange markets: enabling nationwide kidney exchanges.  EC07.&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Kidney exchange markets are essentially a restricted form of cycle cover.  I like this example because a) it's easy to explain the gist(if you leave out some of the more technical details) and b) it's one of the few instances I know of where better algorithms can literally save lives!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My second favorite example is the hospitals-and-residents problem (aka the college admissions problem).  Each hospital ranks all residents (graduating medical students) and residents rank hospitals.  Each hospital has a certain number of slots.  From there it's a stable matching problem and can be solved in polynomial time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But in reality, couples can enter the system (yes, there is indeed &lt;a href=&quot;http://en.wikipedia.org/wiki/National_Resident_Matching_Program&quot;&gt;a system&lt;/a&gt;) together, so that the system won't, for example, split up married couples who are both applying for residency.  The addition of couples makes the problem NP-complete.  In addition to being easy to explain, this nicely demonstrates how the introduction of long-range connections can induce NP-completeness.&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2010-08-24T14:53:28.957" CommentCount="1" CommunityOwnedDate="2010-08-24T14:53:28.957" ContentLicense="CC BY-SA 2.5" />
  <row Id="496" PostTypeId="1" AcceptedAnswerId="38985" CreationDate="2010-08-24T14:53:33.043" Score="24" ViewCount="2217" Body="&lt;p&gt;Are there any NP-complete problems for which an algorithm is known that the expected running time is polynomial (for some sensible distribution over the instances)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If not, are there problems for which the existence of such an algorithm has been established?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Or does the existence of such an algorithm imply the existence of a deterministic polynomial time algorithm?&lt;/p&gt;&#xA;" OwnerUserId="483" LastActivityDate="2017-09-01T10:53:23.067" Title="Are there NP-complete problems with polynomial expected time solutions?" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;" AnswerCount="6" CommentCount="3" FavoriteCount="10" ContentLicense="CC BY-SA 2.5" />
  <row Id="497" PostTypeId="2" ParentId="423" CreationDate="2010-08-24T14:53:37.180" Score="5" Body="&lt;p&gt;See the paper &quot;How to Rank with Few Errors: A PTAS for Weighted Feedback Arc Set on Tournaments&quot; by Claire Kenyon-Mathieu and Warren Schudy (STOC 2007, journal version on Schudy's page), which gives a Polynomial-time approximation scheme for the special case where the directed graph is a tournament.&lt;/p&gt;&#xA;" OwnerUserId="273" LastActivityDate="2010-08-24T14:53:37.180" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="498" PostTypeId="2" ParentId="496" CreationDate="2010-08-24T15:04:25.923" Score="13" Body="&lt;p&gt;There is a polynomial time algorithm for finding Hamiltonian cycles on random graphs, that succeeds asymptotically with the same probability that a Hamiltonian cycle exists. Of course, this problem is NP-hard in the worst case. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;They also show that a dynamic programming algorithm which is always guaranteed to find a Hamiltonian cycle, if it exists, has polynomial expected running time, if the input distribution is uniformly random over the set of all $n$ vertex graphs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Reference: &quot;An algorithm for finding Hamilton cycles in random graphs&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Bollobas, Fenner, Frieze&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://portal.acm.org/citation.cfm?id=22145.22193&quot;&gt;http://portal.acm.org/citation.cfm?id=22145.22193&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="25" LastEditorUserId="25" LastEditDate="2010-08-25T16:14:33.057" LastActivityDate="2010-08-25T16:14:33.057" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="499" PostTypeId="1" AcceptedAnswerId="601" CreationDate="2010-08-24T15:21:08.633" Score="21" ViewCount="2919" Body="&lt;p&gt;What interesting differences are there between theory and practice of security and cryptography?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Most interesting will of course be examples that suggest new avenues for theoretical research based on practical experience :).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Answers might include (but are not limited to):&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Examples where theory suggests something is possible but it never gets used in practice&lt;/li&gt;&#xA;&lt;li&gt;Examples where theory suggests that something is safe that is not safe in practice&lt;/li&gt;&#xA;&lt;li&gt;Examples of something in widespread practical use has little theory behind it.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Caveat&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If your answer is essentially of the form &quot;Theory is about asymptotics, but practice is not,&quot; then either the theory should be really central, or the answer should include specific examples where the practical experience on real-world instances differs from the expectations based on the theory.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;One example I know of: secure circuit evaluation.  Very powerful in theory, but too complicated to ever use in practice, because it would involve taking your code, unrolling it into a circuit, and then doing secure evaluation of each gate one at a time.&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2011-12-28T13:52:30.583" Title="Difference between theory and practice of security and cryptography?" Tags="&lt;cr.crypto-security&gt;" AnswerCount="6" CommentCount="1" FavoriteCount="12" CommunityOwnedDate="2010-08-24T18:26:29.300" ContentLicense="CC BY-SA 2.5" />
  <row Id="500" PostTypeId="2" ParentId="496" CreationDate="2010-08-24T15:26:16.513" Score="5" Body="&lt;p&gt;&quot;Colouring Random Graphs in Expected Polynomial Time&quot; by&#xA;Amin Coja-Oghlan and Anusch Taraz&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;We investigate the problem of colouring random graphs $G \in G(n, p)$ in polynomial expected time. For the case $p &amp;lt; 1.01/n$, we present an algorithm that finds an optimal colouring in linear expected time. For suficiently large values of p, we give algorithms which approximate the chromatic number within a factor of $O(√np)$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.springerlink.com/content/87c17d4dacbrc0ma/&quot; rel=&quot;noreferrer&quot;&gt;http://www.springerlink.com/content/87c17d4dacbrc0ma/&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="295" LastActivityDate="2010-08-24T15:26:16.513" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="502" PostTypeId="2" ParentId="446" CreationDate="2010-08-24T15:52:19.600" Score="17" Body="&lt;p&gt;Some &quot;every day&quot; problems that are NP-hard, appropriately formulated:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Assigning university classes to timeslots to minimize scheduling conflicts.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Assigning wedding guests to seats so that friends sit at the same table, but enemies do not.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Planning a road trip to visit all of the tourist spots on a list, so as to minimize driving.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="25" LastActivityDate="2010-08-24T15:52:19.600" CommentCount="0" CommunityOwnedDate="2010-08-24T15:52:19.600" ContentLicense="CC BY-SA 2.5" />
  <row Id="503" PostTypeId="2" ParentId="446" CreationDate="2010-08-24T16:12:38.647" Score="7" Body="&lt;p&gt;Crossword puzzle construction is NP-Complete: Given a set of answers, try to fit them into a grid.&lt;/p&gt;&#xA;" OwnerUserId="126" LastActivityDate="2010-08-24T16:12:38.647" CommentCount="0" CommunityOwnedDate="2010-08-24T16:12:38.647" ContentLicense="CC BY-SA 2.5" />
  <row Id="504" PostTypeId="1" AcceptedAnswerId="618" CreationDate="2010-08-24T16:43:51.107" Score="7" ViewCount="407" Body="&lt;p&gt;Give an example of complexity classes $M$ and $N$ and oracles $A$ and $B$ such that &#xA; 1. $M^A=N^A$ and &#xA; 2. $M^B\neq N^B$ and&#xA; 3. $M \neq N$.&lt;/p&gt;&#xA;" OwnerUserId="492" LastEditorUserId="129" LastEditDate="2010-08-24T18:21:17.140" LastActivityDate="2011-05-19T06:49:53.407" Title="Complexity class separation in the presence of relativization barriers" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;complexity-classes&gt;&lt;oracles&gt;" AnswerCount="4" CommentCount="4" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="506" PostTypeId="1" AcceptedAnswerId="510" CreationDate="2010-08-24T16:58:29.600" Score="4" ViewCount="203" Body="&lt;p&gt;We have a set of items $I = \{i_1, i_2, ..., i_n\}$.  Each of these items has what we call a &lt;em&gt;p&lt;/em&gt; value, which is some real number.  We want to choose a subset of $I$, call it $I'$, of size $m$ (for some $m$ with $1 \le m \le n$) such that the average of the &lt;em&gt;p&lt;/em&gt; values of the items in $I'$ falls within some specified range, $[p_l, p_u]$.  (For example, we might require an average &lt;em&gt;p&lt;/em&gt; value between 0.70 and 0.74.)  Moreover, we want to do this efficiently.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;We hope to do this in O(n) time, but any polynomial time algorithm is good enough.  We certainly do not want to just try every possible subset of I of size $m$ and then check whether it satisfies the average p-value constraint.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, we will be doing this repeatedly and we want the subsets chosen to be a uniformly random distribution over all the possible such subsets.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a way of doing this?&lt;/p&gt;&#xA;" OwnerUserId="490" LastActivityDate="2010-08-24T17:28:31.557" Title="Choosing subsets of a set such that the subsets satisfy a global constraint" Tags="&lt;co.combinatorics&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="507" PostTypeId="2" ParentId="11" CreationDate="2010-08-24T16:58:50.113" Score="11" Body="&lt;p&gt;&lt;code&gt;An Axiomatic Basis for Computer Programming&lt;/code&gt; by C. A. R. HOARE&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;In this paper an attempt is made to&#xA;  explore the logical foundations of&#xA;  computer programming by use of&#xA;  techniques which were first applied in&#xA;  the study of geometry and have later&#xA;  been extended to other branches of&#xA;  mathematics. This involves the&#xA;  elucidation of sets of axioms and&#xA;  rules of inference which can be used&#xA;  in proofs of the properties of&#xA;  computer programs. Examples are given&#xA;  of such axioms and rules, and a formal&#xA;  proof of a simple theorem is&#xA;  displayed. Finally, it is argued that&#xA;  important advantages, both theoretical&#xA;  and practical, may follow from a&#xA;  pursuance of these topics.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.85.8553&amp;amp;rep=rep1&amp;amp;type=pdf&quot;&gt;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.85.8553&amp;amp;rep=rep1&amp;amp;type=pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="491" LastActivityDate="2010-08-24T16:58:50.113" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="508" PostTypeId="2" ParentId="499" CreationDate="2010-08-24T17:02:39.703" Score="10" Body="&lt;p&gt;Homomorphic encryption and secure multiparty communication are two of the big, recent discoveries in cryptography that haven't been sufficiently studied to make practical yet: research efforts like &lt;a href=&quot;https://www.fbo.gov/index?s=opportunity&amp;amp;mode=form&amp;amp;id=9358278f35a1c1ea713dca2c9a86a05e&amp;amp;tab=core&amp;amp;_cview=1&quot;&gt;PROCEED&lt;/a&gt; are moving in this direction to identify what kind of programming model we might use to write this sort of computation, as well as find optimizations to the core cryptographic algorithms that make them run in reasonable time. This is a fairly common occurrence in cryptography: we start off with (comparatively) simple algorithms that take a long time to run, and then cryptographers spend years using mathematics to optimize the algorithms further and further.&lt;/p&gt;&#xA;" OwnerUserId="489" LastActivityDate="2010-08-24T17:02:39.703" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="509" PostTypeId="2" ParentId="429" CreationDate="2010-08-24T17:11:34.997" Score="-2" Body="&lt;p&gt;P vs NP is hard because P != NP.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Please, read this excellent post by Scott Aaronson: &lt;a href=&quot;http://scottaaronson.com/blog/?p=459&quot; rel=&quot;nofollow&quot;&gt;http://scottaaronson.com/blog/?p=459&lt;/a&gt;&#xA;(It may be too big to fit as answer here)&lt;/p&gt;&#xA;" OwnerUserId="491" LastActivityDate="2010-08-24T17:11:34.997" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="510" PostTypeId="2" ParentId="506" CreationDate="2010-08-24T17:28:31.557" Score="5" Body="&lt;p&gt;From my answer at math.stackexchange: &lt;a href=&quot;https://math.stackexchange.com/questions/3205/choosing-subsets-of-a-set-such-that-the-subsets-satisfy-a-global-constraint/3207#3207&quot;&gt;https://math.stackexchange.com/questions/3205/choosing-subsets-of-a-set-such-that-the-subsets-satisfy-a-global-constraint/3207#3207&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assuming $m$ is an input, your problem is NP-Complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Subset sum can be reduced to it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given $A = \\{x_{1}, ..., x_{n}\\}$ for which we need to find a subset of sum $S$, we can create $n$ inputs to your algorithm, with input $A$, $m$ and $p_{L} = p_{U} = \frac{S}{m}$, for $1 \leq m \leq n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $m$ is fixed then the brute force algorithm (which you don't want) is $O(n^m)$ and so has a polynomial time algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If this does not answer your question, can you please clarify exactly what you need?&lt;/p&gt;&#xA;" OwnerUserId="126" LastEditorUserId="-1" LastEditDate="2017-04-13T12:19:19.363" LastActivityDate="2010-08-24T17:28:31.557" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="511" PostTypeId="2" ParentId="489" CreationDate="2010-08-24T17:30:18.483" Score="14" Body="&lt;p&gt;As you observe, all &lt;a href=&quot;http://en.wikipedia.org/wiki/Perfect_graph&quot;&gt;perfect graphs&lt;/a&gt; can be colored in polynomial time, but I think the proof involves ellipsoid algorithms for linear programming (see the book by Grötschel, Lovász, and Schrijver) rather than anything direct and combinatorial. There are a lot of different classes of graphs that are subclasses of perfect graphs and have easier coloring algorithms; chordal graphs, for instance, can be colored greedily using a perfect elimination ordering.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;All locally connected graphs (graphs in which every vertex has a connected neighborhood) can be 3-colored in polynomial time, when a coloring exists: just extend the coloring triangle by triangle.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Graphs of maximum degree three can be colored in polynomial time: it's easy to test whether they're bipartite, and if not then either they require only three colors or they have K4 as a connected component and require four colors (Brooks' theorem).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Triangle-free planar graphs can be colored in polynomial time, for the same reason: they are at most 3-chromatic (Grötzsch's theorem).&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2010-08-24T17:30:18.483" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="512" PostTypeId="2" ParentId="476" CreationDate="2010-08-24T17:47:35.137" Score="4" Body="&lt;p&gt;If you want a &lt;em&gt;true&lt;/em&gt; random number generation, you need to get the randomness from some physical process, like thermal noise. These sources are usually biased; you can use an &lt;a href=&quot;http://en.wikipedia.org/wiki/Randomness_extractor&quot; rel=&quot;nofollow&quot;&gt;extractor&lt;/a&gt; to transform a weak source of randomness into a uniform distribution. In practice, one can use a cryptographic hash such as SHA, although its security as an extractor &lt;a href=&quot;http://eprint.iacr.org/2009/136.pdf&quot; rel=&quot;nofollow&quot;&gt;doesn't seem to be proven yet&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="27" LastEditorUserId="27" LastEditDate="2010-08-24T19:33:09.467" LastActivityDate="2010-08-24T19:33:09.467" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="513" PostTypeId="2" ParentId="189" CreationDate="2010-08-24T18:00:41.760" Score="3" Body="&lt;p&gt;It's such a simple thing, but in it's simplicity is it's elegance: &lt;a href=&quot;http://en.wikipedia.org/wiki/LFSR&quot; rel=&quot;nofollow&quot;&gt;Linear Feedback Shift Registers&lt;/a&gt;. As a datastructure they are simply the number of bits in the loop and at most 4 pots, in many cases only 2. With simple actions of an XOR logical equation and a shift and you have a system that goes through every possible state in a very efficient way. They're an easy to implement PRNG (psuedo random number generator) all while being easy to implement in both hardware and software.&lt;/p&gt;&#xA;" OwnerUserId="499" LastActivityDate="2010-08-24T18:00:41.760" CommentCount="0" CommunityOwnedDate="2010-08-24T18:00:41.760" ContentLicense="CC BY-SA 2.5" />
  <row Id="514" PostTypeId="2" ParentId="504" CreationDate="2010-08-24T18:25:36.370" Score="4" Body="&lt;p&gt;Here's one that almost doesn't relativize.  $NEXP$ is not contained in $NP$ by the nondeterministic time hierarchy theorem.  But one can construct, relatively easily, an oracle in which $NEXP$ is infinitely-often contained in $NP$.  Formally, this means that there is an oracle relative to which there is a $NEXP$-complete problem $X$ such that $X$ agrees with (the relativized version of) $SAT$ infinitely often.&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2010-08-24T18:25:36.370" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="515" PostTypeId="1" AcceptedAnswerId="535" CreationDate="2010-08-24T18:34:39.507" Score="4" ViewCount="444" Body="&lt;p&gt;Is invoking polynomials in defining the different notions of efficient computation the real obstacle to resolve the P vs NP problem? Do we need a paradigm shift by redefining what constitute an efficient computation?  &lt;/p&gt;&#xA;" OwnerUserId="495" LastActivityDate="2010-09-26T12:06:13.970" Title="Are there alternatives to using polynomials in defining the different notions of efficient computation?" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;open-problem&gt;" AnswerCount="4" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="516" PostTypeId="2" ParentId="7" CreationDate="2010-08-24T18:44:15.433" Score="3" Body="&lt;p&gt;NSPACE(0)P=RE wich I guess is tad bit absurd.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Indeed, let L be a language recursively enumerable, M a TM who recognise L and M′ a TM that read an input and a number n of &quot;1&quot; and then simulates M for this input on n steps. Then without using any space I could copy the input on the oracle tape, guess the number of 1 needed and query M′. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then, M' will accept iff M accept and have an input big enough to be polynomial.&lt;/p&gt;&#xA;" OwnerUserId="328" LastActivityDate="2010-08-24T18:44:15.433" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="517" PostTypeId="1" AcceptedAnswerId="1479" CreationDate="2010-08-24T18:53:24.220" Score="8" ViewCount="351" Body="&lt;p&gt;Suppose $f:\mathbf{R}\times \mathbf{R} \to \mathbf{R}$ is some some continuous function&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$x_1 \ldots x_n$ is a set of real values, and we'd like to compute&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\text{argmin}_a \sum_i f(a,x_i)$ to prescribed accuracy&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there some results on difficulty of this problem for various f?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For instance, suppose $f(m,x)=(m-x)^2$. The minimum of our problem is now the mean of x's, easy to compute. On other hand, suppose $f(m,x)=\log (1+\exp(-m x))$, there's no closed form solution, so it seems argmin is harder to compute...or is it?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Motivation: this minimization problem comes up when fitting models to data. First example of f is least-squares fit and second f is logistic regression.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;b&gt;Edit&lt;/b&gt;: I just saw a related &lt;a href=&quot;https://cstheory.stackexchange.com/questions/1811/complexity-of-exponential-function&quot;&gt;question&lt;/a&gt;, and it is in the spirit of what I was asking, for a particular choice of f&lt;/p&gt;&#xA;" OwnerUserId="434" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2010-09-30T20:34:43.887" Title="complexity of fitting models to data" Tags="&lt;approximation-algorithms&gt;&lt;machine-learning&gt;&lt;st.statistics&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="518" PostTypeId="2" ParentId="156" CreationDate="2010-08-24T18:54:38.723" Score="10" Body="&lt;p&gt;I believe there is a known poly(q) algorithm. My understanding of the algorithm by Chudnovsky, Cornuéjols, Liu, Seymour, and Vušković, &quot;Recognizing Berge Graphs&quot;, &lt;a href=&quot;http://dx.doi.org/10.1007/s00493-005-0012-8&quot; rel=&quot;noreferrer&quot;&gt;Combinatorica 2005&lt;/a&gt;, is that it finds either an odd hole or an odd antihole in any non-perfect graph in polynomial time. The authors write on page 2 of their paper that the problem of finding odd holes in graphs that have them remains open, because steps 1 and 3 of their algorithm find holes but step 2 might find an antihole instead. However, in the case of Paley graphs, if you find an antihole, just multiply all the vertices in it by a nonresidue to turn it into an odd hole instead.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Alternatively, by analogy to the Rado graph, for each k there should be an N such that Paley graphs on N or more vertices should have the extension property: for any subset of fewer than k vertices, and any 2-coloring of the subset, there exists another vertex adjacent to every vertex in one color class and nonadjacent to every vertex in the other color class. If so, then for k=5 you could build an odd 5-hole greedily in polynomial time per step. Maybe this direction is hopeful for a poly(log(q)) algorithm? If it works it would at least show that there are short odd holes, seemingly a necessary prerequisite to finding them quickly.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Actually, it wouldn't surprise me if the following were a poly(log(q)) algorithm: if q is smaller than some fixed constant, look up the answer, else greedily build an odd 5-hole by searching sequentially through the numbers 0, 1, 2, 3, ... for vertices that can be added as part of a partial 5-hole. But maybe proving that it works in poly(log(q)) time would require some deep number theory.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By results of Chung, Graham, and Wilson, &quot;Quasi-random graphs&quot;, Combinatorica 1989, the following randomized algorithm solves the problem in a constant expected number of trials when q is prime: if q is sufficiently small then look up the answer, else repeatedly choose a random set of five vertices, check whether they form an odd hole, and if so return it. But they don't say whether it works when q is not a prime but a prime power, so maybe you'd need to be more careful in that case.&lt;/p&gt;&#xA;" OwnerUserId="95" LastEditorUserId="95" LastEditDate="2010-08-24T21:14:17.037" LastActivityDate="2010-08-24T21:14:17.037" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="519" PostTypeId="2" ParentId="517" CreationDate="2010-08-24T19:01:19.993" Score="9" Body="&lt;p&gt;You may already be aware of this, but if f is a &lt;a href=&quot;http://en.wikipedia.org/wiki/Bregman_divergence&quot;&gt;Bregman divergence&lt;/a&gt;, then this arg min always has an easy solution. The specific form depends on the order of the parameters, but if the expression being minimized is&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$ \arg\min_a \sum_i f(x_i, a) $$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where $f$ is a Bregman divergence, then the answer is always the mean of the $x_i$. If the order of parameters is the other way around, then you can use the duality of Bregman divergences. Specifically, if $f$ is generated by a strictly convex function $\phi$, then the solution is the $\phi$-mean $c$ given by $$\nabla \phi(c) = (1/n)\sum_i \nabla \phi(x_i)$$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another interesting case is when $f$ is the Euclidean norm (not squared). In that case, the arg min is the well known &lt;a href=&quot;http://en.wikipedia.org/wiki/Geometric_median&quot;&gt;Fermat-Weber point&lt;/a&gt;, and has been extensively studied in operations research. There's a globally optimal iterative scheme to solve it, but no closed form expression. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2010-08-24T19:01:19.993" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="520" PostTypeId="2" ParentId="496" CreationDate="2010-08-24T20:17:29.780" Score="9" Body="&lt;p&gt;Basically, Max 2-CSP on $n$ variables and $n$ randomly chosen constraints can be solved in expected linear time (see the reference below for the exact formulation of the result). Note that Max 2-CSP remains NP-hard when the number of clauses equals the number of variables as it is NP-hard if the constraint graph of the instance has maximum degree at most 3 and you can add some dummy variables to decrease the average degree to 2.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Reference:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Alexander D. Scott and Gregory B. Sorkin. Solving sparse random instances of Max Cut and Max 2-CSP in linear expected time. Comb. Probab. Comput., 15(1-2):281-315, 2006. &lt;a href=&quot;http://domino.research.ibm.com/library/cyberdig.nsf/1e4115aea78b6e7c85256b360066f0d4/6466595336e5d13885256f4a00715b9f?OpenDocument&quot;&gt;Preprint&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="72" LastEditorUserId="72" LastEditDate="2010-08-25T16:26:11.910" LastActivityDate="2010-08-25T16:26:11.910" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="521" PostTypeId="2" ParentId="11" CreationDate="2010-08-24T20:19:16.720" Score="7" Body="&lt;p&gt;the posts that mention hoare logic and separation logic are the correct ones on this matter. Hoare logic lets you state properties of the entire heap configuration of a program, and separation logic is the more modern relative which lets you use a &quot;separating conjunction&quot; that lets you state as pre and post conditions to a segment of code what properties hold for the part of the heap that the program segment will manipulate while quantifying over the rest of the heap. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The answer regarding monads is not strictly accurate, because in haskell a monad is used merely because it is an abstraction that enables the encoding of order of evaluation constraints and explicit tracking of the &quot;might use IO&quot; property. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is worth pointing out both that hoare/separation logic can be view as monads, and that there are a  number of contemporary projects such as &lt;a href=&quot;http://ynot.cs.harvard.edu/&quot; rel=&quot;noreferrer&quot;&gt;the ynot project&lt;/a&gt; at harvard which are exploring these topics.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;research in separation logic is an ongoing and active field.&lt;/p&gt;&#xA;" OwnerUserId="18" LastEditorUserId="18" LastEditDate="2010-08-25T04:57:22.880" LastActivityDate="2010-08-25T04:57:22.880" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="522" PostTypeId="1" CreationDate="2010-08-24T20:20:13.567" Score="1" ViewCount="1176" Body="&lt;p&gt;The PCP theorem (NP= PCP(log n, O(1)) )is a major result in complexity theory with many applications such as proving hardness of approximate results. However, it seems to me that it does not offer any insight that leads to separating P from NP or NP from coNP. My intuition is that P=NP would imply that coNP = PCP( log n, O(1)). That means Tautology instance has a proof that can be verified by an efficient probabilistic verifier using logarithmic random bits and reading only constant number of bits from a proposed proof. It seems that PCP theorem can not shed a light on why Tautology can not have such proof system.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Why is the PCP characterization of NP not helpful in separating NP from coNP ( or from P)? Is there any known barrier?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;** EDIT**: Provided context and motivation.&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2014-03-08T17:48:54.027" LastActivityDate="2014-03-08T17:48:54.027" Title="PCP characterization of NP" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;pcp&gt;" AnswerCount="3" CommentCount="8" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="523" PostTypeId="2" ParentId="504" CreationDate="2010-08-24T21:05:46.863" Score="7" Body="&lt;p&gt;&lt;a href=&quot;http://doi.ieeecomputersociety.org/10.1109/CCC.1998.694585&quot; rel=&quot;nofollow&quot;&gt;H. Buhrman, L. Fortnow, and T. Thierauf. Nonrelativizing separations. In Proceedings of the 13th IEEE Conference on Computational Complexity, pages 8-12. IEEE, New York, 1998.&lt;/a&gt; (also from &lt;a href=&quot;http://www.cs.uchicago.edu/~fortnow/papers/nonrel.pdf&quot; rel=&quot;nofollow&quot;&gt;Lance's homepage&lt;/a&gt;).  They show unconditionally that $MA_{EXP} \not\subseteq P/poly$, and also build an oracle relative to which $MA_{EXP} \subseteq P/poly$.&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2010-08-24T21:05:46.863" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="524" PostTypeId="1" AcceptedAnswerId="526" CreationDate="2010-08-24T21:10:18.133" Score="24" ViewCount="989" Body="&lt;p&gt;Scott Aaronson proposed &lt;a href=&quot;http://www.scottaaronson.com/blog/?p=252&quot;&gt;an interesting challange&lt;/a&gt;: can we use supercomputers today to help solve CS problems in the same way that physicists use large particle colliders?&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;More concretely, my proposal is to&#xA;  devote some of the world’s computing&#xA;  power to an all-out attempt to answer&#xA;  questions like the following: does&#xA;  computing the permanent of a 4-by-4&#xA;  matrix require more arithmetic&#xA;  operations than computing its&#xA;  determinant?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;He concludes that this would require ~$10^{123}$ floating point operations, which is beyond our current means.  The &lt;a href=&quot;http://www.scottaaronson.com/talks/wildidea.ppt&quot;&gt;slides are available&lt;/a&gt; and are also worth reading.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there any precedence for solving open TCS problems through brute force experimentation?  &lt;/p&gt;&#xA;" OwnerUserId="7" LastEditorUserId="77" LastEditDate="2012-12-05T13:24:37.310" LastActivityDate="2012-12-05T13:24:37.310" Title="Is &quot;Experimental Complexity Theory&quot; being used to solve open problems?" Tags="&lt;cc.complexity-theory&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="525" PostTypeId="2" ParentId="476" CreationDate="2010-08-24T21:20:28.267" Score="8" Body="&lt;p&gt;As other answers mentioned, any deterministic process (such as Turing/Register Machines) can not produce 'philosophical' or 'true' random numbers. Allow me to answer a slightly rephrased question: &quot;What are the most effective algorithms for finding pseudorandom numbers?&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are arguably four important properties to consider in pseudorandom number algorithms:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Security/Hardness of prediction (under varying contexts, i.e. given different amounts of information about the internal state of the algorithm as it runs or bits generated from its output)&lt;/li&gt;&#xA;&lt;li&gt;Cycle length, the amount of time it takes for the algorithm to enter into a cycle / repeat its output (and also how this cycle length is distributed according to its input; whether there are some inputs that cause very short cycles)&lt;/li&gt;&#xA;&lt;li&gt;Distribution of output values (usually this distribution can be 'flattened' into the uniform distribution using various tricks, but this introduces additional overhead)&lt;/li&gt;&#xA;&lt;li&gt;Speed of the algorithm&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;There is an old engineering joke involving steam engines. An engineer that specialized in trains confronts his investor, telling him that steam engines have three properties: speed, safety, and cheapness; and that due to some fundamental laws of physics, steam engines can only be designed with two of the three properties.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This story relates well to the current state of pseudorandom number generators. Many algorithms are believed to have several of these properties, but no algorithm (as far as I know) is known to have all of these properties.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;And so you must choose the algorithm most appropriate for your application. For example, in Computer Graphics algorithms often use Monte Carlo techniques to find an approximate solution to raytracing problems. Obviously for these applications a long cycle of non-redundant, uniformally distributed outputs are required. The faster this algorithm works, the better. Because the application does not need to keep its bits safe from an adversarial entity, rendering algorithms are free to use non-secure PRGNs that simply pass statistical randomness tests. Monte Carlo applications like this are popular and can be encounterd in &lt;a href=&quot;http://en.wikipedia.org/wiki/Monte_Carlo_method_in_statistical_physics&quot;&gt;statistical physics&lt;/a&gt;, &lt;a href=&quot;http://en.wikipedia.org/wiki/Miller%E2%80%93Rabin_primality_test&quot;&gt;primality testing&lt;/a&gt; (&lt;a href=&quot;http://en.wikipedia.org/wiki/Solovay%E2%80%93Strassen_primality_test&quot;&gt;another&lt;/a&gt;) and other &lt;a href=&quot;http://en.wikipedia.org/wiki/Randomized_algorithm&quot;&gt;probabilistic algorithms&lt;/a&gt;, &lt;a href=&quot;http://en.wikipedia.org/wiki/Computer_Go&quot;&gt;Computer Go&lt;/a&gt;, and &lt;a href=&quot;http://en.wikipedia.org/wiki/Monte_Carlo_method&quot;&gt;many more places&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For these types of applications, &lt;a href=&quot;http://en.wikipedia.org/wiki/Lagged_Fibonacci_generator&quot;&gt;Lagged Fibonacci Generators&lt;/a&gt; have been popular. The &lt;a href=&quot;http://en.wikipedia.org/wiki/Mersenne_twister&quot;&gt;Mersenne Twister&lt;/a&gt; has in recent years been adopted more and more frequently (despite some &lt;a href=&quot;http://www.iro.umontreal.ca/~lecuyer/myftp/papers/testu01.pdf&quot;&gt;criticism&lt;/a&gt;). The Mersenne Twister is generally easy to predict and should not be used for applications where hardness is a requirement (caveat: some research has been done in developing variants that are thought to be secure in this manner).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are some applications that need security garuntees. For example, in &lt;a href=&quot;http://en.wikipedia.org/wiki/Interactive_proof_system&quot;&gt;Interactive Proof Systems&lt;/a&gt;, verifiers need to challenge provers with random decisions. If the prover is capable of predicting the verifier's decisions, the protocol breaks down and we get can get no garuntees on the validity of the proof. For this application, a low speed on the algorithm is an acceptable loss for a hardness garuntee (the prover does almost all of the processing in these schemes). Similarly, when choosing bits of prime numbers to generate an RSA key, it is acceptable to absorb the one-time cost of a slow algorithm that has some garuntee of unpredictability.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are a number of cryptographically secure pseudorandom number generators. However, the level of security varies greatly between these algorithms. One can use symmetric encryption algorithms and hash functions as PRNGs, although this is generally not suggested in the literature. &lt;a href=&quot;http://en.wikipedia.org/wiki/Fortuna_%28PRNG%29&quot;&gt;Fortuna&lt;/a&gt; and &lt;a href=&quot;http://en.wikipedia.org/wiki/Yarrow_algorithm&quot;&gt;Yarrow&lt;/a&gt; (both by Bruce Schneier) are considered cryptographically secure. However, these are examples of algorithms whose security proofs are derived from the statement &quot;all known methods for breaking PRNGs fail on this algorithm&quot; which is considered a weaker security proof than that of explicitly showing an intractibility proof from reasonable complexity assumptions. &lt;a href=&quot;http://en.wikipedia.org/wiki/Blum_Blum_Shub&quot;&gt;Blum Blum Shub&lt;/a&gt; is an algorithm noted for its unusually strong security proof.&lt;/p&gt;&#xA;" OwnerUserId="3624" LastEditorUserId="3624" LastEditDate="2010-08-24T22:21:01.703" LastActivityDate="2010-08-24T22:21:01.703" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="526" PostTypeId="2" ParentId="524" CreationDate="2010-08-24T21:30:49.117" Score="24" Body="&lt;p&gt;In &quot;Finding Efficient Circuits Using SAT-solvers&quot;, Kojevnikov, Kulikov, and Yaroslavtsev have used SAT solvers to find better circuits for computing $MOD_k$ function. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have used computers to find proofs of time-space lower bounds, as described &lt;a href=&quot;https://cstheory.stackexchange.com/questions/93/what-are-the-best-current-lower-bounds-on-3sat/120#120&quot;&gt;here&lt;/a&gt;. But that was only feasible because I was working with an extremely restrictive proof system.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Maverick Woo and I have been working for some time to find the &quot;right&quot; domain for proving circuit upper/lower bounds using computers. We had hoped that we may resolve $CC^0$ vs $ACC^0$ (or a very weak version of it) using SAT solvers, but this is looking more and more unlikely. (I hope Maverick doesn't mind me saying this...)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The first generic problem with using brute-force search to prove nontrivial lower bounds is that it just takes too damn long, even on a very fast computer. The alternative is to try to use SAT solvers, QBF solvers, or other sophisticated optimization tools, but they do not seem to be enough to offset the enormity of the search space. Circuit synthesis problems are among the hardest practical instances one can come by.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The second generic problem is that the &quot;proof&quot; of the resulting lower bound (obtained by running brute-force search and finding nothing) would be insanely long and apparently yield no insight (other than the fact that the lower bound holds). So a big challenge to &quot;experimental complexity theory&quot; is to find interesting lower bound questions for which the eventual &quot;proof&quot; of the lower bound is short enough to be verifiable, and interesting enough to lead to further insights.&lt;/p&gt;&#xA;" OwnerUserId="225" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2010-08-24T21:30:49.117" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="527" PostTypeId="2" ParentId="524" CreationDate="2010-08-24T21:32:04.437" Score="8" Body="&lt;p&gt;Many of the best bounds in &lt;a href=&quot;http://en.wikipedia.org/wiki/Ramsey_theory&quot;&gt;Ramsey Theory&lt;/a&gt; are done by brute forcing through sets of cleverly generated (non-isomorphic) graphs. Progress in Ramsey Theory generally fluxuates between mathematical and computational advances to the problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In general, computer brute force is often used to get some evidence for conjectures when no proofs are known to exist. For example, the &lt;a href=&quot;http://en.wikipedia.org/wiki/Goldbach%27s_conjecture&quot;&gt;Goldbach Conjecture&lt;/a&gt; and &lt;a href=&quot;http://en.wikipedia.org/wiki/Riemann_hypothesis&quot;&gt;Riemann Hypothesis&lt;/a&gt; have been verified by computer search up to very large numbers.&lt;/p&gt;&#xA;" OwnerUserId="3624" LastActivityDate="2010-08-24T21:32:04.437" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="528" PostTypeId="2" ParentId="152" CreationDate="2010-08-24T21:33:50.300" Score="7" Body="&lt;p&gt;Given two automata $A$, $B$ accepting finite languages (acyclic automata), the state complexity of $L(A) \cap L(B)$ is in $\Theta(|A| \cdot |B|)$ &lt;a href=&quot;http://www.springerlink.com/content/n88165x273ugwl41/&quot; rel=&quot;noreferrer&quot;&gt;(1)&lt;/a&gt;. This result also holds for unary DFAs (not necessarily acyclic) &lt;a href=&quot;http://www.worldscinet.com/ijfcs/13/1301/S012905410200100X.html&quot; rel=&quot;noreferrer&quot;&gt;(2)&lt;/a&gt;. However, you seem to be talking about the space required to compute the intersection of two automata. I don't see how the classic construction using the Cartesian product uses $O(n^2)$ space. All you need is a constant number of counters of logarithmic size. When you compute the transition function for the new state $(q,r)$ you only have to scan the input without looking to any previously generated data.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Perhaps you want to output the minimal automaton? If this is the case, then I have no clue whether it can be achieved. The state complexity of the intersection for finite languages doesn't seem encouraging. However, unary DFAs have the same state complexity and I think it can be achieved with such automata. By using results from &lt;a href=&quot;http://www.worldscinet.com/ijfcs/13/1301/S012905410200100X.html&quot; rel=&quot;noreferrer&quot;&gt;(2)&lt;/a&gt;, you can get the exact size of the automaton recognizing the intersection. This size is described by the length of the tail and the cycle, thus the transition function can be easily computed with very few space since the structure is entirely described by those two sizes. Then, all you have to do is to generate the set of final states. Let $n$ be the number of states in the resulting automaton, then for all $1 \leq i \leq n$, state $i$ is a final state iff $a^i$ is accepted by both $A$ and $B$. This test can be carried with few space.&lt;/p&gt;&#xA;" OwnerUserId="508" LastEditorUserId="508" LastEditDate="2010-10-01T22:41:16.387" LastActivityDate="2010-10-01T22:41:16.387" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="529" PostTypeId="1" AcceptedAnswerId="534" CreationDate="2010-08-24T21:38:59.883" Score="37" ViewCount="2990" Body="&lt;p&gt;As far as I understand, the geometric complexity theory program attempts to separate $VP \neq VNP$ by proving that the permament of a complex-valued matrix is much harder to compute than the determinant.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The question I had after skimming through the GCT Papers: Would this immediately imply $P \neq NP$, or is it merely a major step towards this goal?&lt;/p&gt;&#xA;" OwnerUserId="512" LastEditorUserId="-1" LastEditDate="2013-04-05T06:08:01.983" LastActivityDate="2013-04-05T06:08:01.983" Title="Does $VP \neq VNP$ imply $P \neq NP$?" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;algebraic-complexity&gt;&lt;conditional-results&gt;&lt;gct&gt;" AnswerCount="3" CommentCount="3" FavoriteCount="12" ContentLicense="CC BY-SA 3.0" />
  <row Id="530" PostTypeId="2" ParentId="515" CreationDate="2010-08-24T22:02:38.140" Score="12" Body="&lt;p&gt;Polynomials are involved in the notion of efficient computation due to Cobham and Edmonds, who proposed polynomials as a robust class.  (Alan Cobham, &lt;em&gt;The intrinsic computational difficulty of functions&lt;/em&gt;, Proc. 1964 International Congress for Logic, Methodology, and Philosophy of Sciences, Y. Bar-Hellel (ed.), North Holland, 24–30, 1965; Jack Edmonds, &lt;a href=&quot;http://cms.math.ca/cjm/a145530&quot; rel=&quot;nofollow&quot;&gt;&lt;em&gt;Paths, Trees, and Flowers&lt;/em&gt;&lt;/a&gt;, Canadian Journal of Mathematics &lt;strong&gt;17&lt;/strong&gt;, 449–467, 1965.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Around the same time, Hartmanis and Stearns proved fundamental results including the deterministic time hierarchy theorem: this shows that there are decision problems that can be solved in polynomial time, but that require the polynomial time bounds to be of arbitrarily large degree.  (J. Hartmanis and R. E. Stearns, &lt;a href=&quot;http://dx.doi.org/10.1090/S0002-9947-1965-0170805-7&quot; rel=&quot;nofollow&quot;&gt;&lt;em&gt;On the computational complexity of algorithms&lt;/em&gt;&lt;/a&gt;, Transactions of the AMS &lt;strong&gt;117&lt;/strong&gt;, 285–306, 1965.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are of course other notions of &quot;efficient computation&quot;.  Schnorr and later Gurevich/Shelah explored quasi-linear time, a robust class based on notions of realtime computing.  &lt;a href=&quot;http://qwiki.stanford.edu/wiki/Complexity_Zoo%3aN#nc&quot; rel=&quot;nofollow&quot;&gt;NC&lt;/a&gt; for many years was regarded as capturing the notion of parallelisable computation.  &lt;a href=&quot;http://qwiki.stanford.edu/wiki/Complexity_Zoo%3aL#logcfl&quot; rel=&quot;nofollow&quot;&gt;LOGCFL&lt;/a&gt; is another natural class, of languages that are logspace-reducible to languages generated by context-free grammars.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I personally tend to agree that polynomial-time computation is the wrong notion of &quot;efficient&quot;: I don't think we really want to consider problems that provably require $O(n^{1000})$ time to decide as being efficiently computable.  The &lt;a href=&quot;http://en.wikipedia.org/wiki/Cobham%27s_thesis&quot; rel=&quot;nofollow&quot;&gt;Cobham-Edmonds thesis&lt;/a&gt; seems to be that polynomial-time is an &lt;em&gt;upper bound&lt;/em&gt;: for truly efficient computing, we want to look for a class that is contained in P.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(I would greatly appreciate a pointer to the Cobham paper online, if anyone knows of one.)&lt;/p&gt;&#xA;" OwnerUserId="109" LastActivityDate="2010-08-24T22:02:38.140" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="531" PostTypeId="1" CreationDate="2010-08-24T22:26:36.003" Score="5" ViewCount="424" Body="&lt;p&gt;Many NP-complete or NP-hard problems are addressed under the assumption that the problem instances are uniformly distributed. However, it is not true for real world applications. One example is the SAT problem. Randomly generated SAT problems are greatly different from industry collected SAT problems. The solvers behave quite different.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am thinking about an approximation scheme that given an unknown distribution $D$ over the problem instances, there exists a polynomial time algorithm $A$ that solves the problems drawn from $D$ successfully with a probability $1-\eta$. $\eta$ somehow relates to the divergence between the $D$ and the random distribution.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Furthermore, if we have samples from $D$, we can estimate $A$, and address the sample complexity and the consistency issue. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I wonder whether such a scheme already exists or not. If so, what is the name and what are the milestones?&lt;/p&gt;&#xA;" OwnerUserId="299" LastActivityDate="2010-08-30T16:52:27.033" Title="High probable polynomial time algorithm for NP-hard problems?" Tags="&lt;cc.complexity-theory&gt;&lt;approximation-algorithms&gt;" AnswerCount="1" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="532" PostTypeId="2" ParentId="189" CreationDate="2010-08-24T22:26:56.220" Score="44" Body="&lt;p&gt;The &lt;a href=&quot;http://en.wikipedia.org/wiki/Sieve_of_Eratosthenes&quot;&gt;Sieve of Eratosthenes&lt;/a&gt;, simple &amp;amp; intuitive.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I also like the beauty of &lt;a href=&quot;http://en.wikipedia.org/wiki/Horner_scheme&quot;&gt;Horner's Algorithm&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerDisplayName="xkey" LastEditorUserId="1140" LastEditDate="2010-09-15T08:41:48.570" LastActivityDate="2010-09-15T08:41:48.570" CommentCount="0" CommunityOwnedDate="2010-08-24T22:26:56.220" ContentLicense="CC BY-SA 2.5" />
  <row Id="534" PostTypeId="2" ParentId="529" CreationDate="2010-08-24T22:47:34.947" Score="27" Body="&lt;p&gt;The short answer is 'no'. No such implication is known. There are two main obstacles: Going from arithmetic circuit complexity to boolean complexity (VP≠VNP implies P/poly≠NP/poly) and then going from boolean circuit complexity (P/poly≠NP/poly) to uniform complexity (P≠NP). Neither of these steps is known. I believe that P/poly≠NP/poly implies VP≠VNP, however.&lt;/p&gt;&#xA;" OwnerUserId="68" LastEditorUserId="567" LastEditDate="2010-11-01T16:01:52.723" LastActivityDate="2010-11-01T16:01:52.723" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="535" PostTypeId="2" ParentId="515" CreationDate="2010-08-24T23:28:30.843" Score="13" Body="&lt;p&gt;We are so far from $P \neq NP$ that the use of polynomials in running time is not the primary obstacle to lower bounds. The main obstacle is much more basic than this. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The most natural alternative to polynomials of $n$ that I have seen is &lt;em&gt;quasi-linear functions of $n$&lt;/em&gt;, that is, functions of the form $f(n) = n (\log n)^{O(1)}$. One can define quasi-linear complexity classes that are analogues of $NP$ and $P$, i.e.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$NQL = \bigcup_{c \geq 1} NTIME[n (\log n)^c]$ and&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$DQL = \bigcup_{c \geq 1} TIME[n (\log n)^c]$,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;and now the question becomes whether $NQL = DQL$. (For simplicity, let's fix the model of computation to be random access machines.) We have $P \neq NP$ implies $DQL \neq NQL$, and indeed this looks like a much weaker question. For a reference, see&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Ashish V. Naik, Kenneth W. Regan, D. Sivakumar: On Quasilinear-Time Complexity Theory. Theor. Comput. Sci. 148(2): 325-349 (1995)&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;However, the $NQL$ vs $DQL$ question is still open.&lt;/strong&gt; We cannot even rule out a linear time algorithm for SAT. So even if we severely restrict the running time of our algorithms, we are still lost as to how to prove a nontrivial time lower bound for SAT.&lt;/p&gt;&#xA;" OwnerUserId="225" LastActivityDate="2010-08-24T23:28:30.843" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="536" PostTypeId="2" ParentId="515" CreationDate="2010-08-24T23:42:45.530" Score="16" Body="&lt;p&gt;From the very beginning $P$ has drawn flak for allowing high degree polynomials to count as efficient (Edmonds essentially introduced $P$ to argue that his $O(n^4)$ matching algorithm should be considered efficient, but for computers in 1965 $O(n^4)$ was definitely not efficient), but there are very good reasons that the definition has stuck:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Polynomials have nice closure properties.  If $O(n)$ is efficient, and we allow an efficient algorithm to call an efficient subroutine a reasonable number of times, we are forced to conclude that $O(n^2)$ is efficient too, and iterating this reasoning leads us to conclude that $O(n^c)$ is efficient for all $c$ if we want to avoid a totally arbitrary cutoff.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;$P$ is robust to changes in the underlying model of computation.  Complexity theory is about what problems are solvable in &lt;em&gt;some&lt;/em&gt; reasonable model of computation.  There are a huge variety of equivalent models of computation that can simulate one another in polynomial time (Turing machines, register machines, stack machines, and other stranger models) and tons of variations (how many tapes does your Turing machine have?  How many states?), and we have no real reason to favor one over another.  If we design an algorithm for a RAM but need to preserve our definition of efficient from model to model, then we need to allow polynomial overhead for simulation.  Aliens may well have computer totally different from anything we have imagined, but their definition of $P$ would be the same.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;$P$ is robust to technological advancement.  History has shown that computer science research that is not future-proof will quickly lose its relevance.  Over time, as computing power has increased, the definition of &quot;truly efficient&quot; has expanded to include larger polynomials, but $P$ has remained relevant.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;In practice, problems requiring high degree polynomials are actually rarely an issue.  Generally, the difficult step is getting from exponential time to &lt;em&gt;some&lt;/em&gt; polynomial, and once we have an algorithm in $P$ it is relatively easy to reduce the degree to something small.  There is an old joke that I have heard in several talks: &quot;every time someone proves a problem is in $P$ Bob Tarjan makes it linear.&quot;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="205" LastActivityDate="2010-08-24T23:42:45.530" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="537" PostTypeId="2" ParentId="403" CreationDate="2010-08-24T23:53:56.353" Score="8" Body="&lt;p&gt;Let $ALTS$-$SPACE(a(n),s(n))$ be the class of problems which are solvable with $a(n)$ alternations in $s(n)$ space. During the heyday of parallel complexity theory, this class came up fairly often. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, the class $AC^1$ is just $ALT$-$SPACE(\log n, \log n)$. So I imagine there are plenty of papers about your topic, although they may not be written in the notation you are using.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the rest of your question, I think one should be able to prove $ALTS$-$SPACE(a(n),\log n) \subseteq NSPACE(a(n) \log n)$ directly from Immerman-Szelepcsényi. &lt;/p&gt;&#xA;" OwnerUserId="225" LastActivityDate="2010-08-24T23:53:56.353" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="538" PostTypeId="2" ParentId="504" CreationDate="2010-08-25T00:21:07.083" Score="3" Body="&lt;p&gt;How about L and PSPACE.  They are unequal because of the space hierarchy theorem.  However, with oracle access to the language TQBF, which is PSPACE-hard under log space reductions, they become equally powerful. (Both equal PSPACE.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Similarly for NL and PSPACE. &lt;/p&gt;&#xA;" OwnerUserId="206" LastActivityDate="2010-08-25T00:21:07.083" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="539" PostTypeId="1" CreationDate="2010-08-25T00:42:17.983" Score="11" ViewCount="573" Body="&lt;p&gt;Given any simple undirected graph G, it is nontrivial to determine if G has nontrivial (non-identity) automorphisms. But what are results on upper/lower bounds of this decision problem?&lt;/p&gt;&#xA;" OwnerUserId="518" LastEditorUserId="495" LastEditDate="2010-10-13T06:53:48.163" LastActivityDate="2010-10-13T06:53:48.163" Title="what are known bounds on complexity of nontrivial graph automorphism" Tags="&lt;cc.complexity-theory&gt;&lt;graph-isomorphism&gt;&lt;automorphism&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="540" PostTypeId="2" ParentId="539" CreationDate="2010-08-25T01:39:38.023" Score="15" Body="&lt;p&gt;Determining if a graph has a nontrivial automorphism Cook-reduces (polynomial time Turing) to Graph Isomorphism (determine if a pair of graphs is isomorphic) (exercise for the reader).  It is not known to be equivalent to graph isomorphism.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In turn, graph isomorphism can be solved in $2^{\tilde O(\sqrt{n})}$ time and lies in $NP \cap coAM$.  In particular, it is not $NP$-complete unless the polynomial hierarchy collapses.&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2010-08-25T01:39:38.023" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="541" PostTypeId="2" ParentId="45" CreationDate="2010-08-25T01:51:52.053" Score="12" Body="&lt;p&gt;I would suggest going through  Eli-Ben Sasson's &lt;a href=&quot;http://www.cs.technion.ac.il/~eli/courses/PCP_Fall_2005/&quot;&gt;lecture notes&lt;/a&gt;. Also, Prahladh Harsha's lecture notes contain and exposition of both the proofs of PCP Theorem. The link to Prahladh's course can be found on his TIFR webpage (U Chicago Fall 2007). The course notes of Venkat Guruswami and Ryan O'Donnell (as suggested by Hung Q. Ngo) are very good too.&lt;/p&gt;&#xA;" OwnerUserId="520" LastActivityDate="2010-08-25T01:51:52.053" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="542" PostTypeId="2" ParentId="522" CreationDate="2010-08-25T02:15:44.830" Score="8" Body="&lt;p&gt;The PCP Theorem is a theorem about checking proofs, i.e. that there exist locally checkable proof systems, ones that don't &quot;turn from non-accepting to accepting by changes that would be insignificant by any reasonable metric&quot; (quote, top of page 2 &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=62233&quot;&gt;here&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Simply stated, it's not &lt;em&gt;directly&lt;/em&gt; related to &quot;efficient computation&quot; at all -- more of &quot;efficient checking,&quot; for an appropriate definition of efficient.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I suppose it might be possible to use the machinery and terminology of PCPs to attack P vs NP, but it seems likely that such an argument would have a simpler statement under a different model and mode of thought to me. If nothing else -- I haven't seen any attempts in that direction.&lt;/p&gt;&#xA;" OwnerUserId="108" LastActivityDate="2010-08-25T02:15:44.830" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="543" PostTypeId="2" ParentId="426" CreationDate="2010-08-25T02:18:41.717" Score="26" Body="&lt;p&gt;My take is that the abstractly-motivated Turing machine model of computation was a good approximation of technology until very recently, whereas models of distributed computing, from the get-go, have been motivated by the real world, which is always messier than abstractions.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;From, say, 1940-1995, the size of problem instances, the relative &quot;unimportance&quot; of parallelism and concurrency, and the macro-scale of computing devices, all &quot;conspired&quot; to keep Turing machines an excellent approximation of real-world computers.  However, once you start dealing with massive datasets, ubiquitous need for concurrency, biology through the algorithmic lens, etc., it is much less clear if there is an &quot;intuitive&quot; model of computation.  Perhaps problems hard in one model are not hard -- strictly less computationally complex -- in another.  So I believe that mainstream computational complexity is finally catching up (!) with distributed computing, by starting to consider multiple models of computation and data structures, motivated by real-world considerations.&lt;/p&gt;&#xA;" OwnerUserId="30" LastActivityDate="2010-08-25T02:18:41.717" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="544" PostTypeId="2" ParentId="489" CreationDate="2010-08-25T03:11:35.560" Score="8" Body="&lt;p&gt;Any family of graphs with bounded &lt;a href=&quot;http://en.wikipedia.org/wiki/Tree_decomposition&quot; rel=&quot;nofollow&quot;&gt;tree-width&lt;/a&gt; will have a polynomial time algorithm for computing the chromatic number. Gamarnik &lt;a href=&quot;http://arxiv.org/abs/math.CO/0606143&quot; rel=&quot;nofollow&quot;&gt;reduces&lt;/a&gt; the problem of counting colorings to that of computing marginals of certain Markov Random Fields defined on the same graph. Result follows because marginals of MRFs on bounded tree-width graphs can be computed in polynomial time with the &lt;a href=&quot;http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=825794&quot; rel=&quot;nofollow&quot;&gt;junction tree&lt;/a&gt; algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;b&gt;Update 8/26&lt;/b&gt;: Here's an &lt;a href=&quot;http://yaroslavvb.com/research/qr/cavity-method/cavityReport.html&quot; rel=&quot;nofollow&quot;&gt;example&lt;/a&gt; of &quot;# of colorings&quot;&amp;lt;-&gt;marginals reduction. It requires starting with a proper coloring, which can be found in polynomial time for bounded tree-width graphs with the max-plus version of junction tree algorithm. Now to think of it...you don't really need # of colorings for chromatic number, just a single proper coloring&lt;/p&gt;&#xA;" OwnerUserId="434" LastEditorUserId="434" LastEditDate="2010-08-26T23:21:07.210" LastActivityDate="2010-08-26T23:21:07.210" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="545" PostTypeId="2" ParentId="522" CreationDate="2010-08-25T03:33:16.200" Score="2" Body="&lt;p&gt;PCP[O(log n), 0]=P as one can deterministically simulate such a PCP in polytime by trying all possible logarithmic-length random strings. Besides, PCP[poly(n), 0]=coRP by definition, so PCP[poly(n), 0]=P assuming P=RP=coRP.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, I don't think PCP characterizations can help us separate P and NP. While PCP certainly provide a new look at the traditional classes, it does not seem to offer a new way in which we may get around the known barriers.&lt;/p&gt;&#xA;" OwnerUserId="245" LastEditorUserId="245" LastEditDate="2010-08-25T03:42:32.957" LastActivityDate="2010-08-25T03:42:32.957" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="546" PostTypeId="2" ParentId="522" CreationDate="2010-08-25T03:38:45.453" Score="3" Body="&lt;p&gt;You can also find some related results in Section 10 in the paper &quot;Free Bits, PCPs, and Nonapproximability - Towards Tight Results&quot; by Bellare, Goldreich and Sudan.&lt;/p&gt;&#xA;" OwnerUserId="525" LastActivityDate="2010-08-25T03:38:45.453" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="547" PostTypeId="2" ParentId="496" CreationDate="2010-08-25T03:58:29.083" Score="10" Body="&lt;p&gt;Regarding your last question on whether the existence of a good average case algorithm would imply the existence of a good worst-case algorithm: this is a major open question that is particularly of interest to cryptographers.  Cryptography requires problems that are hard on average, but cryptographers would like to base their constructions on the minimum assumptions possible, so it is of great interest to find problems where the average-case hardness is provably equal to the worst-case hardness.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Several lattice problems are known to have such worst-case to average-case reductions.  See, for instance, &lt;a href=&quot;http://doi.acm.org/10.1145/237814.237838&quot;&gt;Generating hard instances of lattice problems&lt;/a&gt; by Ajtai, and a &lt;a href=&quot;http://dx.doi.org/10.1007/978-3-642-02295-1_13&quot;&gt;survey article&lt;/a&gt; by Micciancio.&lt;/p&gt;&#xA;" OwnerUserId="205" LastActivityDate="2010-08-25T03:58:29.083" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="549" PostTypeId="2" ParentId="496" CreationDate="2010-08-25T05:36:42.793" Score="7" Body="&lt;p&gt;This doesn't answer your question completely, but for survey of results on random instances of 3-SAT you can see this: www.math.cmu.edu/~adf/research/rand-sat-algs.pdf&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Usually it is difficult to define what &quot;sensible distrubution&quot; really means. You can follow this link to read more about this in survey &quot;Average-time complexity&quot; by Bogdanov and Trevisan: &lt;a href=&quot;http://arxiv.org/abs/cs/0606037&quot;&gt;http://arxiv.org/abs/cs/0606037&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="254" LastActivityDate="2010-08-25T05:36:42.793" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="550" PostTypeId="2" ParentId="399" CreationDate="2010-08-25T07:58:48.827" Score="21" Body="&lt;p&gt;Your question addresses the &quot;exact&quot; recovery problem (we want to recover a k-sparse $x$ exactly given $Ax$). In the following though I will focus on the &quot;robust&quot;  version, where $x$ is an arbitrary vector and the goal of the recovery algorithm is to find a $k$-sparse approximation $x'$ to $x$ (this distinction actually matters for some of the discussion below). Formally you want to following problem (call it $P_1$):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Design $A$ such that for any $x$ one can recover $x'$ where &#xA; $\|x-x'\|_L  \le$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\min_{x&quot;} C \|x-x&quot;\|_R$, where $x&quot;$ ranges over all $k$-sparse vectors.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here,  $\| \cdot \|_L$ and  $\| \cdot \|_R$ denote the left and the right norm, and  $C$ is the &quot;approximation factor&quot;. There are various choices possible for $\| \cdot \|_L$ and  $\| \cdot \|_R$.  For concreteness, one can think that both are equal to $\ell_2$ or $\ell_1$;  it can get more messy though.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now to some of the analogs and generalizations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Arbitrary basis.&lt;/strong&gt; First, observe that any scheme satisfying the above definition can used to solve a more general problem, where the recovered signal $x'$ is sparse in an arbitrary basis (say, wavelet of Fourier), not just the standard one.   Let $B$ be the basis matrix. Formally, a vector $u$ is $k$-sparse in basis $B$ if $u=Bv$ where $v$ is $k$-sparse. Now we can consider the generalized problem (call it $P_B$):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Design $A_B$ such that  given $A_B x$, one can recover $x'$ where $\|x-x'\|_L \le$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\min_{x&quot;} C \|x-x&quot;\|_R$, where  $x&quot;$ ranges over all vectors that are  $k$-sparse in $B$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;One can reduce this problem to the earlier problem $P_1$ by changing the basis, i.e., using a measurement matrix $A_B = A B^{-1}$.    If we have a solution to $P_1$ in the $\ell_2$ norm (i.e., the left and the right norms equal to $\ell_2$), we also get a solution to $P_B$ in the $\ell_2$ norm. If $P_1$ uses other norms, we solve $P_B$ in those norms modified by changing the basis. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;One caveat in the above is that in the above approach, we need to know the matrix $B$ in order to define $A_B$. Perhaps surprisingly, if we allow randomization ($A_B$ is not fixed but instead chosen at random), it is possible to chose $A_B$ from the a fixed distribution that is independent from $B$.  This is the so-called &lt;em&gt;universality&lt;/em&gt; property.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Dictionaries.&lt;/strong&gt; The next generalization can be obtained by dropping the requirement that $B$ is a basis. Instead, we can allow $B$ to have more rows than columns. Such matrices are called (overcomplete) dictionaries. One popular example is the identity matrix on top of the Fourier matrix. Another example is a matrix where the rows are the characteristic vectors of all intervals in {1 ... n}; in this case, the set { $Bu: \mbox{u is k-sparse}$} contains all &quot;$k$-histograms&quot;, i.e., piecewise constant functions over {1 ... n} with at most $k$ pieces.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As far as I know there is no general theory for such arbitrary dictionaries, although there has been a fair amount of work on this topic. See e.g.,&#xA;&lt;em&gt;Candes-Eldar-Needell'10&lt;/em&gt; or&#xA;&lt;em&gt;Donoho-Elad-Temlyakov, IEEE Transactions on Information Theory, 2004&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Sketching for histograms was extensively investigated in streaming and database literature, e.g.,&#xA;&lt;em&gt;Gilbert-Guha-Indyk-Kotidis-Muthukrishnan-Strauss, STOC 2002&lt;/em&gt; or &#xA;&lt;em&gt;Thaper-Guha-Indyk-Koudas, SIGMOD 2002&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Models.&lt;/strong&gt; (also mentioned by Arnab). A different generalization is to introduce restrictions on the sparsity patterns. Let $M$ be a subset of $k$-subsets of {1 ... n}. We say that $u$ is $M$-sparse if the support of $u$ is included in an element of $M$. We can now pose the problem (call it $P_M$):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Design $A$ such that for any $x$ one can recover $x'$ where $\|x-x'\|_L \le$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\min_{x&quot;} C \|x-x&quot;\|_R$, where $x&quot;$ ranges over all $M$-sparse vectors.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, the elements of $M$ could be of the form $I_1 \cup \ldots \cup I_k$, where each $I_i$ corresponds to one &quot;sub-block&quot;of  {1 ... n} of some length $b$, i.e., $I_i$ is of the form { jb+1 ... (j+1)b} for some $j$. This is the so-called &quot;block sparsity&quot; model.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The benefits of models is that one can save on the number of measurements, compared to the generic $k$-sparsity approach. This is because the space of $M$-sparse signals is smaller than the space of all $k$-sparse signals, so the matrix $A$ needs to preserve less information. For more, see &#xA;&lt;em&gt;Baraniuk-Cevher-Duarte-Hegde, IEEE Transactions on Information Theory, 2010&lt;/em&gt; or&#xA;&lt;em&gt;Eldar-Mishali, IEEE Transactions on Information Theory, 2009&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hope this helps.&lt;/p&gt;&#xA;" OwnerUserId="533" LastActivityDate="2010-08-25T07:58:48.827" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="551" PostTypeId="1" CreationDate="2010-08-25T08:28:03.183" Score="16" ViewCount="258" Body="&lt;p&gt;&lt;em&gt;Adleman, FOCS'78&lt;/em&gt; showed that any randomized circuit for inputs of length $n$ can be non-uniformly derandomized. However, the construction effectively duplicates the original circuit  $O(n)$ times, so the derandomized circuit is larger than the original one by a factor of $O(n)$. Is there any more efficient construction out there that multiplies the circuit size by a smaller factor  ?&lt;/p&gt;&#xA;" OwnerUserId="533" LastActivityDate="2010-08-25T19:49:40.320" Title="More efficient non-uniform derandomization ?" Tags="&lt;derandomization&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="553" PostTypeId="1" AcceptedAnswerId="988" CreationDate="2010-08-25T08:34:29.127" Score="23" ViewCount="1681" Body="&lt;p&gt;Given is a dag. You want to label each node by how many nodes are reachable from it. $O(V(V+E))$ is a trivial upper bound; $\Omega(V+E)$ is a lower bound (I think). Is there a better algorithm? Is there reason to believe the lower bound can be improved (related: what exactly is known about lower bounds for transitive closure)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Motivation: I had to do this a couple of times while representing fol formulas as dags.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit: Please note that simply doing $c_x=1+\sum_{x\to y}c_y$ counts &lt;em&gt;paths&lt;/em&gt;, not reachable &lt;em&gt;nodes&lt;/em&gt;. (I added this because apparently many people thought this simple solution would work by the votes I saw on a now-deleted answer.) In fact, this problem appears precisely when you want to do something interesting with 'shared' parts, nodes reachable by more than one path. Also, I say dag, because if they are solved, then solving digraphs is easy.&lt;/p&gt;&#xA;" OwnerUserId="236" LastEditorUserId="236" LastEditDate="2010-08-26T15:26:04.067" LastActivityDate="2010-09-05T05:11:22.127" Title="What bounds can be put on counting reachable nodes in a dag?" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;" AnswerCount="3" CommentCount="2" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="555" PostTypeId="1" AcceptedAnswerId="576" CreationDate="2010-08-25T09:49:54.113" Score="4" ViewCount="1816" Body="&lt;p&gt;I understand (some) of the workings behind schema theory in genetic algorithms, for example:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;code&gt;*****0&lt;/code&gt; would match the genome &lt;code&gt;010100&lt;/code&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But could anyone explain what schema theory (in Genetic Algorithms) is used for, and how it's used?&lt;/p&gt;&#xA;" OwnerUserId="538" LastEditorUserId="74" LastEditDate="2010-08-25T21:20:19.907" LastActivityDate="2010-08-25T21:20:19.907" Title="What is schema theory within Genetic Algorithms" Tags="&lt;ne.neural-evol&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="556" PostTypeId="1" AcceptedAnswerId="565" CreationDate="2010-08-25T10:21:13.137" Score="13" ViewCount="647" Body="&lt;p&gt;Put simply: what is the correspondance between Turing machines with oracles, and uniform circuit families with oracles? How are the latter defined in order to obtain the same computational model, for a given oracle Turing machine?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This may be an elementary question, but it is not obvious where to look, and I'm the sort of person who likes to make sure that my foundations are using good-quality mortar. If there is a standard reference, please point me to it. (Papadimitriou's book, for instance, does not seem to describe circuits with oracles at all.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My working hypothesis is this: a uniform circuit family with access to an oracle (e.g. for solving an NP-complete problem) is defined as follows:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;One defines an infinite family of &quot;oracle gates&quot; O&lt;sub&gt;n&lt;/sub&gt;&amp;nbsp;, one for each circuit size n, each of which compute a function f&lt;sub&gt;n&lt;/sub&gt;&amp;nbsp;:&amp;nbsp;{0,1}&lt;sup&gt;cn&lt;/sup&gt;&amp;nbsp;&amp;rarr;&amp;nbsp;{0,1} for some constant c.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The functions f&lt;sub&gt;n&lt;/sub&gt; computed by the oracle gates O&lt;sub&gt;n&lt;/sub&gt; should be  &quot;uniform&quot; in the following sense: for any n&amp;nbsp;&amp;lt;&amp;nbsp;N and &lt;strong&gt;x&lt;/strong&gt;&amp;nbsp;&amp;isin;&amp;nbsp;{0,1}&lt;sup&gt;n&lt;/sup&gt;, we require f&lt;sub&gt;n&lt;/sub&gt;(&lt;strong&gt;x&lt;/strong&gt;)&amp;nbsp;=&amp;nbsp;f&lt;sub&gt;N&lt;/sub&gt;(&amp;nbsp;0&lt;sup&gt;c(N&amp;minus;n)&lt;/sup&gt;&amp;nbsp;&lt;strong&gt;x&lt;/strong&gt;&amp;nbsp;) --- that is, the oracle gates must use a consistent and extensbile &quot;encoding&quot; of their inputs.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;One then defines a uniform circuit family, where the oracle gates are among the allowed operations to the circuit, restricting the circuit for input size n to use the gate O&lt;sub&gt;n&lt;/sub&gt;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I imagine that some of the choices above may be arbitrarily fixed without losing any generality. What I am interested in is a reference for the correspondence, or at least  a description of how to modify the description above to obtain the standard one.&lt;/p&gt;&#xA;" OwnerUserId="248" LastEditorUserId="-1" LastEditDate="2012-08-06T09:26:01.650" LastActivityDate="2012-08-06T09:26:01.650" Title="Circuits with oracles vs. Turing Machines with oracles" Tags="&lt;cc.complexity-theory&gt;&lt;turing-machines&gt;&lt;oracles&gt;&lt;circuit-families&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="8" ContentLicense="CC BY-SA 2.5" />
  <row Id="557" PostTypeId="2" ParentId="551" CreationDate="2010-08-25T10:24:34.080" Score="7" Body="&lt;p&gt;I don't think something much better is known.  Because for example, if it were possible to derandomize circuits with only a sublinear blowup, then I think it would also be possible to non-trivially (but non-uniformly*) derandomize communication protocols.  And I don't believe the latter is known.  Adleman's proof gives a linear blowup as you say, so that the derandomization of communication protocols is trivial because it would give a linear blowup in the communication complexity.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;*: By &quot;non-uniform&quot; in the context of communication protocols, I mean the algorithm for the two parties to compute the next bit to send to the other is not explicit.  I recall reading a discussion about this in some paper, but I can't seem to find a reference now...&lt;/p&gt;&#xA;" OwnerUserId="15" LastEditorUserId="15" LastEditDate="2010-08-25T19:49:40.320" LastActivityDate="2010-08-25T19:49:40.320" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="558" PostTypeId="1" AcceptedAnswerId="572" CreationDate="2010-08-25T12:31:53.733" Score="4" ViewCount="318" Body="&lt;p&gt;For instance, A function that is computable but not invertable in log space, Is it one-way function?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What are the known definitions of one-way functions? (especially the ones that do not invoke polynomials)&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2013-08-26T19:50:53.660" LastActivityDate="2013-08-26T19:50:53.660" Title="What are the different notions of one-way functions?" Tags="&lt;cc.complexity-theory&gt;&lt;space-bounded&gt;&lt;one-way-function&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="559" PostTypeId="2" ParentId="558" CreationDate="2010-08-25T12:49:51.803" Score="5" Body="&lt;p&gt;Let me start with traditional definition of one-way function (with polynomials): &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A function '$f: {0, 1}^* \rightarrow {0, 1}^*$' is one-way  if f can be computed by a polynomial time algorithm, but for every randomized polynomial time algorithm A,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$Pr[f(A(f(x))) = f(x)] &amp;lt; \frac{1}{p(n)}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;for every polynomial p(n) and sufficiently large n, assuming that x is chosen from the uniform distribution on ${0, 1}^n$ and the randomness of A.&lt;/p&gt;&#xA;" OwnerUserId="254" LastEditorUserId="254" LastEditDate="2010-08-25T13:11:54.790" LastActivityDate="2010-08-25T13:11:54.790" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="560" PostTypeId="2" ParentId="446" CreationDate="2010-08-25T13:48:37.000" Score="4" Body="&lt;p&gt;An Np-complete problem like Sudoku (on nxn sqaure) is like a Universal tool which enables us to efficiently solve all problems that have efficiently verifiable solutions. The only requirement is to have an efficient method to solve Sudoku.&lt;/p&gt;&#xA;" OwnerUserId="495" LastActivityDate="2010-08-25T13:48:37.000" CommentCount="0" CommunityOwnedDate="2010-08-25T13:48:37.000" ContentLicense="CC BY-SA 2.5" />
  <row Id="561" PostTypeId="2" ParentId="138" CreationDate="2010-08-25T14:32:54.790" Score="3" Body="&lt;p&gt;Generally, Many-one (Karp) reduction is easier to design because it is a restricted form of reduction that makes one call and the main task involves transforming the input into different encoding. Turing reduction may involve complex logic. Existence of a set that is complete for NP under Turing reduction but not under many-one reduction implies that P!=NP.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For instance, Unsatisfiability is complete for NP under Cook reduction but it is not known to be complete for NP under Karp reduction. So, if you prove that there is no Karp reduction from SAT to UNSAT (eqivalently from UNSAT to SAT) then you would prove that NP != CoNP and hence P!=NP.&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2011-11-23T11:53:48.377" LastActivityDate="2011-11-23T11:53:48.377" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="562" PostTypeId="1" AcceptedAnswerId="567" CreationDate="2010-08-25T14:38:53.650" Score="28" ViewCount="1145" Body="&lt;p&gt;Let class A denote all the graphs of size $n$ which have a Hamiltonian cycle. It is easy to produce a random graph from this class--take $n$ isolated nodes, add a random Hamiltonian cycle and then add edges randomly.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let class B denote all the graphs of size $n$ which do not have a Hamiltonian cycle. How can we pick a random graph from this class? (or do something close to that)&lt;/p&gt;&#xA;" OwnerUserId="547" LastEditorUserId="547" LastEditDate="2010-11-19T05:19:50.587" LastActivityDate="2014-03-28T21:38:53.270" Title="How to produce a random graph that does not have a Hamiltonian cycle?" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;" AnswerCount="3" CommentCount="3" FavoriteCount="6" ContentLicense="CC BY-SA 2.5" />
  <row Id="563" PostTypeId="2" ParentId="482" CreationDate="2010-08-25T15:14:58.510" Score="4" Body="&lt;p&gt;You're probably already aware of this, but on &lt;a href=&quot;http://scottaaronson.com/blog/&quot; rel=&quot;nofollow&quot;&gt;his blog&lt;/a&gt;, Scott Aaronson has links to number of his course lectures on quantum computing, as well as links to QC primers by others (just scroll down the right side-bar to find these).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you'd like a book-length introduction, but something that's gentler than a text like Nielsen and Chuang, I would recommend &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0521879965&quot; rel=&quot;nofollow&quot;&gt;Quantum Computing for Computer Scientists&lt;/a&gt; by Yanofsky and Mannucci.  They spend a fair amount of time reviewing the mathematical prerequisites before diving into the QC itself.  If you have a strong math background this book might seem too basic, but I found it quite useful.&lt;/p&gt;&#xA;" OwnerUserId="184" LastActivityDate="2010-08-25T15:14:58.510" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="564" PostTypeId="2" ParentId="562" CreationDate="2010-08-25T15:23:35.903" Score="1" Body="&lt;p&gt;The first task is easy because Hamiltonian graphs are easy to verify. However, There is no known short proof that can be efficiently verified to witness that given graph is non-Hamiltonian.&lt;/p&gt;&#xA;" OwnerUserId="495" LastActivityDate="2010-08-25T15:23:35.903" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="565" PostTypeId="2" ParentId="556" CreationDate="2010-08-25T15:30:49.907" Score="19" Body="&lt;p&gt;The best reference for relativized circuits is Chris Wilson's paper &quot;Relativized NC&quot;  &lt;a href=&quot;http://www.springerlink.com/content/u727654246wu8662/&quot;&gt;http://www.springerlink.com/content/u727654246wu8662/&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The second condition you have (downward closure of O_n) is not needed to get the equivalence say between P^O and uniform poly-size circuits with oracle O. Also your third condition should be thrown away, the size of the circuit will prevent access to O_m for m larger than the circuit size.&lt;/p&gt;&#xA;" OwnerUserId="550" LastActivityDate="2010-08-25T15:30:49.907" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="566" PostTypeId="2" ParentId="189" CreationDate="2010-08-25T16:03:35.483" Score="32" Body="&lt;p&gt;Gaussian elimination. It completes the generalization sequence from the Euclidean GCD algorithm to Knuth-Bendix.&lt;/p&gt;&#xA;" OwnerUserId="497" LastActivityDate="2010-08-25T16:03:35.483" CommentCount="3" CommunityOwnedDate="2010-08-25T16:03:35.483" ContentLicense="CC BY-SA 2.5" />
  <row Id="567" PostTypeId="2" ParentId="562" CreationDate="2010-08-25T16:04:35.920" Score="34" Body="&lt;p&gt;This is impossible (unless NP=coNP) since in particular that implies a poly-time function whose range is the non-Hamiltonian graphs (the function goes from the random string to the output graph), which in turn will imply an NP-proof of non-Hamiltonianicity (to prove G doesn't have an Hamiltonian circuit, show x that maps to it.)&lt;/p&gt;&#xA;" OwnerUserId="42" LastEditorUserId="495" LastEditDate="2014-03-28T21:38:53.270" LastActivityDate="2014-03-28T21:38:53.270" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="568" PostTypeId="2" ParentId="562" CreationDate="2010-08-25T16:19:00.370" Score="11" Body="&lt;p&gt;Bollobas, Fenner, and Frieze (http://portal.acm.org/citation.cfm?id=22145.22193) give a polynomial time algorithm for finding Hamiltonian cycles in random graphs, that has an error rate asymptotically tending to 0 in the size of the graph. If you wanted to generate n vertex graphs that were not Hamiltonian, you could select a random graph $G_{n,m}$ with $m$ such that the graph was Hamiltonian with constant probability bounded away from 1. You could then run the BFF algorithm to attempt to find a Hamiltonian cycle in it, and reject the graph if the algorithm succeeds. After a constant number of rounds, you would expect to find a graph for which the algorithm failed to find a Hamiltonian cycle, and although this graph might in fact be Hamiltonian, the probability of this will be diminishing in $n$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course, this does not select uniformly at random from the set of all non-Hamiltonian $n$ vertex graphs, but it does select from an interesting subclass -- one for which you would expect a nontrivial fraction of graphs to be Hamiltonian, as well as a nontrivial fraction not. &lt;/p&gt;&#xA;" OwnerUserId="25" LastActivityDate="2010-08-25T16:19:00.370" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="569" PostTypeId="1" AcceptedAnswerId="679" CreationDate="2010-08-25T16:37:56.520" Score="8" ViewCount="3648" Body="&lt;p&gt;Is there some algorithm out there that can return some value indicating a level of randomness? I believe it's called &lt;a href=&quot;http://en.wikipedia.org/wiki/Entropy_%28information_theory%29&quot; rel=&quot;noreferrer&quot;&gt;Data Entropy&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I recently read this article: &lt;a href=&quot;http://faculty.rhodes.edu/wetzel/random/mainbody.html&quot; rel=&quot;noreferrer&quot;&gt;http://faculty.rhodes.edu/wetzel/random/mainbody.html&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Would his approach of analyzing coin flips apply for bytes? Should I drop down to the bit level where it's true/false again or is there a way to determine based on the full byte value?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are their better analyses than this article?&lt;/p&gt;&#xA;" OwnerUserId="499" LastEditorUserId="499" LastEditDate="2010-08-25T17:10:59.023" LastActivityDate="2019-01-15T18:28:46.937" Title="Best way to determine if a list of bytes are random?" Tags="&lt;randomness&gt;" AnswerCount="8" CommentCount="0" FavoriteCount="6" ContentLicense="CC BY-SA 2.5" />
  <row Id="570" PostTypeId="2" ParentId="569" CreationDate="2010-08-25T16:58:30.707" Score="3" Body="&lt;p&gt;Kolmogorov complexity is one way to measure the randomness of strings and it is algorithmically uncomputable. Using this notion, it is impossible to measure the randomness of all strings. The existence of such algorithm could be used to solve the halting problem.&lt;/p&gt;&#xA;" OwnerUserId="495" LastActivityDate="2010-08-25T16:58:30.707" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="571" PostTypeId="2" ParentId="569" CreationDate="2010-08-25T17:14:33.917" Score="5" Body="&lt;p&gt;From random.org:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Oddly enough, it is theoretically impossible to prove that a random number generator is really random. Rather, you analyse an increasing amount of numbers produced by a given generator, and depending on the results, your confidence in the generator increases (or decreases, as the case may be)&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;More information &lt;a href=&quot;http://www.random.org/analysis/&quot; rel=&quot;noreferrer&quot;&gt;can be found here&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="561" LastActivityDate="2010-08-25T17:14:33.917" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="572" PostTypeId="2" ParentId="558" CreationDate="2010-08-25T17:29:19.617" Score="7" Body="&lt;p&gt;Usually one-way functions are used for crypto, and so you want that no efficient adversary can invert the function. Identifying efficient adversaries with randomized polynomial-time, you get  the typical notion of security which talks of randomized poly-time machines. But of course you can think of different security notions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For super-fast crypto, you may want the one-way function to be computable in restricted models. Here a great &lt;a href=&quot;http://www.wisdom.weizmann.ac.il/~bennyap/pubs/nc0-full.pdf&quot;&gt;result&lt;/a&gt; by Applebaum, Ishai, and  Kushilevitz shows that a poly-time computable OWF implies a OWF where each output bit depends on just O(1) input bits (which is arguably one of the simplest computational models you can think of).&lt;/p&gt;&#xA;" OwnerUserId="259" LastActivityDate="2010-08-25T17:29:19.617" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="573" PostTypeId="2" ParentId="569" CreationDate="2010-08-25T17:30:24.623" Score="3" Body="&lt;p&gt;As other answers mentioned, the decision version of this problem (like the Halting problem and a number of other problems like the Tiling Problem) is undecidable. However, I believe you are asking about practical ways to measure the randomness of a collection of bits.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Standard practice here is to run the data through a series of randomness tests, like the Chi-Square test.&lt;/p&gt;&#xA;" OwnerUserId="3624" LastActivityDate="2010-08-25T17:30:24.623" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="574" PostTypeId="2" ParentId="305" CreationDate="2010-08-25T17:35:35.537" Score="10" Body="&lt;p&gt;Damas-Milner type inference is proven complete for exponential time, and there are easily constructed cases with exponential blowup in the size of a result. Nonetheless, on most real-world inputs it behaves in an effectively linear fashion.&lt;/p&gt;&#xA;" OwnerUserId="351" LastActivityDate="2010-08-25T17:35:35.537" CommentCount="2" CommunityOwnedDate="2010-08-25T17:35:35.537" ContentLicense="CC BY-SA 2.5" />
  <row Id="575" PostTypeId="2" ParentId="569" CreationDate="2010-08-25T17:58:43.007" Score="4" Body="&lt;p&gt;&lt;a href=&quot;http://www.phy.duke.edu/~rgb/General/dieharder.php&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://www.phy.duke.edu/~rgb/General/dieharder.php&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="564" LastActivityDate="2010-08-25T17:58:43.007" CommentCount="6" ContentLicense="CC BY-SA 2.5" />
  <row Id="576" PostTypeId="2" ParentId="555" CreationDate="2010-08-25T18:13:12.347" Score="4" Body="&lt;p&gt;If I remember correctly (it's years since I last studied this), schema theory isn't really &lt;em&gt;used&lt;/em&gt; for anything.  Rather, it's an attempt to explain why genetic algorithms seem to work well.  As I'm not an expert, I can only point you to a book that I remember reading about schemata, &lt;a href=&quot;http://mitpress.mit.edu/catalog/item/default.asp?tid=5974&amp;amp;ttype=2&quot; rel=&quot;nofollow&quot;&gt;Melanie Mitchell's book&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="375" LastActivityDate="2010-08-25T18:13:12.347" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="577" PostTypeId="2" ParentId="569" CreationDate="2010-08-25T18:13:30.087" Score="6" Body="&lt;p&gt;There is no single correct algorithm for measuring randomness. Various statistical tests are one possible approach, as the others have already said. Another possibility is to compress the byte sequence and see what happens. If you get about 8 bits/byte (or more), then the sequence is random in respect to the data model underlying the compressor.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of the standard compression methods, PPM uses an explicit statistical model to predict the next character based on the preceding context. Its main weakness is that it cannot utilize large-scale repetitiveness such as identical repetitions of a long random sequence.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Compression methods based on the LZ77 parsing or the Burrows-Wheeler Transform (BWT) perform well, when there are many repeated substrings in the sequence. However, many practical implementations have limited block/window size to save memory, making them also unable to utilize large-scale repetitiveness.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Instead of compressing the sequence, you could also compute some measure related to the data model of the compressor: high-order empirical entropy for PPM, the number of equal letter runs in the BWT, or the number of phrases in the LZ77 parsing. In the first two cases, 8 bits of entropy per byte or n(1 - 1/256) runs for a sequence of length n mean fully random data.&lt;/p&gt;&#xA;" OwnerUserId="56" LastActivityDate="2010-08-25T18:13:30.087" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="578" PostTypeId="2" ParentId="569" CreationDate="2010-08-25T18:15:47.633" Score="3" Body="&lt;p&gt;Entropy is defined for distributions and it's problematic to apply it to unbounded bit string. Normally if you have k possible event types, you observe n events, with p'th event occurring $i_p$ times. You define your distribution to be $(i_1/n,\ldots,i_k/n)$ and compute the entropy of that. But how do you define &quot;events&quot; when you get a string of length n? You could define your events to be &quot;observed bit 1&quot; and &quot;observed bit 0&quot;, or you could have events of the form &quot;observed string x&quot; where x is some string of length n. In latter case, your entropy is going to be 0.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In practice, there's no universal test for stream randomness, instead there's a series of tests, and if your stream tries k of the best tests and passes them all, we can be reasonably sure it's random...until someone invents k+1'st test that breaks it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here's what Knuth says about it in &quot;Art of Computer Algorithms, Vol 2&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&quot;If a sequence behaves randomly with respect to tests T1 ,T2 , ..., Tn, we cannot be sure in general that it will not be a miserable failure when it is subjected to a further test T(n+1). Yet each test gives us more and more confidence in the randomness of the sequence. In practice, we apply about half a dozen different kinds of statistical tests to a sequence, and if it passes them satisfactorily we consider it to be random - it is then presumed innocent until proven guilty.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'd recommend reading Knuth's &quot;Art of Computer Algorithms&quot; section 3.1 for general introduction to pseudorandomness and 3.3 on statistical tests for streams.&lt;/p&gt;&#xA;" OwnerUserId="434" LastActivityDate="2010-08-25T18:15:47.633" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="582" PostTypeId="2" ParentId="174" CreationDate="2010-08-25T19:40:48.960" Score="39" Body="&lt;p&gt;Can we compute the edit distance between two strings of length $n$ in sub-quadratic time, i.e., in time $O(n^{2-\epsilon})$ for some $\epsilon&gt;0$ ?&lt;/p&gt;&#xA;" OwnerUserId="533" LastActivityDate="2010-08-25T19:40:48.960" CommentCount="2" CommunityOwnedDate="2010-08-25T19:40:48.960" ContentLicense="CC BY-SA 2.5" />
  <row Id="583" PostTypeId="2" ParentId="305" CreationDate="2010-08-25T19:44:32.737" Score="7" Body="&lt;p&gt;Related to ilyaraz's remark about branch and bound, &lt;a href=&quot;http://www.unc.edu/~pataki/papers/soda.pdf&quot;&gt;Pataki et al.&lt;/a&gt; show that branch and bound plus lattice basis reduction can solve almost all random IP's in polytime.&lt;/p&gt;&#xA;" OwnerDisplayName="Marco" LastActivityDate="2010-08-25T19:44:32.737" CommentCount="0" CommunityOwnedDate="2010-08-25T19:44:32.737" ContentLicense="CC BY-SA 2.5" />
  <row Id="584" PostTypeId="2" ParentId="121" CreationDate="2010-08-25T20:04:20.737" Score="7" Body="&lt;p&gt;A few other examples:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Construction of $\epsilon$-biased k-wise independent sample spaces (e.g., &lt;em&gt;Naor-Naor, STOC'90&lt;/em&gt;). Actually, they use ECCs twice: first to construct $\epsilon$-biased sample spaces, and then to convert them to k-wise independent ones. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Improved fast randomized dimensionality reduction (Fast Johnson-Lindenstrauss Transform), in &lt;em&gt;Ailon-Liberty, SODA'08&lt;/em&gt;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="533" LastActivityDate="2010-08-25T20:04:20.737" CommentCount="1" CommunityOwnedDate="2010-08-25T20:04:20.737" ContentLicense="CC BY-SA 2.5" />
  <row Id="585" PostTypeId="1" AcceptedAnswerId="591" CreationDate="2010-08-25T20:18:44.000" Score="30" ViewCount="15942" Body="&lt;p&gt;Wikipedia defines a second &lt;a href=&quot;http://en.wikipedia.org/wiki/Preimage_attack&quot;&gt;preimage attack&lt;/a&gt; as:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;given a fixed message m1, find a different message m2 such that hash(m2) = hash(m1).&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Wikipedia defines a &lt;a href=&quot;http://en.wikipedia.org/wiki/Collision_attack&quot;&gt;collision attack&lt;/a&gt; as:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;find two arbitrary different messages m1 and m2 such that hash(m1) = hash(m2).&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The only difference that I can see is that in a second preimage attack, m1 already exists and is known to the attacker. However, that doesn't strike me as being significant - the end goal is still to find two messages that produce the same hash.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What are the essential differences in how a second preimage attack and collision attack are carried out? What are the differences in results?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(As an aside, I can't tag this question properly. I'm trying to apply the tags &quot;cryptography security pre-image collision&quot; but I don't have enough reputation. Can someone apply the appropriate tags?)&lt;/p&gt;&#xA;" OwnerUserId="403" LastEditorUserId="74" LastEditDate="2010-08-25T20:45:36.417" LastActivityDate="2010-08-30T23:22:21.167" Title="What is the difference between a second preimage attack and a collision attack?" Tags="&lt;cr.crypto-security&gt;&lt;hash-function&gt;" AnswerCount="3" CommentCount="2" FavoriteCount="16" ContentLicense="CC BY-SA 2.5" />
  <row Id="586" PostTypeId="2" ParentId="585" CreationDate="2010-08-25T20:41:15.130" Score="2" Body="&lt;p&gt;Collision attacks may be &lt;a href=&quot;http://en.wikipedia.org/wiki/Birthday_attack&quot; rel=&quot;nofollow&quot;&gt;&lt;em&gt;much&lt;/em&gt;&lt;/a&gt; easier, but if successful, much less useful.&lt;/p&gt;&#xA;" OwnerUserId="74" LastActivityDate="2010-08-25T20:41:15.130" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="587" PostTypeId="2" ParentId="555" CreationDate="2010-08-25T21:01:30.340" Score="2" Body="&lt;p&gt;When designing a genetic algorithm, you have to choose how to represent the problem in terms of schema, and the representation is vitally important to the performance of the algorithm. I think this is what schema theory is about.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Specifically, the common operations a GA will use to perturb or evolve are mutation and one- or two-point crossover.  This means that the proximity of certain traits to other traits in the &quot;chromosome&quot; is significant, since crossover operations slice the chromosome, essentially keeping groups of contiguous traits together.  If you've designed a schema in which key related traits are distant in the chromosome, optimal (or even good) solutions may not be found quickly (or at all), because those traits are unlikely to be retained as a collection.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It also means that even optimal groups that are quite large will tend not to be favored, because they will be frequently broken apart by mutation and crossover operations.  This, again, relates to the schema.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My best understanding of this is that schema theory deals with these issues (and more).  It is designed to address the design of a chromosome in which good and/or optimal solutions are likely to be found given the functions used to evolve the population.&lt;/p&gt;&#xA;" OwnerUserId="552" LastActivityDate="2010-08-25T21:01:30.340" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="588" PostTypeId="2" ParentId="189" CreationDate="2010-08-25T21:12:25.127" Score="42" Body="&lt;p&gt;The &lt;a href=&quot;http://en.wikipedia.org/wiki/Cooley%E2%80%93Tukey_FFT_algorithm&quot;&gt;Cooley-Tukey FFT Algorithm&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="582" LastActivityDate="2010-08-25T21:12:25.127" CommentCount="1" CommunityOwnedDate="2010-08-25T21:12:25.127" ContentLicense="CC BY-SA 2.5" />
  <row Id="589" PostTypeId="1" AcceptedAnswerId="595" CreationDate="2010-08-25T21:20:27.650" Score="12" ViewCount="453" Body="&lt;p&gt;Stream algorithms require randomization for the most part to do anything nontrivial, and because of the small-space constraint, need PRGs that use little space. I know of two methods that have been cited for use in stream algorithms thus far:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$k$-wise independent PRGs like the 4-wise independent family used by Alon/Matias/Szegedy for the original $F_2$ estimation problem, and generalizations for 2-stability-based methods for (say) $\ell_2$ sketching&lt;/li&gt;&#xA;&lt;li&gt;Nisan's PRG that works in general for any kind of small-space problem.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I'm particular interested in methods that can be implemented. On the face of it, both of the above approaches seem relatively easy to implement, but I'm curious if there are any others out there. &lt;/p&gt;&#xA;" OwnerUserId="80" LastEditorUserId="186" LastEditDate="2010-12-11T22:55:48.530" LastActivityDate="2010-12-11T22:55:48.530" Title="Streaming derandomization" Tags="&lt;ds.algorithms&gt;&lt;derandomization&gt;&lt;streaming&gt;&lt;pseudorandom-generators&gt;" AnswerCount="3" CommentCount="0" FavoriteCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="590" PostTypeId="2" ParentId="446" CreationDate="2010-08-25T21:47:23.923" Score="5" Body="&lt;p&gt;One of my friends spent a sabbatical year watching a baseball game in every major league stadium in North America.  Without flying.  (He didn't &lt;em&gt;quite&lt;/em&gt; succeed; three stadiums were under construction that year.)&lt;/p&gt;&#xA;" OwnerUserId="111" LastActivityDate="2010-08-25T21:47:23.923" CommentCount="2" CommunityOwnedDate="2010-08-25T21:47:23.923" ContentLicense="CC BY-SA 2.5" />
  <row Id="591" PostTypeId="2" ParentId="585" CreationDate="2010-08-25T22:10:21.280" Score="32" Body="&lt;p&gt;I can motivate the difference for you with attack scenarios.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In a &lt;em&gt;first preimage attack&lt;/em&gt;, we ask an adversary, given only $H(m)$, to find $m$ or some $m'$ such that $H(m')$ = $H(m)$. Suppose a website stores $\{username, H(password)\}$ in its databases instead of $\{username, password\}$. The website can still verify the authenticity of the user by accepting their password and comparing $H(input) =? H(password)$  (with probability of $1/2^n$ for some large $n$ for false positives). Now suppose this database is leaked or is otherwise comprimised. A &lt;em&gt;first preimage attack&lt;/em&gt; is the situation where an adversary only has access to a message digest and is trying to generate a message that hashes to this value.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In a &lt;em&gt;second preimage attack&lt;/em&gt;, we allow the adversary more information. Specifically, not only do we give him $H(m)$ but also give him $m$. Consider the hash function $H(m) = m^d \mod{pq}$ where $p$ and $q$ are large primes and $d$ is a public constant. Obviously for a &lt;em&gt;first preimage attack&lt;/em&gt; this becomes the RSA problem and is believed to be hard. However, in the case of the &lt;em&gt;second preimage attack&lt;/em&gt; finding a collision becomes easy. If one sets $m' = mpq + m$, $H(mpq + m) = (mpq + m)^d \mod{pq} = m^d \mod{pq}$. And so the adversary has found a collision with little to no computation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We would like one way hash functions to be resistant to &lt;em&gt;second preimage attacks&lt;/em&gt; because of digital signature schemes, in which case $H(document)$ is considered public information and is passed along (through a level of indirection) with every copy of the document. Here an attacker has access to both $document$ and $H(document)$. If the attacker can come up with a variation on the original document (or an entirely new message) $d'$ such that $H(d') = H(document)$ he could publish his document as though he were the original signer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A &lt;em&gt;collision attack&lt;/em&gt; allows the adversary even more opportunity. In this scheme, we ask the adversary (can I call him Bob?) to find any two messages $m_1$ and $m_2$ such that $H(m_1) = H(m_2)$. Due to the pigeonhole principle and the birthday paradox, even 'perfect' hash functions are quadratically weaker to collision attacks than preimage attacks. In other words, given an unpredictable and irreversible message digest function $f(\{0,1\}^*) = \{0,1\}^n$ which takes $O(2^n)$ time to brute force, a collision can always be found in expected time $O(sqrt(2^n)) = O(2^{n/2})$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Bob can use a collision attack to his advantage in many ways. Here is one of the simpliest: Bob finds a collision between two binaries $b$ and $b'$ ($H(b) = H(b')$) such that b is a valid Microsoft Windows security patch and $b'$ is malware. (Bob works for Windows). Bob sends his security patch up the chain of command, where behind a vault they sign the code and ship the binary to Windows users around the world to fix a flaw. Bob can now contact and infect all Windows computers around the world with $b'$ and the signature that Microsoft computed for $b$. Beyond these sorts of attack scenarios, if a hash function is believed to be collision resistant, that hash function is also more likely to be preimage resistant.&lt;/p&gt;&#xA;" OwnerUserId="3624" LastEditorUserId="3624" LastEditDate="2010-08-30T23:22:21.167" LastActivityDate="2010-08-30T23:22:21.167" CommentCount="7" ContentLicense="CC BY-SA 2.5" />
  <row Id="592" PostTypeId="1" CreationDate="2010-08-25T23:16:54.977" Score="24" ViewCount="864" Body="&lt;p&gt;I am looking for unbalanced expanders that are &quot;good&quot; and &quot;space-efficient&quot;. Specifically, a bipartite left-regular graph $G=(A,B,E)$, $|A|=n$, $|B|=m$, with left degree $d$ is a $(k,\epsilon)$-expander if for any $S \subset A$ of size at most $k$, the number of distinct neighbors of $S$ in $B$ is at least $(1-\epsilon)d|S|$. It is known that the probabilistic method yields such a graph with $d=O(\log (n/k)/\epsilon)$ and $m=O(k \log(n/k)/\epsilon^2)$. However, one needs $O(n d)$ space to store such a graph. Also one also needs to access this storage when doing anything with the graph, which can cost as well. Ideally, one would like an explicit construction. However, as far as I know, known constructions achieve parameters that are still somewhat far from the above (at least provably so). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question: &lt;em&gt;are there any other constructions, possibly non-explicit, which achieve bounds &quot;closer&quot; to the ones above, yet use &quot;significantly less&quot; than $O(nd)$ space ?&lt;/em&gt; &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am looking for answers in any of these three categories: (a) theorems (b) conjectures (c) observations and &quot;war-stories&quot; such as &quot;we did this and it kind of seemed to work (sort of)&quot;. I.e., &quot;industrial&quot; expanders are OK. I prefer (a) over (b) and (b) over (c), but beggars cannot be choosers :) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is an example of a construction of type (c). Take $d$ random linear hash functions $h_i: [n] \to [m]$ (mod $m$), and connect each vertex $i$ to $h_1(i) \ldots h_d(i)$. Me and my student did some experiments on it, and it seemed to work &quot;fine&quot;. Are there any theorems or conjectures about this or related constructions ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks!&lt;/p&gt;&#xA;" OwnerUserId="533" LastEditorUserId="80" LastEditDate="2010-09-13T03:07:15.610" LastActivityDate="2017-12-12T09:31:15.727" Title="Space efficient &quot;industrial&quot; unbalanced expanders" Tags="&lt;graph-theory&gt;&lt;derandomization&gt;&lt;expanders&gt;" AnswerCount="2" CommentCount="3" FavoriteCount="7" ContentLicense="CC BY-SA 2.5" />
  <row Id="593" PostTypeId="1" AcceptedAnswerId="7140" CreationDate="2010-08-25T23:30:04.817" Score="33" ViewCount="8556" Body="&lt;p&gt;Is there a priority queue data structure that supports the following operations?&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;em&gt;Insert(x, p)&lt;/em&gt;: Add a new record x with priority p&lt;/li&gt;&#xA;&lt;li&gt;&lt;em&gt;StableExtractMin()&lt;/em&gt;: Return and delete the record with minimum priority, &lt;em&gt;breaking ties by insertion order&lt;/em&gt;.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Thus, after Insert(a, 1), Insert(b, 2), Insert(c, 1), Insert(d,2), a sequence of StableExtractMin's would return a, then c, then b, then d.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Obviously one could use &lt;em&gt;any&lt;/em&gt; priority queue data structure by storing the pair $(p, time)$ as the actual priority, but I'm interested in data structures that do &lt;em&gt;not&lt;/em&gt; explicitly store the insertion times (or insertion order), by analogy to stable sorting.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Equivalently(?): Is there a stable version of heapsort that does not require $\Omega(n)$ extra space?&lt;/p&gt;&#xA;" OwnerUserId="111" LastEditorUserId="80" LastEditDate="2010-08-28T07:07:07.047" LastActivityDate="2011-06-29T18:07:51.577" Title="Is there a stable heap?" Tags="&lt;ds.data-structures&gt;" AnswerCount="6" CommentCount="5" FavoriteCount="16" ContentLicense="CC BY-SA 2.5" />
  <row Id="594" PostTypeId="1" AcceptedAnswerId="597" CreationDate="2010-08-25T23:31:37.250" Score="13" ViewCount="302" Body="&lt;p&gt;It is easy to verify that given the d dimensional grid of the integer points $\{1,\ldots,n\}^d$, with the regular adjacency, one can find a separator of size $n^{d-1}$ (just pick any middle hyperplane, and remove all its vertices). It is also not too hard (but definitely not immediate) to verify that any separator has to be of size $\Omega(n^{d-1})$. Anybody knows a refenence to this?&lt;/p&gt;&#xA;" OwnerUserId="9594" LastEditorUserId="1800" LastEditDate="2011-09-08T18:13:46.650" LastActivityDate="2011-09-08T18:13:46.650" Title="Reference to lower bound on separator in a grid?" Tags="&lt;reference-request&gt;&lt;cg.comp-geom&gt;&lt;lower-bounds&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="595" PostTypeId="2" ParentId="589" CreationDate="2010-08-25T23:35:33.107" Score="10" Body="&lt;p&gt;Some streaming algorithms use expander graphs. This is a somewhat extreme form of de-randomization though (no random bits, in principle).&lt;/p&gt;&#xA;" OwnerUserId="533" LastActivityDate="2010-08-25T23:35:33.107" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="597" PostTypeId="2" ParentId="594" CreationDate="2010-08-26T00:32:26.050" Score="12" Body="&lt;p&gt;Looks like the book &quot;Graph separators, with applications&quot; by Arnold Rosenberg and Lenwood Heath answers your question (see section 4.3.4.), but it could happen that I misunderstood their notation (please, let me know). Anyway, this book is a very comprehensive reference on separators.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT. Here is a download link on Springer: &lt;a href=&quot;http://www.springerlink.com/content/978-0-306-46464-5&quot; rel=&quot;nofollow&quot;&gt;http://www.springerlink.com/content/978-0-306-46464-5&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="254" LastEditorUserId="254" LastEditDate="2010-08-26T00:46:56.600" LastActivityDate="2010-08-26T00:46:56.600" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="598" PostTypeId="2" ParentId="189" CreationDate="2010-08-26T00:44:21.773" Score="33" Body="&lt;p&gt;I was impressed when I first saw the algorithm for &lt;a href=&quot;http://en.wikipedia.org/wiki/Reservoir_sampling#cite_note-1&quot;&gt;reservoir sampling&lt;/a&gt; and its proof. It is the typical &quot;brain teaser&quot; type puzzle with an extremely simple solution. I think it definitely belongs to the book, both the one for algorithms as well as for mathematical theorems.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As for the book, the story goes that when Erdös died and went to heaven, he requested to meet with God. The request was granted and for the meeting Erdös had only one question. &quot;May I look in the book?&quot; God said yes and led Erdös to it. Naturally very excited, Erdös opens the book only to see the following.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Theorem 1: ...&lt;br&gt;&#xA;Proof: Obvious.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Theorem 2: ...&lt;br&gt;&#xA;Proof: Obvious.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Theorem 3: ...&lt;br&gt;&#xA;Proof: Obvious.&lt;/p&gt;&#xA;" OwnerDisplayName="Arnar" LastActivityDate="2010-08-26T00:44:21.773" CommentCount="1" CommunityOwnedDate="2010-08-26T00:44:21.773" ContentLicense="CC BY-SA 2.5" />
  <row Id="601" PostTypeId="2" ParentId="499" CreationDate="2010-08-26T01:21:19.693" Score="23" Body="&lt;p&gt;Oh boy, where to start.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The big one is definitely black boxes. Crypto researchers make a fuss about things like uninstantiability problem of the Random Oracle Model. Security researchers are at the other extreme and would like &lt;em&gt;everything&lt;/em&gt; to be usable as a black box, not just hash functions. This is a constant source of tension.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To illustrate, if you look at the formal analysis of security protocols, for example &lt;a href=&quot;http://en.wikipedia.org/wiki/Burrows%E2%80%93Abadi%E2%80%93Needham_logic&quot;&gt;BAN logic&lt;/a&gt;, you will see that symmetric encryption is treated as an &quot;ideal block cipher.&quot; There is a subtle distinction here — BAN logic (and other protocol analysis techniques) don't claim to be security proofs; rather, they are techniques for finding flaws. Therefore it is not strictly true that the ideal cipher model is involved here. However, it is empirically true that most of the security analysis tends to be limited to the formal model, so the effect is the same.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We haven't even talked about practitioners yet. These guys typically don't even have a clue that crypto primitives are not intended to be black boxes, and I doubt this is ever going to change — decades of trying to beat this into their heads hasn't made a difference.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To see how bad the problem is, consider this &lt;a href=&quot;http://netifera.com/research/flickr_api_signature_forgery.pdf&quot;&gt;security advisory&lt;/a&gt; relating to API signature forgeability. The bug is partly due to the length-extension attack in the Merkle-Damgard construction (which is something really really basic), and affects Flickr, DivShare, iContact, Mindmeister, Myxer, RememberTheMilk, Scribd, Vimeo, Voxel, Wizehhive and Zoomr. The authors note that this is not a complete list.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I do think practitioners deserve the lion's share of the blame for this sad state of affairs. On the other hand, perhaps crypto theorists need to rethink their position as well. Their line has been: &quot;black-boxes are impossible to build; we're not even going to try.&quot; To which I say, since it is clear that your constructions are going to get (mis)used as black boxes anyway, why not at least try to make them as close to black boxes as possible?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The paper &lt;a href=&quot;http://cs.nyu.edu/~dodis/ps/merkle.ps&quot;&gt;Merkle-Damgard Revisited&lt;/a&gt; is a great example of what I'm talking about. They study the security notion that &quot;the arbitrary length hash function H must behave as a random oracle when the fixed-length building block is viewed as a random oracle or an ideal block-cipher.&quot; This kind of theoretical research has the potential to be hugely useful in practice.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now let's get to your example of circuit evaluation. I beg to disagree with your reasoning. It's not like you would take a compiled binary and blindly turn it into a circuit. Rather, you'd apply circuit evaluation only to the underlying comparison function which is usually quite simple. &lt;a href=&quot;http://www.cs.huji.ac.il/project/Fairplay/Fairplay/Fairplay.pdf&quot;&gt;Fairplay&lt;/a&gt; is an implementation of circuit evaluation. A colleague of mine who's worked with it tells me that it is surprisingly fast. While it is true that efficiency is a problem with circuit evaluation (and I do know of real-world instances where it was rejected for this reason), it is far from a showstopper.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The second reason I disagree with you is that if you think about some of the typical real-life scenarios in which you might conceivably want to carry out oblivious circuit evaluation — for example, when two companies are figuring out whether to merge — the computational costs involved are &lt;em&gt;trivial&lt;/em&gt; compared to the overall human effort and budget.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So why then does no one use generic secure function evaluation in practice? Great question. This brings me to my second difference between theory and practice: trust actually exists in practice! Not everything needs to be done in the paranoid model. The set of problems that people actually want to solve using crypto is much, much smaller than what cryptographers imagine.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I know someone who started a company trying to sell secure multiparty computation services to enterprise clients. Guess what — no one wanted it. The way they approach these problems is to sign a contract specifying what you can and cannot do with the data, and that you will destroy the data after you're done using it for the intended purpose. Most of the time, this works just fine.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My final point of difference between theory and practice is about PKI. Crypto papers frequently stick a sentence somewhere saying &quot;we assume a PKI.&quot; Unfortunately, digital certificates for end users (as opposed to websites or employees in a corporate context, where there is a natural hierarchy) never materialized. This &lt;a href=&quot;http://gaudior.net/alma/johnny.pdf&quot;&gt;classic paper&lt;/a&gt; describes the hilarity that ensues when you ask normal people to use PGP. I'm told that the software has improved a lot since then, but the underlying design and architectural issues and human limitations are not much different today. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I don't think cryptographers should be doing anything differently as a consequence of this lack of a real-world PKI, except to be aware of the fact that it limits the real-world applicability of cryptographic protocols. I threw it in because it's something I'm trying to fix.&lt;/p&gt;&#xA;" OwnerUserId="50" LastEditorUserId="50" LastEditDate="2010-08-26T06:46:03.420" LastActivityDate="2010-08-26T06:46:03.420" CommentCount="6" CommunityOwnedDate="2010-08-26T01:21:19.693" ContentLicense="CC BY-SA 2.5" />
  <row Id="602" PostTypeId="2" ParentId="589" CreationDate="2010-08-26T02:26:10.690" Score="6" Body="&lt;p&gt;In many geometric algorithms random sampling can be replaced by ε-nets and ε-approximations (of some appropriate range space with finite VC dimension) and these can be maintained efficiently by a streaming algorithm — see my paper &quot;Deterministic Sampling and Range Counting in Geometric Data Streams&quot; with Bagchi, Chaudhari, and Goodrich from SoCG 2004 and &lt;a href=&quot;http://doi.acm.org/10.1145/1240233.1240239&quot; rel=&quot;nofollow&quot;&gt;ACM Trans. Alg. 2007&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2010-08-26T02:26:10.690" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="606" PostTypeId="2" ParentId="589" CreationDate="2010-08-26T03:13:14.077" Score="6" Body="&lt;p&gt;Another tool are $\epsilon$-biased spaces, used e.g., in&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;J. Feldman, S. Muthukrishnan, A. Sidiropoulos, C. Stein, Z. Svitkina, &quot;On Distributing Symmetric Streaming Computations&quot;, SODA 2008.&lt;/em&gt;&lt;/p&gt;&#xA;" OwnerUserId="533" LastActivityDate="2010-08-26T03:13:14.077" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="607" PostTypeId="1" CreationDate="2010-08-26T03:46:07.360" Score="6" ViewCount="580" Body="&lt;p&gt;What does it mean for a distribution to be efficiently samplable?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This came up in the discussions about the distributions used in the recent attempted P!=NP proof.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The context was that a distribution modeled as a directed graphical model that can be factored such that each factor is sub-exponential in size or dependent on a polylog number of parents then it is efficiently samplable.  In contrast, if a factor is dependent on O(n) parents then the table size is exponential and no longer efficiently samplable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The barrier here to efficient sampling appears to be the exponential size of the table required to describe the factor that depends on O(n) parents.  Is this the key point or is there some other barrier? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I should clarify, that if one could replace the exponential sized table for the conditional distribution that depends on O(n) parents with a polynomial time function that returns the value of $P(x_n;x_1...x_{n-1})$ given the parents then it seems the problem becomes efficiently samplable.&lt;/p&gt;&#xA;" OwnerUserId="593" LastEditorUserId="593" LastEditDate="2010-08-26T18:50:26.977" LastActivityDate="2010-08-26T18:50:26.977" Title="Efficiently Samplable Distributions" Tags="&lt;sample-complexity&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="608" PostTypeId="1" CreationDate="2010-08-26T04:00:28.020" Score="116" ViewCount="8657" Body="&lt;p&gt;Theoretical computer science has provided some examples of &quot;the price of abstraction.&quot;  The two most prominent are for Gaussian elimination and sorting.  Namely:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;It is known that Gaussian elimination is optimal for, say, computing the determinant &lt;em&gt;if you restrict operations to rows and columns as a whole&lt;/em&gt; [1].  Obviously Strassen's algorithm does not obey that restriction, and it is asymptotically better than Gaussian elimination.&lt;/li&gt;&#xA;&lt;li&gt;In sorting, if you treat the elements of the list as black boxes that can only be compared and moved around, then we have the standard $n \log n$ information-theoretic lower bound.  Yet fusion trees beat this bound by, as far as I understand it, clever use of multiplication.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Are there other examples of the price of abstraction?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;To be a bit more formal, I'm looking for examples where a lower bound is known unconditionally in some weak model of computation, but is known to be violated in a stronger model.  Furthermore, &lt;em&gt;the weakness of the weak model should come in the form of an abstraction&lt;/em&gt;, which admittedly is a subjective notion.  For example, I do not consider the restriction to monotone circuits to be an abstraction.  Hopefully the two examples above make clear what I'm looking for.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1]  KLYUYEV, V.V., and N. I. KOKOVKIN-SHcHERBAK: On the minimization of the&#xA;number of arithmetic operations for the solution of linear algebraic systems of&#xA;equations. Translation by G. I. TEE: Technical Report CS 24, June t4, t965,&#xA;Computer Science Dept., Stanford University.&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2020-08-23T22:20:26.060" Title="Examples of the price of abstraction?" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;big-list&gt;&lt;lower-bounds&gt;" AnswerCount="18" CommentCount="5" FavoriteCount="63" CommunityOwnedDate="2010-08-26T04:00:28.020" ContentLicense="CC BY-SA 2.5" />
  <row Id="609" PostTypeId="1" AcceptedAnswerId="614" CreationDate="2010-08-26T04:05:17.103" Score="6" ViewCount="904" Body="&lt;p&gt;Input: a graph with n nodes,&#xA;Output: A clique of size $O(\log n)$,&#xA;Providing links to references would be great&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="873" LastEditDate="2010-09-13T02:09:50.507" LastActivityDate="2010-09-13T12:22:34.270" Title="What are the best known upper bounds and lower bounds for computing O(log n)-Clique?" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;graph-theory&gt;&lt;lower-bounds&gt;&lt;upper-bounds&gt;" AnswerCount="4" CommentCount="1" FavoriteCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="610" PostTypeId="2" ParentId="608" CreationDate="2010-08-26T04:23:22.973" Score="10" Body="&lt;p&gt;This is probably not exactly what you had in mind. But in a certain sense, the independence of P vs NP from oracles is such an example. What it really says is that if all you care about is simulation and enumeration, (i.e if that's your &quot;model&quot; of computation), then you cannot separate these classes or collapse them.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A more concrete algorithmic example comes from approximate range searching in the &quot;reverse&quot; direction. Specifically, most range searching problems are phrased as semigroup sums, and lower/upper bounds are expressed without regard to the structure of this semigroup (except for some light technical conditions). Recent work by &lt;a href=&quot;http://www.cs.umd.edu/~mount/Papers/stoc06-avd-integ.pdf&quot;&gt;Arya, Malamatos and Mount&lt;/a&gt; shows that if you look closely at the semigroup structure (the properties of idempotence and integrality), then you can prove different (and tighter) bounds for approximate range searching. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2010-08-26T04:23:22.973" CommentCount="1" CommunityOwnedDate="2010-08-26T04:23:22.973" ContentLicense="CC BY-SA 2.5" />
  <row Id="611" PostTypeId="2" ParentId="499" CreationDate="2010-08-26T04:24:27.570" Score="9" Body="&lt;p&gt;Binary obfuscation is widely used today in a variety of applications (and is in fact even used in the MathJax.js file used on this website to render CSTheory's TeX typesetting system). The goal of binary obfuscation is to preserve semantics and disfigure syntax - i.e. to take an input Turing Machine $M$ and create an equivalent Turing Machine $M'$ such that $M'$ rejects a string $w \iff M$ rejects $w$, such that $M'$ accepts a string $w \iff M$ accepts $w$ and such that the run time complexity of $M'$ is the same as $M$ on all inputs. Finally, there is the additional stipulation that $M'$ must be difficult to both understand and to modify. Industry sees such obfuscation as a good trade off involving a sacrifice of slight (constant time) overhead for the benefit of increased difficulty for adversaries interested in understanding, breaking or stealing IP from $M$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are many commercial companies that offer binary obfuscation solutions, and there are also several open source solutions. Exact methods for obfuscation, of course, are kept secret; the obfuscation paradigm prevalent in industry is heuristic, so knowing the algorithms used to obfuscate a binary in this context will generally guarantee some advantage in deobfuscation. Obfuscation in industry is known as &quot;security through obscurity.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are theoretical approaches to the problem of obfuscation that formalize the desires of industry but rely on a strictly stronger notion of security based on computational intractability (imagine replacing integer and string equivalence tests with one way function equivalence tests). In particular, the study of &lt;a href=&quot;http://scholar.google.com/scholar?q=composable%20point%20obfuscation&amp;amp;oe=utf-8&amp;amp;rls=org.mozilla%3aen-US%3aofficial&amp;amp;client=firefox-a&amp;amp;um=1&amp;amp;ie=UTF-8&amp;amp;sa=N&amp;amp;hl=en&amp;amp;tab=ws&quot;&gt;composable point obfuscation&lt;/a&gt; has been advanced to try to solve the obfuscation problem interesting to industry. Unfortunately the most wide spread theoretical model for obfuscation based on a model inspired by tamper-proof hardware was given an impossibility result in 2001 by Barak et al in the paper &quot;&lt;a href=&quot;http://scholar.google.com/scholar?hl=en&amp;amp;lr=&amp;amp;q=related%3aYZ1g-73yZwEJ%3ascholar.google.com/&amp;amp;um=1&amp;amp;ie=UTF-8&amp;amp;ei=mOh1TIWHNo2-sAOXprChDQ&amp;amp;sa=X&amp;amp;oi=science_links&amp;amp;ct=sl-related&amp;amp;resnum=1&amp;amp;ved=0CBcQzwIwAA&quot;&gt;On the (im)possibility of obfuscating programs&lt;/a&gt;&quot;. (Several other models have since also been given impossibility results).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Right now the theory of program obfuscation is in a state of flux, requiring a new (likely less restrictive) model. In fact, the main problem with the theory is its lack of an agreed upon model (and therefore formal garuntees). The recent advent of &lt;a href=&quot;http://scholar.google.com/scholar?hl=en&amp;amp;q=fully+homomorphic+encryption&amp;amp;btnG=Search&amp;amp;as_sdt=100000000000000&quot;&gt;Fully Homomorphic Encryption&lt;/a&gt; may provide such a basis (this is purely speculation on the part of this author).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To clarify, obfuscation matches your third example: &quot;Examples of something in widespread practical use has little theory behind it.&quot; Obfuscation is used widely today by both the industry and by those with more nefarious purposes. Obfuscation in industry is not currently based on any rigorous theory despite attempts.&lt;/p&gt;&#xA;" OwnerUserId="3624" LastEditorUserId="3624" LastEditDate="2010-08-26T07:06:01.677" LastActivityDate="2010-08-26T07:06:01.677" CommentCount="0" CommunityOwnedDate="2010-08-26T04:24:27.570" ContentLicense="CC BY-SA 2.5" />
  <row Id="612" PostTypeId="2" ParentId="608" CreationDate="2010-08-26T04:44:56.560" Score="18" Body="&lt;p&gt;There are many such examples in cryptography, especially zero-knowledge proofs. See e.g., the thesis:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Boaz Barak, Non-Black-Box Techniques in Cryptography, 2003.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Incidentally, the thesis title provides a zero-knowledge proof of the validity of this comment :)&lt;/p&gt;&#xA;" OwnerUserId="533" LastEditorUserId="989" LastEditDate="2010-10-18T23:11:00.840" LastActivityDate="2010-10-18T23:11:00.840" CommentCount="2" CommunityOwnedDate="2010-08-26T04:44:56.560" ContentLicense="CC BY-SA 2.5" />
  <row Id="613" PostTypeId="2" ParentId="607" CreationDate="2010-08-26T04:52:40.033" Score="2" Body="&lt;p&gt;Could you please provide a reference to the context, where the term &quot;efficiently samplable distribution&quot; is used? Because there is a well-known concept called &quot;polynomial-time samplable distribution&quot;, so because in TCS we usually mean &quot;efficient&quot; = &quot;polynomial-time&quot;, I guess these two can coincide.&lt;/p&gt;&#xA;" OwnerUserId="254" LastActivityDate="2010-08-26T04:52:40.033" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="614" PostTypeId="2" ParentId="609" CreationDate="2010-08-26T06:02:57.387" Score="15" Body="&lt;p&gt;The best known upper bound is essentially $n^{O(\log n)}$. You can improve a little on the constant factor in the big-O using fast matrix multiplication, but that's about it. There are a lot of algorithmic references on the $k$-clique problem which describe this reduction, it originates from papers of Itai and Rodeh and Nesetril and Poljak. (Apologies to Czech readers, I am ignorant of the proper diacritical marks.) See &lt;a href=&quot;http://en.wikipedia.org/wiki/Clique_problem&quot;&gt;http://en.wikipedia.org/wiki/Clique_problem&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you could solve $\log n$-clique in $n^{\varepsilon \log n}$ for every $\varepsilon &gt; 0$, then you could also solve 3SAT in subexponential time. This can be seen as a &quot;lower bound&quot; to further progress. One way to prove this is to first show that if $\log n$-clique in $n^{\varepsilon \log n}$ for every $\varepsilon &gt; 0$, then MaxCut on $n$ nodes is in $2^{\varepsilon n}$ time for every $\varepsilon &gt; 0$. This follows directly from a theorem in my ICALP'04 paper that relates the time complexity of MaxCut to the time complexity of $k$-clique. From there, one can appeal to standard reductions to reduce 3SAT to MaxCut, showing that subexponential MaxCut implies subexponential 3SAT.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In terms of unconditional lower bounds, nothing nontrivial is known, to my knowledge. We don't even know how to show that $O(\log n)$-clique isn't solvable with an algorithm that runs in linear time and uses only logarithmic workspace.&lt;/p&gt;&#xA;" OwnerUserId="225" LastActivityDate="2010-08-26T06:02:57.387" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="615" PostTypeId="1" AcceptedAnswerId="617" CreationDate="2010-08-26T06:54:28.633" Score="5" ViewCount="1056" Body="&lt;p&gt;Is there a natural &lt;a href=&quot;http://en.wikipedia.org/wiki/Polynomial-time_reduction&quot; rel=&quot;nofollow&quot;&gt;Karp reduction&lt;/a&gt; from Independent Set to SAT ? That is, a reduction that does not rely on the Turing machine (as the case in proof of Cook's theorem) but the combinatorial structure.&lt;/p&gt;&#xA;" OwnerUserId="553" LastEditorUserId="80" LastEditDate="2010-08-26T21:58:07.930" LastActivityDate="2020-09-15T20:39:34.547" Title="Is there any natural Karp reduction from Independent Set problem to SAT?" Tags="&lt;cc.complexity-theory&gt;&lt;reductions&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="616" PostTypeId="2" ParentId="189" CreationDate="2010-08-26T07:34:05.457" Score="36" Body="&lt;p&gt;The &lt;a href=&quot;http://en.wikipedia.org/wiki/Stable_marriage_problem&quot;&gt;Gale-Shapley stable marriage algorithm&lt;/a&gt;. This algorithm is greedy and very simple, it isn't obvious at first why it would work, but then the proof of correctness is again easy to understand.&lt;/p&gt;&#xA;" OwnerUserId="563" LastActivityDate="2010-08-26T07:34:05.457" CommentCount="1" CommunityOwnedDate="2010-08-26T07:34:05.457" ContentLicense="CC BY-SA 2.5" />
  <row Id="617" PostTypeId="2" ParentId="615" CreationDate="2010-08-26T07:43:17.243" Score="12" Body="&lt;p&gt;Yes, just think how you would use a SAT solver to solve the independent set problem.&lt;/p&gt;&#xA;&lt;p&gt;If you have one variable per node, it should be clear how to write constraints that guarantee that variables that are true indeed form an independent set. I think the only non-trivial part is counting: how to make sure that your independent set is sufficiently large. For that you can use BDD-based techniques; see e.g. Section 5.3 of &lt;a href=&quot;https://doi.org/10.3233/SAT190014&quot; rel=&quot;nofollow noreferrer&quot;&gt;this paper&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="74" LastEditorUserId="74" LastEditDate="2020-09-15T20:39:34.547" LastActivityDate="2020-09-15T20:39:34.547" CommentCount="3" ContentLicense="CC BY-SA 4.0" />
  <row Id="618" PostTypeId="2" ParentId="504" CreationDate="2010-08-26T07:47:22.907" Score="7" Body="&lt;p&gt;I found an answer in Theorem 3 in &lt;a href=&quot;http://www.cs.umbc.edu/~chang/papers/revisionist/rev-book.pdf&quot; rel=&quot;noreferrer&quot;&gt;Hartmanis, Chang, Chari, Ranjan, Rohatgi&lt;/a&gt;. They show that relative to EXPSPACE-complete languages, PCP(log) = PCP(poly). Since PCP(log) = NP ≠ NEXP = PCP(poly), we are done.&lt;/p&gt;&#xA;" OwnerUserId="492" LastEditorUserId="873" LastEditDate="2011-05-19T06:49:53.407" LastActivityDate="2011-05-19T06:49:53.407" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="619" PostTypeId="2" ParentId="608" CreationDate="2010-08-26T08:26:53.100" Score="15" Body="&lt;p&gt;Consider synchronous deterministic distributed algorithms for reducing the number of colours in a cycle graph from $k$ to $3$. That is, you are given a proper $k$-colouring of the cycle and you'd like to output a proper $3$-colouring of the cycle; each node of the cycle is a processor.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you assume a comparison-based model (you treat the $k$ colours as black boxes that can be only transmitted from one node to another and compared to each other), you get a trivial lower bound of $\Omega(k)$ for the number of communication rounds.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, this abstraction is arguably blatantly wrong: if you can transmit something in a communication network, you will have some way to encode &quot;something&quot; as a string of bits. And now things start to look much better.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If your colours aren't black boxes but integers $1, 2, ..., k$, then you can do the colour reduction by using Cole–Vishkin techniques in $O(\log^* k)$ communication rounds. Even if your colours are &lt;em&gt;huge&lt;/em&gt; bit strings, like integers from $1, 2, ..., 10^{10^k}$, you'll get the same bound $O(\log^* k)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Bottom line: the price of the &quot;wrong&quot; abstraction: $O(\log^* k)$ vs. $\Omega(k)$ .&lt;/p&gt;&#xA;" OwnerUserId="74" LastActivityDate="2010-08-26T08:26:53.100" CommentCount="0" CommunityOwnedDate="2010-08-26T08:26:53.100" ContentLicense="CC BY-SA 2.5" />
  <row Id="620" PostTypeId="2" ParentId="489" CreationDate="2010-08-26T08:33:08.023" Score="8" Body="&lt;p&gt;Also for graphs of bounded clique-width (which is more general than treewidth): &lt;a href=&quot;http://dx.doi.org/10.1016/S0166-218X(02)00198-1&quot;&gt;Kobler and Rotics&lt;/a&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A few more remarks: the running time of the above is pretty bad (because it's a very general graph class), and it has been shown by Fomin et al. (SODA 2009) that chromatic number is W[1]-hard parameterized by cliquewidth (i.e., some $n^{f(k)}$ factor in the running time seems unavoidable).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, clique-width is hard to compute, but there is an approximation algorithm by Oum and Seymour, &quot;pproximating clique-width and branch-width&quot; (with exponential approximation).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Putting it together, we get a polynomial running time, where the degree of the polynomial is double-exponential in $k$.&lt;/p&gt;&#xA;" OwnerUserId="307" LastActivityDate="2010-08-26T08:33:08.023" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="621" PostTypeId="2" ParentId="608" CreationDate="2010-08-26T08:43:22.763" Score="39" Body="&lt;p&gt;Another beautiful example of the price of abstraction: &lt;a href=&quot;http://en.wikipedia.org/wiki/Network_coding&quot;&gt;network coding&lt;/a&gt;. It's known that in multicast settings, the max-flow-min-cut relation is not one of equality (the primal and dual don't match). However, the traditional models assume flow that's merely passed on and not &quot;processed&quot; in any way. With network coding, you can beat this limit by cleverly combining flows. This example was a great motivator for the study of network coding in the first place. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2010-08-26T08:43:22.763" CommentCount="0" CommunityOwnedDate="2010-08-26T08:43:22.763" ContentLicense="CC BY-SA 2.5" />
  <row Id="622" PostTypeId="2" ParentId="608" CreationDate="2010-08-26T09:04:27.043" Score="38" Body="&lt;p&gt;Purely functional programming is a popular abstraction that offers, at least according to its proponents, a great increase in the expressive power of code, among other benefits. However, since it is a restrictive model of the machine &amp;mdash; in particular, not allowing mutable memory &amp;mdash; it raises the question of asymptotic slowdown compared to the usual (RAM) model. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;There's a great thread on this question &lt;a href=&quot;https://stackoverflow.com/questions/1990464/efficiency-of-purely-functional-programming&quot;&gt;here&lt;/a&gt;. The main takeaways seem to be:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;You can simulate mutable memory with a balanced binary tree, so the worst case slowdown is O(log n).&lt;/li&gt;&#xA;&lt;li&gt;With &lt;em&gt;eager evaluation&lt;/em&gt;, there are problems for which this is the best you can do.&lt;/li&gt;&#xA;&lt;li&gt;With &lt;em&gt;lazy evaluation&lt;/em&gt;, it is not known whether or not there is a gap. However, there are many natural problems for which no known purely functional algorithms matches the optimal RAM complexity.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;It seems to me that this is a surprisingly basic question to be open.&lt;/p&gt;&#xA;" OwnerUserId="50" LastEditorUserId="-1" LastEditDate="2017-05-23T12:40:09.333" LastActivityDate="2010-09-10T17:47:21.247" CommentCount="6" CommunityOwnedDate="2010-08-26T09:04:27.043" ContentLicense="CC BY-SA 2.5" />
  <row Id="624" PostTypeId="1" AcceptedAnswerId="660" CreationDate="2010-08-26T11:41:52.897" Score="21" ViewCount="1904" Body="&lt;p&gt;This &lt;a href=&quot;http://www-staff.it.uts.edu.au/~cbj/Publications/factor_talk.pdf&quot;&gt;paper&lt;/a&gt; suggests that there are combinators (representing symbolic computations) that can not be represented by the Lambda calculus (if I understand things correctly): &lt;/p&gt;&#xA;" OwnerUserId="608" LastEditorUserId="1546" LastEditDate="2011-11-20T10:11:17.887" LastActivityDate="2011-11-20T10:11:17.887" Title="Why can Lambda Calculus not represent some combinators?" Tags="&lt;lo.logic&gt;&lt;lambda-calculus&gt;" AnswerCount="3" CommentCount="0" FavoriteCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="625" PostTypeId="1" AcceptedAnswerId="640" CreationDate="2010-08-26T11:45:17.843" Score="53" ViewCount="23549" Body="&lt;p&gt;Is there a relationship between the Turing Machine and the Lambda calculus - or did they just happen to arise about the same time?&lt;/p&gt;&#xA;" OwnerUserId="608" LastEditorUserId="873" LastEditDate="2010-09-09T16:02:10.980" LastActivityDate="2011-11-24T21:28:29.747" Title="Relationship between Turing Machine and Lambda calculus?" Tags="&lt;computability&gt;&lt;lambda-calculus&gt;&lt;turing-machines&gt;" AnswerCount="5" CommentCount="3" FavoriteCount="21" ContentLicense="CC BY-SA 2.5" />
  <row Id="626" PostTypeId="2" ParentId="608" CreationDate="2010-08-26T11:51:58.473" Score="28" Body="&lt;p&gt;The &quot;price of abstraction&quot; can also be found when solving the discrete logarithm problem in cryptography. &lt;a href=&quot;http://www.shoup.net/papers/dlbounds1.pdf&quot;&gt;Shoup (1997)&lt;/a&gt; has shown that any generic approach (i.e., algorithms using only group operations) has to use at least $\Omega(\sqrt{m})$ group operations, where $m$ is the size of the group. This matches the complexity of the generic &lt;a href=&quot;http://en.wikipedia.org/wiki/Birthday_attack&quot;&gt;birthday attack&lt;/a&gt;. However, algorithms like the &lt;a href=&quot;http://en.wikipedia.org/wiki/Index_calculus_algorithm&quot;&gt;Index calculus&lt;/a&gt; or the &lt;a href=&quot;http://en.wikipedia.org/wiki/Pohlig-Hellman_algorithm&quot;&gt;Pohlig-Hellman algorithm&lt;/a&gt; rely on the number theoretic structure of $\mathbb{Z}_n^*$ to obtain slightly faster algorithms (at least in groups of smooth order).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This observation is one reason for the popularity of elliptic curve cryptography (as opposed to cryptography in groups such as $\mathbb{Z}_n^*$) since, essentially, we only know generic approaches to solve the discrete logarithm problem in groups based on elliptic curves.&lt;/p&gt;&#xA;" OwnerUserId="228" LastActivityDate="2010-08-26T11:51:58.473" CommentCount="0" CommunityOwnedDate="2010-08-26T11:51:58.473" ContentLicense="CC BY-SA 2.5" />
  <row Id="627" PostTypeId="1" AcceptedAnswerId="671" CreationDate="2010-08-26T11:56:08.600" Score="11" ViewCount="991" Body="&lt;p&gt;Barry Jay in his &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/3540891846&quot;&gt;book&lt;/a&gt; makes some bold claims - basically by saying that, at the core of a program, everything is either atomic or composed. Then things can be easily iterated, filtered, updated, just by &#xA;navigating this composition relationship. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is this a new &lt;a href=&quot;http://bondi.it.uts.edu.au/&quot;&gt;frontier&lt;/a&gt; in Computer Science for computer languages - or are we just going back to LISP?&lt;/p&gt;&#xA;" OwnerUserId="608" LastActivityDate="2010-08-27T08:03:42.707" Title="Does Pattern Calculus represent a step forward in languages or are we just going back to LISP?" Tags="&lt;fl.formal-languages&gt;" AnswerCount="2" CommentCount="3" FavoriteCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="628" PostTypeId="2" ParentId="34" CreationDate="2010-08-26T11:56:32.477" Score="2" Body="&lt;p&gt;The approach doesn't work: decomposing a shuffled square by taking out two matching letters does not result into shuffled squares...  See Radu's comments below.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;A proposal using &lt;em&gt;Range Concatenation Grammars&lt;/em&gt; (RCGs, see &lt;a href=&quot;http://hal.inria.fr/inria-00073347/en/&quot; rel=&quot;nofollow&quot;&gt;http://hal.inria.fr/inria-00073347/en/&lt;/a&gt;):  I&lt;strike&gt;'m&lt;/strike&gt; was under the impression that the following simple RCG recognizes your &quot;shuffled squares&quot; language over a finite alphabet $\Sigma$, EDITED after Radu's first comment:&#xA;$${\small&#xA;\begin{aligned}&#xA;                S(XY)&amp;amp;\Rightarrow A(X,Y)&amp;amp;(1)\newline&#xA;  A(aX_1, aX_2Y_1Y_2)&amp;amp;\Rightarrow A(X_1,Y_1)\,A(X_2,Y_2)&amp;amp;(2)\newline&#xA;    A(\varepsilon,\varepsilon)&amp;amp;\Rightarrow\varepsilon&amp;amp;(3)&#xA;\end{aligned}}&#xA;$$&#xA;where $a$ ranges over $\Sigma$ and $\varepsilon$ denotes the empty string.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The grammar checks with the second predicate that it matches a letter from the first word occurrence with the same letter in the second word occurrence.  It then guesses how to match the remainder of the remaining first word letters, i.e. $X_1$ with a substring of the remainder, namely $Y_1$.  Everything before $Y_1$ therefore belongs to the first word instance; we call it $X_2$ and we guess that it matches some suffix starting at $Y_2$.  Note that $Y_1$ and $Y_2$ might contain letters from both instances of the word, but $X_1$ and $X_2$ only contain letters from the first instance.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, here is a possible derivation of your string $abcabdcd$:&#xA;$${\small\begin{aligned}&#xA;  S(abcabdcd) &amp;amp;\Rightarrow A(abc, abdcd) &amp;amp;(\text{by } 1, X=abc, Y=abdcd)\newline&#xA;              &amp;amp;\Rightarrow A(bc,bdcd)\,A(\varepsilon,\varepsilon)&amp;amp;(\text{by } 2, X_1=bc, Y_1=bdcd, X_2=Y_2=\varepsilon)\newline&#xA;              &amp;amp;\Rightarrow A(c,c)\,A(d,d)\,A(\varepsilon,\varepsilon)&amp;amp;(\text{by } 2)\newline&#xA;              &amp;amp;\Rightarrow A(\varepsilon,\varepsilon)\,A(\varepsilon,\varepsilon)\,A(d,d)\,A(\varepsilon,\varepsilon)&amp;amp;(\text{by } 2)\newline&#xA;              &amp;amp;\Rightarrow A(\varepsilon,\varepsilon)\,A(d,d)\,A(\varepsilon,\varepsilon)&amp;amp;(\text{by } 3)\newline&#xA;              &amp;amp;\Rightarrow A(d,d)\,A(\varepsilon,\varepsilon)&amp;amp;(\text{by } 3)\newline&#xA;              &amp;amp;\Rightarrow A(\varepsilon,\varepsilon)\,A(\varepsilon,\varepsilon)\,A(\varepsilon,\varepsilon)&amp;amp;(\text{by } 2)\newline&#xA;              &amp;amp;\Rightarrow^3\varepsilon&amp;amp;\text{i.e. success}&#xA;\end{aligned}}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For $0011$,&#xA;$${\small\begin{aligned}&#xA;S(0011)&amp;amp;\Rightarrow A(0,011)\newline&#xA;       &amp;amp;\Rightarrow A(\varepsilon,\varepsilon)\,A(1,1)\newline&#xA;       &amp;amp;\Rightarrow A(1,1)\newline&#xA;       &amp;amp;\Rightarrow^\ast \varepsilon&#xA;\end{aligned}}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, Boullier shows in the previously linked paper that there is a dynamic programming polynomial time algorithm for RCGs, which answers your question if the above grammar &lt;strike&gt;is&lt;/strike&gt; were correct.  The idea is that, although I presented above the instanciations of variables $X$, $Y$, etc. as strings, they really are intervals inside the input string, which can be properly tabulated.&lt;/p&gt;&#xA;" OwnerUserId="609" LastEditorUserId="609" LastEditDate="2010-08-27T08:00:31.683" LastActivityDate="2010-08-27T08:00:31.683" CommentCount="6" ContentLicense="CC BY-SA 2.5" />
  <row Id="629" PostTypeId="2" ParentId="189" CreationDate="2010-08-26T12:13:57.177" Score="16" Body="&lt;p&gt;Computing the closest pair of points in the plane in linear time (especially because there is Omega(n log n) lower bound in the comparison model). The algorithm is originally due to Rabin, but there are considerably simpler and more elegant versions. See for example: &lt;a href=&quot;http://valis.cs.uiuc.edu/~sariel/teach/notes/aprx/lec/01_min_disk.pdf&quot;&gt;http://valis.cs.uiuc.edu/~sariel/teach/notes/aprx/lec/01_min_disk.pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="9594" LastActivityDate="2010-08-26T12:13:57.177" CommentCount="1" CommunityOwnedDate="2010-08-26T12:13:57.177" ContentLicense="CC BY-SA 2.5" />
  <row Id="630" PostTypeId="2" ParentId="625" CreationDate="2010-08-26T12:14:07.297" Score="6" Body="&lt;p&gt;Turing machines and Lambda Calculus are two models that capture the notion of algorithm (mechanical computation). Lambda calculus was invented by Church to perform computations with functions. It is the basis of functional programming languages. Basically, every problem that is computable (decidable) by Turing machines is also computable using Lambda calculus. So, they are two equivalent models of computation (up to polynomial factors) and both try to capture the power of any mechanical computation.&lt;/p&gt;&#xA;" OwnerUserId="495" LastActivityDate="2010-08-26T12:14:07.297" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="631" PostTypeId="2" ParentId="399" CreationDate="2010-08-26T12:35:28.083" Score="11" Body="&lt;p&gt;There is a generalization of compressed sensing to the non-commutative setting called &lt;em&gt;matrix completion&lt;/em&gt;.  In the exact setting, you are given an unknown $m \times n$ matrix $M$ which, instead of sparsity, is known to have low rank $r \ll m,n$.  Your goal is to reconstruct the $r$ singular values and singular vectors of this matrix by sampling only $\tilde{O}(rm+rn)$ coefficients of the matrix, rather than $O(mn)$ as required in the worst case.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If the singular vectors are sufficiently &quot;incoherent&quot; (roughly, not too well aligned) with the basis in which you are sampling matrix elements, then you can succeed with high probability by solving a convex program, similar to standard compressed sensing.  In this case, you have to minimize the Schatten 1-norm, i.e. the sum of the singular values.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This problem also has lots of applications, for example, to giving book recommendations to a customer of an online book store from knowing only the few ratings that other customers have generated.  In this context, the rows and columns of $M$ are labeled by the books and the customers, respectively.  The few visible matrix elements are the customer ratings of the books they previously bought.  The matrix $M$ is expected to be low rank because we believe that typically only a few primary factors influence our preferences.  By completing $M$, the vendor can make accurate predictions about which books you are likely to want.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A good start is this paper by Candés and Recht, &lt;a href=&quot;http://arxiv.org/abs/0805.4471&quot;&gt;Exact Matrix Completion via Convex Optimization&lt;/a&gt;.  There is also a really cool generalization where you are allowed to sample in an arbitrary basis for the matrix space.  This paper by David Gross, &lt;a href=&quot;http://arxiv.org/abs/0910.1879&quot;&gt;Recovering low-rank matrices from few coefficients in any basis&lt;/a&gt; uses this generalization to substantially simplify the proofs of matrix completion, and for some bases you can remove the incoherence assumption as well.  That paper also contains the best bounds to date on the sampling complexity.  It may sound strange to sample in an arbitrary basis, but it is actually quite natural in the setting of quantum mechanics, see for example this paper, &lt;a href=&quot;http://arxiv.org/abs/0909.3304&quot;&gt;Quantum state tomography via compressed sensing&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="472" LastEditorUserId="472" LastEditDate="2010-08-26T20:49:07.020" LastActivityDate="2010-08-26T20:49:07.020" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="632" PostTypeId="1" AcceptedAnswerId="641" CreationDate="2010-08-26T12:39:18.937" Score="39" ViewCount="23108" Body="&lt;p&gt;I recently heard this -&lt;br&gt;&#xA;&quot;A non-deterministic machine is not the same as a probabilistic machine. In crude terms, a non-deterministic machine is a probabilistic machine in which probabilities for transitions are not known&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I feel as if I get the point but I really don't. Could someone explain this to me (in the context of machines or in general)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit 1:&lt;br&gt;&#xA;Just to clarify, the quote was in context of finite automaton, but the question is meaningful for Turing machines too as others have answered. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, I hear people say - &quot;... then I choose object x from the set non-deterministically&quot;. I used to think they mean - &quot;randomly&quot;. Hence the confusion.&lt;/p&gt;&#xA;" OwnerDisplayName="user200" LastEditorDisplayName="user200" LastEditDate="2010-08-26T13:19:11.023" LastActivityDate="2015-10-06T09:00:14.780" Title="What is the difference between non-determinism and randomness?" Tags="&lt;automata-theory&gt;&lt;randomness&gt;&lt;computability&gt;" AnswerCount="9" CommentCount="3" FavoriteCount="23" ContentLicense="CC BY-SA 2.5" />
  <row Id="633" PostTypeId="1" AcceptedAnswerId="643" CreationDate="2010-08-26T12:41:36.277" Score="11" ViewCount="485" Body="&lt;p&gt;The Johnson-Lindenstrauss lemma says roughly that for any collection $S$ of $n$ points in $\mathbb{R}^d$, there exists a map $f:\mathbb{R}^d \rightarrow \mathbb{R}^k$ where $k = O(\log n/\epsilon^2)$ such that for all $x, y \in S$:&#xA;$$(1-\epsilon)||f(x)-f(y)||_2 \leq ||x-y||_2 \leq (1+\epsilon)||f(x)-f(y)||_2$$&#xA;It is known that similar statements are not possible for the $\ell_1$ metric, but is it known if there is any way of getting around such lower bounds by offering weaker guarantees? For example, can there be a version of the above lemma for the $\ell_1$ metric that only promises to preserve the distances of most points, but might leave some arbitrarily distorted? One that makes no multiplicative guarantee for points that are &quot;too close&quot;?&lt;/p&gt;&#xA;" OwnerUserId="25" LastEditorUserId="80" LastEditDate="2011-01-04T20:53:32.307" LastActivityDate="2011-05-02T17:12:06.053" Title="Dimensionality reduction with slack?" Tags="&lt;ds.algorithms&gt;&lt;approximation-algorithms&gt;&lt;cg.comp-geom&gt;&lt;metrics&gt;&lt;embeddings&gt;" AnswerCount="4" CommentCount="0" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="634" PostTypeId="2" ParentId="632" CreationDate="2010-08-26T12:46:08.883" Score="3" Body="&lt;p&gt;To keep it simple: a non-deterministic machine can optimally choose the outcome of each coin flip (if you like the analogy with a probabilistic machine). You might also imagine that it executes the computation for each outcome of the coin flip in parallel.&lt;/p&gt;&#xA;" OwnerUserId="72" LastActivityDate="2010-08-26T12:46:08.883" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="635" PostTypeId="2" ParentId="632" CreationDate="2010-08-26T12:54:55.827" Score="19" Body="&lt;p&gt;In the context of Turing Machines, &quot;non-deterministic&quot; really means &quot;parallel&quot;. A randomized algorithm can randomly explore the branches of the computation tree of a non-deterministic Turing machine, but a non-deterministic Turing machine can explore them -all- at the same time, which is what gives it its power.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In other contexts (I can't tell from your quote if you are talking about Turing Machines), a randomized algorithm might intentionally be using randomness, whereas an algorithm that you wanted to be deterministic might end up exhibiting non-determinism because of a bug...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In response to your edit, when people say &quot;choose an element from a set non-deterministically&quot;, its possible they might just mean &quot;randomly&quot;. However, it is also possible that they mean &quot;magically choose the -right- element from the set&quot;. A common way to view non-deterministic turing machines is that they first magically &quot;guess&quot; a solution, and then check its correctness. Of course, you can view this magic guess as just the result of checking all possibilities in parallel.&lt;/p&gt;&#xA;" OwnerUserId="25" LastEditorUserId="25" LastEditDate="2010-08-26T13:42:26.683" LastActivityDate="2010-08-26T13:42:26.683" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="636" PostTypeId="2" ParentId="632" CreationDate="2010-08-26T13:03:07.063" Score="5" Body="&lt;p&gt;&lt;a href=&quot;http://www.itl.nist.gov/div897/sqg/dads/HTML/nondetermTuringMach.html&quot;&gt;Definition of Non-Deterministic Turing Machine&lt;/a&gt;: A Turing machine which has more than one next state  for some combinations of contents of the current cell and current state. An input is accepted if any move sequence leads to acceptance.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.cs.wmich.edu/~elise/courses/cs6800/ProbTM.ppt&quot;&gt;Definition of Probabilitistic Turing Machine&lt;/a&gt;:&#xA;&lt;em&gt;A nondeterministic Turing Machine&lt;/em&gt; (TM) which randomly chooses between available transitions at each point according to some probability distribution.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Probabilistic Turing Machine is a Non-Deterministic Turing Machine that can make mistakes.&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.cs.wmich.edu/~elise/courses/cs6800/ProbTM.ppt&quot;&gt;&lt;strong&gt;PPT I found helpful.&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="612" LastActivityDate="2010-08-26T13:03:07.063" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="637" PostTypeId="2" ParentId="625" CreationDate="2010-08-26T13:06:59.980" Score="7" Body="&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Entscheidungsproblem&quot;&gt;Entscheidungsproblem&lt;/a&gt; is one of the famous 23 problems proposed by mathematician David Hilbert.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;In 1936 and 1937 Alonzo Church and&#xA;  Alan Turing respectively, published&#xA;  independent papers showing that it is&#xA;  impossible to decide algorithmically&#xA;  whether statements in arithmetic are&#xA;  true or false, and thus a general&#xA;  solution to the Entscheidungsproblem&#xA;  is impossible.&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;This was done by Alonzo Church in 1936&#xA;  with the concept of &quot;effective&#xA;  calculability&quot; based on his λ calculus&#xA;  and by Alan Turing in the same year&#xA;  with his concept of Turing machines.&#xA;  It was later recognized that these are&#xA;  equivalent models of computation. - Wikipedia&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;So &lt;strong&gt;lambda calculus and Turing machines&lt;/strong&gt; not just closely related but they are &lt;strong&gt;equivalent models of computation&lt;/strong&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;You may also like tor read&#xA;&lt;em&gt;The Annotated Turing: A Guided Tour Through Alan Turing's Historic Paper on Computability and the Turing Machine by Charles Petzold&lt;/em&gt;. This book captures ome interesting information about the topic.&lt;/p&gt;&#xA;" OwnerUserId="612" LastActivityDate="2010-08-26T13:06:59.980" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="638" PostTypeId="2" ParentId="624" CreationDate="2010-08-26T13:18:58.107" Score="5" Body="&lt;p&gt;Barry Jay's SF calculus is able to look into the structure of terms it is applied to, which is non-functional.  Lambda calculus and traditional combinatory logic are purely functional, and so cannot do this.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are many extensions of the lambda-calculus that do things that violate purity, most of which require fixing the rewrite strategy to some degree, such as adding state, controls (e.g, via continuations), or logic variables.&lt;/p&gt;&#xA;" OwnerUserId="270" LastActivityDate="2010-08-26T13:18:58.107" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="639" PostTypeId="2" ParentId="632" CreationDate="2010-08-26T13:24:25.493" Score="5" Body="&lt;p&gt;I prefer the following definition:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;There is no such thing as a probabilistic Turing machine!&lt;/em&gt; There are only deterministic machines (in every step a single possible follow-up state) and non-deterministic machines (in every step a constant number of possible follow-up states).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Non-determinism works as follows: Consider a non-deterministic machine which halts on each input (possible if problem is decidable), where each possible computation uses the same number of steps, and where each step has exactly 2 possible follow-up states (both not really a restriction). As in the definition of NP, a nondeterministic machine accepts an input if there exists at least one possible accepting computation, and it rejects the input if all computations reject.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Randomness comes into play as follows: You can choose uniformly at random a single path of computation from such a non-deterministic machine as stated above. You accept if and only if this randomly chosen path of computation accepts. This randomized approach &quot;solves&quot; your problem if, with overwhelming probability, this answer is correct.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So the difference between non-determinism and randomness is whether you are looking for the mere &lt;strong&gt;existence&lt;/strong&gt; of a correct Yes-answer (and reliable No-answers), or whether you are interested in solving your problem &lt;strong&gt;&quot;most of the time&quot;&lt;/strong&gt;.&lt;/p&gt;&#xA;" OwnerUserId="228" LastEditorUserId="228" LastEditDate="2010-08-26T13:32:36.227" LastActivityDate="2010-08-26T13:32:36.227" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="640" PostTypeId="2" ParentId="625" CreationDate="2010-08-26T13:24:59.047" Score="35" Body="&lt;p&gt;The lambda calculus is older than Turing's machine model, apparently dating from the period 1928-1929 (Seldin 2006), and was invented to encapsulate the notion of a schematic function that Church needed for a foundational logic he devised.  It was not invented to capture the general notion of computable function, and indeed a weaker typed version would have served his purposes better.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It seems to be incidental to the purpose of that the calculus Church invented turned out to be Turing complete, although later Church used the lambda calculus as his foundation for what he called the &lt;em&gt;effectively computable&lt;/em&gt; functions (1936), which Turing appealed to in his paper.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Church's simple theory of types (1940) provides a more moderate, typed theory of functions that suffices to express the syntax of higher-order logic but does not express all recursive functions.  This theory can be seen as being more in tune with Church's original motivation.&lt;/p&gt;&#xA;&#xA;&lt;h3&gt;References&lt;/h3&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Church (1936).  An unsolvable problem in elementary number theory.  &lt;em&gt;American Journal of Mathematics&lt;/em&gt; 58:345—363. &lt;/li&gt;&#xA;&lt;li&gt;Church (1940).  &lt;a href=&quot;http://www.classes.cs.uchicago.edu/archive/2007/spring/32001-1/papers/church-1940.pdf&quot;&gt;A formulation of the simple theory of types&lt;/a&gt;.  &lt;em&gt;Journal of Symbolic Logic&lt;/em&gt; 5(2):56—68. &lt;/li&gt;&#xA;&lt;li&gt;Seldin (2006). &lt;a href=&quot;http://people.uleth.ca/~jonathan.seldin/CCL.pdf&quot;&gt;The logic of Curry and Church&lt;/a&gt;.  In &lt;em&gt;Handbook of the History of Logic, vol.5: Logic from Russell to Church&lt;/em&gt;, p. 819&amp;mdash;874.  North-Holland: Amsterdam.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt; This answer is substantially revised due to objections by Kaveh and Sasho.  I recommend the Wikipedia timeline that Kaveh suggested, &lt;a href=&quot;http://en.wikipedia.org/wiki/History_of_the_Church%E2%80%93Turing_thesis&quot;&gt;History of the Church–Turing thesis&lt;/a&gt;, which has some choice quotes from seminal articles.&lt;/p&gt;&#xA;" OwnerUserId="270" LastEditorUserId="270" LastEditDate="2011-11-24T21:28:29.747" LastActivityDate="2011-11-24T21:28:29.747" CommentCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="641" PostTypeId="2" ParentId="632" CreationDate="2010-08-26T14:20:37.140" Score="29" Body="&lt;p&gt;It's important to understand that computer scientists use the term &quot;nondeterministic&quot; differently from how it's typically used in other sciences.  A nondeterministic TM is actually deterministic in the physics sense--that is to say, an NTM always produces the same answer on a given input: it either always accepts, or always rejects.  A probabilistic TM will accept or reject an input with a certain probability, so on one run it might accept and on another it might reject.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In more detail:  At each step in the computation performed by an NTM, instead of having a single transition rule, there are multiple rules that can be invoked.  To determine if the NTM accepts or rejects, you look at all possible branches of the computation.  (So if there are, say, exactly 2 transitions to choose from at each step, and each computation branch has a total of N steps, then there will be $2^N$ total brances to consider.)  For a standard NTM, an input is accepted if &lt;em&gt;any&lt;/em&gt; of the computation branches accepts.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This last part of the definition can be modified to get other, related types of Turing machines.  If you are interested in problems that have a unique solution, you can have the TM accept if exactly one branch accepts.  If you are interested in majority behavior, you can define the TM to accept if more than half of the branches accept.  And if you randomly (according to some probability distribution) choose one of the possible branches, and accept or reject based on what that branch does, then you've got a probabilistic TM.&lt;/p&gt;&#xA;" OwnerUserId="184" LastEditorUserId="184" LastEditDate="2010-08-26T16:18:38.883" LastActivityDate="2010-08-26T16:18:38.883" CommentCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="642" PostTypeId="2" ParentId="553" CreationDate="2010-08-26T14:27:52.567" Score="7" Body="&lt;p&gt;I think you can use matrix multiplication to compute the transitive closure of the DAG, and then use the number of out-neighbors as the desired counts. I'm no expert on the literature but I think you can compute the transitive closure in the same time as matrix multiplication, i.e. $n^{\omega}$ time: &lt;a href=&quot;http://www.computer.org/portal/web/csdl/doi/10.1109/ACSSC.1995.540810&quot;&gt;http://www.computer.org/portal/web/csdl/doi/10.1109/ACSSC.1995.540810&lt;/a&gt; .&lt;/p&gt;&#xA;" OwnerUserId="122" LastActivityDate="2010-08-26T14:27:52.567" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="643" PostTypeId="2" ParentId="633" CreationDate="2010-08-26T14:56:04.293" Score="9" Body="&lt;p&gt;The standard reference for such a positive result is Piotr Indyk's paper on stable distributions:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://people.csail.mit.edu/indyk/st-fin.ps&quot;&gt;http://people.csail.mit.edu/indyk/st-fin.ps&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;He shows a dimension reduction technique for $\ell_1$ where the distance between any pair of points does not increase (by more than factor $1+\epsilon$) with constant probability and distances do not decrease (by more than factor $1-\epsilon$) with high probability. The dimension of the embedding will be exponential in $1/\epsilon$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are probably follow up works that I'm not aware of.&lt;/p&gt;&#xA;" OwnerUserId="68" LastActivityDate="2010-08-26T14:56:04.293" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="644" PostTypeId="2" ParentId="633" CreationDate="2010-08-26T14:58:15.723" Score="8" Body="&lt;p&gt;See the &lt;a href=&quot;http://cims.nyu.edu/~neiman/slack_conf.pdf&quot; rel=&quot;nofollow&quot;&gt;Metric Embeddings with Relaxed Guarantees&lt;/a&gt; paper which has results on $\ell_1$ (under the conditions of &quot;gracefully degrading distortion&quot;) and general $\ell_p$ embeddings.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also look at the &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.62.307&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;nofollow&quot;&gt;Practical Procedures for Dimension Reduction&lt;/a&gt; in $\ell_1$ paper.&lt;/p&gt;&#xA;" OwnerUserId="384" LastEditorUserId="186" LastEditDate="2011-01-05T01:42:21.590" LastActivityDate="2011-01-05T01:42:21.590" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="645" PostTypeId="1" AcceptedAnswerId="648" CreationDate="2010-08-26T15:04:10.927" Score="9" ViewCount="215" Body="&lt;p&gt;We know and love a bunch of nested classes of solution concepts:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;PN: Pure Nash Equilibrium&lt;/li&gt;&#xA;&lt;li&gt;MN: Mixed Nash Equilibrium&lt;/li&gt;&#xA;&lt;li&gt;CE: Correlated equilibrium&lt;/li&gt;&#xA;&lt;li&gt;CCE: Course correlated equilibrium.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The relationship between these sets is:&#xA;$$PN \subset MN \subset CE \subset CCE$$&#xA;We can consider the price of anarchy over any one of these solution concepts: the worst case social welfare for any profile in the set, divided by the optimal social welfare:&#xA;$$POA(S) = \max_{s \in S}\frac{COST(s)}{OPT}$$&#xA;So, by the above containments:&#xA;$$POA(PN) \leq POA(MN) \leq POA(CE) \leq POA(CCE)$$&#xA;My question: are their known bounds on how fast this quantity can grow? It is possible to have a game with $POA(PN)$ finite, but $POA(CCE)$ unboundedly large. But if I know $POA(PN)$ is finite, does $POA(MN)$ also have to be finite? $POA(CE)$? How much larger can they be?&lt;/p&gt;&#xA;" OwnerUserId="25" LastEditorUserId="108" LastEditDate="2010-09-24T14:51:59.090" LastActivityDate="2010-10-18T15:17:25.007" Title="Bounding the rate of increase of the price of anarchy across equilibrium concepts" Tags="&lt;gt.game-theory&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="646" PostTypeId="1" CreationDate="2010-08-26T15:24:42.070" Score="2" ViewCount="341" Body="&lt;p&gt;Let us call a graph &quot;asymmetric&quot; if it has no nontrivial automorphism group. &lt;a href=&quot;http://en.wikipedia.org/wiki/Asymmetric_graph&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/Asymmetric_graph&lt;/a&gt;&#xA;&lt;a href=&quot;http://en.wikipedia.org/wiki/Asymmetric_graph&quot; rel=&quot;nofollow&quot;&gt;&lt;/a&gt;&#xA;&lt;a href=&quot;http://en.wikipedia.org/wiki/Asymmetric_graph&quot; rel=&quot;nofollow&quot;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm looking for an efficient way to compute a random asymmetric graph on a given number of nodes.&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2010-10-13T06:58:58.753" LastActivityDate="2010-10-13T06:58:58.753" Title="What is the most efficient algorithm to sample graphs with trivial automorphism groups ?" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;automorphism&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="647" PostTypeId="2" ParentId="632" CreationDate="2010-08-26T15:54:46.040" Score="9" Body="&lt;p&gt;An example to make things clearer:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Say you have to pick a door to open among 10000 doors (say there is a prize behind one of the doors). Choosing randomly means you would choose one out of the 10000 doors and enter it. If there is a prize behind only one door, you will most probably not find it. A non-deterministic machine would enter all 10000 doors simultaneously. If there is a prize anywhere, the non-deterministic machine will find it.&lt;/p&gt;&#xA;" OwnerUserId="206" LastActivityDate="2010-08-26T15:54:46.040" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="648" PostTypeId="2" ParentId="645" CreationDate="2010-08-26T18:01:15.797" Score="6" Body="&lt;p&gt;The ratio between $POA(MN)$ and $POA(PN)$ can be arbitrarily large. Consider the following congestion game; we have $n$ players and $n$ items, and each player can choose any item. The cost to a player depends on the congestion of the item picked; it is $f(x)$ if $x$ players pick that item. $f$ will be a sharply growing function.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The only pure Nash has each player picking a unique item, so everyone pays $f(1)$. On the other hand, by symmetry, the randomized strategy where each player picks a uniformly random item is a mixed Nash. If $f$ grows steeply, the total cost will be much more expensive, since there is some chance that multiple players pick the same item.&lt;/p&gt;&#xA;" OwnerUserId="128" LastActivityDate="2010-08-26T18:01:15.797" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="649" PostTypeId="1" AcceptedAnswerId="651" CreationDate="2010-08-26T18:15:37.023" Score="3" ViewCount="210" Body="&lt;p&gt;Is the set of satisfiable Horn formulas sparse?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A sparse language contains a polynomially bounded number of srings at every length.&lt;/p&gt;&#xA;" OwnerUserId="495" LastActivityDate="2010-08-26T18:39:31.960" Title="Sparsity of Horn satisfiability?" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;np&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="650" PostTypeId="2" ParentId="475" CreationDate="2010-08-26T18:21:33.280" Score="4" Body="&lt;p&gt;(I'm not an expert in this subject, but here's my understanding.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The &lt;em&gt;BCH code&lt;/em&gt; of code length $n=2^m-1$ and designed distance $2t+1$ is specified in terms of its generator polynomial.  Fix $\alpha$ to be a primitive element of $GF(2^m)$.  Then, $g$ is the polynomial of smallest degree with coefficients in $GF(2)$ which has its roots $\alpha, \alpha^2,\alpha^3,\dots,\alpha^{2t}$.  (The codewords are then given by all multiples of $g$ of degree at most $n-1$; see the wikipedia page for &lt;a href=&quot;http://en.wikipedia.org/wiki/Polynomial_code&quot; rel=&quot;nofollow&quot;&gt;polynomial codes&lt;/a&gt;).  The designed distance is a lower bound on the distance of the code.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The dual BCH code of design distance $2t+1$ is just the dual of the BCH code in the usual sense, the set of vectors orthogonal to the codewords of the BCH code of design distance $2t+1$.  Its generator polynomial is given by $(X^n+1)/g(X)$.  I believe the matrix in the Ailon-Liberty paper has the codewords as its rows.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here are some notes which describe the BCH code construction: &lt;a href=&quot;http://www.uotiq.org/dep-eee/lectures/4th/Communication/Information%20theory/2.pdf&quot; rel=&quot;nofollow&quot;&gt;http://www.uotiq.org/dep-eee/lectures/4th/Communication/Information%20theory/2.pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="15" LastActivityDate="2010-08-26T18:21:33.280" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="651" PostTypeId="2" ParentId="649" CreationDate="2010-08-26T18:27:58.603" Score="6" Body="&lt;p&gt;No. Fix a $k$, and let $x_1, x_2, ..., x_k$ be the variables in your Horn formula. Then for all $i$ the clause $(x_i)$ is a Horn clause – there is at most one positive literal. Using such clauses, you can construct $2^k - 1$ different Horn formulas: $(x_1)$; $(x_2)$; $(x_1) \wedge (x_2)$; $(x_3)$; etc. Each of these is trivially satisfiable – just set $x_i = 1$ for all $i$. The length of each formula is $O(k \log k)$, assuming any reasonable encoding.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(You can add extra requirements like &quot;all clauses must contain at least one negative literal&quot;, &quot;all variables must occur in at least one clause&quot;, etc., but this doesn't really change anything; just tweak the above construction slightly.)&lt;/p&gt;&#xA;" OwnerUserId="74" LastEditorUserId="74" LastEditDate="2010-08-26T18:39:31.960" LastActivityDate="2010-08-26T18:39:31.960" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="652" PostTypeId="1" AcceptedAnswerId="1668" CreationDate="2010-08-26T18:58:00.157" Score="3" ViewCount="322" Body="&lt;p&gt;Given a complete graph whose edges are colored by 3 colors, &lt;em&gt;a compatible 3-coloring&lt;/em&gt; is a coloring of nodes such that no edge of the graph has the same color as its end-points.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The best algorithm I know is quasi-polynomial time. The problem is not known to be NP-complete. What is known about the status of this problem ? &lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="80" LastEditDate="2010-08-26T21:52:49.197" LastActivityDate="2010-09-27T14:33:51.403" Title="What is the complexity of computing a compatible 3-coloring of a complete graph?" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;graph-theory&gt;" AnswerCount="2" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="653" PostTypeId="1" CreationDate="2010-08-26T19:22:48.323" Score="1" ViewCount="599" Body="&lt;p&gt;Complexity theory uses a large number of unproven conjectures. There are several hardness conjectures in David Johnson's &lt;a href=&quot;http://www2.research.att.com/~dsj/columns/col25.pdf&quot; rel=&quot;nofollow&quot;&gt;NP-Completeness Column 25&lt;/a&gt;. What are the other major conjectures not mentioned in the above article? Did we achieve some progress towards proving one of these conjectures? Which conjecture do you think would require completely different techniques from the currently known ones?&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2011-02-10T17:12:07.530" LastActivityDate="2011-02-10T17:12:07.530" Title="Major conjectures used to prove complexity lower bounds?" Tags="&lt;cc.complexity-theory&gt;&lt;lower-bounds&gt;" AnswerCount="3" CommentCount="5" CommunityOwnedDate="2011-02-10T18:04:59.257" ContentLicense="CC BY-SA 2.5" />
  <row Id="654" PostTypeId="2" ParentId="652" CreationDate="2010-08-26T19:30:16.797" Score="5" Body="&lt;p&gt;The fastest known algorithm has running time $n^{O(\log n/ \log \log n)}$ [1].&lt;br/&gt;&#xA;Your question is reposed as an open problem in [2, page 4].&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1]: T. Feder, P. Hell, D. Kr&amp;aacute;l, and J. Sgall. Two algorithms for general list matrix partitions. SODA 2005, pages 870–876.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2]: E. D. Demaine, M. Hajiaghayi, D. Marx. Open Problems -- Parameterized complexity and approximation algorithms. Dagstuhl Seminar 09511 (2009). Available &lt;a href=&quot;http://drops.dagstuhl.de/opus/volltexte/2010/2499/&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="72" LastActivityDate="2010-08-26T19:30:16.797" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="655" PostTypeId="2" ParentId="646" CreationDate="2010-08-26T19:51:50.390" Score="3" Body="&lt;p&gt;Almost all graphs have trivial automorphism group. So all you need to do is generate a graph uniformly at random (see e.g. &lt;a href=&quot;http://en.wikipedia.org/wiki/Random_graph&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/Random_graph&lt;/a&gt;), then compute its automorphism group (or just determine its order). Repeat until you find a graph with trivial automorphism group (also called a rigid graph).&lt;/p&gt;&#xA;" OwnerUserId="633" LastActivityDate="2010-08-26T19:51:50.390" CommentCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="656" PostTypeId="2" ParentId="653" CreationDate="2010-08-26T20:42:45.440" Score="5" Body="&lt;p&gt;The unique games conjecture has recently been one of the most fruitful assumptions for proving good lower bounds, although it is more controversial than most assumptions about complexity class separation.  See &lt;a href=&quot;http://cs.nyu.edu/~khot/papers/UGCSurvey.pdf&quot;&gt;On the Unique Games Conjecture&lt;/a&gt; for a list of consequences.&lt;/p&gt;&#xA;" OwnerUserId="205" LastActivityDate="2010-08-26T20:42:45.440" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="657" PostTypeId="2" ParentId="593" CreationDate="2010-08-26T21:15:28.190" Score="8" Body="&lt;p&gt;Is the following a valid interpretation of your problem: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;You have to store N keys in an array of A[1..N] with no auxiliary information such that you can support:&#xA;* insert key&#xA;* delete min, which picks the earliest inserted element if there are multiple minima&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This appear quite hard, given that most implicit data structures play the trick of encoding bits in the local ordering of some elements. Here if multiple guys are equal, their ordering must be preserved, so no such tricks are possible.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Interesting.&lt;/p&gt;&#xA;" OwnerUserId="106" LastActivityDate="2010-08-26T21:15:28.190" CommentCount="7" ContentLicense="CC BY-SA 2.5" />
  <row Id="658" PostTypeId="1" AcceptedAnswerId="673" CreationDate="2010-08-26T21:23:28.700" Score="19" ViewCount="2185" Body="&lt;p&gt;In Anthony Aaby's &lt;a href=&quot;http://www.emu.edu.tr/aelci/Courses/D-318/D-318-Files/plbook/index.htm&quot;&gt;&quot;Introduction to Programming Languages&quot;&lt;/a&gt; section on &lt;a href=&quot;http://www.emu.edu.tr/aelci/Courses/D-318/D-318-Files/plbook/semantic.htm&quot;&gt;Semantics&lt;/a&gt;, he makes the following observation:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Much of the work in the semantics of&#xA;  programming languages is motivated by&#xA;  the problems encountered in trying to&#xA;  construct and understand imperative&#xA;  programs---programs with assignment&#xA;  commands. Since the assignment command&#xA;  reassigns values to variables, the&#xA;  assignment can have unexpected effects&#xA;  in distant portions of the program.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;This strikes me as a remarkable admission, that allowing side effects would motivate a major part of the work in semantics.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;How does the existence of &lt;a href=&quot;http://en.wikipedia.org/wiki/Side_effect_%28computer_science%29&quot;&gt;side effects&lt;/a&gt; in a programming language impact the ability to map a program to a computational model?  Are there approaches to managing state that can improve this process while still allowing side effects?&lt;/p&gt;&#xA;" OwnerUserId="7" LastEditorUserId="7" LastEditDate="2010-08-27T11:39:20.700" LastActivityDate="2013-05-16T08:07:35.180" Title="How are side effects handled in semantics?" Tags="&lt;imperative-programming&gt;&lt;semantics&gt;&lt;big-picture&gt;" AnswerCount="4" CommentCount="4" FavoriteCount="13" ContentLicense="CC BY-SA 2.5" />
  <row Id="659" PostTypeId="2" ParentId="632" CreationDate="2010-08-26T21:33:55.837" Score="14" Body="&lt;p&gt;There are several different contexts where “deterministic”, “random” and “non-deterministic” mean three different things. In contexts where there are multiple participants, such as security and concurrency, the intuition is often something like:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;deterministic means “I get to choose”&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;non-deterministic means “someone else gets to choose”&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;random means “no one gets to choose”&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;A few examples:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;[concurrency, random] Consider a networking protocol such as &lt;a href=&quot;http://en.wikipedia.org/wiki/Ethernet&quot;&gt;Ethernet&lt;/a&gt;, where multiple nodes can send a message at any time. If two nodes send a message at very close intervals, there is a collision: the messages overlap and are unreadable. If a collision happens, both nodes must try sending the messages again later. Imagine you're writing the specification of Ethernet. How do you specify the delay between retries? (The delays had better be different or there'll be a collision again!)&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;deterministic: define an algorithm that both nodes must use. This is not done for Ethernet because in order to give different results, the algorithm would have to privilege one node over the other (for any given message content), and Ethernet avoids doing that.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;non-deterministic: let each implementer decides. This is no good because the implementers on both nodes may choose the same algorithm.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;random: each node must select a delay value at random (with a specified distribution). That's how it works. There is a small probability that the two nodes choose the same delay and there's another collision, but the probability of success increases asymptotically towards 1 as the number of retries increases.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;[concurrency, nondeterministic] You write a concurrent algorithm. In a specific situation, there can be a deadlock. How can you prevent the deadlock from occurring? That depends on what kind of scheduling your concurrency environment has.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;deterministic: the scheduler always switches between threads at certain well-defined points, e.g. only when the code yields explicitly. Then you simply arrange for the threads not to yield at bad times.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;random: the scheduler is guaranteed to switch threads randomly. Then a viable strategy can be to detect the deadlock if it occurs, and restart the algorithm from the start.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;non-deterministic (most schedulers are like this): you don't know when the scheduler will switch between threads. So you really have to avoid the deadlock. If you tried to detect and restart like in the random case, you run the risk that the scheduler will schedule your threads in exactly the same way again and again.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;[security, random] You write an application with a password prompt. How do you model an attacker?&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;deterministic: the attacker always tries the same passwords. That's not a useful model of an attacker at all — attackers are not predictable by definition.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;nondeterministic: the attacker knows your password somehow and enters it. This shows the limitation of passwords: they must be kept secret. If your password is secret, this attacker is unrealistic.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;random: the attacker tries passwords at random. In this case, this is a realistic model of attacker. You can study how long it would take for the attacker to guess your password depending on what random distribution he uses. A good password is one that takes long for any realistic distribution.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;[security, nondeterministic] You write an application, and you worry that it may have a security hole. How do you model an attacker?&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;deterministic: the attacker knows everything you know. Again, that's not a useful model of an attacker.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;random: the attacker throws random garbage and hopes to make your program crash. That can be useful sometimes (&lt;a href=&quot;http://en.wikipedia.org/wiki/Fuzzing&quot;&gt;fuzzing&lt;/a&gt;), but the attacker might be more clever than that.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;non-deterministic: if there's a hole, the attacker will find it eventually. So you'd better harden your application (raise the intelligence requirement for the attacker; note that since it's an intelligence requirement rather than a computation requirement, this counts as non-deterministic until AI comes along), or better, prove that there is no security hole and therefore such an attacker doesn't exist.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="634" LastActivityDate="2010-08-26T21:33:55.837" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="660" PostTypeId="2" ParentId="624" CreationDate="2010-08-26T22:10:54.700" Score="22" Body="&lt;p&gt;There are several things that one may want to do in practice and that cannot be directly expressed in the lambda calculus.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The SF calculus is an example. Its expressive power is not news; the interesting part of the paper (not shown in the slides) is the category theory behind it. The SF calculus is analogous to a lisp implementation where you allow functions to inspect the representation of their argument — so you can write things like &lt;code&gt;(print (lambda (x) (+ x 2)))&lt;/code&gt; ​⟹ &lt;code&gt;&quot;(lambda (x) (+ x 2))&quot;&lt;/code&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another important example is &lt;a href=&quot;http://homepages.inf.ed.ac.uk/gdp/publications/LCF.pdf&quot;&gt;Plotkin's parallel or&lt;/a&gt;. Intuitively speaking, there's a general result that states that lambda calculus is sequential: a function that takes two arguments must pick one to evaluate first. It's impossible to write a lambda term &lt;code&gt;or&lt;/code&gt; such that (&lt;code&gt;or&lt;/code&gt; ⊤ ⊥) ⟹ &lt;code&gt;⊤&lt;/code&gt;, (&lt;code&gt;or&lt;/code&gt; ⊥ ⊤) ⟹ ⊤ and &lt;code&gt;or&lt;/code&gt; ⊥ ⊥ ⟹ ⊥ (where ⊥ is a non-terminating term and ⊤ is a terminating term). This is known as “parallel or” because a parallel implementation could make one step of each reduction and stop whenever one of the argument terminates.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Yet another thing you can't do in the lambda calculus is input/output. You'd have to add extra primitives for it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course, all these examples can be represented in the lambda calculus by adding one level of indirection, essentially representing lambda terms as data. But then the model becomes less interesting — you lose the relationship between functions in the modeled language and lambda abstractions.&lt;/p&gt;&#xA;" OwnerUserId="634" LastActivityDate="2010-08-26T22:10:54.700" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="661" PostTypeId="2" ParentId="608" CreationDate="2010-08-26T22:48:07.880" Score="29" Body="&lt;p&gt;While your question focuses on complexity theory, similar things can happen in other fields such as the theory of programming languages. Here are a couple of examples where abstraction makes something undecidable (i.e. the lower bound in the weak model is impossibility, while the strong model allows the algorithm to be expressed):&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;In the lambda calculus, there are functions that you cannot express directly (i.e., as a lambda term that beta-reduces to the desired result). An example is parallel or (a function of two arguments that returns whichever one that terminates). Another example is a function that prints its argument literally (a function obviously cannot distinguish between two beta-equivalent arguments). The lack of expressiveness is due to enforcing the abstraction that beta-equivalent lambda-terms must be treated identically.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;In a statically typed language that only has &lt;a href=&quot;http://en.wikipedia.org/wiki/Parametric_polymorphism&quot;&gt;parametric polymorphism&lt;/a&gt;, such as ML with no fancy extension, it is impossible to write some functions — you get &lt;a href=&quot;http://homepages.inf.ed.ac.uk/wadler/topics/parametricity.html#free&quot;&gt;theorems for free&lt;/a&gt;. For example, a function whose type is $\forall\alpha, \alpha\to\alpha$ (whatever the type of the argument is, return an object of the same type) must be either the identity function or non-terminating. The lack of expressiveness is due to the abstraction that if you don't know the type of a value, it's opaque (you can only pass it around).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="634" LastActivityDate="2010-08-26T22:48:07.880" CommentCount="1" CommunityOwnedDate="2010-08-26T22:48:07.880" ContentLicense="CC BY-SA 2.5" />
  <row Id="662" PostTypeId="2" ParentId="627" CreationDate="2010-08-26T23:01:49.843" Score="6" Body="&lt;p&gt;I'm not familiar with Barry Jay's recent work, but his older work includes things that you &lt;em&gt;cannot&lt;/em&gt; do in Lisp, because the types give additional information.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, suppose you want to define the size of a Lisp data structure. It's 1 for an atom, and &lt;em&gt;n&lt;/em&gt; for a list of &lt;em&gt;n&lt;/em&gt; atoms, and more generally size(x)+size(y) for &lt;code&gt;(cons x y)&lt;/code&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now throw in types into the mix. The size of a list would be its length. Now what's the size of a list of lists of atoms? If you consider this data structure as a list (whose elements happen to be lists of atoms), the answer is the length of the list. If you consider this data structure as containing atoms that happen to be stored in a list of lists, the answer is the sum of the lengths of the element lists.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Types allow you to distinguish between these two views (shapes) of the raw data. You need a type system that lets you discriminate between (List) (List Atom) and (List List) (Atom). The most common implementation of this distinction is with type classes (as in Haskell).&lt;/p&gt;&#xA;" OwnerUserId="634" LastActivityDate="2010-08-26T23:01:49.843" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="663" PostTypeId="2" ParentId="593" CreationDate="2010-08-27T00:05:13.423" Score="10" Body="&lt;p&gt;I'm not sure what your constraints are; does the following qualify? Store the data in an array, which we interpret as an implicit binary tree (like a binary heap), but with the data items at the bottom level of the tree rather than at its internal nodes. Each internal node of the tree stores the smaller of the values copied from its two children; in case of ties, copy the left child.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To find the minimum, look at the root of the tree.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To delete an element, mark it as deleted (lazy deletion) and propagate up the tree (each node on the path to the root that held a copy of the deleted element should be replaced with a copy of its other child). Maintain a count of deleted elements and if it ever gets to be too large a fraction of all elements then rebuild the structure preserving the order of the elements at the bottom level — the rebuild takes linear time so this part adds only constant amortized time to the operation complexity.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To insert an element, add it to the next free position on the bottom row of the tree and update the path to the root. Or, if the bottom row becomes full, double the size of the tree (again with an amortization argument; note that this part is not any different from the need to rebuild when a standard binary heap outgrows its array).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's not an answer to Mihai's stricter version of the question, though, because it uses twice as much memory as a true implicit data structure should, even if we ignore the space cost of handling deletions lazily.&lt;/p&gt;&#xA;" OwnerUserId="95" LastEditorUserId="95" LastEditDate="2010-08-27T00:12:55.203" LastActivityDate="2010-08-27T00:12:55.203" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="664" PostTypeId="2" ParentId="593" CreationDate="2010-08-27T00:26:37.780" Score="4" Body="&lt;p&gt;Short answer : You can't.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Slightly longer answer :&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You'll need $\Omega(n)$ extra space to store the &quot;age&quot; of your entry which will allow you to discriminate between identical priorities. And you'll need $\Omega(n)$ space for information that will allow fast insertions and retrievals. Plus your payload (value and priority).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;And, for each payload you store, you'll be able to &quot;hide&quot; some information in the address (e.g. $addr(X) &amp;lt; addr(Y)$ means Y is older than X). But in that &quot;hidden&quot; information, you'll either hide the &quot;age&quot;, OR the &quot;fast retrieval&quot; information. Not both.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Very long answer with inexact flaky pseudo-math :&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note : the very end of the second part is sketchy, as mentioned. If some math guy could provide a better version, I'd be grateful.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let's think about the amount of data that is involved on an X-bit machine (say 32 or 64-bit), with records (value and priority) $P$ machine words wide.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You have a set of potential records that is partially ordered : $(a,1) &amp;lt; (a,2)$ and $(a,1) = (a,1)$ but you can't compare $(a,1)$ and $(b,1)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However you want to be able to compare two non-comparable values from your set of records, based on when they were inserted. So you have here another set of values : those that have been inserted, and you want to enhance it with a partial order : $X &amp;lt; Y$ iff $X$ was inserted before $Y$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the worst-case scenario, your memory will be filled with records of the form $(?,1)$ (with $?$ different for each one), so you'll have to rely entirely upon the insertion time in order to decide which one goes out first.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The insertion time (relative to other records still in the structure) requires $X - log_2(P)$ bits of information (with P-byte payload and $2^X$ accessible bytes of memory).&lt;/li&gt;&#xA;&lt;li&gt;The payload (your record's value and priority) requires $P$ machine words of information.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;That means that you must &lt;em&gt;somehow&lt;/em&gt; store $X - log_2(P)$ extra bits of information for each record you store. And that's $O(n)$ for $n$ records.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, how much bits of information does each memory &quot;cell&quot; provide us ?&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$W$ bits of data ($W$ being the machine word width).&lt;/li&gt;&#xA;&lt;li&gt;$X$ bits of address.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Now, let's assume $P \geq 1$ (payload is at least one machine word wide (usually one octet)). This means that $X - log_2(P) &amp;lt; X$, so we can fit the insertion order information in the cell's address. That's what happening in a stack : cells with the lowest address entered the stack first (and will get out last).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, to store all our information, we have two possibilities :&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Store the insertion order in the address, and the payload in memory.&lt;/li&gt;&#xA;&lt;li&gt;Store both in memory and leave the address free for some other usage.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Obviously, in order to avoid waste, we'll use the first solution.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Now for the operations. I suppose you wish to have :&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$Insert(task, priority)$ with $O(log n)$ time complexity.&lt;/li&gt;&#xA;&lt;li&gt;$StableExtractMin()$ with $O(log n)$ time complexity.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Let's look at $StableExtractMin()$ :&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The really really general algorithm goes like this :&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Find the record with minimum priority and minimum &quot;insertion time&quot; in $O(log n)$.&lt;/li&gt;&#xA;&lt;li&gt;Remove it from the structure in $O(log n)$.&lt;/li&gt;&#xA;&lt;li&gt;Return it.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;For example, in the case of a heap, it will be slightly differently organized, but the work is the same :&#xA; 1. Find the min record in $0(1)$&#xA; 2. Remove it from the structure in $O(1)$&#xA; 3. Fix everything so that next time #1 and #2 are still $O(1)$ i.e. &quot;repair the heap&quot;. This needs to be done in &quot;O(log n)&quot;&#xA; 4. Return the element.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Going back to the general algorithm, we see that to find the record in $O(log n)$ time, we need a fast way to choose the right one between $2^(X - log_2(P))$ candidates (worst case, memory is full).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This means that we need to store $X - log_2(P)$ bits of information in order to retrieve that element (each bit bisects the candidate space, so we have $O(log n)$ bisections, meaning $O(log n)$ time complexity).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;These bits of information might be stored as the address of the element (in the heap, the min is at a fixed address), or, with pointers for example (in a binary search tree (with pointers), you need to follow $O(log n)$ on average to get to the min).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, when deleting that element, we'll need to augment the next min record so it has the right amount of information to allow $O(log n)$ retrieval next time, that is, so it has $X - log_2(P)$ bits of information discriminating it from the other candidates.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;That is, if it doesn't have already enough information, you'll need to add some. In a (non-balanced) binary search tree, the information is already there : You'll have to put a NULL pointer somewhere to delete the element, and without any further operation, the BST is searchable in $O(log n)$ time on average.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;After this point, it's slightly sketchy, I'm not sure about how to formulate that. But I have the strong feeling that each of the remaining elements in your set will need to have $X - log_2(P)$ bits of information that will help find the next min and augment it with enough information so that it can be found in $O(log n)$ time next time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The insertion algorithm usually just needs to update part of this information, I don't think it will cost more (memory-wise) to have it perform fast.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Now, that means that we'll need to store $X - log_2(P)$ more bits of information for each element. So, for each element, we have :&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The insertion time, $X - log_2(P)$ bits.&lt;/li&gt;&#xA;&lt;li&gt;The payload $P$ machine words.&lt;/li&gt;&#xA;&lt;li&gt;The &quot;fast search&quot; information, $X - log_2(P)$ bits.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Since we already use the memory contents to store the payload, and the address to store the insertion time, we don't have any room left to store the &quot;fast search&quot; information. So we'll have to allocate some extra space for each element, and so &quot;waste&quot; $\Omega(n)$ extra space.&lt;/p&gt;&#xA;" OwnerUserId="645" LastActivityDate="2010-08-27T00:26:37.780" CommentCount="2" CommunityOwnedDate="2010-08-27T00:26:37.780" ContentLicense="CC BY-SA 2.5" />
  <row Id="665" PostTypeId="2" ParentId="608" CreationDate="2010-08-27T01:04:44.940" Score="19" Body="&lt;p&gt;&lt;a href=&quot;http://compgeom.cs.uiuc.edu/~jeffe/teaching/497/06-algebraic-tree.pdf&quot;&gt;Algebraic Decision Trees&lt;/a&gt; are used as a basis in computational geometry to show many simple problems like Element Uniqueness are $\Omega(n \log n)$.  These lower bounds are then used to show more complicated problems like Voronoi Diagrams also have $\Omega(n \log n)$ lower bounds.  I was then later surprised to read an $O(n)$ expected time algorithm for solving closest pair of points in the plane, which is a generalization of Element Uniqueness.  It escapes the Algebraic Decision Tree bound by using hashing.  I found it in the Algorithm Design book by Klein and Tardos.  There is a similar but more complicated algorithm for solving the same problem described on &lt;a href=&quot;http://rjlipton.wordpress.com/2009/03/01/rabin-flips-a-coin&quot;&gt;R.J. Lipton's blog&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Reference:  &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Richard J. Lipton, &quot;&lt;a href=&quot;http://rjlipton.wordpress.com/2009/03/01/rabin-flips-a-coin&quot;&gt;Rabin Flips a Coin&lt;/a&gt;&quot;, March 2009&lt;br&gt;&#xA;published on &lt;a href=&quot;http://rjlipton.wordpress.com/&quot;&gt;Godel's Lost Letter and P=NP&lt;/a&gt; blog.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="646" LastEditorUserId="186" LastEditDate="2012-12-13T04:29:21.260" LastActivityDate="2012-12-13T04:29:21.260" CommentCount="0" CommunityOwnedDate="2010-08-27T01:04:44.940" ContentLicense="CC BY-SA 3.0" />
  <row Id="666" PostTypeId="2" ParentId="653" CreationDate="2010-08-27T02:36:46.627" Score="3" Body="&lt;p&gt;This isn't mentioned in the article, but the &lt;a href=&quot;http://en.wikipedia.org/wiki/Exponential_time_hypothesis&quot; rel=&quot;nofollow&quot;&gt;exponential time hypothesis&lt;/a&gt; is very useful for proving exponential lower bounds on the running time of hard problems. &lt;/p&gt;&#xA;" OwnerUserId="206" LastActivityDate="2010-08-27T02:36:46.627" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="667" PostTypeId="2" ParentId="653" CreationDate="2010-08-27T02:46:05.550" Score="1" Body="&lt;p&gt;The polynomial hierarchy is infinite. This implies other conjectures that are often used, like NP is not in coAM, NP is not equal to coNP, etc.&lt;/p&gt;&#xA;" OwnerUserId="206" LastActivityDate="2010-08-27T02:46:05.550" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="668" PostTypeId="1" AcceptedAnswerId="727" CreationDate="2010-08-27T02:53:45.503" Score="14" ViewCount="1353" Body="&lt;p&gt;Rice's theorem states that every nontrivial property of the set recognized by some Turing machine is undecidable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am looking for complexity-theoretic Rice-type theorem that tells us which nontrivial properties of NP sets are intractable.&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2014-01-18T13:19:27.893" LastActivityDate="2014-01-18T13:19:27.893" Title="Is there a complexity theory analogue of Rice's theorem in computability theory?" Tags="&lt;cc.complexity-theory&gt;&lt;computability&gt;&lt;np&gt;" AnswerCount="3" CommentCount="8" FavoriteCount="15" ContentLicense="CC BY-SA 3.0" />
  <row Id="669" PostTypeId="2" ParentId="668" CreationDate="2010-08-27T05:30:56.413" Score="27" Body="&lt;p&gt;There have been several such theorems proved over the years. More recently, there have been efforts to establish &amp;quot;Rice-style&amp;quot; theorems for problems on circuits. (It is natural to replace &amp;quot;machines&amp;quot; with &amp;quot;circuits&amp;quot;. Once you do that, the total number of possible inputs becomes fixed, so you do not run into undecidability issues.) Two references:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Bernd Borchert, Frank Stephan: &lt;a href=&quot;http://dx.doi.org/10.1002/1521-3870(200010)46:4%3C489::AID-MALQ489%3E3.0.CO;2-F&quot; rel=&quot;noreferrer&quot;&gt;Looking for an Analogue of Rice's Theorem in Circuit Complexity Theory.&lt;/a&gt; Math. Log. Q. 46(4): 489-504 (2000)&lt;/p&gt;&#xA;&lt;p&gt;Lane A. Hemaspaandra, Jörg Rothe: &lt;a href=&quot;http://dx.doi.org/10.1016/S0304-3975(98)00344-2&quot; rel=&quot;noreferrer&quot;&gt;A second step towards complexity-theoretic analogs of Rice's Theorem.&lt;/a&gt; Theor. Comput. Sci. 244(1-2): 205-217 (2000)&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Here is an example result: &amp;quot;Every nonempty proper counting property of circuits is UP-hard.&amp;quot; You can read the papers for definitions, but this roughly means that any property depending on the number of satisfying assignments to a circuit is hard for the class UP (hence intractable).&lt;/p&gt;&#xA;&lt;p&gt;There is also older work on complexity-theoretic versions of Rice's theorem, in a different vein. I'm not familiar with it, but the above papers do cite them.&lt;/p&gt;&#xA;" OwnerUserId="225" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2010-08-27T15:15:06.957" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="670" PostTypeId="2" ParentId="189" CreationDate="2010-08-27T06:04:34.983" Score="4" Body="&lt;p&gt;The Ramsey-based complementation construction for Buechi automata. This is something from my advisor, that is pretty obscure, and supplanted by more recent constructions with massively better bounds. However, I really think this specific construction and the math behind it are just amazingly elegant.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If anyone is actually interested, it's section 2 introduction, 2.1, and 2.2 in the below paper, building up to Lemma 2.3.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.cs.rice.edu/~vardi/papers/icalp85rj.pdf&quot; rel=&quot;nofollow&quot;&gt;http://www.cs.rice.edu/~vardi/papers/icalp85rj.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As a fair note for anyone excited to see Ramsey there, it's a very trivial application of the infinite Ramsey theorem. However, it is also (IMO), one of the most beautiful. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let me also put in a vote for the diagonalization proof of uncountability.&lt;/p&gt;&#xA;" OwnerDisplayName="Seth Fogarty" LastActivityDate="2010-08-27T06:04:34.983" CommentCount="0" CommunityOwnedDate="2010-08-27T06:04:34.983" ContentLicense="CC BY-SA 2.5" />
  <row Id="671" PostTypeId="2" ParentId="627" CreationDate="2010-08-27T08:03:42.707" Score="6" Body="&lt;p&gt;One of the main benefits of Jay's recent work is that it reduces the boilerplate code one needs to write in order to traverse data structures to perform operations such as &lt;em&gt;map&lt;/em&gt;. The pattern calculus enables one to write the traversal code once for all data structures and have it applicable to your own data structure. This certainly reduces the amount of code required, but does not enable you to write any programs that you couldn't otherwise write. Certainly there are many interesting ideas in the work, but it remains to be demonstrated that it actually works. &lt;/p&gt;&#xA;" OwnerUserId="77" LastActivityDate="2010-08-27T08:03:42.707" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="672" PostTypeId="2" ParentId="658" CreationDate="2010-08-27T09:19:02.660" Score="6" Body="&lt;p&gt;&lt;em&gt;How does the existence of side effects in a programming language impact the ability to map a program to a computational model?&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It doesn't necessarily make it difficult, but it does impose restrictions on the way the semantics of larger expressions can be constructed out of smaller ones.  It can interact very badly with certain other programming constructs, for instance, if one wants to give a Scott-style denotational semantics for a language allowing assignment of higher-order functions to global references.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is not simply side effects like state that cause the trouble.  Simple imperative languages such as Dijkstra's guarded command language have these kinds of side effects, and have nice semantics.  Trouble arises with extensions of the lambda-calculus with the kind of operational semantics expected of programming languages even in the absence of side effects: the earliest, Plotkin's PCF, was given denotational models relatively early, but the semantics were not fully abstract, meaning that the denotational semantics was overly general, not exactly corresponding to their operational semantics.  PCF finally recieved a fully abstract denotational semantics in the late 1980s with game semantics, which is not at all like Scott's order-theoretic semantics.  Concurrency still has not received a fully adequate denotational treatment.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Many question the importance of this kind of semantics.  We can always provide some kind of operational semantics, even if that &quot;semantics&quot; is just the program source and the names of some machines that have compiled and run the program: for this reason Strachey condemned operational semantics.  But Plotkin's structural operation semantics has shown how operational semantics can be separated from machine models, and Pitt's work has shown how such semantics can support similar reasoning about programs and programming languages to denotational semantics.  Thus operational semantics is a viable alternative to denotational semantics, and have been applied with success to a substantial number of programming languages such as Standard ML.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Are there approaches to managing state that can improve this process while still allowing side effects?&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To some extent, difficulties providing semantics correspond to the difficulty of providing powerful programming languages that behave in the way one would expect.  Pragmatically motivated design decisions &amp;mdash;such as avoiding the use of global state together with concurrency, typically through message-passing concurrency&amp;mdash; make it easier to provide semantics.  &lt;/p&gt;&#xA;" OwnerUserId="270" LastEditorUserId="270" LastEditDate="2013-05-16T08:07:35.180" LastActivityDate="2013-05-16T08:07:35.180" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="673" PostTypeId="2" ParentId="658" CreationDate="2010-08-27T09:44:09.743" Score="18" Body="&lt;p&gt;Building on Charles's answer, the main difficulty in the theory of programming languages is that the natural notion of equivalence of programs is typically not strict equality either in the most straightforward mathematical semantics you can give, or in the underlying machine model. For example, consider the following bit of Java-like code: &lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;Object x = new Object();&#xA;Object y = new Object();&#xA;... some more code ...&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;So this program creates an object and names it x, and then creates a second object named y, and then continues executing some more code. Now, suppose that a programmer decides to flip the order of allocation of these two objects:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;Object y = new Object();&#xA;Object x = new Object();&#xA;... some more code ...&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Now, ask the question: does this refactoring change the behavior of the program? On the one hand, on the underlying machine, x and y will be allocated at different locations in the two runs of the program. So in this sense, the program behaves differently.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But in a Java-like language, you can only test references for equality, and not for order, so this is a difference that the &quot;some more code&quot; &lt;em&gt;cannot observe&lt;/em&gt;.  As a result, most programmers will expect that reversing the order will make no difference to the final answer, and most compiler writers expect to be able to perform reorderings and optimizations on this basis. (On the other hand, in a C-like language, you &lt;em&gt;can&lt;/em&gt; compare pointers for ordering, by casting them to integers first, and so this reordering does &lt;em&gt;not&lt;/em&gt; necessarily preserve observable behavior.) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;One of the central questions of semantics is to answer the question of when two programs are observably equivalent. Since our notion of observation depends on the features of the programming language, we end up with a definition like &quot;two programs are equivalent when no client program can compute different answers based on receiving those programs as inputs.&quot; The quantification over all client programs is what makes this question difficult -- it seems like you end up having to say something about all possible client programs to say something about two particular pieces of code.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The trick with denotational semantics is to give a mathematical interpretation that lets you avoid this universal quantification -- you say that the meaning of a piece of code is some mathematical value, and you compare them by checking to see if they're mathematically equal or not. This is local (ie, compositional), and does not involve quantification over all possible clients. (You do need to show that the denotational semantics implies contextual equivalence for it to be sound, of course. When it is complete -- when denotational equality is exactly the same as contextual equivalence, we say the semantics is &quot;fully abstract&quot;.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But means that you need to ensure that the denotational semantics validates those equivalences. So for this example, if you wanted to give a denotational semantics for this Java-like language, you need to ensure not just that calling new takes a heap and gives you back a new heap with the newly-created object, but that the meaning of the program is invariant same under all permutations of the input heap. This can involve quite complex mathematical structures (eg, in this case working in a category which ensures everything works modulo a suitable permutation group). &lt;/p&gt;&#xA;" OwnerUserId="657" LastActivityDate="2010-08-27T09:44:09.743" CommentCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="674" PostTypeId="1" AcceptedAnswerId="683" CreationDate="2010-08-27T13:36:24.393" Score="2" ViewCount="1011" Body="&lt;p&gt;&lt;strong&gt;optimization problem&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Input&lt;/strong&gt;: cubic Hamiltonian graph&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;feasible solution&lt;/strong&gt;: A simple path&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;measure to optimize&lt;/strong&gt;: length of the simple path&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Design a polynomial-time algorithm that outputs the longest path it can find. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;To my knowledge, longest path problem does not have polynomial-time constant-factor approximation in cubic Hamiltonian graphs unless P=NP. This problem is interesting since the input is cubic graph and has a n-length Hamiltonian cycle.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.sciencedirect.com/science?_ob=ArticleURL&amp;amp;_udi=B6WH3-45JCBNT-H&amp;amp;_user=3672885&amp;amp;_coverDate=04%2F30%2F1999&amp;amp;_rdoc=1&amp;amp;_fmt=high&amp;amp;_orig=search&amp;amp;_sort=d&amp;amp;_docanchor=&amp;amp;view=c&amp;amp;_searchStrId=1443483023&amp;amp;_rerunOrigin=google&amp;amp;_acct=C000058889&amp;amp;_version=1&amp;amp;_urlVersion=0&amp;amp;_userid=3672885&amp;amp;md5=1d609c736300cebbec02aa8aa17b99c5&quot; rel=&quot;nofollow&quot;&gt;On the Approximation of Finding A(nother) Hamiltonian Cycle in Cubic Hamiltonian Graphs&lt;/a&gt;, Journal of Algorithms 31, 249-268, 1999.&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2010-08-27T17:13:02.303" LastActivityDate="2010-08-27T20:23:07.123" Title="Best bounds for the longest path optimization problem in cubic Hamiltonian graph?" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;graph-theory&gt;&lt;hamiltonian-paths&gt;" AnswerCount="3" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="675" PostTypeId="1" AcceptedAnswerId="695" CreationDate="2010-08-27T13:41:36.160" Score="10" ViewCount="427" Body="&lt;p&gt;In &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=313772&quot; rel=&quot;nofollow&quot;&gt;SODA 1995&lt;/a&gt;, Jeff Erickson showed lower bounds for linear satisfiability (checking if a some $r$-subset of $n$ real numbers satisfies a linear equation on $r$ variables). The proof method uses infinitesimals and Tarski's &lt;a href=&quot;http://en.wikipedia.org/wiki/Transfer_principle&quot; rel=&quot;nofollow&quot;&gt;transfer principle&lt;/a&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Could someone explain the intuition behind the route taken to prove this bound ? What is the difficulty in coming up with a direct proof like this: &quot;Given a decision tree which takes real numbers, here's how we can construct an adversarial input&quot; ?&lt;/p&gt;&#xA;" OwnerUserId="547" LastEditorUserId="186" LastEditDate="2011-03-14T08:10:34.290" LastActivityDate="2011-03-14T08:10:34.290" Title="Lower bounds for linear satisfiability problem" Tags="&lt;cg.comp-geom&gt;&lt;lower-bounds&gt;&lt;algebraic-complexity&gt;" AnswerCount="2" CommentCount="3" FavoriteCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="676" PostTypeId="2" ParentId="674" CreationDate="2010-08-27T13:42:12.527" Score="2" Body="&lt;p&gt;Well, it is trivial. There is a path on $n$ vertices, as the graph is Hamiltonian. Perhaps you meant to ask something else?&lt;/p&gt;&#xA;" OwnerUserId="633" LastActivityDate="2010-08-27T13:42:12.527" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="677" PostTypeId="2" ParentId="376" CreationDate="2010-08-27T14:07:30.517" Score="7" Body="&lt;p&gt;See Nils Anders Danielsson, &lt;a href=&quot;http://www.cs.nott.ac.uk/~nad/publications/danielsson-popl2008.html&quot; rel=&quot;noreferrer&quot;&gt;Lightweight Semiformal Time Complexity Analysis for Purely Functional Data Structures&lt;/a&gt; which is implemented as a library in Agda. The citations given in the paper also look very promising.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One key takeaway for me is that it is appropriate/useful/reasonable/semi-automatable to derive the time complexity of algorithms in the simply typed lambda calculus especially if those algorithms are easily expressible in it (i.e. purely functional) and very especially if those algorithms make essential use of, e.g., call-by-name semantics. Along with this is the probably obvious point that one does not calculate complexity just &quot;in the lambda calculus&quot; but in the lambda calculus under a given evaluation strategy.&lt;/p&gt;&#xA;" OwnerUserId="351" LastActivityDate="2010-08-27T14:07:30.517" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="678" PostTypeId="2" ParentId="189" CreationDate="2010-08-27T14:57:31.760" Score="27" Body="&lt;p&gt;How about &lt;a href=&quot;http://en.wikipedia.org/wiki/Grover%27s_algorithm&quot;&gt;Grover's algorithm&lt;/a&gt;? It's one of the simplest quantum algorithms, and allows you to search an unsorted database in $O(\sqrt N)$. It is provably optimal, and also provably outperforms any classical algorithm. For a bonus it is very easy to understand and intuitive.&lt;/p&gt;&#xA;" OwnerUserId="204" LastEditorUserId="74" LastEditDate="2010-08-29T18:20:03.447" LastActivityDate="2010-08-29T18:20:03.447" CommentCount="0" CommunityOwnedDate="2010-08-27T14:57:31.760" ContentLicense="CC BY-SA 2.5" />
  <row Id="679" PostTypeId="2" ParentId="569" CreationDate="2010-08-27T16:37:07.690" Score="16" Body="&lt;p&gt;In TCS, another approach to this problem has been via &lt;i&gt;property testing of distributions&lt;/i&gt;, where one is to distinguish whether a distribution is (truly) uniform distribution or is &quot;not even close&quot; to being uniform (in a formal way). Here one gets precise bounds on the number of samples needed to decide on the question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See, for example Section 6 of the following tutorial:&#xA;&lt;a href=&quot;http://people.csail.mit.edu/ronitt/papers/icm.ps&quot; rel=&quot;noreferrer&quot;&gt;http://people.csail.mit.edu/ronitt/papers/icm.ps&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In particular, one can decide whether a distribution on $[n]$ is truly uniform or is $\epsilon$-far (in &lt;a href=&quot;http://en.wikipedia.org/wiki/Total_variation_distance_of_probability_measures&quot; rel=&quot;noreferrer&quot;&gt;total variation distance&lt;/a&gt;) from uniform with $O(\sqrt{n}/\epsilon^4)$ queries/samples from the said distribution. (This is also tight in the sense that $\Omega(\sqrt{n})$ samples are needed.)&lt;/p&gt;&#xA;" OwnerUserId="152" LastEditorUserId="-1" LastEditDate="2017-07-19T07:48:12.547" LastActivityDate="2017-07-19T07:48:12.547" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="680" PostTypeId="2" ParentId="675" CreationDate="2010-08-27T17:43:11.283" Score="2" Body="&lt;p&gt;Indeed, the main argument &lt;strong&gt;is&lt;/strong&gt; to construct a decision tree and design adversarial input, but there are technical issues with doing this that the infinitesimals avoid. Look at the discussion at the bottom of page 2 first column, and continuing on, which explains this fairly clearly. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2010-08-27T17:43:11.283" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="681" PostTypeId="1" CreationDate="2010-08-27T18:31:18.160" Score="36" ViewCount="2071" Body="&lt;p&gt;The problem is to compute the polynomial $(a_1 x + b_1) \times \cdots \times (a_n x + b_n)$. Assume that all coefficients fit in a machine word, i.e. can be manipulated in unit time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can do $O(n \log^2 n)$ time by applying FFT in a tree fashion. Can you do $O(n \log n)$?&lt;/p&gt;&#xA;" OwnerUserId="106" LastEditorUserId="80" LastEditDate="2010-09-09T07:22:53.463" LastActivityDate="2010-09-24T06:31:37.537" Title="Multiplying n polynomials of degree 1" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;open-problem&gt;&lt;polynomials&gt;" AnswerCount="1" CommentCount="13" FavoriteCount="14" ContentLicense="CC BY-SA 2.5" />
  <row Id="682" PostTypeId="1" AcceptedAnswerId="689" CreationDate="2010-08-27T18:45:19.067" Score="22" ViewCount="2144" Body="&lt;p&gt;If $f$ is a convex function then Jensen's inequality states that $f(\textbf{E}[x]) \le \textbf{E}[f(x)]$, and &lt;em&gt;mutatis mutandis&lt;/em&gt; when $f$ is concave.  Clearly in the worst case you cannot upper bound $\textbf{E}[f(x)]$ in terms of $f(\textbf{E}[x])$ for a convex $f$, but is there a bound that goes in this direction if $f$ is convex but &quot;not too convex&quot;?  Is there some standard bound that  gives conditions on a convex function $f$ (and possibly the distribution as well, if necessary) that would allow you to conclude that $\textbf{E}[f(x)] \le \varphi(f)f(\textbf{E}[x])$, where $\varphi(f)$ is some function of the curvature/degree of convexity of $f$?  Something akin to a Lipschitz condition, perhaps?&lt;/p&gt;&#xA;" OwnerUserId="205" LastEditorUserId="205" LastEditDate="2010-08-27T20:03:19.083" LastActivityDate="2016-06-29T01:10:04.493" Title="Bounds on $E[f(x)]$ in terms of $f(E[x])$ other than Jensen's inequality?" Tags="&lt;randomness&gt;&lt;pr.probability&gt;&lt;randomized-algorithms&gt;" AnswerCount="2" CommentCount="5" FavoriteCount="13" ContentLicense="CC BY-SA 2.5" />
  <row Id="683" PostTypeId="2" ParentId="674" CreationDate="2010-08-27T19:16:56.353" Score="4" Body="&lt;p&gt;&lt;s&gt;I'm pretty sure that the best known polynomial time solution is still Alon, Yuster, and Zwick's color coding technique (&lt;a href=&quot;http://doi.acm.org/10.1145/210332.210337&quot; rel=&quot;nofollow&quot;&gt;JACM 1995&lt;/a&gt;) which finds paths of logarithmic length in polynomial time (without needing the assumptions that the graph is cubic and Hamiltonian, only that it has a path of that length).&lt;/s&gt; This part is not the best known; see Björklund's answer for longer paths in polynomial time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A related problem is the best (exponential) time bound for finding the whole Hamiltonian cycle, which I believe is O(1.251^n) due to Iwama and Nakashima (&lt;a href=&quot;http://dx.doi.org/10.1007/978-3-540-73545-8_13&quot; rel=&quot;nofollow&quot;&gt;COCOON 2007&lt;/a&gt;) improving &lt;a href=&quot;http://arxiv.org/abs/cs.DS/0302030&quot; rel=&quot;nofollow&quot;&gt;one of my papers&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="95" LastEditorUserId="95" LastEditDate="2010-08-27T20:23:07.123" LastActivityDate="2010-08-27T20:23:07.123" CommentCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="684" PostTypeId="2" ParentId="674" CreationDate="2010-08-27T19:19:14.527" Score="8" Body="&lt;p&gt;Check out&#xA;&quot;Finding long paths and cycles in sparse Hamiltonian graphs&quot;&#xA;by Feder, Motwani, and Subi from STOC 2000. AFAIK, this is the best algorithm known to date.&lt;/p&gt;&#xA;" OwnerUserId="679" LastActivityDate="2010-08-27T19:19:14.527" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="685" PostTypeId="1" AcceptedAnswerId="733" CreationDate="2010-08-27T19:47:46.637" Score="19" ViewCount="922" Body="&lt;p&gt;Is there any survey of algorithms for computing interpolants? What about papers on only one algorithm? The case I'm most interested in is $A=\lnot p\land q$ and $C=q$, plus the constraint that the interpolant is as small as possible. (I know of &lt;a href=&quot;http://scholar.google.com/scholar?cluster=13742734153103775403&quot;&gt;McMillan's paper from 2005&lt;/a&gt;, which describes how to get interpolants, while avoiding quantifiers.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Background:&lt;/strong&gt; &lt;a href=&quot;http://en.wikipedia.org/wiki/Craig_interpolation&quot;&gt;Craig's interpolation&lt;/a&gt; theorem (1957) says that if $\vdash_{T_A\cup T_C}A\to C$, where $A$ is a (&lt;a href=&quot;http://en.wikipedia.org/wiki/First-order_logic&quot;&gt;fol&lt;/a&gt;) formula in $T_A$ and $C$ is a formula of $T_C$, then there is a formula $B$ such that $\vdash_{T_A}A\to B$ and $\vdash_{T_C}B\to C$. Formula $B$ is a &lt;em&gt;Craig interpolant&lt;/em&gt; of $A$ and $C$ (or, in alternative definitions, of $A$ and $\lnot C$). A trivial interpolant of $\lnot p\land q$ and $q$ is $q$, &lt;em&gt;but&lt;/em&gt; I want a &lt;em&gt;small&lt;/em&gt; interpolant, for some reasonable definition of 'small' (such as syntactic size). (Interpolants have many uses and, in case you are curious, here's &lt;a href=&quot;http://research.microsoft.com/en-us/um/people/leino/papers/krml142-slides-wg23.pdf&quot;&gt;one&lt;/a&gt;.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Motivation:&lt;/strong&gt; This would be useful in (very) incremental program verification via verification condition generation.&lt;/p&gt;&#xA;" OwnerUserId="236" LastEditorUserId="186" LastEditDate="2011-05-18T04:56:49.770" LastActivityDate="2012-12-26T01:12:43.530" Title="What algorithms are known for computing Craig interpolants?" Tags="&lt;reference-request&gt;&lt;lo.logic&gt;&lt;proof-complexity&gt;&lt;feasible-interpolation&gt;" AnswerCount="3" CommentCount="4" FavoriteCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="686" PostTypeId="1" AcceptedAnswerId="687" CreationDate="2010-08-27T20:04:32.203" Score="11" ViewCount="2124" Body="&lt;p&gt;I wonder if NPC classes defined by many-one reductions and Turing reductions are equal.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit:&#xA;Another question, are Turing reductions only collapsing C and co-C classes for some C or is there a class $C$ such as there exists a problem not in $C \cup co-C$ under Karp reduction and which is in $C$ under Turing reduction ?&lt;/p&gt;&#xA;" OwnerUserId="378" LastEditorUserId="1677" LastEditDate="2010-11-27T12:41:07.940" LastActivityDate="2016-05-06T08:33:54.700" Title="Do many-one reductions and Turing reductions define the same class NPC" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;&lt;reductions&gt;" AnswerCount="6" CommentCount="11" FavoriteCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="687" PostTypeId="2" ParentId="686" CreationDate="2010-08-27T20:19:29.257" Score="7" Body="&lt;p&gt;Have a look at this &lt;a href=&quot;https://cstheory.stackexchange.com/questions/138/many-one-reductions-vs-turing-reductions-to-define-npc&quot;&gt;this question&lt;/a&gt; and especially &lt;a href=&quot;https://cstheory.stackexchange.com/questions/138/many-one-reductions-vs-turing-reductions-to-define-npc/139#139&quot;&gt;this answer&lt;/a&gt; by Aaron Sterling. In short: &quot;they are conjectured to be distinct notions.&quot;&lt;/p&gt;&#xA;" OwnerUserId="127" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2010-08-27T20:19:29.257" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="688" PostTypeId="2" ParentId="682" CreationDate="2010-08-27T20:40:53.587" Score="3" Body="&lt;p&gt;For insight, consider a distribution concentrated on two values; say, with equal probabilities of 1/2 that it equal 1 or 3, whence  $\textbf{E}[x] = 2$.  Take $N &gt;&gt; 0$ and $\epsilon &gt; 0$.  Consider functions $f$ for which $f(1) = f(3)= N\epsilon$ and $f(\textbf{E}[x]) = f(2) = \epsilon$.  By making $\epsilon$ sufficiently small and connecting $f$ continuously among these three points we can make the curvature of $f$ as small as desired.  Then&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\textbf{E}[f(x)] = N\epsilon$, yet&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$N = N\epsilon / \epsilon = \textbf{E}[f(x)] / f(\textbf{E}[x]) \le \varphi(f)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This shows $\varphi(f)$ must be arbitrarily large.&lt;/p&gt;&#xA;" OwnerUserId="564" LastActivityDate="2010-08-27T20:40:53.587" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="689" PostTypeId="2" ParentId="682" CreationDate="2010-08-27T20:43:31.857" Score="21" Body="&lt;p&gt;EDIT: original version missed an absolute value.  sorry!!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hi Ian.  I will briefly outline two sample inequalities, one using a Lipschitz bound, the other using a bound on the second derivative, and then discuss some difficulties in this problem.  Although I'm being redundant, since an approach using one derivative explains what happens with more derivatives (via Taylor), it turns out that the second derivative version is quite nice.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First, with a Lipschitz bound: simply re-work the standard Jensen inequality.  The same trick applies: compute the Taylor expansion at the expected value.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Specifically, Let $X$ have corresponding measure $\mu$, and set $m := \textrm E(x)$.&#xA;If $f$ has Lipschitz constant $L$, then by Taylor's theorem&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;f(x) = f(m) + f'(z)(x-m) \leq f(m) + L|x-m|,&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where $z \in [m, x]$ (note that $x\leq m$ and $x&amp;gt; m$ are possible). Using this and re-working the Jensen proof (I am paranoid and checked that the standard one is indeed on wikipedia),&lt;/p&gt;&#xA;&#xA;&lt;p&gt;\begin{align}&#xA;\operatorname{E}(f(X)) &amp;amp; = &#xA;\int f(x) \, d\mu(x) &#xA;\leq f(m) \int d\mu(x) + L\int |x-m| \, d\mu(x) \\[6pt]&#xA;&amp;amp; = f(\operatorname{E}(X)) + L \operatorname{E} (|X-\operatorname{E}(X)|).&#xA;\end{align}&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, suppose $|f''(x)| \leq \lambda$.  In this case,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;\begin{align}&#xA;f(x) &amp;amp; = f(m) + f'(m)(x-m) + f''(z) \frac{(x-m)^2} 2 \\[6pt]&#xA;&amp;amp; \leq f(m) + f'(m)(x-m) + \lambda \frac{(x-m)^2} 2,&#xA;\end{align}&lt;/p&gt;&#xA;&#xA;&lt;p&gt;and so&lt;/p&gt;&#xA;&#xA;&lt;p&gt;\begin{align}&#xA;\operatorname{E}(f(X))&#xA;&amp;amp; \leq f(m) + f'(m)(\operatorname{E}(X) - m) + \frac {\lambda \operatorname{E}((X-m)^2)}{2} \\[6pt]&#xA;&amp;amp; = f(\operatorname{E}(X)) + \frac {\lambda \operatorname{Var}(X)}2.&#xA;\end{align}&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'd like to briefly mention a few things.  Sorry if they are obvious.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One is that, you can't merely say &quot;wlog $\operatorname{E}(X) = 0$&quot; by shifting the distribution, because you are changing the relationship between $f$ and $\mu$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Next is that the bound &lt;em&gt;must&lt;/em&gt; depend on the distribution in some way.  To see this, imagine that $X \sim \textrm{Gaussian}(0, \sigma^2)$ and $f(x) = x^2$.  Whatever the value of $\sigma$, you still get $f(\operatorname{E}(X)) = f(0) = 0$.  On the other hand, $\operatorname{E}(f(X)) = \operatorname{E}(X^2) = \sigma^2$.  Thus, by changing $\sigma$, you can make the gap between the two quantities arbitrary!  Intuitively, more mass is pushed away from the mean, and thus, for any strictly convex function, $\operatorname{E} (f(X))$ will increase.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Lastly, I don't see how to get a multiplicative bound like you suggest.  Everything I have used in this post is standard: Taylor's theorem and derivative bounds are bread&amp;amp;butter in statistics bounds, and they automatically give additive, not multiplicative errors.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I will think about it though, and post something.  Vague intuition is it will need very strenous conditions on both the function and the distribution, and that the additive bound is actually at the heart of it.&lt;/p&gt;&#xA;" OwnerUserId="336" LastEditorUserId="-1" LastEditDate="2016-06-29T01:10:04.493" LastActivityDate="2016-06-29T01:10:04.493" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="690" PostTypeId="1" CreationDate="2010-08-27T21:11:19.257" Score="8" ViewCount="401" Body="&lt;p&gt;Trifonov and Smith's &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.29.5192&quot;&gt;Subtyping Constrained Types&lt;/a&gt; (1996) introduces constraint maps to represent consistent closed constraint sets (such maps providing sets of lower and upper bounds to each variable in their domain), and canonical constraint maps for which each variable has exactly one constructed upper and one constructed lower bound. They note that constraint maps and canonical constraint maps have potential as an implementation technique.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, the work I am familiar with on algorithms for polymorphic type inference in the presence of constraints (essentially, Pottier and Rémy's &lt;a href=&quot;http://cristal.inria.fr/attapl/&quot;&gt;The essence of ML type inference&lt;/a&gt;, and the range of research cited therein -- also see Simonet's &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.2.6659&quot;&gt;Type inference with structural subtyping&lt;/a&gt;, and Odersky, Sulzmann and Wehr's &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.40.1443&quot;&gt;Type inference with constrained types&lt;/a&gt;) does not appear to use the constraint map representation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Have Trifonov and Smith's constraint maps been put to use in any published works (or actual implementations in the wild)? Were there any obstacles to doing so, or was this line of research simply not pursued?&lt;/p&gt;&#xA;" OwnerUserId="351" LastEditorUserId="270" LastEditDate="2010-08-30T17:40:30.570" LastActivityDate="2010-08-30T17:40:30.570" Title="Type inference with subtype constraints and polymorphism using Trifonov and Smith's constraint maps" Tags="&lt;ds.algorithms&gt;&lt;pl.programming-languages&gt;&lt;type-inference&gt;&lt;type-theory&gt;&lt;polymorphism&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="691" PostTypeId="1" AcceptedAnswerId="694" CreationDate="2010-08-27T21:49:00.953" Score="1" ViewCount="433" Body="&lt;p&gt;My question may be stupid, but let's take the Baker-Gill-Soloway theorem as an example :&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There exists an oracle A such as $P^A = NP^A$ and an oracle B such as $P^B \neq NP^B$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we take both oracles A and B, I suppose we have $P^{A,B} = NP^{A,B}$ and $P^{A,B} \neq NP^{A,B}$, and then, theory wouldn't be consistent.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What says us that the theory with only oracle A is consistent ? If such theory isn't consistent, then there could be non-relativizing proofs of $P \neq NP$.&lt;/p&gt;&#xA;" OwnerUserId="378" LastEditorUserId="378" LastEditDate="2010-09-19T17:47:14.550" LastActivityDate="2010-09-19T17:47:14.550" Title="Shouldn't relativisation contain consistency proof ?" Tags="&lt;cc.complexity-theory&gt;" AnswerCount="2" CommentCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="692" PostTypeId="2" ParentId="34" CreationDate="2010-08-27T22:10:36.713" Score="62" Body="&lt;p&gt;For the special case you mention when each character appears at most&#xA;four times, there is a simple reduction to 2-SAT (unless I'm missing&#xA;something...), as follows:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The crucial point is that for each character, there are (at most) two&#xA;valid ways of matching the occurrences of the character (the third&#xA;possibility will be nesting).  Use a boolean variable to represent&#xA;which of the two matchings is chosen.  Now an assignment to these&#xA;variables gives a valid unshuffle of the string iff for every pair of&#xA;edges that are nested, not both were chosen.  This condition can be&#xA;precisely described by a disjunction of the variables (possibly&#xA;negated) corresponding to the two characters involved.&lt;/p&gt;&#xA;" OwnerUserId="664" LastActivityDate="2010-08-27T22:10:36.713" CommentCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="693" PostTypeId="2" ParentId="624" CreationDate="2010-08-27T22:29:17.407" Score="12" Body="&lt;p&gt;The answer to your question depends on how you define &quot;computations&quot; and &quot;represented&quot;. The &lt;a href=&quot;http://lambda-the-ultimate.org/node/3993&quot;&gt;thread on LtU that sclv mentioned&lt;/a&gt;, on the other hand, consists mostly of people talking past each other due to misaligned definitions of various terms.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The distinction is certainly not one of computational power--every system under consideration is Turing-equivalent. At issue is that mere Turing-equivalence doesn't really say anything about the structure or semantics of an expression. For that matter, in extremely minimalist models of computation that require complex encodings or non-trivial initial states, it may even be unclear whether a system &lt;em&gt;is&lt;/em&gt; capable of universal computation, or whether an illusion of universality is being created by someone's interpretation of the system. For instance, see &lt;a href=&quot;http://cs.nyu.edu/pipermail/fom/2007-October/012120.html&quot;&gt;this mailing list discussion&lt;/a&gt; regarding a 2-state, 3-symbol Turing machine, particularly the concerns raised by Vaughan Pratt.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;At any rate, the distinction drawn is between something like:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Things that can be represented directly in a system, by assigning semantics to the primitive operations in such a way that the operations necessarily preserve the semantics&lt;/li&gt;&#xA;&lt;li&gt;Things that can be represented &quot;indirectly&quot;, by specifying an interpretation procedure performed outside of the system, where the interpretation is assumed to be &quot;simpler&quot; than the system in some sense&lt;/li&gt;&#xA;&lt;li&gt;Things that can be simulated in a system by a complete layer of indirection, such as by constructing an interpreter for a different system that provides a direct representation.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Turing-equivalence only implies that a system meets the third criterion for any computable function, whereas it is most often the first criterion that we care about, in either a formal system of logic or a programming language (to whatever extent those actually differ).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;That's a very informal description, but the essential idea can be nailed down more precisely. In the aforementioned LtU thread can be found a &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.51.4656&quot;&gt;couple&lt;/a&gt; &lt;a href=&quot;http://www.cs.bham.ac.uk/~pbl/papers/&quot;&gt;references&lt;/a&gt; to existing work along similar lines.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Both Schönfinkel's combinatory logic and Church's λ-calculus were initially devised as distilled abstractions of logical reasoning, and as such, their structure maps very neatly onto logical reasoning and vice versa. They also carry an assumption of &lt;a href=&quot;http://en.wikipedia.org/wiki/Extensionality&quot;&gt;extensionality&lt;/a&gt;, such as described by the eta-reduction rule: &lt;code&gt;λx. f x&lt;/code&gt;, where &lt;code&gt;x&lt;/code&gt; does not occur in &lt;code&gt;f&lt;/code&gt;, is equivalent to just &lt;code&gt;f&lt;/code&gt; alone.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In practice, a very strict notion of extensionality can be too limiting, while unrestrained intensionality makes local reasoning about sub-expressions difficult or impossible. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The SF-calculus is a modified combinator calculus that provides, as a primitive operation, a limited form of intensional analysis: The ability to deconstruct partially-applied expressions, but not primitive values or non-normalized expressions. This happens to map nicely onto ideas like pattern matching as found in ML-style programming languages or macros as found in Lisps, but cannot be described in SK- or λ-calculus without, effectively, implementing an interpreter for evaluating &quot;intensional&quot; terms.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, in summary: The SF-calculus cannot be represented directly in λ-calculus in the sense that the best representation possible most likely involves implementing an SF-calculus interpreter, and the reason for this is a fundamental semantic difference: Do expressions have internal structure, or are they defined purely by their external behavior?&lt;/p&gt;&#xA;" OwnerUserId="53" LastActivityDate="2010-08-27T22:29:17.407" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="694" PostTypeId="2" ParentId="691" CreationDate="2010-08-27T23:47:49.253" Score="5" Body="&lt;p&gt;Whether or not $P^{A,B}$ equals $NP^{A,B}$ is going on the particular oracle languages A and B that you are using.  Iirc, in the BGS paper the language A is TQBF (or any other PSPACE-complete language).  The language B, somewhat ironically, is actually defined via a diagonalization construction.  Now, if you use the construction from the paper and apply it to TMs with an A oracle, then the resulting language B will be such that $P^{A,B} \ne NP^{A,B}$.  On the other hand, if you stick with the original language B from the paper, it will depend on the details of B's construction.  If B is in PSPACE (I don't know offhand if it is or not), then a TM with an A oracle could simulate any queries to B, and you should have $P^{A,B} = NP^{A,B}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The bottom line, though, is that this has nothing to do with consistency--it is just a technical question about the specific oracle languages A and B (and you could get different answers depending on the particular choices of A and B that you use).&lt;/p&gt;&#xA;" OwnerUserId="184" LastActivityDate="2010-08-27T23:47:49.253" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="695" PostTypeId="2" ParentId="675" CreationDate="2010-08-28T01:55:56.247" Score="15" Body="&lt;p&gt;I &lt;em&gt;strongly&lt;/em&gt; suggest reading the more recent &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=1059513.1059515&quot; rel=&quot;nofollow&quot;&gt;followup paper by Ailon and Chazelle&lt;/a&gt;, which avoids the whole infinitesimal issue entirely.  If you want to stick with my paper, please read the journal version (&lt;a href=&quot;http://cjtcs.cs.uchicago.edu/articles/1999/8/contents.html&quot; rel=&quot;nofollow&quot;&gt;Chicago J Theoretical Computer Science 1999&lt;/a&gt;).  The SODA version has a major bug in Section 5, and (I think) the journal version explains the main proof much more clearly.&lt;/p&gt;&#xA;" OwnerUserId="111" LastEditorUserId="111" LastEditDate="2010-08-28T16:11:21.370" LastActivityDate="2010-08-28T16:11:21.370" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="696" PostTypeId="1" AcceptedAnswerId="698" CreationDate="2010-08-28T02:10:13.983" Score="19" ViewCount="687" Body="&lt;p&gt;It is well-known that the set of languages having two-prover interactive proof systems, in which the verifier runs in polynomial-time (MIP), is NEXP. But are there bounds known on the power of such interactive proofs when the provers are restricted in power? E.g., what is the class of languages that admit two-prover interactive proofs with polynomial-time provers? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;More precisely, let's say that on an input x I allow the provers arbitrary pre-computation time, but once the interaction with the verifier starts they are restricted to using polynomial space (including storing the results of any pre-computation), and polynomial time to compute their answers to the verifier's question. Let's also assume that these space and time bounds are a fixed polynomial in the length of the questions that will be sent by the verifier (instead of the length of x), in order to preclude a more trivial solution in which the verifier would somehow exhaust the prover's space bound by asking polynomially more questions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Clearly, this is enough for NP. What about PSPACE? If there was only the space bound they could do it, but what with the time bound? Are there any interesting results in that direction?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am also interested in other limitations that one might consider on the provers. One of those would be the amount of communication prover-&gt;verifier, which I think has been thoroughly studied in the context of PCPs. What are the other interesting constraints?&lt;/p&gt;&#xA;" OwnerUserId="166" LastEditorUserId="186" LastEditDate="2010-09-27T11:04:28.113" LastActivityDate="2010-09-27T11:04:28.113" Title="MIP with efficient provers" Tags="&lt;cc.complexity-theory&gt;&lt;interactive-proofs&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="697" PostTypeId="1" AcceptedAnswerId="699" CreationDate="2010-08-28T02:16:42.663" Score="5" ViewCount="627" Body="&lt;p&gt;In this &lt;a href=&quot;http://www.ee.ryerson.ca/~elf/pub/misc/micromanualLISP.pdf&quot; rel=&quot;noreferrer&quot;&gt;paper&lt;/a&gt; McCarthy sets out the following primitives: &lt;code&gt;QUOTE&lt;/code&gt;, &lt;code&gt;CAR&lt;/code&gt;, &lt;code&gt;CDR&lt;/code&gt;, &lt;code&gt;CONS&lt;/code&gt;, &lt;code&gt;EQUAL&lt;/code&gt;, &lt;code&gt;ATOM&lt;/code&gt;, &lt;code&gt;COND&lt;/code&gt;, &lt;code&gt;LAMBDA&lt;/code&gt; and &lt;code&gt;LABEL&lt;/code&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;He then sets up the following abbreviations: &lt;code&gt;T&lt;/code&gt;, &lt;code&gt;NIL&lt;/code&gt;, &lt;code&gt;DEFUN&lt;/code&gt;, &lt;code&gt;NULL&lt;/code&gt;, &lt;code&gt;CADR&lt;/code&gt;, &lt;code&gt;LIST&lt;/code&gt;, &lt;code&gt;AND&lt;/code&gt;, &lt;code&gt;ALT&lt;/code&gt;, and &lt;code&gt;SUBST&lt;/code&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;He rounds it up with an incredible definition of the &lt;code&gt;EVAL&lt;/code&gt; function used in the reader. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given the above set of LISP primitives, is it possible to extend the &lt;code&gt;EVAL&lt;/code&gt; function to evaluate defmacro?&lt;/p&gt;&#xA;" OwnerUserId="608" LastActivityDate="2012-12-07T12:35:20.600" Title="Given the following set of LISP primitives, is it possible to extend the eval function to evaluate defmacro?" Tags="&lt;functional-programming&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="698" PostTypeId="2" ParentId="696" CreationDate="2010-08-28T02:36:02.267" Score="17" Body="&lt;p&gt;It sounds like this class would be exactly MA.  The witness could be the results of pre-processing (which is of polynomial size).  The probabilistic verification procedure would then be to simulate the protocol, including the multiple provers (who are polynomial-time given the results of pre-processing).  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Russell Impagliazzo&lt;/p&gt;&#xA;" OwnerUserId="332" LastActivityDate="2010-08-28T02:36:02.267" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="699" PostTypeId="2" ParentId="697" CreationDate="2010-08-28T03:19:32.773" Score="2" Body="&lt;p&gt;Yes, in fact it's quite similar to evaluating &lt;code&gt;DEFUN&lt;/code&gt;. Of course, in the paper &lt;code&gt;EVAL&lt;/code&gt; has no rule for evaluating &lt;code&gt;DEFUN&lt;/code&gt;, since it's treated as an abbreviation. From the definition of &lt;code&gt;DEFMACRO&lt;/code&gt; in emacs LISP (&lt;a href=&quot;http://www.gnu.org/software/emacs/elisp/html_node/Defining-Macros.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;link&lt;/a&gt;):&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Special Form: defmacro name argument-list body-forms...&lt;/p&gt;&#xA;&lt;p&gt;defmacro defines the symbol name as a macro that looks like this:&lt;/p&gt;&#xA;&lt;p&gt;&lt;code&gt;(macro lambda argument-list . body-forms)&lt;/code&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;It's easier if we ignore the name of the macro and treat that as an abbreviation. Then we have simply to create the list &lt;code&gt;(macro lambda argument-list . body-forms)&lt;/code&gt; and set &lt;code&gt;name&lt;/code&gt; to be shorthand for that list, the same way a &lt;code&gt;(defun name (arguments) (body))&lt;/code&gt; sets &lt;code&gt;name&lt;/code&gt; as a shorthand for &lt;code&gt;(lambda (arguments) (body))&lt;/code&gt;. As for evaluating a macro, that is also easy --- just pass the function inside the macro your arguments, but WITHOUT evaluating them first.&lt;/p&gt;&#xA;" OwnerUserId="161" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2010-08-28T03:19:32.773" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="701" PostTypeId="2" ParentId="189" CreationDate="2010-08-28T05:21:05.193" Score="85" Body="&lt;p&gt;I'm surprised not to see the &lt;a href=&quot;http://en.wikipedia.org/wiki/Floyd%E2%80%93Warshall_algorithm&quot;&gt;Floyd-Warshall algorithm&lt;/a&gt; for all-pairs shortest paths here:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;d[]: 2D array. d[i,j] is the cost of edge ij, or inf if there is no such edge.&#xA;&#xA;for k from 1 to n:&#xA;  for i from 1 to n:&#xA;    for j from 1 to n:&#xA;      d[i,j] = min(d[i,j], d[i,k] + d[k,j])&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;One of the shortest, clearest non-trivial algorithms going, and $O(n^3)$ performance is very snappy when you consider that there could be $O(n^2)$ edges.  That would be my poster child for dynamic programming!&lt;/p&gt;&#xA;" OwnerUserId="651" LastActivityDate="2010-08-28T05:21:05.193" CommentCount="2" CommunityOwnedDate="2010-08-28T05:21:05.193" ContentLicense="CC BY-SA 2.5" />
  <row Id="703" PostTypeId="2" ParentId="686" CreationDate="2010-08-28T06:14:31.337" Score="8" Body="&lt;p&gt;This doesn't answer your question, but one could ask the same question for weaker reductions. For example, does the set of NP-complete problems change if we permit only log space reductions, or only AC&lt;sup&gt;0&lt;/sup&gt; reductions, or even NC&lt;sup&gt;0&lt;/sup&gt; reductions. A suprising fact is that all known NP-complete problems are complete even with NC&lt;sup&gt;0&lt;/sup&gt; reductions. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Reference: Agrawal, M., Allender, E., and Rudich, S. 1997 Reductions in Circuit Complexity: an Isomorphism Theorem and a Gap Theorem.&lt;/p&gt;&#xA;" OwnerUserId="206" LastActivityDate="2010-08-28T06:14:31.337" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="704" PostTypeId="2" ParentId="609" CreationDate="2010-08-28T08:08:02.560" Score="8" Body="&lt;p&gt;An earlier observation in the same vein as Williams' is given in&#xA;&quot;Limited vs. Polynomial Nondeterminism&quot; by Feige and Kilian in&#xA; The Chicago Journal of Theoretical Computer Science (1997)&lt;/p&gt;&#xA;" OwnerUserId="679" LastActivityDate="2010-08-28T08:08:02.560" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="705" PostTypeId="1" AcceptedAnswerId="712" CreationDate="2010-08-28T09:08:05.143" Score="5" ViewCount="277" Body="&lt;p&gt;Assume that $P \neq NP$ and let $NPI = NP \setminus (P \cup NPC)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $L \in NPI$ be a language over an alphabet $\mathcal{A}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does there always exist $S \subset \mathcal{A}^*$ such as $(L \cup S) \in NPC$ ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the removal side, Ladner showed that for each $L \in NPI$, there exists $S \subset L$, $S \neq L$ such as $S \in NPI$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What are known theorems around those kind of operations ?&lt;/p&gt;&#xA;" OwnerUserId="378" LastEditorUserId="378" LastEditDate="2010-08-28T09:29:07.450" LastActivityDate="2010-08-28T18:27:28.303" Title="Are there known &quot;completion&quot; operations over languages ?" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;" AnswerCount="1" CommentCount="6" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="706" PostTypeId="2" ParentId="696" CreationDate="2010-08-28T09:49:21.537" Score="2" Body="&lt;p&gt;If the two provers are restricted to be two BQP machines that do not communicate with each other, but share entanglement, while the verifier is in BPP, then the two provers can proof any language in BQP to the classical verifier using the &lt;a href=&quot;http://arxiv.org/abs/0807.4154v3&quot; rel=&quot;nofollow&quot;&gt;Universal Blind Quantum Computation&lt;/a&gt; protocol of Broadbent, Fitzsimons, and Kashefi. This protocol has also been used by the same authors as a building block to show &lt;a href=&quot;http://arxiv.org/abs/1004.1130v1&quot; rel=&quot;nofollow&quot;&gt;QMIP=MIP*&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="121" LastActivityDate="2010-08-28T09:49:21.537" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="707" PostTypeId="2" ParentId="691" CreationDate="2010-08-28T10:24:13.197" Score="2" Body="&lt;p&gt;You write &quot;the theory with only oracle A&quot;, what this means?&#xA;The oracle A is a set, the theory can prove some property on A, &#xA;or construct a set with certain properties. &#xA;The inconsistency of a theory with only oracle A, in any reasonable interpretation,&#xA;will imply the inconsistency of the theory. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is worth noticing that the provability of such oracles A,B do tell something.&#xA;As proven in Hartmanis and Hopcroft paper &quot;Independence results in computer science&quot;,&#xA;such A,B imply that there exist an oracle C, such that neither $P^C=NP^C$ and $P^C \neq NP^C$ are provable in any sound with a RE set of axioms theory, which means that the question is undecidable. C is not constructed as the join of A,B but mimic one of them from some point.&lt;/p&gt;&#xA;" OwnerUserId="364" LastActivityDate="2010-08-28T10:24:13.197" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="709" PostTypeId="1" AcceptedAnswerId="713" CreationDate="2010-08-28T13:49:20.260" Score="18" ViewCount="1210" Body="&lt;p&gt;Problem: We are given a set of sticks all having integer lengths. The total sum of their lengths is n(n+1)/2. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can we break them up to get sticks of size ${1,2,\ldots,n}$ in polynomial time?  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Surprisingly, the only reference I find for this problem is this ancient discussion:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.iwriteiam.nl/cutsticks.html&quot;&gt;http://www.iwriteiam.nl/cutsticks.html&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What else is known about the problem? Can we prove the problem to be `in the limbo'?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Update: The cutting-sticks problem has the constraint that each stick is at least $n$ units long. (See the comments and Tsuyoshi's answer for the unconstrained case).&lt;/em&gt;&lt;/p&gt;&#xA;" OwnerUserId="547" LastEditorUserId="547" LastEditDate="2010-08-29T10:58:16.573" LastActivityDate="2010-08-30T12:52:12.930" Title="Cutting-sticks puzzle" Tags="&lt;reference-request&gt;&lt;complexity-classes&gt;&lt;puzzles&gt;" AnswerCount="1" CommentCount="6" FavoriteCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="710" PostTypeId="1" CreationDate="2010-08-28T14:35:02.207" Score="15" ViewCount="7963" Body="&lt;p&gt;I'm undergraduate computer science student and I'm currently planning for my graduation project. I need some ideas in quantum computing field. any help?&lt;/p&gt;&#xA;" OwnerUserId="699" LastEditorUserId="873" LastEditDate="2010-09-27T09:09:21.893" LastActivityDate="2010-10-27T20:41:55.737" Title="Quantum computing project ideas" Tags="&lt;quantum-computing&gt;&lt;soft-question&gt;" AnswerCount="6" CommentCount="11" FavoriteCount="16" ContentLicense="CC BY-SA 2.5" />
  <row Id="711" PostTypeId="2" ParentId="609" CreationDate="2010-08-28T18:20:35.697" Score="5" Body="&lt;p&gt;As I understand it this problem is interesting even for random graphs (in the Erdős–Rényi model in which all graphs are equally likely): we know that the maximum clique size is $(2+o(1))\log_2 n$, but the biggest cliques we can find in polynomial time (e.g. by finding any maximal clique) have size only $(1+o(1))\log_2 n$. See e.g. the introduction of Alon, Krivelevich, and Sudakov, &quot;Finding a large hidden clique in a random graph&quot;, &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=314613.315014&quot; rel=&quot;nofollow&quot;&gt;SODA 1998&lt;/a&gt;, where they credit these observations to a 1976 paper of Karp and conjecture that no polynomial algorithm can do better than $(1+o(1))\log_2 n$.&lt;/p&gt;&#xA;" OwnerUserId="95" LastEditorUserId="95" LastEditDate="2010-08-29T05:49:35.170" LastActivityDate="2010-08-29T05:49:35.170" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="712" PostTypeId="2" ParentId="705" CreationDate="2010-08-28T18:27:28.303" Score="3" Body="&lt;p&gt;Some observations:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) For any NPI set $L$, there is an isomorphic set $L'$ and a set $S$ such that $L' \cup S$ is NP-complete.  Let $L' = \{0x : x \in L\}$ and let $S = \{ 1x : x \in SAT \}$.  This observation applies in a more direct manner to some of the natural suspected NPI sets (such as $GA$ -- see my comments on turkistany's answer).  It will also apply to the padded version of any set in $NEXP \backslash EXP$ (assuming $NEXP \neq EXP$, such a set is in NPI), for most reasonable ways of padding sets.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This rasises a potentially interesting question: &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is it the case that for any $L \in NPI$, there is an isomorphic language $L'$ and a set $S$ &lt;em&gt;that is not NP-complete&lt;/em&gt; such that $L' \cup S$ is NP-complete?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;2) R. Downey and L. Fortnow. Uniformly hard languages. Theoretical Computer Science, 298(2):303-315, 2003 (&lt;a href=&quot;http://people.cs.uchicago.edu/~fortnow/papers/uniform.pdf&quot; rel=&quot;nofollow&quot;&gt;available from Lance's web page&lt;/a&gt;).  They show that the current proofs of Ladner's Theorem cannot easily be modified to produce uniformly hard languages (their definition of uniform hardness is natural, but is also in a sense aimed at Ladner-type constructions; it is not simply almost-everywhere hardness).  In particular, they show that if $P = PSPACE$ there is a minimal uniformly hard language under honest reductions; in particular, there is no relativizing proof of Ladner's Theorem for honest p-degrees that produces uniformly hard languages.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In particular, that means that any relativizing proof of Ladner's Theorem that works for honest p-degrees (all known proofs fall in this category) produces sets with arbitrary polynomially-long stretches where they look like a set in $P$.  Now, that's not quite enough to be able to say that if $L$ is a language produced by such a construction then there is a set $S$ such that $L \cup S$ is NP-complete, but it's pretty close.&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2010-08-28T18:27:28.303" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="713" PostTypeId="2" ParentId="709" CreationDate="2010-08-28T19:43:27.120" Score="16" Body="&lt;p&gt;Caution: As Jukka Suomela commented on the question, the page linked from the question is about a problem different from the problem stated in the question in that the problem on the page has a restriction that the lengths of given sticks are greater than or equal to n.  This answer is about the problem without this restriction.  Since Emil’s comment on the question refers to the problem &lt;em&gt;with&lt;/em&gt; the restriction, there is no contradiction between his comment and the following answer.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;The problem is NP-complete, even if the numbers are given in unary.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The 3-partition problem is the following problem:&lt;br&gt;&#xA;&lt;em&gt;Instance&lt;/em&gt;: Positive integers a&lt;sub&gt;1&lt;/sub&gt;, …, a&lt;sub&gt;n&lt;/sub&gt; in unary, where n=3m and the sum of the n integers is equal to mB, such that each a&lt;sub&gt;i&lt;/sub&gt; satisfies B/4 &amp;lt; a&lt;sub&gt;i&lt;/sub&gt; &amp;lt; B/2.&lt;br&gt;&#xA;&lt;em&gt;Question&lt;/em&gt;: Can the integers a&lt;sub&gt;1&lt;/sub&gt;, …, a&lt;sub&gt;n&lt;/sub&gt; be partitioned into m multisets so that the sum of each multiset is equal to B?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The 3-partition problem is NP-complete even if a&lt;sub&gt;1&lt;/sub&gt;, …, a&lt;sub&gt;n&lt;/sub&gt; are all distinct [HWW08] (thank you to Serge Gaspers for &lt;a href=&quot;https://cstheory.stackexchange.com/questions/716/computational-complexity-of-the-3-partition-problem-with-distinct-numbers/758#758&quot;&gt;telling me about this&lt;/a&gt;).  It is possible to reduce this restricted version of the 3-partition problem to the problem in question as follows.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose that we are given an instance of the 3-partition problem consisting of distinct positive integers a&lt;sub&gt;1&lt;/sub&gt;, …, a&lt;sub&gt;n&lt;/sub&gt;.  Let m=n/3 and B=(a&lt;sub&gt;1&lt;/sub&gt;+…+a&lt;sub&gt;n&lt;/sub&gt;)/m, and let N be the maximum among a&lt;sub&gt;i&lt;/sub&gt;.  Consider the following instance of the stick problem: the instance consists of one stick of length k for each k∈{1, …, N}∖{a&lt;sub&gt;1&lt;/sub&gt;, …, a&lt;sub&gt;n&lt;/sub&gt;} and m sticks of length B.  By using the fact that each a&lt;sub&gt;i&lt;/sub&gt; satisfies a&lt;sub&gt;i&lt;/sub&gt; &amp;gt; B/4 ≥ N/2, it is easy to prove that this stick problem has a solution if and only if the instance of the 3-partition problem has a solution.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;References&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[HWW08] Heather Hulett, Todd G. Will, Gerhard J. Woeginger.  Multigraph realizations of degree sequences: Maximization is easy, minimization is hard.  &lt;em&gt;Operations Research Letters&lt;/em&gt;, 36(5):594–596, Sept. 2008.  &lt;a href=&quot;http://dx.doi.org/10.1016/j.orl.2008.05.004&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://dx.doi.org/10.1016/j.orl.2008.05.004&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="567" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2010-08-30T12:52:12.930" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="714" PostTypeId="2" ParentId="609" CreationDate="2010-08-28T20:22:46.213" Score="7" Body="&lt;p&gt;A (not unconditional) lower bound comes from the clique problem being complete for the parameterized complexity class W1.  That is, we do not expect to be able to find a clique of size $k$ in $f(k)n^c$.  So there is good reason to believe that the trivial upper bound may not be significantly improved.&lt;/p&gt;&#xA;" OwnerUserId="123" LastEditorUserId="123" LastEditDate="2010-09-13T12:22:34.270" LastActivityDate="2010-09-13T12:22:34.270" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="715" PostTypeId="2" ParentId="625" CreationDate="2010-08-28T21:11:28.483" Score="29" Body="&lt;p&gt;I would just like to point out that while the lambda calculus and Turing machines both compute the same class of number-theoretic functions, they are not precisely equivalent in every way imaginable. For example, in realizability theory there are statements which can be realized by a Turing machine but not by lambda calculus. One such statement is the formal Church's thesis, which states:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\forall f : \mathbf{nat} \to \mathbf{nat} \ \exists e \ \forall n \ \exists k \ \big( \mathbf{T}(e, n, k) \land \mathbf{U}(k,f(n)) \big)$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here $\mathbf{T}$ is &lt;a href=&quot;http://en.wikipedia.org/wiki/Kleene%27s_T_predicate&quot;&gt;Kleene's T predicate&lt;/a&gt;. A realizer for this statement would be a program $c$ that accepts a (representation of) map $f$ and outputs (a representation of) $e$ with the desired property. In the Turing machine model the map $f$ is represented by the code of a Turing machine that computes $f$, so the program $c$ is just (the code of a Turing machine computing) the identity function. However, if we use the lambda calculus, then $c$ is supposed to compute a numeral representing a Turing machine out of a lambda term representing a function $f$. This cannot be done (I can explain why, if you ask it as a separate question).&lt;/p&gt;&#xA;" OwnerUserId="705" LastEditorUserId="186" LastEditDate="2011-11-18T01:16:47.263" LastActivityDate="2011-11-18T01:16:47.263" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="716" PostTypeId="1" AcceptedAnswerId="758" CreationDate="2010-08-28T21:30:45.443" Score="23" ViewCount="2741" Body="&lt;p&gt;This question is related to an &lt;a href=&quot;https://cstheory.stackexchange.com/questions/709/what-complexity-class-does-the-cutting-sticks-problem-belong-to/713#713&quot;&gt;answer&lt;/a&gt; I posted in response to another question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The 3-partition problem is the following problem:&lt;br&gt;&#xA;&lt;em&gt;Instance&lt;/em&gt;: Positive integers a&lt;sub&gt;1&lt;/sub&gt;, …, a&lt;sub&gt;n&lt;/sub&gt;, where n=3m and the sum of the n integers is equal to mB, such that each a&lt;sub&gt;i&lt;/sub&gt; satisfies B/4 &amp;lt; a&lt;sub&gt;i&lt;/sub&gt; &amp;lt; B/2.&lt;br&gt;&#xA;&lt;em&gt;Question&lt;/em&gt;: Can the integers a&lt;sub&gt;1&lt;/sub&gt;, …, a&lt;sub&gt;n&lt;/sub&gt; be partitioned into m multisets so that the sum of each multiset is equal to B?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is well-known that the 3-partition problem is NP-complete in the strong sense that it remains NP-complete even if the numbers in the input are given in unary.  See &lt;a href=&quot;http://en.wikipedia.org/wiki/Computers_and_Intractability:_A_Guide_to_the_Theory_of_NP-Completeness&quot; rel=&quot;nofollow noreferrer&quot;&gt;Garey and Johnson&lt;/a&gt; for a proof.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Questions&lt;/strong&gt;: Does the 3-partition problem remain NP-complete if the numbers a&lt;sub&gt;1&lt;/sub&gt;, …, a&lt;sub&gt;n&lt;/sub&gt; are all distinct?  Does it remain NP-complete in the strong sense?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(My feeling is that the answers to both questions are probably yes because I do not see any reason why the problem should become easier if all numbers are distinct.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It does not seem that the proof in Garey and Johnson establishes the NP-completeness of this restricted version.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the answer to the other question linked above, I gave a proof that the 6-partition problem (defined analogously) with distinct numbers is NP-complete in the strong sense.&lt;/p&gt;&#xA;" OwnerUserId="567" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2010-08-30T00:35:53.567" Title="Computational complexity of the 3-partition problem with distinct numbers" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="7" ContentLicense="CC BY-SA 2.5" />
  <row Id="717" PostTypeId="2" ParentId="115" CreationDate="2010-08-28T21:37:11.743" Score="3" Body="&lt;p&gt;I'm going to venture the idea that evaluating a polynomial $q(x)$ in $\mathbb F_p$ for fixed prime $p$ (or any finite field extension thereof, and with the coefficients restricted to the same field) will fit your criterion.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;more concretely, lets consider a polynomial in $\mathbb F_2[x]$. We know that $x^2=x$ in $\mathbb F_2$, so if we assume that any polynomial is already in a reduced form when given as an input, we are left simply considering one of : $0,1,x,x+1$ and accordingly evaluating any of these polynomials at either of $0$ or $1$ takes at most 2 arithmetic operations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I believe that a similar &quot;constant time via fixed number of arithmetic operations&quot; statement applies more generally for $\mathbb F_q$ where $q=p^n$ where $p$ is prime. note that if $n$ isn't fixed, this statement no longer is valid&lt;/p&gt;&#xA;" OwnerUserId="18" LastActivityDate="2010-08-28T21:37:11.743" CommentCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="718" PostTypeId="2" ParentId="658" CreationDate="2010-08-28T21:44:42.737" Score="12" Body="&lt;p&gt;There are of course ways of dealing with effects in (denotational) semantics. For example, we can use &lt;a href=&quot;http://www.disi.unige.it/person/MoggiE/&quot;&gt;Eugenio Moggi's&lt;/a&gt; idea that &lt;a href=&quot;http://www.disi.unige.it/person/MoggiE/ftp/ic91.pdf&quot;&gt;computational effects are monads&lt;/a&gt; (this idea has also been used in the design of Haskell). One of the problems with this is that monads are hard to combine. &lt;a href=&quot;http://homepages.inf.ed.ac.uk/gdp/&quot;&gt;Gordon Plotkin&lt;/a&gt; and &lt;a href=&quot;http://www.bath.ac.uk/comp-sci/people/contact/index.php?contact=Dr_John_Power&quot;&gt;John Power&lt;/a&gt; suggested &lt;a href=&quot;http://homepages.inf.ed.ac.uk/gdp/publications/Overview.pdf&quot;&gt;a refinement of Moggi's monads to Lawvere theories&lt;/a&gt;, or algebraic theories as they are also called, which encompasses &lt;em&gt;algebraic&lt;/em&gt; effects (most common effects are algebraic, such as state, I/O, non-determinism, but continuations are not). For a comprehensive treatment, see &lt;a href=&quot;http://matija.pretnar.info/handlers-of-algebraic-effects.pdf&quot;&gt;Matija Pretnar's thesis&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I should also mention the &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=910747&quot;&gt;possible worlds semantics&lt;/a&gt; for local state, developed by Frank Oles and &lt;a href=&quot;http://www.cs.cmu.edu/~jcr/&quot;&gt;John Reynolds&lt;/a&gt; (sorry, can't find a better link, this stuff is from 1982), which predates Moggi's monads. They used categories of presheaves to provide a semantics of an algol-like language which correctly modeled many aspects of local state (but not all of them, I think the model allowed snapback, but maybe my memory serves me wrong).&lt;/p&gt;&#xA;" OwnerUserId="705" LastEditorUserId="705" LastEditDate="2010-08-28T23:19:04.830" LastActivityDate="2010-08-28T23:19:04.830" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="720" PostTypeId="1" CreationDate="2010-08-28T22:59:40.857" Score="5" ViewCount="502" Body="&lt;p&gt;I am not able to find a rigorous definition of MSO_2 logic for arbitrary structures (which I can cite). MSO_2 for graphs is often used and defined, i.e. in On the Parameterised Intractability of Monadic Second-Order Logic - Stephan Kreutzer. The only &quot;definition&quot; for MSO2 on structures I found was in A logical approach to multicut problems - Gottlob, Lee.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&quot;The definition of MSO2 can be easily&#xA;generalized to arbitrary structures by allowing quantifi-&#xA;cation over subsets of the input relation (notice that in&#xA;the case of a graph, the input relation is just the edge re-&#xA;lation). Thus, for example, if a relational symbol R is&#xA;part of the signature, then a subformula (∃X ⊆ R)φ(X),&#xA;expressing that there exists a subset X of the relation R&#xA;such that φ(X) holds for some formula φ, could be part&#xA;of an MSO2 formula.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;While this is enough explanation to know what MSO2 on arbitrary structures is, I really would appreciate if someone could give me a pointer to a formal, rigorous definition somewhere in the literature.&lt;/p&gt;&#xA;" OwnerUserId="546" LastActivityDate="2016-07-01T05:31:54.917" Title="Definition for MSO2 for arbitrary structures" Tags="&lt;lo.logic&gt;" AnswerCount="3" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="721" PostTypeId="2" ParentId="625" CreationDate="2010-08-28T23:11:34.000" Score="13" Body="&lt;p&gt;They are related both mathematically and historically.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The lambda calculus was developed in 1928 - 1929 by Alonzo Church (published in 1932).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The Turing machine was developed in 1935 - 1937 by Alan Turing (published in 1937).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Alan Turing was Alonzo Church's Ph.D. student at Princeton from 1936 - 1938.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Turing machines and the lambda calculus are equivalent in computational power: each can efficiently simulate the other.&lt;/p&gt;&#xA;" OwnerUserId="706" LastActivityDate="2010-08-28T23:11:34.000" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="722" PostTypeId="2" ParentId="408" CreationDate="2010-08-28T23:23:12.690" Score="4" Body="&lt;p&gt;Cantor space is used quite widely in the theory of representations of topological spaces in general, and not just the real numbers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An important realizability model, namely &lt;a href=&quot;http://books.google.si/books?id=3AFKAAAAMAAJ&amp;amp;dq=editions%3aUOM39015068271272&amp;amp;hl=en&quot; rel=&quot;nofollow&quot;&gt;Kleene's function realizability&lt;/a&gt; (also known as &lt;a href=&quot;http://books.google.si/books?id=OPolVWVFDJYC&amp;amp;lpg=PP1&amp;amp;ots=_QnXaeZoWy&amp;amp;dq=book%20computable%20analysis&amp;amp;hl=en&amp;amp;pg=PP1#v=onepage&amp;amp;q=book%20computable%20analysis&amp;amp;f=false&quot; rel=&quot;nofollow&quot;&gt;Type Two Effectivity&lt;/a&gt;) uses Cantor space (or equivalently the Baire space &lt;code&gt;nat -&amp;gt; nat&lt;/code&gt;) as the underlying partial combinatory algebra. This realizability model, and the related computable versions of it, provide a very good environment for studying computability on topological spaces that goes much farther than computability of the real line.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In a somewhat related line of work Martin Escardó has used Cantor space to demonstrate how certain higher-order functionals can be implemented on compact spaces, see for example his &lt;a href=&quot;http://math.andrej.com/2007/09/28/seemingly-impossible-functional-programs/&quot; rel=&quot;nofollow&quot;&gt;Seemingly impossible functionals&lt;/a&gt; for a gentle introduction.&lt;/p&gt;&#xA;" OwnerUserId="705" LastActivityDate="2010-08-28T23:23:12.690" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="723" PostTypeId="2" ParentId="710" CreationDate="2010-08-29T00:23:12.840" Score="4" Body="&lt;p&gt;I suggest something like providing current quantum computing development tools (such as libquantum) with the capability of taking advantage of CUDA-enabled GPUs to accelerate the simulations. Quantum computing is more or less about linear algebra, i.e. matrix and vector operations, which was what GPUs was designed for in the first place.&lt;/p&gt;&#xA;" OwnerUserId="201" LastActivityDate="2010-08-29T00:23:12.840" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="724" PostTypeId="2" ParentId="408" CreationDate="2010-08-29T00:27:32.333" Score="4" Body="&lt;p&gt;Cantor spaces also come up in the theory of cellular automata: the &lt;a href=&quot;http://en.wikipedia.org/wiki/Curtis%E2%80%93Hedlund%E2%80%93Lyndon_theorem&quot; rel=&quot;nofollow&quot;&gt;Curtis–Hedlund–Lyndon theorem&lt;/a&gt; characterizes cellular automaton rules as the functions on Cantor space (viewed as the space of states of a CA grid) that are both continuous and equivariant with respect to translations of the space.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2010-08-29T00:27:32.333" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="725" PostTypeId="2" ParentId="686" CreationDate="2010-08-29T01:15:06.257" Score="10" Body="&lt;p&gt;The &lt;a href=&quot;http://qwiki.stanford.edu/index.php/Complexity_Zoo%3aB#bh&quot; rel=&quot;noreferrer&quot;&gt;&quot;Boolean Hierarchy&quot; BP&lt;/a&gt; is a whole hierarchy of combinations of NP problems under Karp reductions which are all in P^NP.&lt;/p&gt;&#xA;" OwnerUserId="42" LastEditorUserId="1677" LastEditDate="2010-11-26T23:11:22.327" LastActivityDate="2010-11-26T23:11:22.327" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="726" PostTypeId="2" ParentId="720" CreationDate="2010-08-29T02:13:22.783" Score="5" Body="&lt;p&gt;If I understand correctly, you just want a definition of the logic; then you can find a definition of MSO$_j$ (where 2 is a special case) by example in ''Elements of Finite Model Theory'' of Leonid Libkin.&#xA;Even if you are interested in infinite model, the definition of the logic is the same.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Quickly is just the set of formulae with existantial quantification over sets of the elements of the universe, then existantial quantifications over those sets; then a first-order formula.&lt;/p&gt;&#xA;" OwnerUserId="328" LastActivityDate="2010-08-29T02:13:22.783" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="727" PostTypeId="2" ParentId="668" CreationDate="2010-08-29T02:57:06.133" Score="38" Body="&lt;p&gt;Proving such a complexity theoretic version of Rice's Theorem was a motivation for me to study program obfuscation.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Rice's theorem says in essence, that it is hard to understand the functions that programs compute, given the program.  However, the reason these problems are undecideable is that they are infinitary.  Even on one input, a program may never halt, and we need to consider what&#xA;the program does on infinitely many inputs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A finitary version of Rice's theorem would fix the input size and running time of a program,&#xA;and say that the program is hard to understand.  Once you've fixed these, you might as well&#xA;view the program as a Boolean circuit.  What properties of the function computed by a Boolean circuit are hard to compute?  One example is ``not always 0'', which is the NP-complete&#xA;Satisfiability problems.    But unlike Rice's Theorem, there are some properties that are&#xA;non-trivial but easy, even without understanding the circuit.  We can always know that:&#xA;the function computed by a circuit has a bounded circuit complexity (the size of the circuit).  Also, we can always evaluate the circuit on inputs of our choice.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;So say a property of $f_C$ is easy with Black-box access if it can be compute,d&#xA;in probabilistic polynomial time by an algorithm that gets as input $n$, a bound on $|C|$ and oracle access to $f_C$.  For example, satisfiability is not easy with black-box access, because we could imagine a circuit of size $n$ that only produces answer 1 on a&#xA;randomly chosen input $x$.  No black box algorithm could distinguish such a circuit from one that always returned 0, since the probability of querying the oracle on $x$ is exponentially small.  On the other hand, the property $f(0..0)=1$ is black-box easy.&#xA;The question is:  are there any properties of $f_C$ that are decideable in probabilistic polynomial-time that are not easy with Black-box access?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;While this question is open as far as I know, our intended approach was ruled out.  We had&#xA;hoped to prove this by showing that cryptographically secure program obfuscation was possible.  However, Boaz proved the opposite: that it was impossible.  This implicitly shows that black-box access to circuits is more limited than full access to the circuit description, but the proof is non-constructive, so I can't name any property as above&#xA;that is easy given the circuit description but not with black-box access.  It is interesting (at least to me) if such a property could be reverse engineered from  our paper.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is the reference:Boaz Barak, Oded Goldreich, Russell Impagliazzo, Steven Rudich, Amit Sahai, Salil P. Vadhan, Ke Yang: On the (Im)possibility of Obfuscating Programs. CRYPTO 2001:1-18&lt;/p&gt;&#xA;" OwnerUserId="708" LastActivityDate="2010-08-29T02:57:06.133" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="728" PostTypeId="2" ParentId="34" CreationDate="2010-08-29T04:27:32.000" Score="6" Body="&lt;p&gt;Update: It doesn't make sense to talk about the difficulty of finding &lt;em&gt;perfect&lt;/em&gt; matching that is non-nesting &lt;em&gt;and&lt;/em&gt; non-crossing, when the labels are from 1 to n, because there is only one such. (Yes, am kicking myself.) However, it would make sense given a larger range on the labels... so I still see some hope, but it might be quite pointless after all. I would certainly have to follow this up some more. &lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;I can think of why it might be hard to find a matching that is non-nesting &lt;em&gt;and&lt;/em&gt; non-crossing. Let me call such a matching a &lt;em&gt;disjoint matching&lt;/em&gt;. Not sure to what extent this helps, but let me present the reasoning anyway. (I should point out that my argument, as it stands here, is not complete, and the detail I leave out is possibly crucial. However, I imagine that it might be something of a start.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'll begin with a slightly different problem. Given a graph $G$ whose edges are colored with $k$ colors, and the vertices are labeled from $1$ to $n$, is there a disjoint matching that contains exactly one edge of each color? &lt;em&gt;This&lt;/em&gt; problem appears to be NP-hard (the argument for this is both complete and straightforward - unless I am missing something). The reduction spews out a graph that is a disjoint union of cliques.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The reduction is from &lt;strong&gt;Disjoint Factors&lt;/strong&gt;, a NP-complete problem introduced in [1]. An instance of disjoint factors is given by a string over an alphabet of size $k$, and the question is whether there are $k$ disjoint factors, where a factor is a substring that begins and ends with the same letter; and two factors are disjoint if they don't overlap in the string (note that 'nesting', in particular, is disallowed too).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let me denote by $a_1,\ldots, a_k$, the elements of the $k$-sized alphabet associated with the Disjoint Factors instance. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given an instance of disjoint factors, that is, say a string of length $n$, create a graph that has $n$ vertices with vertex labels from $1$ to $n$. Add an edge between vertices $u$ and $v$ if the corresponding positions have the same letter (say $a_i$), and also color the edge $(u,v)$ with color $i$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The proof of the reduction essentially follows from the definitions. Given $k$ disjoint factors, we clearly have a $k$-disjoint colorful matching, merely pick the edges as given by the disjoint factors, and it is easy to see that the resulting matching is both colorful and disjoint. Conversely, if there is a $k$-disjoint colorful matching, then we have k disjoint factors, one for every letter, because the matching is colorful (and hence picks one factor per letter), and is disjoint (so the corresponding factors would not overlap). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;To get rid of the colors and make the matching perfect, &lt;em&gt;albeit on a possibly larger range&lt;/em&gt;, make the following modifications to the graph thus created:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $U_a$ denote the subset of vertices that have labels which are positions associated with the letter $a$. If $U_a$ has $A$ vertices, then add $(A-2)$ new vertices and induce a complete bipartite graph between $U_a$ and the newly added vertices. Repeat, of course, for every letter. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Roughly speaking, if the graph is to induce a perfect matching, the newly introduced vertices must be matched with the vertices of $U_a$, and they will saturate all but a pair of vertices, and the edge between the remaining vertices will correspond to the disjoint factor. I have not worked out the numbers that one must associate with the newly added vertices... note that they must be so that the resulting matching is disjoint. I just have a feeling (read: hope) that it 'can be done'! &lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] &lt;em&gt;On problems without polynomial kernels&lt;/em&gt;, Hans L. Bodlaender, Rodney G. Downey, Michael R. Fellows and Danny Hermelin, &lt;strong&gt;J. Comput. Syst. Sci.&lt;/strong&gt;&lt;/p&gt;&#xA;" OwnerUserId="688" LastEditorUserId="688" LastEditDate="2010-08-29T16:22:02.340" LastActivityDate="2010-08-29T16:22:02.340" CommentCount="8" ContentLicense="CC BY-SA 2.5" />
  <row Id="729" PostTypeId="2" ParentId="499" CreationDate="2010-08-29T04:27:33.407" Score="10" Body="&lt;p&gt;&lt;em&gt;Examples where theory suggests something is possible but it never gets used in practice:&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is pretty easy to find examples of things that are solved in theory but either (1) are too inefficient to use in practice or (2) no one cares about. Examples: (1) (generic) zero-knowledge proofs, (2) undeniable signatures. In fact, look at any crypto conference and at least half of the papers will probably fall into one of these categories. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Examples where theory suggests that something is safe that is not safe in practice:&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This question is a little vague, so I'm not sure if this answers it -- but there are plenty of examples of 'provably secure' schemes that get broken in practice because the security definition did not match the deployment scenario. In the last few years alone there were attacks on (provable variants of) SSH and IPSec, among others.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Examples of something in widespread practical use has little theory behind it:&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I assume you mean in the crypto world, not in the general security world. A good example is DSS signatures, which have no proof of security.&lt;/p&gt;&#xA;" OwnerUserId="686" LastActivityDate="2010-08-29T04:27:33.407" CommentCount="0" CommunityOwnedDate="2010-08-29T04:27:33.407" ContentLicense="CC BY-SA 2.5" />
  <row Id="730" PostTypeId="2" ParentId="720" CreationDate="2010-08-29T04:50:40.760" Score="5" Body="&lt;p&gt;You can also use &lt;em&gt;many-sorted&lt;/em&gt; second order logic which allows quantification over sets of each sort. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Example: graphs, use two sorts, one for vertices and one for edges.&lt;/p&gt;&#xA;" OwnerUserId="186" LastActivityDate="2010-08-29T04:50:40.760" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="731" PostTypeId="2" ParentId="658" CreationDate="2010-08-29T04:50:54.367" Score="12" Body="&lt;p&gt;Matthias Felleisen presented a compelling solution to the side effects problem in semantics in his series on &quot;Syntactic Theories of Control and State.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;That line of work resulted in the CESK machine, a simple abstract machine framework capable of concisely modeling functional, object-oriented, imperative and even logic languages.  The CESK framework handles not just side effects, but also &quot;complex&quot; control constructs like exceptions, continuations, laziness and even threads.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The CESK machine, and small-step operational semantics more broadly, have been the de facto standard in programming language theory for about two decades.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In short, a CESK machine is a small-step machine with four components to describe every machine state: the control string (a generalization of the program counter), the environment, a store (also called the heap) and the current continuation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The environment maps variables to addresses; the store maps addresses to values.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This makes it straightforward to model mutable variables: just change the value at its address.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It also makes it easy to model pointers and dynamic allocation: just make store addresses first-class values.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In a similar fashion, first-class continuations result from making them addressable values.&lt;/p&gt;&#xA;" OwnerUserId="706" LastActivityDate="2010-08-29T04:50:54.367" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="732" PostTypeId="2" ParentId="65" CreationDate="2010-08-29T05:37:40.163" Score="2" Body="&lt;p&gt;I realize that this might not directly answer your question (about references), but I would like to outline a possible approach for showing NP-hardness without the 2-connected condition. There are two things that are missing: one is a proof of the NP-hardness of the 'source problem', so to speak, and the other is that I'm reducing to a 'colored' version of H-cut that may or may not be useful. As for the first bottleneck, I believe I have a proof in my mind that I am being lazy about formalizing, so I hope I will get around to that soon. I've thought some about reducing the colored version to the one you present, however, with little luck so far. I am also very curious about your proof in the event that H is 2-connected, could you possibly supply some details?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So the colored version is the following: each vertex in the graph is equipped with a list of colors from a palette P (a fixed, finite set). We are required to find a cut so that no partition induces a monochromatic copy of H, that is, there is no subset of |H| vertices that induces a copy of H, and the corresponding list of colors have a non-empty intersection.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here's a reduction from a restricted variant of d-SAT, where d is |H|. (Notice that this obviously wouldn't work when d = 2). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The restricted variant of d-SAT is the following: &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Every clause has either only positive or only negative literals, let me refer to such clauses as P-clauses and N-clauses respectively,&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Every P-clause can be paired off with a N-clause such that the two clauses involve the same set of variables.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;(I have some idea about why this seemingly restricted version might be hard - a very closely related restriction is hard, and I can imagine a reduction from there, although I could be easily mistaken!)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given this problem, the reduction perhaps suggests itself. The graph has a vertex for every variable of the formula. For every clause C_i, induce a copy of H on the set of variables that participate in the clause, and add the color i to this set of vertices. This completes the construction.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any assignment naturally corresponds to a cut:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;L = set of all variables that were set to 0,&#xA;R = set of all variables that are set to 1.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The claim is that a satisfying assignment corresponds to a monochromatic-H-free cut. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In other words, (L,R), when given by a satisfying assignment, would be such that neither L or R induce a monochromatic copy of H. If L has such a copy, then notice that the corresponding P-clause must have had all its variables set to 0, which contradicts the fact that the assignment was satisfying. Conversely, if R has such a copy, then the corresponding N-clause must have had all its variables set to 1, contradiction again.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Conversely, consider any cut, and set the variables on one side to 1 and the other to 0 (notice that it doesn't matter which way you do it - given the kind of formula we're working with, an assignment and it's flipped version are equivalent as far as satisfiability goes). If a clause isn't satisfied by this assignment, then we can trace it back to a monochromatic copy of H on one of the sides, contradicting the monchromatic-H-freeness of the cut. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The reason one has to indulge in the coloring is because copies of H can interfere to create spurious copies of H that don't correspond to clauses, in a direct reduction attempt. Indeed, it fails - badly - even when H is something as simple as a path.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I've had no luck in getting rid of the colors, and I am not sure that I have made the problem any simpler. However, I do hope that - if correct - it might be a start. &lt;/p&gt;&#xA;" OwnerUserId="688" LastActivityDate="2010-08-29T05:37:40.163" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="733" PostTypeId="2" ParentId="685" CreationDate="2010-08-29T08:02:27.660" Score="16" Body="&lt;p&gt;Take a look at the Phd thesis of &lt;a href=&quot;http://www.cs.cmu.edu/~hjain/&quot;&gt;Himanshu Jain&lt;/a&gt;, &lt;em&gt;Verification Using Satisfiability Checking, Predicate Abstraction, and Craig Interpolation&lt;/em&gt;.  He considers the performance of several fundamental techniques with an eye to applications in verification, and has a chapter on interpolation of formulae involving linear equations and Diophantines.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;He takes a particular look at what I know as Bibel's connection method, and which he calls General Matings. These are graph-based, rather than formula-inference -based approaches to satisfiability.  If you are interested in them generally, let me recommend Dominic Hughes' reasonably short (11 pages) &lt;a href=&quot;http://annals.princeton.edu/annals/2006/164-3/annals-v164-n3-p09-p.pdf&quot;&gt;Proofs without syntax&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="270" LastEditorUserId="270" LastEditDate="2010-08-29T15:56:02.900" LastActivityDate="2010-08-29T15:56:02.900" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="734" PostTypeId="1" AcceptedAnswerId="735" CreationDate="2010-08-29T11:05:57.310" Score="15" ViewCount="366" Body="&lt;p&gt;Are there by now simpler algorithms/proofs for triangulating a planar polygon in linear time? What is a good resource on the state of the art of this famous problem?&lt;/p&gt;&#xA;" OwnerUserId="712" LastEditorUserId="74" LastEditDate="2010-08-29T11:46:20.927" LastActivityDate="2010-08-29T11:46:20.927" Title="Triangulating a Planar Polygon" Tags="&lt;reference-request&gt;&lt;cg.comp-geom&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="735" PostTypeId="2" ParentId="734" CreationDate="2010-08-29T11:30:07.530" Score="13" Body="&lt;p&gt;So far, the only improvement to &lt;a href=&quot;http://www.springerlink.com/content/e46306817030g814/&quot;&gt;Chazelle's juggernaut&lt;/a&gt; is the 2001 randomized linear-time algorithm by &lt;a href=&quot;http://www.springerlink.com/content/60cql0vtbhfpx6pq/&quot;&gt;Amato, Goodrich, and Ramos&lt;/a&gt;.  Chazelle's algorithm is still the only deterministic O(n)-time triangulation algorithm known.&lt;/p&gt;&#xA;" OwnerUserId="111" LastActivityDate="2010-08-29T11:30:07.530" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="736" PostTypeId="1" CreationDate="2010-08-29T12:01:29.137" Score="34" ViewCount="1996" Body="&lt;p&gt;The problem, of course, is double counting. It's easy enough to do for certain classes of DAGs = a tree, or even a serial-parallel tree. The only algorithm I have found which works on general DAGs in reasonable time is an approximate one (Synopsis diffusion), but increasing its precision is exponential in the number of bits (and I need a lot of bits).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Background: this task is done (several times with different 'weights') as part of the probability calculations in  BBChop (http://github.com/ealdwulf/bbchop) a program for finding intermittent bugs (ie, a bayesian version of 'git bisect'). The DAG in question is therefore a  revision history. That means that the number of edges is unlikely to approach the square of the number of nodes, it's likely to be less than k times the number of nodes for some smallish k. &#xA;Unfortunately I haven't found any other useful properties of revision DAGs. For example, I was hoping that the largest triconnected component would grow only as the square-root of the number of nodes, but sadly (at least in the history of the linux kernel) it grows linearly.  &lt;/p&gt;&#xA;" OwnerUserId="701" LastEditorUserId="567" LastEditDate="2010-09-29T03:07:06.403" LastActivityDate="2010-09-30T11:18:46.780" Title="Given a weighted dag, is there an O(V+E) algorithm to replace each weight with the sum of its ancestor weights?" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;directed-acyclic-graph&gt;" AnswerCount="3" CommentCount="10" FavoriteCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="737" PostTypeId="1" CreationDate="2010-08-29T12:04:26.337" Score="8" ViewCount="359" Body="&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Binary_decision_diagram&quot;&gt;Reduced Ordered Binary Decision Diagrams&lt;/a&gt; (ROBDD) are an efficient data structure for representing boolean functions of multiple variables $f(x_1,x_2,...,x_n)$. I would like to get an intuition for &lt;em&gt;how&lt;/em&gt; efficient they are.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For instance, for data compression, we know that data with low entropy (some symbols appearing more often than other, many repetitions) can be compressed very well while completely random data cannot be compressed.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there an analogous intuition for estimating how efficiently ROBDDs can represent a given boolean formula?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;For example, I have heard that multiplication of $n$-bit numbers cannot be represented efficiently, the minimum ROBDD size is exponential in $n$. Do you know of an intuitive argument that explains why this is the case?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Related question: intuition about efficiency of BDDs that calculate numbers (multiple terminal BDDs, etc.)&lt;/p&gt;&#xA;" OwnerUserId="711" LastEditorUserId="80" LastEditDate="2010-08-29T20:30:58.590" LastActivityDate="2010-09-12T16:49:49.367" Title="Heuristics for estimating the efficiency of Reduced Ordered Binary Decision Diagrams?" Tags="&lt;ds.data-structures&gt;&lt;binary-decision-diagrams&gt;" AnswerCount="4" CommentCount="0" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="738" PostTypeId="2" ParentId="737" CreationDate="2010-08-29T12:53:00.870" Score="2" Body="&lt;p&gt;For calculating numbers, you should look at MTBDDs (Multi Terminal BDDs) a data structure used for (probabilistic) model checking. See for instance &#xA;&lt;strong&gt;&lt;em&gt;Representations of Discrete Functions, Sasao, Tsutomu; Fujita, Masahira (Eds.), Springer, 1996&lt;/em&gt;&lt;/strong&gt;, the chapter 4, by Clarke &lt;em&gt;et al.&lt;/em&gt; is about MTBDDs and Hybrid Decision Diagram.&lt;/p&gt;&#xA;" OwnerUserId="76" LastActivityDate="2010-08-29T12:53:00.870" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="739" PostTypeId="1" CreationDate="2010-08-29T14:02:22.687" Score="40" ViewCount="12435" Body="&lt;p&gt;I am looking for a source of huge data sets to test some graph algorithm implemention. Please also provide some information about the type/distribution (e.g. directed/undirected, simple/not simple, weighted/unweighted) of the graphs in the source if they are known.&lt;/p&gt;&#xA;" OwnerDisplayName="Chris" LastEditorUserId="186" LastEditDate="2011-05-18T04:22:18.773" LastActivityDate="2021-01-01T14:44:37.130" Title="Data for testing graph algorithms" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;ds.data-structures&gt;&lt;data-sets&gt;" AnswerCount="10" CommentCount="2" FavoriteCount="20" ContentLicense="CC BY-SA 3.0" />
  <row Id="740" PostTypeId="2" ParentId="739" CreationDate="2010-08-29T14:25:29.853" Score="22" Body="&lt;p&gt;Check the following links for graph instances&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&#xA;&lt;a href=&quot;http://www.info.univ-angers.fr/pub/porumbel/graphs/&quot;&gt;DIMACS Graphs: Benchmark Instances and Best Upper Bounds&lt;/a&gt;&#xA;&lt;a href=&quot;http://www.info.univ-angers.fr/pub/porumbel/graphs/&quot;&gt;foo&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&#xA;&lt;a href=&quot;http://mat.gsia.cmu.edu/COLOR/instances.html&quot;&gt;Graph Coloring Instances&lt;/a&gt;&#xA;&lt;a href=&quot;http://mat.gsia.cmu.edu/COLOR/instances.html&quot;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&#xA;&lt;a href=&quot;http://cs.hbg.psu.edu/benchmarks/clique.html&quot;&gt;CLIQUE Benchmark Instances&lt;/a&gt;&#xA;&lt;a href=&quot;http://cs.hbg.psu.edu/benchmarks/clique.html&quot;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="495" LastActivityDate="2010-08-29T14:25:29.853" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="741" PostTypeId="2" ParentId="446" CreationDate="2010-08-29T14:44:59.110" Score="13" Body="&lt;p&gt;The traveling salesman problem is apparently accessible... at least where I am, this seems to be the most popular CS problem among non-CS folks by far. I also found the following illustration of Vertex Cover quite appealing, as introduced by my algorithms instructor: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;You have a road network and wish to ensure that if a car is stuck out of fuel, there is a gas station on at least one end of the road. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;As a city planner, you want to minimize costs by building the fewest number of gas stations possible. This is essentially the vertex cover problem, and I have found some success in pointing out that although you don't expect to find the optimal vertex cover in polynomial time, you can find something that is only a factor of two away in polynomial time, by simply picking up both endpoints of a maximum matching (well, that last detail might be omitted depending on how keen your audience is - especially since the MM algorithm isn't exactly a two-liner). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;As for an example of a 'jump in complexity' with a small change in the nature of the problem, I think the difference between checking 2-colorability and 3-colorability makes a good example. With all the publicity surrounding the four-color theorem, one might also point out that checking whether a map can be properly colored with only three colors instead of four is hard, even though we know that it can always be colored with four colors. A fair number of people find this quite startling. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another fairly natural situation is the &lt;a href=&quot;http://en.wikipedia.org/wiki/Feedback_vertex_set#Applications&quot;&gt;deadlock recovery problem&lt;/a&gt; in operating systems. This is modeled by the NP-complete problem of feedback vertex set - the smallest number of vertices whose removal makes the graph acyclic - and I find this to be a remarkable example as well (and is explained further in that wikipedia article).&lt;/p&gt;&#xA;" OwnerUserId="688" LastActivityDate="2010-08-29T14:44:59.110" CommentCount="2" CommunityOwnedDate="2010-08-29T14:44:59.110" ContentLicense="CC BY-SA 2.5" />
  <row Id="742" PostTypeId="2" ParentId="34" CreationDate="2010-08-29T15:09:22.000" Score="12" Body="&lt;p&gt;Here is an algorithm that may have some chance of being correct though&#xA;it seems tricky to prove and I would not bet the house on it...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let us say that $G$ is &lt;em&gt;purged&lt;/em&gt; if for every edge $e$, there&#xA;exists a (possibly nested) perfect matching of $G$ that uses $e$ and&#xA;does not use any edge contained in or containing $e$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is easy to test if $G$ is purged and if not to find the&#xA;violating edges.  Clearly none of these violating edges can be used in&#xA;a non-nesting perfect matching of $G$, so it is safe to remove them&#xA;from consideration.  Repeating this process, we obtain a (unique)&#xA;purged subgraph of $G$ which has a non-nested perfect matching iff&#xA;$G$ has.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now comes the leap of faith, which may or may not be correct: the hope&#xA;is that in a purged graph, if there are still vertices of degree&#xA;$&gt; 1$, we can do the greedy choice and match the first such vertex to&#xA;its first neighbor (or equivalently, remove the edges to all its other&#xA;neighbors).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;After the greedy choice we purge the graph again, and so on, and the&#xA;process ends when the graph is (hopefully) a non-nesting perfect&#xA;matching.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;At first I thought this would be roughly like having a small&#xA;look-ahead in the greedy algorithm and not really work, but I found it&#xA;surprisingly difficult to come up with a counterexample.&lt;/p&gt;&#xA;" OwnerUserId="664" LastActivityDate="2010-08-29T15:09:22.000" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="743" PostTypeId="2" ParentId="739" CreationDate="2010-08-29T15:47:28.153" Score="14" Body="&lt;p&gt;For generating graphs, I usually use the &lt;code&gt;geng&lt;/code&gt; program that comes with &lt;code&gt;nauty&lt;/code&gt;:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://cs.anu.edu.au/~bdm/nauty/&quot;&gt;http://cs.anu.edu.au/~bdm/nauty/&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This produces undirected graphs (also known as &quot;graphs&quot;). To produce directed graphs you can pipe the output through &lt;code&gt;directg&lt;/code&gt; which also comes with nauty.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Using geng is suitable for scenarios where you want to test all graphs on (say) up to &lt;code&gt;n&lt;/code&gt; vertices, or all connected graphs with &lt;code&gt;m&lt;/code&gt; edges or something like that. If you have more specific requirements, then please state these in your question.&lt;/p&gt;&#xA;" OwnerUserId="633" LastActivityDate="2010-08-29T15:47:28.153" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="745" PostTypeId="1" CreationDate="2010-08-29T16:00:50.627" Score="-2" ViewCount="237" Body="&lt;p&gt;Is it appropriate to use Exception handling for flow control of our programs ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are some programming languages/circumstances where we can't avoid it Exception handling for flow control. Should we strictly avoid it?&lt;/p&gt;&#xA;" OwnerUserId="197" LastActivityDate="2010-08-29T17:02:34.187" Title="Exception handling for flow control ?" Tags="&lt;language-design&gt;" AnswerCount="1" CommentCount="1" ClosedDate="2010-08-29T19:14:41.220" ContentLicense="CC BY-SA 2.5" />
  <row Id="746" PostTypeId="2" ParentId="745" CreationDate="2010-08-29T17:02:34.187" Score="3" Body="&lt;p&gt;I believe this question belongs to Stack Overflow.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I see two cons :&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Googleing &quot;exceptions are slow&quot; gives you results on Stack Overflow about various languages (.net, java). It seems that speed is not an issue, as long as exceptions don't happen &lt;em&gt;too&lt;/em&gt; often.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Like stated &lt;a href=&quot;https://stackoverflow.com/questions/299068/how-slow-are-java-exceptions&quot;&gt;here&lt;/a&gt;, &quot;you really should recognize that using an exception for program flow is no better than using GOTOs&quot;. Whether GOTOs should be used or not is up to you, but relying only on them is surely going to make your code unmaintainable.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="645" LastEditorUserId="-1" LastEditDate="2017-05-23T12:40:09.333" LastActivityDate="2010-08-29T17:02:34.187" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="747" PostTypeId="1" AcceptedAnswerId="748" CreationDate="2010-08-29T18:11:12.260" Score="19" ViewCount="1065" Body="&lt;p&gt;Let $G$ be a simple graph on $n$ vertices $(n &gt; 3)$ with no vertex of degree $n − 1$. Suppose that for any two vertices of $G$, there is a unique vertex adjacent to both of them. It is an exercise from &lt;em&gt;A Course in Combinatorics&lt;/em&gt;, van Lint and Wilson, to prove that such a graph is regular. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question, however, is whether graphs satisfying the given constraints even exist. While discussing the original exercise during a problem-solving session, someone asked if we could come up with an example of a graph where every pair of vertices have an unique common neighbor, and there are no global vertices. Neither were we able to come up with a concrete example or procedure for construction, nor did we establish a proof that no graph has these properties. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any suggestions?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note: as for proving that such a graph is regular, it turns out to be fairly straightforward, the rough idea is to pair off the neighbors of every pair of vertices using the unique-common-neighbor criteria to establish the fact that every pair of vertices have the same degree, and then a transitivity argument, with the help of the no-global-vertex constraint, gives us that the graph is regular.&lt;/p&gt;&#xA;" OwnerUserId="688" LastActivityDate="2010-08-29T18:18:49.073" Title="Construction of graphs where every pair of vertices have an unique common neighbor" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;puzzles&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="748" PostTypeId="2" ParentId="747" CreationDate="2010-08-29T18:18:49.073" Score="17" Body="&lt;p&gt;If you get rid of the &quot;no vertex of degree $n-1$&quot; condition, the graphs with the property that every two vertices have exactly one common neighbor are exactly the &lt;a href=&quot;http://en.wikipedia.org/wiki/Friendship_graph&quot;&gt;friendship graphs&lt;/a&gt; (a set of triangles glued together at a common vertex); as the linked article describes, this is a theorem of Erdős, Rényi, and Sós. But obviously, all such graphs have a vertex of degree $n-1$; the only regular one is a triangle. So the answer to your question is that, no, a graph with the common neighbor property and without a degree-$n-1$ vertex does not exist.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2010-08-29T18:18:49.073" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="750" PostTypeId="1" AcceptedAnswerId="2759" CreationDate="2010-08-29T20:49:53.103" Score="8" ViewCount="640" Body="&lt;p&gt;For example, one way to view maximum weight matching is that each vertex $v$ gets a utility $f_v= w(e_v)$ that equals the weight of the edge it's matched on, and zero otherwise.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;accordingly, a maximum weight matching could then be viewed as  maximizing the objective $\sum_v f_v$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Have any generalizations of maximum weight matching been studied that consider more general objective functions using  weighted, multivariate or nonlinear $f_v$ ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Have other variants been studied that are generalizations in a different way?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;pleas provide references if applicable!&lt;/p&gt;&#xA;" OwnerUserId="18" LastEditorUserId="18" LastEditDate="2010-08-29T21:26:18.043" LastActivityDate="2010-11-07T03:30:09.220" Title="Have any generalizations of maximum weight matching been studied?" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;" AnswerCount="6" CommentCount="3" FavoriteCount="1" CommunityOwnedDate="2010-08-30T22:30:46.253" ContentLicense="CC BY-SA 2.5" />
  <row Id="751" PostTypeId="2" ParentId="750" CreationDate="2010-08-29T21:07:05.140" Score="7" Body="&lt;p&gt;One interesting extension (although maybe it's well known to you) is the variant that allows for partial matching of vertices to other vertices (in the bipartite setting). This variant can also be solved using the Hungarian algorithm, and is known as the transportation problem (the resulting metric is called the transportation metric, &lt;a href=&quot;http://en.wikipedia.org/wiki/Earth_mover%27s_distance&quot; rel=&quot;nofollow&quot;&gt;the earth-mover distance&lt;/a&gt;, the Monge-Kantorovich-Wasserstein distance, or the Mallows distance, depending on who you ask). &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2010-08-29T21:07:05.140" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="752" PostTypeId="2" ParentId="737" CreationDate="2010-08-29T21:26:16.187" Score="7" Body="&lt;p&gt;There is a relation between the width of an OBDD for a function $f$ and the communication complexity of a one-way communication protocol for the best-case partition of variables for $f$ (see &lt;strong&gt;&lt;em&gt;E. Kushilevitz and N. Nisan. Communication Complexity. Cambridge University Press, 1997&lt;/em&gt;&lt;/strong&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is a powerful tool for proving exponential size OBDDs for various functions (together with coauthors, we used this method for proving that $\epsilon$-bipartiteness is hard for OBDDs, see &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=1276922&quot;&gt;here&lt;/a&gt;). &#xA;Basically, if there exists an OBDD of width at most $w$ that solves $f$, then $\kappa_{best}(f) \leq \log w$.&#xA;I think this is more intuitive to think in terms of communication complexity rather than OBDD.&lt;/p&gt;&#xA;" OwnerUserId="76" LastActivityDate="2010-08-29T21:26:16.187" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="753" PostTypeId="2" ParentId="121" CreationDate="2010-08-29T21:34:58.663" Score="14" Body="&lt;p&gt;Here's a new application, hot off the presses ! &lt;a href=&quot;http://eccc.hpi-web.de/report/2010/137/&quot;&gt;A new ECCC report by Or Meir&lt;/a&gt; has this as its abstract:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;The IP theorem, which asserts that IP&#xA;  = PSPACE (Lund et. al., and Shamir, in J. ACM 39(4)), is one of the major&#xA;  achievements of complexity theory. The&#xA;  known proofs of the theorem are based&#xA;  on the arithmetization technique,&#xA;  which transforms a quantified Boolean&#xA;  formula into a related polynomial. The&#xA;  intuition that underlies the use of&#xA;  polynomials is commonly explained by&#xA;  the fact that polynomials constitute&#xA;  good error correcting codes. However,&#xA;  the known proofs seem tailored to the&#xA;  use of polynomials, and do not&#xA;  generalize to arbitrary error&#xA;  correcting codes.&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;In this work, we show that the IP&#xA;  theorem can be proved by using general&#xA;  error correcting codes. We believe&#xA;  that this establishes a rigorous basis&#xA;  for the aforementioned intuition, and&#xA;  sheds further light on the IP theorem.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="80" LastActivityDate="2010-08-29T21:34:58.663" CommentCount="1" CommunityOwnedDate="2010-08-29T21:34:58.663" ContentLicense="CC BY-SA 2.5" />
  <row Id="754" PostTypeId="2" ParentId="553" CreationDate="2010-08-29T22:01:21.880" Score="1" Body="&lt;p&gt;Maybe not useful in your context, but you can get an approximation using Synopsis Diffusion (http://www.cs.cmu.edu/~sknath/sd.htm). I think that makes it O(V+E). &#xA;Simulating synopsis diffusion on a uniprocessor looks to me to be  O(V+E), (you need to do a topological sort first, which is also O(V+E)).&lt;/p&gt;&#xA;" OwnerUserId="701" LastActivityDate="2010-08-29T22:01:21.880" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="755" PostTypeId="2" ParentId="750" CreationDate="2010-08-29T23:06:39.000" Score="4" Body="&lt;p&gt;If you want something that &lt;em&gt;cannot&lt;/em&gt; be easily reduced to the maximum-weight matching problem, here is one example: the &lt;a href=&quot;http://mathworld.wolfram.com/StableMarriageProblem.html&quot; rel=&quot;nofollow&quot;&gt;stable marriage problem&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One interpretation is that in the stable marriage problem, $f_v$ is the &quot;stability&quot; of the vertex $v$; it is $0$ if $v$ is incident to an unstable edge (blocking edge) and $1$ otherwise. Then the objective is to find a matching that maximises $\sum_v f_v$. (And this can be solved by using the Gale–Shapley algorithm; the optimum is always $|V|$.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A crucial property of this $f_v$ is that it depends not only on which edges incident to $v$ are matched, but also on the &lt;em&gt;neighbours&lt;/em&gt; of the edges incident to $v$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(&lt;em&gt;Edit:&lt;/em&gt; The above property is essential in order to get something that isn't just the maximum-weight matching problem in disguise. Note that if feasible solutions are matchings and if $f_v$ only depends on which edges incident to $v$ are matched, then we can define the weight $w(e)$ of an edge $e = \{u,v\}$ as follows: how much $f_u + f_v$ increases if we replace an empty matching $M = \emptyset$ by a matching $M' = \{e\}$ that contains just the edge $e$. A maximum-weight matching w.r.t. these weights also maximises $\sum_v f_v$.)&lt;/p&gt;&#xA;" OwnerUserId="74" LastEditorUserId="74" LastEditDate="2010-08-30T19:37:24.440" LastActivityDate="2010-08-30T19:37:24.440" CommentCount="8" ContentLicense="CC BY-SA 2.5" />
  <row Id="756" PostTypeId="2" ParentId="710" CreationDate="2010-08-29T23:08:18.500" Score="2" Body="&lt;p&gt;I don't know how helpful this will be, but maybe it will offer some guidance.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In Spring 2009 Sasha Razborov taught a course on quantum computing.  &lt;a href=&quot;http://people.cs.uchicago.edu/~razborov/teaching/spring09.html&quot; rel=&quot;nofollow&quot;&gt;The course website&lt;/a&gt; contains some &quot;project&quot; ideas, as well as references to a few seminal quantum papers.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The &quot;projects&quot; on the page are really just &quot;more involved homework problems&quot;, so they are probably not suitable in and of themselves for a senior thesis, nor will they take 11 months.  However, those problems and/or some of the references might spark some good ideas for you.&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2010-08-29T23:08:18.500" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="757" PostTypeId="2" ParentId="739" CreationDate="2010-08-30T00:19:22.070" Score="9" Body="&lt;p&gt;Not huge, but maybe still useful, &lt;a href=&quot;http://yaroslavvb.com/upload/graphs2.txt&quot;&gt;3054 &quot;standard named graphs&quot;&lt;/a&gt; from Mathematica's GraphData collection &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The format is one graph per line, with name and list of adjacent nodes like this&lt;/p&gt;&#xA;&#xA;&lt;p&gt;{&amp;lt;graph name&amp;gt;, {{1, 4}, {1, 5}, {1, 6}, {2, 5}, {2, 6}, {3, 6}}&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&amp;lt;graph name&amp;gt; can of the form &quot;AGraph&quot; or {&quot;Andrasfai&quot;, 6}&lt;/p&gt;&#xA;" OwnerUserId="434" LastActivityDate="2010-08-30T00:19:22.070" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="758" PostTypeId="2" ParentId="716" CreationDate="2010-08-30T00:35:53.567" Score="19" Body="&lt;p&gt;It is proved in [1, Corollary 7], that 3-partition is strongly NP-hard when the integers $a_1, \ldots, a_n$ are all distinct. The bounds $B/4 &amp;lt; a_i &amp;lt; B/2$ are not imposed in [1], but this should not make a difference.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1]: Heather Hulett, Todd G. Will, Gerhard J. Woeginger: Multigraph realizations of degree sequences: Maximization is easy, minimization is hard. Oper. Res. Lett. 36(5): 594-596 (2008). &lt;a href=&quot;http://dx.doi.org/10.1016/j.orl.2008.05.004&quot;&gt;DOI&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="72" LastActivityDate="2010-08-30T00:35:53.567" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="759" PostTypeId="2" ParentId="189" CreationDate="2010-08-30T02:35:04.323" Score="7" Body="&lt;p&gt;The (exponential time) algorithms for generating all combinations or all permutations of a given set, list, or structure.  They can usually be expressed both concisely and beautifully, and optimizations in this combinatorial generation are often equivalent to some of the most celebrated algorithms.  For example: A* search instead of unordered search, when applied to the &quot;generate all paths from X and find the shortest ones&quot; problem, exactly yields Dijkstra's Algorithm!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I simply love that the following is actually an algorithm that will work:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;def solve(problem):&#xA;    foreach answer in generate_all_possible_answers(problem): &#xA;        if is_good_enough(answer, problem): &#xA;            return answer&#xA;    return &quot;No answer found&quot;&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;" OwnerUserId="730" LastActivityDate="2010-08-30T02:35:04.323" CommentCount="0" CommunityOwnedDate="2010-08-30T02:35:04.323" ContentLicense="CC BY-SA 2.5" />
  <row Id="760" PostTypeId="2" ParentId="739" CreationDate="2010-08-30T02:43:58.293" Score="11" Body="&lt;p&gt;The Stanford GraphBase may be of help for you: &lt;a href=&quot;http://www-cs-staff.stanford.edu/~knuth/sgb.html&quot;&gt;http://www-cs-staff.stanford.edu/~knuth/sgb.html&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In all likelihood, however, you will probably want to generate the graphs yourself, and you will probably want the generated graphs to all have (or not have) certain properties.  Random graphs are often a poor approximation of the graphs an algorithm actually gets used upon.&lt;/p&gt;&#xA;" OwnerUserId="730" LastActivityDate="2010-08-30T02:43:58.293" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="761" PostTypeId="1" AcceptedAnswerId="764" CreationDate="2010-08-30T03:15:52.200" Score="21" ViewCount="905" Body="&lt;p&gt;Leaf languages are a beautiful way to uniformly define many complexity classes. Most complexity classes are usually specified by a model of computation (e.g., deterministic/randomized TM), and a resource bound (log time, poly space, etc.). However in the leaf language formulation, there is only one model of computation, and the class is specified by giving its leaf language.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The details are too long to explain, so I'll direct interested readers to either of these two surveys: &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Uniform characterizations of complexity classes by H Vollmer&lt;/li&gt;&#xA;&lt;li&gt;Leaf Language Classes by KW Wagner&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Both surveys do a great job of explaining the formulation within the first few pages.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In Wagner's survey, he says &quot;it turns out that practically every complexity class considered so far can be described by leaf languages.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question relates to this statement. I know there are some classes for which we do not know a leaf language characterization, so this means either the classes don't necessarily have such a characterization, or we haven't found it.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Do we expect every complexity class (say between P and PSPACE) to have a leaf language characterization? (Let's restrict ourselves to &quot;natural&quot; complexity classes.) Is there any result of this sort in the literature? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;(A related question that I'd be happy to know the answer to: Is there a (heuristic) method to come up with a leaf language for a given class?)&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT:&lt;/strong&gt; Suresh points out that there is a short definition of leaf languages in the Wikipedia article. I'm copying it below.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Several complexity classes are typically defined in terms of a polynomial-time nondeterministic Turing machine, where each branch can either accept or reject, and the entire machine accepts or rejects as some function of the branches' conditions. For example, a non-deterministic Turing machine accepts if at least one branch accepts, and rejects only if all branches reject. A co-non-deterministic Turing machine, on the other hand, accepts only if all branches accept, and rejects if any branch rejects. Many classes can be defined in this fashion.&lt;/p&gt;&#xA;" OwnerUserId="206" LastEditorUserId="206" LastEditDate="2010-08-30T04:35:57.977" LastActivityDate="2010-09-13T06:38:07.977" Title="Do all complexity classes have a leaf language characterization?" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="762" PostTypeId="2" ParentId="710" CreationDate="2010-08-30T03:25:50.410" Score="12" Body="&lt;p&gt;DWaves results with image search are a little odd. There is not currently strong evidence that DWave's devices cannot be efficiently simulated. This has been discussed in great detail on a number of blogs (for &lt;a href=&quot;http://scottaaronson.com/blog&quot; rel=&quot;noreferrer&quot;&gt;Scott Aaronson&lt;/a&gt; and &lt;a href=&quot;http://dabacon.org/pontiff&quot; rel=&quot;noreferrer&quot;&gt;Dave Bacon&lt;/a&gt; have both covered DWave numerous times).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, leaving that aside, there are a huge number of potential projects, depending in what aspect of quantum computing you are interested in. It also depends on the level of your knowledge about quantum mechanics and physics. Architecture type questions often become quite physicsy, since experimental limitations play a big part in determining what problems are worth looking at. Algorithms and communications complexity are much more CS oriented areas.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are a number of different models of quantum computation, and there is steeper barriers to entry for some rather than others. Adiabatic and topological quantum computing tend to be somewhat harder to get into than the circuit model and the measurement based model of computation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One problem I have had success with a summer student working on was approximating fault-tolerance thresholds for various error-correction codes by simulation. This is something that has a relatively low barrier to entry. Another idea is to look at quantum cellular automata schemes for special purpose tasks (encoding, measurement, state preparation). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;You mentioned machine learning, so perhaps you may want to look at using evolutionary programming to evolve quantum circuits for various simple problems. I have played around with this a few times, and it seems you can get some quite nice behaviour (for example, evolving search rules).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I could go on listing random ideas that might make a suitable project, but if you could give more of an idea as to what area you are interested in, I think you will get better answers. A fundamental question might simply be are you interested in a coding project, one on hardware design, one on pure theory, etc.? Depending on which way you want to go, there will be a range of different possibilities.&lt;/p&gt;&#xA;" OwnerUserId="204" LastActivityDate="2010-08-30T03:25:50.410" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="763" PostTypeId="2" ParentId="739" CreationDate="2010-08-30T04:04:13.110" Score="17" Body="&lt;p&gt;I'll try to give a more high-level answer than the other ones.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The following classes of inputs are often useful to test the performance of a proposed algorithm or the validity of a conjecture in graph theory:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;em&gt;Random graphs&lt;/em&gt;: For many graph properties, random graphs are extremal in expectation.  For instance, the number of times a given complete bipartite graph occurs as a subgraph is minimized in a random graph.  (It's a beautiful conjecture of &lt;a href=&quot;http://www.renyi.hu/~miki/waterloo.pdf&quot;&gt;Erdős-Simonovits&lt;/a&gt; and &lt;a href=&quot;http://www.springerlink.com/content/l16l63976432lx70/&quot;&gt;Sidorenko&lt;/a&gt; that if $H$ is a bipartite graph, then the random graph with edge density $p$ has in expectation asymptotically the minimum number of copies of $H$ over all graphs of the same order and edge density.)  Distributions specified through random graphs are the source of many lower bounds for randomized graph algorithms, through &lt;a href=&quot;http://en.wikipedia.org/wiki/Yao%27s_principle&quot;&gt;Yao's minimax principle&lt;/a&gt;.  &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;em&gt;Structured graphs&lt;/em&gt;: This is a rough designation for a class of graphs that are somehow specially structured for the problem at hand.  For example, &lt;a href=&quot;http://en.wikipedia.org/wiki/Tur%C3%A1n%27s_theorem&quot;&gt;Turán's theorem&lt;/a&gt; says that the densest graph on $n$ vertices which is triangle-free is the complete bipartite graph $K_{n/2,n/2}$; this graph is clearly specially built to avoid triangles.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;em&gt;&quot;Non-random&quot; graphs&lt;/em&gt;: These are intermediate between being completely generic, as in random graphs, and completely specific to the problem, as in structured graphs.  For example, such a family could be random subgraphs of structured graphs.  Such examples come up often in creating stronger variants of &lt;a href=&quot;http://en.wikipedia.org/wiki/Szemer%C3%A9di_regularity_lemma&quot;&gt;Szemerédi's regularity lemma&lt;/a&gt;.  One way to produce these examples is to come up with a definition of &quot;pseudorandomness&quot; that models random inputs, so that for pseudorandom inputs, you can show that your algorithm or your conjecture works.  Then, you identify obstructions to pseudorandomness, and graphs which have these obstructions can then produce a large collection of non-random graphs which are counterexamples.  A more involved discussion of this principle can be found at &lt;a href=&quot;http://www.icm2006.org/proceedings/Vol_I/26.pdf&quot;&gt;Terry Tao's ICM talk in 2006&lt;/a&gt;.  These non-random graphs roughly correspond to the &quot;nilsequences&quot; in some of his works with Ben Green and others.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="15" LastActivityDate="2010-08-30T04:04:13.110" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="764" PostTypeId="2" ParentId="761" CreationDate="2010-08-30T05:22:43.760" Score="21" Body="&lt;p&gt;Have a look at&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Bernd Borchert, Riccardo Silvestri: A Characterization of the Leaf Language Classes. Inf. Process. Lett. 63(3): 153-158 (1997) (&lt;a href=&quot;http://dx.doi.org/10.1016/S0020-0190%2897%2900111-7&quot;&gt;doi link here&lt;/a&gt;)&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The authors characterize the leaf language classes as those which are (a) &quot;countable&quot;, (b) are &quot;downward&quot; closed wrt polytime many-one reducibility, and (c) &quot;join-closed&quot; (i.e., disjoint union) wrt polytime many-one reducibility. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;More formally, all the languages $L$ in a leaf language class have a bijection with the natural numbers, and the property that for every $C,D \in L$, if $E \leq^P_m C \sqcup D$ then $E \in L$ as well (the $\sqcup$ denotes disjoint union). Also, every &quot;non-leaf language class&quot; contains a language which fails to have one of these properties.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;From these three conditions we can get many examples of classes which aren't leaf language classes. For example, the &quot;countable&quot; condition rules out advice classes like $P/poly$, and the &quot;downward closed wrt polytime many-one reducibility&quot; rules out fixed resource-bound classes like $SPACE[n]$. (Recall that the usual proof that $SPACE[n] \neq P$ uses the fact that $SPACE[n]$ is &lt;em&gt;not&lt;/em&gt; closed under such reductions.) &lt;/p&gt;&#xA;" OwnerUserId="225" LastEditorUserId="225" LastEditDate="2010-08-30T05:32:18.553" LastActivityDate="2010-08-30T05:32:18.553" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="765" PostTypeId="2" ParentId="376" CreationDate="2010-08-30T06:07:04.693" Score="18" Body="&lt;p&gt;There is a very interesting line of work based on linear logic, called implicit complexity theory, which characterizes various complexity classes by imposing various type disciplines on the lambda calculus. IIRC, this work began when Bellantoni and Cook, and Leivant figured out how to use the type system to bound primitive recursion to capture various complexity classes. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In general, the attraction to working with lambda calculi is that it is sometimes possible to find more extensional (ie, more mathematically tractable) characterizations of various intensional features that give models like Turing machines their power. For example, one difference between Turing machines and pure lambda calculus is that since Turing receive codes of programs, a client can manually implement timeouts, to implement dovetailing -- and hence can compute parallel-or. However, timeouts can also be modelled metrically, and Escardo has conjectured (I don't know its status) that metric space models of the lambda calculus are fully abstract for PCF + timeouts. Metric spaces are &lt;em&gt;very&lt;/em&gt; well-studied mathematical objects, and it is very nice to be able to make use of that body of theory.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, the difficulty of using lambda calculus is that it forces you to confront higher-order phenomena right from the starting gate. This can be very subtle, since the Church-Turing thesis fails at higher type -- natural models of computation differ at higher type, since they differ in what you are permitted to do with the representations of computations. (Parallel-or is a simple example of this phenomenon, since it exhibits a difference between LC and TMs.) Moreover, there isn't even a strict inclusion between the different models, since the contravariance of the function space means that more expressive power at one order implies less expressive power one order higher. &lt;/p&gt;&#xA;" OwnerUserId="657" LastActivityDate="2010-08-30T06:07:04.693" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="766" PostTypeId="2" ParentId="750" CreationDate="2010-08-30T08:19:59.283" Score="8" Body="&lt;p&gt;There are several extensions of the problem to more general structures.  For instance:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Matroid matching (&lt;a href=&quot;http://www-math.mit.edu/~goemans/18997-CO/co-lec15.ps&quot; rel=&quot;nofollow&quot;&gt;lecture notes&lt;/a&gt;, &lt;a href=&quot;http://dx.doi.org/10.1016/0095-8956%2880%2990066-0&quot; rel=&quot;nofollow&quot;&gt;Matroid matching and some applications&lt;/a&gt;, &lt;a href=&quot;http://www.math.princeton.edu/~jvondrak/data/matroid-parity-STOC.pdf&quot; rel=&quot;nofollow&quot;&gt;Matroid Matching: the Power of Local Search&lt;/a&gt;)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Path-matching (&lt;a href=&quot;http://www.springerlink.com/index/m1j43073q5671278.pdf&quot; rel=&quot;nofollow&quot;&gt;Path-matching problems&lt;/a&gt;, &lt;a href=&quot;http://www.springerlink.com/content/berb8una44tmgx32/&quot; rel=&quot;nofollow&quot;&gt;Matching, matroids, and extensions&lt;/a&gt;)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Hypergraph matching (Can't find any good references)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Generally, these extensions are NP-hard.&lt;/p&gt;&#xA;" OwnerUserId="205" LastActivityDate="2010-08-30T08:19:59.283" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="767" PostTypeId="2" ParentId="710" CreationDate="2010-08-30T12:09:55.387" Score="17" Body="&lt;p&gt;One project I would suggest is this: Try to develop a quantum algorithm based on quantum random walk for linear programming. For the project you should first learn some basic facts about quantum random walks and how they are algorithmically useful, second about randomized simplex type algorithms and third trying to combine the two. Part 3 is very ambitious and I do not know if anything fruitful can be said at all, but parts 1 and 2 are already nice for an undergraduate project.  &lt;/p&gt;&#xA;" OwnerUserId="712" LastActivityDate="2010-08-30T12:09:55.387" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="768" PostTypeId="2" ParentId="398" CreationDate="2010-08-30T12:15:37.303" Score="6" Body="&lt;p&gt;Yes.  With &lt;em&gt;M=(λx.x x)&lt;/em&gt; per the question, consider the rewrite &amp;zeta; that takes &lt;em&gt;M M p&lt;/em&gt; to &lt;em&gt;M M&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is confluent, and so characterises a reduction system over the lambda calculus.  Argument sketch for confluence: since &lt;em&gt;M M&lt;/em&gt; is closed, we only need to consider critical pairs of the form &lt;em&gt;M M N&lt;sub&gt;1&lt;/sub&gt; ... N&lt;sub&gt;k&lt;/sub&gt;&lt;/em&gt;.  These can be resolved.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is an invisible equivalence, because terms of the form &lt;em&gt;M M I ... I&lt;/em&gt; (with zero or more &lt;em&gt;I&lt;/em&gt; s) are closed unsolvable terms that reduce only to themselves in the base lambda calculus, thus are distinct, and so the infinite set of these terms is nontrivial, and is obviously equated by &amp;zeta;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I don't like accepting my answer to my question, so I'll accept an answer from someone who provides a less absurdly incomplete confluence argument.&lt;/p&gt;&#xA;" OwnerUserId="270" LastActivityDate="2010-08-30T12:15:37.303" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="769" PostTypeId="2" ParentId="34" CreationDate="2010-08-30T12:16:46.723" Score="2" Body="&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt;&#xA;As Tsuyoshi Ito points out in the comments, this algorithm has exponential running time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Original post:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is how I would program this in the Real World.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;We are given a string S = (S[1],...,S[n]). For each prefix S_r = (S[1],...,S[r]), there is a set {(T_i, U_i)} of pairs of strings, such that S_r is a shuffle of (T_i, U_i), and T_i is a prefix of U_i (i.e. U_i 'starts with' T_i). S_r itself is a square if and only if this set contains a pair (T_i, U_i) with T_i = U_i.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, we don't need to generate all of these pairs; we just need to generate the suffix V_i of each string U_i obtained by removing its copy of T_i. This will eliminate a (possibly exponential) number of irrelevant duplicates. Now S_r is a square if and only if this set of suffixes contains the empty string. So the algorithm becomes:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;Initialise: SuffixSet = {&amp;lt;empty string&amp;gt;} ; r = 0&#xA;Loop: while (r &amp;lt; n) {&#xA;  r = r + 1&#xA;  NextSuffixSet = {}&#xA;  for each V in SuffixSet {&#xA;    if (V[1] == S[r]) Add V[2...] to NextSuffixSet // Remove first character of V&#xA;    Add V||S[r] to NextSuffixSet // Append character S[r] to V&#xA;    }&#xA;  SuffixSet = NextSuffixSet&#xA;  }&#xA;Now S is a square if and only if SuffixSet contains the empty string.&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;For instance, if S is AABAAB:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;r=0: SuffixSet = {&amp;lt;empty string&amp;gt;}&#xA;r=1: S[r] = A; SuffixSet = {A}&#xA;r=2: S[r] = A; SuffixSet = {&amp;lt;empty string&amp;gt;, AA}&#xA;r=3: S[r] = B; SuffixSet = {B, AAB}&#xA;r=4: S[r] = A; SuffixSet = {BA, AB, AABA}&#xA;r=5: S[r] = A; SuffixSet = {BAA, B, ABA, AABAA}&#xA;r=6: S[r] = B; SuffixSet = {AA, BAAB, &amp;lt;empty string&amp;gt;, BB, ABAB, AABAAB}&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;We can discard all suffixes that are more than half as long as the input string, so this simplifies to:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;r=0: SuffixSet = {&amp;lt;empty string&amp;gt;}&#xA;r=1: S[r] = A; SuffixSet = {A}&#xA;r=2: S[r] = A; SuffixSet = {&amp;lt;empty string&amp;gt;, AA}&#xA;r=3: S[r] = B; SuffixSet = {B, AAB}&#xA;r=4: S[r] = A; SuffixSet = {BA, AB}&#xA;r=5: S[r] = A; SuffixSet = {BAA, B, ABA}&#xA;r=6: S[r] = B; SuffixSet = {AA, &amp;lt;empty string&amp;gt;, BB}&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;I have programmed this in C++, and it works on all the examples given here. I can post the code, if anybody's interested.&#xA;The question is: can the size of SuffixSet grow faster than polynomially?&lt;/p&gt;&#xA;" OwnerUserId="727" LastEditorUserId="727" LastEditDate="2010-08-30T12:45:17.247" LastActivityDate="2010-08-30T12:45:17.247" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="770" PostTypeId="2" ParentId="531" CreationDate="2010-08-30T16:52:27.033" Score="5" Body="&lt;p&gt;Fernandez de la Vega and Karpinski in their paper &lt;em&gt;9/8-approximation algorithm for &#xA;random max-3sat&lt;/em&gt; give, as the title suggests, such an algorithm under the uniform distribution over 3sat clauses. Håstad showed that no deterministic 7/8 approximation algorithms exists for max-3sat (unless ...)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I don't know of any clear-cut decision problems, i.e. ones where the algorithm beats an inapproximability result for an optimization problem.&lt;/p&gt;&#xA;" OwnerUserId="39" LastActivityDate="2010-08-30T16:52:27.033" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="771" PostTypeId="2" ParentId="593" CreationDate="2010-08-30T17:53:08.380" Score="3" Body="&lt;p&gt;If you implement your priority queue as a balanced binary tree (a popular choice), then you just have to make sure that when you add an element to the tree, it gets inserted to the left of any elements with equal priority.&lt;br&gt;&#xA;This way, the insertion order is encoded in the structure of the tree itself.&lt;/p&gt;&#xA;" OwnerUserId="727" LastActivityDate="2010-08-30T17:53:08.380" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="772" PostTypeId="2" ParentId="750" CreationDate="2010-08-30T19:55:11.090" Score="5" Body="&lt;p&gt;Yet another classical problem that can be interpreted as a matching problem with a strange objective function $f_v$ is &lt;a href=&quot;http://www.nada.kth.se/~viggo/wwwcompendium/node21.html&quot; rel=&quot;nofollow&quot;&gt;minimum maximal matching&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here you can define $f_v$ as follows: $0$ if $v$ is unmatched and adjacent to another unmatched node; $n$ if $v$ is matched; and $n+1$ if $v$ is unmatched but not adjacent to any unmatched node.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now the value of the objective function $\sum_v f_v$ is $n^2 + n - 2|M| \ge n^2$ if the matching $M$ is maximal; otherwise it is smaller than $n^2$. Hence maximising $\sum_v f_v$ over all $M$ results in the smallest maximal matching $M$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finding a smallest maximal matching is an NP-hard optimisation problem, so we can fairly safely say that it isn't just the usual maximum weight matching problem in disguise. Again, note that $f_v$ is &quot;non-local&quot; in the sense that it is not a function of $M$ restricted to the edges incident to $v$.&lt;/p&gt;&#xA;" OwnerUserId="74" LastActivityDate="2010-08-30T19:55:11.090" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="773" PostTypeId="1" CreationDate="2010-08-30T20:34:36.340" Score="16" ViewCount="558" Body="&lt;p&gt;In [1], Turan shows that the sensitivity (called &quot;critical complexity&quot; in the paper) of a graph property is strictly greater than $\lfloor {1\over 4} m \rfloor$ where $m$ is the number of vertices in the graph. He goes on to conjecture that any non-trivial graph property has sensitivity $\geq m-1$. He mentions that this has been verified for $m \leq 5$. Has any progress been made on this conjecture? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;i&gt;Background&lt;/i&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $x$ be a binary string in $\{0,1\}^n$. Define $x^i$ for $1 \leq i \leq n$ to be the string obtained from $x$ by flipping the $i^{th}$ bit. For a boolean function $f: \{0,1\}^n$ \to $\{0,1\}$, define the &lt;i&gt;sensitivity of $f$ at $x$&lt;/i&gt; as $s(f;x) := |\{i : f(x) \neq f(x^i) \}|$. Finally, define the &lt;i&gt;sensitivity&lt;/i&gt; of $f$ as $s(f) := \mbox{max}_x\; s(f;x)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A graph property $\mathcal P$ is a collection graphs such that if $G \in \mathcal P$ and $G'$ is isomorphic to $G$ then $G' \in \mathcal P$. We can think of a graph property $\mathcal P$ as the union of properties $\mathcal P_m$ where $\mathcal P_m$ is the subset of $\mathcal P$ consisting of graphs with $m$ vertices. Further, we can conceive of a graph property $\mathcal P_m$ as a boolean function on $\{0,1\}^n$ where $n = {m \choose 2}$. We can encode a graph on $m$ vertices in a binary vector of length $n$; each entry in the vector corresponds to a pair of vertices and the entry is $1$ iff that edge is present in the graph. Thus, the sensitivity of a graph property is its sensitivity &lt;i&gt;qua&lt;/i&gt; boolean function.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Turan, G., The critical complexity of graph properties, &lt;i&gt;Information Processing Letters&lt;/i&gt; 18 (1984), 151-153. &lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="744" LastEditorUserId="80" LastEditDate="2010-08-30T21:08:34.817" LastActivityDate="2010-08-31T06:37:27.000" Title="Sensitivity of Graph Properties" Tags="&lt;graph-theory&gt;&lt;property-testing&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="774" PostTypeId="2" ParentId="482" CreationDate="2010-08-30T20:49:50.113" Score="5" Body="&lt;p&gt;You can have a nice introduction in the article &quot;An Introduction to Quantum Computing for Non-Physicists&quot; by Eleanor Rieffel and Wolfgang Polak. It is maybe a bit old, however it is still a good, short, self-contained introduction to the topic: &lt;a href=&quot;http://arxiv.org/abs/quant-ph/9809016&quot; rel=&quot;nofollow&quot;&gt;http://arxiv.org/abs/quant-ph/9809016&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another article, much more summarized is the Pablo Arrighi's &quot;Quantum Computation explained to my Mother&quot; at &lt;a href=&quot;http://arxiv.org/abs/quant-ph/0305045&quot; rel=&quot;nofollow&quot;&gt;http://arxiv.org/abs/quant-ph/0305045&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="743" LastEditorUserId="743" LastEditDate="2010-09-01T07:56:09.090" LastActivityDate="2010-09-01T07:56:09.090" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="775" PostTypeId="2" ParentId="174" CreationDate="2010-08-30T21:19:48.890" Score="25" Body="&lt;p&gt;There are a lot of open problems in lambda calculi (typed and untyped).  See the &lt;a href=&quot;http://tlca.di.unito.it/opltlca/&quot;&gt;TLCA list of open problems&lt;/a&gt; for details;  there is also a nice &lt;a href=&quot;http://tlca.di.unito.it/opltlca/opltlca.pdf&quot;&gt;PDF version&lt;/a&gt; without the frames.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I particularly like problem #5:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Are there terms untypable in $F_ω$  but typable with help of positive recursive types? &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="66" LastActivityDate="2010-08-30T21:19:48.890" CommentCount="1" CommunityOwnedDate="2010-08-30T21:19:48.890" ContentLicense="CC BY-SA 2.5" />
  <row Id="776" PostTypeId="2" ParentId="174" CreationDate="2010-08-30T21:22:45.567" Score="15" Body="&lt;p&gt;Another open problem for the lambda calculus (from &lt;a href=&quot;http://tlca.di.unito.it/opltlca/&quot;&gt;TLCA list of open problems&lt;/a&gt;; &lt;a href=&quot;http://tlca.di.unito.it/opltlca/opltlca.pdf&quot;&gt;PDF version&lt;/a&gt; ).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Problem #22 on the list:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there a continuously complete CPO model of the $\lambda$-calculus whose theory is precisely λβη or λβ ? &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="66" LastActivityDate="2010-08-30T21:22:45.567" CommentCount="0" CommunityOwnedDate="2010-08-30T21:22:45.567" ContentLicense="CC BY-SA 2.5" />
  <row Id="777" PostTypeId="1" AcceptedAnswerId="1221" CreationDate="2010-08-30T22:23:16.287" Score="19" ViewCount="704" Body="&lt;p&gt;The Glauber dynamics is a Markov chain on the colorings of a graph in which at each step one attempts to recolor a randomly chosen vertex with a random color. It does not mix for the 3-colorings of a 5-cycle: there are 30 3-colorings, but only 15 of them can be reached by single-vertex recoloring steps. More generally, it &lt;a href=&quot;https://11011110.github.io/blog/2010/09/02/binary-model-of.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;can be shown not to mix&lt;/a&gt; for 3-colorings of an n-cycle unless n=4.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The Kempe chain or Wang-Swendsen-Kotecký dynamics is only a little more complicated: at each step one chooses a random vertex v and a random color c, but then one finds the subgraph induced by two of the colors (c and the color of v) and swaps these colors within the component containing v. It is not hard to see that, unlike the Glauber dynamics, all 3-colorings of a cycle can be reached.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is the Wang-Swendsen-Kotecký dynamics rapidly mixing on 3-colorings of an n-vertex cycle graph?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I know of the results e.g. by Molloy (STOC 2002) that Glauber is rapidly mixing when the number of colors is at least 1.489 times the degree (true here) and the graph to be colored has high girth (also true), but they also require that the degree be at least logarithmic in the size of the graph (not true for cycle graphs), so they don't seem to apply.&lt;/p&gt;&#xA;" OwnerUserId="95" LastEditorUserId="95" LastEditDate="2020-04-06T16:17:05.893" LastActivityDate="2020-04-06T16:17:31.350" Title="Rapidly mixing Markov chains on 3-colorings of a cycle" Tags="&lt;graph-theory&gt;&lt;markov-chains&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="4" ContentLicense="CC BY-SA 4.0" />
  <row Id="778" PostTypeId="1" CreationDate="2010-08-30T22:27:25.353" Score="1" ViewCount="893" Body="&lt;p&gt;Mandelbrot set is defined using the complex equation $P_c (z)=z^2 +c$  where $c$ is a complex number&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let Set $M=${$(c,k,m) |$ the sequence $P_c (0),P_c (P_c (0)), P_c (P_c (P_c (0)))...$ is unbounded and some number $P^n_c (0)$ has a complex magnitude greater than 2 (but less than $m$) for some integer $n$ &gt; $k$}&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assume $k$ and $m$ are integers given in unary encoding&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there an efficient algorithm in the real computing model (i.e the Blum-Shub-Smale model) for deciding set $M$ ?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Essentially, I'm asking if there exists efficient algorithm that decides whether the sequence is UNBOUNDED such that breakaway occurs at a number of iterations more than K.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;UPDATE:&lt;/strong&gt; The problem is in $NP$ since there is a polynomially verifiable certificate of membership.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;So, Is there an efficient algorithm or is it $NP$-hard to decide set $M$?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;The problem went through major changes for these reasons:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1-For the problem to be interesting, &quot;&amp;lt;&quot; was changed to &quot;&gt;&quot; in the definition.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2-I wanted the problem to be in $NP$, so I introduced parameter $m$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Also, the bounty may be awarded to the first person who poses an $NP$-complete problem related to Mandelbrot Set&lt;/strong&gt; &lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2010-09-10T06:19:44.797" LastActivityDate="2010-09-16T04:36:29.127" Title="Complexity of a variant of the Mandelbrot set decision problem?" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;computing-over-reals&gt;&lt;mandelbrot&gt;" AnswerCount="3" CommentCount="28" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="780" PostTypeId="2" ParentId="585" CreationDate="2010-08-30T22:58:54.360" Score="1" Body="&lt;p&gt;The problem that Ross mentions as being the discrete log problem is in reality an altogether different problem, the RSA problem, which is much more related to computing roots than to discrete log.&lt;/p&gt;&#xA;" OwnerDisplayName="Pablo Bustamante" LastActivityDate="2010-08-30T22:58:54.360" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="781" PostTypeId="2" ParentId="778" CreationDate="2010-08-30T23:54:21.863" Score="8" Body="&lt;p&gt;Let's look at $M$ for fixed $k$ first.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a fixed $k$ in unary, the problem essentially reduces to figuring out the algebraic set $|P_c^{(k)}(0)| = 2$.  Since the level sets 'at infinity' are properly nested, the question becomes a membership test in an algebraic set.  The issue is that the minimal polynomial is of degree $2^k$.  However, one can represent it as a straight-line problem of size $k$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So then the question becomes: what is your arithmetic model?  You'll need arbitrary precision arithmetic to do this 'right', and then counting bit operations or counting &quot;real number&quot; operations will give radically different answers [NP-hardness is rather fragile that way, unlike 'computability'].&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For arbitrary $k$, things get messier still.  It really depends on whether one would have a uniform modulus of continuity; if that were the case, then the Mandelbrot set would be locally connected, which would indeed be a breakthrough.  So I rather think that that problem is open.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Looking up the Yampolsky and Braverman book is a good idea in any case.&lt;/p&gt;&#xA;" OwnerUserId="66" LastActivityDate="2010-08-30T23:54:21.863" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="782" PostTypeId="2" ParentId="384" CreationDate="2010-08-31T00:05:24.210" Score="15" Body="&lt;p&gt;There is another answer to this question: there aren't any.  More specifically, any such (implementable!) higher-order algorithm is &lt;strong&gt;mechanically&lt;/strong&gt; equivalent to a first-order algorithm, using &lt;a href=&quot;http://en.wikipedia.org/wiki/Defunctionalization&quot;&gt;defunctionalization&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let me be more precise: while there are indeed actual higher-order algorithms, in practice it is always possible to rewrite each &lt;em&gt;instance&lt;/em&gt; as a purely first-order program.  In other words, there are no &lt;em&gt;saturated&lt;/em&gt; higher-order programs -- essentially because the input/output of programs are bit strings.  [Yes, those bit strings can represent functions, but that's the point: they &lt;em&gt;represent&lt;/em&gt; functions, they are &lt;strong&gt;not&lt;/strong&gt; functions].&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The answers already given are excellent, and my answer should not be considered as contradicting them.  It should be considered as answering the question from within a slightly larger context (complete programs instead of stand-alone algorithms).  And this change of context changes the answer quite radically.  The point of my answer is to remind people of this, which is all too easy to forget.&lt;/p&gt;&#xA;" OwnerUserId="66" LastActivityDate="2010-08-31T00:05:24.210" CommentCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="783" PostTypeId="1" AcceptedAnswerId="38458" CreationDate="2010-08-31T00:09:50.857" Score="39" ViewCount="8640" Body="&lt;p&gt;Consider the obvious $n\times n\times n$ generalization of the &lt;a href=&quot;http://en.wikipedia.org/wiki/Rubik%27s_Cube&quot;&gt;Rubik's Cube&lt;/a&gt;.  Is it NP-hard to compute the &lt;em&gt;shortest&lt;/em&gt; sequence of moves that solves a given scrambled cube, or is there a polynomial-time algorithm?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[Some related results are described in &lt;a href=&quot;http://3dpancakes.typepad.com/ernie/2010/06/complexity-of-rubiks-cube.html&quot;&gt;my recent blog post&lt;/a&gt;.] &lt;/p&gt;&#xA;" OwnerUserId="111" LastEditorUserId="186" LastEditDate="2010-10-23T05:37:10.863" LastActivityDate="2017-06-22T04:35:34.140" Title="Is optimally solving the n×n×n Rubik's Cube NP-hard?" Tags="&lt;cc.complexity-theory&gt;&lt;co.combinatorics&gt;&lt;np-hardness&gt;&lt;open-problem&gt;&lt;puzzles&gt;" AnswerCount="3" CommentCount="12" FavoriteCount="10" ContentLicense="CC BY-SA 2.5" />
  <row Id="784" PostTypeId="1" CreationDate="2010-08-31T05:12:32.173" Score="5" ViewCount="924" Body="&lt;p&gt;I just found the first volume of &lt;em&gt;Handbook of Logic in Computer Science&lt;/em&gt; in a library, but unfortunately I won't be able to use it here. It seems like a great resource, but it's insanely expensive to buy - is it worth it? Do you know any good alternatives?&lt;/p&gt;&#xA;" OwnerUserId="369" LastEditorUserId="80" LastEditDate="2010-08-31T05:13:48.207" LastActivityDate="2010-08-31T07:58:53.590" Title="Handbook of Logic in Computer Science - is it worth it?" Tags="&lt;reference-request&gt;&lt;lo.logic&gt;&lt;soft-question&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="785" PostTypeId="2" ParentId="384" CreationDate="2010-08-31T05:20:52.580" Score="13" Body="&lt;p&gt;A &lt;em&gt;modulus of continuity&lt;/em&gt; functional is a map &lt;code&gt;m&lt;/code&gt; which accepts a (continuous) functional &lt;code&gt;F : (nat -&amp;gt; nat) -&amp;gt; nat&lt;/code&gt; and outputs a number &lt;code&gt;k&lt;/code&gt; such that &lt;code&gt;F f = F g&lt;/code&gt; whenever &lt;code&gt;f i = g i&lt;/code&gt; for all &lt;code&gt;i &amp;lt; k&lt;/code&gt;. There are algorithms for computing the &lt;em&gt;modulus of continuity&lt;/em&gt; (not very efficient ones), so that makes it an instance of a 3rd order algorithm.&lt;/p&gt;&#xA;" OwnerUserId="705" LastActivityDate="2010-08-31T05:20:52.580" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="786" PostTypeId="2" ParentId="189" CreationDate="2010-08-31T06:10:17.187" Score="9" Body="&lt;p&gt;The &lt;a href=&quot;http://en.wikipedia.org/wiki/Simplex_algorithm&quot;&gt;Simplex Algorithm&lt;/a&gt; is an algorithm for solving linear programming problems.  While it has an exponential worst case running time it is very fast in practice.  There are polynomial running time algorithms, but none are as simple to implement as the simplex algorithm.  The algorithm works by traversing the edges of a simplex and it's possible that you will have to traverse every edge, which is where the exponential bound comes from.&lt;/p&gt;&#xA;" OwnerDisplayName="user420" LastEditorDisplayName="user420" LastEditDate="2010-08-31T06:23:59.307" LastActivityDate="2010-08-31T06:23:59.307" CommentCount="0" CommunityOwnedDate="2010-08-31T06:10:17.187" ContentLicense="CC BY-SA 2.5" />
  <row Id="787" PostTypeId="2" ParentId="773" CreationDate="2010-08-31T06:37:27.000" Score="2" Body="&lt;p&gt;The survey that Suresh pointed to brings up a paper by Wegener [1] that partially confirms the conjecture. It holds for all monotone graph properties and the inequality is tight (consider the property &quot;Has no isolated vertices&quot;). Any more recent results would be appreciated as well.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Wegener, L. The critical complexity of all (monotone) Boolean functions and monotone graph properties. &lt;i&gt;Information and Control&lt;/i&gt;, 67:212-222, 1985.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="751" LastActivityDate="2010-08-31T06:37:27.000" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="788" PostTypeId="2" ParentId="784" CreationDate="2010-08-31T07:19:46.827" Score="8" Body="&lt;p&gt;The series is a wonderful resource, but I wouldn't recommend buying it when it is available in the library, unless you knew you were going to use it for many years to come. (I have too many expensive books on my shelf that are lovely to look at, but not used much.) Many articles and tutorials with comparable contents are available on the web. These are probably a better alternative for the moment, in my opinion.&lt;/p&gt;&#xA;" OwnerUserId="77" LastActivityDate="2010-08-31T07:19:46.827" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="789" PostTypeId="2" ParentId="174" CreationDate="2010-08-31T07:33:48.103" Score="24" Body="&lt;p&gt;Parity games are two-player infinite-duration graph games, whose natural decision problem is in NP and co-NP, and whose natural search problem in PPAD and PLS.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Parity_game&quot;&gt;http://en.wikipedia.org/wiki/Parity_game&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can parity games be solved in polynomial time? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;(More generally, a long-standing major open question in mathematical programming is whether P-matrix Linear Complementarity Problems can be solved in polynomial time?)&lt;/p&gt;&#xA;" OwnerUserId="368" LastEditorUserId="368" LastEditDate="2010-09-01T06:52:30.383" LastActivityDate="2010-09-01T06:52:30.383" CommentCount="0" CommunityOwnedDate="2010-08-31T07:33:48.103" ContentLicense="CC BY-SA 2.5" />
  <row Id="790" PostTypeId="2" ParentId="784" CreationDate="2010-08-31T07:58:53.590" Score="7" Body="&lt;p&gt;Some years back, the rumour grapevine told me that more volumes of the series were planned, but the series was stopped at the fourth because preprints of nearly all the chapters were made informally available by the authors from their websites.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The series is very classy, and it's a shame that it didn't continue.  The rumour, if true, would support both sides of the debate over preprint culture: either it shows just how successful the preprint practice has been at making valuable content widely available at no cost, particularly to graduate students who might otherwise not afford more than limited access to these texts.  Or it has undermined the effort of top-notch publishers like OUP to make first-rate, well-edited and well-typeset research publications available.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Nobody needs these volumes, as supercooldave says.  But if you have the money, and value the physical product, why not?  It supports the best part of what looks to be a dying industry, and you will like holding it each time you take it off your bookshelf.&lt;/p&gt;&#xA;" OwnerUserId="270" LastActivityDate="2010-08-31T07:58:53.590" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="791" PostTypeId="1" AcceptedAnswerId="10123" CreationDate="2010-08-31T09:51:36.003" Score="37" ViewCount="2758" Body="&lt;p&gt;&lt;strong&gt;Update&lt;/strong&gt;: The obstruction set (i.e. the NxM &quot;barrier&quot; between colorable and uncolorable grid sizes) for all monochromatic-rectangle-free 4-colorings is now &lt;strong&gt;known&lt;/strong&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Anyone feel up to trying 5-colorings? ;)&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;The following question arises out of &lt;a href=&quot;http://en.wikipedia.org/wiki/Ramsey_theory&quot; rel=&quot;nofollow&quot;&gt;Ramsey Theory&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider a $k$-coloring of the $n$-by-$m$ grid graph. A &lt;code&gt;monochromatic rectangle&lt;/code&gt; exists whenever four cells with the same color are arranged as the corners of some rectangle. For example, $(0,0), (0,1), (1,1),$ and $(1,0)$ form a monochromatic rectangle if they have the same color. Similarly, $(2,2), (2,6), (3,6),$ and $(3,2)$ form a monochromatic rectangle, if colored with the same color.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question&lt;/strong&gt;: Does there exist a $4$-coloring of the $17$-by-$17$ grid graph that does not contain a monochromatic rectangle? If so, provide the explicit coloring.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some known facts:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$16$-by-$17$ &lt;i&gt;is&lt;/i&gt; $4$-colorable without a monochromatic rectangle, but the known coloring scheme does not appear to extend to the $17$-by-$17$ case. (I'm omitting the known $16$-by-$17$ coloring because it would very likely be a red herring for deciding $17$-by-$17$.)&#xA;&lt;li&gt;$18$-by-$19$ is &lt;i&gt;NOT&lt;/i&gt; $4$-colorable without a monochromatic rectangle.&#xA;&lt;li&gt;$17$-by-$18$ and $18$-by-$18$ are also unknown cases; an answer to these would be interesting as well.&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Disclaimer: &lt;a href=&quot;http://blog.computationalcomplexity.org/&quot; rel=&quot;nofollow&quot;&gt;Bill Gasarch&lt;/a&gt; has a $289 (USD) bounty on a &lt;em&gt;positive&lt;/em&gt; answer to this question; you can reach him through his blog. A note on etiquette: I'll make sure he knows the source of any correct answer (should one arise).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;He brought it up again during a rump session at Barriers II, and I find it interesting, so I'm forwarding the question here (without his knowledge; though I highly doubt he would mind).&lt;/p&gt;&#xA;" OwnerUserId="108" LastEditorUserId="108" LastEditDate="2012-08-08T17:18:48.947" LastActivityDate="2012-08-08T17:18:48.947" Title="Grid $k$-coloring without monochromatic rectangles" Tags="&lt;co.combinatorics&gt;&lt;puzzles&gt;&lt;open-problem&gt;&lt;ramsey-theory&gt;&lt;graph-colouring&gt;" AnswerCount="6" CommentCount="6" FavoriteCount="14" ContentLicense="CC BY-SA 3.0" />
  <row Id="792" PostTypeId="2" ParentId="778" CreationDate="2010-08-31T11:03:56.553" Score="5" Body="&lt;p&gt;This answer combines some of my comments to the question and improves them.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The set M is decidable in linear time on a Turing machine over the reals.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is why.  The definition of the set M in the question consists of two conditions, but note that the first condition is redundant: it is well-known that the infinite sequence P&lt;sub&gt;c&lt;/sub&gt;(0), P&lt;sub&gt;c&lt;/sub&gt;(P&lt;sub&gt;c&lt;/sub&gt;(0)), P&lt;sub&gt;c&lt;/sub&gt;(P&lt;sub&gt;c&lt;/sub&gt;(P&lt;sub&gt;c&lt;/sub&gt;(0))), … is unbounded if it contains a term whose absolute value is greater than 2.  Therefore, to decide whether a given pair (c,k) belongs to the set M or not, we only have to test the second condition, which can be done in O(k) time on a Turing machine over the reals.  Since k is given in unary, this is linear time in the input length.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I do not know much about Turing machines over the reals, and I may have made any mistakes.&lt;/p&gt;&#xA;" OwnerUserId="567" LastEditorUserId="567" LastEditDate="2010-09-09T16:14:36.397" LastActivityDate="2010-09-09T16:14:36.397" CommentCount="14" ContentLicense="CC BY-SA 2.5" />
  <row Id="793" PostTypeId="1" AcceptedAnswerId="2192" CreationDate="2010-08-31T13:26:04.207" Score="10" ViewCount="670" Body="&lt;p&gt;Deterministic context-free languages (DCFL) and visibly pushdown languages (VPL) are both sets of formal languages between context-free languages (CFL) and regular languages (REG). Is there a readable notation that can be expressed in plain ASCII like Backus-Naur-Form for CFL and regular expressions for REG?&lt;/p&gt;&#xA;" OwnerUserId="758" LastEditorUserId="7304" LastEditDate="2012-04-23T21:59:15.827" LastActivityDate="2012-04-23T21:59:15.827" Title="What good notations for deterministic context-free and visibly pushdown languages exist?" Tags="&lt;fl.formal-languages&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="794" PostTypeId="2" ParentId="189" CreationDate="2010-08-31T13:30:06.053" Score="7" Body="&lt;p&gt;An algorithm I consider to be very nice and simple is the classic fixed parameterized algorithm for vertex covers of size at most $k$. It runs in time $2^k n^c$ for some constant $c&gt;0$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is based on the simple observation that either a vertex is in the cover or all its neighbors must be.  Thus the following pseudo-code applies:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;G: a graph with n vertices&#xA;k: the maximum size of the cover&#xA;&#xA;def Vertex_Cover(G,k): &#xA;    if k&amp;lt;=0 and |E(G)|!=0: return False&#xA;    else:&#xA;         N= the set of neighbors of an arbitrary vertex v&#xA;         H1= G - {v}&#xA;         H2= G - N  &#xA;         return Vertex_Cover(H1,k-1) or Vetex_Cover(H2,k-|N|) &#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Of course such procedure can be implemented in a decision tree fashion.&lt;/p&gt;&#xA;" OwnerUserId="267" LastEditorUserId="267" LastEditDate="2010-08-31T13:38:33.927" LastActivityDate="2010-08-31T13:38:33.927" CommentCount="1" CommunityOwnedDate="2010-08-31T13:30:06.053" ContentLicense="CC BY-SA 2.5" />
  <row Id="795" PostTypeId="2" ParentId="189" CreationDate="2010-08-31T13:35:35.947" Score="4" Body="&lt;p&gt;The Shift-And algorithm by Baeza-Yates and Gonnet (&lt;a href=&quot;http://en.wikipedia.org/wiki/Bitap_algorithm&quot; rel=&quot;nofollow&quot;&gt;Bitap&lt;/a&gt; @Wikipedia) for finding all occurrences of a pattern in a text. In my opinion the simplest example of a useful seminumerical algorithm.&lt;/p&gt;&#xA;" OwnerUserId="474" LastActivityDate="2010-08-31T13:35:35.947" CommentCount="0" CommunityOwnedDate="2010-08-31T13:35:35.947" ContentLicense="CC BY-SA 2.5" />
  <row Id="796" PostTypeId="1" CreationDate="2010-08-31T13:48:20.257" Score="22" ViewCount="1009" Body="&lt;p&gt;This is along the lines of &quot;&lt;a href=&quot;https://cstheory.stackexchange.com/questions/189/algorithms-from-the-book&quot;&gt;Algorithms from the Book&lt;/a&gt;&quot;. Although reductions are algorithms as well, I thought it doubtful that one would think of a reduction in response to the question about algorithms from the book. Hence a separate query!  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Reductions of all kinds are most welcome. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'll start off with the really simple reduction from vertex cover to multicut on stars. The reduction almost suggests itself once the source problem is identified (before which I would find it hard to believe that the problem would be hard on stars). This reduction involves constructing a star with $n$ leaves, and associating a pair of terminals with every edge in the graph, and it is &quot;easy to see&quot; that it works. I will update this with a link to a reference, once I find one.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Those who are missing the context of the book may want to look at the question about &lt;a href=&quot;https://cstheory.stackexchange.com/questions/189/algorithms-from-the-book&quot;&gt;Algorithms from the book&lt;/a&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt; I realize that I was not entirely clear as to what qualifies as a reduction from the book. I find this issue a little bit tricky, so I confess to half-deliberately dodging the issue by slipping in a reference to the other thread :)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So let me describe what I had in mind, and I suppose it goes without saying - YMMV in this regard. I intend a direct analogy to the original intent of Proofs from the Book. I have seen reductions that are awfully clever, and leave me gaping at how that sequence of thoughts might have occurred to anyone. While such reductions leave me with a definite sense of awe, those are not the examples that I am looking to collect in this context. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;What I am looking for are reductions that are described without too much difficulty, and are perhaps mildly surprising, for the reason that they are easy to grasp but aren't easy to come up with. If you estimate that the reduction in question will require a lecture to cover, then likely it doesn't fit the bill, although I am sure there might be exceptions where the high-level idea is elegant and the devil's in the details (for the record, I'm not sure I can think of any).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The example I gave was deliberately simple, and hopefully somewhat - if not perfectly - illustrative of these characteristics. The first time I heard about multi-cut was in a classroom, and our instructor began by saying that not only is it NP-hard in general, it is NP-hard even when restricted to trees... {dramatic pause} of &lt;em&gt;height one&lt;/em&gt;. I recall not being able to prove it immediately, although it seems obvious in retrospect.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I suppose &lt;em&gt;obvious in retrospect&lt;/em&gt; closely describes what I am looking for. I am not sure if this has anything to do with the complexity of the description - perhaps there are situations where something apparently murky might classify as elegant - feel free to bring up your examples (exceptions?), but I would really appreciate a justification. Given that after some point this is a matter of taste, you should certainly feel free to find what I see as insanely complex, perfectly beautiful. I am looking forward to seeing a variety of examples!&lt;/p&gt;&#xA;" OwnerUserId="688" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2010-09-03T03:44:25.203" Title="Reductions from the book." Tags="&lt;ds.algorithms&gt;&lt;np-hardness&gt;&lt;big-list&gt;&lt;reductions&gt;" AnswerCount="9" CommentCount="7" FavoriteCount="8" CommunityOwnedDate="2010-08-31T14:05:42.357" ContentLicense="CC BY-SA 2.5" />
  <row Id="797" PostTypeId="2" ParentId="796" CreationDate="2010-08-31T14:33:52.857" Score="3" Body="&lt;p&gt;&lt;strong&gt;SAT to 3SAT&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Starting from the basics. The cases where the number of literals $k$ is smaller or equal to 3 are trivially reduced to 3SAT. When $k \gt 3$, it's possible to add a polynomial number of extra variables in such a way that the truth assignment is kept and clauses are split to have exactly 3 literals. For reference see &lt;a href=&quot;http://www.soe.ucsc.edu/classes/cmps102/Spring10/lect/17/SAT-3SAT-and-other-red.pdf&quot; rel=&quot;nofollow&quot;&gt;1&lt;/a&gt;. &lt;/p&gt;&#xA;" OwnerUserId="741" LastActivityDate="2010-08-31T14:33:52.857" CommentCount="0" CommunityOwnedDate="2010-08-31T14:33:52.857" ContentLicense="CC BY-SA 2.5" />
  <row Id="798" PostTypeId="2" ParentId="796" CreationDate="2010-08-31T14:46:42.667" Score="3" Body="&lt;p&gt;&lt;strong&gt;3SAT to 3COL&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Using gadgets to reduce 3SAT to the problem of deciding if a graph is colorable with 3 colors. For reference see &lt;a href=&quot;http://www.shannarasite.org/kb/kbse60.html&quot; rel=&quot;nofollow&quot;&gt;1&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="741" LastActivityDate="2010-08-31T14:46:42.667" CommentCount="1" CommunityOwnedDate="2010-08-31T14:46:42.667" ContentLicense="CC BY-SA 2.5" />
  <row Id="799" PostTypeId="1" AcceptedAnswerId="863" CreationDate="2010-08-31T14:52:55.643" Score="46" ViewCount="3764" Body="&lt;p&gt;&lt;a href=&quot;http://doi.acm.org/10.1145/321864.321877&quot;&gt;Ladner's Theorem&lt;/a&gt; states that if P ≠ NP, then there is an infinite hierarchy of &lt;a href=&quot;http://en.wikipedia.org/wiki/Complexity_class&quot;&gt;complexity classes&lt;/a&gt; strictly containing P and strictly contained in NP.  The proof uses the completeness of SAT under many-one reductions in NP.  The hierarchy contains complexity classes constructed by a kind of diagonalization, each containing some language to which the languages in the lower classes are not many-one reducible.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This motivates my question:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Let C be a complexity class, and let D be a complexity class that strictly contains C.  If D contains languages that are complete for some notion of reduction, does there exist an infinite hierarchy of complexity classes between C and D, with respect to the reduction?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;More specifically, I would like to know if there are results known for D = P and C = &lt;a href=&quot;http://qwiki.stanford.edu/wiki/Complexity_Zoo%3aL#logcfl&quot;&gt;LOGCFL&lt;/a&gt; or C = &lt;a href=&quot;http://qwiki.stanford.edu/wiki/Complexity_Zoo%3aN#nc&quot;&gt;NC&lt;/a&gt;, for an appropriate notion of reduction.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Ladner's paper already includes Theorem 7 for space-bounded classes C, as Kaveh pointed out in an answer.  In its strongest form this says: if NL ≠ NP then there is an infinite sequence of languages between NL and NP, of strictly increasing hardness.  This is slightly more general than the usual version (Theorem 1), which is conditional on P ≠ NP.  However, Ladner's paper only considers D = NP.&lt;/p&gt;&#xA;" OwnerUserId="109" LastEditorUserId="109" LastEditDate="2012-03-12T10:22:21.187" LastActivityDate="2012-03-12T10:22:21.187" Title="Generalized Ladner's Theorem" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;np-intermediate&gt;" AnswerCount="4" CommentCount="2" FavoriteCount="15" ContentLicense="CC BY-SA 3.0" />
  <row Id="800" PostTypeId="2" ParentId="796" CreationDate="2010-08-31T14:58:19.057" Score="8" Body="&lt;p&gt;&lt;strong&gt;Cook-Levin Theorem&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any problem in NP can be reduced in polytime by a deterministic turing machine to SAT. For reference see &lt;a href=&quot;http://en.wikipedia.org/wiki/Cook%E2%80%93Levin_theorem&quot;&gt;1&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="741" LastActivityDate="2010-08-31T14:58:19.057" CommentCount="0" CommunityOwnedDate="2010-08-31T14:58:19.057" ContentLicense="CC BY-SA 2.5" />
  <row Id="801" PostTypeId="2" ParentId="799" CreationDate="2010-08-31T15:08:28.193" Score="8" Body="&lt;p&gt;I think the answer is positive for &lt;span class=&quot;math-container&quot;&gt;$C=L$&lt;/span&gt; and the uniform version of &lt;span class=&quot;math-container&quot;&gt;$NC$&lt;/span&gt;. Ladner's proof does not use much other than what you stated and the fact that the smaller class is recursively represented and should work with minor modifications but I have not checked the details, take a look at Lance's writeup &lt;a href=&quot;http://blog.computationalcomplexity.org/2003/03/foundations-of-complexity-lesson-16.html&quot; rel=&quot;noreferrer&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;hr /&gt;&#xA;&lt;h2&gt;Update&lt;/h2&gt;&#xA;&lt;p&gt;Check Ladner's paper &lt;a href=&quot;http://dx.doi.org/10.1145%2F321864.321877&quot; rel=&quot;noreferrer&quot;&gt;On the Structure of Polynomial Time Reducibility&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Here is the abstract:&#xA;Two notions of polynomial time reducibility, denoted here by &lt;span class=&quot;math-container&quot;&gt;$\leq_T^P$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$\leq_m^P$&lt;/span&gt;, were defined by Cook and Karp, respectively. The abstract property of these two relations on the domain of computable sets are investigated. Both relations prove to be dense and to have minimal pairs. Further, there is a strictly ascending sequence with a minimal pair of upper bounds to the sequence. Our method of showing density yields the result that if &lt;span class=&quot;math-container&quot;&gt;$P \neq NP$&lt;/span&gt; then there are members of &lt;span class=&quot;math-container&quot;&gt;$NP - P$&lt;/span&gt; that are not polynomial complete.&lt;/p&gt;&#xA;&lt;p&gt;THEOREM 1. If B is computable and not in &lt;span class=&quot;math-container&quot;&gt;$P$&lt;/span&gt; then there exists a computable &lt;span class=&quot;math-container&quot;&gt;$A$&lt;/span&gt; such that&#xA;&lt;span class=&quot;math-container&quot;&gt;$A \not \in P$&lt;/span&gt;, &lt;span class=&quot;math-container&quot;&gt;$A \leq_m^P B$&lt;/span&gt;,and &lt;span class=&quot;math-container&quot;&gt;$B \not \leq_T^P A$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Also see section 6 which discusses generalizations:&lt;/p&gt;&#xA;&lt;p&gt;THEOREM 5. If &lt;span class=&quot;math-container&quot;&gt;$C$&lt;/span&gt; is a &lt;em&gt;time class&lt;/em&gt; then &lt;span class=&quot;math-container&quot;&gt;$\leq_m^C$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$\leq_T^C$&lt;/span&gt; are reflexive and transitive relations and Theorems 1-4 hold with &lt;span class=&quot;math-container&quot;&gt;$P$&lt;/span&gt; replaced by &lt;span class=&quot;math-container&quot;&gt;$C$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;p&gt;THEOREM 7. If &lt;span class=&quot;math-container&quot;&gt;$C$&lt;/span&gt; is a &lt;em&gt;space class&lt;/em&gt; then &lt;span class=&quot;math-container&quot;&gt;$\leq_m^C$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$\leq_T^C$&lt;/span&gt; are reflexive and transitive relations and Theorems 1-4 hold with &lt;span class=&quot;math-container&quot;&gt;$P$&lt;/span&gt; replaced by &lt;span class=&quot;math-container&quot;&gt;$C$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;p&gt;The terms &lt;em&gt;time class&lt;/em&gt; and &lt;em&gt;space class&lt;/em&gt; are defined in the paper.&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2010-08-31T19:08:43.553" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="802" PostTypeId="2" ParentId="737" CreationDate="2010-08-31T15:18:59.860" Score="6" Body="&lt;p&gt;One way to compute a boolean function $f(x_1,\ldots,x_n)$ is to have a chain of boolean circuit blocks $b_1,\ldots,b_n$ such that $b_k$ reads only $x_k$ (of the inputs) and is connected only to $b_{k-1}$ and $b_{k+1}$. One of the outputs of the last block $b_n$ is $f$'s value. Theorem M in &lt;a href=&quot;http://www-cs-faculty.stanford.edu/~uno/fasc1b.ps.gz&quot;&gt;TAoCP 4 fascicle 1&lt;/a&gt; says that the BDD of $f$ must be big if for all such circuits you need many backward links (from $b_k$ to $b_{k-1}$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In other words, for the BDD to be small, there must be a way to summarize the information in $x_1,\ldots,x_k$ for $1\le k\le n$. The width of the BDD corresponds to the $k$ that is hardest to compress, intuitively.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(One example given in TAoCP is this: Imagine a cycle of length $n$ and a boolean function $f(x_1,\ldots,x_n)$ that says &quot;there is no node that has the same color as both of its neighbors,&quot; where $x_k$ says whether node $k$ is black or white. Then, the 'summary' once you looked at nodes $1,2,\ldots,k$ should store the color of $1$, $k-1$, $k$, and whether you already noticed a violation. You need $k-1$ and $k$ so that you can check whether the property is violated at $k$ once you also see $k+1$. You need $1$ so that you can check if the property is violated at $n$, once you get to the end.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, if you care about operations between BDDs, then doing a binary operation between $f$ and $g$, where $f$ is represented by a BDD that has $m$ nodes and $g$ is represented by a BDD that has $n$ nodes takes $O(mn)$ time but &lt;em&gt;tends&lt;/em&gt; to take only $O(m+n)$ time for functions you actually find in practice. I'm not aware of a precise version of what I just said, but I'd be interested if there is.&lt;/p&gt;&#xA;" OwnerUserId="236" LastEditorUserId="236" LastEditDate="2010-08-31T17:01:05.747" LastActivityDate="2010-08-31T17:01:05.747" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="803" PostTypeId="2" ParentId="384" CreationDate="2010-08-31T15:50:23.207" Score="13" Body="&lt;p&gt;There are a lot of higher order functions on &lt;a href=&quot;http://math.andrej.com/&quot;&gt;http://math.andrej.com/&lt;/a&gt;, for example in the post about &lt;a href=&quot;http://math.andrej.com/2009/10/12/constructive-gem-double-exponentials/#more-338&quot;&gt;double exponentials&lt;/a&gt;, the following Haskell type appears (with the type synonyms expanded):&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;shift :: Bool -&amp;gt; ((Int -&amp;gt; Bool) -&amp;gt; Bool) -&amp;gt; ((Int -&amp;gt; Bool) -&amp;gt; Bool)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;You can also have a lot of fun with the post &lt;a href=&quot;http://math.andrej.com/2008/11/21/a-haskell-monad-for-infinite-search-in-finite-time/#more-122&quot;&gt;A Haskell Monad for Infinite Search in Finite Time&lt;/a&gt; - for example:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;newtype S a = S ((a -&amp;gt; Bool) -&amp;gt; a)&#xA;bigUnion :: S (S a) -&amp;gt; S a&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;I guess the type of bigUnion is 4th or 5th order!&lt;/p&gt;&#xA;" OwnerUserId="449" LastActivityDate="2010-08-31T15:50:23.207" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="804" PostTypeId="2" ParentId="796" CreationDate="2010-08-31T15:51:12.680" Score="6" Body="&lt;p&gt;&lt;strong&gt;Rice's theorem&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One of my favorites.  It reduces the halting problem to any index set (or it's complement).  See, for instance, Sipser, problem 5.28.&lt;/p&gt;&#xA;" OwnerUserId="88" LastActivityDate="2010-08-31T15:51:12.680" CommentCount="1" CommunityOwnedDate="2010-08-31T15:51:12.680" ContentLicense="CC BY-SA 2.5" />
  <row Id="805" PostTypeId="1" CreationDate="2010-08-31T17:08:48.403" Score="5" ViewCount="609" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Possible Duplicate:&lt;/strong&gt;&lt;br&gt;&#xA;  &lt;a href=&quot;https://cstheory.stackexchange.com/questions/482/what-is-the-quantum-computational-model&quot;&gt;What is the quantum computational model?&lt;/a&gt;  &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&#xA;&#xA;&lt;p&gt;What is the best way to study quantum branch of CS for the person with rather advanced background in classical CS? Does one need to study quantum mechanics?&lt;/p&gt;&#xA;" OwnerUserId="141" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2010-09-01T14:38:40.487" Title="Learning quantum CS" Tags="&lt;reference-request&gt;&lt;big-list&gt;&lt;quantum-computing&gt;&lt;soft-question&gt;" AnswerCount="0" CommentCount="0" FavoriteCount="0" ClosedDate="2010-09-03T17:23:48.027" CommunityOwnedDate="2010-08-31T17:08:59.643" ContentLicense="CC BY-SA 2.5" />
  <row Id="806" PostTypeId="2" ParentId="482" CreationDate="2010-08-31T17:26:21.153" Score="3" Body="&lt;p&gt;If you're fairly advanced, you might start with the &lt;a href=&quot;http://xxx.lanl.gov/abs/0910.3376&quot; rel=&quot;nofollow&quot;&gt;de Wolf-Drucker survey&lt;/a&gt; of quantum methods for classical problems. It's a good way to understand quantum &lt;em&gt;techniques&lt;/em&gt; before you get to quantum &lt;em&gt;problems&lt;/em&gt;. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2010-08-31T17:26:21.153" CommentCount="0" CommunityOwnedDate="2010-08-31T17:26:21.153" ContentLicense="CC BY-SA 2.5" />
  <row Id="807" PostTypeId="2" ParentId="482" CreationDate="2010-08-31T17:39:40.847" Score="5" Body="&lt;p&gt;First, you will need to understand quantum physics.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A few recommendations:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&quot;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0521879965&quot;&gt;Quantum Computing for Computer Scientists&lt;/a&gt;&quot; by Noson S. Yanofsky and Mirco A. Mannucci&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/019857049X&quot;&gt;&quot;An Introduction to Quantum Computing&quot;&lt;/a&gt; by Phillip Kaye, Raymond Laflamme and Michele Mosca&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;And on the more entertaining side of things, &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0375726187&quot;&gt;&quot;A Shortcut Through Time: The Path to the Quantum Computer&quot;&lt;/a&gt; by George Johnson.&lt;/p&gt;&#xA;" OwnerUserId="7" LastActivityDate="2010-08-31T17:39:40.847" CommentCount="0" CommunityOwnedDate="2010-08-31T17:39:40.847" ContentLicense="CC BY-SA 2.5" />
  <row Id="808" PostTypeId="2" ParentId="191" CreationDate="2010-08-31T18:02:33.743" Score="7" Body="&lt;p&gt;Just in case you did not already find it; the most recent hardness result for bounded-degree Vertex Cover I found in recent searching is &lt;a href=&quot;http://dx.doi.org/10.1016/j.tcs.2005.11.029&quot;&gt;Chlebik &amp;amp; Chlebikova&lt;/a&gt;, e.g. about 1.01-hardness in cubic graphs.  &lt;/p&gt;&#xA;" OwnerUserId="771" LastActivityDate="2010-08-31T18:02:33.743" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="810" PostTypeId="2" ParentId="482" CreationDate="2010-08-31T19:02:06.533" Score="11" Body="&lt;p&gt;Well, the standard text used is &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0521635039&quot;&gt;Quantum Computation and Quantum Information&lt;/a&gt; by Nielsen and Chuang. It covers quite a range of different aspects at a reasonable level. Nearly everyone working in the field has a copy of this on their shelf. The Kaye, Laflamme and Mosca book is also good, but covers less (though there is a little more focus on algorithms).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;While it is quite possible to explain quantum computing without going into much quantum mechanics, I don't think that this is necessarily a good way to approach learning quantum computation. There is quite a lot of intuition to be gained by having a feel for the physical theory, since many of the more recent models of quantum computation (i.e. adiabatic, topological and measurement-based models) are more physically motivated than the quantum Turing machine or the circuit model.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;That said, the quantum mechanics required to understand quantum computation is fairly simple, and is covered quite well in Nielsen and Chuang. Really, you can get a good feel for it reading through the relevant chapter and trying the exercises. It's the kind of thing you can get a fair understanding of with a couple of days work. My advice, though, is don't go for a standard intro text to quantum mechanics. The approach taken to model atoms, molecules and materials uses infinite dimensional systems, and takes quite a lot more effort to get on top of. For quantum information it is a much better start to look at finite dimensional systems. Also, traditionally, the problems studied by physicists tend to revolve around finding ground states and steady state behaviours, and this is what most introductory texts will cover (starting with the time-independent Schroedinger wave equation). For quantum computing, we tend to be more interested in the time evolution of systems, and this is dealt with much more succinctly in quantum computing texts than in general quantum mechanics intro texts (which are by definition more general).&lt;/p&gt;&#xA;" OwnerUserId="204" LastActivityDate="2010-08-31T19:02:06.533" CommentCount="0" CommunityOwnedDate="2010-08-31T19:02:06.533" ContentLicense="CC BY-SA 2.5" />
  <row Id="811" PostTypeId="1" AcceptedAnswerId="821" CreationDate="2010-08-31T19:25:22.887" Score="14" ViewCount="2111" Body="&lt;p&gt;Two papers I would include are:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;D. Kozen, &lt;a href=&quot;http://doi.acm.org/10.1145/800133.804358&quot; rel=&quot;nofollow&quot;&gt;&quot;Indexing of subrecursive classes&quot;&lt;/a&gt;, STOC, 1978.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;R. Ladner, &lt;a href=&quot;http://doi.acm.org/10.1145/321864.321877&quot; rel=&quot;nofollow&quot;&gt;&quot;On the Structure of Polynomial Time Reducibility&quot;&lt;/a&gt;, JACM, 1975.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2011-09-08T02:24:50.143" LastActivityDate="2011-09-08T02:24:50.143" Title="What are the classic papers from the recursion theoretic area of complexity theory?" Tags="&lt;cc.complexity-theory&gt;&lt;lo.logic&gt;&lt;computability&gt;&lt;big-list&gt;&lt;structural-complexity&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="18" CommunityOwnedDate="2010-08-31T19:44:20.160" ContentLicense="CC BY-SA 2.5" />
  <row Id="812" PostTypeId="2" ParentId="482" CreationDate="2010-08-31T19:38:49.650" Score="4" Body="&lt;p&gt;In general, I'd second Joe's advice. But for a quick intro, I'd put &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0304397501003772&quot; rel=&quot;nofollow&quot;&gt;Lance Fortnow&lt;/a&gt;'s and &lt;a href=&quot;http://arxiv.org/abs/cs/0304008&quot; rel=&quot;nofollow&quot;&gt;Stephen Fenner&lt;/a&gt;'s texts on the reading list of computer scientists going quantum. &lt;/p&gt;&#xA;" OwnerUserId="121" LastEditorUserId="873" LastEditDate="2011-06-19T13:48:33.333" LastActivityDate="2011-06-19T13:48:33.333" CommentCount="0" CommunityOwnedDate="2010-08-31T19:38:49.650" ContentLicense="CC BY-SA 3.0" />
  <row Id="813" PostTypeId="1" AcceptedAnswerId="816" CreationDate="2010-08-31T20:42:52.710" Score="15" ViewCount="786" Body="&lt;p&gt;In &lt;a href=&quot;http://arxiv.org/abs/1008.1224&quot; rel=&quot;noreferrer&quot;&gt;this paper&lt;/a&gt; on &quot;Circle Packing for Origami Design Is Hard&quot; by Erik D. Demaine, Sandor P. Fekete, Robert J. Lang, on page 15, figure 13, they claim that the side length of the smallest square that encloses two circles of area 1/2 each is 1.471299. By my calculations I am getting side length 1.362 and area 1.855. Have I made a mistake or is there a mistake in the paper?&lt;/p&gt;&#xA;" OwnerUserId="262" LastEditorUserId="80" LastEditDate="2010-09-01T02:43:21.030" LastActivityDate="2010-09-01T02:43:21.030" Title="Is the lower bound proof in this paper correct?" Tags="&lt;cg.comp-geom&gt;" AnswerCount="1" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="814" PostTypeId="2" ParentId="796" CreationDate="2010-08-31T20:49:17.977" Score="9" Body="&lt;p&gt;Rabin shows the one-wayness of (x^2 mod N=pq) without the factorization of N by a reduction showing that if you can take square roots module N=pq then you can factor N.&lt;/p&gt;&#xA;" OwnerUserId="42" LastActivityDate="2010-08-31T20:49:17.977" CommentCount="1" CommunityOwnedDate="2010-08-31T20:49:17.977" ContentLicense="CC BY-SA 2.5" />
  <row Id="815" PostTypeId="1" AcceptedAnswerId="12142" CreationDate="2010-08-31T20:51:43.720" Score="21" ViewCount="360" Body="&lt;p&gt;I've already posted this question a while ago on &lt;a href=&quot;https://mathoverflow.net/questions/13364/consensus-clustering-using-set-union&quot;&gt;MathOverflow&lt;/a&gt;, but to the best of my knowledge it is still open, so I'm reposting it here in the hope that someone might have heard of it.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Problem statement&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;Let $P$, $Q$ and $R$ be three partitions into $p$ nonempty parts (denoted by $P_h$'s, $Q_i$'s and $R_j$'s) of the set {$1,2,\ldots,n$}. Find two permutations $\pi$ and $\sigma$ that minimise $$\sum_{i=1}^p\left|P_i\cup Q_{\pi_i}\cup R_{\sigma_i}\right|.$$&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Questions&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;1) What is the complexity of this problem (or of the corresponding decision problem)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) If the problem is indeed solvable in polynomial time, does it remain true for any number $k\geq 4$ of partitions?&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Previous work&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;Berman, DasGupta, Kao and Wang (&lt;a href=&quot;http://dx.doi.org/10.1016/j.ipl.2007.06.008&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://dx.doi.org/10.1016/j.ipl.2007.06.008&lt;/a&gt;) study a similar problem for $k$ partitions, but using pairwise $\Delta$'s instead of $\cup$ in the above sum. They prove that the problem is MAX-SNP-hard for $k=3$, even when each part has only two elements, by reducing MAX-CUT on cubic graphs to a special case of their problem, and give a $(2-2/k)$-approximation for any $k$. So far, I have not been able to find my problem in the literature, or to adapt their proof.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Easy subcases&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;Here are some subcases I've found to be solvable in polynomial time:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;the case $k=2$;&lt;/li&gt;&#xA;&lt;li&gt;the case $p=2$, for any $k$;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Moreover, when $k=3$, no two parts are equal and all parts have size $2$, we have the lower bound $3p+1$ (I don't know if it's tight).&lt;/p&gt;&#xA;" OwnerUserId="775" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2012-07-27T18:53:12.443" Title="Consensus clustering using set union" Tags="&lt;co.combinatorics&gt;&lt;np-hardness&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="816" PostTypeId="2" ParentId="813" CreationDate="2010-08-31T20:52:00.860" Score="18" Body="&lt;p&gt;I get the same answer as you, $\frac{1+\sqrt{2}}{\sqrt{\pi}}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If I place two unit disks inside a larger square, their centers are one unit away from the left and right sides, and $\sqrt{2}$ units apart from each other in $x$-coordinates, so the side of the larger square is $2+\sqrt 2$. The unit disks have area $\pi$, and we want area $\frac{1}{2}$, so dividing the side length and the disk radius by $\sqrt{2\pi}$ gives the result.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2010-08-31T20:52:00.860" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="817" PostTypeId="2" ParentId="182" CreationDate="2010-08-31T21:16:23.260" Score="14" Body="&lt;p&gt;I think this problem is too hard. We do not know the answer to much easier problems in this family. For example, given a set of n points in the plane, and a set of (say n) unit disks, decide if there is a cover of the points by k of the unit disks. There is an easy n^O(k) time algorithm for this, and I would not be surprised if using known insights one can do n^O(sqrt{k}) (but even that is not obvious), but doing f(k)*n^{O(1)} is open, and in fact would be quite interesting. A (1+eps) approximation follows from the work of Mustafa and Ray &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=1542362.1542367&quot;&gt;http://portal.acm.org/citation.cfm?id=1542362.1542367&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;BTW, for the continuous version where any unit disk is allowed, one can solve the problem in n^{O(k)} time. A PTAS in this case is also pretty easy using shifted grids. &lt;/p&gt;&#xA;" OwnerUserId="9594" LastActivityDate="2010-08-31T21:16:23.260" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="818" PostTypeId="2" ParentId="446" CreationDate="2010-08-31T22:18:20.227" Score="9" Body="&lt;p&gt;I think parallel parking is NP-hard.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In fact, the more general problem of finding the shortest path with bounded curvature that takes a polygonal object from its initial position to its final position in a polygonal environment is NP-hard. The proof can be found here - &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=298976&quot;&gt;http://portal.acm.org/citation.cfm?id=298976&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="262" LastActivityDate="2010-08-31T22:18:20.227" CommentCount="1" CommunityOwnedDate="2010-08-31T22:18:20.227" ContentLicense="CC BY-SA 2.5" />
  <row Id="819" PostTypeId="2" ParentId="799" CreationDate="2010-08-31T22:52:03.890" Score="5" Body="&lt;p&gt;I asked a similar question to Peter Shor at Mathoverflow &lt;a href=&quot;https://mathoverflow.net/questions/34469/complete-problems-for-randomized-complexity-classes/34472#34472&quot;&gt;here&lt;/a&gt;. According to him, he is not aware of such a result. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, Ryan Williams said something funny about Ladner's theorem but I cannot find the link. It goes something like this: &quot;The proof of Ladner's theorem is a zombie-like procedure where you take the head and torso of a NP-complete problem, and then stitch the arms and legs of a polynomial time algorithm&quot;.  It is rather unnatural way to define an NP-intermediate language, assuming $NP\neq P$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I also thought about it, and maybe you can use Ryan's zombie-like procedure like this: Let $A$ be a complete set for $\sum_i^p$, and let $B \in \sum_{i-1}^p$. Then you can use the two approaches to the proof on $B$ by blowing holes or padding.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another interesting problem is to consider a generalization of Ladner's to the promise versions of semantic classes, like promiseBPP, promiseMA, etc.&lt;/p&gt;&#xA;" OwnerUserId="135" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.530" LastActivityDate="2010-08-31T22:52:03.890" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="820" PostTypeId="2" ParentId="799" CreationDate="2010-08-31T23:26:58.997" Score="12" Body="&lt;p&gt;It is very likely that you can accomplish this in a generic setting. Almost certainly such a result &lt;strong&gt;has&lt;/strong&gt; been proved in a generic setting already, but the references escape me at the moment. So here's an argument from scratch.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The writeup at &lt;a href=&quot;http://oldblog.computationalcomplexity.org/media/ladner.pdf&quot;&gt;http://oldblog.computationalcomplexity.org/media/ladner.pdf&lt;/a&gt; has two proofs of Ladner's theorem. The second proof, by Russell Impagliazzo, produces a language $L_1$ of the form {$ x01^{f(|x|)}$} where $x$ encodes a satisfiable formula and $f$ is a particular polynomial time computable function. That is, by simply padding SAT with the appropriate number of $1$'s, you can get &quot;NP-intermediate&quot; sets. The padding is performed to &quot;diagonalize&quot; over all possible polynomial time reductions, so that no polynomial time reduction from SAT to $L_1$ will work (assuming $P \neq NP$). To prove that there are infinitely many degrees of hardness, one should be able to substitute $L_1$ in place of SAT in the above argument, and repeat the argument for $L_2 = ${$x 0 1^{f(|x|)} | x \in L_1$}. Repeat with $L_i  = ${$x 0 1^{f(|x|)} | x \in L_{i-1}$}.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It seems clear that such a proof can be generalized to classes $C$ and $D$, where (1) $C$ is properly contained in $D$, (2) $D$ has a complete language under $C$-reductions, (3) the list of all $C$-reductions can be recursively enumerated, and (4) the function $f$ is computable in $C$. Perhaps the only worrisome requirement is the last one, but if you look at the definition of $f$ in the link, it looks very easy to compute, for most reasonable classes $C$ that I can think of.&lt;/p&gt;&#xA;" OwnerUserId="225" LastActivityDate="2010-08-31T23:26:58.997" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="821" PostTypeId="2" ParentId="811" CreationDate="2010-09-01T02:01:45.340" Score="11" Body="&lt;p&gt;Hajek, P. &lt;a href=&quot;http://dx.doi.org/10.1016/0304-3975(79)90046-X&quot; rel=&quot;nofollow noreferrer&quot;&gt;Arithmetical hierarchy and complexity of computation&lt;/a&gt;. Theoret. Comp. Sci. 8 (2): 227-237, 1979.  Started the study of the complexities of index sets (where their &quot;complexities&quot; often lie somewhere in the arithmetical hierarchy; see &lt;a href=&quot;https://cstheory.stackexchange.com/questions/161/can-it-be-determined-if-language-l-lies-in-np/162#162&quot;&gt;this answer&lt;/a&gt; to &lt;a href=&quot;https://cstheory.stackexchange.com/questions/161/can-it-be-determined-if-language-l-lies-in-np&quot;&gt;another question&lt;/a&gt;.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the study of polynomial-time degrees (buzzword=&quot;polynomial-time degree theory&quot;, for the sake of future searches) I'd say these papers are of interest (several of them are based on Ladner's technique):&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Homer, S. &lt;a href=&quot;http://doi.acm.org/10.1145/23005.23009&quot; rel=&quot;nofollow noreferrer&quot;&gt;Minimal degrees for polynomial reducibilities&lt;/a&gt;.  J. ACM 34(2):480-491, 1987.&lt;/li&gt;&#xA;&lt;li&gt;Schöning, U. &lt;a href=&quot;http://dx.doi.org/10.1016/0304-3975(84)90124-5&quot; rel=&quot;nofollow noreferrer&quot;&gt;Minimal pairs for P&lt;/a&gt;. Theoret. Comp. Sci. 31: 41-48, 1984.&lt;/li&gt;&#xA;&lt;li&gt;Downey, R. &lt;a href=&quot;http://dx.doi.org/10.1016/0022-0000(92)90032-E&quot; rel=&quot;nofollow noreferrer&quot;&gt;Nondiamond theorems for polynomial time reducibility&lt;/a&gt;. Journal of Computer and System Sciences 45(3):385-195, 1992.&lt;/li&gt;&#xA;&lt;li&gt;Downey, R. and Fortnow, L. &lt;a href=&quot;http://dx.doi.org/10.1016/S0304-3975(02)00810-1&quot; rel=&quot;nofollow noreferrer&quot;&gt;Uniformly hard languages&lt;/a&gt;. Theoret. Comp. Sci. 298(2): 303-315, 2003.&lt;/li&gt;&#xA;&lt;li&gt;Fenner, S., Homer, S., Prium, R. and Schaefer, M. &lt;a href=&quot;http://dx.doi.org/10.1016/S0304-3975(00)00193-6&quot; rel=&quot;nofollow noreferrer&quot;&gt;Hyper-polynomial hierarchies and the polynomial jump&lt;/a&gt;. Theoret. Comp. Sci. 262: 241-256, 2001.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Probably a forward and backwards reference search will find several more papers in the same area (though it's not that big an area!).&lt;/p&gt;&#xA;" OwnerUserId="129" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2010-09-01T02:01:45.340" CommentCount="0" CommunityOwnedDate="2010-09-01T02:01:45.340" ContentLicense="CC BY-SA 2.5" />
  <row Id="822" PostTypeId="1" AcceptedAnswerId="823" CreationDate="2010-09-01T02:01:53.547" Score="16" ViewCount="1028" Body="&lt;p&gt;As in, the area of the papers in the ACM Journal on Experimental Algorithmic &lt;a href=&quot;http://www.jea.acm.org/&quot;&gt;JEA&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Which were the foundational works? What are the main results? How are they characterized? Any interesting connections to other areas of computer science?&lt;/p&gt;&#xA;" OwnerUserId="120" LastEditorUserId="77" LastEditDate="2010-09-04T17:05:18.293" LastActivityDate="2010-09-04T17:05:18.293" Title="A reading list on experimental algorithmics" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;experimental&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="9" CommunityOwnedDate="2010-09-01T02:01:53.547" ContentLicense="CC BY-SA 2.5" />
  <row Id="823" PostTypeId="2" ParentId="822" CreationDate="2010-09-01T02:22:52.120" Score="17" Body="&lt;p&gt;Probably the single most important guide to experimental algorithmic is David Johnson's article on how to do it, which also has lots of references.&lt;br&gt;&#xA;&lt;a href=&quot;http://www2.research.att.com/~dsj/papers/experguide.pdf&quot;&gt;http://www2.research.att.com/~dsj/papers/experguide.pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2010-09-01T02:22:52.120" CommentCount="1" CommunityOwnedDate="2010-09-01T02:22:52.120" ContentLicense="CC BY-SA 2.5" />
  <row Id="825" PostTypeId="1" CreationDate="2010-09-01T02:54:17.317" Score="2" ViewCount="267" Body="&lt;p&gt;Suppose there are a set of low degree (less than some degree $z$) polynomials $P_0, P_1, ..., P_k$ each of which is defined over two types of variables, red variables ${v_r}_0, {v_r}_1, ..., {v_r}_n$ and blue variables ${v_b}_0, {v_b}_1, ..., {v_b}_m$ (all in $\mathbb{F}_2$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose also that you are given a description of $P*$, a polynomial defined over the collection $P_0, P_1, ..., P_n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Blue variables are 'mutable' and public, and may be set to any constant term ${0, 1}$ or to dynamically represent a polynomial combination of other red and blue variables. Red variables are static and are 'unknown'.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here are some problems I would like to automate. Each bulletpoint below represents a slightly different optimization problem. Given $P*$, $P_0, P_1, ..., P_n$, $z$ and $k$ and $n$ and $m$ and $d$, how should I set the value of blue variables in order that:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The number of red variables in the largest degree term of $P*$ is minimized.&lt;/li&gt;&#xA;&lt;li&gt;The number of polynomials $P_0, P_1, ..., P_n$ forced to the value 0 is maximized.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Both problems are subject to the constraints that:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;There will only be one term of the highest degree in $P*$ with red variables.&lt;/li&gt;&#xA;&lt;li&gt;$P*$ is of degree $d$ or less (viewed as a polynomial over red and blue variables).&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I'm looking to understand the complexity of finding solutions which optimize one of the two first goals in the list. Additionally, I'd like to know how hard it is to find &lt;em&gt;some&lt;/em&gt; satisfying assignment (or prove that none exist) - without considering the optimization in either problem above.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does anyone have a reference to a similar problem that might be adaptable to these scenarios? A hunch or intuition about the correct way to approach the problem? Or (ideally) an answer to these questions with referenced papers or solid proof?&lt;/p&gt;&#xA;" OwnerUserId="3624" LastEditorUserId="3624" LastEditDate="2010-09-02T00:12:04.247" LastActivityDate="2010-09-02T00:12:04.247" Title="Some problems involving polynomials of public and private variables over GF(2)." Tags="&lt;cc.complexity-theory&gt;&lt;cr.crypto-security&gt;&lt;polynomials&gt;" AnswerCount="0" CommentCount="21" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="826" PostTypeId="2" ParentId="446" CreationDate="2010-09-01T04:33:54.897" Score="6" Body="&lt;p&gt;I created the website Tagxedo, &lt;a href=&quot;http://www.tagxedo.com&quot; rel=&quot;noreferrer&quot;&gt;http://www.tagxedo.com&lt;/a&gt;, a word cloud generator that fits words (sized by their frequencies) into shape.  The results are very pretty, but the problem is easily proven to be NP-hard (packing problem).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Interestingly, many NP-hard problems have &quot;easy&quot; approximations.  Tagxedo seems to be doing an almost perfect job in many cases.  This leads to interesting discussion about the practical implication of P vs NP, and the topic of approximation.&lt;/p&gt;&#xA;" OwnerUserId="789" LastActivityDate="2010-09-01T04:33:54.897" CommentCount="0" CommunityOwnedDate="2010-09-01T04:33:54.897" ContentLicense="CC BY-SA 2.5" />
  <row Id="828" PostTypeId="1" AcceptedAnswerId="831" CreationDate="2010-09-01T07:46:38.707" Score="9" ViewCount="355" Body="&lt;p&gt;It is easy to see that for any $n$ there exists a 1-1 mapping $F$ from {0,1}$^n$ to {0,1}$^{n+O(\log n)}$ such that for any $x$ the vector $F(x)$ is &quot;balanced&quot;, i.e., it has equal number of 1s and 0s. Is it possible to define such $F$ so that given $x$ we can compute $F(x)$  efficiently ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks.&lt;/p&gt;&#xA;" OwnerUserId="533" LastEditorUserId="74" LastEditDate="2010-09-02T19:51:12.257" LastActivityDate="2010-09-02T19:51:12.257" Title="Quick encoding of balanced vectors" Tags="&lt;ds.algorithms&gt;&lt;ds.data-structures&gt;&lt;encoding&gt;" AnswerCount="2" CommentCount="5" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="829" PostTypeId="2" ParentId="608" CreationDate="2010-09-01T08:37:46.073" Score="11" Body="&lt;p&gt;Shannon-Nyquist sampling theorem proposes a sufficient condition for information theoretic bounds on communication. Sampling theory is worked around examples where the incoming signal has a compact/random representation. Recent advances in sampling show that this abstraction does perhaps comes with a price - that the sorts of things we are interested in measuring generally have &lt;em&gt;sparse&lt;/em&gt; representations so that these bounds are not tight. Additionally, information can be encoded in a much denser way than originally thought.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Error correcting codes suggest that some re-evaluation of the Shannon limit in networking landscapes subject to noise.&lt;/li&gt;&#xA;&lt;li&gt;The brand new field of compressive sensing pushes reconstruction of the varieties of images we find interesting way beyond the Shannon limit.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="3624" LastEditorUserId="3624" LastEditDate="2010-09-01T17:47:55.370" LastActivityDate="2010-09-01T17:47:55.370" CommentCount="1" CommunityOwnedDate="2010-09-01T08:37:46.073" ContentLicense="CC BY-SA 2.5" />
  <row Id="830" PostTypeId="2" ParentId="828" CreationDate="2010-09-01T11:20:51.433" Score="9" Body="&lt;p&gt;Use the mapping that preserves the lexicographical order.&#xA;To find the $k$-th length-$n$ balanced vector with $n/2$ 1's, do it recursively:&#xA;if $k\leq{n-1\choose n/2}$, then set the first bit 0 and then find the $k$-th length-$(n-1)$ vector with $n/2$ 1's to complete the remaining $n-1$ bits. Otherwise set the first bit 1 and find the $k-{n-1\choose n/2}$-th length-$(n-1)$ vector with $n/2-1$ 1's.&lt;/p&gt;&#xA;" OwnerUserId="245" LastActivityDate="2010-09-01T11:20:51.433" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="831" PostTypeId="2" ParentId="828" CreationDate="2010-09-01T11:22:29.000" Score="12" Body="&lt;p&gt;Let's consider $n$-bit strings $x$. Definitions:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$f(x,i)$ = bit string $x$ with last $i$ bits complemented.&lt;/li&gt;&#xA;&lt;li&gt;$b(x)$ = &quot;imbalance&quot; of $x$: number of 1s in $x$ $-$ number of 0s in $x$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Now fix a string $x$. Consider the function $g(i) = b(f(x,i))$. Observations:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$g(0) = b(x)$.&lt;/li&gt;&#xA;&lt;li&gt;$g(n) = -g(0)$.&lt;/li&gt;&#xA;&lt;li&gt;$|g(i) - g(i+1)| = 2$ for all $i$. We either remove one 0 and add one 1 or vice versa.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Now it follows that there exists an $i$ such that $-1 \le g(i) \le +1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hence we can construct an $(n+O(\log n))$-bit string $y$ as follows: concatenate $f(x,i)$ and the binary encoding of the index $i$. The absolute value of the imbalance of $y$ is $O(\log n)$. Moreover, we can recover $x$ given $y$; the mapping is bijection.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, you can add $O(\log n)$ dummy bits that reduce the imbalance of $y$ from $O(\log n)$ to $0$.&lt;/p&gt;&#xA;" OwnerUserId="74" LastEditorUserId="74" LastEditDate="2010-09-01T13:45:31.743" LastActivityDate="2010-09-01T13:45:31.743" CommentCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="832" PostTypeId="1" AcceptedAnswerId="859" CreationDate="2010-09-01T13:29:39.363" Score="13" ViewCount="833" Body="&lt;p&gt;Following the discussion on lower bounds for 3SAT [&lt;a href=&quot;https://cstheory.stackexchange.com/questions/93/what-are-the-best-current-lower-bounds-on-3sat&quot;&gt;1&lt;/a&gt;], I'm wondering what are the main lower bound results formulated as space-time tradeoffs.  I'm excluding results such as, say, Savitch's theorem; a good entry would focus on a single problem and its bounds.  An example would be :&lt;/p&gt;&#xA;&lt;p&gt;&amp;quot;Let T and S be the running time and space bound of any SAT algorithm. Then we must have T⋅S≥n2cos(π/7)−o(1) infinitely often.&amp;quot; (Given in [&lt;a href=&quot;https://cstheory.stackexchange.com/questions/93/what-are-the-best-current-lower-bounds-on-3sat&quot;&gt;1&lt;/a&gt;] by Ryan Williams.)&lt;/p&gt;&#xA;&lt;p&gt;or&lt;/p&gt;&#xA;&lt;p&gt;&amp;quot;SAT cannot be solved simultaneously in n&lt;sup&gt;1+0(1)&lt;/sup&gt; time and&#xA;n&lt;sup&gt;1-ε&lt;/sup&gt; space for any ε&amp;gt;0 on general&#xA;random-access nondeterministic Turing machines.&amp;quot; (Lance Fortnow in 10.1109/CCC.1997.612300)&lt;/p&gt;&#xA;&lt;p&gt;Further, I'm including &lt;em&gt;definitions&lt;/em&gt; of natural space-time tradeoff complexity classes (excluding circuit classes).&lt;/p&gt;&#xA;" OwnerUserId="88" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2010-09-02T02:26:34.620" Title="Space-time tradeoff lower bounds" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;big-list&gt;&lt;space-time-tradeoff&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="5" CommunityOwnedDate="2010-09-01T13:29:39.363" ContentLicense="CC BY-SA 2.5" />
  <row Id="833" PostTypeId="2" ParentId="482" CreationDate="2010-09-01T14:38:40.487" Score="2" Body="&lt;p&gt;I don't think you need to learn quantum mechanics. However it depends in what area you would like to work. There are areas of the field that really need a knowledge on quantum mechanics, however as instance the area I work on, type theory and lambda calculus, I do not need it, I can do it just knowing some of the computational models for it.&lt;/p&gt;&#xA;" OwnerUserId="743" LastActivityDate="2010-09-01T14:38:40.487" CommentCount="0" CommunityOwnedDate="2010-09-01T14:38:40.487" ContentLicense="CC BY-SA 2.5" />
  <row Id="834" PostTypeId="2" ParentId="608" CreationDate="2010-09-01T15:29:38.087" Score="13" Body="&lt;p&gt;An example that comes to my mind is computation of volume. A result by &lt;a href=&quot;http://dx.doi.org/10.1007/BF02187886&quot;&gt;Barany and Furedi&lt;/a&gt; is that you need an exponential number of queries and there is a randomized polynomial time algorithm by &lt;a href=&quot;http://doi.acm.org/10.1145/102782.102783&quot;&gt;Dyer-Frieze-Kannan&lt;/a&gt;. The gap represent the prize of abstraction and also the benefit of randomness but I think the main reason for the gap is the price of abstraction. (I hope I understood the question and it goes in the right direction.)&lt;/p&gt;&#xA;" OwnerUserId="712" LastEditorUserId="129" LastEditDate="2010-09-01T16:37:28.820" LastActivityDate="2010-09-01T16:37:28.820" CommentCount="0" CommunityOwnedDate="2010-09-01T15:29:38.087" ContentLicense="CC BY-SA 2.5" />
  <row Id="835" PostTypeId="1" AcceptedAnswerId="838" CreationDate="2010-09-01T15:39:41.790" Score="22" ViewCount="443" Body="&lt;p&gt;The original Nondeterministic Time Hierarchy Theorem is due to &lt;a href=&quot;http://dx.doi.org/10.1016/S0022-0000%2873%2980028-5&quot;&gt;Cook&lt;/a&gt; (the link is to S. Cook, &lt;em&gt;A hierarchy for nondeterministic time complexity&lt;/em&gt;, JCSS &lt;strong&gt;7&lt;/strong&gt; 343–353, 1973).  The theorem states that for any real numbers $r_1$ and $r_2$, if $1 \le r_1 \lt r_2$ then &lt;a href=&quot;http://en.wikipedia.org/wiki/NTIME&quot;&gt;NTIME&lt;/a&gt;($n^{r_1}$) is strictly contained in NTIME($n^{r_2}$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One key part of the proof uses (an unspecified) diagonalization to construct a separating language from the elements of the smaller class.  Not only is this a nonconstructive argument, but languages obtained by diagonalization usually provide no insight other than the separation itself.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we want to understand the structure of the NTIME hierarchy, the following question probably needs to be answered:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there a natural language in NTIME($n^{k+1}$) but not in NTIME($n^k$)?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;One candidate might be &lt;a href=&quot;http://constraints.wordpress.com/2010/04/15/k-isolated-sat/&quot;&gt;k-ISOLATED SAT&lt;/a&gt;, which requires finding a solution to a CNF formula with no other solutions within Hamming distance k.  However, proving the lower bound &lt;strike&gt;seems&lt;/strike&gt; &lt;em&gt;is&lt;/em&gt; tricky, as usual.  It is obvious that checking a Hamming k-ball is clear of potential solutions &quot;should&quot; require $\Omega(n^k)$ different assignments to be checked, but this is by no means easy to &lt;em&gt;prove&lt;/em&gt;.  &lt;em&gt;(Note: Ryan Williams points out this lower bound for $k$-ISOLATED SAT would actually prove P ≠ NP, so this problem does not seem to be the right candidate.)&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that the theorem holds unconditionally, regardless of unproved separations such as P vs. NP.  An affirmative answer to this question would therefore not resolve P vs. NP, &lt;em&gt;unless it has additional properties like $k$-ISOLATED SAT above.&lt;/em&gt;  A natural separation of NTIME would perhaps help to illuminate part of the &quot;difficult&quot; behaviour of NP, the part which derives its difficulty from an infinite ascending sequence of hardness.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since lower bounds are hard, I will accept as an answer natural languages for which we may have a good reason to believe a lower bound, even though there may not yet be a proof.  For instance, if this question had been about DTIME, then I would have accepted $f(k)$-CLIQUE, for a non-decreasing function $f(x) \in \Theta(x)$, as a natural language that probably provides the required separations, based on Razborov's and Rossman's circuit lower bounds and the $n^{1-\epsilon}$-inapproximability of CLIQUE.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;(Edited to address Kaveh's comment and Ryan's answer.)&lt;/em&gt;&lt;/p&gt;&#xA;" OwnerUserId="109" LastEditorUserId="109" LastEditDate="2010-09-03T08:00:02.227" LastActivityDate="2010-09-03T08:00:02.227" Title="Are there natural separations in the nondeterministic time hierarchy?" Tags="&lt;cc.complexity-theory&gt;&lt;nondeterminism&gt;&lt;time-hierarchy&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="7" ContentLicense="CC BY-SA 2.5" />
  <row Id="836" PostTypeId="2" ParentId="796" CreationDate="2010-09-01T15:57:28.360" Score="9" Body="&lt;p&gt;In machine learning, there are lots of interesting reductions. Here are some examples:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;multiclass classification to binary classification&lt;/strong&gt; (&lt;a href=&quot;http://jmlr.csail.mit.edu/papers/volume1/allwein00a/allwein00a.pdf&quot;&gt;link&lt;/a&gt;) -- one can solve a problem of choosing among many classes by solving easier problems of choosing between two.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;strong learning to weak learning&lt;/strong&gt; (&lt;a href=&quot;http://en.wikipedia.org/wiki/AdaBoost&quot;&gt;boosting&lt;/a&gt;) -- one can achieve arbitrarily low error rates given the ability to achieve slightly better than random.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;ranking to classification&lt;/strong&gt; (&lt;a href=&quot;http://hunch.net/~jl/projects/reductions/ranking/journal_final/ranking.pdf&quot;&gt;link&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;squared loss to classification&lt;/strong&gt; (&lt;a href=&quot;http://hunch.net/~jl/projects/reductions/probing/aistat_real_final/aistat_final.pdf&quot;&gt;probing&lt;/a&gt;) -- one can estimate class membership probabilities by using a classifier with a small error rate.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;A &lt;a href=&quot;http://hunch.net/~reductions_tutorial/&quot;&gt;tutorial&lt;/a&gt; by Alina Beygelzimer, John Langford, and Bianca Zadrozny covers some others.&lt;/p&gt;&#xA;" OwnerUserId="123" LastActivityDate="2010-09-01T15:57:28.360" CommentCount="1" CommunityOwnedDate="2010-09-01T15:57:28.360" ContentLicense="CC BY-SA 2.5" />
  <row Id="837" PostTypeId="1" CreationDate="2010-09-01T15:58:07.990" Score="1" ViewCount="309" Body="&lt;p&gt;I wanted to compute the complexity of a smoothed $\ell_0$ algorithm in BigO notation. The algorithm can be found &lt;a href=&quot;http://ee.sharif.edu/~SLzero/SL0_ICASSP08.pdf&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;. Can anybody help me in this regard?&lt;/p&gt;&#xA;" OwnerUserId="809" LastEditorUserId="80" LastEditDate="2010-09-01T22:23:50.747" LastActivityDate="2010-09-29T01:27:21.483" Title="Complexity of Smoothed $\ell_0$ algorithm" Tags="&lt;compressed-sensing&gt;" AnswerCount="2" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="838" PostTypeId="2" ParentId="835" CreationDate="2010-09-01T16:36:00.803" Score="15" Body="&lt;p&gt;As far as I know, we don't know of such languages, or if we do, there is significant controversy about the &quot;naturalness&quot; of them. I know this isn't really a satisfying answer, but I can say:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(a) If you prove an $\Omega(n^k)$ time lower bound for k-ISOLATED SAT for every $k$, then you have actually proved $P \neq NP$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;(b) One way you might hope to show that k-ISOLATED SAT is one of these natural problems in $NTIME[n^{k+1}] - NTIME[n^k]$ is to show that k-ISOLATED SAT problem is hard (in the usual, formal sense of having efficient reductions) for $NTIME[n^k]$. In fact this is the only way we know how to prove such results. But k-ISOLATED SAT is probably not hard in this sense, there are some very unlikely consequences.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The main reason is that k-ISOLATED SAT instances are solvable in $\Sigma_2 TIME[n]$, independently of $k$. You can existentially guess the isolated assignment, then universally verify (for all $O(\log (\sum_{i=1}^k {n \choose i}))$ ways to flip up to $k$ bits in the assignment) that none of the other &quot;local&quot; assignments work. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is the proof of part (a). Let ISOLATED SAT be the version of the problem with $k$ given as part of the input (in unary, say). Suppose we prove that ISOLATED SAT requires $\Omega(n^k)$ time for all $k$. If $P=NP$, then $\Sigma_2 TIME[n]$ is in $TIME[n^c]$ for some fixed $c$ (the proof uses an efficient version of Cook's theorem: if there is a SAT algorithm running in time $n^d$, then any $c &gt; d^2$ suffices). But we proved that there is a language in $\Sigma_2 TIME[n]$ that is &lt;em&gt;not&lt;/em&gt; in $TIME[n^k]$ for every $k$. This is a contradiction, so $P \neq NP$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is the proof of part (b). If every $L \in NTIME[n^k]$ could be efficiently reduced to a k-ISOLATED SAT formula (e.g., all $n$ bit instances of $L$ get reduced to $k$-ISOLATED SAT formulas of at most $f(k) n^{c}$ size) then $NP=\bigcup_{k} NTIME[n^k] \subseteq \Sigma_2 TIME[n^{c+1}]$. This would immediately imply $coNP \neq NP$, but moreover it just looks very unlikely that all of $NP$ can be simulated so efficiently within the polynomial hierarchy. &lt;/p&gt;&#xA;" OwnerUserId="225" LastActivityDate="2010-09-01T16:36:00.803" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="839" PostTypeId="2" ParentId="837" CreationDate="2010-09-01T16:37:46.073" Score="2" Body="&lt;p&gt;There appear to be two user-introduced parameters $K,L$ in the algorithm you point to. Apart from that, the main task appears to be the computation of a pseudoinverse, and matrix multiplication. Without any further knowledge of the structure of the $n\times n$ matrix $A$, it would appear that the running time is $O(KL g(n))$, where $g(n)$ is your best estimate for computing the inverse and doing the multiplication. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Crudely, both of these can be bounded by $cn^3$, but there might be better answers based on your actual setting (if A is sparse, or if you use Strassen's matrix multiplication, and so on)&lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2010-09-01T16:37:46.073" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="841" PostTypeId="2" ParentId="608" CreationDate="2010-09-01T16:51:07.557" Score="27" Body="&lt;p&gt;Here's an example from graph algorithms. Given a directed graph with non-negative weights on the edges, the &lt;strong&gt;all-pairs bottleneck paths&lt;/strong&gt; problem is to compute, for all pairs of vertices $s$ and $t$, the maximum flow that can be pushed along some path from $s$ to $t$. (Formally, we are just maximizing the minimum weight of an edge on any path from $s$ to $t$. More formally, we are replacing $\min$ and $+$ in the definition of all-pairs shortest paths with $\max$ and $\min$.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $n$ be the number of vertices in the input graph. This problem was known to require $\Omega(n^3)$ time in the path-comparison model of  &lt;a href=&quot;http://www.siam.org/cgi-bin/redirect/aip_redirect.pl?0222071&quot;&gt;Karger, Koller, and Phillips&lt;/a&gt;, just as the all-pairs shortest paths problem does. (The path-comparison model supports traditional algorithms, like Floyd-Warshall.) However, unlike all-pairs shortest paths, it turns out that all-pairs bottleneck paths can be solved in &lt;a href=&quot;http://theoryofcomputing.org/articles/v005a009/&quot;&gt;less than $O(n^{2.8})$ time&lt;/a&gt; using fast matrix multiplication. &lt;/p&gt;&#xA;" OwnerUserId="225" LastActivityDate="2010-09-01T16:51:07.557" CommentCount="0" CommunityOwnedDate="2010-09-01T16:51:07.557" ContentLicense="CC BY-SA 2.5" />
  <row Id="842" PostTypeId="2" ParentId="427" CreationDate="2010-09-01T17:03:29.850" Score="6" Body="&lt;p&gt;I've used GAs to solve scheduling problems in manufacturing and education. The fitness function in the first case was how much of the requested items were manufactured in the given time frame, while in the second case the fitness was based on penalizing schedules with conflicts.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you're interested in applications, here's a link to &lt;a href=&quot;http://citeseerx.ist.psu.edu/search?q=%22genetic+algorithm%22&amp;amp;submit=Search&amp;amp;sort=rel&quot;&gt;20K+ papers on citeseerx&lt;/a&gt; &lt;/p&gt;&#xA;" OwnerUserId="812" LastActivityDate="2010-09-01T17:03:29.850" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="844" PostTypeId="1" AcceptedAnswerId="845" CreationDate="2010-09-01T19:01:16.847" Score="56" ViewCount="3634" Body="&lt;p&gt;Genetic algorithms don't get much traction in the world of theory, but they are a reasonably well-used metaheuristic method (by metaheuristic I mean a technique that applies generically across many problems, like annealing, gradient descent, and the like). In fact, a GA-like technique &lt;a href=&quot;http://www2.research.att.com/~dsj/papers/stspchap.pdf&quot; rel=&quot;noreferrer&quot;&gt;is quite effective for Euclidean TSP&lt;/a&gt; in practice. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some metaheuristics are reasonably well studied theoretically: there's &lt;a href=&quot;http://qwiki.stanford.edu/wiki/Complexity_Zoo:P#pls&quot; rel=&quot;noreferrer&quot;&gt;work on local search&lt;/a&gt;, and annealing. We have a pretty good sense of how alternating optimization (&lt;a href=&quot;http://en.wikipedia.org/wiki/K-means%2B%2B&quot; rel=&quot;noreferrer&quot;&gt;like k-means&lt;/a&gt;) works. But as far as I know, there's nothing really useful known about genetic algorithms. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there any solid algorithmic/complexity theory about the behavior of genetic algorithms, in any way, shape or form ?  While I've heard of things like &lt;a href=&quot;https://cstheory.stackexchange.com/questions/555/what-is-schema-theory-within-genetic-algorithms&quot;&gt;schema theory&lt;/a&gt;, I'd exclude it from discussion based on my current understanding of the area for not being particularly algorithmic (but I might be mistaken here). &lt;/p&gt;&#xA;" OwnerUserId="80" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2013-04-11T07:42:06.673" Title="Provable statements about genetic algorithms" Tags="&lt;ds.algorithms&gt;&lt;ne.neural-evol&gt;" AnswerCount="10" CommentCount="10" FavoriteCount="25" ContentLicense="CC BY-SA 2.5" />
  <row Id="845" PostTypeId="2" ParentId="844" CreationDate="2010-09-01T19:55:09.550" Score="29" Body="&lt;p&gt;Y. Rabinovich, A. Wigderson. &lt;a href=&quot;http://dx.doi.org/10.1002/(SICI)1098-2418(199903)14:2%3c111::AID-RSA1%3e3.0.CO;2-6&quot;&gt;Techniques for bounding the convergence rate of genetic algorithms.&lt;/a&gt; Random Structures Algorithms, vol. 14, no. 2, 111-138, 1999. (Also available &lt;a href=&quot;http://www.math.ias.edu/~avi/PUBLICATIONS/MYPAPERS/YURI/GENALG/paper.pdf&quot;&gt;from Avi Wigderson's home page&lt;/a&gt;)&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2010-09-01T19:55:09.550" CommentCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="846" PostTypeId="1" AcceptedAnswerId="872" CreationDate="2010-09-01T20:27:54.963" Score="15" ViewCount="1154" Body="&lt;p&gt;While trying to prove some basic properties using coinductive types in Coq, I keep running into the following problem and I cannot get around it. I've distilled the problem into a simple Coq script as follows. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The type &lt;strong&gt;Tree&lt;/strong&gt; defines possibly infinite trees with branches labelled with elements of type &lt;em&gt;A&lt;/em&gt;. A branch need not be defined for all elements of &lt;em&gt;A&lt;/em&gt;. The value &lt;em&gt;Univ&lt;/em&gt; is the infinite tree with all &lt;em&gt;A&lt;/em&gt; branches always defined. &lt;em&gt;isUniv&lt;/em&gt; tests whether a given tree is equal to the &lt;em&gt;Univ&lt;/em&gt;. The lemma states that &lt;em&gt;Univ&lt;/em&gt; does indeed satisfy &lt;em&gt;isUniv&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;Parameter A : Set.&#xA;&#xA;CoInductive Tree: Set := Node : (A -&amp;gt; option Tree) -&amp;gt; Tree.&#xA;&#xA;Definition derv (a : A) (t: Tree): option Tree :=&#xA;  match t with Node f =&amp;gt; f a end.&#xA;&#xA;CoFixpoint Univ : Tree := Node (fun _ =&amp;gt; Some Univ).&#xA;&#xA;CoInductive isUniv : Tree -&amp;gt; Prop :=&#xA;  isuniv : forall (nf : A -&amp;gt; option Tree) (a : A) (t : Tree), &#xA;    nf a = Some t -&amp;gt; &#xA;    isUniv t -&amp;gt; &#xA;    isUniv (Node nf).&#xA;&#xA;Lemma UnivIsUniv : isUniv Univ.&#xA;Proof.&#xA;  cofix CH.    (* this application of cofix is fine *)&#xA;  unfold Univ. &#xA;&#xA;Admitted.&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;At this point I give up the proof. The current goal is:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;CH : isUniv Univ&#xA;============================&#xA;isUniv (cofix Univ  : Tree := Node (fun _ : A =&amp;gt; Some Univ))&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;I do not know which tactic to apply to eliminate the &lt;strong&gt;cofix&lt;/strong&gt; in the goal to produce &lt;strong&gt;(Node something)&lt;/strong&gt; so that I can apply &lt;strong&gt;isuniv&lt;/strong&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can anyone help prove this lemma?&lt;br&gt;&#xA;What are the standard ways of eliminating &lt;strong&gt;cofix&lt;/strong&gt; in such a situation?&lt;/p&gt;&#xA;" OwnerUserId="77" LastEditorUserId="77" LastEditDate="2010-09-02T07:37:21.577" LastActivityDate="2010-09-04T08:15:12.603" Title="Eliminating cofix in Coq proof" Tags="&lt;coq&gt;&lt;proof-assistants&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="847" PostTypeId="2" ParentId="844" CreationDate="2010-09-01T20:32:43.463" Score="6" Body="&lt;p&gt;Check these references:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Lothar  Schmitt, &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=967712&quot;&gt;Theory of genetic algorithms II: models for genetic operators over the string-tensor representation of populations and convergence to global optima for arbitrary fitness function under scaling&lt;/a&gt;&#xA;&lt;a href=&quot;http://portal.acm.org/citation.cfm?id=967712&quot;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Shiu Yin Yuen; B.K.S. Cheung, &lt;a href=&quot;http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=1583623&quot;&gt;Bounds for probability of success of classical genetic algorithm based on hamming distance&lt;/a&gt;&#xA;&lt;a href=&quot;http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=1583623&quot;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Chang C. Y. Dorea; Judinor A. Guerra Jr.; Rafael Morgado; Andre G. C. Pereira, &lt;a href=&quot;http://www.informaworld.com/smpp/content~db=all~content=a919893617&quot;&gt;Multistage Markov Chain Modeling of the Genetic Algorithm and Convergence Results&lt;/a&gt;&#xA;&lt;a href=&quot;http://www.informaworld.com/smpp/content~db=all~content=a919893617&quot;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;C. Dombry, &lt;a href=&quot;http://www-math.univ-poitiers.fr/~dombry/marcheponderee-JAP.pdf&quot;&gt;A weighted random walk model. Application to a&#xA;genetic algorithm&lt;/a&gt;&#xA;&lt;a href=&quot;http://www-math.univ-poitiers.fr/~dombry/marcheponderee-JAP.pdf&quot;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2010-09-01T20:58:10.627" LastActivityDate="2010-09-01T20:58:10.627" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="848" PostTypeId="1" AcceptedAnswerId="849" CreationDate="2010-09-01T20:51:39.987" Score="4" ViewCount="5206" Body="&lt;p&gt;Binary math is at the heart of most computing, in large part because of the ease with which two energy states can be achieved.  I have always thought that having more states could improve computing power (e.g. using a &lt;a href=&quot;http://en.wikipedia.org/wiki/Trit&quot; rel=&quot;noreferrer&quot;&gt;trit&lt;/a&gt; instead of a bit), but there is a seeming lack of attention being paid to the problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some work has been done in the quantum computing area using qubits to achieve more than the normal two energy levels (see, for example, &lt;a href=&quot;http://www.sciencemag.org/cgi/content/abstract/sci;325/5941/722?maxtoshow=&amp;amp;HITS=10&amp;amp;hits=10&amp;amp;RESULTFORMAT=&amp;amp;fulltext=Matthew+Neeley&amp;amp;searchid=1&amp;amp;FIRSTINDEX=0&amp;amp;resourcetype=HWCIT&quot; rel=&quot;noreferrer&quot;&gt;the recent effort at UCSB&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What advances have been made toward having &lt;a href=&quot;http://en.wikipedia.org/wiki/Ternary_computer&quot; rel=&quot;noreferrer&quot;&gt;ternary&lt;/a&gt; (or greater) computers, and what are the primary the implications of the extra states?&lt;/p&gt;&#xA;" OwnerUserId="7" LastEditorUserId="7" LastEditDate="2010-09-01T21:17:33.647" LastActivityDate="2018-02-15T22:43:51.943" Title="Ternary (and beyond) computation and quantum computing?" Tags="&lt;quantum-computing&gt;" AnswerCount="6" CommentCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="849" PostTypeId="2" ParentId="848" CreationDate="2010-09-01T21:12:36.483" Score="14" Body="&lt;p&gt;Computing with trits instead of bits is like computing with Turing machines that have an alphabet size of 3 instead of an alphabet size of 2.  Increasing the alphabet size like that (not necessarily 2 to 3, but 2 to larger) can permit a speedup in running time, and a compression in the use of space.  (See &lt;a href=&quot;http://en.wikipedia.org/wiki/Linear_speedup_theorem&quot;&gt;http://en.wikipedia.org/wiki/Linear_speedup_theorem&lt;/a&gt; for some initial discussion.)  Note that these improvements are fairly &quot;minimal&quot; -- they won't make an intractable problem tractable.  (If you use an intractably large alphabet instead of computing over bits, that's &quot;cheating,&quot; because then you are just transferring the hardness from one part of the computation to another.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Qubits at least appear to have a fundamentally different &quot;character&quot; from bits or trits.  The state of a qubit (or, more generally, a quDit, &quot;quantum digit&quot;) is a collection of probability amplitudes that associates the qubit to some extent with each possible state.  Bits, trits, etc., are crisply in one state, the end.  In particular, if Factoring is not in polynomial time, then there exists no ptime algorithm over trits that factor integers, while there does exist a quantum algorithm over qudits that factors integers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Qubit&quot;&gt;http://en.wikipedia.org/wiki/Qubit&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="30" LastActivityDate="2010-09-01T21:12:36.483" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="850" PostTypeId="2" ParentId="848" CreationDate="2010-09-01T21:21:51.083" Score="1" Body="&lt;p&gt;Ternary logic attracted attention in mid 70s and 80s, but I guess theorists are not interested by it since advantages are not that incredible and because it is more or less the same thing that classical logic (from the conceptual point of view).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, if you read a paper such as this one: &lt;a href=&quot;http://www.ee.bgu.ac.il/~kushnero/ternary/Using%20CMOS%20gates/Low%20power%20dissipation%20MOS%20ternary%20logic%20family.pdf&quot; rel=&quot;nofollow&quot;&gt;Low power dissipation MOS ternary logic family&lt;/a&gt;,you will find many references in it about the interest in practice (but keep in mind that it was practical interests of the 80s).&lt;/p&gt;&#xA;" OwnerUserId="76" LastActivityDate="2010-09-01T21:21:51.083" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="852" PostTypeId="1" AcceptedAnswerId="853" CreationDate="2010-09-01T22:11:52.830" Score="3" ViewCount="723" Body="&lt;p&gt;There's a computability theory exercise that had me stuck for a long time. I have the language&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;L={ M | there exists a reduction from HP to L(M) }&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;I managed to prove it's not in R with a reduction from HP, but I can't figure out if it's in RE (or rather, I suspect it must not be in RE but can't prove it).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm not necessarily looking for an actual solution, but a clear enough hint, since it did elude me for a while now.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT: M is a Turing machine. L(M)={x | M accepts x}. HP is the Halting Problem. RE is the Recursively Enumerable class of languages. &lt;/p&gt;&#xA;" OwnerUserId="817" LastEditorUserId="817" LastEditDate="2010-09-02T01:54:09.877" LastActivityDate="2010-09-18T09:17:21.083" Title="Is the following language in RE?" Tags="&lt;computability&gt;" AnswerCount="2" CommentCount="5" FavoriteCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="853" PostTypeId="2" ParentId="852" CreationDate="2010-09-01T22:48:31.510" Score="4" Body="&lt;p&gt;it's not in RE, you can show it by reduction from $\bar{HP}$. It's one of the common reductions (at least in the course i taught) but it's kind of tricky to figure out if you haven't seen it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(added following the comments): consider the following reduction from $\bar{HP}$: $f(M,x)=M_{x}$ where $M_{x}$ acts in the following manner on an input w:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;run M on x for |w| steps&lt;/li&gt;&#xA;&lt;li&gt;if M stops then reject w&lt;/li&gt;&#xA;&lt;li&gt;else accept&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;if $(M,x)\in \bar{HP} $  then $L(M_{x})=\Sigma ^{*} $, if $(M,x)\notin \bar{HP} $  then $L(M_{x}) $ is finite and therefore in R.  This is still not sufficient to answer the original question, to do that you must refine the reduction a bit, so that instead of $\Sigma^{*}$ you get a language that HP is reducible to (for instance, HP itself).&lt;/p&gt;&#xA;" OwnerUserId="462" LastEditorUserId="462" LastEditDate="2010-09-02T18:40:19.130" LastActivityDate="2010-09-02T18:40:19.130" CommentCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="854" PostTypeId="2" ParentId="848" CreationDate="2010-09-01T23:12:03.897" Score="5" Body="&lt;p&gt;Certainly in the context of quantum computation systems of dimension 3 or more have been looked at. These are known as qudits in general, and qutrits for 3 level systems. The motivation here has mostly been the available physical systems, rather than any expectation of a significant change in computational power. Indeed in quantum systems it is very easy to see that there is no such advantage: Evolution in quantum systems is described by unitary operations which can be associated with the Lie group su(D), where D is the total dimensionality of the system. Given entangling gates between subsystems, together with individual control over these local subsystems, it is known that it is always possible to approximate any such operator, independent of the dimensionality of the local systems. Obviously, if you can reach all unitary operations on D dimensions, then you can reach all of the ones on $d&amp;lt;D$ dimensions. So, you can use, for example 2 qutrits to replace 3 qubits, or 4 qubits to replace 3 qutrits, with only constant overhead.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;With this in mind, the relationship between qutrits and qubits versus trits and bits is similar, and the level of interest on a theoretical level has been fairly similar. It is really in the context of physical implementations that qutrits attract interest, since quantum computing has not really settled on a dominant architecture yet, and there are plenty of systems with local dimensionality &gt; 2.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You may want to have a look into what are called continuous variable systems, which are a type of system considered in quantum computation which have an infinite number of local dimensions (position is an example of a continuous variable quantity). Such systems do actually exist, and are fundamentally different from analog computers due to the quantization of energy levels.&lt;/p&gt;&#xA;" OwnerUserId="204" LastEditorUserId="204" LastEditDate="2012-11-23T17:11:03.727" LastActivityDate="2012-11-23T17:11:03.727" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="855" PostTypeId="2" ParentId="844" CreationDate="2010-09-01T23:20:14.763" Score="10" Body="&lt;p&gt;As well as working on simulated annealing, Ingo Wegener had some theoretical results on evolutionary algorithms. The &lt;a href=&quot;http://ls2-www.cs.uni-dortmund.de/~sudholt/dissertation-sudholt.pdf&quot;&gt;thesis&lt;/a&gt; of his PhD student Dirk Sudholt is also worth a look.&lt;/p&gt;&#xA;" OwnerUserId="368" LastActivityDate="2010-09-01T23:20:14.763" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="856" PostTypeId="2" ParentId="848" CreationDate="2010-09-01T23:31:20.427" Score="18" Body="&lt;p&gt;Actually the usual RAM model is just this approach taken into extreme: each &quot;storage unit&quot; has as many as $\textrm{poly}(n)$ possible states (instead of just 2 states). We assume that each memory word can store $O(\log n)$ bits and word-operations have unit cost.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Cf. &lt;a href=&quot;https://cstheory.stackexchange.com/questions/26/complexity-of-the-fisher-yates-shuffle-algorithm&quot;&gt;this question&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="74" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2010-09-01T23:31:20.427" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="857" PostTypeId="1" AcceptedAnswerId="858" CreationDate="2010-09-01T23:31:42.517" Score="17" ViewCount="831" Body="&lt;p&gt;Neil Immerman's famous Picture of The World is the following (click to enlarge):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href=&quot;https://i.stack.imgur.com/1lGeX.jpg&quot; rel=&quot;nofollow noreferrer&quot;&gt;&lt;img src=&quot;https://i.stack.imgur.com/1lGeX.jpg&quot; height=&quot;500&quot;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;His &quot;Truly feasible&quot; class includes no other class; my question is then:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What is an AC&lt;sup&gt;0&lt;/sup&gt; problem which is considered to be unpractical, and why?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="88" LastEditorUserId="32711" LastEditDate="2018-12-29T22:49:44.330" LastActivityDate="2018-12-29T22:49:44.330" Title="Which $AC^0$ problems are not &quot;truly feasible&quot;?" Tags="&lt;cc.complexity-theory&gt;&lt;circuit-complexity&gt;" AnswerCount="3" CommentCount="7" FavoriteCount="3" ContentLicense="CC BY-SA 4.0" />
  <row Id="858" PostTypeId="2" ParentId="857" CreationDate="2010-09-02T00:13:41.500" Score="16" Body="&lt;p&gt;If you want an example of an AC&lt;sup&gt;0&lt;/sup&gt; function that requires depth $d$, and cannot be computed by AC&lt;sup&gt;0&lt;/sup&gt; circuits of depth $d-1$, then try the Sipser functions $S^{d,n}$. The superscript $d$ is depth needed for a polynomial-size AC&lt;sup&gt;0&lt;/sup&gt; circuit. With depth $d-1$, the circuit would need exponentially many gates.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So computing $S^{d,n}$ for $d = 10^{10^{100}}$ would not be &quot;truly feasible.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT: Your question also asks why this would not be feasible. I guess the reason is that $10^{10^{100}}$ is more than the number of atoms in the visible universe.&lt;/p&gt;&#xA;" OwnerUserId="206" LastActivityDate="2010-09-02T00:13:41.500" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="859" PostTypeId="2" ParentId="832" CreationDate="2010-09-02T00:42:22.343" Score="12" Body="&lt;p&gt;Here are a few additional references. More can be found by looking at the papers that cite these.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.ams.org/mathscinet-getitem?mr=0738748&quot;&gt;Duris and Galil (1984)&lt;/a&gt; give a language in $P$ which requires $T^2 S \geq \Omega(n^3)$ on one-tape Turing machines with any constant number of read-write heads. &lt;a href=&quot;http://linkinghub.elsevier.com/retrieve/pii/0304397586901507&quot;&gt;Karchmer (1986)&lt;/a&gt; showed that the same lower bound holds for the &lt;em&gt;element distinctness&lt;/em&gt; problem. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://portal.acm.org/citation.cfm?id=73007.73008&quot;&gt;Babai, Nisan, and Szegedy (1989)&lt;/a&gt; give a very natural language (generalized inner product) that is solvable in $O(n)$ time and $O(1)$ space on a $k+1$-head one-tape Turing machine, that requires $T S \geq \Omega(n^2)$ on any $k$-head one-tape Turing machine.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://portal.acm.org/citation.cfm?id=301424&quot;&gt;Ajtai (1999)&lt;/a&gt; shows time-space tradeoffs for deterministic random access machines computing element distinctness. In particular if $S \leq o(n)$, then $T \geq \omega(n)$. Subsequent work by &lt;a href=&quot;http://www.cs.washington.edu/homes/beame/papers/randomts.ps&quot;&gt;Beame, Saks, Sun, and Vee (2000)&lt;/a&gt; proves time-space tradeoffs for randomized computations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://dx.doi.org/10.1016/S0020-0190%2800%2900227-1&quot;&gt;Santhanam (2001)&lt;/a&gt; showed that $TS \geq \Omega(n^2)$ holds for multitape Turing machines solving SAT, building on Cobham's analogous lower bound for PALINDROMES. &lt;/p&gt;&#xA;" OwnerUserId="225" LastActivityDate="2010-09-02T00:42:22.343" CommentCount="0" CommunityOwnedDate="2010-09-02T00:42:22.343" ContentLicense="CC BY-SA 2.5" />
  <row Id="861" PostTypeId="1" AcceptedAnswerId="964" CreationDate="2010-09-02T01:52:56.930" Score="20" ViewCount="980" Body="&lt;p&gt;Reading some recent threads on quantum computing (&lt;a href=&quot;https://cstheory.stackexchange.com/questions/482/what-is-the-quantum-computational-model&quot;&gt;here&lt;/a&gt;,&lt;a href=&quot;https://cstheory.stackexchange.com/questions/848/ternary-and-beyond-computation-and-quantum-computing&quot;&gt;here&lt;/a&gt;, and &lt;a href=&quot;https://cstheory.stackexchange.com/questions/805/learning-quantum-cs&quot;&gt;here&lt;/a&gt;), make me remember an interesting question about the power of some kind of $\ell_p$-norm preserving machine.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For people working in complexity theory going to quantum complexity a great introductory text is Fortnow's paper which link was posted by Joshua Grochow &lt;a href=&quot;https://cstheory.stackexchange.com/questions/482/what-is-the-quantum-computational-model/493#493&quot;&gt;here&lt;/a&gt;. In that paper, the quantum Turing machine is presented as a generalized probabilistic Turing machine. Basically, the probabilistic machine have a state $s$ normalized under the $\ell_1$-norm, i.e. $\parallel s\parallel_1=1$. The time evolution of the machine is given by the application of a &lt;em&gt;stochastic&lt;/em&gt; matrix $P$ such that $\parallel Ps\parallel_1=1$, i.e. $P$ preserves the $\ell_1$-norm. So the state at time $t$ is $P^ts$ (the notation may not be precise because the left or right multiplication of $P$ depends on if $s$ is a row or column vector or the rows or columns of $P$ are the subspaces preserving the norm). So in this sense the probabilistic Turing machine is a $\ell_1$-norm preserving machine denoted $M^{\ell_1}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then a quantum Turing machine can be seen as having a state $s$ with $\parallel s\parallel_2=1$ and &lt;em&gt;unitary&lt;/em&gt; matrix $P$ (that preserves $\ell_2$-norms) such that $P^ts$ is the state at time $t$ where $\parallel P^ts\parallel_2=1$. This is a $\ell_2$-norm preserving machine denoted $M^{\ell_2}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let in general a $\ell_p$-norm preserving machine be denoted by $M^{\ell_p}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So my questions are:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(1) What's the power of $\ell_p$-norm preserving machines for finite $p$? More formally, can we prove that for any given $p$ and $q$, if $q&amp;gt;p$ then there exists a language $L$ and machine $M^{\ell_q}$ such that $M^{\ell_q}$ efficiently decides $L$ and there is no machine $M^{\ell_p}$ that efficiently decides $L$. For example, this could be a generalization of the question, is $NP \subseteq BQP$?.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(2) What about $p=\infty$? Here the maximum value of the components of the state vector is 1.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(3) These questions goes beyond unitarity so it is not expected to agree with quantum mechanics. In general, what happens with computation if you relax the unitarity restriction on operations? There are works about allowing non-linear operators (see &lt;a href=&quot;http://eccc.hpi-web.de/report/2005/026/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Aaronson 2005&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(4) Maybe the most important, is it universal? I think this is clear, because for particular cases it is universal. But what happens with universality when $p=\infty$?&lt;/p&gt;&#xA;" OwnerUserId="135" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2014-03-05T17:23:48.940" Title="$\ell_p$-norm preserving Turing machines" Tags="&lt;cc.complexity-theory&gt;&lt;quantum-computing&gt;&lt;computability&gt;&lt;turing-machines&gt;&lt;norms&gt;" AnswerCount="2" CommentCount="4" FavoriteCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="862" PostTypeId="2" ParentId="844" CreationDate="2010-09-02T02:09:09.633" Score="10" Body="&lt;p&gt;Do you know this paper:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Jens Jägersküpper. &lt;a href=&quot;http://www.springerlink.com/content/x645566p3233386x/&quot;&gt;Combining Markov-Chain Analysis and Drift Analysis: The (1+1) Evolutionary Algorithm on Linear Functions Reloaded&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It shows an expected running time of $O(n\log n)$ for linear functions for a class of evolutionary algorithms.&lt;/p&gt;&#xA;" OwnerUserId="135" LastActivityDate="2010-09-02T02:09:09.633" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="863" PostTypeId="2" ParentId="799" CreationDate="2010-09-02T02:33:12.170" Score="33" Body="&lt;p&gt;The answer to your question is &quot;yes&quot; for a wide variety of classes and reductions, including logspace reductions and the classes you mentioned, as is proved in these papers:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;H. Vollmer.  &lt;a href=&quot;http://www.thi.uni-hannover.de/fileadmin/forschung/publikationen/daten/vollmer90.ps.gz&quot;&gt;The gap-language technique revisited&lt;/a&gt;.  Computer Science Logic, Lecture Notes in Computer Science Vol. 533, pages 389-399, 1990.&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;K. Regan and H. Vollmer.  &lt;a href=&quot;http://www.thi.uni-hannover.de/fileadmin/forschung/publikationen/daten/reg-vol95.ps.gz&quot;&gt;Gap-languages and log-time complexity classes&lt;/a&gt;.  Theoretical Computer Science, 188(1-2):101-116, 1997.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;(You can download gzipped postscript files of these papers &lt;a href=&quot;http://www.thi.uni-hannover.de/en/research/publications/&quot;&gt;here&lt;/a&gt;.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The proofs follow the basic principle of Uwe Schöning's extension of Ladner's theorem:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Uwe Schöning.  &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/0304397582901141&quot;&gt;A uniform approach to obtain diagonal sets in complexity classes&lt;/a&gt;.  Theoretical Computer Science 18(1):95-103, 1982.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Schöning's proof has always been my favorite proof of Ladner's theorem -- it's both simple and general.&lt;/p&gt;&#xA;" OwnerUserId="819" LastEditorUserId="186" LastEditDate="2011-08-07T21:30:28.297" LastActivityDate="2011-08-07T21:30:28.297" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="864" PostTypeId="2" ParentId="796" CreationDate="2010-09-02T03:10:00.830" Score="2" Body="&lt;p&gt;&lt;strong&gt;EXACT COVER BY 3-SETS to SUBSET SUM&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EXACT COVER BY 3-SETS: given $U=\{1,2,\ldots,3m\}$ and $S_1,\ldots,S_n$ 3-subsets of $U$, are there $m$ disjoint sets that cover $U$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;SUBSET SUM: given integers $w_1,\ldots,w_n$ and $K$, is there a subset of the given integers that adds up to exactly $K$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Think of the sets $S_i$ as vectors in $\{0,1\}^{3m}$, and think of this vectors as integers in base $n+1$, so that $S_i$ becomes $w_i=\sum_{j\in S_i} (n+1)^{3m-j}$.&#xA;Set $K=\sum_{j=0}^{3m-1} (n+1)^j$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(My source was Papadimitriou's book.)&lt;/p&gt;&#xA;" OwnerUserId="168" LastActivityDate="2010-09-02T03:10:00.830" CommentCount="0" CommunityOwnedDate="2010-09-02T03:10:00.830" ContentLicense="CC BY-SA 2.5" />
  <row Id="865" PostTypeId="1" AcceptedAnswerId="866" CreationDate="2010-09-02T08:50:39.533" Score="1" ViewCount="783" Body="&lt;p&gt;I am currently reading a paper and I don't know how to interpret this notation you can see on the screenshot.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://moxn.brainex.de/pub/dfg.png&quot; rel=&quot;nofollow noreferrer&quot; title=&quot;G=\langle A \cup L, E\rangle&quot;&gt;http://moxn.brainex.de/pub/dfg.png&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Do the pointy angle brackets have a special meaning or did the author choose them just to confuse me?&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I googled it and apparently they are commonly used in group theory, which does not make much sense to me here.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks for your input.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;btw: The paper is called &quot;A Formal Definition of Data Flow Graph Models&quot; by Kavi, Buckles and Bhat, and is available &lt;a href=&quot;http://csrl.unt.edu/~kavi/Research/IEEE-TC-1986.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="821" LastActivityDate="2020-07-17T11:44:37.823" Title="Does this notation have a special meaning?" Tags="&lt;graph-theory&gt;" AnswerCount="2" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="866" PostTypeId="2" ParentId="865" CreationDate="2010-09-02T08:53:20.013" Score="5" Body="&lt;p&gt;No special meaning here. The angle brackets simply denote a tuple or pair. The author chose the angle brackets to look prettier than the usual round parentheses. Thus a graph $G$ is a set of vertices $A \cup L$ and a set of edges $E$.&lt;/p&gt;&#xA;" OwnerUserId="77" LastActivityDate="2010-09-02T08:53:20.013" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="867" PostTypeId="1" CreationDate="2010-09-02T09:39:06.500" Score="0" ViewCount="311" Body="&lt;p&gt;Is there any place, where description of formalized image processing algorithms can be found? Like creating hdr images, bluring images, etc.&lt;/p&gt;&#xA;" OwnerUserId="234" LastActivityDate="2010-09-02T16:02:36.780" Title="Image processing algorithms" Tags="&lt;ds.algorithms&gt;" AnswerCount="3" CommentCount="2" FavoriteCount="1" ClosedDate="2010-09-03T16:59:14.987" ContentLicense="CC BY-SA 2.5" />
  <row Id="869" PostTypeId="1" CreationDate="2010-09-02T11:25:03.973" Score="39" ViewCount="1394" Body="&lt;p&gt;The &lt;a href=&quot;http://en.m.wikipedia.org/wiki/Least_fixed_point&quot;&gt;Immerman-Vardi theorem&lt;/a&gt; states that PTIME (or P) is precisely the class of languages that can be described by a sentence of First-Order Logic together with a fixed-point operator, over the class of ordered structures.  The fixed-point operator can be either least fixed-point (as considered by Immerman and by Vardi), or inflationary fixed-point.  (Stephan Kreutzer, &lt;a href=&quot;http://dx.doi.org/10.1016/j.apal.2004.02.001&quot;&gt;&lt;em&gt;Expressive equivalence of least and inflationary fixed-point logic&lt;/em&gt;&lt;/a&gt;, Annals of Pure and Applied Logic &lt;strong&gt;130&lt;/strong&gt; 61–78, 2004).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Yuri Gurevich conjectured that there is no logic capturing PTIME (&lt;a href=&quot;http://research.microsoft.com/en-us/um/people/gurevich/Opera/74.pdf&quot;&gt;&lt;em&gt;Logic and the Challenge of Computer Science&lt;/em&gt;&lt;/a&gt;, in Current Trends in Theoretical Computer Science, ed. Egon Boerger, 1–57, Computer Science Press, 1988), while Martin Grohe has stated he is less sure (&lt;a href=&quot;http://www2.informatik.hu-berlin.de/~grohe/pub/gro08b.pdf&quot;&gt;&lt;em&gt;The Quest for a Logic Capturing PTIME&lt;/em&gt;&lt;/a&gt;, FOCS 2008).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The fixed-point operator is meant to capture the power of recursion.  Fixed-points are powerful, but it isn't obvious to me that they are necessary.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there an operator X that is not based on fixed-points, such that FOL+X captures a (large) fragment of PTIME?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit:&lt;/strong&gt; As far as I understand, linear logic can only express statements about structures that have quite restrictive form.  I would ideally like to see a reference to, or a sketch of, a logic that can express properties of arbitrary sets of relational structures, while still avoiding fixed points.  If I am wrong about the expressive power of linear logic then a pointer or hint would be welcome.&lt;/p&gt;&#xA;" OwnerUserId="109" LastEditorUserId="186" LastEditDate="2011-09-26T21:54:43.807" LastActivityDate="2013-09-25T09:37:34.887" Title="Is there a logic without induction that captures much of P?" Tags="&lt;cc.complexity-theory&gt;&lt;lo.logic&gt;&lt;descriptive-complexity&gt;&lt;finite-model-theory&gt;" AnswerCount="5" CommentCount="8" FavoriteCount="16" ContentLicense="CC BY-SA 3.0" />
  <row Id="870" PostTypeId="2" ParentId="867" CreationDate="2010-09-02T11:52:53.363" Score="1" Body="&lt;p&gt;I know of two semi-related trends that may be of interest (so this would be an &lt;em&gt;extra&lt;/em&gt; answer to your question, but not &lt;em&gt;the&lt;/em&gt; answer).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First, some progress has been made recently on the problem known as &quot;Affine Image Matching&quot;, given two images A and B, how much an affine transformation can make A look like B (see 10.1007/978-3-642-13509-5_2 which proves that Affine Image Matching is uniform-TC&lt;sup&gt;0&lt;/sup&gt; complete).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Second, there has been studies of image transformations in the context of &lt;em&gt;weighted automata&lt;/em&gt;.  A weighted automaton, which weights a word by an element of a semiring, describes fractal like images (intuitively, because of the loops of the automaton).  Nonetheless, actual algorithms have been invented to compress real-world pictures in weighted automata; a rational (weighted) transduction on such representations is then an image transformation.  See Chapter 11 of the Hanbook of Weighted Automata or the older Chapter 10, Volume 3 of the Hanbook of Formal Languages.&lt;/p&gt;&#xA;" OwnerUserId="88" LastActivityDate="2010-09-02T11:52:53.363" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="871" PostTypeId="1" AcceptedAnswerId="879" CreationDate="2010-09-02T12:14:02.283" Score="20" ViewCount="893" Body="&lt;p&gt;The $k$-fixed point free automorphism problem asks for  a graph automorphism which moves at least $k(n)$ nodes. The problem is $NP$-complete if $k(n)=n^c$ for any $c$&gt;0.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, If $k(n)=O(\log n)$ then the problem is polynomial time Turing reducible to Graph Isomorphism Problem. If $k(n)=O(\log n/\log \log n)$ then the problem is polynomial time Turing-equivalent to the Graph Automorphism problem which is in $NPI$ and is not known to be $NP$-complete. The Graph Automorphism problem is Turing reducible to the Graph Isomorphism problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.springerlink.com/content/rylx1h51e1j9fwd7/&quot;&gt;On the Complexity of Counting the Number of Vertices Moved by Graph Automorphisms, &#xA;Antoni Lozano and Vijay Raghavan&#xA;&lt;/a&gt;&#xA;&lt;a href=&quot;http://www.springerlink.com/content/rylx1h51e1j9fwd7/&quot;&gt;Foundation of Software Technology, LNCS 1530, pp. 295–306&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It appears that computational  hardness increases as we increase the symmetry of the object we are trying to find (as indicated by the number of nodes that must be moved by the automorphism) . It seems this may explain the lack of polynomial time Turing reduction from the NP-complete version to Graph Automorphism (GA) &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there another example of a hard problem which supports this relationship between symmetry and hardness?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2010-10-13T07:06:21.303" LastActivityDate="2010-11-05T11:04:16.560" Title="Relationship between symmetry and computational intractability?" Tags="&lt;cc.complexity-theory&gt;&lt;graph-isomorphism&gt;&lt;automorphism&gt;&lt;symmetry&gt;" AnswerCount="2" CommentCount="8" FavoriteCount="9" ContentLicense="CC BY-SA 2.5" />
  <row Id="872" PostTypeId="2" ParentId="846" CreationDate="2010-09-02T13:13:16.120" Score="6" Body="&lt;p&gt;You can eliminate cofix using an auxiliary function that pattern matches Tree.&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;Definition TT (t:Tree) :=&#xA;  match t with&#xA;    | Node o =&amp;gt; Node o&#xA;  end.&#xA;&#xA;Lemma TTid : forall t: Tree, t = TT t.&#xA;  intro t.&#xA;  destruct t.&#xA;  reflexivity.&#xA;  Qed.&#xA;&#xA;Lemma UnivIsUniv : isUniv Univ.&#xA;Proof.&#xA;  cofix.&#xA;  rewrite TTid.&#xA;  unfold TT.&#xA;  unfold Univ.&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;You will obtain this goal, which is a step unwinded.&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;  UnivIsUniv : isUniv Univ&#xA;  ============================&#xA;   isUniv&#xA;     (Node&#xA;        (fun _ : A =&amp;gt;&#xA;         Some (cofix Univ  : Tree := Node (fun _ : A =&amp;gt; Some Univ))))&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;I adapted this technique from &lt;a href=&quot;http://adam.chlipala.net/cpdt/html/Coinductive.html&quot; rel=&quot;nofollow&quot;&gt;http://adam.chlipala.net/cpdt/html/Coinductive.html&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="249" LastActivityDate="2010-09-02T13:13:16.120" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="873" PostTypeId="2" ParentId="869" CreationDate="2010-09-02T13:44:20.423" Score="7" Body="&lt;p&gt;Depending on what you mean by &quot;capture,&quot; &lt;a href=&quot;http://www.google.com/url?sa=t&amp;amp;source=web&amp;amp;cd=2&amp;amp;ved=0CB0QFjAB&amp;amp;url=http%3A%2F%2Fciteseerx.ist.psu.edu%2Fviewdoc%2Fdownload%3Fdoi%3D10.1.1.6.1196%26rep%3Drep1%26type%3Dpdf&amp;amp;rct=j&amp;amp;q=polynomial%20time%20logic&amp;amp;ei=tKd_TLfIOcjInAfcjJmFAQ&amp;amp;usg=AFQjCNGLJ5S7rVs6MyxxVmFkFkRuLc2Uqw&amp;amp;sig2=Iwnra3vcDRLpjwA_9bIgYw&amp;amp;cad=rja&quot; rel=&quot;noreferrer&quot;&gt;Soft Linear Logic and Polynomial Time&lt;/a&gt; by Yves Lafont may be of interest.  There is a 1-1 correspondence to proofs in this logic and PTIME algorithms that take a string as input and output 0 or 1.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The Wikipedia article on Linear Logic is &lt;a href=&quot;http://en.wikipedia.org/wiki/Linear_logic&quot; rel=&quot;noreferrer&quot;&gt;here&lt;/a&gt;.  It's not a fixpoint logic.  The intuition of &quot;classical logic over $C^*$ algebras instead of boolean algebras&quot; is the easiest for me to grasp.&lt;/p&gt;&#xA;" OwnerUserId="30" LastActivityDate="2010-09-02T13:44:20.423" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="874" PostTypeId="1" AcceptedAnswerId="882" CreationDate="2010-09-02T14:19:34.677" Score="11" ViewCount="472" Body="&lt;p&gt;It is easy to look in a lot of textbooks the proofs of subject reduction and strong normalisation for System F, also, sometimes there are definitions of System F with pairs, where (t,r) is a term, not only an encoding. The question is, what would be the reference for this system?&lt;/p&gt;&#xA;" OwnerUserId="743" LastEditorDisplayName="user5513" LastEditDate="2011-06-09T13:22:55.103" LastActivityDate="2011-06-09T13:22:55.103" Title="Does the System F with pairs have the strong normalisation and subject reduction properties?" Tags="&lt;reference-request&gt;&lt;lo.logic&gt;&lt;type-theory&gt;&lt;lambda-calculus&gt;&lt;polymorphism&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="875" PostTypeId="2" ParentId="88" CreationDate="2010-09-02T14:40:56.880" Score="58" Body="&lt;p&gt;While it seems quite hard to prove the Church-Turing thesis because of the informal nature of &quot;effectively calculable function&quot;, we can imagine what it would mean to disprove it. Namely, if someone built a device which (reliably) computed a function that cannot be computed by any Turing machine, that would disprove the Church-Turing thesis because it would establish existence of an effectively calculable function that is not computable by a Turing machine.&lt;/p&gt;&#xA;" OwnerUserId="705" LastActivityDate="2010-09-02T14:40:56.880" CommentCount="11" ContentLicense="CC BY-SA 2.5" />
  <row Id="876" PostTypeId="2" ParentId="867" CreationDate="2010-09-02T15:42:56.100" Score="0" Body="&lt;p&gt;Found an article with some algos &lt;a href=&quot;http://www.gamedev.net/reference/programming/features/imageproc/&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;. Also, there's a c++ implementation of hdr algo &lt;a href=&quot;http://qtpfsgui.sourceforge.net/about.php&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="234" LastEditorUserId="234" LastEditDate="2010-09-02T15:49:13.503" LastActivityDate="2010-09-02T15:49:13.503" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="878" PostTypeId="2" ParentId="867" CreationDate="2010-09-02T16:02:36.780" Score="1" Body="&lt;p&gt;It depends on your particular topic of interest.  For foundations you can read some of the books dedicated to your topic.  For example, for HDR I recommend the HDRI book (by Reinhard et al.).  For deblurring I think there is a survey paper somewhere (sorry I can't post &gt;1 link).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, the field changes very quickly and the easiest and best way would be to follow the research.  (1) Go to &lt;a href=&quot;http://kesen.realtimerendering.com/&quot; rel=&quot;nofollow&quot;&gt;http://kesen.realtimerendering.com/&lt;/a&gt; and start reading some papers.  (2) Use Google Scholar to track the papers and very soon you'll be on top of the latest techniques in HDR, deblurring.  (3) Search for class lectures on your particular field of interest.  Very soon you'll find out who the experts are, and what the latest techniques are.  Go to their websites and look at their work.  I went through the whole exercise myself, from scratch, and it's actually quite fun.&lt;/p&gt;&#xA;" OwnerUserId="789" LastActivityDate="2010-09-02T16:02:36.780" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="879" PostTypeId="2" ParentId="871" CreationDate="2010-09-02T16:08:19.060" Score="14" Body="&lt;p&gt;This isn't exactly the &quot;same&quot; relationship between symmetry and hardness, but there is a close relationship between the symmetries of a Boolean function and its circuit complexity.  See:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Babai, L., Beals, R., and Takácsi-Nagy, P.  &lt;a href=&quot;http://doi.acm.org/10.1145/129712.129754&quot;&gt;Symmetry and complexity&lt;/a&gt;, STOC 1992.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Here's what they show. Let $G_{i} \leq S_{i}$ be a sequence of permutation groups. Let $s(G_{i})$ denote the number of orbits of $G_{i}$ in its induced action on $\{0,1\}^{i}$ (by permutation of the coordinates).  Let $\mathcal{F}(G)$ denote the class of languages $L$ such that $L \cap \{0,1\}^{n}$ is invariant under $G_{n}$.  Then all languages in $\mathcal{F}(G)$ have circuits of size at most $poly(s(G))$ and depth at most $poly(\log(s(G))$, and this is essentially tight.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;In the opposite direction, several $NP$ problems whose witness sets have lots of symmetries end up being in $coAM$ (like $GI$), and so are not $NP$-complete unless $PH$ collapses.  In fact, the following paper shows that $NP$ problems whose witness sets have lots of symmetries are low for $PP$:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Arvind, V., Vinodchandran, N. V. &lt;a href=&quot;http://dx.doi.org/10.1016/S0304-3975(98)00218-7&quot;&gt;The counting complexity of group-definable languages&lt;/a&gt;. Theoret. Comput. Sci. 242 (2000), no. 1-2, 199--218.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;(Note: whether or not &quot;low for $PP$&quot; indicates &quot;unlikely to be $NP$-complete&quot; is a little up in the air, as far as I know. &lt;a href=&quot;http://dx.doi.org/10.1137/0221023&quot;&gt;Toda and Ogiwara&lt;/a&gt; showed that $PP^{PH} \subseteq BP \cdot PP$.  So under the &quot;derandomization&quot; assumption $BP \cdot PP = PP$, $NP$ is in fact low for $PP$, so being low for $PP$ is no obstacle to being $NP$-complete.  On the other hand, there is an oracle due to &lt;a href=&quot;http://dx.doi.org/10.1007/BF01263422&quot;&gt;Beigel&lt;/a&gt; relative to which $NP$ is not low for $PP$.)&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;In a similar vein as the above, if every polynomial-time decidable equivalence relation has a polynomial-time complete invariant (function $f$ such that $f(x) = f(y)$ iff $x \sim y$), then any $NP$ problem whose witnesses have lots of symmetries reduces to the hidden subgroup problem for the automorphism group of its witnesses.  Admittedly, the hypothesis here is rather unlikely to hold, but it does give some connection between symmetry and quantum complexity.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Finally, the Mulmuley-Sohoni &lt;a href=&quot;http://ramakrishnadas.cs.uchicago.edu/&quot;&gt;Geomectric Complexity Theory&lt;/a&gt; program is essentially about using symmetry to prove hardness, though the symmetry-hardness connection there is more subtle and less direct.&lt;/p&gt;&#xA;" OwnerUserId="129" LastEditorUserId="129" LastEditDate="2010-09-02T16:22:06.153" LastActivityDate="2010-09-02T16:22:06.153" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="880" PostTypeId="2" ParentId="427" CreationDate="2010-09-02T16:08:54.780" Score="6" Body="&lt;p&gt;I can't resist but point out Roger Alsing's work:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://rogeralsing.com/2008/12/07/genetic-programming-evolution-of-mona-lisa/&quot;&gt;http://rogeralsing.com/2008/12/07/genetic-programming-evolution-of-mona-lisa/&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Represent the image of Mona Lisa using &lt;em&gt;only&lt;/em&gt; 50 semi-transparent triangles.&lt;/p&gt;&#xA;" OwnerUserId="789" LastActivityDate="2010-09-02T16:08:54.780" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="881" PostTypeId="2" ParentId="848" CreationDate="2010-09-02T17:10:38.037" Score="1" Body="&lt;p&gt;Theoretically, there is no reason to prefer trits to bits or vice versa.  Everything is trivially equivalent since you can simulate a bit-based computation using trits and you can simulate a trit-based computation using bits.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Experimentally, many physical systems, such as natural or artificial atoms, naturally give higher-dimensional qudits (in principle, infinite-dimensional qudits).  Even in experiments, though, most of the focus has been on qubits, sometimes with one or two extra dimensions used for readout.  Largely this is because it is simpler to address and manipulate only two dimensions at a time.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the future, as quantum computers begin to scale up, experimentalists may find it easier to work with a few more dimensions per system, for example using a four-level artificial atom instead of two two-level artificial atoms.  A less obvious example is that several proposed experimental systems easily allow for a small constant number of qudits to be coupled simultaneously, for example superconducting qudits all coupled together along the same transmission line or ions all caught in the same trap.  (In a scalable system you need multiple transmission lines or multiple ion traps, but these are harder to fabricate.)  The question, though, is how to control the systems that are all coupled together, evolving simultaneous.  It is a difficult control-theory problem, because the dimension grows very quickly.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Once again, though, the last two paragraphs are only about practical implementation issues.  Theoretically, from a CS perspective (and ignoring fault tolerance), there is no reason to prefer bits to trits or whatever else.  &lt;/p&gt;&#xA;" OwnerDisplayName="greeneggs" LastActivityDate="2010-09-02T17:10:38.037" CommentCount="0" CommunityOwnedDate="2010-09-02T17:10:38.037" ContentLicense="CC BY-SA 2.5" />
  <row Id="882" PostTypeId="2" ParentId="874" CreationDate="2010-09-02T17:59:19.867" Score="14" Body="&lt;p&gt;The treatment of pairs given by encoding, such as that in &lt;em&gt;Proofs and Types&lt;/em&gt;, isn't what you usually want since they aren't &quot;surjective pairs&quot;, i.e., there is no eta rule.  Let's call surjective pairs, products.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An extension of system F with products and unit is given in: Di Cosmo, 1995,  &lt;em&gt;Isomorphisms of types: from lambda-calculus to information retrieval and language design&lt;/em&gt;,  Birkhauser: Basel.&lt;/p&gt;&#xA;" OwnerUserId="270" LastEditorUserId="270" LastEditDate="2010-09-02T20:59:10.480" LastActivityDate="2010-09-02T20:59:10.480" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="883" PostTypeId="2" ParentId="796" CreationDate="2010-09-02T18:29:03.393" Score="3" Body="&lt;p&gt;In the sense of saying - oh that was simple - in retrospect:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;reducing sorting to a convex hull problem.&lt;/p&gt;&#xA;" OwnerDisplayName="user200" LastActivityDate="2010-09-02T18:29:03.393" CommentCount="0" CommunityOwnedDate="2010-09-02T18:29:03.393" ContentLicense="CC BY-SA 2.5" />
  <row Id="884" PostTypeId="1" CreationDate="2010-09-02T21:51:48.980" Score="13" ViewCount="375" Body="&lt;p&gt;This is a question inspired by the &lt;a href=&quot;https://cstheory.stackexchange.com/questions/65/h-free-cut-problem&quot;&gt;H-free cut problem&lt;/a&gt;. Given a graph, a partition of its vertex set $V$ into $r$ parts $V_1, V_2, \ldots, V_r$ is $H$-free if $G[V_i]$ does not induce a copy of $H$ for all $i$, $1 \leq i \leq r$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I wish to consider the following question:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is the least $r$ for which there exists a $H$-free partition into $r$ parts?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Notice that when $H$ is a single edge, then this amounts to finding the chromatic number, and is already NP-complete. I am wondering if it is easier to show NP-completeness for any fixed $H$ for this problem (easier, as compared to showing it for $H$-free cut). I even thought it might be obvious, but I didn't get anywhere. It is entirely possible I'm missing something quite straightforward, and if this is the case, I'd appreciate some pointers!  &lt;/p&gt;&#xA;" OwnerUserId="688" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2011-01-05T07:56:09.507" Title="H-free partition" Tags="&lt;graph-theory&gt;&lt;np-hardness&gt;&lt;co.combinatorics&gt;" AnswerCount="2" CommentCount="5" FavoriteCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="885" PostTypeId="1" AcceptedAnswerId="922" CreationDate="2010-09-02T22:18:07.090" Score="6" ViewCount="306" Body="&lt;p&gt;I have a uniform NxN grid with a non-empty subset of vertices marked as obstacles.  My goal is to compute, for each non-obstacle vertex, the &quot;maximum clearance&quot; from the obstacle set.  In other words, the radius of the largest circle center at the vertex not overlapping with any obstacle.  Or the nearest &quot;gas station&quot; for each vertex.  [&lt;em&gt;sorry if there is some standard terminology I should have used&lt;/em&gt;]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would like a linear-time algorithm to compute this.  Can anyone help?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My gut feeling is that it is possible.  I have searched but didn't get a straight answer, but I know the following:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(1) if the distance metric is Manhattan, this can be solved by a simple flooding.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(2) I know a little bit about Level Set, and it may help, but is there something simpler?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(3) I understand Fortune's elegant sweeping algorithm to calculate Voronoi diagram in O(n log n), where n is the number of points.  For my particular application, since the wavefront never contains more than N vertices, the complexity is O(N log N).  The O(log N) is due to updates to a binary tree.  I hope this can be reduced from O(N log N) to O(N) because of the nature of my problem?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am willing to do this in multiple passes in order to get linear time.  For example, one pass each for N, E, S, W, which hopefully somewhat simplifies Fortune's algorithm.  Also I am not interested in the Voronoi vertices but rather the distances of the grid vertices from the obstacles.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is this a known, solved problem?  If so, source code or (more detailed) pseudo code?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If not, so far what I have in mind is to do this in two passes (Eastbound sweep and Westbound sweep):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider the East-bound sweep, I update one column of N vertices at a time.  There is a set of exactly N &quot;back&quot; vertices (each is assigned an X coordinate, or -infinity if they are out of scope (OOS)) such that a partition is defined by the bisecting lines between immediate non-OOS neighbors (similar to Fortune).  In other words, each non-OOS vertex is given a range [ys, ye] which together partitions [0, N - 1].  I don't maintain a binary tree of non-OOS vertices.  Instead, I always keep them in an array of size N.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;When we move to the next column, the partition changes.  The partition is recalculated, and if a vertex's range becomes negative (ys &gt; ye), the vertex is marked as OOS accordingly.  Hopefully, this can be done in O(N) time and hence the total runtime is O(NxN).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Am I going in the right direction?  Actually by spelling it out it already helps a bit :D&lt;/p&gt;&#xA;" OwnerUserId="789" LastEditorUserId="80" LastEditDate="2010-09-08T06:50:03.537" LastActivityDate="2019-01-25T00:20:21.520" Title="Linear Time Maximum Clearance Computation on a Grid Graph?" Tags="&lt;ds.algorithms&gt;&lt;cg.comp-geom&gt;" AnswerCount="3" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="886" PostTypeId="2" ParentId="88" CreationDate="2010-09-02T22:27:04.203" Score="36" Body="&lt;p&gt;Disproving the Church-Turing thesis seems indeed extremely unlikely and conceptually very hard to imagine. There are various &quot;hypothetical physical worlds&quot; which are in some tension with the Church-Turing thesis (but whether they contradict it is by itself an interesting philosophical question). A paper by Pitowsky &quot;&lt;a href=&quot;http://edelstein.huji.ac.il/staff/pitowsky/papers/Paper14.pdf&quot;&gt;The Physical Church’s Thesis and Physical Computational Complexity&quot;, Iyun 39, 81-99 (1990)&lt;/a&gt; deals with such hypothetical physical worlds. See also the paper by Itamar Pitowsky and Oron Shagrir: &quot;&lt;a href=&quot;http://edelstein.huji.ac.il/staff/pitowsky/papers/Paper36.pdf&quot;&gt;The Church-Turing Thesis and Hyper Computation&lt;/a&gt;&quot;, Minds and Machines 13, 87-101 (2003). Oron Shagrir have written several philosophical papers about the Church-Turing thesis &lt;a href=&quot;http://edelstein.huji.ac.il/staff/shagrir/&quot;&gt;see his webpage&lt;/a&gt;. (See also &lt;a href=&quot;http://gilkalai.wordpress.com/2010/02/15/itamar-pitowski-probability-in-physics-where-does-it-come-from/&quot;&gt;this blog post&lt;/a&gt;.) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The effective or efficient Church-Turing thesis is an infinitely stronger assertion than the original Church-Turing assertion which asserts that every possible computation can be simulated effciently by a Turing machine. Quantum computers will indeed show that The efficient Church-Turing thesis is invalid (modulo some computational complexity mathematical conjectures, and modulo the &quot;asymptotic interpretation&quot;). I think the efficient Church-Turing conjecture was first formulated in 1985 by Wolfram, the paper is cited in Pitowsky's paper linked above. In fact, you do not even need universal quantum computers to refute the efficient C-T thesis, and it is interesting line of research (that Aaronson among others studies) to propose as simple as possible demonstration of the computational superiority of quantum systems. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is also an interesting problem if there are simpler ways to demonstrate the computational superiority of quantum computers in the presence of noise, rather than to have full-fledge quantum fault-tolerance (that allows universal quantum computation). (Scott A. is indeed interested also in this problem.) &lt;/p&gt;&#xA;" OwnerUserId="712" LastEditorUserId="712" LastEditDate="2011-02-08T23:12:48.990" LastActivityDate="2011-02-08T23:12:48.990" CommentCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="887" PostTypeId="1" CreationDate="2010-09-02T22:31:43.840" Score="-2" ViewCount="707" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Possible Duplicate:&lt;/strong&gt;&lt;br&gt;&#xA;  &lt;a href=&quot;https://cstheory.stackexchange.com/questions/10/is-the-recent-proof-that-p-np-correct&quot;&gt;Is the recent proof that P != NP correct?&lt;/a&gt;  &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&#xA;&#xA;&lt;p&gt;some weeks ago I heard a news that some one proof that P != NP (&lt;a href=&quot;http://science.slashdot.org/story/10/08/08/226227/Claimed-Proof-That-P--NP&quot; rel=&quot;nofollow noreferrer&quot;&gt;link1&lt;/a&gt; - &lt;a href=&quot;http://rjlipton.wordpress.com/2010/08/08/a-proof-that-p-is-not-equal-to-np/&quot; rel=&quot;nofollow noreferrer&quot;&gt;link2&lt;/a&gt;) andsome days later I heard that he was wrong (I can't find a link) can any one tell what was the truth?&lt;/p&gt;&#xA;" OwnerUserId="831" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2010-09-03T00:06:23.640" Title="At last P != NP or not" Tags="&lt;ds.algorithms&gt;&lt;np&gt;&lt;open-problem&gt;" AnswerCount="2" CommentCount="0" ClosedDate="2010-09-03T00:26:45.027" ContentLicense="CC BY-SA 2.5" />
  <row Id="888" PostTypeId="2" ParentId="887" CreationDate="2010-09-02T22:34:16.250" Score="4" Body="&lt;p&gt;The question has already been covered here: &lt;a href=&quot;https://cstheory.stackexchange.com/questions/10/is-the-recent-proof-that-p-np-correct&quot;&gt;Is Deolalikar&amp;#39;s 2010 proof that $P \ne NP$ correct?&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="295" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2010-09-02T22:34:16.250" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="889" PostTypeId="2" ParentId="887" CreationDate="2010-09-03T00:06:23.640" Score="2" Body="&lt;p&gt;You may want to follow Joel's link for a more detailed answer, but the current situation is that there have been a number of serious issues raised with the proof, and it is now deemed to be incorrect (and most likely irreparably so). There is currently a wiki keeping track of these issues &lt;a href=&quot;http://michaelnielsen.org/polymath1/index.php?title=Deolalikar%27s_P!%3DNP_paper&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;, thanks largely to Suresh as well as Terrence Tao.&lt;/p&gt;&#xA;" OwnerUserId="204" LastActivityDate="2010-09-03T00:06:23.640" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="890" PostTypeId="1" AcceptedAnswerId="2879" CreationDate="2010-09-03T00:31:49.497" Score="3" ViewCount="262" Body="&lt;p&gt;LLL and other lattice reduction techniques (such as PSLQ) try to find a short basis vector relative to the 2-norm, i.e. for a given basis that has $ \varepsilon $ as its shortest vector, $ \varepsilon \in Z^n $, find a short vector s.t. $ b \in Z^n, ||b||_2 &amp;lt; ||c^n \varepsilon||_2 $.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Has there been any work done to find short vectors based on other, potentially higher, norms?  Is this a meaningful question?&lt;/p&gt;&#xA;" OwnerUserId="834" LastEditorUserId="109" LastEditDate="2010-11-12T10:55:40.783" LastActivityDate="2011-04-16T10:56:57.950" Title="Other norms for Lattice reduction techniques (LLL, PSLQ)?" Tags="&lt;ds.algorithms&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="891" PostTypeId="1" AcceptedAnswerId="904" CreationDate="2010-09-03T01:22:05.190" Score="8" ViewCount="1736" Body="&lt;p&gt;I've started looking at incidence structures and combinatorial designs (possible motivation: to upper-bound some structures in generalized self-assembly), and the Wikipedia article makes the following interesting-yet-unexplained statement: block designs have application to software testing.  (The Wikipedia page with the claim is &lt;a href=&quot;http://en.wikipedia.org/wiki/Block_design&quot;&gt;here&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My google-fu doesn't pick up a good reference for this application.  Can anyone give me a lead?&lt;/p&gt;&#xA;" OwnerUserId="30" LastActivityDate="2013-10-28T16:38:15.533" Title="Reference Request: Application of Block Designs to Software Testing" Tags="&lt;reference-request&gt;" AnswerCount="3" CommentCount="0" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="892" PostTypeId="2" ParentId="796" CreationDate="2010-09-03T03:44:25.203" Score="8" Body="&lt;p&gt;Integer multiplication to fast Fourier transforms!&lt;/p&gt;&#xA;" OwnerUserId="111" LastActivityDate="2010-09-03T03:44:25.203" CommentCount="1" CommunityOwnedDate="2010-09-03T03:44:25.203" ContentLicense="CC BY-SA 2.5" />
  <row Id="893" PostTypeId="2" ParentId="885" CreationDate="2010-09-03T03:57:04.893" Score="8" Body="&lt;p&gt;All the sites are themselves grid points too, right? So I think it should work to compute the Delaunay triangulation of the sites in linear time using the word-model algorithm of Buchin and Mulzer (&lt;a href=&quot;http://dx.doi.org/10.1109/FOCS.2009.53&quot;&gt;FOCS 2009&lt;/a&gt;), dualize to get the Voronoi diagram, and then fill out the grid neighbors within each Voronoi cell. The Delaunay part should be linear in the number of sites (its bottleneck is integer sorting, but for the magnitude of the integers in your problem sorting is easily done in time linear in the grid size).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To fill out the grid points within a single Voronoi cell, partition the cell along the lines connecting the cell's site to its neighbors and then find the grid points within each of the resulting quadrilaterals. That way it requires only a constant number of comparisons to determine whether any particular grid point belongs to the quadrilateral. Some quadrilaterals may be empty of grid cells but the total number of quadrilaterals formed in this way is linear so there isn't too much wasted work in the empty ones.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2010-09-03T03:57:04.893" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="894" PostTypeId="1" AcceptedAnswerId="985" CreationDate="2010-09-03T05:53:13.387" Score="22" ViewCount="938" Body="&lt;p&gt;Here are some ways to analyze the running time of an algorithm:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) Worst-case analysis: Running time on the worst instance.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) Average-case analysis: Expected running time on a random instance.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;3) Amortized analysis: Average running time on the worst sequence of instances.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;4) Smoothed analysis: Expected running time on the worst randomly perturbed instance.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;5) Generic-case analysis: Running time on the worst of all but a small subset of instances.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question: Is this a complete list?&lt;/p&gt;&#xA;" OwnerUserId="835" LastEditorUserId="835" LastEditDate="2010-09-04T23:01:56.293" LastActivityDate="2013-10-15T19:08:56.790" Title="Other kinds of running time analysis besides worst-case, average-case, etc?" Tags="&lt;ds.algorithms&gt;" AnswerCount="8" CommentCount="1" FavoriteCount="7" ContentLicense="CC BY-SA 2.5" />
  <row Id="895" PostTypeId="2" ParentId="894" CreationDate="2010-09-03T06:09:53.620" Score="7" Body="&lt;p&gt;There's also &quot;&lt;b&gt;high probability&lt;/b&gt;&quot; analysis (for randomized algorithms), where for any given instance you worry about how well your algorithm will perform most of the time, but can completely give up a small fraction of the time.  This is common in learning theory. &lt;/p&gt;&#xA;" OwnerUserId="123" LastEditorUserId="123" LastEditDate="2010-09-03T15:05:05.003" LastActivityDate="2010-09-03T15:05:05.003" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="896" PostTypeId="2" ParentId="88" CreationDate="2010-09-03T07:23:00.730" Score="10" Body="&lt;p&gt;Disproofs of hypercomputation generally assume the validity of Bekenstein's bound, which asserts a particular limit on the amount of information that a finite amount of space can contain.  There is controversy over this bound, but I think most physicists accept it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If Bekenstein's bound is badly violated, and there is no bound on the amount of information contained in a particular region (say, a black hole, or an infinitely fine and robust engraving), and there are arbitrarily refinable mechanisms to examine the contents of that region (say, by carefully examining the radiation emitted as a carefully constructed object falls into the black hole, or by running a stylus over the grooves of the engraving), one can suppose that an artefact just happens to already exist that codes a halting oracle.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;All very unlikely, but it does show that the claim that hypercomputation is impossible is not a mathematical truth, but based in physics.  Which is to say that Andrej is right when he says &lt;em&gt;we can imagine what it would mean to disprove [the Church-Turing thesis]. Namely, if someone built a device which (reliably) computed a function that cannot be computed by any Turing machine&lt;/em&gt;.&lt;/p&gt;&#xA;" OwnerUserId="270" LastActivityDate="2010-09-03T07:23:00.730" CommentCount="6" ContentLicense="CC BY-SA 2.5" />
  <row Id="897" PostTypeId="2" ParentId="894" CreationDate="2010-09-03T08:45:54.737" Score="4" Body="&lt;p&gt;You can add randomness to your algorithm, and combine it with all of the above. Then you will get, e.g., worst-case expected running time (worst-case instance, but averaged over all possible sequences of random coin flips in the algorithm) and worst-case running time with high probability (again, worst-case instance, but probability over the random coin flips in the algorithm).&lt;/p&gt;&#xA;" OwnerUserId="74" LastActivityDate="2010-09-03T08:45:54.737" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="898" PostTypeId="2" ParentId="891" CreationDate="2010-09-03T08:56:23.953" Score="6" Body="&lt;p&gt;See &lt;a href=&quot;http://scholar.google.com/scholar?cluster=16591915454227907953&quot;&gt;Orthogonal Latin squares: an application of experiment design to compiler testing&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="236" LastActivityDate="2010-09-03T08:56:23.953" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="899" PostTypeId="1" CreationDate="2010-09-03T09:44:58.587" Score="12" ViewCount="3395" Body="&lt;p&gt;The concept of a &lt;a href=&quot;http://en.wikipedia.org/wiki/Secret_sharing&quot;&gt;secret sharing&lt;/a&gt; scheme is often attributed to Shamir (A. Shamir, &lt;a href=&quot;http://dx.doi.org/10.1145%2F359168.359176&quot;&gt;How to share a secret&lt;/a&gt;, Comm. ACM, 22 (1979), pp. 612-613.) and Blakey (G. R. Blakey, &lt;a href=&quot;http://doi.ieeecomputersociety.org/10.1109/AFIPS.1979.98&quot;&gt;Safeguarding cryptographic keys&lt;/a&gt;, in Proc. NCC, vol. 48, 1979, pp. 313-317.).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The overall idea is that some secret S is hidden from the participants who instead each receive a share s&lt;sub&gt;i&lt;/sub&gt;.  If every participant decides to cooperate, they each submit their share to a combiner, who reconstructs S from the shares s&lt;sub&gt;i&lt;/sub&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Papers on secret sharing schemes often refer to real-world applications (such as bank safes).  But I suspect, these are hypothetical &quot;real-world&quot; applications (i.e. the next floor down in the ivory tower) and very much doubt that they could actually name a bank (or any other company) that actually uses a secret sharing scheme.  Question:  What are some actual real-world examples?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Ideally, I would like an answer to contain:  At company X they use secret sharing scheme Y to safeguard Z (see ABC for more details).&lt;/p&gt;&#xA;" OwnerUserId="179" LastEditorUserId="186" LastEditDate="2010-12-19T23:56:34.270" LastActivityDate="2010-12-19T23:56:34.270" Title="What are some examples of secret sharing schemes actually being used in real-world applications?" Tags="&lt;cr.crypto-security&gt;&lt;application-of-theory&gt;" AnswerCount="3" CommentCount="2" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="900" PostTypeId="2" ParentId="894" CreationDate="2010-09-03T09:52:09.837" Score="14" Body="&lt;p&gt;I have two more for the list, which are somewhat similar.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Parameterized Analysis expresses the running time as a function of two values instead of one, using some additional information about the input measured in what's called the ``parameter''. As an example take the Independent Set problem. The best running time for the general case is of the form $O(c^n n^{O(1)})$ for some constant $1 &amp;lt; c &amp;lt; 2$. If we now take as parameter the treewidth of the graph and represent it by the parameter $k$, an Independent Set can be computed in $O(2^k n^{O(1)})$ time. Hence if the treewidth $k$ is small compared to the total size of the graph $n$, then this parameterized algorithm is much faster.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Output-sensitive analysis is a technique which is applied to construction problems, and also takes the size of the output into account in the run-time expression. A good example is the problem of determining the intersection points of a set of line segments in the plane. If I'm not mistaken you can compute the intersections in $O(n \log n + k)$ time where $k$ is the number of intersections.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="122" LastActivityDate="2010-09-03T09:52:09.837" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="901" PostTypeId="1" AcceptedAnswerId="1077" CreationDate="2010-09-03T10:01:24.630" Score="7" ViewCount="178" Body="&lt;p&gt;This context of this question is Rutten's &lt;em&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/F-coalgebra&quot; rel=&quot;nofollow&quot;&gt;Universal Coalgebra&lt;/a&gt;&lt;/em&gt;, used for modelling systems.&#xA;I'm interested in finding a description of a functor between different types of coalgebras&#xA;corresponding to finding a certain subcoalgebra.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An $F+1$-coalgebra $\langle S, \alpha: S\to F(S)+1\rangle$ can be thought of as&#xA;a system whose transition shape is given by functor $F$ plus the possibility of an error/termination,&#xA;given by the $+1$. Assume that $F$ is a so-called Kripke polynomial functor: $F::=Id ~|~ B ~|~ F+F ~|~ F\times F ~|~ F^ A ~|~ \mathcal{P}_\omega F$, thus it preserves pullbacks.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A &lt;em&gt;subcoalgebra&lt;/em&gt; of $\langle S, \alpha: S\to F(S)+1\rangle$ is coalgebra $\langle S', \alpha': S'\to F(S')+1\rangle$, where $S'\subseteq S$ and $\alpha'$ is $\alpha$ restricted to $S'$, such that its range falls withing $F(S')+1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I want to find the maximal subcoalgebra of this coalgebra which corresponds to an $F$-coalgebra. In terms of my application, this means I'm looking for the subset of states $S'\subseteq S$ that do not lead to the error state. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Clearly, I can take the pullback of the functions $\alpha: S\to F(S)+1$ and &#xA;$\mathit{inl}:F(S)\to F(S)+1$ to get a set $S_0\subseteq S$ which do not lead&#xA;to an error in the first step. Iterating this process for functors $F^i+1$ seems to lead to progressively smaller subsets $S_i$ of $S$ each avoiding the error state&#xA;for $i$ steps. What I'm lacking is a coherent description of the process.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is whether there is a more universal description of this construction in terms of limits or colimits, or at least, some known approaches to the problem?&lt;/p&gt;&#xA;" OwnerUserId="77" LastEditorUserId="77" LastEditDate="2010-09-08T08:45:43.183" LastActivityDate="2010-09-08T20:43:53.330" Title="Maximal subcoalgebras of an $F+1$-coalgebra corresponding to an $F$-coalgebra" Tags="&lt;ct.category-theory&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="902" PostTypeId="2" ParentId="899" CreationDate="2010-09-03T10:49:27.973" Score="5" Body="&lt;p&gt;(Almost) Every modern HSM (hardware secure module, for cryptographic applications) uses Shamir secret sharing. So, no, secret sharing use is wide spread.&lt;/p&gt;&#xA;" OwnerUserId="837" LastActivityDate="2010-09-03T10:49:27.973" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="903" PostTypeId="2" ParentId="894" CreationDate="2010-09-03T11:03:29.457" Score="1" Body="&lt;p&gt;&lt;strong&gt;Competitive analysis&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Used to compare online algorithms with the performance offline algorithms. See &lt;a href=&quot;http://en.wikipedia.org/wiki/Competitive_analysis_%28online_algorithm%29&quot; rel=&quot;nofollow&quot;&gt;wikipedia page&lt;/a&gt;. The List Update problem is a classic example.&lt;/p&gt;&#xA;" OwnerUserId="741" LastActivityDate="2010-09-03T11:03:29.457" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="904" PostTypeId="2" ParentId="891" CreationDate="2010-09-03T11:04:11.733" Score="8" Body="&lt;p&gt;Suppose you have some software which includes a list of n variables s&lt;sub&gt;1&lt;/sub&gt;,s&lt;sub&gt;2&lt;/sub&gt;,...,s&lt;sub&gt;n&lt;/sub&gt; and suppose each of these variables are able to take on a range of values.  Now suppose you want to test the program for 2-way interactions, that is, you want to test the program runs correctly for every pair of variables s&lt;sub&gt;i&lt;/sub&gt; and s&lt;sub&gt;j&lt;/sub&gt; and every possible value that these variables can take.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To do this by a brute-force -- by processing each pair i and j one-by-one, then testing each allowable value of s&lt;sub&gt;i&lt;/sub&gt; and s&lt;sub&gt;j&lt;/sub&gt; (while picking the others arbitrarily) -- would require testing a enormous number of cases.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But, we can test for several 2-way interactions in a single test.  For example, if we have three variables s&lt;sub&gt;1&lt;/sub&gt;, s&lt;sub&gt;2&lt;/sub&gt; and s&lt;sub&gt;3&lt;/sub&gt;, and we test when s&lt;sub&gt;1&lt;/sub&gt;=1, s&lt;sub&gt;2&lt;/sub&gt;=2 and s&lt;sub&gt;3&lt;/sub&gt;=0, then we have tested three possible 2-way interactions simultaneously.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We can design a test-suite for the program based on a &lt;a href=&quot;http://math.nist.gov/coveringarrays/coveringarray.html&quot;&gt;covering array&lt;/a&gt; -- the columns represent the variables and the rows represent the specific test to be performed (so fewer rows is better).  In a strength 2 covering array, within any two columns i and j, there exists every possible pair of the variables s&lt;sub&gt;i&lt;/sub&gt; and s&lt;sub&gt;j&lt;/sub&gt;.  There are higher strength covering arrays which can test for t-way interactions (but usually interactions are a result of only a few components).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Sets of mutually orthogonal Latin squares (and various other block designs) form particularly efficient covering arrays.&lt;/p&gt;&#xA;" OwnerUserId="179" LastActivityDate="2010-09-03T11:04:11.733" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="905" PostTypeId="2" ParentId="891" CreationDate="2010-09-03T11:09:40.527" Score="5" Body="&lt;p&gt;Check these references:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=536462&quot;&gt;Cohen, D.M.;   Dalal, S.R.;   Parelius, J.;   Patton, G.C., The combinatorial design approach to automatic test generation&lt;/a&gt;&#xA;&lt;a href=&quot;http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=536462&quot;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=605761&quot;&gt;Cohen, D.M.;   Dalal, S.R.;   Fredman, M.L.;   Patton, G.C.;, The AETG system: an approach to testing based on combinatorial design&lt;/a&gt;&#xA;&lt;a href=&quot;http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=605761&quot;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="495" LastActivityDate="2010-09-03T11:09:40.527" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="906" PostTypeId="1" AcceptedAnswerId="910" CreationDate="2010-09-03T12:01:04.940" Score="5" ViewCount="402" Body="&lt;p&gt;Sometimes, when using Google search, you don't immediately get quality results to your query. It is seems that PageRank algorithm gets distracted by widely used keywords that have different meanings and uses. Therefore, you need to spend extra time and possibly use different keywords to refine the search context.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there a good reference that addresses the PageRank algorithm's shortcomings? Is there a contextual search algorithm? &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2010-09-03T12:08:29.797" LastActivityDate="2010-09-03T17:49:07.633" Title="Reference for the shortcomings of Google's PageRank algorithm?" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;" AnswerCount="3" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="907" PostTypeId="2" ParentId="884" CreationDate="2010-09-03T12:43:37.767" Score="5" Body="&lt;p&gt;The earliest references I know to this type of problem are the following.  These are also referred to in the Cowen, Goddard and Jesurum paper I mentioned in the other thread.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Andrews and Jacobson. (1985) On a generalization of chromatic number. In Proc. 16th Southeastern International Conference on Combinatorics, Graph Theory and Computing (Boca Raton 1985), Congr. Numer. 47 33–48.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Cowen, Cowen and Woodall. (1986) Defective colorings of graphs in surfaces:&#xA;Partitions into subgraphs of bounded valency. J. Graph Theory 10 187–195.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Harary. (1985) Conditional colorability in graphs. In Graphs and Applications (Boulder 1982), Wiley–Interscience, pp. 127–136.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Harary, and Jones (nee Fraughnaugh). (1985) Conditional colorability II: Bipartite variations. In Proc. Sundance Conference on Combinatorics and Related Topics (Sundance 1985), Congr. Numer. 50 205–218.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;AFAIK, there isn't yet a paper giving the explicit P/NP-c dichotomy for various choices of H.  This has been done, though, by Hell and Nesetril, for another type of generalisation of the chromatic number, &quot;H-colourings&quot;, to homomorphisms.&lt;/p&gt;&#xA;" OwnerUserId="233" LastActivityDate="2010-09-03T12:43:37.767" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="908" PostTypeId="2" ParentId="844" CreationDate="2010-09-03T13:40:59.907" Score="10" Body="&lt;p&gt;During the last decade, there has been made significant progress in runtime analysis of evolutionary algorithms, ant colony optimisation, and other metaheuristics. For a survey, please refer to &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.65.8474&amp;amp;rep=rep1&amp;amp;type=pdf&quot;&gt;Oliveto et al. (2007)&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="839" LastActivityDate="2010-09-03T13:40:59.907" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="909" PostTypeId="2" ParentId="894" CreationDate="2010-09-03T14:52:24.140" Score="8" Body="&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;http://www.glencora.org/silent-glen-speaks/adaptive-analysis/&quot;&gt;Adaptive Analysis&lt;/a&gt;&lt;/strong&gt; measures the running time of polynomial time algorithms with respect to a multitude of parameters. For example, you want a sorting algorithm that runs in time $O(n \log n)$, but is much faster when the input is almost sorted. An adaptive analysis of a sorting algorithm would take into account the number of pairwise &lt;a href=&quot;http://en.wikipedia.org/wiki/Inversion_%28computer_science%29&quot;&gt;inversions&lt;/a&gt;, the number of runs, where a run is a maximal sorted consecutive part of the input, or the &lt;a href=&quot;http://en.wikipedia.org/wiki/Entropy_%28information_theory%29&quot;&gt;entropy&lt;/a&gt; of the input.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It looks like the Parameterized Analysis for polynomial-time algorithms, and it seems that the output-sensitive analysis fall in this category.&lt;/p&gt;&#xA;" OwnerUserId="72" LastEditorUserId="72" LastEditDate="2010-09-03T14:57:47.257" LastActivityDate="2010-09-03T14:57:47.257" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="910" PostTypeId="2" ParentId="906" CreationDate="2010-09-03T15:42:24.947" Score="12" Body="&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;to answer your specific question, there are many papers that discuss PageRank mathematically, such as:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Deeper Inside PageRank, (A. N. Langville and C.D. Meyer), Internet Mathematics (1), 335–400 (2004)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;and in each one you might find discussion of computational and operational issues (computing it faster, using memory more efficiently), but I don't know of any that stand out as addressing shortcomings of -results- specifically.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;to answer what you're getting at (&quot;why does google not give me what I want without trying?&quot;)&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;google search does not equal PageRank (though PR is a major part of it)&lt;/li&gt;&#xA;&lt;li&gt;PageRank itself doesn't address lexical ambiguity&lt;/li&gt;&#xA;&lt;li&gt;Google's additions try to address multiple meanings of words (different meanings under different contexts), and synonyms (other strings that mean the same thing); they're not perfect, but more and more they are being addressed.&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="497" LastEditorUserId="497" LastEditDate="2010-09-03T17:49:07.633" LastActivityDate="2010-09-03T17:49:07.633" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="911" PostTypeId="2" ParentId="906" CreationDate="2010-09-03T15:43:14.043" Score="1" Body="&lt;p&gt;Are you talking about semantic search ? In this case you could start from the wikipedia page &lt;a href=&quot;http://en.wikipedia.org/wiki/Semantic_search&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/Semantic_search&lt;/a&gt;. Also, a great ressource on the semantic web is the book A semantic web primer by Antoniou and Van Harmelen, but you can find a lot of related books with a google search.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, I am not sure wether this is a relevant question for here.&lt;/p&gt;&#xA;" OwnerUserId="76" LastActivityDate="2010-09-03T15:43:14.043" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="912" PostTypeId="1" AcceptedAnswerId="921" CreationDate="2010-09-03T15:49:00.290" Score="20" ViewCount="695" Body="&lt;p&gt;An &lt;a href=&quot;http://wwwhomes.uni-bielefeld.de/achim/addition_chain.html&quot;&gt;addition chain&lt;/a&gt; is a sequence of positive integers $(x_1, x_2, \dots, x_n)$ where $x_1 = 1$ and  each index $i\ge 2$, we have $x_i = x_j + x_k$ for some indices $1\le j,k &amp;lt; i$.  The &lt;em&gt;length&lt;/em&gt; of the addition chain is $n$; the &lt;em&gt;target&lt;/em&gt; of the addition chain is $x_n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is known about the complexity of the following problem: Given an integer $N$, what is the length of the shortest addition chain whose target is $N$?  Is it NP-hard?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Addition_chain&quot;&gt;Wikipedia&lt;/a&gt; points to a 1981 paper by Downey, Leong, and Sethi that proves the following related problem is NP-hard: Given a set of integers what is the minimum length of an addition chain that includes the entire set?  Several authors apparently claim that this paper proves the single-target problem is NP-hard, but it doesn't.&lt;/p&gt;&#xA;" OwnerUserId="111" LastEditorUserId="111" LastEditDate="2010-09-03T15:54:40.197" LastActivityDate="2010-09-07T07:34:45.653" Title="Is it hard to find optimal addition chains?" Tags="&lt;reference-request&gt;&lt;np-hardness&gt;" AnswerCount="3" CommentCount="2" FavoriteCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="913" PostTypeId="2" ParentId="885" CreationDate="2010-09-03T15:53:41.683" Score="3" Body="&lt;p&gt;This sounds like a perfect problem for a GPU.  For each site (a,b), render the paraboloid z^2 = (x-a)^2 + (y-b)^2 into an nxn Z-buffer.  At the end of the loop, the z-buffer contains the results you want.&lt;/p&gt;&#xA;" OwnerUserId="111" LastActivityDate="2010-09-03T15:53:41.683" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="914" PostTypeId="1" AcceptedAnswerId="915" CreationDate="2010-09-03T16:20:15.923" Score="6" ViewCount="603" Body="&lt;p&gt;This question most likely has a simple answer; however, I do not see it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $g:\mathbb{N} \rightarrow \mathbb{N}$ be an uncomputable function and $c$ a positive real number. Can there be a computable function $f : \mathbb{N} \rightarrow \mathbb{N}$ such that, for all $n$ large enough: $g(n) \leq f(n) \leq c \cdot g(n)$ (that is $f(n) = \Theta(g(n)$)?&lt;/p&gt;&#xA;" OwnerUserId="482" LastActivityDate="2010-09-05T02:13:50.063" Title="Computable function $f = \Theta(g)$ with $g$ uncomputable" Tags="&lt;computability&gt;" AnswerCount="2" CommentCount="6" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="915" PostTypeId="2" ParentId="914" CreationDate="2010-09-03T16:42:12.383" Score="24" Body="&lt;p&gt;Sure: just take g(n) = n + halt(n) (where halt(n)=1 if TM number n halts, and 0 ow).&lt;/p&gt;&#xA;" OwnerUserId="42" LastActivityDate="2010-09-03T16:42:12.383" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="917" PostTypeId="2" ParentId="914" CreationDate="2010-09-03T16:51:11.693" Score="9" Body="&lt;p&gt;It’s not clear to me whether you want a particular pair of functions &lt;em&gt;f&lt;/em&gt; and &lt;em&gt;g&lt;/em&gt; with the desired property, or if you’re asking if, for every uncomputable &lt;em&gt;g&lt;/em&gt;, there exists a computable &lt;em&gt;f&lt;/em&gt; &amp;isin; &amp;Theta;(&lt;em&gt;g&lt;/em&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the first case, Noam’s answer applies. Otherwise, the answer is no: just let &lt;em&gt;g&lt;/em&gt; be growing faster than every computable function (standard example: the &lt;a href=&quot;http://en.wikipedia.org/wiki/Busy_beaver&quot; rel=&quot;nofollow&quot;&gt;busy beaver function&lt;/a&gt;).&lt;/p&gt;&#xA;" OwnerUserId="182" LastEditorUserId="182" LastEditDate="2010-09-05T02:13:50.063" LastActivityDate="2010-09-05T02:13:50.063" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="919" PostTypeId="2" ParentId="906" CreationDate="2010-09-03T17:08:32.010" Score="1" Body="&lt;p&gt;There exists topical version of the PageRank and Hits, maybe this could be of interest for you:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Topical Link Analysis for Web Search : &lt;a href=&quot;http://www.cse.lehigh.edu/~brian/pubs/2006/SIGIR/&quot; rel=&quot;nofollow&quot;&gt;http://www.cse.lehigh.edu/~brian/pubs/2006/SIGIR/&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Topic-Sensitive PageRank : &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.110.1183&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;nofollow&quot;&gt;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.110.1183&amp;amp;rep=rep1&amp;amp;type=pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="76" LastActivityDate="2010-09-03T17:08:32.010" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="920" PostTypeId="7" CreationDate="2010-09-03T17:54:06.057" Score="0" Body="&lt;p&gt;&lt;strong&gt;Theoretical Computer Science - Stack Exchange&lt;/strong&gt; is for theoretical computer scientists and researchers in related fields.  We welcome &lt;em&gt;research-level&lt;/em&gt; questions in &lt;em&gt;theoretical computer science&lt;/em&gt; (TCS).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Although there is no black-and-white distinction between research-level questions and non-research-level questions, questions are considered to be &quot;research-level&quot; roughly when they can be discussed between two professors or between two graduate students working on Ph.D.'s, but not usually between a professor and a typical undergraduate student. It does not include questions at the level of difficulty of typical undergraduate course/textbook homework/exercise.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For an explanation of what TCS is, we refer you to the description of ACM Special Interest Group on Algorithms and Computation Theory (SIGACT):&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;TCS covers a wide variety of topics including algorithms, data structures, computational complexity, parallel and distributed computation, probabilistic computation, quantum computation, automata theory, information theory, cryptography, program semantics and verification, machine learning, computational biology, computational economics, computational geometry, and computational number theory and algebra.  &lt;strong&gt;Work in this field is often distinguished by its emphasis on mathematical technique and rigor.&lt;/strong&gt; &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;h2&gt;My question is not a research-level question in TCS, where can I ask it?&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;For questions other than research-level questions in TCS, you may want to consider the following places to ask:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;General Computer Science — &lt;a href=&quot;http://cs.stackexchange.com/&quot;&gt;Computer Science - Stack Exchange&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;General Mathematics (including &lt;em&gt;theoretical&lt;/em&gt; CS) — &lt;a href=&quot;http://math.stackexchange.com/&quot;&gt;Mathematics - Stack Exchange&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Research-level Mathematics — &lt;a href=&quot;http://mathoverflow.net/&quot; rel=&quot;nofollow&quot;&gt;Math Overflow&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Social and Professional Academic Issues — &lt;a href=&quot;http://academia.stackexchange.com/&quot;&gt;Academia - Stack Exchange&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Programming — &lt;a href=&quot;http://stackoverflow.com/&quot;&gt;Stack Overflow&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;General Artificial Intelligence — &lt;a href=&quot;http://metaoptimize.com/qa/&quot; rel=&quot;nofollow&quot;&gt;Meta Optimize&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Statistics and Data Mining — &lt;a href=&quot;http://stats.stackexchange.com/&quot;&gt;Cross Validated&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Applied Cryptography and Security — &lt;a href=&quot;http://crypto.stackexchange.com/&quot;&gt;Crypto - Stack Exchange&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Computation used in Science and Engineering — &lt;a href=&quot;http://scicomp.stackexchange.com/&quot;&gt;Computational Science - Stack Exchange&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Questions about this site — &lt;a href=&quot;http://meta.cstheory.stackexchange.com/&quot;&gt;Theoretical Computer Science - Stack Exchange - Meta&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Other — check the list of sites on &lt;a href=&quot;http://stackexchange.com/sites&quot;&gt;Stack Exchange Network&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;h2&gt;Questions should be based on knowledge sharing, not on shirking&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;You should only post questions you're actually seriously thinking about. Users are expected to do their part and try to answer their question by themselves before posting them on cstheory and asking for help from others. Search to see if your question is already answered somewhere else (e.g. Wikipedia) before asking a question. &lt;strong&gt;Try to make your question interesting for others by providing some background knowledge&lt;/strong&gt;. Remember, &lt;em&gt;questions should be based on knowledge sharing, not on shirking. Shirking goes against the spirit of the site.&lt;/em&gt; &lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Tips about writing better questions&lt;/h2&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://cstheory.stackexchange.com/questions/how-to-ask&quot;&gt;How to Ask?&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://meta.cstheory.stackexchange.com/questions/300/how-to-ask-a-good-question&quot;&gt;How to ask a good question?&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://mathoverflow.net/howtoask&quot; rel=&quot;nofollow&quot;&gt;How to write a good MathOverflow question?&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Please also check our list of &lt;a href=&quot;http://meta.cstheory.stackexchange.com/questions/225/official-faq-for-theoretical-computer-science/229#229&quot;&gt;&lt;strong&gt;useful resources&lt;/strong&gt;&lt;/a&gt; &lt;em&gt;before&lt;/em&gt; asking a question.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;FAQ&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;Currently we have two separate lists of FAQs.  See also the longer &lt;strong&gt;&lt;a href=&quot;http://meta.cstheory.stackexchange.com/questions/225/official-faq-for-theoretical-computer-science&quot;&gt;Official Theoretical Computer Science FAQ&lt;/a&gt;&lt;/strong&gt;.  Some of the most important entries in the other FAQ are:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://meta.cstheory.stackexchange.com/questions/225/official-faq-for-theoretical-computer-science/237#237&quot;&gt;How do I write &lt;strong&gt;formulas&lt;/strong&gt;?&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://meta.cstheory.stackexchange.com/questions/225/official-faq-for-theoretical-computer-science/235#235&quot;&gt;What kind of questions are &lt;strong&gt;too basic&lt;/strong&gt;?&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://meta.cstheory.stackexchange.com/questions/225/official-faq-for-theoretical-computer-science/361#361&quot;&gt;My (wonderful!) &lt;strong&gt;question got closed&lt;/strong&gt;!  What do I do now?&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://meta.cstheory.stackexchange.com/questions/225/official-faq-for-theoretical-computer-science/231#231&quot;&gt;What is the &lt;strong&gt;policy on crossposting&lt;/strong&gt; to/from MathOverflow?&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://meta.cstheory.stackexchange.com/questions/274/is-it-ok-to-ask-about-the-correctness-of-preprints-on-crank-friendly-topics/281#281&quot;&gt;Can I ask about this &lt;strong&gt;cool paper&lt;/strong&gt; that I just saw &lt;strong&gt;on the arxiv&lt;/strong&gt;?&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="-1" LastEditorUserId="186" LastEditDate="2012-07-27T04:01:30.407" LastActivityDate="2012-07-27T04:01:30.407" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="921" PostTypeId="2" ParentId="912" CreationDate="2010-09-03T18:13:36.293" Score="12" Body="&lt;p&gt;The problem is mentioned as being open in Eric Lehman's PhD thesis &quot;Approximation algorithms for grammar-based data compression&quot; in 2002. From p35 of the thesis:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&quot;Nevertheless, an exact solution to the addition chain problem remains strangely elusive. The M-ary method runs in time polylog(n) and gives a 1 + o(1) approximation. However, even if exponentially more time is allowed, poly(n), no exact algorithm is known.&quot; &lt;/p&gt;&#xA;" OwnerUserId="275" LastActivityDate="2010-09-03T18:13:36.293" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="922" PostTypeId="2" ParentId="885" CreationDate="2010-09-03T18:16:27.267" Score="2" Body="&lt;p&gt;First of all thanks David for the pointer.  I believe his citation&#xA;addresses the original formulation, but requires (1) a grid based on&#xA;integer (or linear-time sortable) coordinates, and (2) a way to take&#xA;the (non-gridded) Voronoi result and convert to the distance assignment&#xA;for the grid vertices.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I feel uneasy about that, and in parallel I've been working on the&#xA;approach I suggested at the end of my original question (it was more&#xA;of a thinking-out-loud).  It does solve the problem in linear time&#xA;(in the size of the grid), and does not require integer or linear-time&#xA;sortable coordinates, so I mark this as the answer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'll run this in two passes: a East-bound pass and a West-bound pass.&#xA;The coordinates are &lt;span class=&quot;math-container&quot;&gt;$x_1, x_2, \dots, x_N$&lt;/span&gt;, and &lt;span class=&quot;math-container&quot;&gt;$y_1, y_2, \dots, y_N$&lt;/span&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;WLOG in the East-bound pass, I'll process column by column but will&#xA;only look at obstacle vertices on or to the left of the column.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I maintain an array &lt;span class=&quot;math-container&quot;&gt;$A$&lt;/span&gt; of obstacle vertices of size &lt;span class=&quot;math-container&quot;&gt;$N$&lt;/span&gt;.  Suppose now I&#xA;am processing column &lt;span class=&quot;math-container&quot;&gt;$c$&lt;/span&gt; (&lt;span class=&quot;math-container&quot;&gt;$x = x_c$&lt;/span&gt;).  The &lt;span class=&quot;math-container&quot;&gt;$k$&lt;/span&gt;th element in &lt;span class=&quot;math-container&quot;&gt;$A$&lt;/span&gt; stores the obstacle vertex with the largest &lt;span class=&quot;math-container&quot;&gt;$x$&lt;/span&gt;-coordinate such that &lt;span class=&quot;math-container&quot;&gt;$y = y_k$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$x \le x_c$&lt;/span&gt;, or null if there is no such obstacle vertex.  Note that if there are multiple obstacle vertices with the same &lt;span class=&quot;math-container&quot;&gt;$y$&lt;/span&gt; coordinates, all but the East-most&#xA;one are guaranteed not to matter.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, I want to partition the vertical line &lt;span class=&quot;math-container&quot;&gt;$x = x_c$&lt;/span&gt; into ranges closest&#xA;to the same obstacle vertex.  Each partition &lt;span class=&quot;math-container&quot;&gt;$p_i$&lt;/span&gt; is associated with an&#xA;index &lt;span class=&quot;math-container&quot;&gt;$i$&lt;/span&gt; such that &lt;span class=&quot;math-container&quot;&gt;$A[i]$&lt;/span&gt; is the obstacle vertex closest to this&#xA;partition.  Similar to the argument behind Fortune's Voronoi&#xA;algorithm, it is easy to see that the &lt;span class=&quot;math-container&quot;&gt;$y_i$&lt;/span&gt;'s are strictly ordered.&#xA;Furthermore, the first and last non-null vertices in A (could be the same)&#xA;both have&#xA;their own associated ranges, since the first owns &lt;span class=&quot;math-container&quot;&gt;$[-\infty, \cdots]$&lt;/span&gt; and the&#xA;last owns &lt;span class=&quot;math-container&quot;&gt;$[\cdots, +\infty]$&lt;/span&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So we go through the array A and process all non-null vertices in order.&#xA;We use a stack to represent the current ranges and&#xA;process the vertices one by one.  The stack represents the&#xA;current partitioning of the line using all vertices considered so far.&#xA;Each vertex &lt;span class=&quot;math-container&quot;&gt;$v_i$&lt;/span&gt; in the stack owns a range &lt;span class=&quot;math-container&quot;&gt;$[LB_i, UB_i]$&lt;/span&gt;.  Initially, the&#xA;first vertex owns the range &lt;span class=&quot;math-container&quot;&gt;$[-\infty, +\infty]$&lt;/span&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let's say we consider the next vertex &lt;span class=&quot;math-container&quot;&gt;$v_j$&lt;/span&gt;, and the current top-of-stack&#xA;vertex is &lt;span class=&quot;math-container&quot;&gt;$v_k$&lt;/span&gt; (note that &lt;span class=&quot;math-container&quot;&gt;$v_k$&lt;/span&gt; has the range [LBk, +infinity]).  We compute&#xA;the bisector between &lt;span class=&quot;math-container&quot;&gt;$v_j$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$v_k$&lt;/span&gt;.  This bisector will intersect with the&#xA;line &lt;span class=&quot;math-container&quot;&gt;$x = x_c$&lt;/span&gt; at y (guaranteed to hit, because &lt;span class=&quot;math-container&quot;&gt;$v_j$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$v_k$&lt;/span&gt; have different y&#xA;coordinates).  If &lt;span class=&quot;math-container&quot;&gt;$y &amp;lt; LB_k$&lt;/span&gt;, we know&#xA;that &lt;span class=&quot;math-container&quot;&gt;$v_k$&lt;/span&gt; is subsumed by its neighbors -- meaning every point in the&#xA;line &lt;span class=&quot;math-container&quot;&gt;$x = x_c$&lt;/span&gt; is closer to some other vertices than &lt;span class=&quot;math-container&quot;&gt;$v_k$&lt;/span&gt;.  In this case, we&#xA;say &lt;span class=&quot;math-container&quot;&gt;$v_k$&lt;/span&gt; is &quot;subsumed&quot; and we simply remove &lt;span class=&quot;math-container&quot;&gt;$v_k$&lt;/span&gt; from the stack.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Once &lt;span class=&quot;math-container&quot;&gt;$v_k$&lt;/span&gt; is removed, we have to repeat this exercise, because it is possible that new top-of-stack&#xA;vertex can be proven to be subsumed.  We repeat this&#xA;until the top-of-stack vertex &lt;span class=&quot;math-container&quot;&gt;$v_k$&lt;/span&gt; is not &quot;subsumed&quot; (and we're guaranteed&#xA;to find such vertex, because the bottom-most vertex has a range&#xA;&lt;span class=&quot;math-container&quot;&gt;$[-\infty, \cdots]$&lt;/span&gt;), and we simply update the upper bound of the range of&#xA;&lt;span class=&quot;math-container&quot;&gt;$v_k$&lt;/span&gt; to y, and then push &lt;span class=&quot;math-container&quot;&gt;$v_j$&lt;/span&gt; onto the stack, with a range of &lt;span class=&quot;math-container&quot;&gt;$[y, +\infty]$&lt;/span&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The stack may grow and shrink, but the runtime is &lt;span class=&quot;math-container&quot;&gt;$O(N)$&lt;/span&gt; per column&#xA;by amortization.  At each point within the column processing, the stack&#xA;is guaranteed to not contain any &quot;subsumed&quot; vertices considering all the&#xA;vertices seen so far.  Therefore, at the end of the processing, no vertices&#xA;are subsumed (for the purist this may require a more rigorous proof&#xA;by contradiction).  Once the column is process, we simply revisit the&#xA;ranges on the stack and assign the distance accordingly.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Last but not least, I talked in terms of an &lt;span class=&quot;math-container&quot;&gt;$N\times N$&lt;/span&gt; grid.  The argument holds&#xA;just the same for an &lt;span class=&quot;math-container&quot;&gt;$M\times N$&lt;/span&gt; grid, namely there is an &lt;span class=&quot;math-container&quot;&gt;$O(M\times N)$&lt;/span&gt;-time algorithm to&#xA;compute the maximum clearance for each grid point.  Moreover, the grid can&#xA;also be non-uniform (in edge lengths).&lt;/p&gt;&#xA;" OwnerUserId="789" LastEditorDisplayName="user30448" LastEditDate="2019-01-25T00:20:21.520" LastActivityDate="2019-01-25T00:20:21.520" CommentCount="2" ContentLicense="CC BY-SA 4.0" />
  <row Id="923" PostTypeId="1" AcceptedAnswerId="929" CreationDate="2010-09-03T22:26:35.313" Score="19" ViewCount="8690" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;Which algorithms are used most often?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Please write a single algorithm per answer, try to keep your answer short (one or two lines).&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="80" LastEditDate="2010-09-03T22:30:35.187" LastActivityDate="2012-11-05T17:38:21.017" Title="Which algorithms are used most often in practice?" Tags="&lt;ds.algorithms&gt;&lt;big-list&gt;" AnswerCount="22" CommentCount="10" FavoriteCount="21" CommunityOwnedDate="2010-09-03T22:26:35.313" ContentLicense="CC BY-SA 2.5" />
  <row Id="924" PostTypeId="2" ParentId="923" CreationDate="2010-09-03T22:27:44.080" Score="3" Body="&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Depth-first_search&quot; rel=&quot;nofollow&quot;&gt;Depth First Search&lt;/a&gt; (DFS)&lt;/p&gt;&#xA;" OwnerUserId="186" LastActivityDate="2010-09-03T22:27:44.080" CommentCount="0" CommunityOwnedDate="2010-09-03T22:27:44.080" ContentLicense="CC BY-SA 2.5" />
  <row Id="925" PostTypeId="2" ParentId="923" CreationDate="2010-09-03T22:29:35.853" Score="7" Body="&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Binary_search_algorithm&quot;&gt;Binary Search&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="186" LastActivityDate="2010-09-03T22:29:35.853" CommentCount="0" CommunityOwnedDate="2010-09-03T22:29:35.853" ContentLicense="CC BY-SA 2.5" />
  <row Id="926" PostTypeId="2" ParentId="923" CreationDate="2010-09-03T22:30:18.873" Score="4" Body="&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/K-means_clustering&quot; rel=&quot;nofollow&quot;&gt;$k$-means.&lt;/a&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;More generally, you should look at the &lt;a href=&quot;http://awards.acm.org/kanellakis/&quot; rel=&quot;nofollow&quot;&gt;Kanellakis prize winners&lt;/a&gt; for ideas that have theoretical and practical heft. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2010-09-03T22:30:18.873" CommentCount="1" CommunityOwnedDate="2010-09-03T22:30:18.873" ContentLicense="CC BY-SA 2.5" />
  <row Id="927" PostTypeId="2" ParentId="923" CreationDate="2010-09-03T22:34:54.940" Score="8" Body="&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Quicksort&quot;&gt;Quicksort&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="186" LastActivityDate="2010-09-03T22:34:54.940" CommentCount="3" CommunityOwnedDate="2010-09-03T22:34:54.940" ContentLicense="CC BY-SA 2.5" />
  <row Id="928" PostTypeId="2" ParentId="923" CreationDate="2010-09-03T22:55:40.677" Score="2" Body="&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/SHA-1&quot; rel=&quot;nofollow&quot;&gt;SHA-1&lt;/a&gt; (and hash functions in general). Probably beat most other algorithms in terms of the number of executions.&lt;/p&gt;&#xA;" OwnerUserId="61" LastActivityDate="2010-09-03T22:55:40.677" CommentCount="0" CommunityOwnedDate="2010-09-03T22:55:40.677" ContentLicense="CC BY-SA 2.5" />
  <row Id="929" PostTypeId="2" ParentId="923" CreationDate="2010-09-03T23:07:35.120" Score="18" Body="&lt;p&gt;Is the Fast Fourier Transform the algorithmic problem solved most times per day by real computer systems?  It has to be close.  So I'd nominate the &lt;a href=&quot;http://en.wikipedia.org/wiki/Cooley%E2%80%93Tukey_FFT_algorithm&quot; rel=&quot;nofollow&quot;&gt;Cooley-Tukey FFT algorithm&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="30" LastActivityDate="2010-09-03T23:07:35.120" CommentCount="1" CommunityOwnedDate="2010-09-03T23:07:35.120" ContentLicense="CC BY-SA 2.5" />
  <row Id="930" PostTypeId="1" CreationDate="2010-09-03T23:10:14.510" Score="14" ViewCount="2051" Body="&lt;p&gt;Chernoff-type inequalities are used to show that the probability that a sum of independent random variables deviates significantly from its expected value is exponentially small in the expected value and the deviation. Is there a Chernoff-type inequality for any sum of &lt;strong&gt;pairwise independent&lt;/strong&gt; random variables? In other words, is there a result that shows the following: the probability that a sum of &lt;strong&gt;pairwise independent&lt;/strong&gt; random variables deviates from its expected value is exponentially small in the expected value and the deviation? &lt;/p&gt;&#xA;" OwnerUserId="827" LastEditorUserId="15" LastEditDate="2010-10-07T00:57:47.157" LastActivityDate="2010-10-07T00:57:47.157" Title="Chernoff-type Inequality for pair-wise independent random variables" Tags="&lt;derandomization&gt;&lt;pr.probability&gt;&lt;chernoff-bound&gt;" AnswerCount="3" CommentCount="0" FavoriteCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="931" PostTypeId="2" ParentId="930" CreationDate="2010-09-03T23:30:25.530" Score="11" Body="&lt;p&gt;There are all kinds of results of this kind in the &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0521884276&quot;&gt;Dubhashi-Panconesi book&lt;/a&gt;. One standard reference of this kind is the 1993 work by Schmidt, Siegel and Srinivasan titled (appropriately enough) &quot;&lt;a href=&quot;http://portal.acm.org/citation.cfm?id=313797&quot;&gt;Chernoff-Hoeffding bounds for applications with limited independence&lt;/a&gt;&quot;&lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2010-09-03T23:30:25.530" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="932" PostTypeId="2" ParentId="923" CreationDate="2010-09-03T23:32:13.577" Score="14" Body="&lt;p&gt;Multiplication.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Perhaps one of the oldest not-entirely-trivial algorithms, and a problem that is solved more often than FFT.&lt;/p&gt;&#xA;" OwnerUserId="74" LastActivityDate="2010-09-03T23:32:13.577" CommentCount="5" CommunityOwnedDate="2010-09-03T23:32:13.577" ContentLicense="CC BY-SA 2.5" />
  <row Id="933" PostTypeId="2" ParentId="930" CreationDate="2010-09-03T23:40:33.103" Score="18" Body="&lt;p&gt;Pairwise independence is not enough for a Chernoff-type bound on the expectation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This follows from the fact that there are $poly(n)$-size sample spaces on $n$ 0-1 random variables, where all the variables are pairwise independent, and each is variable is uniform (it is $1$ with probability $1/2$). So the expected value of their sum is $n/2$. But because there are only $poly(n)$ possible events in the sample space, even the probability that a sum is exactly a particular value $v$ is at least $1/poly(n)$ (hence, it can't be at most $1/exp(n)$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For a reference to this sample space construction, see pages 11-12 in &lt;a href=&quot;http://www.math.ias.edu/~avi/BOOKS/TCS003-1.ps&quot;&gt;this survey&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="225" LastEditorUserId="225" LastEditDate="2010-09-04T00:08:36.047" LastActivityDate="2010-09-04T00:08:36.047" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="934" PostTypeId="2" ParentId="923" CreationDate="2010-09-04T00:28:40.490" Score="13" Body="&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Dijkstra%27s_algorithm&quot; rel=&quot;nofollow&quot;&gt;Dijkstra&lt;/a&gt; and &lt;a href=&quot;http://en.wikipedia.org/wiki/Bellman%E2%80%93Ford_algorithm&quot; rel=&quot;nofollow&quot;&gt;Bellman-Ford&lt;/a&gt; shortest path algorithms. There are &lt;a href=&quot;http://www.potaroo.net/tools/asns/&quot; rel=&quot;nofollow&quot;&gt;at least&lt;/a&gt; 35,000 Autonomous Systems (AS) active on the Internet as of 2010. Each AS is running either a link-state routing protocol (Dijkstra) or a distance-vector routing protocol (Bellman-Ford). The routers within one AS typically update their tables periodically every few minutes, say 10. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thus, the number of Dijkstra &amp;amp; Bellman-Ford executions per day amounts to at least 5 million. And that's only from the routers. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;We have not counted shortest path computations from Google Maps and the likes which should easily account for 10 times as many. Half a billion executions a day is not far-fetched.&lt;/p&gt;&#xA;" OwnerUserId="61" LastActivityDate="2010-09-04T00:28:40.490" CommentCount="1" CommunityOwnedDate="2010-09-04T00:28:40.490" ContentLicense="CC BY-SA 2.5" />
  <row Id="935" PostTypeId="2" ParentId="923" CreationDate="2010-09-04T01:37:41.073" Score="3" Body="&lt;p&gt;It's hard to think of more widely used algorithms than those in modern implementations of &lt;a href=&quot;http://en.wikipedia.org/wiki/Transmission_Control_Protocol&quot; rel=&quot;nofollow&quot;&gt;TCP&lt;/a&gt;:  ie &lt;a href=&quot;http://en.wikipedia.org/wiki/TCP_congestion_avoidance_algorithm&quot; rel=&quot;nofollow&quot;&gt;congestion avoidance&lt;/a&gt;, &lt;a href=&quot;http://en.wikipedia.org/wiki/Fast_retransmit&quot; rel=&quot;nofollow&quot;&gt;fast retransmit&lt;/a&gt;.  Though that depends on how one determines what meets the criteria for an algorithm...&lt;/p&gt;&#xA;" OwnerUserId="123" LastActivityDate="2010-09-04T01:37:41.073" CommentCount="2" CommunityOwnedDate="2010-09-04T01:37:41.073" ContentLicense="CC BY-SA 2.5" />
  <row Id="936" PostTypeId="2" ParentId="923" CreationDate="2010-09-04T03:50:20.457" Score="0" Body="&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Dynamic_Programming&quot; rel=&quot;nofollow&quot;&gt;Dynamic Programming&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think DP is used &quot;more often&quot; than other algorithms cited in the survey so far.  I infer &quot;more often&quot; in the sense of how often a non-trivial algorithm concept was &lt;em&gt;implemented&lt;/em&gt; by programmer in real-life, rather than how many time a particular implementation of an algorithm in invoked.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;DP is versatile, and has many faces.  Sometimes I used it somewhat subconsciously and then realized later I was doing DP.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course, there are things that are even more common than Dynamic Program, but they are mostly data structure (array, linked list, hash).&lt;/p&gt;&#xA;" OwnerUserId="789" LastEditorUserId="789" LastEditDate="2010-09-04T04:10:19.007" LastActivityDate="2010-09-04T04:10:19.007" CommentCount="1" CommunityOwnedDate="2010-09-04T03:50:20.457" ContentLicense="CC BY-SA 2.5" />
  <row Id="937" PostTypeId="2" ParentId="923" CreationDate="2010-09-04T03:55:41.883" Score="4" Body="&lt;p&gt;Regular expression matching by conversion to finite automata - I believe grep functions along these lines.&lt;/p&gt;&#xA;" OwnerUserId="688" LastActivityDate="2010-09-04T03:55:41.883" CommentCount="0" CommunityOwnedDate="2010-09-04T03:55:41.883" ContentLicense="CC BY-SA 2.5" />
  <row Id="938" PostTypeId="2" ParentId="923" CreationDate="2010-09-04T03:59:23.403" Score="3" Body="&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Gaussian_elimination&quot; rel=&quot;nofollow&quot;&gt;Gaussian Elimination&lt;/a&gt; This is still used in practice right? If not replace with whatever is most frequently used to solve linear systems...&lt;/p&gt;&#xA;" OwnerUserId="847" LastActivityDate="2010-09-04T03:59:23.403" CommentCount="0" CommunityOwnedDate="2010-09-04T03:59:23.403" ContentLicense="CC BY-SA 2.5" />
  <row Id="939" PostTypeId="2" ParentId="923" CreationDate="2010-09-04T04:05:37.550" Score="5" Body="&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Simplex_algorithm&quot;&gt;Simplex Algorithm&lt;/a&gt; - isn't this still competitive with the best interior point methods? If so it has to be used a lot.&lt;/p&gt;&#xA;" OwnerUserId="847" LastActivityDate="2010-09-04T04:05:37.550" CommentCount="0" CommunityOwnedDate="2010-09-04T04:05:37.550" ContentLicense="CC BY-SA 2.5" />
  <row Id="940" PostTypeId="2" ParentId="857" CreationDate="2010-09-04T04:36:21.870" Score="9" Body="&lt;p&gt;All this hierarchy is intentionally robust under polynomial changes of the input size.  Any class in it can thus contains functions whose complexity is say n^{1000000000} which would be theoretically &quot;feasible&quot; but certainly not practically so.  These, however will most likely be very artificial problems.  In particular by a counting argument there exists a family of DNF formula (=AC^0 depth 2 circuits) of size n^1000000 which no algorithm whose running time is less than n^999999 can compute.  (In a uniform setting we expect something similar but can't prove it.)&lt;/p&gt;&#xA;" OwnerUserId="42" LastEditorUserId="42" LastEditDate="2010-09-04T04:45:01.463" LastActivityDate="2010-09-04T04:45:01.463" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="941" PostTypeId="2" ParentId="846" CreationDate="2010-09-04T05:46:05.910" Score="9" Body="&lt;pre&gt;&lt;code&gt;(* I post my answer as a Coq file. In it I show that supercoooldave's&#xA;   definition of a universal tree is not what he intended. His isUniv&#xA;   means &quot;the tree has an infinite branch&quot;. I provide the correct&#xA;   definition, show that the universal tree is universal according to&#xA;   the new definition, and I provide counter-examples to&#xA;   supercooldave's definition. I also point out that the universal&#xA;   tree of branching type A has an infinite path iff A is inhabited.&#xA;   *)&#xA;&#xA;Set Implicit Arguments.&#xA;&#xA;CoInductive Tree (A : Set): Set := Node : (A -&amp;gt; option (Tree A)) -&amp;gt; Tree A.&#xA;&#xA;Definition child (A : Set) (t : Tree A) (a : A) :=&#xA;  match t with&#xA;    Node f =&amp;gt; f a&#xA;  end.&#xA;&#xA;(* We consider two trees, one is the universal tree on A (always&#xA;   branches out fully), and the other is a binary tree which always&#xA;   branches to one side and not to the other, so it is like an&#xA;   infinite path with branches of length 1 shooting off at each node.  *)&#xA;&#xA;CoFixpoint Univ (A : Set) : Tree A := Node (fun _ =&amp;gt; Some (Univ A)).&#xA;&#xA;CoFixpoint Thread : Tree (bool) :=&#xA;  Node (fun (b : bool) =&amp;gt; if b then Some Thread else None).&#xA;&#xA;(* The original definition of supercooldave should be called &quot;has an&#xA;   infinite path&quot;, so we rename it to &quot;hasInfinitePath&quot;. *)&#xA;CoInductive hasInfinitePath (A : Set) : Tree A -&amp;gt; Prop :=&#xA;  haspath : forall (f : A -&amp;gt; option (Tree A)) (a : A) (t : Tree A),&#xA;    f a = Some t -&amp;gt;&#xA;    hasInfinitePath t -&amp;gt; &#xA;    hasInfinitePath (Node f).&#xA;&#xA;(* The correct definition of universal tree. *)&#xA;CoInductive isUniv (A : Set) : Tree A -&amp;gt; Prop :=&#xA;  isuniv : forall (f : A -&amp;gt; option (Tree A)),&#xA;    (forall  a, exists t, f a = Some t /\ isUniv t) -&amp;gt; &#xA;    isUniv (Node f).&#xA;&#xA;(* Technicalities that allow us to get coinductive proofs done. *)&#xA;Definition TT (A : Set) (t : Tree A) :=&#xA;  match t with&#xA;    | Node o =&amp;gt; Node o&#xA;  end.&#xA;&#xA;Lemma TTid (A : Set) : forall t: Tree A, t = TT t.&#xA;  intros A t.&#xA;  destruct t.&#xA;  reflexivity.&#xA;  Qed.&#xA;&#xA;(* Thread has an infinite path. *)&#xA;Lemma ThreadHasInfinitePath : hasInfinitePath Thread.&#xA;Proof.&#xA;  cofix H.&#xA;  rewrite TTid.&#xA;  unfold TT.&#xA;  unfold Thread.&#xA;  (* there is a path down the &quot;true&quot; branch leading to Thread. *)&#xA;  apply haspath with (a := true) (t := Thread).&#xA;  auto.&#xA;  auto.&#xA;Qed.&#xA;&#xA;(* Auxiliary lemma *)&#xA;Lemma univChildNotNone (A : Set) (t : Tree A) (a : A):&#xA;  isUniv t -&amp;gt; (child t a &amp;lt;&amp;gt; None).&#xA;Proof.&#xA;  intros A t a [f H].&#xA;  destruct (H a) as [u [G _]].&#xA;  unfold child.&#xA;  rewrite G.&#xA;  discriminate.&#xA;Qed.&#xA;&#xA;(* Thread is not universal. *)&#xA;Lemma ThreadNotUniversal: ~ (isUniv Thread).&#xA;Proof.&#xA;  unfold not.&#xA;  intro H.&#xA;  eapply univChildNotNone with (t := Thread) (a := false).&#xA;  auto.&#xA;  unfold Thread, child.&#xA;  auto.&#xA;Qed.&#xA;&#xA;(* Now let us show that Univ is universal. *)&#xA;Lemma univIsuniv (A : Set): isUniv (Univ A).&#xA;Proof.&#xA;  intro A.&#xA;  cofix H.&#xA;  rewrite TTid.&#xA;  unfold TT.&#xA;  unfold Univ.&#xA;  apply isuniv.&#xA;  intro a.&#xA;  exists (Univ A).&#xA;  auto.&#xA;Qed.&#xA;&#xA;(* By the way, it need not be the case that a universal tree has&#xA;   an infinite path! In fact, the universal tree of branching type&#xA;   A has an infinite path iff A is inhabited. *)&#xA;&#xA;Lemma whenUnivHasInfiniteBranch (A : Set):&#xA;  hasInfinitePath (Univ A) &amp;lt;-&amp;gt; exists a : A, True.&#xA;Proof.&#xA;  intro A.&#xA;  split.&#xA;  intro H.&#xA;  destruct H as [f a t _].&#xA;  exists a.&#xA;  trivial.&#xA;  intros [a _].&#xA;  cofix H.&#xA;  rewrite TTid.&#xA;  unfold TT.&#xA;  unfold Univ.&#xA;  apply haspath with (t := Univ A); auto.&#xA;Qed.&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;" OwnerUserId="705" LastEditorUserId="705" LastEditDate="2010-09-04T08:15:12.603" LastActivityDate="2010-09-04T08:15:12.603" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="942" PostTypeId="1" AcceptedAnswerId="1127" CreationDate="2010-09-04T08:06:15.163" Score="6" ViewCount="769" Body="&lt;p&gt;Given strongly connected tournament T.find a minimum number of vertices(V1) which make T\V1 as non strongly connected tournament.&#xA;I have doubt whether the problem mentioned can be solved in polynomial time,if so please give the idea&#xA;else please mention proof of NP-completeness &lt;/p&gt;&#xA;" OwnerUserId="851" LastEditorUserId="74" LastEditDate="2010-11-11T14:19:02.320" LastActivityDate="2010-11-11T14:19:02.320" Title="In Strongly connected tournament T.Is it NP-hard to find a minimum number of vertices(V1) which make T\V1 as non strongly connected tournament." Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;np-hardness&gt;&lt;max-flow-min-cut&gt;" AnswerCount="3" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="943" PostTypeId="1" CreationDate="2010-09-04T09:00:55.370" Score="1" ViewCount="547" Body="&lt;p&gt;How to solve the recurrence relation:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;T(n) = T(n - 1) + T(n / 2)+ n&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;by recursion tree to get an asymptotic upper bound?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The height is n, but how to generalize the sum at each levels?&lt;/p&gt;&#xA;" OwnerDisplayName="Fauzil Mohammed" LastEditorUserId="186" LastEditDate="2010-09-05T17:19:38.823" LastActivityDate="2010-09-05T17:19:38.823" Title="How to solve the recurrence relation" Tags="&lt;tag-removed&gt;" AnswerCount="0" CommentCount="6" ClosedDate="2010-09-04T15:13:37.547" ContentLicense="CC BY-SA 2.5" />
  <row Id="944" PostTypeId="1" AcceptedAnswerId="946" CreationDate="2010-09-04T09:20:47.877" Score="110" ViewCount="8533" Body="&lt;p&gt;I've been learning a few bits of category theory. It certainly is a different way of looking at things. (Very rough summary for those who haven't seen it: category theory gives ways of expressing all kinds of mathematical behavior solely in terms of functional relationships between objects. For example, things like the Cartesian product of two sets are defined completely in terms of how other functions behave with it, not in terms of what elements are members of the set.) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have some vague understanding that category theory is useful on the programming languages/logic (the &quot;Theory B&quot;) side, and am wondering how much algorithms and complexity (&quot;Theory A&quot;) could benefit. It might help me get off the ground though, if I know some solid applications of category theory in Theory B. (I am already implicitly assuming there are no applications in Theory A found so far, but if you have some of those, that's even better for me!) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;By &quot;solid application&quot;, I mean:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(1) The application depends so strongly on category theory that it's very difficult to achieve without using the machinery.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(2) The application invokes at least one non-trivial theorem of category theory (e.g. Yoneda's lemma).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It could well be that (1) implies (2), but I want to make sure these are &quot;real&quot; applications. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;While I do have some &quot;Theory B&quot; background, it's been a while, so any de-jargonizing would be much appreciated.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Depending on what kind of answers I get, I might turn this question into community wiki later. But I really want good applications with good explanations, so it seems a shame not to reward the answerer(s) with something.)&lt;/p&gt;&#xA;" OwnerUserId="225" LastActivityDate="2019-05-08T09:06:53.447" Title="Solid applications of category theory in TCS?" Tags="&lt;pl.programming-languages&gt;&lt;lo.logic&gt;&lt;ct.category-theory&gt;" AnswerCount="7" CommentCount="0" FavoriteCount="74" ContentLicense="CC BY-SA 2.5" />
  <row Id="946" PostTypeId="2" ParentId="944" CreationDate="2010-09-04T11:43:04.667" Score="82" Body="&lt;p&gt;I can think of one instance where category theory was directly &quot;applied&quot; to solve an open problem in programming languages: Thorsten Altenkirch, Peter Dybjer, Martin Hofmann, and Phil Scott, &lt;a href=&quot;http://www.cs.nott.ac.uk/~txa/publ/lics01.pdf&quot;&gt;&quot;Normalization by evaluation for typed lambda calculus with coproducts&quot;&lt;/a&gt;.  From their abstract: &quot;We solve the decision problem for simply typed lambda calculus with strong binary sums, equivalently the word problem for free cartesian closed categories with binary coproducts. Our method is based on the semantical technique known as 'normalization by evaluation' and involves inverting the interpretation of the syntax into a suitable sheaf model and from this extracting appropriate unique normal forms.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In general, though, I think that category theory is not usually applied to prove deep theorems in programming languages (of which there aren't so many), but instead offers a conceptual framework that is often useful (for example in the above, the idea of (pre)sheaf semantics).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An important historical example is Eugenio Moggi's suggestion that the notion of &lt;em&gt;monad&lt;/em&gt; (which is basic and ubiquitous in category theory) &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.79.733&quot;&gt;could be used as part of a semantic explanation of side effects in programming languages&lt;/a&gt; (e.g., state, nondeterminism).  This also inspired some reflection on the &lt;em&gt;syntax&lt;/em&gt; of programming languages, for example leading directly to the &lt;a href=&quot;http://www.haskell.org/tutorial/monads.html&quot;&gt;&quot;Monad typeclass&quot;&lt;/a&gt; in Haskell (used to encapsulate effects).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More recently (the past decade), this explanation of effects in terms of monads has been revisited from the point of view of the old connection (established by category theorists, in the 60s) between monads and algebraic theories: see Martin Hyland and John Power's, &lt;a href=&quot;http://www.dpmms.cam.ac.uk/~martin/Research/Publications/2007/hp07.pdf&quot;&gt;&quot;The Category Theoretic Understanding of Universal Algebra: Lawvere Theories and Monads&quot;&lt;/a&gt;.  The idea is that the monadic view of effects is compatible with the (in some ways more appealing) algebraic view of effects, wherein effects (e.g., store) can be explained in terms of operations (e.g., &quot;lookup&quot; and &quot;update&quot;) and associated equations (e.g., idempotency of update).  There is a recent paper building on this connection by Paul-André Melliès, &lt;a href=&quot;http://www.pps.jussieu.fr/~mellies/papers/segal-lics-2010.pdf&quot;&gt;&quot;Segal condition meets computational effects&quot;&lt;/a&gt;, which also relies heavily on ideas coming from &lt;a href=&quot;http://ncatlab.org/nlab/show/HomePage&quot;&gt;&quot;higher category theory&quot;&lt;/a&gt; (for example the notion of &quot;Yoneda structure&quot; as a way of organizing presheaf semantics).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another, related class of examples comes from &lt;a href=&quot;http://en.wikipedia.org/wiki/Linear_logic&quot;&gt;linear logic&lt;/a&gt;.  Soon after its introduction by Jean-Yves Girard in the 80s (with an aim of a better understanding of constructive logic), solid connections to category theory were established.  For some explanation of this connection, see John Baez and Mike Stay's, &lt;a href=&quot;http://math.ucr.edu/home/baez/rosetta.pdf&quot;&gt;&quot;Physics, Topology, Logic and Computation: A Rosetta Stone&quot;&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, this answer would be incomplete without reference to sigfpe's illuminating blog &lt;a href=&quot;http://blog.sigfpe.com/&quot;&gt;&quot;A Neighborhood of infinity&quot;&lt;/a&gt;.  In particular you could check out &lt;a href=&quot;http://blog.sigfpe.com/2010/03/partial-ordering-of-some-category.html&quot;&gt;&quot;A Partial Ordering of some Category Theory applied to Haskell&quot;&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="674" LastEditorUserId="674" LastEditDate="2010-09-05T10:13:26.687" LastActivityDate="2010-09-05T10:13:26.687" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="947" PostTypeId="2" ParentId="944" CreationDate="2010-09-04T11:57:18.150" Score="50" Body="&lt;h3&gt;Quantum Computation&lt;/h3&gt;&#xA;&lt;p&gt;One very interesting area is the application of various monoidal categories to quantum computation. Some could argue that this is also physics, but the work is done by people in computer science departments. An early paper in this area is &lt;a href=&quot;http://arxiv.org/pdf/quant-ph/0402130&quot; rel=&quot;noreferrer&quot;&gt;&lt;em&gt;A categorical semantics of quantum protocols&lt;/em&gt;&lt;/a&gt; by Samson Abramsky and Bob Coecke; many recent papers by &lt;a href=&quot;http://www.comlab.ox.ac.uk/people/samson.abramsky/&quot; rel=&quot;noreferrer&quot;&gt;Abramsky&lt;/a&gt; and &lt;a href=&quot;http://www.comlab.ox.ac.uk/bob.coecke/&quot; rel=&quot;noreferrer&quot;&gt;Coecke&lt;/a&gt; and others continue work in this direction.&lt;/p&gt;&#xA;&lt;p&gt;In this body of work the quantum protocols are axiomatised as (certain kinds of) compact closed categories. Such categories have a beautiful graphical language in terms of string (and ribbon) diagrams. Equations in the category correspond to certain movements of the strings, such as straightening a tangled but not knotted string, which in turn correspond to something meaningful in quantum mechanics, such as a quantum teleportation.&lt;/p&gt;&#xA;&lt;p&gt;The categorical approach offers a high level, logical view on what typically involves very low level calculations.&lt;/p&gt;&#xA;&lt;h3&gt;Theory of Systems&lt;/h3&gt;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.cwi.nl/%7Ejanr/papers/files-of-papers/universal_coalgebra.pdf&quot; rel=&quot;noreferrer&quot;&gt;Coalgebra&lt;/a&gt; has been used as a general framework to model systems (streams, automata, transition systems, probabilistic systems).&#xA;Its theory is rooted in category theory, being based on the notion of &lt;a href=&quot;http://en.wikipedia.org/wiki/F-coalgebra&quot; rel=&quot;noreferrer&quot;&gt;&lt;span class=&quot;math-container&quot;&gt;$F$&lt;/span&gt;-coalgebra&lt;/a&gt;, where&#xA;&lt;span class=&quot;math-container&quot;&gt;$F$&lt;/span&gt; is a functor that describes the structure of the transition system. Thus,&#xA;the kind of system changes with the underlying functor, but much of the theory, such&#xA;as the notion of bisimulation, is applicable for all functors.&#xA;Category theory also enables the &lt;a href=&quot;http://eprints.ecs.soton.ac.uk/12612/&quot; rel=&quot;noreferrer&quot;&gt;modular construction of modal logics&lt;/a&gt;&#xA;for reasoning about systems described as coalgebras.&lt;/p&gt;&#xA;&lt;h3&gt;Graph Transformations&lt;/h3&gt;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.amazon.co.uk/Fundamentals-Algebraic-Transformation-Monographs-Theoretical/dp/3540311874/ref=sr_1_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1283624433&amp;amp;sr=8-1&quot; rel=&quot;noreferrer&quot;&gt;Graph transformations&lt;/a&gt; can be expressed quite nicely in the language of category theory.&#xA;This has found application, for example, in model transformation (as in UML models)&#xA;and other visual modelling formalisms. The approach takes place in the category of&#xA;graphs and graph homomorphisms. Firstly, a &lt;em&gt;pushout&lt;/em&gt; can be seen as a gluing construction:&#xA;Given two graphs &lt;span class=&quot;math-container&quot;&gt;$G_1,G_2$&lt;/span&gt;. A graph &lt;span class=&quot;math-container&quot;&gt;$P$&lt;/span&gt; and two morphisms &lt;span class=&quot;math-container&quot;&gt;$e_1:P\to G_1$&lt;/span&gt; and&#xA;&lt;span class=&quot;math-container&quot;&gt;$e_2:P\to G_2$&lt;/span&gt; denote the parts the two graphs have in common. The pushout unifies these&#xA;parts, adding in the remaining parts of &lt;span class=&quot;math-container&quot;&gt;$G_1$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$G_2$&lt;/span&gt;, in effect, gluing &lt;span class=&quot;math-container&quot;&gt;$G_1$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$G_2$&lt;/span&gt;&#xA;together along &lt;span class=&quot;math-container&quot;&gt;$P$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;p&gt;A &lt;em&gt;double pushout&lt;/em&gt; is used to describe a graph transformation.&#xA;The rule is represented by a tuple  &lt;span class=&quot;math-container&quot;&gt;$(L, K, R)$&lt;/span&gt;, where &lt;span class=&quot;math-container&quot;&gt;$L$&lt;/span&gt; denotes the precondition of the&#xA;rule, &lt;span class=&quot;math-container&quot;&gt;$R$&lt;/span&gt; denotes the post condition of the rule, and &lt;span class=&quot;math-container&quot;&gt;$K$&lt;/span&gt; denotes the part of the&#xA;graph to apply the rule to. There are maps from &lt;span class=&quot;math-container&quot;&gt;$l:K\to L$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$r:K\to R$&lt;/span&gt;, one&#xA;of which will be used to match a part of the original graph, the other to create&#xA;the resulting graph. &lt;span class=&quot;math-container&quot;&gt;$L\setminus K$&lt;/span&gt; describes the part of the graph to be&#xA;deleted. &lt;span class=&quot;math-container&quot;&gt;$R\setminus K$&lt;/span&gt; describes the the part to be created. A map &lt;span class=&quot;math-container&quot;&gt;$d$&lt;/span&gt; from &lt;span class=&quot;math-container&quot;&gt;$K$&lt;/span&gt;&#xA;into a &lt;em&gt;context&lt;/em&gt; graph &lt;span class=&quot;math-container&quot;&gt;$D$&lt;/span&gt; needs to be provided, and the pushout of &lt;span class=&quot;math-container&quot;&gt;$d$&lt;/span&gt;  and the&#xA;map &lt;span class=&quot;math-container&quot;&gt;$l$&lt;/span&gt; needs to equal the graph of interest &lt;span class=&quot;math-container&quot;&gt;$G$&lt;/span&gt;.  The pushout of &lt;span class=&quot;math-container&quot;&gt;$d$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$k$&lt;/span&gt;&#xA;then gives the result of performing the transformation.&lt;/p&gt;&#xA;&lt;h3&gt;Programming Languages (via MathOverflow)&lt;/h3&gt;&#xA;&lt;p&gt;There have been plenty of applications of category theory in the design of programming&#xA;languages and programming language theory. Extensive answers can be found on MathOverflow. &lt;a href=&quot;https://mathoverflow.net/questions/3721/programming-languages-based-on-category-theory&quot;&gt;https://mathoverflow.net/questions/3721/programming-languages-based-on-category-theory&lt;/a&gt;)&#xA;&lt;a href=&quot;https://mathoverflow.net/questions/4235/relating-category-theory-to-programming-language-theory&quot;&gt;https://mathoverflow.net/questions/4235/relating-category-theory-to-programming-language-theory&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;h3&gt;Bigraphs -- Process Calculi&lt;/h3&gt;&#xA;&lt;p&gt;Finally, there's Milner's &lt;a href=&quot;http://www.amazon.co.uk/Space-Motion-Communicating-Agents/dp/0521738334/ref=sr_1_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1283624498&amp;amp;sr=8-1&quot; rel=&quot;noreferrer&quot;&gt;bigraphs&lt;/a&gt;, a general framework for describing and reasoning about&#xA;systems of interacting agents. It can be seen as a general framework for reasoning about&#xA;process algebras and their structural and behavioural theories. The approach is also based on&#xA;pushouts.&lt;/p&gt;&#xA;" OwnerUserId="77" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2013-04-02T05:02:59.277" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="948" PostTypeId="1" AcceptedAnswerId="957" CreationDate="2010-09-04T12:00:32.580" Score="32" ViewCount="1469" Body="&lt;p&gt;In this guest post by &lt;a href=&quot;http://blog.computationalcomplexity.org/2010/07/gct-workshop-guest-post-by-josh-grochow.html&quot;&gt;Josh Grochow&lt;/a&gt; at the complexity weblog he reports on a recent workshop devoted to GCT that was held at Princeton in July. &#xA;Several of the attendees argued that we should use GCT to attack easier problems than $\mathsf{P}$ vs. $\mathsf{NP}$ in order to build intuition and see if the method has potential.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The question that has been bugging me: &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is it possible to use GCT to show &lt;strong&gt;known&lt;/strong&gt; separations like $\mathsf{P} \neq \mathsf{EXP}$ or $\mathsf{L} \neq \mathsf{PSPACE}$? &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Does something like $\mathsf{L} \neq \mathsf{PSPACE}$  &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Not even make sense in the GCT context, or  &lt;/li&gt;&#xA;&lt;li&gt;Is utterly trivial and uninteresting in GCT framework, or  &lt;/li&gt;&#xA;&lt;li&gt;Lead to conjectures just as hard as $\mathsf{P}$ vs. $\mathsf{NP}$  ?&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="847" LastEditorUserId="-1" LastEditDate="2013-04-05T05:58:57.897" LastActivityDate="2013-04-25T03:32:06.113" Title="How difficult is it to use the Mulmuley-Sohoni GCT approach to show *known* complexity separations?" Tags="&lt;cc.complexity-theory&gt;&lt;gct&gt;" AnswerCount="2" CommentCount="3" FavoriteCount="11" ContentLicense="CC BY-SA 3.0" />
  <row Id="949" PostTypeId="2" ParentId="942" CreationDate="2010-09-04T13:26:53.983" Score="3" Body="&lt;p&gt;What I've written below is wrong. See Andras's response for a correct answer. I'm leaving this post up in the hopes its errors are instructive for others as they were for me.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;I'm not an expert in graph theory, but I'll give it a shot (so please read this with your critical glasses on).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;IIRC, a strongly connected tournament is a set of vertices such that for any pair of vertices $p$ and $q$, there is a path from $p$ to $q$. Thus to make a strongly connected tournament a non-strongly connected tournament (i.e. a decisive tournament), you need to cut the graph (i.e., remove a subset of edges s.t. you remove all paths from at least one $p$ to one $q$). Obviously there are many ways to cut the graph, but you want to choose the one that corresponds to the minimum number of vertices removed.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let all edges have capacity $1$. Consider any two vertices $p_0$ and $q_0$, you can separate all paths between them by finding the max flow (which corresponds to min cut). Then, choose the set of vertices adjacent to the cut that is minimal (there are $O(|V|)$ of them); this is guaranteed to remove the edges of the min cut for $p_0$ and $q_0$. For $p_0$ and $q_0$, this is the $V1$ you were looking for.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, loop over all pairs of vertices (there are $|V|^2$ many of them) proceeding as above, to produce a set of candidate-$V1$ sets. Out of the $|V|^2$ candidate-$V1$ sets, choose the smallest, and output.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Naive runtime: $O(|V|^2 \cdot |V| \cdot MF)$ where $MF$ is the runtime of any max-flow algorithm, e.g. Ford-Fulkerson.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Again, I don't spend a lot of time thinking about problems like this, so it would be very good for someone to try to poke holes in it.&lt;/p&gt;&#xA;" OwnerUserId="108" LastEditorUserId="108" LastEditDate="2010-09-05T00:13:23.023" LastActivityDate="2010-09-05T00:13:23.023" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="950" PostTypeId="2" ParentId="844" CreationDate="2010-09-04T13:51:29.927" Score="13" Body="&lt;p&gt;Have a look at &lt;a href=&quot;http://www.mpi-inf.mpg.de/~doerr/publications.html&quot;&gt;the work of Benjamin Doerr&lt;/a&gt; from the Algorithms group at Max Planck (MPI). It is all about trying to make provable contributions to evolutionary algorithms.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In particular, Doerr has co-edited a relevant recent book, &lt;a href=&quot;http://www.worldscibooks.com/compsci/7438.html&quot;&gt;Theory of Randomized Search Heuristics&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="862" LastEditorUserId="77" LastEditDate="2011-05-09T07:35:59.890" LastActivityDate="2011-05-09T07:35:59.890" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="951" PostTypeId="2" ParentId="944" CreationDate="2010-09-04T14:10:48.080" Score="36" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;I am already implicitly assuming there are no applications in Theory A found so far, but if you have some of those, that's even better for me!&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;My understanding is that Joyal's theory of species is used relatively widely in enumerative combinatorics, as a generalization of generating functions which additionally tell you how to permute things in addition to how many there are.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Pippenger has applied Stone duality to relate regular languages and varieties of semigroups.  Jeandel has introduced topological automata apply these ideas to give unified accounts (and proofs!) for quantum, probabilistic, and ordinary automata.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Roland Backhouse has given abstract characterizations of greedy algorithms by means of Galois connections with the tropical semiring. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;In a much more speculative vein, Noam mentioned sheaf models. These abstractly characterize the syntactic technique of logical relations, which is probably one of the most powerful techniques in semantics. We mostly use them to prove inexpressibility and consistency results, but it should be interesting for complexity theorists since it is a nice example of a practical non-natural (in the sense of Razborov/Rudich) proof technique. (However, logical relations are usually very carefully designed to &lt;em&gt;guarantee&lt;/em&gt; that they relativize -- as language designers, we want to be able to assure programmers that function calls are black boxes!)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT: I'll continue speculating, at Ryan's request. As I understand it, a natural proof is roughly one along the lines of trying to define an inductive invariant of the structure of a circuit, subject to various sensible conditions. Similar ideas are (unsurprisingly) pretty common in programming languages as well, when you try to define invariant maintained inductively by a lambda-calculus term (for instance, to prove type safety). 1&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, this technique often breaks down at higher (ie, function) types. For example, the simply-typed lambda calculus is total -- every program written in it terminates. However, straightforward attempts to prove this tend to founder on the problem of first-class functions: it's not enough to prove that every term of type $A \to B$ terminates. Since we can additionally apply arguments to functions, we not only need to ensure that every term of type $A \to B$ halts, we also need to ensure that this property holds &quot;hereditarily&quot; -- we also need to know that given any term of type $A$, the application will also halt. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is what logical relations do. Instead of defining a single inductive invariant, we define a whole family of predicates by recursion over the structure of (typically) the type. Then, we prove that every definable term lies in the appropriate predicate, which lets us establish what we sought. So for termination, we would say that good values of base type are the values of base type, and the good values of type $A \to B$ are the values of this type which, given a good value of $A$, evaluates to a good value of $B$. Note that there is no single inductive invariant -- we define a whole family of invariants by recursion over the structure of the input, and use other means to show that all terms lie within these invariants. Proof-theoretically, this is a vastly stronger technique, and is why it lets you prove consistency results.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The connection to sheaves arises from the fact that we often need to reason about open terms (ie, terms with free variables), and so need to distinguish between getting stuck due to errors and getting stuck due to needing to reduce a variable. Sheaves arise from considering the reductions of the lambda calculus as defining the morphisms of a category whose terms are the objects (ie, the partial order induced by reduction), and then considering the functors from this category into sets (ie, predicates). Jean Gallier wrote some nice papers about this in the early 2000s, but I doubt they are readable unless you have already assimilated a fair amount of lambda calculus.&lt;/p&gt;&#xA;" OwnerUserId="657" LastEditorUserId="657" LastEditDate="2010-09-04T22:42:17.337" LastActivityDate="2010-09-04T22:42:17.337" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="952" PostTypeId="2" ParentId="45" CreationDate="2010-09-04T14:21:18.353" Score="20" Body="&lt;p&gt;For a VERY high level view I really liked Tim Gower's blog post from a few days ago:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://gowers.wordpress.com/2010/08/30/icm2010-avila-dinur-plenary-lectures/&quot;&gt;http://gowers.wordpress.com/2010/08/30/icm2010-avila-dinur-plenary-lectures/&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Really helped me &quot;get&quot; the connection to error correcting codes and to inapproximability.&lt;/p&gt;&#xA;" OwnerUserId="847" LastActivityDate="2010-09-04T14:21:18.353" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="953" PostTypeId="1" AcceptedAnswerId="1031" CreationDate="2010-09-04T14:48:14.723" Score="8" ViewCount="2021" Body="&lt;p&gt;Suppose you have $n$ males and $n$ females. Each person has $m$ attributes. Each person indicates a set of attributes that a possible candidate should have. A matching is a set of pairs. Each pair binds one male to one female. The satisfaction of a matching is number of attributes satisfied for the least lucky person.   &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is finding a matching with maximum satisfaction efficiently solvable or is it $NP$-hard? &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="495" LastActivityDate="2010-09-07T13:31:30.673" Title="Complexity of marriage matching problem?" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;&lt;matching&gt;" AnswerCount="4" CommentCount="1" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="954" PostTypeId="2" ParentId="953" CreationDate="2010-09-04T15:59:31.840" Score="3" Body="&lt;p&gt;As Tsuyoshi points out in a comment below, there is no reason why a solution to the problem has to be a stable matching. So, the approach of this answer does probably not work; especially since I believe that Tomer's answer is correct.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;It seems that your version of the Marriage problem is equivalent to the Minimum regret Stable Marriage problem with Ties, where everybody ranks the members of the other sex with possible ties, and the goal is to maximize the minimum &quot;happiness&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is shown in [1] that Minimum regret Stable Marriage problem with Ties is not approximable within $N^{1-\epsilon}$, for any $\epsilon &gt; 0$, unless P=NP, where $N$ is the number of men in a given instance of the problem,&#xA;even if the ties are on one side only, there is at most one tie per list, and each tie is of&#xA;length 2.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1]: David Manlove, Robert W. Irving, Kazuo Iwama, Shuichi Miyazaki, Yasufumi Morita: Hard variants of stable marriage. Theor. Comput. Sci. 276(1-2): 261-279 (2002). &lt;a href=&quot;http://eprints.gla.ac.uk/15/&quot; rel=&quot;nofollow&quot;&gt;Postprint&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="72" LastEditorUserId="72" LastEditDate="2010-09-05T02:06:12.670" LastActivityDate="2010-09-05T02:06:12.670" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="955" PostTypeId="1" AcceptedAnswerId="960" CreationDate="2010-09-04T16:03:11.957" Score="8" ViewCount="375" Body="&lt;p&gt;Parametrized maximum independent clauses problem:&lt;br&gt;&#xA;Input : A r-CNFSAT formula F having &lt;strong&gt;n&lt;/strong&gt; variables and &lt;strong&gt;m&lt;/strong&gt; clauses, &lt;strong&gt;k&lt;/strong&gt;&lt;br&gt;&#xA;Ques  : Does there exists at least &lt;strong&gt;k&lt;/strong&gt; clauses such that they are mutually independent i.e. no variable occurs more than once in all these clauses combined.&lt;br&gt;&#xA;Parameter : &lt;strong&gt;k&lt;/strong&gt;&lt;br&gt;&#xA;I would like to know whether this problem is in FPT or not. In both situations, an idea to proceed forward will be appreciated. &lt;/p&gt;&#xA;" OwnerUserId="864" LastEditorUserId="1800" LastEditDate="2011-02-14T08:09:18.663" LastActivityDate="2011-02-14T08:09:18.663" Title="Is parametrized maximum independent clauses problem in FPT?" Tags="&lt;cc.complexity-theory&gt;&lt;parameterized-complexity&gt;&lt;fixed-parameter-tractable&gt;" AnswerCount="3" CommentCount="8" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="956" PostTypeId="2" ParentId="942" CreationDate="2010-09-04T16:24:08.833" Score="5" Body="&lt;p&gt;Here is a partial answer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A quick recap from Wikipedia: a &lt;a href=&quot;http://en.wikipedia.org/wiki/Tournament_%28graph_theory%29&quot; rel=&quot;nofollow&quot;&gt;tournament&lt;/a&gt; has exactly one directed edge between every pair of distinct vertices.  Every tournament has a Hamiltonian path, by a simple inductive argument due to Rédei.  A strongly connected tournament must then have a Hamiltonian cycle (this is apparently due to Camion).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So a tournament that is not strongly connected is one that does not have a Hamiltonian cycle, yet it has a Hamiltonian path.  This means that one is looking for a minimum directed vertex cut; any two vertices s and t can be taken as the source and sink (with the final answer being the lesser of the minimum s-t cut and the minimum t-s cut).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Minimum directed vertex cut with two terminals is NP-hard for general directed graphs, even for unit edge weights, but can be 2-approximated efficiently via linear programming (see Theorems 5 and 8 of Naor and Zosin, &lt;a href=&quot;http://dx.doi.org/10.1137/S009753979732147X&quot; rel=&quot;nofollow&quot;&gt;&lt;em&gt;A 2-approximation algorithm for the directed multiway cut problem&lt;/em&gt;&lt;/a&gt;, SIAM J. Comput. &lt;strong&gt;31&lt;/strong&gt; 477–482).  Note that the &lt;a href=&quot;http://en.wikipedia.org/wiki/Max-flow_min-cut_theorem&quot; rel=&quot;nofollow&quot;&gt;max-flow min-cut theorem&lt;/a&gt; that Daniel's answer and Jukka's comment appeal to applies to edges, not vertices.  Vertex cut is harder than edge cut, and this is discussed by Naor and Zosin, as well as Garg, Vazirani, and Yannakakis in their paper &lt;em&gt;Multiway cuts in node weighted graphs&lt;/em&gt; (briefly in the &lt;a href=&quot;http://dx.doi.org/10.1007/3-540-58201-0_92&quot; rel=&quot;nofollow&quot;&gt;1994 conference version&lt;/a&gt; and more fully in the &lt;a href=&quot;http://dx.doi.org/10.1016/S0196-6774%2803%2900111-1&quot; rel=&quot;nofollow&quot;&gt;2004 journal version&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To complete the NP-hardness argument, one should rigorously specify the reduction from min-directed-2-vertex-cut (unit weights) on directed graphs to min-directed-2-vertex-cut (unit weights) on tournaments.  This is left as an exercise for the reader (because I can't make it work right now, and it may not be totally trivial, and maybe isn't possible at all...).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So this seems to be an NP-hard problem, and if it does have a polynomial-time algorithm, it seems to require more than just a quick application of max-flow min-cut.&lt;/p&gt;&#xA;" OwnerUserId="109" LastEditorUserId="109" LastEditDate="2010-09-04T16:37:28.307" LastActivityDate="2010-09-04T16:37:28.307" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="957" PostTypeId="2" ParentId="948" CreationDate="2010-09-04T16:45:35.187" Score="26" Body="&lt;p&gt;Short answer: probably not (1), definitely not (2), and possibly (3).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is something I have been thinking about off-and-on for a while now.  First, in a sense GCT is really aimed at giving lower bounds on computing functions, rather than decision problems. But your question makes perfect sense for the function class versions of $L$, $P$, $PSPACE$, and $EXP$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Second, actually proving the boolean versions -- the ones we know and love, like $FP \neq FEXP$ -- is probably incredibly difficult in a GCT approach, since that would require the use of modular representation theory (representation theory over finite fields), which is not well understood in any context.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;But a reasonable goal might be to use GCT to prove an algebraic analog of $FP \neq FEXP$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To get to your question: I believe that these questions can be formulated in a GCT context, though it's not immediately obvious how. More or less, you need a function that is complete for the class and characterized by its symmetries; extra bonus if the representation theory associated to the function is easy to understand, but this latter is usually quite difficult.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Even once the questions are formulated in a GCT context, I have no idea how difficult it will be to use GCT to prove (algebraic analogs of) $FP \neq FEXP$ etc.  The representation-theoretic conjectures that will arise in these contexts will likely have a very similar flavor to the ones arising in $P$ vs $NP$ or permanent vs determinant.  One might hope that the classical proofs of these separation results might give some idea of how to find the representation-theoretic &quot;obstructions&quot; needed for a GCT proof.  However, the proofs of the statements you mention are all hierarchy theorems based on diagonalization, and I do not see how diagonalization will really give you much insight into the representation theory associated with a function that is complete for (the algebraic analog of) $FEXP$, say.  On the other hand, I haven't yet seen how to formulate $FEXP$ in a GCT context, so it's a little early to say.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, as I mentioned in that blog post, Peter Burgisser and Christian Ikenmeyer have attempted to re-prove the lower bound on the border-rank of $2 \times 2$ matrix multiplication (which was proven to be 7 in 2006 by Joseph Landsberg).  They were able to show the border-rank is at least 6 by a computer search for GCT obstructions. &lt;strong&gt;Update April 2013&lt;/strong&gt;: they have since managed to re-prove Landsberg's result using a GCT obstruction, and to &lt;a href=&quot;http://arxiv.org/abs/1210.8368&quot;&gt;show an asymptotic $\frac{3}{2}n^2 - 2$ lower bound on matrix multiplication&lt;/a&gt; using such obstructions. &lt;strike&gt;Although GCT has not so far reproduced the known lower bound on matrix multiplication&lt;/strike&gt;, it does enable a computer search more efficient than the alternative (which would involve Grobner bases, which are doubly-exponential time in the worst case).  In their talks at the workshop, both Peter and Christian pointed out (correctly, I'd say) that what we really hope to get of computing small examples is not re-proving known lower bounds, but some &lt;em&gt;insight&lt;/em&gt; that will let us use these techniques to prove &lt;em&gt;new&lt;/em&gt; lower bounds.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The nice thing about GCT in the context of matrix multiplication is that the technique easily generalizes from $2 \times 2$ to $3 \times 3$ matrix multiplication (although computing the obstructions with the current techniques obviously gets more expensive), whereas Landsberg's approach seems &lt;em&gt;very&lt;/em&gt; difficult to implement even for the $3 \times 3$ case.  A similar thing could be said about the complexity class separations you mention: GCT is general enough that it may apply not only to known results like $FP \neq FEXP$, but also to unknown ones like $P \neq NP$, whereas we know diagonalization does not.&lt;/p&gt;&#xA;" OwnerUserId="129" LastEditorUserId="129" LastEditDate="2013-04-25T03:32:06.113" LastActivityDate="2013-04-25T03:32:06.113" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="958" PostTypeId="2" ParentId="822" CreationDate="2010-09-04T16:56:02.467" Score="11" Body="&lt;p&gt;Catherine McGeoch has a nice paper where she tried to popularize the field: &lt;a href=&quot;http://doi.acm.org/10.1145/1297797.1297818&quot;&gt;Experimental algorithmics&lt;/a&gt;. Another similar effort is by Peter Sanders: Algorithm Engineering - An Attempt at a Definition (http://dx.doi.org/10.1007/978-3-642-03456-5_22).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Anyway IMO the best introduction to the field is Programming Pearl by Jon Bentley. It shows several real-world cases of application of experimental algorithmics with great connections to different areas of sience.&lt;/p&gt;&#xA;" OwnerUserId="474" LastActivityDate="2010-09-04T16:56:02.467" CommentCount="0" CommunityOwnedDate="2010-09-04T16:56:02.467" ContentLicense="CC BY-SA 2.5" />
  <row Id="959" PostTypeId="2" ParentId="955" CreationDate="2010-09-04T16:57:38.110" Score="11" Body="&lt;p&gt;The problem is known as &lt;strong&gt;r-Set Packing&lt;/strong&gt;:&lt;br&gt;&#xA;Instance: A collection $\mathcal{C}$ of subsets of size at most $r$ of a finite set $S$ and an integer $k$.&lt;br&gt;&#xA;Parameter: $k$&lt;br&gt;&#xA;Question: Is there a subcollection $\mathcal{C'} \subseteq \mathcal{C}$ which consists of at least $k$ mutually disjoint subsets?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For unbounded $r$, the problem is W[1]-hard by an easy reduction from &lt;strong&gt;Independent Set&lt;/strong&gt; (see for example [1]).&lt;br&gt;&#xA;However, for constant $r$, the problem becomes fixed parameter tractable (see for example [2]).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1]: Rodney G. Downey, Michael R. Fellows: Parameterized Complexity. Springer, 1999.&lt;br&gt;&#xA;[2]: Michael R. Fellows, Christian Knauer, Naomi Nishimura, Prabhakar Ragde, Frances A. Rosamond, Ulrike Stege, Dimitrios M. Thilikos, Sue Whitesides: Faster Fixed-Parameter Tractable Algorithms for Matching and Packing Problems. Algorithmica 52(2): 167-176 (2008)&lt;/p&gt;&#xA;" OwnerUserId="72" LastEditorUserId="72" LastEditDate="2010-09-04T18:37:18.243" LastActivityDate="2010-09-04T18:37:18.243" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="960" PostTypeId="2" ParentId="955" CreationDate="2010-09-04T16:58:06.813" Score="5" Body="&lt;p&gt;I'll assume that the k in k-CNF is different from the number of clauses k, and also that the latter is the parameter. I will replace k-CNF with k'-CNF in the following.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This problem is in FPT for every k'. Notice that no &quot;logic&quot; is being used in the problem definition, so you can just assume that you have a collection of m sets of n elements, where each set has cardinality at most k'. (Removing the signs of the literals does not change the problem.) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now you are asking for a &lt;em&gt;set packing of size k from a collection of size m, where every set has cardinality at most k'&lt;/em&gt;. This is FPT when each set has constant size. There are many references to this problem, the key phrase is &quot;set packing&quot;.&lt;/p&gt;&#xA;" OwnerUserId="225" LastActivityDate="2010-09-04T16:58:06.813" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="961" PostTypeId="2" ParentId="944" CreationDate="2010-09-04T17:11:06.617" Score="26" Body="&lt;p&gt;There are many examples, the first one that comes to mind is &lt;a href=&quot;http://homepages.inf.ed.ac.uk/als/&quot;&gt;Alex Simpson&lt;/a&gt;'s use of category theory to prove properties of programming languages, see e.g. &quot;&lt;a href=&quot;http://homepages.inf.ed.ac.uk/als/Research/cartinmist.pdf&quot;&gt;Computational Adequacy for Recursive Types in Models of Intuitionistic Set Theory&lt;/a&gt;&quot;, Annals of Pure and Applied Logic, 130:207-275, 2004. Even though the title mentions set theory the technique is category-theoretic. See Alex's home page for more examples.&lt;/p&gt;&#xA;" OwnerUserId="705" LastEditorUserId="705" LastEditDate="2010-09-04T20:16:14.933" LastActivityDate="2010-09-04T20:16:14.933" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="962" PostTypeId="2" ParentId="955" CreationDate="2010-09-04T17:13:25.200" Score="6" Body="&lt;p&gt;Let me try to give an explicit two-way reduction that should make the FPT/W-hardness in different situations clear (it's strongly recommended that you look up the excellent references in the other answers, as this is just something I worked out after reading your question, and I could have quite easily missed something).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'll work with the following problem: we are given a family of subsets of an universe, and the question is if there is a subfamily of mutually disjoint sets of size at least $k$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;So here is a reduction &lt;em&gt;from&lt;/em&gt; independent set: let the universe be the set of all pairs $(i,j)$, $i &amp;lt; j$. For every vertex, introduce the subfamily:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\{(u,v) ~|~ (u,v) \in E(G)\}$,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;with an appropriate ordering between $u$ and $v$. It's easy to see that a collection of independent vertices corresponds exactly to a mutually disjoint subcollection. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, here is a reduction &lt;em&gt;to&lt;/em&gt; independent set: introduce a vertex for every set, and add an edge between two sets iff they share an element in common. Again, a set of mutually disjoint sets in the family corresponds exactly to an independent set in this graph. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This establishes, modulo details, that the problem in question is equivalent to the independent set problem, which is well-known to be $W[1]$-hard. On the other hand, if the graph has bounded maximum degree (let's say the $\Delta = O(1)$), then the problem is FPT by an easy branching strategy: note that any maximum independent set intersects non-trivially with $N[v]$, and one could branch if $|N[v]|$ is bounded. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;That's why your problem is W-hard in general, and FPT in the special case when the sizes of the sets in the given family are bounded.  &lt;/p&gt;&#xA;" OwnerUserId="688" LastEditorUserId="688" LastEditDate="2010-09-04T18:09:32.527" LastActivityDate="2010-09-04T18:09:32.527" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="963" PostTypeId="1" AcceptedAnswerId="1993" CreationDate="2010-09-04T18:07:56.473" Score="8" ViewCount="876" Body="&lt;p&gt;It is known that if $P=NP$ then $CoNP= PCP[O(log(n)),O(1)]$. Also, it is known that $NEXP=PCP[poly(n),poly(n)]$. It appears that PCP can't tell us which natural problems are not in $NP$. I wonder if it is possible to use PCP characterization to separate $CoNP$ from $NP$.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What are the best bounds on randomness complexity $r(n)$ and query complexity $q(n)$ such that Tautology Problem is in $PCP[O(r(n)),O(q(n))]$?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="495" LastEditorUserId="186" LastEditDate="2010-11-07T22:52:28.503" LastActivityDate="2010-11-07T22:52:28.503" Title="PCP theorem and proof complexity?" Tags="&lt;cc.complexity-theory&gt;&lt;pcp&gt;&lt;proof-complexity&gt;" AnswerCount="2" CommentCount="7" FavoriteCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="964" PostTypeId="2" ParentId="861" CreationDate="2010-09-04T19:24:56.987" Score="21" Body="&lt;p&gt;This is not a complete answer to the questions, but it is too long to write as a comment.  It expands my previous comment.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The question “What happens to computation if the axioms of quantum mechanics are modified a little?” is addressed in great detail by a fun paper [Aar04] by Scott Aaronson.  I believe that your questions are essentially answered in the first half of Section 2 of [Aar04].&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Aaronson shows that if p&amp;gt;0 and p≠2, then a matrix which preserves the p-norm for all vectors is necessarily a generalized permutation matrix (a product of a permutation matrix and a diagonal matrix).  He states that the same holds in the case p=∞.  All these hold for both over ℝ and over ℂ.  Note that this includes the case of p=1: stochastic matrices preserve the 1-norm for nonnegative vectors but not for all vectors in general.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I guess that a probabilistic Turing machine generalized as in [For00] has a generalized permutation matrix as its global transition matrix only if it is a deterministic Turing machine, but I do not have a proof at hand.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Aaronson discusses also several other modifications of the axioms of quantum mechanics in the paper.  For example, if we change the rule of measurement (instead of the set of allowed gates) so that the outcome x occurs with probability |α&lt;sub&gt;x&lt;/sub&gt;|&lt;sup&gt;p&lt;/sup&gt;/∑&lt;sub&gt;y&lt;/sub&gt;|α&lt;sub&gt;y&lt;/sub&gt;|&lt;sup&gt;p&lt;/sup&gt;, where α&lt;sub&gt;y&lt;/sub&gt; is the amplitude of |y⟩, then this “quantum computer” can solve any problems in PP (including NP-complete problems) in polynomial time unless p=2 (Proposition 5).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;References&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[Aar04] Scott Aaronson.  Is quantum mechanics an island in theoryspace?  In Proceedings of the Växjö Conference “Quantum Theory: Reconsideration of Foundations,” 2004.  &lt;a href=&quot;http://arxiv.org/abs/quant-ph/0401062&quot;&gt;arXiv:quant-ph/0401062&lt;/a&gt;v2.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[For00] Lance Fortnow.  One complexity theorist’s view of quantum computing.  In Computing: the Australasian Theory Symposium (CATS 2000), pp. 58–72, Jan. 2000.  &lt;a href=&quot;http://dx.doi.org/10.1016/S1571-0661(05)80330-5&quot;&gt;http://dx.doi.org/10.1016/S1571-0661(05)80330-5&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="567" LastEditorUserId="567" LastEditDate="2011-07-15T13:50:30.677" LastActivityDate="2011-07-15T13:50:30.677" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="965" PostTypeId="2" ParentId="912" CreationDate="2010-09-04T19:26:06.257" Score="1" Body="&lt;p&gt;I would like to document some partial progress - seemingly promising so far - towards a polynomial time algorithm. &lt;strong&gt;UPDATE&lt;/strong&gt;: Added some details to account for a glitch pointed out by @David (thanks!).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The approach is to reduce this to an instance of MIN-ONES EVEN-3 CSPs (MOEC), which happens to be a polynomial time solvable problem. The proof of the reduction is a bit fuzzy, but I am hopeful that it exists! &lt;/p&gt;&#xA;&#xA;&lt;p&gt;An instance of MOEC is a family of $3$-sized subsets of an universe of variables, and an integer $k$. The question is whether there is a satisfying assignment of weight at most $k$, where an assignment is a function from the universe to $\{0,1\}$, the weight of an assignment is the number of variables that it assigns one, and an assignment is satisfying if, for every subset of variables $\{x,y,z\}$, the assignment (say $f$) has the property that:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$f(x) + f(y) + f(z) = 0 (mod ~~2)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You could visualize this as 3-SAT with a different notion of satisfiability - pick none or pick two. I'll be a bit lax about the instance of MOEC in that I will allow for, apart from the usual $3$-subsets, implications, disjunctions of length two, and the constraint $(x = 1)$. I believe these simple additions will keep the problem polynomial time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let's say we're reducing the addition chain problem for the number $n$. The variable set for this reduction is the following:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For every $1 \leq i \leq n$, the variable $N_i$. I will re-write the variable $N_n$ as $N$.&#xA;For every pair $i,j$ such that $1 \leq i,j \leq k$, introduce variables $P_{ij}$ and $Q_{ij}$.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Introduce the following subsets, for every $i,j,k$ such that $k = i+j$:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\{P_{ij}, Q_{ij}, N_k \}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;and the following implications:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$P_{ij} \Rightarrow N_i$ and &#xA;$P_{ij} \Rightarrow N_j$ &lt;/p&gt;&#xA;&#xA;&lt;p&gt;and the following constraints:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$(N_1 = 1), (N = 1)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, we need to add constraints that ensure that at least one of the $P$-variables are picked when a &quot;corresponding&quot; $N$-variable (forgive the abuse of notation) is assigned one. This can be done by adding the usual OR constraint over all $P_{ij}$ such that $i + j$ sum to the $N$-variable in question. We have to, however, find a way of re-encoding this in MOEC-framework. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;So let me outline a general way of saying, given a set of variables:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$(X, l_1, l_2, \ldots, l_t)$,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;how the constraint &quot;if an assignment is satisfying and sets $X$ to one, then exactly one of the $l_i$'s must be set to one by the assignment&quot;, can be encoded with the MOEC syntax. Note that this suffices for our requirements, we simply introduce the constraints:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$(N_k, \{ P_{ij} ~|~ i + j = k \})$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The encoding is done as follows. Let $T_X$ be the rooted complete binary tree on $t$ leaves. Introduce a new variable $T_{di}$ for all $1 \leq d \leq \log t$ and $1 \leq i \leq {\cal L}(d)$, where ${\cal L}(d)$ denotes the number of nodes of $T_X$ at depth $d$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For every node $T_{di}$, if $p$ and $q$ be its children in the tree, introduce the EVEN-3 constraint:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\{T_{di},p,q\}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This means that if a variable corresponding to a node is set to true, then exactly one of its children must be set to true as well. Now add the implications:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$(X \Rightarrow T_{11})$ and&#xA;$(d_{\log t,j}) \Rightarrow l_j$ (comma for clarity).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This combination of EVEN-3 constraints and implications is equivalent to constraint that we wished to encode. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Intuitively, what's happening is that the last two constraints trigger exactly the reactions required to build an addition chain. In particular, let us look at the $N_i$'s that are assigned one by a satisfying assignment - the claim is that they will form an addition chain for $N$: since the assignment is forced to set $N$ to one, there must be at least one $P_{ij}$ that was set to one, and the implications force $N_i$ and $N_j$ to be assigned one, and this goes all the way down (I am sure this can be formalized with induction, although I haven't worked out that level of detail yet).  Note that a satsifying assignment that is optimal in the number of ones assigned will not set $P_{ij}$ true for two pairs $(r,s)$ and $(r',s')$, for the reason that the $P$-variables come with the additional baggage of the implications, and the $Q$-variables don't (they are there to ensure EVEN-3 satisfiability - on a clause where $N_i$ is true and $P_{ij}$ is not true, we still need to pick something to satisfy that clause, and for reasons that are easy to see, this cannot be one universal variable across clauses).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So I believe an addition chain corresponds to a satisfying assignment and vice-versa. Let me describe one part of this somewhat formally: given an addition chain, we construct an assignment $f$ that is satisfying. To begin with, $f$ sets all $N_i$'s that feature in the chain to one, and the other $N_i$'s to zero. Further, if $k$ features in the addition chain, then for each $N_k$, let $i_k,j_k$ be the elements in the chain such that $i_k + j_k = j$. Then $f$ sets $P_{i_k j_k}$ to one (and  $Q_{i_k j_k}$  to zero), and all $(i,j)$ such that $i \neq i_k$ and $j \neq j_k$ and $i+j = k$, $f$ sets $Q_{ij}$ to one (and $P_{ij}$ to zero). For all $k$ that don't feature in the addition chain, for all $i,j$ such that $i+j = k$, set all $Q_{ij}$ and $P_{ij}$ to zero (notice that consistency follows from the fact that two numbers add up in only one way). Every clause involving a $N_i$ in the chain is satisfied because either a P-variable or Q-variable corresponding to it was set to one (and notice that exactly one of them are set to one for any pair $(i,j)$). For every other clause, everything is set to zero. That the implications hold is easy to check. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The part that is unclear is the following: because for every element $t$ chosen in the addition chain, the assignment incurs a weight of $t$ (because of all the $Q$-variables being set to one). So there is a possibility that a longer additional chain would correspond to a cheaper assignment, but I am quite sure this doesn't happen because of a proof along the following lines: consider an optimal addition chain and suppose there is a longer one that has a smaller-weight satisfying assignment corresponding to it. Clearly, the elements of the longer chain exclude at least one from the shorter one - let that element be $x$. I wish to say that the cost incurred with $x$ is incurred in the longer chain anyway, and the remaining compares favorably. However, I have to write this down carefully, and I might just be seeing things from post-midnight syndrome!  &lt;/p&gt;&#xA;" OwnerUserId="688" LastEditorUserId="688" LastEditDate="2010-09-05T04:33:36.520" LastActivityDate="2010-09-05T04:33:36.520" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="966" PostTypeId="1" AcceptedAnswerId="969" CreationDate="2010-09-04T21:37:36.920" Score="11" ViewCount="431" Body="&lt;p&gt;In a graph, an independent set is a vertex subset which doesn't contain an edge as an induced subgraph. The problem of finding largest independent sets in a graph is a fundamental algorithmic question, and a hard one at that.  Let's consider the more general question of finding (the size of) a largest H-free set in a graph, where H-free means that it does not induce a subgraph that contains a copy of the fixed graph H as an induced subgraph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For fixed graph H, given input graph G, is it NP-hard to determine the size of a largest H-free set in G?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a sensible way to construct a &quot;table&quot; of graphs H (or classes of H), so as to fill in the entries with correct yes or &quot;no&quot; answers to the above question?  (Let's pretend that &quot;no&quot; = P, and even that a &quot;no&quot; entry means there is a polytime algorithm to generate a largest H-free set.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Failing that, are there non-trivial classes of H for which the answer is yes? ... no?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I was digging around, looking into two queries about generalised/H-free chromatic numbers --- &lt;a href=&quot;https://cstheory.stackexchange.com/questions/65/h-free-cut-problem&quot;&gt;here&lt;/a&gt; and &lt;a href=&quot;https://cstheory.stackexchange.com/questions/884/h-free-partition&quot;&gt;here&lt;/a&gt; --- when it occurred to me that the (ostensibly simpler) &quot;dual&quot; problem of an H-free analogue of independence number might also be open.  I am aware of classical papers on a related problem for random graphs, cf. e.g. Erdos, Suen and Winkler (1995) or Bollobas and Thomason (2000), which are in a still very active line of research.  So perhaps there is already some work that I have not seen yet addressing this more basic question and that a rough internet search did not uncover (hence the reference-request tag).&lt;/p&gt;&#xA;" OwnerUserId="233" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2010-09-05T00:58:44.757" Title="Computation of max H-free sets" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;graph-theory&gt;&lt;np-hardness&gt;&lt;co.combinatorics&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="967" PostTypeId="1" AcceptedAnswerId="968" CreationDate="2010-09-04T22:33:34.610" Score="0" ViewCount="918" Body="&lt;p&gt;Here is a necessarily wrong proof of $P \neq NP$ as it relativizes, but I can't find the error :&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Le $U$ be a universal Turing machine, whose inputs are restricted to Turing machines accepting languages in P.&#xA;Let $L = \mathcal{L}(U)$ the language accepted by $U$, hence the acceptation language restricted to P.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;L is in NP as for each instance  where $\mathcal{L}(M) \in P$ and $x$ an input of $M$, the certificate of $x$ is a certificate for L too&lt;/li&gt;&#xA;&lt;li&gt;L is not in P as it would be in $DTIME(n^k)$ for a fixed $k$ and as $DTIME(n^{m+1}) - DTIME(n^m) \neq \emptyset$, if we choose a M in $DTIME(n^{k+1})$ and fix it, U would decide the problem in $\mathcal{O}(n^k)$&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="378" LastActivityDate="2010-09-05T03:35:01.337" Title="Where is the error in the following P != NP pseudo-proof ?" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;" AnswerCount="2" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="968" PostTypeId="2" ParentId="967" CreationDate="2010-09-04T22:46:25.130" Score="12" Body="&lt;p&gt;You are being a little sloppy with your definitions: what exactly is the input to U, and what exactly are the conditions to accept? In particular, you probably need to include in the input  to U not just a Turing machine but also a specific polynomial that bounds the running time of the machine, because otherwise it's undecidable whether any particular TM really is polynomial time. But that's not the real problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The actual problem is that L(U) is not in NP. To be in NP, there needs to be a single polynomial p(n) that bounds the time to check a solution. But in your case this time is bounded by a polynomial q(n) that depends on the particular TM given as input. It's easy to choose inputs that cause q(n) to be larger than any fixed choice of p(n).&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2010-09-04T22:46:25.130" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="969" PostTypeId="2" ParentId="966" CreationDate="2010-09-04T23:02:01.010" Score="10" Body="&lt;p&gt;Suppose $H$ has at least two vertices. The family of all $H$-free graphs is hereditary on induced subgraphs and the property of being $H$-free is non-trivial, where a property is &lt;em&gt;non-trivial&lt;/em&gt; if it is true for infinitely many graphs and it is false for infinitely many graphs. Thus, the result of Lewis and Yannakakis [1] applies, showing that for all $H$ with at least two vertices, the problem is NP-complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] John M. Lewis, Mihalis Yannakakis: The Node-Deletion Problem for Hereditary Properties is NP-Complete. J. Comput. Syst. Sci. 20(2): 219-230 (1980)&lt;/p&gt;&#xA;" OwnerUserId="72" LastEditorUserId="72" LastEditDate="2010-09-05T00:58:44.757" LastActivityDate="2010-09-05T00:58:44.757" CommentCount="9" ContentLicense="CC BY-SA 2.5" />
  <row Id="971" PostTypeId="2" ParentId="953" CreationDate="2010-09-05T00:56:06.480" Score="7" Body="&lt;p&gt;I may have misunderstood the question, because my answer conflicts with Serge's. To my understanding, you're asking about the Linear Bottleneck Assignment Problem. This is known to be solved in O(n^2.5).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The most complete source of information is [1], although I really don't like the book's style. There's also a website: &lt;a href=&quot;http://www.assignmentproblems.com/linearBNAP.htm&quot; rel=&quot;nofollow&quot;&gt;http://www.assignmentproblems.com/linearBNAP.htm&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT: To clarify, the we want an assignment such that the edge with maximal cost is minimized. The cost will be the maximal number of unassigned attributes for either the man or the woman that are matched.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT2: I can only offer references from the book I cited. Three of them are:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;G. Carpaneto and P. Toth Algorithm for the solution of the bottleneck assignment problem. &lt;em&gt;Computing&lt;/em&gt;, 27:179-187m 1981&lt;/li&gt;&#xA;&lt;li&gt;U. Derigs. Alternate strategies for solving bottleneck assignment problems - analysis and computational results. &lt;em&gt;Computing&lt;/em&gt;, 33:95-106, 1984&lt;/li&gt;&#xA;&lt;li&gt;U. Derigs and U. Zimmermann. An augmenting path method for solving linear bottleneck assignment problems. &lt;em&gt;Computing&lt;/em&gt;, 19:285-295, 1978&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;You should try to get hold of the book, since lists some of the available algorithms.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] &lt;em&gt;Assignment Problems&lt;/em&gt; by Rainer Burkard, Mauro Dell'Amico, Silvano Martello&lt;/p&gt;&#xA;" OwnerUserId="90" LastEditorUserId="90" LastEditDate="2010-09-05T07:16:01.077" LastActivityDate="2010-09-05T07:16:01.077" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="972" PostTypeId="1" AcceptedAnswerId="974" CreationDate="2010-09-05T01:19:55.923" Score="17" ViewCount="1543" Body="&lt;p&gt;In the &quot;last paragraph&quot; of the &quot;first page&quot; of the following paper:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://dx.doi.org/10.1016/0304-3975(95)91133-B&quot; rel=&quot;noreferrer&quot;&gt;&lt;strong&gt;Vikraman Arvind&lt;/strong&gt;, &lt;strong&gt;Johannes Köbler&lt;/strong&gt;, &lt;strong&gt;Uwe Schöning&lt;/strong&gt;, &lt;strong&gt;Rainer Schuler&lt;/strong&gt;, &quot;If NP Has Polynomial-Size Circuits, then MA = AM,&quot; Theoretical Computer Science, 1995.&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I encountered a somewhat counter-intuitive claim: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$(\Sigma^P_2 \cap \Pi^P_2)^{NP} = \Sigma^P_3 \cap \Pi^P_3$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think the identity above is deduced from the following:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$(\Sigma^P_2)^{NP} = \Sigma^P_3$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;and&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$(\Pi^P_2)^{NP} = \Pi^P_3$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The former is more simply written as $(NP^{NP})^{NP} = NP^{NP^{NP}}$, which is quite odd!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit:&lt;/strong&gt; In light of Kristoffer's comment below, I'd like to add the following inspiring remark from &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/052188473X&quot; rel=&quot;noreferrer&quot;&gt;Goldreich's complexity book&lt;/a&gt; (pp. 118-119):&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;It should be clear that the class $C_1^{C_2}$ can be defined for two complexity classes $C_1$ and $C_2$, &lt;em&gt;provided that $C_1$ is associated with a class of standard machines that generalizes naturally to a class of oracle machines.&lt;/em&gt; Actually, the class $C_1^{C_2}$ is not defined based on the class $C_1$ but rather by analogy to it. Specifically, suppose that $C_1$ is the class of sets that are recognizable (or rather accepted) by machines of a certain type (e.g., deterministic or non-deterministic) with certain resource bounds (e.g., time and/or space bounds). Then, we consider analogous oracle machines (i.e., of the same type and with the same resource bounds), and say that $S \in C_1^{C_2}$ if there exists an adequate oracle machine $M_1$ (i.e., of this type and resource bounds) and a set $S_2 \in C_2$ such that $M_1^{S_2}$ accepts the set $S$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="873" LastEditorUserId="-1" LastEditDate="2014-11-21T11:38:22.833" LastActivityDate="2014-11-21T11:38:22.833" Title="Is $(NP^{NP})^{NP} = NP^{(NP^{NP})}$?" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;" AnswerCount="2" CommentCount="6" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="974" PostTypeId="2" ParentId="972" CreationDate="2010-09-05T02:29:28.360" Score="13" Body="&lt;p&gt;${\Sigma_2^P}^{NP}$ is the set of language decided by an alternating turing machine in existential, and then universal state, with an oracle in NP. Both the universal and the existantial part can querye NP.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hence, in this case you decided to write this as $(NP^{NP})^{A}$ then the way you should think of it is as  $(NP^{NP^A\cup A})$ (by $\cup$ I mean an oracle either to $A$ or to an $NP^A$ language).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hence ${\Sigma_2^P}^{NP}$ is equal to $(NP^{(NP^{NP})})^{NP}$ which is certainly equal to $(NP^{NP^{NP}})$ since every query you could make to the $NP$ oracle, you could make it to the $NP^{NP}$ oracle.&lt;/p&gt;&#xA;" OwnerUserId="328" LastEditorUserId="328" LastEditDate="2010-09-06T03:18:06.323" LastActivityDate="2010-09-06T03:18:06.323" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="975" PostTypeId="2" ParentId="899" CreationDate="2010-09-05T03:08:06.660" Score="3" Body="&lt;p&gt;The DNSSEC root key is shared in a 5-out-of-7 fashion; see, e.g., here: &lt;a href=&quot;http://bit.ly/9LcNwj&quot; rel=&quot;nofollow&quot;&gt;http://bit.ly/9LcNwj&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="686" LastActivityDate="2010-09-05T03:08:06.660" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="976" PostTypeId="2" ParentId="45" CreationDate="2010-09-05T03:11:10.963" Score="8" Body="&lt;p&gt;For the &quot;classical&quot; (i.e., pre-Dinur) proof of the PCP theorem, I found Prahladh Harsha's thesis the best resource.&lt;/p&gt;&#xA;" OwnerUserId="686" LastActivityDate="2010-09-05T03:11:10.963" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="977" PostTypeId="2" ParentId="174" CreationDate="2010-09-05T03:15:55.840" Score="13" Body="&lt;p&gt;&lt;a href=&quot;http://garden.irmacs.sfu.ca/?q=category/theoretical_computer_science&quot;&gt;Open Problem Garden&lt;/a&gt; hosts a number of unsolved problems in theoretical computer science.&lt;/p&gt;&#xA;" OwnerUserId="878" LastEditorUserId="123" LastEditDate="2010-09-13T14:02:31.080" LastActivityDate="2010-09-13T14:02:31.080" CommentCount="2" CommunityOwnedDate="2010-09-05T03:15:55.840" ContentLicense="CC BY-SA 2.5" />
  <row Id="979" PostTypeId="1" AcceptedAnswerId="986" CreationDate="2010-09-05T03:27:04.063" Score="10" ViewCount="3539" Body="&lt;p&gt;Hey All,&#xA;  I'm currently trying to find a solid masters thesis topic pertaining to some branch of automata theory or related to formal languages. I'm trying to generate some good ideas for what an acceptable topic would be, something ambitious but something doable at the same time. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any suggestions would be very much appreciated!&lt;/p&gt;&#xA;" OwnerUserId="878" LastEditorUserId="878" LastEditDate="2010-09-05T13:50:54.867" LastActivityDate="2010-10-05T01:27:10.373" Title="Automata Theory / Formal Language Thesis Topic" Tags="&lt;ds.algorithms&gt;&lt;automata-theory&gt;&lt;fl.formal-languages&gt;&lt;soft-question&gt;" AnswerCount="5" CommentCount="2" FavoriteCount="6" ContentLicense="CC BY-SA 2.5" />
  <row Id="980" PostTypeId="2" ParentId="967" CreationDate="2010-09-05T03:35:01.337" Score="1" Body="&lt;p&gt;&quot;Le U  be a universal Turing machine, whose inputs are restricted to Turing machines accepting languages in P. Let L=L(U)  the language accepted by U, hence the acceptation language restricted to P.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assume that such a universal Turing Machine U (referred as TM from now on) exists. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;P contains an infinite number of problems (1) .&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Why? Imagine the TM A[y] , y belongs to IR, with alphabet {0,1}. A[y]y accepts iff the input x has length greater or equal to y. It needs only 1 scan, therefore A[y] belongs to P. Since y is arbitary, it may take any value in IR. Therefore, there's an uncountable infinite number of problems in P. (y as decimal does not make much sense in the real world, still, this is a valid problem definition)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Therefore, the universal machine must depend on some property of the TM's that recognize language in P. &#xA;Their only common property is that they require polynomial time to produce a result. (2)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(2) can be proven via diagonization. For any set of problems given, it is possible to construct one that has at least 1 foreign property with every other problem. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, the &quot;running time property&quot; this is a non-trivial property, therefore by the Rice Theorem, such a TM can verify but not recognize the language (it may run infinitely). NP contains only definite TM's (they return YES or NO). Therefore , L is not in NP.&lt;/p&gt;&#xA;" OwnerUserId="879" LastActivityDate="2010-09-05T03:35:01.337" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="981" PostTypeId="2" ParentId="710" CreationDate="2010-09-05T03:35:40.650" Score="3" Body="&lt;p&gt;Quantum computing themed languages such as QCL have been created for thesis projects. In fact any quantum computing based languages I've seen implemented on the web have been done for thesis projects. You could also try to code up a quantum emulator. In the book &quot;Quantum Computing for Computer Scientists&quot; they provide programming drills that collectively add up to such an emulator.&lt;/p&gt;&#xA;" OwnerUserId="878" LastActivityDate="2010-09-05T03:35:40.650" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="982" PostTypeId="2" ParentId="979" CreationDate="2010-09-05T03:37:06.450" Score="10" Body="&lt;p&gt;Helping with thesis topic is one of the reasons that we have supervisors for graduate students, so you should consult your supervisor about it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The general advice that I have heard is that you should pick proceedings of a number of recent reputable conferences in the area you want to work and have a look at the papers in them till you find something interesting and discuss it with your supervisor to see if it is a reasonable thesis topic.&lt;/p&gt;&#xA;" OwnerUserId="186" LastActivityDate="2010-09-05T03:37:06.450" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="983" PostTypeId="2" ParentId="30" CreationDate="2010-09-05T03:39:00.097" Score="1" Body="&lt;p&gt;For actual physical implementation of conceptual quantum computing devices and what methods may be best suited for these practices, Nielsen and Chuang's book has an entire chapter which is very well written and easy to understand on this.&lt;/p&gt;&#xA;" OwnerUserId="878" LastEditorUserId="878" LastEditDate="2012-10-15T04:09:38.397" LastActivityDate="2012-10-15T04:09:38.397" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="984" PostTypeId="2" ParentId="979" CreationDate="2010-09-05T03:44:10.807" Score="6" Body="&lt;p&gt;The theoretical study of automata theory and formal languages is kind of moribund (meaning, you can probably still find interesting research problems to work on, but getting it published in top-level conferences and convincing someone to hire you once you graduate may be problematic). However, I believe there is also interesting work being done on applying formal language theory to internet threat/intrusion detection , etc., and this area seems much more hot right now.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See e.g.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Wagner and Dean, Intrusion detection via static analysis, IEEE Symp. Security and Privacy 2001&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Wagner and Soto, Mimicry attacks on host-based intrusion detection systems, ACM Conf. Computer and Communications Security 2002&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Giffin, Jha, and Miller, Efficient Context-Sensitive Intrusion Detection, NDSS 2004&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Feng et al, Formalizing Sensitivity in Static Analysis for Intrusion Detection, IEEE Symposium on Security and Privacy 2004&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2010-09-05T03:44:10.807" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="985" PostTypeId="2" ParentId="894" CreationDate="2010-09-05T04:10:46.523" Score="8" Body="&lt;p&gt;Instance optimality is a very interesting property of algorithms. One can generalize notions of instance optimality and come up with surprisingly interesting notions that include worst-case and average-case analysis. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Although it doesn't strictly fall under the purview of traditional algorithm analysis, it is interesting in its own right. The idea in a paper by Afshani-Barbay-Chan (FOCS '09) who discuss a geometric algorithm considers algorithm performance oblivious to input-order (which is relevant to their particular problem). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This might be seen to generalize as follows: For every algorithm partition the inputs into equivalence classes and consider the algorithm performance to be some sort of collective statistic over the average performance for each of these equivalence classes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Worst-case analysis simply looks at the input as individual equivalence classes and computes the maximum running time. Average case analysis looks at the trivial equivalence class which is a single one comprising all inputs. In the Afshani-Barbay-Chan paper, their algorithm is optimal if the input is partitioned into classes of permutations (i.e., order oblivious performance). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's not clear if this leads to any new paradigms of algorithm analysis.&#xA;&lt;a href=&quot;http://theory.stanford.edu/~tim/f09/f09.html&quot;&gt;Tim Roughgarden's course&lt;/a&gt; has some excellent motivating examples and covers different methods to analyse algorithms. &lt;/p&gt;&#xA;" OwnerUserId="780" LastEditorUserId="780" LastEditDate="2010-09-05T04:43:41.997" LastActivityDate="2010-09-05T04:43:41.997" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="986" PostTypeId="2" ParentId="979" CreationDate="2010-09-05T04:19:58.127" Score="9" Body="&lt;p&gt;While I agree with David Eppstein's response in general (and I upvoted it), the emerging field of automata that define biological processes and other natural computing &quot;things&quot; is a vibrant area.  Getting hired later is not something I can speak to, but you might be interested in taking a look at &lt;a href=&quot;http://lucacardelli.name/Papers/Artificial%20Biochemistry.pdf&quot;&gt;Artificial Biochemistry&lt;/a&gt; by Luca Cardelli, or &lt;a href=&quot;http://www.dna.caltech.edu/Papers/DNA_stack_machines2010_DNA16.pdf&quot;&gt;Efficient Turing-universal computation with DNA polymers&lt;/a&gt; by Qian et al.  The first paper is Cardelli's latest attempt to provide formal methods to biochemical processes; the second, a theoretical DNA implementation of a stack machine.&lt;/p&gt;&#xA;" OwnerUserId="30" LastActivityDate="2010-09-05T04:19:58.127" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="987" PostTypeId="2" ParentId="972" CreationDate="2010-09-05T05:03:56.157" Score="4" Body="&lt;p&gt;From Arora and Barak (p. 102) theorem 5.12: &quot;For every $i\geq 2$, $\sum_i^p=NP^{\sum_{i-1}SAT}$&quot;. Remember that $\sum_{i}SAT$ is the QBF formula with $i$ alternations which is complete for $\sum_i^p$. Then $\sum_2^p=NP^{SAT}$ and given that SAT is NP-complete you just write $\sum_2^p=NP^{NP}$, so far so good. Extending this notation to $i=3$ you get $NP^{NP^{NP}}$, but the last two &quot;NPs&quot; are just an oracle for the language $\sum_{2}SAT$ with at most 2 alternations. It seems to me that its just a shorthand notation for oracle access.&lt;/p&gt;&#xA;" OwnerUserId="135" LastActivityDate="2010-09-05T05:03:56.157" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="988" PostTypeId="2" ParentId="553" CreationDate="2010-09-05T05:11:22.127" Score="10" Body="&lt;p&gt;The transitive closure of a directed graph with $m$ edges and $n$ vertices can be computed &#xA;slightly faster than $O(mn)$ time, but not by much. An $O(n^2 + mn/\log n)$ time algorithm is mentioned in a footnote of Chan's 2005 WADS paper on APSP (journal version in Algorithmica 2008). A slight improvement to $O(n^2 + mn \log(n^2/m)/\log^2 n)$ can be found in the ICALP'08 paper &quot;A New Combinatorial Approach for Sparse Graph Problems &quot; by Blelloch, Vassilevska and Williams.&#xA;That being said, I don't know whether counting descendents is easier than actually finding them&lt;/p&gt;&#xA;" OwnerUserId="410" LastActivityDate="2010-09-05T05:11:22.127" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="990" PostTypeId="1" AcceptedAnswerId="991" CreationDate="2010-09-05T05:41:22.203" Score="24" ViewCount="901" Body="&lt;p&gt;Entanglement is often held up as the key ingredient that makes quantum algorithms well... quantum, and this can be traced back to the Bell states that destroy the idea of quantum physics as a hidden-state probabilistic model. In quantum information theory (from my rather weak understanding), entanglement can also be used as a concrete resource that bounds the ability to do certain kinds of coding. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;But from other conversations (I recently sat on the Ph.D committee of a physicist working in quantum methods) I gather that entanglement is difficult to quantify, especially for mixed-state quantum states. Specifically, it appears hard to say that a particular quantum state has X units of entanglement in it (the student's Ph.D thesis was about trying to quantify amounts of entanglement &quot;added&quot; by well known gate operations). In fact, &lt;a href=&quot;http://arxiv.org/abs/0807.4490&quot; rel=&quot;nofollow noreferrer&quot;&gt;a recent Ph.D thesis&lt;/a&gt; suggests that a notion termed &quot;quantum discord&quot; might also be relevant (and needed) to quantify the &quot;quantumness&quot; of an algorithm or a state. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we want to treat entanglement as a resource like randomness, it's fair to ask how to measure how much of it is &quot;needed&quot; for an algorithm. I'm not talking about &lt;a href=&quot;https://cstheory.stackexchange.com/questions/450/is-there-an-equivalent-to-derandomization-for-quantum-algorithms&quot;&gt;complete dequantization&lt;/a&gt;, merely a way of measuring the quantity. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;So is there currently any accepted way of measuring the &quot;quantumness&quot; of a state or an operator, or an algorithm in general ? &lt;/p&gt;&#xA;" OwnerUserId="80" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.743" LastActivityDate="2010-11-23T21:33:53.700" Title="Can we quantify the &quot;degree of quantumness&quot; in a quantum algorithm ?" Tags="&lt;quantum-computing&gt;&lt;big-picture&gt;" AnswerCount="3" CommentCount="3" FavoriteCount="10" ContentLicense="CC BY-SA 2.5" />
  <row Id="991" PostTypeId="2" ParentId="990" CreationDate="2010-09-05T06:20:44.143" Score="24" Body="&lt;p&gt;It depends on the context.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&lt;li&gt; For quantum algorithms, the situation is tricky, since for all we know, P=BPP=BQP.  So we can never say that a quantum algorithm does something that &lt;i&gt;no&lt;/i&gt; classical algorithm can do; only something that a naive simulation would have trouble with.  For example, if a quantum circuit is drawn as a graph, then there is a classical simulation that runs in time exponential in the &lt;a href=&quot;http://arxiv.org/abs/quant-ph/0511069&quot;&gt;treewidth of the graph&lt;/a&gt;).  So treewidth can be thought of as an upper bound to 'quantumness', although not a precise measure.&#xA;&#xA;&lt;p&gt;&lt;p&gt;Sometimes measuring quantumness in algorithms gets conflated with trying to measure the amount of entanglement produced by an algorithm, but we now think that a noisy quantum computer could have computational advantages over classical computer even with so much noise that its qubits are never in an entangled state (e.g. &lt;a href=&quot;http://arxiv.org/abs/0707.2831&quot;&gt;the one clean qubit model&lt;/a&gt;).  So the consensus is now more on the side of thinking of the quantumness in quantum algorithms as related to the dynamics rather than the states generated along the way.  This can help explain why 'dequantizing' is not likely to be generally possible.&#xA;&#xA;&lt;p&gt;&lt;li&gt; For bipartite quantum states, where the context is two-party correlations, we have many many good measures of quantumness.  Many have flaws, like being NP-hard, or not additive, but nevertheless we have a pretty sophisticated understanding of this situation.  Here is a &lt;a href=&quot;http://arxiv.org/abs/quant-ph/0702225&quot;&gt;recent review&lt;/a&gt;.&#xA;&#xA;&lt;p&gt;&lt;li&gt; There are other contexts, such as when we have a quantum state and would like to choose between different incompatible measurements.  In this setting, there are uncertainty principles that tell us things about how incompatible the measurements are.  The more incompatible the measurements are, the more 'quantum' a situation we have.  This is related to &lt;a href=&quot;http://arxiv.org/abs/1006.0468&quot;&gt;cryptography&lt;/a&gt; and &lt;a href=&quot;http://arxiv.org/abs/0911.5300&quot;&gt;zero-error capacities of noisy channels&lt;/a&gt;, among many other things.&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="886" LastEditorUserId="886" LastEditDate="2010-09-06T16:54:05.727" LastActivityDate="2010-09-06T16:54:05.727" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="992" PostTypeId="1" CreationDate="2010-09-05T10:16:42.733" Score="10" ViewCount="1192" Body="&lt;p&gt;Show a function $f(n)$ which is space-constructible but not time-constuctible. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is this problem related to a possible separation between complexity classes DTIME(f(n)) and SPACE(f(n))?&lt;/p&gt;&#xA;" OwnerUserId="894" LastEditorUserId="2367" LastEditDate="2014-10-10T19:41:00.447" LastActivityDate="2014-10-10T19:41:00.447" Title="An explicit separation between time-constructibility and space-constructibility?" Tags="&lt;cc.complexity-theory&gt;&lt;space-bounded&gt;&lt;separation&gt;" AnswerCount="3" CommentCount="7" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="993" PostTypeId="2" ParentId="992" CreationDate="2010-09-05T11:05:02.217" Score="4" Body="&lt;p&gt;$f(n)=\log n$ is space constructable but not time constructable. The reason is that you can map $1^n$ to the binary representation in space $O(\log n)$ but not in time $O(\log n)$.&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="40" LastEditDate="2013-01-20T22:40:27.530" LastActivityDate="2013-01-20T22:40:27.530" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="994" PostTypeId="2" ParentId="363" CreationDate="2010-09-05T12:01:59.733" Score="6" Body="&lt;p&gt;Well, I know that $\mathbf{NP}\subseteq\mathbf{AM}$, and every language possessing statistical zero-knowledge proofs fall in $\mathbf{AM}\cap\mathbf{coAM}$. Symbolically, &#xA;$\mathbf{PZK}\subseteq \mathbf{SZK}\subseteq \mathbf{AM}\cap\mathbf{coAM}$. (Where $\mathbf{PZK}$ is the class of languages admitting perfect zero knowledge, and $\mathbf{SZK}$ is the class of languages admitting statistical zero knowledge).&#xA;See the following links for the proof:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://portal.acm.org/citation.cfm?id=28418&quot; rel=&quot;noreferrer&quot;&gt;The complexity of perfect zero-knowledge&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://linkinghub.elsevier.com/retrieve/pii/002200009190006Q&quot; rel=&quot;noreferrer&quot;&gt;Statistical zero-knowledge languages can be recognized in two rounds&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Languages like shortest or closest vector problem (SVP, CVP) fall in $\mathbf{SZK}$ (see the paper by Goldreich and Goldwasser, cited above).&lt;/p&gt;&#xA;" OwnerUserId="873" LastActivityDate="2010-09-05T12:01:59.733" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="995" PostTypeId="2" ParentId="990" CreationDate="2010-09-05T12:47:14.390" Score="10" Body="&lt;p&gt;Aram's answer is excellent, so please don't take me posting an answer as in anyway disagreeing with what he has said, merely supplementing it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think perhaps an additional point to raise is that there is not simply one type of entanglement. Bipartite entanglement is extremely well understood, as Aram has pointed out. There are a number of different measures, but for pure states (i.e. states which are distinct quantum states rather than probabilistic ensembles of quantum states) these measures all tend to be monotonic functions of one another. For tripartite and above, however, the situation is different. Let me give you an example of this. For 3 qubits you have two distinct types of entanglement: 1) arising from GHZ-like relations $\frac{1}{\sqrt{2}}\mid 000\rangle + \frac{1}{\sqrt{2}}\mid 111\rangle$ and 2) arising from w-state like relations $\frac{1}{\sqrt{3}}\mid 100\rangle + \frac{1}{\sqrt{3}}\mid 010\rangle + \frac{1}{\sqrt{3}}\mid 001\rangle$. The thing to notice here is that you cannot transform between these two states with purely local operations, and so you need to count two separate quantities when measuring the entanglement of a tri-partite state. As we look at more and more partitions this number increases.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is particularly pertinent to the question as asked, because it would seem to rule out any monotonic measure of &quot;quantumness&quot; based on entanglement measures.&lt;/p&gt;&#xA;" OwnerUserId="204" LastActivityDate="2010-09-05T12:47:14.390" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="996" PostTypeId="2" ParentId="979" CreationDate="2010-09-05T13:12:16.927" Score="18" Body="&lt;p&gt;I think David Eppstein is too dismissive of the area of automata theory and formal languages.  The claim that &quot;getting it published in top-level conferences and convincing someone to hire you once you graduate may be problematic&quot; seems to be what Haldane called Aunt Jobiska’s Theorem: &quot;It’s a fact the whole world knows.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In fact, there are good conferences (such as STACS and ICALP) that routinely publish results in automata theory and formal languages; there are well-attended conferences (such as DLT) that focus on the area; it is a very active area in Germany, France, and Italy; there are great open problems in the area; and I know many students that have had no problem getting jobs.&lt;/p&gt;&#xA;" OwnerUserId="900" LastActivityDate="2010-09-05T13:12:16.927" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="997" PostTypeId="2" ParentId="174" CreationDate="2010-09-05T13:24:46.447" Score="26" Body="&lt;p&gt;&lt;strong&gt;Is the discrete logarithm problem in P?&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $G$ be a cyclic group of order $q$ and $g,h \in G$ such that $g$ is a generator of $G$. The problem of finding $n \in \mathbb{N}$ such that $g^n = h$ is known as the &lt;em&gt;discrete logarithm problem&lt;/em&gt; (DLP). Is there a (classical) algorithm for solving the DLP in worst-case polynomial-time in the number of bits of $q$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are variations of DLP which are believed to be easier, but are still unsolved. The &lt;em&gt;computational Diffie-Hellman problem&lt;/em&gt; (CDH) asks for finding $g^{a b}$ given $g, g^a$ and $g^b$. The &lt;em&gt;decisional Diffie-Hellman problem&lt;/em&gt; (DDH) asks for deciding, given $g, g^a, g^b, h \in G$, if $g^{a b} = h$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Clearly DLP is hard if CDH is hard, and CDH is hard if DDH is hard, but no converse reductions are known, except for some groups. The assumption that DDH is hard is key to the security of some cryptosystems, such as &lt;a href=&quot;http://en.wikipedia.org/wiki/ElGamal&quot; rel=&quot;noreferrer&quot;&gt;ElGamal&lt;/a&gt; and &lt;a href=&quot;http://en.wikipedia.org/wiki/Cramer-Shoup_cryptosystem&quot; rel=&quot;noreferrer&quot;&gt;Cramer-Shoup&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="27" LastEditorUserId="7286" LastEditDate="2015-10-11T20:07:57.880" LastActivityDate="2015-10-11T20:07:57.880" CommentCount="2" CommunityOwnedDate="2010-09-05T13:24:46.447" ContentLicense="CC BY-SA 3.0" />
  <row Id="998" PostTypeId="2" ParentId="174" CreationDate="2010-09-05T13:33:15.910" Score="18" Body="&lt;p&gt;The &quot;P vs NP&quot; question extends naturally to polynomial-time hierarchy (PH): &quot;Whether PH has infinite levels, or it collapses to some finite level?&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think this question is (or should be considered as) the most intriguing question of the computer science: If PH has infinite levels, then $\mathbf{P} \neq \mathbf{NP}$. In addition, several researchers have shown that if Graph Isomorphism is NP-complete, then PH collapses to the 2nd level. Therefore, if PH has infinite levels, then Graph Isomorphism is provably not NP-complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Several other results follow from the infiniteness of the levels of PH.&lt;/p&gt;&#xA;" OwnerUserId="873" LastActivityDate="2010-09-05T13:33:15.910" CommentCount="0" CommunityOwnedDate="2010-09-05T13:33:15.910" ContentLicense="CC BY-SA 2.5" />
  <row Id="999" PostTypeId="2" ParentId="174" CreationDate="2010-09-05T13:56:49.020" Score="14" Body="&lt;p&gt;Unconditional derandomization of Arthur-Merlin games. It is also known that under hardness assumptions AM = NP. The question is, can we prove unconditionally that AM is a subset of sigma sub 2: &lt;a href=&quot;http://cs.haifa.ac.il/~ronen/online_papers/online_papers.html&quot; rel=&quot;noreferrer&quot;&gt;http://cs.haifa.ac.il/~ronen/online_papers/online_papers.html&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="878" LastActivityDate="2010-09-05T13:56:49.020" CommentCount="1" CommunityOwnedDate="2010-09-05T13:56:49.020" ContentLicense="CC BY-SA 2.5" />
  <row Id="1000" PostTypeId="1" AcceptedAnswerId="1002" CreationDate="2010-09-05T14:15:49.383" Score="7" ViewCount="3213" Body="&lt;p&gt;Does anyone know (or can anyone think of) a simple reduction from (for example) PARTITION, 0-1-KNAPSACK, BIN-PACKING or SUBSET-SUM (or even 3SAT) to the UBK problem (integral knapsack with unlimited number of objects of each type)? I'm writing an introduction to a few of these problems, and noticed that I hadn't really heard of a standard reduction here. Shouldn't be that hard (it's a relatively expressive problem), but I can't think of anything right now… Thoughts/references?&lt;/p&gt;&#xA;" OwnerUserId="901" LastEditorUserId="186" LastEditDate="2010-09-05T16:58:18.900" LastActivityDate="2010-09-05T19:33:12.820" Title="Simple reduction to unbounded knapsack?" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;np-hardness&gt;&lt;reductions&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="1002" PostTypeId="2" ParentId="1000" CreationDate="2010-09-05T19:33:12.820" Score="7" Body="&lt;p&gt;There is a simple reduction from the subset sum problem. (We usually give it as an exercise.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The idea is to encode in the weights that an element can only be included 0 or 1 times.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assume the subset sum instance consists of numbers $w_1,\dots,w_n$ with target $W$. Assume that $w_i &amp;lt; B$ for all $i$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We will have two new elements for each old element, simulating whether the element is used 0 or 1 times. For element $i$ we get two new weights $w^1_i = (2^{n+1} + 2^i)nB + w_i$ and $w^0_i = (2^{n+1} + 2^i)nB$. The new weight bound is defined as $W' = (n2^{n+1} + 2^n + \dots + 2^1)nB + W$. Values of elements are the same as their weights, and the target value is $W'$&lt;/p&gt;&#xA;" OwnerUserId="313" LastActivityDate="2010-09-05T19:33:12.820" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="1003" PostTypeId="2" ParentId="114" CreationDate="2010-09-05T21:04:03.390" Score="3" Body="&lt;p&gt;As you mention in &lt;a href=&quot;https://cstheory.stackexchange.com/questions/979/automata-theory-formal-language-thesis-topic/986#986&quot;&gt;Automata Theory / Formal Language Thesis Topic&lt;/a&gt; my supervisors have at least some of the same intution about &quot;reusable universality&quot; as &quot;better&quot; than CA-style. Im not sure that a name is given though: &lt;a href=&quot;http://www.diku.dk/~neil/blobentcs.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://www.diku.dk/~neil/blobentcs.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I havent focused much on that part, but as I see it, when going through biocomputing literature, the major difference lies in the meaning of the word &quot;programming/programmable&quot;, e.g. what is it in fact that is programmable? That, and the &quot;stored-program&quot; part as well but I appreciate the nuance posed by your question&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I've got no readily available answer to what it is called though&lt;/p&gt;&#xA;" OwnerUserId="855" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2010-09-05T21:04:03.390" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="1004" PostTypeId="2" ParentId="174" CreationDate="2010-09-05T21:18:31.880" Score="28" Body="&lt;h3&gt;Give an explicit function with exponential circuit complexity.&lt;/h3&gt;&#xA;&lt;p&gt;Shannon proved in 1949 that if you pick a Boolean function at random,&#xA;it has exponential circuit complexity with probability almost one.&lt;/p&gt;&#xA;&lt;p&gt;The best lower bound for an explicit Boolean function  &lt;span class=&quot;math-container&quot;&gt;$f:\{0,1\}^n \to \{0,1\}$&lt;/span&gt;&#xA;we have so far is &lt;span class=&quot;math-container&quot;&gt;$5n - o(n)$&lt;/span&gt; by K. Iwama, O. Lachish, H. Morizumi, and R. Raz.&lt;/p&gt;&#xA;" OwnerUserId="899" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2015-10-09T12:55:35.990" CommentCount="7" CommunityOwnedDate="2010-09-05T21:18:31.880" ContentLicense="CC BY-SA 3.0" />
  <row Id="1005" PostTypeId="1" AcceptedAnswerId="1013" CreationDate="2010-09-05T21:22:12.137" Score="15" ViewCount="491" Body="&lt;p&gt;A hereditary class of structures (e.g. graphs) is one that is closed under induced substructures, or equivalently, is closed under vertex removal.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Classes of graphs that exclude a minor have nice properties that do not depend on the specific excluded minor.  Martin Grohe showed that for graph classes excluding a minor there is a polynomial algorithm for isomorphism, and fixed-point logic with counting captures polynomial time for these graph classes.  (Grohe,   &lt;a href=&quot;http://www2.informatik.hu-berlin.de/~grohe/pub/gro10.pdf&quot;&gt;&lt;em&gt;Fixed-Point Definability and Polynomial Time on Graphs with Excluded Minors&lt;/em&gt;&lt;/a&gt;, LICS, 2010.)  These can be thought of as &quot;global&quot; properties.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Are there similar &quot;global&quot; properties known for hereditary classes (either graphs or more general structures)?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;It would be good to see each answer focus on just one specific property.&lt;/p&gt;&#xA;" OwnerUserId="109" LastActivityDate="2010-10-28T04:42:54.003" Title="Global properties of hereditary classes?" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;&lt;relational-structures&gt;" AnswerCount="6" CommentCount="0" FavoriteCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="1006" PostTypeId="2" ParentId="1005" CreationDate="2010-09-05T22:26:36.697" Score="8" Body="&lt;p&gt;This may not be quite what you had in mind, but there are known restrictions on how many graphs on $n$ vertices there can be in a hereditary class of graphs. For example, there is no hereditary class of graphs that has between $2^{\Omega(n)}$ and $2^{o(n\log{n})}$ graphs on $n$ vertices.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Reference: E. Scheinerman, J. Zito, On the Size of Hereditary Classes of Graphs, Journal of Combinatorial Theory Series B&lt;/p&gt;&#xA;" OwnerUserId="482" LastActivityDate="2010-09-05T22:26:36.697" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="1007" PostTypeId="2" ParentId="1005" CreationDate="2010-09-05T23:01:57.880" Score="4" Body="&lt;p&gt;This is the &quot;reverse&quot; direction, but the well known &lt;a href=&quot;http://en.wikipedia.org/wiki/Aanderaa%E2%80%93Karp%E2%80%93Rosenberg_conjecture&quot; rel=&quot;nofollow&quot;&gt;Aanderaa-Rosenberg-Karp conjecture&lt;/a&gt; applies to graph properties that are monotone upwards (i.e if G satisfies the property, then so does any graph on the same nodes whose edge set contains E(G)). &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2010-09-05T23:01:57.880" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="1008" PostTypeId="1" AcceptedAnswerId="1009" CreationDate="2010-09-06T00:10:42.157" Score="9" ViewCount="450" Body="&lt;p&gt;So I have an issue I'm facing in regards to clustering with live, continuously streaming data.  Since I have an ever-growing data set I'm not sure what is the best way to run efficient and effective clustering.  I've come up with a few possible solutions including:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Setting a limit on how many data points to allow, thus whenever the limit is reached as another data point comes in the oldest point is removed.  Essentially, this would suggest that older data isn't relevant enough to us anymore to care what we're losing by throwing it out.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Once there is enough data to make a good clustering, consider this &quot;the setup&quot; and as new points come, rather than re-clustering all the data just figure out which cluster center the new point is closest to and add it to that.  The benefit here is you could avoid having to re-cluster on every new point and you wouldn't have to store all the other points, just the cluster centers, considering this clustering &quot;good enough&quot;.  The downside is that re-running the algorithm with all data points from the beginning may be more accurate.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;While those are some potential solutions I brain-stormed, I'd like to know if there are any better known techniques to face this problem.  I figure sites like Google had to deal with it somehow (and I'm hoping that &quot;add more ram, servers and processors&quot; or &quot;continually expand your data centers&quot; aren't the only answers available).&lt;/p&gt;&#xA;" OwnerDisplayName="brian" LastEditorUserId="80" LastEditDate="2010-09-06T02:00:26.997" LastActivityDate="2010-09-06T10:42:26.423" Title="Continuous Clustering" Tags="&lt;ds.algorithms&gt;&lt;clustering&gt;&lt;online-algorithms&gt;&lt;data-streams&gt;" AnswerCount="4" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="1009" PostTypeId="2" ParentId="1008" CreationDate="2010-09-06T00:36:19.450" Score="6" Body="&lt;p&gt;It sounds like you're looking for &lt;a href=&quot;http://en.wikipedia.org/wiki/Online_algorithm&quot; rel=&quot;nofollow&quot;&gt;online algorithms&lt;/a&gt; for clustering. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I suggest searching for &quot;online clustering&quot; on Google Scholar. Maybe the following links will prove useful (at least as a starting point). &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Guha et al.: &lt;a href=&quot;http://doi.ieeecomputersociety.org/10.1109/TKDE.2003.1198387&quot; rel=&quot;nofollow&quot;&gt;Clustering Data Streams: Theory and Practice&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Beringer and Hüllermeier: &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.83.728&quot; rel=&quot;nofollow&quot;&gt;Online clustering of data streams&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="295" LastActivityDate="2010-09-06T00:36:19.450" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1010" PostTypeId="2" ParentId="992" CreationDate="2010-09-06T01:13:48.813" Score="6" Body="&lt;p&gt;A function $T \colon \mathbb{N} \to \mathbb{N}$ is time constructible if there is a Turing machine $M$ which, on input $1^n$, computes the function $x \mapsto T(|x|)$ in time $O(T(n))$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A function $S \colon \mathbb{N} \to \mathbb{N}$ is space constructible if there is a Turing machine $M$ which, on input $1^n$, computes the function $x \mapsto S(|x|)$ in space $O(S(n))$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some texts require that time/space constructible functions be non-decreasing. Some texts require the time constructible functions satisfy $T(n)\ge n$, and the space constructible functions satisfy $S(n)\ge \log n$. Some texts do not make use of the $O(\cdot)$ notation in the definition.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Anyway, it is easy to show that every &quot;ordinary&quot; function $f$, satisfying $f(n)\ge \log n$ and $f(n) = o(n)$ is space constructible, but not time constructible.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The constructibility problem is not directly related to possible separation between complexity classes DTIME(f(n)) and SPACE(f(n)). However, the statement of time and space hierarchy theorems incorporates the constructibility. For example:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;b&gt;Time Hierarchy Theorem&lt;/b&gt;&#xA;If $f$, $g$ are time-constructible functions satisfying $f(n)\log f(n) = o(g(n))$, then&#xA;$\mathbf{DTIME}(f(n))$ is a &lt;i&gt;proper&lt;/i&gt; subset of $\mathbf{DTIME}(g(n))$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0521424267&quot;&gt;Arora &amp;amp; Barak's book&lt;/a&gt; or &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0201530821&quot;&gt;Papadimitriou's&lt;/a&gt; for more information. (The latter uses the term &quot;proper complexity function&quot; to refer to one that is both time and space constructible.)&lt;/p&gt;&#xA;" OwnerUserId="873" LastEditorUserId="873" LastEditDate="2010-09-20T17:42:43.760" LastActivityDate="2010-09-20T17:42:43.760" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="1011" PostTypeId="2" ParentId="894" CreationDate="2010-09-06T01:26:59.130" Score="0" Body="&lt;p&gt;Competitive analysis&#xA;In &lt;a href=&quot;http://en.wikipedia.org/wiki/Page_replacement_algorithm&quot; rel=&quot;nofollow&quot;&gt;Page replacement algorithm&lt;/a&gt;, one method overweights the other by less page missing. Less page missing illustrates &quot;less running time&quot;.  Besides, competitive analysis is a method to compare &#xA;two methods relatively. A good reference book is &quot;ONLINE COMPUTATION AND COMPETITIVE ANALYSIS&quot; from Allan Borodin.&lt;/p&gt;&#xA;" OwnerUserId="917" LastActivityDate="2010-09-06T01:26:59.130" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1012" PostTypeId="2" ParentId="1008" CreationDate="2010-09-06T02:00:10.100" Score="9" Body="&lt;p&gt;There's a fair amount of work on stream clustering (which is slightly different to online methods, but is essentially what you want). The above reference by Guha et al is a very good one, and for a more general perspective on what kinds of techniques work, and what methods have been used in the past (both heuristic and precise), you might want to look at &lt;a href=&quot;http://www.cs.utah.edu/~suresh/web/2008/03/29/clustering-on-streams/&quot; rel=&quot;nofollow&quot;&gt;my survey on clustering on streams&lt;/a&gt;. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2010-09-06T02:00:10.100" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1013" PostTypeId="2" ParentId="1005" CreationDate="2010-09-06T02:03:49.490" Score="13" Body="&lt;p&gt;Hereditary properties are very &quot;robust&quot; in the following sense.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Noga Alon and Asaf Shapira &lt;a href=&quot;http://people.math.gatech.edu/~asafico/heredit.pdf&quot;&gt;showed&lt;/a&gt; that for any hereditary property ${\cal P}$, if a graph $G$ needs more than $\epsilon n^2$ edges to be added or removed in order to satisfy ${\cal P}$, then there is a subgraph in $G$, of size at most $f_{\cal P}(\epsilon)$, which does not satisfy ${\cal P}$.  Here, the function $f$ only depends on the property ${\cal P}$ (and not on the size of the graph $G$, for instance).  Erdős had made such a conjecture only about the property of $k$-colorability.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Indeed, Alon and Shapira prove the following stronger fact: given ${\cal P}$, for any $\epsilon$ in $(0,1)$, there are $N(\epsilon)$, $h(\epsilon)$ and $\delta(\epsilon)$ such that if a graph $G$ has at least $N$ vertices and needs at least $\epsilon n^2$ edges added/removed in order to satisfy ${\cal P}$, then for at least $\delta$ fraction of induced subgraphs on $h$ vertices, the induced subgraph violates ${\cal P}$.  Thus, if $\epsilon$ and the property ${\cal P}$ are fixed, in order to test if an input graph satisfies ${\cal P}$ or is $\epsilon$-far from satisfying ${\cal P}$, then one only needs to query the edges of a random induced subgraph of constant size from the graph and check if it satisfies the property or not.  Such a tester would always accept graphs satisfying ${\cal P}$ and would reject graphs $\epsilon$-far from satisfying it with constant probability.  Furthermore, any property that is one-sided testable in this sense is a hereditary property!  See the paper by Alon and Shapira for details.&lt;/p&gt;&#xA;" OwnerUserId="15" LastEditorUserId="15" LastEditDate="2010-09-06T02:12:06.663" LastActivityDate="2010-09-06T02:12:06.663" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="1014" PostTypeId="2" ParentId="1008" CreationDate="2010-09-06T02:48:03.027" Score="7" Body="&lt;p&gt;You can also take a look at the notes for &#xA;&lt;a href=&quot;http://stellar.mit.edu/S/course/6/fa07/6.895/courseMaterial/topics/topic6/lectureNotes/lecture14/lecture14.pdf&quot; rel=&quot;nofollow&quot;&gt;Lecture 14&lt;/a&gt; and &#xA;&lt;a href=&quot;http://stellar.mit.edu/S/course/6/fa07/6.895/courseMaterial/topics/topic6/lectureNotes/lec15/lec15.pdf&quot; rel=&quot;nofollow&quot;&gt;Lecture 15&lt;/a&gt; &#xA;of my course on data stream algorithms.&lt;/p&gt;&#xA;" OwnerUserId="533" LastActivityDate="2010-09-06T02:48:03.027" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1015" PostTypeId="1" CreationDate="2010-09-06T04:38:26.640" Score="60" ViewCount="7846" Body="&lt;p&gt;In the thread &lt;a href=&quot;https://cstheory.stackexchange.com/questions/174/major-unsolved-problems-in-theoretical-computer-science&quot;&gt;Major unsolved problems in theoretical computer science?&lt;/a&gt;, Iddo Tzameret made the following excellent comment:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;I think we should distinguish between major open problems that are viewed as fundamental  problems, like $ P\neq NP $, and major open problems which will constitute a technical breakthrough, if solved, but are not necessarily as fundamental, e.g., exponential lower bounds on $ AC^0(6) $ circuits (i.e., $ AC^0+\mod 6 $ gates). So we should possibly open a new community wiki entitled &quot;open problems in the frontiers of TCS&quot;, or the like.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Since Iddo did not start the thread, I thought I'll start this thread.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Often the main open problems of fields are known to researchers working in related fields, but the point at which current research is stuck is unknown to outsiders. The quoted example is a good one. As an outsider, it is clear that one of the biggest problems in circuit complexity is to show that NP requires super-polynomial size circuits. But outsiders may not be aware that the current point at which we are stuck is trying to prove exponential lower bounds for AC&lt;sup&gt;0&lt;/sup&gt; circuits with mod 6 gates. (Of course there could be other circuit complexity problems of similar difficulty which would describe where we are stuck. This is not unique.) &#xA;Another example is to show time-space lower bounds for SAT better than n&lt;sup&gt;1.801&lt;/sup&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This thread is for examples like this. Since it is hard to characterize such problems, I'll just give some examples of properties that such problems possess:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Will often not be the big open problems of the field, but will be a big breakthrough if solved. &lt;/li&gt;&#xA;&lt;li&gt;Usually not unbelievably hard, in the sense that if someone told you that the problem was solved yesterday, this would not be too hard to believe. &lt;/li&gt;&#xA;&lt;li&gt;These problems will also often have numbers or constants that are not fundamental, but they arise because this happens to be where we are stuck.&lt;/li&gt;&#xA;&lt;li&gt;The problem at the frontiers of a particular field will keep changing from time to time, as opposed to the biggest problem in the field, which will remain the same for many many years.&lt;/li&gt;&#xA;&lt;li&gt;Often these problems are the easiest problems that are still open. For example we don't have exponential lower bounds for AC&lt;sup&gt;1&lt;/sup&gt; either, but since $AC^0$[6] is included in that class, it is formally easier to show lower bounds for $AC^0$[6], and thus that is at the current frontier of circuit complexity.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Please post one example per answer; standard big-list and CW conventions apply. If someone can explain what types of problems we're looking for better than I have, please feel free to edit this post and make appropriate changes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT: Kaveh suggested that answers also include an explanation as to why a given problem is at the frontier. For example, why are we looking for lower bounds against AC&lt;sup&gt;0&lt;/sup&gt;[6] and not AC&lt;sup&gt;0&lt;/sup&gt;[3]? The answer is that we do have lower bounds against AC&lt;sup&gt;0&lt;/sup&gt;[3]. But then the obvious question is why do those methods fail for AC&lt;sup&gt;0&lt;/sup&gt;[6]. It would be nice if answers could explain this too. &lt;/p&gt;&#xA;" OwnerUserId="206" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2020-06-04T02:45:35.147" Title="Open problems on the frontiers of TCS" Tags="&lt;big-list&gt;&lt;open-problem&gt;" AnswerCount="13" CommentCount="6" FavoriteCount="59" CommunityOwnedDate="2010-09-06T04:38:26.640" ContentLicense="CC BY-SA 2.5" />
  <row Id="1016" PostTypeId="2" ParentId="1015" CreationDate="2010-09-06T04:52:22.743" Score="22" Body="&lt;p&gt;This is already mentioned in the question:&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Open:&lt;/h2&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strike&gt; Separate $EXP^{NP}$ from $AC^0_2[6]$ ($AC^0[6]$ circuits of depth 2). &lt;/strike&gt; (see the update below)&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;[Nov. 11, 2010] Separate $EXP$ from $AC^0_2[6]$.&#xA;  Separate $EXP^{NP}$ from $TC^0$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;h2&gt;Known:&lt;/h2&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;[Alexander Razborov 1987 - Roman Smolensky 1987] $MOD_m$ is not in $AC^0[p^k]$ if $p$ is a prime and $m$ is not a power of $p$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;[Arkadev Chattopadhyay and Avi Wigderson 2009] Let m, q be co-prime integers such that m is square-free and has at most two prime factors. Let C be any circuit of type $MAJoGoMOD^A_m$ where $G$ is either $AND$ or $OR$ gate and the $MOD_m$ gates at the base have arbitrary accepting sets. If C computes $MOD_q$ then the top fan-in, and hence the circuit size, must be $2^{{\Omega(n)}}$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;The later result is based on obtaining exponentially small correlation bound of $MOD_q$ function with depth-2 subcircuits and estimating exponential sums involving low degree polynomials.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Obstacles:&#xA;?&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;h3&gt;Update [Nov. 10, 2010]&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;A &lt;a href=&quot;http://www.cs.cmu.edu/~ryanw/acc-lbs.pdf&quot;&gt;paper&lt;/a&gt; by &lt;a href=&quot;http://www.cs.cmu.edu/~ryanw/&quot;&gt;Ryan Williams&lt;/a&gt; seems to have settled this open problem using methods which seem to be essentially different from those mentioned above:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;[Ryan Williams 2010] $E^{NP}$ does not have non-uniform $ACC^0$ circuits of size $2^{n^{o(1)}}$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;References: &lt;br/&gt;&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;A. A. Razborov. Lower bounds on the size of bounded depth networks over&#xA;a complete basis with logical addition (Russian), in Matematicheskie Zametki,&#xA;41(4):598–607, 1987. English Translation in Mathematical Notes of the Academy&#xA;of Sciences of the USSR, 41(4):333–338, 1987.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;R. Smolensky. Algebraic methods in the theory of lower bounds for Boolean&#xA;circuit complexity. In STOC, pages 77–82. ACM, 1987.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Arkadev Chattopadhyay and Avi Wigderson. &lt;a href=&quot;http://www.cs.mcgill.ca/~achatt3/singleLayer2G.pdf&quot;&gt;Linear Systems over Composite Moduli&lt;/a&gt;, FOCS 2009&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Ryan Williams. &lt;a href=&quot;http://www.cs.cmu.edu/~ryanw/acc-lbs.pdf&quot;&gt;Non-Uniform ACC Circuit Lower Bounds&lt;/a&gt;, 2010, draft (submitted?).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="186" LastEditorUserId="1800" LastEditDate="2010-11-10T12:19:51.793" LastActivityDate="2010-11-10T12:19:51.793" CommentCount="8" CommunityOwnedDate="2010-09-06T04:52:22.743" ContentLicense="CC BY-SA 2.5" />
  <row Id="1017" PostTypeId="2" ParentId="238" CreationDate="2010-09-06T05:29:52.300" Score="19" Body="&lt;p&gt;Sanjeev Arora has a good set of notes he calls &lt;a href=&quot;http://www.cs.princeton.edu/courses/archive/fall02/cs597D/&quot;&gt;&quot;A Theorist's Toolkit&quot;&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="835" LastActivityDate="2010-09-06T05:29:52.300" CommentCount="1" CommunityOwnedDate="2010-09-06T05:29:52.300" ContentLicense="CC BY-SA 2.5" />
  <row Id="1019" PostTypeId="2" ParentId="1015" CreationDate="2010-09-06T07:30:53.517" Score="15" Body="&lt;p&gt;Prove that for every $c &gt; 0$, there is a language in $E^{NP}$ that doesn't have (non-uniform) circuits with $c n$ wires. Recall that $E = \bigcup_{k \geq 1} TIME[2^{k n}]$. That is, prove superlinear circuit lower bounds for exponential time with access to an $NP$ oracle. &lt;/p&gt;&#xA;" OwnerUserId="225" LastActivityDate="2010-09-06T07:30:53.517" CommentCount="2" CommunityOwnedDate="2010-09-06T07:30:53.517" ContentLicense="CC BY-SA 2.5" />
  <row Id="1020" PostTypeId="2" ParentId="1015" CreationDate="2010-09-06T07:56:59.930" Score="31" Body="&lt;p&gt;Here are three in shortest paths research:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$1$. Is there a linear time algorithm for single source shortest paths in directed graphs with nonnegative weights, at least in the word-RAM model of computation? Note that a linear time algorithm exists for undirected graphs (see Thorup's paper). Based on that, Hagerup has a runtime of $O(n+m\log w)$ for directed graphs with weights bounded by $2^w$. Is there a faster algorithm?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$2$. Is there an $O(n^\omega$ polylog $n)$ algorithm for all pairs shortest paths in unweighted directed graphs? ($\omega&amp;lt;2.376$ is the exponent of matrix multiplication) The current best runtime is $O(n^{2.575})$ by Zwick, and for undirected graphs the problem can be solved in $O(n^\omega$ polylog $n)$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Are the directed problems actually harder?)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$3$. Is there an $O(n^{2.9})$ algorithm for all pairs shortest paths in $n$-node graphs with weights in {$0,\ldots,n$}? Or, is there a reduction from the general all pairs shortest paths problem to this restriction?&lt;/p&gt;&#xA;" OwnerUserId="410" LastEditorUserId="410" LastEditDate="2010-09-07T16:55:21.153" LastActivityDate="2010-09-07T16:55:21.153" CommentCount="0" CommunityOwnedDate="2010-09-06T07:56:59.930" ContentLicense="CC BY-SA 2.5" />
  <row Id="1021" PostTypeId="2" ParentId="448" CreationDate="2010-09-06T08:28:04.170" Score="19" Body="&lt;p&gt;These expressions have been examined by Aho (Handbook of Theoretical Computer Science, Vol. A, Chp. 5) and Campeanu, Salomaa, Yu (&quot;A formal study of practical regular expressions&quot;, International Journal of Foundations of Computer Science, 14:1007–1018, 2003), as well as some of follow-up papers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Aho calls the more powerful expressions &quot;rewbr&quot; (regular expression with backreferences), Campeanu et al. use &quot;extended regular expression&quot; as well as &quot;practical regular expression&quot;. As it seems, &quot;extended regular expression&quot; is the term most commonly used in recent literature. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Building on the term &quot;rational expression&quot; from the French school, and considering the fact that those expressions are used in the real world, I myself like &quot;real expression&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Addendum:&lt;/strong&gt; A chapter in my PhD thesis deals with this class of formal languages (the corresponding paper is due to appear at STACS 2011). While writing that chapter and the paper, I experimented with various terms. Finally, I decided to use &lt;em&gt;extended regular expressions&lt;/em&gt; for the model with backreferences, and &lt;em&gt;proper regular expressions&lt;/em&gt; for the nice and normal regular expressions. As it is quite annoying to change the terminology in a paper that is already completely (or mostly) written, I think that some might be interested in the experiences that led to my choice:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First, &lt;em&gt;regex&lt;/em&gt; and &lt;em&gt;rewbr&lt;/em&gt; don't really roll of the tongue, and using them again and again in the course of a whole paper got really tiresome to write and read, in particular when using any of the possible plural forms.  &lt;em&gt;PERL-like regular expressions&lt;/em&gt; were also quite unwieldy. Of course, I am no native speaker, so YMMV.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Second, as soon as one wants to talk about both models, it is convenient to use terms that are a variation of &lt;em&gt;regular expression&lt;/em&gt;, as this allows one to emphasize similarity or differences as needed (e.g., &quot;a regular expression, be it proper or extended&quot;). Furthermore, this allows one to easily emphasize the special case of &quot;extended regular expressions without backreferences&quot;, when talking about special cases in the whole class, instead of comparing different models.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Third, I preferred to use a term that is already used in literature over a newly coined term, which left me the choice between &lt;em&gt;extended regular expressions&lt;/em&gt; and &lt;em&gt;practical regular expressions&lt;/em&gt;. The second choice implied (at least implicitly) that proper regular expressions are somehow impractical, which felt rather weird (especially as Google's RE2 does not use backrefs, and appears to be quite practical).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course, this choice is only my &quot;personal local maximum&quot;, and depending on ones needs, other choices might be more appropriate.&lt;/p&gt;&#xA;" OwnerUserId="924" LastEditorUserId="924" LastEditDate="2011-02-01T10:57:52.530" LastActivityDate="2011-02-01T10:57:52.530" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="1022" PostTypeId="2" ParentId="1008" CreationDate="2010-09-06T10:42:26.423" Score="4" Body="&lt;p&gt;I like Suresh's survey above, and summarizes different approaches in stream clustering. You didnt ask for this, but it is possible in some cases, the problem is that the continuous data is seen by distributed servers, one has to maintain a clustering at the center, and not have to move a lot of data around. See &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.131.5316&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;. &lt;/p&gt;&#xA;" OwnerUserId="927" LastActivityDate="2010-09-06T10:42:26.423" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="1023" PostTypeId="1" CreationDate="2010-09-06T12:38:12.570" Score="0" ViewCount="2725" Body="&lt;p&gt;Hello everybody here is a problem i have approximated but would like to hear your opinion about. Perhaps someone finds a better solution than me :)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a Graph G with undirected edges: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Divide it into the minimal number of sets, so that :&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;No two nodes in a set are connected to each other&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Every node is member of at least one set&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;for any two distinct nodes x and y, there is a set which contains exactly one of x and y. All nodes appear in a different combination of sets. That means node x and y do not appear only in the same sets together. if you expressed the appearence of the nodes as a bit pattern, the bit pattern would differ at least in one digit. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Put another way, we want to find a 0-1 matrix with $|V|$ rows and a &lt;em&gt;minimum&lt;/em&gt; number of columns, such that (1) each column denotes an independent set in the graph $G$, (2) every row has at least one $1$ in it, and (3) every pair of rows differs in at least one bit. Note it is trivial to give an $|V| \times |V|$ matrix of this kind for every $G$: just take the identity matrix. The problem becomes interesting when the number of columns can be made much smaller.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Example: B has no adjacent nodes, D=&gt;A, A=&gt;D&lt;/p&gt;&#xA;&#xA;&lt;p&gt;solution:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;A B /&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;/ B D&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;A : 1 = 10&lt;/li&gt;&#xA;&lt;li&gt;B : 2 = 11&lt;/li&gt;&#xA;&lt;li&gt;D : 3 = 01&lt;/li&gt;&#xA;&lt;/ol&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;not a solution: &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;A D B&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;/ D B&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;A : 1 = 10&lt;/li&gt;&#xA;&lt;li&gt;D : 2 = 11  _ same combination of &lt;/li&gt;&#xA;&lt;li&gt;B : 3 = 11  / sets&lt;/li&gt;&#xA;&lt;/ol&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;D and B appear in the same combination of sets. D appears in the second and third set, as well as B. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;what i need is something of a dynamic programming equation or another kind of solution that gives me an exact solution to this problem. I know that it is NP-hard, so an exponential solution is fine with me. ( i did a reduction onto Clique and Max-Sat) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;An optimal solution would give me the composition of the sets, so that the number of sets is minimal, yet all nodes are part of the solution.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;thanks for your help.&lt;/p&gt;&#xA;" OwnerUserId="931" LastEditorUserId="567" LastEditDate="2010-10-09T17:41:21.963" LastActivityDate="2010-10-10T10:53:55.837" Title="Dynamic programming algorithm for NP-complete problem" Tags="&lt;ds.algorithms&gt;&lt;set-cover&gt;&lt;exp-time-algorithms&gt;" AnswerCount="2" CommentCount="17" FavoriteCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1024" PostTypeId="2" ParentId="1023" CreationDate="2010-09-06T13:00:31.217" Score="0" Body="&lt;p&gt;Given G = (V,E), If 3 means that when you take the union of all your sets you get V,&#xA;I can not see why the following naive algorithm does not work:&#xA;1. Compute the connected components of G&#xA;2. while there is at least one non empty connected component, remove one vertex from each non empty &#xA;connected component and put  them in a new set.&lt;/p&gt;&#xA;" OwnerDisplayName="alex" LastActivityDate="2010-09-06T13:00:31.217" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="1025" PostTypeId="1" CreationDate="2010-09-06T14:50:00.677" Score="12" ViewCount="404" Body="&lt;p&gt;Graph colouring problems are, already, &lt;a href=&quot;http://en.wikipedia.org/wiki/Graph_coloring#Computational_complexity&quot; rel=&quot;nofollow noreferrer&quot;&gt;hard enough for most people&lt;/a&gt;. Even so, I'm going to have to be difficult and ask a problem about hypergraph colouring.&lt;/p&gt;&#xA;&lt;h2&gt;Question.&lt;/h2&gt;&#xA;&lt;p&gt;What efficient algorithms are there for finding an approximately-optimal edge-colouring  for k-uniform hypergraphs?&lt;/p&gt;&#xA;&lt;p&gt;&lt;em&gt;Details ---&lt;/em&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;A k-uniform hypergraph is one in which each edge contains precisely k vertices; the usual case of a simple graph is k=2. More precisely, I'm interested in &lt;em&gt;labelled&lt;/em&gt; k-uniform hypergraphs, in which two edges may actually have the same vertex-set; but I'll settle for something on k-regular hypergraphs with edges intersecting at no more than k−1 vertices.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;An edge-colouring of hypergraphs is one in which edges of the same colour do not intersect, as with the case of graphs. The chromatic index χ'(H) is the minumum number of colours required, as usual.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;I would like results on deterministic or randomized polynomial time algorithms.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;I'm looking for the best known approximation-factor/additive-gap between what can be efficiently found, and the actual chromatic index χ'(H) --- or for that matter, the best efficiently-attainable result in terms of parameters such as the maximum vertex degree Δ(H), the size of the hypergraph, &lt;em&gt;etc.&lt;/em&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;strong&gt;Edit:&lt;/strong&gt; prompted by Suresh's remarks about hypergraph duals below, I should note that this problem is equivalent to the problem of finding a &lt;a href=&quot;https://cstheory.stackexchange.com/q/352/248&quot;&gt;&lt;em&gt;strong vertex colouring&lt;/em&gt;&lt;/a&gt; of a &lt;em&gt;k-regular&lt;/em&gt; hypergraph: that is, where each vertex belongs to k distinct edges [but the edges may now contain differing numbers of vertices], and we want a vertex colouring such that any two adjacent vertices have different colours. This reformulation also does not seem to have an obvious solution.&#xA;&lt;br&gt;&lt;br&gt;&lt;/p&gt;&#xA;&lt;h2&gt;Remarks&lt;/h2&gt;&#xA;&lt;p&gt;In the case of graphs, &lt;a href=&quot;http://en.wikipedia.org/wiki/Vizing%27s_theorem#Properties&quot; rel=&quot;nofollow noreferrer&quot;&gt;&lt;strong&gt;Vizing's Theorem&lt;/strong&gt;&lt;/a&gt; not only guarantees that the edge-chromatic number for a graph G is either Δ(G) or Δ(G)+1, standard proofs of it also give an efficient algorithm for finding a Δ(G)+1-edge-colouring. This result would be good enough for me if I were interested in the case k=2; however, I'm specifically interested in k&amp;gt;2 arbitrary.&lt;/p&gt;&#xA;&lt;p&gt;There doesn't seem to be any well-known results about bounds on hypergraph-edge-colouring, unless you add restrictions such as every edge intersecting in at most t vertices. But I don't need bounds on χ'(H) itself; just an algorithm which will find a &amp;quot;good enough&amp;quot; edge-colouring. [I also don't want to place any restrictions on my hypergraphs, except for being k-uniform, and perhaps bounds on the maximum vertex-degree, &lt;em&gt;e.g.&lt;/em&gt; Δ(H) ≤ f(k) for some f ∈ ω(1).]&lt;/p&gt;&#xA;&lt;p&gt;[&lt;strong&gt;Addendum.&lt;/strong&gt; I have now asked &lt;a href=&quot;https://mathoverflow.net/questions/38853/bounds-on-strong-vertex-colourings-of-regular-hypergraphs&quot;&gt;a related question on MathOverlow&lt;/a&gt; about bounds on the chromatic number, constructive or otherwise.]&lt;/p&gt;&#xA;" OwnerUserId="248" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2010-09-20T05:34:03.703" Title="Efficient algorithm for near-optimal edge-colourings of hypergraphs" Tags="&lt;co.combinatorics&gt;&lt;hypergraphs&gt;&lt;graph-colouring&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="6" ContentLicense="CC BY-SA 2.5" />
  <row Id="1026" PostTypeId="1" AcceptedAnswerId="1449" CreationDate="2010-09-06T15:14:34.583" Score="34" ViewCount="4269" Body="&lt;p&gt;In 1995, Russell Impagliazzo proposed five complexity worlds:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1- Algorithmica: $P=NP$ with all the amazing consequences.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2- Heuristica: $NP$-complete problems are hard in the worst-case ($P \ne NP$) but are efficiently solvable in the average-case.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;3- Pessiland: There exist average-case $NP$-complete problems but one-way functions do not exist. This implies that we can not generate hard instances of $NP$-complete problem with known solution.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;4- Minicrypt: One-way functions exist but public-key cryptographic systems are impossible&lt;/p&gt;&#xA;&#xA;&lt;p&gt;5- Cryptomania: Public-key cryptographic systems exist and secure communication is possible.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Which world is favored by the recent advances in computational complexity? What is the best evidence for the choice?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.computer.org/portal/web/csdl/doi/10.1109/SCT.1995.514853&quot;&gt;Russell Impagliazzo, A Personal View of Average-Case Complexity&lt;/a&gt;&#xA;&lt;a href=&quot;http://www.computer.org/portal/web/csdl/doi/10.1109/SCT.1995.514853&quot;&gt;, 1995&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://blog.computationalcomplexity.org/2004/06/impagliazzos-five-worlds.html&quot;&gt;Impagliazzo's Five Worlds,&lt;/a&gt;&#xA;&lt;a href=&quot;http://blog.computationalcomplexity.org/2004/06/impagliazzos-five-worlds.html&quot;&gt;The Computational Complexity&#xA;     blog&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2011-02-08T16:43:05.847" LastActivityDate="2011-02-08T19:17:45.127" Title="Status of Impagliazzo's Worlds?" Tags="&lt;cc.complexity-theory&gt;&lt;conditional-results&gt;&lt;average-case-complexity&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="19" ContentLicense="CC BY-SA 2.5" />
  <row Id="1028" PostTypeId="2" ParentId="1023" CreationDate="2010-09-06T16:21:38.567" Score="1" Body="&lt;p&gt;[Edited ro reflect the intended meaning of the 3rd condition]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I believe you you describe the graph vertex coloration problem with a variation . We allow a vertex to have multiple colours : &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;No adjacent nodes should be colored with the same color.&lt;/li&gt;&#xA;&lt;li&gt;Every node should have at least one color.&lt;/li&gt;&#xA;&lt;li&gt;For every pair of nodes (x,y) with x /neq y , one of these nodes must be colored with a color that the other is not colored with.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;I want to present two situations, due to the nature of condition 3.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;a) If only 1 and 2 apply. The minimum number of sets will be found if we color each node with only one color. Every other color applied to a node not only does not help solve the problem, but it adds additional constraints. Therefore this problem can be reduced to the single-colored vertex coloring problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;b) 1,2 and 3 apply. For starters, let's 1-colour the graph. That give us a number of sets, let it be S1. For node belonging to different colours, the 3rd condition holds. However, for nodes belonging to the same colour, it doesn't. For every set, the problem of separating the same-set nodes reduces to colouring a full node graph, which we know needs N colours. However, we need not use new colours. We can re-use the already-used colours that of course obey the condition 1. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Therefore, we can create a graph this way: Create a full graph containing all the nodes in the same set. Then, extend it with the nodes that are adjacent to the set colours. Maintain the existing colour for the added nodes (not belonging to the full graph). Also, add a node with the color of the set that is adjacent to every other node in the full graph, so that the original colour cannot be used. Then, try to colour the new graph. Repeat for every set (S1 repeats).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A sketch of the algorithm follows&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Multi-colour(graph G) :&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Color the graph with 1 color per node. Let S0 be the number of colors used.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;For every color ( i from 1 to S0 ) : &lt;/p&gt;&#xA;&#xA;&lt;p&gt;a. Create a full graph containing the nodes with THIS color.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;b. Add to the graph the nodes adjacent to the nodes colored with THIS color. The adjacent nodes are colored with their colored from step 1.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;c. Add a node adjacent to the nodes from step a. Color it with THIS color.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;d. Color the graph. Prefer colors that were used in step 1. if none is eligible, use a NEW color.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;e. Add every NEW color to the list of &quot;used&quot; colors. Let Si be the number of new colors used. (Si can be zero or positive ). S0 = S0 + Si . &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;S0 is the number of minimum sets.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Complexity: The number of sets created by step 1 is O(n), where n is the number of vertices. Therefore this problem belongs in the same complexity as the graph coloring problem. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;My algorithm is a top-down approach, therefore it is not dynamic programming. I do not know if dynamic programming could be applied to this problem. Does the Principle of Optimality hold for this problem?&lt;/p&gt;&#xA;" OwnerUserId="879" LastEditorUserId="879" LastEditDate="2010-09-09T01:18:59.047" LastActivityDate="2010-09-09T01:18:59.047" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="1029" PostTypeId="2" ParentId="1026" CreationDate="2010-09-06T16:38:07.893" Score="18" Body="&lt;p&gt;Good question, but scientist have not been able to even separate &quot;Algorithmica&quot; from the remaining cases, let alone decide the exact world we live in.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;That said, there are several research papers on the subject. See for example:&#xA;&lt;a href=&quot;http://www.wisdom.weizmann.ac.il/~oded/PS/npc-crypto.ps&quot; rel=&quot;nofollow noreferrer&quot;&gt;On the possibility of basing Cryptography on the assumption that P != NP&lt;/a&gt; by Goldreich and Goldwasser, and references thereof.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See also &lt;a href=&quot;http://portal.acm.org/citation.cfm?doid=1132516.1132614&quot; rel=&quot;nofollow noreferrer&quot;&gt;On basing one-way functions on NP-hardness&lt;/a&gt; by Adi Akavia &lt;em&gt;et al.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In addition, it is well known that decoding some cryptosystems is NP-hard (See, for example, the &lt;a href=&quot;http://en.wikipedia.org/wiki/McEliece_cryptosystem&quot; rel=&quot;nofollow noreferrer&quot;&gt;McEliece cryptosystem&lt;/a&gt;, or &lt;a href=&quot;http://en.wikipedia.org/wiki/Lattice-based_cryptography&quot; rel=&quot;nofollow noreferrer&quot;&gt;Lattice-based cryptography&lt;/a&gt;). &lt;strike&gt;I don't know why this does NOT resolve the problem, since I'm not familiar with such cryptosystems.&lt;/strike&gt;See Peter Shor comments below.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I also suggest you take a quick look at the discussion at &lt;a href=&quot;https://stackoverflow.com/questions/311064/are-there-public-key-cryptography-algorithms-that-are-provably-np-hard-to-defeat&quot;&gt;Stackoverflow&lt;/a&gt;. Reviewing the literature which &lt;a href=&quot;http://scholar.google.com/scholar?cites=10491271149759669045&amp;amp;as_sdt=2005&amp;amp;sciodt=2000&amp;amp;hl=en&quot; rel=&quot;nofollow noreferrer&quot;&gt;cites Impagliazzo's work&lt;/a&gt; can also be instructive.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT:&lt;/strong&gt;&#xA;&lt;em&gt;The following results might be of interest:&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Feigenbaum and Fortnow. Random-Self-Reducibility of Complete Sets.&#xA;SIAM Journal on Computing, 22:994–1005, 1993.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Bogdanov and Trevisan. On Worst-Case to Average-Case Reductions for NP&#xA;Problems. In Proceedings of the 44th Annual IEEE Symposium on Foundations&#xA;of Computer Science, pages 308–317, 2003.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.wisdom.weizmann.ac.il/~oded/p_aggm.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;Akavia, Goldreich, Goldwasser, and Moshkovitz. On Basing One-Way Functions on NP-Hardness&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.cs.tau.ac.il/~amnon/Papers/GT.ECCC06.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Gutfreund and Ta-Shma. New connections between derandomization, worst-case complexity and average-case complexity. Tech. Rep. TR06-108, Electronic Colloquium on Computational Complexity, 2006.&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Bogdanov and Trevisan. Average-case complexity. Found. Trends Theor. Comput. Sci. 2, 1 (Oct. 2006), 1-106. DOI= &lt;a href=&quot;http://dx.doi.org/10.1561/0400000004&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://dx.doi.org/10.1561/0400000004&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="873" LastEditorUserId="-1" LastEditDate="2017-05-23T12:40:09.333" LastActivityDate="2011-02-08T19:17:45.127" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="1030" PostTypeId="2" ParentId="963" CreationDate="2010-09-06T17:26:04.257" Score="12" Body="&lt;p&gt;I think the following paper will help:&#xA;&lt;a href=&quot;http://dx.doi.org/10.1016/j.tcs.2007.06.013&quot; rel=&quot;noreferrer&quot;&gt;Polylogarithmic-round interactive proofs for coNP collapse the exponential hierarchy&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It states that $\mathbf{coNP} \not\subset \mathbf{IP}[\log^{O(1)} n]$ unless the exponential hierarchy collapses. ($\mathbf{IP}[k]$ is the class of languages possessing $k$-move interactive proofs.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Regarding the natural relation between interactive &amp;amp; probabilistically checkable proofs, I think the above result must help.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I also suggest taking a look at &lt;a href=&quot;http://www.cs.princeton.edu/~mohammad/files/papers/SamNP.pdf&quot; rel=&quot;noreferrer&quot;&gt;A New Sampling Protocol and Applications to Basing Cryptogaphic Primitives on the Hardness of NP&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="873" LastActivityDate="2010-09-06T17:26:04.257" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="1031" PostTypeId="2" ParentId="953" CreationDate="2010-09-06T18:27:18.440" Score="7" Body="&lt;p&gt;Let's start with the decision version of the problem: given a &quot;satisfaction level&quot; k, does there exist a matching where everyone gets matched to a person with at least k desired attributes.  This is just solving bipartite matching on a graph where we connect a male and a female if each gets satisfaction k from the other.  (Running time seems like O(mn^2).) To get the original problem, just do a binary search over k (for an extra log(m) factor in running time.)&lt;/p&gt;&#xA;" OwnerUserId="42" LastActivityDate="2010-09-06T18:27:18.440" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="1032" PostTypeId="2" ParentId="1015" CreationDate="2010-09-07T03:39:36.963" Score="16" Body="&lt;p&gt;OPEN:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Show a lower bound in the cell probe model for an explicit static data-structures problem, that proves that under some &quot;reasonable&quot; space restriction (e.g. that the space is polynomial in the size of the input), then the query time must be at least T, where T is larger than log|Q|, where Q is the set of queries. This is called the &quot;log|Q|-barrier&quot; (or sometimes, in a somewhat misnamed way, the &quot;logn-barrier&quot;). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;KNOWN:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;lower bounds higher than log|Q| for an implicit problem (see &lt;a href=&quot;http://www.daimi.au.dk/~bromille/Papers/survey3.ps&quot;&gt;Miltersen's survey&lt;/a&gt;)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;lower bounds higher than log|Q| with extreme space restrictions (e.g. Succinct lower bounds)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;lower bounds higher than log|Q| for dynamic problems (where I mean that if the update time is very small then the query time must be very large, or vice-versa; see e.g. Patrascu's lower bound for partial sum)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Lower bounds in restricted models, such as pointer machines, comparison model, etc &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;lower bounds that break the log|Q| barrier cannot be proved by the standard kind of reduction to communication complexity, because Alice can just send the query itself, which takes only log|Q| bits, and it is thus easy to verify that the reduction will never give a better lower bound than this. Thus, either a bound &quot;native&quot; to the cell probe model must be used, or some more clever reduction to communication complexity must be used.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="154" LastEditorUserId="154" LastEditDate="2010-09-13T00:37:05.580" LastActivityDate="2010-09-13T00:37:05.580" CommentCount="2" CommunityOwnedDate="2010-09-07T03:39:36.963" ContentLicense="CC BY-SA 2.5" />
  <row Id="1033" PostTypeId="2" ParentId="1025" CreationDate="2010-09-07T05:34:01.210" Score="3" Body="&lt;p&gt;The answer below breaks your condition that you don't want serious restrictions placed on your hypergraph, but it might be of interest if only as related work. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Your hypergraph (which I'll rename as a range space) has a corresponding dual range space (hypergraph) by interchanging the roles of vertices and edges. Your problem then amounts to coloring the elements of this range space so that a range of cardinality $r$ has $r$ colors. Let's call such a range colorful.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There's been some recent work on such &quot;colorful coloring&quot; problems for geometric range spaces, motivated partly by problems in sensor networks. A standard question that's asked is: &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Given a parameter $k$ and range space&#xA;  $S$, determine the function $c_S(k)$&#xA;  such that a $c_S(k)$ coloring of the&#xA;  elements of S guarantees that each&#xA;  range $r$ of $S$ has $\min(|r|, k)$&#xA;  colors. &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Thus, $c_S(\Delta)$ is the quantity you're looking for (where $\Delta$ is the maximum cardinality of a range).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A related question is to determine $c_\tilde{S}(k)$, where $\tilde{S}$ is the dual range space (in effect, your original hypergraph). &lt;a href=&quot;http://www.ulb.ac.be/di/algo/secollet/papers/ACCLS07c.pdf&quot; rel=&quot;nofollow&quot;&gt;One example of the kind of results obtained is that&lt;/a&gt;: &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;For $S$ being the space of halfplanes&#xA;  in $\Re^2$, $c_S(k) \le 3k-2$&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;A good reference for this body of work is the &lt;a href=&quot;http://www.springerlink.com/content/x60rr33547304780/&quot; rel=&quot;nofollow&quot;&gt;DCG paper by Aloupsis et al&lt;/a&gt;, and the references therein. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2010-09-07T05:34:01.210" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1034" PostTypeId="2" ParentId="912" CreationDate="2010-09-07T07:34:45.653" Score="2" Body="&lt;p&gt;And on the &lt;a href=&quot;http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=1459058&amp;amp;tag=1&quot; rel=&quot;nofollow&quot;&gt;main paper&lt;/a&gt; of Lehman's thesis, there is a good overview of the problem (section V B) with references.&lt;/p&gt;&#xA;" OwnerUserId="941" LastActivityDate="2010-09-07T07:34:45.653" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1035" PostTypeId="2" ParentId="12" CreationDate="2010-09-07T08:10:18.160" Score="11" Body="&lt;p&gt;For those not familiar with the multitude of acronyms found in &lt;a href=&quot;http://www.cs.umass.edu/~immerman/book/descriptiveComplexity.html&quot;&gt;Immerman's great diagram&lt;/a&gt; there is a Wikipedia article on &lt;a href=&quot;http://en.wikipedia.org/wiki/Descriptive_complexity&quot;&gt;descriptive complexity&lt;/a&gt;. There should be a diagram with links, so you could directly look up the definition in Complexity Zoo and other sources. I'd also like to better see the relations to the corresponding formal languages/grammars and where you can find the proof.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;i&gt;This is not an answer but a comment to Aarons answer, which I cannot comment on for some reason.&lt;/i&gt;&lt;/p&gt;&#xA;" OwnerUserId="758" LastActivityDate="2010-09-07T08:10:18.160" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="1037" PostTypeId="1" AcceptedAnswerId="1041" CreationDate="2010-09-07T11:23:41.690" Score="7" ViewCount="794" Body="&lt;p&gt;For a given algorithm (eg reverse the items in this list) and a given type of Turing machine (eg the 3-state 2-symbol busy beaver reduced to 5-tuples) - is there a single simplest way that this algorithm can be represented?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(&lt;a href=&quot;http://lambda-the-ultimate.org/node/3993&quot;&gt;This thread on LTU&lt;/a&gt; seems to suggest there are differences of opinion about what representing an algorithm on the Turing machine boils down to.)&lt;/p&gt;&#xA;" OwnerUserId="608" LastActivityDate="2010-09-07T14:38:41.917" Title="What does it mean that there are differing views on how computations are represented on the Turing Machine?" Tags="&lt;lambda-calculus&gt;&lt;turing-machines&gt;" AnswerCount="3" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="1038" PostTypeId="2" ParentId="1037" CreationDate="2010-09-07T13:00:14.570" Score="0" Body="&lt;p&gt;If my understanding of your question is correct, You want an algorithm to reverse a set of items in a list for one specific Turing machine. An algorithm is the Transition function that solves the problem. There are many representations for the same algorithm. They differ in terms of simplicity of their Transition function. So, there is no way to find the simplest representation of a given algorithm (if you mean by &quot;simple&quot; the size of the transition table representing the transition function). It depends on the creativity of the programmer.&lt;/p&gt;&#xA;" OwnerUserId="495" LastActivityDate="2010-09-07T13:00:14.570" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="1040" PostTypeId="2" ParentId="953" CreationDate="2010-09-07T13:31:30.673" Score="0" Body="&lt;p&gt;Isn't this just a variation of min-cost maximum bipartite matching? The weight for each edge equals the number of satisfied attributes, and instead of finding the maximum matching that gives you the smallest weight sum, you want the one for which the minimum edge weight is maximized.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If this understanding is correct, I would think that an augmenting path algorithm similar to Busacker–Gowen [&lt;a href=&quot;http://books.google.com/books?id=NvuFAglxaJkC&amp;amp;pg=PA299&quot; rel=&quot;nofollow&quot; title=&quot;1&quot;&gt;1&lt;/a&gt;] would work. Instead of always finding the cheapest augmenting path (in terms of weight sum), you would find the best one (maximizing the minimum edge). That, again, should be doable with a slight modification to any standard shortest-path algorithm (such as Dijkstra's, which is used in the version of Busacker–Gowen using the weight adjustment of Edmonds and Karp).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I guess you'd have to re-work the correctness proof, but I'd think it should work? The running time for an optimum flow with flow value v (that is, v matched pairs in this case) would be $O(v|E|\lg |V|)$ in the general case; here I guess that would be $O(vn^2\lg n)$, although it might be even lower for the specific application to bipartite matching. (Busacker–Gowen is a general min-cost flow algorithm.)&lt;/p&gt;&#xA;" OwnerUserId="901" LastActivityDate="2010-09-07T13:31:30.673" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1041" PostTypeId="2" ParentId="1037" CreationDate="2010-09-07T13:42:09.680" Score="16" Body="&lt;p&gt;It is not the algorithms that are represented in different ways, but input and output. Depending on how the input is encoded, a given problem might be hard or easy. To take a trivial example, consider the following encoding of Turing machines:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;A turing machine $T$ is represented by a number of the form $2 n + b$ where $n$ such&#xA;  that the binary digit expansion of $n$ gives a description of $T$'s program (encoded in a reasonable way). The number $b$ is $1$ if $T$ halts when run on empty input and $0$ otherwise.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;With this encoding of Turing machines the halting problem becomes very easily computable. Given a description of Turing machine, just look at the lowest bit to determine whether the machine stops.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The moral of the story is that encoding of data is meaningless until we also specify what sort of &lt;em&gt;structure&lt;/em&gt; we are trying to encode, i.e., which operations on data are supposed to be computable. (In the case of Turing machines it is known that the relevant operations are those of the &lt;a href=&quot;http://en.wikipedia.org/wiki/Smn_theorem&quot;&gt;s-m-n&lt;/a&gt; and &lt;a href=&quot;http://en.wikipedia.org/wiki/Utm_theorem&quot;&gt;u-t-m&lt;/a&gt; theorems, which fail for the silly encoding above.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In case we worry about computational complexity we also need to require that the data are suitably &quot;compressed&quot;, for example, if the input to an algorithm is a number $n$, it should be written with input of size $O(\log n)$, otherwise we can artificially &quot;boost&quot; the efficiency of the algorithm by writing down input in a very inefficient way.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we work with the usual Turing machines then all reasonable ways of representing data will be equivalent (even polynomial-time convertible). But with very small Turing machines one might be forced to represent inputs in very strange ways because the machine will lack the power to recode its input in whatever form is needed. Under such circumstances people might disagree what is a reasonable way of encoding input. For example, may the input be repeated twice (suppose the machine lacks the ability to go backwards but it needs to read the input twice to do its job)? May the input be repeated infinitely many times? If we impose no restrictions on how the input is presented to the machine, then the input itself might already contain the answer that the machine is supposedly computing (witness the example of the Halting problem above). Sometimes it is hard to tell whether a given representation is &quot;hiding&quot; extra information. An infamous example of this was the solution to the &lt;a href=&quot;http://www.wolframscience.com/prizes/tm23/index.html&quot;&gt;Wolfram 2,3 Turing machine research prize&lt;/a&gt; where the input tape had to contain an infinite repeating pattern in order for the machine to work correctly. I suggest you look at the archives of the Foundations of mathematics mailing list for a detailed discussion about the 2,3 prize and about how even minor changes in input representations can cause big jumps in the computational power of a machine. The relevant threads are:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://cs.nyu.edu/pipermail/fom/2007-October/012129.html&quot;&gt;Wolfram 2,3 Turing Machine Prize&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://cs.nyu.edu/pipermail/fom/2007-October/012132.html&quot;&gt;Smallest universal machine&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://cs.nyu.edu/pipermail/fom/2007-October/012145.html&quot;&gt;Definition of universal Turing machine&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://cs.nyu.edu/pipermail/fom/2007-October/012149.html&quot;&gt;Simple Turing machines, Universality, Encodings, etc.&lt;/a&gt; &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="705" LastActivityDate="2010-09-07T13:42:09.680" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="1043" PostTypeId="2" ParentId="1037" CreationDate="2010-09-07T14:38:41.917" Score="4" Body="&lt;p&gt;The short answer to your question is, yes.  Once you fix a particular encoding scheme for your TM and your inputs and outputs, then there is a smallest TM that will compute your function.  There may be multiple &quot;smallest&quot; TMs (of some size, say, k symbols), and if you want your choice to be unique, you could just choose the lexicographically first such TM.  Determining what this size k happens to be is undecidable in general, though.  This is essentially what Kolmogorov Complexity is all about, except that there the desired algorithm is something specific--what is the smallest TM that will output string x, starting with a blank input tape.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I can't comment on the discussion at LTU, except that it seems to be more focused on technical limitations of the lambda-calculus than on ambiguities about TM encodings.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think I'm going to take exception to Andrej's reply to your question.  Placing an answer to the halting question, or otherwise supplying the answer to the problem being input on the input itself, is a form of a promise problem.  The TM has no way of verifying the input--and if the input is &quot;lying&quot; then the TM is free to output whatever it wants.  So this doesn't really address the question at hand.  Likewise with the issue of Wolfram's minimalist machines.  When deciding whether those are Turing-equivalent or not, the question of how much one is allowed to massage the input becomes key.  But I wouldn't consider those machines to be TMs in the first place.  All of this falls under the stipulation, &quot;once you fix a particular encoding scheme...&quot;, and from the way you phrased your question it seems like you are also making this stipulation.&lt;/p&gt;&#xA;" OwnerUserId="184" LastActivityDate="2010-09-07T14:38:41.917" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1044" PostTypeId="2" ParentId="93" CreationDate="2010-09-07T14:45:48.000" Score="4" Body="&lt;p&gt;My understanding is the same as Lev Reyzin. It is possible that there exists a deterministic complete algorithm for SAT which runs in space O(n) and in time O(n). It's amazing that the existence of such an efficient algorithm is not prohibited.&lt;/p&gt;&#xA;" OwnerUserId="947" LastActivityDate="2010-09-07T14:45:48.000" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1045" PostTypeId="1" AcceptedAnswerId="1166" CreationDate="2010-09-07T14:58:35.630" Score="14" ViewCount="2179" Body="&lt;p&gt;While trying to fix a bug in a library, I searched for papers on finding subranges on red and black trees without success. I'm considering a solution using zippers and something similar to the usual &lt;em&gt;append&lt;/em&gt;  operation used on deletion algorithms for immutable data structures, but I'm still wondering if there's a better approach I wasn't able to find, or even some minimum complexity boundary on such an operation?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Just to be clear, I'm talking about an algorithm that, given a red&amp;amp;black tree and two boundaries, will produce a new red&amp;amp;black tree with all the elements of the first tree that belong within those boundaries.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course, an upper bound for the complexity would be the complexity of traversing one tree and constructing the other by adding elements.&lt;/p&gt;&#xA;" OwnerUserId="151" LastEditorUserId="151" LastEditDate="2010-09-07T22:11:32.333" LastActivityDate="2011-02-03T02:41:45.863" Title="Subrange of a Red and Black Tree" Tags="&lt;ds.data-structures&gt;&lt;tree&gt;" AnswerCount="4" CommentCount="10" FavoriteCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="1046" PostTypeId="1" AcceptedAnswerId="1049" CreationDate="2010-09-07T15:07:39.273" Score="18" ViewCount="848" Body="&lt;p&gt;The problem #SAT is the canonical #P-complete problem. It's a function problem rather than a decision problem. It asks, given a boolean formula $F$ in propositional logic, how many satisfying assignments $F$ has. Which are the best lower bounds on #SAT?&lt;/p&gt;&#xA;" OwnerUserId="947" LastEditorUserId="1800" LastEditDate="2011-03-30T01:23:50.350" LastActivityDate="2021-02-19T01:45:15.227" Title="Lower bounds on #SAT?" Tags="&lt;cc.complexity-theory&gt;&lt;lower-bounds&gt;&lt;sat&gt;&lt;counting-complexity&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="1047" PostTypeId="1" AcceptedAnswerId="1076" CreationDate="2010-09-07T15:56:32.620" Score="22" ViewCount="3168" Body="&lt;p&gt;Most modern implementations of regular expressions, such as the ones in perl or .NET, go beyond the classical computer science definition of REGEXes with features like lookahead and lookbehind. Do these features let them parse statements that can't be described with a finite, non-pushdown automaton? How much closer to turing complete does this make them if they can?&lt;/p&gt;&#xA;" OwnerUserId="948" LastEditorUserId="80" LastEditDate="2010-09-07T16:22:03.013" LastActivityDate="2018-07-16T08:25:18.027" Title="Where do most REGEX implementations fall on the complexity scale?" Tags="&lt;automata-theory&gt;&lt;regular-expressions&gt;&lt;fl.formal-languages&gt;" AnswerCount="4" CommentCount="2" FavoriteCount="8" ContentLicense="CC BY-SA 2.5" />
  <row Id="1048" PostTypeId="2" ParentId="1047" CreationDate="2010-09-07T16:21:08.163" Score="9" Body="&lt;p&gt;The problem with answering this question is capturing the notion of &quot;unbounded&quot; in an actual implementation. For example, the regex &lt;code&gt;/(.*)\1/&lt;/code&gt; will capture the language $L = \{ ww | w \in \Sigma^*\}$, which is not context-free. In practice there might be limits on the stack used (i.e maybe $w$ can't be longer than some large number $K$), which would effectively turn the language into $L_K = \{ ww | w \in \Sigma^*, \mid w \mid \le K\}$, which for any fixed $K$ is a regular expression again. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;But in principle, regexps as specified are more powerful than regular languages, as &lt;a href=&quot;https://cstheory.stackexchange.com/questions/448/regular-expressions-arent&quot;&gt;this related question&lt;/a&gt; discusses in much more detail (with a nifty example as well). &lt;/p&gt;&#xA;" OwnerUserId="80" LastEditorUserId="3113" LastEditDate="2018-07-16T08:25:18.027" LastActivityDate="2018-07-16T08:25:18.027" CommentCount="4" ContentLicense="CC BY-SA 4.0" />
  <row Id="1049" PostTypeId="2" ParentId="1046" CreationDate="2010-09-07T16:36:28.930" Score="31" Body="&lt;p&gt;To my knowledge, no one has figured out how to exploit the &amp;quot;counting solutions&amp;quot; property of #SAT in any lower bound on deterministic algorithms, so unfortunately the best known lower bounds for #SAT are basically the same as that for SAT.&lt;/p&gt;&#xA;&lt;p&gt;However, there has been a little progress. Note that the decision version of #SAT is called &amp;quot;Majority-SAT&amp;quot;: &lt;em&gt;given a formula, do at least &lt;span class=&quot;math-container&quot;&gt;$1/2$&lt;/span&gt; of the possible assignments satisfy it?&lt;/em&gt; &amp;quot;Majority-SAT&amp;quot; is &lt;span class=&quot;math-container&quot;&gt;$PP$&lt;/span&gt;-complete, and given an algorithm for Majority-SAT, one can solve #SAT with &lt;span class=&quot;math-container&quot;&gt;$O(n)$&lt;/span&gt; calls to the algorithm.&lt;/p&gt;&#xA;&lt;p&gt;The closest that people have gotten to new lower bounds for #SAT (that are not known to hold for SAT) is with lower bounds for &amp;quot;Majority-of-Majority-SAT&amp;quot;: &lt;em&gt;given a propositional formula over two sets of variables X and Y, for at least &lt;span class=&quot;math-container&quot;&gt;$1/2$&lt;/span&gt; of the possible assignments to &lt;span class=&quot;math-container&quot;&gt;$X$&lt;/span&gt;, is it true that at least &lt;span class=&quot;math-container&quot;&gt;$1/2$&lt;/span&gt; of the assignments to &lt;span class=&quot;math-container&quot;&gt;$Y$&lt;/span&gt; make the formula satisfiable?&lt;/em&gt; This problem is in the &amp;quot;second level&amp;quot; of the counting hierarchy (the class &lt;span class=&quot;math-container&quot;&gt;$PP^{PP}$&lt;/span&gt;). Quantum time-space lower bounds (and more) are known for this class.&lt;/p&gt;&#xA;&lt;p&gt;The survey at &lt;a href=&quot;http://pages.cs.wisc.edu/%7Edieter/Papers/sat-lb-survey-fttcs.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://pages.cs.wisc.edu/~dieter/Papers/sat-lb-survey-fttcs.pdf&lt;/a&gt; gives an overview of results in this direction.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;UPDATE: As of 2019, the first paragraph in the above is obsolete. It is known that #SAT requires a time-space product that is basically &lt;span class=&quot;math-container&quot;&gt;$n^2$&lt;/span&gt;. See for example&lt;/strong&gt;&#xA;&amp;quot;Quadratic Time-Space Lower Bounds for Computing Natural Functions with a Random Oracle&amp;quot; &lt;a href=&quot;https://drops.dagstuhl.de/opus/volltexte/2018/10149/&quot; rel=&quot;nofollow noreferrer&quot;&gt;https://drops.dagstuhl.de/opus/volltexte/2018/10149/&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="225" LastEditorUserId="225" LastEditDate="2021-02-19T01:45:15.227" LastActivityDate="2021-02-19T01:45:15.227" CommentCount="1" ContentLicense="CC BY-SA 4.0" />
  <row Id="1050" PostTypeId="1" AcceptedAnswerId="1122" CreationDate="2010-09-07T16:43:29.570" Score="5" ViewCount="435" Body="&lt;p&gt;We know that $\mathbf{NP} = \mathbf{NTIME}(n^{O(1)})$ and $\mathbf{E} = \mathbf{DTIME}(2^{O(n)})$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The &lt;a href=&quot;http://qwiki.stanford.edu/wiki/Complexity_Zoo%3aE&quot;&gt;complexity zoo&lt;/a&gt; states that $\mathbf{E}$  does not equal $\mathbf{NP}$, and cites the following paper:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://link.aip.org/link/?SMJCAT/1/281/1&quot;&gt;R. Book. On languages accepted in polynomial time. &lt;em&gt;SIAM Journal on Computing&lt;/em&gt;, 1(4):281–287, 1972.&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have not read the formal proof; though I want to know why the following &quot;intuition&quot; fails:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;b&gt;Intution:&lt;/b&gt; Every $\mathbf{NP}$ language is solvable in $O(2^n)$ time, where $n$ is the size of the input.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Proof:&lt;/em&gt; Assume that $L \in \mathbf{NP}$. There's a poly-time Karp reduction from $L$ to $3SAT$, and a $3SAT$ formula with $n$ variables can be decided via exhaustive search in $O(2^n)$ time.&lt;/p&gt;&#xA;" OwnerUserId="873" LastActivityDate="2010-09-09T15:29:07.250" Title="Comparing $\mathbf{NP}$ and $\mathbf{E}$" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;&lt;complexity-classes&gt;" AnswerCount="1" CommentCount="6" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="1051" PostTypeId="2" ParentId="1046" CreationDate="2010-09-07T16:47:19.327" Score="6" Body="&lt;p&gt;Also, #SAT does not have fully polynomial randomized approximation scheme (FPRAS)&#xA;unless $NP=RP$.&lt;/p&gt;&#xA;" OwnerUserId="495" LastActivityDate="2010-09-07T16:47:19.327" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="1052" PostTypeId="2" ParentId="438" CreationDate="2010-09-07T16:55:22.247" Score="5" Body="&lt;p&gt;You may want to know that there's also a notion of &lt;a href=&quot;http://scholar.google.com/scholar?cluster=6789779090132465473&quot; rel=&quot;nofollow&quot;&gt;ambiguity for regular expressions&lt;/a&gt;. Also, you can &lt;a href=&quot;http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=4038507&quot; rel=&quot;nofollow&quot;&gt;decide ambiguity for NFAs&lt;/a&gt; in $O(n^2)$.&lt;/p&gt;&#xA;" OwnerUserId="236" LastEditorUserId="236" LastEditDate="2010-09-08T08:23:39.607" LastActivityDate="2010-09-08T08:23:39.607" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1053" PostTypeId="1" AcceptedAnswerId="1071" CreationDate="2010-09-07T17:06:04.407" Score="7" ViewCount="851" Body="&lt;p&gt;Given a weighted graph $G(V,E,w)$ where $w$ is the weight function on edges and a subset of vertices $S\subseteq Q$ called &lt;em&gt;terminals&lt;/em&gt;, a &lt;em&gt;Steiner Tree&lt;/em&gt; is a connected subgraph which connects all vertices in $S$. Finding minimum weight Steiner Tree is called &lt;em&gt;Minimum Steiner Tree Problem&lt;/em&gt;. This problem and many of its variants are known to be NP-Complete. &lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;I thought about this variant where we dont need to connect all vertices in $S$. That is, along with the input, we are also given a natural number $k$, such that $k&amp;lt;|S|$. Now, find a minimum weight connected subgraph which connects at least $|S|-k$ vertices in $S$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Notice that when $k$=0, this is the usual Steiner Tree Problem and when $k=|S|-2$, it is Shortest path problem. Is this problem NP-Complete for any arbitrary $k$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I do not know whether this question already exists (quite possible considering the number of variants of Steiner Tree Problem). I did a brief search and I couldnt find anything related to this problem.&lt;/p&gt;&#xA;" OwnerUserId="710" LastActivityDate="2010-09-08T15:50:09.610" Title="A relaxed Steiner Tree Problem" Tags="&lt;graph-theory&gt;&lt;np-hardness&gt;" AnswerCount="4" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="1054" PostTypeId="2" ParentId="174" CreationDate="2010-09-07T17:38:13.880" Score="15" Body="&lt;p&gt;The word &quot;major&quot; is a bit frightening and takes us to the P/NP and related questions. Among the almost-major problems which might be feasible, one that I like is the question of randomized decision trees for graph properties. Is it true that for every non-trivial monotone graph property for graphs with n vertices the expected number of queries that you need to ask in order to know if the graph satisfy the property is constant n^2. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This conjecture is known as the &lt;a href=&quot;http://en.wikipedia.org/wiki/Aanderaa%E2%80%93Karp%E2%80%93Rosenberg_conjecture&quot;&gt;Aanderaa-Karp-Rosenberg conjecture&lt;/a&gt;. &lt;/p&gt;&#xA;" OwnerUserId="712" LastEditorUserId="206" LastEditDate="2010-09-10T04:40:12.617" LastActivityDate="2010-09-10T04:40:12.617" CommentCount="0" CommunityOwnedDate="2010-09-07T17:38:13.880" ContentLicense="CC BY-SA 2.5" />
  <row Id="1055" PostTypeId="2" ParentId="1053" CreationDate="2010-09-07T17:38:37.310" Score="0" Body="&lt;p&gt;If I can solve your problem, I can solve the Steiner Tree problem by setting k = 0.  So why wouldn't this be NP-Complete?&lt;/p&gt;&#xA;" OwnerUserId="789" LastActivityDate="2010-09-07T17:38:37.310" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="1057" PostTypeId="2" ParentId="1045" CreationDate="2010-09-07T18:17:54.477" Score="3" Body="&lt;p&gt;Say that you have $n$ (comparable) elements in a red-black tree and you want to extract the $m$ elements that belong to $[a,b]$ into another red-black tree. &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Descend from the root in time $O(\lg n)$ to the smallest element that is $\ge a$ (aka, $a$'s successor).&lt;/li&gt;&#xA;&lt;li&gt;Start from there an in-order traversal that build an array with the desired elements in $O(m)$ time.&lt;/li&gt;&#xA;&lt;li&gt;Build a binary search tree: The middle of the array gives the root and you recurse left and right. The distances from leaves to the root differ by at most one: Color the 'far' leaves red. (You do the coloring in the recursive procedure for constructing the tree.) This takes $O(m)$.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;This works in $O(m+\lg n)$. Compare with &quot;traverse the tree and insert in the result&quot;, which takes $O(n+m\lg m)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Update&lt;/strong&gt;, in response to the request for $o(m)$ auxiliary space: I believe you need $\Omega(\lg m)$ auxiliary space to build an almost complete binary tree given that you are told the size in advance and then you receive the elements in-order one-by-one. Draw the complete final tree and imagine you received the first $k$ elements. These elements are separated from the others by a vertical line that cuts some edges. Since the left extremities of those edges need to be connected later, you need to remember them. In the worst case the vertical line cuts a zig-zag with $\lg m$ edges.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I didn't work out the details, so I'm not sure how the extra bookkeeping affects the running time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Second update&lt;/strong&gt;: JeffE's comment below says how to do it with $O(1)$ auxiliary space and within the same time bounds. (For mutable trees, at least.) That means that my waving hands argument above about $\Omega(\lg m)$ space is wrong.&lt;/p&gt;&#xA;" OwnerUserId="236" LastEditorUserId="236" LastEditDate="2010-09-12T12:03:53.457" LastActivityDate="2010-09-12T12:03:53.457" CommentCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="1058" PostTypeId="2" ParentId="1053" CreationDate="2010-09-07T18:18:04.233" Score="8" Body="&lt;p&gt;Some observations:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First, let's take a different parameter called c. The problem is to find a minimum weight connected subgraph which connects at least c vertices in S. Now c=2 is the easy problem you refer to, and c=|S| is the Steiner tree problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think for c=$|S|^\epsilon$, the problem is still NP-hard. The reduction would basically add lots of useless terminals connected to the rest of the graph with very high edge weights, so that these vertices will never be picked in the min weight tree, and the min weight tree will only have the vertices we wanted. For example, an algorithm to solve this problem for c=|S|/2 can be used to solve the Steiner tree problem by just taking the instance of Steiner tree, and doubling the number of terminals and connecting them to the rest of the graph with large edge weights.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As you mentioned, the c=2 case is in P. Similarly, for any constant c', the c=c' case is easy by a brute force search.&lt;/p&gt;&#xA;" OwnerUserId="206" LastEditorUserId="206" LastEditDate="2010-09-08T01:48:32.880" LastActivityDate="2010-09-08T01:48:32.880" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1059" PostTypeId="2" ParentId="174" CreationDate="2010-09-07T18:18:57.247" Score="15" Body="&lt;p&gt;Is there a best algorithm for integer multiplication and matrix multiplication (MM), or for that matter any other familiar problem? Manuel Blum has suggested these are good candidates not to have a best algorithm. Among bilinear identities such as Strassen's there is no best one according to Coppersmith and Winograd (1982). If the conjectures of Umans et al are correct, then there is no best algorithm of the type they study. For relevant articles Google &quot;Speedup for Natural Problems&quot;.&lt;/p&gt;&#xA;" OwnerDisplayName="hmonroe" LastActivityDate="2010-09-07T18:18:57.247" CommentCount="1" CommunityOwnedDate="2010-09-07T18:18:57.247" ContentLicense="CC BY-SA 2.5" />
  <row Id="1060" PostTypeId="1" AcceptedAnswerId="46502" CreationDate="2010-09-07T19:02:23.190" Score="47" ViewCount="8534" Body="&lt;p&gt;In &lt;a href=&quot;https://cstheory.stackexchange.com/q/93/873&quot;&gt;another thread&lt;/a&gt;, Joe Fitzsimons asked about &quot;the best current lower bounds on 3SAT.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'd like to go the other way: What's the best current &lt;b&gt;upper&lt;/b&gt; bounds on 3SAT? In other words, what is the time complexity of the most efficient SAT solver?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In particular, is it conceivable to find a sub-exponential (yet super-polynomial) algorithm for SAT?&lt;/p&gt;&#xA;" OwnerUserId="873" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2020-04-15T01:26:40.183" Title="Best Upper Bounds on SAT" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;sat&gt;&lt;upper-bounds&gt;" AnswerCount="9" CommentCount="8" FavoriteCount="21" ContentLicense="CC BY-SA 2.5" />
  <row Id="1061" PostTypeId="2" ParentId="1060" CreationDate="2010-09-07T19:15:40.080" Score="9" Body="&lt;p&gt;It is impossible for 3SAT to have sub-exponential algorithms unless the &lt;a href=&quot;http://en.wikipedia.org/wiki/Exponential_time_hypothesis&quot; rel=&quot;nofollow&quot;&gt;exponential time hypothesis&lt;/a&gt; is false.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Kazuo Iwama, Suguru Tamaki, &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=982838&quot; rel=&quot;nofollow&quot;&gt;Improved upper bounds for 3-SAT&lt;/a&gt;, 2004.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;randomized algorithm with expected running time $O({1.324}^n)$ for 3SAT.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Daniel Rolf, &lt;a href=&quot;http://eccc.hpi-web.de/report/2005/159/&quot; rel=&quot;nofollow&quot;&gt;Improved Bound for the PPSZ/Schoning-Algorithm for 3-SAT&lt;/a&gt;, 2005.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;randomized algorithm with expected running time $O({1.32216}^n)$ for 3SAT.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="495" LastEditorUserId="186" LastEditDate="2014-02-11T03:15:26.817" LastActivityDate="2014-02-11T03:15:26.817" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="1062" PostTypeId="2" ParentId="1060" CreationDate="2010-09-07T19:37:35.573" Score="17" Body="&lt;p&gt;Schoening's algorithm is a probabilistic algorithm for k-SAT with running time $O(a^n)$, where $a = 2(k-1)/k$. This results in an $O(1.33334^n)$ algorithm for 3SAT, an $O(1.5^n)$ algorithm for 4SAT, etc.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The algorithm has also been (almost completely) derandomized by Moser and Scheder, who give a deterministic algorithm for solving kSAT running time $O((a+\epsilon)^n)$ where $a$ is the same constant as before, and $\epsilon&gt;0$ can be made arbitrarily small.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note: In this answer the big Oh notation hides poly(n) factors. I wanted to use the $O^*$ notation, but it isn't rendering properly.&lt;/p&gt;&#xA;" OwnerUserId="206" LastActivityDate="2010-09-07T19:37:35.573" CommentCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="1063" PostTypeId="1" AcceptedAnswerId="1075" CreationDate="2010-09-07T19:58:45.293" Score="11" ViewCount="667" Body="&lt;p&gt;What is the exact time complexity of the &lt;a href=&quot;http://portal.acm.org/citation.cfm?doid=1391289.1391291&quot;&gt;undirected st-connectivity log-space algorithm&lt;/a&gt; by Omer Reingold ?&lt;/p&gt;&#xA;" OwnerDisplayName="user887" LastEditorUserId="80" LastEditDate="2010-09-08T09:18:04.653" LastActivityDate="2010-09-08T09:18:04.653" Title="Time complexity analysis for Reingold's UST-CONN algorithm" Tags="&lt;cc.complexity-theory&gt;&lt;randomness&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="1064" PostTypeId="1" AcceptedAnswerId="1065" CreationDate="2010-09-07T20:49:40.827" Score="7" ViewCount="5097" Body="&lt;p&gt;&quot;Michael I. Troﬁmov&quot; claims that he has found a poly-time algorithm for graph isomorphism, which works for &lt;strong&gt;all&lt;/strong&gt; graphs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The paper is given in &lt;a href=&quot;http://arxiv.org/abs/1004.1808v1&quot;&gt;arXiv&lt;/a&gt;. The &lt;a href=&quot;http://mt2.comtv.ru/&quot;&gt;companion website&lt;/a&gt; gives a proof-of-concept program which runs the algorithm. (The password for the program is given in the paper.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I wanted to know whether the community is aware of Troﬁmov's results, and whether it's been proved, refuted, or unresolved?&lt;/p&gt;&#xA;" OwnerUserId="873" LastActivityDate="2011-04-17T13:15:23.910" Title="Polynomial Time Algorithm for Graph Isomorphism Testing" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;&lt;graph-isomorphism&gt;&lt;ds.algorithms&gt;" AnswerCount="3" CommentCount="4" FavoriteCount="2" ClosedDate="2011-04-21T22:25:22.007" ContentLicense="CC BY-SA 2.5" />
  <row Id="1065" PostTypeId="2" ParentId="1064" CreationDate="2010-09-07T21:34:08.630" Score="29" Body="&lt;p&gt;For some more discussion of this particular paper, see &lt;a href=&quot;http://en.wikipedia.org/wiki/Talk%3aGraph_isomorphism#Complexity&quot;&gt;this thread&lt;/a&gt; on a related Wikipedia talk page. Some of the participants in that discussion found specific bugs, and the paper does not seem to have been updated in response. I tried to read it myself but rather than finding any specific bugs I just got lost in vague descriptions of matrices and matrix manipulations that did not make clear which variables were inputs and which were outputs. Based on that experience I don't think the paper should be taken seriously until it's passed some level of peer review (accepted to one of the usual journals or conferences).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More generally, it is easy to define algorithms for graph isomorphism that attempt to amplify some sort of subtle asymmetry in the graph to the point where it is obvious how to match the vertices to each other, and it is hard to find counterexamples for these algorithms, but that is very difficult from having a clear proof of correctness that works for all graphs.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2010-09-07T21:34:08.630" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="1066" PostTypeId="1" CreationDate="2010-09-07T21:34:36.757" Score="14" ViewCount="908" Body="&lt;p&gt;Is there a way to encode an instance of Subset Sum or the Number Partition Problem so that a (small) solution to an integer relation yields an answer?  If not definitely, then in some probabilistic sense?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I know that LLL (and perhaps PSLQ) have been used with moderate success in solving Subset Sum problems in the 'low-density' region, where the range of numbers chosen is greater than $2^N$, but these methods don't scale well to instances of larger size and fail in the 'high-density' region, when the range of numbers chosen is much smaller than $2^N$.  Here low-density and high-density refers to the number of solutions.  The low-density region refers to the few or no solutions that exist whereas high density refers to a region with many solutions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the high density region, LLL finds (small) integer relations amongst instances given, but as instance size increases, the probability of the relation found being a viable Subset Sum or Number Partition Problem solution becomes decreasingly small.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Integer relation detection is polynomial to within an exponential bound of optimal whereas Subset Sum and NPP are obviously NP-Complete, so in general this is probably not possible, but if the instance is drawn uniformly at random, could this make it simpler?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Or should I not even be asking this question and instead be asking if there is a way to reduce the exponential bound from the optimal answer in lieu of an exponential increase in computation?&lt;/p&gt;&#xA;" OwnerUserId="834" LastEditorUserId="495" LastEditDate="2014-01-29T10:29:16.080" LastActivityDate="2014-01-29T10:29:16.080" Title="Integer relation detection for Subset Sum or NPP?" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;&lt;approximation-algorithms&gt;&lt;reductions&gt;&lt;subset-sum&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="1067" PostTypeId="1" AcceptedAnswerId="1069" CreationDate="2010-09-07T23:14:09.367" Score="0" ViewCount="3700" Body="&lt;p&gt;I have been working on this thread &lt;a href=&quot;https://cstheory.stackexchange.com/questions/791/grid-k-coloring-without-monochromatic-rectangles&quot;&gt;Grid $k$-coloring without monochromatic rectangles&lt;/a&gt;, and I am aware that the four color theorem implies that all planar graphs are four colorable. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The question is whether this is a necessary condition as well, i.e. whether having a proof that a graph is not planar implies it is not four colorable ?&lt;/p&gt;&#xA;" OwnerUserId="201" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2010-09-08T19:59:59.297" Title="Is it possible to have a 4-coloring for a non-planar graph ?" Tags="&lt;graph-theory&gt;&lt;graph-colouring&gt;" AnswerCount="3" CommentCount="8" ClosedDate="2010-09-08T20:04:43.120" CommunityOwnedDate="2010-09-07T23:14:09.367" ContentLicense="CC BY-SA 2.5" />
  <row Id="1068" PostTypeId="2" ParentId="1067" CreationDate="2010-09-07T23:22:49.643" Score="6" Body="&lt;p&gt;$K_{3,3}$ is non planar and is bipartite, therefore 2-colorable. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2010-09-07T23:22:49.643" CommentCount="0" CommunityOwnedDate="2010-09-07T23:22:49.643" ContentLicense="CC BY-SA 2.5" />
  <row Id="1069" PostTypeId="2" ParentId="1067" CreationDate="2010-09-07T23:23:32.780" Score="15" Body="&lt;p&gt;Obviously not. A graph is &lt;a href=&quot;http://en.wikipedia.org/wiki/Bipartite_graph&quot;&gt;bipartite&lt;/a&gt; if and only if it is 2-colorable, but not every bipartite graph is planar (&lt;a href=&quot;http://upload.wikimedia.org/wikipedia/commons/f/f3/Biclique_K_3_3.svg&quot;&gt;$K_{3,3}$&lt;/a&gt; comes to mind).&lt;/p&gt;&#xA;" OwnerUserId="705" LastActivityDate="2010-09-07T23:23:32.780" CommentCount="0" CommunityOwnedDate="2010-09-07T23:23:32.780" ContentLicense="CC BY-SA 2.5" />
  <row Id="1070" PostTypeId="2" ParentId="1060" CreationDate="2010-09-08T00:33:33.803" Score="39" Body="&lt;p&gt;There are two kinds of &amp;quot;best&amp;quot; SAT solvers, one for theory, one for practice.&lt;/p&gt;&#xA;&lt;h3&gt;Theory&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Kazuo Iwama, Kazuhisa Seto, Tadashi Takai, Suguru Tamaki, &amp;quot;&lt;a href=&quot;http://dx.doi.org/10.1007/978-3-642-17517-6_9&quot; rel=&quot;noreferrer&quot;&gt;Improved Randomized Algorithms for 3-SAT&lt;/a&gt;&amp;quot;, ISAAC 2010.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;randomized &lt;span class=&quot;math-container&quot;&gt;$O(1.32113^n)$&lt;/span&gt; for 3SAT.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Timon Hertli, Robin A. Moser, Dominik Scheder, &amp;quot;&lt;a href=&quot;http://arxiv.org/abs/1009.4830&quot; rel=&quot;noreferrer&quot;&gt;Improving PPSZ for 3-SAT using Critical Variables&lt;/a&gt;&amp;quot;, 2011.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;randomized &lt;span class=&quot;math-container&quot;&gt;$O(1.321^n)$&lt;/span&gt; for 3SAT.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Konstantin Kutzkov, Dominik Scheder, &amp;quot;&lt;a href=&quot;http://arxiv.org/abs/1007.1166&quot; rel=&quot;noreferrer&quot;&gt;Using CSP To Improve Deterministic 3-SAT&lt;/a&gt;&amp;quot;, 2010.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;deterministic &lt;span class=&quot;math-container&quot;&gt;$O(1.439^n)$&lt;/span&gt; for 3SAT.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;h3&gt;Practice&lt;/h3&gt;&#xA;&lt;p&gt;Check &lt;a href=&quot;http://www.satcompetition.org/&quot; rel=&quot;noreferrer&quot;&gt;SAT conference&lt;/a&gt; for competition results for each year.&lt;/p&gt;&#xA;" OwnerUserId="894" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2014-02-11T03:09:03.980" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="1071" PostTypeId="2" ParentId="1053" CreationDate="2010-09-08T01:41:04.313" Score="5" Body="&lt;p&gt;As in Robin's answer, I'll use the parameter $c$ to denote the minimum number of terminals that we are required to connect.  Robin's response already answers your question for most values of $c$, but if you're willing to make some additional assumptions then we can narrow or eliminate the gap: if we assume that NP-complete problems cannot be solved in time $2^{O(f(n))}$ for some function $f(n)$ then $c = O(f(n)/\log n)$ cannot be NP-complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First, if $c = \Omega(n^\epsilon)$ for some $\epsilon$, then the problem is NP-complete as already explained: we could solve normal Steiner tree by adding a polynomial number of dummy terminals that would be very expensive to connect.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that a Steiner tree is uniquely determined by it's terminals and Steiner nodes of degree at least 3 (we can complete the graph with shortest path distances and replace Steiner nodes of degree 2 by the edge between its 2 neighbors).  Since all leaves must be terminals, an optimal solution with $c$ terminals can only have $O(c)$ Steiner nodes.  Therefore we can find the optimal solution by brute-force in time $n^{O(c)} = 2^{O(c\log n)}$.  If $c = O(f(n)/\log n)$, and solving NP-complete problems requires $2^{\Omega(f(n))}$ then these instances cannot be NP-complete (although they may not be in P).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In particular, if NP does not have quasi-polynomial time algorithms then $c = O(\textrm{polylog}(n))$ is not NP-hard, and if NP does not have sub-exponential time algorithms then $c = o(n^\epsilon)$ is not NP-hard, in which case the transition to NP-completeness is at $c = \theta(n^\epsilon)$.&lt;/p&gt;&#xA;" OwnerUserId="205" LastEditorUserId="205" LastEditDate="2010-09-08T02:24:35.960" LastActivityDate="2010-09-08T02:24:35.960" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="1072" PostTypeId="2" ParentId="286" CreationDate="2010-09-08T02:13:59.257" Score="9" Body="&lt;p&gt;There's also a quantum lower bound technique that uses Kolmogorov complexity:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&quot;&lt;a href=&quot;http://arxiv.org/abs/quant-ph/0311189&quot;&gt;Lower bounds for randomized and quantum query complexity using Kolmogorov arguments&lt;/a&gt;&quot; by Sophie Laplante and Frederic Magniez&lt;/p&gt;&#xA;" OwnerUserId="206" LastActivityDate="2010-09-08T02:13:59.257" CommentCount="0" CommunityOwnedDate="2010-09-08T02:13:59.257" ContentLicense="CC BY-SA 2.5" />
  <row Id="1073" PostTypeId="2" ParentId="153" CreationDate="2010-09-08T04:14:14.743" Score="9" Body="&lt;p&gt;I've asked (myself) this question a while ago. At least for learning with respect to a specific distribution there is a fairly simple example of a concept class that is information theoretically SQ-learnable but is NP-hard to SQ learn. Let \phi  a binary encoding of a SAT instance and y be its lexicographically first satisfying assignment (or 0^n is the instance is unsatisfiable). Now let f(\phi) be a function that over one half of the domain is the MAJ(\phi) and over the second half of the domain equals PAR(y). Here MAJ is the majority function over variables which are set to 1 in the string \phi and PAR(y) is the parity function over variables which are set to 1 in the string y. Let F be the class of functions obtained in this way. To SQ learn F over the uniform distribution U one only needs to learn majorities (which is easy) to find \phi and then find y. On the other hand, it is fairly easy to reduce SAT to SQ learning of F (to any accuracy noticeably greater than 3/4) over the uniform distribution. The reason for this, naturally, is that parities are essentially &quot;invisible&quot; to SQs and hence it is necessary to solve SAT to learn F.&lt;/p&gt;&#xA;" OwnerUserId="968" LastActivityDate="2010-09-08T04:14:14.743" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1074" PostTypeId="2" ParentId="1015" CreationDate="2010-09-08T04:37:46.380" Score="13" Body="&lt;p&gt;What is the largest possible gap between deterministic and (2-sided bounded-error) quantum &lt;a href=&quot;http://en.wikipedia.org/wiki/Decision_tree_model&quot;&gt;query complexities&lt;/a&gt; for total functions?&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Open:&lt;/h2&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strike&gt;Does there exist a total function whose quantum query complexity is T, and deterministic query complexity is &amp;omega;(T&lt;sup&gt;2&lt;/sup&gt;)?&lt;/strike&gt;&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;Does there exist a total function whose quantum query complexity is T, and deterministic query complexity is &amp;omega;(T&lt;sup&gt;4&lt;/sup&gt;)?&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;If a total function can be computed with T queries by a quantum algorithm, can it always be computed by $o(T^6)$ queries by a deterministic algorithm?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;h2&gt;Known:&lt;/h2&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;If the quantum query complexity of a total function is T, its deterministic query complexity is $O(T^6)$. &lt;a href=&quot;http://doi.acm.org/10.1145/502090.502097&quot;&gt;(Reference)&lt;/a&gt;&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;&lt;strike&gt;The largest known gap is achieved by the OR function, which achieves a quadratic gap.&lt;/strike&gt; &lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;&lt;b&gt;Update (June 21, 2015)&lt;/b&gt;: We now know a function that achieves a quartic (4th power) separation. See &lt;a href=&quot;http://arxiv.org/abs/1506.04719&quot;&gt;http://arxiv.org/abs/1506.04719&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;strike&gt;It is conjectured that the OR function achieves the maximum possible gap.&lt;/strike&gt;&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;As per Ashley's suggestion let me add the same problem for exact computation.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Open:&lt;/h2&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Does there exist a total function whose exact quantum query complexity is T, and whose deterministic query complexity is $\omega(T)$? &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;h2&gt;Known:&lt;/h2&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;If the exact quantum query complexity of a total function is T, its deterministic query complexity is $O(T^3)$. &lt;a href=&quot;http://arxiv.org/abs/quant-ph/0403168&quot;&gt;(Reference)&lt;/a&gt;&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;&lt;strike&gt;The best known gap is a factor of 2.&lt;/strike&gt; &lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;&lt;b&gt;Update (Nov 5, 2012)&lt;/b&gt;: This has been improved in &lt;a href=&quot;http://arxiv.org/abs/1211.0721&quot;&gt;Superlinear advantage for exact quantum algorithms by Andris Ambainis&lt;/a&gt;. From the abstract: &quot;We present the first example of a Boolean function f(x_1, ..., x_N) for which exact quantum algorithms have superlinear advantage over the deterministic algorithms. Any deterministic algorithm that computes our function must use N queries but an exact quantum algorithm can compute it with O(N^{0.8675...}) queries.&quot;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="206" LastEditorUserId="206" LastEditDate="2015-06-21T20:11:26.973" LastActivityDate="2015-06-21T20:11:26.973" CommentCount="1" CommunityOwnedDate="2010-09-08T04:37:46.380" ContentLicense="CC BY-SA 3.0" />
  <row Id="1075" PostTypeId="2" ParentId="1063" CreationDate="2010-09-08T09:16:25.060" Score="23" Body="&lt;p&gt;It seems that the time complexity of Reingold's algorithm is not treated in either the Reingold's paper or in Arora-Barak textbook. It would also appear that the analysis is rather tedious, as the time complexity depends on the exact expander graph used in the construction and on some constants that are chosen to &quot;sufficiently large&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To get some rough idea on the time complexity, observe that Reingold's algorithm, given graph $G$, transforms it (implicitly) into an expander graph $G'$ and traverses every walk of length $l = O(\log n)$. The $O$-notation hides some quite large constants here. The graph $G'$ has constant degree of $d = 2^b$ for some sufficiently large $b$, meaning that there are $d^l = O(n^c)$ such walks for some rather large constant $c$. Skimming some lecture notes on the topic it would seem that $c \ge 10^9b$.&lt;/p&gt;&#xA;" OwnerUserId="290" LastActivityDate="2010-09-08T09:16:25.060" CommentCount="2" CommunityOwnedDate="2010-09-08T09:16:25.060" ContentLicense="CC BY-SA 2.5" />
  <row Id="1076" PostTypeId="2" ParentId="1047" CreationDate="2010-09-08T10:56:01.730" Score="19" Body="&lt;p&gt;I don't think that the real problem is the question of what unbounded means; this is no worse than any other situation in parsing.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The trouble lies with characterizing backreferences, which are both very powerful and very limited: they allow description of some non-context-free languages, without allowing some context-free languages. For example, the regex &lt;code&gt;(a*)b\1b\1&lt;/code&gt; matches strings of the form $a^n \cdot b \cdot a^n \cdot b \cdot a^n$, and you can use the pumping lemma to show this is not a context-free language. However, on the other hand, regexes with backreferences don't seem to be sufficient to match the balanced parenthesis language, which is the prototypical context-free language.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's easy enough to give a denotational semantics saying what strings are in a language to regexes, but giving a good automata-theoretic characterization seems much more challenging. It's something like a register machine, into whose registers you can copy substrings of your input, and which you can use to test your current string against, but for which you lack the ability to modify these registers. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;People doing finite model theory have a bunch of funky machine models, and it would be interesting to know if this corresponds to any of their models.&lt;/p&gt;&#xA;" OwnerUserId="657" LastActivityDate="2010-09-08T10:56:01.730" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1077" PostTypeId="2" ParentId="901" CreationDate="2010-09-08T11:07:12.043" Score="4" Body="&lt;p&gt;Suppose that the functor $F$ preserves monos. In fact, I am going to assume something slightly stronger, namely that $S \subseteq T$ implies $F(S) \subseteq F(T)$ (otherwise we have to insert isomorphisms here and there). Your Kripke functors are of this kind, I think.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First a little diversion. Let $G$ be a functor from sets to sets which preserves the subset relation. Consider a coalgebra $s : S \to G(S)$ and a subset $A \subseteq S$. Call a subset $T \subseteq S$ &quot;good&quot; if the restriction $s_T : T \to G(S)$ of $s$ to $T$ gives a coalgebra $s_T : T \to G(T)$ and the image $s(T)$ is disjoint from $A$. Any union of good subsets is again a good subset. Indeed, suppose $T_i$'s are good and let $T = \bigcup_i T_i$. Then $s$ restricted to $T$ maps into $\bigcup_i G(T_i) \subseteq G(T)$, and obviously $T$ is disjoint from $A$. Therefore, there exists the largest good subset of $T$, namely the union of all the good ones.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now apply the previous paragraph to the functor $G(X) = F(X) + 1$ and $A = \lbrace \mathrm{inr}()\rbrace$ to get the desired result.&lt;/p&gt;&#xA;" OwnerUserId="705" LastEditorUserId="705" LastEditDate="2010-09-08T20:43:53.330" LastActivityDate="2010-09-08T20:43:53.330" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1078" PostTypeId="2" ParentId="871" CreationDate="2010-09-08T12:11:23.830" Score="2" Body="&lt;p&gt;Structured SAT instances, which do exhibit lots of symmetries, seem easier to solve than random SAT instances. Encoding real world problems into SAT always gives raise to structured instances (which is not surprising, since the real world problems we face do have symmetries). The best complete SAT solvers are able to efficiently solve real world instances with as many as 1,000,000 variables, but none of them, as far as I know, is able to efficiently solve random instances with, say, 10,000 variables (on &lt;a href=&quot;http://logic.pdmi.ras.ru/~hirsch/sat.html&quot; rel=&quot;nofollow&quot;&gt;Edward A. Hirsch homepage&lt;/a&gt; it's possible to find some surprisingly small random instances, against which even the best complete SAT solvers get stucked). Thus, from an empirical point of view, the presence of symmetries seems to diminish the hardness.&lt;/p&gt;&#xA;" OwnerUserId="947" LastEditorUserId="947" LastEditDate="2010-11-05T11:04:16.560" LastActivityDate="2010-11-05T11:04:16.560" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1079" PostTypeId="1" AcceptedAnswerId="1093" CreationDate="2010-09-08T13:58:26.933" Score="33" ViewCount="2491" Body="&lt;p&gt;In &quot;On determinism versus nondeterminism and related problems&quot; (Proc. IEEE FOCS, pages 429–438, 1983), Paul, Pippenger, Szemerédi and Trotter proved that&lt;br&gt;&#xA;$\mathsf{NTIME}(n)\neq\mathsf{DTIME}(n)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This answers my question with k=1. Is anything known about a similar result for another fixed k?&lt;/p&gt;&#xA;" OwnerUserId="976" LastActivityDate="2012-01-09T19:32:05.797" Title="NTIME(n^k) ≠ DTIME(n^k) ?" Tags="&lt;cc.complexity-theory&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="13" ContentLicense="CC BY-SA 2.5" />
  <row Id="1082" PostTypeId="2" ParentId="34" CreationDate="2010-09-08T14:59:18.533" Score="2" Body="&lt;p&gt;&lt;strong&gt;EDIT: This is an incorrect answer.&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Sylvain suggested an RCG which unfortunately was not appropriate for these &quot;shuffle squares&quot;. However, I think there is one &lt;strong&gt;(EDIT: not an RCG, see Kurt's comments below!)&lt;/strong&gt;, which looks as follows:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\begin{aligned}&#xD;&#xA;S(Y) &amp;amp; \rightarrow  A(\epsilon,Y) &amp;amp; (1) \newline&#xD;&#xA;A(X, ZY) &amp;amp; \rightarrow  A(XZ,Y) &amp;amp; (2) \newline&#xD;&#xA;A(aX, aY) &amp;amp; \rightarrow A(X,Y) \quad \text{ for every } a \in \Sigma &amp;amp; (3) \newline&#xD;&#xA;A(\epsilon,\epsilon) &amp;amp; \rightarrow  \epsilon &amp;amp; (4)&#xD;&#xA;\end{aligned}$&#xD;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Explanation: recall that we have to match symbols which can appear anywhere in the string, but once we have matched $a$ and $a&amp;#39;$, we can only match $b$ and $b&amp;#39;$ if $a \prec b$ implies $a&amp;#39; \prec b&amp;#39;$ ($\prec$ meaning linear precedence). The idea is that we split the string  $(1,2)$ in order to compare prefixes of the halves. If the beginnings of two substrings match, we can reduce the problem to the remaining strings $(3)$. If not, we can transfer some part of the right hand side to the left hand side $(2)$ and see if there is a match at a later position. What's important is that this is only allowed in one direction!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here's a derivation for $100110101010$ (a counterexample to Sylvain's RCG):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\begin{aligned}&#xD;&#xA;S(100110101010) &amp;amp; \Rightarrow A(\epsilon,100110101010) &amp;amp; (1) \newline&#xD;&#xA;&amp;amp; \Rightarrow A(1001,10101010) &amp;amp; (2) \newline&#xD;&#xA;&amp;amp; \Rightarrow^* A(01,101010) &amp;amp; (3) \newline&#xD;&#xA;&amp;amp; \Rightarrow A(011,01010) &amp;amp; (2) \newline&#xD;&#xA;&amp;amp; \Rightarrow^* A(1,010) &amp;amp; (3) \newline&#xD;&#xA;&amp;amp; \Rightarrow A(10,10) &amp;amp; (2) \newline&#xD;&#xA;&amp;amp; \Rightarrow^* A(\epsilon, \epsilon) &amp;amp; (3) \newline&#xD;&#xA;&amp;amp; \Rightarrow \epsilon &amp;amp; (4)&#xD;&#xA;\end{aligned}$&#xD;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I haven't worked out a formal proof that this grammar indeed captures exactly the &quot;shuffle squares&quot; but it should not be too hard. Sylvain already mentioned that the decision problem for RCGs is polynomial.&lt;/p&gt;&#xA;" OwnerUserId="977" LastEditorUserId="977" LastEditDate="2010-12-01T13:29:30.170" LastActivityDate="2010-12-01T13:29:30.170" CommentCount="11" ContentLicense="CC BY-SA 2.5" />
  <row Id="1083" PostTypeId="1" AcceptedAnswerId="1085" CreationDate="2010-09-08T15:02:05.150" Score="3" ViewCount="3472" Body="&lt;p&gt;Given an oracle for solving the decision version of TSP, how would I use this to solve the optimization version of TSP.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is not a homework assignment, but of general interest. I have been trying to find a place with examples of these types of reductions.&lt;/p&gt;&#xA;" OwnerUserId="978" LastActivityDate="2016-04-26T23:41:47.460" Title="Using decision version of TSP to solve optimization version" Tags="&lt;np-hardness&gt;&lt;reductions&gt;&lt;oracles&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="1084" PostTypeId="2" ParentId="1083" CreationDate="2010-09-08T15:09:44.753" Score="7" Body="&lt;p&gt;I'm not sure if we should be answering such questions, since it is at the level of a homework question, and not a research level question. So instead I'll just give a hint to the OP so the OP can figure out the answer with some effort. (Other posters may choose to give out the explicit solution if they wish, of course.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The concept you refer to, i.e., reducing the search problem (or optimization problem) to the decision problem, is called self-reducibility. It is known that all NP-complete problems, and some others like Graph Isomorphism have this property. See &lt;a href=&quot;http://www.cs.tau.ac.il/~safra/ACT/Lecture1.ppt&quot;&gt;this powerpoint presentation&lt;/a&gt; on self-reducibility. It explains in detail how SAT, GI and NP-complete problems in general can be shown to be self-reducible.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you read those notes and understand those examples, you should be able to do the same for TSP using similar ideas.  Hope that helps.&lt;/p&gt;&#xA;" OwnerUserId="206" LastActivityDate="2010-09-08T15:09:44.753" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1085" PostTypeId="2" ParentId="1083" CreationDate="2010-09-08T15:10:29.193" Score="3" Body="&lt;p&gt;First, you'd find the path length by binary search on the result of the decision problem.&#xA;Then you'd take an arbitrary node and for each edge, check (again with the decision problem) whether a path exists with that length and containing that particular edge. And so on until you've found the whole cyclic path.&#xA;Here you'd just need to be able to use the decision problem to test whether a path with given length exists, containing a particular edge, but I'm sure that must not be harder than the original decision problem.&lt;/p&gt;&#xA;" OwnerUserId="326" LastActivityDate="2010-09-08T15:10:29.193" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="1086" PostTypeId="2" ParentId="1066" CreationDate="2010-09-08T15:26:59.033" Score="2" Body="&lt;p&gt;Let m be the logarithm of the largest number.&#xA;If $m=O(\log n)$ then it is solvable in polynomial time using dynamic programming.&#xA;In general, every known algorithm take at least $\Omega(2^{m})$ time. There is no known polynomial time algorithm when $m=\omega(\log n)$ and $m=o(n)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, Flaxman and Przydatek provide an algorithm that solves Medium-Density Subset Sum Problems in Expected Polynomial Time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Check this reference:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.springerlink.com/content/fuau7uy3x2pqaahv/&quot; rel=&quot;nofollow&quot;&gt;Flaxman and Przydatek, Solving Medium-Density Subset Sum Problems in Expected Polynomial Time &lt;/a&gt;&#xA;&lt;a href=&quot;http://www.springerlink.com/content/fuau7uy3x2pqaahv/&quot; rel=&quot;nofollow&quot;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2010-09-08T15:59:42.760" LastActivityDate="2010-09-08T15:59:42.760" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="1087" PostTypeId="2" ParentId="1053" CreationDate="2010-09-08T15:50:09.610" Score="4" Body="&lt;p&gt;This problem is hard even when S is the whole vertex set. That special case is the k-MST problem. There are known approximation algorithms for it (there is a factor 2 by Garg), and they would generalize to given constant factor approximations for this problem.&lt;/p&gt;&#xA;" OwnerUserId="982" LastActivityDate="2010-09-08T15:50:09.610" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="1088" PostTypeId="1" AcceptedAnswerId="1091" CreationDate="2010-09-08T16:05:38.040" Score="4" ViewCount="534" Body="&lt;p&gt;Where can I find more information about the FNP complexity class? The only place I did find anything on FNP was &lt;a href=&quot;http://en.wikipedia.org/wiki/FNP_(complexity&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/FNP_(complexity&lt;/a&gt;)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, that isn't sufficient for me to understand what that class actually means. For example, what should the FNP version of the decision version of the &lt;em&gt;Hamiltonian Cycle Problem&lt;/em&gt; be?&lt;/p&gt;&#xA;" OwnerUserId="983" LastEditorUserId="206" LastEditDate="2010-09-10T15:04:09.023" LastActivityDate="2010-09-10T15:04:09.023" Title="FNP complexity class" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;hamiltonian-paths&gt;" AnswerCount="3" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="1089" PostTypeId="1" CreationDate="2010-09-08T16:12:57.513" Score="6" ViewCount="149" Body="&lt;p&gt;I have a set of n real numbers.  I want to repeatedly choose subsets of k elements such that the variance of these k numbers falls within some specified range, r = [l, u].  Moreover I want to do this so that the set of subsets I choose is uniformly distributed over the set of all subsets whose variance falls within r.  Not only that, but I want to do this in an efficient manner.  That is, the time for choosing a particular subset should be polynomial in n and k.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that n is large enough that I cannot brute-force the problem.  That is, I cannot just iterate through all k-element subsets and find which ones have a variance that falls within r.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a way to do this?&lt;/p&gt;&#xA;" OwnerUserId="490" LastEditorUserId="490" LastEditDate="2010-09-08T18:39:19.340" LastActivityDate="2010-09-08T18:39:19.340" Title="Constraint Satisfaction Problem: Choosing real numbers with variance in a certain range" Tags="&lt;ds.algorithms&gt;&lt;permutations&gt;&lt;st.statistics&gt;" AnswerCount="0" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="1090" PostTypeId="2" ParentId="1088" CreationDate="2010-09-08T16:18:11.670" Score="9" Body="&lt;p&gt;The &lt;strong&gt;Hamiltonian Cycle Problem&lt;/strong&gt; asks to decide, given a graph $G$, whether $G$ is Hamiltonian. This is the decision version. The function version(FNP) asks to actually find a Hamiltonian cycle in $G$ (if any).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I suggest looking at FNP, and related classes (such as NPMV and NPSV) in the Complexity Zoo.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In addition, a quick search in &lt;a href=&quot;http://www.google.com/search?tbs=bks:1&amp;amp;tbo=1&amp;amp;q=FNP+complexity&amp;amp;btnG=Search+Books#hl=en&amp;amp;tbo=1&amp;amp;tbs=bks%3A1&amp;amp;q=FNP+complexity+-proceedings+-annual&amp;amp;aq=f&amp;amp;aqi=&amp;amp;aql=&amp;amp;oq=&amp;amp;gs_rfai=&amp;amp;pbx=1&amp;amp;fp=1c1bd44a83c0839f&quot; rel=&quot;nofollow&quot;&gt;Google Books&lt;/a&gt; reveals many books in which you may find more info.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Please be more specific if you have more questions in mind.&lt;/p&gt;&#xA;" OwnerUserId="873" LastActivityDate="2010-09-08T16:18:11.670" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1091" PostTypeId="2" ParentId="1088" CreationDate="2010-09-08T16:19:21.777" Score="9" Body="&lt;p&gt;See the FAQ: &lt;a href=&quot;https://cstheory.meta.stackexchange.com/questions/225/official-faq-for-theoretical-computer-science/229#229&quot;&gt;Official FAQ for Theoretical Computer Science&lt;/a&gt; for more info on complexity classes. &lt;a href=&quot;http://books.google.com/books?ei=T7eHTM_cBYm6sAPvnOGvCg&amp;amp;ct=result&amp;amp;id=JogZAQAAIAAJ&amp;amp;dq=papadimitriou+complexity&amp;amp;q=FNP#search_anchor&quot; rel=&quot;nofollow noreferrer&quot;&gt;Papadimitriou's complexity textbook&lt;/a&gt; also has a nice explanation of FNP. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;As for your specific question, the FNP version is merely, &quot;given a graph G, determine if a Ham cycle exists and find it&quot;. &lt;/p&gt;&#xA;" OwnerUserId="80" LastEditorUserId="-1" LastEditDate="2017-03-16T15:45:13.547" LastActivityDate="2010-09-08T16:19:21.777" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1092" PostTypeId="2" ParentId="1088" CreationDate="2010-09-08T17:35:46.707" Score="6" Body="&lt;p&gt;As an interesting aside, an exactly equivalent class $PC$, short for &quot;Polynomial-time Check,&quot; shows up in &lt;a href=&quot;http://www.wisdom.weizmann.ac.il/~oded/cc-book.html&quot; rel=&quot;nofollow&quot;&gt;Goldreich's complexity textbook&lt;/a&gt;. $FNP$ is still correct for this site as we've elected to follow the naming conventions of the Complexity Zoo (referenced in Suresh's answer, and in the FAQ).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The completely informal way to define $FNP$ is simply &quot;the class of search analogues of NP problems.&quot; As others have mentioned, the $NP$-version of HAMILTONIAN CYCLE is &quot;Does the given graph have a Hamiltonian cycle? (Yes or No)&quot; whereas the $FNP$-version of HAMILTONIAN CYCLE is &quot;In the given graph, what is the Hamiltonian cycle? (Either output such a cycle, or output &lt;em&gt;None exists&lt;/em&gt;)&quot;.&lt;/p&gt;&#xA;" OwnerUserId="108" LastActivityDate="2010-09-08T17:35:46.707" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="1093" PostTypeId="2" ParentId="1079" CreationDate="2010-09-08T17:41:03.517" Score="26" Body="&lt;p&gt;No unconditional lower bound is known for any $k \geq 2$ in the multitape TM model (or any model stronger than it).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Ravi Kannan studied this problem in &lt;a href=&quot;http://www.springerlink.com/content/tk7j5n3540970032/&quot;&gt;&quot;Towards separating nondeterminism from determinism&quot; (1984)&lt;/a&gt;. In the process of trying to show $NTIME(n^k) \neq TIME(n^k)$ he managed to prove the following: there is some universal constant $c \geq 1$ such that for every $k$, $NTIME(n^k) \not \subseteq TIME-SPACE(n^k,n^{k/c})$. Here, $TIME-SPACE(n^k, n^{k/c})$ is the class of languages recognized by machines using time $n^k$ and space $n^{k/c}$ simultaneously. Clearly $TIME-SPACE(n^k,n^{k/c}) \subseteq TIME(n^k)$ but it is not known whether they are equal.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you assume for some $k \geq 2$ that $NTIME(n^k) = TIME(n^k)$, you get interesting consequences. $P=NP$ is obvious, but it also implies that ${\sf NL} \neq {\sf P}$. This can be proved using an &quot;alternation-trading&quot; argument. Basically, for every $k$ and every language $L \in {\sf NL}$, there is a constant $c$ and some alternating machine that recognizes $L$ and makes $c$ alternations, guesses $O(n)$ bits per alternation, then switches to a deterministic mode and runs in $n^k$ time. (This follows, for example, from playing around with the constructions in &lt;a href=&quot;http://people.cs.uchicago.edu/~fortnow/papers/npvsnl.pdf&quot;&gt;Fortnow, &quot;Time-Space Tradeoffs for Satisfiability&quot; (1997)&lt;/a&gt;.) Now if $TIME(n^k) = NTIME(n^k)$ then all these $c$ alternations can be removed with only a small amount of overhead, and you end up with a $TIME(n^k)$ computation that recognizes $L$. Hence ${\sf NL }\subseteq TIME(n^k) \neq {\sf P}$. Probably no such alternating simulation exists, but if you can rule it out, then you'll have the lower bound you seek. (Note: I believe that the above argument is also in Kannan's paper.)&lt;/p&gt;&#xA;" OwnerUserId="225" LastEditorUserId="225" LastEditDate="2010-09-08T18:02:56.557" LastActivityDate="2010-09-08T18:02:56.557" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1094" PostTypeId="1" AcceptedAnswerId="1095" CreationDate="2010-09-08T17:52:23.267" Score="18" ViewCount="1458" Body="&lt;p&gt;I found the book &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/1933019220&quot;&gt;Pairwise Independence and Derandomization&lt;/a&gt; on the subject, but it's more research-oriented than tutorial oriented.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm new to the subject of &quot;Derandomization,&quot; and as such, I wanted to know which reference to start from?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I prefer one that discusses literature and history, as well as the technical details.&lt;/p&gt;&#xA;" OwnerUserId="873" LastActivityDate="2010-09-08T20:13:07.943" Title="Beginner's Guide to Derandomization" Tags="&lt;cc.complexity-theory&gt;&lt;derandomization&gt;&lt;randomized-algorithms&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="9" ContentLicense="CC BY-SA 2.5" />
  <row Id="1095" PostTypeId="2" ParentId="1094" CreationDate="2010-09-08T18:58:24.110" Score="18" Body="&lt;p&gt;The notes from Salil Vadhan's class, &lt;a href=&quot;http://people.seas.harvard.edu/~salil/cs225/&quot; rel=&quot;noreferrer&quot;&gt;&quot;Pseudorandomness&quot;&lt;/a&gt;, are excellent for this purpose.  He is writing a textbook based on these.  The draft version of the book is available &lt;a href=&quot;http://people.seas.harvard.edu/~salil/pseudorandomness/&quot; rel=&quot;noreferrer&quot;&gt;online&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="15" LastActivityDate="2010-09-08T18:58:24.110" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="1096" PostTypeId="1" AcceptedAnswerId="1109" CreationDate="2010-09-08T19:21:18.067" Score="1" ViewCount="263" Body="&lt;p&gt;I have a set of n real numbers. I also have a set of functions,&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;f_1, f_2, ..., f_m.&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Each of these functions takes a list of numbers as its argument. I also have a set of m ranges,&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;[l_1, u_1], [l_2, u_2], ..., [l_m, u_m].&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;I want to repeatedly choose subsets {r_1, r_2, ..., r_k} of k elements such that&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;l_i &amp;lt;= f_i({r_1, r_2, ..., r_k}) &amp;lt;= u_i for 1 &amp;lt;= i &amp;lt;= m.&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Note that the functions are smooth. Changing one element in {r_1, r_2, ..., r_k} will not change f_i({r_1, r_2, ..., r_k}) by much. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;These are the m constraints that I need to satisfy.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Moreover I want to do this so that the set of subsets I choose is uniformly distributed over the set of all subsets of size k that satisfy these m constraints. Not only that, but I want to do this in an efficient manner. How quickly it runs will depend on the density of solutions within the space of all possible solutions (if this is 0.0, then the algorithm can run forever).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that n is large enough that I cannot brute-force the problem. That is, I cannot just iterate through all k-element subsets and find which ones satisfy the m constraints.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a way to do this?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What sorts of techniques are commonly used for a CSP like this? Can someone point me in the direction of good books or articles that talk about problems like this (not just CSPs in general, but CSPs involving continuous, as opposed to discrete values)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[Note that &lt;a href=&quot;https://cstheory.stackexchange.com/questions/1089/constraint-satisfaction-problem-choosing-real-numbers-with-variance-in-a-certain&quot;&gt;this question&lt;/a&gt; is a special case.]&lt;/p&gt;&#xA;" OwnerUserId="490" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2010-10-09T01:59:34.717" Title="Constraint Satisfaction Problem: Choosing real numbers with certain characteristics" Tags="&lt;ds.algorithms&gt;&lt;st.statistics&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="1097" PostTypeId="2" ParentId="793" CreationDate="2010-09-08T19:29:45.877" Score="3" Body="&lt;p&gt;In order to find a canonical representation, consider the following: the class of DCFL is equivalent to the class of languages generated by LR(k) grammars, which again is equivalent to LR(1). This means that you can find an LR(1) grammar for every DCFL. Of course, a LR(1) grammar is still a context-free grammar, but with a special property: from LR(1) grammars, we can easily build parse tables to guide a deterministic parser (with lookahead of 1 symbol, hence LR(1)). These parse tables would be another representation, albeit somewhat less readable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By the way, mind that it is undecidable whether a given context-free language is deterministic (Greibach's Theorem).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I must admit I have never heard of VPL.&lt;/p&gt;&#xA;" OwnerUserId="977" LastActivityDate="2010-09-08T19:29:45.877" CommentCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="1098" PostTypeId="2" ParentId="1067" CreationDate="2010-09-08T19:59:59.297" Score="1" Body="&lt;p&gt;The Petersen Graph is 3-colorable and non-planar.&lt;/p&gt;&#xA;" OwnerUserId="730" LastActivityDate="2010-09-08T19:59:59.297" CommentCount="0" CommunityOwnedDate="2010-09-08T19:59:59.297" ContentLicense="CC BY-SA 2.5" />
  <row Id="1099" PostTypeId="2" ParentId="1094" CreationDate="2010-09-08T20:13:07.943" Score="9" Body="&lt;p&gt;I really like &lt;a href=&quot;http://www.wisdom.weizmann.ac.il/~oded/prg-primer.html&quot;&gt;Pseudorandom Generators: A Primer&lt;/a&gt; by Oded Goldreich. I think it's very well written and probably at the level you want. (Not very research oriented, but still has technical details.)&lt;/p&gt;&#xA;" OwnerUserId="206" LastActivityDate="2010-09-08T20:13:07.943" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="1100" PostTypeId="2" ParentId="1015" CreationDate="2010-09-08T20:30:13.133" Score="9" Body="&lt;h2&gt;Open:&lt;/h2&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Show an oracle separation between QIP(2) and AM. That is, show a problem in QIP(2)&lt;sup&gt;A&lt;/sup&gt; that is not in AM&lt;sup&gt;A&lt;/sup&gt;.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The big open problem is to show an oracle separation between BQP and PH. But we don't even have a separation between BQP and AM (since AM is in PH, this should be easier). Even worse, make BQP considerably more powerful by allowing 1 round interactions with Merlin, giving you the class QAM or QIP(2) (depending on public coins or private coins) and we still don't have a separation. &lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Known:&lt;/h2&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;The best known separation is between BQP and MA, which comes from &lt;a href=&quot;http://doi.ieeecomputersociety.org/10.1109/SFCS.2000.892141&quot;&gt;this paper by John Watrous&lt;/a&gt;. For complexity classes that are not decision problem classes, see &lt;a href=&quot;http://www.scottaaronson.com/papers/bqpph.pdf&quot;&gt;these results by Scott Aaronson&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="206" LastActivityDate="2010-09-08T20:30:13.133" CommentCount="0" CommunityOwnedDate="2010-09-08T20:30:13.133" ContentLicense="CC BY-SA 2.5" />
  <row Id="1101" PostTypeId="2" ParentId="267" CreationDate="2010-09-08T22:07:12.273" Score="4" Body="&lt;p&gt;Referencing to the comment of John Tromp, I want to remark that combinatory logic &lt;em&gt;feels&lt;/em&gt; very different from lambda calculus. Since your interest stems from functional programming, you really do not want to know that much about combinatory logic.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My favorite tutorial on combinatory logic is in &lt;a href=&quot;http://www.cl.cam.ac.uk/teaching/Lectures/founds-fp/Founds-FP.ps.gz&quot; rel=&quot;nofollow&quot;&gt;these lecture notes&lt;/a&gt; from the Cambridge University.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, they are introduced to explain implementation of so-called lazy (or applicative) languages; as mentioned in my previous comment, such techniques are now outdated.&lt;/p&gt;&#xA;" OwnerUserId="989" LastActivityDate="2010-09-08T22:07:12.273" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="1102" PostTypeId="2" ParentId="10" CreationDate="2010-09-08T22:12:27.513" Score="6" Body="&lt;p&gt;A nice article of RL Lipton can be found in &lt;a href=&quot;http://cacm.acm.org/blogs/blog-cacm/97587-a-tale-of-a-serious-attempt-at-p&amp;#8800;np&quot; rel=&quot;noreferrer&quot;&gt;Communications of the ACM&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerDisplayName="John67" LastEditorUserId="7884" LastEditDate="2012-01-13T18:39:27.767" LastActivityDate="2012-01-13T18:39:27.767" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="1103" PostTypeId="2" ParentId="55" CreationDate="2010-09-08T22:49:38.953" Score="4" Body="&lt;p&gt;I downloaded the paper you mention, and it answers &quot;no&quot;, at least at the publishing time of the paper. That's for two reasons:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;a paper is required to properly review related work, and they do so in the introduction, with a summary in Fig. 1, which says &quot;no&quot;. At least if it has been published in a reputable conference, but it looks like that (Brodal is cited a couple of times in &quot;Purely functional data structures&quot; by C. Okasaki, a reference on the subject).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, they mention in the text an algorithm with search time O(log n log log n) and concatenation in O(1) time, sketched in the K&amp;amp;T paper from STOC '96. It might be interesting for you.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;the open challenge by K&amp;amp;T that they solve is about dictionaries with O(1) concatenation and O(log N) search/insert/delete, even for ephemeral structures.&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Point 1. also ensures that you can simply look for papers citing this one to find any later results, they would need to cite it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If the question were of practical relevance (but it is not supposed to be), I believe that constant factors are more important than the difference between O(1) and O(log N) (as discussed in Sedgewick's Introduction to algorithms), so you need to look just for benchmarks for the use case of your application.&lt;/p&gt;&#xA;" OwnerUserId="989" LastActivityDate="2010-09-08T22:49:38.953" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="1104" PostTypeId="1" CreationDate="2010-09-08T22:54:45.377" Score="10" ViewCount="436" Body="&lt;p&gt;A star system is a family $F$ of n subsets of n-elements set $S$. A star system is graphical if there is some graph $G(V,E)$ such that $F$ is the family of vertex neighborhoods in $G$. It is $NP$-complete to decide whether a given star system is graphical.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What is the minimum occurrence of each element such that the problem remains $NP$-complete?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT 12-12-2010&lt;/strong&gt;: I added another question:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What is the most restricted class of graphs for which the problem remains $NP$-complete?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;For instance, Is the star system problem $NP$-complete if the target graph is cubic? If not, What is the minimum $k$ such that the problem remains $NP$-complete for $k$-regular target graphs?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://dx.doi.org/10.1016/0012-365X%2881%2990271-5&quot; rel=&quot;nofollow&quot;&gt; F.Lalonde, Le probleme d'etoiles pour graphes est NP-complet, Discrete Math.&#xA;33(3), 1981, 271-280.&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2010-12-16T13:37:20.350" LastActivityDate="2010-12-19T03:06:25.000" Title="Hardness of constrained star system problem?" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="1105" PostTypeId="2" ParentId="1015" CreationDate="2010-09-08T23:12:31.307" Score="19" Body="&lt;p&gt;The question of whether decision trees are PAC learnable seems to be at the frontier of computational learning theory.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;OPEN&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Are decision trees (DTs) PAC learnable under&#xA;  the uniform distribution on examples (or in general)?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;KNOWN&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;ul&gt;&#xA;  &lt;li&gt;DTs are not learnable under the uniform distribution with Statistical&#xA;  Queries (SQs) [&lt;a href=&quot;http://portal.acm.org/citation.cfm?id=195058.195147&quot;&gt;Blum et al. '94&lt;/a&gt;]&lt;/li&gt;&#xA;  &lt;li&gt;random DTs are learnable under the uniform distribution [&lt;a href=&quot;http://www.cs.columbia.edu/~rocco/papers/colt03rt.html&quot;&gt;Jackson, Servedio&#xA;  '05&lt;/a&gt;] &lt;/li&gt;&#xA;  &lt;li&gt;monotone DTs are learnable under the uniform distribution&#xA;  [&lt;a href=&quot;http://www.cs.columbia.edu/~rocco/papers/ccc06os.html&quot;&gt;O'Donnell, Servedio '06&lt;/a&gt;]&lt;/li&gt;&#xA;  &lt;li&gt;a smoothed analysis for learning DTs under the uniform distribution&#xA;  [&lt;a href=&quot;http://arxiv.org/abs/0812.0933&quot;&gt;Kalai, Teng '08&lt;/a&gt;]&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The reason this is an interesting and important problem is because decision trees are a very natural class, and unlike, say automata, we do not have cryptographic hardness results that make the problem hopeless.  Progress on this question can perhaps give insight into whether DTs (and similar classes) are learnable without distributional assumptions.  This could have practical impact in addition to being a theoretical breakthrough.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This problem also seems to have been tackled from all sides. We know that under the uniform distribution on examples: monotone decision trees are learnable, that random decision trees are learnable, and that there exists a smoothed analysis as well.  We also know that a SQ algorithm won't solve this problem.  And there is also steady progress in this area.  On the other hand, this is a hard problem that has been open for a while, so this seems to fit the bill of &quot;Open Problems on the Frontiers of TCS.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Note there are other results I did not go into on the &lt;a href=&quot;http://www.almaden.ibm.com/cs/people/vitaly/allpapers.html#ABFKP04_ProperHardness&quot;&gt;hardness of proper learning&lt;/a&gt; DTs, on the ability to &lt;a href=&quot;http://www.cs.technion.ac.il/~bshouty/COLT/LECTUR-NOTES/Monotone-Theory/mt.pdf&quot;&gt;learn DTs with queries&lt;/a&gt;, and on the hardness of learning &lt;a href=&quot;http://www.levreyzin.com/papers/AngluinEKR10.pdf&quot;&gt;even random DTs&lt;/a&gt; with SQs.&lt;/em&gt;&lt;/p&gt;&#xA;" OwnerUserId="123" LastActivityDate="2010-09-08T23:12:31.307" CommentCount="0" CommunityOwnedDate="2010-09-08T23:12:31.307" ContentLicense="CC BY-SA 2.5" />
  <row Id="1106" PostTypeId="2" ParentId="79" CreationDate="2010-09-09T01:16:44.677" Score="23" Body="&lt;p&gt;Knot triviality: Given a closed polygonal chain in 3-space, is it unknotted (ie, ambient-isotopic to a flat circle)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is known to be in NP by deepish results in normal surface theory, but no poly-time algorithm or NP-hardness proof is known.&lt;/p&gt;&#xA;" OwnerUserId="111" LastActivityDate="2010-09-09T01:16:44.677" CommentCount="4" CommunityOwnedDate="2010-09-09T01:16:44.677" ContentLicense="CC BY-SA 2.5" />
  <row Id="1107" PostTypeId="1" AcceptedAnswerId="1119" CreationDate="2010-09-09T01:18:30.537" Score="11" ViewCount="1404" Body="&lt;p&gt;I have just started (independent) learning about quantum computation in general from Nielsen-Chuang book.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I wanted to ask if anyone could try finding time to help me with whats going on with the measurement postulate of quantum mechanics. I mean, I am not trying to question the postulate; its just that I do not get how the value of the state  of the system after measurement comes out to $M_m/\sqrt{ &amp;lt;\psi|M_m^+ M_m|\psi&gt; }$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Even though its just what the postulate seems to say, I find it really awkward that why is it this expression. I do not know if what I ask here makes sense, but this is proving to be something which for some reason seems to block me from reading any further,&lt;/p&gt;&#xA;" OwnerUserId="55" LastEditorUserId="7286" LastEditDate="2012-05-07T14:31:42.130" LastActivityDate="2012-05-07T14:31:42.130" Title="Quantum Computation - Postulates of QM" Tags="&lt;quantum-computing&gt;&lt;quantum-information&gt;" AnswerCount="7" CommentCount="3" FavoriteCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="1108" PostTypeId="2" ParentId="45" CreationDate="2010-09-09T01:36:22.210" Score="12" Body="&lt;p&gt;There are 2 sources which seem particularly good to me. One, as someone above suggested is Venkat's and Ryan's lecture notes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The other helpful source is &lt;a href=&quot;http://www.cs.berkeley.edu/~luca/pcp/&quot;&gt;these lecture notes&lt;/a&gt; by Luca Trevisan.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Currently, this course is being offered at Georgia Tech by Prasad Raghvendra. Sadly the page is not up yet.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This brings me to another source by Subhash Khot. Search for it on Google. You should be able to find those.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Personally, I have not looked up Khot's notes either, but just remembered that he taught this course once at GaTech as well)&lt;/p&gt;&#xA;" OwnerUserId="55" LastActivityDate="2010-09-09T01:36:22.210" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1109" PostTypeId="2" ParentId="1096" CreationDate="2010-09-09T01:59:34.283" Score="2" Body="&lt;p&gt;This problem is clearly NP-Complete, so finding an efficient solution is almost surely out of the question.  Since you've put no real constraints on $f_i$, the best general solution is probably a brute force search.  If you knew something more about the $f_i$ then maybe you could exploit that to cull the search space or even come up with an efficient algorithm, but in general, even for simple functions this problem is difficult.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, choose just one function, $f( { r_0, r_1, \dots , r_{k-1} } ) = \sum_{i=0}^{k-1} r_i $, with the constraint $ -\epsilon &amp;lt; f( { r_0, r_1, \dots, r_{k-1} } ) &amp;lt; \epsilon$, then this is essentially the number partition problem.  &lt;/p&gt;&#xA;" OwnerUserId="834" LastActivityDate="2010-09-09T01:59:34.283" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1110" PostTypeId="2" ParentId="85" CreationDate="2010-09-09T03:03:05.627" Score="10" Body="&lt;p&gt;Another interesting survey about UGC by Khot cited in [1] which is more math oriented:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;S. Khot, &lt;a href=&quot;http://cs.nyu.edu/~khot/papers/icm-khot.pdf&quot; rel=&quot;nofollow&quot;&gt;Inapproximability of NP-complete Problems, Discrete Fourier Analysis, and Geometry&lt;/a&gt;, ICM 2010.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;[1] S. Khot, &lt;a href=&quot;http://cs.nyu.edu/~khot/papers/UGCSurvey.pdf&quot; rel=&quot;nofollow&quot;&gt;On the Unique Games Conjecture&lt;/a&gt;, CCC 2010.&lt;/p&gt;&#xA;" OwnerUserId="186" LastActivityDate="2010-09-09T03:03:05.627" CommentCount="0" CommunityOwnedDate="2010-09-09T03:03:05.627" ContentLicense="CC BY-SA 2.5" />
  <row Id="1111" PostTypeId="2" ParentId="305" CreationDate="2010-09-09T03:48:15.207" Score="8" Body="&lt;p&gt;Pairing heaps, from [1] - they implement heaps, where insert and merge have O(log n) amortized complexity, but are conjectured to be O(1). In practice, they are extremely efficient, especially for users of merge.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I just discovered them just today while reading Sec. 5.5 of C. Okasaki's book &quot;Purely functional data structures&quot;, so I thought I should share info about them.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] Fredman, M. L., Sedgewick, R., Sleator, D. D., and Tarjan, R. E. 1986. The pairing heap: a new form of self-adjusting heap. Algorithmica 1, 1 (Jan. 1986), 111-129. DOI= &lt;a href=&quot;http://dx.doi.org/10.1007/BF01840439&quot;&gt;http://dx.doi.org/10.1007/BF01840439&lt;/a&gt; &lt;/p&gt;&#xA;" OwnerUserId="989" LastActivityDate="2010-09-09T03:48:15.207" CommentCount="1" CommunityOwnedDate="2010-09-09T03:48:15.207" ContentLicense="CC BY-SA 2.5" />
  <row Id="1112" PostTypeId="1" CreationDate="2010-09-09T06:46:44.070" Score="13" ViewCount="498" Body="&lt;p&gt;So, I've got about 100-200 very sparse square boolean matrices with side length ~several dozens, and I need to compute their product. I know that if I multiply them serially, the product will usually stay as sparse at each step.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there any matrix chain product algorithms that work particularly fast in this case?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On a higher level, the problem is to compute the composition of a series of one-to-many mappings on a reasonably small graph (transition functions of an NFA), where most elements map to no more than 0-3.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(please note that this is &lt;em&gt;not&lt;/em&gt; the usual &quot;matrix chain product&quot; problem, because all matrices are of the same size and I don't have to choose the optimal parenthesizing)&lt;/p&gt;&#xA;" OwnerUserId="326" LastEditorUserId="186" LastEditDate="2011-01-06T02:56:45.480" LastActivityDate="2019-02-21T09:09:54.487" Title="Fast sparse boolean matrix chain product" Tags="&lt;ds.algorithms&gt;&lt;automata-theory&gt;&lt;matrix-product&gt;&lt;sparse-matrix&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="1113" PostTypeId="1" CreationDate="2010-09-09T06:52:43.303" Score="4" ViewCount="217" Body="&lt;p&gt;Let us say I have a semigroup M and its basis B. I know which elements of B commute.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is the most efficient way to do multiplication in such a semigroup?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Essentially, this is a question of how to reduce &quot;ABAAAXBCAAB&quot; to &quot;AAAABXAABBC&quot; knowing that A, B and C commute with each other but not with X (after such a transform I can, for example, compute AAAA as (A^2)^2, or even store pre-computed powers of each element of B).&lt;/p&gt;&#xA;" OwnerUserId="326" LastActivityDate="2010-09-09T11:00:48.497" Title="Optimizing multiplication in a partly commutative semigroup" Tags="&lt;co.combinatorics&gt;&lt;algebra&gt;" AnswerCount="1" CommentCount="12" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="1114" PostTypeId="2" ParentId="1113" CreationDate="2010-09-09T08:26:15.133" Score="-1" Body="&lt;p&gt;Okay, I've given it a bit of thought and I see that the algorithm is very easy.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Example: Let % denote &quot;commutes&quot;. Let A % B, A % C, B % C, B % X.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Compute ABAAXCBA:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let us keep a &quot;result&quot;, an &quot;active multiset&quot; and a &quot;remaining suffix&quot;. Let us append a special &quot;$&quot; symbol that commutes with noone onto the string.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Invariant&lt;/strong&gt;: the product of &quot;result&quot;, active multiset and the remaining suffix equals the product of original string.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Invariant&lt;/strong&gt;: all items in the active multiset commute.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;At each new element of the suffix, drop elements from the active multiset that don't commute with it into the product, and insert the element into the multiset.&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;(1, {}, ABAAXCBA$) -&amp;gt;&#xA;(1, {A:1}, BAAXCBA$) -&amp;gt; &#xA;(1, {A:1, B:1}, AAXCBA$) -&amp;gt;&#xA;(1, {A:2, B:1}, AXCBA$) -&amp;gt;&#xA;(1, {A:3, B:1}, XCBA$) -&amp;gt; (drop A^3)&#xA;(A^3, {B:1, X:1}, CBA$) -&amp;gt;&#xA;(A^3 X, {B:1, C:1}, BA$) -&amp;gt;&#xA;(A^3 X, {B:2, C:1}, A$) -&amp;gt;&#xA;(A^3 X, {B:2, C:1, A:1}, $) -&amp;gt;&#xA;(A^3 X B^2 C A, {$}, )&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;This version has at most O(|A|) (size of alphabet) overhead per input symbol and it does an optimal number of multiplications.&lt;/p&gt;&#xA;" OwnerUserId="326" LastEditorUserId="326" LastEditDate="2010-09-09T11:00:48.497" LastActivityDate="2010-09-09T11:00:48.497" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="1115" PostTypeId="1" AcceptedAnswerId="1121" CreationDate="2010-09-09T09:03:56.980" Score="7" ViewCount="564" Body="&lt;p&gt;I'm looking for a formal definition of &lt;b&gt;Cluster of Solutions&lt;/b&gt;. My current understanding is the following. Let $x$ be a boolean assignment on $n$ variables. Let $f: \{ 0,1 \} ^n \to \mathbb{N}$ be a function that, given a boolean assignment $x$ on $n$ variables, just returns the natural number $i \in [0, 2^n-1]$ corresponding to $x$. Let $g: \mathbb{N} \to \{ 0,1 \} ^n$ be the inverse of $f$: given a natural number $i$, $g$ returns the corresponding solution (i.e. the binary encoding of $i$ in $n$ bits). Now, a &lt;b&gt;Cluster of Solutions&lt;/b&gt; is a set $S$ of solutions such that, for each solution $x \in S$ and for each solution $y \in S$, it's the case that $g(i) \in S$ for each $i \in (f(x), f(y))$. Less formally, a &lt;b&gt;Cluster of Solutions&lt;/b&gt; is a set whose solutions are &quot;packed&quot;, i.e. &quot;there are no non-solutions among the solutions&quot;. Is this definition correct? &lt;/p&gt;&#xA;" OwnerUserId="947" LastEditorUserId="947" LastEditDate="2010-09-09T11:29:25.350" LastActivityDate="2010-09-09T14:29:00.987" Title="SAT Solution Space - Definition of Cluster of Solutions" Tags="&lt;cc.complexity-theory&gt;&lt;sat&gt;" AnswerCount="2" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="1116" PostTypeId="2" ParentId="276" CreationDate="2010-09-09T10:28:18.927" Score="10" Body="&lt;p&gt;&lt;i&gt;The counting version of the Monotone-SAT problem is #P-complete.&lt;/i&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A Monotone-SAT instance is a propositional formula $F$ with the following restriction: every variable either always occurs positive or always occurs negative (in other words, every literal in $F$ is a pure literal).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I was very surprised by this result, because the decision version of the Monotone-SAT problem is trivial.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's widely known that there exist decision problems in P whose counting versions are #P-complete (one example is 2-SAT). But this case is a bit &quot;different&quot; in my opinion: finding a satisfying assignment of a Monotone-SAT instance is not only easy (as, for example, finding a satisfying assignment of a 2-SAT instance), it's dramatically trivial. Not just easy: trivial, literally. Note that given, say, a 2-SAT instance, it can be either satisfiable or unsatisfiable of course; while given a Monotone-SAT instance you know in advance that it is certainly satisfiable: it cannot be unsatisfiable, no way: this confirms that, even both problems are easy, their levels of &quot;decision-easiness&quot; are different. On the other hand, their levels of &quot;counting-uneasiness&quot; is exactly the same.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This strong contrast between the following facts&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Deciding Monotone-SAT is dumb-trivial&lt;/li&gt;&#xA;&lt;li&gt;Counting Monotone-SAT is extremely-hard&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;is IMHO at least fascinating.&lt;/p&gt;&#xA;" OwnerUserId="947" LastEditorUserId="947" LastEditDate="2010-10-06T14:17:51.620" LastActivityDate="2010-10-06T14:17:51.620" CommentCount="0" CommunityOwnedDate="2010-09-09T10:28:18.927" ContentLicense="CC BY-SA 2.5" />
  <row Id="1117" PostTypeId="1" AcceptedAnswerId="1118" CreationDate="2010-09-09T10:31:49.247" Score="56" ViewCount="8013" Body="&lt;p&gt;I have three related subquestions, which are highlighted by bullet points below (no, they could not be split, if you are wondering).&#xA;Andrej Bauer wrote, &lt;a href=&quot;https://cstheory.stackexchange.com/questions/625/relationship-between-turing-machine-and-lambda-calculus/715#715&quot;&gt;here&lt;/a&gt;, that some functions are realizable through a Turing machine, but not through lambda-calculus. A key step of his reasoning is:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;However, if we use the lambda&#xA;  calculus, then [the program] c is supposed to&#xA;  compute a numeral representing a&#xA;  Turing machine out of a lambda term&#xA;  representing a function f. This cannot&#xA;  be done (I can explain why, if you ask&#xA;  it as a separate question).&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;I would like to see an explanation/informal proof.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I don't see how to apply Rice's theorem here; it would apply to the problem &quot;are this turing machine T and this lambda-term L equivalent?&quot;, because applying this predicate to equivalent terms gives the same result. However, the required function might compute different, but equivalent, TMs for different, but equivalent, lambda-terms.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Moreover, if the problem is with introspection of a lambda-term, I think that passing a Gödel encoding of a lambda-term would be also acceptable, wouldn't it?&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;On the one hand, given that his example involves computing, in the lambda calculus, the number of steps needed by a Turing Machine to complete a given task, I'm not very surprised.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;But since here lambda-calculus can't solve a Turing-machine-related problem, I wonder whether one can define a similar problem for lambda-calculus and prove it unsolvable for Turing machines, or there is actually a difference in power in favor of Turing Machines (which would surprise me).&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="989" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:30.623" LastActivityDate="2020-09-29T23:36:09.800" Title="Realizability theory: difference in power between Lambda calculus and Turing Machines" Tags="&lt;computability&gt;&lt;lambda-calculus&gt;&lt;turing-machines&gt;" AnswerCount="3" CommentCount="0" FavoriteCount="40" ContentLicense="CC BY-SA 3.0" />
  <row Id="1118" PostTypeId="2" ParentId="1117" CreationDate="2010-09-09T10:59:11.547" Score="65" Body="&lt;p&gt;John Longley has a very extensive survey article discussing the issues involved, &lt;a href=&quot;http://homepages.inf.ed.ac.uk/jrl/Research/notions1.pdf&quot;&gt;&quot;Notions of Computability at Higher Type&quot;&lt;/a&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The basic idea is that the Church-Turing thesis is only about functions from $\mathbb{N} \to \mathbb{N}$ -- and there's more to computation than that! In particular, when we write programs, we make use of functions of higher type (such as $(\mathbb{N} \to \mathbb{N}) \to \mathbb{N}$). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In order to fully define a model of higher type computation, we need to specify the &lt;em&gt;calling convention&lt;/em&gt; for functions, in order to allow one function to call another function it receives as an argument. In lambda calculus, the standard calling convention is that we represent functions by lambda-terms, and the only thing you can do with a lambda in the lambda calculus is to apply it. In typical encodings with Turing machines, we pass functions as arguments by fixing a particular Godel encoding, and then strings representing the index of the machine you want to pass as an argument. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The difference in encoding means that you can analyze the syntax of the argument with a TM-style encoding, and you cannot with a standard lambda-calculus representation. So if you receive a lambda-term for a function of type $\mathbb{N} \to \mathbb{N}$, you can only test its behavior by passing it particular $n$'s -- you can't analyze the structure of the term in any way. This is just not enough information to figure out the code of the lambda term.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One thing worth noting is that with higher types, if a language is less expressive at one order, it is &lt;em&gt;more&lt;/em&gt; expressive one order up, because functions are contravariant. So similarly there are functions you can write in LC that you can't with a TM-style encoding (because they rely on the fact that you can pass functional arguments and know that the receiver can't look inside the function you give it).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT: Here's an example of a function definable in PCF, but not in TM+Goedel encodings. I'll declare the &lt;code&gt;isAlwaysTrue&lt;/code&gt; function&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt; isAlwaysTrue : ((unit → bool) → bool) → bool&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;which should return true if its argument ignores its argument and always returns true, should return false if its argument returns false on any inputs, and goes into a loop if its argument goes into a loop on any inputs. We can define this function pretty easily, as follows:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;isAlwaysTrue p = p (λ(). true) ∧ p (λ(). false) ∧ p (λ(). ⊥)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;where &lt;code&gt;⊥&lt;/code&gt; is the looping computation and &lt;code&gt;∧&lt;/code&gt; is the and operator on booleans. This works because there are only three inhabitants of &lt;code&gt;unit → bool&lt;/code&gt; in PCF, and so we can exhaustively enumerate them. However, in a TM+Goedel-encoding style model, &lt;code&gt;p&lt;/code&gt; could test how long its argument takes to return an answer, and return different answers based on that. So the implementation of &lt;code&gt;isAlwaysTrue&lt;/code&gt; with TMs would fail to meet the spec. &lt;/p&gt;&#xA;" OwnerUserId="657" LastEditorUserId="657" LastEditDate="2016-10-11T09:13:57.707" LastActivityDate="2016-10-11T09:13:57.707" CommentCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="1119" PostTypeId="2" ParentId="1107" CreationDate="2010-09-09T12:30:20.857" Score="7" Body="&lt;p&gt;I don't know if this is an &quot;explanation&quot;, but hopefully it is a useful &quot;description&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More generally than projective measurements, one always measures an &lt;em&gt;operator&lt;/em&gt;. (A projector is a special case of this.) So what does it mean to &quot;measure an operator&quot;?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Well, operators often correspond to 'observable' physical quantities. The most important in quantum mechanics, for instance, is energy; but one can also (sometimes indirectly) measure other quantities, such as angular momentum, &lt;em&gt;z&lt;/em&gt;-components of magnetic fields, etc. What is being measured always gives real-valued results --- in principle, some definite result (e.g. an electron is in the  'spin +1/2' state as opposed to 'spin &amp;minus;1/2', or in the first excited energy level as opposed to the ground-state in a hydrogen atom, etc.), albeit each &lt;em&gt;a priori possible&lt;/em&gt; result is realized with some probability.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We assign each of the real-valued outcomes of a measurement to a subspace. The way we do this is to describe a Hermitian operator --- &lt;em&gt;i.e.&lt;/em&gt; an operator which associates a real eigenvalue to different subspaces, with the subspaces summing up to the whole Hilbert space. A projector is such an operator, where the real values are 0 and 1; &lt;em&gt;i.e.&lt;/em&gt; describing that a vector belongs to a designated subspace (yielding a value of 1), or its orthocomplement (yielding a value of 0). These Hermitian operators are &lt;strong&gt;observables&lt;/strong&gt;, and the eigenspaces are those for which the observable has a &quot;definite&quot; value.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But what about those vectors which are not eigenvectors, and do not have &quot;definite&quot; values for these observables? Here is the non-explaining part of the description: we project them into one of the eigenspaces, to obtain an eigenvector with a well-defined value. Which projection we apply is determined at random. The probability distribution is given by the familiar Born rule:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$ \Pr\limits_{|\psi\rangle}\bigl( E = c \bigr) \;=\; \langle \psi | \Pi_c | \psi \rangle \;, $$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where $\Pi_c$ is the projector onto the &lt;em&gt;c&lt;/em&gt;-eigenspace of an 'observable quantity' &lt;em&gt;E&lt;/em&gt; (represented by a Hermitian operator $A = \sum_c \; c \cdot \Pi_c$). The post-measured state is &lt;em&gt;some&lt;/em&gt; projection of the state $|\psi\rangle$ onto &lt;em&gt;some&lt;/em&gt; eigenspace of the observable &lt;em&gt;A&lt;/em&gt;. And so if $| \psi_0 \rangle$ is the pre-measurement state, $| \psi_1 \rangle$ is the post-measurement state, and $\Pi_c$ is the 'actual result' measured (&lt;em&gt;i.e.&lt;/em&gt; the eigenspace onto which the pre-measurement state was actually projected), we have the proportionality result&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$ | \psi_1 \rangle \;\propto\; \Pi_c | \psi_0 \rangle $$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;by the projection rule just described. This is why there is the projector in your formula.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In general, the vector $| \psi'_1 \rangle = \Pi_c | \psi_0 \rangle$ is not a unit vector; because we wish to describe the post-measurement state by another unit vector, we must rescale it by&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$ \|\;|\psi'_1\rangle\;\| = \sqrt{\langle \psi'_1 | \psi'_1 \rangle} = \sqrt{\langle \psi_0 | \Pi_c | \psi_0 \rangle} \;,$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;which is the square-root of the probability with which the result would occur &lt;em&gt;a priori&lt;/em&gt;. And so, we recover the formula in your question,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$ | \psi_1 \rangle \;=\; \frac{\Pi_c | \psi_0 \rangle}{ \sqrt{ \langle \psi_0 | \Pi_c | \psi_0 \rangle }} \;.$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(If this formula seems slightly clumsy, take heart that it looks and feels a little bit better if you represent quantum states by density operators.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edited to add:&lt;/strong&gt; the above should not be construed as a description of POVMs. A &quot;positive operator valued measurement&quot; is better seen as describing the &lt;em&gt;expectation value&lt;/em&gt; of various measurable observables &lt;em&gt;E&lt;sub&gt;c&lt;/sub&gt;&lt;/em&gt; in a collection {&amp;nbsp;&lt;em&gt;E&lt;sub&gt;c&lt;/sub&gt;&lt;/em&gt;&amp;nbsp;}&lt;sub&gt;&lt;em&gt;c&lt;/em&gt;&amp;nbsp;&amp;isin;&amp;nbsp;C&lt;/sub&gt;&amp;nbsp;.&lt;/p&gt;&#xA;" OwnerUserId="248" LastEditorUserId="248" LastEditDate="2010-09-09T12:57:32.900" LastActivityDate="2010-09-09T12:57:32.900" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1120" PostTypeId="2" ParentId="1115" CreationDate="2010-09-09T13:25:37.813" Score="3" Body="&lt;p&gt;I think a possible alternative for solution cluster definition could be the folowing:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;solution cluster is a set of satisfying Boolean assignments inside a ball of some given radius. The distance metric is Hamming distance between two satisfying assignments. This would enable a compact representation of each cluster by giving the center and the radius of the cluster.&lt;/p&gt;&#xA;" OwnerUserId="495" LastActivityDate="2010-09-09T13:25:37.813" CommentCount="7" ContentLicense="CC BY-SA 2.5" />
  <row Id="1121" PostTypeId="2" ParentId="1115" CreationDate="2010-09-09T14:29:00.987" Score="6" Body="&lt;p&gt;I think a cluster of solutions is a maximal set of solutions $T$ s.t. you can reach every $\tau' \in T$ from every other $\tau \in T$ by a sequence of solutions $\{\tau_i\}_{0\leq i\leq n}$ ($\tau = \tau_0$ and $\tau' = \tau_n$) where the hamming distance between each consecutive pair of solutions is bounded, i.e. they are just connected components in the graph where two solutions are adjacent iff the hamming distance between them is less than the bound.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See &lt;a href=&quot;http://michaelnielsen.org/polymath1/index.php?title=Random_k-SAT&quot;&gt;these notes&lt;/a&gt; by Dimitris Achlioptas (or papers on &lt;em&gt;statistical physics&lt;/em&gt; and &lt;em&gt;random k-SAT&lt;/em&gt;).&lt;/p&gt;&#xA;" OwnerUserId="186" LastActivityDate="2010-09-09T14:29:00.987" CommentCount="13" ContentLicense="CC BY-SA 2.5" />
  <row Id="1122" PostTypeId="2" ParentId="1050" CreationDate="2010-09-09T15:29:07.250" Score="8" Body="&lt;p&gt;This was a comment, but it became too long. I want to give an explicit example where the input size increases. Take the classic reduction from CircuitSAT to 3SAT. The usual idea is to assign a variable to every gate in the circuit. The variable's value is the output of the gate. The you add the constraints that make a gate's output reflect the gate's input and gate type. So if a gate (whose variable is g_1) is an AND gate and has input wires coming from gates g_2 and g_3, you'll get a constraint like g_1 = g_2 AND g_3. We also have variables for the inputs, of course.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;With this reduction, even though there are n inputs, if the size of the circuit is, say, $O(n^5)$, then the resulting SAT instance will have $O(n^5)$ variables, which will require $O(2^{n^5})$ time to solve by brute forcing on a deterministic TM.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You also asked why E is not closed under Karp reductions. That's easy. Take a problem that only be solved in $O(2^{n^2})$ time, and therefore it is not in E.  Now we can Karp-reduce this to a language in E by padding the input with $O(n^2)$ zeros. The language in E to which we're reducing is the original language with each input of size n padded with $O(n^2)$ zeros. Now since the input size is $O(n^2)$ and we know an algorithm that solves this in $O(2^{n^2})$ time, this problem is in E.  So we reduced a problem not in E to a problem in E, showing that E is not closed under Karp reductions.&lt;/p&gt;&#xA;" OwnerUserId="206" LastActivityDate="2010-09-09T15:29:07.250" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1123" PostTypeId="1" AcceptedAnswerId="1780" CreationDate="2010-09-09T17:47:16.510" Score="9" ViewCount="326" Body="&lt;p&gt;I am (slowly) writing a review of the &lt;a href=&quot;http://www.routledge.com/books/details/9781420082920/&quot;&gt;Handbook of Chemoinformatics Algorithms&lt;/a&gt; for SIGACT News.  One chapter discusses current software implementations, and the database searches (and other applications) don't seem to take advantage of as much information about the graphs as they could.  On the other hand, perhaps more theoretical algorithms would be too hard to implement.  It seems like a potential open area, though.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So here's my question:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there an overview (or a small handful of references) that discusses theory &lt;em&gt;and implementation&lt;/em&gt; (hopefully) of algorithms of databases of graphs with metric information?  (Each edge is a distance, and each vertex has a volume.)  A chemistry-free description of an example problem would be: given a database of graphs, find all of them that contain a particular subgraph.&lt;/p&gt;&#xA;" OwnerUserId="30" LastActivityDate="2010-09-30T20:28:34.827" Title="Metric graph theory database search algorithms" Tags="&lt;reference-request&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="1124" PostTypeId="1" AcceptedAnswerId="1126" CreationDate="2010-09-09T17:48:08.330" Score="7" ViewCount="432" Body="&lt;p&gt;This post is linked to: &lt;a href=&quot;https://cstheory.stackexchange.com/questions/1088/fnp-complexity-class&quot;&gt;FNP complexity class&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Many places say that the decision version of Hamiltonian Cycle is NP-Complete, and NP-Complete problems are those whose solution can be verified in polynomial time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose I ask someone &quot;Does a Hamiltonian Cycle exist?&quot; and she answers &quot;YES&quot;, then how can I (in polynomial time) verify that she is not lying? (I am assuming here that the solution I got &quot;YES&quot; is the only thing I have with me)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Alternate interpretation: Is &lt;em&gt;&quot;Any given solution to L can be verified quickly (in polynomial time)&quot;&lt;/em&gt; to be interpreted as &lt;em&gt;&quot;Given some solution to the Hamiltonian Cycle problem for this graph, it can be verified quickly&quot;&lt;/em&gt;?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If it is the latter, then things fall into place.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Quoting from &lt;a href=&quot;http://en.wikipedia.org/wiki/FNP_(complexity)&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://en.wikipedia.org/wiki/FNP_(complexity)&lt;/a&gt;:&#xA;&lt;em&gt;&quot;This means that the FNP version of every NP-complete problem is NP-hard.&quot;&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is this necessarily true?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;And comparing with the Hamiltonian Cycle problem, if she (the solver) says &quot;YES and here it is ...&quot; then I can take that and verify if it is actually a Hamiltonian Cycle. Hence, shouldn't this (FNP) version &lt;strike&gt;actually be NP-Complete&lt;/strike&gt; not be NP-hard? What am I missing here?&lt;/p&gt;&#xA;" OwnerUserId="983" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2010-09-09T18:34:37.830" Title="On the class of the FNP version of the Hamiltonian Cycle problem" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;hamiltonian-paths&gt;" AnswerCount="2" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="1125" PostTypeId="2" ParentId="1124" CreationDate="2010-09-09T18:01:12.617" Score="2" Body="&lt;p&gt;FNP-Complete problem is the search version of an NP-complete decision problem &quot;Is there a Hamiltonian graph in the input graph&quot;. The search version which is FNP-complete asks for an algorithm that produces the edges of a Hamiltonian cycle or report there is none. As far as verifying the correctness of the decision problem, you can use it as oracle to find the Hamiltonian cycle and then verify that the cycle is Hamiltonian.&lt;/p&gt;&#xA;" OwnerUserId="495" LastActivityDate="2010-09-09T18:01:12.617" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="1126" PostTypeId="2" ParentId="1124" CreationDate="2010-09-09T18:32:30.813" Score="7" Body="&lt;p&gt;The FNP version of an NP-complete language $L$ asks to solve the following problem on every input $x$:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) If $x \not\in L$, output &quot;NO&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) If $x \in L$, output some witness &quot;w&quot; such that a polynomial-time entity, given $(x,w)$, can verify that $x \in L$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider the transformation $T$ of the above scheme: If the FNP machine answered &quot;NO&quot;, $T$ answers &quot;NO&quot;. Otherwise, $T$ answers &quot;YES&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Obviously $T$ is a Karp-reduction of any NP-complete problem to the corresponding FNP-complete instance.&lt;/p&gt;&#xA;" OwnerUserId="873" LastActivityDate="2010-09-09T18:32:30.813" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="1127" PostTypeId="2" ParentId="942" CreationDate="2010-09-09T20:22:01.920" Score="9" Body="&lt;p&gt;I think I finally understood what is going on here and why we seem to have two conflicting answers: one saying that we can simply apply the directed, vertex version of Menger's theorem / max-flow min-cut, and the other one saying that the problem of finding a separating set of vertices in directed graphs is NP-hard. Obviously I'm no expert on this kind of things, but let's see if I can get these right...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $G = (V,E)$ be a directed graph. Let $p, q \in V$ be two distinct nodes. In what follows, $X \subseteq V \setminus \{ p,q \}$ is a subset of nodes that doesn't contain $p$ or $q$. Let $G-X$ be the subgraph of $G$ induced by $V \setminus X$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now let's define two (non-standard) terms:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$X$ is a &lt;em&gt;one-way separator&lt;/em&gt; if $G-X$ doesn't have any directed path from $p$ to $q$.&lt;/li&gt;&#xA;&lt;li&gt;$X$ is a &lt;em&gt;two-way separator&lt;/em&gt; if $G-X$ doesn't have any directed path from $p$ to $q$ or from $q$ to $p$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Now I think the situation is as follows:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;It's possible to find a minimum-size one-way separator in polynomial time.&lt;/li&gt;&#xA;&lt;li&gt;However, finding a minimum-size two-way separator is NP-hard.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Some explanations and references:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;em&gt;One-way separators:&lt;/em&gt; There is a directed vertex version of Menger's theorem: the maximum number of pairwise internally-disjoint directed paths from $p$ to $q$ = the minimum size a one-way separator. See, for example, p. 205 and Theorem 11.6 of Bondy and Murty's &lt;em&gt;&lt;a href=&quot;http://www.ecp6.jussieu.fr/pageperso/bondy/books/gtwa/gtwa.html&quot;&gt;Graph Theory with Applications&lt;/a&gt;&lt;/em&gt; (1976). (Of course Menger's theorem is an existential result, but a typical proof seems to reduce the problem to max-flow min-cut, which gives a poly-time algorithm. Anyway, the statement of Menger's theorem is already enough to place the problem in NP${}\cap{}$co-NP.)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;em&gt;Two-way separators:&lt;/em&gt; These seem to be equal to &quot;node multiway cuts in directed graphs, for $k = 2$ and weights = 1&quot; in &lt;a href=&quot;http://dx.doi.org/10.1016/S0196-6774%2803%2900111-1&quot;&gt;this&lt;/a&gt; paper that András mentioned. Theorem 1 claims that finding an optimal solution is NP-hard.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;(Obviously, we could find a 2-approximation of two-way separators by simply taking the union of two one-way separators. But this isn't necessarily optimal.)&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Now if we get back to the original question: isn't it enough to just find a one-way separator, to break the strong connectivity? So isn't the original problem in P?&lt;/p&gt;&#xA;" OwnerUserId="74" LastActivityDate="2010-09-09T20:22:01.920" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="1128" PostTypeId="2" ParentId="1117" CreationDate="2010-09-09T21:46:53.320" Score="33" Body="&lt;p&gt;What Neel said, and also the following.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would like to emphasize (&lt;a href=&quot;http://math.andrej.com/2008/02/06/representations-of-uncomputable-and-uncountable-sets/&quot; rel=&quot;noreferrer&quot;&gt;again&lt;/a&gt;, &lt;a href=&quot;https://cstheory.stackexchange.com/questions/1037/what-does-it-mean-that-there-are-differing-views-on-how-computations-are-represen/&quot;&gt;again&lt;/a&gt; and &lt;a href=&quot;http://drops.dagstuhl.de/opus/volltexte/2009/2257/&quot; rel=&quot;noreferrer&quot;&gt;again&lt;/a&gt;) that representation of input and output matters. If we are allowed to change representations, we can achieve just about anything (for example, make any given function computable). So, passing from a representation of functions $\mathbb{N} \to \mathbb{N}$ by $\lambda$-terms to a representation by Gödel numbers is &lt;em&gt;not&lt;/em&gt; acceptable if our model of computation is $\lambda$-calculus (because then the currying operation becomes uncomputable by $\lambda$-calculus).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A statement which is realizable in the $\lambda$-term model but not in the Turing machine model is &quot;not every function $\mathbb{N} \to \mathbb{N}$ has a Gödel code&quot;, which is kind of silly. I will try to come up with a better one and edit this answer.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit on 2013-10-07:&lt;/strong&gt; Here is what I meant by &quot;currying becomes uncomputable&quot;. Suppose we use the untyped $\lambda$-calculus as our computational model, but then we decide that we should represent maps $\mathbb{N} \to \mathbb{N}$ with Gödel codes (of Turing machines, encoded as Church numerals). Sounds harmless, right? After all we believe the mantra &quot;Turing machines and $\lambda$-calculus are equivalent&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Well, for this new representation to actually be a valid representation of $\mathbb{N} \to \mathbb{N}$, we need also to realize application and currying (because to &quot;represent functions&quot; means the same thing as &quot;to represent an exponential object&quot;). Specifically, we need a $\lambda$-term $\mathtt{app}$ such that, whenever the Church numeral $\overline{n}$ represents $f : \mathbb{N} \to \mathbb{N}$ then $f(k)$ is represented by $\mathtt{app} \; \overline{n} \; \overline{k}$. (Here I write $\overline{n}$ for the Church numeral representing the number $n$.) Such an $\mathtt{app}$ is readily available because it amounts to an interpreter for Turing machines, implemented in the $\lambda$-calculus.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But how about currying? For that we need the following. Suppose $X$ is a represented set. Given any map $f : X \times \mathbb{N} \to \mathbb{N}$ computed by a $\lambda$-term $t$, we need to show that the transposition $\tilde{f} : X \to (\mathbb{N} \to \mathbb{N})$ is also computed by some $\lambda$-term $s$. But consider the example where $X$ is the set o fmaps $\mathbb{N} \to \mathbb{N}$ represented by $\lambda$-terms, and $f$ is application. Then $\tilde{f}$ would be a map which acts as identity on $\mathbb{N} \to \mathbb{N}$, but its realizer is a $\lambda$-term that converts $\lambda$-terms representing maps $\mathbb{N} \to \mathbb{N}$ to corresponding Gödel codes. Such a $\lambda$-term does not exist (for example because it would be discontinuous in a topological semantic model).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You may attempt to object that I should not have used the specific represented set $X$ of maps $\mathbb{N} \to \mathbb{N}$ represented by $\lambda$-terms, because we &quot;agreed&quot; that those should be represented by Gödel codes. But you would be wrong. First of all, I could have used a different $X$ with a more complicated proof which would elude you but still accomplish the same result. Second of all, $X$ is there in the category and the definition of exponential requires that currying work with respect to &lt;em&gt;all&lt;/em&gt; objects. You have to respect the category. You cannot just randomly butcher it and take some objects out (well, you can but then you are a butcher).&lt;/p&gt;&#xA;" OwnerUserId="705" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2013-10-07T07:51:57.120" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="1130" PostTypeId="1" AcceptedAnswerId="1229" CreationDate="2010-09-10T05:43:41.210" Score="29" ViewCount="1099" Body="&lt;p&gt;I have heard that there are heuristic arguments in statistical physics that yield results in probability theory for which rigorous proofs are either unknown or very difficult to arrive at. What is a simple toy example of such a phenomenon?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It would be good if the answer assumed little background in statistical physics and could explain what these mysterious heuristics are and how they can be informally justified.  Also, perhaps someone can indicate the broad picture of how much of these heuristics can be rigorously justified and how the program of Lawler, Schramm and Werner fits into this.&lt;/p&gt;&#xA;" OwnerUserId="15" LastEditorUserId="186" LastEditDate="2012-08-02T22:50:13.803" LastActivityDate="2014-06-21T04:32:51.233" Title="What does one mean by heuristic statistical physics arguments?" Tags="&lt;sat&gt;&lt;pr.probability&gt;&lt;physics&gt;&lt;statistical-physics&gt;" AnswerCount="3" CommentCount="3" FavoriteCount="7" ContentLicense="CC BY-SA 2.5" />
  <row Id="1132" PostTypeId="1" AcceptedAnswerId="1273" CreationDate="2010-09-10T08:23:47.997" Score="30" ViewCount="1311" Body="&lt;p&gt;It's well-known that a regular expression can be recognized by a nondeterministic finite automaton of size proportional to the regular expression, or by a deterministic FA which is potentially exponentially larger. Furthermore, given a string $s$ and a regular expression $r$, the NFA can test membership in time proportional to $|s| \cdot |r|$, and the DFA can test membership in time proportional to $|s|$. The slowdown for the NFA arises from the fact that essentially we need to track the sets of possible states the automaton could be in, and the exponentially blowup for the DFA arises from the fact that its states are elements of the powerset of the states of the NFA.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is it possible to efficiently (ie, in time better than $O(|r| \cdot |s|)$, and space better than $O(2^{|r|})$) recognize regular expressions, if we allow using more powerful machines than finite automata? (For example, are there succinctness gains to recognizing regular languages with pushdown automata, or counter machines?) &lt;/p&gt;&#xA;" OwnerUserId="657" LastEditorUserId="2367" LastEditDate="2010-12-07T23:17:18.277" LastActivityDate="2011-02-06T09:56:10.723" Title="Are there &quot;small&quot; machines which can efficiently match regular expressions?" Tags="&lt;fl.formal-languages&gt;&lt;automata-theory&gt;&lt;regular-expressions&gt;" AnswerCount="4" CommentCount="6" FavoriteCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="1133" PostTypeId="2" ParentId="1107" CreationDate="2010-09-10T09:06:50.293" Score="5" Body="&lt;p&gt;If you haven't seen them already I highly recommend Scott Aaronson's lecture notes &lt;a href=&quot;http://www.scottaaronson.com/democritus/&quot;&gt;&quot;Quantum Computing Since Democritus&quot;&lt;/a&gt;, especially &lt;a href=&quot;http://www.scottaaronson.com/democritus/lec9.html&quot;&gt;lecture 9&lt;/a&gt;. They really helped me as a non-expert and I have tried to distill his presentation to the main points &lt;a href=&quot;http://rweba.livejournal.com/429528.html&quot;&gt;here&lt;/a&gt; and &lt;a href=&quot;http://rweba.livejournal.com/429744.html&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As far as your specific query I think it helps build intuition if you can calculate some simple example's using the Born Rule and see how the Measurement Postulate works in practice.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I found it easiest to think of as &quot;The probability of measuring the ith outcome is the square of the amplitude of the ith element of the state vector - if you do a change of basis to to the eigenvectors of the Operator.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This also ties in neatly with the intuition that quantum mechanics is probability with complex numbers - since the squares of the amplitudes must sum up to 1.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As long as you're studying quantum computing you might also want to check out this discussion of &lt;a href=&quot;http://www.scottaaronson.com/blog/?p=208&quot;&gt;Shor's algorithm&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="847" LastActivityDate="2010-09-10T09:06:50.293" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="1134" PostTypeId="1" AcceptedAnswerId="1141" CreationDate="2010-09-10T09:07:32.010" Score="11" ViewCount="521" Body="&lt;p&gt;Consider two metric spaces $(X, d)$ and $(Y, f)$, and an embedding $\mu : X \rightarrow Y$. &#xA;Traditional metric space embeddings measure the quality of $\mu$ as the worst-case ratio of original to final distance:&#xA;$$ \rho = \max_{p,q \in X} \{ \frac{d(x,y)}{f(\mu(x), \mu(y))}, \frac{f(\mu(x), \mu(y))}{d(x,y)} \}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are other measures of quality though: &lt;a href=&quot;http://www.cs.cmu.edu/~kedar/avgline.ps&quot;&gt;Dhamdhere et al&lt;/a&gt; study the &quot;average&quot; distortion:&#xA;$$ \sigma = \frac{\sum d(x,y)}{\sum f(\mu(x), \mu(y))}.$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, the measure I'm interested in here is the one used by MDS-like methods, which looks at the average &lt;em&gt;additive&lt;/em&gt; error:&#xA;$$ \varepsilon^2 = \sum | d(x,y) - f(\mu(x), \mu(y))|^2$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Although MDS-like methods are studied extensively outside the theoryCS community, I'm aware of only one paper (&lt;a href=&quot;http://www.cs.cmu.edu/~kedar/approx04.ps&quot;&gt;by Dhamdhere et al&lt;/a&gt;) that examines optimization under this measure, and that too for the limited problem of embedding onto the line ($Y = \mathbb{R}$) (side note: Tasos Sidiropoulos' &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.94.8039&amp;amp;rep=rep1&amp;amp;type=pdf&quot;&gt;2005 MS thesis&lt;/a&gt; has a nice review of earlier work)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there any more recent work that people are aware of regarding rigorous quality analysis under this notion of error ? While these problems are generally NP-hard, what I'm more interested in are approximations of any kind. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2010-09-11T21:21:53.700" Title="Average distortion embeddings" Tags="&lt;approximation-algorithms&gt;&lt;cg.comp-geom&gt;&lt;embeddings&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="1136" PostTypeId="2" ParentId="1130" CreationDate="2010-09-10T12:16:43.873" Score="11" Body="&lt;p&gt;There is a &lt;a href=&quot;http://pims2010.web.officelive.com/Documents/notes_Lawler.pdf&quot;&gt;very recent survey by Lawler on SLEs&lt;/a&gt;.  You'll need to know a bit of complex analysis.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Although not directly related to your question, perhaps you could check out a few of &lt;a href=&quot;http://users.soe.ucsc.edu/~optas/&quot;&gt;Achlioptas' papers&lt;/a&gt; which also fit under the umbrella of &quot;formalising physicists' heuristics&quot;, although from the viewpoint of a theoretical computer scientist.  Or perhaps deeper into the statphys perspective you could browse through some of &lt;a href=&quot;http://users.ictp.it/~zecchina/selected_papers.html&quot;&gt;Zecchina's work&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think it is worth adding that what you have referred to as physicists' &quot;results&quot; -- most of which should be called conjectures -- in this &lt;em&gt;very broad&lt;/em&gt; category of problems rely almost as much (or even more) on numerical experiments as (than) on heuristic arguments.&lt;/p&gt;&#xA;" OwnerUserId="233" LastActivityDate="2010-09-10T12:16:43.873" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="1137" PostTypeId="2" ParentId="1107" CreationDate="2010-09-10T14:18:10.433" Score="4" Body="&lt;h2&gt;Addendum.&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;After re-considering the form of your question (&lt;em&gt;e.g.&lt;/em&gt; the M&lt;sup&gt;&amp;dagger;&lt;/sup&gt;M in the denominator --- as opposed for instance to a single operator M, which suffices for projectors) and reconsulting my copy of Nielsen and Chaung, here are some supplementary details not covered by my previous answer. (I'm posting this as a separate answer due to length, and because I feel that this is even less of an 'explanation' than my previous answer.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose that our only means of measuring a qubit &lt;em&gt;X&lt;/em&gt; is indirect: by a 'weak' interaction with an ancilla &lt;em&gt;A&lt;/em&gt;, followed by a measurement on &lt;em&gt;A&lt;/em&gt;.&#xA;We would like to be able to talk about these as being in a sense a way of measuring &lt;em&gt;X&lt;/em&gt;. How might we describe such a measurement in terms of &lt;em&gt;X&lt;/em&gt; alone? Well: suppose we can easily prepare &lt;em&gt;A&lt;/em&gt; in the initial state $|+\rangle \propto |0\rangle + |1\rangle$, and perform a controlled unitary of the following sort, with &lt;em&gt;X&lt;/em&gt; as the control and &lt;em&gt;A&lt;/em&gt; as the target:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$ U \;=\; \left[\begin{matrix} \quad1\quad &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 \\ 0 &amp;amp; \quad1\quad &amp;amp; 0 &amp;amp; 0 \\ 0 &amp;amp; 0 &amp;amp; \cos(\tfrac{\pi}{12}) &amp;amp; \sin(\tfrac{\pi}{12}) \\ 0 &amp;amp; 0 &amp;amp; -\sin(\tfrac{\pi}{12}) &amp;amp; \cos(\tfrac{\pi}{12}) \end{matrix}\right] $$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We then measure &lt;em&gt;A&lt;/em&gt; in the standard basis (so that &lt;em&gt;A&lt;/em&gt; now stores the measurement result). This transforms the state of &lt;em&gt;X&lt;/em&gt; as follows:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\begin{align*} |\psi_0\rangle_X \;=&amp;amp;\; \alpha|0\rangle_X + \beta|1\rangle_X&#xA;\\\\\mapsto&amp;amp;\; \alpha |0\rangle_X \otimes \bigl(\tfrac1{\sqrt 2} |0\rangle_A + \tfrac1{\sqrt 2}|1\rangle_A\bigr) \quad+\quad \beta |1\rangle_X \otimes \bigl(\tfrac1{\sqrt 2}|0\rangle_A + \tfrac1{\sqrt 2}|1\rangle_A\bigr)&#xA;\\\\\mapsto&amp;amp;\; \alpha |0\rangle_X \otimes \bigl(\tfrac1{\sqrt 2} |0\rangle_A + \tfrac1{\sqrt 2}|1\rangle_A\bigr) \quad+\quad \beta |1\rangle_X \otimes \bigl(\tfrac{\sqrt 3}2|0\rangle_A + \tfrac12|1\rangle_A\bigr)&#xA;\\\\=&amp;amp;\; \bigl( \tfrac{\alpha}{\sqrt 2} |0\rangle_X + \tfrac{\sqrt3\beta}{2} |1\rangle_X \bigr) \otimes |0\rangle_A \quad+\quad \bigl( \tfrac{\alpha}{\sqrt 2} |0\rangle_X + \tfrac{\beta}{2} |1\rangle_X \bigr) \otimes |1\rangle_A&#xA;\\\\\mapsto&amp;amp;\;&#xA;\begin{cases}&#xA;|\psi_1\rangle_X \otimes |0\rangle_A \;\;\propto\;\; \bigl(\tfrac{\alpha}{\sqrt 2}|0\rangle_X + \tfrac{\sqrt 3\beta}{2}|1\rangle_X\bigr) \otimes |0\rangle_A &amp;amp; \;\text{for the result 0; or } \\&#xA;|\psi_1\rangle_X \otimes |1\rangle_A \;\;\propto\;\; \bigl(\tfrac{\alpha}{\sqrt 2}|0\rangle_X + \tfrac{\beta}{2}|1\rangle_X\bigr) \otimes |1\rangle_A &amp;amp; \;\text{for the result 1.}&#xA;\end{cases}&#xA;\end{align*}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the equations above, note that if the result of the measurement is &lt;em&gt;c&lt;/em&gt;, the final state $|\psi_1\rangle$ of &lt;em&gt;X&lt;/em&gt; is proportional to $|\psi'_1\rangle = M_c |\psi_0\rangle$, where we define&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$ M_0 \;=\; \tfrac{1}{\sqrt 2} |0\rangle\langle 0| + \tfrac{\sqrt 3}{2} |1\rangle\langle 1|\;,\qquad &#xA;M_1 \;=\; \tfrac{1}{\sqrt 2} |0\rangle\langle 0| + \tfrac{1}{2} |1\rangle\langle 1|\;;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;and we may verify that the probabilities with which we obtain the measurement results are in each case $\langle \psi'_1 | \psi'_1 \rangle \;=\; \langle \psi_0 | M_c^\dagger M_c | \psi_0 \rangle$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is very close to describing the transformation of &lt;em&gt;X&lt;/em&gt; in the same way that we describe projective measurements. But is this any sort of measurement, meaningfully speaking? Well: if we can do statistics on the results of multiple iterations of this procedure, and if &lt;em&gt;X&lt;/em&gt; is initially in the standard basis, we would notice that there is a bias in when we obtain the '0' result: we obtain it more often when &lt;em&gt;X&lt;/em&gt; is initially in the state $|1\rangle$.&#xA;If we can sample enough times to distinguish whether the measurement results are distributed more like $(\frac12,\frac12)$ or $(\frac34,\frac14)$, we can determine with high probability whether the qubit is initially in the state $|0\rangle$ or the state $|1\rangle$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The similarity of the probabilities-and-update formulae to those of projective measurement, and the fact that we can use measurement statistics to get information about the state measured, motivates a generalization of the notion of 'measurement' to include procedures such as the one above: we may describe possible measurement outcomes by one, two, or more operators $M_c$ (which are in fact 'Kraus operators', objects associated to CPTP maps), with outcomes described by a slightly generalized Born rule&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$ \Pr\limits_{|\psi_0\rangle}(\text{result}=c) \;=\; \langle \psi_0 | M_c^\dagger M_c | \psi_0 \rangle \;, $$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where $M_c$ is a Kraus operator associated with your measurement, and with an update rule given by&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$ |\psi_1\rangle \;=\; \frac{M_c |\psi_0\rangle}{\sqrt{\langle \psi_0 | M_c^\dagger M_c | \psi_0 \rangle}} \;.$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In order for the probabilities to be conserved (so that with certainty &lt;em&gt;at least one&lt;/em&gt; of the measurement results occurs), we require $\sum_c M_c^\dagger M_c = I$. This is the more general form in your question, described by Nielsen and Chaung. (Again, this looks slightly better when describing states by density operators.)&lt;/p&gt;&#xA;&#xA;&lt;h3&gt;General remarks.&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;In general, any time that we introduce an ancilla (or collection of ancillas) &lt;em&gt;A&lt;/em&gt;, interact a qubit (or register of several qubits) &lt;em&gt;X&lt;/em&gt; unitarily with &lt;em&gt;A&lt;/em&gt;, and then perform a projective measurement on &lt;em&gt;A&lt;/em&gt;, this gives rise to a sort of measurement of &lt;em&gt;X&lt;/em&gt;; the measurement operators can then be described by some collection of positive-semidefinite operators $M_c$ such that $\sum_c M_c^\dagger M_c \;=\; I$ (again so that probability is conserved).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The more general, weaker measurements described here are more closely related to POVMs, which allow you to easily describe measurement probabilities 'abstractly', without an explicit choice of transformations $M_c$, by providing operators $E_c = M_c^\dagger M_c$ and allowing you to use these in the Born rule to compute probabilities. As I alluded to both above and in my previous response, POVMs can be regarded as describing statistically-available information about a system.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thinking of measurements in terms of Kraus operators (and in terms of a 'measurement result register' &lt;em&gt;A&lt;/em&gt; as above) in this way allows you to subsume the notion of measurement into that of a CPTP map, which is an idea that I enjoy. (However, this doesn't really change things from an analytical standpoint, and isn't something you should worry about if you're not yet comfortable with CPTP maps).&lt;/p&gt;&#xA;" OwnerUserId="248" LastEditorUserId="248" LastEditDate="2010-09-10T19:22:04.140" LastActivityDate="2010-09-10T19:22:04.140" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1138" PostTypeId="2" ParentId="448" CreationDate="2010-09-10T14:42:54.440" Score="1" Body="&lt;p&gt;Given the other answers, I would suggest that &quot;regular languages&quot; is safe, and after briefly remarking the difference, to talk about &quot;practical regular expressions&quot; for regexs (with backtracking).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also note that the same regexp, as a regular expressions and as a practical one, can have different semantics, because in the latter case semantics are defined in term of backtracking, with different results. Details would be off-topic, but I will answer if you ask another question on that (maybe on SO rather than here, dunno) and notify me through a comment.&lt;/p&gt;&#xA;" OwnerUserId="989" LastActivityDate="2010-09-10T14:42:54.440" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1139" PostTypeId="1" CreationDate="2010-09-10T15:05:00.880" Score="5" ViewCount="2343" Body="&lt;p&gt;I have been reading Wikipedia as an introduction to Turing machines. I found a reference to John Hopcroft and Jeffrey Ullman, (1979). &lt;em&gt;Introduction to Automata Theory, Languages and Computation&lt;/em&gt; (1st ed.), with a note that it is difficult to read. I am working hard with Wikipedia, and fear I will be unable to understand Hopcort and Ullman. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am curious about how a Turing machine simulates a subroutine. If I understand &lt;a href=&quot;http://en.wikipedia.org/wiki/Post%E2%80%93Turing_machine&quot;&gt;http://en.wikipedia.org/wiki/Post%E2%80%93Turing_machine&lt;/a&gt; correctly, a Turing machine stores the return address and jumps to the subroutine, and jumps back to exit the subroutine, as an IBM360, IBM3* series machine did using BL (branch and link). Of course, modern machines store the return address on a stack and call the subroutine, but the two are similar. Is my assumption about storing the return address and jumping to simulate a subroutine correct?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Furthermore, has anyone simulated a subroutine by adding a symbol to the Turing machine alphabet for each subroutine? Symbols not defined within the machine would merely default to calling/jumping to the address of the subroutine. This technique is not much different from the one described in the paragraph above. I ask, because a machine I once worked on, and SDS 930 had some undefined op-codes that could be used to call subroutines. (Scientific Data Systems (SDS) was purchased by Xerox and renamed XDS). &lt;/p&gt;&#xA;" OwnerUserId="794" LastActivityDate="2010-09-12T18:50:11.173" Title="Turing Machines and Subroutine Simulation" Tags="&lt;turing-machines&gt;" AnswerCount="1" CommentCount="8" ContentLicense="CC BY-SA 2.5" />
  <row Id="1140" PostTypeId="2" ParentId="1047" CreationDate="2010-09-10T15:36:48.650" Score="5" Body="&lt;p&gt;One interesting result, taken from &lt;a href=&quot;https://cstheory.stackexchange.com/questions/448/regular-expressions-arent&quot;&gt;this other question&lt;/a&gt;, also linked by Suresh Venkat, is that &quot;Practical&quot; regexps are NP-complete, and thus they should be equivalent in power to SAT.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Being a non-expert, while I agree that intuitively &quot;regexes with backreferences don't seem to be sufficient to match the balanced parenthesis language&quot;, there is something strange going on. NP-completeness implies that any NP problem can be polynomially reduced to a regexp, so probably there is just a polynomial reduction from the &quot;balanced parentheses&quot; language to one recognizable with regexps. But again, there might be some absurd regexp to parse a CFL, since they can even parse non-prime unary numbers!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Probably, the lesson is that complexity classes and language classes are not comparable, in general. Which also suggests rephrasing your question, to reference the Chomsky hierarchy rather than the &quot;complexity scale&quot; (even if, to be fair, I was not confused by that).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Charles Stewart writes:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Aho, 1990, &quot;Algorithms for finding&#xA;  patterns in strings&quot; shows that the&#xA;  membership problem for regular&#xA;  languages with backtracking is NP&#xA;  complete.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;A partial preview (at least of the statement) can be found &lt;a href=&quot;http://books.google.it/books?id=-X39_rA3VSQC&amp;amp;pg=PA289&quot; rel=&quot;nofollow noreferrer&quot;&gt;on Google Books&lt;/a&gt;, at page 289, and a bibliographic reference to the paper can be found &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=114877&quot; rel=&quot;nofollow noreferrer&quot;&gt;here&lt;/a&gt;. Note that in the paper, rewbr stands for Regular Expression With BackReferences.&lt;/p&gt;&#xA;" OwnerUserId="989" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2010-09-10T15:36:48.650" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1141" PostTypeId="2" ParentId="1134" CreationDate="2010-09-10T16:06:54.043" Score="3" Body="&lt;p&gt;This is a nice question. I don't know of approximation algorithms, but the known hardness results for approximating minimum distortion (and related problems such as metric labeling) should also show that $\epsilon^2$ is hard to approximate.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The reason is that they give a reduction from an NP-hard problem such that in the YES case the distortion is $O(1)$ and in the NO case the distortion is $\Omega(k)$ for at least a &lt;em&gt;constant fraction&lt;/em&gt; of the edges. Hence, in the YES case $\epsilon^2$ will be a factor $k$ smaller than in the NO case. For details, see for instance the paper by Khot-Saket: www.cs.cmu.edu/~rsaket/pubs/approx.pdf&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm not exactly sure which hardness factor follows from their paper, but it shouldn't be difficult to figure out. (I would guess at least the $\log^c(n)$ factor that you get for metric labeling should follow.)&lt;/p&gt;&#xA;" OwnerUserId="68" LastEditorUserId="68" LastEditDate="2010-09-11T21:21:53.700" LastActivityDate="2010-09-11T21:21:53.700" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="1144" PostTypeId="1" CreationDate="2010-09-10T17:27:52.520" Score="3" ViewCount="512" Body="&lt;p&gt;Let $T={1,…,n}$ be a set of tasks. Each task $i$ has associated a non negative processing time $p_i$ and a deadline $d_i$. A feasible schedule of the tasks consists of a permutation of $n$ elements $\pi$, such that $\sum_{i=1}^k p_{\pi(i)} \le d_{\pi(i)}$ for all $k=1,\ldots,n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does there exist a pseudo-polynomial time algorithm for computing the total number of feasible schedules?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A pseudo-polynomial time algorithm is an algorithm whose running time is bounded by a polynomial on the size of the input, given that the input is written in unary notation (2 = II, 3 = III). (e.g., the size of a number n in unary notation is $O(n)$, and not $O(\log(n)))$.&lt;/p&gt;&#xA;" OwnerDisplayName="Pablo" LastEditorUserId="80" LastEditDate="2010-09-10T17:56:27.887" LastActivityDate="2010-09-13T22:00:46.237" Title="Counting complexity of a scheduling problem." Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;co.combinatorics&gt;&lt;scheduling&gt;" AnswerCount="2" CommentCount="5" FavoriteCount="1" ClosedDate="2010-10-12T05:32:24.440" ContentLicense="CC BY-SA 2.5" />
  <row Id="1145" PostTypeId="1" CreationDate="2010-09-10T18:11:18.150" Score="4" ViewCount="427" Body="&lt;p&gt;Consider a variant of a satisifiability problem.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Given n dimensions (n &gt;= 3, &lt;strike&gt;n &amp;lt; 10,000&lt;/strike&gt; &lt;i&gt;think of n as large but finite&lt;/i&gt;)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The range of each dimension is either an interval over the integers or an interval over the fixed-point decimals (which can be mapped to be the integers).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Given a truth predicate which can use these operations:&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;(&amp;lt;, =&gt;, ==, !=, *, +, -, /, if/then, and}&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Example in Prolog of a predicate of truth:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;Predicate(V1, V2, V3) :-&#xA;   V2 =&amp;lt; V3,&#xA;   V1 * 5 =&amp;lt; V3,&#xA;   V1 * 50 &amp;gt;= V3.&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Is this mappable to 3SAT?&lt;/li&gt;&#xA;&lt;li&gt;Is this less hard than 3SAT?&lt;/li&gt;&#xA;&lt;li&gt;What are pragmatic and efficient solutions to select some true point (or set of points) in the space?&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="516" LastEditorUserId="516" LastEditDate="2010-09-13T22:34:44.017" LastActivityDate="2010-09-13T22:34:44.017" Title="Is this problem mappable to 3SAT or is it weaker than 3SAT?" Tags="&lt;cc.complexity-theory&gt;&lt;sat&gt;" AnswerCount="1" CommentCount="14" ContentLicense="CC BY-SA 2.5" />
  <row Id="1146" PostTypeId="2" ParentId="1145" CreationDate="2010-09-10T18:31:14.027" Score="7" Body="&lt;p&gt;And one way of trying to solve such a problem is to do a form of backtracking, or what is also called &quot;branch-and-bound&quot;. (Sorry, this was too long for a comment.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here's one possible heuristic: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;(1) Choose some variable $x$ that is &quot;most&quot; constrained in some sense (maybe it occurs the most often). Suppose its integer range is $[L,R]$, and let $M$ be the midpoint of that interval. Now try to recursively solve the problem when $x &amp;lt; M$ is assumed, and separately when $x \geq M$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;(2) In each recursive call, relax the predicate to be a linear program (i.e., the solutions to the variables are over the rationals), and include all range constraints such as $x \geq L$ and $x \leq R$. Check if the resulting linear program is still feasible over the rationals. If it isn't feasible over the rationals, then it won't be feasible over the integers either, so you can stop and backtrack. If it is feasible over the rationals, continue with step (1). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note: not all possible constraints (e.g. quadratic polynomials like $x(1-x) = 0$) can be neatly expressed as linear constraints; one possible &quot;solution&quot; to this is to simply leave those constraints out (or, replace these &quot;hard&quot; constraints with linear constraints that are consequences of the hard constraint being true... for example, $x(1-x)=0$ has the consequence that $x \geq 0$ and $x \leq 1$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;That's about as much detail as a CS theory site can give you ;)&lt;/p&gt;&#xA;" OwnerUserId="225" LastEditorUserId="225" LastEditDate="2010-09-12T16:34:46.313" LastActivityDate="2010-09-12T16:34:46.313" CommentCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="1147" PostTypeId="1" CreationDate="2010-09-10T20:44:50.357" Score="24" ViewCount="2446" Body="&lt;p&gt;What are the basic references? Are there any good, high-level surveys of SGT and its applications to CS in general and machine learning more specifically?&lt;/p&gt;&#xA;" OwnerUserId="120" LastActivityDate="2018-04-06T11:10:40.680" Title="Introduction to spectral graph theory" Tags="&lt;reference-request&gt;&lt;spectral-graph-theory&gt;" AnswerCount="6" CommentCount="0" FavoriteCount="15" CommunityOwnedDate="2010-09-10T20:44:50.357" ContentLicense="CC BY-SA 2.5" />
  <row Id="1148" PostTypeId="2" ParentId="1147" CreationDate="2010-09-10T20:51:31.260" Score="19" Body="&lt;p&gt;Two sources: The &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0821803158&quot;&gt;Fan Chung book on spectral graph theory&lt;/a&gt;  and &lt;a href=&quot;http://www.cs.yale.edu/homes/spielman/sgta/&quot;&gt;Dan Spielman's notes&lt;/a&gt; on the same.&lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2010-09-10T20:51:31.260" CommentCount="0" CommunityOwnedDate="2010-09-10T20:51:31.260" ContentLicense="CC BY-SA 2.5" />
  <row Id="1149" PostTypeId="2" ParentId="1147" CreationDate="2010-09-10T21:04:31.407" Score="12" Body="&lt;p&gt;I really like &lt;a href=&quot;http://www.cs.elte.hu/~lovasz/erdos.pdf&quot;&gt;L. Lovász: Random walks on graphs: a survey&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="225" LastActivityDate="2010-09-10T21:04:31.407" CommentCount="0" CommunityOwnedDate="2010-09-10T21:04:31.407" ContentLicense="CC BY-SA 2.5" />
  <row Id="1150" PostTypeId="2" ParentId="1147" CreationDate="2010-09-10T21:06:04.543" Score="10" Body="&lt;p&gt;Beside Fan Chung's book, I also like &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0521458978&quot;&gt;Biggs'&lt;/a&gt;; it's short and sweet. I heard that &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/3527296859&quot;&gt;Cvetković-Doob-Sachs&lt;/a&gt; is supposed to be encyclopedic but I haven't had a chance to check it out yet. Yes, I agree with Ryan than Lovasz' survey is a pleasure to read (so do most of his surveys).&lt;/p&gt;&#xA;" OwnerUserId="61" LastActivityDate="2010-09-10T21:06:04.543" CommentCount="1" CommunityOwnedDate="2010-09-10T21:06:04.543" ContentLicense="CC BY-SA 2.5" />
  <row Id="1151" PostTypeId="2" ParentId="1147" CreationDate="2010-09-10T21:18:47.920" Score="9" Body="&lt;p&gt;Godsil and Royle's Algebraic Graph Theory is a good book too, though it has more than just spectral graph theory.&lt;/p&gt;&#xA;" OwnerUserId="206" LastActivityDate="2010-09-10T21:18:47.920" CommentCount="0" CommunityOwnedDate="2010-09-10T21:18:47.920" ContentLicense="CC BY-SA 2.5" />
  <row Id="1152" PostTypeId="2" ParentId="1144" CreationDate="2010-09-10T21:20:28.033" Score="1" Body="&lt;p&gt;A good reference for scheduling problems, including issues of complexity is:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Handbook of Scheduling, J. Y-T. Leung (ed), Chapman &amp;amp; Hall/CRC, 2004.&lt;/p&gt;&#xA;" OwnerUserId="987" LastActivityDate="2010-09-10T21:20:28.033" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1153" PostTypeId="2" ParentId="1147" CreationDate="2010-09-10T21:41:44.553" Score="15" Body="&lt;p&gt;There is a new upcoming book on &lt;a href=&quot;http://www.cc.gatech.edu/~vempala/spectralbook.html&quot;&gt;Spectral Algorithms&lt;/a&gt; by Ravi Kannan and Santosh Vempala covering several latest developments. It covers several applications of spectral methods, algorithms for estimating spectral parameters and low rank approximation of matrices.&lt;/p&gt;&#xA;" OwnerUserId="344" LastActivityDate="2010-09-10T21:41:44.553" CommentCount="0" CommunityOwnedDate="2010-09-10T21:41:44.553" ContentLicense="CC BY-SA 2.5" />
  <row Id="1154" PostTypeId="1" CreationDate="2010-09-11T10:01:14.663" Score="-2" ViewCount="2233" Body="&lt;p&gt;I need a formalism to describe the following requirements:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;I have a graph comprised of nodes and transitions between nodes&lt;/li&gt;&#xA;&lt;li&gt;Nodes maybe one of three types, all are sub-classes of a base abstract node type&lt;/li&gt;&#xA;&lt;li&gt;Activity nodes have one transition in and one out&lt;/li&gt;&#xA;&lt;li&gt;Wrapper nodes have one transition in and one out&lt;/li&gt;&#xA;&lt;li&gt;Routing nodes may have multiple transitions in and multiple transitions out&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Routing nodes can either behave as AND-join, AND-split, OR-split, OR-join depending on how they are configured&lt;/li&gt;&#xA;&lt;li&gt;Routing nodes can simultaneously be a join and a split, but not a join and a join, or a split and a split (obviously, since it can only join or split in one way)&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;li&gt;There are no cycles.&lt;/li&gt;&#xA;&lt;li&gt;There is only one root node - always a wrapper node - this is a source.&lt;/li&gt;&#xA;&lt;li&gt;Any node can be a sink/leaf where it has no outgoing transitions&lt;/li&gt;&#xA;&lt;li&gt;the terms Activity, Wrapper and Routing are just arbitrary names for classes in my graph that exhibit different behaviour and different semantics in terms of connecting them together&lt;/li&gt;&#xA;&lt;li&gt;the terms AND-join etc describe the way transitions connect to routing nodes - so AND-join means more than one transition is incoming. AND-split is where there are multiple outgoing transitions, OR-split is where there are multiple potential outgoing branches but only one is chosen, and OR-join is multiple potential transitions incoming, but only one is chosen.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I have almost no experience of formal models, though I'm guessing I need to use set notation and logical symbols.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What would a formalisation of the above requirements look like?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks for any advice. &lt;/p&gt;&#xA;" OwnerUserId="1032" LastEditorUserId="71" LastEditDate="2010-09-12T03:17:21.103" LastActivityDate="2014-03-27T17:18:24.627" Title="How do I formally describe a rooted, directed, acyclic graph?" Tags="&lt;graph-theory&gt;&lt;formal-modeling&gt;" AnswerCount="1" CommentCount="26" ContentLicense="CC BY-SA 2.5" />
  <row Id="1155" PostTypeId="1" CreationDate="2010-09-11T11:51:27.713" Score="4" ViewCount="347" Body="&lt;p&gt;I want to create a fairly simple mathematical model that describes usage patterns and performance trade-offs in a system.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The system behaves as follows:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;clients periodically issue multi-cast packets to a network of hosts&lt;/li&gt;&#xA;&lt;li&gt;any host that receives the packet, responds with a unicast answer directly&lt;/li&gt;&#xA;&lt;li&gt;the initiating host caches the responses for some given time period, then discards them&lt;/li&gt;&#xA;&lt;li&gt;if the cache is full the next time a request is required, data is pulled from the cache not the network&lt;/li&gt;&#xA;&lt;li&gt;packets are of a fixed size and always contain the same information&lt;/li&gt;&#xA;&lt;li&gt;hosts are symmetic - any host can issue a request and respond to requests &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I want to produce some simple mathematical models (and plotted X/Y graphs) that describe the trade-offs available given some changes to the above system:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;What happens where you vary the amount of time a host caches responses? How much data does this save? How many calls to the network do you avoid? (clearly depends on activity)&lt;/li&gt;&#xA;&lt;li&gt;Suppose responses are also multi-cast, and any host that overhears another client's request can cache all the responses it hears - thereby saving itself potentially making a network request - how would this affect the overall state of the system?&lt;/li&gt;&#xA;&lt;li&gt;Now, this one gets a bit more complicated - each request-response cycle alters the state of &lt;strong&gt;one&lt;/strong&gt; other host in the network, so the more activity the quicker caches become invalid. How do I model the trade off between the number of hosts, the rate of activity, the &quot;dirtyness&quot; of the caches (assuming hosts listen in to other's responses) and how this changes with cache validity period? Not sure where to begin.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I don't really know what sort of mathematical model I need, or how I construct it. Clearly it's easier to just vary two parameters, but particularly with the last one, I've got maybe four variables changing that I want to explore.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Help and advice appreciated.&lt;/p&gt;&#xA;" OwnerUserId="1032" LastEditorUserId="1032" LastEditDate="2010-09-14T08:46:47.043" LastActivityDate="2010-09-14T08:46:47.043" Title="How can I model this usage scenario mathematically?" Tags="&lt;dc.distributed-comp&gt;&lt;network-modeling&gt;" AnswerCount="3" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="1157" PostTypeId="2" ParentId="1134" CreationDate="2010-09-11T14:04:08.183" Score="2" Body="&lt;p&gt;I might be missing something, but why is $\epsilon^2 \le (\rho-1)\sum d(x,y)^2$? We're interested in additively approximating, so we cannot scale to make $f(\mu(x), \mu(y)) \ge d(x,y)$ for all $x,y$, right?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One advantage here is that we can do badly on short lengths and be OK ultimately. Also, is the problem easy (to approximate, even) if, say we want to embed into $\ell_2$? (can we write a mathematical program to capture the question?)&lt;/p&gt;&#xA;" OwnerUserId="1034" LastActivityDate="2010-09-11T14:04:08.183" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="1159" PostTypeId="2" ParentId="1155" CreationDate="2010-09-11T14:52:34.770" Score="4" Body="&lt;p&gt;I think you want a Petri net &lt;i&gt;with transition guards&lt;/i&gt; and a global clock.  (Other formalisms would also work, but I'm going with this one because it relates to the discussion on your other question.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Draw a graph -- vertices and directed edges -- where the vertices are your nodes, and the edges are the communication channels from one node to another.  It sounds as though there's an edge between every node, if all nodes are capable of broadcast, but perhaps I'm misreading.  In any case, the important thing is that you decorate each edge with a rule or set of rules, and the edge only &quot;opens&quot; when the rules are satisfied.  (These rules are called &lt;i&gt;guard&lt;/i&gt; expressions.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, to make &quot;vary the amount of time a host caches responses&quot; rigorous, you could make the rule for an edge, &quot;if I receive a message, I wait 3 seconds according to the global clock before I pass it on.&quot;  I don't understand your dirty-cache issue well enough to offer anything yet, but I think the conceptual point you need first is this notion of enabling or disabling a transition according to the rules of the system. &lt;/p&gt;&#xA;" OwnerUserId="30" LastActivityDate="2010-09-11T14:52:34.770" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="1160" PostTypeId="1" AcceptedAnswerId="1167" CreationDate="2010-09-11T15:26:33.073" Score="14" ViewCount="1120" Body="&lt;p&gt;&lt;strong&gt;Objective&lt;/strong&gt;: Settle the conjecture that there is no &lt;a href=&quot;http://en.wikipedia.org/wiki/Projective_plane&quot; rel=&quot;nofollow noreferrer&quot;&gt;projective plane&lt;/a&gt; of order 12.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In 1989, using computer search on a Cray, &lt;a href=&quot;http://mathdl.maa.org/images/upload_library/22/Ford/Lam305-318.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Lam proved&lt;/a&gt; that no projective plane of order 10 exists.  Now that &lt;a href=&quot;http://www.cube20.org/&quot; rel=&quot;nofollow noreferrer&quot;&gt;God's Number for Rubik's Cube has been determined&lt;/a&gt; after just a few weeks of massive brute force search (plus clever math of symmetry), it seems to me that this longstanding open problem might be within reach.  (Plus maybe we could use such techniques to solve something mathematically fundamental.)  I'm hoping this question can serve as a sanity check.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The Cube was solved by reducing the total problem size to &quot;only&quot; 2,217,093,120 distinct tests, which could be run in parallel.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Questions:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;There have been several special cases of nonexistence shown.  Does anyone know, if we remove those and exhaustively search the rest, if the problem size is on the order of the Cube search?  (Maybe to much to hope for that someone knows this....)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Any partial information in this vein?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Edited to add: I asked this question on MathOverflow &lt;a href=&quot;https://mathoverflow.net/questions/38632/projective-plane-of-order-12&quot;&gt;here&lt;/a&gt;.  So far it seems as though no search space reduction is achieved from the known partial results.  I still don't know the size of the total search space.&lt;/p&gt;&#xA;" OwnerUserId="30" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2017-04-07T15:36:37.193" Title="Projective Plane of Order 12" Tags="&lt;open-problem&gt;" AnswerCount="2" CommentCount="6" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="1161" PostTypeId="2" ParentId="778" CreationDate="2010-09-11T16:42:12.717" Score="1" Body="&lt;p&gt;This problem related to Mandelbrot set seems to be $NP$-complete:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$M=${$(c,k,r) |$ In the sequence $P_c (0),P_c (P_c (0)), P_c (P_c (P_c (0)))...$ of first $k$ complex numbers, there is a subset $T$ of complex numbers such that the sum of the real parts $\gt$ $r.k$ and the sum of imaginary parts $\gt$ $r.k$}&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$r$ is real number and $k$ is an integer in unary.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is a geometric interpretation, since each $P_c^i(0)$ is a vector in 2D, we want to find the maximum size square obtainable by the summation of a subset of two dimensional vectors.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A promising reduction is from (optimization) number partition problem where each partition has the same number of elements (in the optimization version, we minimize the difference between the two sums).&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2010-09-16T04:36:29.127" LastActivityDate="2010-09-16T04:36:29.127" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1162" PostTypeId="2" ParentId="923" CreationDate="2010-09-11T17:19:20.830" Score="2" Body="&lt;p&gt;B+ tree related algorithms is used in for the database stuffs&lt;/p&gt;&#xA;" OwnerUserId="851" LastActivityDate="2010-09-11T17:19:20.830" CommentCount="0" CommunityOwnedDate="2010-09-11T17:19:20.830" ContentLicense="CC BY-SA 2.5" />
  <row Id="1165" PostTypeId="1" AcceptedAnswerId="1182" CreationDate="2010-09-11T18:56:49.497" Score="7" ViewCount="813" Body="&lt;p&gt;&lt;em&gt;The first part of this question has been solved (see comments).&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the book &quot;computational complexity&quot; by Papadimitriou, a Universal Turing Machine is given. But this machine is not concrete, in the sense that it contains variable parameters. For example, the states of the input Turing Machine are represented as binary strings of fixed length. Hence, no matter how long we let this length be, there will always be Turing Machines with so many states that they cannot be represented. Can this machine then really be called a UTM, or at least a template for a UTM?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I also read that a 2-state, 3-symbol UTM has been discovered. This would mean that the action table contains only 6 entries. Am I right in my conjecture that such a machine must have a very complex encoding of the input TM?&lt;/p&gt;&#xA;" OwnerDisplayName="Martin" LastEditorUserId="-1" LastEditorDisplayName="Martin" LastEditDate="2012-08-06T09:26:05.020" LastActivityDate="2013-10-28T16:45:09.130" Title="Universal Turing Machines in &quot;Computational Complexity&quot; by Papadimitriou" Tags="&lt;computability&gt;&lt;turing-machines&gt;&lt;universal-computation&gt;" AnswerCount="2" CommentCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="1166" PostTypeId="2" ParentId="1045" CreationDate="2010-09-11T20:17:22.173" Score="10" Body="&lt;p&gt;This answer combines some of my comments to the question and expand them.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The subrange operation on red-black trees can be performed in worst-case O(log n) time, where n is the number of elements in the original tree.  Since the resulting tree will share some nodes with the original tree, this approach is suitable only if trees are immutable (or trees are mutable but the original tree is no longer needed).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First notice that the subrange operation can be implemented by two split operations.  Here the &lt;em&gt;split&lt;/em&gt; operation takes a red-black tree T and a key x and produces two trees L and R such that L consists of all the elements of T less than x and R the elements of T greater than x.  Therefore, our goal now is to implement the split operation on red-black trees in worst-case O(log n) time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;How do we perform the split operation on red-black trees in O(log n) time?  Well, it turned out that there was a well-known method.  (I did not know it, but I am no expert of data structures.)  Consider the &lt;em&gt;join&lt;/em&gt; operation, which takes two trees L and R such that every value in L is less than every value in R and produces a tree consisting of all the values in L and R.  The join operation can be implemented in worst-case time O(|r&lt;sub&gt;L&lt;/sub&gt;−r&lt;sub&gt;R&lt;/sub&gt;|+1), where r&lt;sub&gt;L&lt;/sub&gt; and r&lt;sub&gt;R&lt;/sub&gt; are the ranks of L and R, respectively (that is, the number of black nodes on the path from the root to each leaf).  The split operation can be implemented by using the join operation O(log n) times, and the total worst-case time is still O(log n) by considering a telescoping sum.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Sections 4.1 and 4.2 of a book [Tar83] by Tarjan describe how to implement the join and the split operations on red-black trees in worst-case time O(log n).  These implementations destroy original trees, but it is easy to convert them to immutable, functional implementations by copying nodes instead of modifying them.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As a side note, the Set and the Map modules of &lt;a href=&quot;http://caml.inria.fr/ocaml/&quot;&gt;Objective Caml&lt;/a&gt; provide the split operation as well as other standard operations on (immutable) balanced binary search trees.  Although they do not use red-black trees (they use balanced binary search trees with the constraint that the left height and the right height differ by at most 2), looking at their implementations might be useful, too.  Here is &lt;a href=&quot;http://caml.inria.fr/cgi-bin/viewcvs.cgi/ocaml/trunk/stdlib/set.ml?view=log&quot;&gt;the implementation of the Set module&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;References&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[Tar83] Robert Endre Tarjan.  &lt;em&gt;Data Structures and Network Algorithms&lt;/em&gt;.  Volume 44 of &lt;em&gt;CBMS-NSF Regional Conference Series in Applied Mathematics&lt;/em&gt;, SIAM, 1983.&lt;/p&gt;&#xA;" OwnerUserId="567" LastEditorUserId="567" LastEditDate="2010-09-12T13:45:12.193" LastActivityDate="2010-09-12T13:45:12.193" CommentCount="9" ContentLicense="CC BY-SA 2.5" />
  <row Id="1167" PostTypeId="2" ParentId="1160" CreationDate="2010-09-11T22:17:19.727" Score="9" Body="&lt;p&gt;(More a comment than answer:)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finite projective planes exist for values of n which are powers of a prime, and there are infinitely many values of n which are ruled out by a theorem of R.H. Bruck and H. Ryser, which was generalized to block designs by Chowla:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Bruck%E2%80%93Chowla%E2%80%93Ryser_theorem&quot; rel=&quot;noreferrer&quot;&gt;http://en.wikipedia.org/wiki/Bruck%E2%80%93Chowla%E2%80%93Ryser_theorem&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;n = 10, as was stated, was solved (no plane exists) by a computer search so the first value of n not ruled out by Bruck-Ryser is n = 12. However, the computer work did not seem to give new insights as to whether or not there are only the prime power planes. What seems to be needed are new mathematical methods for insight into the commonly made conjecture that only the prime power planes exist.&lt;/p&gt;&#xA;" OwnerUserId="987" LastActivityDate="2010-09-11T22:17:19.727" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1168" PostTypeId="1" CreationDate="2010-09-12T00:43:39.247" Score="476" ViewCount="171697" Body="&lt;p&gt;This question is (inspired by)/(shamefully stolen from) a &lt;a href=&quot;https://mathoverflow.net/questions/2144/a-single-paper-everyone-should-read&quot;&gt;similar question at MathOverflow&lt;/a&gt;, but I expect the answers here will be quite different. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;We all have favorite papers in our own respective areas of theory. Every once in a while, one finds a paper so astounding (e.g., important, compelling, deceptively simple, etc.) that one wants to share it with everyone. So list these papers here! They don't &lt;em&gt;have&lt;/em&gt; to be from theoretical computer science -- anything that you think might appeal to the community is a fine answer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can give as many answers as you want; &lt;strong&gt;please put one paper per answer&lt;/strong&gt;! Also, notice this is community wiki, so vote on everything you like!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Note there has been a previous question about &lt;a href=&quot;https://cstheory.stackexchange.com/questions/811/what-are-the-classic-papers-from-the-recursion-theoretic-area-of-complexity-theor&quot;&gt;papers in recursion-theoretic complexity&lt;/a&gt; but that is quite specialized.)&lt;/p&gt;&#xA;" OwnerUserId="225" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2021-04-13T08:00:11.897" Title="What papers should everyone read?" Tags="&lt;big-list&gt;&lt;soft-question&gt;" AnswerCount="72" CommentCount="5" FavoriteCount="963" CommunityOwnedDate="2010-09-12T00:43:39.247" ContentLicense="CC BY-SA 2.5" />
  <row Id="1169" PostTypeId="2" ParentId="1168" CreationDate="2010-09-12T00:51:25.603" Score="53" Body="&lt;p&gt;Hartmanis and Stearns, &lt;a href=&quot;http://www.ams.org/mathscinet-getitem?mr=0170805&quot;&gt;&quot;On the computational complexity of algorithms&quot;&lt;/a&gt;, Transactions of the American Mathematical Society 117: 285–306 (1965)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This was the first paper that took the study of time complexity seriously, and surely was the primary impetus for Hartmanis and Stearns' joint Turing award. While their initial definitions are not quite what we use today, the paper remains extremely readable. You really get the feeling of how things were in the old &quot;Wild West&quot; frontier of the 60's. &lt;/p&gt;&#xA;" OwnerUserId="225" LastActivityDate="2010-09-12T00:51:25.603" CommentCount="1" CommunityOwnedDate="2010-09-12T00:51:25.603" ContentLicense="CC BY-SA 2.5" />
  <row Id="1170" PostTypeId="2" ParentId="1168" CreationDate="2010-09-12T01:01:31.037" Score="150" Body="&lt;p&gt;The 1936 paper that arguably started computer science itself:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Alan Turing, &quot;On Computable Numbers, with an Application to the Entscheidungsproblem&quot;, Proceedings of the London Mathematical Society s2-42, 230–265, 1937. &lt;a href=&quot;http://dx.doi.org/10.1112/plms/s2-42.1.230&quot;&gt;doi: 10.1112/plms/s2-42.1.230&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;In just 36 pages, Turing formulates (but does not name) the Turing Machine, recasts Gödel's famous &lt;a href=&quot;http://en.wikipedia.org/wiki/G%C3%B6del%27s_incompleteness_theorems#First_incompleteness_theorem&quot;&gt;First Incompleteness Theorem&lt;/a&gt; in terms of computation, describes the concept of universality, and in the appendix shows that computability by Turing machines is equivalent to computability by $\lambda$-definable functions (as studied by Church and Kleene).&lt;/p&gt;&#xA;" OwnerUserId="170" LastEditorUserId="10077" LastEditDate="2012-08-16T09:00:39.377" LastActivityDate="2012-08-16T09:00:39.377" CommentCount="4" CommunityOwnedDate="2010-09-12T01:01:31.037" ContentLicense="CC BY-SA 3.0" />
  <row Id="1171" PostTypeId="1" AcceptedAnswerId="1178" CreationDate="2010-09-12T01:15:32.247" Score="7" ViewCount="949" Body="&lt;p&gt;Show that in any graph $G$ with min-degree $k$ ($k \geq 1$ duh!) you can find as its subgraph any tree on $k+1$ vertices.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have not been able to solve the question so far. However, I would like if someone can invoke the probabilistic method to prove the above statement (as in if someone can show that the probability of not finding some tree on $k+1$ vertices as some subgraph of $G$ is less than $1$. My earlier efforts aimed at trying to show that we can somehow show that this graph contains $K_{k+1}$ which was obviously false. Next, I tried showing that a sequence of edge contractions can give a $K_{k+1}$. Though I have not shown it so far, I was wondering what good that result might have been. So far, sadly, I have gotten nowhere :(&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Sorry, if the question is too dumb.&#xA;)&lt;/p&gt;&#xA;" OwnerUserId="55" LastEditorUserId="1800" LastEditDate="2011-02-23T16:07:18.893" LastActivityDate="2011-02-23T16:07:18.893" Title="Graph Theory Fun Problem" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="1172" PostTypeId="2" ParentId="1168" CreationDate="2010-09-12T01:38:57.067" Score="170" Body="&lt;p&gt;&lt;a href=&quot;http://cm.bell-labs.com/cm/ms/what/shannonday/shannon1948.pdf&quot;&gt;&quot;A mathematical theory of communication&quot;&lt;/a&gt; by Claude Shannon, classics of information theory. Very readable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(&lt;a href=&quot;http://www.mast.queensu.ca/~math474/shannon1948.pdf&quot;&gt;Mirror&lt;/a&gt;)&lt;/p&gt;&#xA;" OwnerUserId="254" LastEditorUserId="20596" LastEditDate="2013-12-09T14:32:09.590" LastActivityDate="2013-12-09T14:32:09.590" CommentCount="1" CommunityOwnedDate="2010-09-12T01:38:57.067" ContentLicense="CC BY-SA 3.0" />
  <row Id="1173" PostTypeId="2" ParentId="1168" CreationDate="2010-09-12T01:57:31.333" Score="44" Body="&lt;p&gt;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.7.9472&quot;&gt;Hundreds of Impossibility Results for Distributed Computing&lt;/a&gt; by Fich and Ruppert.  A readable, pictorial survey that really does present hundreds of impossibility results, including the core questions of the field. A remarkable piece of expository writing.&lt;/p&gt;&#xA;" OwnerUserId="30" LastActivityDate="2010-09-12T01:57:31.333" CommentCount="2" CommunityOwnedDate="2010-09-12T01:57:31.333" ContentLicense="CC BY-SA 2.5" />
  <row Id="1174" PostTypeId="2" ParentId="1165" CreationDate="2010-09-12T01:59:51.627" Score="6" Body="&lt;p&gt;There is more than one notion of &quot;computational universality&quot; and they are probably not all equivalent. You could take a look at the links in Andrej Bauer's answer to &lt;a href=&quot;https://cstheory.stackexchange.com/questions/1037/what-does-it-mean-that-there-are-differing-views-on-how-computations-are-represen&quot;&gt;this question&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;-- per Suresh's suggestion.&lt;/p&gt;&#xA;" OwnerUserId="30" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2010-09-12T01:59:51.627" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1175" PostTypeId="2" ParentId="1168" CreationDate="2010-09-12T02:18:31.610" Score="42" Body="&lt;p&gt;Les Valiant's &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.94.6289&amp;amp;rep=rep1&amp;amp;type=pdf&quot;&gt;Theory of the Learnable&lt;/a&gt; (1984) set the agenda for learning theory for decades, and it's a nice and readable paper!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There's also quite a bit of intuitive explanation in the paper that makes it fun and compelling.  Various parts of this paper are still routinely quoted in COLT/ALT talks.&lt;/p&gt;&#xA;" OwnerUserId="123" LastEditorUserId="123" LastEditDate="2010-09-24T14:38:18.273" LastActivityDate="2010-09-24T14:38:18.273" CommentCount="0" CommunityOwnedDate="2010-09-12T02:18:31.610" ContentLicense="CC BY-SA 2.5" />
  <row Id="1176" PostTypeId="2" ParentId="1168" CreationDate="2010-09-12T02:26:36.937" Score="70" Body="&lt;p&gt;&lt;a href=&quot;https://doi.org/10.4153/CJM-1965-045-4&quot; rel=&quot;nofollow noreferrer&quot;&gt;Paths, Trees and Flowers&lt;/a&gt; by J. Edmonds. This paper about classic combinatorial optimization problem is not only well written, but also states that the notion of &quot;polynomial-time algorithms&quot; is essentially a synonym for efficiency.&lt;/p&gt;&#xA;" OwnerUserId="141" LastEditorUserId="129" LastEditDate="2019-09-20T01:25:52.450" LastActivityDate="2019-09-20T01:25:52.450" CommentCount="0" CommunityOwnedDate="2010-09-12T02:26:36.937" ContentLicense="CC BY-SA 4.0" />
  <row Id="1177" PostTypeId="2" ParentId="1168" CreationDate="2010-09-12T02:26:50.610" Score="52" Body="&lt;p&gt;&lt;a href=&quot;https://link.springer.com/article/10.1007%2FBF01886518&quot; rel=&quot;nofollow noreferrer&quot;&gt;Quantum Mechanical Computers&lt;/a&gt; &lt;a href=&quot;http://www.quantum-dynamic.eu/doc/feynman85_qmc_optics_letters.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;(PDF)&lt;/a&gt; by Richard Feynman. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;He introduces the idea of quantum computation, describes quantum circuits, explains how classical circuits can be simulated by quantum circuits, and shows how quantum circuits can compute functions without lots of garbage qubits (using uncomputation). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;He then shows how any classical circuit can be encoded into a time-independent Hamiltonian! His proof goes through for quantum circuits too, therefore showing that time evolving Hamiltonians is BQP-hard! His Hamiltonian construction is also used in the proof of the quantum version of the Cook-Levin theorem, proved by Kitaev, which shows that k-local Hamiltonian is QMA-complete.&lt;/p&gt;&#xA;" OwnerUserId="206" LastEditorUserId="56068" LastEditDate="2020-02-14T09:10:58.097" LastActivityDate="2020-02-14T09:10:58.097" CommentCount="3" CommunityOwnedDate="2010-09-12T02:26:50.610" ContentLicense="CC BY-SA 4.0" />
  <row Id="1178" PostTypeId="2" ParentId="1171" CreationDate="2010-09-12T02:55:02.177" Score="14" Body="&lt;p&gt;Let $G$ be the host graph and $T$ the tree. Try &quot;growing&quot; $T$ in $G$. At each step, mark in $G$ the subtree $T'$ of $T$ that has been grown so far. Using the bounds on $\delta(G)$ and $\vert V(T)\vert$, argue that we can always expand the marked subgraph if it is not yet isomorphic to $T$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Oh, but you wanted the Probabilistic Method. Here we go: Toss a coin $k$ times, throw out the results, and then do the above (old joke).&lt;/p&gt;&#xA;" OwnerUserId="148" LastActivityDate="2010-09-12T02:55:02.177" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="1179" PostTypeId="2" ParentId="1168" CreationDate="2010-09-12T03:22:37.557" Score="24" Body="&lt;p&gt;&lt;a href=&quot;http://www.cs.berkeley.edu/%7Eluca/pubs/extractor-full.pdf&quot;&gt;Extractors and Pseudorandom Generators&lt;/a&gt; by Luca Trevisan. In this paper good randomness extractor is built by the means of error-correcting codes and combinatorial designs. Construction is quite easy to understand but it is completely stunning, because it is not obvious at all what is the connection between extractors, codes and designs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;After all, it is a good example of a result in TCS that requires some fancy combinatorics.&lt;/p&gt;&#xA;" OwnerUserId="141" LastActivityDate="2010-09-12T03:22:37.557" CommentCount="0" CommunityOwnedDate="2010-09-12T03:22:37.557" ContentLicense="CC BY-SA 2.5" />
  <row Id="1180" PostTypeId="2" ParentId="1168" CreationDate="2010-09-12T04:02:29.320" Score="30" Body="&lt;p&gt;Immerman's paper proving the theorem now known as the Immerman–Szelepcsényi theorem, is a great example of easy-to-read, clever and short paper.  I love the story told in the intro.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.cs.umass.edu/~immerman/pub/space.ps&quot;&gt;N. Immerman, Nondeterministic space is closed under complementation, SIAM Journal on Computing 17, 1988, pp. 935–938.&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="88" LastActivityDate="2010-09-12T04:02:29.320" CommentCount="1" CommunityOwnedDate="2010-09-12T04:02:29.320" ContentLicense="CC BY-SA 2.5" />
  <row Id="1181" PostTypeId="2" ParentId="189" CreationDate="2010-09-12T06:14:25.247" Score="10" Body="&lt;p&gt;Ford–Fulkerson Algorithm has to be there ... &#xA;Also Sanjeev Arora's PTAS for Euclidean TSP will be there.&lt;/p&gt;&#xA;" OwnerDisplayName="Vinay Sanjekar" LastActivityDate="2010-09-12T06:14:25.247" CommentCount="0" CommunityOwnedDate="2010-09-12T06:14:25.247" ContentLicense="CC BY-SA 2.5" />
  <row Id="1182" PostTypeId="2" ParentId="1165" CreationDate="2010-09-12T06:18:25.873" Score="12" Body="&lt;p&gt;In response to your second question, you are correct -- a 2-state, 3-symbol state TM was shown to be universal by then-undergraduate Alex Smith in 2007 by reduction to a universal cyclic tag system, which makes for a complex encoding.  Here's the &lt;a href=&quot;http://www.wolframscience.com/prizes/tm23/TM23Proof.pdf&quot;&gt;original proof&lt;/a&gt;, which uses Wolfram's nonstandard notation for representing Turing Machines.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's easy to intuit why simpler universal Turing Machines require more complicated encodings -- after all, the information involved in the computation needs to go somewhere.  For example, in the encoding scheme implicit in Smith's proof, we would first need to first encode the Turing Machine under simulation within a cyclic tag system, then use Smith's scheme to represent the cyclic tag system within the 2-3 Turing Machine.&lt;/p&gt;&#xA;" OwnerUserId="71" LastEditorUserId="71" LastEditDate="2010-09-12T17:48:14.817" LastActivityDate="2010-09-12T17:48:14.817" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1183" PostTypeId="2" ParentId="1168" CreationDate="2010-09-12T06:26:13.563" Score="61" Body="&lt;p&gt;&lt;a href=&quot;http://cgi.di.uoa.gr/~sgk/teaching/grad/handouts/karp.pdf&quot;&gt;Reducibility Among Combinatorial Problems&lt;/a&gt; by Richard Karp. The paper contains what's often referred to as Karp's &quot;original 21 NP-complete problems.&quot; In many ways, this paper truly motivated the study of NP-completeness by demonstrating its applicability to a wider domain. Very readable.&lt;/p&gt;&#xA;" OwnerUserId="108" LastEditorUserId="20596" LastEditDate="2013-12-09T14:36:21.153" LastActivityDate="2013-12-09T14:36:21.153" CommentCount="2" CommunityOwnedDate="2010-09-12T06:26:13.563" ContentLicense="CC BY-SA 3.0" />
  <row Id="1184" PostTypeId="2" ParentId="1168" CreationDate="2010-09-12T06:29:19.857" Score="30" Body="&lt;p&gt;I recommend reading Savitch's paper. It basically states that, for any function $f(n) \ge \log(n)$,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\text{NSPACE}\left(f\left(n\right)\right) \subseteq \text{DSPACE}\left(\left(f\left(n\right)\right)^2\right).$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The result establishes, for example, that $\text{NPSPACE} = \text{PSPACE}$; a surprising result which its &quot;time&quot; counterpart ($\text{P}$ vs. $\text{NP}$) is a long-standing open problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://linkinghub.elsevier.com/retrieve/pii/S002200007080006X&quot;&gt;Savitch, Walter J. (1970), &quot;Relationships between nondeterministic and deterministic tape complexities&quot;, Journal of Computer and System Sciences 4 (2): 177–192.&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="873" LastEditorUserId="873" LastEditDate="2010-09-12T19:38:36.957" LastActivityDate="2010-09-12T19:38:36.957" CommentCount="0" CommunityOwnedDate="2010-09-12T06:29:19.857" ContentLicense="CC BY-SA 2.5" />
  <row Id="1185" PostTypeId="2" ParentId="697" CreationDate="2010-09-12T06:39:04.140" Score="1" Body="&lt;p&gt;&lt;a href=&quot;https://stackoverflow.com/questions/3683388/given-the-the-following-lisp-eval-function-what-is-required-to-add-defmacro&quot;&gt;This&lt;/a&gt; shows macro expansion as a 'code template' to solve this problem. &lt;/p&gt;&#xA;" OwnerUserId="608" LastEditorUserId="-1" LastEditDate="2017-05-23T12:40:09.333" LastActivityDate="2012-12-07T12:35:20.600" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="1186" PostTypeId="2" ParentId="1168" CreationDate="2010-09-12T06:53:57.537" Score="13" Body="&lt;p&gt;&lt;a href=&quot;http://www.math.elte.hu/~lovasz/scans/lll.pdf&quot;&gt;Factoring Polynomials with Rational Coefficients&lt;/a&gt; by Lenstra, Lenstra and Lovasz.  They present the LLL lattice reduction algorithm for finding short vectors on integer lattices and show an application for factoring polynomials with rational coefficients in polynomial time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;While the algorithm has since been optimized and the polynomial factoring algorithm has been simplified (see &lt;a href=&quot;http://cs.nyu.edu/yap/book/berlin/&quot;&gt;Yap's book&lt;/a&gt;, &lt;a href=&quot;http://cs.nyu.edu/~yap/book/alge/ftpSite/l9.ps.gz&quot;&gt;chap. 9&lt;/a&gt;, for a good reference), the original paper has a good description of the lattice reduction algorithm.&lt;/p&gt;&#xA;" OwnerUserId="834" LastEditorUserId="15" LastEditDate="2010-09-12T07:07:45.407" LastActivityDate="2010-09-12T07:07:45.407" CommentCount="0" CommunityOwnedDate="2010-09-12T06:53:57.537" ContentLicense="CC BY-SA 2.5" />
  <row Id="1187" PostTypeId="2" ParentId="1154" CreationDate="2010-09-12T07:25:18.483" Score="1" Body="&lt;p&gt;Judging from the strictness of the requirements, I believe there is no formal name for all those requirements. I would call it a directed tree (the term polytree seems to be valid according to wikipedia, but I have never seen it being used).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have used graphs that are close to your description in distributed computing scheduling, where we just called them &quot;graphs&quot; or maybe &quot;scheduling graphs&quot;. In these graphs, there were two classes of nodes : The &quot;branch&quot; nodes are like the routing nodes you describe and there is also activity nodes, which usually depict &quot;activity&quot; or &quot;computing&quot; done in a processor. &lt;/p&gt;&#xA;" OwnerUserId="879" LastActivityDate="2010-09-12T07:25:18.483" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="1188" PostTypeId="2" ParentId="1155" CreationDate="2010-09-12T07:52:28.903" Score="0" Body="&lt;p&gt;I have coded exactly such a system in the past. Are you studying a peer to peer content delivery network by any chance? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I don't believe it is easy to create an analytical solution to this&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My study was based on simulation, which was around 2k lines of code built on top of a simulation library. The simulation would be more useful too, because it can be adjusted easily to different parameters, whereas developing a general mathematical model with a lot of variables wouldn't be so easy.&lt;/p&gt;&#xA;" OwnerUserId="879" LastActivityDate="2010-09-12T07:52:28.903" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="1189" PostTypeId="2" ParentId="923" CreationDate="2010-09-12T08:28:39.280" Score="2" Body="&lt;p&gt;Scheduling algorithms. They are used by every user device and server worldwide. A number of variations is being used, I found a lot of references for &quot;multilevel feedback queue&quot;&lt;/p&gt;&#xA;" OwnerUserId="879" LastActivityDate="2010-09-12T08:28:39.280" CommentCount="0" CommunityOwnedDate="2010-09-12T08:28:39.280" ContentLicense="CC BY-SA 2.5" />
  <row Id="1190" PostTypeId="2" ParentId="1168" CreationDate="2010-09-12T09:20:24.960" Score="37" Body="&lt;p&gt;&lt;a href=&quot;http://4mhz.de/cook.html&quot;&gt;The complexity of theorem-proving procedures&lt;/a&gt; by Stephen A. Cook. This paper proves that all the languages decided by polytime nondeterministic Turing machines can be (Cook-)reduced to the set of propositional tautologies.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The importance of this result is (at least) twofold: first, it shows that there exist problems in &lt;b&gt;NP&lt;/b&gt; which are at least as hard as the whole class, the &lt;b&gt;NP&lt;/b&gt;-complete problems; furthermore, it provides a concrete example of such a problem, which can then be reduced to others in order to prove them complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Nowadays Karp reductions are more commonly used than Cook reductions, but the main proof of this paper can be easily adapted to show that SAT is &lt;b&gt;NP&lt;/b&gt;-complete with respect to Karp reductions.&lt;/p&gt;&#xA;" OwnerUserId="182" LastActivityDate="2010-09-12T09:20:24.960" CommentCount="1" CommunityOwnedDate="2010-09-12T09:20:24.960" ContentLicense="CC BY-SA 2.5" />
  <row Id="1191" PostTypeId="2" ParentId="1168" CreationDate="2010-09-12T12:02:22.243" Score="6" Body="&lt;p&gt;Bill Gasarch's &lt;a href=&quot;http://www.cs.umd.edu/~gasarch/papers/poll.pdf&quot;&gt;P v NP poll&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Not a paper like the others mentioned but certainly interesting and still very relevant today since no significant progress has been made in proving lower bounds.&lt;/p&gt;&#xA;" OwnerUserId="847" LastActivityDate="2010-09-12T12:02:22.243" CommentCount="0" CommunityOwnedDate="2010-09-12T12:02:22.243" ContentLicense="CC BY-SA 2.5" />
  <row Id="1192" PostTypeId="2" ParentId="1168" CreationDate="2010-09-12T12:14:12.037" Score="37" Body="&lt;p&gt;C.A.R. Hoare, &lt;a href=&quot;https://www.google.com/search?q=an+axiomatic+basis+for+computer+programming&quot;&gt;An Axiomatic Basis for Computer Programming&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;From the abstract: In this paper an attempt is made to explore the logical foundations of computer programming by use of techniques which were first applied in the study of geometry and have later been extended to other branches of mathematics.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It has six pages that are quite easy to follow.&lt;/p&gt;&#xA;" OwnerUserId="236" LastEditorUserId="236" LastEditDate="2012-08-14T19:33:15.087" LastActivityDate="2012-08-14T19:33:15.087" CommentCount="0" CommunityOwnedDate="2010-09-12T12:14:12.037" ContentLicense="CC BY-SA 3.0" />
  <row Id="1194" PostTypeId="2" ParentId="1168" CreationDate="2010-09-12T15:35:31.230" Score="26" Body="&lt;p&gt;&lt;a href=&quot;http://doi.acm.org/10.1145/227683.227684&quot;&gt;Improved approximation algorithms for maximum cut and satisfiability problems using semidefinite programming&lt;/a&gt; by Goemans and Williamson.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A fine example of introducing a new technique to obtain results that are much better than those known before.&lt;/p&gt;&#xA;" OwnerUserId="474" LastActivityDate="2010-09-12T15:35:31.230" CommentCount="1" CommunityOwnedDate="2010-09-12T15:35:31.230" ContentLicense="CC BY-SA 2.5" />
  <row Id="1195" PostTypeId="2" ParentId="1168" CreationDate="2010-09-12T16:06:35.430" Score="34" Body="&lt;p&gt;Alon, Matias and Szegedy, &lt;a href=&quot;http://dx.doi.org/10.1006/jcss.1997.1545&quot;&gt;The space complexity of approximating the frequency moments&lt;/a&gt;, JCSS 58(1):137-147, 1999.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This rather magical paper was the first one to formalize streaming algorithms and prove rigorous upper and lower bounds for foundational tasks in the streaming model.  Its techniques are simple, its proofs are beautiful, and its impact has been profound.  The work won Alon, Matias and Szegedy the Gödel Prize in 2005.&lt;/p&gt;&#xA;" OwnerUserId="15" LastActivityDate="2010-09-12T16:06:35.430" CommentCount="1" CommunityOwnedDate="2010-09-12T16:06:35.430" ContentLicense="CC BY-SA 2.5" />
  <row Id="1196" PostTypeId="1" AcceptedAnswerId="1204" CreationDate="2010-09-12T16:48:20.293" Score="0" ViewCount="12802" Body="&lt;p&gt;First of all I am of course aware of the wikipedia article: &lt;a href=&quot;http://en.wikipedia.org/wiki/Boolean_satisfiability_problem&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/Boolean_satisfiability_problem&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However I still do not understand exactly what the problem is. To demonstrate that I've tried, I think it is as follows but I am not sure:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;The problem of checking whether a given boolean equation with k distinct&#xA;  variables is satisfiable.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;For example, is this an instance of the 3-sat problem?&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;x OR y OR z&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;" OwnerUserId="752" LastActivityDate="2010-09-12T17:20:57.027" Title="What is the k-SAT problem?" Tags="&lt;sat&gt;" AnswerCount="2" CommentCount="7" FavoriteCount="2" ClosedDate="2010-09-13T04:40:28.410" ContentLicense="CC BY-SA 2.5" />
  <row Id="1197" PostTypeId="2" ParentId="737" CreationDate="2010-09-12T16:49:49.367" Score="2" Body="&lt;p&gt;In &lt;a href=&quot;http://www-cs-faculty.stanford.edu/~uno/fasc1b.ps.gz&quot; rel=&quot;nofollow&quot;&gt;TAoCP 4 fascicle 1&lt;/a&gt;, Knuth also mentions that&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Symmetric functions $f(x_1,x_2,\dots,x_n)$ in $n$ variables have BDDs of size $\mathcal O(n^2)$. That's because $f$ can be described by a triangular diagram with just $n+1$ leaves (corresponding to the possible counts $x_1+x_2+\dots+x_n \in \lbrace 0,1,2,\dots n\rbrace$ of input variables set) instead of the full $2^n$ leaves.&lt;/li&gt;&#xA;&lt;li&gt;Specializing a function by setting two variables equal, like $g(x_1,x_2) := f(x_1,x_2,x_2)$ does not enlarge the BDD&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;This shows that functions like $f(x_1,x_2,x_3) := (2x_1 + 5x_2 + 3x_3 \ge 7)$ have efficient BDDs, since $f$ is a specialization of the symmetric function $(x_1 + x_2 + \dots + x_{10} \ge 7)$.&lt;/p&gt;&#xA;" OwnerUserId="711" LastActivityDate="2010-09-12T16:49:49.367" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="1198" PostTypeId="1" CreationDate="2010-09-12T17:04:01.647" Score="147" ViewCount="43086" Body="&lt;p&gt;Stanford University now has a &lt;a href=&quot;http://www.youtube.com/user/StanfordUniversity&quot;&gt;Youtube channel&lt;/a&gt;, with free access to HD video of full courses on everything from dynamical systems to quantum entanglement.  More conferences and workshops are videotaping their talks.  What are videos online that you think everyone should know about?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'll seed this with a few answers to presentations that are mostly expository, but what I'm hoping might happen is that this community wiki could turn into a resource to share excellent presentations of new research, as well as a place to learn (or reinforce) background in an unfamiliar area.&lt;/p&gt;&#xA;" OwnerUserId="30" LastEditorUserId="186" LastEditDate="2011-10-21T14:33:38.233" LastActivityDate="2020-04-05T01:36:57.273" Title="What videos should everybody watch?" Tags="&lt;soft-question&gt;&lt;big-list&gt;" AnswerCount="39" CommentCount="2" FavoriteCount="342" CommunityOwnedDate="2010-09-12T17:04:01.647" ContentLicense="CC BY-SA 2.5" />
  <row Id="1199" PostTypeId="2" ParentId="1198" CreationDate="2010-09-12T17:08:04.180" Score="41" Body="&lt;p&gt;&lt;a href=&quot;http://research.microsoft.com/apps/tools/tuva/index.html#data=3|||&quot;&gt;Richard Feynman's Messenger Lectures&lt;/a&gt; restored, with annotations, by Microsoft's Tuva Project.  Full disclosure: I've only watched two so far; they were awesome.  (Not really TCS, but I had to start with these.)&lt;/p&gt;&#xA;" OwnerUserId="30" LastEditorUserId="6925" LastEditDate="2011-10-19T02:52:41.733" LastActivityDate="2011-10-19T02:52:41.733" CommentCount="4" CommunityOwnedDate="2010-09-12T17:08:04.180" ContentLicense="CC BY-SA 3.0" />
  <row Id="1200" PostTypeId="2" ParentId="1196" CreationDate="2010-09-12T17:09:11.777" Score="3" Body="&lt;p&gt;k-SAT limits the size of the clauses. E.g. 3-SAT is the satisfiability-problem, where each clause in the CNF has (at most) 3 literals. 1-SAT is in L, 2-SAT is in NL. For any k &gt; 2, k-SAT is NP-complete.&lt;/p&gt;&#xA;" OwnerUserId="936" LastActivityDate="2010-09-12T17:09:11.777" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1202" PostTypeId="2" ParentId="1198" CreationDate="2010-09-12T17:10:04.153" Score="11" Body="&lt;p&gt;Erik Winfree describes DNA self-assembly and molecular programming at a &lt;a href=&quot;http://dmcc.acm.org/pres/?query=/dmcc///confdata/asplos2008/2008-03-03_09h06&quot;&gt;plenary talk&lt;/a&gt; at ASPLOS 2008. Probably the best rigorous introduction to the theory of self-assembly currently online.&lt;/p&gt;&#xA;" OwnerUserId="30" LastActivityDate="2010-09-12T17:10:04.153" CommentCount="0" CommunityOwnedDate="2010-09-12T17:10:04.153" ContentLicense="CC BY-SA 2.5" />
  <row Id="1203" PostTypeId="2" ParentId="1198" CreationDate="2010-09-12T17:14:27.440" Score="23" Body="&lt;p&gt;Dan Spielman's &lt;a href=&quot;http://techtalks.tv/talks/nevanlinna-prize-talk-laplacian-gems-2/1335/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Nevanlinna Prize lecture&lt;/a&gt; at Hyderabad 2010.  I got this link from a &lt;a href=&quot;http://gowers.wordpress.com/2010/09/02/icm2010-final-post/&quot; rel=&quot;nofollow noreferrer&quot;&gt;blog post&lt;/a&gt; by Timothy Gowers; the post contains several more video and text links to the 2010 ICM.&lt;/p&gt;&#xA;" OwnerUserId="30" LastEditorUserId="34442" LastEditDate="2017-01-29T00:00:44.407" LastActivityDate="2017-01-29T00:00:44.407" CommentCount="0" CommunityOwnedDate="2010-09-12T17:14:27.440" ContentLicense="CC BY-SA 3.0" />
  <row Id="1204" PostTypeId="2" ParentId="1196" CreationDate="2010-09-12T17:20:57.027" Score="10" Body="&lt;p&gt;No, that's not what you thought!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The &quot;K&quot; in K-SAT is not related to the number of variables in the formula; rather, it limits the number of &quot;literals&quot; in each &quot;clause&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let's define the terms:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;atom = the same thing you called variable; e.g. &quot;x&quot;, &quot;y&quot;, &quot;z&quot;, etc.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;literal = an atom or its negation; e.g &quot;x&quot; or &quot;$\neg$x&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;clause = a disjunction of literals; e.g. $(x \vee y \vee \neg z \vee w)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;CNF: A formula is said to be in Conjunctive Normal Form (CNF) if it consists of AND's of several clause. For instance, $(x \vee y) \wedge (y \vee \neg z \vee w)$ is a CNF formula.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;The followin problem is K-SAT:&lt;/strong&gt;&#xA;Given a CNF formula $f$, in which each clause has &lt;em&gt;exactly&lt;/em&gt; K literals, decide whether or not $f$ is satisfiable. That is, whether there is a an assignment to the atoms such that $f$ evaluates to TRUE.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See also &lt;em&gt;Mike Jason B Punkt&lt;/em&gt;'s answer in this post.&lt;/p&gt;&#xA;" OwnerUserId="873" LastActivityDate="2010-09-12T17:20:57.027" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="1206" PostTypeId="1" AcceptedAnswerId="1207" CreationDate="2010-09-12T18:03:59.053" Score="14" ViewCount="640" Body="&lt;p&gt;Many public-key cryptosystems have some kind of provable security. For example, the &lt;a href=&quot;http://en.wikipedia.org/wiki/Rabin_cryptosystem&quot;&gt;Rabin cryptosystem&lt;/a&gt; is provably as hard as factoring.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I wonder whether such kind of provable security exists for secret-key cryptosystems, such as AES. If not, what is the evidence that breaking such cryptosystems is hard? (other than resistance to trial-and-error attacks)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Remark:&lt;/strong&gt; I'm familiar with AES operations (AddRoundKey, SubBytes, ShiftRows, and MixColumns). It seems that the hardness of AES stems from the MixColumns operation, which in turn must inherit its difficulty from some hard problem over Galois Fields (and thus, algebra). In fact, I can restate my question as: &quot;Which hard &lt;strong&gt;algebraic&lt;/strong&gt; problem guarantees the security of AES?&quot;&lt;/p&gt;&#xA;" OwnerUserId="873" LastActivityDate="2010-09-19T02:26:27.293" Title="Hardness Guarantees for AES" Tags="&lt;cr.crypto-security&gt;&lt;algebra&gt;&lt;algebraic-complexity&gt;" AnswerCount="3" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="1207" PostTypeId="2" ParentId="1206" CreationDate="2010-09-12T18:22:28.143" Score="8" Body="&lt;p&gt;MIXCOLUMNS prevents attacks that focus on only a few S-boxes, because the mixing of the columns requires all S-boxes to participate in the encryption.  (The designers of Rijndael called this a &quot;wide trail strategy.&quot;)  The reason analysis of an S-box is hard is due to the use of the finite field inversion operation.  The inversion &quot;smooths out&quot; the distribution tables of S-box entries, so the entries appear (almost) uniform, i.e., indistinguishable from a random distribution without the key.  It's the combination of the two features that makes Rijndael provably secure against known attacks.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As an aside, the book &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/3540425802&quot;&gt;The Design of Rijndael&lt;/a&gt; is a very good read, and discusses the theory and philosophy of cryptography.&lt;/p&gt;&#xA;" OwnerUserId="30" LastActivityDate="2010-09-12T18:22:28.143" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="1208" PostTypeId="2" ParentId="1139" CreationDate="2010-09-12T18:50:11.173" Score="7" Body="&lt;p&gt;Martin Davis's book &lt;a href=&quot;http://books.google.si/books?id=TMLgEIOGhBMC&amp;amp;lpg=PP1&amp;amp;ots=d5szSTrlaY&amp;amp;dq=martin%20davis%20computability%20and%20unsolvability&amp;amp;hl=en&amp;amp;pg=PP1#v=onepage&amp;amp;q&amp;amp;f=false&quot;&gt;&quot;Computability and Unsolvability&quot;&lt;/a&gt; contains a very detailed account of Turing machines. In gory detail. In your particular case Corollary 2.2 on page 37 shows that composition of Turing-computable functions is again Turing-computable. This is just another way of saying that subroutines can be done.&lt;/p&gt;&#xA;" OwnerUserId="705" LastActivityDate="2010-09-12T18:50:11.173" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="1209" PostTypeId="2" ParentId="1198" CreationDate="2010-09-12T20:03:07.163" Score="19" Body="&lt;p&gt;The video section of IAS is also a great source of online courses.  One of my favorite is:&lt;br/&gt;&#xA;&lt;a href=&quot;http://video.ias.edu/csdm/pvsnp&quot;&gt;Ketan Mulmuley.  On P vs NP, Geometric Complexity Theory, and the Riemann Hypothesis.&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="88" LastActivityDate="2010-09-12T20:03:07.163" CommentCount="0" CommunityOwnedDate="2010-09-12T20:03:07.163" ContentLicense="CC BY-SA 2.5" />
  <row Id="1210" PostTypeId="2" ParentId="923" CreationDate="2010-09-12T20:05:41.773" Score="1" Body="&lt;p&gt;This response interprets &quot;most often&quot; in terms of actual CPU cycles.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;When I was learning computing in the '70s I recall reading that the vast majority of computer (read: mainframe) cycles were devoted to sorting.  Business applications demand extensive sorting for analysis and reporting.  I don't imagine that has changed very much, but of course the rise of other apps--e-mail, word processing, etc.--must have altered the mix.  Those sorts are usually stable sorts (not Quicksort) due to the need to sort on successions of fields to create subsorts.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Strictly speaking, though, the algorithm used the most often is, without any doubt, whatever is executed by the Windows system wait process when nothing else otherwise is going on ;-).&lt;/p&gt;&#xA;" OwnerUserId="564" LastActivityDate="2010-09-12T20:05:41.773" CommentCount="0" CommunityOwnedDate="2010-09-12T20:05:41.773" ContentLicense="CC BY-SA 2.5" />
  <row Id="1212" PostTypeId="2" ParentId="1144" CreationDate="2010-09-12T21:52:42.813" Score="5" Body="&lt;p&gt;Edit: It seems that the questioner knew that this was an open problem: &lt;a href=&quot;https://mathoverflow.net/questions/33796/existence-of-a-pseudo-polynomial-time-algorithm-for-a-counting-problem&quot;&gt;https://mathoverflow.net/questions/33796/existence-of-a-pseudo-polynomial-time-algorithm-for-a-counting-problem&lt;/a&gt;.  For what it is worth, it took me some time to find the paper, and I think that the time was wasted.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;This question is stated as an open problem in [Ber09], where the same problem except that the numbers in the input are written in binary is shown to be #P-complete by a reduction from the counting version of the Subset Sum problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;References&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[Ber09] Gerardo Berbeglia.  The counting complexity of a simple scheduling problem.  &lt;em&gt;Operations Research Letters&lt;/em&gt;, 37(5):365–367, Sept. 2009.  &lt;a href=&quot;http://dx.doi.org/10.1016/j.orl.2009.05.004&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://dx.doi.org/10.1016/j.orl.2009.05.004&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="567" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2010-09-13T22:00:46.237" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="1213" PostTypeId="2" ParentId="1198" CreationDate="2010-09-12T22:20:58.973" Score="25" Body="&lt;p&gt;Stephen Boyd has his entire Stanford class on &lt;a href=&quot;http://www.youtube.com/watch?v=McLq1hEq3UY&quot;&gt;Convex Optimization&lt;/a&gt; online.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some interesting comments and asides, covers same material as in &lt;a href=&quot;http://www.stanford.edu/~boyd/cvxbook/&quot;&gt;his book&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="847" LastActivityDate="2010-09-12T22:20:58.973" CommentCount="0" CommunityOwnedDate="2010-09-12T22:20:58.973" ContentLicense="CC BY-SA 2.5" />
  <row Id="1214" PostTypeId="1" AcceptedAnswerId="1234" CreationDate="2010-09-12T22:37:49.333" Score="10" ViewCount="1125" Body="&lt;p&gt;Examples of bounded $NP$-complete variants of undecidable sets:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Bounded Halting problem={ $(M, x, 1^t)$| NTM machine $M$ halts and accepts $x$ within $t$ steps}&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Bounded Tiling={ $(T, 1^t)$| there is a tiling of a square of area $t^2$ by tiles from $T$}&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Bounded Post Correspondence Problem={ $(T, 1^t)$| there is a matching set of dominoes that uses at most $k$ dominoes from a set of dominoes $T$ (including repeated dominoes) }&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is it always possible to get $NP$-complete variant of every Undecidable problem by imposing some bounds on the computation? Are there other natural examples of this kind?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="495" LastEditorUserId="80" LastEditDate="2010-09-13T03:05:48.070" LastActivityDate="2010-09-13T03:34:35.120" Title="NP-complete variants of undecidable problems?" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="1215" PostTypeId="1" AcceptedAnswerId="1218" CreationDate="2010-09-12T23:01:41.960" Score="48" ViewCount="7603" Body="&lt;p&gt;Several optimization problems that are known to be NP-hard on general graphs are trivially solvable in polynomial time (some even in linear time) when the input graph is a tree. Examples include minimum vertex cover, maximum independent set, subgraph isomorphism. Name some natural optimization problems that remain NP-hard on trees.&lt;/p&gt;&#xA;" OwnerUserId="344" LastEditorUserId="495" LastEditDate="2019-07-14T21:52:46.757" LastActivityDate="2019-07-14T21:52:46.757" Title="NP-hard problems on trees" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;&lt;tree&gt;" AnswerCount="20" CommentCount="8" FavoriteCount="21" ContentLicense="CC BY-SA 2.5" />
  <row Id="1216" PostTypeId="2" ParentId="1215" CreationDate="2010-09-12T23:07:57.890" Score="24" Body="&lt;p&gt;One of the hardest problems on trees is minimum bandwidth problem. It is $NP$-hard on trees of maximum degree 3. Also it is NP-hard on circular caterpillar of hair length 1.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;References:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Michael R. Garey, Ronald L. Graham, David S.Johnson, and Donald E. Knuth. Complexity results&#xA;for bandwidth minimization. SIAM J. Appl. Math., 34(3):477-495, 1978.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Burkhard Monien. The bandwidth minimization problem for caterpillars with hair length 3 is NP-complete. SIAM J. Algebraic Discrete Methods, 7(4):505-512, 1986.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;W. Unger. The complexity of the approximation of the bandwidth problem. In FOCS, pages&#xA;82–91, 1998&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2010-09-12T23:22:29.277" LastActivityDate="2010-09-12T23:22:29.277" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="1217" PostTypeId="2" ParentId="1168" CreationDate="2010-09-12T23:18:27.013" Score="127" Body="&lt;p&gt;Ken Thompson's &quot;&lt;a href=&quot;http://www.ece.cmu.edu/~ganger/712.fall02/papers/p761-thompson.pdf&quot;&gt;Reflections on Trusting Trust&lt;/a&gt;&quot;.  Short, sweet, and mind-blowing.&lt;/p&gt;&#xA;" OwnerUserId="111" LastEditorUserId="-1" LastEditDate="2012-01-01T19:28:36.177" LastActivityDate="2012-01-01T19:28:36.177" CommentCount="7" CommunityOwnedDate="2010-09-12T23:18:27.013" ContentLicense="CC BY-SA 3.0" />
  <row Id="1218" PostTypeId="2" ParentId="1215" CreationDate="2010-09-12T23:23:33.050" Score="23" Body="&lt;p&gt;You can find &quot;natural&quot; and &quot;well-known&quot; examples of graph problems that are hard even if restricted to trees from &lt;a href=&quot;http://www.nada.kth.se/~viggo/wwwcompendium/&quot;&gt;our standard reference&lt;/a&gt;. Examples:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.nada.kth.se/~viggo/wwwcompendium/node121.html&quot;&gt;Integral &lt;em&gt;k&lt;/em&gt;-multicommodity flow&lt;/a&gt;,&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.nada.kth.se/~viggo/wwwcompendium/node60.html&quot;&gt;Common embedded subtree&lt;/a&gt;,&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.nada.kth.se/~viggo/wwwcompendium/node168.html&quot;&gt;Common subtree&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;(These are formulated as tree problems, but you can generalise them to arbitrary graphs. Then the above formulations are obtained as the special case when you restrict your input to trees.)&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;A more general recipe for generating problems that are hard on trees: Take any NP-hard problem related to &lt;a href=&quot;http://www.nada.kth.se/~viggo/wwwcompendium/node165.html&quot;&gt;supersequences&lt;/a&gt;, &lt;a href=&quot;http://www.nada.kth.se/~viggo/wwwcompendium/node166.html&quot;&gt;superstrings&lt;/a&gt;, &lt;a href=&quot;http://www.nada.kth.se/~viggo/wwwcompendium/node167.html&quot;&gt;substrings&lt;/a&gt;, etc. Then re-interpret a string as a labelled path graph. Then pose the analogous question for general graphs (subsequence ≈ graph minor, substring ≈ subgraph). And we know that the problem is NP-hard even on trees (and on paths).&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;There are also many problems that are hard on weighted stars, by reduction from the subset-sum problem. A natural example is:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;em&gt;TSP with two travellers&lt;/em&gt;: given an edge-weighted graph $G$ and a limit $W$, can we find two closed walks $C_1$ and $C_2$ in $G$ such that each walk has total weight at most $W$, and each node of $G$ is covered by at least one walk?&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Again, it's easy to come up with variations of the theme.&lt;/p&gt;&#xA;" OwnerUserId="74" LastEditorUserId="74" LastEditDate="2010-09-13T08:32:30.420" LastActivityDate="2010-09-13T08:32:30.420" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="1219" PostTypeId="2" ParentId="1215" CreationDate="2010-09-12T23:31:25.700" Score="8" Body="&lt;p&gt;A problem that one might think would NOT be hard on trees, but is, is the &lt;a href=&quot;http://maven.smith.edu/~orourke/TOPP/P35.html&quot;&gt;freeze-tag problem in computational geometry&lt;/a&gt;: briefly, the problem of scheduling wakeups for robots starting with a single awake 'bot, where makespan is the cost measure. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's known to be NP-hard on weighted star graphs. However, it's open whether the problem is NP-hard in the plane. One might argue that the NP-hardness comes not from 'tree-ness', but from 'arbitrary metric'-ness, but star graphs only give you a limited space of metrics..&lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2010-09-12T23:31:25.700" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1220" PostTypeId="2" ParentId="1168" CreationDate="2010-09-12T23:41:34.500" Score="14" Body="&lt;ul&gt;&#xA;&lt;li&gt;Ethan Bernstein and Umesh Vazirani. &lt;a href=&quot;http://www.cs.berkeley.edu/~vazirani/pubs/bv.ps&quot;&gt;&lt;em&gt;Quantum Complexity Theory&lt;/em&gt;&lt;/a&gt;. SIAM J. Comput. Vol. 26 No. 5, pp. 1411-1473, October 1997. &lt;a href=&quot;http://dx.doi.org/10.1137/S0097539796300921&quot;&gt;doi: 10.1137/S0097539796300921&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;This paper formalized quantum Turing machines and quantum complexity theory, introducing the class of efficient quantum algorithms BQP and showed the first example of a problem (Fourier sampling) in BQP but not known to be in BPP. Although there is also a previous conference paper from 1993 and Bernstein's PhD thesis, this paper in particular is very well written, easy to understand, and fun to read.&lt;/p&gt;&#xA;" OwnerUserId="135" LastEditorUserId="1080" LastEditDate="2010-11-18T23:35:52.373" LastActivityDate="2010-11-18T23:35:52.373" CommentCount="0" CommunityOwnedDate="2010-09-12T23:41:34.500" ContentLicense="CC BY-SA 2.5" />
  <row Id="1221" PostTypeId="2" ParentId="777" CreationDate="2010-09-13T00:06:22.173" Score="5" Body="&lt;p&gt;I got the following solution by email from Dana Randall, so any credit for the solution should go to her (which I guess means: don't upvote this answer) and any bugs were likely introduced by me.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The short version of Dana's solution is: instead of using the Markov chain I described, in which potentially-large two-colored regions are recolored, use a &quot;heat bath&quot; in which we repeatedly remove the colors of two vertices and then choose a valid coloring for them at random. It's not hard to show that, if this chain mixes, then the other one does as well. But a standard path coupling argument turns out to work to show that the heat bath does indeed mix.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The long version is too long to include here, so I put it in &lt;a href=&quot;https://11011110.github.io/blog/2010/09/12/rapid-mixing-for.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;a blog post&lt;/a&gt; instead.&lt;/p&gt;&#xA;" OwnerUserId="95" LastEditorUserId="95" LastEditDate="2020-04-06T16:17:31.350" LastActivityDate="2020-04-06T16:17:31.350" CommentCount="0" ContentLicense="CC BY-SA 4.0" />
  <row Id="1222" PostTypeId="2" ParentId="1215" CreationDate="2010-09-13T00:20:19.020" Score="15" Body="&lt;p&gt;The unweighted edge multicut problem is the following: Given an undirected graph $G$, a collection of pairs of vertices of $G$, and a positive integer $k$, find if there is a subset $S$ of at most $k$ edges in $G$ whose removal disconnects every pair of vertices in the collection.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This problem is NP-hard (and MAX SNP-hard) on &lt;em&gt;stars&lt;/em&gt; [&lt;a href=&quot;http://www.springerlink.com/content/x1dykd3030ggac4w/&quot;&gt;1&lt;/a&gt;].&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[&lt;a href=&quot;http://www.springerlink.com/content/x1dykd3030ggac4w/&quot;&gt;1&lt;/a&gt;] Garg, Vazirani, and Yannakakis, &lt;a href=&quot;http://www.springerlink.com/content/x1dykd3030ggac4w/&quot;&gt;Primal-Dual Approximation Algorithms for Integral Flow and Multicut in Trees&lt;/a&gt;, Algorithmica, 18(1), pp 3-20, 1997.&lt;/p&gt;&#xA;" OwnerUserId="148" LastActivityDate="2010-09-13T00:20:19.020" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1223" PostTypeId="2" ParentId="1215" CreationDate="2010-09-13T00:32:09.133" Score="32" Body="&lt;p&gt;It is NP-complete to determine whether a tree can be embedded into the two-dimensional integer grid, with the tree vertices placed on distinct grid points and the tree edges placed on grid edges.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See e.g. Gregori, &lt;a href=&quot;http://dx.doi.org/10.1016/0020-0190%2889%2990118-X&quot;&gt;IPL 1989&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2010-09-13T00:32:09.133" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="1224" PostTypeId="2" ParentId="1198" CreationDate="2010-09-13T01:06:22.513" Score="27" Body="&lt;p&gt;Institutes with online talk videos:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://www.fields.utoronto.ca/audio/&quot; rel=&quot;noreferrer&quot;&gt;The Fields Institute at University of Toronto&lt;/a&gt; (audio + slides)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://video.ias.edu/&quot; rel=&quot;noreferrer&quot;&gt;The Institute for Advanced Studies&lt;/a&gt; in &lt;a href=&quot;http://video.ias.edu/sm&quot; rel=&quot;noreferrer&quot;&gt;School of Mathematics&lt;/a&gt; and &lt;a href=&quot;http://video.ias.edu/taxonomy/term/16&quot; rel=&quot;noreferrer&quot;&gt;Computer Science and Discrete Mathematics&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://theory.cs.princeton.edu/videos.html&quot; rel=&quot;noreferrer&quot;&gt;The Institute for Advanced Studies/Princeton's Center for Computational Intractability&lt;/a&gt;,&lt;br&gt;&#xA;e.g. &lt;a href=&quot;http://intractability.princeton.edu/&quot; rel=&quot;noreferrer&quot;&gt;Barriers Workshops&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://www.newton.ac.uk/webseminars/&quot; rel=&quot;noreferrer&quot;&gt;Isaac Newton Institute for Mathematical Sciences&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://simons.berkeley.edu/videos&quot; rel=&quot;noreferrer&quot;&gt;Simons Institute for Theory of Computing&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Theory groups with online talk videos:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://cs.uchicago.edu/videos&quot; rel=&quot;noreferrer&quot;&gt;Theory Group in University of Chicago&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Also see this &lt;a href=&quot;http://blog.computationalcomplexity.org/2010/09/cs-happenings.html&quot; rel=&quot;noreferrer&quot;&gt;blog post&lt;/a&gt; by Lance Fortnow.&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2015-10-23T13:18:56.610" LastActivityDate="2015-10-23T13:18:56.610" CommentCount="0" CommunityOwnedDate="2010-09-13T01:06:22.513" ContentLicense="CC BY-SA 3.0" />
  <row Id="1225" PostTypeId="2" ParentId="1215" CreationDate="2010-09-13T01:14:54.177" Score="3" Body="&lt;p&gt;There's a (very general) problem I had a look at as part of a project: a variant of this problem remains NP-hard even on graphs with two vertices and a single edge, and a different variant is NP-hard on trees. Since the NP-hardness of the first variant obviously doesn't stem from the shape of the graph, the second is probably more interesting.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem is the distribution of files on and the routing of downloads in a network (for instance, the intranet of a company). Let $S$ be a set of servers and $C$ be a set of clients. Let $G=(V,E)$ be a graph such that $S \subset V$, $C \subset V$ and $S \cap C = \emptyset$ (so servers and clients are vertices, but there can be vertices that are not servers or clients, think of them as routers). Every $s \in S$ has a capacity (think the size of the harddrives), denoted as $|s|$. Let $F$ be a set of files, where every $f \in F$ has a filesize, denoted as $|f|$. Every $e \in E$ has a throughput, denoted as $t_e$. We also have a set of requests $R \subseteq C \times F$, where each $(c,f) \in R$ means that client $c$ wants to download file $f$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem is to find for each server $s \in S$ a set of files $A_s$ such that $\sum_{f \in A_s} |f| \leq |s|$ (so to add files to servers without the total filesize exceeding the capacity of the server), and to find a path $P_r$ in $G$ for every request $r = (c,f) \in R$ such that the path starts at $c$ and ends at a server $s$ with $f \in A_s$, such that if for some edge $e$, $D_e$ denotes the set of requests such that for all $r = (c,f) \in D_e$, $P_r$ contains $e$, then $\sum_{(c,f) \in D_e}|f| \leq t_e$ (so to route all requests on the graph such that no edge capacity is exceeded).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you don't require all downloads to be routed but instead try to maximize the sum of the filesizes of the downloads that &lt;em&gt;are&lt;/em&gt; routed you can easily reduce subset-sum to this problem: you have a single server with vast amounts of space, a single client connected to the server with an edge with a capacity equal to the target value of the subset-sum instance and for every integer in the subset-sum instance you create a file with equal size; the client then wishes to download all these files.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A (much?) more interesting variant for this question is the case that you try to minimize the number of edges whose capacity is exceeded - perhaps the network we are working on models the transatlantic internet cables and replacing a cable is so costly that the difference in cost of upgrade to a factor two faster and an upgrade to a factor three faster is negligible. We also say that the placements of files on the servers are already given and cannot be modified, so we look solely at the routing issues.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The set-cover problem can easily be reduced to this variant. We are given a set $U$ called the universe and several subsets $S \subseteq P(U)$ of this universe. We are asked to pick the smallest amount of subsets such that their union equals the universe. For every $u \in U$ we create a file of size 1. We have a single client that wants to download all these files.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For every subset $s \in S$, we create a 'cluster' of servers: a cluster consists of a single vertex (a router) connected to a number of servers such that the servers are only connected to the router. For every $u \in s$ we add a single server to the cluster with the file on it corresponding to $u$. These clusters are then connected to the client with an edge of capacity 1 (so each edge connects the client with the router for the cluster). Furthermore, for every server cluster we add one more server to that cluster hosting a single new file (unique to that cluster) of size 1. All these files (so, in addition to the files corresponding to elements of the universe) are requested by the client.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The idea is that the client needs the files that are unique for all the server clusters, so the edges connecting the client to the server clusters are already at the limit of their capacities (their capacities are 1, the files have size 1). If the client downloads any elements of the universe from any cluster, the edge connecting to that cluster becomes overloaded. Since we only require to minimize the &lt;em&gt;number&lt;/em&gt; of overloads (and not by how much we exceed the capacities), the client can download the rest of the elements of the universe hosted at that server cluster (so the rest of the elements of the corresponding subset) without penalty. This therefore corresponds to the subset being chosen. The client wants to download all the files in the universe once, so the universe will indeed be covered, and to minimize the number of edges that are overloaded we need to minimize the number of subsets chosen.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that the above construction yields a tree graph, so it's an example of an NP-hard problem on trees.&lt;/p&gt;&#xA;" OwnerUserId="988" LastActivityDate="2010-09-13T01:14:54.177" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1226" PostTypeId="1" CreationDate="2010-09-13T02:01:02.503" Score="38" ViewCount="3565" Body="&lt;p&gt;Greed, for lack of a better word, is good. One of the first algorithmic paradigms taught in introductory algorithms course is the &lt;a href=&quot;http://en.wikipedia.org/wiki/Greedy_algorithm&quot;&gt;greedy approach&lt;/a&gt;. Greedy approach results in simple and intuitive algorithms for many problems in P. More interestingly, for some NP-hard problems the obvious and natural greedy/local algorithm results in (provably) optimal approximation factor (under suitable complexity theoretic assumptions). A classic example is the &lt;a href=&quot;http://en.wikipedia.org/wiki/Set_cover_problem&quot;&gt;Set Cover Problem&lt;/a&gt;. A natural greedy algorithm gives an O(ln n) approximation factor, which is optimal unless P = NP.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Name some natural greedy/local algorithms for NP-hard problems that are provably optimal under suitable complexity theoretic assumptions.&lt;/p&gt;&#xA;" OwnerUserId="344" LastEditorUserId="186" LastEditDate="2010-09-14T14:50:06.607" LastActivityDate="2015-12-17T16:11:04.753" Title="Optimal greedy algorithms for NP-hard problems" Tags="&lt;cc.complexity-theory&gt;&lt;lower-bounds&gt;&lt;approximation-algorithms&gt;&lt;greedy-algorithms&gt;&lt;approximation-hardness&gt;" AnswerCount="9" CommentCount="3" FavoriteCount="14" ContentLicense="CC BY-SA 2.5" />
  <row Id="1227" PostTypeId="2" ParentId="1226" CreationDate="2010-09-13T02:10:56.437" Score="11" Body="&lt;p&gt;Submodular maximization with respect to cardinality constraint has a 1-1/e greedy approximation. Algorithm is due to Nemhauser, Wolsey, Fisher. NP hardness follows from np-hardness of set cover as max-coverage is a special case of submodular maximization.&lt;/p&gt;&#xA;" OwnerUserId="372" LastEditorUserId="372" LastEditDate="2012-04-08T22:39:28.233" LastActivityDate="2012-04-08T22:39:28.233" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="1228" PostTypeId="2" ParentId="1226" CreationDate="2010-09-13T02:16:17.370" Score="10" Body="&lt;p&gt;Greedy gives a (1-1/e) approximation to Max-k-cover, and this cannot be improved unless P=NP.&lt;/p&gt;&#xA;" OwnerUserId="123" LastActivityDate="2010-09-13T02:16:17.370" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="1229" PostTypeId="2" ParentId="1130" CreationDate="2010-09-13T02:33:42.373" Score="22" Body="&lt;p&gt;The second paragraph of RJK's response deserves more detail.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $\phi$ be a formula in conjunctive normal form, with m clauses, n variables, and at most k variables per clause. Suppose we want to determine if $\phi$ has a satisfying assignment.  Formula $\phi$ is an instance of the k-SAT decision problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;When there are few clauses (so m is quite small compared to n), then it is almost always possible to find a solution.  A simple algorithm will find a solution in roughly linear time in the size of the formula.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;When there are many clauses (so m is quite large compared to n), then it is almost always the case that there is no solution.  This can be shown by a counting argument.  However, during search it is almost always possible to prune large parts of the search space by means of consistency techniques, because the many clauses interact so extensively.  Establishing unsatisfiability can then usually be done efficiently.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;V. Chvátal and B. Reed. &lt;em&gt;Mick gets some (the odds are on his side)&lt;/em&gt;, FOCS 1992. &lt;a href=&quot;http://dx.doi.org/10.1109/SFCS.1992.267789&quot;&gt;doi: 10.1109/SFCS.1992.267789&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;In 1986 Fu and Anderson conjectured a relationship between optimisation problems and statistical physics, based on spin glass systems.  Although they used sentences like&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Intuitively, the system must be sufficiently large, but it is difficult to be more specific.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;they do actually give specific predictions.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Y Fu and P W Anderson. &lt;em&gt;Application of statistical mechanics to NP-complete problems in combinatorial optimisation&lt;/em&gt;, J. Phys. A. &lt;strong&gt;19&lt;/strong&gt; 1605, 1986. &lt;a href=&quot;http://dx.doi.org/10.1088/0305-4470/19/9/033&quot;&gt;doi: 10.1088/0305-4470/19/9/033&lt;/a&gt; &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Based on arguments from statistical physics, Zecchina and collaborators conjectured that k-SAT should become hard when $\alpha = m/n$ is near a critical value.  The precise critical value depends on k, but is in the region of 3.5 to 4.5 for 3-SAT.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Rémi Monasson, Riccardo Zecchina, Scott Kirkpatrick, Bart Selman, Lidror Troyansky.  &lt;em&gt;Determining computational complexity from characteristic `phase transitions'&lt;/em&gt;, Nature &lt;strong&gt;400&lt;/strong&gt; 133–137, 1999.  (&lt;a href=&quot;http://dx.doi.org/10.1038/22055&quot;&gt;doi: 10.1038/22055&lt;/a&gt; , &lt;a href=&quot;http://www.phys.ens.fr/~monasson/Articles/a25.pdf&quot;&gt;free version&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Friedgut provided a rigorous proof of these heuristic arguments.  For every fixed value of k, there are two thresholds $\alpha_1 &amp;lt; \alpha_2$.  For $\alpha$ below $\alpha_1$, there is a satisfying assignment with high probability.  For a value of $\alpha$ above $\alpha_2$, formula $\phi$ is unsatisfiable with high probability.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Ehud Friedgut (with an appendix by Jean Bourgain), &lt;em&gt;Sharp thresholds of graph properties, and the $k$-sat problem&lt;/em&gt;, J. Amer. Math. Soc. &lt;strong&gt;12&lt;/strong&gt; 1017–1054, 1999. (&lt;a href=&quot;http://www.ams.org/journals/jams/1999-12-04/S0894-0347-99-00305-7/S0894-0347-99-00305-7.pdf&quot;&gt;PDF&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Dimitris Achlioptas worked on many of the remaining issues, and showed that the above argument holds for constraint satisfaction problems, too.  These are allowed to use more than just two values for each variable.  One key paper shows rigorously why the Survey Propagation algorithm works so well to solve random k-SAT instances.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;A. Braunstein, M. Mézard, R. Zecchina, &lt;em&gt;Survey propagation: An algorithm for satisfiability&lt;/em&gt;, Random Structures &amp;amp; Algorithms &lt;strong&gt;27&lt;/strong&gt; 201–226, 2005. &lt;a href=&quot;http://dx.doi.org/10.1002/rsa.20057&quot;&gt;doi: 10.1002/rsa.20057&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;D. Achlioptas and F. Ricci-Tersenghi, &lt;em&gt;On the Solution-Space Geometry of Random Constraint Satisfaction Problems&lt;/em&gt;,&#xA;STOC 2006, 130–139. (&lt;a href=&quot;http://users.soe.ucsc.edu/~optas/papers/fp68-achlioptas.pdf&quot;&gt;preprint&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="109" LastEditorUserId="109" LastEditDate="2010-09-13T13:01:16.397" LastActivityDate="2010-09-13T13:01:16.397" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="1230" PostTypeId="2" ParentId="1214" CreationDate="2010-09-13T02:51:45.477" Score="1" Body="&lt;p&gt;I think this can be done for problems with some specified &lt;a href=&quot;http://en.wikipedia.org/wiki/Turing_degree&quot; rel=&quot;nofollow&quot;&gt;degree of unsolvability&lt;/a&gt;. To quote from Wikipedia: &quot;Every Turing degree is countably infinite, that is, it contains exactly $\aleph_0$ sets.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then, I guess, for each problem within the same degree of unsolvability, there is some type of resource (time) bound, which gives an NP-complete language.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Remark:&lt;/strong&gt; Maybe I should have been more conservative when saying &quot;for each problem within the same degree of unsolvability.&quot; It might be the case that, the above statement is only true for the class of problems possessing the same degree as, say, HALTING problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See also: &lt;a href=&quot;http://www.ams.org/notices/200610/whatis-davis.pdf&quot; rel=&quot;nofollow&quot;&gt;Martin Davis, What Is...Turing Reducibility?, Notices of the AMS, 53(10), pp. 1218--1219, 2006.&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="873" LastActivityDate="2010-09-13T02:51:45.477" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="1231" PostTypeId="2" ParentId="1215" CreationDate="2010-09-13T02:56:05.927" Score="25" Body="&lt;p&gt;Group Steiner problem is a nice example. The input to this problem is an undirected edge-weighted graph $G=(V,E)$ and k groups of vertices $S_1, S_2, \ldots, S_k$. The goal is to find a minimum weight tree that contains at least one vertex from each group. It is easy to see that the Set Cover problem is a special case even when G is a star. Thus the problem is hard to approximate to within a $O(\log n)$ factor unless P=NP. Moreover, it was shown by Halperin and Krauthgamer that the problem is hard to approximate to within an $O(\log^{2-\epsilon} n)$ factor for any fixed $\epsilon &gt; 0$ unless NP has randomized quasi-polynomial time algorithms (see the paper for a precise statement). There is an $O(\log^2 n)$ approximation on trees by Garg, Konjevod and Ravi.&lt;/p&gt;&#xA;" OwnerUserId="176" LastEditorUserId="80" LastEditDate="2010-09-18T06:12:35.260" LastActivityDate="2010-09-18T06:12:35.260" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="1232" PostTypeId="2" ParentId="857" CreationDate="2010-09-13T03:00:45.610" Score="1" Body="&lt;p&gt;The halting problem when the input is represented in unary is in AC^0 and yet quite unfeasible in reality. I'm not sure this is what you meant, but it could be what Immerman meant.&lt;/p&gt;&#xA;" OwnerUserId="154" LastActivityDate="2010-09-13T03:00:45.610" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="1233" PostTypeId="1" AcceptedAnswerId="1235" CreationDate="2010-09-13T03:18:51.730" Score="38" ViewCount="3081" Body="&lt;p&gt;In his &quot;Computational Complexity&quot; book, Papadimitriou writes:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;RP&lt;/strong&gt; is in some sense a new and unusual kind of complexity class. Not any polynomially bounded nondeterministic Turing machine can be the basis of defining a language in RP. For a machine &lt;em&gt;N&lt;/em&gt; to define a language in &lt;strong&gt;RP&lt;/strong&gt;, it must have the remarkable property that on all inputs it either rejects &lt;em&gt;unanimously&lt;/em&gt;, or it accepts &lt;em&gt;by majority&lt;/em&gt;. Most nondeterministic machines behave in other ways for at least some inputs ... There is no easy way to tell whether a machine always halts with a certified output. We informally call such classes &lt;strong&gt;semantic classes&lt;/strong&gt;, as opposed to the &lt;strong&gt;syntactic classes&lt;/strong&gt; such as &lt;strong&gt;P&lt;/strong&gt; and &lt;strong&gt;NP&lt;/strong&gt;, where we can tell immediately by a superficial check whether an appropriately standardized machine indeed defines a language in the class.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Several pages later, he points that:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;language L is in the class &lt;strong&gt;PP&lt;/strong&gt; if there is a nondeterministic polynomially bounded Turing machine &lt;em&gt;N&lt;/em&gt; such that, for all inputs x, $x \in L$ iff more than half of the computations of &lt;em&gt;N&lt;/em&gt; on input x end up accepting. We say that &lt;em&gt;N&lt;/em&gt; decides L &lt;em&gt;by majority&lt;/em&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question 1:&lt;/strong&gt; Why Papadimitriou concludes that &lt;strong&gt;PP&lt;/strong&gt; is a syntactic class, while its definition is only slightly different from that of &lt;strong&gt;RP&lt;/strong&gt;?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question 2:&lt;/strong&gt; Whether being &quot;semantic&quot; for a complexity class is equivalent to NOT having complete problems, or the lack of complete problems is thought of as a property that we GUESS semantic classes possess?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit:&lt;/strong&gt; See related topic &lt;a href=&quot;https://cstheory.stackexchange.com/q/761/873&quot;&gt;Do all complexity classes have a leaf language characterization?&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="873" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.743" LastActivityDate="2015-01-10T11:54:14.123" Title="Semantic vs. Syntactic Complexity Classes" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;big-picture&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="12" ContentLicense="CC BY-SA 3.0" />
  <row Id="1234" PostTypeId="2" ParentId="1214" CreationDate="2010-09-13T03:21:31.747" Score="13" Body="&lt;p&gt;As Jukka pointed out, the answer is trivially no for all undecidable problems. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A more reasonable question would be: &lt;strong&gt;Can every problem that is complete for the class of recursively enumerable languages be made NP-complete in a straightforward way?&lt;/strong&gt; I am not sure this is true in general, but in the special cases you mention in your question (Bounded-Halting and Tiling) these problems are complete for RE even under &quot;special&quot; polynomial time reductions. (I leave &quot;special&quot; mostly undefined in this answer, but the properties needed can be worked out from it.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So if we ask the even more reasonable question: &lt;strong&gt;Can every problem that is complete (under special polytime reductions) for the class of recursively enumerable languages be made NP-complete in a straightforward way?&lt;/strong&gt;, here the answer is &lt;strong&gt;yes&lt;/strong&gt;. Take any RE-complete problem $A$, defined with respect to a Turing machine $M_A$ that takes a pair of inputs $(x,y)$, such that $x \in A \iff (\exists y)[M_A(x,y)~\text{halts}]$. We are assuming that there is a polynomial time reduction from the Halting Problem to $A$. Define &quot;Bounded-A&quot; to be the set of pairs $(x,1^t)$ such that there is a $y$ of length at most $t$ such that $M_A(x,y)$ halts within $t$ steps. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Clearly &quot;Bounded-A&quot; is in $NP$. It's also $NP$-complete because we can reduce the $NP$-complete Bounded Halting Problem to Bounded-A in polynomial time (Note that here you need special properties on the polynomial time reduction $R$ to ensure that it carries over to Bounded-Halting as well: i.e., you need to be able to efficiently compute an upper bound $t'$ on how long $M_A(R(M,x),y)$ needs to run, assuming that $M(x)$ halts within $t$ steps.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, is there a language which is RE-complete under (say) doubly-exponential-time reductions but not under exponential-time reductions? For such a problem, it is unlikely that you can trivially modify it to get an $NP$-complete version. I would guess that such a problem can be artificially constructed.&lt;/p&gt;&#xA;" OwnerUserId="225" LastEditorUserId="225" LastEditDate="2010-09-13T03:34:35.120" LastActivityDate="2010-09-13T03:34:35.120" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1235" PostTypeId="2" ParentId="1233" CreationDate="2010-09-13T03:54:30.490" Score="33" Body="&lt;p&gt;RP involves a promise, that either 0 paths accept or more than half accept, no matter what the input is. For PP, there is no such promise. If more than half the paths accept, then $x \in L$, otherwise, $x \notin L$. (PP can be defined so that the acceptance criteria are $\geq 1/2$ and $&amp;lt; 1/2$ respectively.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Or in other words, if I give you a probabilistic TM claiming it is a PP machine deciding some language, you can be sure that it decides &lt;em&gt;some&lt;/em&gt; language. Clearly, the language it decides is this one: Try input $x$. See if more than 1/2 of the paths accept (or more than 1/2 random strings cause it to accept). If so, $x \in L$. If not, $x \notin L$. So we've defined a language using this TM.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, if I give you a probabilistic TM claiming it is a RP machine deciding some language, you can't even be sure that it decides any language. The problem is that when you observe only a few paths accepting, you don't know if $x$ is in $L$ or not. So if I give you a RP machine, you just have to take my word for it. Indeed, checking if this machine defines a language is uncomputable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As for your second question, for syntactic classes usually there's an obvious complete problem, which is like &quot;Given machine M, decide if it accepts in time T on input x.&quot; If you're given a nondeterministic machine, this problem is NP-complete, if it's a PP-machine, then it's PP-complete, etc. The obvious complete problem for semantic classes is undecidable, as I mentioned. So we don't get a complete problem for free for semantic classes. But a semantic class can have a complete problem. For example if P = BPP (as is widely believed), then BPP has a syntactic characterization.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT&lt;/strong&gt;: Since there's some discussion on how to &lt;em&gt;define&lt;/em&gt; semantic and syntactic classes, I'd like to point out that Papadimitriou gives a definition in his book when talking about leaf languages. (See &lt;a href=&quot;https://cstheory.stackexchange.com/q/761/206&quot;&gt;my question about leaf languages&lt;/a&gt; for some references.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;He says that syntactic classes are those for which there exists some language that defines the class using the leaf language technique. Semantic classes are those for which all such characterizations require promise problems. This is a rigorous definition, but only works for those languages that have leaf language characterizations.&lt;/p&gt;&#xA;" OwnerUserId="206" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2010-09-13T06:14:31.520" CommentCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="1236" PostTypeId="1" CreationDate="2010-09-13T03:57:05.163" Score="11" ViewCount="644" Body="&lt;p&gt;The motivation for this question is the fact that most n-bit strings are incompressible. Intuitively, we can propose by analogy that most proofs for Tautologies are incompressible to polynomial size. Basically, my intuition is that some proofs are inherently random and can't be compressed.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there a good reference on research effort related to using Kolmogorov complexity results to establish super-polynomial lower bounds on the proof size of Tautologies?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;In this Ph.D. dissertation &#xA;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.37.3250&amp;amp;rep=rep1&amp;amp;type=pdf&quot;&gt;On the Complexity of Propositional Proof Systems&#xA;&lt;/a&gt;&#xA;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.37.3250&amp;amp;rep=rep1&amp;amp;type=pdf&quot;&gt;&lt;/a&gt;  the Incompressibility method from Kolmogorov Complexity is used to obtain Urquhart's $\Omega(n/\log n)$ lower bound for a class of Tautologies. I wonder if there are stronger results using the Incompressibility method or other results from Kolmogorov complexity?&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2010-09-13T12:49:17.570" LastActivityDate="2010-10-15T10:42:34.377" Title="Using Kolmogorov complexity to establish proof complexity lower bounds?" Tags="&lt;lower-bounds&gt;&lt;proof-complexity&gt;&lt;kolmogorov-complexity&gt;" AnswerCount="1" CommentCount="11" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="1237" PostTypeId="2" ParentId="1233" CreationDate="2010-09-13T04:14:52.540" Score="29" Body="&lt;p&gt;The answer to your first question is that in the definition of $PP$, there is no &quot;promise&quot; for a machine to satisfy, like with $RP$. Every randomized polytime machine defines &lt;em&gt;some&lt;/em&gt; $PP$ language: on each input, either the machine accepts on $&gt; 1/2$ of the random computation paths on the appropriate inputs, or it doesn't. The first case means $x$ is in the language, the second case means it's not in.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hence, just like in the case of $P$ and $NP$, we can give a recursive list of all $PP$-machines, by simply listing all randomized polytime machines. In contrast, with $RP$, there are randomized machines which accept (for example) exactly one of the random strings on an input, in which case the machine does not satisfy either condition for $RP$: it does not accept on $&gt; 1/2$ of its random strings, and it does not reject all strings. Hence this randomized machine is &lt;em&gt;not&lt;/em&gt; an $RP$-machine, in the sense that it has &quot;undefined&quot; behavior on some subset of inputs. This leads to the definition of $Promise-RP$, where you consider &quot;promise problems&quot; which permit arbitrary behavior on some strings. See the Complexity Zoo for more.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This leads to question 2. The problem with the notion of a &quot;semantic class&quot; is that it depends on the machines you're using to define the class, and hence it is extremely subtle to properly define. (I am not sure that a completely satisfactory definition has ever been given.) Being a &quot;semantic class&quot; is roughly equivalent to the property stated above: not every machine (in a natural listing of machines) will satisfy the acceptance/rejection conditions needed for your class, and hence it's &quot;hard&quot; to get a list of machines that accept exactly the languages in your class. But if $P=BPP$, then there is &lt;em&gt;some&lt;/em&gt; easily computable list of &lt;em&gt;some&lt;/em&gt; machines that accept exactly the languages in your class: namely, the list of polynomial time computable machines. Hence it would appear that, if it turns out that $P=BPP$, we have turned a semantic class into a syntactic one. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If it were truly the case that there is simply &lt;em&gt;no&lt;/em&gt; easily computable list of machines (of any reasonable kind) that accept exactly your class, then yes, I do not think your class can possibly have a complete language. But that seems very hard to formalize properly, let alone prove.&lt;/p&gt;&#xA;" OwnerUserId="225" LastActivityDate="2010-09-13T04:14:52.540" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="1238" PostTypeId="2" ParentId="1226" CreationDate="2010-09-13T05:05:00.947" Score="19" Body="&lt;p&gt;The method of conditional expectations (for derandomizing the &quot;random assignment&quot; algorithms for Max-Cut and Max-SAT) can be viewed as a greedy strategy: for $i=1,\ldots,n$, you pick the value of a variable $x_i$ such that the expected number of constraints satisfied in the resulting reduced instance exceeds the expected number of constraints satisfied in the current instance. (In fact, the greedy algorithm for $1/2$-approximating Max-Cut is &lt;em&gt;the same&lt;/em&gt; as the &quot;method of conditional expectations&quot; algorithm for $1/2$-approximating Max-Cut.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since the method also works for Max-E3-SAT and achieves a $7/8$-approximation, this is an example of a greedy algorithm which is an optimal approximation unless $P=NP$ (cf. Hastad and Moshkovitz-Raz's inapproximability results for Max-E3-SAT).&lt;/p&gt;&#xA;" OwnerUserId="225" LastActivityDate="2010-09-13T05:05:00.947" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1239" PostTypeId="5" CreationDate="2010-09-13T05:16:08.540" Score="0" Body="&lt;p&gt;The &lt;code&gt;big-picture&lt;/code&gt; tag is for questions that have a larger scope. They might have a very specific answer (and so would not automatically require a CW tag), but they are more philosophical in nature. One good example of a big-picture question is&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://cstheory.stackexchange.com/questions/1233/semantic-vs-syntactic-complexity-classes&quot;&gt;Semantic vs. Syntactic Complexity Classes&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;because it's asking a specific question (&quot;what is the meaning of a semantic complexity class&quot;), but it's also exploring the deeper meaning behind the intent of such classes. &lt;/p&gt;&#xA;" OwnerUserId="80" LastEditorUserId="80" LastEditDate="2010-09-13T05:16:08.540" LastActivityDate="2010-09-13T05:16:08.540" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1240" PostTypeId="4" CreationDate="2010-09-13T05:16:08.540" Score="0" Body="The big picture tag is for a &quot;broad, overall view or perspective of an issue or problem.&quot;" OwnerUserId="80" LastEditorUserId="206" LastEditDate="2010-09-20T01:59:11.917" LastActivityDate="2010-09-20T01:59:11.917" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1242" PostTypeId="2" ParentId="1155" CreationDate="2010-09-13T06:45:17.590" Score="4" Body="&lt;p&gt;You can try a &lt;a href=&quot;https://secure.wikimedia.org/wikipedia/en/wiki/Jackson%27s_theorem_%28queueing_theory%29#Definition_of_a_Jackson_network&quot; rel=&quot;nofollow&quot;&gt;Jackson network&lt;/a&gt;, which is well-studied in &lt;a href=&quot;https://secure.wikimedia.org/wikipedia/en/wiki/Queueing_theory&quot; rel=&quot;nofollow&quot;&gt;queueing theory&lt;/a&gt;.  Jackson networks provide a formalism for modeling systems of servers (ie, hosts) that process messages/items at varying rates and pass messages between one another, and they can handle notions like fixed-capacity caches and linked processing rates.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Your analysis will be easier than what's usually needed for these models because you're considering a constant processing speed.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'll also second Aaron's answer about looking at Petri nets, which are another useful formalism that can represent what you're after.  What you want isn't just the formalism by itself, which is nothing more than a way to logically express your requirements, but the ability to leverage existing analytical results about the performance of these systems from the Petri net / Jackson network literature.  After you've figured out how to model your system as one of these networks, you can try and use known properties of these networks to determine answers to your questions.  With Jackson networks, you usually end up with results like, &quot;as hosts become more active, and the cache size drops, the expected processing time changes by X&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This question would be a wonderful candidate for crossposting on the &lt;a href=&quot;http://www.or-exchange.com/&quot; rel=&quot;nofollow&quot;&gt;Operations Research Exchange&lt;/a&gt;, since we're in the territory of stochastic and queueing models.&lt;/p&gt;&#xA;" OwnerUserId="71" LastEditorUserId="71" LastEditDate="2010-09-13T17:57:47.833" LastActivityDate="2010-09-13T17:57:47.833" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1243" PostTypeId="1" AcceptedAnswerId="1248" CreationDate="2010-09-13T07:22:47.643" Score="19" ViewCount="450" Body="&lt;p&gt;How would you design a picture to illustrate the unique games conjecture?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is for a &quot;Current Events&quot; presentation on unique games at the next AMS Joint Meeting and for the booklet that will be produced.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Example of the kind of illustrations produced in the past are at&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.ams.org/meetings/lectures/current-events-bulletin&quot;&gt;http://www.ams.org/meetings/lectures/current-events-bulletin&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;and if you click on the 2006 edition you can see the picture that Madhu Sudan used to illustrate his talk on PCP.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have thought about using the gadget reducing unique games to max cut, or the Khot-Vishnoi graph for reasonably small size. A good suggestion I received was to draw the label-extended graph of a nearly-satisfiable instance of unique games, and highlight in a different color the vertices corresponding to an optimal solution.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Other suggestions?&lt;/p&gt;&#xA;" OwnerUserId="1069" LastActivityDate="2010-09-13T09:52:56.500" Title="Visualizing Unique Games" Tags="&lt;cc.complexity-theory&gt;&lt;unique-games-conjecture&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="1244" PostTypeId="1" AcceptedAnswerId="1961" CreationDate="2010-09-13T07:24:54.913" Score="1" ViewCount="1014" Body="&lt;p&gt;Let problem $S$ be defined as&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Given undirected graph $G$ and a set&#xA;  of cycles $C_1,C_2, \ldots, C_n$ in G,&#xA;  find minimum number of vertices that&#xA;  need to be deleted to remove all&#xA;  cycles in the graph G except the&#xA;  specified set.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Surely Problem $S$ is NP-hard, since finding minimum number of vertices required to remove all cycles in G (feedback vertex set) is NP-hard&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is it possible to Reduce Problem S to&#xA;  the feedback vertex set problem in an undirected&#xA;  or directed graph reduction such that if there exist a solution for problem S of size at most k in G iff there exist a feedback vertex set of size at most k in G'&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;ksoltys gives a reduction (answer below) from Problem S to feedback vertex set when we are not allowed to pick vertices from the forbidden cycles $C_1,C_2, \ldots, C_n$ .Suppose we are allowed to pick vertices from these forbidden cycle. Is there a reduction such that if there exist a solution for problem S of size at most k in G iff there exist a feedback vertex set of size at most k in G'&lt;/p&gt;&#xA;" OwnerUserId="851" LastEditorUserId="-1" LastEditDate="2013-04-30T03:39:40.017" LastActivityDate="2013-04-30T03:39:40.017" Title="Removing all but a few cycles in a graph" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;&lt;np-hardness&gt;&lt;reductions&gt;" AnswerCount="1" CommentCount="17" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="1245" PostTypeId="2" ParentId="1215" CreationDate="2010-09-13T08:04:11.470" Score="6" Body="&lt;p&gt;&lt;a href=&quot;http://dx.doi.org/10.1137/S0097539794269461&quot;&gt;Maximum leaf-labeled isomorphic subtree&lt;/a&gt;.&#xA;The input is a set $TS$ of leaf-labeled tree (internal nodes are not labeled).&#xA;A solution is any tree $T$ such that for each tree $T_1\in TS$ then $T$ is isomorphic to a subtree of $T_1$.&#xA;The optimal solution is the one that maximizes the number of leaves of $T$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem is NP-hard (actually, it is hard to approximate) only when all input trees have unbounded degree.&lt;/p&gt;&#xA;" OwnerUserId="474" LastActivityDate="2010-09-13T08:04:11.470" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1247" PostTypeId="1" AcceptedAnswerId="1251" CreationDate="2010-09-13T08:38:08.747" Score="8" ViewCount="1590" Body="&lt;p&gt;The problem #MONOTONE-2SAT is known to be #P-complete. This means that #SAT can be reduced to it. My question is: given a #SAT instance $F$, which is the transformation that converts $F$ to its corresponding #MONOTONE-2SAT instance $F'$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A second question is: let $K'$ be the number of solutions of $F'$, and let $K$ be the number of solutions of $F$. Does $K' = K$? Or we must use a back transformation that converts $K'$ to $K$?&lt;/p&gt;&#xA;" OwnerUserId="947" LastActivityDate="2010-09-13T15:02:01.023" Title="Reducing #SAT to #MONOTONE-2SAT" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;complexity-classes&gt;&lt;sat&gt;" AnswerCount="1" CommentCount="7" FavoriteCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="1248" PostTypeId="2" ParentId="1243" CreationDate="2010-09-13T09:52:56.500" Score="4" Body="&lt;p&gt;If I were going to illustrate unique games, I'd do something with a label-extended graph (similar to the suggestion you mentioned).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But specifically, I'd contrast the original constraint graph with the label-extended one. For instance, label edges in the constraint graph with the corresponding equation out of:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$x_1 - x_2 = 0\mod 3$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$x_2 - x_3 = 0\mod 3$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$x_3 - x_1 = 1\mod 3$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then there will be a (hopefully visually appealing) &quot;twist&quot; between the $x_1$ and $x_3$ vertex clouds in the label-extended graph.&lt;/p&gt;&#xA;" OwnerUserId="108" LastActivityDate="2010-09-13T09:52:56.500" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1249" PostTypeId="2" ParentId="1168" CreationDate="2010-09-13T10:05:27.600" Score="18" Body="&lt;ul&gt;&#xA;&lt;li&gt;N. Chomsky. Three models for the description of language. IEEE Transactions on Information Theory 3. 1956. &lt;a href=&quot;http://dx.doi.org/10.1109/TIT.1956.1056813&quot;&gt;doi: 10.1109/TIT.1956.1056813&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Chomsky analyzes how mathematical models can be used to describe natural language, from a linguistic point of view.&lt;/p&gt;&#xA;" OwnerUserId="941" LastEditorUserId="109" LastEditDate="2010-09-17T13:08:15.547" LastActivityDate="2010-09-17T13:08:15.547" CommentCount="1" CommunityOwnedDate="2010-09-13T10:05:27.600" ContentLicense="CC BY-SA 2.5" />
  <row Id="1251" PostTypeId="2" ParentId="1247" CreationDate="2010-09-13T10:55:16.147" Score="7" Body="&lt;p&gt;As for the first question, that is what a reduction does.  For how to reduce #3SAT to #Monotone-2SAT, see the proof of #P-completeness of #Monotone-2SAT [Val79b], which is based on the #P-completeness of Permanent [Val79a].  To reduce #SAT to #3SAT, Cook’s reduction from any problem in NP to 3SAT is parsimonious and therefore reduces #SAT to #3SAT.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The answer to the second question is no.  The reduction in [Val79a] from #3SAT to Permanent does not preserve the number of solutions.  Moreover, if a reduction from #SAT to #Monotone-2SAT (or Permanent) which preserves the number of solutions were known, the same reduction would reduce the decision version of SAT to the decision version of Monotone-2SAT (or Bipartite Matching), implying P=NP.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;References&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[Val79a] Leslie G. Valiant.  The complexity of computing the permanent.  &lt;em&gt;Theoretical Computer Science&lt;/em&gt;, 8(2):189–201, 1979.  &lt;a href=&quot;http://dx.doi.org/10.1016/0304-3975(79)90044-6&quot; rel=&quot;nofollow&quot;&gt;http://dx.doi.org/10.1016/0304-3975(79)90044-6&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[Val79b] Leslie G. Valiant.  The complexity of enumeration and reliability problems.  &lt;em&gt;SIAM Journal on Computing&lt;/em&gt;, 8(3):410–421, Aug. 1979.  &lt;a href=&quot;http://dx.doi.org/10.1137/0208032&quot; rel=&quot;nofollow&quot;&gt;http://dx.doi.org/10.1137/0208032&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="567" LastEditorUserId="567" LastEditDate="2010-09-13T15:02:01.023" LastActivityDate="2010-09-13T15:02:01.023" CommentCount="15" ContentLicense="CC BY-SA 2.5" />
  <row Id="1252" PostTypeId="1" CreationDate="2010-09-13T12:09:29.003" Score="11" ViewCount="448" Body="&lt;p&gt;While an EE undergrad I attended some lectures that presented a nice characterization of boolean circuits in terms of how many nested loops they have. In complexity, boolean circuits are often thought of as dags, but in real hardware cycles are common. Now, modulo some technicalities regarding what a loop is and what constitutes a nested loop, the claim was basically that in order to implement in hardware an automaton one needs two nested loops, and in order to implement a processor one needs three nested loops. (I might be off-by-one with these counts.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Two things bother me:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;There was nothing like a formal proof.&lt;/li&gt;&#xA;&lt;li&gt;I didn't see this anywhere else.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Did anyone investigate precise statements of this kind?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Searching for the name of the professor I found &lt;a href=&quot;http://arh.pub.ro/gstefan/taxonomy.html&quot; rel=&quot;noreferrer&quot;&gt;a small webpage&lt;/a&gt; and &lt;a href=&quot;http://arh.pub.ro/gstefan/0-BOOK.pdf&quot; rel=&quot;noreferrer&quot;&gt;book (Chapter 4)&lt;/a&gt; that discuss this taxonomy.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Sort of background&lt;/em&gt;: In case you wonder why are cycles useful at all in real hardware, here is a simple example. Connect two inverters in a cycle. (An inverter is a gate that computes the boolean function NOT.) This circuit has two stable equilibriums (and an unstable one). Absent any outside intervention, the circuit will simply stay in one of the two states. However, it is possible to force the circuit into one particular state by applying an external signal. The situation can be seen like this: While the cycle is connected to the outside signal &quot;we read the input,&quot; and otherwise we simply &quot;remember the last value we saw.&quot; So one loop helps us remember stuff.&lt;/p&gt;&#xA;" OwnerUserId="236" LastEditorUserId="-1" LastEditDate="2013-05-10T06:34:00.457" LastActivityDate="2013-05-10T06:34:00.457" Title="Do people look at loop nestness in boolean circuits?" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;circuit-complexity&gt;&lt;machine-models&gt;&lt;ar.hardware-architecture&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="1256" PostTypeId="2" ParentId="189" CreationDate="2010-09-13T13:47:58.910" Score="11" Body="&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Kosaraju%27s_algorithm&quot;&gt;Kosaraju's Algorithm&lt;/a&gt; to find the strongly connected components of a directed graph. Consists essentially of doing two DFS traversals on the digraph, the second after reversing all the edges and picking vertices in the reverse order as they were seen in the first traversal.&lt;/p&gt;&#xA;" OwnerUserId="148" LastActivityDate="2010-09-13T13:47:58.910" CommentCount="0" CommunityOwnedDate="2010-09-13T13:47:58.910" ContentLicense="CC BY-SA 2.5" />
  <row Id="1257" PostTypeId="1" AcceptedAnswerId="1269" CreationDate="2010-09-13T15:19:58.873" Score="17" ViewCount="1074" Body="&lt;p&gt;I am interested in &lt;strong&gt;properties of random directed graphs with fixed out-degree $d$&lt;/strong&gt;.  I am imagining a random graph model where each vertex chooses d neighbors (say, with replacement) u.a.r.  &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Question&lt;/strong&gt;: Is anything known about the stationary&#xA;  distribution and mixing times of random&#xA;  walks on these random graphs (for various&#xA;  values of $d$)?  &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I am particularly interested in the case where $d = 2$, which corresponds to a model of random automata over a Boolean alphabet.  (Yes, I realize these graphs are often not connected, but what happens in a given component?)  I am happy with partial results and results about other properties of these graphs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It seems most of the literature on random graphs focuses on the Erdős–Rényi model, which has very different properties than the model I am thinking about.  &lt;/p&gt;&#xA;" OwnerUserId="123" LastEditorUserId="186" LastEditDate="2011-01-05T02:01:34.280" LastActivityDate="2011-01-05T02:04:36.540" Title="Properties of Random Directed Graphs with Fixed Out-Degree" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;automata-theory&gt;&lt;random-walks&gt;" AnswerCount="3" CommentCount="8" FavoriteCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="1258" PostTypeId="2" ParentId="189" CreationDate="2010-09-13T15:50:44.603" Score="6" Body="&lt;p&gt;Do you know &lt;a href=&quot;http://en.wikipedia.org/wiki/Bucket_sort&quot;&gt;bucket sort&lt;/a&gt;? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In my opinion, it is the most elegant, simply &amp;amp; yet it is an incredibly powerfull sorting algorithm&lt;/p&gt;&#xA;" OwnerDisplayName="SoulWanderer" LastActivityDate="2010-09-13T15:50:44.603" CommentCount="0" CommunityOwnedDate="2010-09-13T15:50:44.603" ContentLicense="CC BY-SA 2.5" />
  <row Id="1259" PostTypeId="1" AcceptedAnswerId="1339" CreationDate="2010-09-13T15:54:55.640" Score="4" ViewCount="295" Body="&lt;p&gt;Assume that we are interested in deterministic circuits of size $f(n)$. Here, $n$ represents the number of inputs to the circuit.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The standard way of defining probabilistic/nondeterministic circuits is to augment the input with inputs. Let's assume that the circuit is still of size $f(n)$. What is $n$ in this case?&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt; $n$ is the number of deterministic inputs.&#xA;&lt;li&gt; $n$ is the number of deterministic PLUS probabilistic/nondeterministic inputs.&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;My confusion is that some references consider case 1, while others consider case 2.&lt;/p&gt;&#xA;" OwnerUserId="873" LastActivityDate="2010-09-15T17:42:07.117" Title="On Defining Probabilistic/Nondeterministic Circuits" Tags="&lt;cc.complexity-theory&gt;&lt;circuit-complexity&gt;&lt;nondeterminism&gt;&lt;probabilistic-circuits&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="1260" PostTypeId="2" ParentId="1257" CreationDate="2010-09-13T16:39:53.120" Score="7" Body="&lt;p&gt;Do you know about the following work (and references therein)?  (It's also available on arXiv.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Bohman, T. and Frieze, A. (2009), Hamilton cycles in 3-out. Random Structures &amp;amp; Algorithms, 35: 393–417. doi: 10.1002/rsa.20272&lt;/p&gt;&#xA;" OwnerUserId="233" LastActivityDate="2010-09-13T16:39:53.120" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="1261" PostTypeId="2" ParentId="1226" CreationDate="2010-09-13T17:20:16.313" Score="11" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;Given a directed graph, find the acyclic subgraph with maximum number of edges.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Trivial 2-approximation algorithm: Pick an arbitrary ordering of vertices and take either the forward edges or backward edges.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Beating the 2-approximation is known to be Unique-games hard(although it might not be NP-hard).&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Beating the Random Ordering is Hard: Inapproximability of Maximum Acyclic Subgraph&#xA;Venkatesan Guruswami, Rajsekar Manokaran and Prasad Raghavendra.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="547" LastActivityDate="2010-09-13T17:20:16.313" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1262" PostTypeId="2" ParentId="1015" CreationDate="2010-09-13T17:33:28.873" Score="21" Body="&lt;p&gt;Let CNF-SAT be the problem of determining whether a given CNF formula is satisfiable (no restrictions on the width of clauses).&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is CNF-SAT on $n$ variables and $m$ clauses solvable in $2^{\delta n} poly(m)$ time, for some $\delta &amp;lt; 1$?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;This is a well-known open problem in the area of &quot;faster algorithms for NP&quot;. I don't think it has achieved the status of &quot;major open problem&quot; but it has attracted quite a bit of attention. The best known algorithms run in $2^{n-\Omega(n/\log (m/n))}$ time (e.g., &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.137.8758&quot;&gt;here&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Related to the Exponential Time Hypothesis (that 3SAT is not in subexponential time), there is also a &lt;a href=&quot;http://faculty.cs.tamu.edu/chen/iwpec2009/images/52.pdf&quot;&gt;&quot;Strong Exponential Time Hypothesis&quot;&lt;/a&gt; that the optimal running time for $k$-SAT converges to $2^{n}$ as $k \rightarrow \infty$. One consequence of Strong-ETH would be that the answer to the above question is no. Several plausible hypotheses imply that &lt;a href=&quot;http://www.cs.cmu.edu/~ryanw/cnf-sat-feasible.pdf&quot;&gt;the answer is yes&lt;/a&gt;, but who knows. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think it's one of those problems that seem likely to be &quot;resolved&quot; either way: either we'll show a yes-answer, or we'll show that a yes-answer implies something very major. In the first case, we'll have the satisfaction of resolving the problem, in the second case we'll have elevated the question to that of a &quot;major open problem&quot;... a no-answer implies $P \neq NP$, and a yes-answer implies something very major.  :)&lt;/p&gt;&#xA;" OwnerUserId="225" LastActivityDate="2010-09-13T17:33:28.873" CommentCount="0" CommunityOwnedDate="2010-09-13T17:33:28.873" ContentLicense="CC BY-SA 2.5" />
  <row Id="1263" PostTypeId="1" AcceptedAnswerId="1415" CreationDate="2010-09-13T17:35:18.000" Score="42" ViewCount="4811" Body="&lt;p&gt;I am seeking a definitive answer to whether or not generation of &quot;truly random&quot; numbers&#xA;is Turing computable.  I don't know how to phrase this precisely.&#xA;&lt;a href=&quot;https://cstheory.stackexchange.com/questions/476/what-are-the-most-effective-algorithms-to-find-random-number&quot;&gt;This StackExchange question&lt;/a&gt; on &quot;efficient algorithms for random number generation&quot;&#xA;comes close to answering my question.&#xA;Charles Stewart says in his answer, &quot;it [Martin-Löf randomness] cannot be generated by a machine.&quot; Ross Snider says, &quot;any deterministic process (such as Turing/Register Machines) can not produce 'philosophical' or 'true' random numbers.&quot; Is there a clear and accepted notion of what constitutes a truly random number generator?&#xA;And if so, is it known that it cannot be computed by a Turing Machine?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Perhaps pointing me to the relevant literature would suffice.  Thanks for any help you can provide!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;b&gt;Edit.&lt;/b&gt; Thanks to Ian and Aaron for the knowledgeable answers!  I am relatively unschooled in this area, and I am grateful for the assistance. If I may extend the question a bit in this addendum: Is it the case that a TM with access to a pure source of randomness (an oracle?), can compute a function that a classical TM cannot?&lt;/p&gt;&#xA;" OwnerUserId="337" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2010-09-17T17:05:40.980" Title="Truly random number generator: Turing computable?" Tags="&lt;reference-request&gt;&lt;computability&gt;&lt;turing-machines&gt;&lt;randomness&gt;" AnswerCount="7" CommentCount="1" FavoriteCount="16" ContentLicense="CC BY-SA 2.5" />
  <row Id="1264" PostTypeId="2" ParentId="1198" CreationDate="2010-09-13T17:44:28.707" Score="14" Body="&lt;p&gt;This might seem pretty preliminary to most people here, but I have greatly benefited from these since I am essentially self-taught.&#xA;&lt;a href=&quot;http://aduni.org/courses/theory/index.php?view=cw&quot;&gt;http://aduni.org/courses/theory/index.php?view=cw&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="983" LastActivityDate="2010-09-13T17:44:28.707" CommentCount="0" CommunityOwnedDate="2010-09-13T17:44:28.707" ContentLicense="CC BY-SA 2.5" />
  <row Id="1265" PostTypeId="1" AcceptedAnswerId="1275" CreationDate="2010-09-13T17:50:18.987" Score="22" ViewCount="1427" Body="&lt;p&gt;In 1999, Petra Schuurman and Gerhard J. Woeginger published the paper &lt;a href=&quot;http://www.win.tue.nl/~gwoegi/papers/ten.pdf&quot;&gt;&quot;Polynomial time approximation algorithms for machine scheduling: Ten open problems&quot;&lt;/a&gt;. Since then, to the best of my knowledge, reviews which would concern very the same list of problems haven't appeared. Thus it would be great and useful if each of us could make such summary on some of the ten open problems and contribute it here.&lt;/p&gt;&#xA;" OwnerUserId="1060" LastEditorUserId="1677" LastEditDate="2010-12-06T17:07:38.733" LastActivityDate="2011-01-20T13:54:52.763" Title="Polynomial time approximation algorithms for machine scheduling: how many open problems are left?" Tags="&lt;ds.algorithms&gt;&lt;approximation-algorithms&gt;&lt;open-problem&gt;&lt;approximation-hardness&gt;&lt;scheduling&gt;" AnswerCount="2" CommentCount="5" FavoriteCount="8" CommunityOwnedDate="2010-09-13T22:27:29.467" ContentLicense="CC BY-SA 2.5" />
  <row Id="1266" PostTypeId="2" ParentId="189" CreationDate="2010-09-13T18:27:08.340" Score="3" Body="&lt;p&gt;The Kalman filter, absolutely brilliant for handling data with noise: &lt;a href=&quot;http://en.wikipedia.org/wiki/Kalman_filter&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/Kalman_filter&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="1095" LastActivityDate="2010-09-13T18:27:08.340" CommentCount="0" CommunityOwnedDate="2010-09-13T18:27:08.340" ContentLicense="CC BY-SA 2.5" />
  <row Id="1267" PostTypeId="2" ParentId="1015" CreationDate="2010-09-13T19:56:39.343" Score="14" Body="&lt;p&gt;A &lt;em&gt;$(q,\delta,\epsilon)$-locally decodable code (LDC)&lt;/em&gt; is a map $C: \mathbb{F}^m \to \mathbb{F}^n$ such that there is an algorithm $A$, called the local decoder, which, given as input an integer $i \in [m]$ and a received word $y \in \mathbb{F}^n$ that differs from $C(x)$ for some $x \in \mathbb{F}^m$ on at most $\delta$ fraction of positions, looks up at most $q$ coordinates of $y$ and outputs $x_i$ with probability at least $1/|\mathbb{F}| + \epsilon$.  The LDC is said to be &lt;em&gt;linear&lt;/em&gt; if $\mathbb{F}$ is a field and $C$ is $\mathbb{F}$-linear. LDC's have many applications in complexity theory and privacy, among others.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For $q=2$ and constant $\delta,\epsilon$, the situation is completely resolved.  The Hadamard code is a linear $2$-query LDC with $n = \exp(m)$, and this is known to be essentially optimal, even for non-linear LDC's.  But here, $q=2$ is the frontier!  As soon as we make $q=3$, there is a huge gap between known upper and lower bounds.  The current best upper bound is a linear $3$-query LDC over any finite field (and even the reals and complexes) with query complexity $n=\exp(\exp(\sqrt{\log m \log \log m})) = 2^{m^{o(1)}}$ [&lt;a href=&quot;http://www.wisdom.weizmann.ac.il/~klime/Klim_files/LDC_new.pdf&quot;&gt;Efremenko '09&lt;/a&gt;, &lt;a href=&quot;http://research.microsoft.com/en-us/um/people/yekhanin/Papers/mv_codes.pdf&quot;&gt;Dvir-Gopalan-Yekhanin '10&lt;/a&gt;].  The best lower bounds is $\Omega(m^2)$ for linear $3$-query LDC's over any field and $\Omega(m^2/\log m)$ for general $3$-query LDC's [&lt;a href=&quot;http://www.almaden.ibm.com/cs/people/dpwoodru/w10b.pdf&quot;&gt;Woodruff '10&lt;/a&gt;].  The situation for larger numbers of queries is even more dire.&lt;/p&gt;&#xA;" OwnerUserId="15" LastEditorUserId="15" LastEditDate="2010-09-13T21:24:15.470" LastActivityDate="2010-09-13T21:24:15.470" CommentCount="0" CommunityOwnedDate="2010-09-13T19:56:39.343" ContentLicense="CC BY-SA 2.5" />
  <row Id="1268" PostTypeId="2" ParentId="1263" CreationDate="2010-09-13T19:59:37.130" Score="12" Body="&lt;p&gt;There is (perhaps) a distinction to be made between &quot;Turing computable&quot; and &quot;effectively computable&quot; in order to answer your question.  If one defines &quot;random process&quot; as &quot;a process that cannot be predicted, no matter what resources we have,&quot; and one defines &quot;deterministic process&quot; as &quot;predictable process, given the input and access to (maybe a lot of) resources,&quot; then no Turing computable function can be random, because if we knew the Turing machine and simulated it, we could always predict the outcome of the next &quot;experiment&quot; of the process.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In this framework, a Martin-Lof test can be seen as a deterministic process, and the definition of a random sequence is precisely a sequence whose behavior is not predicted by any Martin-Lof test/Turing computable/deterministic process.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This, however, begs the question: &quot;Is a random sequence effectively calculable, in real life?&quot;  There is, in fact, an industry here.  There are published CD's with billions of random (?) bits on them that are used to perform computer simulations of physical systems, etc.  These CD's guarantee that their sequences of bits pass a bunch of Martin-Lof tests.  The book &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0375424040&quot;&gt;The Drunkard's Walk: How Randomness Rules our Lives&lt;/a&gt; gives a pop-sci explanation of this issue, in greater detail.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Irrelevant point: I enjoy your column. :-)&lt;/p&gt;&#xA;" OwnerUserId="30" LastActivityDate="2010-09-13T19:59:37.130" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1269" PostTypeId="2" ParentId="1257" CreationDate="2010-09-13T20:48:27.080" Score="10" Body="&lt;p&gt;In the undirected case random $d$-regular graphs are expanders with high probability (not for $d=2$, but I think $d \ge 3$ suffices), which implies that the mixing time of random walks is $O(\log n)$.  I don't remember enough about these proofs to know whether everything goes through in the directed case (certainly some properties are different: the uniform distribution is no longer stationary), but it may be worth looking into.  Good references for expander graphs are &lt;a href=&quot;http://www.cs.huji.ac.il/~nati/PAPERS/expander_survey.pdf&quot;&gt;Expander Graphs and their Applications&lt;/a&gt; by Hoory, Linial, and Wigderson and &lt;a href=&quot;http://people.seas.harvard.edu/~salil/pseudorandomness/pseudorandomness-Aug10.pdf&quot;&gt;Pseudorandomness&lt;/a&gt; by Vadhan.&lt;/p&gt;&#xA;" OwnerUserId="205" LastActivityDate="2010-09-13T20:48:27.080" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="1270" PostTypeId="2" ParentId="1132" CreationDate="2010-09-13T21:02:03.000" Score="1" Body="&lt;p&gt;Take a look at &lt;a href=&quot;http://swtch.com/~rsc/regexp/regexp1.html&quot; rel=&quot;nofollow&quot;&gt;this article&lt;/a&gt; by Russ Cox. It describes an NFA-based approach, first employed by Ken Thompson, by which an input string &lt;em&gt;s&lt;/em&gt; can be matched to a regular expression &lt;em&gt;r&lt;/em&gt; in time O(|&lt;em&gt;s&lt;/em&gt;|.&lt;em&gt;c&lt;/em&gt;) and space O(|&lt;em&gt;r&lt;/em&gt;|.&lt;em&gt;d&lt;/em&gt;), where &lt;em&gt;c&lt;/em&gt; and &lt;em&gt;d&lt;/em&gt; are upper-bound constants. The article also details a C implementation of the technique.&lt;/p&gt;&#xA;" OwnerDisplayName="xperroni" LastActivityDate="2010-09-13T21:02:03.000" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="1271" PostTypeId="2" ParentId="189" CreationDate="2010-09-13T21:13:33.657" Score="8" Body="&lt;p&gt;An algorithm that I find truly simple and elegant is the &lt;a href=&quot;http://en.wikipedia.org/wiki/Rabin%E2%80%93Karp_string_search_algorithm&quot; rel=&quot;noreferrer&quot;&gt;Rabin-Karp&lt;/a&gt; algorithm of using rolling-hashes for linear time string search. A lot simpler to wrap your head around than KMP.&lt;/p&gt;&#xA;" OwnerUserId="659" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2010-09-13T21:13:33.657" CommentCount="0" CommunityOwnedDate="2010-09-13T21:13:33.657" ContentLicense="CC BY-SA 2.5" />
  <row Id="1272" PostTypeId="2" ParentId="1263" CreationDate="2010-09-13T21:20:50.263" Score="11" Body="&lt;p&gt;Intuitively, &quot;random&quot; means &quot;unpredictable&quot;, and any sequence generated by a Turing machine can be predicted by running the machine, so Turing machines cannot produce &quot;truly random&quot; numbers.  There are a number of formal definitions of random sequences (randomness only really makes sense as the length of a string goes to infinity), all of which are essentially equivalent.  Perhaps the most natural of these are Martin-Lof randomness, which means that a sequence passes all possible computable statistical tests for stochasticity, and Chaitin random which means that all initial subsequences are incompressible (more specifically, have high Kolmogorov complexity).  In both of these definitions it is incomputable to both generate random sequences and to recognize them.  See the book &quot;Information and Randomness: An Algorithmic Perspective&quot; by Calude for a thorough treatment of this topic.&lt;/p&gt;&#xA;" OwnerUserId="205" LastActivityDate="2010-09-13T21:20:50.263" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="1273" PostTypeId="2" ParentId="1132" CreationDate="2010-09-13T21:31:05.240" Score="20" Body="&lt;p&gt;It's easy enough to trade off time for space, as follows.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Convert the regular expression to an NFA — for concreteness in comparing algorithms, we'll assume that $r$ is the number of NFA states, so that your $O(rs)$ time bound for directly simulating the NFA is valid and your $O(2^r)$ space bound for running the converted DFA are also valid whenever you're working in a RAM that can address that much memory.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, partition the states of the NFA (arbitrarily) into $k$ subsets $S_i$ of at most $\lceil r/k\rceil$ states each. Within each subset $S_i$, we can index subsets $A_i$ of $S_i$ by numbers from $0$ to $2^{\lceil r/k\rceil}-1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Build a table $T[i,j,c,A_i]$ where $i$ and $j$ are in the range from 0 to $k-1$, $c$ is an input symbol, and $A_i$ is (the numerical index of) a subset of $S_i$. The value stored in the table is (the numerical index of) a subset of $S_j$: a state $y$ is in $T[i,j,c,A_i]$ if and only if $y$ belongs to $S_j$ and there is a state in $A_i$ that transitions to $y$ on input symbol $c$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To simulate the NFA, maintain $k$ indices, one for each $S_i$, specifying the subset $A_i$ of the states in $S_i$ that can be reached by some prefix of the input. For each input symbol $c$, use the tables to look up, for each pair $i,j$, the set of states in $S_j$ that can be reached from a state in $A_i$ by a transition on $c$, and then use a bitwise binary or operation on the numerical indices of these sets of states to combine them into a single subset of states of $S_j$. So, each step of the simulation takes time $O(k^2)$, and the total time for the simulation is $O(sk^2)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The space required is the space for all the tables, which is $O(k^2 2^{r/k})$. The time and space analysis is valid on any RAM that can address that much memory and that can do binary operations on words that are large enough to address that much memory.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The time-space tradeoff you get from this doesn't perfectly match the NFA simulation, because of the quadratic dependence on $k$. But then, I'm skeptical that $O(rs)$ is the right time bound for the NFA simulation: how do you simulate a single step of the NFA faster than looking at all of the (possibly quadratically many) transitions allowed from a currently active state to another state? Shouldn't it be $O(r^2 s)$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In any case by letting $k$ vary you can get time bounds on a continuum between the DFA and NFA bounds, with less space than the DFA.&lt;/p&gt;&#xA;" OwnerUserId="95" LastEditorUserId="95" LastEditDate="2010-09-13T21:41:41.590" LastActivityDate="2010-09-13T21:41:41.590" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="1275" PostTypeId="2" ParentId="1265" CreationDate="2010-09-13T22:44:37.733" Score="17" Body="&lt;h2&gt;Makespan minimization on identical machines under precedence constraints&lt;/h2&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Open problem 1. Provide a $4/3+\delta$ inapproximability result for $P|prec|C_{max}$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Here what comes first to mind is the paper of this year by Ola Svensson &quot;Conditional Hardness of Precedence Constrained Scheduling on Identical Machines&quot;. In his paper Ola proves that &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&quot;if the single machine problem is hard to approximate within a factor of $2-\epsilon$ then the considered parallel machine problem, even in the case of unit processing times, is hard to approximate within a factor of $2-\zeta$, where $\zeta$ tends to 0 as $\epsilon$ tends to 0.&quot;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;In 2008 there was published the paper &quot;Precedence constrained scheduling in $(2−\frac{7}{3p+1})$ · optimal&quot; describing an algorithm for $P|prec,p_j=1|C_{max}$ with the performance ratio, mentioned in its title. This improves upon Coffman-Graham algorithm with bound $2-\frac{2}{p}$, where $p$ is the number of machines.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The paper &quot;Approximation algorithms for scheduling jobs with chain precedence constraints&quot; by Jansen and Solis-Oba contains PTAS for $Qm|chains|C_{max}$, and, as a consequence, for $Pm|chains|C_{max}$ as a special case of the former problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This year there was appeared the article &quot;Approximation schemes for scheduling jobs with chain precedence constraints&quot; by Jansen and Solis-Oba (journal version of the previous one), which concerns PTAS for $P|chains|C_{max}$ with a fixed number of jobs in every chain and $P|prec|C_{max}$ with a constant number of jobs in every order's connected component.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Makespan minimization on uniform machines under precedence constraints&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;The 2003 year's paper &quot;Approximation algorithms for scheduling jobs with chain precedence constraints&quot; by Jansen and Solis-Oba contains PTAS for $Qm|chains|C_{max}$.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Makespan minimization under precedence constraints with communication delays&lt;/h2&gt;&#xA;&#xA;&lt;h2&gt;Makespan minimization on unrelated machines&lt;/h2&gt;&#xA;&#xA;&lt;h2&gt;Makespan minimization in open shops&lt;/h2&gt;&#xA;&#xA;&lt;h2&gt;Makespan minimization in flow shops&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;In the paper of Nagarajan and Sviridenko from 2008 &quot;Tight Bounds for Permutation Flow Shop Scheduling&quot; we can find the upper bound on the ratio between optimal makespan and the makespan of the best permutation schedule. This bound is the approximation ratio of an algorithm proposed, and it is the best possible among algorithms based on the trivial lower bounds, up to $2\sqrt{2}$ factor. Incidentally, the algorithms proposed are currently the ones with the best approximation ratios.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Makespan minimization in job shops&lt;/h2&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Open problem 7. Decide whether there exists a polynomial time approximation algorithm&#xA;  for $J||C_{max}$ whose worst-case performance is independent of the number $m$ of machines and/or independent of the maximum number $\mu$ of operations. Provide a $5/4+\delta$ inapproximability result for $J||C_{max}$. Provide an inapproximability result for $J||C_{max}$ whose value grows with the number $m$ of machines to infity.&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;Design a PTAS for $J2||C_{max}$ for the case where $\mu$ is part of the input; or disprove the existence of such a PTAS under P$\ne$NP.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Dissertation by Svensson &quot;Approximability of Some Classical Graph and Scheduling Problems&quot; contains results showing that $J||C_{max}$ cannot be approximated within $O((\log lb)^{1-\epsilon})$ assuming $NP\subseteq ZTIME(2^{\log n^{O(1/\epsilon)}})$ and that $J2||C_{max}$ has no PTAS unless $NP\subseteq DTIME(n^{O(\log n)})$.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Total job completion time without precedence constraints&lt;/h2&gt;&#xA;&#xA;&lt;h2&gt;Total job completion time under precedence constraints&lt;/h2&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Open problem 9. Prove that $1|prec|\sum C_j$ and $1|prec|\sum w_jC_j$ do not have polynomial time approximation algorithms with performance guarantee $2−\epsilon$ unless P=NP.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;In &quot;Optimal long code test with one free bit&quot; Bansal and Khot proved that it is so, but assuming a new variant of the unique games conjecture.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Flow time criteria&lt;/h2&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Open problem 10. Design polynomial time approximation algorithms with constant performance guarantees for $1|pmtn;r_j|\sum w_jF_j$ and for $P|pmtn;r_j|\sum F_j$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;In &quot;Weighted ﬂow time does not admit $O(1)$-competitive algorithms&quot; Bansal and Chan proved that $1|pmtn;r_j|\sum w_jF_j$ &quot;does not admit $O(1)$-competitive algorithms&quot;. Interestingly, the authors don't cite the paper of Schuurman and Woeginger.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In &quot;Minimizing Average Flow-time: Upper and Lower Bounds&quot; Garg and Kumar proved a lower bound $\Omega(\sqrt{\frac{\log P}{\log\log P}})$ on the approximation ratio for $P|pmtn;r_j|\sum F_j$. Later this bound was improved to $\Omega(\frac{\log P}{\log\log P})$ in &quot;Minimizing Total Flow-Time: The Unrelated Case&quot; by Garg, Kumar and Muralidhara.&lt;/p&gt;&#xA;" OwnerUserId="1060" LastEditorUserId="1060" LastEditDate="2011-01-20T13:54:52.763" LastActivityDate="2011-01-20T13:54:52.763" CommentCount="0" CommunityOwnedDate="2010-09-13T22:44:37.733" ContentLicense="CC BY-SA 2.5" />
  <row Id="1276" PostTypeId="1" AcceptedAnswerId="1277" CreationDate="2010-09-13T23:37:19.500" Score="2" ViewCount="1542" Body="&lt;p&gt;Lets define &lt;strong&gt;polygonal triangulation&lt;/strong&gt; a triangulation which has a hamiltonian cycle.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's easy to see that any polygonal triangulation is &lt;em&gt;3-colorable&lt;/em&gt; since any triangulation of a polygon is &lt;em&gt;3-colorable&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is any &lt;em&gt;3-colorable&lt;/em&gt; triangulation also polygonal triangulation? &#xA;In other words, is any 3-colorable maximal planar graph hamiltonian?&lt;/p&gt;&#xA;" OwnerUserId="896" LastEditorUserId="896" LastEditDate="2010-09-14T07:46:46.973" LastActivityDate="2010-09-14T07:46:46.973" Title="polygonal triangulation and 3-colorability" Tags="&lt;graph-theory&gt;&lt;cg.comp-geom&gt;" AnswerCount="2" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1277" PostTypeId="2" ParentId="1276" CreationDate="2010-09-13T23:53:05.453" Score="12" Body="&lt;p&gt;You seem to be confusing two concepts: triangulations of simple polygons are maximal outerplanar graphs (and every maximal outerplanar graph is Hamiltonian); maximal planar graphs are something else.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But anyway: no.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A maximal planar graph is 3-colorable iff it is Eulerian (if it is not Eulerian, then the odd wheel surrounding a single odd vertex requires four colors, and if it is Eulerian then a 3-coloring may be obtained by coloring a triangle and then extending the coloring in the obvious way to adjacent triangles).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For an example of an Eulerian maximal planar graph that is not Hamiltonian, glue nine octahedra together: one in the center and one attached to each of its faces. The dihedral angle of a regular octahedron is less than 120 degrees so there's plenty of room to do this without even having to distort anything.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If the graph of this polyhedron could have a Hamiltonian cycle, then it would visit the central octahedron's six vertices in an order that is also a Hamiltonian cycle, together with six paths connecting those six vertices. But each of those six paths can only visit one of the eight side octahedra that are glued onto the center, so two of the side octahedra must remain unvisited, contradicting the Hamiltonicity of the cycle.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2010-09-13T23:53:05.453" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1278" PostTypeId="1" AcceptedAnswerId="1291" CreationDate="2010-09-14T00:51:57.683" Score="1" ViewCount="468" Body="&lt;p&gt;Perfect Matching problem is polynomial time solvable in general graphs.&#xA;Given undirected simple graph, &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is the problem of finding two perfect matching with minimum shared edges between them efficiently solvable?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Shared edge is an edge that occurs in both perfect matchings.&lt;/p&gt;&#xA;" OwnerUserId="495" LastActivityDate="2010-09-14T09:29:54.690" Title="Complexity of two perfect matchings with minimum shared edges?" Tags="&lt;cc.complexity-theory&gt;&lt;matching&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1279" PostTypeId="2" ParentId="1276" CreationDate="2010-09-14T00:59:30.193" Score="2" Body="&lt;p&gt;(This really is a comment on the prior answer.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If one has a maximal plane graph where all of the 3-circuits bound faces then the graph has a hamiltonian circuit by a theorem due to Hassler Whitney. Whitney's Theorem is a special case of Tutte's Theorem that every planar 4-connected graph has a hamiltonian circuit. If one starts with a maximal planar graph which has more faces than vertices (the graph of the regular octahedron for example) and erects a &quot;pyramid&quot; on each face, then the resulting graph will have no hamiltonian circuit. This &quot;trick&quot; (sometimes called constructing the Kleetope) was used by Victor Klee in a similar fashion on higher dimensional polytopes (erecting pyramids on the facets) to construct non-hamiltonian d-polytopes.  &lt;/p&gt;&#xA;" OwnerUserId="987" LastActivityDate="2010-09-14T00:59:30.193" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="1280" PostTypeId="2" ParentId="1226" CreationDate="2010-09-14T01:23:10.247" Score="7" Body="&lt;p&gt;Finding a minimum degree MST. It is np-hard as finding a hamiltonian path is a special case. A local search algorithm gives to within an additive constant 1.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Reference&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.136.1089&quot;&gt;Approximating the minimum-degree Steiner tree to within one of optimal&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="372" LastActivityDate="2010-09-14T01:23:10.247" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1281" PostTypeId="2" ParentId="1263" CreationDate="2010-09-14T02:23:59.020" Score="7" Body="&lt;p&gt;It seems like no one has answered your addendum, so I'll take a shot at it:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;If I may extend the question a bit in this addendum: Is it the case that a TM with access to a pure source of randomness (an oracle?), can compute a function that a classical TM cannot?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I'm going to try to make the question more precise, and then answer it. (My version might not be what you had in mind though, so let me know if it isn't.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We have a deterministic TM with access to a random number generator. This TM now computes some function (an actual function, i.e., a deterministic map from an input space to an output space) making use of the random number generator in some way. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;So is the TM with access to randomness allowed to make error? If not, then the DTM must give the correct answer no matter what random bits it was supplied. In this case the random bits are unnecessary, as you could just take the random string to be 00000...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If the DTM is allowed to make error, but should get the right answer more often than random guessing, then we can still do without the randomness source. This DTM computes the function $f_i(x,r)$, where x is the input, r is the random string it got from the oracle, and the $f_i$s are the bits of the output. The DTM can now loop over all possible strings $r$ and see what the majority output is, and output that.&lt;/p&gt;&#xA;" OwnerUserId="206" LastActivityDate="2010-09-14T02:23:59.020" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="1282" PostTypeId="2" ParentId="174" CreationDate="2010-09-14T02:25:24.407" Score="15" Body="&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/K-server_problem&quot;&gt;K-server conjecture&lt;/a&gt; and randomized K-server conjecture. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Definition according to wikipedia&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An online algorithm must control the movement of a set of k servers, represented as points in a metric space, and handle requests that are also in the form of points in the space. As each request arrives, the algorithm must determine which server to move to the requested point. The goal of the algorithm is to keep the total distance all servers move small, relative to the total distance the servers could have moved by an optimal adversary who knows in advance the entire sequence of requests.&lt;/p&gt;&#xA;" OwnerUserId="372" LastEditorUserId="1037" LastEditDate="2012-01-26T23:49:14.653" LastActivityDate="2012-01-26T23:49:14.653" CommentCount="0" CommunityOwnedDate="2010-09-14T02:25:24.407" ContentLicense="CC BY-SA 3.0" />
  <row Id="1283" PostTypeId="2" ParentId="1226" CreationDate="2010-09-14T02:29:02.080" Score="16" Body="&lt;p&gt;Vertex Cover : The &lt;a href=&quot;http://en.wikipedia.org/wiki/Vertex_cover#Approximate_evaluation&quot;&gt;best constant factor approximation algorithm&lt;/a&gt; involves (greedily) finding a maximal matching and picking all the vertices involved as the approximate solution. This yields a 2-approximate solution, and &lt;a href=&quot;http://en.wikipedia.org/wiki/Vertex_cover#Inapproximability&quot;&gt;no better constant-factor approximation is possible&lt;/a&gt; unless the Unique Games Conjecture is false.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Subhash Khot and Oded Regev, &lt;a href=&quot;http://dx.doi.org/10.1016%2Fj.jcss.2007.06.019&quot;&gt;Vertex cover might be hard to approximate to within 2−ε&lt;/a&gt;, JCSS 74(3), 2008.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Off topic : I think this is a really cute approximation algorithm, especially since it is oh-so-trivial with the benefit of hindsight.&lt;/p&gt;&#xA;" OwnerUserId="148" LastActivityDate="2010-09-14T02:29:02.080" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="1284" PostTypeId="1" CreationDate="2010-09-14T02:56:26.747" Score="64" ViewCount="2000" Body="&lt;p&gt;When designing an algorithm for a new problem, if I can't find a polynomial time algorithm after a while, I might try to prove it is NP-hard instead. If I succeed, I've explained why I couldn't find the polynomial time algorithm. It's not that I know for sure that P != NP, it's just that this is the best that can be done with current knowledge, and indeed the consensus is that P != NP.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Similarly, say I've found a polynomial-time solution for some problem, but the running time is $O(n^2)$. After a lot of effort, I make no progress in improving this. So instead, I might try to prove that it is 3SUM-hard instead. This is usually a satisfactory state of affairs, not because of my supreme belief that 3SUM does indeed require $\Theta(n^2)$ time, but because this is the current state of the art, and a lot of smart people have tried to improve it, and have failed. So it's not my fault that it's the best I can do.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In such cases, the best we can do is a hardness result, in lieu of an actual lower bound, since we don't have any super-linear lower bounds for Turing Machines for problems in NP.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a uniform set of problems that can be used for all polynomial running times? For example, if I want to prove that it is unlikely that some problem has an algorithm better than $O(n^7)$, is there some problem X such that I can show it is X-hard and leave it at that?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Update&lt;/strong&gt;: This question originally asked for families of problems. Since there aren't that many families of problems, and this question has already received excellent examples of individual hard problems, I'm relaxing the question to any problem that can be used for polynomial-time hardness results. I'm also adding a bounty to this question to encourage more answers.&lt;/p&gt;&#xA;" OwnerUserId="206" LastEditorUserId="206" LastEditDate="2010-11-05T23:37:57.407" LastActivityDate="2020-02-10T09:53:31.713" Title="Problems that can be used to show polynomial-time hardness results" Tags="&lt;cc.complexity-theory&gt;&lt;lower-bounds&gt;&lt;conditional-results&gt;" AnswerCount="5" CommentCount="6" FavoriteCount="28" ContentLicense="CC BY-SA 2.5" />
  <row Id="1285" PostTypeId="1" AcceptedAnswerId="1293" CreationDate="2010-09-14T03:31:18.077" Score="16" ViewCount="776" Body="&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/LOGCFL&quot;&gt;LogCFL&lt;/a&gt; is the set of all languages that are logspace reducible to a context-free language. Similarly, LogDCFL is the set of all languages that are logspace reducible to a deterministic context-free language. See this &lt;a href=&quot;http://en.wikipedia.org/wiki/LOGCFL&quot;&gt;wikipedia article&lt;/a&gt; for some natural LogCFL-complete problems. There are several other interesting LogCFL-complete problems. I could not find any natural LogDCFL-complete problems. Name any natural LogDCFL-complete problem.&lt;/p&gt;&#xA;" OwnerUserId="344" LastActivityDate="2012-12-13T18:28:05.423" Title="LogDCFL-complete problems" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="1287" PostTypeId="2" ParentId="1284" CreationDate="2010-09-14T05:20:31.983" Score="39" Body="&lt;p&gt;Yes, the best known algorithm for $k$-SUM runs in $O(n^{\lceil k/2 \rceil})$ time, so it's very possible that you could argue some $n^7$ problem is difficult, because if it's in $n^{6.99}$ then you can solve $14$-SUM faster. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note the $k$-SUM problem gets &quot;easier&quot; as $k$ increases: given an improved algorithm for $k$-SUM, it's fairly easy to get an improved algorithm for $2k$-SUM: take all $O(n^2)$ pairs of $n$ numbers in your given $2k$-SUM instance, replacing each pair with the sum of the two, and look for a sum of $k$ numbers out of those that equal $0$. Then, an $O(n^{k/2-\varepsilon})$ algorithm for $k$-SUM implies an $O(n^{k-2\varepsilon})$ algorithm for $2k$-SUM. Put another way, a tight lower bound for $2k$-SUM is a stronger assumption than a tight lower bound for $k$-SUM.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another candidate for a hard problem is $k$-Clique. &lt;a href=&quot;https://cstheory.stackexchange.com/questions/609/what-are-the-best-known-upper-bounds-and-lower-bounds-for-computing-olog-n-cliq/614#614&quot;&gt;See my $O(\log n)$-Clique answer for more on that&lt;/a&gt;. If you can show (for example) that a better algorithm for your problem implies an $O(n^2)$ algorithm for $3$-clique, then a super-breakthrough would be required to improve on your algorithm. Parameterized complexity gives many examples of other problems like this: $k$-Clique is hard for the class $W\[1\]$, and $k$-SUM is hard for $W\[2\]$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let me warn you that although problems like this are very convenient to work with, problems like $3$-SUM are &lt;em&gt;not&lt;/em&gt; among the &quot;hardest&quot; in $TIME[n^2]$, e.g., it is very unlikely that every problem in $TIME[n^2]$ can actually be linear-time reduced to $3$-SUM. This is because $3$-SUM can be solved with $O(\log n)$ bits of nondeterminism in linear time, so if everything in quadratic time can be reduced to $3$-SUM, then $P \neq NP$ and other fantastic consequences results. More on this point can be found in the article &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=181465&quot; rel=&quot;noreferrer&quot;&gt;&quot;How hard are $n^2$-hard problems?&quot;&lt;/a&gt; (At some point, &quot;3SUM-hard&quot; was called &quot;$n^2$-hard&quot;; this SIGACT article rightly complained about that name.) &lt;/p&gt;&#xA;" OwnerUserId="225" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:30.623" LastActivityDate="2010-09-14T05:20:31.983" CommentCount="6" ContentLicense="CC BY-SA 2.5" />
  <row Id="1288" PostTypeId="2" ParentId="1284" CreationDate="2010-09-14T06:18:00.560" Score="9" Body="&lt;p&gt;Hopcroft's problem is conjectured to require $\Theta(n^{4/3})$ time: Given a set of $n$ points and a set of $n$ lines in the plane, does any point lie on any line?&lt;/p&gt;&#xA;" OwnerUserId="111" LastActivityDate="2010-09-14T06:18:00.560" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="1289" PostTypeId="1" CreationDate="2010-09-14T08:36:08.930" Score="4" ViewCount="3935" Body="&lt;p&gt;I am trying to work on Cutting Stock Problem. I have seen some algorithm. Can anybody suggest the best 2D cutting stock problem algorithm?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am looking for kind of best acceptable solution for 2D Glass Cutting problem. The constraints/features for this are as follows: Input to this problem is a set of Large Rectengular Glass Sheets (say approximately 100) with varied Length and Breaths called stocks. Requirement is cut Rectengular Glass pieces out of them (say approximately 200) with varied length and breadth. All (stocks &amp;amp; output sheets) are rectangular. Also,cuts has to be guillotine cuts that mean each cut has to be end to end. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Example of input:Stock (200 X 100 X 10, 200 X 90 X 5, etc), Required Glasses (50 X 50 X 8, 50 X 40 X 8, etc) in format of (Length X Width X No of sheets)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is small history of my approach for the problem: &#xA;I wrote algorithm which would in following 4 passes:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Pass1: Take One Stock. Create a tree with all cuts possible for all the public required glasses. Also, I could rotate the glass. This step created a huge tree and is exponential.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Pass2: Iterate Pass2 for all the stocks. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Pass3: Iterate each of the tree and covert the problem into ILP problem, as is done for 1D-CSP.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Pass4: Solve the ILP to get the best solution.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem with this approach is that at the first step itself the tree becomes so huge for big number of required glasses that it could not be completed in desired amount of time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hope this helps, please let me know if extra information is required.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Regards Sandeep Jindal&lt;/p&gt;&#xA;" OwnerUserId="330" LastEditorUserId="330" LastEditDate="2010-09-17T14:13:30.647" LastActivityDate="2010-09-17T14:13:30.647" Title="2D Cutting Stock Problem for Glass - Details mentioned" Tags="&lt;ds.algorithms&gt;&lt;ds.data-structures&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="1290" PostTypeId="1" AcceptedAnswerId="1292" CreationDate="2010-09-14T09:03:16.483" Score="12" ViewCount="1513" Body="&lt;p&gt;What useful algorithms do there exist that work on huge data streams and also their results are fairly small and one can compute the result for a mixture of two streams by somehow merging their results?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I can name a few:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The obvious things like sum, min, max, count, top-K etc.&lt;/li&gt;&#xA;&lt;li&gt;Approximate so called &quot;sketch-based&quot; stream algorithms for histograms, counting distinct items or computing quantiles&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;What others are there?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(I'm interested because I'm writing a hobby project for monitoring distributed systems whose usefulness is directly determined by the usefulness of such algorithms)&lt;/p&gt;&#xA;" OwnerUserId="326" LastEditorUserId="326" LastEditDate="2010-09-14T09:35:58.620" LastActivityDate="2011-05-10T17:19:16.037" Title="&quot;Divide and conquer&quot; data stream algorithms" Tags="&lt;ds.algorithms&gt;&lt;big-list&gt;&lt;data-streams&gt;" AnswerCount="6" CommentCount="1" FavoriteCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1291" PostTypeId="2" ParentId="1278" CreationDate="2010-09-14T09:29:54.690" Score="10" Body="&lt;p&gt;Consider a 3-regular graph $G = (V,E)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If there is an edge colouring of $G$ with 3 colours, then you have a partition of $E$ in 3 disjoint perfect matchings. In particular, you can find 2 disjoint perfect matchings.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Conversely, if you can find two disjoint perfect matchings $M_1$ and $M_2$, you can also find a third disjoint perfect matching $M_3 = E \setminus (M_1 \cup M_2)$. The partition $\{M_1, M_2, M_3\}$ of $E$ is an edge colouring of $G$ with 3 colours.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Deciding if a 3-regular graph has an edge colouring with 3 colours is NP-hard (&lt;a href=&quot;http://dx.doi.org/10.1137%2F0210055&quot; rel=&quot;noreferrer&quot;&gt;Holyer 1981&lt;/a&gt;). Hence it is also NP-hard to decide if there are two disjoint perfect matchings (i.e., to decide if the minimum number of shared edges is 0).&lt;/p&gt;&#xA;" OwnerUserId="74" LastActivityDate="2010-09-14T09:29:54.690" CommentCount="9" ContentLicense="CC BY-SA 2.5" />
  <row Id="1292" PostTypeId="2" ParentId="1290" CreationDate="2010-09-14T11:45:28.573" Score="9" Body="&lt;p&gt;&lt;a href=&quot;http://www.computer.org/portal/web/csdl/doi/10.1109/TKDE.2003.1198387&quot;&gt;Guha et al. '03&lt;/a&gt; give an approximation algorithm for k-median clustering in the streaming model.  Their algorithm divides the data into disjoint pieces, finds O(k) centers for each disjoint piece, and then combines the results to get the k centers.  This seems to be the type of algorithm you're looking for.&lt;/p&gt;&#xA;" OwnerUserId="123" LastEditorUserId="123" LastEditDate="2010-09-14T13:25:36.137" LastActivityDate="2010-09-14T13:25:36.137" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1293" PostTypeId="2" ParentId="1285" CreationDate="2010-09-14T11:51:35.723" Score="12" Body="&lt;p&gt;The following language is a slight tweak of the usual LogCFL complete one so that it is LogDCFL complete.  The proof can be found in Sudborough's On the Tape Complexity of Deterministic Context-Free Languages.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $\Sigma = \{(_1,(_2,)_1, )_2\}$ and $T = \{[,],|\}$.  The following language over $\Sigma \cup T$ is LogDCFL-complete.  $L$ consists of words $$w_0\left[(_1l_1|(_2r_1\right]\ldots\left[(_1l_n|(_2r_n\right]$$ where $w_0, l_i, r_i \in \Sigma^*$ such that there exists $w_1, \ldots, w_n$ with $w_i = (_1l_i$ or $w_i = (_2r_i$ for all $i \geq 1$ and $w_0w_1\ldots w_n$ is parenthetically correct.&lt;/p&gt;&#xA;" OwnerUserId="88" LastEditorUserId="88" LastEditDate="2010-09-14T13:22:08.050" LastActivityDate="2010-09-14T13:22:08.050" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1294" PostTypeId="2" ParentId="1198" CreationDate="2010-09-14T13:29:06.350" Score="52" Body="&lt;p&gt;Timothy Gowers has a &lt;a href=&quot;http://www.sms.cam.ac.uk/collection/545358;jsessionid=53925A3FEE89D7505565619066A413C8&quot;&gt;set of videos on Computational Complexity and Quantum Computation&lt;/a&gt; online.&lt;/p&gt;&#xA;" OwnerUserId="792" LastActivityDate="2010-09-14T13:29:06.350" CommentCount="4" CommunityOwnedDate="2010-09-14T13:29:06.350" ContentLicense="CC BY-SA 2.5" />
  <row Id="1295" PostTypeId="1" AcceptedAnswerId="1305" CreationDate="2010-09-14T14:05:52.407" Score="21" ViewCount="2784" Body="&lt;p&gt;Could anyone please point to one or more websites where is possible to download a working implementation of a #SAT solver? I'm interested in those returning the exact solution count, not an approximation.&lt;/p&gt;&#xA;" OwnerUserId="947" LastEditorUserId="123" LastEditDate="2019-09-25T01:39:36.743" LastActivityDate="2019-09-25T01:39:36.743" Title="#SAT Solver download" Tags="&lt;ds.algorithms&gt;&lt;sat&gt;&lt;software&gt;" AnswerCount="10" CommentCount="4" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="1296" PostTypeId="2" ParentId="1290" CreationDate="2010-09-14T14:27:10.130" Score="7" Body="&lt;p&gt;The paper by &lt;a href=&quot;http://arxiv.org/abs/cs.CG/0307027&quot;&gt;Bagchi, Chaudhary, Eppstein and Goodrich&lt;/a&gt; solves a number of streaming geometric problems using an underlying subroutine for computing $\varepsilon$-nets and $\varepsilon$-approximations of appropriately chosen range spaces. This subroutine makes use of the additive structure of these objects by developing a hierarchical scheme to compute them (where the virtual $i^{\text{th}}$ level stream aggregates the blocks in the virtual $(i-1)^{\text{th}}$-level stream, and level 0 is the original stream). This is essentially a bottom up rendering of a divide and conquer strategy. with updates along the &quot;edge&quot; of the recursion tree. In structure, it's very similar to the Guha et al paper mentioned by Lev. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2010-09-14T14:27:10.130" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1297" PostTypeId="2" ParentId="189" CreationDate="2010-09-14T14:32:16.433" Score="13" Body="&lt;p&gt;The &lt;a href=&quot;http://en.wikipedia.org/wiki/Semidefinite_programming#Example_3_.28Goemans-Williamson_MAX_CUT_approximation_algorithm.29&quot;&gt;Goemans-Williamson algorithm&lt;/a&gt; for MAX-CUT. It was one of the first SDP rounding schemes to be analyzed, and uses a simple geometric fact that seems totally unrelated to the problem at first sight.&lt;/p&gt;&#xA;" OwnerDisplayName="user555" LastActivityDate="2010-09-14T14:32:16.433" CommentCount="0" CommunityOwnedDate="2010-09-14T14:32:16.433" ContentLicense="CC BY-SA 2.5" />
  <row Id="1298" PostTypeId="1" CreationDate="2010-09-14T15:00:58.413" Score="23" ViewCount="974" Body="&lt;p&gt;Is BQP equal to BPP with access to an Abelian hidden subgroup oracle?&lt;/p&gt;&#xA;" OwnerUserId="1128" LastEditorUserId="80" LastEditDate="2010-09-14T15:15:30.570" LastActivityDate="2017-04-30T23:22:12.160" Title="Is BQP equal to BPP with access to an Abelian hidden subgroup oracle?" Tags="&lt;complexity-classes&gt;&lt;quantum-computing&gt;" AnswerCount="3" CommentCount="2" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="1299" PostTypeId="2" ParentId="1298" CreationDate="2010-09-14T15:40:47.537" Score="15" Body="&lt;p&gt;I have no idea how one would disprove a claim like that, but I doubt that it's true. We do have other exponential speedups by quantum algorithms that don't rely on the Abelian HSP. Moreover, Abelian HSP is not known to be BQP-complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, problems which are known to be BQP-complete are problems like computing Knot invariants, other manifold invariants, partition functions and doing Hamiltonian simulation. With an oracle for any of &lt;em&gt;these&lt;/em&gt; problems, BPP would be as powerful as BQP.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, I'm sure one can construct an oracle separation between the two classes you mention, but that would not be a fair way to compare them since one class can make quantum queries and the other cannot, so the separation would merely reflect this fact.&lt;/p&gt;&#xA;" OwnerUserId="206" LastActivityDate="2010-09-14T15:40:47.537" CommentCount="7" ContentLicense="CC BY-SA 2.5" />
  <row Id="1300" PostTypeId="1" AcceptedAnswerId="1303" CreationDate="2010-09-14T16:24:47.463" Score="11" ViewCount="2681" Body="&lt;p&gt;I found a paper titled &quot;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.55.9005&amp;amp;rep=rep1&amp;amp;type=ps&quot; rel=&quot;noreferrer&quot;&gt;Factoring integers and computing discrete logarithms via diophantine approximation&lt;/a&gt;&quot; by C. P. Schnorr from 1993.  It looks like a probabilistic method with expected polynomial run time (and space) is presented to do integer factorization.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;From the paper: &quot;A scenario for factoring $N \approx 2^{512} $ ... The corresponding lattice problem is unfeasible for the presently known lattice reduction algorithms.  We have no experience with lattice basis reduction for lattices with dimension 6300.  Moreover the bit length of the input vectors is at least 1500.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I take this to mean that the algorithm presented is polynomial but the exponent and factors are so large that it makes it computationally impractical for current technology.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can anyone weigh in on this?  Is this paper legitimate?  Isn't this huge news if it is?  Doesn't this mean that integer factoring is likely in P?  Have people been progressing towards making lattice reduction algorithms more tractable?&lt;/p&gt;&#xA;" OwnerUserId="834" LastEditorUserId="834" LastEditDate="2011-05-11T05:50:33.650" LastActivityDate="2021-03-04T10:37:13.193" Title="Integer Factoring via Lattice Reduction?" Tags="&lt;ds.algorithms&gt;&lt;approximation-algorithms&gt;&lt;integer-programming&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="1301" PostTypeId="1" CreationDate="2010-09-14T16:40:58.183" Score="8" ViewCount="2866" Body="&lt;p&gt;The following decision problem is called k-True-Monotone-2SAT:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Given a 2-CNF boolean formula $F$ that does not contain any negated variables&#xA;  and given a positive integer $k$, can $F$ be satisfied by setting $k$ or fewer&#xA;  variables to true?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;It is NP-complete: it's easy to see a straightforward reduction from Vertex Cover to it (i.e. can we cover all the edges with $k$ or fewer nodes?).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The following decision problem is called Monotone-2SAT:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Given a 2-CNF boolean formula $F$ that does not contain any negated variables, is it satisfiable?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;As a decision problem, Monotone-2SAT is trivial. The answer is always YES: just set every variable to true.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But consider its counting version, called #Monotone-2SAT:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Given a 2-CNF boolean formula $F$ that does not contain any negated variables, how many satisfying assignments $F$ has?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Surprisingly, #Monotone-2SAT is #P-complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now here is the question. Suppose we have an oracle for #Monotone-2SAT, which returns the exact solution count of a Monotone-2SAT formula: how such solution count can be used to solve k-True-Monotone-2SAT?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm asking this because I do not immediately see how the solution count may give information on how many solutions have k or less literals set to true and how many don't.&lt;/p&gt;&#xA;" OwnerUserId="947" LastEditorUserId="947" LastEditDate="2010-09-15T07:34:37.437" LastActivityDate="2010-09-20T12:53:51.033" Title="Monotone-2SAT and Vertex Cover" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;sat&gt;" AnswerCount="2" CommentCount="9" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="1302" PostTypeId="2" ParentId="1300" CreationDate="2010-09-14T16:42:59.487" Score="9" Body="&lt;p&gt;The paper presents a reduction from factoring to a lattice problem. It doesn't go on to claim that the lattice problem can be solved in (probabilistic) polynomial time. My understanding is that Schnorr's assertion instead is that fast &lt;strong&gt;implementations&lt;/strong&gt; for finding short vectors in lattices (independently studied, like LLL etc) can then be employed for fast &lt;strong&gt;implementations&lt;/strong&gt; of factoring solutions (akin in spirit to how SAT solvers can often be used as a fast subroutine for solving other hard problems)&lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2010-09-14T16:42:59.487" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1303" PostTypeId="2" ParentId="1300" CreationDate="2010-09-14T16:44:58.763" Score="12" Body="&lt;p&gt;I am not an expert in lattice problems, but I do know the exact-case problem, Shortest Vector Problem (SVP), is NP-hard. In this paper, Schnorr appears to reduce integer factorization to some form of the approximation version of Closest Vector Problem ($\gamma$-CVP), where CVP is a generalization of SVP. However, I do not believe there are known polynomial time algorithms for this.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some known facts about $\gamma$-CVP:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Arora, et al (&lt;a href=&quot;http://www.di.ens.fr/~stern/data/St49b.pdf&quot;&gt;PDF&lt;/a&gt;), show that approximating the closest vector within any constant is NP-hard. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, they show that, for $\epsilon &gt; 0$, if you can approximate the closest vector within a &lt;em&gt;factor&lt;/em&gt; of $2^{\log^{\frac{1}{2} - \epsilon}{n}}$ in polynomial time, then any problem in NP can be solved in quasi-polynomial time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Dinur, et al (&lt;a href=&quot;http://portal.acm.org/citation.cfm?id=1005180.1005182&quot;&gt;ACM Citation&lt;/a&gt;), later strengthened the inapproximability result to:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For $\epsilon &gt; 0$, approximately finding the closest vector within a factor $n^{\frac{\epsilon}{\log\log{n}}}$ is NP-hard.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Although I'm unfamiliar with Schnorr's work, what we know of lattice problems would lead me to believe that this is not intended to lead to a polynomial-time algorithm directly. Rather, Schnorr spends some deal of time talking about actual implementations (e.g. running this program on such-and-such computer takes approximately so many weeks/months/years/eons).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;P.S. As Suresh points out, it appears to be an effort to get &quot;quick enough&quot; or &quot;quicker&quot; run times for integer factorization, despite the complexity.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;P.P.S. And if I can make a further conjecture: Given that Schnorr's paper pre-dates the work on hardness of approximating lattice problems, it's likely that there was some original hope that it might have led to a polynomial-time algorithm for integer factorization. In light of Arora et al and Dinur et al, however, it's clear that there's not a solution (or at least, a straightforward solution) along that route, however.&lt;/p&gt;&#xA;" OwnerUserId="108" LastEditorUserId="108" LastEditDate="2010-09-14T16:56:00.910" LastActivityDate="2010-09-14T16:56:00.910" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="1304" PostTypeId="1" AcceptedAnswerId="2118" CreationDate="2010-09-14T16:57:34.900" Score="28" ViewCount="937" Body="&lt;p&gt;In the black-box model, the problem of determining the output of a BPP machine $M(x,r)$ on input $x$ is the approximate counting problem of determining $E_r M(x,r)$ with additive error 1/3 (say).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a similar problem for BQP? &lt;a href=&quot;http://rjlipton.wordpress.com/2009/08/27/stockmeyers-approximate-counting-method/#comment-1208&quot;&gt;This comment by Ken Regan&lt;/a&gt; suggests such a problem&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;You can reduce a BPP question to approximating a single #P function, but with BQP what you get is the difference of two #P functions, call them $f$ and $g$. Approximating $f$ and $g$ separately does not help you approximate $f - g$ when $f - g$ is near zero!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;BQP does give you a little help: When the answer to the BQP question on an input $x$ is yes, you get that $f(x) - g(x)$ is close to the square root of $2^m$, where the counting predicates defining $f$ and $g$ have m binary variables after you substitute for $x$. (There are no absolute-value bars; “magically” you always get $f(x) &amp;gt; g(x)$. Under common representations of quantum circuits for BQP, $m$ becomes the number of Hadamard gates.) When the answer is no, the difference is close to 0.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Can you precisely formulate such a problem as close as possible to BQP? I am hoping for something like: given black-box access to functions $f,g$ mapping $X$ to $Y$, with the promise that ..., estimate $f-g$ to within $\varepsilon$.&lt;/p&gt;&#xA;" OwnerUserId="259" LastEditorUserId="3964" LastEditDate="2011-08-23T19:54:35.293" LastActivityDate="2011-08-23T19:54:35.293" Title="Approximate counting problem capturing BQP" Tags="&lt;cc.complexity-theory&gt;&lt;quantum-computing&gt;&lt;black-box&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="10" ContentLicense="CC BY-SA 3.0" />
  <row Id="1305" PostTypeId="2" ParentId="1295" CreationDate="2010-09-14T19:18:57.603" Score="16" Body="&lt;p&gt;You can do this with &lt;a href=&quot;http://www.sat4j.org/&quot;&gt;SAT4J&lt;/a&gt;, simply by iterating over all models: &lt;a href=&quot;http://www.sat4j.org/howto.php#models&quot;&gt;http://www.sat4j.org/howto.php#models&lt;/a&gt;. I imagine that most SAT solvers have this ability.&lt;/p&gt;&#xA;" OwnerUserId="77" LastActivityDate="2010-09-14T19:18:57.603" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="1306" PostTypeId="2" ParentId="1263" CreationDate="2010-09-14T20:35:07.420" Score="11" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;Any one who considers arithmetical&#xA;  methods of producing random digits is,&#xA;  of course, in a state of sin.  For, as&#xA;  has been pointed out several times,&#xA;  there is no such thing as a random&#xA;  number — there are only methods to&#xA;  produce random numbers, and a strict&#xA;  arithmetic procedure of course is not&#xA;  such a method. &lt;em&gt;— John von Neumann&lt;/em&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="111" LastActivityDate="2010-09-14T20:35:07.420" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="1307" PostTypeId="1" AcceptedAnswerId="1644" CreationDate="2010-09-14T20:44:14.430" Score="10" ViewCount="463" Body="&lt;p&gt;Many here are probably aware of Alon's recent super-linear lower bounds for $\epsilon$-nets in a natural geometric setting &lt;a href=&quot;http://www.tau.ac.il/~nogaa/PDFS/epsnet3.pdf&quot;&gt;[PDF]&lt;/a&gt;.  I would like to know what, if anything, such a lower bound implies about the approximability of the associated Set Cover/Hitting Set problems.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;To be slightly more specific, consider a family of range spaces, for example, the family:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\big\{(X,\mathcal{R})$ : $X$ is a finite planar point set, $\mathcal{R}$ contains all intersections of $X$ with lines$\big\}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If, for some function $f$ that is linear or super-linear, the family contains a range space that does not admit $\epsilon$-nets of size $f(1/\epsilon)$, what, if anything, does this imply about the Minimum Hitting Set problem restricted to this family of range spaces?&lt;/p&gt;&#xA;" OwnerUserId="196" LastActivityDate="2010-09-24T23:48:48.213" Title="Consequences of lower bounds for $\epsilon$-nets on approximation" Tags="&lt;cg.comp-geom&gt;&lt;set-cover&gt;&lt;hypergraphs&gt;&lt;approximation-hardness&gt;&lt;epsilon-nets&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="1308" PostTypeId="2" ParentId="1298" CreationDate="2010-09-14T21:01:00.217" Score="10" Body="&lt;p&gt;I have to agree with Robin that this is not necessarily an easy claim to disprove, though it is almost certainly false. An immediate reason that makes me doubt it is that post selected quantum computation is equal to PP, and this would seem to hint that the statistics would be difficult to recreate. Scott Aaronson has a &lt;a href=&quot;http://arxiv.org/abs/0910.4698&quot; rel=&quot;nofollow noreferrer&quot;&gt;paper&lt;/a&gt; at STOC showing that there is an oracle relation problem which is solvable in BQP but not PH.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Additionally, Scott also seems to have a &lt;a href=&quot;http://www.scottaaronson.com/talks/newev-qip.ppt&quot; rel=&quot;nofollow noreferrer&quot;&gt;result&lt;/a&gt; showing that efficient classical sampling of the output of boson scattering would imply $BPP^{NP} = P^{\#P}$ (latex won't allow # here), which seems incredibly unlikely. I would think that you will get a similar result even if you allow an Abelian hidden subgroup oracle. Of course this also implies a barrier to deciding your question, since if the Abelian hidden subgroup problem was in P, then an affirmative answer would imply the collapse of the polynomial hierarchy.&lt;/p&gt;&#xA;" OwnerUserId="204" LastEditorUserId="1812" LastEditDate="2017-04-30T23:22:12.160" LastActivityDate="2017-04-30T23:22:12.160" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="1309" PostTypeId="2" ParentId="1304" CreationDate="2010-09-14T21:20:40.787" Score="6" Body="&lt;p&gt;&lt;a href=&quot;http://arxiv.org/abs/quant-ph/0408129v1&quot; rel=&quot;nofollow&quot;&gt;This paper&lt;/a&gt; elaborates on the ideas sketeched above in detail.&lt;/p&gt;&#xA;" OwnerUserId="121" LastActivityDate="2010-09-14T21:20:40.787" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="1310" PostTypeId="1" AcceptedAnswerId="1314" CreationDate="2010-09-14T21:23:20.150" Score="7" ViewCount="279" Body="&lt;p&gt;Several years ago I worked a few days with a collaborator on property testing of triangular property. We end up with a disappointing result that I am sharing here and for which &lt;strong&gt;I am asking if a better result is known, or if you have some ideas about the problem&lt;/strong&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $K_n=(V,E)$ be the complete graph on $n$ vertices and $S$ be a set. Let $\phi:V\times V\rightarrow S$ be a function, and let $1&gt;\epsilon&gt;0$ be a real number.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We are interested in triangular properties, that is properties of triangles (sets of 3 items). Our final goal is to decide with high probability if a set violates &quot;strongly&quot; a triangular property (in the sense of the property testing.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;definition&lt;/strong&gt;&lt;br&gt;&#xA;A triangular property $P$ is a function $P:S^3\rightarrow{0,1}$ that is invariant under permutations.&lt;br&gt;&#xA;The function $\phi$ is said to have the property $P$ if for all triangles ${a,b,c}$ the value $P(\phi(a,b),\phi(b,c),\phi(c,a))$ is equal to 1.&lt;br&gt;&#xA;The function $\phi$ is said to be at least $\epsilon$-far from having property $P$ if for all function $\psi:V\times V\rightarrow S$ having the property $P$ the functions $\phi$ and $\psi$ differ on at least $\epsilon\cdot n^2$ values.&lt;br&gt;&#xA;Two triangles are said to be independent if their intersection is empty.&lt;br&gt;&#xA;A triangle $v$ is said to be bad (with respect to $P$) if $P$ takes the value 0 on it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Our result is a property tester for triangular properties :&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Input&lt;/strong&gt;: a function $\phi:V\times V \rightarrow S$ and a triangular property $P$.&lt;br&gt;&#xA;&lt;strong&gt;Output&lt;/strong&gt;: the answer to whether or not $\phi$ is $\epsilon$-far from having property $P$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) Select a random set of vertices $V'$ of size $\epsilon^{-1/3}n^{2/3}$.&lt;br&gt;&#xA;2) Request all the values of the restriction of $\phi$ to the complete graph $K_{\epsilon^{-1/3}n^{2/3}}$ induced by $V'$&lt;br&gt;&#xA;3) Check on all the triangles whether $P$ is satisfied or not.&lt;br&gt;&#xA;4) Return 0 if a triangle is bad, and 1 otherwise.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;How do we obtain this? the first step is a technical result that gives the proportion of disjoints triangles that violate $P$, then we use a probabilistic argument based on a balls and bins theorem, and the result follow. Clearly this algorithm is far from being optimal. The problem is in the technical result:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The technical result:&lt;br&gt;&#xA;Suppose that $\phi$ is $\epsilon$-far from having property $P$. Let $B$ be a set of vertices so that $\phi$ induces a function that has property $P$ on the restriction of $K_n$ to $V-B$. Then the cardinality of $B$ is greater than $\epsilon\cdot n$.&lt;br&gt;&#xA;Using a $B$ as defined before, There exists a family $C$ of independent triangles in $K_n$ such that&lt;br&gt;&#xA;- each triangle in $C$ is bad,&lt;br&gt;&#xA;- $|C|\geq\lfloor\frac{|B|}{3}\rfloor\geq \frac{\epsilon\cdot n}{3}-1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Clearly, the problem is that our lower bound on the size of $C$ is poor. It is a shame that we have no better bound since the bound on $B$ is great.&lt;br&gt;&#xA;Since we have a bad lower bound on $|C|$, we cannot obtain an interesting complexity for the tester...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, the question is : are you aware of a result on this problem ? And if not, have you got some better ideas that we have ?&lt;/p&gt;&#xA;" OwnerUserId="76" LastEditorUserId="76" LastEditDate="2010-09-14T21:39:35.633" LastActivityDate="2010-09-15T02:14:29.837" Title="Property testing of triangular properties" Tags="&lt;property-testing&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="1311" PostTypeId="2" ParentId="1263" CreationDate="2010-09-14T21:37:38.223" Score="5" Body="&lt;p&gt;Regarding your &quot;edit question&quot;: it makes a big difference if you are asking about computability or complexity.  If there are complexity bounds on the TM, then you obtain the so-called &lt;a href=&quot;http://en.wikipedia.org/wiki/Random_oracle&quot;&gt;random oracle model&lt;/a&gt;.  If the TM can use arbitrarily large-but-finite resources, then you're in the world of &lt;a href=&quot;http://en.wikipedia.org/wiki/Algorithmic_randomness#Relative_randomness&quot;&gt;relative randomness&lt;/a&gt;: there are randomness hierarchies of oracles, much as there are Turing degrees.  (Side point: one of the (in)famous critiques by Koblitz and Menzes was about the use of the random oracle model, so your meta-question is touching on recent academic debates.)&lt;/p&gt;&#xA;" OwnerUserId="30" LastActivityDate="2010-09-14T21:37:38.223" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="1312" PostTypeId="2" ParentId="1301" CreationDate="2010-09-15T00:09:34.380" Score="10" Body="&lt;p&gt;The name “#Monotone-2SAT” usually refers to the problem of counting the satisfying assignments of a given monotone 2CNF formula, without a restriction on the number of variables set to true.  The stated “Monotone 2SAT” problem, or the Vertex Cover problem as is usually called, is &lt;em&gt;not&lt;/em&gt; the decision version of #Monotone-2SAT because of the additional restriction on the number of variables set to true.  (This is certainly unfortunate.)  Therefore, Vertex Cover (or “Monotone 2SAT”) is not reducible to #Monotone-2SAT in the same way as 3SAT is reducible to #3SAT.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that Vertex Cover is clearly in NP and that #Monotone-2SAT is known to be #P-complete (see &lt;a href=&quot;https://cstheory.stackexchange.com/questions/1247/reducing-sat-to-monotone-2sat/1251#1251&quot;&gt;my answer to your previous question&lt;/a&gt; for the reference) and hence NP-hard.  Therefore, Vertex Cover &lt;em&gt;is&lt;/em&gt; reducible to #Monotone-2SAT.  (Note that this does not require the fact that Vertex Cover is NP-complete.)  To construct an actual reduction, you can simply composing several reductions as always.  There may be a simpler reduction than this, but I do not expect that seeking for a simpler reduction gives much insight into either problem.&lt;/p&gt;&#xA;" OwnerUserId="567" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2010-09-15T00:09:34.380" CommentCount="6" ContentLicense="CC BY-SA 2.5" />
  <row Id="1313" PostTypeId="1" AcceptedAnswerId="1318" CreationDate="2010-09-15T01:13:47.510" Score="24" ViewCount="3031" Body="&lt;p&gt;Coppersmith–Winograd algorithm is the asymptotically fastest known algorithm for multiplying two $n \times n$ square matrices. The running time of their algorithm is $O(n^{2.376})$  which is the best known so far. What is the space complexity of this algorithm ? Is it in $\Theta(n^2)$ ?&lt;/p&gt;&#xA;" OwnerUserId="344" LastEditorUserId="2954" LastEditDate="2016-08-18T12:39:25.540" LastActivityDate="2016-08-18T12:39:25.540" Title="Space complexity of Coppersmith–Winograd algorithm" Tags="&lt;ds.algorithms&gt;&lt;matrices&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="1314" PostTypeId="2" ParentId="1310" CreationDate="2010-09-15T01:17:14.743" Score="9" Body="&lt;p&gt;Your problem is well-understood in the case $S = \{0,1\}$.  Here, the function $\phi$ can be viewed as the adjacency matrix of a graph $G_\phi$ on the vertex set $V$.  And $\phi$ satisfying a triangular property $P$ just means that $G_\phi$ is free of some collection $C_P$ of induced subgraphs, each on $3$ vertices.  Now, it is known &lt;a href=&quot;http://www.tau.ac.il/~nogaa/PDFS/testn12.pdf&quot;&gt;[Alon-Fischer-Krivelevich-Szegedy '99]&lt;/a&gt; that any such property is testable (in the property testing sense) with query complexity, independent of $n$, bounded from above by a tower of exponentials of height polynomial in $1/\epsilon$.  In particular, when $P$ is 1 only when its input is $(1,1,1)$, the property corresponds to triangle-freeness in graphs for which the best upper-bound is the tower of exp's I mentioned and the best lower bound is slightly superpolynomial in $1/\epsilon$ &lt;a href=&quot;http://www.tau.ac.il/~nogaa/PDFS/testsubproc.pdf&quot;&gt;[Alon '01]&lt;/a&gt;.  If you want better dependence on $1/\epsilon$ at the cost of perhaps having some dependence on $n$, I don't believe anything much better than what you described is known.  The test you described is more or less folklore.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For arbitrary fixed $S$, I don't know if the testability question has been resolved.  I believe the framework of graph limits, especially the paper &lt;a href=&quot;http://research.microsoft.com/en-us/um/people/jchayes/Papers/TestStoc.pdf&quot;&gt;[Borgs-Chayes-Lovász-Sos-Szegedy-Vesztergombi '06]&lt;/a&gt;, might show testability for hereditary properties of weighted graphs which would imply testability of your triangle properties.  But I don't know this fact for sure.&lt;/p&gt;&#xA;" OwnerUserId="15" LastEditorUserId="15" LastEditDate="2010-09-15T02:14:29.837" LastActivityDate="2010-09-15T02:14:29.837" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="1315" PostTypeId="2" ParentId="1265" CreationDate="2010-09-15T02:05:38.173" Score="1" Body="&lt;p&gt;This web page may have some information of use:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.mathematik.uni-osnabrueck.de/research/OR/class/&quot; rel=&quot;nofollow&quot;&gt;http://www.mathematik.uni-osnabrueck.de/research/OR/class/&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="987" LastActivityDate="2010-09-15T02:05:38.173" CommentCount="0" CommunityOwnedDate="2010-09-15T02:05:38.173" ContentLicense="CC BY-SA 2.5" />
  <row Id="1316" PostTypeId="2" ParentId="1236" CreationDate="2010-09-15T02:12:41.570" Score="1" Body="&lt;p&gt;Arvind, Köbler, Mundhenk, and Torán introduced the notion of time-bounded nondeterministic instance complexity. Based on a quick reading, It seems they use Kolmogorov complexity measure that depends on the size of shortest nondeterministic TM. They were able to prove the existence of hard to prove Tautologies under a notion of hardness based on nondeterministic instance complexity.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Vikraman Arvind, Johannes Köbler, Martin Mundhenk, Jacobo Torán,&#xA;&lt;a href=&quot;http://portal.acm.org/citation.cfm?id=646514.695827&quot; rel=&quot;nofollow&quot;&gt;Nondeterministic Instance Complexity and Hard-to-Prove Tautologies, &lt;/a&gt;&#xA;&lt;a href=&quot;http://portal.acm.org/citation.cfm?id=646514.695827&quot; rel=&quot;nofollow&quot;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="495" LastActivityDate="2010-09-15T02:12:41.570" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1317" PostTypeId="1" CreationDate="2010-09-15T02:44:52.073" Score="20" ViewCount="872" Body="&lt;p&gt;In the paper &quot;A Compendium of Problems Complete for P&quot; by Greenlaw, Hoover and Ruzzo &lt;a href=&quot;ftp://ftp.cs.washington.edu/tr/1991/05/UW-CSE-91-05-01.PS.Z&quot;&gt;(PS)&lt;/a&gt; &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.49.9269&amp;amp;rep=rep1&amp;amp;type=pdf&quot;&gt;(PDF)&lt;/a&gt;, there is a list of problems in P that are not known to be in NC and not known to be P-complete either. (This list subsumes all the open problems in &lt;a href=&quot;http://www2.cs.pitt.edu/~kirk/cs1510/ParallelAlgorithmsSurvey.pdf&quot;&gt;the excellent survey by Karp and Ramachandran&lt;/a&gt;.) The open problems list starts on page 89. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;How many problems from this list have been resolved (i.e., shown to be P-complete or in NC)? I'm guessing not too many have been solved in the last 19 years, so this (hopefully) shouldn't turn into a big-list.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;That's the most recent list I could find. Pointers to a more up-to-date list would also be appreciated!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT: András Salamon points out that there is a textbook by the same authors which has a slightly longer list. &lt;a href=&quot;http://www.cs.armstrong.edu/greenlaw/research/PARALLEL/limits.pdf&quot;&gt;This is a PDF of the book.&lt;/a&gt; The open problems start on page 237.&lt;/p&gt;&#xA;" OwnerUserId="206" LastEditorUserId="206" LastEditDate="2010-09-15T19:46:28.323" LastActivityDate="2015-12-24T17:49:57.807" Title="Problems between NC and P: How many have been resolved from this list?" Tags="&lt;cc.complexity-theory&gt;&lt;open-problem&gt;&lt;circuit-complexity&gt;" AnswerCount="2" CommentCount="3" FavoriteCount="11" ContentLicense="CC BY-SA 2.5" />
  <row Id="1318" PostTypeId="2" ParentId="1313" CreationDate="2010-09-15T03:26:31.243" Score="30" Body="&lt;p&gt;Yes, all algorithms which stem from Strassen's original algorithm (this includes most known $n^{3-\varepsilon}$ algorithms for matrix multiplication, but not all -- see the comments) have space complexity $\Theta(n^2)$. If you could find a $n^{3-\varepsilon}$ time algorithm with $poly(\log n)$ space complexity, this would be a great advance. One application would be a $2^{(1-\varepsilon)n}$ time, $poly(n)$ space algorithm for the Subset-Sum problem. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;However there are some obstacles to such a result. For some computational models, there are fairly strong lower bounds for the time-space product of matrix multiplication. References like &lt;a href=&quot;http://linkinghub.elsevier.com/retrieve/pii/0022000084900291&quot;&gt;Yesha&lt;/a&gt; and &lt;a href=&quot;http://linkinghub.elsevier.com/retrieve/pii/002200009190014V&quot;&gt;Abrahamson&lt;/a&gt; will give you more information.&lt;/p&gt;&#xA;" OwnerUserId="225" LastEditorUserId="225" LastEditDate="2010-09-15T03:53:01.207" LastActivityDate="2010-09-15T03:53:01.207" CommentCount="7" ContentLicense="CC BY-SA 2.5" />
  <row Id="1319" PostTypeId="2" ParentId="1307" CreationDate="2010-09-15T04:26:39.833" Score="5" Body="&lt;p&gt;I'm not sure it does imply anything. The main results flow in the other direction i.e by the &lt;a href=&quot;http://www.cs.jhu.edu/~goodrich/cgc/pubs/cover.ps.gz&quot;&gt;Bronnimann/Goodrich&lt;/a&gt; or &lt;a href=&quot;http://www.eng.tau.ac.il/~guy/Papers/VC.pdf&quot;&gt;Even/Rawitz/Shahar&lt;/a&gt; constructions, a linear sized net implies a constant factor approximation for the hitting set (for bounded VC dimension), &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2010-09-15T04:26:39.833" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1320" PostTypeId="2" ParentId="189" CreationDate="2010-09-15T05:04:20.407" Score="10" Body="&lt;p&gt;The (random projection algorithm implicit in the) Johnson-Lindenstrauss lemma!&lt;/p&gt;&#xA;" OwnerUserId="982" LastActivityDate="2010-09-15T05:04:20.407" CommentCount="0" CommunityOwnedDate="2010-09-15T05:04:20.407" ContentLicense="CC BY-SA 2.5" />
  <row Id="1321" PostTypeId="1" AcceptedAnswerId="1326" CreationDate="2010-09-15T05:36:24.350" Score="20" ViewCount="6329" Body="&lt;p&gt;I have been searching for the most efficient (streaming??) algorithm that tells me the 'k' most frequently occurring elements in a data stream at any point in time. This post: &lt;a href=&quot;https://cstheory.stackexchange.com/questions/1290/divide-and-conquer-data-stream-algorithms&quot;&gt;&amp;quot;Divide and conquer&amp;quot; data stream algorithms&lt;/a&gt; got me interested in it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, suppose there are numbers: (4,3,5,1,6,2,4,3,3,8,9,1) and I query for the 3 most frequently occurring numbers (say), then I should get (3,4,1) as the answer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I tried searching online, but couldn't find any place that gives an approach and says that that is the best. A trivial solution would be to use a heap or a balanced binary tree, but I think there is a better way and I wanted to know if it is documented somewhere.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit: I'm looking for an algorithm that always gives the correct answer as opposed to a appromixation algorithm (many of which pop up in search results) which rely on the distribution of data in some way or other&lt;/p&gt;&#xA;" OwnerUserId="983" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2014-12-01T08:04:57.287" Title="Algorithm for 'k'' most frequently occurring numbers" Tags="&lt;ds.algorithms&gt;&lt;online-algorithms&gt;&lt;data-streams&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="1322" PostTypeId="2" ParentId="1168" CreationDate="2010-09-15T05:44:17.840" Score="7" Body="&lt;p&gt;&lt;a href=&quot;http://www.princeton.edu/~pkrugman/interstellar.pdf&quot; rel=&quot;nofollow&quot;&gt;The theory of &lt;strong&gt;interstellar trade&lt;/strong&gt; by Paul Krugman&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="612" LastEditorUserId="121" LastEditDate="2010-09-15T21:01:42.823" LastActivityDate="2010-09-15T21:01:42.823" CommentCount="3" CommunityOwnedDate="2010-09-15T05:44:17.840" ContentLicense="CC BY-SA 2.5" />
  <row Id="1323" PostTypeId="2" ParentId="1168" CreationDate="2010-09-15T05:46:35.900" Score="44" Body="&lt;p&gt;&lt;a href=&quot;http://arxiv.org/abs/quant-ph/9508027v2&quot;&gt;Polynomial-Time Algorithms for Prime Factorization and Discrete Logarithms on a Quantum Computer - Peter W. Shor&lt;/a&gt; This paper showed that the discrete logarithm problem can be solved in  $O((log N)^3)$ time when the corresponding classical algorithm takes considerably longer specifically $O\left(\exp\left(\left(\begin{matrix}\frac{64}{9}\end{matrix} b\right)^{1\over3} (\log b)^{2\over3}\right)\right)$ which is the runtime of &lt;a href=&quot;http://en.wikipedia.org/wiki/Integer_factorization&quot;&gt;GNFS&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="612" LastEditorUserId="5385" LastEditDate="2011-09-06T01:37:51.567" LastActivityDate="2011-09-06T01:37:51.567" CommentCount="0" CommunityOwnedDate="2010-09-15T05:46:35.900" ContentLicense="CC BY-SA 3.0" />
  <row Id="1324" PostTypeId="2" ParentId="1168" CreationDate="2010-09-15T05:48:10.187" Score="13" Body="&lt;p&gt;&lt;a href=&quot;http://arxiv.org/abs/quant-ph/9605043&quot;&gt;A fast quantum mechanical algorithm for database search&#xA;- Lov K. Grover&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="612" LastActivityDate="2010-09-15T05:48:10.187" CommentCount="0" CommunityOwnedDate="2010-09-15T05:48:10.187" ContentLicense="CC BY-SA 2.5" />
  <row Id="1325" PostTypeId="2" ParentId="1168" CreationDate="2010-09-15T05:50:13.510" Score="4" Body="&lt;p&gt;&lt;a href=&quot;http://arxiv.org/abs/quant-ph/0012090&quot; rel=&quot;nofollow&quot;&gt;&lt;strong&gt;Quantum Walks On Graphs&lt;/strong&gt; &#xA;Authors: Dorit Aharonov, Andris Ambainis, Julia Kempe, Umesh Vazirani&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="612" LastActivityDate="2010-09-15T05:50:13.510" CommentCount="0" CommunityOwnedDate="2010-09-15T05:50:13.510" ContentLicense="CC BY-SA 2.5" />
  <row Id="1326" PostTypeId="2" ParentId="1321" CreationDate="2010-09-15T06:05:54.003" Score="20" Body="&lt;p&gt;There's an extensive literature on this problem. Firstly, even for $k=1$, the problem is hard: as &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=237823&quot; rel=&quot;nofollow&quot;&gt;Alon, Matias and Szegedy&lt;/a&gt; show, you can't get a better than constant factor approximation to the frequency of the most popular element in $o(n)$ space, even if you're willing to be randomized. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, if you're guaranteed that one element occurs strictly more than 50% of the time, then there's a simple trick that uses constant space and will find it (this is a popular google puzzle question). More generally, you can find elements that occur more than $n/k$ times using a generalization of this trick. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A definitive survey of what's known about the problem is the paper by &lt;a href=&quot;http://dimacs.rutgers.edu/~graham/pubs/papers/freq.pdf&quot; rel=&quot;nofollow&quot;&gt;Cormode and Hadjileftheriou from VLDB 2008&lt;/a&gt;. It covers the above methods and many of the latest methods. the general idea is that you can generate an approximate list of the top $k$ items (where approximate here means that you might get items whose counts are close to the counts of the top $k$ items). &lt;/p&gt;&#xA;" OwnerUserId="80" LastEditorUserId="5038" LastEditDate="2014-12-01T08:04:57.287" LastActivityDate="2014-12-01T08:04:57.287" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="1327" PostTypeId="2" ParentId="1295" CreationDate="2010-09-15T07:27:23.340" Score="7" Body="&lt;p&gt;Related topic: &lt;a href=&quot;https://cstheory.stackexchange.com/q/1060/873&quot;&gt;Best SAT Solver&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="873" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2010-09-20T17:38:59.183" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="1328" PostTypeId="1" AcceptedAnswerId="1342" CreationDate="2010-09-15T08:15:31.607" Score="10" ViewCount="515" Body="&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Stratego/XT&quot; rel=&quot;nofollow&quot;&gt;Stratego&lt;/a&gt; is a programming transformation language/Rewriting DSL. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Anthony Sloane has &lt;a href=&quot;http://hal.archives-ouvertes.fr/docs/00/35/02/69/PDF/7.pdf&quot; rel=&quot;nofollow&quot;&gt;done some work&lt;/a&gt; doing an &lt;a href=&quot;http://www.labri.fr/perso/reveille/DSPD/2008/papers/7.pdf&quot; rel=&quot;nofollow&quot;&gt;implementation that runs on Scala&lt;/a&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;What are the theoretical limits of Stratego as a functional language? (regardless of implementation). Could one write an applicative order ycombinator in Stratego?&lt;/p&gt;&#xA;" OwnerUserId="608" LastActivityDate="2010-09-16T06:56:45.860" Title="What are the theoretical limits of the Stratego Programming Language?" Tags="&lt;functional-programming&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="1329" PostTypeId="2" ParentId="1295" CreationDate="2010-09-15T10:35:07.213" Score="11" Body="&lt;p&gt;One option is to use a BDD library, such as &lt;a href=&quot;http://javabdd.sourceforge.net/&quot;&gt;JavaBDD&lt;/a&gt;. All such libraries either have a function that counts solutions fast or, at least, they make it easy to write such a function. The disadvantage, however, is that constructing the BDD will be slow in many cases and may require much memory.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In case your input is in CNF, a simple heuristic that speeds up the construction of the BDD is the following. First, build a small BDD for each clause and put them into a priority queue whose root is the smallest BDD. Second, pop two BDDs, compute AND between them and push the result to the priority queue. Here's the idea: Since computing AND between BDDs of size $m$ and $n$ takes $O(mn)$ in theory but $\sim m+n$ in practice, minimizing the runtime is the same as finding a Huffman code.&lt;/p&gt;&#xA;" OwnerUserId="236" LastActivityDate="2010-09-15T10:35:07.213" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1331" PostTypeId="1" AcceptedAnswerId="1333" CreationDate="2010-09-15T12:45:49.447" Score="2" ViewCount="264" Body="&lt;p&gt;Is there any relationship between the number of vertex covers of a graph $G$ and the permanent of $G$'s adjacency matrix? &lt;/p&gt;&#xA;" OwnerUserId="947" LastEditorUserId="947" LastEditDate="2010-09-15T13:52:07.430" LastActivityDate="2010-09-15T13:52:07.430" Title="Number of Vertex Covers and Permanent" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;graph-theory&gt;" AnswerCount="1" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="1333" PostTypeId="2" ParentId="1331" CreationDate="2010-09-15T13:24:31.470" Score="12" Body="&lt;p&gt;If $G$ has an isolated node, the permanent will be equal to 0.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you know that permanent is 0, it tells extremely little about the number of vertex covers in $G$. You can take any graph $G$ and construct $G'$ by adding an isolated node; the number of vertex covers in $G'$ is exactly 2 times the number of vertex covers in $G$ – which can be virtually anything – while the permanent of $G'$ is 0.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Conversely, if you know the number of vertex covers, you can't tell if the permanent is 0 or not. For example, you can take any graph $G$ with a non-zero permanent and construct two new graphs: $G_1$ is $G$ + a triangle, and $G_2$ is $G$ + two isolated nodes. Both $G_1$ and $G_2$ have exactly 4 times as many vertex covers as $G$. However, $G_1$ will have a non-zero permanent while $G_2$ will have permanent 0.&lt;/p&gt;&#xA;" OwnerUserId="74" LastActivityDate="2010-09-15T13:24:31.470" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1334" PostTypeId="2" ParentId="1284" CreationDate="2010-09-15T14:32:30.083" Score="10" Body="&lt;p&gt;It is believed that the best algorithms for the affine degeneracy problem in $d$-dimensional space run in $O(n^d)$ time. The problem is the following: Given $n$ points in $d$-dimensional space with integer coordinates, do any $d+1$ points lie on a common hyperplane?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The affine degeneracy problem is $(d+1)$-SUM hard. If we plug the conjectured lower bound for $k$-SUM, we  obtain a lower bound of $\Omega(n^{\lfloor d/2 \rfloor +1})$. The conjecture for the complexity of the affine degeneracy problem is much stronger for $d \geq 3$, though.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;J. Erickson, S. Har-Peled, and D. M. Mount, On the Least Median Square Problem, Discrete and Computational Geometry, 36, 593-607, 2006. &lt;a href=&quot;http://www.cs.umd.edu/~mount/Papers/dcg06-lms.pdf&quot;&gt;http://www.cs.umd.edu/~mount/Papers/dcg06-lms.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;J. Erickson and R. Seidel. Better lower bounds on detecting aﬃne and spherical degeneracies. Discrete Comput. Geom., 13:41–57, 1995. &lt;a href=&quot;http://compgeom.cs.uiuc.edu/~jeffe/pubs/degen.html&quot;&gt;http://compgeom.cs.uiuc.edu/~jeffe/pubs/degen.html&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;J. Erickson. New lower bounds for convex hull problems in odd dimensions.&#xA;SIAM J. Comput., 28:1198–1214, 1999. &lt;a href=&quot;http://compgeom.cs.uiuc.edu/~jeffe/pubs/convex.html&quot;&gt;http://compgeom.cs.uiuc.edu/~jeffe/pubs/convex.html&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="169" LastEditorUserId="169" LastEditDate="2010-09-15T21:33:37.977" LastActivityDate="2010-09-15T21:33:37.977" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="1337" PostTypeId="2" ParentId="1263" CreationDate="2010-09-15T17:00:58.703" Score="5" Body="&lt;p&gt;I'm still trying to understand your modified question, especially what limits you place on the TM. So while this answer might not get at exactly what you want, maybe it will help narrow things a bit. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;We know that there is an &lt;strong&gt;unconditional&lt;/strong&gt; impossibility result for approximating to with a subexponential factor the volume of a convex body deterministically (this is an old result by &lt;a href=&quot;http://www.springerlink.com/content/f0th73u5205333r7/&quot;&gt;B&amp;aacute;r&amp;aacute;ny and F&amp;uuml;redi&lt;/a&gt;). In contrast, &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=102782.102783&quot;&gt;we can get an FPRAS&lt;/a&gt; for this problem using sampling. Is this an example of the separation you are looking for ? &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2010-09-15T17:00:58.703" CommentCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="1338" PostTypeId="2" ParentId="1289" CreationDate="2010-09-15T17:09:34.763" Score="9" Body="&lt;p&gt;It sounds like your glass cutting problem is exactly like the 2D guillotine stock cutting problem -- am I correct that there is no difference?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think Macleod et al's O(n^3) &lt;a href=&quot;http://linkinghub.elsevier.com/retrieve/pii/037722179390196T&quot; rel=&quot;noreferrer&quot;&gt;approximation algorithm&lt;/a&gt; from the 1990s is still the best known result with proven optimality bounds for very large instances of this problem, but for only 100-200 pieces the exact algorithm by &lt;a href=&quot;http://www.sciencedirect.com/science?_ob=ArticleURL&amp;amp;_udi=B6VCT-4031R2C-16&amp;amp;_user=4420&amp;amp;_coverDate=05%2F18%2F1995&amp;amp;_rdoc=1&amp;amp;_fmt=high&amp;amp;_orig=search&amp;amp;_origin=search&amp;amp;_sort=d&amp;amp;_docanchor=&amp;amp;view=c&amp;amp;_searchStrId=1462326123&amp;amp;_rerunOrigin=scholar.google&amp;amp;_acct=C000059607&amp;amp;_version=1&amp;amp;_urlVersion=0&amp;amp;_userid=4420&amp;amp;md5=171fafb32c985eb73cdd51be160fa8d1&amp;amp;searchtype=a&quot; rel=&quot;noreferrer&quot;&gt;Christofides and Hadjiconstantinou&lt;/a&gt; should be able to find the optimal solution in reasonable time.  There are also good heuristics for this problem via dynamic programming.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A survey on software solvers for the cutting stock problem was written by Macedo et al &lt;a href=&quot;http://www.scoop-project.net/DOCUMENTI/File/MacedoEtAlii_080715.pdf&quot; rel=&quot;noreferrer&quot;&gt;here&lt;/a&gt; in case you're looking for practical solutions.&lt;/p&gt;&#xA;" OwnerUserId="71" LastEditorUserId="71" LastEditDate="2010-09-16T23:19:32.187" LastActivityDate="2010-09-16T23:19:32.187" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="1339" PostTypeId="2" ParentId="1259" CreationDate="2010-09-15T17:42:07.117" Score="3" Body="&lt;p&gt;I found the following text in [1] (cited below); it shows that---as Ryan pointed out---there must be some function limiting the number of nondeterministic/random inputs; unless it can be judged from other things without ambiguity:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We develop nondeterministic $\mathbf{NC}$ ($\mathbf{NC}$) circuits by uniformly adding guessing gates to families of $\mathbf{LOGSPACE}$-uniform $\mathbf{NC}$ circuits. Let $\mathbf{NNC}(f(n))$ be the class of languages accepted by $\mathbf{LOGSPACE}$-uniform families of $\mathbf{NC}$ circuits with $O(f(n))$ nondeterministic gates or guess gates, where $n$ is the length of the input. We will refer to a circuit from such a family as a uniform $\mathbf{NNC}$ circuit, and such a circuit accepts an input if it outputs a 1. The guessing gates give the circuit a set of guessing inputs, $y$, in addition to the ordinary inputs, $x$. Note that $|x|=n$ and $|y|=f(n)$. An $\mathbf{NNC}$ circuit is said to accept $x$ if and only if there is some string of guessing bits $y$ that causes the circuit to output a 1. Thus, $f(n)$ can be thought of as the maximum number of guess bits used in computations on inputs of length $n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] Wolf, M. J. 1994. Nondeterministic circuits, space complexity and quasigroups. Theor. Comput. Sci. 125, 2 (Mar. 1994), 295-313. DOI= &lt;a href=&quot;http://dx.doi.org/10.1016/0304-3975(92)00014-I&quot; rel=&quot;nofollow&quot;&gt;http://dx.doi.org/10.1016/0304-3975(92)00014-I&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="873" LastActivityDate="2010-09-15T17:42:07.117" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1340" PostTypeId="2" ParentId="1290" CreationDate="2010-09-15T19:59:07.240" Score="6" Body="&lt;p&gt;I've found a paper (&lt;a href=&quot;http://crpit.com/confpapers/CRPITV94Ganguly.pdf&quot;&gt;&quot;Distributing Frequency-Dependent Data Stream Computations&quot;&lt;/a&gt;) that says that &lt;strong&gt;every function of the stream's frequency distribution is mergeable&lt;/strong&gt; (though it does not give an explicit &lt;em&gt;and efficient&lt;/em&gt; construction for the merge operation). And the proof seems to be very interesting, involving some ring theory. Need to read the previous paper by the same author (&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.161.9264&amp;amp;rep=rep1&amp;amp;type=pdf&quot;&gt;&quot;Lower bounds on frequency estimation of data streams&quot;&lt;/a&gt;) whose main result is used as the basis for this one.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This reminds me of the &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.45.2247&amp;amp;rep=rep1&amp;amp;type=pdf&quot;&gt;Third Homomorphism Theorem&lt;/a&gt;... &lt;/p&gt;&#xA;" OwnerUserId="326" LastActivityDate="2010-09-15T19:59:07.240" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="1341" PostTypeId="2" ParentId="1290" CreationDate="2010-09-15T20:18:36.137" Score="4" Body="&lt;p&gt;Research on continuous stream query languages might provide some insight. One such a language is &lt;a href=&quot;http://infolab.stanford.edu/~widom/cql-talk.pdf&quot; rel=&quot;nofollow&quot;&gt;CQL&lt;/a&gt;, which I believe is being adopted by Oracle. The languages allow functions to be computed over sliding windows of the stream (including windows of size 1). This &lt;a href=&quot;http://user.it.uu.se/~udbl/Theses/RobertKajicBSc.pdf&quot; rel=&quot;nofollow&quot;&gt;bachelor's thesis&lt;/a&gt; provides a recent overview of the language, including some examples. This &lt;a href=&quot;http://web.science.mq.edu.au/~rdale/teaching/itec810/2009H1/WorkshopPapers/Dylan_Miran_FinalWorkShopPaper.pdf&quot; rel=&quot;nofollow&quot;&gt;paper&lt;/a&gt; gives an overview of some stream processing languages, which should be useful for finding links to other related research.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I know that this doesn't answer your question directly, but it should put you in touch with research done by people departing from the same starting point.&lt;/p&gt;&#xA;" OwnerUserId="77" LastActivityDate="2010-09-15T20:18:36.137" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1342" PostTypeId="2" ParentId="1328" CreationDate="2010-09-15T20:35:51.903" Score="6" Body="&lt;p&gt;I'll have a go at the answer, though I do not have a concrete program for you to try. In one Eelco Visser &lt;a href=&quot;http://blog.eelcovisser.net/index.php?/archives/149-Lambdas-in-Spoofax.html&quot; rel=&quot;nofollow&quot;&gt;blog entry&lt;/a&gt; you can see a screen shot containing essentially the lambda calculus encoded in Stratego (I'm sure this code is available elsewhere). He presents an interpreter for the lambda calculus in Stratego. Presumably, this is sufficient to show that Stratego is Turing-complete. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you are interested in a more specific notion of expressiveness, then I suggest that you rephrase your question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In terms of practical usage, I found Stratego's main limitation that it operated over only one data structure, namely, the tree being transformed. Using other data structures such as a table of symbols was unnatural (at least in Stratego from 5+ years ago). Even though Stratego is ideal for transformations on a single tree, performing operations on two trees simultaneously is not easy.&lt;/p&gt;&#xA;" OwnerUserId="77" LastEditorUserId="77" LastEditDate="2010-09-16T06:56:45.860" LastActivityDate="2010-09-16T06:56:45.860" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1343" PostTypeId="1" AcceptedAnswerId="2322" CreationDate="2010-09-16T00:37:43.937" Score="23" ViewCount="867" Body="&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Tree_decomposition&quot;&gt;Tree width&lt;/a&gt; measures how close a graph is to a tree. It is NP-hard to compute tree width. The best known &lt;a href=&quot;http://kintali.wordpress.com/2010/01/28/approximating-treewidth/&quot;&gt;approximation&lt;/a&gt; algorithm achieves $O(\sqrt{{\log}n})$ factor.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Courcelle's theorem states that &lt;em&gt;any property of graphs definable in monadic second-order logic (MSO2) can be decided in linear time on any class of graphs of bounded tree width&lt;/em&gt;. A recent &lt;a href=&quot;http://www.eccc.uni-trier.de/report/2010/062/&quot;&gt;paper&lt;/a&gt; showed that Courcelle's theorem still holds when &quot;linear time&quot; is replaced with &quot;logspace&quot;. However, this does not settle the space complexity of &lt;a href=&quot;http://en.wikipedia.org/wiki/Graph_isomorphism_problem&quot;&gt;Graph Isomorphism&lt;/a&gt; on graphs with bounded tree width. The best known &lt;a href=&quot;http://arxiv.org/abs/1001.0383&quot;&gt;result&lt;/a&gt; puts it in LogCFL.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there other problems that are :&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;NP-hard (or not known to be in P) on general graphs, and&lt;/li&gt;&#xA;&lt;li&gt;known to be solvable in linear/polynomial time on graphs with bounded tree width, and&lt;/li&gt;&#xA;&lt;li&gt;NOT known to be in LogSpace ?&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="344" LastEditorUserId="186" LastEditDate="2010-10-23T05:47:07.183" LastActivityDate="2010-10-23T05:47:07.183" Title="Logspace algorithms on graphs with bounded tree width" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;space-bounded&gt;&lt;treewidth&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="9" ContentLicense="CC BY-SA 2.5" />
  <row Id="1344" PostTypeId="2" ParentId="1206" CreationDate="2010-09-16T00:52:15.430" Score="6" Body="&lt;p&gt;Since one can convert any public-key encryption scheme into a secret-key scheme in a generic way, you can obtain secret-key schemes with similar provable security guarantees.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But that answer is pedantic:  for the typical deployed blockcipher we do not have a provable security analysis in the reduction-to-computational-problem sense.  There have been proposals for blockciphers with security reductions, but the computational baggage needed to facilitate a reduction renders them uncompetitive with more efficient schemes like the AES algorithms.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Interestingly, the provable security community has generally agreed that it is sound to take blockcipher security (pseudorandom permutation) as an assumption, and then reduce to it when analyzing higher-level protocols that employ the blockcipher as a component.  That is, unlike some other challenges in secure protocol design, it seems sufficient to trust cryptanalysts' intuition for security when it comes to blockciphers.&lt;/p&gt;&#xA;" OwnerUserId="724" LastActivityDate="2010-09-16T00:52:15.430" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1346" PostTypeId="1" AcceptedAnswerId="1936" CreationDate="2010-09-16T01:24:34.137" Score="46" ViewCount="2422" Body="&lt;p&gt;Suppose I have a directed acyclic graph with real-number weights on its vertices. I want to find a topological ordering of the DAG in which, for every prefix of the topological ordering, the sum of the weights is non-negative. Or if you prefer order-theoretic terminology, I have a weighted partial order and I want a linear extension such that each prefix has non-negative weight. What is known about this problem? Is it NP-complete or solvable in polynomial time?&lt;/p&gt;&#xA;" OwnerUserId="95" LastEditorUserId="4795" LastEditDate="2020-05-15T15:58:19.130" LastActivityDate="2020-05-15T15:58:19.130" Title="Positive topological ordering" Tags="&lt;ds.algorithms&gt;&lt;directed-acyclic-graph&gt;&lt;partial-order&gt;&lt;topological-sorting&gt;" AnswerCount="5" CommentCount="18" FavoriteCount="14" ContentLicense="CC BY-SA 2.5" />
  <row Id="1347" PostTypeId="2" ParentId="1321" CreationDate="2010-09-16T02:51:07.407" Score="2" Body="&lt;p&gt;I also recommend reading section 8.1.3 &quot;Frequent-Pattern Mining in Data Streams&quot; of the following book:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Jiawei Han, Micheline Kamber. Data Mining---Concepts and Techniques, Second Edition, &lt;em&gt;Morgan Kaufmann Publishers&lt;/em&gt;, 2006.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It introduces an algorithm, known as &lt;strong&gt;Lossy Counting&lt;/strong&gt;, which approximates frequent items (items whose support is above some &lt;em&gt;min_support&lt;/em&gt;) with arbitrary precision.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Not exactly what you want, but I thought it might help.&lt;/p&gt;&#xA;" OwnerUserId="873" LastActivityDate="2010-09-16T02:51:07.407" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="1348" PostTypeId="1" AcceptedAnswerId="1372" CreationDate="2010-09-16T04:03:22.100" Score="11" ViewCount="2062" Body="&lt;p&gt;I believe the answer to this question is well-known; but, unfortunately, I don't know.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In quantum computing, we know that mixed states are represented by density matrices. And the trace norm of the difference of two density matrices characterizes the distinguishability of the two corresponding mixed states. Here, the definition of &lt;em&gt;trace norm&lt;/em&gt; is the sum of all eigenvalues of the density matrix, with an extra multiplicative factor &lt;strong&gt;1/2&lt;/strong&gt; (in accordance with statistical difference of two distributions). It is well-known that, when the the difference of two density matrices is one, then the corresponding two mixed states are totally distinguishable, while when the difference is zero, the two mixed states are totally indistinguishable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is, does the trace norm of the difference of two density matrices being one imply these two density matrices can be simultaneously diagonalizable? If this is the case, then taking the optimal measurement to distinguish these two mixed states will behave like to distinguish two distributions over the same domain with &lt;em&gt;disjoint&lt;/em&gt; support.&lt;/p&gt;&#xA;" OwnerUserId="412" LastEditorUserId="7286" LastEditDate="2012-05-07T14:31:46.780" LastActivityDate="2012-05-07T14:31:46.780" Title="Does the trace norm of the difference of two density matrices being one imply these two density matrices can be simultaneously diagonalizable?" Tags="&lt;quantum-computing&gt;&lt;quantum-information&gt;" AnswerCount="2" CommentCount="5" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="1349" PostTypeId="2" ParentId="1348" CreationDate="2010-09-16T04:57:04.867" Score="10" Body="&lt;p&gt;Yes.  If the trace distance of two density matrices is equal to 1, then they have orthogonal supports, and therefore they are simultaneously diagonalizable.&lt;/p&gt;&#xA;" OwnerUserId="567" LastActivityDate="2010-09-16T04:57:04.867" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="1350" PostTypeId="2" ParentId="80" CreationDate="2010-09-16T05:17:21.330" Score="3" Body="&lt;p&gt;I have asked a few experts and they told me that they think that Eric Allender's&#xA;proof that the permanent is not reducible to $TC^0$ makes essential&#xA;use of uniformity. See &quot;&lt;a href=&quot;http://ftp.cs.rutgers.edu/pub/allender/threshold.pdf&quot; rel=&quot;nofollow&quot;&gt;The Permanent Requires Large Uniform Threshold Circuits&lt;/a&gt;&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Allender cites &quot;&lt;a href=&quot;http://www.iro.umontreal.ca/~mckenzie/camcthvo97.ps&quot; rel=&quot;nofollow&quot;&gt;Nondeterministic $NC^1$ Computation&lt;/a&gt;&quot; by Caussinus, McKenzie, Therien, and Vollmer for proving &quot;there are problems in the counting hierarchy that require superpolynomial-size &lt;em&gt;uniform&lt;/em&gt; $TC^0$ circuits&quot;.&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2010-09-17T07:39:04.807" LastActivityDate="2010-09-17T07:39:04.807" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="1351" PostTypeId="2" ParentId="305" CreationDate="2010-09-16T06:28:47.083" Score="23" Body="&lt;p&gt;A great and little-recognized example of this phenomenon is &lt;a href=&quot;http://33bits.org/tag/graph-isomorphism/&quot;&gt;graph isomorphism&lt;/a&gt;.  The best known algorithm takes something like $O(2^{(\sqrt{(n log n)})})$ time, but graph isomorphism tends to be solvable quite quickly in practice.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I don't know if there's a formal result on average/smoothed complexity of the problem, but I remember reading that one existed - maybe someone else can chime in pointing out a formal result.  Certainly, there's a good deal of experimental evidence and a lot of fast solvers.  I'm also curious if this property extends to other members of the GI-complete family.&lt;/p&gt;&#xA;" OwnerUserId="71" LastActivityDate="2010-09-16T06:28:47.083" CommentCount="3" CommunityOwnedDate="2010-09-16T06:28:47.083" ContentLicense="CC BY-SA 2.5" />
  <row Id="1352" PostTypeId="1" AcceptedAnswerId="1356" CreationDate="2010-09-16T06:30:08.883" Score="5" ViewCount="342" Body="&lt;p&gt;Can anyone please tell me what is &lt;strong&gt;Lagrangian Dual Information&lt;/strong&gt; and how can it be used to prove the optimality of a solution? I'm talking about the solution to NP-Complete problems. Is it something that once you get a solution, you use LDI to prove that it is optimal?? Any example?&lt;/p&gt;&#xA;" OwnerDisplayName="user770" LastEditorUserId="80" LastEditDate="2010-09-16T07:22:27.243" LastActivityDate="2010-09-16T07:22:27.243" Title="Use of Lagrangian dual information to prove optimalitiy of a solution : Any example?" Tags="&lt;np-hardness&gt;&lt;primal-dual&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="1353" PostTypeId="2" ParentId="1352" CreationDate="2010-09-16T06:49:15.847" Score="3" Body="&lt;p&gt;This paper may be useful for you:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Andrade, Lucena, and Maculan,&#xA;&lt;a href=&quot;http://portal.acm.org/citation.cfm?id=1141026&quot; rel=&quot;nofollow&quot;&gt;Using Lagrangian dual information to generate degree constrained spanning trees&#xA;&lt;/a&gt;&#xA;&lt;a href=&quot;http://portal.acm.org/citation.cfm?id=1141026&quot; rel=&quot;nofollow&quot;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It proposes Lagrangian based heuristic to solve Degree Constrained Minimum Spanning Tree Problem ($NP$-complete) in very large graphs.&lt;/p&gt;&#xA;" OwnerUserId="495" LastActivityDate="2010-09-16T06:49:15.847" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1354" PostTypeId="1" CreationDate="2010-09-16T06:58:51.597" Score="6" ViewCount="1075" Body="&lt;p&gt;I need to implement one of the logical clock algorithms (described &lt;a href=&quot;https://rads.stackoverflow.com/amzn/click/com/0521876346&quot; rel=&quot;nofollow noreferrer&quot; rel=&quot;nofollow noreferrer&quot;&gt;here&lt;/a&gt;), to allow me to coordinate an election protocol for a distributed system. I'm struggling to work out how I might go about using the clock to enforce a total ordering on a sequence of events in practice. i.e. I don't see a problem in implementing the data structures in practice, but I can't work out how to ensure that my election is not being duplicated elsewhere in the network.&lt;/p&gt;&#xA;&lt;p&gt;For example, if my 'master' machine goes down, I expect several machines to notice at round about the same time. There will be contention for the 'master' position as several machines try to take it over. My plan is for each machine to broadcast a '&lt;em&gt;grab the master position&lt;/em&gt;' message. Using a logical clock, I should be able to decide what was the globally first machine that sent the message. It will then be acclaimed the master. What I can't work out is how (and where) I will be able to create that ordering over the network messages.&lt;/p&gt;&#xA;&lt;p&gt;Has anyone out there implemented this sort of algorithm and can offer me some guidance on how I should go about solving the problem?&lt;/p&gt;&#xA;&lt;p&gt;Thanks in Advance.&lt;/p&gt;&#xA;" OwnerUserId="1157" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2010-10-29T21:25:59.517" Title="Distributed Elections using Logical Clocks (hints and tips)" Tags="&lt;dc.distributed-comp&gt;" AnswerCount="4" CommentCount="6" ContentLicense="CC BY-SA 2.5" />
  <row Id="1356" PostTypeId="2" ParentId="1352" CreationDate="2010-09-16T07:09:23.240" Score="9" Body="&lt;p&gt;Lagrangian duality generalizes standard linear programming duality to the minimization of arbitrary functions (although it's often most effective for convex programs). The rough idea (and &lt;a href=&quot;http://www.ee.ucla.edu/~vandenbe/cvxbook.html&quot; rel=&quot;nofollow&quot;&gt;Convex Optimization&lt;/a&gt; by Boyd and Vandenberghe does a fantastic job of explaining this) is this: &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;take a a constrained optimization problem, &lt;/li&gt;&#xA;&lt;li&gt;replace it by an unconstrained optimization problem in which the constraints are folded into the objective linearly by multiplying them by variables (the Lagrange multipliers)&lt;/li&gt;&#xA;&lt;li&gt;minimize this unconstrained optimization over the original variables&lt;/li&gt;&#xA;&lt;li&gt;what you end up with is a convex function of the Lagrange variables, the so-called Lagrange dual&lt;/li&gt;&#xA;&lt;li&gt;and minimizing this (easy, because it's convex regardless of the original function) provides a bound on the original optimization. &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;If the original problem was convex to begin with, and assuming some technnical conditions, this bound is tight and you have strong duality. Since NP-complete problems are nonconvex in general, you can't use Lagrange duals to prove optimality. However, you can use it to get guaranteed approximations. One of the more well known uses of Lagrange duality is in the approximation algorithm for &lt;a href=&quot;http://doi.acm.org/10.1145/375827.375845&quot; rel=&quot;nofollow&quot;&gt;facility location and the $k$-median problem by Jain and Vazirani&lt;/a&gt;. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2010-09-16T07:09:23.240" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="1357" PostTypeId="1" CreationDate="2010-09-16T07:12:23.563" Score="9" ViewCount="440" Body="&lt;p&gt;Are there any known results showing that existence (or non-existence) of finite graphs with specific computable properties imply certain complexity results (such as P = NP)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here's one &lt;strong&gt;completely hypothetical&lt;/strong&gt; result: If a finite graph exists with distingushed edges A, B, C and D such that all maximum matchings either contain all of A, B, C, and D, or contain none of A, B, C and D, then P = NP.&lt;/p&gt;&#xA;" OwnerUserId="1159" LastActivityDate="2011-10-12T14:06:05.570" Title="Results showing existence/non-existence of finite graphs with specific computable properties imply certain complexity results" Tags="&lt;cc.complexity-theory&gt;" AnswerCount="5" CommentCount="7" FavoriteCount="7" ContentLicense="CC BY-SA 2.5" />
  <row Id="1359" PostTypeId="2" ParentId="1357" CreationDate="2010-09-16T07:36:09.590" Score="5" Body="&lt;p&gt;The answer is certainly &quot;yes&quot; if we talk about families of graphs, rather than specific graphs.  For example, there's a conjecture of Mihail and Vazirani that all 0/1 polytopal graphs are either good or very good edge expanders (ie, that their edge expansion is bounded below by 1/polynomial(degree), or 1).  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If this is true, then there exist efficient randomized Markov chain Monte Carlo approximation algorithms for a number of open combinatorial and counting problems via a sampling strategy of Alon, Jerrum, and Sinclair. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In a similar vein, if there exist families of polytopal graphs whose diameter grows faster than any polynomial in the number of facets and graph degree, then linear programming cannot be solved in strongly polynomial time via edge-following algorithms.&lt;/p&gt;&#xA;" OwnerUserId="71" LastActivityDate="2010-09-16T07:36:09.590" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1361" PostTypeId="2" ParentId="1354" CreationDate="2010-09-16T09:54:17.230" Score="8" Body="&lt;p&gt;Your example mostly needs the machines to agree on a &quot;consensus&quot; for which machine should be the leader. There are a lot of consensus protocols (proven to be correct). On top of consensus (with a proper failure detector) you can construct a &quot;total ordering broadcast&quot;. I am no expert in this field so I can't recommend a particular paper but you can pick up one from this google search result&#xA;&lt;a href=&quot;http://scholar.google.com/scholar?hl=en&amp;amp;q=total+ordering+broadcast+consensus&amp;amp;btnG=Search&amp;amp;as_sdt=2000&amp;amp;as_ylo=&amp;amp;as_vis=0&quot;&gt;http://scholar.google.com/scholar?hl=en&amp;amp;q=total+ordering+broadcast+consensus&amp;amp;btnG=Search&amp;amp;as_sdt=2000&amp;amp;as_ylo=&amp;amp;as_vis=0&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="201" LastActivityDate="2010-09-16T09:54:17.230" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="1362" PostTypeId="1" AcceptedAnswerId="1366" CreationDate="2010-09-16T09:55:17.893" Score="9" ViewCount="460" Body="&lt;p&gt;The question is the following. Generally when one have a term like $\Lambda X.t$, we can eliminate the forall by &lt;em&gt;applying&lt;/em&gt; this term to a type, as instance $(\Lambda X.t)[T]\to t[X:=T]$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, suppose this is an arrow and we want to give it an argument, then we would need to apply this term to the proper type such that it can receive such an argument. That is what I am asking if I can automatize: Is it possible to construct a function $f$ taking two terms and returning a type such that&#xA;$f&amp;lt;{\Lambda X.t}&gt;&amp;lt;{r}&gt;$ give us the type needed to be replaced by $X$ in $t$ such that $t$ can accept the argument $r$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some examples:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;$f&amp;lt;{\Lambda X.\lambda x^{X\to X}.t}&gt;&amp;lt;{\lambda x^T.x}&gt;=T$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;$f&amp;lt;{\Lambda X.\lambda x^X.r}&gt;&amp;lt;{(\lambda x^{R}.t^T)~s}&gt;=T$&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="743" LastEditorUserId="743" LastEditDate="2010-09-16T12:49:16.887" LastActivityDate="2010-09-16T13:08:23.643" Title="In System F à la Church, can we automatize type inference for the for-all elimination?" Tags="&lt;type-theory&gt;&lt;polymorphism&gt;&lt;type-inference&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="1363" PostTypeId="1" AcceptedAnswerId="1383" CreationDate="2010-09-16T10:50:09.540" Score="7" ViewCount="435" Body="&lt;p&gt;The notion of $\epsilon$-kernel, as defined by Agarwal et al. (&quot;Approximating extent measures of points&quot;), is the following. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $S^{d−1}$ denote the unit sphere centered at the origin in $R^d$. For any set $P$ of points in $R^d$ and any direction $u \in S^{d−1}$, we deﬁne the &lt;em&gt;directional width&lt;/em&gt; of $P$ in direction $u$, denoted by $\omega(u, P)$, to be &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\omega(u, P)=\max_{p\in P} \langle u, p \rangle  - \min_{p\in P} \langle u, p \rangle$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where $\langle \cdot, \cdot\rangle $ is the standard inner product. Let $\epsilon &gt; 0$ be a parameter. A subset $Q \subseteq P$ is called an $\epsilon$-kernel of $P$ if for each $u \in S^{d−1}$, $(1 − \epsilon)\omega(u, P) \leq \omega(u, Q)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It was shown that one can compute an $\epsilon$-kernel of $P$ of size $O(1/\epsilon^{(d−1)/2})$ in time $O(n + 1/\epsilon^{d−(3/2)})$. (Chan, &quot;Faster coreset constructions and data stream algorithms in ﬁxed dimensions&quot;.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am looking at the problem that is the reverse of this: Let $k$ be a parameter. I want to find an $\epsilon$-kernel of size at most $k$ such that $\epsilon$ is minimized. The running time could be exponential in $d$ but should be polynomial in $k$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My general question is whether there is anything known for this problem. Some specific questions: &#xA;1. Is the problem NP-hard when d=2? (Any clue what problem we can reduce from?)&#xA;2. Is there any approximation algorithm for d=2?  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any general comments are also welcomed. &lt;/p&gt;&#xA;" OwnerUserId="317" LastEditorUserId="80" LastEditDate="2010-09-16T16:11:07.270" LastActivityDate="2010-09-17T03:23:16.020" Title="Optimizing $\epsilon$ in $\epsilon$-kernel" Tags="&lt;cg.comp-geom&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="1366" PostTypeId="2" ParentId="1362" CreationDate="2010-09-16T13:08:23.643" Score="8" Body="&lt;p&gt;I'm not really sure I've understood the question. &#xA;First, I try to reduce your problem to the following unification problem: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a system F type τ(X) with a free (type) variable X, and a type σ.&lt;br&gt;&#xA;Is it possible to find a type γ such that τ(γ) = σ ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is a pseudo-code (with an exception raised when not unifiable) for &#xA;solving this problem. &lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;unify (X, σ) = σ&#xA;unify (Y, Y) = Y&#xA;unify (τ₁ → τ₂, σ₁ → σ₂) = unify(τ₁,σ₁) → unify(τ₂,σ₂)&#xA;unify (∀Y.τ(Y), ∀Y.σ(Y)) = ∀Y.unify(τ(Y),σ(Y)) (with Y a fresh variable)&#xA;unify (_,_) = raise Not_unifiable&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;You can prove (by induction) that γ = τ(unify(τ(X),σ) works if and &#xA;only an exception is not raised. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now for your problem you can take &lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;f (ΛX.t) (r) = match type of t with &quot;τ₁ → τ₂&quot; =&amp;gt; unify (τ₁, type of r) | _ =&amp;gt; fail end&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;(of course your function f should take as argument a context if your terms are open). &lt;/p&gt;&#xA;" OwnerUserId="1073" LastActivityDate="2010-09-16T13:08:23.643" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1368" PostTypeId="2" ParentId="1357" CreationDate="2010-09-16T13:40:45.183" Score="3" Body="&lt;p&gt;Expanding on Anand Kulkarni's comment:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose there is a deterministic Turing machine M that recognizes SAT in polynomial time.  Then the finite transition relation of M will be a function.  We know of TMs that recognize SAT in polynomial time, but their transition relations are not functions.  Note that the transition relation is a bipartite directed graph with tuples of (state, tape symbol) in the one bipartition, tuples of (state, tape symbol, move) in the other bipartition, and arcs from pairs to triples.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So trivially if there is such a digraph that is a function, then P=NP.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course, this is not a very natural definition, as it requires ancillary machinery to give meaning to the requirement that every path in the state space that reaches the accepting state has length bounded by a polynomial in the input size.  It is not at all obvious what the set of finite graphs representing polytime-bounded Turing machines looks like, or whether these graphs have interesting graph-theoretic properties.&lt;/p&gt;&#xA;" OwnerUserId="109" LastActivityDate="2010-09-16T13:40:45.183" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1370" PostTypeId="1" AcceptedAnswerId="1376" CreationDate="2010-09-16T14:44:28.130" Score="51" ViewCount="4754" Body="&lt;p&gt;When encoding a logic into a proof assistant such as Coq or Isabelle, a choice needs to be made between using a &lt;em&gt;shallow&lt;/em&gt; and a &lt;em&gt;deep&lt;/em&gt; embedding. In a shallow embedding logical formulas are written directly in the logic of the theorem prover, whereas in a deep embedding logical formulas are represented as a datatype. &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;What are the advantages and&#xA;limitations of the various&#xA;approaches?&lt;/li&gt;&#xA;&lt;li&gt;Are there any guidelines available for determining which to use? &lt;/li&gt;&#xA;&lt;li&gt;Is it possible to switch between the two representations in any systematic fashion?&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;As motivation, I would like to encode various security related logics into Coq and am wondering what the pros and cons of the different approaches are.&lt;/p&gt;&#xA;" OwnerUserId="77" LastEditorUserId="5693" LastEditDate="2012-04-02T16:24:02.817" LastActivityDate="2013-03-03T21:08:56.287" Title="Shallow versus Deep Embeddings" Tags="&lt;lo.logic&gt;&lt;coq&gt;&lt;proof-assistants&gt;" AnswerCount="3" CommentCount="0" FavoriteCount="28" ContentLicense="CC BY-SA 2.5" />
  <row Id="1371" PostTypeId="2" ParentId="1357" CreationDate="2010-09-16T15:17:27.183" Score="13" Body="&lt;p&gt;One result of this kind was proved by Lipton &lt;a href=&quot;http://www.cs.umd.edu/~gasarch/ramsey/lipton.pdf&quot;&gt;&quot;On proving that a graph has no large clique: A connection with Ramsey theory&quot;&lt;/a&gt;. He connects lower bound conjectures with purely graph theoretic results, showing that if $NP$ is not contained in $coNTIME(n^{O(\log n)})/(\log \log n)$, then the inapproximability of $MAX-CLIQUE$ implies that there are graphs with neat Ramsey-theoretic properties. (See the paper for definitions.) I have no idea if any progress has been made on proving whether or not such graphs actually exist. &lt;/p&gt;&#xA;" OwnerUserId="225" LastActivityDate="2010-09-16T15:17:27.183" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="1372" PostTypeId="2" ParentId="1348" CreationDate="2010-09-16T16:01:14.363" Score="21" Body="&lt;p&gt;Here is one way to prove the fact you are interested in.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose $\rho_0$ and $\rho_1$ are density matrices.  Like every other Hermitian matrix, it is possible to express the difference $\rho_0-\rho_1$ as&#xA;$$\rho_0-\rho_1 = P_0-P_1$$ for $P_0$ and $P_1$ being positive semidefinite and having orthogonal images.  (Sometimes this is called a Jordan-Hahn decomposition; it is unique and easily obtained from a spectral decomposition of $\rho_0-\rho_1$.) Note that the fact that $P_0$ and $P_1$ have orthogonal images implies that they are simultaneously diagonalizable, which I interpret is the property you are interested in.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The trace norm of the difference $\rho_0-\rho_1$ (as you define it, with the multiplicative factor 1/2), is given by $$\|\rho_0-\rho_1\|_{\text{tr}} = \frac{1}{2}\operatorname{Tr}(P_0) + \frac{1}{2}\operatorname{Tr}(P_1).$$  Under the assumption that this quantity is 1, we will conclude that $P_0=\rho_0$ and $P_1=\rho_1$, which proves what you want to prove.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To draw this conclusion, note first that $\operatorname{Tr}(P_0)-\operatorname{Tr}(P_1)=0$ and $\operatorname{Tr}(P_0)+\operatorname{Tr}(P_1)=2$, so $\operatorname{Tr}(P_0)=\operatorname{Tr}(P_1)=1$.  Next, take $\Pi_0$ and $\Pi_1$ to be the orthogonal projections onto the images of $P_0$ and $P_1$, respectively.  We have $$\Pi_0 (\rho_0 - \rho_1) = \Pi_0 (P_0 - P_1) = P_0$$ so $$\operatorname{Tr}(\Pi_0 \rho_0) - \operatorname{Tr}(\Pi_0 \rho_1) = 1.$$ Both $\operatorname{Tr}(\Pi_0 \rho_0)$ and $\operatorname{Tr}(\Pi_0 \rho_1)$ must be contained in the interval [0,1], from which we conclude that $\operatorname{Tr}(\Pi_0\rho_0)=1$ and $\operatorname{Tr}(\Pi_0\rho_1) = 0$.  From these equations it is not difficult to conclude $\Pi_0\rho_0=\rho_0$ and $\Pi_0\rho_1=0$, and therefore $P_0=\rho_0$ by the equation above.  A similar argument shows $P_1=\rho_1$.&lt;/p&gt;&#xA;" OwnerUserId="819" LastActivityDate="2010-09-16T16:01:14.363" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="1373" PostTypeId="2" ParentId="1363" CreationDate="2010-09-16T16:36:40.063" Score="4" Body="&lt;p&gt;&lt;em&gt;This is a suggestion for some directions, rather than an answer.&lt;/em&gt; &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem you ask seems closely related to the problem of polygon simplification (&lt;a href=&quot;http://portal.acm.org/citation.cfm?id=1096373&quot; rel=&quot;nofollow&quot;&gt;here's one possible starting point for tracking references&lt;/a&gt;) which comes in two flavors. The set up there is that you're given a polygon (or a curve for that matter) and you wish to simplify it. Your parameters are the error $\epsilon$ and the number of segments in the simplification $k$, and you can fix one or the other (the problem structure and solutions change accordingly). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we consider the plane for now, here's an idea towards an approximation algorithm. Let's construct a subroutine that takes fixed parameters $\epsilon, k$ and determines whether an $\epsilon$-kernel exists. We will then binary search to get some approximation of the true $\epsilon$. We can do this because all we need to do is approximate the convex hull of the input point set, and if this convex hull size is strictly smaller than $k$, we can place a lower bound on $\epsilon$ (since at least some adjacent pair of edges in the hull will need to be shortcircuited). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;So how to create the subroutine ? Firstly, if $\epsilon$ is the correct answer, then you know that the kernel's convex hull must lie within a &quot;shrinking&quot; of the original hull by $\epsilon$ (formally, by running a minkowski sum with a hemisphere of radius $\epsilon$ on the inside). Compute this region. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'll then claim that a greedy strategy should work to verify whether you can solve the problem with $k$ points: the intuition is that convexity should ensure you don't need to backtrack. This idea comes from the polygonal simplification land. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that even if the above works, and I'm not more than 60% sure it will, it says nothing about hardness. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2010-09-16T16:36:40.063" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1374" PostTypeId="2" ParentId="1370" CreationDate="2010-09-16T16:45:57.337" Score="23" Body="&lt;p&gt;Roughly speaking, with a deep embedding of a logic, you (1) define a datatype representing the syntax for your logic, and (2) give a &lt;em&gt;model of the syntax&lt;/em&gt;, and (3) prove that axioms about your syntax are sound with respect to the model. With a shallow embedding, you skip steps (1) and (2), and just start with a model, and prove entailments between formulas. This means shallow embeddings are usually less work to get off the ground, since they represent work you'd typically end up doing anyway with a deep embedding. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, if have a deep embedding, it is usually easier to write reflective decision procedures, since you are working with formulas which actually have syntax you can recurse over. Also, if your model is strange or complicated, then you usually don't want to work directly with the semantics. (For example, if you use biorthogonality to force admissible closure, or use Kripke-style models to force frame properties in separation logics, or similar games.) However, deep embeddings will almost certainly force you to think a lot about variable binding and substitutions, which will fill your heart with rage, since this is (a) trivial, and (b) a never-ending source of annoyance. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The correct sequence you should take is: (1) try to get by with a shallow embedding. (2) When that runs out of steam, try using tactics and quotation to run the decision procedures you want to run. (3) If that also runs out of steam, give up and use a dependently-typed syntax for your deep embedding. &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Plan to take a couple of months on (3) if this is your first time out. You &lt;em&gt;will&lt;/em&gt; need to get familiar with the fancy features of your proof assistant to stay sane. (But this is an investment which will pay off in general.)&lt;/li&gt;&#xA;&lt;li&gt;If your proof assistant doesn't have dependent types, stay at level 2.&lt;/li&gt;&#xA;&lt;li&gt;If your object language is itself dependently typed, stay at level 2. &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Also, do not try to go gradually up the ladder. When you decide to go up the complexity ladder, take a full step at a time. If you do things bit-by-bit, then you will get lots of theorems which are weird and unusable (eg, you'll get multiple half-assed syntaxes, and theorems which mix syntax and semantics in strange ways), which you will eventually have to throw out. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT: Here's a comment explaining why going up the ladder gradually is so tempting, and why it leads (in general) to suffering. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Concretely, suppose you have a shallow embedding of separation logic, with the connectives $A \star B$ and unit $I$. Then, you'll prove theorems like $A \star B \iff B \star A$ and $(A \star B) \star C \iff A \star (B \star C)$ and so on. Now, when you try to actually use the logic to prove a program correct, you'll end up having something like $(I \star A) \star (B \star C)$ and you'll actually want something like $A \star (B \star (C \star I))$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;At this point, you'll get annoyed with having to manually reassociate formulas, and you'll think, &quot;I know! I'll interpret a datatype of lists as a list of separated formulas. That way, I can interpret $\star$ as concatenation of these lists, and then those formulas above will be definitionally equal!&quot; &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is true, and works! However, note that conjunction is also ACUI, and so is disjunction. So you'll go through the same process in other proofs, with different list datatypes, and then you'll have three syntaxes for different fragments of separation logic, and you'll have metatheorems for each of them, which will inevitably be different, and you'll find yourself wanting a metatheorem you proved for separating conjunction for disjunction, and then you'll want to mix syntaxes, and then you'll go insane.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's better to target the biggest fragment you can handle with a reasonable effort, and just do it. &lt;/p&gt;&#xA;" OwnerUserId="657" LastEditorUserId="657" LastEditDate="2010-09-19T09:05:07.097" LastActivityDate="2010-09-19T09:05:07.097" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="1375" PostTypeId="2" ParentId="1346" CreationDate="2010-09-16T16:50:13.727" Score="3" Body="&lt;p&gt;If I understand the problem correctly, I think that the precedence constrained single machine scheduling problem to minimize the weighted sum of completion times (1|prec|\sum wc) can be reduced to the problem you are interested. &#xA;In problem 1|prec|\sum wc we have n jobs, each with a non-negative weight and a processing time, a poset on the jobs and we want a linear extension of the jobs such that the weighted sum of jobs completion times is minimized. The problems is NP-complete even though we assume that the processing time of each job is equal to 1. Does it make any sense?&lt;/p&gt;&#xA;" OwnerUserId="1166" LastActivityDate="2010-09-16T16:50:13.727" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="1376" PostTypeId="2" ParentId="1370" CreationDate="2010-09-16T17:07:28.720" Score="28" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;What are the advantages and limitations of the various approaches?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Pros of deep embeddings : You can prove and define things by induction on formulas' structure. Examples of interests are the size of a formula. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Cons of deep embeddings: You have do deal explicitly with binding of variables. That's usually very laborious. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Are there any guidelines available for determining which to use ?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Shallow embeddings are very useful to import result proved in the object logic. For instance, if you have prove something in a small logic (e.g. separation logic) shallow&#xA;embeddings can be a tool of choice to import your result in Coq.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other side, deep embedding are almost mandatory when you want to prove &#xA;meta-theorems about the object logic (like cut-elimination for instance).    &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is it possible to switch between the two representations in any systematic fashion?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The idea behind the shallow embedding is really to work directly in a model of the object formulas. Usually people will maps an object formula P directly (using notations or by doing the translation by hand) to an inhabitant of Prop. Of course, there are inhabitants of Prop which cannot be obtained by embedding a formula of the object logic. Therefore you lose some kind of completeness. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;So it is possible to send every result obtained in a deep embedding setting through an interpretation function. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is a little coq example: &lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&#xA;Inductive formula : Set :=&#xA;    Ftrue : formula&#xA;  | Ffalse : formula&#xA;  | Fand : formula -&gt; formula -&gt; formula &#xA;  | For : formula -&gt; formula -&gt; formula.&#xA;&#xA;Fixpoint interpret (F : formula) : Prop := match F with &#xA;    Ftrue =&gt; True&#xA;  | Ffalse =&gt; False&#xA;  | Fand a b =&gt; (interpret a) /\ (interpret b)&#xA;  | For a b =&gt; (interpret a) \/ (interpret b)&#xA; end.&#xA;&#xA;Inductive derivable : formula -&gt; Prop := &#xA;    deep_axiom : derivable Ftrue&#xA;  | deep_and : forall a b, derivable a -&gt; derivable b -&gt; derivable (Fand a b)&#xA;  | deep_or1 : forall a b, derivable a -&gt; derivable (For a b)&#xA;  | deep_or2 : forall a b, derivable b -&gt; derivable (For a b).&#xA;&#xA;Inductive sderivable : Prop -&gt; Prop := &#xA;    shallow_axiom : sderivable True &#xA;  | shallow_and : forall a b, sderivable a -&gt; sderivable b -&gt; sderivable (a /\ b)&#xA;  | shallow_or1 : forall a b, sderivable a -&gt; sderivable (a \/ b)&#xA;  | shallow_or2 : forall a b, sderivable b -&gt; sderivable (a \/ b).&#xA;&#xA;(* You can prove the following lemma: *)&#xA;Lemma shallow_deep : &#xA;   forall F, derivable F -&gt; sderivable (interpret F).&#xA;&#xA;(* You can NOT prove the following lemma :*)&#xA;Lemma t : &#xA;   forall P, sderivable P -&gt; exists F, interpret F = P.&#xA;&lt;/pre&gt;&#xA;" OwnerUserId="1073" LastActivityDate="2010-09-16T17:07:28.720" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1377" PostTypeId="2" ParentId="1168" CreationDate="2010-09-16T17:17:18.320" Score="12" Body="&lt;ul&gt;&#xA;&lt;li&gt;E. Mark Gold, &lt;em&gt;Language Identification in the Limit&lt;/em&gt;, Information and Control &lt;strong&gt;10&lt;/strong&gt;, 447–474, 1967. &lt;a href=&quot;http://dx.doi.org/10.1016/S0019-9958%2867%2991165-5&quot;&gt;doi: 10.1016/S0019-9958(67)91165-5&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Gold proves (for a simple model) that it is not possible to learn even very simple languages (like those generated by regular grammars) if only strings that occur in the language are presented.  In contrast, if one can query whether arbitrary strings are in the language, then languages generated by quite complex grammars can be learned.  This set the scene for countless papers (well, at least 2660 according to Google Scholar), many of them dealing with, starting from, or criticizing the hypothesis that natural language cannot be learned without negative examples.  Whether you agree or disagree with this foundation of Chomskian universal grammar, Gold's paper is well-written and clearly argued, and makes no claims about whether natural language can be learned or not.  The model is simple, the results elegant, the consequences misunderstood -- read it and make up your own mind.&lt;/p&gt;&#xA;" OwnerUserId="109" LastEditorUserId="109" LastEditDate="2010-09-17T11:34:01.213" LastActivityDate="2010-09-17T11:34:01.213" CommentCount="0" CommunityOwnedDate="2010-09-16T17:17:18.320" ContentLicense="CC BY-SA 2.5" />
  <row Id="1378" PostTypeId="1" AcceptedAnswerId="1394" CreationDate="2010-09-16T17:38:38.977" Score="15" ViewCount="325" Body="&lt;p&gt;Apologies in advance if this question is too simple.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Basically, what I want to know is if there are any functions $f(x)$ with the following properties:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Take $f_n(x)$ to be $f(x)$ when the domain and codomain are restricted to $n$-bit strings. Then&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;$f_n(x)$ is injective&lt;/li&gt;&#xA;&lt;li&gt;$f_n(x)$ is surjective&lt;/li&gt;&#xA;&lt;li&gt;$f_n(x)$ takes strictly less resources (either space/time/circuit depth/number of gates) to compute under some reasonable model than $f^{-1}_n(y)$, where $y=f_n(x)$.&lt;/li&gt;&#xA;&lt;li&gt;The resource difference for $f_n(x)$ vs $f^{-1}(y)$ scales as some strictly increasing function of $n$.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;I can come up with examples where the function is either surjective or injective, but not both unless I resort to a contrived computational model. If I choose a computational model which allows left shifts in unit time on some ring, but not right shifts, then it is of course possible to come up with a linear over head (or higher if you consider some more complicated permutation as a primitive). For this reason I am interested only in reasonable models, by which I mostly mean Turing machines or NAND circuits or similar. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Obviously this must be true if $P\neq NP$, but it would seem that this is also possible if $P=NP$, and so should not amount to deciding that question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is entirely possible that this question has an obvious answer or an obvious obstacle to answering which I have missed.&lt;/p&gt;&#xA;" OwnerUserId="204" LastEditorUserId="204" LastEditDate="2010-09-16T18:21:53.603" LastActivityDate="2010-09-17T02:52:43.850" Title="Are there any classes of functions which require provably different resources to compute versus computing their inverse?" Tags="&lt;cc.complexity-theory&gt;" AnswerCount="3" CommentCount="3" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="1379" PostTypeId="2" ParentId="1378" CreationDate="2010-09-16T17:48:11.360" Score="0" Body="&lt;p&gt;First of all, I wanted to point out that surjectivity is not well-defined without first defining the &lt;a href=&quot;http://en.wikipedia.org/wiki/Codomain&quot; rel=&quot;nofollow&quot;&gt;codomain&lt;/a&gt; of the function. So, in my description below, I'll explicitly refer to the codomain over which the function is surjective.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Both the &lt;a href=&quot;http://en.wikipedia.org/wiki/Discrete_logarithm&quot; rel=&quot;nofollow&quot;&gt;discrete logarithm&lt;/a&gt; or &lt;a href=&quot;http://en.wikipedia.org/wiki/RSA&quot; rel=&quot;nofollow&quot;&gt;RSA&lt;/a&gt; functions are permutations which are conjectured to be hard to invert. Below, I'll describe the discrete-logarithm function.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $p_n$ be an $n$-bit prime, and $g$ be a generator of the multiplicative group $\mathbb{Z}_{p_n}^*$. Define $f_n \colon \mathbb{Z}_{p_n} \to \mathbb{Z}_{p_n}$ as &#xA;$f_n(x) = g^x \pmod{p_n}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then, $f_n$ is a function whose properties are as stated in your question: It is both injective and surjective (over codomain $\mathbb{Z}_{p_n}$), it is computable in polynomial time, yet it is conjectured that no efficient algorithm can invert $f_n$ on average.&lt;/p&gt;&#xA;" OwnerUserId="873" LastEditorUserId="873" LastEditDate="2010-09-16T18:01:42.757" LastActivityDate="2010-09-16T18:01:42.757" CommentCount="7" ContentLicense="CC BY-SA 2.5" />
  <row Id="1380" PostTypeId="2" ParentId="1005" CreationDate="2010-09-16T17:54:48.467" Score="7" Body="&lt;p&gt;Suresh's answer about the AKR conjecture got me thinking about the same conjecture for hereditary properties. I think (unless I've made a mistake) I can show that all non-trivial hereditary properties have (randomized and deterministic) decision tree complexity $\Theta(n^2)$, which settles the AKR conjecture for such properties (up to constants).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I tried to search the literature to see if this has been shown somewhere, but I couldn't find a reference. So either I couldn't find it but it exists, or the theorem is uninteresting, or I've made an error.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, this is another example of a global property of all hereditary graph properties.&lt;/p&gt;&#xA;" OwnerUserId="206" LastActivityDate="2010-09-16T17:54:48.467" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="1381" PostTypeId="1" AcceptedAnswerId="1487" CreationDate="2010-09-16T18:02:19.493" Score="7" ViewCount="236" Body="&lt;p&gt;Creating a petri-net that models the minimum function is quite simple:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt; -----     -----&#xA;   |         |&#xA;   |         |&#xA;   O         O&#xA;   |         |&#xA;   v         v&#xA;  -------------&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;If &lt;code&gt;a&lt;/code&gt; tokens arrive via source 1 and &lt;code&gt;b&lt;/code&gt; tokens arrive via source 2, &lt;code&gt;min(a, b)&lt;/code&gt; tokens will eventually end up in the sink.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now I would like to model the &lt;em&gt;maximum&lt;/em&gt; function. I found a solution, but it requires the use of inhibitor arcs. &lt;strong&gt;Question&lt;/strong&gt;: Is is possible to model the maximum function without the use of inhibitor arcs?&lt;/p&gt;&#xA;" OwnerUserId="1167" LastEditorUserId="567" LastEditDate="2011-03-31T14:27:02.777" LastActivityDate="2011-03-31T14:27:02.777" Title="Is it possible to model maximization in a petri net without using inhibitor arcs?" Tags="&lt;dc.distributed-comp&gt;&lt;formal-modeling&gt;&lt;petri-nets&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="1382" PostTypeId="2" ParentId="1317" CreationDate="2010-09-16T18:22:02.510" Score="10" Body="&lt;p&gt;The parallel complexity of the graph closure problem (problem $B.1.4$, posed by Khuller) was resolved By Angelo Monti. He showed that the graph closure problem is P-complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://dx.doi.org/10.1016/0020-0190(96)00027-0&quot; rel=&quot;nofollow&quot;&gt;Angelo Monti, On the computational complexity of graph closures &lt;/a&gt;&#xA;Information Processing Letters, Volume 57, Issue 6, 25 March 1996, Pages 291–295.&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="109" LastEditDate="2015-12-24T17:49:57.807" LastActivityDate="2015-12-24T17:49:57.807" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="1383" PostTypeId="2" ParentId="1363" CreationDate="2010-09-16T19:12:54.753" Score="9" Body="&lt;p&gt;Jeff Philips has a related result showing the stability of kernels: &lt;a href=&quot;http://www.cs.utah.edu/~jeffp/papers/stable-kernel.pdf&quot;&gt;http://www.cs.utah.edu/~jeffp/papers/stable-kernel.pdf&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As for the problem itself, it can be formulated as a hitting set problem. Indeed, you need to pick a point into the kernel for each &quot;complement of a slab&quot; that contains $\geq \epsilon_k$ fraction of the input points. Here $\epsilon_k$ is the minimum $\epsilon$ that has a kernel of size $k$. Since this is just a hitting set problem, it can be approximated up to $O( \log k)$ factor in geometric settings. You need to guess the value of $\epsilon_k$, but naively just do a binary search on epsilon. As such, one can get two results:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;A set of size $O( k \log k)$ that is an $\epsilon_k$ kernel.&lt;/li&gt;&#xA;&lt;li&gt;A set of size k that is  an $\epsilon_{O(k/\log k)}$ kernel.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The algorithm for computing the set cover is the reweighting algorithm. In fact, the original paper by Clarkson solves a related problem about polytope approximation:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;@inproceedings{c-apca-93,&#xA;  author       = &quot;Kenneth L. Clarkson&quot;,&#xA;  title        = &quot;Algorithms for Polytope Covering and Approximation&quot;,&#xA;  booktitle    = &quot;Proc. 3rd Workshop Algorithms Data Struct.&quot;,&#xA;  series       = LNCS,&#xA;  volume       = 709,&#xA;  publisher    = &quot;Springer-Verlag&quot;,&#xA;  year         = 1993,&#xA;  pages        = &quot;246--252&quot;&#xA;}&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As for what to implement, i would use an incremental algorithm that performs quite well in practice, and add points an incremental fashion. See for example, the paper &quot;Robust Shape Fitting via Peeling and Grating Coresets&quot; and references therein.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;it seems believable BTW that one should be able to do constant factor approximation instead of logarithmic.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I dont know of a formal proof that this problem is NP-hard, but it would be very surprising if it is not, IMHO.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem is probably solvable exactly in the plane using dynamic programming, I think....&lt;/p&gt;&#xA;" OwnerUserId="9594" LastEditorUserId="9594" LastEditDate="2010-09-17T03:23:16.020" LastActivityDate="2010-09-17T03:23:16.020" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="1384" PostTypeId="1" AcceptedAnswerId="1385" CreationDate="2010-09-16T21:05:51.213" Score="5" ViewCount="292" Body="&lt;p&gt;Lets say that I have 50 events that generate some unique number (you are free to choose the number, but they should all fit in a 32 bit variable). I want to combine those numbers into a single number(32 bit), which can be used to find the absence of an event (i.e. a number).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If it was just ~10 events, I could have just used prime numbers and multiplied them, but multiplying first 50 primes results in 1.9x10^91 (which will not fit in a 32 bit variable).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can anyone think of a better way to do this?&lt;/p&gt;&#xA;" OwnerUserId="1171" LastActivityDate="2010-09-17T18:50:07.840" Title="Find a function that combines a set of integers and outputs an integer. This output can be used to deduce the absence of any integer in the set." Tags="&lt;ds.algorithms&gt;" AnswerCount="4" CommentCount="3" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="1385" PostTypeId="2" ParentId="1384" CreationDate="2010-09-16T21:34:26.793" Score="8" Body="&lt;p&gt;Well, is it only one missing event you want to detect? It you need to be able to detect the presence or absence of all 50 events, this means distinguishing between $2^{50}$ possibilities which obviously cannot be done with 32 bits. However if you wish to just detect a single missing event, here is a way that will work. Assume you have m events.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Assign each event a sequential number starting at 2.&lt;/li&gt;&#xA;&lt;li&gt;Calculate $c = (m+1)! \mbox{mod}~p$, where p is some prime number greater than m+1 but less than $2^{32}$.&lt;/li&gt;&#xA;&lt;li&gt;When registering the events, simply multiply the numbers corresponding to the events sequentially modulo p. Call this result r.&lt;/li&gt;&#xA;&lt;li&gt;To determine if an event is missing, calculate $x = (c \times r^{-1}) \mbox{mod}~p$. If $x=1$ then no events are missing, otherwise $x$ is the label for the missing event. &lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;UPDATE&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A simpler solution (coming from Jukka's comment) is simply to do the following:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Assign each event a sequential number starting at 1.&lt;/li&gt;&#xA;&lt;li&gt;Calculate $c = \sum_{j=1}^m j~ \mbox{mod}~2^{32} = \frac{j(j+1)}{2} \mbox{mod}~2^{32}$.&lt;/li&gt;&#xA;&lt;li&gt;When registering the events, simply add the numbers corresponding to the events sequentially modulo $2^{32}$. Call this result r.&lt;/li&gt;&#xA;&lt;li&gt;To determine if an event is missing, calculate $x = (c - r) \mbox{mod}~2^{32}$. If $x=0$ then no events are missing, otherwise $x$ is the label for the missing event. &lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="204" LastEditorUserId="204" LastEditDate="2010-09-16T21:56:39.020" LastActivityDate="2010-09-16T21:56:39.020" CommentCount="8" ContentLicense="CC BY-SA 2.5" />
  <row Id="1386" PostTypeId="2" ParentId="1378" CreationDate="2010-09-16T22:07:27.043" Score="5" Body="&lt;p&gt;For boolean circuits over full binary basis (with the complexity measure $C(f)$ being the number of gates in a minimal circuit) the best known ratio for permutations $\frac{C(f^{-1})}{C(f)} = const$. As far as I know, the best constant was obtained in &lt;a href=&quot;http://www.springerlink.com/content/fr0l41857352q6m0/&quot; rel=&quot;nofollow&quot;&gt;this work&lt;/a&gt; by Hiltgen and is equal to 2. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit. As you want the ratio to be increasing when $n$ grows, this doesn't answer your question. However, for boolean circuits over full binary basis nothing better is known.&lt;/p&gt;&#xA;" OwnerUserId="254" LastEditorUserId="254" LastEditDate="2010-09-16T22:14:13.390" LastActivityDate="2010-09-16T22:14:13.390" CommentCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="1387" PostTypeId="2" ParentId="189" CreationDate="2010-09-16T22:45:52.333" Score="18" Body="&lt;p&gt;The algorithm that amazed me the most is Timothy Chan's O(n log h) planar convex hull algorithm: &lt;a href=&quot;http://www.cs.uwaterloo.ca/~tmchan/conv23d.ps.gz&quot;&gt;http://www.cs.uwaterloo.ca/~tmchan/conv23d.ps.gz&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I find it impressive how the proper application of several simple techniques led to an optimal algorithm for such a classic problem, 10 years after the first optimal algorithm for the problem.&lt;/p&gt;&#xA;" OwnerUserId="169" LastActivityDate="2010-09-16T22:45:52.333" CommentCount="0" CommunityOwnedDate="2010-09-16T22:45:52.333" ContentLicense="CC BY-SA 2.5" />
  <row Id="1388" PostTypeId="1" CreationDate="2010-09-16T23:50:32.567" Score="25" ViewCount="2113" Body="&lt;p&gt;It is well known that any proof resolving the &lt;a href=&quot;http://en.wikipedia.org/wiki/P_versus_NP_problem&quot; rel=&quot;noreferrer&quot;&gt;P vs NP&lt;/a&gt; question must overcome &lt;a href=&quot;http://kintali.wordpress.com/2009/09/01/relativization-barrier/&quot; rel=&quot;noreferrer&quot;&gt;relativization&lt;/a&gt;, &lt;a href=&quot;http://en.wikipedia.org/wiki/Natural_proof&quot; rel=&quot;noreferrer&quot;&gt;natural proofs&lt;/a&gt; and &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=1374481&quot; rel=&quot;noreferrer&quot;&gt;algebrization&lt;/a&gt; barriers. The following diagram partitions the &quot;proof space&quot; into different regions. For example, $RN$ corresponds to the set of proofs that relativize and naturalize. $GCT$ (Geometric Complexity Theory) is of course the strictly outside region.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Name some proofs along with the best known regions they belong to. Place them in a best possible way i.e., if a proof is known to relativize, naturalize and algebrize then it should be placed in $RNA$ not just in $RN$. If a proof relativizes but does not naturalize it belongs to $R$ ${\setminus}$ $N$ and so on.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/ExWPB.jpg&quot; alt=&quot;alt text&quot;&gt;&lt;/p&gt;&#xA;" OwnerUserId="344" LastActivityDate="2016-06-23T10:08:41.507" Title="Proofs, Barriers and P vs NP" Tags="&lt;cc.complexity-theory&gt;&lt;proofs&gt;&lt;barriers&gt;&lt;p-vs-np&gt;" AnswerCount="4" CommentCount="5" FavoriteCount="18" ContentLicense="CC BY-SA 2.5" />
  <row Id="1389" PostTypeId="2" ParentId="1388" CreationDate="2010-09-16T23:57:39.703" Score="7" Body="&lt;p&gt;Interactive proofs do not relativize. I don't think they naturalize since they are uniform.  &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2010-09-16T23:57:39.703" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1390" PostTypeId="2" ParentId="1388" CreationDate="2010-09-17T00:10:08.923" Score="17" Body="&lt;p&gt;I think you need to redraw your Venn diagram... any containment of complexity classes which relativizes will also algebrize, at least in the sense of Aaronson and Wigderson. That is, access to the &quot;low-degree extension&quot; of an oracle is only more powerful than access to the oracle. Similarly, any oracles showing that a separation requires &quot;non-algebrizing&quot; techniques implies that &quot;non-relativizing&quot; techniques are also required.&lt;/p&gt;&#xA;" OwnerUserId="225" LastActivityDate="2010-09-17T00:10:08.923" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="1391" PostTypeId="2" ParentId="1384" CreationDate="2010-09-17T01:43:23.130" Score="5" Body="&lt;p&gt;You can use &quot;binomial encoding&quot; (I forgot the real name). As Joe suggested, we can store the information &quot;the set contains all numbers but for those in S&quot; for any S of size at most 9. The question is how to find a bijection between subsets of $[50]$ of size at most 9 and numbers between 0 and 13432735555 (as it happens).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let's generalize by replacing 50 with $n$ and 9 with $k$. We use the notation&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$ D(m,t) = \sum_{s=0}^t \binom{m}{t} $$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This quantity satisfies Pascal's identity $D(m,t) = D(m-1,t) + D(m-1,t-1)$ (but different initial conditions: $D(0,t) = 1$). We can use this to encode all subsets of size at most $k$ using the numbers up to $D(m,t)$ by using the first $D(m-1,t)$ numbers for the case in which $0 \notin S$, and the next $D(m-1,t-1)$ for the case in which $0 \in S$; continue recursively.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An alternative way is to first encode the size of the set (implicitly) and then use binomial coefficients instead of their running sum. In that approach, the first $\binom{n}{0}$ integers are used for $|S|=0$, the next $\binom{n}{1}$ are used for $|S|=1$, and so on; once in the given range, we do the same thing as before (with binomial coefficients). The advantage of this variant is that smaller sets get smaller numbers.&lt;/p&gt;&#xA;" OwnerUserId="40" LastActivityDate="2010-09-17T01:43:23.130" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1392" PostTypeId="1" AcceptedAnswerId="1437" CreationDate="2010-09-17T02:22:25.320" Score="16" ViewCount="554" Body="&lt;p&gt;This is a follow up to this &lt;a href=&quot;https://cstheory.stackexchange.com/questions/80/which-results-in-complexity-theory-make-essential-use-of-uniformity&quot;&gt;question&lt;/a&gt;, and is related to this &lt;a href=&quot;https://cstheory.stackexchange.com/questions/1388/proofs-barriers-and-p-vs-np&quot;&gt;question&lt;/a&gt; of Shiva Kinali.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It seems that the proofs in these papers (&lt;a href=&quot;http://ftp.cs.rutgers.edu/pub/allender/threshold.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Allender&lt;/a&gt;, &lt;a href=&quot;http://www.iro.umontreal.ca/~mckenzie/camcthvo97.ps&quot; rel=&quot;nofollow noreferrer&quot;&gt;Caussinus-McKenzie-Therien-Vollmer&lt;/a&gt;, &lt;a href=&quot;http://arxiv.org/abs/0902.1866&quot; rel=&quot;nofollow noreferrer&quot;&gt;Koiran-Perifel&lt;/a&gt;) use hierarchy theorems. I want to know if the proofs are &quot;&lt;em&gt;pure&lt;/em&gt;&quot; diagonalization theorems, or if they use something more that usual diagonalization. So my question is &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;is there a reasonable relativization which puts permanent in uniform $\mathsf{TC^0}$?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Note that I am not sure how to define oracle access for uniform $\mathsf{TC^0}$, I know that finding the correct definition for small complexity classes is nontrivial. Another possibility is that permanent is not complete for $\mathsf{\#P}$ in the relativized universe, in which case I should use some complete problem for $\mathsf{\#P}$ in the relativized universe in place of it, and I think $\mathsf{\#P}$ should have a complete problem in any reasonable relativized universe.&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2013-01-25T03:21:17.950" Title="Do the proofs that permanent is not in uniform $\mathsf{TC^0}$ relativize?" Tags="&lt;cc.complexity-theory&gt;&lt;lower-bounds&gt;&lt;relativization&gt;&lt;permanent&gt;" AnswerCount="1" CommentCount="11" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="1393" PostTypeId="2" ParentId="1388" CreationDate="2010-09-17T02:22:43.370" Score="11" Body="&lt;p&gt;The &lt;em&gt;time and space hierarchy theorems&lt;/em&gt; relativize. &#xA;They are uniform, so they don't seem to naturalize.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think &lt;em&gt;indirect diagonalization results&lt;/em&gt; like the TimeSpace lower bounds of Lance Fortnow, et al. and also Ryan Williams's result do not relativize &#xA;because they are not black box (but I am not sure about this). &#xA;The proofs don't seem to naturalize since they use hierarchy theorems.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The proofs of &lt;em&gt;permanent not in uniform $TC^0$&lt;/em&gt; use hierarchy theorems and &#xA;don't seem to work for nonuniform case, and doesn't seem to naturalize. &#xA;On the other hand, I don't know if they relativize,&#xA;they may with a suitable notion of relativization.&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2016-06-23T10:08:41.507" LastActivityDate="2016-06-23T10:08:41.507" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="1394" PostTypeId="2" ParentId="1378" CreationDate="2010-09-17T02:52:43.850" Score="10" Body="&lt;p&gt;I was asked to repost my comment.  I pointed out this paper by Hastad, which shows that there exist permutations in $NC^0$ that are P-hard to invert:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://dx.doi.org/10.1016/0020-0190(87)90053-6&quot;&gt;http://dx.doi.org/10.1016/0020-0190(87)90053-6&lt;/a&gt; &lt;a href=&quot;http://www.nada.kth.se/~johanh/onewaync0.ps&quot;&gt;(PS)&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="206" LastActivityDate="2010-09-17T02:52:43.850" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="1395" PostTypeId="2" ParentId="1168" CreationDate="2010-09-17T03:34:50.637" Score="19" Body="&lt;p&gt;If I may quote Sarah Palin on this issue: &quot;All of them&quot;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;More seriously, I think most papers should not be read in the original. As time passes people figure out better way of understanding and presenting the original problem/solution. Except for the Turing original paper, which is of historical importance, I would not recommend reading most original papers if there is followup work that cleaned it up. In particular, of a lot of stuff is presented much better in books than in the original.&lt;/p&gt;&#xA;" OwnerUserId="9594" LastActivityDate="2010-09-17T03:34:50.637" CommentCount="9" CommunityOwnedDate="2010-09-17T03:34:50.637" ContentLicense="CC BY-SA 2.5" />
  <row Id="1396" PostTypeId="2" ParentId="1290" CreationDate="2010-09-17T03:55:23.473" Score="4" Body="&lt;p&gt;This question seems a bit circular to me. If the problem has the property you want, then there is a sketch-and-merge based algorithm for it. As mentioned above, there is work on clustering, approximations, and coresets that provide you with that. Also, most streaming algorithms allow merging streams by just (conceptually) concatenating one stream to the other.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, I am not sure top-k streaming algorithms are mergable - but I might be wrong.&lt;/p&gt;&#xA;" OwnerUserId="9594" LastActivityDate="2010-09-17T03:55:23.473" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="1398" PostTypeId="2" ParentId="318" CreationDate="2010-09-17T04:04:38.357" Score="2" Body="&lt;p&gt;This isn't an example of a natural problem, but a family of problems in Class 1, but probably not in NP or QP = DTIME(n&lt;sup&gt;polylog n&lt;/sup&gt;). Perhaps someone here can instantiate the function $f$ and get a concrete problem out.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $f(x_1,x_2,\ldots, x_n,y_1,y_2,\ldots,y_m)$ be a polynomial time computable predicate, with m = polylog n.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem $\exists x \forall y f(x_1,x_2,\ldots, x_n,y_1,y_2,\ldots,y_m)$ is in your class 1.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's probably not in QP because it can express all problems in NP, and it's probably not in NP because it can express all problems in co-NTIME(polylog).&lt;/p&gt;&#xA;" OwnerUserId="206" LastActivityDate="2010-09-17T04:04:38.357" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="1399" PostTypeId="1" AcceptedAnswerId="2852" CreationDate="2010-09-17T04:54:28.883" Score="12" ViewCount="588" Body="&lt;p&gt;This is a followup to &lt;a href=&quot;https://cstheory.stackexchange.com/questions/1346/positive-topological-ordering&quot;&gt;David Eppstein's recent question&lt;/a&gt; and is motivated by the same  problems.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose I have a dag with real-number weights on its vertices.  Initially, all of the vertices are unmarked.  I can change the set of marked vertices by either (1) marking a vertex with no unmarked predecessors, or (2) unmarking a vertex with no marked successors.  (Thus, the set of marked vertices is always a prefix of the partial order.)  I want to find a sequence of marking/unmarking operations that ends with all vertices marked, such that the total weight of the marked vertices is always non-negative.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;How hard is finding such a sequence of operations?&lt;/strong&gt;  Unlike &lt;a href=&quot;https://cstheory.stackexchange.com/questions/1346/positive-topological-ordering&quot;&gt;David's problem&lt;/a&gt;, it's not even clear that this problem is in NP; in principle (although I don't have any examples) every legal move sequence could have exponential length.  The best I can prove is that the problem is in PSPACE.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Is the unmarking operation actually unnecessary?&lt;/strong&gt;  If there is a valid move sequence, must there be a valid move sequence that never unmarks a vertex?  An affirmative answer would make this problem &lt;em&gt;identical&lt;/em&gt; to &lt;a href=&quot;https://cstheory.stackexchange.com/questions/1346/positive-topological-ordering&quot;&gt;David's&lt;/a&gt;.  On the other hand, if unmarking is sometimes necessary, there should be a small (constant size) example that proves it.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="111" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2010-11-11T06:10:07.393" Title="Positive topological ordering, take 2" Tags="&lt;ds.algorithms&gt;&lt;directed-acyclic-graph&gt;&lt;partial-order&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="1400" PostTypeId="1" AcceptedAnswerId="1407" CreationDate="2010-09-17T05:00:53.830" Score="13" ViewCount="625" Body="&lt;p&gt;In the paper &lt;em&gt;Quantum Random Walks Hit Exponentially Faster&lt;/em&gt; (&lt;a href=&quot;http://arxiv.org/abs/quant-ph/0205083&quot; rel=&quot;nofollow noreferrer&quot;&gt;arXiv:quant-ph/0205083&lt;/a&gt;) Kempe gives a notion of hitting time for quantum walks (in the hypercube) that is not very popular in the quantum walk literature. It is defined as follows:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;One-Shot Quantum Hitting Time:&lt;/strong&gt; A discrete-time quantum walk has a $(T,p)$ one-shot $(|\Psi_0\rangle,|\Psi^f\rangle)$-hitting time if $|\langle\Psi^f|U^T|\Psi_0\rangle|^2 \geq p$ where $|\Psi_0\rangle$ is the initial state, $|\Psi^f\rangle$ is the target state, and $p&amp;gt;0$ is the hitting probability.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Normally you would like to know the minimum $T$ such that $p&amp;gt;0$. It is not possible (correct me if I'm wrong) to define a notion of average hitting time because you will need to make measurements during the walk, and that would collapse it to a classical walk. That's why we have the one-shot notion. In the same piece of work, there is an application to quantum routing (cf. &lt;a href=&quot;http://arxiv.org/abs/quant-ph/0205083&quot; rel=&quot;nofollow noreferrer&quot;&gt;section 5&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In order to know that the walk arrived at the target vertex, you need to make a measurement only at that node. For example, in the $n$-dimensional hypercube with $2^n$ nodes if you start at node $|\Psi_0\rangle=|00\dots00\rangle$ and have as target node $|\Psi^f\rangle=|11\dots11\rangle$, the paper shows that $T=O(n)$ with bounded error probability, i.e. $p\to 1$ as $n$ becomes very large. So in order to detect that the walk arrived at $|11\dots11\rangle$ you make a measurement after $\Omega(n)$ steps. This is an exponential speed-up.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Questions:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;To use this notion of hitting time for search you need to know at least the distance of the target vertex from the origin, because that's how you know when to apply your measurement. Let's say that you have a graph $G$, and set as initial vertex $v_0$ and want to reach $v^f$. Assume also that $T=O(dist(v_0,v^f))$ and $p\geq 1/2$. Well, $T$ is obvious because you need at least that many steps to reach it. Does it make any sense using this hitting time for search? If you know where the node is there is no meaning in searching, but having a piece of information like &quot;distance from the starting vertex&quot; but not knowing exactly where the target is, does this notion of hitting time gives any interesting (worth to study) search algorithm?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Does the application to quantum routing makes any sense? In the paper it says that it can be used for routing packages, but it seems to me that you can only send 1 bit, e.g. does it arrived at destination or not? Can you actually send a quantum state in this framework? In the paper this issue is not being addressed.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;This is maybe a silly question to ask, but here it goes. Can you use this notion of hitting time for constructing a &quot;Generalized Mach-Zender Interferometer&quot;?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;I'm aware of the other notions of hitting times for quantum walks (like &lt;a href=&quot;http://csdl.computer.org/comp/proceedings/focs/2004/2228/00/22280032abs.htm&quot; rel=&quot;nofollow noreferrer&quot;&gt;Szegedy's&lt;/a&gt;  or &lt;a href=&quot;http://dx.doi.org/10.1137/S0097539705447311&quot; rel=&quot;nofollow noreferrer&quot;&gt;Ambainis's&lt;/a&gt;). I'm particularly interested in this specific hitting time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Update (9/24/2010):&lt;/strong&gt; Thanks to Joe Fitzsimons questions 2 and 3 were completely answered. Although question number 1 still remains. First, I will restate question 2 in more specific terms now that I finished reading the paper that Joe recommended me and a couple more (for example see &lt;a href=&quot;http://arxiv.org/abs/0802.1224&quot; rel=&quot;nofollow noreferrer&quot;&gt;arXiv:0802.1224&lt;/a&gt;), and then I'll give a concrete example of what I have in mind for question 1.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2'. If you are sending a concrete message (like a sequence of classical bits), you can use a more complicated unitary that will copy this information during the steps of the walk. To send quantum states you need something more. The spin-chains channel uses a linear array of qubits with a fixed coupling. You can put the state (pure state, I don't know if it works for mixed states) you want to transmit in one end and it goes to the other end with high fidelity according to numerical results. I still have to give it more thought but I have two ideas: i) put a chain on each link of the graph, or ii) make the walk, find the target state, then make the channel between initial state and target and then send the state. Are any of these approaches plaussible? Does it work with mixed states?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1'. Consider a walk on a 2-dimensional grid centered in the origin with $n$ nodes with each side with length $\sqrt{n}$. Set the initial state at $v_0=(0,0)$ and the target state at $v^f=(\sqrt{n}-1,a)$ where $a=0,\dots,\sqrt{n}-1$. Because the walk is symmetric we have that the same hitting time and hitting probabilities hold for any target somewhere on the border of the grid as shown below.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/A5mNQ.png&quot; alt=&quot;alt text&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Therefore the information we have is that $dist(v_0,v^f)=\Omega(\sqrt{n})$. We can use this to know when to make the measurement. Can the one-shot hitting time be used to search this grid? Here you need that information. An open problem in searching a grid is that we know that $\Omega(\sqrt{n})$ is a lower bound for search, and for grids the best upper bound is $O(\sqrt{n\log n})$. Either we are not being able to find a better algorithm, or the techniques for proving lower bounds when you use them on grids are giving a weak lower bound. Can you show that the only way to go below $\sqrt{n\log n}$ is having &quot;a piece of information&quot; as the one in the question? This would imply a way of proving a lower bound for grids. Does it make any sense?&lt;/p&gt;&#xA;" OwnerUserId="135" LastEditorUserId="567" LastEditDate="2011-08-05T18:25:16.667" LastActivityDate="2011-08-11T13:53:05.167" Title="One-shot quantum hitting times" Tags="&lt;quantum-computing&gt;&lt;random-walks&gt;&lt;markov-chains&gt;&lt;quantum-walk&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="1401" PostTypeId="1" AcceptedAnswerId="1409" CreationDate="2010-09-17T07:28:22.550" Score="5" ViewCount="1722" Body="&lt;p&gt;&lt;a href=&quot;http://mitpress.mit.edu/catalog/item/default.asp?ttype=2&amp;amp;tid=7334&quot; rel=&quot;nofollow&quot;&gt;Kearns and Vazirani&lt;/a&gt; (chapter 1) describe an efficient algorithm for PAC learning conjunctions of boolean variables $x_1, x_2, \ldots, x_n$, which starts with the hypothesis $$h=x_1\wedge\overline{x_1}\wedge x_2\wedge\overline{x_2}\cdots x_n\wedge\overline{x_n},$$&#xA;and, on each call to an oracle that returns a &lt;strong&gt;positive&lt;/strong&gt; example $a$, removes literals from $h$ to make it consistent with $a$. That is, if $a_i=0$, then you remove $x_i$ from $h$, otherwise you remove $\overline{x_i}$ from $h$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, if we don't receive enough examples, $h$ will still be unsatisfiable -- as it was at the beginning. So what are we supposed to do in this case? Remove some &quot;problematic&quot; literals at random?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks for your help!&lt;/p&gt;&#xA;" OwnerUserId="775" LastEditorUserId="123" LastEditDate="2010-09-20T21:21:12.320" LastActivityDate="2010-09-20T21:21:12.320" Title="PAC learning boolean conjunctions" Tags="&lt;lg.learning&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="1402" PostTypeId="2" ParentId="1168" CreationDate="2010-09-17T08:20:56.807" Score="50" Body="&lt;p&gt;&lt;a href=&quot;http://www.cs.huji.ac.il/~nati/PAPERS/expander_survey.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Expander graphs and their applications, S. Hoory, N. Linial, and A. Wigderson&lt;/a&gt; is an extremely nice survey on expander graphs. No surprise that it won the 2008 AMS Conant Prize. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I want to recall that expander graphs are the key ingredient in recent breakthroughs in TCS, eg.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://resources.mpi-inf.mpg.de/departments/d1/teaching/ws10/EG/Reingold_SL.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;log-space algorithm for undirected connectivity&lt;/a&gt; (by Reingold, STOC, 2005)&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://eccc.weizmann.ac.il/eccc-reports/2005/TR05-046/&quot; rel=&quot;nofollow noreferrer&quot;&gt;the alternative proof of the PCP Theorem&lt;/a&gt; (by Dinur, ECCC, TR05-046, 2005)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;and not so recent:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://hungary.pure.elsevier.com/en/publications/on-log-n-sorting-network&quot; rel=&quot;nofollow noreferrer&quot;&gt;AKS sorting network, which achieves depth &lt;span class=&quot;math-container&quot;&gt;$O(\log n)$&lt;/span&gt; and size &lt;span class=&quot;math-container&quot;&gt;$O(n \log n)$&lt;/span&gt; for sorting &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt; inputs&lt;/a&gt; (by Ajtai, Komlós and Szemerédi, STOC, 1983)&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.cs.yale.edu/homes/spielman/Research/ITsuperc.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Linear-time encodable and decodable error-correcting codes&lt;/a&gt; (by Spielman, STOC, 1995)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="1080" LastEditorUserId="52310" LastEditDate="2019-09-20T08:45:56.500" LastActivityDate="2019-09-20T08:45:56.500" CommentCount="2" CommunityOwnedDate="2010-09-17T08:20:56.807" ContentLicense="CC BY-SA 4.0" />
  <row Id="1403" PostTypeId="2" ParentId="1132" CreationDate="2010-09-17T08:50:37.600" Score="4" Body="&lt;p&gt;This is not an answer, but too long for a comment. I'm trying to explain why the question, as posed, may be hard to understand.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are two ways to define computational complexity for a device &lt;em&gt;X&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The first and most natural way is &lt;em&gt;intrinsic&lt;/em&gt;. One needs to say how the device &lt;em&gt;X&lt;/em&gt; uses the input, so that we may later look at how the size &lt;em&gt;n&lt;/em&gt; of the input affects the run time of the device. One also needs to say what counts as an &lt;em&gt;operation&lt;/em&gt; (or &lt;em&gt;step&lt;/em&gt;). Then we simply let the device run on the input and count operations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The second is &lt;em&gt;extrinsic&lt;/em&gt;. We define computational complexity for another device &lt;em&gt;Y&lt;/em&gt; and then we program &lt;em&gt;Y&lt;/em&gt; to act as a simulator for &lt;em&gt;X&lt;/em&gt;. Since there may be multiple ways for &lt;em&gt;Y&lt;/em&gt; to simulate &lt;em&gt;X&lt;/em&gt;, we need to add that we are supposed to use the best one. Let me say the same with other words: We say that &lt;em&gt;X&lt;/em&gt; takes $O(f(n))$ time on an input of size &lt;em&gt;n&lt;/em&gt; if there exists a simulator of &lt;em&gt;X&lt;/em&gt; implemented on machine &lt;em&gt;Y&lt;/em&gt; that takes $f(n)$ time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, an intrinsic definition for NFA says that it takes &lt;em&gt;n&lt;/em&gt; steps to process a string of length &lt;em&gt;n&lt;/em&gt;; an extrinsic definition that uses a RAM machine as device &lt;em&gt;Y&lt;/em&gt; says that the best known upper bound is &lt;em&gt;probably&lt;/em&gt; what David Eppstein answered. (Otherwise it would be strange that (1) the best practical implementation pointed in the other answer does not use the better alternative and (2) no one here indicated a better alternative.) Note also that strictly speaking your device &lt;em&gt;X&lt;/em&gt; is the regular expression, but since the NFA has the same size it is safe to take it as being the device &lt;em&gt;X&lt;/em&gt; you are looking at.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, when you use the second kind of definition it makes little sense to ask how restricting the features of device &lt;em&gt;X&lt;/em&gt; affects the running time. It does however make sense to ask how restricting the features of device &lt;em&gt;Y&lt;/em&gt; affects the running time. Obviously, allowing more powerful machines &lt;em&gt;Y&lt;/em&gt; might allow us to simulate &lt;em&gt;X&lt;/em&gt; faster. So, if we assume one of the most powerful machines that could be implemented (this rules out nondeterministic machines, for example) and come up with a lower bound $\Omega(f(n))$, then we know that &lt;em&gt;no&lt;/em&gt; less powerful machine could do better.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, in a sense, the best answer you could hope for is a proof in something like the cell probe model that simulating an NFA needs a certain amount of time. (Note that if you take into account the conversion NFA to DFA you need time to write down the big DFA, so memory isn't the only issue there.)&lt;/p&gt;&#xA;" OwnerUserId="236" LastActivityDate="2010-09-17T08:50:37.600" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1404" PostTypeId="2" ParentId="1384" CreationDate="2010-09-17T09:09:29.497" Score="5" Body="&lt;p&gt;An extremely simple (but not optimal) solution is to just pick an appropriate set of 32-bit labels like&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;809304A4 81086020 85408488 86001692 8847B001 90345788 B5B20840 E0300CB0&#xA;F2509412 00201046 00220002 002881C5 00401294 00473641 00908800 00E03790&#xA;010488F0 01100801 0110A012 01444A06 02B81688 04212440 044818B8 05EC2980&#xA;080000C8 08C27034 08C41000 10900521 13408948 14A00284 19189450 1CA9C469&#xA;20100542 20901B3A 210760A5 21450B84 22904411 283A0220 2C850080 31400049&#xA;34C44604 407C4260 4A465204 5CE00080 6080166C 61A93080 62080010 6300084B&#xA;68490802 6CA08029&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;and then take XOR of all labels that are present. I think this particular set of labels allows you to identify up to 5 missing events. This might be close to the spirit of your question; the part of &quot;combining&quot; the numbers is extremely simple.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;However, something to keep in mind with any approach. As you can't identify an arbitrary set of missing events with 32-bit labels, then you might have different kinds of weaker goals like these:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Detect if there are any missing events.&lt;/li&gt;&#xA;&lt;li&gt;Count the exact number of missing events.&lt;/li&gt;&#xA;&lt;li&gt;If the number of missing events is at most $k$, find out what are the missing events.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;For example, this particular approach solves the goal 3 (for $k = 5$) but not necessarily goals 1 and 2. It would be good if you clarified what are the exact requirements.&lt;/p&gt;&#xA;" OwnerUserId="74" LastActivityDate="2010-09-17T09:09:29.497" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1405" PostTypeId="1" CreationDate="2010-09-17T09:26:06.923" Score="15" ViewCount="486" Body="&lt;p&gt;There are two main, studied theories of the lambda calculus, the beta theory and its Post-complete extension, the beta-eta theory.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Do these two theories have an in-between, a kind of intermediate eta rule that gives a confluent rewrite theory?  Is there some interesting notion of partial extensionality that it corresponds to?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is the second question I have asked in pursuit of intermediate eta, the previous being &lt;a href=&quot;https://cstheory.stackexchange.com/questions/246/extensions-of-beta-theory-of-lambda-calculus&quot;&gt;Extensions of beta-theory of lambda calculus&lt;/a&gt;, which led to question about an orthogonal notion of extension, &lt;a href=&quot;https://cstheory.stackexchange.com/questions/398/characterising-invisible-equivalences-by-confluent-rewrite-rules&quot;&gt;Characterising invisible equivalences by confluent rewrite rules&lt;/a&gt;, which sought to clarify an answer to that earlier question.&lt;/p&gt;&#xA;" OwnerUserId="270" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.743" LastActivityDate="2014-03-24T08:12:51.137" Title="Are there intermediate eta theories for the lambda calculus?" Tags="&lt;lo.logic&gt;&lt;lambda-calculus&gt;&lt;extensionality&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="1406" PostTypeId="1" AcceptedAnswerId="1448" CreationDate="2010-09-17T11:27:01.447" Score="10" ViewCount="536" Body="&lt;p&gt;I am interested in &quot;hard&quot; individual instances of NP-complete problems.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Ryan Williams &lt;a href=&quot;http://rjlipton.wordpress.com/2010/09/15/an-update-on-vinay-deolalikars-proof/#comment-6757&quot;&gt;discussed the SAT0 problem at Richard Lipton's blog&lt;/a&gt;.  SAT0 asks whether a SAT instance has the specific solution consisting of all 0's.  This got me thinking about constructing SAT instances that are likely to be &quot;hard&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider a SAT instance $\phi$ with $m$ clauses and $n$ variables, where $\alpha = m/n$ is &quot;large enough&quot;, in the sense that it falls into the region beyond the phase transition, where nearly all instances are unsatisfiable.  Let $x$ be a random assignment to the values of $\phi$.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is it possible to modify $\phi$ to obtain a new instance $\phi|x$, so that $\phi|x$ is &quot;largely similar&quot; to $\phi$, but so that $x$ is a satisfying assigment for $\phi|x$?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;For instance, one could try to add to each clause a randomly chosen literal from the solution, that does not already occur in the clause.  This will guarantee that $x$ is a solution.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Or is this hopeless, leading to a fast algorithm for finding the &quot;hidden&quot; solution, along the lines of the following recent paper?&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Uriel Feige and Dorit Ron, &lt;em&gt;Finding hidden cliques in linear time&lt;/em&gt;, &lt;a href=&quot;http://www.dmtcs.org/dmtcs-ojs/index.php/proceedings/article/viewArticle/dmAM0114&quot;&gt;DMTCS proc. AM, 2010, 189–204.&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I am aware of the discussion by Cook and Mitchell and work they reference.  However, I couldn't find anything about what happens to the structure of a formula when one tries to explicitly embed a satisfying assignment into it.  If this is folklore, pointers would be very welcome!&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Stephen A. Cook and David G. Mitchell, &lt;em&gt;Finding Hard Instances of the Satisfiability Problem: A Survey&lt;/em&gt;, DIMACS Series in Discrete Mathematics and Theoretical Computer Science &lt;strong&gt;35&lt;/strong&gt; 1–17, AMS, ISBN 0-8218-0479-0, 1997. (&lt;a href=&quot;http://www.cs.toronto.edu/~sacook/homepage/SAT.ps&quot;&gt;PS&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="109" LastEditorUserId="109" LastEditDate="2010-09-17T11:58:37.603" LastActivityDate="2010-10-02T02:51:04.873" Title="Is embedding a solution feasible for SAT?" Tags="&lt;cc.complexity-theory&gt;&lt;sat&gt;&lt;hard-instances&gt;" AnswerCount="3" CommentCount="0" FavoriteCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="1407" PostTypeId="2" ParentId="1400" CreationDate="2010-09-17T11:48:00.610" Score="10" Body="&lt;p&gt;I'm not so familiar with this paper, but I will try to give a rough answer to each of your questions after a cursory skim.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Grover's algorithm can indeed viewed with this notion of hitting time. You need to decide when to measure the system, and even though T is constant for all results, it is still important to calculate. Here T is certainly not $O(\mbox{dist}(v_0, v^f))$ (which in this case is 1), but rather $O(\sqrt{n})$, so your assumption that $T=O(\mbox{dist}(v_0, v^f))$ is not valid here.&lt;/li&gt;&#xA;&lt;li&gt;I assume the author is taking an entire packet to do the random walk. Obviously this requires a somewhat more complicated unitary, but I don't really see an issue. Alternately, Burgarth and Bose have a very nice scheme for encoding information across identical graphs which would work too if you simply replace their 1d chains with the network of choice (&lt;a href=&quot;http://arxiv.org/abs/quant-ph/0406112&quot; rel=&quot;nofollow&quot;&gt;quant-ph/0406112&lt;/a&gt;).&lt;/li&gt;&#xA;&lt;li&gt;Well, you don't quite need this notion of hitting time. Hypercubes have perfect state transfer (see for example &lt;a href=&quot;http://arxiv.org/abs/quant-ph/0309131&quot; rel=&quot;nofollow&quot;&gt;quant-ph/0309131&lt;/a&gt; and &lt;a href=&quot;http://arxiv.org/abs/quant-ph/0411020&quot; rel=&quot;nofollow&quot;&gt;quant-ph/0411020&lt;/a&gt;), so you can view transport on a hypercube as an interferometer with the Mach-Zender interferometer corresponding to the 2d case.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;UPDATE: (To answer the updated question regarding random walks on a grid or other lattice)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One approach to the measurement issue you highlight with the spatial search problem is to simply make a measurement at each timestep such that it returns 1 iff the the vertex the walker is currently at (say $v_t$) is equal to $v^f$ and the current timestep t is the hitting time for that vertex. This should avoid the issue of collapsing the wave function, as the measurement is only made for each vertex once the hitting time is reached, and it only registers collapses onto a location if that location is the correct result.&lt;/p&gt;&#xA;" OwnerUserId="204" LastEditorUserId="204" LastEditDate="2010-09-24T11:43:41.393" LastActivityDate="2010-09-24T11:43:41.393" CommentCount="8" ContentLicense="CC BY-SA 2.5" />
  <row Id="1408" PostTypeId="2" ParentId="1406" CreationDate="2010-09-17T12:09:54.253" Score="6" Body="&lt;p&gt;If I correctly understand the very core of your question, you want to take a relatively easy instance (since you put yourself in an area where $\frac{m}{n}&gt; 4.3$), and transform it into a hard one by embedding a solution. I doubt that this would work.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Experimental data suggest that, when constructing a random instance &quot;around&quot; a predefined solution $x$, such instance will be easier than usual (compared to similar instances having the same $n$ and $m$). It's like if the hidden solution helps the SAT solver, guiding it through the search space. Normally, to construct such an instance, we generate random clauses as usual (e.g. choosing $k$ literals at random and negating each of them with probability $p = \frac{1}{2}$) but we discard those clauses which are not satisfied by our hidden solution $x$. For what concerns your approach of constructing $\phi|x$ from and hard instance $\phi$: I've never tried that, but I &quot;feel&quot; that $\phi|x$ will become easier, if not trivial. I believe that doing that would augment the hit count of $x$'s literals (the hit count of a literal $l$ is the number of occurrences of $l$ in a given formula), and that this would drive the SAT solver to the target. Maybe the solution spaces of $\phi$ and $\phi|x$ would be similar (if not almost identical), as happens in Ryan Williams' example of SAT0 (almost identical solution spaces, but completely different hardness). Did you try your approach in practice? It would be interesting to see how the same SAT solver behaves on $\phi$ and on $\phi|x$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT 1 (23rd Sep 2010):&#xA;After thinking a little bit more, I feel that actually $\phi|x$ solution space would be very different than $\phi$'s. You are adding a literal to each clause, so you're giving more degree of freedom to such clauses (i.e. each clause has more chance to be satisfied): probably the resulting solution space would be massively transformed.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT 2 (1st Oct 2010):&#xA;I've thought about the following very simple and not original idea. Given an initial instance $\phi$ and an assignment $x$:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Remove from $\phi$ all those clauses unsatisfied by $x$. This will enlarge the solution space, and &lt;em&gt;should&lt;/em&gt; embed $x$ in it.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Suppose you removed $m_x$ clauses. Now randomly add $m_x$ new clauses, taking care that they are not unsatisfied by $x$ (this will narrow the solution space again, but without pushing $x$ out of it).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;I don't know if this will work or not. I didn't try it, yet. More precisely, I'm not sure if Step 1 always manages to embed $x$ in the solution space (maybe $x$ is ruled out by some combination of clauses, even if each of them is not unsatisfied by $x$?).&lt;/p&gt;&#xA;" OwnerUserId="947" LastEditorUserId="947" LastEditDate="2010-10-01T12:25:03.780" LastActivityDate="2010-10-01T12:25:03.780" CommentCount="7" ContentLicense="CC BY-SA 2.5" />
  <row Id="1409" PostTypeId="2" ParentId="1401" CreationDate="2010-09-17T12:24:48.427" Score="9" Body="&lt;p&gt;The first positive example will remove enough literals so that the conjunction will become satisfiable.  For example if the first positive example is $x_1\overline{x_2}x_3$ this removes $\overline{x_1}$, $x_2$ and $\overline{x_3}$. So the only time you will end up with an unsatisfiable clause is if you get only negative examples, which is okay, as the correct thing to do is to classify everything as negative anyway.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also remember that in PAC learning, the learner gets to choose how many examples to see -- so you generally don't have to worry about &quot;not getting enough examples&quot; (as long as you need a number of examples polynomial in the number of relevant parameters).&lt;/p&gt;&#xA;" OwnerUserId="123" LastEditorUserId="123" LastEditDate="2010-09-17T13:35:16.243" LastActivityDate="2010-09-17T13:35:16.243" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="1410" PostTypeId="1" AcceptedAnswerId="1414" CreationDate="2010-09-17T15:28:03.683" Score="27" ViewCount="19218" Body="&lt;p&gt;I don't quite understand why almost all SAT solvers use CNF instead of DNF. It seems to me that solving SAT is easier using DNF. After all, you just have to scan through the set of implicants and check whether one of them contains not both a variable and its negation. For CNF, there's no simple procedure like this.&lt;/p&gt;&#xA;" OwnerDisplayName="Martin" LastEditorUserId="186" LastEditDate="2011-04-05T00:10:01.260" LastActivityDate="2015-06-18T14:01:31.960" Title="Why is CNF used for SAT and not DNF?" Tags="&lt;ds.algorithms&gt;&lt;sat&gt;" AnswerCount="7" CommentCount="3" FavoriteCount="19" ContentLicense="CC BY-SA 2.5" />
  <row Id="1411" PostTypeId="1" CreationDate="2010-09-17T15:44:22.733" Score="5" ViewCount="3575" Body="&lt;p&gt;I often want to give students a broad view of theoretical computer science, in the beginning of algorithms class or when advising a new student. It is hard for me to decide which sub-areas to talk about and how much emphasis to put on each of them. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Therefore, my question is: &lt;em&gt;What are the main sub-areas of theoretical computer science and what is their relative &quot;size&quot;?&lt;/em&gt; Let's say the size is the number of researchers who work mostly in that area.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course the division into sub-areas is a clustering problem with no unique answer. I also don't expect people to have precise statistics for the size of each area, but some feeling of the relative sizes is already helpful.&lt;/p&gt;&#xA;" OwnerUserId="169" LastActivityDate="2010-09-17T19:37:18.477" Title="What are the main sub-areas of theoretical computer science?" Tags="&lt;soft-question&gt;" AnswerCount="2" CommentCount="6" FavoriteCount="1" CommunityOwnedDate="2010-09-17T23:46:59.183" ContentLicense="CC BY-SA 2.5" />
  <row Id="1412" PostTypeId="2" ParentId="1410" CreationDate="2010-09-17T15:48:10.550" Score="11" Body="&lt;p&gt;&lt;strong&gt;7&lt;sup&gt;th&lt;/sup&gt; September 2013: Further answer added, check bottom of page&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Basically, a DNF formula is a disjunction of clauses $c_1 \lor ... \lor c_m$, where each clause $c_i = l_{i,1} \land ... \land l_{i,k}$ is a conjuction of literals. Let's call a clause $c_i$ conflicting if and only if it contains both a literal $l$ and its negation $\lnot l$. It's easy to see that each non-conflicting clause just encodes $2^{n-k}$ solutions of the formula. So the whole DNF is just an enumeration of solutions. A formula may have exponentially many solutions, so the corresponding DNF formula may have exponentially many clauses. Try to convert this CNF formula:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$l_1 \lor l_2 \lor l_3 \lor l_4$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$l_5 \lor l_6 \lor l_7 \lor l_8$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$l_9 \lor l_{10} \lor l_{11} \lor l_{12}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$l_{13} \lor l_{14} \lor l_{15} \lor l_{16}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$l_{17} \lor l_{18} \lor l_{19} \lor l_{20}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;to its corresponding DNF formula: you'll get too many clauses. In one word: CNF is compact, while DNF is not; CNF is implicit, while DNF is explicit.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The following problem is NP-complete: given a DNF instance, is there an assignment of variables that falsifies all the clauses?&lt;/p&gt;&#xA;" OwnerUserId="947" LastEditorUserId="947" LastEditDate="2013-09-07T10:56:14.383" LastActivityDate="2013-09-07T10:56:14.383" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="1413" PostTypeId="2" ParentId="1410" CreationDate="2010-09-17T15:48:58.597" Score="18" Body="&lt;p&gt;SAT solvers don't &quot;use&quot; CNF -- they are (often) given CNF as inputs and do their best to solve the CNF they are given.  As your question points out, representation is everything -- it is much easier to tell whether a DNF is satisfiable than a CNF of the same size.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This leads to the question of why SAT solvers can't just turn their given CNF into a DNF and solve the resulting DNF, and trying this is a good exercise to go through in understanding issues of representation.&lt;/p&gt;&#xA;" OwnerUserId="123" LastEditorUserId="123" LastEditDate="2010-09-17T16:04:20.803" LastActivityDate="2010-09-17T16:04:20.803" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1414" PostTypeId="2" ParentId="1410" CreationDate="2010-09-17T16:01:49.820" Score="62" Body="&lt;p&gt;The textbook reduction from SAT to 3SAT, due to Karp, transforms an arbitrary boolean formula $\Phi$ into an “equivalent” CNF boolean formula $\Phi'$ &lt;strong&gt;of polynomial size&lt;/strong&gt;, such that $\Phi$ is satisfiable if and only if $\Phi'$ is satisfiable.  (Strictly speaking, these two formulas are not equivalent, because $\Phi'$ has additional variables, but the value of $\Phi'$ doesn't actually depend on those new variables.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;No similar reduction from arbitrary boolean formulas into DNF formulas is known; all known transformations increase the size of the formula exponentially.  Moreover, unless P=NP, no such reduction is possible!&lt;/p&gt;&#xA;" OwnerUserId="111" LastActivityDate="2010-09-17T16:01:49.820" CommentCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="1415" PostTypeId="2" ParentId="1263" CreationDate="2010-09-17T16:08:31.163" Score="55" Body="&lt;p&gt;I am joining the discussion fairly late, but I will try to address several questions that were asked earlier.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First, as observed by Aaron Sterling, it is important to first decide what we mean by &quot;truly random&quot; numbers, and especially if we are looking at things from a computational complexity or computability perspective.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let me argue however that in complexity theory, people are mainly interested in &lt;strong&gt;pseudo&lt;/strong&gt;-randomness, and &lt;strong&gt;pseudo&lt;/strong&gt;-random generators, i.e. functions from strings to strings such that the distribution of the output sequences cannot be told apart from the uniform distribution by some &lt;em&gt;efficient&lt;/em&gt; process (where several meanings of &lt;strong&gt;efficient&lt;/strong&gt; can be considered, e.g. polytime computable, polynomial-size circuits etc). It is a beautiful and very active research area, but I think most people would agree that the objects it studies are not truly random, it is enough that they just &lt;strong&gt;look&lt;/strong&gt; random (hence the term &quot;pseudo&quot;). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In computability theory, a concensus has emerged to what should be a good notion of &quot;true randomness&quot;, and it is indeed the notion of Martin-Löf randomness which prevailed (other ones have been proposed and are interesting to study but do not bare all the nice properties Martin-Löf randomness has). To simplify matters, we will consider randomness for infinite binary sequences (other objects such as functions from strings to strings can easily be encoded by such sequence). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;An infinite binary sequence $\alpha$ is Martin-Löf random if &lt;strong&gt;no&lt;/strong&gt; computable process  (even if we allow this process to be computable in triple exponential time or higher) can detect a randomness flaw. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;(1) What do we mean by &quot;randomness flaw&quot;? That part is easy: it is a set of measure 0, i.e. a property that almost all sequences do not have (here we talk about &lt;strong&gt;Lebesgue measure&lt;/strong&gt; i.e. the measure where each bit has a $1/2$ probability to be $0$ independently of all the other bits). An example of such a flaw is &quot;having asymptotically 1/3 of zeroes and 2/3 of ones&quot;, which violates the law of large numbers. Another example is &quot;for every n, the first 2n bits of $\alpha$ are perfectly distributed (as many zeroes as ones)&quot;. In this case the law of large numbers is satified, but not the central limit theorem. Etc etc.&lt;br&gt;&#xA;(2) How can a computable process test that a sequence does not belong to a particular set of measure 0? In other words, what sets of measure 0 can be computably described? This is precisely what Martin-Löf tests are about. A Martin-Löf test is a computable procedure which, given an input k, computably (i.e., via a Turing machine with input $k$) generates a sequence of strings $w_{k,0}$, $w_{k,1}$, ... such that the set $U_k$ of infinite sequences starting by one of those $w_{k,i}$ has measure at most $2^{-k}$ (if you like topology, notice that this is an open set in the product topology for the set of infinite binary sequences). Then the set $G=\bigcap_k U_k$ has measure $0$ and is referred to as &lt;strong&gt;Martin-Löf nullset&lt;/strong&gt;. We can now define Martin-Löf randomness by saying that &lt;strong&gt;an infinite binary sequence $\alpha$ is Martin-Löf random if it does not belong to any Martin-Löf nullset&lt;/strong&gt;.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This definition might seem technical but it is widely accepted as being the right one for several reasons:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;it is effective enough, i.e. its definition involves computable processes&lt;/li&gt;&#xA;&lt;li&gt;it is strong enough: any &quot;almost sure&quot; property you may find in a probability theory textbook (law of large numbers, law of iterated logarithm, etc) can be tested by a Martin-Löf test (although this is sometimes hard to prove)&lt;/li&gt;&#xA;&lt;li&gt;it has been independently proposed by several people using different definitions (in particular the Levin-Chaitin definition using Kolmogorov complexity); and the fact that they all lead to the same concept is a hint that it should be the right notion (a little bit like the notion of computable function, which can be defined via Turing machines, recursive functions, lambda-calculus, etc.) &lt;/li&gt;&#xA;&lt;li&gt;the mathematical theory behind it is very nice! see the three excellent books &lt;em&gt;An Introduction to Kolmogorov Complexity and Its Applications&lt;/em&gt; (Li and Vitanyi), &lt;em&gt;Algorithmic randomness and complexity&lt;/em&gt; (Downey and Hirschfeldt) &lt;em&gt;Computability and Randomness&lt;/em&gt; (Nies).&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;What does a Martin-Löf random sequence look like? Well, take a perfectly balanced coin and start flipping it. At each flip, write a 0 for heads and a 1 for tails. Continue until the end of time. That's what a Martin-Löf sequence looks like :-) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now back to the initial question: is there a computable way to generate a Martin-Löf random sequence? Intuitively the answer should be &lt;strong&gt;NO&lt;/strong&gt;, because if we can use a computable process to generate a sequence $\alpha$, then we can certainly use a computable process to describe the singleton {$\alpha$}, so $\alpha$ is not random. Formally this is done as follows. Suppose a sequence $\alpha$ is computable. Consider the following Martin-Löf test: for all $k$, just output the prefix $a_k$ of $\alpha$ of length $k$, and nothing else. This has measure at most (in fact, exactly) $2^{-k}$, and the intersection of the sets $U_k$ as in the definition is exactly {${\alpha}$}. QED!!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In fact a Martin-Löf random sequence $\alpha$ is incomputable in a much stronger sense: if some oracle computation with oracle $\beta$ (which itself is an infinite binary sequence) can compute $\alpha$, then for all $n$, $n-O(1)$ bits of $\beta$ are needed to compute the first $n$ bits of $\alpha$ (this is in fact a &lt;strong&gt;characterization&lt;/strong&gt; of Martin-Löf randomness, which unfortunately is rarely stated as is in the literature). &lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Ok, now the &quot;edit&quot; part of Joseph's question: Is it the case that a TM with access to a pure source of randomness (an oracle?), can compute a function that a classical TM cannot?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;From a computability perspective, the answer is &quot;yes and no&quot;. If you are given access to a random source as an oracle (where the output is presented as an infinite binary sequence), with probability 1 you will get a Martin-Löf random oracle, and as we saw earlier Martin-Löf random implies non-computable, so it suffices to output the oracle itself! Or if you want a function $f: \mathbb{N} \rightarrow \mathbb{N}$, you can consider the function $f$ which for all $n$ tells you how many zeroes there are among the first $n$ bits of your oracle. If the oracle is Martin-Löf random, this function will be non-computable. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;But of course you might argue that this is cheating: indeed, for a different oracle we might get a different function, so there is a non-reproducibility problem. Hence another way to understand your question is the following: is there a function $f$ which is non-computable, but which can be &quot;computed with positive probability&quot;, in the sense that there is an Turing machine with access to a random oracle which, with positive probability (over the oracle), computes $f$. The answer is no, due to a theorem of Sacks whose proof is quite simple. Actually it has mainly been answered by Robin Kothari: if the probability for the TM to be correct is greater than 1/2, then one can look for all $n$ at all the possible oracle computations with input $n$ and find the output which gets the &quot;majority vote&quot;, i.e. which is produced by a set of oracles of measure more than 1/2 (this can be done effectively). The argument even extend to smaller probabilities: suppose the TM outputs $f$ with probability $\epsilon &gt;0$. By Lebesgue's density theorem, there exists a finite string $\sigma$ such that if we fix the first bits of the oracle to be exactly $\sigma$, and then get the other bits at random, then we compute $f$ with probability at least 0.99. By taking such a $\sigma$, we can apply the above argument again. &lt;/p&gt;&#xA;" OwnerUserId="1182" LastEditorUserId="1182" LastEditDate="2010-09-17T17:05:40.980" LastActivityDate="2010-09-17T17:05:40.980" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="1417" PostTypeId="2" ParentId="1411" CreationDate="2010-09-17T17:02:16.867" Score="4" Body="&lt;p&gt;Also I wonder if 'size' is the right metric. that tends to vary as subfields come in and out of fashion. For example, a visitor from the 1980s would be very puzzled as to where all the parallel algorithms disappeared to. Someone attending SoCG in the last five years would think that we should call it the Symposium on Computational Topology :). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Maybe the best thing to do is to let the student browse proceedings from theory conferences to get a sense of what's in vogue RIGHT NOW, and emphasize that this answer will change over time. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2010-09-17T17:02:16.867" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="1418" PostTypeId="1" AcceptedAnswerId="1423" CreationDate="2010-09-17T18:36:31.320" Score="7" ViewCount="583" Body="&lt;p&gt;I recently got interested in data stream algorithms to the point that I'd like to study the topic and then teach it to someone.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'd be thus grateful for pointers to really good sources on the topic, t.i. papers presenting major ideas in a particularly articulate way, papers with clever proofs of clever theorems, just good overviews of the state of the art, whatever.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My two cents:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.cs.dartmouth.edu/~ac/Teach/CS85-Fall09/Notes/lecnotes.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Lecture notes&lt;/a&gt; from the Dartmouth University, 2009. This is the best source I've found so far.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://crpit.com/confpapers/CRPITV94Ganguly.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Distributing Frequency-Dependent Data Stream Computations&lt;/a&gt;, described in &lt;a href=&quot;https://cstheory.stackexchange.com/questions/1290/divide-and-conquer-data-stream-algorithms/1340#1340&quot;&gt;my answer&lt;/a&gt; to a different (also mine) question.&lt;/li&gt;&#xA;&lt;li&gt;The book &lt;a href=&quot;http://www.cs.rutgers.edu/~muthu/&quot; rel=&quot;nofollow noreferrer&quot;&gt;&quot;Data streams: algorithms and applications&quot;&lt;/a&gt; (I haven't read it yet)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="326" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2010-09-20T23:24:37.690" Title="Best sources on data stream algorithms" Tags="&lt;reference-request&gt;&lt;big-list&gt;&lt;data-streams&gt;" AnswerCount="3" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="1419" PostTypeId="2" ParentId="1384" CreationDate="2010-09-17T18:50:07.840" Score="1" Body="&lt;p&gt;It isn't clear to me from the question whether more than one event could be missing. Here I propose a solution for the case where only 1 event is missing.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assign values based on a &lt;a href=&quot;http://www.distributed.net/OGR/en&quot; rel=&quot;nofollow&quot;&gt;Golomb Ruler&lt;/a&gt; - ``a set of non-negative integers such that no two distinct pairs of numbers from the set have the same difference''. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is a set of mark locations for a &lt;a href=&quot;http://www.research.ibm.com/people/s/shearer/grpp.html&quot; rel=&quot;nofollow&quot;&gt;51-mark Golomb Ruler&lt;/a&gt;:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;     1     8    26    39   149   223   247   355   384   419&#xA;   439   485   506   508   548   585   644   650   761   900&#xA;   936   950  1018  1035  1040  1110  1168  1217  1244  1289&#xA;  1322  1337  1480  1489  1492  1508  1670  1732  1785  1815&#xA;  1826  1858  1912  1983  2043  2095  2099  2146  2156  2190&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;The maximum value if all 50 events are present is 2190. Subtract the value returned by the function from this to determine which distance is missing and look it up to determine which event is missing.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Example: If the function return value is 2183 then the missing value is the one with distance 2190-2183 = 7. The 2nd mark has distance 7 therefore the event associated with that mark was not seen.&lt;/p&gt;&#xA;" OwnerUserId="1181" LastActivityDate="2010-09-17T18:50:07.840" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1420" PostTypeId="2" ParentId="1418" CreationDate="2010-09-17T19:07:25.130" Score="2" Body="&lt;p&gt;Another source to track is &lt;a href=&quot;http://polylogblog.wordpress.com/&quot; rel=&quot;nofollow&quot;&gt;Andrew McGregor's blog&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2010-09-17T19:07:25.130" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1421" PostTypeId="2" ParentId="1411" CreationDate="2010-09-17T19:37:18.477" Score="2" Body="&lt;p&gt;If you look at:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://arxiv.org/&quot; rel=&quot;nofollow&quot;&gt;http://arxiv.org/&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;you can see how they organize the different parts of Computer Science and also see the relative number of contributions that are being posted to the different parts.&lt;/p&gt;&#xA;" OwnerUserId="987" LastActivityDate="2010-09-17T19:37:18.477" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="1423" PostTypeId="2" ParentId="1418" CreationDate="2010-09-17T21:32:05.007" Score="6" Body="&lt;p&gt;Piotr Indyk has some lecture notes on streaming and related topics at stellar.mit.edu/S/course/6/fa07/6.895&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.madalgo.au.dk/html_sider/2_5_Events/SS2007/FrontPage_SS2007.html&quot;&gt;A MADALGO summer school a few years ago&lt;/a&gt; also has some good notes. I would say all the papers listed in the bibliography there are good reads for anyone interested in the area.&lt;/p&gt;&#xA;" OwnerUserId="89" LastActivityDate="2010-09-17T21:32:05.007" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1424" PostTypeId="2" ParentId="305" CreationDate="2010-09-18T03:21:18.567" Score="9" Body="&lt;p&gt;The PTAS for Steiner tree in planar graphs has a ridiculous dependence on epsilon. However there is &lt;a href=&quot;http://www.siam.org/proceedings/alenex/2009/alx09_012_tazaris.pdf&quot;&gt;an implementation&lt;/a&gt; that shows a surprisingly good performance in practice.&lt;/p&gt;&#xA;" OwnerUserId="49" LastActivityDate="2010-09-18T03:21:18.567" CommentCount="0" CommunityOwnedDate="2010-09-18T03:21:18.567" ContentLicense="CC BY-SA 2.5" />
  <row Id="1425" PostTypeId="1" AcceptedAnswerId="1446" CreationDate="2010-09-18T04:09:20.130" Score="15" ViewCount="2874" Body="&lt;p&gt;I'm always intrigued by the lack of numerical evidence from experimental mathematics for or against the P vs NP question. While the Riemann Hypothesis has some supporting evidence from numerical verification, I'm not aware of similar evidence for the P vs NP question. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Additionally, I'm not aware of any direct physical world consequences of the existence of undecidable problems (or existence of uncomputable functions). Protein folding is NP-complete problem but it appears to be taking place very efficiently in biological systems. Scott Aaronson proposed using the NP Hardness Assumption as a principle of physics. He states the assumption informally as &quot;&lt;em&gt;NP-complete problems are intractable in the physical world&lt;/em&gt;&quot;. &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Assuming NP Hardness Assumption, Why is it hard to design a scientific experiment that decides whether our universe respects the NP Hardness Assumption or not?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Also, Is there any known numerical evidence from experimental mathematics for or against $P\ne NP$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT:&lt;/strong&gt; Here is a nice presentation by Scott Aaronson titled &lt;a href=&quot;http://www.scottaaronson.com/talks/colloq2.ppt&quot;&gt;Computational Intractability As A Law of Physics&lt;/a&gt;&#xA;&lt;a href=&quot;http://www.scottaaronson.com/talks/colloq2.ppt&quot;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2010-09-20T06:55:35.340" LastActivityDate="2013-07-24T00:17:01.690" Title="Intractability of NP-complete problems as a principle of physics?" Tags="&lt;cc.complexity-theory&gt;&lt;soft-question&gt;&lt;big-picture&gt;&lt;experimental&gt;" AnswerCount="10" CommentCount="2" FavoriteCount="8" ContentLicense="CC BY-SA 2.5" />
  <row Id="1426" PostTypeId="2" ParentId="1317" CreationDate="2010-09-18T04:11:14.000" Score="12" Body="&lt;p&gt;BTW: The list of known CC-complete problems has grown since both versions of the book.   See &lt;a href=&quot;http://onlinelibrary.wiley.com/doi/10.1002/cplx.20238/abstract&quot;&gt;this paper&lt;/a&gt; by Greenlaw and Kanlabutra.&lt;/p&gt;&#xA;" OwnerUserId="17875" LastActivityDate="2010-09-18T04:11:14.000" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1427" PostTypeId="1" AcceptedAnswerId="2224" CreationDate="2010-09-18T04:39:18.907" Score="8" ViewCount="503" Body="&lt;p&gt;I've been reading a paper by a mathematical chemist.  He proposes some indices to measure the complexity of molecules.  From here on in, instead of molecules, think undirected connected graphs: a vertex is an atom, and an edge is a bond between atoms.  It's possible to consider colorings of the vertices, to tell the Nitrogens apart from the Carbons, say, but I'll ignore that part for now.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The point: the indices he suggests are motivated by heuristics and experimental &quot;looks good so far&quot;-ness.  I think there must be some actual theory known about some of these quantities, and I'm hoping to get some pointers here.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Fix a graph $G$.  Let $C$ and $C'$ be two covers of $G$.  Say $C$ and $C'$ are the &lt;i&gt;same kind&lt;/i&gt; of cover if they contain the same types of subgraphs in equal numbers.  (Note $C$ and $C'$ do not have to be isomorphic.)  Now we define the following quantities:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$k_S(G) =$ number of kinds of minimal edge clique covers of $G$&lt;br&gt;&#xA;$k_T(G) =$ total number of minimal edge clique covers of $G$&lt;br&gt;&#xA;$k^{bi}_S(G) =$ same as $k_S(G)$ but for bicliques&lt;br&gt;&#xA;$k^{bi}_T(G) = $ same as $k_T(G)$ but for bicliques&lt;br&gt;&#xA;$p_S(G) =$ number of kinds of partitions of the edges of $G$ into cliques&lt;br&gt;&#xA;$p_T(G) =$ total number of partitions of the edges of the graph into cliques&lt;br&gt;&#xA;$p^{bi}_S(G), p^{bi}_T(G)$ as above, but with partitions of $G$ into bicliques&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Empirically, it is apparently easier to calculate the $p$ measures than it is to calculate the $k$ measures.  I expect something must be known somewhere about calculating some of these quantities.  Can anyone provide algorithms, computational hardness, etc.?  Thanks.&lt;/p&gt;&#xA;" OwnerUserId="30" LastEditorUserId="186" LastEditDate="2010-10-15T18:49:51.373" LastActivityDate="2010-10-15T18:49:51.373" Title="Algorithms and computational complexity of clique and biclique covers" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;graph-algorithms&gt;&lt;clique&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="1428" PostTypeId="2" ParentId="1425" CreationDate="2010-09-18T05:23:16.057" Score="4" Body="&lt;p&gt;The study of real-world situations from a computational perspective is quite hard due to the continuous-discrete &quot;jump&quot;. While all events in the real world (supposedly) are run in continuous time, the models we usually use are implemented in discrete time. Therefore, it is very tricky to define how small or large a step should be, what should be the size of the problem, etc.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have written a summary on an Aaronson's paper on the subject, however it is not in English. See &lt;a href=&quot;http://www.scottaaronson.com/papers/npcomplete.pdf&quot; rel=&quot;nofollow&quot;&gt;the original paper&lt;/a&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Personally, I have heard of another example of a real world problem modeled into computation. The paper is about control-systems models based on bird flocking.It turns out although it takes a short time in real life for birds, it's intractable (&quot;a tower of 2s&quot;) when analyzed as a computational problem. See &lt;a href=&quot;http://arxiv.org/abs/0905.4241&quot; rel=&quot;nofollow&quot;&gt;the paper by Bernard Chazelle&lt;/a&gt; for details.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[Edit: Clarified the part about the Chazelle paper. Thanks for providing precise information.]&lt;/p&gt;&#xA;" OwnerUserId="879" LastEditorUserId="879" LastEditDate="2010-09-18T18:55:06.033" LastActivityDate="2010-09-18T18:55:06.033" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="1429" PostTypeId="2" ParentId="1425" CreationDate="2010-09-18T05:58:29.693" Score="15" Body="&lt;p&gt;The real world is a constant-sized object, so there's no way to rule out a polynomial-time real world procedure to solve NP-complete problems that have a huge constant hidden in the big O notation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Anyway, besides this point, the assumption is a statement of the form &quot;there is no real world procedure that does ...&quot; How does one design an experiment to refute such a statement? If the assumption was something like &quot;If we do X in the real world, Y happens,&quot; then this can be refuted by performing X. The statement that we want asserts the non-existence of something, so I can't see an experiment deciding it. It could be shown as a physical consequence of the laws of physics, but this is even harder than P vs NP, because a Turing machine does follow the laws of physics. Since we've been unsuccessful even at showing that TMs cannot solve NP-complete problems in polynomial time, it seems completely hopeless to show that no physical process can solve NP-complete problems in polynomial time.&lt;/p&gt;&#xA;" OwnerUserId="206" LastActivityDate="2010-09-18T05:58:29.693" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="1430" PostTypeId="2" ParentId="1425" CreationDate="2010-09-18T06:01:20.900" Score="6" Body="&lt;p&gt;The definitions of &quot;polynomial time&quot; and &quot;exponential time&quot; describe the limiting behavior of the running time as the input size grows to infinity.  On the other hand, any physical experiment necessarily considers only inputs of bounded size.  Thus, there is absolutely no way to determine experimentally whether a given algorithm runs in polynomial time, exponential time, or something else.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Or in other words: what Robin said.&lt;/p&gt;&#xA;" OwnerUserId="111" LastActivityDate="2010-09-18T06:01:20.900" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="1431" PostTypeId="2" ParentId="1215" CreationDate="2010-09-18T06:10:06.277" Score="4" Body="&lt;p&gt;Graph Motif is NP-Complete problem on trees of maximum degree three:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Fellows, Fertin, Hermelin and Vialette, &lt;a href=&quot;http://www.springerlink.com/content/q513u6t47061p86w/&quot; rel=&quot;nofollow&quot;&gt;Sharp Tractability Borderlines for Finding Connected Motifs in Vertex-Colored Graphs&lt;/a&gt;&#xA;&lt;a href=&quot;http://www.springerlink.com/content/q513u6t47061p86w/&quot; rel=&quot;nofollow&quot;&gt;&lt;/a&gt;Lecture Notes in Computer Science, 2007, Volume 4596/2007, 340-351&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2010-09-18T06:20:19.573" LastActivityDate="2010-09-18T06:20:19.573" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1432" PostTypeId="2" ParentId="852" CreationDate="2010-09-18T09:17:21.083" Score="8" Body="&lt;p&gt;One can solve this problem either by a direct proof or using an extended version of Rice's theorem (Theorem II.4.2 in Oddifredi's book &lt;em&gt;Classical Recursion Theory I&lt;/em&gt;, where it is attributed to Myhill, Sheperdson, McNaughton and Shapiro). I'll start by the latter.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Rice's theorem says that given a property $P$ of languages:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;either $P$ is trivial (i.e. either all languages satisfy $P$, or none does)&lt;/li&gt;&#xA;&lt;li&gt;or the set $\mathcal{A}$ = {$M$ | $L(M)$ has the property $P$} is not computable &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;But here we want to know whether $\mathcal{A}$ can be recursively enumerable (the current trend is to say &quot;computably enumerable&quot; instead). This can happen: take for example: {$M$ | $M$ halts on at least 7 inputs}&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The generalized version of Rice's theorem says the following. Given a property $P$ of languages, the set $\mathcal{A}$ = {$M$ | $L(M)$ has the property $P$} is computably enumerable if and only if there exists a computably enumerable set $F$ of finite sets of strings such that: $M \in L \Leftrightarrow (\exists u \text{ finite})~[u \in F  \text{  and  }  u \subseteq L(M)]$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Notice that it makes sense to talk about a computably enumerable set of &lt;em&gt;finite sets of strings&lt;/em&gt;, as such objects can themselves be encoded by strings).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here we have the set $\mathcal{A}$ = {$M$ | $HP$ reduces to $L(M)$}. Suppose $\mathcal{A}$ is finite. Then there exists a computably enumerable set $F$ as above. Now&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;If $F$ is non-empty and contains a finite set of strings $u$, then let $M_u$ be a Turing machine whose domain $L(M_u)$ is exactly $u$ (this is easy to build). Then by definition of $F$, $M_u \in \mathcal{A}$, but this means that $HP$ reduces to $L(M_u)=u$, which is a finite set (hence computable), a contradiction since $HP$ is not computable.&lt;/li&gt;&#xA;&lt;li&gt;Or $F$ is empty, in which case $\mathcal{A}$ is also empty, but this is not the case as there &lt;strong&gt;does&lt;/strong&gt; exist a machine $M_{HP}$ whose domain is exactly $HP$ (as $HP$ is computably enumerable). &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;We have a contradiction!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But if you don't like using too powerful theorems we can do this directly, via an adaptation of Yohay's proof. Let $\mathcal{A}$ = {$M$ | $HP$ reduces to $L(M)$}. If $\mathcal{A}$ were computably enumerable, it would reduce to the halting problem $HP$. To show that this is not the case, we will show that some set &lt;strong&gt;harder than $HP$&lt;/strong&gt; can be reduced to $\mathcal{A}$. We'll take the following: $INF$ = {$M$ | $L(M)$ is infinite}. The fact that $HP$ reduces to $INF$ but not vice-versa is standard (if you don't believe me, here is a nice and fairly easy exercise for you!).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now we want to reduce $INF$ to $\mathcal{A}$. Let $M_{HP}$ be a fixed machine such that $L(M_{HP})=HP$. Let $M$ be any machine. Using $M$, construct the machine $M'$ which does the following.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For all input $x$, $M'$ counts the numbers of elements in $L(M)$. Whenever $n$ elements are found in $L(M)$, $M'$ runs the computation of $M_{HP}(x)$ during $n$ steps of computation. If this halts at any point, then $M'$ halts too, if not it waits to find more elements in $L(M)$ and repeats the process. There are two cases:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;If $M \notin INF$, then calling $k$ the number of elements of $L(M)$, by construction $M'$ will only emulate $M_{HP}$ during $k$ steps of computation for any input. For large inputs (|x|&gt;k), this will be insufficient as $k$ steps won't even be enough to read the input! Hence $M'$ will not halt for all inputs $x$ such that $|x|&gt;k$, hence $L(M')$ is finite, and hence $L(M') \notin HP$&lt;/li&gt;&#xA;&lt;li&gt;If $M \in INF$, then for any input $x$, $M'$ emulates $M_{HP}$ for infinitely many steps of computation, hence $L(M')=L(M_{HP})=HP$. And therefore $M' \in \mathcal{A}$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;We have proven $M \in INF \Leftrightarrow M' \in \mathcal{A}$, so $INF$ reduces to $\mathcal{A}$, which is what we wanted. &lt;/p&gt;&#xA;" OwnerUserId="1182" LastActivityDate="2010-09-18T09:17:21.083" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1433" PostTypeId="2" ParentId="1168" CreationDate="2010-09-18T10:33:07.163" Score="8" Body="&lt;p&gt;I'll point a couple of papers in Proof Complexity, they are clear and explain most of the relevant techniques in the field (at least for Resolution system).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The first one is &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.cs.toronto.edu/~toni/Papers/beame-pitassi.ps&quot;&gt;Beame, Pitassi - Simplified and improved Resolution lower bounds&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;the paper really nails down the core of previous pigeon hole principle lower bounds.  And that's why I think it is a pleasure to be read.&lt;/p&gt;&#xA;" OwnerUserId="267" LastActivityDate="2010-09-18T10:33:07.163" CommentCount="0" CommunityOwnedDate="2010-09-18T10:33:07.163" ContentLicense="CC BY-SA 2.5" />
  <row Id="1434" PostTypeId="2" ParentId="1168" CreationDate="2010-09-18T10:38:17.687" Score="11" Body="&lt;p&gt;Another very nice paper in proof complexity is&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.cs.technion.ac.il/~eli/papers/width-journal03.ps&quot;&gt;Ben-Sasson, Wigderson - Short proofs are narrow, Resolution made simple&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Notice that even this paper gives a new technique which simplifies previous results.&lt;/p&gt;&#xA;" OwnerUserId="267" LastActivityDate="2010-09-18T10:38:17.687" CommentCount="0" CommunityOwnedDate="2010-09-18T10:38:17.687" ContentLicense="CC BY-SA 2.5" />
  <row Id="1437" PostTypeId="2" ParentId="1392" CreationDate="2010-09-18T17:33:30.450" Score="18" Body="&lt;p&gt;Any separation of classes closed under &quot;polynomial resources&quot; has an oracle making them equal. (This is provided the oracle mechanism is fair and allows both machine models to make polynomial length queries and no more.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $TC0^{O}$ be &quot;$TC0$ with gates for oracle $O$&quot;. Letting $O$ be a $PSPACE$-complete language under $TC0$ reductions, we have $TC0^{O} = PSPACE = PSPACE^{O} = PP^{O}$, where  in the oracle mechanism for $PSPACE$, we count the space usage of the oracle tape along with the rest of the memory. (So only polynomially length queries are asked.) Such an equality holds for many classes &quot;closed under polynomial resources&quot;, in the sense that they can ask polynomially length queries to an oracle, but no larger. These classes include stuff like $AC0$, $TC0$, $LOGSPACE$ (under a different oracle mechanism which does not count oracle queries towards the space bound), $P$, $NP$, $PH$, and $PP$. So any separation of classes in this list must necessarily use some kind of &quot;non-relativizing&quot; argument. This also implies (for example) that the natural proofs of things like Parity not in $AC0$ are non-relativizing (but this is even easier: all you need here is an oracle for parity, so you get $AC0[2]$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the collection of proofs you cite, I believe most of them (if not all) work by assuming $TC0 = PP$ and deriving a contradiction. These kinds of results are called &quot;indirect diagonalization&quot;. So a relativization of their proof would have to say: &quot;if $TC0^{O} = PP^{O}$, then contradiction...&quot; but this assumption is actually true for some oracles $O$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the comments, it was pointed out that $LOGSPACE^{O} = PSPACE^{O}$ in the way that I am using it. These are just subtleties with the oracle mechanism. On the LOGSPACE side, the query tape cannot be part of the space bound, since queries are polynomial length. On the PSPACE side, the query tape &lt;em&gt;is&lt;/em&gt; taken as part of the space bound. That was to make things &quot;fair&quot;. But if you give them exactly the same oracle mechanism then indeed you can separate them again by diagonalization. For instance, if queries do not count towards the space bound, then in PSPACE^{PSPACE} you can ask exponentially long questions to PSPACE, so this in fact contains EXPSPACE. I apologize for not saying this explicitly earlier. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Space-bounded computation is very subtle with respect to oracles.&lt;/strong&gt; See page 5 of &lt;a href=&quot;http://www.cs.uchicago.edu/~fortnow/papers/relative.ps&quot;&gt;this article by Fortnow&lt;/a&gt; for a good summary of why oracle and space-bounded computation don't always mix.&lt;/p&gt;&#xA;" OwnerUserId="225" LastEditorUserId="225" LastEditDate="2010-09-18T23:07:19.553" LastActivityDate="2010-09-18T23:07:19.553" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="1438" PostTypeId="1" AcceptedAnswerId="1439" CreationDate="2010-09-18T18:49:43.050" Score="5" ViewCount="223" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;Given integers $k$ and $n$ with $2 \le k &amp;lt; n$,&#xA;  how does one construct a graph on $n$ vertices&#xA;  that contains no $k$-clique and has the maximal&#xA;  number of edges? &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;This sounds like basic combinatorics, but I don't know where to find the result.  Pointers would be welcome if this is well-known.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Ideally I would like a deterministic procedure to construct such a maximal graph in $n^{O(1)}$ time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One graph with $n$ vertices that is guaranteed not to contain $K_k$ is $\overline{K_{n-k+2} + \overline{K_{k-2}}}$, the complement of the graph formed by the disjoint union of $K_{n-k+2}$ and $k-2$ isolated vertices.  Whenever one picks $k$ vertices from it, at least two of these must be from the subset which is completely disconnected, so they cannot form a clique.  This can clearly be constructed in polynomial time, and is quite dense for $k$ close to $n$.  However, this construction yields rather sparse graphs when $k$ is small relative to $n$, so it seems unlikely to be the optimal construction.&lt;/p&gt;&#xA;" OwnerUserId="109" LastActivityDate="2010-09-18T19:08:21.290" Title="How can one construct a densest graph with no k-clique?" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;co.combinatorics&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="1439" PostTypeId="2" ParentId="1438" CreationDate="2010-09-18T19:08:21.290" Score="7" Body="&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Turan%27s_theorem&quot; rel=&quot;nofollow&quot;&gt;Turan's theorem&lt;/a&gt; exactly characterizes the densest graphs on n vertices with no k clique. &lt;a href=&quot;http://en.wikipedia.org/wiki/Tur%C3%A1n_graph&quot; rel=&quot;nofollow&quot;&gt;The Turan graphs&lt;/a&gt; are the maximal graphs, and they're very easy to construct. Is this what you want?&lt;/p&gt;&#xA;" OwnerUserId="206" LastActivityDate="2010-09-18T19:08:21.290" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1440" PostTypeId="2" ParentId="1425" CreationDate="2010-09-18T20:04:06.530" Score="-1" Body="&lt;p&gt;We can't efficiently solve the $n$-body problem, but those rocks-for-brains planets seem to manage just fine.&lt;/p&gt;&#xA;" OwnerDisplayName="Thorsten" LastActivityDate="2010-09-18T20:04:06.530" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="1441" PostTypeId="1" AcceptedAnswerId="1453" CreationDate="2010-09-18T20:30:42.783" Score="17" ViewCount="692" Body="&lt;p&gt;Let $0\le p\le 1$ and consider the decision problem&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;CLIQUE$_p$&lt;br&gt;&#xA;  &lt;em&gt;Input:&lt;/em&gt; integer $s$, graph $G$ with $t$ vertices and $\lceil p\binom{t}{2} \rceil$ edges&lt;br&gt;&#xA;  &lt;em&gt;Question:&lt;/em&gt; does $G$ contain a clique on at least $s$ vertices?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;An instance of CLIQUE$_p$ contains a proportion $p$ out of all possible edges.  Clearly CLIQUE$_p$ is easy for some values of $p$.  CLIQUE$_0$ contains only completely disconnected graphs, and CLIQUE$_1$ contains complete graphs.  In either case, CLIQUE$_p$ can be decided in linear time.  On the other hand, for values of $p$ close to $1/2$, CLIQUE$_p$ is NP-hard by a reduction from CLIQUE itself: essentially, it is enough to take the disjoint union with the &lt;a href=&quot;http://en.wikipedia.org/wiki/Tur%C3%A1n_graph&quot;&gt;Turán graph&lt;/a&gt; $T(t,s-1)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is CLIQUE$_p$ either in PTIME or NP-complete for every value of $p$?  Or are there values of $p$ for which CLIQUE$_p$ has intermediate complexity (if P ≠ NP)?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;This question arose from a related question for hypergraphs, but it seems interesting in its own right.&lt;/p&gt;&#xA;" OwnerUserId="109" LastActivityDate="2010-09-20T00:48:34.430" Title="Hardness of parameterized CLIQUE?" Tags="&lt;cc.complexity-theory&gt;&lt;np&gt;&lt;parameterized-complexity&gt;&lt;clique&gt;" AnswerCount="2" CommentCount="9" FavoriteCount="8" ContentLicense="CC BY-SA 2.5" />
  <row Id="1442" PostTypeId="2" ParentId="1425" CreationDate="2010-09-18T20:52:55.103" Score="5" Body="&lt;p&gt;Let me start out by saying that I agree completely with Robin. As regards the protein folding, there is a small issue. As with all such systems, protein folding can get stuck in local minima, which is something you seem to be neglecting. The more general problem is simply finding the ground state of some Hamiltonian. Actually, even if we consider only spins (i.e. qubits) this problem is complete for QMA. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Natural Hamiltonians are a little softer, however, than some of the artificial ones used to prove QMA completeness (which tend not to mirror natural interactions), but even when we restrict to natural two-body interactions on simple systems the result is still an NP-complete problem. Indeed, this forms the basis of an approach attempted to tackling NP problems using adiabatic quantum computing. Unfortunately it appears that this approach will not work for NP-complete problems, due to a rather technical issue to do with the energy level structure. This does however lead to an interesting consequence of there existing problems within NP which are not efficiently solvable by nature (by which I mean physical processes). It means that there exist systems which cannot cool efficiently. That is to say, it seems you can construct a physical system which takes exponentially long in the size of the system to come into thermal equilibrium with the environment. &lt;/p&gt;&#xA;" OwnerUserId="204" LastActivityDate="2010-09-18T20:52:55.103" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="1443" PostTypeId="1" AcceptedAnswerId="1444" CreationDate="2010-09-18T21:08:32.940" Score="8" ViewCount="558" Body="&lt;p&gt;This question comes out of &lt;a href=&quot;https://cstheory.stackexchange.com/questions/1425/intractability-of-np-complete-problems-as-a-principle-of-physics/1442#1442&quot;&gt;an answer Joe Fitzsimons gave&lt;/a&gt; to &lt;a href=&quot;https://cstheory.stackexchange.com/questions/1425/intractability-of-np-complete-problems-as-a-principle-of-physics&quot;&gt;a different question&lt;/a&gt;. Most natural complexity classes have a one-line &quot;intuitive description&quot; that helps characterize core problems in that class. NP is &quot;efficient verification&quot;, #P is about &quot;enumerating solutions&quot;, PSPACE is about &quot;game playing&quot;, and so on. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I've generally understood MA as BP(NP), where the M step gives you the NP guesser, and the A step is the BP part, and so questions about the relation between MA and NP are really derandomization questions. So my question is: &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there some natural way of&#xA;  understanding what QMA captures ?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="80" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2010-09-19T01:13:23.820" Title="Understanding QMA" Tags="&lt;cc.complexity-theory&gt;&lt;quantum-computing&gt;&lt;big-picture&gt;&lt;qma&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="1444" PostTypeId="2" ParentId="1443" CreationDate="2010-09-18T21:17:12.973" Score="6" Body="&lt;p&gt;It's essentially the same thing. QMA has a quantum verifier A which gives you the bounded error bit plus an ability to process quantum states, and M gives you the ability to non-deterministically pick an accepting state if one exists. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A quantum analogue of MA is much more natural than NP, however, since any such analogue of NP would require that the machine be capable of non-deterministically writing a single state from an uncountable number of possible states. QMA only requires finite fidelity, and so you get rid of the infinities. Indeed, QMA is often treated as the quantum analogue of NP (see for example &lt;a href=&quot;http://arxiv.org/abs/quant-ph/0210077&quot;&gt;quant-ph/0210077&lt;/a&gt;).&lt;/p&gt;&#xA;" OwnerUserId="204" LastEditorUserId="204" LastEditDate="2010-09-19T01:13:23.820" LastActivityDate="2010-09-19T01:13:23.820" CommentCount="6" ContentLicense="CC BY-SA 2.5" />
  <row Id="1445" PostTypeId="2" ParentId="1443" CreationDate="2010-09-18T21:24:49.863" Score="10" Body="&lt;p&gt;Most quantum classes that are studied (like QMA, BQP, QIP, and exotic ones like QMIP and QRG) have a classical counterpart and you get the quantum class by thinking quantumly and changing your definition of &quot;efficient computation&quot; to &quot;polynomial time on a quantum computer.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Often there are two steps to be made to reach from a well-known class to a quantum class. The first step adds randomness and error, and the next step adds quantumness. So for NP, the chain of classes is $NP \subseteq MA \subseteq QMA$. In NP the verifier is deterministic, and the certificate or proof is a bitstring. In MA, we modify the verifier to be a BPP machine (give it access to randomness and allow it 1/3 probability of error), while the certificate remains a bitstring. In QMA, we allow the verifier to be quantum and the certificate to be a quantum state. Since a quantum verifier can simulate a probabilistic one, QMA contains MA.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The easy way to get a quantum class out of most natural classical classes is to change one's notion of &quot;efficient computation&quot; from P or BPP to BQP, and change one's notion of information exchange from bits to qubits. So, for example, QIP is the same as IP when the BPP verifier is made BQP and the communication allows qubits instead of bits. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, to get back to QMA:  If you truly believed that BQP captures efficient computation in our universe, then QMA is the set of all problems that have an efficient verification procedure. That is, if you met an almighty prover, it would be able to convince you with high probability of $x \in L$ assuming you can handle qubits and do quantum computation. (And of course when $x \notin L$, there is almost nothing it could say to fool you.)&lt;/p&gt;&#xA;" OwnerUserId="206" LastActivityDate="2010-09-18T21:24:49.863" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1446" PostTypeId="2" ParentId="1425" CreationDate="2010-09-19T00:23:11.017" Score="17" Body="&lt;p&gt;I don't think that the fact that $P\neq NP$ is an asymptotic statement is an automatic &quot;dealbreaker&quot;. One can make concrete conjectures that are consistent with our knowledge but stronger than P vs NP such as &quot;It takes at least $2^{n/10}$ steps to find a satisfying assignment for a random n variable 10SAT formula&quot; (with &quot;random&quot; being e.g., the planted model of &lt;a href=&quot;http://users.soe.ucsc.edu/~optas/papers/barriers.pdf&quot;&gt;Achlioptas Coja-Oghlan&lt;/a&gt;, this is just an example - I don't know what are reasonable concrete numbers offhand). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Such conjecture can result in a refutable prediction that any natural system that will try to solve this will fail (e.g., get stuck in a local minima), something you can verify with experiments. Indeed, I'm not an expert on this but to my knowledge, as Joe Fitzsimons mentioned, such predictions had been confirmed with Adiabatic computing. (Scott Aaronson also had some entertaining experiments with soap bubbles.) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course you can also see some &quot;empirical evidence&quot; for $P \neq NP$  in the fact that people have been trying to solve optimization problems, cryptoanalyze encryptions, etc.. and haven't been successful so far...&lt;/p&gt;&#xA;" OwnerUserId="1202" LastActivityDate="2010-09-19T00:23:11.017" CommentCount="8" ContentLicense="CC BY-SA 2.5" />
  <row Id="1447" PostTypeId="2" ParentId="1441" CreationDate="2010-09-19T00:31:54.863" Score="15" Body="&lt;p&gt;If $p$  can be a function of $t$, then the problem can be intermediate. Set up $p$ so that the number of edges will be say $\log^4 t$. Then obviously $s$ can be at most $\log^2 t$ and hence there is a $t^{\log^2 t}$ algorithm for this problem, meaning that the problem (under standard assumptions, say SAT doesn't have subexponential algorithms) cannot be NP hard.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, this problem is harder than the standard clique problem on $\log^2 t$ vertices (you can always place all the edges on those vertices and ignore the rest). And so again, under the same assumption the problem doesn't have a polynomial time algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $p$ is a constant then it's always NP hard as gphilip said.&lt;/p&gt;&#xA;" OwnerUserId="1202" LastActivityDate="2010-09-19T00:31:54.863" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1448" PostTypeId="2" ParentId="1406" CreationDate="2010-09-19T00:40:33.273" Score="13" Body="&lt;p&gt;You can take any formula $\varphi$ and change it to the formula $\varphi \vee \psi_x$ where $\psi_x$ is a &quot;hard&quot; SAT instance whose only solution is $x$. One way to construct such a formula is using cryptography:  if $f:\{0,1\}^n\rightarrow \{0,1\}^n$ is a one-way permutation and we choose $x$ at random and set $y=f(x)$, then one can convert $y$ into a SAT formula such that $x$ is its only solution and thus finding $x$ corresponds to inverting $f$. (We need for this $x$ to be random, but this something similar is anyway assumed if we think finding $x$ should be hard.)&lt;/p&gt;&#xA;" OwnerUserId="1202" LastEditorUserId="567" LastEditDate="2010-10-02T02:51:04.873" LastActivityDate="2010-10-02T02:51:04.873" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="1449" PostTypeId="2" ParentId="1026" CreationDate="2010-09-19T02:06:31.553" Score="27" Body="&lt;p&gt;About a year ago I co organized a workshop on &lt;a href=&quot;http://intractability.princeton.edu/blog/2009/05/program-for-workshop-on-impagliazzos-worlds/&quot;&gt;complexity and cryptography: status of Impagliazzo's worlds&lt;/a&gt;, and the slides and videos on web site may be of interest.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The short answer is that not much has changed in the sense that most researchers still believe we live in &quot;Cryptomania&quot; and we still have more or less the same evidence for this, and not much progress on collapsing any of the worlds for one another. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Perhaps the most significant piece of new information is Shor's algorithm that shows that at least if you replace P with BQP, the most commonly used public key cryptosystems are insecure. But, because of Lattice based cryptosystems, the default assumption is that we live in cryptomania even in this case, though perhaps the consensus here is a bit weaker than the classical case. Even in the classical case, there seems to be much more evidence for the existence of one-way functions (&quot;Minicrypt&quot;) than the existence of public key encryption (&quot;Cryptomania&quot;). Still, given the effort people have spent in trying to break various public key cryptosystem, there's significant evidence for the latter as well.&lt;/p&gt;&#xA;" OwnerUserId="1202" LastActivityDate="2010-09-19T02:06:31.553" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="1450" PostTypeId="2" ParentId="1357" CreationDate="2010-09-19T02:20:42.853" Score="11" Body="&lt;p&gt;A classical example was by Valiant (I don't know the reference but I think this is described in the book of &lt;a href=&quot;http://www.math.ias.edu/~avi/BOOKS/expanderbookr1.pdf&quot; rel=&quot;nofollow&quot;&gt;Hoory, Linial and Wigderson on expander graphs&lt;/a&gt;). Valiant showed an explicit lower bound (I think that a certain explicit function $f:{0,1}^n\rightarrow {0,1}^n$ doesn't have a circuit of $O(n)$ size and $O(\log n)$ depth - something we're still far from proving) under the assumptions that certain types of graphs, called superconcentrators, don't exist. (This was an asymptotic question, and not about just one graph.) However he later showed that these do exist (and in fact have other uses)&lt;/p&gt;&#xA;" OwnerUserId="1202" LastActivityDate="2010-09-19T02:20:42.853" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1451" PostTypeId="2" ParentId="1206" CreationDate="2010-09-19T02:26:27.293" Score="11" Body="&lt;p&gt;As David said, we do not have such reductions for AES. However, this does not mean that Rabin or RSA cryptosystem are more secure than AES. In fact, I'd trust the (at least one-way, probably also pseudorandomess as well) security of block ciphers such as  AES/DES etc.. (perhaps with a bit more rounds than standardly used) more than the assumption that factoring is hard, precisely because there is no algebraic structure and so it's harder to imagine that there will be some kind of breakthrough algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One can construct block ciphers directly from one-way functions, which is a minimal assumption for much of crpyotgraphy, but the resulting construction will be terribly inefficient and hence not used.&lt;/p&gt;&#xA;" OwnerUserId="1202" LastActivityDate="2010-09-19T02:26:27.293" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="1452" PostTypeId="2" ParentId="499" CreationDate="2010-09-19T02:32:58.697" Score="12" Body="&lt;p&gt;Randomwalker's answer is very good. My favorite gap between theory and practice is the random oracle model. This seems a very secure heuristic in practice (assuming people don't do something stupid and at least do length extension propertly, see also randomwalker's answer) but we don't have any positive theoretical results about it. In fact, all theoretical results about this heuristic are negative. I think this is a great research question and hope some day some interesting positive results about this model will be proved.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Regarding obfuscation as far as I know even in practice, although it's in widespread use, obfuscation is not considered as secure as encryption, and it's not considered prudent to use obfuscation to hide a long term and very sensitive secret. (As opposed to encryption using random oracle, which people are completely comfortable with using for this.) So in that sense, the gap there between theory and practice is not as large. (i.e., obfuscation is hugely interesting area which we are far from  understanding both in theory and in practice.)&lt;/p&gt;&#xA;" OwnerUserId="1202" LastEditorUserId="1202" LastEditDate="2010-09-19T02:44:09.917" LastActivityDate="2010-09-19T02:44:09.917" CommentCount="0" CommunityOwnedDate="2010-09-19T02:32:58.697" ContentLicense="CC BY-SA 2.5" />
  <row Id="1453" PostTypeId="2" ParentId="1441" CreationDate="2010-09-19T02:54:58.993" Score="14" Body="&lt;p&gt;I assume that the number $\left\lceil p \binom{t}{2} \right\rceil$ in the definition of the problem CLIQUE&lt;sub&gt;&lt;em&gt;p&lt;/em&gt;&lt;/sub&gt; is exactly equal to the number of edges in the graph, unlike gphilip’s comment to the question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem CLIQUE&lt;sub&gt;&lt;em&gt;p&lt;/em&gt;&lt;/sub&gt; is NP-complete for any rational constant 0&amp;lt;&lt;em&gt;p&lt;/em&gt;&amp;lt;1 by a reduction from the usual CLIQUE problem.  (The assumption that &lt;em&gt;p&lt;/em&gt; is rational is only required so that $\lceil pN \rceil$ can be computed from &lt;em&gt;N&lt;/em&gt; in time polynomial in &lt;em&gt;N&lt;/em&gt;.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let &lt;em&gt;k&lt;/em&gt;≥3 be an integer satisfying both &lt;em&gt;k&lt;/em&gt;&lt;sup&gt;2&lt;/sup&gt;≥1/&lt;em&gt;p&lt;/em&gt; and (1−1/&lt;em&gt;k&lt;/em&gt;)(1−2/&lt;em&gt;k&lt;/em&gt;)&amp;gt;&lt;em&gt;p&lt;/em&gt;.  Given a graph &lt;em&gt;G&lt;/em&gt; with &lt;em&gt;n&lt;/em&gt; vertices and &lt;em&gt;m&lt;/em&gt; edges along with a threshold value &lt;em&gt;s&lt;/em&gt;, the reduction works as follows.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;If &lt;em&gt;s&lt;/em&gt;&amp;lt;&lt;em&gt;k&lt;/em&gt;, we solve the CLIQUE problem in time O(&lt;em&gt;n&lt;/em&gt;&lt;sup&gt;&lt;em&gt;s&lt;/em&gt;&lt;/sup&gt;) time.  If there is a clique of size at least &lt;em&gt;s&lt;/em&gt;, we produce a fixed yes-instance.  Otherwise, we produce a fixed no-instance.&lt;/li&gt;&#xA;&lt;li&gt;If &lt;em&gt;n&lt;/em&gt;&amp;lt;&lt;i&gt;s&lt;/i&gt;, we produce a fixed no-instance.&lt;/li&gt;&#xA;&lt;li&gt;If &lt;em&gt;n&lt;/em&gt;≥&lt;i&gt;s&lt;/i&gt;≥&lt;i&gt;k&lt;/i&gt;, we add to &lt;em&gt;G&lt;/em&gt; a (&lt;em&gt;k&lt;/em&gt;−1)-partite graph where each set consists of &lt;em&gt;n&lt;/em&gt; vertices which has exactly $\left\lceil p \binom{nk}{2} \right\rceil - m$ edges, and produce this graph.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Note that the case 1 takes O(&lt;em&gt;n&lt;/em&gt;&lt;sup&gt;&lt;em&gt;k&lt;/em&gt;−1&lt;/sup&gt;) time, which is polynomial in &lt;em&gt;n&lt;/em&gt; for every &lt;em&gt;p&lt;/em&gt;.  The case 3 is possible because if &lt;em&gt;n&lt;/em&gt;≥&lt;i&gt;s&lt;/i&gt;≥&lt;i&gt;k&lt;/i&gt;, then $\left\lceil p \binom{nk}{2} \right\rceil - m$ is nonnegative and at most the number of edges in the complete (&lt;em&gt;k&lt;/em&gt;−1)-partite graph K&lt;sub&gt;&lt;em&gt;n&lt;/em&gt;,…,&lt;em&gt;n&lt;/em&gt;&lt;/sub&gt; as shown in the following two claims.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Claim 1&lt;/strong&gt;.  $\left\lceil p \binom{nk}{2} \right\rceil - m \ge 0$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Proof&lt;/strong&gt;.  Since $m \le \binom{n}{2}$, it suffices if we prove $p \binom{nk}{2} \ge \binom{n}{2}$, or equivalently &lt;i&gt;pnk&lt;/i&gt;(&lt;i&gt;nk&lt;/i&gt;−1) ≥ &lt;i&gt;n&lt;/i&gt;(&lt;i&gt;n&lt;/i&gt;−1).  Since &lt;i&gt;p&lt;/i&gt; ≥ 1/&lt;i&gt;k&lt;/i&gt;&lt;sup&gt;2&lt;/sup&gt;, we have &lt;i&gt;pnk&lt;/i&gt;(&lt;i&gt;nk&lt;/i&gt;−1) ≥ &lt;i&gt;n&lt;/i&gt;(&lt;i&gt;n&lt;/i&gt;−1/&lt;i&gt;k&lt;/i&gt;) ≥ &lt;i&gt;n&lt;/i&gt;(&lt;i&gt;n&lt;/i&gt;−1).  &lt;strong&gt;QED&lt;/strong&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Claim 2&lt;/strong&gt;.  $\left\lceil p \binom{nk}{2} \right\rceil - m \lt n^2 \binom{k-1}{2}$.  (Note that the right-hand side is the number of edges in the complete (k−1)-partite graph K&lt;sub&gt;&lt;i&gt;n&lt;/i&gt;,…,&lt;i&gt;n&lt;/i&gt;&lt;/sub&gt;.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Proof&lt;/strong&gt;.  Since $\lceil x \rceil \lt x+1$ and &lt;em&gt;m&lt;/em&gt; ≥ 0, it suffices if we prove $p \binom{nk}{2} + 1 \le n^2 \binom{k-1}{2}$, or equivalently &lt;i&gt;n&lt;/i&gt;&lt;sup&gt;2&lt;/sup&gt;(&lt;i&gt;k&lt;/i&gt;−1)(&lt;i&gt;k&lt;/i&gt;−2) − &lt;i&gt;pnk&lt;/i&gt;(&lt;i&gt;nk&lt;/i&gt;−1) − 2 ≥ 0.  Since &lt;i&gt;p&lt;/i&gt; &amp;lt; (1−1/&lt;i&gt;k&lt;/i&gt;)(1−2/&lt;i&gt;k&lt;/i&gt;), we have&#xA;$$n^2(k-1)(k-2) - pnk(nk-1) - 2$$&#xA;$$\ge n^2(k-1)(k-2) - n \left( n-\frac{1}{k} \right) (k-1)(k-2) - 2$$&#xA;$$= \frac{n}{k} (k-1)(k-2) - 2 \ge (k-1)(k-2) - 2 \ge 0.$$&#xA;&lt;strong&gt;QED&lt;/strong&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Edit&lt;/em&gt;: The reduction in Revision 1 had an error; it sometimes required a graph with negative number of edges (when &lt;em&gt;p&lt;/em&gt; was small).  This error is fixed now.&lt;/p&gt;&#xA;" OwnerUserId="567" LastEditorUserId="567" LastEditDate="2010-09-20T00:48:34.430" LastActivityDate="2010-09-20T00:48:34.430" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="1454" PostTypeId="1" AcceptedAnswerId="1568" CreationDate="2010-09-19T03:05:39.847" Score="13" ViewCount="448" Body="&lt;p&gt;In a paper titled &quot;On Deniability in the Common Reference String and Random Oracle Model,&quot; Rafael Pass writes:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;We note that when proving security according to the standard zero-knowledge definition in the RO [Random Oracle] model, the simulator has two advantages over a plain model simulator, namely,&lt;/p&gt;&#xA;  &#xA;  &lt;ol&gt;&#xA;  &lt;li&gt;The simulator can see what values parties query the oracle on.&#xA;  &lt;li&gt;The simulator can answer these queries in whatever way it chooses as long as the answers &quot;look&quot; OK.&#xA;  &lt;/ol&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The first technique, namely the ability to &quot;monitor&quot; queries to the RO, is very common in all papers referring to the concept of zero-knowledge in the RO model.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, consider the definition of &lt;strong&gt;black-box&lt;/strong&gt; zero-knowledge (&lt;strong&gt;PPT&lt;/strong&gt; stands for &lt;em&gt;probabilistic, polynomial-time Turing machine&lt;/em&gt;):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\exists$ a PPT simulator $S$, such that $\forall$ (possibly cheating) PPT verifier $V^*$, $\forall$ common input $x\in L$, and $\forall$ randomness $r$, the following are indistinguishable:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;the view of $V^*$ while interacting with the prover $P$ on input $x$ and using randomness $r$;&#xA;&lt;li&gt;the output of $S$ on inputs $x$ and $r$, when $S$ is given black-box access to $V^*$.&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Here, I want to exhibit a cheating verifier $V'$, whose job is to exhaust any simulator which tries to monitor RO queries:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $S$ be the simulator guaranteed by the existential quantifier in the definition of black-box zero-knowledge, and let $q(|x|)$ be a polynomial which upper-bounds the running time of $S$ on input $x$. Assume that $S$ tries to monitor the queries of $V^*$ to the RO.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, consider a cheating $V'$, which first queries the RO for $q(|x|)+1$ times (on arbitrary inputs of its choice), and then acts arbitrarily maliciously.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Obviously, $V'$ exhausts the simulator $S$. A simple way for $S$ is to reject such malicious behavior, yet that way, a distinguisher can easily distinguish the real interaction from the simulated one. (Since in the real interaction, the prover $P$ cannot monitor $V'$'s queries, and thus won't reject based on the mere fact that $V'$ is querying too much.)&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What is the workaround for the above problem?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;h2&gt;Edit:&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;A good source for studying ZK in the RO model is:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Martin Gagné, A Study of the Random Oracle Model, Ph.D. Thesis, &lt;em&gt;University of California, Davis&lt;/em&gt;, 2008, 109 pages. Available on ProQuest: &lt;a href=&quot;http://gradworks.umi.com/33/36/3336254.html&quot; rel=&quot;nofollow&quot;&gt;http://gradworks.umi.com/33/36/3336254.html&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Particularly, it gives definitions of black-box ZK in the RO Model in section 3.3 (page 20), attributed to Yung and Zhao:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.springerlink.com/content/n207454964763366/&quot; rel=&quot;nofollow&quot;&gt;Moti Yung and Yunlei Zhao. Interactive Zero-Knowledge with Restricted Random Oracles.  In &lt;em&gt;Theory of Cryptography - TCC 2006&lt;/em&gt;, LNCS 3876, pp. 21-40, 2006.&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="873" LastEditorUserId="206" LastEditDate="2010-10-11T19:16:59.580" LastActivityDate="2010-10-11T19:16:59.580" Title="Exhausting Simulator of Zero-Knowledge Protocols in the Random Oracle Model" Tags="&lt;cc.complexity-theory&gt;&lt;cr.crypto-security&gt;&lt;oracles&gt;&lt;black-box&gt;" AnswerCount="2" CommentCount="3" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="1455" PostTypeId="5" CreationDate="2010-09-19T04:46:14.123" Score="0" Body="&lt;p&gt;Parameterized complexity is the study of the computational complexity of problems with respect to more than one parameter, with the idea of isolating those parameters that might contribute to the intrinsic complexity of the problem. For more info, visit the &lt;a href=&quot;http://fpt.wikidot.com/&quot; rel=&quot;nofollow&quot;&gt;parameterized complexity wiki&lt;/a&gt;. &lt;/p&gt;&#xA;" OwnerUserId="80" LastEditorUserId="80" LastEditDate="2010-09-19T04:46:14.123" LastActivityDate="2010-09-19T04:46:14.123" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1456" PostTypeId="4" CreationDate="2010-09-19T04:46:14.123" Score="0" Body="The study of the computational complexity of problems with respect to more than one parameter." OwnerUserId="80" LastEditorUserId="6579" LastEditDate="2014-10-08T15:11:07.270" LastActivityDate="2014-10-08T15:11:07.270" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="1457" PostTypeId="2" ParentId="1226" CreationDate="2010-09-19T09:43:24.507" Score="5" Body="&lt;p&gt;Graham's list scheduling procedure is optimal for precedence constrained scheduling on identical machines $P|prec|C_{max}$ unless a new variant of the unique games conjecture by Bansal and Khot is false.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.nada.kth.se/~osven/papers/PCmaxFull5Nov.pdf&quot;&gt;Conditional Hardness of Precedence Constrained Scheduling on Identical Machines&lt;/a&gt; by Ola Svensson&lt;/p&gt;&#xA;" OwnerUserId="1060" LastActivityDate="2010-09-19T09:43:24.507" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1458" PostTypeId="2" ParentId="1405" CreationDate="2010-09-19T11:29:46.990" Score="10" Body="&lt;p&gt;For typed calculi, if you consider the negative types ($1$, $\times$, $\to$), you can turn the eta rules on or off basically at will without affecting confluence. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For positive types (sums, and pairs with the pattern-matching elimination), the situation is much messier. Basically, the question is whether the term has a closed-scope elimination form, which let contexts interact in complicated ways with eta-expansions. For example, if $e$ has type $A \times B$, then its eta-expansion is $\mathsf{let}\;(a,b) = e \;\mathsf{in}\; (a,b)$. But to get the equational theory a category theorist would expect, you need to consider contexts $\mathbb{C}[-]$, and generalize the equation to be $\mathbb{C}[e] \equiv \mathsf{let}\;(a,b) = e\;\mathsf{in}\;\mathbb{C}[(a,b)]$ (with the expected scoping restrictions). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think that you can still prove a confluence result if you don't allow the commuting conversions. But this is hearsay -- I've never tried it myself, nor looked at papers documenting it. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I don't really know anything about untyped lambda calculus, though.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT: Charles asks about eta-reductions. This is promising for the kind of example he seeks, because I think in general they won't be strong enough to model the full equality theory, which I'll illustrate with a simple example involving booleans. The eta-expansion for booleans is $\mathbb{C}[e] \mapsto \mathsf{if}(e, \mathbb{C}[\mathsf{true}], \mathbb{C}[\mathsf{false}])$. (The eta-reduction is of course the other direction.) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, consider the term $\mathsf{if}(e, f, g)\;\mathsf{if}(e, x, y)$. Showing that this term is equivalent to $\mathsf{if}(e, f\;x, g\;y)$ needs to go through an eta-expansion, because we have to replace the $e$ in one of the if-then-elses with $\mathsf{true}$ and $\mathsf{false}$ in order to drive a $\beta$-reduction.  &lt;/p&gt;&#xA;" OwnerUserId="657" LastEditorUserId="657" LastEditDate="2010-09-19T17:25:15.583" LastActivityDate="2010-09-19T17:25:15.583" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="1459" PostTypeId="2" ParentId="1284" CreationDate="2010-09-19T15:52:52.290" Score="14" Body="&lt;p&gt;The All-Pairs Shortest Paths (APSP) problem is believed to required $\Omega^\star(n^3)$ time. Reducing from it is a great way to argue that improvements based on Fast Matrix Multiplication (FMM) are unlikely.&lt;/p&gt;&#xA;" OwnerUserId="106" LastActivityDate="2010-09-19T15:52:52.290" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="1460" PostTypeId="2" ParentId="1425" CreationDate="2010-09-19T18:19:18.503" Score="7" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;Also, Is there any known numerical evidence from experimental mathematics for or against $P \neq NP$?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Not as far as I know.  However, one could get numerical evidence against $NP \subseteq P/poly$ of a similar sort of that found for the Riemann Hypothesis or Goldbach conjecture, by using explicit computations to show that, say, SAT up to length 10 does not have circuits of size 20 (where you let the values of 10 and 20 vary).  This still runs into the same issue raised in the other answers -- finite evidence cannot give us an asymptotic answer. But essentially the same issue is true for the current &quot;evidence&quot; for the Riemann Hypothesis.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, finding a minimum circuit for SAT up to length 10 is currently very difficult.  However, some of the ideas in geometric complexity theory allow you to get similar results with a more efficient (I think only exponential instead of doubly-exponential) computational search.  One of Mulmuley's conjectures is that in fact this search can be done in polynomial time, but we are a long way from proving anything close to that.&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2010-09-19T18:19:18.503" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="1461" PostTypeId="2" ParentId="189" CreationDate="2010-09-19T20:17:26.000" Score="61" Body="&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Huffman_coding&quot;&gt;Huffman coding&lt;/a&gt; for data compression.&lt;/p&gt;&#xA;" OwnerUserId="1239" LastActivityDate="2010-09-19T20:17:26.000" CommentCount="0" CommunityOwnedDate="2010-09-19T20:17:26.000" ContentLicense="CC BY-SA 2.5" />
  <row Id="1462" PostTypeId="5" CreationDate="2010-09-19T22:01:25.883" Score="0" Body="&lt;p&gt;For questions related to &lt;a href=&quot;http://en.wikipedia.org/wiki/Probabilistically_checkable_proof&quot; rel=&quot;nofollow&quot;&gt;probabilistically checkable proofs (PCP)&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Questions about hardness of approximation of some optimization problems rather than specifically about PCP are better tagged as &lt;a href=&quot;/questions/tagged/approximation-hardness&quot; class=&quot;post-tag&quot; title=&quot;show questions tagged 'approximation-hardness'&quot; rel=&quot;tag&quot;&gt;approximation-hardness&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The tag should not be used for other purposes like &lt;em&gt;Post's Correspondence Problem&lt;/em&gt;.&lt;/p&gt;&#xA;" OwnerUserId="206" LastEditorUserId="186" LastEditDate="2011-05-12T18:14:28.387" LastActivityDate="2011-05-12T18:14:28.387" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="1463" PostTypeId="4" CreationDate="2010-09-19T22:01:25.883" Score="0" Body="Probabilistically checkable proofs" OwnerUserId="206" LastEditorUserId="186" LastEditDate="2011-05-12T18:14:28.433" LastActivityDate="2011-05-12T18:14:28.433" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="1464" PostTypeId="5" CreationDate="2010-09-19T22:04:44.230" Score="0" Body="&lt;p&gt;For questions related to the complexity class &lt;a href=&quot;http://en.wikipedia.org/wiki/NP_%28complexity%29&quot; rel=&quot;nofollow&quot;&gt;NP&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="206" LastEditorUserId="206" LastEditDate="2010-09-19T22:04:44.230" LastActivityDate="2010-09-19T22:04:44.230" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1465" PostTypeId="4" CreationDate="2010-09-19T22:04:44.230" Score="0" Body="NP stands for Nondeterministic Polynomial time." OwnerUserId="206" LastEditorUserId="206" LastEditDate="2010-09-19T22:04:44.230" LastActivityDate="2010-09-19T22:04:44.230" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1466" PostTypeId="5" CreationDate="2010-09-19T22:08:07.617" Score="0" Body="&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/QMA&quot; rel=&quot;nofollow&quot;&gt;QMA&lt;/a&gt; is the quantum analogue of MA.&lt;/p&gt;&#xA;" OwnerUserId="206" LastEditorUserId="206" LastEditDate="2010-09-19T22:08:07.617" LastActivityDate="2010-09-19T22:08:07.617" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1467" PostTypeId="4" CreationDate="2010-09-19T22:08:07.617" Score="0" Body="QMA stands for the complexity class Quantum Merlin Arthur." OwnerUserId="206" LastEditorUserId="206" LastEditDate="2010-09-19T22:08:07.617" LastActivityDate="2010-09-19T22:08:07.617" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1468" PostTypeId="1" CreationDate="2010-09-19T22:21:50.987" Score="26" ViewCount="2092" Body="&lt;p&gt;&lt;em&gt;Consider this question solved. I will not pick a best answer as all of them have contributed to my understanding of the topic.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Im unsure what benefit we have by formally defining the semantics of predicate logic. But I do see value in having a formal proof calculus. My point is that we would not need formal semantics to justify the inference rules of proof calculi. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;We could define a calculus that mimicks the &quot;laws of thought&quot;, i.e. the rules of inference that have been used by mathematicians for hundreds of years to proof their theorems. Such a calculus already exists: natural deduction. Then we would define this calculus to be sound and complete.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This can be justified by realising that the formal semantics of predicate logic is just a model. The appropriateness of the model can only be justified intuitively. Thus, by showing that natural deduction is sound and complete with reference to the formal semantics does not make natural deduction more &quot;true&quot;. It would be just as good if we would directly justify the rules of natural deduction intuitively. The detour using formal semantics gives us nothing.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then, having defined natural deduction to be sound and complete, we could show the soundness and completeness of other calculi by showing that the proofs they produce can be translated to natural deduction and vice versa.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are my reflections above correct?&#xA;Why is it important to prove the soundness and completeness of proof calculi by reference to formal semantics?&lt;/p&gt;&#xA;" OwnerUserId="1247" LastEditorUserId="1247" LastEditDate="2010-09-20T15:22:55.220" LastActivityDate="2010-09-20T15:31:35.707" Title="Why do we need formal semantics for predicate logic?" Tags="&lt;lo.logic&gt;&lt;semantics&gt;" AnswerCount="4" CommentCount="8" FavoriteCount="19" ContentLicense="CC BY-SA 2.5" />
  <row Id="1469" PostTypeId="2" ParentId="189" CreationDate="2010-09-19T22:38:21.237" Score="5" Body="&lt;p&gt;&lt;a href=&quot;http://userweb.cs.utexas.edu/users/moore/best-ideas/string-searching/&quot; rel=&quot;noreferrer&quot;&gt;Boyer-Moore&lt;/a&gt; string matching.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I remember when our lecturer taught us about it. He said:&#xA;&quot;And here comes an algorithm which is impossible to understand completely...&quot;. He was right, I still don't fully understand why and how it works, but I nevertheless believe it's an elegant algorithm.&lt;/p&gt;&#xA;" OwnerUserId="1247" LastEditorUserId="367" LastEditDate="2010-09-22T18:59:03.053" LastActivityDate="2010-09-22T18:59:03.053" CommentCount="0" CommunityOwnedDate="2010-09-19T22:38:21.237" ContentLicense="CC BY-SA 2.5" />
  <row Id="1470" PostTypeId="2" ParentId="189" CreationDate="2010-09-19T22:57:58.060" Score="3" Body="&lt;p&gt;I think two algorithms that require place number notation deserve a prominent place in the book: long multiplication and division. Especially in binary these are quite elegant. Moreover, there are few algorithms that do not benefit from them.&lt;/p&gt;&#xA;" OwnerDisplayName="Reinder" LastActivityDate="2010-09-19T22:57:58.060" CommentCount="0" CommunityOwnedDate="2010-09-19T22:57:58.060" ContentLicense="CC BY-SA 2.5" />
  <row Id="1471" PostTypeId="1" AcceptedAnswerId="2310" CreationDate="2010-09-19T23:25:46.177" Score="52" ViewCount="4156" Body="&lt;p&gt;I'm often asked what a theoretical computer scientist does.  It would be great to have some nice responses to this question.  I tend to fall back to technical jargon and people's eyes usually glaze over at this point.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What does a theoretical computer scientist do, in terms that can be understood by people who are not computer scientists?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;A good answer should be snappy, accurate in spirit, without sounding vague or trite.  For bonus points, the answer should hint at why a theoretical computer scientist is neither a mathematician nor an IT practitioner.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This question is inspired by the MO question &lt;a href=&quot;https://mathoverflow.net/questions/3559/colloquial-catchy-statements-encoding-serious-mathematics&quot;&gt;https://mathoverflow.net/questions/3559/colloquial-catchy-statements-encoding-serious-mathematics&lt;/a&gt; although the intent is different.&lt;/p&gt;&#xA;" OwnerUserId="109" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2012-07-21T17:26:53.667" Title="Dinner-table description of theoretical computer science?" Tags="&lt;big-list&gt;&lt;soft-question&gt;" AnswerCount="21" CommentCount="0" FavoriteCount="23" CommunityOwnedDate="2010-09-19T23:25:46.177" ContentLicense="CC BY-SA 2.5" />
  <row Id="1472" PostTypeId="2" ParentId="1471" CreationDate="2010-09-19T23:38:24.490" Score="0" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;What does a theoretical computer scientist do, in terms that can be understood by people who are not computer scientists?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Pretty much the same as a VCR repair man. Both consider how to get the best performance out of machines which read and write information to extremely long bits of tape.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This may be a little more tongue in cheek than what you were after...&lt;/p&gt;&#xA;" OwnerUserId="204" LastActivityDate="2010-09-19T23:38:24.490" CommentCount="11" CommunityOwnedDate="2010-09-19T23:38:24.490" ContentLicense="CC BY-SA 2.5" />
  <row Id="1473" PostTypeId="2" ParentId="1471" CreationDate="2010-09-19T23:59:14.047" Score="4" Body="&lt;p&gt;When someone asks you a question, you can either answer it directly or you can give him a step by step procedure to follow and a proof that if the steps are followed accurately then the answer will be obtained within a reasonable amount of time. Given that the steps themselves are not too complicated and can be carried out quickly by an entity capable of existing in this universe, what kinds of questions exhibit such procedures? I think this is the subject of Theoretical Computer Science.&lt;/p&gt;&#xA;" OwnerUserId="262" LastActivityDate="2010-09-19T23:59:14.047" CommentCount="3" CommunityOwnedDate="2010-09-19T23:59:14.047" ContentLicense="CC BY-SA 2.5" />
  <row Id="1475" PostTypeId="2" ParentId="1471" CreationDate="2010-09-20T00:00:24.040" Score="4" Body="&lt;p&gt;My usual answer, which is not snappy but is guaranteed to stop conversation dead (bonus!) is &quot;like quantum theory is the mathematical core of physics, TCS is the mathematical core of computer science&quot;. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2010-09-20T00:00:24.040" CommentCount="3" CommunityOwnedDate="2010-09-20T00:00:24.040" ContentLicense="CC BY-SA 2.5" />
  <row Id="1476" PostTypeId="2" ParentId="1471" CreationDate="2010-09-20T00:36:06.220" Score="18" Body="&lt;p&gt;An example answer, which can definitely be improved:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Theoretical computer scientists study computation in mathematical terms.  They can fix your computer about as well as mathematicians can calculate your taxes.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="109" LastActivityDate="2010-09-20T00:36:06.220" CommentCount="10" CommunityOwnedDate="2010-09-20T00:36:06.220" ContentLicense="CC BY-SA 2.5" />
  <row Id="1478" PostTypeId="2" ParentId="1471" CreationDate="2010-09-20T01:11:01.790" Score="5" Body="&lt;p&gt;I usually give the following answer, albeit focused on complexity theory:&#xA;&quot;I study the boundaries, in term of space and time, for a problem to be solved.  Problems include, finding the shortest path on a map or winning a chess game.&quot;&lt;/p&gt;&#xA;" OwnerUserId="88" LastActivityDate="2010-09-20T01:11:01.790" CommentCount="0" CommunityOwnedDate="2010-09-20T01:11:01.790" ContentLicense="CC BY-SA 2.5" />
  <row Id="1479" PostTypeId="2" ParentId="517" CreationDate="2010-09-20T01:19:46.630" Score="6" Body="&lt;p&gt;When $f$ is convex, even if it doesn't have a closed form, you can use search methods (on a bounded domain) to find a point as close as you'd like to the local minimum, which will also be the global minimum  -- this will work for finding the minimum of the sum, as the sum of convex functions is also convex.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are many other better numerical methods with varying guarantees (depending on the properties of the function) for optimizing convex functions -- &lt;a href=&quot;http://www.stanford.edu/~boyd/cvxbook/bv_cvxbook.pdf&quot;&gt;this book&lt;/a&gt; is a good (and free!) reference.&lt;/p&gt;&#xA;" OwnerUserId="123" LastEditorUserId="123" LastEditDate="2010-09-20T01:46:08.617" LastActivityDate="2010-09-20T01:46:08.617" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="1480" PostTypeId="2" ParentId="1471" CreationDate="2010-09-20T01:38:15.447" Score="7" Body="&lt;p&gt;What are the best ways to solve problems, and what problems are too hard to solve?  There's a word in European languages -- including English! -- &quot;informatics.&quot;  The science of information.  In the USA, we call this theoretical computer science, because of the strong computer industry here, but think about problem-solving without computers for a minute.  Consider the human body.  It solves problems in almost a miraculous fashion.  Light comes into our eyes, and we can see things we &lt;i&gt;recognize&lt;/i&gt;.  Sound comes into our ears, and we hear words we &lt;i&gt;understand&lt;/i&gt;.  These are information problems we solve easily, thousands of times a day, that the best computers in the world still struggle with.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It took the process of evolution millions of years to solve those problems, using a strategy of trial-and-error, and killing off the unlucky.  Imagine what we might accomplish if we took a more rational approach, and invested as much human creativity into this new science of problem-solving as we have invested into geometry, theology, or calculus.  What I do is one small part of that investment.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;In response to the layperson's question, &quot;What do you do?&quot; I have often answered, &quot;I spend a lot of time staring into space, figuring out how to make science fiction real.&quot;  Then I give a specific example of a project, explained in a couple sentences.&lt;/p&gt;&#xA;" OwnerUserId="30" LastActivityDate="2010-09-20T01:38:15.447" CommentCount="3" CommunityOwnedDate="2010-09-20T01:38:15.447" ContentLicense="CC BY-SA 2.5" />
  <row Id="1481" PostTypeId="5" CreationDate="2010-09-20T01:56:29.173" Score="0" Body="&lt;p&gt;The &lt;code&gt;soft-question&lt;/code&gt; tag is often confused with the &lt;code&gt;big-picture&lt;/code&gt; tag, which serves a different purpose. The difference between the two is explained &lt;a href=&quot;http://meta.cstheory.stackexchange.com/questions/182/big-picture-vs-soft-question/183#183&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Examples:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;How would you teach X to undergrads?&lt;/li&gt;&#xA;&lt;li&gt;Why computer scientists do X when Y happens?&lt;/li&gt;&#xA;&lt;li&gt;Is theoretical computer science part of pure math?&lt;/li&gt;&#xA;&lt;li&gt;How long will it take to settle P vs NP in your opinion?&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="206" LastEditorUserId="206" LastEditDate="2010-09-20T01:56:29.173" LastActivityDate="2010-09-20T01:56:29.173" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1482" PostTypeId="4" CreationDate="2010-09-20T01:56:29.173" Score="0" Body="A soft question is a question (possibly subjective) about the field of theoretical computer science as opposed to being a question in theoretical computer science." OwnerUserId="206" LastEditorUserId="186" LastEditDate="2011-09-20T20:53:07.980" LastActivityDate="2011-09-20T20:53:07.980" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="1483" PostTypeId="2" ParentId="1471" CreationDate="2010-09-20T02:01:24.407" Score="39" Body="&lt;p&gt;I give people a concrete example. Specifically, I often motivate complexity theory with the same very illustrative (but simple) problem. I ask my audience how they would instruct a small child to discover whether his name is in an alphabetically sorted list of names (and tell them that it takes the child 3 seconds to compare any one name to another). It is often the case that the person/group will come up with the naive, linear approach. I force the conversation to turn to the logarithmic algorithm (I might use a different word than logarithm) either by asking the person for something better or by mentioning it myself. I show them how doubling the size of the list only adds three seconds of work for the child with this new approach. And I compare this directly with the linear version, which will now seem entirely silly.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course, I bring it back to earth. I tell them that child in question is generally a computer but that it &lt;em&gt;could&lt;/em&gt; be a child or really anyone in general. That the questions we ask aren't really about computers but are more about the amount of space, time and information you need to solve problems. And I motivate complexity analysis by analogy to the two different methods for solving the same problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;When I've got their attention - I bring out the heavy hitters. I ask them &quot;can you prove that the logarithmic solution is the best you can ever hope to do or can you find something better?&quot; and I ask them &quot;are there problems that no process (algorithm) can hope to solve?&quot; I've been surprised at how people try to tackle these questions when they don't have a TCS background.&lt;/p&gt;&#xA;" OwnerUserId="3624" LastEditorUserId="3624" LastEditDate="2010-09-20T23:48:22.250" LastActivityDate="2010-09-20T23:48:22.250" CommentCount="7" CommunityOwnedDate="2010-09-20T02:01:24.407" ContentLicense="CC BY-SA 2.5" />
  <row Id="1484" PostTypeId="1" AcceptedAnswerId="1506" CreationDate="2010-09-20T02:22:32.977" Score="15" ViewCount="987" Body="&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Natural_proof&quot;&gt;Natural proofs&lt;/a&gt; is a barrier towards proving lower bounds on the circuit complexity of boolean functions. They do not directly imply any such barrier in proving lower bounds on the $monotone$ circuit complexity. Is there any progress towards identifying such barriers ? Are there other barriers in the monotone setting ?&lt;/p&gt;&#xA;" OwnerUserId="344" LastEditorUserId="186" LastEditDate="2010-11-11T16:03:59.453" LastActivityDate="2010-12-18T15:07:46.147" Title="Barriers and Monotone Circuit Complexity" Tags="&lt;cc.complexity-theory&gt;&lt;circuit-complexity&gt;&lt;barriers&gt;&lt;natural-proofs&gt;" AnswerCount="2" CommentCount="8" FavoriteCount="8" ContentLicense="CC BY-SA 2.5" />
  <row Id="1485" PostTypeId="2" ParentId="1471" CreationDate="2010-09-20T02:46:08.910" Score="21" Body="&lt;p&gt;I like &lt;a href=&quot;http://scottaaronson.com/blog/?p=56&quot; rel=&quot;noreferrer&quot;&gt;this post by Scott Aaronson&lt;/a&gt;, which explains complexity theory as quantitative theology. Here's an excerpt:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Computational complexity theory is really, really, really not about computers. Computers play the same role in complexity that clocks, trains, and elevators play in relativity. They’re a great way to illustrate the point, they were probably essential for discovering the point, but they’re not the point.&lt;/p&gt;&#xA;&lt;p&gt;The best definition of complexity theory I can think of is that it’s quantitative theology: the mathematical study of hypothetical superintelligent beings such as gods. Its concerns include:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;If a God or gods existed, how could they reveal themselves to mortals? (IP=PSPACE, or MIP=NEXP in the polytheistic case.)&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Which gods are mightier than which other gods? (P&lt;sup&gt;NP&lt;/sup&gt; vs. PP, SZK vs. QMA, BQP&lt;sup&gt;NP&lt;/sup&gt; vs. NP&lt;sup&gt;BQP&lt;/sup&gt;, etc. etc.)&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Could a munificent God choose to bestow His omniscience on a mortal? (EXP vs. P/poly.)&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Can oracles be trusted? (Can oracles be trusted?)&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;And of course:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Could mortals ever become godlike themselves? (P vs. NP, BQP vs. NP.)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="206" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2010-09-20T02:46:08.910" CommentCount="4" CommunityOwnedDate="2010-09-20T02:46:08.910" ContentLicense="CC BY-SA 2.5" />
  <row Id="1486" PostTypeId="2" ParentId="1471" CreationDate="2010-09-20T04:09:15.990" Score="16" Body="&lt;p&gt;I think an excellent (non)-answer along these lines was given by Dijkstra (always a good source to turn to for crusty and absolutist pronouncements :)).&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Computer Science is no more about&#xA;  computers than astronomy is about&#xA;  telescopes.&#xA;  - E. W. Dijkstra&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="80" LastActivityDate="2010-09-20T04:09:15.990" CommentCount="0" CommunityOwnedDate="2010-09-20T04:09:15.990" ContentLicense="CC BY-SA 2.5" />
  <row Id="1487" PostTypeId="2" ParentId="1381" CreationDate="2010-09-20T04:13:44.967" Score="6" Body="&lt;p&gt;I know almost nothing about Petri nets, so watch out for any mistakes.  The terminology in this answer follows &lt;a href=&quot;http://en.wikipedia.org/wiki/Petri_net#Syntax&quot; rel=&quot;nofollow&quot;&gt;Wikipedia&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Theorem&lt;/strong&gt;.  There is no Petri net with two distinguished source transitions S&lt;sub&gt;1&lt;/sub&gt; and S&lt;sub&gt;2&lt;/sub&gt; and one distinguished sink transition T such that if S&lt;sub&gt;1&lt;/sub&gt; fires &lt;i&gt;a&lt;/i&gt; times and S&lt;sub&gt;2&lt;/sub&gt; fires &lt;i&gt;b&lt;/i&gt; times, then T fires max{&lt;i&gt;a&lt;/i&gt;,&lt;i&gt;b&lt;/i&gt;} times eventually but T cannot fire more than max{&lt;i&gt;a&lt;/i&gt;,&lt;i&gt;b&lt;/i&gt;} times.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Proof&lt;/strong&gt;.  Suppose that there is such a Petri net, and let &lt;i&gt;M&lt;/i&gt;&lt;sub&gt;0&lt;/sub&gt; be the initial marking.  Let &lt;i&gt;n&lt;/i&gt; be the number of places in this Petri net.  A marking can be viewed as an element in ℕ&lt;sup&gt;&lt;i&gt;n&lt;/i&gt;&lt;/sup&gt;, where ℕ={0,1,2.…}.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Define markings &lt;i&gt;M&lt;/i&gt;&lt;sub&gt;1&lt;/sub&gt;, &lt;i&gt;M&lt;/i&gt;&lt;sub&gt;2&lt;/sub&gt;, … recursively as follows.  Starting with &lt;i&gt;M&lt;/i&gt;&lt;sub&gt;&lt;i&gt;a&lt;/i&gt;&lt;/sub&gt; (&lt;i&gt;a&lt;/i&gt;=0,1,…), let S&lt;sub&gt;1&lt;/sub&gt; fire once, and wait for T to fire.  Let &lt;i&gt;M&lt;/i&gt;&lt;sub&gt;&lt;i&gt;a&lt;/i&gt;+1&lt;/sub&gt; be the marking after T fires.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By &lt;a href=&quot;http://en.wikipedia.org/wiki/Well-quasi-ordering#Examples&quot; rel=&quot;nofollow&quot;&gt;Dickson’s lemma&lt;/a&gt;, there exist indices &lt;i&gt;i&lt;/i&gt;&amp;lt;&lt;i&gt;j&lt;/i&gt; such that &lt;i&gt;M&lt;/i&gt;&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt;≤&lt;i&gt;M&lt;/i&gt;&lt;sub&gt;&lt;i&gt;j&lt;/i&gt;&lt;/sub&gt;.  Consider the following scenario.  Starting with &lt;i&gt;M&lt;/i&gt;&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt;, let S&lt;sub&gt;2&lt;/sub&gt; fire &lt;i&gt;i&lt;/i&gt;+1 times.  Counting from the beginning, S&lt;sub&gt;1&lt;/sub&gt;, S&lt;sub&gt;2&lt;/sub&gt; and T have fired &lt;i&gt;i&lt;/i&gt; times, &lt;i&gt;i&lt;/i&gt;+1 times and &lt;i&gt;i&lt;/i&gt; times, respectively.  Therefore, from this situation, T will eventually fire.  Now consider another scenario.  Starting with &lt;i&gt;M&lt;/i&gt;&lt;sub&gt;&lt;i&gt;j&lt;/i&gt;&lt;/sub&gt;, let S&lt;sub&gt;2&lt;/sub&gt; fire &lt;i&gt;i&lt;/i&gt;+1 times.  Then there exists a firing sequence which leads to T firing because &lt;i&gt;M&lt;/i&gt;&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt;≤&lt;i&gt;M&lt;/i&gt;&lt;sub&gt;&lt;i&gt;j&lt;/i&gt;&lt;/sub&gt; (and the Petri net does not have inhibitor arcs), but this contradicts the assumption because counting from the beginning, S&lt;sub&gt;1&lt;/sub&gt;, S&lt;sub&gt;2&lt;/sub&gt; and T have fired &lt;i&gt;j&lt;/i&gt; times, &lt;i&gt;i&lt;/i&gt;+1 times and &lt;i&gt;j&lt;/i&gt;+1 times, respectively, and &lt;i&gt;j&lt;/i&gt;+1&amp;gt;max{&lt;i&gt;j&lt;/i&gt;, &lt;i&gt;i&lt;/i&gt;+1}.  &lt;strong&gt;QED&lt;/strong&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Edit&lt;/em&gt;: The proof in revision 1 contained an error, which was pointed out by mweerden in a comment.  Now it is fixed.  Thanks, mweerden!&lt;/p&gt;&#xA;" OwnerUserId="567" LastEditorUserId="567" LastEditDate="2010-09-20T20:04:48.847" LastActivityDate="2010-09-20T20:04:48.847" CommentCount="6" ContentLicense="CC BY-SA 2.5" />
  <row Id="1488" PostTypeId="2" ParentId="1471" CreationDate="2010-09-20T04:46:42.467" Score="2" Body="&lt;p&gt;Following the suggestion given by Ross Snider, of starting with a specific example, one can also directly explain the P vs NP question. One can describe this question to a layperson as figuring out whether verifying a solution is provably easier than actually finding one, or is it true that whenever we can verify a solution, we can find it too? &lt;/p&gt;&#xA;" OwnerUserId="262" LastActivityDate="2010-09-20T04:46:42.467" CommentCount="0" CommunityOwnedDate="2010-09-20T04:46:42.467" ContentLicense="CC BY-SA 2.5" />
  <row Id="1489" PostTypeId="2" ParentId="1425" CreationDate="2010-09-20T06:43:05.857" Score="11" Body="&lt;p&gt;If you'll allow me to generalize a tiny bit... Let's extend the question and ask for other complexity-theoretic hardness assumptions and their consequences for scientific experiments.  (I'll focus on physics.)  Recently there was a rather successful program to try to understand the set of allowable correlations between two measurement devices which, while spatially separated, perform a measurement on a (possibly non-locally correlated) physical system (1).  Under this and similar setups, one can use the assumptions about the hardness of &lt;em&gt;communication complexity&lt;/em&gt; to derive tight bounds which reproduce the allowable correlations for quantum mechanics.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;To give you a flavor, let me describe an earlier result in this regard.  A &lt;a href=&quot;http://en.wikipedia.org/wiki/Nonlocality#Generalising_nonlocality&quot;&gt;Popescu-Rohrlich box&lt;/a&gt; (or PR box) is an imaginary device which reproduces correlations between the measurement devices which are consistent with the principle that no information can travel faster than light (called the principle of &lt;em&gt;no signaling&lt;/em&gt;).  &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;S. Popescu &amp;amp; D. Rohrlich, Quantum&#xA;  nonlocality as an axiom, Found. Phys.&#xA;  24, 379–385 (1994).&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;We can see this as an instance of communication complexity having some influence.  The idea that two observers &lt;em&gt;must&lt;/em&gt; communicate implicitly assumes some constraint which a physicist would call no signaling.  Turning this idea around, what types of correlations are possible between two measurement devices constrained by no signaling?  This is what Popescu &amp;amp; Rohrlich study.  They showed that this set of allowable correlations is strictly larger than those allowed by quantum mechanics, which are in turn strictly larger than those allowed by classical physics.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The question then presents itself, what makes the set of quantum correlations the &quot;right&quot; set of correlations, and not those allowed by no signaling? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;To address this question, let's make the bare-bones assumption that there exist functions for which the communication complexity is non-trivial.  Here non-trivial just means that to jointly compute a boolean function f(x,y), it takes more than just a &lt;em&gt;single&lt;/em&gt; bit (2).  Well surprisingly, even this very weak complexity-theoretic assumption is sufficient to restrict the space of allowable correlations.  &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;G. Brassard, H. Buhrman, N. Linden, A.&#xA;  A. Méthot, A. Tapp, and F. Unger,&#xA;  Limit on Nonlocality in Any World in&#xA;  Which Communication Complexity Is Not&#xA;  Trivial, Phys. Rev. Lett. 96, 250401&#xA;  (2006).&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Note that a weaker result was already proven in the Ph.D. thesis of Wim van Dam.  What Brassard et al. prove is that having access to PR boxes, even ones which are faulty and only produce the correct correlation some of the time, enables one to completely trivialize communication complexity.  In this world, every two-variable Boolean function can be jointly computed by transmitting only a single bit.  This seems pretty absurd, so let's look at it conversely.  We can take the non-triviality of communication complexity as an axiom, and this allows us to &lt;em&gt;derive&lt;/em&gt; the fact that we don't observe certain stronger-than-quantum correlations in our experiments.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This program using communication complexity has been surprisingly successful, perhaps much more so than the corresponding one for computational complexity.  The papers above are really just the tip of the iceberg.  A good place to begin further reading is this review:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;H. Buhrman, R. Cleve, S. Massar and R.&#xA;  de Wolf, Nonlocality and communication&#xA;  complexity, Rev. Mod. Phys. 82,&#xA;  665–698 (2010).&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;or a forward literature search from the two other papers that I cited.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This also raises the interesting question about why the communication setting seems much more amenable to analysis than the computation setting.  Perhaps that could be the subject of another posted question on cstheory.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;(1) Take for example the experiments measuring something known as the CHSH inequality (a type of &lt;a href=&quot;http://en.wikipedia.org/wiki/Bell%27s_theorem&quot;&gt;Bell inequality&lt;/a&gt;), where the physical system consists of two entangled photons, and the measurements are polarization measurements on the individual photons at two spatially distant locations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(2) This single bit is necessary whenever f(x,y) actually depends on both x and y, since sending &lt;em&gt;zero&lt;/em&gt; bits would violate no signaling.&lt;/p&gt;&#xA;" OwnerUserId="472" LastActivityDate="2010-09-20T06:43:05.857" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1490" PostTypeId="2" ParentId="419" CreationDate="2010-09-20T08:03:20.707" Score="1" Body="&lt;p&gt;If you distribute the task to $p$ (where $p$ is a constant) processors. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then complexity may be $O(f(n)/p) \rightarrow O((1/p)f(n)) \rightarrow O(cf(n)) \rightarrow O(f(n))$ where $c=1/p$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What we use parallelism is to reduce run-time of the task i.e. if a task is taking $T$ seconds then with parallelism it may take $T/p + SomeMoreTime$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But NO complexity change.&lt;/p&gt;&#xA;" OwnerUserId="612" LastActivityDate="2010-09-20T08:03:20.707" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1491" PostTypeId="2" ParentId="1468" CreationDate="2010-09-20T08:19:19.820" Score="14" Body="&lt;p&gt;A formal semantics provide a direct meaning of the terms in the calculus independently of the syntactic proof rules for manipulating them. Without a formal semantics how can you state whether or not the rules of deduction are correct (soundness) or whether you have enough of them (completeness)? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;There have been &quot;laws of thought&quot; proposed before natural deduction came about. Aristotle's syllogisms were one such collection. If we had define them to be sound and complete we'd perhaps still be using them today, rather than developing more advanced logical techniques. The point being, if the syllogisms &lt;em&gt;completely&lt;/em&gt; captures the laws of thought, why would we need to devise any further logics. What if they were in fact inconsistent? Having a semantics along with the formal proof calculus &lt;em&gt;and&lt;/em&gt; the soundness and completeness proofs connecting them provides a measuring stick for judging the value of such a reasoning system. It would no longer stand in isolation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Whether or not the proposed semantics corresponds to one's intuitive notion of deduction is a philosophical matter. Consider the difference between classical and intuitionistic logic, the essence of which is whether the law of excluded middle ($X\lor \neg X$) should be considered logically valid. Vast amounts of almost religious work has gone into arguing the validity of intuitionistic logic (see &lt;a href=&quot;http://en.wikipedia.org/wiki/Intuitionism&quot;&gt;Intuitionism&lt;/a&gt;). So we cannot even agree on whether the a single notion of deduction makes sense. &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0199288402&quot;&gt;Beall and Greg Restall&lt;/a&gt; even go as far as arguing that we should accept that there is no one true logic and adopt a pluralistic attitude, using the most appropriate logic for the occasion. Given the plethora of logics available to computer scientists (linear logic, separation logic, higher-order constructive logic, many modal logics, all in classical and intuitionistic varieties), adopting a pluralistic attitude is something most of us probably haven't given a second thought, because logics are a tool to solve a particular problem and we try to select the most appropriate one. A formal semantics is one way of judging the appropriateness of the logic.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another reason for having a formal semantics is that there are more logics than predicate calculus. Many of these logics are designed to reason about a particular kind of system. (I'm thinking about modal logics). Here the class of systems is known and the logic comes later (although, historically, this is also not true). Again, soundness tells us whether the axioms of the logic correctly capture the &quot;behaviour&quot; of the system, and completeness tells us whether we have enough axioms. Without a semantics, how would we know whether the rules of deduction are sufficient and not nonsense?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One example logic which was defined purely syntactically and work is still ongoing to provide it with a formal semantics is BAN logic for reasoning about cryptographic protocols. The logical inference rules seem reasonable, so why provide a formal semantics? Unfortunately, BAN logic can be used to prove that a protocol is correct, yet attacks on such protocols may exist. The deduction rules are therefore &lt;em&gt;wrong&lt;/em&gt;, at least with respect to the expected semantics.&lt;/p&gt;&#xA;" OwnerUserId="77" LastEditorUserId="77" LastEditDate="2010-09-20T13:05:40.867" LastActivityDate="2010-09-20T13:05:40.867" CommentCount="7" ContentLicense="CC BY-SA 2.5" />
  <row Id="1492" PostTypeId="2" ParentId="189" CreationDate="2010-09-20T08:52:18.370" Score="44" Body="&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Dijkstra%27s_algorithm&quot;&gt;Dijkstra's algorithm&lt;/a&gt;: the single-source shortest path problem for a graph with nonnegative edge path costs. It's used everywhere, and is one of the most beautiful algorithms out there. The internet couldn't be routed without it - it is a core part of routing protocols IS-IS and OSPF (Open Shortest Path First).&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Assign to every node a distance value. Set it to zero for our initial node and to infinity for all other nodes.&lt;/li&gt;&#xA;&lt;li&gt;Mark all nodes as unvisited. Set initial node as current.&lt;/li&gt;&#xA;&lt;li&gt;For current node, consider all its unvisited neighbors and calculate their tentative distance (from the initial node). For example, if current node (A) has distance of 6, and an edge connecting it with another node (B) is 2, the distance to B through A will be 6+2=8. If this distance is less than the previously recorded distance (infinity in the beginning, zero for the initial node), overwrite the distance.&lt;/li&gt;&#xA;&lt;li&gt;When we are done considering all neighbors of the current node, mark it as visited. A visited node will not be checked ever again; its distance recorded now is final and minimal.&lt;/li&gt;&#xA;&lt;li&gt;If all nodes have been visited, finish. Otherwise, set the unvisited node with the smallest distance (from the initial node) as the next &quot;current node&quot; and continue from step 3.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerDisplayName="David Sifry" LastActivityDate="2010-09-20T08:52:18.370" CommentCount="0" CommunityOwnedDate="2010-09-20T08:52:18.370" ContentLicense="CC BY-SA 2.5" />
  <row Id="1493" PostTypeId="2" ParentId="1168" CreationDate="2010-09-20T10:00:42.843" Score="37" Body="&lt;p&gt;&lt;a href=&quot;http://homepages.inf.ed.ac.uk/wadler/papers/dual/dual.pdf&quot;&gt;Call-by-value is dual to call-by-name&lt;/a&gt; by Philip Wadler is a good read.&lt;/p&gt;&#xA;" OwnerUserId="1229" LastActivityDate="2010-09-20T10:00:42.843" CommentCount="1" CommunityOwnedDate="2010-09-20T10:00:42.843" ContentLicense="CC BY-SA 2.5" />
  <row Id="1494" PostTypeId="1" AcceptedAnswerId="1512" CreationDate="2010-09-20T10:36:19.367" Score="10" ViewCount="924" Body="&lt;p&gt;Do we have complexity classes with respect to, say, average-case complexity? For instance, is there a (named) complexity class for problems which take expected polynomial time to decide?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another question considers the &lt;em&gt;best case&lt;/em&gt; complexity, exemplified below:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a class of (natural) problems whose decision requires &lt;strong&gt;at least&lt;/strong&gt; exponential time?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To clarify, consider some &lt;strong&gt;EXP&lt;/strong&gt;-complete language $L$. Obviously, not all instances of $L$ require exponential time: There are instances which can be decided even in polynomial time. So, the &lt;em&gt;best case&lt;/em&gt; complexity of $L$ is not exponential time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT:&lt;/strong&gt; Since several ambiguities arose, I want to try to clarify it even more. By &quot;best case&quot; complexity, I mean a complexity class whose problems' complexity is &lt;em&gt;lower bounded&lt;/em&gt; by some function. For instance, define &lt;strong&gt;BestE&lt;/strong&gt; as the class of languages which cannot be decided in time less than a some linear exponential. Symbolically, let $M$ denote an arbitrary Turing machine, and $c$, $n_0$, and $n$ be natural numbers:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$L \in \mathbf{BestE} \Leftrightarrow$&#xA;$\quad (\exists c)(\forall M)[(L(M) = L) \Rightarrow (\exists {n_0})(\forall n &gt; {n_0})(\forall x \in {\{0,1\}^n})[T(M(x)) \ge {2^{c|x|}}]]$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where $T(M(x))$ denotes the times it takes before $M$ halts on input $x$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I accept that defining such class of problems is very odd, since we are requiring that, every Turing machine $M$, regardless of its power, cannot decide the language in time less than some linear exponential.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Yet notice that the polynomial-time counterpart (&lt;strong&gt;BestP&lt;/strong&gt;) is natural, since every Turing machine requires time $|x|$ to at least read its input.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;PS: Maybe, instead of quantifying as &quot;for all Turing machine $M$,&quot; we have to limit it to some pre-specified class of Turing machines, such as polynomial-time Turing machines. That way, we can define classes like $\mathbf{Best(n^2)}$, which is the class of languages requiring at least quadratic time to be decided on polynomial-time Turing machines.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;PS2: One can also consider the circuit-complexity counterpart, in which we consider the least circuit size/depth to decide a language.&lt;/p&gt;&#xA;" OwnerUserId="873" LastEditorUserId="873" LastEditDate="2010-09-20T18:22:37.183" LastActivityDate="2015-11-02T01:10:02.910" Title="Complexity Classes for Cases Other Than &quot;Worst Case&quot;" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;" AnswerCount="5" CommentCount="5" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="1495" PostTypeId="2" ParentId="419" CreationDate="2010-09-20T10:49:55.883" Score="0" Body="&lt;p&gt;Perhaps &quot;parallel or&quot; (given two functions returning a boolean, tell whether one of them returns true, given that any of them, but not both, might fail to terminate) might be what you're talking about: you can't compute it with 1 processor, but can compute with 2.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, this much depends on which computational model you'll be using, whether you're given the processes as black boxes or as their description which you can interpret yourself, etc.&lt;/p&gt;&#xA;" OwnerUserId="326" LastActivityDate="2010-09-20T10:49:55.883" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="1496" PostTypeId="2" ParentId="189" CreationDate="2010-09-20T10:58:07.540" Score="0" Body="&lt;p&gt;The algorithm that uses &lt;strong&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Pascal%27s_triangle&quot; rel=&quot;nofollow&quot;&gt;Pascal's Triangle&lt;/a&gt;&lt;/strong&gt; (wikipedia) to find &lt;strong&gt;&quot;a choose b&quot;&lt;/strong&gt;.  Especially useful when a!, b!, and/or (a - b)! is so large that the traditional expression a!/b!(a-b)! is hard to compute.  For example &quot;51 choose 23&quot;. &lt;/p&gt;&#xA;" OwnerUserId="1276" LastActivityDate="2010-09-20T10:58:07.540" CommentCount="0" CommunityOwnedDate="2010-09-20T10:58:07.540" ContentLicense="CC BY-SA 2.5" />
  <row Id="1497" PostTypeId="2" ParentId="1471" CreationDate="2010-09-20T11:08:31.650" Score="2" Body="&lt;p&gt;Here's mine:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Computer science isn't just science, there's a lot of engineering in it, but the scientific part is about understanding computation.  And a computation is a physical process that generates information in an orderly way.  In theoretical computer science, we think we need relatively sophisticated mathematics to understand computation.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;It leads nicely into talking about computation in biology, the role of logic in computer science, &amp;amp;c.&lt;/p&gt;&#xA;" OwnerUserId="270" LastActivityDate="2010-09-20T11:08:31.650" CommentCount="0" CommunityOwnedDate="2010-09-20T11:08:31.650" ContentLicense="CC BY-SA 2.5" />
  <row Id="1498" PostTypeId="2" ParentId="189" CreationDate="2010-09-20T11:16:18.173" Score="9" Body="&lt;p&gt;The &lt;strong&gt;O(n)&lt;/strong&gt; algorithm for finding the &lt;strong&gt;maximum-sum subsequence&lt;/strong&gt; of a list of integers L.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;L can contain both positive and negative integers&lt;/li&gt;&#xA;&lt;li&gt;L is not necessarily sorted&lt;/li&gt;&#xA;&lt;li&gt;L can contain duplicate entries&lt;/li&gt;&#xA;&lt;li&gt;subsequence length can be in the range [1, n] where n is the length of L&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;For example the list {-1, 500, -100, 101} has a maximum-sum subsequence of {500, -100, 101}.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I learned about this &lt;a href=&quot;http://www.cs.bell-labs.com/cm/cs/pearls/maxsum.c&quot;&gt;algorithm&lt;/a&gt; from &lt;a href=&quot;http://www.cs.bell-labs.com/cm/cs/pearls/&quot;&gt;Jon Bentley's Programming Pearls&lt;/a&gt;.  Note the code contains a few versions of this algorithm... the last version is O(n).&lt;/p&gt;&#xA;" OwnerUserId="1276" LastActivityDate="2010-09-20T11:16:18.173" CommentCount="2" CommunityOwnedDate="2010-09-20T11:16:18.173" ContentLicense="CC BY-SA 2.5" />
  <row Id="1499" PostTypeId="2" ParentId="1468" CreationDate="2010-09-20T11:36:52.713" Score="8" Body="&lt;p&gt;I agree with supercooldave, but there's another, more pragmatic reason for wanting more than some set or other of inference rules that characterise a logic: a given set of inference rules tends not to be good for answering the kind of problems faced when putting the logic to use.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you have a logic specified by a list of axioms and couple of rules as a Hilbert system, it's usually going to be hard work to figure out how to prove a given theorem in the system, and without a theoretical insight, you are not going to be able to prove that a given proposition cannot be proven in the system.  Traditional models are good for proving properties that hold for the whole logic by induction.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Four kinds of tools are useful to solve problems that most logicians want to solve, arranged from least to most semantic:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Hilbert-style systems are good for characterising the logical consequence relation of a logic, and they are usually good for categorising several logics, such as rival modal logics;&lt;/li&gt;&#xA;&lt;li&gt;Tableau systems are good for formalising decision algorithms.  Typically if a logic is decidable, one can find a terminating tableau system as a decision algorithm, and if not one can find a potentially non-terminating tableau system that provides a semi-decision procedure.  If one wants to show an upper bound on the complexity of decidability (i.e., the complexity class of a logic), tableau systems are generally the first place one looks.&lt;/li&gt;&#xA;&lt;li&gt;Analytic proof theories, such as Gentzen's natural deduction and sequent calculus, give representations of proofs that are good for reasoning, and offer the notion of analytic proof, which is useful for proving useful properties such as interpolation for a theory. &lt;/li&gt;&#xA;&lt;li&gt;Tarski-style model theories are often even better for reasoning about logics, because they nearly completely abstract away from the syntactic details of the logic.  In modal logic and set theory, they are so much better at delivering the results that those logicians tend to have very limited interest in tableau and analytic proof theory.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Since supercooldave mentioned intuitionistic logic: without the rule of the excluded middle, model theory becomes much more complicated, and analytic proof theories become more important, typically the semantics of choice.  Algebraic techniques, such as category theory, become preferred for abstracting away from syntactic complexity.  &lt;/p&gt;&#xA;" OwnerUserId="270" LastEditorUserId="270" LastEditDate="2010-09-20T13:15:18.380" LastActivityDate="2010-09-20T13:15:18.380" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1500" PostTypeId="2" ParentId="1301" CreationDate="2010-09-20T12:53:51.033" Score="1" Body="&lt;p&gt;I've found this very interesting thesis by Salil Vadhan: &lt;a href=&quot;http://www.hcs.harvard.edu/thesis/repo/31/2/ugthesis.pdf&quot; rel=&quot;nofollow&quot;&gt;http://www.hcs.harvard.edu/thesis/repo/31/2/ugthesis.pdf&lt;/a&gt;. The answer to my question seems to be in the proof of statement 9 of Theorem 5.2 (on page 36).&lt;/p&gt;&#xA;" OwnerUserId="947" LastActivityDate="2010-09-20T12:53:51.033" CommentCount="7" ContentLicense="CC BY-SA 2.5" />
  <row Id="1501" PostTypeId="2" ParentId="1494" CreationDate="2010-09-20T13:38:53.490" Score="12" Body="&lt;p&gt;There are a number of classes that attempt to tackle various notions of average-case complexity. In the Complexity Zoo, some classes you might be interested in are:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://complexityzoo.uwaterloo.ca/Complexity_Zoo:A#avgp&quot; rel=&quot;nofollow noreferrer&quot;&gt;AvgP&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://complexityzoo.uwaterloo.ca/Complexity_Zoo:H#heurp&quot; rel=&quot;nofollow noreferrer&quot;&gt;HeurP&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://complexityzoo.uwaterloo.ca/Complexity_Zoo:D#distnp&quot; rel=&quot;nofollow noreferrer&quot;&gt;DistNP&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://complexityzoo.uwaterloo.ca/Complexity_Zoo:N#nppsamp&quot; rel=&quot;nofollow noreferrer&quot;&gt;(NP,P-samplable)&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.cs.princeton.edu/theory/complexity/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Arora/Barak&lt;/a&gt; covers many, similar classes (in Ch 18), defining distP, distNP, and sampNP.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The exact relationship between all of these classes is characterized by Impagliazzo's Five Worlds, which was previously asked about &lt;a href=&quot;https://cstheory.stackexchange.com/questions/1026/status-of-impagliazzos-worlds&quot;&gt;in another question&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As far as the &quot;best case&quot; complexity question, I'm not sure I understand quite what you mean. Are you looking for &lt;a href=&quot;https://complexityzoo.uwaterloo.ca/Complexity_Zoo:E#exp&quot; rel=&quot;nofollow noreferrer&quot;&gt;EXP&lt;/a&gt;?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you mean complexity classes defined in terms of the best case run time over all instances, this isn't a very good complexity measure a priori, since you'd only be looking at the trivial cases of any given problem.&lt;/p&gt;&#xA;" OwnerUserId="108" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2015-11-02T01:10:02.910" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="1502" PostTypeId="2" ParentId="1494" CreationDate="2010-09-20T13:56:35.863" Score="2" Body="&lt;p&gt;Different cases make more sense when talking about algorithms, not problems. On the other hand, complexity classes are about problems , not algorithms. Therefore, the complexity class always being a worst-case for any algorithm is due to the definition. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In complexity, your goal is to know the number of resources needed to solve any instance of a given problem. Therefore, you know that for any given instance and algorithm, you are going to need those resources and nothing more. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In algorithm analysis, your goal is to ensure your algorithm has an upper bound for a resource, in any instance of the problem. A trivial bound is the complexity class of the problem, since no useful (one that does make uneccesary steps) algorithm takes more time than that. However, you can improve that bound given the specifics of the algorithm. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, let's say you are analyzing mergesort. Given the solution, you can confirm it in polynomial time, therefore SORTING is in NP. However, by analyzing, you can lower this down to $\Theta$(n*logn)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As for best case, it is trivial for every problem to find the least number of resources needed. Assume that the input is of length O(n) and the output of length O(m). Then the following TM M always runs in O(n)+O(m) for the best case :&lt;/p&gt;&#xA;&#xA;&lt;p&gt;M{Input,Instance,Solution}&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Compare the given instance with the instance encoded in the machine.&lt;/li&gt;&#xA;&lt;li&gt;If they are equal,  return the solution encoded.&lt;/li&gt;&#xA;&lt;li&gt;Else, do a brute-force search.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="879" LastActivityDate="2010-09-20T13:56:35.863" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1503" PostTypeId="2" ParentId="189" CreationDate="2010-09-20T13:59:39.237" Score="91" Body="&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Binary_search_algorithm&quot;&gt;Binary Search&lt;/a&gt; is the most simple, beautiful, and useful algorithm I have ever run into.&lt;/p&gt;&#xA;" OwnerUserId="1096" LastEditorUserId="1096" LastEditDate="2010-12-13T21:40:47.050" LastActivityDate="2010-12-13T21:40:47.050" CommentCount="4" CommunityOwnedDate="2010-09-20T13:59:39.237" ContentLicense="CC BY-SA 2.5" />
  <row Id="1504" PostTypeId="2" ParentId="419" CreationDate="2010-09-20T14:06:10.007" Score="1" Body="&lt;p&gt;&quot;you can't compute it with 1 processor, but can compute with 2.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is not possible, assuming that both processors are TMs or a less powerful model. From wikipedia , for multi-tape machines : &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;This model intuitively seems much more powerful than the single-tape model, but any multi-tape machine, no matter how large the k, can be simulated by a single-tape machine using only quadratically more computation time (Papadimitriou 1994, Thrm 2.1)&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Also for multi-head machines, from &quot;Linear time simulation of multihead turing machines with head — To-head jumps&quot; by Walter J. Savitch and Paul M. B. Vitányi : &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;The main result of this paper shows that, given a Turing machine with several read-write heads per tape and which has the additional one move shift operation &quot;shift a given head to the position of some other given head&quot;, one can effectively construct a multitape Turing machine with a single read-write head per tape which simulates it in linear time; i.e. if the original machine operates in time T(n), then the simulating machine will operate in time cT(n), for some constant c.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="879" LastActivityDate="2010-09-20T14:06:10.007" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="1505" PostTypeId="2" ParentId="1468" CreationDate="2010-09-20T14:25:09.977" Score="15" Body="&lt;p&gt;I'll just add another perspective to augment the above responses.  First, these reflections are worthwhile, and many people have had similar ideas.  In philosophy this is sometimes called &quot;proof-theoretic semantics&quot;, appealing to work by Nuel Belnap, Dag Prawitz, Michael Dummett and others in the 60s and 70s, who themselves appeal back to Gentzen's work on natural deduction.  Per Martin-Löf and Jean-Yves Girard also seem to propose variants of this position in their writings.  And speaking very broadly, in programming languages this is the &quot;syntactic approach to type soundness&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The thing is that even if you accept that the rules of logic do not need a separate semantic interpretation, it's not very interesting/useful to say that they are self-justified and leave it at that.  The question is what a formal semantics accomplishes, and whether it's possible to achieve the same with fewer detours.  However, the project of unifying model theory with analytic proof theory is important but still unresolved, being actively pursued along many different fronts including categorical logic, game semantics, and Girard's &quot;ludics&quot;.  For example, in addition to what Charles mentioned, another qualitative benefit of having models is the ability to provide concrete &lt;i&gt;counterexamples&lt;/i&gt; to &lt;i&gt;non&lt;/i&gt;-theorems, and the questions is how to make sense of this in a &quot;direct&quot; approach.  For one ludics-inspired answer, see &lt;a href=&quot;http://www.kurims.kyoto-u.ac.jp/~terui/pub.html&quot;&gt;&quot;On the meaning of logical completeness&quot;&lt;/a&gt; by Michele Basaldella and Kazushige Terui.&lt;/p&gt;&#xA;" OwnerUserId="674" LastEditorUserId="674" LastEditDate="2010-09-20T15:31:35.707" LastActivityDate="2010-09-20T15:31:35.707" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1506" PostTypeId="2" ParentId="1484" CreationDate="2010-09-20T14:31:20.970" Score="15" Body="&lt;p&gt;Benjamin Rossman's recent paper summarises the state of the art for the monotone circuit complexity of k-CLIQUE.  In short, Razborov proved a lower bound in 1985, later improved by Alon and Boppana in 1987: $\omega(n^k/(\log n)^k)$, versus the brute force upper bound $O(n^k)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Rossman shows a lower bound of $\omega(n^{k/4})$ for the average-case complexity in the Erdős-Rényi model of random graphs; Amano previously showed this was essentially also the upper bound.  The quasi-sunflower lemma that forms a key part of the paper is rather neat.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So the natural proofs barrier does not seem to apply to monotone circuit complexity.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Norbert Blum has discussed why lower bounds for monotone circuits are essentially different from circuits with negations.  The key observation of Éva Tardos is that a small modification of the &lt;a href=&quot;http://en.wikipedia.org/wiki/Lov%C3%A1sz_number&quot;&gt;Lovász theta function&lt;/a&gt; has exponential monotone circuit complexity.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Benjamin Rossman, &lt;a href=&quot;http://www.mit.edu/~brossman/monotone-k-clq.pdf&quot;&gt;&lt;em&gt;The Monotone Complexity of k-Clique on Random Graphs&lt;/em&gt;&lt;/a&gt;, FOCS 2010.&lt;/li&gt;&#xA;&lt;li&gt;Norbert Blum, &lt;a href=&quot;http://dx.doi.org/10.1007/978-3-642-03456-5_2&quot;&gt;&lt;em&gt;On Negations in Boolean Networks&lt;/em&gt;&lt;/a&gt;, LNCS &lt;strong&gt;5760&lt;/strong&gt;, 18–29, 2009.&lt;/li&gt;&#xA;&lt;li&gt;É. Tardos, &lt;a href=&quot;http://www.cs.cornell.edu/People/eva/Gap.Between.Monotone.NonMonotone.Circuit.Complexity.is.Exponential.pdf&quot;&gt;&lt;em&gt;The Gap Between Monotone and Non-Monotone Circuit Complexity is Exponential&lt;/em&gt;&lt;/a&gt;, Combinatorica &lt;strong&gt;8&lt;/strong&gt;, 141–142, 1987.  &lt;a href=&quot;http://dx.doi.org/10.1007/BF02122563&quot;&gt;doi:10.1007/BF02122563&lt;/a&gt; &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="109" LastEditorUserId="109" LastEditDate="2010-11-11T14:34:16.753" LastActivityDate="2010-11-11T14:34:16.753" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="1507" PostTypeId="2" ParentId="1494" CreationDate="2010-09-20T14:42:35.907" Score="-1" Body="&lt;p&gt;It seems that every problem has $O(1)$ best case complexity. Consider an algorithm that always outputs the solution to a particular instance. That instance is the best case.&lt;/p&gt;&#xA;" OwnerUserId="835" LastActivityDate="2010-09-20T14:42:35.907" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="1508" PostTypeId="2" ParentId="1468" CreationDate="2010-09-20T14:52:42.463" Score="19" Body="&lt;p&gt;A minor comment, and a more serious answer. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;First, it doesn't make sense to declare a natural deduction system complete by fiat. Natural deduction is interesting precisely because it has a natural internal notion of consistency and/or completeness -- namely, cut-elimination. This is a fantastic theorem, and IMO fully justifies attempts to give purely proof-theoretic semantics (and by the CH correspondence, it likewise justifies the use of operational methods in programming language semantics). But this is interesting precisely because it offers a more refined notion of getting the logic right than consistency. Taking the proof theoretic road means you'll have to do more work, but in exchange you get stronger results.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, it happens that sometimes the logic &lt;em&gt;per se&lt;/em&gt; takes a secondary role. We may begin with a (family of) models, and then look for ways of talking syntactically about them, using a logic. The soundness and completeness of a logic with respect to a family of models indicates that the logic really does capture everything both interesting and true you can say about the class of models. A concrete example of when models are more interesting than the logical theories occurs in program analysis and model checking. There, the usual thing to do is to take your model to be the execution of a program, and the logic to be some fragment of temporal logic. The propositions you can say in these languages are (deliberately) not terribly exciting -- e.g., null pointer dereferences never occur -- but it's the fact that it applies to actual program runs that gives it interest. &lt;/p&gt;&#xA;" OwnerUserId="657" LastActivityDate="2010-09-20T14:52:42.463" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1509" PostTypeId="2" ParentId="1454" CreationDate="2010-09-20T15:25:06.153" Score="4" Body="&lt;p&gt;Here is my take on the problem.  I have not recently read any papers that deal with black-box zero-knowledge in the random oracle (RO) model, so I'm just guessing at what they mean and not at what is written there.  The short answer (guess) is that BB-ZK in the RO model should let the simulator run in time polynomial in |x| and the number of RO queries issued by V*, the cheating verifier.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let's try to justify that guess.  An initial observation is that the term &quot;black-box zero-knowledge proofs in the random oracle model&quot; needs a closer look to properly define.  Black-box simulators are defined to work with any oracle (i.e., the cheating verifier as a black-box), and their only interface is through the oracle input/output.  If we just augment this model to give a RO to all parties (perhaps by allowing their circuits to have RO gates), then we get a model where the simulator cannot program the RO - on an oracle query, everything (including RO queries) just happens &quot;inside&quot; of the V* oracle, and then it returns its next message.  If we want to allow RO programming, then we need to modify the interfaces:  The simulator now gets an input/output oracle for V* and no random oracle.  On each call to the V* oracle, instead of producing the next message, the oracle may instead produce the next query to the RO, and the simulator can give it the RO response by calling the oracle again.  Now this allows RO programming, and we can also allow the simulator's running time to depend on the number of queries to the RO.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any further exploration of the meaning of these definitions is left to the reader.  I'm thinking syntacticly.&lt;/p&gt;&#xA;" OwnerUserId="724" LastActivityDate="2010-09-20T15:25:06.153" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="1510" PostTypeId="1" AcceptedAnswerId="1511" CreationDate="2010-09-20T16:04:47.400" Score="8" ViewCount="234" Body="&lt;p&gt;A few years ago, I took a class on complexity theory from Steven Rudich, and I remember him giving an interesting lecture connecting statistical tests (as found in statistics departments!) with circuit complexity. I remember him claiming something vaguely like: you could use circuits to abstractly characterize what a statistical test was, and that there were fundamental limits on what sorts of patterns statistical tests could identify. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Unfortunately, I remember neither precisely what his claim was, nor even enough keywords to let me Google for it. Does anyone know what he could have meant, and supply me with some references?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(My apologies for the vagueness of this question: if I knew enough to ask precisely, I wouldn't need to ask!) &lt;/p&gt;&#xA;" OwnerUserId="657" LastActivityDate="2010-09-20T16:29:51.427" Title="Circuit complexity and statistical tests" Tags="&lt;circuit-complexity&gt;&lt;st.statistics&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="1511" PostTypeId="2" ParentId="1510" CreationDate="2010-09-20T16:29:51.427" Score="7" Body="&lt;p&gt;I think I remember what lecture you're talking about. I remember he was saying that most statistical tests that are done can be carried out in $LOGSPACE$. (Comparing the number of $1$'s versus the number of $0$'s, computing standard deviation, etc.) But the output of Nisan's pseudorandom generator will fool all of these statistical tests, and still is not a truly random sequence. &lt;a href=&quot;http://www.cs.cmu.edu/~odonnell/complexity/docs/lecture16.pdf&quot; rel=&quot;nofollow&quot;&gt;This lecture by Ryan O'Donnell&lt;/a&gt; describes the details.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An alternative way of defining &quot;statistical test&quot; is given by &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.39.917&quot; rel=&quot;nofollow&quot;&gt;Blum and Goldreich&lt;/a&gt;. &lt;/p&gt;&#xA;" OwnerUserId="225" LastActivityDate="2010-09-20T16:29:51.427" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1512" PostTypeId="2" ParentId="1494" CreationDate="2010-09-20T17:08:51.370" Score="14" Body="&lt;p&gt;Although I can't quite parse your definitions, you should know that much stronger time hierarchies are known, in particular &quot;almost everywhere&quot; time hierarchies. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is the formal statement: for every time bound $T(n)$, there is a language $L \in TIME[T(n)]$ with the property that every deterministic algorithm that correctly recognizes $L$ must run in time asymptotically greater than $t(n)$ on all but finitely many inputs, for sufficiently small time $t(n)$.   &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&quot;Sufficiently small&quot; means $t(n) \log t(n) \leq o(T(n))$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose we choose $T(n)=2^n$ for an example, and obtain a hard language $L$. Then, any algorithm that correctly recognizes $L$ must take at least $2^n/n^2$ time on &lt;em&gt;all&lt;/em&gt; inputs past a certain length. This seems to be what you're looking for in your class BestE.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Reference:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;a href=&quot;http://scholar.google.com/scholar?q=%22A+Note+on+Almost-Everywhere-Complex+Sets+and+Separating+Deterministic-Time-Complexity+Classes%22&quot;&gt;John G. Geske, Dung T. Huynh, Joel I. Seiferas: A Note on Almost-Everywhere-Complex Sets and Separating Deterministic-Time-Complexity Classes Inf. Comput. 92(1): 97-104 (1991)&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="225" LastActivityDate="2010-09-20T17:08:51.370" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="1513" PostTypeId="2" ParentId="1494" CreationDate="2010-09-20T17:11:44.300" Score="5" Body="&lt;p&gt;[Expanding on Ryan Williams's answer and adding some search terms for you] Your notion of best case complexity already has a name: almost-everywhere (a.e.) hardness, or bi-immunity.  (Ryan's example is of $TIME[T(n)]$-bi-immunity). If $\mathcal{C}$ is a complexity class, then a language $L$ is $\mathcal{C}$-immune if there is no infinite subset $L' \subseteq L$ such that $L' \in \mathcal{C}$.  $L$ is $\mathcal{C}$-bi-immune if both $L$ and its complement $\overline{L} = \Sigma^* \backslash L$ are $\mathcal{C}$-immune.  For example, it's not difficult to show that your definition of $\mathbf{BestE}$ is equivalent to the class of $E$-bi-immune sets.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Historical aside: the notion of immunity was first developed by &lt;a href=&quot;https://cstheory.stackexchange.com/questions/1168/what-papers-should-everyone-read/1517#1517&quot;&gt;Post in 1944&lt;/a&gt; in computability theory, long before P was even defined.  Post actually considered &quot;simple sets&quot; -- a set is simple if its complement is immune.  To a computability theorist, the word &quot;immune&quot; typically means &quot;immune to computable sets.&quot;  In that setting, immunity is equivalent to &quot;immune to c.e. sets&quot; since every infinite c.e. set contains an infinite computable one.  I believe Post's paper was also the first to introduce the notion of many-one reduction, but I couldn't swear to that.)&lt;/p&gt;&#xA;" OwnerUserId="129" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.743" LastActivityDate="2010-09-20T19:05:27.763" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="1514" PostTypeId="1" CreationDate="2010-09-20T17:25:23.587" Score="24" ViewCount="1269" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;What is known about the complexity of finding minimal circuits that compute SAT up to length $n$?  &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;More formally: what is the complexity of a function which, given $1^{n}$ as input outputs a minimal circuit $C$ such that for any formula $\varphi$ with $|\varphi| \leq n$, $C(\varphi) = SAT(\varphi)$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(I'm specifically interested in lower bounds.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The naive deterministic algorithm (compute SAT by brute force up to length $n$, then try all circuits in order of size until you find one that correctly computes SAT up to length $n$) takes $\leq 2^{O(n)}$ time to compute SAT, and then an additional $O(2^n 2^M)$ time to find a minimal circuit, where $M$ is the size of the minimal circuit.  &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there a deterministic algorithm that finds minimal circuits for SAT whose running time is $o(2^n 2^M)$, where $M$ is the size of the minimal circuit?  Or does this imply some complexity collapse?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Here are two things that, although related to my question, are definitely &lt;em&gt;not&lt;/em&gt; what I'm asking about (which is, I think, why I found it a little difficult to search for):&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;The circuit minimization problem: given a circuit $C$ (or a function $f$ given by its truth table, or several other variants) find a minimal circuit $C'$ computing the same function as $C$.  Even if circuit minimization were easy, it would not necessarily imply that the above task is easy, as even computing the function we want to minimize (SAT up to length $n$) is believed to be hard, whereas in the circuit minimization problem the function we want to minimize is free (it's given as the input).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;$NP$ versus $P/poly$.  My question is not merely about &lt;em&gt;what size&lt;/em&gt; the minimal circuit has; it is about the complexity of finding a minimal circuit, regardless of its size.  Obviously if we can compute minimal circuits in polynomial time then $NP \subseteq P/poly$ (and in fact $NP \subseteq P$, since then the circuit family is $P$-uniform), but the converse need not be true.  Indeed, I believe &lt;a href=&quot;http://dx.doi.org/10.1016/0304-3975(89)90164-3&quot;&gt;Immerman and Mahaney&lt;/a&gt; were the first to construct an oracle where $NP \subseteq P/poly$ but $P \neq NP$ -- that is, $NP$ has polynomial-size circuits but they cannot be found in polynomial time.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="129" LastEditorUserId="206" LastEditDate="2010-09-21T04:33:22.577" LastActivityDate="2010-11-08T05:27:32.497" Title="What is known about the complexity of finding minimum circuits for SAT?" Tags="&lt;cc.complexity-theory&gt;&lt;sat&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="1515" PostTypeId="1" AcceptedAnswerId="1516" CreationDate="2010-09-20T18:28:41.523" Score="0" ViewCount="566" Body="&lt;p&gt;I am reading about a Neural Networks project that has some data like this&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/AiJb3.png&quot; alt=&quot;alt text&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am new to this, and though I think I understand what a 3:1 network mean, I do not understand what number of inputs (to each neuron) means.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/xU6Eo.png&quot; alt=&quot;alt text&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think this is what a 3:1 network would look like (please correct me if I am wrong). Does 3 inputs per neuron mean that we will have 3 inputs to each of nodes A, B and C? In that case, what would the line connecting A to Z indicate? As in out of three inputs, how is a resultant chosen?&lt;/p&gt;&#xA;" OwnerUserId="416" LastEditorUserId="416" LastEditDate="2010-09-20T18:48:10.627" LastActivityDate="2019-02-17T13:36:47.523" Title="What does &quot;number of inputs to each neuron&quot; mean in Neural Network terms?" Tags="&lt;ds.algorithms&gt;&lt;ne.neural-evol&gt;&lt;ai.artificial-intel&gt;" AnswerCount="1" CommentCount="0" ClosedDate="2019-02-19T15:12:27.777" ContentLicense="CC BY-SA 2.5" />
  <row Id="1516" PostTypeId="2" ParentId="1515" CreationDate="2010-09-20T18:50:36.840" Score="7" Body="&lt;p&gt;You are bypassing the &quot;hidden layer&quot;: A neural network consists of three layers: Input layer, hidden layer, and output layer:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://www.doc.ic.ac.uk/~nd/surprise_96/journal/vol4/cs11/report.multil.jpg&quot;/&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You may also have more than one hidden layer:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://i.stack.imgur.com/xqUgh.gif&quot; rel=&quot;nofollow noreferrer&quot;&gt;&lt;img src=&quot;https://i.stack.imgur.com/xqUgh.gif&quot; alt=&quot;&quot;&gt;&lt;/a&gt;&lt;br&gt;&#xA;&lt;sub&gt;(source: &lt;a href=&quot;http://www.mu-sigma.com/images/neuralNetwork.gif&quot; rel=&quot;nofollow noreferrer&quot;&gt;mu-sigma.com&lt;/a&gt;)&lt;/sub&gt;  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Though, in your case, since the number of hidden layers is not specified, it is safe to assume that there is just 1 hidden layer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, for example, in a 3:1 network, you have 1 output neuron, and 3 hidden neurons. The number of inputs shows the number of neurons in the input layer.&lt;/p&gt;&#xA;" OwnerUserId="873" LastEditorUserId="32711" LastEditDate="2019-02-17T13:36:47.523" LastActivityDate="2019-02-17T13:36:47.523" CommentCount="2" ContentLicense="CC BY-SA 4.0" />
  <row Id="1517" PostTypeId="2" ParentId="1168" CreationDate="2010-09-20T19:04:35.547" Score="13" Body="&lt;p&gt;&lt;a href=&quot;http://dx.doi.org/10.1090/S0002-9904-1944-08111-1&quot;&gt;Emil Post's &quot;Recursively enumerable sets of positive integers and their decision problems.&quot;&lt;/a&gt;  Bull. Amer. Math. Soc. 50 (1944), 284-316. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Not only is the paper readable, but it was (I believe) the first paper to introduce each of the following notions, many of which were later adapted to polynomial-time either as central ideas or for interesting results:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Many-one reduction (and one-one reduction)&lt;/li&gt;&#xA;&lt;li&gt;Truth-table reduction&lt;/li&gt;&#xA;&lt;li&gt;Simple sets (=complements of immune sets), hypersimple sets&lt;/li&gt;&#xA;&lt;li&gt;Creative sets (later used in papers regarding the Berman-Hartmanis isomorphism conjecture)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Especially recommended for anyone interested in history and/or computability theory.  As far as I can tell, it's also a good survey of all of computability theory up to 1944, and was really the starting point for the blossoming of the field.&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2010-09-20T19:04:35.547" CommentCount="1" CommunityOwnedDate="2010-09-20T19:04:35.547" ContentLicense="CC BY-SA 2.5" />
  <row Id="1519" PostTypeId="1" AcceptedAnswerId="1542" CreationDate="2010-09-20T19:42:07.570" Score="11" ViewCount="597" Body="&lt;p&gt;Immerman (Descriptive Complexity, 1999) presents the EF games for existential monadic second order (Ajtai-Fagin games) on page 127.  As $\exists$MSO on words is equivalent to regular languages, the game can be written as follows.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A language $L \subseteq \{a, b\}^*$ is regular if and only if Delilah has no winning strategy in the following game:&lt;br/&gt;&#xA;1. Samson chooses $c, m \in \mathbb{N}$,&lt;br/&gt;&#xA;2. Delilah chooses $w \in L$,&lt;br/&gt;&#xA;3. Samson chooses $c$ subsets $C_1^w, \ldots, C_c^w$ of the set of positions in $w$ (i.e. $\{0, \ldots, |w|-1\}$),&lt;br/&gt;&#xA;4. Delilah chosses $v \not\in L$ and $c$ subsets $C_1^v, \ldots, C_c^v$ of the set of positions in $v$,&lt;br/&gt;&#xA;5. Samson and Delilah play the $m$-turn EF game on $(\mathfrak{S}(w), C_1^w, \ldots, C_c^w)$ and $(\mathfrak{S}(v), C_1^v, \ldots, C_c^v)$,&lt;br/&gt;&#xA;where $\mathfrak{S}(w)$ is the structure associated with the word $w$, i.e. :&#xA;$$\mathfrak{S}(w) = \langle \{0, \ldots, |w|-1\}, SUCC, Q_a, Q_b \rangle$$&#xA;with $Q_l = \{p \;|\; w_p = l\}$, and $SUCC$ is the binary successor predicate.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have two questions:&lt;br/&gt;&#xA;- How does one show that $\{a^nb^n \;|\; n \in \mathbb{N}\}$ is not regular, using an EF argument like this,&lt;br/&gt;&#xA;- Is it easier/harder to play those games (to show non-regularity) when one has an ordering rather than the successor relation? (Those are equivalent in existential MSO).&lt;/p&gt;&#xA;" OwnerUserId="88" LastActivityDate="2010-09-21T09:05:34.673" Title="Ehrenfeucht-Fraïssé games (Ajtai-Fagin in fact) for regular languages." Tags="&lt;lo.logic&gt;&lt;automata-theory&gt;&lt;descriptive-complexity&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="1520" PostTypeId="2" ParentId="189" CreationDate="2010-09-20T21:14:01.357" Score="31" Body="&lt;p&gt;The &lt;a href=&quot;http://en.wikipedia.org/wiki/Cycle_detection&quot;&gt;Tortoise and hare Algorithm&lt;/a&gt;. I like it because I'm sure that even if I wasted my entire life trying to find it, there is no way I would come up with such an Idea.&lt;/p&gt;&#xA;" OwnerUserId="1307" LastEditorUserId="367" LastEditDate="2010-09-22T18:26:16.260" LastActivityDate="2010-09-22T18:26:16.260" CommentCount="1" CommunityOwnedDate="2010-09-20T21:14:01.357" ContentLicense="CC BY-SA 2.5" />
  <row Id="1521" PostTypeId="1" AcceptedAnswerId="1523" CreationDate="2010-09-20T21:16:32.573" Score="32" ViewCount="3702" Body="&lt;p&gt;In a couple recent questions (&lt;a href=&quot;https://cstheory.stackexchange.com/questions/944/solid-applications-of-category-theory-in-tcs&quot;&gt;q1&lt;/a&gt; &lt;a href=&quot;https://cstheory.stackexchange.com/questions/1468/why-do-we-need-formal-semantics-for-predicate-logic&quot;&gt;q2&lt;/a&gt;), there has been discussion of &quot;Theory A&quot; vs &quot;Theory B&quot;, seemingly to capture the divide between the study of logic and programming languages and the study of algorithms and complexity.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This terminology was new to me, and a quick web search didn't come up with any obvious references explaining it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does anyone know of a reference or references that explain the origin of this terminology, and what, if any, substantive benefit is intended to be derived from making this distinction? &lt;/p&gt;&#xA;" OwnerUserId="629" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.743" LastActivityDate="2010-09-20T22:16:02.887" Title="Origins and applications of Theory A vs Theory B?" Tags="&lt;ho.history-overview&gt;&lt;terminology&gt;" AnswerCount="2" CommentCount="5" FavoriteCount="13" ContentLicense="CC BY-SA 2.5" />
  <row Id="1522" PostTypeId="2" ParentId="1521" CreationDate="2010-09-20T21:19:34.560" Score="3" Body="&lt;p&gt;&lt;a href=&quot;http://icalp10.inria.fr/&quot; rel=&quot;nofollow&quot;&gt;ICALP&lt;/a&gt; track A vs. B.&lt;/p&gt;&#xA;" OwnerUserId="74" LastActivityDate="2010-09-20T21:19:34.560" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1523" PostTypeId="2" ParentId="1521" CreationDate="2010-09-20T21:22:00.710" Score="36" Body="&lt;p&gt;It comes from the &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0262720205&quot;&gt;handbook on theoretical computer science&lt;/a&gt;, which had two volumes: A was for algorithms and complexity, and B was for logic and semantics. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Jukka, did ICALP predate this ? Or was it in response to this ? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;As for benefits, I think there's always some utility in taxonomizing areas based on topics of interest, and forms of study. However, as with all taxonomizations, the problem comes when you forget to &quot;go back up the tree and down the other side&quot; :). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT&lt;/strong&gt;: as ICALP explicitly states, this division comes from the Elsevier journal &lt;a href=&quot;http://www.elsevier.com/wps/find/journaldescription.cws_home/505625/description#description&quot;&gt;Theoretical Computer Science&lt;/a&gt;, which itself predates the handbook, so I think that's a more accurate source. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT ++&lt;/strong&gt;: From the &lt;a href=&quot;http://www.eatcs.org/index.php/about-the-association/article/497&quot;&gt;history of the EATCS&lt;/a&gt; comes this snippet about TCS, the journal:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Since that time M. Nivat, who is still&#xA;  Editor-in-Chief has reported regularly&#xA;  to council and general assembly and&#xA;  occasionally in the Bulletin - e.g.&#xA;  when the split into sections A&#xA;  (automata, algebra und algorithms) and&#xA;  B (logic, semantics and related&#xA;  topics) was decided upon (Bulletin no.&#xA;  45, p.2,3, October 1991);&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;which yields 1991 as when this first started happening at the journal. However, the Handbook was first published in September 1990 ! &lt;/p&gt;&#xA;" OwnerUserId="80" LastEditorUserId="80" LastEditDate="2010-09-20T22:16:02.887" LastActivityDate="2010-09-20T22:16:02.887" CommentCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="1524" PostTypeId="2" ParentId="1471" CreationDate="2010-09-20T22:24:30.503" Score="4" Body="&lt;p&gt;We study the limits of computation.  How quickly can you solve a certain computational problem?  How much time is required to solve it, no matter what solution you try?  Then I give them &lt;a href=&quot;https://cstheory.stackexchange.com/questions/446/everyday-encounters-with-np-complete-problems/495#495&quot;&gt;these examples&lt;/a&gt; (which are easy to explain to most laypeople -- and indeed many laypeople have direct experience with them -- demonstrate some properties of NP-complete problems, and actually have to do with saving lives).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Obviously people (including myself) might quip that I've ignored important other resources like space, randomness, or even quantumness.  But when you only have 2 minutes to tell someone about a whole field, some things get left out.&lt;/p&gt;&#xA;" OwnerUserId="129" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2010-09-20T22:24:30.503" CommentCount="0" CommunityOwnedDate="2010-09-20T22:24:30.503" ContentLicense="CC BY-SA 2.5" />
  <row Id="1525" PostTypeId="2" ParentId="1418" CreationDate="2010-09-20T23:24:37.690" Score="2" Body="&lt;p&gt;&lt;a href=&quot;http://www.cs.mcgill.ca/~denis/notes09.pdf&quot; rel=&quot;nofollow&quot;&gt;Lecture&lt;/a&gt; from the 2009 Barbados Workshop on Computational Complexity touches some more recent topics.  &lt;/p&gt;&#xA;" OwnerUserId="317" LastActivityDate="2010-09-20T23:24:37.690" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1526" PostTypeId="2" ParentId="1471" CreationDate="2010-09-20T23:30:31.793" Score="11" Body="&lt;p&gt;I really like the introduction to the Partitioning problem as given by Brian Hayes given &lt;a href=&quot;http://www.americanscientist.org/issues/pub/the-easiest-hard-problem/1&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;He uses the problem of partitioning a set of children into teams of equal total ability (assuming you can quantify the ability of every child using a number), and also explains the greedy algorithm usually used by children to solve this problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's a very simple problem to understand, it's easy to understand the algorithm, surprising that it is (most likely) very hard in general and embarrassing that we are still unable to prove the last bit.&lt;/p&gt;&#xA;" OwnerUserId="988" LastActivityDate="2010-09-20T23:30:31.793" CommentCount="2" CommunityOwnedDate="2010-09-20T23:30:31.793" ContentLicense="CC BY-SA 2.5" />
  <row Id="1527" PostTypeId="1" AcceptedAnswerId="1528" CreationDate="2010-09-20T23:40:35.423" Score="6" ViewCount="356" Body="&lt;p&gt;I'm looking at alternatives to PKI and I'm having trouble understanding exactly how certificateless public key algorithms (e.g. &lt;a href=&quot;http://www.springerlink.com/content/4wc47elk7fp8xwty/&quot; rel=&quot;nofollow&quot;&gt;Al-Riyami and Paterson&lt;/a&gt;, &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=1266994&quot; rel=&quot;nofollow&quot;&gt;Liu et al&lt;/a&gt;) work in practice.  It &lt;em&gt;seems&lt;/em&gt; like the &quot;partial private key&quot; generated by the KGC in these systems is not actually confidential information (which would be awfully convenient for practical use of the system), but if it isn't, then I don't understand why the KGC and its master secret are necessary.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(I hope this isn't too &quot;practical&quot; a question for this site.)&lt;/p&gt;&#xA;" OwnerUserId="1311" LastEditorUserId="1311" LastEditDate="2010-09-21T00:46:06.383" LastActivityDate="2010-12-20T21:11:31.043" Title="Confidentiality of &quot;partial private keys&quot; in certificateless public key crypto" Tags="&lt;ds.algorithms&gt;&lt;cr.crypto-security&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="1528" PostTypeId="2" ParentId="1527" CreationDate="2010-09-21T00:02:53.483" Score="1" Body="&lt;p&gt;The best way to answer this is to look at the security model in that paper.  If the adversary is allowed to request the partial private key for the target identity (i.e. the one it uses in the left-right query during the attack), then partial-private-keys are not meant to be kept secret.  If the adversary is not allowed to do so, then they must remain confidential.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;After scanning their model, it seems that all partial private keys are readily supplied to adversary via Extract-Partial-Private-Key-of-A queries. This means they don't need to be kept secret.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I've got to run now, but I'll edit later if I've gotten this wrong.&lt;/p&gt;&#xA;" OwnerUserId="724" LastActivityDate="2010-09-21T00:02:53.483" CommentCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="1529" PostTypeId="2" ParentId="189" CreationDate="2010-09-21T00:49:35.193" Score="8" Body="&lt;p&gt;Everyone says Knuth-Morris-Pratt. I don't think the &lt;a href=&quot;http://en.wikipedia.org/wiki/Boyer%E2%80%93Moore_string_search_algorithm&quot;&gt;Boyer-Moore&lt;/a&gt; string-matching algorithm gets enough credit.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There's &lt;a href=&quot;http://ridiculousfish.com/blog/archives/2006/05/30/old-age-and-treachery/&quot;&gt;a wonderful exploration Boyer-Moore's implementation in grep on ridiculousfish&lt;/a&gt;. For the more academically-inclined, Mike Haertel, grep's longtime maintainer, &lt;a href=&quot;http://lists.freebsd.org/pipermail/freebsd-current/2010-August/019310.html&quot;&gt;explains why grep is so fast&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="1299" LastEditorUserId="367" LastEditDate="2010-09-22T18:34:22.470" LastActivityDate="2010-09-22T18:34:22.470" CommentCount="5" CommunityOwnedDate="2010-09-21T00:49:35.193" ContentLicense="CC BY-SA 2.5" />
  <row Id="1532" PostTypeId="1" CreationDate="2010-09-21T02:56:10.263" Score="13" ViewCount="4326" Body="&lt;p&gt;As the title says, what is the correct definition of $k$-tree? There are several papers that talk about $k$-trees and partial $k$-trees as alternative definitions for graphs with bounded treewidth, and I've seen many seemingly incorrect definitions. For example, at least one place defines $k$-trees as follows:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;A graph  is called a $k$-tree if and only if either $G$ is the complete graph with $k$ vertices, or $G$ has a vertex $v$ with degree $k − 1$ such that $G \setminus v$ is a $k$-tree. A partial $k$-tree is any subgraph of a $k$-tree.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;According to this definition, one can create the following graph:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Start with an edge $(v_1, v_2)$, a $2$-tree.&lt;/li&gt;&#xA;&lt;li&gt;For $i=1\ldots n$, create a vertex $v_i$ and make it adjacent to $v_{i-1}$ and $v_{i-2}$.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Doing this would create a strip of $n$ squares with diagonals. Similarly, we can start creating a band from the first square in a direction orthogonal to the strip above. Then, we would have the first row and first column of an $n \times n$ grid. Filling in the grid is easy by creating vertices and joining them to the vertices to its above and to its left.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The end result is a graph that contains an $n\times n$ grid, which, in effect, is known to be of treewidth $n$. &lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;A correct definition of $k$-trees has to be the following:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;A graph is called a $k$-tree if and only if either $G$ is a complete graph with $k$ vertices, or $G$ has a vertex $v$ with degree $k-1$ such that the neighbor of $v$ forms a $k$-clique, and $G \ v$ is a $k$-tree.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Then, the grid-like graph described as above cannot be created.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Am I correct?&lt;/p&gt;&#xA;" OwnerUserId="1316" LastEditorUserId="25504" LastEditDate="2016-05-11T13:05:57.290" LastActivityDate="2019-11-13T12:33:14.617" Title="What is the correct definition of $k$-tree?" Tags="&lt;graph-theory&gt;&lt;treewidth&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="1533" PostTypeId="2" ParentId="1532" CreationDate="2010-09-21T03:45:49.520" Score="15" Body="&lt;p&gt;I basically agree with you, with just a tiny modification:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;A graph &lt;span class=&quot;math-container&quot;&gt;$G$&lt;/span&gt; is a &lt;span class=&quot;math-container&quot;&gt;$k$&lt;/span&gt;-tree if and only if either &lt;span class=&quot;math-container&quot;&gt;$G$&lt;/span&gt; is a complete graph with &lt;span class=&quot;math-container&quot;&gt;$k+1$&lt;/span&gt; vertices, or &lt;span class=&quot;math-container&quot;&gt;$G$&lt;/span&gt; has a vertex &lt;span class=&quot;math-container&quot;&gt;$v$&lt;/span&gt; such that the (open) neighborhood of &lt;span class=&quot;math-container&quot;&gt;$v$&lt;/span&gt; forms a &lt;span class=&quot;math-container&quot;&gt;$k$&lt;/span&gt;-clique, and &lt;span class=&quot;math-container&quot;&gt;$G - v$&lt;/span&gt; is a &lt;span class=&quot;math-container&quot;&gt;$k$&lt;/span&gt;-tree.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;In other words, &lt;span class=&quot;math-container&quot;&gt;$v$&lt;/span&gt; should have degree &lt;span class=&quot;math-container&quot;&gt;$k$&lt;/span&gt;, instead &lt;span class=&quot;math-container&quot;&gt;$k-1$&lt;/span&gt; in your definition.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I personally prefer the bottom-up definition, but this is just a matter of taste:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;ul&gt;&#xA;  &lt;li&gt;The complete graph on &lt;span class=&quot;math-container&quot;&gt;$k+1$&lt;/span&gt; vertices is a &lt;span class=&quot;math-container&quot;&gt;$k$&lt;/span&gt;-tree.&lt;/li&gt;&#xA;  &lt;li&gt;A &lt;span class=&quot;math-container&quot;&gt;$k$&lt;/span&gt;-tree &lt;span class=&quot;math-container&quot;&gt;$G$&lt;/span&gt; with &lt;span class=&quot;math-container&quot;&gt;$n+1$&lt;/span&gt; vertices (&lt;span class=&quot;math-container&quot;&gt;$n\ge k+1$&lt;/span&gt;) can be constructed from a &lt;span class=&quot;math-container&quot;&gt;$k$&lt;/span&gt;-tree &lt;span class=&quot;math-container&quot;&gt;$H$&lt;/span&gt; with &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt; vertices by adding a vertex adjacent to exactly &lt;span class=&quot;math-container&quot;&gt;$k$&lt;/span&gt; vertices that form a &lt;span class=&quot;math-container&quot;&gt;$k$&lt;/span&gt;-clique in &lt;span class=&quot;math-container&quot;&gt;$H$&lt;/span&gt;.&lt;/li&gt;&#xA;  &lt;li&gt;No other graphs are &lt;span class=&quot;math-container&quot;&gt;$k$&lt;/span&gt;-trees.&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;This definition is a slightly modified version of the definition from &lt;a href=&quot;http://www.ii.uib.no/~pinar/chordal.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Pinar Heggernes' lecture notes&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="72" LastEditorUserId="72" LastEditDate="2019-11-13T12:33:14.617" LastActivityDate="2019-11-13T12:33:14.617" CommentCount="6" ContentLicense="CC BY-SA 4.0" />
  <row Id="1534" PostTypeId="1" AcceptedAnswerId="1912" CreationDate="2010-09-21T04:52:21.013" Score="5" ViewCount="343" Body="&lt;p&gt;Input: a set $T$ of vectors $v_i=(x_i,y_i,z_i)$. Where $x_i,y_i,z_i$ are integers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Output: a subset of vectors $v_1,v_2,...,v_n$ with vector addition $m=\sum v_i$ such that the projection of $m$ on each axis is maximized. (maximize the absolute value of the minimum projection along any axis) &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is this problem efficiently solvable or is it NP-hard?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I'm not aware of results related to the 2D case. &lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2010-09-21T05:32:42.030" LastActivityDate="2010-10-04T09:59:23.907" Title="Complexity of finding vectors with optimal projection?" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;" AnswerCount="1" CommentCount="12" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="1535" PostTypeId="1" CreationDate="2010-09-21T05:02:38.843" Score="26" ViewCount="755" Body="&lt;p&gt;It is well-known that &lt;a href=&quot;http://en.wikipedia.org/wiki/St-connectivity&quot;&gt;directed st-connectivity&lt;/a&gt; is $NL$-complete. Reingold's breakthrough result showed that &lt;a href=&quot;http://en.wikipedia.org/wiki/SL_%28complexity%29&quot;&gt;undirected st-connectivity&lt;/a&gt; is in $L$. &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.125.8061&quot;&gt;Planar directed st-connectivity&lt;/a&gt; is known to be in $UL \cap coUL$. &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=57031.57034&quot;&gt;Cho and Huynh&lt;/a&gt; defined a parametrized knapsack problem and exhibited a hierarchy of problems between $L$ and $NL$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am looking for more problems that are intermediate between $L$ and $NL$ i.e., problems that are :&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;known to be in $NL$ but not known (or unlikely) to be $NL$-complete and&lt;/li&gt;&#xA;&lt;li&gt;known to be $L$-hard but not known to be in $L$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="344" LastActivityDate="2016-05-01T10:57:20.947" Title="Intermediate problems between L and NL" Tags="&lt;cc.complexity-theory&gt;&lt;space-bounded&gt;" AnswerCount="3" CommentCount="0" FavoriteCount="8" ContentLicense="CC BY-SA 2.5" />
  <row Id="1537" PostTypeId="2" ParentId="1535" CreationDate="2010-09-21T05:20:22.833" Score="13" Body="&lt;p&gt;The RL-complete problem of reachability in directed graphs with polynomial mixing-time (shown by Reingold, Trevisan, and Vadhan in &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=1132583&quot;&gt;Pseudorandom walks on regular digraphs and the RL vs. L problem&lt;/a&gt;) is in $\log^{3/2}(n)$ space (see $\text{BPHSPACE}(S) \subseteq \text{DSPACE}(S^{3/2})$ by &lt;a href=&quot;http://dx.doi.org/10.1006/jcss.1998.1616&quot;&gt;Saks and Zhou&lt;/a&gt;), which is strictly between L and Savitch's bound on NL of $O(\log^2 n)$ space.&lt;/p&gt;&#xA;" OwnerUserId="59" LastEditorUserId="80" LastEditDate="2010-09-21T05:31:57.663" LastActivityDate="2010-09-21T05:31:57.663" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1538" PostTypeId="2" ParentId="1535" CreationDate="2010-09-21T05:45:21.847" Score="10" Body="&lt;p&gt;The RUL-complete problem of reachability in mangroves can be decided in $O(\log^2 n / \log\log n)$ space (&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.49.5808&quot;&gt;Allender, Lange&lt;/a&gt;, $\text{RUSPACE}(\log n) \subseteq \text{DSPACE}(\log^2 n/\log\log n)$).  A &lt;em&gt;mangrove&lt;/em&gt; is a directed graph where there is at most one path between any two vertices.&lt;/p&gt;&#xA;" OwnerUserId="59" LastActivityDate="2010-09-21T05:45:21.847" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="1539" PostTypeId="1" AcceptedAnswerId="1550" CreationDate="2010-09-21T08:04:55.873" Score="586" ViewCount="119624" Body="&lt;p&gt;Since Chris Okasaki's 1998 book &quot;Purely functional data structures&quot;, I haven't seen too many new exciting purely functional data structures appear; I can name just a few:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://hackage.haskell.org/packages/archive/containers/0.1.0.1/doc/html/Data-IntMap.html&quot;&gt;IntMap&lt;/a&gt; (also invented by Okasaki in 1998, but not present in that book)&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://apfelmus.nfshost.com/articles/monoid-fingertree.html&quot;&gt;Finger trees&lt;/a&gt; (and their generalization over monoids)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;There are also some interesting ways of implementing already known datastructures, such as using &quot;nested types&quot; or &quot;generalized algebraic datatypes&quot; to ensure tree invariants.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Which other new ideas have appeared since 1998 in this area?&lt;/p&gt;&#xA;" OwnerUserId="326" LastActivityDate="2020-07-16T22:57:40.973" Title="What's new in purely functional data structures since Okasaki?" Tags="&lt;reference-request&gt;&lt;big-list&gt;&lt;ds.data-structures&gt;&lt;functional-programming&gt;" AnswerCount="6" CommentCount="5" FavoriteCount="765" ContentLicense="CC BY-SA 2.5" />
  <row Id="1540" PostTypeId="2" ParentId="1539" CreationDate="2010-09-21T08:13:06.220" Score="42" Body="&lt;p&gt;Conchon, Filliatre, &lt;a href=&quot;http://scholar.google.com/scholar?cluster=8164878778013876774&quot;&gt;A Persistent UNION-FIND Data Structure&lt;/a&gt; and &lt;a href=&quot;http://link.springer.com/chapter/10.1007/978-3-540-78739-6_25&quot;&gt;Semi-persistent Data Structures&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="236" LastEditorUserId="22685" LastEditDate="2014-04-26T17:07:46.203" LastActivityDate="2014-04-26T17:07:46.203" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="1541" PostTypeId="1" CreationDate="2010-09-21T08:47:45.123" Score="6" ViewCount="266" Body="&lt;p&gt;Let $F$ be a random k-CNF formula with $n$ variables and $m$ clauses. Let $G$ be the undirected graph built in the following manner: there is a vertex $v$ for every clause $c \in F$, and there is an edge $e = (v, u)$ if and only if the clause corresponding to $v$ has at least one variable in common with the clause corresponding to $u$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The question is: how many variables, on average, shall I remove from $F$ before $G$ gets divided into 2 or more connected components? Is such number of variables related to $r = \frac{m}{n}$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is what I mean by &quot;removing  a variable $v$ from a formula $F$&quot;: every clause $c$ in which $v$ is mentioned (no matter if positive or negative) gets shortened; if $c$ becomes empty, then it is removed from $F$.&lt;/p&gt;&#xA;" OwnerUserId="947" LastEditorUserId="947" LastEditDate="2010-09-21T14:28:38.043" LastActivityDate="2010-09-21T14:28:38.043" Title="Connected components of k-CNF formulas" Tags="&lt;ds.algorithms&gt;&lt;sat&gt;" AnswerCount="0" CommentCount="20" ClosedDate="2011-03-10T17:33:04.247" ContentLicense="CC BY-SA 2.5" />
  <row Id="1542" PostTypeId="2" ParentId="1519" CreationDate="2010-09-21T09:05:34.673" Score="9" Body="&lt;p&gt;We will give a winning strategy for Delilah. Let Samson choose his $c$ and $m$. Then Delilah chooses $w = a^n b^n$ for a large $n$ to be determined later. Let Samson choose his subsets $C^w_1,\ldots,C^w_c$ which we view as a coloring of the positions of $w$ with $2^c$ colors. Let $w'$ denote this colored word. The goal of Delilah at this point is to find a segment $w'[i,\ldots,j]$ of $w'$ with the following properties for an $r$ and a $t$ to be chosen later:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;$0 \leq i \leq j \leq n$ (thus the segment belongs to the first part of $w'$),&lt;/li&gt;&#xA;&lt;li&gt;the $r$-neighborhoods (neighborhoods of radius $r$) of $i$ and $j$ in $w'$ are isomorphic,&lt;/li&gt;&#xA;&lt;li&gt;for every $k \in [i,\ldots,j]$, the $r$-neighborhood of $k$ in $w'$ appears as $r$-neighborhood of at least $t$ other positions of $w'$.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;If she manages to do that, then she will choose her colored word to be&#xA;$$&#xA;v' = w'[0,\ldots,i-1] w'[i,\ldots,j]^2 w'[j+1,\ldots,2n-1].&#xA;$$ &#xA;If $v$ is the ${a,b}$-word underlying $v'$, it will follow that $v$ does not belong to $L$ (because we pumped a non-empty segment of $a$'s), and Delilah has a winning strategy in the $m$-turn EF game on $w'$ and $v'$ (this follows from Hanf's Theorem if $r$ and $t$ are sufficiently large with respect to $c$ and $m$; see Theorem 1.4.1 in Ebinghaus and Flum book &quot;Finite Model Theory&quot;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thus, it remains to show that if $n$ is sufficiently large with respect to $c$, $m$, $r$ and $t$ we can find a segment $w'[i,\ldots,j]$ as above. But this follows from a standard pigeonhole argument using the fact that the number of ismorphism types of $r$-neighborhoods is finite.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This worked for successor structures. With a linear order it will be a bit harder but I didn't think much about it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that, not surprisingly, this argument looks a bit like &quot;pumping&quot; argument in automata. However, it is not as silly as just translating the formula to an automaton. I think it counts as a model-theoretic argument.&lt;/p&gt;&#xA;" OwnerUserId="1323" LastActivityDate="2010-09-21T09:05:34.673" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="1544" PostTypeId="1" AcceptedAnswerId="1545" CreationDate="2010-09-21T10:35:04.097" Score="7" ViewCount="912" Body="&lt;p&gt;An oracle construction relative to which BPP = EXP is usually attributed to Heller (Mathematical System Theory Vol. 17, 1984). Unfortunately I don't have the paper available in my library. Could someone explain how it goes? If it is easier to give an oracle where NP = EXP that would fine already.&lt;/p&gt;&#xA;" OwnerUserId="1323" LastEditorUserId="873" LastEditDate="2010-09-21T20:47:52.667" LastActivityDate="2010-09-22T04:17:30.050" Title="Oracle relative to which BPP = EXP" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;oracles&gt;&lt;relativization&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="1545" PostTypeId="2" ParentId="1544" CreationDate="2010-09-21T10:50:36.380" Score="8" Body="&lt;p&gt;I would write this as a comment, but there was a limitation on the number of characters. So I'll put it here.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The paper title is &quot;&lt;a href=&quot;http://www.springerlink.com/content/w16v06625054476j/&quot; rel=&quot;nofollow&quot;&gt;Relativized Polynomial Hierarchies Extending Two Levels&lt;/a&gt;.&quot; When you do not have access to an article, your best bet is to search for books/articles that reference your indented paper. The best place, IMO, is &lt;a href=&quot;http://scholar.google.com/scholar?cites=4173642586326142804&amp;amp;as_sdt=2005&amp;amp;sciodt=2000&amp;amp;hl=en&quot; rel=&quot;nofollow&quot;&gt;Google Scholar&lt;/a&gt; and &lt;a href=&quot;http://www.google.com/search?q=%22Relativized+polynomial+hierarchies+extending+two+levels%22&amp;amp;um=1&amp;amp;ie=UTF-8&amp;amp;hl=en&amp;amp;tbo=u&amp;amp;tbs=bks:1&quot; rel=&quot;nofollow&quot;&gt;Google Books&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The Complexity Zoo attributes the proof that &quot;There exist oracles relative to which EXP = NP = ZPP&quot; to this paper. Yet this is &lt;em&gt;incomplete&lt;/em&gt;, since other references cite the following papers as well [off-topic: I updated Zoo to cover the new references as well]:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Heller, H. 1984. On relativized polynomial and exponential computations. SIAM J. Comput. 13, 4 (Nov. 1984), 717-725. DOI= http://dx.doi.org/10.1137/0213045&#xA;&lt;li&gt;Heller, H. 1986. On relativized exponential and probabilistic complexity classes. Inf. Control 71, 3 (Dec. 1986), 231-243. DOI= http://dx.doi.org/10.1016/S0019-9958(86)80012-2&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;There's also the following paper:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt; Kurtz, S. A. 1985. Sparse sets in NP-P: relativizations. SIAM J. Comput. 14, 1 (Feb. 1985), 113-119. DOI= http://dx.doi.org/10.1137/0214008&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;cited by several references as having influence on the relativized ZPP = EXP result (see for instance &quot;&lt;a href=&quot;http://doi.ieeecomputersociety.org/10.1109/CCC.2001.933869&quot; rel=&quot;nofollow&quot;&gt;Comparing Notions of Full Derandomization&lt;/a&gt;&quot; by Lance Fortnow).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Specially, while the paper you cited only proves the existence of an oracle $B$ such that&lt;/p&gt;&#xA;&#xA;&lt;p&gt;${(\Sigma _1^p)^B} \subset {(\Sigma _2^p)^B} = (\Pi _2^B)$,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The paper #1 above continues by proving:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;${(\Sigma _2^p)^B} = (\Pi _2^B) = \mathbf{EXP}^B = \mathbf{NEXP}^B$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;and paper #2 above completes it by showing the relations between relatizied &lt;strong&gt;EXP&lt;/strong&gt; and (if I'm not mistaken) &lt;strong&gt;RP&lt;/strong&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Joining forces, the relativized &lt;strong&gt;BPP&lt;/strong&gt; = &lt;strong&gt;NEXP&lt;/strong&gt; is deduced.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;PS: Please provide me with an email address of yours. I want to send you some docs.&lt;/p&gt;&#xA;" OwnerUserId="873" LastEditorUserId="873" LastEditDate="2010-09-22T04:17:30.050" LastActivityDate="2010-09-22T04:17:30.050" CommentCount="6" ContentLicense="CC BY-SA 2.5" />
  <row Id="1546" PostTypeId="1" AcceptedAnswerId="1547" CreationDate="2010-09-21T11:10:00.560" Score="2" ViewCount="320" Body="&lt;p&gt;So I'm learning to program in an assembly language for an abstract machine wich is very similar to an &lt;a href=&quot;http://www.proofwiki.org/wiki/Definition%3aUnlimited_Register_Machine&quot; rel=&quot;nofollow&quot;&gt;URM Machine&lt;/a&gt;.&#xA;An URM machine has 3 basic instructions (or 4 in some literature):&lt;br&gt;&#xA;        To zero a register: Z(r)&lt;br&gt;&#xA;        To increment a register: S(r)&lt;br&gt;&#xA;        To Jump to a line or label if registers r1 and r2 contain the same value: J(r1,r2,l)&lt;br&gt;&#xA;Now, my abstract machine is even weaker because, for jumping it only alows a comparison between a register and the literal 0.&lt;br&gt;&#xA;To compensate it allows to assign any value to a register (not just zero as in the URM) and basic arithmetic operations.&lt;br&gt;&#xA;Both machines allow an infinite number of registers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I was able to write a program that successfully compares two positive numbers and returns the maximum.&lt;br&gt;&#xA;Now I would like to make my program able to receive also negative numbers.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question: How can I check if a number is negative? Is it even possible with only these instructions? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I confess that I'm not very clever with this kind of low level languages...  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;My maximum program follows: (input goes on r1 and r2 and output comes on r3)&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;maximo(){&#xA;    r5 := r1 - r3    &#xA;    jump (r5,0,maxr2)&#xA;&#xA;    r5 := r2 - r4&#xA;    jump (r5,0,maxr1)&#xA;&#xA;&#xA;    r3 := r3 + 1&#xA;    r4 := r4 + 1&#xA;    jump (r1,r1,maximo)&#xA;}&#xA;&#xA;maxr1(){&#xA;    r3 := r1 &#xA;}&#xA;&#xA;maxr2(){&#xA;    r3 := r2 &#xA;}&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Thank you!&lt;/p&gt;&#xA;" OwnerUserId="1328" LastEditorUserId="80" LastEditDate="2010-09-21T17:33:25.887" LastActivityDate="2010-09-21T17:33:25.887" Title="Decide if number is negative (in URM machine like language)" Tags="&lt;ds.algorithms&gt;&lt;machine-models&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="1547" PostTypeId="2" ParentId="1546" CreationDate="2010-09-21T11:24:05.897" Score="4" Body="&lt;p&gt;Initialise $x \gets v$ and $y \gets -v$. Then increment both $x$ and $y$ in parallel until one of them is equal to 0.&lt;/p&gt;&#xA;" OwnerUserId="74" LastActivityDate="2010-09-21T11:24:05.897" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1548" PostTypeId="2" ParentId="1295" CreationDate="2010-09-21T14:46:55.383" Score="16" Body="&lt;p&gt;You can also try the #SAT solver &amp;quot;sharpSAT&amp;quot; (&lt;a href=&quot;https://sites.google.com/site/marcthurley/sharpsat&quot; rel=&quot;noreferrer&quot;&gt;website&lt;/a&gt;, &lt;a href=&quot;https://github.com/marcthurley/sharpSAT/&quot; rel=&quot;noreferrer&quot;&gt;github&lt;/a&gt;) for counting the number of satisfying assignments of CNF formulas.&lt;/p&gt;&#xA;" OwnerUserId="239" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2013-08-19T06:30:55.880" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="1549" PostTypeId="2" ParentId="1168" CreationDate="2010-09-21T15:36:11.563" Score="42" Body="&lt;p&gt;Perhaps too basic, but I'm shocked that nobody has mentioned the original Lambda papers by Steele and Sussman: &lt;a href=&quot;https://dspace.mit.edu/handle/1721.1/5794&quot; rel=&quot;nofollow noreferrer&quot;&gt;SCHEME: An Interpreter for Extended Lambda Calculus&lt;/a&gt;, &lt;a href=&quot;https://dspace.mit.edu/handle/1721.1/5790&quot; rel=&quot;nofollow noreferrer&quot;&gt;Lambda: The Ultimate Imperative&lt;/a&gt;, &lt;a href=&quot;https://dspace.mit.edu/handle/1721.1/6091&quot; rel=&quot;nofollow noreferrer&quot;&gt;Lambda: The Ultimate Declarative&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="351" LastEditorUserId="5183" LastEditDate="2019-09-20T07:44:47.617" LastActivityDate="2019-09-20T07:44:47.617" CommentCount="1" CommunityOwnedDate="2010-09-21T15:36:11.563" ContentLicense="CC BY-SA 4.0" />
  <row Id="1550" PostTypeId="2" ParentId="1539" CreationDate="2010-09-21T16:13:43.547" Score="578" Body="&lt;h3&gt;New purely functional data structures published since 1998:&lt;/h3&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;2001: &lt;strong&gt;&lt;a href=&quot;http://infoscience.epfl.ch/record/64398&quot; rel=&quot;noreferrer&quot;&gt;Ideal Hash Trees&lt;/a&gt;, and its 2000 predecessor, &lt;a href=&quot;http://infoscience.epfl.ch/record/64394&quot; rel=&quot;noreferrer&quot;&gt;Fast And Space Efficient Trie Searches&lt;/a&gt;, by Phil Bagwell&lt;/strong&gt;: Apparently used as a fundamental building block in Clojure's standard library.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;2001: &lt;strong&gt;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.18.1149&quot; rel=&quot;noreferrer&quot;&gt;A Simple Implementation Technique for Priority Search Queues&lt;/a&gt;, by Ralf Hinze&lt;/strong&gt;: a really simple and beautiful technique for implementing this important datastructure (useful, say, in the Dijkstra algorithm). The implementation is particularly beautiful and readable due to heavy use of &quot;view patterns&quot;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;2002: &lt;strong&gt;&lt;a href=&quot;http://www.comlab.ox.ac.uk/people/ralf.hinze/publications/ICFP02.pdf&quot; rel=&quot;noreferrer&quot;&gt;Bootstrapping one-sided flexible arrays&lt;/a&gt;, by Ralf Hinze&lt;/strong&gt;: Similar to Okasaki's random-access lists, but they can be tuned to alter the time tradeoff between &lt;code&gt;cons&lt;/code&gt; and indexing.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;2003: &lt;strong&gt;&lt;a href=&quot;http://www.cs.princeton.edu/courses/archive/fall03/cs528/handouts/Notes%20on%20Catenable%20Deques.doc&quot; rel=&quot;noreferrer&quot;&gt;New catenable and non-catenable deques&lt;/a&gt;, by Radu Mihaescu and Robert Tarjan&lt;/strong&gt;: A new take on some older work (by Kaplan and Tarjan) that Okasaki cites (The &lt;a href=&quot;http://www.math.tau.ac.il/~haimk/adv-ds-2000/jacm-final.pdf&quot; rel=&quot;noreferrer&quot;&gt;most recent version of Kaplan &amp;amp; Tarjan's work was published in 2000&lt;/a&gt;). This version is simpler in some ways.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;2005: &lt;strong&gt;Maxiphobic heaps (&lt;a href=&quot;http://www.eecs.usma.edu/webs/people/okasaki/sigcse05.pdf&quot; rel=&quot;noreferrer&quot;&gt;paper&lt;/a&gt; and &lt;a href=&quot;http://www.eecs.usma.edu/webs/people/okasaki/sigcse05/index.html&quot; rel=&quot;noreferrer&quot;&gt;code&lt;/a&gt;), by Chris Okasaki&lt;/strong&gt;: Presented not as a new, more efficient structure, but as a way to teach priority queues.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;2006: &lt;strong&gt;&lt;a href=&quot;http://www.cs.au.dk/~gerth/pub/esa06trees.html&quot; rel=&quot;noreferrer&quot;&gt;Purely Functional Worst Case Constant Time Catenable Sorted Lists&lt;/a&gt;, by Gerth Stølting Brodal, Christos Makris, and Kostas Tsichlas&lt;/strong&gt;: Answers an outstanding question of Kaplan and Tarjan by demonstrating a structure with O(lg n) insert, search, and delete and O(1) concat.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;2008: &lt;strong&gt;&lt;a href=&quot;http://erikdemaine.org/papers/ConfluentTries_Algorithmica/&quot; rel=&quot;noreferrer&quot;&gt;Confluently Persistent Tries for Efficient Version Control&lt;/a&gt;, by Erik D. Demaine, Stefan Langerman, and Eric Price&lt;/strong&gt;: Presents several data structures for tries that have efficient navigation and modification near the leaves. Some are purely functional. Others actually improve a long-standing data structure by Dietz et al. for fully persistent (but not confluently persistent or purely functional) arrays. This paper also presente &lt;strong&gt;purely functional link-cut trees&lt;/strong&gt;, sometimes called &quot;dynamic trees&quot;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;2010: &lt;strong&gt;&lt;a href=&quot;http://matt.might.net/articles/red-black-delete/&quot; rel=&quot;noreferrer&quot;&gt;A new purely functional delete algorithm for red-black trees&lt;/a&gt;, by Matt Might&lt;/strong&gt;: Like Okasaki's red-black tree insertion algorithm, this is not a new data structure or a new operation on a data structure, but a new, simpler way to write a known operation.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;2012: &lt;strong&gt;&lt;a href=&quot;http://infoscience.epfl.ch/record/169879/files/RMTrees.pdf&quot; rel=&quot;noreferrer&quot;&gt;RRB-Trees: Efficient Immutable Vectors&lt;/a&gt;, by Phil Bagwell and Tiark Rompf&lt;/strong&gt;: An extension to Hash Array Mapped Tries, supporting immutable vector concatenation, insert-at, and split in O(lg n) time, while maintaining the index, update, and insertion speeds of the original immutable vector.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;h3&gt;Known in 1997, but not discussed in Okasaki's book:&lt;/h3&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Many other styles of balanced search tree&lt;/strong&gt;. AVL, brother, rank-balanced, bounded-balance, and many other balanced search trees can be (and have been) implemented purely functionally by path copying. Perhaps deserving special mention are:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;&lt;a href=&quot;http://scholar.google.com/scholar?cluster=10425132226535600788&quot; rel=&quot;noreferrer&quot;&gt;Biased Search Trees&lt;/a&gt;, by Samuel W. Bent, Daniel D. Sleator, and Robert E. Tarjan&lt;/strong&gt;: A key element in Brodal et al.'s 2006 paper and Demaine et al.'s 2008 paper.&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;http://cs.bham.ac.uk/~mhe/papers/exhaustive.pdf&quot; rel=&quot;noreferrer&quot;&gt;Infinite sets that admit fast exhaustive search&lt;/a&gt;, by Martín Escardó&lt;/strong&gt;: Perhaps not a data structure &lt;em&gt;per se&lt;/em&gt;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;http://www.eecs.usma.edu/webs/people/okasaki/jfp97.ps&quot; rel=&quot;noreferrer&quot;&gt;Three algorithms on Braun Trees&lt;/a&gt;, by Chris Okasaki&lt;/strong&gt;: Braun trees offer many stack operations in worst-case O(lg n). This bound is surpassed by many other data structures, but Braun trees have a &lt;code&gt;cons&lt;/code&gt; operation lazy in its second argument, and so can be used as infinite stacks in some ways that other structures cannot.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;http://scholar.google.com/scholar?cluster=2335375395981576930&quot; rel=&quot;noreferrer&quot;&gt;The relaxed min-max heap: A mergeable double-ended priority queue&lt;/a&gt; and &lt;a href=&quot;http://scholar.google.com/scholar?cluster=9505131584786452948&quot; rel=&quot;noreferrer&quot;&gt;The KD heap: An efficient multi-dimensional priority queue&lt;/a&gt;, by Yuzheng Ding and Mark Allen Weiss&lt;/strong&gt;: These happen to be purely functional, though this is not discussed in the papers. I do not think the time bounds achieved are any better than those that can be achieved by using finger trees (of Hinze &amp;amp; Paterson or Kaplan &amp;amp; Tarjan) as k-dimensional priority queues, but I think the structures of Ding &amp;amp; Weiss uses less space.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.185.2421&quot; rel=&quot;noreferrer&quot;&gt;The Zipper&lt;/a&gt;, by Gérard Huet&lt;/strong&gt;: Used in many other data structures (such as Hinze &amp;amp; Paterson's finger trees), this is a way of turning a data structure inside-out.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Difference lists&lt;/strong&gt; are O(1) catenable lists with an O(n) transformation to usual &lt;code&gt;cons&lt;/code&gt; lists. They have apparently been known since antiquity in the Prolog community, where they have an O(1) transformation to usual &lt;code&gt;cons&lt;/code&gt; lists. The O(1) transformation seems to be impossible in traditional functional programming, but Minamide's &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=268953&quot; rel=&quot;noreferrer&quot;&gt;hole abstraction&lt;/a&gt;, from POPL '98, discusses a way of allowing O(1) append and O(1) transformation within pure functional programming. Unlike the usual functional programming implementations of difference lists, which are based on function closures, hole abstractions are essentially the same (in both their use and their implementation) as Prolog difference lists. However, it seems that for years the only person that noticed this was &lt;a href=&quot;http://requestforlogic.blogspot.com/2011/08/holey-data-postscript-hole-abstraction.html&quot; rel=&quot;noreferrer&quot;&gt;one of Minamide's reviewers&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Uniquely represented dictionaries&lt;/strong&gt; support insert, update, and lookup with the restriction that no two structures holding the same elements can have distinct shapes. To give an example, sorted singly-linked lists are uniquely represented, but traditional AVL trees are not. Tries are also uniquely represented. &lt;a href=&quot;https://www.cs.princeton.edu/research/techreps/TR-267-90&quot; rel=&quot;noreferrer&quot;&gt;Tarjan and Sundar, in &quot;Unique binary search tree representations and equality-testing of sets and sequences&quot;&lt;/a&gt;, showed a purely functional uniquely represented dictionary that supports searches in logarithmic time and updates in $O(\sqrt{n})$ time. However, it uses $\Theta(n \lg n)$ space. There is a &lt;a href=&quot;https://github.com/jbapple/unique&quot; rel=&quot;noreferrer&quot;&gt;simple representation&lt;/a&gt; using &lt;a href=&quot;http://alexandria.tue.nl/repository/notdare/772185.pdf&quot; rel=&quot;noreferrer&quot;&gt;Braun trees&lt;/a&gt; that uses only linear space but has update time of $\Theta(\sqrt{n \lg n})$ and search time of $\Theta(\lg^2 n)$&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;h3&gt;Mostly functional data structures, before, during, and after Okasaki's book:&lt;/h3&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Many procedures for making data structures persistent, fully persistent, or confluently persistent&lt;/strong&gt;: Haim Kaplan wrote &lt;a href=&quot;http://www.math.tau.ac.il/~haimk/papers/persistent-survey.ps&quot; rel=&quot;noreferrer&quot;&gt;an excellent survey on the topic&lt;/a&gt;. See also above the work of Demaine et al., who demonstrate a fully persistent array in $O(m)$ space (where $m$ is the number of operations ever performed on the array) and $O(\lg \lg n)$ expected access time.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;1989: &lt;strong&gt;&lt;a href=&quot;http://acs.lbl.gov/~aragon/treaps.html&quot; rel=&quot;noreferrer&quot;&gt;Randomized Search Trees&lt;/a&gt; by Cecilia R. Aragon and Raimund Seidel&lt;/strong&gt;: These were discussed in a purely functional setting by Guy E. Blelloch and Margaret Reid-Miller in &lt;a href=&quot;http://www.cs.cmu.edu/afs/cs.cmu.edu/project/scandal/public/papers/treaps-spaa98.html&quot; rel=&quot;noreferrer&quot;&gt;Fast Set Operations Using Treaps&lt;/a&gt;&#xA;and by Dan Blandford and Guy Blelloch in &lt;a href=&quot;http://www.cs.cmu.edu/afs/cs/project/pscico/pscico/papers/fingertrees/main.pdf&quot; rel=&quot;noreferrer&quot;&gt;Functional Set Operations with Treaps&lt;/a&gt; (&lt;a href=&quot;http://www.cs.cmu.edu/afs/cs/project/pscico/pscico/src/fingertrees/&quot; rel=&quot;noreferrer&quot;&gt;code&lt;/a&gt;). They provide all of the operations of purely functional fingertrees and biased search trees, but require a source of randomness, making them not purely functional. This may also invalidate the time complexity of the operations on treaps, assuming an adversary who can time operations and repeat the long ones. (This is the same reason why imperative amortization arguments aren't valid in a persistent setting, but it requires an adversary with a stopwatch)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;1997: &lt;strong&gt;&lt;a href=&quot;http://www.lsi.upc.edu/~peypoch/investigacio/reports.dir/RAIRO.ps.gz&quot; rel=&quot;noreferrer&quot;&gt;Skip-trees, an alternative data structure to Skip-lists in a concurrent approach&lt;/a&gt;, by Xavier Messeguer and &lt;a href=&quot;http://www.cs.clemson.edu/~bcdean/paper11.html&quot; rel=&quot;noreferrer&quot;&gt;Exploring the Duality Between Skip Lists and Binary Search Trees&lt;/a&gt;, by Brian C. Dean and Zachary H. Jones&lt;/strong&gt;: Skip lists are not purely functional, but they can be implemented functionally as trees. Like treaps, they require a source of random bits. (It is possible to make skip lists deterministic, but, after translating them to a tree, I think they are just another way of looking at 2-3 trees.)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;1998: &lt;strong&gt;All of the amortized structures in Okasaki's book!&lt;/strong&gt; Okasaki invented this new method for mixing amortization and functional data structures, which were previously thought to be incompatible. It depends upon memoization, which, as Kaplan and Tarjan have sometimes mentioned, is actually a side effect. In some cases (&lt;a href=&quot;http://rethinkdb.com/jobs/&quot; rel=&quot;noreferrer&quot;&gt;such as PFDS on SSDs for performance reasons&lt;/a&gt;), this may be inappropriate.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;1998: &lt;strong&gt;&lt;a href=&quot;http://www.math.tau.ac.il/~haimk/adv-ds-2000/okasaki-kaplan-tarjan-sicomp.ps&quot; rel=&quot;noreferrer&quot;&gt;Simple Confluently Persistent Catenable Lists&lt;/a&gt;, by Haim Kaplan, Chris Okasaki, and Robert E. Tarjan&lt;/strong&gt;: Uses modification under the hood to give amortized O(1) catenable deques, presenting the same interface as an earlier (purely functional, but with memoization) version appearing in Okasaki's book. Kaplan and Tarjan had earlier created a purely functional O(1) worst-case structure, but it is substantially more complicated.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;2007: As mentioned in another answer on this page, &lt;a href=&quot;http://www.lri.fr/~filliatr/ftp/publis/spds-rr.pdf&quot; rel=&quot;noreferrer&quot;&gt;semi-persistent data structures&lt;/a&gt; and &lt;a href=&quot;http://www.lri.fr/~filliatr/puf/&quot; rel=&quot;noreferrer&quot;&gt;persistent union-find&lt;/a&gt; by Sylvain Conchon and Jean-Christophe Filliâtre&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;h3&gt;Techniques for verifying functional data structures, before, during, and after Okasaki's book:&lt;/h3&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Phantom types&lt;/strong&gt; are an old method for creating an API that does not allow certain ill-formed operations. A sophisticated use of them can be found in Oleg Kiselyov and Chung-chieh Shan's &lt;a href=&quot;http://okmij.org/ftp/Computation/lightweight-dependent-typing.html#Lightweight&quot; rel=&quot;noreferrer&quot;&gt;Lightweight Static Capabilities&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Nested types&lt;/strong&gt; are not actually more recent than 1998 - Okasaki even uses them in his book. There are many other examples that are not in Okasaki's book; some are new, and some are old. They include:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Stefan Kahrs's &lt;a href=&quot;http://www.cs.kent.ac.uk/pubs/2001/1293/index.html&quot; rel=&quot;noreferrer&quot;&gt;Red-black trees with types&lt;/a&gt; (&lt;a href=&quot;http://www.cs.kent.ac.uk/people/staff/smk/redblack/rb.html&quot; rel=&quot;noreferrer&quot;&gt;code&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;li&gt;Ross Paterson's &lt;a href=&quot;http://www.haskell.org/pipermail/haskell/2003-April/011693.html&quot; rel=&quot;noreferrer&quot;&gt;AVL trees&lt;/a&gt; (&lt;a href=&quot;http://www.cse.unsw.edu.au/~dons/haskell-1990-2006/msg14064.html&quot; rel=&quot;noreferrer&quot;&gt;mirror&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;li&gt;Chris Okasaki's &lt;a href=&quot;http://www.eecs.usma.edu/webs/people/okasaki/icfp99.ps&quot; rel=&quot;noreferrer&quot;&gt;From fast exponentiation to square matrices: an adventure in types&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Richard S. Bird and Ross Peterson's &lt;a href=&quot;http://web.comlab.ox.ac.uk/oucl/work/richard.bird/online/BirdPaterson99DeBruijn.pdf&quot; rel=&quot;noreferrer&quot;&gt;de Bruijn notation as a nested datatype&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Ralf Hinze's &lt;a href=&quot;http://web.comlab.ox.ac.uk/oucl/work/ralf.hinze/publications/IAI-TR-98-12.ps.gz&quot; rel=&quot;noreferrer&quot;&gt;Numerical Representations as Higher-Order Nested Datatypes&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;GADTs&lt;/strong&gt; are not all that new, either. They are a recent addition to Haskell and some MLs, but they have been present, I think, in &lt;a href=&quot;https://sympa-roc.inria.fr/wws/arc/coq-club/2010-09/msg00072.html&quot; rel=&quot;noreferrer&quot;&gt;various typed lambda calculi since the 1970s&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;2004-2010: &lt;strong&gt;Coq and Isabelle for correctness&lt;/strong&gt;. Several people have used theorem provers to verify the correctness of purely functional data structures. Coq can extract these verifications to working code in Haskell, OCaml, and Scheme; Isabelle can extract to Haskell, ML, and OCaml.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Coq:&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Pierre Letouzey and Jean-Christophe Filliâtre &lt;a href=&quot;http://www.lri.fr/~filliatr/fsets/&quot; rel=&quot;noreferrer&quot;&gt;formalized red-black and AVL(ish) trees, finding a bug in the OCaml standard library in the process&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;I &lt;a href=&quot;http://code.google.com/p/priority-queues/&quot; rel=&quot;noreferrer&quot;&gt;formalized Brodal and Okasaki's asymptotically optimal priority queues&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Arthur Charguéraud &lt;a href=&quot;http://www.chargueraud.org/softs/cfml/&quot; rel=&quot;noreferrer&quot;&gt;formalized 825 of the 1,700 lines of ML in Okasaki's book&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;li&gt;Isabelle:&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Tobias Nipkow and Cornelia Pusch &lt;a href=&quot;http://afp.sourceforge.net/entries/AVL-Trees.shtml&quot; rel=&quot;noreferrer&quot;&gt;formalized AVL trees&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Viktor Kuncak formalized &lt;a href=&quot;http://afp.sourceforge.net/entries/BinarySearchTree.shtml&quot; rel=&quot;noreferrer&quot;&gt;unbalanced binary search trees&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Peter Lammich published &lt;a href=&quot;http://wwwmath.uni-muenster.de:8010/sev/staff/lammich/isabelle/#collections&quot; rel=&quot;noreferrer&quot;&gt;The Isabelle Collections framework&lt;/a&gt;, which includes formalizations of efficient purely functional data structures like red-black trees and tries, as well as data structures that are less efficient when used persistently, such as two-stack-queues (without Okasaki's laziness trick) and hash tables.&lt;/li&gt;&#xA;&lt;li&gt;Peter Lammich also published formalizations of &lt;a href=&quot;http://afp.sourceforge.net/devel-entries/Tree-Automata.shtml&quot; rel=&quot;noreferrer&quot;&gt;tree automata&lt;/a&gt;, &lt;a href=&quot;http://afp.sourceforge.net/devel-entries/Finger-Trees.shtml&quot; rel=&quot;noreferrer&quot;&gt;Hinze &amp;amp; Patterson's finger trees&lt;/a&gt; (with Benedikt Nordhoff and Stefan Körner), and &lt;a href=&quot;http://afp.sourceforge.net/devel-entries/Binomial-Heaps.shtml&quot; rel=&quot;noreferrer&quot;&gt;Brodal and Okasaki's purely functional priority queues&lt;/a&gt; (with Rene Meis and Finn Nielsen).&lt;/li&gt;&#xA;&lt;li&gt;René Neumann formalized &lt;a href=&quot;http://afp.sourceforge.net/devel-entries/Binomial-Queues.shtml&quot; rel=&quot;noreferrer&quot;&gt;binomial priority queues&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;2007: &lt;strong&gt;&lt;a href=&quot;http://www.cs.cmu.edu/~joshuad/papers/stardust/&quot; rel=&quot;noreferrer&quot;&gt;Refined Typechecking with Stardust&lt;/a&gt;, by Joshua Dunfield&lt;/strong&gt;: This paper uses refinement types for ML to find errors in SMLNJ's red-black tree delete function.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;2008: &lt;strong&gt;&lt;a href=&quot;http://www.cs.nott.ac.uk/~nad/publications/danielsson-popl2008.html&quot; rel=&quot;noreferrer&quot;&gt;Lightweight Semiformal Time Complexity Analysis for Purely Functional Data Structures&lt;/a&gt; by Nils Anders Danielsson&lt;/strong&gt;: Uses Agda with manual annotation to prove time bounds for some PFDS.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;h3&gt;Imperative data structures or analyses not discussed in Okasaki's book, but related to purely functional data structures:&lt;/h3&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;http://www.cs.princeton.edu/~chazelle/pubs/sheap.pdf&quot; rel=&quot;noreferrer&quot;&gt;The Soft Heap: An Approximate Priority Queue with Optimal Error Rate&lt;/a&gt;, by Bernard Chazelle&lt;/strong&gt;: This data structure does not use arrays, and so has tempted &lt;a href=&quot;http://tunes.org/~nef//logs/haskell/10.05.11&quot; rel=&quot;noreferrer&quot;&gt;first the #haskell IRC channel&lt;/a&gt; and &lt;a href=&quot;https://stackoverflow.com/questions/3402361/purely-functional-soft-heap&quot;&gt;later Stack Overflow users&lt;/a&gt;, but it includes &lt;code&gt;delete&lt;/code&gt; in o(lg n), which is usually not possible in a functional setting, and imperative amortized analysis, which is not valid in a purely functional setting.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Balanced binary search trees with O(1) finger updates&lt;/strong&gt;. In &lt;a href=&quot;http://www.cs.cmu.edu/~sleator/papers/Persistence.htm&quot; rel=&quot;noreferrer&quot;&gt;Making Data Structures Persistent&lt;/a&gt;, James R Driscoll, Neil Sarnak, Daniel D. Sleator, and Robert E. Tarjan present a method for grouping the nodes in a red-black tree so that persistent updates require only O(1) space. The purely functional deques and finger trees designed by Tarjan, Kaplan, and Mihaescu all use a very similar grouping technique to allow O(1) updates at both ends. &lt;a href=&quot;http://scholar.google.com/scholar?cluster=1646762318420773825&quot; rel=&quot;noreferrer&quot;&gt;AVL-trees for localized search&lt;/a&gt; by Athanasios K. Tsakalidis works similarly.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Faster pairing heaps or better bounds for pairing heaps&lt;/strong&gt;: Since Okasaki's book was published, several new analyses of imperative pairing heaps have appeared, including &lt;a href=&quot;http://siam.org/proceedings/soda/2009/SODA09_052_elmasrya.pdf&quot; rel=&quot;noreferrer&quot;&gt;Pairing heaps with O(log log n) decrease Cost&lt;/a&gt; by Amr Elmasry and &lt;a href=&quot;http://www.eecs.umich.edu/~pettie/papers/focs05.pdf&quot; rel=&quot;noreferrer&quot;&gt;Towards a Final Analysis of Pairing Heaps&lt;/a&gt; by Seth Pettie. It may be possible to apply some of this work to Okasaki's lazy pairing heaps.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Deterministic biased finger trees&lt;/strong&gt;: In &lt;a href=&quot;http://www.ics.uci.edu/~goodrich/pubs/bsl.pdf&quot; rel=&quot;noreferrer&quot;&gt;Biased Skip Lists&lt;/a&gt;, by Amitabha Bagchi, Adam L. Buchsbaum, and Michael T. Goodrich, a design is presented for deterministic biased skip lists. Through the skip list/tree transformation mentioned above, it may be possible to make deterministic biased search trees. The finger biased skip lists described by John Iacono and Özgür Özkan in &lt;a href=&quot;http://arxiv.org/abs/1002.4248&quot; rel=&quot;noreferrer&quot;&gt;Mergeable Dictionaries&lt;/a&gt; might then be possible on biased skip trees. A biased finger tree is suggested by Demaine et al. in their paper on purely functional tries (see above) as a way to reduce the time-and space bounds on finger update in tries.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;http://doi.acm.org/10.1145/301970.301973&quot; rel=&quot;noreferrer&quot;&gt;The String B-Tree: A New Data Structure for String Search in External Memory and its Applications&lt;/a&gt; by Paolo Ferragina and Roberto Grossi&lt;/strong&gt; is a well studied data structure combining the benefits of tries and B-trees.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="43" LastEditorUserId="-1" LastEditDate="2017-05-23T11:33:33.907" LastActivityDate="2014-09-27T21:04:10.507" CommentCount="10" ContentLicense="CC BY-SA 3.0" />
  <row Id="1551" PostTypeId="1" AcceptedAnswerId="1566" CreationDate="2010-09-21T16:13:51.433" Score="7" ViewCount="286" Body="&lt;p&gt;This is a followup to my &lt;a href=&quot;https://cstheory.stackexchange.com/questions/1399/positive-topological-ordering-take-2&quot;&gt;followup&lt;/a&gt; to &lt;a href=&quot;https://cstheory.stackexchange.com/questions/1346/positive-topological-ordering&quot;&gt;David's question&lt;/a&gt;.  This question admittedly leaves the original motivation far behind, but it might provide some useful intuition.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose we are given a set of n non-vertical lines, each with a (possibly negative) real weight.  The lines partition the planes into convex polygonal cells; the cell complex is usually called an &lt;em&gt;arrangement&lt;/em&gt;.  Define the weight of a cell to be the sum of the weights of the lines that lie above it.  Let p be a point that lies above every line, and let q be a point that lies below every line.  &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Suppose there is a path between p and&#xA;  q that intersects only cells with&#xA;  non-negative weight.  Is there a path&#xA;  from p and q that intersects only&#xA;  cells with non-negative weight &lt;em&gt;and&#xA;  crosses each line exactly once&lt;/em&gt;?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Equivalently: Suppose we are given a set of points in the plane, each with a (possibly negative) real weight.  Now imagine continuously moving a straight line, starting above all the points and ending below all the points, such that the line is never vertical.  Call the motion &lt;em&gt;legal&lt;/em&gt; if at all times, the total weight of the points above the line is non-negative.  &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;If there is a legal motion, must there&#xA;  be a legal motion where the moving&#xA;  line passes over each point &lt;em&gt;exactly&#xA;  once&lt;/em&gt;?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;(It is easy to find such a path/motion or determine that none exists in $O(n^2)$ time.)&lt;/p&gt;&#xA;" OwnerUserId="111" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2019-07-14T12:17:06.617" Title="Paths in a weighted line arrangement" Tags="&lt;cg.comp-geom&gt;" AnswerCount="2" CommentCount="6" ContentLicense="CC BY-SA 2.5" />
  <row Id="1552" PostTypeId="2" ParentId="1539" CreationDate="2010-09-21T18:06:04.790" Score="67" Body="&lt;p&gt;To the excellent notes already made, I’ll add &lt;strong&gt;Zippers&lt;/strong&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Huet, Gerard. “Functional Pearl: The Zipper” Journal of Functional Programming 7 (5): 549-554, September 1997.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Zipper_%28data_structure%29&quot;&gt;Wikipedia: Zipper (data structure)&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="706" LastEditorUserId="10318" LastEditDate="2013-11-13T03:11:35.530" LastActivityDate="2013-11-13T03:11:35.530" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="1553" PostTypeId="1" AcceptedAnswerId="1567" CreationDate="2010-09-21T18:53:23.197" Score="10" ViewCount="426" Body="&lt;p&gt;Assume $P \neq NP$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let use the following notation ${}^ia$ for tetration (ie. ${}^ia = \underbrace{a^{a^{\cdot^{\cdot^{\cdot^{a}}}}}}_{i \mbox{ times}}$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;|x| is the size of the instance x.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let L be a language, $L|_{f(i)\leq |x| &amp;lt; g(i)} := \{ x \in L \mbox{ |  } \exists i \in \mathbb{N}\mbox{, } f(i) \leq |x| &amp;lt; g(i) \}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is the complexity of the following languages :&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$L_1 = SAT|_{{}^{2i}2 \leq |x| &amp;lt; {}^{2i+1}2}$&#xA;$L_2 = SAT|_{{}^{2i+1}2 \leq |x| &amp;lt; {}^{2i+2}2}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As $L_1 \sqcup L_2 = SAT$, they can't be both in P under the assumption that $P \neq NP$.&#xA;As there both have exponential holes, I don't think SAT can be reduced to one.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hence the intuition would be that they are both in NPI, but I can't find a proof or disproof.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Two others languages are&#xA;$L_3 = SAT|_{|x|={}^{2i+1}2}$&#xA;$L_4 = SAT|_{|x|={}^{2i}2}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If one of both is in NPC, the other is in P because for each instance of one, it can't be transformed into an greater instance of the other because it is of exponential size, and smallers instances have a logarithmic size. Still by intuition, there is no reason why they would have a different complexity. What would their complexity be ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Ladner's proof of NPI problems under $P \neq NP$ assumption use languages like $L_1$ or $L_2$, but $L_1$ and $L_2$ aren't built by diagonalization.&lt;/p&gt;&#xA;" OwnerUserId="378" LastEditorUserId="378" LastEditDate="2010-09-21T23:04:32.527" LastActivityDate="2016-08-04T03:54:23.560" Title="What are the complexities of the following SAT subsets ?" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;&lt;complexity-classes&gt;" AnswerCount="1" CommentCount="10" FavoriteCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="1555" PostTypeId="1" AcceptedAnswerId="1654" CreationDate="2010-09-21T20:00:59.153" Score="4" ViewCount="600" Body="&lt;p&gt;Given a direct graph $G=(V,E)$. $\forall (i,j) \in E$, there is a weight $w(i,j) \in R$ (negative weight is possible). A label $l(i)$ is associated with each node $i \in V$. How to assign $k$ (or less) distinctive values to $l(i)$ such that&lt;br&gt;&#xA;$$l(j) \leq l(i) + w(i,j),\quad \forall (i,j) \in E ?$$&#xA;Notice that when $k=|V|$, this problem is easily solvable by Shortest path algorithm (Bellman-Ford). But what's the hardness is this problem for $k &amp;lt; |V|$? &lt;/p&gt;&#xA;" OwnerUserId="1351" LastEditorUserId="1351" LastEditDate="2010-09-28T00:41:22.623" LastActivityDate="2010-09-28T00:41:22.623" Title="Hardness of node partitioning under shortest path constraint" Tags="&lt;graph-theory&gt;&lt;np-hardness&gt;" AnswerCount="1" CommentCount="9" FavoriteCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="1556" PostTypeId="1" AcceptedAnswerId="1557" CreationDate="2010-09-21T21:08:13.660" Score="7" ViewCount="613" Body="&lt;p&gt;I want to teach myself enough machine learning so that I can, to begin with, understand enough to put to use &lt;strong&gt;available&lt;/strong&gt; open source ML frameworks that will allow me to do things like:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Go through the HTML source of pages&#xA;from a certain site and &quot;understand&quot;&#xA;which sections form the content,&#xA;which the advertisements and which&#xA;form the metadata ( neither the&#xA;content, nor the ads - for e.g. -&#xA;TOC, author bio etc )&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Go through the HTML source of pages&#xA;from disparate sites and &quot;classify&quot;&#xA;whether the site belongs to a&#xA;predefined category or not ( list of&#xA;categories will be supplied&#xA;beforehand ) based on the page content derived from 1&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;... similar classification tasks on&#xA;text and pages.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;As you can see, my immediate requirements are to do with classification on &lt;strong&gt;disparate data sources&lt;/strong&gt; and &lt;strong&gt;large&lt;/strong&gt; amounts of data.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As far as my limited understanding goes, taking the neural net approach will take a lot of training and maintenance than putting SVMs to use?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I understand that SVMs are well suited to ( binary ) classification tasks like mine, and open source frameworks like libSVM are fairly mature?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Taking forward the question assuming SVMs to be a better answer to classification of the likes of mine, how do I understand things like:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;What $R^n$ stands for&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;or hyperplanes&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;or how to transform a space so that&#xA;it can be broken into two parts etc?2.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;In that case, what subjects and topics&#xA;  does a computer science graduate need&#xA;  to learn right now, so that the above&#xA;  requirements can be solved, putting&#xA;  these frameworks to use? Especially those related to SVMs.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I am willing to learn and put in as much effort as I possibly can.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Recommendations from you on learning specific portions of statistics and probability theory is nothing unexpected from my side, so say that if required!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I will modify this question if needed, depending on all your suggestions and feedback.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Cross-posted on SO:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://stackoverflow.com/questions/3764444/what-subjects-topics-does-a-computer-science-graduate-need-to-learn-to-apply-ava&quot;&gt;https://stackoverflow.com/questions/3764444/what-subjects-topics-does-a-computer-science-graduate-need-to-learn-to-apply-ava&lt;/a&gt; &lt;/p&gt;&#xA;" OwnerUserId="986" LastEditorUserId="-1" LastEditDate="2017-05-23T12:40:09.333" LastActivityDate="2015-06-25T07:34:30.940" Title="What subjects, topics does a computer science graduate need to learn to apply available machine learning frameworks, esp. SVMs" Tags="&lt;machine-learning&gt;&lt;ne.neural-evol&gt;&lt;st.statistics&gt;" AnswerCount="3" CommentCount="5" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="1557" PostTypeId="2" ParentId="1556" CreationDate="2010-09-21T21:28:22.593" Score="9" Body="&lt;p&gt;From the theory end, you should understand how SVMs work (and why they do).  For example, I like the &lt;a href=&quot;http://www.cs.princeton.edu/courses/archive/spring03/cs511/&quot;&gt;scribe notes from this class&lt;/a&gt; for a quick explanation and something like &lt;a href=&quot;http://www.svms.org/tutorials/Burges1998.pdf&quot;&gt;this tutorial&lt;/a&gt; for a more in-depth one.  You might also want to consider other machine learning techniques that are suited for binary classification on large data ie. boosting, random forests, ...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As for dealing with open source code issues and with parsing HTML, stackoverflow might be a better place to seek answers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT:  Given your modified question, I can address your concrete questions about SVMs directly:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;strong&gt;$R^n$ &quot;stands for&quot;&lt;/strong&gt; the fact that the (data) points to be classified lie in a $n$-dimensional Euclidean space.  For example, points in our familiar $2$ dimensions (with, say, latitude and longitude coordinates) lie in $R^2$ -- an $n$-dimensional space generalizes this notion.&lt;/li&gt;&#xA;&lt;li&gt;A &lt;strong&gt;hyperplane&lt;/strong&gt; (in $R^n$) is a flat of dimension $n-1$.  It is what an SVN uses to classify the data (after they have been mapped to the higher dimensional space by the chosen Kernel).  For example, if your space is $R^2$ (or a plane) then a hyperplane is line, and so on.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;How to transform the space&lt;/strong&gt;? This is done via the Kernel function.  A big part of SVM design is choosing a proper Kernel for the problem at hand.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;To understand these three points in more detail, you can read the references above.&lt;/p&gt;&#xA;" OwnerUserId="123" LastEditorUserId="123" LastEditDate="2010-09-22T20:04:23.713" LastActivityDate="2010-09-22T20:04:23.713" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="1558" PostTypeId="1" AcceptedAnswerId="1581" CreationDate="2010-09-21T22:08:38.410" Score="14" ViewCount="924" Body="&lt;p&gt;&lt;a href=&quot;http://portal.acm.org/citation.cfm?id=314500.314562&quot;&gt;Chong, Han and Lam&lt;/a&gt; showed that undirected st-connectivity can be solved on the EREW PRAM in $O({\log}n)$ time with $O(m+n)$ processors. What is the best known parallel algorithm for &lt;a href=&quot;http://en.wikipedia.org/wiki/St-connectivity&quot;&gt;directed st-connectivity&lt;/a&gt; ? Please state the running time, deterministic/randomized algorithm and the PRAM model used (assuming the number of processors is polynomial). Are there any $o({\log}^2{n})$ time parallel algorithms known for any special cases of directed st-connectivity ?&lt;/p&gt;&#xA;" OwnerUserId="344" LastActivityDate="2010-09-28T01:04:39.920" Title="Parallel algorithms for directed st-connectivity" Tags="&lt;dc.parallel-comp&gt;" AnswerCount="3" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="1559" PostTypeId="2" ParentId="189" CreationDate="2010-09-22T00:34:06.900" Score="9" Body="&lt;p&gt;The Risch algorithm finds a nice, elementary form of integrals or tells you that it doesn't exist. Solves a problem open since Newton/Leibniz invented calculus and is so complicated that the full version has never been implemented.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In particular, it tells you &lt;em&gt;why&lt;/em&gt; $e^{x^2}$, $x^x$, $\frac{log x}{x}$ and the like don't have elementary primitives, and gives you a way of constructing the primitive if your function admits one. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Risch_algorithm&quot;&gt;http://en.wikipedia.org/wiki/Risch_algorithm&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="1367" LastEditorUserId="1367" LastEditDate="2010-09-22T00:44:19.050" LastActivityDate="2010-09-22T00:44:19.050" CommentCount="1" CommunityOwnedDate="2010-09-22T00:34:06.900" ContentLicense="CC BY-SA 2.5" />
  <row Id="1560" PostTypeId="2" ParentId="1539" CreationDate="2010-09-22T02:05:48.960" Score="21" Body="&lt;p&gt;I'd add McBride's version of zippers as derivatives of data types.&lt;/p&gt;&#xA;" OwnerUserId="1371" LastActivityDate="2010-09-22T02:05:48.960" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="1562" PostTypeId="1" CreationDate="2010-09-22T03:12:11.000" Score="38" ViewCount="16712" Body="&lt;p&gt;I'm currently starting on the university [computer science] and there we have lot of opportunities to begin with researching. Before finding this website, I had no intention to go on this way [I wanted to work with AI, probably game dev.], but now I can [or I need] to make a choice. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can you convince me to join on this &quot;world&quot;? What &quot;segments&quot; I can follow? Is there anything about what kinds of topics a computer scientist or researcher works on?&lt;/p&gt;&#xA;" OwnerUserId="1373" LastEditorUserId="80" LastEditDate="2011-01-05T17:30:32.243" LastActivityDate="2014-09-22T08:12:06.413" Title="Why go to theoretical computer science/research?" Tags="&lt;soft-question&gt;&lt;career&gt;" AnswerCount="8" CommentCount="5" FavoriteCount="34" CommunityOwnedDate="2010-09-26T05:50:23.387" ContentLicense="CC BY-SA 2.5" />
  <row Id="1563" PostTypeId="2" ParentId="1551" CreationDate="2010-09-22T04:04:38.387" Score="2" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;If there is a legal motion, must there&#xA;  be a legal motion where the moving&#xA;  line passes over each point exactly&#xA;  once?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I think the answer is No.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider the following points (co-ordinates written in the parantheses) - A(1, 1), B(0, 0), C(-1, -1) and D(-2, 0). Let them have the following weights -&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A: +10&#xA;B: -100&#xA;C: +500&#xA;D: -5&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let's describe the current position of the line by specifying the set of points lying above it. Initially, the line is above all the points. Next, the only option for it is to cross A and reach the position {A}. It cannot cross B now because of its very large negatice weight, so the only option is to cross D and reach the position {A, D}. It can still not cross B. However, if it rotates a bit, gets C above it, pushes A below and reaches the state {C, D}, then it will have a very large positive weight above it and so in the next two steps it will be able to cross B and then A and hence reach below all the points.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Therefore even though there is a legal motion, there is none where the line crosses each point exactly once.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/jKFJi.jpg&quot; alt=&quot;alt text&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here's a legal motion for the above set of points. Different positions of the line have been marked with numbers increasing in the chronological order. The initial position is not shown, but you can imagine it to be somewhere above all the points.&#xA;&lt;img src=&quot;https://i.stack.imgur.com/pnQmd.jpg&quot; alt=&quot;alt text&quot;&gt;&lt;/p&gt;&#xA;" OwnerUserId="262" LastEditorUserId="262" LastEditDate="2010-09-22T05:58:20.693" LastActivityDate="2010-09-22T05:58:20.693" CommentCount="9" ContentLicense="CC BY-SA 2.5" />
  <row Id="1564" PostTypeId="2" ParentId="1562" CreationDate="2010-09-22T04:05:41.750" Score="6" Body="&lt;p&gt;We cannot &quot;convince&quot; you, since computer science is not &lt;em&gt;mathematically&lt;/em&gt; better than AI or any other field. So, we cannot carry out a proof of its dominance! IMO, It is more a matter of taste than anything else.&lt;/p&gt;&#xA;" OwnerUserId="1379" LastActivityDate="2010-09-22T04:05:41.750" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="1565" PostTypeId="2" ParentId="1562" CreationDate="2010-09-22T04:11:25.193" Score="19" Body="&lt;p&gt;Indeed whether you decide to go into research in theoretical computer science is a matter of choice. But even perusing the questions on this site (as you probably have done) hopefully gives you a sense of the breadth, scope an beauty of the field. I don't even know where to start in pointing you to sources you can read to appreciate the kind of work that theoreticians do, but there's one question on this very site that I think might interest you. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/questions/189/algorithms-from-the-book&quot;&gt;The question is:&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Paul Erdos talked about the &quot;Book&quot;&#xA;  where God keeps the most elegant proof&#xA;  of each mathematical theorem. This&#xA;  even inspired a book (which I believe&#xA;  is now in its 4th edition): Proofs&#xA;  from the Book.&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;If God had a similar book for&#xA;  algorithms, what algorithm(s) do you&#xA;  think would be a candidate(s)?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;There are currently 64 answers to this question, covering algorithms for small problems, big problems, puzzles and deep mathematics. I strongly believe that if all you did was go through this list and read more about any of the algorithms that catches your eye, you'd learn a lot about what theoretical computer scientists do, and why we do it. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Good luck !&lt;/p&gt;&#xA;" OwnerUserId="80" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.743" LastActivityDate="2010-09-22T04:11:25.193" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1566" PostTypeId="2" ParentId="1551" CreationDate="2010-09-22T04:16:25.607" Score="9" Body="&lt;p&gt;The answer is no, me think.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To see why consider two lines that are a perturb copy of each other that intersect at a point p. By giving one line weight 1, and one line weight -1, we created a tiny wedge where the path can not go through. Think about this wedge now as a ray. Now, using a collection of such rays, we can create the following configuration:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&#xA;------------------------&#xA;&#xA;             -----------------------------------&#xA;&#xA;-------------------------&#xA;&#xA;             --------------------------------&#xA;&#xA;--------------------------&#xA;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;That is - interleaving horizontal rays. Now, the path must wiggle between these rays in the natural way. It is now trivial to add an almost vertical ray that its tail (i.e., non ray part) intersect all the horizontal rays. The path must intersect the two lines defining this ray as many times as we want. &#xA;&lt;br&gt;&#xA;Here is a figure:&#xA;&lt;br&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://i.stack.imgur.com/wVdU9.gif&quot; rel=&quot;nofollow noreferrer&quot;&gt;&lt;img src=&quot;https://i.stack.imgur.com/wVdU9.gif&quot; alt=&quot;&quot;&gt;&lt;/a&gt;&lt;br&gt;&#xA;&lt;sub&gt;(source: &lt;a href=&quot;http://valis.cs.uiuc.edu/~sariel/misc/blog/10/09/21/criss_cross.gif&quot; rel=&quot;nofollow noreferrer&quot;&gt;uiuc.edu&lt;/a&gt;)&lt;/sub&gt;  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;br&gt;&#xA;(&lt;a href=&quot;https://sarielhp.org/misc/blog/10/09/22/criss_cross.ipe&quot; rel=&quot;nofollow noreferrer&quot;&gt;Ipe&lt;/a&gt; source.)&#xA;&lt;br&gt;&#xA;The solution is slightly more complicated because these rays open up. By adding the two rays on the sides, one guarentees that only the region of interest is really relevant.&lt;/p&gt;&#xA;" OwnerUserId="9594" LastEditorUserId="32711" LastEditDate="2019-07-14T12:17:06.617" LastActivityDate="2019-07-14T12:17:06.617" CommentCount="1" ContentLicense="CC BY-SA 4.0" />
  <row Id="1567" PostTypeId="2" ParentId="1553" CreationDate="2010-09-22T05:14:21.057" Score="6" Body="&lt;p&gt;I think both are NPI under the stronger assumption (but obviously true) that NP is not in &quot;infinitely often P&quot; - i.e., every polynomial time algorithm A and every sufficiently large n, A fails to solve SAT on inputs of length n.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In this case, such languages are not in P, but they also cannot be NP complete, since otherwise a reduction from SAT to a language L with large holes will give an algorithm for SAT that succeeds on these holes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Such an assumption is also necessary, since otherwise the languages can be in P, or NP-complete, depending on where the &quot;easy input lengths&quot; are located.&lt;/p&gt;&#xA;" OwnerUserId="1202" LastActivityDate="2010-09-22T05:14:21.057" CommentCount="6" ContentLicense="CC BY-SA 2.5" />
  <row Id="1568" PostTypeId="2" ParentId="1454" CreationDate="2010-09-22T05:26:00.773" Score="10" Body="&lt;p&gt;There is a question of why one would want to define black-box ZK in the random oracle model. &#xA;There are at least two reasons why people suggested the definition of black-box zero knowledge:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) For a positive result, when you say that a simulator is &quot;black-box zero knowledge&quot; it automatically gives you a nice bound on its running time (i.e., $poly(|x|) \cdot time(V*)$ as opposed to $poly(time(V*))$) and it also may be useful to know that the simulator doesn't &quot;look at the guts' of $V*$ and doesn't care if $V*$ is implemented using RAM, circuit, etc... While a random-oracle model simulator may be efficient, it's obviously not black-box, because it's supposed to somehow look at the execution of $V*$ and understand from it when $V*$ is evaluating a hash function. For this reason, there is a sense in which it doesn't make sense to say that a random-oracle model simulator is &quot;black-box&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) For a negative result, people use &quot;black-box simulator&quot; to capture a large class of proof techniques. In this case you can define black-box simulator also in the random oracle model and the definition that makes sense is what David said. In fact, for a negative result even not in the random oracle model, it's best if the result holds even if you allow the simulator $poly(time(V*))$ running time. Indeed, although it's not always stated, the negative results I'm aware of all have this property, since the cheating verifier $V*$ is typically a fixed polynomial algorithm that runs some pseudorandom functions, while the simulator can have any polynomial running time.&lt;/p&gt;&#xA;" OwnerUserId="1202" LastActivityDate="2010-09-22T05:26:00.773" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="1569" PostTypeId="1" AcceptedAnswerId="1901" CreationDate="2010-09-22T05:36:09.727" Score="15" ViewCount="746" Body="&lt;p&gt;The &lt;a href=&quot;http://en.wikipedia.org/wiki/Hadamard_transform&quot;&gt;Walsh-Hadamard transform (WHT)&lt;/a&gt; is a generalization of the Fourier transform, and is an orthogonal transformation on a vector of real or complex numbers of dimension $d = 2^m$. The transform is popular in quantum computing, but it's been studied recently as a kind of preconditioner for random projections of high-dimensional vectors for use in the proof of the Johnson-Lindenstrauss Lemma. Its main feature is that although it's a square $d\times d$ matrix, it can be applied to a vector in time $O(d \log d)$ (rather than $d^2$) by an FFT-like method. &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Suppose the input vector is &lt;em&gt;sparse&lt;/em&gt;:&#xA;  it has only a few nonzero entries (say&#xA;  $r \ll d$). Is there any way to&#xA;  compute the WHT in time $f(r,d)$ such&#xA;  that $f(d,d) = O(d \log d)$ and&#xA;  $f(r,d) = o(d \log d)$ for $r = o(d)$&#xA;  ?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Note: these requirements are merely one way of formalizing the idea that I'd like something that runs faster than $d \log d$ for small $r$.&lt;/p&gt;&#xA;" OwnerUserId="80" LastEditorUserId="186" LastEditDate="2011-03-14T07:29:54.543" LastActivityDate="2011-03-14T07:29:54.543" Title="Sparse Walsh-Hadamard Transform" Tags="&lt;ds.algorithms&gt;&lt;linear-algebra&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="1570" PostTypeId="2" ParentId="189" CreationDate="2010-09-22T06:46:41.547" Score="8" Body="&lt;p&gt;I looked through all the answers and it seems that many of them are not describing &lt;em&gt;Algorithms from the Book&lt;/em&gt;. Some are extremely useful, but not particularly beautiful, in my opinion. It's hard to say what makes an algorithm beautiful, but I will try to argue that &lt;strong&gt;quicksort would &lt;em&gt;not&lt;/em&gt; be found in &lt;em&gt;The Book&lt;/em&gt;&lt;/strong&gt;. It's a fairly simple algorithm, which makes it a good candidate for &lt;em&gt;The Book&lt;/em&gt;, but there is one major issue:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The behaviour of quicksort is inconsistent. It performs well in practice, but bad pivot choices could lead to &lt;strong&gt;quadratic running-time&lt;/strong&gt;. And the pivot choice is arbitrary. There is no way to make a good pivot choice. Since we are talking about algorithms, I think we can agree that running-time matters.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Though, there is a sorting algorithm that I would expect to find in &lt;em&gt;The Book&lt;/em&gt;, and that is &lt;a href=&quot;http://en.wikipedia.org/wiki/Merge_sort&quot;&gt;&lt;strong&gt;mergesort&lt;/strong&gt;&lt;/a&gt;:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;Each element is viewed as a sorted subsequence of size one.&#xA;Merge pairs of adjacent subsequences repeatedly.&#xA;Stop when there is only one sorted subsequence left.&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;The beauty of mergesort is in the simplicity of the merge function that merges two sorted subsequences into one sorted subsequence. Try to code this function, and enjoy.&lt;/p&gt;&#xA;" OwnerUserId="1232" LastActivityDate="2010-09-22T06:46:41.547" CommentCount="4" CommunityOwnedDate="2010-09-22T06:46:41.547" ContentLicense="CC BY-SA 2.5" />
  <row Id="1571" PostTypeId="2" ParentId="1562" CreationDate="2010-09-22T06:57:52.800" Score="11" Body="&lt;p&gt;Programming language theory is fun for young and old. It's applying logic to the real world. Come join the parade!!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More seriously, for me, programming language theory is interesting for the following reasons:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;perceived impact on the real world: the extensive type system work in Haskell and other functional languages, originating from purely logical ideas (System F), significantly influences the development of languages such as Java (its horrible generics, closures) and Scala (the modern day where-theory-meets practice playground).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;beauty: many of the tools employed in programming language theory are based on logic. Much of it stems from the Curry-Howard correspondence, which demonstrates a close connection between logical proof rules and typing rules for programming languages, and between cut-elimination in logic and evaluation in a programming language. Two recent beautiful examples of applications of logic in programming language research are the extensive work on &lt;a href=&quot;http://en.wikipedia.org/wiki/Separation_logic&quot; rel=&quot;nofollow&quot;&gt;separation logic&lt;/a&gt; in verification and the application of ideas of proof focusing to understanding programming language concepts such as &lt;a href=&quot;https://www.pps.jussieu.fr/~noam/thesis.pdf&quot; rel=&quot;nofollow&quot;&gt;evaluation order and pattern matching&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;fun: you can do programming and theory at the same time, especially if you are formalising and verifying your theories using a proof assistant such as Coq.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;and many more.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="77" LastEditorUserId="77" LastEditDate="2010-09-22T10:43:48.853" LastActivityDate="2010-09-22T10:43:48.853" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1572" PostTypeId="2" ParentId="1562" CreationDate="2010-09-22T07:13:50.447" Score="7" Body="&lt;p&gt;It's hard to answer that question to a certainty, but there are a few things to keep in mind here.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you make a career as a computer scientist, your job will probably involve not just processing and structuring data in a way that makes it useful and efficient to use, but also thinking about how and why what you are doing works, as well as in which bounds it operates (if for no other reason than to understand it enough to implement it). This is ESPECIALLY the case for AI/NLP/IR, which is VERY research-intensive, even if you are not in academia. In fact, going into AI pretty much guarantees that you will deal heavily in &quot;theoretic&quot; problems, and in fact it may be hard to find a job without that background. So that might be one compelling reason you would consider it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Not only that, but it would probably be very hard to spend most of your life in any CS field, where you would have to maintain such intimate contact with such a delicate and capricious (and not to mention difficult) processes, while simultaneously maintaining &lt;em&gt;no&lt;/em&gt; interest whatsoever in even the basics of why things work. In other words, I suppose you &lt;em&gt;could&lt;/em&gt; glue together libraries for the rest of your life, but if that doesn't sound like your thing, you will have to have at least a passing acquaintance with the fundamentals of the problems you deal with.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;While actively participating in TCS research is a question that probably only you can answer, a good starting point (IMO) is to start off with a view of the problems you're interested in looking at, and go from there. You may also not even have enough information to answer that question, so a better way to proceed might be to just see where your interests take you.&lt;/p&gt;&#xA;" OwnerUserId="1299" LastActivityDate="2010-09-22T07:13:50.447" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="1573" PostTypeId="1" CreationDate="2010-09-22T09:14:37.103" Score="0" ViewCount="3706" Body="&lt;p&gt;Since this community seems to include a lot of Ph.D. students, and because there is a provision for attracting even more, I think this question is very appealing:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What topics do you suggest for Ph.D. students to consider for their thesis?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I intentionally didn't restrict the topic to any field in TCS.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Obviously, very broad subjects of study, such as &quot;logic&quot; or &quot;complexity theory&quot; are not adequate answers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, ideas like &quot;combine logic X with Y algebra to solve problem Z&quot; are completely acceptable. (Since this is not MathOverflow, &quot;problem Z&quot; should have some TCS flavor.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The more you elaborate, the better!&lt;/p&gt;&#xA;" OwnerUserId="1379" LastActivityDate="2010-09-22T14:11:03.453" Title="What Topics Are Suggested for Ph.D. Research?" Tags="&lt;big-list&gt;&lt;soft-question&gt;" AnswerCount="1" CommentCount="8" FavoriteCount="1" ClosedDate="2010-09-22T14:12:15.887" CommunityOwnedDate="2010-09-22T09:21:20.327" ContentLicense="CC BY-SA 2.5" />
  <row Id="1574" PostTypeId="1" AcceptedAnswerId="1576" CreationDate="2010-09-22T10:21:23.240" Score="7" ViewCount="822" Body="&lt;p&gt;There is an increasing number of scientific articles which I look through and somehow I feel a lack of a tool to keep track of the already read ones and my summary notes on it. Or another usage scenario would be to search by an author and see which articles of the given author I have already read.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The question is: Do you use or know of any freeware tools for organizing articles?&lt;/p&gt;&#xA;" OwnerUserId="1393" LastEditorUserId="567" LastEditDate="2010-09-22T10:36:43.323" LastActivityDate="2010-09-22T14:59:57.840" Title="Do you use any article organizers?" Tags="&lt;soft-question&gt;" AnswerCount="3" CommentCount="8" FavoriteCount="4" ClosedDate="2010-09-22T17:54:09.330" ContentLicense="CC BY-SA 2.5" />
  <row Id="1575" PostTypeId="2" ParentId="1574" CreationDate="2010-09-22T10:27:19.863" Score="1" Body="&lt;p&gt;&lt;a href=&quot;http://mekentosj.com/papers/&quot; rel=&quot;nofollow&quot;&gt;Papers&lt;/a&gt; for Mac OS X. It's not freeware, but it's cheapish. It does a fairly job of reducing the effort of adding the appropriate meta-data to the papers it collects. The only problem is that it is so easy to download papers much faster than you can put them into papers, though this will be a problem with any software, I imagine.&lt;/p&gt;&#xA;" OwnerUserId="77" LastActivityDate="2010-09-22T10:27:19.863" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1576" PostTypeId="2" ParentId="1574" CreationDate="2010-09-22T10:35:16.413" Score="5" Body="&lt;p&gt;I used to store them in a SVN repository, and then I found out about &lt;a href=&quot;http://www.mendeley.com/&quot; rel=&quot;nofollow&quot;&gt;Mendeley&lt;/a&gt;, quite satisfying so far except for a few bugs. Different features are available depending on whether or not you want to pay some fee, but the free version is enough for many people -- it seems it would be for you.&lt;/p&gt;&#xA;" OwnerUserId="775" LastActivityDate="2010-09-22T10:35:16.413" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="1577" PostTypeId="2" ParentId="1562" CreationDate="2010-09-22T13:57:34.063" Score="17" Body="&lt;p&gt;The reason many of us went into research is because we find pushing the boundaries of what is known both intellectually rewarding and enjoyable.  Doing research also gives us almost unparalleled freedom to work on problems we find meaningful and interesting, and it keeps us constantly challenged (which we enjoy).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;TCS (as opposed to other fields) is a mathematical study of computer science.  You can work on the theory aspect of lots of different fields from distributed systems to machine learning.  The choice among TCS and other fields in computer science depends on where your tastes and abilities lie.  If your natural interests and abilities lie more in programming or system design than in mathematical analysis, then perhaps you shouldn't go into TCS.  On the other hand, if your skills and interests lie more in the mathematical aspects, then you should consider TCS.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, you don't always have to choose one area over all others.  Many people work on problems from both the theoretical and practical sides.  This is common, for example, in machine learning, where we first design and analyze algorithms (often theory) and then test them in the real world (experimental design, applications, etc.).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A good way to figure out what you want to do is to take classes in many different areas, and perhaps try both industry and research in your summers.  By the end of your studies, you will probably have a good idea of what you want to do.&lt;/p&gt;&#xA;" OwnerUserId="123" LastEditorUserId="123" LastEditDate="2010-09-22T14:22:40.690" LastActivityDate="2010-09-22T14:22:40.690" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="1578" PostTypeId="2" ParentId="1573" CreationDate="2010-09-22T14:11:03.453" Score="4" Body="&lt;p&gt;It is an extremely broad question, and probably the wrong question, but I actually think the answer is pretty short. I'll just give you the advice that I was given (from multiple people), and the advice that most people I know would give:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://matt.might.net/articles/phd-school-in-pictures/&quot; rel=&quot;nofollow&quot;&gt;http://matt.might.net/articles/phd-school-in-pictures/&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In other words, you start with an interest, and that interest develops into a specialty. You deepen that interest, and then you expand a small amount on it in your PhD. Telling you what to do not only in some ways would defeat the purpose of you actually getting a PhD (i.e., you picking a specialty and pursuing it &lt;em&gt;because you like it&lt;/em&gt;), but it says some pretty strong things about a PhD: that is, I personally think it's more helpful to think of a PhD not as the crowning achievement of your career, but as a good start, and since yours will almost certainly not be revolutionary (like, say &lt;a href=&quot;http://en.wikipedia.org/wiki/Syntactic_Structures&quot; rel=&quot;nofollow&quot;&gt;Syntactic Structures&lt;/a&gt;), it is &lt;em&gt;much&lt;/em&gt; more descriptive to explain the process than it is to tell you what specifically to do.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Good luck, though!&lt;/p&gt;&#xA;" OwnerUserId="1299" LastActivityDate="2010-09-22T14:11:03.453" CommentCount="0" CommunityOwnedDate="2010-09-22T14:11:03.453" ContentLicense="CC BY-SA 2.5" />
  <row Id="1579" PostTypeId="2" ParentId="1574" CreationDate="2010-09-22T14:33:28.360" Score="1" Body="&lt;p&gt;I actually have a script that converts pdfs into plaintext, which sounds stupid but is HIGHLY useful for when I want to grep for something.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I also mark papers up religiously, and make good use of a filing cabinet.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So my workflow would look for something like this: &quot;Pleonastic pronouns, eh? *grep* *look for file in cabinet*&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Am I too young for these things? You decide, you old people with your GUIs.&lt;/p&gt;&#xA;" OwnerUserId="1299" LastEditorUserId="1299" LastEditDate="2010-09-22T14:59:57.840" LastActivityDate="2010-09-22T14:59:57.840" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="1580" PostTypeId="1" AcceptedAnswerId="1871" CreationDate="2010-09-22T14:57:08.747" Score="15" ViewCount="1015" Body="&lt;p&gt;In a 2006 presentation titled &lt;a href=&quot;http://www.cs.huji.ac.il/~nati/PAPERS/diskrete_mathematik_06.pdf&quot;&gt;EXPANDER GRAPHS - ARE THERE ANY MYSTERIES LEFT?  &lt;/a&gt;&#xA;&lt;a href=&quot;http://www.cs.huji.ac.il/~nati/PAPERS/diskrete_mathematik_06.pdf&quot;&gt;&lt;/a&gt;, Nati Linial posed the following open problem:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Which $NP$-hard computational problem on graph remain hard when restricted to expander graphs?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Since then, Has any progress been made to prove such result for an $NP$-hard problem?&lt;/strong&gt;&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="15" LastEditDate="2010-09-30T21:34:33.253" LastActivityDate="2010-11-22T22:47:48.180" Title="NP-hard problems on expander graphs?" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;&lt;expanders&gt;" AnswerCount="2" CommentCount="9" FavoriteCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="1581" PostTypeId="2" ParentId="1558" CreationDate="2010-09-22T15:42:21.777" Score="14" Body="&lt;p&gt;Directed s-t reachability can easily be done using O($n^3$) processors and O$(\log n$) time on a CRCW-PRAM, or in O($n^\omega$) processors and  O($\log^2 n$) time on a EREW-PRAM&#xA; where $\omega&amp;lt;2.376$ is the matrix multiplication exponent and $n$ is the number of vertices. The following paper claims O($n^\omega$) and  O($\log n$) time on a CREW-PRAM: &quot;Optimal Parallel Algorithms&#xA;for Transitive Closure and Point Location&#xA;in Planar Structures&quot; by Tamassia and Vitter. Other papers claim the same thing and cite the Karp and Ramachandran survey (Parallel algorithms for shared-memory machines, in: J. van Leeuwen (Ed.), Handbook of Theoretical Computer Science). The survey itself does mention that transitive closure is in AC1 and hence can be solved in O(log n) time on a CRCW-PRAM, but the part about CREW-PRAM is missing.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;All Strassen-like algorithms for matrix multiplication (including the one by Coppersmith-Winograd) are essentially parallel algorithms that run in O$(\log n)$ time; transitive closure incurs an extra log (but if you allow unbounded fan-in the trivial O($n^3$) matrix mult can be done in constant depth and so reachability is in O$(\log n)$ time on a CRCW-PRAM). It's an open problem to improve the number of processors from the current best ~$n^{2.376}$; it is also a major open problem if reachability is in NC1, as it would imply L=NL among other things.&lt;/p&gt;&#xA;" OwnerUserId="410" LastEditorUserId="410" LastEditDate="2010-09-28T01:04:39.920" LastActivityDate="2010-09-28T01:04:39.920" CommentCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="1582" PostTypeId="2" ParentId="1562" CreationDate="2010-09-22T16:25:52.173" Score="34" Body="&lt;p&gt;I can relate my reasons as an undergraduate applying to TCS graduate programs this upcoming Winter (so little time left!).&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;There's the beauty. This isn't something I can explain (and have witnessed other mathematicians failing to explain). It's like &quot;yellow.&quot; If you haven't seen it, I'm not sure I could communicate to you what it is. But since you've become interested in theory, I suppose maybe you do experience it.&lt;/li&gt;&#xA;&lt;li&gt;There's universality. Universality beyond the &lt;a href=&quot;https://cstheory.stackexchange.com/questions/88/what-would-it-mean-to-disprove-church-turing-thesis&quot;&gt;Church-Turing Thesis&lt;/a&gt;. TCS at it's core investigates high level and low level phenomena in information - it's the &quot;physics&quot; of information. And since information is &lt;a href=&quot;http://en.wikipedia.org/wiki/Holographic_principle&quot; rel=&quot;noreferrer&quot;&gt;qualitatively atomic&lt;/a&gt;, information theory does have things to say about physics (my QM professor has specifically told me he loves information theory). All of this being said, it's somewhere between Pure Math and Engineering. It has the capability and flexibility to contribute directly to both, and to be contributed to directly by both. Still, it fights on its own frontier.&lt;/li&gt;&#xA;&lt;li&gt;There's the scope. This was hinted at in the previous bullet. Informatics finds its way into many different applications - stuff everyone from the DHD to &lt;a href=&quot;http://chargecar.org/about&quot; rel=&quot;noreferrer&quot;&gt;startups&lt;/a&gt; are interested in. You won't find yourself &lt;em&gt;as&lt;/em&gt; starving for funding like Pure Mathematics. (You'll still always find yourself starving for funding.)&lt;/li&gt;&#xA;&lt;li&gt;There's the challenge. Take a look at a list of open problems in Theoretical Computer Science (and pursue an understanding of them to the end of inquiry). They are very hard - here are &lt;a href=&quot;http://rjlipton.wordpress.com/2010/08/23/einstein-and-the-p%E2%89%A0np-question/&quot; rel=&quot;noreferrer&quot;&gt;some&lt;/a&gt; &lt;a href=&quot;http://www.scottaaronson.com/democritus/lec6.html&quot; rel=&quot;noreferrer&quot;&gt;reasons&lt;/a&gt; &lt;a href=&quot;http://qwiki.stanford.edu/wiki/Petting_Zoo#AC0&quot; rel=&quot;noreferrer&quot;&gt;why&lt;/a&gt;. We really don't understand TCS - most of our proofs boil down to mounting evidence. There's just so much work left to do!&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="3624" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2010-09-22T20:21:39.513" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1583" PostTypeId="5" CreationDate="2010-09-22T17:05:00.913" Score="0" Body="&lt;p&gt;Tag &lt;a href=&quot;/questions/tagged/lg.learning&quot; class=&quot;post-tag&quot; title=&quot;show questions tagged 'lg.learning'&quot; rel=&quot;tag&quot;&gt;lg.learning&lt;/a&gt; refers to the research area of &lt;a href=&quot;http://en.wikipedia.org/wiki/Machine_learning&quot; rel=&quot;nofollow&quot;&gt;machine learning&lt;/a&gt;, and &lt;a href=&quot;http://en.wikipedia.org/wiki/Computational_learning_theory&quot; rel=&quot;nofollow&quot;&gt;learning theory&lt;/a&gt; specifically (falling under &lt;a href=&quot;http://arxiv.org/archive/cs&quot; rel=&quot;nofollow&quot;&gt;arXiv&lt;/a&gt;'s &lt;a href=&quot;http://arxiv.org/list/cs.LG/recent&quot; rel=&quot;nofollow&quot;&gt;cs.LG - Learning&lt;/a&gt;), as opposed to the general practice of learning.  This tag includes the theory of PAC learning, algorithmic learning theory, and computational aspects of Bayesian inference and graphical models.  Questions about implementation issues and statistical properties of machine learning systems are more likely to be welcomed at the &lt;a href=&quot;http://stats.stackexchange.com/&quot;&gt;CrossValidated&lt;/a&gt; or &lt;a href=&quot;http://metaoptimize.com/qa/&quot; rel=&quot;nofollow&quot;&gt;MetaOptimize Q&amp;amp;A&lt;/a&gt; sites.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The questions &lt;em&gt;must&lt;/em&gt; satisfy the usual scope requirements for cstheory as explained in the &lt;a href=&quot;http://cstheory.stackexchange.com/faq&quot;&gt;FAQ&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="80" LastEditorUserId="186" LastEditDate="2011-08-18T04:43:01.787" LastActivityDate="2011-08-18T04:43:01.787" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="1584" PostTypeId="4" CreationDate="2010-09-22T17:05:00.913" Score="0" Body="Machine learning and learning theory: PAC learning, algorithmic learning theory, and computational aspects of Bayesian inference and graphical models." OwnerUserId="80" LastEditorUserId="1037" LastEditDate="2012-07-19T22:50:34.393" LastActivityDate="2012-07-19T22:50:34.393" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="1585" PostTypeId="1" CreationDate="2010-09-22T17:26:37.893" Score="26" ViewCount="954" Body="&lt;p&gt;Suppose we relax the problem of counting proper colorings by counting weighted colorings as follows: every proper coloring gets weight 1 and every improper coloring gets weight $c^v$ where $c$ is some constant and $v$ is the number of edges with endpoints are colored the same. As $c$ goes to 0, this reduces to counting proper colorings which is hard for many graphs. When c is 1, every colorings gets the same weight and the problem is trivial. When adjacency matrix of the graph multiplied by $-\log(c)/2$ has spectral radius below $1-\epsilon$, this sum can be approximated by belief propagation with convergence guarantee, so it's easy in practice. It's also easy in theory because a particular computation tree exhibits decay of correlations and hence allows a polynomial time algorithm for guaranteed approximation -- &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.127.7388&quot;&gt;Tetali, (2007)&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is -- what other properties of the graph make this problem hard for local algorithms? Hard in a sense that only a small range of $c$'s can be addressed.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;b&gt;Edit 09/23&lt;/b&gt;: So far I came across two deterministic polynomial approximation algorithms for this class of problem (derivatives of Weitz's STOC2006 paper and of Gamarnik's &quot;cavity expansion&quot; approach to approximate counting), and both approaches depend on the branching factor of self-avoiding walks on the graph. Spectral radius comes up because it's an upper bound on this branching factor. The question is then  -- is it a good estimate? Could we have a sequence of graphs where branching factor of self-avoiding walks is bounded, while branching factor of regular walks grows without bound?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;b&gt;Edit 10/06&lt;/b&gt;: This &lt;a href=&quot;http://arxiv.org/abs/1005.5584&quot;&gt;paper&lt;/a&gt; by Allan Sly (FOCS 2010) seems relevant...result suggests that branching factor of infinite tree of self-avoiding walks precisely captures the point at which counting becomes hard. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;b&gt;Edit 10/31&lt;/b&gt;: Alan Sokal conjectures (&lt;a href=&quot;http://arxiv.org/abs/math/0503607&quot;&gt;p.42 of &quot;The multivariate Tutte polynomia&quot;&lt;/a&gt;) that a there's an upper bound on the radius of zero-free region of the chromatic polynomial which is linear in terms of maxmaxflow (maximum s-t flow over all pairs s,t). This seems relevant because long-range correlations appear as the number of proper colorings approaches 0.&lt;/p&gt;&#xA;" OwnerUserId="434" LastEditorUserId="434" LastEditDate="2010-11-02T21:23:19.700" LastActivityDate="2010-11-02T21:23:19.700" Title="When is relaxed counting hard?" Tags="&lt;graph-theory&gt;&lt;approximation-algorithms&gt;&lt;approximation-hardness&gt;&lt;counting-complexity&gt;&lt;graph-colouring&gt;" AnswerCount="3" CommentCount="18" FavoriteCount="10" ContentLicense="CC BY-SA 2.5" />
  <row Id="1586" PostTypeId="1" AcceptedAnswerId="1598" CreationDate="2010-09-22T18:43:58.327" Score="52" ViewCount="6176" Body="&lt;p&gt;This question is inspired by &lt;a href=&quot;https://cstheory.stackexchange.com/questions/1539/whats-new-in-purely-functional-data-structures-since-okasaki&quot;&gt;another question about what's new in PFDS since the publication of Okasaki's book in 1998&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'll start with two questions I have:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Is there a purely functional set data structure that approaches the speed of hash tables? Tries aren't  there yet.&lt;/li&gt;&#xA;&lt;li&gt;Are there purely functional finger trees with O(1) append? The best so far is O(lg lg n), devised by Kaplan and Tarjan.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;What other purely functional data structure problems are open?&lt;/p&gt;&#xA;" OwnerUserId="43" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2012-06-11T14:48:06.437" Title="What are the outstanding questions in purely functional data structures?" Tags="&lt;big-list&gt;&lt;ds.data-structures&gt;&lt;functional-programming&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="47" CommunityOwnedDate="2010-09-22T18:43:58.327" ContentLicense="CC BY-SA 2.5" />
  <row Id="1587" PostTypeId="1" CreationDate="2010-09-22T19:20:28.317" Score="2" ViewCount="497" Body="&lt;p&gt;The problem of Tower of Hanoi is a typical example of recursion method. &#xA;Could anyone show me the (simple) proof of&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(1) the smallest number of moves of the solution is 2^n-1&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(2) the uniqeness of the optimal solution (the solution with the smallest number of moves)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(I found (1) in the Concrete Math of Knuth, is there any other proof ?)&lt;/p&gt;&#xA;" OwnerDisplayName="TxyzG" LastEditorDisplayName="TxyzG" LastEditDate="2010-09-22T19:27:34.400" LastActivityDate="2010-09-22T21:36:55.707" Title="The simple proof of uniqueness of solution for The tower of Hanoi problem" Tags="&lt;ds.algorithms&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1588" PostTypeId="1" CreationDate="2010-09-22T19:40:08.463" Score="0" ViewCount="297" Body="&lt;p&gt;sorry for bad formatting earlier&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We are given Cx,i, Cy,i, Cz,i ∈ ℕ and Px,i, Py,i, Pz,i &gt; 0 for i=1,2,3 such that Px,1 &amp;lt; Px,2 &amp;lt; Px,3, Py,1 &amp;lt; Py,2 &amp;lt; Py,3, and Pz,1 &amp;lt; Pz,2 &amp;lt; Pz,3. We are also given K∈ℕ.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The values Cx,i and Px,i describe the content of a stack named x. From top to bottom, the stack x contains Cx,1 items each of profit Px,1, Cx,2 items each of profit Px,2, and Cx,3 items each of profit Px,3. The contents of stacks y and z are defined in the same way.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We are allowed to pop K items in total from the three stacks. How can I maximize the total profit?&lt;/p&gt;&#xA;" OwnerDisplayName="vaibhav" LastEditorUserId="567" LastEditorDisplayName="vaibhav" LastEditDate="2012-06-12T12:46:23.653" LastActivityDate="2012-06-12T12:46:23.653" Title="Variable profit knapsack" Tags="&lt;ds.algorithms&gt;&lt;dynamic-programming&gt;" AnswerCount="1" CommentCount="8" ClosedDate="2010-09-23T03:49:11.217" ContentLicense="CC BY-SA 2.5" />
  <row Id="1589" PostTypeId="2" ParentId="1346" CreationDate="2010-09-22T19:52:09.163" Score="2" Body="&lt;p&gt;What if we always take the maximal element (in the partial order) with the least weight. After we exhaust the elements, we return them in reverse order as the output. &lt;/p&gt;&#xA;" OwnerUserId="1416" LastActivityDate="2010-09-22T19:52:09.163" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="1590" PostTypeId="1" AcceptedAnswerId="1600" CreationDate="2010-09-22T19:57:56.053" Score="14" ViewCount="298" Body="&lt;p&gt;$SAC^i$ is the class of decision problems solvable by a family of $O({\log}^i{n})$ depth circuits with unbounded-fanin OR and bounded-fanin AND gates. Negations are only allowed at the input level. It is known that $SAC^i$ for $i \geq 1$ is closed under complement and $SAC^0$ is not. Also, $SAC^1 = LogCFL$ and hence has a machine characterization, since &lt;a href=&quot;http://en.wikipedia.org/wiki/LOGCFL&quot;&gt;LogCFL&lt;/a&gt; is the set of languages accepted by an $O({\log}n)$ space bounded and polynomial time bounded auxiliary PDA. Are there similar machine characterizations of $SAC^i$ for $i \geq 2$ ?&lt;/p&gt;&#xA;" OwnerUserId="344" LastEditorUserId="13408" LastEditDate="2015-10-22T03:24:30.743" LastActivityDate="2015-10-22T03:24:30.743" Title="Machine characterization of $SAC^i$" Tags="&lt;cc.complexity-theory&gt;&lt;circuit-complexity&gt;&lt;space-bounded&gt;&lt;arithmetic-circuits&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="1592" PostTypeId="2" ParentId="1587" CreationDate="2010-09-22T21:36:55.707" Score="4" Body="&lt;p&gt;Without knowing the proof you mention or being very formal, I'd go for the combined one below.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;With induction: For the case $n=1$, it is easy to see that you need at least one step to do anything and if you enumerate the possible steps you'll get that there is precisely one step that moves the tower to the right place.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the case $n=m+1$, for some $m\ge 1$, looking at the bottom stone it is clear that it can only be moved after all others are moved elsewhere first. To move the bottom stone there are two options, one of which puts it where it needs to be in the end, but in both cases it can only move if the target &quot;site&quot; is empty. This leaves only one place for all the other stones to be, and by the rules of the game they have to be in order and thus form a tower. This means the top has to be moved as a whole from one place to another. So in both cases the smallest number of moves is the smallest number of moves to move the top (of size $m$) completely, which is $2^m-1$ and unique by induction, plus $1$ for the bottom stone, giving $2^m$ so far.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now we are left with two cases. For the one where the bottom stone is already in place, we have a tower of size m elsewhere that needs to be moved on top of it. Moving the bottom stone itself either gives use a previous state or the same state as the following case and these paths can therefore not be minimal. To move the top we know, again by induction, that the smallest number of moves is $2^m-1$ and that the moves are unique. The total number of moves in this case therefore is $2^m+2^m-1=2^{(m+1)}-1=2^n-1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the other case we know that we still have to move the bottom stone to the right place and in fact we can easily see that the current case is effectively the same as the situation before the bottom stone was moved there (but after the top was moved). The last move being superfluous means this path cannot lead to a minimal number of moves. This leaves the previous case as the only suitable case.&lt;/p&gt;&#xA;" OwnerUserId="1187" LastActivityDate="2010-09-22T21:36:55.707" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1593" PostTypeId="1" CreationDate="2010-09-23T00:12:04.900" Score="35" ViewCount="1621" Body="&lt;p&gt;This question was asked to Jeannette Wing after her &lt;a href=&quot;http://cacm.acm.org/blogs/blog-cacm/98818-talking-with-pcast/fulltext&quot;&gt;PCAST presentation&lt;/a&gt; on computer science.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;“From a physics perspective, is there a maximum volume of information we can have?” (a nice challenge question for the theoretical computer science community since I think it begs the question “What is information?”) &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Beyond &quot;What is information?&quot; one should also figure out what &quot;volume&quot; means in this context? Perhaps maximum density of information is a better measure.&lt;/p&gt;&#xA;" OwnerUserId="550" LastEditorUserId="186" LastEditDate="2010-11-07T23:05:04.373" LastActivityDate="2017-06-08T07:31:06.910" Title="What is the Volume of Information?" Tags="&lt;it.information-theory&gt;&lt;physics&gt;" AnswerCount="3" CommentCount="6" FavoriteCount="9" ContentLicense="CC BY-SA 2.5" />
  <row Id="1594" PostTypeId="2" ParentId="1588" CreationDate="2010-09-23T01:11:14.470" Score="2" Body="&lt;p&gt;This is not an answer, but the description of a problem which I think the asker wants to ask.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To vaibhav: While I believe that this is at least close to what you want to ask, please edit the question so that it is clearly understandable.  Otherwise, we can only make a guess about what is being asked.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We are given &lt;i&gt;C&lt;/i&gt;&lt;sub&gt;x,&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt;, &lt;i&gt;C&lt;/i&gt;&lt;sub&gt;y,&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt;, &lt;i&gt;C&lt;/i&gt;&lt;sub&gt;z,&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt; ∈ ℕ and &lt;i&gt;P&lt;/i&gt;&lt;sub&gt;x,&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt;, &lt;i&gt;P&lt;/i&gt;&lt;sub&gt;y,&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt;, &lt;i&gt;P&lt;/i&gt;&lt;sub&gt;z,&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt; &amp;gt; 0 for &lt;i&gt;i&lt;/i&gt;=1,2,3 such that &lt;i&gt;P&lt;/i&gt;&lt;sub&gt;x,1&lt;/sub&gt; &amp;lt; &lt;i&gt;P&lt;/i&gt;&lt;sub&gt;x,2&lt;/sub&gt; &amp;lt; &lt;i&gt;P&lt;/i&gt;&lt;sub&gt;x,3&lt;/sub&gt;, &lt;i&gt;P&lt;/i&gt;&lt;sub&gt;y,1&lt;/sub&gt; &amp;lt; &lt;i&gt;P&lt;/i&gt;&lt;sub&gt;y,2&lt;/sub&gt; &amp;lt; &lt;i&gt;P&lt;/i&gt;&lt;sub&gt;y,3&lt;/sub&gt;, and &lt;i&gt;P&lt;/i&gt;&lt;sub&gt;z,1&lt;/sub&gt; &amp;lt; &lt;i&gt;P&lt;/i&gt;&lt;sub&gt;z,2&lt;/sub&gt; &amp;lt; &lt;i&gt;P&lt;/i&gt;&lt;sub&gt;z,3&lt;/sub&gt;.  We are also given &lt;i&gt;K&lt;/i&gt;∈ℕ.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The values &lt;i&gt;C&lt;/i&gt;&lt;sub&gt;x,&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt; and &lt;i&gt;P&lt;/i&gt;&lt;sub&gt;x,&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt; describe the content of a stack named x.  From top to bottom, the stack x contains &lt;i&gt;C&lt;/i&gt;&lt;sub&gt;x,1&lt;/sub&gt; items each of profit &lt;i&gt;P&lt;/i&gt;&lt;sub&gt;x,1&lt;/sub&gt;, &lt;i&gt;C&lt;/i&gt;&lt;sub&gt;x,2&lt;/sub&gt; items each of profit &lt;i&gt;P&lt;/i&gt;&lt;sub&gt;x,2&lt;/sub&gt;, and &lt;i&gt;C&lt;/i&gt;&lt;sub&gt;x,3&lt;/sub&gt; items each of profit &lt;i&gt;P&lt;/i&gt;&lt;sub&gt;x,3&lt;/sub&gt;.  The contents of stacks y and z are defined in the same way.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We are allowed to retrieve &lt;i&gt;K&lt;/i&gt; items in total from the three stacks.  How can we find efficiently the way to maximize the total profit?&lt;/p&gt;&#xA;" OwnerUserId="567" LastEditorUserId="567" LastEditDate="2010-09-23T01:24:40.153" LastActivityDate="2010-09-23T01:24:40.153" CommentCount="12" ContentLicense="CC BY-SA 2.5" />
  <row Id="1595" PostTypeId="2" ParentId="1593" CreationDate="2010-09-23T01:59:40.423" Score="22" Body="&lt;p&gt;That comment in her article doesn't give a lot of context about what kind of answer she might be expecting. But certainly this is by now a well-known and venerable question about which much is already known. The Wikipedia page on &lt;a href=&quot;http://en.wikipedia.org/wiki/Holographic_principle&quot;&gt;the holographic principle&lt;/a&gt; has a good overview. The most counterintuitive thing about the holographic principle is that it says the information capacity of a region should be proportional to its surface area; if you think of information capacity in terms of how many tiny two-state devices you can pack in there, you'd expect the interior volume to be the limiting factor. That intuition holds true up to a certain point, but eventually the concentration of mass-energy, putting aside quantum miniaturization issues, becomes so great that a black hole forms. Roughly speaking, by a bit of dimensional analysis and the fact that gravity is an inverse-square law, it's radius squared (proportional to surface area) that's the relevant quantity here.&lt;/p&gt;&#xA;" OwnerUserId="1435" LastEditorUserId="1435" LastEditDate="2010-09-23T02:13:53.987" LastActivityDate="2010-09-23T02:13:53.987" CommentCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="1596" PostTypeId="2" ParentId="189" CreationDate="2010-09-23T03:10:01.650" Score="55" Body="&lt;p&gt;Polynomial identity testing with the &lt;a href=&quot;http://en.wikipedia.org/wiki/Schwartz%E2%80%93Zippel_lemma&quot;&gt;Schwartz-Zippel lemma&lt;/a&gt;:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If someone woke you up in the middle of the night and asked you to test two univariate polynomial expressions for identity, you'd probably reduce them to sum-of-products normal form and compare for structural identity. Unfortunately, the reduction can take exponential time; it's analogous to reducing Boolean expressions to disjunctive normal form.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assuming you are the sort who likes randomized algorithms, your next attempt would probably be to evaluate the polynomials at randomly chosen points in search of counterexamples, declaring the polynomials very likely to be identical if they pass enough tests. The Schwartz-Zippel lemma shows that as the number of points grows, the chance of a false positive diminishes very rapidly.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;No deterministic algorithm for the problem is known that runs in polynomial time. &lt;/p&gt;&#xA;" OwnerUserId="1435" LastActivityDate="2010-09-23T03:10:01.650" CommentCount="3" CommunityOwnedDate="2010-09-23T03:10:01.650" ContentLicense="CC BY-SA 2.5" />
  <row Id="1597" PostTypeId="1" AcceptedAnswerId="1599" CreationDate="2010-09-23T03:29:15.050" Score="4" ViewCount="460" Body="&lt;p&gt;Given a list of (small) primes $ (p_0, p_1, \dots, p_{n-1})$, is there an (efficient) algorithm to enumerate, in order, all numbers that can be expressed as $ \prod_{k=0}^{n-1} p_k^{e_k} $, where $e_k \in \mathbb{Z}, e_k \ge 0 $?  What about in a certain interval, potentially at an exponential starting point?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, if we had the set $(2,3,5)$, the first few numbers would be $(2, 3, 2^2, 5, 2 \cdot 3, 2^3, 3^2, 2 \cdot 5, \dots )$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there an algorithm to efficiently enumerate all the numbers &lt;em&gt;not&lt;/em&gt; expressible as a product of powers of primes from the set?  How about in an interval?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note:  I just saw the Polymath paper on deterministic prime finding in an interval ( &lt;a href=&quot;http://arxiv.org/abs/1009.3956&quot; rel=&quot;nofollow&quot;&gt;Deterministic methods to find primes&lt;/a&gt; ) and thats what inspired this question.  I don't know if it's important that the set be a list of primes, but I'll keep it in there just in case.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT: I was unclear by what I meant by 'efficient' .  Let me try making it more precise:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a list of $n$ primes $(p_0, p_1, \dots p_{n-1})$ and a bound, $B$, is it possible to find in polynomial time with respect to $lg(B)$ and $n$, the next integer, $x$, such that $x &gt; B$ and is expressible as a product of powers of primes from the list?&lt;/p&gt;&#xA;" OwnerUserId="834" LastEditorUserId="834" LastEditDate="2010-09-23T16:11:28.770" LastActivityDate="2010-10-15T15:21:38.037" Title="Enumeration given a product of primes" Tags="&lt;ds.algorithms&gt;&lt;co.combinatorics&gt;" AnswerCount="3" CommentCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="1598" PostTypeId="2" ParentId="1586" CreationDate="2010-09-23T03:37:11.317" Score="19" Body="&lt;p&gt;I'll interpret the question somewhat liberally. For Okasaki-style data structures, memoization is a form of implicit mutation that has a side effect on running time. Thus I'll take the question to concern persistent data structures in the strict sense rather than data structures with a purely functional implementation, which are a subset of the former. By strict I mean that you should able to access older versions of a data structure without penalty, the tree of versions can branch arbitrarily, etc.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In that context, I consider persistent UNION-FIND an important open problem. There's the Conchon-Filliâtre paper that was mentioned in the other thread. A commenter already brought up an issue with their so-called persistent array: it's really only semi-persistent. But suppose you replace it with a hash trie or some other truly persistent array that behaves better in the worst (and arguably average) case but worse in the best case. That still leaves an important issue open:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The paper gives a formal proof of correctness in Coq. But they fail to address the amortized complexity either formally or informally. It's very much &lt;em&gt;not&lt;/em&gt; clear to me that the complicated behind-the-scenes mutation results in the expected amortized complexity in all cases. When I last thought about it, I felt somewhat confident I could construct a counterexample if I put effort into it. Even if I'm wrong about that last part, the lack of a proper analysis is a major gap; it's clear that Trajan's classical amortization analysis of UNION-FIND doesn't directly transfer.&lt;/p&gt;&#xA;" OwnerUserId="1435" LastEditorUserId="1435" LastEditDate="2010-09-23T03:49:59.187" LastActivityDate="2010-09-23T03:49:59.187" CommentCount="2" CommunityOwnedDate="2010-09-23T03:37:11.317" ContentLicense="CC BY-SA 2.5" />
  <row Id="1599" PostTypeId="2" ParentId="1597" CreationDate="2010-09-23T04:52:52.067" Score="6" Body="&lt;p&gt;You can generalize the standard algorithm for enumerating Hamming numbers in increasing order by merging with a min-heap. The Hamming numbers are the numbers expressible with primes 2, 3 and 5.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you can enumerate the expressible numbers in order, the non-expressible numbers are easily found in the successive gaps. To solve the problem for an interval [i, j], find the greatest expressible number less than i and the least expressible number greater than j, and use that to initialize and terminate the algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit: I forgot to mention how you might efficiently find the bounds for the interval problem. Modified bisection should work. You have an exponent sequence as your current guess. For each individual exponent split the difference as in bisection, yielding n variants, and then find the numerically smallest of the variants (or the largest, depending on whether you're searching for lower or upper bounds), and use that as your next guess.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;I don't know if it's important that the set be a list of primes, but I'll keep it in there just in case.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;No, it doesn't matter. If you use the algorithm I suggested, the effect of allowing composites is that you generate duplicates when unique factorization fails; this happens when two or more numbers in the generating set aren't relatively prime. For generators 2 and 4, the sequence goes&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;1 = 2^0 4^0, 2 = 2^1 4^0, 4 = 2^2 4^0, 4 = 2^0 4^1, ...&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Any duplicates will occur in contiguous runs, so they are easily filtered out without keeping a black list. You could also kill them upon insertion in the min-heap.&lt;/p&gt;&#xA;" OwnerUserId="1435" LastEditorUserId="1435" LastEditDate="2010-09-23T10:19:51.903" LastActivityDate="2010-09-23T10:19:51.903" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="1600" PostTypeId="2" ParentId="1590" CreationDate="2010-09-23T06:58:39.207" Score="14" Body="&lt;p&gt;Yes. Stack heights.  $\mathsf{SAC^1} = \mathsf{NAuxPDA}(\log n, \log n)$, that is, with $O(\log n)$ space and $O(\log n)$ stack height; this implies $\log n$ configurations and therefore $\log^2(n)$ bits.  We have &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\mathsf{SAC^k} = \mathsf{NAuxPDA}(\log n, \log^k n);$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;these machines will run in time $2^{\log^{k}(n)}$.  Without restriction on stack height, we will get exactly $\mathsf{P}$.  The result should follow from: &lt;a href=&quot;http://linkinghub.elsevier.com/retrieve/pii/0022000080900367&quot;&gt;W. Ruzzo, Tree-size bounded alternation. JCSS 1980.&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="1449" LastEditorUserId="1800" LastEditDate="2014-01-17T21:22:00.030" LastActivityDate="2014-01-17T21:22:00.030" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="1601" PostTypeId="1" CreationDate="2010-09-23T08:28:26.330" Score="9" ViewCount="245" Body="&lt;p&gt;IP(2pfa) and AM(2pfa) are the classes of languages recognized with bounded error by private and public coin versions, respectively, of interactive proof systems with verifiers that are probabilistic finite automata with a two-way input head.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are any closure properties of these classes known?&lt;/p&gt;&#xA;" OwnerUserId="1454" LastEditorUserId="186" LastEditDate="2010-10-28T10:21:14.900" LastActivityDate="2010-10-28T10:21:14.900" Title="closure properties of IP(2pfa) and AM(2pfa)" Tags="&lt;cc.complexity-theory&gt;&lt;interactive-proofs&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="1602" PostTypeId="2" ParentId="1601" CreationDate="2010-09-23T09:49:27.163" Score="2" Body="&lt;p&gt;You can take a look at the following paper:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Dwork, C. and Stockmeyer, L. 1992. Finite state verifiers I: the power of interaction. J. ACM 39, 4 (Oct. 1992), 800-828. DOI= &lt;a href=&quot;http://doi.acm.org/10.1145/146585.146599&quot; rel=&quot;nofollow&quot;&gt;http://doi.acm.org/10.1145/146585.146599&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;or the related paper:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Dwork, C. and Stockmeyer, L. 1992. Finite state verifiers II: zero knowledge. J. ACM 39, 4 (Oct. 1992), 829-858. DOI= &lt;a href=&quot;http://doi.acm.org/10.1145/146585.146601&quot; rel=&quot;nofollow&quot;&gt;http://doi.acm.org/10.1145/146585.146601&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="873" LastActivityDate="2010-09-23T09:49:27.163" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="1603" PostTypeId="2" ParentId="1597" CreationDate="2010-09-23T10:14:38.160" Score="2" Body="&lt;p&gt;I don't know what you mean by &quot;efficient,&quot; though if you mean a polynomial-time algorithm, there's a trivial one:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Enumerate all numbers in the given interval, and for each enumerated number, decide whether it is a multiplication of the powers of the (prime) numbers in the list. (Note that this does not require decomposition of a number; rather it can be carried out using Euclidean algorithm).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Example: Let the list be $(2,3,5)$ as you said, and consider the interval $[7,10]$. Enumerate the numbers in the interval: $\{7, 8, 9, 10\}$. For each number in the list, decide whether it is a multiplication of the powers of the (prime) numbers in the list: 7 is not a power of any prime in the list, 8 is $2^3$, 9 is $3^2$, and 10 is $2 \cdot 5$.&lt;/p&gt;&#xA;" OwnerUserId="1379" LastActivityDate="2010-09-23T10:14:38.160" CommentCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="1604" PostTypeId="2" ParentId="392" CreationDate="2010-09-23T10:24:05.733" Score="6" Body="&lt;p&gt;There was a very interesting paper &quot;On the advantage of network coding for improving network throughput&quot; which showed that the integrality gap of the &quot;bidirected cut relaxation&quot; for the Steiner tree problem exactly equals a type of &quot;coding advantage&quot; in network communication. I don't know of a lot of other similar papers. However, one should also note that seemingly better LP relaxations for the Steiner tree problem are known (e.g. see the new hypergraphic LP-based approximation algorithm of Byrka et al in STOC 2010, I also shamelessly volunteer that I coauthored some recent papers studying the hypergraphic LP).&lt;/p&gt;&#xA;" OwnerUserId="771" LastActivityDate="2010-09-23T10:24:05.733" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1605" PostTypeId="1" AcceptedAnswerId="1608" CreationDate="2010-09-23T11:44:13.927" Score="13" ViewCount="806" Body="&lt;p&gt;Two binary search trees are said to be linearly equivalent when they agree in their in-order traversals. The following theorem explains why tree rotations are so fundamental:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let A and B be binary search trees. Then A and B are linearly equivalent if and only if they are connected by a sequence of tree rotations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I noticed this result when I was first learning about data structures long ago and wanted to understand the special status of tree rotations more deeply.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The proof is simple and intuitive: Rotate the least element up to the root position along the leftward spine. By the order invariant, this rearranged tree cannot have a left subtree. Now recurse on the right subtree. The result is a normal form for testing linear equivalence.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;While it's a basic theorem, I've never come across it in the literature. I would greatly appreciate a reference for the next time I need to use this result.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Bonus brain teaser: What's the best algorithm for finding the shortest sequence of tree rotations that connect two linearly equivalent binary search trees?)&lt;/p&gt;&#xA;" OwnerUserId="1435" LastEditorUserId="1677" LastEditDate="2010-10-28T11:16:41.607" LastActivityDate="2013-06-21T13:06:29.487" Title="Reference for fundamental theorem on tree rotations" Tags="&lt;reference-request&gt;&lt;ds.data-structures&gt;" AnswerCount="4" CommentCount="1" FavoriteCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1606" PostTypeId="2" ParentId="1593" CreationDate="2010-09-23T11:49:07.063" Score="24" Body="&lt;p&gt;Lance, there is in fact a theorem which gives bounds on this. The &lt;a href=&quot;http://en.wikipedia.org/wiki/Margolus%E2%80%93Levitin_theorem&quot;&gt;Margolus-Levitin theorem&lt;/a&gt; bounds the rate of computation in terms of energy density. There is a nice trick which can then be played: If the local energy density exceeds a certain limit, a black hole will form causing an event horizon which will essentially prevent you from getting an answer by causally disconnecting that region of space-time from the rest of the universe. Seth Lloyd has a nice paper using this trick to estimate the computational power of the universe (&lt;a href=&quot;http://prl.aps.org/abstract/PRL/v88/i23/e237901&quot;&gt;Phys. Rev. Lett. 88, 237901 (2002)&lt;/a&gt;, &lt;a href=&quot;http://arxiv.org/abs/quant-ph/0110141&quot;&gt;arXiv&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can of course use similar reasoning on any finite region of space-time.&lt;/p&gt;&#xA;" OwnerUserId="204" LastEditorUserId="186" LastEditDate="2011-08-11T06:48:08.467" LastActivityDate="2011-08-11T06:48:08.467" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="1607" PostTypeId="2" ParentId="1605" CreationDate="2010-09-23T13:52:15.993" Score="11" Body="&lt;p&gt;An early paper that made this observation explicitly -- that rotations preserve inorder traversals -- is (in Figure 2 of) Sleator and Tarjan's 1983 &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=808752&amp;amp;dl=&quot; rel=&quot;nofollow&quot;&gt;Self-adjusting binary search trees&lt;/a&gt;.  The move-to-root heuristic was studied in Allen and Munro's 1978 &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=322094&amp;amp;dl=&amp;amp;coll=GUIDE&quot; rel=&quot;nofollow&quot;&gt;Self-Organizing Binary Search Trees&lt;/a&gt; paper.&lt;/p&gt;&#xA;" OwnerUserId="123" LastActivityDate="2010-09-23T13:52:15.993" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="1608" PostTypeId="2" ParentId="1605" CreationDate="2010-09-23T14:25:55.247" Score="10" Body="&lt;p&gt;As David Eppstein &lt;a href=&quot;https://cstheory.stackexchange.com/questions/79/problems-between-p-and-npc/97#97&quot;&gt;points out here&lt;/a&gt;, even finding the shortest path for binary trees is not known to be in P. In the comments to that answer he links to the best current bounds&lt;/p&gt;&#xA;" OwnerUserId="80" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2010-09-23T16:53:35.847" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="1610" PostTypeId="1" AcceptedAnswerId="1614" CreationDate="2010-09-23T18:14:23.593" Score="3" ViewCount="366" Body="&lt;p&gt;The problem is as follows:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Given a graph $G$, find a (vertex)&#xA;  disjoint set of cycles $C$ on $G$ such&#xA;  that every vertex is visited by a&#xA;  cycle exactly once.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;My question is then: what is the complexity of this problem? Is it NP-hard, in P or something else?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we modify the problem to require $|C| = 1$, we end up with the standard Hamiltonian Cycle problem. It's easy to see that for any $k$, if we require $|C| = k$ or $|C| \leq k$, then the problem is NP-hard: given an instance for the Hamiltonian Cycle problem, we simply copy this graph $k$ times.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An equivalent definition of the problem is as follows:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Given a graph $G$, have every vertex&#xA;  $v$ 'choose' some other vertex $u$&#xA;  such that $(u,v) \in E$, and that&#xA;  every vertex is chosen exactly once.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;If you prove the above problem NP-hard, then for any $k$, if we modify the problem so that every vertex chooses $k$ vertices and every vertex is chosen exactly $k$ times, then the resulting problem is NP-hard as well: you can reduce the problem for any $k$ to the Hamiltonian Subcycle problem by 'eating up' the number of choices each vertex has by attaching certain gadgets to them.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I came across this problem when I believed a certain problem was in fact equivalent to the above problem. That later turned out to be wrong, but the problem interested me nonetheless.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I've developed an algorithm that sometimes finds the correct answer, but often doesn't end at all. It's based on using Lagrangian relaxation on the TSP variant of the above problem, which is simply TSP where more than one cycle is allowed (as long as the cycles are disjoint). I doubt it's possible to fix the algorithm so it works all the time, so I haven't included it in this question, though I could always do that if needed.&lt;/p&gt;&#xA;" OwnerUserId="988" LastActivityDate="2010-09-23T21:25:45.640" Title="Complexity of the Hamiltonian Subcycle problem" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;&lt;hamiltonian-paths&gt;" AnswerCount="2" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="1611" PostTypeId="1" CreationDate="2010-09-23T19:27:34.360" Score="11" ViewCount="709" Body="&lt;p&gt;For a given graph $G$, the Separator Problem asks whether a vertex or edge set of small cardinality (or weight) exists whose removal partitions $G$ into two disjoint graphs of approximately equal sizes. This is called the Vertex Separator Problem when the removed set is a vertex set, and the Edge Separator Problem when it is an edge set. Both problems are NP-complete for general unweighted graphs. What is the best known hardness of approximating vertex separator ? Is a PTAS ruled out ? What are the best known hardness results in the directed setting ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Correction&lt;/strong&gt; : The following links and answers did not help me because I did not state my question correctly. My question is related to the following theorem of Leighton-Rao :&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Theorem&lt;/em&gt; : There exists a polynomial time algorithm that, given a graph $G(V,E)$ and a set $W \subseteq V$, finds a $\frac{2}{3}$ vertex separator $S \subseteq V$ of $W$ in $G$ of size $O(w.{\log}n)$, where $w$ is the minimum size of a $\frac{1}{2}$-vertex separator of $W$ in $G$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a graph $G(V,E)$ and a set $W \subseteq V$, I want to find a $\delta$-vertex separator (where $\frac{1}{2} \leq \delta \leq 1$ is a constant) of size $w$, where $w$ is the minimum size of a $\frac{1}{2}$-vertex separator of $W$ in $G$. What is the best known hardness of this problem ? The above theorem gives an $O({\log}n)$ approximation for this problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that I am allowing constant factor blow-up in the size of the resulting components after removing the separator, but I want to minimize the size of the separator itself. The links mentioned in the comments point to &lt;a href=&quot;http://www.csc.kth.se/~viggo/wwwcompendium/node96.html&quot; rel=&quot;noreferrer&quot;&gt;minimum b-vertex separator&lt;/a&gt;, in which we insist that the size of the resulting components is at most $|V|/2$.&lt;/p&gt;&#xA;" OwnerUserId="344" LastEditorUserId="186" LastEditDate="2010-11-29T06:42:28.953" LastActivityDate="2011-12-03T03:03:21.073" Title="Hardness of Vertex Separators" Tags="&lt;cc.complexity-theory&gt;&lt;approximation-hardness&gt;" AnswerCount="2" CommentCount="3" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="1612" PostTypeId="1" AcceptedAnswerId="1626" CreationDate="2010-09-23T19:34:25.880" Score="28" ViewCount="5506" Body="&lt;p&gt;I have recently been reading up on some of the ideas and history of the ground-breaking work done by various logicians and mathematicians regarding computability. While the individual concepts are fairly clear to me, I'm am trying to get a firm grasp of there inter-relations and the abstract level at which they are all linked.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We know that Church's theorem (or rather, the independent proofs of Hilbert's &lt;a href=&quot;http://en.wikipedia.org/wiki/Entscheidungsproblem&quot;&gt;Entscheidungsproblem&lt;/a&gt; by Alonzo Church and Alan Turing) proved that in general we cannot calculate whether a given mathematical statement in a formal system is true or false. As I understand, the Church-Turing thesis provides a pretty clear description of the equivalence (isomorphism) between Church's lambda calculus and Turing machines, hence we effectively have a unified model for computability. (Note: As far as I know, Turing's proof makes use of the fact that the halting problem is undecidable. Correct me if I'm wrong.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, Gödel's first incompleteness theorem states that not all statements in a consistent formal system with sufficient arithmetic power may be proven or disproven (decided) within this system. In many ways, this appears to me to be saying exactly the same thing to me as Church's theorems, considering lambda calculus and Turning machines are both effectively formal systems of sorts!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is however my holistic interpretation, and I was hoping someone could shed some light on the details. Are these two theorems effectively equivalent? Are there any subtleties to be observed? If these theories are essentially looking at the same universal truth in different ways, why were they approached from such different angles? (There were more or less 6 years between Godel's proof and Church's). Finally, can we essential say that the concept of &lt;em&gt;provability&lt;/em&gt; in a formal system (proof calculus) is identical to the concept of &lt;em&gt;computability&lt;/em&gt; in recursion theory (Turing machines/lambda calculus)?&lt;/p&gt;&#xA;" OwnerUserId="404" LastEditorUserId="186" LastEditDate="2010-11-05T05:43:55.393" LastActivityDate="2011-01-13T02:26:04.227" Title="Church's Theorem and Gödel's Incompleteness Theorems" Tags="&lt;lo.logic&gt;&lt;computability&gt;&lt;turing-machines&gt;" AnswerCount="4" CommentCount="10" FavoriteCount="17" ContentLicense="CC BY-SA 2.5" />
  <row Id="1613" PostTypeId="2" ParentId="1611" CreationDate="2010-09-23T19:41:50.560" Score="9" Body="&lt;p&gt;In the edge setting, the problem you're referring to is the bisection problem, and the size of such a minimum edge is called the bisection width. There's a ton of research on this problem, and the best known approximation for the problem is $O(\log n)$ &lt;a href=&quot;http://doi.acm.org/10.1145/1374376.1374415&quot;&gt;by Racke&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A good review of the known work on this problem (which connects to sparsest cut, spreading metrics, and even the unique games conjecture) is in &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=1496872&quot;&gt;this recent paper on generalizations of bisection width&lt;/a&gt; by Krauthgamer, Naor and Schwartz.&lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2010-09-23T19:41:50.560" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1614" PostTypeId="2" ParentId="1610" CreationDate="2010-09-23T20:06:18.087" Score="6" Body="&lt;p&gt;Some standard terminology:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;A set of cycles that spans all nodes is called a &lt;strong&gt;cycle cover&lt;/strong&gt; (or &quot;&lt;a href=&quot;http://en.wikipedia.org/wiki/Vertex_cycle_cover&quot; rel=&quot;nofollow&quot;&gt;vertex-disjoint cycle cover&lt;/a&gt;&quot;).&lt;/li&gt;&#xA;&lt;li&gt;Cycle covers and perfect matchings are special cases of &lt;strong&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Graph_factorization&quot; rel=&quot;nofollow&quot;&gt;graph factors&lt;/a&gt;&lt;/strong&gt;: cycle covers are 2-factors (spanning 2-regular subgraphs) and perfect matchings are 1-factors (spanning 1-regular subgraphs).&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Polynomial-time algorithms:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;As Tsuyoshi pointed out, finding a cycle cover in a given graph can be reduced to the problem of finding a perfect matching in a bipartite graph.&lt;/li&gt;&#xA;&lt;li&gt;More generally, &lt;a href=&quot;http://www.ams.org/mathscinet-getitem?mr=63008&quot; rel=&quot;nofollow&quot;&gt;Tutte (1954)&lt;/a&gt; shows the following: for any graph $G$ and any integer $f$ it is possible to construct a graph $G'$ such that $G'$ has a 1-factor (perfect matching) if and only if $G$ has an $f$-factor.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;As is well known, there are polynomial-time algorithms for perfect matchings.&lt;/p&gt;&#xA;" OwnerUserId="74" LastEditorUserId="74" LastEditDate="2010-09-23T20:11:48.543" LastActivityDate="2010-09-23T20:11:48.543" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="1615" PostTypeId="2" ParentId="1612" CreationDate="2010-09-23T20:24:02.233" Score="17" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;can we essential say that the concept&#xA;  of provability in a formal system&#xA;  (proof calculus) is identical to the&#xA;  concept of computability in recursion&#xA;  theory (Turing machines/lambda&#xA;  calculus)?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;These are very similar but not identical, because some of the steps in the proof calculus may represent non-computable operations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, you could have a proof assistant verify a $ZFC$ proof that the powerset of the naturals $\wp(N)$ exists, and this will be a short proof with two steps (Axiom of Infinity followed by Axiom of Powerset), but neither of these steps are themselves computable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Similarly, G&amp;ouml;del's Completeness Theorem tells us that any valid formula in first order logic has a proof, but Trakhtenbrot's Theorem tells us that, over finite models, the validity of first order formulae is undecideable.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;So finite proofs don't necessarily correspond to computable operations. &lt;/p&gt;&#xA;" OwnerUserId="629" LastActivityDate="2010-09-23T20:24:02.233" CommentCount="13" ContentLicense="CC BY-SA 2.5" />
  <row Id="1616" PostTypeId="2" ParentId="1610" CreationDate="2010-09-23T21:25:45.640" Score="0" Body="&lt;p&gt;You might find the methods that Joe Mitchell (CS-Stony Brook) has developed for treating a wide variety of geometrical problems that generalize the TSP to be of interest. Some of these papers can be obtained at the link below:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.ams.stonybrook.edu/~jsbm/publications.html&quot; rel=&quot;nofollow&quot;&gt;http://www.ams.stonybrook.edu/~jsbm/publications.html&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="987" LastActivityDate="2010-09-23T21:25:45.640" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1617" PostTypeId="1" CreationDate="2010-09-23T21:30:06.010" Score="16" ViewCount="389" Body="&lt;p&gt;One gap that I was always aware that I don't really understand is between non uniform and uniform computational complexity where the circuit complexity represents the non uniform version and Turing machines is were things are uniform. I suppose &quot;uniform&quot; is a way to restrain the class of algorithms, e.g. not allowing an entirely different circuit for a problem with n variables compared to a problem of n+1 variables. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;My questions are: 1) It there a description of uniformity just in terms of circuits, and 2) Is it possible to come with an even stronger form of uniformity and thus to give even more restricted notion of what effective (or restrained) algorithms in P are? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Late clarification: my intention in question 2 is about a restricted class of algorithms that &quot;practically&quot; has the same power as the class of polynomial algorithms.&lt;/p&gt;&#xA;" OwnerUserId="712" LastEditorUserId="712" LastEditDate="2010-09-24T01:49:51.600" LastActivityDate="2010-11-02T03:06:24.177" Title="Stronger notions of uniformizations?" Tags="&lt;cc.complexity-theory&gt;&lt;circuit-complexity&gt;" AnswerCount="5" CommentCount="3" FavoriteCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="1618" PostTypeId="1" AcceptedAnswerId="1671" CreationDate="2010-09-23T21:32:52.690" Score="10" ViewCount="257" Body="&lt;p&gt;Invulnerable generators are defined as follows:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $R$ be an NP relation, and $M$ be a machine which accepts $L(R)$. Informally, a program is an &lt;em&gt;invulnerable generator&lt;/em&gt; if, on input $1^n$, it produces instance-witness pairs $(x, w) \in R$, with $|x| = n$, according to a distribution under which any polynomial-time adversary who is given $x$ fails to find a witness that $x \in S$, with noticeable probability, for infinitely many lengths $n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Invulnerable generators, first defined by &lt;a href=&quot;http://www.springerlink.com/content/trt9vatu0u298jry/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Abadi &lt;em&gt;et al.&lt;/em&gt;&lt;/a&gt;, found many applications in cryptography.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Existence of the invulnerable generators is based on the assumption that $\mathbf{P} \neq \mathbf{NP}$, yet this is possibly not sufficient (see also the &lt;a href=&quot;https://cstheory.stackexchange.com/q/1026/873&quot;&gt;related topic&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Theorem 3 of Abadi &lt;em&gt;et al.&lt;/em&gt; paper, cited above, shows that any proof of the existence of invulnerable generators does not relativize:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Theorem 3.&lt;/strong&gt; There is an oracle $B$ such that $\mathbf{P}^B \neq \mathbf{NP}^B$, and invulnerable generators do not exist relative to B.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I don't understand a part of the proof of this theorem. &#xA;Let $\sqcup$ denote the &lt;a href=&quot;http://en.wikipedia.org/wiki/Disjoint_union&quot; rel=&quot;nofollow noreferrer&quot;&gt;disjoint union&lt;/a&gt; operation.&#xA;Let $QBF$ be the PSPACE-complete language of satisfiable quantified Boolean formulas, and let $K$ be an extremely sparse &#xA;set of strings of maximum Kolmogorov complexity. Specifically, $K$ contains one string of each length $n_i$, where the sequence $n_1, n_2, \ldots$ is defined by: $n_1 = 2$, $n_i$ is &lt;strong&gt;triply exponential&lt;/strong&gt; in $n_{i-1}$, for $i &amp;gt; 1$; if $x \in K$ and $|x| = n$, then $x$ has Kolmogorov complexity $n$.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;The paper states that relative to $B = QBF \sqcup K$, it holds that $\mathbf{P} \neq \mathbf{NP}$. Can you explain? (Also, please clarify whether $B$ is recursive.)&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="873" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2010-09-26T04:32:47.097" Title="Worlds Relative to Which &quot;Invulnerable Generators&quot; Do Not Exist" Tags="&lt;cc.complexity-theory&gt;&lt;cr.crypto-security&gt;&lt;oracles&gt;&lt;relativization&gt;&lt;kolmogorov-complexity&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1619" PostTypeId="1" CreationDate="2010-09-23T21:35:57.047" Score="8" ViewCount="1110" Body="&lt;p&gt;Is it known whether SPACE(n) (the class of languages recognized by deterministic TMs with linear space) is a proper subset of E (the class of languages recognized by deterministic TMs in time 2^O(n))?&lt;/p&gt;&#xA;" OwnerDisplayName="Cem Say" LastEditorUserId="206" LastEditDate="2010-10-03T16:22:05.020" LastActivityDate="2010-10-03T16:22:05.020" Title="Relationship between SPACE(n) and E" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;" AnswerCount="3" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="1620" PostTypeId="2" ParentId="1617" CreationDate="2010-09-23T21:39:13.403" Score="6" Body="&lt;p&gt;One way to &quot;unify&quot; circuits and uniform computations is to require a complexity limited procedure that takes $n$ and outputs the advice circuit $C_n$. In the case of P, I believe that requiring a polynomialtime generator that can do the above will capture P correctly. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2010-09-23T21:39:13.403" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="1621" PostTypeId="2" ParentId="1617" CreationDate="2010-09-23T21:41:55.323" Score="8" Body="&lt;p&gt;I think the answer to you first question is negative: A circuit has a fixed number of inputs, and thus, IMO, we can only talk about &quot;families&quot; of circuits, rather than just one uniform circuit.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Regarding your second question, you may note that there are &quot;uniform families of circuits,&quot; whose description is generated by a Turing machine. That is, let $\{C_n\}$ be a uniform family of circuit, and let $M$ be a Turing machine. Then, for each $n$, $[C_n] = M(1^n)$, where $[C_n]$ denotes the description of $C_n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are several complexity classes below P, defined by uniform families of circuits. For example:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\mathbf{NC}^i$ is the class of decision problems decidable by &lt;strong&gt;uniform&lt;/strong&gt; boolean circuits with a polynomial number of gates and depth $O(\log^i n)$.&lt;/p&gt;&#xA;" OwnerUserId="873" LastActivityDate="2010-09-23T21:41:55.323" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1622" PostTypeId="1" AcceptedAnswerId="2907" CreationDate="2010-09-23T21:54:12.930" Score="3" ViewCount="1405" Body="&lt;p&gt;Say you have a set of numbers {1,2,3,4,5,6,7,8,9,10} of which you have all different permutations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You place each permutation into a BST and then compare all the shapes of the BSTs.  How many different (unique) shapes are there for trees of height 6 for example?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The question does not need to be answered directly, instead maybe an algorithm to help determine the shape instead and compare.&lt;/p&gt;&#xA;" OwnerUserId="918" LastActivityDate="2010-11-12T10:05:36.687" Title="Unique Shapes of Binary Search Trees" Tags="&lt;ds.algorithms&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="1623" PostTypeId="2" ParentId="1619" CreationDate="2010-09-23T21:59:40.977" Score="1" Body="&lt;h3&gt;Note Before Reading&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;The following proof is flawed, as pointed out in a comment below by Robin Kothari. I'm thankful to him for clarifying the point. However, I didn't remove this answer since I think it is instructive to be aware of such flaw.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;I think the &quot;proper&quot; part can be proved using time and space hierarchy theorems. (See sections 7.2 &amp;amp; 7.3 of the &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0201530821&quot; rel=&quot;nofollow&quot;&gt;Papadimitriou's Computational Complexity&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For a time- and space-constructible function $f(n) \ge n$ we have:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$DSPACE(f(n)) \subseteq NSPACE(f(n))$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\exists k \quad NSPACE(f(n)) \subseteq DTIME(k^{\log n + f(n)})$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$DTIME(f(n)) \subset DTIME(f(n)\log^2 f(n))$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;($\subset$ denotes &lt;strong&gt;proper&lt;/strong&gt; subset.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hence, for the linear function $f(n)=n$, there exists a $k$ such that:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$DSPACE(n) \subseteq DTIME(k^{\log n + n}) &#xA;\subseteq DTIME(k^{2n})&#xA;\subset DTIME((k^{2n})(\log^2 (k^{2n})))$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The right-hand side is a proper subset of E.&lt;/p&gt;&#xA;" OwnerUserId="873" LastEditorUserId="873" LastEditDate="2010-09-24T05:30:25.493" LastActivityDate="2010-09-24T05:30:25.493" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="1624" PostTypeId="2" ParentId="1619" CreationDate="2010-09-23T22:10:37.037" Score="16" Body="&lt;p&gt;If in fact DSPACE(n) = E, then a padding argument would translate this to PSPACE=EXP.&#xA;Similarly, if DSPACE(n) $\neq$ E then a padding argument would translate this to L $\neq$ P.&lt;/p&gt;&#xA;" OwnerUserId="313" LastEditorUserId="313" LastEditDate="2010-09-23T22:46:30.453" LastActivityDate="2010-09-23T22:46:30.453" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="1625" PostTypeId="2" ParentId="1617" CreationDate="2010-09-23T22:22:48.217" Score="7" Body="&lt;p&gt;Adding to Sadeq's answer above, as one looks at circuit classes contained in P, one might also want to look at more and more restrictive notions of uniformity.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The simplest and most well-known notion is P-uniformity, which is the requirement that there is a (deterministic) Turing Machine M that produces circuit $C_n$ in time poly(n) (Suresh talks of this also). The more restrictive versions of uniformity try to limit the power of M further. For example, there is also Logspace-uniformity, where M is now required to run in space O(log(n)). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The most restrictive notion that I know of is DLOGTIME-uniformity, which is used for small circuit classes. Here, the (now random-access) machine M only has time O(log n) and hence cannot possibly write down the description of the entire circuit. The condition imposed is that given i and n, M can write down the ith bit of the description of the circuit in time O(log n).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For more, see the following paper: David A. Mix Barrington, Neil Immerman, Howard Straubing: On Uniformity within NC¹. J. Comput. Syst. Sci. 41(3): 274-306 (1990).&lt;/p&gt;&#xA;" OwnerUserId="17464" LastActivityDate="2010-09-23T22:22:48.217" CommentCount="9" ContentLicense="CC BY-SA 2.5" />
  <row Id="1626" PostTypeId="2" ParentId="1612" CreationDate="2010-09-23T23:04:31.790" Score="20" Body="&lt;p&gt;First, I suggest you read Kleene's &amp;quot;Metamathematics&amp;quot; as a good book on these topics. First two chapters of volume I of Odifreddi's &amp;quot;Classical Recursion Theory&amp;quot; can also be helpful in understanding the relation between these concepts.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;We know that Church's theorem (or rather, the independent proofs of Hilbert's Entscheidungsproblem  by Alonzo Church and Alan Turing) proved that in general we cannot calculate whether a given mathematical statement in a formal system is true or false.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;I think you are referring to Church's theorem that the set of theorems of first order logic is not decidable. It is important to note that the language is first order.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;As I understand, the Church-Turing thesis provides a pretty clear description of the equivalence (isomorphism) between Church's lambda calculus and Turing machines, hence we effectively have a unified model for computability.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;No. The equivalence if lambda-computability and Turing-computability is a &lt;em&gt;theorem&lt;/em&gt; of Kleene. It is not a thesis. It is considered as evidence supporting Church's thesis.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Note: As far as I know, Turing's proof makes use of the fact that the halting problem is undecidable. Correct me if I'm wrong.&lt;/p&gt;&#xA;&lt;p&gt;Now, Gödel's first incompleteness theorem states that not all statements in a consistent formal system may be proven within this system. In many ways, this appears to me to be saying exactly the same thing to me as Church's theorems, considering lambda calculus and Turning machines are both effectively formal systems of sorts!&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;No. Godel's theorem states that for every &lt;span class=&quot;math-container&quot;&gt;$\omega$&lt;/span&gt;&lt;em&gt;-consistent&lt;/em&gt;, &lt;em&gt;recursively enumerable&lt;/em&gt; theory which &lt;em&gt;contains enough arithmetic&lt;/em&gt;, there is a sentence &lt;span class=&quot;math-container&quot;&gt;$\varphi$&lt;/span&gt; s.t. &lt;span class=&quot;math-container&quot;&gt;$\varphi$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$\lnot \varphi$&lt;/span&gt; are not provable in it.&lt;/p&gt;&#xA;&lt;p&gt;This does not state the same thing. It does not say anything about set of theorems of the theory being undecidable.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;This is however my holistic interpretation, and I was hoping someone could shed some light on the details. Are these two theorems effectively equivalent? Are there any subtleties to be observed? If these theories are essentially looking at the same universal truth in different ways, why were they approached from such different angles? (There were more or less 6 years between Godel's proof and Church's).&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Over the years there has been lots of abuse of Godel's theorems (and similar theorems). One should be very careful in making interpretations of them. As far as I have seen, the abuses are usually result of forgetting to mention some condition in the theorem or combining the theorems by some other beliefs. A careful look shows that theses theorems, although related, are not equivalent.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Finally, can we essential say that the concept of provability in a formal system (proof calculus) is identical to the concept of computability in recursion theory (Turing machines/lambda calculus)?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;I don't understand what you mean by &amp;quot;identical&amp;quot;. Certainly there are many relations between computability and provability. I may be able to make a more helpful comment if you clarify what you mean by these being identical.&lt;/p&gt;&#xA;&lt;h3&gt;update&lt;/h3&gt;&#xA;&lt;p&gt;Lets consider the set of well-formed sentences in the language of arithmetic as &lt;span class=&quot;math-container&quot;&gt;$L$&lt;/span&gt;. Let &lt;span class=&quot;math-container&quot;&gt;$T$&lt;/span&gt; be (the axioms of) a theory satisfying the conditions of first incompleteness theorem. Let &lt;span class=&quot;math-container&quot;&gt;$Thm(T)$&lt;/span&gt; be the set of theorems of the theory &lt;span class=&quot;math-container&quot;&gt;$T$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$\lnot Thm(T)$&lt;/span&gt; be the set of sentences whose negation is a theorem of &lt;span class=&quot;math-container&quot;&gt;$T$&lt;/span&gt;. Let &lt;span class=&quot;math-container&quot;&gt;$True$&lt;/span&gt; be the set of sentences that are true in the standard model, and &lt;span class=&quot;math-container&quot;&gt;$False$&lt;/span&gt; the set of false sentences. A sentence is in &lt;span class=&quot;math-container&quot;&gt;$True$&lt;/span&gt; iff its negation is in &lt;span class=&quot;math-container&quot;&gt;$False$&lt;/span&gt;. Also every sentence is either true or false, i.e. &lt;span class=&quot;math-container&quot;&gt;$L = True \cup False$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;p&gt;The Godel's incompleteness theorem states that &lt;span class=&quot;math-container&quot;&gt;$Thm(T) \cup \lnot Thm(T)$&lt;/span&gt; is a proper subset of &lt;span class=&quot;math-container&quot;&gt;$L$&lt;/span&gt;. Therefore truth in the standard model and provability in &lt;span class=&quot;math-container&quot;&gt;$T$&lt;/span&gt; are different.&lt;/p&gt;&#xA;&lt;p&gt;Note that &lt;span class=&quot;math-container&quot;&gt;$Thm(T)$&lt;/span&gt; is r.e., Church's theorem states that &lt;span class=&quot;math-container&quot;&gt;$Thm(T)$&lt;/span&gt; is not decidable.&lt;/p&gt;&#xA;&lt;p&gt;On the relation between provability in formal system and computability. One is the following: If the system is effective, then the set of derivable expression in it is r.e., and the system is a special case of a grammar. Grammars is another way for defining the concept of computable which is equivalent to Turing machine computability.&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2010-09-24T18:04:53.747" CommentCount="12" ContentLicense="CC BY-SA 2.5" />
  <row Id="1627" PostTypeId="1" AcceptedAnswerId="1632" CreationDate="2010-09-23T23:18:45.887" Score="11" ViewCount="454" Body="&lt;p&gt;I have developed a new derandomization technique which is aimed at recursive randomized algorithms (or) more generally randomized algorithms that use a stack. Unfortunately, I could not find natural randomized algorithms to apply my techniques. &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=1462154&quot;&gt;Recursive Markov Chains and Stochastic grammars&lt;/a&gt; are very close to what I am looking for. Are there other (more natural) randomized algorithms that make &quot;essential&quot; use of stack ? Any help is greatly appreciated, since I am stuck with this for more than six months now.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To give you more context, I am looking for a list of problems similar to those in &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=509996&quot;&gt;SivaKumar's Paper&lt;/a&gt;. Note that SivaKumar used Nisan's Pseudo-random generator to derandomize these problems.&lt;/p&gt;&#xA;" OwnerUserId="344" LastActivityDate="2010-09-25T04:39:36.997" Title="Randomized algorithms using a stack" Tags="&lt;randomness&gt;&lt;derandomization&gt;" AnswerCount="3" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="1629" PostTypeId="2" ParentId="1406" CreationDate="2010-09-24T02:35:17.020" Score="4" Body="&lt;p&gt;The best way to generate hard instances of NP-complete problems that I'm aware of is to use the Cook mapping to reduce carefully selected instances of certain other hard NP problems (such as the discrete logarithm problem or integer factorization) to SAT.  These are the same &quot;hard problems&quot; that are used by mathematicians to ensure cryptographic security in protocols such as RSA and Diffie-Hellman.&lt;/p&gt;&#xA;" OwnerUserId="1338" LastActivityDate="2010-09-24T02:35:17.020" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="1631" PostTypeId="2" ParentId="1627" CreationDate="2010-09-24T04:23:52.197" Score="6" Body="&lt;p&gt;How about Welzl's randomized algorithm for minimal enclosing ellipsoids? It has recursion depth O(d) where d is the dimension of the space.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I know next to nothing about derandomization, so this might not be what you're looking for. If my example doesn't qualify (maybe by your definition it only makes inessential use of recursion?), perhaps you could clarify why that is. That would increase the chances of higher quality, more pertinent answers from others.&lt;/p&gt;&#xA;" OwnerUserId="1435" LastActivityDate="2010-09-24T04:23:52.197" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="1632" PostTypeId="2" ParentId="1627" CreationDate="2010-09-24T04:27:51.480" Score="6" Body="&lt;p&gt;As Per Vognsen points out, and more generally as well, there are many geometric algorithms that operate as follows: Pick a random sample, and run recursively on the sample and on other structures derived thereof. Clarkson's randomized algorithm for linear programming, as well as Seidel's, and indeed the Matousek-Sharir-Welzl series that Per mentions, all operate in this manner, and Clarkson's paradigm extends to other situations where you build some kind cutting or epsilon-net and recurse. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Unfortunately, you're unlikely to get a &lt;em&gt;new&lt;/em&gt; result from this, because there are optimal derandomizations of these algorithms, due to work by Matousek, and Chazelle. &lt;a href=&quot;http://www.cs.princeton.edu/~chazelle/pubs/CuttingHyperplanes.pdf&quot;&gt;Chazelle's paper&lt;/a&gt; is a good reference point for this work and prior work by Matousek. But it might be a good test of your method: it was hard to come up with these derandomizations, and if your method provides a black box approach starting with the (easier) randomized algorithm, that would be neat. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;p.s this is probably the most boring example possible, but does your method work on quicksort, or any of the randomized median finding methods ? &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2010-09-24T04:27:51.480" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="1634" PostTypeId="2" ParentId="681" CreationDate="2010-09-24T06:31:37.537" Score="7" Body="&lt;p&gt;Warning: This is not yet a complete answer. If plausibility arguments make you uncomfortable, stop reading.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I will consider a variant where we want to multiply (x - a_1) ... (x - a_n) over the complex numbers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem is dual to evaluating a polynomial at n points. We know this can be done cleverly in O(n log n) time when the points happen to be nth roots of unity. This takes essential advantage of the symmetries of regular polygons that underlie the Fast Fourier Transform. That transform comes in two forms, conventionally called decimation-in-time and decimation-in-frequency. In radix two they rely on a dual pair of symmetries of even-sided regular polygons: the interlocking symmetry (a regular hexagon consists of two interlocking equilateral triangles) and the fan unfolding symmetry (cut a regular hexagon in half and unfold the pieces like fans into equilateral triangles).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;From this perspective, it seems highly implausible that an O(n log n) algorithm would exist for an arbitrary set of n points without special symmetries. It would imply that there is nothing algorithmically exceptional about regular polygons as compared to random sets of points in the complex plane. &lt;/p&gt;&#xA;" OwnerUserId="1435" LastActivityDate="2010-09-24T06:31:37.537" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="1635" PostTypeId="2" ParentId="1425" CreationDate="2010-09-24T13:30:49.000" Score="12" Body="&lt;p&gt;Indeed the physical version of P not equal to NP, namely that no natural physical systems can solve NP complete problem is very interesting. There are a few concerns &lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) The progrem seems practically &quot;orthogonal&quot; to both experimental and theoretical physics. &#xA;So it does not really provide (so far) useful insights in physics.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are some nice arguments how one can deduce from this physical version of the conjecture some insights in physics, but these arguments are fairly &quot;soft&quot; and have loopholes. (And such arguments are likely to be problematic, since they rely on very difficult mathematical conjectures such as NP nonot equal to P, and NP not being included in BQP that we do not understand.) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;(A similar comment apply to the &quot;Church-turing thesis&quot;.) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) Although the physical NP not equal P is a wider conjecture than the mathematical NP not equal P, we can also regard it as more restricted since the algorithms that occur in nature&#xA;(and even the men-made algorithms) seem to be a very restricted class of all theoretically possible algorithms. It will be very interesting to understand such restrictions formally, but in any case any exerimental &quot;proof&quot; as suggested in the question will apply only to these restricted class.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;3) In scientific modeling, computational complexity represents a sort of a second order matter where first we would like to model a natural phenomena and see what can be predicted based on the model (putting computational complexity theory aside). Giving too much weight to computational complexity issues in the modeling stage does not seem to be fruitful. In many cases, the model is computationally intractable to start with but it may still be feasible for naturally occuring problems or useful to understand the phenomena.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;4) I agree with Boaz that the asymptotic issue is not necessary a &quot;deal breaker&quot;. Still it is a rather serious matter when it comes to the relevance of computational complexity matters to real life modeling.&lt;/p&gt;&#xA;" OwnerUserId="712" LastEditorUserId="712" LastEditDate="2010-09-30T02:47:37.070" LastActivityDate="2010-09-30T02:47:37.070" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1636" PostTypeId="2" ParentId="1168" CreationDate="2010-09-24T13:35:48.070" Score="42" Body="&lt;p&gt;John McCarthy's &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.50.9776&quot;&gt;Recursive functions of symbolic expressions and their computation by machine, part I.&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is the foundational paper on Lisp. Here we find the first metacircular evaluator, fitting on a single page. Its impact cannot be overstated, and it is still eminently readable.&lt;/p&gt;&#xA;" OwnerUserId="1435" LastActivityDate="2010-09-24T13:35:48.070" CommentCount="0" CommunityOwnedDate="2010-09-24T13:35:48.070" ContentLicense="CC BY-SA 2.5" />
  <row Id="1637" PostTypeId="1" AcceptedAnswerId="1642" CreationDate="2010-09-24T13:54:21.650" Score="8" ViewCount="388" Body="&lt;p&gt;Does anyone know of any work on game semantics for coinductive predicates? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A coinductive predicate is one where the predicate itself is called in the body of the predicate, and we are taking the meaning of the predicate to be the greatest fixed point of the underlying definition. Such a predicate will be defined over an infinite data structure, such as a stream or infinite tree or labelled transition system and so forth.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An overly simple example is the following (in Haskell):&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;data Cat = BlackCat | WhiteCat&#xA;data Stream a = Stream a (Stream a)&#xA;&#xA;allBlacks :: Stream Cat -&amp;gt; Bool&#xA;allBlacks (Stream cat rest) = cat == BlackCat &amp;amp;&amp;amp; allBlacks rest&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;I can define the stream of all black cats as:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;blackCats :: Stream Cat&#xA;blackCats = Stream BlackCat blackCats&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;and use coinduction to prove:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;allBlacks blackCats&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;One could think of a coinductive predicate as an infinite conjunction or disjunction, simply by imagining that it is unrolled completely. Game semantics in this setting would be straightforward: for an infinite conjunction, the &lt;em&gt;Falsifier&lt;/em&gt; needs to select which conjunct to falsify in order to win the game; for an infinite disjunction, the &lt;em&gt;Verifier&lt;/em&gt; needs to select which disjunct to satisfy in order to win the game.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is, however, a natural order in 'evaluating' the coinductive predicate which is ignored when considering it as an infinite conjunction or disjunction, and I would like this ordering to be captured in the game semantics, namely that the game proceeds by &lt;em&gt;playing&lt;/em&gt; each disjunct/conjunct in turn.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One additional problem I have is understanding which &lt;em&gt;winning condition&lt;/em&gt; to use to capture the infinite nature of the predicate. Or to put it in lay persons terms: how do I know that there is no white cat in this supposed infinite stream of black cats––it could merely be after the point I stop looking?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;additional example&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider the following data type (again in Haskell):&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;data Tree a = Tree (a -&amp;gt; Maybe (Tree a))&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;&lt;code&gt;Tree A&lt;/code&gt; corresponds to the greatest fixed point of the functor $F(X) = (X+1)^A$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now assume that there is some relation $R:\subseteq A\times A$. This has no intrinsic meaning, and is just used to formulate the following coinductive predicate. Thinking of $R$ as $\le$ is sufficient.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider the following coinductive predicate $covers\subseteq$&lt;code&gt;Tree A&lt;/code&gt;$\times$&lt;code&gt;Tree A&lt;/code&gt; (defined corecursively):&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;$\mathit{covers}(\alpha,\beta) = $&#xA;  $\qquad \forall a\in A\mbox{ if } \alpha(a)\neq\bot \mbox{ then } \exists b\in B &#xA;  \mbox{ such that } a R b \mbox{ and } \beta(b)\neq\bot \mbox{ and } \mathit{covers}(\alpha(a),\beta(b))$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I'm looking for a formalism for expressing such predicates in terms of game-theoretic semantics. A link to existing work would be greatly appreciated. The main thing I'm having trouble getting my head around is the &lt;em&gt;winning condition&lt;/em&gt; (as discussed in some of the comments below). Even though the game goes forever, infinite &lt;em&gt;plays&lt;/em&gt; do not constitute a draw.&lt;/p&gt;&#xA;" OwnerUserId="77" LastEditorUserId="77" LastEditDate="2010-09-29T15:47:32.803" LastActivityDate="2010-09-30T07:49:26.610" Title="Game semantics for coinductive predicates" Tags="&lt;lo.logic&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="1638" PostTypeId="1" AcceptedAnswerId="1661" CreationDate="2010-09-24T14:22:11.590" Score="14" ViewCount="4048" Body="&lt;p&gt;What sort of conjectures and major open problems are the most important in algorithmic game theory (or game theory in general as it relates to CS)? For example, the resolution of NASH as being PPAD-complete would, I think, have been the biggest one up until it was resolved. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Added: &lt;a href=&quot;https://cstheory.stackexchange.com/questions/314/evidence-that-ppad-is-hard/319#319&quot;&gt;resolving PPAD's relation to P and NP&lt;/a&gt; is one good open problem, but others not so deeply entrenched in computational complexity would be nice too.)&lt;/p&gt;&#xA;" OwnerUserId="771" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.743" LastActivityDate="2010-09-25T07:17:49.807" Title="Outstanding conjectures and open problems in (algorithmic) game theory?" Tags="&lt;big-list&gt;&lt;gt.game-theory&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="7" CommunityOwnedDate="2010-09-25T10:33:58.873" ContentLicense="CC BY-SA 2.5" />
  <row Id="1639" PostTypeId="1" CreationDate="2010-09-24T15:11:39.917" Score="27" ViewCount="2456" Body="&lt;p&gt;Consider the following problem: given a CNF formula and an assignment that satisfies this formula, is there another satisfying assignment for this formula ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is the complexity of this problem ? (It most surely is in NP, but is it also NP-hard ?)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What if you are not given the assignment and you just want do decide whether the formula has a unique satisfying assignment ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks.&lt;/p&gt;&#xA;" OwnerUserId="1481" LastEditorUserId="1800" LastEditDate="2011-03-10T11:06:52.200" LastActivityDate="2014-01-27T14:44:32.350" Title="Verifying unique solutions of SAT" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;&lt;sat&gt;&lt;unique-solution&gt;" AnswerCount="5" CommentCount="4" FavoriteCount="9" ContentLicense="CC BY-SA 2.5" />
  <row Id="1640" PostTypeId="2" ParentId="1639" CreationDate="2010-09-24T15:18:51.730" Score="6" Body="&lt;p&gt;The first problem is NP-complete while the second one is the problem of Unique satsifiability which is Co-NP-hard and and its in the class $DP=\{(L_1 ∩ L_2)| L_1 \in NP, L_2\in CoNP\}$ (the intersection of NP set with Co-NP set).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Andreas Blass and Yuri Gurevich, &#xA;&lt;a href=&quot;http://www.sciencedirect.com/science?_ob=ArticleURL&amp;amp;_udi=B7MFM-4DX44G9-139&amp;amp;_user=10&amp;amp;_coverDate=12%2F31%2F1982&amp;amp;_rdoc=1&amp;amp;_fmt=high&amp;amp;_orig=search&amp;amp;_origin=search&amp;amp;_sort=d&amp;amp;_docanchor=&amp;amp;view=c&amp;amp;_searchStrId=1472734416&amp;amp;_rerunOrigin=google&amp;amp;_acct=C000050221&amp;amp;_version=1&amp;amp;_urlVersion=0&amp;amp;_userid=10&amp;amp;md5=4e0484695afadc6228f2989839cd4caa&amp;amp;searchtype=a&quot;&gt;On the unique satisfiability problem,&lt;/a&gt;&#xA;&lt;a href=&quot;http://www.sciencedirect.com/science?_ob=ArticleURL&amp;amp;_udi=B7MFM-4DX44G9-139&amp;amp;_user=10&amp;amp;_coverDate=12%2F31%2F1982&amp;amp;_rdoc=1&amp;amp;_fmt=high&amp;amp;_orig=search&amp;amp;_origin=search&amp;amp;_sort=d&amp;amp;_docanchor=&amp;amp;view=c&amp;amp;_searchStrId=1472734416&amp;amp;_rerunOrigin=google&amp;amp;_acct=C000050221&amp;amp;_version=1&amp;amp;_urlVersion=0&amp;amp;_userid=10&amp;amp;md5=4e0484695afadc6228f2989839cd4caa&amp;amp;searchtype=a&quot;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2010-09-24T17:09:29.347" LastActivityDate="2010-09-24T17:09:29.347" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="1641" PostTypeId="2" ParentId="1639" CreationDate="2010-09-24T15:22:07.283" Score="27" Body="&lt;p&gt;The problem of deciding whether a given CNF formula has a satisfying assignment other than a given one is easily shown to be NP-complete by transforming a CNF formula to add one trivial solution.  This problem is called the “Another Solution Problem (ASP) of SAT” in [YS03], where it is used to give a systematic proof that (the decision versions of) the ASPs of many other problems are also NP-complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem of deciding whether a given CNF formula has a unique satisfying assignment or not (so you have to answer “no” if the formula has no satisfying assignments or more than one satisfying assignment) is &lt;a href=&quot;http://qwiki.stanford.edu/wiki/Complexity_Zoo%3aU#us&quot;&gt;US&lt;/a&gt;-complete.  US contains both &lt;a href=&quot;http://qwiki.stanford.edu/wiki/Complexity_Zoo%3aU#up&quot;&gt;UP&lt;/a&gt; and &lt;a href=&quot;http://qwiki.stanford.edu/wiki/Complexity_Zoo%3aC#conp&quot;&gt;coNP&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;References&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[YS03] Takayuki Yato and Takahiro Seta. Complexity and completeness of finding another solution and its application to puzzles. IEICE Transactions on Fundamentals of Electronics, Communications and Computer Sciences, E86-A(5):1052–1060, May 2003.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Edit&lt;/em&gt;: An earlier version (revision 1) of this answer contained a confusion between the decision version and the search version.  It has been fixed.&lt;/p&gt;&#xA;" OwnerUserId="567" LastEditorUserId="567" LastEditDate="2010-09-24T21:08:58.183" LastActivityDate="2010-09-24T21:08:58.183" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="1642" PostTypeId="2" ParentId="1637" CreationDate="2010-09-24T15:31:10.620" Score="4" Body="&lt;p&gt;&lt;a href=&quot;http://www-csli.stanford.edu/pubs/&quot; rel=&quot;nofollow&quot;&gt;Vicious Circles&lt;/a&gt; by Barwise and Moss is a cornucopia of co-algebraic/co-inductive reasoning, and includes material on co-inductive games.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Not sure if it will help you out in your specific need, but might be the source of some inspiration in this line of reasoning.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit (x2):&lt;/strong&gt; &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think you can follow a modified &lt;a href=&quot;http://en.wikipedia.org/wiki/Ehrenfeucht%E2%80%93Fra%C3%AFss%C3%A9_game&quot; rel=&quot;nofollow&quot;&gt;Ehrenfeucht-Fra&amp;iuml;ss&amp;eacute;&lt;/a&gt; style approach like this: &lt;em&gt;Falsifier&lt;/em&gt; gets to select any item from the stream/disjunction/conjunction.&#xA;&lt;em&gt;Verifier&lt;/em&gt; then has to show that any such item must be a black cat.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(You could put ordering or number of choices restrictions on &lt;em&gt;Falsifier&lt;/em&gt; without loss of generality for a finite set of coinductive rules.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you think of coinduction as just induction without a base case, it is obvious that the only (co-)induction rule you have on &lt;code&gt;blackCats&lt;/code&gt; is &lt;code&gt;cat == BlackCat&lt;/code&gt;, so what else could an individual cat be in that stream?  Any cat that &lt;em&gt;Falsifier&lt;/em&gt; selects will have to conform to that rule, so &lt;em&gt;Verifier&lt;/em&gt; wins.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Obviously this would scale to more numerous and complex coinductive rules, where the &quot;challenge&quot; for &lt;em&gt;Verifier&lt;/em&gt; becomes to choose the appropriate rule for whatever item &lt;em&gt;Falsifier&lt;/em&gt; chooses.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Colin Sterling's &lt;em&gt;Bisimulation, Model Checking and Other Games&lt;/em&gt;, should help you out. His book &lt;em&gt;Modal and Temporal Properties of Processes&lt;/em&gt; has similar material, though in less detail.&lt;/p&gt;&#xA;" OwnerUserId="629" LastEditorUserId="77" LastEditDate="2010-09-30T07:49:26.610" LastActivityDate="2010-09-30T07:49:26.610" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="1643" PostTypeId="1" AcceptedAnswerId="1646" CreationDate="2010-09-24T15:48:17.350" Score="36" ViewCount="1666" Body="&lt;p&gt;The Complexity Zoo points out in the entry on &lt;a href=&quot;http://qwiki.stanford.edu/wiki/Complexity_Zoo:E#exp&quot; rel=&quot;noreferrer&quot;&gt;EXP&lt;/a&gt; that if &lt;a href=&quot;https://complexityzoo.uwaterloo.ca/Complexity_Zoo:L#l&quot; rel=&quot;noreferrer&quot;&gt;L&lt;/a&gt; = &lt;a href=&quot;https://complexityzoo.uwaterloo.ca/Complexity_Zoo:P#p&quot; rel=&quot;noreferrer&quot;&gt;P&lt;/a&gt; then &lt;a href=&quot;https://complexityzoo.uwaterloo.ca/Complexity_Zoo:P#pspace&quot; rel=&quot;noreferrer&quot;&gt;PSPACE&lt;/a&gt; = EXP.  Since &lt;a href=&quot;https://complexityzoo.uwaterloo.ca/Complexity_Zoo:N#npspace&quot; rel=&quot;noreferrer&quot;&gt;NPSPACE&lt;/a&gt; = PSPACE by Savitch, as far as I can tell the underlying padding argument extends to show that &lt;span class=&quot;math-container&quot;&gt;$$(\text{NL} = \text{P}) \Rightarrow (\text{PSPACE} = \text{EXP}).$$&lt;/span&gt;  We also know that L &lt;span class=&quot;math-container&quot;&gt;$\subseteq$&lt;/span&gt; &lt;a href=&quot;https://complexityzoo.uwaterloo.ca/Complexity_Zoo:N#nl&quot; rel=&quot;noreferrer&quot;&gt;NL&lt;/a&gt; &lt;span class=&quot;math-container&quot;&gt;$\subseteq$&lt;/span&gt; &lt;a href=&quot;https://complexityzoo.uwaterloo.ca/Complexity_Zoo:N#nc&quot; rel=&quot;noreferrer&quot;&gt;NC&lt;/a&gt; &lt;span class=&quot;math-container&quot;&gt;$\subseteq$&lt;/span&gt; P via Ruzzo's resource-bounded alternating hierarchy.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;If NC = P, does it follow that PSPACE = EXP?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;A different interpretation of the question, in the spirit of Richard Lipton: is it more likely that some problems in P cannot be parallelized, than that no exponential-time procedure requires more than polynomial space?&lt;/p&gt;&#xA;&lt;p&gt;I would also be interested in other &amp;quot;surprising&amp;quot; consequences of NC = P (the more unlikely the better).&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Edit:&lt;/strong&gt; Ryan's answer leads to a further question: what is the weakest hypothesis that is known to guarantee PSPACE = EXP?&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;W. Savitch. Relationships between nondeterministic and deterministic tape complexities, Journal of Computer and System Sciences 4(2):177-192, 1970.&lt;/li&gt;&#xA;&lt;li&gt;W. L. Ruzzo. On uniform circuit complexity, Journal of Computer and System Sciences 22(3):365-383, 1971.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;strong&gt;Edit (2014):&lt;/strong&gt; updated old Zoo link and added links for all other classes.&lt;/p&gt;&#xA;" OwnerUserId="109" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2014-11-23T06:28:19.773" Title="NC = P consequences?" Tags="&lt;cc.complexity-theory&gt;&lt;conditional-results&gt;" AnswerCount="3" CommentCount="2" FavoriteCount="11" ContentLicense="CC BY-SA 3.0" />
  <row Id="1644" PostTypeId="2" ParentId="1307" CreationDate="2010-09-24T15:52:48.030" Score="7" Body="&lt;p&gt;If a range space has $\epsilon$-net of size $f(1/\epsilon)$, then the integrality gap of the fractional hitting set (or set cover) is $f(1/\epsilon)/(1/\epsilon)$. See the work by Philip Long (&lt;a href=&quot;http://www.phillong.info/publications/intprog.pdf&quot;&gt;here&lt;/a&gt; [The Even etal. work is later than this work, and rediscover some of his stuff]). See also the slides 13-16 &lt;a href=&quot;http://valis.cs.uiuc.edu/~sariel/papers/10/haystacks/haystack.pdf&quot;&gt;here&lt;/a&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In short, having non-linear $\epsilon$-nets, indicates that approximating the relevant hitting-set/set cover problem within  better than a constant factor is going to be very challenging. &lt;/p&gt;&#xA;" OwnerUserId="9594" LastEditorUserId="9594" LastEditDate="2010-09-24T23:48:48.213" LastActivityDate="2010-09-24T23:48:48.213" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="1645" PostTypeId="2" ParentId="1638" CreationDate="2010-09-24T17:40:50.957" Score="1" Body="&lt;p&gt;In this reference, Papadimitriou and Roughgarden pose 6 open problems related to computing correlated equilibria:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Papadimitriou and Tim Roughgarden, &#xA;&lt;a href=&quot;http://theory.stanford.edu/~tim/papers/cor.pdf&quot; rel=&quot;nofollow&quot;&gt;Computing Correlated Equilibria in Multi-Player Games&lt;/a&gt;&#xA;&lt;a href=&quot;http://theory.stanford.edu/~tim/papers/cor.pdf&quot; rel=&quot;nofollow&quot;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, in this paper Papadimitriou poses a several open problems related to Game Theory and the Internet: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.eecs.harvard.edu/~parkes/cs286r/spring02/papers/stoc01.pdf&quot; rel=&quot;nofollow&quot;&gt;Papadimitriou, Algorithms, Games, and the Internet,  &lt;/a&gt;&#xA;&lt;a href=&quot;http://www.eecs.harvard.edu/~parkes/cs286r/spring02/papers/stoc01.pdf&quot; rel=&quot;nofollow&quot;&gt;Proc. STOC 2001 &lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2010-09-24T18:29:57.463" LastActivityDate="2010-09-24T18:29:57.463" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="1646" PostTypeId="2" ParentId="1643" CreationDate="2010-09-24T18:03:24.170" Score="28" Body="&lt;p&gt;Yes. $NC$ can be seen as the class of languages recognized by alternating Turing machines that use $O(\log n)$ space and $(\log n)^{O(1)}$ time. (This was first proved by Ruzzo.) $P$ is the class where alternating Turing machines use $O(\log n)$ space but can take up to $n^{O(1)}$ time. For brevity let's call these classes $ATISP[(\log n)^{O(1)},\log n] = NC$ and $ASPACE[O(\log n)] = P$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose the two classes are equal. Replacing the $n$ with $2^n$ in the above (i.e., applying standard translation lemmas), one obtains &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$TIME[2^{O(n)}] = ASPACE[O(n)] = ATISP[n^{O(1)}, n] \subseteq ATIME[n^{O(1)}] = PSPACE$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $TIME[2^{O(n)}] \subseteq PSPACE$ then $EXP = PSPACE$ as well, since there are $EXP$-complete languages in $TIME[2^{O(n)}]$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit:&lt;/strong&gt; Although the above answer is perhaps more educational, here's a simpler argument: &lt;em&gt;$EXP = PSPACE$ already follows from &quot;$P$ is contained in polylog space&quot; and standard translation.&lt;/em&gt; Note &quot;$P$ is contained in polylog space&quot; is a much weaker hypothesis than $NC = P$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;More details: Since $NC$ circuit families have depth $(\log n)^c$ for some constant, every such circuit family can be evaluated in $O((\log n)^c)$ space. Hence $NC \subseteq \bigcup_{c &gt; 0} SPACE[(\log n)^c]$. So $P = NC$ implies $P \subseteq \bigcup_{c &gt; 0} SPACE[(\log n)^c]$. Applying translation (replacing $n$ with $2^n$) implies $TIME[2^{O(n)}] \subseteq PSPACE$. The existence of an $EXP$-complete language in $TIME[2^{O(n)}]$ finishes the argument.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt; Addressing Andreas' additional question, I believe it should be possible to prove something like: $EXP=PSPACE$ iff for all $c$, every polynomially sparse language in $n^{O(\log^c n)}$ time is solvable in polylog space. (Being polynomially sparse means that there are at most $poly(n)$ strings of length $n$ in the language, for all $n$.) If true, the proof would probably go along the lines of Hartmanis, Immerman, and Sewelson's proof that $NE = E$ iff every polynomially sparse language in $NP$ is contained in $P$. (Note, $n^{O(\log^c n)}$ time in polylog space is still enough to imply $PSPACE=EXP$.)&lt;/p&gt;&#xA;" OwnerUserId="225" LastEditorUserId="225" LastEditDate="2010-09-25T21:47:42.167" LastActivityDate="2010-09-25T21:47:42.167" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="1647" PostTypeId="1" AcceptedAnswerId="1648" CreationDate="2010-09-24T18:14:47.063" Score="1" ViewCount="243" Body="&lt;p&gt;Barrington, Immerman, and Straubing state&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;circuit complexity classes contain problems which are not computable at all in the ordinary sense (e.g., any unary language is in $\text{AC}^0$)&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I'd appreciate clarification of this statement; it seems to imply that $\text{AC}^0$ contains even undecidable languages.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Could someone please point out my error, or explain what the authors might mean?&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Barrington, D.A.M., Immerman, N., and Straubing, H., &lt;a href=&quot;http://www.cs.umass.edu/~immerman/pub/bis.pdf&quot; rel=&quot;nofollow&quot;&gt;&lt;em&gt;On Uniformity within $NC^1$&lt;/em&gt;&lt;/a&gt;, JCSS &lt;strong&gt;41&lt;/strong&gt; 274–306, 1990.  doi: &lt;a href=&quot;http://dx.doi.org/10.1016/0022-0000%2890%2990022-D&quot; rel=&quot;nofollow&quot;&gt;10.1016/0022-0000(90)90022-D&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="109" LastActivityDate="2010-09-24T18:30:13.133" Title="Unary languages in $AC^0$?" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1648" PostTypeId="2" ParentId="1647" CreationDate="2010-09-24T18:24:16.767" Score="6" Body="&lt;p&gt;Note the beginning of the sentence you quoted.  It says&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;In their non-uniform versions&lt;/strong&gt; these circuit complexity classes contain problems which are not computable at all in the ordinary sense (e.g., any unary language is in AC&lt;sup&gt;0&lt;/sup&gt;).&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The nonuniform version of AC&lt;sup&gt;0&lt;/sup&gt; is defined as the class of problems which are decided by a (not necessarily uniform) family of boolean circuits of polynomial size and constant depth with unbounded fan-in.  Since there is no uniformity condition, you can use completely different circuits for different lengths, implying that you can decide any unary languages (including undecidable ones).  This is the motivation of the uniformity condition.  For detail, see Proposition 11.2 of &lt;em&gt;Computational Complexity&lt;/em&gt; by Papadimitriou.&lt;/p&gt;&#xA;" OwnerUserId="567" LastEditorUserId="567" LastEditDate="2010-09-24T18:30:13.133" LastActivityDate="2010-09-24T18:30:13.133" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1649" PostTypeId="2" ParentId="1643" CreationDate="2010-09-24T18:27:44.390" Score="12" Body="&lt;p&gt;(I've seen Ryan's answer, but I just wanted to provide another perspective, which was too long to fit into a comment.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the $L = P \Rightarrow PSPACE = EXP$ proof, all that you need to know about L, informally, is that when blown up by an exponential, L becomes PSPACE.  The same proof goes through for NL, because NL blown up by an exponential also becomes PSPACE.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Similarly, when NC is blown up by an exponential, you do get PSPACE.  I like to see this in terms of circuits: NC is the class of polynomial size circuits with polylog depth.  When blown up, this becomes exponential size circuits with polynomial depth.  One can show that this is exactly PSPACE, once the appropriate uniformity conditions are added in.  I guess if NC is defined with L-uniformity, then this will get PSPACE-uniformity.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The proof should be easy. In one direction, take a PSPACE-complete problem like TQBF and express the quantifiers using AND and OR gates of exponential size. In the other direction, try traversing the polynomial depth circuit recursively. The stack size will be polynomial, so this can be done in PSPACE.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, I came up with this argument when I saw the question (and before reading Ryan's answer), so there might be bugs. Please point them out.&lt;/p&gt;&#xA;" OwnerUserId="206" LastEditorUserId="206" LastEditDate="2010-09-24T21:10:54.870" LastActivityDate="2010-09-24T21:10:54.870" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="1650" PostTypeId="2" ParentId="1617" CreationDate="2010-09-24T20:18:08.210" Score="4" Body="&lt;p&gt;&lt;i&gt;1) Is there a description of uniformity just in terms of circuits?&lt;/i&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[This is an edited version of my reply to the same question you asked on Dick Lipton's blog. Caveat: I'm not an expert.]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Yes (I think), of at least two different kinds:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;a) The circuits are generatable by a Turing machine in polynomial time in the problem input size (as mentioned in some other replies).&#xA;(I think this is the standard definition of the concept.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This covers any circuit family that we could want to call uniform, but as a definition of the concept of P-time, it just reduces the definition on circuit families to the definition on Turing machines, which might not be what you want.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;b) If there is a 1-dimensional cellular automaton which evolves the problem input to the problem solution (for a decision problem, the solution would be a single bit in a specified cell relative to the cells containing the input, which is a stable state of the CA), in polynomial time in input size, then this corresponds to a circuit which is periodic in 2D in a simple way (one repeat unit per cell per time-unit), and whose state only matters in a quadratically large region relative to the solution time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is a very special kind of uniform circuit family, but sufficient to solve all problems in P, since a Turing machine can be easily encoded as a 1D CA. (This also appears to satisfy the definition of DLOGTIME-uniformity mentioned in an earlier reply.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(This is similar to the encodings of Turing machines as circuits mentioned in Gowers’ replies on Lipton's blog — in fact, one of them is probably identical.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One way to encode a Turing machine as a 1D CA: in each cell, we represent the tape state at one point, the state the turing machine head would have if it were here now (whose value doesn’t matter if it’s not here), and one bit saying whether the head is here now. Clearly, each such state at time t only depends on its immediate neighborhood states at time t-1, which is all we need for this to work as a CA.&lt;/p&gt;&#xA;" OwnerDisplayName="Bruce Smith" LastActivityDate="2010-09-24T20:18:08.210" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1651" PostTypeId="1" AcceptedAnswerId="1656" CreationDate="2010-09-24T21:33:41.927" Score="26" ViewCount="3042" Body="&lt;p&gt;It is known that it is NP-complete to test whether a Hamiltonian cycle exists in a 3-regular graph, even if it is planar (Garey, Johnson, and Tarjan, SIAM J. Comput. 1976) or bipartite (Akiyama, Nishizeki, and Saito, J. Inform. Proc. 1980) or to test whether a Hamiltonian cycle exists in a 4-regular graph, even when it is the graph formed by an arrangement of Jordan curves (Iwamoto and Toussaint, IPL 1994).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For which other k is it known to be NP-complete to test Hamiltonicity of k-regular graphs?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The particular case I am interested in is 6-regular graphs, with the additional condition that the graph have an odd number of vertices. If this case could be shown to be NP-complete (or polynomial) it would have impact in a graph drawing problem described in &lt;a href=&quot;http://arxiv.org/abs/1009.0579&quot;&gt;http://arxiv.org/abs/1009.0579&lt;/a&gt; . The &quot;odd number of vertices&quot; condition is because what I really want to know is, for 6-regular graphs, whether the graph contains either a Hamiltonian cycle or a bipartite 2-factor; but having an odd number of vertices eliminates the possibility of a bipartite 2-factor leaving only the possibility of a Hamiltonian cycle.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2010-09-26T22:15:41.010" Title="Hamiltonicity of k-regular graphs" Tags="&lt;graph-theory&gt;&lt;np-hardness&gt;&lt;hamiltonian-paths&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="1652" PostTypeId="2" ParentId="1471" CreationDate="2010-09-24T21:43:38.820" Score="8" Body="&lt;p&gt;I usually answer with something along the lines of: I try to figure out what it is possible to do with a computer. It isn't completely accurate but it's pretty close, and usually people ask something like &quot;What do you mean?&quot; and I can reference something specific, like TSP. Although I rephrase traveling salesman as, say, the bar-hopping problem, the real-estate agent problem, the too-many-errands-not-enough-time problem, or whatever seems appropriate.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example: &quot;Well, let's say that you need to shop for shoes, groceries, and clothes, pick up a cake, get a haircut, and run some other miscellaneous errands before dinner. It would be great if you could put all that stuff into your GPS and it could tell you what order to do all your errands in to be done by 4 o'clock. But if the list of errands is long enough, it isn't even possible, right now, to figure out if you &lt;em&gt;can&lt;/em&gt; get them done by 4 &lt;em&gt;at all&lt;/em&gt;, much less what order you need to do them in, in any reasonable amount of time. I want to know if it's possible to solve that problem quickly with a computer.&quot;&lt;/p&gt;&#xA;" OwnerUserId="1487" LastActivityDate="2010-09-24T21:43:38.820" CommentCount="1" CommunityOwnedDate="2010-09-24T21:43:38.820" ContentLicense="CC BY-SA 2.5" />
  <row Id="1654" PostTypeId="2" ParentId="1555" CreationDate="2010-09-24T22:26:31.713" Score="4" Body="&lt;p&gt;Let’s call an assignment of vertex labels &lt;em&gt;feasible&lt;/em&gt; if it satisfies all the inequality constraints, ignoring the condition on the number of distinct labels.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is what I think is a proof that it is NP-complete to decide whether a given directed graph &lt;i&gt;G&lt;/i&gt;=(&lt;i&gt;V&lt;/i&gt;, &lt;i&gt;E&lt;/i&gt;) with integer (possibly negative) edge weights has a feasible assignment of labels which uses at most &lt;i&gt;k&lt;/i&gt; distinct labels, for &lt;i&gt;k&lt;/i&gt;=|&lt;i&gt;V&lt;/i&gt;|/2.  We construct a reduction from the following NP-complete problem [WY92].&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Equal Subset Sum&lt;br&gt;&#xA;&lt;em&gt;Instance&lt;/em&gt;: A finite set &lt;i&gt;S&lt;/i&gt; of positive integers.&lt;br&gt;&#xA;&lt;em&gt;Question&lt;/em&gt;: Do there exist two disjoint nonempty subsets &lt;i&gt;S&lt;/i&gt;&lt;sub&gt;1&lt;/sub&gt; and &lt;i&gt;S&lt;/i&gt;&lt;sub&gt;2&lt;/sub&gt; of &lt;i&gt;S&lt;/i&gt; whose sums are equal to each other?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let &lt;i&gt;S&lt;/i&gt;={&lt;i&gt;a&lt;/i&gt;&lt;sub&gt;1&lt;/sub&gt;, …, &lt;i&gt;a&lt;/i&gt;&lt;sub&gt;&lt;i&gt;n&lt;/i&gt;&lt;/sub&gt;} be a set of positive integers, where &lt;i&gt;n&lt;/i&gt;=|S|.  Construct a directed graph &lt;i&gt;G&lt;/i&gt; with 2&lt;i&gt;n&lt;/i&gt; vertices &lt;i&gt;u&lt;/i&gt;&lt;sub&gt;1&lt;/sub&gt;, …, &lt;i&gt;u&lt;/i&gt;&lt;sub&gt;&lt;i&gt;n&lt;/i&gt;&lt;/sub&gt;, &lt;i&gt;v&lt;/i&gt;&lt;sub&gt;1&lt;/sub&gt;, …, &lt;i&gt;v&lt;/i&gt;&lt;sub&gt;&lt;i&gt;n&lt;/i&gt;&lt;/sub&gt; by connecting &lt;i&gt;u&lt;/i&gt;&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt; and &lt;i&gt;v&lt;/i&gt;&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt; in both directions for each &lt;i&gt;i&lt;/i&gt;.  Give the weight &lt;i&gt;a&lt;/i&gt;&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt; to the edge (&lt;i&gt;u&lt;/i&gt;&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt;, &lt;i&gt;v&lt;/i&gt;&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt;) and −&lt;i&gt;a&lt;/i&gt;&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt; to the edge (&lt;i&gt;v&lt;/i&gt;&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt;, &lt;i&gt;u&lt;/i&gt;&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider the instance (&lt;i&gt;G&lt;/i&gt;, &lt;i&gt;n&lt;/i&gt;) of the current problem.  Note that an assignment &lt;i&gt;l&lt;/i&gt; of labels is feasible if and only if for each &lt;i&gt;i&lt;/i&gt;, it holds &lt;i&gt;l&lt;/i&gt;(&lt;i&gt;v&lt;/i&gt;&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt;)=&lt;i&gt;l&lt;/i&gt;(&lt;i&gt;u&lt;/i&gt;&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt;)+&lt;i&gt;a&lt;/i&gt;&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt;.  From this, we can prove the following, establishing that the above transformation is a reduction from Equal Subset Sum to the current problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Claim&lt;/strong&gt;.  &lt;i&gt;G&lt;/i&gt; has a feasible assignment which uses at most &lt;i&gt;n&lt;/i&gt; distinct labels if and only if there exist two disjoint nonempty subsets &lt;i&gt;S&lt;/i&gt;&lt;sub&gt;1&lt;/sub&gt; and &lt;i&gt;S&lt;/i&gt;&lt;sub&gt;2&lt;/sub&gt; of &lt;i&gt;S&lt;/i&gt; whose sums are equal to each other.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Proof&lt;/strong&gt;.  First observe that if we are given a feasible assignment &lt;i&gt;l&lt;/i&gt; (which might use any number of distinct labels), we can construct a directed graph &lt;i&gt;H&lt;/i&gt;&lt;sub&gt;&lt;i&gt;l&lt;/i&gt;&lt;/sub&gt; from &lt;i&gt;G&lt;/i&gt; by removing the edges with negative weights and merging vertices with equal labels.  Note that &lt;i&gt;H&lt;/i&gt;&lt;sub&gt;&lt;i&gt;l&lt;/i&gt;&lt;/sub&gt; has exactly &lt;i&gt;n&lt;/i&gt; edges whose weights are &lt;i&gt;a&lt;/i&gt;&lt;sub&gt;1&lt;/sub&gt;, …, &lt;i&gt;a&lt;/i&gt;&lt;sub&gt;&lt;i&gt;n&lt;/i&gt;&lt;/sub&gt;.  Also, note that the number of vertices of &lt;i&gt;H&lt;/i&gt;&lt;sub&gt;&lt;i&gt;l&lt;/i&gt;&lt;/sub&gt; is equal to the number of distinct labels used in &lt;i&gt;l&lt;/i&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the “only if” direction, given a feasible assignment &lt;i&gt;l&lt;/i&gt; which uses at most &lt;i&gt;n&lt;/i&gt; distinct labels, consider the directed graph &lt;i&gt;H&lt;/i&gt;&lt;sub&gt;&lt;i&gt;l&lt;/i&gt;&lt;/sub&gt;.  Since &lt;i&gt;H&lt;/i&gt;&lt;sub&gt;&lt;i&gt;l&lt;/i&gt;&lt;/sub&gt; has at most &lt;i&gt;n&lt;/i&gt; vertices and exactly &lt;i&gt;n&lt;/i&gt; edges, &lt;i&gt;H&lt;/i&gt;&lt;sub&gt;&lt;i&gt;l&lt;/i&gt;&lt;/sub&gt; contains a cycle &lt;i&gt;C&lt;/i&gt; ignoring the direction of edges.  Let &lt;i&gt;S&lt;/i&gt;&lt;sub&gt;1&lt;/sub&gt; be the set of weights of edges appearing in &lt;i&gt;C&lt;/i&gt; in one direction, and &lt;i&gt;S&lt;/i&gt;&lt;sub&gt;2&lt;/sub&gt; be the set of weights of edges appearing in &lt;i&gt;C&lt;/i&gt; in the other direction.  It is easy to see that the sum of &lt;i&gt;S&lt;/i&gt;&lt;sub&gt;1&lt;/sub&gt; is equal to the sum of &lt;i&gt;S&lt;/i&gt;&lt;sub&gt;2&lt;/sub&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the “if” direction, fix &lt;i&gt;S&lt;/i&gt;&lt;sub&gt;1&lt;/sub&gt; and &lt;i&gt;S&lt;/i&gt;&lt;sub&gt;2&lt;/sub&gt; be the subsets of &lt;i&gt;S&lt;/i&gt; satisfying the condition.  Without loss of generality, assume that &lt;i&gt;S&lt;/i&gt;&lt;sub&gt;1&lt;/sub&gt;={&lt;i&gt;a&lt;/i&gt;&lt;sub&gt;1&lt;/sub&gt;, &lt;i&gt;a&lt;/i&gt;&lt;sub&gt;2&lt;/sub&gt;, …, &lt;i&gt;a&lt;/i&gt;&lt;sub&gt;&lt;i&gt;s&lt;/i&gt;&lt;/sub&gt;} and &lt;i&gt;S&lt;/i&gt;&lt;sub&gt;2&lt;/sub&gt;={&lt;i&gt;a&lt;/i&gt;&lt;sub&gt;&lt;i&gt;s&lt;/i&gt;+1&lt;/sub&gt;, &lt;i&gt;a&lt;/i&gt;&lt;sub&gt;&lt;i&gt;s&lt;/i&gt;+2&lt;/sub&gt;, …, &lt;i&gt;a&lt;/i&gt;&lt;sub&gt;&lt;i&gt;s&lt;/i&gt;+&lt;i&gt;t&lt;/i&gt;&lt;/sub&gt;}, where &lt;i&gt;s&lt;/i&gt;=|&lt;i&gt;S&lt;/i&gt;&lt;sub&gt;1&lt;/sub&gt;| and &lt;i&gt;t&lt;/i&gt;=|&lt;i&gt;S&lt;/i&gt;&lt;sub&gt;2&lt;/sub&gt;|.  Then we assign the following labels to the vertices of &lt;i&gt;G&lt;/i&gt;:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;i&gt;l&lt;/i&gt;(&lt;i&gt;u&lt;/i&gt;&lt;sub&gt;1&lt;/sub&gt;)=&lt;i&gt;l&lt;/i&gt;(&lt;i&gt;u&lt;/i&gt;&lt;sub&gt;&lt;i&gt;s&lt;/i&gt;+1&lt;/sub&gt;)=0.&lt;/li&gt;&#xA;&lt;li&gt;&lt;i&gt;l&lt;/i&gt;(&lt;i&gt;u&lt;/i&gt;&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt;)=&lt;i&gt;l&lt;/i&gt;(&lt;i&gt;v&lt;/i&gt;&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;−1&lt;/sub&gt;) for 2≤&lt;i&gt;i&lt;/i&gt;≤&lt;i&gt;s&lt;/i&gt; and &lt;i&gt;s&lt;/i&gt;+2≤&lt;i&gt;i&lt;/i&gt;≤&lt;i&gt;s&lt;/i&gt;+&lt;i&gt;t&lt;/i&gt;.&lt;/li&gt;&#xA;&lt;li&gt;&lt;i&gt;l&lt;/i&gt;(&lt;i&gt;u&lt;/i&gt;&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt;)=0 for &lt;i&gt;s&lt;/i&gt;+&lt;i&gt;t&lt;/i&gt;+1≤&lt;i&gt;i&lt;/i&gt;≤&lt;i&gt;n&lt;/i&gt;.&lt;/li&gt;&#xA;&lt;li&gt;&lt;i&gt;l&lt;/i&gt;(&lt;i&gt;v&lt;/i&gt;&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt;)=&lt;i&gt;l&lt;/i&gt;(&lt;i&gt;u&lt;/i&gt;&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt;)+&lt;i&gt;a&lt;/i&gt;&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt; for 1≤&lt;i&gt;i&lt;/i&gt;≤&lt;i&gt;n&lt;/i&gt;.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;It is easy to verify that this assignment is feasible and uses at most &lt;i&gt;n&lt;/i&gt; distinct labels.  (The graph &lt;i&gt;H&lt;/i&gt;&lt;sub&gt;&lt;i&gt;l&lt;/i&gt;&lt;/sub&gt; in this case consists of two edge-disjoint paths from the vertex labeled 0 to the vertex labeled $\sum_{i=1}^s a_i = \sum_{i=s+1}^{s+t} a_i$ and &lt;i&gt;n&lt;/i&gt;−&lt;i&gt;s&lt;/i&gt;−&lt;i&gt;t&lt;/i&gt; edges originating at the vertex labeled 0.)  &lt;strong&gt;QED&lt;/strong&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;References&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[WY92] Gerhard J. Woeginger and Zhongliang Yu.  On the equal-subset-sum problem.  &lt;em&gt;Information Processing Letters&lt;/em&gt;, 42(6):299–302, July 1992.  &lt;a href=&quot;http://dx.doi.org/10.1016/0020-0190(92)90226-L&quot; rel=&quot;nofollow&quot;&gt;http://dx.doi.org/10.1016/0020-0190(92)90226-L&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="567" LastEditorUserId="567" LastEditDate="2010-09-25T01:00:39.123" LastActivityDate="2010-09-25T01:00:39.123" CommentCount="10" ContentLicense="CC BY-SA 2.5" />
  <row Id="1655" PostTypeId="2" ParentId="1651" CreationDate="2010-09-24T22:57:50.430" Score="1" Body="&lt;p&gt;&lt;strong&gt;EDIT: This proof is wrong, as pointed out in the comments. (Should I delete the post?)&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It intuitively feels like if Hamiltonicity is NP-hard for k-regular graphs, then it should also be NP-hard for (k+1)-regular graphs. Here's a back-of-the-envelope reduction, which looks fine to me, but of course there could be a mistake.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let G be a k-regular graph. Let G' be a the graph Cartesian product of G and an edge. In other words, G' is the graph which has two copies of G, and every vertex is connected to its copy. G' is now (k+1) regular, since each vertex got 1 extra edge.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Claim:&lt;/strong&gt; G has a Hamiltonian cycle if and only if G' has a Hamiltonian cycle.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Proof:&lt;/strong&gt;  If G has a Hamiltonian cycle, it's easy to see that G' has one too. Say (u,v) is an edge in the Hamiltonian cycle. Traverse the cycle from u to v without using that edge, and now instead of using the edge, go to v' from v, where v' is the vertex corresponding to v in the copy of G. Now traverse the cycle in the reverse order in this graph, which will bring us back to u'. Now go from u' to u, which completes the cycle.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If G' has a Hamiltonian cycle starting from vertex u, consider the same sequence of traversals on G. Every time a move is made to an adjacent vertex in the same graph, we make the same move in G. Every time a move is made to the corresponding vertex in the other graph, we  do nothing. Since every move is valid on the graph G, and the cycle ends on vertex u, this is a Hamiltonian cycle. &lt;/p&gt;&#xA;" OwnerUserId="206" LastEditorUserId="206" LastEditDate="2010-09-24T23:26:38.790" LastActivityDate="2010-09-24T23:26:38.790" CommentCount="6" ContentLicense="CC BY-SA 2.5" />
  <row Id="1656" PostTypeId="2" ParentId="1651" CreationDate="2010-09-25T00:10:17.657" Score="17" Body="&lt;p&gt;First step let assume the graph has even number of vertices. In the second stage, we will extend the construction, so that if k is even, then we will show how to turn the graph into having odd number of vertices.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The solution is a refinement of the idea suggested in the other answer.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;First part&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;Claim: Given a $k$-regular graph $G$ with even number of vertices, one can compute a graph $H$ which is $(k+1)$-regular, and $H$ is Hamiltonian iff $G$ is Hamiltonian.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Proof:&#xA;Take two copies of the $k$-regular graph $G$, let call them $G_1$ and $G_2$. For a vertex $v \in V(G)$, let $v_1$ and $v_2$ be the corresponding copies. Create a clique with $k+2$ vertices for $v$. Pick two vertices $v'$ and $v''$ in this clique, and remove the edge between them. Next, connect $v_1$ to $v'$ and $v_2$ to $v''$. Let $C(v)$ denote this component for $v$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Repeat this for all the vertices of $G$, and let $H$ denote the resulting graph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Clearly, the graph $H$ is $k+1$ regular. We claim that $H$ is Hamiltonian if and only if $G$ is Hamiltonian. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;One direction is clear. Given a Hambiltonian cycle in $G$, we can translate it into a cycle in $H$. Indeed, whenever the cycle visits a vertex $v$, we interpret it as moving from $v_1$ to $v_2$ (or vice versa) while visiting all the vertices in $C(v)$. &#xA;As such, this results in a Hamiltonian cycle in $H$. (Note, that this is where we are using the fact that the original number of vertices is even - if the cycle is odd this breaks down.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As for the other direction, consider a Hamiltonian cycle in $H$. It must be that $C(v)$ is visited by a portion of the cycle that starts in $v_1$, visits all the vertices of $C(v)$ and leaves from $v_2$ (or the symmetric option). Indeed, the Hamiltonian cycle can not enter and leave from the same $v_i$. As such, a Hamiltonian cycle in $H$ as a natural interpretation as a Hamiltonian cycle in $G$. &#xA;QED.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Second part&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;As noted below  by Tsuyoshi any 3-regular graph has even number of vertices. As such, the problem is hard for a $3$-regular graph with even number of vertices. Namely, the above reduction shows the problem is hard for any $k$-regular graph, although the resulting graph has an even number of vertices.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We observe, that this implies that the following problem is NP-hard.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Problem A: Deciding if a k-regular graph $G$ with even number of vertices has an Hamiltonian cycle going through a specific edge $e$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, if $k$ is even then given an instance $(G, e)$ we can reduce it to desired problem. Indeed, we replace the edge $e$ by a clique of $k+1$ vertices, as before deleting one edge in the clique, and connecting its two endpoints to the endpoints of $e$, and removing $e$ from the graph. Clearly, for the new graph $H$:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$H$ is $k$-regular.&lt;/li&gt;&#xA;&lt;li&gt;$H$ is Hamiltonian iff $G$ is Hamiltonian with a cycle using $e$.&lt;/li&gt;&#xA;&lt;li&gt;$H$ has $|V(G)| + k+1$ vertices =&gt; $H$ has odd number of vertices.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Note,  that a $k$-regular graph, for $k$ odd, must have an even number of vertices (just count the edges), As such, there are no $k$-regular graphs with odd number of vertices, with $k$ being odd.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;h2&gt;Result&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;It is NP-Hard to decide if a $k$-regular graph has a Hamiltonian cycle for $k\geq 3$. The problem remains NP-Hard even if the graph has an odd number of vertices.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Of course, it is always possible I made some stupid mistake...&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;h2&gt;Exercise&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;If we want to go from a graph that is $k$-regular to a graph that is (say) $2k$-regular then the graph resulting from applying the above reduction repeatedly results in a graph with a size that depends exponentially on $k$. Show, that given a $k$-regular graph $G$,  and $i &gt;2$, one can construct a graph $H$ that is $(k+i)$-regular and its size is polynomial in $k,i$ and $n$, where $n$ is the number of vertices of $G$. Furthermore, $G$ is Hamiltonian if and only if $H$ is Hamiltonian.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(I am posting this as an exercise, not a question, since I know how to solve this.)&lt;/p&gt;&#xA;" OwnerUserId="9594" LastEditorUserId="9594" LastEditDate="2010-09-26T22:15:41.010" LastActivityDate="2010-09-26T22:15:41.010" CommentCount="13" ContentLicense="CC BY-SA 2.5" />
  <row Id="1657" PostTypeId="1" AcceptedAnswerId="2014" CreationDate="2010-09-25T03:30:50.870" Score="15" ViewCount="690" Body="&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Savitch%27s_theorem&quot;&gt;Savitch&lt;/a&gt; gave a deterministic algorithm to solve &lt;a href=&quot;http://en.wikipedia.org/wiki/St-connectivity&quot;&gt;st-connectivity&lt;/a&gt; using $O({\log}^2{n})$ space, implying $NL \subseteq DSPACE({\log}^2{n})$. Savitch’s algorithm runs in time $2^{O({\log}^2{n})}$. It is a major open problem whether st-connectivity can be solved by a deterministic algorithm in polynomial time and $O({\log}^2{n})$ space i.e., whether $NL \subseteq SC^2$. $RL$, which lies between $L$ and $NL$, is &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.47.2997&quot;&gt;known&lt;/a&gt; be in $SC^2$. Hence reachability in directed graphs with polynomial mixing-time is in $SC^2$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am looking for special cases of st-connectivity (that are not known to be in $L$) that have $SC^2$ algorithms. Is anything known about planar graphs, planar DAGs ?&#xA; Note that st-connectivity in DAGs remains NL-complete.&lt;/p&gt;&#xA;" OwnerUserId="344" LastEditorUserId="344" LastEditDate="2010-10-30T13:01:32.777" LastActivityDate="2010-10-30T13:01:32.777" Title="SC^2 algorithms for st-connectivity" Tags="&lt;cc.complexity-theory&gt;&lt;space-bounded&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="1658" PostTypeId="1" AcceptedAnswerId="1660" CreationDate="2010-09-25T03:59:04.440" Score="13" ViewCount="780" Body="&lt;p&gt;Assume that you are given a set of n points in the plane and you want to check whether they form a convex n polygon, i.e., if they all lie on the convex hull. I was wondering if anyone knows how to do this in o(nlogn) time, i.e., without computing the CH. &lt;/p&gt;&#xA;" OwnerUserId="1491" LastActivityDate="2010-09-27T18:41:16.703" Title="Testing whether a set of n points in the plane form a convex n polygon in o(nlogn) time" Tags="&lt;cg.comp-geom&gt;" AnswerCount="2" CommentCount="8" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="1659" PostTypeId="2" ParentId="1627" CreationDate="2010-09-25T04:39:36.997" Score="4" Body="&lt;p&gt;The faster version of the min-cut algorithm is very recursive indeed. See figure 2.5 &lt;a href=&quot;http://valis.cs.uiuc.edu/~sariel/teach/10/a_rand_alg/lec/02_mincut.pdf&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;, or any standard randomized algorithms textbook.&lt;/p&gt;&#xA;" OwnerUserId="9594" LastActivityDate="2010-09-25T04:39:36.997" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="1660" PostTypeId="2" ParentId="1658" CreationDate="2010-09-25T05:01:08.190" Score="17" Body="&lt;p&gt;Thats seems unlikely, at least in the comparison/algebraic tree models. Definition first:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A point set $P$ is in convex position if no point of $P$ can be written as a convex combination of the remaining points of $P$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, deciding if a set of $n$ numbers are all distinct takes $\Omega(n \log n)$ time (this is known as UNIQUENESS). Given such a set of $n$ numbers $X$, map them to the set of points&#xA;$$&#xA;P = \{ (x, x^2) | x \in X\}.&#xA;$$&#xA;If there is no repeated number, then the points are in convex position.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If there is a repeated number, then this repeated number corresponds to a point that can be written as a convex combination of the remaining points. Namely, the points are not in convex position.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Namely, deciding if a point set is in convex position is as hard as UNIQUENESS.&lt;/p&gt;&#xA;" OwnerUserId="9594" LastEditorUserId="9594" LastEditDate="2010-09-27T18:41:16.703" LastActivityDate="2010-09-27T18:41:16.703" CommentCount="6" ContentLicense="CC BY-SA 2.5" />
  <row Id="1661" PostTypeId="2" ParentId="1638" CreationDate="2010-09-25T06:22:19.673" Score="5" Body="&lt;p&gt;Here are several open problems:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1-Major open problem is the problem of computing approximate Nash equilibria.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2- Existence of efficient algorithm for computing pure Nash equilibria in congestion&#xA;games?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;3-finding equilibria with minimum inefficiency?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;4-Tim Roughgarden, in Communications of the ACM , posed the following open problem:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;to what extent is “incentive-compatible” efficient computation fundamentally less powerful&#xA;  than “classical” efficient computation?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://portal.acm.org/citation.cfm?id=1785439&amp;amp;dl=GUIDE&amp;amp;coll=GUIDE&quot;&gt;Algorithmic game theory,&lt;/a&gt;&#xA;&lt;a href=&quot;http://portal.acm.org/citation.cfm?id=1785439&amp;amp;dl=GUIDE&amp;amp;coll=GUIDE&quot;&gt;&lt;/a&gt;Communications of the ACM, Volume 53 , Issue 7,  (July 2010)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, these references contains some open problems:&#xA;Nisan, Roughgarden, Tardos, and Vazirani, editors. Algorithmic Game Theory. Cambridge&#xA;University Press, 2007.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;T. Roughgarden. Algorithmic game theory: Some greatest hits and future directions. In TCS ’08, p. 21–42.&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2010-09-25T07:17:49.807" LastActivityDate="2010-09-25T07:17:49.807" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="1662" PostTypeId="1" AcceptedAnswerId="1667" CreationDate="2010-09-25T06:50:21.973" Score="28" ViewCount="1453" Body="&lt;p&gt;I want to know if non-uniformity helps computing functions in practice. It is easy to show that there are functions in &lt;span class=&quot;math-container&quot;&gt;$P/poly - P$&lt;/span&gt;, take any uncomputable function &lt;span class=&quot;math-container&quot;&gt;$f$&lt;/span&gt; and consider the language {&lt;span class=&quot;math-container&quot;&gt;$0^{f(n)}:n\in \omega$&lt;/span&gt;}, which clearly has simple non-uniform circuits, but is not computable uniformly at all, but this is not the kind of functions I am interested in.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Is there a function that we know it can be computed non-uniformly but we don't know if it can be computed uniformly (or at least proving that it can not be computed uniformly is not obvious)?&lt;/p&gt;&#xA;&lt;p&gt;How can non-uniformity of circuits be used for computing functions that are not known to be computable uniformly (with almost the same amount of resources)?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Please note that I don't want pathological functions like uncomputable one mentioned above, I want natural functions that people are really interested in computing and it is plausible that can be or could have been computed uniformly.&lt;/p&gt;&#xA;&lt;p&gt;Edit:&#xA;I know that &lt;span class=&quot;math-container&quot;&gt;$BPP \subseteq P/poly$&lt;/span&gt;. So an answer which is not a derandomizations result is more interesting for me.&lt;/p&gt;&#xA;&lt;p&gt;Edit 2:&#xA;As András Salamon and Tsuyoshi Ito have said in their answers, &lt;span class=&quot;math-container&quot;&gt;$Sparse \subset P/poly$&lt;/span&gt;, and there are interesting problems in &lt;span class=&quot;math-container&quot;&gt;$Sparse$&lt;/span&gt; that are not known to be in &lt;span class=&quot;math-container&quot;&gt;$P$&lt;/span&gt;, so formally they have answered what I have asked, but that does not help with what I am really interested in since the reason that they are in &lt;span class=&quot;math-container&quot;&gt;$P/poly$&lt;/span&gt; is the possibility of hard coding a sparse language into the circuit. A language which is not sparse would be more interesting.&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2010-09-26T14:55:25.173" Title="Is there a candidate for a natural problem in $P/poly - P$?" Tags="&lt;cc.complexity-theory&gt;&lt;uniformity&gt;" AnswerCount="3" CommentCount="1" FavoriteCount="11" ContentLicense="CC BY-SA 2.5" />
  <row Id="1663" PostTypeId="2" ParentId="1639" CreationDate="2010-09-25T11:13:00.173" Score="12" Body="&lt;p&gt;Here, I write an excerpt of the following paper:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Valiant, L. G. and Vazirani, V. V. 1986. NP is as easy as detecting unique solutions. &lt;em&gt;Theor. Comput. Sci.&lt;/em&gt; 47, 1 (Nov. 1986), 85-93. DOI= &lt;a href=&quot;http://dx.doi.org/10.1016/0304-3975(86)90135-0&quot;&gt;http://dx.doi.org/10.1016/0304-3975(86)90135-0&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;For every known NP-complete problem, the number of solutions of its instances varies over a large range, from zero to exponentially many. It is therefore natural to ask if the inherent intractability of NP-complete problem is caused by this wide variation. We give a negative answer to this question using the notion of randomized polynomial time reducibility. We show that the problems of distinguishing between instances of SAT having zero or one solution, or of finding solutions to instances of SAT having a unique solution, are as hard as SAT, under randomized reductions.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I also suggest looking at the relevant paper:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Beigel, R., Buhrman, H., and Fortnow, L. 1998. NP might not be as easy as detecting unique solutions. In &lt;em&gt;Proceedings of the Thirtieth Annual ACM Symposium on theory of Computing&lt;/em&gt; (Dallas, Texas, United States, May 24 - 26, 1998). STOC '98. ACM, New York, NY, 203-208. DOI= &lt;a href=&quot;http://doi.acm.org/10.1145/276698.276737&quot;&gt;http://doi.acm.org/10.1145/276698.276737&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="873" LastEditorUserId="873" LastEditDate="2010-09-27T02:34:41.900" LastActivityDate="2010-09-27T02:34:41.900" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1664" PostTypeId="1" AcceptedAnswerId="1665" CreationDate="2010-09-25T12:37:48.890" Score="10" ViewCount="309" Body="&lt;p&gt;Is there known any complexity class containing online counterparts of optimization problems? If not, then how such class can be defined?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We know that many problems have their online version: e.g. online version of bin packing problem. The online problems are harder as measured by their competitive ratios.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;And I haven't found anything similar in &lt;a href=&quot;http://qwiki.stanford.edu/wiki/Complexity_Zoo&quot;&gt;complexity zoo&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Essentially, we could say that there are no online problems, but only online algorithms for offline problems. However, if there are online problems, why there can't be complexity class containing them?&lt;/p&gt;&#xA;" OwnerUserId="1060" LastEditorUserId="1060" LastEditDate="2010-09-25T13:50:38.827" LastActivityDate="2017-09-01T02:33:39.147" Title="Is there known any complexity class containing online counterparts of optimization problems?" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;" AnswerCount="2" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="1665" PostTypeId="2" ParentId="1664" CreationDate="2010-09-25T14:22:09.300" Score="4" Body="&lt;p&gt;One tricky aspect of defining complexity classes for online problems is that there's in principle no limit on what kinds of computations I can do once I've read the input. In other words, online problems are hard even if I have (for example) an NP oracle processing the input once it arrives. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's conceivable that with a more limited processor, even simpler prediction tasks become harder to perform, but in general the difficulty of designing online algorithms comes from the ability of the adversary to change the input after you've built a prediction model. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2010-09-25T14:22:09.300" CommentCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="1667" PostTypeId="2" ParentId="1662" CreationDate="2010-09-25T14:42:06.557" Score="13" Body="&lt;p&gt;I do not know if this satisfies your requirements, but &lt;a href=&quot;http://blog.computationalcomplexity.org/2010/07/spares-problems-in-np-thought-to-not-be.html&quot;&gt;Bill Gasarch’s blog post in July 2010&lt;/a&gt; asks about languages in &lt;a href=&quot;http://qwiki.stanford.edu/wiki/Complexity_Zoo%3aS#sparse&quot;&gt;SPARSE&lt;/a&gt;∩NP which are not thought to be in P, giving an example from Ramsey Theory.  Any such languages belong to (P/poly)∩NP.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Related to this, For any language &lt;i&gt;L&lt;/i&gt;∈NP, the language &lt;i&gt;T&lt;/i&gt;&lt;sub&gt;&lt;i&gt;L&lt;/i&gt;&lt;/sub&gt;={1&lt;sup&gt;&lt;i&gt;n&lt;/i&gt;&lt;/sup&gt;: &lt;i&gt;L&lt;/i&gt; contains some string of length &lt;i&gt;n&lt;/i&gt;} is in &lt;a href=&quot;http://qwiki.stanford.edu/wiki/Complexity_Zoo%3aT#tally&quot;&gt;TALLY&lt;/a&gt;∩NP ⊆ SPARSE∩NP ⊆ (P/poly)∩NP.  Depending on the choice of the language &lt;i&gt;L&lt;/i&gt;, &lt;i&gt;T&lt;/i&gt;&lt;sub&gt;&lt;i&gt;L&lt;/i&gt;&lt;/sub&gt; may not have an obvious reason to belong to P.&lt;/p&gt;&#xA;" OwnerUserId="567" LastActivityDate="2010-09-25T14:42:06.557" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1668" PostTypeId="2" ParentId="652" CreationDate="2010-09-25T14:59:37.313" Score="6" Body="&lt;p&gt;Apparently, this paper by Cygan, Pilipczuk, Pilipczuk and Wojtaszczyk (2010+) gives a faster (polynomial time) algorithm: &lt;a href=&quot;http://arxiv.org/abs/1004.5010&quot; rel=&quot;nofollow&quot;&gt;http://arxiv.org/abs/1004.5010&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It was accepted to SODA 2011.&lt;/p&gt;&#xA;" OwnerUserId="233" LastEditorUserId="233" LastEditDate="2010-09-27T14:33:51.403" LastActivityDate="2010-09-27T14:33:51.403" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1669" PostTypeId="1" AcceptedAnswerId="1670" CreationDate="2010-09-25T17:06:48.237" Score="2" ViewCount="291" Body="&lt;p&gt;Let $L$ be a language in P/poly.  There is then a deterministic polynomial-time Turing machine $M$ with polynomial-sized advice that decides $L$.  Consider the language $A(M)$ of all advice strings given to $M$ for instances in $L$.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is $A(M)$ in P/poly?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit 2:&lt;/strong&gt; &lt;em&gt;For $A(M)$ I am envisaging a specific, unique advice language; the existence of some advice language is guaranteed by the definition of $L$, so for $A(M)$ pick any such language, such as the lexicographically smallest.  Note that $A(M)$ is not necessarily decidable.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A handwaving (non-)argument for believing this goes something like this.  Every unary language is in P/poly, since a single bit of advice is enough to indicate whether the input is in the language or not.  In some sense advice languages are &quot;sparsifications&quot; of their associated languages; the advice language $A(M)$ contains a sparser representation of some of the information contained in language $L$, tweaked for the specific machine $M$.  &lt;strike&gt;(The advice language could be exponentially sparser, if every string is an instance of the problem, but for sparse languages the advice language may actually be polynomially denser.)&lt;/strike&gt;  So it would seem to make sense that sparsifications of languages in P/poly could also be in this class.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Moreover, is there a general relationship between the complexity of $L$ and that of $A(M)$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;These seem like basic questions, so pointers to relevant literature would be appreciated if these are well-known.  A counterexample for the handwaving above would also be useful!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit:&lt;/strong&gt; removed a sentence that wasn't even wrong, and based on the comments from Robin and Tsuyoshi, redefined the advice language to depend on $M$ only, as $M$ already depends on $L$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit 3:&lt;/strong&gt; I think Hrushikesh captured the essential problem here, so I am accepting the answer; Tsuyoshi also said essentially the same thing in a comment.  In short, $A(M)$ can be arbitrary.  Any language can be fed as advice to $M$ by waiting until the input instances of the decision problem are large enough for the next piece of advice to be within the polynomial bound.  This also means that I should really have asked the question in terms of a decision problem (where there are both YES and NO instances), not a language, to avoid the case where there are only finitely many YES instances.&lt;/p&gt;&#xA;" OwnerUserId="109" LastEditorUserId="109" LastEditDate="2010-09-27T16:00:37.733" LastActivityDate="2010-09-27T16:00:37.733" Title="Complexity of advice language?" Tags="&lt;cc.complexity-theory&gt;&lt;circuit-complexity&gt;&lt;circuit-families&gt;&lt;advice-and-nonuniformity&gt;" AnswerCount="1" CommentCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="1670" PostTypeId="2" ParentId="1669" CreationDate="2010-09-25T17:24:50.040" Score="5" Body="&lt;p&gt;&lt;em&gt;Rigorous and probably more correct version at the bottom.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I don't think so. Consider the case where A(L,M) consists of advice strings of even length. To decide if x is in L, the machine M gets advice yz where y and z are strings of equal length. M discards z and decides membership of x in L only depending on y. Let y be of length n, and let z range over some arbitrary subset S of strings of length n.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In such a case, A(L,M) cannot be in P/Poly since given a string yz, the machine has to test membership of z in S. But since the advice is of length poly(n), the machine cannot work correctly for every S by counting argument.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Another more rigorous version:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let L be the trivial language containing all strings. The machine M ignores its advice and accepts every input. The task is now to construct the set of advice strings A(M) which cannot be in P/Poly subject to the constraint that strings in L of length $n$ get advice of length $O(poly(n))$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For every length $i$, let $S_i \subseteq {0,1}^i$. Let $S = \cup_i S_i$. Construct a mapping $f: S \rightarrow Z^+$ such that $|s| \leq f(s)$. The mapping just enumerates the strings in $S$ in non-decreasing order of length. The string $s$ serves as advice to M for strings of length $f(s)$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;By choosing $S_i$ to be of superpolynomial description size (can be done because of counting arguments), we get that $S$ (which is also $A(M)$) lies outside P/Poly.&lt;/p&gt;&#xA;" OwnerUserId="1255" LastEditorUserId="1255" LastEditDate="2010-09-27T15:48:18.180" LastActivityDate="2010-09-27T15:48:18.180" CommentCount="6" ContentLicense="CC BY-SA 2.5" />
  <row Id="1671" PostTypeId="2" ParentId="1618" CreationDate="2010-09-25T18:05:48.213" Score="7" Body="&lt;p&gt;If they were simply talking about (non-resource-bounded) Kolmogorov complexity, then $K$ would be uncomputable (otherwise you could use a machine computing $K$ to give short descriptions of the strings $x \in K$, since all you need to do is describe the machine and the length $n$ of $x$, and we have $K(x) = n$ yet $K(n) \leq \log n$), hence $B$ would be uncomputable as well.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, the paper Abadi et al. reference (&lt;a href=&quot;http://www.computer.org/portal/web/csdl/doi/10.1109/SFCS.1983.21&quot; rel=&quot;nofollow&quot;&gt;Hartmanis. Generalized Kolmogorov complexity and the structure of feasible computations. FOCS 1983.&lt;/a&gt;) uses a resource-bounded version Kolmogorov complexity.  Let $U$ be an efficient universal Turing machine. Define $K_U[f(n), g(n)]$ to be the sets of strings $x$ such that there is a string $d$ of length $|d| \leq f(|x|)$ such that $x = U(d)$ and the computation of $U(d)$ takes at most $g(|x|)$ time. At the top of the second column on p. 444 of that paper, Hartmanis describes how to use this concept to construct a (computable) oracle relative to which $P \neq NP$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is Hartmanis' idea, adapted to the Abadi et al. result.  Let $tow_3(1)=2$ and $tow_3(n+1)=2^{2^{2^{n}}}$ (which I believe is the function you described). By standard diagonalization (e.g. as in the time hierarchy theorem), construct a tally set $C$ such that $C \subseteq \{1^{tow_3(n)} : n \geq 1\}$ and $C \in TIME[n^{\log n}] - P$. Now place the first string of length $tow_3(n)$ from $K[\log n, n^{\log n}] - K[\log n, n^{\log \log n}]$ into $K$ iff $1^{tow_3(n)} \in C$. Since $C = \{1^n : (\exists x)[|x|=n \text{ and } x \in K]\}$, we have $C \in NP^{K}$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;We also have $C \notin P^{K}$, hence $P^K \neq NP^K$. Suppose for the sake of contradiction that $C \in P^{K}$. Then there is a poly-time oracle machine $M$ such that $C = L(M^K)$. I claim that this implies $C \in P$ (without the oracle!), contradicting the construction of $C$. Here's the poly-time algorithm: on input $x = 1^{tow_3(n_0)}$:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Compute all strings in $K$ of length strictly less than $|x|$. This can be done in polynomial time because all such strings have length at most $\log \log \log |x|$, and we just need to test the computation of $U(d)$ on even smaller strings $d$, for amounts of time that are still very small compared to $|x|$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Run $M(x)$, simulating oracle queries to smaller strings with the results of (1). If $M(x)$ ever queries a string of length $|x|$, simulate that query with a &quot;NO&quot; answer.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;The reason step (2) works it that, for sufficiently large input lengths, if there is a string $y \in K$ of that length, $M^K$ &lt;em&gt;cannot query $y$&lt;/em&gt;, so we can simulate all such queries with a NO answer.  If it did query $y$, then we would have $y \in K[\log n, n^k]$ (where $n^k$ bounds the run-time of $M$), contradicting the fact that we chose $y$ to be &lt;em&gt;not in&lt;/em&gt; $K[\log n, n^{\log \log n}]$.&lt;/p&gt;&#xA;" OwnerUserId="129" LastEditorUserId="129" LastEditDate="2010-09-26T04:32:47.097" LastActivityDate="2010-09-26T04:32:47.097" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="1672" PostTypeId="2" ParentId="1657" CreationDate="2010-09-25T20:05:51.867" Score="9" Body="&lt;p&gt;The last complexity conference showed some progress on this question. &lt;a href=&quot;http://www.math.unl.edu/~s-dstolee1/Papers/SBV09-LogspacePlanarDAGs.pdf&quot;&gt;Reachability in planar DAGs with $O(\log n)$ sources can be solved in $O(\log n)$ space&lt;/a&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is also a recent survey by Allender: &lt;a href=&quot;http://www.springerlink.com/content/e170qw2656276104/&quot;&gt;&quot;Reachability Problems: An Update&quot;&lt;/a&gt; &lt;/p&gt;&#xA;" OwnerUserId="225" LastEditorUserId="225" LastEditDate="2010-09-25T21:04:54.707" LastActivityDate="2010-09-25T21:04:54.707" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="1673" PostTypeId="2" ParentId="1662" CreationDate="2010-09-25T21:31:48.777" Score="8" Body="&lt;p&gt;Tsuyoshi Ito's elegantly sparse phrasing in another answer does not explicitly say so, but perhaps it is worth pointing out: any sparse language is in P/poly.  Then also any tally language is in P/poly (as every tally language is sparse).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So one way to find &quot;natural&quot; languages in P/poly but not in P, is to look for &quot;hard&quot; sparse languages.  As you point out, the &quot;hardest&quot; are the undecidable ones when encoded in a sparse way, for instance in unary.  More generally, the unary encoded version of any language outside EXP will then be outside P.  (If not, then consider the exponential-time Turing machine that generates the unary encoding, composed with the machine that solves the resulting unary-encoded language in time that is polynomial in the unary encoding.  This is exponential in the size of the original instance.  The overall machine then runs in exponential time.)  Some handy 2-EXP-complete language might then suit your taste as a &quot;natural&quot; problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that Bill Gasarch's sparse Ramsey-theoretic language seems to fall into the category of languages constructed by sparsifying a hard language.  If one encodes the instance as a triple of binary numbers instead of two unary and one binary, then the colouring is no longer of polynomial size, so the language is not obviously in NP.&lt;/p&gt;&#xA;" OwnerUserId="109" LastEditorUserId="109" LastEditDate="2010-09-26T04:28:43.150" LastActivityDate="2010-09-26T04:28:43.150" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1674" PostTypeId="2" ParentId="1612" CreationDate="2010-09-26T01:26:26.887" Score="10" Body="&lt;p&gt;Although this is not quite what you are asking about, it is in the same vein and hopefully you (and other readers of your question) will find it of interest.  You should definitely read up on the &lt;a href=&quot;http://en.wikipedia.org/wiki/Curry%E2%80%93Howard_correspondence&quot;&gt;Curry-Howard correspondence&lt;/a&gt;, which says that the category of programs is, in a specific sense, isomorphic to the category of &lt;em&gt;constructive&lt;/em&gt; proofs.  (This is discussing proofs and computability at a different level than the other answers.)&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2010-09-26T01:26:26.887" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="1675" PostTypeId="1" AcceptedAnswerId="1676" CreationDate="2010-09-26T03:05:00.160" Score="8" ViewCount="384" Body="&lt;p&gt;In the paper &lt;a href=&quot;http://dx.doi.org/10.1137/0204037&quot; rel=&quot;nofollow noreferrer&quot;&gt;Relativizations of the P = ? NP Question&lt;/a&gt;, Baker &lt;em&gt;et al.&lt;/em&gt; showed that there are relativized worlds in which either P = NP or P ≠ NP holds. All oracles in their settings were recursive sets.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In another paper &lt;a href=&quot;http://dx.doi.org/10.1137/0210008&quot; rel=&quot;nofollow noreferrer&quot;&gt;Relative to a Random Oracle $A$, ${\bf P}^A \ne {\bf NP}^A \ne \text{co-}{\bf NP}^A $ with Probability $1$&lt;/a&gt;, Bennett and Gill put forward the notion of random oracles, which are &lt;a href=&quot;http://en.wikipedia.org/wiki/Almost_surely&quot; rel=&quot;nofollow noreferrer&quot;&gt;almost surely&lt;/a&gt; non-recursive sets. (See the comments below.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I wasn't aware of any other non-recursive relativizations, unless I came up with one (see &lt;a href=&quot;https://cstheory.stackexchange.com/q/1618/873&quot;&gt;this question&lt;/a&gt; and Joshua's answer to it.)&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What are the implications of non-recursive relativizations? How are they useful in structural complexity theory?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="873" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2010-11-04T16:47:05.760" Title="Relativization with Respect to Non-Recursive Oracles" Tags="&lt;cc.complexity-theory&gt;&lt;computability&gt;&lt;oracles&gt;&lt;relativization&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="7" ContentLicense="CC BY-SA 2.5" />
  <row Id="1676" PostTypeId="2" ParentId="1675" CreationDate="2010-09-26T04:30:05.977" Score="8" Body="&lt;p&gt;(1) &lt;a href=&quot;http://www.cs.uchicago.edu/~fortnow/papers/relative.pdf&quot; rel=&quot;nofollow&quot;&gt;Lance Fortnow&lt;/a&gt; and &lt;a href=&quot;http://eccc.uni-trier.de/report/2009/104/&quot; rel=&quot;nofollow&quot;&gt;Scott Aaronson (Section 1.3)&lt;/a&gt; give good discussions about the role of oracles/relativization in general, and I believe most, if not all, of their comments remain valid whether or not the oracle is computable.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, thinking of oracle separations as query complexity separations (one of the views in Aaronson's paper), a non-computable oracle gives a query complexity separation where the function being queried is non-computable, which means the function being queried probably didn't arise in the real world.  Nonetheless, it still seems like a potentially good guide to research.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(2) From the point of view of the &lt;a href=&quot;http://cseweb.ucsd.edu/~russell/ias.ps&quot; rel=&quot;nofollow&quot;&gt;Arora, Impagliazzo, and Vazirani&lt;/a&gt; paper, I'd say that non-computable oracles are far far outside the realm of the &quot;real world&quot; of computation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(3) If we think of the &quot;computational world relative to an oracle&quot; as simply another model of computation, then relative to a computable oracle the computable sets in this model are of course the same as the standard model, whereas relative to a non-computable oracle, there are &quot;computable&quot; sets that are not computable in the standard model.  (This is completely trivial -- it's mostly a philosophical viewpoint.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(4) In a similar manner to random oracles, &lt;a href=&quot;http://dx.doi.org/10.1016/S0890-5401(03)00018-X&quot; rel=&quot;nofollow&quot;&gt;generic oracles&lt;/a&gt; tend not to be computable, though I imagine many (but probably not all) generic oracle constructions can be adapted with very little work to get computable oracles from them.  (There is in fact a notion of genericity $\mathcal{R}$ such that $\mathcal{R}$-generic oracle results are the same thing as random oracle results, so this is really a generalization of the observation about randoms.)&lt;/p&gt;&#xA;" OwnerUserId="129" LastEditorUserId="129" LastEditDate="2010-09-29T00:08:54.807" LastActivityDate="2010-09-29T00:08:54.807" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1677" PostTypeId="1" AcceptedAnswerId="1678" CreationDate="2010-09-26T05:27:48.507" Score="21" ViewCount="15325" Body="&lt;p&gt;When putting together results, it's often desirable to have some professional looking diagrams, rather than diagrams put together in MS Paint.  What is the standard for drawing data structures?&lt;/p&gt;&#xA;" OwnerUserId="1506" LastEditorUserId="186" LastEditDate="2010-10-28T10:51:45.717" LastActivityDate="2014-05-23T07:28:15.853" Title="What is the recommended software for drawing data structures such as graphs and trees?" Tags="&lt;soft-question&gt;&lt;ds.data-structures&gt;&lt;software&gt;&lt;graph-drawing&gt;&lt;writing&gt;" AnswerCount="9" CommentCount="5" FavoriteCount="21" ContentLicense="CC BY-SA 2.5" />
  <row Id="1678" PostTypeId="2" ParentId="1677" CreationDate="2010-09-26T06:12:06.080" Score="19" Body="&lt;p&gt;The MO thread Per links to is pretty good, and t&lt;a href=&quot;https://tex.stackexchange.com/questions/1282/what-do-people-use-for-modifying-figures&quot;&gt;his thread on tex.SE&lt;/a&gt; is also handy. The main tools that I've used:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.google.com/url?sa=t&amp;amp;source=web&amp;amp;cd=4&amp;amp;ved=0CCcQFjAD&amp;amp;url=http%3A%2F%2Fwww.texample.net%2Ftikz%2Fexamples%2F&amp;amp;rct=j&amp;amp;q=tikz%20pgf&amp;amp;ei=_OOeTN62HMrVngfsjJGjDQ&amp;amp;usg=AFQjCNHYwa-5VCDCNbFlPLyxbNU_JJA1qQ&amp;amp;sig2=N0gpOwiiigHXtRZpgjI8-g&amp;amp;cad=rja&quot; rel=&quot;nofollow noreferrer&quot;&gt;TIkz/PGF&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://ipe7.sourceforge.net/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Ipe&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://inkscape.org/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Inkscape&lt;/a&gt;/Illustrator&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I know that Mac folks swear by Omnigraffle, but I have zero experience with it myself. The main criteria for me are:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Generating PDF&lt;/li&gt;&#xA;&lt;li&gt;Integrating LaTeX (with source styles for bonus points)&lt;/li&gt;&#xA;&lt;li&gt;Being able to do color/shading etc easily. (Ipe 7 fails on that count)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="80" LastEditorUserId="-1" LastEditDate="2017-04-13T12:36:12.330" LastActivityDate="2010-09-26T06:12:06.080" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="1679" PostTypeId="1" CreationDate="2010-09-26T06:29:01.867" Score="21" ViewCount="1043" Body="&lt;p&gt;(Von Neumann gave an algorithm that simulates a fair coin given access to identical biased coins. The algorithm potentially requires an infinite number of coins (although in expectation, finitely many suffice). This question concerns the case when the number of coin tosses allowed is bounded.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose we have $n$ identical coins with bias $\delta=P[Head]-P[Tail]$. The aim is to simulate a single coin toss while minimizing bias. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The simulation must be efficient in the following sense: An algorithm running in polynomial time looks at $n$ random bits and outputs a single bit. The bias of the algorithm is defined as $Bias(A)=|E[A=0]-E[A=1]|$ where the expectation is taken over the distribution defined by $n$ i.i.d bits ${x_1,\ldots,x_n}$ such that $Prob[x_i=1]-Prob[x_i=0]=\delta$.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Which algorithm $A$ running in polynomial time has the least bias $Bias(A)$?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;This question seems very natural to me and it is very likely that it has been considered before.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is known about this problem? Is anything known when a weaker class (in $AC_0$, etc.) of algorithms is considered?&lt;/p&gt;&#xA;" OwnerUserId="1255" LastActivityDate="2010-10-01T06:50:18.383" Title="What is the best way to get a close-to-fair coin toss from identical biased coins?" Tags="&lt;cc.complexity-theory&gt;&lt;circuit-complexity&gt;&lt;pr.probability&gt;" AnswerCount="6" CommentCount="0" FavoriteCount="6" ContentLicense="CC BY-SA 2.5" />
  <row Id="1680" PostTypeId="1" AcceptedAnswerId="1698" CreationDate="2010-09-26T07:16:28.377" Score="2" ViewCount="334" Body="&lt;p&gt;It is interesting to find the best lower bound on the  number of nondeterministic bits needed to solve satisfiability problem. Let $\beta_k P$ be the class of problems solvable by a  nondeterministic Turing machine in polynomial time and using $O(\log^k n)$ nondeterministic bits.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$P=\beta_1P$. Notice that &lt;a href=&quot;https://cstheory.stackexchange.com/questions/609/what-are-the-best-known-upper-bounds-and-lower-bounds-for-computing-olog-n-cliq&quot;&gt;$O(\log n)$-clique&lt;/a&gt;&#xA;&lt;a href=&quot;https://cstheory.stackexchange.com/questions/609/what-are-the-best-known-upper-bounds-and-lower-bounds-for-computing-olog-n-cliq&quot;&gt;&lt;/a&gt; is in $\beta_2P$. &#xA;It is an open problem whether $\beta_1 P = \beta_2 P$. It is known that&#xA;$\beta_1P \neq \beta_2P$ implies $P \neq NP$&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What is the most serious attempt at separating  $\beta_1P$ from $\beta_2P$?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Does $\beta_kP=NP(\log^k n)$ form an infinite hierarchy?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This reference contains a survey of limited nondeterminism:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://archive.uky.edu/bitstream/10225/212/levythes.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;A SURVEY OF LIMITED NONDETERMINISM&#xA;IN COMPUTATIONAL COMPLEXITY THEORY&lt;/a&gt;&#xA;&lt;a href=&quot;http://archive.uky.edu/bitstream/10225/212/levythes.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2010-09-29T07:49:56.843" Title="Separation of limited nondeterminism classes?" Tags="&lt;cc.complexity-theory&gt;&lt;nondeterminism&gt;" AnswerCount="2" CommentCount="6" FavoriteCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="1681" PostTypeId="2" ParentId="1679" CreationDate="2010-09-26T07:41:40.457" Score="15" Body="&lt;p&gt;Tossing n biased coins and taking the parity of heads gets exponentially close to $\frac{1}{2}$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;[For a proof, consider a random variable that is -1 when heads and 1 when tails, then&#xA;the probability that there are an odd number of heads is just the $E\left[\frac{1}{2} + \frac{1}{2}\prod_i X_i\right] = \frac{1}{2} + \frac{1}{2}\delta^n$]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Perhaps this is also optimal for the following reason. Let $f$ be any composition function of these bits. Then, the $\text{Bias}(f) = \sum_S \hat{f}(S) \delta^{|S|}$ and the best $f$ seems to be the parity function (isn't it?). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you are interested in composition functions of lower complexity, then perhaps a paper of Ryan O'Donnell on &lt;a href=&quot;http://www.cs.cmu.edu/~odonnell/papers/hardness.pdf&quot; rel=&quot;nofollow&quot;&gt;`Hardness amplification within NP'&lt;/a&gt; would be very relevant. There he uses monotone composition functions for hardness amplifications and the functions that work are characterized by their noise sensitivity. &lt;/p&gt;&#xA;" OwnerUserId="877" LastEditorUserId="877" LastEditDate="2010-09-27T05:38:12.167" LastActivityDate="2010-09-27T05:38:12.167" CommentCount="6" ContentLicense="CC BY-SA 2.5" />
  <row Id="1682" PostTypeId="2" ParentId="1679" CreationDate="2010-09-26T07:59:48.653" Score="12" Body="&lt;p&gt;You do not say if the bias is known or unknown. The magic of von Neumann's algorithm is that it works in either case.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose it is known. The best answer then depends critically on number-theoretical features of the bias. Let's take p = 2/3. Toss the coin twice and map HH to 0 and TH and HT to 1, repeating the experiment if the outcome is TT. Then 0 and 1 are equally likely and the chance of a repeat is only 1/9 instead of 5/9 with von Neumann's algorithm. Or to put it in your terms, you only bias one of the outcomes by 1/9 if your iteration limit is 2.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is all closely related to information theory and coding theory. When p is a fraction with a more complicated numerator and denominator, the best algorithm will require a longer block length than 2. You can use a Shannon-style existence argument to show that for a given bias there is a procedure which is as optimal as you want, but the block length can get very large.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Peres in his paper &lt;a href=&quot;http://www.stat.berkeley.edu/~peres/mine/vn.pdf&quot; rel=&quot;nofollow&quot;&gt;Iterating Von Neumann's Procedure for Extracting Random Bits&lt;/a&gt; proves that a version of von Neumann's algorithm can approach the Shannon limit arbitrarily well. A lot of the work in this area seems to have been done by information theorists and statisticians, so I can't think of any paper with a complexity-theoretic slant that would give you a direct answer to your question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is a fun related problem which asks the opposite: If you have a source of fair bits, how do you efficiently generate a uniform distribution over some non-power-of-two set? The iteration-limited version of the problem that is akin to your question asks to maximize the entropy (i.e. make the distribution as uniform as possible) with n tosses of a fair coin.&lt;/p&gt;&#xA;" OwnerUserId="1435" LastEditorUserId="1435" LastEditDate="2010-09-26T08:43:34.463" LastActivityDate="2010-09-26T08:43:34.463" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="1683" PostTypeId="2" ParentId="1677" CreationDate="2010-09-26T08:52:43.623" Score="6" Body="&lt;p&gt;Suresh mentions OmniGraffle and Ross mentions Graphviz.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Actually, OmniGraffle &lt;em&gt;is&lt;/em&gt; Graphviz with a GUI (and much more). You can draw a graph (or import it from a file), then use a Graphiz-based layout engine to automatically layout the graph. You can tweak the parameters of the layout engine, and finally you can switch off automatic layout and fine-tune the placement of the nodes manually.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;That said, I still tend to use Xfig for most illustrations in my papers... The possibility to embed arbitrary Latex code in your illustrations is often essential, and that's exactly where Xfig excels (at least until you need to deal with publishers who expect self-contained EPS files).&lt;/p&gt;&#xA;" OwnerUserId="74" LastActivityDate="2010-09-26T08:52:43.623" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="1684" PostTypeId="1" AcceptedAnswerId="1692" CreationDate="2010-09-26T09:20:42.780" Score="14" ViewCount="597" Body="&lt;p&gt;Consider the lowly singly-linked list in a purely functional setting. Its praises have been sung from the mountain tops and will continue to be sung. Here I will address one among its many strengths and the question of how it may be extended to the wider class of purely functional sequences based on trees.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem is the following: You want to test for almost certain structural equality in O(1) time by means of strong hashing. If the hash function is structurally recursive, i.e. hash (x:xs) = mix x (hash xs), then you can transparently cache hash values on lists and update them in O(1) time when an element is consed onto an existing list. Most algorithms for hashing lists are structurally recursive, so this approach is eminently usable in practice.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But suppose instead of singly-linked lists you have tree-based sequences that support concatenating two sequences of length O(n) in O(log n) time. For the hash caching to work here, the hash mixing function must be associative in order to respect the degrees of freedom a tree has in representing the same linear sequence. The mixer should take the hash values of the subtrees and calculate the hash value of the whole tree.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is where I was six months ago when I spent a day mulling over and researching this problem. It seems to have received no attention in the literature on data structures. I did come across the Tillich-Zemor hashing algorithm from cryptography. It relies on 2x2 matrix multiplication (which is associative) where bits 0 and 1 correspond to the two generators of a subalgebra with entries in a Galois field.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is, what have I missed? There must be papers of relevance in both the literature on cryptography and data structures that I failed to find in my search. Any comments on this problem and possible venues to explore would be greatly appreciated.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit: I am interested in this question on both the soft and cryptographically strong ends of the spectrum. On the softer side it can be used for hash tables where collisions should be avoided but aren't catastrophic. On the stronger side it can be used for equality testing. &lt;/p&gt;&#xA;" OwnerUserId="1435" LastEditorUserId="1435" LastEditDate="2010-09-26T12:52:18.963" LastActivityDate="2013-11-01T00:44:29.340" Title="Associative hash mixing" Tags="&lt;ds.data-structures&gt;&lt;cr.crypto-security&gt;&lt;functional-programming&gt;&lt;hash-function&gt;" AnswerCount="3" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="1685" PostTypeId="2" ParentId="1677" CreationDate="2010-09-26T09:26:23.753" Score="2" Body="&lt;p&gt;For simple drawings I prefer &lt;a href=&quot;http://www.yworks.com/en/products_yed_about.html&quot; rel=&quot;nofollow&quot;&gt;yEd&lt;/a&gt;. It can be launched straight from the browser.&lt;/p&gt;&#xA;" OwnerUserId="90" LastActivityDate="2010-09-26T09:26:23.753" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1686" PostTypeId="2" ParentId="1677" CreationDate="2010-09-26T09:57:07.373" Score="4" Body="&lt;p&gt;Since some have mentioned Graphviz, there is also &lt;a href=&quot;http://www.fauskes.net/code/dot2tex/&quot; rel=&quot;nofollow&quot;&gt;dot2tex&lt;/a&gt; which converts Graphviz code into TikZ. This makes  using it within LaTeX (have mathematical expressions in labels etc.) and fine-tuning the appearance of the graph easier. You can even embed the Graphviz code directly in the TeX code (in a dot2tex environment) and have it run Graphviz automatically.&lt;/p&gt;&#xA;" OwnerUserId="977" LastActivityDate="2010-09-26T09:57:07.373" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1687" PostTypeId="2" ParentId="1677" CreationDate="2010-09-26T10:14:58.280" Score="5" Body="&lt;p&gt;I want to add &lt;a href=&quot;http://asymptote.sourceforge.net/&quot;&gt;Asymptote&lt;/a&gt; to those mentioned by others.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The Wikipedia &lt;a href=&quot;http://en.wikipedia.org/wiki/Asymptote_%28vector_graphics_language%29&quot;&gt;page&lt;/a&gt; for Asymptote.&lt;/p&gt;&#xA;" OwnerUserId="186" LastActivityDate="2010-09-26T10:14:58.280" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1688" PostTypeId="2" ParentId="1558" CreationDate="2010-09-26T10:59:54.623" Score="8" Body="&lt;p&gt;The book &quot;An Introduction to Parallal Algorithms&quot; by Joseph Jája (1992) lists the following results for transitive closure:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$O(\log n)$ time and $O(n^3 \log n)$ work on a Common CRCW PRAM.&lt;/li&gt;&#xA;&lt;li&gt;$O(\log^2 n)$ time and $O(n^\omega \log n)$ work on a CREW PRAM.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;As to the question of whether anything faster is known for special classes of graphs, Exercise 5.34 in the book gives the following example, where one can get $O(\log n)$ time on a CREW PRAM:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The class of directed acyclic graphs such that, for every two vertices $u$ and $v$, there is at most one path from $u$ to $v$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="313" LastActivityDate="2010-09-26T10:59:54.623" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="1689" PostTypeId="2" ParentId="1679" CreationDate="2010-09-26T11:15:39.523" Score="5" Body="&lt;p&gt;I prefer to think of the question in the following generalized form: we have a complete binary tree of hight n, where each node is assigned a number s.t. sum of the numbers is 1. Can we partition the leaves to two sets s.t. the sums of numbers them are close?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we have biased coin with parameter $p$ and $q=1-p$, the nodes will have values $p^i q^{n-i}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As noted in other answers, for most piratical purposes taking parity of the bits is good. The bias will be $\sum_{i} {\binom{n}{i} parity(x) p^i q^{n-i}} = \sum_{i} {\binom{n}{i} (-p)^i q^{n-i}} = (q-p)^n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In general, if we have enough computing resources (say $PSpace$ in number of random bits), we can partition the nodes in the best possible way. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT&#xA;&quot;This is basically the Shannon coding problem.&quot; (Thanks to Per Vognsen.)&#xA;END of EDIT&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, if we are only allowed to use $AC^0$, then it is not hard to show that we can not achieve much because of switching lemma. The circuit will be approximated exponentially well by a CNF and it is not hard to show that a CNF can not compute an answer with a good bias.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(This answer may contain errors, I have not checked the details.)&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2010-09-26T11:34:48.907" LastActivityDate="2010-09-26T11:34:48.907" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="1690" PostTypeId="2" ParentId="1677" CreationDate="2010-09-26T11:29:08.217" Score="12" Body="&lt;p&gt;Suresh recommended &quot;Tikz/PGF&quot; for LaTeX. In addition, for drawing graphs and the like, I recommend the following packages:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.altermundus.fr/pages/graph.html&quot; rel=&quot;nofollow&quot;&gt;tkz-graph&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.altermundus.fr/pages/graphtheory.html&quot; rel=&quot;nofollow&quot;&gt;tkz-berge&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.altermundus.fr/pages/tab.html&quot; rel=&quot;nofollow&quot;&gt;tkz-tab&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For a sample usage, see the &lt;a href=&quot;http://altermundus.fr/downloads/documents/NamedGraphs.pdf&quot; rel=&quot;nofollow&quot;&gt;gallery of named graphs&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See also other pages on &lt;a href=&quot;http://www.altermundus.fr&quot; rel=&quot;nofollow&quot;&gt;http://www.altermundus.fr&lt;/a&gt;.&#xA;(They are mostly in French, yet you can figure out the meaning using Google Translator.)&lt;/p&gt;&#xA;" OwnerUserId="873" LastEditorUserId="873" LastEditDate="2014-05-23T07:28:15.853" LastActivityDate="2014-05-23T07:28:15.853" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="1691" PostTypeId="2" ParentId="515" CreationDate="2010-09-26T11:47:20.397" Score="10" Body="&lt;p&gt;This is an old question; I hope thread necromancy is not considered poor etiquette around here.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The previous responses have focused on justifying why P and hence NP are natural classes from a complexity-theoretic point of view: it's the transitive closure of the class of linear-time problems under various natural operations, and so on.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A completely different angle on the nature of NP comes from logic. In Fagin's paper &lt;a href=&quot;http://www.almaden.ibm.com/cs/people/fagin/genspec.pdf&quot; rel=&quot;nofollow&quot;&gt;Generalized first-order spectra and polynomial-time recognizable sets&lt;/a&gt; he showed that the languages in NP are exactly those that can be defined by an existential formula in second-order logic.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The connection between complexity theory and logic goes way back: Ackermann's function famously cannot be proved total in primitive-recursive arithmetic, and there is a general principle in ordinal analysis whereby the strength of a formal system is related to the growth rate of those functions it can prove total. However, Fagin's analysis is still startling. If there was ever any doubt in your mind that NP is rightfully the centerpiece of complexity theory, his paper should dispel all trace of that. &lt;/p&gt;&#xA;" OwnerUserId="1435" LastEditorUserId="1435" LastEditDate="2010-09-26T12:06:13.970" LastActivityDate="2010-09-26T12:06:13.970" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="1692" PostTypeId="2" ParentId="1684" CreationDate="2010-09-26T12:42:32.597" Score="2" Body="&lt;p&gt;&lt;em&gt;Added&lt;/em&gt;: After reading Per’s comments, I think that this answer is just a (poor) variation of the Tillich-Zemor hashing algorithm which is already mentioned in the question.  I withdraw this answer, but I leave it hoping that it (and the comments) may be informative for some readers.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Edit&lt;/em&gt;: An earlier revision of this answer suggested to use a monoid operation on [&lt;i&gt;m&lt;/i&gt;], but as Per pointed out in a comment, it is desirable to use a group operation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This answer is about building a hash function for hash tables which is easy to implement.  A provable guarantee on the quality is not expected.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assuming that you already have a hash function for each element of a sequence to a finite set [&lt;i&gt;m&lt;/i&gt;]={1, …, &lt;i&gt;m&lt;/i&gt;}, how about interpreting each element of [&lt;i&gt;m&lt;/i&gt;] as an element in a finite group &lt;i&gt;G&lt;/i&gt; and using the group operation on &lt;i&gt;G&lt;/i&gt;?  You can use any mapping from [&lt;i&gt;m&lt;/i&gt;] to &lt;i&gt;G&lt;/i&gt;, but it is desirable that the mapping be injective so that we do not lose the information in the hash value of each element.  It is also desirable that the group not be commutative so that the hash function can catch the difference in the order of the elements in a sequence.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I do not know much about finite groups which allow fast operations, but I guess that such groups are known in coding theory.  Using the symmetric group of order at least &lt;i&gt;m&lt;/i&gt; may not be so bad.&lt;/p&gt;&#xA;" OwnerUserId="567" LastEditorUserId="567" LastEditDate="2010-09-26T13:43:55.607" LastActivityDate="2010-09-26T13:43:55.607" CommentCount="10" ContentLicense="CC BY-SA 2.5" />
  <row Id="1693" PostTypeId="2" ParentId="1662" CreationDate="2010-09-26T14:43:39.990" Score="6" Body="&lt;p&gt;This is more like a comment in response to the revised question (revision 3) than an answer, but it is too long for a comment.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Simply excluding sparse languages is not enough to exclude languages like {&lt;i&gt;x&lt;/i&gt;∈{0,1}&lt;sup&gt;*&lt;/sup&gt;: |&lt;i&gt;x&lt;/i&gt;|∈&lt;i&gt;S&lt;/i&gt;} instead of {1&lt;sup&gt;&lt;i&gt;n&lt;/i&gt;&lt;/sup&gt;: &lt;i&gt;n&lt;/i&gt;∈&lt;i&gt;S&lt;/i&gt;}, where &lt;i&gt;S&lt;/i&gt; is an infinite subset of {0, 1, 2, …}.  I would like to point out that it may be difficult to distinguish between the case where a language belongs to P/poly because it is “essentially sparse” (such as {1&lt;sup&gt;&lt;i&gt;n&lt;/i&gt;&lt;/sup&gt;: &lt;i&gt;n&lt;/i&gt;∈&lt;i&gt;S&lt;/i&gt;} and {&lt;i&gt;x&lt;/i&gt;: |&lt;i&gt;x&lt;/i&gt;|∈&lt;i&gt;S&lt;/i&gt;}) and the case where a language belongs to P/poly for other reasons.  The problematic thing here is, obviously, how to define the term “essentially sparse.”&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You may want to define “essential sparseness” as follows: a language is essentially sparse if it is reducible to a sparse language.  However, care must be taken because if you use the polynomial-time Turing reducibility in this definition, the definition is equivalent to the membership to P/poly!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So an obvious thing to try is to use the polynomial-time many-one reducibility.  I do not know whether this is equivalent to the membership to P/poly, let alone whether P/poly contains any natural language which is not essentially sparse in this sense.&lt;/p&gt;&#xA;" OwnerUserId="567" LastEditorUserId="567" LastEditDate="2010-09-26T14:55:25.173" LastActivityDate="2010-09-26T14:55:25.173" CommentCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="1694" PostTypeId="2" ParentId="445" CreationDate="2010-09-26T16:03:02.593" Score="5" Body="&lt;p&gt;I used the this &lt;a href=&quot;http://scholar.google.com/scholar?q=%22linear%20advice%22%20derandomization&amp;amp;um=1&amp;amp;ie=UTF-8&amp;amp;sa=N&amp;amp;hl=en&amp;amp;tab=ws&quot; rel=&quot;nofollow&quot;&gt;scholar search&lt;/a&gt;, and the only result which seems somehow relevant is this:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.eccc.uni-trier.de/report/2005/042/&quot; rel=&quot;nofollow&quot;&gt;Lance Fortnow, Adam Klivans, Linear Advice for Randomized Logarithmic Space, ECCC TR05-042, 2005.&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Unfortunately, I think it is not exactly what you need. In particular, the main result of the paper is $\mathbf{RL} \subseteq \mathbf{L}/O(n)$. Yet I believe the techniques used there might be helpful in the case of your question.&lt;/p&gt;&#xA;" OwnerUserId="873" LastEditorUserId="873" LastEditDate="2010-09-26T18:15:14.530" LastActivityDate="2010-09-26T18:15:14.530" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1695" PostTypeId="2" ParentId="1619" CreationDate="2010-09-26T16:25:58.407" Score="0" Body="&lt;p&gt;The complexity zoo reports that E does not equal PSPACE, citing the paper &lt;a href=&quot;http://www.sciencedirect.com/science?_ob=ArticleURL&amp;amp;_udi=B6WJ0-4RFMB5J-7&amp;amp;_user=604493&amp;amp;_coverDate=10%2F31%2F1974&amp;amp;_rdoc=1&amp;amp;_fmt=high&amp;amp;_orig=search&amp;amp;_origin=search&amp;amp;_sort=d&amp;amp;_docanchor=&amp;amp;view=c&amp;amp;_searchStrId=1474333841&amp;amp;_rerunOrigin=scholar.google&amp;amp;_acct=C000059656&amp;amp;_version=1&amp;amp;_urlVersion=0&amp;amp;_userid=604493&amp;amp;md5=7e6ca37f294b6755fcc7070b3e5520f3&amp;amp;searchtype=a&quot; rel=&quot;nofollow&quot;&gt;Comparing complexity classes&lt;/a&gt; by Ronald V. Book. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The following sentences can be easily derived:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;SPACE(n) is a proper subset of PSPACE. (1)&lt;br&gt;&#xA;PSPACE union E is non-empty. (2)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;IF instead of E we had EXPTIME, it would be easy to deduce that SPACE(n) is a proper subset of EXPTIME, due to (1) and that PSPACE is a subset of EXPTIME.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For E, the relationship between PSPACE and E is unclear to me : &lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) Is E contained in PSPACE? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If not, then it follows that SPACE(n) is a proper subset of E. To verify this, one must create a problem that uses more than linear space and less than O(2&lt;sup&gt;n&lt;/sup&gt;) time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) Is PSPACE contained in E?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This I believe, is even harder to answer than the previous question.&lt;/p&gt;&#xA;" OwnerUserId="879" LastEditorUserId="879" LastEditDate="2010-09-27T09:52:33.513" LastActivityDate="2010-09-27T09:52:33.513" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="1696" PostTypeId="2" ParentId="1679" CreationDate="2010-09-26T16:36:57.920" Score="3" Body="&lt;p&gt;Related question, different site: &lt;a href=&quot;https://mathoverflow.net/questions/29545/whitening-a-random-bit-sequence&quot;&gt;whitening a random bit sequence&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="143" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2010-09-26T16:36:57.920" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1698" PostTypeId="2" ParentId="1680" CreationDate="2010-09-26T17:35:13.247" Score="7" Body="&lt;p&gt;For attempts to separate the bounded nondeterminism hierarchy, I think monotone dualization of prime formulas is the most salient topic.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider the decision problem&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;MONOTONE DUAL&lt;/strong&gt;&lt;br&gt;&#xA;  &lt;em&gt;Input:&lt;/em&gt; two monotone CNF formulas, from which no literals can be removed&lt;br&gt;&#xA;  &lt;em&gt;Question:&lt;/em&gt; is the one formula the dual of the other?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;MONOTONE DUAL can be decided with $O((\log\ n)^2/\log\ \log\ n)$ nondeterministic steps.  There is also a quasi-polynomial $n^{o(\log\ n)}$ time upper bound for this problem which has stood since 1996.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;So MONOTONE DUAL is in co-$\beta_2$P and also doesn't seem to require the full power of this class.  On the other hand, MONOTONE DUAL may be a good candidate for a problem that is outside P = co-$\beta_1$P.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is surveyed in:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Thomas Eiter, Kazuhisa Makino, and Georg Gottlob, &lt;em&gt;Computational aspects of monotone dualization: A brief survey&lt;/em&gt;, DAM &lt;strong&gt;156&lt;/strong&gt; 2035– 2049, 2008.  doi: &lt;a href=&quot;http://dx.doi.org/10.1016/j.dam.2007.04.017&quot;&gt;10.1016/j.dam.2007.04.017&lt;/a&gt; (&lt;a href=&quot;http://www.kr.tuwien.ac.at/research/reports/rr0601.pdf&quot;&gt;preprint&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I am not sure there is more work along these lines.  As with many other areas with the potential to separate P from NP, after some promising early progress new ideas now appear to be necessary.&lt;/p&gt;&#xA;" OwnerUserId="109" LastEditorUserId="109" LastEditDate="2010-09-27T21:28:42.497" LastActivityDate="2010-09-27T21:28:42.497" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1699" PostTypeId="1" CreationDate="2010-09-26T18:04:57.997" Score="32" ViewCount="1794" Body="&lt;p&gt;In this question, a 3CNF formula means a CNF formula where each clause involves &lt;em&gt;exactly&lt;/em&gt; three &lt;em&gt;distinct&lt;/em&gt; variables.  For a constant 0&amp;lt;&lt;i&gt;s&lt;/i&gt;&amp;lt;1, Gap-3SAT&lt;sub&gt;&lt;i&gt;s&lt;/i&gt;&lt;/sub&gt; is the following promise problem:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Gap-3SAT&lt;sub&gt;&lt;i&gt;s&lt;/i&gt;&lt;/sub&gt;&lt;/strong&gt;&lt;br&gt;&#xA;&lt;em&gt;Instance&lt;/em&gt;: A 3CNF formula φ.&lt;br&gt;&#xA;&lt;em&gt;Yes-promise&lt;/em&gt;: φ is satisfiable.&lt;br&gt;&#xA;&lt;em&gt;No-promise&lt;/em&gt;: No truth assignments satisfy more than &lt;i&gt;s&lt;/i&gt; fraction of the clauses of φ.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One of the equivalent ways to state the celebrated PCP theorem [AS98, ALMSS98] is that there exists a constant 0&amp;lt;&lt;i&gt;s&lt;/i&gt;&amp;lt;1 such that Gap-3SAT&lt;sub&gt;&lt;i&gt;s&lt;/i&gt;&lt;/sub&gt; is NP-complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We say that a 3CNF formula is &lt;em&gt;pairwise B-bounded&lt;/em&gt; if every pair of distinct variables appears in at most &lt;i&gt;B&lt;/i&gt; clauses.  For example, a 3CNF formula (&lt;i&gt;x&lt;/i&gt;&lt;sub&gt;1&lt;/sub&gt;∨&lt;i&gt;x&lt;/i&gt;&lt;sub&gt;2&lt;/sub&gt;∨&lt;i&gt;x&lt;/i&gt;&lt;sub&gt;4&lt;/sub&gt;)∧(￢&lt;i&gt;x&lt;/i&gt;&lt;sub&gt;1&lt;/sub&gt;∨￢&lt;i&gt;x&lt;/i&gt;&lt;sub&gt;3&lt;/sub&gt;∨&lt;i&gt;x&lt;/i&gt;&lt;sub&gt;4&lt;/sub&gt;)∧(&lt;i&gt;x&lt;/i&gt;&lt;sub&gt;1&lt;/sub&gt;∨&lt;i&gt;x&lt;/i&gt;&lt;sub&gt;3&lt;/sub&gt;∨￢&lt;i&gt;x&lt;/i&gt;&lt;sub&gt;5&lt;/sub&gt;) is pairwise 2-bounded but not pairwise 1-bounded because e.g. the pair (&lt;i&gt;x&lt;/i&gt;&lt;sub&gt;1&lt;/sub&gt;, &lt;i&gt;x&lt;/i&gt;&lt;sub&gt;4&lt;/sub&gt;) appears in more than one clause.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Question&lt;/strong&gt;.  Do there exist constants &lt;i&gt;B&lt;/i&gt;∈ℕ, &lt;i&gt;a&lt;/i&gt;&amp;gt;0, and 0&amp;lt;&lt;i&gt;s&lt;/i&gt;&amp;lt;1 such that Gap-3SAT&lt;sub&gt;&lt;i&gt;s&lt;/i&gt;&lt;/sub&gt; is NP-complete even for a 3CNF formula which is pairwise &lt;i&gt;B&lt;/i&gt;-bounded and consists of at least &lt;i&gt;an&lt;/i&gt;&lt;sup&gt;2&lt;/sup&gt; clauses, where &lt;i&gt;n&lt;/i&gt; is the number of variables?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The pairwise boundedness clearly implies that there are only O(&lt;i&gt;n&lt;/i&gt;&lt;sup&gt;2&lt;/sup&gt;) clauses.  Together with the quadratic lower bound on the number of clauses, it roughly says that no pair of distinct variables appears in significantly more clauses than the average.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For Gap-3SAT, it is known that &lt;em&gt;the sparse case is hard&lt;/em&gt;: there exists a constant 0&amp;lt;&lt;i&gt;s&lt;/i&gt;&amp;lt;1 such that Gap-3SAT&lt;sub&gt;&lt;i&gt;s&lt;/i&gt;&lt;/sub&gt; is NP-complete even for a 3CNF formula where each variable occurs exactly five times [Fei98].  On the other hand, &lt;em&gt;the dense case is easy&lt;/em&gt;: Max-3SAT admits a PTAS for a 3CNF formula with Ω(&lt;i&gt;n&lt;/i&gt;&lt;sup&gt;3&lt;/sup&gt;) distinct clauses [AKK99], and therefore Gap-3SAT&lt;sub&gt;&lt;i&gt;s&lt;/i&gt;&lt;/sub&gt; in this case is in P for every constant 0&amp;lt;&lt;i&gt;s&lt;/i&gt;&amp;lt;1.  The question asks about the middle of these two cases.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The above question arose originally in a study of quantum computational complexity, more specifically two-prover one-round interactive proof systems with entangled provers (&lt;a href=&quot;http://qwiki.stanford.edu/index.php/Complexity_Zoo%3aM#mipstar21&quot;&gt;MIP&lt;sup&gt;*&lt;/sup&gt;(2,1)&lt;/a&gt; systems).  But I think that the question may be interesting in its own right.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;References&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[AKK99] Sanjeev Arora, David Karger, and Marek Karpinski.  Polynomial time approximation schemes for dense instance of NP-hard problems.  &lt;em&gt;Journal of Computer and System Sciences&lt;/em&gt;, 58(1):193–210, Feb. 1999.  &lt;a href=&quot;http://dx.doi.org/10.1006/jcss.1998.1605&quot;&gt;http://dx.doi.org/10.1006/jcss.1998.1605&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[ALMSS98] Sanjeev Arora, Carsten Lund, Rajeev Motwani, Madhu Sudan, and Mario Szegedy.  Proof verification and the hardness of approximation problems.  &lt;em&gt;Journal of the ACM&lt;/em&gt;, 45(3):501–555, May 1998.  &lt;a href=&quot;http://doi.acm.org/10.1145/278298.278306&quot;&gt;http://doi.acm.org/10.1145/278298.278306&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[AS98] Sanjeev Arora and Shmuel Safra.  Probabilistic checking of proofs: A new characterization of NP.  &lt;em&gt;Journal of the ACM&lt;/em&gt;, 45(1):70–122, Jan. 1998.  &lt;a href=&quot;http://doi.acm.org/10.1145/273865.273901&quot;&gt;http://doi.acm.org/10.1145/273865.273901&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[Fei98] Uriel Feige.  A threshold of ln &lt;i&gt;n&lt;/i&gt; for approximating set cover.  &lt;em&gt;Journal of the ACM&lt;/em&gt;, 45(4):634–652, July 1998.  &lt;a href=&quot;http://doi.acm.org/10.1145/285055.285059&quot;&gt;http://doi.acm.org/10.1145/285055.285059&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="567" LastEditorUserId="567" LastEditDate="2011-08-28T18:58:52.293" LastActivityDate="2011-09-05T19:17:10.980" Title="Is Gap-3SAT NP-complete even for 3CNF formulas where no pair of variables appears in significantly more clauses than the average?" Tags="&lt;cc.complexity-theory&gt;&lt;sat&gt;&lt;approximation-hardness&gt;" AnswerCount="1" CommentCount="8" FavoriteCount="11" ContentLicense="CC BY-SA 3.0" />
  <row Id="1701" PostTypeId="2" ParentId="1658" CreationDate="2010-09-27T02:15:25.517" Score="-1" Body="&lt;p&gt;If you assume all the points are in the convex hull and you can find a point that is inside the convex hull, then you can find the order of the points in $O(n log n)$ time by taking the angle from the interior point to every point in your set and sorting this.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Once you know the order of the points, the angle from each point to the next point in the sequence should be monotonic. This forms a necessary condition and, I think, a sufficient one. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Getting the interior point is left as an exercise for the reader.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Edit: As a fist pass at a simple demonstration of $O(n log n)$ being a hard bound, to show that a point is/isn't on the convex hull requires knowing the adjoining points (possibly an arbitrary number of them) and finding that requires either sorting all the points or (this is speculation) examining more than a constant number of other points.&lt;/p&gt;&#xA;" OwnerUserId="143" LastEditorUserId="143" LastEditDate="2010-09-27T14:51:46.053" LastActivityDate="2010-09-27T14:51:46.053" CommentCount="8" ContentLicense="CC BY-SA 2.5" />
  <row Id="1703" PostTypeId="2" ParentId="1107" CreationDate="2010-09-27T03:44:44.413" Score="3" Body="&lt;p&gt;First of all, why are observables represented by operators? In classical mechanics an observable is a real-valued function on phase space. It extracts information about values like the energy or momentum from the system but does not affect or interfere with it. If the observer is part of the system then measurement is a physical process and can change the system's evolution. For finite, non-infinitesimal time evolution to be unitary (i.e. preserve total probability) the infinitesimal time evolution must be Hermitian. This is Stone's theorem; it explains why operators in quantum mechanics are Hermitian.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If that makes sense, the formula $M\mid\psi\rangle / \sqrt{\langle\psi\mid M^\dagger M\mid\psi\rangle}$ follows from two things: &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$M$ describes infinitesimal time evolution of the measurement process for the observable. The successor to $\mid\psi\rangle$ is $M\mid\psi\rangle$ and by duality the successor to $\langle\psi\mid$ is $\langle\psi\mid M^\dagger$. &lt;/li&gt;&#xA;&lt;li&gt;The norm $\langle\psi\mid\psi\rangle$ is the total probability of the state. Combined with the previous point, this shows the successor's total probability is $\langle\psi\mid M^\dagger \ M\mid\psi\rangle$. Dividing by the square root normalizes the state.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="1435" LastEditorUserId="1435" LastEditDate="2010-09-28T05:46:28.257" LastActivityDate="2010-09-28T05:46:28.257" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="1704" PostTypeId="1" AcceptedAnswerId="1705" CreationDate="2010-09-27T05:40:40.087" Score="5" ViewCount="791" Body="&lt;p&gt;I am reading about Dynamo-like DHT data storage applications like cassandra and project voldemort. I was curious, say:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;A new node is added to the cluster (since all the nodes are full) then the whole DHTs load factor will be messed up, so the DHT needs a re-balancing. So, how is that handled? Any optimized method/algo to do that?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;During the re-balancing process, there must be a data outage time. So, how to deal with that?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I got something about &lt;a href=&quot;http://wiki.github.com/voldemort/voldemort/voldemort-rebalancing&quot;&gt;voldemort re-balancing&lt;/a&gt; but I didn't really understand, how is the dynamic growth (addition of new nodes) in the cluster is handled?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks&lt;/p&gt;&#xA;" OwnerUserId="1203" LastActivityDate="2010-09-27T11:33:32.653" Title="How is rebalancing of DHTs handled in case of failure or addition of new node?" Tags="&lt;dc.distributed-comp&gt;&lt;hash-function&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="1705" PostTypeId="2" ParentId="1704" CreationDate="2010-09-27T05:54:47.500" Score="7" Body="&lt;p&gt;That's the whole purpose of consistent hashing. When you add a new node, you compute its hash key, find the two nearest neighbors on the hash ring and link the node in between them. When the hash function has good statistics, you expect a uniform distribution of hash keys, resulting in good load balancing. You don't have to redistribute the existing keys. Removal of nodes works analogously.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In summary, there's no global coordination to achieve even coverage of the key space. That is an emergent property of the hash function. The only coordination is local in the form of linking and unlinking nodes into the circular list of nodes on the ring.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Incidentally, if nodes were only ever added and not deleted, &lt;a href=&quot;http://en.wikipedia.org/wiki/Low-discrepancy_sequence&quot; rel=&quot;nofollow&quot;&gt;low-discrepancy sequences&lt;/a&gt; would be a better choice than hashing (such sequences are particularly simple in one dimension). But in the real world, nodes are added &lt;em&gt;and&lt;/em&gt; deleted in an unpredictable pattern. Hashing is better able to cope with those conditions; the trade-off is worse discrepancy in the monotone growth case. Using a low-discrepancy sequence would also require new nodes to coordinate with a key manager, though no existing keys need to be redistributed.&lt;/p&gt;&#xA;" OwnerUserId="1435" LastEditorUserId="1435" LastEditDate="2010-09-27T06:16:33.037" LastActivityDate="2010-09-27T06:16:33.037" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1706" PostTypeId="1" AcceptedAnswerId="1707" CreationDate="2010-09-27T06:50:11.397" Score="10" ViewCount="426" Body="&lt;p&gt;I wonder to know wether there are sparse language (even constructed by delayed diagolanization) in NPI under the assumption that $P \neq NP$.&lt;/p&gt;&#xA;" OwnerUserId="378" LastActivityDate="2010-09-27T11:48:23.520" Title="Is there any sparse language known to be in NPI under the $P \neq NP$ assumption ?" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="6" ContentLicense="CC BY-SA 2.5" />
  <row Id="1707" PostTypeId="2" ParentId="1706" CreationDate="2010-09-27T06:54:25.697" Score="13" Body="&lt;p&gt;I don't know whether you are asking an open problem, or whether it has already been resolved. Yet the following paper can shed some light on this problem:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Kurtz, S. A. 1985. Sparse sets in NP-P: relativizations. &lt;em&gt;SIAM J. Comput.&lt;/em&gt; 14, 1 (Feb. 1985), 113-119. DOI= &lt;a href=&quot;http://dx.doi.org/10.1137/0214008&quot; rel=&quot;noreferrer&quot;&gt;http://dx.doi.org/10.1137/0214008&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Basically, it states that, even assuming P≠NP, there is an oracle relative to which no sparse sets in NP-P exists. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, the following paper:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;T. Baker, J. Gill, and R. Solovay, &quot;Relativizations of the P=?NP Question&quot;, &lt;em&gt;SIAM J. Computing&lt;/em&gt; (1975), 431-442. DOI= &lt;a href=&quot;http://dx.doi.org/10.1137/0204037&quot; rel=&quot;noreferrer&quot;&gt;http://dx.doi.org/10.1137/0204037&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;demonstrates an oracle relative to which sparse sets in NP-P exists.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since $NPI \subset NP-P$, this proves that, either way, the proof does not relativize.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT:&lt;/strong&gt; In addition, there exist sparse sets in NP-P if and only if $E \neq NE$:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hartmanis, J., Sewelson, V., and Immerman, N. 1983. Sparse sets in NP-P: Exptime versus nexptime. In &lt;em&gt;Proceedings of the Fifteenth Annual ACM Symposium on theory of Computing STOC '83&lt;/em&gt;. ACM, New York, NY, 382-391. DOI= &lt;a href=&quot;http://doi.acm.org/10.1145/800061.808769&quot; rel=&quot;noreferrer&quot;&gt;http://doi.acm.org/10.1145/800061.808769&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Journal version available here: &lt;a href=&quot;http://dx.doi.org/10.1016/S0019-9958(85)80004-8&quot; rel=&quot;noreferrer&quot;&gt;http://dx.doi.org/10.1016/S0019-9958(85)80004-8&lt;/a&gt;)&lt;/p&gt;&#xA;" OwnerUserId="873" LastEditorUserId="873" LastEditDate="2010-09-27T11:48:23.520" LastActivityDate="2010-09-27T11:48:23.520" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="1708" PostTypeId="1" AcceptedAnswerId="1709" CreationDate="2010-09-27T07:02:07.063" Score="1" ViewCount="2650" Body="&lt;p&gt;The following is from this year's CS GRE practice test. I've worked through the test and I've been able to understand every question except for this one. Can anyone help me understand what's going on here?&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;b&gt;Question:&lt;/b&gt; &lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;Let $T$ be a depth-first search tree of a connected undirected graph $G$. For each vertex $v$ of $T$, let $pre(v)$ be the number of nodes visited up to and including $v$ during a preorder traversal of $T$, and $post(v)$ be the number of nodes visited up to and including $v$ during a postorder traversal of $T$.&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;The lowest common ancestor of vertices $u$ and $v$ in $T$ is a vertex $w$ of $T$ such that $w$ is an ancestor to both $u$ and $v$, and no child of $w$ is an ancestor of both $u$ and $v$.&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;Let $(u,v)$ be an edge in $G$ that is not in $T$, such that $pre(u) &amp;lt; pre(v)$. Which of the following statements of $u$ and $v$ must be true?&lt;/p&gt;&#xA;  &#xA;  &lt;ol&gt;&#xA;  &lt;li&gt;$post(u) &amp;lt; post(v)$&lt;/li&gt;&#xA;  &lt;li&gt;$u$ is an ancestor of $v$ in $T$.&lt;/li&gt;&#xA;  &lt;li&gt;If $w$ is the lowest common ancestor of $u$ and $v$ in $T$, then $w = u$.&lt;/li&gt;&#xA;  &lt;/ol&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I'm not going to post the answer just yet. If you're interested, it's available in the PDF:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.ets.org/Media/Tests/GRE/pdf/CompSci.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://www.ets.org/Media/Tests/GRE/pdf/CompSci.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think that none of these can be true, based on the following:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;If $u$ is an ancestor of $v$ and $v$ is a leaf, then this would be false because leaves are counted first by postorder traversal.&lt;/li&gt;&#xA;&lt;li&gt;If $u$ is a left sibling of $v$, then $u$ is counted first by preorder traversal, but $u$ is clearly not an ancestor of $v$.&lt;/li&gt;&#xA;&lt;li&gt;This statement is equivalent to #2, and could be false by the same argument.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;I think it goes without saying that the test answers say I'm wrong about this. Am I missing something here? Can anyone provide an explanation as to why I'm wrong, as well as how to arrive at the correct answer?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Per Sadeq's request, I've included a counter example to #2/#3:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://img39.imageshack.us/img39/6410/counterexample.png&quot; rel=&quot;nofollow noreferrer&quot;&gt;Counter Example http://img39.imageshack.us/img39/6410/counterexample.png&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The graph $G$ is shown in the image. If we remove the edge between $A$ and $D$, then we get the tree $T$. Now we have the following:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;$(u,v)\in G - T$&lt;/li&gt;&#xA;&lt;li&gt;$pre(A) &amp;lt; pre(D)$&lt;/li&gt;&#xA;&lt;li&gt;$A$ is not an ancestor of $D$ in $T$.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="1515" LastEditorUserId="1515" LastEditDate="2010-09-27T07:45:32.550" LastActivityDate="2010-09-27T10:44:11.240" Title="Pre-order traversal on a search tree" Tags="&lt;graph-theory&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="1709" PostTypeId="2" ParentId="1708" CreationDate="2010-09-27T07:10:24.487" Score="5" Body="&lt;p&gt;First note that #2 and #3 are saying the same thing. Next, notice that if &lt;code&gt;u&lt;/code&gt; is an ancestor of &lt;code&gt;v&lt;/code&gt; in &lt;code&gt;T&lt;/code&gt;, then in a pre-order traversal, we see &lt;code&gt;u&lt;/code&gt; before &lt;code&gt;v&lt;/code&gt;, and therefore &lt;code&gt;pre(u) &amp;lt; pre(v)&lt;/code&gt;. On the other hand, since &lt;code&gt;T&lt;/code&gt; is a depth-first search tree (as opposed to an arbitrary tree) of the connected undirected graph &lt;code&gt;G&lt;/code&gt;, and $(u,v) \in G-T$, we can deduce that &lt;code&gt;pre(u)&amp;lt;pre(v)&lt;/code&gt; results in &lt;code&gt;u&lt;/code&gt; being an ancestor of &lt;code&gt;v&lt;/code&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The following image, taken from Wikipedia, can help:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://upload.wikimedia.org/wikipedia/commons/thumb/6/67/Sorted_binary_tree.svg/500px-Sorted_binary_tree.svg.png&quot;/&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Preorder traversal sequence: F, B, A, D, C, E, G, I, H (root, left, right)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Postorder traversal sequence: A, C, E, D, B, H, I, G, F (left, right, root)&lt;/p&gt;&#xA;" OwnerUserId="873" LastEditorUserId="-1" LastEditDate="2017-03-09T18:04:14.323" LastActivityDate="2010-09-27T10:44:11.240" CommentCount="10" ContentLicense="CC BY-SA 2.5" />
  <row Id="1711" PostTypeId="2" ParentId="1679" CreationDate="2010-09-27T08:55:08.383" Score="4" Body="&lt;p&gt;You can also get many random bits out of biased coins, see Gabizon's paper Derandomizing algorithms under Product Distributions  (http://sites.google.com/site/arielgabizon1/)&lt;/p&gt;&#xA;" OwnerDisplayName="anon" LastActivityDate="2010-09-27T08:55:08.383" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1712" PostTypeId="2" ParentId="1637" CreationDate="2010-09-27T10:46:30.393" Score="1" Body="&lt;p&gt;As a nitpick, you mean &lt;code&gt;data Stream a = ...&lt;/code&gt; rather than &lt;code&gt;data Stream a :: ...&lt;/code&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Your allBlacks is only a semidecidable predicate, so there is a strategy which leads to a non-terminating game whereby you keep playing BlackCat. From the domain theory perspective, the computation isn't productive in that there is no information increase upon consuming an element from the stream when it equals BlackCat. For that reason I don't think the predicate can really be called coinductive, can it? My suspicion is that this is what underlies your confusion about winning conditions: indefinite stalling is a draw.&lt;/p&gt;&#xA;" OwnerUserId="1435" LastEditorUserId="1435" LastEditDate="2010-09-27T11:04:41.523" LastActivityDate="2010-09-27T11:04:41.523" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="1713" PostTypeId="2" ParentId="1107" CreationDate="2010-09-27T11:07:19.170" Score="4" Body="&lt;p&gt;Niel de Beaudrap's answer regarding Kraus Operators was very good.  With regard to the Nielsen and Chuang text book, this means that one should read Chapter 2, then Chapter 8, and &lt;em&gt;then&lt;/em&gt; the intervening chapters. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Moreover, the Kraus operator representation has an infinitesimal limit called a Lindbladian operator; broadly speaking, Lindbladian operators are to Kraus operators what a Lie algebra is to a Lie group.  Carlton Caves' on-line notes &quot;Completely positive maps, positive maps, and the Lindblad form&quot; cover much of this material.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The advantage of working exclusively with infinitesimal Lindbladian operators instead of Kraus operators is that the Lindbladians pullback naturally onto non-Hilbert quantum state-spaces; these include the tensor network state-spaces that are becoming ubiquitous in quantum chemistry and condensed matter physics; moreover pullback techniques are ubiquitous in string theory too.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is at-present no textbook that develops this geometric, non-Hilbert description of quantum dynamics ... but there should be!  Textbooks that (with the above references) in aggregate cover cover the main ideas are John Lee &quot;Smooth Manifolds&quot;, Frenkel and Smit &quot;Understanding Molecular Simulation: from Algorithms to Applications&quot;, and Kloeden and Platen &quot;Numerical Solution of Stochastic Differential Equations.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's true that this is a lot of reading ... and this is why geometric quantum dynamics is not taught at the undergraduate level.  This is a pity, because it is all too easy for undergraduates to acquire the fixed notion that the state-space of quantum dynamical systems is a linear vector space, even though this is not true in most large-scale practical calculations.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;As for the state-space that Nature uses: no one knows&amp;mdash;the experimental evidence for local (tangent-space) quantum linearity is fairly strong, yet the evidence for global (Hilbert-space) quantum linearity is fairly weak.  In particular, high-precision molecular beam quantum dynamical experiments&amp;mdash;which many textbooks hold forth as evidence of quantum linearity&amp;mdash;can be simulated with the required relative precision of ~1/2^{65} on low-dimension tensor network state-spaces, with near-perfect dynamical symplecticity replacing near-perfect dynamical linearity.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the above reasons, perhaps 21st century students should not accept the textbooks of the 20th century entirely at face value.  But really, what 21st century student would want it any other way?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The above is how quantum systems engineers have come to embrace a mathematical toolset that melds geometric and algebraic naturality, and applies generally to classical, quantum, and hybrid dynamical systems.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Edit addition:&lt;/em&gt; As a test of the feasibility of a geometric approach to practical quantum simulation, our Quantum Systems Engineering (QSE) Group supplemented Charlie Slichter's classic textbook &lt;em&gt;Principles of Magnetic Resonance&lt;/em&gt; with an enhanced version of Chapter 3 &quot;&lt;a href=&quot;http://faculty.washington.edu/sidles/ENC_2011/index.html#Slichter&quot; rel=&quot;nofollow noreferrer&quot;&gt;Magnetic Dipolar Broadening and Polarization Transport in Rigid Lattices&lt;/a&gt;&quot;.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This geometric transcription points naturally to multiple open questions in geometric dynamics; see for example the MathOverflow question &quot;&lt;a href=&quot;https://mathoverflow.net/questions/66506/in-quantum-dynamical-simulations-what-is-the-symmetric-riemannian-analog-of-a&quot;&gt;In quantum dynamical simulations, what is the symmetric (Riemannian) analog of a Poisson bracket?&lt;/a&gt;&quot;&lt;/p&gt;&#xA;" OwnerUserId="1519" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2011-06-01T17:23:17.137" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="1714" PostTypeId="2" ParentId="1704" CreationDate="2010-09-27T11:33:32.653" Score="2" Body="&lt;p&gt;The &lt;a href=&quot;http://pdos.csail.mit.edu/papers/chord%3asigcomm01/chord_sigcomm.pdf&quot; rel=&quot;nofollow&quot;&gt;Chord&lt;/a&gt; paper provides the theoretical underpinnings of the ring overlay strategy. In particular, the nature of the overlay network that connects the nodes determines the amount of state and query complexity required to efficiently locate a node and its neighbors. There are other examples of DHT's with different overlay topologies like CAN (content addressable networks) with uses a Hypercube overlay and Viceroy which uses a butterfly etc..&lt;/p&gt;&#xA;" OwnerUserId="698" LastActivityDate="2010-09-27T11:33:32.653" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1716" PostTypeId="2" ParentId="791" CreationDate="2010-09-27T13:38:08.493" Score="13" Body="&lt;p&gt;This is not really an answer to the question, but I've encoded the 17x17 4-coloring problem as a 4-CNF (in the standard DIMACS format for SAT-solvers) and uploaded it &lt;strong&gt;&lt;a href=&quot;http://www.levreyzin.com/other/4colors17g.cnf&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;&lt;/strong&gt;.  If anyone has access to a good SAT solver (and a supercomputer!) maybe we can make some progress.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Note: in my encoding, if gridpoint $(i,j)$ is assigned color $c \in \{0,1,2,3\}$, then the variable $(17i+j+289c+1)$ takes the value $1$, and $0$ otherwise.&lt;/em&gt;&lt;/p&gt;&#xA;" OwnerUserId="123" LastActivityDate="2010-09-27T13:38:08.493" CommentCount="9" ContentLicense="CC BY-SA 2.5" />
  <row Id="1718" PostTypeId="1" CreationDate="2010-09-27T14:26:26.113" Score="35" ViewCount="3015" Body="&lt;p&gt;When we follow the standard textbooks, or tradition, most of us teach the following definition of big-Oh notation in the first few lectures of an algorithms class:&#xA;$$&#xA;f = O(g) \mbox{ iff } (\exists c &gt; 0)(\exists n_0 \geq 0)(\forall n \geq n_0)(f(n) \leq c \cdot g(n)).&#xA;$$&#xA;Perhaps we even give the whole list with all its quantifiers:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;$f = o(g) \mbox{ iff } (\forall c &gt; 0)(\exists n_0 \geq 0)(\forall n \geq n_0)(f(n) \leq c \cdot g(n))$&lt;/li&gt;&#xA;&lt;li&gt;$f = O(g) \mbox{ iff } (\exists c &gt; 0)(\exists n_0 \geq 0)(\forall n \geq n_0)(f(n) \leq c \cdot g(n))$&lt;/li&gt;&#xA;&lt;li&gt;$f = \Theta(g) \mbox{ iff } (\exists c &gt; 0)(\exists d &gt; 0)(\exists n_0 \geq 0)(\forall n \geq n_0)(d \cdot g(n) \leq f(n) \leq c \cdot g(n))$&lt;/li&gt;&#xA;&lt;li&gt;$f = \Omega(g) \mbox{ iff } (\exists d &gt; 0)(\exists n_0 \geq 0)(\forall n \geq n_0)(f(n) \geq d \cdot g(n))$&lt;/li&gt;&#xA;&lt;li&gt;$f = \omega(g) \mbox{ iff } (\forall d &gt; 0)(\exists n_0 \geq 0)(\forall n \geq n_0)(f(n) \geq d \cdot g(n))$.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;However, since these definitions are not so easy to work with when it comes to proving even simple things such as $5 n \log^4 n + \sqrt{n\log n} = o(n^{10/9})$, most of us quickly move to introduce the &quot;trick of the limit&quot;: &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;$f = o(g)$ if $\lim_{n \rightarrow \infty} f(n)/g(n)$ exists and is $0$,&lt;/li&gt;&#xA;&lt;li&gt;$f = O(g)$ if $\lim_{n \rightarrow \infty} f(n)/g(n)$ exists and is not $+\infty$,&lt;/li&gt;&#xA;&lt;li&gt;$f = \Theta(g)$ if $\lim_{n \rightarrow \infty} f(n)/g(n)$ exists and is neither $0$ nor $+\infty$,&lt;/li&gt;&#xA;&lt;li&gt;$f = \Omega(g)$ if $\lim_{n \rightarrow \infty} f(n)/g(n)$ exists and is not $0$,&lt;/li&gt;&#xA;&lt;li&gt;$f = \omega(g)$ if $\lim_{n \rightarrow \infty} f(n)/g(n)$ exists and is $+\infty$.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;My question is: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Would it be a big loss for teaching an undergraduate algorithms class to take the limit conditions as &lt;em&gt;the&lt;/em&gt; definitions of $o$, $O$, $\Theta$, $\Omega$, and $\omega$? That's what we all end-up using anyway and it seems pretty clear to me that skipping the quantifier definitions makes everybody's life easier.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would be interested to know if you have encountered some convincing natural case where the standard $c,n_0$-definitions are actually required, and if not, whether you have a convincing argument to keep the standard $c,n_0$-definitions upfront anyway.&lt;/p&gt;&#xA;" OwnerUserId="1509" LastEditorUserId="186" LastEditDate="2010-09-27T15:38:00.203" LastActivityDate="2011-09-08T08:45:25.787" Title="Which definition of asymptotic growth-rate should we teach?" Tags="&lt;ds.algorithms&gt;&lt;soft-question&gt;&lt;teaching&gt;" AnswerCount="8" CommentCount="13" FavoriteCount="13" ContentLicense="CC BY-SA 2.5" />
  <row Id="1719" PostTypeId="1" CreationDate="2010-09-27T14:34:51.107" Score="2" ViewCount="546" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Possible Duplicate:&lt;/strong&gt;&lt;br&gt;&#xA;  &lt;a href=&quot;https://cstheory.stackexchange.com/questions/1060/best-upper-bounds-on-sat&quot;&gt;Best Upper Bounds on SAT&lt;/a&gt;  &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&#xA;&#xA;&lt;p&gt;I'm working on the obstruction-set-free grid coloring problem; a specific instance of it is described in this &lt;a href=&quot;https://cstheory.stackexchange.com/questions/791/grid-k-coloring-without-monochromatic-rectangles&quot;&gt;previous question on coloring 17x17 grids&lt;/a&gt;. One possible approach to individual instances of the problem involves encoding the problem in 4-CNF and running it on a SAT solver.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm interested in the current state-of-the-art for SAT solvers (of which I know almost nothing). Specifically, I'm interested in both which algorithm has the largest adoption in practice and WHY (though perhaps less so than the following...), and whether there are recent results that are better purely in terms of complexity. To divorce this as far as possible from any type of specific &lt;em&gt;engineering&lt;/em&gt; problem, I'll ask the question in the following form:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;What are the current &quot;best&quot; SAT solver algorithms?&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Feel free to interpret &quot;best&quot; in the most fitting form. Clickable reference links would be appreciated!&lt;/p&gt;&#xA;" OwnerUserId="108" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.743" LastActivityDate="2010-09-27T16:51:23.950" Title="State of the art for SAT solvers" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;sat&gt;" AnswerCount="0" CommentCount="0" FavoriteCount="0" ClosedDate="2010-09-28T02:54:31.310" ContentLicense="CC BY-SA 2.5" />
  <row Id="1720" PostTypeId="2" ParentId="1060" CreationDate="2010-09-27T14:51:47.333" Score="8" Body="&lt;p&gt;This &lt;a href=&quot;https://cstheory.stackexchange.com/questions/1060/best-upper-bounds-on-sat&quot;&gt;post&lt;/a&gt; deals with upper bounds on SAT. This &lt;a href=&quot;https://cstheory.stackexchange.com/questions/93/what-are-the-best-current-lower-bounds-on-3sat&quot;&gt;one&lt;/a&gt; deals with best lower bounds. This &lt;a href=&quot;http://www.satcompetition.org/&quot; rel=&quot;nofollow noreferrer&quot;&gt;link&lt;/a&gt; gives details of the annual competition comparing SAT solver implementations, which are all downloadable. For simplicity, you could start with &lt;a href=&quot;http://www.sat4j.org/&quot; rel=&quot;nofollow noreferrer&quot;&gt;SAT4J&lt;/a&gt;, a Java based library for SAT solving.&lt;/p&gt;&#xA;" OwnerUserId="77" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.743" LastActivityDate="2010-09-27T14:51:47.333" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="1721" PostTypeId="2" ParentId="1718" CreationDate="2010-09-27T15:36:06.620" Score="9" Body="&lt;p&gt;&lt;em&gt;Edit: Major revision in revision 3.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since I have never taught a class, I do not think that I can claim anything convincingly about what we should teach.  Nevertheless, here are what I thought about it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are natural examples where the “limit trick” as is written cannot be applied.  For example, suppose you implement a “variable-length vector” (like vector&amp;lt;T&amp;gt; in C++) by using a fixed-length array with size doubling (that is, every time you are about to exceed the size of the array, you reallocate the array twice as large as now and copy all the elements).  The size &lt;i&gt;S&lt;/i&gt;(&lt;i&gt;n&lt;/i&gt;) of the array when we store &lt;i&gt;n&lt;/i&gt; elements in the vector is the smallest power of 2 greater than or equal to &lt;i&gt;n&lt;/i&gt;.  We want to say that &lt;i&gt;S&lt;/i&gt;(&lt;i&gt;n&lt;/i&gt;)=O(&lt;i&gt;n&lt;/i&gt;), but using the “limit trick” as is written as definition would not allow us to do so because &lt;i&gt;S&lt;/i&gt;(&lt;i&gt;n&lt;/i&gt;)/&lt;i&gt;n&lt;/i&gt; oscillates densely in the range [1,2).  The same applies to Ω() and Θ().&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As a somewhat separate matter, when we use these notations to describe the complexity of an algorithm, I think that your definition of Ω() is sometimes inconvenient (although I guess that that definition is common).  It is more convenient to define that &lt;i&gt;f&lt;/i&gt;(&lt;i&gt;n&lt;/i&gt;)=Ω(&lt;i&gt;g&lt;/i&gt;(&lt;i&gt;n&lt;/i&gt;)) if and only if limsup &lt;i&gt;f&lt;/i&gt;(&lt;i&gt;n&lt;/i&gt;)/&lt;i&gt;g&lt;/i&gt;(&lt;i&gt;n&lt;/i&gt;) &amp;gt; 0.  This is because some problems are trivial for infinitely many values of n (such as the perfect maching problem on a graph with an odd number &lt;i&gt;n&lt;/i&gt; of vertices).  The same applies to Θ() and ω().&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Therefore, I personally find that the following definitions the most convenient to use to describe the complexity of an algorithm: for functions &lt;i&gt;f&lt;/i&gt;, &lt;i&gt;g&lt;/i&gt;: ℕ → ℝ&lt;sub&gt;&amp;gt;0&lt;/sub&gt;,&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;i&gt;f&lt;/i&gt;(&lt;i&gt;n&lt;/i&gt;)=o(&lt;i&gt;g&lt;/i&gt;(&lt;i&gt;n&lt;/i&gt;)) if and only if limsup &lt;i&gt;f&lt;/i&gt;(&lt;i&gt;n&lt;/i&gt;)/&lt;i&gt;g&lt;/i&gt;(&lt;i&gt;n&lt;/i&gt;) = 0.  (This is equivalent to lim &lt;i&gt;f&lt;/i&gt;(&lt;i&gt;n&lt;/i&gt;)/&lt;i&gt;g&lt;/i&gt;(&lt;i&gt;n&lt;/i&gt;) = 0.)&lt;/li&gt;&#xA;&lt;li&gt;&lt;i&gt;f&lt;/i&gt;(&lt;i&gt;n&lt;/i&gt;)=O(&lt;i&gt;g&lt;/i&gt;(&lt;i&gt;n&lt;/i&gt;)) if and only if limsup &lt;i&gt;f&lt;/i&gt;(&lt;i&gt;n&lt;/i&gt;)/&lt;i&gt;g&lt;/i&gt;(&lt;i&gt;n&lt;/i&gt;) &amp;lt; ∞.&lt;/li&gt;&#xA;&lt;li&gt;&lt;i&gt;f&lt;/i&gt;(&lt;i&gt;n&lt;/i&gt;)=Θ(&lt;i&gt;g&lt;/i&gt;(&lt;i&gt;n&lt;/i&gt;)) if and only if 0 &amp;lt; limsup &lt;i&gt;f&lt;/i&gt;(&lt;i&gt;n&lt;/i&gt;)/&lt;i&gt;g&lt;/i&gt;(&lt;i&gt;n&lt;/i&gt;) &amp;lt; ∞.&lt;/li&gt;&#xA;&lt;li&gt;&lt;i&gt;f&lt;/i&gt;(&lt;i&gt;n&lt;/i&gt;)=Ω(&lt;i&gt;g&lt;/i&gt;(&lt;i&gt;n&lt;/i&gt;)) if and only if limsup &lt;i&gt;f&lt;/i&gt;(&lt;i&gt;n&lt;/i&gt;)/&lt;i&gt;g&lt;/i&gt;(&lt;i&gt;n&lt;/i&gt;) &amp;gt; 0.  (This is equivalent to that &lt;i&gt;f&lt;/i&gt;(&lt;i&gt;n&lt;/i&gt;) is not o(&lt;i&gt;g&lt;/i&gt;(&lt;i&gt;n&lt;/i&gt;)).)&lt;/li&gt;&#xA;&lt;li&gt;&lt;i&gt;f&lt;/i&gt;(&lt;i&gt;n&lt;/i&gt;)=ω(&lt;i&gt;g&lt;/i&gt;(&lt;i&gt;n&lt;/i&gt;)) if and only if limsup &lt;i&gt;f&lt;/i&gt;(&lt;i&gt;n&lt;/i&gt;)/&lt;i&gt;g&lt;/i&gt;(&lt;i&gt;n&lt;/i&gt;) = ∞.  (This is equivalent to that &lt;i&gt;f&lt;/i&gt;(&lt;i&gt;n&lt;/i&gt;) is not O(&lt;i&gt;g&lt;/i&gt;(&lt;i&gt;n&lt;/i&gt;)).)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;or equivalently,&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;i&gt;f&lt;/i&gt;(&lt;i&gt;n&lt;/i&gt;)=o(&lt;i&gt;g&lt;/i&gt;(&lt;i&gt;n&lt;/i&gt;)) if and only if for every &lt;i&gt;c&lt;/i&gt;&amp;gt;0, for sufficiently large &lt;i&gt;n&lt;/i&gt;, &lt;i&gt;f&lt;/i&gt;(&lt;i&gt;n&lt;/i&gt;) ≤ &lt;i&gt;c&lt;/i&gt;⋅&lt;i&gt;g&lt;/i&gt;(&lt;i&gt;n&lt;/i&gt;).&lt;/li&gt;&#xA;&lt;li&gt;&lt;i&gt;f&lt;/i&gt;(&lt;i&gt;n&lt;/i&gt;)=O(&lt;i&gt;g&lt;/i&gt;(&lt;i&gt;n&lt;/i&gt;)) if and only if for some &lt;i&gt;c&lt;/i&gt;&amp;gt;0, for sufficiently large &lt;i&gt;n&lt;/i&gt;, &lt;i&gt;f&lt;/i&gt;(&lt;i&gt;n&lt;/i&gt;) ≤ &lt;i&gt;c&lt;/i&gt;⋅&lt;i&gt;g&lt;/i&gt;(&lt;i&gt;n&lt;/i&gt;).&lt;/li&gt;&#xA;&lt;li&gt;&lt;i&gt;f&lt;/i&gt;(&lt;i&gt;n&lt;/i&gt;)=Θ(&lt;i&gt;g&lt;/i&gt;(&lt;i&gt;n&lt;/i&gt;)) if and only if &lt;i&gt;f&lt;/i&gt;(&lt;i&gt;n&lt;/i&gt;)=O(&lt;i&gt;g&lt;/i&gt;(&lt;i&gt;n&lt;/i&gt;)) and &lt;i&gt;f&lt;/i&gt;(&lt;i&gt;n&lt;/i&gt;)=Ω(&lt;i&gt;g&lt;/i&gt;(&lt;i&gt;n&lt;/i&gt;)).&lt;/li&gt;&#xA;&lt;li&gt;&lt;i&gt;f&lt;/i&gt;(&lt;i&gt;n&lt;/i&gt;)=Ω(&lt;i&gt;g&lt;/i&gt;(&lt;i&gt;n&lt;/i&gt;)) if and only if for some &lt;i&gt;d&lt;/i&gt;&amp;gt;0, for infinitely many &lt;i&gt;n&lt;/i&gt;, &lt;i&gt;f&lt;/i&gt;(&lt;i&gt;n&lt;/i&gt;) ≥ &lt;i&gt;d&lt;/i&gt;⋅&lt;i&gt;g&lt;/i&gt;(&lt;i&gt;n&lt;/i&gt;).&lt;/li&gt;&#xA;&lt;li&gt;&lt;i&gt;f&lt;/i&gt;(&lt;i&gt;n&lt;/i&gt;)=ω(&lt;i&gt;g&lt;/i&gt;(&lt;i&gt;n&lt;/i&gt;)) if and only if for every &lt;i&gt;d&lt;/i&gt;&amp;gt;0, for infinitely many &lt;i&gt;n&lt;/i&gt;, &lt;i&gt;f&lt;/i&gt;(&lt;i&gt;n&lt;/i&gt;) ≥ &lt;i&gt;d&lt;/i&gt;⋅&lt;i&gt;g&lt;/i&gt;(&lt;i&gt;n&lt;/i&gt;).&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;But I do not know if this is a common practice or not.  Also I do not know if it is suitable for teaching.  The problem is that we sometimes want to define Ω() by liminf instead (as you did in the first definition).  For example, when we say “The probability of error of this randomized algorithm is 2&lt;sup&gt;−Ω(&lt;i&gt;n&lt;/i&gt;)&lt;/sup&gt;,” we do not mean that the error probability is exponentially small merely for &lt;em&gt;infinitely many&lt;/em&gt; &lt;i&gt;n&lt;/i&gt;!&lt;/p&gt;&#xA;" OwnerUserId="567" LastEditorUserId="567" LastEditDate="2010-09-29T11:14:54.090" LastActivityDate="2010-09-29T11:14:54.090" CommentCount="13" ContentLicense="CC BY-SA 2.5" />
  <row Id="1722" PostTypeId="2" ParentId="1718" CreationDate="2010-09-27T15:44:16.700" Score="13" Body="&lt;p&gt;I prefer teaching the original definition with quantifiers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;IMO, humans generally have trouble in understanding formulas and definitions with more than two alternation of quantifiers directly. Introducing new quantifiers can clarify what the definition means. Here, the last two quantifiers just mean &quot;for all sufficiently large n&quot;, introducing this kind of quantification can help. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The pictures I draw for explaining these concepts match better with the quantifier versions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think the limit simplification is useful for engineering student who are only interested in computing the growth rate, but won't be as useful for computer science students. In fact, using this simplification can cause more harm than good.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This idea is similar to suggestion that we use the rules for computing derivatives (of polynomials, exponentiation, ..., chain rule, ...) in place of the epsilon-delta definition of it, which IMHO is not a good idea.&lt;/p&gt;&#xA;" OwnerUserId="186" LastActivityDate="2010-09-27T15:44:16.700" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="1723" PostTypeId="2" ParentId="1558" CreationDate="2010-09-27T16:02:44.263" Score="6" Body="&lt;p&gt;Is you care about keeping the work small, not just polynomial, there is an elegant algorithm by Ullman and Yannakakis that allows for time/work tradeoffs. Table 1 in my paper on computing strongly connected components in parallel summarizes the parallel directed connectivity results I'm aware of: &lt;a href=&quot;http://www.cs.brown.edu/~ws/papers/scc.pdf&quot;&gt;http://www.cs.brown.edu/~ws/papers/scc.pdf&lt;/a&gt; .&lt;/p&gt;&#xA;" OwnerUserId="1522" LastActivityDate="2010-09-27T16:02:44.263" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1724" PostTypeId="2" ParentId="1718" CreationDate="2010-09-27T16:26:43.690" Score="1" Body="&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Tsuyoshi Ito's definitions don't look quite right. For little-omega and big-omega the definitions should use liminf, not limsup. The definition of big-theta needs both a lower-bound on liminf and an upper-bound on limsup.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;One definition of f(n)=O(g(n)) is that there exists another function f'(n) &gt;= f(n) such that lim f'(n)/g(n) &amp;lt;  infinity.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Why are newbies allowed to post answers but not make comments?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="1522" LastActivityDate="2010-09-27T16:26:43.690" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="1725" PostTypeId="2" ParentId="869" CreationDate="2010-09-27T16:27:42.277" Score="7" Body="&lt;p&gt;Some older work on this problem, again in the Linear Logic vein is, &#xA;Jean-Yves Girard, Andre Scedrov, and Philip Scott. &lt;em&gt;Bounded linear logic: A modular approach to polynomial-time computability.&lt;/em&gt; Theoretical Computer Science, 97(1):1–66, 1992.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More recent work includes &lt;a href=&quot;http://arxiv.org/abs/0904.2675&quot; rel=&quot;noreferrer&quot;&gt;&lt;em&gt;Bounded Linear Logic, Revisited&lt;/em&gt;&lt;/a&gt; by Ugo Dal Lago    and Martin Hofmann.&lt;/p&gt;&#xA;" OwnerUserId="77" LastActivityDate="2010-09-27T16:27:42.277" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1726" PostTypeId="2" ParentId="1060" CreationDate="2010-09-27T16:51:23.950" Score="13" Body="&lt;p&gt;As was already mentioned, if you are interested in theoretical running time guarantees, this question is a duplicate.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But I'd like to point out that if you really want to solve a concrete problem (like the colouring problem that you mentioned), I think that it makes absolutely no sense at all to study theoretical upper bounds.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Even though you wanted to avoid &quot;engineering&quot; aspects, I'd suggest that you just take some popular SAT solvers, try them out, and see what happens (most of them can read the same DIMACS file format, so it is easy to try different solvers). You may have both positive and negative surprises. Recently I had a family of SAT instances; a bunch of instances with tens of thousands of variables and more than one million clauses turned out to be easy to solve, while seemingly much simpler instances with just hundreds of variables and thousands of clauses were far too difficult for any solver that I tried.&lt;/p&gt;&#xA;" OwnerUserId="74" LastActivityDate="2010-09-27T16:51:23.950" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="1727" PostTypeId="1" AcceptedAnswerId="1735" CreationDate="2010-09-27T16:52:34.383" Score="3" ViewCount="346" Body="&lt;p&gt;Is it possible to type a variable-argument function?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT: like those defined in Scheme.&lt;/p&gt;&#xA;" OwnerUserId="656" LastActivityDate="2010-09-27T18:56:01.787" Title="Type a variable-argument function?" Tags="&lt;type-theory&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="1728" PostTypeId="2" ParentId="1727" CreationDate="2010-09-27T16:58:38.727" Score="7" Body="&lt;p&gt;Here's a link describing how to do it in Haskell &lt;a href=&quot;http://okmij.org/ftp/Haskell/polyvariadic.html#polyvar-fn&quot; rel=&quot;nofollow&quot;&gt;http://okmij.org/ftp/Haskell/polyvariadic.html#polyvar-fn&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Other languages have variadic functions, too: &lt;a href=&quot;http://en.wikipedia.org/wiki/Variadic_function&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/Variadic_function&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="77" LastActivityDate="2010-09-27T16:58:38.727" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1729" PostTypeId="2" ParentId="423" CreationDate="2010-09-27T17:00:18.780" Score="7" Body="&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Daniel Apon linked to the conference version of my paper. I suggest the draft journal version instead: &lt;a href=&quot;http://www.cs.brown.edu/people/ws/papers/fast_journal.pdf&quot;&gt;http://www.cs.brown.edu/people/ws/papers/fast_journal.pdf&lt;/a&gt; .&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;On tournament graphs some experimental work suggests that local search does quite well. See Anke van Zuylen and Frans Schalekampf's recent ALENEX paper: &lt;a href=&quot;http://www.siam.org/proceedings/alenex/2009/alx09_004_schalekampf.pdf&quot;&gt;http://www.siam.org/proceedings/alenex/2009/alx09_004_schalekampf.pdf&lt;/a&gt; .&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;If the weights satisfy either &quot;probability constraints&quot; or &quot;triangle inequalities&quot; there's a constant-factor approximation algorithm based on quicksort. See Ailon, Charikar and Newman's recent JACM paper.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Can you tell us a bit more about what sorts of instances you have in mind and whether you're looking for something that works well in practice or in theory?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="1522" LastActivityDate="2010-09-27T17:00:18.780" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="1730" PostTypeId="2" ParentId="1107" CreationDate="2010-09-27T17:27:51.580" Score="6" Body="&lt;p&gt;I will offer one more answer to Akash Kumar's question, which is that (for students especially) a good approach to grappling with the mysteries of quantum mechanics is to first grapple with the mysteries of classical mechanics.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In this regard, a recommended starting textbook (which available in paperback) is Stephanie Frank Singer's &quot;Symmetry in Mechanics: a Gentle Modern Introduction&quot; ... which has the advantage of being short and clear (including 120 problems worked explicitly) and yet it confidently embraces the main modern ideas of symplectic geometry and Lie group theory.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here the point is that in the early 20th century, quantum mechanics and classical mechanics seemed like two very different theories of dynamics.  But if we take seriously Vladimir Arnold's maxim that &quot;Hamiltonian mechanics is geometry in phase space; phase space has the structure of a symplectic manifold&quot;, and we take seriously also the Ashtekar/Schilling maxim that &quot;the linear structure which is at the forefront in text-book treatments of quantum mechanics is, primarily, only a technical convenience and the essential ingredients---the manifold of states, the symplectic structure and the Riemannian metric---do not share this linearity&quot;, then we come to a better appreciation that Troy Schilling's 1996 thesis rests upon a strong mathematical foundation in asserting that &quot;the mathematical differences between classical and quantum mechanics are not so dramatic as they initially appear.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This unified geometric approach to classical/quantum dynamics succeeds mainly by making classical mechanics seem &lt;em&gt;more&lt;/em&gt; mysterious and quantum mechanics seem &lt;em&gt;less&lt;/em&gt; mysterious ... and it is good for students to know that this is one (of many) viable approaches to learning &lt;em&gt;both&lt;/em&gt; kinds of mechanics.&lt;/p&gt;&#xA;" OwnerDisplayName="John Sidles" LastActivityDate="2010-09-27T17:27:51.580" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1731" PostTypeId="2" ParentId="1679" CreationDate="2010-09-27T17:54:22.913" Score="1" Body="&lt;p&gt;If you want an even number of coin tosses to be unbiased with a biased coin, the easy way to remove bias is reverse the result of every other toss.&lt;/p&gt;&#xA;" OwnerUserId="1523" LastActivityDate="2010-09-27T17:54:22.913" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="1732" PostTypeId="2" ParentId="869" CreationDate="2010-09-27T17:58:40.910" Score="24" Body="&lt;p&gt;You want to have a look at what some people call Grädel's Theorem. You can find it in Papadimitriou's book &quot;Computational Complexity&quot; (it's Theorem 8.4 in page 176) or in Grädel's original &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=136273&quot;&gt;paper&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In a nutshell, Grädel's Theorem is to P what Fagin's Theorem is to NP. It states that on the class of finite structures with a successor relation, the collection of polynomial-time decidable properties coincides with those expressible in the Horn-fragment of existential second-order logic. These are the sentences of second-order logic of the form&#xA;$$&#xA;(\exists R)(\forall x)(\phi)&#xA;$$&#xA;where $R$ is a sequence of second-order relation variables, $x$ is a sequence of first-order variables, and $\phi$ is a quantifier-free formula that, when written in CNF form, is a conjunction of $R$-Horn clauses (i.e. clauses that have at most one non-negated atom involving the variables in $R$).&lt;/p&gt;&#xA;" OwnerUserId="1509" LastActivityDate="2010-09-27T17:58:40.910" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="1733" PostTypeId="5" CreationDate="2010-09-27T18:15:35.323" Score="0" Body="&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Computational_complexity_theory&quot; rel=&quot;nofollow&quot;&gt;Computational complexity&lt;/a&gt; is about the inherent difficulty of computational problems, &lt;em&gt;when some resource is limited&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Time and space are the most common resource limits.  These restrict the number of steps or tape squares that a Turing machine may use.  Less common limits are the number of alternations, nondeterministic steps, bits of advice, or quantum bits used in the computation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the $\rm{P} \overset{?}{=} \rm{NP}$ question, time is polynomially bounded in the size of the input.  This question asks whether polynomially many nondeterministic steps can decide some problem for which polynomially many deterministic steps is not enough.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://cstheory.stackexchange.com/questions/tagged/computability&quot;&gt;&lt;code&gt;Computability&lt;/code&gt;&lt;/a&gt; is a better tag when only very weak limits are placed on the allowed computations, for instance when the computation may use any finite amount of time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For interactions that can continue indefinitely, consider instead the tag &lt;a href=&quot;http://cstheory.stackexchange.com/questions/tagged/distributed-systems&quot;&gt;&lt;code&gt;distributed-systems&lt;/code&gt;&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="109" LastEditorUserId="873" LastEditDate="2010-11-01T17:05:42.393" LastActivityDate="2010-11-01T17:05:42.393" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1734" PostTypeId="4" CreationDate="2010-09-27T18:15:35.323" Score="0" Body="P versus NP and other resource-bounded computation." OwnerUserId="109" LastEditorUserId="109" LastEditDate="2011-04-05T11:07:02.750" LastActivityDate="2011-04-05T11:07:02.750" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1735" PostTypeId="2" ParentId="1727" CreationDate="2010-09-27T18:56:01.787" Score="11" Body="&lt;p&gt;Such functions can be typed in dependently typed programming languages (among others).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is an example in &lt;a href=&quot;http://wiki.portal.chalmers.se/agda/&quot;&gt;Agda&lt;/a&gt;, a dependently typed language that looks similar to Haskell:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;more : Nat -&amp;gt; Set&#xA;more 0 = Nat&#xA;more (S x) = Nat -&amp;gt; more x&#xA;&#xA;&#xA;sum : \forall {x : Nat} -&amp;gt; Nat -&amp;gt; more x&#xA;sum {0}   a = a&#xA;sum {S x} a = \lambda m -&amp;gt; sum {x} (m + a)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;The function sum takes x natural numbers as arguments and returns with the sum of all arguments. The S in the pattern matches is the &quot;successor&quot; constructor on the natural numbers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note: Agda has a much nicer Unicode syntax, but most browsers can't display it correctly.&lt;/p&gt;&#xA;" OwnerUserId="1525" LastActivityDate="2010-09-27T18:56:01.787" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="1736" PostTypeId="2" ParentId="592" CreationDate="2010-09-27T19:44:53.833" Score="5" Body="&lt;p&gt;I thought that having a look at surveys/talks by Avi Wigderson may help with your question. Here are slides from a recent talk: &lt;a href=&quot;http://math.ias.edu/~avi/TALKS/expander_tutorial_June2010.ppt&quot; rel=&quot;nofollow noreferrer&quot;&gt;Expander Tutorial, June 2010&lt;/a&gt;. Constructions start on page 40.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Regarding the space complexity, I think it can be helpful if you specify the operations you need to perform on the graph. If I am not mistaken, some constructions allow operation like computing neighborhood in logspace.&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="20340" LastEditDate="2017-12-12T09:31:15.727" LastActivityDate="2017-12-12T09:31:15.727" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="1737" PostTypeId="2" ParentId="736" CreationDate="2010-09-27T20:13:04.467" Score="-2" Body="&lt;p&gt;&lt;strong&gt;This is wrong and is based on a misunderstanding on the question.&lt;/strong&gt;  Thanks to Tsuyoshi for patiently pointing out my error.  Leaving up in case others make the same mistake.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If the number of immediate predecessors of a node is bounded by $k$, then an algorithm that first does a topological sort, then processes the nodes in this order will do the job.  &lt;em&gt;Measuring the number of immediate predecessors is suggested by viewing the DAG as a partial order.  A model with bounded number of immediate predecessors may be appropriate for a revision history, where only a few files are changed by most revisions.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The point is that &lt;strong&gt;for this special case&lt;/strong&gt;, for each node there are at most $k$ predecessors in the linear order that need to be looked at, so this can be done with $O(k|V|)$ additions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The &lt;a href=&quot;http://en.wikipedia.org/wiki/Topological_sorting&quot; rel=&quot;nofollow&quot;&gt;topological sort&lt;/a&gt; requires $O(|V|+|E|)$ time, which gives you the asymptotic bound you are looking for.  But in the application you describe, the linear number of additions is likely to dominate.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This approach should also work well if there are some nodes with many immediate predecessors, as long as they are relatively infrequent.&lt;/p&gt;&#xA;" OwnerUserId="109" LastEditorUserId="109" LastEditDate="2010-09-28T19:17:16.240" LastActivityDate="2010-09-28T19:17:16.240" CommentCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="1738" PostTypeId="2" ParentId="1680" CreationDate="2010-09-27T20:21:34.710" Score="6" Body="&lt;p&gt;This is not a complete answer, yet I think it is helpful.&lt;/p&gt;&#xA;&lt;p&gt;The answer is in fact taken from the following paper:&lt;/p&gt;&#xA;&lt;p&gt;Beigel, R. and Goldsmith, J. 1998. Downward Separation Fails Catastrophically for Limited Nondeterminism Classes. &lt;em&gt;SIAM J. Comput.&lt;/em&gt; 27, 5 (Oct. 1998), 1420-1429. DOI= &lt;a href=&quot;http://dx.doi.org/10.1137/S0097539794277421&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://dx.doi.org/10.1137/S0097539794277421&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;The abstract states almost everything:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;The &lt;span class=&quot;math-container&quot;&gt;$\beta$&lt;/span&gt; hierarchy consists of classes &lt;span class=&quot;math-container&quot;&gt;$\beta_k={\rm NP}[\log^k n]\subseteq {\rm NP}$&lt;/span&gt;. Unlike collapses in the polynomial hierarchy and the Boolean hierarchy, collapses in the &lt;span class=&quot;math-container&quot;&gt;$\beta$&lt;/span&gt; hierarchy do not seem to translate up, nor does closure under complement seem to cause the hierarchy to collapse. For any consistent set of collapses and separations of levels of the hierarchy that respects &lt;span class=&quot;math-container&quot;&gt;${\rm P} = \beta_1\subseteq \beta_2\subseteq \cdots \subseteq {\rm NP}$&lt;/span&gt;, we can construct an oracle relative to which those collapses and separations hold; at the same time we can make distinct levels of the hierarchy closed under computation or not, as we wish. To give two relatively tame examples: for any &lt;span class=&quot;math-container&quot;&gt;$k \geq 1$&lt;/span&gt;, we construct an oracle relative to which&lt;/p&gt;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$ {\rm P} = \beta_{k} \neq \beta_{k+1} \neq \beta_{k+2} \neq \cdots $&lt;/span&gt;&lt;/p&gt;&#xA;&lt;p&gt;and another oracle relative to which&lt;/p&gt;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$ {\rm P} = \beta_{k} \neq \beta_{k+1} = {\rm PSPACE}. $&lt;/span&gt;&lt;/p&gt;&#xA;&lt;p&gt;We also construct an oracle relative to which &lt;span class=&quot;math-container&quot;&gt;$\beta_{2k} = \beta_{2k+1} \neq \beta_{2k+2}$&lt;/span&gt; for all k.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;This shows that the &lt;span class=&quot;math-container&quot;&gt;$\beta$&lt;/span&gt; hierarchy has contradictory relativizations, nominating its separation as a &amp;quot;hard&amp;quot; problem.&lt;/p&gt;&#xA;&lt;p&gt;The literature does not seem to care much about the &lt;span class=&quot;math-container&quot;&gt;$\beta$&lt;/span&gt; hierarchy, since a regular search does not show up with many relevant results. In particular, there's a very limited (and seemingly irrelevant) number of &lt;a href=&quot;http://scholar.google.com/scholar?cites=6683854578350522992&amp;amp;as_sdt=2005&amp;amp;sciodt=2000&amp;amp;hl=en&quot; rel=&quot;nofollow noreferrer&quot;&gt;papers citing the above results&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;hr /&gt;&#xA;&lt;h3&gt;Unrelated but Worth Noting&lt;/h3&gt;&#xA;&lt;p&gt;You may also see:&lt;/p&gt;&#xA;&lt;p&gt;&lt;code&gt;The complexity of optimization problems. Journal of Computer and System Sciences, 36:490-509, 1988.&lt;/code&gt;&lt;/p&gt;&#xA;&lt;p&gt;where it's proved that If &lt;span class=&quot;math-container&quot;&gt;$FP^{NP} = FP^{NP[log]}$&lt;/span&gt; (that is, allowed only a logarithmic number of queries), then &lt;span class=&quot;math-container&quot;&gt;$P = NP$&lt;/span&gt;.&lt;/p&gt;&#xA;" OwnerUserId="873" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2010-09-29T07:49:56.843" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1739" PostTypeId="2" ParentId="79" CreationDate="2010-09-27T21:19:06.673" Score="18" Body="&lt;p&gt;In a &lt;em&gt;monotone&lt;/em&gt; CNF formula every clause contains only positive literals or only negative literals.  In an &lt;em&gt;intersecting&lt;/em&gt; monotone CNF formula every positive clause has some variable in common with every negative clause.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The decision problem&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;INTERSECTING MONOTONE SAT&lt;/strong&gt;&lt;br&gt;&#xA;  &lt;em&gt;Input:&lt;/em&gt; intersecting monotone CNF formula $f$&lt;br&gt;&#xA;  &lt;em&gt;Question:&lt;/em&gt; is $f$ satisfiable?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;has an $n^{o(\log\ n)}$ algorithm dating back to 1996, but is not known to be in P.  (Of course, it might turn out to be in P, but that would be a major result.)&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Thomas Eiter and Georg Gottlob, &lt;em&gt;Hypergraph Transversal Computation and Related Problems in Logic and AI&lt;/em&gt;, JELIA 2002.  doi: &lt;a href=&quot;http://10.1007/3-540-45757-7_53&quot;&gt;10.1007/3-540-45757-7_53&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="109" LastActivityDate="2010-09-27T21:19:06.673" CommentCount="0" CommunityOwnedDate="2010-09-27T21:19:06.673" ContentLicense="CC BY-SA 2.5" />
  <row Id="1740" PostTypeId="5" CreationDate="2010-09-27T21:28:19.470" Score="0" Body="&lt;p&gt;The tag &lt;a href=&quot;/questions/tagged/sat&quot; class=&quot;post-tag&quot; title=&quot;show questions tagged 'sat'&quot; rel=&quot;tag&quot;&gt;sat&lt;/a&gt; refers to &lt;a href=&quot;http://en.wikipedia.org/wiki/Boolean_satisfiability_problem&quot; rel=&quot;nofollow&quot;&gt;SAT&lt;/a&gt;, the Boolean satisfiability problem.&lt;/p&gt;&#xA;" OwnerUserId="567" LastEditorUserId="567" LastEditDate="2010-11-22T00:39:05.623" LastActivityDate="2010-11-22T00:39:05.623" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1741" PostTypeId="4" CreationDate="2010-09-27T21:28:19.470" Score="0" Body="SAT stands for the Boolean satisfiability problem." OwnerUserId="567" LastEditorUserId="567" LastEditDate="2010-09-27T21:28:19.470" LastActivityDate="2010-09-27T21:28:19.470" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1742" PostTypeId="1" CreationDate="2010-09-28T00:42:47.427" Score="6" ViewCount="210" Body="&lt;p&gt;This question first appeared at &lt;a href=&quot;https://cstheory.stackexchange.com/q/1555/1351&quot;&gt;Hardness of node partitioning under shortest path constraint&lt;/a&gt; and I restate it here&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Given a direct graph $G=(V,E)$. $\forall (i,j) \in E$, there is a weight $w(i,j) \in \mathbb{Z}$ (integer and negative weight is possible). A label $l(i)$ is associated with each node $i \in V$. How to assign $k$ (or less) distinctive values to $l(i)$ such that&lt;br&gt;&#xA;  $$l(j) \leq l(i) + w(i,j),\quad \forall (i,j) \in E ?$$&#xA;  Notice that when $k=|V|$, this problem is easily solvable by Shortest path algorithm (Bellman-Ford). But what's the hardness is this problem for $k &amp;lt; |V|$? &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;@Tsuyoshi has proved this problem to be &lt;strong&gt;NP-complete&lt;/strong&gt; in the original post. Although the reduction is from a weakly NP-complete problem &quot;equal subset sum&quot;, the problem listed above seems to be more complicated. So my further question is &lt;strong&gt;whether this problem is strongly or weakly NP-complete&lt;/strong&gt;?&lt;/p&gt;&#xA;" OwnerUserId="1351" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2011-07-09T07:07:17.973" Title="Further question on hardness of node partitioning under shortest path constraint" Tags="&lt;graph-theory&gt;&lt;np-hardness&gt;" AnswerCount="0" CommentCount="9" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="1743" PostTypeId="1" AcceptedAnswerId="1744" CreationDate="2010-09-28T06:06:50.233" Score="3" ViewCount="205" Body="&lt;p&gt;This question has been asked at &lt;a href=&quot;https://stackoverflow.com/questions/3793510/find-the-discrete-pair-of-x-y-that-satisfy-inequality-constriants&quot;&gt;StackOverflow&lt;/a&gt; ( a variant of this has been &lt;a href=&quot;https://math.stackexchange.com/questions/5289/find-range-of-x-1-x-2-where-y-min-leq-yx-1-x-2-leq-y-max&quot;&gt;asked at Math SE&lt;/a&gt;), but so far there is no great response. So I'm going to reask here-- with a bit of twist.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have a few inequalities regarding $x,y$ ( both must be integer), that satisfies the following equations:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$x&amp;gt;=0$$&#xA;$$y&amp;gt;=0$$&#xA;$$100 \leq x^2+y^2 \leq 200$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there an algorithm (&lt;em&gt;non-brute force&lt;/em&gt;!) that allows me to find every admissible pair of $x,y$? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The $100 \leq x^2+y^2 \leq 200$ is just an example; in general the constraint equation(s) can be of polynomial functions with any degree.&lt;/p&gt;&#xA;" OwnerUserId="440" LastEditorUserId="-1" LastEditDate="2017-05-23T12:40:09.333" LastActivityDate="2010-09-28T16:07:22.403" Title="Find the Discrete Pair of {x,y} that Satisfy Inequality Constriants" Tags="&lt;cg.comp-geom&gt;" AnswerCount="2" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="1744" PostTypeId="2" ParentId="1743" CreationDate="2010-09-28T06:25:45.053" Score="7" Body="&lt;p&gt;This is a rasterization problem. For linear inequalities, the regions are polygonal. The classical approach to polygon rasterization is scan conversion; you may learn about it in any textbook on computer graphics.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Preparatory to scan conversion, you will need to convert your linear inequalities (defining half-planes) into an oriented list of edges. One way is to compute the convex hull of the dualized inequalities.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For general polynomial inequalities, the problem is considerably harder. Scan conversion with plane sweeping and active edge lists will do the trick. Detecting sweep events requires you to solve systems of polynomial equations in two variables, which may be done with a combination of numerical and symbolic methods. One way uses resultants and root finding to determine the intersection events up front. Another approach is more incremental, less efficient but significantly simpler:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assume a bounding box is given. For each y going from the maximum to the minimum, incrementally evaluate the coefficients of the polynomials as functions of y using forward differencing, yielding polynomials depending only on x for each scan-line. Their roots will serve as the rasterization bounds for that scan-line, and you can learn how to find them in a book on numerical methods (Numerical Recipes is popular).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit: When I wrote my answer, the last inequality had subscripts rather than superscripts, so it appeared linear. Now I see it is quadratic. That still makes it a rasterization problem although a non-polygonal one. For this specific case you can use circle rasterization to cut out the annulus. In the most general case, you will need polynomial techniques along the lines of my last paragraph. I added some more detail on this.&lt;/p&gt;&#xA;" OwnerUserId="1435" LastEditorUserId="1435" LastEditDate="2010-09-28T07:15:05.110" LastActivityDate="2010-09-28T07:15:05.110" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="1745" PostTypeId="2" ParentId="79" CreationDate="2010-09-28T09:55:04.623" Score="29" Body="&lt;p&gt;The Minimum Circuit Size Problem (MCSP) is my favorite &quot;natural&quot; problem in NP that's not known to be NP-complete: Given the truth-table (of size n=2^m) of an m-variate Boolean function f, and given a number s, does f have a circuit of size s?  If MCSP is easy, then there is no cryptographically-secure one-way function.  This problem and its variants provided much of the motivation for the study of &quot;brute-force&quot; algorithms in Russia, leading to Levin's work on NP-completeness.  This problem can also be viewed in terms of resource-bounded Kolmogorov complexity: asking if a string can be recovered quickly from a short description.  This version of the problem was studied by Ko; the name MCSP was used first by Cai and Kabanets, as far as I know.  More references can be found in some papers of mine:&#xA;&lt;a href=&quot;http://ftp.cs.rutgers.edu/pub/allender/KT.pdf&quot;&gt;http://ftp.cs.rutgers.edu/pub/allender/KT.pdf&lt;/a&gt;&#xA;http://ftp.cs.rutgers.edu/pub/allender/pervasive.reach.pdf &lt;/p&gt;&#xA;" OwnerUserId="17282" LastActivityDate="2010-09-28T09:55:04.623" CommentCount="0" CommunityOwnedDate="2010-09-28T09:55:04.623" ContentLicense="CC BY-SA 2.5" />
  <row Id="1746" PostTypeId="2" ParentId="1675" CreationDate="2010-09-28T10:22:12.210" Score="13" Body="&lt;p&gt;I can't resist putting in a plug for some recent results, indicating that it can be interesting to consider computation relative to the (non-computable) set of Kolmogorov-random strings.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $R$ be the set of Kolmogorov-random strings; that is, the set of strings $x$ such that $K(x)$ is greater than or equal to $|x|$.  (Actually, each &quot;optimal&quot; prefix Turing machine $U$ gives a different version $R_U$ of this set; usually it doesn't make much difference which $U$ we use to define $K$; it affects $K(x)$ only by $O(1)$.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://people.cs.uchicago.edu/~fortnow/papers/bppr.pdf&quot;&gt;Buhrman &lt;em&gt;et al.&lt;/em&gt;&lt;/a&gt; showed (at CCC 2010) that $BPP$ is poly-time truth-table reducible to $R$, and earlier work showed that $PSPACE$ is in $P^R$, and NEXP is in $NP^R$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;These might seem like fairly worthless results, since they give a non-computable upper bound on complexity classes!  However a recent paper (see &lt;a href=&quot;http://www.eccc.uni-trier.de/report/2010/138/&quot;&gt;http://www.eccc.uni-trier.de/report/2010/138/&lt;/a&gt; ) shows $PSPACE$ is an upper bound on the class of decidable sets that are poly-time truth-table reducible to $R_U$ for every $U$.  That is, $PSPACE$ is sandwiched between the class of decidable problems that are Turing and truth-table reducible to $R$.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The same paper also shows that Exponential Space is an upper bound on the class of decidable problems that are in $NP^{R_U}$ for every $U$.  I would guess that it might be possible to &lt;em&gt;characterize&lt;/em&gt; $NEXP$ in this way.&lt;/p&gt;&#xA;" OwnerUserId="17282" LastEditorUserId="873" LastEditDate="2010-09-28T18:27:43.377" LastActivityDate="2010-09-28T18:27:43.377" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="1748" PostTypeId="2" ParentId="1107" CreationDate="2010-09-28T12:13:20.220" Score="2" Body="&lt;p&gt;Well, I am going to provide some additional references relevant to Akash Kumar's question about quantum postulates, with a view toward encouraging students to learn the mathematics that they need to appreciate the many well-developed frameworks for studying both classical and quantum dynamics.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let's start where the Nielsen-Chuang text leaves off, namely, with &quot;Theorem: Unitary Freedom in the Operator-Sum Representation&quot; (Section 8.2 of Nielsen-Chuang).  Nielsen and Chuang's text notes that one practical application of this theorem has come in the theory of quantum error correction, where it has been &quot;crucial to a good understanding of quantum error correction.&quot;   But then the Nielsen-Chuang text falls silent.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The replies given (so far) here on Stack Exchange are not much help in understanding this &quot;unitary freedom&quot; ... which as it turns out is central to all aspects of quantum mechanics associated to what Einstein and Bohr called the &quot;spukhafte Fernwirkungen&quot; (spooky action-at-a-distance) of quantum mechanics.  In particular, this unitary freedom is key to quantum readout, quantum error correction, and quantum cryptograpy---three of the main reasons that TCS students study quantum dynamics. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;To learn more, what should the student read?  There are plenty of options (and others may have their own preferences), but I am going to recommend Howard Carmichael's &quot;Statistical Methods in Quantum Optics: Non-classical fields&quot;, in particular Chapter 17--19, titled &quot;Quantum Trajectories I-III&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In these three chapters, Carmichael's text physically motivates what the Nielsen-Chuang text encodes as formal postulates and theorems, namely our freedom to &quot;unravel&quot; projective measurements (non-projective measurements too) in various ways.  Physically this freedom ensures that we live in a causally separable universe, mathematically this freedom is the basis of all quantum cryptography and error correction.   &lt;/p&gt;&#xA;&#xA;&lt;p&gt;AFACIT, it was Carmichael himself who in 1993 invented the now-standard term &quot;unraveling&quot; to describe this informatic invariance.  Since then the unraveling literature has grown immensely: a whole-text search of the arxiv server for &quot;quantum&quot; and &quot;unraveling&quot; finds 762 manuscripts; the variant spelling &quot;unravelling&quot; finds 612 more manuscripts (possibly with some duplicates).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course, learning the mathematical toolset and the physical ideas associated to quantum unraveling is a lot of work.  It is reasonable to ask, what benefit(s) may students reasonably expect, to repay this hard work?  In answer, here is a one-paragraph parable, whose chief virtue is that it is immensely shorter than reading two very long, tough quantum texts (Nielsen-Chuang and Carmichael).  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Once upon a time, a student of Euclidean geometry named Alice asked herself &quot;How does the measurement of Euclidean length really work?&quot;  The Euclidean postulates answered Alice's question as follows: &quot;All physical length measurements are equivalent to measurements by a compass, whose mathematical model is a segment of the number line.&quot;   Yet by an immense effort of creative imagination, Alice conceived an equivalent yet more general answer:  &quot;All physical length measurements are equivalent to integrations of velocities along trajectories, whose mathematical model is curves on manifolds that are equipped with symplectic and metric forms and dynamical potentials.&quot;  Alice's non-Euclidean framework for classical dynamics was a lot of work to learn, but it opened to her new worlds of science, technology, engineering, and mathematics (STEM).  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;To make the point of the parable explicit, Alice embraced a differential description of classical dynamics, and thus freed herself from the rigid constraints of Euclidean space.  Similarly, today's quantum students have the option of embracing a differential description of unraveling dynamics, and thus freeing themselves of the rigid constraints of Hilbert space.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As with non-Euclidean classical dynamics, non-Hilbert quantum dynamics is a lot of work to learn---at present there is no single textbook that covers all the required material---and yet these new non-Euclidean/non-Hilbert dynamical frameworks are opening vast new worlds for exploration.   These explorations extend from the mysteries of string theory to the gritty challenges of writing efficient, validated quantum simulation codes in chemistry and materials science.  It is clear that research in any of these areas already requires of students both a deeper-than-Euclid appreciation of classical dynamics, and a deeper-than-Hilbert appreciation of quantum dynamics.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;That is why the mathematical challenges and the research opportunities associated to both classical and quantum dynamics have never been greater than at the present time.  Which is good!&lt;/p&gt;&#xA;" OwnerDisplayName="John Sidles" LastActivityDate="2010-09-28T12:13:20.220" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1749" PostTypeId="2" ParentId="1677" CreationDate="2010-09-28T15:31:21.110" Score="1" Body="&lt;p&gt;If you require some geometry, you could try &lt;a href=&quot;http://zirkel.sourceforge.net/doc_en/index.html&quot; rel=&quot;nofollow&quot;&gt;C.a.R.&lt;/a&gt; or its offspring &lt;a href=&quot;http://db-maths.nuxit.net/CaRMetal/index_en.html&quot; rel=&quot;nofollow&quot;&gt;CaRMetal&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="233" LastEditorUserId="233" LastEditDate="2010-09-28T17:05:15.643" LastActivityDate="2010-09-28T17:05:15.643" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1750" PostTypeId="2" ParentId="1743" CreationDate="2010-09-28T16:07:22.403" Score="3" Body="&lt;p&gt;If the inequalities are linear, then each inequality corresponds to a line, and the feasible region is a convex polygon. Computing the grid points inside convex polygon is known as the discrete hull problem. See here for one &lt;a href=&quot;http://valis.cs.uiuc.edu/~sariel/papers/msc_phd/discrete-hull.html&quot; rel=&quot;nofollow&quot;&gt;result&lt;/a&gt; on this. (See also &lt;a href=&quot;http://compgeom.cs.uiuc.edu/~jeffe/pubs/gridvis.html&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In general, you can compute the arrangement of the constraints, and extract the discrete points inside each relevant face. If a face is not convex, but is the difference between convex regions (as in the above example), then you can compute the discrete hull for each of the sets, compute their arrangement, triangulate each face, and compute the discrete hull for each of the regions. Notice, that it might be that a grid point hides somewhere in a very thin and very long triangle, and using discrete hull gives you a faster algorithm...&lt;/p&gt;&#xA;" OwnerUserId="9594" LastActivityDate="2010-09-28T16:07:22.403" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1751" PostTypeId="1" CreationDate="2010-09-28T17:13:30.970" Score="4" ViewCount="224" Body="&lt;p&gt;I'm wondering if anybody has followed up on Nair/Tetali's &lt;a href=&quot;http://arxiv.org/abs/math/0701494&quot; rel=&quot;nofollow&quot;&gt;correlation decay&lt;/a&gt; tree construction for hypergraphs. I didn't find anything relevant in back-citation on google scholar. Interesting question are:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;applying it to exact and approximate inference in Boltzmann machines, and &lt;/li&gt;&#xA;&lt;li&gt;using it to determine for which hypergraphs it is tractable to count the number of colorings approximately.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="434" LastEditorUserId="186" LastEditDate="2011-01-07T05:35:04.540" LastActivityDate="2011-01-07T05:35:04.540" Title="Follow-up on Nair/Tetali's Correlation Decay Tree for hypergraphs?" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;approximation-algorithms&gt;&lt;counting-complexity&gt;&lt;hypergraphs&gt;" AnswerCount="0" CommentCount="0" FavoriteCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1752" PostTypeId="1" AcceptedAnswerId="1753" CreationDate="2010-09-28T17:33:30.163" Score="8" ViewCount="430" Body="&lt;p&gt;(I am in the middle of my first theoretical cs course, so I apologize in advance for what is probably a stupid question.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, we say that some language L is in P, which means that a Turing machine can be constructed which outputs a 1 if x is in L and 0 otherwise; in addition, the machine runs in polynomial time. I understand this.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But many people say that there are certain problems in P which do not appear to me to be decision problems; for example, maximizing a function subject to linear constraints. What does it mean that &quot;linear programming&quot; is in P? Surely &quot;find the maximal value&quot; is not a decision problem?&lt;/p&gt;&#xA;" OwnerUserId="1418" LastEditorUserId="873" LastEditDate="2010-09-28T18:36:32.003" LastActivityDate="2010-09-29T21:31:59.480" Title="Simple question about decision problems" Tags="&lt;cc.complexity-theory&gt;" AnswerCount="4" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="1753" PostTypeId="2" ParentId="1752" CreationDate="2010-09-28T17:52:34.257" Score="16" Body="&lt;p&gt;You are right: formally P includes only decision problems. But many decision problems have corresponding optimization problems: find the size of the largest matching in a graph, find the length of the shortest path from s to t in a graph, etc. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Often, these can be reduced to decision problems by instead asking: &quot;Does the graph have a matching using more than k edges?&quot; or &quot;Is there an s-&gt;t path of length less than k?&quot; &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Obviously, if you can solve the optimization problem, you can solve the decision problem. The converse is also often true, up to logarithmic factors. If you want to know the size of the largest matching in a graph, for example, you can make repeated calls to your algorithm for the decision problem &quot;Does the graph have a matching using more than k edges?&quot; and do binary search on the value &quot;k&quot;. In this way, you will require at most log(m) calls, where m is the number of edges. For most problems there is an analogous reduction.&lt;/p&gt;&#xA;" OwnerUserId="25" LastActivityDate="2010-09-28T17:52:34.257" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="1754" PostTypeId="2" ParentId="1752" CreationDate="2010-09-28T17:54:47.530" Score="7" Body="&lt;p&gt;Problems requiring a solution can be turned into decision problems if there is some way to measure how good a solution is.  The decision version specifies that any solution must be better than some threshold value.  For instance, the decision version of LINEAR PROGRAMMING is obtained by asking if the linear program is feasible.&lt;/p&gt;&#xA;" OwnerUserId="109" LastActivityDate="2010-09-28T17:54:47.530" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="1755" PostTypeId="2" ParentId="1752" CreationDate="2010-09-28T18:11:53.353" Score="11" Body="&lt;p&gt;Formally, the class of &lt;em&gt;functions&lt;/em&gt; that can be computed in polynomial time is called &lt;a href=&quot;http://en.wikipedia.org/wiki/FP_(complexity)&quot; rel=&quot;nofollow&quot;&gt; FP&lt;/a&gt;.  People often say &quot;P&quot; instead of &quot;FP&quot; since the distinction is just syntactic and no real confusion will happen.&lt;/p&gt;&#xA;" OwnerUserId="42" LastEditorUserId="42" LastEditDate="2010-09-28T18:23:03.097" LastActivityDate="2010-09-28T18:23:03.097" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1756" PostTypeId="2" ParentId="1752" CreationDate="2010-09-28T18:43:11.707" Score="8" Body="&lt;p&gt;A very similar question has already been asked in the topic &quot;&lt;a href=&quot;https://cstheory.stackexchange.com/q/1088/&quot;&gt;FNP complexity class&lt;/a&gt;.&quot; There, the questioner essentially asked the difference between the NP and FNP complexity classes. You are asking the difference between the P and FP complexity classes. In short, P and NP are decision classes, while the &quot;F&quot;-versions (FP and FNP) are function classes. For more info, please refer to the topic cited above.&lt;/p&gt;&#xA;" OwnerUserId="873" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2010-09-28T18:43:11.707" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1757" PostTypeId="2" ParentId="1718" CreationDate="2010-09-28T18:43:25.453" Score="5" Body="&lt;p&gt;When I took basic courses, we were given the $\exists c,n_0 \dots$ thing as definition and the other stuff as theorem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think the first one is more natural for many people that think discrete rather than continuous, that is most computer scientists (in my experience). It also fits the way we usually talk about those things better: &quot;There is a polynomial function of degree 3 that is an upper bound for this $f$ up to a constant factor.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit&lt;/strong&gt;: You can get even closer to this way of speaking if you use this definition:&#xA;$f \in \mathcal{O}(g) :\Leftrightarrow \exists c,d &gt; 0 \forall n \geq 0 : f(n) \leq c\cdot g(n) + d$&#xA;(Note that $d=f(n_0)$ connects this definition with the one usually given) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The limit stuff is pretty useful for calculating complexity classes, that is with pen and paper.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In any case, I think it is very useful for students to learn that there is a wealth of (hopefully) equivalent definitions. They should be able to realize that and pick out differences in case of nonequivalent definitions.&lt;/p&gt;&#xA;" OwnerUserId="1546" LastEditorUserId="1546" LastEditDate="2010-09-29T11:44:40.763" LastActivityDate="2010-09-29T11:44:40.763" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1758" PostTypeId="1" CreationDate="2010-09-28T19:50:46.773" Score="6" ViewCount="283" Body="&lt;p&gt;Given a function $\sum_{i=-N}^N{c_i x^i}$:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$f(x) \equiv \sum_{i=-N}^N{c_i x^i}$ where $c_i$ is an integer; $0 \le c_i \le a$ for some $a$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The constant $c_0$ is desired, and we start with only $f(x)$ and $N$.  $N$ is $\Theta(2^{b})$ for some $b$.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Can you clarify?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;First, we start with a closed form of a function.  The function itself is similar to a generating function, so that the function description is usually more concise than a list of all of its coefficients, yet it describes all of the coefficients.  Some examples are&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\frac{1-x^{100}}{1-x} = 1 + x + x^2 + ... + x^{99}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\frac{ 1 - (n+1)x^n + nx^{n+1} }{ (x-1)^2 } = 1 + 2x + 3x^2 + ... + (n+1)x^n$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem seems to be that this coefficient is in the middle of a list of positive and negative coefficients.  In the two examples above, the coefficient c_0 can be easily extracted.  However, this is not so when there are negative coefficients.  For example, take the functions above and divide by x^m to get a function that contains some negative coefficients.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What is known about the general form of $f(x)$?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The function $f(x)$ is a rational function:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$f(x) = P(x)/Q(x)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where $P(x)$ and $Q(x)$ are polynomials.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here's a little insight into how $f(x)$ is calculated.&#xA;I use a standard rational function:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$g(x) = (x^s(x^t-1)) / ((x-1)(x^u+1))$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I then multiply $g(x)$ by $g(y)$, and $g(y)$ is of the same form of $g(x)$, but in another variable.  I then possibly subtract this from a function of one coefficients:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$h(xy) = (1-(x y)^v) / (1-x y)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I then use another variable function similar to $g(x)$, say $g(z)$, and multiply again.  Possibly subtract again.  Repeat this until the function I want is constructed.  Then reassign variables like so (to either positive or negative exponents):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$y \mapsto \displaystyle x^{\pm 2^N}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$z \mapsto \displaystyle (x^{\pm 2^N})*(x^{\pm 2^N})$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;and so on.  This is how the function is created, without going into detail.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;How fast can this computation be performed?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;So far, I've seen that &lt;a href=&quot;http://algo.inria.fr/salvy/&quot; rel=&quot;nofollow&quot;&gt;Bruno Salvy's webpage&lt;/a&gt; hosts a &quot;gfun&quot; package that solves this in O(N).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm attempting to write a more efficient algorithm than this, so I'm hoping that it's possible to do better.  I imagine that a bounds related to the length of the function description may be possible...&lt;/p&gt;&#xA;" OwnerUserId="1549" LastEditorUserId="1549" LastEditDate="2010-09-30T22:25:23.183" LastActivityDate="2010-09-30T22:25:23.183" Title="What is/are the lower bounds for finding a something akin to complex residue?" Tags="&lt;lower-bounds&gt;&lt;algebra&gt;" AnswerCount="5" CommentCount="23" CommunityOwnedDate="2010-09-30T22:11:26.207" ContentLicense="CC BY-SA 2.5" />
  <row Id="1759" PostTypeId="1" AcceptedAnswerId="1764" CreationDate="2010-09-28T20:11:24.513" Score="21" ViewCount="1423" Body="&lt;h3&gt;Preamble&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;Interactive proof systems and Arthur-Merlin protocols were introduced by &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=22145.22178&quot;&gt;Goldwasser, Micali and Rackoff&lt;/a&gt; and &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=22145.22192&quot;&gt;Babai&lt;/a&gt; back in 1985. At first, it was thought that the former is more powerful than the latter, but &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=12130.12137&quot;&gt;Goldwasser and Sipser&lt;/a&gt; showed that they have the same power (with respect to language recognition). Hence, in this post, I'll used the two concepts interchangeably.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $IP[k]$ be the class of languages admitting an interactive proof system with $k$ rounds. Babai proved that $IP[O(1)] \subseteq \Pi_2^P$. (A relativizable result.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;At first, it was not know whether unbounded number of rounds can increase the power of IP. In particular, it was shown to have contradictory relativizations: &lt;a href=&quot;http://dx.doi.org/10.1016/0020-0190(88)90199-8&quot;&gt;Fortnow and Sipser&lt;/a&gt; showed that for some oracle $A$, it holds that $coNP^A \not\subset IP[poly]^A$. (Therefore, relative to $A$, $IP[poly]$ is not a superclass of $PH$.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, the following paper:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;code&gt;Aiello, W., Goldwasser, S., and Hastad, J. 1986. On the power of interaction. In Proceedings of the 27th Annual Symposium on Foundations of Computer Science (October 27 - 29, 1986). SFCS. IEEE Computer Society, Washington, DC, 368-379. DOI= &lt;a href=&quot;http://dx.doi.org/10.1109/SFCS.1986.36&quot;&gt;http://dx.doi.org/10.1109/SFCS.1986.36&lt;/a&gt;&lt;/code&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;shows that, for some oracle $B$, we have $IP[poly]^B \not\subset PH^B$. (Therefore, $IP[poly]^B \neq IP[O(1)]^B$ since as stated above, the latter is a subclass of $\Pi_2^{P,B}$.)&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;h3&gt;The Question&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;The paper by Aiello, Goldwaseer, and Hastad (cited above) states:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;The techniques employed are extensions of the techniques for proving lower bounds on small depth circuits used in [FSS], [Y] and [H1].&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;where [FSS], [Y] and [H1] are:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;code&gt;[FSS] Furst M., Saxe J. and Sipser M., &quot;Parity, Circuits, and the Polynomial Time Hierarchy,&quot; Proceedings 22nd Annual IEEE Symposium on Foundations of Computer Science, 1981, 260-270.&lt;/code&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;code&gt;[Y] Yao A. &quot;Separating the Polynomial-Time Hierarchy by Oracles,&quot; Proceedings of 6th Annual IEEE Symposium on Foundations of Computer Science, 1985, 1-10.&lt;/code&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;code&gt;[H1] Hastad J. &quot;Almost optimal lower bounds for small depth circuits,&quot; Proceedings of 18th Annual ACM Symposium on Theory of Computing, 1986, 6-20.&lt;/code&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I found the papers very old and extremely hard to follow. I read Chapter 14 of &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0521424267&quot;&gt;Arora &amp;amp; Barak's book&lt;/a&gt;, yet apparently it does not cover everything I need.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What references on &quot;Circuit Lower Bounds&quot; do you suggest?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;(I specially need survey-like references; those which are newer and do not need a lot of expertise are more preferable.)&lt;/p&gt;&#xA;" OwnerUserId="873" LastActivityDate="2011-04-15T13:18:45.533" Title="References on Circuit Lower Bounds" Tags="&lt;cc.complexity-theory&gt;&lt;lower-bounds&gt;&lt;circuit-complexity&gt;" AnswerCount="6" CommentCount="1" FavoriteCount="7" ContentLicense="CC BY-SA 2.5" />
  <row Id="1760" PostTypeId="2" ParentId="1759" CreationDate="2010-09-28T20:50:57.203" Score="10" Body="&lt;p&gt;I am no specialist, but there is probably interesting information in the blue book (&lt;a href=&quot;http://eccc.hpi-web.de/static/books/The_Complexity_of_Boolean_Functions/&quot; rel=&quot;nofollow&quot;&gt;http://eccc.hpi-web.de/static/books/The_Complexity_of_Boolean_Functions/&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is also a paper by Allender in 1997 : &lt;a href=&quot;http://ftp.cs.rutgers.edu/pub/allender/fsttcs.pdf&quot; rel=&quot;nofollow&quot;&gt;Circuit Complexity before the Dawn of the New Millennium&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="76" LastActivityDate="2010-09-28T20:50:57.203" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1761" PostTypeId="2" ParentId="1759" CreationDate="2010-09-28T21:33:18.587" Score="12" Body="&lt;p&gt;A more recent reference would be &lt;a href=&quot;http://www.thi.informatik.uni-frankfurt.de/~jukna/BFC.html&quot;&gt;Boolean Function Complexity&lt;/a&gt; by Stasys Jukna. You just need to drop him an email or fill the form to get the pdf of the draft.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An older but still nice reference is the survey &lt;a href=&quot;http://www.cs.umd.edu/~gasarch/BLOGPAPERS/boppana_sipser.ps&quot;&gt;The Complexity of Finite Functions&lt;/a&gt; by Boppana and Sipser. This survey is very readable compared to other sources.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another good reference is the book &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/3540594361&quot;&gt;Boolean Functions and Computation Models&lt;/a&gt; by Clote and Kranakis.&lt;/p&gt;&#xA;" OwnerUserId="1080" LastEditorUserId="1080" LastEditDate="2010-12-07T02:03:28.820" LastActivityDate="2010-12-07T02:03:28.820" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1762" PostTypeId="2" ParentId="1758" CreationDate="2010-09-28T21:46:48.593" Score="0" Body="&lt;p&gt;I am not allowed to comment yet, so sorry for posting this in an answer. If someone can move it, please do so.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have some questions:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) What does gfun do for $N=\infty$? Do you want to find residues of functions like that?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) Do you need a precise expression? There are approaches that give you reasonable asymptotics, for example Cauchy's integral formula together with the saddle-point method. I don't know how efficiently the involved integrals can be calculated, though.&lt;/p&gt;&#xA;" OwnerUserId="1546" LastActivityDate="2010-09-28T21:46:48.593" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="1763" PostTypeId="1" AcceptedAnswerId="1770" CreationDate="2010-09-28T21:49:17.060" Score="8" ViewCount="1005" Body="&lt;p&gt;I would like to check the status of the space lower bound for solving connectivity problem on stream in $p$ passes. The $\Omega(n/p)$ was stated in the literature but it seems to be for a slightly different problem. Did I miss something? Details below.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a graph $G$ of $n$ vertices in a stream (edges are presented one by one in a streaming manner), we want to check whether $G$ is connected. What is the minimum space an algorithm needs to solve this problem when it is allowed to read the stream for $p$ passes?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.cs.umass.edu/~mcgregor/papers/08-graphdistances.pdf&quot;&gt;Feigenbaum et al&lt;/a&gt;. showed $\Omega(n)$ space for one pass algorithms for a class of problems that includes this problem (see Section 5.1) and stated that the $\Omega(n/p)$ space lower bound for connectivity was proved by &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.90.7290&amp;amp;rep=rep1&amp;amp;type=pdf&quot;&gt;Henzinger et al.&lt;/a&gt;. However, the only lower bound for &quot;connectivity&quot; problem is actually for the &quot;$s$-$t$ connectivity&quot; problem: given vertices $s$ and $t$, we want to check if $s$ and $t$ are in the same connected component (Theorem 6). The proof of this cannot be used for the connectivity problem since there might be many vertices incident to no edge. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, my question is, for the specific version of connectivity that I stated, is there any lower bound known for $p$-pass stream? &lt;/p&gt;&#xA;" OwnerUserId="317" LastEditorUserId="317" LastEditDate="2010-09-29T04:24:02.533" LastActivityDate="2013-05-01T11:59:50.313" Title="Lower bound of checking graph connectivity on stream" Tags="&lt;lower-bounds&gt;&lt;data-streams&gt;" AnswerCount="2" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1764" PostTypeId="2" ParentId="1759" CreationDate="2010-09-28T22:13:18.190" Score="14" Body="&lt;p&gt;What you want is a good reference to understand the exponential lower bounds for $AC^0$ circuits computing the PARITY function.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now you haven't stated whether you actually want to understand the proof, or just understand things at a high level, the way a survey article would explain things. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A survey article I recently read and liked is &quot;&lt;a href=&quot;http://www.cs.umd.edu/~gasarch/BLOGPAPERS/boppana_sipser.ps&quot;&gt;The complexity of finite functions&lt;/a&gt;&quot; by Boppana and Sipser.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you really want to sit down and understand the proof, then you can either read proofs based on the Switching lemma (which appear in the papers you cited - [FSS], [Y] and [H1]), or the Razborov-Smolensky proof.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For proofs using the Switching Lemma, Håstad's Ph.D. thesis is a good read, if a bit hard to follow if you're new to the area. A better exposition of the proof is in &quot;Introduction to circuit complexity and a guide to Håstad's proof&quot; by Allan Heydon. The only problem with it is that I can't find it online, and I have a hard copy. I really recommend it if you're new to circuit complexity.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the Razborov-Smolensky approach, just google for it and you'll get a bunch of lecture notes. I understood the lower bound from these three lecture notes: &lt;a href=&quot;http://www.cs.princeton.edu/courses/archive/fall02/cs597D/lec5.ps&quot;&gt;Sanjeev Arora&lt;/a&gt;, &lt;a href=&quot;http://people.csail.mit.edu/madhu/ST05/scribe/lect06.pdf&quot;&gt;Madhu Sudan&lt;/a&gt; and &lt;a href=&quot;http://www.cs.au.dk/~arnsfelt/CT08/scribenotes/lecture10.pdf&quot;&gt;Kristoﬀer Arnsfelt Hansen&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="206" LastActivityDate="2010-09-28T22:13:18.190" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="1765" PostTypeId="2" ParentId="1759" CreationDate="2010-09-28T22:34:34.103" Score="14" Body="&lt;p&gt;If you find the exposition of the Switching Lemma in Hastad's thesis hard to follow, you can try Paul Beame's &lt;a href=&quot;http://www.cs.washington.edu/homes/beame/papers/primer.ps&quot;&gt;``A Switching Lemma Primer''&lt;/a&gt;, which has a different version due to Razborov (which also explicitly uses decision trees, something that is crucial in some applications of the Switching Lemma) &lt;/p&gt;&#xA;" OwnerUserId="17464" LastEditorUserId="17464" LastEditDate="2010-09-28T22:48:36.263" LastActivityDate="2010-09-28T22:48:36.263" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1766" PostTypeId="2" ParentId="1759" CreationDate="2010-09-28T22:52:33.607" Score="14" Body="&lt;p&gt;This book is great for explaining lower bounds, if you have access to it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/3540643109&quot;&gt;Introduction to Circuit Complexity&lt;/a&gt; by Heribert Vollmer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I just finished reading it, and although it says &quot;introduction&quot; is a very deep treatment on circuit complexity. It explains with details all (most popular) techniques for proving circuit lower bounds in chapter 3.&lt;/p&gt;&#xA;" OwnerUserId="135" LastActivityDate="2010-09-28T22:52:33.607" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1767" PostTypeId="2" ParentId="837" CreationDate="2010-09-29T01:27:21.483" Score="2" Body="&lt;p&gt;I agree with Suresh to some extent. I think the complexity of SL0 is O(KLf(n))+ O(g(n)), where f(n) is complexity of multiplication two n by n matrices, and g(n) is complexity of computing the inverse matrix. For arbitrary matrices, f(n) = c.n^2 and g(n) = c.n^3&#xA;The mistake of Suresh is that algorithm just needs to calculate inverse matrix once (rather than KL times). The complexity is O(KLn^2) + O(n^3)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, note that if you are trying to use the same system for representing more than one (let say T) samples, you do not need to do the inversion part every time. You do it once for all, and the complexity is O(TKLn^2)+O(n^3) (rather than O(TKLn^2) + O(Tn^3))&lt;/p&gt;&#xA;" OwnerDisplayName="Hosein" LastActivityDate="2010-09-29T01:27:21.483" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1768" PostTypeId="2" ParentId="1758" CreationDate="2010-09-29T01:49:20.030" Score="4" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;So far, I've seen that Bruno Salvy's webpage hosts a &quot;gfun&quot; package that solves this in O(N). I'm attempting to write a more efficient algorithm than this, so I'm hoping that it's possible to do better. I imagine that a bounds related to the length of the function description may be possible...&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;There are different measures of polynomial sparseness in the literature and you haven't been very clear on which one you might mean. However, your optimism is likely not well founded. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Take (x-2) / x^32. It's almost maximally sparse by any reasonable measure, but the coefficients in its Laurent series grow exponentially fast. If multiplication is unit cost you can still use the binary exponentiation method to keep up with the exponential growth in sublinear time in the total degree of the series, but the example suggests that things aren't rosy. This is an area littered with hardness results for division and related problems, at least in realistic models of computation where multiplication isn't constant time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Jacques Carette is an expert in this area, so let's hope he posts a definitive answer.&lt;/p&gt;&#xA;" OwnerUserId="1435" LastEditorUserId="1435" LastEditDate="2010-09-29T02:06:32.010" LastActivityDate="2010-09-29T02:06:32.010" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="1769" PostTypeId="2" ParentId="736" CreationDate="2010-09-29T02:31:21.470" Score="17" Body="&lt;p&gt;We assume that vertex weights can be arbitrary positive integers, or more precisely, they can be positive integers at most 2&lt;sup&gt;&lt;i&gt;n&lt;/i&gt;&lt;/sup&gt;.  Then the current task cannot be performed even in a slightly weaker time bound O(&lt;i&gt;n&lt;/i&gt;&lt;sup&gt;2&lt;/sup&gt;), unless the transitive closure of an arbitrary directed graph can be computed in O(&lt;i&gt;n&lt;/i&gt;&lt;sup&gt;2&lt;/sup&gt;) time, where &lt;i&gt;n&lt;/i&gt; denotes the number of vertices.  (Note that an O(&lt;i&gt;n&lt;/i&gt;&lt;sup&gt;2&lt;/sup&gt;)-time algorithm for the transitive closure will be a breakthrough.)  This is the contrapositive of the following claim:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Claim&lt;/strong&gt;.  If the current task can be performed in time O(&lt;i&gt;n&lt;/i&gt;&lt;sup&gt;2&lt;/sup&gt;), the transitive closure of an arbitrary directed graph given as its adjacency matrix can be computed in O(&lt;i&gt;n&lt;/i&gt;&lt;sup&gt;2&lt;/sup&gt;) time (assuming some reasonable computational model).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Proof&lt;/strong&gt;.  As a preprocessing, we compute the strongly connected component decomposition of the given directed graph &lt;i&gt;G&lt;/i&gt; in time O(&lt;i&gt;n&lt;/i&gt;&lt;sup&gt;2&lt;/sup&gt;) to obtain a DAG &lt;i&gt;G&lt;/i&gt;′.  Note that if we can compute the transitive closure of &lt;i&gt;G&lt;/i&gt;′, we can reconstruct the transitive closure of &lt;i&gt;G&lt;/i&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now assign the weight 2&lt;sup&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sup&gt; to each vertex &lt;i&gt;i&lt;/i&gt; of the DAG &lt;i&gt;G&lt;/i&gt;′ and use the algorithm for the current problem.  Then the binary representation of the sum assigned to each vertex &lt;i&gt;i&lt;/i&gt; describes exactly the set of ancestors of &lt;i&gt;i&lt;/i&gt;, in other words, we have computed the transitive closure of &lt;i&gt;G&lt;/i&gt;′.  &lt;strong&gt;QED&lt;/strong&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The converse of the claim also holds: if you can compute the transitive closure of a given DAG, it is easy to compute the required sums by additional work in time O(&lt;i&gt;n&lt;/i&gt;&lt;sup&gt;2&lt;/sup&gt;).  Therefore, in theory you can achieve the current task in time O(&lt;i&gt;n&lt;/i&gt;&lt;sup&gt;2.376&lt;/sup&gt;) by using the algorithm for the transitive closure based on the &lt;a href=&quot;http://en.wikipedia.org/wiki/Coppersmith%E2%80%93Winograd_algorithm&quot;&gt;Coppersmith-Winograd matrix multiplication algorithm&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Edit&lt;/em&gt;: Revision 2 and earlier did not state the assumption about the range of vertex weights explicitly.  Per Vognsen pointed out in a comment that this implicit assumption may not be reasonable (thanks!), and I agree.  Even if arbitrary weights are not needed in applications, I guess that this answer might rule out some approaches by the following line of reasoning: “If this approach worked, it would give an algorithm for the arbitrary weights, which is ruled out unless the transitive closure can be computed in time O(&lt;i&gt;n&lt;/i&gt;&lt;sup&gt;2&lt;/sup&gt;).”&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Edit&lt;/em&gt;: Revision 4 and earlier stated the direction of edges incorrectly.&lt;/p&gt;&#xA;" OwnerUserId="567" LastEditorUserId="567" LastEditDate="2010-09-30T11:18:46.780" LastActivityDate="2010-09-30T11:18:46.780" CommentCount="9" ContentLicense="CC BY-SA 2.5" />
  <row Id="1770" PostTypeId="2" ParentId="1763" CreationDate="2010-09-29T03:14:20.130" Score="6" Body="&lt;p&gt;Here's a reduction from Disjointness that might work:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given input $n$ bit vectors $x$ and $y$, Alice and Bob want to come up with edge sets $E_1$ and $E_2$ for a graph $G$ such that $G$ is connected iff there is no index such that $x_i = y_i = 1$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The graph $G$ will have vertex set ${0,1,\ldots,n} \times {0,1}$. For $i &amp;lt; n$, Alice adds the edge $((i-1,0),(i,0))$ to $E_1$ iff $x_i = 0$; similarly, Bob adds the edge $((i-1,1),(i,1))$ to $E_2$ iff $y_i = 0$. Additionally, Alice adds all the edges of the form $((i,0),(i,1))$ for $i\in {0,\ldots,n}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think this graph has one connected component iff $(0,0)$ is connected to $(n,0)$, which happens iff for each $i\in{1,2,\ldots,n}$, either $x_i$ or $y_i$ is 0; that is, the two inputs are disjoint.&lt;/p&gt;&#xA;" OwnerUserId="17464" LastEditorUserId="17464" LastEditDate="2010-09-29T03:48:08.770" LastActivityDate="2010-09-29T03:48:08.770" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="1771" PostTypeId="2" ParentId="1252" CreationDate="2010-09-29T06:01:21.133" Score="5" Body="&lt;p&gt;You should have a look at PhD thesis (later published as a monograph) of Tomás Feder: &lt;a href=&quot;http://theory.stanford.edu/~tomas/thesis.ps&quot; rel=&quot;nofollow&quot;&gt;Stable Networks and Product Graphs&lt;/a&gt;, where he studied the complexity of finding stable configurations of &lt;em&gt;networks&lt;/em&gt;, which are exactly circuits with &quot;loops&quot; like  you mentioned. &lt;/p&gt;&#xA;" OwnerUserId="1080" LastEditorUserId="1080" LastEditDate="2010-10-12T01:19:13.927" LastActivityDate="2010-10-12T01:19:13.927" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1772" PostTypeId="1" AcceptedAnswerId="1883" CreationDate="2010-09-29T06:17:09.837" Score="28" ViewCount="2135" Body="&lt;p&gt;I'm only aware of two proofs of Schwartz–Zippel lemma. The first (more common) proof is described in the &lt;a href=&quot;http://en.wikipedia.org/wiki/Schwartz%E2%80%93Zippel_lemma&quot;&gt;wikipedia entry&lt;/a&gt;. The second &lt;a href=&quot;http://www.eccc.uni-trier.de/report/2010/096/&quot;&gt;proof&lt;/a&gt; was discovered by Dana Moshkovitz. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there any other proofs which use substantially different ideas? &lt;/p&gt;&#xA;" OwnerUserId="1080" LastEditorUserId="32330" LastEditDate="2015-03-31T05:34:22.837" LastActivityDate="2015-09-04T13:19:34.250" Title="Alternative proofs of Schwartz–Zippel lemma" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;algebra&gt;&lt;polynomials&gt;&lt;finite-fields&gt;" AnswerCount="6" CommentCount="4" FavoriteCount="11" ContentLicense="CC BY-SA 2.5" />
  <row Id="1773" PostTypeId="2" ParentId="1772" CreationDate="2010-09-29T06:23:32.823" Score="6" Body="&lt;h3&gt;Attempt 1:&lt;/h3&gt;&#xA;&lt;p&gt;Have you looked at Lemma A.36 (page 529) of &lt;a href=&quot;https://rads.stackoverflow.com/amzn/click/com/0521424267&quot; rel=&quot;noreferrer&quot; rel=&quot;nofollow noreferrer&quot;&gt;Arora/Barak's book&lt;/a&gt;? It's almost half a page, and is based on induction.&lt;/p&gt;&#xA;&lt;p&gt;If you don't have access to the book, I can carry out the proof here.&lt;/p&gt;&#xA;&lt;hr /&gt;&#xA;&lt;h3&gt;Attempt 2:&lt;/h3&gt;&#xA;&lt;p&gt;What about &lt;a href=&quot;http://rjlipton.wordpress.com/2009/11/30/the-curious-history-of-the-schwartz-zippel-lemma/&quot; rel=&quot;noreferrer&quot;&gt;The Curious History of the Schwartz-Zippel Lemma&lt;/a&gt;? Among the others, it cites &lt;a href=&quot;http://rjlipton.files.wordpress.com/2009/11/demillolipton.pdf&quot; rel=&quot;noreferrer&quot;&gt;DeMillo-Lipton's paper&lt;/a&gt;, dating back to 1977. Several other papers are named and compared as well.&lt;/p&gt;&#xA;&lt;hr /&gt;&#xA;&lt;h3&gt;Attempt 3:&lt;/h3&gt;&#xA;&lt;p&gt;The following MathOverflow topic might be of interest as well: &lt;a href=&quot;https://mathoverflow.net/questions/35301/&quot;&gt;P/poly algorithm for polynomial identity testing&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="873" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2010-09-29T07:10:40.193" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="1774" PostTypeId="2" ParentId="1772" CreationDate="2010-09-29T06:52:57.107" Score="14" Body="&lt;p&gt;Moshkovitz's proof is based on simple geometry but the paper is not too clear on that. Here's the idea:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A degree $d$ polynomial in $m$ variables cuts out a hypersurface in $\mathbb F^m$. The intersection of the hypersurface and an independent line (i.e. the intersection isn't the whole line) has at most d points. If you can find a direction that is everywhere independent of the hypersurface, you can foliate $\mathbb F^m$ by parallel lines in that direction and count intersections within each line. The foliation is parameterized by the direction's orthogonal complement, which is a hyperplane isomorphic to $\mathbb F^{m-1}$, so the total number of hypersurface points across all of $\mathbb F^m$ is at most $d\ |F|^{m-1}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This suggests that other proofs along similar lines could work.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit: I wanted to say a little about how Arnab's proof relates to Moshkovitz's. He takes a point outside the hypersurface and considers the pencil of lines through that point. Moshkovitz considers a family of parallel lines. It seems different but it's really the same thing! A parallel family is a pencil of lines through a point at infinity. Arnab's algebra applies verbatim if you first take the homogenization of the polynomial and restrict to the hyperplane at infinity by plugging in $w = 0$, which wipes out all non-leading terms.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit: See my other answer for a new (but not completely unrelated) proof.&lt;/p&gt;&#xA;" OwnerUserId="1435" LastEditorUserId="1435" LastEditDate="2010-10-03T04:19:13.070" LastActivityDate="2010-10-03T04:19:13.070" CommentCount="0" CommunityOwnedDate="2010-10-03T04:19:13.070" ContentLicense="CC BY-SA 2.5" />
  <row Id="1775" PostTypeId="1" AcceptedAnswerId="1776" CreationDate="2010-09-29T07:39:57.797" Score="25" ViewCount="1594" Body="&lt;p&gt;It is clear that any problem that is decidable in deterministic logspace ($L$) runs in at most polynomial time ($P$). There is a wealth of complexity classes between $L$ and $P$. Examples include $NL$, $LogCFL$, $NC^i$, $SAC^i$, $AC^i$, $SC^i$. It is widely believed that $L \neq P$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In one of my &lt;a href=&quot;http://kintali.wordpress.com/2010/02/04/logspace-vs-polynomial-time/&quot;&gt;blog posts&lt;/a&gt; I mentioned two approaches (along with the corresponding conjectures) towards proving $L \neq P$. Both these approaches are based on branching programs and are 20 years apart !! Are there other approaches and/or conjectures towards separating $L$ from $P$ (or) separating any intermediate classes between $L$ and $P$.&lt;/p&gt;&#xA;" OwnerUserId="344" LastEditorUserId="344" LastEditDate="2010-09-29T11:21:50.327" LastActivityDate="2014-05-30T07:47:40.923" Title="Separating Logspace from Polynomial time" Tags="&lt;cc.complexity-theory&gt;&lt;lower-bounds&gt;&lt;space-bounded&gt;" AnswerCount="4" CommentCount="1" FavoriteCount="9" ContentLicense="CC BY-SA 2.5" />
  <row Id="1776" PostTypeId="2" ParentId="1775" CreationDate="2010-09-29T10:22:13.870" Score="22" Body="&lt;p&gt;Circuit depth lower bounds (equivalently, formula size lower bounds) are probably the most natural approach:  A Super-$\log^2(n)$ depth lower bound for a problem in $\mathsf P$ would separate $\mathsf P$ from $\mathsf L$, and the Karchmer-Wigderson communication complexity technique may be the natural one for that.&lt;/p&gt;&#xA;" OwnerUserId="42" LastEditorUserId="976" LastEditDate="2014-05-08T20:26:16.503" LastActivityDate="2014-05-08T20:26:16.503" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="1779" PostTypeId="2" ParentId="1718" CreationDate="2010-09-29T12:02:02.583" Score="8" Body="&lt;p&gt;Using limits is a bit confusing since (1) its a more complicated notion (2) it doesn't capture f=O(g) nicely (as we can see in the discussion above).  I usually talk about functions from the Natural (strictly positive) numbers to the Natural numbers  (which suffices for running times), skip the little-o stuff, and then the definition is concise and appropriate for 1st year undergrads:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Dfn: f=O(g) if for some C for all n we have that f(n)&amp;lt;=C*g(n)&lt;/p&gt;&#xA;" OwnerUserId="42" LastActivityDate="2010-09-29T12:02:02.583" CommentCount="7" ContentLicense="CC BY-SA 2.5" />
  <row Id="1780" PostTypeId="2" ParentId="1123" CreationDate="2010-09-29T12:12:09.710" Score="2" Body="&lt;p&gt;This seems to be related to the &lt;em&gt;subgraph isomorphism problem&lt;/em&gt; which is in general NP-complete, even without any weights. The corresponding Wikipedia article claims that it can be solved efficiently in certain cases, though.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If chemo- is anything like bioinformatics you will probably be interested in approximation algorithms in order to deal with noise, anyway. Also, given database lookup as application, there might be clever ideas for preprocessing that give you good amortised runtimes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Found (not read) those:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.springerlink.com/content/4751121q3575v041/&quot; rel=&quot;nofollow&quot;&gt;http://www.springerlink.com/content/4751121q3575v041/&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://bioinformatics.oxfordjournals.org/content/23/2/232.full&quot; rel=&quot;nofollow&quot;&gt;http://bioinformatics.oxfordjournals.org/content/23/2/232.full&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://portal.acm.org/citation.cfm?id=1368898&quot; rel=&quot;nofollow&quot;&gt;http://portal.acm.org/citation.cfm?id=1368898&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Disclaimer&lt;/em&gt;: Again, sorry for comment-style answer; I am not yet allowed to comment.&lt;/p&gt;&#xA;" OwnerUserId="1546" LastEditorUserId="1546" LastEditDate="2010-09-30T20:28:34.827" LastActivityDate="2010-09-30T20:28:34.827" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1781" PostTypeId="2" ParentId="1677" CreationDate="2010-09-29T13:05:05.063" Score="2" Body="&lt;p&gt;Apart from TikZ and graphviz I have made good use of my graphics tablet. You can get the new small Wacom Bamboo for 50€ (used) to 100€ (new). With a tablet you can create quite good looking images quickly; for anything but journal/conference/book publications -- depending on your skill, even then -- the results are very presentable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can, of course, use any graphics program. I have found &lt;a href=&quot;http://creately.com/&quot; rel=&quot;nofollow&quot;&gt;Creately&lt;/a&gt; and &lt;a href=&quot;http://dabbleboard.com/draw&quot; rel=&quot;nofollow&quot;&gt;Dabbleboard&lt;/a&gt; very useful for graphs and the like.&lt;/p&gt;&#xA;" OwnerUserId="1546" LastActivityDate="2010-09-29T13:05:05.063" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1782" PostTypeId="2" ParentId="1772" CreationDate="2010-09-29T17:09:06.297" Score="18" Body="&lt;p&gt;As a followup to Per Vognsen's answer, Dana Moshkovitz's proof already suggests a really easy proof for only a slightly weaker version of the Schwartz-Zippel Lemma that, I think, suffices for most applications. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $f : \mathbb{F}^n \to \mathbb{F}$ be a nonzero polynomial of degree $d$, where $\mathbb{F}$ is a finite field of order $q$, and let $x \in \mathbb{F}^n$ be a point such that $f(x) \neq 0$.  There are $(q^n-1)/(q-1)$ many distinct lines passing through $x$ such that they partition $\mathbb{F}^n-\{x\}$.  The restriction of $f$ to each of these lines is a degree $d$ &lt;em&gt;univariate&lt;/em&gt; polynomial, which is nonzero, because it is nonzero at $x$, and so, has at most $d$ zeros.  Thus, the total number of zeros of $f$ is at most $d(q^n-1)/(q-1)$.  Schwartz-Zippel, for comparison, gives the stronger upper bound of $d q^{n-1}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given this proof's easiness, I'm sure it's folklore; if not, it should be :)  I'd appreciate if someone could provide a reference.&lt;/p&gt;&#xA;" OwnerUserId="15" LastEditorUserId="15" LastEditDate="2010-09-30T02:49:00.330" LastActivityDate="2010-09-30T02:49:00.330" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="1783" PostTypeId="1" AcceptedAnswerId="1784" CreationDate="2010-09-29T18:43:30.133" Score="7" ViewCount="389" Body="&lt;p&gt;In the following paper:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Alan Cobham (1965), &quot;The intrinsic computational difficulty of functions&quot;, &lt;em&gt;Proc. Logic, Methodology, and Philosophy of Science II&lt;/em&gt;, North Holland.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Cobham defined the class &lt;strong&gt;P&lt;/strong&gt; as the class for efficient computations. He stated that his notion is machine-independent.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Unfortunately, I don't have access to this paper. Can anyone clarify the points he made there? Is it just a thesis, or something proved?&lt;/p&gt;&#xA;" OwnerUserId="1564" LastActivityDate="2010-09-30T04:24:35.213" Title="Cobham's Result on Efficient Computations" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="1784" PostTypeId="2" ParentId="1783" CreationDate="2010-09-29T19:03:20.113" Score="6" Body="&lt;p&gt;You can try to look at the paper &lt;a href=&quot;http://www.springerlink.com/content/u04725386hq6u8n5/&quot; rel=&quot;nofollow&quot;&gt;A new recursion-theoretic characterization of the polytime functions&lt;/a&gt; by Stephen Bellantoni and Stephen Cook, which has very nice discussion on Cobham's polynomial-time characterization in the introduction section. This paper also has pointers to other related works. You can easily find the paper somewhere on the web in case you are not subscribed to Springer.&lt;/p&gt;&#xA;" OwnerUserId="1080" LastEditorUserId="1080" LastEditDate="2010-09-30T04:24:35.213" LastActivityDate="2010-09-30T04:24:35.213" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1785" PostTypeId="1" CreationDate="2010-09-29T19:43:20.677" Score="6" ViewCount="657" Body="&lt;p&gt;There is a definition of a 'monotone machine' in &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0387948686&quot; rel=&quot;nofollow&quot;&gt;Li &amp;amp;  Vitany's Book&lt;/a&gt;, and another one which is for example stated in &lt;a href=&quot;http://homepages.mcs.vuw.ac.nz/~adam/papers/day_monotone_a_priori.pdf&quot; rel=&quot;nofollow&quot;&gt;this&lt;/a&gt; paper via c.e. (computably enumerable) sets. I can't see why these definitions should be equivalent.&lt;br&gt;&#xA;Furthermore in Li &amp;amp; Vitany's book, there is a statement which says that monotone machines compute p.r. (primitive recursive) functions f with $f(x) \le f(y)$ when $x \le y$ (lexicographical ordering).&lt;br&gt;&#xA;I don't see how such a function can be computed by a monotone machine.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Maybe someone can explain this to me or refer to a paper / book which descripes these connections.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks&lt;/p&gt;&#xA;&#xA;&lt;p&gt;edit:&lt;br&gt;&#xA;The first definition:&#xA;A monotone machine has a one-way read-only input tape, a one-way write-only output tape and work tapes. The input is read one bit at a time, and the output written one bit at a time, with the one-way nature of the output tape allowing no revisions. For such a machine M, we have M(x) terminates with output y, where x is a finite string and y is a possibly infinite string, if either M halts after reading the bits of x from the input tape and y is what is on the output tape at that point, or M computes forever after reading exactly the bits of x, and y is on the output tape on the limit.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The second one:&#xA;A monotone machine L is a c.e. (computably enumerable) set of pairs of finite strings such that if , is in L and $x \le x'$ then $y$ and $y'$ are comparable (i.e. $y \le y'$ or $y' \le y$).&lt;/p&gt;&#xA;" OwnerDisplayName="aurevoirlesenfants" LastEditorUserId="186" LastEditDate="2010-11-02T02:10:29.203" LastActivityDate="2010-11-02T02:10:29.203" Title="Definition of a monotone machine." Tags="&lt;computability&gt;&lt;randomness&gt;&lt;kolmogorov-complexity&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1786" PostTypeId="1" AcceptedAnswerId="1791" CreationDate="2010-09-29T20:52:43.530" Score="11" ViewCount="826" Body="&lt;p&gt;I'm looking for a hash function over sets H(.) and a relation R(.,.) such that if A is included in B then R(H(A), H(B)). Of course, R(.,.) must be easy to verify (constant time), and H(A) should be computed in linear time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One example of H and R is:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$H(A) = \bigvee_{x\in A}  1 &amp;lt;&amp;lt; (h(x) \mod k)$, where k is a fixed integer and h(x) a hash function over integers.&lt;/li&gt;&#xA;&lt;li&gt;R(H(A), H(B)) = ((H(A) &amp;amp; H(B)) == H(A))&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Are there any other good examples? (good is hard to define but intuitively if R(H(A), H(B)) then whp A is included in B).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Later edit&lt;/strong&gt;:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;I'm looking for a family of hash functions. I have many sets; 3 - 8 elements in each set; 90% of them have 3 or 4 elements. The example hash function I gave is not very well distributed for this case.&lt;/li&gt;&#xA;&lt;li&gt;The number of bits of H(.) (in my example, k) which should be small (ie. H(.) must fit in an integer or long).&lt;/li&gt;&#xA;&lt;li&gt;One nice property of R is that if H(.) has k bits then R(.,.) is true for (3^k - 2^k) / 4^k pairs, ie. for very few pairs.&lt;/li&gt;&#xA;&lt;li&gt;Bloom filters are especially good for large sets. I tried using BF for this problem, but the optimum results were with only one function.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;(crosspost from &lt;a href=&quot;https://stackoverflow.com/questions/3804100/hashing-sets-of-integers&quot;&gt;stackoverflow&lt;/a&gt;, I didn't receive an answer good enough)&lt;/p&gt;&#xA;" OwnerUserId="10" LastEditorUserId="-1" LastEditDate="2017-05-23T12:40:09.333" LastActivityDate="2010-10-06T22:24:55.350" Title="Hashing sets of integers for inclusion testing" Tags="&lt;ds.algorithms&gt;&lt;hash-function&gt;" AnswerCount="2" CommentCount="15" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="1788" PostTypeId="2" ParentId="1758" CreationDate="2010-09-29T21:23:42.923" Score="1" Body="&lt;p&gt;&lt;em&gt;Warning: I haven't used complex analysis much so this answer may be wrong.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose you can write  $Q(x) = x^c \bar Q(x)$ where $\bar Q(x)$ is a polynomial that's non-zero at 0 and $c$ is a non-negative integer. It follows that the &quot;residue&quot; you're looking for is the $c^{th}$ term in the power series for $P(x)$ divided by $\bar Q(0)$. If $Q$ is written in a form that allows easy factorization (e.g. as a product of small polynomials) you can determine $c$ and $\bar Q(0)$ easily without expanding them. Computing the $c^{th}$ term in the power series of $P$ can be done relatively quickly if $c$ is small.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another possibly helpful tool is that the $i^{th}$ derivative of a polynomial evaluated at zero is precisely the $i^{th}$ coefficient times $i!$. It may be that $P$ or $Q$ are easier to differentiate (symbolically) than expand.&lt;/p&gt;&#xA;" OwnerUserId="1522" LastActivityDate="2010-09-29T21:23:42.923" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="1790" PostTypeId="2" ParentId="1786" CreationDate="2010-09-29T22:03:21.513" Score="4" Body="&lt;p&gt;I would try using a Bloom filter as your hash with the relation the same as your proposal. Computing the best filter size $m$ and number of hash functions $k$ for your application shouldn't be too hard; see Wikipedia's &lt;a href=&quot;http://en.wikipedia.org/wiki/Bloom_filter&quot; rel=&quot;nofollow&quot;&gt;Bloom Filter article&lt;/a&gt; for inspiration. Depending on how badly you want to avoid false positives something like $m=64$ and $k=4$ might be enough.&lt;/p&gt;&#xA;" OwnerUserId="1522" LastActivityDate="2010-09-29T22:03:21.513" CommentCount="6" ContentLicense="CC BY-SA 2.5" />
  <row Id="1791" PostTypeId="2" ParentId="1786" CreationDate="2010-09-30T01:23:29.220" Score="10" Body="&lt;p&gt;&lt;em&gt;(This answer was originally in comments but I'm moving it to a separate answer at Suresh's suggestion.)&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For your application with very small sets you probably want the number of Bloom hash functions $k$ to be quite large to minimize the number of false positives. To save computation time I suggest the following variation of a Bloom filter. Assume you have three traditional hash functions $h_1$, $h_2$, $h_3$ for the elements that each produce $m$-bit strings. Hash each element to the bitwise and of these three hash functions. The resulting element hashes will be about $2^{-3}=1/8^{th}$ ones. Hash each set to the bitwise or of the hashes of its constituent elements. Because your sets have 3-8 elements the resulting hashes will be in the neighborhood of one-half ones, which is presumably what you want to best keep the false positive rate down.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The difference between the above scheme are the traditional Bloom filter is analogous to the difference between the classic $G_{n,p}$ Erdos random graph model and random $d$-regular graphs. The above scheme has the effective number $k$ of Bloom hashes vary a bit around its mean of $m/8$ but $m/8$ is pretty large so this difference shouldn't matter.&lt;/p&gt;&#xA;" OwnerUserId="1522" LastActivityDate="2010-09-30T01:23:29.220" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="1792" PostTypeId="2" ParentId="1168" CreationDate="2010-09-30T01:47:31.710" Score="94" Body="&lt;p&gt;&lt;a href=&quot;https://ece.uwaterloo.ca/~dwharder/NumericalAnalysis/02Numerics/Double/paper.pdf&quot; rel=&quot;noreferrer&quot;&gt;What Every Computer Scientist Should Know About Floating-Point Arithmetic&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This paper explains and reinforces the notion that floating point isn't magic. It explains overflow, underflow, what denormalized numbers are, what NaNs are, what inf is, and all the things these imply. After reading this paper, you'll know why a == a + 1.0 can be true, why a==a can be false, why running your code on two different machines can give you two different answers, why summing numbers in a different order can give you an order of magnitude difference and all the wacky stuff that happens in the world of mapping an uncountably infinite set of numbers onto a countably finite set.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An &lt;a href=&quot;https://docs.oracle.com/cd/E19957-01/806-3568/ncg_goldberg.html&quot; rel=&quot;noreferrer&quot;&gt;edited version&lt;/a&gt; is also available on the web.&lt;/p&gt;&#xA;" OwnerDisplayName="Rick Weber" LastEditorUserId="32648" LastEditDate="2016-07-24T07:56:36.837" LastActivityDate="2016-07-24T07:56:36.837" CommentCount="4" CommunityOwnedDate="2010-09-30T01:47:31.710" ContentLicense="CC BY-SA 3.0" />
  <row Id="1793" PostTypeId="2" ParentId="979" CreationDate="2010-09-30T02:15:39.957" Score="7" Body="&lt;p&gt;Another fruitful area not already mentioned here is the connection between automata theory and logic. I guess this research direction is more popular is Europe than North America. Since I don't work on that field, I can't suggest you a specific problem. But you can check out the recent &lt;a href=&quot;http://www.floc-conference.org/LICS-program.html&quot;&gt;LICS 2010&lt;/a&gt; as well as previous ones for recent works. The &lt;a href=&quot;http://www.cs.toronto.edu/~libkin/csc2428/&quot;&gt;lecture notes&lt;/a&gt; from a course by Leonid Libkin is a nice place to start.&lt;/p&gt;&#xA;" OwnerUserId="1080" LastEditorUserId="1080" LastEditDate="2010-10-05T01:27:10.373" LastActivityDate="2010-10-05T01:27:10.373" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="1794" PostTypeId="1" AcceptedAnswerId="1870" CreationDate="2010-09-30T02:21:48.527" Score="40" ViewCount="2341" Body="&lt;p&gt;In the 1980s, Razborov famously showed that there are explicit monotone Boolean functions (such as the CLIQUE function) that require exponentially many AND and OR gates to compute.  However, the basis {AND,OR} over the Boolean domain {0,1} is just one example of an interesting gate set that falls short of being universal.  This leads to my question:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;i&gt;Is there any other set of gates, interestingly different from the monotone gates, for which exponential lower bounds on circuit size are known (with no depth or other restrictions on the circuit)?  If not, is there any other set of gates that's a plausible candidate for such lower bounds---bounds that wouldn't necessarily require breaking through the Natural Proofs barrier, as Razborov's monotone-circuits result didn't?&lt;/i&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If such a gate set exists, then certainly it will be over a k-ary alphabet for k&amp;ge;3.  The reason is that, over a binary alphabet, the&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(1) monotone gates ({AND, OR}),&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(2) linear gates ({NOT, XOR}), and&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(3) universal gates ({AND, OR, NOT})&lt;/p&gt;&#xA;&#xA;&lt;p&gt;basically exhaust the interesting possibilities, as follows from Post's classification theorem.  (Note that I assume that constants---0 and 1 in the binary case---are always available for free.)  With the linear gates, every Boolean function f:{0,1}&lt;sup&gt;n&lt;/sup&gt;&amp;rarr;{0,1} that's computable at all is computable by a linear-size circuit; with a universal set, of course we're up against Natural Proofs and the other terrifying barriers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, if we consider gate sets over a 3- or 4-symbol alphabet (for example), then a wider set of possibilities opens up---and at least to my knowledge, those possibilities have never been fully mapped out from the standpoint of complexity theory (please correct me if I'm wrong).  I know that the possible gate sets are studied extensively under the name of &quot;clones&quot; in universal algebra; I wish I were more conversant with that literature so that I knew what if anything the results from that area mean for circuit complexity.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In any case, it doesn't seem out of the question that there are other dramatic circuit lower bounds ripe for the proving, if we simply expand the class of gate sets over finite alphabets that we're willing to consider.  If I'm wrong, please tell me why!&lt;/p&gt;&#xA;" OwnerUserId="1575" LastActivityDate="2011-07-05T20:50:47.753" Title="Circuit lower bounds over arbitrary sets of gates" Tags="&lt;lower-bounds&gt;&lt;circuit-complexity&gt;&lt;circuit-families&gt;" AnswerCount="3" CommentCount="7" FavoriteCount="18" ContentLicense="CC BY-SA 2.5" />
  <row Id="1795" PostTypeId="1" CreationDate="2010-09-30T04:22:19.910" Score="10" ViewCount="474" Body="&lt;p&gt;Imagine a functional programming language whose only data types are numerical scalars and arbitrary nestings of arrays. The language lacks any means of unbounded iteration, so the following are disallowed:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;explicit loops (not much use without side-effects anyhow)&lt;/li&gt;&#xA;&lt;li&gt;recursion&lt;/li&gt;&#xA;&lt;li&gt;arbitrary first-class functions (no y-combinator)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The language does, however, have:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;top-level functions&lt;/li&gt;&#xA;&lt;li&gt;lexically scoped let bindings&lt;/li&gt;&#xA;&lt;li&gt;branching control flow&lt;/li&gt;&#xA;&lt;li&gt;common scalar math and logic functions&lt;/li&gt;&#xA;&lt;li&gt;some simple array constructor like fill(n,x) which creates an n-element array with identical values x&lt;/li&gt;&#xA;&lt;li&gt;most importantly: a restricted set of higher-order operators which perform parallel structured iteration (such as map, reduce, scan, all-pairs).&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;To be more specific about the data parallel operators: &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;y = map(f,x) =&gt; y[i] = f[i] &lt;/li&gt;&#xA;&lt;li&gt;y = reduce(f, a, x) =&gt; y = f(a, f(y[p[0]], f(y[p[1]], ...))) for some permutation p&lt;/li&gt;&#xA;&lt;li&gt;y = scan(f, a, x) =&gt; y[i] = reduce(f, a, y[0...i-1])  &lt;/li&gt;&#xA;&lt;li&gt;y = allpairs(f, x, y) =&gt; y[i,j] = f(x[i], y[j])&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;We could have other operators as well, but to qualify they should have polynomial running time, be implementable under some reasonable model of data parallel computation, and use at most polynomial space. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are obviously some constructs which can't be expressed in this language, such as:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;while f(x) &amp;gt; tol:&#xA;    x &amp;lt;- update(x)   &#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;What can we express in this system? Are we limited only to search problems in FP? Can we capture all polynomial time algorithms? Also, is there some minimal set of operators for this class?&lt;/p&gt;&#xA;" OwnerUserId="1578" LastEditorUserId="1578" LastEditDate="2010-09-30T04:52:46.413" LastActivityDate="2010-09-30T11:08:20.650" Title="Which algorithms can be expressed using a total functional language with data parallel operators?" Tags="&lt;complexity-classes&gt;&lt;functional-programming&gt;&lt;dc.parallel-comp&gt;" AnswerCount="3" CommentCount="0" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="1796" PostTypeId="2" ParentId="1795" CreationDate="2010-09-30T04:40:04.970" Score="4" Body="&lt;p&gt;It's a very gimped language. Try programming the factorial function:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;fact 0 = 1&#xA;fact n = n * fact (n-1)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;The problem is that your language only has folds but no unfolds. The natural way of expressing factorial is to compose an unfolding of n into the list [1, 2, ..., n] with the folding that tears it down while multiplying.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are you really interested in this specific language or in total functional programming in general? It's obvious that your language can at most express polynomial-time algorithms. System F (polymorphic lambda calculus) can express monsters like Ackermann's function with ease. Even if your interest is in polynomial-time algorithms, you frequently need the super-polynomial elbow room to express them naturally.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit: As Dave points out, NESL is one of the seminal functional data-parallel programming languages but it's very far from total (it doesn't even try). The APL family had a parallel track of evolution and has a total algebraic subset (avoid the fixed-point operators). If the focus of your question is totalness, David Turner has written some good papers in this area although not specifically on data-parallel programming.&lt;/p&gt;&#xA;" OwnerUserId="1435" LastEditorUserId="1435" LastEditDate="2010-09-30T05:08:10.023" LastActivityDate="2010-09-30T05:08:10.023" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="1797" PostTypeId="2" ParentId="1795" CreationDate="2010-09-30T04:51:57.287" Score="7" Body="&lt;p&gt;You might want to look at the old programming language &lt;a href=&quot;http://www.cs.cmu.edu/~scandal/nesl.html&quot;&gt;NESL&lt;/a&gt; which took these ideas seriously. The language is based on operations on collections, essentially lists and lists of lists and so forth, but I think trees and graphs were also considered, via tricky encodings. Some of the research done in that project (in the mid 1990s) could help answer your question. The PhD thesis (available as a book) Guy E. Blelloch. &lt;em&gt;Vector Models for Data-Parallel Computing.&lt;/em&gt; MIT Press, 1990 may provide some answers. It was some time ago since I looked at it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Work done on the &lt;em&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Bird-Meertens_Formalism&quot;&gt;Bird-Meertens Formalism&lt;/a&gt;&lt;/em&gt; (BMF) falls into this category too, as did the language &lt;a href=&quot;http://en.wikipedia.org/wiki/Charity_%28programming_language%29&quot;&gt;Charity&lt;/a&gt;. From the Charity wikipedia page it says that the language is not Turing complete, but can express Ackermann's function, which means that it's more than primitive recursive. Both BMF and Charity involve operators like folds and scans (catamorphisms, anamorphisms, etc), and they have their roots in Category Theory.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I short, imprecise answer is that you can express quite a lot.&lt;/p&gt;&#xA;" OwnerUserId="77" LastActivityDate="2010-09-30T04:51:57.287" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="1798" PostTypeId="1" AcceptedAnswerId="1822" CreationDate="2010-09-30T05:38:24.907" Score="4" ViewCount="790" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Problem:&lt;/strong&gt; In the multidimensional range Max/Sum query problem (RMQ/RSQ)&#xA;  you are given a $d$-dimensional array&#xA;  with $n$ elements, and given a&#xA;  $d$-dimensional box, you wish to&#xA;  determine the max/sum of all elements&#xA;  in the range (if the elements are from&#xA;  semigroup, they have no inverses).&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;What is the state-of-art best algorithm for offline multidimensional RMQ/RSQ in query model (preprocessing of data allowed in offline, queries asked online)? Is there any gap between RMQ and RSQ in multidimensional case? What theoretical/practical interest does this problem have, if any?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm interested in it because looks like the best asymptotics for both RMQ and RSQ was achieved in &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.135.7405&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;nofollow&quot;&gt;this&lt;/a&gt; paper by Chazelle and Rosenberg in 1989, which was not cited a lot, though the problem looks very natural and interesting. By best asymptotics I mean $O(\alpha^d(m,n))$ query time, where $m$ is the amount of storage available per element, $d$ --- number of dimensions of the array, $\alpha$ --- inverse Ackerman function, $n$ --- number of entries in the array. I suspect that this is mainly because this paper is not very readable in the part where it describes the construction, so implementation of this approach is complicated. So a simpler description of a data structure with the same asymptotics is also very welcome. &lt;/p&gt;&#xA;" OwnerUserId="254" LastEditorUserId="80" LastEditDate="2010-09-30T17:13:03.007" LastActivityDate="2010-09-30T17:13:03.007" Title="Offline multidimensional RMQ/RSQ in query model" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;ds.data-structures&gt;&lt;range-searching&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="1799" PostTypeId="2" ParentId="189" CreationDate="2010-09-30T05:43:05.807" Score="4" Body="&lt;p&gt;The question:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given an array [a1 a2 ... an b1 b2 ...bn] of 2n elements. Give an in-place algorithm to convert that array to [b1 a1 b2 a2 ... bn an].&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I like the linear time solution for this here: &lt;a href=&quot;http://arxiv.org/abs/0805.1598&quot; rel=&quot;nofollow&quot;&gt;http://arxiv.org/abs/0805.1598&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerDisplayName="GadFly" LastActivityDate="2010-09-30T05:43:05.807" CommentCount="1" CommunityOwnedDate="2010-09-30T05:43:05.807" ContentLicense="CC BY-SA 2.5" />
  <row Id="1800" PostTypeId="2" ParentId="1795" CreationDate="2010-09-30T05:59:11.280" Score="7" Body="&lt;p&gt;My other answer pointed out flaws in the language as it stands. In this answer I will give more detail on the issues with the coexistence of folds and unfolds in a total language. Then I will propose a resolution and show that all problems in P (and indeed many more) can be solved in this extended language.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Folding in a total language consumes lists:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;fold :: (a -&amp;gt; b -&amp;gt; b) -&amp;gt; b -&amp;gt; List a -&amp;gt; b&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Unfolding in a total language generates streams, which are potentially unbounded:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;unfold :: (b -&amp;gt; Maybe (a, b)) -&amp;gt; b -&amp;gt; Stream a&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Unfortunately, lists and streams live in different worlds, so these operators cannot be composed. We need a partial correspondence:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;stream :: List a -&amp;gt; Stream a&#xA;list :: Int -&amp;gt; Stream a -&amp;gt; List a&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;The stream operator embeds a list into a bounded stream. The list function extracts the first n elements (or fewer if the stream terminates earlier) into a list. We thus have the following equation:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;for all xs :: List a, xs == list (length xs) (stream xs)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;As an efficiency optimization we can entirely cut out streams as an intermediate data structure:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;unfoldList :: Int -&amp;gt; (b -&amp;gt; Maybe (a, b)) -&amp;gt; b -&amp;gt; List a&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;I will now sketch a proof that this (with the other operators already implied in the original question) lets us simulate any polynomial-time algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By definition, a language L is in P when there is a Turing machine M and a polynomial p such that membership of x in L can be decided by running M at most p(n) iterations where n = |x|. By a standard argument, the state of the machine's tape in iteration k can be encoded with a list of length at most 2k + 1, even though the machine's tape is infinite. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The idea is now to represent M's transition as a function from lists to lists. The execution of the machine will be done by unfolding the initial state with the transition function. This generates a stream of lists. The assumption that L is in P means that we need look no further than p(n) elements into the stream. Thus we can compose the unfolding with &lt;code&gt;list p(n)&lt;/code&gt; to get a finite list. Finally, we fold over it to check whether the answer to the decision problem was yes or no.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More generally, this shows that whenever we have an algorithm whose termination time can be bounded by a function computable in the language, we can simulate it. This also suggests why something like Ackermann's function can't be simulated: it is its own bound, so there is a chicken and egg problem. &lt;/p&gt;&#xA;" OwnerUserId="1435" LastEditorUserId="1435" LastEditDate="2010-09-30T11:08:20.650" LastActivityDate="2010-09-30T11:08:20.650" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1802" PostTypeId="1" CreationDate="2010-09-30T08:04:49.423" Score="11" ViewCount="1762" Body="&lt;p&gt;This may sound more like a social sciences question more than a TCS one, but it is not. When reading &quot;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0521474655&quot;&gt;Randomized Algorithms&lt;/a&gt;&quot; which describes the Stable Marriage Problem, one can read the following (p54)  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&quot; It can be shown that for every choice of preference lists there exist at least one stable marriage. (Curiously enough, this is not the case in a homosexual monogamous society with even number of inhabitants)....&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there any very simple extensions of the Stable Marriage Problem that allows some type of steady state that includes a homosexual monogamous society, or a society in which a certain subset of the population follow a different set of rules than the larger set ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the affirmative, are there algorithms that perform such a matching ?&lt;/p&gt;&#xA;" OwnerUserId="619" LastEditorUserId="74" LastEditDate="2010-09-30T21:37:06.327" LastActivityDate="2010-10-04T02:00:22.500" Title="Extension to the Stable Marriage Problem ?" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;matching&gt;" AnswerCount="3" CommentCount="4" FavoriteCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="1805" PostTypeId="2" ParentId="1802" CreationDate="2010-09-30T08:40:14.527" Score="10" Body="&lt;p&gt;What you are asking is no longer called &amp;quot;Stable Marriage Problem.&amp;quot; In contrast, it's called &amp;quot;Stable Roommates Problem.&amp;quot; According to &lt;a href=&quot;http://en.wikipedia.org/wiki/Stable_roommates_problem&quot; rel=&quot;noreferrer&quot;&gt;Wikipedia&lt;/a&gt;:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;In mathematics, especially in the fields of game theory and combinatorics, the stable roommate problem (SRP) is the problem of finding a stable matching — a matching in which there is no pair of elements, each from a different matched set, where each member of the pair prefers the other to their match. This is different from the stable marriage problem in that the stable roommates problem does not require that a set is broken up into male and female subsets. Any person can prefer anyone in the same set.&lt;/p&gt;&#xA;&lt;p&gt;It is commonly stated as:&lt;/p&gt;&#xA;&lt;p&gt;In a given instance of the Stable Roommates problem (SRP), each of 2n participants ranks the others in strict order of preference. A matching is a set of n disjoint (unordered) pairs of participants. A matching M in an instance of SRP is stable if there are no two participants x and y, each of whom prefers the other to his partner in M. Such a pair is said to block M, or to be a blocking pair with respect to M.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Wikipedia discusses the answer to your question. It says the stable case cannot be always found, yet, there exists an efficient algorithm, due Irving (1985), which will find such matching if there's one.&lt;/p&gt;&#xA;&lt;hr /&gt;&#xA;&lt;h3&gt;Edit:&lt;/h3&gt;&#xA;&lt;p&gt;Several natural relaxations are conceivable to the SRP: Instead of requiring that &amp;quot;there are no two participants x and y, each of whom prefers the other to his partner in M,&amp;quot; one can require that:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;At least some certain fraction of people be satisfied with their roommates. Here, &lt;b&gt;satisfiability&lt;/b&gt; can be interpreted differently. For instance:&#xA;&lt;ul&gt;&#xA;&lt;li&gt;A pair (x,y) is said to be satisfied if y is x's first choice, and vice versa.&#xA;&lt;li&gt;A pair (x,y) is said to be satisfied if one of x or y is another's first choice.&#xA;&lt;li&gt;A pair (x,y) is said to be unsatisfied if there exists a pair (z,w) such that x likes z more than y, and z likes x more than w.&#xA;&lt;li&gt; ...&#xA;&lt;/ul&gt;&#xA;&lt;li&gt;At most some certain fraction of people be unsatisfied with their roommates. (This requirement might be different that the above depending on the interpretation of &lt;b&gt;satisfiability&lt;/b&gt;.)&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="873" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2010-09-30T11:00:04.860" CommentCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="1806" PostTypeId="2" ParentId="1802" CreationDate="2010-09-30T08:52:16.800" Score="7" Body="&lt;p&gt;In addition to the well-known Stable Roommates variant of the Stable Marriage Problem, there is the House Allocation Problem. In this version, you have $n$ people and $m$ houses. The people rank the houses according to their preference, but the houses do not express any preferences over the people. &lt;a href=&quot;http://eprints.gla.ac.uk/1062/1/ISAAC04.pdf&quot;&gt;This paper&lt;/a&gt; by Abraham, et al discusses an algorithm to find a maximum cardinality, Pareto-optimal matching.&lt;/p&gt;&#xA;" OwnerUserId="751" LastActivityDate="2010-09-30T08:52:16.800" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="1807" PostTypeId="1" AcceptedAnswerId="1828" CreationDate="2010-09-30T09:20:52.433" Score="14" ViewCount="5268" Body="&lt;p&gt;How can I convince Coq that the recursive function given below terminates?&#xA;The function takes two inductive arguments.&#xA;Intuitively, the recursion terminates because either argument is decomposed.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Specifically, the function takes two trees as input.&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;Inductive Tree :=&#xA;| Tip: Tree&#xA;| Bin: Tree -&amp;gt; Tree -&amp;gt; Tree.&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;On Trees, I like to do the following style of induction.&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;Inductive TreePair :=&#xA;| TipTip : TreePair&#xA;| TipBin : Tree -&amp;gt; Tree -&amp;gt; TreePair&#xA;| BinTip : Tree -&amp;gt; Tree -&amp;gt; TreePair&#xA;| BinBin : TreePair -&amp;gt; TreePair -&amp;gt; TreePair.&#xA;&#xA;Fixpoint pair (l r: Tree): TreePair :=&#xA;  match l with&#xA;    | Tip =&amp;gt;&#xA;      match r with&#xA;        | Tip =&amp;gt; TipTip&#xA;        | Bin rl rr =&amp;gt; TipBin rl rr&#xA;      end&#xA;    | Bin ll lr =&amp;gt;&#xA;      match r with&#xA;        | Tip =&amp;gt; BinTip ll lr&#xA;        | Bin rl rr =&amp;gt; BinBin (pair l rl) (pair lr r)&#xA;      end&#xA;  end.&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;The definition of TreePair is accepted, but the definition of the function pair yields the error message:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;Error: Cannot guess decreasing argument of fix.&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;So I am interested in how to convince Coq of the termination.&lt;/p&gt;&#xA;" OwnerUserId="249" LastActivityDate="2010-09-30T20:14:36.350" Title="How to define a function inductively on two arguments in Coq?" Tags="&lt;interactive-proofs&gt;&lt;proof-assistants&gt;&lt;coq&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="6" ContentLicense="CC BY-SA 2.5" />
  <row Id="1809" PostTypeId="2" ParentId="736" CreationDate="2010-09-30T10:49:16.923" Score="2" Body="&lt;p&gt;This is an expansion of my comment on Tsuyoshi's answer.  I think the negative answer to the question can be made unconditional.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This problem seems to require $\omega(n)$ addition operations in the worst case, even for graphs with $O(n)$ edges.  Hence it does not seem possible to attain the required bound.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider a graph $G_{r,c}$ consisting of $r \times c$ vertices, arranged in a grid.  The vertices in each of the $r$ rows depend on precisely two vertices in the row above.  The family consists of graphs like this, for suitable combinations of values of $r$ and $c$, and suitable arrangements of edges.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In particular, let $r = (\log\ n)/2$ and $c = 2n/\log\ n$.  Also, let the weights of the top row vertices be distinct powers of 2.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Each of the vertices in the bottom row will then depend on $\sqrt{n}$ vertices in the top row.  As far as I can tell, there then exists a specific DAG with different values for each of the bottom row weights, such that $\omega(\log\ n)$ non-reusable additions are required on average for each of these sums.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Overall this yields an $\omega(n)$ lower bound for the number of additions, while the number of edges is $2c(r-1) = O(n)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The point seems to be that the underlying partial order is dense, but the DAG represents its transitive reduction, which can be sparse.&lt;/p&gt;&#xA;" OwnerUserId="109" LastActivityDate="2010-09-30T10:49:16.923" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="1810" PostTypeId="2" ParentId="592" CreationDate="2010-09-30T11:35:03.527" Score="10" Body="&lt;p&gt;&lt;a href=&quot;http://dx.doi.org/10.1109/CCC.2008.24&quot;&gt;Eickmeyer and Grohe (2010)&lt;/a&gt; prove that your candidate construction can be made explicit: take $d$ somewhat linearly independent linear hash functions $h_1,\dots,h_d$ and connect left vertices $v$ with right vertices $h_1(v),\dots,h_d(v)$. Eickmeyer and Grohe show that this construction gives $(k,\epsilon)$-expanders with left degree $d=k(t-1)/(2\epsilon)$, whenever $t$ is an integer, the left vertex set has size $n=q^t$, the right vertex set has size $m=dq$, and $q&gt;d$ is a prime power. The hash functions $h_1,\dots,h_d$ are chosen in such a way that any $t$ of them are linearly independent.&lt;/p&gt;&#xA;" OwnerUserId="239" LastEditorUserId="239" LastEditDate="2010-09-30T11:59:38.190" LastActivityDate="2010-09-30T11:59:38.190" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1811" PostTypeId="1" CreationDate="2010-09-30T12:43:09.397" Score="37" ViewCount="2203" Body="&lt;p&gt;We know that the exponential function $\exp(x,y) = x^y$ over natural numbers is not computable in polynomial time, because the size of the output is not polynomially bounded in the size of the inputs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is this the main reason for the difficulty of computing the exponential function, or is exponentiation inherently difficult to compute, independently of this consideration?&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What is the complexity of the bit graph of the exponential function? &#xA;  $$\{\langle x,y,i \rangle \mid x,y,i\in\mathbb{N} \text{ and the $i$-th bit of $x^y$ is $1$} \}$$&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="1586" LastEditorUserId="609" LastEditDate="2014-02-20T16:25:45.153" LastActivityDate="2014-02-20T21:56:33.053" Title="Complexity of exponential function" Tags="&lt;cc.complexity-theory&gt;&lt;nt.number-theory&gt;" AnswerCount="3" CommentCount="7" FavoriteCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="1813" PostTypeId="2" ParentId="1802" CreationDate="2010-09-30T13:53:03.553" Score="11" Body="&lt;p&gt;There is an open conjecture regarding 3 types of people. Suppose you have men women and dogs so that men have preference lists on women, women have preference lists on dogs, and dogs have preference lists on man. Is there always a stable marriage? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;(For other preference structures on 3-types society the answers are known to be negative).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another comment is that stable marriage represent a non empty core and there is a well known condition by Scarf that implies the existence of nonempty core. It is known that Scarf conditions are satisfied for the original stable marriage problemand for the house allocation problem. (But failed for the men/women/dogs problem).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some references: &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;A reference to Scarf's paper: H.E. Scarf, The core of an $N$ person game, Econometrica 35 (1967) 50--69.&lt;/li&gt;&#xA;&lt;li&gt;A paper showing various applications for Scarf's crucial lemma and quote quite a few others: (In particular, a fractional version of Gale-Shapley theorem for hypergraphs by Aharoni and Holzman is described): R. Aharoni, and T. Fleiner, On a lemma of Scarf, J. Combin. Theory Ser. B 87 (2003), 72--80. &lt;/li&gt;&#xA;&lt;li&gt;A solution of the men-women-dogs problem when there are at most 4 of each gender appears in a paper by Eriksson et al (Math Soc Sci 2006).&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="712" LastEditorUserId="80" LastEditDate="2010-10-04T02:00:22.500" LastActivityDate="2010-10-04T02:00:22.500" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="1814" PostTypeId="1" CreationDate="2010-09-30T13:56:52.383" Score="52" ViewCount="1479" Body="&lt;p&gt;Consider $t$ disjoint families of subsets of {1,2,…,n}, ${\cal F}_1,{\cal F_2},\dots {\cal F_t}$ .&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose that&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(*) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For every $i \lt j \lt k$ &#xA;and every $R \in {\cal F}_i$, and $T \in {\cal F}_k$, &#xA;there is $S \in {\cal F}_j$ which contains $R \cap T$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The basic question is: &lt;/p&gt;&#xA;&#xA;&lt;h3&gt;How large can t  be???&lt;/h3&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;h2&gt;What is known&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;The best known upper bound is quasi polynomial $t \le n^{\log n+1}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The best known lower bound is (up to a logarithmic factor) quadratic.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This abstract setting is taken from the paper &lt;a href=&quot;http://people.cs.uchicago.edu/~razborov/files/designs.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Diameter of Polyhedra: The Limits of Abstraction by Friedrich Eisenbrand, Nicolai H&amp;auml;hnle, Sasha Razborov, and Thomas Rothvoss&lt;/a&gt;. The quadratic lower bound as well as a proof of the upper bound can be found in their paper.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Motivation&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;Every upper bound will apply to the diameter of graphs of d-dimensional polytopes with n facets. To see this associate to every vertex $v$ the set $S_v$ of facets containing it. Then starting from a vertex $w$ let ${\cal F}_r$ be the sets corresponding to vertices of the polytope of distance $r+1$ from $w$.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;More&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;This problem is the subject matter of &lt;a href=&quot;http://gilkalai.wordpress.com/2010/09/29/polymath-3-polynomial-hirsch-conjecture/&quot; rel=&quot;nofollow noreferrer&quot;&gt;polymath3&lt;/a&gt;. But I thought it can be useful to present it here and &lt;a href=&quot;https://mathoverflow.net/questions/40561/a-combinatorial-abstraction-for-the-polynomial-hirsch-conjecture&quot;&gt;on MO&lt;/a&gt; in spite it being an open problem. If the project will lead to specific subproblems I (or others) may try asking them as well.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;(Update; Oct 5:) One specific problem that is of special interest is to restrict attention to sets of size d. Let f(d,n) be the maximum value of t when all sets in all families have size d. Let f*(d,n) be the maximim value of t when we allow multisets of size d.&#xA;Understanding f*(3,n) may be crucial. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Problem:&lt;/strong&gt; Does f*(3,n) behaves like 3n or like 4n?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The known lower and upper bounds are 3n-2 and 4n-1 respectively. and since the 3 is the beggining of the sequence 'd'  while the 4 is the beginning of the sequence $2^{d-1}$ deciding if the truth is 3 or 4 nay be of importance.&#xA;See &lt;a href=&quot;http://gilkalai.wordpress.com/2010/10/03/polymath-3-the-polynomial-hirsch-conjecture-2/&quot; rel=&quot;nofollow noreferrer&quot;&gt;the second thread&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="712" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2014-01-14T20:47:20.197" Title="A combinatorial version for the polynomial Hirsch conjecture" Tags="&lt;co.combinatorics&gt;&lt;cg.comp-geom&gt;&lt;open-problem&gt;&lt;linear-programming&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="11" ContentLicense="CC BY-SA 3.0" />
  <row Id="1815" PostTypeId="2" ParentId="1758" CreationDate="2010-09-30T14:38:17.743" Score="2" Body="&lt;p&gt;The extended comments after the question indicate that $f$ is a &quot;black box&quot;, $N$ is known, and the coefficients $c_i$ are all integers.  If in addition we have a bound on the sizes of the coefficients, say $|c_i| \le q$ for all $i$, then all $2N+1$ coefficients can be read off the value of &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$(2q+1)^N f(2q+1) = c_{-N} + c_{1-N}(2q+1) + \cdots + c_0(2q+1)^N + \cdots + c_N(2q+1)^{2N}$$ &lt;/p&gt;&#xA;&#xA;&lt;p&gt;by looking at its base-$2q+1$ expansion.  The middle term, $c_0$, can then be computed in $O(1)$ time.  This old trick might be impracticable if $q$ or $N$ are at all sizable but perhaps it will inspire some practical $o(N)$ solutions.&lt;/p&gt;&#xA;" OwnerUserId="564" LastActivityDate="2010-09-30T14:38:17.743" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="1816" PostTypeId="1" AcceptedAnswerId="2385" CreationDate="2010-09-30T15:11:53.597" Score="10" ViewCount="963" Body="&lt;p&gt;I would like to know the current state of the phase transition for random k-sat, given n variables and m clauses, what is the best known c=m/n for upper and lower bounds.&lt;/p&gt;&#xA;" OwnerUserId="1590" LastEditorUserId="186" LastEditDate="2010-10-23T05:38:18.273" LastActivityDate="2015-02-14T17:45:24.817" Title="What are the current best known upper and lower bounds on the (un)satisfiability threshold for random k-sat and/or 3-sat?" Tags="&lt;cc.complexity-theory&gt;&lt;sat&gt;&lt;lower-bounds&gt;&lt;upper-bounds&gt;&lt;phase-transition&gt;" AnswerCount="1" CommentCount="8" FavoriteCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="1818" PostTypeId="2" ParentId="1811" CreationDate="2010-09-30T15:16:31.910" Score="6" Body="&lt;p&gt;[This answer explains some interesting aspects about &lt;strong&gt;Per Vognsen&lt;/strong&gt;'s answer. It is not a direct answer to the OP's question, yet it may help in resolving such questions.]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First, take a look at the following link:&#xA;&lt;a href=&quot;http://en.wikipedia.org/wiki/Bailey-Borwein-Plouffe_formula&quot;&gt;Bailey-Borwein-Plouffe formula&lt;/a&gt; (or simply BBP formula). It is a way for calculating the $i$th bit of the irrational number $\pi$, without first computing the first $i-1$ bits. The article points out that BPP-type formulas for other irrational numbers exist, too.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Next, look at Dick Lipton's take on the subject: &lt;a href=&quot;http://rjlipton.wordpress.com/2009/03/15/cooks-class-contains-pi/&quot;&gt;Cook’s Class Contains Pi&lt;/a&gt;. The article essentially describes that deciding the $i$th bit of $\pi$ is in the Steve Cook's class ($\rm SC$, the class of languages accepted in polynomial time and poly-logarithmic space), and that this fact is extraordinarily odd, as he calls it against &quot;conventional wisdom.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;PS: At the end of his article, Dick admits that the algorithm might be actually out of $\rm SC$, yet such possibility is beyond &quot;practical use.&quot;&lt;/p&gt;&#xA;" OwnerUserId="873" LastEditorUserId="873" LastEditDate="2010-09-30T15:35:26.190" LastActivityDate="2010-09-30T15:35:26.190" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1819" PostTypeId="2" ParentId="1811" CreationDate="2010-09-30T15:44:00.037" Score="12" Body="&lt;p&gt;Not a complete answer, but at least a partial one.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I notice that the two answers that have appeared so far have not mentioned the fact that there is an $O(n^{1+\omega})$ algorithm for calculating the modular exponential $x^y ~\mbox{mod }z$ where $n$ is the number of bits in $z$, and where $\omega$ is the exponent corresponding to the fastest multiplication algorithm. So the less significant bits of the exponential can be calculated efficiently (in $O(n^3)$ or less). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The way to do this is fairly simple: You can compute $c_1 = x$, $c_2 = x^2 ~\mbox{mod }z$, $c_j = c_{j-1}^2 ~\mbox{mod }z$. Clearly $c_j = x^{2^j}~\mbox{mod }z$, and so $x^y \equiv \prod_j c_j^{y_j}~\mbox{mod }z$, but as there are only $n$ terms $c_j$ this takes only $n$ multiplications.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Further, we can write $x^y$ as $(\sum_{i=0}^n 2^i x_i)^y$, so the most significant bits which correspond to roughly $2^{ny}$ can also be efficiently calculate as these will only depend on the on the most significant bit of $x$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So the only real problem terms are caused by bits towards the center of $x^y$. &lt;/p&gt;&#xA;" OwnerUserId="204" LastEditorUserId="4896" LastEditDate="2014-02-20T21:56:33.053" LastActivityDate="2014-02-20T21:56:33.053" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="1821" PostTypeId="2" ParentId="1811" CreationDate="2010-09-30T17:01:50.987" Score="17" Body="&lt;p&gt;Here are some upper bounds.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By repeated squaring, the problem is in PSPACE.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is a slightly better upper bound.  The problem is a special case of the BitSLP problem: Given a straight-line program starting from 0 and 1 with addition, subtraction and multiplication representing an integer &lt;i&gt;N&lt;/i&gt;, and given &lt;i&gt;i&lt;/i&gt;∈ℕ, decide whether the &lt;i&gt;i&lt;/i&gt;-th bit (counting from the least significant bit) of the binary representation of &lt;i&gt;N&lt;/i&gt; is 1.  The BitSLP problem is in the counting hierarchy (&lt;a href=&quot;http://qwiki.stanford.edu/wiki/Complexity_Zoo%3aC#ch&quot;&gt;CH&lt;/a&gt;) [ABKM09].  (It is stated in [ABKM09] that it can be shown that the BitSLP problem is in PH&lt;sup&gt;PP&lt;sup&gt;PP&lt;sup&gt;PP&lt;sup&gt;PP&lt;/sup&gt;&lt;/sup&gt;&lt;/sup&gt;&lt;/sup&gt;.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The membership to CH is often considered as an evidence that the problem is unlikely to be PSPACE-hard, because the equality CH=PSPACE implies that the counting hierarchy collapses.  However, I do not know how strong this evidence is considered to be.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As for the hardness, BitSLP is shown to be #P-hard in the same paper [ABKM09].  However, the proof there does not seem to imply any hardness of the language &lt;i&gt;X&lt;/i&gt; in the question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;References&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[ABKM09] Eric Allender, Peter Bürgisser, Johan Kjeldgaard-Pedersen and Peter Bro Miltersen.  On the complexity of numerical analysis.  &lt;em&gt;SIAM Journal on Computing&lt;/em&gt;, 38(5):1987–2006, Jan. 2009.  &lt;a href=&quot;http://dx.doi.org/10.1137/070697926&quot;&gt;http://dx.doi.org/10.1137/070697926&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="567" LastEditorUserId="567" LastEditDate="2010-10-03T13:29:21.597" LastActivityDate="2010-10-03T13:29:21.597" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1822" PostTypeId="2" ParentId="1798" CreationDate="2010-09-30T17:02:21.880" Score="6" Body="&lt;p&gt;So, you are interested in range queries in the &quot;dense case&quot; (an array) as opposed to the case most frequently studied in theory (arbitrary points in space).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The RMQ problem is easier than the semigroup sum problem, and no $\alpha$ is needed. The most recent result I know is: &lt;a href=&quot;http://www.siam.org/proceedings/soda/2010/SODA10_014_yuanh.pdf&quot; rel=&quot;nofollow&quot;&gt;Hao Yuan, Mikhail J. Atallah: Data Structures for Range Minimum Queries in Multidimensional Arrays, SODA 2010&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The semigroup sum problem is mainly of theoretical interest, in my opinion (what is a natural semigroup beyond max?). This explains why the Chazelle-Rosenberg paper does not have a lot of citations.&lt;/p&gt;&#xA;" OwnerUserId="106" LastEditorUserId="80" LastEditDate="2010-09-30T17:10:45.460" LastActivityDate="2010-09-30T17:10:45.460" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="1823" PostTypeId="1" CreationDate="2010-09-30T17:31:31.690" Score="0" ViewCount="244" Body="&lt;p&gt;Given a set of actions (that are performed at a rate of one action per unit time) where each must be performed at an assigned frequency (assume the frequencies add up so things can work) and at approximately uniform intervals, derive a scheduling function who's execution uses as few a resources as possible (that is the cost of calling the function is to be minimized).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An easy example:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;1 @ ~1/2&#xA;2 @ ~1/4&#xA;3 @ ~1/8&#xA;&#xA;1,2,1,3,1,2,1,1,2,1,3,1,2,1,2,...&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The highest frequency and the lowest may differ by a factor of 100-1000.&lt;/li&gt;&#xA;&lt;li&gt;The frequencies are approximately exponential distributed, but not exactly and with an arbitrary ratio (e.g. 1.12 or 1.373)&lt;/li&gt;&#xA;&lt;li&gt;The function must generate an infinite sequence but may be repeating or non-repeating.&lt;/li&gt;&#xA;&lt;li&gt;The function should get as close to exact as possible.&lt;/li&gt;&#xA;&lt;li&gt;Real time constraints apply so&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The function must have a deterministic runtime&lt;/li&gt;&#xA;&lt;li&gt;The function must provide hard (tight) bounds on the intervals between values.&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Edit: in reply to Jukka:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;minf = 10&#xA;base = 1.17724&#xA;frq = [int(minf * base**i) for i in range(36)]&#xA;print sum(frq)  # prints 20000&#xA;seen = dict((i,0) for i in frq)&#xA;start  = [(0,a) for a in frq]&#xA;at = 1.0&#xA;for _ in range(20000):&#xA;  step = [((a-at)*b, a, b) for (a, b) in start]&#xA;  step.sort()&#xA;  seen[step[0][2]] = seen[step[0][2]] + 1&#xA;  step[0] = (0, at, step[0][2])&#xA;  start = [(a,b) for (_,a,b) in step]&#xA;  at = at + 1&#xA;&#xA;for (k,v) in seen.iteritems():&#xA;  print &quot;%5d %5d    %g&quot; % (k, v, v-k)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;output (skipping a few that are close to the right frequency):&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt; 2180  2130    -50&#xA;  261   278    17&#xA; 2566  2489    -77&#xA;  136   148    12&#xA;  307   325    18&#xA;  819   834    15&#xA;  160   174    14&#xA; 1573  1552    -21&#xA;  426   449    23&#xA;  695   713    18&#xA;  188   203    15&#xA; 1852  1818    -34&#xA; 3021  2898    -123&#xA;  591   612    21&#xA;  222   239    17&#xA;   98   109    11&#xA;  362   384    22&#xA;  115   127    12&#xA;  502   525    23&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;average error 8%&lt;/p&gt;&#xA;" OwnerUserId="143" LastEditorUserId="143" LastEditDate="2010-10-01T00:58:28.743" LastActivityDate="2010-10-01T00:58:28.743" Title="Event scheduling." Tags="&lt;ds.algorithms&gt;&lt;scheduling&gt;" AnswerCount="1" CommentCount="8" ContentLicense="CC BY-SA 2.5" />
  <row Id="1824" PostTypeId="1" AcceptedAnswerId="1835" CreationDate="2010-09-30T17:33:44.213" Score="24" ViewCount="775" Body="&lt;p&gt;In the survey &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=1272729.1272739&quot;&gt;&quot;Small Depth Quantum Circuits&quot; by D. Bera, F. Green and S. Homer (p. 36 of ACM SIGACT News, June 2007 vol. 38, no. 2)&lt;/a&gt;, I read the following sentence:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;The classical version of $QAC^0$ (in which $AND$ and $OR$ gates have at most constant fanout) is provably weaker than $AC^0$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;A reference for this claim is missing. I will call this class $AC^0_{bf}$, where $bf$ stands for &quot;bounded fanout&quot;. (The Complexity Zoo is down and I can't verify if such class has already a name in the literature).&#xA;If we assume unbounded fanout for the input bits, then these circuit seem to be equivalent to constant depth formulae up to a polynomial increase in the size, so the above claim doesn't make sense. &#xA;Instead, if we assume bounded fanout for the input bits too, then I cannot think of any language that separates this class from $AC^0$. A possible candidate could be the language $X := \{x | \mbox{weight}(x) = 1 \}$, &lt;em&gt;i.e.&lt;/em&gt;, the language of the strings with only one 1. It is easy to show $X \in AC^{0}$, but I didn't manage to prove that $X \notin AC^{0}_{bf}$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The questions are:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is $AC^0_{bf}$ actually weaker than $AC^0$? If it is, any idea or any reference on how to prove it? And what is a language that separates those two classes? What about $X$?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="1542" LastEditorUserId="873" LastEditDate="2010-10-01T01:15:01.417" LastActivityDate="2011-07-21T08:37:28.427" Title="Is $AC^0$ with bounded fanout weaker than $AC^0$?" Tags="&lt;cc.complexity-theory&gt;&lt;circuit-complexity&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="1825" PostTypeId="1" AcceptedAnswerId="1830" CreationDate="2010-09-30T18:51:08.597" Score="30" ViewCount="1657" Body="&lt;p&gt;Is the language {$a^{i}b^{j}c^{k} ~|~ i \neq j, i \neq k, j \neq k$} context-free or not? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I realized that I have encountered almost all variants of this question with different conditions about the relationship between i, j, and k, but not this one.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My guess is that it is not context-free, but do you have a proof?&lt;/p&gt;&#xA;" OwnerUserId="1454" LastEditorUserId="186" LastEditDate="2010-10-01T00:54:03.823" LastActivityDate="2011-09-20T20:06:21.443" Title="Is {$a^{i}b^{j}c^{k} ~|~ i \neq j, i \neq k, j \neq k$} non-context-free?" Tags="&lt;automata-theory&gt;&lt;fl.formal-languages&gt;&lt;grammars&gt;" AnswerCount="2" CommentCount="6" FavoriteCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="1826" PostTypeId="2" ParentId="1758" CreationDate="2010-09-30T18:55:46.057" Score="0" Body="&lt;p&gt;I'm providing a second answer because a later edit of the question has changed it considerably and this thought will not fit into the space of just one or two comments.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Because $g$ is described as a rational function, both $s$ and $u$ must be positive integers.  Notice that&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$g(x) = x^s(x^t-1)/((x-1)(x^u+1))$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$= x^s \left(1 + x + \cdots + x^{t-1} \right) \left(1 - x^u + x^{2u} + \cdots + (-1)^j x^{j u} \cdots  \right).$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(If I misinterpreted the definition of $g$, which was ambiguously parenthesized, the analysis only gets simpler because we multiply, rather than divide, by $1 + x^u$.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;When multiplied out, this becomes a Taylor series expanded around $x = 0$ with lowest term $x^s$.  Similarly,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$h(xy) = (1-(x y)^v)/(1-x y) = 1 + x y + (x y)^2 + \cdots + (x y)^{v-1}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;is a Taylor series (actually, a polynomial) with lowest term 1.  Therefore any series of multiplications, subtractions, and substitutions of positive powers of $x$ for $y$ will produce a Taylor series: &lt;em&gt;there will be no negative powers of $x$&lt;/em&gt; in the result.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;All you have to do, then, is track the constant term by performing all calculations modulo $x$ as you go.  Not only does this greatly simplify the computation of $f$, it gives you the constant term $c_0$ immediately.&lt;/p&gt;&#xA;" OwnerUserId="564" LastEditorUserId="564" LastEditDate="2010-09-30T19:00:58.867" LastActivityDate="2010-09-30T19:00:58.867" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="1828" PostTypeId="2" ParentId="1807" CreationDate="2010-09-30T20:14:36.350" Score="12" Body="&lt;p&gt;Coq's fixpoint definitions require that inductive calls receive a structurally smaller argument. Deep down, a fixpoint construct takes a single argument: there's no built-in concept of a recursive definition over two arguments. Fortunately, Coq's &lt;a href=&quot;http://coq.inria.fr/refman/Reference-Manual006.html#htoc101&quot;&gt;definition of structurally smaller&lt;/a&gt; includes higher-order types, which is extremely powerful.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Your two-argument fixpoint definition follows a simple pattern: either the first argument becomes smaller, or the first argument remains identical and the second argument becomes smaller. This fairly common pattern can be handled by a simple fix-in-fix.&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;Fixpoint pair l := fix pair1 (r : Tree) :=&#xA;  match l with&#xA;    | Tip =&amp;gt; match r with&#xA;              | Tip =&amp;gt; TipTip&#xA;              | Bin rl rr =&amp;gt; TipBin rl rr&#xA;            end&#xA;    | Bin ll lr =&amp;gt; match r with&#xA;                    | Tip =&amp;gt; BinTip ll lr&#xA;                    | Bin rl rr =&amp;gt; BinBin (pair1 rl) (pair lr r)&#xA;                   end&#xA;  end.&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;For more complex cases, or if your tastes run that way, you can use recursion closer to the way it's taught in math courses, building the fixpoint from a step computation and a separate &lt;a href=&quot;http://coq.inria.fr/stdlib/Coq.Init.Wf.html&quot;&gt;well-foundedness argument&lt;/a&gt;, often using an &lt;a href=&quot;http://coq.inria.fr/stdlib/Coq.Arith.Wf_nat.html&quot;&gt;integer measure&lt;/a&gt;. You can also make your definition look more like a classical program in a non-total language with a separate termination using the &lt;a href=&quot;http://coq.inria.fr/refman/Reference-Manual028.html&quot;&gt;&lt;code&gt;Program&lt;/code&gt; vernacular&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="634" LastActivityDate="2010-09-30T20:14:36.350" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="1829" PostTypeId="2" ParentId="1823" CreationDate="2010-09-30T21:27:04.220" Score="1" Body="&lt;p&gt;Slightly editing your code, the &quot;trivial&quot; solution that I referred to in my comment would be something like this:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;minf = 10&#xA;base = 1.17724&#xA;frq = [int(minf * base**i) for i in range(36)]&#xA;total = sum(frq)&#xA;seen = dict((i,0) for i in frq)&#xA;for at in range(total):&#xA;  step = [(c-at*f/float(total), f, c) for (f, c) in seen.iteritems()]&#xA;  step.sort()&#xA;  chosenf = step[0][1]&#xA;  seen[chosenf] += 1&#xA;&#xA;for (k,v) in seen.iteritems():&#xA;  print &quot;%5d %5d    %g&quot; % (k, v, v-k)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;(Prints zeroes, as expected.)&lt;/p&gt;&#xA;" OwnerUserId="74" LastActivityDate="2010-09-30T21:27:04.220" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="1830" PostTypeId="2" ParentId="1825" CreationDate="2010-09-30T21:37:49.653" Score="28" Body="&lt;p&gt;Ogden's lemma should work:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For a given $p$ choose $a^i b^p c^k$ and mark all the $b$'s (and nothing else).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$i$ and $k$ are chosen such that for every choice of how many $b$'s are actually pumped there is one pumping exponent such that the number of $b$'s is equal to $i$ and one where it is equal to $k$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;That is $i$ and $k$ have to be from the set $\bigcap_{1 \leq n \leq p} \lbrace p-n + m*n \mid m \in \mathbb{N}_0\rbrace$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am quite sure but too lazy to formally prove that this set is infinite.&lt;/p&gt;&#xA;" OwnerUserId="1594" LastEditorUserId="1546" LastEditDate="2011-09-20T20:06:21.443" LastActivityDate="2011-09-20T20:06:21.443" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="1831" PostTypeId="2" ParentId="448" CreationDate="2010-09-30T22:03:45.417" Score="0" Body="&lt;p&gt;We could call them &lt;em&gt;pattern expressions&lt;/em&gt;. This might introduce confusions with pattern languages, but at least these are less common.&lt;/p&gt;&#xA;" OwnerUserId="1546" LastActivityDate="2010-09-30T22:03:45.417" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="1832" PostTypeId="1" AcceptedAnswerId="1833" CreationDate="2010-09-30T22:24:39.190" Score="3" ViewCount="306" Body="&lt;p&gt;What are the basic complexity class seperation and inclusion results that everybody should know? (I mean specifically results that are known, and the proofs can be understood by a non-expert)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It would be great to have a book or paper (or set of papers) which go through and prove all the simplest and most fundamental results in this area. Where could I find it?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thank you.&lt;/p&gt;&#xA;" OwnerUserId="285" LastActivityDate="2010-09-30T23:24:30.910" Title="Complexity Classes - separations and inclusions" Tags="&lt;complexity-classes&gt;" AnswerCount="2" CommentCount="9" FavoriteCount="1" ClosedDate="2010-10-01T00:57:04.910" ContentLicense="CC BY-SA 2.5" />
  <row Id="1833" PostTypeId="2" ParentId="1832" CreationDate="2010-09-30T22:51:33.603" Score="7" Body="&lt;p&gt;I like &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0201530821&quot; rel=&quot;nofollow&quot;&gt;Papadimitriou's book&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Specially, it has &quot;Class Review&quot; sections at the end of several chapters, illustrating the relations among complexity classes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The relevant sections are:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt; Section 10.4.1 (page 235): P, NP, coNP.&#xA;&lt;li&gt; Section 11.5.1 (page 272): P, ZPP, RP, coRP, BPP, NP, coNP, PP.&#xA;&lt;li&gt; Section 15.5.1 (page 385): AC, NC, RNC, P.&#xA;&lt;li&gt; Section 16.4.1 (page 405): NC$_1$, L, SL, RL, SC, NL, PolyL, P.&#xA;&lt;li&gt; Section 17.3.1 (page 433): PH and PSPACE.&#xA;&lt;li&gt; Section 20.2.1 (page 499): P, NP, coNP, PSPACE, EXP, NEXP, coNEXP, EXPSPACE, 2-EXP, ELEMENTARY, R.&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The book also includes a nice take on time- and space-hierarchy theorems; see Chapter 7.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT:&lt;/strong&gt; I also recommend Complexity Zoo's &lt;a href=&quot;http://www.math.ucdavis.edu/~greg/zoology/diagram.xml&quot; rel=&quot;nofollow&quot;&gt;Active Inclusion Diagram&lt;/a&gt; (requires Firefox 1.5 or later, or Opera 9 or later). If you don't have that, you may try Zoo's &lt;a href=&quot;http://www.math.ucdavis.edu/~greg/zoology/diagram.pdf&quot; rel=&quot;nofollow&quot;&gt;Static Inclusion Diagram&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="873" LastEditorUserId="873" LastEditDate="2010-09-30T23:24:30.910" LastActivityDate="2010-09-30T23:24:30.910" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1834" PostTypeId="2" ParentId="1832" CreationDate="2010-09-30T22:59:12.777" Score="1" Body="&lt;p&gt;See the &lt;a href=&quot;http://qwiki.stanford.edu/wiki/Complexity_Zoo&quot; rel=&quot;nofollow&quot;&gt;complexity zoo&lt;/a&gt; and &lt;a href=&quot;http://en.wikipedia.org/wiki/Complexity_class&quot; rel=&quot;nofollow&quot;&gt;wikipedia&lt;/a&gt; and &lt;a href=&quot;http://www.cs.umass.edu/~immerman/complexity_theory.html&quot; rel=&quot;nofollow&quot;&gt;Immermann&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="77" LastEditorUserId="77" LastEditDate="2010-09-30T23:04:29.650" LastActivityDate="2010-09-30T23:04:29.650" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1835" PostTypeId="2" ParentId="1824" CreationDate="2010-10-01T00:46:57.237" Score="23" Body="&lt;p&gt;A bound on fan-out of input bits and gates will make the size of the circuit linear. Let $k$ be a bound on the fan-out of the gates and inputs. It is a DAG with max out degree bounded by $k$ and max path of length $d$. The number of available wires in each level can increase $k$ times, and the number of available wires at top is $kn$, so the total number of wires in the circuit is at most $kn \sum_{i=0}^d k^i \leq k^{d+1} n$ which is $O(n)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any $\mathsf{AC^0}$ function which requires super-linear size will separate the class of functions with bounded fan-out (applied also to input bits) from $\mathsf{AC^0}$. Here are some examples:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;[CR96]: An $\mathsf{AC^0}$ function that need super-linear size is the &lt;em&gt;$\frac{1}{4}$-approximate selector&lt;/em&gt;. A $\frac{1}{4}$-approximate selector is any function whose value is:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$0$ whenever the number of $1$s is at most $\frac{n}{4}$, &lt;/li&gt;&#xA;&lt;li&gt;$1$ whenever the number of $0$s is at most $\frac{n}{4}$, &lt;/li&gt;&#xA;&lt;li&gt;can be either $0$ or $1$ otherwise.&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;[Ros08] shows that the $k$-clique has $\mathsf{AC^0}$ functions complexity $n^{\Theta(k)}$ ($n^2$ input bits are possible edges of a graph with $n$ vertices). This gives a super line size lowerbound for $k\gt 2$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;It is probably possible to generalize the example in 2 can to existence of any nontrivial (requiring more than one bit) fixed induced substructure in a given unordered structure, e.g.: &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;existence of a path of length 2 in a given graph,&lt;/li&gt;&#xA;&lt;li&gt;$\#_1(x)=2$,&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;since they require super constant number of gates depending on a bit which is not possible in $\mathsf{AC^0_{bf}}$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The easiest example is a duplicator gate, i.e. a gate that creates $\omega(1)$ copies of its input bit. This is not possible in $\mathsf{AC^0_{bf}}$ since only $O(1)$ of gates can depend on each input bit.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Also any $\mathsf{AC^0_{bf}}$ circuit of size $S$ can be turned into a formula of size at most $k^dS$ and therefore has a $\mathsf{AC^0_{bf}}$ formula of size $k^{2d+1}n$ so any function of superlinear $\mathsf{AC^0}$ formula complexity will not be in $\mathsf{AC^0_{bf}}$.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;References: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;[CR96] S. Chaudhuri and J. Radhakrishnan, &quot;&lt;a href=&quot;http://doi.acm.org/10.1145/237814.237824&quot;&gt;Deterministic Restrictions in Circuit Complexity&lt;/a&gt;&quot;, 1996&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[Ros08] Benjamin Rossman, &quot;&lt;a href=&quot;http://www.mit.edu/~brossman/k-clique-stoc.pdf&quot;&gt;On the Constant-Depth Complexity of k-Clique&lt;/a&gt;&quot;, 2008&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[Juk] Stasys Jukna, &quot;&lt;a href=&quot;http://www.thi.informatik.uni-frankfurt.de/~jukna/boolean/index.html&quot;&gt;Boolean Function Complexity: Advances and Frontiers&lt;/a&gt;&quot;, draft&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2011-07-21T08:37:28.427" LastActivityDate="2011-07-21T08:37:28.427" CommentCount="13" ContentLicense="CC BY-SA 3.0" />
  <row Id="1836" PostTypeId="1" CreationDate="2010-10-01T03:48:35.580" Score="8" ViewCount="477" Body="&lt;p&gt;A &lt;a href=&quot;http://en.wikipedia.org/wiki/Quine_%28computing%29&quot; rel=&quot;nofollow&quot;&gt;Quine&lt;/a&gt; is a computer program which produces a copy of its own source code as its only output. Is there any Quine program that could print itself out n times, with n specified some way in the program?&lt;/p&gt;&#xA;" OwnerUserId="1597" LastEditorUserId="109" LastEditDate="2010-11-04T16:46:36.057" LastActivityDate="2010-11-04T16:46:36.057" Title="Repeated Quine program" Tags="&lt;computability&gt;&lt;recreational&gt;" AnswerCount="3" CommentCount="8" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="1837" PostTypeId="2" ParentId="1168" CreationDate="2010-10-01T03:49:16.153" Score="44" Body="&lt;p&gt;I'm surprised that no one has come up with Hastad's &lt;a href=&quot;http://portal.acm.org/citation.cfm?doid=502090.502098&quot;&gt;&quot;Some Optimal Inapproximability Results&quot;&lt;/a&gt; (JACM 2001; originally STOC 1997). This landmark paper has been written so well, you can come to it with little other than mathematical maturity and it will make you want to learn several things well, such as its Fourier techniques, parallel repetition, gadgets, and whatnot. &lt;/p&gt;&#xA;" OwnerDisplayName="user289" LastActivityDate="2010-10-01T03:49:16.153" CommentCount="0" CommunityOwnedDate="2010-10-01T03:49:16.153" ContentLicense="CC BY-SA 2.5" />
  <row Id="1838" PostTypeId="2" ParentId="1836" CreationDate="2010-10-01T04:20:33.587" Score="9" Body="&lt;p&gt;Fun question! As a base I will use this Haskell quine I found on Wikipedia:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;main=putStr(p++show(p))where p=&quot;main=putStr(p++show(p))where p=&quot;&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;You can make it print out two copies of itself by replacing the occurrences of p++show(p) with p++show(p)++p++show(p). If you see why, the pattern to achieve variable repetition should be clear.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I will be using the following function that calculates the nth iterate of f on x:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;iterateN n f x = (iterate f x) !! n&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;I'll assume it's available as a library function. You can easily embed its definition directly in the quine, but that would clutter the presentation without good reason. Now the rest is simple:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;main=putStr(iterateN 42(++(p++show(p)))[])&#xA;  where p=&quot;main=putStr(iterateN 42(++(p++show(p)))[])where p=&quot;&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;The line break was inserted to aid readability; remove it if you want exact self-replication.&lt;/p&gt;&#xA;" OwnerUserId="1435" LastEditorUserId="1435" LastEditDate="2010-10-01T04:58:05.630" LastActivityDate="2010-10-01T04:58:05.630" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="1840" PostTypeId="2" ParentId="189" CreationDate="2010-10-01T09:45:44.240" Score="30" Body="&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Merge_sort&quot;&gt;Merge Sort&lt;/a&gt;. Simple, elegant, efficient.&lt;/p&gt;&#xA;" OwnerUserId="947" LastActivityDate="2010-10-01T09:45:44.240" CommentCount="0" CommunityOwnedDate="2010-10-01T09:45:44.240" ContentLicense="CC BY-SA 2.5" />
  <row Id="1841" PostTypeId="2" ParentId="1836" CreationDate="2010-10-01T09:46:34.337" Score="3" Body="&lt;p&gt;Here is another one, based on the printf-version on wikipedia:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;main() { int i=5; char *s=&quot;main() { int i=5; char *s=%c%s%c; while (i--)&#xA;  printf(s,34,s,34); }&quot;; while (i--) printf(s,34,s,34); }`&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Though it is short, it is actually not so nice, as it lacks the inclusion for printf, as well as the counter has to be specified twice.&#xA;A slightly longer version cures both issues:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;#include &amp;lt;stdio.h&amp;gt;&#xA;#define k 5&#xA;main() { int i=k; char *s=&quot;#include &amp;lt;stdio.h&amp;gt; %c#define k %d%cmain() { int i=k;&#xA;  char *s=%c%s%c; while (i--) printf(s,10,k,10,34,s,34); }&quot;;&#xA;  while (i--) printf(s,10,k,10,34,s,34); }&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;" OwnerUserId="936" LastActivityDate="2010-10-01T09:46:34.337" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1842" PostTypeId="1" AcceptedAnswerId="3250" CreationDate="2010-10-01T10:07:42.870" Score="20" ViewCount="1283" Body="&lt;p&gt;Suppose we have an n by n matrix. Is it possible to reorder its rows and columns such that we get an upper-triangular matrix?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This question is motivated by this problem:&#xA;&lt;a href=&quot;https://cstheory.stackexchange.com/questions/1346/positive-topological-ordering&quot;&gt;Positive topological ordering&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The original decision problem is at least as hard as this one, so an NP-completeness result would solve that too.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit:&#xA;Laszlo Vegh and Andras Frank called my attention to an equivalent problem asked by Gunter Rote:&#xA;&lt;a href=&quot;http://lemon.cs.elte.hu/egres/open/Graphs_extendable_to_a_uniquely_matchable_bipartite_graph&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://lemon.cs.elte.hu/egres/open/Graphs_extendable_to_a_uniquely_matchable_bipartite_graph&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit:&#xA;The reduction to the original problem is as follows. Suppose that the DAG has only two levels, these will correspond to the rows and columns of the matrix. Also, we have one single node with weight +1. Everyone else in the lower level has weight -1 and on the upper level +1.&lt;/p&gt;&#xA;" OwnerUserId="419" LastEditorUserId="4795" LastEditDate="2020-05-15T15:59:01.100" LastActivityDate="2020-05-15T15:59:01.100" Title="Positive topological ordering, take 3" Tags="&lt;ds.algorithms&gt;&lt;np-hardness&gt;&lt;matrices&gt;&lt;open-problem&gt;&lt;topological-sorting&gt;" AnswerCount="4" CommentCount="3" FavoriteCount="7" ContentLicense="CC BY-SA 2.5" />
  <row Id="1843" PostTypeId="2" ParentId="1836" CreationDate="2010-10-01T10:24:13.837" Score="9" Body="&lt;p&gt;You can also proof the existence of such programs without giving an example.&lt;br&gt;&#xA;Let $(\Phi_i)$ be the list of all partial computable functions. Clearly there is a partial computable function $\varphi(k)$ which prints the input $k$ n times. So there is an Index $e$ with $\varphi(k) = \Phi_e(k)$. Using the smn-theorem we see that there is a computable function $f$ with $\Phi_{f(k)} = \Phi_e(k) = \varphi(k)$ for all $k$. Now we can apply the recursion theorem and get an $s$ with $\Phi_{f(s)} = \Phi_s$. So $\Phi_s$ is a program which outputs $s$ n times.&lt;/p&gt;&#xA;" OwnerUserId="1571" LastActivityDate="2010-10-01T10:24:13.837" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1844" PostTypeId="1" AcceptedAnswerId="1872" CreationDate="2010-10-01T10:27:24.017" Score="8" ViewCount="501" Body="&lt;p&gt;Could anyone please point to both introductory and advanced papers/books showing how to use SAT technology to solve Computer Vision tasks (e.g. edge detection, object recognition, facial recognition, ...)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More precisely: I'm looking for SAT-based techniques to extract knowledge from images and reason about such knowledge (e.g. is object $X_1$ in front of object $X_2$? Is object $X_3$ partially hidden by object $X_4$? Is person $X_5$ in image $I_1$ the same as person $X_6$ in image $I_2$?).&lt;/p&gt;&#xA;" OwnerUserId="947" LastEditorUserId="74" LastEditDate="2011-04-06T12:53:21.477" LastActivityDate="2011-04-06T12:53:21.477" Title="Using SAT for Computer Vision tasks" Tags="&lt;ds.algorithms&gt;&lt;sat&gt;&lt;ai.artificial-intel&gt;&lt;cv.computer-vision&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="3" CommunityOwnedDate="2010-10-01T10:31:11.103" ContentLicense="CC BY-SA 2.5" />
  <row Id="1845" PostTypeId="2" ParentId="1844" CreationDate="2010-10-01T10:40:52.693" Score="3" Body="&lt;p&gt;Some computer vision problems rely on cliques and max cliques, which can be reduced to SAT.&lt;/p&gt;&#xA;" OwnerUserId="77" LastActivityDate="2010-10-01T10:40:52.693" CommentCount="3" CommunityOwnedDate="2010-10-01T10:40:52.693" ContentLicense="CC BY-SA 2.5" />
  <row Id="1846" PostTypeId="1" CreationDate="2010-10-01T11:56:40.287" Score="8" ViewCount="708" Body="&lt;p&gt;Suppose we have a multigraph (later, a multihypergraph). An &lt;i&gt;edge-clique&lt;/i&gt; is a set of edges which all pairwise intersect (have at least one common vertex). Then any edge-clique $C$ in a multigraph always falls into one of two categories:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;A &lt;i&gt;star&lt;/i&gt;: there is a vertex such that every edge of $C$ contains it&lt;/li&gt;&#xA;&lt;li&gt;A &lt;i&gt;triangle&lt;/i&gt;: there are three vertices such that every edge of $C$ goes between two of them&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;This leads to an easy $O(n^3)$-time algorithm to compute the largest edge-clique.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am pretty sure one can show more generally, that for every $r$, in multihypergraphs with maximum edge size $r$, you can prove a certain structure theorem for hyperedge-cliques, and get a polynomial time algorithm to find the maximum clique.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there anything related to this result known? Also, the algorithm I have in mind is extremely high degree polynomial; it would be nice to get something with running time $n^{\mathrm{poly}(r)}$ or better.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I found this interesting since the maximum edge-clique is a lower bound on the edge-chromatic number (a.k.a chromatic index).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit: In the cross-post, the reference about kernels leads to a $2^{2^{\mathrm{exp}(r)}}n^{\mathrm{exp}(r)}$-time algorithm: guess the kernel and guess the restriction of the clique to the kernel.&lt;/p&gt;&#xA;" OwnerUserId="771" LastEditorUserId="186" LastEditDate="2010-10-08T11:59:45.993" LastActivityDate="2011-08-21T16:02:36.617" Title="Max-clique in line graph of hypergraph" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;hypergraphs&gt;&lt;graph-algorithms&gt;&lt;clique&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="1847" PostTypeId="1" AcceptedAnswerId="9871" CreationDate="2010-10-01T13:31:51.137" Score="18" ViewCount="1340" Body="&lt;p&gt;Let $G$ be an undirected simple graph and let $s,t \in V(G)$ be distinct vertices. Let the length of a simple s-t path be the number of edges on the path. I am interested in computing the maximum size of a set of simple s-t paths such that each path has odd length, and the vertex sets of each pair of paths pairwise intersect only in s and t. In other words, I am looking for the maximum number of internally vertex-disjoint odd-length s-t paths. I think that this should be polynomial-time computable by matching or flow-based techniques, but I have not been able to come up with an algorithm. Here is what I know of the problem.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;We may replace the restriction to odd length by even-length; this does not really affect the problem since one transforms into the other if we subdivide all edges incident on s.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;If there is no restriction on the parity of the paths then Menger's theorem gives the answer, which can be obtained by computing a maximum flow.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The problem of determining the maximum number of vertex-disjoint odd-length cycles which pairwise intersect only at a given vertex v is computable in polynomial time by a matching trick: build a graph G' as the disjoint union of $(G - {v})$ and $(G - N_G[v])$, adding edges between two copies of the same vertex; a maximum matching in this graph of size $|V(G)| - |N_G[v]| + k$ implies that the maximum number of odd cycles through $v$ is $k$; this construction is described in the proof of Lemma 11 of &lt;a href=&quot;http://homepages.cwi.nl/~bgerards/personal/papers/geelen_gerards_reed_seymour_vetta=odd_hadwicher%5B2009%5D.pdf&quot; rel=&quot;nofollow&quot;&gt;On the odd-minor variant of Hadwiger’s conjecture&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;If the graph is directed then testing for the existence of a single even-length s-t path is already NP-complete.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The paper &lt;a href=&quot;http://onlinelibrary.wiley.com/doi/10.1002/net.3230140403/abstract&quot; rel=&quot;nofollow&quot;&gt;The even-path problem for graphs and digraphs&lt;/a&gt; by Lapaugh and Papadimitriou might be relevant, but unfortunately our library does not subscribe to the online archive and we do not have a paper copy.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Any insights will be much appreciated!&lt;/p&gt;&#xA;" OwnerUserId="122" LastActivityDate="2012-01-23T18:36:22.023" Title="Maximum number of internally vertex-disjoint odd length s-t paths" Tags="&lt;matching&gt;&lt;graph-algorithms&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="1848" PostTypeId="1" CreationDate="2010-10-01T13:52:57.937" Score="36" ViewCount="2427" Body="&lt;p&gt;Deciding whether a Nash equilibrium exists is easy (it always does); however, actually finding one is believed to be difficult (it is PPAD-Complete).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What are some other examples of problems where the decision version is easy but the search version is relatively difficult (compared the the decision version)? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would be particularly interested in problems where the decision version is non-trival (unlike the case with Nash equilibrium).&lt;/p&gt;&#xA;" OwnerUserId="482" LastActivityDate="2013-10-29T15:01:04.350" Title="Easy decision problem, hard search problem" Tags="&lt;cc.complexity-theory&gt;&lt;big-list&gt;" AnswerCount="13" CommentCount="8" FavoriteCount="17" CommunityOwnedDate="2010-10-01T14:06:50.360" ContentLicense="CC BY-SA 2.5" />
  <row Id="1849" PostTypeId="2" ParentId="1346" CreationDate="2010-10-01T14:16:37.810" Score="9" Body="&lt;p&gt;Well, my answer is my question from which it turns out that if you could solve this problem in P, you could also solve another open problem:&#xA;&lt;a href=&quot;https://cstheory.stackexchange.com/questions/1842/positive-topological-ordering-take-3&quot;&gt;Positive topological ordering, take 3&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit: This problem also turned out to be NP-complete, so your problem is NP-complete already if your DAG has only two levels, i.e. if there are no directed paths with two edges.&lt;/p&gt;&#xA;" OwnerUserId="419" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2010-11-22T10:23:37.450" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1850" PostTypeId="2" ParentId="1848" CreationDate="2010-10-01T16:11:33.583" Score="20" Body="&lt;p&gt;If you give the following the same &quot;leeway&quot; that you do for Nash equilibria, then:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Integer factorization, where the decision problem is &quot;Is there a factorized representation of this integer?&quot; (trivially, yes), and the search problem is to output it&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;A number of lattice problems could conceivably fit here with the same type of generous allowance for defining the decision problem:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Shortest Vector Problem (SVP) -- decide if there's a shortest vector vs finding it&#xA;&lt;li&gt;Closest Vector Problem (CVP) -- decide if there's a closest vector vs finding it&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Of course, these are all cases where the decision version I've mentioned isn't very interesting (because it's trivially the case). &lt;strong&gt;One problem that's not quite as trivial&lt;/strong&gt;:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Planar graph $k$-colorability for $k \ge 4$&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The decision problem of planar graph 4-colorability is in P. But obtaining the lexicographically first such solution is NP-hard (&lt;a href=&quot;http://portal.acm.org/citation.cfm?id=127049&quot;&gt;Khuller/Vazirani&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that the property you're really interested in is self-reducibility (or rather, non-self-reducibility). In the planar graph coloring problem, the essential issue is that the method of self-reducing the general case of $k$-colorability will destroy planarity in a graph.&lt;/p&gt;&#xA;" OwnerUserId="108" LastActivityDate="2010-10-01T16:11:33.583" CommentCount="0" CommunityOwnedDate="2010-10-01T16:11:33.583" ContentLicense="CC BY-SA 2.5" />
  <row Id="1852" PostTypeId="2" ParentId="1848" CreationDate="2010-10-01T17:07:53.747" Score="10" Body="&lt;p&gt;Finding Tverberg partitions is of unknown complexity:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Theorem: Let $x_1,x_2,\dots, x_m$ be&#xA;  points in $R^d$, $m \ge (r-1)(d+1)+1$.&#xA;  Then there is a partition&#xA;  $S_1,S_2,\dots, S_r$ of&#xA;  ${1,2,\dots,m}$ such that $\cap&#xA;  _{j=1}^r \text{conv} (x_i: i \in S_j) \ne \emptyset$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Like with Nash equilibria, the partition is guaranteed by the theorem, but it's not known if a polytime algorithm exists to find one. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Gil Kalai wrote a wonderful series of posts on this topic: &lt;a href=&quot;http://gilkalai.wordpress.com/2008/11/24/sarkarias-proof-of-tverbergs-theorem-1/&quot;&gt;One&lt;/a&gt;, &lt;a href=&quot;http://gilkalai.wordpress.com/2008/11/26/sarkarias-proof-of-tverbergs-theorem-2/&quot;&gt;Two&lt;/a&gt; and &lt;a href=&quot;http://gilkalai.wordpress.com/2008/12/23/seven-problems-around-tverbergs-theorem/&quot;&gt;Three&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2010-10-01T17:07:53.747" CommentCount="1" CommunityOwnedDate="2010-10-01T17:07:53.747" ContentLicense="CC BY-SA 2.5" />
  <row Id="1854" PostTypeId="1" AcceptedAnswerId="1857" CreationDate="2010-10-01T20:12:31.420" Score="45" ViewCount="10681" Body="&lt;p&gt;I am thinking of the following problem:&#xA;I want to find a regular expression that matches a particular set of strings (for ex. valid email addresses) and doesn't match others (invalid email addresses).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose by regular expression we mean some well-defined finite state machine, I am not familiar with the exact terminology, but let's agree on some class of allowed expressions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Instead of manually crafting the expression, I want to give it a set of positive and a set of negative examples.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It should then come up with an expression that matches the + ones, rejects the - ones and is minimal in some well-defined sense (number of states in the automata?).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My questions are:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Has this problem been considered, how can it be defined in some more concrete way and can it be solved efficiently? Can we solve it in polynomial time? Is it NP complete, can we approximate it somehow? For what classes of expressions would it work? I would appreciate any pointer to textbooks, articles or such that discuss this topic.&lt;/li&gt;&#xA;&lt;li&gt;Is this related in any way to Kolmogorov complexity?&lt;/li&gt;&#xA;&lt;li&gt;Is this related in any way to learning? If the regular expression is consistent with my examples, by virtue of it being minimal, can we say something about its generalization power on yet unseen examples? What criterion for minimality would be more suitable for this? Which one would be more efficient? Does this have any connections with machine learning? Again any pointers would be helpful...&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Sorry for the messy question ... Point me in the right direction to figure this out. Thanks !&lt;/p&gt;&#xA;" OwnerUserId="1609" LastEditorUserId="74" LastEditDate="2010-10-01T21:18:03.693" LastActivityDate="2019-11-10T19:31:38.963" Title="Is finding the minimum regular expression an NP-complete problem?" Tags="&lt;np-hardness&gt;&lt;fl.formal-languages&gt;&lt;lg.learning&gt;&lt;regular-expressions&gt;" AnswerCount="4" CommentCount="3" FavoriteCount="18" ContentLicense="CC BY-SA 2.5" />
  <row Id="1855" PostTypeId="2" ParentId="1848" CreationDate="2010-10-01T20:31:48.320" Score="37" Body="&lt;p&gt;Given an integer, does it have a non-trivial factor? -&gt; Non-trivially in P.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given an integer, find a non-trivial factor, if there is one -&gt; Not known to be in FP.&lt;/p&gt;&#xA;" OwnerUserId="1509" LastActivityDate="2010-10-01T20:31:48.320" CommentCount="1" CommunityOwnedDate="2010-10-01T20:31:48.320" ContentLicense="CC BY-SA 2.5" />
  <row Id="1856" PostTypeId="2" ParentId="1854" CreationDate="2010-10-01T20:53:40.640" Score="2" Body="&lt;p&gt;See also &lt;a href=&quot;https://stackoverflow.com/questions/1105779/how-do-you-normalize-a-finite-state-machine&quot;&gt;this stack overflow post.&lt;/a&gt; The book you're looking for seems to be &lt;em&gt;Introduction to the Theory of Computation&lt;/em&gt; by Michael Sipser.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You're asking a couple of different questions, so taking them one at a time:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;Is finding a minimal Finite State Machine for a language L NP-complete?&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;No it isn't. The Stack Overflow post discusses a naive n^2 algorithm for reducing an FSM to its minimal size. (Working backward from stop states, combine states that are &quot;identical&quot; in a precise sense.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Apparently (I didn't follow the link), there is an n log n algorithm to do this.&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;I have a training set of strings, how do I find the minimal FSM &#xA;that separates the good examples from the bad?&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;As you phrased it, your training set describes a &lt;em&gt;finite&lt;/em&gt; language. Finite languages trivially map to an FSM--create a linear set of states ending in a stop state for each string in your language, no looping required. Then, run the FSM minimization algorithm on the resulting machine. &lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;Is this a good way to build a classifier?&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;I wouldn't say so. Minimizing the FSM doesn't change its discriminative power--that's sort of the point. The minimal FSM accepts exactly the set of strings as any equivalent non-minimal FSM. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In general, regular expressions are unsuited for classifying novel data. For any finite training set, you will get a RE/FSM that matches only the positive examples in that set, with no ability to generalize to new data. I've never seen an approach that attempts to find an infinite regular language that matches some training corpus.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For machine learning, you'd be looking for something like a naive Bayes classifier, decision tree, neural network, or something more exotic. Russell and Norvig's &lt;em&gt;Artificial Intelligence: A Modern Approach&lt;/em&gt; is as good a place as any to find an overview of machine learning techniques (and much, much more.)  &lt;/p&gt;&#xA;" OwnerDisplayName="user1610" LastEditorUserId="-1" LastEditorDisplayName="user1610" LastEditDate="2017-05-23T12:40:09.333" LastActivityDate="2010-10-01T20:58:41.787" CommentCount="8" ContentLicense="CC BY-SA 2.5" />
  <row Id="1857" PostTypeId="2" ParentId="1854" CreationDate="2010-10-01T21:21:27.843" Score="42" Body="&lt;p&gt;Yes, it is NP-Hard.  Pitt and Warmuth &lt;a href=&quot;http://users.soe.ucsc.edu/~manfred/pubs/J22.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;showed&lt;/a&gt; that finding the smallest DFA consistent with a given sample cannot be approximated to within &lt;span class=&quot;math-container&quot;&gt;$OPT^k$&lt;/span&gt; for any constant &lt;span class=&quot;math-container&quot;&gt;$k$&lt;/span&gt;, unless &lt;span class=&quot;math-container&quot;&gt;$P = NP$&lt;/span&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Regarding the learning question: Kearns and Valiant &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=174644.174647&quot; rel=&quot;nofollow noreferrer&quot;&gt;proved&lt;/a&gt; that you can encode RSA into a DFA.  So, even if the labeled examples come from the uniform distribution, being able to generalize to future examples (also even coming from the uniform distribution) would break RSA.  Hence, we think that in the worst case, having labeled examples does not help with learning a DFA (in the PAC model).  This is one of the classic cryptographic hardness results for learning.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Both of these issues are intertwined due to what we call the &lt;a href=&quot;http://users.soe.ucsc.edu/~manfred/pubs/J9.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Occam's Razor Theorem&lt;/a&gt;.  It basically states that if we have a procedure for finding the smallest hypothesis from a given class that's consistent with a sample labeled by a hypothesis from the same class, then we can PAC learn that class.  So, given the RSA hardness result, we would expect that finding the smallest consistent DFA would be hard in general!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To add a positive learning result, Angluin &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=36889&quot; rel=&quot;nofollow noreferrer&quot;&gt;showed&lt;/a&gt; that you can learn a DFA if you get to make up your own examples, but it requires the additional power being able to ask &quot;is my current hypothesis correct?&quot;  This was also a seminal paper in learning.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To answer your other question, this is all indeed related to Kolmogorov complexity, as the learning problem &lt;a href=&quot;http://www.cs.iastate.edu/~honavar/Papers/icml99.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;becomes easier&lt;/a&gt; when the canonical representation of the target DFA has low complexity.&lt;/p&gt;&#xA;" OwnerUserId="123" LastEditorUserId="2367" LastEditDate="2019-11-10T19:31:38.963" LastActivityDate="2019-11-10T19:31:38.963" CommentCount="10" ContentLicense="CC BY-SA 4.0" />
  <row Id="1858" PostTypeId="2" ParentId="1854" CreationDate="2010-10-01T21:21:59.840" Score="14" Body="&lt;p&gt;I answer the learning-related aspects of the question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This problem seems to be called “DFA learning” in the literature.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Gold [Gol78] showed that it is NP-complete to decide, given &lt;i&gt;k&lt;/i&gt;∈ℕ and two finite sets &lt;i&gt;P&lt;/i&gt; and &lt;i&gt;N&lt;/i&gt; of strings, whether there exists a deterministic finite-state automaton (DFA) with at most &lt;i&gt;k&lt;/i&gt; states which accepts every string in &lt;i&gt;P&lt;/i&gt; and none of the strings in &lt;i&gt;N&lt;/i&gt;.  The paper [PH01] seems to discuss problems related to this motivation (there may be many more; this just came up when I tried to find relevant papers with Google).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;References&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[Gol78] E Mark Gold.  Complexity of automaton identification from given data.  &lt;em&gt;Information and Control&lt;/em&gt;, 37(3):302–320, June 1978.  &lt;a href=&quot;http://dx.doi.org/10.1016/S0019-9958(78)90562-4&quot;&gt;http://dx.doi.org/10.1016/S0019-9958(78)90562-4&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[PH01] Rajesh Parekh and Vasant Honavar.  Learning DFA from simple examples.  &lt;em&gt;Machine Learning&lt;/em&gt;, 44(1–2):9–35, July 2001.  &lt;a href=&quot;http://www.springerlink.com/content/kr2501h2442l8mk1/&quot;&gt;http://www.springerlink.com/content/kr2501h2442l8mk1/&lt;/a&gt;  &lt;a href=&quot;http://www.cs.iastate.edu/~honavar/Papers/parekh-dfa.pdf&quot;&gt;http://www.cs.iastate.edu/~honavar/Papers/parekh-dfa.pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="567" LastActivityDate="2010-10-01T21:21:59.840" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="1859" PostTypeId="2" ParentId="1848" CreationDate="2010-10-02T03:17:28.977" Score="28" Body="&lt;p&gt;Here is another example: Given a cubic graph G and a hamiltonian cycle H in G, find a different hamiltonian cycle in G. Such a cycle exists (by Smith's theorem) but, as far as I know, it is open whether it can be computed in polynomial time.&lt;/p&gt;&#xA;" OwnerUserId="1616" LastActivityDate="2010-10-02T03:17:28.977" CommentCount="0" CommunityOwnedDate="2010-10-02T03:17:28.977" ContentLicense="CC BY-SA 2.5" />
  <row Id="1861" PostTypeId="2" ParentId="152" CreationDate="2010-10-02T05:41:42.280" Score="15" Body="&lt;p&gt;The answer is &lt;strong&gt;yes&lt;/strong&gt; without any requirement on the size of the automaton. It can be computed in $O(\log^2 n)$ space even for $k$ DFAs where $k$ is a constant.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $A_i = (Q_i, \Sigma_i, \delta_i, z_i, F_i)$  ($i \in [k])$ be $k$ DFAs. We show that, given $\langle A_1, \ldots, A_k \rangle$, computing the minimal DFA recognizing $\text{L}(A_1) \cap \cdots \cap\text{L}(A_k)$ can be done in $O(\log^2 n)$ space. We first prove some technical results.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Definition 1&lt;/strong&gt;: Let $q, r$ be two states then $q \equiv r$ iff $\forall w \in \Sigma^*$, $q . w \in F \Leftrightarrow r . w \in F$ &lt;/p&gt;&#xA;&#xA;&lt;p&gt;We now consider the automaton $A$ given by the classical cartesian product construction. Let $q = (q_1, \ldots, q_k)$ and $r = (r_1, \ldots, r_k)$ be states of $A$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Lemma 1&lt;/strong&gt;: Deciding whether $q \equiv r$ is in NL.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Proof (sketch): We show that testing inequivalence is in NL and use NL = coNL. Guess a word $w \in \Sigma^*$ (one letter at the time) such that $q . w$ is a final state and $r . w$ isn't. This can be achieved by computing $q_i . w, r_i . w$ in log-space for $i \in [k]$ and using the fact that $q$ is final iff $q_i \in F_i \, \forall i \in [k]$. It can be shown that $q \not\equiv r$ implies the existence of a $w$ of poly-size.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Lemma 2&lt;/strong&gt;: Deciding whether $q$ is (in)accessible is in NL.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Proof (sketch): Guess (poly-size) paths from $z_i$ to $q_i$ ($i \in [k]$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Definition 2&lt;/strong&gt;: Consider the states of $A$ in lexicographical order. Define $s(1)$ as being the first accessible state and $s(i)$ the first accessible state following $s(i-1)$ which isn't equivalent to any previous state. We define $c(q)$ as the unique $i$ such that $q \equiv s(i)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Lemma 3&lt;/strong&gt;: $s(i)$ can be computed in $O(\log^2 n)$ space.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Proof (sketch): Definition 2 yields an algorithm. We use $k$ counters to iterate over the states. Let $j \leftarrow 0$ and $q$ be the current state. At each state, we use lemma 2 to verify if $q$ is accessible. If it is, we loop on every previous states and we verify if any of them is equivalent to $q$. If there isn't any, we increment $j$ and output $q$ if $j = i$. Otherwise, we store $q$ as being $s(j)$ and we continue. Since we only store a constant number of counters and our tests can be carried out in $\text{NL} \subseteq \text{DSPACE}(\log^2 n)$, this completes the proof.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Corollary 1&lt;/strong&gt;: $c(q)$ can be computed in $O(\log^2 n)$ space.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Theorem&lt;/strong&gt;: Minimizing $A$ can be done in $O(\log^2 n)$ space.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Proof (sketch): Let $1 \leq m \leq |Q_0| \cdots |Q_1|$ be the largest $i$ such that $s(i)$ is defined (ie. the number of classes of $\equiv$). We give an algorithm outputting an automaton $A' = (Q', \Sigma, \delta', z', F')$ where&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$Q' = \lbrace s(i) : i \in [m] \rbrace$;&lt;/li&gt;&#xA;&lt;li&gt;$F' = \lbrace q \in Q' : q_i \in F_i \, \forall i \in [k] \rbrace$;&lt;/li&gt;&#xA;&lt;li&gt;$z' = s(c(q))$ where $q = (z_0, \ldots, z_k)$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;We now show how to compute $\delta'$. For every $i \in [m], a \in \Sigma$, compute $q \leftarrow s(i) . a$ and output the transition $\left(s(i), a, s(c(q))\right)$. By lemma 3 and corollary 1, this algorithm runs in $O(\log^2 n)$ space. It can be checked that $A'$ is minimal and $\text{L}(A') = \text{L}(A)$.&lt;/p&gt;&#xA;" OwnerUserId="508" LastEditorUserId="508" LastEditDate="2013-01-14T18:55:58.910" LastActivityDate="2013-01-14T18:55:58.910" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="1862" PostTypeId="2" ParentId="1848" CreationDate="2010-10-02T07:05:00.703" Score="13" Body="&lt;p&gt;Another number theory example, similar to the ones above.  It's known by &lt;a href=&quot;http://en.wikipedia.org/wiki/Bertrand%27s_postulate&quot;&gt;Bertrand's postulate&lt;/a&gt; that for every positive integer $n$, there's a prime between $n$ and $2n$.  But we have no polynomial time algorithm currently to find such a prime, given $n$.  (The desired algorithm must run in polylog($n$) time.)  One can easily come up with polynomial time randomized algorithms because of the &lt;a href=&quot;http://en.wikipedia.org/wiki/Prime_number_theorem&quot;&gt;prime number theorem&lt;/a&gt;, and one can derandomize them by assuming some standard number theoretic conjectures (such as &lt;a href=&quot;http://en.wikipedia.org/wiki/Cram%C3%A9r%27s_conjecture&quot;&gt;Cramer's conjecture&lt;/a&gt;), but no unconditionally polynomial time deterministic algorithm is known.  Related work was recently done in the &lt;a href=&quot;http://michaelnielsen.org/polymath1/index.php?title=Finding_primes&quot;&gt;Polymath4 project&lt;/a&gt;; &lt;a href=&quot;http://terrytao.wordpress.com/2010/09/21/a-deterministic-way-to-find-primes/&quot;&gt;Tao's blog post&lt;/a&gt; on the project is a good summary of it.&lt;/p&gt;&#xA;" OwnerUserId="15" LastActivityDate="2010-10-02T07:05:00.703" CommentCount="4" CommunityOwnedDate="2010-10-02T07:05:00.703" ContentLicense="CC BY-SA 2.5" />
  <row Id="1863" PostTypeId="2" ParentId="26" CreationDate="2010-10-02T07:21:43.370" Score="4" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;The Wikipedia page says that its complexity is O(n), but I think that it is O(n log n).&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Actually, O(n log n) is a lower bound for this problem in models where sorting is O(n log n). If all permutations are equally likely then the algorithm as a function from random streams to permutations must be surjective. There are n! permutations so in something like a decision tree model there are branches of length at least O(log n!) = O(n log n).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This worst-case lower bound still works for non-uniform random generation of permutations so long as all permutations have non-zero probabilities. What changes is the average complexity. It looks like the lower bound on the average complexity in a decision tree model is the entropy of the distribution. With binary decision trees, this lower bound can only be exactly achieved when the distribution is dyadic. The extreme case is when one distinguished permutation has probability $1-\epsilon$ and everything else has equal probability. Then a lower bound on the average complexity should be $O(\epsilon)$.&lt;/p&gt;&#xA;" OwnerUserId="1435" LastEditorUserId="1435" LastEditDate="2010-10-02T10:10:03.977" LastActivityDate="2010-10-02T10:10:03.977" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1864" PostTypeId="2" ParentId="1794" CreationDate="2010-10-02T07:25:13.760" Score="15" Body="&lt;p&gt;This is moved from comments, as Suresh suggested.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you consider functions $f:{0,1}^n \rightarrow {0,1}^n$, then the situation is more involved for linear gates, because the counting argument shows that there are functions that require $\Omega(\frac{n^2}{\log(n)})$ gates to be computed, though there are no explicit examples of a function that requires circuits of superlinear size. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;b&gt;Edit.&lt;/b&gt; Also it can be shown using counting argument that most of the functions have complexity larger than $\frac{n^2}{\log(n) * c}$ for some constant $c$, so if you just select a function randomly you will get a complex function with high probability.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, as Scott Aaronson points in the comments, it's not hard to come up with candidates for linear transformations that &lt;i&gt;should&lt;/i&gt; require $\Omega(n log n)$ XOR gates (the Fourier Transform, the &quot;Sierpinski Gasket&quot; matrix...), and Bram Cohen proposed an example function that should require $\Omega(n^{3/2})$ XOR gates.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;b&gt;Edit 2.&lt;/b&gt; The main obstacle is that we don't have any methods for proving non-linear lower bounds even for linear gates, as far as I know (for linear lower bounds one can use gate elimination, that is very unlikely to give non-linear bounds). Though it looks like some methods from linear algebra really must be helpful. So coming up with candidates is nice, but some new methods are needed anyway.&lt;/p&gt;&#xA;" OwnerUserId="254" LastEditorUserId="254" LastEditDate="2010-10-04T03:05:25.020" LastActivityDate="2010-10-04T03:05:25.020" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1865" PostTypeId="2" ParentId="1847" CreationDate="2010-10-02T08:31:49.117" Score="6" Body="&lt;p&gt;(It's not an answer, but I can't comment yet) I think the above answer doesn't work, because it doesn't guarantee that the paths would be vertex disjoint. One path could use u', and the other u&quot; in G'; in G they would use the same vertex u.&lt;/p&gt;&#xA;" OwnerUserId="327" LastActivityDate="2010-10-02T08:31:49.117" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="1866" PostTypeId="1" AcceptedAnswerId="1868" CreationDate="2010-10-02T11:07:48.147" Score="4" ViewCount="276" Body="&lt;p&gt;I'm sorry if the following question seems too obvious. In fact, I oversimplified a much harder problem to this one.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider the following algorithm, where $0 &amp;lt; p \le 1$ is a constant:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;1. Halt with probability p.&#xA;2. GOTO 1.&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Obviously, the algorithm's &lt;strong&gt;expected&lt;/strong&gt; running time is $O({1 \over p})$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, assume that p is not a constant; it is drawn from a Bernoulli (0-1) distribution whose mean (=expectation) is p ($0 &amp;lt; p \le 1$):&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;1. Draw X independently from a Bernoulli distribution with mean p.&#xA;2. Halt if X=1.&#xA;3. GOTO 1.&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Can we say that the second algorithm's &lt;strong&gt;expected&lt;/strong&gt; running time is $O({1 \over p})$?&lt;/p&gt;&#xA;" OwnerUserId="1379" LastEditorUserId="186" LastEditDate="2010-10-02T13:14:11.960" LastActivityDate="2010-10-02T13:14:11.960" Title="Expected Halt Time" Tags="&lt;ds.algorithms&gt;&lt;pr.probability&gt;" AnswerCount="1" CommentCount="10" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="1867" PostTypeId="2" ParentId="26" CreationDate="2010-10-02T11:48:12.490" Score="3" Body="&lt;p&gt;In TCS, we consider -- if not stated otherwise explicitly -- complexity on a Turing Machine. While this is fine for theoretical purposes, results are not very helpful in practice since we do implement different machine models (that is, finite approximations) in hardware. It is therefore a feasible question to ask for complexity on those models. For example, we typically assume that register machines (similar to real CPUs) can perform atomic operations on two registers in constant time -- this is what might have been employed here.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In short: You think in terms of TMs, the article authors in terms of RMs. You are both right.&lt;/p&gt;&#xA;" OwnerUserId="1546" LastActivityDate="2010-10-02T11:48:12.490" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1868" PostTypeId="2" ParentId="1866" CreationDate="2010-10-02T12:02:57.583" Score="8" Body="&lt;p&gt;I'm not exactly sure why you say the distribution in step 1 is Bernoulli. It actually doesn't matter if all you care about is the expected running time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $P_i$ be the random variable whose value is the halting probability in step $i$ and let $T$ be the running time. The expected running time is then&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\mathbb{E}[T] = \sum n\ (1 - P_1) \cdots (1 - P_{n-1})\ P_n$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Despite being an expected value, it's still a random variable! To flatten the last layer of randomness, you must hit it one last time with the expectation operator:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\mathbb{E}[\mathbb{E}[T]] = \sum n\ \mathbb{E}[(1 - P_1) \cdots (1 - P_{n-1})\ P_n]$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is as far as we can go without making any assumptions. If the $P_i$ are IID then expectation is multiplicative, so let us assume they are:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\mathbb{E}[\mathbb{E}[T]] = \sum n\ (1 - p)^{n-1} p,$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where $p = \mathbb{E}[P_1] = \mathbb{E}[P_2] = \cdots$. This is the expected waiting time of a Bernoulli process with probability $p$, which indeed equals $1/p$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The moral is that everything flattens in a trivial way with nested expectation values of independent variables.&lt;/p&gt;&#xA;" OwnerUserId="1435" LastEditorUserId="1435" LastEditDate="2010-10-02T12:39:42.930" LastActivityDate="2010-10-02T12:39:42.930" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="1870" PostTypeId="2" ParentId="1794" CreationDate="2010-10-02T14:43:32.720" Score="25" Body="&lt;p&gt;(Moved from comments as Suresh suggested.  Note some errors in the comment are fixed here.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks to Scott for a great question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Scott seems to suggest that the reason for the difficulty of lower bounds may be the restricted language of operations in the Boolean case.  Shannon's counting argument that shows most circuits must be large relies on the gap between countable expressive power and uncountably many circuits.  This gap seems to go away when the alphabet has at least 3 symbols.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For alphabet size 2 (the Boolean case), the lattice of clones is countably infinite, and is called &lt;a href=&quot;http://en.wikipedia.org/wiki/Post%27s_lattice&quot; rel=&quot;nofollow noreferrer&quot;&gt;Post's lattice&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://upload.wikimedia.org/wikipedia/commons/thumb/1/19/Post-lattice.svg/500px-Post-lattice.svg.png&quot; alt=&quot;Post&amp;#39;s lattice image from Wikipedia&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Post's lattice also makes clear why there are only a few interesting bases of operations for the Boolean case.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For alphabet size 3 or greater the lattice of clones is uncountable.  Further, the lattice does not satisfy any nontrivial lattice identity, so it seems impossible to provide a complete description of the lattice.  For alphabet size 4 or greater the lattice of clones actually contains every finite lattice as a sublattice.  So there are infinitely many possibly interesting bases of operations to consider when the alphabet has 3 or more symbols.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Bulatov, Andrei A.,&#xA;&lt;em&gt;Conditions satisfied by clone lattices&lt;/em&gt;,&#xA;Algebra Universalis&#xA;&lt;strong&gt;46&lt;/strong&gt;&#xA;237–241,&#xA;2001.&#xA;doi: &lt;a href=&quot;http://dx.doi.org/10.1007/PL00000340&quot; rel=&quot;nofollow noreferrer&quot;&gt;10.1007/PL00000340&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Scott asked further: does the lattice of clones remain uncountable if we assume constants are available for free?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The answer is that it does, see for instance&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Gradimir Vojvodić,&#xA;Jovanka Pantović, and&#xA;Ratko Tošić,&#xA;&lt;em&gt;The number of clones containing an unary function&lt;/em&gt;,&#xA;NSJOM&#xA;&lt;strong&gt;27&lt;/strong&gt;&#xA;83–87,&#xA;1997.&#xA;(&lt;a href=&quot;http://www.emis.ams.org/journals/NSJOM/Papers/27_2/NSJOM_27_2_083_087.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;PDF&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;li&gt;J. Pantović, R. Tošić, and G. Vojvodić,&#xA;&lt;em&gt;The cardinality of functionally complete algebras on a three element set&lt;/em&gt;,&#xA;Algebra Universalis&#xA;&lt;strong&gt;38&lt;/strong&gt;&#xA;136–140,&#xA;1997.&#xA;doi: &lt;a href=&quot;http://dx.doi.org/10.1007/s000120050042&quot; rel=&quot;nofollow noreferrer&quot;&gt;10.1007/s000120050042&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;although apparently this was published earlier:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Ágoston, I., Demetrovics, J., and Hannák, L.&#xA;&lt;em&gt;On the number of clones containing all constants&lt;/em&gt;,&#xA;Coll. Math. Soc. János Bolyai&#xA;&lt;strong&gt;43&lt;/strong&gt;&#xA;21–25,&#xA;1983.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;A nice specific statement is from:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;A. Bulatov, A. Krokhin, K. Safin, and E. Sukhanov,&#xA;&lt;em&gt;On the structure of clone lattices&lt;/em&gt;,&#xA;In: &quot;General Algebra and Discrete Mathematics&quot;,&#xA;editors: K. Denecke and O. Lueders,&#xA;27–34. &#xA;Heldermann Verlag, Berlin,&#xA;1995.&#xA;(&lt;a href=&quot;http://www.cs.sfu.ca/~abulatov/papers/struct1.ps&quot; rel=&quot;nofollow noreferrer&quot;&gt;PS&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Corollary 3&lt;/strong&gt; (attributed to Ágoston et al. as above): Let $k \ge 3$.  Then the number of clones in $\mathcal{L}_k$ containing all constants is $2^{\aleph_0}$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;To wrap up, I am not aware of any work on using non-Boolean clones for circuit lower bounds.  This seems worth investigating in more depth.  Given the relatively little that is known about the lattice of clones, there may be interesting bases of operations waiting to be discovered.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More links between clone theory and computer science would probably also be of great interest to mathematicians working in universal algebra.  A previous example of this kind of interaction came about when Peter Jeavons showed that algebras could be associated with constraint languages, in a way that allows tractability results to be translated into properties of the algebra.  Andrei Bulatov used this to prove the dichotomy for CSPs with domain size 3.  Going the other way, there has been a revival in interest in tame congruence theory as a result of the computer science application.  I wonder what would follow from a link between clone theory and non-Boolean circuit complexity.&lt;/p&gt;&#xA;" OwnerUserId="109" LastEditorUserId="-1" LastEditDate="2017-03-09T18:04:14.347" LastActivityDate="2010-10-03T15:15:43.533" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="1871" PostTypeId="2" ParentId="1580" CreationDate="2010-10-02T15:14:41.043" Score="13" Body="&lt;p&gt;If &quot;unbalanced expanders&quot; count as expanders for the purpose of this question (an unbalanced expander: a bipartite graph $G=(A,B,E)$, such that for every subsets $A'\subseteq A$, $B'\subseteq B$, the fraction of edges between $A'$ and $B'$ is about ${|A'||B'|}/{|A||B|}$), then yes, many problems on expanders (e.g., constraint satisfaction problems) are NP-hard to approximate.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In particular, the proof of the two-query, low error, PCP Theorem [with Ran Raz in 2008] constructs expander graphs.    &lt;/p&gt;&#xA;" OwnerUserId="1621" LastActivityDate="2010-10-02T15:14:41.043" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="1872" PostTypeId="2" ParentId="1844" CreationDate="2010-10-02T15:54:07.303" Score="6" Body="&lt;p&gt;Many problems in computer vision are naturally expressed as &lt;a href=&quot;http://en.wikipedia.org/wiki/Constraint_satisfaction&quot;&gt;constraint satisfaction problems&lt;/a&gt;.  There is a history going back several decades of applying constraint programming to such problems.  One of the key early papers in constraint satisfaction was completely motivated by problems from computer vision.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Ugo Montanari, &lt;em&gt;Networks of constraints: Fundamental properties and applications to picture processing&lt;/em&gt;, Information Sciences &lt;strong&gt;7&lt;/strong&gt; 95–132, 1974. doi: &lt;a href=&quot;http://dx.doi.org/10.1016/0020-0255%2874%2990008-5&quot;&gt;10.1016/0020-0255(74)90008-5&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;See this book for a recent overview of the application of constraints to particular problems in computer vision.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Martin Cooper, Line Drawing Interpretation. Springer-Verlag, 2008. &lt;a href=&quot;http://www.springer.com/book/978-1-84800-228-9&quot;&gt;(publisher's site)&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;If you really do want SAT and would like to avoid constraint satisfaction, then you can translate the constraint formulation into SAT, either manually or using an automated translation tool like &lt;a href=&quot;http://bach.istc.kobe-u.ac.jp/sugar/&quot;&gt;Sugar&lt;/a&gt;.  Note that Chapter 2 of the recent &lt;a href=&quot;http://www.st.ewi.tudelft.nl/sat/handbook/&quot;&gt;Handbook of Satisfiability&lt;/a&gt; claims that it is common to first express one's problem as a constraint satisfaction problem, and only then to translate this formulation to SAT.  So constraint satisfaction should probably be considered even when one wants to work with SAT.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is one big advantage of staying within a more expressive paradigm.  The constraint satisfaction framework allows the use of interval and numeric constraints.  These often occur in computer vision, but can lead to SAT instances that are infeasibly large.  Specialised constraint solvers may be greatly preferable to SAT solvers in such cases.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(A final aside: I have heard that the computer vision community tends not to be aware of constraint satisfaction approaches, and that this has led to the reinvention of well-known constraints techniques and results.  I do not know if this is a correct assessment, but if it is, then it would be worth translating constraints results to the terminology and specific concerns of computer vision.)&lt;/p&gt;&#xA;" OwnerUserId="109" LastEditorUserId="109" LastEditDate="2010-10-02T18:42:36.097" LastActivityDate="2010-10-02T18:42:36.097" CommentCount="2" CommunityOwnedDate="2010-10-02T15:54:07.303" ContentLicense="CC BY-SA 2.5" />
  <row Id="1873" PostTypeId="1" AcceptedAnswerId="1874" CreationDate="2010-10-02T16:20:25.947" Score="20" ViewCount="624" Body="&lt;p&gt;Let $f \colon \lbrace 0,1 \rbrace ^ n \to (2^{-n},1]$ be a function. We want to estimate the average of $f$; that is: $\mathbb{E}[f(n)]=2^{-n}\sum_{x\in \lbrace 0,1 \rbrace ^ n}f(x)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;code&gt;NOTE: In the OP, the range of f was [0,1]. I changed this a bit for technical reasons. (This should simplify the problem; if not, forget it!)&lt;/code&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $E$ be the (randomized) estimator algorithm. Assume that $E$ has black-box access to $f$. We denote this by $E^f$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are two conditions:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;1) Estimator's running time:&lt;/strong&gt; There exists a single polynomial $p(\cdot)$ such that for all $n$ and all $f$, the running time of the $E^f(1^n)$ is bounded by $\frac{p(n)}{\mathbb{E}[f(n)]}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;2) Estimator's precision with confidence $\delta$:&lt;/strong&gt; There exists a single polynomial $q(\cdot)$, such that for all $n$ and all $f$, we have ${1 \over {q(n)}} &amp;lt; \frac{E^f(1^n)}{\mathbb{E}[f(n)]} &amp;lt; q(n)$ with probability at least $\delta$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;code&gt;NOTE: The confidence δ was not in the OP. The parameter δ is in (0,1), and may depend on n. For instance, it may be 1-1/2^n.&lt;/code&gt;&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Do such estimators exist?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;h3&gt;Background and Motivation&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;I did not mention my motivation at the beginning since it requires a great deal of background knowledge. Anyway, for the enthusiasts, I describe it briefly: The need for such estimators arise in the context of &quot;Proofs of Ability,&quot; as defined in the following article:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://cseweb.ucsd.edu/users/mihir/papers/poa.ps&quot; rel=&quot;nofollow&quot;&gt;Mihir Bellare, Oded Goldreich. &lt;em&gt;Proving Computational Ability&lt;/em&gt;, 1992. Unpublished Manuscript.&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Specifically, at the bottom of page 5, the authors &lt;strong&gt;implicitly&lt;/strong&gt; assumed the existence of such estimators (There's no mention of precision, and the running time is not precisely defined; yet the context clearly defines everything.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My first attempt was to read &quot;&lt;a href=&quot;http://www.wisdom.weizmann.ac.il/~oded/PS/sampler.ps&quot; rel=&quot;nofollow&quot;&gt;A Sample of Samplers---A Computational Perspective on Sampling&lt;/a&gt;.&quot; It pertains to a very similar problem, yet the error probability defined is additive, while ours is multiplicative. (I didn't fully read the paper, maybe it mentions what I need somewhere.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT (as per Tsuyoshi's request):&lt;/strong&gt; In fact, the definition of &quot;Proofs of Computational Ability&quot; requires the existence of a &quot;knowledge extractor&quot; whose (expected) running time is $p(n) \over E[f(n)]$. Since we don't know $E[f(n)]$, we want to estimate it; yet this must not change the running time considerably: it should change it up to a polynomial factor. The precision condition tries to capture such requirement.&lt;/p&gt;&#xA;" OwnerUserId="873" LastEditorUserId="206" LastEditDate="2010-10-11T19:19:43.640" LastActivityDate="2011-09-13T02:18:55.893" Title="Estimating Average in Polynomial Time" Tags="&lt;ds.algorithms&gt;&lt;randomized-algorithms&gt;&lt;black-box&gt;" AnswerCount="2" CommentCount="10" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="1874" PostTypeId="2" ParentId="1873" CreationDate="2010-10-02T16:56:26.890" Score="15" Body="&lt;p&gt;EDIT: This solves the version of the problem where f only outputs 0 or 1. But I think the solution can be adapted to make it work for the more general case.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Maybe I misunderstood the question, but this doesn't look too hard.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Instead of estimating, the average, let's think of estimating the number of 1s, and call that number k. Let $N = 2^n$. So the average is k/N. You want to estimate this within a polynomial multiplicative factor in time O(N polylog(N)/k).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think this can be done to within any constant multiplicative factor too. For example, let's say you want to estimate this to within a factor of 2. So the output $k&amp;#39;$ of the algorithm will be between k/2 and 2k.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'll sketch an algorithm, which should have the appropriate running time. First check if k is between N/2 and N. This is easy, just sample a few random values and if you get more than half 1s, then it's in this interval. So you have a 2-approximation. If not, then check if it is between N/4 and N/2. And so on. Every time you make the interval smaller, it is more costly to estimate whether k lies in that range. But the cost is inversely proportional to how small the interval is.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, if you are checking if k is between $N/2^q$ and $2N/2^q$, then you need to make about $O(2^q)$ queries. Anyway, after repeating this procedure enough times, you should get the interval in which k lies. Say k lies between $N/2^q$ and $2N/2^q$. Then k is approximately $N/2^q$. So $2^q$ is about k/N. So in this step we would spend O(k/N) queries. But getting to this step required q other steps, but that's just an extra polylog(N) factor. So the overall running time is O(N polylog(N)/k), for a 2-approximation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(One would actually have to do error amplification to get decent precision in each step. But that's only an extra polylog factor.)&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;The reason I like to think of it in this several stage process is that it highlights the process as a guess and check precedure. If someone told you $k$ is between $N/2^q$ and $2n/2^q$, then you could estimate it to even better precision knowing this fact, in the promised time bound. So we need to eliminate the step of being given a guess for $k$. This is done by binary searching over all possible intervals of that type.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To make this work for the case of non-boolean outputs, instead of counting the number of 1s, just sum the values seen. I'll try to find a reference to show that this works rigorously.&lt;/p&gt;&#xA;" OwnerUserId="206" LastEditorUserId="873" LastEditDate="2011-09-13T02:18:55.893" LastActivityDate="2011-09-13T02:18:55.893" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="1875" PostTypeId="2" ParentId="1848" CreationDate="2010-10-02T17:20:31.743" Score="15" Body="&lt;p&gt;One more example; The Subset-sums equality: Given $a_1,a_2,a_3,...,,a_n$ natural numbers with  $\sum_1^n{a_i} \lt 2^n -1$. The pigeon-hole principle guarantees the existence of two subsets $I, J$ in ${1,2,..., n}$ such that $\sum_{i\in I} a_i=\sum_{j \in J} a_j$ (since the are more subsets than possible sums). The existence of polynomial time algorithm for finding sets $I$ and $J$ is a famous open problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://garden.irmacs.sfu.ca/?q=op/theoretical_computer_science/subset_sums_equality&quot;&gt;Subset-sums equality (pigeonhole version)&lt;/a&gt;&#xA;&lt;a href=&quot;http://garden.irmacs.sfu.ca/?q=op/theoretical_computer_science/subset_sums_equality&quot;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2010-10-02T17:28:10.677" LastActivityDate="2010-10-02T17:28:10.677" CommentCount="0" CommunityOwnedDate="2010-10-02T17:20:31.743" ContentLicense="CC BY-SA 2.5" />
  <row Id="1876" PostTypeId="1" AcceptedAnswerId="2496" CreationDate="2010-10-02T19:12:50.513" Score="11" ViewCount="397" Body="&lt;p&gt;In section 2.2 of &lt;a href=&quot;http://erikdemaine.org/papers/CacheObliviousBTrees_SICOMP/&quot; rel=&quot;nofollow&quot;&gt;Cache-Oblivious B-Trees&lt;/a&gt;, &lt;em&gt;Strongly Weight-Balanced Search Trees&lt;/em&gt; are defined as:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;For some constant $d$, every node $v$ at height $h$ has $\Theta(d^h)$ descendants.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;They claim:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Search trees that satisfy Properties 1 and 2 include weight-balanced B-trees,&#xA;  deterministic skip lists, and skip lists in the expected sense.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Other papers also claim that deterministic skip lists are strongly weight-balanced, including &lt;a href=&quot;http://people.csail.mit.edu/jfineman/cobtree.pdf&quot; rel=&quot;nofollow&quot;&gt;Concurrent Cache-Oblivious B-Trees&lt;/a&gt; and &lt;a href=&quot;http://people.csail.mit.edu/jfineman/sbtree.pdf&quot; rel=&quot;nofollow&quot;&gt;Cache-Oblivious Streaming B-trees&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I can't figure out why deterministic skip lists have this property. The &lt;a href=&quot;http://scholar.google.com/scholar?cluster=6642479522143429791&quot; rel=&quot;nofollow&quot;&gt;original paper on deterministic skip-lists&lt;/a&gt; notes that&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;As we see from Fig. 1, there exists a one-to-one correspondence between 1-2 skip lists and 2-3 trees.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;It seems to me, however, that 2-3 trees are not strongly weight-balanced, since a node at height $h$ can have anywhere from $2^h$ to $3^h$ descendants.&lt;/p&gt;&#xA;" OwnerUserId="43" LastEditorUserId="43" LastEditDate="2010-10-02T19:44:27.407" LastActivityDate="2010-10-27T00:52:45.617" Title="Strongly weight-balanced deterministic skip lists" Tags="&lt;ds.data-structures&gt;&lt;skip-lists&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="1877" PostTypeId="2" ParentId="1848" CreationDate="2010-10-02T21:33:26.433" Score="11" Body="&lt;p&gt;At the risk of being slightly off-topic, let me give a simple and natural example of a &lt;a href=&quot;https://cstheory.stackexchange.com/q/1521/74&quot;&gt;theory C&lt;/a&gt; answer: Eulerian cycles and distributed algorithms.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The decision problem is not &lt;em&gt;completely&lt;/em&gt; trivial, in the sense that there are are both Eulerian and non-Eulerian graphs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is, however, a fast and simple distributed algorithm that solves the decision problem (in the sense that for yes-instances all nodes output &quot;1&quot; and for no-instances at least one node outputs &quot;0&quot;): each node just checks the parity of its own degree and outputs 0 or 1 accordingly.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But if you would like to &lt;em&gt;find&lt;/em&gt; a Eulerian cycle (in the sense that each node outputs the structure of the cycle in its own neighbourhood), then we need essentially global information on the graph. It shouldn't be hard to come up with a pair of examples that shows that the problem requires $\Omega(n)$ communication rounds; on the other hand, $O(n)$ rounds is enough to solve any problem (assuming unique IDs).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In summary: $O(1)$-time decision problem, $\Theta(n)$-time search problem, and this is the worst possible gap.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Edit:&lt;/em&gt; This implicitly assumes that the graph is connected (or, equivalently, that we want to find an Eulerian cycle in each connected component).&lt;/p&gt;&#xA;" OwnerUserId="74" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2010-10-02T22:38:01.020" CommentCount="3" CommunityOwnedDate="2010-10-02T21:33:26.433" ContentLicense="CC BY-SA 2.5" />
  <row Id="1878" PostTypeId="2" ParentId="1848" CreationDate="2010-10-02T22:52:22.423" Score="18" Body="&lt;p&gt;Let $G=G(n,1/2)$, the random graph on $1,\ldots,n$, in which each edge is independently present with probability $1/2$. Choose $n^{1/3}$ vertices of $G$ uniformly at random and add all edges between them; call the resulting graph $H$. Then $H$ has a clique of size $n^{1/3}$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Search problem: find a clique of size at least $10\log n$. &lt;/p&gt;&#xA;" OwnerDisplayName="user1624" LastActivityDate="2010-10-02T22:52:22.423" CommentCount="4" CommunityOwnedDate="2010-10-02T22:52:22.423" ContentLicense="CC BY-SA 2.5" />
  <row Id="1879" PostTypeId="1" AcceptedAnswerId="1880" CreationDate="2010-10-02T23:45:08.793" Score="12" ViewCount="750" Body="&lt;p&gt;Let $S=${$0,...,n-1$} and $\circ : S \times S \rightarrow S$. I want to compute the communication complexity of deciding whether $\circ$ is associative.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The model is the following. $\circ$ is given as a matrix $M$. Alice (resp. Bob) is given half the entries of the matrix at random (same for Bob). I want to compute the worst case number of entries that Alice must send to Bob so that Bob can decide on the associativity of $\circ$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In fact, it is simple to reduce the problem of deciding the equality of two bit strings of size $\Omega(n)$ to the problem of deciding the associativity of $\circ$ over $S$. This means that the communication complexity of the associativity is lower bounded by $\Omega(n)$. However, I suspect that this LB is not tight. Being defined on an input of size $n^{2}$, I would have prefer to find a communication complexity of $\Omega(n^{2})$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a known result on this problem ? Is the answer is $n^{2}$ for an obvious reason I am not seeing ?&lt;/p&gt;&#xA;" OwnerUserId="76" LastEditorUserId="-1" LastEditDate="2013-04-30T03:39:24.203" LastActivityDate="2013-04-30T03:39:24.203" Title="Communication complexity for deciding associativity" Tags="&lt;cc.complexity-theory&gt;&lt;communication-complexity&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="1880" PostTypeId="2" ParentId="1879" CreationDate="2010-10-03T00:56:12.930" Score="10" Body="&lt;p&gt;There are $n^{n^2}$ binary operations on $S$. The question is how many of them are associative. Kleitman, Rothschild and Spencer give an asymptotic counting formula for this problem in their paper &lt;a href=&quot;http://www.jstor.org/pss/2041879&quot;&gt;The number of semigroups of order $n$&lt;/a&gt;. It has a relatively simple form in what they call the &quot;non-rare instances&quot; where the peak of $f(t)$ dominates so the other terms can be neglected without affecting the asymptotics. You should be able to give a lower bound for your question by cranking through the math with this formula.&lt;/p&gt;&#xA;" OwnerUserId="1435" LastActivityDate="2010-10-03T00:56:12.930" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="1881" PostTypeId="1" CreationDate="2010-10-03T02:37:25.057" Score="4" ViewCount="689" Body="&lt;p&gt;The Kempf-Ness theorem (see e.g. &lt;a href=&quot;http://arxiv.org/abs/0912.1132&quot; rel=&quot;nofollow noreferrer&quot;&gt;arXiv:0912.1132&lt;/a&gt;) - that the algebraic quotient of geometric invariant theory is also a symplectic quotient - suggests (to me) that certain physical constructions used to compute equivariant cohomologies might be useful to Mulmuley et al's geometric complexity theory. Edward Witten is the wellspring of these ideas and his latest paper (&lt;a href=&quot;http://arxiv.org/abs/1009.6032&quot; rel=&quot;nofollow noreferrer&quot;&gt;arXiv:1009.6032&lt;/a&gt;) continues to develop them. My main concern is that they might not carry across to the objects of interest to complexity theory (e.g. the &quot;class varieties&quot; of &lt;a href=&quot;http://arxiv.org/abs/cs/0612134&quot; rel=&quot;nofollow noreferrer&quot;&gt;arXiv:cs/0612134&lt;/a&gt;). But the power of the quantum techniques, and the diversity of approaches possible within GCT, leads me to keep looking... &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Cross-posted to &lt;a href=&quot;https://mathoverflow.net/questions/40897/is-wittens-new-method-of-quantization-useful-for-geometric-complexity-theory&quot;&gt;Math Overflow&lt;/a&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit: I have added some details at MO. What I need next is a much better understanding of the specific unproven propositions of algebraic geometry which GCT has already flagged as important. For example, I don't yet get the relationship between, on the one hand, nonstandard quantum groups and the &quot;plethysm problem&quot;, and on the other hand, the Valiant-inspired approach which looks at the orbit closure of permanents and determinants. &lt;/p&gt;&#xA;" OwnerUserId="1630" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.530" LastActivityDate="2010-10-04T05:13:24.980" Title="Is Witten's new method of quantization useful for geometric complexity theory?" Tags="&lt;complexity-classes&gt;&lt;algebra&gt;&lt;gct&gt;" AnswerCount="0" CommentCount="14" FavoriteCount="1" ClosedDate="2010-10-03T12:14:49.903" ContentLicense="CC BY-SA 2.5" />
  <row Id="1883" PostTypeId="2" ParentId="1772" CreationDate="2010-10-03T04:12:02.260" Score="16" Body="&lt;p&gt;Here's another idea I had for a geometric proof. It uses projective geometry in an essential way.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $c \in \mathbb F^m$ be an affine point outside the hypersurface $S$. Project the hypersurface onto the hyperplane at infinity using $c$ as center; that is, map every $x \in S$ onto $p(x)$, the intersection of the unique line through $c$ and $x$ with the hyperplane at infinity. The preimages under $p$ of a point at infinity all lie on the same line, and therefore (again reducing the problem to dimension 1) there are most $d$ of them. The hyperplane at infinity has cardinality $|\mathbb F^{m-1}|$, so we get the familiar upper bound $|S| \leq d\ |\mathbb F^{m-1}|$.&lt;/p&gt;&#xA;" OwnerUserId="1435" LastActivityDate="2010-10-03T04:12:02.260" CommentCount="9" ContentLicense="CC BY-SA 2.5" />
  <row Id="1885" PostTypeId="1" CreationDate="2010-10-03T05:17:27.803" Score="37" ViewCount="2928" Body="&lt;p&gt;This problem is inspired by &lt;a href=&quot;https://mathoverflow.net/questions/27075/what-is-the-oldest-open-problem-in-mathematics&quot;&gt;this MO question&lt;/a&gt;, which I thought was very interesting.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What is the oldest open problem in TCS? &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Clearly this question needs some clarification. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;First, what is TCS?  I think the existence of odd perfect numbers is not TCS. I would say that &lt;a href=&quot;http://en.wikipedia.org/wiki/Hilbert%27s_tenth_problem&quot; rel=&quot;nofollow noreferrer&quot;&gt;Hilbert's tenth problem&lt;/a&gt; is TCS. I think problems like &quot;Can we construct X with a ruler and compass&quot; are also TCS, since they are asking for an algorithm in a restricted model of computation. There may be no rigorous way to define what a TCS problem is, but use your judgment. Perhaps one test is &quot;If this gets solved, would it most likely appear in STOC/FOCS? Would the researcher who solved it most likely be a theoretical computer scientist?&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Second, what is &quot;oldest&quot;? I mean oldest by date. The stated date should also be verifiable, but I don't think this should be too hard. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Third, what is an &quot;open problem&quot;? By &quot;open problem&quot;, I mean a problem that was specifically considered open at some time. Perhaps it appeared at the end of a paper in the open problems section, or maybe there is evidence that some people worked on it and failed, or maybe there are incorrect proofs in the literature, which suggest that it has been studied. An example of something that doesn't fit this criteria: &quot;The greeks studied objects X and Y. Z is clearly an intermediate object, surely they wondered if it can be constructed.&quot; If there's no literature on Z from that time period, then it is not an open problem from that time period.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Fourth, what do I mean by &quot;problem&quot;? I mean a specific &quot;yes/no&quot; question, and not something like &quot;Characterize all the objects X with property Y&quot;, because such questions often do not have a satisfactory answer. Quite often there will be disagreement as to whether the question has been resolved. Let's not get into such questions here. If it is not a yes/no question, but it is clear that it is really open, that's fine too. (In case this isn't clear, by &quot;problem&quot; I mean a formally stated problem. Please do not convert some folk legend about gambling in the 16th century to a question about BPP and PSPACE.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Lastly, since this is not a big-list question, please post an answer only if you think it is older than the answers already posted (or if you think the answers posted do not satisfy some other condition -- like they are not TCS, or they are not open). This isn't an indiscriminate collection of old open problems. &lt;/p&gt;&#xA;" OwnerUserId="206" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2012-06-04T07:44:17.307" Title="What is the oldest open problem in TCS?" Tags="&lt;soft-question&gt;&lt;open-problem&gt;&lt;ho.history-overview&gt;" AnswerCount="7" CommentCount="16" FavoriteCount="7" ContentLicense="CC BY-SA 2.5" />
  <row Id="1886" PostTypeId="1" AcceptedAnswerId="1900" CreationDate="2010-10-03T06:08:09.603" Score="11" ViewCount="642" Body="&lt;p&gt;I'm beginning my studies of algorithmic game theory, and it seems that the equilibrium concept usually taken is that of a fixed point in a graph. However, have people looked at alternative equilibrium concepts, such as limit cycles? I can imagine that a &quot;tight&quot; limit cycle - that is, a cycle in the graph of very small length - could be considered something that's &quot;close&quot; to the standard definition of equilibrium.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I've tried digging around Google Scholar, but to little avail. &lt;/p&gt;&#xA;" OwnerUserId="170" LastActivityDate="2011-05-04T06:57:30.940" Title="Algorithmic game theory - nonstandard equilibrium concepts?" Tags="&lt;gt.game-theory&gt;" AnswerCount="5" CommentCount="0" FavoriteCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="1887" PostTypeId="2" ParentId="1886" CreationDate="2010-10-03T06:47:15.450" Score="4" Body="&lt;p&gt;This is probably not what you're looking for, but it's possible to define an approximate Nash equilibrium where the goal is to find states so that the player utilities are close to that defined by the Nash equlibrium. &lt;a href=&quot;http://agtb.wordpress.com/2009/06/07/approximate-nash/&quot; rel=&quot;nofollow&quot;&gt;Noam Nisan has a nice post on this&lt;/a&gt; (and since he hangs out here sometimes, he'll likely have a better answer for you). &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2010-10-03T06:47:15.450" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1888" PostTypeId="2" ParentId="1886" CreationDate="2010-10-03T07:30:54.720" Score="15" Body="&lt;p&gt;You may be looking for something like Sink Equilibria (start from e.g. &lt;a href=&quot;http://arxiv.org/abs/0902.0382&quot; rel=&quot;nofollow&quot;&gt;http://arxiv.org/abs/0902.0382&lt;/a&gt; ) -- but the cycle length is not considered.&lt;/p&gt;&#xA;" OwnerUserId="42" LastActivityDate="2010-10-03T07:30:54.720" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="1889" PostTypeId="1" CreationDate="2010-10-03T07:32:53.170" Score="-1" ViewCount="462" Body="&lt;p&gt;One common application is for use with automatic mode cameras. They can recognize the scene categories and then adjust the camera parameters to take the best shot of the scene.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am wondering what the other applications of scene recognition might be. Any pointers would be helpful.&lt;/p&gt;&#xA;" OwnerUserId="416" LastEditorUserId="416" LastEditDate="2010-10-03T08:20:46.747" LastActivityDate="2010-10-03T10:10:25.990" Title="What are the applications of scene recognition algorithms?" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;" AnswerCount="1" CommentCount="4" ClosedDate="2010-10-03T14:43:42.970" ContentLicense="CC BY-SA 2.5" />
  <row Id="1890" PostTypeId="2" ParentId="1885" CreationDate="2010-10-03T09:21:18.517" Score="9" Body="&lt;p&gt;In our country's literature, there's a saying, which I literally translate as &quot;The riddle becomes easy when it is solved.&quot; Though not a good translation, it refers to the fact that when you have the solution, you can easily verify it; yet before that, the riddle seems very hard.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This refers to the now-famous &quot;FP vs. FNP&quot; problem: If FNP=FP, verification of the answer to the riddle is as easy as finding it. Yet if FNP≠FP, then there exists &quot;riddles&quot; for which finding a solution is much harder than verifying the solution.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I believe this problem is the oldest TCS open problem, yet it's rigorous formulation dates back to just about 30 years ago!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;code&gt;There seems to be a similar (yet somehow different!) proverb in the English language: &quot;It's easy to be wise after the event&quot; or &quot;It's easy to be smart after the fact.&quot;&lt;/code&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT:&lt;/strong&gt; &quot;Can we factor numbers in poly-time&quot; is another TCS open-problem, yet I think it is younger than the problem mentioned above.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here's two list of TCS open-problems on the web:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.c2.com/cgi/wiki?OpenProblemsInComputerScience&quot;&gt;http://www.c2.com/cgi/wiki?OpenProblemsInComputerScience&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://garden.irmacs.sfu.ca/?q=category/theoretical_computer_science&quot;&gt;http://garden.irmacs.sfu.ca/?q=category/theoretical_computer_science&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;We also have such a list here on CSTheory.&lt;/p&gt;&#xA;" OwnerUserId="873" LastEditorUserId="873" LastEditDate="2010-10-03T09:29:25.197" LastActivityDate="2010-10-03T09:29:25.197" CommentCount="10" ContentLicense="CC BY-SA 2.5" />
  <row Id="1891" PostTypeId="2" ParentId="1889" CreationDate="2010-10-03T10:10:25.990" Score="3" Body="&lt;p&gt;The classic application of scene recognition algorithms is the classify the image content into semantically meaningful entities in order to understand the image content. Then one could use content-based indexing to categorise the images for latter retrieval. Imagine a google for images which is not based on the name of the image and the context in which the images is found (such as page it's on and the tags), but rather based on the image content.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One older reference is A. Vailaya, M. Figueiredo, A. Jain and H.-J. Zhang, &lt;a href=&quot;http://dx.doi.org/10.1109/83.892448&quot; rel=&quot;nofollow&quot;&gt;Image classification for content-based indexing&lt;/a&gt;, IEEE Trans. Image Processing, 10(1):117-130, 2001.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Being able to recognise images has applications for automatic tour guides too. For instance, this &lt;a href=&quot;http://ipal.i2r.a-star.edu.sg/doc/publications/lim07_ICME_scene.pdf&quot; rel=&quot;nofollow&quot;&gt;paper&lt;/a&gt; explores such a scenario: see the Eiffel tower, your camera phone will give you information about the Eiffel tower.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another one is &lt;a href=&quot;http://www.pptsearch.net/real-time-scene-recognition-for-lost-robot-localization.html&quot; rel=&quot;nofollow&quot;&gt;&lt;em&gt;Lost Robot Localization&lt;/em&gt;&lt;/a&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are undoubtedly many more applications, if you do some reference/citation chasing from these papers.&lt;/p&gt;&#xA;" OwnerUserId="77" LastActivityDate="2010-10-03T10:10:25.990" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1892" PostTypeId="2" ParentId="1298" CreationDate="2010-10-03T13:01:04.137" Score="26" Body="&lt;p&gt;Like many complexity-class separations, our best guess is that the answer is that BPP^{HSP} != BQP, but we can only prove this rigorously relative to oracles.  This separation was observed by Scott Aaronson in this &lt;a href=&quot;http://scottaaronson.com/blog/?p=114&quot;&gt;blog post&lt;/a&gt;&#xA;where he observed that the &lt;a href=&quot;http://www.arxiv.org/abs/quant-ph/0209131&quot;&gt;welded-tree speedup of Childs, Cleve, Deotto, Farhi, Gutmann and Spielman&lt;/a&gt; was not contained in SZK.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, BPP^{HSP} &lt;em&gt;is&lt;/em&gt; contained in SZK, at least if the goal is to determine the size of the hidden subgroup.  This includes even the abelian HSP, although I'm not sure how exactly to find the generators of an arbitrary hidden subgroup in SZK.  The reason we can decide the size of the hidden subgroup is that if f:G-&gt;S has hidden subgroup H, and we choose g uniformly at random from G, then f(g) is uniformly random over a set of size |G|/|H|. In particular, f(g) has entropy log|G| - log|H|.  And entropy estimation is in SZK.&lt;/p&gt;&#xA;" OwnerUserId="886" LastEditorUserId="886" LastEditDate="2010-10-03T14:32:45.863" LastActivityDate="2010-10-03T14:32:45.863" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="1893" PostTypeId="1" CreationDate="2010-10-03T14:44:03.163" Score="65" ViewCount="8047" Body="&lt;p&gt;&lt;strong&gt;Updated below&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We all know the critical importance of peer-review.  It is the main form of quality control and feedback on research.  However, to an early-stage researcher (like me), it can sometimes be a confusing system/process.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Accordingly, there are several treatises on the scientific refereeing process that give guidance.  Two (very different) examples from computer science -- &lt;a href=&quot;http://www.eng.unt.edu/ian/pubs/referee.pdf&quot; rel=&quot;noreferrer&quot;&gt;this 1994 article by Parberry&lt;/a&gt; and &lt;a href=&quot;http://portal.acm.org/citation.cfm?doid=1519103.1519122&quot; rel=&quot;noreferrer&quot;&gt;a more recent one by Cormode&lt;/a&gt; -- offer great advice (though the latter might be a shade mischievous).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here, I'd like to solicit broader advice from the more experienced members of this community about the review process, with particular regard to the peculiarities of theoretical computer science.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;What are the main criteria for determining the significance of a paper's results?  How do I judge whether a paper should be accepted to the conference/journal? Is it important to verify correctness?&lt;/li&gt;&#xA;&lt;li&gt;What are the main elements of a referee report, and which parts are most important? Is it always necessary to give a recommendation of (non)acceptance? What goes in the report and what goes solely to the editor?&lt;/li&gt;&#xA;&lt;li&gt;How does assessment for conferences differ from that in journals?  How do reports for conferences differ from those in journals? (How on earth do I rate my &quot;confidence&quot; in my recommendation?) Should the journal version be significantly different from the conference paper?&lt;/li&gt;&#xA;&lt;li&gt;What if I don't understand the paper? ...the proof?  (Is it my fault or theirs?)&lt;/li&gt;&#xA;&lt;li&gt;What about typographical/grammatical mistakes? What if there are a lot of them?&lt;/li&gt;&#xA;&lt;li&gt;How much time should I spend on a report?&lt;/li&gt;&#xA;&lt;li&gt;How many reports a year am I expected to write? When is it acceptable to refuse a request to referee?&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Of course, any other relevant questions and answers on this topic are encouraged, since this is CW.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This question is inspired by (stolen from) &lt;a href=&quot;https://mathoverflow.net/questions/36596/refereeing-a-paper&quot;&gt;a similar post at MathOverflow&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Update 15/02/2011:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am still very interested in getting more input on this question especially with regard to reviewing conference papers and program committee membership. (These two roles are themselves different beasts, and both very unlike being a referee for a journal article, IMO.)  Granted, program committee membership is rarer than refereeing or reviewing (and it hasn't been my privilege yet), but is a responsibility that every researcher in theoretical computer science must take on eventually.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Time.  How much time am I expected to spend as a committee member or conference reviewer?  Given the probability that I could get ten or perhaps many more to handle in the space of a few weeks, how do I avoid running out of time?  What are the most important things to spend time on?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Confidence.  What if the paper is too far from my area of expertise?  What factors should go into nominating/asking someone else to review a submission?  If it is not too far from my area of expertise and I elect to review it, when is it permissible to give a confidence rating of 1?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Criteria.  There are critical differences between journals and conferences.  Some very important papers are not published in journals.  Some very important papers did not previously appear in conferences.  What are the most significant distinctions in criteria on which to assess papers in these settings?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Recommendations.  Inherently, there are fewer recommendations that can be offered to the authors of a conference paper, primarily due to space and time constraints.  Also, there is usually only one round of review.  Another consideration is that my report becomes public to the entire strong committee.  What is the scope of suggestions/directives that I can offer?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;As before, if you think I've missed out on asking any particular questions, do let me know, or edit directly.  This is CW, after all.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;These new thoughts are partly motivated by reading a paper that &lt;a href=&quot;http://geomblog.blogspot.com/2011/02/on-future-of-conferences.html&quot; rel=&quot;noreferrer&quot;&gt;Suresh mentioned on his blog&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="233" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2011-02-23T01:28:26.240" Title="How do I referee a paper?" Tags="&lt;soft-question&gt;&lt;big-list&gt;&lt;paper-review&gt;" AnswerCount="3" CommentCount="5" FavoriteCount="48" CommunityOwnedDate="2010-10-03T14:44:03.163" ContentLicense="CC BY-SA 2.5" />
  <row Id="1894" PostTypeId="2" ParentId="1886" CreationDate="2010-10-03T16:55:00.773" Score="4" Body="&lt;p&gt;Joseph Y. Halpern from Cornell recently gave a talk at the CUNY Graduate Center with the title: Beyond Nash Equilibrium: Solution Concepts for the 21st Century. Perhaps his work would be of interest to you.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://web.cs.gc.cuny.edu/~kgb/seminar.html&quot; rel=&quot;nofollow&quot;&gt;http://web.cs.gc.cuny.edu/~kgb/seminar.html&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="987" LastActivityDate="2010-10-03T16:55:00.773" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="1895" PostTypeId="2" ParentId="1893" CreationDate="2010-10-03T17:14:47.003" Score="13" Body="&lt;p&gt;I give here my 2 cents, and I add a seventh point:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;How many reports do I have to do each year?&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;My answers&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Of course the criteria are not the same for conferences and journals. For both correctness is probably the most important criterion. Then, my second criterion is novelty of the results for conferences, while it is impact of the results for journals. For a conference, it is also important to judge whether the paper is of interest for the audience, but this is a judgement call that can be done by PC chairs rather than reviewers.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;First of all, except if you suspect a fraud or bad practice and are not sure (then you should talk solely to the editor), my opinion is that you should tell everything to the authors. I think it is important to be honest with the authors and thus to always give a recommendation. In a report, you should describe the topic, the results (so that authors can see that you understand the paper), then you should assess the merits of the results (novelty w.r.t. the state of the art, technical deepness, correctness, clarity) and point out every problem. Finally, you should give your recommendation, possibly with advice to the authors (such as &quot;I think that this result is nice, but is more fitted for conference A rather than this one&quot;). In a very few cases, you will be given papers that does not deserve to be even submitted, it is not admissible so it must be stated, politely but clearly.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;I think that, except in the case of a journal invitation for a special issue related to a conference paper, there should be significant difference. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;two cases: it is not understandable (their fault) so you can reject the paper for that reason or you are not the good reviewer for that paper. When it happens you know what case it is, if not you are in the second case!&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;I am not a native english speaker, so there is a bias in my answer. But I think it is not a reason for rejecting a paper (except in some extreme cases).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The time needed. It can range from 1 hour (a bad paper in a workshop) to several days (a very involved paper in a top journal).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Personally, I expect to do 3 reports per paper I submitted (and yes, it's a lot, in fact reviewing probably one of my most time consuming task - before teaching maybe).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="76" LastEditorUserId="1522" LastEditDate="2010-10-03T19:00:42.533" LastActivityDate="2010-10-03T19:00:42.533" CommentCount="4" CommunityOwnedDate="2010-10-03T17:14:47.003" ContentLicense="CC BY-SA 2.5" />
  <row Id="1896" PostTypeId="2" ParentId="1893" CreationDate="2010-10-03T17:27:58.097" Score="20" Body="&lt;p&gt;A lot depends upon the conference/journal, as each community has developed its own style, so knowing what's expected of the conference/journal certainly will help a little. &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;1.&lt;/strong&gt; What are the main criteria for determining the significance of a paper's results? How do I judge whether a paper should be accepted to the conference/journal? Is it important to verify correctness?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Criteria: Novelty/originality, expected impact, correctness/validity, extensiveness (how much of the problem is studied? + theorems? + implementation? +experimental results?), quality of presentation. The criteria for journal acceptance are much higher than for conferences. For a conference you give a score based on the previous criteria. Verifying correctness as much as is possible is very important, especially for journal articles.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;2.&lt;/strong&gt; What are the main elements of a referee report, and which parts are most important? Is it always necessary to give a recommendation of (non)acceptance? What goes in the report and what goes solely to the editor?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The referees report contains at least 4 main elements: A summary of the paper and its contributions; points in favour of accepting the paper; points against the paper; major comments, including points to be addressed; minor comments (typos etc). You should always give an indication of acceptance or rejection or the degree of revision required. Comments to the editor could include: a short, perhaps blunt assessment of the paper; any statement of doubt; details of possible plagiarism or parallel submission of the paper; ...&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;3.&lt;/strong&gt; How does assessment for conferences differ from those in journals? How do reports for conferences differ from those in journals? (How on earth do I rate my &quot;confidence&quot; in my recommendation?) Should the journal version be significantly different from the conference paper?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Journal reviews tend to be more extensive and can include a lot of things for the authors&#xA;to do to bring their paper into an acceptable state, such as &quot;implement and evaluate these ideas&quot;. Your confidence should be based on how confident you feel. Generally this will come with experience, so start out being conservative. It it's out of your field, even though you may understand the paper, being conservative is also a good idea –– it's difficult to assess originality of a paper outside of your field. Some journals say that journal submissions must contain a substantial amount of new material compared to the conference version. 30% is a figure I've heard.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;4.&lt;/strong&gt; What if I don't understand the paper? ...the proof? (Is it my fault or theirs?)&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;This can vary. Sometimes it will be your fault, sometimes it will be theirs. Use your judgement. Maybe ask a colleague to take a look at the paper. If you totally cannot understand it and it's not due to poor formatting, then perhaps contact the PC chair and explain that this is the case. In any case, this should be reflected in your confidence score. If the paper cannot be understood due to poor writing or language or because it has been prematurely submitted, then this should be written in your report.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;5.&lt;/strong&gt; What about typographical/grammatical mistakes? What if there are a lot of them?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;When I was younger I'd report every single typo and grammatical error. Now I just don't have the time. Reporting some is always helpful: pick the most serious ones. Also recommend that the paper be proofread (by a native speaker). For journal papers be more thorough. If it has way too many errors, then is shouldn't have been submitted to a journal, which alone is reason for rejection (IMHO).&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;6.&lt;/strong&gt; How much time should I spend on a report?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;One day maximum for a conference paper, including reading time. For journal papers, especially long ones, reading the paper carefully might take a whole week.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;7.&lt;/strong&gt; How many reports a year am I expected to write? When is it acceptable to refuse a request to referee?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The expected amount could vary between 5 and 30. As a junior researcher, you'll be given a few for practice. As you advance through the grades, you'll take on more reviewing as you become a member of PCs. Then as you advance even further, you'll have an army of PhD students to do your reviewing for you. More than 30 in a year is quite onerous.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As I said above, I'd say it is appropriate to refuse a refereeing request when either (1) you do not feel that you have sufficient expertise to do a good review, or (2) you have too many reviewing (or other) commitments at the moment. It is also considered good form to suggest a number of possible alternative reviewers, in the case that you refuse.&lt;/p&gt;&#xA;" OwnerUserId="77" LastEditorUserId="77" LastEditDate="2010-10-04T10:54:05.150" LastActivityDate="2010-10-04T10:54:05.150" CommentCount="0" CommunityOwnedDate="2010-10-03T17:27:58.097" ContentLicense="CC BY-SA 2.5" />
  <row Id="1897" PostTypeId="1" AcceptedAnswerId="1906" CreationDate="2010-10-03T17:37:57.003" Score="12" ViewCount="266" Body="&lt;p&gt;The paper&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Lauri Hella and José María Turull-Torres,&#xA;&lt;em&gt;Computing queries with higher-order logics&lt;/em&gt;,&#xA;TCS &lt;strong&gt;355&lt;/strong&gt; 197–214,&#xA;2006.&#xA;doi: &lt;a href=&quot;http://dx.doi.org/doi:10.1016/j.tcs.2006.01.009&quot;&gt;10.1016/j.tcs.2006.01.009&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;proposes logic VO, variable-order logic.  This allows quantification over orders over the variables.  VO is quite powerful and can express some non-computable queries.  &lt;em&gt;(As pointed out by Arthur Milchior below, it actually captures the whole of the &lt;a href=&quot;http://en.wikipedia.org/wiki/Analytical_hierarchy&quot;&gt;analytical hierarchy&lt;/a&gt;.)&lt;/em&gt;  The authors show that the fragment of VO obtained by allowing only bounded universal quantification over the order variables exactly expresses all c.e. queries.  VO allows the order variables to range over the natural numbers, so bounding the order variables is clearly a natural condition to impose.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there a (nice) fragment of VO that captures P or NP?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;As an analogy, in classical first-order logic allowing quantification over sets of objects gives a more powerful logic called &lt;a href=&quot;http://en.wikipedia.org/wiki/Second-order_logic&quot;&gt;second-order logic&lt;/a&gt; or SO.  SO captures the whole of the &lt;a href=&quot;http://en.wikipedia.org/wiki/Polynomial_hierarchy&quot;&gt;polynomial hierarchy&lt;/a&gt;; this is usually written as PH = SO.  There are restricted forms of SO capturing important complexity classes: NP = $\exists$SO, P = SO-Horn, and NL = SO-Krom.  These are obtained by imposing restrictions on the syntax of allowed formulas.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So there are straightforward ways to restrict SO to obtain interesting classes.  I would like to know if there are similar straightforward restrictions of VO that are roughly the right level of expressivity for P or NP.  If such restrictions are not known I would be interested in suggestions for likely candidates, or in some arguments why such restrictions are unlikely to exist.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have checked the (few) papers that cite this one, and checked the obvious phrases on Google and Scholar, but found nothing obviously relevant.  Most of the papers dealing with logics more powerful than first-order don't seem to deal with restrictions to bring down the power into the realm of &quot;reasonable&quot; computations, but seem content to dwell in the c.e. universe of arithmetic and analytic classes.  I'd be happy with a pointer or a non-obvious phrase to search on; this might be well known to someone working in higher-order logics.&lt;/p&gt;&#xA;" OwnerUserId="109" LastEditorUserId="109" LastEditDate="2010-10-04T02:03:08.960" LastActivityDate="2010-10-04T02:29:42.150" Title="Is there a natural restriction of VO logic which captures P or NP?" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;lo.logic&gt;&lt;computability&gt;&lt;descriptive-complexity&gt;" AnswerCount="3" CommentCount="8" FavoriteCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="1898" PostTypeId="2" ParentId="1873" CreationDate="2010-10-03T18:46:54.950" Score="3" Body="&lt;p&gt;Let $f_1,f_2,\ldots$ denote the values of $f$ applied to an infinite sequence of random samples (with replacement) from $\{0,1\}^n$. Let $k$ be the least positive integer such that $\sum_{i=1}^k f_i \ge M$ for some value $M$, perhaps $M=polylog(n)$. I would guess that the estimator $M / k$ should accomplish what you want.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the analysis you cannot apply Chernoff bounds directly to the random variable $k$ but there's a trick to allow you to use Chernoff anyway. Let $\mu$ denote the unknown expectation $E(f)$. Find constants $k_{low}$ and $k_{high}$ (functions of $\mu$) so that with probability at least $1 - \delta$ we have $\sum_{i=1}^{k_{low}} f_i &amp;lt; M$ and $\sum_{i=1}^{k_{high}} f_i &gt; M$. Those sums of $f_i$s can be bounded using Chernoff. It follows that $k_{low} &amp;lt; k &amp;lt; k_{high}$ with probability at least $1-\delta$ and therefore the estimator $M/k$ is well concentrated.&lt;/p&gt;&#xA;" OwnerUserId="1522" LastEditorUserId="1522" LastEditDate="2010-10-03T18:57:21.980" LastActivityDate="2010-10-03T18:57:21.980" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1899" PostTypeId="2" ParentId="1346" CreationDate="2010-10-03T20:00:23.880" Score="1" Body="&lt;p&gt;This problem reminds me a lot of decision trees. I would consider this type of solution, which tries to always pick the most promising path, but by looking at the whole subgraph:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Starting from sink nodes, work your way towards the sources, one level at a time. While you do this, give every edge a weight. This weight should represent the minimum amount you'll have to &quot;pay&quot; or you will &quot;gain&quot; by traversing the subgraph starting from the node the edge points to. Suppose we are at level i+1 and we are moving up to level i . This is what I would do to assign a weight for an edge pointing to a node of level i:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;edge_weight = pointing_node_weight.&lt;/li&gt;&#xA;&lt;li&gt;Find edge starting from &quot;pointing node&quot; with the maximum weight. Let this weight be next_edge_weight.&lt;/li&gt;&#xA;&lt;li&gt;edge_weight += next_edge_weight&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Then, build the order as follows : &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Let S be the search frontier, i.e. the set of nodes to select from next.&lt;/li&gt;&#xA;&lt;li&gt;Select the node so that (node_weight+maximum_edge_weight) is maximized. &lt;/li&gt;&#xA;&lt;li&gt;Remove the node from the graph and S. Add the node's &quot;children&quot; to S.&lt;/li&gt;&#xA;&lt;li&gt;If the graph is not empty, go to step 1.&lt;/li&gt;&#xA;&lt;li&gt;Halt.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;The idea is to traverse those subgraphs that will give as much gain as possible first, in order to be able to bear the cost of the negative weight subgraphs later. &lt;/p&gt;&#xA;" OwnerUserId="879" LastActivityDate="2010-10-03T20:00:23.880" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1900" PostTypeId="2" ParentId="1886" CreationDate="2010-10-03T20:13:35.680" Score="10" Body="&lt;p&gt;One that I like is sometimes called a &quot;Coarse Correlated Equilibrium&quot;. This is actually the limiting set of efficient &quot;No-Regret&quot; dynamics. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;These have several nice properties, not least of which is that they can be reached by efficient, de-coupled dynamics, and include Nash equilibria as a special case  (so are ``strictly more plausible'' as a prediction of behavior). What might make them somewhat similar to what you are asking about, is that these learning dynamics need not ever converge to a fixed point -- indeed, they may cycle forever. Nevertheless, it is often possible to bound the fast convergence of social welfare under these dynamics (i.e. price of anarchy over coarse correlated equilibria), and whats more, often the social welfare is no worse over coarse correlated equilibria than it is over Nash equilibria. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some relevant papers:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://portal.acm.org/citation.cfm?id=1374430&quot; rel=&quot;nofollow&quot;&gt;http://portal.acm.org/citation.cfm?id=1374430&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://portal.acm.org/citation.cfm?id=1536414.1536485&quot; rel=&quot;nofollow&quot;&gt;http://portal.acm.org/citation.cfm?id=1536414.1536485&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://portal.acm.org/citation.cfm?id=1536487&quot; rel=&quot;nofollow&quot;&gt;http://portal.acm.org/citation.cfm?id=1536487&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="25" LastActivityDate="2010-10-03T20:13:35.680" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1901" PostTypeId="2" ParentId="1569" CreationDate="2010-10-03T20:26:24.170" Score="6" Body="&lt;p&gt;Index the WHT rows by an integer x, for $0 \le x \lt d$.  So x has log d bits.  Similarly, index the columns.  The (x,y) position is $(-1)^{\langle x,y \rangle}$ where the exponent is the dot product of length log d.  Assume r is a power of 2, rounding up if necessary.  Break the dxr matrix into rxr blocks by letting the first log r bits vary and fixing the other log(d/r) bits in each of the d/r ways. This rxr block is a smaller WHT matrix of size r, except there may be some columns missing, repeated, or negated.  In any case, preprocess the vector easily then do an rxr WHT in time r log r, then repeat d/r times for total time d log r.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Example:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;d = 4.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;WHT H is&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;++++&#xA;+-+-&#xA;++--&#xA;+--+&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Arbitrary set of columns is 00 and 10 (leftmost and two over from that):&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;++&#xA;++&#xA;+-&#xA;+-&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Row blocks are&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;++&#xA;++&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;and&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;--&#xA;--&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;In each block, there are repeated columns, missing columns and, in the second block, negated columns.  Preprocess a vector $(a,b)^T$ into $(a+b,0)^T$ and multiply by 2x2 WHT:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;++&#xA;+-&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Then preprocess $(a,b)^T$ into $(-a-b,0)^T$ and multiply by 2x2 WHT:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;++&#xA;+-&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;" OwnerUserId="1637" LastEditorUserId="567" LastEditDate="2010-10-03T21:55:13.803" LastActivityDate="2010-10-03T21:55:13.803" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1902" PostTypeId="2" ParentId="1893" CreationDate="2010-10-03T21:22:07.767" Score="58" Body="&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;To the best of your knowledge, does the paper make a significant, well-presented, and correct contribution to the state of the art?  If the paper fails any of the three criteria, it's fair to reject it for that reason alone, regardless of the other two.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Here's what I think a report should contain.  Everything should be visible to the author, except &lt;em&gt;possibly&lt;/em&gt; for serious accusations of misconduct.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;a. A quick summary of the paper, to help the editor judge the quality of the results, and to help convince both the author and the editor that you actually read and understood the paper.  Place the result in its larger context.  Include a history of prior versions, even if the authors include it in the submission.  Be respectful, but brutally honest.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;b. A discussion of the strengths and weaknesses of the paper, in terms of correctness, novelty, clarity, importance, generality, potential impact, elegance, technical depth, robustness, etc.  If you suspect unethical behavior (plagiarism, parallel submission, cooked data), describe your suspicions.  Be respectful, but brutally honest.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;c. A recommendation to the editor for further action — accept, accept with minor revision, ask for a second round of reviewing, or reject outright.  Keep in mind that you are making a recommendation, not a decision; if you can't make up your mind, just say so.  Be respectful, but brutally honest.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;d. More detailed feedback to the author — more detailed justification for your recommendation, requests for clarification in the final version, missing references, bugs in the proofs, simplifications, generalizations, typos, etc.  Be respectful, but brutally honest.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Conference reports should be shorter; program committees have hundreds of papers to consider at once.  Whether there should be a difference between conference and journal papers is up to the journal (and indirectly, up to the community).  Most theoretical computer science journals do &lt;em&gt;not&lt;/em&gt; insist on a significant difference; it is quite common for the conference and journal versions of a theory paper to be essentially identical.  When in doubt, ask the editor!&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;If you still don't understand the paper after making a good-faith effort, it's the author's fault, or possibly the editor's, but &lt;em&gt;certainly not&lt;/em&gt; yours.  The author's primary responsibility is to effectively communicate their result to their audience, and a good editor will send you a paper to referee only if they think you're a good representative of the paper's intended audience.  But you do have to make a good-faith effort; do not expect to immediately understand everything (anything?) immediately on your first reading.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;If there are a &lt;em&gt;lot&lt;/em&gt; of errors, don't even read the paper; just recommend rejection on the grounds that the paper is not professionally written.  Otherwise, if you really want to be thorough, include a &lt;em&gt;representative&lt;/em&gt; list of grammar, spelling, and punctuation mistakes, but don't knock yourself out finding every last bug.  Be respectful, but brutally honest.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Expect to spend about an hour per page, mostly on internalizing the paper's results and techniques.  Be pleasantly surprised when it doesn't actually take that long.  (If it takes significantly less time than that, either the paper is either exceedingly elegant and well-written, you know the area extremely well, or the paper is technically shallow.  Don't confuse these three possibilities.) &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;You should write at least as many referee reports as other people write for you.  If this takes more time than writing your own papers, you're not spending enough time on your own papers.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="111" LastActivityDate="2010-10-03T21:22:07.767" CommentCount="2" CommunityOwnedDate="2010-10-03T21:22:07.767" ContentLicense="CC BY-SA 2.5" />
  <row Id="1904" PostTypeId="2" ParentId="1897" CreationDate="2010-10-03T21:55:10.683" Score="4" Body="&lt;p&gt;For information, VO is in fact really more powerful than what you state; it contains the entire analytical hierarchy (hence, also the entire arithmetical hierarchy). The result is not published, neither submitted to any place, but you can find it on my page, www.milchior.fr/ho.pdf section 7 page 47. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In it I show how VO lets you express addition and multiplication on order variable; may be some idea in this paper can help you. In particular I gave an equivalent definition (I prove it is equivalent) and I think it is more easy to use. (I wanted to avoid the fact that, in their definition of VO $\forall i \forall X^i\forall j\exists Y^j (X^i=Y^j)$ is false while    $\forall i \forall X^i\forall i\exists Y^i (X^i=Y^i)$ is true; which means that $i$ was changed after $X$ was quantified; hence it is useless to add &quot;$^i$&quot; when one quantifies $X$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One straightforward restriction would be to forbid to quantify the same variable twice. I am pretty sure that the restriction is the class ELEMENTARY. The idea is that, for every formula $\phi(i)$ with a free order variable $i$, there would be one number $k$ such that forall $i&gt;k$ the value of $\phi(i)$ would not change; hence if we can find this $k$ (which is probably an elementary function of the size of the universe) we can avoid to really check every possible $\phi(i)$ when we want the value of $\forall i \phi(i)$ but restrict it to $\forall i &amp;lt; k \phi(i)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Else, you can certainly restrain VO by restraining the maximal order accepted; but then you obtain a &quot;higher order&quot; language (HO), and this is probably not what you want.&lt;/p&gt;&#xA;" OwnerUserId="328" LastEditorUserId="873" LastEditDate="2010-10-04T02:29:42.150" LastActivityDate="2010-10-04T02:29:42.150" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="1905" PostTypeId="1" AcceptedAnswerId="3323" CreationDate="2010-10-03T22:44:57.670" Score="16" ViewCount="800" Body="&lt;p&gt;I'm interested in two questions regarding &lt;a href=&quot;http://en.wikipedia.org/wiki/Context-sensitive_language&quot; rel=&quot;nofollow&quot;&gt;context-sensitive languages&lt;/a&gt; (CSL) and completeness:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt; Is there a notion of completeness for CSL, and which languages are complete?&lt;/li&gt;&#xA;&lt;li&gt; Are there natural CSL that are NP-complete?&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;For 2., I can certainly think of natural NP-complete languages that are CSL (as CSL is equal to NSPACE[$n$], SAT is a CSL), but I'm searching for the other way around, i.e., a context-sensitive &lt;em&gt;grammar&lt;/em&gt; describing an NP-complete language.&lt;/p&gt;&#xA;" OwnerUserId="88" LastEditorUserId="2367" LastEditDate="2011-01-15T12:57:22.090" LastActivityDate="2017-03-06T20:06:10.160" Title="Completeness and Context-Sensitive Languages." Tags="&lt;np-hardness&gt;&lt;fl.formal-languages&gt;&lt;space-bounded&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="6" ContentLicense="CC BY-SA 2.5" />
  <row Id="1906" PostTypeId="2" ParentId="1897" CreationDate="2010-10-04T00:46:03.853" Score="3" Body="&lt;p&gt;Note: This is not really answering the question, this is just some comments posted as an answer. :)&lt;/p&gt;&#xA;&lt;p&gt;Note that in VO, one is defining sets over the set of natural numbers (similar to sets defined in recursion theory) where as in descriptive complexity setting (SO, &lt;span class=&quot;math-container&quot;&gt;$\exists$&lt;/span&gt;-SO, SO-Horn) we are talking about finite structures. An SO formula in the former setting will give not &lt;span class=&quot;math-container&quot;&gt;$PH$&lt;/span&gt; but the whole analytical hierarchy as Arthur Milchior has written in his answer. IMHO, a better comparison would be with bounded arithmetic theories. I don't think you can get below c.e. sets unless you bound all quantifiers to finite domains, to get &lt;span class=&quot;math-container&quot;&gt;$P$&lt;/span&gt; or &lt;span class=&quot;math-container&quot;&gt;$NP$&lt;/span&gt; the size of domains should be very small.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;is the presence of one unbounded quantifier enough to capture c.e. sets?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;The problem is you probably want the language to be without extra symbols like equality, addition, multiplication (right?), if we had them then by MRDP theorem, Diophantine formulas (first-order existential quantifiers in front of an equality of two polynomials) would capture c.e. sets. If we are not allowing these symbols in the language, the problem is more complicated, one can use higher order quantifiers to define them, but that would increase the quantifier complexity. So if I want to give a short answer to your question about a single quantifier, I don't know.&lt;/p&gt;&#xA;&lt;p&gt;If we can express &lt;span class=&quot;math-container&quot;&gt;$AC^0$&lt;/span&gt;  relations in the language, then a single unbounded existential quantifier would suffice for capturing c.e. sets, the reason is &lt;span class=&quot;math-container&quot;&gt;$AC^0$&lt;/span&gt; can check that a string &lt;span class=&quot;math-container&quot;&gt;$c$&lt;/span&gt; is the computation of a TM &lt;span class=&quot;math-container&quot;&gt;$e$&lt;/span&gt; on input &lt;span class=&quot;math-container&quot;&gt;$x$&lt;/span&gt;. First-order formulas bounded by polynomials in presence of equality, addition, and multiplication capture PH, so if we have them in the language the answer is positive, but as I said you are probably looking for a language without these symbols.&lt;/p&gt;&#xA;&lt;h3&gt;Some additional comments:&lt;/h3&gt;&#xA;&lt;p&gt;Assume that we have a restriction of VO which can express at least &lt;span class=&quot;math-container&quot;&gt;$AC^0$&lt;/span&gt;. Then a single unbounded existential quantifier of number type in front of those restricted formulas will give the whole c.e. sets.&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2010-10-04T00:46:03.853" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1907" PostTypeId="2" ParentId="1897" CreationDate="2010-10-04T01:01:56.610" Score="2" Body="&lt;p&gt;To answer to your comment, I guess I should make another answer, speaking only on Krom and Horn (May be I should ask a question about those to CSTheory)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I suggest that you read section 5.3 page 34 of my paper about the problem I met on Horn and Krom in High Order logic. You will meet the same problem in Variable Order (which is clearly a superset of High Order). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I don't know if you did pay attention to it, but SO(krom) is equal to P when the first order is universal; indeed you can express NP-complete problem if you add existantial first order variable. (I don't remember the example I had before, I can try to search it if you want it)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I don't know what this syntactical resctriction would become for high order or variable order logic... my point is just that you should also think of a good way to restrain quantifiers, because restraining the quantifier-free part alone is not usefull (at least for Krom formulae)&lt;/p&gt;&#xA;" OwnerUserId="328" LastActivityDate="2010-10-04T01:01:56.610" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="1908" PostTypeId="2" ParentId="1885" CreationDate="2010-10-04T01:33:41.913" Score="24" Body="&lt;p&gt;The search for an efficient algorithm for factoring seems to date back to at least Gauss.  Article 329 of Gauss' &lt;em&gt;Disquitiones Arithmeticae&lt;/em&gt; (1801) had the following quote (&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.81.407&amp;amp;rep=rep1&amp;amp;type=pdf&quot;&gt;source&lt;/a&gt;):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;code&gt;The problem of distinguishing prime&#xA;numbers from composite numbers and&#xA;of resolving the latter into their prime&#xA;factors is known to be one of the most&#xA;important and useful in arithmetic. It&#xA;has engaged the industry and wisdom&#xA;of ancient and modern geometers to&#xA;such an extent that it would be superfluous to discuss the problem at length.&#xA;... Further, the dignity of the science&#xA;itself seems to require that every&#xA;possible means be explored for the&#xA;solution of a problem so elegant and&#xA;so celebrated.&lt;/code&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course, it's true that Gauss didn't formally define exactly what he desired out of the factoring algorithm.  He did talk in the same article though about the fact that all primality testing algorithms known at that time were very &quot;laborious and prolix&quot;.&lt;/p&gt;&#xA;" OwnerUserId="15" LastActivityDate="2010-10-04T01:33:41.913" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="1909" PostTypeId="2" ParentId="1471" CreationDate="2010-10-04T01:35:35.510" Score="5" Body="&lt;p&gt;Usually I give the factoring problem as example; I first ask for the number that divide 15; usually people can answer 3, 5, and have fun wondering if 1 and 15 are correct answer.&#xA;Then I give a huge number (more than 10 digits) and ask if they can tell me what are the dividers; and I explain that, even for computer scientist, this is a really hard question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then if I have time, I try to explain that the question is either to figure out how to solve this problem, or to prove that it will always take a lot of time( a notion that we precisely know how to define). And then a little word of cryptography, to explain why it is usedd, and a word about how many time it take team of scientist to break the key of number with hundreds of digit (I avoid to speak of bits because people seems to better know what a digit is)&lt;/p&gt;&#xA;" OwnerUserId="328" LastActivityDate="2010-10-04T01:35:35.510" CommentCount="0" CommunityOwnedDate="2010-10-04T01:35:35.510" ContentLicense="CC BY-SA 2.5" />
  <row Id="1910" PostTypeId="2" ParentId="1885" CreationDate="2010-10-04T02:50:38.813" Score="11" Body="&lt;p&gt;The following, quoted from&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Goldwasser, S. and Micali, S. 1982. Probabilistic encryption &amp;amp; how to play mental poker keeping secret all partial information. In &lt;em&gt;Proceedings of the Fourteenth Annual ACM Symposium on Theory of Computing&lt;/em&gt; (San Francisco, California, United States, May 05 - 07, 1982). STOC '82. ACM, New York, NY, 365-377. DOI= &lt;a href=&quot;http://doi.acm.org/10.1145/800070.802212&quot; rel=&quot;noreferrer&quot;&gt;http://doi.acm.org/10.1145/800070.802212&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Refers to another problem dating back to Gauss' Disquitiones Arithmeticae (1801):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If the factorization of N is not known and $(\frac{q}{N})=1$, where $(\frac{q}{N})$ denotes the Jacobi symbol, then there is no known procedure for deciding whether q is a quadratic residue mod N. This decision problem is well known to be hard in Number Theory. It is one of the main &lt;strong&gt;four algorithmic problems&lt;/strong&gt; discussed by Gauss in his &quot;Disquisitiones Arithmeticae&quot; (1801). A polynomial solution for it would imply a polynomial solution to other open problems in Number Theory, such as deciding whether a composite N, whose factorization is not known, is the product of 2 or 3 primes; see open problems 9 and 15 in &lt;a href=&quot;http://dx.doi.org/10.1109/SFCS.1980.28&quot; rel=&quot;noreferrer&quot;&gt;Adleman&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;PS:&lt;/strong&gt; By now, we know two of the &lt;em&gt;four algorithmic problems&lt;/em&gt;:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Factoring (as mentioned by arnab);&lt;/li&gt;&#xA;&lt;li&gt;Deciding quadratic residousity.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;what are the remaining two problems described by Gauss?&lt;/p&gt;&#xA;" OwnerUserId="873" LastEditorUserId="873" LastEditDate="2010-10-06T07:42:42.393" LastActivityDate="2010-10-06T07:42:42.393" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1912" PostTypeId="2" ParentId="1534" CreationDate="2010-10-04T04:05:08.287" Score="8" Body="&lt;p&gt;The problem is NP-Hard and the reduction is from partition. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, assume you are given an instance of partition $S=${$x_1,\ldots,x_n$}. Let $t = (\sum_{i=1}^n x_i) / 2$. The question is whether there is a subset of $S$ such that its sum is $t$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To this end, let $v_0 = (0, 2t, t)$ be a special vector. For every number $x_i$, create the vector &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$v_i = (x_i, -x_i, 0)$,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;for $i=1,\ldots, n$. Now, the claim is that there is a subset of the vectors with sum $\geq (t, t, t)$ (in absolute value) if and only if there is a subset of $S$ that add up to $t$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, consider a subset $X \subseteq S$, with $\alpha = \sum_{x\in X}$. We have that the corresponding sum of vectors (together with the special vector $v_0$) is&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$(\alpha, 2t -\alpha, t)$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Clearly, this vector is maximized when $\alpha=t$, as required. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note, that you must include the special vector $v_0$ - otherwise the third coordinate would be zero in the sum of vectors.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;QED&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note, that the problem is solvable in polynomial time if the numbers are polynomially small, doing dynamic programming (like the one used for solving subset sum if the numbers are small).&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;2d&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;If you set the special vector to be $(8t, 10t)$ then the above reduction would work verbatim in two dimensions. (The constant $8$ here is somewhat arbitrary...)&lt;/p&gt;&#xA;" OwnerUserId="9594" LastEditorUserId="9594" LastEditDate="2010-10-04T09:59:23.907" LastActivityDate="2010-10-04T09:59:23.907" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="1913" PostTypeId="2" ParentId="1885" CreationDate="2010-10-04T05:59:47.030" Score="40" Body="&lt;p&gt;&lt;strong&gt;What is the computational complexity of integer multiplication?&lt;/strong&gt;  Arguably, this question dates back at least to the the 'duplation and mediation' algorithm for integer multiplication described in the Rhind Mathematical Papyrus, which was written circa &lt;strong&gt;1650 BC&lt;/strong&gt;, but claims to be a copy of a significantly older document.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Admittedly, the Rhind papyrus did not explicitly consider the complexity of is algorithm.  So maybe a better answer is &lt;strong&gt;What is the complexity of solving systems of linear equations?&lt;/strong&gt;  Research into efficient algorithms for solving linear systems dates back at least to Liu Hui's commentary, published in &lt;strong&gt;263 AD&lt;/strong&gt;, on &lt;em&gt;The Nine Chapters on the Mathematical Art&lt;/em&gt;.  Specifically, Liu Hui  compares two variants of what is now recognized as Gaussian elimination, and counts the number of arithmetic operations used by each, with the explicit goal of finding the more efficient method.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Both of these questions are still targets of active research.&lt;/p&gt;&#xA;" OwnerUserId="111" LastActivityDate="2010-10-04T05:59:47.030" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="1914" PostTypeId="1" AcceptedAnswerId="1952" CreationDate="2010-10-04T06:38:47.200" Score="5" ViewCount="497" Body="&lt;p&gt;I'm not well versed in geometric complexity theory so my question could be trivial. I understand that GCT program  studies the symmetries of determinant and permanent to prove Valiant's Hypothesis: $VP\ne VNP$&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;In simple terms, What is the invariant property? Which mapping (transformation) is applied to the determinant and permanent? How is the symmetry of permanent used to explain the difficulty of computing the permanent?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2010-10-04T15:25:48.787" LastActivityDate="2010-10-05T17:01:35.713" Title="The role of symmetry in geometric complexity theory?" Tags="&lt;cc.complexity-theory&gt;&lt;gct&gt;&lt;symmetry&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="1915" PostTypeId="2" ParentId="1471" CreationDate="2010-10-04T07:36:34.863" Score="5" Body="&lt;p&gt;The posed question is really a hard one since most people have no idea what computer scientists in general do. This is very different from other disciplines.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I like to use the following analogy: (T)CS is for computers what physics is for CD-Players &#xA;(i.e. the laser). This actually works quite well because most people have an idea of what a physicist deals with, be it correct or not.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More specific examples include those things most people can relate to&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;String Matching&lt;/strong&gt; (slow naive approach vs daily experience of fast searching in Word, Browser, ...)&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Shortest Path Problem&lt;/strong&gt; (as used in navigation systems)&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Scheduling&lt;/strong&gt; (depending on the other's degree of nerdiness, refer to business processes or scheduling on CPU)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I would then explain that while PCS people would see to a fast implementation or good integration in complex systems, TCS people wonder about what is possible and proving things that provide safe, reusable knowledge/techniques for PCS to use.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can also use people's frustration about computers (&quot;It does not do what I want!&quot;). You can point out that (T)CS deals with how to express things in a way computers can understand and process efficiently (referring to syntax, semantics, datastructures, algorithms).&lt;/p&gt;&#xA;" OwnerUserId="1546" LastActivityDate="2010-10-04T07:36:34.863" CommentCount="0" CommunityOwnedDate="2010-10-04T07:36:34.863" ContentLicense="CC BY-SA 2.5" />
  <row Id="1916" PostTypeId="2" ParentId="1471" CreationDate="2010-10-04T08:19:01.380" Score="4" Body="&lt;p&gt;If you want to give a whimsical look into the past, remind your audience that &quot;computer&quot; used to refer to a &lt;em&gt;person whose profession was to compute things&lt;/em&gt;. (And if you want to violate some gender stereotypes that they may have, you can point out that these were frequently women, as well.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can then achieve a handful of things at once:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;make a convincing argument that &quot;computer science&quot; can be something beyond studying &quot;computers&quot;;&lt;/li&gt;&#xA;&lt;li&gt;point out that people who are computing need &lt;em&gt;some&lt;/em&gt; rules to accomplish their task (especially in a room full of &quot;computers&quot; doing specialist tasks &amp;mdash; communication complexity and parallelization, anyone?), and this is just as true for machines;&lt;/li&gt;&#xA;&lt;li&gt;describe that &quot;computer science&quot; is about finding effective ways to solve problems involving &quot;computing&quot; in this sense;&lt;/li&gt;&#xA;&lt;li&gt;put the point across that just what exactly is doing the computing is not as important as the resources they need (such as time and scratch-space).&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="248" LastActivityDate="2010-10-04T08:19:01.380" CommentCount="0" CommunityOwnedDate="2010-10-04T08:19:01.380" ContentLicense="CC BY-SA 2.5" />
  <row Id="1919" PostTypeId="2" ParentId="1848" CreationDate="2010-10-04T13:14:01.267" Score="7" Body="&lt;p&gt;In all the examples above the decision problem is in P and the search problem is not known to be in P but not known to be NP-hard either. I want to point out that it is possible to have an NP-hard search problem whose decision version is easy. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider the generalized satisfiability problem for given relations $R_1,\ldots,R_k$ over Boolean domain $\{0,1\}$. An instance is an expression of the form &#xA;$$&#xA;R_{i_1}(t_{11},\ldots,t_{1r_1}) \wedge \cdots \wedge R_{i_m}(t_{m1},\ldots,t_{mr_m})&#xA;$$&#xA;where the $t_{ij}$'s are either variables or constants in ${0,1}$, and $r_1,\ldots,r_m$ are the arities of $R_1,\ldots,R_k$ (this is the same framework as in Schaeffer's dichotomy theorem with constants, in case you know what it is). The search problem is: given such an expression, find a lexicographically minimal solution, if there is one.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It was shown by Reith and Vollmer &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=952837&quot;&gt;here&lt;/a&gt; that there exists a choice of relations $R_1,\ldots,R_k$ that make this problem NP-hard (actually OptP-complete) but keep the satisfiability problem easy (quite trivial actually). An example given in the paper is $R = \{(1,0,0),(0,1,0),(1,1,1)\}$ (here $k = 1$). Once the satisfiability problem is solvable in polynomial-time, the question whether there exists a lexicographically minimal satisfying assignment is trivial.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See Corollary 13 and the example following it in the paper above (at least in &lt;a href=&quot;http://www.google.com/url?sa=t&amp;amp;source=web&amp;amp;cd=7&amp;amp;ved=0CDUQFjAG&amp;amp;url=http%3A%2F%2Fciteseerx.ist.psu.edu%2Fviewdoc%2Fdownload%3Fdoi%3D10.1.1.45.6990%26rep%3Drep1%26type%3Dpdf&amp;amp;rct=j&amp;amp;q=Vollmer%20lexicographically%20minimal&amp;amp;ei=TM-pTPrjNJPT4waY3KjIDQ&amp;amp;usg=AFQjCNEoL6-wM42SNoUWvg0cGamtOpmOOQ&amp;amp;sig2=XWsFZU6HnQZIa6I3akQv0Q&amp;amp;cad=rja&quot;&gt;this&lt;/a&gt; on-line version). &lt;/p&gt;&#xA;" OwnerUserId="1509" LastActivityDate="2010-10-04T13:14:01.267" CommentCount="0" CommunityOwnedDate="2010-10-04T13:14:01.267" ContentLicense="CC BY-SA 2.5" />
  <row Id="1920" PostTypeId="1" AcceptedAnswerId="1925" CreationDate="2010-10-04T18:50:01.507" Score="78" ViewCount="9058" Body="&lt;p&gt;Please list examples where a theorem from mathematics which was not normally considered to apply in computer science was first used to prove a result in computer science.  The best examples are those where the connection was not obvious, but once it was discovered, it is clearly the &quot;right way&quot; to do it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is the opposite direction of the question &lt;a href=&quot;https://cstheory.stackexchange.com/questions/149/applications-of-tcs-to-classical-mathematics&quot;&gt;Applications of TCS to classical mathematics?&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, see &lt;a href=&quot;http://www.eccc.uni-trier.de/report/2010/151/&quot; rel=&quot;noreferrer&quot;&gt;&quot;Green's Theorem and Isolation in Planar Graphs&quot;&lt;/a&gt;, where an isolation theorem (which was already known using a technical proof) is re-proven using Green's Theorem from multivariate calculus. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;What other examples are there?&lt;/p&gt;&#xA;" OwnerUserId="59" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2011-08-23T14:25:21.880" Title="Examples of &quot;Unrelated&quot; Mathematics Playing a Fundamental Role in TCS?" Tags="&lt;reference-request&gt;&lt;soft-question&gt;&lt;big-list&gt;&lt;topology&gt;" AnswerCount="20" CommentCount="4" FavoriteCount="62" CommunityOwnedDate="2010-10-04T18:56:59.110" ContentLicense="CC BY-SA 2.5" />
  <row Id="1921" PostTypeId="2" ParentId="1920" CreationDate="2010-10-04T20:03:31.473" Score="25" Body="&lt;p&gt;One of my favorite results is the use of topological arguments in &lt;a href=&quot;http://en.wikipedia.org/wiki/Kneser_graph&quot;&gt;Lovasz's proof of the Kneser conjecture&lt;/a&gt;, and the use of topological (&lt;em&gt;and group-theoretic&lt;/em&gt;) methods in the &lt;a href=&quot;http://www.springerlink.com/content/r521072311641l41/&quot;&gt;Kahn-Saks-Sturtevant attack&lt;/a&gt; on the strong Aandera-Rosenberg-Karp conjecture on evasiveness. &lt;/p&gt;&#xA;" OwnerUserId="80" LastEditorUserId="80" LastEditDate="2010-10-05T16:13:20.630" LastActivityDate="2010-10-05T16:13:20.630" CommentCount="7" CommunityOwnedDate="2010-10-04T20:03:31.473" ContentLicense="CC BY-SA 2.5" />
  <row Id="1922" PostTypeId="2" ParentId="1920" CreationDate="2010-10-04T21:04:38.227" Score="21" Body="&lt;p&gt;There are many such examples. When I first learned complexity theory, I found it surprising that basic theorems about roots of polynomials (such as the Schwartz-Zippel-DeMillo-Lipton Lemma) had anything to do with the question of whether interactive proofs can simulate polynomial space ($IP = PSPACE$). Of course, those properties of polynomials had already been used in prior work, and nowadays the use of &quot;polynomializing&quot; computations has become quite standard in complexity theory.&lt;/p&gt;&#xA;" OwnerUserId="225" LastActivityDate="2010-10-04T21:04:38.227" CommentCount="1" CommunityOwnedDate="2010-10-04T21:04:38.227" ContentLicense="CC BY-SA 2.5" />
  <row Id="1923" PostTypeId="1" AcceptedAnswerId="4031" CreationDate="2010-10-04T21:38:40.273" Score="69" ViewCount="3715" Body="&lt;p&gt;Mathematicians sometimes worry about the Axiom of Choice (AC) and Axiom of Determinancy (AD). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Axiom of Choice&lt;/strong&gt;: Given any collection ${\cal C}$ of nonempty sets, there is a function $f$ that, given a set $S$ in ${\cal C}$, returns a member of $S$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Axiom of Determinacy&lt;/strong&gt;: Let $S$ be a set of infinitely long bit strings. Alice and Bob play a game where Alice picks a 1st bit $b_1$, Bob picks a 2nd bit $b_2$, and so on, until an infinite string $x = b_1 b_2 \cdots $ is constructed. Alice wins the game if $x \in S$, Bob wins the game if $x \not \in S$. The assumption is that for &lt;em&gt;every&lt;/em&gt; $S$, there is a winning strategy for one of the players. (For example, if $S$ consists only of the all-ones string, Bob can win in finitely many moves.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is known that these two axioms are inconsistent with each other. (Think about it, or &lt;a href=&quot;http://en.wikipedia.org/wiki/Axiom_of_determinacy&quot;&gt;go here&lt;/a&gt;.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Other mathematicians pay little or no attention to the use of these axioms in a proof. They would seem to be almost irrelevant to theoretical computer science, since we believe that we work mostly with finite objects. However, because TCS defines computational decision problems to be infinite bit strings, and we measure (for example) the time complexity of an algorithm as an asymptotic function over the naturals, there is always a possibility that the usage of one of these axioms could creep into some proofs. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is the most striking example in TCS that you know where one of these axioms are &lt;em&gt;required&lt;/em&gt;? (Do you know any examples?) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Just to foreshadow a bit, note that a diagonalization argument (over the set of all Turing machines, say) is not an application of the Axiom of Choice. Although the language that a Turing machine defines is an infinite bit string, each Turing machine has a finite description, so we really don't require a choice function for infinitely many infinite sets here.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(I put a lot of tags because I have no idea where the examples will come from.)&lt;/p&gt;&#xA;" OwnerUserId="225" LastEditorUserId="225" LastEditDate="2010-10-04T22:13:06.593" LastActivityDate="2019-02-20T03:43:23.077" Title="Which interesting theorems in TCS rely on the Axiom of Choice? (Or alternatively, the Axiom of Determinacy?)" Tags="&lt;cc.complexity-theory&gt;&lt;lo.logic&gt;&lt;pl.programming-languages&gt;&lt;big-picture&gt;&lt;set-theory&gt;" AnswerCount="7" CommentCount="12" FavoriteCount="33" ContentLicense="CC BY-SA 2.5" />
  <row Id="1924" PostTypeId="2" ParentId="1920" CreationDate="2010-10-04T21:48:15.497" Score="20" Body="&lt;p&gt;Another beautiful idea: Yao's idea to use minimax principles and the proof that mixed games have an equilibium (essentially linear programming duality) to show lower bounds on randomized algorithms (by instead constructing a distribution over inputs to a deterministic algorithm). &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2010-10-04T21:48:15.497" CommentCount="1" CommunityOwnedDate="2010-10-04T21:48:15.497" ContentLicense="CC BY-SA 2.5" />
  <row Id="1925" PostTypeId="2" ParentId="1920" CreationDate="2010-10-04T22:32:47.417" Score="38" Body="&lt;p&gt;Maurice Herlihy, Michael Saks, Nir Shavit and Fotios Zaharoglou got the &lt;a href=&quot;http://en.wikipedia.org/wiki/G%C3%B6del_Prize&quot;&gt;Godel prize in 2004&lt;/a&gt; for their use of algebraic topology in the study of some problems in distributed computing.&lt;/p&gt;&#xA;" OwnerUserId="1522" LastActivityDate="2010-10-04T22:32:47.417" CommentCount="0" CommunityOwnedDate="2010-10-04T22:32:47.417" ContentLicense="CC BY-SA 2.5" />
  <row Id="1926" PostTypeId="2" ParentId="1923" CreationDate="2010-10-04T22:51:21.133" Score="3" Body="&lt;p&gt;[This is not a direct answer to your question, yet it might be suggestive and/or informative for some people.]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;William Gasarch's &lt;a href=&quot;http://www.cs.umd.edu/~gasarch/papers/poll.pdf&quot; rel=&quot;nofollow&quot;&gt;P vs. NP Poll&lt;/a&gt; gives some statistics on &quot;how P vs. NP will be resolved&quot;:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;61 thought P≠NP.&lt;/li&gt;&#xA;&lt;li&gt;9 thought P=NP.&lt;/li&gt;&#xA;&lt;li&gt;4 thought that it is &lt;strong&gt;independent&lt;/strong&gt;. While no particular axiom system was mentioned, I assume they think it is &lt;strong&gt;independent of ZFC&lt;/strong&gt;.&lt;/li&gt;&#xA;&lt;li&gt;3 just stated that it is &lt;strong&gt;NOT independent&lt;/strong&gt; of Primitive Recursive Arithmetic.&lt;/li&gt;&#xA;&lt;li&gt;1 said it would depend on the model.&lt;/li&gt;&#xA;&lt;li&gt;22 offered no opinion.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/P_versus_NP_problem&quot; rel=&quot;nofollow&quot;&gt;Wikipedia&lt;/a&gt; has an interesting take on independence:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;...These barriers have also led some computer scientists to suggest that the P versus NP problem may be independent of standard axiom systems like ZFC (cannot be proved or disproved within them). The interpretation of an independence result could be that either no polynomial-time algorithm exists for any NP-complete problem, and such a proof cannot be constructed in (e.g.) ZFC, or that polynomial-time algorithms for NP-complete problems may exist, but it's impossible to prove in ZFC that such algorithms are correct [&lt;a href=&quot;http://www.scottaaronson.com/papers/pnp.pdf&quot; rel=&quot;nofollow&quot;&gt;1&lt;/a&gt;]. However, if it can be shown, using techniques of the sort that are currently known to be applicable, that the problem cannot be decided even with much weaker assumptions extending the Peano axioms (PA) for integer arithmetic, then there would necessarily exist nearly-polynomial-time algorithms for every problem in NP [&lt;a href=&quot;http://www.cs.technion.ac.il/~shai/ph.ps.gz&quot; rel=&quot;nofollow&quot;&gt;2&lt;/a&gt;]. Therefore, if one believes (as most complexity theorists do) that not all problems in NP have efficient algorithms, it would follow that proofs of independence using those techniques cannot be possible. Additionally, this result implies that proving independence from PA or ZFC using currently known techniques is no easier than proving the existence of efficient algorithms for all problems in NP.&lt;/p&gt;&#xA;" OwnerUserId="873" LastActivityDate="2010-10-04T22:51:21.133" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="1927" PostTypeId="2" ParentId="1920" CreationDate="2010-10-04T23:16:53.497" Score="21" Body="&lt;p&gt;Approximation theory (which deals with approximating possibly complicated or unnatural real-valued functions by simple functions, such as low-degree polynomials) has had many uses in Circuit complexity, Quantum query complexity, Pseudorandomness etc.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think one of the coolest applications of tools from this area comes from &lt;a href=&quot;http://knight.cis.temple.edu/~beigel/papers/brs-pp-jcss.html&quot;&gt;this&lt;/a&gt; paper of Beigel, Reingold, and Spielman, where they showed that the complexity class PP is closed under intersection by using the fact that the sign function can be approximated by a low-degree rational function.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.39.3215&amp;amp;rep=rep1&amp;amp;type=pdf&quot;&gt;Nisan and Szegedy&lt;/a&gt; and &lt;a href=&quot;http://doi.acm.org/10.1145/129712.129758&quot;&gt;Paturi&lt;/a&gt; showed lower bounds for approximating symmetric functions by low-degree polynomials. This method is frequently used in proving Quantum query complexity lower bounds. See Scott Aaronson's &lt;a href=&quot;http://stellar.mit.edu/S/course/6/fa10/6.845/courseMaterial/topics/topic3/lectureNotes/qctlec10/qctlec10.pdf&quot;&gt;lecture notes&lt;/a&gt;, for example.&lt;/p&gt;&#xA;" OwnerUserId="17464" LastActivityDate="2010-10-04T23:16:53.497" CommentCount="0" CommunityOwnedDate="2010-10-04T23:16:53.497" ContentLicense="CC BY-SA 2.5" />
  <row Id="1928" PostTypeId="2" ParentId="1920" CreationDate="2010-10-05T00:03:21.380" Score="26" Body="&lt;p&gt;I have an example from a work I co-authored with Noga Alon and Muli Safra a few years ago:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Noga used algebraic topology fixed-point theorems to prove the &quot;Necklace Splitting Theorem&quot;: if you have a necklace with beads of t types and you want to divide parts of it between b people so each gets the same number of beads from each type (assume b divides t), you can always do that by cutting the necklace in at most (b-1)t places. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;We used this theorem to construct a combinatorial object that we used for proving the hardness of approximating Set-Cover. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some more info is here:&#xA;&lt;a href=&quot;http://people.csail.mit.edu/dmoshkov/papers/k-restrictions/k-rest.html&quot;&gt;http://people.csail.mit.edu/dmoshkov/papers/k-restrictions/k-rest.html&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="1621" LastActivityDate="2010-10-05T00:03:21.380" CommentCount="0" CommunityOwnedDate="2010-10-05T00:03:21.380" ContentLicense="CC BY-SA 2.5" />
  <row Id="1929" PostTypeId="1" AcceptedAnswerId="1933" CreationDate="2010-10-05T00:29:08.033" Score="3" ViewCount="261" Body="&lt;p&gt;How is DHT different than regular hash tables in context to data/node lookup?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.88.2405&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;nofollow&quot;&gt;This&lt;/a&gt; (introduction, 3rd paragraph) paper says:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;First, in addition to the insertion&#xA;  and deletion of items, DHTs must support the insertion and deletion of&#xA;  buckets: as machines join and leave&#xA;  the network, items must be migrated to&#xA;  other machines and the hash function&#xA;  revised to reflect their new location.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;This problem is also in Hashtables (for example, if you implement a hashtable in C using LinkedList and Array, then if the size of the array increased (new node added) then the data needs to be redistributed to achieve good load factor)&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Second, some kind of routing protocol&#xA;  is usually necessary: since it is not&#xA;  feasible in a P2P system for every&#xA;  node to maintain up-to-date knowledge&#xA;  of all other nodes in the system, an&#xA;  item is looked up (or inserted) by&#xA;  following a sequence of routing hops&#xA;  through the peer-to-peer network.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Is this point talking about routing mechanism, if yes, then is this done is normal hashtable?&lt;/p&gt;&#xA;" OwnerUserId="1203" LastActivityDate="2010-10-05T03:15:32.433" Title="How is DHT different than regular hash tables in context to data/node lookup?" Tags="&lt;hash-function&gt;&lt;dc.distributed-comp&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="1931" PostTypeId="2" ParentId="1923" CreationDate="2010-10-05T01:59:15.017" Score="16" Body="&lt;p&gt;The &lt;a href=&quot;http://en.wikipedia.org/wiki/Hadwiger%E2%80%93Nelson_problem&quot;&gt;Hadwiger-Nelson Problem&lt;/a&gt; is tangentially related and asks for the minimum number of colors required to color the plane ${\mathbb R}^2$ where points at distance exactly 1 are given different colors.  There exist finite subgraphs which require four colors and there is a constructible seven-coloring by tiling the plane with hexagons.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In &lt;a href=&quot;http://www.sciencedirect.com/science?_ob=ArticleURL&amp;amp;_udi=B6WHS-48YVT67-3&amp;amp;_user=10&amp;amp;_coverDate=08/31/2003&amp;amp;_rdoc=1&amp;amp;_fmt=high&amp;amp;_orig=search&amp;amp;_origin=search&amp;amp;_sort=d&amp;amp;_docanchor=&amp;amp;view=c&amp;amp;_acct=C000050221&amp;amp;_version=1&amp;amp;_urlVersion=0&amp;amp;_userid=10&amp;amp;md5=a7237ebe7f1cefd6a2fb5ac8f3f24ef0&amp;amp;searchtype=af&quot;&gt;Shelah and Soifer, &quot;Axiom of choice and chromatic number of the plane,&quot;&lt;/a&gt; it is shown that if all finite subgraphs of the plane are four-chromatic, then&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;If you assume the axiom of choice, then the plane is four-chromatic.&lt;/li&gt;&#xA;&lt;li&gt;If you assume the principle of dependent choices and that all sets are Lebesgue measurable, then the plane is five-, six-, or seven-chromatic.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="59" LastActivityDate="2010-10-05T01:59:15.017" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="1932" PostTypeId="2" ParentId="1920" CreationDate="2010-10-05T02:54:55.380" Score="25" Body="&lt;p&gt;In retrospect, this may be obvious, but I've always been fond of Steele, Yao, and Ben-Or's application of the Oleinik-Petrovsky/Milnor/Thom theorem (bounding the Betti numbers of real semi-algebraic sets) to prove lower bounds in the algebraic decision tree and algebraic computation tree models of computation.&lt;/p&gt;&#xA;" OwnerUserId="111" LastActivityDate="2010-10-05T02:54:55.380" CommentCount="1" CommunityOwnedDate="2010-10-05T02:54:55.380" ContentLicense="CC BY-SA 2.5" />
  <row Id="1933" PostTypeId="2" ParentId="1929" CreationDate="2010-10-05T03:04:50.373" Score="4" Body="&lt;p&gt;Your question in the first sentence is a bit vague and open-ended. I'm guessing you want to know about routing and mutual node knowledge in the context of lookup.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Each node shouldn't have to know about every other node. Assuming a hash ring topology, the simplest approach is to have each node know about its two neighbors on the ring. This defines a circular linked list. Unfortunately, as with all linked lists, it only supports slow linear search. It's also very sensitive to node removal: if any two nodes go offline, it breaks the connectivity of the ring.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you try to repair this idea by having nodes maintain knowledge of their longer-range relatives then you eventually wind up with the idea of a skip graph, a generalization of skip lists that can handle node disappearance robustly. Unlike skip lists they are not explicitly stratified, which is important due to the non-hierarchical peer-to-peer nature of the problem.&lt;/p&gt;&#xA;" OwnerUserId="1435" LastEditorUserId="1435" LastEditDate="2010-10-05T03:15:32.433" LastActivityDate="2010-10-05T03:15:32.433" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1934" PostTypeId="2" ParentId="1920" CreationDate="2010-10-05T03:10:38.400" Score="17" Body="&lt;p&gt;Fixed point theorems are all over the place...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But a pretty surprising example of geometry popping from nowhere is the effective comparison result. Here, given a partial order defined over a set of $n$ elements, consider the set of permutations of the objects that are compatible with the given partial order. The question is to pick the most effective comparison to do next; that is, what is the comparison that would shrink the number of permutations compatible with the new partial order (of course, there are two possible partial orders, depending on the result of this single comparison). It is known that there is always a comparison that shrinks the number of permutations by a constant factor (thus, you can sort in $O(\log n!)$ comparisons, duh). The proof of this fact goes via the geometry of high dimensional polytopes. Specifically, the proof uses the Brunn-Minkowski inequality. A good presentation of this is in Matousek book on Lectures on Discrete Geometry (Section 12.3). The original proof is by Kahn and Linial, from &lt;a href=&quot;http://www.cs.huji.ac.il/~nati/PAPERS/brunn_minkowski.pdf&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="9594" LastEditorUserId="1080" LastEditDate="2010-10-06T12:24:45.567" LastActivityDate="2010-10-06T12:24:45.567" CommentCount="0" CommunityOwnedDate="2010-10-05T03:10:38.400" ContentLicense="CC BY-SA 2.5" />
  <row Id="1935" PostTypeId="1" AcceptedAnswerId="1951" CreationDate="2010-10-05T04:14:25.970" Score="6" ViewCount="4388" Body="&lt;p&gt;I was just wondering what the complexity of the PageRank problem is.  A description can be found here:  &lt;a href=&quot;http://en.wikipedia.org/wiki/PageRank&quot;&gt;http://en.wikipedia.org/wiki/PageRank&lt;/a&gt; .  (I am referring to the problem that is solved by the PageRank algorithm, i.e., the question of how one should reasonably distribute &quot;ranking&quot; throughout a graph in a way that is consistent with the model presented in the article I've linked to.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I've always been curious as to whether or not there is a deterministic polynomial time algorithm that can do as well as the actual PageRank algorithm that Google uses.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's clear to me that the problem is FNP at worst, as it's easy to verify if a given &quot;arrangement&quot; of rankings for a series of nodes is consistent and valid.  I'm not sure beyond that, though.  Is it NP-hard?  I cannot think of which NP-complete problem would reduce to it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thank you,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Philip&lt;/p&gt;&#xA;" OwnerUserId="1338" LastEditorUserId="80" LastEditDate="2010-10-05T06:30:04.700" LastActivityDate="2010-10-05T14:41:43.307" Title="What is the computational complexity of the PageRank problem?" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="1936" PostTypeId="2" ParentId="1346" CreationDate="2010-10-05T05:24:23.413" Score="18" Body="&lt;p&gt;This problem appears to be very similar to SEQUENCING TO MINIMIZE MAXIMUM CUMULATIVE COST, problem [SS7] in &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0716710455&quot;&gt;Garey &amp;amp; Johnson&lt;/a&gt;. To wit:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;INSTANCE: Set $T$ of tasks, partial order $\prec$ on $T$, a &quot;cost&quot; $c(t) \in Z$ for each $t \in T$ (if $c(t) &amp;lt; 0$, it can be viewed as a &quot;profit&quot;), and a constant $K \in Z$. &lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;QUESTION: Is there a one-processor schedule $\sigma$ for $T$ that obeys the precedence constraints and which has the property that, for every task $t \in T$, the sum of the costs for all tasks $t'$ with $\sigma(t') \leq \sigma(t)$ is at most $K$?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I am uncertain whether the problem remains NP-complete when $K$ is fixed to 0. G&amp;amp;J mention that the problem remains NP-complete if $c(t) \in \{-1,0,1\}$ for all $t \in T$.&lt;/p&gt;&#xA;" OwnerUserId="751" LastEditorUserId="751" LastEditDate="2010-10-05T17:02:25.820" LastActivityDate="2010-10-05T17:02:25.820" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="1937" PostTypeId="2" ParentId="1920" CreationDate="2010-10-05T05:52:08.670" Score="12" Body="&lt;p&gt;Shameless plug: use of the Isotropic conjecture (and convex geometry in general) in designing approximately optimal differentially private mechanisms for linear queries in my &lt;a href=&quot;http://arxiv.org/abs/0907.3754&quot;&gt;work&lt;/a&gt; with &lt;a href=&quot;http://www.cs.princeton.edu/~mhardt/&quot;&gt;Moritz Hardt&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To partially answer Suresh's question above, I think the original question is a slightly tricky one because of the &quot;not normally considered to apply in computer science&quot;. Some of these techniques which may seem originally &quot;unrelated&quot; become &quot;normal&quot; over time. So the most successful of these techniques (e.g. Fourier analysis in Kahn-Kalai-Linial, metric embeddings in Linial-London-Rabinovich) are not valid answers any more.&lt;/p&gt;&#xA;" OwnerUserId="982" LastActivityDate="2010-10-05T05:52:08.670" CommentCount="1" CommunityOwnedDate="2010-10-05T05:52:08.670" ContentLicense="CC BY-SA 2.5" />
  <row Id="1938" PostTypeId="1" AcceptedAnswerId="1945" CreationDate="2010-10-05T06:14:38.637" Score="12" ViewCount="1591" Body="&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Tree_decomposition&quot; rel=&quot;nofollow noreferrer&quot;&gt;Tree width&lt;/a&gt; measures how close a graph is to a tree. Several NP-hard problems are tractable on graphs with bounded tree width. If a problem remains NP-hard on trees then tree width cannot save us. This was the motivation behind one of my &lt;a href=&quot;https://cstheory.stackexchange.com/questions/1215/np-hard-problems-on-trees&quot;&gt;previous questions&lt;/a&gt; asking for NP-hard problems on trees.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are several directed versions of tree width measuring how close a directed graph is to a directed acyclic graph (DAG). What are some &lt;em&gt;directed&lt;/em&gt; problems that remain NP-hard on DAGs ? A directed problem makes essential use of the directions of the edges. For example, hamiltonian path is a directed problem whereas vertex cover is not. One of the answers to my &lt;a href=&quot;https://cstheory.stackexchange.com/questions/1215/np-hard-problems-on-trees&quot;&gt;previous question&lt;/a&gt; gave a general recipe for generating problems that are hard on trees. Is there such a recipe for DAGs ?&lt;/p&gt;&#xA;" OwnerUserId="344" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2016-08-11T14:42:28.007" Title="Directed NP-hard problems on DAGs" Tags="&lt;np-hardness&gt;&lt;directed-acyclic-graph&gt;" AnswerCount="4" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="1939" PostTypeId="2" ParentId="1938" CreationDate="2010-10-05T07:38:37.430" Score="1" Body="&lt;p&gt;From the logic point of view, evaluate a MSO formula is NP-hard on DAGs.&#xA;For example, $\varphi:=\exists C_1 C_2 C_3 [\forall x (C_1 x \lor C_2 x \lor C_3 x) \land \bigwedge_{i=1,2,3}\forall x,y(\neg C_i x \lor \neg C_i y\lor \neg E(x,y))]$ says graph G can be 3-colored. And for any undirected graph $G$, we can directed its edges to get a DAG $G'$,&#xA;and change all $E(x,y)$ in $\varphi$ to $E(x,y)\lor E(y,x)$. Now we have $G\models\varphi\iff G'\models\varphi'$.&lt;/p&gt;&#xA;" OwnerUserId="553" LastActivityDate="2010-10-05T07:38:37.430" CommentCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="1940" PostTypeId="1" CreationDate="2010-10-05T08:16:55.263" Score="12" ViewCount="1805" Body="&lt;p&gt;What are the most practically efficient algorithms for multiplying two very sparse boolean matrices (say, N=200 and there are just some 100-200 non-zero elements)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Actually, I have the advantage that when I'm multiplying A by B, the B's are predefined and I can do arbitrarily complex preprocessing on them. I also know that the results of products are always as sparse as the original matrices.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The &quot;rather naive&quot; algorithm (scan A by rows; for each 1 bit of the A-row, OR the result with the corresponding row of B) turns out very efficient and requires only a couple thousand of CPU instructions to compute a single product, so it won't be easy to surpass it, and it's only surpassable by a constant factor (because there are hundreds of one bits in the result). But I'm not losing hope and asking the community for help :)&lt;/p&gt;&#xA;" OwnerUserId="326" LastEditorUserId="326" LastEditDate="2010-10-05T10:22:45.653" LastActivityDate="2011-08-27T21:49:44.633" Title="Fast sparse boolean matrix product with possible preprocessing" Tags="&lt;ds.algorithms&gt;&lt;matrix-product&gt;&lt;sparse-matrix&gt;&lt;boolean-matrix&gt;&lt;implementation&gt;" AnswerCount="2" CommentCount="4" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="1941" PostTypeId="2" ParentId="1923" CreationDate="2010-10-05T08:26:06.653" Score="39" Body="&lt;p&gt;My understanding is that the known proof for the &lt;a href=&quot;http://en.wikipedia.org/wiki/Robertson-Seymour_theorem&quot;&gt;Robertson-Seymour theorem&lt;/a&gt; uses the Axiom of Choice (via Kruskal's tree theorem). This is considerably interesting from TCS viewpoint, as Robertson-Seymour theorem implies that membership testing in any given minor-closed family of graphs can be done in polynomial time. In other words, the Axiom of Choice can be used indirectly to prove that polynomial time algorithms &lt;em&gt;exists&lt;/em&gt; for certain problems, without actually constructing those algorithms.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This might, though, not be exactly what you are looking for, as it's not clear whether AC is actually required here.&lt;/p&gt;&#xA;" OwnerUserId="290" LastActivityDate="2010-10-05T08:26:06.653" CommentCount="6" ContentLicense="CC BY-SA 2.5" />
  <row Id="1942" PostTypeId="1" AcceptedAnswerId="5444" CreationDate="2010-10-05T08:30:32.397" Score="9" ViewCount="530" Body="&lt;p&gt;Given a tournament $T$ where $S_1$ and $S_2$ be two acyclic sub-tournament of $T$. &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is the following problem NP-Complete: Finding a maximum acyclic sub-tournament $S$, which is subset of $S_1 \cup S_2$? &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Can the given problem be solved in polynomial time? If not please state the NP-Completeness. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;By keeping $S_1$ as such and removing only the vertices from $S_2$, an $S&amp;#39;$ maximal acyclic tournament belonging to $S_1 \cup S_2$ can be obtained in polynomial time. The solution $S&amp;#39;$ thus obtained may not be the same as the maximum acyclic sub-tournament $S$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The polynomial time algorithm is based on compression step in iterative compression algorithm for feedback vertex set in tournament from the paper&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;a href=&quot;http://www.google.com.tw/url?sa=t&amp;amp;source=web&amp;amp;cd=1&amp;amp;ved=0CB0QFjAA&amp;amp;url=http%3A%2F%2Ftheinf1.informatik.uni-jena.de%2Fpublications%2Ffeedback-set-tournaments-jda09.pdf&amp;amp;ei=luluTb7lNIfMuAPk9eG9AQ&amp;amp;usg=AFQjCNG2FCBXsADF-COlfCqtttHw57N5kA&quot; rel=&quot;nofollow&quot;&gt;Fixed-parameter tractability results for feedback set problems in tournaments&lt;/a&gt;, Michael Dom, Jiong Guo, Falk Hüffner, Rolf Niedermeier, Anke Truss, Journal of Discrete Algorithms 8 (2010) 76–86.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;If finding a maximal acyclic sub-tournament $S$ is NP-complete then I have no choice except to find $S&amp;#39;$, so I wish to know whether finding $S$ is NP-complete or not.&lt;/p&gt;&#xA;" OwnerUserId="851" LastEditorUserId="1800" LastEditDate="2011-03-03T01:08:39.300" LastActivityDate="2011-03-24T05:31:37.997" Title="Finding a maximum acyclic sub-tournament given two acyclic sub-tournaments" Tags="&lt;ds.algorithms&gt;&lt;np-hardness&gt;&lt;graph-algorithms&gt;" AnswerCount="1" CommentCount="6" FavoriteCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1943" PostTypeId="1" AcceptedAnswerId="1947" CreationDate="2010-10-05T09:15:27.430" Score="5" ViewCount="279" Body="&lt;p&gt;I'm not sure whether this question should be asked on mathoverflow.com or here, but as it is in the context of computational complexity, I will ask here.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Context&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;Oded Goldreich states in his book &lt;em&gt;Computational Complexity: A Conceptual Perspective&lt;/em&gt; (no advertising intended!) that a search problem is in &lt;em&gt;PC&lt;/em&gt; (Polynomial-Time Check) if it fulfills this condition among others:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;There exists a polynomial $p$ s.t. if $(x, y) \in R$ then $|y| \leq p(|x|)$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;h2&gt;Question&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;If the solution to a search problem is a function, how is the &lt;em&gt;size&lt;/em&gt; of the function ($|y|$) determined? I thought, it could be size of the &lt;em&gt;input&lt;/em&gt; of that function, but I am not sure.&lt;/p&gt;&#xA;" OwnerUserId="1647" LastEditorUserId="1647" LastEditDate="2010-10-05T09:25:09.197" LastActivityDate="2010-10-05T10:49:51.777" Title="What is the size of a function?" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="1944" PostTypeId="1" CreationDate="2010-10-05T09:59:54.167" Score="1" ViewCount="1891" Body="&lt;p&gt;Given a DAG with $|V| = n$ and has $s$ sources, we have to present subgraphs such that each subgraph has approximately $k_1=\sqrt{s}$ sources and approximately $k_2=\sqrt{n}$ nodes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Note: &lt;strong&gt;Approximately&lt;/strong&gt; means that each subgraph contains $\lceil \sqrt{n}\rceil$ or  $\lfloor \sqrt{n} \rfloor$ nodes and covers  $\lceil \sqrt{s}\rceil$ or &#xA;$\lfloor \sqrt{s} \rfloor$ sourses of the original graph. All &lt;strong&gt;sources&lt;/strong&gt; of the original graph have to be covered by some subgraph, so there has to be $\lceil \sqrt{s}\rceil$ or                $\lfloor \sqrt{s} \rfloor$ subgraphs.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assume following about the graph G(V,E):&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;We try to solve the problem for&#xA;graphs in which such partition&#xA;exists - if the partition doesn't&#xA;exist it can be stated that it is&#xA;impossible to create partition&lt;/li&gt;&#xA;&lt;li&gt;All the graph's node will have $\forall v \in V\ $ in_deg(v)=2 or in_deg(v)=1&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Let's define the &lt;strong&gt;height&lt;/strong&gt; of the DAG to be the maximum path length from some source to some sink.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The subgraphs have following requirements:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;We require that all subgraphs&#xA;generated will have the same height(&#xA;max length of longest path)&lt;/li&gt;&#xA;&lt;li&gt;Nodes of each subgraph should be&#xA;reachable from the sources within&#xA;that subgraph, using nodes of that&#xA;subgraph as intermediate nodes.&lt;/li&gt;&#xA;&lt;li&gt;Moreover, the intersection of each&#xA;pair of node sets (of subgraphs)&#xA;must be empty.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;In the following picture, you can see an example of a right partition (assume that each edge in the graph is directed upwards).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/PSaBI.png&quot; alt=&quot;illustration&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are 36 nodes and 8 sources [#10,11,12,13,20,21,22,23] in the example. So each subgraph should have 6 nodes and 2 or 3 sources.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Do you have idea for algorithm?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thank you very much &lt;/p&gt;&#xA;" OwnerUserId="1648" LastEditorUserId="-1" LastEditDate="2013-05-10T06:36:12.540" LastActivityDate="2013-05-10T06:36:12.540" Title="DAG partitioning to subgraphs" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;directed-acyclic-graph&gt;&lt;clustering&gt;" AnswerCount="0" CommentCount="19" FavoriteCount="4" CommunityOwnedDate="2010-10-09T15:55:47.267" ContentLicense="CC BY-SA 2.5" />
  <row Id="1945" PostTypeId="2" ParentId="1938" CreationDate="2010-10-05T10:13:14.293" Score="7" Body="&lt;p&gt;This only aims at partially answering the first question of the post:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What are some directed problems that remain NP-hard on DAGs ?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;In [1], a few natural problems on directed graphs are given that remain NP-hard on DAGs. The motivation of the paper is to find a &quot;good&quot; treewidth-like measure for digraphs. They argue that the drawback of many measures for digraphs is that they are constant for DAGs, but many directed counterparts of natural problems remain NP-hard on DAGs. For more on this topic, see also [2] and the references of these papers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] Robert Ganian, Petr Hlinený, Joachim Kneis, Alexander Langer, Jan Obdrzálek, Peter Rossmanith: On Digraph Width Measures in Parameterized Algorithmics. IWPEC 2009:185-197. &lt;a href=&quot;http://www.fi.muni.cz/~hlineny/Research/papers/kenny-full.pdf&quot; rel=&quot;nofollow&quot;&gt;Full version&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] Robert Ganian, Petr Hlinený, Joachim Kneis, Daniel Meister, Jan Obdrzálek, Peter Rossmanith, Somnath Sikdar: Are there any good digraph width measures?. IPEC 2010, to appear. &lt;a href=&quot;http://arxiv.org/abs/1004.1485&quot; rel=&quot;nofollow&quot;&gt;arXiv&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="72" LastEditorUserId="20581" LastEditDate="2016-08-11T14:42:28.007" LastActivityDate="2016-08-11T14:42:28.007" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="1946" PostTypeId="2" ParentId="1923" CreationDate="2010-10-05T10:25:19.887" Score="21" Body="&lt;p&gt;This relates to the answer given by Janne Korhonen.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There was a stream of results in the 80's and 90's that tried to characterize the axiom systems (in other words, the arithmetic theory) needed to prove extensions of Kruskal Tree Theorem (KTT; the original KTT is from 1960). In particular, Harvey Friedman proved several results following this line (see S. G. Simpson. &lt;em&gt;Nonprovability of certain combinatorial properties of finite trees&lt;/em&gt;. In L. A. Harrington et al., editor, Harvey Friedman's Research on Foundations of Mathematics. Elsevier, North-Holland, 1985). These results showed that (certain extensions of) KTT must use &quot;strong&quot; Comprehension Axioms (i.e., axioms saying that certain sets of high logical complexity exist). I don't know precisely about the provability of extensions of KTT in ZF (without the axiom of choice). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In parallel to this stream of results, there was an attempt to connect it to (&quot;Theory B&quot;) TCS via &lt;em&gt;rewrite systems&lt;/em&gt;. The idea is to construct rewriting systems (think of it as a sort of functional programming, or lambda-calculus programs) for which their &lt;em&gt;termination&lt;/em&gt; depend on  certain (extensions) of KTT (the original connection between KTT and rewrite systems termination was proved by N. Dershowitz (1982)). This implies that to show that certain programs terminate one needs strong axioms (since extensions of KTT need such axioms).&#xA;For this type of results, see e.g. A. Weiermann, &lt;em&gt;Complexity bounds for some finite forms of Kruskal's theorem&lt;/em&gt;, Journal of Symbolic Computation 18 (1994), 463-488. &lt;/p&gt;&#xA;" OwnerUserId="78" LastActivityDate="2010-10-05T10:25:19.887" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1947" PostTypeId="2" ParentId="1943" CreationDate="2010-10-05T10:28:55.230" Score="6" Body="&lt;p&gt;This is a basic question, yet I tend to answer simple ones too :)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the book you mentioned, take a look at section 1.2.1 (page 18). It describes how various objects are encoded. Among other things, it includes a section &quot;Strings,&quot; in which &quot;relation encoding&quot; is described:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;At times, we associate $\{0, 1\}^∗ \times \{0, 1\}^∗$ with $\{0, 1\}^∗$; the reader should merely consider an adequate encoding (e.g., the pair &#xA;$(x_1 \dots x_m, y_1 \dots y_n) \in \{0, 1\}^∗ \times \{0, 1\}^∗$ &#xA;may be encoded by the string $x_1x_1 \dots x_mx_m01y_1 \dots y_n \in \{0, 1\}^∗$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Functions are a special type of relation, so they can be similarly encoded. In particular, a (finite and discrete) function can be seen as a list of input-output relations: $f=\{(x_1,y_1),\dots,(x_n,y_n)\}$. This can be easily encoded by incorporating a special symbol, say $\circ$. That is, $enc(f)=x_1 \circ y_1 \circ \dots \circ x_n \circ y_n$. (The encoding can be done without any special symbol, but it adds unnecessary intricacy.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This way, the size of $f$ is the size of its encoding: $|enc(f)| \approx \sum_{i=1}^{n}{(|x_i|+|y_i|)}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Needless to say, infinite functions have infinite size, unless you can compress the list somehow. (This brings up the &quot;&lt;a href=&quot;http://en.wikipedia.org/wiki/Kolmogorov_complexity&quot; rel=&quot;nofollow&quot;&gt;Kolmogorov Complexity Theory&lt;/a&gt;&quot;, which is a story for another day!)&lt;/p&gt;&#xA;" OwnerUserId="873" LastEditorUserId="873" LastEditDate="2010-10-05T10:49:51.777" LastActivityDate="2010-10-05T10:49:51.777" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="1948" PostTypeId="1" AcceptedAnswerId="1953" CreationDate="2010-10-05T11:48:54.147" Score="18" ViewCount="848" Body="&lt;p&gt;I'm interested in an explicit Boolean function $f \colon \\{0,1\\}^n \rightarrow \\{0,1\\}$ with the following property: if $f$ is constant on some affine subspace of $\\{0,1\\}^n$, then the dimension of this subspace is $o(n)$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is not difficult to show that a symmetric function does not satisfy this property&#xA;by considering a subspace $A=\\{x \in \\{0,1\\}^n \mid x_1 \oplus x_2=1, x_3 \oplus x_4=1, \dots, x_{n-1} \oplus x_n=1\\}$. Any $x \in A$ has exactly $n/2$ $1$'s and hence $f$ is constant the subspace $A$ of dimension $n/2$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Cross-post: &lt;a href=&quot;https://mathoverflow.net/questions/41129/a-boolean-function-that-is-not-constant-on-affine-subspaces-of-large-enough-dimen&quot;&gt;https://mathoverflow.net/questions/41129/a-boolean-function-that-is-not-constant-on-affine-subspaces-of-large-enough-dimen&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="1650" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2010-10-31T03:27:41.493" Title="A Boolean function that is not constant on affine subspaces of large enough dimension" Tags="&lt;cc.complexity-theory&gt;&lt;circuit-complexity&gt;&lt;derandomization&gt;&lt;linear-algebra&gt;" AnswerCount="2" CommentCount="12" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="1949" PostTypeId="2" ParentId="1920" CreationDate="2010-10-05T12:26:00.070" Score="14" Body="&lt;p&gt;Alon and Naor used Grothendieck's inequality to prove an &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=1007352.1007371&quot;&gt;approximation algorithm on the max-cut problem&lt;/a&gt;. I think that there are subsequent works on that topic but I'm not an expert.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Interestingly, the same theorem was used by Cleve, Hoyer, Toner and Watrous to analyze quantum XOR games, and Linial and Shraibman used it for quantum communication complexity. Up to my knowledge, the relation between Grothendieck's inequality and the foundation of quantum physics was discovered by Tsirelson in 85, but the two results I mentioned specifically address computer science.&lt;/p&gt;&#xA;" OwnerUserId="899" LastActivityDate="2010-10-05T12:26:00.070" CommentCount="1" CommunityOwnedDate="2010-10-05T12:26:00.070" ContentLicense="CC BY-SA 2.5" />
  <row Id="1950" PostTypeId="2" ParentId="1948" CreationDate="2010-10-05T13:02:20.430" Score="9" Body="&lt;p&gt;A function that that satisfies something similar to (but much weaker than) what you want is the determinant of a matrix over $\mathbb{F}_2$. It can be shown that the determinant of an $n\times n$ matrix is non-constant on any affine subspace of dimension at least $n^2 - n$. &lt;/p&gt;&#xA;" OwnerUserId="877" LastActivityDate="2010-10-05T13:02:20.430" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="1951" PostTypeId="2" ParentId="1935" CreationDate="2010-10-05T14:41:43.307" Score="10" Body="&lt;p&gt;As pointed out on the wikipedia page you cite, PageRank is simply computing the eigenvector corresponding to the maximum eigenvalue of the (modified) adjacency matrix of the web graph.  Since this is simple linear algebra, it should definitely be in FP, if not much smaller classes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Part of the issue with Google's implementation is that the web is so large that its adjacency matrix doesn't fit into the memory of any single (or even any 10,000) computers.  So although the complexity of PageRank is technically in FP, the scale at which Google is doing it doesn't really fit into the realm of traditional single-processor complexity.  To discuss the complexity of actually computing PageRank on a graph as large as the whole web, you'd at the very least have to consider some sort of distributed computation model.&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2010-10-05T14:41:43.307" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="1952" PostTypeId="2" ParentId="1914" CreationDate="2010-10-05T15:38:50.780" Score="6" Body="&lt;p&gt;As for what invariant properties are being used, and what transformations are being applied to the permanent and determinant, see the &lt;a href=&quot;https://cstheory.stackexchange.com/questions/170/how-does-the-mulmuley-sohoni-geometric-approach-to-producing-lower-bounds-avoid-p/186#186&quot;&gt;answer&lt;/a&gt; to a related question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As for how the symmetry is used to explain computational hardness: it's not. First, it's not just symmetry that is being used, but &lt;em&gt;characterization by symmetries&lt;/em&gt;.  As discussed in &lt;a href=&quot;https://cstheory.stackexchange.com/questions/871/relationship-between-symmetry-and-computational-intractability&quot;&gt;another question of yours&lt;/a&gt;, symmetry can very well make a function &lt;em&gt;easier&lt;/em&gt; to compute. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Second, even characterization by symmetries does not explain hardness - since both $det$ and $perm$ are characterized by their symmetries, but $det$ is easy. The idea instead is this: it should be easier to understand the algebro-geometric and representation-theoretic properties of functions that are characterized by their symmetries, and hence to carry out the GCT plan of attack.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since most functions are not characterized by their symmetries, using characterization by symmetries in a crucial way also gives some hope of bypassing the natural proofs barrier, &lt;a href=&quot;https://cstheory.stackexchange.com/questions/170/how-does-the-mulmuley-sohoni-geometric-approach-to-producing-lower-bounds-avoid-p&quot;&gt;as discussed here&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(That characterization by symmetries should make understanding easier can be formalized a  tiny bit more as follows. Since GCT is studying the orbits of $det$ and $perm$, and there is a sort of duality between orbits and stabilizers, functions that are characterized by their stabilizers should have &quot;special&quot; orbits in some sense. I guess this alone doesn't actually say anything about how difficult it should be to understand these orbits. But understanding &quot;generic&quot; orbits can be very hard; having a nice property like characterization by symmetries at least gives us something to grab on to that we can try to use to gain more understanding.)&lt;/p&gt;&#xA;" OwnerUserId="129" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.743" LastActivityDate="2010-10-05T17:01:35.713" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1953" PostTypeId="2" ParentId="1948" CreationDate="2010-10-05T15:43:18.143" Score="25" Body="&lt;p&gt;The objects you are searching for are called &lt;em&gt;seedless affine dispersers&lt;/em&gt; with one output bit.  More generally, a seedless disperser with one output bit for a family $\mathcal{F}$ of subsets of $\{0,1\}^n$ is a function $f : \{0,1\}^n \to \{0,1\}$ such that on any subset $S \in \mathcal{F}$, the function $f$ is not constant.  Here, you are interested in $\mathcal{F}$ being the family of affine subspaces&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://web.mit.edu/swastik/www/affine-disperser.pdf&quot;&gt;Ben-Sasson and Kopparty in &quot;Affine Dispersers from Subspace Polynomials&quot;&lt;/a&gt; explicitly construct seedless affine dispersers for subspaces of dimension at least $6n^{4/5}$.  The full details of the disperser are a bit too complicated to describe here.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A simpler case also discussed in the paper is when we want an affine disperser for subspaces of dimension $2n/5+10$.  Then, their construction views ${\mathbb{F}}_2^n$ as ${\mathbb{F}}_{2^n}$ and specifies the disperser to be $f(x) = Tr(x^7)$, where $Tr: {\mathbb{F}}_{2^n} \to {\mathbb{F}}_2$ denotes the trace map: $Tr(x) = \sum_{i=0}^{n-1} x^{2^i}$.  A key property of the &lt;a href=&quot;http://en.wikipedia.org/wiki/Field_trace&quot;&gt;trace map&lt;/a&gt; is that $Tr(x+y) = Tr(x) + Tr(y)$.  &lt;/p&gt;&#xA;" OwnerUserId="15" LastEditorUserId="15" LastEditDate="2010-10-31T03:27:41.493" LastActivityDate="2010-10-31T03:27:41.493" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="1954" PostTypeId="2" ParentId="1920" CreationDate="2010-10-05T16:13:30.910" Score="22" Body="&lt;p&gt;Representation theory of finite groups is used in the &lt;a href=&quot;http://doi.ieeecomputersociety.org/10.1109/SFCS.2005.39&quot;&gt;Cohn-Kleinberg-Szegedy-Umans approach to matrix multiplication&lt;/a&gt;.&#xA;They show that if families of wreath products of abelian with symmetric groups satisfying certain conditions exist, then there are matrix multiplication algorithms of quadratic complexity.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Representation theory (of algebraic groups) also shows up in Mulmuley and Sohoni's &lt;a href=&quot;http://ramakrishnadas.cs.uchicago.edu/&quot;&gt;geometric complexity theory&lt;/a&gt; approach to lower bounds.  It's not clear yet if this counts as an application, since no new complexity results have yet been proven with this approach, but at least an interesting connection has been made between two areas that at first blush seem totally unrelated.&lt;/p&gt;&#xA;" OwnerUserId="129" LastEditorUserId="168" LastEditDate="2010-12-23T01:39:27.460" LastActivityDate="2010-12-23T01:39:27.460" CommentCount="0" CommunityOwnedDate="2010-10-05T16:13:30.910" ContentLicense="CC BY-SA 2.5" />
  <row Id="1955" PostTypeId="1" CreationDate="2010-10-05T17:17:46.680" Score="33" ViewCount="26905" Body="&lt;p&gt;I need a finite automata theory book with lots of examples that I can use for self-study and to prepare for exams.&lt;/p&gt;&#xA;" OwnerUserId="1652" LastEditorUserId="186" LastEditDate="2010-11-18T09:46:01.803" LastActivityDate="2014-07-08T11:24:39.123" Title="Books on automata theory for self-study" Tags="&lt;reference-request&gt;&lt;automata-theory&gt;&lt;fl.formal-languages&gt;" AnswerCount="11" CommentCount="0" FavoriteCount="43" CommunityOwnedDate="2010-10-05T17:17:46.680" ContentLicense="CC BY-SA 2.5" />
  <row Id="1956" PostTypeId="1" AcceptedAnswerId="1968" CreationDate="2010-10-05T17:19:26.720" Score="12" ViewCount="783" Body="&lt;p&gt;Computational geometry is an area I find pretty interesting, and I'd like to devote about a month or two to a project that will introduce me to this and help me learn key concepts.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is a good way to approach this and what are the key concepts I should be sure I'm introduced too?&lt;/p&gt;&#xA;" OwnerDisplayName="cgplease" LastActivityDate="2010-10-06T19:04:02.053" Title="What is a really good problem to get your hands dirty in computational-geometry?" Tags="&lt;soft-question&gt;&lt;cg.comp-geom&gt;" AnswerCount="6" CommentCount="2" FavoriteCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="1957" PostTypeId="2" ParentId="1956" CreationDate="2010-10-05T17:23:11.287" Score="4" Body="&lt;p&gt;Buy a book such as &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/3540779736&quot; rel=&quot;nofollow&quot;&gt;this one&lt;/a&gt;, implement the algorithms, and find out some example or small project to work on from the exercise section. &lt;a href=&quot;http://cgm.cs.mcgill.ca/~athens/cs507/Projects/&quot; rel=&quot;nofollow&quot;&gt;Here&lt;/a&gt; and &lt;a href=&quot;http://valis.cs.uiuc.edu/~sariel/research/CG/applets/project.html&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt; are lists of many project ideas. Google ought to reveal many others. Pick one that sounds fun and go for it.&lt;/p&gt;&#xA;" OwnerUserId="77" LastEditorUserId="77" LastEditDate="2010-10-05T20:07:59.957" LastActivityDate="2010-10-05T20:07:59.957" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1958" PostTypeId="2" ParentId="1955" CreationDate="2010-10-05T17:34:43.080" Score="35" Body="&lt;p&gt;The classical reference is &quot;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0321462254&quot;&gt;Introduction To Automata Theory, Languages and Computation&lt;/a&gt;&quot; (by Hopcroft, Motwani, and Ullman). Some people also recommend the much older &quot;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/B000XI9B9A&quot;&gt;Formal Languages and Their Relation to Automata&lt;/a&gt;&quot; (by Hopcroft and Ullman).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I, however, like &quot;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0534950973&quot;&gt;Introduction to the Theory of Computation&lt;/a&gt;&quot; (by Sipser). It is very well written, and is a relatively new book.&lt;/p&gt;&#xA;" OwnerUserId="873" LastEditorUserId="873" LastEditDate="2010-10-05T19:05:17.520" LastActivityDate="2010-10-05T19:05:17.520" CommentCount="20" CommunityOwnedDate="2010-10-05T17:34:43.080" ContentLicense="CC BY-SA 2.5" />
  <row Id="1959" PostTypeId="2" ParentId="1956" CreationDate="2010-10-05T17:58:05.953" Score="7" Body="&lt;p&gt;While this might be too daunting to jump into before you do as Dave suggests, there's a nice collection of &lt;a href=&quot;http://maven.smith.edu/~orourke/TOPP/&quot; rel=&quot;nofollow&quot;&gt;open problems in computational geometry&lt;/a&gt; maintained by Joe O'Rourke, Erik Demaine and Joe Mitchell. These provide a good snapshot of core questions in the theoretical realm. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2010-10-05T17:58:05.953" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1960" PostTypeId="2" ParentId="1842" CreationDate="2010-10-05T18:21:24.533" Score="3" Body="&lt;p&gt;Attention: This is a partial answer based on conjecture and hearsay! Whereas David Eppstein's more general problem is NP-complete, maybe this one is in P.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let us say that a bipartite graph $(A \cup B, E)$ with $|A|=|B|=n$ is &quot;UPMX&quot; if it is extendable to a graph with a unique perfect matching. Here are some necessary conditions for UPMX:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;it must not contain 2 perfect matchings, &lt;/li&gt;&#xA;&lt;li&gt;the degree sequence of A, when sorted in increasing order, must be componentwise $\le (1, 2, ..., n)$, and likewise for B. I'll call this the &quot;degree condition.&quot;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;So far, I haven't been able to find any example where a graph meets these conditions, but fails to be UPMX. In that case, maybe they are sufficient. One might prove this by the following algorithm: &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;if the graph has &gt;1 perfect matchings, return &quot;not UPMX&quot;&lt;/li&gt;&#xA;&lt;li&gt;if the graph fails the degree condition, return &quot;not UPMX&quot;&lt;/li&gt;&#xA;&lt;li&gt;if the graph has =1 perfect matching, return &quot;UPMX&quot;&lt;/li&gt;&#xA;&lt;li&gt;otherwise, maybe we can show it is UPMX. Perhaps the following algorithm could prove it:&#xA;&lt;ul&gt;&#xA;&lt;li&gt;while the graph has $\le \tbinom{n+1}{2} - 2$ edges,&lt;/li&gt;&#xA;&lt;li&gt;find some new edge e whose addition does not create a perfect matching and does not violate the degree condition; add e to the graph&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;li&gt;now the graph has $\tbinom{n+1}{2} - 1$ edges and no perfect matching, and satisfies the degree condition. I think it's not too hard to show it is UPMX, hence so was the original graph.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;You can characterize which new edges would create a perfect matching by using Hall's theorem, and it is not hard to characterize which new edges would violate the degree bound. Unfortunately, even if it's true that an edge of the right type always exists, I have not been able to prove it.&lt;/p&gt;&#xA;" OwnerUserId="771" LastActivityDate="2010-10-05T18:21:24.533" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="1961" PostTypeId="2" ParentId="1244" CreationDate="2010-10-05T18:42:22.207" Score="7" Body="&lt;p&gt;I think I have such a reduction for the case when we aren't allowed to break the given cycles. Let $C$ be the set of the vertices belonging to the selected cycles (wlog assume that $G[C]$ is connected), and let $D = V\setminus C$. We cannot remove any vertex from $C$. Let's collapse all the vertices from $C$ into one vertex $c_1$ (of course delete the created loops, but keep the double edges), and create $k$ copies of $c$, with the same neighborhood (so now we have a graph on $\{c_1, \dots, c_{k+1}\} \cup D$). We now search for a feedback vertex set. If I'm not mistaken, instance of feedback vertex set thus created has a solution of size $k$ iff our graph had a solution of size $k$ to our problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;edit:&lt;/strong&gt; Answer to Prabu's doubt from the comment&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The vertices $v_1$ and $v_4$ would indeed collapse to a vertex $v$ (with all other vertices of the forbidden cycles), but the reduction creates $k+1$ copies of $v$ (let's call them $w_1, ..., w_{k+1}$). So the cycle $P$ is transformed into two families of cycles: $F_1 = \{(w_i, v_2, v_3, w_i): i \in [k+1]\}$ and $F_2 = \{(w_i, v_5, v_6, w_i): i \in [k+1]\}$. To break all the cycles from $F_1$, we would have to delete either all the vertices $w_i$ (but we can't, there's too many of them), or one of the vertices $\{v_2, v_3\}$. Same goes for $F_2$ - so altogether we delete exactly 2 vertices.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let's now look at our original graph. We have two cycles here, one is $P$, and the other: $(v_1, v_2, v_3, v_4, c_1, c_2, ..., c_l, v_1)$, where $v_4, c_1, ..., c_l, v_1$ is some path from $v_4$ to $v_1$ using only the vertices from the forbidden cycles, which we cannot delete (we assumed that $G[C]$ is connected, if we want to get rid of this assumption, we would have to consider connected components of $C$ and collapse vertices from these components separately). To destroy both of this cycles we would also have to delete one vertex from $\{v_2, v_3\}$ and one from $\{v_5, v_6\}$ (you can easily see this when you draw this graph).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So the reduction did exactly what we wanted in this case.&lt;/p&gt;&#xA;" OwnerUserId="327" LastEditorUserId="327" LastEditDate="2010-10-06T21:33:56.670" LastActivityDate="2010-10-06T21:33:56.670" CommentCount="6" ContentLicense="CC BY-SA 2.5" />
  <row Id="1962" PostTypeId="1" AcceptedAnswerId="1999" CreationDate="2010-10-05T19:13:05.393" Score="28" ViewCount="1762" Body="&lt;p&gt;Is the following problem NP-hard?&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Given a board configuration for $n\times n$ &lt;a href=&quot;http://en.wikipedia.org/wiki/International_draughts&quot;&gt;international draughts&lt;/a&gt;, find a single legal move.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The corresponding problem for $n\times n$ &lt;a href=&quot;http://en.wikipedia.org/wiki/English_draughts&quot;&gt;American checkers (aka English draughts)&lt;/a&gt; is trivially solvable in polynomial time.  There are three major differences between these two games.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The first and most significant difference is the “flying king” rule.  In checkers, a king may jump over an &lt;em&gt;adjacent&lt;/em&gt; opponent's piece into an empty square &lt;em&gt;two&lt;/em&gt; steps away in any diagonal direction.  In international draughts, a king may jump over an opponent's piece an &lt;em&gt;arbitrary&lt;/em&gt; distance away by moving an &lt;em&gt;arbitrary&lt;/em&gt; distance along a diagonal.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As in checkers, the same piece can be used to capture a series of pieces in a single turn.  However, unlike checkers, captured pieces in international draughts are not removed until the entire sequence is over.  The capturing piece may jump over or land in the same empty square multiple times, but it may not jump over an opponent's piece more than once.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, both checkers and international draughts have a forced capture rule: If you can capture an opponent's piece, you must.  However, the rules rules disagree when there are several options for multiple.  In checkers, you may choose any &lt;em&gt;maximal&lt;/em&gt; sequence of captures; in other words, you can choose any capture sequence that ends when the capturing piece cannot capture any more.  In international draughts, you &lt;em&gt;must&lt;/em&gt; choose the &lt;em&gt;longest&lt;/em&gt; sequence of captures.  Thus, my problem is &lt;em&gt;equivalent&lt;/em&gt; to the following:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Given a board configuration for $n\times n$ &lt;a href=&quot;http://en.wikipedia.org/wiki/International_draughts&quot;&gt;international draughts&lt;/a&gt;, find a move that captures the maximum number of opposing pieces.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;It would suffice to prove that the following problem is NP-complete.  (It's obviously in NP.)&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Given a board configuration for $n\times n$ &lt;a href=&quot;http://en.wikipedia.org/wiki/International_draughts&quot;&gt;international draughts&lt;/a&gt; &lt;em&gt;involving only kings&lt;/em&gt;, can (and therefore must) one player capture &lt;em&gt;all&lt;/em&gt; her opponent's pieces in a single turn?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The corresponding checkers problem can be answered in polynomial time; this is an entertaining homework exercise.  The problem looks more similar to &lt;a href=&quot;http://arxiv.org/abs/cs/0008025&quot;&gt;Demaine, Demaine, and Eppstein's analysis of Phutball endgames&lt;/a&gt;; a solution to the entertaining homework exercise appears at the end of their paper.  A solution also appears in the FOCS 1978 paper by &lt;a href=&quot;http://www.computer.org/portal/web/csdl/doi/10.1109/SFCS.1978.36&quot;&gt;Frankel et al.&lt;/a&gt; that proves that playing checkers optimally is PSPACE-hard; see also &lt;a href=&quot;http://dx.doi.org/10.1137/0213018&quot;&gt;Robson's 1984 proof&lt;/a&gt; that checkers is actually EXPTIME-complete.&lt;/p&gt;&#xA;" OwnerUserId="111" LastEditorUserId="-1" LastEditDate="2013-04-30T03:34:43.530" LastActivityDate="2013-04-30T03:34:43.530" Title="Is it NP-hard to play international draughts correctly?" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;&lt;open-problem&gt;&lt;board-games&gt;" AnswerCount="3" CommentCount="4" FavoriteCount="7" ContentLicense="CC BY-SA 2.5" />
  <row Id="1963" PostTypeId="2" ParentId="1956" CreationDate="2010-10-05T19:14:20.170" Score="4" Body="&lt;p&gt;Jeff Erickson &quot;&lt;a href=&quot;https://cstheory.stackexchange.com/users/111/jeffe&quot;&gt;JeffE&lt;/a&gt;&quot; has also a nice set of pointers on the topic: &lt;a href=&quot;http://compgeom.cs.uiuc.edu/~jeffe/compgeom/&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://compgeom.cs.uiuc.edu/~jeffe/compgeom/&lt;/a&gt;. Since he visits TCS SE frequently, he can help you much better.&lt;/p&gt;&#xA;" OwnerUserId="873" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2010-10-05T19:14:20.170" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="1964" PostTypeId="1" CreationDate="2010-10-05T21:12:36.477" Score="1" ViewCount="250" Body="&lt;p&gt;I want to proof whether the problem of finding the &quot;all-terminal connectivity polynomial&quot; of a given graph G(V,E) is checkable in a polynomial time. In order to do so I should first proof that it is polynomially bounded, i.e $|y| &amp;lt; p(|x|)$. &#xA;In this case I guess that $|x| \text{~} n^2$&#xA;but I am not sure about $|y|$ .&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Note - Definition&lt;/strong&gt;&#xA;For a given graph $G(V, E)$ each edge $E_{ij}$ has a $p_{ij}$-probability of being reliable and $(1 - p_{ij})$ probability of failure. Considering that each edge fails independently and nodes are perfectly reliable, the function&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$Rel(G)$ = $Pr[$ for each pair of nodes $x_{i}$ and $x_{j}$ there exists at least one reliable path between them $]$ &lt;/p&gt;&#xA;&#xA;&lt;p&gt;is called all-terminal connectivity (or reliability) function of the network.&lt;/p&gt;&#xA;" OwnerDisplayName="beca" LastEditorDisplayName="beca" LastEditDate="2010-10-06T13:15:06.337" LastActivityDate="2010-10-10T20:28:47.663" Title="Is the problem of finding the &quot;all-terminal connectivity polynomial&quot; polynomially bounded?" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;" AnswerCount="1" CommentCount="11" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="1965" PostTypeId="1" AcceptedAnswerId="1967" CreationDate="2010-10-05T21:52:06.003" Score="12" ViewCount="506" Body="&lt;p&gt;An equivalent formulation of PCP theorem is: For Max 3-SAT it is $NP$-hard to distinguish between satisfiable formulas and formulas where at most $r$-fraction of the clauses are satisfiable (for some $r\lt 1$). &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there any known dichotomy theorem that classifies all Max CSP based on whether they have hard gaps or not?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit Dec 16, 2010&lt;/strong&gt;: MAX CSP with hard gap means that the problem has optimal inapproximability factor. For instance, 3SAT has hard gap at location one since it is polynomial time approximable to a factor $7/8$ but it is $NP$-hard to obtain approximation factor $7/8+ \epsilon$ even when all clauses are satisfiable.&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2010-12-16T08:57:06.517" LastActivityDate="2010-12-16T08:57:06.517" Title="Hard gaps in maximum constraint satisfaction problems?" Tags="&lt;cc.complexity-theory&gt;&lt;pcp&gt;&lt;csp&gt;" AnswerCount="3" CommentCount="0" FavoriteCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="1966" PostTypeId="2" ParentId="1965" CreationDate="2010-10-05T23:06:22.353" Score="4" Body="&lt;p&gt;If I'm not mistaken, the definitive result on this front is by Nadia Creignou, who showed that &lt;a href=&quot;http://dblp.uni-trier.de/rec/bibtex/journals/jcss/Creignou95&quot; rel=&quot;nofollow&quot;&gt;every problem in MAX CSP is either polytime solvable, or is MAX SNP-hard&lt;/a&gt;. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2010-10-05T23:06:22.353" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="1967" PostTypeId="2" ParentId="1965" CreationDate="2010-10-06T01:03:27.757" Score="18" Body="&lt;p&gt;Prasad Raghavendra in the STOC'08 best paper proved a dichotomy conjecture for approximating Max-CSP assuming the Unique Games Conjecture. This is not how he presented it originally, but he did give talks presenting things this way a couple of years later, e.g., at the IAS, where it was videotaped:&#xA;&lt;a href=&quot;http://www.math.ias.edu/seminars/abstract?event=36669&quot;&gt;http://www.math.ias.edu/seminars/abstract?event=36669&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The difference from showing SNP-hardness is that here we talk about quantitatively optimal results.&lt;/p&gt;&#xA;" OwnerUserId="1621" LastActivityDate="2010-10-06T01:03:27.757" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="1968" PostTypeId="2" ParentId="1956" CreationDate="2010-10-06T01:46:51.523" Score="8" Body="&lt;p&gt;To mix Suresh V.'s and Dave C.'s suggestions, it might be fun to try to gain experimental evidence&#xA;on an unsolved problem by implementing the necessary algorithms.  For example, it is now known that the Delaunay triangulation is not a ($\pi$/2)-spanner&#xA;[Prosenjit Bose, Luc Devroye, Maarten Löffler, Jack Snoeyink, Vishal Verma: &quot;The spanning ratio of the Delaunay triangulation is greater than $\pi$/2.&quot; &lt;em&gt;CCCG 2009&lt;/em&gt;: 165-167.]&#xA;You could implement a Delaunay triangulation algorithm, and shortest paths, and try to&#xA;determine experimentally what the true spanning ratio might be.&#xA;Or, more challenging, try to compute the combinatorial complexity of the Voronoi diagram of lines in $\mathbb{R}^3$,&#xA;another unsolved problem (and in the list that Suresh mentions as &lt;a href=&quot;http://cs.smith.edu/~orourke/TOPP/P3.html&quot;&gt;Problem 3&lt;/a&gt;.)&lt;/p&gt;&#xA;" OwnerUserId="337" LastActivityDate="2010-10-06T01:46:51.523" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="1970" PostTypeId="1" CreationDate="2010-10-06T10:39:35.013" Score="12" ViewCount="317" Body="&lt;p&gt;The following question has come up a number of times when &lt;em&gt;testing&lt;/em&gt; the security of a system or model. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Motivation:&lt;/strong&gt; Software security flaws often come not from bugs due to valid inputs, but bugs resulting from invalid inputs that are sufficiently close to valid inputs to get past many of the straightforward validity checks. The classic example is of course buffer overflows, where the input is reasonable, except that it is too large. Compilers and other tools can help address these problems by modifying the layout of the stack and heap and by other obfuscation techniques. An alternative is to remove the problems from the source code itself. One technique called &lt;a href=&quot;http://en.wikipedia.org/wiki/Fuzz_testing&quot;&gt;&lt;em&gt;fuzzing&lt;/em&gt;&lt;/a&gt; bombards the program with inputs are close to expected inputs, but are in some places unreasonable (large values for integer or string fields). I would like to understand fuzzing (as one example) from a more formal perspective.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assume that the space of valid inputs is described by constraints $\Phi$. Let $M$ be the set of solutions of such constraints, namely  $M=\lbrace m\in\mathcal{M}~|~m\models\Phi\rbrace$, where $\mathcal{M}$ is the space of possible inputs. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm looking for work describing the following notions:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;The &lt;a href=&quot;http://en.wikipedia.org/wiki/Penumbra&quot;&gt;&lt;em&gt;penumbra&lt;/em&gt;&lt;/a&gt; of $M$ is a set $M'\subseteq \mathcal{M}$ such that for each &#xA;$m\in M'$ $m\not\models\Phi$ &lt;em&gt;and&lt;/em&gt; in some sense the elements of $M'$ are &lt;em&gt;close to&lt;/em&gt; the elements of $M$. One can think of the &lt;em&gt;penumbra&lt;/em&gt; as the &lt;em&gt;almost solutions&lt;/em&gt;. Of course, this notion will not be unique.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Ways of relaxing the constraints $\Phi$ to $\Phi'$ such that firstly $\Phi\Rightarrow\Phi'$ and $\Phi'\land\neg\Phi$ is, in a sense, the syntactic penumbra of $\Phi$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;&quot;Penumbra&quot; is a word I selected to describe the concept. It may well be called something else.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I found inspiration in &#xA;&lt;a href=&quot;http://en.wikipedia.org/wiki/Mathematical_morphology&quot;&gt;mathematical morphology&lt;/a&gt;, hence my visual metaphor, but the two worlds are parsecs apart. Is there any useful work there? Or perhaps in the world of &lt;a href=&quot;http://en.wikipedia.org/wiki/Rough_set&quot;&gt;rough sets&lt;/a&gt;?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can anyone shed light?&lt;/p&gt;&#xA;" OwnerUserId="77" LastEditorUserId="77" LastEditDate="2010-10-19T08:53:38.793" LastActivityDate="2010-10-19T08:53:38.793" Title="Finding the penumbra of a Constraint Satisfaction Problem" Tags="&lt;lo.logic&gt;&lt;csp&gt;&lt;security&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="1973" PostTypeId="1" AcceptedAnswerId="1974" CreationDate="2010-10-06T13:32:42.550" Score="5" ViewCount="170" Body="&lt;p&gt;Following a &lt;a href=&quot;https://cstheory.stackexchange.com/q/1362/743&quot;&gt;previous question about how to automatize the type inference in a forall elimination of an application&lt;/a&gt;, now suppose we want to do the same but for a nested forall, say $(\Lambda X_1.\Lambda X_2.\dots.\Lambda X_n.\lambda x:U.t)$ is a function of type $\forall \vec{X}.U\to T$ and we want to apply it to an argument of type $V$. Then we need to find types $W_1,\dots,W_n$ such that $U[\vec{X}/\vec{W}]=V$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is clearly another unification problem. Can we solve this problem as easily as the problem with one variable? What is the algorithm for doing this?&lt;/p&gt;&#xA;" OwnerUserId="743" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2013-04-30T03:39:48.283" Title="Nested automatization of type inference of forall elimination" Tags="&lt;pl.programming-languages&gt;&lt;type-theory&gt;&lt;type-inference&gt;&lt;polymorphism&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="1974" PostTypeId="2" ParentId="1973" CreationDate="2010-10-06T13:41:50.420" Score="5" Body="&lt;p&gt;This can be solved as easily as the other problem, as in this &lt;a href=&quot;https://cstheory.stackexchange.com/questions/1362/in-system-f-a-la-church-can-we-automatize-type-inference-for-the-for-all-elimina/1366#1366&quot;&gt;solution&lt;/a&gt;. It's basically unification. &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Ensure that the variables $X_1,\ldots,X_n$ do not appear in $V$. Replace&#xA;any variables that do by fresh ones and perform appropriate substitution into $W$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Unify $V$ and $W$ using an algorithm that finds the most general unifier (mgu). The essence of this is in the other algorithm, or, for example, page 10 of &lt;a href=&quot;http://www.math.uu.se/~palmgren/tillog/equlogic07.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;this&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The resulting mgu $[\bar{X}/\bar{W}]$ is the subtitution you require.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="77" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2010-10-06T14:14:22.167" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1975" PostTypeId="2" ParentId="930" CreationDate="2010-10-06T14:35:20.713" Score="13" Body="&lt;p&gt;If you have pairwise independence, then you can bound the variance of the sum, and thus get a concentration bound using Chebyshev's inequality.&lt;/p&gt;&#xA;" OwnerUserId="1621" LastActivityDate="2010-10-06T14:35:20.713" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="1976" PostTypeId="2" ParentId="317" CreationDate="2010-10-06T14:40:34.527" Score="9" Body="&lt;p&gt;Try &quot;No-regret learning in convex games&quot; by Gordon, Greenwald and Marks &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=1390202&quot;&gt;http://portal.acm.org/citation.cfm?id=1390202&lt;/a&gt; . Its abstract sounds like it probably answers your question, or at least anyone answering that question would cite or be cited by that paper.&lt;/p&gt;&#xA;" OwnerUserId="1522" LastEditorUserId="1522" LastEditDate="2010-10-06T14:45:48.080" LastActivityDate="2010-10-06T14:45:48.080" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1977" PostTypeId="1" CreationDate="2010-10-06T16:13:57.760" Score="19" ViewCount="2287" Body="&lt;p&gt;Consider $f(n)$, a function that returns 1 iff $n$ zeros appear consecutively in $\pi$. Now someone gave me a proof that $f(n)$ is computable:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Either for all n, $0^n$ appears in $\pi$, or there is a m s.t. $0^m$ appears in $\pi$ and $0^{m+1}$ does not.&#xA;  For the first possibility $f(n) := 1$; For the second one $f(n) := 1$ iff $n \leq m$, 0 otherwise.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The author claims that this proves computability of $f(n)$, as there exists an algorithm to compute it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is this proof correct?&lt;/p&gt;&#xA;" OwnerUserId="936" LastEditorUserId="4354" LastEditDate="2014-04-01T17:01:01.687" LastActivityDate="2015-09-02T18:12:12.650" Title="(False?) proof for computability of a function?" Tags="&lt;computability&gt;" AnswerCount="5" CommentCount="6" FavoriteCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="1979" PostTypeId="2" ParentId="1977" CreationDate="2010-10-06T17:28:34.797" Score="16" Body="&lt;p&gt;It is correct.  This is the same as the following: define $f(x)$ to be the constant function $x \mapsto 0$ if God exists, and $x \mapsto 1$ if God doesn't exist.  The resulting function is a constant function, thus computable.  What you may not be able to do is to give that function, but the function itself is computable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here, one of the two possibilities is true : either there exists such an $m$, or it doesn't.  The function is either the constant function $x \mapsto 1$ or a simple threshold function, defined with $m$.&lt;/p&gt;&#xA;" OwnerUserId="88" LastActivityDate="2010-10-06T17:28:34.797" CommentCount="10" ContentLicense="CC BY-SA 2.5" />
  <row Id="1980" PostTypeId="2" ParentId="1977" CreationDate="2010-10-06T17:32:32.903" Score="9" Body="&lt;p&gt;Yes, thats right, its computable. The issue is that your function really isn't producing the solution to an infinite family of problems, the way (say) a function computing a solution to the halting problem is -- so there is no issue about computation. Instead, you are representing in function-form some single mathematical fact with finite representation -- either an integer, or the fact that f is the constantly 1 function&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is possible to encode the halting problem in individual &lt;em&gt;real&lt;/em&gt; numbers, like Chaitan's constant $\Omega$, but integers always have finite representations and so can be encoded as Turing Machines.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finding the correct algorithm of course might be a hard problem. But finding correct algorithms is usually hard! &lt;/p&gt;&#xA;" OwnerUserId="25" LastEditorUserId="25" LastEditDate="2010-10-06T19:32:20.660" LastActivityDate="2010-10-06T19:32:20.660" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1981" PostTypeId="2" ParentId="1956" CreationDate="2010-10-06T17:36:59.407" Score="5" Body="&lt;p&gt;Victor Klee in 1973 posed a problem about guarding simple polygons (sensors to protect an art gallery placed at its vertices) that has blossomed into hundreds of papers dealing with what has come to be known as the Art Gallery Problem. Many of the basic ideas in computational geometry come into play when studying the Art Gallery Problem (things such as triangulation, decomposing polygons into pieces with special properties, visibility graphs, etc.) Joe O'Rourke's wonderfully well written book still serves as a great introduction to the ideas and methods here, and the book is available in part or whole for free at this web site:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://cs.smith.edu/~orourke/books/ArtGalleryTheorems/art.html&quot; rel=&quot;nofollow&quot;&gt;http://cs.smith.edu/~orourke/books/ArtGalleryTheorems/art.html&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think this is a great entry point into computational geometry.&lt;/p&gt;&#xA;" OwnerUserId="987" LastEditorUserId="987" LastEditDate="2010-10-06T19:04:02.053" LastActivityDate="2010-10-06T19:04:02.053" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="1982" PostTypeId="1" AcceptedAnswerId="1989" CreationDate="2010-10-06T17:49:55.817" Score="33" ViewCount="1847" Body="&lt;p&gt;I thought I would share this question as it might be interesting for other users here.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assume that a function which is in a uniform class (like $NP$) is also in a small nonuniform class (like $AC^0/poly$, i.e. nonuniform $AC^0$), does this imply that the function is contained in a smaller uniform class (like $P$)? If the answer to this question is positive, what is the smallest uniform complexity class that contains $NP \cap AC^0/poly$? If negative, can we find an interesting natural counterexample?&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is $AC^0/poly \cap NP$ contained in $P$?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Note: A &lt;a href=&quot;https://cstheory.stackexchange.com/users/40/yuval-filmus&quot;&gt;friend&lt;/a&gt; has already partially answered my question offline, I will add his answer if he doesn't add it himself. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The question is my second attempt to formalize the following informal question: &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Can non-uniformity help us in computing natural uniform problems?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Related:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/questions/1662/is-there-a-candidate-for-a-natural-problem-in-p-poly-p&quot;&gt;Is there a candidate for a natural problem in $P/poly−P$?&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="186" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2017-04-03T17:01:43.187" Title="Is $AC^0/poly \cap NP$ contained in $P$?" Tags="&lt;cc.complexity-theory&gt;&lt;circuit-complexity&gt;&lt;uniformity&gt;" AnswerCount="3" CommentCount="7" FavoriteCount="9" ContentLicense="CC BY-SA 2.5" />
  <row Id="1983" PostTypeId="2" ParentId="1977" CreationDate="2010-10-06T18:35:07.117" Score="14" Body="&lt;p&gt;I think -- and hope -- that every computer science student is confronted with this problem which feels like a paradoxon. It is a very good example for the difference of computable in TCS sense and computable in a practical sense.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My thoughts back then were: &quot;Yea, if I &lt;em&gt;knew&lt;/em&gt; the answer, it would obviously be computable. But how to find out?&quot; The trick is to rid yourself from the illusion that you have to find out wether $\pi$ has this property or not. Because this, obviously (read: imho), cannot be done by a Turing machine (as long as we do not have more knowledge than we have about $\pi$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider your definition for computability: we say $f$ is (Turing-)computable if and only if  $\exists M \in TM : f_M = f$. That is you only have to show &lt;em&gt;existence&lt;/em&gt; of an appropriate Turing machine, not &lt;em&gt;give one&lt;/em&gt;. What you -- we -- try to do there is to compute the Turing machine that computes the required function. This is a way harder problem!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The basic idea of the proof is: I give you an infinite class of functions, all of them computable (to show; trivial here). I prove then that the function you are looking for is in that class (to show; case distinction here). q.e.d.&lt;/p&gt;&#xA;" OwnerUserId="1546" LastActivityDate="2010-10-06T18:35:07.117" CommentCount="8" ContentLicense="CC BY-SA 2.5" />
  <row Id="1984" PostTypeId="2" ParentId="1956" CreationDate="2010-10-06T18:44:00.060" Score="6" Body="&lt;p&gt;Get the book &lt;a href=&quot;http://www.springer.com/mathematics/geometry/book/978-0-387-23815-9&quot; rel=&quot;nofollow&quot;&gt;research problems in discrete geometry&lt;/a&gt;. Read through it, see which problems you find interesting, read the literature, solve, and publish.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Warnning: The problems in this book are hard. However, it is an excellent introduction to open problems in the field, and a good way to learn about the field. &lt;/p&gt;&#xA;" OwnerUserId="9594" LastActivityDate="2010-10-06T18:44:00.060" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1985" PostTypeId="1" AcceptedAnswerId="2001" CreationDate="2010-10-06T21:08:35.677" Score="10" ViewCount="579" Body="&lt;p&gt;What papers on handling errors in distributed systems do you recommend?&lt;/p&gt;&#xA;" OwnerUserId="10" LastEditorUserId="1080" LastEditDate="2010-10-07T08:10:38.820" LastActivityDate="2013-10-24T14:26:58.523" Title="Papers on fault handling in distributed systems" Tags="&lt;reference-request&gt;&lt;dc.distributed-comp&gt;" AnswerCount="3" CommentCount="7" FavoriteCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="1986" PostTypeId="2" ParentId="1962" CreationDate="2010-10-06T21:23:08.483" Score="3" Body="&lt;p&gt;Now why didn't you pose this problem to me when I was working on my thesis?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;OK, I have a reduction from Planar Directed Hamiltonian Cycle.&lt;/p&gt;&#xA;" OwnerUserId="1670" LastEditorUserId="1670" LastEditDate="2010-10-06T22:33:04.077" LastActivityDate="2010-10-06T22:33:04.077" CommentCount="6" ContentLicense="CC BY-SA 2.5" />
  <row Id="1987" PostTypeId="2" ParentId="1982" CreationDate="2010-10-06T21:32:05.787" Score="33" Body="&lt;p&gt;Answer to your first question: Seems unlikely.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Theorem:&lt;/strong&gt; If $NP \cap AC^0/poly \subseteq P$ then $NEXP = EXP$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a circuit $C$ that outputs a bit, define the &lt;em&gt;decompression of C&lt;/em&gt; to be the bit string obtained by evaluating $C$ on all possible inputs. That is, the decompression is $C(0^n) C(0^{n-1}1) C(0^{n-2}10) \cdots C(1^n)$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Define the Succinct 3SAT problem as: &lt;em&gt;given a circuit $C$ of size $n$, does its decompression encode a satisfiable Boolean formula?&lt;/em&gt; Succinct 3SAT is well-known to be $NEXP$ complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now consider the language &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$L = ${$1^n | $the integer $n$ written in binary is a yes-instance of Succinct 3SAT}.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$L$ is clearly in $AC^0/poly$, since you can just hardcode whether $1^n$ is in $L$, for each $n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$L$ is also in $NP$: the integer $n$ written in binary has length about $\log n$, so the decompression of this circuit has length no more than $O(n)$. Hence the satisfying assignment has length at most $O(n)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But by the same observations, if $L \in P$, then $NEXP=EXP$, because it means that you &#xA;have an $O(n^c)$ time algorithm for deciding every instance of Succinct 3SAT of length $\log n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Your second question is wide open (and open-ended).&lt;/p&gt;&#xA;" OwnerUserId="225" LastActivityDate="2010-10-06T21:32:05.787" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="1988" PostTypeId="1" AcceptedAnswerId="1992" CreationDate="2010-10-06T21:37:32.443" Score="11" ViewCount="783" Body="&lt;p&gt;I have been developing a SAT algorithm for a while, and have reached a point where I'd like to share it.  I don't know many people in computer science, and I'm not sure exactly where to turn.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm wondering what resources are available for someone with an algorithm who is considering publishing.  I also need help analyzing the runtime and correctness of my algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My major problem is in analyzing the runtime.  I need help with a detailed analysis of this.  I'm fairly certain that the algorithm is correct, but it would be helpful if someone would verify this as well.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So is there anyone who would be willing to analyze my algorithm?  Additionally, what resources are available for a task like this?&lt;/p&gt;&#xA;" OwnerUserId="1549" LastEditorUserId="80" LastEditDate="2010-10-06T22:11:37.470" LastActivityDate="2011-01-09T16:43:19.717" Title="Where do I turn for help with research/publishing?" Tags="&lt;sat&gt;&lt;soft-question&gt;&lt;proofs&gt;" AnswerCount="3" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="1989" PostTypeId="2" ParentId="1982" CreationDate="2010-10-06T21:47:52.813" Score="32" Body="&lt;p&gt;Here's a simplification of Ryan's answer. Suppose that $\Lambda \in NE \setminus E$. Define the language $L = \{x : |x| \in \Lambda\}$. The assumption $\Lambda \in NE \setminus E$ translates to $L \in NP \setminus P$. Also, trivially $L \in AC^0/poly$.&lt;/p&gt;&#xA;" OwnerUserId="40" LastActivityDate="2010-10-06T21:47:52.813" CommentCount="6" ContentLicense="CC BY-SA 2.5" />
  <row Id="1990" PostTypeId="2" ParentId="1970" CreationDate="2010-10-06T22:02:10.683" Score="6" Body="&lt;p&gt;Much of the attention paid to optimization variants of the constraint satisfaction problem (CSP) has focused on satisfying some number of constraints (MAX-CSP), or in the Boolean case on picking the solution which assigns as many variables as possible the value 1 (MAX-ONES, there is also MIN-ONES).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Instead, you are asking about a variant that could be called MAXIMUM PARTIAL CSP.  This was studied at least as far back as the late 1960s, but I'm not aware of it having an established name.  It is a natural problem, and it would be good to see more work investigating it.  Thank you for providing another potential application for this problem!&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Ambler, A. P. and Barrow, H. G. and Brown, C. M. and Burstall, R. M. and Popplestone, R. J., &lt;em&gt;A versatile system for computer-controlled assembly&lt;/em&gt;, Artificial Intelligence &lt;strong&gt;6&lt;/strong&gt; 129–156, 1975. doi: &lt;a href=&quot;http://dx.doi.org/10.1016/0004-3702%2875%2990006-5&quot; rel=&quot;nofollow&quot;&gt;10.1016/0004-3702(75)90006-5&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;A set of variable-value assignments is called a &lt;em&gt;partial assignment&lt;/em&gt;.  One can write a variable-value assignment as a (variable, value) tuple.  Partial assignments are then simply functions from variables to values.  &lt;em&gt;Props&lt;/em&gt; are partial assignments that don't violate any constraint.  Equivalently, a prop contains no partial assignment forbidden by some constraint (as a subset).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One way to express the optimization problem is as follows.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;MAXIMUM PARTIAL CSP:&lt;br&gt;&#xA;  &lt;em&gt;Input:&lt;/em&gt; CSP instance&lt;br&gt;&#xA;  &lt;em&gt;Output:&lt;/em&gt; prop $f$&lt;br&gt;&#xA;  &lt;em&gt;Criterion:&lt;/em&gt; maximize $|f|$&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;In an instance with $n$ variables, clearly a prop of cardinality $n$ will be a solution.  There may exist large props, with cardinality up to $n-1$, that are not contained in any solution.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the terminology you propose, the set of props with maximum cardinality $k$ forms the penumbra, perhaps even with some additional leeway $d$ (so cardinality at least $k-d$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The second part of your question also appears highly interesting, but I am not aware of any work related to it.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Footnote: The term &lt;em&gt;prop&lt;/em&gt; is from my thesis; it is meant to convey the idea that such partial assignments are proper, and also that they support the set of solutions.  This is in contrast to a &lt;em&gt;nogood&lt;/em&gt;, which is the accepted term to describe a partial assignment that cannot be extended to a solution.  The word &quot;nogood&quot; was introduced by Richard Stallman and Gerald Sussman in 1976, when RMS was still an AI researcher instead of software freedom activist.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Stallman, Richard M. and Sussman, Gerald Jay, &lt;em&gt;Forward Reasoning and Dependency-Directed Backtracking in a System for Computer-Aided Circuit Analysis&lt;/em&gt;, MIT Artificial Intelligence Laboratory Memo No. 380, 1976. (&lt;a href=&quot;http://hdl.handle.net/1721.1/6255&quot; rel=&quot;nofollow&quot;&gt;PDF&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="109" LastEditorUserId="109" LastEditDate="2010-10-07T21:19:21.560" LastActivityDate="2010-10-07T21:19:21.560" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1991" PostTypeId="2" ParentId="1977" CreationDate="2010-10-06T22:17:39.527" Score="23" Body="&lt;p&gt;Think of it this way, Mike: This proof is &quot;branching&quot; into multiple possible cases, one of which has to be true (using the law of excluded middle that for every proposition $p$, either $p$ is true or $\neg p$ is true). But at the end of each of these branches, you always manage to prove that the function $f$ is computable. Therefore, no matter which of the cases actually holds in real life, $f$ must be computable. (However, the precise reason &lt;em&gt;why&lt;/em&gt; $f$ is computable will be different, depending on the branch.)&lt;/p&gt;&#xA;" OwnerUserId="225" LastActivityDate="2010-10-06T22:17:39.527" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1992" PostTypeId="2" ParentId="1988" CreationDate="2010-10-06T22:57:25.230" Score="32" Body="&lt;p&gt;If your SAT algorithm is meant to be practical, then you should run the &lt;a href=&quot;http://www.satcompetition.org/&quot;&gt;SAT competition&lt;/a&gt; benchmarks on it.  The SAT solving community is going to take your work much more seriously if you can show that your approach is competitive with existing solvers.  Your solver doesn't have to be faster than every solver, or solve more instances, but it should be a serious competitor.  You don't need a very fast or powerful machine to run the benchmarks; you can simply compare runtime against one of the free SAT solvers like &lt;a href=&quot;http://minisat.se/&quot;&gt;MiniSAT&lt;/a&gt; or &lt;a href=&quot;http://fmv.jku.at/picosat/&quot;&gt;PicoSAT&lt;/a&gt;.  These solvers will also allow you to see what the answers should look like.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you are working on a practical solver that uses new techniques, and your approach is not yet competitive, I would still suggest trying these benchmarks.  They would help you to understand the kinds of problems that you should be aiming to solve, and the kind of performance you should be aiming for.  You might also want to read some of the key chapters of the &lt;a href=&quot;http://www.st.ewi.tudelft.nl/sat/handbook/&quot;&gt;Handbook of Satisfiability&lt;/a&gt;, or the recent survey&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Knot Pipatsrisawat and Adnan Darwiche, &lt;em&gt;On Modern Clause-Learning Satisfiability Solvers&lt;/em&gt;, Journal of Automated Reasoning &lt;strong&gt;44&lt;/strong&gt; 277–301, 2010. (&lt;a href=&quot;http://reasoning.cs.ucla.edu/fetch.php?id=108&amp;amp;type=pdf&quot;&gt;PDF&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;to see the kinds of arguments that support the major solvers.  If you have new ideas that are not yet optimized to perform as well as the top solvers, you would need to explain the potential advantages of your approach to someone who knows the long sequence of theoretical reasoning that has led to the current set of &quot;best practice&quot; design decisions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If your contribution is purely theoretical, then you need to be aware of the many papers in this area, and explain in your paper why your approach is better in at least some way.  Have a look at recent work by for instance Amin Coja-Oghlan or Alan Frieze to get a feel for the state of the art and for useful pointers to important papers.&lt;/p&gt;&#xA;" OwnerUserId="109" LastActivityDate="2010-10-06T22:57:25.230" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="1993" PostTypeId="2" ParentId="963" CreationDate="2010-10-07T00:24:56.660" Score="12" Body="&lt;p&gt;No results like $coNP\not\subseteq PCP[o(n),q]$ are known.&#xA;Unfortunately, separating $NP$ and $coNP$ is not a low hanging fruit...&lt;/p&gt;&#xA;" OwnerUserId="1621" LastActivityDate="2010-10-07T00:24:56.660" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="1994" PostTypeId="1" AcceptedAnswerId="1996" CreationDate="2010-10-07T00:53:05.617" Score="10" ViewCount="1295" Body="&lt;p&gt;I searched the forum to see if this has been asked before, and while algorithmic game theory is discussed, I couldn't find this particular issue addressed.  I am trying to figure out what the best known algorithm is for computing approximate (mixed-strategy) Nash equilibria in a finite n-person game.  Of course, this algorithm would be PPAD.  I am more interested in speed/efficiency than perfect accuracy of the algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks,&#xA;Philip&lt;/p&gt;&#xA;" OwnerUserId="1338" LastActivityDate="2010-10-19T19:16:41.273" Title="Algorithms for Nash equilibrium computation." Tags="&lt;ds.algorithms&gt;&lt;gt.game-theory&gt;" AnswerCount="3" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="1995" PostTypeId="2" ParentId="1994" CreationDate="2010-10-07T01:06:31.717" Score="10" Body="&lt;p&gt;Perhaps the 2008 paper presented at the Symposium on Algorithmic Game Theory&#xA;by Hémon, Rougemont, and Santha, &quot;&lt;a href=&quot;http://portal.acm.org/citation.cfm?id=1483719&quot; rel=&quot;nofollow&quot;&gt;Approximate Nash Equilibria for Multi-player Games&lt;/a&gt;&quot; could help?&#xA;They &quot;exhibit polynomial-time algorithms for additive approximation&quot; for $n$-player games.&lt;/p&gt;&#xA;" OwnerUserId="337" LastActivityDate="2010-10-07T01:06:31.717" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="1996" PostTypeId="2" ParentId="1994" CreationDate="2010-10-07T01:50:56.787" Score="7" Body="&lt;p&gt;The short answer is that although there are some polynomial time algorithms for provably finding approximate Nash equilibria, they all find relatively poor approximations -- probably not good enough if you are actually trying to find an algorithm to play a game. More is known for 2 player games than for n player games.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If what you are trying to do is actually find an (approximate) Nash equilibrium, one easy to code thing you might try is simulating game play, with each player using the randomized weighted majority algorithm (http://en.wikipedia.org/wiki/Randomized_weighted_majority_algorithm). This isn't guaranteed to work, but in many cases will (And is guaranteed to in certain classes of games, like zero-sum games). In particular, if this process converges at all, it is guaranteed to converge to a Nash equilibrium. The danger is that it will not converge, and cycle forever -- but even in this case, the empirical history of game play will converge to the set of coarse correlated equilibria. &lt;/p&gt;&#xA;" OwnerUserId="25" LastEditorUserId="25" LastEditDate="2010-10-07T01:57:40.370" LastActivityDate="2010-10-07T01:57:40.370" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="1998" PostTypeId="2" ParentId="1940" CreationDate="2010-10-07T06:35:01.393" Score="11" Body="&lt;p&gt;I was reluctant to answer this, because the only theoretical result I know of along these lines has my name on the paper...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Theoretically, it is possible to preprocess a dense $n \times n$ Boolean matrix $A$ so that sparse matrix-vector multiplications with $A$ (over the semiring of OR and AND) can be done faster than the naive running time. Probably a significant amount of hacking would be needed to implement it in practice, but I do think it would fare well in practice for large enough $n$ and the right implementation. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Note: this algorithm is only really useful for the case where one matrix is dense and the other is sparse. This case comes up a lot though, e.g., when computing transitive closure of a sparse graph, the transitive closure matrix will eventually get dense compared to the original adjacency matrix.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The paper is&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Guy E. Blelloch, Virginia Vassilevska, Ryan Williams: A New Combinatorial Approach for Sparse Graph Problems. ICALP (1) 2008: 108-120&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;and the relevant result from the paper is that for every $\varepsilon &gt; 0$, there is an $O(n^{2+\varepsilon})$ time algorithm that, given any $n \times n$ 0-1 matrix $A$, the following operations are supported:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;-- For any vector $v$ with only $t$ nonzeroes, $A v$ can be computed in $O(n(t/k + n/\ell)/\log n)$ time, where $\ell$, $k$ are free parameters satisfying ${\ell \choose k} \leq n^{\varepsilon}$. (One nice setting is $\ell=\log^c n$ and $k=\varepsilon(\log n)/\log \log n$, so that the running time is about $nt/\log n + n^2/\log^c n$ for any desired constant $c$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;-- Row and column updates to $A$ can be computed in $O(n^{1+\varepsilon})$ time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We used this data structure to give faster theoretical algorithms for APSP in sparse unweighted graphs.&lt;/p&gt;&#xA;" OwnerUserId="225" LastActivityDate="2010-10-07T06:35:01.393" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="1999" PostTypeId="2" ParentId="1962" CreationDate="2010-10-07T07:32:32.447" Score="25" Body="&lt;p&gt;OK, here's the reduction. Turns out you don't need planarity after all. Also, for &quot;find a legal move&quot;, I take the decision question as &quot;is move X legal?&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First, let's work instead with a game where pieces move orthogonally instead of diagonally. This game is equivalent (just look at the draughts board rotated 45 degrees) except for edge properties, which we will not use. We use two gadgets: merge / split and crossover. See &lt;a href=&quot;http://www.hearn.to/draughts.pdf&quot;&gt;http://www.hearn.to/draughts.pdf&lt;/a&gt;. We assume there is a single White king on the board to move. (No other piece will be able to capture any significant number of pieces.) It will move through the indicated corridors, capturing black pieces along the way.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First, merge: if the king enters on any of the N paths A (via capturing a black piece, not shown), it can exit at B. Likewise, if we reverse the gadget and it enters at B, capturing the shown piece, it can exit along any path A (again, capturing an external black piece). This is a single-use gadget (because the exit black piece can be captured only once).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Second, crossover. If the king enters via A (C), it can exit at B (D). It can't stop in the middle and change routes, because that would be a non-capturing move segment.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, given a directed graph, construct a corresponding game configuration as follows. For each vertex, construct a merge which feeds into a split. Route the split outputs to the merge inputs of the vertex gadgets (merge + split) corresponding to the vertices the exiting edges connect to, using crossovers as necessary. Start the king on an extra input to any vertex (with a black piece to capture to let it enter the vertex).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, equalize all of the &quot;edge lengths&quot; by adding extra black pieces along the output / input pathways as needed. If there are V vertices, and k black pieces along each edge, then the king can capture 2V + kV + 1 pieces if and only if there  is a Hamiltonian circuit of the corresponding graph. If the king has an alternative move available, capturing a simple chain of 2V + kV pieces, then determining whether that alternative move is legal is NP-complete.&lt;/p&gt;&#xA;" OwnerUserId="1670" LastActivityDate="2010-10-07T07:32:32.447" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="2000" PostTypeId="2" ParentId="1988" CreationDate="2010-10-07T07:55:06.507" Score="2" Body="&lt;p&gt;Since you now want to share your algorithm, my personal suggestion is the following: build a very simple web site. The site should make available these 2 things:&#xA;&lt;OL&gt; &#xA;&lt;LI&gt;The source code of the algorithm.&lt;/LI&gt;&#xA;&lt;LI&gt;A document briefly describing your approach. Where your approach is different? Which is the new idea behind it? This document doesn't need to be a perfectly-written technical paper, nor it needs to contain any formal proof: a power point presentation would be enough to &quot;transmit&quot; the core of your idea. Just explain us why you think your algorithm is different. Maybe it's unique, who knows.&lt;/LI&gt;&#xA;&lt;/OL&gt;&lt;/p&gt;&#xA;" OwnerUserId="947" LastActivityDate="2010-10-07T07:55:06.507" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="2001" PostTypeId="2" ParentId="1985" CreationDate="2010-10-07T07:59:28.567" Score="8" Body="&lt;p&gt;You might want to have a look at the works that won Tushar D. Chandra, Vassos Hadzilacos, and Sam Toueg the &lt;a href=&quot;http://www.podc.org/dijkstra/2010.html&quot;&gt;Edsger W. Dijkstra Prize in 2010&lt;/a&gt;:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Tushar D. Chandra and Sam Toueg. &lt;a href=&quot;http://www.cs.cornell.edu/home/sam/FDpapers/CT96-JACM.ps&quot;&gt;Unreliable Failure Detectors for Reliable Distributed Systems&lt;/a&gt;, Journal of the ACM, 43(2):225-267, 1996&lt;/li&gt;&#xA;&lt;li&gt;Tushar D. Chandra, Vassos Hadzilacos and Sam Toueg. &lt;a href=&quot;http://www.cs.utexas.edu/~lorenzo/corsi/cs380d/papers/p685-chandra.pdf&quot;&gt;The Weakest Failure Detector for Solving Consensus&lt;/a&gt;, Journal of the ACM, 43(4):685-722, 1996.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;These papers introduce the notion of &lt;em&gt;failure detectors&lt;/em&gt; in a distributed system in a general and precise framework. Intuitively, they tried to study the minimal amount of failure information needed to solve consensus. It turns out that you don't need a perfect failure detector to solve consensus. Even &lt;em&gt;unreliable&lt;/em&gt; failure detectors satisfying certain minimal conditions will suffice for the task. These papers were very influential on how to deal with failures in distributed systems.&lt;/p&gt;&#xA;" OwnerUserId="1080" LastEditorUserId="1080" LastEditDate="2010-10-07T12:01:29.640" LastActivityDate="2010-10-07T12:01:29.640" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2002" PostTypeId="2" ParentId="1985" CreationDate="2010-10-07T08:13:32.283" Score="3" Body="&lt;p&gt;Here is a collection of patterns for dealing handling errors in distributed systems:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.artechra.com/media/writing/EuroPLOP2004-error-handling.pdf&quot; rel=&quot;nofollow&quot;&gt;Patterns for Generation, Handling and Management of Errors&lt;/a&gt; by Andy Longshaw and Eoin Woods, EuroPlop 2004.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Alternatively, for more generic work, there is the book &lt;a href=&quot;http://www.amazon.co.uk/Introduction-Reliable-Distributed-Programming-Guerraoui/dp/3540288457/ref=sr_1_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1286438885&amp;amp;sr=8-1-spell&quot; rel=&quot;nofollow&quot;&gt;Introduction to Reliable Distributed Programming&lt;/a&gt; by Rachid Guerraoui and Luis Rodrigues, which has a vast range of practical algorithms including failure recovery variants of many. The more classical text  &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/1558603484&quot; rel=&quot;nofollow&quot;&gt;Distributed Algorithms&lt;/a&gt; by Nancy Lynch covers similar ground from a more theoretical perspective.&lt;/p&gt;&#xA;" OwnerUserId="77" LastEditorUserId="-1" LastEditDate="2013-10-24T14:26:58.523" LastActivityDate="2013-10-24T14:26:58.523" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="2003" PostTypeId="1" AcceptedAnswerId="2010" CreationDate="2010-10-07T08:25:21.097" Score="0" ViewCount="149" Body="&lt;p&gt;I work with amino acid sequences and I want to use a self-made model to tell me something about it, let's call it f(seq). Now I want to know the contribution of every position in the sequence onto the model. E.q. My question is what is the importance/effect of amino acid A occurring at position I in the sequence with respect to the model? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;How do I visualize something like that?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I want to use my model also on several sequences of differing lengths. Somehow this throws a monkey wrench into my plans of using a neural net...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is simple yet I did not find anything about it. Pointers would be appreciated. Or any comment you might have. This whole idea of mine is pretty unfinished and I don't really know yet what I want. So feel free to criticize, I will update the question accordingly.  &lt;/p&gt;&#xA;" OwnerUserId="931" LastEditorDisplayName="user30448" LastEditDate="2019-01-23T04:58:59.033" LastActivityDate="2019-01-23T04:58:59.033" Title="Analysis of variables of varying numbers" Tags="&lt;st.statistics&gt;&lt;ne.neural-evol&gt;" AnswerCount="1" CommentCount="5" ContentLicense="CC BY-SA 4.0" />
  <row Id="2004" PostTypeId="1" AcceptedAnswerId="2005" CreationDate="2010-10-07T10:11:23.983" Score="0" ViewCount="3892" Body="&lt;p&gt;The space-time complexity of getting the size of the linked list can differ in different implementations as far as I understand it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the Boost C++ library one finds that the size() function can be constant time or linear time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I was wondering what the differences are in getting the size to be constant time over getting it to be linear?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can anyone elaborate on the algorithm differences?&lt;/p&gt;&#xA;" OwnerUserId="352" LastActivityDate="2010-10-07T11:02:56.037" Title="Linked List size in constant time or linear time" Tags="&lt;time-complexity&gt;" AnswerCount="2" CommentCount="13" ClosedDate="2010-10-07T15:20:36.980" ContentLicense="CC BY-SA 2.5" />
  <row Id="2005" PostTypeId="2" ParentId="2004" CreationDate="2010-10-07T10:21:52.733" Score="4" Body="&lt;p&gt;The key difference is that you have a field tracking the size of the list. This field can be accessed in constant time. The field must be updated for every addition or removal. If you compute the size of the list by counting the elements, then it will be linear.&lt;/p&gt;&#xA;" OwnerUserId="77" LastActivityDate="2010-10-07T10:21:52.733" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2006" PostTypeId="2" ParentId="2004" CreationDate="2010-10-07T11:02:56.037" Score="1" Body="&lt;p&gt;It is common to implement lists using arrays for obvious reasons (random access). If you have an implementation that extends the array by a constant number of fields $k$ every time it is full, you can achieve constant time for figuring out the number of elements without having additional information stored.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Execute a linear search for $A[A.length - k - 1]$ to $A[A.length - 1]$. By data structure invariants you know that the list's end has to be in this interval; hence you can simply calculate the total number of elements. This only works if you also decrease your array, of course, or consider szenarios where only adding occurs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since you have to consider at worst $k$ elements, you are in $\mathcal{O}(k) = \mathcal{O}(1)$. This does obviously only work if you can identified unused indices (e.g. by null references).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course an expected runtime of $\frac{k}{2}$ is worse than $1$ (for $k&gt;2$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Disclaimer&lt;/em&gt;: I am sure most people would opt for the additional variable when implementing lists. I just wanted to point out an additional possibility that is equivalent in terms of rough worst-case bounds.&lt;/p&gt;&#xA;" OwnerUserId="1546" LastActivityDate="2010-10-07T11:02:56.037" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="2007" PostTypeId="2" ParentId="1985" CreationDate="2010-10-07T12:32:49.540" Score="3" Body="&lt;p&gt;What kind of faults in the system?Are you looking for solutions to handling Byzantine faults or just the classic fail-stop model? Solutions in the presence of Byzantine nodes in a distributed system is the more intriguing problem. The problem was formalized by Leslie Lamport(the Byzantine Generals problem' and the 1999 paper by Barbara Liskov and Miguel Castro presents the closest working practical solution ' Practical Byzantine fault-tolerance'. Original formal models to deal with fault-tolerance include the state-machine approach of Fred Schneider and &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=62549&quot; rel=&quot;nofollow&quot;&gt;view-stamped replication&lt;/a&gt;&#xA;I do agree the question is very general, the field is immense and the theory forms the basis of most systems running today online. Maybe a more specific fault-model and the problem domain would help obtain better answers&lt;/p&gt;&#xA;" OwnerUserId="698" LastActivityDate="2010-10-07T12:32:49.540" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2008" PostTypeId="1" AcceptedAnswerId="2009" CreationDate="2010-10-07T17:04:31.747" Score="10" ViewCount="304" Body="&lt;p&gt;At SODA 2006, Martin Grohe and D$\acute{\rm a}$niel Marx's paper &quot;Constraint solving via fractional edge covers&quot; (&lt;a href=&quot;http://portal.acm.org/citation.cfm?id=1109590&quot;&gt;ACM citation&lt;/a&gt;) showed that for the class of hypergraphs $H$ with bounded fractional hypertree width, CSP($H$) $\in PTIME$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Definitions, etc.&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For a great survey of standard tree decompositions and treewidth, see &lt;a href=&quot;http://compgeom.cs.uiuc.edu/~jeffe/teaching/comptop/notes/treewidth.pdf&quot;&gt;here&lt;/a&gt; (Thanks ahead of time, JeffE!).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $H$ be a hypergraph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then for a hypergraph $H$ and a mapping $\gamma : E(H) \rightarrow [0,\infty)$,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$B(\gamma) = ${$v \in V(H) : \sum_{e \in V(H), v \in e} \gamma(e) \ge 1$}.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Additionally, let weight($\gamma$) = $\sum_{e \in E}\gamma(e)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then a &lt;em&gt;fractional hypertree decomposition of&lt;/em&gt; $H$ is a triple $(T, (B_t)_{t \in V(T)}, (\gamma_t)_{t \in V(T)})$, where:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt; $(T, (B_t)_{t \in V(T)})$ is a tree decomposition of $H$, and&#xA;&lt;li&gt; $(\gamma_t)_{t \in V(T)}$ is a family of mappings from $E(H)$ to $[0, \infty)$ s.t. for every $t \in V(T), B_t \subseteq B(\gamma_t)$.&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Then we say the &lt;em&gt;width&lt;/em&gt; of $(T, (B_t)_{t \in V(T)}, (\gamma_t)_{t \in V(T)})$ is $\max${weight$(\gamma_t), t \in V(T)$}.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, the &lt;em&gt;fractional hypertree width of&lt;/em&gt; $H$, fhw($H$), is the minimum of the widths over all possible fractional hypertree decompositions of $H$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As stated above, if the fractional hypertree width of the underlying graph of a CSP is bounded by a constant, then there is a polynomial time algorithm to solve the CSP. However, it was left as an open problem at the end of the linked paper whether there were any polynomial-time solvable families of CSP instances having unbounded hypertree width. &#xA;(I should also point out, this question is completely resolved in the case of bounded vs. unbounded treewidth (&lt;a href=&quot;http://portal.acm.org/citation.cfm?id=1206036&quot;&gt;ACM citation&lt;/a&gt;) under the assumption that $FPT \ne W[1]$.) Since there's been some time since the first-linked paper, plus I'm relatively unaware of the general state of this sub-field, my question is:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;Is &lt;i&gt;anything&lt;/i&gt; known about the (in)tractability of CSPs over graphs with unbounded fractional hypertree width?&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="108" LastActivityDate="2017-03-26T17:40:32.927" Title="CSPs with unbounded fractional hypertree width" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;&lt;hypergraphs&gt;&lt;treewidth&gt;&lt;csp&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="2009" PostTypeId="2" ParentId="2008" CreationDate="2010-10-07T19:14:50.687" Score="8" Body="&lt;p&gt;You linked to two papers, both with conjectures.  I presume you mean Grohe's 2007 conjecture.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This question was answered in 2008:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Theorem 5. CSP(C$_0$,_) is in NP, but neither in P nor NP-complete (unless P = NP).  Moreover, the set C$_0$ can be decided in deterministic polynomial time.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Manuel Bodirsky and Martin Grohe, &lt;em&gt;Non-dichotomies in Constraint Satisfaction Complexity&lt;/em&gt;, ICALP 2008.  &lt;a href=&quot;https://dx.doi.org/10.1007/978-3-540-70583-3_16&quot; rel=&quot;nofollow noreferrer&quot;&gt;doi:10.1007/978-3-540-70583-3_16&lt;/a&gt; (&lt;a href=&quot;http://www.lix.polytechnique.fr/~bodirsky/publications/nodich.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;PDF&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The idea is to blow holes in the instance sizes of CLIQUE, by the same delayed diagonalization technique introduced by Ladner for his theorem.  Note that the set C$_0$ contains arbitrarily large cliques, and the fractional hypertree width of an $n$-clique is $n/2$.  So it is possible to have CSPs of the form CSP(A,_) that are of intermediate complexity, where A has unbounded fractional hypertree width.  This answers Grohe's conjecture in the negative.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;At the same conference Chen, Thurley, and Weyer had a paper with a similar result, but that required strong embeddings so technically wasn't of the right form for the conjecture.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Yijia Chen, Marc Thurley, and Mark Weyer, &lt;em&gt;Understanding the Complexity of Induced Subgraph Isomorphisms&lt;/em&gt;, ICALP 2008.  &lt;a href=&quot;https://dx.doi.org/10.1007/978-3-540-70575-8_48&quot; rel=&quot;nofollow noreferrer&quot;&gt;doi:10.1007/978-3-540-70575-8_48&lt;/a&gt; (&lt;a href=&quot;http://basics.sjtu.edu.cn/~chen/papers/icalp.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;PDF&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Finally, &lt;em&gt;any&lt;/em&gt; class of CSP instances can be transformed into a representation with worst-case fractional hypertree width.  In many cases this transformation is polynomially bounded in size and can be done in polynomial time.  This means that it is easy to generate CSPs with unbounded fractional hypertree width, even modulo homomorphic equivalence.  These CSPs are not going to be of the form CSP(A,_) since the target structures are special, but they do provide a neat reason why the CSPs defined by restricting just the source structures are not all that interesting: it is often just too easy to hide the tree-like structure of a CSP instance by changing the representation so that the source structure has large width.  (This is discussed in chapter 7 of my &lt;a href=&quot;https://ora.ox.ac.uk/objects/uuid:5d641fff-4d95-43b2-9ff8-73395d782ad8&quot; rel=&quot;nofollow noreferrer&quot;&gt;thesis&lt;/a&gt;.)&lt;/p&gt;&#xA;" OwnerUserId="109" LastEditorUserId="109" LastEditDate="2017-03-26T17:40:32.927" LastActivityDate="2017-03-26T17:40:32.927" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="2010" PostTypeId="2" ParentId="2003" CreationDate="2010-10-07T20:14:29.827" Score="4" Body="&lt;p&gt;&quot;My question is what is the importance/effect of amino acid A occuring at position I in the sequence with respect to the model?&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I suggest &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.65.4858&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;nofollow&quot;&gt;Monotony and Surprise&lt;/a&gt; by Apostolico for the modeling of importance of words appearing at certain positions, or in certain patterns.  Beyond that, I'm not sure what you're looking for.&lt;/p&gt;&#xA;" OwnerUserId="30" LastActivityDate="2010-10-07T20:14:29.827" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2011" PostTypeId="1" AcceptedAnswerId="2016" CreationDate="2010-10-07T21:24:33.020" Score="4" ViewCount="245" Body="&lt;p&gt;Suppose $Z_G(J,h)$ is a partition function of Ising model with coupling $J$ and magnetic field $h$ on graph $G$. What is the complexity of finding the gradient of Z at $\mathbf{0}$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Specifically, if $n$ is the number of vertices, $E$ is a set of edges, $\mathcal{X}=\{1,-1\}^n$, the gradient is of the following function&#xA;$$Z(J,h)=\sum_{x\in \mathcal{X}} \exp\left(J \sum_{(i,j)\in E} x_i x_j + h \sum_i x_i\right)$$&lt;/p&gt;&#xA;" OwnerUserId="434" LastEditorUserId="-1" LastEditDate="2013-04-30T03:39:34.660" LastActivityDate="2013-04-30T03:39:34.660" Title="Complexity of linearized Ising model at 0" Tags="&lt;cc.complexity-theory&gt;&lt;counting-complexity&gt;&lt;physics&gt;&lt;statistical-physics&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2013" PostTypeId="2" ParentId="1962" CreationDate="2010-10-07T22:05:42.270" Score="5" Body="&lt;p&gt;Here's a possible alternative to Bob's reduction, this time from (undirected) Hamiltonian cycle.  &lt;strike&gt;I'm not 100% confident that the details are correct—I've already found and fixed several issues—but I'm sure it can be massaged into a correct proof.&lt;/strike&gt; &lt;b&gt;As Bob points out, this reduction has a serious bug; the white king can easily stray from its canonical path through the board.  This bug can be fixed by adding Bob's cross-over gadget at appropriate locations &lt;/b&gt;(I think)&lt;b&gt;, but then it's not significantly different from his reduction.&lt;/b&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $G$ be an undirected graph with $n$ vertices and $m$ edges.  Draw $G$ in the plane by placing its vertices at regularly spaced points on a line with slope $-1$, and drawing every edge as a horizontal segment plus a vertical segment, both above the vertex line.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now we reduce this drawing to an $O(n^2)\times O(n^2)$ board (rotated 45 degrees) with $O(n^2+m)$ black checkers and one white king.  We need three types of gadgets: corners, splitters, and hordes.  A corner contains two black pieces that can only be captured together by changing the white king's direction.  A $k$-splitter contains a single piece that must be captured in a particular direction, with $k$ special locations for the capturing king to jump into.  Finally, a hoard is a large box full of $hn$ black pieces that must be captured in a particular order, for some large constant $h$.  In the figures below, the gray circles are pieces that cannot be captured.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/OxUqC.png&quot; alt=&quot;corner gadget&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/fjqlI.png&quot; alt=&quot;horizontal 4-splitter gadget&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/l1vp1.png&quot; alt=&quot;hoard gadget&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now replace every vertex of degree $k$ with a hoard, connected to a horizontal $k$-splitter and a vertical $k$-splitter.  For each edge $(i,j)$, place constant number of corners aligned with the splitters for hoard $i$ and hoard $j$.  It's easy to arrange for the corners for different edges to lie at distinct $x$- and $y$-coordinates.  Place the white king inside one of the hoards, in the position shown by the white circle above.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/DYSh3.png&quot; alt=&quot;one edge&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The white king can capture at least $hn^2+4n$ opposing pieces—every piece in every hoard, plus four additional edge pieces per vertex—if and only if the graph $G$ is Hamiltonian.&lt;/p&gt;&#xA;" OwnerUserId="111" LastEditorUserId="111" LastEditDate="2010-10-08T04:10:28.097" LastActivityDate="2010-10-08T04:10:28.097" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="2014" PostTypeId="2" ParentId="1657" CreationDate="2010-10-07T22:23:37.573" Score="10" Body="&lt;p&gt;There are two related complexity classes in $\text{NL}$ which are also in $\text{LogDCFL}$, which puts them in $\text{SC}^2$ (by &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=800135.804426&quot; rel=&quot;nofollow noreferrer&quot;&gt;Cook&lt;/a&gt;).  &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The first is $\text{RUL}$, for &quot;Reach-Unambiguous Log-space&quot; which has reachability in mangroves (graphs where every pair of vertices has at most one directed path between them) as a complete problem.  This class has been &lt;a href=&quot;https://cstheory.stackexchange.com/questions/1535/intermediate-problems-between-l-and-nl/1538#1538&quot;&gt;discussed before&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;The second is $\text{ReachFewL}$, which has reachability complete for graphs with at most a polynomial number of paths between any pair of vertices. &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Performing depth-first search on these graphs using a stack has a guarantee that it will take polynomial time, so these classes are in $\text{LogDCFL} \subseteq \text{SC}^2$.&lt;/p&gt;&#xA;" OwnerUserId="59" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2010-10-08T03:53:13.250" CommentCount="8" ContentLicense="CC BY-SA 2.5" />
  <row Id="2015" PostTypeId="2" ParentId="2011" CreationDate="2010-10-07T23:31:57.473" Score="1" Body="&lt;p&gt;Not a full answer, but hopefully at least helpful. Computing the ground state of such an Ising Hamiltonian is NP-hard, as it contains &lt;a href=&quot;http://en.wikipedia.org/wiki/2-satisfiability#Maximum-2-satisfiability&quot; rel=&quot;nofollow&quot;&gt;Max-2-SAT&lt;/a&gt;, even if the couplings are restricted to $\pm J$. This is simply because if you take a 2-SAT instance, you can add the term $Jx_ix_j - Jx_ix_0 - J x_jx_0 = \mbox{daig}(-1,-1,-1,3)$ which is minimized iff $x_i \vee x_j$. Thus adding such terms to form a Hamiltonian will result in a spectrum where the ground state corresponds to the assignment of variables which maximizes the clauses satisfied as this corresponds to the maximum number of negative terms in the Hamiltonian. By adding an ancilla system it is then possible to create many such levels (via the tensor product of the two Hilbert spaces) with different energy levels. By tweaking the terms in the ancilla system, you can manipulate the absolute value of the energy levels corresponding to the ground state of the primary system and different excited states of the ancilla system. This would seem to indicate that the general problem is NP-hard. In the specific case of your question, you seem to fix J to be constant and positive which would seem to cause a problem with representing the negation of a variable in any of the clauses, and so this argument may not apply.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You may also be interested in &lt;a href=&quot;http://arxiv.org/abs/cond-mat/0309240&quot; rel=&quot;nofollow&quot;&gt;cond-mat/0309240&lt;/a&gt; for some results relating Ising lattices with various complexity classes. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hope this is useful.&lt;/p&gt;&#xA;" OwnerUserId="204" LastActivityDate="2010-10-07T23:31:57.473" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="2016" PostTypeId="2" ParentId="2011" CreationDate="2010-10-08T01:20:34.430" Score="1" Body="&lt;p&gt;Duh....I got a suggestion to use chain rule and just compute the derivative. The derivative factors when $J=0$, so this makes the problem trivial for all graphs when $J=0$ and $h$ is arbitrary.&lt;/p&gt;&#xA;" OwnerUserId="434" LastEditorUserId="434" LastEditDate="2010-10-08T01:29:25.257" LastActivityDate="2010-10-08T01:29:25.257" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2017" PostTypeId="1" CreationDate="2010-10-08T02:35:13.293" Score="21" ViewCount="915" Body="&lt;p&gt;I am curious in a broad sense about what is known about parallelizing algorithms in P. I found the following wikipedia article about the subject:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/NC_%28complexity%29&quot;&gt;http://en.wikipedia.org/wiki/NC_%28complexity%29&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The article contains the following sentence:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;It is unknown whether NC = P, but most&#xA;  researchers suspect this to be false,&#xA;  meaning that there are probably some&#xA;  tractable problems which are&#xA;  &quot;inherently sequential&quot; and cannot&#xA;  significantly be sped up by using&#xA;  parallelism&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Does this sound reasonable? Are there known cases where a problem in P cannot be sped up using parallelism?&lt;/p&gt;&#xA;" OwnerUserId="1686" LastEditorUserId="186" LastEditDate="2010-10-08T02:48:51.193" LastActivityDate="2015-12-23T14:11:45.650" Title="Limits to Parallel Computing" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;big-picture&gt;" AnswerCount="3" CommentCount="2" FavoriteCount="9" ContentLicense="CC BY-SA 2.5" />
  <row Id="2018" PostTypeId="2" ParentId="2017" CreationDate="2010-10-08T02:43:36.993" Score="10" Body="&lt;p&gt;Well, if there were known cases, then we'd be able to separate P and NC. But there are many problems known to be &lt;a href=&quot;http://en.wikipedia.org/wiki/P-complete&quot;&gt;P-complete&lt;/a&gt; (i.e under logspace reductions), and they present the same kind of barriers to showing P = NC as NP-complete problems do for P = NP. Among them include linear programming and &lt;strike&gt;matching (and&lt;/strike&gt; max flows in general). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Ketan Mulmuley &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.44.6538&quot;&gt;proved a result&lt;/a&gt; separating P and a weak form of NC (without bit operations) back in 1994. In a sense, his current program for P vs NP takes off from where that left off (&lt;a href=&quot;http://www.math.princeton.edu/~balexeev/weak.pdf&quot;&gt;in a very loose way&lt;/a&gt;). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The book '&lt;a href=&quot;http://www.cs.washington.edu/homes/ruzzo/papers/limits.pdf&quot;&gt;Limits on Parallel Computation&lt;/a&gt;' has more on this. &lt;/p&gt;&#xA;" OwnerUserId="80" LastEditorUserId="80" LastEditDate="2010-10-08T21:54:01.510" LastActivityDate="2010-10-08T21:54:01.510" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="2019" PostTypeId="1" AcceptedAnswerId="2029" CreationDate="2010-10-08T03:05:48.540" Score="6" ViewCount="589" Body="&lt;p&gt;Consider Ising model on graph $G$ with uniform coupling strength $J$ and magnetic field $h$. I say its partition function &lt;a href=&quot;https://cstheory.stackexchange.com/questions/2011/complexity-of-linearized-ising-model-at-0&quot;&gt;$Z$&lt;/a&gt; is easy to compute if $Z$ can be deterministically computed to arbitrary finite precision in time polynomial in size of the graph. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here's when $Z$ is known to be easy to compute, what cases am I missing?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Arbitrary $J$&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;$G$ is planar, $h=0$&lt;/li&gt;&#xA;&lt;li&gt;treewidth$(G)\le C$&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Arbitrary $G$&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;$|J|$ small relative to girth($G$)&lt;/li&gt;&#xA;&lt;li&gt;$|J|$ small relative to the branching factor of self-avoiding walks on $G$&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;I suspect it's easy to compute for all $J$ with minor-excluded $G$ and for all $G$ with $J&amp;gt;0$ because FPRAS exist for these cases. Also it seems $G$ with $|J|\ll |h|$ should be easy because of correlation decay, although I haven't seen either FPDAS or FPRAS in this case&lt;/p&gt;&#xA;" OwnerUserId="434" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2013-04-30T03:39:26.860" Title="When is Ising partition function easy to compute?" Tags="&lt;cc.complexity-theory&gt;&lt;counting-complexity&gt;&lt;physics&gt;&lt;statistical-physics&gt;" AnswerCount="2" CommentCount="5" FavoriteCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="2020" PostTypeId="2" ParentId="2017" CreationDate="2010-10-08T03:13:17.630" Score="17" Body="&lt;p&gt;It is not even known whether &lt;a href=&quot;http://qwiki.stanford.edu/index.php/Complexity_Zoo:N#nc&quot; rel=&quot;nofollow noreferrer&quot;&gt;NC&lt;/a&gt; = P, but P-complete problems seem to be inherently hard to parallelize.  These include Linear Programming and Horn-SAT.  (In contrast, problems in NC seem reasonably easy to parallelize.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See question &lt;a href=&quot;https://cstheory.stackexchange.com/questions/1317/problems-between-nc-and-p-how-many-have-been-resolved-from-this-list&quot;&gt;Problems between NC and P: How many have been resolved from this list?&lt;/a&gt; for reference material (including links to a classic textbook that is now available for free download), and further discussion about problems that are in P but not known to be parallelizable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See question &lt;a href=&quot;https://cstheory.stackexchange.com/questions/799/generalized-ladners-theorem&quot;&gt;Generalized Ladner&amp;#39;s Theorem&lt;/a&gt; for the structure of the complexity classes between NC and P.  Briefly, if they differ then there are infinitely many complexity classes strictly between NC and P.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See question &lt;a href=&quot;https://cstheory.stackexchange.com/questions/1643/nc-p-consequences&quot;&gt;NC = P consequences?&lt;/a&gt; for a nice demonstration by Ryan Williams that it is possible to amplify collapses in the hierarchy of complexity classes within P into perhaps more unlikely collapses like &lt;a href=&quot;http://qwiki.stanford.edu/index.php/Complexity_Zoo:P#pspace&quot; rel=&quot;nofollow noreferrer&quot;&gt;PSPACE&lt;/a&gt; = &lt;a href=&quot;http://qwiki.stanford.edu/index.php/Complexity_Zoo:E#exp&quot; rel=&quot;nofollow noreferrer&quot;&gt;EXP&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is worth pointing out that one consequence of Horn-SAT being P-complete, and the links above, is that it does not seem possible to parallelize general SQL queries in databases, unless we can also rewrite any large-scale computation to use only a reasonable amount of storage.  This is a puzzling discrepancy -- I think it is quite uncontroversial to state &lt;em&gt;there are limits on compression&lt;/em&gt;, but I often see articles which seem built on the assumption that it is possible to parallelize &lt;em&gt;any&lt;/em&gt; database query.&lt;/p&gt;&#xA;" OwnerUserId="109" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2011-03-21T18:15:06.600" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="2021" PostTypeId="1" AcceptedAnswerId="2028" CreationDate="2010-10-08T07:14:16.077" Score="26" ViewCount="2075" Body="&lt;p&gt;Which would be the consequences of #P = FP?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm interested in both practical and theoretical consequences.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;From a practical point of view, I'm particularly interested in consequences on Artificial Intelligence.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Pointers to papers or books are more than welcome.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Please do not say that #P = FP implies P = NP, I already know that. Also, please do not say &lt;em&gt;&quot;there will be no practical consequences if the algorithm runs in time $\Omega(n^{\alpha})$, where $\alpha$ is the number of electrons in the Universe&quot;&lt;/em&gt;: permit me to assume that, if a deterministic polynomial time algorithm for a #P-complete problem exists, its running time will be &quot;clement&quot; ($O(n^2)$, for example).&lt;/p&gt;&#xA;" OwnerUserId="947" LastEditorUserId="947" LastEditDate="2012-01-28T21:56:33.473" LastActivityDate="2012-01-28T21:56:33.473" Title="Consequences of #P = FP" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;complexity-classes&gt;&lt;counting-complexity&gt;&lt;ai.artificial-intel&gt;" AnswerCount="3" CommentCount="0" FavoriteCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="2022" PostTypeId="2" ParentId="923" CreationDate="2010-10-08T07:34:34.740" Score="7" Body="&lt;p&gt;I think the most used algorithm is Parity Check (or maybe CRC or some kind of error-correcting code), because they appear in every RAM access.&lt;/p&gt;&#xA;" OwnerUserId="168" LastActivityDate="2010-10-08T07:34:34.740" CommentCount="1" CommunityOwnedDate="2010-10-08T07:34:34.740" ContentLicense="CC BY-SA 2.5" />
  <row Id="2023" PostTypeId="2" ParentId="2021" CreationDate="2010-10-08T07:44:42.843" Score="5" Body="&lt;p&gt;Toda proved that any problem in the polynomial-time hierarchy can be reduced to #P function. Formally, he proved that $PH \subseteq P^{\#P}$. So if $\sharp P=FP$ then the $PH$ would collapse and consequently Tautologies would have short proofs.&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2010-10-08T08:27:33.797" LastActivityDate="2010-10-08T08:27:33.797" CommentCount="7" ContentLicense="CC BY-SA 2.5" />
  <row Id="2024" PostTypeId="2" ParentId="2021" CreationDate="2010-10-08T07:51:51.743" Score="15" Body="&lt;p&gt;In &lt;a href=&quot;http://en.wikipedia.org/wiki/Graphical_model&quot;&gt;graphical models&lt;/a&gt;, many of the estimation problems are #P-complete, because they involve doing sum-product calculations a la the permanent over general graphs. If #P = FP, then graphical models suddenly get a whole lot easier, and we don't have to muck around with low-treewidth models anymore. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2010-10-08T07:51:51.743" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2025" PostTypeId="1" AcceptedAnswerId="46266" CreationDate="2010-10-08T08:17:24.663" Score="19" ViewCount="1078" Body="&lt;p&gt;Suppose we are given an n by n matrix, M, with integer entries. Can we decide in P whether there is a permutation &lt;span class=&quot;math-container&quot;&gt;$\sigma$&lt;/span&gt; such that for all permutations &lt;span class=&quot;math-container&quot;&gt;$\pi\ne\sigma$&lt;/span&gt; we have &lt;span class=&quot;math-container&quot;&gt;$\Pi M_{i\sigma(i)}\ne \Pi M_{i\pi(i)}$&lt;/span&gt;?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Remarks. One can of course replace the product with a sum, the problem stays the same.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If the matrix can have only 0/1 entries, then we get the Bipartite-UPM problem which is even in NC.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit: Deciding whether the smallest term is unique is in P as it is equivalent to the minimum weight matching problem, as pointed out by Neal Young in a (since then removed) comment.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit: Similar questions:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In an edge-weighted graph, is there a Hamiltonian-cycle with a unique weight?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we have a CNF with weights assigned to every variable/satisfying assignmet, is there a unique weight satisfying assignment?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;These are of course at least NP-hard. Are these problems equivalent to the original or are they harder?&lt;/p&gt;&#xA;" OwnerUserId="419" LastEditorUserId="419" LastEditDate="2020-01-31T19:29:48.167" LastActivityDate="2020-02-14T02:58:36.053" Title="Can we decide whether a permanent has a unique term?" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;matrices&gt;&lt;matching&gt;&lt;permanent&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="9" ContentLicense="CC BY-SA 4.0" />
  <row Id="2026" PostTypeId="1" AcceptedAnswerId="2044" CreationDate="2010-10-08T09:46:52.850" Score="4" ViewCount="463" Body="&lt;p&gt;I have a question based on 3-Hitting Set problem. In this problem, we are given a universal set U of size n and a set of subsets S such that $\forall $ s $\in$ S |s|&amp;lt;=3.&#xA;FOr this problem, Integer programming formulation is given by &#xA;$x_{a}+x_{b}+x_{c} &gt;=1 $ (a,b,c) $\in$ S &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\forall x_{i} \in $(1,0) where $i=1,2 \ldots n $&lt;/p&gt;&#xA;&#xA;&lt;p&gt;minimize $\sum x_{i} $&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where each variable $x_i$ corresponds to element $i\in$ U.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A Linear programming relaxation would be &#xA;0&amp;lt;=$x_{i}$=&amp;lt;1 instead of $x_{i} \in$ {1,0}  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;After performing linear  programming we know that&#xA;In Every s $\in$S x_{a}+x_{b}+x_{c} &gt;=1  at least one of  $x_{i}&gt;=\frac{1}{3}$ &#xA;so $x_{i}&gt;=\frac{1}{3}$   is made as 1 and the corresponding elements are selected in the solution. There may exist a set s such that  $x_{a}+x_{b}+x_{c} &gt;=1$ so that $x_{a},x_{b},x_{c}&gt;=\frac{1}{3}$ and we will be picking all three elements. This way, we will get a three approximation after rounding $x_{a},x_{b},x_{c}$ to 1.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I look at a  special case of 3 -hitting set H' in which size of each set s is exactly 3 and optimal solution for linear programming problem is $ \forall x_i  =\frac{1}{3} $. Now, is it possible to improve the approximation factor to less than 3 &lt;/p&gt;&#xA;" OwnerUserId="851" LastEditorUserId="-1" LastEditDate="2013-04-30T03:39:45.643" LastActivityDate="2013-04-30T03:39:45.643" Title="Better approximation for special case of 3-hitting set" Tags="&lt;ds.algorithms&gt;&lt;np-hardness&gt;&lt;approximation-algorithms&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2027" PostTypeId="2" ParentId="923" CreationDate="2010-10-08T09:52:30.937" Score="0" Body="&lt;p&gt;String Matching, used all the time in application software and on database level.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the exact case, there are several quite involved algorithms (KMP, Boyer-Moore) with some that achieve sublinear expected runtime. They are also interesting to study from a CS point of view.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Approximate string matching, that is alignments, is probably even more interesting. You know &quot;autocorrecting&quot; features? Also, searches in noisy string data (e.g. DNA) is done using alignments.&lt;/p&gt;&#xA;" OwnerUserId="1546" LastActivityDate="2010-10-08T09:52:30.937" CommentCount="0" CommunityOwnedDate="2010-10-08T09:52:30.937" ContentLicense="CC BY-SA 2.5" />
  <row Id="2028" PostTypeId="2" ParentId="2021" CreationDate="2010-10-08T11:19:51.057" Score="25" Body="&lt;p&gt;Here are a few theoretical consequences of the equality FP=#P, although they have nothing to do with artificial intelligence.  The assumption FP=#P is equivalent to P=&lt;a href=&quot;http://qwiki.stanford.edu/wiki/Complexity_Zoo:P#pp&quot; rel=&quot;nofollow noreferrer&quot;&gt;PP&lt;/a&gt;, so let me use the latter notation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If P=PP, then we have P=&lt;a href=&quot;http://qwiki.stanford.edu/wiki/Complexity_Zoo:B#bqp&quot; rel=&quot;nofollow noreferrer&quot;&gt;BQP&lt;/a&gt;: quantum polynomial-time computation can be simulated by classical, deterministic polynomial-time computation.  This is a direct consequence of BQP⊆PP [ADH97, FR98] (and of an earlier result BQP⊆P&lt;sup&gt;PP&lt;/sup&gt; [BV97]).  On top of my knowledge, P=BQP is not known to follow from the assumption P=NP.  This situation is different from the case of randomized computation (&lt;a href=&quot;http://qwiki.stanford.edu/wiki/Complexity_Zoo:B#bpp&quot; rel=&quot;nofollow noreferrer&quot;&gt;BPP&lt;/a&gt;): since BPP⊆NP&lt;sup&gt;NP&lt;/sup&gt; [Lau83], the equality P=BPP follows from P=NP.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another consequence of P=PP is that the Blum-Shub-Smale model of computation over the reals with rational constants is equvalent to Turing machines in a certain sense.  More precisely, P=PP implies P=BP(P&lt;sub&gt;ℝ&lt;/sub&gt;&lt;sup&gt;0&lt;/sup&gt;); that is, if a language &lt;i&gt;L&lt;/i&gt;⊆{0,1}&lt;sup&gt;*&lt;/sup&gt; is decidable by a constant-free program over the reals in polynomial time, then &lt;i&gt;L&lt;/i&gt; is decidable by a polynomial-time Turing machine.  (Here “BP” stands for “Boolean part” and has nothing to do with BPP.)  This follows from BP(P&lt;sub&gt;ℝ&lt;/sub&gt;&lt;sup&gt;0&lt;/sup&gt;)⊆&lt;a href=&quot;http://qwiki.stanford.edu/wiki/Complexity_Zoo:C#ch&quot; rel=&quot;nofollow noreferrer&quot;&gt;CH&lt;/a&gt; [ABKM09].  See the paper for definitions.  An important problem in BP(P&lt;sub&gt;ℝ&lt;/sub&gt;&lt;sup&gt;0&lt;/sup&gt;) is the &lt;a href=&quot;http://garden.irmacs.sfu.ca/?q=op/complexity_of_square_root_sum&quot; rel=&quot;nofollow noreferrer&quot;&gt;square-root sum problem&lt;/a&gt; and friends (e.g. “Given an integer &lt;i&gt;k&lt;/i&gt; and a finite set of integer-coordinate points on the plane, is there a spanning tree of total length at most &lt;i&gt;k&lt;/i&gt;?”) [Tiw92].&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Similarly to the second argument, the problem of &lt;a href=&quot;https://cstheory.stackexchange.com/questions/1811/complexity-of-exponential-function&quot;&gt;computing a specific bit in &lt;i&gt;x&lt;/i&gt;&lt;sup&gt;&lt;i&gt;y&lt;/i&gt;&lt;/sup&gt; when positive integers &lt;i&gt;x&lt;/i&gt; and &lt;i&gt;y&lt;/i&gt; are given in binary&lt;/a&gt; will be in P if P=PP.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;References&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[ABKM09] Eric Allender, Peter Bürgisser, Johan Kjeldgaard-Pedersen and Peter Bro Miltersen.  On the complexity of numerical analysis.  &lt;em&gt;SIAM Journal on Computing&lt;/em&gt;, 38(5):1987–2006, Jan. 2009.  &lt;a href=&quot;http://dx.doi.org/10.1137/070697926&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://dx.doi.org/10.1137/070697926&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[ADH97] Leonard M. Adleman, Jonathan DeMarrais and Ming-Deh A. Huang.  Quantum computability.  &lt;em&gt;SIAM Journal on Computing&lt;/em&gt;, 26(5):1524–1540, Oct. 1997.  &lt;a href=&quot;http://dx.doi.org/10.1137/S0097539795293639&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://dx.doi.org/10.1137/S0097539795293639&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[BV97] Ethan Bernstein and Umesh Vazirani.  Quantum complexity theory.  &lt;em&gt;SIAM Journal on Computing&lt;/em&gt;, 26(5):1411–1473, Oct. 1997.  &lt;a href=&quot;http://dx.doi.org/10.1137/S0097539796300921&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://dx.doi.org/10.1137/S0097539796300921&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[FR98] Lance Fortnow and John Rogers.  Complexity limitations on quantum computation.  &lt;em&gt;Journal of Computer and System Sciences&lt;/em&gt;, 59(2):240–252, Oct. 1999.  &lt;a href=&quot;http://dx.doi.org/10.1006/jcss.1999.1651&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://dx.doi.org/10.1006/jcss.1999.1651&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[Lau83] Clemens Lautemann.  BPP and the polynomial time hierarchy.  &lt;em&gt;Information Processing Letters&lt;/em&gt;, 17(4):215–217, Nov. 1983.  &lt;a href=&quot;http://dx.doi.org/10.1016/0020-0190(83)90044-3&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://dx.doi.org/10.1016/0020-0190(83)90044-3&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[Tiw92] Prasoon Tiwari.  A problem that is easier to solve on the unit-cost algebraic RAM.  &lt;em&gt;Journal of Complexity&lt;/em&gt;, 8(4):393–397, Dec. 1992.  &lt;a href=&quot;http://dx.doi.org/10.1016/0885-064X(92)90003-T&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://dx.doi.org/10.1016/0885-064X(92)90003-T&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="567" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2010-10-08T14:14:44.657" CommentCount="10" ContentLicense="CC BY-SA 2.5" />
  <row Id="2029" PostTypeId="2" ParentId="2019" CreationDate="2010-10-08T12:14:15.823" Score="5" Body="&lt;p&gt;Well, you seem to be missing cases with high symmetry. Basically, any case where there is only a polynomial number of energy eigenvalues and it is easy to compute the degeneracy of these levels and easy to find an eigenstate with each eigenvalue should make the partition function efficiently computable. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;An example of this would be a maximally connected graph for arbitrary J and h.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Update&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since Yaroslav asked in a comment, here is the reasoning:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The partition function for the Ising model is (taking $\beta=1$) $Z_G=\sum_{x\in \mathcal{X}} \exp\left(J \sum_{(i,j)\in E} x_i x_j + h \sum_i x_i\right)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Notice that the first sum is over all configurations. We can separate this into two separate sums as follows:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$Z_G=\sum_{y=0}^n \sum_{x \in H_y} \exp\left(J \sum_{(i,j)\in E} x_i x_j + h \sum_i x_i\right)$&#xA;where $H_y$ is the set of strings of Hamming weight $y$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Next, note that every $x \in H_y$ has the same energy, due to the permutation invariance of the maximally connected graph. So we can define &#xA;$E_y = -\left(J \sum_{(i,j)\in E} x_i x_j + h \sum_i x_i\right) = -J\left( \binom{y}{2}+\binom{n-y}{2} - y(n-y)\right)-h(n-2y)$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This gives $Z_G=\sum_{y=0}^n |H_y| ~ e^{-E_y} = \sum_{y=0}^n \binom{n}{y} ~ e^{-E_y}$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;As the sum has only $n$ terms, and each term is efficiently computable, the entire partition function can be efficiently computed to a chosen precision for the maximally connected graph of $n$ vertices. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The approach outlined above makes use of the fact that there is only a polynomial number of distinct eigenvalues and that both the value and degeneracy of each level is known. This works in general, whenever these conditions are satisfied, since we can then express the partition function as $Z=\sum_{y=0}^{poly(n)} D_y ~ e^{-E_y}$, where $D_y$ is the degeneracy of level $E_y$. If both $E_y$ and $D_y$ are efficiently computable, then we can compute this sum directly in polynomial time. This is true of all Hamiltonians, not simply the Ising model.&lt;/p&gt;&#xA;" OwnerUserId="204" LastEditorUserId="204" LastEditDate="2010-10-08T21:20:18.340" LastActivityDate="2010-10-08T21:20:18.340" CommentCount="7" ContentLicense="CC BY-SA 2.5" />
  <row Id="2030" PostTypeId="2" ParentId="2019" CreationDate="2010-10-08T16:32:50.653" Score="2" Body="&lt;p&gt;It can also be computed for h=0 and low genus (i.e., &quot;almost planar&quot;).  I believe the complexity is exponential in the genus.&lt;/p&gt;&#xA;" OwnerDisplayName="matt hastings" LastActivityDate="2010-10-08T16:32:50.653" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="2031" PostTypeId="1" AcceptedAnswerId="2036" CreationDate="2010-10-08T17:17:26.767" Score="14" ViewCount="319" Body="&lt;p&gt;I'm revising some cryptographic model. To show its inadequacy, I've devised a contrived protocol based on graph isomorphism.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is &quot;commonplace&quot; (yet controversial!) to assume the existence of BPP algorithms capable of generating &quot;hard instances of the Graph Isomorphism problem.&quot; (Along with a witness of isomorphism.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In my contrived protocol, I'm gonna assume the existence of such BPP algorithms, which satisfy one additional requirement:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Let the generated graphs be $G_1$ and $G_2$. There's just one witness (permutation) that maps $G_1$ to $G_2$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;This implies that $G_1$ has only &lt;strong&gt;trivial automorphisms&lt;/strong&gt;. In other words, I'm assuming the existence of some BPP algorithm, which works as follows:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;On input $1^n$, generate an $n$-vertex graph $G_1$, such that it has only trivial automorphisms.&lt;/li&gt;&#xA;&lt;li&gt;Pick a random permutation $\pi$ over $[n]=\{1,2,\ldots,n\}$, and apply it on $G_1$ to get $G_2$.&lt;/li&gt;&#xA;&lt;li&gt;Output $\langle G_1,G_2,\pi \rangle$.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;I'm gonna assume that, in Step 1, $G_1$ can be generated as needed, and &#xA;$\langle G_1,G_2 \rangle$ is a &lt;em&gt;hard&lt;/em&gt; instance of the Graph Isomorphism problem. (Please interpret the word &quot;hard&quot; naturally; a formal definition is given by &lt;a href=&quot;http://www.springerlink.com/content/trt9vatu0u298jry/&quot;&gt;Abadi &lt;em&gt;et al.&lt;/em&gt;&lt;/a&gt; See also the paper by &lt;a href=&quot;http://dx.doi.org/10.1109/FSCS.1990.89604&quot;&gt;Impaliazzo &amp;amp; Levin&lt;/a&gt;.)&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is my assumption reasonable? Could anyone please point me to some references?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="873" LastEditorUserId="495" LastEditDate="2010-10-15T07:16:24.593" LastActivityDate="2010-10-15T07:16:24.593" Title="Generating Graphs with Trivial Automorphisms" Tags="&lt;graph-theory&gt;&lt;cr.crypto-security&gt;&lt;automorphism&gt;&lt;graph-isomorphism&gt;&lt;randomized-algorithms&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="2032" PostTypeId="1" AcceptedAnswerId="2033" CreationDate="2010-10-08T17:17:42.073" Score="29" ViewCount="1910" Body="&lt;p&gt;&lt;em&gt;Edit&lt;/em&gt;: As Ravi Boppana correctly pointed out in &lt;a href=&quot;https://cstheory.stackexchange.com/questions/2032/a-decision-problem-which-is-not-known-to-be-in-ph-but-will-be-in-p-if-pnp/2033#2033&quot;&gt;his answer&lt;/a&gt; and Scott Aaronson also added another example in &lt;a href=&quot;https://cstheory.stackexchange.com/questions/2032/a-decision-problem-which-is-not-known-to-be-in-ph-but-will-be-in-p-if-pnp/2035#2035&quot;&gt;his answer&lt;/a&gt;, the answer to this question turned out to be “yes” in a way which I had not expected at all.  First I thought that they did not answer the question I had &lt;em&gt;wanted&lt;/em&gt; to ask, but after some thinking, these constructions answer at least one of the questions I wanted to ask, that is, “Is there any way to prove a conditional result ‘P=NP ⇒ &lt;i&gt;L&lt;/i&gt;∈P’ without proving the unconditional result &lt;i&gt;L&lt;/i&gt;∈PH?”  Thanks, Ravi and Scott!&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Is there a decision problem &lt;i&gt;L&lt;/i&gt; such that the following conditions are both satisfied?&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;i&gt;L&lt;/i&gt; is not known to be in the polynomial hierarchy.&lt;/li&gt;&#xA;&lt;li&gt;It is known that P=NP will imply &lt;i&gt;L&lt;/i&gt;∈P.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;An artificial example is as good as a natural one.  Also, although I use the letter “&lt;i&gt;L&lt;/i&gt;,” it can be a promise problem instead of a language if it helps.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Background&lt;/strong&gt;.  If we know that a decision problem &lt;i&gt;L&lt;/i&gt; is in the polynomial hierarchy, then we know that “P=NP ⇒ &lt;i&gt;L&lt;/i&gt;∈P.”  The intent of the question is to ask whether the converse holds.  If a language &lt;i&gt;L&lt;/i&gt; satisfying the above two conditions exists, then it can be thought of as an evidence that the converse fails.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The question has been motivated by Joe Fitzsimons’s interesting comment to my &lt;a href=&quot;https://cstheory.stackexchange.com/questions/2021/consequences-of-p-fp/2028#2028&quot;&gt;answer&lt;/a&gt; to Walter Bishop’s question “&lt;a href=&quot;https://cstheory.stackexchange.com/questions/2021/consequences-of-p-fp&quot;&gt;Consequences of #P = FP&lt;/a&gt;.”&lt;/p&gt;&#xA;" OwnerUserId="567" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2011-08-22T08:29:29.330" Title="A decision problem which is not known to be in PH but will be in P if P=NP" Tags="&lt;cc.complexity-theory&gt;&lt;conditional-results&gt;&lt;np&gt;&lt;polynomial-hierarchy&gt;" AnswerCount="3" CommentCount="8" FavoriteCount="12" ContentLicense="CC BY-SA 2.5" />
  <row Id="2033" PostTypeId="2" ParentId="2032" CreationDate="2010-10-08T18:05:32.733" Score="26" Body="&lt;p&gt;Since you don't mind an artificial language, how about defining $L$ to be empty if P equals NP and to be the Halting Problem if P doesn't equal NP.  Okay, it's a bit of a cheat, but I think you'll need to rephrase the problem to avoid such cheats.  &lt;/p&gt;&#xA;" OwnerUserId="1697" LastActivityDate="2010-10-08T18:05:32.733" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2034" PostTypeId="1" AcceptedAnswerId="2037" CreationDate="2010-10-08T18:23:09.797" Score="10" ViewCount="503" Body="&lt;p&gt;Say that I have a weighted graph $G = (V,E,w)$ such that $w:E\rightarrow [-1,1]$ is the weighting function -- note that negative weights are allowed.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Say that $f:2^V\rightarrow \mathbb{R}$ defines a property of any subset of the vertices $S \subset V$. &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Question: What are some interesting examples of&#xA;  $f$s for which the maximization&#xA;  problem: $\arg\max_{S \subseteq&#xA;  V}f(S)$ can be performed in polynomial&#xA;  time?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;For example, the graph cut function &#xA;$$f(S) = \sum_{(u,v) \in E : u \in S, v \not\in S}w((u,v))$$&#xA; is an interesting property of subsets of vertices, but cannot be efficiently maximized. The edge density function is another example of an interesting property that alas, cannot be efficiently maximized. I'm looking for functions that are equally interesting, but &lt;em&gt;can&lt;/em&gt; be efficiently maximized.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'll let the definition of &quot;interesting&quot; be somewhat vague, but I want the maximization problem to be non-trivial. For example it should not be that you can determine the answer without examining the edges of the graph (so constant functions, and the cardinality function are not interesting). It should also not be the case that $f$ is really just encoding some other function with a polynomially sized domain by padding it into the domain $2^V$ (i.e. I don't want there to be some small domain $X$, and some function $m:2^S\rightarrow X$ known before looking at the graph, such that the function of interest is really $g:X\rightarrow \mathbb{R}$, and $f(S) = g(m(S))$ If this is the case, then the &quot;maximization&quot; problem is really just a question of evaluating the function on all inputs.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit: Its true that sometimes &lt;em&gt;minimization&lt;/em&gt; problems are easy if you ignore the edge weights (although not minimizing the cut function, since I allow negative edge weights). But I'm explicitly interested in maximization problems. It does not become an issue in natural weighted problems in this setting though. &lt;/p&gt;&#xA;" OwnerUserId="25" LastEditorUserId="25" LastEditDate="2010-10-08T21:41:36.380" LastActivityDate="2010-10-08T21:41:36.380" Title="Interesting functions on graphs that can be efficiently maximized." Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;co.combinatorics&gt;" AnswerCount="4" CommentCount="9" ContentLicense="CC BY-SA 2.5" />
  <row Id="2035" PostTypeId="2" ParentId="2032" CreationDate="2010-10-08T18:48:08.927" Score="31" Body="&lt;p&gt;If an artificial example is really as good as a natural one, then I can indeed provide such an example!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;b&gt;Edit:&lt;/b&gt; Furthermore, my example is &quot;somewhat&quot; less of a cheat than the one suggested by Ravi Boppana (where we take L to be the empty language if P = NP and the halting problem otherwise), in that I'll define the language L by giving a finite procedure to decide whether $x \in$ L for any input x.  At no point will deciding whether x&amp;isin;L require solving an &quot;unbounded&quot; mathematical question such as P vs. NP.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Without further ado: let $M_1, M_2, ...$ be an enumeration of polytime Turing machines.  For all $n$, let $M_{t(n)}$ be the lexicographically first $M_i$ that correctly decides 3SAT on all inputs of length $n$ or less.  Then define the language L as follows: for all inputs $x$ of size $n$, $x \in$ L if and only if the Turing machine encoded by $x$ halts in at most $n^{t(n)}$ steps when run on a blank tape.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;b&gt;Claim 1:&lt;/b&gt; If P = NP, then L $\in$ P.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;b&gt;Proof:&lt;/b&gt; If P = NP, then there's some fixed $M_i$ that solves 3SAT for all inputs; hence $t(n) \le i$ for all $n$. QED&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;b&gt;Claim 2:&lt;/b&gt; If P $\ne$ NP, then L $\notin$ P.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;b&gt;Proof:&lt;/b&gt; If $t(n)$ increases without bound, then we can simply apply the Time Hierarchy Theorem. QED&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, not only is L not in P assuming P $\ne$ NP: one presumes it wouldn't be in PH (or even PSPACE) either!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Incidentally, I wonder if anyone can improve the above construction, to get a language L which is in P if P = NP, but &lt;i&gt;provably&lt;/i&gt; not in PH or PSPACE if P $\ne$ NP?&lt;/p&gt;&#xA;" OwnerUserId="1575" LastEditorUserId="204" LastEditDate="2011-08-22T08:29:29.330" LastActivityDate="2011-08-22T08:29:29.330" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="2036" PostTypeId="2" ParentId="2031" CreationDate="2010-10-08T19:10:12.673" Score="9" Body="&lt;p&gt;At least the first naive approach one might think of does not work.  The approach I have in mind is to simply generate $G_1$ purely at random.  Since almost all graphs have no symmetries (that is, the proportion of graphs on $n$ vertices with no nontrivial automorphisms approaches 1 as $n \to \infty$), $G_1$ will have no nontrivial automorphisms with high probability, which is what we want.  However, the average-case version of graph isomorphism, where graphs are chosen uniformly at random, can be solved in linear time [BK], so this does not generate a distribution of hard instances.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But a second naive approach has a chance of working: generate a random &lt;em&gt;regular&lt;/em&gt; graph (of non-constant degree, since constant-degree graph isomorphism is in P).  This also has no nontrivial automorphisms with high probability [KSV], but the Babai-Kucera result does not apply (as they point out in the paper).  Proving that this is an invulnerable generator obviously requires some assumptions, but one could imagine proving unconditionally that average-case regular graph isomorphism is as hard as worst-case graph isomorphism, though I don't know how likely this is.  (Note that worst-case regular graph isomorphism is equivalent to worst-case (general) graph isomorphism.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[BK]. Laszlo Babai, Ludik Kucera, &lt;a href=&quot;http://doi.ieeecomputersociety.org/10.1109/SFCS.1979.8&quot;&gt;Canonical labelling of graphs in linear average time&lt;/a&gt;. FOCS 1979, pp.39-46.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[KSV] Jeong Han Kim, Benny Sudakov, and Van H. Vu. &lt;a href=&quot;http://dx.doi.org/10.1002/rsa.10054&quot;&gt;On the asymmetry of random regular graphs and random graphs&lt;/a&gt;. Random Structures &amp;amp; Algorithms, 21(3-4):216–224, 2002.  Also available &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.24.9769&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="129" LastEditorUserId="129" LastEditDate="2010-10-08T19:15:42.767" LastActivityDate="2010-10-08T19:15:42.767" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="2037" PostTypeId="2" ParentId="2034" CreationDate="2010-10-08T19:16:54.637" Score="5" Body="&lt;p&gt;Whenever $f(S)$ counts the number of edges $(u,v)$ satisfying some Boolean predicate defined in terms of $u\in S$ and $v\in S$, then what you wrote is just a Boolean 2-CSP. The objective function asks to maximize the number of satisfied clauses over all assignments to the variables. This is known to be NP-hard and the exact hardness threshold is also known assuming UGC (see Raghavendra'08).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are many natural positive examples when you want to maximize over subsets of edges, e.g, Maximum matching is one example of a polynomial time problem in this case.&lt;/p&gt;&#xA;" OwnerUserId="68" LastEditorUserId="68" LastEditDate="2010-10-08T20:49:32.760" LastActivityDate="2010-10-08T20:49:32.760" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2038" PostTypeId="1" CreationDate="2010-10-08T19:34:23.433" Score="6" ViewCount="4427" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Possible Duplicate:&lt;/strong&gt;&lt;br&gt;&#xA;  &lt;a href=&quot;https://cstheory.stackexchange.com/questions/1284/problems-that-can-be-used-to-show-polynomial-time-hardness-results&quot;&gt;Problems that can be used to show polynomial time hardness results&lt;/a&gt;  &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&#xA;&#xA;&lt;p&gt;Given a polynomial time algorithm, what techniques are known for proving that an algorithm is optimal?  E.g., given an algorithm for solving, say, REACH (a P-complete problem), what are good techniques for proving that the algorithm runs with optimal complexity, assuming of course that it does and that its complexity is known.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In case that was unclear, I'll restate my question briefly:  Given a polynomial time algorithm that decides a language or computes a function, how can one prove that the algorithm's worst-case complexity cannot be improved upon with a &quot;better&quot; algorithm?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit:&lt;/strong&gt;  By &quot;better&quot; what I mean is that, e.g., if a particular algorithm has been established to run in O(n^4), there does not exist any algorithm with O(n^3) complexity that solves the same problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thank you,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Philip&lt;/p&gt;&#xA;" OwnerUserId="1338" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2010-10-08T23:51:56.477" Title="What techniques are used for proving algorithms optimal?" Tags="&lt;cc.complexity-theory&gt;&lt;proofs&gt;" AnswerCount="2" CommentCount="8" FavoriteCount="1" ClosedDate="2010-10-09T02:07:31.387" ContentLicense="CC BY-SA 2.5" />
  <row Id="2039" PostTypeId="2" ParentId="2032" CreationDate="2010-10-08T19:47:38.717" Score="19" Body="&lt;p&gt;Answering Scott Aaronson's question, but a bit too long for a comment, here is a construction of a language $L$ such that $P = NP$ implies $L \in P$, but $P \neq NP$ implies $L \notin PH$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $M_1, M_2, M_3, \dotsc$ and $t(n)$ be as in Scott's construction. We make it so that $L$ does not reduce to $\Sigma_{k} SAT$ for each $k$, but we only do this if $t(n) \to \infty$ (i.e. if $P \neq NP$). The construction proceeds in stages.  At stage $s=(i,j)$ (using some easily computable and easily invertible bijection $\Sigma^* \to \Sigma^* \times \Sigma^*$), we ensure that $M_i$ is not a many-one reduction from $L$ to $\Sigma_{j} SAT$.  Let $n_{s}$ be the least integer such that $t(n_{s}) &gt; t(n_{s-1})$ (base case: $n_{0} = 1$).  If there is such an integer $n_{s}$, then set $L(1^{n_{s}}) = 1 - \Sigma_{k}SAT(M_{i}(1^{n_{s}}))$.  If there is no such integer $n_{s}$, we let $L$ be empty forever after.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $P \neq NP$, then $t(n) \to \infty$ as $n \to \infty$, so there is always such an $n_{s}$, hence $L$ is not in $PH$.  If $P = NP$, then my $L$ is only finitely different from Scott's $L$, and hence is in $P$.&lt;/p&gt;&#xA;" OwnerUserId="129" LastEditorUserId="129" LastEditDate="2010-10-09T04:28:24.733" LastActivityDate="2010-10-09T04:28:24.733" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="2040" PostTypeId="2" ParentId="2034" CreationDate="2010-10-08T20:25:45.760" Score="1" Body="&lt;p&gt;Minimum cut (specifically, vertex cut).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(In this case $f$ would be something like this: 0 if removing the nodes in the set $S$ does not partition $G$ in at least two components, and $|V| - |S|$ otherwise. Then maximising $f$ is equivalent to finding a minimum cut, which can be done in polynomial time.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can also define a similar function that corresponds to minimum edge cuts.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(For example, $f(S)$ is 0 if $S = \emptyset$ or $S = V$; otherwise it is $|E| - |X|$, where $X$ is the set of edges that have one endpoint in $S$ and the other endpoint in $V \setminus S$.)&lt;/p&gt;&#xA;" OwnerUserId="74" LastEditorUserId="74" LastEditDate="2010-10-08T21:11:45.220" LastActivityDate="2010-10-08T21:11:45.220" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2041" PostTypeId="2" ParentId="2034" CreationDate="2010-10-08T20:37:33.487" Score="2" Body="&lt;p&gt;Domatic partition / weak 2-colouring.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(In this case $f(S) = 1$ if each $v \in S$ has a neighbour in $V \setminus S$ and vice versa. Otherwise $f(S) = 0$. A solution with $f(S) = 1$ always exists if there are no isolated nodes, and it can be found easily in polynomial time.)&lt;/p&gt;&#xA;" OwnerUserId="74" LastActivityDate="2010-10-08T20:37:33.487" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2042" PostTypeId="2" ParentId="2034" CreationDate="2010-10-08T21:32:32.660" Score="1" Body="&lt;p&gt;Maximal independent set.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Here $f(S)$ = number of nodes in $S$ that are not adjacent to any other node in $S$ + number of nodes in $V \setminus S$ that are adjacent to a node in $S$. Iff $S$ is a maximal independent set we have $f(S) = |V|$.)&lt;/p&gt;&#xA;" OwnerUserId="74" LastActivityDate="2010-10-08T21:32:32.660" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="2043" PostTypeId="2" ParentId="2038" CreationDate="2010-10-08T21:49:48.457" Score="5" Body="&lt;p&gt;Intuitively, proving that a problem in P requires, say, time $\Omega(n\log n)$ is not any easier than proving the same lower bound for SAT. In fact, proving this lower bound for SAT should be easier, because we think SAT is harder than any problem in P. Concrete examples are matrix multiplication or fourier transform over GF(2). These are polynomial time problems but we don't have superlinear lower bounds.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One notable exception are time hierarchy results which give you (artificial) problems that are solvable by a Turing machine in time $O(t(n))$ but not solvable in time $O(t(n)/\log(n)).$ These results are proved via diagonalization.&lt;/p&gt;&#xA;" OwnerUserId="68" LastActivityDate="2010-10-08T21:49:48.457" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2044" PostTypeId="2" ParentId="2026" CreationDate="2010-10-08T22:08:02.110" Score="8" Body="&lt;p&gt;What you've defined is the vertex cover problem for 3-uniform hypergraphs. &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.123.4748&amp;amp;rep=rep1&amp;amp;type=pdf&quot;&gt;Khot and Regev&lt;/a&gt; showed that if the unique games conjecture is true, then it is NP-hard to get an approximation of $3-\epsilon$ for this problem. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2010-10-08T22:08:02.110" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="2045" PostTypeId="1" AcceptedAnswerId="2048" CreationDate="2010-10-08T22:19:05.217" Score="29" ViewCount="1136" Body="&lt;p&gt;In a lot of domains, there are canonical techniques which everybody working in the field should master. For example, for logspace reductions, the &quot;bit trick&quot; for composition consisting of not constructing the full output of the composed function, but always asking to recompute the result for every bit of output, permitting to keep logspace constraints.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is about non-relativizing techniques. Do theoricians have outlined some fundamental non-relativizing operations, or is there a different trick for each known non-relativizing proof ?&lt;/p&gt;&#xA;" OwnerUserId="378" LastEditorUserId="6579" LastEditDate="2015-03-16T09:15:36.243" LastActivityDate="2015-03-16T09:15:36.243" Title="Are there canonical non-relativizing techniques?" Tags="&lt;cc.complexity-theory&gt;&lt;oracles&gt;&lt;relativization&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="11" ContentLicense="CC BY-SA 3.0" />
  <row Id="2047" PostTypeId="2" ParentId="2038" CreationDate="2010-10-08T23:51:56.477" Score="2" Body="&lt;p&gt;The biggest set of techniques I know for (unconditional) lower bounds is information theoretic ones. Unfortunately these techniques can't give better than linear-time lower bounds. (The lower-bound of $\Omega(n \log n)$ for comparison-based sorting is not actually super-linear since the effective input is the $\binom{n}{2}$ comparison results.) As Moritz says we're essentially clueless about how to prove superlinear unconditional lower bounds for natural problems and unrestricted computational models.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand if an algorithm is limited to sublinear space then there are techniques for showing superlinear lower bounds on time. If I recall correctly there are known more or less matching lower and upper bounds for e.g. sorting and median-finding when time is superlinear and space is sublinear. I think the product of space and time for sorting is always $\tilde \Omega(n^2)$ for a wide range of space and time between polylogarithmic and quadratic.&lt;/p&gt;&#xA;" OwnerUserId="1522" LastActivityDate="2010-10-08T23:51:56.477" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2048" PostTypeId="2" ParentId="2045" CreationDate="2010-10-09T00:41:43.220" Score="41" Body="&lt;p&gt;There's really only &lt;i&gt;one&lt;/i&gt; &quot;flagship&quot; non-relativizing technique: namely, &lt;i&gt;arithmetization&lt;/i&gt; (the technique used in the proofs of IP=PSPACE, MIP=NEXP, PP&amp;nsub;SIZE(n&lt;sup&gt;k&lt;/sup&gt;), MA&lt;sub&gt;EXP&lt;/sub&gt;&amp;nsub;P/poly, and several other results).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, the proof that all NP languages have computational zero-knowledge proofs (assuming one-way functions exist), due to Goldreich, Micali, and Wigderson, used a different non-relativizing technique (namely, the symmetries of the 3-COLORING problem).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Arora, Impagliazzo, and Vazirani argued that even &quot;local checkability,&quot; the property of NP-complete problems used in the proof of the original Cook-Levin Theorem (as well as the PCP Theorem), should count as a non-relativizing technique (though Lance Fortnow wrote a paper arguing the opposite).  The sticking point is whether it makes sense to relativize the complexity class of &quot;locally checkable problems.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The pebbling arguments used in results from the 1970s such as TIME(n)&amp;ne;NTIME(n) have been put forward as another example of a non-relativizing technique.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For more, you might want to check out my &lt;a href=&quot;http://www.scottaaronson.com/papers/alg.pdf&quot;&gt;algebrization paper with Wigderson&lt;/a&gt;, and especially the references therein.  We had to pretty much catalogue the existing non-relativizing techniques in order to figure out which ones were and weren't encompassed by the algebrization barrier.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;b&gt;Addendum:&lt;/b&gt; I just realized that I forgot to mention &lt;i&gt;measurement-based quantum computing (MBQC)&lt;/i&gt;, which was recently used to great effect by &lt;a href=&quot;http://arxiv.org/abs/0807.4154&quot;&gt;Broadbent, Fitzsimons, and Kashefi&lt;/a&gt; to obtain quantum complexity theorems (such as QMIP = MIP*, and BQP = MIP with entangled BQP provers and BPP verifier) that most likely fail to relativize.&lt;/p&gt;&#xA;" OwnerUserId="1575" LastEditorUserId="1575" LastEditDate="2010-10-12T02:47:25.643" LastActivityDate="2010-10-12T02:47:25.643" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2049" PostTypeId="1" AcceptedAnswerId="2069" CreationDate="2010-10-09T02:32:16.837" Score="4" ViewCount="529" Body="&lt;p&gt;This numerical problem arose in one of my projects. It seems simple at first sight, but I can't seem to find a good approach. Maybe someone else has an idea:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We have two integers, $n$ and $N$. Let's say that $n \approx 10^6$ and $N&gt;10^{18}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I need to create a list of all numbers between n and $\sqrt N$ that divide some number in the interval $[N,N+n-1]$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Obviously, each number can divide at most one, and the total number of answers is approximately $n \ln{\sqrt N  \over n}$; $6.9*10^6$ for $10^{18}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The most straightforward approach is to enumerate all integers from $n$ to $\sqrt N$ and to try each one, and that takes $O(\sqrt N)$ operations. Surely we can do much better?&lt;/p&gt;&#xA;" OwnerUserId="1703" LastEditorUserId="1703" LastEditDate="2010-10-09T19:44:17.133" LastActivityDate="2010-10-09T19:44:17.133" Title="Finding divisors of an interval of integers" Tags="&lt;ds.algorithms&gt;&lt;nt.number-theory&gt;" AnswerCount="2" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="2050" PostTypeId="1" AcceptedAnswerId="2060" CreationDate="2010-10-09T03:39:14.040" Score="8" ViewCount="720" Body="&lt;p&gt;Trying to find the optimal solution to WEIGHTED-MAX-3SAT, the weighted version of the 3-SAT optimization problem, is NP-hard. In fact, even approximating the non-weighted version of MAX-SAT arbitrarily well is provably NP-hard by the PCP Theorem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A canonical algorithm for approximating WEIGHTED-MAX-3SAT is MAX-WalkSAT. Looking around I found some information on other algorithms (i.e. branch-and-bound, the DPL algorithm) which are commonly used to find solutions to 3-SAT or (unweighted) MAX-3SAT, but I didn't see any discussion of how well these would work for the weighted version. Intuitively, without being adapted they would not work as well.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm wondering what other algorithms are commonly used to approximate WEIGHTED-MAX-SAT, if there are well-known WEIGHTED-MAX-SAT solvers, and the relative quality of these algorithms/solvers.&lt;/p&gt;&#xA;" OwnerUserId="969" LastEditorUserId="-1" LastEditDate="2013-04-30T03:37:08.793" LastActivityDate="2013-04-30T03:37:08.793" Title="Approximation Algorithms for MAXSAT" Tags="&lt;ds.algorithms&gt;&lt;approximation-algorithms&gt;&lt;sat&gt;&lt;approximation-hardness&gt;" AnswerCount="2" CommentCount="8" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2051" PostTypeId="2" ParentId="2050" CreationDate="2010-10-09T06:20:16.783" Score="4" Body="&lt;p&gt;I think one can do reduction by simply duplicating the formulas according to their weight and therefore upper and lower bound results for unweighted 3-SAT also apply to weighted versions, with arbitrarily small lost. And according to a classical result of Johan Håstad, it is NP-hard to approximate 3-SAT beyond 7/8, which is the performance of assigning random values.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am not sure about the performance of algorithms used in practical.&lt;/p&gt;&#xA;" OwnerUserId="525" LastActivityDate="2010-10-09T06:20:16.783" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="2052" PostTypeId="1" AcceptedAnswerId="2819" CreationDate="2010-10-09T08:53:36.407" Score="24" ViewCount="4448" Body="&lt;p&gt;A very specific question, I'm aware, and I doubt it will be answered by anyone that isn't already familiar with the rules of Magic. Cross-posted to &lt;a href=&quot;http://draw3cards.com/questions/2851/is-magic-turing-complete&quot;&gt;Draw3Cards&lt;/a&gt;. Here are the &lt;a href=&quot;http://www.wizards.com/magic/comprules/MagicCompRules_20101001.txt&quot;&gt;comprehensive rules for the game Magic: the Gathering&lt;/a&gt;. See &lt;a href=&quot;http://draw3cards.com/questions/2852/an-online-list-of-all-magic-cards&quot;&gt;this question&lt;/a&gt; for a list of all Magic Cards. My question is - is the game Turing Complete?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For more details, please see &lt;a href=&quot;http://draw3cards.com/questions/2851/is-magic-turing-complete&quot;&gt;the post at Draw3Cards&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="81" LastEditorUserId="80" LastEditDate="2010-10-10T03:13:28.627" LastActivityDate="2019-06-17T22:14:08.833" Title="Is Magic: the Gathering Turing complete?" Tags="&lt;turing-machines&gt;&lt;card-games&gt;&lt;recreational&gt;" AnswerCount="3" CommentCount="32" FavoriteCount="7" ContentLicense="CC BY-SA 2.5" />
  <row Id="2053" PostTypeId="1" AcceptedAnswerId="2054" CreationDate="2010-10-09T11:21:02.627" Score="2" ViewCount="620" Body="&lt;p&gt;I am trying to design a Turing Machine using C++ Template Metaprogramming. What steps must be taken to ensure that the code that I'm gonna write will &lt;em&gt;actually&lt;/em&gt; build a Turing machine ? I have read that C++ templates are Turing complete but I don't actually know how to prove this thing.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;How should I proceed? Turing completeness is really tough to understand and so simulating a Turing Machine would be tougher I guess. What do you guys suggest?&lt;/p&gt;&#xA;" OwnerUserId="1478" LastEditorUserId="-1" LastEditDate="2013-04-30T03:39:32.063" LastActivityDate="2013-04-30T03:39:32.063" Title="Template Metaprogramming and Turing Completeness" Tags="&lt;pl.programming-languages&gt;&lt;computability&gt;&lt;turing-machines&gt;" AnswerCount="3" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2054" PostTypeId="2" ParentId="2053" CreationDate="2010-10-09T12:01:15.437" Score="9" Body="&lt;p&gt;The article you want is &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.120.2003&amp;amp;rep=rep1&amp;amp;type=pdf&quot;&gt;C++ Templates are Turing Complete&lt;/a&gt; by Todd Verhuizen. It explains how things work in sufficient details. If you can faithfully encode a Turing machine and its behaviour in C++ templates, then this is sufficient to demonstrate Turing completeness.&lt;/p&gt;&#xA;" OwnerUserId="77" LastActivityDate="2010-10-09T12:01:15.437" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2055" PostTypeId="2" ParentId="2053" CreationDate="2010-10-09T14:11:20.427" Score="2" Body="&lt;p&gt;Since templates are a compile-time applicative language you may find it tedious to encode a stateful model of computation like a Universal Turing Machine. Encoding some other Turing-equivalent model, like the Lambda Calculus, is a more straight forward approach.&lt;/p&gt;&#xA;" OwnerUserId="1578" LastActivityDate="2010-10-09T14:11:20.427" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2056" PostTypeId="2" ParentId="2049" CreationDate="2010-10-09T14:14:14.790" Score="0" Body="&lt;p&gt;You might as well list all numbers from 1 to $\sqrt{N}$. Then the problem is more or less the same as finding all prime factors of all numbers in an interval. Using the Sieve of Atkin to generate primes you can get $ O(\sqrt{N}/\log \log N) $.&lt;/p&gt;&#xA;" OwnerUserId="636" LastActivityDate="2010-10-09T14:14:14.790" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2057" PostTypeId="2" ParentId="2052" CreationDate="2010-10-09T15:01:27.567" Score="15" Body="&lt;p&gt;Ok, I have a solution that avoids the mana burn issue I ran into. This is kind of a hack, since I need to make the assumption that players can identify specific lands, which I don't think is dealt with in the rules. In practice this is the case, since they can be arranged in a line based on the order in which they are played.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First, the full description of the problem from the Draw3Cards site:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;A positive answer would be composed of&#xA;  these components:&lt;/p&gt;&#xA;  &#xA;  &lt;ol&gt;&#xA;  &lt;li&gt;A computable function fM from Turing Machines to ordered Magic decks&#xA;  (where the order of the library&#xA;  matters)&lt;/li&gt;&#xA;  &lt;li&gt;Two well defined deterministic &amp;amp; computable strategies to play Magic&#xA;  (that do not depend on the deck).&#xA;  Let's call them Strategy TS (Turing&#xA;  Strategy) and Strategy IS (Input&#xA;  Strategy).&lt;/li&gt;&#xA;  &lt;li&gt;A computable way fI to encode any string of zeros and ones as a&#xA;  Magic Input deck. One such way would&#xA;  be to take the Gödel number of the&#xA;  string and put as many islands in the&#xA;  Input deck.&lt;/li&gt;&#xA;  &lt;/ol&gt;&#xA;  &#xA;  &lt;p&gt;The additional condition that should&#xA;  be satisfied is this: Given a Turing&#xA;  Machines TM, let us consider the&#xA;  result of the Magic game between&#xA;  strategy TS playing with deck fM(TM)&#xA;  against strategy TI playing with deck&#xA;  fI(I), when the libraries are not&#xA;  shuffled before the game starts. This&#xA;  game should be won by the first player&#xA;  if and only if TM(I) = true.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;So here is the idea. We have 2 players, A and B. B will supply the input, while A will directly implement a Turing machine. The decks will be composed almost entirely of land, but also the &lt;a href=&quot;http://gatherer.wizards.com/Pages/Card/Details.aspx?multiverseid=50150&quot; rel=&quot;noreferrer&quot;&gt;Gemstone Array&lt;/a&gt; card to void mana burn. A will have 3 types of land: Islands, Mountains and Forests. The basic idea is to use tapped land to represent a 1 and untapped land to represent a 0. Islands will be used to represent the state of the tape, Mountains to index the current position along the tape and Forests to represent the internal state of 24 state 2 symbol Turing machine (I believe there is a universal one due to Rogozhin).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The decks are ordered as follows:&#xA;A's deck: Gemstone Artifact; 6 Forests (since $2^5 = 32 &gt; 24$ plus an additional forest); For m=0 to infinity: $2^{m+1}$ Islands followed by 1 Mountains. Note that the number of mountains (which can be either tapped or untapped) is always the number required to index every island, plus a halting state.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;B's deck: Gemstone Artifact; 6 Forests (since $2^5 = 32 &gt; 24$ plus an additional forest); For m=0 to infinity: $2^{m+1}$ Input Lands followed by 1 Mountains. Note again that the number of mountains (which can be either tapped or untapped) is always the number required to index every island held by A, plus a halting state. The Input lands are taken to be Plains (to represent a 0 in the input string), Swamp (to represent a 1 in the input string) and Islands (which are used after the end of the input string has been reached.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Strategy:&#xA;A and B both play one land a turn in the order in which they are drawn. &#xA;When each has drawn 4 forests they play Gemstone Artifact.&#xA;Note A goes first, so already has an Island when B draws plays his first input card.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A and B simply continue to place their cards in order until B has exhausted their Plains and Swamps and plays their first Island. On his next go, A for all i taps his ith Island iff Bs ith Input Land was a swamp. A initialises his turing machine by tapping his first Forest and Mountain. If he has tapped an odd number of cards he taps his extra forrest, and uses all this mana to add tokens to Gemstone Array. From here on the play proceeds as follows: B uses their turn to simply mirror the state of A's mana. B taps his ith Input Land iff A's ith Island is tapped. Similarly B taps his ith Forest(Mountain) iff A's ith Forest(Mountain) is tapped. As A always taps an even number of cards, so does B, and the mana is used to add tokens to Gemstone Array. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;On A's turn, all of A's mana becomes untapped, so A looks at the state of B's mana, represents the state of A's mana on the previous turn. A applies the transition rule according to the universal (24,2) machine to B's state to obtain his new state.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Play proceeds in this manner until the turing machine halts. At this point, A puts his mountains into the reserved &quot;finished&quot; state (the all untapped state). If the Turing machine halted in an accepting state, B copies the state of A's mountains, but taps all their remaining land neglecting to use Gemstone array, thus beginning the process of suicide by mana burn. On A's turn, if B's mountains are in the &quot;finished&quot; state, and all B's other land is tapped, A simply does nothing (note that his mountains are automatically in the &quot;finished&quot; state). If A's mountains are in the finished state, but nothing else is tapped, B continues suicide by mana burn. This is repeated until B is dead.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If however, the machine finishes in the reject state, B leaves all their cards untapped. If all B's cards are untapped, A taps all his cards, beginning the same process of suicide by mana burn. If A's non-Mountain cards are all tapped, and the mountains untapped, B leaves all their cards untapped. This will lead A to continue the mana burn suicide until he loses the game.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This should satisfy the criteria asked for in the question, and hence when this ordering is allowed, I believe the game is Turing complete in the sense described in the question.&lt;/p&gt;&#xA;" OwnerUserId="204" LastActivityDate="2010-10-09T15:01:27.567" CommentCount="15" ContentLicense="CC BY-SA 2.5" />
  <row Id="2058" PostTypeId="1" AcceptedAnswerId="2070" CreationDate="2010-10-09T15:18:26.927" Score="27" ViewCount="2106" Body="&lt;p&gt;This may be a basic question, but I've been reading and trying to understand papers on such subjects as Nash equilibrium computation and linear degeneracy testing and have been unsure of how real numbers are specified as input.  E.g., when it's stated that LDT has certain polynomial lower bounds, how are the real numbers specified when they are treated as input?&lt;/p&gt;&#xA;" OwnerUserId="1338" LastEditorUserId="-1" LastEditDate="2013-05-10T06:22:21.713" LastActivityDate="2013-05-10T06:22:21.713" Title="How are real numbers specified in computation?" Tags="&lt;cc.complexity-theory&gt;&lt;computability&gt;&lt;na.numerical-analysis&gt;&lt;computing-over-reals&gt;&lt;computable-analysis&gt;" AnswerCount="6" CommentCount="2" FavoriteCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="2060" PostTypeId="2" ParentId="2050" CreationDate="2010-10-09T15:58:48.420" Score="5" Body="&lt;p&gt;Well, this can be formulated as the problem of finding the ground state of an Ising-like Hamiltonian with 3-local terms. These don't occur naturally, but you would expect them to cool similarly to other systems, so &lt;a href=&quot;http://en.wikipedia.org/wiki/Simulated_annealing&quot;&gt;simulated annealing&lt;/a&gt; should work just fine for the weighted version.&lt;/p&gt;&#xA;" OwnerUserId="204" LastActivityDate="2010-10-09T15:58:48.420" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="2061" PostTypeId="2" ParentId="2058" CreationDate="2010-10-09T16:17:38.060" Score="3" Body="&lt;p&gt;They are not and they can not, in general. We can only treat a countable number of inputs (and outputs and functions) with our models of computation. In particular, any input has to be finite but not all real numbers have finite representations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You could, I guess, assume some kind of oracle that yield the next digit of a certain real number upon request (sth like a stream). Otherwise you will have to live with (arbitrarily precise) approximations.&lt;/p&gt;&#xA;" OwnerUserId="1546" LastActivityDate="2010-10-09T16:17:38.060" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="2062" PostTypeId="2" ParentId="2058" CreationDate="2010-10-09T16:23:42.060" Score="7" Body="&lt;p&gt;The computational complexity of computations over real numbers is considered by &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0387982817&quot;&gt;Blum, Cucker, Shub, and Smale&lt;/a&gt;. Here's a partial description of the book:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;The classical theory of computation has its origins in the work of Goedel, Turing, Church, and Kleene and has been an extraordinarily successful framework for theoretical computer science. The thesis of this book, however, is that it provides an inadequate foundation for modern scientific computation where most of the algorithms are real number algorithms. The goal of this book is to develop a formal theory of computation which integrates major themes of the classical theory and which is more directly applicable to problems in mathematics, numerical analysis, and scientific computing. Along the way, the authors consider such fundamental problems as: Is the Mandelbrot set decidable? For simple quadratic maps, is the Julia set a halting set? What is the real complexity of Newton's method? Is there an algorithm for deciding the knapsack problem in a ploynomial number of steps? Is the Hilbert Nullstellensatz intractable? Is the problem of locating a real zero of a degree four polynomial intractable? Is linear programming tractable over the reals?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;You may find a review of this book on &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=1005765&quot;&gt;ACM SIGACT News&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="873" LastActivityDate="2010-10-09T16:23:42.060" CommentCount="6" ContentLicense="CC BY-SA 2.5" />
  <row Id="2064" PostTypeId="2" ParentId="2053" CreationDate="2010-10-09T16:33:38.873" Score="1" Body="&lt;p&gt;The following post on StackOverflow might be useful: &lt;a href=&quot;https://stackoverflow.com/q/7284/459391&quot;&gt;What is Turing Complete?&lt;/a&gt; &lt;/p&gt;&#xA;&#xA;&lt;p&gt;You may also consult the corresponding &lt;a href=&quot;http://en.wikipedia.org/wiki/Turing_completeness&quot; rel=&quot;nofollow noreferrer&quot;&gt;Wikipedia entry&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Moreover, you may consider taking a look at &lt;a href=&quot;http://savannah.nongnu.org/projects/turing-mach/&quot; rel=&quot;nofollow noreferrer&quot;&gt;C++ Simulator of a Turing Machine&lt;/a&gt; before implementing one from scratch (unless your objective is to learn, rather than use).&lt;/p&gt;&#xA;" OwnerUserId="873" LastEditorUserId="-1" LastEditDate="2017-05-23T12:40:09.333" LastActivityDate="2010-10-09T16:33:38.873" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2065" PostTypeId="2" ParentId="2058" CreationDate="2010-10-09T16:36:13.143" Score="8" Body="&lt;p&gt;This is not a direct answer to your question, more of a response to &lt;a href=&quot;https://cstheory.stackexchange.com/questions/2058/how-are-real-numbers-specified-in-computation/2061#2061&quot;&gt;Raphael&lt;/a&gt;. There has been quite some work recently specifying real number computations using coinduction. Here are some articles on the topic. &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://www.springerlink.com/content/p7554r613v28w21l/&quot; rel=&quot;nofollow noreferrer&quot;&gt;&lt;em&gt;Coinduction for Exact Real Number Computation&lt;/em&gt;&lt;/a&gt;, Ulrich Berger and Tie Hou: THEORY OF COMPUTING SYSTEMS Volume 43, Numbers 3-4, 394-409, DOI: 10.1007/s00224-007-9017-6&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://homepages.cwi.nl/~milad/publications/LMCS_4__3_6.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;&lt;em&gt;Coinductive Formal Reasoning in Exact Real Arithmetic&lt;/em&gt;&lt;/a&gt;, Milad Niqui, Logical Methods in Computer Science, 4(3:6):1–40, 2008. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;em&gt;&lt;a href=&quot;ftp://ftp.kestrel.edu/pub/papers/pavlovic/lapl-LICS98.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Calculus in Coinductive Form&lt;/a&gt;&lt;/em&gt; by Dusko Pavlovic and Martin Escardo, LICS 1998.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;They hardly cover the full spectrum of real number computation, but progress is being made to chip away at various problems.&lt;/p&gt;&#xA;" OwnerUserId="77" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2010-10-09T16:36:13.143" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="2066" PostTypeId="1" CreationDate="2010-10-09T17:05:08.830" Score="2" ViewCount="3613" Body="&lt;p&gt;Can someone please summarize the exact difference between NP-Complete and NP-Hard problems in simple language? Wiki and my standard books aren't exactly helping.&lt;/p&gt;&#xA;" OwnerDisplayName="chronoz" LastActivityDate="2010-10-09T17:11:53.007" Title="Difference between NP-Hard and NP-Complete" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;&lt;np&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="1" ClosedDate="2010-10-09T17:38:42.813" ContentLicense="CC BY-SA 2.5" />
  <row Id="2067" PostTypeId="2" ParentId="2066" CreationDate="2010-10-09T17:11:53.007" Score="2" Body="&lt;p&gt;A NP-complete problem is an NP-hard problem which is in NP.&lt;/p&gt;&#xA;" OwnerUserId="378" LastActivityDate="2010-10-09T17:11:53.007" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2068" PostTypeId="2" ParentId="2058" CreationDate="2010-10-09T17:16:57.163" Score="7" Body="&lt;h3&gt;Edited/Corrected based on the comments&lt;/h3&gt;&#xA;&lt;p&gt;When authors talk about real number inputs in linear programming, Nash equilibrium computation, ... in most papers (papers which are not on the topic of computation/complexity over real numbers) they don't really mean real numbers. They are rational numbers and numbers that arise from them due to their manipulations (algebraic numbers). So you can think of them as represented by finite strings.&lt;/p&gt;&#xA;&lt;p&gt;On the other hand, if the paper is on &lt;a href=&quot;http://cca-net.de/&quot; rel=&quot;noreferrer&quot;&gt;computability and complexity in analysis&lt;/a&gt;, then they are not using the usual model of computation, and there are &lt;em&gt;various incompatible&lt;/em&gt; models of computation/complexity over real numbers.&lt;/p&gt;&#xA;&lt;p&gt;If the paper does not specify a model of computation over real numbers, you can safely assume that it is the first case, i.e. they are just rational numbers.&lt;/p&gt;&#xA;&lt;p&gt;Computational Geometry is different. In most papers in CG, if the authors does not specify what is the model which with respect to it the correctness and complexity of an algorithm is being discussed, it can be assumed to be the BSS (a.k.a. real-RAM) model.&lt;/p&gt;&#xA;&lt;p&gt;The model is not realistic and therefore the implementation is not straight-forward. (This is one of the reasons that some people in CCA prefer Ko-Friedman/&lt;a href=&quot;http://www.fernuni-hagen.de/weihrauch/index_data/book.html&quot; rel=&quot;noreferrer&quot;&gt;TTE&lt;/a&gt;/&lt;a href=&quot;http://www.doc.ic.ac.uk/%7Eae/exact-computation/&quot; rel=&quot;noreferrer&quot;&gt;Domain theoretic&lt;/a&gt; models, but the problem with these models is that they are not as fast as floating-point computation in practice.) The correctness and complexity of the algorithm in the BSS model does not necessarily transfer to the correctness of the implemented algorithm.&lt;/p&gt;&#xA;&lt;p&gt;Weihrauch's &lt;a href=&quot;http://www.fernuni-hagen.de/weihrauch/index_data/book.html&quot; rel=&quot;noreferrer&quot;&gt;book&lt;/a&gt; contains a comparison between different models (Section 9.8). It is only three pages and worths reading.&lt;/p&gt;&#xA;&lt;p&gt;(There is also a third way, which may be more suitable for CG, you may want to take a look at this paper:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Chee Yap, &amp;quot;&lt;a href=&quot;http://cs.nyu.edu/exact/doc/realtheory.pdf&quot; rel=&quot;noreferrer&quot;&gt;Theory of Real Computation according to EGC&lt;/a&gt;&amp;quot;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;where EGC is &lt;a href=&quot;http://cs.nyu.edu/exact/&quot; rel=&quot;noreferrer&quot;&gt;Exact Geometric Computation&lt;/a&gt;.)&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2010-10-11T22:08:54.233" CommentCount="6" ContentLicense="CC BY-SA 2.5" />
  <row Id="2069" PostTypeId="2" ParentId="2049" CreationDate="2010-10-09T17:41:52.493" Score="2" Body="&lt;p&gt;Your problem is more or less equivalent to the problem of factoring $N,N+1,\ldots,N+n$. To get from these factorizations to the solution to your problem, simply enumerate the factors. To get from the solution to your problem to the factorization, simply test each factor for primality. In the future you may wish to state this problem in this other form, as it sounds more natural and fundamental that way.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One way to factor these numbers is to simply use a standard factorization algorithm on each one. Note that most numbers have &lt;a href=&quot;http://www.springerlink.com/content/vp1l5w306468h83u/&quot; rel=&quot;nofollow&quot;&gt;lots of small divisors&lt;/a&gt; and therefore are a lot easier to factor than the products of two large primes that need to be factored to break RSA public key cryptography. According to Wikipedia the &lt;a href=&quot;http://en.wikipedia.org/wiki/Lenstra_elliptic_curve_factorization&quot; rel=&quot;nofollow&quot;&gt;Lenstra elliptic curve factorization method&lt;/a&gt; works well on numbers with small factors and the &lt;a href=&quot;http://en.wikipedia.org/wiki/Quadratic_sieve&quot; rel=&quot;nofollow&quot;&gt;Quadratic Sieve&lt;/a&gt; works well for numbers under 100 digits. I would give those two factorization algorithms a try.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In light of the above I suggest something along the lines of the following algorithm:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Iterate over all numbers X between $N$ and $N+n$. For each such X:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Compute its prime factors as follows:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;i. Use trial division by 2,3,5 and 7 to dispose of tiny factors&lt;/p&gt;&#xA;&#xA;&lt;p&gt;ii. Run the Lenstra or Quadratic Sieve factorization method to factor what's left.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Use the prime factorization to generate all factors (prime or composite) of X. Insert all of these factors that are between $n$ and $\sqrt{N}$ to your output list.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="1522" LastActivityDate="2010-10-09T17:41:52.493" CommentCount="6" ContentLicense="CC BY-SA 2.5" />
  <row Id="2070" PostTypeId="2" ParentId="2058" CreationDate="2010-10-09T17:49:12.957" Score="34" Body="&lt;p&gt;I disagree with your accepted answer by Kaveh. For linear programming and Nash equilibria, floating point may be acceptable. But floating point numbers and computational geometry mix very badly: the roundoff error invalidates the combinatorial assumptions of the algorithms, frequently causing them to crash. More specifically, a lot of computational geometry algorithms depend on primitive tests that check whether a given value is positive, negative, or zero. If that value is very close to zero and floating point roundoff causes it to have the wrong sign, bad things can happen.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Instead, inputs are often assumed to have integer coordinates, and intermediate results are often represented exactly, either as rational numbers with sufficiently high precision to avoid overflow or as algebraic numbers. Floating point approximations to these numbers may be used to speed up the computations, but only in situations where the numbers can be guaranteed to be far enough away from zero that the sign tests will give the right answers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In most theoretical algorithms papers in computational geometry, this issue is sidestepped by assuming that the inputs are exact real numbers and that the primitives are exact tests of the signs of roots of low-degree polynomials in the input values. But if you are implementing geometric algorithms then this all becomes very important.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2010-10-09T17:49:12.957" CommentCount="12" ContentLicense="CC BY-SA 2.5" />
  <row Id="2071" PostTypeId="1" AcceptedAnswerId="2080" CreationDate="2010-10-09T21:23:45.250" Score="13" ViewCount="517" Body="&lt;p&gt;Suppose we have a set S of graphs (finite graphs, but an infinite number of them) and a group P of permutations that acts on S.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Instance: A permutation p in P.&lt;/p&gt;&#xA;&lt;p&gt;Question: Does there exist a graph g in S that admits the automorphism p?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Is this problem NP-complete for some sets S?&lt;/p&gt;&#xA;&lt;p&gt;It would be easy to check that a graph admits the permutation p (i.e. certificate).  Moreover, it's easy to find examples of S where the problem is not NP-complete, such as S being the set of complete graphs, whence the answer is always yes.&lt;/p&gt;&#xA;&lt;p&gt;Note: I'm not really interested in what type of graphs they are; if you like they can be non-simple, directed, coloured, etc.&lt;/p&gt;&#xA;&lt;p&gt;ADDENDUM:  The problem I'm currently looking at is classifying which isotopisms are autotopisms of Latin squares (which can also be interpreted as a special type of graph automorphism).&lt;/p&gt;&#xA;&lt;p&gt;Given a Latin square L(i,j) we can construct a graph in the following way:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The vertex set is the set of cells (i,j) in the matrix and&lt;/li&gt;&#xA;&lt;li&gt;There is an edge between distinct (i,j) and (i',j') whenever i=i' or j=j' or L(i,j)=L(i',j').&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Such a graph is called a &lt;em&gt;Latin square graph&lt;/em&gt; (see e.g. this article by Bailey and Cameron &lt;a href=&quot;http://designtheory.org/library/encyc/topics/lsee.pdf&quot; rel=&quot;noreferrer&quot;&gt;http://designtheory.org/library/encyc/topics/lsee.pdf&lt;/a&gt;).  We can interpret an autotopism of a Latin square as an automorphism of the Latin square graph.  So let S be the set of Latin square graphs formed from the Latin squares of order n.  So the question I'm interested in is:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Given a permutation p, is p an automorphism of one (or more) of the graphs in S?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;My feeling is that it is a difficult question to answer in general -- I'm currently writing a 30+ page paper on the matter (with 2 co-authors).  Actually most of the time it is easy (most of the time it's &amp;quot;no&amp;quot;), but there are some difficult cases.&lt;/p&gt;&#xA;&lt;p&gt;So I'm interested in finding decision problems that would be related to &amp;quot;symmetry classification&amp;quot;.  They don't really need to be related to Latin squares, I'm just hoping to use these techniques to answer the question for Latin squares.&lt;/p&gt;&#xA;" OwnerUserId="179" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2013-05-10T06:33:57.910" Title="Is &quot;Is a permutation p an automorphism of a graph in my set?&quot; NP-complete?" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;&lt;np-hardness&gt;&lt;automorphism&gt;" AnswerCount="1" CommentCount="7" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="2072" PostTypeId="2" ParentId="121" CreationDate="2010-10-09T22:02:30.527" Score="17" Body="&lt;p&gt;There is a HUGE number of applications of error correcting codes in theoretical computer science.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A classic application [that I think wasn't mentioned above] is to the construction of randomness extractors / samplers; see, e.g., here:&#xA;&lt;a href=&quot;http://people.seas.harvard.edu/~salil/cs225/spring09/lecnotes/list.htm&quot;&gt;http://people.seas.harvard.edu/~salil/cs225/spring09/lecnotes/list.htm&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are also many applications to cryptography, and I'm sure one of the informed readers would be happy to elaborate :)&lt;/p&gt;&#xA;" OwnerUserId="1621" LastActivityDate="2010-10-09T22:02:30.527" CommentCount="1" CommunityOwnedDate="2010-10-09T22:02:30.527" ContentLicense="CC BY-SA 2.5" />
  <row Id="2073" PostTypeId="2" ParentId="121" CreationDate="2010-10-10T00:01:52.233" Score="7" Body="&lt;p&gt;Error correcting codes are used in cryptography to solve the problem of &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.83.7431&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;noreferrer&quot;&gt;information reconciliation&lt;/a&gt;: Alice and Bob want to agree on a key K starting from (correlated) strings X and Y, respectively. (An example of this situation is a protocol that relies on a noisy channel, with Alice sending X to Bob.) A solution is to make Alice send some error correcting information C to Bob so that he can reconstruct X. Of course, the problem is not so simple: since C leaks some information to the adversary Eve, we need to do privacy amplification in order to derive the secret key. This can be done with a 2-universal hash function, as guaranteed by the leftover hash lemma.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Recently, &lt;a href=&quot;http://www.cs.bu.edu/~reyzin/fuzzysurvey.html&quot; rel=&quot;noreferrer&quot;&gt;fuzzy extractors&lt;/a&gt; were introduced as a noise-tolerant variant of extractors: they extract a uniformly random string R from its input W and also produce a &quot;fingerprint&quot; P such that if the input changes to some similar string W', the random string R can be recovered from P and W'. The construction of fuzzy extractors also relies on error correcting codes.&lt;/p&gt;&#xA;" OwnerUserId="27" LastActivityDate="2010-10-10T00:01:52.233" CommentCount="0" CommunityOwnedDate="2010-10-10T00:01:52.233" ContentLicense="CC BY-SA 2.5" />
  <row Id="2074" PostTypeId="1" CreationDate="2010-10-10T01:16:23.877" Score="46" ViewCount="3743" Body="&lt;p&gt;It seems clear that a number of subfields of theoretical computer science have been significantly impacted by results from theoretical physics. Two examples of this are&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Quantum computation&lt;/li&gt;&#xA;&lt;li&gt;Statistical mechanics results used in complexity analysis/heuristic algorithms.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;So my question is are there any major areas I am missing?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My motivation is very simple: I'm a theoretical physicist who has come to TCS via quantum information and I am curious as to other areas where the two areas overlap.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is a relatively soft question, but I don't mean this to be a big-list type question. I'm looking for areas where the overlap is significant.&lt;/p&gt;&#xA;" OwnerUserId="204" LastActivityDate="2021-01-08T19:03:35.383" Title="Physics results in TCS?" Tags="&lt;soft-question&gt;&lt;quantum-computing&gt;&lt;statistical-physics&gt;&lt;physics&gt;" AnswerCount="17" CommentCount="3" FavoriteCount="30" ContentLicense="CC BY-SA 2.5" />
  <row Id="2075" PostTypeId="1" CreationDate="2010-10-10T01:25:53.780" Score="28" ViewCount="646" Body="&lt;p&gt;Here is a puzzle I haven't managed to solve. I would like to know if this problem is already known, or has an easy solution.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is possible to define a bijection $ 3^\mathbb{N} \cong 5^\mathbb{N} $ using the properties of bicartesian closed categories. Andrej Bauer posted an explanation of what this means on his blog as &quot;&lt;a href=&quot;http://math.andrej.com/2009/09/09/constructive-gem-juggling-exponentials/&quot; rel=&quot;nofollow&quot;&gt;Constructive gem: juggling exponentials&lt;/a&gt;&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This bijection has an interesting property: it is &quot;bounded-input&quot; meaning that each component of the output depends only on boundedly many components of the input. However, for $k,l\geq 2$ it seems that this construction can only show that $ k^\mathbb{N} $ and $ l^\mathbb{N} $ are isomorphic if $k$ and $l$ are both odd or both even. This leaves open the question:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a bounded-input bijection from $ 2^\mathbb{N} $ to $ 3^\mathbb{N} $?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is a short note describing the problem in more detail:&#xA;&lt;a href=&quot;http://www.csc.liv.ac.uk/~cmcq/rec/bib.pdf&quot; rel=&quot;nofollow&quot;&gt;A conjecture concerning bounded-input bijections of infinite sequences&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Definitions:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A function $f : \prod_{i \in I} X_i \rightarrow \prod_{j\in J} Y_j $ is &lt;em&gt;bounded-input&lt;/em&gt; if there exists&#xA;an integer $k$&#xA;such that each component of the output of $f$ depends only on at most $k$&#xA;components of the input.&#xA;More formally, $f$ is bounded-input if for each index $j \in J$&#xA;there are indices $i_1,\dotsb,i_k \in I$&#xA;and a function $f_m : X_{i_1}\times\dotsb\times X_{i_k} \rightarrow Y_j$&#xA;such that for all $x \in X$ the component&#xA;$f(x)_j$ equals $f_j(x_{i_1},\dotsb,x_{i_k})$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A bijection $f$ is a &lt;em&gt;bounded-input bijection&lt;/em&gt; if&#xA;it is a bounded-input function.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A bijection $f$ is a &lt;em&gt;bounded-input isomorphism&lt;/em&gt; if&#xA;it and its inverse are bounded-input functions. This is also interesting.&lt;/p&gt;&#xA;" OwnerUserId="636" LastEditorUserId="636" LastEditDate="2010-10-10T09:23:33.803" LastActivityDate="2010-11-16T21:45:01.700" Title="Bounded-input bijections of infinite sequences" Tags="&lt;puzzles&gt;&lt;ct.category-theory&gt;&lt;topology&gt;" AnswerCount="2" CommentCount="9" FavoriteCount="9" ContentLicense="CC BY-SA 2.5" />
  <row Id="2076" PostTypeId="2" ParentId="2074" CreationDate="2010-10-10T02:01:01.463" Score="19" Body="&lt;p&gt;A result of Pour-El and Richards &lt;a href=&quot;http://dx.doi.org/10.1016/0001-8708%2881%2990001-3&quot;&gt;&lt;em&gt;Adv. Math.&lt;/em&gt; &lt;strong&gt;39&lt;/strong&gt; 215 (1981)&lt;/a&gt; gives the existence of noncomputable solutions to the 3D wave equation for computable initial conditions by using the wave to simulate a universal Turing machine. &lt;/p&gt;&#xA;" OwnerUserId="1671" LastActivityDate="2010-10-10T02:01:01.463" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="2077" PostTypeId="1" AcceptedAnswerId="2079" CreationDate="2010-10-10T02:23:46.013" Score="24" ViewCount="12185" Body="&lt;p&gt;The first step of the AKS primality testing algorithm is to check if the input number is a perfect power. It seems that this is a well known fact in number theory since the paper did not explain it in details. Can someone tell me how to do this in polynomial time? Thanks.&lt;/p&gt;&#xA;" OwnerUserId="1607" LastEditorUserId="1607" LastEditDate="2010-10-10T03:02:29.760" LastActivityDate="2020-05-18T15:02:03.893" Title="How to check if a number is a perfect power in polynomial time" Tags="&lt;ds.algorithms&gt;&lt;nt.number-theory&gt;" AnswerCount="4" CommentCount="6" FavoriteCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="2078" PostTypeId="2" ParentId="2025" CreationDate="2010-10-10T03:14:15.180" Score="14" Body="&lt;p&gt;Nice problem!  It's not hard to give a reduction showing that, if one could solve your problem, then one could also solve the following problem, call it ISOLATED SUBSET SUM:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;i&gt;Given integers a&lt;sub&gt;1&lt;/sub&gt;,...,a&lt;sub&gt;n&lt;/sub&gt;, is there a subset S of the a&lt;sub&gt;i&lt;/sub&gt;'s whose sum is not shared by any other subset?&lt;/i&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The reduction works by first reducing ISOLATED SUBSET SUM to ISOLATED PERFECT MATCHING, where given a weighted bipartite graph G, we want to find a perfect matching whose weight isn't shared by any other perfect matching.  This reduction is simple: for each i, create a 2x2 complete subgraph G&lt;sub&gt;i&lt;/sub&gt; in G, such that which of the two possible matchings we choose for G&lt;sub&gt;i&lt;/sub&gt; encodes our choice of whether or not a&lt;sub&gt;i&lt;/sub&gt; is in the set S.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Next, reduce ISOLATED PERFECT MATCHING to your problem as follows:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;For all i,j, if the edge (i,j) exists and has weight w&lt;sub&gt;ij&lt;/sub&gt;, then set M&lt;sub&gt;ij&lt;/sub&gt;:=exp(w&lt;sub&gt;ij&lt;/sub&gt;).  (This turns the sums into products.)&lt;/li&gt;&#xA;&lt;li&gt;For all i,j, if the edge (i,j) doesn't exist, then set M&lt;sub&gt;ij&lt;/sub&gt;:=0.&lt;/li&gt;&#xA;&lt;li&gt;Pad M to make sure that there are two or more permutations &amp;pi; such that &amp;Pi; M&lt;sub&gt;i,&amp;pi;(i)&lt;/sub&gt; = 0.  (This rules out spurious solutions that don't correspond to any perfect matching in G.)&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Now, ISOLATED SUBSET SUM certainly &lt;i&gt;feels&lt;/i&gt; like it's at least NP-hard, and maybe it's even harder than that (the obvious upper bound is only &amp;Sigma;&lt;sub&gt;2&lt;/sub&gt;P)!  Furthermore, perhaps one could prove that ISOLATED SUBSET SUM is NP-hard using a Valiant-Vazirani-style randomized reduction.  This, however, is a challenge I leave to someone else...&lt;/p&gt;&#xA;" OwnerUserId="1575" LastActivityDate="2010-10-10T03:14:15.180" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="2079" PostTypeId="2" ParentId="2077" CreationDate="2010-10-10T04:48:42.630" Score="32" Body="&lt;p&gt;Given a number n, if at all it can be written as $a^b$ (b &gt; 1), then $b &amp;lt; \log(n) + 1$. And for every fixed $b$, checking if there exists an $a$ with $a^b = n$ can be done using binary search. The total running time is therefore $O(\log^2 n)$ I guess. &lt;/p&gt;&#xA;" OwnerUserId="877" LastActivityDate="2010-10-10T04:48:42.630" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="2080" PostTypeId="2" ParentId="2071" CreationDate="2010-10-10T08:40:56.320" Score="15" Body="&lt;p&gt;Take any language $L$ (that consists of binary strings). Construct the set $S$ of graphs as follows:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;For each string $x \in L$ with $|x| = n$, we have the graph $G_x = (V_x,E_x)$ in $S$, with the set of nodes $V_x = \{1,2,...,3n\}$ and the following edges: if bit $i$ of $x$ is $0$, then the nodes $3i-2$ and $3i-1$ are adjacent, otherwise $3i-2$ and $3i$ are adjacent. There are no other edges.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Now let $p$ be a permutation of $\{1,2,...,3n\}$. Assume that $p$ is an automorphism of some graph in $S$. That is, $p$ is an automorphism of $G_y$ for some $y \in L$. Let $i \in \{1,2,...,n\}$. Let us consider the following two cases:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$p(3i-2) = 3i-1$, $p(3i-1) = 3i-2$, $p(3i) = 3i$. Then we must have bit $i$ of $y$ equal to $0$.&lt;/li&gt;&#xA;&lt;li&gt;$p(3i-2) = 3i$, $p(3i-1) = 3i-1$, $p(3i) = 3i-2$. Then we must have bit $i$ of $y$ equal to $1$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Hence if we can solve the question &quot;is a given $p$ automorphism of some $G \in S$&quot;, we can also solve the question &quot;is a given string $y$ in $L$&quot;. Moreover, if we can do the former in, say, polynomial time in $|p|$, we can do the latter in polynomial time in $|y|$ as well.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now you can just let $L$ be your favourite NP-hard problem. Or the halting problem...&lt;/p&gt;&#xA;" OwnerUserId="74" LastActivityDate="2010-10-10T08:40:56.320" CommentCount="6" ContentLicense="CC BY-SA 2.5" />
  <row Id="2081" PostTypeId="2" ParentId="2058" CreationDate="2010-10-10T09:40:52.043" Score="15" Body="&lt;p&gt;You might also have a look at Andrej Bauer's talk on &lt;a href=&quot;http://math.andrej.com/2007/09/18/the-role-of-the-interval-domain-in-modern-exact-real-airthmetic/&quot;&gt;The Role of the Interval Domain in Modern Exact Real Arithmetic&lt;/a&gt;, which surveys some of the different approaches to specifying computation over the real numbers both in theory and practice.&lt;/p&gt;&#xA;" OwnerUserId="674" LastActivityDate="2010-10-10T09:40:52.043" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2083" PostTypeId="1" AcceptedAnswerId="2100" CreationDate="2010-10-10T11:48:01.147" Score="9" ViewCount="2400" Body="&lt;p&gt;It's simple to see that the powers of 2 over alphabet {0,1} is regular because $10^*$ is a regular expression for it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But the powers of 2 represented in ternary appears to be non regular. Pumping lemma or residue classes is hard to apply as there seems to be very little pattern among the strings. How do I solve it?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In general, for what powers of $k$ represented in base $r$, is the set regular?&lt;/p&gt;&#xA;" OwnerDisplayName="user200" LastEditorUserId="567" LastEditDate="2010-10-10T12:10:33.490" LastActivityDate="2019-12-04T18:39:30.910" Title="Proving the set of powers of 2 over ternary alphabet to be non regular." Tags="&lt;automata-theory&gt;&lt;fl.formal-languages&gt;" AnswerCount="4" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2085" PostTypeId="2" ParentId="2083" CreationDate="2010-10-10T12:39:18.197" Score="5" Body="&lt;p&gt;The pumping lemma implies that there is a sequence like $x_n = c+b(r^{dn}-1)/(r^d-1)$ for some $b,c,d$ such that each $x_n$ is a power of $k$.&#xA;So $\log_k(x_n)=dn \log_k(r) + const + o(1)$ is always an integer, so $\log_k(r)$ is rational.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here's an explanation of that formula for $x_n$.&#xA;The pumping lemma gives strings $u,v,w$ such that every string $x_n=u v^n w$ is&#xA;a power of $k$. Interpreting these strings as numbers and writing $d$ and $e$ for the lengths of $v$ and $w$ respectively,&#xA;$x_n = u r^{dn+e} + v r^{d(n-1)+e} + v r^{d(n-2)+e} + \dotsb + v r^e + w$ is&#xA;a power of $d$.&#xA;So&#xA;$x_n-x_{n-1} = (u r^d - u + v) r^{d(n-1)+e}$. Writing $b=(u r^d - u + v)r^e$ and $c=x_0-b$ we have $x_n=c+b(r^{dn}-1)/(r^d-1)$.&lt;/p&gt;&#xA;" OwnerUserId="636" LastEditorUserId="636" LastEditDate="2010-10-10T13:25:01.660" LastActivityDate="2010-10-10T13:25:01.660" CommentCount="11" ContentLicense="CC BY-SA 2.5" />
  <row Id="2087" PostTypeId="2" ParentId="1585" CreationDate="2010-10-10T13:57:26.673" Score="4" Body="&lt;p&gt;Some comments: not an answer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $c$ is small enough with respect to the number of vertices in the graph, then the improper colourings will add up to less than 1.  Hence there is a trivial reduction from the weight-0 case to this case: simply choose $c$ to be small enough.  This means that the problem is #P-hard for any collection of instances with $c \in [0,\epsilon)$, for any $\epsilon &gt; 0$.  (Here I allow $c$ to be different in different instances, so the classes are unions of classes with fixed $c$.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now suppose that $c$ is truly fixed, as in your problem setup.  Then for large enough graphs it is always possible to exceed a weighted sum of 1 for improper colourings, so this direct reduction does not work.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You are asking for structural properties of the class of graphs which would allow the problem to remain hard.  As far as I can tell, it will be hard nearly always.  But this is very sketchy and needs more work.&lt;/p&gt;&#xA;" OwnerUserId="109" LastActivityDate="2010-10-10T13:57:26.673" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2088" PostTypeId="2" ParentId="2074" CreationDate="2010-10-10T14:20:40.077" Score="2" Body="&lt;p&gt;Much of the math that we use was originally invented to solve physics problems. Examples include calculus (Newtonian gravity) and Fourier series (heat equation).&lt;/p&gt;&#xA;" OwnerUserId="1522" LastActivityDate="2010-10-10T14:20:40.077" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="2089" PostTypeId="2" ParentId="2074" CreationDate="2010-10-10T14:52:39.363" Score="27" Body="&lt;p&gt;The search technique &lt;a href=&quot;http://en.wikipedia.org/wiki/Simulated_annealing&quot;&gt;simulated annealing&lt;/a&gt; is inspired by the physical process of &lt;a href=&quot;http://en.wikipedia.org/wiki/Annealing_%28metallurgy%29&quot;&gt;annealing&lt;/a&gt; in metallurgy. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Annealing is a heat treatment where the strength and hardness of the substance being treated can change dramatically. Often this involves heating the substance to an extreme temperature and then allowing it to cool slowly.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Simulated annealing avoids local minima/maxima in search spaces by incorporating a degree of randomness (the temperature) in the search process. As the search process proceeds, the temperature gradually cools, which means that the amount of randomness in the search decreases. Apparently it is quite an effective search technique.&lt;/p&gt;&#xA;" OwnerUserId="77" LastEditorUserId="77" LastEditDate="2010-10-10T15:15:47.010" LastActivityDate="2010-10-10T15:15:47.010" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="2090" PostTypeId="2" ParentId="1585" CreationDate="2010-10-10T15:06:49.343" Score="11" Body="&lt;p&gt;This is hard for planar graphs, at least for six colours or more. See&#xA;&lt;a href=&quot;http://arxiv.org/abs/0907.1724&quot;&gt;&quot;Inapproximability of the Tutte polynomial of a planar graph&quot;&lt;/a&gt; by Goldberg and Jerrum&lt;/p&gt;&#xA;" OwnerUserId="636" LastActivityDate="2010-10-10T15:06:49.343" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="2091" PostTypeId="1" CreationDate="2010-10-10T15:33:40.953" Score="5" ViewCount="275" Body="&lt;p&gt;I'm shaking my head because of this question, my Prof. didn't explain it. We have linear space limited automata and they have to satisfy for rules a -&gt; b that |a| &amp;lt;= |b|. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Why?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would have said, that it's stupid to allow being larger, because we are space limited and still have to produce all words of a language.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thank you in advance, an answer would mean a lot to me.&lt;/p&gt;&#xA;" OwnerDisplayName="leto" LastEditorUserId="186" LastEditDate="2010-10-19T23:13:21.073" LastActivityDate="2010-10-19T23:13:21.073" Title="Why may the right hand sides in Chomsky Hierachy type 1 be larger?" Tags="&lt;automata-theory&gt;&lt;fl.formal-languages&gt;&lt;grammars&gt;" AnswerCount="2" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2092" PostTypeId="2" ParentId="2091" CreationDate="2010-10-10T15:42:24.817" Score="4" Body="&lt;p&gt;It is not &lt;em&gt;allowed&lt;/em&gt; to be larger, it &lt;em&gt;has&lt;/em&gt; to be larger! If you allow the right side being shorter, you have context sensitive deleting grammars which have the same power as unrestricted grammars, thus leaving the realms of CSL.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The space limitation you mention relates to the automaton concept that is equivalent to context sensitive grammars, not the grammars itself.&lt;/p&gt;&#xA;" OwnerUserId="1546" LastActivityDate="2010-10-10T15:42:24.817" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2093" PostTypeId="1" CreationDate="2010-10-10T16:24:20.690" Score="6" ViewCount="311" Body="&lt;p&gt;Let's define the integer ADT.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It has, as generators, the constant 0 (a generator) and the succ operation.&#xA;Moreover, it also contains the add operation defined by the (usual) axioms&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;add (0, x) = x (where x is a variable of type integer)&lt;br&gt;&#xA;  add (succ(x), y) = succ(add(x,y)).&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Let's assume that I have two terms: &lt;code&gt;add(x, succ(succ(succ(succ(0)))))&lt;/code&gt; and &lt;code&gt;succ(succ(succ(succ(succ(succ(0))))))&lt;/code&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there an algorithm that finds all the substitutions allowing the first term to be rewritten to the second term?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks in advance,&#xA;Ayroles&lt;/p&gt;&#xA;" OwnerDisplayName="Ayroles" LastEditorUserId="77" LastEditDate="2010-10-11T12:19:52.670" LastActivityDate="2010-10-11T12:55:33.693" Title="Algebraic data type - rewrite system" Tags="&lt;fl.formal-languages&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="2094" PostTypeId="2" ParentId="2093" CreationDate="2010-10-10T17:09:05.473" Score="9" Body="&lt;p&gt;You could encode these into Horn Clauses (= Prolog) and use &lt;a href=&quot;http://en.wikipedia.org/wiki/Resolution_%28logic%29&quot; rel=&quot;nofollow&quot;&gt;resolution&lt;/a&gt; (= Prolog's implementation technique).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More explicitly, your Prolog code file will look like the following:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;add( 0,    N, N ).&#xA;add( succ(N), M, succ(Sum) ) :- add( N, M, Sum ).&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Asking the following query at the command prompt in a prolog interpreter will give you an answer for X:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;add( X, succ(succ(succ(succ(0)))), succ(succ(succ(succ(succ(succ(0))))))).&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Which is:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;X = succ(succ(0)) .&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Using tracing within the Prolog interpreter will give you the series of substitutions used.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Fill all the gaps in yourself, and you will learn a lot.&lt;/p&gt;&#xA;" OwnerUserId="77" LastEditorUserId="77" LastEditDate="2010-10-10T17:17:25.060" LastActivityDate="2010-10-10T17:17:25.060" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2095" PostTypeId="2" ParentId="2074" CreationDate="2010-10-10T17:35:49.160" Score="20" Body="&lt;p&gt;Complex systems is a field has a lot to do with social network analysis, and networks in general, and has been invaded by physicists in large numbers, wielding weapons from statistics and thermodynamics. Whether it's been invaded by physics is a different story.&lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2010-10-10T17:35:49.160" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="2096" PostTypeId="2" ParentId="121" CreationDate="2010-10-10T17:38:46.513" Score="6" Body="&lt;p&gt;Indeed, as Dana mentioned, there are many examples. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In fault-tolerance computation error-correcting codes are very important. I think the 1988 paper by Ben-Or Goldwasser and Wigderson  &lt;a href=&quot;http://www.math.ias.edu/~avi/PUBLICATIONS/MYPAPERS/GBW88/GBW88.pdf&quot; rel=&quot;nofollow&quot;&gt;Completeness Theorems for Non-Cryptographic Fault-Tolerant Distributed Computation&lt;/a&gt;, &#xA;while not explicitely citing error correcting codes results have ECC flavour.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course, the &quot;threshold theorem&quot; allowing fault tolerant quantum computation relies in a crucial way on quantum error correcting codes which are quantum analogs of ordinary ECC.&lt;br&gt;&#xA;(The &lt;a href=&quot;http://en.wikipedia.org/wiki/Quantum_threshold_theorem&quot; rel=&quot;nofollow&quot;&gt;Wikipedia article&lt;/a&gt; for the threshold theorem certainly needs work; But the &lt;a href=&quot;http://en.wikipedia.org/wiki/Quantum_error_correction&quot; rel=&quot;nofollow&quot;&gt;article on quantum error-correction&lt;/a&gt; is better.) &lt;/p&gt;&#xA;" OwnerUserId="712" LastEditorUserId="236" LastEditDate="2010-10-11T15:00:08.883" LastActivityDate="2010-10-11T15:00:08.883" CommentCount="0" CommunityOwnedDate="2010-10-10T17:38:46.513" ContentLicense="CC BY-SA 2.5" />
  <row Id="2097" PostTypeId="2" ParentId="1585" CreationDate="2010-10-10T19:48:17.703" Score="5" Body="&lt;p&gt;Some more comments:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A local algorithm for counting will compute the count from a set of per-node statistics where each statistic is a function of some graph neighborhood of the node. For colorings, those statistics are related to the &quot;marginal probability of encountering color c&quot;. Here's an &lt;a href=&quot;http://yaroslavvb.com/research/qr/cavity-method/cavityReport.html&quot; rel=&quot;noreferrer&quot;&gt;example&lt;/a&gt; of this reduction for a simple graph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It follows from Alan Sly's recent &lt;a href=&quot;http://arxiv.org/abs/1005.5584&quot; rel=&quot;noreferrer&quot;&gt;paper&lt;/a&gt; that counting independent sets using a local algorithm is as hard as counting independent sets using any algorithm. My suspicion that this is true for general counting on graphs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For local algorithms, hardness depends on how correlation between nodes behaves with respect to distance between nodes. For large enough distances, this correlation essentially has only two behaviors -- either correlation decays exponentially in graph distance, or it doesn't decay at all.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If there's exponential decay, local statistics depend on a neighbourhood whose size is polynomial in size of the graph, so the problem of counting is easy.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In statistical physics models it was noted (ie, de Gennes, Emery) that there's a connection between self-avoiding walks, correlation decay, and phase transitions. The point at which generating function for self-avoiding walks on a lattice becomes infinite corresponds to the temperature at which long-range correlations appear in the model.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can see from Weitz' self-avoiding walk tree construction why self-avoiding walks come up in correlation decay -- marginal can be represented exactly as a root of a tree of self-avoiding walks, so if the branching factor of this tree is small enough, leaves of the tree become irrelevant eventually. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If &quot;local hardness&quot; implies hardness, then it's sufficient to quantify properties that determine the growth rate of self-avoiding walks. Exact growth rate can be extracted from the generating function for self-avoiding walks, but it is is intractable to compute. Spectral radius is easy to compute, and gives a lower bound.&lt;/p&gt;&#xA;" OwnerUserId="434" LastActivityDate="2010-10-10T19:48:17.703" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2098" PostTypeId="2" ParentId="121" CreationDate="2010-10-10T20:05:52.870" Score="6" Body="&lt;p&gt;Andy Drucker has already mentioned the survey by Trevisan [Tre04] in a comment to &lt;a href=&quot;https://cstheory.stackexchange.com/questions/121/using-error-correcting-codes-in-theory/143#143&quot;&gt;another answer&lt;/a&gt;, but I think that it should be mentioned in a larger font!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[Tre04] Luca Trevisan.  Some applications of coding theory in computational complexity.  &lt;em&gt;Quaderni di Matematica&lt;/em&gt;, 13:347–424, 2004.  &lt;a href=&quot;http://www.cs.berkeley.edu/~luca/pubs/codingsurvey.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://www.cs.berkeley.edu/~luca/pubs/codingsurvey.pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="567" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2010-10-10T20:05:52.870" CommentCount="0" CommunityOwnedDate="2010-10-10T20:05:52.870" ContentLicense="CC BY-SA 2.5" />
  <row Id="2099" PostTypeId="2" ParentId="1964" CreationDate="2010-10-10T20:28:47.663" Score="3" Body="&lt;p&gt;I'll convert my comment to an answer. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem of computing the Rel(G) is #P-Complete (&lt;a href=&quot;http://portal.acm.org/citation.cfm?id=225069&quot; rel=&quot;nofollow&quot;&gt;see this paper by Karger&lt;/a&gt;), and there's also an FPRAS for 1-Rel(G) (also in the Karger paper). Note that if you could verify whether Rel(G) was less than any fixed number $k$, then you could binary search for an approximate solution for Rel(G) that would run in P-time, which seems a little unlikely.  &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2010-10-10T20:28:47.663" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2100" PostTypeId="2" ParentId="2083" CreationDate="2010-10-10T23:03:19.623" Score="12" Body="&lt;p&gt;Here's an alternative solution (with detailed explanation) using Myhill-Nerode Theorem. I'll use base $3$ and $2$ for readibility, but the proof generalizes for arbitrary bases $r,k$ that are not powers of the same integer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(1) Show that given any ternary string $x$, there exists another string $y$ such that $xy$ is a power of $2$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Proof: Given any $x$ (letting $n$ be the number it represents), $\forall k$ and $c\in \{0,\ldots,3^k-1 \}$, there exists $y$ such that $xy$ represents $3^kn + c$. In fact, this characterizes all the numbers $xy$ can represent. Hence, finding the minimal $y$ such that $xy$ is a power of $2$ is depends on finding the smallest integer $k$ such that we have some power of $2$ in the interval $[3^kn,3^k(n+1)-1]$. Taking log base $2$, we need to find $k$ such that we have an integer in the interval $[k\log 3 + \log x, k\log3 + \log(x+1)]$ (dropping the $-1$ here is iffy, but simplifies calculations which do not rely on it). Notice that changing $k$ only affects the $k\log 3$ portion, so we can find a $k$ that gets us arbitrarily close to some integer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(2) Given some $x$ and the corresponding minimal $y$, show that there exists a string x' such that the corresponding minimal $y'$ has to be larger than $y$. Repeating this gives us infinitely many equivalence classes of strings.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Proof Outline: Since $\log 2^m x = m + \log x$, given an $x$ and its corresponding $y$ and $k$ we can always find some $x' = 2^m x$ where $\log(2^m x + 1) - \log (2^m x)$ is sufficiently tiny such that no integer is contained in $[k\log 3 + m +\log x, k\log3 + \log(2^mx+1)]$. Note that we are implicitly using the fact that $k\log 3 + \log x$ can never be an integer.&lt;/p&gt;&#xA;" OwnerUserId="1710" LastEditorUserId="1710" LastEditDate="2010-10-26T21:17:54.010" LastActivityDate="2010-10-26T21:17:54.010" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2101" PostTypeId="1" AcceptedAnswerId="2267" CreationDate="2010-10-11T01:42:24.227" Score="18" ViewCount="2540" Body="&lt;p&gt;Let $C$ be a &lt;a href=&quot;http://en.wikipedia.org/wiki/Cartesian_closed_category&quot; rel=&quot;nofollow noreferrer&quot;&gt;CCC&lt;/a&gt;. Let $(\times)$ be a product bifunctor on $C$. As &lt;a href=&quot;http://en.wikipedia.org/wiki/Category_of_small_categories&quot; rel=&quot;nofollow noreferrer&quot;&gt;Cat&lt;/a&gt; is CCC, we can curry $(\times)$:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$curry (\times) : C \rightarrow(C \Rightarrow C)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$curry (\times) A = \lambda B. A \times B$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Monoidal_category#Examples&quot; rel=&quot;nofollow noreferrer&quot;&gt;Functor category $C \Rightarrow C$ has usual monoidal structure.&lt;/a&gt; &lt;a href=&quot;http://en.wikipedia.org/wiki/Monad_(category_theory)#Formal_definition&quot; rel=&quot;nofollow noreferrer&quot;&gt;A monoid in $C \Rightarrow C$ is a monad in $C$.&lt;/a&gt; &lt;a href=&quot;http://ncatlab.org/nlab/show/cartesian+monoidal+category&quot; rel=&quot;nofollow noreferrer&quot;&gt;We consider finite products as monoidal structure on $C$.&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$curry (\times) 1 \cong id$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\forall A\ B. curry (\times) (A\times B) \cong (curry (\times) A) \circ (curry (\times) B)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Therefore $(curry (\times))$ preserves monoidal structure, so it transports a monoid to a monad and a comonoid to a comonad. Namely, it transports an arbitrary monoid $w$ to &lt;a href=&quot;http://www.haskell.org/haskellwiki/All_About_Monads#The_Writer_monad&quot; rel=&quot;nofollow noreferrer&quot;&gt;$(Writer\ w)$ monad&lt;/a&gt; (look at the definition — $w$ must be a monoid). Similarly it transports the &lt;a href=&quot;http://ncatlab.org/nlab/show/cartesian+monoidal+category&quot; rel=&quot;nofollow noreferrer&quot;&gt;diagonal comonoid&lt;/a&gt; to the &lt;a href=&quot;http://hackage.haskell.org/packages/archive/category-extras/latest/doc/html/Control-Comonad-Reader.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;Coreader&lt;/a&gt; comonad.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, for concreteness, I unfold the construction of Writer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Begin.&lt;/strong&gt; Actually $Writer = Coreader = curry(\times)$, they simply have distinct names in Haskell. We have a &lt;a href=&quot;http://hackage.haskell.org/packages/archive/base/latest/doc/html/Data-Monoid.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;Haskell monoid&lt;/a&gt; $\langle w, mappend, mempty\rangle$:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$mappend : w\times w \to w$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$mempty : 1 \to w$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Writer is a functor, so it must map also morphisms, such as $mappend$ and $mempty$. I write this as below, though it is invalid in Haskell:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$Writer\ mappend : Writer(w\times w) \to Writer\ w$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$Writer\ mappend$ is a natural transformation, a morphism in $C\Rightarrow C$. By properties of $curry(\times)$ it is a function, which takes $a \in Ob(C)$ and gives a morphism in $C$:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$Writer\ mappend\ a = mappend\times(id(a)) : Writer (w\times w) a \to Writer\ w\ a$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Informally, $Writer\ mappend\ a$ sums components of type $w$ and pumps $a$ intact. This is exactly the definition of Writer in Haskell. One obstacle is that for the monad $\langle Writer\ w,\mu,\eta\rangle$ we need&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\mu : Writer\ w \circ Writer\ w \to Writer\ w$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;i.e. incompatibility of types. But these functors are isomorphic: $Writer (w\times w) = \lambda a. (w\times w)\times a$ by the usual associator for finite products which is a natural isomorphism $\cong \lambda a. w\times(w\times a) = Writer\ w \circ Writer\ w$. Then we define $\mu$ via $Writer\ mappend$. I omit a construction of $\eta$ via $mempty$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Writer, being a functor, preserves commutative diagrams, i.e. preserves monoid equalities, so we have for granted proved equalities for $\langle Writer\ w,\mu,\eta\rangle$ = a monoid in $(C\Rightarrow C)$ = a monad in $C$. &lt;strong&gt;End.&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What about &lt;a href=&quot;http://hackage.haskell.org/packages/archive/mtl/latest/doc/html/Control-Monad-Reader.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;Reader&lt;/a&gt; and Cowriter? Reader is adjoint to Coreader, as explained in the definition of Coreader, see link above. Similarly, Cowriter is adjoint to Writer. I did not find a definition of Cowriter, so I made it up by analogy shown in the table:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/fWdZU.png&quot; alt=&quot;alt text&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;{- base, Hackage.category-extras -}&#xA;import Control.Comonad&#xA;import Data.Monoid&#xA;data Cowriter w a = Cowriter (w -&amp;gt; a)&#xA;instance Functor (Cowriter w) where&#xA;    fmap f (Cowriter g) = Cowriter (f . g)&#xA;instance Monoid w =&amp;gt; Copointed (Cowriter w) where&#xA;    extract (Cowriter g) = g mempty&#xA;instance Monoid w =&amp;gt; Comonad (Cowriter w) where&#xA;    duplicate (Cowriter g) = Cowriter&#xA;        (\w' -&amp;gt; Cowriter (\w -&amp;gt; g (w `mappend` w')))&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Below are the simplified definitions of those (co)monads. fr_ob F denotes a mapping of a functor F on objects, fr_mor F denotes a mapping of a functor F on morphisms. There is a monoid object $\langle w,\hat{+},\hat{0}\rangle$ in $C$.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Writer&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$fr\_ob (Writer\ w) a = a\times w$&lt;/li&gt;&#xA;&lt;li&gt;$fr\_mor (Writer\ w) f = \lambda \langle a_0,w_2\rangle. \langle a_0,f\ w_2\rangle$&lt;/li&gt;&#xA;&lt;li&gt;$\eta a = \lambda a_0. \langle a_0, \hat{0} \rangle$&lt;/li&gt;&#xA;&lt;li&gt;$\mu a = \lambda \langle \langle a_0,w_1\rangle,w_0\rangle. \langle a_0, w_0\hat{+}w_1\rangle$&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;Reader&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$fr\_ob (Reader\ r) a = r\to a$&lt;/li&gt;&#xA;&lt;li&gt;$fr\_mor (Reader\ r) f = \lambda g\ r_0. f (g\ r_0)$&lt;/li&gt;&#xA;&lt;li&gt;$\eta a = \lambda a_0\ r_0. a_0$&lt;/li&gt;&#xA;&lt;li&gt;$\mu a = \lambda f\ r_0. f\ r_0\ r_0$&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;Coreader&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$fr\_ob (Coreader\ r) a = r\times a$&lt;/li&gt;&#xA;&lt;li&gt;$fr\_mor (Coreader\ r) f = \lambda \langle r_0,a_0\rangle. \langle f\ r_0,a_0\rangle$&lt;/li&gt;&#xA;&lt;li&gt;$\eta a = \lambda \langle r_0,a_0\rangle. a_0$&lt;/li&gt;&#xA;&lt;li&gt;$\mu a = \lambda \langle r_0,a_0\rangle. \langle r_0,\langle r_0,a_0\rangle\rangle$&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;Cowriter&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$fr\_ob (Cowriter\ w) a = w\to a$&lt;/li&gt;&#xA;&lt;li&gt;$fr\_mor (Cowriter\ w) f = \lambda g\ r_0. f (g\ r_0)$&lt;/li&gt;&#xA;&lt;li&gt;$\eta a = \lambda f. f\ \hat{0}$&lt;/li&gt;&#xA;&lt;li&gt;$\mu a = \lambda f\ w_1 w_0. f (w_0\hat{+}w_1)$&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The question is that the adjunction in $C$ relates functors, not monads. I do not see how the adjunction implies &quot;Coreader is a comonad&quot; $\to$ &quot;Reader is a monad&quot; and &quot;Writer is a monad&quot; $\to$ &quot;Cowriter is a comonad&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Remark. I am struggling to provide more context. It requires some work. Especially, if you require categorical purity and those (co)monads were introduced for programmers. Keep nagging! ;)&lt;/p&gt;&#xA;" OwnerUserId="1720" LastEditorUserId="8519" LastEditDate="2012-02-28T21:55:14.877" LastActivityDate="2012-02-28T21:55:14.877" Title="Reader, Writer monads" Tags="&lt;functional-programming&gt;&lt;pl.programming-languages&gt;&lt;ct.category-theory&gt;" AnswerCount="3" CommentCount="13" FavoriteCount="13" ContentLicense="CC BY-SA 3.0" />
  <row Id="2102" PostTypeId="1" AcceptedAnswerId="2116" CreationDate="2010-10-11T05:52:31.683" Score="9" ViewCount="912" Body="&lt;p&gt;A reference to techniques for proving that the size of an integrality gap is bounded by some expression for a particular LP(or SDP, but less important) is needed. Also it would be nice to have a reference to a place where techniques for minimizing integrality gaps are described. I am new in the area of integrality gaps, which looks rather huge, so description of classical results is more preferable than that of something hot.&lt;/p&gt;&#xA;" OwnerUserId="254" LastEditorUserId="-1" LastEditDate="2013-05-10T06:34:08.613" LastActivityDate="2013-05-10T06:34:08.613" Title="Techniques for proving bounds on integrality gap in LP(SDP)" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;linear-programming&gt;&lt;semidefinite-programming&gt;&lt;integrality-gap&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="2103" PostTypeId="1" CreationDate="2010-10-11T06:37:00.550" Score="10" ViewCount="644" Body="&lt;p&gt;Graph automorphism is a permutation of graph nodes that induces a bijection on the edge set $E$. Formally, It is a permutation $f$ of nodes such  $(u,v)\in E$ iff $(f(u),f(v))\in E$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Define an violated edge for some permutation as an edge that is mapped to non-edge or an edge whose preimage is non-edge.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Input&lt;/strong&gt;: A non-rigid graph $G(V, E)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Problem&lt;/strong&gt;: Find a (non-identity) permutation that minimizes the numbers of violated edges. &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What is the complexity of finding a (non-identity) permutation with minimum number of violated edges? Is the problem hard for graphs with bounded maximum degree $k$ (under some complexity assumption)? For instance, Is it hard for cubic graphs?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Motivation:&lt;/strong&gt; The problem is a relaxation of graph automorphism problem (GA). The input graph may have non-trivial automorphism (e.g. non-rigid graph). How difficult is it to find an approximate automorphism (closet permutation)? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit&lt;/strong&gt; April 22&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A rigid (asymmetric) graph has only trivial automorphism. A non-rigid graph has some (limited) symmetry and I'd like to understand the complexity of approximating its symmetry.&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2011-04-22T13:21:25.543" LastActivityDate="2011-04-22T13:21:25.543" Title="Approximating non-trivial graph automorphism?" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;&lt;automorphism&gt;&lt;symmetry&gt;" AnswerCount="2" CommentCount="15" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="2104" PostTypeId="1" CreationDate="2010-10-11T06:55:20.587" Score="5" ViewCount="420" Body="&lt;p&gt;&lt;strong&gt;minimize/maximize&lt;/strong&gt; $\displaystyle \sum_{i=0}^{f(n)} G(x,n)$&#xA;s.t. $n \ge 1$ and $x$ in some feasible region&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The decision variables are $x$ (a vector) and $n$ (a scalar).&#xA;How is this type of optimization problem classified? &#xA;Has it been studied? Any references?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is an example of how an unconstrained version of the problem arises:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;&lt;strong&gt;&quot;Optimizing capacity of buses, K, on a bus route&quot;&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The bus route is a loop. One point on&#xA;the loop is designated the “bus&#xA;station,” the only place passengers&#xA;can get on the bus.&lt;/li&gt;&#xA;&lt;li&gt;Passengers can get off the bus at any&#xA;point on the bus route (other than&#xA;the bus station).&lt;/li&gt;&#xA;&lt;li&gt;By the time a bus returns to the bus&#xA;station, all of its passengers will&#xA;have gotten off.&lt;/li&gt;&#xA;&lt;li&gt;Passengers arrive by a Poisson&#xA;process with rate lambda (per hour). &lt;/li&gt;&#xA;&lt;li&gt;A bus cannot take off from the bus&#xA;station until it has K passengers on&#xA;board.&lt;/li&gt;&#xA;&lt;li&gt;There are N buses that operate on the&#xA;one route. When a bus arrives at the&#xA;bus station, it waits in line behind&#xA;buses that are already there. It’s a&#xA;FIFO system where the first bus in&#xA;line gets first K arriving&#xA;passengers, and so on…  &lt;/li&gt;&#xA;&lt;li&gt;When a passenger arrives at the&#xA;station, s/he gets on the first bus&#xA;in line and waits until enough&#xA;passengers have gotten on the bus to&#xA;make a total of K passengers before&#xA;the bus takes off. Passengers get on&#xA;the bus in a FIFO manner as well.&lt;/li&gt;&#xA;&lt;li&gt;The waiting time for a passenger is&#xA;the length of time from when that&#xA;passenger arrived at the bus station&#xA;until a bus with that passenger on&#xA;board takes off.&lt;/li&gt;&#xA;&lt;li&gt;The waiting time for a bus is the&#xA;length of time from when the bus&#xA;arrives at the station until it has K&#xA;passengers on board, at which point&#xA;it takes off.  &lt;/li&gt;&#xA;&lt;li&gt;It is assumed that the “loading” of&#xA;passengers takes zero time.  &lt;/li&gt;&#xA;&lt;li&gt;Also, it takes C(K) time for buses to&#xA;travel the length of the bus route. This is a function of K because there is time lost for each passenger that is dropped off.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;What is the expected waiting time for passengers? For buses?&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The &lt;strong&gt;optimization&lt;/strong&gt; aspect is as follows. Bus drivers want to make the most amount of money in an hour. The higher K is, the more money a bus driver makes per trip on the bus route, but the number of trips per hour goes down. There is a monetary cost (to bus drivers) for each minute that a passenger waits at the stop for a bus (as in loss of goodwill). So the objective function is dependent on both the expected waiting time of buses (which determines how much money buses make per hour) and the expected waiting time of passengers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I was able to get an expression for the expected waiting time of buses and it is of the form:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;E[Waiting time for a bus]&lt;/strong&gt; = $\displaystyle\sum_{j=0}^{KN} \frac{KN-j}{\lambda}\frac{(\lambda C(K))^j}{j!}e^{-\lambda C(K)}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;E[Waiting time for a passenger] = ??&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have not been able to get an expression for the waiting time of passengers, but I suspect it will also have the upper bound of summation as some function of K.&lt;/p&gt;&#xA;" OwnerUserId="1725" LastEditorUserId="186" LastEditDate="2010-12-29T05:10:37.983" LastActivityDate="2010-12-29T05:10:37.983" Title="Is there a way to solve an optimization problem where a decision variable shows up in an upper bound (or lower bound) of summation?" Tags="&lt;ds.algorithms&gt;&lt;cg.comp-geom&gt;&lt;optimization&gt;" AnswerCount="3" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2105" PostTypeId="2" ParentId="2102" CreationDate="2010-10-11T06:59:26.297" Score="8" Body="&lt;p&gt;This is somewhat heavy machinery for what you want, but there's been a large body of work on techniques for designing ever more refined LPs (SDPs) that get closer and closer to the desired integer program. A good reference that reviews these approaches is by Monique Laurent: &lt;a href=&quot;http://homepages.cwi.nl/~monique/files/lasserrefinal.ps&quot;&gt;A comparison of the Sherali-Adams, Lovasz-Schrijver and Laserre Relaxations for 0-1 programming&lt;/a&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Apart from that, I am not aware of a single good source of references: I assume you've at least perused the relevant chapters in &lt;a href=&quot;http://books.google.com/books?id=EILqAmzKgYIC&amp;amp;printsec=frontcover&amp;amp;dq=approximation+algorithms&amp;amp;source=bl&amp;amp;ots=XjbYJLWW8-&amp;amp;sig=t2rHPHeRiQo8QY7vNraCcKa8o4g&amp;amp;hl=en&amp;amp;ei=j7WyTPXfOY2usAOokLmrAQ&amp;amp;sa=X&amp;amp;oi=book_result&amp;amp;ct=result&amp;amp;resnum=3&amp;amp;ved=0CDIQ6AEwAg#v=onepage&amp;amp;q&amp;amp;f=false&quot;&gt;Vijay Vazirani's book&lt;/a&gt; ? &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2010-10-11T06:59:26.297" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="2106" PostTypeId="1" AcceptedAnswerId="2128" CreationDate="2010-10-11T07:13:24.693" Score="13" ViewCount="1002" Body="&lt;p&gt;A Monotone-2CNF formula is a &lt;a href=&quot;http://en.wikipedia.org/wiki/Conjunctive_normal_form&quot;&gt;CNF&lt;/a&gt; formula where each clause is composed by exactly 2 positive literals.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, I have a Monotone-2CNF formula $F$. Let $S$ be the set of $F$'s satisfying assignments. I also have an oracle $O$ which is able to give the following information:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;The cardinality of the set $S$ (i.e. the number of solutions of $F$).&lt;/li&gt;&#xA;&lt;li&gt;&#xA;Given a variable $x$:&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The number of solutions in $S$ containing the positive literal $x$.&lt;/li&gt;&#xA;&lt;li&gt;The number of solutions in $S$ containing the negative literal $\lnot x$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;Given 2 variables $x_1$ and $x_2$:&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The number of solutions in $S$ containing $x_1 \land x_2$.&lt;/li&gt;&#xA;&lt;li&gt;The number of solutions in $S$ containing $x_1 \land \lnot x_2$.&lt;/li&gt;&#xA;&lt;li&gt;The number of solutions in $S$ containing $\lnot x_1 \land x_2$.&lt;/li&gt;&#xA;&lt;li&gt;The number of solutions in $S$ containing $\lnot x_1 \land \lnot x_2$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Note that the oracle $O$ is &quot;limited&quot;: it works only on $F$, it can't be used on a formula $F' \neq F$. &lt;hr&gt;&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Question:&lt;/strong&gt;&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;Given 3 variables $x_1$, $x_2$, $x_3$&#xA;  is it possible to determine the number&#xA;  of solutions in $S$ containing $\lnot&#xA;  x_1 \land \lnot x_2 \land \lnot x_3$ in&#xA;  polynomial time, using $F$ and&#xA;  the information provided by $O$?&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt;&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;You can replace $\lnot&#xA;  x_1 \land \lnot x_2 \land \lnot x_3$ in the&#xA;  question with whatever else of the 8 possible&#xA;  combinations of $x_1$, $x_2$, $x_3$. The problem&#xA;  would remain the same.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Empirical fact:&lt;/strong&gt;&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;I came across the following empirical fact one&#xA;  week ago. Let $S_{\lnot x_1 \land \lnot x_2} \subset S$&#xA;  be the set of those solutions containing $\lnot x_1 \land \lnot x_2$,&#xA;  and let $S_{\lnot x_1 \land \lnot x_2 \land x_3} \subset S$ be the set&#xA;  of those solutions containing $\lnot x_1 \land \lnot x_2 \land x_3$. Now, it&#xA;  seems to be the case that, if condition $C$ holds, this relationship also holds:&#xA;  &lt;br&gt;&lt;br&gt;$\frac{|S_{\lnot x_1 \land \lnot x_2}|}{|S_{\lnot x_1 \land \lnot x_2 \land x_3}|} \simeq \phi$&lt;br&gt;&lt;br&gt;&#xA;  where $\phi = 1.618033...$ is the golden ratio. Condition $C$ seems to be the following: &lt;i&gt;&quot;$x_1$, $x_2$, $x_3$ are mentioned in $F$ almost the same number of times&quot;&lt;/i&gt;.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="947" LastEditorUserId="947" LastEditDate="2010-10-12T07:13:58.253" LastActivityDate="2010-10-12T09:32:02.083" Title="Counting solutions of Monotone-2CNF formulas" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;sat&gt;&lt;counting-complexity&gt;" AnswerCount="2" CommentCount="12" FavoriteCount="7" ContentLicense="CC BY-SA 2.5" />
  <row Id="2107" PostTypeId="2" ParentId="2104" CreationDate="2010-10-11T07:18:13.580" Score="3" Body="&lt;p&gt;Without further examples, it's hard to suggest what one might do. But for these kinds of problems, it's often possible to apply an alternating optimization paradigm where you:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Fix x and optimize for n&lt;/li&gt;&#xA;&lt;li&gt;Fix n and optimize for x&lt;/li&gt;&#xA;&lt;li&gt;repeat till convergence&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;In certain settings depending on G and the feasible region, this can yield an optimal solution (for example, if you're measuring the distance between two convex polygons), but in general, it's hard to get anything except a local optimum. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt; &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Based on the OP's clarification, I think a different direction might be more useful. What you're describing begins to sound like a lagrange relaxation of the constrained version of the problem (with a fixed budget). One example of this is a facility-location problem where you want to open facilities to &quot;serve&quot; locations, and while adding more facilities reduces the service cost, it costs more to open each one. There are also variants of this (the buy-at-bulk problem) where the cost for opening more &quot;facilities&quot; is a concave function. I don't understand the stochastic aspects of the problem though. &lt;/p&gt;&#xA;" OwnerUserId="80" LastEditorUserId="80" LastEditDate="2010-10-12T04:07:04.313" LastActivityDate="2010-10-12T04:07:04.313" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2108" PostTypeId="2" ParentId="2103" CreationDate="2010-10-11T07:54:11.900" Score="3" Body="&lt;p&gt;A result of Eugene Luks (&quot;&lt;a href=&quot;http://ix.cs.uoregon.edu/~luks/iso.pdf&quot; rel=&quot;nofollow&quot;&gt;Isomorphism of graphs of bounded valence can be tested in polynomial time&lt;/a&gt;&quot;) shows that graph isomorphism (or automorphism) for bounded degree graphs is in polynomial time. Hence, if you are looking for some (non-identity, as Jukka pointed out) almost-automorphism for cubic graphs that are non-rigid, then we can use Luks' algorithm and take any non-trivial automorphism in the graph.&lt;/p&gt;&#xA;" OwnerUserId="877" LastActivityDate="2010-10-11T07:54:11.900" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2109" PostTypeId="2" ParentId="2074" CreationDate="2010-10-11T11:19:26.847" Score="14" Body="&lt;p&gt;A very old example (which could be subsumed by Suresh's answer, however, this is a different tack) is the influence of the theory of electrical networks, e.g. Kirchhoff's circuit laws, on combinatorics, graph theory, and probability.&lt;/p&gt;&#xA;" OwnerUserId="233" LastActivityDate="2010-10-11T11:19:26.847" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2110" PostTypeId="2" ParentId="2074" CreationDate="2010-10-11T11:29:05.437" Score="17" Body="&lt;p&gt;The connection goes the other way around, too. A while ago theoretical computer scientists who work in domain theory got interested in relativity. They proved results about how to reconstruct the structure of spacetime from the causality structure. This is something quite familiar to domain theorists, where the beasic objects of interest are partial orders whose topology is determined by the order. You might have a look at  &lt;a href=&quot;http://www.cs.mcgill.ca/~prakash/Pubs/dom_gr_review.pdf&quot;&gt;http://www.cs.mcgill.ca/~prakash/Pubs/dom_gr_review.pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="705" LastActivityDate="2010-10-11T11:29:05.437" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2111" PostTypeId="2" ParentId="2074" CreationDate="2010-10-11T12:12:29.147" Score="11" Body="&lt;p&gt;One area that has seen a few applications, but not IMO enough is approximating discrete structures or processes with analytic approximations. This is big business in mathematics (eg., analytic number theory) and physics (all of statistical mechanics), but hasn't proved as popular in CS for some reason. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A famous application of this was in the design of the Connection Machine. This was a massively parallel machine, and as part of its design they need to figure out how big to make the buffers in the router. Feynman modelled the router with PDEs, and showed the buffers could be smaller than the traditional inductive arguments could establish. Danny Hillis recounts the story &lt;a href=&quot;http://www.longnow.org/essays/richard-feynman-connection-machine/&quot;&gt;in this essay&lt;/a&gt;. &lt;/p&gt;&#xA;" OwnerUserId="657" LastActivityDate="2010-10-11T12:12:29.147" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2112" PostTypeId="2" ParentId="2093" CreationDate="2010-10-11T12:55:33.693" Score="8" Body="&lt;p&gt;The answer to your question is yes. Unification modulo an ACU (associative, commutative, unital) operator is decidable. See Baader and Snyder's chapter &lt;a href=&quot;http://www.cs.bu.edu/~snyder/publications/UnifChapter.pdf&quot; rel=&quot;nofollow&quot;&gt;&quot;Unification Theory&quot;&lt;/a&gt; in the Handbook of Automated Reasoning. &lt;/p&gt;&#xA;" OwnerUserId="657" LastActivityDate="2010-10-11T12:55:33.693" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2114" PostTypeId="2" ParentId="121" CreationDate="2010-10-11T14:58:09.553" Score="4" Body="&lt;p&gt;For a very nice account of how error-correcting codes are used in a particular practical situation look at:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The Mathematics of the Compact Disc, by Jack H. Van Lint, in Mathematics Everywhere, M. Aigner and E. Behrends (editors), American Mathematical Society, 2010&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(This book is a translation from the German original.)&lt;/p&gt;&#xA;" OwnerUserId="987" LastActivityDate="2010-10-11T14:58:09.553" CommentCount="0" CommunityOwnedDate="2010-10-11T14:58:09.553" ContentLicense="CC BY-SA 2.5" />
  <row Id="2115" PostTypeId="2" ParentId="2104" CreationDate="2010-10-11T15:11:27.407" Score="5" Body="&lt;p&gt;This problem is strongly reminiscent of &lt;a href=&quot;http://en.wikipedia.org/wiki/Optimal_stopping&quot;&gt;&quot;Optimal stopping&quot;&lt;/a&gt; of stochastic processes.  These are frequently solved by dynamic programming.  References even to this specialized literature are extensive, due to its applications in decision theory and finance.&lt;/p&gt;&#xA;" OwnerUserId="564" LastActivityDate="2010-10-11T15:11:27.407" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2116" PostTypeId="2" ParentId="2102" CreationDate="2010-10-11T16:03:32.757" Score="8" Body="&lt;p&gt;For sake of discussion consider minimization problem with objective function $f(x)$. Off the top of my head I can't think of any one dominant technique for proving integrality gaps. Usually the outline of the proof is the form implied by the definition of integrality gap and the details are problem specific.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For showing that the integrality gap is small (i.e. LP is good) the following proof outline is usual. Use some sort of rounding (often randomized) to construct an integral solution $x'$ with $f(x') \le c\cdot f(x)$ for every LP-feasible $x$ (and for every problem instance). It follows that the integrality gap is at most $c$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For showing that the integrality gap is large the following outline is usual. Exhibit a problem instance with a cheap LP feasible solution and prove that there is no good integral solution.&lt;/p&gt;&#xA;" OwnerUserId="1522" LastEditorUserId="1522" LastEditDate="2010-10-12T13:41:08.283" LastActivityDate="2010-10-12T13:41:08.283" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="2117" PostTypeId="2" ParentId="2103" CreationDate="2010-10-11T17:56:41.627" Score="6" Body="&lt;p&gt;I don't understand the motivation very well. However, let me provide an answer to a related question. In the property testing framework, you are given two graphs $G$ ad $H$ and wish to distinguish two cases based on parameter $\epsilon$:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;$G$ and $H$ are isomorphic&lt;/li&gt;&#xA;&lt;li&gt;Any bijection from $G$ to $H$ causes error on at least $\epsilon \binom{n}{2}$ edges.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;The complexity metric is the number of probes to the adjacency matrices, and the goal is to distinguish the two cases with high probability using a sublinear number of probes. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Eldar Fischer and Arie Matsliah (&lt;em&gt;thanks, arnab&lt;/em&gt;) have a &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=1109591&quot; rel=&quot;nofollow&quot;&gt;paper in SODA 2006&lt;/a&gt; on precisely this problem. While it doesn't directly connect to your problem, it may be a way to a possible problem formulation, and might even provide useful techniques for you. &lt;/p&gt;&#xA;" OwnerUserId="80" LastEditorUserId="80" LastEditDate="2010-10-11T18:39:48.160" LastActivityDate="2010-10-11T18:39:48.160" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="2118" PostTypeId="2" ParentId="1304" CreationDate="2010-10-11T22:00:18.623" Score="18" Body="&lt;p&gt;Emanuele: Unfortunately, we don't know of any black-box problem capturing BQP as simple as the one you mentioned capturing BPP.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Intuitively, this is because it's hard to talk about BQP without bringing in &lt;i&gt;unitarity&lt;/i&gt; in one form or another.  The ability to sum both positive and negative numbers is what makes BQP more powerful than BPP, but then unitarity is what makes BQP &lt;i&gt;less&lt;/i&gt; powerful than #P! :-)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Having said that, besides the Dawson et al. paper that Martin Schwarz linked to, you should definitely check out &lt;a href=&quot;http://arxiv.org/abs/0705.1180&quot;&gt;this&lt;/a&gt; and &lt;a href=&quot;http://arxiv.org/abs/quant-ph/0610235&quot;&gt;this&lt;/a&gt; by Janzing and Wocjan, which give &quot;surprisingly classical-looking&quot; promise problems that capture BQP.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, let S &amp;sube; {0,1}&lt;sup&gt;n&lt;/sup&gt;, and consider a Boolean function f:S&amp;rarr;{0,1}.  Then I have a conjecture from years ago which says that Q(f), the bounded-error quantum query complexity of f, is polynomially related to the minimum degree of a real polynomial p:R&lt;sup&gt;n&lt;/sup&gt;&amp;rarr;R such that&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(i) p(x)&amp;isin;[0,1] for all x&amp;isin;{0,1}&lt;sup&gt;n&lt;/sup&gt;, and&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(ii) |p(x)-f(x)| &amp;le; &amp;epsilon; for all x&amp;isin;S.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If this conjecture holds, then an &quot;approximate counting problem capturing BQP&quot; would simply be to approximate the value of a polylog(n)-degree polynomial p:R&lt;sup&gt;n&lt;/sup&gt;&amp;rarr;R, at a specified point on the Boolean cube, given that p is bounded everywhere on the Boolean cube.  This might be about as close as one could get to an answer to your question.&lt;/p&gt;&#xA;" OwnerUserId="1575" LastActivityDate="2010-10-11T22:00:18.623" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="2119" PostTypeId="1" AcceptedAnswerId="2124" CreationDate="2010-10-11T23:16:17.163" Score="42" ViewCount="3338" Body="&lt;h3&gt;Background&lt;/h3&gt;&#xA;&lt;p&gt;The computation over real numbers are more complicated than computation over natural numbers, since real numbers are infinite objects and there are uncountably many real numbers, therefore real numbers can not be faithfully represented by finite strings over a finite alphabet.&lt;/p&gt;&#xA;&lt;p&gt;Unlike the classical computability over finite strings where different models of computation like: lambda calculus, Turing machines, recursive functions, ... turn out to be equivalent (at least for computability over functions on strings), there are various proposed models for computation over real numbers which are not compatible. For example, in the &lt;a href=&quot;http://eccc.uni-trier.de/static/books/A_Simple_Introduction_to_Computable_Analysis_Fragments_of_a_Book/&quot; rel=&quot;noreferrer&quot;&gt;TTE&lt;/a&gt; model (see also [Wei00]) which is the closest one to the classical Turing machine model, the real numbers are represented using infinite input tapes (like Turing's oracles) and it is not possible to decide the comparison and equality relations between two given real numbers (in finite amount of time). On the other hand in the BBS/real-RAM models which are similar to &lt;a href=&quot;http://en.wikipedia.org/wiki/Random-access_machine&quot; rel=&quot;noreferrer&quot;&gt;RAM machine model&lt;/a&gt;, we have variables that can store arbitrary real numbers, and comparison and equality are among the atomic operations of the model. For this and similar reasons many experts say that the BSS/real-RAM models are not realistic (cannot be implemented, at least not on current digital computers), and they prefer the TTE or other equivalent models to TTE like effective domain theoretic model, Ko-Friedman model, etc.&lt;/p&gt;&#xA;&lt;p&gt;If &lt;a href=&quot;https://cstheory.stackexchange.com/questions/2058/how-are-real-numbers-specified-in-computation/2070#2070&quot;&gt;I understood correctly&lt;/a&gt;, the default model of computation which is used in &lt;a href=&quot;http://en.wikipedia.org/wiki/Computational_geometry&quot; rel=&quot;noreferrer&quot;&gt;Computational Geometry&lt;/a&gt; is the &lt;a href=&quot;http://en.wikipedia.org/wiki/Blum%E2%80%93Shub%E2%80%93Smale_machine&quot; rel=&quot;noreferrer&quot;&gt;BSS&lt;/a&gt; (a.k.a. &lt;a href=&quot;http://en.wikipedia.org/wiki/Real_RAM&quot; rel=&quot;noreferrer&quot;&gt;real-RAM&lt;/a&gt;, see [BCSS98]) model.&lt;/p&gt;&#xA;&lt;p&gt;On the other hand, it seems to me that in the implementation of the algorithms in Computational Geometry (e.g. &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.43.5812&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;noreferrer&quot;&gt;LEDA&lt;/a&gt;), we are only dealing with algebraic numbers and no higher-type infinite objects or computations are involved (is this correct?). So it appears to me (probably naively) that one can also use the classical model of computation over finite strings to deal with these numbers and use the usual model of computation (which is also used for implementation of the algorithms) to discuss correctness and complexity of algorithms.&lt;/p&gt;&#xA;&lt;hr /&gt;&#xA;&lt;h3&gt;Questions:&lt;/h3&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;What are the reasons that researchers in Computational Geometry prefer to use the BSS/real-RAM model? (reasons specific Computational Geometry for using the BSS/real-RAM model)&lt;/p&gt;&#xA;&lt;p&gt;What are the problems with the (probably naive) idea that I have mentioned in the previous paragraph? (using the classic model of computation and restricting the inputs to algebraic numbers in Computational Geometry)&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;hr /&gt;&#xA;&lt;h3&gt;Addendum:&lt;/h3&gt;&#xA;&lt;p&gt;There is also the complexity of algorithms issue, it is very easy to decide the following problem in the BSS/real-RAM model:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Given two sets &lt;span class=&quot;math-container&quot;&gt;$S$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$T$&lt;/span&gt; of positive integers,&lt;br /&gt;&#xA;is &lt;span class=&quot;math-container&quot;&gt;$\sum_{s\in S} \sqrt{s} &amp;gt; \sum_{t\in T}\sqrt{t}$&lt;/span&gt;?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;While no efficient integer-RAM algorithm is known for solving it. Thanks to JeffE for the example.&lt;/p&gt;&#xA;&lt;hr /&gt;&#xA;&lt;p&gt;References:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Lenore Blum, Felipe Cucker, Michael Shub, and Stephen Smale, &amp;quot;Complexity and Real Computation&amp;quot;, 1998&lt;/li&gt;&#xA;&lt;li&gt;Klaus Weihrauch, &amp;quot;&lt;a href=&quot;http://www.fernuni-hagen.de/weihrauch/index_data/book.html&quot; rel=&quot;noreferrer&quot;&gt;Computable Analysis, An Introduction&lt;/a&gt;&amp;quot;, 2000&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="186" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2013-03-17T16:02:03.567" Title="What are the reasons that researchers in computational geometry prefer the BSS/real-RAM model?" Tags="&lt;cc.complexity-theory&gt;&lt;cg.comp-geom&gt;&lt;computing-over-reals&gt;&lt;computable-analysis&gt;" AnswerCount="3" CommentCount="1" FavoriteCount="12" ContentLicense="CC BY-SA 3.0" />
  <row Id="2120" PostTypeId="2" ParentId="2106" CreationDate="2010-10-11T23:51:16.987" Score="7" Body="&lt;p&gt;Some observations, not an answer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Further to the note to the question, any combination of 3 literals can be expressed in terms of any other combination of literals on the same variables, together with a small number of terms that the oracle can provide.  This follows from looking at the Venn diagram of 3 intersecting sets, and expressing each of the 8 regions in terms of the other regions.  Note that this does not require the formula to be either monotone or 2CNF.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is also clear that the number of solutions satisfying any 3-literal conjunct can be expressed as the sum of $2^{n-3}$ terms, each of which is either 0 or 1, expressing a particular assignment to all variables.  Each of these can be evaluated in linear time, but there are exponentially many terms to evaluate, so this doesn't satisfy the requirements.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hence the question is really about whether it is possible to exploit the property of being monotone 2CNF to compress this exponential-size expression to polynomial size.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I tried to look at a simpler question, restricting the oracle to just an advice string with the number of solutions, when the counts for single or pairwise literal combinations are not available.  I cannot see any way to exploit knowledge of the number of solutions to obtain a quick calculation of the number of solutions with respect to any single literal.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there something about monotone 2CNF that would allow the number of solutions in $S$ containing $x_1$ to be obtained quickly, if one knew $|S|$?&lt;/p&gt;&#xA;" OwnerUserId="109" LastActivityDate="2010-10-11T23:51:16.987" CommentCount="14" ContentLicense="CC BY-SA 2.5" />
  <row Id="2121" PostTypeId="1" AcceptedAnswerId="2179" CreationDate="2010-10-12T01:03:49.217" Score="16" ViewCount="1184" Body="&lt;p&gt;&lt;a href=&quot;http://portal.acm.org/citation.cfm?id=62222&quot;&gt;Blum, Micali, and Feldman&lt;/a&gt; (BFM) put forward a new (cryptographic) model, in which all parties (honest or adversarial) have access to some string. The string is assumed to be selected according to some distribution (usually, uniform distribution) by a trusted party. It is called the &lt;em&gt;reference string&lt;/em&gt;, and the model is aptly named the &lt;em&gt;common reference string&lt;/em&gt; (CSR) model.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The model allows us to perform many interesting interactive protocols &lt;em&gt;non-interactively&lt;/em&gt;, replacing queries by bits from the reference string. In particular, &lt;strong&gt;zero-knowledge&lt;/strong&gt; proofs for any &lt;strong&gt;NP&lt;/strong&gt; language can be conducted non-interactively, giving rise to the notion of &lt;em&gt;non-interactive zero-knowledge&lt;/em&gt; (NIZK).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;NIZK has a lot of applications, such as providing a method for realizing public-key cryptosystems secure against &lt;a href=&quot;http://en.wikipedia.org/wiki/Chosen-ciphertext_attack&quot;&gt;(adaptive) chosen-ciphertext attacks&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;BFM first proved the existence of a single-theorem version of NIZK for every &lt;strong&gt;NP&lt;/strong&gt; language; that is, given a reference string $\rho$ and a language $L \in \bf{NP}$, one can prove only one single theorem of the form $x \in L$. In addition, the length of the theorem is bounded in $|\rho|$. If the prover attempts to reuse some bits of $\rho$ in later proofs, there's a danger of knowledge leakage (and the proof will no longer be NIZK).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To remedy this, BFM used a multi-theorem version based on the single-theorem NIZK. To this end, they used a pseudo-random generator to expand $\rho$, and then used the expanded bits. There are some other details as well, but I'm not going to dig in.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://dx.doi.org/10.1137/S0097539792230010&quot;&gt;Feige, Lapidot, and Shamir&lt;/a&gt; (in the first footnote on the first page of their paper) stated:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;The method suggested in BFM for overcoming this &lt;strong&gt;difficulty&lt;/strong&gt; was found to be flawed.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;(The &lt;strong&gt;difficulty&lt;/strong&gt; refers to obtaining multi-theorem proofs rather than single-theorem ones.)&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Where does the BFM flaw lie?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="873" LastActivityDate="2010-10-13T18:41:55.450" Title="Where's the Flaw in Blum-Feldman-Micali's Method" Tags="&lt;cr.crypto-security&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2123" PostTypeId="1" CreationDate="2010-10-12T03:28:15.097" Score="8" ViewCount="492" Body="&lt;p&gt;I wish to know the VC-dimension of a range space $(X,\mathcal{R})$ constructed as follows:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;$X$ is the &lt;em&gt;cylinder&lt;/em&gt; $\{(x,y,z)\in\mathbb{R}^3|x^2+y^2\leq 1\}$&lt;/li&gt;&#xA;&lt;li&gt;The ranges in $\mathcal{R}$ are formed by taking the union of circular disks such that:&#xA;&lt;ul&gt;&#xA;&lt;li&gt;the plane containing the disk is orthogonal to the z axis (we &quot;stack&quot; the disks in the z direction)&lt;/li&gt;&#xA;&lt;li&gt;a disk is tangent to the cylinder boundary at the point $(1,0,z)$&lt;/li&gt;&#xA;&lt;li&gt;a disk has diameter $f(z)+1$, where $f(z)$ is bounded (strictly) by $-1&amp;lt;f(z)&amp;lt;1$, and strictly monotonically increasing, strictly monotonically decreasing, or constant.&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;li&gt;Any set constructed by rotating one of these ranges about the z axis by an arbitrary angle is also a range.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Intuitively, imagine taking a set of coins (circular, of course) and sorting them by diameter, either decreasing or increasing. Then drop them carefully into a tube (the main cylinder) in that order, so each rests on the last. Now tip the tube slightly so that they all rest against the side of the cylinder. If our coins had zero thickness and we had one for every real number, this would be our range.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm mostly interested in the case that $f(z)$ is sigmoid, like the error function or $\tanh$. Specifically, I'm interested in the cylindrical ranges formed by the family of functions $\tanh(\alpha(z-\beta))$, where $\alpha,\beta\in\mathbb{R}$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I know that this range space has &lt;strong&gt;at least&lt;/strong&gt; VC-dim 4 (I can construct a set of four points that it shatters), but I'm interested in putting an upper bound on it and understanding why. I know that:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Circular disks in $\mathbb{R}^2$ have VC-dim 3&lt;/li&gt;&#xA;&lt;li&gt;Subsets of the strip $\{-1\leq y\leq 1\}\subset\mathbb{R}^2$ that are bounded above or below by $\tanh(\alpha(z-\beta))$ have at least VC-dim 3, probably equal to 3, because the slope part of the $\tanh$ function acts much like a line&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Is there any way to combine these facts &lt;strong&gt;to obtain an upper bound on the VC-dimension&lt;/strong&gt;? Is there anything to say about general $f(z)$ that meet the criteria in (2)?&lt;/p&gt;&#xA;" OwnerUserId="284" LastEditorUserId="284" LastEditDate="2010-10-12T08:11:32.580" LastActivityDate="2010-10-12T08:11:32.580" Title="VC-dimension of Cylinders within a Cylinder" Tags="&lt;cg.comp-geom&gt;&lt;vc-dimension&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="2124" PostTypeId="2" ParentId="2119" CreationDate="2010-10-12T05:56:40.377" Score="45" Body="&lt;p&gt;First of all, computational geometers don't think of it as the BSS model.  The real RAM model  was defined by Michael Shamos in his 1978 PhD thesis (&lt;em&gt;Computational Geometry&lt;/em&gt;), which arguably launched the field.  Franco Preparata revised and extended Shamos' thesis into the first computational geometry textbook, published in 1985.  The real RAM is also equivalent (&lt;em&gt;except for uniformity; see Pascal's answer!&lt;/em&gt;) to the &lt;em&gt;algebraic computation tree&lt;/em&gt; model defined by Ben-Or in 1983.  Blum, Shub, and Smale's efforts were published in 1989, well after the real-RAM had been established, and were almost completely ignored by the computational geometry community.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Most (classical) results in computational geometry are heavily tied to issues in &lt;em&gt;combinatorial&lt;/em&gt; geometry, for which assumptions about coordinates being integral or algebraic are (at best) irrelevant distractions.  Speaking as a native, it seems completely natural to consider &lt;em&gt;arbitrary&lt;/em&gt; points, lines, circles, and the like &lt;em&gt;as first class objects&lt;/em&gt; when proving things about them, and therefore equally natural when designing and analyzing algorithms to compute with them.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For most (classical) geometric algorithms, this attitude is reasonable even in practice.  Most algorithms for planar geometric problems are built on top of a very small number of geometric primitives: Is point $p$ to the left or right of point $q$?  Above, below, or on the line through points $q$ and $r$?  Inside, outside, or on the circle determined by points $q,r,s$?  Left or right of the intersection of segments $qr$ and $st$?  Each of these primitives is implemented by evaluating the sign of a low-degree polynomial in the input coordinates.  (So these algorithms can be described in the weaker algebraic &lt;em&gt;decision&lt;/em&gt; tree model.)  If the input coordinates happen to be integers, these primitives can be evaluated exactly with only constant-factor increase in precision, and so running times on the real RAM and the integer RAM are the same.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For similar reasons, when most people think about sorting algorithms, they don't care &lt;em&gt;what&lt;/em&gt; they're sorting, as long as the data comes from a totally ordered universe and any two values can be compared in constant time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So the community developed a separation of concerns between the design of “real” geometric algorithms and their practical implementation; hence the development of packages like LEDA and  CGAL.  Even for people working on exact computation, there is a distinction between the &lt;em&gt;real&lt;/em&gt; algorithm, which uses exact real arithmetic as part of the underlying model, and the &lt;em&gt;implementation&lt;/em&gt;, which is forced by the otherwise irrelevant limitations of physical computing devices to use discrete computation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Within this worldview, for example, the most important open problem in computational geometry is the existence of a polynomial-time algorithm for linear programming.  No, the ellipsoid and interior-point methods don't count.  Unlike the simplex algorithm, those algorithms aren't guaranteed to terminate unless the constraint matrix happens to be rational.  (&lt;a href=&quot;http://en.wikipedia.org/wiki/Mnev%27s_universality_theorem&quot;&gt;There are combinatorial types of convex polytopes that can only be represented by irrational constraint matrices&lt;/a&gt;, so this &lt;em&gt;is&lt;/em&gt; a nontrivial restriction.)  And even when the constraint matrix is rational, the running times of those algorithms aren't bounded by &lt;em&gt;any&lt;/em&gt; function of the input size (dimension$\times$#constraints).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are a few geometric algorithms that really do rely heavily on the algebraic &lt;em&gt;computation&lt;/em&gt; tree model, and therefore &lt;em&gt;cannot&lt;/em&gt; be implemented exactly and efficiently on physical computers.  One good example is minimum-link paths in simple polygons, which can be computed in linear time on a real RAM, but &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=237342&quot;&gt;require a quadratic number of bits&lt;/a&gt; in the worst-case to represent exactly.  Another good example is Chazelle's &lt;a href=&quot;http://www.cs.princeton.edu/~chazelle/pubs/CuttingHyperplanes.pdf&quot;&gt;hierarchical cuttings&lt;/a&gt;, which are used in the most efficient &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=142732&quot;&gt;algorithms&lt;/a&gt; known for &lt;a href=&quot;http://en.wikipedia.org/wiki/Range_searching&quot;&gt;simplex range searching&lt;/a&gt;.  These cuttings use a hierarchy of sets of triangles, where the vertices of triangles at each level are intersection points of lines through edges of triangles at previous levels.  Thus, even if the input coordinates are integers, the vertex coordinates for these triangles are algebraic numbers of unbounded degree; nevertheless, the algorithms for constructing and using cuttings assume that coordinates can be manipulated exactly in constant time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, my short, personally biased answer is this: TTE, domain theory, Ko-Friedman, and other models of “realistic” real-number computation all address issues that the computational geometry community, on the whole, just doesn't care about.&lt;/p&gt;&#xA;" OwnerUserId="111" LastEditorUserId="111" LastEditDate="2010-10-13T14:23:40.263" LastActivityDate="2010-10-13T14:23:40.263" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="2125" PostTypeId="2" ParentId="2123" CreationDate="2010-10-12T06:27:35.867" Score="4" Body="&lt;p&gt;You need the sigmoid restriction on $f$ for the VC-dimension to be finite.  Otherwise, you can let $f$ behave like a staircase, with arbitrarily many steps.  Then these staircases can have arbitrarily many intersections.  This allows $n$ ranges to admit $2^n$ different subsets.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $f(z)$ is a polynomial, then you can bound the VC-dimension using the degree of the polynomial (combined with the degree of the polynomial (2) describing the disc).  But not sure how to apply this type of result for $\tanh$. &lt;/p&gt;&#xA;" OwnerUserId="1173" LastActivityDate="2010-10-12T06:27:35.867" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="2126" PostTypeId="1" AcceptedAnswerId="2142" CreationDate="2010-10-12T06:40:24.423" Score="10" ViewCount="946" Body="&lt;p&gt;&lt;strong&gt;Motivation:&lt;/strong&gt; In standard augmenting path maxflow algorithms, the inner loop requires finding paths from source to sink in a directed, weighted graph.  Theoretically, it is well-known that in order for the algorithm to even terminate when there are irrational edge capacities, we need to put restrictions on the paths that we find.  The Edmonds-Karp algorithm, for example, tells us to find &lt;em&gt;shortest&lt;/em&gt; paths.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Empirically, it has been observed that we might also want to find &lt;em&gt;fat&lt;/em&gt; (is there a better term for this?) paths.  For example, when using &lt;em&gt;capacity scaling&lt;/em&gt;, we find shortest paths that can bear at least $\epsilon$ amount of flow.  There is no restriction on how long the path can be.  When we can no longer find any paths, we decrease $\epsilon$ and repeat.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am interested in optimizing the choice of augmenting paths for a very specific application of max-flow, and I want to explore this tradeoff between short and fat paths.  (Note: it is not necessary for me to always solve the problem.  I am most interested in finding the largest lower bound on flow in the shortest amount of wall time.)&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Question:&lt;/strong&gt; Is there a standard way to&#xA;  interpolate between the shortest path&#xA;  approach and the capacity-scaling&#xA;  approach?  That is, is there an&#xA;  algorithm for finding paths that are&#xA;  both short and fat, where ideally some&#xA;  parameter would control how much&#xA;  length in the path we are willing to&#xA;  trade off for fatness?  At the extremes, I'd like to be able to recover&#xA;  shortest paths on one end and capacity scaling-style paths on the other.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="144" LastEditorUserId="-1" LastEditDate="2013-05-10T06:34:05.567" LastActivityDate="2013-05-10T06:34:05.567" Title="Finding short and fat paths" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;" AnswerCount="1" CommentCount="6" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2127" PostTypeId="2" ParentId="2119" CreationDate="2010-10-12T08:14:21.303" Score="4" Body="&lt;p&gt;Here is a comment on Jeff's excellent answer:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Notions of condition, approximation and round-off were proposed to address the complexity gap (combinatorial vs. continuous ) of linear programming algorithms. The condition of a problem instance estimates the effect of small perturbations of the input on the accuracy of the output. The notion of condition was first introduced by Alan Turing. Jim Renegar introduced the notion of condition of a linear program.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;L. BLUM,&lt;a href=&quot;http://www.ams.org/notices/200409/fea-blum.pdf&quot; rel=&quot;nofollow&quot;&gt;Computing over the&#xA;Reals: Where Turing&#xA;Meets Newton,&#xA;&lt;/a&gt;&#xA;&lt;a href=&quot;http://www.ams.org/notices/200409/fea-blum.pdf&quot; rel=&quot;nofollow&quot;&gt;,&lt;/a&gt; NOTICES OF THE AMS, VOLUME 51, NUMBER 9,  (2004), 1024-1034&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A. TURING, Rounding-off errors in matrix&#xA;processes, Quart. J. Mech. Appl. Math. 1 (1948),&#xA;287–308&lt;/p&gt;&#xA;&#xA;&lt;p&gt;J. RENEGAR, Incorporating condition numbers&#xA;into the complexity theory of linear programming,&#xA;SIAM J. Optim. 5 (1995), 506–524&lt;/p&gt;&#xA;&#xA;&lt;p&gt;F. CUCKER, and J. PEÑA, A primal-dual algorithm&#xA;for solving polyhedral conic systems with&#xA;a finite-precision machine, SIAM Journal on Optimization&#xA;12 (2002), 522–554.&lt;/p&gt;&#xA;" OwnerUserId="495" LastActivityDate="2010-10-12T08:14:21.303" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2128" PostTypeId="2" ParentId="2106" CreationDate="2010-10-12T09:32:02.083" Score="5" Body="&lt;p&gt;To use that empirical fact you really want to know whether approximate numbers can give others approximate numbers. But for the exact case, I think there may be a straightforward way to show this is hard. Here's a sketch.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First note that satisfying assignments correspond to independent sets in a graph. I'll use the phrase &quot;S-projections of I(G)&quot; to describe the function mapping $T \subset S$ to the number of independent sets I with $I \cap S = T$. The &quot;k-projections&quot; are the S-projections for all subsets S of V with $|S|=k$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Proof outline:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;If 2-projections give 3-projections, they also give k-projections in polytime for each k.&lt;/li&gt;&#xA;&lt;li&gt;If 2-projections give 4-projections, then the number of independent sets of a graph is in FP, so FP=#P.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;(1)&#xA;Let $k\geq 3$ such that (k-1)-projections give k-projections. Given a graph, its k-projections, and $x_1,...,x_k,v \in G$, we will compute the projections onto ${x_1,...,x_k,v}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Define the graph $G'$ by attaching a fresh vertex to v. This can be seen as weighting v. The (k-1)-projections of $G'$ can be computed because we know the k-projections of G. So then we have the k-projections of $G'$. And this gives ${x_1,...,x_k,v}$-projections of G.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(2)&#xA;Given a graph, order the edges ${e_1,...,e_m}$ and define $G_k$ to have edges ${e_1,...,e_k}$. The 2-projections of $G_{k+1}$ can be computed from the 4-projections of $G_k$. The number of independent sets in $G_0$ is $2^{|G|}$. Iteratively the 4-projections of G can be computed in polynomial time.&lt;/p&gt;&#xA;" OwnerUserId="636" LastActivityDate="2010-10-12T09:32:02.083" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="2129" PostTypeId="1" AcceptedAnswerId="2130" CreationDate="2010-10-12T13:16:18.373" Score="7" ViewCount="867" Body="&lt;p&gt;I've found a problem that boils down to this: I need to find the non-rooted MST of a directed weighted graph. In other words, I need to find the minimal set of edges such that from any one node in the graph you can get to all others.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is similar to the rooted MST digraph problem, which the &lt;a href=&quot;http://www.ce.rit.edu/~sjyeec/dmst.html&quot; rel=&quot;nofollow&quot;&gt;chu-liu&lt;/a&gt; algorithm solves quite nicely. My intuition is to calculate the rooted MST for all nodes using chu-liu and then merge each, removing redundancies along the way. However, I don't believe that that would be optimal.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Has anybody been working on this? Can you point me towards some papers that I should read?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks.&lt;/p&gt;&#xA;" OwnerUserId="1735" LastEditorUserId="186" LastEditDate="2010-12-28T05:32:56.230" LastActivityDate="2010-12-28T12:36:06.037" Title="Non-rooted MST of directed graph" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;&lt;np-hardness&gt;" AnswerCount="3" CommentCount="5" FavoriteCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2130" PostTypeId="2" ParentId="2129" CreationDate="2010-10-12T13:37:06.240" Score="15" Body="&lt;p&gt;If I understand your question correctly you aren't looking for a tree, or an arborescence, but rather a minimum weight set of arcs that suffice to keep the graph strongly connected.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Your problem is NP-complete by reduction from Hamiltonian cycle problem. Given an input undirected graph that you wish to find the Hamiltonian cycle of create a directed graph by replacing each edge with a pair of oppositely directed arcs. Give all arcs weight 1. This directed graph has a set of arcs that leave the graph strongly connected with weight at most the number of vertices if and only if it has a Hamiltonian cycle.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can get a two-approximation by picking an arbitrary root, finding the minimum weight spanning tree with arcs pointing towards the root, finding the minimum weight spanning tree with arcs pointing away from the root, and then unioning the two sets of arcs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I don't recognize this problem off the top of my head but have you tried looking in the various NP-complete problem directories for it?&lt;/p&gt;&#xA;" OwnerUserId="1522" LastActivityDate="2010-10-12T13:37:06.240" CommentCount="10" ContentLicense="CC BY-SA 2.5" />
  <row Id="2131" PostTypeId="1" AcceptedAnswerId="2138" CreationDate="2010-10-12T14:07:04.373" Score="3" ViewCount="933" Body="&lt;p&gt;What's the minimum diameter of a connected undirected graph with |V| vertices and O(|V|) edges?&lt;/p&gt;&#xA;" OwnerUserId="10" LastEditorUserId="-1" LastEditDate="2013-04-30T03:39:43.067" LastActivityDate="2013-04-30T03:39:43.067" Title="Diameter of a graph with O(|V|) edges" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;" AnswerCount="2" CommentCount="12" ContentLicense="CC BY-SA 2.5" />
  <row Id="2132" PostTypeId="1" AcceptedAnswerId="11823" CreationDate="2010-10-12T15:16:31.953" Score="7" ViewCount="7150" Body="&lt;p&gt;We need to have an efficient operation of merging or splitting two binary search trees $S_1$ and $S_2$. There are given the following.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The element with the largest value in $S_1$ is smaller than the element with the smallest value in $S_2$. Abusing the notation $S_1 &amp;lt; S_2$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We define as &lt;code&gt;merge&lt;/code&gt; operation the operation which requires the two trees $S_1$ and $S_2$ and produces a valid binary search tree $S$ containing all of their elements.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Similarly, $S$ is &lt;code&gt;split&lt;/code&gt; in two binary search trees $S_1$ and $S_2$ given an element $k$ for which (abusing the terminology again) $S_1 \le k &amp;lt; S_2$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The best solution I have come up with in order to convince myself that this is possible, is by using splay trees. To &lt;code&gt;merge&lt;/code&gt; we put the smallest element of $S_2$ as the root of the new tree with $S_1$ as the left subtree and $S_2$ as the right subtree (alternative we use the largest element of $S_1$ if it smaller). Amortized time $O(\log n)$. Similarly, we split by searching for the element $k$... Amortized time $O(\log n)$ again.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there anything better?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Sorry for the lack of imagination in my question, this is my first post here.)&lt;/p&gt;&#xA;" OwnerUserId="401" LastActivityDate="2013-10-31T22:14:19.933" Title="Split or merge Binary Search Trees in O(log n)" Tags="&lt;ds.data-structures&gt;&lt;tree&gt;" AnswerCount="3" CommentCount="2" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="2133" PostTypeId="1" AcceptedAnswerId="2134" CreationDate="2010-10-12T15:38:58.313" Score="6" ViewCount="1113" Body="&lt;p&gt;It's obvious that NP $\subseteq$ #P. How about #P $\subseteq$ PSPACE? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It strikes me as semi-obvious, since we can check whether an assignment (e.g. for SAT) is a solution in polynomial time (and hence space), and since each assignment can be checked separately, we can re-use the memory needed for this check, and thus use only a polynomial amount of space to check every assignment (plus a counter to track how many of the assignments were solutions).&lt;/p&gt;&#xA;" OwnerUserId="161" LastEditorUserId="567" LastEditDate="2010-10-13T21:39:37.327" LastActivityDate="2010-10-14T01:13:45.440" Title="Is #P contained in PSPACE?" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;space-bounded&gt;&lt;counting-complexity&gt;" AnswerCount="1" CommentCount="7" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="2134" PostTypeId="2" ParentId="2133" CreationDate="2010-10-12T15:56:08.703" Score="9" Body="&lt;p&gt;For the sake of completeness, let me update this answer with a direct proof. My original answer will remain below in case anyone finds it interesting. The basic idea of the direct proof is exactly as Evgenij suggests: check whether each possible assignment is satisfiable, keep a counter of satisfiable instances, and reuse space wherever possible.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Claim: #$P \subseteq FPSPACE$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Proof: Assume #$SAT$ is #$P$-complete; then it suffices to show a polynomial-space algorithm to solve #$SAT$. Here is a &lt;em&gt;linear&lt;/em&gt;-space, exponential-time algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Initialize two counters of $k \le n$ bits to all 0, for number of variables $k$ in the $3CNF$ formula given as input. The first counter will keep track of which assignment we are checking (1 = true, 0 = false, for each variable $x_1$ to $x_k$). The second will keep track of the number of satisfying assignments (there are at most $2^k$ of them).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We will also need enough space ($n$ bits) to write the formula, and enough space to do &quot;scratch work&quot; for one clause (some very small constant number of bits, since every clause will have exactly 3 literals by definition of #$SAT$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is the description of the algorithm:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&#xA;For all possible assignments&#xA;   For all clauses in the Boolean formula&#xA;      Check if the assignment satisfies the given clause&#xA;   If the assignment satisfied every clause&#xA;      Increment the assignment counter&#xA;Output the value in the assignment counter&#xA;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Note that once we finish work on one possible assignment, we don't need any information from it again to compute whether other assignments satisfy the formula; the only information we keep is &lt;em&gt;whether&lt;/em&gt; it was satisfied -- in the second counter. In particular, since we can just apply binary addition of 1 to the assignment we are testing in order to always get the next assignment, and since every assignment can be checked by considering only one clause at a time (and re-using the same space for computation on every clause), the dominating factor in the space requirement is simply writing the formula itself. Alternatively, we just read from an input tape and never explicitly write the formula, then in the worst case, $k = n$ and it still takes $O(n)$ space to write the possible assignments and keep track of the number of satisfying assignments. Q.E.D.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Below is my original answer:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Although this already essentially answered, let me give a proof of a different vein (straight out of Arora/Barak):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let #$SAT_D$ = {($\phi, K$) : $\phi$ is a 3CNF formula and it has exactly $K$ satisfying assignments}&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In Chapter 17, there is a proof that #$SAT$ is #$P$-complete.&#xA;In Chapter 8, there is a proof that #$SAT_D \in IP$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since $IP = PSPACE$, #$P \subseteq FPSPACE$.&lt;/p&gt;&#xA;" OwnerUserId="108" LastEditorUserId="108" LastEditDate="2010-10-14T01:13:45.440" LastActivityDate="2010-10-14T01:13:45.440" CommentCount="17" ContentLicense="CC BY-SA 2.5" />
  <row Id="2135" PostTypeId="1" AcceptedAnswerId="2460" CreationDate="2010-10-12T16:11:46.743" Score="4" ViewCount="199" Body="&lt;p&gt;I was reading 'Unreliable Failure Detectors for Reliable Distributed Systems' (&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.18.1159&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;nofollow&quot;&gt;PDF&lt;/a&gt;) and I was wondering if ping (with increasing timeouts in case of failure) is in class S of failure detectors:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;strong completeness&lt;/li&gt;&#xA;&lt;li&gt;weak accuracy&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="10" LastEditorUserId="10" LastEditDate="2010-10-12T16:17:32.467" LastActivityDate="2010-10-25T15:14:49.923" Title="Has ping based failure detector 'strong completeness' and 'weak accuracy'?" Tags="&lt;dc.distributed-comp&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="2136" PostTypeId="1" AcceptedAnswerId="2152" CreationDate="2010-10-12T16:16:39.533" Score="42" ViewCount="3127" Body="&lt;p&gt;On MathOverflow, Timothy Gowers asked a question titled &quot;&lt;a href=&quot;https://mathoverflow.net/questions/37610/demonstrating-that-rigour-is-important&quot;&gt;Demonstrating that rigour is important&lt;/a&gt;&quot;.  Most of the discussion there was about cases showing the importance of proof, which people on CSTheory probably do not need to be convinced about.  In my experience proofs need to be more rigorous in theoretical computer science than in many parts of continuous mathematics, because our intuition so often turns out to be wrong for discrete structures, and because the drive to create implementations encourages more detailed arguments.  A mathematician may be content with an existence proof, but a theoretical computer scientist will usually try to find a constructive proof.  The Lovász Local Lemma is a nice example [1].&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would therefore like to know&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;are there specific examples in theoretical computer science where a rigorous proof of a believed-to-be-true statement has led to new insight into the nature of the underlying problem?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;A recent example that is not directly from algorithms and complexity theory is &lt;em&gt;proof-theoretic synthesis&lt;/em&gt;, the automatic derivation of correct and efficient algorithms from pre- and post-conditions [2].&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;[1] Robin A. Moser and Gábor Tardos, &lt;em&gt;A Constructive Proof of the General Lovász Local Lemma&lt;/em&gt;, JACM &lt;strong&gt;57&lt;/strong&gt;, article 11, 2010. &lt;a href=&quot;http://doi.acm.org/10.1145/1667053.1667060&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://doi.acm.org/10.1145/1667053.1667060&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;[2] Saurabh Srivastava, Sumit Gulwani, and Jeffrey S. Foster, &lt;em&gt;From program verification to program synthesis&lt;/em&gt;, ACM SIGPLAN Notices &lt;strong&gt;45&lt;/strong&gt;, 313–326, 2010. &lt;a href=&quot;http://doi.acm.org/10.1145/1707801.1706337&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://doi.acm.org/10.1145/1707801.1706337&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Edit:&lt;/em&gt; The kind of answer I had in mind is like those by Scott and matus.  As Kaveh suggested, this is a triple of something people wanted to prove (but which wasn't necessarily unexpected by &quot;physics&quot;, &quot;handwaving&quot;, or &quot;intuitive&quot; arguments), a proof, and consequences for the &quot;underlying problem&quot; that followed from that proof that weren't anticipated (perhaps creating a proof required unexpected new ideas, or naturally leads to an algorithm, or changed the way we think about the area).  Techniques developed while developing proofs are the building blocks of theoretical computer science, so to retain the value of this somewhat subjective question, it would be worth focusing on personal experience, such as provided by Scott, or an argument that is backed up by references, as matus did.  Moreover, I'm trying to avoid arguments about whether something qualifies or not; unfortunately the nature of the question may be intrinsically problematic.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We already have a question about &quot;surprising&quot; results in complexity: &lt;a href=&quot;https://cstheory.stackexchange.com/questions/276/surprising-results-in-complexity-not-on-the-complexity-blog-list&quot;&gt;Surprising Results in Complexity (Not on the Complexity Blog List)&lt;/a&gt; so ideally I am looking for answers that focus on the &lt;strong&gt;value of rigorous proof&lt;/strong&gt;, not necessarily the size of the breakthrough.&lt;/p&gt;&#xA;" OwnerUserId="109" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2011-05-25T19:56:00.917" Title="Rigour leading to insight" Tags="&lt;big-list&gt;&lt;soft-question&gt;&lt;proofs&gt;" AnswerCount="8" CommentCount="5" FavoriteCount="30" ContentLicense="CC BY-SA 2.5" />
  <row Id="2138" PostTypeId="2" ParentId="2131" CreationDate="2010-10-12T16:34:38.173" Score="19" Body="&lt;p&gt;A line graph has O(V) edges and diameter V-1. A star graph also has O(V) edges and diameter 2. So it seems that the constraint that a graph has O(V) edges places almost no restriction at all on what the diameter can be. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course, 2 is the minimum, since only a complete graph has diameter 1. &lt;/p&gt;&#xA;" OwnerUserId="25" LastEditorUserId="25" LastEditDate="2010-10-12T16:41:57.857" LastActivityDate="2010-10-12T16:41:57.857" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="2139" PostTypeId="2" ParentId="2136" CreationDate="2010-10-12T16:54:54.510" Score="11" Body="&lt;p&gt;Rasborov and Rudich's paper &lt;a href=&quot;http://en.wikipedia.org/wiki/Natural_proof&quot;&gt;&quot;Natural Proofs&quot;&lt;/a&gt; offers a rigorous proof of (a formalization of) the painfully obvious statement &quot;It's &lt;em&gt;really&lt;/em&gt; hard to prove that P≠NP.&quot;&lt;/p&gt;&#xA;" OwnerUserId="111" LastActivityDate="2010-10-12T16:54:54.510" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="2140" PostTypeId="2" ParentId="2136" CreationDate="2010-10-12T17:46:08.817" Score="0" Body="&lt;p&gt;Alan Turing formalized the notion of algorithm (effective computability) using Turing machines. He used this new formalism to prove that the Halting problem is undecidable (i.e. Halting problem can't be solved by any algorithm). This led to a long research program which proved the impossibility of the Hilbert 10th problem. Matiyasevich in 1970 proved that there is no algorithm that can decide whether a integer Diophantine equation has an integer solution.&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2010-10-12T18:06:03.990" LastActivityDate="2010-10-12T18:06:03.990" CommentCount="8" ContentLicense="CC BY-SA 2.5" />
  <row Id="2141" PostTypeId="1" CreationDate="2010-10-12T18:34:34.727" Score="10" ViewCount="468" Body="&lt;p&gt;This question has risen in my mind after reading András Salamon's and Colin McQuillan's contributions to my previous question &lt;a href=&quot;https://cstheory.stackexchange.com/questions/2106/counting-solutions-of-monotone-2cnf-formulas&quot;&gt;Counting solutions of Monotone-2CNF formulas&lt;/a&gt;. &#xA;&lt;br&gt;&lt;br&gt;&#xA;EDIT 30&lt;sup&gt;th&lt;/sup&gt; Mar 2011&lt;br&gt;&#xA;Added question n° 2.&lt;br&gt;&lt;br&gt;&#xA;EDIT 29&lt;sup&gt;th&lt;/sup&gt; Oct 2010&lt;br&gt;&#xA;Question rephrased after András proposal to formalize it through the notion of &lt;em&gt;nice representation of a solution set&lt;/em&gt; (I've modified his notion a little bit).&#xA;&lt;br&gt;&lt;br&gt;&#xA;Let $F$ be a generic CNF formula with $n$ variables. Let $S$ be its solution set. Clearly, $|S|$ may be exponential in $n$. Let $R$ be a representation of $S$. $R$ is said to be &lt;em&gt;nice&lt;/em&gt; if and only if the following facts are all true:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;$R$ has polynomial size in $n$.&lt;/li&gt;&#xA;&lt;li&gt;$R$ allows to enumerate the solutions in $S$ with polynomial delay.&lt;/li&gt;&#xA;&lt;li&gt;$R$ allows to determine $|S|$ in polynomial time (i.e. without enumerating all the solutions).&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;It would be great if it is possible, in polynomial time, to build such a $R$ for every formula.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Questions:&lt;/strong&gt;&lt;/p&gt;&#xA;  &#xA;  &lt;ol&gt;&#xA;  &lt;li&gt;Did anyone ever prove that there exists a family of formulas for which such a &lt;i&gt;nice&lt;/i&gt; representation can't exist?&lt;/li&gt;&#xA;  &lt;li&gt;Did anyone study the relationship between the representation of $S$ and the symmetries exhibited by $F$? Intuitively, symmetries should help to compactly represent $S$ because they avoid the explicit representation of a solution subset $S' \subset S$ when $S'$ actually boils down to just one solution (i.e. from every $s_i \in S'$ you can recover every other $s_j \in S'$ by applying a proper symmetry, thus every $s_i \in S'$ is itself representative of the whole $S'$)&lt;/li&gt;&#xA;  &lt;/ol&gt; &#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="947" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2011-03-30T12:57:44.643" Title="Compactly representing the solution set of a SAT instance" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;sat&gt;&lt;counting-complexity&gt;" AnswerCount="2" CommentCount="4" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="2142" PostTypeId="2" ParentId="2126" CreationDate="2010-10-12T19:12:48.803" Score="2" Body="&lt;p&gt;In the spirit of your comment about &quot;pretty good but not necessarily optimal,&quot; I present the following idea with absolutely no guarantee of optimality!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For completeness, here is the pseudocode that you referred to (Remark: the algorithm linked assumes edge capacities are integers between 1 and C and that flow and residual capacity values are integral):&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&#xA;Scaling-Max-Flow(G, s, t, C) {&#xA;   foreach e ∈ E f(e) ← 0&#xA;   Δ ← smallest power of 2 greater than or equal to C&#xA;   G_f ← residual graph&#xA;&#xA;   while (Δ ≥ 1) {&#xA;      G_f(Δ) ← Δ-residual graph&#xA;      while (there exists augmenting path P in G_f(Δ)) {&#xA;         f ← augment(f, C, P)&#xA;         update G_f(Δ)&#xA;      }&#xA;      Δ ← Δ / 2&#xA;   }&#xA;   return f&#xA;}&#xA;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Observe that when $\epsilon$ = 1 ($\epsilon = \Delta$ in the psuedocode), you're just finding paths in shortest to longest order, and when $\epsilon$ is large, you're finding paths in (more or less) fattest to slimmest order. In fact, depending on the instance, the capacity-scaling algorithm finds paths in shortest to longest order within &quot;buckets&quot; of &quot;enough flow.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then, add another input parameter $0 \le \rho \le 1$ that represents how much you care about &quot;fatness&quot; vs &quot;shortness.&quot; In order to ensure we're not massively affecting the runtime, we further require that $\rho$ is a rational number.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then, each time $\epsilon$ is assigned a value, we additionally take the $\rho$-weighted arithmetic mean (I hope that's the correct term..) between 1 and its current value. That is,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\epsilon \leftarrow (\rho)\epsilon + (1-\rho)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For $\rho = 0$, we end up with a pure shortest path algorithm; for $\rho = 1$, we get a pure fattest path algorithm; and for $0 &amp;lt; \rho &amp;lt; 1$ we get something in between. In particular, for some middle value, $\epsilon$ will converge to $\le 1$ more quickly, so you'll get more shortest paths, and fewer fattest paths.&lt;/p&gt;&#xA;" OwnerUserId="108" LastEditorUserId="108" LastEditDate="2010-10-12T19:18:40.447" LastActivityDate="2010-10-12T19:18:40.447" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="2144" PostTypeId="2" ParentId="2141" CreationDate="2010-10-12T20:07:12.700" Score="9" Body="&lt;p&gt;[This answer was in response to the version prior to Revision 6 of 29 Oct 2010.]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think the question more-or-less works now, but there is a technical issue remaining.  Namely, how to formalize &quot;it is trivial to enumerate every single solution by just looking at such structure.&quot;  A perhaps naive formalization (but the only one I could come up with at the moment) is as follows: let $R(\varphi)$ denote the representation of the solution set $S(\varphi)$ of $\varphi$. At the moment I put no restriction on $R$ other than that $|R(\varphi)| \leq poly(n)$ where $\varphi$ is a CNF on $n$ variables. Then we want there to be an algorithm $A$ such that $A(R(\varphi)) = S(\varphi)$ and $A$ on input $R(\varphi))$ runs in time $poly(n, |S|)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Under this formalization, the only difficult cases are the ones where $S$ is super-polynomial but sub-exponential. The remaining cases are handled by the following representation $R$ and algorithm $A$: if $|S| \leq poly(n)$, then let $R(\varphi) = (0, S)$. If $|S| \geq 2^{\Omega(n)}$ then let $R(\varphi) = (1, \varphi)$.  $A(0, S)$ simply outputs $S$, and $A(1, \varphi)$ simply computes $S$ by brute force from $\varphi$. Since $|S| = 2^{\Omega(n)}$ in the latter case, this still runs in time $O(|S|)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, the difficult cases are in general impossible under this formalization. If such an $R$ and $A$ existed, it would mean that the $p$-time-bounded Kolmogorov complexity of every $S$ was bounded by $poly(n)$, which is absurd (since almost all sets $S$ have maximal $p$-time-bounded Kolmogorov complexity, namely $|S|$).  (Here $p$ is the running time of $A$ as a function of $|S|$.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Note that if we additionally require that $R$ run in time $poly(n, |\varphi|)$, then the answer to the question is no in general, assuming $P \neq PromiseUP$: if $\varphi$ has a unique solution, then $A(R(\varphi))$ would solve $\varphi$ and run in time $poly(n)$.&lt;/p&gt;&#xA;" OwnerUserId="129" LastEditorUserId="129" LastEditDate="2010-10-29T17:42:07.963" LastActivityDate="2010-10-29T17:42:07.963" CommentCount="6" ContentLicense="CC BY-SA 2.5" />
  <row Id="2145" PostTypeId="1" AcceptedAnswerId="2203" CreationDate="2010-10-12T20:30:07.780" Score="21" ViewCount="1202" Body="&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Immerman%E2%80%93Szelepcs%C3%A9nyi_theorem&quot;&gt;Immerman and Szelepcsenyi&lt;/a&gt; independently proved that $NL=coNL$. Using their technique of inductive counting, &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=68485&quot;&gt;Borodin et al&lt;/a&gt; proved that $SAC^i$ is closed under complementation, for $i &gt; 0$. Prior to Reingold's theorem ($SL=L$), &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=225101&quot;&gt;Nisan and Ta-Shma&lt;/a&gt; proved $SL=coSL$, using logspace uniform projection reductions. A 1996 &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.22.2351&quot;&gt;paper&lt;/a&gt; of Alvarez and Greenlaw states &quot;A proof of $NL=coNL$ using techniques similar to Nisan and Ta-Shma's has not been achieved although such a proof would be very interesting&quot;. I am wondering if such a proof is found in the last 14 years. Are there any other alternate proofs of $NL=coNL$ ?&lt;/p&gt;&#xA;" OwnerUserId="344" LastEditorUserId="344" LastEditDate="2010-10-13T11:49:24.170" LastActivityDate="2010-10-15T03:03:27.283" Title="Alternate proofs of Immerman-Szelepcsenyi theorem" Tags="&lt;cc.complexity-theory&gt;&lt;space-bounded&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="8" ContentLicense="CC BY-SA 2.5" />
  <row Id="2146" PostTypeId="2" ParentId="608" CreationDate="2010-10-12T20:42:14.130" Score="22" Body="&lt;p&gt;Per a discussion in &lt;a href=&quot;https://cstheory.stackexchange.com/questions/2119/the-reasons-for-bss-real-ram-model-being-prefered-in-computational-geometry&quot;&gt;this question&lt;/a&gt;, many problems in computational geometry have $\Omega(n\log n)$ lower bounds in algebraic decision tree or algebraic computation tree models of computation, stemming from fundamental problems such as sorting or &lt;a href=&quot;http://en.wikipedia.org/wiki/Element_distinctness_problem&quot; rel=&quot;nofollow noreferrer&quot;&gt;element distinctness&lt;/a&gt;. It's not hard to find papers claiming that $O(n\log n)$ upper bounds on related problems such as the construction of Delaunay triangulations are optimal, because they match these lower bounds.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But when the input is specified in integer Cartesian coordinates (as it frequently is in practice, floating point being a bad fit for computational geometry), these lower bounds do not match the computational model. It's perhaps not surprising that orthogonal range search type problems can be solved faster using techniques adapted from integer sorting, but even non-orthogonal problems can often have faster algorithms (that solve the problem exactly, in models of computation allowing integer arithmetic with O(1) times the precision of the input integers). See e.g. &lt;a href=&quot;http://arxiv.org/abs/1010.1948&quot; rel=&quot;nofollow noreferrer&quot;&gt;arXiv:1010.1948&lt;/a&gt; for one set of examples.&lt;/p&gt;&#xA;" OwnerUserId="95" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2010-10-12T20:42:14.130" CommentCount="1" CommunityOwnedDate="2010-10-12T20:42:14.130" ContentLicense="CC BY-SA 2.5" />
  <row Id="2147" PostTypeId="1" AcceptedAnswerId="4696" CreationDate="2010-10-12T20:45:02.430" Score="16" ViewCount="558" Body="&lt;p&gt;&lt;strong&gt;Background&lt;/strong&gt;:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In Subhash Khot's original UGC paper (&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.133.5651&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;nofollow&quot;&gt;PDF&lt;/a&gt;), he proves the UG-hardness of deciding whether a given CSP instance with constraints all of the form Not-all-equal(a, b, c) over a ternary alphabet admits an assignment satisfying 1-$\epsilon$ of the constraints or whether there exist no assignments satisying $\frac{8}{9}+\epsilon$ of the constraints, for arbitrarily small $\epsilon &gt; 0$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm curious whether this result has been generalized for any combination of $\ell$-ary constraints for $\ell \ge 3$ and variable domains of size $k \ge 3$ where $\ell \ne k \ne 3$. That is,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question&lt;/strong&gt;:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;Are there any known hardness of approximation results for the predicate $NAE(x_1, \dots, x_\ell)$ for $x_i \in GF(k)$ for $\ell, k \ge 3$ and $\ell \ne k \ne 3$?&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I'm especially interested in the combination of values $\ell = k$; e.g., the predicate Not-all-equal($x_1, \dots, x_k$) for $x_1 \dots, x_k \in GF(k)$.&lt;/p&gt;&#xA;" OwnerUserId="108" LastEditorUserId="108" LastEditDate="2010-10-12T23:04:19.330" LastActivityDate="2011-02-07T19:17:06.920" Title="UGC hardness of the predicate $NAE(x_1, ..., x_\ell)$ for $x_i \in GF(k)$?" Tags="&lt;cc.complexity-theory&gt;&lt;approximation-hardness&gt;&lt;unique-games-conjecture&gt;&lt;csp&gt;" AnswerCount="3" CommentCount="5" FavoriteCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="2148" PostTypeId="1" AcceptedAnswerId="2352" CreationDate="2010-10-12T21:21:24.223" Score="8" ViewCount="761" Body="&lt;p&gt;The phrases:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;The quick brown fox jumps over the lazy dog [A]&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;and &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;The uick brown fox jumps oower the lazy dog [B]&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;can be compared using Levenshtein Distance algorithm to determine similarity by calculating the minimum number of single character additions, deletions, or replacements are necessary to transform A into B.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm interested to know if there is an intermediate representation, or possibly a coding scheme for the Levenshtein Distance.  Not for use between two phrases, but just a coding applied to a single phrase such that character index does not affect comparisons.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In B, the 'q' is missing compared to A.  A normal string comparison would match &lt;code&gt;'The '&lt;/code&gt; and then fail at &lt;code&gt;'uick brown fox...'&lt;/code&gt; merely because of a single character offset.  The Levenshtein Distance could be used to compare it to the original phrase A for a more forgiving comparison, but in my case, I won't have two phrases, just one.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, I'm looking for some way of unambiguously coding a sentence in &lt;em&gt;packets&lt;/em&gt; of information, little atoms of truth (I'm thinking one packet per character?) that maintain a local ordering and so-on, but if some of the packets are wrong, it doesn't affect later characters.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Each unique phrase should map to one and only one unique encoding/intermediate representation, Sets &lt;code&gt;A'&lt;/code&gt; and &lt;code&gt;B'&lt;/code&gt;.  Computing the Levenshtein Distance of A and B would then be the same as computing the intersection of sets &lt;code&gt;A' = B'&lt;/code&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Alternatively - if this problem does not have a solution (and this sure maps to a well-trodden area of research, I wouldn't be surprised), some convincing argument/proof for its unsolvability.&lt;/p&gt;&#xA;" OwnerUserId="509" LastEditorUserId="509" LastEditDate="2010-10-20T22:49:38.263" LastActivityDate="2010-10-21T04:07:13.363" Title="Intermediate/Coding representation for Levenshtein Distance" Tags="&lt;string-matching&gt;&lt;edit-distance&gt;" AnswerCount="4" CommentCount="7" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="2149" PostTypeId="1" AcceptedAnswerId="2183" CreationDate="2010-10-13T01:13:25.500" Score="31" ViewCount="1543" Body="&lt;p&gt;One of the holy grails of algorithm design is finding a &lt;em&gt;strongly polynomial&lt;/em&gt; algorithm for linear programming, i.e., an algorithm whose runtime is bounded by a polynomial in the number of variables and constraints and is independent of the size of the representation of the parameters (assuming unit cost arithmetic).  Would resolving this question have implications outside of better algorithms for linear programming?  For instance, would the existence/non-existence of such an algorithm have any consequences for geometry or complexity theory?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit:&lt;/strong&gt; Maybe I should clarify what I mean by consequences.  I'm looking for mathematical consequences or conditional results, implications that are known to be true &lt;em&gt;now&lt;/em&gt;.  For instance: &quot;a polynomial algorithm for LP in the BSS model would separate/collapse algebraic complexity classes FOO and BAR&quot;, or &quot;if there is no strongly polynomial algorithm then it resolves such-and-such conjecture about polytopes&quot;, or &quot;a strongly polynomial algorithm for problem X which can be formulated as an LP would have interesting consequence &lt;em&gt;blah&lt;/em&gt;&quot;.  The Hirsch conjecture would be a good example, except that it only applies if simplex is polynomial.&lt;/p&gt;&#xA;" OwnerUserId="205" LastEditorUserId="186" LastEditDate="2010-10-24T04:52:09.730" LastActivityDate="2010-10-24T04:52:09.730" Title="Consequences of existence of a strongly polynomial algorithm for linear programming?" Tags="&lt;ds.algorithms&gt;&lt;conditional-results&gt;&lt;linear-programming&gt;&lt;computing-over-reals&gt;&lt;simplex&gt;" AnswerCount="3" CommentCount="1" FavoriteCount="7" ContentLicense="CC BY-SA 2.5" />
  <row Id="2150" PostTypeId="2" ParentId="2149" CreationDate="2010-10-13T02:04:27.313" Score="5" Body="&lt;p&gt;Here is one consequence for geometry : A strongly-polynomial bound for any variant (randomized or deterministic) of simplex algorithm implies a polynomial bound on the diameter of any polytope graph. This implies that the &quot;polynomial version&quot; of &lt;a href=&quot;http://en.wikipedia.org/wiki/Hirsch_conjecture&quot; rel=&quot;nofollow&quot;&gt;Hirsch conjecture&lt;/a&gt; is true.&lt;/p&gt;&#xA;" OwnerUserId="344" LastActivityDate="2010-10-13T02:04:27.313" CommentCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="2151" PostTypeId="2" ParentId="2136" CreationDate="2010-10-13T02:30:18.797" Score="13" Body="&lt;p&gt;I think the following example spawned a lot of research which had results of the kind you are looking for, at least if I follow the spirit of your LLL example.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Robert E. Schapire. The strength of weak learnability. Machine Learning, 5(2):197-227, 1990.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This paper resolved the question: are strong and weak PAC learning equivalent?  I can not tell you for certain whether the people in that circle (Schapire, Valiant, Kearns, Avrim Blum, ..) felt strongly one way or another (i.e. if this is already an instance of what you seek), though I have some suspicions, and you can form your own by looking at the papers around then.  Briefly (and approximately/probably), a problem is PAC learnable (by a hypothesis class, for a distribution) if, for any $\epsilon&gt;0, \delta&gt;0$, there exists an ('efficient') algorithm which can produce with probability at least $1-\delta$ a hypothesis with error at most $\epsilon$.  If you could satisfy the $\epsilon$ but not the $\delta$, then as long as $\delta$ was not trivial ('triviality' depends on some details, since i'm leaving out the meaning of 'efficient'), repeated trials would boost the confidence $\delta$.  But if instead you could only achieve some $\gamma$ advantage over&#xA;random guessing (same 'triviality' condition applies), could you somehow cleverly boost this result to attain arbitrarily good error?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Anyway, things became very interesting after Schapire's paper.  His solution produced a majority-of-majority over hypotheses in the original class.  Then came:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Yoav Freund. Boosting a weak learning algorithm by majority. Information and Computation, 121(2):256--285, 1995.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This paper had a 'reproof' of Schapire's result, but now the constructed hypothesis used only a single majority.  Along these lines, the two then produced another reproof, called AdaBoost:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Yoav Freund and Robert E. Schapire. A decision-theoretic generalization of on-line learning and an application to boosting. Journal of Computer and System Sciences, 55(1):119-139, 1997.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The weak/strong learning question started out as a primarily theoretical concern, but this sequence of 'reproofs' resulted in a beautiful algorithm, one of the most influential results in machine learning.  I could go off on all sorts of tangents here but will restrain myself.  In the context of TCS, these results breath a lot of life in the context of (1) multiplicative weight algorithms and (2) hard-core set results.  About (1), I'd just like to clarify that AdaBoost can be seen as an instance of the multiplicative weights / winnow work of Warmuth/Littlestone (Freund was a Warmuth student), but there is a lot of new insight in the boosting results.  About (2), I'd like to clarify that although Russell Impagliazzo was graduating Berkeley around when Kearns was visiting and the Kearns+Vazirani learning theory book appeared (Kearns had thought a lot about boosting, and material appeared in the book), I have a few reasons to believe that Russell produced his results essentially independently (further work along these lines relied on the Boosting results more closely).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For historical accuracy I should also say that the dates on my citations are maybe not what some people would expect, since for a few of these there were earlier conference versions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Back to the nature of your question.  The key value of 'rigor' here was in providing the hypothesis class one learns over (weighted majorities over the original hypothesis class) and efficient algorithms to find them.&lt;/p&gt;&#xA;" OwnerUserId="336" LastEditorUserId="336" LastEditDate="2010-10-13T02:41:10.533" LastActivityDate="2010-10-13T02:41:10.533" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2152" PostTypeId="2" ParentId="2136" CreationDate="2010-10-13T03:05:20.130" Score="35" Body="&lt;p&gt;András, as you probably know, there are so many examples of what you're talking about that it's almost impossible to know where to start!  However, I think this question can actually be a good one, if people give examples &lt;i&gt;from their own experience&lt;/i&gt; where the proof of a widely-believed conjecture in their subarea led to new insights.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;When I was an undergrad, the first real TCS problem I tackled was this: what's the fastest quantum algorithm to evaluate an OR of &amp;radic;n ANDs of &amp;radic;n Boolean variables each?  It was painfully obvious to me and everyone else I talked to that the best you could do would be to apply Grover's algorithm recursively, both to the OR and to the ANDs.  This gave an O(&amp;radic;n log(n)) upper bound.  (Actually you can shave off the log factor, but let's ignore that for now.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To my enormous frustration, though, I was unable to prove any lower bound better than the trivial &amp;Omega;(n&lt;sup&gt;1/4&lt;/sup&gt;).  &quot;Going physicist&quot; and &quot;handwaving the answer&quot; never looked more appealing! :-D&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But then, a few months later, Andris Ambainis came out with his &lt;a href=&quot;http://arxiv.org/abs/quant-ph/0002066&quot;&gt;quantum adversary method&lt;/a&gt;, whose main application at first was a &amp;Omega;(&amp;radic;n) lower bound for the OR-of-ANDs.  To prove this result, Andris imagined feeding a quantum algorithm a &lt;i&gt;superposition&lt;/i&gt; of different inputs; he then studied how the entanglement between the inputs and the algorithm increased with each query the algorithm made.  He showed how this approach let you lower-bound quantum query complexity even for &quot;messy,&quot; non-symmetric problems, by using only very general combinatorial properties of the function f that the quantum algorithm was trying to compute.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Far from just confirming that the quantum query complexity of one annoying problem was what everyone expected it to be, these techniques turned out to represent one of the biggest advances in quantum computing theory since Shor's and Grover's algorithms.  They've since been used to prove dozens of other quantum lower bounds, and were even repurposed to obtain new &lt;i&gt;classical&lt;/i&gt; lower bounds.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course, this is &quot;just another day in the wonderful world of math and TCS.&quot;  Even if everyone &quot;already knows&quot; X is true, proving X very often requires inventing new techniques that then get applied far beyond X, and in particular to problems for which the right answer was much less obvious &lt;i&gt;a priori&lt;/i&gt;.&lt;/p&gt;&#xA;" OwnerUserId="1575" LastEditorUserId="1575" LastEditDate="2010-10-13T03:20:35.837" LastActivityDate="2010-10-13T03:20:35.837" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2153" PostTypeId="2" ParentId="2136" CreationDate="2010-10-13T03:49:06.177" Score="20" Body="&lt;p&gt;Another good example of rigor (and new techniques) being needed to prove statements that were believed to be true: smoothed analysis. Two cases in point:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The simplex algorithm&lt;/li&gt;&#xA;&lt;li&gt;The k-means algorithm&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;For both methods, it was &quot;well known&quot; that they worked well in practice, and for the first, it was known that it took worst-case exponential time. Smoothed analysis can be seen as having &quot;explained&quot; the good empirical behavior in both cases. In the second, while it was known that the worst-case complexity of $k$-means was $O(n^{c \cdot kd})$, it was not known whether there were lower bounds that were exponential in $n$, and now we know that's true, even in the plane ! &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2010-10-13T03:49:06.177" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2154" PostTypeId="2" ParentId="2149" CreationDate="2010-10-13T04:00:44.597" Score="8" Body="&lt;p&gt;It depends on the answer. If the algorithm created has running time $(d n)^{Ackerman(10000)}$, then it would have very little impact. On the other hand, if it leads to a new way to solve LPs it might have tremendous impact. For example, if I remember the history correctly (and I might be &lt;em&gt;completely wrong&lt;/em&gt;) the ellipsoid algorithm for example, besides its theoretical significance, lead (?) to the development of the interior point method, which was faster in some cases than the simplex algorithm. This lead to significant speedup in practice, as both approaches were squeezed for the maximum limit of what can be done.&lt;/p&gt;&#xA;" OwnerUserId="9594" LastActivityDate="2010-10-13T04:00:44.597" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="2155" PostTypeId="1" CreationDate="2010-10-13T04:24:40.067" Score="10" ViewCount="230" Body="&lt;p&gt;Statistical tests are used to check whether a source of randomness is &quot;good&quot;. &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.39.917&quot;&gt;Blum and Goldreich (1992)&lt;/a&gt; mentioned two types of statistical tests : (1) deterministic polynomial time statistical tests and (2) logspace statistical tests. They also state that &quot;all the statistical tests used in practice can be implemented by logspace machines&quot;. To give some examples, &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=509996&quot;&gt;Sivakumar&lt;/a&gt; showed that the statistical tests corresponding to set discrepancy problem, lattice approximation problem and &lt;a href=&quot;http://en.wikipedia.org/wiki/Johnson%E2%80%93Lindenstrauss_lemma&quot;&gt;Johnson-Lindenstrauss Lemma&lt;/a&gt; can be implemented by a logspace machine with an index tape and an advice tape.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am looking for statistical tests that are in $LogCFL$ but not known to be in logspace. Are there any such tests ?&lt;/p&gt;&#xA;" OwnerUserId="344" LastActivityDate="2010-10-13T04:24:40.067" Title="Statistical tests between L and LogCFL" Tags="&lt;cc.complexity-theory&gt;&lt;space-bounded&gt;" AnswerCount="0" CommentCount="0" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="2156" PostTypeId="2" ParentId="2132" CreationDate="2010-10-13T04:48:51.397" Score="-1" Body="&lt;p&gt;I am not expert here . Any way I give a try here&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For merge operation&#xA;,Find the largest element in $S1$ say $w$ (log(n)), we know that it does not contain right child as it is the largest element. we know that every element in $S2$ is greater than $w2$. surely $root(S1)$ will be &gt;= $w$ so make $right(w)-&gt;root(S1)$ which is order of O(1)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For Spit operation&#xA;Search the element $k$ in $S$ (logn) we know that. we reach at the node say $y$ we know that all elements in $right(y)$ will give greater than $k$ .$right(y)$ be the new $S2$ tree and $S$ without $right(y)$ will be $S1$ &lt;/p&gt;&#xA;&#xA;&lt;p&gt;i do not think merge function or split can be done in constant time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Sorry if it is wrong  &lt;/p&gt;&#xA;" OwnerUserId="851" LastActivityDate="2010-10-13T04:48:51.397" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="2157" PostTypeId="2" ParentId="2141" CreationDate="2010-10-13T07:21:08.557" Score="10" Body="&lt;p&gt;As stated (revision 3), the question has a simple answer: no.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The reason is that even for the highly restricted class of representations given by Boolean circuits with AND, OR, and NOT gates, no nontrivial lower bounds are known.  (Clearly a circuit that represents $F$ will also represent $S$ implicitly, and it is easy to enumerate the solutions by changing the inputs to the circuit.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For even more restricted representations, like monotone or constant depth circuits, exponential lower bounds are known.  There are also exponential lower bounds for representing formulas in CNF or DNF form, although these can be seen as special cases of constant depth circuits.  Finally, BDD representations can be seen as compact forms of DNF, but there exist formulas for which the BDD requires exponential size for any variable ordering.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To make your question more precise, please consider @Joshua's answer in some detail, and please clarify what you mean by &quot;trivial to enumerate every single solution&quot;.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;For revision 4, note the statement about BDD size.  Part of what you seem to be asking is: is there a &lt;em&gt;more compact&lt;/em&gt; representation of DNF formulas than BDDs?  Let &quot;BDD $B$ has superpolynomial size&quot; mean &quot;every BDD representing the same function as $B$, regardless of variable ordering, has superpolynomial size&quot;, and let &quot;nice representation&quot; mean &quot;a representation that allows solutions to be enumerated with polynomial delay&quot;.  This more specific question then becomes:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;is there a family of formulas and a nice representation that has polynomial size while its BDDs have superpolynomial size?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Does this capture the essence of what you are asking?&lt;/p&gt;&#xA;" OwnerUserId="109" LastEditorUserId="109" LastEditDate="2010-10-13T09:34:30.710" LastActivityDate="2010-10-13T09:34:30.710" CommentCount="6" ContentLicense="CC BY-SA 2.5" />
  <row Id="2158" PostTypeId="1" AcceptedAnswerId="4967" CreationDate="2010-10-13T08:03:48.743" Score="17" ViewCount="519" Body="&lt;p&gt;A distribution $\mathcal{D}$ is said to $\epsilon$-fool a function $f$ if $|E_{x\in U}(f(x)) - E_{x\in \mathcal{D}}(f(x))| \leq \epsilon$. And it is said to fool a class of functions if it fools every function in that class. &lt;br&gt;&lt;br&gt;&#xA;It is known that $\epsilon$-biased spaces fool the class of parities over subsets. (see &lt;a href=&quot;http://www.wisdom.weizmann.ac.il/~oded/p_aghp.html&quot;&gt;Alon-Goldreich-Hastad-Peralta&lt;/a&gt; for some nice constructions of such spaces). The question I want to ask is a generalization of this to arbitrary symmetric functions. &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Question:&lt;/strong&gt; Suppose we take the class of arbitrary symmetric functions&#xA;  over some subset, do we have&#xA;  distribution (with small support) that&#xA;  fools this class?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Some small observations: &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;It is sufficient to fool exact thresholds ($\text{ETh}^S_k(x)$ is 1 if and only if $x$ has exactly $k$ ones amongst the indices in $S$). Any distribution that $\epsilon$-fools these exact thresholds will $n\epsilon$ fool all symmetric functions over $n$ bits. (This is because every symmetric function can be written as a real linear combination of these exact thresholds where the coefficients in the combination are either 0 or 1. Linearity of expectation then gives us what we want)&lt;br&gt;&lt;br&gt;&#xA;A similar argument also works for general thresholds ($\text{Th}^S_k(x)$ is 1 if and only if $x$ has at least $k$ ones amongst the indices in $S$)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;There is an explicit construction of a distribution with support $n^{O(\log n)}$ via &lt;a href=&quot;http://www.cs.huji.ac.il/~noam/sc.ps&quot;&gt;Nisan's PRG for LOGSPACE&lt;/a&gt;. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Arbitrary $\epsilon$-biased spaces will not work. For example if $S$ is the set of all $x$ such that the number of ones in x is non-zero mod 3, this is actually $\epsilon$-biased for very small $\epsilon$ (from a &lt;a href=&quot;http://www.eccc.uni-trier.de/report/2006/107/&quot;&gt;result of Arkadev Chattopadyay&lt;/a&gt;).   But clearly this does not fool the MOD3 function. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;An interesting subproblem may be the following: suppose we just want to fool symmetric functions over &lt;em&gt;all n indices&lt;/em&gt;, do we have a nice space? By the above observations, we just need to fool the threshold functions over $n$-bits, which is just a family of $n+1$ functions. Thus one can just pick the distribution by brute-force. But are there nicer examples of spaces that fool $\text{Th}^{[n]}_k$'s for every $k$? &lt;/p&gt;&#xA;" OwnerUserId="877" LastActivityDate="2011-02-17T19:01:10.297" Title="Fooling arbitrary symmetric functions" Tags="&lt;cc.complexity-theory&gt;&lt;derandomization&gt;&lt;space-bounded&gt;&lt;pseudorandomness&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="2159" PostTypeId="1" AcceptedAnswerId="2176" CreationDate="2010-10-13T08:35:22.973" Score="7" ViewCount="490" Body="&lt;p&gt;In a system that uses HMAC for a number of different applications, it is important to use different keys for different applications.  Suppose:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;there is just a single random string available (50 bytes long, in this case) &lt;/li&gt;&#xA;&lt;li&gt;we are using HMAC-SHA1 &lt;/li&gt;&#xA;&lt;li&gt;we will shorten keys longer than the blocksize using SHA1 (as per RFC 2104)&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Is it safe to generate unique keys by prefixing the application name to the secret, so that the key for application 1 ends up as SHA1(&quot;application1&quot; + secret) and the key for application 2 ends up as SHA1(&quot;application2&quot; + secret)? The strings &quot;application1&quot; and &quot;application2&quot; are not kept secret. Or does this open up significant weaknesses compared to using completely different secret keys for each application?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks.&lt;/p&gt;&#xA;" OwnerUserId="1745" LastActivityDate="2010-10-13T18:34:44.153" Title="Creating HMAC keys using a fixed prefix and a random string" Tags="&lt;cr.crypto-security&gt;" AnswerCount="3" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="2160" PostTypeId="1" CreationDate="2010-10-13T09:28:22.833" Score="12" ViewCount="1083" Body="&lt;p&gt;I am in my second year in a MSc that doesn't relate too much with TCS though I wish it would. It's basically about control theory, signals and systems and I took classes in advanced systems (robust, nonlinear, optimal, stochastic), advanced signal processing and convex optimization.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am trying to figure out a good area to tackle for my dissertation paper and I was wondering whether I can somehow relate to some TCS subject.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The only area that I can think of it could relate is optimization, but I don't have anything particular in mind, the whole subject being very interesting.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It would be great if you could share which topic you think belongs to both worlds.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;PS: This question might be totally out of the scope of this Q&amp;amp;A site, so I totally agree if you feel like it's worth closing. Thanks!&lt;/p&gt;&#xA;" OwnerUserId="1545" LastEditorUserId="1545" LastEditDate="2010-10-13T10:31:05.967" LastActivityDate="2010-10-14T12:13:59.023" Title="Interdisciplinary topics between control theory and theoretical computer science" Tags="&lt;reference-request&gt;&lt;soft-question&gt;" AnswerCount="7" CommentCount="3" FavoriteCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="2161" PostTypeId="2" ParentId="2160" CreationDate="2010-10-13T09:52:08.143" Score="7" Body="&lt;p&gt;You might want to see if there are any problems in verifying hybrid systems (aka cyberphysical systems) that you want to tackle. The interaction of discrete control with continuous systems is pretty fascinating, and lets you add some logic and model theory to control theory, and it has many useful applications, too (ie, any time a computer interacts with the world!). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://symbolaris.com/index.html&quot; rel=&quot;nofollow&quot;&gt;Andre Platzer's homepage&lt;/a&gt; has a pretty good summary of this area. &lt;/p&gt;&#xA;" OwnerUserId="657" LastActivityDate="2010-10-13T09:52:08.143" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2162" PostTypeId="1" CreationDate="2010-10-13T11:17:57.673" Score="9" ViewCount="444" Body="&lt;p&gt;I specifically mean language families that admit arbitrarily long strings -- not conjunctions over n bits or decision lists or any other &quot;simple&quot; language contained in {0,1}^n.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am asking about &quot;automata-theoretic&quot; regular languages as opposed to &quot;logic-theoretic&quot; ones: something like the piecewise testable languages, start-height-zero languages, locally testable languages, that sort of thing. The relevant complexity parameter n is the size of the minimal accepting DFA. So, succinctly put: is there an interesting family of n-state DFAs that is known to be efficiently PAC learnable?&lt;/p&gt;&#xA;" OwnerUserId="1746" LastEditorUserId="80" LastEditDate="2010-10-13T15:01:32.687" LastActivityDate="2013-03-18T23:34:06.330" Title="Are there families of formal languages known to be truly PAC learnable?" Tags="&lt;automata-theory&gt;&lt;machine-learning&gt;&lt;lg.learning&gt;" AnswerCount="2" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="2163" PostTypeId="2" ParentId="2160" CreationDate="2010-10-13T13:07:48.847" Score="6" Body="&lt;p&gt;Another possible connection to explore is the use of coinduction and coalgebraic techniques for reasoning about control theoretic systems. &lt;a href=&quot;http://homepages.cwi.nl/~janr/papers/&quot; rel=&quot;nofollow&quot;&gt;Jan Rutten&lt;/a&gt; did some work in this directions some years ago, namely:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;J.J.M.M. Rutten &lt;em&gt;Coalgebra, concurrency, and control.&lt;/em&gt; In: R. Boel and G. Stremersch (eds.), Discrete Event Systems (analysis and control), Proceedings of WODES 2000 (5th Workshop on Discrete Event Systems), Kluwer, 2000, pp. 31--38.  (This link to the paper seems to be broken, though).&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The coalgebraic tecnology has advanced in the last 10 years, though I don't know whether the connection has been further explored. &lt;strong&gt;Edit&lt;/strong&gt; &lt;a href=&quot;http://www.math.cas.cz/~komenda/&quot; rel=&quot;nofollow&quot;&gt;Jan Komenda&lt;/a&gt; (and &lt;a href=&quot;http://www.informatik.uni-trier.de/~ley/db/indices/a-tree/k/Komenda%3aJan.html&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;) seems to have been following up the connection. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Other possible approaches could involve using process algebra, I/O automata, interface automata, and hybrid variants of these things. The interface automata have a very strong &lt;em&gt;game theoretic&lt;/em&gt; feeling which corresponds closely to somethings done in control theory, namely, the distinction between controllable and uncontrollable actions can be though of as actions being played by two different players. I'm not sure whether anything has been done in that area. The connection seems quite obvious. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A final connection that could be worth exploring is between control theory and epistemic logic. The connection can be seen via the games analogy. What does each party know? How can they use that to achieve a suitable outcome in the system being controlled?&lt;/p&gt;&#xA;" OwnerUserId="77" LastEditorUserId="77" LastEditDate="2010-10-14T07:57:15.970" LastActivityDate="2010-10-14T07:57:15.970" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2164" PostTypeId="2" ParentId="2083" CreationDate="2010-10-13T13:25:37.983" Score="10" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;In general, for what powers of $k$&#xA;  represented in base $r$, is the set&#xA;  regular?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Your question is a subcase of &lt;strong&gt;Cobham's Theorem&lt;/strong&gt; (Alan Cobham, On the base-dependence of sets of numbers recognizable by finite automata, &lt;em&gt;Theory of Computing Systems&lt;/em&gt; 3(2):186--192, 1969, &lt;a href=&quot;http://dx.doi.org/10.1007/BF01746527&quot; rel=&quot;noreferrer&quot;&gt;doi: 10.1007/BF01746527&lt;/a&gt;):&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Let $S$ be a set of non-negative integers and let $m$ and $n$ be multiplicatively independent positive integers. Then $S$ is recognizable by finite automata&#xA;  in both $m$-ary and $n$-ary notation if and only if it is ultimately periodic&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Here by &lt;em&gt;multiplicatively independent&lt;/em&gt; one means there does not exist non-zero $p$ and $q$ such that $m^p=n^q$.  Cobham cites Büchi for your specific case of powers of some $k$ in base $r$, which is recognizable only if $k$ and $r$ are multiplicatively &lt;em&gt;dependent&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you are interested in this result, there is a rather nice survey by Véronique Bruyère, Georges Hansel, Christian Michaux, and Roger Villemaire (Logic and $p$-recognizable sets of integers, &lt;em&gt;Bulletin of the Belgian Mathematical Society&lt;/em&gt; 1(2), 1994, &lt;a href=&quot;http://www.emis.ams.org/journals/BBMS/Bulletin/bul942/BRU.PDF&quot; rel=&quot;noreferrer&quot;&gt;PDF&lt;/a&gt;), which also shows the relationship with Presburger arithmetic. &lt;/p&gt;&#xA;" OwnerUserId="609" LastActivityDate="2010-10-13T13:25:37.983" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2165" PostTypeId="2" ParentId="2136" CreationDate="2010-10-13T13:26:02.703" Score="27" Body="&lt;p&gt;Parallel repetition is a nice example from my area:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;A Brief explanation of parallel repetition.&lt;/strong&gt;&#xA;Suppose you have a two-prover proof system for a language $L$: Given input $x$, known to everyone, a verifier sends question $q_1$ to prover 1, and question $q_2$ to prover 2. The provers answer with answers $a_1$ and $a_2$, respectively, without communicating. &#xA;The verifier performs some check on $a_1$ and $a_2$ (depending on $q_1,q_2$) and decides whether to accept or reject. &#xA;If $x\in L$, there exists a provers strategy that the verifier always accepts.&#xA;If $x\not\in L$, for any provers strategy, the verifier accepts with probability at most $s$ (&quot;error probability&quot;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now suppose we want a smaller error probability. Maybe $s$ is close to $1$, and we want $s = 10^{-15}$. A natural approach would be &lt;em&gt;parallel repetition&lt;/em&gt;: let the verifier send $k$ independent questions to each prover, $q_1^{(1)},\ldots,q_1^{(k)}$ and $q_2^{(1)},\ldots,q_2^{(k)}$, receive k answers from the provers $a_1^{(1)},\ldots,a_1^{(k)}$ and $a_1^{(1)},\ldots,a_1^{(k)}$, and performs $k$ checks on the answers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;The history.&lt;/strong&gt; At first, it was &quot;clear&quot; that the error probability had to decrease like $s^{k}$, just as if the verifier would have made $k$ sequential checks. The legend says it was given to a student to prove, before it was realized that the &quot;obvious&quot; statement is simply false. Here is an exposition of a counterexample:&#xA;&lt;a href=&quot;http://www.cs.washington.edu/education/courses/cse533/05au/na-game.pdf&quot;&gt;http://www.cs.washington.edu/education/courses/cse533/05au/na-game.pdf&lt;/a&gt;.&#xA;It took a while (and several weaker results), before Ran Raz finally confirmed that the error probability indeed decreases exponentially, but has a slightly complicated behavior: it is $s^{\Omega(k/\log|\Sigma|)}$, where the alphabet $\Sigma$ is the set of possible provers answers in the original system.&#xA;The proof used information theoretic ideas, and was said to be inspired by an idea of Razborov in communication complexity. A messy part of Ran's original proof was later beautifully simplified by Thomas Holenstein, resulting in one of my favorite proofs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Insights for the problem and more consequences.&lt;/strong&gt; First there are the immediate things: a better understanding of the quantitative behavior of parallel repetition, and the role that the alphabet $\Sigma$ plays, a better understanding of when the provers can use the parallel questions to cheat, a better understanding of the importance of independence in parallel repetition between the $k$ pairs of questions (later formalized by Feige and Kilian).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then, there are the extensions that became possible: Anup Rao was able to adapt the analysis to show that when the original proof system is a {\em projection game}, i.e., the answer of the first prover determines at most one acceptable answer of the second prover, there is no dependence on the alphabet at all, and the constant in the exponent can be improved. This is important because most hardness of approximation results are based on projection games, and unique games are a special case of projection games. There are also quantitative improvements in games on expanders (by Ricky Rosen and Ran Raz), and more. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then, there are the far-reaching consequences. Just a few examples: &#xA;An information theoretic lemma from Raz's paper was used in many other contexts (in cryptography, in equivalence of sampling and searching, etc). &#xA;The &quot;correlated sampling&quot; technique that Holenstein used was applied in many other works (in communication complexity, in PCP, etc). &lt;/p&gt;&#xA;" OwnerUserId="1621" LastEditorUserId="1621" LastEditDate="2011-05-25T19:56:00.917" LastActivityDate="2011-05-25T19:56:00.917" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="2166" PostTypeId="2" ParentId="2119" CreationDate="2010-10-13T13:51:16.120" Score="16" Body="&lt;p&gt;It is not quite true that the real RAM / BSS model is equivalent to the algebraic computation tree model. The latter is more powerful because a polynomial depth tree can be of exponential size. This gives a lot of room for encoding non-uniform information.&#xA;For instance,  Meyer auf der Heide has shown that algebraic (even linear) decision trees can solve efficiently hard problems such as subset sum, but this is (conjecturally) impossible in the real RAM / BSS model.&lt;/p&gt;&#xA;" OwnerUserId="1748" LastActivityDate="2010-10-13T13:51:16.120" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2167" PostTypeId="2" ParentId="2159" CreationDate="2010-10-13T13:51:46.573" Score="4" Body="&lt;p&gt;Let's put it more formally first. Let $s$, $t$ be strings known to the adversary, and $k$ be a secret key. Let $k_1$ and $k_2$ be the keys obtained as $k_1 = H(s|k)$ and $k_2 = H(t|k)$ respectively, where $H(\cdot)$ is a collision-resistant hash function, and $|$ denotes the concatenation. The question is, &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is function $f_i(\cdot)=HMAC(\cdot, k_i)$ a MAC?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The answer is yes. I don't have a formal proof, yet the following reasoning seems just fine (see also &lt;a href=&quot;https://cstheory.stackexchange.com/q/17/873&quot;&gt;this topic&lt;/a&gt;): &#xA;Given $s$ and $t$, and keeping $k$ secret, the adversary will be unable to deduce $k_1$ or $k_2$ with non-negligible probability. Lacking access to $k_i$, the key to HMAC, function $f_i$ will indeed act as a MAC.&lt;/p&gt;&#xA;" OwnerUserId="873" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2010-10-13T13:51:46.573" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="2168" PostTypeId="1" AcceptedAnswerId="2171" CreationDate="2010-10-13T14:31:37.197" Score="30" ViewCount="1571" Body="&lt;p&gt;Consider the 3-SAT problem on n variables.  The number of possible distinct clauses is: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$C = 2n \times 2(n-1) \times 2(n -2) / 3! = 4 n(n-1)(n-2)/3 \text.$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The number of problem instances is the number of all subsets of the set of possible clauses: $I = 2^C$.  Trivially, for each $n \ge 3$, there exist at least one satisfiable instance and one unsatisfiable instance.&#xA;Is it possible to calculate, or at least estimate, the number of satisfiable instance for any given n?&lt;/p&gt;&#xA;" OwnerUserId="1749" LastEditorUserId="1800" LastEditDate="2011-03-30T01:17:05.830" LastActivityDate="2011-03-30T01:17:05.830" Title="How many instances of 3-SAT are satisfiable?" Tags="&lt;cc.complexity-theory&gt;&lt;sat&gt;" AnswerCount="3" CommentCount="4" FavoriteCount="7" ContentLicense="CC BY-SA 2.5" />
  <row Id="2169" PostTypeId="2" ParentId="2160" CreationDate="2010-10-13T14:31:57.450" Score="5" Body="&lt;p&gt;Robotics (or as it is all too often called these days, &quot;cyberphysical systems&quot;) is a good source of problems that require both control theory and algorithms.  See Steve Lavalle's &lt;a href=&quot;http://planning.cs.uiuc.edu/&quot; rel=&quot;nofollow&quot;&gt;&lt;em&gt;Planning Algorithms&lt;/em&gt;&lt;/a&gt; for a good intro.&lt;/p&gt;&#xA;" OwnerUserId="111" LastActivityDate="2010-10-13T14:31:57.450" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2170" PostTypeId="1" AcceptedAnswerId="2182" CreationDate="2010-10-13T14:33:42.537" Score="11" ViewCount="414" Body="&lt;p&gt;Let $D$ be a distribution over bitstring/label pairs $\{0,1\}^d\times \{0,1\}$ and let $C$ be a collection of boolean valued functions $f:\{0,1\}^d\rightarrow\{0,1\}$. For each function $f \in C$, let:&#xA;$$err(f,D) = \Pr_{(x,y) \sim D}[f(x) \neq y]$$&#xA;and let:&#xA;$$OPT(C,D) = \min_{f \in C}\ err(f,D)$$&#xA;Say that an algorithm $A$ agnostically learns $C$ over any distribution, if for any $D$ it can with probability $2/3$ find a function $f$ such that $err(f,D) \leq OPT(C,D) + \epsilon$, given time and a number of samples from $D$ that is bounded by a polynomial in $d$ and $1/\epsilon$. &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Question: What classes of functions $C$ are known to be agnostically learnable over arbitrary distributions?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;No class is too simple! I know that even monotone conjunctions are not known to be agnostically learnable over arbitrary distributions, so I'm just looking for nontrivial classes of functions.&lt;/p&gt;&#xA;" OwnerUserId="25" LastActivityDate="2014-02-01T19:24:54.193" Title="Agnostic learning over arbitrary distributions" Tags="&lt;reference-request&gt;&lt;machine-learning&gt;&lt;lg.learning&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2171" PostTypeId="2" ParentId="2168" CreationDate="2010-10-13T14:59:38.260" Score="29" Body="&lt;p&gt;A long history of work on phase transitions in SAT has shown that for any fixed $n$, there's a threshold parametrized by the ratio of number of clauses to $n$ that decides satisfiability. Roughly speaking, if the ratio is less than 4.2, then with overwhelming probability the instance is satisfiable (and so a huge fraction of the number of instances with these many clauses and variables are satisfiable). If the ratio is slightly above 4.2, then the reverse holds - an overwhelming fraction of instances are unsatisfiable. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The references are way too many to cite here: one source of information is the book by &lt;a href=&quot;http://tinyurl.com/2fg7zrk&quot;&gt;Mezard and Montanari&lt;/a&gt;. If anyone has sources for surveys etc on this topic, they could post it in comments or edit this answer (I'll make it CW)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;References:&#xA; &lt;br&gt;- &lt;a href=&quot;http://users.soe.ucsc.edu/~optas/papers/handbook.pdf&quot;&gt;Achlioptas survey&lt;/a&gt;&#xA; &lt;br&gt;- &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.97.3555&amp;amp;rep=rep1&amp;amp;type=pdf&quot;&gt;Where the really hard problems are&lt;/a&gt;&#xA; &lt;br&gt;- &lt;a href=&quot;http://www.sciencedirect.com/science?_ob=MImg&amp;amp;_imagekey=B6TYF-3VSNHP6-7-2&amp;amp;_cdi=5617&amp;amp;_user=10&amp;amp;_pii=000437029500050X&amp;amp;_origin=search&amp;amp;_coverDate=03%2F31%2F1996&amp;amp;_sk=999189998&amp;amp;view=c&amp;amp;wchp=dGLbVtz-zSkzS&amp;amp;md5=ea1631da6d29e7e1712e56f66d274ff7&amp;amp;ie=/sdarticle.pdf&quot;&gt;Refining the phase transition in combinatorial search&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="80" LastEditorUserId="947" LastEditDate="2010-10-25T12:38:27.437" LastActivityDate="2010-10-25T12:38:27.437" CommentCount="3" CommunityOwnedDate="2010-10-13T14:59:38.260" ContentLicense="CC BY-SA 2.5" />
  <row Id="2172" PostTypeId="2" ParentId="2160" CreationDate="2010-10-13T15:50:42.177" Score="9" Body="&lt;p&gt;Since you mentioned signal processing, you should look at the area of &lt;a href=&quot;http://en.wikipedia.org/wiki/Compressed_sensing&quot; rel=&quot;nofollow&quot;&gt;&quot;compressive sensing&quot;&lt;/a&gt;.  Here is an excellent non-technical description of the main ideas involved: &lt;a href=&quot;http://terrytao.wordpress.com/2007/04/13/compressed-sensing-and-single-pixel-cameras/&quot; rel=&quot;nofollow&quot;&gt;http://terrytao.wordpress.com/2007/04/13/compressed-sensing-and-single-pixel-cameras/&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="15" LastActivityDate="2010-10-13T15:50:42.177" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2173" PostTypeId="1" AcceptedAnswerId="2177" CreationDate="2010-10-13T16:32:39.890" Score="9" ViewCount="590" Body="&lt;p&gt;Suppose we have a random variable which takes non-numeric values a,b,c and want to quantify how empirical distribution of $n$ samples of this variable deviates from true distribution. The following inequality (from &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0471062596&quot; rel=&quot;noreferrer&quot;&gt;Cover &amp;amp; Thomas&lt;/a&gt;) applies in this case. &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Theorem 12.4.1 (Sanov's theorem): Let $X_1, X_2, \ldots, X_n$ be i.i.d. $\sim Q(x)$.&lt;br&gt;&#xA;  Let $E \subseteq \mathscr{P}$ be a set of probability distributions. &#xA;  Then&#xA;  $$Q^n(E) = Q^n(E \cap \mathscr{P}_n) \leq (n+1)^{|\mathcal{X}|}2^{-nD(P^*||Q)},$$&#xA;  where $$P^* = \arg\min_{P \in E} D(P||Q),$$&#xA;  is the distribution in $E$ that is closest to $Q$ in relative entropy.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;This inequality is quite loose for small $n$. For binary outcomes, $|\mathcal{X}|=2$, and &lt;a href=&quot;http://hunch.net/?p=1491&quot; rel=&quot;noreferrer&quot;&gt;Chernoff-Hoeffding&lt;/a&gt; bound is much tighter. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a similarly tight bound for for $|\mathcal{X}|=3$?&lt;/p&gt;&#xA;" OwnerUserId="434" LastEditorUserId="-1" LastEditDate="2013-05-10T06:34:20.597" LastActivityDate="2013-05-10T06:34:20.597" Title="Chernoff-type inequality for random variable with 3 outcomes" Tags="&lt;pr.probability&gt;&lt;chernoff-bound&gt;" AnswerCount="2" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="2174" PostTypeId="2" ParentId="2136" CreationDate="2010-10-13T16:34:40.720" Score="12" Body="&lt;p&gt;This example is along the lines of Dana and Scott's answers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is &quot;obvious&quot; that the best way of computing the PARITY of $n$ bits with an unbounded fan-in circuit of depth $d$ is the following recursive strategy. When the depth $d$ is 2, there's nothing better you can do than write out the CNF (or DNF) of all $2^{n-1}$ terms. When $d$ is greater than $2$, break the set of input variables into $n^{1/(d-1)}$ parts, guess the parity of each of the parts (take an OR of fan-in $2^{n^{1/(d-1)}}$), and for those guesses which add up to parity $1$, recursively solve the problem on each of the parts (take an AND of fan-in $n^{1/(d-1)}$) with a depth $d-1$ circuit. If you alternate at each level of recursion between doing an OR of $2^{n^{1/(d-1)}}$ ANDs and doing an AND of $2^{n^{1/(d-1)}}$ ORs (taking the complement), you end up with a circuit of depth $d$ and size $2^{O(n^{1/(d-1)})}$ that computes PARITY.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In 1985, Hastad proved that the &quot;obviously best&quot; depth-$d$ circuit is optimal up to constants in the exponent. To do this, he proved the Switching Lemma which has been a very valuable tool in proving lower bounds for circuits, parallel algorithms, and proof systems. This is one of the few instances where we know that a particular natural algorithm is optimal, and it led to a very detailed understanding of the power of $AC^0$.&lt;/p&gt;&#xA;" OwnerUserId="225" LastActivityDate="2010-10-13T16:34:40.720" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2175" PostTypeId="2" ParentId="2173" CreationDate="2010-10-13T16:42:16.100" Score="3" Body="&lt;p&gt;There is nothing about Chernoff Hoeffding bounds that is specific to boolean variables. If $X_1,\ldots,X_n$ are i.i.d. real valued random variables with $0 \leq X_i \leq 1$ you can apply a Chernoff bound. A good reference is &quot;Concentration of Measure for the Analysis of Randomized Algorithms&quot; (&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.120.2561&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;nofollow&quot;&gt;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.120.2561&amp;amp;rep=rep1&amp;amp;type=pdf&lt;/a&gt;) &lt;/p&gt;&#xA;" OwnerUserId="25" LastActivityDate="2010-10-13T16:42:16.100" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2176" PostTypeId="2" ParentId="2159" CreationDate="2010-10-13T17:21:39.157" Score="2" Body="&lt;p&gt;Your idea sounds reasonable, at least in theory (and that's what we do here, right? :)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A standard way to justify and analyze a design decisions like this is via the &lt;em&gt;random oracle model (ROM) methodology&lt;/em&gt;.  &lt;a href=&quot;http://portal.acm.org/citation.cfm?doid=168588.168596&quot; rel=&quot;nofollow&quot;&gt;Bellare and Rogaway (CCS'93)&lt;/a&gt; gave a nice description of ROM analysis, and are generally credited with suggesting that it be applied in practical cryptography.  In the ROM, one pretends that the function SHA1(.) is&#xA;a truly random function that is available to everyone through an oracle.  Of course, this is never true in reality because SHA1(.) is defined by a publicly-known algorithm.  Nevertheless, ROM analysis seems to be an excellent tool for verifying that protocols and algorithms do not have certain structural weaknesses of the sort you should be worried about.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Usage of the ROM is sometimes regarded as a heuristic that theoretically results in a security weakness.  In your situation, you could alternatively justify your design by assuming that the keyed function $F$, defined by&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$F_K(x) = SHA1(x||K)$,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;is a secure &lt;em&gt;pseudorandom function&lt;/em&gt;.  Now, this is an assumption that has a reasonable shot at being true, unlike the situation with pretending that SHA1 is a ROM.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Either way, we are searching for some way to justify that each of the HMAC keys you generate will look uniformly random and independent to an adversary. After that step, we could give a standard reductionist/&quot;provable security&quot; analysis of HMAC composed with your key derivation step.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(I'm ignoring issues with input/output lengths not fitting together, and so on.  To do this right in a product you'd have to be much more careful about all of this than I have been.  Lower-level errors can mess everything up.)&lt;/p&gt;&#xA;" OwnerUserId="724" LastActivityDate="2010-10-13T17:21:39.157" CommentCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="2177" PostTypeId="2" ParentId="2173" CreationDate="2010-10-13T17:35:27.013" Score="6" Body="&lt;p&gt;You can get fairly good bounds by considering the random variable $Y_{ij}$ which is 1 if $X_i = j$ and zero otherwise (for $1 \le i \le n$ ranging over trials and $1 \le j \le 3$ ranging over categories). For any fixed $j$ the $Y_{ij}$ are independent and therefore $\sum_i Y_{ij}$ can be analyzed using Chernoff bounds. Then do a union bound over $j$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If the above isn't enough I suggest that you look at the balls and bins model e.g. in Upfal and Mitzenmacher's textbook. That model is the same as yours except that some of your bins may be more likely than others to have balls land in them, right? There are some more sophisticated techniques involving Poisson approximations in that model that would likely be extendable to your setting with non-uniform bin probabilities.&lt;/p&gt;&#xA;" OwnerUserId="1522" LastActivityDate="2010-10-13T17:35:27.013" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2178" PostTypeId="2" ParentId="2162" CreationDate="2010-10-13T17:39:48.300" Score="4" Body="&lt;p&gt;There is a recent result on the polynomial pac-learnability of semilinear sets at LICS 2010: &lt;a href=&quot;http://homepages.inf.ed.ac.uk/s0673998/papers/parikh.pdf&quot; rel=&quot;nofollow&quot;&gt;Parikh Images of Regular Languages: Complexity and Applications&lt;/a&gt;. I guess this is not what you are looking for.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You should also have a look to the paper of Clark and Thollard: &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.60.6808&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;nofollow&quot;&gt;PAC-learnability of Probabilistic Deterministic Finite State Automata&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="76" LastActivityDate="2010-10-13T17:39:48.300" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2179" PostTypeId="2" ParentId="2121" CreationDate="2010-10-13T18:07:10.250" Score="11" Body="&lt;p&gt;I have not read the details of their flawed protocol, but I've heard about it on several occasions.  My impression was that their error was in how they used the PRG seed.  Their protocol puts the pseudorandom generator (PRG) seed in the public common reference string, and they attempt to argue that PRG security forces some statistical property of the PRG output to hold even with a known seed.  While it is possible to do this in a sound way (the signature schemes of Hohenberger and Waters &lt;a href=&quot;http://www.springerlink.com/content/h7l319733p567318/&quot;&gt;here&lt;/a&gt; and &lt;a href=&quot;http://www.springerlink.com/content/bku14552w2808rl5/&quot;&gt;here&lt;/a&gt; spring to mind), something went wrong in their argument.&lt;/p&gt;&#xA;" OwnerUserId="724" LastEditorUserId="724" LastEditDate="2010-10-13T18:41:55.450" LastActivityDate="2010-10-13T18:41:55.450" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="2180" PostTypeId="2" ParentId="1168" CreationDate="2010-10-13T18:22:00.463" Score="88" Body="&lt;p&gt;Keshav's &lt;a href=&quot;http://doi.acm.org/10.1145/1273445.1273458&quot;&gt;How to Read a Paper&lt;/a&gt;. You can also download the paper from &lt;a href=&quot;http://blizzard.cs.uwaterloo.ca/keshav/home/Papers/data/07/paper-reading.pdf&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="1487" LastEditorUserId="1487" LastEditDate="2012-06-27T13:14:09.720" LastActivityDate="2012-06-27T13:14:09.720" CommentCount="8" CommunityOwnedDate="2010-10-13T18:22:00.463" ContentLicense="CC BY-SA 3.0" />
  <row Id="2181" PostTypeId="2" ParentId="2159" CreationDate="2010-10-13T18:34:44.153" Score="2" Body="&lt;p&gt;One could think that the appname prefix is a salt (but not necessarily a nonce). By the principle of confusion, I would, at the very least, do the following to generate the HMAC $y$ out of both the salt and $x$:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$y = HMAC_{salt}(x) = SHA1(\mbox{  }SHA1(salt) + SHA1(x) \mbox{  } )$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Better yet, if I had in my possession a permutation function $z = perm(x_1,x_2)$, and &lt;em&gt;if it is desirable and cost effective&lt;/em&gt;, I would use it (instead of concatenation) to increase diffusion:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$y = HMAC_{salt}(x) = SHA1(\mbox{  }perm(SHA1(salt),SHA1(x))\mbox{  })$&lt;/p&gt;&#xA;" OwnerUserId="1752" LastActivityDate="2010-10-13T18:34:44.153" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="2182" PostTypeId="2" ParentId="2170" CreationDate="2010-10-13T19:08:37.767" Score="9" Body="&lt;p&gt;If no class is too simple, then here are some agnostically PAC learnable classes.  In response to the comments, the classes with polynomially many hypotheses are crossed out:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;s&gt;constant depth decision trees (and other classes having only poly many hypotheses)&lt;/s&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;s&gt;hyperplanes in $R^2$ (only $O(n^2)$ hypotheses producing distinct labelings)&lt;/s&gt;&lt;/li&gt;&#xA;&lt;li&gt;unions of intervals (dynamic programming)&lt;/li&gt;&#xA;&lt;li&gt;parity on some of the first $\log(k)\log\log(k)$ of $n$ bits (see &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=335355&quot; rel=&quot;nofollow&quot;&gt;this&lt;/a&gt; and &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=1374466&quot; rel=&quot;nofollow&quot;&gt;this&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;li&gt;&lt;s&gt;other hypothesis classes in low dimensional settings.&lt;/s&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Pretty much everything else is NP-Hard to (at least properly) agnostically PAC learn.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Adam Kalai's &lt;a href=&quot;http://kalai.wik.is/@api/deki/files/8/=nips-tut.pdf&quot; rel=&quot;nofollow&quot;&gt;tutorial&lt;/a&gt; on agnostic learning may also interest you.&lt;/p&gt;&#xA;" OwnerUserId="123" LastEditorUserId="123" LastEditDate="2014-02-01T19:24:54.193" LastActivityDate="2014-02-01T19:24:54.193" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="2183" PostTypeId="2" ParentId="2149" CreationDate="2010-10-13T22:27:28.850" Score="29" Body="&lt;p&gt;This would show that parity and mean-payoff games are in P. See &lt;a href=&quot;http://www.csc.liv.ac.uk/~sven/mfcs09.pdf&quot;&gt;Sven Schewe. From Parity and Payoff Games to Linear Programming. MFCS 2009. &lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="368" LastEditorUserId="368" LastEditDate="2010-10-13T22:54:07.217" LastActivityDate="2010-10-13T22:54:07.217" CommentCount="7" ContentLicense="CC BY-SA 2.5" />
  <row Id="2184" PostTypeId="2" ParentId="2160" CreationDate="2010-10-13T23:34:07.720" Score="3" Body="&lt;p&gt;Social choice seems to be a nice area at the crossroads of many fields: control theory, complexity, etc. Moreover, it is always a surprise (I mean to me) to see that the problems of the guys from the dept of economics are almost the same as the ones we are trying to solve...&#xA;Believe me, it is worth having a coffee with them (and let them pay, they won't mind ;)).&lt;/p&gt;&#xA;" OwnerUserId="76" LastActivityDate="2010-10-13T23:34:07.720" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2185" PostTypeId="1" AcceptedAnswerId="2186" CreationDate="2010-10-14T01:28:05.970" Score="8" ViewCount="453" Body="&lt;p&gt;We know that all push down automata are representable using context-free grammars. Furthermore, there is an algorithm to construct a CFG from any PDA (e.g. Sipser's proof in intro to theory of computation). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there any tools which do this translation? I.e. I can put in a set of transition functions and it will return an equivalent CFG.&lt;/p&gt;&#xA;" OwnerUserId="1418" LastEditorUserId="186" LastEditDate="2010-10-14T04:07:35.200" LastActivityDate="2010-10-14T04:07:35.200" Title="Tool for translating PDAs to CFGs" Tags="&lt;automata-theory&gt;&lt;fl.formal-languages&gt;&lt;grammars&gt;&lt;software&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="2186" PostTypeId="2" ParentId="2185" CreationDate="2010-10-14T03:37:38.883" Score="10" Body="&lt;p&gt;jflap is pretty nice and can do this. See here: &lt;a href=&quot;http://www.cs.duke.edu/csed/jflap/&quot; rel=&quot;nofollow&quot;&gt;http://www.cs.duke.edu/csed/jflap/&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="9594" LastActivityDate="2010-10-14T03:37:38.883" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="2187" PostTypeId="1" AcceptedAnswerId="2201" CreationDate="2010-10-14T03:50:31.910" Score="10" ViewCount="1489" Body="&lt;p&gt;Given a strongly connected digraph G with weighted edges, I would like to identify edges that are provably not part of any minimal strongly connected subgraph (MSCS) of G.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One method for finding such edges is a modified Floyd-Warshall algorithm. Using the Floyd-Warshall algorithm, one can identify which edges are never the best option for going from vertex i to j. These nodes can't be part of a MSCS because it's better to replace them with two or more other edges.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The Floyd-Warshall pruning technique works quite well when edge weights vary significantly, but very poorly when edge weights are similar but large in magnitude.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Do you know any effective pruning methods for large, similar edge weights? Is this problem equivalent to a more common problem that I don't recognize? Has this sort of pruning been studied before in the literature?&lt;/p&gt;&#xA;" OwnerUserId="1735" LastEditorUserId="186" LastEditDate="2010-10-14T04:05:54.897" LastActivityDate="2010-10-16T12:40:01.310" Title="Pruning a strongly connected digraph" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;" AnswerCount="1" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="2188" PostTypeId="2" ParentId="1045" CreationDate="2010-10-14T07:03:17.423" Score="6" Body="&lt;p&gt;(This is meant to be a comment but I am too new to leave comment.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I merely want to note that you may also be interested in the &quot;excision&quot; operation, which returns the subrange as a new tree and the input tree without the subrange as another. You need to have control on the underlying representation of the tree though since the known method relies on level links. Excision runs in time logarithmic to the size of the &lt;em&gt;smaller&lt;/em&gt; tree, albeit in the amortized sense (&quot;amortized&quot; is iirc, because I don't have access to the paper any more) See:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;K. Hoffman, K. Mehlhorn, P. Rosenstiehl, and R. E. Tarjan, Sorting Jordan sequences in linear time using level linked search trees, Information and Control, 68 (1986), 170–-184&lt;/p&gt;&#xA;&#xA;&lt;p&gt;P.S. The above citation came from Seidel's treap writeup. Treaps also support excision.&lt;/p&gt;&#xA;" OwnerUserId="163" LastActivityDate="2010-10-14T07:03:17.423" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2189" PostTypeId="2" ParentId="2160" CreationDate="2010-10-14T07:07:28.073" Score="1" Body="&lt;p&gt;How about using optimization algorithms (such as Simulated Annealing or Genetic) to tune the parameters of your choice of control loop algorithm?&lt;/p&gt;&#xA;" OwnerUserId="1765" LastActivityDate="2010-10-14T07:07:28.073" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2190" PostTypeId="2" ParentId="2160" CreationDate="2010-10-14T12:13:59.023" Score="3" Body="&lt;p&gt;A good area to explore could be the theory of optimal control (i.e., controlling a system while minimizing some given cost function), which was mainly developed by Richard Bellman, together with the dynamic programming paradigm, that is now ubiquitous in computer science.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A very useful application of optimal control is found, e.g., in Markov decision processes: a dynamical system is modeled by a Markov chain which can be altered by using some admissible policies. Costs are given for transitions and/or controls and one is usually interested in finding a policy that minimizes the total/average/discounted cost for a finite/infinite temporal horizon. This can be accomplished, e.g., by formulating a suitable Hamilton-Jacobi-Bellman equation for the system and then solving it by means of dynamic programming (many other methods exist depending on the systems).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hence a natural application is in stochastic optimization settings in which the dynamical system can be modeled as Markovian. A standard reference for optimal control is:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Dimitri P. Bertsekas, &lt;em&gt;Dynamic Programming and Optimal Control&lt;/em&gt;, Athena Scientific.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="1768" LastActivityDate="2010-10-14T12:13:59.023" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2191" PostTypeId="2" ParentId="1168" CreationDate="2010-10-14T13:43:03.063" Score="11" Body="&lt;p&gt;&lt;a href=&quot;http://people.csail.mit.edu/rivest/BlumFloydPrattRivestTarjan-TimeBoundsForSelection.pdf&quot;&gt;Time bounds for Selection&lt;/a&gt; by Blum, Floyd, Pratt, Rivest and Tarjan. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Very elegant algorithm. Plus it has four Turing award winners as authors.&lt;/p&gt;&#xA;" OwnerUserId="1607" LastActivityDate="2010-10-14T13:43:03.063" CommentCount="0" CommunityOwnedDate="2010-10-14T13:43:03.063" ContentLicense="CC BY-SA 2.5" />
  <row Id="2192" PostTypeId="2" ParentId="793" CreationDate="2010-10-14T17:03:13.123" Score="5" Body="&lt;p&gt;Regarding DCFLs, I do not see a better notation than the transition function of the deterministic pushdown automaton, i.e. writing explicitly rules of form $q,z,a\to q',\gamma$ with $q,q'$ states in $Q$, $z$ a stack symbol, $\gamma$ a sequence of stack symbols, and $a$ an input symbol or the empty string.  The notation itself does not enforce determinism, but it is easily checked.  Using a context-free grammar kind of notation (as BNF), you are going to run into problems since DCFLs are a proper subclass of CFLs, and as noted by DaniCL, you cannot decide in general given a CFG whether its language is deterministic.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Regarding VPLs, a bracketed/parenthesis-style for CFGs would be good enough, with rules of form $A\to a\alpha b$ where $A$ is a nonterminal, $a$ a call symbol, $b$ a return symbol, and $\alpha$ a &lt;strike&gt;sequence of&lt;/strike&gt; regular expression over mixed internal symbols and nonterminals.  Since any VPL is also a (D)CFL you could also reuse the above notation for pushdown automata and check that the stack operations match the calls and returns, or write down the transition relation of a nested word automaton (which would be less redundant).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit: come to think of it, a notation for XML schemas, like the compact syntax of &lt;a href=&quot;http://www.relaxng.org&quot; rel=&quot;nofollow&quot;&gt;RelaxNG&lt;/a&gt;---which is an ASCII notation---, could easily be used for VPLs.  You'd just need to enforce some naming conventions for tags, e.g. an opening tag &quot;&amp;lt;ab&amp;gt;&quot; for a call symbol $a$ matching a closing tag &quot;&amp;lt;/ab&amp;gt;&quot; for a return symbol $b$.&lt;/p&gt;&#xA;" OwnerUserId="609" LastEditorUserId="609" LastEditDate="2010-10-15T08:14:55.853" LastActivityDate="2010-10-15T08:14:55.853" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="2193" PostTypeId="1" AcceptedAnswerId="2194" CreationDate="2010-10-14T18:06:12.170" Score="3" ViewCount="216" Body="&lt;p&gt;It is known that generic k-SAT formulas may exhibit the presence of exponentially many solution clusters.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;Question:&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;Is it true also for Monotone-2SAT formulas?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;For the definition of cluster, see Kaveh's answer to the question &lt;a href=&quot;https://cstheory.stackexchange.com/questions/1115/sat-solution-space-definition-of-cluster-of-solutions&quot;&gt;SAT Solution Space - Definition of Cluster of Solutions&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="947" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2010-10-14T18:55:32.873" Title="Solution Clusters and Monotone-2SAT" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;sat&gt;&lt;counting-complexity&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2194" PostTypeId="2" ParentId="2193" CreationDate="2010-10-14T18:55:32.873" Score="8" Body="&lt;p&gt;The answer is no.  If you consider a graph with satisfying assignments as vertices where two assignments are joined by an edge if the Hamming distance is 1, the graph is always connected because every satisfying assignment can be eventually transformed to the all-1 assignment by changing the value of one variable from 0 to 1.&lt;/p&gt;&#xA;" OwnerUserId="567" LastActivityDate="2010-10-14T18:55:32.873" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2195" PostTypeId="1" AcceptedAnswerId="2198" CreationDate="2010-10-14T20:25:05.263" Score="5" ViewCount="2457" Body="&lt;p&gt;If we consider literature, sorting algorithms are based only on number of comparisons needed to sort a list of size n, considering that n is the size of the input.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But if we want to encode input, we can't encode each object of the list into a fixed-size binary representation because hence, we would consider that the domain of the objects is fixed and thus, I think we could find better sorting algorithms by precomputing some stuff in the Turing Machine.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we consider that the domain isn't fixed, we have to encode each of our items into a $\log(n)$-size representation. Thus the input is of size $N = n\log(n)$. But as our numbers are of variable length, then we can consider that comparison has a cost of $\log(n)$, but even with this, if we apply a reasonable sorting algorithm (ie an $n \log n$ algorithm), the algorithm will take $n \log^2(n)$ time in a Turing machine, where $n$ is the number of objects, but where $n \log n$ is the size of our input. In this case, we have an algorithm of complexity lower than $O(N \log(N))$ where $N$ is the size of the input.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a mistake?&lt;/p&gt;&#xA;" OwnerUserId="378" LastEditorUserId="38347" LastEditDate="2016-04-02T22:28:21.333" LastActivityDate="2016-04-02T22:28:21.333" Title="Sorting algorithm with a complexity smaller than $n \log n$?" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;sorting&gt;" AnswerCount="5" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="2196" PostTypeId="2" ParentId="2195" CreationDate="2010-10-14T20:34:06.280" Score="3" Body="&lt;p&gt;I think you are confusing the size of the input with the number of elements in the input. The time complexity of sorting algorithms is defined in terms of the number of comparisons based on the number of elements, not on the size of the inputs, so when you say that it costs $n \log^2 n$ to sort the elements you are already saying that your algorithm is worst than $O(n\log n)$.&lt;/p&gt;&#xA;" OwnerUserId="77" LastEditorUserId="77" LastEditDate="2010-10-14T20:39:08.953" LastActivityDate="2010-10-14T20:39:08.953" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2197" PostTypeId="2" ParentId="2195" CreationDate="2010-10-14T20:34:12.847" Score="5" Body="&lt;p&gt;There are many examples of $o(n\log n)$ sorting in the literature.  For example,&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Han, Y. and Thorup, M. 2002. Integer sorting in $O\left(n\sqrt{\log\log n}\right)$ expected time and linear space. &lt;a href=&quot;http://www.csee.umkc.edu/~hanyij/research/focs02.ps&quot; rel=&quot;nofollow&quot;&gt;http://www.csee.umkc.edu/~hanyij/research/focs02.ps&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Y. Han. Deterministic sorting in $O\left(n\log\log n\right)$ time and linear space.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="962" LastActivityDate="2010-10-14T20:34:12.847" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="2198" PostTypeId="2" ParentId="2195" CreationDate="2010-10-14T20:43:07.930" Score="10" Body="&lt;p&gt;Without looking at any details, why do your say your algorithm beats $O(N\log N)$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In your notation, $N\log N = n\log n\log(n\log n) = n\log n\log n + n\log n\log\log n = O(n\log^2n)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;No contradiction.&lt;/p&gt;&#xA;" OwnerUserId="123" LastEditorUserId="123" LastEditDate="2010-10-14T20:50:26.767" LastActivityDate="2010-10-14T20:50:26.767" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="2199" PostTypeId="2" ParentId="2195" CreationDate="2010-10-14T21:32:16.827" Score="8" Body="&lt;p&gt;Generally speaking, you &lt;em&gt;can&lt;/em&gt; sort n numbers where each is given by O(log n) bits using time that is &lt;em&gt;linear&lt;/em&gt; in the input size (i.e. O(nlogn)) using something like radix sort (but you may need to be careful about the exact model of computation -- and I don't know the details of which models admit such linear time algorithms).  &lt;/p&gt;&#xA;" OwnerUserId="42" LastActivityDate="2010-10-14T21:32:16.827" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="2200" PostTypeId="1" AcceptedAnswerId="2209" CreationDate="2010-10-14T21:55:09.103" Score="4" ViewCount="389" Body="&lt;p&gt;I'm wondering how far along the natural language processing is in determining the semantic distance between two excerpts of text.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For instance, consider the following phrases&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Early this morning I got up and washed my car.&lt;/li&gt;&#xA;&lt;li&gt;I cleaned my truck up this morning.&lt;/li&gt;&#xA;&lt;li&gt;Bananas are an excellent source of potassium.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Clearly (to the human reader) the first two statements are much more similar to one another than they are to the third statement.  Does there exist any theory that would allow a computer to draw the same conclusion?  What about if we allow longer excerpts such as new articles?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Meta info: this is my first post here, so feel free to direct me to a better forum for asking such a question if this isn't where I should be.  Also, feel free to retag my question with anything more appropriate.&lt;/em&gt;&lt;/p&gt;&#xA;" OwnerUserId="1772" LastEditorUserId="186" LastEditDate="2011-03-16T05:15:17.830" LastActivityDate="2011-03-16T05:15:17.830" Title="Semantic distance between excerpts of text." Tags="&lt;ai.artificial-intel&gt;&lt;semantics&gt;&lt;formal-modeling&gt;" AnswerCount="3" CommentCount="5" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2201" PostTypeId="2" ParentId="2187" CreationDate="2010-10-15T00:59:51.227" Score="3" Body="&lt;p&gt;We assume that edge weights are positive integers.  Given a directed graph &lt;i&gt;G&lt;/i&gt; with edge weights, call an edge &lt;i&gt;e&lt;/i&gt; &lt;em&gt;redundant&lt;/em&gt; if &lt;i&gt;e&lt;/i&gt; does not belong to any minimum-weight strongly-connected spanning subgraphs of &lt;i&gt;G&lt;/i&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We claim that unless P=NP, there is no polynomial-time algorithm that always finds a redundant edge in a given directed graph with edge weights as long as there is one.  More precisely:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Theorem&lt;/strong&gt;.  Given a directed graph &lt;i&gt;G&lt;/i&gt; with edge weights, it is NP-hard to find a redundant edge in &lt;i&gt;G&lt;/i&gt; or declare that &lt;i&gt;G&lt;/i&gt; does not have a redundant edge.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Proof&lt;/strong&gt;.  The key observation is that if &lt;i&gt;G&lt;/i&gt; has a &lt;em&gt;unique&lt;/em&gt; minimum-weight strongly-connected spanning subgraph, then you can compute that subgraph by removing the redundant edges one by one.  Therefore, it remains to show that the uniqueness does not make the minimum-weight strongly-connected spanning subgraph problem any easier, but this is proved by the next Lemma.  &lt;strong&gt;QED&lt;/strong&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Lemma&lt;/strong&gt;.  Given a directed graph &lt;i&gt;G&lt;/i&gt; with edge weights, it is NP-hard to compute the weight of the minimum-weight strongly-connected spanning subgraph of &lt;i&gt;G&lt;/i&gt; even under the promise that &lt;i&gt;G&lt;/i&gt; has a unique minimum-weight strongly-connected spanning subgraph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Proof&lt;/strong&gt;.  As &lt;a href=&quot;https://cstheory.stackexchange.com/questions/2129/non-rooted-mst-of-directed-graph&quot;&gt;you know&lt;/a&gt;, the problem without the promise is NP-hard (even for the unit-weight case) by a reduction from the Hamiltonian circuit problem.  We reduce the problem without the promise to the problem with the promise.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let &lt;i&gt;G&lt;/i&gt; be a directed graph with edge weights.  Label the edges of &lt;i&gt;G&lt;/i&gt; by &lt;i&gt;e&lt;/i&gt;&lt;sub&gt;0&lt;/sub&gt;, &lt;i&gt;e&lt;/i&gt;&lt;sub&gt;1&lt;/sub&gt;, …, &lt;i&gt;e&lt;/i&gt;&lt;sub&gt;&lt;i&gt;m&lt;/i&gt;−1&lt;/sub&gt;, where &lt;i&gt;m&lt;/i&gt; is the number of edges in &lt;i&gt;G&lt;/i&gt;.  Let &lt;i&gt;w&lt;/i&gt;&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt; be the given weight of the edge &lt;i&gt;e&lt;/i&gt;&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt;.  Let the new weight &lt;i&gt;w&lt;/i&gt;′&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt;=2&lt;sup&gt;&lt;i&gt;m&lt;/i&gt;&lt;/sup&gt;&lt;i&gt;w&lt;/i&gt;&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt;+2&lt;sup&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sup&gt;.  Then it is easy to verify that &lt;i&gt;G&lt;/i&gt; with the new weights has a unique minimum-weight strongly-connected spanning subgraph.  It is also easy to verify that the minimum weight &lt;i&gt;W&lt;/i&gt; of a strongly-connected spanning subgraph in &lt;i&gt;G&lt;/i&gt; with the original weights can be computed from the minimum weight &lt;i&gt;W&lt;/i&gt;′ in &lt;i&gt;G&lt;/i&gt; with the new weights as &lt;i&gt;W&lt;/i&gt;=⌊&lt;i&gt;W&lt;/i&gt;′/2&lt;sup&gt;&lt;i&gt;m&lt;/i&gt;&lt;/sup&gt;⌋.  &lt;strong&gt;QED&lt;/strong&gt;.&lt;/p&gt;&#xA;" OwnerUserId="567" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2010-10-16T12:40:01.310" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2202" PostTypeId="1" AcceptedAnswerId="5068" CreationDate="2010-10-15T02:50:48.000" Score="8" ViewCount="548" Body="&lt;p&gt;Consider the following two algorithms for searching in a sorted array of $n$ elements: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A) interpolation search and binary search simulated in parallel, and &lt;/p&gt;&#xA;&#xA;&lt;p&gt;B) search through alternating interpolation steps and binary steps. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Both algorithms are of worst case complexity $2\lg n+1$ (and average complexity $2\lg\lg n$ for a reasonable distribution). Is there a complexity model which permits to separate those two algorithm (expressing when one is better than the other)? In particular, is there an example where the simulation in parallel is outperforming the mixed search algorithm?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;---Some Basic Background---&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) Interpolation for element $x$ in a sorted array $T$ between position $i$ and $j$ makes a comparison at position $g=i+(j-i)/(T[j]-T[i])*(x-T[i])$, and reduces the search interval to $[i,g]$ or $]g,j]$ according to the result (as opposed to binary search, which compares $x$ to the element at position $(i+j)/2$.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) The worst case complexity of the search algorithm simulating in parallel binary search and interpolation search is $2\lg n+1$: Given two algorithms $A$ and $B$ of worst case complexities $f(n)$ and $g(n)$, the worst case of the parallel simulation of $A$ and $B$, stopping as soon as one terminates, has complexity $2\min\{f(n),g(n)\}\in O(\min{f(n),g(n)})$. The complexity of the search alternating steps from binary search and interpolation search is $2\lg n+1$ as well, because the search interval is at least reduced by two every two comparison.&lt;/p&gt;&#xA;" OwnerUserId="191" LastEditorUserId="191" LastEditDate="2013-06-17T11:49:20.403" LastActivityDate="2013-06-17T11:49:20.403" Title="Analysis of the synergy of two algorithms in comparison to their simulation in parallel" Tags="&lt;ds.algorithms&gt;&lt;time-complexity&gt;" AnswerCount="1" CommentCount="10" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="2203" PostTypeId="2" ParentId="2145" CreationDate="2010-10-15T03:03:27.283" Score="10" Body="&lt;p&gt;Since we don't seem to have any answers, can I make a comment?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose we are given $n$ bits, $X=x_1,\cdots,x_n$ and we have to complement each bit to get $\neg x_1,\cdots, \neg x_n.$ The only constraint is that the circuit that does so should be monotone. We obviously need some additional information to do this and here is one such. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose $k$ is the number of ones in the input and somehow we have this as advice. Then it is easy to see that $\neg x_i = Th^{n-1}_{k}(X-x_i)$ (i.e., on all inputs except $x_i$). Of course, the construction is monotone.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;With this construction, the motivation for inductive counting is clear (at least to me). It is worth asking what &lt;em&gt;other&lt;/em&gt; advice would work? I don't know of any other. But this may hold the key to your question.&lt;/p&gt;&#xA;" OwnerUserId="1449" LastActivityDate="2010-10-15T03:03:27.283" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="2204" PostTypeId="1" AcceptedAnswerId="2206" CreationDate="2010-10-15T04:41:07.653" Score="11" ViewCount="389" Body="&lt;p&gt;Given $N$ and $M$, is it possible to get the $M$'th bit (or digit of any small base) of $N!$ in time/space of $O( p( ln(N), ln(M) ) )$, where $p(x, y)$ is some polynomial function in $x$ and $y$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;i.e. Given $N = 2^\eta$, $M = 2^\mu$ (with $N$, $M \in \mathbb{Z}$), find bit $2^\mu$ of $(2^\eta)!$ in $O( p(\eta, \mu) )$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note: I have asked this on mathoverflow.net &lt;a href=&quot;https://mathoverflow.net/questions/42046/efficiently-getting-bits-of-n&quot;&gt;here&lt;/a&gt; and have not been getting any answers so I have cross-posted.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;From the &lt;a href=&quot;https://mathoverflow.net/questions/42046/efficiently-getting-bits-of-n/42081#42081&quot;&gt;comment&lt;/a&gt; on the other site, Gene Kopp points out that one can efficiently compute the lower order bits by doing modular arithmetic and higher order bits using Stirling's approximation, so this question is really 'how efficiently can one compute the middle order bits?'.&lt;/p&gt;&#xA;" OwnerUserId="834" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2010-10-15T12:42:10.963" Title="Efficiently getting bits of N! ?" Tags="&lt;ds.algorithms&gt;&lt;nt.number-theory&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2205" PostTypeId="2" ParentId="2200" CreationDate="2010-10-15T05:26:48.260" Score="0" Body="&lt;p&gt;(Oh good, this question hasn't been closed yet!)  On a practical level, I agree with the comments by Warren and Suresh that this question isn't answerable given the current state of the art in TCS, and it sounds more like an AI question.  But I have to wonder, does it necessarily have to be that way?  The question of how semantics arises from syntax has to be one of the most foundational questions there is, and I wouldn't want to rule out TCS having a role in answering it.  I tend to think of AI of being more like engineering and TCS like theoretical physics--we ought to be supplying the equivalent of Newton's Laws that provides some overarching principles that the AI engineers can use to go and build their intelligent machines.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, so that this answer isn't totally without actual content, here is a paper that maybe touches a little bit on this question: &lt;a href=&quot;http://people.csail.mit.edu/madhu/papers/juba-full.pdf&quot; rel=&quot;nofollow&quot;&gt;Universal Semantic Communication I&lt;/a&gt; by Juba and Sudan.  They make an attempt at modeling &quot;meaningful communication&quot; in terms of computational power.  I'm not sure how successful their approach is, but I do think it's important in that they are using techniques from computational complexity to analyze these issues.&lt;/p&gt;&#xA;" OwnerUserId="184" LastActivityDate="2010-10-15T05:26:48.260" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="2206" PostTypeId="2" ParentId="2204" CreationDate="2010-10-15T05:43:53.110" Score="13" Body="&lt;p&gt;Dick Lipton has a &lt;a href=&quot;http://rjlipton.wordpress.com/2009/02/23/factoring-and-factorials/&quot; rel=&quot;nofollow&quot;&gt;beautiful post from 2009&lt;/a&gt; on the relationship between the factorial function and factoring. There's a lot there that is unrelated to this question, but one salient point is this theorem:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;If $n!$ can be computed by a&#xA;  straight-line arithmetic computation&#xA;  in $O(\log^{c} n)$ steps, then&#xA;  factoring has polynomial size&#xA;  circuits.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I suspect that this is evidence that your question, especially within the time bounds you mention, is going to be difficult to answer. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2010-10-15T05:43:53.110" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2207" PostTypeId="2" ParentId="2195" CreationDate="2010-10-15T07:20:02.647" Score="3" Body="&lt;p&gt;Another example is &lt;a href=&quot;http://www.sciencedirect.com/science?_ob=ArticleURL&amp;amp;_udi=B6WJ0-4B4RP4X-JK&amp;amp;_user=10&amp;amp;_coverDate=12%2F31%2F1993&amp;amp;_rdoc=1&amp;amp;_fmt=high&amp;amp;_orig=search&amp;amp;_origin=search&amp;amp;_sort=d&amp;amp;_docanchor=&amp;amp;view=c&amp;amp;_searchStrId=1499128860&amp;amp;_rerunOrigin=google&amp;amp;_acct=C000050221&amp;amp;_version=1&amp;amp;_urlVersion=0&amp;amp;_userid=10&amp;amp;md5=2693164491cf1bfe1c244e2196fb9b70&amp;amp;searchtype=a&quot; rel=&quot;nofollow&quot;&gt;Fredman and Willard (1993), Surpassing the information theoretic bound with fusion trees.&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="438" LastActivityDate="2010-10-15T07:20:02.647" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2208" PostTypeId="1" CreationDate="2010-10-15T09:11:59.920" Score="5" ViewCount="416" Body="&lt;p&gt;Integer Factorization problem: Given integers $N, M$, find an integer $d&amp;lt; M &amp;lt; N$ that divides $N$. Is it easier to find the value of a single bit? This problem is at least as hard as integer factorization. &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What is the best known upper bound on the complexity of finding the value of $i^{th}$ bit of $d$ ? &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I'm interested in algorithms that are asymptotically better than the best known integer factorization algorithm.&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="55031" LastEditDate="2020-06-16T09:37:03.443" LastActivityDate="2020-06-16T09:37:03.443" Title="Bit complexity of integer factorization?" Tags="&lt;cc.complexity-theory&gt;&lt;upper-bounds&gt;&lt;factoring&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="2209" PostTypeId="2" ParentId="2200" CreationDate="2010-10-15T10:12:05.907" Score="12" Body="&lt;p&gt;You are looking for &quot;lexical cohesion&quot;. Try searching for this term and you will get tons of literature. After constructing the so-called &quot;lexical chains&quot;, well-known graph partitioning and information retrieval algorithms can be used to group them into semantic classes. There is in fact a lot of theory and algorithms behind this &quot;post-processing&quot;. Dictionary of synonyms and antonyms is often used to construct these chains. I worked on such extraction algorithms during my undergraduate days, about 10 years back. So this field must be more advanced now.&lt;/p&gt;&#xA;" OwnerUserId="344" LastActivityDate="2010-10-15T10:12:05.907" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="2210" PostTypeId="2" ParentId="2200" CreationDate="2010-10-15T11:04:57.240" Score="1" Body="&lt;p&gt;If you crawl Wikipedia from this page &lt;a href=&quot;http://en.wikipedia.org/wiki/Vector_space_model&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/Vector_space_model&lt;/a&gt; you will learn a lot on similarity measures. Afterwards, you should consider reading the book of Manning, Raghavan and Schutze: &lt;a href=&quot;http://nlp.stanford.edu/IR-book/information-retrieval-book.html&quot; rel=&quot;nofollow&quot;&gt;Introduction to information retrieval&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="76" LastActivityDate="2010-10-15T11:04:57.240" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2211" PostTypeId="2" ParentId="2208" CreationDate="2010-10-15T11:36:18.987" Score="11" Body="&lt;p&gt;Not a full answer, but hopefully a useful partial answer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First of all, there is an obvious barrier. How do you specify $d$? If we simply wish to find this for any factor $d$ then there are several legitimate values for some of the bits. This means that really from a single bit you can't always tell where you have a trivial factor (say 1 or N) or a non-trivial factor. This means that in general the problem is likely to be as hard as factoring. If for example you there was a factor of hamming weight 2 with the last bit as 1, you would need to obtain all the bits to be sure that it was non-trivial (if for example the first $n-1$ bits you try are all 0 except for the very least significant bit).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However it is possible to obtain relationships between bits in two factors.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is easy to do for less significant bits, but becomes harder as you move up. If the complexity didn't increase in one direction, it would obviously lead a more efficient algorithm for factoring.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, take $N=pq$. Then $p=2p' + p_0$ and $q=2q' + q_0$. where $p_0$ and $q_0$ are single bits. Then $N=4p'q' + 2(p'q_0 + q'p_0) + p_0q_0$, so $N \equiv p_0 q_0 \mbox{ mod }2$. If N is odd, then $p_0 = q_0 = 1$, and so $N=4p'q' + 2(q' + p') + 1$. Now, if instead it was 0, 2 would have been a non-trivial factor, so lets ignore that case, and consider only $p_0 = q_0 = 1$. We can take $p= \sum_{i=0}^n 2^i p_i$ and $q= \sum_{i=0}^n 2^i q_i$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then we have $N = \sum_{i,j=0}^n 2^{i+j} p_i q_j$. This implies that $N \equiv \sum_{i=0}^n \sum_{j=0}^{m-i-1} 2^{i+j} p_i q_j \mbox{ mod }2^m$. This then gives you a relationship between the $m$ least significant bits of $p$ and $q$. Since we can also obtain similar relationships for $(m-1) ... 1$ this gives us a set of $m$ constraints that the bits need to satisfy, each containing at most $m$ terms in the sum. Naively, one could consider testing all possible values of $p_{m-1}...p_0$ and $q_{m-1}...q_0$,but in practice it is more efficient to simply find all possible pairs for the $2^1$ constraint, than use only these as the less significant bits when checking which pairs satisfy the $2^2$ constraint and so on up to the $2^m$ constraint. Unfortunately, how effective this is will depend on the number of factors, as well as other things, since if a number has a large number of small factors, there will be a huge number of possible ways of combining these, and so a huge number of legitimate strings for the least significant bits.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, if we consider $N = x!$, then we have $\ln{N} \approx x \ln x - x$. So the number of bits in $N$ scales roughly as $x$ times the number of bits in $x$. Now, if we consider how many different possible ways there are to find a factor of $N$ there are, we know that it must be at least $2^{x-1}$, since this is the number of ways of multiplying a subset of ${2 ... x}$, so there are an exponential number of factors. Even if we consider factors less than $\frac{x}{2} \ln x$ bits (less than approx $\sqrt{n}$) we find that there are more than $2^{\frac{x}{2}}$ possibilities, and thus more than $2^{\frac{x}{2}}$ unique bit strings satisfying all constraints up to $2^{\frac{x}{2}\ln x}$. Thus this approach is necessarily exponential in the worst case.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the worst case to enumerate all such pairs (testing each possible pair) takes time $O(m^2 2^{2m})$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hope this is useful.&lt;/p&gt;&#xA;" OwnerUserId="204" LastEditorUserId="204" LastEditDate="2010-10-15T14:22:55.367" LastActivityDate="2010-10-15T14:22:55.367" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2212" PostTypeId="2" ParentId="2168" CreationDate="2010-10-15T12:23:52.340" Score="5" Body="&lt;p&gt;This answer only deals with growth rate of the number of satisfiable instances.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A set $A$ is sparse if the number of n-bit strings in the set is bounded by $O(n^k)$ (for some constant $k$) otherwise it is dense. It is known that satisfiability (NP-complete) and Unsatisfiability (CoNP-complete) are both dense sets. There exists sparse $NP$-complete sets iff $P=NP$.&lt;/p&gt;&#xA;" OwnerUserId="495" LastActivityDate="2010-10-15T12:23:52.340" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2213" PostTypeId="2" ParentId="2204" CreationDate="2010-10-15T12:42:10.963" Score="3" Body="&lt;p&gt;Suresh's answer probably answers the question for you, but I thought I would point out a special case. You can always work out the result for the less significant digits for any base. Take $p$ as our base. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Clearly, every p&lt;sup&gt;th&lt;/sup&gt; term in the factorial is a multiple of $p$. Every $(p^2)$&lt;sup&gt;th&lt;/sup&gt; term is a multiple of $p^2$, etc. Thus the highest power of $p$ that is a factor of $N!$ is $X_p = \sum_{i=1}^{\lfloor \log_p(N!) \rfloor} \lfloor \frac{N}{p^i}\rfloor$. $\log_p(N!)$ is easy to approximate by Stirlings approximation: $\ln N! \approx N \ln N - N$. Further, $p^{N \lceil \log_p (N) \rceil} &gt; N!$, so the sum can always be computed efficiently by summing instead for $1 \leq i \leq {N \lceil \log_p (N) \rceil}$ (since $\lfloor \frac{N}{p^i}\rfloor = 0$ for $i &gt; {\lfloor \log_p(N!) \rfloor}$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thus the last $X_p$ digits of $N!$ are zero in base $p$.&lt;/p&gt;&#xA;" OwnerUserId="204" LastActivityDate="2010-10-15T12:42:10.963" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2214" PostTypeId="1" AcceptedAnswerId="2219" CreationDate="2010-10-15T15:02:14.990" Score="13" ViewCount="4262" Body="&lt;p&gt;There are several proofs for the loglinear lower bound for the element uniqueness/distinctness problem (based on algebraic computation trees or adversarial arguments), but I'm looking for one that's simple enough to use in a first course in algorithm analysis and design. The same “level of difficulty” as the lower bound for sorting would be fine. Also, any approach (e.g., combinatorial or based on information theory) would be OK. Any suggestions?&lt;/p&gt;&#xA;" OwnerUserId="901" LastEditorUserId="186" LastEditDate="2010-10-15T18:51:54.770" LastActivityDate="2010-10-15T18:51:54.770" Title="Simple proof of Ω(n lg n) worst-case bound for uniqueness/distinctness?" Tags="&lt;cc.complexity-theory&gt;&lt;lower-bounds&gt;&lt;proofs&gt;" AnswerCount="2" CommentCount="3" FavoriteCount="11" ContentLicense="CC BY-SA 2.5" />
  <row Id="2215" PostTypeId="1" CreationDate="2010-10-15T15:16:50.013" Score="59" ViewCount="9268" Body="&lt;p&gt;I'm new to the site. On mathoverflow this would be community wiki, but I don't see how to set that here. Not a research question, but hopefully of interest to professional theoretical computer scientists.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am a 2nd year grad student in theory, and I was wondering what advice the community had for what I should be doing now to aim for a career in academia. I know I should &quot;do great research&quot; -- yes, I try. :-) I am looking for less obvious advice. How important are social aspects? Going to conferences, knowing great people? Am I at a big disadvantage if my advisor/school are not famous? Does a blog help/hurt my chances?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks!&lt;/p&gt;&#xA;" OwnerDisplayName="Vipul" LastEditorUserId="186" LastEditDate="2010-11-12T09:12:44.643" LastActivityDate="2012-04-04T19:24:36.650" Title="How to get a job" Tags="&lt;soft-question&gt;&lt;career&gt;&lt;advice-request&gt;" AnswerCount="6" CommentCount="3" FavoriteCount="39" CommunityOwnedDate="2010-10-15T17:20:20.590" ContentLicense="CC BY-SA 2.5" />
  <row Id="2216" PostTypeId="2" ParentId="1597" CreationDate="2010-10-15T15:21:38.037" Score="3" Body="&lt;p&gt;This is a comment that was too long for the comment block.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;@Per Vognsen's method takes $O((\log B)^{n-1})$ and $\Omega((\log B/\log p)^{n-1})$ steps, where $p_0&amp;lt; p_1&amp;lt; \cdots&amp;lt; p_{n-1}&amp;lt; p$ and $n &gt;1$. (When $n=1$ the problem is trivial and the algorithm runs in quasilinear time in $\log B$.)  It takes about the same memory: it loses a factor of $\log B/\log p$ by discarding numbers already output, but gains a factor $\log B$ because the size of the numbers at the high end.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;@Incredible's method takes time $O(n\log^3 C)$ and $\Omega(n\log B)$ to test a number in [B, C].  Assuming n &gt; 1, we can take $B\sim C$; otherwise this method is essentially infeasible (taking $\Omega(Bp_0\log B)$ time). Then the number of numbers that must be examined is at most the size of the gap between ${p_0,\ldots,p_{n-1}}$-smooth numbers. &lt;em&gt;Very&lt;/em&gt; roughly, the x-th smooth number is $e^\sqrt{x}$, so the expected gap is something like $e^{\sqrt{x+1}-\sqrt x}\approx e^\sqrt{x}/(2\sqrt x)\approx e^{\log B}/(2\log B)=B/2\log B$. Assuming (!) that this is the maximal order, this method takes time $\Omega(nB)$, though only $O(\log B)$ memory.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For fixed n and p, Per Vognsen's method takes polynomial time and space, while Incredible's method takes exponential time and polynomial (indeed, linear!) space.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Neither method is reasonable for fixed B: both take exponential time.  A sensible algorithm takes, conjecturally (Cramer), polynomial time -- at least, assuming the first n primes are taken.&lt;/p&gt;&#xA;" OwnerUserId="962" LastActivityDate="2010-10-15T15:21:38.037" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2217" PostTypeId="2" ParentId="2214" CreationDate="2010-10-15T16:02:27.457" Score="8" Body="&lt;p&gt;I am not sure if I understand the question correctly, but the proof by Dobkin and Lipton [DL79] that the uniqueness problem on &lt;i&gt;n&lt;/i&gt; numbers requires Ω(&lt;i&gt;n&lt;/i&gt; log &lt;i&gt;n&lt;/i&gt;) comparisons in the linear decision tree model is much easier than the stronger result in the algebraic computation tree model by Ben-Or [Ben83] (not surprisingly).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;References&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[Ben83]  Michael Ben-Or.  Lower bounds for algebraic computation trees.  In &lt;em&gt;Proceedings of the Fifteenth Annual ACM Symposium on Theory of Computing (STOC 1983)&lt;/em&gt;, pp. 80–86, April 1983.  &lt;a href=&quot;http://doi.acm.org/10.1145/800061.808735&quot;&gt;http://doi.acm.org/10.1145/800061.808735&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[DL79] David P. Dobkin and Richard J. Lipton.  On the complexity of computations under varying sets of primitives.  &lt;em&gt;Journal of Computer and System Sciences&lt;/em&gt;, 18(1):86–91, Feb. 1979.  &lt;a href=&quot;http://dx.doi.org/10.1016/0022-0000(79)90054-0&quot;&gt;http://dx.doi.org/10.1016/0022-0000(79)90054-0&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="567" LastActivityDate="2010-10-15T16:02:27.457" CommentCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="2218" PostTypeId="2" ParentId="1168" CreationDate="2010-10-15T16:04:44.803" Score="18" Body="&lt;p&gt;Kurt Gödel's &lt;a href=&quot;http://www.csee.wvu.edu/~xinl/library/papers/math/Godel.pdf&quot;&gt;On formally undecidable propositions of Principia Mathematica and related systems&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="947" LastEditorUserId="974" LastEditDate="2010-12-16T17:42:32.617" LastActivityDate="2010-12-16T17:42:32.617" CommentCount="1" CommunityOwnedDate="2010-10-15T16:04:44.803" ContentLicense="CC BY-SA 2.5" />
  <row Id="2219" PostTypeId="2" ParentId="2214" CreationDate="2010-10-15T16:08:03.700" Score="5" Body="&lt;p&gt;Any certificate (proof) of distinctness that uses only &amp;lt;, = and &gt; must include comparisons between each pair of adjacent elements in the sorted order. Therefore any certificate of distinctness gives enough information to sort and hence the standard information-theoretic lower bound for sorting applies to any deterministic distinctness algorithm as well.&lt;/p&gt;&#xA;" OwnerUserId="1522" LastActivityDate="2010-10-15T16:08:03.700" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="2220" PostTypeId="2" ParentId="1168" CreationDate="2010-10-15T16:11:42.587" Score="15" Body="&lt;p&gt;Alan Turing's &lt;a href=&quot;http://www.cs.umbc.edu/courses/471/papers/turing.pdf&quot;&gt;Computing Machinery and Intelligence&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="947" LastActivityDate="2010-10-15T16:11:42.587" CommentCount="0" CommunityOwnedDate="2010-10-15T16:11:42.587" ContentLicense="CC BY-SA 2.5" />
  <row Id="2221" PostTypeId="1" AcceptedAnswerId="2222" CreationDate="2010-10-15T16:39:19.807" Score="2" ViewCount="726" Body="&lt;p&gt;Hello&#xA;Does someone have an idea for heuristics for the problem:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Given undirected weighted(weights on edges) complete&#xA;  graph $G(V,E)[|V|=n,|E| = m]$, find a clique of size $k &amp;lt; n$(k is number of nodes) having&#xA;  the minimum weight.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I have searched for minclique problem but it doesn't really answer my question.&#xA;Thank you in advance.&lt;/p&gt;&#xA;" OwnerUserId="1648" LastEditorUserId="1648" LastEditDate="2010-10-15T20:15:54.243" LastActivityDate="2010-10-15T20:15:54.243" Title="Heuristics for the minimum-weight $k$-clique problem" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;clique&gt;&lt;heuristics&gt;" AnswerCount="1" CommentCount="9" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2222" PostTypeId="2" ParentId="2221" CreationDate="2010-10-15T17:03:40.900" Score="4" Body="&lt;p&gt;Your problem appears to be the minimization variant (flip the edge weight signs?) of the edge-weighted maximal clique problem. Check out this reference:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;@article{park1996extended,&lt;br&gt;&#xA;  title={{An extended formulation&#xA;  approach to the edge-weighted maximal&#xA;  clique problem}},&lt;br&gt;&#xA;  author={Park, K.&#xA;  and Lee, K. and Park, S.},&lt;br&gt;&#xA;  journal={European Journal of&#xA;  Operational Research},&lt;br&gt;&#xA;  volume={95}, &#xA;  number={3},&lt;br&gt;&#xA;  pages={671--682},&lt;br&gt;&#xA;  year={1996},&lt;br&gt;&#xA;  publisher={Elsevier} }&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;where they discuss various LP-based heuristics. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2010-10-15T17:03:40.900" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2223" PostTypeId="1" AcceptedAnswerId="2225" CreationDate="2010-10-15T17:08:57.300" Score="13" ViewCount="442" Body="&lt;p&gt;In an application I'm considering, I need to know the communication complexity of the following problem: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given $n$, let $S$ be the set of integers from $1$ to $n$. Alice, Bob, and Carol each receives a subset of $S$, denoted by $A$, $B$, and $C$, respectively. They want to check whether $A$, $B$ and $C$ form a partition of $S$, i.e., they are disjoint and their union is $S$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm particularly interested in the case of 3 parties but other cases would be interesting as well.  Note that for the case of 2 parties, the problem is equivalent to EQUALITY problem so it has $\Omega(n)$ lower bound for deterministic protocols but $O(\log n)$ upper bound for randomized protocols. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is whether this problem is known before. If you know any problems that might be related, I would be interested to know as well. &lt;/p&gt;&#xA;" OwnerUserId="317" LastEditorUserId="186" LastEditDate="2010-12-16T22:33:51.303" LastActivityDate="2019-01-25T08:08:36.640" Title="multi-party Communication complexity of &quot;Set Partition problem&quot;" Tags="&lt;cc.complexity-theory&gt;&lt;communication-complexity&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="2224" PostTypeId="2" ParentId="1427" CreationDate="2010-10-15T17:19:22.917" Score="5" Body="&lt;p&gt;I am not sure if this is what you need.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Both Edge Clique cover and Edge Clique partition are in FPT, see&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://theinf1.informatik.uni-jena.de/publications/clique-cover-jea07.pdf&quot;&gt;Data reduction and exact algorithms for clique cover&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://crpit.com/confpapers/CRPITV77Mujuni.pdf&quot;&gt;Parameterized complexity of the clique partition problem&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Biclique cover is also studied and shown to be in FPT.&lt;/p&gt;&#xA;" OwnerUserId="1607" LastActivityDate="2010-10-15T17:19:22.917" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2225" PostTypeId="2" ParentId="2223" CreationDate="2010-10-15T18:14:18.703" Score="17" Body="&lt;p&gt;A linear lower bound on deterministic CC follows by fixing one of the sets to be empty.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For a randomized logarithmic upper bound, first note that this problem can be reduced to the problem asking whether the sum of three &lt;span class=&quot;math-container&quot;&gt;$3n$&lt;/span&gt;-bit numbers is exactly &lt;span class=&quot;math-container&quot;&gt;$2^{3n}-1$&lt;/span&gt;.  This one can be solved in &lt;span class=&quot;math-container&quot;&gt;$O(\log n)$&lt;/span&gt; randomized communication by the players operating mod a random &lt;span class=&quot;math-container&quot;&gt;$O(\log n)$&lt;/span&gt;-bit prime.  &lt;/p&gt;&#xA;" OwnerUserId="42" LastEditorDisplayName="user30448" LastEditDate="2019-01-25T08:08:36.640" LastActivityDate="2019-01-25T08:08:36.640" CommentCount="1" ContentLicense="CC BY-SA 4.0" />
  <row Id="2226" PostTypeId="2" ParentId="2208" CreationDate="2010-10-15T19:02:43.870" Score="3" Body="&lt;p&gt;If the size of output is not large (say polynomial), then one can compute the function from its bit-graph easily. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In particular, since the size of $d$ will be linear in the size of $N$, one can compute $d$ from your problem in linear-time and logarithmic space, i.e. the bit-graph function is &lt;em&gt;not&lt;/em&gt; easier than the original function in this case.&#xA;(For problem to make sense, I assume that we are looking for a well-defined $d$, say the smallest or largest non-trivial divisor.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The bit-graph complexity is more interesting if the size of output is large, such as functions $n!$ or $n^m$.&lt;/p&gt;&#xA;" OwnerUserId="186" LastActivityDate="2010-10-15T19:02:43.870" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2227" PostTypeId="1" AcceptedAnswerId="2243" CreationDate="2010-10-15T19:08:36.113" Score="2" ViewCount="443" Body="&lt;p&gt;I am working on GIS project where we are making use of road maps that may contain one-way streets.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We are writing some debugging tools one of which I want to design to find &quot;Islands&quot;.  This would list out all the sets of vertices such that for each pair of vertices A, B in a set you would be able to get from A to B and from B to A.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is an example:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;A&amp;lt;----------------------&amp;gt; B&#xA;\                        /&#xA; \                      /&#xA;  \                    /&#xA;   \                  /&#xA;    \                /&#xA;     \              /&#xA;      \            /&#xA;       \          /&#xA;        \        /&#xA;         \      /  &#xA;         v     v&#xA;            C&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;In this case the islands are {c} and {a,b}.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I expect that this reduces to some well-known graph-theory algorithm, but I don't see it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does anyone have any pointers for me to do further research or some ideas about a solution?&lt;/p&gt;&#xA;" OwnerUserId="1780" LastEditorUserId="186" LastEditDate="2011-03-16T05:15:45.427" LastActivityDate="2011-03-16T05:15:45.427" Title="Finding islands of vertices in a network of roads containing one-way streets" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;formal-modeling&gt;" AnswerCount="1" CommentCount="5" ClosedDate="2010-10-17T06:10:12.233" ContentLicense="CC BY-SA 2.5" />
  <row Id="2229" PostTypeId="1" AcceptedAnswerId="2230" CreationDate="2010-10-15T22:11:47.960" Score="17" ViewCount="713" Body="&lt;p&gt;This question is inspired by the Georgia Tech &lt;a href=&quot;http://arc.gatech.edu&quot;&gt;Algorithms and Randomness Center&lt;/a&gt;'s t-shirt, which asks &quot;Randomize or not?!&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are many examples where randomizing helps, especially when operating in adversarial environments.  There are also some settings where randomizing doesn't help or hurt.  My question is:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What are some settings when randomizing (in some seemingly reasonable way) actually hurts?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Feel free to define &quot;settings&quot; and &quot;hurts&quot; broadly, whether in terms of problem complexity, provable guarantees, approximation ratios, or running time (I expect running time is where the more obvious answers will lie).  The more interesting the example, the better!&lt;/p&gt;&#xA;" OwnerUserId="123" LastEditorUserId="80" LastEditDate="2010-10-15T22:13:16.103" LastActivityDate="2013-08-26T17:12:20.843" Title="Randomize or Not?" Tags="&lt;randomness&gt;&lt;big-picture&gt;&lt;randomized-algorithms&gt;" AnswerCount="3" CommentCount="5" FavoriteCount="6" ContentLicense="CC BY-SA 2.5" />
  <row Id="2230" PostTypeId="2" ParentId="2229" CreationDate="2010-10-15T22:54:30.287" Score="25" Body="&lt;p&gt;Here is a simple example from game theory. In games in which both pure and mixed Nash equilibria exist, the mixed ones are often much less natural, and much &quot;worse&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, consider a simple balls and bins game: there are n bins, and n balls (players). Each player gets to pick a bin, and incurs a cost equal to the number of people in his bin. The pure Nash equilibrium has everyone each picking a unique bin, and nobody incurs cost more than 1. However, there is a mixed Nash equilibrium in which everyone randomly chooses a bin, and then with high probability, there will be one bin with ~ $\log(n)/\log\log(n)$ people. Since OPT is 1, that means that (if what we care about is max player cost), if randomization is not allowed, then the price of anarchy is 1. But if randomization is allowed, it grows unboundedly with the number of players in the game.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The takeaway message: randomization can harm coordination. &lt;/p&gt;&#xA;" OwnerUserId="25" LastEditorUserId="-1" LastEditDate="2011-02-16T21:11:55.180" LastActivityDate="2011-02-16T21:11:55.180" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="2231" PostTypeId="2" ParentId="2229" CreationDate="2010-10-16T06:15:04.710" Score="6" Body="&lt;p&gt;Let me first bring about an issue regarding randomness:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Does there exist any randomness in the universe, or is everything deterministic?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;This is a philosophical question which is both controversial and unrelated to the context here. Yet I used it as word of warning, since the upcoming answer will be controversial if one digs too deep into the above question.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Shannon%E2%80%93Hartley_theorem#Noisy_channel_coding_theorem_and_capacity&quot; rel=&quot;nofollow&quot;&gt;Shannon–Hartley theorem&lt;/a&gt; describes the &lt;em&gt;capacity&lt;/em&gt; of a communication channel in the presence of noise. The noise changes 0s to 1s and vice versa, with some pre-specified probability.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If the channel behaved in a deterministic way---That is, if we could model noise in a way that we were able to determine what bits would change---The capacity of the channel would be infinitely large. Very desirable!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I like to analogize randomness to friction: It is resisting movement, yet movement is impossible without it.&lt;/p&gt;&#xA;" OwnerUserId="873" LastEditorUserId="873" LastEditDate="2013-08-26T17:12:20.843" LastActivityDate="2013-08-26T17:12:20.843" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="2233" PostTypeId="2" ParentId="2229" CreationDate="2010-10-16T08:44:20.163" Score="13" Body="&lt;p&gt;Here is a simple example from the field of distributed algorithms.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Typically randomness helps tremendously. Randomised distributed algorithms are often easier to design and they are faster.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However,  if you have a fast &lt;em&gt;deterministic&lt;/em&gt; distributed algorithm, you can mechanically convert [&lt;a href=&quot;http://dx.doi.org/10.1109/SFCS.1988.21938&quot;&gt;1&lt;/a&gt;, &lt;a href=&quot;http://dx.doi.org/10.1109/SFCS.1991.185377&quot;&gt;2&lt;/a&gt;] it into a fast &lt;a href=&quot;http://en.wikipedia.org/wiki/Self-stabilization&quot;&gt;self-stabilising algorithm&lt;/a&gt;. In essence, you will get a very strong version of fault-tolerance for free (at least if the bottleneck resource is the number of communication rounds). You can simplify your algorithm design by focusing on fault-free synchronous static networks, and the conversion will give you a fault-tolerant algorithm that can handle asynchronous dynamic networks.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;No such conversion is known for &lt;em&gt;randomised&lt;/em&gt; distributed algorithms in general.&lt;/p&gt;&#xA;" OwnerUserId="74" LastActivityDate="2010-10-16T08:44:20.163" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2234" PostTypeId="2" ParentId="2215" CreationDate="2010-10-16T11:49:23.650" Score="56" Body="&lt;p&gt;Ok, let me bite with my own opinions:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;How important are social aspects?&lt;/em&gt; &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would say that they are very important.  Despite popular myth, scientific research is really a social activity -- Your research &lt;em&gt;must&lt;/em&gt; interest other people in the area.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Going to conferences,&lt;/em&gt; &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Very important -- for the previous reason&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;knowing great people?&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Practically it may help a bit if &lt;em&gt;they know you&lt;/em&gt; as their recommendation letters may carry more weight - but even this is really second-order.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Am I at a big disadvantage if my advisor/school are not famous?&lt;/em&gt; &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The truth is that it is often harder to find the &quot;right problems&quot; to work on when you are not at a central department in your area. Human nature being what it is, it may also be somewhat more difficult to get your papers into conferences and journals if you are not from a &quot;famous&quot; school -- but I believe that not by much and that this is quite minor in TCS. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Does a blog help/hurt my chances?&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Well, it depends what you write there....  On the average, I would guess that it's a net plus.&lt;/p&gt;&#xA;" OwnerUserId="42" LastEditorUserId="236" LastEditDate="2010-10-16T17:15:07.017" LastActivityDate="2010-10-16T17:15:07.017" CommentCount="0" CommunityOwnedDate="2010-10-16T11:49:23.650" ContentLicense="CC BY-SA 2.5" />
  <row Id="2235" PostTypeId="2" ParentId="1471" CreationDate="2010-10-16T12:43:40.253" Score="2" Body="&lt;p&gt;Maybe one could say that &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;a theoretical computer scientist&#xA;  studies really really hard problems&#xA;  related to computer science.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The scientist will not use a computer while being creative, but rather think a lot, scribble formulas and quirky drawings on paper and occasionally wander around. Thereby the immediate practicability is not the most important thing, it's more like an artist exploring and trying to make sense of the mysteries of this world.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then one could mention things which rely on some elegant solutions by theoreticians, like the computer, the internet, search engines, secure banking, 3D movies, DNA sequencing, etc. But one should always stress that nobody knows the applications of today's research yet, some of it may first be seen in several decades.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;From my experience, many people have an AHA-moment when they realize that computer science, and theory in special is so rich in interesting questions and problems to study. Many of which can be described on a high level! This is a list from Prof. Wikipedia (via SIGACT), pick your favorites: algorithms, data structures, computational complexity theory, distributed computation, parallel computation, VLSI, machine learning, computational biology, computational geometry, information theory, cryptography, quantum computation, computational number theory and algebra, program semantics and verification, automata theory, and the study of randomness.&lt;/p&gt;&#xA;" OwnerUserId="146" LastActivityDate="2010-10-16T12:43:40.253" CommentCount="0" CommunityOwnedDate="2010-10-16T12:43:40.253" ContentLicense="CC BY-SA 2.5" />
  <row Id="2236" PostTypeId="1" AcceptedAnswerId="2239" CreationDate="2010-10-16T15:24:34.763" Score="16" ViewCount="527" Body="&lt;p&gt;Nisan proved in &quot;Psuedorandom Generators for Space-Bounded Computation&quot;,&#xA;that there exists a pseudo-random generator which &quot;fools&quot; space-bounded computations.&#xA;Does this construction hold for every oracle (at least for non-adaptive queries) ?&lt;/p&gt;&#xA;" OwnerUserId="364" LastEditorUserId="206" LastEditDate="2010-10-16T15:39:40.717" LastActivityDate="2010-10-16T17:43:25.607" Title="Does Nisan's pseudo-random generator relativize?" Tags="&lt;cc.complexity-theory&gt;&lt;space-bounded&gt;&lt;derandomization&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="2238" PostTypeId="2" ParentId="2215" CreationDate="2010-10-16T16:10:05.513" Score="35" Body="&lt;p&gt;By far, the most important thing is to do great research. Then, there is making people know you do great research. Here's what I think (the order matters):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Know yourself.&lt;/strong&gt; What do you like? What are you good at? What's important for you? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Solving hard well-defined problems, or working on an open-ended project? Doing highly theoretic work, or solving problems with concrete real-life applications? Working on small-scale projects, or doing research marathons? &#xA;How do you learn best? How do you work best?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are lots of ways to do great work, and the world benefits from them all. Find your own style, and adjust things to make it work.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also - ask yourself these questions periodically, answer honestly, and plan accordingly:&#xA;Where do you stand? Where do you want to go? How can you improve, e.g., your knowledge, your skills, your approach? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Work with good people on worthy projects.&lt;/strong&gt;&#xA;Work with people that have done successful research in the past, and whom you appreciate, people who are smart, skillful, experienced, motivated, and, very importantly, nice and trustworthy.&#xA;Work with them on a project in their area of expertise that is exciting both to them and to you. That's the best way to learn. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Be active.&lt;/strong&gt;&#xA;After you gained some experience in research and in presentation of your work,&#xA;talk to more researchers, go to conferences, invite good people to visit and give talks,  take internships, visit good places. Write a good survey on your area of expertise. Write a blog or an essay. Teach or co-teach a course or a mini-course. It all depends on what you're good at and what you like doing.&lt;/p&gt;&#xA;" OwnerUserId="1621" LastEditorUserId="1522" LastEditDate="2010-10-17T14:34:16.850" LastActivityDate="2010-10-17T14:34:16.850" CommentCount="0" CommunityOwnedDate="2010-10-16T16:10:05.513" ContentLicense="CC BY-SA 2.5" />
  <row Id="2239" PostTypeId="2" ParentId="2236" CreationDate="2010-10-16T17:43:25.607" Score="18" Body="&lt;p&gt;It depends on whether in your definition of the Oracle TM, the oracle query tape is also bounded to be of logarithmic size: if it is bounded then the PRG fools also L^A for any A too, if it is not bounded then A can contain the list of &quot;pseudorandom strings&quot; and thus L^A will not be fooled.  &lt;/p&gt;&#xA;" OwnerUserId="42" LastActivityDate="2010-10-16T17:43:25.607" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="2240" PostTypeId="1" AcceptedAnswerId="2241" CreationDate="2010-10-16T18:16:46.113" Score="1" ViewCount="235" Body="&lt;p&gt;We are given a $G(V,E)$ digraph and a $c:E \rightarrow \mathbb{R}$ weight function. We are searching for a set of $C_{1}(V_{1},E_{1}),C_{2}(V_{2},E_{2}),\ldots,C_{k}(V_{k},E_{k})$ directed circles such that $V_{1},\ldots,V_{k}$ form a partition of $V$ and $\sum_{i = 1}^{k}\sum_{e \in E_{i}}c(e)$ is minimal among all such covers. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I know there is a polynomial algorithm which solves this problem. I just don't know what that algorithm is. Anyone knows this problem and can give a hint or a solution?(hint preferred)&lt;/p&gt;&#xA;" OwnerUserId="1784" LastActivityDate="2010-10-16T19:28:09.403" Title="Minimal directed circles partition cover of a directed graph" Tags="&lt;ds.algorithms&gt;" AnswerCount="1" CommentCount="15" FavoriteCount="0" ClosedDate="2010-10-16T20:35:14.610" ContentLicense="CC BY-SA 2.5" />
  <row Id="2241" PostTypeId="2" ParentId="2240" CreationDate="2010-10-16T19:28:09.403" Score="2" Body="&lt;p&gt;This is done by using minimum cost flow. See section 17.4 &lt;a href=&quot;http://valis.cs.uiuc.edu/~sariel/teach/notes/algos/lec/17_flow_mc_II.pdf&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="9594" LastActivityDate="2010-10-16T19:28:09.403" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2242" PostTypeId="2" ParentId="174" CreationDate="2010-10-16T20:21:57.800" Score="27" Body="&lt;p&gt;Separate NEXP from BPP.  People tend to believe BPP=P, but no one can separate&#xA;NEXP from BPP.&lt;/p&gt;&#xA;" OwnerDisplayName="Bin Fu" LastActivityDate="2010-10-16T20:21:57.800" CommentCount="0" CommunityOwnedDate="2010-10-16T20:21:57.800" ContentLicense="CC BY-SA 2.5" />
  <row Id="2243" PostTypeId="2" ParentId="2227" CreationDate="2010-10-16T21:56:58.913" Score="2" Body="&lt;p&gt;As Robin says, you want strongly connected components.  They can be easily found using &lt;a href=&quot;http://en.wikipedia.org/wiki/Tarjan%27s_strongly_connected_components_algorithm&quot; rel=&quot;nofollow&quot;&gt;Tarjan's algorithm&lt;/a&gt;, &lt;a href=&quot;http://en.wikipedia.org/wiki/Gabow%27s_algorithm&quot; rel=&quot;nofollow&quot;&gt;Gabow's algorithm&lt;/a&gt;, or several others.&lt;/p&gt;&#xA;" OwnerUserId="205" LastActivityDate="2010-10-16T21:56:58.913" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2244" PostTypeId="2" ParentId="174" CreationDate="2010-10-17T01:35:43.793" Score="18" Body="&lt;p&gt;What about proving BPP is contained in NP? (Unconditionally; we already know that BPP=P assuming pretty reasonable complexity assumptions)&lt;/p&gt;&#xA;" OwnerUserId="1621" LastActivityDate="2010-10-17T01:35:43.793" CommentCount="0" CommunityOwnedDate="2010-10-17T01:35:43.793" ContentLicense="CC BY-SA 2.5" />
  <row Id="2245" PostTypeId="2" ParentId="174" CreationDate="2010-10-17T02:23:37.477" Score="9" Body="&lt;p&gt;Proving that BPP is in NP is harder than separating NEXP from BPP&lt;/p&gt;&#xA;&#xA;&lt;p&gt;That BPP is in NP implies that the polynomial identity problem is in NP, which separates NEXP from P/Poly (BPP is in P/Poly).&lt;/p&gt;&#xA;" OwnerDisplayName="Bin Fu" LastActivityDate="2010-10-17T02:23:37.477" CommentCount="1" CommunityOwnedDate="2010-10-17T02:23:37.477" ContentLicense="CC BY-SA 2.5" />
  <row Id="2247" PostTypeId="1" AcceptedAnswerId="2250" CreationDate="2010-10-17T10:09:09.640" Score="12" ViewCount="1066" Body="&lt;p&gt;The following question uses ideas from cryptography applied to complexity theory. That said, it is a purely complexity-theoretic question, and no crypto knowledge whatsoever is required to answer it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I deliberately write this question very informally. Lacking details, it is possibly stated a bit incorrectly. Please feel free to point out the corrections in your answers.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;In the following papaper:&lt;br/&gt;&#xA;&lt;a href=&quot;http://link.aip.org/link/SIREAD/v45/i4/p727/s1&quot;&gt;Nonmalleable Cryptography, Danny Dolev, Cynthia Dwork, and Moni Naor, SIAM Rev. 45, 727 (2003), DOI:10.1137/S0036144503429856&lt;/a&gt;,&lt;br/&gt;&#xA;the authors write:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Suppose researcher A has obtained a proof that &lt;strong&gt;P ≠ NP&lt;/strong&gt; and wishes to communicate this fact to professor B. Suppose that, to protect herself, A proves her claim to B in a &lt;em&gt;zero-knowledge fashion&lt;/em&gt;...&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;There are several standard NP-complete problems, like satisfiability (SAT), Graph-Hamiltonicity, and Graph-3-Colorability (G3C), for which zero-knowledge proofs exist. The standard way of proving any NP-theorem is to first reduce it to an instance of the aforementioned NP-complete problems, and then conduct the zero-knowledge proof.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This question pertains to such reduction. Assume that the &lt;strong&gt;P vs. NP&lt;/strong&gt; is settled in any of the following ways:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;P = NP&lt;/li&gt;&#xA;&lt;li&gt;P ≠ NP&lt;/li&gt;&#xA;&lt;li&gt;P vs. NP is independent of the standard axiomatic set theory.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Let σ denote the proof. Then, &lt;strong&gt;P vs. NP&lt;/strong&gt; is in an &lt;strong&gt;NP&lt;/strong&gt; language (since there exists a short proof for it). The reduction from the theorem (say, P ≠ NP) to the NP-complete problem (say SAT) is independent of σ. That is:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;code&gt;There exists a formula ϕ which is satisfiable if and only if P ≠ NP.&lt;/code&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is well beyond my imagination! It seems that, even if we are given the proof σ, it is unlikely that we can construct such formula ϕ.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Could anyone shed some light on this?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;In addition, let L be an NP language in which &lt;strong&gt;P vs. NP&lt;/strong&gt; lies. The language is consists of infinitely many theorems like &lt;strong&gt;P vs. NP&lt;/strong&gt;, of arbitrary sizes.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What is a candidate for L? &lt;br/&gt;&#xA;  Can L be NP-complete?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="873" LastEditorUserId="873" LastEditDate="2010-10-17T18:35:29.763" LastActivityDate="2010-10-17T18:35:29.763" Title="Reducing P vs. NP to SAT" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;np-hardness&gt;&lt;p-vs-np&gt;" AnswerCount="2" CommentCount="5" FavoriteCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="2248" PostTypeId="2" ParentId="174" CreationDate="2010-10-17T11:07:20.607" Score="7" Body="&lt;ul&gt;&#xA;&lt;li&gt;Do a pseudo-randomized numbers generator exist?&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="1796" LastEditorUserId="1796" LastEditDate="2019-09-22T11:18:13.640" LastActivityDate="2019-09-22T11:18:13.640" CommentCount="1" CommunityOwnedDate="2010-10-17T11:07:20.607" ContentLicense="CC BY-SA 4.0" />
  <row Id="2249" PostTypeId="2" ParentId="174" CreationDate="2010-10-17T11:15:49.490" Score="6" Body="&lt;p&gt;If P != NP, Does the polynomial hierarchy collapse?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Because if P = NP then it completely collapses, of course)&lt;/p&gt;&#xA;" OwnerUserId="1796" LastEditorUserId="495" LastEditDate="2011-10-30T08:52:55.837" LastActivityDate="2011-10-30T08:52:55.837" CommentCount="0" CommunityOwnedDate="2010-10-17T11:15:49.490" ContentLicense="CC BY-SA 3.0" />
  <row Id="2250" PostTypeId="2" ParentId="2247" CreationDate="2010-10-17T11:49:42.673" Score="20" Body="&lt;p&gt;The way to view testing a math statement (e.g., a resolution of P vs NP) as a question of the form &quot;is formula .. satisfiable&quot; is the following:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Fix some axiom system.&#xA;Given a string of length n, whether the string is a proof for the math statement in the axiom system, is something one can define in a straightforward manner:&#xA;the string should consist of propositions. Each proposition should either be an axiom, or should follow from the previous propositions by one of the inference rules.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's not a problem to define a Boolean formula that verifies all this.&#xA;All you should know is the length n of the proof!&lt;/p&gt;&#xA;" OwnerUserId="1621" LastActivityDate="2010-10-17T11:49:42.673" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2251" PostTypeId="2" ParentId="2247" CreationDate="2010-10-17T12:39:39.187" Score="9" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;P vs. NP is in NP (since there exists a short proof for it)&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;That doesn't make much sense to me. NP is a complexity class for decision problems which have arbitrarily large instances, and P vs. NP doesn't have them. From what you say later:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;let L be an NP language in which P vs. NP lies.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;you may instead mean that P vs. NP is an instance of an NP problem; but of course it is! It is also instance of an infinite number of P, DTIME(n), etc. problems. In particular, here are two DTIME(1) candidates for L, precisely one of which is correct: always return &lt;code&gt;true&lt;/code&gt;; or always return &lt;code&gt;false&lt;/code&gt;.&lt;/p&gt;&#xA;" OwnerUserId="1336" LastActivityDate="2010-10-17T12:39:39.187" CommentCount="14" ContentLicense="CC BY-SA 2.5" />
  <row Id="2252" PostTypeId="1" AcceptedAnswerId="2813" CreationDate="2010-10-17T13:08:54.983" Score="47" ViewCount="6584" Body="&lt;p&gt;The Chomsky(–Schützenberger) hierarchy is used in textbooks of theoretical computer science, but it obviously only covers a very small fraction of formal languages (REG, CFL, CSL, RE) compared to the full &lt;a href=&quot;http://www.math.ucdavis.edu/~greg/zoology/relations.html&quot;&gt;Complexity Zoo Diagram&lt;/a&gt;. Does the hierarchy play any role in current research anymore? I found only little references to Chomsky here at cstheory.stackexchange, and in &lt;a href=&quot;http://qwiki.stanford.edu/wiki/Complexity_Zoo&quot;&gt;Complexity Zoo&lt;/a&gt; the names Chomsky and Schützenberger are not mentioned at all.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is current research more focused on other means of description but formal grammars? I was looking for practical methods to describe formal languages with different expressiveness, and stumbled upon growing context sensitive language (GCSL) and visibly pushdown languages (VPL), which both lie between the classic Chomsky languages. Shouldn't the Chomsky hierarchy be updated to include them? Or is there no use of selecting a specific hierarchy from the full set of complexity classes? I tried to select only those languages that can be fit in gaps of the Chomsky hierarchy, as far as I understand:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;REG (=Chomsky 3) ⊊ VPL ⊊ DCFL ⊊ CFL (=Chomsky 2) ⊊ GCSL ⊊ CSL (=Chomsky 1) ⊊ R ⊊ RE&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I still don't get where &quot;mildly context-sensitive languages&quot; and &quot;indexed languages&quot; fit in (somewhere between CFL and CSL) although there seems to be of practical relevance for natural language processing (but maybe anything of practical relevance is less interesting in theoretical research ;-). In addition you could mention GCSL ⊊ P ⊂ NP ⊂ PSPACE and CSL ⊊ PSPACE ⊊ R to show the relation to the famous classes P and NP.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I found on GCSL and VPL:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Robert McNaughton: An Insertion into the Chomsky Hierarchy?. In: Jewels are Forever, Contributions on Theoretical Computer Science in Honor of Arto Salomaa. S. 204-212, 1999&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Nested_word#References&quot;&gt;http://en.wikipedia.org/wiki/Nested_word#References&lt;/a&gt; (VPL)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I'd also be happy if you know any more recent textbook on formal grammars that also deal with VPL, DCLF, GCSL and indexed grammars, preferable with pointers to practical applications.&lt;/p&gt;&#xA;" OwnerUserId="758" LastEditorUserId="186" LastEditDate="2010-10-19T07:29:42.510" LastActivityDate="2015-04-27T14:20:25.127" Title="Is the Chomsky-hierarchy outdated?" Tags="&lt;cc.complexity-theory&gt;&lt;automata-theory&gt;&lt;fl.formal-languages&gt;&lt;big-picture&gt;&lt;teaching&gt;" AnswerCount="5" CommentCount="5" FavoriteCount="23" ContentLicense="CC BY-SA 2.5" />
  <row Id="2253" PostTypeId="2" ParentId="2252" CreationDate="2010-10-17T13:19:53.717" Score="11" Body="&lt;p&gt;I think it depends on the model of computation. If you consider the finite/pushdown/etc. automata as a model of computation, then Chomsky hierarchy becomes important (see for instance Sipser's book). On the other hand, it plays little role in the Turing model of computation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The following illustration might be helpful:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://www.willamette.edu/~fruehr/446/figs/hierarchy.JPG&quot; /&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit:&lt;/strong&gt; Formal languages play an important role in designing computer languages (such as Java) and compilers, as well as in the natural-language processing (NLP).&lt;/p&gt;&#xA;" OwnerUserId="873" LastEditorUserId="-1" LastEditDate="2017-03-09T18:04:14.373" LastActivityDate="2010-10-17T13:30:14.673" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="2254" PostTypeId="1" AcceptedAnswerId="2256" CreationDate="2010-10-17T14:19:05.327" Score="13" ViewCount="490" Body="&lt;p&gt;The complexity class &lt;a href=&quot;http://en.wikipedia.org/wiki/PPAD_%28complexity%29&quot;&gt;PPAD&lt;/a&gt; is usually defined by stating that End-Of-The-Line is PPAD-complete.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;End-Of-The-Line is a search problem. The input consists of a directed graph in which each node has in-degree and out-degree at most 1. The graph is given by a polynomial-time computable function $f(x)$ that returns the predecessor and successor of $x$. In addition, one is given a node $v$ with a successor but no predecessor. Find a node $t\ne v$ that has no successor or no predecessor.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Recently, I heard a different definition of PPAD. As far as I recall, it was based on the following problem.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;A directed graph (again specified by a polynomial-time computable function) and a node whose in-degree is not equal its out-degree is given. Find another node with this property.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Clearly, End-Of-The-Line is a special case of the latter problem but is the latter problem really more difficult to solve? My question is this:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Are both problems complete for the same complexity class PPAD? If yes, why? If not, what is the complexity class resulting from the second problem?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="127" LastActivityDate="2017-03-23T09:48:28.770" Title="Why are these two definitions of PPAD equivalent?" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;ppad&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="2255" PostTypeId="1" CreationDate="2010-10-17T14:51:53.653" Score="56" ViewCount="4324" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;What tools do you use to write&#xA;  papers?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;From the little experience that I have, theoreticians spend a large amount of time writing and refining papers, besides actually being creative. That is, communicating their work to other people. Maybe papers are not the right way to do so, but that should be left for another discussion. In any case, it seems like one wants to reduce the time spent writing up the results by using as good software tools as possible. So, this questions aims at finding out about some hidden treasures out there.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think most of us use LaTeX and some system for organizing paper references. But there are also vim/emacs and some very nifty libraries which have been a huge time saver for me. Therefore I wanted to know about the setup you use for writing papers, and maybe also some things you've tried to learn and didn't work for you. I would be especially interested in things which might not be as well known but have turned out to speed up things, even if it is, say, some very specific software for drawing graphs or auto-completion features.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Don Knuth tells about his setup in an interview &lt;a href=&quot;http://www.informit.com/articles/article.aspx?p=1193856&quot; rel=&quot;noreferrer&quot;&gt;here&lt;/a&gt;. Search for the question &quot;&lt;em&gt;What set of tools do you use [...]&lt;/em&gt;&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;UPDATE: Sadeq pointed me to a discussion about tools for drawing diagrams &lt;a href=&quot;https://cstheory.stackexchange.com/questions/1677/what-is-the-recommended-software-for-drawing-data-structures-such-as-graphs-and-t&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="146" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2013-03-05T15:42:24.733" Title="What tools do you use to write papers?" Tags="&lt;soft-question&gt;&lt;big-list&gt;&lt;research-practice&gt;&lt;writing&gt;" AnswerCount="16" CommentCount="3" FavoriteCount="47" CommunityOwnedDate="2010-10-17T16:52:55.193" ContentLicense="CC BY-SA 2.5" />
  <row Id="2256" PostTypeId="2" ParentId="2254" CreationDate="2010-10-17T15:26:58.877" Score="15" Body="&lt;p&gt;&lt;strong&gt;For issues with the cited paper, (and hence this answer) see &lt;a href=&quot;https://cstheory.stackexchange.com/questions/37481/does-ppad-really-capture-the-notion-of-finding-another-unbalanced-vertex&quot;&gt;Does PPAD really capture the notion of finding another unbalanced vertex?&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Yes. These two problems are equivalent and hence PPAD-complete. The reduction is given on page 505 of Papadimitriou's original 1994 &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=183127&quot; rel=&quot;nofollow noreferrer&quot;&gt;paper&lt;/a&gt; (&lt;a href=&quot;http://www.cs.berkeley.edu/~christos/papers/On%20the%20Complexity.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;pdf&lt;/a&gt;) introducing &lt;em&gt;End of the Line&lt;/em&gt;. This is valid even if the degree of the graph is exponential, provided we are given an &quot;edge-recognition algorithm&quot; and a &quot;pairing function&quot;. This is also mentioned on the same page. The reduction is given for PPA (the undirected version of PPAD). It can be extended to PPAD as well.&lt;/p&gt;&#xA;" OwnerUserId="344" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2017-03-23T09:48:28.770" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="2257" PostTypeId="1" CreationDate="2010-10-17T15:57:28.287" Score="20" ViewCount="2755" Body="&lt;p&gt;I was using Jung ( &lt;a href=&quot;http://jung.sourceforge.net/&quot;&gt;http://jung.sourceforge.net/&lt;/a&gt; ) to visualize page rank and found it a little slow and difficult to scale it beyond 100 nodes. I was wondering what other tools people use for network / social network analysis and visualization.&lt;/p&gt;&#xA;" OwnerUserId="1799" LastEditorUserId="186" LastEditDate="2011-03-20T08:53:32.497" LastActivityDate="2011-05-15T19:24:23.457" Title="Network / Social network analysis visualization tools?" Tags="&lt;graph-theory&gt;&lt;big-list&gt;&lt;cg.comp-geom&gt;&lt;software&gt;&lt;graph-drawing&gt;" AnswerCount="6" CommentCount="2" FavoriteCount="12" CommunityOwnedDate="2011-03-20T08:54:52.793" ContentLicense="CC BY-SA 2.5" />
  <row Id="2258" PostTypeId="2" ParentId="2257" CreationDate="2010-10-17T16:21:33.213" Score="5" Body="&lt;p&gt;Check &lt;a href=&quot;http://networkviz.sourceforge.net/&quot; rel=&quot;nofollow&quot;&gt;this link&lt;/a&gt;&#xA;&lt;a href=&quot;http://networkviz.sourceforge.net/&quot; rel=&quot;nofollow&quot;&gt;&lt;/a&gt; for pointers to several network analysis and visualization tools. They include:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://csbi.sourceforge.net/&quot; rel=&quot;nofollow&quot;&gt;GINY: Graph INterface librarY&lt;/a&gt;&#xA;&lt;a href=&quot;http://csbi.sourceforge.net/&quot; rel=&quot;nofollow&quot;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.touchgraph.com/index.html&quot; rel=&quot;nofollow&quot;&gt;TouchGraph&lt;/a&gt;&#xA;&lt;a href=&quot;http://www.touchgraph.com/index.html&quot; rel=&quot;nofollow&quot;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.jgraph.com/&quot; rel=&quot;nofollow&quot;&gt;JGraph&lt;/a&gt;&#xA;&lt;a href=&quot;http://www.jgraph.com/&quot; rel=&quot;nofollow&quot;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://jgrapht.sourceforge.net/&quot; rel=&quot;nofollow&quot;&gt;JGraphT&lt;/a&gt;&#xA;&lt;a href=&quot;http://jgrapht.sourceforge.net/&quot; rel=&quot;nofollow&quot;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.schmuhl.org/graphopt/&quot; rel=&quot;nofollow&quot;&gt;GraphOpt&lt;/a&gt;&#xA;&lt;a href=&quot;http://www.schmuhl.org/graphopt/&quot; rel=&quot;nofollow&quot;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://gvf.sourceforge.net/&quot; rel=&quot;nofollow&quot;&gt;GVF/Royere&lt;/a&gt;&#xA;&lt;a href=&quot;http://gvf.sourceforge.net/&quot; rel=&quot;nofollow&quot;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://hypergraph.sourceforge.net/&quot; rel=&quot;nofollow&quot;&gt;Hypergraph&lt;/a&gt;&#xA;&lt;a href=&quot;http://hypergraph.sourceforge.net/&quot; rel=&quot;nofollow&quot;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, check &#xA;&lt;a href=&quot;http://www.graphviz.org/&quot; rel=&quot;nofollow&quot;&gt;Graphviz&lt;/a&gt;&#xA;&lt;a href=&quot;http://www.graphviz.org/&quot; rel=&quot;nofollow&quot;&gt;&lt;/a&gt;Graph Visualization Software from AT&amp;amp;T Labs and &#xA;&lt;a href=&quot;http://www.cytoscape.org/&quot; rel=&quot;nofollow&quot;&gt;Cytoscape&lt;/a&gt;&#xA;&lt;a href=&quot;http://www.cytoscape.org/&quot; rel=&quot;nofollow&quot;&gt;&lt;/a&gt;: An Open Source Platform for Complex-Network Analysis and Visualization. Cytoscape is  one of the best tools and it is backed by a consortium of corporations and academic institutions.&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2010-10-17T17:05:44.423" LastActivityDate="2010-10-17T17:05:44.423" CommentCount="2" CommunityOwnedDate="2011-03-20T08:54:52.793" ContentLicense="CC BY-SA 2.5" />
  <row Id="2259" PostTypeId="2" ParentId="2255" CreationDate="2010-10-17T17:04:13.580" Score="16" Body="&lt;p&gt;For writing: &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;xemacs+auctex+reftex (can't live without it), or kile. &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;For managing multiple authors:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;an svn repository: &lt;a href=&quot;http://geomblog.blogspot.com/2010/02/papers-and-svn.html&quot;&gt;(more details here&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;li&gt;and what I'd really like is a lightweight 'bug-tracker' software to overlay on top, so it's easy to track TODO items in the last few days before a deadline&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;For managing bibs:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;I occasionally have used Mendeley and Citeulike, but I still cannot find the right workflow model to get them to work systematically. So it's still by hand. &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;For making talks:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Beamer for slides, inkscape/ipe/tikz for figures (tikz is actually great for plotting (data) graphs with fonts that integrate with the text, even in papers)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="80" LastEditorUserId="80" LastEditDate="2010-10-17T19:43:12.793" LastActivityDate="2010-10-17T19:43:12.793" CommentCount="2" CommunityOwnedDate="2010-10-17T17:04:13.580" ContentLicense="CC BY-SA 2.5" />
  <row Id="2260" PostTypeId="2" ParentId="2255" CreationDate="2010-10-17T19:27:40.173" Score="12" Body="&lt;p&gt;I use:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;TeXShop (OS X pdflatex editing environment)&lt;/li&gt;&#xA;&lt;li&gt;Custom OS X software I wrote for managing BibTeX files&lt;/li&gt;&#xA;&lt;li&gt;Adobe Illustrator for most figures (with occasional figures done in other software)&lt;/li&gt;&#xA;&lt;li&gt;Adobe InDesign for making talk slides as pdf files&lt;/li&gt;&#xA;&lt;li&gt;cvs or occasionally svn, both for synching my home and work computers and for coordinating edits with co-authors&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="95" LastActivityDate="2010-10-17T19:27:40.173" CommentCount="1" CommunityOwnedDate="2010-10-17T19:27:40.173" ContentLicense="CC BY-SA 2.5" />
  <row Id="2261" PostTypeId="2" ParentId="2255" CreationDate="2010-10-17T20:07:29.440" Score="11" Body="&lt;p&gt;My list (all Mac OS X):&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;TextMate for editing&lt;/li&gt;&#xA;&lt;li&gt;pdflatex (called from textmate)&lt;/li&gt;&#xA;&lt;li&gt;no special bibtex management&lt;/li&gt;&#xA;&lt;li&gt;svn: a different repository for each collaboration or project&lt;/li&gt;&#xA;&lt;li&gt;omnigraffle or, more frequently these days, tikz for figures&lt;/li&gt;&#xA;&lt;li&gt;AquaEmacs for Coq interaction&lt;/li&gt;&#xA;&lt;li&gt;Slides done using beamer if there's a lot of math or Keynote if not.&lt;/li&gt;&#xA;&lt;li&gt;Word and Powerpoint for admin and talks with funding agencies etc.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="77" LastEditorUserId="77" LastEditDate="2010-10-17T21:18:57.550" LastActivityDate="2010-10-17T21:18:57.550" CommentCount="0" CommunityOwnedDate="2010-10-17T20:07:29.440" ContentLicense="CC BY-SA 2.5" />
  <row Id="2263" PostTypeId="2" ParentId="2257" CreationDate="2010-10-17T20:36:10.750" Score="6" Body="&lt;p&gt;&lt;a href=&quot;http://flare.prefuse.org/&quot;&gt;FLARE&lt;/a&gt; produces rather beautiful graphs and visualisations, and in fact I have used it for just this purpose with a small private social network. In particular you may want to look at &quot;layouts&quot; in the &lt;a href=&quot;http://flare.prefuse.org/demo&quot;&gt;demo&lt;/a&gt; as it gives an excellent demonstration of transforming between different ways of drawing the graph.&lt;/p&gt;&#xA;" OwnerUserId="204" LastActivityDate="2010-10-17T20:36:10.750" CommentCount="0" CommunityOwnedDate="2011-03-20T08:54:52.793" ContentLicense="CC BY-SA 2.5" />
  <row Id="2264" PostTypeId="2" ParentId="2215" CreationDate="2010-10-17T22:22:06.560" Score="43" Body="&lt;p&gt;Noam and Dana have already given some fantastic advice.  Let me echo Dana: Know yourself, work with good people, and be active!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But after $n$ years on faculty recruiting committees, I have to disagree with Noam's response about &quot;knowing great people&quot;.  Noam is absolutely correct that it is more important that &lt;em&gt;great people know you&lt;/em&gt;, but I disagree that this is anything less than a first-order concern.  It is not enough to have a great product; you must also convince people to sell it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's not uncommon for recruiting committees at strong schools to receive 200+ applications for only one or two faculty positions.  They don't have time to read every folder or interview every  strong candidate; they certainly don't have time to read your papers.  To have any chance at an interview, you need a champion on the recruiting committee, and your champion needs ammunition to push your case.  So in addition to a strong research record, you need the following:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Name recognition.&lt;/strong&gt;  Ideally, someone on (or with connections to) the committee recognizes your name.  (One of your advisor's jobs is to bug their friends into reading your application; hopefully, you've made this part of their job easy.)  Having a &lt;a href=&quot;http://geomblog.blogspot.com/&quot; rel=&quot;nofollow noreferrer&quot;&gt;widely-read blog&lt;/a&gt; or &lt;a href=&quot;http://compgeom.cs.uiuc.edu/~jeffe/pubs/survey.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;survey&lt;/a&gt; or other &lt;a href=&quot;http://compgeom.cs.uiuc.edu/~jeffe/compgeom/&quot; rel=&quot;nofollow noreferrer&quot;&gt;community&lt;/a&gt; &lt;a href=&quot;https://cstheory.stackexchange.com/&quot;&gt;resource&lt;/a&gt; can &lt;em&gt;definitely&lt;/em&gt; help here.  If not your name, the committee should at least recognize the names of your advisor and your other references.  If you fail this step, your application may be rejected without even being read; on the other hand, being known &lt;em&gt;for your faults&lt;/em&gt; may kill your chances even if your work is fantastic.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Strong letters&lt;/strong&gt; from people whose opinions carry weight with the committee.  This is by far the most important part of your application package!  A letter from your advisor is crucial, but their opinion about the quality of your work will likely be taken with a grain of salt, because they have a personal vested interest in your success.  (On average, advisors seem to graduate their &quot;best student in ten years!&quot; every two or three years.)  &lt;strong&gt;The best recommendation letters come from well-known, well-connected, active researchers at top schools, who know your work in detail and can say great things about it, but who have &lt;em&gt;never&lt;/em&gt; worked with you.&lt;/strong&gt;  Of course, to get letters like that, you need work that great people can say great things about.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Luck.&lt;/strong&gt;  Baruch Awerbuch's observation about conferences applies here: Faculty hiring is a random process whose mean is determined by the candidates and whose standard deviation is determined by the hiring committee.  There is &lt;em&gt;absolutely nothing&lt;/em&gt; you can do to guarantee success; you can only affect your probability of success.  Life is not fair.  Let it go.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="111" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2010-10-17T22:22:06.560" CommentCount="1" CommunityOwnedDate="2010-10-17T22:22:06.560" ContentLicense="CC BY-SA 2.5" />
  <row Id="2265" PostTypeId="2" ParentId="149" CreationDate="2010-10-17T23:22:05.523" Score="20" Body="&lt;p&gt;&lt;strong&gt;Invariance principles&lt;/strong&gt; were motivated from hardness of approximation, but are useful analytic theorems.&#xA;The principle: A low degree function, in which each of the variables has small influence, behaves almost the same, no matter if the inputs are independent random variables, or (corresponding) Gaussian random variables. This is a generalization of the central limit theorem; there the function is the average of the variables.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Noise stability of functions with low influences: invariance and optimality&lt;/em&gt;&#xA;E. Mossel, R. O'Donnell, K. Oleszkiewicz.&#xA;Annals of Mathematics 171(1), pp. 295-341 (2010). FOCS '05.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Low degree testing theorems&lt;/strong&gt; were motivated by PCP applications, but are interesting algebraic theorems. The principle: An $n$-variate function over a finite field $F$ that, on average over the lines in $F^n$, is close in Hamming distance to a low degree polynomial &lt;em&gt;on the line&lt;/em&gt;, is close in Hamming distance to a low degree polynomial on the entire $F^n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Closeness in Hamming distance to a low degree polynomial in a certain space means that the function identifies with a low degree polynomial on some non-negligible fraction of the space.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Improved Low-Degree Testing and its Applications&lt;/em&gt;.&#xA;S. Arora and M. Sudan. In ACM STOC 1997.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;A Sub-Constant Error-Probability Low-Degree Test, and a Sub-Constant Error-Probability PCP Characterization of NP&lt;/em&gt;,&#xA;R.Raz, S.Safra,&#xA;Proceeding of the 29th STOC, 1997, pp. 475-484  &lt;/p&gt;&#xA;" OwnerUserId="1621" LastActivityDate="2010-10-17T23:22:05.523" CommentCount="0" CommunityOwnedDate="2010-10-17T23:22:05.523" ContentLicense="CC BY-SA 2.5" />
  <row Id="2266" PostTypeId="2" ParentId="2101" CreationDate="2010-10-17T23:29:38.320" Score="4" Body="&lt;p&gt;Consider the adjunction $\langle F,G,\epsilon,\eta \rangle$. For every such adjunction we have a monad $\langle GF, \eta, G\epsilon F\rangle$ and also a comonad $\langle FG, \epsilon, F\eta G\rangle$. Notably, $F$ and $G$ need not be endofunctors, and in general they aren't (e.g., the list monad is an adjuction between the free and forgetful functors between $\mathbf{Set}$ and $\mathbf{Mon}$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, what you want to do is take Reader (or Writer) and decompose it into the adjoint functors which give rise to the monad and the corresponding comonad. Which is to say that the connection between Reader and Coreader (or Writer and Cowriter) isn't the one you're looking for.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;And it's probably better to think of currying as $-^\ast : \text{hom}({-}\times A, {=}) \cong \text{hom}({-}, {=}^A)$, i.e. $\forall X,Y.~ \lbrace f : X\times A \to Y \rbrace \cong \lbrace f^\ast : X \to Y^A \rbrace$. Or if it helps, $-^\ast : \text{hom}({-}\times A, {=}\times 1) \cong \text{hom}({-}^1, {=}^A)$&lt;/p&gt;&#xA;" OwnerUserId="1808" LastEditorUserId="1808" LastEditDate="2010-10-17T23:39:40.320" LastActivityDate="2010-10-17T23:39:40.320" CommentCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="2267" PostTypeId="2" ParentId="2101" CreationDate="2010-10-17T23:45:04.507" Score="13" Body="&lt;p&gt;Yes, if a monad $M : C \to C$ has a right adjoint $N$, then $N$ automatically inherits a comonad structure.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The general category-theoretic setting to understand this is as follows.  Let $C$ and $D$ be two categories.  Write $\mathrm{Fun}(C, D)$ for the &lt;em&gt;categeory&lt;/em&gt; of functors from $C$ to $D$; Its objects are functors and its morphisms natural transformations.  Write $\mathrm{Fun}^L(C, D)$ for the full subcategory of $\mathrm{Fun}(C, D)$ on the functors which have right adjoints (in other words, we consider functors $C \to D$ with right adjoints and arbitrary natural transformations between them).  Write $F^R : D \to C$ for the right adjoint of a functor $F : C \to D$.  Then $-^R : \mathrm{Fun}^L(C, D) \to \mathrm{Fun}(D, C)$ is a contravariant functor: if $\alpha : F \to G$ is a natural transformation then there is an induced natural transformation $\alpha^R : G^R \to F^R$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $C = D$, then $\mathrm{Fun}(C, C)$ has a monoidal structure given by composition and so does $\mathrm{Fun}^L(C, D)$, because the composition of left adjoints is a left adjoint.  Specifically, $(FG)^R = G^R F^R$, so $-^R$ is an antimonoidal contravariant functor.  If you apply $-^R$ to the structural natural transformations which equip a functor $M$ with the structure of a monad, what you get out is a comonad.&lt;/p&gt;&#xA;" OwnerUserId="1806" LastActivityDate="2010-10-17T23:45:04.507" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2268" PostTypeId="2" ParentId="2252" CreationDate="2010-10-18T00:06:47.857" Score="27" Body="&lt;p&gt;In short: yes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More particularly: Chomsky was one of the first to formalize a hierarchy relating languages, grammars, and automata. This insight is still very relevant and is taught in all intro courses on automata theory. However, the specific hierarchy Chomsky came up with and the names for the elements of the hierarchy aren't really significant anymore. We've since invented numerous formalisms which fall between levels of Chomsky's hierarchy, above it, or below it. And the names Chomsky used aren't particularly interesting, i.e. they aren't based on an interesting measure of complexity or anything, they're just numbers. Should mildly context sensitive languages be Type-1.5 or Type-1.7 or Type-1.3? Who cares. &quot;Mildly context sensitive&quot; is a much more informative name.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The Complexity Zoo is a bit different because it's full of all sorts of conditional equivalences and the like. A more modern hierarchy for automata theory wouldn't be linear (e.g., compare CFG vs PEG) but it would still have a well-known topology. To get a perspective on modern automata theory you should look at work on parser combinator libraries and some of the stuff on unification and type theory (though those both branch out far afield). &lt;/p&gt;&#xA;" OwnerUserId="1808" LastActivityDate="2010-10-18T00:06:47.857" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="2269" PostTypeId="1" AcceptedAnswerId="2285" CreationDate="2010-10-18T00:25:22.137" Score="16" ViewCount="1261" Body="&lt;p&gt;I am looking for examples of techniques for proving price of anarchy bounds that have the power to separate the price of anarchy over coarse correlated equilibria (the limiting set of no-external-regret dynamics) from the price of anarchy over correlated equilibria (the limiting set of no-swap-regret dynamics). Are natural separations of this type known?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One obstruction towards separating these two classes is that the most natural (and common) way to prove price of anarchy bounds is to observe only that at equilibrium, no player has any incentive to deviate to playing his action at OPT, and to somehow use this to connect the social welfare at some configuration to the social welfare of OPT. Unfortunately, any proof that the price of anarchy over coarse correlated equilibria is small that &lt;em&gt;only&lt;/em&gt; considers deviations of each player to a single alternative action (say the action from OPT) necessarily also holds for correlated equilibria, and so cannot provide a separation. This is because the only difference between a coarse correlated equilibrium and a correlated equilibrium is the ability of a player in a correlated equilibrium to simultaneously consider &lt;em&gt;multiple&lt;/em&gt; deviations, conditioned on his signal of the play profile drawn from the equilibrium distribution. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are such separations known?&lt;/p&gt;&#xA;" OwnerUserId="25" LastActivityDate="2010-10-23T11:58:17.700" Title="Separation between coarse correlated equilibria and correlated equilibria" Tags="&lt;gt.game-theory&gt;&lt;online-learning&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="2270" PostTypeId="1" AcceptedAnswerId="2272" CreationDate="2010-10-18T02:22:57.707" Score="17" ViewCount="635" Body="&lt;p&gt;While reading a paper about using algebraic methods to detect some induced subgraphs, it appears that &lt;strong&gt;edge ideal&lt;/strong&gt; is an important tool connecting commutative algebra and graph theory. Since I'm not familiar with computations of algebraic objects, is there any good references or books on this topic? Particularity in representing a ring R on a Turing machine, and the complexity of deciding basic properties on R (say, the height of an prime ideal in R.)&lt;/p&gt;&#xA;" OwnerUserId="1800" LastEditorUserId="78" LastEditDate="2010-10-21T10:49:42.470" LastActivityDate="2010-10-21T10:49:42.470" Title="Formal representation of rings in computations" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;algebra&gt;&lt;algebraic-complexity&gt;" AnswerCount="3" CommentCount="3" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="2271" PostTypeId="1" AcceptedAnswerId="2273" CreationDate="2010-10-18T03:01:16.803" Score="13" ViewCount="544" Body="&lt;p&gt;The question occurred to me when I get Dana Moshkovitz answer to &lt;a href=&quot;https://cstheory.stackexchange.com/q/2247/873&quot;&gt;another topic&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $L$ be an &lt;strong&gt;NP&lt;/strong&gt; Language, and let $R_L$ be the respective &lt;strong&gt;NP&lt;/strong&gt; relation. We know that there exists some polynomial $p$ such that:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\forall x \in L, \\, \exists w \in \\{0,1\\}^{p(|x|)} \quad (x,w) \in R_L$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The above statement only requires the &lt;strong&gt;existence&lt;/strong&gt; of such $p$, but it does not force it to be &lt;strong&gt;explicitly determined&lt;/strong&gt;. In contrast, for every &lt;strong&gt;NP&lt;/strong&gt; language I know, $p$ is already known:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;For SAT, the size of witness is equal to the number of atoms appearing in the formula.&lt;/li&gt;&#xA;&lt;li&gt;For Hamiltonicity, the size of witness is $O(|V|)$, where $V$ is the vertex set.&lt;/li&gt;&#xA;&lt;li&gt;For Graph 3-Coloring, the size of witness is $O(|V|)$, where $V$ is the vertex set.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Does there exist an &lt;strong&gt;NP&lt;/strong&gt; language (even an artificial one), for which we know there exist some polynomial $p$ bounding the size of witness, yet we cannot explicitly determine $p$?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="873" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2010-10-18T04:30:00.563" Title="Is the Witness Size of Membership for Every NP Language Already Known?" Tags="&lt;cc.complexity-theory&gt;&lt;np&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2272" PostTypeId="2" ParentId="2270" CreationDate="2010-10-18T04:10:52.400" Score="14" Body="&lt;p&gt;Your questions are related to a field (no pun intended) called &quot;Computer Algebra&quot;. I myself was looking for comprehensive surveys when I was working on algebraic methods to calculate various graph centrality metrics. I could not find good surveys, but this &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0521826462&quot;&gt;book&lt;/a&gt; was partially helpful. The research papers on this &quot;topic&quot; are scattered all over and often not explicitly categorized as &quot;computer algebra&quot;. Reading algorithmic papers on isomorphism, factoring (integers/polynomials) and graph algorithms based on matrix multiplication might give you more insights.&lt;/p&gt;&#xA;" OwnerUserId="344" LastActivityDate="2010-10-18T04:10:52.400" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2273" PostTypeId="2" ParentId="2271" CreationDate="2010-10-18T04:30:00.563" Score="13" Body="&lt;p&gt;If you don't mind artificial languages, we can construct such problems using pretty much any number k whose value is unknown to mathematicians. For example, we don't know the value of R(5,5) (the fifth &lt;a href=&quot;http://en.wikipedia.org/wiki/Ramsey_number#Ramsey_numbers&quot;&gt;Ramsey number&lt;/a&gt;), or the size of the largest excluded minor of the family of knotless graphs (this number is finite due to the &lt;a href=&quot;http://en.wikipedia.org/wiki/Robertson-Seymour_theorem&quot;&gt;Robertson-Seymour theorem&lt;/a&gt;), or the value of BB(10), where BB() stands for the &lt;a href=&quot;http://en.wikipedia.org/wiki/Busy_beaver&quot;&gt;Busy Beaver function&lt;/a&gt;. Let k equal any of these numbers. We know that k is finite, but we don't know the value of k.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now construct some problem in NP where the witness is of size $O(n^k)$. Off the top of my head I can't think of a nice way of doing this, but here's one way. Let the input be a succinct description of a graph. Since the description size is n, the graph is on exponentially many vertices. (For example, maybe the input is a circuit that accepts two inputs x and y and tells you if (x,y) is an edge in the graph.) The question is to determine if the graph contains a path of length $n^k$. This problem is in NP because the prover can send the list of vertices on the path in order, which the verifier can check. The size of the witness is $n^k$.&lt;/p&gt;&#xA;" OwnerUserId="206" LastActivityDate="2010-10-18T04:30:00.563" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2274" PostTypeId="1" AcceptedAnswerId="2276" CreationDate="2010-10-18T06:08:47.310" Score="7" ViewCount="664" Body="&lt;p&gt;Given a non-negative integer matrix of size $n \times n$. If the permanent can be calculated in $n^{2}$ arithmetic operations but each operation is on word size $n^{k}$ bits for some constant $k$, does that imply calculating permanent is in  $P$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We assume the maximum integer size $M$ is bound and only let $n$ grow for complexity estimates.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Actually an observation is that even if if one can calculate permanent of $n \times n$ matrix in $O(n^{k})$, then $n!$ is easy to calculate. But even then it wont bother RSA since for RSA $n ~ O(2^{256})$ and $n^k$ even for $k=1$ would be formidable. Is this correct?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Ryan Williams Answer:&#xA;&quot;the permanent is #P-complete, due to Valiant's theorem in my answer below. It is possible in principle to reduce the factorization of a 256-bit number (which is computable in TFNP) to the Permanent on a matrix of dimension N×N where $N≤c⋅256^{c}+c$ for some hopefully small constant c. However the computation of a nice upper bound on c would probably take substantial effort. It's possible c is no more than 2 or 3.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&quot; computing the permanent is much harder than integer factoring (to my knowledge), so I doubt someone would try to reduce factoring to permanent.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;How about via approximations?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If an $\epsilon$-approximation to permanent can be found in polynomial time, then I don't think it will be not worthwhile to study such an algorithm. One can take $\epsilon$ small enough so that one has to try $O(\epsilon)$ different choices for permanents. In that case factoring should have an efficient probabilistic algorithm&lt;/p&gt;&#xA;" OwnerUserId="1812" LastEditorUserId="1812" LastEditDate="2010-10-24T08:20:39.713" LastActivityDate="2010-10-24T08:20:39.713" Title="Permanents - Approximation and connection to integer factorization" Tags="&lt;cc.complexity-theory&gt;&lt;approximation-hardness&gt;&lt;permanent&gt;&lt;factoring&gt;" AnswerCount="1" CommentCount="6" ContentLicense="CC BY-SA 2.5" />
  <row Id="2275" PostTypeId="2" ParentId="2255" CreationDate="2010-10-18T06:31:49.620" Score="8" Body="&lt;p&gt;Currently I use WinEdt and TeXworks for editing (depending on which computer I'm on). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For figures, I typically use IPE. Some people I know have had success using GasTeX for drawing graphs. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For synchronizing common files across multiple computers, as well as multiple-author papers, I have recently started using &lt;a href=&quot;http://www.dropbox.com/referrals/NTc4NzEyNjM5&quot;&gt;Dropbox&lt;/a&gt; and I think it's awesome.&lt;/p&gt;&#xA;" OwnerUserId="225" LastActivityDate="2010-10-18T06:31:49.620" CommentCount="0" CommunityOwnedDate="2010-10-18T06:31:49.620" ContentLicense="CC BY-SA 2.5" />
  <row Id="2276" PostTypeId="2" ParentId="2274" CreationDate="2010-10-18T06:53:36.720" Score="16" Body="&lt;p&gt;Thanks for clarifying your earlier question. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In this case, we would indeed say the Permanent is in $P$. First, since addition and multiplication on $O(n^k)$ size numbers can be done in $n^k \log^{O(1)} n$ time, the $O(n^2)$ arithmetic operations would take less than $O(n^{k+3})$ time to execute. If $k$ is independent of $n$ and the numbers themselves, this is polynomial time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Secondly, if you are computing the Permanent over the integers, then in the &quot;hard case&quot; you may not only assume that the integers are non-negative, but also you may assume that all integers are just $0$ and $1$! This is commonly known as Valiant's theorem. For information on how to prove this, see:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Permanent_is_sharp-P-complete#01-Matrix&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/Permanent_is_sharp-P-complete#01-Matrix&lt;/a&gt; &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This means that restricting to a non-negative matrix with bounded entries is not really a restriction of the Permanent problem. A polynomial time algorithm for this version of the problem would result in a polynomial time algorithm for the Permanent over any integer matrix.&lt;/p&gt;&#xA;" OwnerUserId="225" LastActivityDate="2010-10-18T06:53:36.720" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2277" PostTypeId="1" AcceptedAnswerId="2278" CreationDate="2010-10-18T08:30:16.670" Score="5" ViewCount="5250" Body="&lt;p&gt;I was just wondering if this was possible?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Surely there maybe some naive methods of doing so, but I was just wondering if someone can suggest efficient ways to do so.&lt;/p&gt;&#xA;" OwnerUserId="1813" LastActivityDate="2013-10-09T22:46:16.633" Title="Is it possible to convert a Max heap to a Min heap in place?" Tags="&lt;ds.algorithms&gt;&lt;ds.data-structures&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="2278" PostTypeId="2" ParentId="2277" CreationDate="2010-10-18T10:56:28.657" Score="23" Body="&lt;p&gt;You can just ignore that you have a max heap and build your min heap from it. O(n) time&#xA;complexity. No need for additional array.&lt;/p&gt;&#xA;" OwnerUserId="1796" LastEditorUserId="1796" LastEditDate="2010-10-18T15:16:59.280" LastActivityDate="2010-10-18T15:16:59.280" CommentCount="7" ContentLicense="CC BY-SA 2.5" />
  <row Id="2280" PostTypeId="2" ParentId="2168" CreationDate="2010-10-18T12:20:15.603" Score="18" Body="&lt;p&gt;On the one hand, the vast majority of the $2^{|C|}$ instances will be unsatisfiable, as said in Suresh's comment.  (In fact, I guess if you sample one such instance uniformly at random, you should already have a good probability of including all eight negations as clauses for some variable triple, i.e., trivially unsatisfiable.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other, we may lower-bound the number of satisfiable instances by the number that are satisfied by the all-zero assignment: these would be $2^{(7/8)|C|}$, as for every triplet of variables there is one clause we may not use.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One may then upper-bound the number of satisfiable instances by multiplying this with $2^n$.  Since $|C|=O(n^3)$, I guess this only changes a minor-order term already...&lt;/p&gt;&#xA;" OwnerUserId="307" LastActivityDate="2010-10-18T12:20:15.603" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2281" PostTypeId="2" ParentId="2255" CreationDate="2010-10-18T13:09:24.627" Score="4" Body="&lt;p&gt;For creating figures I love using &lt;a href=&quot;http://asymptote.sourceforge.net&quot; rel=&quot;nofollow&quot;&gt;Asymptote&lt;/a&gt;. It's a graph programming language (C++-style syntax) that produces pdf's (or ps). With a few lines can generate very complex graphs, and the whole compilation process can be easily managed with a Makefile (so with a single &quot;make&quot; you can compile a simulator, generate the data, from the data obtain a plot and include the plot in the final pdf...).&lt;/p&gt;&#xA;" OwnerUserId="1768" LastActivityDate="2010-10-18T13:09:24.627" CommentCount="0" CommunityOwnedDate="2010-10-18T13:09:24.627" ContentLicense="CC BY-SA 2.5" />
  <row Id="2282" PostTypeId="2" ParentId="2255" CreationDate="2010-10-18T13:29:31.580" Score="6" Body="&lt;p&gt;Emacs, auctex, bibtex, ipe, okular, pdflatex (texlive), tcsh scripts (for version control), linux, and brain. Not necessarily in this order.&lt;/p&gt;&#xA;" OwnerUserId="9594" LastActivityDate="2010-10-18T13:29:31.580" CommentCount="2" CommunityOwnedDate="2010-10-18T13:29:31.580" ContentLicense="CC BY-SA 2.5" />
  <row Id="2283" PostTypeId="2" ParentId="2132" CreationDate="2010-10-18T13:40:54.647" Score="8" Body="&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Treap&quot; rel=&quot;nofollow&quot;&gt;Treaps&lt;/a&gt; support both operations in $O( \log n)$ time with high probability. The trick is to give the splitting element $0$ priority making it the root, splitting the trees, and then reverting its priority to the original value. Merging is done similarly. &lt;/p&gt;&#xA;" OwnerUserId="9594" LastEditorUserId="3377" LastEditDate="2013-10-31T18:05:53.293" LastActivityDate="2013-10-31T18:05:53.293" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="2284" PostTypeId="2" ParentId="645" CreationDate="2010-10-18T15:17:25.007" Score="6" Body="&lt;p&gt;In &lt;a href=&quot;http://agtb.wordpress.com/2009/05/10/correlated-equilibria-some-cs-perspectives/&quot; rel=&quot;nofollow&quot;&gt;this blog post&lt;/a&gt; an example where there is an unbounded gap between the price of stability of CE and MN is given; I believe that something similar would show an unbounded gap for the PoA too.&lt;/p&gt;&#xA;" OwnerUserId="42" LastActivityDate="2010-10-18T15:17:25.007" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2285" PostTypeId="2" ParentId="2269" CreationDate="2010-10-18T15:21:26.600" Score="7" Body="&lt;p&gt;Fix M&gt;&gt;1&gt;&gt;e and look at the following two player coordination game (both players get the same utility):&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;M   | 1+e  | 2e   |  e&#xA;&#xA;1+e |  1   |  e   |  0&#xA;&#xA;2e  |  e   |  M   | 1+e&#xA;&#xA;e   |  0   | 1+e  | 1&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;The second and fourth row and column are strictly dominated so any correlated equilibrium cannot have them in its support, thus it would be on the sub-game:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;M  |  2e&#xA;&#xA;2e |  M&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;for which every correlated equilibrium would give each player more than M/2 utility.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, consider the joint probability distribution giving probability 1/2 to each of the 1's, and thus utility 1 to each player.  The claim is that this is a coarse equilibrium.  In a coarse equilibrium the possible deviations of the row player are to one of the pure strategies independently of the outcome of the joint distribution.  Now if it is only known that the column player is mixing evenly between the 2nd and 4th column, then the maximum utility the row player can get is 0.5+e &amp;lt; 1, so deviation is not profitable. &lt;/p&gt;&#xA;" OwnerUserId="42" LastEditorUserId="42" LastEditDate="2010-10-23T11:58:17.700" LastActivityDate="2010-10-23T11:58:17.700" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2286" PostTypeId="2" ParentId="2255" CreationDate="2010-10-18T15:36:24.300" Score="9" Body="&lt;p&gt;I use many of the tools already mentioned, so I'll just mention some of the more useful ones that &lt;em&gt;haven't&lt;/em&gt; yet been mentioned:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Frank Drewes's &lt;a href=&quot;http://www8.cs.umu.se/~drewes/graphs/&quot; rel=&quot;nofollow&quot;&gt;graphs&lt;/a&gt; package for LaTeX.  Great for drawing graphs (the vertices-and-edges kind, not the function kind). Simple syntax, but very customizable.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://git-scm.com/&quot; rel=&quot;nofollow&quot;&gt;GIT&lt;/a&gt; instead of SVN.  I used to use SVN but have since been converted to GIT.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;On a Windows machine, I like &lt;a href=&quot;http://www.texniccenter.org/&quot; rel=&quot;nofollow&quot;&gt;TeXnicCenter&lt;/a&gt; (which is built on top of MikTeX and BibTeX).  (On *nix systems I just use emacs/bibtex.)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Even on a Windows machine, I use &lt;a href=&quot;http://aspell.net/&quot; rel=&quot;nofollow&quot;&gt;aspell&lt;/a&gt; for spell-checking, inside &lt;a href=&quot;http://cygwin.org/&quot; rel=&quot;nofollow&quot;&gt;Cygwin&lt;/a&gt; (a really excellent *nix terminal/package manager emulator).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="129" LastEditorUserId="1037" LastEditDate="2011-08-21T16:34:43.943" LastActivityDate="2011-08-21T16:34:43.943" CommentCount="0" CommunityOwnedDate="2010-10-18T15:36:24.300" ContentLicense="CC BY-SA 3.0" />
  <row Id="2287" PostTypeId="2" ParentId="2101" CreationDate="2010-10-18T19:30:05.353" Score="7" Body="&lt;p&gt;By the way, this:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Let $(\times)$ be a product bifunctor in $C$. As $C$ is CCC, we can curry $(\times)$&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;is slightly incorrect. For one, the usual terminology would be (if I'm not mistaken) that $\times$ is a bifunctor over or on $C$. &quot;In&quot; typically means constructions using the arrows and objects of a category, whereas functors &quot;on&quot; categories refer to constructions relating multiple categories. And the product bifunctor isn't a construction within a Cartesian category.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;And this relates to the larger inaccuracy: the ability to curry the product bifunctor has nothing to do with $C$ being Cartesian closed. Rather, it is possible because $Cat$, the category of categories (insert caveats) is Cartesian closed. So the currying in question is given by:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$Hom_{Cat}(C \times D, E) \cong Hom_{Cat}(C, E^D)$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where $C \times D$ is a product of categories, and $E^D$ is the category of functors $F : D \to E$. This works regardless of whether $C$, $D$ and $E$ are Cartesian closed, though. When we let $C = D = E$, we get:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\times : C \times C \to C$$&#xA;$$curry_\times : C \to C^C$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But this is merely a special case of:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$F : C \times D \to E$$&#xA;$$curry_F : C \to E^D$$&lt;/p&gt;&#xA;" OwnerUserId="1809" LastActivityDate="2010-10-18T19:30:05.353" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2289" PostTypeId="2" ParentId="2255" CreationDate="2010-10-18T20:06:24.000" Score="8" Body="&lt;p&gt;I use kile to edit/compile latex. It's a nice kde gui, with auto-completion and spell checking as you type. &lt;a href=&quot;http://kile.sourceforge.net/&quot;&gt;http://kile.sourceforge.net/&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="169" LastActivityDate="2010-10-18T20:06:24.000" CommentCount="1" CommunityOwnedDate="2010-10-18T20:06:24.000" ContentLicense="CC BY-SA 2.5" />
  <row Id="2290" PostTypeId="2" ParentId="174" CreationDate="2010-10-18T20:19:22.147" Score="8" Body="&lt;p&gt;The Open Problems Project:&#xA;&lt;a href=&quot;http://cs.smith.edu/~orourke/TOPP/&quot;&gt;http://cs.smith.edu/~orourke/TOPP/&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerDisplayName="Adam" LastEditorUserId="337" LastEditDate="2010-12-03T16:06:59.007" LastActivityDate="2010-12-03T16:06:59.007" CommentCount="0" CommunityOwnedDate="2010-10-18T20:19:22.147" ContentLicense="CC BY-SA 2.5" />
  <row Id="2291" PostTypeId="1" CreationDate="2010-10-18T21:26:14.030" Score="15" ViewCount="824" Body="&lt;p&gt;In Razborov-Rudich's &lt;a href=&quot;http://people.cs.uchicago.edu/%7Erazborov/files/int.ps&quot; rel=&quot;nofollow&quot;&gt;Natural Proofs&lt;/a&gt; paper, page 6, in the part they discuss that there are &quot;strong lowerbounds proofs against &lt;em&gt;monotone&lt;/em&gt; circuit models&quot; and how they fit into the picture, there are the following sentences:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Here the issue is not constructivity - the properties used in these proofs are all feasible - but that there appears to be no good formal analogue of the largeness condition. In particular, no one has formulated &lt;strong&gt;a workable definition of a &quot;random monotone function.&quot;&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Isn't it easy to distinguish the outputs of a monotone function from a random string? &#xA;Isn't the existence of strong lowerbounds telling us that there are no such things? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What do they mean by &lt;em&gt;a workable definition of a &quot;random monotone function&quot;&lt;/em&gt;? &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2010-10-19T00:56:03.203" LastActivityDate="2010-10-19T15:59:15.120" Title="Random monotone function" Tags="&lt;cc.complexity-theory&gt;&lt;circuit-complexity&gt;&lt;randomness&gt;&lt;natural-proofs&gt;&lt;boolean-functions&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="8" ContentLicense="CC BY-SA 2.5" />
  <row Id="2292" PostTypeId="2" ParentId="2291" CreationDate="2010-10-18T23:24:01.593" Score="12" Body="&lt;p&gt;I'm not sure, but I think that the problem here is the fact that we don't have any strong assumptions about pseudorandom monotone function generators (at least none that I know of). The idea of the proof in Razborov-Rudich paper is as follows: &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;em&gt;if there is a natural property of functions (i.e. an efficiently&#xA;  decidable property that holds for&#xA;  sufficiently large subset of functions&#xA;  and implies that the function needs&#xA;  big circuits), then it can be used to&#xA;  break pseudorandom function generators&#xA;  (which breaks also pseudorandom&#xA;  generators and one-way functions).&lt;/em&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;If we were to restate the theorem in terms of monotone functions and monotone circuits, we would like it to say &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;em&gt;if there is a natural property of &lt;strong&gt;monotone&lt;/strong&gt; functions (i.e. an efficiently decidable property that&#xA;  holds for sufficiently large subset of&#xA;  &lt;strong&gt;monotone&lt;/strong&gt; functions and implies that&#xA;  the function needs big &lt;strong&gt;monotone&lt;/strong&gt;&#xA;  circuits), then it can be used to&#xA;  break pseudorandom function generators&#xA;  (which breaks also pseudorandom&#xA;  generators and one-way functions),&lt;/em&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;but now the proof from the paper stops to work, because our pseudorandom generator outputs general functions, not necessarily monotone ones, and we cannot use our natural property to break it, because even a relatively large subset of monotone functions will not be large relative to general functions, for the set of monotone functions itself isn't large relative to the set of all functions ( &lt;a href=&quot;http://en.wikipedia.org/wiki/Dedekind_number&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/Dedekind_number&lt;/a&gt; ). We could define some pseudorandom monotone function generator and use the natural property to break it, but we probably would not have the equivalence between this generator and one-way functions, so the theorem would not be so interesting.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Maybe this difficulty can be fixed (but I don't think it follows from the proof in the paper in a straightforward way) and maybe the problem with the monotone functions lies somewhere else. I would really like someone more experienced than me to confirm my answer or to show where I am wrong.&lt;/p&gt;&#xA;" OwnerUserId="327" LastEditorUserId="327" LastEditDate="2010-10-19T15:59:15.120" LastActivityDate="2010-10-19T15:59:15.120" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2293" PostTypeId="2" ParentId="2255" CreationDate="2010-10-19T00:19:06.050" Score="5" Body="&lt;p&gt;I like Bakoma it is a really good graphical interface for latex&lt;/p&gt;&#xA;" OwnerUserId="1821" LastActivityDate="2010-10-19T00:19:06.050" CommentCount="0" CommunityOwnedDate="2010-10-19T00:19:06.050" ContentLicense="CC BY-SA 2.5" />
  <row Id="2294" PostTypeId="2" ParentId="2255" CreationDate="2010-10-19T00:33:39.017" Score="4" Body="&lt;h3&gt;Editor&lt;/h3&gt;&#xA;&lt;p&gt;In Linux, I usually use &lt;a href=&quot;http://kile.sourceforge.net/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Kile&lt;/a&gt;, but there is no &lt;em&gt;nice&lt;/em&gt; port of Kile to other operation systems.&#xA;So in Windows I use &lt;a href=&quot;http://latexeditor.org/&quot; rel=&quot;nofollow noreferrer&quot;&gt;LEd&lt;/a&gt; (which was also very helpful in learning LaTeX when I first started).&lt;/p&gt;&#xA;&lt;p&gt;I sometimes use &lt;a href=&quot;http://www.xm1math.net/texmaker/&quot; rel=&quot;nofollow noreferrer&quot;&gt;TeXMaker&lt;/a&gt; and will hopefully switch from LEd to TeXMaker completely (LEd is not open-source and is not actively developed; TeXMaker is open-source, actively developed, and also works on other operating systems.).&lt;/p&gt;&#xA;&lt;p&gt;There is also a fork of TeXMaker that I have not tried yet: &lt;a href=&quot;http://texmakerx.sourceforge.net/&quot; rel=&quot;nofollow noreferrer&quot;&gt;TexMakerX&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;h3&gt;Bib management&lt;/h3&gt;&#xA;&lt;p&gt;&lt;a href=&quot;http://jabref.sourceforge.net/&quot; rel=&quot;nofollow noreferrer&quot;&gt;JabRef&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2010-10-19T00:33:39.017" CommentCount="1" CommunityOwnedDate="2010-10-19T00:33:39.017" ContentLicense="CC BY-SA 2.5" />
  <row Id="2295" PostTypeId="2" ParentId="2252" CreationDate="2010-10-19T01:17:48.723" Score="25" Body="&lt;p&gt;If &lt;i&gt;anything&lt;/i&gt; in TCS is outdated, it's this inclusion hierarchy of the tiny subset of complexity classes that happened to be known / considered interesting in 1956.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Rest in peace, Chomsky Hierarchy, and may you haunt the undergrad theory curriculum no more.&lt;/p&gt;&#xA;" OwnerUserId="1575" LastActivityDate="2010-10-19T01:17:48.723" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="2296" PostTypeId="1" AcceptedAnswerId="2306" CreationDate="2010-10-19T05:07:28.820" Score="13" ViewCount="547" Body="&lt;p&gt;&lt;strong&gt;Background:&lt;/strong&gt; In machine learning, we often work with &lt;em&gt;graphical models&lt;/em&gt; to represent high dimensional probability density functions.  If we discard the constraint that a density integrates (sums) to 1, we get an unnormalized &lt;em&gt;graph-structured energy function&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose we have such an energy function, $E$, defined on a graph $G = (\mathcal{V}, \mathcal{E})$.  There is one variable $x$ for each vertex of the graph, and there are real-valued unary and pairwise functions, $\theta_i(x_i) : i \in \mathcal{V}$ and $\theta_{ij}(x_i, x_j) : ij \in \mathcal{E}$, respectively.  The full energy is then&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$E(\mathbf{x}) = \sum_{i \in \mathcal{V}} \theta_i(x_i) + \sum_{ij \in \mathcal{E}} \theta_{ij}(x_i, x_j)$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If all $x \in \mathbf{x}$ are binary, we can think of an $x$ as indicating set membership and with just a small abuse of terminology talk about submodularity.  In this case, an energy function is submodular iff $\theta_{ij}(0, 0) + \theta_{ij}(1, 1) \le \theta_{ij}(0, 1) + \theta_{ij}(1, 0)$.  We are typically interested in finding the configuration that minimizes the energy, $\mathbf{x}^* = \arg \min_{\mathbf{x}} E(\mathbf{x})$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There seems to be a connection between minimizing a submodular energy function and monotone boolean functions: if we lower the energy of some $\theta_i(x_i=1)$ for any $x_i$ (i.e., increase its preference to be &quot;true&quot;), then the optimal assignment of any variable $x_i^* \in \mathbf{x}^*$ can only change from 0 to 1 (&quot;false&quot; to &quot;true&quot;).  If all $\theta_i$ are restricted to be either 0 or 1, then we have $|\mathcal{V}|$ monotone boolean functions:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$f_i(\mathbf{\theta}) = x_i^*$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where as above, $\mathbf{x^*} = \arg \min_{\mathbf{x}} E(\mathbf{x})$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question:&lt;/strong&gt; Can we represent all monotone boolean functions using this setup by varying the pairwise terms, $\theta_{ij}$?  What if we allow $E$ to be an arbitrary submodular energy function?  Conversely, can we represent all submodular minimization problems as a set of $|\mathcal{V}|$ monotone boolean functions?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can you suggest references that will help me towards better understanding these connections?  I'm not a theoretical computer scientist, but I'm trying to understand if there are insights about monotone boolean functions that are not captured by thinking in the submodular minimization terms.&lt;/p&gt;&#xA;" OwnerUserId="144" LastEditorUserId="186" LastEditDate="2010-10-19T07:28:19.130" LastActivityDate="2010-10-19T15:33:46.870" Title="Reference Request: Submodular Minimization and Monotone Boolean Functions" Tags="&lt;reference-request&gt;&lt;machine-learning&gt;&lt;lg.learning&gt;&lt;boolean-functions&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="2297" PostTypeId="2" ParentId="2252" CreationDate="2010-10-19T06:48:35.720" Score="20" Body="&lt;p&gt;If you consider Chomsky's Hierarchy with &quot;modern&quot; names (i.e. REG, LIN, CFL, CSL, RE resp. DFA/NFA, PDA, LBA, TM), I say: No, it is not outdated!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Reason 0&lt;/strong&gt;: It is still &lt;em&gt;correct&lt;/em&gt; in the sense that its definitions and results are not contradictory to newer knowledge.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Reason 1&lt;/strong&gt;: These classes/computation models are still the first you teach -- because they are simple and well studied. Try teaching LR automaton to an undergrad without covering DFA/DPDA first.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Reason 2&lt;/strong&gt;: The classes are still the first/major benchmarks for new inventions (I skimmed a paper about multi-CFGs which, of course, said: more than CFG, less than CSG). That may be partly because they are taught first, but also because they &lt;em&gt;are&lt;/em&gt; simple and well-studied.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Anti-Reason 3&lt;/strong&gt;: Results do not &lt;em&gt;outdate&lt;/em&gt; just because new classes/models have been found. They keep their value as basics of the field despite them not being used on the research frontier actively.&lt;/p&gt;&#xA;" OwnerUserId="1546" LastEditorUserId="1546" LastEditDate="2015-04-27T14:20:25.127" LastActivityDate="2015-04-27T14:20:25.127" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="2300" PostTypeId="1" CreationDate="2010-10-19T08:53:23.790" Score="17" ViewCount="400" Body="&lt;p&gt;In the past, I implemented coordination models using SAT and regular constraint satisfaction as the core workhorse in their engines. Continuing in this line of work, I would like to make the models more interactive, and the best way I see of doing this is to open up the constraint solver so that it is no longer a black box.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thus,&#xA;I'm interested in learning more about constraint satisfaction where the constraints have what I will call &lt;em&gt;external variables&lt;/em&gt;, &lt;em&gt;predicates&lt;/em&gt; and &lt;em&gt;functions&lt;/em&gt;,&#xA;that is, the constraint language may have predicates such as $\mathbf{P}(x)$ which can only be satisfied by consulting some agent external to the solver, and then only when $x$ is ground. A scenario where this is useful is whenever $\mathbf{P}$ corresponds to some external decision process that cannot be incorporated into the constraint solver. Such constraint solvers could be called &lt;em&gt;open&lt;/em&gt; (as constraints are not entirely known) or &lt;em&gt;interactive&lt;/em&gt; (as interaction is required to proceed with constraint satisfaction).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would like to know both:  &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;theoretical research done in this direction&lt;/li&gt;&#xA;&lt;li&gt;tools or libraries that implement constraint solvers that allow interaction with the external world during the constraint solving process.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="77" LastEditorUserId="186" LastEditDate="2010-10-19T23:08:10.780" LastActivityDate="2011-09-02T14:35:44.037" Title="Open or Interactive Constraint Satisfaction" Tags="&lt;sat&gt;&lt;lo.logic&gt;&lt;csp&gt;" AnswerCount="5" CommentCount="0" FavoriteCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="2302" PostTypeId="2" ParentId="1198" CreationDate="2010-10-19T11:57:30.813" Score="21" Body="&lt;p&gt;There's a really interesting talk, given by Yuri Gurevich, on the Church-Turing thesis &lt;a href=&quot;http://www.youtube.com/watch?v=7XfA5EhH7Bc&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerDisplayName="Rafael" LastEditorUserId="-1" LastEditDate="2011-05-28T11:44:04.360" LastActivityDate="2011-05-28T11:44:04.360" CommentCount="0" CommunityOwnedDate="2010-10-19T11:57:30.813" ContentLicense="CC BY-SA 3.0" />
  <row Id="2303" PostTypeId="2" ParentId="2300" CreationDate="2010-10-19T12:01:15.750" Score="9" Body="&lt;p&gt;I'm not altogether convinced by the previous work on open and interactive constraints.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An attempt to study the tractability questions was:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Martin J. Green and Christopher Jefferson, &lt;em&gt;Structural Tractability of Propagated Constraints&lt;/em&gt;, CP 2008.&#xA;doi: &lt;a href=&quot;http://dx.doi.org/10.1007/978-3-540-85958-1_25&quot; rel=&quot;nofollow&quot;&gt;10.1007/978-3-540-85958-1_25&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;although this paper does leave several major questions unanswered.  The approach via propagators in this paper is closely related to existing constraint solver implementations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think work on SMT (satisfiability modulo theories) is also closely related to your question.  SMT theories are often motivated by problems from software and hardware verification, but there do exist theories with an AI flavour.  I look forward to more applications built with SMT as the core technology, and to more work in constraints applying ideas from SMT.&lt;/p&gt;&#xA;" OwnerUserId="109" LastEditorUserId="109" LastEditDate="2011-09-02T14:35:44.037" LastActivityDate="2011-09-02T14:35:44.037" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="2304" PostTypeId="2" ParentId="2255" CreationDate="2010-10-19T13:21:35.740" Score="22" Body="&lt;p&gt;In addition to what others say, I like the package &lt;a href=&quot;http://www.ctan.org/tex-archive/macros/latex/contrib/todonotes/&quot;&gt;todonotes&lt;/a&gt; for LaTeX that allows to have colorful reminders of what remains to do &lt;em&gt;in the text&lt;/em&gt;.&lt;/p&gt;&#xA;" OwnerUserId="1546" LastActivityDate="2010-10-19T13:21:35.740" CommentCount="1" CommunityOwnedDate="2010-10-19T13:21:35.740" ContentLicense="CC BY-SA 2.5" />
  <row Id="2305" PostTypeId="2" ParentId="2300" CreationDate="2010-10-19T13:22:16.797" Score="7" Body="&lt;p&gt;Reading your question, I also agree in saying that Satisfiability Modulo Theories are closely related to your needs. I would suggest to read the book &lt;a href=&quot;http://www.decision-procedures.org&quot;&gt;Decision Procedures - An Algorithmic Point of View&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="947" LastActivityDate="2010-10-19T13:22:16.797" CommentCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="2306" PostTypeId="2" ParentId="2296" CreationDate="2010-10-19T15:15:17.770" Score="7" Body="&lt;p&gt;As far as I understand, the submodular minimization case captures all there is to be said about the monotone Boolean case, and binary submodular Boolean functions can express all submodular Boolean functions.  However, if the domain is non-Boolean, then binary submodular functions are not enough to express all submodular functions, even if hidden variables may be introduced.  (Apologies if I have missed a subtlety in your precise problem phrasing.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The state of the art is discussed in this nice paper which has lots of links to related work, and that also makes the links to computer vision quite explicit:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Stanislav Živný, David A. Cohen, Peter G. Jeavons, &lt;em&gt;The expressive power of binary submodular functions&lt;/em&gt;, DAM &lt;strong&gt;157&lt;/strong&gt; 3347–3358, 2009.  doi: &lt;a href=&quot;http://dx.doi.org/10.1016/j.dam.2009.07.001&quot;&gt;10.1016/j.dam.2009.07.001&lt;/a&gt; (&lt;a href=&quot;http://zivny.cz/publications/zcj09dam-preprint.pdf&quot;&gt;preprint&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;In case your next question is about approximation, this recent paper looks at the approximation version:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Dorit S. Hochbaum, &lt;em&gt;Submodular problems - approximations and algorithms&lt;/em&gt;, arXiv: &lt;a href=&quot;http://arxiv.org/abs/1010.1945&quot;&gt;1010.1945&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Edit:&lt;/em&gt; fixed link.&lt;/p&gt;&#xA;" OwnerUserId="109" LastEditorUserId="109" LastEditDate="2010-10-19T15:33:46.870" LastActivityDate="2010-10-19T15:33:46.870" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="2307" PostTypeId="1" CreationDate="2010-10-19T15:23:36.257" Score="25" ViewCount="1056" Body="&lt;p&gt;Has the complexity of the following problem been studied?&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Input&lt;/strong&gt;: a cubic (or $3$-regular) graph $G=(V,E)$, a natural upper bound $t$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question&lt;/strong&gt;: is there a partition of $E$ into $|E|/3$ parts of size $3$ such that the sum of the orders of the (nonnecessarily connected) corresponding subgraphs is at most $t$?&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Related work&lt;/strong&gt;&#xA;I found quite a few papers in the literature that prove necessary and/or sufficient conditions for the &lt;strong&gt;existence&lt;/strong&gt; of a partition into some graphs containing three edges, which is somehow related, and some others on computational complexity matters of problems that intersect with the above (e.g. the partition must yield subgraphs isomorphic to $K_{1,3}$ or $P_4$, and no weight is associated with a given partition), but none of them dealt exactly with the above problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Listing all those papers here would be a bit tedious, but most of them either cite or are cited by &lt;a href=&quot;http://doi.acm.org/10.1145/129712.129737&quot; rel=&quot;nofollow noreferrer&quot;&gt;Dor and Tarsi&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;20101024: I found &lt;a href=&quot;http://lyle.smu.edu/~olinick/olinickpapers/publications/sepp.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;this paper by Goldschmidt et al.&lt;/a&gt;, who prove that the problem of edge partitioning a graph into parts containing AT MOST $k$ edges, in such a way that the sum of the orders of the induced subgraphs is at most $t$, is NP-complete, even when $k=3$. Is it obvious that the problem remains NP-complete on cubic graphs, when we require strict equality w.r.t. $k$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Additional information&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I've tried some strategies that failed. More precisely, I found some counterexamples that prove that:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;maximising the number of triangles does not lead to an optimal solution; which I find somehow counter-intuitive, since triangles are those subgraphs with lowest order among all possible graphs on three edges;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;partitioning the graph into connected components does not necessarily lead to an optimal solution either. The reason why it seemed promising may be less obvious, but in many cases one can see that swapping edges so as to connect a given subgraph leads to a solution with smaller weight (example: try that on a triangle with one additional edge connected to each vertex; the triangle is one part, the rest is a second, with total weight 3+6=9. Then exchanging two edges gives a path and a star, with total weight 4+4=8.)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="775" LastEditorUserId="495" LastEditDate="2017-04-07T12:08:37.330" LastActivityDate="2017-04-07T12:08:37.330" Title="An edge partitioning problem on cubic graphs" Tags="&lt;graph-theory&gt;&lt;np-hardness&gt;&lt;co.combinatorics&gt;" AnswerCount="1" CommentCount="6" FavoriteCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="2308" PostTypeId="2" ParentId="1198" CreationDate="2010-10-19T15:56:55.683" Score="12" Body="&lt;p&gt;&lt;a href=&quot;http://www.quantiki.org/&quot;&gt;Quantiki&lt;/a&gt; has a nice &lt;a href=&quot;http://www.quantiki.org/video_abstracts&quot;&gt;video abstract site&lt;/a&gt;, where people are free to post a short video (3-6 minutes) describing their recent papers/preprints. As it is part of Quantiki, it largely focuses on quantum information/computation.&lt;/p&gt;&#xA;" OwnerUserId="204" LastActivityDate="2010-10-19T15:56:55.683" CommentCount="0" CommunityOwnedDate="2010-10-19T15:56:55.683" ContentLicense="CC BY-SA 2.5" />
  <row Id="2309" PostTypeId="2" ParentId="2091" CreationDate="2010-10-19T16:51:14.793" Score="4" Body="&lt;p&gt;I think the confusion is that the grammar is generative, while the automaton is not. The automaton is given a string and must decide whether the string is a possible outcome of applying the production rules. So think of the automaton as working backwards trying to trace back these productions in reverse to see if the start symbol S is ever reachable. Since the automaton only has linear space, we can't allow the intermediate string to grow larger than the original input. Reversing a production must not increase the size of the string, so applying a production in the forward direction cannot decrease the size of the string.&lt;/p&gt;&#xA;" OwnerUserId="149" LastActivityDate="2010-10-19T16:51:14.793" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="2310" PostTypeId="2" ParentId="1471" CreationDate="2010-10-19T17:52:27.647" Score="35" Body="&lt;p&gt;My response is generally, &quot;I study why some computations are hard to do&quot;.  As an example, I typically compare addition and multiplication using the standard grade school methods.  These are computations that everyone has done and that everyone appreciates the value of doing quickly.  Everyone agrees that for large numbers, multiplication is much harder than addition.  In fact, most people suggest that the elementary school method is as fast as you can go.  Then I ask them why.  How do they know that there isn't another way to do multiplication that is just as easy as addition?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Pretty much everyone has at least some appreciation at this point for the difficulty of proving lower bounds (my particular interest), even though I haven't used that term.  Depending on the background and interest of the audience, I may mention that someone has found a way to multiply that is much faster than the elementary school method (simply the word &quot;algorithm&quot; tends to bring a glaze to their eyes), but still slower than adding.  &lt;/p&gt;&#xA;" OwnerUserId="1836" LastActivityDate="2010-10-19T17:52:27.647" CommentCount="4" CommunityOwnedDate="2010-10-19T17:52:27.647" ContentLicense="CC BY-SA 2.5" />
  <row Id="2311" PostTypeId="2" ParentId="1471" CreationDate="2010-10-19T18:20:22.510" Score="6" Body="&lt;p&gt;Theoretical computer science is to computer science what mathematics used to be to physics.&lt;/p&gt;&#xA;" OwnerUserId="705" LastActivityDate="2010-10-19T18:20:22.510" CommentCount="4" CommunityOwnedDate="2010-10-19T18:20:22.510" ContentLicense="CC BY-SA 2.5" />
  <row Id="2312" PostTypeId="1" AcceptedAnswerId="2318" CreationDate="2010-10-19T19:15:12.650" Score="35" ViewCount="3918" Body="&lt;p&gt;Let $G = (V, E, w)$ be a graph with weight function $w:E\rightarrow \mathbb{R}$. The max-cut problem is to find:&#xA;$$\arg\max_{S \subset V} \sum_{(u,v) \in E : u \in S, v \not \in S}w(u,v)$$&#xA;If the weight function is non-negative (i.e. $w(e) \geq 0$ for all $e \in E$), then there are many extremely simple 2-approximations for max-cut. For example, we can:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Pick a random subset of vertices $S$.&lt;/li&gt;&#xA;&lt;li&gt;Pick an ordering on the vertices, and greedily place each vertex $v$ in $S$ or $\bar{S}$ to maximize the edges cut so far&lt;/li&gt;&#xA;&lt;li&gt;Make local improvements: If there is any vertex in $S$ that can be moved to $\bar{S}$ to increase the cut (or vice versa), make the move.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;The standard analysis of all of these algorithms actually shows that the resulting cut is at least as large as $\frac{1}{2}\sum_{e \in E}w(e)$, which is an upper bound on $1/2$ the weight of the max-cut if $w$ is non-negative -- but if some edges are allowed to have negative weight, is not!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, algorithm 1 (pick a random subset of vertices) can clearly fail on graphs with negative edge weights.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there a simple combinatorial algorithm that gets an O(1) approximation to the max-cut problem on graphs that can have negative edge weights?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;To avoid the possibly sticky issue of the max-cut taking value $0$, I will allow that $\sum_{e \in E}w(e) &gt; 0$, and/or be satisfied with algorithms that result in small additive error in addition to a multiplicative factor approximation.&lt;/p&gt;&#xA;" OwnerUserId="25" LastEditorUserId="495" LastEditDate="2010-12-17T18:49:32.693" LastActivityDate="2016-11-11T01:07:35.357" Title="Max-cut with negative weight edges" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;approximation-algorithms&gt;&lt;max-cut&gt;" AnswerCount="3" CommentCount="2" FavoriteCount="7" ContentLicense="CC BY-SA 2.5" />
  <row Id="2313" PostTypeId="2" ParentId="1994" CreationDate="2010-10-19T19:16:41.273" Score="4" Body="&lt;p&gt;If you are interested in algorithms that are actually implemented in software, there are several that I know of:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;the GAMBIT package (http://www.gambit-project.org/doc/index.html) implements several Nash equilibrium algorithms for 2-player &amp;amp; n-player normal form, and in some cases extensive form games.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;GameTracer (http://dags.stanford.edu/Games/gametracer.html) implements Govindan &amp;amp; Wilson's GNM and IPA algorithms for n-player normal form games.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;For large games, the normal form representation is problematic as size grows exponentially in the number of players. Instead, if your game's utility function has certain kinds of structure, you can use a &quot;concise representation&quot; (e.g. graphical games, symmetric games, action-graph games) to express it using much less space; and furthermore the structure can often be exploited for computational speedups. In terms of software, the AGG Solver (http://agg.cs.ubc.ca) adapts GameTracer's GNM algorithm and GAMBIT's simpdiv algorithm to the action-graph game (AGG) representation. (Disclaimer: I am involved in the development of this software pacakge.)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="1837" LastActivityDate="2010-10-19T19:16:41.273" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2315" PostTypeId="1" AcceptedAnswerId="2319" CreationDate="2010-10-19T20:28:04.070" Score="25" ViewCount="1429" Body="&lt;p&gt;I recently taught expanders, and introduced the notion of Ramanujan graphs.&#xA;Michael Forbes asked why they are called this way, and I had to admit I don't know. &#xA;Anyone? &lt;/p&gt;&#xA;" OwnerUserId="1621" LastEditorUserId="186" LastEditDate="2010-10-19T23:24:01.767" LastActivityDate="2010-10-20T06:33:32.487" Title="Why Ramanujan graphs are named after Ramanujan?" Tags="&lt;graph-theory&gt;&lt;soft-question&gt;&lt;ho.history-overview&gt;&lt;expanders&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="2316" PostTypeId="2" ParentId="2315" CreationDate="2010-10-19T20:39:18.847" Score="21" Body="&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Ramanujan_graph&quot;&gt;Wikipedia&lt;/a&gt; delivers this answer rather promptly. Quoting&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Constructions of Ramanujan graphs are often algebraic. Lubotzky, Phillips and Sarnak show how to construct an infinite family of $p+1$-regular Ramanujan graphs, whenever $p = 1 \mod 4$ is a prime. Their proof uses the &lt;a href=&quot;http://en.wikipedia.org/wiki/Ramanujan_conjecture&quot;&gt;Ramanujan conjecture&lt;/a&gt;, which led to the name of Ramanujan graphs. &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The paper referred to is &lt;a href=&quot;http://www.springerlink.com/content/k285687344657q53/&quot;&gt;&lt;em&gt;Ramanujan graphs&lt;/em&gt;&lt;/a&gt; &#xA;A. Lubotzky, R. Phillips and P. Sarnak, COMBINATORICA Volume 8, Number 3 (1988), 261-277,  DOI: 10.1007/BF02126799.&lt;/p&gt;&#xA;" OwnerUserId="77" LastEditorUserId="77" LastEditDate="2010-10-20T06:33:32.487" LastActivityDate="2010-10-20T06:33:32.487" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="2318" PostTypeId="2" ParentId="2312" CreationDate="2010-10-19T21:42:04.953" Score="28" Body="&lt;p&gt;Here was my first attempt at an argument. It was wrong, but I fixed it after the &quot;EDIT:&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you could efficiently approximately solve the max-cut problem with negative edge weights, couldn't you use that to solve the max-cut problem with positive edge weights?  Start with a max-cut problem you want to solve whose optimal solution is $b$. Now, put a large negative weight edge (with weight $-a$) between $u$ and $v$. The optimum solution of the new problem is $b-a$, so our hypothetical approximation algorithm will get you a solution with maximum cut whose value is at most $(b-a)/2$ worse than optimal. On the original graph, the maximum cut is still at most $(b-a)/2$ worse than optimal. If you choose $a$ close to $b$, this violates the inapproximability result that if P$\neq$NP, you cannot approximate max-cut to better than a $16/17$ factor.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The above algorithm doesn't work because you can't guarantee that $u$ and $v$ are on opposite sides of the cut in the new graph, even if they were originally. I can fix this as follows, though. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let's assume that we have an approximation algorithm which will give us a cut within a factor of 2 of OPT as long as the sum of all the edge weights are positive.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As above, start with a graph $G$ with all non-negative weights on edges. We'll find a modified graph $G^* $ with some negative weights such that if we can approximate the max cut of $G^* $ within a factor of 2, we can approximate the max cut of $G$ very well.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Choose two vertices $u$ and $v$, and hope that they're on opposite sides of the max cut. (You can repeat this for all possible $v$ to ensure that one try works.) Now, put a large negative weight $-d$ on all edges $(u,x)$ and $(v,x)$ for $x \neq u,v$, and a large positive weight $a$ on edge $(u,v)$. Assume that the optimal cut has weight $OPT$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A cut with value $c$ in $G$, where vertices $u$ and $v$ are on the same side of the cut, now has value at $c - 2dm$ where $m$ is the number of vertices on the other side of the cut. A cut with $(u,v)$ on opposite sides with original value $c$ now has value $c + a - (n-2)d$. Thus, if we choose $d$ large enough, we can force all cuts with $u$ and $v$ on the same side to have negative value, so if there is any cut with positive value, then the optimal cut in $G^* $ will have $u$ and $v$ on opposite sides. Note that we are adding a fixed weight $(a - (n-2)d)$ to any cut with $u$ and $v$ on opposite sides. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $f=(a - (n-2)d)$. Choose $a$ so that $f \approx - 0.98 OPT$ (we'll justify this later). A cut with weight $c$ in $G$ having $u$ and $v$ on opposite sides now becomes a cut with weight $c - 0.98 OPT$. This means the optimal cut in $G^* $ has weight $0.02 OPT$. Our new algorithm finds a cut in $G^* $ with weight at least $0.01 OPT$. This translates into a cut in the original graph $G$ with weight at least $0.99OPT$ (since all cuts in $G^* $ with positive weight separate $u$ and $v$), which is better than the inapproximability result. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is no problem with choosing $d$ large enough to make any cut with $u$ and $v$ on the same side negative, since we can choose $d$ as large as we want. But how did we choose $a$ so that $f \approx -.99OPT$ when we didn't know $OPT$? We can approximate $OPT$ really well ... if we let $T$ be the sum of the edge weights in $G$, we know $\frac{1}{2}T \leq OPT \leq T$. So we have a fairly narrow range of values for $f$, and we can iterate over $f$ taking all values between $-.49T$ and $-.99T$ at intervals of $0.005T$. For one of these intervals, we are guaranteed that $f \approx -0.98 OPT$, and so one of these iterations is guaranteed to return a good cut.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, we need to check that the new graph has edge weights whose sum is positive. We started with a graph whose edge weights had sum $T$, and added $f$ to the sum of the edge weights. Since $-.99T \leq f \leq -.49T$, we're O.K.  &lt;/p&gt;&#xA;" OwnerUserId="1677" LastEditorUserId="1677" LastEditDate="2010-10-21T01:23:29.467" LastActivityDate="2010-10-21T01:23:29.467" CommentCount="13" ContentLicense="CC BY-SA 2.5" />
  <row Id="2319" PostTypeId="2" ParentId="2315" CreationDate="2010-10-19T22:01:13.457" Score="36" Body="&lt;p&gt;To add some content to the answers here, I'll explain briefly what Ramanujan's conjecture is.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First of all, Ramanujan's conjecture is actually a theorem, proved by Eichler and Igusa.  Here is one way to state it.  Let $r_m(n)$ denote the number of integral solutions to the quadratic equation $x_1^2 + m^2 x_2^2 + m^2 x_3^2 + m^2 x_4^2 = n$.  If $m=1$, that $r_m(n) &gt; 0$ was of course proved by Legendre, but Jacobi gave the exact count: $r_1(n) = 8 \sum_{d \mid n, 4 \not \mid d} d$.  Nothing similarly exact is known for larger $m$ but Ramanujan conjectured the bound: $r_m(n) = c_m \sum_{d \mid n} d + O(n^{1/2 + \epsilon})$ for every $\epsilon &gt; 0$, where $c_m$ is a constant dependent only on $m$.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Lubtozky, Phillips and Sarnak constructed their expanders based on this result.  I'm not familiar with the details of their analysis but the basic idea, I believe, is to construct a Cayley graph of $PSL(2,Z_q)$ for a prime $q$ that $1 \bmod 4$, using generators determined by every sum-of-four-squares decomposition of $p$, where $p$ is a quadratic residue modulo $q$.  Then, they relate the eigenvalues of this Cayley graph to $r_{2q}(p^k)$ for integer powers $k$.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A reference, other than the Lubotzky-Phillips-Sarnak paper itself, is Noga Alon's brief description in &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.101.5803&amp;amp;rep=rep1&amp;amp;type=pdf&quot;&gt;Tools from Higher Algebra&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="15" LastActivityDate="2010-10-19T22:01:13.457" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2320" PostTypeId="1" CreationDate="2010-10-19T22:09:35.633" Score="19" ViewCount="349" Body="&lt;p&gt;For concreteness consider the LP for solving a two-player zero-sum game where each player has $n$ actions. Suppose each entry of the payoff matrix $A$ is at most 1 in absolute value. For simplicity let's make no sparsity assumptions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose runtime $T$ is available to approximate the value of this game.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One technique for approximating this value is the multiplicative update method (known as no-regret learning in this context). This gives an error of $\tilde O(\sqrt{n/T})$, where $\tilde O$ hides log factors.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I don't know exactly what the error landscape for the best known interior point method looks like, but I'm guessing the error is something like $O(\exp(-T/n^3))$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The multiplicative update methods give error that's an inverse polynomial in $T$. Interior point methods give error that's exponentially small in $T$. The error of the best of the two therefore slowly decreases for a while until interior point catches up, after which the error suddenly falls off a cliff. My instincts are against the best possible time/error tradeoffs behaving this way.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;My question&lt;/strong&gt;:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there an algorithm for approximate linear programming that smoothes out the corner of the time/error tradeoff curve? That is, an algorithm that does at least as well as the best of the two for any value of the available time parameter and has a relatively smooth time/error tradeoff. A more intelligent way to combine interior-point and multiplicative update techniques than taking the better of the two is one likely way to get such an algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;References&lt;/strong&gt;:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Multiplicative update in general:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.cs.princeton.edu/~arora/pubs/MWsurvey.pdf&quot;&gt;http://www.cs.princeton.edu/~arora/pubs/MWsurvey.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Multiplicative update for zero-sum games:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://dx.doi.org/10.1016/0167-6377(95)00032-0&quot;&gt;http://dx.doi.org/10.1016/0167-6377(95)00032-0&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Multiplicative update for covering/packing LPs:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://arxiv.org/PS_cache/arxiv/pdf/0801/0801.1987v1.pdf&quot;&gt;http://arxiv.org/PS_cache/arxiv/pdf/0801/0801.1987v1.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The original interior point paper:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://math.stanford.edu/~lekheng/courses/302/classics/karmarkar.pdf&quot;&gt;http://math.stanford.edu/~lekheng/courses/302/classics/karmarkar.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Interior-point from an applied math perspective:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.athenasc.com/nonlinbook.html&quot;&gt;Bertsekas's Nonlinear Programming&lt;/a&gt;, section 4.1.1.&lt;/p&gt;&#xA;" OwnerUserId="1522" LastEditorUserId="186" LastEditDate="2010-10-19T23:27:20.187" LastActivityDate="2010-11-22T18:52:11.790" Title="What are the best possible time/error tradeoffs for approximate solution of linear programs?" Tags="&lt;ds.algorithms&gt;&lt;approximation-algorithms&gt;&lt;online-learning&gt;&lt;linear-programming&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="2321" PostTypeId="2" ParentId="2215" CreationDate="2010-10-20T00:06:06.680" Score="13" Body="&lt;p&gt;I got another advice. This might sound weird here, but: If you're keen on pursuing an academic career, you might be better off leaving theory and sliding into something more applied, e.g. economics, security, bioinfo, ai. Something where not everybody wants to be in academia, where there are many industry positions, and better paid than an academic ones.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Take a day, research the numbers. Do this with a friend from a different area, and compare results. Go to the CRA website and search for faculty jobs specifically for theorists. Try to find theorists hired on general positions (not specifically listing theory). Estimate the number of theory students the top schools put out every year. Estimate your rank within those. Is this field growing? Shrinking? Look for money, grants, funding. Talk to people about how these effect positions. As you interact with people, become aware of agendas, even on this site.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you stay in theory looking for an academic position, work with people who are experienced, active and well-connected. Don't go for young, enthusiastic, smart, interesting, positive, with a blog, at least not only.&lt;/p&gt;&#xA;" OwnerDisplayName="Eric" LastActivityDate="2010-10-20T00:06:06.680" CommentCount="6" CommunityOwnedDate="2010-10-20T00:06:06.680" ContentLicense="CC BY-SA 2.5" />
  <row Id="2322" PostTypeId="2" ParentId="1343" CreationDate="2010-10-20T02:33:51.050" Score="15" Body="&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Tutte_polynomial&quot;&gt;&lt;strong&gt;Tutte polynomial&lt;/strong&gt;&lt;/a&gt; is an example. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is a generalization of the &lt;a href=&quot;http://en.wikipedia.org/wiki/Chromatic_polynomial&quot;&gt;chromatic polynomial&lt;/a&gt;, which itself is a #P-hard problem in any reasonable formulation. In &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;a href=&quot;http://bura.brunel.ac.uk/bitstream/2438/817/1/tutte.pdf&quot;&gt;Evaluating the Tutte Polynomial for Graphs of Bounded Tree-Width&lt;/a&gt;, S. D. Noble, &#xA;  Combinatorics, Probability and Computing, 1998,&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;a polynomial time algorithm is given where the time complexity is about $O(f(k)n^{4+\epsilon})$, where $k$ is the treewidth and $n$ is the number of nodes.&#xA;Related works can be seen in &lt;a href=&quot;http://www.sciencedirect.com/science?_ob=ArticleURL&amp;amp;_udi=B6V00-3V0YRSD-3&amp;amp;_user=10&amp;amp;_coverDate=08/28/1998&amp;amp;_rdoc=1&amp;amp;_fmt=high&amp;amp;_orig=search&amp;amp;_origin=search&amp;amp;_sort=d&amp;amp;_docanchor=&amp;amp;view=c&amp;amp;_acct=C000050221&amp;amp;_version=1&amp;amp;_urlVersion=0&amp;amp;_userid=10&amp;amp;md5=88a9eb1a5d9f2063c103a19058a4a1ea&amp;amp;searchtype=a&quot;&gt;here&lt;/a&gt;. For a survey, there are article on &lt;a href=&quot;http://arxiv.org/PS_cache/arxiv/pdf/0803/0803.3079v2.pdf&quot;&gt;Arxiv&lt;/a&gt;, &#xA;where the complexity issue discussed in section 8.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It seems that the problem cannot be expressed in MSO2 directly, though I'm not familiar with the detailed definitions... Hope this problem is what you need!&lt;/p&gt;&#xA;" OwnerUserId="1800" LastActivityDate="2010-10-20T02:33:51.050" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="2323" PostTypeId="1" AcceptedAnswerId="2495" CreationDate="2010-10-20T03:08:40.847" Score="21" ViewCount="27942" Body="&lt;p&gt;Which universities have a strong quantum computing curriculum, and offer some type of quantum computing/information courses/research?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The aim here is to collect a useful list for someone considering graduate study in these fields, not to discuss which is &quot;best&quot;.  To make this list useful, please include a brief description of the part of the university where this area is pursued (in many places this is in an interdisciplinary institute that may not be familiar to everyone), and a URL.&lt;/p&gt;&#xA;" OwnerUserId="878" LastEditorUserId="7286" LastEditDate="2012-05-07T14:31:44.837" LastActivityDate="2018-06-21T18:33:11.750" Title="Universities for Quantum Computing / Information?" Tags="&lt;soft-question&gt;&lt;quantum-computing&gt;&lt;big-list&gt;&lt;quantum-information&gt;" AnswerCount="7" CommentCount="21" FavoriteCount="20" ContentLicense="CC BY-SA 2.5" />
  <row Id="2324" PostTypeId="2" ParentId="2323" CreationDate="2010-10-20T03:35:54.403" Score="13" Body="&lt;p&gt;The Université de Montréal has a pretty strong quantum computing laboratory, namely the &lt;a href=&quot;http://www.iro.umontreal.ca/labs/theorique/angindex.html&quot;&gt;Laboratoire d'informatique théorique et quantique&lt;/a&gt;. There are two grad courses (Quantum computing 1 &amp;amp; 2), four professors working specifically on quantum computing (Gilles Brassard, Michel Boyer, Alain Tapp &amp;amp; Louis Salvail) and multiple grad students. &lt;a href=&quot;http://en.wikipedia.org/wiki/Gilles_Brassard&quot;&gt;Gilles Brassard&lt;/a&gt; is considered as one of the founders of quantum cryptography and also has a &lt;a href=&quot;http://www.chairs-chaires.gc.ca/chairholders-titulaires/profile-eng.aspx?profileId=361&quot;&gt;chair in quantum computing&lt;/a&gt;. Quantum cryptography is one of their main research topics. I also know that they are doing some research about quantum communication complexity. The laboratory is a member of the &lt;a href=&quot;http://www.intriq.org/&quot;&gt;INstitute for Transdisciplinary Research In Quantum computing&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="508" LastEditorUserId="508" LastEditDate="2010-10-27T14:01:42.640" LastActivityDate="2010-10-27T14:01:42.640" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2325" PostTypeId="2" ParentId="2312" CreationDate="2010-10-20T04:02:57.447" Score="11" Body="&lt;p&gt;In the article &quot;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.139.1676&amp;amp;rep=rep1&amp;amp;type=pdf&quot;&gt;Approximate Max Cut&lt;/a&gt;&quot; by S. Har-Peled, the last line of the paper mentioned that the real weighted version of max-cut has been discussed in &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;a href=&quot;http://research.microsoft.com/en-us/um/redmond/groups/theory/naor/homepage%20files/cutnorm.pdf&quot;&gt;Approximating the cut-norm via grothendieck’s inequality&lt;/a&gt;, Noga Alon and Assaf Naor,&#xA;  SIAM Journal on Computing, 2006.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;It is indeed an SDP algorithm, and it seems to me that the approximation ratio is 0.56, though I'm not sure if the reduction discussed in the paper is ratio preserving. Maybe a deeper look into the paper will help!&lt;/p&gt;&#xA;" OwnerUserId="1800" LastEditorUserId="1800" LastEditDate="2010-10-20T04:09:10.880" LastActivityDate="2010-10-20T04:09:10.880" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="2326" PostTypeId="1" AcceptedAnswerId="2334" CreationDate="2010-10-20T04:06:28.047" Score="32" ViewCount="856" Body="&lt;p&gt;Two of the common assumptions for proving hardness of approximation results are $P \neq NP$ and Unique Games Conjecture. Are there any hardness of approximation results assuming $NP \neq coNP$ ? I am looking for problem $A$ such that &quot;it is hard to approximate $A$ within a factor $\alpha$ unless $NP = coNP$&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is known that &quot;showing factor $n$ NP-hardness for shortest vector problem would imply that $NP = coNP$&quot;. Note that this is the &quot;opposite&quot; of what I am looking for.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Clarification : It is possible that $NP=coNP$ and still the P vs NP question is open. I am looking for hardness of approximation result which will become false if $NP=coNP$ but is unaffected (i.e., still remains as a conjecture) by $P \neq NP$.&lt;/p&gt;&#xA;" OwnerUserId="344" LastEditorUserId="109" LastEditDate="2010-10-20T09:15:16.017" LastActivityDate="2015-09-09T23:29:49.290" Title="Hardness of approximation assuming NP != coNP" Tags="&lt;approximation-hardness&gt;&lt;conditional-results&gt;" AnswerCount="4" CommentCount="2" FavoriteCount="9" ContentLicense="CC BY-SA 2.5" />
  <row Id="2327" PostTypeId="2" ParentId="2326" CreationDate="2010-10-20T04:12:27.933" Score="8" Body="&lt;p&gt;Disclaimer: this is not a direct answer. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Actually there are many more hardness conditions other than P != NP and the UGC. David Johnson &lt;a href=&quot;http://davidsjohnson.net/columns/col25.pdf&quot; rel=&quot;nofollow&quot;&gt;wrote a beautiful column&lt;/a&gt; for the Transactions on Algorithms back in 2006 on precisely this issue. He lists out the numerous different assumptions that are used to show hardness, and how they relate to each other. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Unfortunately, these are all NP vs deterministic classes (with the exception of NP and co-AM). NP vs co-NP is not covered at all. &lt;/p&gt;&#xA;" OwnerUserId="80" LastEditorUserId="21381" LastEditDate="2015-09-09T23:29:49.290" LastActivityDate="2015-09-09T23:29:49.290" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="2328" PostTypeId="1" CreationDate="2010-10-20T04:26:50.500" Score="37" ViewCount="1541" Body="&lt;p&gt;What should you do when you see a question raised in public, say here on stack-exchange, that you know the answer to, because you are looking into as part of current research project?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, I see a TCS.SX question that I know the answer to, because I worked on the problem recently.  I haven't finished writing up the results yet and am trying to get a few more results to make an acceptable paper.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Should I contact the asker personally?  Claim credit publicly by publishing answer on the site?  What should I do?&lt;/p&gt;&#xA;" OwnerUserId="1844" LastEditorUserId="109" LastEditDate="2010-11-16T17:54:16.290" LastActivityDate="2010-11-16T17:54:16.290" Title="When should you say what you know?" Tags="&lt;soft-question&gt;&lt;research-practice&gt;&lt;authorship&gt;" AnswerCount="5" CommentCount="16" FavoriteCount="11" CommunityOwnedDate="2010-10-22T03:20:40.587" ContentLicense="CC BY-SA 2.5" />
  <row Id="2329" PostTypeId="2" ParentId="2328" CreationDate="2010-10-20T04:30:11.670" Score="11" Body="&lt;p&gt;I was originally inclined to close this question, but then felt it's worthy of an answer. In this situation, since you aren't comfortable releasing your work into the wild, the best solution is to email the questioner privately, if you really want to give the answer. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Alternatively, you could wait, write up the results, put them on the arxiv, and then point the questioner to the answer. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2010-10-20T04:30:11.670" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="2330" PostTypeId="2" ParentId="2326" CreationDate="2010-10-20T04:50:23.733" Score="4" Body="&lt;p&gt;$NP \ne coNP$ is a stronger hypothesis than $P \ne NP$ since $NP\ne coNP$ implies $P\ne NP$. So, any hardness of approximation result assuming $P\ne NP$ would also follow from $NP\ne coNP$ assumption.&lt;/p&gt;&#xA;" OwnerUserId="495" LastActivityDate="2010-10-20T04:50:23.733" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="2331" PostTypeId="2" ParentId="2328" CreationDate="2010-10-20T04:54:34.300" Score="20" Body="&lt;p&gt;Incidentally this happened to three of my questions. The authors contacted me through email and stated the main theorems from their work in progress that answered my questions. Later they were kind enough to send me a preprint before making it public. I was very happy and excited about their results.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think it is a good research practice to share at least the main theorem to the questioner by email. If the questioner is working in the same field he might be able to appreciate your work and give very useful feedback. This will help in expanding your research circle which (in my opinion) is always good.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Once you mention that you are actively working on a problem and have partial results, people are often &quot;ethical enough&quot; not to work on the problem (or) discuss it without your permission. This universal strategy works very good for the entire research society.&lt;/p&gt;&#xA;" OwnerUserId="344" LastActivityDate="2010-10-20T04:54:34.300" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="2332" PostTypeId="2" ParentId="2323" CreationDate="2010-10-20T05:02:03.173" Score="15" Body="&lt;p&gt;To my knowledge, the only institutes/universities currently introducing explicit graduate programs in quantum information processing are: &lt;a href=&quot;http://www.iqc.ca/&quot;&gt;IQC&lt;/a&gt; at University of Waterloo, &lt;a href=&quot;http://www.quantumlah.org/&quot;&gt;CQT&lt;/a&gt; at National University of Singapore, MIT, and Imperial College. The 4 institutions are working together to come up with some sort of standard curriculum. Other institutes I am familiar with is the &lt;a href=&quot;http://www.iqi.caltech.edu/&quot;&gt;IQI&lt;/a&gt; at CalTech, the group at Berkley, and cryptographers at University de Montreal. There are also strong groups in Europe and Asia.&lt;/p&gt;&#xA;" OwnerUserId="1037" LastEditorUserId="1037" LastEditDate="2010-10-26T19:15:47.733" LastActivityDate="2010-10-26T19:15:47.733" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2333" PostTypeId="1" CreationDate="2010-10-20T10:13:51.467" Score="14" ViewCount="269" Body="&lt;p&gt;Assume we want to refute an unsatisfiable CNF.  We can interpret it as an integer program, thus a refutation can be done by applying Lovasz-Schrijver semidefinite cuts ($LS_{+}$ cuts) to its linear relaxation until the polytope is empty.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For a polytope $P$ we consider $N_{+}(P)$ to be the polytope where all possible $LS_{+}$ cuts have been further applied.  We can always iterate the operator $N_{+}$ until the resulting polytope is empty.  The number of iterations required to reach the empty polytope is called the &lt;em&gt;rank&lt;/em&gt; of the polytope.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since each iteration increases the number of facet of a polynomial factor, a non constant number of iterations is out of question. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the case of Gomory-Chvátal cuts, the usual PHP formula requires rank $\Omega(\log n)$, but there exists a refutation of polynomial size.  Such refutation essentially produces the empty polytope using only a small number of the facets from each iteration.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;My question is:&lt;/strong&gt; does there exist a similar example for $LS_{+}$ cuts, i.e. a case where an short refutation exists but the rank is large?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Update&lt;/strong&gt;: The following paper shows (among other things) that a tautology with short refutation and linear rank would separate Tree-Like LS+ from general LS+ refutations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Toniann Pitassi and Nathan Segerlind, &quot;&lt;a href=&quot;http://www.cs.toronto.edu/~toni/Papers/soda.ps&quot;&gt;Exponential Lower Bounds and Integrality Gaps for Tree-like Lovasz-Schrijver Procedures&lt;/a&gt;&quot;, SODA, 2009.   &lt;/p&gt;&#xA;" OwnerUserId="267" LastEditorUserId="267" LastEditDate="2010-11-01T13:43:32.493" LastActivityDate="2010-11-01T13:43:32.493" Title="Any example of an unsatisfiable integer program with non constant Rank Lower bounds for LS+ cuts but with short LS+ refutations?" Tags="&lt;cc.complexity-theory&gt;&lt;open-problem&gt;&lt;integer-programming&gt;&lt;proof-complexity&gt;" AnswerCount="0" CommentCount="5" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="2334" PostTypeId="2" ParentId="2326" CreationDate="2010-10-20T10:18:45.290" Score="20" Body="&lt;p&gt;Here's a straightforward observation. If you assume $NP \neq coNP$, then it is pretty easy to see there are $NP$ optimization problems which do not even have good &lt;em&gt;nondeterministic&lt;/em&gt; approximation algorithms, in some sense.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, the PCP theorem says that you can translate SAT into the problem of distinguishing whether $1-\varepsilon$ of the clauses are satisfied and all of the clauses are satisfied, for some $\varepsilon &gt; 0$. Suppose there is a nondeterministic algorithm which can distinguish between these two cases, in the sense that the nondeterministic algorithm can report in each computation path either &quot;all satisfied&quot; or &quot;at most $1-\varepsilon$&quot;, and it says &quot;at most $1-\varepsilon$&quot; in some path if at most $1-\varepsilon$ can be satisfied, otherwise it says &quot;all satisfied&quot; in every computation path if all equations can be satisfied. This is enough to decide SAT in $coNP$, so $NP=coNP$. It seems clear that the existence of such a nondeterministic algorithm has no bearing on whether $P = NP$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's quite plausible that a more &quot;natural&quot; scenario exists: an optimization problem which is hard to approximate in &lt;em&gt;deterministic&lt;/em&gt; polynomial time under $NP \neq coNP$ but not known to be hard under $P \neq NP$. (This is probably what you really wanted to ask.) Many hardness of approximation results are first proven under some stronger assumption (e.g. $NP$ not in subexponential time, or $NP$ not in $BPP$). In some cases, later improvements weaken the necessary assumption, sometimes down to $P \neq NP$. So there is hope that there's a slightly more satisfactory answer to your question than this one. It is hard to wonder how there could be a problem that &lt;em&gt;cannot&lt;/em&gt; be proved hard to approximate in deterministic polytime under $P \neq NP$, but it &lt;em&gt;can&lt;/em&gt; be proved hard under $NP \neq coNP$. That would mean that $NP \neq coNP$ tells us something about deterministic computations that $P \neq NP$ doesn't already say; intuitively, this is hard to grasp.&lt;/p&gt;&#xA;" OwnerUserId="225" LastEditorUserId="225" LastEditDate="2010-10-20T17:09:46.120" LastActivityDate="2010-10-20T17:09:46.120" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="2335" PostTypeId="1" CreationDate="2010-10-20T11:08:11.470" Score="22" ViewCount="858" Body="&lt;p&gt;What is known about the time complexity of the following problem, which we call 3-MUL?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a set $S$ of $n$ integers, are there elements $a,b,c\in S$ such that $ab=c$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This problem is similar to the 3-SUM problem, which asks whether there are three elements $a,b,c\in S$ such that $a+b+c=0$ (or equivalently $a+b=c$). 3-SUM is conjectured to require roughly quadratic time in $n$. Is there a similar conjecture for 3-MUL? Specifically is 3-MUL known to be 3-SUM hard?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note, the time complexity should apply in a &quot;reasonable&quot; model of computation. For instance, we could reduce from 3-SUM on a set $S$ to 3-MUL on set the $S'$, where  $S'=\{2^x\mid x\in S\}$. Then a solution to 3-MUL, $2^a\cdot 2^b=2^c$, exists if and only if $a+b=c$. However, this exponential blow-up of the numbers scales very badly with various models, like the RAM model for example.&lt;/p&gt;&#xA;" OwnerUserId="1847" LastActivityDate="2010-11-04T08:02:43.127" Title="Multiplicative version of 3-SUM" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;time-complexity&gt;" AnswerCount="2" CommentCount="3" FavoriteCount="6" ContentLicense="CC BY-SA 2.5" />
  <row Id="2336" PostTypeId="2" ParentId="189" CreationDate="2010-10-20T12:56:02.977" Score="4" Body="&lt;p&gt;If Dijkstra is specified, I think that &lt;a href=&quot;http://en.wikipedia.org/wiki/Bellman%E2%80%93Ford_algorithm&quot; rel=&quot;nofollow&quot;&gt;Bellman-Ford&lt;/a&gt; is even a better candidate.&lt;/p&gt;&#xA;" OwnerUserId="1796" LastActivityDate="2010-10-20T12:56:02.977" CommentCount="1" CommunityOwnedDate="2010-10-20T12:56:02.977" ContentLicense="CC BY-SA 2.5" />
  <row Id="2337" PostTypeId="2" ParentId="2335" CreationDate="2010-10-20T12:59:31.543" Score="3" Body="&lt;p&gt;Have you tried the reduction $S'=\{2^{x/M}|x\in S\}$ where $M=\max S− \min S$? The results are real numbers so you'd have to round to some number of digits. To ensure that the numbers add correctly despite the rounding you may need to add a bit of random noise.&lt;/p&gt;&#xA;" OwnerUserId="1522" LastActivityDate="2010-10-20T12:59:31.543" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="2338" PostTypeId="1" AcceptedAnswerId="2340" CreationDate="2010-10-20T15:13:40.860" Score="0" ViewCount="493" Body="&lt;p&gt;Is there a formal proof of the worst-case configuration of the subset sum problem?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In other words - is there a set proven to be the hardest to find a subset equals to 0 from?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;thanks&lt;/p&gt;&#xA;" OwnerUserId="1851" LastEditorUserId="186" LastEditDate="2010-10-23T07:23:03.387" LastActivityDate="2010-10-23T07:23:03.387" Title="Formalized configuration of Subset sum problem Worst-case ?" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;" AnswerCount="1" CommentCount="5" ClosedDate="2010-10-21T05:57:48.863" ContentLicense="CC BY-SA 2.5" />
  <row Id="2339" PostTypeId="2" ParentId="1198" CreationDate="2010-10-20T15:16:37.717" Score="15" Body="&lt;p&gt;For people interested in quantum computation, the talks of QIP 2010 are available here:&#xA;&lt;a href=&quot;http://www.qip2010.ethz.ch/programme&quot;&gt;http://www.qip2010.ethz.ch/programme&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="5" LastActivityDate="2010-10-20T15:16:37.717" CommentCount="0" CommunityOwnedDate="2010-10-20T15:16:37.717" ContentLicense="CC BY-SA 2.5" />
  <row Id="2340" PostTypeId="2" ParentId="2338" CreationDate="2010-10-20T15:32:03.807" Score="11" Body="&lt;p&gt;No, there isn't. If there was such a particular instance of subset sum problem that would be &quot;the hardest&quot; we could solve it by brute-force, and then hard-code it (and its answer) into our program solving subset sum problem. Then our algorithm, given an instance to solve, would first check whether the input matches that hard instance, and if so, it would simply output its answer in O(1) time - and thus, the instance wouldn't be hard anymore. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In general, hardness lies in the problems (which we can see as infinite sets of instances), and not in particular instances (or even some finite sets of instances), and searching for explicit instances of the problem that are &quot;the hardest&quot; doesn't make much sense. You could restate the question to ask about some &quot;hard&quot; family of instances - i.e., such families that our problem remains NP-hard when limited only to these instances. You could probably get one example of such families by looking at the details in the reduction showing that SUBSET-SUM in NP-hard.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Answer to the comment:&lt;/strong&gt; Generally, this kind of questions is too elemental for this site - I would really advise you to read some good intro to complexity theory, or at least to do a DFS on wikipedia starting from this article: &lt;a href=&quot;http://en.wikipedia.org/wiki/NP-complete&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/NP-complete&lt;/a&gt;&#xA;I think you will find all your answers there. Then, if you're interested specifically in the SUBSET-SUM problem, you could look into the reduction showing its NP-hardness - you will see there arbitrary instances of SAT (or some other NP-hard problem) being mapped into some particular instances of SUBSET-SUM (the set of these &quot;hard&quot; instances will probably be smaller than the set of all instances, but still infinite and &quot;dense&quot;). And yes, if you can solve the SUBSET-SUM problem restricted to this set of instances, you will prove that P=NP.&lt;/p&gt;&#xA;" OwnerUserId="327" LastEditorUserId="327" LastEditDate="2010-10-20T22:24:17.540" LastActivityDate="2010-10-20T22:24:17.540" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2341" PostTypeId="1" CreationDate="2010-10-20T16:15:49.193" Score="7" ViewCount="1767" Body="&lt;p&gt;We are struggling to understand a fast algorithm for finding Hamiltonian cycle (for random graphs) due to Prof. Alan Frieze* and see whether that algorithm could be implemented efficiently. If there is an open source implementation of the algorithm, we can contribute to the testing of that code.We have a graph which has at least 10 Hamiltonian Cycles and we want to use that to find a specific Hamiltonian Cycle (How easy/hard is that will be our question). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Abstract of Broder et al's  paper (from citeseer: &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.38.1661&quot; rel=&quot;nofollow&quot;&gt;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.38.1661&lt;/a&gt; )&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider a random graph G composed of a Hamiltonian cycle on n labeled vertices and dn random edges that &quot;hide&quot; the cycle. Is it possible to unravel the structure, that is, to efficiently find a Hamiltonian cycle in G? We describe an O(n 3 log n) steps algorithm A for this purpose, and prove that it succeeds almost surely. Part one of A properly covers the &quot;trouble spots&quot; of G by a collection of disjoint paths. (This is the hard part to analyze.) Part two of A extends this cover to a full cycle by the rotation-extension technique which is already classical for such problems. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Questions:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;qn1) Has any one implemented Broder et al's algorithm? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;qn 2) Are there recent paper better than Broder et al's algorithm – &lt;/p&gt;&#xA;&#xA;&lt;p&gt;qn 3) If there are 10 to 15 Hamiltonian cycles in a graph do their algorithm find all of them fast? –&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;A. Broder, A. M. Frieze and E. Shamir, &quot;Finding hidden Hamiltonian Cycle,&quot; Random Structures and Algorithms , 5, 2006&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerDisplayName="msk" LastEditorUserId="161" LastEditDate="2010-10-21T16:50:03.783" LastActivityDate="2016-12-09T12:14:23.613" Title="Fast Hamiltonian Cycle finding Algorithm" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;reference-request&gt;" AnswerCount="0" CommentCount="4" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="2342" PostTypeId="2" ParentId="2148" CreationDate="2010-10-20T18:42:07.320" Score="1" Body="&lt;p&gt;This is just a thought, not a solution, but too long for a comment. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Could your set/representation be an alphabetic building of the string?&lt;br&gt;&#xA;Example (for A): &lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;&#xA;1. Start with the empty string (^$) &#xA;2. Insert a between 1st ^ and 1st $ (now: ^a$)&#xA;3. Insert b between 1st ^ and 1st a (now: ^ba$) &#xA;4. Insert c between 1st ^ and 1st b (now: ^cba$) &#xA;5. Insert d between 1st b and 1st a (now: ^cbda$) &#xA;6. Insert d between 1st a and 1st ^ (now: ^cbdad$) &#xA;&lt;/code&gt;&lt;/pre&gt; &#xA;&#xA;&lt;p&gt;and so on... &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Your representation would be the steps you took to build the string &#xA;(in alphabetic order): &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The element {a, {1,^}, {1,$}} represents step 2, while {d, {1,b}, &#xA;{1,a}} represents the 5th step. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Provided you do this alphabetically in each case, you might have &#xA;something you can use.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A complementary thought: start with enough copies of each letter &quot;abcdd&quot; (for the first 4) and then keep track of your transpositions to build the string. We're now moving vaguely into permutation theory.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[BTW, it's &quot;jumps&quot;, not &quot;jumped&quot;, otherwise there's no 's' -- yes, I &#xA;realize you never said it was a pangram] &lt;/p&gt;&#xA;" OwnerDisplayName="user1854" LastEditorDisplayName="user1854" LastEditDate="2010-10-20T18:50:30.443" LastActivityDate="2010-10-20T18:50:30.443" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="2344" PostTypeId="2" ParentId="2148" CreationDate="2010-10-20T19:39:02.230" Score="5" Body="&lt;p&gt;If the only thing that can happen is that characters disappear, I think you only need to solve the &lt;a href=&quot;http://en.wikipedia.org/wiki/Longest_common_subsequence_problem&quot; rel=&quot;nofollow&quot;&gt;longest common subsequence problem&lt;/a&gt;.  (A subsequence is a generalization of a substring: there can be multiple locations in the subsequence where material was removed from the larger sequence, not just at the start and/or end.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Beyond that, have you seen &lt;a href=&quot;http://en.wikipedia.org/wiki/Levenstein_Distance#Relationship_with_other_edit_distance_metrics&quot; rel=&quot;nofollow&quot;&gt;this list of metrics&lt;/a&gt;?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I may be misunderstanding your problem statement, but it seems to me that if you define precisely how errors can occur (deletion, transposition, etc.) and then build a suffix tree, it should be possible to have a pretty fast algorithm, after paying the memory and preprocessing cost of building the suffix tree.&lt;/p&gt;&#xA;" OwnerUserId="30" LastActivityDate="2010-10-20T19:39:02.230" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="2345" PostTypeId="2" ParentId="2335" CreationDate="2010-10-20T19:54:46.937" Score="11" Body="&lt;p&gt;Your reduction from $3$SUM to $3$MUL works with a minor standard modification.&#xA;Suppose your original integers were in {$1,\ldots,M$}. After the transformation $x\rightarrow 2^x$ the new integers are in {$2,\ldots,2^M$}. We will reduce the range.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider any triple of integers $a,b,c$ in the new set $S'$.&#xA;The number of prime divisors of any nonzero $ab-c$ is $&amp;lt;2M$. The number of such triples is $n^3$. Hence the number of primes $q$ which divide at least one of the $ab-c$ nonzero numbers is at most $2Mn^3$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $P$ be the set of the first $2M\cdot n^4$ primes. The largest such prime is of size at most $O(Mn^4\log Mn)$. Pick a random prime $p\in P$. With high probability $p$ will not divide any of the nonzero $ab-c$, so we can represent each $a\in S'$ by its residue, mod $p$, and if $3$MUL finds some $ab=c$ in $S'$, with high probability it will be correct for the original $3$SUM instance. We have reduced the range of the numbers to {$0,\ldots, O(Mn^4\log Mn)$}.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(This is a standard size reduction. You might be able to do better by considering the fact that the $ab-c$ are always differences of two powers of $2$.)&lt;/p&gt;&#xA;" OwnerUserId="410" LastActivityDate="2010-10-20T19:54:46.937" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="2346" PostTypeId="2" ParentId="2148" CreationDate="2010-10-20T21:46:29.133" Score="0" Body="&lt;p&gt;It sounds to me like your simple thing should work. Each packet contains the position and the character, e.g. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;code&gt;The = &amp;lt;1, T&amp;gt;, &amp;lt;2, h&amp;gt;, &amp;lt;3, e&amp;gt;&lt;/code&gt; &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then you compare the first pair of A with the first pair of B etc. This should give you Levenshtein.&lt;/p&gt;&#xA;" OwnerUserId="1418" LastActivityDate="2010-10-20T21:46:29.133" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="2347" PostTypeId="1" AcceptedAnswerId="2595" CreationDate="2010-10-21T01:18:09.343" Score="40" ViewCount="1428" Body="&lt;p&gt;This is a question about circuit complexity. (Definitions are at the bottom.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Yao and Beigel-Tarui showed that every $ACC^0$ circuit family of size $s$ has an equivalent circuit family of size $s^{poly(\log s)}$ of depth &lt;strong&gt;two&lt;/strong&gt;, where the output gate is a symmetric function and the second level consists of $AND$ gates of $poly(\log s)$ fan-in. This is a fairly remarkable &quot;depth collapse&quot; of a circuit family: from a depth 100 circuit you can reduce the depth to 2, with only a quasi-polynomial blowup (and one fancy but still restricted gate at the top).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question: is there any known way to express a $TC^0$ circuit family, similarly? More ambitiously, what about an $NC^1$ circuit family? Potential answers would have the form: &lt;em&gt;&quot;Every $TC^0$ circuit of size $s$ can be recognized by a depth-two family of size $f(s)$, where the output gate is a function of type $X$ and the second level of gates have type $Y$&quot;&lt;/em&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It doesn't &lt;em&gt;have&lt;/em&gt; to be depth-two, any sort of fixed-depth result would be interesting. Proving that every $TC^0$ circuit can be represented in depth 3 by a circuit consisting of only symmetric function gates would be very interesting.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some minor observations:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;If $f(n)=2^n$ the answer is trivial for &lt;em&gt;any&lt;/em&gt; Boolean function (we can express any function as an $OR$ of $2^n$ $AND$s). For concreteness, let's require $f(n) = 2^{n^{o(1)}}$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The answer is also trivial if either $X$ or $Y$ is allowed to be an arbitrary function computable in $TC^0$... :)&#xA;I'm obviously interested in &quot;simpler&quot; functions, whatever this means. It's a bit slippery to define because there are symmetric function families which are uncomputable. (There are unary languages which are uncomputable.) If you like, you may simply replace $X$ and $Y$ with symmetric functions in the statement, however I'd be interested in any other neat choices of gates.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;(Now for some brief recollections of notation: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$ACC^0$ is the class recognized by a family of unbounded fan-in constant-depth circuits with $AND$, $OR$, and $MOD_m$ gates for a constant $m &gt; 1$ independent of the circuit size. A $MOD_m$ gate returns $1$ iff the sum of its inputs is divisible by $m$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$TC^0$ is the class recognized by constant-depth circuits with $MAJORITY$ gates of unbounded fan-in.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$NC^1$ is the class recognized by logarithmic-depth circuits with $AND$, $OR$, $NOT$ gates of bounded fan-in.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is known that $ACC^0 \subseteq TC^0 \subseteq NC^1$ when the circuit size is restricted to be polynomial in the number of inputs.)&lt;/p&gt;&#xA;" OwnerUserId="225" LastEditorUserId="225" LastEditDate="2010-10-21T01:23:34.093" LastActivityDate="2010-10-31T19:07:29.467" Title="A fixed-depth characterization of $TC^0$? $NC^1$?" Tags="&lt;cc.complexity-theory&gt;&lt;circuit-complexity&gt;&lt;upper-bounds&gt;" AnswerCount="3" CommentCount="5" FavoriteCount="13" ContentLicense="CC BY-SA 2.5" />
  <row Id="2348" PostTypeId="2" ParentId="2347" CreationDate="2010-10-21T02:15:45.150" Score="18" Body="&lt;p&gt;Barrington's Theorem ought to get you poly-size depth-3 circuits for $NC^1$ with a top gate that's not too strange (multiplies 5 cycles). &lt;/p&gt;&#xA;" OwnerUserId="550" LastActivityDate="2010-10-21T02:15:45.150" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="2349" PostTypeId="1" AcceptedAnswerId="2350" CreationDate="2010-10-21T02:46:14.640" Score="9" ViewCount="1004" Body="&lt;p&gt;Matrix multiplication using regular (row - column inner product) technique takes $O(n^{3})$ multiplucations and $O(n^{3})$ additions. However assuming equal sized entries (number of bits in each entry of both matrices being multiplied) of size $m$ bits, the addition operation actually happens on $O(n^{3}nm) = O(n^{4}m)$ bits.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So it seems that the true complexity of matrix multiplication if measured via bit complexity should be $O(n^{4})$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$(1)$Is this correct?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Supposing if one creates an algorithm which reduces the bit complexity to $O(n^{3+\epsilon})$ rather than total multiplications and additions, this might be a sounder approach than say reducing the total multiplications and additions to $O(n^{2+\epsilon})$ as attempted by researchers such as Coppersmith and Cohn.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$(2)$ Is this a valid argument?&lt;/p&gt;&#xA;" OwnerUserId="1812" LastActivityDate="2010-10-21T03:00:47.943" Title="True Bit Complexity of matrix multiplication is $O(n^{4})$" Tags="&lt;cc.complexity-theory&gt;&lt;algebraic-complexity&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2350" PostTypeId="2" ParentId="2349" CreationDate="2010-10-21T03:00:47.943" Score="31" Body="&lt;p&gt;No, the bit complexity of matrix multiplication on $M$-bit entries is $n^{\omega} (\log n)^{O(1)} \cdot M (\log M)^{O(1)}$, where $\omega &amp;lt; 2.4$ is the best known matrix multiplication exponent. Multiplication and addition of $M$-bit numbers can be done in $M (\log M)^2$ time. Multiplying two $M$-bit numbers yields a number which has no more than $2M$ bits. Adding $n$ numbers of $M$ bits each, yields a number which has no more than $M+\log n+O(1)$ bits. (Think about it: the sum is at most $n 2^M$, so the bit representation takes no more than $\log (n 2^M)+O(1)$ bits.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;References to fast integer multiplication algorithms can be found with a web search or wikipedia.&lt;/p&gt;&#xA;" OwnerUserId="225" LastActivityDate="2010-10-21T03:00:47.943" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2351" PostTypeId="2" ParentId="2270" CreationDate="2010-10-21T03:44:36.323" Score="8" Body="&lt;p&gt;You might also have luck with the keywords 'computational commutative algebra' and 'computational algebraic geometry.'  Try &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0387356509&quot; rel=&quot;nofollow&quot;&gt;CLO&lt;/a&gt; as a starting point, and look at J. Symbolic Computation, and systems like Macaulay2 and Singular and the papers that reference them.  The big hammer is Gr\&quot;obner bases, the computation of which will solve many algebraic problems, but is worst-case doubly exponential in general.&lt;/p&gt;&#xA;" OwnerUserId="210" LastActivityDate="2010-10-21T03:44:36.323" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2352" PostTypeId="2" ParentId="2148" CreationDate="2010-10-21T04:07:13.363" Score="14" Body="&lt;p&gt;There's indeed some research in this vein for the edit distance with some positive and some negative results. (I might not be understanding the question precisely, so I'll try to answer questions I know to answer.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here's one interpretation: (I1) you want to compute, for each string A a set f(A) such that, for any two strings A,B, the edit distance ed(A,B) is equal to the symmetric difference between f(A) and f(B) (in some sense the opposite of intersection of the two sets). This question has been well-studied (though by far is not solved), and is known as the question of &lt;em&gt;embedding edit distance into Hamming distance ($\ell_1$)&lt;/em&gt;. In particular, achieving (I1) precisely is not possible, but is possible up to some approximation (i.e., we approximate ed(A,B) up to some factor):&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://www.wisdom.weizmann.ac.il/~robi/papers/KR-EmbedLB-SICOMP09.pdf&quot; rel=&quot;nofollow&quot;&gt;Krauthgamer and Rabani&lt;/a&gt; prove that $\Omega(\log n)$ approximation is required ($n$ is the length of the strings);&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://www.cs.ucla.edu/~rafail/PUBLIC/68.pdf&quot; rel=&quot;nofollow&quot;&gt;Ostrovsky and Rabani&lt;/a&gt; prove that $2^{O(\sqrt{\log n\log\log n})}$ approximation is achievable.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Here's a slightly more liberal interpretation: (I2) we produce some &lt;em&gt;sketch&lt;/em&gt; f(A) for each string A, and we estimate the distance ed(A,B) via &lt;em&gt;some calculation&lt;/em&gt; on f(A), f(B) (i.e., not necessarily by taking the symmetric difference).  The question is to have f(A) to be much shorter than the length of the original string, $n$ (otherwise, one has a trivial solution by f(A)=A). This interpretation (I2) is more general than (I1) (=easier to achieve), though we do not know of any strictly better solutions. There's some &lt;a href=&quot;http://arxiv.org/abs/1005.4033&quot; rel=&quot;nofollow&quot;&gt;partial progress&lt;/a&gt;, where the estimation of ed(A,B) is done from f(A) and B (i.e., one string, say B, is fully known).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There's surely more literature in this vein, but let me know first if this is anywhere close to what you meant.&lt;/p&gt;&#xA;" OwnerUserId="152" LastActivityDate="2010-10-21T04:07:13.363" CommentCount="7" ContentLicense="CC BY-SA 2.5" />
  <row Id="2353" PostTypeId="1" AcceptedAnswerId="2372" CreationDate="2010-10-21T05:14:11.513" Score="16" ViewCount="521" Body="&lt;p&gt;I've been thinking of a variant of &lt;a href=&quot;http://www.hexwiki.org/&quot; rel=&quot;nofollow&quot;&gt;hex&lt;/a&gt;, where instead of the two players making moves alternately, each turn a player picked at random makes a move. How hard is it to determine the chances for each player winning? This problem is obviously in PSPACE, but can't it to be NP-hard, much less PSPACE-complete. The difficulties come from how the randomness makes it impossible for a player to be forced into making a choice among options; if that player is lucky he gets enough moves two take both options, and if the player is unlucky the opponent gets enough moves to block both options. On the other hand, I can't think of any polynomial-time algorithms for this.&lt;/p&gt;&#xA;" OwnerUserId="1858" LastEditorUserId="74" LastEditDate="2010-10-22T10:40:32.550" LastActivityDate="2010-10-22T10:40:32.550" Title="Complexity of hex with random turn order." Tags="&lt;cc.complexity-theory&gt;&lt;board-games&gt;" AnswerCount="1" CommentCount="13" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2354" PostTypeId="2" ParentId="1198" CreationDate="2010-10-21T05:26:09.170" Score="31" Body="&lt;p&gt;&lt;a href=&quot;https://www.youtube.com/playlist?list=PLoROMvodv4rNMsVRnSJ44WuwbminUqXX2&quot; rel=&quot;noreferrer&quot;&gt;Don Knuth's musings&lt;/a&gt; are great, always describing some amazing thing unknown to me before.&lt;/p&gt;&#xA;" OwnerUserId="168" LastEditorUserId="168" LastEditDate="2015-04-20T22:34:28.607" LastActivityDate="2015-04-20T22:34:28.607" CommentCount="3" CommunityOwnedDate="2010-10-21T05:26:09.170" ContentLicense="CC BY-SA 3.0" />
  <row Id="2355" PostTypeId="2" ParentId="2270" CreationDate="2010-10-21T07:30:53.910" Score="14" Body="&lt;p&gt;To my best knowledge: &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;If you read about &lt;strong&gt;lower bounds&lt;/strong&gt; in some algebraic computational model, then the usual assumption is that &lt;em&gt;the ring or field operations are of constant cost&lt;/em&gt;, that is they are given as primitives. This is the assumption made in one of the main sources on the topic: Burgisser, Clausen, Shokrollahi-&lt;em&gt;Algebraic complexity theory&lt;/em&gt; (Springer, 1997).&#xA;(And this is what is modeled by algebraic circuits, for instance.)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;When one speaks about &lt;strong&gt;upper bounds&lt;/strong&gt;, for standard questions in algebraic complexity, like when studying polynomial identity testing procedures, then the standard assumption is that the ring or field operations can be computed in polytime. This means that one works over the integers, or over the rational numbers, and it is easy to find an encoding scheme that enables such efficient computations of the basic operations.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;For other purposes I know of, concerning algebraic models, the way to represent the ring or field is a real question and sometimes there is no efficient way to do so, and there might even be questions of undecidability. The references I know of that cover these kind of questions are the book Shiva Kintali gave, and also:&#xA;&lt;em&gt;Algorithmic Algebra&lt;/em&gt;, Bhubaneswar Mishra, Springer 1993: Chapter 3 deals with ways to represent certain rings.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Other books of interest might be: Zur Gathen and Jurgen Gerhard, &lt;em&gt;Modern Computer Algebra&lt;/em&gt;, Cambridge, 1999. And possibly Victor Shoup, &lt;em&gt;A Computational Introduction to Number Theory and Algebra&lt;/em&gt;, (Available online).&lt;/p&gt;&#xA;" OwnerUserId="78" LastEditorUserId="78" LastEditDate="2010-10-21T07:44:44.570" LastActivityDate="2010-10-21T07:44:44.570" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2356" PostTypeId="2" ParentId="453" CreationDate="2010-10-21T08:43:48.520" Score="10" Body="&lt;p&gt;There's a lot of real-world motivation for the study of streaming algorithms that comes from network intrusion detection.  The paper below uses streaming algorithms for empirical entropy to detect anomolies in your network traffic.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Yu Gu, Andrew McCallum, and Don Towsley. &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=1251118&quot;&gt;Detecting anomalies in network traffic&#xA;using maximum entropy estimation.&lt;/a&gt; In IMC ’05: Proceedings of the 5th ACM SIGCOMM&#xA;conference on Internet measurement, pages 1–6, 2005&lt;/p&gt;&#xA;" OwnerUserId="1645" LastActivityDate="2010-10-21T08:43:48.520" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2357" PostTypeId="2" ParentId="2328" CreationDate="2010-10-21T08:47:42.433" Score="15" Body="&lt;p&gt;Here, where public interest in the problem has been expressed, I think it's good for science to make known the fact that you believe you have solved the problems and provide some concrete details of what you have achieved.  If you have reason not to show your hand right away, I think the goal should be to figure out what you are now comfortable saying in public, and how to present it.  So I argue against private email.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Something I've seen some people do is write research bulletins, a bit like personal technical notes, that summarise findings on a topic in some degree of rigour, but without attempting to be comprehensive in the way that makes writing papers for peer-reviewed publication so time-consuming.  The progress reports that Harvey Friedman used to send to the Foundations of Mathematics mailing list would be a good exemplar of that kind of thing, e.g., &lt;a href=&quot;http://cs.nyu.edu/pipermail/fom/2000-March/003868.html&quot;&gt;Self-contained posting 82: Simplified Boolean Relation Theory&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Starting such a bulletin series to deal with this, and then posting an excerpt here seems like a good strategy, since it allows you to quickly identify your achivements, while being in control of what details you make public.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I don't recommend regular blog posts for this, since they carry some unwanted associations, that they are conversational, open to revision, and not properly referenceable documents.  Writing in a form for publication on Arxiv would make sense, but a &lt;em&gt;Research Notes&lt;/em&gt; section on your publications page linking to an html page would work.&lt;/p&gt;&#xA;" OwnerUserId="270" LastEditorUserId="270" LastEditDate="2010-10-21T08:55:27.783" LastActivityDate="2010-10-21T08:55:27.783" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="2358" PostTypeId="2" ParentId="453" CreationDate="2010-10-21T10:25:41.790" Score="6" Body="&lt;p&gt;Theorem provers have been used to some extent for proving correctness of software, hardware and protocols. See, for example, &lt;a href=&quot;http://afp.sourceforge.net/&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt; or &lt;a href=&quot;http://en.wikipedia.org/wiki/Isabelle_%28theorem_prover%29#Usage&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem of data flowing in undesired ways through programs (an thus causing a potential leak) has been modelled theoretically using the notion of (non-)interference; get pointers &lt;a href=&quot;http://en.wikipedia.org/wiki/Non-interference_%28security%29&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="1546" LastActivityDate="2010-10-21T10:25:41.790" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2360" PostTypeId="1" AcceptedAnswerId="2368" CreationDate="2010-10-21T15:48:07.563" Score="18" ViewCount="623" Body="&lt;p&gt;In a classic paper &lt;a href=&quot;http://dx.doi.org/10.1016/0304-3975(80)90061-4&quot;&gt;Munro and Paterson&lt;/a&gt; study the problem of how much storage is required for an algorithm to find the median in a randomly sorted array.  In particular they focus on the following model:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;the input is read from left to right for a number P of times.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is shown that $O(n^{\frac{1}{2P}})$ memory cells are sufficient, but the corresponding lower bound is only known for P=1.  I haven't seen any result for P&gt;1.  Is anyone aware of such lower bounds?  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Notice that the main difficulty here is that at the second pass the input is not randomly ordered anymore.&lt;/p&gt;&#xA;" OwnerUserId="267" LastEditorUserId="267" LastEditDate="2010-10-21T16:24:21.800" LastActivityDate="2010-10-22T03:45:23.200" Title="Storage requirements for median selection (two passes algorithms)" Tags="&lt;ds.algorithms&gt;&lt;space-bounded&gt;&lt;data-streams&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2361" PostTypeId="2" ParentId="2328" CreationDate="2010-10-21T16:24:40.767" Score="6" Body="&lt;p&gt;The way to handle this situation naturally depends on a number of factors.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;How confident are you of what you know?  (This relates to the next factor.)&lt;/li&gt;&#xA;&lt;li&gt;How much of what you know is rigorously written down?  In particular, how much time will it take to finish the full write-up?&lt;/li&gt;&#xA;&lt;li&gt;How much attention did the question receive?  Is it likely that many solid researchers will begin to work on the question after it was asked publicly?&lt;/li&gt;&#xA;&lt;li&gt;Is there a natural public venue to partially announce/sketch what you know in reply, e.g. via the question-asker?&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Weighing these factors depending on your own experience and judgement will lead you to different actions according to one of the other responses in this thread.&lt;/p&gt;&#xA;" OwnerUserId="233" LastActivityDate="2010-10-21T16:24:40.767" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2362" PostTypeId="2" ParentId="2328" CreationDate="2010-10-21T16:25:23.887" Score="29" Body="&lt;p&gt;I'll share my side of the story that is mentioned in Shiva's answer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Shiva had &lt;a href=&quot;https://cstheory.stackexchange.com/questions/1535/intermediate-problems-between-l-and-nl&quot;&gt;several&lt;/a&gt; &lt;a href=&quot;https://cstheory.stackexchange.com/questions/1657/sc2-algorithms-for-st-connectivity&quot;&gt;questions&lt;/a&gt; &lt;a href=&quot;https://cstheory.stackexchange.com/questions/1558/parallel-algorithms-for-directed-st-connectivity&quot;&gt;related&lt;/a&gt; to my own research (space-bounded algorithms for reachability problems). We were currently putting the final touches on a full draft of the proof, and were not ready to announce the result.  However, it was clear that Shiva was very interested in this area, so I emailed him saying we had a result in the works and gave him just the theorem statement.  A week later, we had our draft complete and I sent him a copy.  A few weeks later we shared our updated draft on &lt;a href=&quot;http://www.eccc.uni-trier.de/report/2010/154/&quot; rel=&quot;nofollow noreferrer&quot;&gt;the ECCC&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This worked well for several reasons.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Shiva and I have never met in person, but now we know each other as colleagues interested in similar problems.&lt;/li&gt;&#xA;&lt;li&gt;Shiva also sent me a copy of his most recent work, which is also related and interesting.&lt;/li&gt;&#xA;&lt;li&gt;The questions gave me an extra boost of motivation to complete a full draft quickly.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I recommend this course of action in the future: partial disclosure via private communication, full disclosure, and public announcement.&lt;/p&gt;&#xA;" OwnerUserId="59" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2010-10-21T16:25:23.887" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2363" PostTypeId="2" ParentId="2300" CreationDate="2010-10-21T16:58:39.050" Score="7" Body="&lt;p&gt;For CSPs where you interact with the external world, there is also something called, unsurprisingly, Open CSP, defined in &lt;a href=&quot;http://dx.doi.org/10.1016/j.artint.2004.10.005&quot;&gt;http://dx.doi.org/10.1016/j.artint.2004.10.005&lt;/a&gt;. The gist is that you don't know the satisfying/falsifying tuples of $\mathbf P(x)$, but discover them incrementally by querying a network. In my opinion, that paper does not do anything non-obvious, but it's a start.&lt;/p&gt;&#xA;" OwnerUserId="161" LastActivityDate="2010-10-21T16:58:39.050" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2364" PostTypeId="1" AcceptedAnswerId="2365" CreationDate="2010-10-21T17:06:55.257" Score="12" ViewCount="558" Body="&lt;p&gt;i have a dataset of thousands of points and a means of measuring the distance between any two points, but the data points have no dimensionality. i want an algorithm to find cluster centers in this dataset. i imagine that because the data has no dimensions, a cluster center might consist of several data points and a tolerance, and membership within the cluster might be determined by the average of the distance of a data point to every data point in the cluster center.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;please forgive me if this question has a well known solution, i know very little about this kind of problem! my (very limited) research has only turned up clustering algorithms for dimensional data, but i apologize in advance if i've missed something obvious.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;thank you!&lt;/p&gt;&#xA;" OwnerUserId="1865" LastEditorUserId="186" LastEditDate="2010-10-23T05:41:58.703" LastActivityDate="2010-11-10T00:55:30.840" Title="clustering algorithm for non-dimensional data" Tags="&lt;machine-learning&gt;&lt;lg.learning&gt;&lt;clustering&gt;" AnswerCount="5" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="2365" PostTypeId="2" ParentId="2364" CreationDate="2010-10-21T17:22:43.307" Score="15" Body="&lt;p&gt;If the distance function is a metric, then you can employ either $k$-center clustering (where the maximum radius of a ball is minimized) or $k$-median clustering (which minimizes the sum of distances to cluster centers). $k$-center clustering is easy: merely pick the $k$-farthest points, and you're guaranteed to get a 2-approximation via triangle inequality (this is an old result due to Gonzalez).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For $k$-median clustering, there's been a ton of work, too much to review here. Michael Shindler at UCLA &lt;a href=&quot;http://www.cs.ucla.edu/~shindler/shindler-kMedian-survey.pdf&quot;&gt;has a nice survey&lt;/a&gt; of the main ideas. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Both these problems are NP-hard in general, and are hard to approximate to within an arbitrary factor. Note that if you drop the condition of being a metric, things get a lot worse in terms of approximability. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another, more heuristic approach which might be ok for your application is to use a technique like MDS (multidimensional scaling) to embed your distance matrix in a Euclidean space, and then use one of many different Euclidean clustering methods (or even $k$-means clustering). If you are sure that your distance function is a metric, then you can do a slightly more intelligent embedding into Euclidean space and get a provable (albeit weak) guarantee on the quality of your answer. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Ultimately, as with most clustering problems, your final choice depends on the application, your data size, and so on. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2010-10-21T17:22:43.307" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2367" PostTypeId="2" ParentId="2364" CreationDate="2010-10-21T18:22:34.240" Score="5" Body="&lt;p&gt;There's also &lt;a href=&quot;http://geomblog.blogspot.com/2009/08/correlation-clustering-i-dont-like-you.html&quot;&gt;correlation clustering&lt;/a&gt;, which has as input information for each pair of items indicating whether they belong in either the same cluster or different clusters.&lt;/p&gt;&#xA;" OwnerUserId="1522" LastActivityDate="2010-10-21T18:22:34.240" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2368" PostTypeId="2" ParentId="2360" CreationDate="2010-10-21T18:28:48.920" Score="14" Body="&lt;p&gt;Try this paper by Chan in a recent SODA: &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=1721842&amp;amp;dl=ACM&quot;&gt;http://portal.acm.org/citation.cfm?id=1721842&amp;amp;dl=ACM&lt;/a&gt; .&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A quick Google search also found the following paper that looks possibly relevant, but I haven't read it: &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=1374470&quot;&gt;http://portal.acm.org/citation.cfm?id=1374470&lt;/a&gt; .&lt;/p&gt;&#xA;" OwnerUserId="1522" LastActivityDate="2010-10-21T18:28:48.920" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2369" PostTypeId="2" ParentId="174" CreationDate="2010-10-21T19:46:16.310" Score="24" Body="&lt;p&gt;The area of parameterized complexity has its own load of open problems.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider the decision problems&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;given $(G,k)$ does there exist a vertex cover of size $k$ for the graph $G$?&lt;/li&gt;&#xA;&lt;li&gt;given $(F,k)$ does there exist a satisfying assignment of weight $k$ for the formula $F$?&lt;/li&gt;&#xA;&lt;li&gt;given $(G,k)$ does there exist a clique of size $k$ in a graph $G$?&lt;/li&gt;&#xA;&lt;li&gt;etc...&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Many, MANY, combinatorial problems exist in this form.  Parameterized complexity &#xA;consider an algorithm to be &quot;efficient&quot; if its running time is upper bounded by $f(k)n^c$ where $f$ is an arbitrary function and $c$ is a constant &lt;strong&gt;independent&lt;/strong&gt; of $k$.  In comparison notice that all such problems can be easily solved in $n^{O(k)}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This framework models the cases in which we are looking for a small combinatorial structure and we can afford exponential run-time with respect to the size of the &lt;strong&gt;solution/witness&lt;/strong&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A problem with such an algorithm (e.g. vertex cover) is called &lt;em&gt;Fixed Parameter Tractable&lt;/em&gt; (FPT).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Parameterized complexity is a mature theory and has both strong theoretical foundations and appeal for practical applications.  Decision problems interesting for such theory form a very well structured hierarchy of classes with natural complete problems:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;FPT \subseteq W[1] \subseteq W[2] \subseteq \ldots \subseteq W[i] \subseteq W[i+1] \subseteq \ldots W[P]&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course it is open if any of such inclusion is strict or not. Notice that if $FPT=W[1]$ then SAT has subexponential algorithm (this is non trivial).  Last statement connects prameterized complexity with $ETH$ mentioned above.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also notice that investigating such collapses is not an empty exercise: proving that $W[1]=FPT$ is equivalent to prove that there is a fixed parameter tractable algorithm for finding $k$-cliques.&lt;/p&gt;&#xA;" OwnerUserId="267" LastActivityDate="2010-10-21T19:46:16.310" CommentCount="0" CommunityOwnedDate="2010-10-21T19:46:16.310" ContentLicense="CC BY-SA 2.5" />
  <row Id="2370" PostTypeId="2" ParentId="2364" CreationDate="2010-10-21T21:09:07.113" Score="5" Body="&lt;p&gt;If you're just looking for good empirical performance, the affinity propagation algorithm usually works better than k-medians.  There is code available in several languages and publications describing the algorithm in more detail are here:&#xA;&lt;a href=&quot;http://www.psi.toronto.edu/index.php?q=affinity%20propagation&quot; rel=&quot;nofollow&quot;&gt;http://www.psi.toronto.edu/index.php?q=affinity%20propagation&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The objective that it tries to maximize is:&#xA;$$\sum_{i} s(i, c_i)$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where $s$ is a similarity measure defined between pairs of points (e.g., negative distance), and $c_i \in \mathbf{c}$ gives the cluster that $i$ belongs to.  There is one additional parameter given in $s(i, i)$ that controls whether you prefer large or small clusters.&lt;/p&gt;&#xA;" OwnerUserId="144" LastEditorUserId="144" LastEditDate="2010-10-21T22:33:20.097" LastActivityDate="2010-10-21T22:33:20.097" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2371" PostTypeId="2" ParentId="2364" CreationDate="2010-10-21T21:41:09.130" Score="1" Body="&lt;p&gt;Consider &lt;a href=&quot;http://en.wikipedia.org/wiki/K-nearest_neighbor_algorithm&quot; rel=&quot;nofollow&quot;&gt;k-nearest neighbour algorithm&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="1546" LastActivityDate="2010-10-21T21:41:09.130" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="2372" PostTypeId="2" ParentId="2353" CreationDate="2010-10-21T22:58:11.517" Score="23" Body="&lt;p&gt;You might want to look at the paper &quot;Random-Turn Hex and Other Selection Games,&quot; by Yuval Peres, Oded Schramm, Scott Sheffield, and David Wilson. From the introduction: &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&quot;Random-Turn Hex is the same as&#xA;  ordinary Hex, except that instead of&#xA;  alternating turns, players toss a coin&#xA;  before each turn to decide who gets to&#xA;  place the next stone. Although&#xA;  ordinary Hex is famously difficult to&#xA;  analyze, the optimal strategy for&#xA;  Random-Turn Hex turns out to be very&#xA;  simple.&quot;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;So indeed, your intuition was right: this will be in BPP (or maybe P). &lt;/p&gt;&#xA;" OwnerUserId="1677" LastActivityDate="2010-10-21T22:58:11.517" CommentCount="8" ContentLicense="CC BY-SA 2.5" />
  <row Id="2373" PostTypeId="1" CreationDate="2010-10-22T03:10:26.920" Score="42" ViewCount="18753" Body="&lt;p&gt;What is the upper bound on the simplex algorithm for finding a solution to a Linear Program?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;How would I go about finding a proof for such a case?&#xA;It seems as though the worst case is if each vertex has to be visited that is it $O(2^n)$. However in practice the simplex algorithm will run significantly faster than this for more standard problems.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;How can I reason about the average complexity of a problem being solved using this method?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any information or references are greatly appreciated!&lt;/p&gt;&#xA;" OwnerUserId="1056" LastEditorUserId="123" LastEditDate="2013-10-18T14:04:11.167" LastActivityDate="2019-09-29T00:05:39.170" Title="Complexity of the simplex algorithm" Tags="&lt;ds.algorithms&gt;&lt;linear-programming&gt;&lt;simplex&gt;&lt;smoothed-analysis&gt;" AnswerCount="5" CommentCount="2" FavoriteCount="19" ContentLicense="CC BY-SA 3.0" />
  <row Id="2374" PostTypeId="2" ParentId="2373" CreationDate="2010-10-22T03:20:42.477" Score="75" Body="&lt;p&gt;The simplex algorithm indeed visits all &lt;span class=&quot;math-container&quot;&gt;$2^n$&lt;/span&gt; vertices in the worst case (&lt;a href=&quot;https://ci.nii.ac.jp/naid/10020194052/&quot; rel=&quot;noreferrer&quot;&gt;Klee &amp;amp; Minty 1972&lt;/a&gt;), and this turns out to be true for any deterministic pivot rule. However, in a landmark paper using a smoothed analysis, Spielman and Teng (2001) &lt;a href=&quot;http://arxiv.org/abs/cs.DS/0111050&quot; rel=&quot;noreferrer&quot;&gt;proved&lt;/a&gt; that when the inputs to the algorithm are slightly randomly perturbed, the expected running time of the simplex algorithm is polynomial for any inputs -- this basically says that for any problem there is a &quot;nearby&quot; one that the simplex method will efficiently solve, and it pretty much covers every real-world linear program you'd like to solve.  Afterwards, Kelner and Spielman (2006) &lt;a href=&quot;http://www.cs.yale.edu/homes/spielman/Research/SimplexStoc.pdf&quot; rel=&quot;noreferrer&quot;&gt;introduced&lt;/a&gt; a polynomial time randomized simplex algorithm that truley works on any inputs, even the bad ones for the original simplex algorithm.&lt;/p&gt;&#xA;" OwnerUserId="123" LastEditorUserId="52310" LastEditDate="2019-09-21T18:18:37.247" LastActivityDate="2019-09-21T18:18:37.247" CommentCount="0" ContentLicense="CC BY-SA 4.0" />
  <row Id="2375" PostTypeId="2" ParentId="2360" CreationDate="2010-10-22T03:45:23.200" Score="18" Body="&lt;p&gt;The first paper to prove bounds for more than 1 pass was my paper with Jayram and Amit from SODA'08. Then there is the paper that Warren mentioned, which improves the bounds by a cleaner proof.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In short, we understand the dependence if you allow constants in front of the number of passes. Of course, these constants are in the exponent, so you can ask for a precise understanding. My main complaint is that the model of multipass streaming is not all that well motivated.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The more intriguing question is whether we can prove a branching program lower bound. Can it be that even for a bounded space algorithm that can access memory as it pleases, the best strategy is to just do multipass streaming?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The answer appears to be affirmative, and we have some partial progress towards proving it.&lt;/p&gt;&#xA;" OwnerUserId="106" LastActivityDate="2010-10-22T03:45:23.200" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="2376" PostTypeId="2" ParentId="1198" CreationDate="2010-10-22T04:14:55.607" Score="12" Body="&lt;p&gt;A completely hilarious video (and also very educational) is &lt;a href=&quot;http://en.sevenload.com/videos/h4ndeFL-Serre&quot;&gt;Serre's now-famous video&lt;/a&gt; on how to write mathematics badly.&lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2010-10-22T04:14:55.607" CommentCount="2" CommunityOwnedDate="2010-10-22T04:14:55.607" ContentLicense="CC BY-SA 2.5" />
  <row Id="2377" PostTypeId="2" ParentId="2373" CreationDate="2010-10-22T10:06:18.413" Score="37" Body="&lt;p&gt;As Lev said, in the worst case the algorithm visits all &lt;span class=&quot;math-container&quot;&gt;$2^d$&lt;/span&gt; vertices where &lt;span class=&quot;math-container&quot;&gt;$d$&lt;/span&gt; is number of variables. However, the performance of the simplex algorithm may also greatly depend on the specific pivot rule used. As far as I am aware, it is still an open question if there exists a specific deterministic pivot rule with sub-exponential worst-case running time. Many candidates have been ruled out by lower bound results. Recently, &lt;a href=&quot;https://epubs.siam.org/doi/abs/10.1137/1.9781611973082.19&quot; rel=&quot;nofollow noreferrer&quot;&gt;Friedmann, Hansen, and Zwick&lt;/a&gt; also showed the first non-polynomial lower bounds for some natural randomized pivot rules with some corrections provided &lt;a href=&quot;https://arxiv.org/pdf/1410.7871.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;later&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, adding to the smoothed analysis result mentioned by Lev: Following Spielman and Tengs seminal paper introducing smoothed analysis, Vershynin &lt;a href=&quot;https://www.math.uci.edu/~rvershyn/papers/simplex-journal.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;improved&lt;/a&gt; their bounds further in 2006. He showed that the expected running time on slightly perturbed instances is only poly-logarithmic in the number of constraints &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt;, down from &lt;span class=&quot;math-container&quot;&gt;$n^{86}$&lt;/span&gt;.&lt;/p&gt;&#xA;" OwnerUserId="127" LastEditorUserId="52310" LastEditDate="2019-09-21T18:18:21.420" LastActivityDate="2019-09-21T18:18:21.420" CommentCount="2" ContentLicense="CC BY-SA 4.0" />
  <row Id="2378" PostTypeId="2" ParentId="2215" CreationDate="2010-10-22T12:17:40.477" Score="18" Body="&lt;p&gt;Try to do an internship at a research lab or a software company. An internship can immensely boost the chances of you getting a job. More importantly, spending a summer working with experienced people &lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are a few internships that will let you do 100% theory (as in, here's a desk, pencil and stack of paper, go prove theorems), with the goal of writing a research paper at the end. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are many more where proving theorems isn't in the job description. I believe that the average CS theory student benefits immensely from a couple of months spent in industry. Even if you spend the whole summer polishing doorknobs and writing unit tests, it's worth it. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you are interested, find relevant people (e.g. authors of papers you like at &lt;a href=&quot;http://research.google.com&quot;&gt;http://research.google.com&lt;/a&gt;, similar exercise for msft, yhoo, ibm, at&amp;amp;t etc). Shoot them a polite email inquiring about an internship. If they want to work with you on research, great. But even if they don't (don't want an intern, don't have headcount, want to work with someone else), look for software engineering internships.&lt;/p&gt;&#xA;" OwnerUserId="740" LastActivityDate="2010-10-22T12:17:40.477" CommentCount="2" CommunityOwnedDate="2010-10-22T12:17:40.477" ContentLicense="CC BY-SA 2.5" />
  <row Id="2379" PostTypeId="1" CreationDate="2010-10-22T13:07:07.900" Score="31" ViewCount="1440" Body="&lt;p&gt;I was (and still am) really interested in the answer to this question, because this is an interesting variation on the complexity of games which hasn't been resolved, so I offered a bounty. I thought the original question was very likely too hard, so I posted three related questions which would also be worthy of the bounty. Nobody posted any answers before the bounty expired. I was later able to answer two of the related questions (questions 3 and 4, discussed below my original post), showing that approximating the value of refereed games with correlated semi-private coins (defined below) was EXPTIME-complete. The original question is still unanswered. I'd also be interested in any results putting related games between PSPACE and EXPTIME in interesting complexity classes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;ORIGINAL POST:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This question was inspired by the discussion on &lt;a href=&quot;https://cstheory.stackexchange.com/questions/2353/complexity-of-hex-with-random-turn-order/2372&quot;&gt;Itai's hex question&lt;/a&gt;. A &lt;em&gt;refereed game&lt;/em&gt; is a game where two computationally unbounded players play by communicating through a polynomial-time verifier who can flip private coins (thus the number of turns and the amount of communication is also polynomial-time bounded). At the end of the game, the referee runs an algorithm in P to determine who wins. Determining who wins such a game (even approximately) is EXPTIME complete. If you have public coins, and public communication, such games are in PSPACE. (&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.5.1990&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;See Feige and Killian, &quot;Making Games Short.&quot;&lt;/a&gt;) My question concerns the boundary between these two results.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Question: Suppose you have two computationally&#xA;unbounded players who play a&#xA;polynomial-length game. The referee's&#xA;role is limited to, before each move,&#xA;giving each player some number of&#xA;private coin flips (uncorrelated with&#xA;the other player's).  All of the&#xA;player's moves are public, and so&#xA;seen by his opponent -- the only&#xA;private information is the coin&#xA;flips. At the end of the game, all&#xA;the private coin flips are revealed,&#xA;and the poly-time referee uses these&#xA;coin flips and the player's moves to&#xA;decide who wins. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;By the refereed games result,&#xA;approximating the probability that&#xA;the first player wins is in EXPTIME,&#xA;and it is also clearly PSPACE-hard.&#xA;Which (if either) is it? Is anything&#xA;known about this problem?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Note that the players may have to use mixed strategies, since you can play zero-sum matrix games (a la von Neumann) this way.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;ADDED MATERIAL:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let's call this complexity class RGUSP (all languages $L$ which can be reduced to a Refereed Game with Uncorrelated Semiprivate Coins as described above, such that if $x \in L$, player 1 wins with probability $\geq 2/3$, and if $x \notin L$, player 1 wins with probability $\leq 1/3$). My three related questions are:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Question 2: RGUSP seems fairly robust. For&#xA;example, if we change the game so the&#xA;referee does not send messages, but&#xA;only observes player 1 and 2's public&#xA;messages, and receives private&#xA;messages from them, then&#xA;approximating the value of this game&#xA;is still equivalent to RGUSP. I'd&#xA;like to demonstrate that RGUSP is&#xA;robust, so I'm willing to give the&#xA;bounty to anyone who finds a natural&#xA;complexity class C so that PSPACE&#xA;$\subseteq$ C $\subseteq$ RGUSP,&#xA;where neither of the containments&#xA;appear to be exact.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Question 3: I also strongly suspect that the&#xA;class RGCSP (Refereed Games with&#xA;Correlated Semiprivate Coins) is&#xA;EXPTIME complete, and I'm also&#xA;willing to give the bounty to&#xA;somebody who proves this fact. In&#xA;RGCSP, at the first step, the referee&#xA;gives the two players correlated&#xA;random variables (for example, he&#xA;might give the first player a point&#xA;in a large projective plane, and the&#xA;second player a line containing this&#xA;point). After this, for a polynomial&#xA;number of rounds the two players&#xA;alternate sending each other&#xA;poly-size public messages. After the&#xA;game has been played, the poly-time&#xA;referee decides who won. What is the&#xA;complexity of approximating the&#xA;winning probability for player 1?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Question 4: Finally, I have a question which may&#xA;really be about cryptography and&#xA;probability distributions: Does&#xA;giving the ability to perform&#xA;oblivious transfer to two players in&#xA;a refereed game with uncorrelated&#xA;semi-private coins let them play an&#xA;arbitrary refereed game with&#xA;correlated coins (or alternatively,&#xA;does it let them play a game&#xA;determining the winner of which is&#xA;EXPTIME-complete)?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="1677" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2011-01-06T14:46:39.850" Title="Refereed games with uncorrelated semi-private coins" Tags="&lt;cc.complexity-theory&gt;&lt;gt.game-theory&gt;&lt;interactive-proofs&gt;" AnswerCount="1" CommentCount="16" FavoriteCount="6" CommunityOwnedDate="2011-01-06T14:37:28.443" ContentLicense="CC BY-SA 2.5" />
  <row Id="2381" PostTypeId="2" ParentId="608" CreationDate="2010-10-22T15:55:05.737" Score="2" Body="&lt;p&gt;A general price of abstraction is present in black-box frameworks like decision-tree complexity or quantum query complexity. If we restrict analysis to these models, then we can often find very good bounds on the complexity of tasks. In fact, for quantum query we can basically solve the complexity of problems because the negative adversary method provides tight lower bounds (within a factor of log n/loglog n: &lt;a href=&quot;http://arxiv.org/abs/1005.1601&quot; rel=&quot;nofollow&quot;&gt;1005.1601&lt;/a&gt;). This gives us a great tool for analyzing query complexity, but it often becomes difficult to compare the query complexity to more standard turing-machine time/space complexity (except as a crude lower bound).&lt;/p&gt;&#xA;" OwnerUserId="1037" LastActivityDate="2010-10-22T15:55:05.737" CommentCount="5" CommunityOwnedDate="2010-10-22T15:55:05.737" ContentLicense="CC BY-SA 2.5" />
  <row Id="2382" PostTypeId="2" ParentId="783" CreationDate="2010-10-22T16:17:42.980" Score="9" Body="&lt;p&gt;There could easily be a bug in this, so please let me know if you spot one.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It seems that the answer is no, or at least that this problem is contained within NP. The reasoning behind this is very simple. The idea is to build up from another question: &quot;Can you get between configuration A and configuration B in S steps or less?&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Clearly this new question is in NP, because there is an $O(n^2)$ algorithm to solve the cube from any solvable configuration, and so going via the solved state it takes only $O(n^2)$ to go between any two configurations. Since there is only a polynomial number of moves, the set of moves to go between two configurations can be used as a witness for this new question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, firstly, if we pick configuration B to be the solved state, we have a problem which asks whether it is possible to solve the cube in $S$ steps or less, which is contained within NP.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now lets pick a different configuration for B, which I'll call $B_{hard}$ which takes $n_{hard} \approx n^2$ steps to solve. Now if we ask whether it is possible to get between configuration A and $B_{hard}$ in $S'$ steps or less, we again have a problem in NP with a sequence of moves as the witness. However, since we know $B_{hard}$ takes $n_{hard}$ steps to solve, we know that if it is possible to go between A and $B_{hard}$ in $S'$ steps, then it requires at least $n_{hard} - S'$ steps to solve the $n \times n \times n$ cube from configuration A.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thus we have witnesses for both an lower bound of $n_{hard} - S'$ steps and a lower bound of $S$ steps to solve from configuration A. If we now pick $S_0$ as the minimum number of moves required to solve the cube starting with configuration A, then if we pick the lower and upper bounds to be equal (i.e. $S' = n_{hard} - S_0$ and $S = S_0$), then we have a witness that this solution is optimal (comprised of the witnesses of the two NP problems associated with the bounds).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Lastly, we need a way to generate $B_{hard}$. We probably need the hardest possible configuration, but since I don't know how to find that, I suggest simply rotating every second plane one time about the x-axis, and then every fourth plane (keeping the central plane fixed) one time about the z-axis. I believe this leads to a state which requires $O(n^2)$ steps to solve.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thus, I don't have a full constructive proof, but any optimal solution taking less than $n_{hard}$ clearly has a witness. Unfortunately, of course, to capture all possible configurations you would need $n_{hard} = \mbox{God's number}(n)$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT: The regularity of the Superflip configuration makes it seem likely that generating $B_{hard}$ for $n_{hard} = \mbox{God's number}(n)$ might be relatively easy (i.e. in P).&lt;/p&gt;&#xA;" OwnerUserId="204" LastEditorUserId="204" LastEditDate="2010-10-22T18:20:31.487" LastActivityDate="2010-10-22T18:20:31.487" CommentCount="10" ContentLicense="CC BY-SA 2.5" />
  <row Id="2383" PostTypeId="1" AcceptedAnswerId="29152" CreationDate="2010-10-22T17:27:58.287" Score="20" ViewCount="481" Body="&lt;p&gt;A classic problem in probability theory is to express the probability of an event in terms of more specific events.  In the simplest case, one can say $P[A \cup B] = P[A] + P[B] - P[A \cap B]$.  Let's write $AB$ for the event $A \cap B$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are then some ways to bound $P[\cup A_i]$, without assuming independence of the finitely many events $A_i$.  Bonferroni gave the upper bound&#xA;$$P[\cup A_i] \le \sum P[A_i]$$&#xA;(this is sometimes also attributed to &lt;a href=&quot;http://en.wikipedia.org/wiki/Boole%27s_inequality&quot;&gt;Boole&lt;/a&gt;), and Kounias refined this to&#xA;$$P[\cup A_i] \le \sum_i P[A_i] - \max_j \sum_{i \ne j} P[A_i A_j].$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The dependence structure of the events can be thought of as a weighted hypergraph with vertices $A_i$, with the weight of an edge representing the probability of the event associated with the intersection of the vertices in the edge.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An inclusion-exclusion style argument considers larger and larger subsets of events together.  These yield the &lt;a href=&quot;http://en.wikipedia.org/wiki/Boole%27s_inequality&quot;&gt;Bonferroni bounds&lt;/a&gt;.  These bounds use all weights for edges up to some size $k$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If the dependence structure is &quot;nice enough&quot;, then the Lovász Local Lemma can be used to bound the probability away from the extreme values 0 and 1.  In contrast to the Bonferroni approach, the LLL uses quite coarse information about the dependence structure.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now suppose relatively few weights in the dependence structure are non-zero.  Further, suppose that there are many events that are pairwise independent yet are not independent (and more generally, it is quite possible that a set of $k$ events is not mutually independent but is $r$-wise independent for every $r &amp;lt; k$).&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is it possible to explicitly use the dependence structure of events to improve the Bonferroni/Kounias bounds, in a way that can be computed efficiently?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I expect the answer is yes, and would appreciate pointers to references.  I am aware of Hunter's paper from 1976, but it only deals with pairwise dependencies.  Hunter considers spanning trees in the graph formed by ignoring the edges in the dependence structure of size 3 or greater.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;David Hunter, &lt;em&gt;An Upper Bound for the Probability of a Union&lt;/em&gt;, Journal of Applied Probability &lt;strong&gt;13&lt;/strong&gt; 597–603.  &lt;a href=&quot;http://www.jstor.org/stable/3212481&quot;&gt;http://www.jstor.org/stable/3212481&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="109" LastEditorUserId="80" LastEditDate="2010-10-22T17:36:20.770" LastActivityDate="2015-01-15T14:03:01.980" Title="Are there efficient general Bonferroni-style bounds known?" Tags="&lt;reference-request&gt;&lt;pr.probability&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="7" ContentLicense="CC BY-SA 2.5" />
  <row Id="2384" PostTypeId="1" AcceptedAnswerId="2387" CreationDate="2010-10-22T17:45:47.453" Score="31" ViewCount="1063" Body="&lt;p&gt;Approximating number of colorings seems to be easy on minor-excluded graphs using &lt;a href=&quot;http://books.nips.cc/papers/files/nips20/NIPS2007_0781.pdf&quot; rel=&quot;noreferrer&quot;&gt;algorithm&lt;/a&gt; by Jung/Shah. What are other examples of problems that are hard on general graphs but easy on minor-excluded graphs?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;b&gt;Update 10/24&lt;/b&gt;&#xA;It seems to follow Grohe's results that formula that is FPT to test on bounded-treewidth graphs is FPT to test on minor excluded graphs. Now the question is -- how does it relate to tractability of counting satisfying assignments of such formula?&lt;/p&gt;&#xA;&#xA;&lt;p&gt; The above statement is false. MSOL is FPT on bounded tree-width graphs, however 3-colorability is NP-complete on planar graphs which are minor-excluded. &lt;/p&gt;&#xA;" OwnerUserId="434" LastEditorUserId="1800" LastEditDate="2011-06-15T07:12:09.650" LastActivityDate="2019-01-04T10:32:51.660" Title="what is easy for minor-excluded graphs?" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;graph-minor&gt;" AnswerCount="5" CommentCount="0" FavoriteCount="12" ContentLicense="CC BY-SA 3.0" />
  <row Id="2385" PostTypeId="2" ParentId="1816" CreationDate="2010-10-22T17:59:58.887" Score="17" Body="&lt;p&gt;Dimitris Achlioptas covers this in his survey article from the Handbook of Satisfiability (&lt;a href=&quot;http://users.soe.ucsc.edu/~optas/papers/handbook.pdf&quot; rel=&quot;noreferrer&quot;&gt;PDF&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is conjectured to be a single threshold $r_k$ for each $k \ge 3$, so that when $m/n &amp;gt; r_k$ then a random $k$-SAT formula with $m$ clauses and $n$ variables is unsatisfiable with high probability, and so that when $m/n &amp;lt; r_k$ then a random $m$-clause, $n$-variable $k$-SAT formula is satisfiable with high probability.&#xA;(More precisely, the conjecture is that in the limit as $n$ tends to infinity, the probability of satisfiability is 0 or 1 in these two regimes, respectively.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assuming that this Satisfiability Threshold Conjecture holds, the best known bounds for $r_k$ are&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&#xA;k                   3      4      5     7     10      20&#xA;Best upper bound 4.51  10.23  21.33 87.88 708.94 726,817&#xA;Best lower bound 3.52   7.91  18.79 84.82 704.94 726,809&#xA;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;(this table appears on the page indicated as 247 in the draft).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In a more recent manuscript (arXiv:&lt;a href=&quot;http://arxiv.org/abs/1411.0650&quot; rel=&quot;noreferrer&quot;&gt;1411.0650&lt;/a&gt;), Jian Ding, Allan Sly and Nike Sun showed that for all sufficiently large $k$, there is in fact a single threshold $r_k = 2^k\ln 2 - (1+\ln 2)/2 + o(1)$, and the error term $o(1)$ in this expression goes to zero as $k$ tends to infinity.&lt;/p&gt;&#xA;" OwnerUserId="109" LastEditorUserId="109" LastEditDate="2015-02-14T17:45:24.817" LastActivityDate="2015-02-14T17:45:24.817" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="2386" PostTypeId="1" AcceptedAnswerId="2411" CreationDate="2010-10-22T19:16:52.847" Score="38" ViewCount="2948" Body="&lt;p&gt;I am often asked by my department to give talks to final year high school pupils about the more mathematical elements of computer science. I do my best to pick topics from TCS which might inspire their interest (which mostly involves something to do with the Halting problem) but would love hear other people's ideas/successes/failures.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The remit is that these are pupils who are considering applying for a CS undergraduate degree at a decent university but may be more attracted by maths or another one of the sciences.  I find that the usual topics of shortest path algorithms or faster sorting methods don't really work any more to pique their interest.  &lt;/p&gt;&#xA;" OwnerUserId="1864" LastEditorUserId="1864" LastEditDate="2011-06-15T14:13:42.847" LastActivityDate="2011-06-15T21:44:19.207" Title="Inspirational talk for final year high school pupils" Tags="&lt;soft-question&gt;&lt;teaching&gt;" AnswerCount="13" CommentCount="6" FavoriteCount="21" CommunityOwnedDate="2010-10-23T09:08:54.387" ContentLicense="CC BY-SA 3.0" />
  <row Id="2387" PostTypeId="2" ParentId="2384" CreationDate="2010-10-22T19:21:59.707" Score="23" Body="&lt;p&gt;The most general result known is by Grohe.  A summary was presented in July 2010:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Martin Grohe, &lt;em&gt;Fixed-Point Definability and Polynomial Time on Graphs with Excluded Minors&lt;/em&gt;, LICS 2010.  (&lt;a href=&quot;http://www2.informatik.hu-berlin.de/~grohe/pub/gro10.pdf&quot; rel=&quot;nofollow&quot;&gt;PDF&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;In short, any statement that is expressible in fixed-point logic with counting has a polynomial-time algorithm on classes of graphs with at least one excluded minor.  (FP+C is first-order logic augmented with a fixed-point operator and a predicate that gives the cardinality of definable sets of vertices).  The key idea is that excluding a minor allows the graphs in the class to have ordered treelike decompositions that are definable in fixed-point logic (without counting).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strike&gt;So a large class of answers to your question can be obtained by considering properties that are definable in FP+C but that are hard to count.&lt;/strike&gt;&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Edit:&lt;/em&gt; I'm not sure this actually answers your question, even less so for your update.  The pointer to and statement of Grohe's result are correct, but I don't think the struck out text is relevant for your question.  (Thanks to Stephan Kreutzer for pointing this out.)  It might be worth clarifying: do you want a counting problem that is difficult in general but easy on minor-excluded classes, or a decision problem?&lt;/p&gt;&#xA;" OwnerUserId="109" LastEditorUserId="109" LastEditDate="2011-04-24T19:42:50.450" LastActivityDate="2011-04-24T19:42:50.450" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="2388" PostTypeId="2" ParentId="2386" CreationDate="2010-10-22T19:29:26.540" Score="10" Body="&lt;p&gt;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0716782715&quot; rel=&quot;nofollow&quot;&gt;The New Turing Omnibus&lt;/a&gt; by A. K. Dewey has 66 so-called excursions in computer science.&#xA;It covers topics such as analysis of algorithms, AI, complexity theory, theory of computation, cryptography, computer graphics and so forth. Every topic is written in a rather condensed form, capturing some landmark result in computer science. This book could provide some inspiration.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another possibility is to allow students to get their hands dirty via something like &lt;a href=&quot;http://code.google.com/opensource/gci/2010-11/index.html&quot; rel=&quot;nofollow&quot;&gt;Google's Code-in&lt;/a&gt; program. It's a bit like &lt;a href=&quot;http://code.google.com/soc/&quot; rel=&quot;nofollow&quot;&gt;Google's Summer of Code&lt;/a&gt;, but, you know, for kids. Perhaps showing some of the amazing coding projects students can be involved in is one possible way of piquing interest.&lt;/p&gt;&#xA;" OwnerUserId="77" LastEditorUserId="77" LastEditDate="2010-10-22T20:54:50.697" LastActivityDate="2010-10-22T20:54:50.697" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="2389" PostTypeId="1" CreationDate="2010-10-22T19:38:21.513" Score="6" ViewCount="150" Body="&lt;p&gt;The uniform Kolmogorov complexity (also known as decision complexity) of a string $\sigma$ is defined as follows: let $\phi: 2^{&amp;lt;\omega} \times \mathbb{N} \rightarrow {0,1}$ be a partial computable function. A string $\tau$ is called a description of $\sigma$ relative to $\phi$ if $\phi(\tau,i) = \sigma_i$ for $i = 1 \cdots l(\sigma)$, where $l(\sigma)$ denotes the length of $\sigma$. The uniform complexity $Ku(\sigma)$ of $\sigma$ is defined as the length of the shortest description of $\sigma$ relative to a universal machine. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is clear that $Ku(\sigma) \le K(\sigma) + O(1)$ when $K$ is the prefix-free complexity. But how good is this inequality? More specifically I look for infinitely many strings $\tau_i$ with $Ku(\tau_i) \ge K(\sigma) - O(1)$. I can find such strings if the uniform complexity is replaced by the a priori complexity (sometimes denoted by $KM$), but I can't find these strings for $Ku$ (which would be a stronger statement).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The existence of such strings is equivalent to the existence of strings $\tau_i$ with $\sum_i 2^{-Ku(\tau_i)} \le c$ for some constant $c$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think that these string have to be incomparable relative to the prefix ordering (take for example the strings $0^n1$), but I don't know how proof the claim.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks and &#xA;aurevoir&lt;/p&gt;&#xA;" OwnerUserId="1571" LastEditorUserId="186" LastEditDate="2010-10-23T05:35:07.030" LastActivityDate="2013-02-16T15:19:06.940" Title="Lower Bound on the difference between uniform and prefix-free complexity" Tags="&lt;cc.complexity-theory&gt;&lt;kolmogorov-complexity&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="2390" PostTypeId="2" ParentId="2386" CreationDate="2010-10-22T19:55:38.017" Score="10" Body="&lt;p&gt;Cryptography is always something that captures the mind of younger (and I personally hope older) individuals. I had friends who wanted to be nurses' assistants, hockey players, businessmen and politicians and friends (who despite their higher goals) took jobs as grocery baggers and cart pushers, construction workers and kennel assistants - all of whom invented and broke each others' (admittedly naive and simple) codes. In particular, the existence of public key cryptography is usually pretty easy to explain if one takes the route of RSA. One might also list some of the important results without proofs or constructions - Zero-Knowledge proofs and Homomorphic Encryption are bound to juice the geek factor for what it's worth.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Forward Error Correction and Error Detection codes are also very cool and if done right can be taught to a curious audience. To make them easier to digest, you could mention the &quot;universality&quot; of the index of coincidence - that all our spoken language and writing have small redundancies and exaggerations that help us to communicate in the noisy channel of a room containing shuffling bags, feet and humming air conditioners.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, I also would suggest doing a simple introduction to complexity theory - something along the lines of my answer to &lt;a href=&quot;https://cstheory.stackexchange.com/questions/1471/dinner-table-description-of-theoretical-computer-science/1483#1483&quot;&gt;A Dinner-table description of Theoretical Computer Science&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="3624" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2010-10-22T19:55:38.017" CommentCount="0" CommunityOwnedDate="2010-10-22T19:55:47.923" ContentLicense="CC BY-SA 2.5" />
  <row Id="2391" PostTypeId="1" CreationDate="2010-10-22T20:03:01.853" Score="19" ViewCount="839" Body="&lt;p&gt;Here is an abstraction of an online learning / bandit problem that I've been working on in the summer. I haven't seen a problem like this before, and it looks quite interesting. If you know of any related work, I would appreciate references. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;The Problem&lt;/strong&gt;&#xA;The setting is that of multi-armed bandits. You have N arms. Each arm i has an unknown but fixed probability distribution over rewards that can be earned by playing it. For concreteness, let's assume that each arm &lt;em&gt;i&lt;/em&gt; pays reward $10 with probability &lt;em&gt;p[i]&lt;/em&gt; and reward $0 with prob. &lt;em&gt;1-p[i]&lt;/em&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In every round &lt;em&gt;t&lt;/em&gt; you select a set &lt;em&gt;S[t]&lt;/em&gt; of arms to play. For each arm you select, you pay a fee of &lt;em&gt;$1&lt;/em&gt; up front. For each selected arm, you collect a reward that is drawn from the (unknown) reward probability distribution of that arm. All rewards are credited to your bank account, and all fees are deducted from that account. In addition, you get a credit of &lt;em&gt;$1&lt;/em&gt; at the beginning of every iteration. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem is to develop a policy to select a subset of arms to play in each iteration to maximize profit (i.e. rewards minus fees for playing) over a long enough horizon, subject to the constraint that it must maintain a non-negative account balance at all times.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I did not specify whether the per-arm reward distributions are chosen from a prior distribution or chosen by an adversary. Both choices make sense. The adversary formulation is more appealing to me, but probably harder to make progress on. Here, the adversary chooses a vector (D1, D2, .., DN) of distributions. Given the distributions, the optimal budget balanced policy is to play all arms whose expected reward is greater than $1. Let P be the per-step profit of this optimal omniscient policy. I want my online policy to minimize regret (i.e. loss of profit over a time window T) wrt this omniscient policy.&lt;/p&gt;&#xA;" OwnerUserId="740" LastEditorUserId="740" LastEditDate="2010-10-26T01:24:25.360" LastActivityDate="2010-10-30T00:32:43.797" Title="The Warren Buffett Problem" Tags="&lt;machine-learning&gt;&lt;lg.learning&gt;&lt;online-learning&gt;" AnswerCount="1" CommentCount="6" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="2392" PostTypeId="2" ParentId="2326" CreationDate="2010-10-22T20:17:24.190" Score="0" Body="&lt;p&gt;&lt;strong&gt;This is not a direct answer&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;k-Choosability problem is $\prod_2^P$-complete. Under the assumption that&#xA;$NP \ne coNP$, k-Choosability is strictly harder than k-Coloring on general graphs. Therefore, approximating list chromatic number is strictly harder than the chromatic number. It is known that k-coloring is trivial for bipartite graphs. However, determining the list chromatic number of bipartite graphs is $NP$-hard. (even 3-Chooseability is $\prod_2^P$-complete)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.tau.ac.il/~nogaa/PDFS/british2.pdf&quot; rel=&quot;nofollow&quot;&gt;Noga Alon, Restricted colorings of graphs&lt;/a&gt;&#xA;&lt;a href=&quot;http://www.tau.ac.il/~nogaa/PDFS/british2.pdf&quot; rel=&quot;nofollow&quot;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2010-10-22T20:50:16.847" LastActivityDate="2010-10-22T20:50:16.847" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2393" PostTypeId="2" ParentId="2391" CreationDate="2010-10-22T20:44:48.450" Score="13" Body="&lt;p&gt;I imagine there are lots of possible approaches to this problem (many of which I'm sure you considered) -- here are a few ideas/references.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;You could play this as $N$ independent parallel single-arm bandit games, deciding to pull or not pull each arm independently.  This should work especially well if the rewards are independently distributed.&lt;/li&gt;&#xA;&lt;li&gt;Allow each set of arms to be a new arm and run an Exp3-type algorithm.  This gives a $O(2^{N/2} T^{1/2})$ regret - not so great.&lt;/li&gt;&#xA;&lt;li&gt;In an upcoming NIPS 2010 paper, Saten Kale, Rob Schapire, and I &lt;a href=&quot;http://www.cc.gatech.edu/~lreyzin/papers/KaleRS10.pdf&quot; rel=&quot;nofollow&quot;&gt;consider&lt;/a&gt; the case where one plays a slate of arms at once.  In our work, however, the size of the slate is fixed.  This paper also considers a similar problem.  Another &lt;a href=&quot;http://www.springerlink.com/content/0017111765528958/&quot; rel=&quot;nofollow&quot;&gt;similar work&lt;/a&gt; appeared in ALT 2010.  Perhaps some of the ideas transfer.&lt;/li&gt;&#xA;&lt;li&gt;If you treat it as an experts problem (each expert recommends a different one of $2^N$ subsets), by following one expert, you can get estimate the performance of other experts who have non-empty intersections in their choice of arms to pull by using &lt;a href=&quot;http://en.wikipedia.org/wiki/Importance_sampling&quot; rel=&quot;nofollow&quot;&gt;importance weighting&lt;/a&gt;.  An Exp4 type analysis might get you $O(N\sqrt{T})$ regret but $O(2^N T)$ running time.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;EDIT below: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It seems to me that the budget constraint (not going below $0$) makes the problem intractable.  Imagine you have a budget of $1$.  The adversary can make one of the  arms always pay off and the rest never pay off.  So w.p. $(n-1)/n$ you go bust in the first round while the optimal strategy gets $T$ dollars after $T$ rounds.  So your expected regret is at least $(n-1)T/n$ and you can't hope for a high probability bound at all.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It also seems that this can work for any initial budget.  Say you start with $B$ dollars.  Then the adversary can set all but one arms to pay $0$ and one arm to pay something like $2B$ w.p. $1/B$.  I guess if you have a limit on the possible payout amount and a high enough initial budget, then this might leave room for an interesting problem.&lt;/p&gt;&#xA;" OwnerUserId="123" LastEditorUserId="123" LastEditDate="2010-10-30T00:32:43.797" LastActivityDate="2010-10-30T00:32:43.797" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="2394" PostTypeId="2" ParentId="2386" CreationDate="2010-10-22T21:28:14.563" Score="6" Body="&lt;p&gt;In my opinion, to be sexy to high school students you need to be some kind of magician. That's why I think that randomized algorithms are very good as a student attractor. For instance property testing is really something intriguing, and also something that can be explained (not the technicalities, but the idea) to anyone. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;PCP is also magic, but I guess that this is out of reach...&lt;/p&gt;&#xA;" OwnerUserId="76" LastActivityDate="2010-10-22T21:28:14.563" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2395" PostTypeId="1" AcceptedAnswerId="4355" CreationDate="2010-10-22T22:23:28.433" Score="23" ViewCount="703" Body="&lt;p&gt;Peter Shor brought up an interesting point in relation to an attempt to answer an earlier &lt;a href=&quot;https://cstheory.stackexchange.com/questions/783/is-optimally-solving-the-nnn-rubiks-cube-np-hard&quot;&gt;question&lt;/a&gt; on the complexity of solving the $n \times n \times n$ Rubiks cube. I had posted a rather naive attempt to show that it must be contained in NP. As Peter pointed out, my approach fails in some instances. One potential case of such an instance is where there exists a local maxima in the path length. By this I mean that it may take $S_A$ moves to solve the cube from configuration $A$, and either $S_A$ or $S_A - 1$ moves to solve the cube from any position which can be reached in one move from $A$. Now, this isn't necessarily such a problem if $S_A$ is maximum number of moves required to solve the cube in general (&lt;a href=&quot;http://www.cube20.org/&quot; rel=&quot;nofollow noreferrer&quot;&gt;God's Number&lt;/a&gt; for that cube), but is definitely a problem if $S_A$ is strictly less than God's Number for that cube. So my question is do such local maxima exist? Even an answer for the $3 \times 3 \times 3$ cube would be of interest to me.&lt;/p&gt;&#xA;" OwnerUserId="204" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2011-01-17T04:41:53.903" Title="Are there local maxima in the number of moves required to solve a Rubik's Cube?" Tags="&lt;co.combinatorics&gt;&lt;puzzles&gt;" AnswerCount="2" CommentCount="5" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="2396" PostTypeId="1" AcceptedAnswerId="2418" CreationDate="2010-10-22T22:46:44.910" Score="16" ViewCount="2084" Body="&lt;p&gt;It is $NP$-hard to find a constant factor approximation of longest cycle in cubic Hamiltonian graphs. Cubic Hamiltonian graphs have at least two Hamiltonian cycles.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What are the best known upper bound and lower bound on the number of Hamiltonian cycles in cubic Hamiltonian graphs? Given a cubic Hamiltonian graph, What is the complexity of finding the number of Hamiltonian cycles? Is it #$P$-hard? &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2010-10-22T22:52:23.973" LastActivityDate="2010-10-24T17:42:03.560" Title="Counting the number of Hamiltonian cycles in cubic Hamiltonian graphs?" Tags="&lt;cc.complexity-theory&gt;&lt;counting-complexity&gt;" AnswerCount="3" CommentCount="0" FavoriteCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="2397" PostTypeId="2" ParentId="2384" CreationDate="2010-10-22T22:53:24.117" Score="18" Body="&lt;p&gt;An interesting property of minor-closed graph families is that they have bounded &lt;a href=&quot;http://en.wikipedia.org/wiki/Degeneracy_%28graph_theory%29&quot; rel=&quot;nofollow noreferrer&quot;&gt;degeneracy&lt;/a&gt;. This means that all problems that are easy on graphs of bounded degeneracy are easy on graphs from a minor-closed family. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, for example, finding if a graph contains a clique of size k is usually a hard problem and the best algorithms are like $O(n^k)$. However, if we know that the degeneracy is a constant, then k-cliques can be found in linear time, i.e., O(n) time. &lt;a href=&quot;http://en.wikipedia.org/wiki/Clique_problem&quot; rel=&quot;nofollow noreferrer&quot;&gt;Wikipedia's article on the clique problem&lt;/a&gt; gives some information on this too. (The precise running time is something like $O(k d(G)^k n)$.) This algorithm is by &lt;a href=&quot;http://dx.doi.org/10.1137/0214017&quot; rel=&quot;nofollow noreferrer&quot;&gt;Chiba and Nishizeki&lt;/a&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Other examples can be found in &lt;a href=&quot;https://mathoverflow.net/questions/10468/algorithms-on-graphs-of-bounded-degeneracy-arboricity/11374#11374&quot;&gt;this answer by David Eppstein&lt;/a&gt; on MathOverflow to a similar question about graphs with bounded degeneracy.&lt;/p&gt;&#xA;" OwnerUserId="206" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2010-10-22T22:53:24.117" CommentCount="6" ContentLicense="CC BY-SA 2.5" />
  <row Id="2398" PostTypeId="1" AcceptedAnswerId="37162" CreationDate="2010-10-22T23:13:48.203" Score="9" ViewCount="990" Body="&lt;p&gt;Is there a short explicit construction of an &lt;a href=&quot;http://en.wikipedia.org/wiki/Utm_theorem&quot; rel=&quot;nofollow&quot;&gt;universal recursive function&lt;/a&gt;? All definitions I have seen involve numbering of Turing machines in some way, which is possible yet seems hard and unmanageable to write in a higher-level programming language (like Python, Haskell etc.)&lt;/p&gt;&#xA;" OwnerUserId="1886" LastEditorUserId="186" LastEditDate="2010-11-05T05:40:00.353" LastActivityDate="2016-12-17T15:54:35.897" Title="Writing universal recursive function" Tags="&lt;lo.logic&gt;&lt;computability&gt;&lt;pl.programming-languages&gt;" AnswerCount="5" CommentCount="3" FavoriteCount="2" ClosedDate="2016-12-18T19:57:59.290" ContentLicense="CC BY-SA 2.5" />
  <row Id="2399" PostTypeId="1" AcceptedAnswerId="2401" CreationDate="2010-10-22T23:45:07.820" Score="30" ViewCount="6245" Body="&lt;p&gt;As a side-project, I'm writing a language using Python. I started by using a flex/bison clone called Ply, but am coming up against the edges in the power of what I can express with that style of grammar, and I'm not interested in hacking up my language because of an impedance mismatch with the tool. Therefore, I'm not averse to writing my own.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;So what's the most powerful type of parser?&lt;/strong&gt; Citations to papers (as well as more introductory articles) would be welcome.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;(I know that 'powerful' is not precisely defined, but let's be a little loose with it and see where the answers go)&lt;/em&gt;&lt;/p&gt;&#xA;" OwnerUserId="1429" LastEditorUserId="2367" LastEditDate="2010-12-22T08:42:21.633" LastActivityDate="2016-05-23T21:35:17.307" Title="What is the most powerful kind of parser?" Tags="&lt;fl.formal-languages&gt;&lt;pl.programming-languages&gt;&lt;grammars&gt;" AnswerCount="4" CommentCount="6" FavoriteCount="22" ContentLicense="CC BY-SA 2.5" />
  <row Id="2400" PostTypeId="2" ParentId="2398" CreationDate="2010-10-22T23:48:37.317" Score="13" Body="&lt;p&gt;Sure.  Write routines that compute each of Godel's &lt;a href=&quot;http://en.wikipedia.org/wiki/Primitive_recursive_function#Definition&quot;&gt;primitive recursive functions&lt;/a&gt;, and write a routine for an unbounded search operator.  The set of functions you can compute this way is equivalent to the set of functions Turing machines can compute.  More information &lt;a href=&quot;http://en.wikipedia.org/wiki/Primitive_recursive_function#Relationship_to_recursive_functions&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The downside is that any input to your universal program would need to be framed in terms of those simple operations.  Of course, that is what compilers are for.&lt;/p&gt;&#xA;" OwnerUserId="30" LastActivityDate="2010-10-22T23:48:37.317" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2401" PostTypeId="2" ParentId="2399" CreationDate="2010-10-23T00:29:59.683" Score="34" Body="&lt;p&gt;A grammar is usually defined as a &lt;a href=&quot;http://en.wikipedia.org/wiki/Context-free_grammar&quot; rel=&quot;noreferrer&quot;&gt;Context Free grammar&lt;/a&gt; - a precise definition is given on the Wikipedia page, but it works the same as it does in PLY, which is based on &lt;a href=&quot;http://en.wikipedia.org/wiki/GNU_bison&quot; rel=&quot;noreferrer&quot;&gt;Bison&lt;/a&gt;, which is in turn based on &lt;a href=&quot;http://en.wikipedia.org/wiki/Yacc&quot; rel=&quot;noreferrer&quot;&gt;yacc&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It says &lt;a href=&quot;http://www.dabeaz.com/ply/ply.html#ply_nn36&quot; rel=&quot;noreferrer&quot;&gt;here&lt;/a&gt; that PLY uses a &lt;a href=&quot;http://en.wikipedia.org/wiki/LALR&quot; rel=&quot;noreferrer&quot;&gt;LALR parser&lt;/a&gt;. This is essentially an &lt;a href=&quot;http://en.wikipedia.org/wiki/LR_parser&quot; rel=&quot;noreferrer&quot;&gt;LR parser&lt;/a&gt; where the lookup tables are condensed, possibly introducing parsing conflicts, reducing some of the expressiveness of an LR grammar (ie, a context free grammar that an LR parser can parse). If you want to know about the limitations of this particular branch of parsers and those of other parsers, an overview of all kinds of parsing techniques (LL, LR and others) is given &lt;a href=&quot;http://en.wikipedia.org/wiki/Parser#Examples_of_parsers&quot; rel=&quot;noreferrer&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To answer your question: there exist parsing algorithms capable of parsing any context-free language, even if the language is ambiguous (ie, there is more than one way to interpret the input):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The first such algorithm was the &lt;a href=&quot;http://en.wikipedia.org/wiki/CYK_algorithm&quot; rel=&quot;noreferrer&quot;&gt;CYK algorithm&lt;/a&gt;, which unfortunately has a running time of $O(n^3 |G|)$, where $n$ is the length of the input string and $|G|$ is the size of the grammar and is therefore impractical for parsing languages.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The second algorithm is the &lt;a href=&quot;http://en.wikipedia.org/wiki/Earley_parser&quot; rel=&quot;noreferrer&quot;&gt;Earley algorithm&lt;/a&gt;. This algorithm is also capable of parsing any context free grammar. Although the algorithm needs $O(n^3)$ time to parse an ambiguous language, it only needs $O(n^2)$ time to parse an unambiguous language. In addition, it apparently works in linear time for most LR grammars and works particularly well on left-recursive grammars.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://webhome.cs.uvic.ca/~nigelh/Publications/PracticalEarleyParsing.pdf&quot; rel=&quot;noreferrer&quot;&gt;Here&lt;/a&gt; you can find a paper discussing a practical implementation of (an adaptation of) the Earley algorithm. They conclude: &quot;Given the generality of Earley parsing compared to LALR(1) parsing ((which is roughly what PLY does)), and considering that even PEP’s ((their implementation of Earley's algorithm)) worst time would not be noticeable by a user, this is an excellent result&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The last type of parser is the &lt;a href=&quot;http://en.wikipedia.org/wiki/GLR_parser&quot; rel=&quot;noreferrer&quot;&gt;GLR parser&lt;/a&gt;. This is a generalised version of LR parsing, capable of parsing any context-free language.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A mature implementation of GLR is &lt;a href=&quot;http://en.wikipedia.org/wiki/ASF%2BSDF_Meta_Environment&quot; rel=&quot;noreferrer&quot;&gt;ASF+SDF&lt;/a&gt;. Bison can also generate a GLR parser, though its implementations is slightly different from the 'standard' GLR algorithm. The &lt;a href=&quot;http://scottmcpeak.com/elkhound/sources/elkhound/algorithm.html&quot; rel=&quot;noreferrer&quot;&gt;Elkhound Algorithm&lt;/a&gt; is a GLR/LALR hybrid algorithm. It uses LALR when possible and GLR when needed, in order to be both fast and capable of parsing any grammar.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Beyond context free grammars there are &lt;a href=&quot;http://en.wikipedia.org/wiki/Context-sensitive_grammar&quot; rel=&quot;noreferrer&quot;&gt;context sensitive grammars&lt;/a&gt;, but these are in general hard to parse and don't add that much expressiveness: you can do more with them, but for most applications the extra uses are not relevant, unless you're parsing a natural language.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As the final step there are &lt;a href=&quot;http://en.wikipedia.org/wiki/Unrestricted_grammar&quot; rel=&quot;noreferrer&quot;&gt;unrestricted grammars&lt;/a&gt;. At this point the grammar is Turing-complete, so there is no bound one can give on how long it will take to parse a particular language, which is undesirable for most parsing applications. The extra power is almost never needed. If you do want to use all that power, there is the &lt;a href=&quot;http://languagemachine.sourceforge.net/&quot; rel=&quot;noreferrer&quot;&gt;language machine&lt;/a&gt; available.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Lastly, implementing your own parser-generator is not a trivial affair, in particular to get it to be fast. I've personally just finished making my own version of flex (the lexer generator), and while this seemed like an exercise in relatively simple algorithmic problems, it became quite complex to get right, in particular when I tried to support Unicode. Consider using an already existing implementation instead of writing your own.&lt;/p&gt;&#xA;" OwnerUserId="988" LastEditorUserId="39146" LastEditDate="2016-05-23T21:35:17.307" LastActivityDate="2016-05-23T21:35:17.307" CommentCount="13" ContentLicense="CC BY-SA 3.0" />
  <row Id="2404" PostTypeId="2" ParentId="2384" CreationDate="2010-10-23T02:42:22.830" Score="15" Body="&lt;p&gt;As a supplement, another useful property for algorithms on minor-excluded graphs is that these graphs have &lt;strong&gt;small separators&lt;/strong&gt;. More precisely, due to &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;a href=&quot;http://www.ms.unimelb.edu.au/~woodd/papers/ReedWood-Separators.pdf&quot; rel=&quot;noreferrer&quot;&gt;A linear time algorithm to find a separator in a graph excluding a minor&lt;/a&gt;,&#xA;  Bruce Reed and David R. Wood, ACM Transactions on Algorithms, 2009,&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;there is a linear time algorithm to find a separator of size $O(n^{2/3})$,&#xA;or an $O(n^{3/2} + m)$ time algorithm to find a separator of size $O(n^{1/2})$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Separators are good for &lt;em&gt;dynamic programming&lt;/em&gt; techniques, and many NP-complete problems are shown to have fast algorithms with good approximation ratio, say the solution is within a constant factor of the optimal one, or even a PTAS. &#xA;&lt;em&gt;Planar graphs&lt;/em&gt;, and in general, bounded genus graphs are good starting points when trying to solve problems on minor-excluded graphs.&lt;/p&gt;&#xA;" OwnerUserId="1800" LastActivityDate="2010-10-23T02:42:22.830" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="2406" PostTypeId="2" ParentId="2398" CreationDate="2010-10-23T03:48:24.747" Score="5" Body="&lt;p&gt;Check also &lt;a href=&quot;https://tromp.github.io/cl/LC.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;this paper&lt;/a&gt; by John Tromp, using combinatory logic. An earlier writeup, apparently no longer available, was even neater.&lt;/p&gt;&#xA;" OwnerUserId="40" LastEditorUserId="40" LastEditDate="2016-12-15T11:54:03.797" LastActivityDate="2016-12-15T11:54:03.797" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="2407" PostTypeId="2" ParentId="2074" CreationDate="2010-10-23T03:54:09.537" Score="23" Body="&lt;p&gt;Going the other way around (from TCS to physics), matrix product states, PEPS (projected entangled pair states), MERA (multiscale entanglement renomalization ansatz) have been significantly informed by TCS ideas which were adapted in quantum information theory. These acronyms are all techniques for approximating the states of quantum spin systems that are used by condensed matter theorists, and in many cases these techniques seem to work better than any tools previously known.&lt;/p&gt;&#xA;" OwnerUserId="1677" LastEditorUserId="121" LastEditDate="2011-05-25T07:38:46.267" LastActivityDate="2011-05-25T07:38:46.267" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="2408" PostTypeId="2" ParentId="2398" CreationDate="2010-10-23T04:41:32.227" Score="10" Body="&lt;p&gt;Any interpretor for any language which is Turing complete is a universal recursive function. There are interpretors for high-level languages like C++ or Python. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Godel numbering exists, but implicitly. For example, the C++ code computing a recursive function $g$ is an index for $g$.&lt;/p&gt;&#xA;" OwnerUserId="186" LastActivityDate="2010-10-23T04:41:32.227" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2409" PostTypeId="2" ParentId="2399" CreationDate="2010-10-23T05:04:42.087" Score="15" Body="&lt;p&gt;A paper at ICFP 2010 this year, &lt;a href=&quot;http://www.cs.nott.ac.uk/~nad/publications/danielsson-parser-combinators.html&quot; rel=&quot;nofollow&quot;&gt;Total Parser Combinators&lt;/a&gt;, describes a provably terminating parser combinator library and also establishes that in this library &quot;parser combinators are as expressive as possible&quot; given that the parser is guaranteed to terminate. Unfortunately I don't remember the explanation the author gave for what &quot;as expressive as possible&quot; means, but it certainly seems relevant to your question about &quot;power.&quot;&lt;/p&gt;&#xA;" OwnerUserId="1024" LastActivityDate="2010-10-23T05:04:42.087" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2410" PostTypeId="2" ParentId="2074" CreationDate="2010-10-23T05:08:05.183" Score="11" Body="&lt;p&gt;Gauge Theory for heuristic approximations to integer programming (a few of &lt;a href=&quot;http://cnls.lanl.gov/~chertkov/&quot;&gt;Misha Chertkov's&lt;/a&gt; papers). Renormalization group methods for combinatoric counting, Ch.10-12 of Rudnick/Gaspari's &quot;Elements of the Random Walk.&quot; Applying Feymann's path integral decomposition (ie, Section 9.5.1) to counting self-avoiding walks. For connection to TCS, note that regime of tractability for approximate counting on graphs depends on the growth rate of self-avoiding walks.&lt;/p&gt;&#xA;" OwnerUserId="434" LastEditorUserId="434" LastEditDate="2010-10-23T05:26:01.147" LastActivityDate="2010-10-23T05:26:01.147" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2411" PostTypeId="2" ParentId="2386" CreationDate="2010-10-23T05:37:14.440" Score="40" Body="&lt;p&gt;There is a neat way to introduce zero-knowledge proofs to students, which I think is originally due to Oded Goldreich (please correct me if I'm wrong). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;You have a red ball and a green ball, which poor colorblind Charlie believes are the same color. You want to convince Charlie that you can tell the difference between the red ball and green ball, and you want to do this in a way that Charlie &lt;em&gt;does not&lt;/em&gt; learn which is red and which is green. (You want to prove something is true, in such a way that no one else can turn around and claim a proof of that something as their own.) How can you do this? Or is it impossible? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;One protocol is the following. Charlie puts a ball in each hand, then chooses to either switch the two balls behind him, or not. Then he presents the two balls again. If you can always detect whether he switched the two balls or not, then Charlie is increasingly convinced that you &lt;em&gt;can&lt;/em&gt; tell the difference between them. If Charlie does this shuffle at random and you really can't tell the difference between the colors, then you will only guess correctly with probability $1/2$. After $k$ trials, Charlie should be convinced that you can tell the difference with probability at least $1-1/2^k$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now while Charlie becomes increasingly convinced that you can tell the difference, he frustratingly never learns which ball is red and which one is green.&lt;/p&gt;&#xA;" OwnerUserId="225" LastActivityDate="2010-10-23T05:37:14.440" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="2413" PostTypeId="2" ParentId="2386" CreationDate="2010-10-23T05:50:31.403" Score="16" Body="&lt;p&gt;One of the most appealing aspects TCS is how it uses abstract mathematical ideas for day-to-day practical applications.  A presentation can focus on the abstract ideas that lie one step behind what they see daily on the Internet:  Shortest paths becomes exciting once they are put in the context of friends-of-friends on Facebook.  More graph algorithms can ride on Pagerank; Amazon recommendations raise the challenge of machine learning; and buying-stuff on the Internet is certainly a good lead for the public-key crypto.  &lt;/p&gt;&#xA;" OwnerUserId="42" LastActivityDate="2010-10-23T05:50:31.403" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="2414" PostTypeId="2" ParentId="2386" CreationDate="2010-10-23T05:54:45.423" Score="23" Body="&lt;p&gt;A good source for education purposes in general is &lt;a href=&quot;http://csunplugged.org/&quot;&gt;CS unplugged&lt;/a&gt;, which has lots of neat CS ideas translated into high-school and middle-school &lt;a href=&quot;http://csunplugged.org/activities&quot;&gt;activities&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="42" LastActivityDate="2010-10-23T05:54:45.423" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="2415" PostTypeId="2" ParentId="2384" CreationDate="2010-10-23T06:11:43.297" Score="15" Body="&lt;p&gt;There are a number of papers showing various NP-hard problems can be approximated significantly better (either $O(1)$ or PTAS) on excluded-minor graphs than on general graphs.  See, for instance:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;a href=&quot;http://www-math.mit.edu/~hajiagha/graphminoralgorithm.pdf&quot; rel=&quot;noreferrer&quot;&gt;Algorithmic Graph Minor Theory: Decomposition, Approximation, and Coloring&lt;/a&gt; by Demaine, Hajiaghayi, and Kawarabayashi&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;This paper gives an algorithmic version of a certain (somewhat complex to explain) decomposition for excluded-minor graphs guaranteed by the Robertson &amp;amp; Seymour theorem, which yields a number of these improved approximation results.  Also check out the references therein.&lt;/p&gt;&#xA;" OwnerUserId="205" LastActivityDate="2010-10-23T06:11:43.297" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2416" PostTypeId="2" ParentId="2386" CreationDate="2010-10-23T07:10:03.907" Score="14" Body="&lt;p&gt;I've used two talks quite successfully with both high school students and entering freshmen. &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Origami. I lead off with the 5-point star problem (this works well in american contexts, because of the connection to the american flag) and let students try to figure out how to make a five-point star with folding + 1 cut. I talk about the &quot;resource&quot; (cutting) and how algorithm design is about working with limited resources. Then I talk about other origami questions and applications in the real world (heart valves, NASA telescopes, crumple zones in cars). &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Sorting pancakes: there's a beautiful connection between sorting pancakes and genome rearrangement, and I actually made stacks of pancakes from foam for students to play with. Works great, and lets me talk about algorithms, gene sequencing, Bill Gates (!), and other fun things. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="80" LastActivityDate="2010-10-23T07:10:03.907" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2417" PostTypeId="1" CreationDate="2010-10-23T08:01:13.557" Score="22" ViewCount="1050" Body="&lt;p&gt;This question is about the relationship between normal multiplication of binary numbers and polynomial multiplication mod 2. To make the question concrete, I would ideally like to know if there is a better solution to the question from Knuth vol. 2, 3rd edition, page 420 than that given in the book.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&quot;Can the multiplication of polynomials modulo 2 be facilitated by using the ordinary arithmetic operations on a binary computer, if coefficients are packed into computer words.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Knuth gives a reasonably straightforward reduction which expands the number of bits in the input by a log multiplicative factor in the worst case.  Can this log factor be reduced?  &lt;/p&gt;&#xA;" OwnerUserId="1864" LastActivityDate="2011-01-08T09:00:36.567" Title="Binary multiplication and parity convolution" Tags="&lt;ds.algorithms&gt;&lt;reductions&gt;&lt;time-complexity&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="2418" PostTypeId="2" ParentId="2396" CreationDate="2010-10-23T12:46:34.710" Score="20" Body="&lt;p&gt;Counting Hamiltonian circuits in a 3-regular Hamiltonian graph is #P-complete, as follows.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Proof sketch&lt;/strong&gt;.  The membership in #P is trivial, so we will only show the #P-hardness.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Section 3 of Liśkiewicz, Ogihara and Toda [LOT03] shows that counting Hamiltonian circuits in a 3-regular (and in fact planar at the same time) graph is #P-complete.  Moreover, their reduction from #3SAT maps satisfiable 3CNF formula to Hamiltonian graphs.  Therefore, you can reduce #3SAT to counting Hamiltonian circuits in a 3-regular Hamiltonian graph by first &lt;a href=&quot;https://cstheory.stackexchange.com/questions/1639/verifying-unique-solutions-of-sat&quot;&gt;adding one trivial solution&lt;/a&gt; to a given 3CNF formula and then reducing it to counting Hamiltonian circuits by using the reduction in [LOT03].  &lt;strong&gt;QED&lt;/strong&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[LOT03] Maciej Liśkiewicz, Mitsunori Ogihara and Seinosuke Toda.  The complexity of counting self-avoiding walks in subgraphs of two-dimensional grids and hypercubes.  &lt;em&gt;Theoretical Computer Science&lt;/em&gt;, 304(1–3):129–156, July 2003.  &lt;a href=&quot;http://dx.doi.org/10.1016/S0304-3975(03)00080-X&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://dx.doi.org/10.1016/S0304-3975(03)00080-X&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="567" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2010-10-23T12:46:34.710" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="2419" PostTypeId="2" ParentId="1965" CreationDate="2010-10-23T12:54:59.370" Score="6" Body="&lt;p&gt;Theorem 5.14 of Khanna, Sudan, Trevisan and Williamson [KSTW01] gives a dichotomy theorem for the gap versions with perfect completeness for the boolean MaxCSP problems.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[KSTW01] Sanjeev Khanna, Madhu Sudan, Luca Trevisan and David P. Williamson.  The approximability of constrant satisfaction problems.  &lt;em&gt;SIAM Journal on Computing&lt;/em&gt;, 30(6):1863–1920, 2001.  &lt;a href=&quot;http://dx.doi.org/10.1137/S0097539799349948&quot;&gt;http://dx.doi.org/10.1137/S0097539799349948&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="567" LastActivityDate="2010-10-23T12:54:59.370" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="2420" PostTypeId="2" ParentId="2396" CreationDate="2010-10-23T16:15:46.600" Score="24" Body="&lt;p&gt;In my paper &quot;The traveling salesman problem for cubic graphs&quot; (&lt;a href=&quot;http://arxiv.org/abs/cs.DS/0302030&quot;&gt;J. Graph Algorithms and Applications 11(1):61-81, 2007&lt;/a&gt;) I proved an upper bound of $2^{3n/8}$ on the number of Hamiltonian cycles, conjectured that the bound could be improved to $2^{n/3}$, and found a family of graphs that have exactly $2^{n/3}$ showing that, if true, the conjectured bound would be tight. Heidi Gebauer (&quot;On the Number of Hamilton Cycles in Bounded Degree Graphs&quot;, &lt;a href=&quot;http://siam.org/proceedings/analco/2008/anl08_023gebauerh.pdf&quot;&gt;ANALCO 2008&lt;/a&gt;) improved the upper bound to $1.276^n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If one allows multigraphs then a cycle that alternates between single and double bonds has $2^{n/2}$ Hamiltonian cycles, and this is tight.&lt;/p&gt;&#xA;" OwnerUserId="95" LastEditorUserId="95" LastEditDate="2010-10-23T20:14:07.200" LastActivityDate="2010-10-23T20:14:07.200" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2421" PostTypeId="1" AcceptedAnswerId="2425" CreationDate="2010-10-23T19:34:59.583" Score="24" ViewCount="1895" Body="&lt;p&gt;There is a rich literature and at least one very good book setting out the known hardness of approximation results for NP-hard problems in the context of multiplicative error (e.g. 2-approximation for vertex cover is optimal assuming UGC).  This also includes well understood approximation complexity classes such as APX, PTAS and so on.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is known when additive error is to be considered?  A literature search shows a few upper bound type results, most notably for bin packing (see for example &lt;a href=&quot;http://www.cs.princeton.edu/courses/archive/spr03/cs594/dpw/lecture2.ps&quot;&gt;http://www.cs.princeton.edu/courses/archive/spr03/cs594/dpw/lecture2.ps&lt;/a&gt;), but is there a more comprehensive complexity class classification or is there a reason why it is not so interesting or relevant? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;As a further comment, for bin packing, for example, there is as far as I know no theoretical reason why a poly time algorithm which is always within an additive distance from optimal of 1 couldn't be found (although I stand to be corrected).  Would such an algorithm collapse any complexity classes or have any other significant theoretical knock-on effect?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT: The key phrase I didn't use is &quot;asymptotic approximation class&quot; (thanks Oleksandr). It seems that there is some work in this area but it hasn't got to the same stage of maturity yet as the theory of classic approximation classes.&lt;/p&gt;&#xA;" OwnerUserId="1864" LastEditorUserId="1864" LastEditDate="2010-10-24T14:13:52.450" LastActivityDate="2010-11-24T14:31:11.437" Title="Hardness of approximation - additive error" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;np-hardness&gt;&lt;approximation-hardness&gt;" AnswerCount="3" CommentCount="4" FavoriteCount="14" ContentLicense="CC BY-SA 2.5" />
  <row Id="2422" PostTypeId="1" CreationDate="2010-10-23T20:37:21.980" Score="27" ViewCount="864" Body="&lt;p&gt;I just taught the &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=234534&quot; rel=&quot;nofollow noreferrer&quot;&gt;Karger-Stein randomized mincut algorithm&lt;/a&gt; in my graduate algorithms class.  This is a real &lt;a href=&quot;https://cstheory.stackexchange.com/questions/189/algorithms-from-the-book&quot;&gt;algorithmic gem&lt;/a&gt;, so I can't &lt;em&gt;not&lt;/em&gt; teach it, but it always leaves me frustrated, because I don't know  any other applications of the main technique.  (So it's hard to assign homework that drives the point home.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Karger and Stein's algorithm is a refinement of an earlier algorithm of Karger, which iteratively contracts random edges until the graph has only two vertices; this simple algorithm runs in $O(n^2)$ time and returns a minimum cut with probability $\Omega(1/n^2)$, where $n$ is the number of vertices in the input graph.  The refined &quot;Recursive Contraction Algorithm&quot; iteratively contracts random edges until the number of vertices drops from $n$ to $n/\sqrt{2}$, recursively calls itself &lt;em&gt;twice&lt;/em&gt; on the remaining graph, and returns the smaller of the two resulting cuts.  A straightforward implementation of the refined algorithm runs in $O(n^2\log n)$ time and returns a minimum cut with probability $\Omega(1/\log n)$.  (There are more efficient implementations of these algorithms, and better randomized algorithms.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What other randomized algorithms use similar branching amplification techniques?  I'm especially interested in examples that &lt;em&gt;don't&lt;/em&gt; (obviously) involve graph cuts.&lt;/p&gt;&#xA;" OwnerUserId="111" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.743" LastActivityDate="2011-02-07T02:52:06.067" Title="Other applications of Karger-Stein branching amplification?" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;randomized-algorithms&gt;&lt;teaching&gt;" AnswerCount="1" CommentCount="8" FavoriteCount="11" CommunityOwnedDate="2010-10-23T23:48:29.657" ContentLicense="CC BY-SA 2.5" />
  <row Id="2423" PostTypeId="2" ParentId="2421" CreationDate="2010-10-23T21:40:05.233" Score="6" Body="&lt;p&gt;This is a partial answer&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$ABS$ is the class of NP-optimization problems solvable in polynomial time to within an absolute additive error from the optimal solution. The following two problems are in $ABS$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;-A famous problem that has additive error approximation: 3-coloring of planar graphs is $NP$-complete while every planar graph is 4-colorable in polynomial time (by the four color theorem).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;-Every cubic graphic is edge 4-colorable in polynomial time but edge 3-coloring is NP-hard.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Maximum independent set problem is not in $ABS$ unless $P=NP$&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2010-10-23T21:46:48.130" LastActivityDate="2010-10-23T21:46:48.130" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="2425" PostTypeId="2" ParentId="2421" CreationDate="2010-10-23T22:23:20.870" Score="23" Body="&lt;p&gt;The question is somewhat open-ended, so I do not think that it can be answered completely.  This is a partial answer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An easy observation is that many problems are uninteresting when we consider additive approximation.  For example, traditionally the objective function of the Max-3SAT problem is the number of satisfied clauses.  In this formulation, approximating Max-3SAT within an O(1) additive error is equivalent to solving Max-3SAT exactly, simply because the objective function can be scaled by copying the input formula many times.  Multiplicative approximation is much more essential for the problems of this kind.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;[Edit: In earlier revision, I had used Independent Set as an example in the previous paragraph, but I changed it to Max-3SAT because Independent Set is not a good example to illustrate the difference between multiplicative approximation and additive approximation; approximating Independent Set even within an O(1) multiplicative factor is also NP-hard.  In fact, a much stronger inapproximability for Independent Set is shown by Håstad [Has99].]&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But, as you said, additive approximation is interesting for the problems like bin packing, where we cannot scale the objective function.  Moreover, we can often reformulate a problem so that additive approximation becomes interesting.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, if the objective function of Max-3SAT is redefined as the &lt;em&gt;ratio&lt;/em&gt; of the number of satisfied clauses to the total number of clauses (as is sometimes done), additive approximation becomes interesting.  In this setting, additive approximation is not harder than multiplicative approximation in the sense that approximability within a multiplicative factor 1−&lt;i&gt;ε&lt;/i&gt; (0&amp;lt;&lt;i&gt;ε&lt;/i&gt;&amp;lt;1) implies approximability within an additive error &lt;i&gt;ε&lt;/i&gt;, because the optimal value is always at most 1.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An interesting fact (which seems to be unfortunately often overlooked) is that many inapproximability results prove the NP-completeness of certain &lt;em&gt;gap problems&lt;/em&gt; which does not follow from the mere NP-hardness of multiplicative approximation (see also Petrank [Pet94] and Goldreich [Gol05, Section 3]).  Continuing the example of Max-3SAT, it is a well-known result by Håstad [Has01] that it is NP-hard to approximate Max-3SAT within a constant multiplicative factor better than 7/8.  This result alone does not seem to imply that it is NP-hard to approximate the ratio version of Max-3SAT within a constant additive error beyond some threshold.  However, what Håstad [Has01] proves is stronger than the mere multiplicative inapproximability: he proves that the following promise problem is NP-complete for every constant 7/8&amp;lt;&lt;i&gt;s&lt;/i&gt;&amp;lt;1:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Gap-3SAT&lt;sub&gt;&lt;i&gt;s&lt;/i&gt;&lt;/sub&gt;&lt;br&gt;&#xA;&lt;em&gt;Instance&lt;/em&gt;: A CNF formula φ where each clause involves exactly three distinct variables.&lt;br&gt;&#xA;&lt;em&gt;Yes-promise&lt;/em&gt;: φ is satisfiable.&lt;br&gt;&#xA;&lt;em&gt;No-promise&lt;/em&gt;: No truth assignment satisfies more than &lt;i&gt;s&lt;/i&gt; fraction of the clauses of φ.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;From this, we can conclude that it is NP-hard to approximate the ratio version of Max-3SAT within an additive error better than 1/8.  On the other hand, the usual, simple random assignment gives approximation within an additive error 1/8.  Therefore, the result by Håstad [Has01] does not only give the optimal multiplicative inapproximability for this problem but also the optimal additive inapproximability.  I guess that there are many additive inapproximability results like this which do not appear explicitly in the literature.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;References&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[Gol05] Oded Goldreich.  On promise problems (a survey in memory of Shimon Even [1935-2004]).  &lt;em&gt;Electronic Colloquium on Computational Complexity&lt;/em&gt;, Report TR05-018, Feb. 2005.  &lt;a href=&quot;http://eccc.hpi-web.de/report/2005/018/&quot;&gt;http://eccc.hpi-web.de/report/2005/018/&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[Has99] Johan Håstad.  Clique is hard to approximate within &lt;i&gt;n&lt;/i&gt;&lt;sup&gt;1−&lt;i&gt;ε&lt;/i&gt;&lt;/sup&gt;.  &lt;em&gt;Acta Mathematica&lt;/em&gt;, 182(1):105–142, March 1999.  &lt;a href=&quot;http://www.springerlink.com/content/m68h3576646ll648/&quot;&gt;http://www.springerlink.com/content/m68h3576646ll648/&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[Has01] Johan Håstad.  Some optimal inapproximability results.  &lt;em&gt;Journal of the ACM&lt;/em&gt;, 48(4):798–859, July 2001.  &lt;a href=&quot;http://doi.acm.org/10.1145/502090.502098&quot;&gt;http://doi.acm.org/10.1145/502090.502098&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[Pet94] Erez Petrank.  The hardness of approximation: Gap location.  &lt;em&gt;Computational Complexity&lt;/em&gt;, 4(2):133–157, April 1994.  &lt;a href=&quot;http://dx.doi.org/10.1007/BF01202286&quot;&gt;http://dx.doi.org/10.1007/BF01202286&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="567" LastEditorUserId="567" LastEditDate="2010-11-24T14:31:11.437" LastActivityDate="2010-11-24T14:31:11.437" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="2426" PostTypeId="1" AcceptedAnswerId="2634" CreationDate="2010-10-23T22:49:19.917" Score="28" ViewCount="873" Body="&lt;p&gt;First of all, I apologize in advance for any stupidity. I am by no means an expert on complexity theory (far from it! I am an undergraduate taking my first class in complexity theory) Here's my question. Now Savitch's Theorem states that &#xA;$$\text{NSPACE}\left(f\left(n\right)\right) \subseteq \text{DSPACE}\left(\left(f\left(n\right)\right)^2\right)$$&#xA;Now I'm curious if if this lower bound was tight, i.e that is something along the lines of &#xA;$\text{NSPACE}\left(f\left(n\right)\right) \subseteq \text{DSPACE}\left(\left(f\left(n\right)\right)^{1.9}\right)$ is not achievable. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It seems like something there should be a straightforward combinatorial argument to be made here - each node in the configuration graph for a Deterministic Turing machine has only one outgoing edge, while each node in the configuration graph of a Non-Deterministic Turing machine can have more than one outgoing edge. What Savitch's algorithm is doing is converting configuration graphs with any number outgoing edge to configuration graphs with $&amp;lt;2$ outgoing edges.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since the configuration graph defines a unique TM (not sure about this), the combinatorial size of the latter is almost certainly larger than the former. This &quot;difference&quot; is perhaps a factor of $n^2$, perhaps less - I don't know. Of course, there are lots of little technical issues to be worked out, like how you need to make sure there are no loops and so forth, but my question is if this is a reasonable way to begun proving a thing like this.&amp;nbsp;&lt;/p&gt;&#xA;" OwnerUserId="1892" LastEditorUserId="612" LastEditDate="2012-12-23T10:24:18.700" LastActivityDate="2012-12-23T10:24:18.700" Title="Tight Lower bounds on Savitch's theorem" Tags="&lt;cc.complexity-theory&gt;&lt;space-bounded&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="2427" PostTypeId="2" ParentId="2426" CreationDate="2010-10-23T23:34:59.813" Score="21" Body="&lt;p&gt;I think we don't know whether this is tight. Otherwise we would know that $L \neq NL$.&lt;/p&gt;&#xA;" OwnerUserId="327" LastActivityDate="2010-10-23T23:34:59.813" CommentCount="6" ContentLicense="CC BY-SA 2.5" />
  <row Id="2428" PostTypeId="1" AcceptedAnswerId="2439" CreationDate="2010-10-24T00:18:58.817" Score="26" ViewCount="1647" Body="&lt;p&gt;1) What, if any, is the relationship between static typing and formal grammars?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) In particular, would it be possible for a linear bounded automaton to check whether, say, a C++ or SML program was well typed? A nested stack automaton?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;3) Is there a natural way to express static typing rules in formal grammar terms?&lt;/p&gt;&#xA;" OwnerUserId="1893" LastEditorUserId="1893" LastEditDate="2010-10-25T17:41:23.520" LastActivityDate="2010-10-25T17:41:23.520" Title="Context Sensitive Grammars and Types" Tags="&lt;automata-theory&gt;&lt;fl.formal-languages&gt;&lt;pl.programming-languages&gt;&lt;type-theory&gt;&lt;type-inference&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="6" ContentLicense="CC BY-SA 2.5" />
  <row Id="2429" PostTypeId="1" AcceptedAnswerId="2431" CreationDate="2010-10-24T00:24:13.297" Score="14" ViewCount="859" Body="&lt;p&gt;It is known that determining whether or not a given triangulated 3-manifold is a 3-sphere&#xA;is in NP, via work by&#xA;Saul Schleimer in 2004: &quot;Sphere recognition lies in NP&quot;&#xA;&lt;a href=&quot;http://arxiv.org/abs/math/0407047&quot;&gt;arXiv:math/0407047v1 [math.GT]&lt;/a&gt;.&#xA;I am wondering if this has been established to be NP-complete in the last five or six years?&#xA;Analogous problems, such as the 3-manifold knot genus problem, have been shown NP-complete.&lt;/p&gt;&#xA;" OwnerUserId="337" LastEditorUserId="567" LastEditDate="2010-10-24T00:32:01.577" LastActivityDate="2017-04-18T17:17:57.713" Title="Is the 3-sphere recognition problem NP-complete?" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;open-problem&gt;&lt;topology&gt;" AnswerCount="3" CommentCount="3" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="2430" PostTypeId="1" AcceptedAnswerId="2631" CreationDate="2010-10-24T03:03:09.173" Score="8" ViewCount="634" Body="&lt;p&gt;Given a skip list of height $n$, what is its expected length, to within a constant (multiplicative) factor?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In section 2.2 of &lt;a href=&quot;http://erikdemaine.org/papers/CacheObliviousBTrees_SICOMP/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Cache-Oblivious B-Trees&lt;/a&gt;, &lt;em&gt;Strongly Weight-Balanced Search Trees&lt;/em&gt; are defined as:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;For some constant $d$, every node $v$ at height $h$ has $\Theta(d^h)$ descendants.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;They claim:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Search trees that satisfy Properties 1 and 2 include weight-balanced B-trees,&#xA;  deterministic skip lists, and skip lists in the expected sense.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/questions/1876/strongly-weight-balanced-deterministic-skip-lists&quot;&gt;I asked already about the claim for deterministic skip lists.&lt;/a&gt; This question is about the claim for skip lists.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I believe that skip lists have this property in expectation, but I can't find a rigorous reason. The probability the other way around (what is the height, given the length) can be calculated directly to within a constant factor. A sophisticated analysis is given in &lt;a href=&quot;http://captura.uchile.cl/jspui/bitstream/2250/6130/1/Poblete_Patricio.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;The binomial transform and the analysis of skip lists&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are several different notions for defining &quot;descendants&quot; in skip lists; this term is not used in Pugh's original paper. Some possible interpretations of &quot;descendants&quot; come from viewing skip lists as trees. Different ways of doing this are included in&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://cg.scs.carleton.ca/~luc/devroye_1992_a_limit_theory_for_random_skip_lists.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;A limit theory for random skip lists&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://portal.acm.org/citation.cfm?id=139404.139478&quot; rel=&quot;nofollow noreferrer&quot;&gt;Deterministic skip lists&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.47.514&quot; rel=&quot;nofollow noreferrer&quot;&gt;Skip trees, an alternative data structure to skip lists in a concurrent approach&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.cs.clemson.edu/~bcdean/paper11.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;Exploring the Duality Between Skip Lists and Binary Search Trees&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Using the notion from &quot;Deterministic skip lists&quot;, I think this is another way of asking the same question:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If I take a fair coin, then flip it some number of times such that my last result is &lt;em&gt;tails&lt;/em&gt;, and the longest continuous sequence of &lt;em&gt;heads&lt;/em&gt; was of length $n$, what is the expected value of the number of times I saw &lt;em&gt;tails&lt;/em&gt;?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'd also be interested in non-constructive proofs of strong weight-balance in expectation, even without a closed form solution for $d$.&lt;/p&gt;&#xA;" OwnerUserId="43" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2010-11-05T20:55:09.420" Title="Proving skip-lists strongly weight-balanced in expectation" Tags="&lt;ds.data-structures&gt;&lt;randomized-algorithms&gt;&lt;skip-lists&gt;" AnswerCount="3" CommentCount="7" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2431" PostTypeId="2" ParentId="2429" CreationDate="2010-10-24T03:31:59.990" Score="15" Body="&lt;p&gt;If it's NP-complete, then wouldn't you have proved that no set of (uniformly) polynomial-time computable invariants of 3-manifolds distinguishes 3-spheres from other 3-manifolds. I would be very surprised if this is known.&lt;/p&gt;&#xA;" OwnerUserId="1677" LastActivityDate="2010-10-24T03:31:59.990" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2432" PostTypeId="1" AcceptedAnswerId="2442" CreationDate="2010-10-24T03:46:19.043" Score="14" ViewCount="1271" Body="&lt;p&gt;The question &lt;a href=&quot;https://cstheory.stackexchange.com/questions/1539/whats-new-in-purely-functional-data-structures-since-okasaki&quot;&gt;What's new in purely functional data structures since Okasaki?&lt;/a&gt;, and jbapple's epic answer, mentioned using difference lists in functional programming (as opposed to logic programming), which is something I've recently been interested in. This led me to find the &lt;a href=&quot;http://hackage.haskell.org/cgi-bin/hackage-scripts/package/dlist&quot; rel=&quot;nofollow noreferrer&quot;&gt;difference list&lt;/a&gt; implementation for Haskell. I have two questions (forgive/correct me if I should make them two different questions on the StackExchange).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The simple question is, is anyone aware of academic consideration of difference lists in functional programming and/or implementations besides the one in the Haskell library? jbapple's answer didn't give a citation for difference lists (difference lists in logic programming exist in the lore and in a couple of sources which I have Around Here Somewhere (TM)). Before finding the Haskell implementation I wasn't aware that the idea had leaped from logic to functional programming. Granted, the Haskell difference lists are something of a natural use of higher-order functions and work quite differently from the ones in logic programming, but the interface is certainly similar.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The more interesting (and far fuzzier-headed) thing I wanted to ask about is whether the claimed asymptotic upper bound for the &lt;a href=&quot;http://hackage.haskell.org/packages/archive/dlist/0.5/doc/html/Data-DList.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;aforementioned Haskell difference list library&lt;/a&gt; seems correct/plausible. My confusion may be because I am missing something about obvious about complexity reasoning with laziness, but the claimed bounds only make sense to me if substitution over a large data structure (or closure formation, or variable lookup, or &lt;i&gt;something&lt;/i&gt;) always takes constant time. Or is the &quot;catch&quot; simply that there's no bound on the running time for &quot;head&quot; and &quot;tail&quot; precisely because those operations may have to plow through an arbitrary pile of deferred computations/substitutions?&lt;/p&gt;&#xA;" OwnerUserId="1024" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2010-10-24T21:30:32.053" Title="Difference lists in functional programming" Tags="&lt;reference-request&gt;&lt;ds.data-structures&gt;&lt;pl.programming-languages&gt;&lt;functional-programming&gt;&lt;logic-programming&gt;" AnswerCount="2" CommentCount="3" FavoriteCount="6" ContentLicense="CC BY-SA 2.5" />
  <row Id="2433" PostTypeId="2" ParentId="419" CreationDate="2010-10-24T04:34:04.583" Score="3" Body="&lt;p&gt;You might be interested in this paper:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.cs.queensu.ca/home/akl/techreports/superform_updated.ps&quot; rel=&quot;nofollow&quot;&gt;Superlinear Performance In Real-Time Parallel Computation&lt;/a&gt; by Selim Akl.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;He provides examples of computational problems in which &quot;the sequential solution is more than $n$ times slower than an $n$-processor parallel solution&quot;; this is done by creatively interpreting the concept of a &quot;computational problem&quot;.&lt;/p&gt;&#xA;" OwnerUserId="792" LastActivityDate="2010-10-24T04:34:04.583" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2434" PostTypeId="1" AcceptedAnswerId="2453" CreationDate="2010-10-24T05:33:44.293" Score="25" ViewCount="2334" Body="&lt;p&gt;Hey Guys, I understand that the padding trick allows us to translate complexity classes upwards - for example $P=NP \rightarrow EXP=NEXP$. Padding works by &quot;inflating&quot; the input, running the conversion (say from say $NP$ to $P$), which yields a &quot;magic&quot; algorithm which you can run on the padded input. While this makes technical sense, I can't get a good intuition of how this works. What exactly is going on here? Is there a simple analogy for what padding is? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can provide a &lt;em&gt;common sense&lt;/em&gt; reason why this is the case? &lt;/p&gt;&#xA;" OwnerUserId="1892" LastEditorUserId="186" LastEditDate="2010-12-04T15:34:53.417" LastActivityDate="2010-12-04T15:34:53.417" Title="Why do equalities between complexity classes translate upwards and not downwards?" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;padding&gt;" AnswerCount="4" CommentCount="3" FavoriteCount="10" ContentLicense="CC BY-SA 2.5" />
  <row Id="2435" PostTypeId="2" ParentId="2386" CreationDate="2010-10-24T06:15:21.070" Score="15" Body="&lt;p&gt;I think almost any topic in computer science can be used for giving an interesting talk, but some are better suited, the more important part is the presentation.&lt;/p&gt;&#xA;&lt;h3&gt;Fun Side of Computer Science&lt;/h3&gt;&#xA;&lt;p&gt;I have used various games from Combinatorial Games Theory, mainly from Richard Guy's &amp;quot;Fair Games&amp;quot; and Elwyn R. Berlekamp, John H. Conway, and Richard K. Guy's &amp;quot;Winning Ways for your Mathematical Plays&amp;quot; (&lt;a href=&quot;http://en.wikipedia.org/wiki/Winning_Ways_for_your_Mathematical_Plays&quot; rel=&quot;nofollow noreferrer&quot;&gt;wiki&lt;/a&gt;).&lt;/p&gt;&#xA;&lt;p&gt;They are &lt;strong&gt;fun&lt;/strong&gt;, and you can play them in the class with them and let them find the right way to play it, give some hints so at the end &lt;em&gt;they&lt;/em&gt; find the way to win the game. These games are probably more suitable for younger students.&lt;/p&gt;&#xA;&lt;p&gt;There are other fun topics in Computer Science where you can pick a problem which is more suitable for your audience and use it to engage them.&lt;/p&gt;&#xA;&lt;h3&gt;Philosophical Side of Computer Science&lt;/h3&gt;&#xA;&lt;p&gt;There many topics in theoretical computer science which are related to philosophy and the &lt;strong&gt;big questions&lt;/strong&gt;. From Gödel's incompleteness theorem to zero-knowledge proofs, security, privacy, algorithmic game theory, P vs NP, machine learning, ... I would not go into details, just demonstrate that the problems are interesting, they are more than just computer science, they are related to big questions. (Take a look at Scott Aaronson's &lt;a href=&quot;http://www.scottaaronson.com/democritus/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Quantum Computing Since Democritus&lt;/a&gt; and &lt;a href=&quot;http://stellar.mit.edu/S/course/6/sp08/6.080/materials.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;Great Ideas In Theoretical Computer Science&lt;/a&gt; lectures). Don't make them feel like the topic is dead (i.e. all questions are answered), make them feel that the area is alive, there has been progress but there are still big challenges ahead, and it is a journey to an undiscovered land.&lt;/p&gt;&#xA;&lt;h3&gt;Technological Side of Computer Science&lt;/h3&gt;&#xA;&lt;p&gt;Talk about the computer science behind technologies. There are so many topic that one can choose here, familiar &lt;strong&gt;technologies&lt;/strong&gt; from video-games to Google search, machine translation, vision, ... technologies that everyone uses each day, or even unfamiliar ones. Talk about in progress and next generation technologies, about the impact they have had on our lives, and how they have improved it. Talk about research going on in big famous companies (like Google, Microsoft, Apple, IBM, ...) and products they develop. Talk about &lt;strong&gt;big problems&lt;/strong&gt; of our time and what effect computer science has on them.&lt;/p&gt;&#xA;&lt;h3&gt;Mathematical Side of Computer Science&lt;/h3&gt;&#xA;&lt;p&gt;This is good for students who are already interested in mathematics, those interested in the &lt;strong&gt;pure&lt;/strong&gt; and &lt;strong&gt;exact&lt;/strong&gt; side, but without combining it with other theme mentioned above it won't be as effective to other students. I would go with a big question and at some point mention start talking about mathematical problems involved.&lt;/p&gt;&#xA;&lt;h3&gt;Interdisciplinary Side of Computer Science&lt;/h3&gt;&#xA;&lt;p&gt;Computer Science is probably one of the most &lt;strong&gt;interdisciplinary&lt;/strong&gt; subjects, there are some connection with almost any other subject, humanistic (sociology, linguistics, economics, philosophy, ...), natural sciences (mathematics, physics, ...), biology, medical sciences, art, engineering (electronics, mechanics, ...), ... anything! &lt;em&gt;Whatever topic you are interested in, there is something in computer science that is related to it!&lt;/em&gt; As Scott said, &lt;a href=&quot;http://scottaaronson.com/blog/?p=442&quot; rel=&quot;nofollow noreferrer&quot;&gt;Every Other Major Sucks By Comparison&lt;/a&gt; :).&lt;/p&gt;&#xA;&lt;h3&gt;All of Them&lt;/h3&gt;&#xA;&lt;p&gt;You can also try to mention all of the themes I have mentioned above. I haven't tried this, and I am not sure how effective it would be. You have to transfer the feeling and make the point, and it takes sometime. One other options is to mention all of them briefly at the start (or the end) and then go on with one of them, and tell them that they can contact you to get more informations about the other ones if they are interested.&lt;/p&gt;&#xA;&lt;h3&gt;some comments&lt;/h3&gt;&#xA;&lt;p&gt;Whatever you are going to talk about, you should &lt;strong&gt;be enthusiastic&lt;/strong&gt; about it. It is going to be much more difficult to interest them in a topic which is not really interesting to yourself. Tell them about your own reasons for selecting computer science. And &lt;strong&gt;don't be boring&lt;/strong&gt;.&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2010-10-24T06:21:43.637" CommentCount="0" CommunityOwnedDate="2010-10-24T06:15:21.070" ContentLicense="CC BY-SA 2.5" />
  <row Id="2436" PostTypeId="2" ParentId="2428" CreationDate="2010-10-24T08:33:14.563" Score="4" Body="&lt;p&gt;As far as I know type correctness tends to be undecidable for interesting cases so clearly formal grammars cannot capture every type system you can think of.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I know that major compiler generators allow arbitrary predicates for rules that prevent a rule from being executed if the predicate does not evaluate to &lt;code&gt;true&lt;/code&gt;, e.g.&#xA;&lt;code&gt;{ type(e1) == type(e2) } (expression e1) '+' (expression e2)&lt;/code&gt;. This concept can easily be formalized; appropriate restrictions on the allowed predicates then can yield decidability by LBAs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Deciding such predicates is at least difficult with respect to runtime so I guess people tend to perform an iterative parsing, collecting information in phase $k$ in order to check feasibility in phase $k+1$. For instance, you can build up a name table in one pass and then check that all used variables are (visibly) declared in a second run.&lt;/p&gt;&#xA;" OwnerUserId="1546" LastActivityDate="2010-10-24T08:33:14.563" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2437" PostTypeId="2" ParentId="2421" CreationDate="2010-10-24T09:32:06.733" Score="6" Body="&lt;p&gt;There is a recent work on asymptotic approximation classes and their comparison with classical counterparts.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Erik Jan van Leeuwen and Jan van Leeuwen. &lt;a href=&quot;http://www.cs.uu.nl/research/techreps/repo/CS-2009/2009-034.pdf&quot;&gt;Structure of Polynomial-Time Approximation&lt;/a&gt;. Technical Report UU-CS-2009-034. December 2009.&lt;/p&gt;&#xA;" OwnerUserId="1060" LastActivityDate="2010-10-24T09:32:06.733" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2438" PostTypeId="2" ParentId="2434" CreationDate="2010-10-24T09:38:01.463" Score="15" Body="&lt;p&gt;OK, so your goal is to show that $CLASS_1[g(f(n))] = CLASS_2[h(f(n))]$ basing on $CLASS_1[g(n)] = CLASS_2[h(n)]$ (we don't specify what exactly are this classes, we just know that they're somehow parametrized with the input size). We have a language $L \in CLASS_1[g(f(n))]$, decided by some algorithm $A$. Now we make a language $L'$ by padding each word in $x \in L$, so that it's length is now $f(n)$, and we see that it is contained in $CLASS_1[g(n)]$ (our new algorithm $A'$ basically just ignores the added zeroes and runs $A$ on the real, short input). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;What we do is: &lt;em&gt;we take a language from the bigger class and we pad it, so that it can be solved by a weaker algorithm giving us containment in the smaller class - the weaker algorithm can do it, because it has the same amount of 'real work' to do as before, but it has its restrictions (being a function of the input length) lifted by extending the input.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now we know that $L' \in CLASS_1[g(n)]$ and hence  $L' \in CLASS_2[h(n)]$ (decided by some algorithm $B'$). We would like to get from here to $L \in CLASS_2[h(f(n))]$. But that is straightforward - algorithm $B$ deciding $L$ just pads the input accordingly and runs $B'$ on the padded input. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This step may be summarized as follows: &lt;em&gt;we want to decide $L$ in the bigger, more resourceful class. Using our extra resources we pad the input and run the algorithm deciding the padded language&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course there are some technical detailes involved here (f.e. we have to make sure that the padding can be implemented in the classes we consider) but I just ignore them to give the general intuition.&lt;/p&gt;&#xA;" OwnerUserId="327" LastActivityDate="2010-10-24T09:38:01.463" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2439" PostTypeId="2" ParentId="2428" CreationDate="2010-10-24T10:13:47.897" Score="21" Body="&lt;p&gt;It is not possible for linear bounded automata to check whether C++ programs, and unlikely to be possible for and LBA to check whether SML programs are well-typed. C++ has a Turing-complete type system, since you can code arbitrary programs as template metaprograms. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;SML is more interesting. It does have decidable type checking, but the problem is EXPTIME-complete. Hence it is unlikely an LBA can check it, unless there is a very surprising collapse in the complexity hierarchy. The reason for this is that SML requires type inference, and there are families of programs the size of whose type grows much faster than the size of the program. As an example, consider the following program:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;fun delta x = (x, x)        (* this has type 'a -&amp;gt; ('a * 'a), so its return value&#xA;                               has a type double the size of its argument *)&#xA;&#xA;fun f1 x = delta (delta x)  (* Now we use functions to iterate this process *)&#xA;fun f2 x = f1 (f1 x)        &#xA;fun f3 x = f2 (f2 x)        (* This function has a HUGE type *)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;For simpler type systems, such as C or Pascal's, I believe it is possible for an LBA to check it. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the early days of programming languages research, people sometimes used &lt;a href=&quot;http://en.wikipedia.org/wiki/Van_Wijngaarden_grammar&quot;&gt;van Wingaarden grammars&lt;/a&gt; (aka two-level grammars) to specify type systems for programming languages. I believe Algol 68 was specified in this way. However, I am told this technique was abandoned for essentially pragmatic reasons: it turned out to be quite difficult for people to write grammars that specified what they thought they were specifying! (Typically, the grammars people wrote generated larger languages than they intended.) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;These days people use schematic inference rules to specify type systems, which is essentially a way of specifying predicates as the least fixed point of a collections of Horn clauses. Satisfiability for first-order Horn theories is undecidable in general, so if you want to capture everything type theorists do, then whatever grammatical formalism you choose will be stronger than is really convenient.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I know there has been &lt;a href=&quot;http://www.cs.uu.nl/wiki/bin/view/HUT/AttributeGrammarSystem&quot;&gt;some work on using attribute grammars&lt;/a&gt; to implement type systems. They claim there are some software engineering benefits for this choice: namely, attribute grammars control information flow very strictly, and I am told this makes program understanding  easier. &lt;/p&gt;&#xA;" OwnerUserId="657" LastEditorUserId="657" LastEditDate="2010-10-24T11:00:06.000" LastActivityDate="2010-10-24T11:00:06.000" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2440" PostTypeId="2" ParentId="2432" CreationDate="2010-10-24T10:25:42.550" Score="12" Body="&lt;p&gt;Yes, the bounds depend on the assumption that function composition takes constant time. &#xA;Basically, if you have a join list: &lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;datatype 'a join = Nil | Cons of 'a * 'a join | Join of 'a join * 'a join&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;It's obvious that concatenation is constant time, and that it's $O(n)$ to turn this into a cons-list. If you think about the usual representation of closures, you can see that this is basically the same pointer representation as the usual representation of datatypes. (Alternatively, you can view this type as a defunctionalized difference-list.)&lt;/p&gt;&#xA;" OwnerUserId="657" LastActivityDate="2010-10-24T10:25:42.550" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2441" PostTypeId="2" ParentId="2386" CreationDate="2010-10-24T10:26:56.330" Score="4" Body="&lt;p&gt;My answer is not directly connected with TCS, but it can show that math can be beautiful and useful.   &lt;/p&gt;&#xA;&#xA;&lt;p&gt;You could make a speech about how to get reliable data about how many students were cheating on the exam. If you asked them directly then You wouldn't get reliable data. The idea of how to get reliable data is very simple. First You tell every student to think about some integer number, then You say:&lt;br&gt;&#xA;- If it was odd number write down whether You like green color or not. You can choose any other simple question, but You have to know, from some other survey, what percentage of people answer yes on this question.&lt;br&gt;&#xA;- If it was even number write down whether You were cheating or not.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;About 50% of students are going to answer on first question, and the other 50% are going to answer on second question. Now it is very easy to estimate how many students were cheating.&#xA;Example: If 40% of answers were yes, and You know that 30% of people like green color then You know that about 50% of students were cheating.&lt;/p&gt;&#xA;" OwnerUserId="1899" LastEditorUserId="127" LastEditDate="2010-10-27T19:32:51.237" LastActivityDate="2010-10-27T19:32:51.237" CommentCount="0" CommunityOwnedDate="2010-10-24T10:26:56.330" ContentLicense="CC BY-SA 2.5" />
  <row Id="2442" PostTypeId="2" ParentId="2432" CreationDate="2010-10-24T10:36:21.123" Score="9" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;Or is the &quot;catch&quot; simply that there's no bound on the running time for &quot;head&quot; and &quot;tail&quot; precisely because those operations may have to plow through an arbitrary pile of deferred computations/substitutions?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I think that's more or less correct. DLs only really have fast build operations, though, so the plowing is $\Theta(m)$, where $m$ is the number of operations used to build the DL.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The following defunctionalized version of some of the essential operations requires laziness for $O(1)$ &lt;code&gt;fromList&lt;/code&gt;, but otherwise should be a straightforward way of understanding the complexity bounds claimed in &lt;a href=&quot;http://hackage.haskell.org/packages/archive/dlist/0.5/doc/html/src/Data-DList.html#fromList&quot; rel=&quot;noreferrer&quot;&gt;the original&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;{-# LANGUAGE NoMonomorphismRestriction #-}&#xA;&#xA;data DL a = Id&#xA;          | Cons a&#xA;          | Compose (DL a) (DL a)&#xA;&#xA;fromList [] = Id&#xA;fromList (x:xs) = Compose (Cons x) (fromList xs)&#xA;&#xA;toList x = help x []&#xA;    where help Id r = r&#xA;          help (Cons a) r = a:r&#xA;          help (Compose f g) r = help f $ help g r&#xA;&#xA;empty = Id&#xA;&#xA;singleton = Cons&#xA;&#xA;cons x = append (singleton x)&#xA;&#xA;append = Compose&#xA;&#xA;snoc xs x = append xs (singleton x)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;The $\Theta(n)$ operations &lt;code&gt;head&lt;/code&gt; and &lt;code&gt;tail&lt;/code&gt; can be implemented the same way as they are in the &lt;code&gt;[a] -&amp;gt; [a]&lt;/code&gt; version, using &lt;code&gt;toList&lt;/code&gt;.&lt;/p&gt;&#xA;" OwnerUserId="43" LastEditorUserId="43" LastEditDate="2010-10-24T21:30:32.053" LastActivityDate="2010-10-24T21:30:32.053" CommentCount="7" ContentLicense="CC BY-SA 2.5" />
  <row Id="2443" PostTypeId="2" ParentId="2396" CreationDate="2010-10-24T12:38:38.890" Score="8" Body="&lt;p&gt;Some graphs have exactly three hamiltonian circuits:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://onlinelibrary.wiley.com/doi/10.1002/jgt.3190060218/abstract&quot;&gt;http://onlinelibrary.wiley.com/doi/10.1002/jgt.3190060218/abstract&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If one starts with the plane graph of the tetrahedron, which contains exactly three hamiltonian circuits, and creates a new planar 3-connected graph by truncating a single vertex one gets a new graph which has exactly three hamiltonian circuits. If one continues to truncate one vertex at a time one gets a family of graphs with exactly three hamiltonian circuits.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Additional comment:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There also has been some work on the question of which graphs other than cycles have exactly one hamiltonion circuit:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www3.interscience.wiley.com/journal/113386600/abstract&quot;&gt;http://www3.interscience.wiley.com/journal/113386600/abstract&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A very nice survey paper about hamltionian circuits in special kinds of graphs which has a section dealing with numbers of hamiltonian circuits, and corrects some problems with the paper above is:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://ajc.maths.uq.edu.au/pdf/20/ajc-v20-p111.pdf&quot;&gt;http://ajc.maths.uq.edu.au/pdf/20/ajc-v20-p111.pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="987" LastEditorUserId="987" LastEditDate="2010-10-24T17:42:03.560" LastActivityDate="2010-10-24T17:42:03.560" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2444" PostTypeId="2" ParentId="2386" CreationDate="2010-10-24T12:51:38.353" Score="2" Body="&lt;p&gt;I think this is closely related to &lt;a href=&quot;https://cstheory.stackexchange.com/questions/1471/dinner-table-description-of-theoretical-computer-science&quot;&gt;Dinner-table description of theoretical computer science?&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As I posted there I feel that algorithmics relate the best to every-day problems and can therefore motivate TCS very well. (&quot;How long one google search would take if they would search in the same way you look up telephone numbers&quot;)&lt;/p&gt;&#xA;" OwnerUserId="1546" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2010-10-24T12:51:38.353" CommentCount="2" CommunityOwnedDate="2010-10-24T12:51:38.353" ContentLicense="CC BY-SA 2.5" />
  <row Id="2445" PostTypeId="2" ParentId="2434" CreationDate="2010-10-24T14:00:49.157" Score="13" Body="&lt;p&gt;I see the padding arguments in terms of compactness of representation.  Think of two translator Turing machines: $B$ blows up instances, and $C$ compresses them again.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The padding argument works with $B$, by composing $B$ with the deterministic version of the TM for the language in the lower nondeterministic class.  The outputs of $B$ collectively form a language which is not compactly represented, so this becomes &quot;easier&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It isn't possible to apply the idea the other way, using $C$, because only some of the languages in the easy class are generated by blowing up languages in the hard class.&lt;/p&gt;&#xA;&#xA;&#xA;" OwnerUserId="109" LastActivityDate="2010-10-24T14:00:49.157" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2446" PostTypeId="1" AcceptedAnswerId="2470" CreationDate="2010-10-24T15:30:42.620" Score="5" ViewCount="494" Body="&lt;p&gt;I'm interested in finding the running time(s) for determining mathematical limits.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For instance, $\lim_{x \to 2} \frac{1}{x} = \frac{1}{2}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'd like to know more about algorithms for determining mathematical limits such as this, and I'm primarily concerned with the runtimes of such algorithms.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If it helps, there are only certain types of limits that I'm concerned with.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Specifically, I'm concerned with limits of one variable.  I'm also really only concerned with rational functions of polynomials.  For example, given two polynomials $p(x)$ and $q(x)$, I'm interested in finding the limit $\lim_{x \to 1}\frac{p(x)}{q(x)}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is additional information that should greatly help.  I only really want to find the limit as $x$ approaches 1.  Further, the limit itself is bounded $-O(2^n) \leq \lim_{x \to 1} \leq O(2^n)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The function $p/q$ itself is actually a description of a polynomial with powers at most $O(2^n)$, and coefficients $c_i \in {-1, 0, 1}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This may not be the best method, but I'm essentially trying to sum the coefficients of a polynomial.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;An Additional Interest&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I'm also interested in expanding the problem to include limits of rational functions of multiple polynomials, i.e. polynomials $p_i(x)$ and $q_j(x)$ to find:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\lim_{x \to 1}\frac{\prod_{i=0}^m{p_i(x)}}{\prod_{j=0}^n{q_j(x)}}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that the polynomials $p_i(x)$ and $q_j(x)$ are very sparse in this representation, consisting of no more than 2 terms.&lt;/p&gt;&#xA;" OwnerUserId="1549" LastEditorUserId="186" LastEditDate="2010-10-24T22:07:14.703" LastActivityDate="2010-10-26T03:56:44.560" Title="What is the running time of taking a limit?" Tags="&lt;cc.complexity-theory&gt;&lt;lower-bounds&gt;&lt;time-complexity&gt;&lt;upper-bounds&gt;&lt;polynomials&gt;" AnswerCount="1" CommentCount="12" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2447" PostTypeId="1" AcceptedAnswerId="2739" CreationDate="2010-10-24T20:57:54.503" Score="34" ViewCount="1978" Body="&lt;p&gt;Minimum bandwidth problem is to a find an ordering of graph nodes on integer line that minimizes the largest distance between any two adjacent nodes. A $k$-caterpillar is a tree formed from main path by growing edge-disjoint paths of length at most $k$ from its nodes ($k$ is called the hair length). Minimum Bandwidth problem is in $P$ for 2-caterpillars but it is $NP$-complete for 3-caterpillars. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is a very interesting fact, Minimum bandwidth problem is solvable in polynomial time for 1-caterpillars (hair length at most one) but it is $NP$-complete for cyclic 1-caterpillars (in cyclic caterpillar, one edge is added to connect the endpoints of the main path). So, the addition of exactly one edge makes the problem $NP$-complete.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What is the most striking example of problem hardness jump where a small variation of input instance causes a complexity jump from polynomial-time solvability to $NP$-completeness?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="495" LastActivityDate="2019-01-03T18:34:14.213" Title="Hardness jumps in computational complexity?" Tags="&lt;cc.complexity-theory&gt;" AnswerCount="17" CommentCount="5" FavoriteCount="19" ContentLicense="CC BY-SA 2.5" />
  <row Id="2448" PostTypeId="2" ParentId="2447" CreationDate="2010-10-24T21:32:49.123" Score="12" Body="&lt;p&gt;er ... i'm sure you're looking for less trivial examples... but I would like to point out that there's something special about the number $2$ vs $3$. $2-SAT$ to $3-SAT$, $2-COL$ vs $3-COL$, etc. Intuitively, I've always figured it was because a node with at most 2 edges can form at most a line, but a node with 3 edges can form a tree, when we move from 2-3 we get a combinatorial explosion. &lt;/p&gt;&#xA;" OwnerUserId="1892" LastActivityDate="2010-10-24T21:32:49.123" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="2449" PostTypeId="2" ParentId="2447" CreationDate="2010-10-24T22:18:48.317" Score="19" Body="&lt;p&gt;I am not sure I would go along with your characterization that adding a single edge to the input makes the problem NP-complete, since one is actually allowing an edge to be added to every one of the infinitely many input instances.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is an example of a problem which shows a sharp dichotomy along the lines you suggest.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem of determining whether there is a graph homomorphism from the input graph G to a fixed template graph H is in P when H is a graph with a self-loop or is a bipartite loopless graph.  When H is not bipartite (this can often be achieved by adding a single edge) then the problem becomes NP-complete.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;P. Hell and J. Nešetřil, &lt;em&gt;Complexity of H-colouring&lt;/em&gt;, J. Comb. Th. B &lt;strong&gt;48&lt;/strong&gt; 92–110, 1990. doi: &lt;a href=&quot;http://dx.doi.org/10.1016/0095-8956%2890%2990132-J&quot;&gt;10.1016/0095-8956(90)90132-J&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The key here is that 2-colouring is in P (this corresponds to a homomorphism to $P_3$, the path on 3 vertices), while 3-colouring is NP-complete (this corresponds to a homomorphism to $K_3$, the triangle).&lt;/p&gt;&#xA;" OwnerUserId="109" LastActivityDate="2010-10-24T22:18:48.317" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2450" PostTypeId="2" ParentId="2447" CreationDate="2010-10-24T23:25:41.720" Score="13" Body="&lt;p&gt;I think that it does not make much sense to talk about instances. We can talk about two distribution of input instances with different difficulties, but it would be more interesting if there is relation between the distribution, or between instances in the distributions. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;We can consider a parameterized family of distributions, and then talk about what happens when we change the parameter. You might be interested in what is called the &lt;em&gt;threshold phenomenon&lt;/em&gt;, &quot;where a system undergoes a swift qualitative change as a result of a small change in a parameter ...&quot;. Take a look at this survey: &lt;a href=&quot;http://www.ma.huji.ac.il/~ehudf/&quot;&gt;Ehud Friedgut&lt;/a&gt;, &quot;&lt;a href=&quot;http://www.ma.huji.ac.il/~ehudf/docs/survey.ps&quot;&gt;Hunting for Sharp Thresholds&lt;/a&gt;&quot;, Random Structures Algorithms 26, 2005.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think one of the most striking and beautiful examples is the random k-SAT with clause density $\Delta$, the phase transition is really amazing.&lt;/p&gt;&#xA;" OwnerUserId="186" LastActivityDate="2010-10-24T23:25:41.720" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2451" PostTypeId="2" ParentId="2434" CreationDate="2010-10-25T00:15:44.127" Score="5" Body="&lt;p&gt;To make it more intuitive lets look at what is going on more abstractly!&lt;/p&gt;&#xA;&lt;p&gt;We have two transformations, one for inputs and one for problems.I will denote both of them by &lt;span class=&quot;math-container&quot;&gt;$pad$&lt;/span&gt;, it will be clear from the context when it is the first one and when it is the second one.&lt;/p&gt;&#xA;&lt;p&gt;These two transformations have the following property:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;I. for all problems &lt;span class=&quot;math-container&quot;&gt;$A\subseteq \Sigma^{ * } $&lt;/span&gt;, for all inputs &lt;span class=&quot;math-container&quot;&gt;$x\in\Sigma^{ * } $&lt;/span&gt;:&lt;/p&gt;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$pad(x) \in pad(A)$&lt;/span&gt; iff &lt;span class=&quot;math-container&quot;&gt;$x \in A$&lt;/span&gt;,&lt;/p&gt;&#xA;&lt;p&gt;II. if &lt;span class=&quot;math-container&quot;&gt;$A$&lt;/span&gt; is in &lt;span class=&quot;math-container&quot;&gt;$EXP$&lt;/span&gt; (&lt;span class=&quot;math-container&quot;&gt;$NEXP$&lt;/span&gt;), then &lt;span class=&quot;math-container&quot;&gt;$pad(A)$&lt;/span&gt; is in &lt;span class=&quot;math-container&quot;&gt;$P$&lt;/span&gt; (&lt;span class=&quot;math-container&quot;&gt;$NP$&lt;/span&gt;).&lt;/p&gt;&#xA;&lt;p&gt;III. the transformation for inputs is in complexity class &lt;span class=&quot;math-container&quot;&gt;$EXP$&lt;/span&gt;,&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;It is clear that the transformations for padding have these properties.&lt;/p&gt;&#xA;&lt;p&gt;Now, the reason that we don't know how to do the same thing in the reverse direction is that we don't have transformations like padding in the reverse direction (when we exchange &lt;span class=&quot;math-container&quot;&gt;$EXP$&lt;/span&gt; with &lt;span class=&quot;math-container&quot;&gt;$P$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$NEXP$&lt;/span&gt; with &lt;span class=&quot;math-container&quot;&gt;$NP$&lt;/span&gt;). So the question is why?&lt;/p&gt;&#xA;&lt;p&gt;I don't have a formal argument why there are not such transformations at the moment, but intuitively what András Salamon said is correct. It is easy to increase the size of inputs, but it is not clear how they can be compressed?&lt;/p&gt;&#xA;&lt;p&gt;Another way to understand it is to think about in the following way. Assume that &lt;span class=&quot;math-container&quot;&gt;$P=NP$&lt;/span&gt;, and we want to solve an &lt;span class=&quot;math-container&quot;&gt;$NEXP=NTime(2^{n^{O(1)}})$&lt;/span&gt; problem. We are given an input &lt;span class=&quot;math-container&quot;&gt;$x$&lt;/span&gt; of length &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt;, we &lt;em&gt;think&lt;/em&gt; of it as an input of length &lt;span class=&quot;math-container&quot;&gt;$N=2^{n^{O(1)}}$&lt;/span&gt;:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$NEXP(n) = NTime(2^{n^{O(1)}}) = NTime(N) \subseteq NP(N) \subseteq P(N) = Time(N^{O(1)}) = Time(2^{n^{O(1)}}) = EXP(n)$&lt;/span&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="186" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2010-10-25T04:48:50.280" CommentCount="9" ContentLicense="CC BY-SA 2.5" />
  <row Id="2452" PostTypeId="1" AcceptedAnswerId="2454" CreationDate="2010-10-25T05:50:27.393" Score="1" ViewCount="3508" Body="&lt;p&gt;In our CS class, we have a question about the computational power of PDA's (Push Down Automaton).  A 0-PDA (PDA with no stacks) is equivalent to an NFA (Non-deteministic Finite Automaton), while a 1-PDA (the standard PDA) is equivalent to a CFG (Context Free Grammar).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, a 2-PDA (PDA with 2 stacks) is more powerful (recognises more languages) than a 1-PDA, because it is not limited to pushing and popping on 1 stack only, but can also use the second stack.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem that I have is that I don't know how to &lt;em&gt;prove&lt;/em&gt; the greater power of the 2-PDA.  My first thought was that a 2-PDA would be equivalent to a Turing Machine, but then I realised that it still wouldn't &lt;em&gt;quite&lt;/em&gt; provide arbitrary access to the stack.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;How would I go about proving that a 2-PDA is more powerful than a 1-PDA?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Could someone with enough rep please tag this as &lt;kbd&gt;homework&lt;/kbd&gt;&lt;kbd&gt;pda&lt;/kbd&gt; - thanks)&lt;/p&gt;&#xA;" OwnerUserId="648" LastEditorUserId="186" LastEditDate="2010-10-25T07:54:51.217" LastActivityDate="2010-10-25T07:54:51.217" Title="Computational power of a 2-PDA" Tags="&lt;tag-removed&gt;" AnswerCount="1" CommentCount="17" FavoriteCount="1" ClosedDate="2010-10-25T07:41:15.047" ContentLicense="CC BY-SA 2.5" />
  <row Id="2453" PostTypeId="2" ParentId="2434" CreationDate="2010-10-25T06:00:26.243" Score="30" Body="&lt;p&gt;I think the best way to get intuition for this issue is to think of what the complete problems for exponential time classes are.  For example, the complete problems for NE are the standard NP-complete problems on succinctly describable inputs, e.g., given a circuit that describes the adjacency matrix of a graph, is the graph 3-colorable?  Then the problem of&#xA;whether E=NE becomes equivalent to whether NP problems are solvable in polynomial time on the&#xA;succinctly describable inputs, e.g., those with small effective Kolmogorov complexity.   This is obviously no stronger than whether they are solvable on all inputs.  The larger the time bound, the smaller the Kolmogorov complexity of the relevant inputs, so collapses for larger time bounds are in effect algorithms that work on smaller subsets of inputs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Russell Impagliazzo&lt;/p&gt;&#xA;" OwnerUserId="332" LastActivityDate="2010-10-25T06:00:26.243" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2454" PostTypeId="2" ParentId="2452" CreationDate="2010-10-25T07:00:42.540" Score="3" Body="&lt;p&gt;First: Student's heuristics. At your level, what &lt;em&gt;can&lt;/em&gt; you prove? Equivalence with TM or PDA should work by simulation. Equivalence to LBA might be slightly harder. Anything in between is certainly harder. So start with the easy inclusions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can see very quickly that languages like $a^nb^nc^n$ that are not context-free can be accepted by a 2-PDA. So you are certainly stronger than PDA.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Next in line is TM. Of course, every 2-PDA can be simulated by a 2-TM which can in turn be simulated by a TM. Turns out that the other direction works out, too. Take a TM and simulate it by a 2-PDA. You can keep the state graph but have to translate reading/writing/moving to reading$^2$/writing$^2$. What can simulate the TM's head? Also, take care what happens if the TM accesses new fields.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can you figure it out now?&lt;/p&gt;&#xA;" OwnerUserId="1546" LastActivityDate="2010-10-25T07:00:42.540" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2455" PostTypeId="2" ParentId="2307" CreationDate="2010-10-25T09:34:45.133" Score="3" Body="&lt;p&gt;Here is a suggestion for how to show it's NP hard. I don't know if this works or not. First, consider the same problem on multigraphs. NP hardness may be easier to prove there. Try reducing from cubic MAX CUT which is NP hard even to approximate (Berman and Karpinski &quot;On Some Tighter Inapproximability Results&quot;). Divide each edge into two and at each of the new degree-2 vertices attach a vertex with self-loop. Does your maximum partition correspond to a maximum cut?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;--&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is a bit more explanation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(1)&#xA;The problem of maximizing (number of sources+number of sinks) over all orientations of a cubic graph is related to MAXCUT by some linear function. This requires showing some corersspondence between maximal cuts and sources-and-sinks-maximal orientations. In one direction, in a maximum cut (U,V), we can orient all edge from U to V. The internal edges E(U) form a matching, so these can be oriented arbitrarily and similarly for E(V), and the total number of sources and sinks is some linear function of the size of the cut. In the other direction, given a sources-and-sinks-maximal orientation, the partition U=vertices of in-degree 0 or 1, V=vertices of in-degree 2 or 3 gives a cut.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(2)&#xA;In the edge-bisecting transformation I described above, in an optimal configuration each loop is coloured the same as the edge next to it, and w.l.o.g that edge is coloured the same as the some other (non-loop) edge next to that. So each bisected edge has one colour coming from its attached loop and one other colour. This corresponds to an orientation and (1) applies.&lt;/p&gt;&#xA;" OwnerUserId="636" LastEditorUserId="636" LastEditDate="2010-11-02T22:03:19.853" LastActivityDate="2010-11-02T22:03:19.853" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2456" PostTypeId="1" AcceptedAnswerId="2458" CreationDate="2010-10-25T10:54:30.983" Score="13" ViewCount="261" Body="&lt;p&gt;The gossiping problem in distributed systems is the following. We have a graph $G$ with $n$ vertices. Each vertex $v$ has a message $m_v$ that must be send to all nodes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, my question is in the context of the ad-hoc network model (we assume that a node does not have any prior knowledge about the topology of the network, its in and out degrees, and the set of its neighbours. In fact the only knowledge of each node is its own identifier and the total number of nodes).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I also assume that all nodes have access to a global clock and work synchronously in discrete time steps called rounds.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The complexity of an algorithm in this context is the number of rounds needed for completion.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I remember that there exists an algorithm that solves the gossiping problem in $O(n \log ^2 n)$ rounds with high probability. But I cannot find the reference anymore, and I am wondering if there are more recent results on that matter.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;edit following the judicious comment: at each round a node can transmit the message to all its neighbours and can receive the messages from them. A node will receive a message at a given round if and only if exactly one of its neighbours transmits at that round. Otherwise a collision occurs and none of the messages is received by the node.&lt;/p&gt;&#xA;" OwnerUserId="76" LastEditorUserId="76" LastEditDate="2010-10-25T12:40:48.620" LastActivityDate="2010-10-25T22:18:41.397" Title="complexity of randomized gossiping" Tags="&lt;reference-request&gt;&lt;dc.distributed-comp&gt;" AnswerCount="2" CommentCount="5" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="2457" PostTypeId="2" ParentId="2429" CreationDate="2010-10-25T12:00:06.377" Score="7" Body="&lt;p&gt;Just to add to Peter's answer: the unknotting problem for knots in the three-sphere was shown to be in NP by Hass, Lagarias, and Pippenger.  Ian Agol has proven that the unknotting problem is in co-NP (but see his &lt;a href=&quot;https://mathoverflow.net/questions/31821/problems-known-to-be-in-both-np-and-conp-but-not-known-to-be-in-p&quot;&gt;comments&lt;/a&gt; on MathOverflow).  It feels, at least to me, that the three-sphere recognition problem is much more akin to unknotting than to knot genus in general three-manifolds.  (Because it is certified by the presence of a positive Euler characteristic surface.)  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thus I would wager that three-sphere recognition is also in co-NP. A step in this direction would be to show that recognition of irreducible, toroidal manifolds is in NP, directly following Agol.  Slightly stronger would be to show that Haken manifold recognition lies in NP.  Separating the three-sphere from the irreducible, non-toroidal manifolds is more difficult.  But perhaps the thing to do there is use Geometrization - if the manifold is closed, orientable, irreducible and atoroidal then it has one of the eight Thurston geometries.  Perhaps it is easy to certify all of the geometric but non-hyperbolic manifolds, say via almost normal Heegaard splittings.  (Although the complexity bounds of Hass, Lagarias, and Pippenger would have to be replaced, somehow.)  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Certifying that a three-manifold $M$ has a hyperbolic structure sounds harder.  Two ideas suggest themselves:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Following ideas of Gabai (and of course Thurston) one might look for the correct simple closed curve to drill out of $M$, to get a manifold $N$ with torus boundary.  Certifying the hyperbolic structure of $N$ is much easier and one might even be able to record enough information to prove that filling $N$ to get $M$ back doesn't destroy hyperbolicity.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A much less reasonable approach is to prove the virtual Haken conjecture in such a way that you either a) get polynomial-sized bounds on the degree of the cover or b) learn something incredibly useful about $M$. &lt;/p&gt;&#xA;" OwnerUserId="1905" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.530" LastActivityDate="2010-10-25T12:00:06.377" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2458" PostTypeId="2" ParentId="2456" CreationDate="2010-10-25T14:48:31.447" Score="11" Body="&lt;p&gt;I think the reference you are looking for is the &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.79.317&amp;amp;rep=rep1&amp;amp;type=pdf&quot;&gt;paper&lt;/a&gt; &quot;Broadcasting algorithms in radio networks with unknown topology&quot; by Czumaj and Rytter.  It seems &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.137.1296&amp;amp;rep=rep1&amp;amp;type=pdf&quot;&gt;this paper&lt;/a&gt; makes some improvements, but I think it depends on the specifics of the model.&lt;/p&gt;&#xA;" OwnerUserId="123" LastActivityDate="2010-10-25T14:48:31.447" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2459" PostTypeId="2" ParentId="2456" CreationDate="2010-10-25T15:08:53.540" Score="0" Body="&lt;p&gt;How about the following algorithm: at round number $t$ every node transmits with probability $2^{-(t \mod \log n)}$, and chooses the message to transmit uniformly at random from among the messages it has received so far. Might that work?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit: never mind, this doesn't work. On the complete graph all the nodes would end up mostly retransmitting the same popular messages and many messages would never be received by any node other than the source. Maybe it would help if the nodes prefer to transmit messages they've received less frequently?&lt;/p&gt;&#xA;" OwnerUserId="1522" LastEditorUserId="1522" LastEditDate="2010-10-25T22:18:41.397" LastActivityDate="2010-10-25T22:18:41.397" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2460" PostTypeId="2" ParentId="2135" CreationDate="2010-10-25T15:14:49.923" Score="5" Body="&lt;p&gt;There is a lot that needs to be clarified about the model (ping) in which we want to evaluate. What are the processes IDs ? Is it IPs (IP network) ? Is the IPs permanent ? Can the IP change ? Are they connected point wise or there is a router/switch ? Can the switch fail ? Are the connections trusted or can a connection fail between two correct processes ? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'll give counter examples assuming the TCP/IP model, where there are not permanent IPs (DHCP based IP configuration).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Strong completeness&lt;/strong&gt; requires that every process that crashes is permanently suspected by &lt;em&gt;every&lt;/em&gt; correct process. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Counter-example:&lt;/strong&gt; Take process A and B, with IPs IP1 and IP2. Process A crashes permanently, releasing the IP. Process B makes a brief disconnection and acquires a new IP, which happen to be IP1. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Solution:&lt;/strong&gt; We must assume IPs are strictly bound to each process, and can never change. Unless you identify processes with other application layer unique IDs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Weak accuracy&lt;/strong&gt; requires some correct processes are never suspected. Actually, if the switch/router fails for a few minutes, every process might suspect all other processes, even if all of them are correct.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The ping is delusive  because it is on the IP level. To avoid these complexities and be able to reduce the needed assumptions to a minimum, think about some level of abstraction, like an application-level failure detector. However if you will really get down to the details, there is a lot to consider in the physical layer (wifi, ethernet) and on other layers as well (TCP, UDP, NAT) etc.&lt;/p&gt;&#xA;" OwnerUserId="201" LastActivityDate="2010-10-25T15:14:49.923" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2461" PostTypeId="1" AcceptedAnswerId="2499" CreationDate="2010-10-25T15:49:38.013" Score="35" ViewCount="1532" Body="&lt;p&gt;We know that if you have a PSPACE machine, it's powerful enough to give an interactive proof of any level the polynomial hierarchy. (And if I remember right, all you need is #P.) But suppose you want to give an interactive proof of membership in a $\Sigma_2$ language. Is it enough to be able to solve problems in $\Sigma_2$? Is solving problems in $\Sigma_5$ adequate? More generally, if you can solve $\Sigma_k$ or $\Pi_k$ problems, for what $\Sigma_\ell$ is this sufficient to generate interactive proofs of all languates in $\Sigma_\ell$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This question was inspired by &lt;a href=&quot;https://cstheory.stackexchange.com/questions/696/mip-with-efficient-provers&quot;&gt;this cstheory stackexchange question&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="1677" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2010-10-27T23:34:38.047" Title="Interactive proofs for levels of the polynomial hierarchy" Tags="&lt;cc.complexity-theory&gt;&lt;interactive-proofs&gt;" AnswerCount="4" CommentCount="7" FavoriteCount="16" ContentLicense="CC BY-SA 2.5" />
  <row Id="2463" PostTypeId="2" ParentId="2447" CreationDate="2010-10-25T17:11:01.197" Score="24" Body="&lt;p&gt;This answers the question asked in the question-title, but not the one asked in the question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A shocking example of jump-in-hardness arises from the question, &quot;How many satisfying assignments does a planar formula have, modulo $n$?&quot;  This was widely thought to be #P-hard, and it is for &quot;most&quot; values of $n$, but if $n$ is a Mersenne integer (for example $n=7$, because 7 is of form $2^3-1$), then the answer can be computed in polynomial time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This was first discovered by Valiant, in his groundbreaking Holographic Algorithms paper.&lt;/p&gt;&#xA;" OwnerUserId="30" LastActivityDate="2010-10-25T17:11:01.197" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="2464" PostTypeId="1" AcceptedAnswerId="2465" CreationDate="2010-10-25T21:40:11.367" Score="6" ViewCount="360" Body="&lt;p&gt;I'm not sure whether this question is completely on-topic, since it is a physics-related question. But I'll ask anyway and apologize if I'm off-topic.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In &lt;a href=&quot;http://arxiv.org/abs/quant-ph/0405098&quot;&gt;Adiabatic Quantum Computation is Equivalent to Standard&#xA;Quantum Computation&lt;/a&gt; the autors mention a tradeoff between runtime and energy:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&quot;Observe that we have chosen our definition of running time to be $T · \max_s \lVert H(s)\rVert$ and not T.&#xA;Notice that if the Hamiltonians are multiplied by some factor, this divides the bound of Equation&#xA;2, and hence T, by the same factor. Hence, if the running time is defined to be T one would be able&#xA;to achieve arbitrarily small running times, by multiplying the Hamiltonians by large factors. Our&#xA;definition, on the other hand, is invariant under a multiplication of the Hamiltonian by an overall&#xA;factor, and so takes into account the known physical trade-off between time and energy.5&lt;/p&gt;&#xA;&#xA;&lt;p&gt;5This trade-off between time and the norm of the Hamiltonian (namely, the energy), is manifested in Schrödinger’s&#xA;equation whose solution does not change if time is divided by some factor and at the same time the Hamiltonian is&#xA;multiplied by the same factor.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But if I understand correctly, adiabatic quantum computation is completely reversible: by inverting the direction of time the system evolves back from the final state to the initial state.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Moreover, any adiabatic quantum computation process can be implemented (with arbitrary precision) in the conventional quantum circuit model, where all the gates are unitary and thus reversible.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;According to Landauer's principle, reversible computation could be, in principle, executed without any energy consumption.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So my question is, what exactly the time-energy tradeoff in the choice of Hamiltonians for adiabatic quantum computation means?&lt;/p&gt;&#xA;" OwnerUserId="1749" LastActivityDate="2010-10-26T01:14:18.940" Title="Energy cost of adiabatic quantum computation" Tags="&lt;quantum-computing&gt;&lt;physics&gt;" AnswerCount="2" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2465" PostTypeId="2" ParentId="2464" CreationDate="2010-10-25T22:04:17.940" Score="6" Body="&lt;p&gt;Basically, the computation is reversible, so you are not actually using energy. However, the rate at which a computation progresses is generally proportional to the energy gap within the system. In the case of adiabatic quantum computation, the rate at which you can transition between ground states of the initial and final system is determined by the energy gap between the ground state and the low lying excited levels of the system. Thus the energy gap in the Hamiltonian (the total energy operator) is what determines the rate of computation, and so scaling up the energy levels involved allows the computation to be performed more quickly, even though the process does not actually consume the energy.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You might be interested in looking at the &lt;a href=&quot;http://en.wikipedia.org/wiki/Margolus%E2%80%93Levitin_theorem&quot;&gt;Margolus-Levitin&lt;/a&gt; theorem, which gives limits for the rate of computation by imposing a lower bound on the time taken for a system to transition to an orthogonal state in terms of the energy gap present in the system. This applies more generally than simply to adiabatic quantum computing.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In general, you tend to get a linear trade-off between energy scale and time. One way to see where this comes from is simply to think about the case of a constant Hamiltonian. In that case, the time evolution operator is $e^{-iHt}$. Clearly multiplying $H$ by some constant $k$ and dividing $t$ by $k$ leads to the same operator, and hence the same evolution of the system. You can do this more generally, with a potentially time dependent Hamiltonian by looking at the Schroedinger equation: $i \hbar \frac{\partial}{\partial t} \mid \Psi \rangle = H \mid \Psi \rangle$. Replacing $H$ with $kH$ and $t$ with $\frac{t}{k}$ we obtain the same equation.&lt;/p&gt;&#xA;" OwnerUserId="204" LastEditorUserId="204" LastEditDate="2010-10-25T22:26:29.977" LastActivityDate="2010-10-25T22:26:29.977" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="2466" PostTypeId="2" ParentId="2464" CreationDate="2010-10-26T00:56:53.117" Score="2" Body="&lt;p&gt;I tend to think of energy of the Hamiltonian as setting the time scale for what we count as 'steps' of the computation. An analogue in standard complexity would be on deciding what we count as a single operation. Technically we can count any $O(1)$ sub-routine as a single operation, but what we decide sets the exact linear factors we will see in our runtime. Same with the norm of the Hamiltonian in adiabatic computation (and the specific universal finite gate set in quantum (or classical) circuits -- or changing from bits to trits in register model). The above approach of course produces only constant factors that don't matter.&lt;/p&gt;&#xA;" OwnerUserId="1037" LastEditorUserId="1037" LastEditDate="2010-10-26T01:14:18.940" LastActivityDate="2010-10-26T01:14:18.940" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="2467" PostTypeId="5" CreationDate="2010-10-26T00:59:15.143" Score="0" Body="&lt;p&gt;Online learning is concerned with machine learning problems for which examples present themselves one at a time, and the learner needs to classify each on the spot before moving on to the next example.&lt;/p&gt;&#xA;" OwnerUserId="123" LastEditorUserId="123" LastEditDate="2010-10-26T01:42:22.910" LastActivityDate="2010-10-26T01:42:22.910" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2468" PostTypeId="4" CreationDate="2010-10-26T00:59:15.143" Score="0" Body="" OwnerUserId="123" LastEditorUserId="123" LastEditDate="2010-10-26T00:59:15.143" LastActivityDate="2010-10-26T00:59:15.143" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2470" PostTypeId="2" ParentId="2446" CreationDate="2010-10-26T03:50:57.900" Score="11" Body="&lt;p&gt;I don't have time to go into detail now, but here's a quick sketch of how to solve it. Let's assume that all of your polynomials look like $x^k-1$. What you have to do is use the identity $x^k-1 = (x-1)(1+x+x^2+\ldots + x^{k-1})$. You are starting with the function $\frac{\Pi_{i=1}^n (x^{k_i}-1)}{\Pi_{i=1}^m (x^{\ell_i}-1)}$. Now, factor out all the $(x-1)$ terms and take the limit. If $n &gt;m$, you get $0$. If $n \lt m$, you get $\infty$. Otherwise, the $x-1$ terms cancel out, and what you're left with is $\frac{\Pi_{i=1}^nk_i}{\Pi_{i=1}^n\ell_i}$.&lt;/p&gt;&#xA;" OwnerUserId="1677" LastEditorUserId="1677" LastEditDate="2010-10-26T03:56:44.560" LastActivityDate="2010-10-26T03:56:44.560" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2472" PostTypeId="1" AcceptedAnswerId="2475" CreationDate="2010-10-26T07:51:56.953" Score="5" ViewCount="730" Body="&lt;p&gt;Need some example graphs which are not Hamiltonian, i.e, does not admit any Hamiltonian cycle,  but which have Hamiltonian path. It has Hamiltonian paths between exactly 4 pair of vertices. I have identified one such group of graphs. Would like to see more such examples.[Redundant information deleted; thanks to Sadeq Dousti for pointing it out]&lt;/p&gt;&#xA;" OwnerUserId="1917" LastEditorUserId="186" LastEditDate="2010-10-27T02:14:42.483" LastActivityDate="2010-10-27T02:14:42.483" Title="Non-hamiltonian Graphs with unique hamiltonian path between exactly 4 pair of vertices" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2473" PostTypeId="2" ParentId="2447" CreationDate="2010-10-26T09:43:27.640" Score="6" Body="&lt;p&gt;In a similar vein: Permanent vs Determinant.&lt;/p&gt;&#xA;" OwnerUserId="547" LastActivityDate="2010-10-26T09:43:27.640" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="2474" PostTypeId="2" ParentId="2472" CreationDate="2010-10-26T10:09:27.527" Score="5" Body="&lt;p&gt;Here's a trivial example class [and now, also generalized slightly in view of Esha's comment]: graphs G(h,k,n) constructed from a path of length n, by adjoining a cycle of length h and a cycle of length k to the two ends. If the two cycles are&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;A&lt;sub&gt;1&lt;/sub&gt;&amp;nbsp;&amp;ndash;&amp;nbsp;P&lt;sub&gt;0&lt;/sub&gt;&amp;nbsp;&amp;ndash;&amp;nbsp;A&lt;sub&gt;2&lt;/sub&gt;&amp;nbsp;&amp;ndash;&amp;nbsp;...&amp;nbsp;&amp;ndash;&amp;nbsp;A&lt;sub&gt;h&amp;minus;1&lt;/sub&gt;&amp;nbsp;&amp;ndash;&amp;nbsp;A&lt;sub&gt;1&lt;/sub&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;and&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;B&lt;sub&gt;1&lt;/sub&gt;&amp;nbsp;&amp;ndash;&amp;nbsp;P&lt;sub&gt;n&lt;/sub&gt;&amp;nbsp;&amp;ndash;&amp;nbsp;B&lt;sub&gt;2&lt;/sub&gt;&amp;nbsp;&amp;ndash;&amp;nbsp;...&amp;nbsp;&amp;ndash;&amp;nbsp;B&lt;sub&gt;k&amp;minus;1&lt;/sub&gt;&amp;nbsp;&amp;ndash;&amp;nbsp;B&lt;sub&gt;1&lt;/sub&gt;&amp;nbsp;,&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;connected by the path&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;P&lt;sub&gt;0&lt;/sub&gt;&amp;nbsp;&amp;ndash;&amp;nbsp;P&lt;sub&gt;1&lt;/sub&gt;&amp;nbsp;&amp;ndash;&amp;nbsp;...&amp;nbsp;&amp;ndash;&amp;nbsp;P&lt;sub&gt;n&lt;/sub&gt;&amp;nbsp;,&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;then there are Hamiltonian paths between each vertex pair {A&lt;sub&gt;a&lt;/sub&gt;&amp;nbsp;,&amp;nbsp;B&lt;sub&gt;b&lt;/sub&gt;} for a,b&amp;nbsp;&amp;isin;&amp;nbsp;{1,2} but for no others.&lt;/p&gt;&#xA;" OwnerUserId="248" LastEditorUserId="248" LastEditDate="2010-10-26T12:53:25.293" LastActivityDate="2010-10-26T12:53:25.293" CommentCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="2475" PostTypeId="2" ParentId="2472" CreationDate="2010-10-26T11:34:56.173" Score="5" Body="&lt;p&gt;The idea of the constructions in this answer are from Niel de Beaudrap's answer.&lt;/p&gt;&#xA;&lt;p&gt;Assume that &lt;span class=&quot;math-container&quot;&gt;$H$&lt;/span&gt; is an arbitrary graph with a unique Hamiltonian path between &lt;span class=&quot;math-container&quot;&gt;$v_l$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$v_r$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;h3&gt;Construction I.&lt;/h3&gt;&#xA;&lt;p&gt;Assume that &lt;span class=&quot;math-container&quot;&gt;$G_l$&lt;/span&gt; is a graph, and &lt;span class=&quot;math-container&quot;&gt;$U_l \subseteq V(G_l)$&lt;/span&gt; s.t. there are exactly 2 Hamiltonian paths starting from vertices in &lt;span class=&quot;math-container&quot;&gt;$U_l$&lt;/span&gt;. Similarly for &lt;span class=&quot;math-container&quot;&gt;$G_r$&lt;/span&gt;. Attach &lt;span class=&quot;math-container&quot;&gt;$G_l$&lt;/span&gt; to &lt;span class=&quot;math-container&quot;&gt;$H$&lt;/span&gt; by adding edges between &lt;span class=&quot;math-container&quot;&gt;$v_l$&lt;/span&gt; and vertices in &lt;span class=&quot;math-container&quot;&gt;$U_l$&lt;/span&gt;. Similarly attach &lt;span class=&quot;math-container&quot;&gt;$G_r$&lt;/span&gt; to &lt;span class=&quot;math-container&quot;&gt;$H$&lt;/span&gt; using &lt;span class=&quot;math-container&quot;&gt;$v_r$&lt;/span&gt;. The resulting graph has the required property.&lt;/p&gt;&#xA;&lt;h3&gt;Construction II.&lt;/h3&gt;&#xA;&lt;p&gt;Assume that there is no other Hamiltonian path in &lt;span class=&quot;math-container&quot;&gt;$H$&lt;/span&gt; starting from &lt;span class=&quot;math-container&quot;&gt;$v_l$&lt;/span&gt;, and that &lt;span class=&quot;math-container&quot;&gt;$G$&lt;/span&gt; is a graph, and there are exactly 4 Hamiltonian paths starting from vertices in &lt;span class=&quot;math-container&quot;&gt;$U \subseteq V(G)$&lt;/span&gt;. Attach &lt;span class=&quot;math-container&quot;&gt;$G$&lt;/span&gt; to &lt;span class=&quot;math-container&quot;&gt;$H$&lt;/span&gt; by adding edges between the vertices in &lt;span class=&quot;math-container&quot;&gt;$U$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$v_l$&lt;/span&gt;. The resulting graph has the required property.&lt;/p&gt;&#xA;&lt;p&gt;An example for &lt;span class=&quot;math-container&quot;&gt;$G$&lt;/span&gt; in the second construction is a &lt;span class=&quot;math-container&quot;&gt;$C_{4}$&lt;/span&gt;, taking two non-adjacent vertices as &lt;span class=&quot;math-container&quot;&gt;$U$&lt;/span&gt;.&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2010-10-26T12:06:36.677" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2476" PostTypeId="1" AcceptedAnswerId="2478" CreationDate="2010-10-26T12:06:44.960" Score="11" ViewCount="299" Body="&lt;p&gt;My question is a bit generic, so I'm making up a nice story to justify it. Bear with me if it's not realistic ;-)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Story&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Mr. X, the head of the computer security department at a big company, is a bit paranoid: he requires that all employees change their passwords once a month, in order to minimise the risks of identity or information theft. Moreover, he does not trust the employees to be able to come up with secure passwords. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Therefore, every month, he generates new passwords using a piece of software he wrote, and gives them to the employees so that they can log in again. But besides being paranoid, Mr. X is also a bit lazy: the passwords he generates all follow some pattern, and the algorithm used to allow people to log in only checks that the password &quot;looks okay&quot; according to that rule, and that it is not in the &quot;expired list&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Unfortunately, his pretentious behaviour made a lot of people bitter, and one of them, Mr. Y, decides to prove him that he can crack his passwords. So, one night, he collects a few of them, and starts trying to design a learning algorithm for generating valid passwords, using his personal computer to verify them.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The oracle used by Mr. Y is a bit strange, in that it tells him &quot;the truth, but not the whole truth&quot; (hence the &quot;taciturn&quot; adjective). More precisely: Mr. Y will know that a password is valid when his computer accepts it, but when a password is rejected, Mr. Y will not know whether or not it &lt;em&gt;could have been&lt;/em&gt; valid: the password may be rejected because it does not correspond to some pattern, but it may also be rejected because it used to be valid but no longer is, according to Mr. X's &quot;change once a month&quot;-rule.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, will Mr. Y ever be able to come up with anything in that setting? Or can we claim/prove that Mr. X's passwords are inherently unpredictable (as defined in the PAC learning setting, but maybe this concept exists in other frameworks)?&lt;/p&gt;&#xA;" OwnerUserId="775" LastActivityDate="2011-06-16T17:50:59.047" Title="Learning with &quot;taciturn&quot; oracles" Tags="&lt;lg.learning&gt;" AnswerCount="3" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2477" PostTypeId="1" AcceptedAnswerId="2480" CreationDate="2010-10-26T12:51:09.693" Score="18" ViewCount="717" Body="&lt;p&gt;In proof systems for classical propositional logic if one want to show that a certain formula $\psi$ is not derivable one simply shows that $\neg\psi$ can be derived (although other techniques certainly are possible). Non-derivability follows essentially from the soundness and completeness of the proof system.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Unfortunately for non-classical logics and more exotic proof systems (such as the rules underlying operational semantics) no such direct technique exists. This could be because the non-derivability of $\psi$ does not imply that $\neg\psi$ is derivable, as is the case with intuitionistic logics, or simply that no notion of negation exists.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is given a proof system $(\mathcal{L},\vdash)$, where $\vdash\;\subseteq\mathcal{L}^*\times\mathcal{L}$, (and presumably its semantics), what techniques exist to show non-derivability?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The proof systems of interest could include operational semantics of programming languages, Hoare logics, type systems, a non-classical logic, or inference rules for what-have-you.&lt;/p&gt;&#xA;" OwnerUserId="77" LastEditorUserId="77" LastEditDate="2010-10-26T19:58:31.490" LastActivityDate="2010-10-26T19:58:31.490" Title="Techniques for showing non-derivability in logics and other formal proof systems" Tags="&lt;lo.logic&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="9" ContentLicense="CC BY-SA 2.5" />
  <row Id="2478" PostTypeId="2" ParentId="2476" CreationDate="2010-10-26T13:19:51.150" Score="12" Body="&lt;p&gt;It seems you're trying to PAC learn a language by only seeing positive examples.  This is called &quot;learning from positive examples (only).&quot;  But you also have the power to get some of your own made-up examples labeled: if the oracle were fully truthful, then these would be membership queries, so your model would be known as &quot;learning from positive examples and membership queries.&quot;  In this framework, there are some results - for example, &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=1282867.1282952&quot;&gt;tree languages are learnable&lt;/a&gt; (not secure).  DFA are not due to &lt;a href=&quot;http://www.cis.upenn.edu/~mkearns/papers/crypto.pdf&quot;&gt;crypto hardness results&lt;/a&gt;. (Also see &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=103418.103420&quot;&gt;this&lt;/a&gt;.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course, your setting isn't quite this.  Your membership queries are more limited.  It seems that then the known intractability results would transfer to your setting from the model I described, but the learnability results would leave you with some work to do.  But Mr. X's scheme is secure or not depending on the &quot;pattern&quot; he uses.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also - it seems like a strange requirement to be able to prove &quot;Mr. X's passwords are inherently unpredictable.&quot;  Isn't it usually enough to just be able to generate a new valid password to break such a system? But this seems to be the query to Mr. Y's algorithm itself...&lt;/p&gt;&#xA;" OwnerUserId="123" LastEditorUserId="123" LastEditDate="2010-10-26T14:00:48.637" LastActivityDate="2010-10-26T14:00:48.637" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="2479" PostTypeId="1" AcceptedAnswerId="2493" CreationDate="2010-10-26T14:20:13.673" Score="9" ViewCount="1063" Body="&lt;p&gt;For a given context free language G, we call a nonterminal $A_i$ &lt;em&gt;nullable&lt;/em&gt; if $A_i \rightarrow^* \epsilon$, ie we can derive the empty string from $A_i$ after applying a finite number of productions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is a simple algorithm for determining which nonterminals of a grammar are nullable as can be found &lt;a href=&quot;http://www.math.grin.edu/~rebelsky/Courses/CS362/2004S/Outlines/outline.16.html&quot;&gt;here&lt;/a&gt;:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We start by considering all nonterminals as not nullable. We mark all $A_i$ as nullable if there is a production $A_i \rightarrow \epsilon$. We then loop over all other productions $A_i \rightarrow B_1 B_2 \dots B_k$ excluding productions with a terminal in them, and mark $A_i$ as nullable if all $B_i$ are nullable. We keep doing this loop until we finish a loop without marking any nonterminals as nullable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My problem with this algorithm is that it has a $O(n^2)$ running time: a worst case is for instance $A_1 \rightarrow A_2$, $A_2 \rightarrow A_3$, $A_3 \rightarrow A_4$, ..., $A_{n-1} \rightarrow A_n$, $A_n \rightarrow \epsilon$.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there an algorithm for this problem&#xA;  with a better running time than&#xA;  $O(n^2)$?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="988" LastActivityDate="2010-10-26T23:36:25.597" Title="Quickly finding empty-string producing nonterminals in a CFG" Tags="&lt;ds.algorithms&gt;&lt;fl.formal-languages&gt;&lt;time-complexity&gt;" AnswerCount="1" CommentCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="2480" PostTypeId="2" ParentId="2477" CreationDate="2010-10-26T14:41:16.540" Score="15" Body="&lt;p&gt;IME, the following list is easiest to hardest (of course, it's also least to most powerful):&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;If your system is sound, and you can prove $\lnot \phi$, then you have a nonderivability result, of course.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;If you have a lattice-theoretic semantics for your logic, relative to which all your proof rules are valid, then if the meaning of a proposition is not the topmost element of the lattice, then it is not a derivable proposition. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;If you know that your logic is complete with respect to a class of models, check to see if there is a particular model in that class which invalidates $\phi$. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Sometimes you can get away with a translation into another logic, and show that derivability over here implies a known nonderivability result over there. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;If you have a natural deduction or sequent calculus, check to see if there is a cut-elimination result known, or if you can prove one. If there is, then you can often exploit the subformula property to give simple inductive arguments about nonderivability. (Eg., consistency via cut-elimination is just the statement that there are no cut-free proofs of false, and so if all cuts can be eliminated then there are no inconsistencies.)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;If nothing else works, then you can often show consistency/nonderivability results via a logical relations argument. This is the big gun, which works when nothing else does -- in set-theoretic terms, it boils down to a use of the axiom of Replacement, which lets you show huge sets are well-ordered. (This is why you can use it to prove things like normalization of System F.)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="657" LastActivityDate="2010-10-26T14:41:16.540" CommentCount="6" ContentLicense="CC BY-SA 2.5" />
  <row Id="2484" PostTypeId="1" CreationDate="2010-10-26T17:21:55.163" Score="11" ViewCount="543" Body="&lt;p&gt;This question may have an obvious answer ... but here's the question anyway. Intuitively, it is the following plausible statement - &quot;a machine with a subroutine A which in turn has a subroutine B is the same as a machine with a subroutine A which has access to subroutine B&quot;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;To define this problem formally, I'll use some unconventional notation. When I say $A^B$, I am giving $A$ an oracle for a $B-Complete$ problem. e.g $NP^{NP}=NP^{SAT}=\Sigma_2$. With this &quot;new&quot; notation, it's possible to define $A^{B^C}$, and so on. My question is, is&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;is this a valid way of thinking about oracles?&lt;/li&gt;&#xA;&lt;li&gt;is $(A^B)^C = A^{(B^C)}$&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;For example, $(NP^{NP})^{NP} = \Sigma_2^{NP} = NP^{\Sigma_2}=NP^{({NP}^{NP})}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I can't think of any obvious counterexamples to this rule. Anyone?&lt;/p&gt;&#xA;" OwnerUserId="1892" LastEditorUserId="1800" LastEditDate="2010-10-27T01:35:19.753" LastActivityDate="2010-10-27T06:05:38.090" Title="Are Oracles Associative?" Tags="&lt;complexity-classes&gt;&lt;oracles&gt;" AnswerCount="2" CommentCount="4" FavoriteCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="2485" PostTypeId="2" ParentId="2447" CreationDate="2010-10-26T17:38:17.857" Score="21" Body="&lt;p&gt;INDEPENDENT SET is NP-complete for &lt;a href=&quot;http://graphclasses.org/classes/gc_633.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;(cross,triangle)-free graphs&lt;/a&gt;, but can be solved in linear time for &lt;a href=&quot;http://graphclasses.org/classes/gc_632.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;(chair,triangle)-free graphs&lt;/a&gt;.  (The X-free graphs are those that contain no graph from X as an induced subgraph.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;chair: &lt;img src=&quot;https://i.stack.imgur.com/HXHk2.gif&quot; alt=&quot;image of chair graph from ISGCI&quot;&gt;&#xA; triangle: &lt;img src=&quot;https://i.stack.imgur.com/xJWEO.gif&quot; alt=&quot;image of triangle graph from ISGCI&quot;&gt;&#xA; cross: &lt;img src=&quot;https://i.stack.imgur.com/wRXrg.gif&quot; alt=&quot;image of cross graph from ISGCI&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Notice that the cross is obtained from the chair by adding a single edge.&lt;/p&gt;&#xA;&#xA;&#xA;" OwnerUserId="109" LastEditorUserId="32711" LastEditDate="2018-12-27T16:00:26.783" LastActivityDate="2018-12-27T16:00:26.783" CommentCount="1" ContentLicense="CC BY-SA 4.0" />
  <row Id="2488" PostTypeId="1" CreationDate="2010-10-26T19:33:56.787" Score="3" ViewCount="191" Body="&lt;p&gt;Oracles have been used to prove results in cryptography where all parties have access to a random oracle instantiated with some cryptographic primitive. I am looking for references to papers that have specifically considered applying oracles to decision problems in some specific domain/field. I am just looking for general pointers and do not have a specific domain in mind.&lt;/p&gt;&#xA;" OwnerUserId="698" LastEditorUserId="-1" LastEditDate="2013-04-30T03:39:37.330" LastActivityDate="2013-04-30T03:39:37.330" Title="Reference Request: Oracle applications outside cryptography" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;computability&gt;&lt;oracles&gt;" AnswerCount="0" CommentCount="6" ContentLicense="CC BY-SA 2.5" />
  <row Id="2489" PostTypeId="2" ParentId="79" CreationDate="2010-10-26T21:16:49.390" Score="17" Body="&lt;p&gt;Is a given triangulated 3-manifold a 3-sphere? &lt;a href=&quot;https://cstheory.stackexchange.com/questions/2429/is-the-3-sphere-recognition-problem-np-complete&quot;&gt;From Joe O'Rourke.&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="1677" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2010-10-26T21:16:49.390" CommentCount="0" CommunityOwnedDate="2010-10-26T21:16:49.390" ContentLicense="CC BY-SA 2.5" />
  <row Id="2490" PostTypeId="1" AcceptedAnswerId="2492" CreationDate="2010-10-26T22:15:00.717" Score="1" ViewCount="716" Body="&lt;p&gt;Intuitively, this equation holds because given the second #P oracle can be omitted since we can always use the first one.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More generally, say O is an oracle, is $P^{O}= (P^{O})^{O}$?&lt;/p&gt;&#xA;" OwnerUserId="1925" LastEditorUserId="186" LastEditDate="2010-10-27T02:17:09.670" LastActivityDate="2014-06-23T19:48:35.937" Title="Is $P^{\#P}=(P^{\#P})^{\#P}$ ?" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;oracles&gt;&lt;counting-complexity&gt;" AnswerCount="1" CommentCount="6" ContentLicense="CC BY-SA 2.5" />
  <row Id="2491" PostTypeId="2" ParentId="2484" CreationDate="2010-10-26T22:25:25.593" Score="5" Body="&lt;p&gt;As Venkat told in comments, it seems hard to understand your definition for oracle which aren't defined as some machine characterisation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $A^{(B^C)}$ would be the set of TM in $A$ with an oracle which is a machine in ($B$ with an oracle in a machine in $C$). It is obvious that a machine in $A$ can call $C$: it just calls the machine in $B$ and asks it to carry the message directly to $C$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I guess ${(A^B)}^C$ would be a machine in $A$ that can call an oracle in $C$ or an oracle which is (a machine in $B$ that can call a machine in $C$) so it's exactly the same definition.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, you may want $A^{B,C}$, which is certainly different from the other two (just take $B=C=NP$ and $A=P$, then $A^{B,C}=NP\cup coNP$ whereas $A^{(B^C)}=\Sigma_2^P\cup\Pi_2^p$.&lt;/p&gt;&#xA;" OwnerUserId="328" LastEditorUserId="873" LastEditDate="2010-10-26T23:03:40.437" LastActivityDate="2010-10-26T23:03:40.437" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="2492" PostTypeId="2" ParentId="2490" CreationDate="2010-10-26T23:00:24.270" Score="12" Body="&lt;p&gt;You should probably take a look at &lt;a href=&quot;https://cstheory.stackexchange.com/questions/972/is-npnpnp-npnpnp&quot;&gt;Is $(NP^{NP})^{NP} = NP^{(NP^{NP})}$?&lt;/a&gt; and &lt;a href=&quot;https://cstheory.stackexchange.com/questions/2484/are-oracles-associative/2491#2491&quot;&gt;Are Oracles Associative?&lt;/a&gt;. I don't know any canonical definition of $(A^B)^C$ hence I've got the same problem as Tsuyoshi Ito.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If only the $P$ machine has access to oracle $O$, then yes, ${(P^O)}^O=P^O$ by definition.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If both the $P$ machine and the oracle $O$ can &lt;em&gt;both&lt;/em&gt; query the oracle $O$, then just take $O=EXP$ as a counterexample: $(P^{EXP})^{EXP} = TIME(2^{2^{n^{O(1)}}})$ whereas $P^{EXP}=TIME(2^{n^{O(1)}})$.&lt;/p&gt;&#xA;" OwnerUserId="328" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.743" LastActivityDate="2014-06-23T19:48:35.937" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="2493" PostTypeId="2" ParentId="2479" CreationDate="2010-10-26T23:36:25.597" Score="9" Body="&lt;p&gt;Can't one implement that algorithm in linear time as follows? (Warning I haven't proof-read this too carefully, so bugs are likely.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In what follows whenever I say &quot;production&quot; I mean to include only those that include no terminals.&#xA;Build a list, for each non-terminal, of the productions it appears in. For every production $i$ let $c_i$ count how many distinct non-terminals in the right hand side are currently marked non-nullable. Let $Q$ denote a queue of non-terminals that have been marked nullable but not yet processed. Initialize all $c_i$ to the number of distinct non-terminals in the right hand side of production $i$. Initialize all non-terminals to not nullable. For every non-terminal $Z$ generated by production $i$ with $c_i=0$ add $Z$ to $Q$ and mark $Z$ as nullable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;While $Q$ is non-empty, remove an arbitrary non-terminal $X$ from $Q$ and process it as follows. For every production $j$ that $X$ is in, decrement $c_j$. If a $c_j$ becomes zero, check to see if the corresponding non-terminal $Y$ has been marked nullable already. If not, mark $Y$ nullable and add $Y$ to $Q$.&lt;/p&gt;&#xA;" OwnerUserId="1522" LastActivityDate="2010-10-26T23:36:25.597" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="2494" PostTypeId="2" ParentId="2484" CreationDate="2010-10-26T23:56:34.553" Score="3" Body="&lt;p&gt;I would write the following as a comment, but it was too long to fit in.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let's first describe the meaning of “algorithms in class $\bf C$ with an oracle for a language A.” (The need for this was pointed out by Tsuyoshi Ito). We will use the same convention used by &lt;a href=&quot;http://www.springerlink.com/content/j1562qn040167225/&quot; rel=&quot;nofollow&quot;&gt;Ladner and Lynch&lt;/a&gt;. The convention is well-described by &lt;a href=&quot;http://dx.doi.org/10.1137/0210008&quot; rel=&quot;nofollow&quot;&gt;Bennett &amp;amp; Gill&lt;/a&gt;:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;$\bf{LOGSPACE}^A$ can be defined in various ways, depending on how the query tape is handled. We follow the conventions of Ladner and Lynch [LL]: The query tape is not charged against the space bound, but to keep it from being used as a work tape, the query tape is one-way and write-only, and is erased automatically following each query. (Simon [Si] treats the query tape as one of the work tapes, a two-way read/write tape that is charged against the space bound. The Ladner-Lynch definition is less restrictive and perhaps more natural, since for a random oracle $A \in \bf{LOGSPACE}^A$ holds with probability 1 for [LL] but not for [Si])&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;[LL] R. E. LADNER AND N. A. LYNCH, &lt;em&gt;Relativization of questions about log space computability&lt;/em&gt;, Math. Systems Theory, 10 (1976), pp. 19-32.&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;[Si] J. SIMON, &lt;em&gt;On Some Central Problems in Computational Complexity&lt;/em&gt;, Tech. Rep TR 75-224, Dept. of Computer Science, Cornell University, Ithaca, NY, 1975.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The standard definition of &lt;a href=&quot;http://en.wikipedia.org/wiki/Oracle_machine#Complexity_classes_of_oracle_machines&quot; rel=&quot;nofollow&quot;&gt;complexity classes of oracle machines&lt;/a&gt; is as follows: Let B and C be &lt;strong&gt;complexity classes&lt;/strong&gt;. Then, $X = B^C$ is a legitimate complexity class, defined as $X = \bigcup_{L\in C}{B^L}$. Here, $B^L$ represents the complexity class of decision problems solvable by an algorithm in class B with an oracle for a language L.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since X is a legitimate complexity class, for any complexity class A, we can speak of complexity classes $A^X = A^{(B^C)}$ and $X^A = (B^C)^A$.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;$A^X$ refers to the complexity class of decision problems solvable by an algorithm in class A with an oracle for any language $L' \in X = \bigcup_{L\in C}{B^L}$. In other words, $A ^ X = \bigcup\limits_{L'\in \{\bigcup\limits_{L\in C}{B^L}\}}{A^{L'}}$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;$X^A$ refers to the complexity class of decision problems solvable by an algorithm in class $X = \bigcup_{L\in C}{B^L}$ with an oracle for any language $L' \in A$. In other words, $X ^ A =  \bigcup_{L' \in A} {{X^{L'}}}  = \bigcup_{L' \in A} {{{\left( {\bigcup_{L \in C} {{B^L}} } \right)}^{L'}}}$. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Claim: $(B^{L_1})^{L'} \cup (B^{L_2})^{L'} = (B^{L'})^{L_1 \cup L_2}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;code&gt;Side Note: Since it's 3:00 AM now, I'm too sleepy to check the validity of the above claim! I think it's valid &amp;amp; elementary to prove, yet it's nice to see the actual proof.&lt;/code&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Therefore, one can write $X ^ A = \bigcup_{L' \in A} {{{\left( {\bigcup_{L \in C} {{B^L}} } \right)}^{L'}}} = \bigcup_{L \in C, L' \in A} {{{\left( B^{L'}  \right)}^L}}$.&lt;/p&gt;&#xA;&#xA;&lt;h3&gt;Example&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;Let $\bf X = \bf{P^{NP}}$.&#xA;We know that $\bf{coNP} \subseteq \bf X$. Giving both sides oracle access to $\bf {NP}$, one gets: $\bf{coNP^{NP}} \subseteq \bf{X^{NP}} = (\bf{P^{NP}})^{\bf{NP}}$.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Epilogue&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;A fruitful discussion with Tsuyoshi Ito revealed (for me) that it is not easy to doubly relativize a complexity class. In fact, even defining one seems to be problematic. I should definitely study more to see if any satisfactory definition is ever given. Meanwhile, I appreciate any comment which can be used to solve this problem.&lt;/p&gt;&#xA;" OwnerUserId="873" LastEditorUserId="873" LastEditDate="2010-10-27T06:05:38.090" LastActivityDate="2010-10-27T06:05:38.090" CommentCount="6" ContentLicense="CC BY-SA 2.5" />
  <row Id="2495" PostTypeId="2" ParentId="2323" CreationDate="2010-10-26T23:56:38.407" Score="21" Body="&lt;p&gt;There are two quantum wikis which provide reasonably good list of research groups in QIP: &lt;a href=&quot;http://www.quantiki.org/groups&quot;&gt;Quantiki&lt;/a&gt; and &lt;a href=&quot;http://qwiki.stanford.edu/index.php/Category%3aGroup&quot;&gt;Qwiki&lt;/a&gt;. Quantiki has better European coverage, while Qwiki has better US coverage.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The geographic area I know best is the UK. In the UK there are large theory groups in Oxford, Cambridge, Bristol, University College London and Imperial College, among other places.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In Oxford, where I have spent the last 5 years, QIP research is spread across a number of departments: Physics, Computer Science, Materials Science and Maths. There isn't much of a presence in Maths, although it is Artur Ekert's official affiliation. Computer Science has a growing group that mostly looks at category theory and quantum foundations.  Physics has quite a number of different groups ranging from experiments to theory. Materials science is weirdly the department where I have been based (although I know little about materials) and there is both a &lt;a href=&quot;http://qunat.org&quot;&gt;theory group&lt;/a&gt; there and a fair number of experimentalists. Computer Science, Materials and Physics all have taught quantum computing courses which can be taken towards the course requirement of a DPhil.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hope this is useful.&lt;/p&gt;&#xA;" OwnerUserId="204" LastActivityDate="2010-10-26T23:56:38.407" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="2496" PostTypeId="2" ParentId="1876" CreationDate="2010-10-27T00:52:45.617" Score="5" Body="&lt;p&gt;I have been in contact with one of the authors. He confirmed this was a slip.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As stated above, this does not affect, in any way, any of the results of the paper.&lt;/p&gt;&#xA;" OwnerUserId="43" LastActivityDate="2010-10-27T00:52:45.617" CommentCount="0" CommunityOwnedDate="2010-10-27T00:53:30.733" ContentLicense="CC BY-SA 2.5" />
  <row Id="2497" PostTypeId="2" ParentId="2461" CreationDate="2010-10-27T00:57:22.980" Score="11" Body="&lt;p&gt;Since Suresh has suggested I post my comment as an answer, I will. However, I do not consider this to constitute a full answer as I have not attempted to prove this, and it may turn out to be a dead end.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The original IP=PSPACE proof works by producing an interactive proof for &lt;a href=&quot;http://qwiki.stanford.edu/index.php/Complexity_Garden#qbf&quot;&gt;QBF&lt;/a&gt;. A restricted case of QBF, $\mbox{QBF}_k$ is complete for $\Sigma^P_k$. The same arithmetization strategy will work equally well for $\mbox{QBF}_k$. The computationally difficult part of the provers strategy would seem to be reducing the degree of the polynomials involved and evaluating the QBF formulae arising. It seems likely that this can be achieved using an oracle for the corresponding level of the polynomial hierarchy ($\Sigma^P_k$), by redoing the arithmitization in each round, once the verifier has provided their random choices.&lt;/p&gt;&#xA;" OwnerUserId="204" LastActivityDate="2010-10-27T00:57:22.980" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="2498" PostTypeId="1" AcceptedAnswerId="2501" CreationDate="2010-10-27T01:50:53.283" Score="18" ViewCount="514" Body="&lt;p&gt;As far as I understand, all know deterministic pivot rules for simplex algorithms have specific inputs on which the algorithm requires exponential time (or at least not polynomial) to find the optimum. Let us call these instances 'pathological' since usually (i.e. on most inputs) the simplex algorithm terminates quickly. I remember from my mathematical programming course that the standard examples of pathological instances for specific rules were highly structured. My general question is if this is an artifact of the specific examples, or a feature of pathological instances in general?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Results like &lt;a href=&quot;http://arxiv.org/abs/cs/0111050v7&quot;&gt;smoothed analysis&lt;/a&gt; and the polynomial time algorithm &lt;a href=&quot;http://portal.acm.org/citation.cfm?doid=1132516.1132524&quot;&gt;extending it&lt;/a&gt; rely on perturbing the input --- suggesting that the pathological examples are very special. Hence the intuition that the pathological instances are highly-structured does not seem that far fetched.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does anybody have any specific insights on this? Or some references to existing work? I have been specifically vague about what I mean by 'structured' to try to be as encompassing as possible, but suggestions on how to better pin down 'structured' would also be useful. Any advice or references are greatly appreciated!&lt;/p&gt;&#xA;" OwnerUserId="1037" LastEditorUserId="186" LastEditDate="2010-10-27T02:02:15.503" LastActivityDate="2010-10-27T06:37:53.653" Title="The structure of pathological instances for simplex algorithms" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;linear-programming&gt;&lt;simplex&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="2499" PostTypeId="2" ParentId="2461" CreationDate="2010-10-27T04:50:08.870" Score="27" Body="&lt;p&gt;Even for giving an IP for coNP, using current techniques, one needs to arithmetize, i.e. use counting, which means essentially the full power of #P.  Any weaker prover even for coNP would be very interesting, I think (in particular would imply a new non relativing technique.)&lt;/p&gt;&#xA;" OwnerUserId="42" LastActivityDate="2010-10-27T04:50:08.870" CommentCount="9" ContentLicense="CC BY-SA 2.5" />
  <row Id="2500" PostTypeId="2" ParentId="115" CreationDate="2010-10-27T06:05:57.357" Score="1" Body="&lt;p&gt;Any #P problem, or even #P/poly, can be written as a polynomial: make a circuit out of NAND gates, write these as $1-xy$ where $x$ and $y$ are 0-1 valued integers, and sum over all inputs. This gives a polynomial in $\mathbb{Z}[x_1,...,x_n]$ for inputs of size $n$. The decision problem is testing whether this is 0.&lt;/p&gt;&#xA;" OwnerUserId="636" LastActivityDate="2010-10-27T06:05:57.357" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="2501" PostTypeId="2" ParentId="2498" CreationDate="2010-10-27T06:37:53.653" Score="17" Body="&lt;p&gt;Amenta and Ziegler proved that all currently-known constructions of exponential-time instances for simplex follow a particular structure that they call &quot;deformed products&quot;:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.45.5072&quot;&gt;Deformed Products and Maximal Shadows of Polytopes&lt;/a&gt; by Amenta and Ziegler&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;However, I don't think there's any reason to believe that all bad instances for simplex have this structure.  This is probably just an artifact of the research process:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Klee and Minty found the first exponential-time example.&lt;/li&gt;&#xA;&lt;li&gt;Other researchers looked and Klee and Minty's techniques and extended them to other pivot rules.  They naturally took the path of least resistance and followed the Klee-Minty cube as closely as possible.&lt;/li&gt;&#xA;&lt;li&gt;Once someone finds one bad example for a pivot rule, there's no incentive for people to look for more.  As a result, all the bad examples we know of have a similar structure.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="205" LastActivityDate="2010-10-27T06:37:53.653" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="2502" PostTypeId="2" ParentId="115" CreationDate="2010-10-27T06:37:56.087" Score="3" Body="&lt;p&gt;I'm not sure if I understand the question correctly but let me attempt to shed some light. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Typically, evaluating a polynomial at certain values is easier than identity testing, especially when the representation of the polynomial is via a circuit (some succinct representation). However, there are lots of randomized identity testing algorithms (&lt;a href=&quot;http://en.wikipedia.org/wiki/Schwartz%E2%80%93Zippel_lemma&quot; rel=&quot;nofollow&quot;&gt;Schwarz-Zippel&lt;/a&gt; being the most straight-forward) that works on just evaluations. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In certain special cases, we have 'black-box' tests for identity testing where you can test if a polynomial is zero or not by just evaluating it at a predefined set of points. A simple example of this is if the polynomial is 'sparse' (just has $n^{O(1)}$ monomials). To make the exposition simpler, lets assume the polynomial is multilinear (each monomial is a product of distinct variables). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A natural way to send a multivariate multilinear polynomial to a univariate is via the substitution $x_i \mapsto y^{2^i}$. The resulting polynomial is say $\sum_{i\in S} \alpha_i y^{a_i}$. This could be an exponential degree polynomial of course but let us go modulo $y^r - 1$ for a small range of $r$'s. Now an $r$ would be &quot;bad&quot; for a pair of monomials if $y^a$ and $y^b$ get mapped to the same monomial modulo $y^r - 1$. Or in other words, $r$ divides $a - b$. Thus as long as $r$ does not divide $\prod_{i,j\in S} (a_i - a_j)$, this wouldn't happen. Hence it is sufficient to run over a polynomial range of $r$'s. Thus, it suffices to evaluate the polynomial at some roots of unities and we can figure out of the polynomial is zero or not. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;There has been more progress in black-box identity testing algorithms. Right now, most of then stand at restricted depth 3 circuits (sum of products of sums of variables). (FWIW) Some of this is mentioned in more details in &lt;a href=&quot;http://www.cmi.ac.in/~ramprasad/pubs/thesis.pdf&quot; rel=&quot;nofollow&quot;&gt;Chapter 3 and 4 of my M.Sc thesis&lt;/a&gt;. And there has been further improvements by &lt;a href=&quot;http://www.math.uni-bonn.de/~saxena/papers/quad-rank-bound.pdf&quot; rel=&quot;nofollow&quot;&gt;Saxena and Seshadri&lt;/a&gt; recently as well. &lt;/p&gt;&#xA;" OwnerUserId="877" LastActivityDate="2010-10-27T06:37:56.087" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="2503" PostTypeId="1" AcceptedAnswerId="4685" CreationDate="2010-10-27T09:12:17.210" Score="28" ViewCount="1139" Body="&lt;p&gt;The &lt;a href=&quot;http://graphclasses.org/&quot; rel=&quot;nofollow noreferrer&quot;&gt;ISGCI&lt;/a&gt; lists over 1100 classes of graphs.  For many of these we know whether INDEPENDENT SET can be decided in polynomial time; these are sometimes called &lt;strong&gt;IS-easy classes&lt;/strong&gt;.  I would like to compile a list of &lt;em&gt;maximal&lt;/em&gt; IS-easy classes.  These classes together form the boundary of (known) tractability for this problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since one can just add a finite number of graphs to any infinite IS-easy class without affecting tractability, some restrictions are in order.  Let's restrict the classes to those that are hereditary (closed under taking of induced subgraphs, or equivalently, defined by a set of excluded induced subgraphs).  Moreover, let's consider only those families that are X-free for a set X with a small description.  There &lt;strike&gt;might&lt;/strike&gt; &lt;em&gt;are&lt;/em&gt; also &lt;strike&gt;be&lt;/strike&gt; infinite ascending chains of tractable classes (such as $(P,\text{star}_{1,2,k})$-free and the classes described by David Eppstein below), but let's restrict attention to classes that have actually been proved to be IS-easy.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here are the ones I know of:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://graphclasses.org/classes/gc_56.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;perfect graphs&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://graphclasses.org/classes/gc_811.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;$(P,\text{star}_{1,2,5})$-free&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://graphclasses.org/classes/gc_648.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;$(K_{3,3}-e, P_5)$-free&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://graphclasses.org/classes/gc_162.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;co-Meyniel&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://graphclasses.org/classes/gc_640.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;nearly bipartite&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://graphclasses.org/classes/gc_391.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;chair-free&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://graphclasses.org/classes/gc_427.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;($P_5$,cricket)-free&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://dx.doi.org/10.1016/S0166-218X(01)00321-3&quot; rel=&quot;nofollow noreferrer&quot;&gt;$(P_5,K_{n,n})$-free&lt;/a&gt; (for any fixed $n$)&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://graphclasses.org/classes/gc_647.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;$(P_5, X_{82}, X_{83})$-free&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Are other such maximal classes known?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Edit:&lt;/em&gt; See also a related question asked by Yaroslav Bulatov dealing with classes defined by excluded minors &lt;a href=&quot;https://cstheory.stackexchange.com/questions/2384/what-is-easy-for-minor-excluded-graphs&quot;&gt;what is easy for minor-excluded graphs?&lt;/a&gt; and see &lt;a href=&quot;https://cstheory.stackexchange.com/questions/1005/global-properties-of-hereditary-classes&quot;&gt;Global properties of hereditary classes?&lt;/a&gt; for a more general question I asked previously about hereditary classes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As Jukka Suomela points out in comments, the minor-excluded case is also interesting (and would make an interesting question), but this is not the focus here.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To avoid David's example, a maximal class should also be definable as the X-free graphs, where not every graph in X has an independent vertex.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Classes given in answers below:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/q/2503/#2504&quot;&gt;apple-free&lt;/a&gt; (suggested by Standa Živný)&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://graphclasses.org/classes/gc_402.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;($P_5$,house)-free&lt;/a&gt; (suggested by David Eppstein)&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://graphclasses.org/classes/gc_735.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;($K_2 \cup$ claw)-free&lt;/a&gt; (suggested by David Eppstein)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Added 2013-10-09:&lt;/em&gt; the recent result by Lokshtanov, Vatshelle and Villanger, mentioned by Martin Vatshelle in an answer, supersedes some of the previously known maximal classes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In particular, $P_5$-free being IS-easy subsumes ($P_5$,cricket)-free,&#xA;($P_5$,$K_{n,n}$)-free,&#xA;($P_5$,$X_{82}$,$X_{83}$)-free, and&#xA;($P_5$,house)-free&#xA;all being IS-easy.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This means that all the hereditary graph classes defined by a single forbidden induced subgraph with up to five vertices can now be definitively classified as IS-easy or not IS-easy.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Unfortunately the proof that $P_5$-free graphs form an IS-easy class does not seem to work for $P_6$-free graphs, so the next frontier is to classify all the hereditary graph classes defined by a single six-vertex graph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I remain especially interested in IS-easy classes of the form $X$-free for some collection $X$ of graphs with infinitely many isomorphism classes, yet where $Y$-free is not IS-easy for any $Y \subset X$.&lt;/p&gt;&#xA;" OwnerUserId="109" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.743" LastActivityDate="2014-10-01T02:17:47.140" Title="Maximal classes for which largest independent set can be found in polynomial time?" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;graph-classes&gt;" AnswerCount="4" CommentCount="5" FavoriteCount="10" ContentLicense="CC BY-SA 3.0" />
  <row Id="2504" PostTypeId="2" ParentId="2503" CreationDate="2010-10-27T11:03:42.210" Score="12" Body="&lt;p&gt;An interesting paper to look at might be:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A. Brandstadt, V. V. Lozin, R. Mosca: Independent Sets of Maximum Weight in Apple-Free Graphs, SIAM Journal on Discrete Mathematics 24 (1) (2010) 239–254. &lt;a href=&quot;http://dx.doi.org/10.1137/090750822&quot;&gt;doi:10.1137/090750822&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The infinite class of apples is defined as cycles C_k, k&gt;=5, each with a stalk.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You don't mention whether your notion of IS-easiness includes the weighted IS problem. Chair-free graphs (aka fork-free graphs) are known to be IS-easy:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;V. E. Alekseev, Polynomial algorithm for finding the largest independent sets in graphs without forks, Discrete Applied Mathematics 135 (1-3) (2004) 3–16. doi:10.1016/S0166-218X(02)00290-1 &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The tractability of the weighted case is a non-trivial extension, see:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;V. V. Lozin, M. Milanic: A polynomial algorithm to find an independent set of maximum weight in a fork-free graph, Journal of Discrete Algorithms 6 (4) (2008) 595–604. doi:10.1016/j.jda.2008.04.001&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there any other (interesting) classes where the weighted IS problem is significantly more difficult/intractable/open than the unweighted case?&lt;/p&gt;&#xA;" OwnerUserId="1895" LastActivityDate="2010-10-27T11:03:42.210" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="2505" PostTypeId="1" AcceptedAnswerId="2508" CreationDate="2010-10-27T11:38:34.660" Score="19" ViewCount="2552" Body="&lt;p&gt;Does anyone know about an NP-completeness result for the DOMINATING SET problem in graphs, restricted to the class of planar bipartite graphs of maximum degree 3?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I know it is NP-complete for the class of planar graphs of maximum degree 3 (see the Garey and Johnson book), as well as for bipartite graphs of maximum degree 3 (see M. Chlebík and J. Chlebíková, &quot;Approximation hardness of dominating set problems in bounded degree graphs&quot;), but could not find the combination of the two in the literature.&lt;/p&gt;&#xA;" OwnerUserId="1930" LastActivityDate="2010-11-01T23:30:47.470" Title="Is the dominating set problem restricted to planar bipartite graphs of maximum degree 3 NP-complete?" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="2506" PostTypeId="2" ParentId="1005" CreationDate="2010-10-27T14:07:36.600" Score="8" Body="&lt;p&gt;This is related to Travis's answer.  In fact, it could be considered a stronger version.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A &lt;a href=&quot;http://dx.doi.org/10.1007/s004930070019&quot; rel=&quot;nofollow&quot;&gt;paper by Bollob\'as and Thomason&lt;/a&gt; (Combinatorica, 2000) shows that in Erd\H{o}s-R\'enyi random graphs $G_{n,p}$ (with $p$ some fixed constant), every hereditary property can be approximated by what they call a &lt;em&gt;basic&lt;/em&gt; property.  Basic &lt;em&gt;almost&lt;/em&gt; means graphs whose vertex sets are unions of $r$ classes, $s$ of which span cliques and $r-s$ of which span independent sets, but not quite. This approximation is used to characterise the size of a largest $\mathcal{P}$-set as well as the $\mathcal{P}$-chromatic number of $G_{n,p}$, where $\mathcal{P}$ is some fixed hereditary property.  If $p$ permitted to vary, the behaviour is not well-understood.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For more background to this and related work, there is a &lt;a href=&quot;http://www.emis.de/journals/DMJDMV/xvol-icm/13/Bollobas.MAN.html&quot; rel=&quot;nofollow&quot;&gt;survey by Bollob\'as&lt;/a&gt; (Proceedings of the ICM 1998) which also gives an enticing conjecture along these lines but for hypergraphs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I find the deep connection between hereditary properties and Szem\'eredi's Regularity Lemma very intriguing, as it was used both here and in the Alon and Shapira result.&lt;/p&gt;&#xA;" OwnerUserId="233" LastEditorUserId="233" LastEditDate="2010-10-27T23:08:48.743" LastActivityDate="2010-10-27T23:08:48.743" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2507" PostTypeId="2" ParentId="1354" CreationDate="2010-10-27T14:44:40.983" Score="8" Body="&lt;p&gt;Some answers on the theory that might be useful for you in implementing the problem. A logical clock in general refers to some means of capturing a &quot;happens-before&quot; relation among events in a distributed system. There are specific ways of implementing it-scalar clocks or Lamport clocks as they are known, which is just monotonically increasing counter maintained by each process. But as already pointed out, it only gives us an irreflexive partial ordering. In your case, what you might actually need is a vector clock. A vector clock in essence is each process also maintaining information of timestamps of other processes in the network- a vector of timestamps whose dimension is the number of processes in the system. While it still does not guarantee a total ordering among events, it provides you causal relationships between events clearly which Lamport clocks cannot since 2 events that occur simultaneously get the same timestamp. But you can obtain a total ordering even with lamport clocks by resolving these simultaneous events arbitarily.&#xA;Some papers that might be useful &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.springerlink.com/content/p2mm567706w10315/&quot;&gt;http://www.springerlink.com/content/p2mm567706w10315/&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.cs.washington.edu/homes/arvind/cs425/doc/mattern89virtual.pdf&quot;&gt;http://www.cs.washington.edu/homes/arvind/cs425/doc/mattern89virtual.pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="698" LastActivityDate="2010-10-27T14:44:40.983" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2508" PostTypeId="2" ParentId="2505" CreationDate="2010-10-27T16:06:54.453" Score="25" Body="&lt;p&gt;What if you simply do the following: Given a graph $G = (V,E)$, construct another graph $G' = (V \cup U, E')$ by subdividing each edge of $G$ in 4 parts; here $U$ is the set of new nodes that we introduced, and $|U| = 3|E|$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The graph $G'$ is bipartite. Moreover, if $G$ is planar and has max. degree 3, then $G'$ is also planar and has max. degree 3.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $D'$ be a (minimum) dominating set for $G'$. Consider an edge $(x,y) \in E$ that was subdivided to form a path $(x,a,b,c,y)$ in $G'$. Now clearly at least one of $a,b,c$ is in $D'$. Moreover, if we have more than one of $a,b,c$ in $D'$, we can modify $D'$ so that it remains a valid dominating set and its size does not increase. For example, if we have $a \in D'$ and $c \in D'$, we can equally well remove $c$ from $D'$ and add $y$ to $D'$. Hence w.l.o.g. we have $|D' \cap U| = |E|$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then consider $D = D' \cap V$. Assume that $x \in V$ and $x \notin D'$. Then we must have a node $a \in D'$ such that $(x,a) \in E'$. Hence there is an edge $(x,y) \in E$ such that we have a path $(x,a,b,c,y)$ in $G'$. Since $a,b,c \in U$ and $a \in D'$, we have $b, c \notin D'$, and to dominate $c$ we must have $y \in D'$. Hence in $G$ node $y$ is a neighbour of $x$ with $y \in D$. That is, $D$ is a dominating set for $G$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Conversely, consider a (minimum) dominating set $D$ for $G$. Construct a dominating set $D'$ for $G'$ so that $|D'| = |D| + |E|$ as follows: For an edge $(x,y) \in E$ that was subdivided to form a path $(x,a,b,c,y)$ in $G'$, we add $a$ to $D'$ if $x \notin D$ and $y \in D$; we add $c$ to $D'$ if $x \in D$ and $y \notin D$; and otherwise we add $b$ to $D'$. Now it can be checked that $D'$ is a dominating set for $G'$: By construction, all nodes in $U$ are dominated. Now let $x \in V \setminus D'$. Then there is a $y \in V$ such that $(x,y) \in E$, and hence along the path $(x,a,b,c,y)$ we have $a \in D'$, which dominates $x$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In summary, if $G$ has a dominating set of size $k$, then $G'$ has a dominating set of size at most $k + |E|$, and if $G'$ has a dominating set of size $k + |E|$, then $G$ has a dominating set of size at most $k$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit:&lt;/strong&gt; Added an illustration. Top: the original graph $G$; middle: graph $G'$ with a &quot;normalised&quot; dominating set; bottom: graph $G'$ with an arbitrary dominating set.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/nfLBC.png&quot; alt=&quot;An example&quot;&gt;&lt;/p&gt;&#xA;" OwnerUserId="74" LastEditorUserId="74" LastEditDate="2010-11-01T23:30:47.470" LastActivityDate="2010-11-01T23:30:47.470" CommentCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="2509" PostTypeId="2" ParentId="1354" CreationDate="2010-10-27T16:18:04.363" Score="6" Body="&lt;p&gt;If you need a total message send/receive order, you may want to use a synchronous (time-triggered) protocol. This approach starts with a (fault-tolerant) clock synchronization protocol at the bottom layer, and then executes a message send/receive schedule on top of that. Using this infrastructure, it is trivial to implement consensus algorithms. The distributed time base can also be used to assign globally consistent time-stamps to events throughout the system to recover a global order of events, up to the chosen clock synchronization precision. The book of &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0792398947&quot;&gt;Kopetz (1997)&lt;/a&gt; is a good reference for the theoretical aspects. Practical implementations include protocols and industry standards such as FlexRay, TTP, ARINC 659, TTEthernet, ProfiNet IRT, IEEE1588 (PTP).&lt;/p&gt;&#xA;" OwnerUserId="121" LastActivityDate="2010-10-27T16:18:04.363" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="2510" PostTypeId="2" ParentId="2386" CreationDate="2010-10-27T19:19:39.390" Score="4" Body="&lt;p&gt;Here is a very nice article on coding theory aimed at high school students by Michael Mitzenmacher:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.eecs.harvard.edu/~michaelm/FUTUREOFCS/codes-mitzenmacher.pdf&quot; rel=&quot;nofollow&quot;&gt;http://www.eecs.harvard.edu/~michaelm/FUTUREOFCS/codes-mitzenmacher.pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="547" LastActivityDate="2010-10-27T19:19:39.390" CommentCount="2" CommunityOwnedDate="2010-10-27T19:19:39.390" ContentLicense="CC BY-SA 2.5" />
  <row Id="2511" PostTypeId="2" ParentId="710" CreationDate="2010-10-27T20:41:55.737" Score="28" Body="&lt;p&gt;I posted some quantum complexity theory project ideas at &lt;a href=&quot;http://scottaaronson.com/blog/?p=471&quot;&gt;http://scottaaronson.com/blog/?p=471&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(But beware, most of these are problems that have been open for years!  My suggestion for an undergraduate project would be to break off a chunk of one of the problems.)&lt;/p&gt;&#xA;" OwnerUserId="1575" LastActivityDate="2010-10-27T20:41:55.737" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2512" PostTypeId="2" ParentId="2461" CreationDate="2010-10-27T21:18:17.007" Score="24" Body="&lt;p&gt;This is a known (wonderful) open problem that I've worked on from time to time without success.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Avi Wigderson and I mentioned the problem in our &lt;a href=&quot;http://www.scottaaronson.com/papers/alg.pdf&quot;&gt;algebrization paper&lt;/a&gt;, where we raised the question of whether or not containments such as coNP &amp;sube; IP&lt;sub&gt;NP&lt;/sub&gt; can be proved via algebrizing techniques. (Here IP&lt;sub&gt;NP&lt;/sub&gt; denotes IP with a BPP verifier and a BPP&lt;sup&gt;NP&lt;/sup&gt; prover.)  If (as I conjecture) the answer is no, then that would provide a formal reason why any interactive protocol like the one Peter asks for would require non-relativizing techniques that go &quot;fundamentally beyond&quot; the ones used for IP=PSPACE.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An analogous question is whether or not BQP = IP&lt;sub&gt;BQP&lt;/sub&gt;, where IP&lt;sub&gt;BQP&lt;/sub&gt; means IP with a BPP verifier and a BQP (quantum polynomial-time) prover.  That question is also open---although a &lt;a href=&quot;http://arxiv.org/pdf/0807.4154&quot;&gt;recent breakthrough&lt;/a&gt; by Broadbent, Fitzsimons, and Kashefi showed that a closely-related statement is true.&lt;/p&gt;&#xA;" OwnerUserId="1575" LastActivityDate="2010-10-27T21:18:17.007" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2513" PostTypeId="2" ParentId="2461" CreationDate="2010-10-27T23:34:38.047" Score="21" Body="&lt;p&gt;Yes, the question of whether coNP has an interactive proof where the prover is weaker than #P (say, polytime with access to NP oracle) is a well known open question.&#xA;The following recent paper of &lt;a href=&quot;http://www.cs.cornell.edu/~mohammad/files/papers/SamNP.pdf&quot;&gt;Haitner, Mahmoody and Xiao&lt;/a&gt; discusses this question and shows some consequences of the assumption that this cannot be done.&lt;/p&gt;&#xA;" OwnerUserId="1202" LastActivityDate="2010-10-27T23:34:38.047" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2514" PostTypeId="2" ParentId="1005" CreationDate="2010-10-28T04:42:54.003" Score="6" Body="&lt;p&gt;According to the &lt;a href=&quot;http://garden.irmacs.sfu.ca/?q=op/the_erdos_hajnal_conjecture&quot; rel=&quot;nofollow&quot;&gt;Erdős–Hajnal conjecture&lt;/a&gt;, every hereditary family has the property that the graphs in it either have cliques or independent sets of polynomial size (that is, $\Omega(n^c)$ for some $c&gt;0$ that depends on the family but not on the graph). This is in contrast to random graphs, where the largest clique and the largest independent set are both logarithmic.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2010-10-28T04:42:54.003" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2515" PostTypeId="1" CreationDate="2010-10-28T05:38:59.163" Score="30" ViewCount="3781" Body="&lt;p&gt;A computer given an infinite stream of truly random bits is more powerful than a computer without one.  The question is: is it powerful enough to solve the halting problem?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;That is, can a probabilistic computer determine whether or not a &lt;strong&gt;deterministic&lt;/strong&gt; program halts?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Example of a probabilistic computer doing something a deterministic one can't: Consider a small program (less than a kilobyte in length) that outputs a string with Kolmogorov complexity greater than a gigabyte.  The &lt;a href=&quot;http://en.wikipedia.org/wiki/Kolmogorov_complexity&quot;&gt;Kolmogorov complexity&lt;/a&gt; of a string is the length of the shortest deterministic program producing that string.  Thus, by definition, a deterministic program cannot produce a string whose complexity is greater than its own length.  However, if given an infinite stream of truly random bits, a small program is capable of achieving the task with 99.99999...% success by simply echoing out, say, 10 billion random bits and hoping the Kolmogorov complexity of those bits is high enough.  Hence, producing a string of superior Kolmogorov complexity is within the possibility horizon of the probabilistic program, but not possible at all for the deterministic program.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;That said, I'm wondering if it is possible to use truly random bits to hacksaw at the halting problem.  For instance, an algorithm might randomly generate theorems and prove/disprove/discard them until it knows enough to prove/disprove that a given deterministic program halts.&lt;/p&gt;&#xA;" OwnerUserId="1759" LastEditorUserId="186" LastEditDate="2010-10-28T12:06:01.097" LastActivityDate="2010-11-01T17:20:46.223" Title="Can a probabilistic Turing machine solve the halting problem?" Tags="&lt;computability&gt;&lt;randomness&gt;&lt;turing-machines&gt;" AnswerCount="4" CommentCount="5" FavoriteCount="10" ContentLicense="CC BY-SA 2.5" />
  <row Id="2516" PostTypeId="2" ParentId="149" CreationDate="2010-10-28T05:39:49.290" Score="34" Body="&lt;p&gt;&lt;strong&gt;Expanders&lt;/strong&gt; were developed to a large extent in TCS and they have profound connections and applications to mathematics. &lt;/p&gt;&#xA;" OwnerUserId="712" LastEditorUserId="319" LastEditDate="2010-11-15T02:02:35.573" LastActivityDate="2010-11-15T02:02:35.573" CommentCount="0" CommunityOwnedDate="2010-10-28T05:39:49.290" ContentLicense="CC BY-SA 2.5" />
  <row Id="2517" PostTypeId="1" CreationDate="2010-10-28T06:34:05.020" Score="36" ViewCount="1930" Body="&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt; is a parameter in the problem.&lt;/p&gt;&#xA;&lt;p&gt;For every &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt; we pick a random integer &lt;span class=&quot;math-container&quot;&gt;$a_n\in\{2^{n-1},2^{n-1}+1,\dots,2^n-1\}$&lt;/span&gt; where &lt;span class=&quot;math-container&quot;&gt;$n\in\{1,2,\dots\}$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Problem&lt;/strong&gt;: Given &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt; what is the complexity of multiplication function &lt;span class=&quot;math-container&quot;&gt;$f_n(x)=a_nx$&lt;/span&gt; where &lt;span class=&quot;math-container&quot;&gt;$x\in\{0,1,\dots,2^n-1\}$&lt;/span&gt;?&lt;/p&gt;&#xA;&lt;p&gt;One is allowed to pre-process integers &lt;span class=&quot;math-container&quot;&gt;$a_n$&lt;/span&gt; as appropriate.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Upper Bound:&lt;/strong&gt; We already have &lt;span class=&quot;math-container&quot;&gt;$n^{1+\epsilon}$&lt;/span&gt; complexity algorithms by &lt;span class=&quot;math-container&quot;&gt;$\mathsf{FFT}$&lt;/span&gt; and Karatsuba.&lt;/p&gt;&#xA;&lt;p&gt;The query here is whether &lt;span class=&quot;math-container&quot;&gt;$\epsilon=0$&lt;/span&gt; by anything cleverer?&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Conjecture:&lt;/strong&gt; &lt;span class=&quot;math-container&quot;&gt;$\exists c&amp;gt;0,n_0&amp;gt;0$&lt;/span&gt; such that at every &lt;span class=&quot;math-container&quot;&gt;$n\in\mathbb Z_{&amp;gt;n_0}$&lt;/span&gt; the number of constants &lt;span class=&quot;math-container&quot;&gt;$a_n$&lt;/span&gt; where &lt;span class=&quot;math-container&quot;&gt;$\epsilon=0$&lt;/span&gt; is supported is &lt;span class=&quot;math-container&quot;&gt;$&amp;gt;2^{cn}$&lt;/span&gt;.&lt;/p&gt;&#xA;" OwnerUserId="1812" LastEditorUserId="1812" LastEditDate="2021-01-26T05:40:09.530" LastActivityDate="2021-01-26T05:40:09.530" Title="Integer multiplication when one integer is fixed" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;circuit-complexity&gt;&lt;algebraic-complexity&gt;&lt;arithmetic-circuits&gt;" AnswerCount="5" CommentCount="8" FavoriteCount="6" ContentLicense="CC BY-SA 4.0" />
  <row Id="2518" PostTypeId="2" ParentId="1605" CreationDate="2010-10-28T07:30:22.180" Score="5" Body="&lt;p&gt;Since you are interested in the structure of tree rotations, I think you may also be interested in the following paper, which shows that the rotation graph of binary trees of a fixed number of nodes has a Hamiltonian &lt;strong&gt;cycle&lt;/strong&gt;. In fact Lucas showed that the cycle can be traversed with constant delay per tree. (A rotation can be performed in $O(1)$ time of course, but it is not obvious a priori that we should be able to decide which rotation to perform along the Hamiltonian cycle in $O(1)$ time.) Naturally, you may also be interested in the references within.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Joan M. Lucas, The rotation graph of binary trees is Hamiltonian, Journal of Algorithms, Volume 8, Issue 4, December 1987, Pages 503-535, ISSN 0196-6774, &lt;a href=&quot;http://dx.doi.org/10.1016/0196-6774%2887%2990048-4&quot; rel=&quot;nofollow&quot;&gt;DOI: 10.1016/0196-6774(87)90048-4&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A simpler proof, also constructive, of the simpler fact that a Hamiltonian &lt;strong&gt;path&lt;/strong&gt; exists in the rotation graph can be found in this later paper coauthored by Lucas and her collaborators.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Lucas J. M., Vanbaronaigien D. R., Ruskey F., On Rotations and the Generation of Binary Trees, Journal of Algorithms, Volume 15, Issue 3, November 1993, Pages 343-366, ISSN 0196-6774, &lt;a href=&quot;http://dx.doi.org/10.1006/jagm.1993.1045&quot; rel=&quot;nofollow&quot;&gt;DOI: 10.1006/jagm.1993.1045&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="163" LastActivityDate="2010-10-28T07:30:22.180" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2519" PostTypeId="2" ParentId="2515" CreationDate="2010-10-28T07:59:55.113" Score="22" Body="&lt;p&gt;&lt;em&gt;edit:&lt;/em&gt; I just realized some of the things I wrote were total nonsense, sorry for that. Now I changed the proof and made the definition of probabilistic machine I am using more precise.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I don't know whether I get right your definition of probabilistic Turing machine: it is a machine with an additional tape on which an infinite incompressible string is written, and beside that it acts just like a deterministic machine? If we fix the incompressible string, the class we get doesn't seem to be interesting. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think we can define a probabilistic Turing machine in several ways. I will use a definition that seems quite natural (and for which my proof works ;) Let's define a probabilistic machine like that: it gets an additional tape on which some infinite string is written, we say that this machine decides a language $L$ if for every $x \in L$ it halts and accepts with probability $&gt;\frac{1}{2}$, when the probability is taken over those additional random strings, and for every $x \not \in L$ it halts and rejects with probability $&gt;\frac{1}{2}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We will now show that if there exists such a probabilistic machine $P$ that solves the halting problem for the deterministic machines, we could use it to build a deterministic machine $H$ that solves the halting problem for the deterministic machines - and we know that such a machine cannot exist.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assume such $P$ exists. We can construct a deterministic machine $M$ that takes as an input a probabilistic machine $R$ with some input $x$, which&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;halts and accepts if and only if $R$ accepts $x$ (i.e. $R$ halts and accepts $x$ on more than half random strings).&lt;/li&gt;&#xA;&lt;li&gt;halts and rejects if and only if $R$ rejects $x$ (i.e. $R$ halts and rejects $x$ on more than half random strings).&lt;/li&gt;&#xA;&lt;li&gt;loops otherwise&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Basically, $M$ will for all $i \in 1, 2, ...$ simulate $R$ on input $x$ and on every string from ${{0,1}}^i$ as a prefix of the string on $R$'s random tape. Now:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;if for $&gt;\frac{1}{2}$ prefixes of length $i$ $R$ halted and accepted without trying to read more than $i$ bits from the random tape, $M$ halts and accepts&lt;/li&gt;&#xA;&lt;li&gt;if for $&gt;\frac{1}{2}$ prefixes of length $i$ $R$ halted and rejected without trying to read more than $i$ bits from the random tape, $M$ halts and rejects&lt;/li&gt;&#xA;&lt;li&gt;otherwise $M$ runs the simulation with $i := i+1$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;We have to convince ourselves now, that if $R$ accepts (rejects) $x$ with probability $p &gt;\frac{1}{2}$, then for some $i$ it will accept (reject) for $&gt;\frac{1}{2}$ prefixes of length $i$ of the random string without trying to read more than $i$ bits from the random tape. It is technical, but quite easy - if we assume otherwise then the the probability of accepting (rejecting) approaches $p &gt;\frac{1}{2}$ as $i$ goes to infinity, hence for some $i$ it will have to be $p &gt;\frac{1}{2}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now we just define our deterministic machine $H$ solving the halting problem (i.e. deciding whether a given deterministic machine $N$ accepts a given word $x$) a as $H(N,x) = M(P(N,x))$. Note that $M(P(N, x))$ always halts, because deciding a language by our probabilistic machines was defined in such a way that one of those two always occurs:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;the machine halts and accepts for more than half random strings&lt;/li&gt;&#xA;&lt;li&gt;the machine halts and rejects for more than half random strings.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="327" LastEditorUserId="327" LastEditDate="2010-10-29T07:55:01.903" LastActivityDate="2010-10-29T07:55:01.903" CommentCount="10" ContentLicense="CC BY-SA 2.5" />
  <row Id="2520" PostTypeId="1" CreationDate="2010-10-28T08:34:35.553" Score="1" ViewCount="544" Body="&lt;p&gt;Given a undirected and connected graph G, find a spanning tree whose diameter is the minimum.&#xA;How to solve this problem&lt;/p&gt;&#xA;" OwnerUserId="1176" LastEditorUserId="186" LastEditDate="2010-10-28T12:07:07.850" LastActivityDate="2010-10-28T12:07:07.850" Title="Algorithm for Minimum Diameter Spanning Tree" Tags="&lt;tag-removed&gt;" AnswerCount="0" CommentCount="7" ClosedDate="2010-10-28T11:44:27.813" ContentLicense="CC BY-SA 2.5" />
  <row Id="2521" PostTypeId="2" ParentId="2515" CreationDate="2010-10-28T12:01:05.877" Score="14" Body="&lt;p&gt;It depends on what you mean by a probabilistic algorithm determines some predicate.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is a trivial probabilistic algorithm &lt;i&gt;P&lt;/i&gt; such that, for a deterministic Turing machine &lt;i&gt;M&lt;/i&gt;,&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;i&gt;P&lt;/i&gt;(&lt;i&gt;M&lt;/i&gt;) accepts with nonzero probability if &lt;i&gt;M&lt;/i&gt; halts,&lt;/li&gt;&#xA;&lt;li&gt;&lt;i&gt;P&lt;/i&gt;(&lt;i&gt;M&lt;/i&gt;) never accepts if &lt;i&gt;M&lt;/i&gt; does not halt, and&lt;/li&gt;&#xA;&lt;li&gt;&lt;i&gt;P&lt;/i&gt;(&lt;i&gt;M&lt;/i&gt;) halts with probability 1 for every &lt;i&gt;M&lt;/i&gt;.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Therefore, the probabilistic algorithm &lt;i&gt;P&lt;/i&gt; solves the halting problem for deterministic Turing machines in this sense.  (Here “&lt;i&gt;M&lt;/i&gt; halts” means “&lt;i&gt;M&lt;/i&gt; halts on the empty input.”)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, if you strengthen the requirement in any sensible way, it is unlikely that you can solve the halting problem for deterministic Turing machines anymore.  For example,&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;If you require &lt;i&gt;P&lt;/i&gt;(&lt;i&gt;M&lt;/i&gt;) to halt &lt;em&gt;always&lt;/em&gt; instead of merely &lt;em&gt;with probability 1&lt;/em&gt;, then it is clear that &lt;i&gt;P&lt;/i&gt; can be simulated by a deterministic algorithm.  (See &lt;a href=&quot;http://en.wikipedia.org/wiki/Almost_surely#.22Almost_sure.22_versus_.22sure.22&quot; rel=&quot;nofollow noreferrer&quot;&gt;Wikipedia&lt;/a&gt; for an explanation of the difference between “always” and “with probability 1.”)&lt;/li&gt;&#xA;&lt;li&gt;If you make the error bounds strict by requiring &lt;i&gt;P&lt;/i&gt;(&lt;i&gt;M&lt;/i&gt;) to halt and give the right answer with probability strictly greater than 1/2 for every &lt;i&gt;M&lt;/i&gt; (that is, you do not care if &lt;i&gt;P&lt;/i&gt;(&lt;i&gt;M&lt;/i&gt;) does not halt or halts and give the wrong answer in the rest of the cases), then &lt;i&gt;P&lt;/i&gt; can be simulated by a deterministic algorithm by using the argument stated in &lt;a href=&quot;https://cstheory.stackexchange.com/questions/2515/can-a-probabilistic-turing-machine-solve-the-halting-problem/2519#2519&quot;&gt;Karolina Sołtys’s answer&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Therefore, a probabilistic algorithm cannot solve the halting problem for deterministic Turing machines in these senses.&lt;/p&gt;&#xA;" OwnerUserId="567" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.743" LastActivityDate="2010-10-29T01:19:58.043" CommentCount="6" ContentLicense="CC BY-SA 2.5" />
  <row Id="2522" PostTypeId="2" ParentId="2515" CreationDate="2010-10-28T12:12:28.770" Score="12" Body="&lt;p&gt;In general, if you have a probabilistic Turing machine $P$ solving some decision problem, you can always simulate it deterministically by running $P$ for every possible value of the randomness and outputting the majority answer of $P$. Therefore, no probabilistic Turing machine can solve an undecidable decision problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think this was the meaning of Raphael's comment.&lt;/p&gt;&#xA;" OwnerUserId="899" LastActivityDate="2010-10-28T12:12:28.770" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2524" PostTypeId="1" CreationDate="2010-10-28T14:46:12.660" Score="16" ViewCount="802" Body="&lt;p&gt;X-free graphs are those that contain no graph from X as an induced subgraph.  A &lt;em&gt;hole&lt;/em&gt; is a cycle with at least 4 vertices.  An &lt;em&gt;odd-hole&lt;/em&gt; is a hole with an odd number of vertices.  An &lt;em&gt;antihole&lt;/em&gt; is the complement of a hole.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The (odd-hole,odd-antihole)-free graphs are precisely the perfect graphs; this is the &lt;a href=&quot;http://dx.doi.org/10.4007%2Fannals.2006.164.51&quot;&gt;Strong Perfect Graph Theorem&lt;/a&gt;.  It is possible to find the largest independent set &lt;em&gt;(and largest clique)&lt;/em&gt; in a perfect graph in polynomial time, but the only known method of doing so requires building a semi-definite program to compute the &lt;a href=&quot;http://en.wikipedia.org/wiki/Lov%C3%A1sz_number&quot;&gt;Lovász theta number&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The (hole,antihole)-free graphs are called &lt;em&gt;&lt;a href=&quot;http://wwwteo.informatik.uni-rostock.de/isgci/classes/gc_14.html&quot;&gt;weakly chordal&lt;/a&gt;&lt;/em&gt;, and constitute a rather easy class for many problems (including INDEPENDENT SET &lt;em&gt;and CLIQUE&lt;/em&gt;).&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Does anyone know if (odd-hole,antihole)-free graphs have been studied or written about?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;These graphs occur quite naturally in constraint satisfaction problems where the graph of related variables forms a tree.  Such problems are rather easy, so it would be nice if there were a way to find a largest &lt;strike&gt;independent set&lt;/strike&gt; &lt;em&gt;clique&lt;/em&gt; for graphs in this family without having to compute the Lovász theta.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Equivalently, one wants to find a largest independent set for (hole, odd-antihole)-free graphs.  Hsien-Chih Chang points out below why this is a more interesting class for INDEPENDENT SET than (odd-hole, antihole)-free graphs.&lt;/em&gt;&lt;/p&gt;&#xA;" OwnerUserId="109" LastEditorUserId="109" LastEditDate="2010-10-29T09:31:01.660" LastActivityDate="2012-07-10T06:25:30.263" Title="Reference for (odd-hole,antihole)-free graphs?" Tags="&lt;reference-request&gt;&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;graph-classes&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="2525" PostTypeId="2" ParentId="2524" CreationDate="2010-10-28T15:48:10.830" Score="12" Body="&lt;p&gt;In fact, it is relatively easy. Instead for studying independent set problem in (odd-hole,antihole)-free graphs, we take complement of the graphs and try to find a maximum clique in it. Thus it becomes maximum clique problem in (hole, anti-odd-hole)-free graphs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In section 2 of the paper &quot;&lt;a href=&quot;http://www.comp.leeds.ac.uk/murilo/ehf.pdf&quot;&gt;Triangulated Neighborhoods in Even-hole-free Graphs&lt;/a&gt;&quot; by da Silva and Vuskovic, they stated that Farber first shows &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;There are $O(n^2)$ maximal cliques in any 4-hole free graphs.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Then their main theorem stated that&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;There are $O(n + m)$ maximal cliques in even-hole-free graphs, and all the maximal cliques can be found in time $O(n^2m)$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Since we are dealing with (hole, anti-odd-hole)-free graphs which is clearly even-hole-free, finding a maximum clique takes at most $O(n^2m)$ time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;4-hole-free are critical to these kind of results like a poly-time algorithm for $\overline{K_{2,m}}$-free graphs, so the real challenge may be studying independent set problem in (hole, anti-odd-hole)-free graphs instead, which becomes the maximum clique problem in (odd-hole, anti-hole)-free graphs.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Edit:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Oh, another thought came out. (hole, anti-odd-hole)-free graphs are almost weakly chordal in the following sense: since 4-hole-free implies there are only anti-holes with size 4~7 remains (any k-anti-hole with size &gt; 7 contains a 4-hole), and it is also anti-odd-hole-free which restrict the size of anti-holes down to 4 and 6, it is almost no holes/antiholes in the graph! Thus a poly-time algorithm seems plausible for such graphs.&lt;/p&gt;&#xA;" OwnerUserId="1800" LastEditorUserId="1800" LastEditDate="2010-10-28T16:01:48.210" LastActivityDate="2010-10-28T16:01:48.210" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="2526" PostTypeId="1" AcceptedAnswerId="2531" CreationDate="2010-10-28T16:12:53.293" Score="7" ViewCount="1282" Body="&lt;p&gt;Where can I get the photo of “Introduction to automata theory, languages and computation” by Hopcroft and Ullman &lt;strong&gt;'79 (first edition)&lt;/strong&gt; cover in order to be able to read all the phrases placed on the cover? Obviously the ones that gave me Google.Images (from Wikipedia, Amazon and others) do not allow this.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Solved:&#xA;&lt;a href=&quot;http://mmcs.sfedu.ru/~ulysses/Pics/Hopcroft-Ullman-79-cover.jpg&quot; rel=&quot;nofollow&quot;&gt;http://mmcs.sfedu.ru/~ulysses/Pics/Hopcroft-Ullman-79-cover.jpg&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="869" LastEditorUserId="-1" LastEditDate="2013-04-30T03:39:53.457" LastActivityDate="2013-04-30T03:39:53.457" Title="Photo of «Introduction to automata…» by Hopcroft and Ullman '79 cover?" Tags="&lt;reference-request&gt;&lt;fl.formal-languages&gt;&lt;automata-theory&gt;&lt;books&gt;" AnswerCount="1" CommentCount="13" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="2527" PostTypeId="1" AcceptedAnswerId="2533" CreationDate="2010-10-28T16:52:58.360" Score="1" ViewCount="262" Body="&lt;p&gt;This question was motivated by a closely related problem &#xA;&lt;a href=&quot;https://cstheory.stackexchange.com/questions/2307/an-edge-partitioning-problem-on-cubic-graphs.&quot;&gt;An edge partitioning problem on cubic graphs&lt;/a&gt;&#xA;&lt;a href=&quot;https://cstheory.stackexchange.com/questions/2307/an-edge-partitioning-problem-on-cubic-graphs&quot;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Input&lt;/strong&gt;: at most cubic graph ( maximum node degree is 3) $G=(V,E)$, a natural number $k$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Question: Is there a partition of $E$ into subgraphs isomorphic to $K_{1,2}$ and $K_{1,1}$  such that the sum of the orders of the corresponding subgraphs is exactly $k$ ?&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is this problem polynomial time solvable or is it $NP$-complete?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit:&lt;/strong&gt; Changed input graph to at most cubic graphs to avoid triviality.&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2010-10-28T21:36:57.040" Title="Another edge partitioning problem on cubic graphs" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;&lt;np-hardness&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2528" PostTypeId="1" CreationDate="2010-10-28T17:07:39.607" Score="13" ViewCount="247" Body="&lt;p&gt;In Abramsky and Jung's 1994 handbook chapter on denotational semantics, after proving that the limit and colimit of expanding sequences exist and coincide, they have the following to say about generalizing this theorem: &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;We can generalize Theorem 3.3.7 [the limit-colimit coincidence of expanding sequences in DCPO] [...] we can use&#xA;  general Scott-continuous adjunctions instead of e-p-pairs. [...] By the passage&#xA;  from embeddings to, no longer injective, lower adjoints, we allow domains not only to&#xA;  grow but also to shrink as we move on in the index set. Thus points, which at some&#xA;  stage looked different, may at a later stage be recognized to be the same. [...] For the&#xA;  main text, we must remind ourselves that this generalization has so far not found any&#xA;  application in semantics. &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;It's been over fifteen years since this chapter was written. Have there been any applications of this generalization in semantics since then?&lt;/p&gt;&#xA;" OwnerUserId="657" LastEditorUserId="186" LastEditDate="2010-10-28T17:50:10.193" LastActivityDate="2010-10-28T17:50:10.193" Title="Generalizing limit-colimit coincidence to Scott-continuous adjunctions: any uses?" Tags="&lt;pl.programming-languages&gt;&lt;semantics&gt;&lt;denotational-semantics&gt;&lt;domain-theory&gt;" AnswerCount="0" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2529" PostTypeId="1" CreationDate="2010-10-28T17:17:42.273" Score="6" ViewCount="154" Body="&lt;p&gt;There is an old joke about the smallest non-interesting number being interesting in itself (I have heard it attributed to Richard Hamming).  This is then used to justify the argument that every number must be interesting.  I have always found this induction unsatisfactory.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is an attempt at a more precise argument.  Consider a set of rules, represented as sentences of some logic.  The interesting numbers are then the smallest numbers that are models of some set of sentences.  In first-order logic each natural number can be distinguished from every other one, so the sentences true for any natural number will differ from those true for any other, and every number will be interesting.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now suppose our rules are given in terms of a bounded model of computation, so that only finite sets of properties can be associated with each number, and so that every property can be checked with a bounded amount of some resource (for instance, time or space).&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is every number still interesting with resource-bounded properties?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Edit:&lt;/em&gt; to clarify, resource bounds is my focus here.  With unbounded resources this devolves into a question about definability and large ordinals, as discussed by Aaron and Kaveh.  The idea is that each interesting number should be definable by a sentence that can be checked given a bounded amount of resources.  (It might also make sense to allow some finite set of sentences as separate building blocks instead of making them into single sentences via conjunction.)&lt;/p&gt;&#xA;" OwnerUserId="109" LastEditorUserId="109" LastEditDate="2010-10-29T16:26:58.880" LastActivityDate="2010-10-29T16:26:58.880" Title="Non-interesting numbers via resource-bounded properties?" Tags="&lt;cc.complexity-theory&gt;&lt;lo.logic&gt;&lt;descriptive-complexity&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2530" PostTypeId="2" ParentId="1920" CreationDate="2010-10-28T17:23:35.803" Score="15" Body="&lt;p&gt;There are plenty of uses of &lt;strong&gt;information theory&lt;/strong&gt; in theoretical computer science:&#xA;e.g., in proving lower bounds for locally decodeable codes (see Katz and Trevisan), in Raz's proof of the parallel repetition theorem, in communication complexity (see, for example, the thread of work on compression of communication, e.g., the relatively recent work of Barak, Braverman, Chen and Rao, and the references there), and so much more work. &lt;/p&gt;&#xA;" OwnerUserId="1621" LastActivityDate="2010-10-28T17:23:35.803" CommentCount="3" CommunityOwnedDate="2010-10-28T17:23:35.803" ContentLicense="CC BY-SA 2.5" />
  <row Id="2531" PostTypeId="2" ParentId="2526" CreationDate="2010-10-28T17:28:06.240" Score="11" Body="&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt; High resolution cover can be found &lt;a href=&quot;http://mmcs.sfedu.ru/~ulysses/Pics/Hopcroft-Ullman-79-cover.jpg&quot; rel=&quot;nofollow noreferrer&quot;&gt;here&lt;/a&gt;. (via Artem)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/tNGNq.png&quot; alt=&quot;image&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;A: Pushdown Automata&#xA;B: Regular Expressions&#xA;C: Context Free Languages&#xA;D: Finite Automata&#xA;E: Mathematical Truth&#xA;F: NP-Complete Problems&#xA;G: Turing Machines&#xA;H: Time/Space Complexity&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;" OwnerUserId="146" LastEditorUserId="146" LastEditDate="2010-10-29T01:12:04.817" LastActivityDate="2010-10-29T01:12:04.817" CommentCount="18" ContentLicense="CC BY-SA 2.5" />
  <row Id="2532" PostTypeId="2" ParentId="115" CreationDate="2010-10-28T19:18:29.033" Score="6" Body="&lt;p&gt;Makowski's &quot;Algorithmic uses of the Feferman–Vaught Theorem&quot; is possibly relevant. He defines polynomials by summing over MSOL-definable structures on graphs and shows that they are tractable to evaluate when graphs are tree-width bounded.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This doesn't say much about difference in complexity of testing/evaluation beyond being FPT. Testing for a value means asking if there exists a setting of variables such that given MSO2 formula on given graph evaluates to true, whereas evaluating involves enumerating over satisfying assignments of MSO2 formula. This seems to be related to the question of how complexity of counting SAT relates to complexity of SAT.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;b&gt;Edit 10/29&lt;/b&gt;&#xA;Another useful concept might be to look into Uniform Difficult Point Property. Apparently polynomials with this property are either easy to evaluate in all points, or hard to evaluate almost at every point. Makowski gives some references on slides 46-52 -- &lt;a href=&quot;http://www.cs.technion.ac.il/admlogic/TR/2009/icla09-slides.pdf&quot; rel=&quot;nofollow&quot;&gt;http://www.cs.technion.ac.il/admlogic/TR/2009/icla09-slides.pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="434" LastEditorUserId="434" LastEditDate="2010-10-29T20:35:11.010" LastActivityDate="2010-10-29T20:35:11.010" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2533" PostTypeId="2" ParentId="2527" CreationDate="2010-10-28T19:34:33.173" Score="3" Body="&lt;p&gt;Perhaps I don't understand the question, but the way I interpret it, Colin's answer seems correct. It is enough to find the minimum possible k for which such partition exists, say k_0. (This is a partition with maximum number of K_21's.) There is a partition for any k between k_0 and 3n/2, because splitting K_21 into two K_11's increases the sum of cardinalities by 1. The K_21's in your partition induce a matching in the line graph of G, so this k_0 corresponds to the maximum matching in the line graph, and this matching can be found in polynomial time.&lt;/p&gt;&#xA;" OwnerUserId="1616" LastActivityDate="2010-10-28T19:34:33.173" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2534" PostTypeId="2" ParentId="2503" CreationDate="2010-10-28T22:56:09.283" Score="10" Body="&lt;p&gt;According to Vassilis Giakoumakis and Irena Rusu, &lt;a href=&quot;http://dx.doi.org/10.1016/S0166-218X%2897%2900093-0&quot;&gt;Disc. Appl. Math. 1997&lt;/a&gt;, the &lt;a href=&quot;http://wwwteo.informatik.uni-rostock.de/isgci/classes/gc_402.html&quot;&gt;(P5,house)-free graphs&lt;/a&gt; (aka (P5,coP5)-free graphs) are IS-easy.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another one, credited by ISGCI to V. Lozin, R. Mosca &lt;a href=&quot;http://dx.doi.org/10.1016/j.dam.2004.07.006&quot;&gt;Disc. Appl. Math. 2005&lt;/a&gt;, is the family of &lt;a href=&quot;http://wwwteo.informatik.uni-rostock.de/isgci/classes/gc_735.html&quot;&gt;(K2 u claw)-free graphs&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;i&gt;There might also be infinite ascending chains of tractable classes&lt;/i&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are definitely infinite ascending chains. If H is a finite set of graphs for which the H-free graphs are IS-easy, let H' be the graphs formed adding an independent vertex to each graph in H. Then the H'-free graphs are also IS-easy: just apply the H-free algorithm to the sets of non-neighbors of each vertex. For instance, as ISGCI describes, the &lt;a href=&quot;http://wwwteo.informatik.uni-rostock.de/isgci/classes/gc_423.html&quot;&gt;co-gem-free graphs&lt;/a&gt; are IS-easy for the reason that a co-gem is a P4 plus an independent vertex and the P4-free graphs are IS-easy. So you probably want to restrict your question to maximal classes in which not all of the forbidden subgraphs have an independent vertex.&lt;/p&gt;&#xA;" OwnerUserId="95" LastEditorUserId="95" LastEditDate="2010-10-29T03:52:50.880" LastActivityDate="2010-10-29T03:52:50.880" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="2535" PostTypeId="2" ParentId="2517" CreationDate="2010-10-28T23:45:02.420" Score="20" Body="&lt;p&gt;While it won't always be the most efficient algorithm, this question has a very close relationship with addition chains; any algorithm for computing $A$ quickly by addition chains translates into an algorithm for computing $f(B) = AB$ by repeated addition (each addition, of course, being an $O(n)$ operation).  Contrariwise, a quick algorithm for computing $AB$ for any $B$ leads to a quick algorithm for computing $A$, but of course this algorithm doesn't necessarily have to have the form of an addition chain; still, that seems like an excellent place to start.  Have a look at &lt;a href=&quot;http://en.wikipedia.org/wiki/Addition_chain&quot;&gt;http://en.wikipedia.org/wiki/Addition_chain&lt;/a&gt; or check out vol. 2 of &lt;i&gt;The Art Of Computer Programming&lt;/i&gt; for more details.&lt;/p&gt;&#xA;" OwnerUserId="1941" LastActivityDate="2010-10-28T23:45:02.420" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2536" PostTypeId="2" ParentId="2517" CreationDate="2010-10-29T03:13:46.627" Score="17" Body="&lt;p&gt;To expand upon Steven Stadnicki's idea, we can quicky construct a naive algorithm that does better than matrix multiplication using the Discrete Fourier Transform.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We count the number of ones in $A$.  If less than half the bits are ones, we construct a linked list of their positions.  To multiply, we simply shift $B$ left by each position in the list (multiplying by that bit that's represented) and add the results.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If more than half of the bits are ones, we do the same as above, but we use the zeros instead to populate the list of positions.  The idea is that we'll subtract this sum from the sum that would be obtained by multiplying by all ones.  To get the sum of all ones, we shift $B$ by the number of bits in $A$ and subtract $B$ from this.  Then we can subtract our sum obtained from the linked list.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We can call that the naive linked-list algorithm.  Its running time is $O(n^2)$ in the worst case, but $O(|B| \sqrt{\frac{|A|}{2\pi}})$ in the average case, which is faster than DFT for small $|A|$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To use the idea of lists optimally, we use divide-and-conquer.  We split $A$ in half, and find the sizes of the associated lists using the naive algorithm.  If they're greater than 5, we call the naive algorithm again on halves greater than 5 until we manage to cut all halves to less than five.  (This is because we can reduce this to 4 subtractions)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Even better still, we improve our divide-and-conquer algorithm.  We iterate through all possible combinations of branching, greedily picking the best one.  This preprocessing takes approximately the same time as the actual multiplication.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we are allowed infinite freedom with pre-processing, we solve the optimized divide-and-conquer algorithm for all branches optimally.  This takes time $O(2^{|A|})$ in the worst case, but it should be ~optimal by addition chain methods.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm working on calculating more exact values for the above algorithms.&lt;/p&gt;&#xA;" OwnerUserId="1549" LastEditorUserId="1549" LastEditDate="2010-10-29T09:42:56.067" LastActivityDate="2010-10-29T09:42:56.067" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="2537" PostTypeId="1" AcceptedAnswerId="2541" CreationDate="2010-10-29T03:41:36.307" Score="26" ViewCount="1210" Body="&lt;p&gt;I cannot think of any such model, maybe some form of typed lambda calculus? some elementary cellular automaton?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This would &lt;em&gt;almost&lt;/em&gt; disprove Wolfram's &quot;Principle of Computational Equivalence&quot;:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Almost all processes that are not obviously simple can be viewed as computations of equivalent sophistication&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="168" LastActivityDate="2015-06-23T17:33:00.673" Title="Is there a non Turing-complete model of computation whose halting problem is undecidable?" Tags="&lt;automata-theory&gt;&lt;computability&gt;&lt;turing-machines&gt;&lt;lambda-calculus&gt;&lt;universal-computation&gt;" AnswerCount="4" CommentCount="0" FavoriteCount="7" ContentLicense="CC BY-SA 2.5" />
  <row Id="2538" PostTypeId="2" ParentId="2537" CreationDate="2010-10-29T03:46:32.200" Score="4" Body="&lt;p&gt;I'm pretty sure the diagonalization argument applies to any model of computation which:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;can represent itself as a string, and&lt;/li&gt;&#xA;&lt;li&gt;can simulate another machine, given the above representation&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;If we had a model which violated one of the above conditions, its computational power would be extremely limited. &lt;/p&gt;&#xA;" OwnerUserId="1892" LastEditorUserId="16142" LastEditDate="2014-03-27T23:47:18.427" LastActivityDate="2014-03-27T23:47:18.427" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="2539" PostTypeId="2" ParentId="1920" CreationDate="2010-10-29T04:38:08.960" Score="12" Body="&lt;p&gt;Additive combinatorics / number theory was used a lot in extractor literature. I think the first instances come from noticing that Paley graphs could be used as good extractors, and some open questions in additive number theory would imply better ones. Earliest reference I know is Zuckerman 1990 (see his &lt;a href=&quot;http://www.cs.utexas.edu/~diz/pubs/thesis.ps&quot;&gt;thesis&lt;/a&gt;), but in last few years this has been an active area with interesting back and forth between TCS and additive combinatorics. (One of the highlights being &lt;a href=&quot;http://www.cs.princeton.edu/~zdvir/papers/Dvir09.pdf&quot;&gt;Dvir's proof&lt;/a&gt; of the finite field Kakeya  conjecture, but this is of course a TCS contribution to math and not the other way around.)  A-priori it's not clear why these kind of mathematical questions, on sums and products of sets, would be important for CS.&lt;/p&gt;&#xA;" OwnerUserId="1202" LastActivityDate="2010-10-29T04:38:08.960" CommentCount="1" CommunityOwnedDate="2010-10-29T04:38:08.960" ContentLicense="CC BY-SA 2.5" />
  <row Id="2540" PostTypeId="2" ParentId="149" CreationDate="2010-10-29T04:45:15.467" Score="13" Body="&lt;p&gt;The &lt;a href=&quot;http://www.math.ias.edu/~avi/PUBLICATIONS/MYPAPERS/SALIL/EXPANDERS/ANNALS/RVW01.pdf&quot;&gt;Zig-Zag expander construction&lt;/a&gt; was used for constructing various interesting examples of groups with certain unexpected properties, see &lt;a href=&quot;http://www.math.ias.edu/~avi/PUBLICATIONS/MYPAPERS/MW01/Final.pdf&quot;&gt;Meshulam-Wigderson&lt;/a&gt; , &lt;a href=&quot;http://www.math.ias.edu/~avi/PUBLICATIONS/MYPAPERS/RSW05/rsw05.pdf&quot;&gt;Rozenman-Shalev-Wigderson&lt;/a&gt;. The construction itself is very interesting from a pure math viewpoint, since it used completely different tools (motivated by the CS viewpoint of dealing with entropy) to build expanders than previous constructions. (However perhaps the most celebrated application is inside TCS- &lt;a href=&quot;http://www.wisdom.weizmann.ac.il/~reingold/publications/sl.ps&quot;&gt;Reingold's logspace algorithm for undirected connectivity&lt;/a&gt; .)&lt;/p&gt;&#xA;" OwnerUserId="1202" LastActivityDate="2010-10-29T04:45:15.467" CommentCount="0" CommunityOwnedDate="2010-10-29T04:45:15.467" ContentLicense="CC BY-SA 2.5" />
  <row Id="2541" PostTypeId="2" ParentId="2537" CreationDate="2010-10-29T05:54:42.100" Score="18" Body="&lt;p&gt;You can easily build artificial models which are not Turing complete but the halting problem for them is undecidable. E.g. take all TMs that do not halt on anything but &lt;span class=&quot;math-container&quot;&gt;$0$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;h3&gt;Regarding the statement:&lt;/h3&gt;&#xA;&lt;p&gt;You cannot disprove a statement that is not precise enough. Almost none of the words in the statement is well-defined (please provide the definition for them if this is not the case).&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2010-10-29T06:11:48.830" CommentCount="6" ContentLicense="CC BY-SA 2.5" />
  <row Id="2542" PostTypeId="2" ParentId="189" CreationDate="2010-10-29T11:02:24.687" Score="6" Body="&lt;p&gt;I think that the process of finding a diagonal proof is an algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The idea of if you can generate a matrix for various things and then if you can find some answer that differs on the diagonal you have a reductio ad absurdam. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I find them sublime.... and beautiful. I somehow feel when you are at the moment of grasping, for example, the diagonal for the proof of the uncountability of the real,.. its always for me like you are peering through reality into the great mystery of it all.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/oJHE1.png&quot; alt=&quot;alt text&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Cantor&amp;#39;s_diagonal_argument&quot; rel=&quot;noreferrer&quot;&gt;image sourced from this wikipedia article&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="1945" LastActivityDate="2010-10-29T11:02:24.687" CommentCount="0" CommunityOwnedDate="2010-10-29T11:02:24.687" ContentLicense="CC BY-SA 2.5" />
  <row Id="2543" PostTypeId="1" CreationDate="2010-10-29T12:57:28.263" Score="12" ViewCount="3123" Body="&lt;p&gt;Wouldn't data be lost when mapping 6-bit values to 4-bit values in DES's S-Boxes? If so, how can we reverse it so the correct output appears?&lt;/p&gt;&#xA;" OwnerDisplayName="maxs" LastActivityDate="2017-02-04T02:29:48.877" Title="How can DES have 6x4 S-Boxes and still be reversible?" Tags="&lt;cr.crypto-security&gt;" AnswerCount="3" CommentCount="7" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2544" PostTypeId="2" ParentId="2543" CreationDate="2010-10-29T13:03:58.733" Score="25" Body="&lt;p&gt;DES is a &lt;a href=&quot;http://en.wikipedia.org/wiki/Feistel_network&quot;&gt;Feistel-based cipher&lt;/a&gt;. In such ciphers, the function $\rm F$ need not be invertible. Here's the reason:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In each round, the following operation is applied: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For $i =0,1,\dots,n$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$L_{i+1} = R_i$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$R_{i+1}= L_i \oplus {\rm F}(R_i, K_i)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Decryption is performed as follows:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$R_{i} = L_{i+1}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$L_{i} = R_{i+1} \oplus {\rm F}(L_{i+1}, K_{i})$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As you can see, the decryption does not need $\rm F$ to be invertible. (Since the decryption does not need to compute $\rm F^{-1}$.)&lt;/p&gt;&#xA;" OwnerUserId="873" LastEditorUserId="873" LastEditDate="2010-10-30T10:04:27.010" LastActivityDate="2010-10-30T10:04:27.010" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2545" PostTypeId="2" ParentId="2529" CreationDate="2010-10-29T14:38:33.107" Score="3" Body="&lt;p&gt;This might be cheating, because I am reinterpreting your notion of &quot;number&quot; as &quot;countable ordinal.&quot;  However, there is an extensive theory about exactly what you are asking about in your question -- which ordinals can be defined, with which definition-strengths.  I looked at Wikipedia, and the &lt;a href=&quot;http://en.wikipedia.org/wiki/Large_countable_ordinal&quot; rel=&quot;nofollow&quot;&gt;large countable ordinal&lt;/a&gt; page has a lot of information.  In particular, the &quot;smallest number that is interesting because the system can't even prove it's a number&quot; corresponds to the &lt;a href=&quot;http://en.wikipedia.org/wiki/Large_countable_ordinal#.E2.80.9CUnrecursable.E2.80.9D_recursive_ordinals&quot; rel=&quot;nofollow&quot;&gt;unrecursable ordinals&lt;/a&gt;, if we require nothing other than computability as the resource bound.&lt;/p&gt;&#xA;" OwnerUserId="30" LastActivityDate="2010-10-29T14:38:33.107" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2547" PostTypeId="1" CreationDate="2010-10-29T18:22:11.210" Score="29" ViewCount="2016" Body="&lt;p&gt;If we go by the &lt;a href=&quot;http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1256.pdf&quot;&gt;book&lt;/a&gt; (or any other version of the language specification if you prefer), how much computational power can a C implementation have?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that “C implementation” has a technical meaning: it is a particular instantiation of the C programming language specification where implementation-defined behavior is documented. A C implementation doesn't have to be able to run on an actual computer. It does have to implement the whole language, including every object having a bit-string representation and types having an implementation-defined size.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the purpose of this question, there is no external storage. The only input/output you may perform is &lt;code&gt;getchar&lt;/code&gt; (to read the program input) and &lt;code&gt;putchar&lt;/code&gt; (to write the program output). Also any program that invokes &lt;em&gt;undefined&lt;/em&gt; behavior is invalid: a valid program must have its behavior defined by the C specification plus the implementation's description of implementation-defined behaviors listed in appendix J (for C99). Note that calling library functions that are not mentioned in the standard is undefined behavior.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My initial reaction was that a C implementation is nothing more than a finite automaton, because it has a limit on the amount of addressable memory (you can't address more than &lt;code&gt;sizeof(char*) * CHAR_BIT&lt;/code&gt; bits of storage, since distinct memory addresses must have distinct bit patterns when stored in a byte pointer).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However I think an implementation can do more than this. As far as I can tell, the standard imposes no limit on the depth of recursion. So you can make as many recursive function calls as you like, only all but a finite number of calls must use non-addressable (&lt;code&gt;register&lt;/code&gt;) arguments. Thus a C implementation that allows arbitrary recursion and has no limit on the number of &lt;code&gt;register&lt;/code&gt; objects can encode deterministic pushdown automata.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is this correct? Can you find a more powerful C implementation? Does a Turing-complete C implementation exist?&lt;/p&gt;&#xA;" OwnerUserId="634" LastEditorUserId="109" LastEditDate="2010-11-04T16:45:07.180" LastActivityDate="2016-11-25T16:01:13.300" Title="Maximum computational power of a C implementation" Tags="&lt;computability&gt;&lt;turing-machines&gt;&lt;pl.programming-languages&gt;&lt;recreational&gt;" AnswerCount="6" CommentCount="21" FavoriteCount="7" ContentLicense="CC BY-SA 2.5" />
  <row Id="2548" PostTypeId="1" AcceptedAnswerId="2552" CreationDate="2010-10-29T20:53:20.387" Score="13" ViewCount="3769" Body="&lt;h1&gt;Problem&lt;/h1&gt;&#xA;&#xA;&lt;p&gt;I have an undirected graph (with multi-edges), which will change over time, nodes and edges may be inserted and deleted. On each modification of the graph, I have to update the connected components of this graph.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Properties&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;Additional properties are that no two components will ever be reconnected. Obviously, the graph can have cycles to an arbitrary amount (otherwise the solution would be trivial).&#xA;If an edge $e$ does not contain a node $n$, it will never adopt that node. However, if $n \in e$, it &lt;em&gt;can&lt;/em&gt; change to $n \notin e$.&lt;/p&gt;&#xA;&#xA;&lt;h1&gt;Approaches&lt;/h1&gt;&#xA;&#xA;&lt;p&gt;I have two possible approaches so far, but as you will see they are horrible:&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Slow state-less&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;I can search (dfs/bfs) the graph starting from the modified element(s) every time. This conserves space, but is slow as we have O(n+m) for each modification.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Stateful fast(-er) (?) approach&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;I can store all possible paths for each node to all possible nodes, but if I see it correctly, this will take O(n^4) memory. But I am not sure how the runtime improvement is (if there is one at all, because I have to keep the information up-to-day for every node in the same component).&lt;/p&gt;&#xA;&#xA;&lt;h1&gt;Question&lt;/h1&gt;&#xA;&#xA;&lt;p&gt;Do you have any pointers, how I can learn more about that problem or perhaps some algorithms I can build on?&lt;/p&gt;&#xA;&#xA;&lt;h1&gt;Note&lt;/h1&gt;&#xA;&#xA;&lt;p&gt;If there is a vast improvement in runtime/memory I could live with a non-optimal solution that sometimes says two components are one, but of course I would prefer an optimal solution.&lt;/p&gt;&#xA;" OwnerUserId="1908" LastEditorUserId="-1" LastEditDate="2013-04-30T03:39:50.893" LastActivityDate="2013-04-30T03:39:50.893" Title="Is there an online-algorithm to keep track of components in a changing undirected graph?" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;approximation-algorithms&gt;&lt;online-algorithms&gt;" AnswerCount="3" CommentCount="3" FavoriteCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="2549" PostTypeId="2" ParentId="1354" CreationDate="2010-10-29T21:25:59.517" Score="1" Body="&lt;p&gt;You probably would have better luck with one of the many &lt;a href=&quot;http://en.wikipedia.org/wiki/Paxos_algorithm&quot; rel=&quot;nofollow&quot;&gt;Paxos protocol&lt;/a&gt; variants to ensure global progress given 2n+1 machines in the face of n system/link failures. No global clock necessary, just ballots.&lt;/p&gt;&#xA;" OwnerUserId="1413" LastActivityDate="2010-10-29T21:25:59.517" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2550" PostTypeId="2" ParentId="2131" CreationDate="2010-10-29T21:27:51.917" Score="-1" Body="&lt;p&gt;In general I would say the biggest lower bound is 1, as the graph&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;a---b&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;has diameter 1 and has |V|/2 = O(|V|) edges.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The same holds for&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;a---b---c&#xA;+-------+&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;and&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;    +-------+&#xA;a---b---c---d&#xA;+-------+&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;which have exactly |V|, and |V|+1 = O(|V|) edges, respectively.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;s&gt;This works for an arbitrary number of graphs, as long as you fix the number of nodes.&lt;/s&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you restrict the number of edges not to O(|V|) but to |V|, you get a biggest lower bound of 2 for graphs of at least 4 nodes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since the first and second example have diameter 1 with $|E| \leq |V|$ (so, clearly $|E| \in O(|V|)$) the statement that &lt;strong&gt;each&lt;/strong&gt; such graph has at least diameter 2 does not hold.&lt;/p&gt;&#xA;" OwnerUserId="1908" LastEditorUserId="1908" LastEditDate="2010-10-30T00:03:55.567" LastActivityDate="2010-10-30T00:03:55.567" CommentCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="2551" PostTypeId="2" ParentId="2548" CreationDate="2010-10-29T21:36:16.550" Score="7" Body="&lt;p&gt;I think that you are looking for what is called the dynamic graph algorithm for connected component decomposition.  The algorithm by Holm, de Lichtenberg and Thorup [HLT01] has amortized polylogarithmic time on each edge update.  It has been long since I looked at the problem last time, so there is probably more recent progress.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[HLT01] Jacob Holm, Kristian de Lichtenberg and Mikkel Thorup.  Poly-logarithmic deterministic fully-dynamic algorithms for connectivity, minimum spanning tree, 2-edge, and biconnectivity.  &lt;em&gt;Journal of the ACM&lt;/em&gt;, 48(4):723–760, July 2001.  &lt;a href=&quot;http://doi.acm.org/10.1145/502090.502095&quot;&gt;http://doi.acm.org/10.1145/502090.502095&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="567" LastActivityDate="2010-10-29T21:36:16.550" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="2552" PostTypeId="2" ParentId="2548" CreationDate="2010-10-29T21:37:56.163" Score="18" Body="&lt;p&gt;There are several data structures that support edge insertions, edge deletions, and connectivity queries (Are these two vertices in the same connected component?) in polylogarithmic time.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Monika R. Henzinger and Valerie King.  &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=320215&quot;&gt;Randomized fully dynamic graph algorithms with polylogarithmic time per operation&lt;/a&gt;.  &lt;em&gt;Journal of the ACM&lt;/em&gt; 46(4):502—516, 1999.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Jacob Holm, Kristian de Lichtenberg, and Mikkel Thorup. &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=502095&quot;&gt;Poly-logarithmic deterministic fully-dynamic algorithms for connectivity, minimum spanning tree, 2-edge, and biconnectivity&lt;/a&gt;, &lt;em&gt;Journal of the ACM&lt;/em&gt; 48(4):723—760, 2001.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Mikkel Thorup.  &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=335345&quot;&gt;Near-optimal fully-dynamic graph connectivity&lt;/a&gt;.  &lt;em&gt;Proc. 32nd STOC&lt;/em&gt; 343—350, 2000.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="111" LastActivityDate="2010-10-29T21:37:56.163" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2553" PostTypeId="2" ParentId="2547" CreationDate="2010-10-29T21:46:02.720" Score="0" Body="&lt;p&gt;&lt;s&gt;As long as you have an unbounded call-stack size you can encode your tape on the call-stack, and random-access it by rewinding the stack-pointer without returning from the function-calls.&lt;/s&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EdIT&lt;/strong&gt;: &lt;em&gt;If you can only use the ram, which is finite, this construction does not work anymore, so see below.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However it is highly questionable why your stack can be infinite but the intrinsic ram is not. &lt;s&gt;So actually I would say you do not even can recognise all regular languages, as the number of states is bounded (if you do not count the stack-rewind trick to exploit the infinite stack).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would even speculate that the number of languages you can recognise is finite (even if languages themselves can be infinite, e.g. &lt;code&gt;a*&lt;/code&gt; is okay, but &lt;code&gt;b^k&lt;/code&gt; only works for a finite number of &lt;code&gt;k&lt;/code&gt;s).&lt;/s&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT&lt;/strong&gt;: &lt;em&gt;This is not true, as you can encode the current state in extra functions, so you can truly recognise &lt;strong&gt;ALL&lt;/strong&gt; regular languages.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;You can most likely get all Type-2 languages for the same reason, but I'm not sure if you can manage to put both, the state &lt;strong&gt;and&lt;/strong&gt; the stack-constent on the call-stack. But on a general note, you can effectively forget about the ram, as you can always scale the size of the automaton so your alphabet exceeds the capacity of the ram. So if you could simulate a TM with only a stack, Type-2 would equal Type-0, wouldn't it?&lt;/em&gt;&lt;/p&gt;&#xA;" OwnerUserId="1908" LastEditorUserId="1908" LastEditDate="2010-10-29T22:37:34.937" LastActivityDate="2010-10-29T22:37:34.937" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="2554" PostTypeId="5" CreationDate="2010-10-29T21:51:56.150" Score="0" Body="&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Computability_theory&quot; rel=&quot;nofollow&quot;&gt;Computability theory&lt;/a&gt; (also known as recursion theory) is a branch of mathematical logic and computer science. It is mainly concerned with &lt;a href=&quot;http://en.wikipedia.org/wiki/Computability&quot; rel=&quot;nofollow&quot;&gt;computability&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;When some resource is restricted (such as time or space), then the &lt;a href=&quot;http://cstheory.stackexchange.com/questions/tagged/cc.complexity-theory&quot;&gt;cc.complexity-theory&lt;/a&gt; tag is more appropriate.&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="109" LastEditDate="2011-04-02T15:45:29.107" LastActivityDate="2011-04-02T15:45:29.107" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2555" PostTypeId="4" CreationDate="2010-10-29T21:51:56.150" Score="0" Body="Computability theory a.k.a. recursion theory." OwnerUserId="186" LastEditorUserId="77" LastEditDate="2011-04-02T15:45:46.407" LastActivityDate="2011-04-02T15:45:46.407" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2556" PostTypeId="2" ParentId="189" CreationDate="2010-10-29T22:14:20.153" Score="6" Body="&lt;p&gt;I would add reservoir sampling and the Knuth-Fisher-Yates shuffle. Especially when you start to see &lt;a href=&quot;http://en.wikipedia.org/wiki/Reservoir_sampling#Relation_to_Fisher-Yates_shuffle&quot; rel=&quot;noreferrer&quot;&gt;the connection&lt;/a&gt; between the 2 algorithms.&lt;/p&gt;&#xA;" OwnerDisplayName="ade" LastEditorUserId="168" LastEditDate="2010-10-30T03:15:34.207" LastActivityDate="2010-10-30T03:15:34.207" CommentCount="0" CommunityOwnedDate="2010-10-29T22:14:20.153" ContentLicense="CC BY-SA 2.5" />
  <row Id="2558" PostTypeId="2" ParentId="2517" CreationDate="2010-10-30T02:21:38.240" Score="10" Body="&lt;p&gt;As suggested by Matt Groff, you may be interested to look into the practice community for inspirations (or if $n$ in your situation is within the bit width of a current CPU). Indeed, the problem of integer multiplication by a constant has been considered by many compiler writers and circuit designers, although they are usually interested in &quot;multipler-less multipler&quot; (multiply using shift, add, and subtract). One of the early references I am aware of is (I learned this from Hacker's Delight section 8.4.):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Bernstein, R. (1986), Multiplication by integer constants. Software: Practice and Experience, 16: 641–652. &lt;a href=&quot;http://onlinelibrary.wiley.com/doi/10.1002/spe.4380160704/abstract&quot;&gt;doi: 10.1002/spe.4380160704&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More modern work by Vincent Lefèvre can be found &lt;a href=&quot;http://www.vinc17.org/research/mulbyconst/index.en.html&quot;&gt;here&lt;/a&gt; (be sure to see follow-up works to his), and he also notes a CMU project on &lt;a href=&quot;http://www.spiral.net/hardware/multless.html&quot;&gt;efficient circuit synthesis&lt;/a&gt; (see the references there). The latter project even considers simultaneous multiplication by a set of constants.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;P.S. I encourage you to consider changing your username to something recognizable.&lt;/p&gt;&#xA;" OwnerUserId="163" LastActivityDate="2010-10-30T02:21:38.240" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2559" PostTypeId="1" AcceptedAnswerId="4691" CreationDate="2010-10-30T06:13:14.867" Score="12" ViewCount="1494" Body="&lt;p&gt;By &lt;a href=&quot;http://www.cs.umd.edu/~jkatz/complexity/relativization.pdf&quot; rel=&quot;nofollow&quot;&gt;http://www.cs.umd.edu/~jkatz/complexity/relativization.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $A$ is a PSPACE-complete language, $P^{A}=NP^{A}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $B$ is a deterministic polynomial-time oracle, $P^{B}\ne NP^{B}$ (assuming $P\ne NP$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$PP$ is the class of decision problems analog for $\#P$ and $P\subseteq PP\subseteq PSPACE$, &lt;/p&gt;&#xA;&#xA;&lt;p&gt;but neither $P=PP$ nor $PP=PSAPCE$ is known. But is it true that&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$coNP^{\#P}=NP^{\#P}=P^{\#P}$?&lt;/p&gt;&#xA;" OwnerUserId="1925" LastEditorUserId="567" LastEditDate="2011-02-02T02:13:23.877" LastActivityDate="2011-02-02T04:46:09.153" Title="Is $coNP^{\#P}=NP^{\#P}=P^{\#P}$?" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;counting-complexity&gt;&lt;open-problem&gt;&lt;oracles&gt;" AnswerCount="2" CommentCount="13" FavoriteCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="2560" PostTypeId="2" ParentId="1920" CreationDate="2010-10-30T06:51:04.020" Score="13" Body="&lt;p&gt;A good example is Barrington's theorem:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;If a boolean function $f$ is&#xA;  computable by a circuit of depth $d$,&#xA;  then $f$ is computable by a branching&#xA;  program of width 5 and length $4^d$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://blog.computationalcomplexity.org/2008/11/barringtons-theorem.html?showComment=1226437380000#c5698134130239477112&quot;&gt;The proof&lt;/a&gt; uses the group $S_5$ (because it has two elements that are conjugate to each other and to their commutator), but it can be generalized to work on any non-solvable group.&lt;/p&gt;&#xA;" OwnerUserId="168" LastActivityDate="2010-10-30T06:51:04.020" CommentCount="0" CommunityOwnedDate="2010-10-30T06:51:04.020" ContentLicense="CC BY-SA 2.5" />
  <row Id="2561" PostTypeId="2" ParentId="189" CreationDate="2010-10-30T10:48:09.500" Score="8" Body="&lt;p&gt;I wonder nobody mentioned Schöning's random-walk algorithm for 3-SAT solving yet. It it very simple:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Start with a random assignment &lt;/li&gt;&#xA;&lt;li&gt;As long as there exists an unsatisfied clause: Flip a randomly-selected variable in this clause&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Nevertheless, it is to date one of the fastest algorithms in its class.&lt;/p&gt;&#xA;" OwnerUserId="1956" LastActivityDate="2010-10-30T10:48:09.500" CommentCount="0" CommunityOwnedDate="2010-10-30T10:48:09.500" ContentLicense="CC BY-SA 2.5" />
  <row Id="2562" PostTypeId="1" AcceptedAnswerId="2564" CreationDate="2010-10-30T12:13:44.647" Score="62" ViewCount="11391" Body="&lt;h3&gt;background&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;Several years ago, when I was an undergraduate, we were given a homework on amortized analysis. I was unable to solve one of the problems. I had asked it in &lt;a href=&quot;http://groups.google.com/group/comp.theory/browse_thread/thread/bb34b65ca22641f8/b2b6ecb44bc3e912&quot;&gt;comp.theory&lt;/a&gt;, but no satisfactory result came up. I remember the course TA insisted on something he couldn't prove, and said he forgot the proof, and ... [you know what].&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Today, I recalled the problem. I was still eager to know, so here it is...&lt;/p&gt;&#xA;&#xA;&lt;h3&gt;The Question&lt;/h3&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is it possible to implement &lt;strong&gt;a stack&lt;/strong&gt; using &lt;strong&gt;two queues&lt;/strong&gt;, so that both &lt;strong&gt;PUSH&lt;/strong&gt; &#xA;  and &lt;strong&gt;POP&lt;/strong&gt; operations run in &lt;strong&gt;amortized time O(1)&lt;/strong&gt;? If yes, could you tell &#xA;  me how?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Note: The situation is quite easy if we want to implement &lt;strong&gt;a queue&lt;/strong&gt; with &lt;strong&gt;two stacks&lt;/strong&gt; (with corresponding operations &lt;strong&gt;ENQUEUE&lt;/strong&gt; &amp;amp; &lt;strong&gt;DEQUEUE&lt;/strong&gt;). Please observe the difference.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;PS: The above problem is not the homework itself. The homework did not require any lower bounds; just an implementation and the running time analysis.&lt;/p&gt;&#xA;" OwnerUserId="873" LastEditorUserId="873" LastEditDate="2010-11-29T15:35:43.060" LastActivityDate="2018-08-14T18:14:13.340" Title="One Stack, Two Queues" Tags="&lt;ds.algorithms&gt;&lt;ds.data-structures&gt;&lt;open-problem&gt;&lt;time-complexity&gt;" AnswerCount="10" CommentCount="5" FavoriteCount="31" ContentLicense="CC BY-SA 2.5" />
  <row Id="2563" PostTypeId="2" ParentId="2548" CreationDate="2010-10-30T12:56:00.937" Score="5" Body="&lt;p&gt;(For now let me just stick with connectivity queries, which unfortunately may not be sufficient for your application.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Many of the previous work on the dynamic connectivity problem is in the edge-update model: you assume the number of vertices is fixed, and you can insert and/or delete edges while making queries. If you can only insert (delete), that's incremental (decremental). If you can do both, that's fully-dynamic. Thorup's work as pointed out by JeffE (and myself in the comment) are all for edge updates.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;AFAIK, the CS theory community is only only starting to look at vertex updates for general graphs. There was a ground-breaking work on this by Chan, Pătraşcu, and Roditty in FOCS 2008. See this &lt;a href=&quot;http://people.csail.mit.edu/mip/papers/subconn/paper.pdf&quot;&gt;link&lt;/a&gt; for a very recent (Sept 2010) revision and the references within.&lt;/p&gt;&#xA;" OwnerUserId="163" LastActivityDate="2010-10-30T12:56:00.937" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="2564" PostTypeId="2" ParentId="2562" CreationDate="2010-10-30T15:10:19.623" Score="46" Body="&lt;p&gt;I don't have an actual answer, but here's some evidence that the problem is open:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;It's not mentioned in Ming Li, Luc Longpré and Paul M. B. Vitányi, &quot;The power of the queue&quot;, Structures 1986, which considers several other closely related simulations&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;It's not mentioned in Martin Hühne, &quot;On the power of several queues&quot;, Theor. Comp. Sci. 1993, a follow-on paper.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;It's not mentioned in Holger Petersen, &quot;Stacks versus Deques&quot;, COCOON 2001.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Burton Rosenberg, &quot;Fast nondeterministic recognition of context-free languages using two queues&quot;, Inform. Proc. Lett. 1998, gives an O(n log n) two-queue algorithm for recognizing any CFL using two queues. But a nondeterministic pushdown automaton can recognize CFLs in linear time. So if there were a simulation of a stack with two queues faster than O(log n) per operation, Rosenberg and his referees should have known about it.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="95" LastActivityDate="2010-10-30T15:10:19.623" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2565" PostTypeId="2" ParentId="2562" CreationDate="2010-10-30T15:46:11.310" Score="0" Body="&lt;p&gt;I can't get the queues to implement a stack in amortized constant time. However, I can think of a way to get two queues to implement a stack in worst case linear time.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Using one external bit of data, keep a record of which queue was used last, the left queue $A$ or the right queue $B$.&lt;/li&gt;&#xA;&lt;li&gt;Each time there is a push operation, flip the bit and insert the element in the queue the bit now demarcates. Pop everything from the other queue and push it onto the current queue.&lt;/li&gt;&#xA;&lt;li&gt;A pop operation takes off the front of the current queue and does not touch the external state bit.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Of course, we can add another bit of external state which tells us whether the last operation was a push or a pop. We can delay moving everything from one queue onto the other until we get two push operations in a row. This also makes the pop operation slightly more complicated. This gives us O(1) amortized complexity for the pop operation. Unfortunately push remains linear.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;All of this works because each time a push operation is done, the new element is put at the head of an empty queue and the full queue is added to the tail end of it, effectively reversing the elements.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you want to get amortized constant time operations, you'll probably have to do something more clever.&lt;/p&gt;&#xA;" OwnerUserId="3624" LastActivityDate="2010-10-30T15:46:11.310" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="2566" PostTypeId="2" ParentId="1920" CreationDate="2010-10-30T21:51:56.673" Score="6" Body="&lt;p&gt;This may or may not count, but recently Zermelo-Fraenkel with atoms (ZFA) and Fraenkel-Mostowski (FM) set theories have been applied to the study of abstract syntax with name binding.  ZFA was introduced in the early 20th century as a tool for proving the independence of CH and then forgotten about, but rediscovered in the late 1990s by two computer scientists---Gabbay and Pitts---studying something completely unconnected.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See &lt;a href=&quot;http://www.gabbay.org.uk/papers/fountl.pdf&quot;&gt;this&lt;/a&gt; survey paper for instance.&lt;/p&gt;&#xA;" OwnerUserId="375" LastEditorUserId="168" LastEditDate="2010-10-31T00:37:02.900" LastActivityDate="2010-10-31T00:37:02.900" CommentCount="0" CommunityOwnedDate="2010-10-30T21:51:56.673" ContentLicense="CC BY-SA 2.5" />
  <row Id="2567" PostTypeId="1" CreationDate="2010-10-30T21:59:27.683" Score="7" ViewCount="165" Body="&lt;p&gt;First of all, sorry for this long and maybe not very informative title...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Context:&lt;/strong&gt; &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $G=(V,E)$ be a directed graph, let $v_0 \in V$ be the initial node of paths that I will consider in the graph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $\Sigma$ an alphabet and let $T$ (for target) a set of words built from $\Sigma$ (e.g. $T \subset \Sigma^*$). Nodes of $G$ are tagged with letters from $\Sigma$. Each node is tagged with only one letter, and most nodes are tagged with the empty letter.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The general question is: how to find (algorithm, complexity) the set of paths starting at $v_0$ that contains all words from $T$ and whose cumulated length is minimum.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This problem is not that hard to solve (I am not speaking from the complexity point of view): this can be solved using classical optimization methods. For instance we take all paths of a sufficient length that cover elements of $T$, then we choose a subset of these paths that cover all elements of $T$ and whose length is minimum. Before that we off course checked (reachability analysis) if all elements of $T$ can be found in the graph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;My problem:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Imagine now that we don't have access to the graph explicitly (not enough memory for instance).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Instead we are given a function $f : V \rightarrow subgraph_k(G) $ that gives us, for a node $v$, the subgraph of diameter $2k$ centered around $v$ ($k \in \mathbb{N}$ fixed &lt;em&gt;a priori&lt;/em&gt;). Moreover we have only a very limited memory (let's say we cannot store more than a few paths of reasonable length).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;With this very restricted access to the graph, how to solve the problem? All solutions that I can imagine are based on sampling and are clearly not effective. Does any of you have an idea?&lt;/p&gt;&#xA;" OwnerUserId="76" LastEditorUserId="186" LastEditDate="2011-01-06T02:58:35.200" LastActivityDate="2011-01-06T02:58:35.200" Title="Finding the set of paths of smallest cumulated length that cover a given set of patterns" Tags="&lt;ds.algorithms&gt;&lt;graph-algorithms&gt;&lt;randomized-algorithms&gt;" AnswerCount="0" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="2568" PostTypeId="2" ParentId="2562" CreationDate="2010-10-31T00:28:49.407" Score="13" Body="&lt;p&gt;&lt;em&gt;&lt;strong&gt;The answer below is 'cheating', in that while it doesn't use any space between operations the operations themselves can use more than $O(1)$ space. See elsewhere in this thread for an answer that doesn't have this problem.&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;While I don't have an answer to your exact question, I did find an algorithm that works in $O(\sqrt{n})$ time instead of $O(n)$. I believe this is tight, though I don't have a proof. If anything, the algorithm shows that trying to prove a lower bound of $O(n)$ is futile, so it might help in answering your question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I present two algorithms, the first being a simple algorithm with a $O(n)$ running time for Pop and the second with a $O(\sqrt{n})$ running time for Pop. I describe the first one mainly because of its simplicity so that the second one is easier to understand.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To be give more details: the first uses no additional space, has an $O(1)$ worst case (and amortized) Push and an $O(n)$ worst case (and amortized) Pop, but the worst case behaviour is not always triggered. Since it doesn't use any additional space beyond the two queues, it's slightly 'better' than the solution offered by Ross Snider.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The second uses a single integer field (so $O(1)$ extra space), has a $O(1)$ worst case (and amortized) Push and a $O(\sqrt{n})$ amortized Pop. It's running time is therefore significantly better than that of the 'simple' approach, yet it does use some extra space.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;The first algorithm&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We have two queues: queue $first$ and queue $second$. $first$ will be our 'push queue', while $second$ will be the queue already in 'stack order'.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Pushing is done by simply enqueueing the parameter onto $first$.&lt;/li&gt;&#xA;&lt;li&gt;Popping is done as follows. If $first$ is empty, we simply dequeue $second$ and return the result. Otherwise, we reverse $first$, append all of $second$ to $first$ and swap $first$ and $second$. We then dequeue $second$ and return the result of the dequeue.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;C# code for the first algorithm&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This could should be quite readable, even if you've never seen C# before. If you don't know what generics are, just replace all instances of 'T' by 'string' in your mind, for a stack of strings.&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;public class Stack&amp;lt;T&amp;gt; {&#xA;    private Queue&amp;lt;T&amp;gt; first = new Queue&amp;lt;T&amp;gt;();&#xA;    private Queue&amp;lt;T&amp;gt; second = new Queue&amp;lt;T&amp;gt;();&#xA;    public void Push(T value) {&#xA;        first.Enqueue(value);&#xA;    }&#xA;    public T Pop() {&#xA;        if (first.Count == 0) {&#xA;            if (second.Count &amp;gt; 0)&#xA;                return second.Dequeue();&#xA;            else&#xA;                throw new InvalidOperationException(&quot;Empty stack.&quot;);&#xA;        } else {&#xA;            int nrOfItemsInFirst = first.Count;&#xA;            T[] reverser = new T[nrOfItemsInFirst];&#xA;&#xA;            // Reverse first&#xA;            for (int i = 0; i &amp;lt; nrOfItemsInFirst; i++)&#xA;                reverser[i] = first.Dequeue();    &#xA;            for (int i = nrOfItemsInFirst - 1; i &amp;gt;= 0; i--)&#xA;                first.Enqueue(reverser[i]);&#xA;&#xA;            // Append second to first&#xA;            while (second.Count &amp;gt; 0)&#xA;                first.Enqueue(second.Dequeue());&#xA;&#xA;            // Swap first and second&#xA;            Queue&amp;lt;T&amp;gt; temp = first; first = second; second = temp;&#xA;&#xA;            return second.Dequeue();&#xA;        }&#xA;    }&#xA;}&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Analysis&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Obviously Push works in $O(1)$ time. Pop may touch everything inside $first$ and $second$ a constant amount of times, so we have $O(n)$ in the worst case. The algorithm exhibits this behaviour (for instance) if one pushes $n$ elements onto the stack and then repeatedly performs a singe Push and a single Pop operation in succession.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;The second algorithm&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We have two queues: queue $first$ and queue $second$. $first$ will be our 'push queue', while $second$ will be the queue already in 'stack order'.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is an adapted version of the first algorithm, in which we don't immediately 'shuffle' the contents of $first$ into $second$. Instead, if $first$ contains a sufficiently small number of elements compared to $second$ (namely the square root of the number of elements in $second$), we only reorganise $first$ into stack order and don't merge it with $second$.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Pushing is still done by simply enqueueing the parameter onto $first$.&lt;/li&gt;&#xA;&lt;li&gt;Popping is done as follows. If $first$ is empty, we simply dequeue $second$ and return the result. Otherwise, we reorganising the contents of $first$ so that they are in stack order. If $|first| &amp;lt; \sqrt{|second|}$ we simply dequeue $first$ and return the result. Otherwise, we append $second$ onto $first$, swap $first$ and $second$, dequeue $second$ and return the result.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;C# code for the first algorithm&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This could should be quite readable, even if you've never seen C# before. If you don't know what generics are, just replace all instances of 'T' by 'string' in your mind, for a stack of strings.&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;public class Stack&amp;lt;T&amp;gt; {&#xA;    private Queue&amp;lt;T&amp;gt; first = new Queue&amp;lt;T&amp;gt;();&#xA;    private Queue&amp;lt;T&amp;gt; second = new Queue&amp;lt;T&amp;gt;();&#xA;    int unsortedPart = 0;&#xA;    public void Push(T value) {&#xA;        unsortedPart++;&#xA;        first.Enqueue(value);&#xA;    }&#xA;    public T Pop() {&#xA;        if (first.Count == 0) {&#xA;            if (second.Count &amp;gt; 0)&#xA;                return second.Dequeue();&#xA;            else&#xA;                throw new InvalidOperationException(&quot;Empty stack.&quot;);&#xA;        } else {&#xA;            int nrOfItemsInFirst = first.Count;&#xA;            T[] reverser = new T[nrOfItemsInFirst];&#xA;&#xA;            for (int i = nrOfItemsInFirst - unsortedPart - 1; i &amp;gt;= 0; i--)&#xA;                reverser[i] = first.Dequeue();&#xA;&#xA;            for (int i = nrOfItemsInFirst - unsortedPart; i &amp;lt; nrOfItemsInFirst; i++)&#xA;                reverser[i] = first.Dequeue();&#xA;&#xA;            for (int i = nrOfItemsInFirst - 1; i &amp;gt;= 0; i--)&#xA;                first.Enqueue(reverser[i]);&#xA;&#xA;            unsortedPart = 0;&#xA;            if (first.Count * first.Count &amp;lt; second.Count)&#xA;                return first.Dequeue();&#xA;            else {&#xA;                while (second.Count &amp;gt; 0)&#xA;                    first.Enqueue(second.Dequeue());&#xA;&#xA;                Queue&amp;lt;T&amp;gt; temp = first; first = second; second = temp;&#xA;&#xA;                return second.Dequeue();&#xA;            }&#xA;        }&#xA;    }&#xA;}&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Analysis&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Obviously Push works in $O(1)$ time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Pop works in $O(\sqrt{n})$ amortized time. There are two cases: if $|first| &amp;lt; \sqrt{|second|}$, then we shuffle $first$ into stack order in $O(|first|) = O(\sqrt{n})$ time. If $|first| \geq \sqrt{|second|}$, then we must have had at least $\sqrt{n}$ calls for Push. Hence, we can only hit this case every $\sqrt{n}$ calls to Push and Pop. The actual running time for this case is $O(n)$, so the amortized time is $O(\frac{n}{\sqrt{n}}) = O(\sqrt{n})$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Final note&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It it is possible to eliminate the extra variable at the cost of making Pop an $O(\sqrt{n})$ operation, by having Pop reorganise $first$ at every call instead of having Push do all the work.&lt;/p&gt;&#xA;" OwnerUserId="988" LastEditorUserId="988" LastEditDate="2010-11-01T12:44:22.423" LastActivityDate="2010-11-01T12:44:22.423" CommentCount="6" ContentLicense="CC BY-SA 2.5" />
  <row Id="2569" PostTypeId="1" CreationDate="2010-10-31T01:37:13.740" Score="15" ViewCount="448" Body="&lt;p&gt;Suppose we want to find&#xA;$$\sum_x \prod_{ij \in E} f(x_i,x_j)$$&#xA;or&#xA;$$\max_x \prod_{ij \in E} f(x_i,x_j)$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Where max or sum is taken over all labelings of $V$, product is taken over all edges $E$ for a graph $G=\{V,E\}$ and $f$ is an arbitrary function. This quantity is easy to find for bounded tree width graphs and in general NP-hard for planar graphs. Number of proper colorings, maximum independent set and number of Eulerian subgraphs are special instances of the problem above. I'm interested in polynomial time approximation schemes for problems of this kind, especially for planar graphs. What graph decompositions would be useful?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;b&gt;Edit 11/1&lt;/b&gt;: As an example, I'm wondering about decompositions that might be analogous to cluster expansions of statistical physics (ie, Mayer expansion). When $f$ represents weak interactions, such expansions converge, which means that you could achieve given accuracy with $k$ terms of the expansion regardless of the size of the graph. Wouldn't this imply existence of PTAS for the quantity?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;b&gt;Update 02/11/2011&lt;/b&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;High temperature expansions rewrite partition function $Z$ as a sum of terms where higher order terms depend on higher order interactions. When &quot;correlations decay&quot;, high order terms decay fast enough so that almost all of $Z$'s mass is contained in finite number of low-order terms.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For instance for Ising model consider the following expression of its partition function&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$Z=\sum_\mathbf{x\in \mathcal{X}} \exp J \sum_{ij \in E} x_i x_j = c \sum_{A\in C} (\tanh J)^{|A|} $$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here $c$ a simple constant, $C$ is a set of Eulerian subgraphs of our graph, $|A|$ is number of edges in subgraph $A$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We have rewritten partition function as a sum over subgraphs where each term in the sum is exponentially penalized by size of the subgraph. Now group terms with same exponent together and approximate $Z$ by taking first $k$ terms. When number of Eulerian subgraphs of size $p$ doesn't grow too fast, the error of our approximation decays exponentially with $k$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Approximate counting is hard in general, but easy for &quot;correlation decay&quot; instances. For instance, in the case of Ising model, there's correlation decay when $f(k)$ grows slower than $(\tanh J)^k$ where $f(k)$ is the number of Eulerian subgraphs of size $k$. I believe in such case, truncating high temperature expansion gives a PTAS for $Z$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another example is counting weighted independent sets -- it's tractable for any graph if the weight is low enough because you can make the problem exhibit correlation decay. The quantity is then approximated by counting independent sets in bounded size regions. I believe Dror Weitz' STOC'06 result implies that unweighted independent set counting is possible for any graph with maximum degree 4.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I've found two families of &quot;local&quot; decompositions -- Bethe cluster graphs and Kikuchi region graphs. Bethe decomposition essentially tells you to multiply counts in regions, and divide by counts in region overlaps. Kikuchi region graph method improves on this by taking into account that region overlaps can themselves overlap, using &quot;inclusion-exclusion&quot; type of correction.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Alternative approach is to decompose the problem into global tractable parts, like in, &quot;Variational Inference over Combinatorial Spaces&quot;. However, local decompositions allow you to control approximation quality by selecting region size&lt;/p&gt;&#xA;" OwnerUserId="434" LastEditorUserId="434" LastEditDate="2011-02-12T22:08:49.083" LastActivityDate="2011-02-12T22:08:49.083" Title="Graph decompositions for combining &quot;local&quot; functions of vertex labelings" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;approximation-algorithms&gt;&lt;counting-complexity&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2570" PostTypeId="2" ParentId="2347" CreationDate="2010-10-31T02:42:46.363" Score="11" Body="&lt;p&gt;I don't know an answer, and am guessing it's an open question. There are very few known examples of such &quot;surprising simulations&quot; similar to Yao/Beigel-Tarui and Barrington. One thing along these lines that springs to mind is Valiant's result that for every $f:{0,1}^n\rightarrow{0,1}^n$ that can be computed by  $O(\log n)$-depth $O(n)$-size circuit, there exists $g$ in $NC_0[n^{\epsilon}]$ that agrees with $f$ on $2^{n-o(n)}$ inputs. (And if the circuit for $f$ uses only linear operations than so does the circuit for $g$, leading to the lower bounds / matrix rigidity connection). But unlike $NC^1$ this is about multiple-output functions, and also only for linear sized circuits. Note also that a &lt;a href=&quot;http://www.cse.iitk.ac.in/users/manindra/algebra/depth-four.pdf&quot;&gt;non-trivial reduction to depth 4&lt;/a&gt; is known for arithmetic circuits.&lt;/p&gt;&#xA;" OwnerUserId="1202" LastActivityDate="2010-10-31T02:42:46.363" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="2571" PostTypeId="1" AcceptedAnswerId="2588" CreationDate="2010-10-31T02:57:11.570" Score="86" ViewCount="17754" Body="&lt;p&gt;I am currently an undergraduate student, bound to graduate this year. After graduation, I am considering to work towards a TCS master/PhD. I have begun wondering what fields of mathematics are considered helpful for TCS, especially (classical) complexity theory.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What fields do you consider essential for someone that wants to study complexity theory? Do you know of any good textbooks covering these fields and if yes, please include their difficulty level (introductory,graduate etc.).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you consider a field that is not heavily used in complexity theory but you consider it critical for TCS, please also refer it.&lt;/p&gt;&#xA;" OwnerUserId="879" LastEditorUserId="1800" LastEditDate="2011-01-25T08:49:19.433" LastActivityDate="2015-11-15T17:26:08.947" Title="What kind of mathematical background is needed for complexity theory?" Tags="&lt;cc.complexity-theory&gt;&lt;soft-question&gt;&lt;advice-request&gt;" AnswerCount="14" CommentCount="2" FavoriteCount="88" ContentLicense="CC BY-SA 2.5" />
  <row Id="2572" PostTypeId="2" ParentId="2571" CreationDate="2010-10-31T05:29:08.090" Score="25" Body="&lt;p&gt;Apart from basic stuff, probably:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Combinatorics&lt;/strong&gt; -- You might find youself counting things quite regularly&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Stochastics&lt;/strong&gt; -- For average case analyses and randomized algorithms&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I like &lt;em&gt;Concrete Mathematics&lt;/em&gt; by Knuth. It gives a good overview/basic knowledge of many important tools.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you like &lt;strong&gt;generating functions&lt;/strong&gt; (see &lt;em&gt;generationfunctionology&lt;/em&gt; by Wilf) as a tool, &lt;strong&gt;complex analysis&lt;/strong&gt; comes in handy, too.&lt;/p&gt;&#xA;" OwnerUserId="1546" LastActivityDate="2010-10-31T05:29:08.090" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="2573" PostTypeId="1" CreationDate="2010-10-31T06:00:20.850" Score="10" ViewCount="748" Body="&lt;p&gt;Is there any tool where one can figure out if two people have coauthored or not? Like the tool where one can figure out somebody's &lt;em&gt;Erdos&lt;/em&gt; _number_ .&lt;/p&gt;&#xA;" OwnerDisplayName="OrdinaryStudent" LastEditorUserId="186" LastEditDate="2010-10-31T09:21:48.320" LastActivityDate="2018-12-29T19:58:28.663" Title="How to know if X and Y have coauthored?" Tags="&lt;soft-question&gt;" AnswerCount="4" CommentCount="1" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="2574" PostTypeId="2" ParentId="2573" CreationDate="2010-10-31T06:11:03.297" Score="9" Body="&lt;p&gt;Try the &lt;a href=&quot;http://www.ams.org/mathscinet/collaborationDistance.html&quot; rel=&quot;nofollow&quot;&gt;MathSciNet Collaboration Distance Calculator&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="206" LastActivityDate="2010-10-31T06:11:03.297" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="2575" PostTypeId="2" ParentId="2571" CreationDate="2010-10-31T06:26:37.993" Score="1" Body="&lt;p&gt;Once upon a time the undergraduate level course &lt;a href=&quot;http://www.student.cs.uwaterloo.ca/~cs464/&quot; rel=&quot;nofollow&quot;&gt;CS464 (2002)&lt;/a&gt; at UWaterloo CS used Christos H. Papadimitriou's &lt;em&gt;Computational Complexity&lt;/em&gt;, Addison-Wesley, 1994.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Background topics listed include Turing machines, undecidability, time complexity, and NP-completeness.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For background, browse your library near QA267.G57 (Goddard's &lt;em&gt;Introducing the theory of computation&lt;/em&gt;, based on a quick skim read or two and its availability to me, seems to cover the CS side of the background; I have a feeling some set and group theory from the pure math side would also be useful.)&lt;/p&gt;&#xA;" OwnerUserId="1966" LastActivityDate="2010-10-31T06:26:37.993" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="2576" PostTypeId="2" ParentId="2571" CreationDate="2010-10-31T06:37:46.747" Score="35" Body="&lt;p&gt;You should add &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/1846282977&quot;&gt;Dexter Kozen's book&lt;/a&gt; on the theory of computation to your list. Covers the basics of complexity theory very effectively, and the short lecture format is great. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In terms of mathematical background, in addition to what's mentioned above:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Probability theory&lt;/li&gt;&#xA;&lt;li&gt;Linear algebra and abstract algebra&lt;/li&gt;&#xA;&lt;li&gt;graph theory&lt;/li&gt;&#xA;&lt;li&gt;basic logic&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I don't think you need to be a master of these topics to start, but it definitely helps to have a certain comfort level. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2010-10-31T06:37:46.747" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2577" PostTypeId="1" CreationDate="2010-10-31T08:39:46.517" Score="10" ViewCount="262" Body="&lt;p&gt;A simplified classical database transaction can be viewed as:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;reading M items&lt;/li&gt;&#xA;&lt;li&gt;performing some calculation based on those reads&lt;/li&gt;&#xA;&lt;li&gt;writing some N results based on these calculations, which may include the elements originally read.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;When performing these transactions (concurrently) the &lt;a href=&quot;http://en.wikipedia.org/wiki/ACID&quot;&gt;ACID&lt;/a&gt; properties need to be maintained.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Exactly the same requirements (N updates based on M reads transactionally) exist in other non-DBMS concurrent systems.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm interested in finding out what algorithms exist for performing/resolving these transactions, and what the relative strengths and weaknesses of these algorithms are. Could you recommend some reading? This could be books or online references/tutorials.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Clarification:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So for example, a naive algorithm might be each transaction taking a single global lock, in effect forcing single threading and removing concurrency. A slightly more complicated algorithm would be individual item read/write locks, with an ordering to avoid deadlock). Etc, etc. Is there a good source documenting various algorithms for solving this problem. Even an answer which only pointed to a single algorithm with it's strength and weaknesses would be useful.&lt;/p&gt;&#xA;" OwnerUserId="926" LastEditorUserId="926" LastEditDate="2010-10-31T10:29:45.530" LastActivityDate="2010-10-31T10:29:45.530" Title="What algorithms/reading matter would you recommend on resolving transactions / read-write locks?" Tags="&lt;ds.algorithms&gt;&lt;dc.distributed-comp&gt;" AnswerCount="1" CommentCount="6" FavoriteCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2578" PostTypeId="1" AcceptedAnswerId="2586" CreationDate="2010-10-31T08:48:15.117" Score="15" ViewCount="1640" Body="&lt;p&gt;3-edge coloring of cubic graphs is $NP$-complete. Four Color Theorem is equivalent to &quot;Every cubic planar bridgeless graphs is 3-edge colorable&quot;. &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What is the complexity of 3-edge coloring of cubic planar graphs?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Also, It is conjectured that $\Delta$-edge coloring is $NP$-hard for planar graphs with maximum degree $\Delta \in${4,5}.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Has any progress been made towards resolving this conjecture?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Marek Chrobak and Takao Nishizeki. Improved edge-coloring algorithms&#xA;for planar graphs. Journal of Algorithms, 11:102-116, 1990&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="9722" LastEditDate="2016-07-20T20:29:40.380" LastActivityDate="2016-07-20T20:29:40.380" Title="Complexity of edge coloring in planar graphs" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;&lt;np-hardness&gt;&lt;graph-colouring&gt;" AnswerCount="3" CommentCount="4" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="2579" PostTypeId="2" ParentId="2577" CreationDate="2010-10-31T09:18:15.073" Score="10" Body="&lt;p&gt;The book &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/1558605088&quot;&gt;Transactional Information Systems&lt;/a&gt; by Weikum and Vossen covers quite a lot of the area, both in theoretical and practical terms, from different perspectives, not just transactions. It's about 1000 pages long, so will keep you busy for a weekend or two. On the other hand, it's nearly 10 years old, so there might be something more up-to-date available. Other books in the line include &lt;em&gt;Concurrency Control and Recovery in Database Systems&lt;/em&gt; by Bernstein, P., Hadzilacos, V., and Goodman, N, Addison-Wesley, 1987, &lt;em&gt;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/1558601902&quot;&gt;Transaction Processing: Concepts and Techniques&lt;/a&gt;&lt;/em&gt; by Jim Gray and Andreas Reuter, and &lt;em&gt;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/1558606238&quot;&gt;Principles of Transaction Processing&lt;/a&gt;&lt;/em&gt; by Philip A. Bernstein and Eric Newcomer, 2009. I haven't seen the latter one, but being the most recent it could be a good place to start, although your solution may well be found in older texts. A trip to the library may be worthwhile.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A monumental text in this area is &lt;em&gt;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/155860104X&quot;&gt;Atomic Transactions&lt;/a&gt;&lt;/em&gt; by Nancy Lynch et al. It presents a formal account and proofs of a number of the kinds of algorithms you are interested in. It's rather formal, and tedious, so may not be to your taste.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A lot of recent work is devoted to &lt;a href=&quot;http://en.wikipedia.org/wiki/Software_transactional_memory&quot;&gt;Software Transactional Memory&lt;/a&gt;, which is applying the transaction ideas to multi-threaded applications. There are tens of publications on this topic each year: the wikipedia page provides plenty of references.&lt;/p&gt;&#xA;" OwnerUserId="77" LastEditorUserId="77" LastEditDate="2010-10-31T10:19:36.603" LastActivityDate="2010-10-31T10:19:36.603" CommentCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="2580" PostTypeId="2" ParentId="2573" CreationDate="2010-10-31T09:51:29.283" Score="17" Body="&lt;p&gt;In computer science, &lt;a href=&quot;http://www.informatik.uni-trier.de/~ley/db/index.html&quot; rel=&quot;noreferrer&quot;&gt;DBLP&lt;/a&gt; might be a better idea than MathSciNet. Your own page in DBLP lists all your coauthors; the database is certainly not complete, but usually the information is correct.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can also try to use Google Scholar, with a search similar to this:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;author:foo author:bar&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;As always with Google Scholar, double-check the results.&lt;/p&gt;&#xA;" OwnerUserId="74" LastActivityDate="2010-10-31T09:51:29.283" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2581" PostTypeId="2" ParentId="2571" CreationDate="2010-10-31T10:17:25.663" Score="14" Body="&lt;p&gt;Knowledge of basic mathematical logic is, in my opinion, a plus. You can have a look at the two books by Cori and Lascar.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://books.google.com/books?id=Cle6_dOLt2IC&amp;amp;dq=editions%3aCle6_dOLt2IC&amp;amp;hl=en&amp;amp;ei=-EHNTM7SBorMswbOuPCWCA&amp;amp;sa=X&amp;amp;oi=book_result&amp;amp;ct=result&amp;amp;resnum=1&amp;amp;ved=0CCUQ6AEwAA&quot;&gt;Mathematical Logic: A Course with Exercises Part I&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://books.google.com/books?id=zDrqGvJhSPIC&amp;amp;printsec=frontcover&amp;amp;dq=cori+lascar&amp;amp;hl=en&amp;amp;ei=0EHNTMa_BYqVswbXyfWWCA&amp;amp;sa=X&amp;amp;oi=book_result&amp;amp;ct=result&amp;amp;resnum=1&amp;amp;ved=0CCgQ6AEwAA#v=onepage&amp;amp;q&amp;amp;f=false&quot;&gt;Mathematical Logic: A Course with Exercises Part II&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="76" LastActivityDate="2010-10-31T10:17:25.663" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2582" PostTypeId="1" AcceptedAnswerId="2584" CreationDate="2010-10-31T11:37:12.430" Score="-2" ViewCount="237" Body="&lt;p&gt;A student has implemented a scheme interpreter &lt;a href=&quot;http://www.ccs.neu.edu/home/matthias/BTLS/&quot; rel=&quot;nofollow&quot;&gt;in scheme&lt;/a&gt; and then &lt;a href=&quot;http://nakkaya.com/2010/08/24/a-micro-manual-for-lisp-implemented-in-c/&quot; rel=&quot;nofollow&quot;&gt;in C&lt;/a&gt;, and a &lt;a href=&quot;https://www.cs.indiana.edu/~aghuloum/compilers-tutorial-2006-09-16.pdf&quot; rel=&quot;nofollow&quot;&gt;scheme compiler&lt;/a&gt; in scheme.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;That student is now interested in implementing a STM (Software Transactional Memory) system into this compiler. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a paper/doco to aid them to do this?&lt;/p&gt;&#xA;" OwnerUserId="608" LastEditorUserId="109" LastEditDate="2010-11-04T16:43:50.023" LastActivityDate="2010-11-04T16:43:50.023" Title="Approach to implementing an STM for a student" Tags="&lt;dc.parallel-comp&gt;" AnswerCount="1" CommentCount="2" ClosedDate="2010-11-04T16:42:50.273" ContentLicense="CC BY-SA 2.5" />
  <row Id="2583" PostTypeId="2" ParentId="2573" CreationDate="2010-10-31T11:37:44.330" Score="14" Body="&lt;p&gt;Complementing &lt;a href=&quot;https://cstheory.stackexchange.com/questions/2573/how-to-know-if-x-and-y-have-coauthored/2580#2580&quot;&gt;Jukka's answer&lt;/a&gt;: There's a Java-based tool called &lt;a href=&quot;http://dbis.uni-trier.de/DBL-Browser/&quot; rel=&quot;nofollow noreferrer&quot;&gt;DBL-Browser&lt;/a&gt;, which uses DBLP and provides you with lots of graphical charts, like this:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/dXrZw.jpg&quot;/&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It uses the same database as DBLP. It can be used both online or offline. You must download the whole &lt;a href=&quot;http://dbis.uni-trier.de/DBL-Browser/downloads/dblpCOMP.zip&quot; rel=&quot;nofollow noreferrer&quot;&gt;DBLP database&lt;/a&gt; (~ 60MB) in order to use it offline.&lt;/p&gt;&#xA;" OwnerUserId="873" LastEditorUserId="32711" LastEditDate="2018-12-29T19:58:28.663" LastActivityDate="2018-12-29T19:58:28.663" CommentCount="3" ContentLicense="CC BY-SA 4.0" />
  <row Id="2584" PostTypeId="2" ParentId="2582" CreationDate="2010-10-31T11:51:55.600" Score="3" Body="&lt;p&gt;If you look on the wikipedia page for &lt;a href=&quot;http://en.wikipedia.org/wiki/Software_transactional_memory&quot; rel=&quot;nofollow noreferrer&quot;&gt;STM&lt;/a&gt;, you'll see that there are many many implementations already available. Many approaches exist and as usual there are always trade-offs to consider. Naturally, associated with these implementations will be technical reports describing their implementations. One approach for scheme is documented in the article &lt;em&gt;&lt;a href=&quot;http://soft.vub.ac.be/Publications/2009/vub-prog-tr-09-05.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Reusable building blocks for software transactional memory&lt;/a&gt;&lt;/em&gt; by Charlotte Herzeel, Pascal Costanza and Theo D’Hondt. This StackOverflow &lt;a href=&quot;https://stackoverflow.com/questions/1627600/how-do-you-implement-software-transactional-memory&quot;&gt;question&lt;/a&gt; also addresses the issue. &lt;/p&gt;&#xA;" OwnerUserId="77" LastEditorUserId="-1" LastEditDate="2017-05-23T11:33:33.907" LastActivityDate="2010-10-31T11:51:55.600" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2585" PostTypeId="1" AcceptedAnswerId="2587" CreationDate="2010-10-31T12:09:46.463" Score="17" ViewCount="1561" Body="&lt;p&gt;This question is about Page 125 of the book &quot;Cellular automata in hyperbolic spaces: Volume 2&quot; By Maurice Margenstern, Publisher Archives contemporaines, 2008.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://books.google.com/books?id=eEgvfic3A4kC&amp;amp;pg=PA125&quot;&gt;http://books.google.com/books?id=eEgvfic3A4kC&amp;amp;pg=PA125&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the author's opinion, the question P=NP is ill-posed because in the hyperbolic setting P=NP or in the notation used later in the book P&lt;sub&gt;h&lt;/sub&gt;=NP&lt;sub&gt;h&lt;/sub&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I don't know enough about complexity to know what to make of this, but it sounds interesting.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So the question is basically, what do you make of it?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Do his claims make sense ?&lt;/p&gt;&#xA;" OwnerUserId="1970" LastActivityDate="2010-10-31T13:34:04.197" Title="Meaning of P=NP? depends on space-time geometry ?" Tags="&lt;cc.complexity-theory&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="2586" PostTypeId="2" ParentId="2578" CreationDate="2010-10-31T12:20:56.437" Score="16" Body="&lt;p&gt;Every &lt;em&gt;bridgeless&lt;/em&gt; planar cubic graph can be 3-edge-colored in quadratic time, as this task is equivalent to four-coloring a planar graph, which can be done in quadratic time. (See Robertson, Sanders, Seymour and Thomas: &lt;a href=&quot;http://people.math.gatech.edu/~thomas/OLDFTP/fcdir/fcstoc.ps&quot;&gt;http://people.math.gatech.edu/~thomas/OLDFTP/fcdir/fcstoc.ps&lt;/a&gt; )&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT: As Mathieu points out, cubic graphs with bridges are never 3-edge colourable.&lt;/p&gt;&#xA;" OwnerUserId="633" LastEditorUserId="633" LastEditDate="2011-07-08T23:00:45.780" LastActivityDate="2011-07-08T23:00:45.780" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="2587" PostTypeId="2" ParentId="2585" CreationDate="2010-10-31T13:17:16.827" Score="38" Body="&lt;p&gt;P=NP is a well-defined mathematical question which does not depend on space-time geometry. The question &quot;which problems can be solved by computations that are tractable in this universe?&quot; may depend on physics, and the answer does indeed appear to change in hyperbolic space or with quantum mechanics (e.g. quantum computing). However, this doesn't affect the P=NP question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In fact, one of the first reactions of a theoretical computer scientist would have to your reference is: &quot;What complexity class can be computed by a cellular automaton in hyperbolic space?&quot; If you redefine complexity classes when you change to hyperbolic space, it becomes much harder to talk about this question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;And if you look later in the book, the author defines P$_h$ as problems solvable in polynomial time on a hyperbolic cellular automaton, and proves P$_h$=PSPACE (and NP$_h$=P$_h$=PSPACE), so even the author isn't really taking complexity classes to change in hyperbolic space.&lt;/p&gt;&#xA;" OwnerUserId="1677" LastEditorUserId="1677" LastEditDate="2010-10-31T13:34:04.197" LastActivityDate="2010-10-31T13:34:04.197" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="2588" PostTypeId="2" ParentId="2571" CreationDate="2010-10-31T14:17:58.903" Score="55" Body="&lt;p&gt;If you look at the answers to &lt;a href=&quot;https://cstheory.stackexchange.com/questions/1920/examples-of-unrelated-mathematics-playing-a-fundamental-role-in-tcs&quot;&gt;this TCS StackExchange question&lt;/a&gt;, you'll see that there's a possibility that pretty much any area of mathematics could be important in complexity theory. So, if you're really interested in some area of mathematics that doesn't seem to be related, go ahead and study it anyway. If it ever does become relevant to complexity theory, you'll be one of the few complexity theorists who understands it.&lt;/p&gt;&#xA;" OwnerUserId="1677" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2010-10-31T21:22:24.420" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="2589" PostTypeId="2" ParentId="2562" CreationDate="2010-10-31T14:34:51.483" Score="14" Body="&lt;p&gt;Following some comments on my previous answer, it became clear to me that I was more or less cheating: I used extra space ($O(\sqrt{n})$ extra space in the second algorithm) during the execution of my Pop method.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The following algorithm does not use any additional space between methods and only $O(1)$ extra space during the execution of Push and Pop. Push has a $O(\sqrt{n})$ amortized running time and Pop has a $O(1)$ worst case (and amortized) running time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note to moderators: I'm not entirely sure if my decision to make this a separate answer is a correct one. I thought I shouldn't delete my original answer since it might still be of some relevance to the question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;The algorithm&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We have two queues: queue $first$ and queue $second$. $first$ will be our 'cache', while $second$ will be our main 'storage'. Both queues will always be in 'stack order'. $first$ will contain the elements at the top of the stack and $second$ will contain the elements at the bottom of the stack. The size of $first$ will always be at most the square root of $second$.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Push is done by 'inserting' the parameter at the start of the queue as follows: we enqueue the parameter to $first$, and then dequeue and re-enqueue all other elements in $first$. This way, the parameter ends up at the start of $first$.&lt;/li&gt;&#xA;&lt;li&gt;If $first$ becomes larger than the square root of $second$, we enqueue all elements of $second$ onto $first$ one by one and then swap $first$ and $second$. This way, the elements of $first$ (the top of the stack) end up at the head of $second$.&lt;/li&gt;&#xA;&lt;li&gt;Pop is done by dequeueing $first$ and returning the result if $first$ is not empty, and otherwise by dequeueing $second$ and returning the result.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;C# code for the first algorithm&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This code should be quite readable, even if you've never seen C# before. If you don't know what generics are, just replace all instances of 'T' by 'string' in your mind, for a stack of strings.&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;public class Stack&amp;lt;T&amp;gt; {&#xA;    private Queue&amp;lt;T&amp;gt; first = new Queue&amp;lt;T&amp;gt;();&#xA;    private Queue&amp;lt;T&amp;gt; second = new Queue&amp;lt;T&amp;gt;();&#xA;    public void Push(T value) {&#xA;        // I'll explain what's happening in these comments. Assume we pushed&#xA;        // integers onto the stack in increasing order: ie, we pushed 1 first,&#xA;        // then 2, then 3 and so on.&#xA;&#xA;        // Suppose our queues look like this:&#xA;        // first: in 5 6 out&#xA;        // second: in 1 2 3 4 out&#xA;        // Note they are both in stack order and first contains the top of&#xA;        // the stack.&#xA;&#xA;        // Suppose value == 7:&#xA;        first.Enqueue(value);&#xA;        // first: in 7 5 6 out&#xA;        // second: in 1 2 3 4 out&#xA;&#xA;        // We restore the stack order in first:&#xA;        for (int i = 0; i &amp;lt; first.Count - 1; i++)&#xA;            first.Enqueue(first.Dequeue());&#xA;        // first.Enqueue(first.Dequeue()); is executed twice for this example, the &#xA;        // following happens:&#xA;        // first: in 6 7 5 out&#xA;        // second: in 1 2 3 4 out&#xA;        // first: in 5 6 7 out&#xA;        // second: in 1 2 3 4 out&#xA;&#xA;        // first exeeded its capacity, so we merge first and second.&#xA;        if (first.Count * first.Count &amp;gt; second.Count) {&#xA;            while (second.Count &amp;gt; 0)&#xA;                first.Enqueue(second.Dequeue());&#xA;            // first: in 4 5 6 7 out&#xA;            // second: in 1 2 3 out&#xA;            // first: in 3 4 5 6 7 out&#xA;            // second: in 1 2 out&#xA;            // first: in 2 3 4 5 6 7 out&#xA;            // second: in 1 out&#xA;            // first: in 1 2 3 4 5 6 7 out&#xA;            // second: in out&#xA;&#xA;            Queue&amp;lt;T&amp;gt; temp = first; first = second; second = temp;&#xA;            // first: in out&#xA;            // second: in 1 2 3 4 5 6 7 out&#xA;        }&#xA;    }&#xA;    public T Pop() {&#xA;        if (first.Count == 0) {&#xA;            if (second.Count &amp;gt; 0)&#xA;                return second.Dequeue();&#xA;            else&#xA;                throw new InvalidOperationException(&quot;Empty stack.&quot;);&#xA;        } else&#xA;            return first.Dequeue();&#xA;    }&#xA;}&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Analysis&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Obviously Pop works in $O(1)$ time in the worst case.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Push works in $O(\sqrt{n})$ amortized time. There are two cases: if $|first| &amp;lt; \sqrt{|second|}$ then Push takes $O(\sqrt{n})$ time. If $|first| \geq \sqrt{|second|}$ then Push takes $O(n)$ time, but after this operation $first$ will be empty. It will take $O(\sqrt{n})$ time before we get this case again, so the amortized time is $O(\frac{n}{\sqrt{n}}) = O(\sqrt{n})$ time.&lt;/p&gt;&#xA;" OwnerUserId="988" LastEditorUserId="12739" LastEditDate="2013-11-08T03:46:15.990" LastActivityDate="2013-11-08T03:46:15.990" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="2590" PostTypeId="2" ParentId="2578" CreationDate="2010-10-31T15:31:44.950" Score="4" Body="&lt;p&gt;You might find this paper of interest:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://cs.nyu.edu/cole/papers/edge_col.pdf&quot; rel=&quot;nofollow&quot;&gt;http://cs.nyu.edu/cole/papers/edge_col.pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="987" LastActivityDate="2010-10-31T15:31:44.950" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2591" PostTypeId="2" ParentId="2571" CreationDate="2010-10-31T16:17:25.187" Score="18" Body="&lt;p&gt;I think a list of fields of mathematics that are &lt;em&gt;not&lt;/em&gt; useful would be much shorter than a list of fields that are!  I can't think of any.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Study whatever math looks interesting, and/or whatever it looks like you need at the moment. Even if you don't use it directly, it'll help you learn other stuff that you do.&lt;/p&gt;&#xA;" OwnerUserId="111" LastActivityDate="2010-10-31T16:17:25.187" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2592" PostTypeId="2" ParentId="2571" CreationDate="2010-10-31T16:42:05.463" Score="12" Body="&lt;p&gt;I recommend taking a look at these books:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0691118809&quot;&gt;The Princeton Companion to Mathematics&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/052154310X&quot;&gt;Logic in Computer Science; Modelling and Reasoning about Systems&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Also, topics in the &lt;a href=&quot;http://www.informatik.uni-trier.de/~ley/db/conf/mfcs/&quot;&gt;MFCS (Mathematical Foundations of Computer Science)&lt;/a&gt; conference might lead you to what kind of background you may need. (Caveat: the conference includes highly advanced topics. You don't need to master them. Just try to get the big picture.)&lt;/p&gt;&#xA;" OwnerUserId="873" LastActivityDate="2010-10-31T16:42:05.463" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2593" PostTypeId="2" ParentId="2571" CreationDate="2010-10-31T18:17:28.810" Score="4" Body="&lt;p&gt;I recommend reading Garey and Johnson's book&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Computers and Intractability: A Guide to the Theory of NP-Completeness&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This can be read with very little mathematical background. I think this book is a joy to read, and I would recommend it as a first book over Papadimitriou and Arora/Barak. Once you've read this, you can dip into the other books and identify various bits of mathematics you need to understand the advanced topics you are interested in.&lt;/p&gt;&#xA;" OwnerUserId="633" LastActivityDate="2010-10-31T18:17:28.810" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2594" PostTypeId="2" ParentId="2571" CreationDate="2010-10-31T18:55:10.883" Score="29" Body="&lt;p&gt;The previous answers already listed the basic ones: probability theory, combinatorics, linear algebra, abstract algebra (finite fields, group theory, etc).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would add: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Fourier analysis&lt;/strong&gt;, see, e.g., Ryan O'Donnel's course: &#xA;&lt;a href=&quot;http://www.cs.cmu.edu/~odonnell/boolean-analysis/&quot;&gt;http://www.cs.cmu.edu/~odonnell/boolean-analysis/&lt;/a&gt; &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Coding theory&lt;/strong&gt;, see Madhu Sudan's course:&#xA;&lt;a href=&quot;http://people.csail.mit.edu/madhu/coding/course.html&quot;&gt;http://people.csail.mit.edu/madhu/coding/course.html&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Information theory&lt;/strong&gt;, the standard book is Elements of Information Theory: &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0471241954&quot;&gt;http://www.amazon.com/Elements-Information-Theory-Telecommunications-Processing/dp/0471241954&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There's also representation theory, random walks, and many more I probably forget... &lt;/p&gt;&#xA;" OwnerUserId="1621" LastEditorUserId="1621" LastEditDate="2012-10-09T13:23:42.597" LastActivityDate="2012-10-09T13:23:42.597" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="2595" PostTypeId="2" ParentId="2347" CreationDate="2010-10-31T19:07:29.467" Score="16" Body="&lt;p&gt;Here is a slight expansion of my comment to the answer by Boaz. Agrawal, Allender and Datta in their paper &lt;a href=&quot;http://www.cse.iitk.ac.in/users/manindra/other/Constant-Depth-Arithmetic-Circuits.pdf&quot;&gt;On $TC^0$, $AC^0$, and Arithmetic Circuits&lt;/a&gt; give a characterization of $TC^0$ in terms of arithmetic circuits. Namely, they show that a language $A$ is in $TC^0$ if and only there is a function $f$ in $\sharp AC^0$ and an integer $k$ such that&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$x \in A$ if and only if $f(x) = 2^{|x|^k}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that $\sharp AC^0$ is a special form of constant depth arithmetic circuit over $Z$ (only constants 0 and 1 are allowed, and variable inputs can be $x_i$ or $1-x_i$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given that, as Boaz points out in his answer, there is a non-trivial depth reduction for arithmetic circuits, this might be something to look into.&lt;/p&gt;&#xA;" OwnerUserId="313" LastActivityDate="2010-10-31T19:07:29.467" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2596" PostTypeId="2" ParentId="2571" CreationDate="2010-10-31T20:53:42.810" Score="34" Body="&lt;p&gt;$\bullet$ The book &lt;em&gt;Extremal Combinatorics&lt;/em&gt;, by Stasys Jukna, is IMO too little-known within the complexity community.  It's a great collection of combinatorial techniques written largely with an eye to their applications in TCS (mostly complexity).  A number of important complexity techniques are discussed in their combinatorics context, including famous results like monotone- and $AC^0$-circuit lower bounds, but also some very nice results you might not otherwise encounter.  And there's lots of exercises.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is (to my knowledge) the only published book that treats the 'linear algebra method in combinatorics' in depth--a slick, powerful tool to know about.  There's a draft manuscript of Babai and Frankl that goes into much more depth, but that's not published or online:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://cs.uchicago.edu/page/linear-algebra-methods-combinatorics-applications-geometry-and-computer-science&quot; rel=&quot;noreferrer&quot;&gt;https://cs.uchicago.edu/page/linear-algebra-methods-combinatorics-applications-geometry-and-computer-science&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\bullet$ As you probably know, the probabilistic method in combinatorics is very important, even central, in complexity theory.  Jukna's book covers it, but it is treated in greater depth (with many other beautiful examples) by Alon and Spencer's famous book &lt;em&gt;The Probabilistic Method.&lt;/em&gt;&lt;/p&gt;&#xA;" OwnerUserId="223" LastEditorUserId="34442" LastEditDate="2015-11-15T17:26:08.947" LastActivityDate="2015-11-15T17:26:08.947" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="2598" PostTypeId="2" ParentId="2571" CreationDate="2010-10-31T23:10:42.017" Score="20" Body="&lt;p&gt;A common, though certainly not universal, paradigm for many successful researchers in the TCS community is as follows: Know a few basics at an undergraduate level, such as logic, linear algebra, probability, optimization,graph theory, combinatorics, basic abstract algebra. Beyond that, don't force yourself to learn anything else until you really think you need it to crack that problem you've been struggling with for months, or if you think you would really enjoy learning something for the sake of it. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&quot;How do I know that I need it if I've never seen it before?&quot;, you ask? Good question. Sometimes you get lucky and sense it: &quot;You know what, this sub-problem I'm trying to tackle sounds a lot like that fourier transform thingamajiggy Fred won't shut up about. I'll have to check that out or trap Fred in a room and have him give me a quick run through the basics.&quot; Other times, you trap a bunch of more knowledgable people than yourself in a room, say by giving a seminar talk or something, and whine about how you can't solve this problem until Fred chimes in with &quot;Hey, I bet you that you can solve this with Fourier Analysis. Let me show you how.&quot; In the end, you get a joint paper with Fred, you learned something new, and you and Fred are best buddies now and go out drinking every other Saturday night. Not a bad system.&lt;/p&gt;&#xA;" OwnerUserId="1980" LastActivityDate="2010-10-31T23:10:42.017" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2601" PostTypeId="2" ParentId="2571" CreationDate="2010-11-01T00:50:00.470" Score="22" Body="&lt;p&gt;Sanjeev Arora has &lt;a href=&quot;http://www.cs.princeton.edu/~arora/pubs/toolkit.pdf&quot;&gt;a nice document&lt;/a&gt; for a grad course (for 1st year students) he taught called the &quot;theorist's toolkit,&quot; which has a lot of the basic material a theory student should know.  A lot of this stuff you can wait until grad school to learn, but it will give you a good idea of what you'll need to know and some of the prerequisites.&lt;/p&gt;&#xA;" OwnerUserId="123" LastActivityDate="2010-11-01T00:50:00.470" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2602" PostTypeId="1" AcceptedAnswerId="2607" CreationDate="2010-11-01T04:56:57.977" Score="10" ViewCount="4824" Body="&lt;p&gt;I have the following LP:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&#xA;/* Objective function */&#xA;min: 1 w + 2 x + 0.5 y + z;&#xA;&#xA;/* Variable bounds */&#xA;w + x &amp;lt;= T1;&#xA;w + y = U1;&#xA;x + z = U2;&#xA;T1 = 50;&#xA;U1 = 70;&#xA;U2 = 25;&#xA;&#xA;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;In this case U1 + U2 &gt; T1 and the optimal solution is y = 70 and z = 25. I want to enforce the condition that w and x variables be assigned values before assigning values to y and z. If U1 + U2 &amp;lt; T1, then I want only w and x to have values and y = z = 0. Is there a way to enforce such a constraint in an LP or an MILP?&lt;/p&gt;&#xA;" OwnerUserId="1985" LastActivityDate="2010-11-01T09:31:55.123" Title="LP formulation for if-conditions" Tags="&lt;linear-programming&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="2605" PostTypeId="2" ParentId="273" CreationDate="2010-11-01T08:31:47.463" Score="1" Body="&lt;p&gt;I do not know when it came up, but the &lt;a href=&quot;http://en.wikipedia.org/wiki/Tower_of_Hanoi#Recursive_solution&quot; rel=&quot;nofollow&quot;&gt;recursive solution for Towers of Hanoi&lt;/a&gt; is frequently used as introductory example. The problem originated before formal approaches on computation.&lt;/p&gt;&#xA;" OwnerUserId="1546" LastActivityDate="2010-11-01T08:31:47.463" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2606" PostTypeId="1" AcceptedAnswerId="2629" CreationDate="2010-11-01T09:11:53.497" Score="33" ViewCount="1756" Body="&lt;p&gt;Is there an interesting example of a randomized algorithm for a search problem that always outputs the &lt;em&gt;same&lt;/em&gt; (correct) answer, regardless of its internal randomness, but which exploits the randomness so that its expected running time is better than the running time of the fastest known deterministic algorithm for the problem?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In particular, I was wondering if there is such an algorithm for finding a prime between n and 2n.  There's no known polynomial time deterministic algorithm.  There's a trivial randomized algorithm that works just by sampling random integers in the interval, which works thanks to the &lt;a href=&quot;http://en.wikipedia.org/wiki/Prime_number_theorem&quot;&gt;prime number theorem&lt;/a&gt;.  But is there an algorithm of the above kind whose expected running time is intermediate between the two?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT: To refine my question slightly, I wanted such an algorithm for a problem where there are &lt;em&gt;many&lt;/em&gt; possible correct outputs, and yet the randomized algorithm settles on one independent of its randomness.  I realize that the question is probably not fully specified...&lt;/p&gt;&#xA;" OwnerUserId="15" LastEditorUserId="15" LastEditDate="2010-11-01T22:30:36.673" LastActivityDate="2011-10-12T22:31:54.103" Title="Randomized algorithm that &quot;looks&quot; deterministic?" Tags="&lt;ds.algorithms&gt;&lt;randomized-algorithms&gt;" AnswerCount="9" CommentCount="4" FavoriteCount="8" ContentLicense="CC BY-SA 2.5" />
  <row Id="2607" PostTypeId="2" ParentId="2602" CreationDate="2010-11-01T09:23:43.030" Score="11" Body="&lt;p&gt;Here are answers to your two questions. The details will depend upon which solver you are using:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Ensuring that $w$ and $x$ are assigned values before $y$ and $z$ can often be done programmatically by expressing the variable ordering used by the solver. That is, specifying which variables the solver tries to find values for first. This is possible, for example, in the &lt;a href=&quot;http://www.emn.fr/z-info/choco-solver/&quot;&gt;choco&lt;/a&gt; solver (which is a constraint satisfaction problem (CSP) solver not one for LP or MILP), though I'm sure other solvers offer this possibility too.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The &lt;a href=&quot;http://www.gnu.org/software/glpk/&quot;&gt;GNU Linear Programming Kit&lt;/a&gt; actually has an &lt;code&gt;if-then-else&lt;/code&gt; construct for expressing conditionals. Look for &quot;conditional&quot; in the &lt;a href=&quot;http://www.dep.ufmg.br/professores/miranda/EPD065/lang.pdf&quot;&gt;manual&lt;/a&gt;. You could wrap the clauses you are interested in in such a statement: &lt;code&gt;if U1 + U2 &amp;lt; T2 then y = 0 and z = 0 else true&lt;/code&gt;. (Note that I haven't actually tried this, so the syntax may be wrong.)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;An alternative answer to the second question takes advantage of the fact that $U1$, $U2$ and $T1$ are constants. Simply, have two variants of the LP problem, one for when $U1 + U2 &amp;lt; T1$ and one for when $U1 + U2 \ge T1$. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="77" LastEditorUserId="77" LastEditDate="2010-11-01T09:31:55.123" LastActivityDate="2010-11-01T09:31:55.123" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2608" PostTypeId="2" ParentId="2606" CreationDate="2010-11-01T10:41:39.207" Score="2" Body="&lt;p&gt;Before [AKS], Primality had coRP and RP algorithms (Miller-Rabin for coRP, Adleman-Huang for RP). A natural zero error extension would be to run both simultaneously until you push the error down to $\frac{1}{n^c}$ or so, and then run the brute-force algorithm. The expected running time would then remain $\text{polylog}(n)$.&lt;/p&gt;&#xA;" OwnerUserId="877" LastActivityDate="2010-11-01T10:41:39.207" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="2609" PostTypeId="2" ParentId="2606" CreationDate="2010-11-01T12:15:25.377" Score="6" Body="&lt;p&gt;There was a polymath project addressing a related question:&#xA;&lt;a href=&quot;http://michaelnielsen.org/polymath1/index.php?title=Finding_primes&quot;&gt;http://michaelnielsen.org/polymath1/index.php?title=Finding_primes&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="5" LastActivityDate="2010-11-01T12:15:25.377" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2610" PostTypeId="2" ParentId="2606" CreationDate="2010-11-01T12:42:12.113" Score="3" Body="&lt;p&gt;Regarding your first question, I thought of Quicksort first but that should be obvious. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is a string matching algorithm (&lt;a href=&quot;http://wwwagak.informatik.uni-kl.de/staff/nebel/www_horspool/www_horspool.ps&quot; rel=&quot;nofollow&quot;&gt;Nebel, 2006&lt;/a&gt;) that uses probabilistic ideas. I do know wether this is the fastest approach existing, though, and you apparently need some samples for training.&lt;/p&gt;&#xA;" OwnerUserId="1546" LastActivityDate="2010-11-01T12:42:12.113" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2611" PostTypeId="1" AcceptedAnswerId="2810" CreationDate="2010-11-01T13:28:37.467" Score="43" ViewCount="15811" Body="&lt;p&gt;My question is simple:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What is the worst-case running time of the best known algorithm for computing an &lt;a href=&quot;http://mathworld.wolfram.com/EigenDecomposition.htmlBlockquoteBlockquote&quot; rel=&quot;noreferrer&quot;&gt;eigendecomposition&lt;/a&gt; of an $n \times n$ matrix? &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Does eigendecomposition reduce to matrix multiplication or are the best known algorithms $O(n^3)$ (via &lt;a href=&quot;http://en.wikipedia.org/wiki/Singular_value_decomposition&quot; rel=&quot;noreferrer&quot;&gt;SVD&lt;/a&gt;) in the worst case ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Please note that I am asking for a worst case analysis (only in terms of $n$), not for bounds with problem-dependent constants like condition number.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT&lt;/strong&gt;: Given some of the answers below, let me adjust the question: I'd be happy with an $\epsilon$-approximation.  The approximation can be multiplicative, additive, entry-wise, or whatever reasonable definition you'd like.  I am interested if there's a known algorithm that has better dependence on $n$ than something like $O(\mathrm{poly}(1/\epsilon)n^3)$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT 2&lt;/strong&gt;: See &lt;a href=&quot;https://cstheory.stackexchange.com/questions/3115/complexity-of-finding-the-eigendecomposition-of-a-symmetric-matrix&quot;&gt;this related question&lt;/a&gt; on &lt;em&gt;symmetric matrices&lt;/em&gt;.&lt;/p&gt;&#xA;" OwnerUserId="123" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.743" LastActivityDate="2020-11-17T21:13:30.513" Title="Complexity of Finding the Eigendecomposition of a Matrix" Tags="&lt;ds.algorithms&gt;&lt;time-complexity&gt;&lt;matrices&gt;&lt;linear-algebra&gt;&lt;na.numerical-analysis&gt;" AnswerCount="7" CommentCount="15" FavoriteCount="15" ContentLicense="CC BY-SA 2.5" />
  <row Id="2612" PostTypeId="2" ParentId="529" CreationDate="2010-11-01T14:09:38.163" Score="15" Body="&lt;p&gt;I can give you an informal reason for why the separation would not prove $P \ne NP$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;VP and VNP focus on algebraic functions which degree is bounded by a polynomial.  Notice that it is easy to compute in an algebraic function of exponential degree with a polynomial size algebraic circuit. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is a well known&lt;a href=&quot;http://dx.doi.org/10.1137/0212043&quot;&gt;1&lt;/a&gt; depth reduction for algebraic circuits: any polynomial size algebraic circuit computing a polynomial of degree $d$ can be turned into an algebraic circuit of polynomial size and depth $O(\log d \log n)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You may think of $VP$ as an algebraic variant of $NC^2$, thus proving that $VP \ne VNP$ amounts to prove an algebraic non-uniform equivalent of $NC^2 \ne \# P$.  That would not rule out $P = NP$, at least not immediately.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Disclaimer&lt;/strong&gt;: I can't access the paper right now and I don't remember if the reduction works in any field or just in finite ones.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://dx.doi.org/10.1137/0212043&quot;&gt;1&lt;/a&gt; L. G. Valiant, S. Skyum, S. Berkowitz, C. Rackoff. &lt;a href=&quot;http://dx.doi.org/10.1137/0212043&quot;&gt;Fast parallel computation of polynomials using few processors&lt;/a&gt;. SIAM J. Comput. 12(4), pp. 641-644, 1983.&lt;/p&gt;&#xA;" OwnerUserId="267" LastEditorUserId="267" LastEditDate="2010-12-23T12:48:02.927" LastActivityDate="2010-12-23T12:48:02.927" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="2613" PostTypeId="2" ParentId="2606" CreationDate="2010-11-01T14:23:19.603" Score="3" Body="&lt;p&gt;The following STACS '97 paper might be interesting for your case: &lt;a href=&quot;http://www.springerlink.com/content/mh2560g8kx54r315/&quot; rel=&quot;nofollow&quot;&gt;The Complexity of Generating Test Instances&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Abstract: Recently, Watanabe proposed a new framework for testing the correctness and average case behavior of algorithms that purport to solve a given NP search problem efficiently on average. The idea is to randomly generate certified instances in a way that resembles the underlying distribution. We discuss this approach and show that test instances can be generated for every NP search problem with non-adaptive queries to an NP oracle. Further, we introduce Las Vegas as well as Monte Carlo types of test instance generators and show that these generators can be used to find out whether an algorithm is correct and efficient on average. In fact, it is not hard to construct Monte Carlo generators for all RP search problems as well as Las Vegas generators for all ZPP search problems. On the other hand, we prove that Monte Carlo generators can only exist for problems in co-AM.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Specially, take a look at page 384, under Corollary 12: &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;It is not hard to construct a Las Vegas generator for any $\rm{ZPP}$ search problem, i.e. for any $\rm{RP}$ search problem whose domain is in $\rm{ZPP}$. On the other hand, Las Vegas generators can only exist for $\rm{NP}$ problems whose domain belongs to $\rm{NP} \cap \rm{coNP}$...&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="873" LastActivityDate="2010-11-01T14:23:19.603" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2614" PostTypeId="1" AcceptedAnswerId="2616" CreationDate="2010-11-01T14:24:59.807" Score="6" ViewCount="673" Body="&lt;p&gt;In the paper &quot;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.104.6877&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;nofollow&quot;&gt;On Multi-dimensional Packing Problems&lt;/a&gt;&quot; by Chekuri and Khanna there is the following lemma:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Lemma 4.3.(p. 191 of the paper) Let $G$ be a graph on $n$ vertices with $\omega(G) ≤ k$. Then $\alpha(G) ≥ n^{1/k}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we substitute $G$ by a complete graph, then we get:&#xA;$\omega(G) = n$, then $\alpha(G) ≥ n^{1/n}&gt;1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, if I correctly understand the notion of an independence number, then $\alpha(K_n)=1,\forall n$. A contradiction to the lemma.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have checked for several cases and it seems that this is the only one where the lemma doesn't hold.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Could someone explain what is wrong with my reasoning?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;P.S. I sent this question to one of the authors before posting it here, but haven't received any answer.&lt;/p&gt;&#xA;" OwnerUserId="1060" LastEditorUserId="1060" LastEditDate="2010-11-05T14:20:58.073" LastActivityDate="2010-11-05T14:20:58.073" Title="Lower bound on independence number in terms of clique number and order of graph" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2616" PostTypeId="2" ParentId="2614" CreationDate="2010-11-01T14:46:52.317" Score="7" Body="&lt;p&gt;Where it says&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;then any maximal independent set has size at least $n^{1/k}$,&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;it should say&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;then any maximal independent set has size at least the floor of $n^{1/k}$,&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;(Then this sentence is true for the complete graph $K_k$.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;They are being a bit sloppy, but I imagine that they just need the result for &quot;large enough $n$&quot;.&lt;/p&gt;&#xA;" OwnerUserId="633" LastActivityDate="2010-11-01T14:46:52.317" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="2617" PostTypeId="2" ParentId="2606" CreationDate="2010-11-01T14:51:41.470" Score="7" Body="&lt;p&gt;Polynomial factorization algorithms might be the kind of example you are looking for. The  &lt;a href=&quot;http://en.wikipedia.org/wiki/Cantor%E2%80%93Zassenhaus_algorithm&quot;&gt;Cantor-Zassenhaus algorithm&lt;/a&gt; uses randomness to compute the (unique upto scaling) irreducible polynomial factors of a given univariate polynomial over a finite field $\mathbb{F}_p$ in time polynomial in the size of the input and $\log p$. If you really want the problem to have a unique answer, you can ask for the monic irreducible prime factors of a monic polynomial. As far as I know, it is not known how to factorize in deterministic polynomial time unless $p$ is guaranteed to be small.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By the way, the above can be made a zero-error algorithm, since we know how to test for irreducibility of a polynomial deterministically in time polynomial in the degree of the polynomial and $\log p$. (See &lt;a href=&quot;http://www.cmi.ac.in/~ramprasad/lecturenotes/algcomp/lecture11.pdf&quot;&gt;these&lt;/a&gt; lecture notes.)&lt;/p&gt;&#xA;" OwnerUserId="17464" LastEditorUserId="17464" LastEditDate="2010-11-01T15:10:05.067" LastActivityDate="2010-11-01T15:10:05.067" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2620" PostTypeId="2" ParentId="2606" CreationDate="2010-11-01T16:33:05.520" Score="12" Body="&lt;p&gt;Consider a complete binary tree with all $2^n$ leaves containing 0, except one leaf that contains 1.  The task is to find the leaf that contains 1.  Against any deterministic search algorithm it is possible to construct an infinite family of trees (one for each $n$) for which the algorithm has to check every leaf.  So for this worst-case family the deterministic algorithm has expected runtime $2^n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now consider an algorithm that randomly chooses the first leaf uniformly at random, and then checks all successive leaves deterministically (wrapping around to the beginning).  This will find the 1 after examining half of all leaves, on average.  So the randomized algorithm has expected runtime $2^{n-1}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does this qualify?&lt;/p&gt;&#xA;" OwnerUserId="109" LastActivityDate="2010-11-01T16:33:05.520" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="2621" PostTypeId="2" ParentId="2606" CreationDate="2010-11-01T16:42:58.633" Score="18" Body="&lt;p&gt;Do randomized data structures count?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There’s the &lt;a href=&quot;http://en.wikipedia.org/wiki/Skip_list&quot;&gt;&lt;strong&gt;skip list&lt;/strong&gt;&lt;/a&gt; which is a sorted associative map data structure.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Its running time for common operations such as insertion, retrieval and deletion are (in the expected case) on par with those in balanced search trees – i.e. $O(\log n)$. However, the data structure is sometimes claimed to have a much better constant factor than search tree implementations when done properly (this relies critically on a good and efficient source of randomness). The better constant factor probably results from the fact that no rebalancing (or any similar operation) has to take place.&lt;/p&gt;&#xA;" OwnerUserId="974" LastActivityDate="2010-11-01T16:42:58.633" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="2622" PostTypeId="2" ParentId="2515" CreationDate="2010-11-01T17:20:46.223" Score="8" Body="&lt;p&gt;If the Lebesgue measure of those oracles that compute a set $A\subseteq\mathbb N$ is positive, then $A$ is computable. This goes back to de Leeuw, Moore, Shannon, and Shapiro in 1956 and Sacks in 1963. For a discussion see Downey and Hirschfeldt's new book &lt;em&gt;Algorithmic randomness and complexity&lt;/em&gt;. As other answers have mentioned, the idea is to take a majority vote. (While this can be done computably, there is no claim that the algorithm is efficient.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;de Leeuw, K., Moore, E. F., Shannon, C. E., and Shapiro, N. Computability&#xA;by probabilistic machines, Automata studies, pp. 183–212. Annals of&#xA;mathematics studies, no. 34. Princeton University Press, Princeton, N. J.,&#xA;1956.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;G. Sacks, Degrees of Unsolvability, Princeton University Press, 1963.&lt;/p&gt;&#xA;" OwnerUserId="1993" LastActivityDate="2010-11-01T17:20:46.223" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2623" PostTypeId="2" ParentId="2573" CreationDate="2010-11-01T17:42:08.757" Score="3" Body="&lt;p&gt;There is also &lt;a href=&quot;http://academic.research.microsoft.com/&quot; rel=&quot;nofollow&quot;&gt;Microsoft Academic Search&lt;/a&gt; if you're looking for graphical display of coauthor graphs, although it does not appear to be a finished product content-wise.&lt;/p&gt;&#xA;" OwnerUserId="1993" LastActivityDate="2010-11-01T17:42:08.757" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2625" PostTypeId="2" ParentId="1785" CreationDate="2010-11-01T18:36:59.570" Score="3" Body="&lt;p&gt;When we say that a monotone machine is a set $L$ of pairs of strings $(x,y)$, the first component $x$ is the part of the input tape being read in order to produce the output $y$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This set is c.e. (computably enumerable) because we can run computations with all (finite parts of) oracles in parallel, and watch for pairs $(x,y)$ where this happens.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The condition that if $(x,y)\in L$, $(x',y')\in L$ and $x\preceq x'$ then $y\preceq y'$ or $y'\preceq y$ just says that we have consistency, i.e., if you see more of the input bits you can't go back and say that you now outputted something different on an earlier input after all.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Conversely, given such a c.e. set we can produce a machine that monitors the c.e. set $L$ and looks for pairs $(x,y)$ entering $L$, and checks whether $x$ is a prefix of what's on the input tape given to the machine. If so, it extends its output string to $y$.&lt;/p&gt;&#xA;" OwnerUserId="1993" LastActivityDate="2010-11-01T18:36:59.570" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2626" PostTypeId="1" AcceptedAnswerId="2627" CreationDate="2010-11-01T20:59:08.927" Score="0" ViewCount="1308" Body="&lt;p&gt;I cannot for the life of me wrap my head around these reductions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Specifically, the example I'm wrestling with:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;REGULAR = {&amp;lt;M&amp;gt; | M is a Turing Machine and L(M) is regular}&#xA;&#xA;Reduction to ACCEPT_TM where ACCEPT_TM = {&amp;lt;M,w&amp;gt; | M is a TM and w is a string, M accepts w}&#xA;&#xA;Construct TM M':&#xA;M' = &quot;On input x&#xA;    1. If x has the form 0^n1^n, accept&#xA;    2. Otherwise, run M on input w and accept if M accepts w.&quot;&#xA;&#xA;&#xA;If M accepts w, M' accepts SIGMA*&#xA;If M does not accept w, M' accepts 0^n1^n&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;I understand the first implication (if M accepts w, M' accepts SIGMA*).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What I don't understand is the implication that if M does not accept w, then M' accepts strings of the form 0^n1^n.  How are they reaching this conclusion?  To me, it seems like &quot;If x is in the form 0^n1^n, then don't run M&quot;, which doesn't seem logically equivalent.&lt;/p&gt;&#xA;" OwnerUserId="1999" LastEditorUserId="186" LastEditDate="2010-11-02T01:56:05.860" LastActivityDate="2010-11-02T01:56:05.860" Title="Question about Mapping Reductions (Clarify Example)" Tags="&lt;automata-theory&gt;&lt;turing-machines&gt;&lt;computability&gt;&lt;reductions&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="2627" PostTypeId="2" ParentId="2626" CreationDate="2010-11-01T22:05:08.603" Score="3" Body="&lt;p&gt;If M does not accept w, then the only case in which M' accepts is if its input is of the form 0^n 1^n.&lt;/p&gt;&#xA;" OwnerUserId="1621" LastActivityDate="2010-11-01T22:05:08.603" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="2629" PostTypeId="2" ParentId="2606" CreationDate="2010-11-01T23:32:35.350" Score="23" Body="&lt;p&gt;Shafi Goldwasser communicated to me that she and coauthors have been investigating exactly such algorithms for number-theoretic problems!  The following is known:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Lenstra has shown that there is such an algorithm for finding a quadratic non-residue mod a given prime.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Gat and Goldwasser have shown that there is such an algorithm for finding a generator of $\mathbb{Z}_p^*$, where $p$ is a given prime of the form $2q + 1$ for a prime $q$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;(I don't know of citable references.) There is also ongoing research on the question I asked about finding a prime between $n$ and $2n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT: The paper by Gat and Goldwasser is now published: &lt;a href=&quot;http://eccc.hpi-web.de/report/2011/136/&quot;&gt;http://eccc.hpi-web.de/report/2011/136/&lt;/a&gt;. This paper though doesn't resolve the question of finding a prime between $n$ and $2n$. &lt;/p&gt;&#xA;" OwnerUserId="15" LastEditorUserId="15" LastEditDate="2011-10-12T22:31:54.103" LastActivityDate="2011-10-12T22:31:54.103" CommentCount="4" CommunityOwnedDate="2010-11-04T22:49:35.293" ContentLicense="CC BY-SA 3.0" />
  <row Id="2630" PostTypeId="2" ParentId="2430" CreationDate="2010-11-01T23:57:13.657" Score="2" Body="&lt;p&gt;In your reformulation of the question, do you fix the number of times you flip the coin? If not, is it not necessary to give a distribution for when you stop flipping the coin?&lt;/p&gt;&#xA;" OwnerUserId="1178" LastActivityDate="2010-11-01T23:57:13.657" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="2631" PostTypeId="2" ParentId="2430" CreationDate="2010-11-02T01:45:17.750" Score="3" Body="&lt;p&gt;As you asked it, the question about the expected length (given the height) does not make sense without a prior distribution on the length of the string.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You should instead consider the number of times you get tails before you get $h$ heads in a row, since this will give you the number of descendants of a node of height $h$ in a skip list.  Let's represent this value with the random variable $X=X(h)$.  When we start, or right after we get tails, the probability of starting and finishing a run of $h$ or more heads before getting tails again is $2^{-h}$.  If we hit tails before getting $h$ heads in a row, we're back to square one.  Thus $X$ is actually distributed as $\mathrm{Geometric}(2^{-h})$ and we have $\mathrm{E}(X) = (1-2^{-h})2^h$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Sorry, this gives you the expected number of &lt;em&gt;towers&lt;/em&gt; in the left subtree.  The number of &lt;em&gt;nodes&lt;/em&gt; in the left subtree will be of the same order of magnitude though, since towers in between the first and last will have geometrically distributed height with expected value 2.  Also, if you want to consider the right subtree as well, which probably makes more sense, you simply go until you get $h+1$ heads in a row instead of just $h$.  In this case you get the number of descendants as defined in Devroye's paper that you linked to.&lt;/p&gt;&#xA;" OwnerUserId="196" LastEditorUserId="196" LastEditDate="2010-11-02T12:17:12.997" LastActivityDate="2010-11-02T12:17:12.997" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="2632" PostTypeId="2" ParentId="2606" CreationDate="2010-11-02T02:25:09.597" Score="13" Body="&lt;p&gt;How about Kelner and Spielman's randomized polynomial-time simplex algorithm? It finds the optimal vertex of a linear program. No deterministic simplex algorithm is known which is proven to run in polynomial time, and for many of them, pathological instances can be constructed that make the algorithm take exponential time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course, there are polynomial-time interior-point algorithms, so it's not exactly what you're looking for.&lt;/p&gt;&#xA;" OwnerUserId="1677" LastActivityDate="2010-11-02T02:25:09.597" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="2633" PostTypeId="2" ParentId="1617" CreationDate="2010-11-02T03:00:22.577" Score="5" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;It there a description of uniformity just in terms of circuits?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;If by &quot;in terms of circuits&quot; you mean nonuniform circuits then the answer is negative. If the description of circuits is not uniform, it will allow non-computable functions to be used to define circuits which in turn will be able to compute non-computable functions. We can always build a circuit of size $1$ computing $f(|x|)$ where $f$ is a function computable by whatever means we are using to describe the circuits.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, if we are allowed to restrict to uniform circuits to define the circuits, then the answer is obviously positive. And we can use $FO$ (which is equal to $DLogTime$ and uniform $AC^0$) to define uniformity. $FO$ is conceptually very close to circuits.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It seems to me that the main point here is that we need some model of uniform computation to define uniformity for circuits, if the description of circuits is given by means which are not uniform, the circuits can be nonuniform.&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2010-11-02T03:06:24.177" LastActivityDate="2010-11-02T03:06:24.177" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="2634" PostTypeId="2" ParentId="2426" CreationDate="2010-11-02T03:09:22.467" Score="30" Body="&lt;p&gt;This is a well known open question. You will see in complexity theory many open questions for which you'd wonder how come no one managed to solve them. Part of the reason is that we need new people like you to help us solve them :)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the latest result in this area, showing that Savitch's algorithm is optimal in some restricted model, see &lt;a href=&quot;http://www.eccc.uni-trier.de/report/2009/142/&quot;&gt;Aaron Potechin's FOCS paper&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Specifically, he starts from the nice observation that because the configuration graph of a deterministic TM has only one outgoing edge (after fixing the input), one can think of it as an undirected graph, and so the question becomes something like the following: given a directed graph $G$ of $n$ vertices with two special vertices $s,t$, if we map it to an $N$ vertex undirected graph $G'$ (also with special vertices $s',t'$) such that the existence of each edge in $G'$ depends on one edge in $G$ and there is a path from $s$ to $t$ in $G$ iff there's a path between $s'$ and $t'$ in $G'$, how much bigger $N$ has to be from $n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To show that Savitch's algorithm is optimal, one needs to show that $N$ has to be at least $2^{\Omega(\log^2 n)}  = n^{\Omega(\log n)}$. To show $L\neq NL$, it suffices to show the weaker bound that $N &gt; n^c$ for every constant $c$.  I'm pretty sure that even $N &gt; n^{10}$ is not known, though perhaps something like $N \geq n^2$ is known for some not so interesting reasons.&lt;/p&gt;&#xA;" OwnerUserId="1202" LastActivityDate="2010-11-02T03:09:22.467" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2635" PostTypeId="1" AcceptedAnswerId="2639" CreationDate="2010-11-02T03:12:39.390" Score="2" ViewCount="4640" Body="&lt;p&gt;How does one augment AdaBoost with cross-validation?&lt;/p&gt;&#xA;" OwnerUserId="1867" LastEditorUserId="186" LastEditDate="2010-11-02T10:38:15.210" LastActivityDate="2017-03-13T08:21:16.553" Title="How does one augment AdaBoost with cross-validation?" Tags="&lt;lg.learning&gt;&lt;machine-learning&gt;" AnswerCount="1" CommentCount="10" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2637" PostTypeId="1" CreationDate="2010-11-02T05:06:48.823" Score="20" ViewCount="752" Body="&lt;p&gt;Basically my question is, what kind of geometry do we get if we use a &amp;quot;weighted&amp;quot; Hamming distance. This is not necessarily Theoretical Computer Science but I think similar things come up sometimes, for instance in randomness extraction.&lt;/p&gt;&#xA;&lt;p&gt;Define:&lt;/p&gt;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$d(x,y)=$&lt;/span&gt; the Hamming distance between binary strings &lt;span class=&quot;math-container&quot;&gt;$x$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$y$&lt;/span&gt; of length &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt;, &lt;span class=&quot;math-container&quot;&gt;$=$&lt;/span&gt; the cardinality of &lt;span class=&quot;math-container&quot;&gt;$\{k: x(k)\ne y(k)\}$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;p&gt;For a set of strings &lt;span class=&quot;math-container&quot;&gt;$A$&lt;/span&gt;,&lt;/p&gt;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$d(x,A)=\min \{ d(x,y): y\in A\}$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;p&gt;The &lt;em&gt;&lt;span class=&quot;math-container&quot;&gt;$r$&lt;/span&gt;-fold boundary of&lt;/em&gt; &lt;span class=&quot;math-container&quot;&gt;$A\subseteq \{0,1\}^n$&lt;/span&gt; is&lt;/p&gt;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$$\{x\in\{0,1\}^n: 0 &amp;lt; d(x,A)\le r\}.$$&lt;/span&gt;&lt;/p&gt;&#xA;&lt;p&gt;Balls centered at &lt;span class=&quot;math-container&quot;&gt;$0$&lt;/span&gt; are given by&lt;/p&gt;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$$ B(p)=\{x: d(x,0)\le p\}, $$&lt;/span&gt;&#xA;where &lt;span class=&quot;math-container&quot;&gt;$0$&lt;/span&gt; is the string of &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt; many zeroes.&lt;/p&gt;&#xA;&lt;p&gt;A &lt;em&gt;Hamming-sphere&lt;/em&gt; is a set &lt;span class=&quot;math-container&quot;&gt;$H$&lt;/span&gt; with &lt;span class=&quot;math-container&quot;&gt;$B(p)\subseteq H\subseteq B(p+1)$&lt;/span&gt;. (So it's more like a ball than a sphere, but this is the standard terminology...)&lt;/p&gt;&#xA;&lt;p&gt;Now, Harper in 1966 showed that for each &lt;span class=&quot;math-container&quot;&gt;$k$&lt;/span&gt;, &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt;, &lt;span class=&quot;math-container&quot;&gt;$r$&lt;/span&gt;, one can find a Hamming-sphere that has minimal &lt;span class=&quot;math-container&quot;&gt;$r$&lt;/span&gt;-fold boundary among sets of cardinality &lt;span class=&quot;math-container&quot;&gt;$k$&lt;/span&gt; in &lt;span class=&quot;math-container&quot;&gt;$\\{0,1\\}^n$&lt;/span&gt;. So a ball is a set having minimal boundary -- just like in Euclidean space.&lt;/p&gt;&#xA;&lt;p&gt;The cardinality of &lt;span class=&quot;math-container&quot;&gt;$B(p)$&lt;/span&gt; is &lt;span class=&quot;math-container&quot;&gt;${n\choose 0}+\cdots {n\choose p}$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;p&gt;The &lt;span class=&quot;math-container&quot;&gt;$r$&lt;/span&gt;-fold boundary of &lt;span class=&quot;math-container&quot;&gt;$B(p)$&lt;/span&gt; is just the set &lt;span class=&quot;math-container&quot;&gt;$B(p+r)\setminus B(p)$&lt;/span&gt;, which then has cardinality &lt;span class=&quot;math-container&quot;&gt;${n\choose p+1}+\cdots+{n\choose p+r}$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;p&gt;So far, so good. But now suppose we replace &lt;span class=&quot;math-container&quot;&gt;$d$&lt;/span&gt; by a different metric &lt;span class=&quot;math-container&quot;&gt;$D$&lt;/span&gt;: first let &lt;span class=&quot;math-container&quot;&gt;$d_j(x,y)$&lt;/span&gt; be the Hamming distance between the prefixes of &lt;span class=&quot;math-container&quot;&gt;$x$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$y$&lt;/span&gt; of length &lt;span class=&quot;math-container&quot;&gt;$j$&lt;/span&gt;, and then&#xA;&lt;span class=&quot;math-container&quot;&gt;$$ D(x,y)=\max_{j\le n}\ \frac{d_j(x,y)}{f(j) }$$&lt;/span&gt;&#xA;where &lt;span class=&quot;math-container&quot;&gt;$0\le f(j)\le j$&lt;/span&gt;. (For example we could have &lt;span class=&quot;math-container&quot;&gt;$f(j)=\sqrt{j}$&lt;/span&gt;, or &lt;span class=&quot;math-container&quot;&gt;$f(j)=j/\log j$&lt;/span&gt;.)&lt;/p&gt;&#xA;&lt;p&gt;This is supposed to make &lt;span class=&quot;math-container&quot;&gt;$D(x,y)$&lt;/span&gt; small if the differences of &lt;span class=&quot;math-container&quot;&gt;$x$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$y$&lt;/span&gt; do not clump together at small values of &lt;span class=&quot;math-container&quot;&gt;$j$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;h1&gt;Questions&lt;/h1&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Is the minimum &lt;span class=&quot;math-container&quot;&gt;$r$&lt;/span&gt;-fold boundary (under &lt;span class=&quot;math-container&quot;&gt;$D$&lt;/span&gt;) realized by a &lt;span class=&quot;math-container&quot;&gt;$D$&lt;/span&gt;-ball?&lt;/p&gt;&#xA;&lt;p&gt;Is there a better definition of &lt;span class=&quot;math-container&quot;&gt;$D$&lt;/span&gt;?&lt;/p&gt;&#xA;&lt;p&gt;Under the metric &lt;span class=&quot;math-container&quot;&gt;$D$&lt;/span&gt;, what's the minimum size of the &lt;span class=&quot;math-container&quot;&gt;$r$&lt;/span&gt;-fold boundary of a subset of &lt;span class=&quot;math-container&quot;&gt;$\\{0,1\\}^n$&lt;/span&gt; having cardinality &lt;span class=&quot;math-container&quot;&gt;$k$&lt;/span&gt;? (A reasonable lower bound would be nice.)&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;(Cross-&lt;a href=&quot;https://mathoverflow.net/questions/38221/geometry-in-a-hamming-box&quot;&gt;posted&lt;/a&gt; on MathOverflow).&lt;/p&gt;&#xA;" OwnerUserId="1993" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2018-03-25T00:00:45.067" Title="Weighted Hamming distance" Tags="&lt;co.combinatorics&gt;&lt;randomness&gt;" AnswerCount="0" CommentCount="0" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="2638" PostTypeId="2" ParentId="2571" CreationDate="2010-11-02T05:08:36.047" Score="9" Body="&lt;p&gt;Number theory has not been mentioned, but it's a very important tool for many cryptographic and complexity-theoretic constructions.&lt;/p&gt;&#xA;" OwnerUserId="15" LastActivityDate="2010-11-02T05:08:36.047" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2639" PostTypeId="2" ParentId="2635" CreationDate="2010-11-02T08:29:15.463" Score="15" Body="&lt;p&gt;The question is stated very succinctly; yet I think I can help since I'm familiar with the terminology. I'm gonna use information from &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/1558609016&quot; rel=&quot;nofollow noreferrer&quot;&gt;Data Mining: Concepts and Techniques&lt;/a&gt;, which is a standard textbook.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Chapter 6 discusses different algorithms for &lt;strong&gt;classification&lt;/strong&gt;. Then, in section 6.14, two methods are introduced for increasing the accuracy of a classifier:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Bagging:&lt;/strong&gt; Creates an ensemble of models (classifiers or predictors) for a learning scheme where each model gives an &lt;em&gt;equally-weighted&lt;/em&gt; prediction.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Boosting:&lt;/strong&gt; Creates an ensemble of classiﬁers. Each one gives a &lt;em&gt;weighted&lt;/em&gt; vote.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The two methods incorporate a &lt;strong&gt;base classifier&lt;/strong&gt;, trying to improve its accuracy by sampling the data several times, and training the classifier on the sampled instance. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;AdaBoost is a boosting method. (The name stands for &quot;Adaptive Boosting&quot;.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;AdaBoost works as follows:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://img181.imageshack.us/img181/8198/adaboost.png&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://img181.imageshack.us/img181/8198/adaboost.png&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The equation (6.66) mentioned in the image is as follows:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$error(M_i)=\sum\limits_j^d{w_j \times err(X_j)}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$error(M_i)$ is the error rate of model $M_i$;&lt;/li&gt;&#xA;&lt;li&gt;$err(X_j)$ is the misclassiﬁcation error of tuple $X_j$: If the tuple was misclassiﬁed,&#xA;then $err(X_j)$ is 1. Otherwise, it is 0. &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Now, what is cross-validation?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Quoting a part of section 6.13.2 of the above textbook:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;In &lt;strong&gt;k-fold cross-validation&lt;/strong&gt;, the initial data are randomly partitioned into $k$ mutually&#xA;  exclusive subsets or “folds,” $D_1, D_2, \ldots , D_k$, each of approximately equal size. Training and testing is performed $k$ times. In iteration $i$, partition $D_i$ is reserved as the test&#xA;  set, and the remaining partitions are collectively used to train the model. That is, in&#xA;  the ﬁrst iteration, subsets $D_2, \ldots , D_k$ collectively serve as the training set in order to&#xA;  obtain a ﬁrst model, which is tested on $D_1$; the second iteration is trained on subsets&#xA;  $D_1, D_3, \ldots , D_k$ and tested on $D_2$; and so on. &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;h3&gt;Can AdaBoost be Augmented with Cross-Validation?&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;Yes. In AdaBoost, you need $D$, a set of $d$ class-labeled training tuples. Applying a k-fold cross-validation on this set, you will have 1 test sample (containing $d/k$ tuples) and $k-1$ training samples (containing $d(k-1)/k$ tuples). Using this strategy, and iterating $k$ times, the algorithm will benefit from the best of both worlds.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that cross-validation is an accuracy &lt;strong&gt;evaluation&lt;/strong&gt; method, while AdaBoost is an accuracy &lt;strong&gt;improvement&lt;/strong&gt; method. In the method I suggested above, cross-validation is used to retain the best classifier obtained from AdaBoost (in terms of accuracy), and discarding other classifiers.&lt;/p&gt;&#xA;" OwnerUserId="873" LastEditorUserId="44620" LastEditDate="2017-03-13T08:21:16.553" LastActivityDate="2017-03-13T08:21:16.553" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="2640" PostTypeId="1" AcceptedAnswerId="2644" CreationDate="2010-11-02T10:34:17.197" Score="-1" ViewCount="2319" Body="&lt;p&gt;An interesting variation of the subset sum problem was presented to me by a friend from work:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a set S of positive integers, of size n, and integers a and K, is there a subset R (of the set S) that contains &lt;strong&gt;exactly a elements&lt;/strong&gt;, whose sum is equal to K?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;He claims that this can be done with time complexity O(nKa), I was unable to come up with a dynamic programming algorithm that achieved this running time. Can it be done?&lt;/p&gt;&#xA;" OwnerUserId="2008" LastEditorUserId="2008" LastEditDate="2010-11-02T11:48:24.947" LastActivityDate="2018-09-12T22:14:10.253" Title="Interesting variation to the subset sum problem" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;dynamic-algorithms&gt;" AnswerCount="4" CommentCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="2641" PostTypeId="2" ParentId="2640" CreationDate="2010-11-02T11:02:00.463" Score="3" Body="&lt;h3&gt;Note before reading:&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;In my answer, I assumed that $K$ is a constant. However, as pointed out by Jukka and the OP, this is not always the case. Here I clarify why it is so, and then continue with the original answer. I did not delete my original answer as per &lt;a href=&quot;https://cstheory.meta.stackexchange.com/q/386/873&quot;&gt;Policy on deleting incorrect answers&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;h3&gt;About $K$&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;We are given as input a set $S=\\{s_1,s_2,\ldots,s_n\\}$ of integers. The size of the input is $|S| = \sum_{i=1}^{n}{|s_i|}$, and we have $0 &amp;lt; K \le \sum_{i=1}^{n}{s_i}$. Therefore, $K$ can be large enough to be &lt;strong&gt;exponential&lt;/strong&gt; in the size of the input.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;h3&gt;Original answer&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;I don't think this is possible. Assume, towards contradiction, that there exist an algorithm (I call it algorithm X) which solves the subset-some variation you mentioned in time $O(nka)$. Then, I show an algorithm for the original subset sum, whose time complexity is $O(n^3k)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the original subset sum problem, the subset R (of the set S) can contain $1, 2, \ldots, n$ elements. So, let $a = 1, 2, \ldots, n$, and test each $a$ using algorithm X. The time complexity of such procedure will be: $\sum\limits_{a=1}^{n}{O(nka)} = O(n^3k)$. This contradicts the assumption that the subset sum problem requires superpolynomial time (unless $\rm{P}=\rm{NP}$, which is unlikely.)&lt;/p&gt;&#xA;" OwnerUserId="873" LastEditorUserId="-1" LastEditDate="2017-03-16T15:45:13.547" LastActivityDate="2010-11-02T12:15:11.337" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="2644" PostTypeId="2" ParentId="2640" CreationDate="2010-11-02T11:43:05.240" Score="11" Body="&lt;p&gt;Doesn't the usual (pseudo-polynomial time) dynamic programming algorithm solve this, with a minor tweak?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The usual approach is to have a table with flags &quot;there is a subset of $x_1,x_2,...,x_i$ with sum $s$&quot; for all $i = 1, 2, ..., n$ and $s = 0, 1, ..., K$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The minor modification is to have a table with flags &quot;there is a subset of $x_1,x_2,...,x_i$ with $c$ elements and sum $s$&quot; for all $i = 1, 2, ..., n$, $c = 1, 2, ..., a$, and $s = 0, 1, ..., K$.&lt;/p&gt;&#xA;" OwnerUserId="74" LastActivityDate="2010-11-02T11:43:05.240" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2645" PostTypeId="2" ParentId="2611" CreationDate="2010-11-02T14:24:33.687" Score="0" Body="&lt;p&gt;Yes, pretty much all of numerical linear algebra can be reduced to matrix multiplication, though, as always, numerical stability is an issue. Also, with problems such as eigendecomposition, you should be content with an approximation because the solution may be irrational. Check out the book &lt;em&gt;Polynomial and Matrix Computations&lt;/em&gt; by Bini and Pan.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here's another reference - &lt;em&gt;Fast Linear Algebra is Stable&lt;/em&gt;&#xA;&lt;a href=&quot;http://www.netlib.org/lapack/lawnspdf/lawn186.pdf&quot; rel=&quot;nofollow&quot;&gt;http://www.netlib.org/lapack/lawnspdf/lawn186.pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="2012" LastEditorUserId="2012" LastEditDate="2010-11-05T10:15:59.663" LastActivityDate="2010-11-05T10:15:59.663" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2647" PostTypeId="1" AcceptedAnswerId="2662" CreationDate="2010-11-02T15:10:23.330" Score="9" ViewCount="441" Body="&lt;p&gt;It is well known that the NP-Complete Problem called Subset Sum has a FPTAS. I was wondering if there existed an PSPACE Complete problem which also has a FPTAS? Thanks in advance.&lt;/p&gt;&#xA;" OwnerUserId="10136" LastActivityDate="2010-11-02T19:10:49.757" Title="Does There exist a particular PSPACE Complete Problem which has a FPTAS algorithm?" Tags="&lt;ds.algorithms&gt;&lt;space-bounded&gt;&lt;big-picture&gt;" AnswerCount="1" CommentCount="7" ContentLicense="CC BY-SA 2.5" />
  <row Id="2651" PostTypeId="1" CreationDate="2010-11-02T15:42:07.400" Score="2" ViewCount="490" Body="&lt;p&gt;Given RegEx &lt;code&gt;A&lt;/code&gt; and &lt;code&gt;B&lt;/code&gt; where the size of the compiled DFAs are &lt;code&gt;m&lt;/code&gt; and &lt;code&gt;n&lt;/code&gt; respectively, what is the upper bound on the size of the compile DFA for &lt;code&gt;A|B&lt;/code&gt;? It shouldn't be hard to show that it can't be more than &lt;code&gt;n*m&lt;/code&gt; but can a lower upper bound be shown?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What about other related case:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;What is the expected case for real world examples? Is it less than &lt;code&gt;n+m&lt;/code&gt;?&lt;/li&gt;&#xA;&lt;li&gt;What about the three part case with &lt;code&gt;A&lt;/code&gt;, &lt;code&gt;B&lt;/code&gt; and &lt;code&gt;C&lt;/code&gt;?&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="143" LastEditorUserId="567" LastEditDate="2010-11-02T19:32:24.760" LastActivityDate="2010-11-02T19:58:33.513" Title="upper bound on the size of a DFA for A|B given the DFAs for A and B?" Tags="&lt;fl.formal-languages&gt;&lt;regular-expressions&gt;&lt;dfa&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2655" PostTypeId="1" AcceptedAnswerId="2659" CreationDate="2010-11-02T16:13:45.133" Score="18" ViewCount="869" Body="&lt;p&gt;Recently, Watrous et al proved that QIP(3) = PSPACE a remarkable result. This was a surprising result to myself to say the least and it set me off thinking...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I wondered what if Quantum Computers could be efficiently simulated by Classical Computers. Could this be SIMPLY related to the Divide between IP and AM? What I mean is that IP is characterized by Polynomial number of rounds of  classical interaction, while AM has 2 rounds of classical interaction. Could simulating a Quantum Computing reduced the amount of interaction for IP from polynomial to a constant value?&lt;/p&gt;&#xA;" OwnerUserId="10136" LastEditorUserId="109" LastEditDate="2010-11-03T08:12:27.007" LastActivityDate="2010-11-04T06:52:23.640" Title="If P = BQP, does this imply that PSPACE (= IP) = AM?" Tags="&lt;cc.complexity-theory&gt;&lt;quantum-computing&gt;&lt;space-bounded&gt;&lt;conditional-results&gt;&lt;interactive-proofs&gt;" AnswerCount="4" CommentCount="2" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="2656" PostTypeId="1" CreationDate="2010-11-02T17:05:39.983" Score="41" ViewCount="2479" Body="&lt;p&gt;In 1937 Turing described a Turing machine. Since then many models of computation have been decribed in attempt to find a model which is like a real computer but still simple enough to design and analyse algorithms.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As a result, we have dozen of algorithms for, e.g., SORT-problem for different models of computation. Unfortunately, we even cannot be sure that an implementation of an algorithm with running time O(n) in a word RAM with bit-vector operations allowed will run faster than an an implementation of an algorithm with running time O(n⋅logn) in a word RAM (I am talking about &quot;good&quot; implementations only, of course).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, I want to understand which of existing models is &quot;the best&quot; for designing algorithms and I am looking for an up-to-date and detailed survey on models of computation, which gives pros and cons of models and their closeness to reality.&lt;/p&gt;&#xA;" OwnerUserId="2016" LastEditorUserId="873" LastEditDate="2010-11-02T18:27:24.617" LastActivityDate="2018-05-03T17:26:04.770" Title="Which model of computation is &quot;the best&quot;?" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;soft-question&gt;&lt;machine-models&gt;" AnswerCount="6" CommentCount="8" FavoriteCount="18" ContentLicense="CC BY-SA 2.5" />
  <row Id="2657" PostTypeId="5" CreationDate="2010-11-02T18:41:44.363" Score="0" Body="&lt;p&gt;Questions tagged with &lt;code&gt;ds.algorithms&lt;/code&gt; are generally asking an &lt;a href=&quot;http://en.wikipedia.org/wiki/Algorithm&quot; rel=&quot;nofollow&quot;&gt;algorithm&lt;/a&gt; for a specific task, or asking to analyze some specific algorithm (different types of analysis are listed in &lt;a href=&quot;http://cstheory.stackexchange.com/q/894/873&quot;&gt;this topic&lt;/a&gt;). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the former case, it is possible to ask an algorithm for a specific task, &lt;em&gt;whose resource (time/memory/etc.) consumption is somehow bounded&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Questions which seek the intrinsic difficulty of some &lt;strong&gt;problem&lt;/strong&gt; (rather than some specific &lt;strong&gt;algorithm&lt;/strong&gt;) are better be tagged with &#xA;&lt;a href=&quot;http://cstheory.stackexchange.com/tags/cc.complexity-theory/info&quot;&gt;&lt;code&gt;cc.complexity-theory&lt;/code&gt;&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="873" LastEditorUserId="873" LastEditDate="2010-11-02T18:53:42.930" LastActivityDate="2010-11-02T18:53:42.930" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2658" PostTypeId="4" CreationDate="2010-11-02T18:41:44.363" Score="0" Body="Questions regarding well-defined instructions for completing a task, and relevant analysis in terms of time/memory/etc." OwnerUserId="873" LastEditorUserId="2150" LastEditDate="2011-02-01T23:44:19.500" LastActivityDate="2011-02-01T23:44:19.500" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2659" PostTypeId="2" ParentId="2655" CreationDate="2010-11-02T18:46:30.863" Score="18" Body="&lt;p&gt;Great question!  Short answer: no implication like&#xA;$$&#xA;\mathsf{P} = \mathsf{BQP}   \Rightarrow  \mathsf{IP} = \mathsf{AM}&#xA;$$&#xA;is known; but that doesn't mean it's not worth trying to prove... &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would say, though, that finding such an implication seems unlikely.  I think the message of much quantum complexity theory is that, while quantum computers are not an all-purpose panacea for solving hard problems, they can be much more powerful than classical computers in certain specific circumstances.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, in query complexity, quantum algorithms can efficiently solve certain problems classical ones provably cannot, when the input is promised to obey some nice global structure.  E.g., Shor's algorithm is based on an algorithm to quickly find the unknown &lt;em&gt;period&lt;/em&gt; of a function promised to be periodic.  On the other hand, quantum query algorithms are not too much stronger than classical ones for solving problems in which there is no special structure assumed on the input.  (See Buhrman and de Wolf's &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=606909&quot; rel=&quot;noreferrer&quot;&gt;survey&lt;/a&gt; on query complexity for this last point.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Similarly, I think the results $\mathsf{QIP}(3) = \mathsf{QIP} = \mathsf{IP}$ tell us, not that interaction is unexpectedly weak (even if $\mathsf{P} = \mathsf{BQP}$), but that quantum computation is unexpectedly strong, &lt;em&gt;specifically&lt;/em&gt; in the context of interaction with computationally-unbounded provers.&lt;/p&gt;&#xA;" OwnerUserId="223" LastActivityDate="2010-11-02T18:46:30.863" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2660" PostTypeId="2" ParentId="2656" CreationDate="2010-11-02T18:56:55.360" Score="30" Body="&lt;p&gt;I have always considered the standard Word RAM model to be &quot;the best&quot; in your sense. Everybody who learned to program in a language like C (or any loose equivalents like Java, etc) has precisely this model in mind when they think of a computer. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course, you sometimes need generalizations depending on the regimes in which you work. The external memory model is an important one to keep in mind. It applies not only when you work with disks, but also in understanding (forcing you to care about) cache. Of course, treating it too seriously can also lead to nonsensical results, since the pure external memory model doesn't count computation. Another generalization of the Word RAM is to parallelism, but there we are all a bit confused at the moment :)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An algorithm with an $O(n)$ running time will certainly run faster than one with $O(n \lg n)$ running time. It is a mathematical fact that the former is faster for large $n$ :) Your problem size may simply not be large enough for this to matter. Since you bring up sorting, let me assure you it will be very hard to beat radix sort with a comparison-based algorithm for reasonable $n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A final remark on algorithms and &quot;reality&quot;: always keep in mind what you're trying to achieve. When we work in algorithms, we are trying to solve the hardest problems out there (e.g. SAT on 50 variables, or sorting a billion numbers). If you're trying to sort 200 numbers or solve SAT on 20 variables, you don't need any fancy algorithm. That's why most algorithms in reality are kind of trivial. This doesn't say anything bad about algorithmic research — we just happen to be interested in that unusual 1/1000 of the real problems that happen to be hard...&lt;/p&gt;&#xA;" OwnerUserId="106" LastActivityDate="2010-11-02T18:56:55.360" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2661" PostTypeId="1" AcceptedAnswerId="4857" CreationDate="2010-11-02T18:58:17.990" Score="39" ViewCount="953" Body="&lt;p&gt;A graph is $k$-choosable (also known as &lt;a href=&quot;http://en.wikipedia.org/wiki/List_coloring&quot;&gt;$k$-list-colorable&lt;/a&gt;) if, for every function $f$ that maps vertices to sets of $k$ colors, there is a color assignment $c$ such that, for all vertices $v$, $c(v)\in f(v)$, and such that, for all edges $vw$, $c(v)\ne c(w)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now suppose that a graph $G$ is not $k$-choosable. That is, there exists a function $f$ from vertices to $k$-tuples of colors that does not have a valid color assignment $c$. What I want to know is, how few colors in total are needed? How small can $\cup_{v\in G}f(v)$ be? Is there a number $N(k)$ (independent of $G$) such that we can be guaranteed to find an uncolorable $f$ that only uses $N(k)$ distinct colors?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The relevance to CS is that, if $N(k)$ exists, we can test $k$-choosability for constant $k$ in singly-exponential time (just try all $\binom{N(k)}{k}^n$ choices of $f$, and for each one check that it can be colored in time $k^n n^{O(1)}$) whereas otherwise something more quickly growing like $n^{kn}$ might be required.&lt;/p&gt;&#xA;" OwnerUserId="95" LastEditorUserId="1677" LastEditDate="2010-12-19T20:18:29.617" LastActivityDate="2015-08-10T22:58:15.737" Title="How many distinct colors are needed to lower-bound the choosability of a graph?" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;graph-colouring&gt;&lt;exp-time-algorithms&gt;" AnswerCount="2" CommentCount="7" FavoriteCount="11" ContentLicense="CC BY-SA 2.5" />
  <row Id="2662" PostTypeId="2" ParentId="2647" CreationDate="2010-11-02T19:04:43.733" Score="20" Body="&lt;p&gt;It is possible to define artificial PSPACE-HARD problems with an FPTAS: define $f(x)=2^{|x|}+g(x)$&#xA;where $g(x)$ is a Boolean PSPACE-hard problem whose complexity is at most $2^n$, then $f$ is also PSPACE-hard, but it has an FPTAS: if $\epsilon \gt 2^{-|x|}$ then return $2^{|x|}$ else we have enough time to compute $f$ exactly.&lt;/p&gt;&#xA;" OwnerUserId="42" LastEditorUserId="495" LastEditDate="2010-11-02T19:10:49.757" LastActivityDate="2010-11-02T19:10:49.757" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="2663" PostTypeId="2" ParentId="2611" CreationDate="2010-11-02T19:25:52.030" Score="5" Body="&lt;p&gt;You could check out the new paper by Commandur and Kale which gives a combinatorial algorithm for Max-Cut.  It seems (from a cursory reading) that their algorithm is based on combinatorially finding the eigenvector corresponding to the max eigenvalue, and then using Luca Trevisan's algorithm once they have this eigenvector.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It seems that they are using an alternative approach to Lanczos's algorithm for finding such an eigenvector, so it might be of interest.  I'm not sure what is the claimed complexity of their method for finding the eigenvector, but it might be worth looking into.  Also, since it is approximation ratio and not time per se that they are interested in, whatever time bounds they give might not be optimal.&lt;/p&gt;&#xA;" OwnerUserId="1844" LastActivityDate="2010-11-02T19:25:52.030" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2664" PostTypeId="2" ParentId="2656" CreationDate="2010-11-02T19:45:04.223" Score="10" Body="&lt;p&gt;There is no one totally satisfactory computational model in which to analyse algorithms sadly, even in what one might consider a traditional setting. That is assuming all data is readily accessible and the working space is effectively unbounded.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The multi-tape Turing machine, is certainly theoretically well specified and many algorithms have been designed and analysed in this model over the years. However, to some it does not relate closely enough to how real computers work to really be a good model to use in the 21st century. On the other hand, the word-RAM model has become popular and appears to capture more accurately the working of  modern computers (operations on words not bits, constant time access to memory locations). However, there are aspects which are less than ideal. For example, there is no one word RAM model. One has to first specify which operations on words are to be allowed in constant time.  There are many options for this with no single accepted answer.  Second, the word size w is normally set to grow with the input size (that is at least as fast as log(n)) to allow any item in memory to be addressed using a constant number of words. This means that one has to imagine an infinite class of machines on which your algorithm is run or even worse, that the machine changes as you feed it more data.  This is a disconcerting thought for the purest amongst my students at least. Finally, you get somewhat surprising complexity results with the word-RAM model which might not tally with those one learns as a student. For example, multiplication of two n-bit numbers is O(n) time in this model and simply reading in an n-bit string is a sublinear time operation all of a sudden.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Having said all that, if you just want to know if your algorithm is likely to run fast, either will do most likely  :-)&lt;/p&gt;&#xA;" OwnerUserId="1864" LastEditorUserId="1864" LastEditDate="2010-11-03T10:08:19.037" LastActivityDate="2010-11-03T10:08:19.037" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="2665" PostTypeId="2" ParentId="2651" CreationDate="2010-11-02T19:58:33.513" Score="9" Body="&lt;p&gt;The upper bound of $nm$ follows from the usual Cartesian product construction that you will find in just about any book on automata theory.  A lower bound of $nm$ is observed (for the case $\operatorname{gcd}(n,m) = 1$) in this paper:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Sheng Yu.  State Complexity of Regular Languages.  Journal of Automata, Languages and Combinatorics, 2001.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The lower bound is proved for DFAs that I would consider to exist in the real world -- but if you want an expectation you will have to be more precise about the distribution from which $A$ and $B$ are drawn.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The bound is simple and can surely be extended to three DFAs.&lt;/p&gt;&#xA;" OwnerUserId="819" LastActivityDate="2010-11-02T19:58:33.513" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="2666" PostTypeId="1" AcceptedAnswerId="2669" CreationDate="2010-11-02T20:45:09.877" Score="3" ViewCount="277" Body="&lt;p&gt;So an idea I've had bouncing around for a while goes like this: suppose we have some TM that runs in possibly exponential time, and thus can use possibly exponential space.  But let's say that it doesn't use its available space very often: say, it's oblivious and makes a constant number of passes back and forth across the input.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It seems to me that such a machine can have its space usage improved, but I'm not sure of any relevant results.  Can we simulate such a machine in some smaller space bound (ideally polynomial or close to it...), if we allow the simulator to use that smaller amount of space however it wants?  Anyone know of such a result?&lt;/p&gt;&#xA;" OwnerUserId="2017" LastEditorUserId="186" LastEditDate="2010-11-03T02:09:48.667" LastActivityDate="2010-11-03T02:09:48.667" Title="compressing rarely used space" Tags="&lt;cc.complexity-theory&gt;&lt;space-bounded&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="2668" PostTypeId="2" ParentId="2655" CreationDate="2010-11-02T23:53:50.223" Score="16" Body="&lt;p&gt;I agree with what Andy has written and I wanted this &quot;answer&quot; to be a comment to his answer, but it is evidently too long for a comment...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Anyway, it may be helpful to say something more about what aspect of quantum computation (or perhaps quantum information) allows for the containment of PSPACE in QIP(3) to be proved.  Known proofs of this containment do not follow from the verifier's ability to compute functions that happen to be quantum polynomial-time computable.  A more accurate explanation is that the proofs make use of the specific ways that a prover can manipulate entangled quantum states it shares with the verifier.  If the prover were not able to manipulate quantum information, or if it could somehow magically manipulate shared entangled states in a stronger way than quantum information theory allows, the proofs would not work.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, in my view the containment of PSPACE in QIP(3) says nothing about the relationship between AM and PSPACE.&lt;/p&gt;&#xA;" OwnerUserId="819" LastActivityDate="2010-11-02T23:53:50.223" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2669" PostTypeId="2" ParentId="2666" CreationDate="2010-11-02T23:57:28.187" Score="9" Body="&lt;p&gt;I think it can be compressed to linear space.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I assume the machine $M$ has one tape. Initially the first $n$ cells contain the input, which is followed by $2^O(n)$ zeroes. $M$ is oblivious and always makes $k$ passes through the tape (from left end to right and back), and then accepts or rejects. Let $p_i$ denote the state the machine enters after reading the $n$-th cell on $i$-th pass during the left-right phase, and let $q_i$ denote the state the machine enters after reading the $n+1$-th cell on $i$-th pass during the right-left phase. Note that $q_1$ is a function of $p_1$ alone, and generally $q_i$ depends only on the sequence $p_1, p_2, \dots, p_i$ (this sequence has length at most $k$, which is fixed). Therefore we can always compute the state $q_i$ without actually continuing the pass through the extra scratch space - the transitions can be hardcoded into the description of the machine.&lt;/p&gt;&#xA;" OwnerUserId="327" LastActivityDate="2010-11-02T23:57:28.187" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2670" PostTypeId="1" AcceptedAnswerId="2671" CreationDate="2010-11-03T00:02:54.093" Score="0" ViewCount="652" Body="&lt;p&gt;How to compute ROOK Polynomials for NxM Matrices for k objects ?&lt;/p&gt;&#xA;" OwnerUserId="1996" LastEditorUserId="186" LastEditDate="2010-11-03T02:08:59.227" LastActivityDate="2010-11-03T02:08:59.227" Title="How to compute ROOK Polynomials for NxM Matrices" Tags="&lt;co.combinatorics&gt;&lt;polynomials&gt;&lt;permutations&gt;" AnswerCount="1" CommentCount="2" ClosedDate="2010-11-03T03:35:14.790" ContentLicense="CC BY-SA 2.5" />
  <row Id="2671" PostTypeId="2" ParentId="2670" CreationDate="2010-11-03T00:38:56.200" Score="2" Body="&lt;p&gt;See the answers of &lt;a href=&quot;https://mathoverflow.net/questions/20423/how-to-compute-the-rook-polynomial-of-a-ferrers-board&quot;&gt;this question&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Your case is a lot easier, just choose $k$ of the $m$ columns and then you have&#xA;$n (n-1)\ldots (n-k+1)$ ways to put the $k$ rooks. So the coefficient of $x^k$ is&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\displaystyle r_k = \binom{m}{k} n (n-1)\ldots (n-k+1) = \binom{m}{k}\binom{n}{k}k!$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The provided link also gives a dynamic programming approach to compute $r_k$.&lt;/p&gt;&#xA;" OwnerUserId="168" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2010-11-03T01:30:31.643" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2672" PostTypeId="2" ParentId="2611" CreationDate="2010-11-03T01:35:21.403" Score="14" Body="&lt;p&gt;Finding eigenvalues is inherently an iterative process: Finding eigenvalues is equivalent to finding the roots of a polynomial. Moreover, the Abel–Ruffini theorem states that, in general, you cannot express the roots of an arbitrary polynomial in a simple closed form (i.e. with radicals like the quadratic formula). Thus you cannot hope to compute eigenvalues &quot;exactly&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This means that a spectral decomposition algorithm must be approximate. The running time of any general algorithm must depend on the desired accuracy; it can't just depend on the dimension.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm not an expert on this. I would guess that a cubic dependence on n is pretty good. The algorithms that I have seen all use matrix-vector multiplication, rather then matrix-matrix multiplication. So I would be somewhat surprised if it all boils down to matrix-matrix multiplication.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Have a look at&#xA;&lt;a href=&quot;http://en.wikipedia.org/wiki/List_of_numerical_analysis_topics#Eigenvalue_algorithms&quot;&gt;http://en.wikipedia.org/wiki/List_of_numerical_analysis_topics#Eigenvalue_algorithms&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="2022" LastActivityDate="2010-11-03T01:35:21.403" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2673" PostTypeId="2" ParentId="2655" CreationDate="2010-11-03T01:41:11.817" Score="11" Body="&lt;p&gt;The answers of John Watrous and Andy Drucker are excellent for understanding some of the issues involved.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'll just add to Andy's answer that, not only is no such implication known, but &lt;em&gt;showing such an implication requires non-relativizing techniques&lt;/em&gt; (of which essentially only one--arithmetization--is known).  Lance Fortnow and John Rogers [1] constructed an oracle where $P = BQP$ but $PH$ is infinite (and in particular that means $PSPACE \supseteq PH \supset\neq AM$ in such a world).  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;We know that $IP = PSPACE$ doesn't relativize, but it does &lt;a href=&quot;http://dx.doi.org/10.1145/1490270.1490272&quot;&gt;algebrize&lt;/a&gt;.  I do not know if the Fortnow--Rogers result shows (or can be extended to show) that such an implication would require non-algebrizing techniques. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] L. Fortnow and J. Rogers. &lt;a href=&quot;http://dx.doi.org/10.1006/jcss.1999.1651&quot;&gt;Complexity limitations on quantum computation&lt;/a&gt;. Journal of Computer and System Sciences, 59(2):240-252, 1999. Special issue for selected papers from the 13th IEEE Conference on Computational Complexity. Also available &lt;a href=&quot;http://www.cs.uchicago.edu/~fortnow/papers/quantum.pdf&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2010-11-03T01:41:11.817" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2674" PostTypeId="1" CreationDate="2010-11-03T01:43:50.533" Score="55" ViewCount="3970" Body="&lt;p&gt;What's your favorite examples where information theory is used to prove a neat combinatorial statement in a simple way ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some examples I can think of are related to lower bounds for locally decodable codes, e.g., in &lt;a href=&quot;http://www.wisdom.weizmann.ac.il/~oded/p_2q-ldc.html&quot;&gt;this&lt;/a&gt; paper: suppose that for a bunch of binary strings $x_1,...,x_m$ of length $n$ it holds that for every $i$, for $k_i$ different pairs {$j_1,j_2$}, $$e_i = x_{j_1} \oplus x_{j_2}.$$ Then m is at least exponential in n, where the exponent depends linearly on the average ratio of $k_i/m$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another (related) example is some isoperimetric inequalities on the Boolean cube (feel free to elaborate on this in your answers).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Do you have more nice examples? Preferably, short and easy to explain.&lt;/p&gt;&#xA;" OwnerUserId="1621" LastEditorUserId="1800" LastEditDate="2011-02-05T08:40:44.170" LastActivityDate="2014-11-27T20:02:13.577" Title="Information Theory used to prove neat combinatorial statements?" Tags="&lt;co.combinatorics&gt;&lt;big-list&gt;&lt;it.information-theory&gt;" AnswerCount="13" CommentCount="1" FavoriteCount="38" CommunityOwnedDate="2010-11-03T17:10:04.383" ContentLicense="CC BY-SA 2.5" />
  <row Id="2675" PostTypeId="2" ParentId="2674" CreationDate="2010-11-03T01:55:06.330" Score="42" Body="&lt;p&gt;Moser's proof of the &lt;a href=&quot;http://dx.doi.org/10.1145/1536414.1536462&quot;&gt;constructive Lovasz Local Lemma&lt;/a&gt;.  He basically shows that, under the conditions of the local lemma, the second-simplest algorithm for SAT you can think of works.  (The first simplest might be to just try a random assignment until one works.  The second simplest is took pick a random assignment, find an unsatisfied clause, satisfy it, then see what other clauses you broke, recurse, and repeat until done.)  The proof that this runs in polynomial time is perhaps the most elegant use of information theory (or Kolmogorov complexity, whatever you want to call it in this case) I've ever seen.&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2010-11-03T01:55:06.330" CommentCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="2676" PostTypeId="1" AcceptedAnswerId="2684" CreationDate="2010-11-03T02:45:00.220" Score="20" ViewCount="873" Body="&lt;p&gt;Suppose we have a problem parameterized by a real-valued parameter p which is &quot;easy&quot; to solve when $p=p_0$ and &quot;hard&quot; when $p=p_1$ for some values $p_0$, $p_1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One example is counting spin configurations on graphs. Counting weighted proper colorings, independent sets, Eulerian subgraphs correspond to partition functions of hardcore, Potts and Ising models respectively, which are easy to approximate for &quot;high temperature&quot; and hard for &quot;low temperature&quot;. For simple MCMC, hardness phase transition corresponds to a point at which mixing time jumps from polynomial to exponential (&lt;a href=&quot;http://www.eecs.berkeley.edu/~sinclair/istree2.pdf&quot; rel=&quot;noreferrer&quot;&gt;Martineli,2006&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another example is inference in probabilistic models. We &quot;simplify&quot; given model by taking $1-p$, $p$ combination of it with a &quot;all variables are independent&quot; model. For $p=1$ the problem is trivial, for $p=0$ it is intractable, and hardness threshold lies somewhere in between. For the most popular inference method, problem becomes hard when the method fails to converge, and the point when it happens corresponds to the phase transition (in a physical sense) of a certain Gibbs distribution (&lt;a href=&quot;http://www.stanford.edu/~montanar/TEACHING/Stat375/papers/tatikonda.pdf&quot; rel=&quot;noreferrer&quot;&gt;Tatikonda,2002&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What are other interesting examples of the hardness &quot;jump&quot; as some continuous parameter is varied?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Motivation: to see examples of another &quot;dimension&quot; of hardness besides graph type or logic type&lt;/p&gt;&#xA;" OwnerUserId="434" LastEditorUserId="1590" LastEditDate="2014-05-12T22:55:15.270" LastActivityDate="2014-05-12T22:55:15.270" Title="Examples of hardness phase transitions" Tags="&lt;cc.complexity-theory&gt;&lt;counting-complexity&gt;&lt;approximation-hardness&gt;&lt;phase-transition&gt;" AnswerCount="4" CommentCount="1" FavoriteCount="10" ContentLicense="CC BY-SA 3.0" />
  <row Id="2677" PostTypeId="2" ParentId="2674" CreationDate="2010-11-03T02:45:48.833" Score="34" Body="&lt;p&gt;My favorite example of this type is the entropy-based proof of Shearer's Lemma.  (I learned of this proof and several other very pretty ones from Jaikumar Radhakrishnan's &lt;a href=&quot;http://www.tcs.tifr.res.in/~jaikumar/Papers/EntropyAndCounting.pdf&quot;&gt;Entropy and Counting&lt;/a&gt;.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Claim: Suppose you have $n$ points in $\mathbb{R}^3$ that have $n_x$ distinct projections on the $yz$-plane, $n_y$ distinct projections on the $xz$-plane and $n_z$ distinct projections on the $xy$-plane.  Then, $n^2 \leq n_x n_y n_z$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Proof: &#xA;Let $p = (x,y,z)$ be a point uniformly chosen at random from the $n$ points.  Let $p_x$, $p_y$, $p_z$ denote its projections onto the $yz$, $xz$ and $xy$ planes respectively.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the one hand, $H[p] = \log n$, $H[p_x] \leq \log n_x$, $H[p_y] \leq \log n_y$ and $H[p_z] \leq \log n_z$, by basic properties of entropy.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, we have $$H[p] = H[x] + H[y|x] + H[z | x,y]$$ and also $$H[p_x] = H[y] + H[z|y]$$ $$H[p_y] = H[x] + H[z|x]$$ $$H[p_z] = H[x] + H[y|x]$$  Adding the last three equations gives us: $H[p_x] + H[p_y] + H[p_z] =$ $2H[x] + H[y]+$ $H[y|x] +$ $H[z|x]$ $+ H[z|y]$ $\geq 2H[x] + 2H[y|x] + 2H[z|x,y] =$ $2H[p]$, where we used the fact that conditioning decreases the entropy (in general, $H[a] \geq H[a|b]$ for any random variables $a,b$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thus, we have $2 \log n \leq \log n_x + \log n_y + \log n_z$, or $n^2 \leq n_x n_y n_z$.&lt;/p&gt;&#xA;" OwnerUserId="15" LastActivityDate="2010-11-03T02:45:48.833" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2679" PostTypeId="2" ParentId="2611" CreationDate="2010-11-03T04:48:55.383" Score="6" Body="&lt;p&gt;I will only give a partial answer relating to the eigenvalues of a matrix.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As previously mentioned, there are many iterative methods to find the eigenvalues of a matrix (e.g. power iteration), but in general, finding the eigenvalues reduces to finding the roots of the characteristic polynomial.  Finding the characteristic polynomial can be done in $O(n^3 M_B[n(log n + L)] )$, where $M_B(s)$ is the cost of $s$ bit multiplies and $L$ is the bit size of the maximum entry, by a symbolic determinant calculation using &lt;a href=&quot;http://en.wikipedia.org/wiki/Bareiss_algorithm&quot;&gt;Bareiss's Algorithm&lt;/a&gt;.  See Yap's book on on &lt;a href=&quot;http://cs.nyu.edu/~yap/book/alge/ftpSite/&quot;&gt;&quot;Fundamentals of Algorithmic Algebra&quot;&lt;/a&gt;, specifically, &lt;a href=&quot;http://cs.nyu.edu/~yap/book/alge/ftpSite/l10.ps.gz&quot;&gt;Chap. 10, &quot;Linear Systems&quot;&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Once the characteristic polynomial is found, one can find the roots to any degree of accuracy desired by using isolating intervals.  See Yap's book, &lt;a href=&quot;http://cs.nyu.edu/~yap/book/alge/ftpSite/l6.ps.gz&quot;&gt;Chap. 6 &quot;Roots of Polynomials&quot;&lt;/a&gt; for details.  I forget the exact run time but its polynomial in the degree of the characteristic polynomial and digits of accuracy desired.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I suspect that calculating eigenvectors up to whatever degree of accuracy is also polynomial but I do not see a straight forward algorithm.  There are, of course, the standard bag of tricks that have been previously mentioned, but as far as I know, none of them guarantee polynomial run time for a desired accuracy.&lt;/p&gt;&#xA;" OwnerUserId="834" LastActivityDate="2010-11-03T04:48:55.383" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="2680" PostTypeId="2" ParentId="2676" CreationDate="2010-11-03T04:58:50.070" Score="19" Body="&lt;p&gt;I'm not exactly sure if this is the type of problem you were looking for, but the phase transition of NP-Complete problems is a (by now) well known phenomenon.  See Brian Hayes's articles &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.109.7889&amp;amp;rep=rep1&amp;amp;type=pdf&quot;&gt;&quot;Can't Get No Satisfaction&quot;&lt;/a&gt; about the 3-SAT phase transition and &lt;a href=&quot;http://www.americanscientist.org/issues/id.3278,y.2002,no.3,content.true,page.1,css.print/issue.aspx&quot;&gt;&quot;The Easiest Hard Problem&quot;&lt;/a&gt; about the Number Partition Phase transition, for some popular articles on the subject.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.cs.cornell.edu/selman/papers/pdf/science-94-kirkpatrick-selman.pdf&quot;&gt;Selman and Kirkpatrick&lt;/a&gt; were first to show numerically that the phase transition for 3-SAT was when the ratio of clauses to variables was at around 4.3.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.24.2866&amp;amp;rep=rep1&amp;amp;type=pdf&quot;&gt;Gent and Walsh&lt;/a&gt; were first to show numerically that the phase transition for the Number Partition Problem happened when the ratio of bits to list length was about 1.  Later this was proved analytically by &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.89.9577&amp;amp;rep=rep1&amp;amp;type=pdf&quot;&gt;Borgs, Chayes and Pittel&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Travelling Salesman, Graph Coloring, Hamiltonian Cycle, amongst others, also appear to have phase transitions for a suitable parameterization of problem instance creation.  I think it's safe to say that it is a commonly held belief that all NP-Complete problems exhibit a phase transition for a suitable parameterization.&lt;/p&gt;&#xA;" OwnerUserId="834" LastActivityDate="2010-11-03T04:58:50.070" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2681" PostTypeId="1" CreationDate="2010-11-03T10:08:33.710" Score="4" ViewCount="1345" Body="&lt;p&gt;If you go to &lt;a href=&quot;http://ffffound.com/&quot; rel=&quot;nofollow&quot;&gt;FFFFOUND!&lt;/a&gt; and click on some image you will notice that on the new page, under the image, there is a section called &quot;You may like these images.&quot; which suggests 10 images that look similar to the original.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What would be a good algorithm to achieve this functionality for a collection of images?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any documentation, books, etc. related to such algorithms is very appreciated. Also algorithms for finding similar images that yield better results than those seen on FFFFOUND! website are also welcome.&lt;/p&gt;&#xA;" OwnerUserId="1124" LastEditorUserId="873" LastEditDate="2010-11-04T09:13:54.820" LastActivityDate="2012-07-10T23:13:15.547" Title="Algorithm for finding similar images" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;" AnswerCount="4" CommentCount="10" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2682" PostTypeId="2" ParentId="2656" CreationDate="2010-11-03T10:15:25.503" Score="8" Body="&lt;p&gt;Models are just models. I wouldn't push it too far; they tell something about some aspects of your algorithms, but not the whole truth.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would suggest that you simply use the standard word RAM model in your analysis &lt;em&gt;and&lt;/em&gt; implement the algorithm and see how well it performs in practice.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Actually just implementing your algorithm without ever running it tells you already a lot about it... For one thing, it is then provably implementable.)&lt;/p&gt;&#xA;" OwnerUserId="74" LastActivityDate="2010-11-03T10:15:25.503" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="2683" PostTypeId="2" ParentId="2676" CreationDate="2010-11-03T10:45:01.900" Score="12" Body="&lt;p&gt;Associated to (some) noise models for quantum computation is a threshold value for the noise level, above which the noisy gates can be simulated by Clifford gates, such that the quantum computation processes becomes efficiently simulable.  As a start, see Plenio and Virmani, &lt;i&gt;Upper bounds on fault tolerance thresholds of noisy Cliﬀord-based quantum computers&lt;/i&gt; (arXiv:0810.4340v1).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Solvable models like this inform us regarding an ubiquitous practical problem: for a specified physical quantum system in contact with a thermal reservoir (possibly at zero temperature), are the noise levels associated to that thermal reservoir below or above the threshold for efficient  simulation with classical resources?  If the latter, what simulation algorithms are optimal?&lt;/p&gt;&#xA;" OwnerUserId="2026" LastActivityDate="2010-11-03T10:45:01.900" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2684" PostTypeId="2" ParentId="2676" CreationDate="2010-11-03T10:59:12.237" Score="18" Body="&lt;p&gt;In standard worst-case approximation, there are many sharp thresholds as the &lt;em&gt;approximation factor&lt;/em&gt; varies.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, for 3LIN, satisfying as many given Boolean linear equations on 3 variables each, there is a simple random assignment approximation algorithm for approximation 1/2, but any approximation better than some t=1/2+o(1) is already as hard as exact SAT (conjectured to require exponential time).&lt;/p&gt;&#xA;" OwnerUserId="1621" LastActivityDate="2010-11-03T10:59:12.237" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2685" PostTypeId="2" ParentId="2681" CreationDate="2010-11-03T13:35:14.740" Score="1" Body="&lt;p&gt;Depends on how you define similarity.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Two images may be similar in context.&#xA;But that also depends on how you define the context.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another metric of similarity may be some mathematical distance function such as euclidean distance.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I guess you want algorithms which categorize an image using some information about the context of the image, such as tags.&#xA;The field of &lt;a href=&quot;http://en.wikipedia.org/wiki/Machine_learning&quot; rel=&quot;nofollow&quot;&gt;Machine Learning&lt;/a&gt; deals with this type of problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A more interesting approach, but much harder and not so well developed, is to also learn the tags. That also falls in the field of Machine Learning.&lt;/p&gt;&#xA;" OwnerUserId="1657" LastActivityDate="2010-11-03T13:35:14.740" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2686" PostTypeId="2" ParentId="2674" CreationDate="2010-11-03T13:37:35.260" Score="20" Body="&lt;p&gt;Very nice examples are contained in two papers by Pippenger&#xA;An Information-Theoretic Method in Combinatorial Theory. J. Comb. Theory, Ser. A 23(1): 99-104 (1977) and Entropy and enumeration of boolean functions. IEEE Transactions on Information Theory 45(6): 2096-2100 (1999).&#xA;Actually, several papers by Pippenger contain cute proofs of combinatorial facts by means of entropy/mutual information. &#xA;Also, the two books: Jukna, Extremal Combinatorics  With Applications in Computer Science&#xA;and Aigner, Combinatorial Search  have some nice examples.&#xA;I also like the two papers  Madiman et al. Information-theoretic Inequalities in Additive&#xA;Combinatorics, and Terence Tao,  Entropy sumset estimates (you can find them with Google Scholar). Hope it helps.&lt;/p&gt;&#xA;" OwnerUserId="2030" LastActivityDate="2010-11-03T13:37:35.260" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2687" PostTypeId="2" ParentId="2681" CreationDate="2010-11-03T14:38:55.787" Score="0" Body="&lt;p&gt;One possible approach would be to see who has saved the image (below it) and use that as an algorithm for finding other images, similarly to how Facebook suggests friends.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Upon examination, my theory holds for a few elements.&lt;/p&gt;&#xA;" OwnerUserId="2032" LastActivityDate="2010-11-03T14:38:55.787" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2689" PostTypeId="2" ParentId="2674" CreationDate="2010-11-03T16:54:32.430" Score="26" Body="&lt;p&gt;&lt;a href=&quot;http://www.ingentaconnect.com/content/ap/ta/1997/00000077/00000001/art02727?crawler=true&quot;&gt;Radhakrishnan's entropy proof&lt;/a&gt; of Bregman's Theorem, that the number of perfect matchings $p$ in a bipartite graph $(L\cup R, E)$ is at most $\prod_{v \in L} (d(v)!)^{1/d(v)}$.  The proof uses two very clever ideas.  Here is a sketch of the proof:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Select a perfect matching $M$ uniformly.  The entropy of this variable is $H(M) = \log p$.&lt;/li&gt;&#xA;&lt;li&gt;For $v \in L$, let $X_v$ be the vertex in $R$ that is matched with $v$ in $M$.&lt;/li&gt;&#xA;&lt;li&gt;The variable $X = (X_v : v \in L)$ has the same information as $M$, so $H(M) = H(X)$.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Clever Idea 1:&lt;/strong&gt; By randomly (and uniformly) selecting an order $\leq$ on $L$, Radhakrishnan provides a &quot;randomized chain rule&quot; stating $H(X) = \sum_{v\in L} H(X_v | { X_u : u &amp;lt; v }, \leq)$.&lt;/li&gt;&#xA;&lt;li&gt;From the information in the conditions (${X_u : u &amp;lt; v}, \leq$) we can determine $N_v = |N(v) \setminus { X_u : u &amp;lt; v }|$ (roughly: the number of choices for matching $v$).&lt;/li&gt;&#xA;&lt;li&gt;Since $N_v$ is determined from this information, the conditioned entropy doesn't change in the equality $ H(X_v | { X_u : u &amp;lt; v }, \leq) =  H(X_v | { X_u : u &amp;lt; v }, \leq, N_v)$.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Clever Idea 2:&lt;/strong&gt; By &quot;forgetting&quot; the information ${X_u : u &amp;lt; v}, \leq$, we can only increase the entropy: $H(X_v | { X_u : u &amp;lt; v }, \leq, N_v) \leq H(X_v | N_v)$.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Crazy Fact:&lt;/strong&gt; The variable $N_v$ is uniformly distributed on the set ${1,\dots, d(v)}$.&lt;/li&gt;&#xA;&lt;li&gt;Now, to compute the entropy $H(X_v | N_v)$, we sum over all values of $N_v$: $H(X_v | N_v) = \sum_{i=1}^{d(v)} \frac{1}{d(v)}H(X_v|N_v=i) \leq \frac{1}{d(v)}\sum_{i=1}^{d(v)}\log i = \log((d(v)!)^{1/d(v)}).$&lt;/li&gt;&#xA;&lt;li&gt;The result follows by combining all inequalities together and taking exponents.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The generalization of this inequality is the Kahn-Lovász Theorem: The number of perfect matchings in any graph $G$ is at most $\prod_{v \in V(G)} (d(v)!)^{1/2d(v)}$.  An entropy proof of this result was proven by &lt;a href=&quot;http://www.math.unl.edu/~aradcliffe1/Papers/kahnlovasz.pdf&quot;&gt;Cutler and Radcliffe&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="59" LastEditorUserId="59" LastEditDate="2010-11-03T18:06:52.120" LastActivityDate="2010-11-03T18:06:52.120" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="2690" PostTypeId="1" CreationDate="2010-11-03T17:27:20.613" Score="10" ViewCount="226" Body="&lt;p&gt;I have a feasibility question that can be framed as follows. I'm given a point $p$ in a $d$-dimensional vector space, and I want to find the closest point $q$ to $p$ that satisfies a set of &quot;$\ell_0$ constraints&quot; of the form&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Given a set $S \in [1\ldots d]$, at&#xA;  most one of $\{q_j, j \in S\}$ can be&#xA;  nonzero.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The notion of closeness varies, but for now it is sufficient to assume a convenient distance like $\ell_2^2$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there any known relaxations to linear constraints that are &quot;good&quot; in the sense of providing a &quot;close enough&quot; polytope to approximate the original constraints, where I'm also pretty flexible on the definition of &quot;close enough&quot;&lt;/p&gt;&#xA;" OwnerUserId="80" LastEditorUserId="186" LastEditDate="2010-11-05T05:06:48.197" LastActivityDate="2010-11-05T05:06:48.197" Title="Relaxing $\ell_0$ constraints in an optimization" Tags="&lt;ds.algorithms&gt;&lt;approximation-algorithms&gt;&lt;linear-programming&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2691" PostTypeId="1" CreationDate="2010-11-03T18:47:19.747" Score="20" ViewCount="494" Body="&lt;p&gt;Denote the $k$-variable fragment of logic $L$ by $L^{(k)}$.  The model-checking problem for a logic $L$ with respect to a class of structures $C$, denoted $MC(L,C)$, is the decision problem&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;$MC(L,C)$&lt;br&gt;&#xA;  &lt;em&gt;Input:&lt;/em&gt; formula $\phi$ of $L$, structure $S$ from $C$&lt;br&gt;&#xA;  &lt;em&gt;Question:&lt;/em&gt; does $S$ satisfy $\phi$?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Is there a logic $L$, with associated class of structures $C$, and a subclass $D$ of $C$, such that&lt;br&gt;&#xA;1. $MC(L^{(3)},D)$ is &quot;easy&quot;,&lt;br&gt;&#xA;2. $MC(L,D)$ is &quot;hard&quot;, and&lt;br&gt;&#xA;3. $MC(L^{(3)},C)$ is &quot;hard&quot;?  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;With &quot;easy&quot; vs. &quot;hard&quot; I mean decidable vs. undecidable, PTIME vs. NP-hard, LogCFL vs. P-complete, or similar dichotomies.&lt;/p&gt;&#xA;&#xA;&lt;h1&gt;Motivation&lt;/h1&gt;&#xA;&#xA;&lt;p&gt;For many logics the three-variable fragment is enough to express &quot;hard&quot; properties (this is true for MSO and FO over ordered structures).  So results about undecidability often carry across from the logic to its three-variable fragment.  There is also often a way to reduce the arity of predicates used in formulas efficiently (for instance, SAT can be reduced to 3SAT with a linear increase in formula size).  Reducing arity facilitates expressing some formulas with fewer variables.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, there exist logics which are &quot;easy&quot; for some classes of structures yet &quot;hard&quot; in general.  For instance, the model-checking problem for MSO is &quot;easy&quot; (linear time) on unordered graphs satisfying the property &quot;has treewidth less than $k$&quot; for any fixed $k$, but &quot;hard&quot; (NP-complete) on unordered graphs in general.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am asking whether there are any known examples where the restriction to 3 variables interacts with the property defining the subclass $D$ in an essential way to yield tractability, yet where neither of these restrictions on their own is enough.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Apologies for the vagueness of the question: I am trying to leave this general because I can't think of any examples.  As soon as I restrict $D$ enough to ensure condition 1 holds, condition 2 seems to break.  I suspect there are some unnatural classes which would work, but ideally $D$ should be &quot;nice&quot;, at least hereditary and closed under isomorphism.  As a further non-example, model-checking for FO is PSPACE-complete while model-checking for $FO^{(3)}$ is PTIME-complete; here the restriction to a finite number of variables is already enough to ensure an &quot;easy&quot; model-checking problem and condition 3 fails.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Definitions for completeness: FO is &lt;a href=&quot;http://en.wikipedia.org/wiki/First-order_logic&quot; rel=&quot;nofollow&quot;&gt;first-order logic&lt;/a&gt;, MSO is monadic &lt;a href=&quot;http://en.wikipedia.org/wiki/Second-order_logic&quot; rel=&quot;nofollow&quot;&gt;second-order logic&lt;/a&gt;, where quantification over sets of individuals is allowed, as well as quantification over individuals.&lt;/p&gt;&#xA;" OwnerUserId="109" LastEditorUserId="109" LastEditDate="2015-01-12T11:35:26.430" LastActivityDate="2015-01-12T11:35:26.430" Title="Model-checking for three-variable logics and restricted structures" Tags="&lt;cc.complexity-theory&gt;&lt;co.combinatorics&gt;&lt;lo.logic&gt;&lt;descriptive-complexity&gt;" AnswerCount="0" CommentCount="2" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="2692" PostTypeId="2" ParentId="2690" CreationDate="2010-11-03T19:19:25.100" Score="7" Body="&lt;p&gt;I am not sure if I understand the problem correctly, but as is written, the problem seems to admit several simplifications, and in particular the problem in the ℓ&lt;sub&gt;2&lt;/sub&gt;&lt;sup&gt;2&lt;/sup&gt; case is equivalent to the minimum-weight vertex cover if I am not mistaken.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Without loss of generality we can assume that |&lt;i&gt;S&lt;/i&gt;|=2 in every constraint, because a constraint with |&lt;i&gt;S&lt;/i&gt;|&amp;gt;2 is equivalent to the set of constraints where &lt;i&gt;S&lt;/i&gt; runs over all pair of elements in the original set &lt;i&gt;S&lt;/i&gt;.  Therefore, the ℓ&lt;sub&gt;0&lt;/sub&gt; constraints can be visualized as a graph &lt;i&gt;G&lt;/i&gt; with &lt;i&gt;d&lt;/i&gt; vertices.  Using the graph &lt;i&gt;G&lt;/i&gt;, the constraints can be restated as follows: the set of the vertices corresponding to the coordinates &lt;i&gt;i&lt;/i&gt; with &lt;i&gt;q&lt;/i&gt;&lt;sub&gt;i&lt;/sub&gt;=0 must be a vertex cover of &lt;i&gt;G&lt;/i&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Assume that the distance is defined by ℓ&lt;sub&gt;2&lt;/sub&gt;&lt;sup&gt;2&lt;/sup&gt; or some norm.  In this case, any point &lt;i&gt;q&lt;/i&gt; can be transformed to a point &lt;i&gt;q&lt;/i&gt;′ that satisfies for every &lt;i&gt;i&lt;/i&gt;, &lt;i&gt;q&lt;/i&gt;′&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt;∈{0,&lt;i&gt;p&lt;/i&gt;&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt;}, simply by setting $$ q'_i = \begin{cases} p_i, &amp;amp; q_i \ne 0, \\ 0, &amp;amp; q_i = 0, \end{cases} $$ and this transformation never increases the distance from the point &lt;i&gt;p&lt;/i&gt;.  In particular, if the distance is the sum of coordinate-wise distance (as in the case of the ℓ&lt;sub&gt;2&lt;/sub&gt;&lt;sup&gt;2&lt;/sup&gt; distance), the problem is exactly the same as the minimum-weight vertex cover.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;As for an LP relaxation of the vertex cover problem, a quick search leads to e.g. the &lt;a href=&quot;http://www.wisdom.weizmann.ac.il/~feige/lp02.html&quot; rel=&quot;nofollow&quot;&gt;lecture notes (Lecture 9) by Uriel Feige&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="567" LastActivityDate="2010-11-03T19:19:25.100" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="2693" PostTypeId="1" CreationDate="2010-11-03T21:57:15.500" Score="2" ViewCount="320" Body="&lt;p&gt;I want to generate an infinite sequence of numbers between $0$ and $9$ such that the percentage of number $i$ appearing in the sequence is $p_i$. Let $p=\lbrace p_0,...,p_9\rbrace$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another agent $B$ will observe $k$ consecutive elements from the sequence. Then it will update its belief about the probability of $p_i$ using a belief update rule (let's say a simple frequentist, i.e., the number of occurrences of each digit divided by $k$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The question is how can I generate the sequence such that $B$'s belief $q$ is close to $p$, i.e., $d(p,q)$ is minimized where $d(p,q)$ is the dsitance function of two distributions, e.g., $d(p,q)=(\sum_i (p_i-q_i)^2)^0.5$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that I don't know how $B$ will choose the $k$ numbers. Let's consider the worst case (i.e., worst $p'$).&lt;/p&gt;&#xA;" OwnerDisplayName="Mike" LastEditorDisplayName="Mike" LastEditDate="2010-11-05T06:17:10.533" LastActivityDate="2010-11-08T07:52:24.740" Title="Generate a sequence of numbers" Tags="&lt;machine-learning&gt;&lt;gt.game-theory&gt;&lt;st.statistics&gt;" AnswerCount="2" CommentCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="2694" PostTypeId="2" ParentId="2693" CreationDate="2010-11-03T22:24:42.960" Score="5" Body="&lt;p&gt;For observing consecutive elements: pick up the best sequence of $k$ elements (depending on your proximity measure), and repeat it. Then B will always observe the same sequence (I assume that cyclical permutation doesn't affect B).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For observing random elements: how would you pick them randomly? Do you want a deterministic sequence?&lt;/p&gt;&#xA;" OwnerUserId="40" LastActivityDate="2010-11-03T22:24:42.960" CommentCount="10" ContentLicense="CC BY-SA 2.5" />
  <row Id="2696" PostTypeId="2" ParentId="2681" CreationDate="2010-11-04T02:05:34.493" Score="2" Body="&lt;p&gt;You could take a collective intelligence approach and try to determine similarity between various users based on their tastes of other images. If I like a bunch of images and another user likes majority of the same images, then it could be said that I will most likely like pictures the other user likes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You might want to try and find information on Collaborative Filtering, Euclidean Distance/Pearson correlation (within the context of social networks.)&lt;/p&gt;&#xA;" OwnerUserId="2041" LastActivityDate="2010-11-04T02:05:34.493" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2698" PostTypeId="1" AcceptedAnswerId="2699" CreationDate="2010-11-04T04:34:06.227" Score="13" ViewCount="1171" Body="&lt;p&gt;Let's say we have a single-layer feed forward neural network with k inputs and one output. It calculates a function from  $\lbrace 0,1\rbrace ^{n}\rightarrow\lbrace 0,1\rbrace $, it's fairly easy to see that this has at least the same computational power as $AC^0$. Just for fun, we'll call the set of functions computable by a single layer neural network &quot;$Neural$&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It seems, however, that it might have more computational power than $AC^0$ alone.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So ... is $AC^0 \subseteq Neural$ or is $Neural = AC^0$? Also has this kind of complexity class been studied before?&lt;/p&gt;&#xA;" OwnerUserId="1892" LastEditorUserId="109" LastEditDate="2010-11-04T16:41:56.827" LastActivityDate="2014-04-17T22:49:38.370" Title="Computational Power of Neural Networks?" Tags="&lt;cc.complexity-theory&gt;&lt;circuit-complexity&gt;&lt;machine-learning&gt;&lt;ne.neural-evol&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="7" ContentLicense="CC BY-SA 2.5" />
  <row Id="2699" PostTypeId="2" ParentId="2698" CreationDate="2010-11-04T05:20:00.867" Score="16" Body="&lt;p&gt;There are some references I could find: &#xA;&lt;a href=&quot;http://www.mitpressjournals.org/doi/abs/10.1162/089976603322518731&quot; rel=&quot;nofollow&quot;&gt;General-purpose computation with neural networks: A survey of complexity theoretic results, 2003&lt;/a&gt; and &lt;a href=&quot;http://books.google.com/books?hl=en&amp;amp;lr=&amp;amp;id=kVhZDTKYa8MC&amp;amp;oi=fnd&amp;amp;pg=PA469&amp;amp;dq=the+computation+complexity+of+neural+networks+ac0&amp;amp;ots=ibM6gABynC&amp;amp;sig=ELw-AraHjjnzVWo5qdpdbAHGAUg&quot; rel=&quot;nofollow&quot;&gt;Counting hierarchies: polynomial time and constant depth circuits, 1993&lt;/a&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It appears that neural networks are considered threshold circuits; i.e. those circuits using MAJORITY gates. In &lt;a href=&quot;http://books.google.com/books?hl=en&amp;amp;lr=&amp;amp;id=kVhZDTKYa8MC&amp;amp;oi=fnd&amp;amp;pg=PA469&amp;amp;dq=the+computation+complexity+of+neural+networks+ac0&amp;amp;ots=ibM6gABynC&amp;amp;sig=ELw-AraHjjnzVWo5qdpdbAHGAUg&quot; rel=&quot;nofollow&quot;&gt;(2)&lt;/a&gt; it is the case that a depth $d$ neural network has complexity $TC^0_d$ (here's a link to &lt;a href=&quot;https://complexityzoo.uwaterloo.ca/Complexity_Zoo%3aT#tc0&quot; rel=&quot;nofollow&quot;&gt;link&lt;/a&gt; to complexity zoo entry about $TC^0$). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since $TC^0$ containts $ACC^0$, which is $AC^0$ with arbitrary MOD gates, then $AC^0 \subset TC^0$. Also, it is mentioned in the zoo that such circuits with depth 3 are strictly more powerful than those of depth 2.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In &lt;a href=&quot;http://www.computer.org/portal/web/csdl/doi/10.1109/SFCS.1991.185447&quot; rel=&quot;nofollow&quot;&gt;On the computational power of sigmoid versus Boolean threshold circuits,1991&lt;/a&gt; it is mentioned that for a constant depth $d$, Boolean and real-valued threshold circuits (with polynomially bounded weights) are essentially the same.&lt;/p&gt;&#xA;" OwnerUserId="201" LastEditorUserId="201" LastEditDate="2014-04-17T22:49:38.370" LastActivityDate="2014-04-17T22:49:38.370" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="2700" PostTypeId="2" ParentId="2655" CreationDate="2010-11-04T06:52:23.640" Score="6" Body="&lt;p&gt;The other answers are excellent, and this is not meant to replace or contradict any of them, merely to offer some intuition for why P=BQP does not necessarily imply equality between quantum and classical interactive proof systems (for fixed rounds etc.). We do now, however, know that QIP=IP thanks to the work of Jain, Ji, Upadhyay and Watrous, so I am certainly not trying to claim that such equalities never happen.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we only assume that P=BQP then we learn something only about the which decision problems can be answered by the quantum and classical models. It is not the same as implying that the models are actually the same. The main difference is that quantum computers can process states in superposition, which means that their input and output need not be restricted to classical states. This is a very important difference between quantum and classical models, since the quantum input/output makes it possible to query oracles with superpositions of classical states or to communicate quantum states (which may potentially have exponential classical descriptions) between a verifier and prover. Indeed, oracles do exist which separate BQP from P, and quantum communication leads to reduced communications complexity for a number of problems. Thus, the quantum model is strictly more powerful than having a classical computer supplemented with an oracle for BQP: A quantum computer can do everything a classical computer can do, but a classical computer cannot do everything a quantum computer can do. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For this reason, the question of whether P=BQP is not the deciding factor in whether quantum and classical models are equal in situations which make use of communication/oracle queries.&lt;/p&gt;&#xA;" OwnerUserId="204" LastActivityDate="2010-11-04T06:52:23.640" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2701" PostTypeId="1" AcceptedAnswerId="2712" CreationDate="2010-11-04T08:30:11.747" Score="20" ViewCount="1121" Body="&lt;p&gt;I am looking for a good survey on algorithms and complexity of linear algebra (operations like rank, inverse, eigenvalues, ... for Boolean, $\mathbb{F}_p$, and integers/rationals matrices) with emphasis on parallel ($NC$ hierarchy) and polytime algorithms. I could not find a recent one.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Do you know a good recent survey or book on complexity of linear algebra? &lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2010-11-04T09:28:13.507" LastActivityDate="2010-11-05T03:36:54.170" Title="Survey on algorithms/complexity of linear algebra" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;dc.parallel-comp&gt;&lt;linear-algebra&gt;" AnswerCount="3" CommentCount="0" FavoriteCount="13" ContentLicense="CC BY-SA 2.5" />
  <row Id="2702" PostTypeId="2" ParentId="608" CreationDate="2010-11-04T09:08:01.347" Score="8" Body="&lt;p&gt;Many interesting problems that nature sciences come up with turn out to be NP-hard in the classical sense. While this notion is theoretically perfectly valid it does not help the biologist or physicist in any way. We find that some NP-hard problems are &lt;a href=&quot;http://en.wikipedia.org/wiki/Parameterized_complexity&quot;&gt;fixed parameter treatable&lt;/a&gt; and oftentimes with a parameter that is observed to be bounded by a small constant in the real world.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;That is, TCS tells us that we do not expect an efficient solution for the abstract problem but we can solve actually occurring instances fast -- quite a gap.&lt;/p&gt;&#xA;" OwnerUserId="1546" LastActivityDate="2010-11-04T09:08:01.347" CommentCount="0" CommunityOwnedDate="2010-11-04T09:08:01.347" ContentLicense="CC BY-SA 2.5" />
  <row Id="2703" PostTypeId="1" AcceptedAnswerId="2709" CreationDate="2010-11-04T09:21:54.243" Score="21" ViewCount="1438" Body="&lt;p&gt;What is the relationship between &lt;a href=&quot;http://en.wikipedia.org/wiki/DNA_computing&quot;&gt;DNA-algorithms&lt;/a&gt; and the complexity classes defined using Turing machines? What do the complexity measures like time and space correspond to in DNA-algorithms? Can they be used to solve instances of NP-complete problems like TSP that von Neumann machines can not solve feasibly in practice?&lt;/p&gt;&#xA;" OwnerUserId="2044" LastEditorUserId="186" LastEditDate="2010-11-07T05:41:33.850" LastActivityDate="2010-11-07T05:41:33.850" Title="DNA-algorithms and NP-completeness" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;&lt;natural-computing&gt;&lt;tsp&gt;" AnswerCount="4" CommentCount="1" FavoriteCount="7" ContentLicense="CC BY-SA 2.5" />
  <row Id="2704" PostTypeId="2" ParentId="2701" CreationDate="2010-11-04T09:24:36.540" Score="9" Body="&lt;p&gt;How about &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/1601982429&quot;&gt;Complexity Lower Bounds using Linear Algebra&lt;/a&gt;? The book is not exactly what you want, since it surveys lower bounds &lt;strong&gt;using&lt;/strong&gt; linear algebra, not the complexity &lt;strong&gt;of&lt;/strong&gt; linear algebra problems. Yet I think it is helpful anyway, since it is first necessary to grasp the complexity of linear algebra problems, and then use it to prove lower bounds on other problems.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here's the description of the book:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;While rapid progress has been made on upper bounds (algorithms), progress on lower bounds on the complexity of explicit problems has remained slow despite intense efforts over several decades. As is natural with typical impossibility results, lower bound questions are hard mathematical problems and hence are unlikely to be resolved by ad hoc attacks. Instead, techniques based on mathematical notions that capture computational complexity are necessary. Complexity Lower Bounds using Linear Algebra &lt;strong&gt;surveys&lt;/strong&gt; several techniques for proving lower bounds in Boolean, algebraic, and communication complexity based on certain linear algebraic approaches. The common theme among these approaches is to study &lt;strong&gt;robustness measures of matrix rank&lt;/strong&gt; that capture the complexity in a given model. Suitably strong lower bounds on such robustness functions of explicit matrices lead to important consequences in the corresponding circuit or communication models. Understanding the inherent computational complexity of problems is of fundamental importance in mathematics and theoretical computer science. Complexity Lower Bounds using Linear Algebra is an invaluable reference for anyone working in the field.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;PS:&lt;/strong&gt; You asked for a book, but I believe this article: &lt;a href=&quot;http://dx.doi.org/10.1006/jcss.1998.1608&quot;&gt;The Computational Complexity of Some Problems of Linear Algebra&lt;/a&gt; is also useful (yet it dates back to 1999).&lt;/p&gt;&#xA;" OwnerUserId="873" LastActivityDate="2010-11-04T09:24:36.540" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="2705" PostTypeId="2" ParentId="2703" CreationDate="2010-11-04T09:39:33.083" Score="1" Body="&lt;p&gt;&lt;a href=&quot;http://dx.doi.org/10.1016/j.ipl.2007.03.001&quot; rel=&quot;nofollow&quot;&gt;This paper&lt;/a&gt; might be interesting to you -- incidentally, I would be grateful if someone could clarify the shocking statement that constitutes its title.&lt;/p&gt;&#xA;" OwnerUserId="775" LastActivityDate="2010-11-04T09:39:33.083" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="2706" PostTypeId="2" ParentId="2703" CreationDate="2010-11-04T10:04:39.777" Score="2" Body="&lt;p&gt;This is a partial answer&lt;/p&gt;&#xA;&#xA;&lt;p&gt;From Wikipedia article you mentioned, Molecular DNA-computing algorithms that solve NP-complete problems do not prove that NP-complete problems are solvable in polynomial time on sequential machines  (assuming feasibly in practice means polynomial time). DNA-computing can be considered a form parallel computing. Finally, from the viewpoint of computability theory, DNA-computing is  no more powerful than Turing machines.&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2010-11-04T13:40:51.560" LastActivityDate="2010-11-04T13:40:51.560" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2707" PostTypeId="1" AcceptedAnswerId="2716" CreationDate="2010-11-04T10:13:34.073" Score="14" ViewCount="2149" Body="&lt;p&gt;I wrote an implementation of the Kuhn-Munkres algorithm for the minimum-weight bipartite perfect matching problem based on lecture notes I found here and there on the web. It works really well, even on thousands of vertices. And I agree that the theory behind it is truly beautiful. And yet I still wonder why I had to go to such lengths. I find that these lecture notes don't explain why we can't simply take the primal linear program and pass it to the simplex method. Of course I suspect that it's a question of predictable performance, but since I haven't seen it explicitly stated, I'm not too sure. The polytope's extreme points of the primal are proven to be in 0-1, so it seems that we can feed it directly to a simplex implementation without even formulating the dual. Or am I being simplistic?&lt;/p&gt;&#xA;" OwnerDisplayName="quid" LastEditorUserId="186" LastEditDate="2010-11-05T05:05:49.693" LastActivityDate="2015-03-05T00:05:18.540" Title="Justification for the Hungarian method (Kuhn-Munkres)" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;linear-programming&gt;&lt;simplex&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="2708" PostTypeId="1" AcceptedAnswerId="2713" CreationDate="2010-11-04T10:37:18.527" Score="33" ViewCount="2420" Body="&lt;p&gt;Consider the following counting problem (or the associated decision problem): Given two positive integers encoded in binary, compute their greatest common divisor (gcd). What is the smallest complexity class this problem is contained in? Can you provide a reference?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In this question I am not primarily interested in asymptotic bounds on the running time, but rather in complexity classes. Is the problem in AC? Can it be proven not to lie in AC0? What are other complexity classes inside P that are of relevance here?&lt;/p&gt;&#xA;" OwnerUserId="2047" LastEditorUserId="186" LastEditDate="2013-05-15T06:53:59.693" LastActivityDate="2015-01-05T16:24:32.963" Title="complexity of greatest common divisor (gcd)" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;complexity-classes&gt;&lt;nt.number-theory&gt;" AnswerCount="3" CommentCount="7" FavoriteCount="8" ContentLicense="CC BY-SA 2.5" />
  <row Id="2709" PostTypeId="2" ParentId="2703" CreationDate="2010-11-04T10:52:02.080" Score="31" Body="&lt;p&gt;Soundbite answer: DNA computing does not provide a magic wand to solve NP-complete problems, even though some respected researchers in the 1990s thought for a time it might.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The inaugural DNA computing experiment was performed in a laboratory headed by the renowned number theorist Len Adleman.  Adleman solved a small Traveling Salesman Problem -- a well-known NP-complete problem, and he and others thought for a while the method might scale up.  Adleman describes his approach in &lt;a href=&quot;http://video.google.com/videoplay?docid=5450196728653862138&amp;amp;hl=en&quot;&gt;this short video&lt;/a&gt;, which I find fascinating.  The problem they encountered was that to solve a TSP problem of modest size, they would need more DNA than the size of the Earth.  They had figured out a way to save time by increasing the amount of work done in parallel, but this did not mean the TSP problem required less than exponential resources to solve. They had only shifted the exponential cost from amount-of-time to amount-of-physical material.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(There's an added question: if you require an exponential amount of machinery to solve a problem, do you automatically require an exponential amount of time, or at least preprocessing, to build the machinery in the first place?  I'll leave that issue to one side, though.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This general problem -- reducing the time a computation requires at the expense of some other resource -- has shown up many times in biologically-inspired models of computing.  The Wikipedia page on membrane computing (an abstraction of a biological cell) says that a certain type of membrane system is able to solve NP-complete problems in polynomial time.  This works because that system allows for the creation of exponentially-many subobjects inside an overall membrane, in polynomial time.  Well... how does an exponential amount of raw material arrive from the outside world an enter through a membrane with constant surface area?  Answer: it's not considered.  They're not paying for a resource that the computation would otherwise require.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, to respond to Anthony Labarre, who linked to a paper showing AHNEPs can solve NP-complete problems in polynomial time.  There's even a paper out showing AHNEPs can solve 3SAT in &lt;em&gt;linear&lt;/em&gt; time.  AHNEP = Accepting Hybrid Network of Evolutionary Processors.  An evolutionary processor is a model inspired by DNA, whose core has a string that at each step can be changed by substitution, deletion, or (importantly) insertion.  Further, an arbitrarily large number of strings is available at every node, and at each communication step, all nodes send all their correct strings to all attached nodes.  So without time cost, it's possible to transfer exponential amounts of information, and because of the insertion rule, individual strings can become ever larger over the course of the computation, so it's a double whammy.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you are interested in recent work in biocomputation, by researchers who focus on computations that are real-world practical, I can offer &lt;a href=&quot;http://www.cs.iastate.edu/~sterling/algbioreview.pdf&quot;&gt;this book review&lt;/a&gt; I recently wrote for SIGACT News, which touches briefly on multiple areas.&lt;/p&gt;&#xA;" OwnerUserId="30" LastActivityDate="2010-11-04T10:52:02.080" CommentCount="6" ContentLicense="CC BY-SA 2.5" />
  <row Id="2710" PostTypeId="2" ParentId="2703" CreationDate="2010-11-04T11:02:25.317" Score="13" Body="&lt;p&gt;This very much depends on your model.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In reality DNA computing follows (non-relativistic) physical laws, and so can be simulated on a quantum computer. Thus the best you could hope for is that it could solve BQP-complete problems. However this is actually very unlikely to be true (DNA is quite big, and so coherence isn't really an issue), and so by simulation it is almost certainly P. It is important to note, however, that this is efficiency in terms of the number of atoms used, and frankly atoms are sufficiently cheap that this number is astronomical making practical simulation of a test tube full of DNA well outside the realm of what is currently possible.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As a result, many people choose to work with models that approximate what happens quite well in practice, but break when pushed to extremes. One example of this is the abstract tiling model, which it turns out is NEXP-complete (see &lt;a href=&quot;http://arxiv.org/abs/0905.2419&quot;&gt;Gottesman and Irani's paper&lt;/a&gt; from FOCS last year).&lt;/p&gt;&#xA;" OwnerUserId="204" LastActivityDate="2010-11-04T11:02:25.317" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="2711" PostTypeId="1" AcceptedAnswerId="2714" CreationDate="2010-11-04T12:33:08.400" Score="23" ViewCount="1510" Body="&lt;p&gt;Last few months I started to lecture myself on social choice, arrow's theorem and related results.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;After reading about the seminal results, I asked myself about what happens with partial order preferences, the answer is in the paper of Pini &lt;em&gt;et al.&lt;/em&gt;: &lt;a href=&quot;http://www.math.unipd.it/~mpini/Conference--%20dastampare/01-tark05-acm.pdf&quot;&gt;Aggregating partially ordered preferences: impossibility and possibility results&lt;/a&gt;. Then, I wondered if it is possible of finding a characterization of admissible social choice functions. And again someone did it (&lt;a href=&quot;http://arxiv.org/pdf/0910.2465&quot;&gt;Complete Characterization of Functions Satisfying the Conditions of Arrow’s Theorem&lt;/a&gt; by Mossel and Tamuz). I won't give a full list, but any of the problems related to social choice I can think of where all solved in the last 5 years :(&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, do you know if there exists a survey on what was done recently in the field and what was not done?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another question is: are you aware of complexity and social choice related problems (for instance the complexity of finding the largest subset of users that are compatible for at least one social choice function, or this kind of question).&lt;/p&gt;&#xA;" OwnerUserId="76" LastEditorUserId="186" LastEditDate="2010-11-07T05:52:45.837" LastActivityDate="2010-11-30T06:49:43.820" Title="Social choice, arrow's theorem and open problems ?" Tags="&lt;co.combinatorics&gt;&lt;gt.game-theory&gt;&lt;boolean-functions&gt;&lt;social-sciences&gt;" AnswerCount="4" CommentCount="0" FavoriteCount="10" ContentLicense="CC BY-SA 2.5" />
  <row Id="2712" PostTypeId="2" ParentId="2701" CreationDate="2010-11-04T13:19:32.927" Score="17" Body="&lt;p&gt;Two references you might find to be helpful:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;D. Bini and V. Pan.  Polynomial and matrix computations, Volume 1: Fundamental Algorithms.  Progress in Theoretical Computer Science, Birkhauser, 1994.&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;J. von zur Gathen. Parallel linear algebra. In J. Reif, editor, Synthesis of Parallel Algorithms, chapter 13. Morgan Kaufmann Publishers, Inc., 1993.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;They aren't necessarily recent, but they're a good starting point.&lt;/p&gt;&#xA;" OwnerUserId="819" LastActivityDate="2010-11-04T13:19:32.927" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2713" PostTypeId="2" ParentId="2708" CreationDate="2010-11-04T13:38:40.900" Score="44" Body="&lt;p&gt;This is a major open question in complexity theory: it is not known if GCDs can be computed in NC, and it is not known if computing GCDs is P-complete.  The best parallel algorithms do have sub-linear parallel running time, one such algorithm being due to Sorenson:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;J. Sorenson.  &lt;a href=&quot;http://dx.doi.org/10.1006/jagm.1994.1006&quot;&gt;Two fast GCD algorithms&lt;/a&gt;.  Journal of Algorithms, 1994.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;If I am not mistaken, it is not even known if one can decide whether two integers are relatively prime in NC.&lt;/p&gt;&#xA;" OwnerUserId="819" LastEditorUserId="873" LastEditDate="2010-11-04T15:19:02.280" LastActivityDate="2010-11-04T15:19:02.280" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="2714" PostTypeId="2" ParentId="2711" CreationDate="2010-11-04T15:29:21.720" Score="18" Body="&lt;p&gt;Your question is very well timed, because the most recent issue of the CACM has an article      that does exactly this: &lt;a href=&quot;http://cacm.acm.org/magazines/2010/11/100640-using-complexity-to-protect-elections/fulltext&quot;&gt;http://cacm.acm.org/magazines/2010/11/100640-using-complexity-to-protect-elections/fulltext&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In brief, there's a lot of work by Conitzer, Tovey and others on the actual hardness, both worst-case and under distributional assumptions, of cracking voting mechanisms that are in principle breakable via Arrow's theorem. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2010-11-04T15:29:21.720" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2715" PostTypeId="2" ParentId="2430" CreationDate="2010-11-04T15:55:31.940" Score="1" Body="&lt;p&gt;Let $H_i$ for $i \in \mathbb{N}^+$ i.i.d. random variables over $\mathbb{N}^+$ with $Pr[H_i = k] = 2^{-k-1}$ (height of tower $i$). Let $H = \max \{H_i \mid i=1,\dots,N\}$ with $N \in \mathbb{N}^+$. Then:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$Pr[H \geq k \mid N] = 1 - \prod_{i=1}^{N} Pr[H_i &amp;lt; k] = 1 - (1 - 2^{-k})^n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now we can compute the likelihood of $H=k$ given $N$: $Pr[H = k \mid N] = Pr[H \geq k \mid N] - Pr[H \geq k + 1 \mid N] = (1-2^{-k-1})^n - (1-2^{-k})^n$. The zero of this expression's first partial derivative w.r.t. $N$ is found at&#xA;$N^*_k = \frac{\ln\left( \frac{\ln(1 - 2^{-k})}{\ln(1 - 2^{-k - 1})}\right) }{ \ln(1 - 2^{-k-1}) - \ln(1 - 2^{-k})}$ (using Wolfram Alpha). Note that I was not able/eager enough to check wether or not that is really a maximum. If it is, $N^*_k$ is maximum likelihood estimator for skip list length $N$ given maximum tower height $k$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some values, rounded to the nearest integer:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;k    N^*_k&#xA;1    2&#xA;2    5&#xA;3    11&#xA;4    22&#xA;5    44&#xA;10   1419&#xA;20   1.5e6&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;This feels reasonable; you might want to check wether $\mathbb{E}[k \mid N^*_k] \approx k$. I expect the expected height of a skip list for fixed length to be a standard result.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does someone have a good idea how to get an asymptotic for $N^*_k$? The expression I found is not very helpful.&lt;/p&gt;&#xA;" OwnerUserId="1546" LastEditorUserId="1546" LastEditDate="2010-11-05T20:55:09.420" LastActivityDate="2010-11-05T20:55:09.420" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2716" PostTypeId="2" ParentId="2707" CreationDate="2010-11-04T17:28:57.797" Score="16" Body="&lt;p&gt;&lt;em&gt;(Moved from a comment.)&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course you can solve any LP by using a general-purpose LP solver, but specialised algorithms typically have a &lt;em&gt;much&lt;/em&gt; better performance.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is not only about theoretical asymptotic performance guarantees, it is also about practical real-world performance. Algorithms such as the Hungarian method can be extremely streamlined and they are relatively easy to implement correctly and efficiently.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can also often avoid issues like using exact rational numbers vs. floating point numbers; everything can be done easily with integers.&lt;/p&gt;&#xA;" OwnerUserId="74" LastActivityDate="2010-11-04T17:28:57.797" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2717" PostTypeId="2" ParentId="2711" CreationDate="2010-11-04T21:33:02.473" Score="12" Body="&lt;p&gt;There are many complexity issues that are related to many of the topics that come up in what has come to be called social choice theory. These include the complexity of deciding who is the winner when a particular method is used to amalgamate the ballots of a certain type into a choice for society. There are also complexity issues involved in trying find a way to vote strategically (rather than using one's true preferences) when information may be available about other voter's preferences when a particular method is being used in the hopes of getting a better outcome for a particular person or a group of people. Complexity also comes up in designing &quot;safe&quot; on line voting systems.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;These is a huge literature about social choice but some good books to get started for those interested would be:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Donald Saari, Decisions and Elections, Cambridge U. Press, 2001.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Donald Saari, Disposing Dictators, Demystifying Voting Paradoxes, Cambridge U. Press, 2008.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Alan Taylor, Social Choice and the Mathematics of Manipulation, Cambridge U. Press, 2005.&lt;/p&gt;&#xA;" OwnerUserId="987" LastActivityDate="2010-11-04T21:33:02.473" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2719" PostTypeId="2" ParentId="2701" CreationDate="2010-11-05T03:36:54.170" Score="7" Body="&lt;p&gt;This book does not explicitly mention parallel algorithms, but &lt;a href=&quot;http://cs.nyu.edu/cs/faculty/yap/&quot;&gt;Yap's&lt;/a&gt; book &lt;a href=&quot;http://cs.nyu.edu/~yap/book/alge/ftpSite/&quot;&gt;&quot;Fundamental Problems of Algorithmic Algebra&quot;&lt;/a&gt; is a very good reference and discusses the complexity of many Linear Algebra questions.  There is a chapter specifically on &lt;a href=&quot;http://cs.nyu.edu/~yap/book/alge/ftpSite/l10.ps.gz&quot;&gt;Linear Systems&lt;/a&gt; discussing the time/bit complexity of determinant calculation, matrix inversion, Hermite normal form algorithms, amongst others.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The book also deals with complexity of multiplication, Grobner bases and Lattice Reduction techniques (such as LLL).  I can't recommend it enough and I bet you'll find something of worth therein.&lt;/p&gt;&#xA;" OwnerUserId="834" LastActivityDate="2010-11-05T03:36:54.170" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2720" PostTypeId="1" AcceptedAnswerId="2731" CreationDate="2010-11-05T04:42:01.130" Score="22" ViewCount="836" Body="&lt;p&gt;I just realized that I have been assuming the answer to my question is &quot;yes&quot; but I don't have a good reason. I imagine that maybe there is a garbage collector that provably introduces only $O(1)$ worst-case slowdown. Is there a definitive reference I can cite? In my case I am working on a purely-functional data structure and I use Standard ML, if these details matter.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;And perhaps this question would be even more relevant when applied to data structures specified in, say, Java? Maybe there is some relevant discussions in algorithms/data structure textbooks that use Java? (I know Sedgewick has a Java version, but I have access to the C version only.)&lt;/p&gt;&#xA;" OwnerUserId="163" LastEditorUserId="657" LastEditDate="2010-11-06T11:10:20.437" LastActivityDate="2010-11-06T11:10:20.437" Title="Can the cost of GC be neglected when analyzing the running time of worst-case data structures specified in a garbage-collected programming language?" Tags="&lt;reference-request&gt;&lt;ds.data-structures&gt;&lt;pl.programming-languages&gt;&lt;functional-programming&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="2721" PostTypeId="1" CreationDate="2010-11-05T05:35:10.463" Score="5" ViewCount="353" Body="&lt;p&gt;Suppose I have a distribution over independent sets on an &lt;span class=&quot;math-container&quot;&gt;$n\times n$&lt;/span&gt; grid where the probability of independent set occupying nodes &lt;span class=&quot;math-container&quot;&gt;$(i_1,j_1),\ldots,(i_k,j_k)$&lt;/span&gt; is proportional to &lt;span class=&quot;math-container&quot;&gt;$\lambda_{i_1,j_1}\cdot \lambda_{i_2,j_2} \cdots\lambda_{i_k,j_k}$&lt;/span&gt;. Let &lt;span class=&quot;math-container&quot;&gt;$p_v$&lt;/span&gt; be the probability that vertex &lt;span class=&quot;math-container&quot;&gt;$v$&lt;/span&gt; in this grid is occupied, how do I compute &lt;span class=&quot;math-container&quot;&gt;$p_v$&lt;/span&gt; for every vertex &lt;span class=&quot;math-container&quot;&gt;$v$&lt;/span&gt; in the grid?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For instance, when &lt;span class=&quot;math-container&quot;&gt;$n=2$&lt;/span&gt;, the four probabilities are the ratios below&#xA;&lt;img src=&quot;https://i.stack.imgur.com/LNffd.png&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Motivation: comparing accuracy of &quot;correlation decay&quot; based approximate counting with exact for some not-too-large graphs&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;b&gt;Clarification 11/6&lt;/b&gt;: This is the same &lt;span class=&quot;math-container&quot;&gt;$p_v$&lt;/span&gt; as in the first formula of page 3 of [&lt;a href=&quot;http://dimacs.rutgers.edu/~dror/pubs/ind_from_tree.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Weitz, 2006&lt;/a&gt;]&lt;/p&gt;&#xA;" OwnerUserId="434" LastEditorUserId="32711" LastEditDate="2018-12-31T15:15:15.127" LastActivityDate="2019-10-06T01:02:05.417" Title="Solving &quot;all-marginals&quot; problem for independent sets on grid" Tags="&lt;ds.algorithms&gt;&lt;machine-learning&gt;" AnswerCount="1" CommentCount="9" FavoriteCount="1" ContentLicense="CC BY-SA 4.0" />
  <row Id="2722" PostTypeId="2" ParentId="2711" CreationDate="2010-11-05T05:42:43.827" Score="9" Body="&lt;p&gt;There have been many recent developments on the computational aspects of social choice.&#xA;The following website gives many pointers to the relevant literature:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.illc.uva.nl/COMSOC/&quot;&gt;http://www.illc.uva.nl/COMSOC/&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="604" LastEditorUserId="604" LastEditDate="2010-11-06T19:31:45.630" LastActivityDate="2010-11-06T19:31:45.630" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2724" PostTypeId="5" CreationDate="2010-11-05T05:54:36.967" Score="0" Body="&lt;p&gt;This tag is used for &lt;a href=&quot;http://en.wikipedia.org/wiki/Logic_in_computer_science&quot; rel=&quot;nofollow&quot;&gt;Logic in Computer Science&lt;/a&gt; and &lt;a href=&quot;http://en.wikipedia.org/wiki/Mathematical_logic&quot; rel=&quot;nofollow&quot;&gt;Mathematical Logic&lt;/a&gt; questions, corresponding to &lt;a href=&quot;http://arxiv.org/list/cs.LO/&quot; rel=&quot;nofollow&quot;&gt;cs.LO&lt;/a&gt; and &lt;a href=&quot;http://arxiv.org/list/math.LO/&quot; rel=&quot;nofollow&quot;&gt;math.Lo&lt;/a&gt; tags on arXive.&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2010-11-05T05:54:36.967" LastActivityDate="2010-11-05T05:54:36.967" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2725" PostTypeId="4" CreationDate="2010-11-05T05:54:36.967" Score="0" Body="Computational and mathematical logic." OwnerUserId="186" LastEditorUserId="109" LastEditDate="2011-04-02T15:47:00.523" LastActivityDate="2011-04-02T15:47:00.523" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2726" PostTypeId="2" ParentId="2447" CreationDate="2010-11-05T06:13:06.423" Score="11" Body="&lt;p&gt;Inferring types for lambda terms is DEXPTIME-complete with &lt;a href=&quot;http://www.springerlink.com/index/7jhk84120120w4xr.pdf&quot;&gt;prenex&lt;/a&gt; and &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.35.7215&amp;amp;rep=rep1&amp;amp;type=pdf&quot;&gt;rank-2&lt;/a&gt; polymorphic type systems (when type quantifiers are nested at most one level deep), but becomes &lt;a href=&quot;http://www.springerlink.com/index/m0m87453917r5g12.pdf&quot;&gt;undecidable&lt;/a&gt; for rank-3 and higher. Strange that one extra nesting level can render a problem undecidable. &lt;/p&gt;&#xA;" OwnerUserId="1578" LastEditorUserId="1578" LastEditDate="2010-11-05T06:19:59.003" LastActivityDate="2010-11-05T06:19:59.003" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2727" PostTypeId="2" ParentId="2447" CreationDate="2010-11-05T07:10:30.553" Score="10" Body="&lt;p&gt;Finding ground state of planar Ising model with 0 magnetic field is in P, with non-zero magnetic field it is NP-hard. Partition function of planar Ising model with 0 magnetic field is in P, with non-zero magnetic field it is NP-hard.&lt;/p&gt;&#xA;" OwnerUserId="434" LastActivityDate="2010-11-05T07:10:30.553" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2728" PostTypeId="2" ParentId="2720" CreationDate="2010-11-05T07:47:30.127" Score="12" Body="&lt;p&gt;I'd say that you can ignore garbage collection. Interestingly, perhaps, all the work I've read on garbage collection fails to mention computational complexity. This is because the algorithms are $O(n)$ in the size of the heap, though typically they do not do a whole heap scan every time they are invoked.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The main problem with garbage collection is not the computational complexity, but unpredictability. This is most relevant when considering real-time systems. A lot of work on real-time garbage collection tries to address this issue. Others have simply given up. For example, the Real-time Specification for Java relies on programmer specified region which are allocated and deallocated programmatically with $O(1)$ cost, irrespective of their size.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The definitive garbage collection reference is:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Garbage Collection by Richard Jones and Rafael Lin&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Ben Zorn did some &lt;a href=&quot;http://www.cs.ubc.ca/local/reading/proceedings/spe91-95/spe/vol23/issue7/spe836.pdf&quot;&gt;work&lt;/a&gt; measuring actual costs of different garbage collection algorithms, though the following is more recent paper presents a much more comprehensive comparison:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://portal.acm.org/citation.cfm?id=1012888.1005693&quot;&gt;Myths and Realities: The Performance Impact of Garbage Collection&lt;/a&gt;, S. M. Blackburn, P. Cheng, and K. S. McKinley, ACM SIGMETRICS Conference on Measurement &amp;amp; Modeling Computer Systems, pp. 25--36, New York, NY, June 2004.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;For more see:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://portal.acm.org/citation.cfm?id=1028976.1028982&quot;&gt;A unified theory of garbage collection&lt;/a&gt;, Bacon, Cheng, &amp;amp; Rajan, ACM Conference on Object-Oriented Programming, Systems, Languages, and Applications, Vancouver, BC, Canada, pp. 50-68, 2004.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="77" LastActivityDate="2010-11-05T07:47:30.127" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2731" PostTypeId="2" ParentId="2720" CreationDate="2010-11-05T10:59:47.313" Score="17" Body="&lt;p&gt;Yes, gc is amortized constant time. Suppose you have an algorithm which runs for time $n$ with a peak working set of size $k$. Now, note that you can allocate at most $O(n)$ words during the execution of the program, and that the time cost of running a copying garbage collector is $O(k)$ (ie, the cost of a gc is proportional to the total amount of live data). So if you run the gc at most $O(n/k)$ times, then the total runtime cost is bounded by $O(n)$, which means that the amortized cost of the gc is constant. So if you have a Cheney-style collector, with each semispace being size $2k$, then it's easy to see that a full collection can't be invoked more than once every $n/k$ steps, since allocating $k$ words takes $O(k)$ time, and the working set never exceeds size $k$, which gives you the bound you want. This justifies ignoring gc issues. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, one case where the presence or absence of gc is not ignorable is when writing lock-free data structures. Many modern lock-free data structures &lt;em&gt;deliberately&lt;/em&gt; leak memory and rely on gc for correctness. This is because at a high level, the way they work is to copy some data, make a change to it, and try to atomically update it with a CAS instruction, and run this in a loop until the CAS succeeds. Adding deterministic deallocation to these algorithms makes them much more complex, and so people often don't bother (esp. since they are often targeted at Java-like environments). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT: If you want non-amortized bounds, the Cheney collector won't do it -- it scans the whole live set each time it is invoked. The keyword to google for is &quot;real-time garbage collection&quot;, and Djikstra &lt;em&gt;et al.&lt;/em&gt; and Steele gave the first real time mark-and-sweep collectors, and Baker gave the first real time compacting gc. &lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&#xA;@article{dijkstra1978fly,&#xA;  title={{On-the-fly garbage collection: An exercise in cooperation}},&#xA;  author={Dijkstra, E.W. and Lamport, L. and Martin, A.J. and Scholten, C.S. and Steffens, E.F.M.},&#xA;  journal={Communications of the ACM},&#xA;  volume={21},&#xA;  number={11},&#xA;  pages={966--975},&#xA;  issn={0001-0782},&#xA;  year={1978},&#xA;  publisher={ACM}&#xA;}&#xA;&#xA;@article{steele1975multiprocessing,&#xA;  title={{Multiprocessing compactifying garbage collection}},&#xA;  author={Steele Jr, G.L.},&#xA;  journal={Communications of the ACM},&#xA;  volume={18},&#xA;  number={9},&#xA;  pages={495--508},&#xA;  issn={0001-0782},&#xA;  year={1975},&#xA;  publisher={ACM}&#xA;}&#xA;&#xA;@article{baker1978list,&#xA;  title={{List processing in real time on a serial computer}},&#xA;  author={Baker Jr, H.G.},&#xA;  journal={Communications of the ACM},&#xA;  volume={21},&#xA;  number={4},&#xA;  pages={280--294},&#xA;  issn={0001-0782},&#xA;  year={1978},&#xA;  publisher={ACM}&#xA;}&#xA;&lt;/pre&gt;&#xA;" OwnerUserId="657" LastEditorUserId="657" LastEditDate="2010-11-05T18:43:36.453" LastActivityDate="2010-11-05T18:43:36.453" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="2733" PostTypeId="1" CreationDate="2010-11-05T12:28:46.487" Score="24" ViewCount="1156" Body="&lt;p&gt;A graph H is a core if any homomorphism from H to itself is a bijection. A subgraph H of G is a core of G if H is a core and there is a homomorphism from G to H. &#xA;&lt;a href=&quot;http://en.wikipedia.org/wiki/Core_%28graph_theory%29&quot;&gt;http://en.wikipedia.org/wiki/Core_%28graph_theory%29&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a graph G, what is the best known exact algorithm to find its core?&lt;/p&gt;&#xA;" OwnerUserId="553" LastEditorUserId="567" LastEditDate="2010-11-05T12:34:28.400" LastActivityDate="2016-06-05T02:19:25.003" Title="What is the best exact algorithm to compute the core of a graph?" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="2734" PostTypeId="1" AcceptedAnswerId="14600" CreationDate="2010-11-05T14:19:38.430" Score="10" ViewCount="530" Body="&lt;p&gt;&lt;a href=&quot;http://www.springerlink.com/content/h31jq82185n0618h/&quot;&gt;Hiroimono &#xA;&lt;/a&gt;&#xA;&lt;a href=&quot;http://www.springerlink.com/content/h31jq82185n0618h/&quot;&gt;&lt;/a&gt; is a popular $NP$-complete puzzle. I'm interested in the computational complexity of a related puzzle. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem is:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Input&lt;/strong&gt;: Given a set of points on on a $n$x$n$ square grid and integer $k$ &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question&lt;/strong&gt;: Is there a rectilinear polygon (its sides parallel to the $x$ or $y$-axis) such that the number of points on the polygon's corners is at least $k$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Every corner of the polygon must be at one of the input points (so bends are only allowed at an input point). &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What is the complexity of this problem? What is the complexity if the solution restricted to convex rectilinear polygons? &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;EDIT April 13: Alternate formulation: Find a rectilinear polygon with the maximum corners on the given points.&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2011-04-13T00:39:47.533" LastActivityDate="2012-12-03T21:11:15.143" Title="Complexity of hidden polygon puzzle on square grids?" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;&lt;puzzles&gt;&lt;integer-lattice&gt;" AnswerCount="2" CommentCount="10" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="2735" PostTypeId="1" CreationDate="2010-11-05T15:18:07.020" Score="14" ViewCount="321" Body="&lt;p&gt;&lt;em&gt;A linear PRAM model&lt;/em&gt; is a PRAM model without bit operations and at least one operand of the $\times$ instruction is a constant. If in addition we require that the running time does not depend on the bit length of the input then the resulting model is called the &lt;em&gt;arithmetic linear PRAM model&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This 1999 paper (&lt;a href=&quot;http://ramakrishnadas.cs.uchicago.edu/lower-bound.ps&quot; rel=&quot;nofollow&quot;&gt;ps file&lt;/a&gt;) of Ketan Mulmuley says &quot;we do not know a natural example that is in the linear PRAM model but not in the arithmetic linear PRAM model&quot;. I am wondering if such an example is found in the last decade. Are there any potential candidates ?&lt;/p&gt;&#xA;" OwnerUserId="344" LastActivityDate="2010-11-05T15:18:07.020" Title="Linear PRAM vs Arithmetic Linear PRAM" Tags="&lt;cc.complexity-theory&gt;&lt;dc.parallel-comp&gt;" AnswerCount="0" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2736" PostTypeId="2" ParentId="2733" CreationDate="2010-11-05T16:22:11.177" Score="22" Body="&lt;p&gt;Computing the core of a graph is hard: even deciding if a given 3-colourable graph is a core is co-NP-complete, see &lt;a href=&quot;http://dx.doi.org/10.1016/0012-365X(92)90282-K&quot; rel=&quot;nofollow&quot;&gt;Hell and Nesetril&lt;/a&gt;.  There are settings where core computation can be done efficiently, see &lt;em&gt;&lt;a href=&quot;http://dx.doi.org/10.1145/1346330.1346334&quot; rel=&quot;nofollow&quot;&gt;Efficient Core Computation in Data Exchange&lt;/a&gt;&lt;/em&gt; by Georg Gottlob and Alan Nash for a database setting; here some reasonable restrictions on the kinds of constraints in the database schema allow cores to be computed efficiently.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Edit:&lt;/em&gt; Other than the Gottlob/Nash work mentioned above, I am not aware of any other attempts to provide efficient algorithms for core computation.  Pointers to any algorithms better than brute force (exact or otherwise) would be welcome.&lt;/p&gt;&#xA;" OwnerUserId="109" LastEditorUserId="109" LastEditDate="2016-06-05T02:19:25.003" LastActivityDate="2016-06-05T02:19:25.003" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="2737" PostTypeId="2" ParentId="109" CreationDate="2010-11-05T17:15:40.910" Score="12" Body="&lt;p&gt;The answer to this (at least to the concrete question about linearly bounding the solution) is no.  This is part of the following paper: &lt;a href=&quot;http://arxiv.org/abs/1011.3493&quot; rel=&quot;nofollow&quot;&gt;http://arxiv.org/abs/1011.3493&lt;/a&gt;.  Theorem 5.1 was the motivation for this question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The counterexample is this:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;base case:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&#xA;a_1'  + b_1'  - t &amp;ge; 0&#xA;a_1'' + b_1'' - t &amp;ge; 0&#xA;a_1   + b_1'  - t &amp;le; -1&#xA;a_1 ' + b_1'' - t &amp;le; -1&#xA;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;recursive case:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&#xA;a_n'  + b_n'  + a_{n-1}   - t &amp;ge; 0&#xA;a_n'' + b_n'' + a_{n-1}   - t &amp;ge; 0&#xA;a_n   + b_n'  + a_{n-1}'' - t &amp;le; -1&#xA;a_n'  + b_n'  + a_{n-1}'' - t &amp;le; -1&#xA;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;along with requiring them all to be nonnegative.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can prove by induction that any real solution must satisfy a_n'' &gt;= a_n + 2^n.  We change the &quot;&amp;lt; 0&quot;-inequalities into &quot;&amp;le; -1&quot; because any integer solution satisfies &quot;&amp;le; -1&quot; if and only if it satisfies &quot;&amp;lt; 0&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, the moral is that n inequalities of this form can have the property that all integer solutions have at least one integer at least exponential in n, certainly not linearly bounded as we originally suspected.&lt;/p&gt;&#xA;" OwnerUserId="165" LastEditorUserId="165" LastEditDate="2012-02-28T22:10:38.230" LastActivityDate="2012-02-28T22:10:38.230" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="2738" PostTypeId="1" CreationDate="2010-11-05T18:31:45.433" Score="1" ViewCount="289" Body="&lt;p&gt;Hello&#xA;I need some idea for a quick algorithm.&#xA;Given a strongly connected undirected graph G with weighted edges, I would like to identify induced sub graph(it is required to be weakly connected) of size n vertices ,such that its weight is minimum.&#xA;Thank you.&lt;/p&gt;&#xA;" OwnerUserId="1648" LastEditorUserId="186" LastEditDate="2010-11-07T23:43:06.557" LastActivityDate="2010-11-07T23:43:06.557" Title="Identifying sub graph in connected digraph" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;" AnswerCount="0" CommentCount="14" FavoriteCount="0" ClosedDate="2010-11-07T23:54:53.717" ContentLicense="CC BY-SA 2.5" />
  <row Id="2739" PostTypeId="2" ParentId="2447" CreationDate="2010-11-05T19:19:39.183" Score="47" Body="&lt;p&gt;One of the more interesting applied examples of hardness jumps can be observed in the following problem:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider a soccer league championship with $n$ teams: The problem of deciding whether a given team can (still) win the league is in $P$ if in a match, the winning team is awarded 2 points, the losing one 0 and each team is awarded 1 point in a draw match. But if we change the rules so that the winning team gets 3 points, the same problem becomes $NP$-hard. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The result can be generalized for any $(0, 1, k)$-point rule for every $k &gt; 2$ and even for only three remaining rounds.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Source: “Complexity Theory” by Ingo Wegener (&lt;a href=&quot;http://portal.acm.org/citation.cfm?id=1076319&quot;&gt;http://portal.acm.org/citation.cfm?id=1076319&lt;/a&gt;)&lt;/p&gt;&#xA;" OwnerUserId="1956" LastActivityDate="2010-11-05T19:19:39.183" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2740" PostTypeId="1" AcceptedAnswerId="2745" CreationDate="2010-11-05T22:24:48.963" Score="3" ViewCount="1272" Body="&lt;p&gt;Note: Question originally asked on &lt;a href=&quot;https://stackoverflow.com/questions/4108595/an-explanation-of-whirlpool-c-implementation-or-the-general-algorithm&quot;&gt;StackOverflow&lt;/a&gt; - was directed here&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Anyone got a tutorial on the designers concept implementation of Whirlpool in C, or the Whirlpool algorithm in general? I find the source code hard to understand, mostly because I do not know anything about the algorithm. I am not a cryptographer, nor am I a good mathematician, so their documentation kind of went over my head...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The implementation and other documentation can be found &lt;a href=&quot;http://www.larc.usp.br/~pbarreto/WhirlpoolPage.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Initially I was just searching for a free (public domain) implementation to use in a project, but I figured I better know something about it as well... Currently I do not even know how to use it.&lt;/p&gt;&#xA;" OwnerUserId="2071" LastEditorUserId="-1" LastEditDate="2017-05-23T12:40:09.333" LastActivityDate="2010-11-06T07:28:59.830" Title="An explanation of Whirlpool C implementation - or the general algorithm" Tags="&lt;ds.algorithms&gt;&lt;cr.crypto-security&gt;" AnswerCount="2" CommentCount="5" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2741" PostTypeId="2" ParentId="2740" CreationDate="2010-11-05T23:27:39.843" Score="3" Body="&lt;p&gt;The API for using Whirlpool consists of the functions NESSIEInit, NESSIEadd and NESSIEFinalize.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The first function initializes an instance of NESSIEstruct (in the C version). You the enter the data using NESSIEadd. You get the hash using NESSIEfinalize.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The only non-trivial part is how to add the data. The function that adds data gets a vector of bytes and its length in bits; the last byte can be partial, but I guess you have no need for that.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can add data as many times as you want; adding $d_1$ then $d_2$ then $d_3$ is the same as adding $d_1d_2d_3$, i.e. it doesn't matter how you break the input. It's like an input stream then gets a vector of bits and takes care of everything else.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Internally, it's a pretty standard hash function built around an AES variant. The hash function works on chunks of 512 bits - you have to be careful about padding if your input isn't an integer multiple of this (if you do this improperly, there are some simple attacks).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The internal state S is also 512 bits, and is init with zero. To process a block B, first encrypt S using some constant round keys; the intermediate results are used as round keys for an encryption of B. Xor the result (B encrypted with round keys generated from S) to S and to B to get the new S. The hash itself is the value of S after the last input block.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;All encryptions are with respect to the AES-like cipher, which is pretty similar to AES but uses for example a different S-box and a different MDS (there are other small differences).&lt;/p&gt;&#xA;" OwnerUserId="40" LastActivityDate="2010-11-05T23:27:39.843" CommentCount="6" ContentLicense="CC BY-SA 2.5" />
  <row Id="2742" PostTypeId="1" AcceptedAnswerId="2743" CreationDate="2010-11-06T03:09:41.320" Score="4" ViewCount="1606" Body="&lt;p&gt;A Turing machine with input alphabet {0,1} computes a partial or total function $f \colon \{0,1\}^* \to \{0,1\}^*$. Is it possible to construct a circuit family $\{C_n\}$ such that for an input $x$ of length $n$, $C_n(x) = f(x)$? I have not seen this kind of circuit family in any of the standard texts, nor have I encountered it after lots of googling. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I understand that for decision problems, it is unnecessary to consider such circuit families (which is probably why nobody has bothered to consider them). Or maybe it is just a trivial modification and so is relegated as an exercise to the reader (although I haven't seen such an exercise mentioned anywhere).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are two immediate obstacles, which I see, that such a circuit family would need to overcome:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;What does $C_n(x)$ do when $f(x)$ diverges?&lt;/li&gt;&#xA;&lt;li&gt;If $|x| = |y|$, but $|f(x)| &amp;lt; |f(y)|$, the output of $C_n(x)$ will contain less bits than $C_n(y)$. How would this work?&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;I personally don't see any method of overcoming these obstacles. &lt;/p&gt;&#xA;" OwnerUserId="2072" LastEditorUserId="186" LastEditDate="2010-11-06T10:29:03.043" LastActivityDate="2010-11-06T10:29:03.043" Title="Simulating Turing machines (output included) with circuits" Tags="&lt;cc.complexity-theory&gt;&lt;circuit-complexity&gt;&lt;turing-machines&gt;&lt;circuit-families&gt;" AnswerCount="1" CommentCount="7" ContentLicense="CC BY-SA 2.5" />
  <row Id="2743" PostTypeId="2" ParentId="2742" CreationDate="2010-11-06T04:31:06.117" Score="8" Body="&lt;p&gt;Yes, as long as we allow encoding the the result of $f$ in a basically trivial way, rather than outputting exactly $f(x)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To get over obstacle (2) (different output lengths for the same input length): for any given input length $n$, there is a maximum output length $m$.  $C_n$ will output $2m$ bits.  The first $2|f(x)|$ bits output by $C_n(x)$ will be the bits of $f(x)$ doubled, and the remaining $2(m-|f(x)|)$ bits will be the string 01 repeated over and over.  For example, if $m = 6$ and for some $x$ of length 10, $f(x)=0010$, then $C_{10}(x) = 00\ 00\ 11\ 00\ 01\ 01$ (spaces added for ease of reading).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To get over obstacle (1) ($f(x)$ may not halt): for any given input length $n$, there is a time $t$ such that, for all $x$ of length $n$, either $f(x)$ halts within $t$ steps, or $f(x)$ does not halt ever.  If $f(x)$ does not halt, then we make the output of the circuit be a string of 10 repeated over and over again.  Of course, such a circuit family can not in general be uniform, since deciding that halting time is in general uncomputable, but the circuit family still exists.&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2010-11-06T04:31:06.117" CommentCount="7" ContentLicense="CC BY-SA 2.5" />
  <row Id="2744" PostTypeId="1" AcceptedAnswerId="2837" CreationDate="2010-11-06T06:12:14.763" Score="10" ViewCount="476" Body="&lt;p&gt;Let $\pi \colon \{0,1\}^* \to \{0,1\}^*$ be a permutation. Note that while $\pi$ acts on an infinite domain, its description might be finite. By &lt;strong&gt;description&lt;/strong&gt;, I mean a program that describes $\pi$'s functionality. (As in Kolmogorov complexity.) See explanations below.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For instance, the NOT function is one such permutation:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&#xA;function NOT(x)&#xA;    Let y = x&#xA;    For i=1 to |x|&#xA;        Flip the ith bit of y&#xA;    return y&#xA;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;$\pi_k(\cdot)$, defined below, is another case:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&#xA;function pi_k(x)&#xA;    return x + k (mod 2^|x|)&#xA;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;My question is about a special class of permutations, called &lt;a href=&quot;http://en.wikipedia.org/wiki/One-way_function#Related_concepts&quot; rel=&quot;nofollow&quot;&gt;one-way permutations&lt;/a&gt;. Informally speaking, these are permutations which are easy to compute, but hard to invert (for a $\rm{BPP}$ machine). The mere &lt;strong&gt;existence&lt;/strong&gt; of one-way permutations is a long-standing open problem in cryptography and complexity theory, yet in the remainder,  we will assume that they exist.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As an example of a conjectured one-way permutation, one can consider the &lt;a href=&quot;http://en.wikipedia.org/wiki/RSA&quot; rel=&quot;nofollow&quot;&gt;RSA&lt;/a&gt;: Let $n = pq$ be a &lt;a href=&quot;http://en.wikipedia.org/wiki/Blum_integer&quot; rel=&quot;nofollow&quot;&gt;Blum integer&lt;/a&gt;, and let $e = 65537$.&#xA;The one-way permutation is defined by: &#xA;$\pi_n(x) = x^e \bmod n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that RSA is defined over the finite domain $\mathbb{Z}_n$. In fact, to obtain an infinite domain permutation, one has to consider a &lt;strong&gt;family&lt;/strong&gt; of RSA permutations &#xA;$\{\pi_n\}_{n\in D}$, where $D$ is an infinite set of Blum integers. Note that $D$ is the description of the family, and by definition, it is infinite.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is (assuming the existence of one-way permutations):&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Does there exist &lt;strong&gt;finite-description&lt;/strong&gt; one-way permutations over an &lt;strong&gt;infinite domain&lt;/strong&gt;?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The answer may vary: It can be positive, negative, or open (either &lt;em&gt;likely to be positive&lt;/em&gt;, or &lt;em&gt;likely to be negative&lt;/em&gt;).&lt;/p&gt;&#xA;&#xA;&lt;h3&gt;Background&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;The question arose when I was reading an &lt;a href=&quot;http://asiacrypt2009.cipher.risk.tsukuba.ac.jp/&quot; rel=&quot;nofollow&quot;&gt;ASIACRYPT 2009&lt;/a&gt; paper. There, the author &lt;strong&gt;implicitly&lt;/strong&gt; (and in the context of some proof) assumed that such one-way permutations exist.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'll be happy if this is indeed the case, though I couldn't find a proof.&lt;/p&gt;&#xA;" OwnerUserId="873" LastEditorUserId="873" LastEditDate="2010-12-05T02:10:06.343" LastActivityDate="2010-12-05T02:10:06.343" Title="Finite One-Way Permutation with Infinite Domain" Tags="&lt;cc.complexity-theory&gt;&lt;co.combinatorics&gt;&lt;cr.crypto-security&gt;&lt;descriptive-complexity&gt;&lt;one-way-function&gt;" AnswerCount="1" CommentCount="9" FavoriteCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="2745" PostTypeId="2" ParentId="2740" CreationDate="2010-11-06T07:28:59.830" Score="5" Body="&lt;p&gt;In the following, I try to minimize the background knowledge needed to understand the answer. If you need more details, I suggest taking a look at section 12.2 of &lt;a href=&quot;http://williamstallings.com/Crypto/Crypto4e.html&quot; rel=&quot;nofollow&quot;&gt;Cryptography and Network Security Principles and Practices, Fourth Edition&lt;/a&gt;. (Though it requires a fair knowledge of crypto.)&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;First take a look at &lt;a href=&quot;http://en.wikipedia.org/wiki/Merkle%E2%80%93Damg%C3%A5rd_construction&quot; rel=&quot;nofollow&quot;&gt;Merkle–Damgård construction&lt;/a&gt;. Virtually all hash functions follow such construction. Informally, it applies a &lt;em&gt;compression function&lt;/em&gt; iteratively to reduce the input size to get some fixed-length output. For instance, you can hash a whole DVD (~ 4.3 GB) and get a 128-bit code.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $M$ be the input to an MD-based hash function. The MD construction appends a pad and the length of $M$ to it, so as to prevent several attacks.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Whirlpool uses a compression function named $W$. $W$ is similar to a block cipher named &lt;a href=&quot;http://en.wikipedia.org/wiki/Rijndael&quot; rel=&quot;nofollow&quot;&gt;Rijndael&lt;/a&gt;, which is now standardized under the name AES (Advanced Encryption Standard). Rijndael has 3 variants: 128-bit, 192-bit, and 256-bit. The inventors of Whirlpool decided that no Rijndael variant is secure enough to be used as the compression function for a hash. Thus, $W$ is designed so as it accepts 512-bit inputs, and produces 512-bit outputs. The key size of $W$ is 512 bits as well.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Whirlpool works as follows. Let $M$ be the input. $M$ is divided into 512-bit segments: $M=(M_0,M_1,\ldots,M_t)$. Let $h_0$ be some initial value (fixed by Whirlpool standard). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For $i=1,2,\ldots,t$, apply $W$ iteratively as follows:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$h_i = W(h_{i-1},m_i) \oplus h_{i-1} \oplus m_i$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where the first input to $W$ is a &lt;strong&gt;block-to-be-encrypted&lt;/strong&gt;, and its second input is the &lt;strong&gt;encryption key&lt;/strong&gt;. $\oplus$ denotes the XOR operation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$h_t$ is considered as the output of the Whirlpool hash function.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The whole complexity lies in designing $W$. As pointed out before, it is similar to Rijndael, so you can understand it if you get familiar with Rijndael, on which I have designed a &lt;a href=&quot;http://ce.sharif.edu/courses/88-89/2/ce442-1/resources/root/AES/Slides.pptx&quot; rel=&quot;nofollow&quot;&gt;set of slides&lt;/a&gt;. The slides are self-contained and do not assume any math background beyond high school.&lt;/p&gt;&#xA;" OwnerUserId="873" LastActivityDate="2010-11-06T07:28:59.830" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2747" PostTypeId="1" CreationDate="2010-11-06T10:01:09.543" Score="5" ViewCount="370" Body="&lt;p&gt;Given:&#xA; some vector $R=(r_1...r_l)$ - real numbers,&#xA; and a set of distinct vectors with $0$ or $1$ coordinates&#xA;  $$\begin{array}{c} V_1=(c_{1,1} ... c_{1,l}),\\&#xA;  V_2=(c_{2,1} ... c_{2,l}),\\&#xA;   .....\\&#xA;  V_n=(c_{n,1} ... c_{n,l})\end{array}$$&#xA;  each $c_{i,j}$ are $0$ or $1$.&#xA;  $n\lt 2^l$ is some number. (For example in my case: $n=2^{10}, l=20$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;b&gt; Problem:&lt;/b&gt;&#xA;I need to calculate inner products $ (R, V_i) $ - how to do this in the fastest way ?&#xA;I mean how to organize calculations such that number of additions will be the smallest ?&#xA;The point is that some vectors have same subsequences of 1 and 0, &#xA;so I do not need to calculate several times such pieces.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Background: $V_i$ is fixed once and forever, &quot;R&quot; is coming every &quot;millisecond&quot;.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Example:&#xA;    $V_1 = (1, 1 , 0 , 1)$&#xA;    $V_2 = (1, 1 , 1 , 1)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Algorithm:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;x = r_1+r_2+r_4  &#xA;y= x+r_3&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;So $(R, V_1) = x$ ; $(R, V_2) = y$;  required only 3 additions, instead of naively seen $5=2+3$. &lt;/p&gt;&#xA;" OwnerDisplayName="Alexander" LastEditorUserId="80" LastEditDate="2010-11-06T17:00:13.860" LastActivityDate="2010-11-06T17:00:13.860" Title="Calculating a fast matrix vector product between vector of reals and a 0-1 matrix" Tags="&lt;ds.algorithms&gt;&lt;linear-algebra&gt;" AnswerCount="3" CommentCount="11" ContentLicense="CC BY-SA 2.5" />
  <row Id="2748" PostTypeId="2" ParentId="2747" CreationDate="2010-11-06T10:38:47.983" Score="7" Body="&lt;p&gt;Well, if you dont mind some approximation than regular dimension reduction techniques would give you some speedup as they preserve (approximately) dot product.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Otherwise, you can think about each vector as being a CNF clause. If you just have to decide if the dot product is not zero for all vectors, then what you are asking for is the shortest equivalent DNF to the given CNF (or to be more precise some kind of minimal computation that compute the given CNF). This however is easier than the problem of deciding if the given CNF is never satisfiable, which is co-NP complete. In short, this problem should be computationally hard. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think there was quite a bit of work on stuff like that in the learning community, especially in the dinosaurs age ;) (80s and earlier?). &lt;/p&gt;&#xA;" OwnerUserId="9594" LastEditorUserId="9594" LastEditDate="2010-11-06T16:04:45.347" LastActivityDate="2010-11-06T16:04:45.347" CommentCount="7" ContentLicense="CC BY-SA 2.5" />
  <row Id="2749" PostTypeId="1" CreationDate="2010-11-06T10:50:24.363" Score="6" ViewCount="421" Body="&lt;p&gt;Consider a finite uniform grid $G$ in three dimensions with a function $f$ mapping integer grid positions $p$ to a boolean value $f(p)$ (i.e., a black/white volume image.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A ball in $f$ is a set of grid points with center $c$ and radius $r$ where $f(p)$ is true for all $p \in G$ with euclidean distance $|c-p| \leq r$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The &lt;em&gt;maximum ball transform&lt;/em&gt; $MB$ finds for each grid point $p$ the radius $r$ of the largest ball in $f$ containing that point.  (Note: This is probably not the actual, commonly used name for this. However I don't know what else to call it.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there good algorithms to compute this transform?&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;I assume this is related to the (euclidean) distance transform. (Find for each grid point $p$ the radius of the largest disk in $f$ with center $p$.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$DT(p) = min_{x \in f} |p-x|$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$MB(p) = max_{|x-p| &amp;lt; DT(x)} DT(x)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the literature I can find algorithms that compute the euclidean $DT$ (and its reverse) in linear time. There are also algorithms to compute the &lt;em&gt;medial axis transform&lt;/em&gt; $MAT$ (the set of all center points of the maximum balls).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a faster algorithm than computing the $MAT$, iterating over all found maximum balls and naively tracking the largest one for each grid point? &lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit:&lt;/strong&gt;&#xA;It seems this is sometimes known as &lt;em&gt;Thickness Distribution&lt;/em&gt; or &lt;em&gt;Euclidean Opening Function&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A recent paper computes an approximation: &lt;a href=&quot;http://hal.archives-ouvertes.fr/hal-00529820&quot; rel=&quot;nofollow&quot;&gt;Fast and Accurate Approximation of the Euclidean Opening Function in Arbitrary Dimension&lt;/a&gt; (D. Coeurjolly, 2010), (&lt;a href=&quot;http://liris.cnrs.fr/david.coeurjolly/doku/lib/exe/fetch.php?media=presentation.pdf&quot; rel=&quot;nofollow&quot;&gt;presentation&lt;/a&gt;)&lt;/p&gt;&#xA;" OwnerUserId="2074" LastEditorUserId="2074" LastEditDate="2010-11-08T18:59:38.430" LastActivityDate="2010-11-08T18:59:38.430" Title="Maximum ball transform" Tags="&lt;ds.algorithms&gt;&lt;cg.comp-geom&gt;" AnswerCount="1" CommentCount="10" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2750" PostTypeId="2" ParentId="2747" CreationDate="2010-11-06T11:03:51.860" Score="3" Body="&lt;p&gt;If I've understood the question correctly, this is just multiplying a fixed 0-1 matrix V with given vectors. You want to optimize these multiplications by doing some processing on the matrix V.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can think of each $(V_i,R)$ as a depth 1 arithmetic circuit. $V R$ will be a very simple arithmetic circuit (depth 1, size $n$ sum of variables for each inner product, so it is a depth 1 circuit of size $n^2$ using only addition). You want to find the minimum size arithmetic circuit which computes the same function.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For general arithmetic circuits this is hard, but I am not sure if it is still hard if you restrict it to such a small and simple subclass of circuits. Assuming that we are going to use only $+$, then it can perhaps be solved by a simple greedy or dynamic algorithm. On the other hand, this can also be a NP-hard problem, since it is very close to computing the minimum size circuit for a given CNF of size $n^2$. (If you could take the product of the results of inner products.)&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2010-11-06T11:22:18.707" LastActivityDate="2010-11-06T11:22:18.707" CommentCount="6" ContentLicense="CC BY-SA 2.5" />
  <row Id="2751" PostTypeId="2" ParentId="109" CreationDate="2010-11-06T13:30:30.517" Score="3" Body="&lt;p&gt;You may find this account of interest: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Polyhedral_combinatorics&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/Polyhedral_combinatorics&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;and in particular the article by G. Ziegler:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Lectures on 0-1 polytopes &lt;/p&gt;&#xA;&#xA;&lt;p&gt;in:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Kalai, Gil; Ziegler, Günter M. (2000), Polytopes: Combinatorics and Computation, DMV Seminar, 29, Birkhäuser, ISBN 9783764363512 .&lt;/p&gt;&#xA;" OwnerUserId="987" LastActivityDate="2010-11-06T13:30:30.517" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2752" PostTypeId="2" ParentId="2447" CreationDate="2010-11-06T15:34:09.147" Score="14" Body="&lt;p&gt;Here's another interesting example, raised in induced subgraph detection:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A &lt;strong&gt;theta&lt;/strong&gt; is a graph with non-adjacent vertices &lt;span class=&quot;math-container&quot;&gt;$x,y$&lt;/span&gt;, three paths &lt;span class=&quot;math-container&quot;&gt;$P_1, P_2, P_3$&lt;/span&gt; from &lt;span class=&quot;math-container&quot;&gt;$x$&lt;/span&gt; to &lt;span class=&quot;math-container&quot;&gt;$y$&lt;/span&gt;, where any two paths induced a cycle with length greater than 3.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A &lt;strong&gt;pyramid&lt;/strong&gt; is a graph with a vertex &lt;span class=&quot;math-container&quot;&gt;$x$&lt;/span&gt;, a triangle &lt;span class=&quot;math-container&quot;&gt;$y_1,y_2,y_3$&lt;/span&gt;, and paths &lt;span class=&quot;math-container&quot;&gt;$P_i$&lt;/span&gt; from &lt;span class=&quot;math-container&quot;&gt;$x$&lt;/span&gt; to &lt;span class=&quot;math-container&quot;&gt;$y_i$&lt;/span&gt; for each &lt;span class=&quot;math-container&quot;&gt;$i=1,2,3$&lt;/span&gt;, with at most one path with length one.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, a &lt;strong&gt;prism&lt;/strong&gt; is a graph with two triangle &lt;span class=&quot;math-container&quot;&gt;$x_1,x_2,x_3$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$y_1,y_2,y_3$&lt;/span&gt;, and paths &lt;span class=&quot;math-container&quot;&gt;$P_i$&lt;/span&gt; from &lt;span class=&quot;math-container&quot;&gt;$x_i$&lt;/span&gt; to &lt;span class=&quot;math-container&quot;&gt;$y_i$&lt;/span&gt; for each &lt;span class=&quot;math-container&quot;&gt;$i=1,2,3$&lt;/span&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is easy to describe in figures:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/XMBzg.jpg&quot; alt=&quot;theta, prism and pyramid&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For detecting induced theta and pyramid, it is known to be in polynomial time. (In fact, the best known algorithm for theta takes &lt;span class=&quot;math-container&quot;&gt;$O(n^{11})$&lt;/span&gt; time, and for pyramid it takes &lt;span class=&quot;math-container&quot;&gt;$O(n^9)$&lt;/span&gt;.) But for detecting an induced prism, the problem becomes NP-hard.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One can see &quot;&lt;a href=&quot;https://arxiv.org/abs/1309.0971&quot; rel=&quot;nofollow noreferrer&quot;&gt;Detecting induced subgraphs&lt;/a&gt;&quot; by Leveque, Lin, Maffray and Trotignon for reference. The reason that theta and pyramid are relatively easy is related to the &quot;three-in-a-tree&quot; problem, described in &quot;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.136.7221&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;The three-in-a-tree problem&lt;/a&gt;&quot; by Chudnovsky and Seymour.&lt;/p&gt;&#xA;" OwnerUserId="1800" LastEditorUserId="129" LastEditDate="2018-12-27T23:17:16.887" LastActivityDate="2018-12-27T23:17:16.887" CommentCount="0" ContentLicense="CC BY-SA 4.0" />
  <row Id="2753" PostTypeId="2" ParentId="2747" CreationDate="2010-11-06T16:35:26.673" Score="5" Body="&lt;p&gt;There are two key points in your question:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The $V_i$ are fixed&lt;/li&gt;&#xA;&lt;li&gt;They are 0-1 vectors.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;One idea that comes to mind to exploit these things is to &lt;a href=&quot;http://en.wikipedia.org/wiki/Trie&quot; rel=&quot;nofollow&quot;&gt;use a trie&lt;/a&gt;. Think of each $V_i$ as encoding a string consisting of all the dimensions where the vector has a nonzero entry. If you now build a trie over this set of strings, it will capture the common substructures that you'd like to exploit. For example, in your example above, $V_1$ becomes $124$ and $V_2$ becomes $1234$, and the trie structure will allow you to compute the $12$ segment simultaneously. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;But it's not optimal, because the dimensions don't have a natural ordering. If you wanted to couple this with a procedure that reorders the dimensions initially so that in each vector, all the 1s are as close to being consecutive as possible (you can do this heuristically using a hamming-space TSP on the columns of the matrix V), and then build  a trie, then you can get even more improvement. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Ultimately given your sizes (1024 and 20), simple heuristics are likely to work better than more complicated ones, so even the simple trie idea might help. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2010-11-06T16:35:26.673" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="2754" PostTypeId="2" ParentId="750" CreationDate="2010-11-06T19:47:37.137" Score="2" Body="&lt;p&gt;Many variants and generalizations are considered in &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0444879161&quot; rel=&quot;nofollow&quot;&gt;the book by Lovasz and Plummer&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="604" LastActivityDate="2010-11-06T19:47:37.137" CommentCount="0" CommunityOwnedDate="2010-11-06T19:47:37.137" ContentLicense="CC BY-SA 2.5" />
  <row Id="2755" PostTypeId="2" ParentId="2447" CreationDate="2010-11-06T23:43:13.927" Score="8" Body="&lt;p&gt;I wonder why nobody mentioned this:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Horn-Sat vs K-Sat&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I guess everybody knows what it is. If not:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Horn-Sat is to find if a set of horn clauses is satisfiable (each clause has at most 1 positive literal).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;K-Sat is to find if a set of clauses is satisfiable (each clause can have more than 1 positive literals).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So allowing more than one positive literal in each clause makes the problem from P-complete NP-complete.&lt;/p&gt;&#xA;" OwnerUserId="1657" LastActivityDate="2010-11-06T23:43:13.927" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2758" PostTypeId="1" AcceptedAnswerId="2760" CreationDate="2010-11-07T02:23:00.113" Score="22" ViewCount="826" Body="&lt;p&gt;This question is a followup on &lt;a href=&quot;https://cstheory.stackexchange.com/questions/2703/dna-algorithms-and-np-completeness&quot;&gt;the question about DNA algorithms asked by Aadita Mehra&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In comments there, Joe Fitzsimmons said, in part:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;[T]he radius of the system must scale proportionately to the mass to avoid this. The computational power scales at most linearly in the mass. Thus your exponential amount of machinery has an exponential radius. Since you can't signal faster than light, a signal from one side to another takes an exponentially long time to reach the other side, and so if all the machinery contribute to the answer, it is impossible to solve the problem in less than exponential time.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;My question has two parts.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(1) What is the best way/ways to formalize a statement like, &quot;The computational power scales at most linearly in the mass&quot; ?  Is this statement really not up for debate?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(2) Suppose the statement is true.  Even so, could nature &lt;em&gt;already have done&lt;/em&gt; an exponential amount of preprocessing that we might be able to make use of, for example evolution's creation of vision systems through &quot;brute force randomization.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I've heard and read a fair number of soft (pseudoscientific) answers to questions of this sort, and I'd be grateful for any answers here, but I'm most interested in how (1) and (2) can be recast in TCS rigor.&lt;/p&gt;&#xA;" OwnerUserId="30" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2010-11-07T23:02:59.960" Title="How much computational power fits into a cubic centimeter?" Tags="&lt;cc.complexity-theory&gt;&lt;quantum-computing&gt;&lt;ne.neural-evol&gt;&lt;physics&gt;&lt;natural-computing&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="6" ContentLicense="CC BY-SA 2.5" />
  <row Id="2759" PostTypeId="2" ParentId="750" CreationDate="2010-11-07T03:30:09.220" Score="4" Body="&lt;p&gt;Maximum weight matching on $G$ is equivalent to maximum weight independent set on &lt;a href=&quot;http://en.wikipedia.org/wiki/Line_graph&quot; rel=&quot;nofollow&quot;&gt;line-graph&lt;/a&gt; of $G$, and can be written as follows&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\max_{\mathbf{x}} \prod_{ij \in E} f_{ij}(x_i,x_j)$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here $\mathbf{x}\in\{0,1\}^n$ is a vector of vertex occupations, $f_{ij}(x,y)$ returns 0 if x=y=1, 1 if x=y=0, otherwise weight of the node that's not 0. You can generalize by allowing other choices of $\mathbb{x}$ and $f$, for instance&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Largest proper coloring $\mathbf{x}\in \{1,\ldots,q\}^n, f(x,y)=\delta(x-y)$&lt;/li&gt;&#xA;&lt;li&gt;Ising model ground-state $\mathbf{x}\in \{1,-1\}^n, f(x,y)=\exp(J x y)$&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;If you allow arbitrary non-negative $f$, this becomes the problem of finding the most likely setting of variables in a Gibbs random field with $f$ representing edge interaction potentials. Generalizing further to hypergraphs, your objective becomes&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\max_{\mathbf{x}} \prod_{e \in E} f_{e}(x_e)$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here $E$ is a set of hyper-edges (tuples of nodes), and $x_e$ is restriction of $x$ to nodes in hyperedge $e$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Example:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Error correcting decoding, $\mathbf{x} \in \{1,\ldots,q\}^n, f(x_e)=\exp{\text{parity} (x_e)}$&lt;/li&gt;&#xA;&lt;li&gt;MAP inference in hypergraph structured probability model, $f$ arbitrary non-negative function&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Generalizing in another direction, suppose instead of a single maximum matching, you want to find $m$ highest weighted maximum matchings. This is a special instance of finding $k$ most probable explanations in a probabilistic model. The objective can be now written as &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$sort_\mathbf{x} \prod_{e \in E} f_{e}(x_i,x_j)$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See [&lt;a href=&quot;http://www.ics.uci.edu/~dechter/publications/r177.html&quot; rel=&quot;nofollow&quot;&gt;Flerova,2010&lt;/a&gt;] for meaning of objective above.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More generally, instead of sort,$\prod$ or $\max,\prod$ over reals, we can consider a general $(\cdot,+)$ commutative semiring where $\cdot$ and $+$ are abstract operations obeying associative and distributive law. The objective we get is now&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\bigoplus_x \bigotimes_e f_e(x)$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here, $\bigotimes$ is taken over all edges of some hypergraph $G$ over $n$ nodes, $\bigoplus$ is taken over $n$-tuples of values, each $f_e$ takes $x$'s to $E$ and $(\bigotimes,\bigoplus,E)$ form a commutative semi-ring&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Examples:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Partition function of spin-interaction models: use $(*,+)$ instead of $(\max,+)$&lt;/li&gt;&#xA;&lt;li&gt;Fast Fourier Transform over Abelian groups: use abelian groups instead of $\mathbb{R}$&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;What's bringing all of these generalizations together is that the best known algorithm for specific instances of the problem above is often the same as the most general algorithm, sometimes called &quot;Generalized distributive law&quot; [&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.125.8954&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;nofollow&quot;&gt;Aji, 2000&lt;/a&gt;], which works in $O(1)$ time for bounded tree-width hypergraphs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This puts exact solution of the problems above in a unified framework, however such framework for approximate solution is lacking (and I want to hear about it if you think otherwise)&lt;/p&gt;&#xA;" OwnerUserId="434" LastActivityDate="2010-11-07T03:30:09.220" CommentCount="1" CommunityOwnedDate="2010-11-07T03:30:09.220" ContentLicense="CC BY-SA 2.5" />
  <row Id="2760" PostTypeId="2" ParentId="2758" CreationDate="2010-11-07T05:32:59.307" Score="17" Body="&lt;p&gt;The statement I made wasn't particularly well written. I was referring to a combination of the &lt;a href=&quot;http://en.wikipedia.org/wiki/Margolus%E2%80%93Levitin_theorem&quot;&gt;Margolus-Levitin theorem&lt;/a&gt; (which gives the minimum time to move between two orthogonal states, and hence a lower bound on the time required to perform a gate) and the &lt;a href=&quot;http://en.wikipedia.org/wiki/Schwarzschild_radius&quot;&gt;Schwarzschild radius&lt;/a&gt; (which gives the minimum radius of a system of some fixed energy before it forms a black hole). Combining the two of these leads to an upper bound on the number of gates which can be performed in a fixed region of spacetime. You can think of this as the maximum number of gates per unit time which can be performed.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The idea to combine the two theorems comes from Seth Lloyd, who uses such an approach to show limits on the computational power of the universe(&lt;a href=&quot;http://prl.aps.org/abstract/PRL/v88/i23/e237901&quot;&gt;link&lt;/a&gt;). He also has another paper where he looks at the maximum performance that can be achieved by a 1kg computer of volume 1liter  (something he calls the ultimate laptop and which is almost exactly your question). See &lt;a href=&quot;http://arxiv.org/abs/quant-ph/9908043&quot;&gt;arXiv&lt;/a&gt;. He obtains a limit of $10^{51}$ operations per second on $10^{31}$ bits.&#xA;Due to the finite age of the universe and the finite speed of light, when combined with Lloyd's results, you obtain a constant upper bound on preprocessing.&lt;/p&gt;&#xA;" OwnerUserId="204" LastEditorUserId="186" LastEditDate="2010-11-07T23:02:59.960" LastActivityDate="2010-11-07T23:02:59.960" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2761" PostTypeId="1" CreationDate="2010-11-07T05:34:21.283" Score="8" ViewCount="765" Body="&lt;p&gt;I have a few questions about Quantum PCP conjecture:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;What is the statement of the quantum PCP conjecture? &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;What implications would Quantum PCP theorem have for simulating of Hamiltonians? &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Is it believed adopting Irit Dinur's proof of the classical PCP theorem is likely to lead to a proof of Quantum PCP conjecture? &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;What background is needed to read articles about the problem?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://mathoverflow.net/q/45106/&quot;&gt;The copy of the question on MO&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerDisplayName="Noah Rahman" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2013-10-13T00:46:11.330" Title="Quantum PCP and hardness of simulating of Hamiltonians" Tags="&lt;cc.complexity-theory&gt;&lt;quantum-computing&gt;&lt;approximation-hardness&gt;&lt;pcp&gt;&lt;physics&gt;" AnswerCount="2" CommentCount="7" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="2764" PostTypeId="1" AcceptedAnswerId="2766" CreationDate="2010-11-07T15:21:40.237" Score="5" ViewCount="513" Body="&lt;p&gt;I'm looking for a way to measure how interconnected a graph is.  It's well known that graphs can be broken down into connected components.  It seems, though, that even in the cases where the graph is made of only one connected component, we can measure how interconnected that component is.  Is it &quot;almost&quot; two components (if we would remove a small number of edges)? What is the correlation between edges (that is, if vertices A and B are each connected to C, is there a higher probability that A and B are themselves connected).  I don't know how to define this measure properly, but I'm sure there are existing measures already defined.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It would seem to me that this would be a great way to measure the difficulty of an instance of the SAT problem.  Representing variables as nodes and being in the same clause as edges, it would seem the difficulty of the problem is related to the interconnectedness of the graph.&lt;/p&gt;&#xA;" OwnerDisplayName="SRobertJames" LastActivityDate="2010-11-07T17:55:26.843" Title="Measuring the connectedness of a graph, and applying it to NP problems" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;&lt;sat&gt;" AnswerCount="3" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="2765" PostTypeId="2" ParentId="2764" CreationDate="2010-11-07T15:33:21.943" Score="3" Body="&lt;p&gt;How about &lt;a href=&quot;http://en.wikipedia.org/wiki/Connectivity_%28graph_theory%29&quot; rel=&quot;nofollow&quot;&gt;Connectivity&lt;/a&gt;?&lt;/p&gt;&#xA;" OwnerUserId="2074" LastActivityDate="2010-11-07T15:33:21.943" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2766" PostTypeId="2" ParentId="2764" CreationDate="2010-11-07T15:40:24.550" Score="11" Body="&lt;p&gt;A standard measure of &quot;interconnectedness&quot; is how &lt;strong&gt;expanding&lt;/strong&gt; the graph is. There are several ways to define expansion that are all related. The algebraic way is by measuring the &lt;strong&gt;second largest eigenvalue (in absolute value)&lt;/strong&gt; of the adjacency matrix. The largest eigenvalue is a graph in which all vertices have degree D is always D. If the second largest eigenvalue is much smaller than D, then every two sets of vertices in the graph have roughly as many edges between them as if the edges were chosen at random (this is the &lt;em&gt;expanding mixing lemma&lt;/em&gt;).&#xA;For more info about graph expansion, see this course:&#xA;&lt;a href=&quot;http://www.math.ias.edu/~boaz/ExpanderCourse/&quot; rel=&quot;nofollow&quot;&gt;http://www.math.ias.edu/~boaz/ExpanderCourse/&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If the graph is an expander, the entire graph is one big, very interconnected, component.&#xA;This is the case with random SAT instances that are believed to be hard (for the appropriate clauses ratio).&lt;/p&gt;&#xA;" OwnerUserId="1621" LastActivityDate="2010-11-07T15:40:24.550" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="2767" PostTypeId="2" ParentId="45" CreationDate="2010-11-07T15:50:01.497" Score="37" Body="&lt;p&gt;In 2008 Irit Dinur and I taught a course on PCP at Weizmann, including both the algebraic and the combinatorial proofs. Hand-written lecture notes are available for most classes:&#xA;&lt;a href=&quot;http://people.csail.mit.edu/dmoshkov/courses/pcp/index.html&quot;&gt;http://people.csail.mit.edu/dmoshkov/courses/pcp/index.html&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This semester I'm teaching a PCP course at MIT that contains the material of the old course, more comprehensive treatment of parallel repetition and the unique games conjecture, as well as recent results (from 2008-2009), like low error composition and optimality of Semidefinite Programming for constraint satisfaction problems assuming the Unique Games Conjecture. I also dedicate time to teaching error correcting codes, expanders, information theory and Fourier analysis.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is the course's website:&#xA;&lt;a href=&quot;http://stellar.mit.edu/S/course/6/fa10/6.895/&quot;&gt;http://stellar.mit.edu/S/course/6/fa10/6.895/&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Notes are available here:&#xA;&lt;a href=&quot;http://people.csail.mit.edu/dmoshkov/courses/pcp-mit/index.html&quot;&gt;http://people.csail.mit.edu/dmoshkov/courses/pcp-mit/index.html&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="1621" LastEditorUserId="1621" LastEditDate="2011-06-16T17:17:46.740" LastActivityDate="2011-06-16T17:17:46.740" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="2768" PostTypeId="2" ParentId="2749" CreationDate="2010-11-07T17:17:33.867" Score="1" Body="&lt;p&gt;This answer has a problem; see comments below.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Following up on my comments, here is the rest of the full answer:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First, take a look at the 2008 paper &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=1477073.1477544&quot; rel=&quot;nofollow&quot;&gt;Euclidean Skeletons of Digital Image and Volume Data in Linear Time by the Integer Medial Axis Transform&#xA;&lt;/a&gt; by Hesselink and Roerdink.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;From my reading of your question, Section 2 of the paper is answering your question fairly explicitly. In particular, the process they use &lt;em&gt;is&lt;/em&gt; essentially a scan across grid points.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Additionally, I wouldn't worry about the runtime being excessive. The algorithms involved are all linear time, and in fact experimental results from the paper show that the $IMA$ transform can be computed in a matter of seconds on a modern computer, even on data sets in the tens of millions. An especially nice piece of this: It appears $MB$ is computed along the way (again, Section 2), so if you simply stop the algorithm at that point, you should have an even faster runtime than &quot;a matter of seconds&quot; in practice.&lt;/p&gt;&#xA;" OwnerUserId="108" LastEditorUserId="108" LastEditDate="2010-11-07T20:27:17.217" LastActivityDate="2010-11-07T20:27:17.217" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="2769" PostTypeId="1" CreationDate="2010-11-07T17:49:31.030" Score="16" ViewCount="532" Body="&lt;p&gt;Consider the following process:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;There are &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt; bins arranged from top to bottom. Initially, each bin contains one ball. In every step, we&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;pick a &lt;strong&gt;ball&lt;/strong&gt; &lt;span class=&quot;math-container&quot;&gt;$b$&lt;/span&gt; uniformly at random and&lt;/li&gt;&#xA;&lt;li&gt;move all the balls from the bin containing &lt;span class=&quot;math-container&quot;&gt;$b$&lt;/span&gt; to the bin below it.&#xA;If it already was the lowest bin, we remove the balls from the process.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;How many steps does it take in expectation until the process terminates, i.e., until all &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt; balls have been removed from the process? Has this been studied before? Does the answer follow easily from known techniques?&lt;/p&gt;&#xA;&lt;p&gt;In the best case, the process can finish after &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt; steps. In the worst case it can take &lt;span class=&quot;math-container&quot;&gt;$\Theta(n^2)$&lt;/span&gt; steps. Both cases should be very unlikely though. My conjecture is that it takes &lt;span class=&quot;math-container&quot;&gt;$\Theta(n\log n)$&lt;/span&gt; steps and I did some experiments which &lt;em&gt;seem&lt;/em&gt; to confirm this.&lt;/p&gt;&#xA;&lt;p&gt;(Note that picking a &lt;strong&gt;bin&lt;/strong&gt; uniformly at random is a very different process that will obviously take &lt;span class=&quot;math-container&quot;&gt;$\Theta(n^2)$&lt;/span&gt; steps to finish.)&lt;/p&gt;&#xA;" OwnerUserId="127" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2010-11-09T08:36:17.803" Title="Avalanche like stochastic process" Tags="&lt;pr.probability&gt;&lt;markov-chains&gt;&lt;stochastic-process&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="7" ContentLicense="CC BY-SA 2.5" />
  <row Id="2770" PostTypeId="2" ParentId="2764" CreationDate="2010-11-07T17:55:26.843" Score="5" Body="&lt;p&gt;A &lt;a href=&quot;https://cstheory.stackexchange.com/questions/1215/np-hard-problems-on-trees&quot;&gt;related question&lt;/a&gt; asks which problems are still NP-hard if your graph is a tree (i.e minimally connected). And there are many problems that are easy to solve on graphs of bounded treewidth. In fact, you can even &lt;a href=&quot;http://www.kr.tuwien.ac.at/drm/szeider/papers/apmc_jda.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;solve #SAT in polynomial time on graphs of bounded treewidth&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In general, notions of &quot;interconnectedness&quot; are so varied that I'm skeptical any single notion will be useful as a complexity demarcator. &lt;/p&gt;&#xA;" OwnerUserId="80" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2010-11-07T17:55:26.843" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2771" PostTypeId="2" ParentId="2398" CreationDate="2010-11-07T19:54:51.500" Score="8" Body="&lt;p&gt;A universal function &lt;code&gt;u&lt;/code&gt; can be written quite easily in a Haskell-like language (no side effects, higher-order functions), namely:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;code&gt;u f x = f x&lt;/code&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The function &lt;code&gt;u&lt;/code&gt; is universal because it accepts (the description of) a program &lt;code&gt;f&lt;/code&gt; and an input tape &lt;code&gt;x&lt;/code&gt;, and tells you the result of running &lt;code&gt;f&lt;/code&gt; on &lt;code&gt;x&lt;/code&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;While this answer is not entirely serious, it does show that a compiler or an interpreter for a Haskell-like language already contains all the building parts needed for a universal function. The moral of the story is that time is better spent studying how compilers and interpreters work than to worry about implementing a universal function in terms of Turing machines.&lt;/p&gt;&#xA;" OwnerUserId="705" LastActivityDate="2010-11-07T19:54:51.500" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="2773" PostTypeId="1" AcceptedAnswerId="4226" CreationDate="2010-11-07T23:09:20.933" Score="6" ViewCount="213" Body="&lt;p&gt;Suppose we have a bounded tree width graph $G=\{E,V\}$ and want to count the number of &lt;a href=&quot;http://en.wikipedia.org/wiki/Self-avoiding_walk&quot; rel=&quot;nofollow&quot;&gt;self avoiding walks&lt;/a&gt; on $G$ passing through nodes $u$ and $v$ for all pairs of nodes $(u,v)$. For a single pair $(u,v)$, one approach is dynamic programming on a  &lt;a href=&quot;http://en.wikipedia.org/wiki/Tree_decomposition&quot; rel=&quot;nofollow&quot;&gt;tree decomposition&lt;/a&gt; of the graph constrained to have a bag containing both $u$ and $v$. For all pairs of nodes, one may need to consider several tree decompositions, so that every pair of vertices is contained in some bag of some decomposition. The interesting question is how to come up with a such a set of tree decompositions so that they the overall problem complexity is kept low. Has this kind of problem been studied?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some other problems where &quot;tree decomposition ensemble&quot; might be useful &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;all pairwise marginals in a graphical model&lt;/li&gt;&#xA;&lt;li&gt;two-point correlation function for Ising/Potts/hardcore models on finite graph&lt;/li&gt;&#xA;&lt;li&gt;Hessian of $f:\mathbb{R}^{|V|}-&amp;gt;\mathbb{R}$ where $f$ is some function whose computation relies on tree decomposition of $G$. For instance, $f$ could be multivariate Potts polynomial of $G$, some general &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.159.1249&quot; rel=&quot;nofollow&quot;&gt;labeled&lt;/a&gt; graph polynomial or partition function of Gibbs distribution on $G$&lt;/li&gt;&#xA;&lt;li&gt;computing how some FP+C definable graph invariant is affected by deletion of any pair of vertices&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="434" LastEditorUserId="186" LastEditDate="2011-01-10T03:03:13.183" LastActivityDate="2011-01-10T11:13:45.007" Title="Ensemble of tree decompositions for all-pairs problem" Tags="&lt;graph-theory&gt;&lt;reference-request&gt;&lt;co.combinatorics&gt;&lt;treewidth&gt;&lt;statistical-physics&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2774" PostTypeId="1" AcceptedAnswerId="2779" CreationDate="2010-11-08T01:45:08.557" Score="29" ViewCount="916" Body="&lt;p&gt;&lt;strong&gt;Polynomial methods&lt;/strong&gt;, say &lt;a href=&quot;http://www.tau.ac.il/~nogaa/PDFS/null2.pdf&quot;&gt;Combinatorial Nullstellensatz&lt;/a&gt; and &lt;a href=&quot;http://math.uga.edu/~pete/4400ChevalleyWarning.pdf&quot;&gt;Chevalley–Warning theorem&lt;/a&gt; are powerful tools in additive combinatorics. By representing a problem with proper polynomials, they can guarantee the existence of a solution, or the number of solutions to the polynomials. They have been used to solve problems like &lt;a href=&quot;http://en.wikipedia.org/wiki/Restricted_sumset&quot;&gt;restricted sumsets&lt;/a&gt; or &lt;a href=&quot;http://en.wikipedia.org/wiki/Zero-sum_problem&quot;&gt;zero-sum problems&lt;/a&gt;, and some of the theorems in this area can be proved only by such methods.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To me the non-constructive manner of these methods are truly amazing, and I'm curious about that how we can apply these methods to prove any interesting inclusions and separations of complexity classes (even if the result can be solved by other methods). &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Are there any complexity results known that one can prove them by polynomial methods?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="1800" LastActivityDate="2010-11-11T13:20:30.660" Title="Polynomial method for complexity results" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;co.combinatorics&gt;&lt;polynomials&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="15" ContentLicense="CC BY-SA 2.5" />
  <row Id="2775" PostTypeId="2" ParentId="82" CreationDate="2010-11-08T03:45:32.857" Score="17" Body="&lt;p&gt;Haven't seen this mentioned here, but an automated theorem prover solved the long standing open problem of whether Robbins algebras are boolean:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.cs.unm.edu/~mccune/papers/robbins/&quot;&gt;http://www.cs.unm.edu/~mccune/papers/robbins/&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is especially notable because the computer developed the entire proof and the problem had been open for several decades.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Not completely sure if it qualifies as TCS, but arguably it is closely related.&lt;/p&gt;&#xA;" OwnerUserId="847" LastActivityDate="2010-11-08T03:45:32.857" CommentCount="1" CommunityOwnedDate="2010-11-08T03:45:32.857" ContentLicense="CC BY-SA 2.5" />
  <row Id="2776" PostTypeId="2" ParentId="1514" CreationDate="2010-11-08T05:27:32.497" Score="13" Body="&lt;p&gt;Let's assume that one cannot solve SAT much faster non-uniformly than uniformly. That is, there is a TM M solving SAT in time T(n), and the smallest circuit for SAT has size T'(n) that's not much smaller than T(n) (say, $T(n) = poly(T'(n))$ - in particular this holds if the smallest circuit for solving SAT has size $2^{\Omega(n)}$ which may very well be true).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, you could get an &quot;almost&quot; minimal circuit by just running some canonical simulation of M by a circuit, in time that's basically optimal (as much time as it takes you to write the output). Just for this reason, am guessing there will be no lower bound for this question based on any &quot;nice&quot; assumption. However, I don't know how to go from an &quot;almost minimal&quot; to actually minimal. One way to do so will be to use the fact that finding the circuit up to size $S$ is a question in the polynomial hierarchy, and so you should be able to solve it in roughly $T(T(n))$ time which will be $2^{o(M)}$ if $T(n)=2^{n^{o(1)}}$. &lt;/p&gt;&#xA;" OwnerUserId="1202" LastActivityDate="2010-11-08T05:27:32.497" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2777" PostTypeId="1" CreationDate="2010-11-08T06:47:08.947" Score="5" ViewCount="857" Body="&lt;p&gt;Let us denote the edges incident on vertices of valence 2 as &quot;required&quot; as these edges has to be covered by a Hamiltonian circuit, if one exists on that (undirected) graph. Given a graph on which a proper subset of the &quot;required&quot; edges along with two edges incident on a vertex of valency $\geq 3$ form a cycle, can anything related to the Hamiltonicity of the graph be claimed? A few basic rules for the existence of Hamiltonian Cycles is listed here: &lt;a href=&quot;http://www.mit.edu/~miforbes/ham_cycle.pdf&quot; rel=&quot;nofollow&quot;&gt;http://www.mit.edu/~miforbes/ham_cycle.pdf&lt;/a&gt;  Can rule (4) be extended in any way to answer this query?&lt;/p&gt;&#xA;" OwnerUserId="1917" LastEditorUserId="186" LastEditDate="2011-01-10T03:01:04.963" LastActivityDate="2011-01-10T03:39:28.907" Title="Necessary condition for a graph to be Non-Hamiltonian" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;" AnswerCount="1" CommentCount="9" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2778" PostTypeId="2" ParentId="2693" CreationDate="2010-11-08T07:52:24.740" Score="1" Body="&lt;p&gt;To optimize for sequences of $k$ consecutive numbers, you can use a greedy algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You generate each element successively.  You do this by working with a (modifiable) copy of the $p_i$'s, which I'll refer to as $q_i$'s.  For the first element, pick the $i$ with the greatest $q_i$, and I'll call the result $r$.  Then set $q_r = q_r - 1$.  Next, for all $q_i$, including the one you just picked, set $q_i = q_i + p_i$.  Now you can repeat this procedure over and over, each time picking the greatest $q_i$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This algorithm distributes the $i$'s evenly throughout the series.  Any subset of consecutive numbers will be about as close as is possible to representing the distribution of the entire series.  It also turns your series into repeating cycles of digits.  &lt;/p&gt;&#xA;" OwnerUserId="1549" LastActivityDate="2010-11-08T07:52:24.740" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2779" PostTypeId="2" ParentId="2774" CreationDate="2010-11-08T08:30:44.390" Score="29" Body="&lt;p&gt;Some classic examples of the use of the polynomial method are:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Razborov-Smolensky's proof of &quot;Parity not in $AC^0$&quot; (&lt;a href=&quot;http://www.google.com/search?sclient=psy&amp;amp;hl=en&amp;amp;source=hp&amp;amp;q=razborov+parity&quot;&gt;lots&lt;/a&gt; of expositions available online, &lt;a href=&quot;http://people.csail.mit.edu/madhu/ST05/scribe/lect06.ps&quot;&gt;here is one&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;li&gt;Beigel-Reingold-Spielman's proof of &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=103426&quot;&gt;&quot;PP is closed under intersection&quot;&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://people.cs.uchicago.edu/~razborov/files/bazzi.pdf&quot;&gt;Bazzi's result for fooling DNFs&lt;/a&gt;, and Braverman's proof of &quot;&lt;a href=&quot;http://www.cs.toronto.edu/~mbraverm/Papers/FoolAC0v7.pdf&quot;&gt;Polylog independence fools $AC^0$&lt;/a&gt;&quot;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Also, fourier analysis of boolean functions (&lt;a href=&quot;http://www.cs.cmu.edu/~odonnell/boolean-analysis/&quot;&gt;here is a great course by Ryan O'Donnell&lt;/a&gt;)  has a HUGE collection of awesome results, my favourite being the Kushilevitz-Mansour-Nisan's &lt;a href=&quot;http://www.cs.cmu.edu/~odonnell/boolean-analysis/lecture7.pdf&quot;&gt;proof of the Goldreich-Levin theorem&lt;/a&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Scott Aaronson had in fact given a tutorial at FOCS'08 on the &quot;&lt;a href=&quot;http://www.scottaaronson.com/talks/polymeth.ppt&quot;&gt;The Polynomial Method in Classical and Quantum Computing (ppt)&lt;/a&gt;&quot;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hope this helps.&lt;/p&gt;&#xA;" OwnerUserId="877" LastActivityDate="2010-11-08T08:30:44.390" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2780" PostTypeId="1" AcceptedAnswerId="2793" CreationDate="2010-11-08T09:07:02.860" Score="6" ViewCount="381" Body="&lt;p&gt;The traditional definition of PCPs have perfect completeness -- If $x\in L$, then the prover can give a proof on which the verifier (on reading constantly many bits) always accepts. Suppose we modify the definition as follows:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;A language $L$ is in $iPCP(r,q)$ such&#xA;  that there exists a verifier who&#xA;  tosses $r$ coins and queries $q$&#xA;  locations of a proof $\pi$ such that:&lt;/p&gt;&#xA;  &#xA;  &lt;ul&gt;&#xA;  &lt;li&gt;If $x\in L$, then there exists a $\pi$ that makes the verifier accept&#xA;  with probability at least $3/4$. &lt;/li&gt;&#xA;  &lt;li&gt;If $x\notin L$, then for every proof $\pi$, the verifier accepts with&#xA;  probability at most $1/4$.&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;There is an easy reduction from $3SAT$ to $\text{Max}2SAT$ (&lt;a href=&quot;http://www.cs.uiuc.edu/class/sp09/cs579/assignments/hw-1.pdf&quot; rel=&quot;nofollow&quot;&gt;problem 5 in this&lt;/a&gt;) that gives a simple $iPCP$ for $3SAT$. &lt;strike&gt;And by definition, the class is closed under complement so it includes $coNP$ as well. Therefore, it is unlikely that there is a way to convert an $iPCP$ to a $PCP$ with the same parameters (well, that would at least mean $coNP = NP$).&lt;/strike&gt;  (thanks to Peter Shor for pointing this out)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Have such incomplete PCPs been studied earlier? &lt;/p&gt;&#xA;" OwnerUserId="877" LastEditorUserId="877" LastEditDate="2010-11-08T20:49:10.617" LastActivityDate="2010-11-08T20:49:10.617" Title="PCPs with imperfect completeness" Tags="&lt;cc.complexity-theory&gt;&lt;reductions&gt;&lt;pcp&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="2781" PostTypeId="1" AcceptedAnswerId="2811" CreationDate="2010-11-08T09:50:48.767" Score="5" ViewCount="1148" Body="&lt;p&gt;I'm not expert on complexity theory and combinatorial optimization.&#xA;I want to know if the following problem (or similar) is known in the scientific literature, and if you think it is NP-complete.&#xA;Thank you in advance for your help.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Input:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Two parameters X and Y, which can be equal.&lt;br&gt;&#xA;n customers C1, C2, ... Cn&lt;br&gt;&#xA;m types of goods M1, M2 ... Mm&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are X pieces available for each good Mi: a piece of 1kg, another piece of 2kg, ...., a piece of X kg.&lt;br&gt;&#xA;Every customer wants to buy a certain number of goods. For example, the client C1 may be interested in buying goods M1, M4, M8 and M9.&#xA;A customer is &lt;strong&gt;satisfied&lt;/strong&gt; if he can find all the goods he wants to buy. In addition, the weights of the parts he was able to purchase must satisfy a constraint that I'll explain below.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Output:&lt;/strong&gt;&#xA;How many customers can be satisfied?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The constraint on the weights is as follows:&#xA;Take for example the client C1 who is interested in buying goods M1, M4, M8 and M9. Assume that C1 was able to purchase all four goods. Let P1, P2, P3, P4 be the weights of the pieces he was able to buy.&#xA;C1 is satisfied if $\sum_i  P_i -1 &amp;lt;Y$.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit: Note that the limit Y is common for all customers. The intuition behind the constraint is that we want to limit the number of pieces whose weight is not equal to 1kg.&lt;/p&gt;&#xA;" OwnerUserId="2094" LastEditorUserId="109" LastEditDate="2011-03-13T17:17:01.617" LastActivityDate="2011-03-13T17:17:01.617" Title="Is the following problem NP-Hard?" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;&lt;np-hardness&gt;&lt;optimization&gt;" AnswerCount="2" CommentCount="17" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="2782" PostTypeId="2" ParentId="2781" CreationDate="2010-11-08T10:38:17.007" Score="-3" Body="&lt;p&gt;As the problem is phrased there is no dependency between the customers so it should be easy to solve: check your constraint for every customer independently. This is clearly fast (linear in the number of purchased pieces times number of customers).&lt;/p&gt;&#xA;" OwnerUserId="1546" LastActivityDate="2010-11-08T10:38:17.007" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="2784" PostTypeId="2" ParentId="82" CreationDate="2010-11-08T13:28:13.027" Score="7" Body="&lt;p&gt;There are numerous examples in the average-case analysis of algorithms. Maybe some of the earliest are the computer experiments which led to the paper &quot;Some unexpected expected behavior results for bin packing&quot; by Bentley, Johnson, Leighton, McGeoch and McGeoch in STOC 1984.&lt;/p&gt;&#xA;" OwnerUserId="1677" LastActivityDate="2010-11-08T13:28:13.027" CommentCount="0" CommunityOwnedDate="2010-11-08T13:28:13.027" ContentLicense="CC BY-SA 2.5" />
  <row Id="2785" PostTypeId="1" CreationDate="2010-11-08T14:26:52.450" Score="25" ViewCount="1136" Body="&lt;p&gt;Probably the most common application of linear types in PL is to use them to give languages which control aliasing (i.e., a linear value has a single pointer to it, more or less). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;But there's a slight mismatch between this usage and typical denotational models of linear logic. IIRC, Benton showed that if a Cartesian closed category has a strong &lt;em&gt;commutative&lt;/em&gt; monad, then its category of algebras will be symmetric monoidal closed (ie, a model of linear logic). But this theorem doesn't apply to the alias-control usage, since the state monad is not commutative. And indeed, in the past few years Simpson and his coworkers have given calculi for general strong monads, which are not term calculi for linear logic.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So my question is, what is the denotational semantics of linear languages with state? Is there a non-degenerate (ie, tensor is not a Cartesian product) symmetric monoidal closed category in which allocation, reading, and linear update can be modeled?&lt;/p&gt;&#xA;" OwnerUserId="657" LastActivityDate="2012-02-28T21:13:48.597" Title="What is the folk model of linear logic?" Tags="&lt;pl.programming-languages&gt;&lt;ct.category-theory&gt;&lt;imperative-programming&gt;&lt;denotational-semantics&gt;&lt;linear-logic&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="10" ContentLicense="CC BY-SA 2.5" />
  <row Id="2786" PostTypeId="2" ParentId="2769" CreationDate="2010-11-08T14:27:17.310" Score="9" Body="&lt;p&gt;&lt;em&gt;Edit:&lt;/em&gt; I am leaving this answer as is (for now) to illustrate the messy process of proving theorems, something that is left out of published papers.  The core intuition here is that it is enough to focus on the top ball, as it sweeps away all below it.  Please see the comments (in particular @Michael pointing out that gaps can occur) and @Joe's later answer for how errors were identified and corrected.  I especially like Joe's use of experiments to double-check that the formulas were sensible.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;The lower bound is $n$ as you point out, but somewhat surprising there seems to be an upper bound of $(1 + \pi^2/6)n$ for the expected number of steps.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To derive this, note that a sequence of balls will clear all the bins precisely if it contains a subsequence $b_1b_2\cdots b_n$ such that $b_1 = n$, $b_2 \ge n-1$, $\dots$, $b_i \ge n-i+1$.  Additional conditions are necessary on the sequence to avoid balls being chosen that are no longer in the system, but for the purposes of an upper bound, suppose that there is an infinite decreasing sequence of bins (so the balls don't disappear when leaving bin 1, but are moved to bin 0, then bin -1, and so on).  Then the expected number of steps for such a subsequence to be seen is the expected number of steps before $b_1$ is seen, plus the expected number of steps before $b_2$ is seen, and so on (down to 1, since $b_n$ can be any of the numbers $1,2,\ldots,n$).  These can be seen as separate events, one after the other.  The expected number of steps is then&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\begin{eqnarray*}n + \sum_{p=1}^n \sum_{k=0}^{\infty} \frac{k+1}{n} \left(\frac{n-p}{n}\right)^k&#xA;&amp;amp; = &amp;amp; n + \sum_{p=1}^{n-1} \frac{1}{n-p} \sum_{k=1}^{\infty} k\left(\frac{n-p}{n}\right)^k&#xA;\\&amp;amp; = &amp;amp; n + \sum_{p=1}^{n-1} \frac{1}{n-p} n(n-p)/p^2&#xA;\\&amp;amp; = &amp;amp; n + n\sum_{p=1}^{n-1} 1/p^2&#xA;\\&amp;amp; \le &amp;amp; (1 + \pi^2/6)n.&#xA;\end{eqnarray*}$&lt;/p&gt;&#xA;" OwnerUserId="109" LastEditorUserId="109" LastEditDate="2010-11-09T08:36:17.803" LastActivityDate="2010-11-09T08:36:17.803" CommentCount="16" ContentLicense="CC BY-SA 2.5" />
  <row Id="2787" PostTypeId="2" ParentId="2780" CreationDate="2010-11-08T14:44:36.327" Score="11" Body="&lt;p&gt;Yes, they have been studied before, such as in this paper:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;M. Bellare, O. Goldreich and M. Sudan.  &lt;a href=&quot;http://people.csail.mit.edu/madhu/papers/1995/bgs-journ.pdf&quot; rel=&quot;noreferrer&quot;&gt;Free bits, PCPs and non-approximability -- towards tight results&lt;/a&gt;.  SIAM Journal on Computing, 1998.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Various results are proved in this paper about classes of the form $\mathrm{PCP}_{c,s}[r,q]$, which denotes the class of promise problems having a PCP where the verifier flips $r$ coins, makes $q$ queries, and has completeness and soundness probabilities $c$ and $s$, respectively.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Someone with greater expertise in this area could point you to more recent references that are relevant, but this was surely an important and influential early paper in the area.&lt;/p&gt;&#xA;" OwnerUserId="819" LastEditorUserId="819" LastEditDate="2010-11-08T14:57:16.490" LastActivityDate="2010-11-08T14:57:16.490" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2788" PostTypeId="1" AcceptedAnswerId="2789" CreationDate="2010-11-08T14:54:31.073" Score="13" ViewCount="429" Body="&lt;p&gt;My background is in complexity theory/logic (where there is just one process most of the time), and in distributed computing (where there are &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt; processes, and one or more might fail over time).  However, I now want to be able to say something about a process spawning/creating/spinning off another process.  Is there rigor in parallel computing, operating systems, etc., that accounts for this?&lt;/p&gt;&#xA;&lt;p&gt;Motivation:&lt;/p&gt;&#xA;&lt;p&gt;I am trying to construct models that abstract out certain features of molecular interactions.  I'd like to say that the set of chemical reactions &lt;span class=&quot;math-container&quot;&gt;$S$&lt;/span&gt; is an independent process, and that at a certain time step &lt;span class=&quot;math-container&quot;&gt;$t$&lt;/span&gt;, it spawns another independent process &lt;span class=&quot;math-container&quot;&gt;$S'$&lt;/span&gt;.  Intuitively, these things feel like independent processes, because they have no contact with each other after time &lt;span class=&quot;math-container&quot;&gt;$t$&lt;/span&gt; - or very little contact, only interchanging &amp;quot;messages.&amp;quot;&lt;/p&gt;&#xA;&lt;p&gt;More formally:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;(1) Are there pre-existing CS definitions that capture the notion of one process spawning another independent process?  I am especially interested in being able to demarcate where &lt;span class=&quot;math-container&quot;&gt;$S$&lt;/span&gt; stops and &lt;span class=&quot;math-container&quot;&gt;$S'$&lt;/span&gt; starts, and why that is &amp;quot;reasonable&amp;quot; to do.&lt;/p&gt;&#xA;&lt;p&gt;(2) If there is more than one answer to (1), what do you consider the pros and cons to the various definitions?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;(Note: I have no idea how to tag this appropriately, and plan to re-tag depending on the answers.)&lt;/p&gt;&#xA;" OwnerUserId="30" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2010-11-09T16:32:22.243" Title="When a process spawns another process" Tags="&lt;dc.parallel-comp&gt;&lt;process-algebra&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="2789" PostTypeId="2" ParentId="2788" CreationDate="2010-11-08T15:09:06.773" Score="13" Body="&lt;p&gt;Of course there are many systems for modelling processes. These fall under the category of &lt;a href=&quot;http://en.wikipedia.org/wiki/Process_calculus&quot;&gt;process algebras&lt;/a&gt;.  The key examples are &lt;a href=&quot;http://en.wikipedia.org/wiki/Pi_calculus&quot;&gt;$\pi$-calculus&lt;/a&gt;, &lt;a href=&quot;http://en.wikipedia.org/wiki/Calculus_of_Communicating_Systems&quot;&gt;CCS&lt;/a&gt;, &lt;a href=&quot;http://en.wikipedia.org/wiki/Algebra_of_Communicating_Processes&quot;&gt;ACP&lt;/a&gt; and &lt;a href=&quot;http://en.wikipedia.org/wiki/Communicating_sequential_processes&quot;&gt;CSP&lt;/a&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Process calculi have basic mechanisms for specifying process behaviour including: sending and receiving of messages (synchronously or asynchronously), creating parallel processes, nondeterministic choice between behaviours, and the replication of processes. Although the calculi are small in terms of the number of constructs, they are very expressive and a vast amount of research has gone into studying their properties.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The $\pi$-calculus differs from the others in that it allows, in essence, processes to be passed as first class values. It actually allows channel names to be passed around as first class values, enabling changes in the dynamic topology. This is probably the calculus you want because it offers the greatest dynamicity.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;CSP (communicating sequential processes) is a little odd, when seen from a perspective of modelling molecules. It does have plenty of backing theory and tool support. (Invented by C. A. R. Hoare.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;CCS and ACP have less dynamicity than the $\pi$-calculus, but they are much easier to analyse and simulate. A solid toolset called $\mu$CRL (and $\mu$CRL2) are available for ACP. Similar tools are sure to exist for CCS. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'd start examining the related work (see below) and then find which of the modelling formalisms suit what you are looking for.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There has in fact been quite a lot of work modelling chemical reactions and biological processes using process algebra.&#xA;Probably the best place to look  is &lt;a href=&quot;http://lucacardelli.name/indexPapers.html&quot;&gt;Luca Cardelli&lt;/a&gt;'s publication list. His whole line of research on &lt;strong&gt;BioComputing&lt;/strong&gt; has probably 30 papers on the topic. This &lt;a href=&quot;http://lucacardelli.name/Talks/2010-09-30%20Molecular%20Programming%20%28Berry%20Lectures,%20Edinburgh%29.pdf&quot;&gt;talk&lt;/a&gt; gives an overview of much of his work. This &lt;a href=&quot;http://lucacardelli.name/Talks/2007-12-04%20Artificial%20Biochemisitry%20%28Leiden%29.pdf&quot;&gt;one&lt;/a&gt; is slightly more formal, though reading the papers is really the only way to see the details.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One approach that directly models chemical processes is &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.122.6983&amp;amp;rep=rep1&amp;amp;type=pdf&quot;&gt;CHAM&lt;/a&gt; (the chemical abstract machine). The key ingredient here is a solution of molecules and membranes. There are heating and cooling rules for rearranging the molecules and for removing junk. These rules are reversible. Finally there reaction rules which model reactions. In contrast to process algebras, CHAM models are not so worried about the syntax of processes, so you can invent your own representation of the molecules.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Rewrite logic as realised in the toolset &lt;a href=&quot;http://maude.cs.uiuc.edu/&quot;&gt;Maude&lt;/a&gt; offers another more or less direct approach to specifying such reactions. One need only specify the rewrite rules, the handing of the &quot;soup&quot; is automatic. The toolset would enable the simulation and analysis of (smallish) chemical reactions. A probabilistic variant of Maude also exists. &lt;/p&gt;&#xA;" OwnerUserId="77" LastEditorUserId="77" LastEditDate="2010-11-09T09:19:05.197" LastActivityDate="2010-11-09T09:19:05.197" CommentCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="2790" PostTypeId="2" ParentId="2788" CreationDate="2010-11-08T16:09:56.170" Score="7" Body="&lt;p&gt;Another line of work that's - I believe - related to but not the same as BioComputing (unfortunately I'm not too well versed in this area), is &quot;membrane computing.&quot; &lt;/p&gt;&#xA;&#xA;&lt;p&gt;My understanding of membrane computing is that it uses metaphors largely developed in the process-caclui world (Dave Clarke's answer gave a good set of pointers there) explicitly to model cellular interactions. A good guide to membrane computing is probably the aptly-named &lt;a href=&quot;http://dx.doi.org/10.1016/S0304-3975(02)00136-6&quot;&gt;A guide to membrane computing&lt;/a&gt; by Paun and Rozenberg in TCS. It was a few years ago (and I'm not inside of a paywall at the moment to check) but I believe some models of membrane computing have a notion of &quot;forking&quot; that is supposed to somehow mirror cellular mitosis.&lt;/p&gt;&#xA;" OwnerUserId="1024" LastEditorUserId="1024" LastEditDate="2010-11-09T16:32:22.243" LastActivityDate="2010-11-09T16:32:22.243" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="2792" PostTypeId="1" AcceptedAnswerId="2795" CreationDate="2010-11-08T16:17:09.837" Score="16" ViewCount="1273" Body="&lt;p&gt;Suppose you have two arbitrarily powerful participants who don't trust each other. They have access to bit commitment (e.g., sealed envelopes containing data that one player can hand to the other but that can't be opened until the first player gives the second a key). Can you use this to build an oblivious transfer protocol. Is this true even if the players agree to open all the envelopes at the end to detect cheating (e.g., after the poker hand is played, everybody agrees to reveal their cards)? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I assume that you can't get oblivious transfer out of bit commitment, because oblivious transfer is cryptographically universal, and I can't find any references that say bit commitment is, but is there a proof somewhere that you can't do it?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, has anybody looked at the problem if the players are quantum?&lt;/p&gt;&#xA;" OwnerUserId="1677" LastActivityDate="2011-09-23T22:04:42.500" Title="Does bit commitment yield oblivious transfer in the information-theoretic security model?" Tags="&lt;reference-request&gt;&lt;cr.crypto-security&gt;" AnswerCount="2" CommentCount="5" FavoriteCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="2793" PostTypeId="2" ParentId="2780" CreationDate="2010-11-08T16:23:01.130" Score="14" Body="&lt;p&gt;Yes, PCPs with imperfect completeness have been studied before. The main motivation is that for some natural and interesting problems, finding whether there is a perfect solution is actually easy (polynomial-time), while approximating the best solution, if this best solution is not perfect, is (or believed to be) hard.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here are some examples:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;The Unique Games Conjecture.&lt;/strong&gt; Unique games with perfect completeness are easy, so the Unique Games Conjecture focuses on unique games with imperfect completeness.&#xA;Feige and Reichman showed NP-hardness for unique games for some constant completeness and soundness values (not c=1-delta s=epsilon as conjectured).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Linear equations.&lt;/strong&gt; Linear equations with perfect completeness are easy (using Gaussian elimination), so hardness results for linear equations (e.g., Hastad's) focus on imperfect completeness.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="1621" LastActivityDate="2010-11-08T16:23:01.130" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2794" PostTypeId="1" AcceptedAnswerId="2872" CreationDate="2010-11-08T16:28:26.053" Score="12" ViewCount="901" Body="&lt;p&gt;Again an edge-partitioning problem whose complexity I'm curious about, motivated by &lt;a href=&quot;https://cstheory.stackexchange.com/questions/2307/an-edge-partitioning-problem-on-cubic-graphs&quot;&gt;a previous question of mine&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Input:&lt;/strong&gt; a cubic graph $G=(V,E)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question:&lt;/strong&gt; is there a partition of $E$ into $E_1, E_2, \ldots, E_s$, such that the subgraph induced by each $E_i$ is either a claw (i.e. $K_{1,3}$, often called a star) or a $3$-path (i.e. $P_4$)?&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;I think I saw a paper one day where this problem was proven to be NP-complete, but I cannot find it anymore, and I don't remember whether that result applied to cubic graphs. On a related matter, I'm aware that edge-partitioning a bipartite graph into claws is NP-complete (see &lt;a href=&quot;http://dx.doi.org/10.1016/0196-6774(86)90002-7&quot; rel=&quot;nofollow noreferrer&quot;&gt;Dyer and Frieze&lt;/a&gt;). Does anyone have a reference for the problem I describe, or something related (i.e. the same problem on another graph class, that I could then try to reduce to cubic graphs)?&lt;/p&gt;&#xA;" OwnerUserId="775" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2019-02-18T10:10:28.450" Title="Edge-partitioning cubic graphs into claws and paths" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;&lt;np-hardness&gt;&lt;co.combinatorics&gt;" AnswerCount="3" CommentCount="10" FavoriteCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="2795" PostTypeId="2" ParentId="2792" CreationDate="2010-11-08T16:38:06.043" Score="14" Body="&lt;p&gt;No, commitment has strictly lower complexity than OT. I think an easy way to see this is the approach taken in &lt;em&gt;Complexity of Multiparty Computation Problems: The Case of 2-Party Symmetric Secure Function Evaluation&lt;/em&gt; by Maji, Prabhakaran, Rosulek in TCC 2009 (disclaimer: self promotion!). In that paper we have a result characterizing what you can do given access to ideal commitment in the UC model with statistical security.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose there were a statistically secure protocol (against malicious adversaries) $\pi$ for OT using access to ideal black-box bit commitment. Then $\pi$ must be secure against honest-but-curious adversaries as well (not as trivial as it probably sounds, but not very difficult to show either). But you could compose $\pi$ with the trivial honest-but-curious protocol for commitment, and have an honest-but-curious OT protocol that is statistically secure with no setups. But this is known to be impossible.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another way to see it is through &lt;a href=&quot;http://www.springerlink.com/content/xdlq2t5kfnugqywy/&quot;&gt;Impagliazzo-Rudich&lt;/a&gt;. If you have computationally unbounded parties and a random oracle, you can do commitment (since all you need are one-way functions) but you cannot do things like key agreement, and thus not OT.&lt;/p&gt;&#xA;" OwnerUserId="149" LastEditorUserId="873" LastEditDate="2010-11-08T19:38:53.353" LastActivityDate="2010-11-08T19:38:53.353" CommentCount="7" ContentLicense="CC BY-SA 2.5" />
  <row Id="2796" PostTypeId="2" ParentId="427" CreationDate="2010-11-08T16:38:25.290" Score="8" Body="&lt;p&gt;The &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.113.6936&amp;amp;rep=rep1&amp;amp;type=pdf&quot;&gt;Lamarckian Genetic Algorithm&lt;/a&gt; is used in chemoinformatics to screen for potential new drug compounds that can bind with a particular receptor.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The computational problem is to search through a chemical database for candidates that can orient correctly (wrt the possible orientations of the molecule containing the receptor), and to combine that with a conformational search (i.e., one that considers the possible rotatable torsions of the molecule, which &lt;a href=&quot;http://en.wikipedia.org/wiki/Conformational_isomerism#Conformation-dependent_reactions&quot;&gt;can strongly affect the reaction&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Previously, it was feasible to perform either an orientation search or a conformation search, but not both.  LGA takes advantage of computer speedup, and combines the global search of a genetic algorithm with a local search.&lt;/p&gt;&#xA;" OwnerUserId="30" LastActivityDate="2010-11-08T16:38:25.290" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2797" PostTypeId="2" ParentId="200" CreationDate="2010-11-08T17:38:46.513" Score="3" Body="&lt;p&gt;I don't think it's possible.  There's no way, for example, to write $\phi = (X_1 \vee X_2 \vee \neg X_3 \vee \neg X_4)$ as a conjunction of horn clauses since $\phi$ only outlaws a single truth assignment, namely 0011.  Any horn clause with less than 4 literals would outlaw more than 1 truth assignment, and horn clauses with 4 literals can only outlaw truth assignments with at most one 0.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit: oops didn't notice this was answered already&lt;/p&gt;&#xA;" OwnerDisplayName="mike" LastEditorDisplayName="mike" LastEditDate="2010-11-08T17:58:10.980" LastActivityDate="2010-11-08T17:58:10.980" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2800" PostTypeId="1" AcceptedAnswerId="2801" CreationDate="2010-11-08T19:50:07.090" Score="36" ViewCount="1745" Body="&lt;p&gt;This is a naive question, out of my expertise; apologies in advance.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Goldbach's Conjecture and many other unsolved questions in mathematics can be written&#xA;as short formulas in predicate calculus.&#xA;For example, Cook's paper &quot;Can Computers Routinely Discover Mathematical Proofs?&quot; formulates&#xA;that conjecture as&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\forall n [( n &gt; 2 \wedge 2 | n) \supset \exists r \exists s (P(r) \wedge P(s) \wedge n = r + s) ]$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we restrict attention to polynomially-long proofs, then theorems with such proofs are in NP.&#xA;So if P=NP, we could determine whether e.g. Goldbach's Conjecture is true in polynomial time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is: Would we also be able to exhibit a proof in polynomial time?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;b&gt;Edit&lt;/b&gt;. As per the comments of Peter Shor and Kaveh, &#xA;I should have qualified my claim that we could&#xA;determine if Goldbach's conjecture is true if it indeed is one of the theorems with a short proof.  Which of course we do not know!&lt;/p&gt;&#xA;" OwnerUserId="337" LastEditorUserId="337" LastEditDate="2010-11-09T00:19:08.307" LastActivityDate="2010-11-09T00:19:08.307" Title="If P=NP, could we obtain proofs of Goldbach's Conjecture etc.?" Tags="&lt;cc.complexity-theory&gt;&lt;proof-complexity&gt;&lt;automated-theorem-proving&gt;&lt;proof-search&gt;" AnswerCount="2" CommentCount="12" FavoriteCount="8" ContentLicense="CC BY-SA 2.5" />
  <row Id="2801" PostTypeId="2" ParentId="2800" CreationDate="2010-11-08T20:44:25.700" Score="28" Body="&lt;p&gt;Indeed!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If P=NP, not only we can decide whether there exists a proof of length n for Goldbach's Conjecture (or any other mathematical statement), but we can also find it efficiently!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Why? Because we can ask: is there a proof conditioned on the first bit being ..., then, is there a proof conditioned on the first two bits being ...., and so on...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;And how would you know n? You'll just try all possibilities, in increasing order. When we make a step in the i'th possibility we also try a step in each of the possibilities 1..(i-1).&lt;/p&gt;&#xA;" OwnerUserId="1621" LastActivityDate="2010-11-08T20:44:25.700" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="2802" PostTypeId="1" CreationDate="2010-11-08T21:18:07.537" Score="30" ViewCount="3421" Body="&lt;p&gt;Some math and logic paradoxes could be automatically applied to computers probably, but are there any paradoxes that were discovered in computer science itself?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By paradoxes I mean counter intuitive results that look like a contradiction.&lt;/p&gt;&#xA;" OwnerUserId="2101" LastEditorUserId="2101" LastEditDate="2010-11-10T16:25:36.423" LastActivityDate="2016-05-30T18:55:17.800" Title="Are there any counterintuitive results in theoretical computer science?" Tags="&lt;big-list&gt;" AnswerCount="13" CommentCount="12" FavoriteCount="18" CommunityOwnedDate="2010-11-09T23:25:20.270" ContentLicense="CC BY-SA 2.5" />
  <row Id="2803" PostTypeId="2" ParentId="2774" CreationDate="2010-11-08T21:35:16.747" Score="20" Body="&lt;p&gt;There is Zeev Dvir's result on the &lt;strong&gt;finite field Kakeya problem&lt;/strong&gt; that was mentioned on this website before. Zeev used the polynomial method to lower bound the number of points in any set of points in F^n (F finite field, n natural number) that contains a line in every direction. This result actually drew attention of people in analysis to the polynomial method. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Zeev's result was motivated by the task of constructing &lt;strong&gt;randomness extractors&lt;/strong&gt;. This is part of a huge effort in theoretical computer science to derandomize algorithms, and ultimately show that P=BPP and similar complexity results hold. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;See more in Zeev's survey: &lt;a href=&quot;http://www.math.ias.edu/~dvir/papers/Dvir09b.pdf&quot;&gt;http://www.math.ias.edu/~dvir/papers/Dvir09b.pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="1621" LastEditorUserId="1621" LastEditDate="2010-11-11T13:20:30.660" LastActivityDate="2010-11-11T13:20:30.660" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2804" PostTypeId="2" ParentId="2800" CreationDate="2010-11-08T21:54:01.397" Score="25" Body="&lt;p&gt;Dana has answered the question. But here are some comments on the practical side.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that it is undecidable to check if a given sentence is provable in ZFC. $P=NP$ has no consequence on this. $P=NP$ (in fact $P=coNP$) means it is easy to find proofs for &lt;strong&gt;propositional tautologies&lt;/strong&gt;, not first-order sentences like GC.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is $NP$ to check if there is a proof of a given sentence of given length $l$ (in unary) in a fixed theory (e.g. ZFC). So if $P=NP$, then there is a polytime algorithm to check this. Taking $l$ to be some fixed polynomial in the length of the sentence will result in a polytime algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Practically (this is mentioned by Godel in his famous letter to von Neumann): if $P=NP$, then there is a polynomial time algorithm that given a first-order sentence and $l$ (in unary), the algorithm can find if the sentence has a size $l$ proof in ZFC. Godel's idea was that in this case, if the equivalence $P=NP$ is really feasible (i.e. the algorithm is not just $P$ but is in say $DTime(n^2)$), then one can take this algorithm and run it to check for proofs of feasible but very large length which is going to be larger than any proof any human can ever come up with, and if the algorithm does not find an answer, then the sentence is &lt;em&gt;practically&lt;/em&gt; impossible to prove. The trick Dana has mentioned will also work here to find the proof.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For practical means:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;$P=NP$ is not enough, we need the algorithm to be feasible in practice, an algorithm in $DTime(10000n^{10000})$ would not help.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;it will find a proof only if there is one (i.e. the sentence is not an undecidable sentence in ZFC), moreover the proof should be feasibly short.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;it can be the case that $P\neq NP$, but we can still find these feasible proofs algorithmically, for example if $NP=DTime(n^{\log^* n})$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2010-11-08T22:29:13.707" LastActivityDate="2010-11-08T22:29:13.707" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2806" PostTypeId="2" ParentId="2386" CreationDate="2010-11-09T00:27:28.033" Score="2" Body="&lt;p&gt;According to me, &quot;computer science&quot; is the &quot;science of all sciences&quot; :)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is &quot;science&quot;?  We get data from nature, and we try to construct a model that explains the data.  Also, we assume implicitly that nature is not arbitrary.  The laws of nature must have a concise expression, the data must satisfy some symmetries, etc.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But this is exactly a learning problem!  The data is generated by some process that is promised to be of &quot;low complexity&quot;, and our task is to reconstruct a description of the process.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Our understanding of such problems is at such a primitive level that it's your duty to work on them! :)  Even our understanding of the seemingly simpler problem of whether the output of a black-box process is equivalent to some &lt;em&gt;fixed&lt;/em&gt; function is far from complete.  For example, suppose that we are promised that the black-box is evaluating a function that can be computed by a small-depth arithmetic circuit (this is easy to explain to high-schoolers), and we want to find out whether the box is computing the zero function.  We don't know if this can be done in the lifetime of the universe for functions on reasonable sized domains!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Cue to start talking about arithmetic complexity theory, the chasm at depth 4, the role of randomness in computation, what's known if we reduce # of multiplication gates, etc. etc. ...&lt;/p&gt;&#xA;" OwnerUserId="15" LastEditorUserId="15" LastEditDate="2010-11-09T00:48:49.630" LastActivityDate="2010-11-09T00:48:49.630" CommentCount="0" CommunityOwnedDate="2010-11-09T00:27:28.033" ContentLicense="CC BY-SA 2.5" />
  <row Id="2807" PostTypeId="2" ParentId="2794" CreationDate="2010-11-09T02:50:43.617" Score="6" Body="&lt;p&gt;Perhaps this paper may be of interest:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Kleinschmidt, Peter&#xA;Regular partitions of regular graphs.&#xA;Canad. Math. Bull. 21 (1978), no. 2, 177–181. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It deals with graphs which can be written as the union of &quot;Z-paths&quot; of length 3. (Specifically, planar, 3-valent, 3-connected graphs-cubic 3-polytopes.)&lt;/p&gt;&#xA;" OwnerUserId="987" LastActivityDate="2010-11-09T02:50:43.617" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2808" PostTypeId="2" ParentId="2674" CreationDate="2010-11-09T03:14:53.683" Score="17" Body="&lt;p&gt;Another great example is Terry Tao's &lt;a href=&quot;http://arxiv.org/abs/math/0504472&quot;&gt;alternate proof of the Szemerédi graph regularity lemma&lt;/a&gt;.  He uses an information-theoretic perspective to prove a strong version of the regularity lemma, which turns out to be extremely useful in &lt;a href=&quot;http://arxiv.org/abs/math.CO/0503572&quot;&gt;his proof of the regularity lemma for hypergraphs&lt;/a&gt;.  Tao's proof is, by far, the most concise proof for the hypergraph regularity lemma.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let me try to explain at a very high level this information-theoretic perspective.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose you have a bipartite graph $G$, with the two vertex sets $V_1$ and $V_2$ and the edge set E a subset of $V_1 \times V_2$.  The edge density of $G$ is $\rho = |E|/|V_1||V_2|$.  We say $G$ is $\epsilon$-regular if for all $U_1 \subseteq V_1$ and $U_2 \subseteq V_2$, the edge density of the subgraph induced by $U_1$ and $U_2$ is $\rho \pm \epsilon |U_1||U_2|/|V_1||V_2|$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, consider selecting a vertex $x_1$ from $V_1$ and a vertex $x_2$ from $V_2$, independently and uniformly at random.  If $\epsilon$ is small and $U_1, U_2$ are large, we can interpret $\epsilon$-regularity of $G$ as saying that conditioning $x_1$ to be in $U_1$ and $x_2$ to be in $U_2$ does not affect much the probability that $(x_1,x_2)$ forms an edge in $G$.  In other words, even after we are given the information that $x_1$ is in $U_1$ and $x_2$ is in $U_2$, we haven't acquired much information about whether $(x_1,x_2)$ is an edge or not.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The Szemeredi regularity lemma (informally) guarantees that for &lt;em&gt;any&lt;/em&gt; graph, one can find a partition of $V_1$ and a partition of $V_2$ into subsets of constant density such that for most such pairs of subsets $U_1 \subset V_1, U_2 \subset V_2$, the induced subgraph on $U_1 \times U_2$ is $\epsilon$-regular.  Making the above interpretation, given any two high-entropy variables $x_1$ and $x_2$, and given any event $E(x_1,x_2)$, it is possible to find low-entropy variables $U_1(x_1)$ and $U_2(x_2)$ -- &quot;low-entropy&quot; because the subsets $U_1$ and $U_2$ are of constant density -- such that $E$ is approximately independent of $x_1 | U_1$ and $x_2 | U_2$, or that the mutual information between the variables is very small.  Tao actually formulates a much stronger version of the regularity lemma using this setup.  For example, he doesn't require that $x_1$ and $x_2$ be independent variables (though there hasn't yet been an application of this generalization, as far as I know).  &lt;/p&gt;&#xA;" OwnerUserId="15" LastEditorUserId="15" LastEditDate="2010-11-09T03:57:54.460" LastActivityDate="2010-11-09T03:57:54.460" CommentCount="0" CommunityOwnedDate="2010-11-09T03:14:53.683" ContentLicense="CC BY-SA 2.5" />
  <row Id="2809" PostTypeId="2" ParentId="2769" CreationDate="2010-11-09T06:01:02.140" Score="11" Body="&lt;p&gt;Not really an answer, but an extended comment on András's answer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;András's answer contains a nice intuition, though I do not believe it is a rigorous calculation of the expected number of steps. I think it is perhaps a good approximation to an answer, but it does not seem to properly deal with cases where the bin below the highest occupied bin becomes empty before that the upper bin is emptied downwards. Still, this might be a reasonable approximation to make (I'm not sure).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;His calculation contains an error which affects the scaling. I'm going to take exactly the same starting point, and redo and expand the calculation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It misses a factor of p inside the summation, as the probability of randomly choosing the correct bin is $\frac{p}{n}$ rather than $\frac{1}{n}$. As a result we have&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\begin{eqnarray*}&#xA;n + \sum_{p=1}^n \sum_{k=0}^{\infty} (k+1) \frac{p}{n} \left(\frac{n-p}{n}\right)^k&#xA;&amp;amp; = &amp;amp; n + \sum_{p=1}^{n} \frac{p}{n} \sum_{k=0}^{\infty} (k+1) \left(\frac{n-p}{n}\right)^k&#xA;\\\\&amp;amp; = &amp;amp; n + \sum_{p=1}^{n} \frac{p}{n} \cdot \frac{n^2}{p^2} &#xA;\\\\&amp;amp; = &amp;amp; n + n\sum_{p=1}^{n} 1/p&#xA;\\\\&amp;amp; = &amp;amp; n (1+H_n)&#xA;\end{eqnarray*}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where $H_n = \sum_{p=1}^{n} 1/p$ is the nth &lt;a href=&quot;http://mathworld.wolfram.com/HarmonicNumber.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;Harmonic number&lt;/a&gt;. To approximate $H_n$ we can simply replace the summation with an integral: $H_n \approx \int_{1}^{n+1} \frac{1}{x} dx = \log(n+1)$. Thus the scaling is $n (1+\log(n+1))$ or approximately $n \log(n+1)$. While this scaling does not match the scaling of the problem exactly (see simulation below) it is out by almost exactly a factor of $\log(2)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/OkTJh.jpg&quot; alt=&quot;Simulation vs theory&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Red circles: Data points from simulation of process averaged over 10k runs. Green: $n \log_2(n+1)$. Blue: $n \log(n+1)$.&lt;/p&gt;&#xA;" OwnerUserId="204" LastEditorUserId="204" LastEditDate="2010-11-09T06:06:44.780" LastActivityDate="2010-11-09T06:06:44.780" CommentCount="9" ContentLicense="CC BY-SA 2.5" />
  <row Id="2810" PostTypeId="2" ParentId="2611" CreationDate="2010-11-09T08:58:28.650" Score="19" Body="&lt;p&gt;Ryan answered a similar question on mathoverflow. Here's the link: &lt;a href=&quot;https://mathoverflow.net/questions/24287/what-is-the-best-algorithm-to-find-the-smallest-nonzero-eigenvalue-of-a-symmetric/24294#24294&quot;&gt;mathoverflow-answer&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Basically, you can reduce eigenvalue computation to matrix multiplication by computing a symbolic determinant. This gives a running time of O($n^{\omega+1}m$) to get $m$ bits of the eigenvalues; the best currently known runtime is O($n^3+n^2\log^2 n\log b$) for an approximation within $2^{-b}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Ryan's reference is ``Victor Y. Pan, Zhao Q. Chen: The Complexity of the Matrix Eigenproblem. STOC 1999: 507-516''. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;(I believe there is also a discussion about the relationship between the complexities of  eigenvalues and matrix multiplication in the older Aho, Hopcroft and Ullman book ``The Design and Analysis of Computer Algorithms'', however, I don't have the book in front of me, and I can't give you the exact page number.)&lt;/p&gt;&#xA;" OwnerUserId="410" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2010-11-09T08:58:28.650" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2811" PostTypeId="2" ParentId="2781" CreationDate="2010-11-09T11:33:47.633" Score="16" Body="&lt;p&gt;(I have posted this answer as a comment on the question, but I am reposting it with a little more detail.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This problem is NP-hard as follows.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As is usual in a proof of NP-hardness, suppose that a natural number &lt;i&gt;K&lt;/i&gt; is also given as part of input, and consider the yes/no problem of deciding whether at least &lt;i&gt;K&lt;/i&gt; customers are satisfied.  Then this problem is NP-complete, even if it is restricted to the case where &lt;i&gt;X&lt;/i&gt;=1, &lt;i&gt;m&lt;/i&gt;=3&lt;i&gt;K&lt;/i&gt; and each customer wants to buy exactly three goods.  (Note that if &lt;i&gt;X&lt;/i&gt;=1, the value of &lt;i&gt;Y&lt;/i&gt; is irrelevant as long as &lt;i&gt;Y&lt;/i&gt;&amp;gt;0.)  In this case, the problem is equivalent to the NP-complete problem called Exact Cover by 3-Sets.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See &lt;a href=&quot;http://en.wikipedia.org/wiki/Computers_and_Intractability%3a_A_Guide_to_the_Theory_of_NP-Completeness&quot; rel=&quot;nofollow&quot;&gt;Garey and Johnson&lt;/a&gt; for more on complexity theory and NP-completeness, including the definition of the Exact Cover by 3-Sets and the proof of its NP-completeness.&lt;/p&gt;&#xA;" OwnerUserId="567" LastEditorUserId="567" LastEditDate="2010-11-09T11:43:04.100" LastActivityDate="2010-11-09T11:43:04.100" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2812" PostTypeId="1" AcceptedAnswerId="2814" CreationDate="2010-11-09T12:46:19.780" Score="39" ViewCount="2225" Body="&lt;p&gt;Ryan Williams just posted his &lt;a href=&quot;http://www.cs.cmu.edu/~ryanw/acc-lbs.pdf&quot;&gt;lower bound on ACC&lt;/a&gt;, the class of problems that have constant depth circuits with unbounded fan-in and gates AND, OR, NOT and MOD_m for all possible m's.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What's so special about MOD_m gates?&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;They allow one to simulate arithmetic over any ring Z_m.&lt;/li&gt;&#xA;&lt;li&gt;Before Ryan's result, throwing MOD_m gates to the mix gave the first class for which the known lower bounds did not work.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Is there any other natural reason to study MOD_m gates?&lt;/p&gt;&#xA;" OwnerUserId="1621" LastEditorUserId="1621" LastEditDate="2011-11-05T20:32:22.527" LastActivityDate="2011-11-05T20:32:22.527" Title="Why are mod_m gates interesting?" Tags="&lt;cc.complexity-theory&gt;&lt;circuit-complexity&gt;&lt;big-picture&gt;&lt;circuit-families&gt;" AnswerCount="3" CommentCount="0" FavoriteCount="12" ContentLicense="CC BY-SA 3.0" />
  <row Id="2813" PostTypeId="2" ParentId="2252" CreationDate="2010-11-09T13:10:51.183" Score="22" Body="&lt;p&gt;From what I have seen in the Natural Language Processing community, formal grammars à la Chomsky are not used so much any more. They (too) think that the Chomsky Hierarchy is outdated to model language.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What took its place is stuff like Re-writting rule (the Lars algorithm), dependency models (Dan Klein), Tree Substitution Grammar (the DOP model), Binary Feature Grammars (Alex Clark).&lt;/p&gt;&#xA;" OwnerUserId="941" LastActivityDate="2010-11-09T13:10:51.183" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="2814" PostTypeId="2" ParentId="2812" CreationDate="2010-11-09T14:32:10.867" Score="39" Body="&lt;p&gt;$ACC^0$ is a natural complexity class.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) Barrington showed that computation over non-solvable monoids capture $NC^1$ while over solvable monoids capture $ACC^0$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) Recently, Hansen and Koucky &lt;a href=&quot;http://doi.ieeecomputersociety.org/10.1109/CCC.2009.15&quot;&gt; proved &lt;/a&gt; a beautiful result that poly-sized constant width planar branching programs are exactly $ACC^0$. Without the planarity condition, we of course get Barrington's result characterizing $NC^1$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;So the difference between $ACC^0$ and $NC^1$ is group-theoretic on one hand and topological on the other.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;b&gt;Added:&lt;/b&gt; Dana, a simple example of a solvable group is $S_4$, the symmetric group over elements. Without getting into details, any solvable group has a series whose quotients happen to be cyclic. This cyclic structure gets reflected as mod gates while building a circuit to solve word problems over the group. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;On planarity, one would like to believe that planarity may impose restrictions/bottlenecks in the flow of information. This is not always true: for example, variations of planar 3SAT are known to be NP-complete. However, in smaller classes, these restrictions are more &quot;likely&quot; to hold. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In similar vein, Wigderson showed NL/poly=UL/poly using the isolation lemma. We do not know how to derandomize the isolation lemma over arbitrary DAGs to get NL=UL, but we know how to do so for &lt;a href=&quot;http://doi.acm.org/10.1145/1490270.1490274&quot;&gt;planar DAGs.&lt;/a&gt; &lt;/p&gt;&#xA;" OwnerUserId="1449" LastEditorUserId="1449" LastEditDate="2010-11-10T03:34:37.640" LastActivityDate="2010-11-10T03:34:37.640" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="2815" PostTypeId="1" AcceptedAnswerId="2822" CreationDate="2010-11-09T15:14:39.127" Score="16" ViewCount="1716" Body="&lt;p&gt;(&lt;strong&gt;UPDATE&lt;/strong&gt;: a better formed question is posed &lt;a href=&quot;https://cstheory.stackexchange.com/questions/2853/are-there-any-proofs-the-undecidability-of-the-halting-problem-that-does-not-depe&quot;&gt;here&lt;/a&gt; as the comments for the accepted answer below show that this question is not well-defined)&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;The classical proof of the impossibility of the halting problem depends on demonstrating a contradiction when trying to apply the halting detection algorithm to itself as input. See background below for more information.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The contradiction demonstrated applies because of a self-referential paradox (like the sentence &quot;This sentence is not true&quot;). But if we strictly prohibited such self-references (i.e. accepted the fact that such self-references are not decidable to halt), what result are we left with ? Is the halting problem for the remaining set of non-self-referencing machines are decidable to halt or not ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;The questions is:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;If we consider a subset of all possible Turing machines, which are not self-referencing (i.e. does not take them selves as input), what do we know about the halting problem for this subset ?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;UPDATE&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Maybe a better reformulation of what I am after is a better understanding of what defines a decidable set. I was trying to isolate the classical undecidability proof because it doesn't add any information about the undecidability except for the cases where you run HALT on itself.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Background:&lt;/strong&gt;&#xA;Assuming towards a contradiction that there is a Turing machine $Q$ that can decide on input $M$ which is an encoding for a Turing machine and $X$, whether or not $M(X)$ halts. Then consider a Turing machine $K$ that takes $M$ and $X$ and uses $Q$ to decide whether $M(X)$ halts or not, and then does the opposite, i.e. $K$ halts if $M(X)$ doesn't halt, and doesn't halt if $M(X)$ halts. Then $K(K)$ demonstrates a contradiction, as $K$ should halt if it doesn't halt, and doesn't halt when it halts. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Motivation:&lt;/strong&gt;&#xA;A colleague is working on formal verification of software systems (esp. when the system is already proven at source code level and we want to reprove it for its compiled version, to neutralize compiler issues), and in his case he cares about a special set of embedded control programs for which we know for sure they wouldn't be self-referencing. One aspect of verification he wants to carry out is whether it is guaranteed that the compiled program will halt if the input source code is proven to terminate.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;UPDATE&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Based on the comments below I clarify the meaning of non-self-referencing Turing machines.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The goal is to define it as the set that does not lead to the contradiction posed in the proof (cf. &quot;Background&quot; above). It might be defined as follows:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assuming that there is a Turing machine $Q$ that decides the halting problem for a set of Turing machine $S$, then $S$ is non-self-referencing with respect to $Q$ if it excludes all machines that invokes $Q$ on $S$ (directly or indirectly). (Clearly that means that $Q$ can't be a member of $S$.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To clarify about what is meant by invoking $Q$ on $S$ indirectly:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Invoking $Q$ on $S$ is denoted by a Turing machine $Q$ with a set of states and a certain possible initial inputs on the tape (corresponding to any member of $S$), with the head initially at the beginning of that input. A machine $W$ invokes $Q$ on $S$ &quot;indirectly&quot; if there is a (finite) sequence of steps that $W$ would take to make its configuration &quot;homomorphic&quot; to the initial configuration of $Q(S)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;UPDATE 2&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;From an answer below arguing that there are infinitely many Turing machines doing the same task, and so $Q$ is not unique, we change the definition above by saying that $Q$ is not a single Turing machine, but the (infinite) set of all machines computing the same function (HALT), where HALT is the function that decides whather a Turing machine halts on a particular input.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;UPDATE 3&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The definition of Turing Machine homomorphism:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A TM A is homomorphic to TM B if the transition graph of A is homomorphic to that of B, in the &lt;strong&gt;standard&lt;/strong&gt; sense of homomorphisms of graphs with labeled nodes AND edges. A transition graph (V,E) of a TM is such that V=states, E=transition arcs between states. Each arc is labeled with the (S,W,D), S=symbol read off the tape and W=the symbol to be written to it, and D=the direction the head show move to.&lt;/p&gt;&#xA;" OwnerUserId="201" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2010-11-10T19:43:09.990" Title="What do we know about restricted versions of the halting problem" Tags="&lt;computability&gt;&lt;lo.logic&gt;" AnswerCount="2" CommentCount="24" FavoriteCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="2816" PostTypeId="2" ParentId="2815" CreationDate="2010-11-09T16:29:49.080" Score="9" Body="&lt;p&gt;If I understand your motivation correctly, it's seems like this is a &quot;compiler correctness&quot; issue more than a &quot;restricted halting problem&quot; issue. You have a property (termination) that you've proven for some source level program &lt;b&gt;Prog&lt;/b&gt; that you want to then extend to the compiled code to get the same property of &lt;b&gt;compiled(Prog)&lt;/b&gt;. But the compiler can (in general) do arbitrarily goofy things like implement a turing-complete runtime (say the JVM), compile your terminating program into a JVM bytecode and then dump out an executable that starts the JVM and feeds it your compiled bytecode.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;i&gt;In practice&lt;/i&gt; it's probably quite possible to utilize the implicit knowledge you have about how your compiler works to implement a some verification procedure that pretty much proves compiled programs correct given correct source programs (indeed, a lot of automatic verification tools for programs are utilizing implicit knowledge of the algorithm-to-code &quot;compiler&quot; in the brains of programmers). However, &lt;i&gt;in general&lt;/i&gt; you're probably looking at a problem of compiler correctness. As I understand it, there are two classic ways of doing so. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;One option is to have a compiler that takes as input the program &lt;b&gt;Prog&lt;/b&gt; and the proof &lt;b&gt;terminates(Prog)&lt;/b&gt; and outputs &lt;b&gt;compiled(Prog)&lt;/b&gt; and &lt;b&gt;terminates(compiled(Prog))&lt;/b&gt; - the latter is a proof that can then be double-checked independently of the compiler. The classic paper on this is Necula and Lee's &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=277752&quot;&gt;The design and implementation of a certifying compiler&lt;/a&gt;, I believe. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Alternatively, you can prove a fact about the function &lt;b&gt;compiles()&lt;/b&gt; - that whenever &lt;b&gt;compiles()&lt;/b&gt; is giving a terminating input it produces a terminating output. An accessible introduction to this way of thinking about compiler correctness is Xavier Leroy's CACM article, &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=1538788.1538814&quot;&gt;Formal verification of a realistic compiler&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(P.S. I hope this answer is helpful - I recognize it's a bit divergent from the question you asked, so let me know if I'm way off-base and/or repeating something you already know.)&lt;/p&gt;&#xA;" OwnerUserId="1024" LastEditorUserId="1024" LastEditDate="2010-11-09T18:22:47.780" LastActivityDate="2010-11-09T18:22:47.780" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2817" PostTypeId="2" ParentId="2812" CreationDate="2010-11-09T16:57:05.067" Score="17" Body="&lt;p&gt;Perhaps this isn't really an answer to your question. But to just give one example of why sometimes $\bmod m$ gates (for composite $m$) are more powerful than $\bmod p$ gates:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider the class of constant depth circuits that consist &lt;em&gt;only&lt;/em&gt; of $\bmod p$ gates, and inputs and constants at the leaves. Then, one can easily show that the OR function (for example) cannot be computed by such circuits, regardless of the size of the circuit. (This is because any such circuit computes a low degree polynomial over $\mathbb{F}_p$, and the degree of OR is $n$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, if we consider circuits that consist only of $\bmod m$ gates where $m$ has at least two distinct prime factors, there is a depth $2$ circuit (of exponential size) for the OR function. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;And prior to Ryan's result, $AC^0[\bmod 6]$ was I guess the smallest class for which we didn't have any decent lower bounds. &lt;/p&gt;&#xA;" OwnerUserId="877" LastActivityDate="2010-11-09T16:57:05.067" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2818" PostTypeId="2" ParentId="2794" CreationDate="2010-11-09T17:45:38.973" Score="15" Body="&lt;p&gt;This isn't an answer to the complexity of the problem, but it at least shows that the complexity has a chance at being nontrivial: it's an example of a cubic graph that cannot be partitioned into paths and claws.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://i.stack.imgur.com/fT5xZ.png&quot; rel=&quot;nofollow noreferrer&quot;&gt;&lt;img src=&quot;https://i.stack.imgur.com/fT5xZ.png&quot; alt=&quot;alt text&quot;&gt;&lt;/a&gt;&lt;br&gt;&#xA;&lt;sub&gt;(source: &lt;a href=&quot;https://www.ics.uci.edu/~eppstein/0xDE/cubic-unmatchable.png&quot; rel=&quot;nofollow noreferrer&quot;&gt;uci.edu&lt;/a&gt;)&lt;/sub&gt;  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Within each of its three lobes, any partition into paths and claws can only use six of the seven edges. The remaining six central edges take the form of a claw with each edge subdivided, which cannot be partitioned into paths and claws.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;ETA&lt;/strong&gt;: The graph shown above is more famous as an example of a cubic graph without a perfect matching. But every cubic graph with a perfect matching has a decomposition into paths (not even using any claws). By König's theorem this includes all cubic bipartite graphs and by Petersen's theorem this includes all bridgeless cubic graphs, answering a question of Joseph Malkevitch in the comments.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The proof is very simple: if M is a perfect matching in a cubic graph, the removal of M leaves a 2-regular graph, that is, a disjoint union of cycles. Orient each cycle arbitrarily, and attach each edge uv of M to the cycle edges that follow u and v in the orientations of their cycles.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the other direction, if there exists a decomposition into paths, then there exists a perfect matching: the middle edges of each path must be a matching since no two middle edges can share a degree-three vertex.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Disclaimer: this idea may have already been present in Carsten Thomassen's invited talk at GD 2010, which was about this sort of graph decomposition problem.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(addition to disclaimer (by Anthony Labarre): the &quot;orientation idea&quot; for going from a perfect matching to a partition into paths appears in &lt;a href=&quot;http://dx.doi.org/10.1002/jgt.3190090416&quot; rel=&quot;nofollow noreferrer&quot;&gt;this paper by Jünger, Reinelt and Pulleyblank&lt;/a&gt;, who attribute it to W. H. Cunningham.)&lt;/p&gt;&#xA;" OwnerUserId="95" LastEditorUserId="32711" LastEditDate="2019-02-18T10:10:28.450" LastActivityDate="2019-02-18T10:10:28.450" CommentCount="3" ContentLicense="CC BY-SA 4.0" />
  <row Id="2819" PostTypeId="2" ParentId="2052" CreationDate="2010-11-09T17:58:12.903" Score="21" Body="&lt;p&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/users/1713/alexc&quot;&gt;Alex Churchill (@AlexC)&lt;/a&gt; has posted a solution that does &lt;em&gt;not&lt;/em&gt; require cooperation between the players, but rather models the complete execution of a universal Turing machine with two states and 18 tape symbols.  For details, see  &lt;a href=&quot;https://www.toothycat.net/~hologram/Turing/&quot; rel=&quot;noreferrer&quot;&gt;https://www.toothycat.net/~hologram/Turing/&lt;/a&gt; [&lt;a href=&quot;http://archive.is/xbCak&quot; rel=&quot;noreferrer&quot;&gt;archive&lt;/a&gt;].&lt;/p&gt;&#xA;" OwnerUserId="111" LastEditorUserId="111" LastEditDate="2018-06-22T12:13:57.983" LastActivityDate="2018-06-22T12:13:57.983" CommentCount="2" CommunityOwnedDate="2010-11-09T17:58:12.903" ContentLicense="CC BY-SA 4.0" />
  <row Id="2820" PostTypeId="2" ParentId="2674" CreationDate="2010-11-09T19:12:14.327" Score="15" Body="&lt;p&gt;There is basically an entire course devoted to this question:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://catalyst.uw.edu/workspace/anuprao/15415/86751&quot;&gt;https://catalyst.uw.edu/workspace/anuprao/15415/86751&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The course is still ongoing. So not all notes are available as of writing this. Also, some examples from the course were already mentioned.&lt;/p&gt;&#xA;" OwnerUserId="68" LastActivityDate="2010-11-09T19:12:14.327" CommentCount="2" CommunityOwnedDate="2010-11-09T19:12:14.327" ContentLicense="CC BY-SA 2.5" />
  <row Id="2821" PostTypeId="2" ParentId="1198" CreationDate="2010-11-09T20:14:58.843" Score="19" Body="&lt;p&gt;FOCS (IEEE Symposium on Foundations of Computer Science)&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The FOCS 2010 videos are &lt;a href=&quot;http://techtalks.tv/focs/2010/&quot;&gt;now online&lt;/a&gt;.  Glencora Borradille mentions her favorites in &lt;a href=&quot;http://www.glencora.org/silent-glen-speaks/a-skulk-of-focs-talks/&quot;&gt;this blog post&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="30" LastEditorUserId="186" LastEditDate="2011-08-12T17:12:28.737" LastActivityDate="2011-08-12T17:12:28.737" CommentCount="1" CommunityOwnedDate="2010-11-09T20:14:58.843" ContentLicense="CC BY-SA 3.0" />
  <row Id="2822" PostTypeId="2" ParentId="2815" CreationDate="2010-11-09T20:25:38.237" Score="9" Body="&lt;p&gt;I think it'll take a bit more work to get to a &quot;well-defined&quot; question. In particular, this is problematic:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Invoking Q on S is denoted by a Turing machine Q with a set of states and a certain possible initial inputs on the tape (corresponding to any member of S), with the head initially at the beginning of that input. A machine W invokes Q on S &quot;indirectly&quot; if there is a (finite) sequence of steps that W would take to make its configuration &quot;homomorphic&quot; to the initial configuration of Q(S).&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;One problem is that there are infinitely many Turing machines which compute the same function. In the standard diagonalization argument, I can just replace the Q subroutine with another decider for HALT, since there are infinitely many of them. Or a function that is computably equivalent to HALT. So it's not entirely clear to me how to define your notion of &quot;indirect invocation&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A different question might be: for what sets of Turing machines is the halting problem decidable? Here there are an abundance of answers: resource restricted TMs (e.g. use only f(n) space, where f is some specific computable function), TMs that are operationally restricted in some particular way (e.g. read head only moves one way), etc. But, another interesting question is whether membership in that restricted set is decidable, or whether you have to restrict yourself to &quot;promise problems&quot;, where you only guarantee a correct answer on some &quot;promised&quot; subset of inputs, but don't verify membership.&lt;/p&gt;&#xA;" OwnerUserId="319" LastActivityDate="2010-11-09T20:25:38.237" CommentCount="31" ContentLicense="CC BY-SA 2.5" />
  <row Id="2823" PostTypeId="1" AcceptedAnswerId="2830" CreationDate="2010-11-09T21:06:50.217" Score="4" ViewCount="528" Body="&lt;p&gt;I've been toying recently with the idea that the set of all &quot;real-world&quot; paradoxes...such as the Liar's Paradox, Russell's Paradox, the Unexpected Hanging Paradox, the Berry paradox, etc. ...correlates precisely with the set of techniques that can be used to prove that the halting problem is undecidable.  (I believe the same holds for Godel's first incompleteness theorem, but that might be off-topic.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A post on another thread (relating to the halting problem), coupled with my interest in recent days in this notion, led me to post this.  I am curious as to whether or not the answer to either of the following two meta-mathematical questions is 'yes':&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;1)  Is there a technique that can be used to prove the halting problem that has nothing to do with any paradox?&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;2)  Is there any paradox that cannot be used to prove the halting problem?&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the record, I recently came up with a (slightly garbled, but probably correct) proof that HP is undecidable based on the Unexpected Hanging paradox.  I believe that the answer to both of the above questions is 'no,' but I'm not sure how to establish this.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If anyone can offer a counterexample to my claim (on either question), I'd love to hear it.  I realize that I've left the term paradox undefined.  Ideally, I'd like to think that a reasonable definition of paradox might be crafted in terms of the halting problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Also, I've always been curious as to whether or not there's a way to express paradoxes mathematically...that's another part of the motivation for asking this.  I've always wondered if there is any way to figure out precisely how many &quot;basically distinct&quot; paradoxes there are, and if there's a way to prove how many there are.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Philip&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT:&lt;/strong&gt;  I'm trying to clarify, because some posters think that my question is off-topic.  What I am referring to is the notion that a paradox, such as the liar's paradox, the Berry paradox, unexpected hanging paradox, etc., &lt;strong&gt;could be used intuitively&lt;/strong&gt; as a guide for proving the Halting problem.  As an example, Turing used logic similar to Godel's in proving that the halting problem is undecidable; in that sense, I think one could argue that this halting problem proof is &quot;based on&quot; the liar's paradox.  The question, again, is:  is there any paradox that &lt;strong&gt;cannot&lt;/strong&gt; be used to prove THP, or any proof that doesn't use a paradox?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you believe that this is somehow less on-topic to TCS than, say, the Baker-Gill-Solovay result, please let me know why you think so.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT #2:&lt;/strong&gt;  I am now trying to more clearly define what I mean by a &quot;paradox.&quot;  By a paradox, I mean a natural language situation, idea, or sentence that is intuitively and inherently contradictory.  In a Wikipedia article, they refer to this type of paradox as an &quot;antimony.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm not referring to paradoxes that do not lead to an inherently absurd seeming result; i.e., I have no interest in the Obama paradox, or even less blatant paradoxes such as the chicken-and-the-egg paradox.  I am also not interested in paradoxes that seem philosophical but not logical, e.g., Zeno's paradox.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's difficult to really nail down what I mean by &quot;paradox,&quot; so here's a partial list of paradoxes that are relevant:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;liar's&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Russell's/barber&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Berry&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Quine&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Curry's&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Most, but not all of the paradoxes listed in &lt;a href=&quot;http://en.wikipedia.org/wiki/List_of_paradoxes&quot; rel=&quot;nofollow&quot;&gt;this&lt;/a&gt; Wikipedia article under the heading of &quot;Logic&quot; other than vagueness are relevant.  Another question I am wondering about is Newcomb's paradox, or the psychic paradox.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks to anyone who has any ideas on this.  In particular, one way to answer the question that I would appreciate is:  Can you come up with a reasonable way to define/capture the notion of paradox that I'm referring to?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I apologize if this question, as originally asked, was vague or unclear.&lt;/p&gt;&#xA;" OwnerUserId="1338" LastEditorUserId="1338" LastEditDate="2010-11-10T00:30:26.547" LastActivityDate="2010-11-10T00:30:38.077" Title="Is one definition of the word paradox, &quot;something that can be used to prove the halting problem undecidable?&quot;" Tags="&lt;soft-question&gt;&lt;computability&gt;" AnswerCount="3" CommentCount="5" FavoriteCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="2824" PostTypeId="2" ParentId="2823" CreationDate="2010-11-09T22:19:44.543" Score="4" Body="&lt;p&gt;I agree that you are not exactly on topic, given the extreme vagueness of your question. I believe what you might be thinking about when you talk about paradoxes is called a diagonalization argument. The question &quot;can the halting problem be proved undecidable without a diagonalization argument&quot; is better defined. I do not think there is any such proof.&lt;/p&gt;&#xA;" OwnerDisplayName="ATN" LastActivityDate="2010-11-09T22:19:44.543" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2825" PostTypeId="2" ParentId="2802" CreationDate="2010-11-09T22:30:25.077" Score="18" Body="&lt;p&gt;Computability certainly screws most students. A beautiful example with high confusion rate is this:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$f(n) := \begin{cases}1, \quad \pi \text{ has } 0^n \text{ in its decimals} \\\\ 0, \quad else\end{cases}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is $f$ computable?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The answer is yes; see a discussion &lt;a href=&quot;https://cstheory.stackexchange.com/questions/1977/false-proof-for-computability-of-a-function&quot;&gt;here&lt;/a&gt;. Most people immediately try constructing $f$ with present knowledge. That can not work and leads to a perceived paradox which is really just subtleness.&lt;/p&gt;&#xA;" OwnerUserId="1546" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.743" LastActivityDate="2010-11-09T22:30:25.077" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="2826" PostTypeId="1" AcceptedAnswerId="2833" CreationDate="2010-11-09T22:52:46.907" Score="10" ViewCount="242" Body="&lt;p&gt;In &lt;a href=&quot;http://arxiv.org/abs/0807.4154&quot;&gt;Universal Blind Quantum Computation&lt;/a&gt; the autors describe a measurement-based protocol which allows an almost classical user to perform arbitrary computations on a quantum server without revealing almost anything about the content of the computation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the protocol description, the authors mention &quot;dependency sets&quot; associated to each qubit, which are supposed to be calculated by some method described in &lt;a href=&quot;http://www.pps.jussieu.fr/~danos/pdf/flow.pdf&quot;&gt;Determinism in the one-way model&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, it's not clear to me from reading the paper how these set are computed.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can somebody help to clarify this issue?&lt;/p&gt;&#xA;" OwnerUserId="1749" LastActivityDate="2010-11-10T05:42:40.137" Title="Dependent corrections in measurement-based Universal Blind Quantum Computation" Tags="&lt;quantum-computing&gt;&lt;cr.crypto-security&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="2827" PostTypeId="2" ParentId="2812" CreationDate="2010-11-09T23:13:41.657" Score="14" Body="&lt;p&gt;Just to elaborate on your two points:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we are in the business of understanding computation, modular counting is one of the frontiers of our understanding. Modular counting is one of the simplest and most natural phenomena in computation, yet we seem to understand so little about it. We cannot rule out the possibility that polynomial size depth 3 circuits with just Mod6 gates can compute every function in NP. It is conjectured however that such circuits can only compute functions with large support size and hence cannot compute a very simple function like AND. At the upper bound side the situation is similar, we have no non-trivial results.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;These questions are also very interesting from a purely mathematical perspective as they are closely linked to very natural questions about polynomials and matrices over Z_m. To give one example, we don't have good lower bounds for the rank of a nxn codiagonal matrix over Z_6. A codiagonal matrix has 0s on the diagonal and nonzeros off diagonal.&lt;/p&gt;&#xA;" OwnerUserId="2116" LastActivityDate="2010-11-09T23:13:41.657" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2828" PostTypeId="2" ParentId="2823" CreationDate="2010-11-09T23:18:08.503" Score="7" Body="&lt;p&gt;It looks like you want a confirmation of your opinion that classical paradoxes have something to do with the Halting Problem. This is the case on some vague level as most well-known paradoxes rely on a form of self-reference, and so do the usual proofs of the Halting Problem. But to be more precise, we would have to understand what it means &quot;to use a paradox in solution of the Halting Problem&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Have you looked at the article on &lt;a href=&quot;http://plato.stanford.edu/entries/self-reference/&quot;&gt;Self-reference&lt;/a&gt; at the Stanford Encyclopedia of Phylosophy? In particular, section 2.4 seems to address your question quite well. The article also describes the mathematical ideas that can be used to treat the paradoxes. I recommend it.&lt;/p&gt;&#xA;" OwnerUserId="705" LastEditorUserId="705" LastEditDate="2010-11-09T23:26:05.157" LastActivityDate="2010-11-09T23:26:05.157" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2829" PostTypeId="2" ParentId="2215" CreationDate="2010-11-10T00:07:21.260" Score="8" Body="&lt;p&gt;This has been mentioned previously in one of the other posts but I think it deserves reiterating and that is, looking at combinatorial research in applied areas.  There are some very interesting combinatorial problems in bioinformatics (particularly, in DNA fragment assembly, which is essentially a combinatorial problem). Pavel Pevzner, Bin Ma, and several others do very interesting &quot;applied combinatorics&quot;. -Boucher&lt;/p&gt;&#xA;" OwnerUserId="2111" LastActivityDate="2010-11-10T00:07:21.260" CommentCount="0" CommunityOwnedDate="2010-11-10T00:07:21.260" ContentLicense="CC BY-SA 2.5" />
  <row Id="2830" PostTypeId="2" ParentId="2823" CreationDate="2010-11-10T00:30:38.077" Score="13" Body="&lt;p&gt;It sounds like you are looking for a characterisation of the features required to capture diagonalization arguments.  Lawvere's &lt;em&gt;&lt;a href=&quot;http://emis.de/journals/TAC/reprints/articles/15/tr15abs.html&quot;&gt;Diagonal Arguments and Cartesian Closed Categories&lt;/a&gt;&lt;/em&gt; unified each of the main diagonal arguments back in 1969, including Cantor's and Rice's Theorems, the halting problem, and Gödel's first incompleteness theorem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Yanofsky's 2003 tutorial discussion &lt;em&gt;&lt;a href=&quot;http://jstor.org/stable/3109884&quot;&gt;A Universal Approach to Self-referential Paradoxes, Incompleteness and Fixed Points&lt;/a&gt;&lt;/em&gt; provides a nice overview of Lawvere's ideas  (arXiv:&lt;a href=&quot;http://arxiv.org/abs/math/0305282&quot;&gt;0305282&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More recently, Samson Abramsky and Jonathan Zvesper have been taking this further (arXiv:&lt;a href=&quot;http://arxiv.org/abs/1006.0992&quot;&gt;1006.0992&lt;/a&gt;).&lt;/p&gt;&#xA;" OwnerUserId="109" LastActivityDate="2010-11-10T00:30:38.077" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2831" PostTypeId="2" ParentId="2364" CreationDate="2010-11-10T00:55:30.840" Score="5" Body="&lt;p&gt;Your question seems to imply that you are looking for an algorithm with decent computational time.  Given the size of your vertices (or points) would be to create a weighted graph representation of your data and use Markov Cluster Algorithm (MCL) to cluster the graph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.micans.org/mcl/&quot;&gt;http://www.micans.org/mcl/&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;MCL is based on random walks through weighted and unweighted graphs to find dense subgraphs. It is able to handle large graphs and has been used in many well-known, well-used bioinformatic programs (such as BLAST). -Boucher&lt;/p&gt;&#xA;" OwnerUserId="2111" LastActivityDate="2010-11-10T00:55:30.840" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2832" PostTypeId="2" ParentId="1015" CreationDate="2010-11-10T03:31:22.433" Score="18" Body="&lt;p&gt;In low-level complexity classes, there is an interesting problem about the characterization of  &lt;span class=&quot;math-container&quot;&gt;$\mathsf{NL}$&lt;/span&gt;.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;&lt;strong&gt;OPEN:&lt;/strong&gt;&lt;/h2&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Show whether &lt;span class=&quot;math-container&quot;&gt;$\mathsf{NL}$&lt;/span&gt; is equal to &lt;span class=&quot;math-container&quot;&gt;$\mathsf{UL}$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$\mathsf{UL}$&lt;/span&gt;, the &lt;strong&gt;unambiguous logspace&lt;/strong&gt;, is the class consists of problems that can be solved by an &lt;span class=&quot;math-container&quot;&gt;$\mathsf{NL}$&lt;/span&gt;-machine with additional constrain that there are at most one accepting computation path.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;&lt;strong&gt;KNOWN:&lt;/strong&gt;&lt;/h2&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;ul&gt;&#xA;  &lt;li&gt;Under &lt;strong&gt;non-uniform&lt;/strong&gt; circumstances, &lt;span class=&quot;math-container&quot;&gt;$\mathsf{NL/poly} = \mathsf{UL/poly}$&lt;/span&gt;. &lt;a href=&quot;http://eccc.uni-trier.de/eccc-reports/1997/TR97-014/&quot; rel=&quot;nofollow noreferrer&quot;&gt;[RA00]&lt;/a&gt;&lt;/li&gt;&#xA;  &lt;li&gt;Under plausible hardness assumptions (&lt;span class=&quot;math-container&quot;&gt;$\mathsf{SPACE}(n)$&lt;/span&gt; requires exponential size circuits), the result of [RA00] can be &lt;strong&gt;derandomized&lt;/strong&gt; to show that &lt;span class=&quot;math-container&quot;&gt;$\mathsf{NL} = \mathsf{UL}$&lt;/span&gt;. &lt;a href=&quot;http://www.cs.rutgers.edu/pub/allender/matching.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;[ARZ99]&lt;/a&gt;&lt;/li&gt;&#xA;  &lt;li&gt;&lt;strong&gt;Reachability&lt;/strong&gt; on 3-page graphs is complete for &lt;span class=&quot;math-container&quot;&gt;$\mathsf{NL}$&lt;/span&gt;. &lt;a href=&quot;http://cse.unl.edu/~rtewari/unamb.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;[PTV10]&lt;/a&gt;&lt;/li&gt;&#xA;  &lt;li&gt;&lt;strong&gt;Reachability&lt;/strong&gt; on 2-page graphs is solvable for &lt;span class=&quot;math-container&quot;&gt;$\mathsf{UL}$&lt;/span&gt;. &lt;a href=&quot;http://www.cse.unl.edu/~rtewari/DPRinUL.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;[BTV09]&lt;/a&gt;&lt;/li&gt;&#xA;  &lt;li&gt;If &lt;span class=&quot;math-container&quot;&gt;$\mathsf{NL} = \mathsf{UL}$&lt;/span&gt;, then &lt;span class=&quot;math-container&quot;&gt;$\mathsf{FNL} \subseteq \mathsf{\sharp L}$&lt;/span&gt;. &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=155687&quot; rel=&quot;nofollow noreferrer&quot;&gt;[AJ93]&lt;/a&gt;&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;h2&gt;&lt;strong&gt;UNKNOWN:&lt;/strong&gt;&lt;/h2&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;ul&gt;&#xA;  &lt;li&gt;An intermediate class &lt;span class=&quot;math-container&quot;&gt;$\mathsf{FewL}$&lt;/span&gt;, which is defined to be problems solvable by an &lt;span class=&quot;math-container&quot;&gt;$\mathsf{NL}$&lt;/span&gt;-machine with at most polynomially many accepting computation path, lies between &lt;span class=&quot;math-container&quot;&gt;$\mathsf{NL}$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$\mathsf{UL}$&lt;/span&gt;. No collapses are known.&lt;/li&gt;&#xA;  &lt;li&gt;It is known that &lt;span class=&quot;math-container&quot;&gt;$\mathsf{NL} = \mathsf{coNL}$&lt;/span&gt; by the famous Immerman-Szelepcsényi Theorem, while whether &lt;span class=&quot;math-container&quot;&gt;$\mathsf{UL}$&lt;/span&gt; is closed under complement is still open.&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="1800" LastEditorUserId="3532" LastEditDate="2020-06-04T02:45:35.147" LastActivityDate="2020-06-04T02:45:35.147" CommentCount="3" CommunityOwnedDate="2010-11-10T03:31:22.433" ContentLicense="CC BY-SA 4.0" />
  <row Id="2833" PostTypeId="2" ParentId="2826" CreationDate="2010-11-10T03:49:59.573" Score="9" Body="&lt;p&gt;Sure. The dependency sets arise from 'flow', which is indeed described in the paper you link to. This is, however, perhaps overkill for what we need.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The idea behind the corrections is to insure that the same effective operator is applied independent of which branch you find yourself in after making a measurement. To do this in principle is fairly simple. Since all the measurements we make are in the XY plane, obtaining a 1 as the measurement outcome for a particular qubit $q$ of state $| \psi \rangle$ yields the same final state as as obtaining a 0 for the same measurement of the same qubit on a state $Z_q | \psi \rangle$. Thus to correct for obtaining a 1 rather than a 0 it is sufficient to find an operator $C$ on the output state such that $Z_q \otimes C | \psi \rangle = | \psi \rangle$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, this implies that $Z_q \otimes C$ is a stabilizer of the initial state. A stabilizer for a state is simply an operator which has that state as an eigenvector with corresponding eigenvalue $+1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As it turns out, it is extremely easy to enumerate the generators of the stabilizer group for any graph: For every vertex $v$ in graph $G$ the operator $X_v \prod_{i\in\mbox{nbgh{v}}} Z_i$ is a stabilizer of the graph state, where $\mbox{nbgh{v}}$ denotes neighbours of $v$ in $G$. Thus in order to find the correction for the measured qubit it we can simply pick the stabilizer corresponding to a qubit neighbouring $q$ and multiply it by $Z_q$. This gives a set of $X$ and $Z$ corrections which, when applied to the output state, yield a state equal to the output of the process had the measurement result been inverted.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We need one further requirement, which is that the correction set be in the future of $q$ (i.e. have not yet been measured). This obviously places restrictions on which neighbour of $q$ we choose. In the case of the brickwork state we introduce, this is satisfied uniquely by choosing $v$ to be neighbour of $q$ which is in the same row as $q$ but the next column on. This may sound arbitrary,but as it turns out, this is the unique choice satisfying the conditions I mentioned.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hopefully this answers your question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDITED TO NOTE: You can propagate forward $Z$ corrections by applying the above procedure recursively, so that corrections on any qubit which is to be measured will be $X$ corrections. Whether or not an $X$ correction needs to be made to a particular qubit will then depend on the parity of the measurements for all qubits for which the correcting operator contains an $X$ at this location. To work out this set it is easiest to work the other way around: Simply calculate the correction operators for each vertex propagating all the $Z$ operators to the output qubits, and then once you have these operators work out which measurements alter the measurement at a given site.&lt;/p&gt;&#xA;" OwnerUserId="204" LastEditorUserId="204" LastEditDate="2010-11-10T05:42:40.137" LastActivityDate="2010-11-10T05:42:40.137" CommentCount="11" ContentLicense="CC BY-SA 2.5" />
  <row Id="2834" PostTypeId="1" CreationDate="2010-11-10T04:03:25.507" Score="10" ViewCount="246" Body="&lt;p&gt;Does anyone know of a set of problems that vary uniformly and span one of the &quot;interesting&quot; hierarchies of complexity and computability? By interesting, I mean, for example, the Polynomial Hierarchy, the Arithmetic Hierarchy, or the Analytic Hierarchy. Or maybe (N)P, (N)EXP, 2(N)EXP, $\ldots$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More concretely: You can give a uniform set of problems that characterize the Arithmetic Hierarchy: $0, 0', \overline{0'}, 0'', \overline{0''},\ldots$. But these aren't always the most useful for reducing to actual problems. &lt;br&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, the book by Harel, Kozen and Tiuryn has a set of varying tiling problems that are NP, $\Pi^0_1$, $\Sigma^0_2$ and $\Sigma^1_1$ complete. The problems are useful for showing reductions, but it isn't entirely clear if they generalize uniformly to cover the other levels of the hierarchies they sit in.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does anyone know of such a set of concrete, uniform problems that span a hierarchy?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT: Just for clarification, I know that the 3 hierarchies I give above all have standard definitions in terms of alternating quantifier strength. That's not what I'm looking for. I'm looking for something different, like a game on a graph or a puzzle played with tilings.&lt;/p&gt;&#xA;" OwnerUserId="319" LastEditorUserId="319" LastEditDate="2010-11-10T15:35:54.317" LastActivityDate="2010-11-12T02:02:45.497" Title="Uniform hierarchy of problems that span complexity and computational hierarchies" Tags="&lt;cc.complexity-theory&gt;&lt;computability&gt;" AnswerCount="1" CommentCount="13" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="2835" PostTypeId="2" ParentId="2075" CreationDate="2010-11-10T04:25:30.107" Score="0" Body="&lt;p&gt;I think an isomorphism between $k^\mathbb{N}$ and $2^\mathbb{N}$ should be provided by any collection of exclusive and exhaustive binary prefixes of size $k$, for example for $k = 3$ we could us &quot;0&quot;, &quot;10&quot;, and &quot;11&quot;.  In more general, we can use &quot;0&quot;, &quot;10&quot;, &quot;110&quot;, ..., &quot;11...10&quot;, &quot;11...11&quot; where the second to last has $k - 2$ ones and the last has $k - 1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The exclusive and exhaustive nature allows us to define the inverse ($2^\mathbb{N} \to k^\mathbb{N}$) in the obvious fashion.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The boundedness in the forwards direction is easy since each input digits provides at least one output digit the $i$th binary digit is easily determined by no more than the first $i$ $k$-ary digits.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The boundedness in the backwards direction is a little uglier.  With the prefix collection I gave above each $k$-ary digit &quot;reads&quot; from at most $k$ binary digits and so the $i$th $k$-ary digit is determined by no more than the first $k i$ binary digits.&lt;/p&gt;&#xA;" OwnerDisplayName="Keith Amling" LastActivityDate="2010-11-10T04:25:30.107" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="2836" PostTypeId="1" AcceptedAnswerId="2838" CreationDate="2010-11-10T05:46:07.547" Score="5" ViewCount="3562" Body="&lt;p&gt;Are there other computer architectures apart from the Von Neumann /Turing architecture?&lt;/p&gt;&#xA;" OwnerUserId="2119" LastEditorUserId="873" LastEditDate="2010-11-10T14:17:45.897" LastActivityDate="2015-02-16T13:18:23.060" Title="Are there other computer architectures apart fom the von neumann /turing architectures?" Tags="&lt;computability&gt;&lt;turing-machines&gt;" AnswerCount="2" CommentCount="6" FavoriteCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="2837" PostTypeId="2" ParentId="2744" CreationDate="2010-11-10T07:03:05.060" Score="14" Body="&lt;p&gt;The paper &lt;a href=&quot;http://www.wisdom.weizmann.ac.il/~oded/PS/gln.ps&quot;&gt;On constructing 1-1 One-Way Functions&lt;/a&gt;, by Goldreich, Levin and Nisan shows how to construct length preserving 1-1 functions with infinite domains and finite description. The hardness of inverting the functions is based on popular assumptions, such as hardness of inverting RSA or finding Discrete Logarithms. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Their construction is a twist of the straightforward idea of converting a family, $\{f_i\}_i$, of one-way functions into a single one-way function by setting $f(r,s) = f_i(x)$ where $r$ is the randomness used to pick the index $i$ and $s$ is the randomness used to select the input $x$ (given the index $i$). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem with the above idea is that $f(r,s)$ is not necessarily 1-1. They amend this problem by slightly modifying $f(r,s)$ and arguing that, under certain conditions on the family $\{f_i\}_i$, the new construction is indeed 1-1. They then go on to show that these conditions are satisfies by the RSA/Discrete-log based functions.&lt;/p&gt;&#xA;" OwnerUserId="2120" LastEditorUserId="873" LastEditDate="2010-11-10T14:04:45.070" LastActivityDate="2010-11-10T14:04:45.070" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="2838" PostTypeId="2" ParentId="2836" CreationDate="2010-11-10T07:32:53.773" Score="12" Body="&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Turing_machine&quot; rel=&quot;nofollow&quot;&gt;Turing machine&lt;/a&gt; is an abstract &lt;a href=&quot;http://en.wikipedia.org/wiki/Computational_model&quot; rel=&quot;nofollow&quot;&gt;computational model&lt;/a&gt; which has its strengths and weaknesses. &#xA;&lt;a href=&quot;http://en.wikipedia.org/wiki/Von_Neumann_architecture&quot; rel=&quot;nofollow&quot;&gt;Von Neumann architecture&lt;/a&gt; is a way to implement it.&#xA;&lt;strong&gt;There are several other computational models. You can find a list of many of them &lt;a href=&quot;http://en.wikipedia.org/wiki/Category%3aComputational_models&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;&lt;/strong&gt; &lt;/p&gt;&#xA;" OwnerUserId="699" LastEditorUserId="-1" LastEditDate="2012-12-31T03:21:03.997" LastActivityDate="2012-12-31T03:21:03.997" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="2839" PostTypeId="1" CreationDate="2010-11-10T07:47:48.807" Score="7" ViewCount="1588" Body="&lt;p&gt;According to an &lt;a href=&quot;http://projecteuclid.org/DPubS?service=UI&amp;amp;version=1.0&amp;amp;verb=Display&amp;amp;handle=euclid.ss/1177011081&quot; rel=&quot;nofollow&quot;&gt;article on pseudorandom number generators (PRNG) by Jeff Lagarias&lt;/a&gt;, he states that trying to prove that a PRNG is unpredictable (secure) is just &quot;as hard&quot; as trying to prove that P!=NP. If it is considered impossible to prove mathematically that some bit sequence is random then it should be mathematically impossible to prove P!=NP, right? Are these two problems really equivalent? If they are then why all the hoopla over P vs NP, you can never prove it either way according to these definitions.&lt;/p&gt;&#xA;" OwnerDisplayName="Paul Johnson" LastEditorUserId="186" LastEditDate="2010-11-16T09:06:02.147" LastActivityDate="2010-11-16T09:06:02.147" Title="P vs. NP and Pseudorandom Bit Generators" Tags="&lt;cc.complexity-theory&gt;&lt;derandomization&gt;&lt;p-vs-np&gt;" AnswerCount="2" CommentCount="11" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="2840" PostTypeId="2" ParentId="2839" CreationDate="2010-11-10T08:02:21.910" Score="14" Body="&lt;p&gt;There is a bit of an issue with your question. You are using the words unpredictable and secure interchangeably, which would seem to imply that you mean &quot;unpredictable to a polynomial-time bounded  adversary&quot;. This is not at all the same thing as being truly unpredictable, since clearly there is a function (in this case the PRNG) which generates them. So this is not related to any issue with proving that the sequence is 'truly' random in some sense. Rather, what you really need is that given the prior output of the PRNG it is computationally hard to predict the next number.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This formulation is clearly related to P vs NP since clearly calculating a sequence of $m$ pseudo-random numbers using the generator is in FP (the functional version of P) when the key $k$ to the PRNG is known. However given a set of $m$ sequential pseudo-random numbers outputted by the device, the problem of finding $k$ is clearly in FNP (the functional version of NP).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thus proving that it is computationally easy to generate the pseudo random numbers but computationally hard to infer the key from a sample of the output of the PRNG would imply that $FP \neq FNP$ (and hence $P\neq NP$).&lt;/p&gt;&#xA;" OwnerUserId="204" LastEditorUserId="204" LastEditDate="2010-11-10T17:04:13.753" LastActivityDate="2010-11-10T17:04:13.753" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="2841" PostTypeId="2" ParentId="2836" CreationDate="2010-11-10T08:18:28.770" Score="10" Body="&lt;p&gt;Single-instruction, multiple data (&lt;a href=&quot;http://en.wikipedia.org/wiki/SIMD&quot; rel=&quot;nofollow&quot;&gt;SIMD&lt;/a&gt;) and Multiple-instruction, multiple-data &lt;a href=&quot;http://en.wikipedia.org/wiki/MIMD&quot; rel=&quot;nofollow&quot;&gt;MIMD&lt;/a&gt; architectures have one or more streams of instructions operating on more than one stream of data. These architectures have been realised by machines such as the old Crays, Vector processors, and Connection Machines, which differ significantly from Von Neumann machines as they break away from the single instruction sequence and a single data stream model. More exotic architectures have been proposed, inspired by biology such as the &lt;a href=&quot;http://en.wikipedia.org/wiki/Cellular_architecture&quot; rel=&quot;nofollow&quot;&gt;cellular architecture&lt;/a&gt; and &lt;a href=&quot;http://en.wikipedia.org/wiki/Systolic_array&quot; rel=&quot;nofollow&quot;&gt;systolic arrays&lt;/a&gt;, named after analogy with the regular pumping of blood by the heart.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Many of the ideas of these architectures have been incorporated into modern hardware, if you consider &lt;a href=&quot;http://en.wikipedia.org/wiki/Multi-core_processor&quot; rel=&quot;nofollow&quot;&gt;multicore&lt;/a&gt; architectures with &lt;a href=&quot;http://en.wikipedia.org/wiki/Hyper-threading&quot; rel=&quot;nofollow&quot;&gt;hyper threading&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Formal models analogous to some of these include &lt;a href=&quot;http://en.wikipedia.org/wiki/Parallel_Random_Access_Machine&quot; rel=&quot;nofollow&quot;&gt;PRAM&lt;/a&gt;, the parallel random access machine, and &lt;a href=&quot;http://en.wikipedia.org/wiki/Cellular_automaton&quot; rel=&quot;nofollow&quot;&gt;cellular automata&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The less general purpose these architectures are the more difficult they are to program, except for a special class of problems; for problems in this class, highly efficient implementations are possible, as the &quot;abstractions&quot; of the problem match the topology and other features of the architecture.&lt;/p&gt;&#xA;" OwnerUserId="77" LastEditorUserId="77" LastEditDate="2010-11-10T17:49:36.803" LastActivityDate="2010-11-10T17:49:36.803" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2844" PostTypeId="1" CreationDate="2010-11-10T13:36:27.850" Score="2" ViewCount="239" Body="&lt;p&gt;This question is a generalized variant of: &lt;a href=&quot;https://math.stackexchange.com/questions/9541/hardness-of-perimeter-minimization&quot;&gt;Hardness of perimeter minimization?&lt;/a&gt;&#xA;&lt;a href=&quot;https://math.stackexchange.com/questions/9541/hardness-of-perimeter-minimization&quot;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given $xyz=C$ where $x, y,$ and $z$ are integer variables and $C$ is integer constant. Assume all integers are encoded in binary.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What is the complexity of finding $x, y, z$ such that $xy+xz+yz$ has minimum value? Is there any subexponential algorithm that solves this problem? Does the problem become easier when integers are encoded in unary?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit&lt;/strong&gt; Motivation: I'm interested in the following generalized problem:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Input&lt;/strong&gt;: intgers $C$ and $K$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Problem&lt;/strong&gt;: Find integers $x$, $y$, and $z$ such that $xyz\ge C$ and $xy+xz+yz\le K$&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="-1" LastEditDate="2017-04-13T12:19:19.363" LastActivityDate="2010-11-10T23:13:49.927" Title="Hardness of geometric area minimization problem" Tags="&lt;cc.complexity-theory&gt;" AnswerCount="1" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="2845" PostTypeId="2" ParentId="2447" CreationDate="2010-11-10T13:47:36.950" Score="6" Body="&lt;p&gt;I just read a paper that deals with &lt;strong&gt;hypergraph partitioning&lt;/strong&gt;. The Problem is defined as this, quote:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Given two parameters $k$ and $l$, $1 \leq l &amp;lt; k$, the problem [$P^l_k$] is defined as follows: Let $\mathcal{H} = (V, \mathcal{E})$ be a hypergraph and $t_1, \dots, t_k$ be non-negative integers such that $|V| = n = \sum^k_{i=1} t_i$ and $|\mathcal{E}| = m$. Does there exist a colouring (partition) of $V$ in $k$ subsets of size $t_1, \dots, t_k$ such that the vertices of each hyperedge in $\mathcal{E}$ are coloured with at most $l$ colours?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;In general, it is proven that:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$P^1_k$ is solvable in polynomial time (in $n,m$) for fixed $k \geq 2$&lt;/li&gt;&#xA;&lt;li&gt;$P^l_k$ is NP-complete for all fixed $2 \leq l &amp;lt; k$&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;If this is not &quot;jump&quot; enough, read on. For hypergraphs with disjoint hyperedges, it is shown:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$P^1_k$ is NP-complete for all fixed $k \geq 2$&lt;/li&gt;&#xA;&lt;li&gt;$P^l_k$ is solvable in linear time (in $m$) for fixed $2 \leq l &amp;lt; k$&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Laurent Lyaudet. 2010. NP-hard and linear variants of hypergraph partitioning. Theor. Comput. Sci. 411, 1 (January 2010), 10-21. &lt;a href=&quot;http://dx.doi.org/10.1016/j.tcs.2009.08.035&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://dx.doi.org/10.1016/j.tcs.2009.08.035&lt;/a&gt; &lt;/p&gt;&#xA;" OwnerUserId="1546" LastEditorUserId="49237" LastEditDate="2018-04-14T20:42:11.673" LastActivityDate="2018-04-14T20:42:11.673" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="2847" PostTypeId="2" ParentId="2844" CreationDate="2010-11-10T14:04:20.423" Score="6" Body="&lt;p&gt;Never mind. I misremembered the definition of 3-partition.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'll leave what I wrote here here, but since division into 3 subsets with equal sums is not strongly NP-complete, this doesn't work.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By 3-subset sum, I mean a: given a set of integers, find a partition into 3 subsets whose sums are all equal.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem is roughly equivalent to: let $\{p_i\}$ be the multiset of prime factors of $C$; find the best way of partitioning the multiset $\{r_i\}$ into three parts with equal sums, where $r_i = \log p_i$, for $p_i$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here's the wrong argument I had before.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;=========================&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Find a bunch of primes $p_1$, $p_2$, $\ldots$, $p_{\alpha(n)}$ so that $\log p_i \approx M\ i$ for some real $M$.  Now, take a 3-subset sum problem on integers $1 \ldots \alpha(n)$, and replace the integer $i$ with prime $p_i$. Let $C$  be the product of all the primes $p_i$ corresponding to the integers $i$ in the 3-subset sum problem. Then, any $x$, $y$, $z$ with $x \approx y \approx z$ and $xyz = C$ gives a good partition of the integers in the 3-subset sum problem. Let $p_x$, $p_y$, and $p_z$ be the multisets of primes making up the prime factorization of $x$, $y$, and $z$, respectively. If $x$, $y$, and $z$ are close, $\log x \approx \log y \approx \log z$ means $ \sum_{p_i \in p_x} \log p_i \approx \sum_{p_i \in p_y} \log p_i \approx \sum_{p_i \in p_z} \log p_i$, and so you have a good solution to the 3-subset sum problem (and if you've chosen the primes right, you can tell from the optimal $x$, $y$ and $z$ whether or not the original 3-subset-sum problem is solvable). Since you know what the primes you used were, factoring $x$, $y$ and $z$ can be done by trial division to recover the partition. &lt;/p&gt;&#xA;" OwnerUserId="1677" LastEditorUserId="1677" LastEditDate="2010-11-10T23:13:49.927" LastActivityDate="2010-11-10T23:13:49.927" CommentCount="8" ContentLicense="CC BY-SA 2.5" />
  <row Id="2848" PostTypeId="2" ParentId="2839" CreationDate="2010-11-10T15:53:13.263" Score="10" Body="&lt;p&gt;Every cryptographically-secure pseudo-random bit generator &lt;span class=&quot;math-container&quot;&gt;$G$&lt;/span&gt; is a one-way function; since given the output &lt;span class=&quot;math-container&quot;&gt;$y$&lt;/span&gt; of &lt;span class=&quot;math-container&quot;&gt;$G(\cdot)$&lt;/span&gt; on some input (seed) &lt;span class=&quot;math-container&quot;&gt;$s$&lt;/span&gt;, it is computationally infeasible to obtain &lt;span class=&quot;math-container&quot;&gt;$s$&lt;/span&gt; from &lt;span class=&quot;math-container&quot;&gt;$y$&lt;/span&gt;. (Otherwise, the generator is not cryptographically-secure). So we have:&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;cryptographically-secure pseudo-random bit generator exists&lt;/strong&gt; &lt;span class=&quot;math-container&quot;&gt;$\Rightarrow$&lt;/span&gt; &lt;strong&gt;one-way functions exist&lt;/strong&gt;.&lt;/p&gt;&#xA;&lt;p&gt;The existence of &lt;strong&gt;one-way functions&lt;/strong&gt; is a stronger assumption than &lt;span class=&quot;math-container&quot;&gt;$\rm{P}\ne\rm{NP}$&lt;/span&gt;. That is:&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;one-way functions exist&lt;/strong&gt; &lt;span class=&quot;math-container&quot;&gt;$\Rightarrow$&lt;/span&gt; &lt;span class=&quot;math-container&quot;&gt;$\rm{P}\ne\rm{NP}$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;p&gt;(For more info on this, see the &lt;a href=&quot;https://cstheory.stackexchange.com/q/1026/873&quot;&gt;Status of Impagliazzo's Worlds&lt;/a&gt;.)&lt;/p&gt;&#xA;&lt;hr /&gt;&#xA;&lt;h3&gt;Edit:&lt;/h3&gt;&#xA;&lt;p&gt;&lt;a href=&quot;http://portal.acm.org/citation.cfm?id=73007.73009&quot; rel=&quot;nofollow noreferrer&quot;&gt;Impagliazzo, Levin, and Luby&lt;/a&gt; showed that the reverse holds under non-uniform assumptions; that is:&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;one-way functions exist&lt;/strong&gt; &lt;span class=&quot;math-container&quot;&gt;$\Rightarrow$&lt;/span&gt; &lt;strong&gt;cryptographically-secure pseudo-random bit generator exists&lt;/strong&gt;.&lt;/p&gt;&#xA;&lt;p&gt;(here, the security is with reference to non-uniform adversaries.)&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&quot;http://portal.acm.org/citation.cfm?id=100216.100270&quot; rel=&quot;nofollow noreferrer&quot;&gt;Håstad&lt;/a&gt; generalized this to uniform adversaries.&lt;/p&gt;&#xA;&lt;p&gt;Joining forces, &lt;a href=&quot;http://link.aip.org/link/?SMJCAT/28/1364/1&quot; rel=&quot;nofollow noreferrer&quot;&gt;Håstad, Impagliazzo, Levin, and Luby&lt;/a&gt; showed that:&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;cryptographically-secure pseudo-random bit generator exists&lt;/strong&gt; &lt;em&gt;if and only if&lt;/em&gt; &lt;strong&gt;one-way functions exist&lt;/strong&gt;.&lt;/p&gt;&#xA;" OwnerUserId="873" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2010-11-10T17:47:01.470" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2851" PostTypeId="2" ParentId="2802" CreationDate="2010-11-10T17:22:17.517" Score="12" Body="&lt;p&gt;The Recursion Theorem certainly seems counter-intuitive the first time you see it. Essentially it says that when you are describing a Turing Machine, you can assume it has access to its own description. In other words, I can build Turing Machines like:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;TM M accepts n iff n is a multiple of the number of times &quot;1&quot; appears in the string representation of M.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;TM N takes in a number n and outputs n copies of itself.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that the &quot;string representation&quot; here is not referring to the informal text description, but rather an encoding.&lt;/p&gt;&#xA;" OwnerUserId="319" LastActivityDate="2010-11-10T17:22:17.517" CommentCount="0" CommunityOwnedDate="2010-11-10T17:22:17.517" ContentLicense="CC BY-SA 2.5" />
  <row Id="2852" PostTypeId="2" ParentId="1399" CreationDate="2010-11-10T18:24:25.027" Score="5" Body="&lt;p&gt;On our regular 666 research seminar we came up with the following proof.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We start with some definitions. Let P be our poset. For simplicity, suppose that none of the weights sum up to zero.&#xA;Denote the weight of a vertex by w(x) and the sum of the weights of a set by w(X).&#xA;We say that a set X is Y-up (closed) if it is contained in Y and every element of Y that is bigger than an element of X is also in X.&#xA;Similarly, say that a set X is Y-down if it is contained in Y and every element of Y that is smaller than an element of X is also in X.&#xA;In this language the set of marked elements must be always P-down.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We prove by contradiction. Take the shortest mark/unmark sequence that marks every element. We call such sequences full. At any given point, consider the set of elements that were marked before but are now unmarked. Denote this set by U.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Claim: w(U)&gt;0.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Proof: We prove that the weight of any U-up set, X, is positive. The proof is by induction on the size of X.&#xA;If there is an X-down set, Y, such that w(Y)&gt;0, then since by induction we know that w(X\Y)&gt;0 (since it is X-up), we also have w(X)&gt;0.&#xA;If for every X-down set, Y, we have w(Y)&amp;lt;0, then by deleting up to this point all the markings and unmarkings of the elements of X from our sequence, we get a shorter full sequence. We are done with the proof of the claim.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now suppose that we have a full sequence where w(U)&gt;0 at any point for the set U of currently unmarked elements. Take the sequence that we obtain from this by taking the first marking of every element and never unmarking anything. It is clear that this will also be a full sequence satisfying that the set of marked elements is always P-down. Moreover, the sum of the weights will be always at least as much as in the original sequence since at any given time the difference is w(U). We are done.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;With this method one can even prove that if instead of marking the whole of P, we only want to mark a subset of P, then it can be done with a sequence of markings followed by a sequence of unmarkings. The proof is the same except that at the end some elements, U, stay unmarked but these can be moved to the end of the sequence as the weight of any U-up set is positive.&lt;/p&gt;&#xA;" OwnerUserId="419" LastEditorUserId="419" LastEditDate="2010-11-11T06:10:07.393" LastActivityDate="2010-11-11T06:10:07.393" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="2853" PostTypeId="1" AcceptedAnswerId="2854" CreationDate="2010-11-10T19:01:23.457" Score="43" ViewCount="3239" Body="&lt;p&gt;This is a question related to &lt;a href=&quot;https://cstheory.stackexchange.com/questions/2815/what-do-we-know-about-restricted-versions-of-the-halting-problem&quot;&gt;this one&lt;/a&gt;. Putting it again in a much simpler form after a lot of discussion there, that it felt like a totally different question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The classical proof of the undecidability of the halting problem depends on demonstrating a contradiction when trying to apply a hypothetical HALT decider to itself. I think that this is just denoting the impossibility of having a HALT decider that decides whether &lt;strong&gt;itself&lt;/strong&gt; will halt or not, but doesn't give any information beyond that about the decidability of halting of any &lt;strong&gt;other&lt;/strong&gt; cases.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So the question is&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there a proof that the halting problem is undecidable that doesn't depend on showing that HALT can not decide itself, nor depends on the diagonalization argument ?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Small edit: I will commit to the original phrasing of the question, which is asking for a proof that doesn't depend on diagonlization at all (rather than a just requiring it to not depend on diagonalization that depends on HALT).&lt;/p&gt;&#xA;" OwnerUserId="201" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:30.623" LastActivityDate="2011-07-18T18:58:46.867" Title="Are there any proofs the undecidability of the halting problem that does not depend on self-referencing or diagonalization ?" Tags="&lt;computability&gt;&lt;lo.logic&gt;&lt;proofs&gt;" AnswerCount="4" CommentCount="7" FavoriteCount="17" ContentLicense="CC BY-SA 2.5" />
  <row Id="2854" PostTypeId="2" ParentId="2853" CreationDate="2010-11-10T19:24:23.990" Score="31" Body="&lt;p&gt;Yes, there are such proofs in computability theory (a.k.a. recursion theory).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can first show that the halting problem (the set $0'$) can be used to compute a set $G\subseteq\mathbb N$ that is &lt;em&gt;1-generic&lt;/em&gt; meaning that in a sense each $\Sigma^0_1$ fact about $G$ is decided by a finite prefix of $G$. Then it is easy to prove that such a set $G$ cannot be computable (i.e., decidable). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;We could replace 1-&lt;a href=&quot;http://en.wikipedia.org/wiki/Forcing_%28recursion_theory%29&quot;&gt;generic&lt;/a&gt; here by 1-random, i.e., &lt;a href=&quot;http://en.wikipedia.org/wiki/Algorithmically_random_sequence&quot;&gt;&lt;em&gt;Martin-Löf random&lt;/em&gt;&lt;/a&gt;, for the same effect. This uses the &lt;a href=&quot;http://en.wikipedia.org/wiki/Low_basis_theorem&quot;&gt;Jockusch-Soare Low Basis Theorem&lt;/a&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Warning: one might consider just showing that $0&amp;#39;$ computes &lt;a href=&quot;http://en.wikipedia.org/wiki/Chaitin%27s_Omega&quot;&gt;Chaitin's $\Omega$&lt;/a&gt;, which is 1-random, but here we have to be careful about whether the proof that $\Omega$ is 1-random relies on the halting problem being undecidable! Therefore it's safer to just use the Low Basis Theorem). &lt;/p&gt;&#xA;" OwnerUserId="1993" LastEditorUserId="186" LastEditDate="2011-07-18T18:58:46.867" LastActivityDate="2011-07-18T18:58:46.867" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="2856" PostTypeId="2" ParentId="1198" CreationDate="2010-11-10T21:13:19.627" Score="13" Body="&lt;p&gt;I suggest the Channel 9 lectures: &lt;a href=&quot;http://channel9.msdn.com/Tags/c9+lectures&quot;&gt;http://channel9.msdn.com/Tags/c9+lectures&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I like specially the lectures from Erik Meijer on functional programming.&lt;/p&gt;&#xA;" LastActivityDate="2010-11-10T21:13:19.627" CommentCount="1" CommunityOwnedDate="2010-11-10T21:13:19.627" ContentLicense="CC BY-SA 2.5" />
  <row Id="2858" PostTypeId="2" ParentId="2853" CreationDate="2010-11-10T21:49:47.300" Score="5" Body="&lt;p&gt;Reposted from my comment as per request:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Start with the observation that there are undecidable problems (simple cardinality argument), and moreover that there is an undecidable problem P that has a TM M that recognizes its members (but may not terminate on non-members). Now, solving HALT(M) gives you a decider for P. We first check if M halts on x. If it does, we run it and return the same as M. Otherwise, we reject, since M halts on every member of P. This is now a contradiction since we assumed that P was undecidable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note: He clarified that he was looking for an argument that avoided diagonalization using HALT directly, not an argument that avoided diagonalization entirely.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT: This argument is stuck. Can you show directly that RE - REC is non-empty, besides for showing that HALT is in there?&lt;/p&gt;&#xA;" OwnerUserId="319" LastEditorUserId="319" LastEditDate="2010-11-11T19:41:28.763" LastActivityDate="2010-11-11T19:41:28.763" CommentCount="8" ContentLicense="CC BY-SA 2.5" />
  <row Id="2859" PostTypeId="1" CreationDate="2010-11-10T21:53:30.633" Score="13" ViewCount="393" Body="&lt;p&gt;Let $p(x_1,\ldots,x_n)$ be a multi-variate polynomial with coefficients over a field $F$. The multilinearization of $p$, denoted by $\hat{p}$, is the result of repeatedly replacing each $x_i^d$ with $d &gt; 1$ by $x_i$. The result is obviously a multilinear polynomial.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider the following problem: given an arithmetic circuit $C(x_1,\ldots,x_n)$ over $F$ and given field elements $a_1,\ldots,a_n$, compute $\hat{C}(a_1,\ldots,a_n)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Question: Assuming field-arithmetic can be done in unit time, is there a polynomial-time algorithm for this? Added later: I would also be interested in the special case where $C$ is actually a formula (a circuit of fan-out $1$).&lt;/p&gt;&#xA;" OwnerUserId="1509" LastEditorUserId="1509" LastEditDate="2010-11-10T22:36:10.493" LastActivityDate="2010-11-15T02:10:50.960" Title="Evaluating the multilinearization of an arithmetic circuit?" Tags="&lt;cc.complexity-theory&gt;&lt;polynomials&gt;" AnswerCount="2" CommentCount="12" FavoriteCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="2861" PostTypeId="1" CreationDate="2010-11-10T23:00:55.863" Score="11" ViewCount="252" Body="&lt;p&gt;Consider a graph with $n$ vertices and $m$ edges. The vertices are labelled with real variables $x_i$, where $x_1=0$ is fixed. Each edge represents a &quot;measurement&quot;: for edge $(u,v)$, I obtain a measurement $z \approx x_u - x_v$. More precisely, $z$ is a truly random quantity in $(x_u - x_v) \pm 1$, uniformly distributed and independent of all other measurements (edges).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am given the graph and the measurements, with the distribution promise for above. I want to &quot;solve&quot; the system and obtain the vector of $x_i$'s. Is there some body of work on problems of this type? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Actually, I want to solve an even simpler problem: somebody points me to vertices $s$ and $t$, and I have to compute $x_s - x_t$. There are many things to try, like finding a shortest path, or finding as many disjoint paths as possible and averaging them (weighted by the inverse of the square root of the length). Is there an &quot;optimal&quot; answer?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem of computing $x_s - x_t$ is itself not completely defined (e.g. should I assume a prior on the variables?)&lt;/p&gt;&#xA;" OwnerUserId="106" LastEditorUserId="80" LastEditDate="2010-11-10T23:13:08.493" LastActivityDate="2010-11-11T14:42:18.437" Title="System of &quot;stochastic equations&quot;" Tags="&lt;ds.algorithms&gt;&lt;graph-algorithms&gt;" AnswerCount="2" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2862" PostTypeId="2" ParentId="1015" CreationDate="2010-11-10T23:15:31.480" Score="17" Body="&lt;p&gt;Some PCP open problems:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;The Sliding Scale Conjecture.&lt;/strong&gt; In PCP we want the error of the verifier to be as small as possible. &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=195467&quot;&gt;BGLR&lt;/a&gt; conjectured that the error can go all the way to $2^{-\Theta(r)}$ where $r$ is the randomness (there is clearly a $2^{-r}$ lower bound). The price you pay for decreasing the error is only increasing the alphabet appropriately.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;More formally: the conjecture is that&#xA;there exists a c, such that for all natural r, for all $\varepsilon \geq 2^{-cr}$, there is a PCP verifier that uses r randomness to make two queries to its proof, has perfect completeness and soundness error $\varepsilon$. The alphabet of the proof depends only on $1/\varepsilon$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For two queries, the best known error is $1/r^{\beta}$ for some specific $\beta&amp;gt;0$ (M-Raz, 2008).&#xA;One can also achieve error $2^{-r^{\alpha}}$ for any $\alpha &amp;lt;1$, with a number of queries that depends on $\alpha$ (DFKRS). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Lower bounds on c (i.e., approximation algorithms) are also sought after. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;See &lt;a href=&quot;http://www.wisdom.weizmann.ac.il/~dinuri/mypapers/D08.pdf&quot;&gt;Irit Dinur's survey&lt;/a&gt; for more details.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Linear length PCP.&lt;/strong&gt; There are high distance error correcting codes with linear length. Is there a PCP with linear length? &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Specifically, we want a verifier for satisfiability of a SAT formula that has constant number of queries, constant alphabet and constant error, and accesses a proof of length linear in the length of the formula? This is open even for error close to 1 (but better than the trivial $1-1/n$), sub-exponential alphabet, and sub-linear number of queries. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The best known length is $n polylog n$ for constant error, and $n \cdot 2^{(log n)^{1-\beta}}$ for sub-constant error.&lt;/p&gt;&#xA;" OwnerUserId="1621" LastEditorUserId="1621" LastEditDate="2010-11-15T16:41:29.097" LastActivityDate="2010-11-15T16:41:29.097" CommentCount="0" CommunityOwnedDate="2010-11-10T23:15:31.480" ContentLicense="CC BY-SA 2.5" />
  <row Id="2863" PostTypeId="1" AcceptedAnswerId="2867" CreationDate="2010-11-10T23:23:06.917" Score="16" ViewCount="948" Body="&lt;p&gt;A function $f \colon \{0, 1\}^* \to \{0, 1\}^*$ is one-way if $f$ can be computed by a polynomial time algorithm, but for every randomized polynomial time algorithm $A$,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\Pr[f(A(f(x))) = f(x)] &amp;lt; 1/p(n)$&#xD;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;for every polynomial $p(n)$ and sufficiently large $n$, assuming that $x$ is chosen uniformly from $\{ 0, 1 \}^n$. The probability is taken over the choice of $x$ and the randomness of $A$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So... do &quot;One Way Functions&quot; have any applications outside cryptography? If yes, what are they?&lt;/p&gt;&#xA;" OwnerUserId="13749" LastEditorUserId="495" LastEditDate="2013-08-26T20:05:44.353" LastActivityDate="2013-08-26T20:05:44.353" Title="Do &quot;One Way Functions&quot; have any applications outside crypto ?" Tags="&lt;cc.complexity-theory&gt;&lt;cr.crypto-security&gt;&lt;one-way-function&gt;" AnswerCount="5" CommentCount="5" FavoriteCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="2864" PostTypeId="2" ParentId="2861" CreationDate="2010-11-10T23:34:01.440" Score="3" Body="&lt;p&gt;The area you want to look at for answers to is machine learning. You have desribed a graphical model. I think in this case methods as easy as &lt;a href=&quot;http://en.wikipedia.org/wiki/Belief_propagation&quot; rel=&quot;nofollow&quot;&gt;Belief Propagation&lt;/a&gt; should suffice.&lt;/p&gt;&#xA;" OwnerUserId="1546" LastActivityDate="2010-11-10T23:34:01.440" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2865" PostTypeId="2" ParentId="1015" CreationDate="2010-11-11T02:25:41.110" Score="14" Body="&lt;p&gt;There a number of open problems in proof complexity, I will mention only one which remains open even after some experts spent years on trying to settle it. It is the proof complexity version of the state in circuit complexity. (See [Segerlind07] if you want to see more open problems in proof complexity.)&lt;/p&gt;&#xA;&lt;h2&gt;Open&lt;/h2&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Prove superpolynomial proof size lowerbounds for the proof system &lt;span class=&quot;math-container&quot;&gt;$AC^0[2]$&lt;/span&gt;-Frege.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$AC^0[2]$&lt;/span&gt;-Frege (a.k.a. d-Frege+&lt;span class=&quot;math-container&quot;&gt;$CG_2$&lt;/span&gt;) is the proposition proof system that only allows &lt;span class=&quot;math-container&quot;&gt;$AC^0[2]$&lt;/span&gt; (&lt;span class=&quot;math-container&quot;&gt;$AC^0$&lt;/span&gt; with &lt;span class=&quot;math-container&quot;&gt;$\bmod 2$&lt;/span&gt; gates) circuits.&lt;/p&gt;&#xA;&lt;h2&gt;Known&lt;/h2&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;There are exponential proof size lowerbound for &lt;span class=&quot;math-container&quot;&gt;$AC^0$&lt;/span&gt;-Frege (a.k.a. constant depth Frege, d-Frege) for &lt;span class=&quot;math-container&quot;&gt;$PHP^{n+1}_{n}$&lt;/span&gt; (propositional formulation of the Pigeon-Hole Principle with &lt;span class=&quot;math-container&quot;&gt;$n+1$&lt;/span&gt; pigeons and &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt; holes). There are also exponential lowerbounds for &lt;span class=&quot;math-container&quot;&gt;$AC^0$&lt;/span&gt;-Frege + &lt;span class=&quot;math-container&quot;&gt;$CA_p$&lt;/span&gt; (constant depth Frege with counting &lt;span class=&quot;math-container&quot;&gt;$\bmod p$&lt;/span&gt; axioms). It is also known that &lt;span class=&quot;math-container&quot;&gt;$AC^0$&lt;/span&gt;-Frege + &lt;span class=&quot;math-container&quot;&gt;$CA_m$&lt;/span&gt; are not polynomially bounded.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;There are exponential circuit size lowerbounds for the corresponding circuit class namely &lt;span class=&quot;math-container&quot;&gt;$AC^0[2]$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;hr /&gt;&#xA;&lt;p&gt;References:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Nathan Segerlind, &amp;quot;The Complexity of Propositional Proofs&amp;quot;, Bulletin of Symbolic Logic 13(4), 2007&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="186" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2010-11-11T02:25:41.110" CommentCount="0" CommunityOwnedDate="2010-11-11T02:25:41.110" ContentLicense="CC BY-SA 2.5" />
  <row Id="2867" PostTypeId="2" ParentId="2863" CreationDate="2010-11-11T03:05:16.367" Score="23" Body="&lt;p&gt;One-way functions show up crucially in the Razborov-Rudich natural proofs result. I wouldn't consider circuit lower bounds as part of &quot;cryptography&quot;, so maybe this fits your criteria. &lt;/p&gt;&#xA;" OwnerUserId="149" LastActivityDate="2010-11-11T03:05:16.367" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2868" PostTypeId="2" ParentId="2802" CreationDate="2010-11-11T03:16:29.600" Score="20" Body="&lt;p&gt;SAT has a polynomial-time algorithm only if P=NP. We don't know whether P=NP. However, I can write down an algorithm for SAT which is polynomial-time if P=NP is true. I don't know the correct reference for this, but the &lt;a href=&quot;http://en.wikipedia.org/wiki/P_versus_NP_problem#Polynomial-time_algorithms&quot;&gt;wikipedia page&lt;/a&gt; gives such an algorithm and credits Levin.&lt;/p&gt;&#xA;" OwnerUserId="149" LastActivityDate="2010-11-11T03:16:29.600" CommentCount="2" CommunityOwnedDate="2010-11-11T03:16:29.600" ContentLicense="CC BY-SA 2.5" />
  <row Id="2869" PostTypeId="2" ParentId="2859" CreationDate="2010-11-11T05:12:14.233" Score="12" Body="&lt;p&gt;In the case that the field $F$ is of size at least $2n$, I think this problem is hard. More specifically, I think that if the above can be efficiently solved for $F$ this large, then CNF-SAT has efficient randomized algorithms. Say we are given a CNF formula $\varphi$. One can easily come up with an arithmetic circuit $C$ that computes an ``arithmetization'' $p$ of $\varphi$, where the polynomial $p$ agrees with the formula $\varphi$ on $0$-$1$ inputs. Consider the multilinearization $q$ of $p$. Note that $q$ agrees with $p$ and hence $\varphi$ on $\{0,1\}^n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I claim that $q$ is non-zero iff $\varphi$ is satisfiable. Clearly, if $q=0$, then $\varphi$ cannot be satisfied. For the converse, one can show that any non-zero multilinear polynomial cannot vanish on all of $\{0,1\}^n$. This implies that a non-zero $q$ (and hence the corresponding $\varphi$) does not vanish at some input in $\{0,1\}^n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Therefore, checking for satisfiability of $\varphi$ is equivalent to checking if $q$ is non-zero. Say, now, that we could evaluate $q$ over a large field $F$. Then, using the Schwartz-Zippel Lemma, we could identity-test $q$ using an efficient randomized algorithm and check if it is the zero polynomial (the size of $F$ is used to upper bound the error in the Schwartz-Zippel Lemma).&lt;/p&gt;&#xA;" OwnerUserId="17464" LastEditorUserId="17464" LastEditDate="2010-11-11T05:22:51.503" LastActivityDate="2010-11-11T05:22:51.503" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="2870" PostTypeId="2" ParentId="2863" CreationDate="2010-11-11T07:16:31.597" Score="5" Body="&lt;p&gt;One-way functions have an application in Kolmogorov Complexity:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The symmetry of information theorem states that the information contained in a string $x$ about a string $y$ is symmetric up to a logarithmic additive error. Similarly, The polynomial-time bounded symmetry of information conjecture states that&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$K^q(x, y) = K^q(x) + K^q(y|x) + O(\log n)$ for any polynomial $q$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If one-way functions exist, then the polynomial-time bounded symmetry of information conjecture is false.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;L. Longpre and S. Mocas. Symmetry of information and one-way functions.&#xA;Information processing Letters, 46(2):95{100, 1993&lt;/p&gt;&#xA;&#xA;&lt;p&gt;L. Longpre and O. Watanabe. On symmetry of information and polynomial&#xA;time invertibility. Information and Computation, 121(1):14{22, 1995&lt;/p&gt;&#xA;" OwnerUserId="495" LastActivityDate="2010-11-11T07:16:31.597" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2871" PostTypeId="2" ParentId="2863" CreationDate="2010-11-11T08:43:20.533" Score="8" Body="&lt;p&gt;Yes, a &lt;a href=&quot;http://en.wikipedia.org/wiki/Hash_table&quot; rel=&quot;nofollow noreferrer&quot;&gt;hash table&lt;/a&gt; or a hash map requires a one-way function. Also duplicate detection (see &lt;a href=&quot;https://stackoverflow.com/q/862346/57428&quot;&gt;this&lt;/a&gt; and &lt;a href=&quot;https://stackoverflow.com/q/4123818/57428&quot;&gt;this&lt;/a&gt;) can be done very efficiently using one-way functions. Both cases require &quot;good&quot; (with low chances of collision) one-way functions while &lt;a href=&quot;https://stackoverflow.com/q/4032209/57428&quot;&gt;cryptographic strength is usually not required&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="2142" LastEditorUserId="-1" LastEditDate="2017-05-23T12:40:09.333" LastActivityDate="2010-11-11T08:43:20.533" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="2872" PostTypeId="2" ParentId="2794" CreationDate="2010-11-11T09:27:53.930" Score="9" Body="&lt;p&gt;&lt;strike&gt;It seems I had missed &lt;a href=&quot;http://dx.doi.org/10.1016/0166-218X(85)90008-3&quot; rel=&quot;nofollow&quot;&gt;this other paper by Dyer and Frieze&lt;/a&gt;, where they prove that partitioning the edges of a planar bipartite graph into connected components with $k$ edges is NP-complete for any fixed $k\geq 3$ (Theorem 3.1 p. 145). They then comment that the problem can be shown to remain NP-complete for $k=3$ if all vertices have degree $2$ or $3$, which unless I parsed this the wrong way includes my problem (since the input is bipartite, the graph contains no odd cycle and in particular no triangle, which means that the only subgraphs we can use are claws and paths).&lt;/strike&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This wasn't actually the end of the story: if the cubic graph is bipartite, then it's easy to partition its edge set using only claws, by selecting one set of the bipartition and making it a set of &quot;claw centers&quot;. The general problem is indeed hard, which can be proved using a reduction from CUBIC PLANAR MONOTONE 1-IN-3 SATISFIABILITY. All details are &lt;a href=&quot;http://arxiv.org/abs/1604.08603&quot; rel=&quot;nofollow&quot;&gt;freely accessible on arxiv&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="775" LastEditorUserId="775" LastEditDate="2016-05-02T16:12:06.610" LastActivityDate="2016-05-02T16:12:06.610" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="2873" PostTypeId="1" AcceptedAnswerId="2875" CreationDate="2010-11-11T10:55:38.050" Score="22" ViewCount="2182" Body="&lt;p&gt;After reading &lt;a href=&quot;https://cstheory.stackexchange.com/questions/189/algorithms-from-the-book/219#219&quot;&gt;this answer&lt;/a&gt; a while ago, I took an interest in fully homomorphic encryption. After reading the introduction of Gentry's thesis, I started wondering if his encryption scheme could be used for oblivious code execution as defined in the third paragraph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In a fully homomorphic encryption scheme we typically encrypt some data, send it to a hostile environment where a certain function is computed on the data, the result of which is then sent back (encrypted), without the adversary finding out what the received data or the result of the function is.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;With oblivious code execution I mean that we encrypt a piece of code $C$ designed to solve some problem $P$ and send it to a hostile environment. The adversary wants to use $C$ to solve $P$, but we don't want him to know how $C$ works. If he has an input $I$ for $P$, he can encrypt $I$ and then use (some encryption scheme on) $C$ with $I$, which then returns the (not encrypted) output $O$ (the solution of $P$ for the input $I$). The encryption scheme makes sure the adversary never finds out how the piece of code works, ie to him it works like an oracle does.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The main practical use (I can think of) for such an encryption scheme would be to make piracy more difficult or even impossible.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The reason I think this may be possible using a fully homomorphic encryption scheme is because we can execute arbitrary circuits on encrypted data, in particular an universal Turing machine. We could then encrypt the code as if it were data and then use the circuit for an universal Turing machine on this encrypted data to execute the code.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I pose this as a question here because I don't know whether this idea is usable: I never got much further than the introduction of Gentry's thesis, and my knowledge about cryptography is limited. Also, I don't know if there already is a often-used term for oblivious code execution: I tried searching Google for the idea but not knowing the proper term I found nothing.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are multiple problems I can think of which may cause problems with this approach. Firstly, if we use a fully homomorphic encryption without modification, the result of the computation ($O$) would be encrypted. It would therefore be useless for the adversary who wishes to use your code to solve $P$. While this could still be useful for, say, cloud computing, this is not what I want to achieve.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Secondly, because we're using circuits and not arbitrary Turing machines, we can't use arbitrary amounts of memory: we're limited to a predetermined amount of memory. This means that if we want to run a program in this way, it's memory footprint will always be the same, namely it's peak memory usage.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Lastly, the constants involved would almost certainly kill off any practical use of such a system, but I think the idea is interesting nonetheless.&lt;/p&gt;&#xA;" OwnerUserId="988" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2010-12-13T02:50:20.183" Title="Can a fully homomorphic encryption be used for oblivious code execution?" Tags="&lt;cr.crypto-security&gt;&lt;homomorphic-encryption&gt;&lt;obfuscation&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="10" ContentLicense="CC BY-SA 2.5" />
  <row Id="2875" PostTypeId="2" ParentId="2873" CreationDate="2010-11-11T11:29:43.620" Score="17" Body="&lt;p&gt;Unfortunately, there is a result that theoretically forbids &amp;quot;oblivious code execution&amp;quot;:&lt;/p&gt;&#xA;&lt;p&gt;Boaz Barak, Oded Goldreich, Russell Impagliazzo, Steven Rudich, Amit Sahai, Salil Vadhan, and Ke Yang. &lt;strong&gt;On the (Im)possibility of Obfuscating Programs&lt;/strong&gt;, &lt;em&gt;ADVANCES IN CRYPTOLOGY — CRYPTO 2001.&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;Here are the links:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.wisdom.weizmann.ac.il/%7Eoded/p_obfuscate.html&quot; rel=&quot;noreferrer&quot;&gt;http://www.wisdom.weizmann.ac.il/~oded/p_obfuscate.html&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://eprint.iacr.org/2001/069&quot; rel=&quot;noreferrer&quot;&gt;http://eprint.iacr.org/2001/069&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.springerlink.com/content/telalqdcx3n600uf/&quot; rel=&quot;noreferrer&quot;&gt;http://www.springerlink.com/content/telalqdcx3n600uf/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;The abstract reads:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Informally, an obfuscator &lt;span class=&quot;math-container&quot;&gt;$\cal O$&lt;/span&gt; is an (efficient, probabilistic) &amp;quot;compiler&amp;quot; that takes as input a program (or circuit) &lt;span class=&quot;math-container&quot;&gt;$P$&lt;/span&gt; and produces a new program &lt;span class=&quot;math-container&quot;&gt;$\cal O(P)$&lt;/span&gt; that has the same functionality as &lt;span class=&quot;math-container&quot;&gt;$P$&lt;/span&gt; yet is &amp;quot;unreadable&amp;quot; in some sense. Obfuscators, if they exist, would have a wide variety of cryptographic and complexity-theoretic applications, ranging from software protection to homomorphic encryption to complexity-theoretic analogues of Rice's theorem. Most of these applications are based on an interpretation of the &amp;quot;unreadability&amp;quot; condition in obfuscation as meaning that &lt;span class=&quot;math-container&quot;&gt;$\cal O(P)$&lt;/span&gt; is a &amp;quot;virtual black box,&amp;quot; in the sense that anything one can efficiently compute given &lt;span class=&quot;math-container&quot;&gt;$\cal O(P)$&lt;/span&gt;, one could also efficiently compute given oracle access to &lt;span class=&quot;math-container&quot;&gt;$P$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;p&gt;In this work, we initiate a theoretical investigation of obfuscation. Our main result is that, even under very weak formalizations of the above intuition, obfuscation is impossible. We prove this by constructing a family of functions &lt;span class=&quot;math-container&quot;&gt;$\cal F$&lt;/span&gt; that are inherently unobfuscatable in the following sense: there is a predicate &lt;span class=&quot;math-container&quot;&gt;$\pi$&lt;/span&gt; such that (a) given any program that computes a function &lt;span class=&quot;math-container&quot;&gt;$f$&lt;/span&gt; in &lt;span class=&quot;math-container&quot;&gt;$\cal F$&lt;/span&gt;, the value &lt;span class=&quot;math-container&quot;&gt;$\pi(f)$&lt;/span&gt; can be efficiently computed, yet (b) given oracle access to a (randomly selected) function &lt;span class=&quot;math-container&quot;&gt;$f$&lt;/span&gt; in &lt;span class=&quot;math-container&quot;&gt;$\cal F$&lt;/span&gt;, no efficient algorithm can compute &lt;span class=&quot;math-container&quot;&gt;$\pi(f)$&lt;/span&gt; much better than random guessing.&lt;/p&gt;&#xA;&lt;p&gt;We extend our impossibility result in a number of ways, including even obfuscators that (a) are not necessarily computable in polynomial time, (b) only approximately preserve the functionality, and (c) only need to work for very restricted models of computation &lt;span class=&quot;math-container&quot;&gt;$\rm{TC}$&lt;/span&gt; &lt;span class=&quot;math-container&quot;&gt;$0$&lt;/span&gt;). We also rule out several potential applications of obfuscators, by constructing &amp;quot;unobfuscatable&amp;quot; signature schemes, encryption schemes, and pseudorandom function families.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="873" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2010-11-11T11:29:43.620" CommentCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="2876" PostTypeId="2" ParentId="2785" CreationDate="2010-11-11T11:52:33.203" Score="9" Body="&lt;p&gt;It seems to me that the direction you should consider looking in revolves around &lt;em&gt;game semantics&lt;/em&gt; for general references and the related semantics for linear logic,&#xA;such as those based on &lt;a href=&quot;http://www.pps.jussieu.fr/~mellies/papers/ag3-ctcs.pdf&quot;&gt;Conway games&lt;/a&gt;.  &lt;a href=&quot;http://www.pps.jussieu.fr/~mellies/papers/mfps2009-references.pdf&quot;&gt;An algebraic account of references in game semantics&lt;/a&gt; by Paul-André Melliès and Nicolas Tabareau is probably the best place to start. In this paper linear logic is relaxed to so-called tensor logic to get things to work, so it is not quite the setting you want. But they do rely on Conway games, so there is certainly a connection with models of linear logic. They also do not really exploit linearity as in linear types, but the machinery is there to do so if you want to, I believe.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The work of &lt;a href=&quot;http://www.cogs.susx.ac.uk/users/jiml&quot;&gt;Jim Laird&lt;/a&gt; (such as &lt;a href=&quot;http://www.cogs.susx.ac.uk/users/jiml/pointers3.pdf&quot;&gt;A Game Semantics of Names and Pointers&lt;/a&gt;) and &lt;a href=&quot;http://www.cs.bath.ac.uk/~gam23/papers.html&quot;&gt;Guy McCusker&lt;/a&gt; may also contribute to your quest. The recent interesting thesis &lt;a href=&quot;http://homepages.inf.ed.ac.uk/jrl/Eriskay/wolverson-thesis-final.pdf&quot;&gt;Game semantics for an object-oriented language&lt;/a&gt; by Nicholas Wolverson pushes these ideas further in an OO setting. He considers in detail &lt;em&gt;linear threading&lt;/em&gt;, only one operation active at a time, and describes how to add &lt;em&gt;linear classes&lt;/em&gt;. Both rely on linear typing. &#xA;Again, however, the underlying model is not strictly a model of linear logic, but it's close.&lt;/p&gt;&#xA;" OwnerUserId="77" LastActivityDate="2010-11-11T11:52:33.203" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="2877" PostTypeId="1" AcceptedAnswerId="2881" CreationDate="2010-11-11T12:00:15.577" Score="8" ViewCount="7772" Body="&lt;p&gt;we all know and love s-t minimum cut algorithms, but they all cut through the edges in the graph. Are there any variants that cuts through nodes?&lt;/p&gt;&#xA;" OwnerUserId="2146" LastEditorUserId="2146" LastEditDate="2010-11-11T15:04:37.430" LastActivityDate="2015-11-04T21:22:20.157" Title="Minimum cut through vertices/nodes - not edges" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;max-flow-min-cut&gt;" AnswerCount="3" CommentCount="3" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="2878" PostTypeId="2" ParentId="2877" CreationDate="2010-11-11T12:17:20.750" Score="6" Body="&lt;p&gt;You are looking for &lt;a href=&quot;http://www.ensta.fr/~diam/ro/online/viggo_wwwcompendium/node91.html&quot;&gt;Minimum Vertex K-cut&lt;/a&gt;. Also, if you search for &lt;a href=&quot;http://en.wikipedia.org/wiki/Connectivity_%28graph_theory%29&quot;&gt;k-node-connectivity&lt;/a&gt; you will get papers related to the structural properties of such cuts.&lt;/p&gt;&#xA;" OwnerUserId="344" LastActivityDate="2010-11-11T12:17:20.750" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="2879" PostTypeId="2" ParentId="890" CreationDate="2010-11-11T12:25:28.953" Score="4" Body="&lt;p&gt;Following the specific reference provided by Steve Huntsman in his MO answer leads to the paper&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Oded Regev and Ricky Rosen. &lt;em&gt;Lattice problems and norm embeddings&lt;/em&gt;, STOC 2006.  doi: &lt;a href=&quot;http://doi.acm.org/10.1145/1132516.1132581&quot; rel=&quot;nofollow&quot;&gt;10.1145/1132516.1132581&lt;/a&gt; (&lt;a href=&quot;http://www.cs.tau.ac.il/~odedr/papers/lpnorm.pdf&quot; rel=&quot;nofollow&quot;&gt;full preprint version&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;This paper presents randomized reductions from the approximation versions of lattice problems in the $\ell_2$ norm to any norm $\ell_p$ where $1 \le p \le \infty$.  The reductions don't quite preserve the approximation ratio, but the loss can be bounded by a factor of $(1+\epsilon)$.  So the $\ell_2$ norm yields in some sense the &quot;easiest&quot; versions of lattice problems.  It is enough to prove hardness of approximation using the $\ell_2$ norm, and hardness of approximation for any other $\ell_p$ norm follows with only a $(1+\epsilon)$ larger approximation factor.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Regev and Rosen then go on to use this to strengthen some existing hardness results.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, Chris Peikert showed that lattice problems posed using $\ell_p$ norms are not substantially harder than problems posed in the $\ell_2$ norm.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Chris Peikert, &lt;em&gt;Limits on the hardness of lattice problems in $\ell_p$ norms&lt;/em&gt;, Computational Complexity &lt;strong&gt;17&lt;/strong&gt; 300–351, 2008.  doi: &lt;a href=&quot;http://dx.doi.org/10.1007/s00037-008-0251-3&quot; rel=&quot;nofollow&quot;&gt;10.1007/s00037-008-0251-3&lt;/a&gt; (&lt;a href=&quot;http://www.cc.gatech.edu/~cpeikert/pubs/lp_norms.pdf&quot; rel=&quot;nofollow&quot;&gt;full preprint version&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;So yes, the question is sensible, and it has also essentially been answered.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Thanks to @user834 for the preprint links.)&lt;/p&gt;&#xA;" OwnerUserId="109" LastEditorUserId="109" LastEditDate="2011-04-16T10:56:57.950" LastActivityDate="2011-04-16T10:56:57.950" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="2880" PostTypeId="1" CreationDate="2010-11-11T13:01:17.050" Score="3" ViewCount="170" Body="&lt;p&gt;I have a list of tracks (model railroad tracks) with different length, example: TrackA on 3.0cm, TrackB on 5.0cm, TrackC on 6.5cm, TrackD on 10.5cm&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then I want to find out of what kind of track I should put together to get from point A to point B with a given distance and a margin. And I should also be able to a prioritizes the use of track type.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Example; Distance from point A to B is 1.7m, and I have lot of TrackC and few of TrackB. And I will allow a margin on +/- 0.5cm to the distance.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What kind of tracks should I use, and how many of each track, and how many combination do I have, sorted after the track where I have most of.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have Google after some C# help using genetic algorithm, but I am lost in, how I can implement this in a good method.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Or just a mathematical method, that can solve my problem..&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Please help..&lt;/p&gt;&#xA;" OwnerUserId="2148" LastEditorUserId="988" LastEditDate="2010-11-11T15:04:08.537" LastActivityDate="2010-11-11T21:49:51.540" Title="Find the right/best track combination for a given distance, using a genetic algorithm or ?." Tags="&lt;ds.algorithms&gt;&lt;optimization&gt;" AnswerCount="2" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="2881" PostTypeId="2" ParentId="2877" CreationDate="2010-11-11T13:47:25.697" Score="6" Body="&lt;p&gt;See, for example, p. 205 and Theorem 11.7 of Bondy and Murty's &lt;em&gt;&lt;a href=&quot;http://www.ecp6.jussieu.fr/pageperso/bondy/books/gtwa/gtwa.html&quot;&gt;Graph Theory with Applications&lt;/a&gt;&lt;/em&gt; (1976).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&quot;&lt;a href=&quot;https://secure.wikimedia.org/wikipedia/en/wiki/Menger%27s_theorem&quot;&gt;Menger's theorem&lt;/a&gt;&quot; is a good keyword for further googling. The usual max-flow min-cut theorem implies the edge-connectivity version of the theorem, but you are interested in the vertex-connectivity version.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(These are existential results, but a typical proof of the vertex-connectivity version reduces the problem to the edge-connectivity version, and then you can apply efficient max-flow/min-cut algorithms.)&lt;/p&gt;&#xA;" OwnerUserId="74" LastActivityDate="2010-11-11T13:47:25.697" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2882" PostTypeId="1" AcceptedAnswerId="2888" CreationDate="2010-11-11T14:10:08.227" Score="13" ViewCount="1693" Body="&lt;p&gt;There are two main types of processor failures in distributed computing models:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(1) Crash failures: a processor stops, and never starts again.&#xA;(2) Byzantine failures: processors behave adversarially, maliciously.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What are some other types of processor failures that have been studied, that do not reduce to crash or Byzantine failures?  &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Also, a more specific question:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Has a model been studied where, with some probability, a process is on at time step $t$, and otherwise off?  So each process is winking on and off, as it were.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I am most interested in how these failures relate to consensus and other distributed agreement problems.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thank you.&lt;/p&gt;&#xA;" OwnerUserId="30" LastEditorUserId="5385" LastEditDate="2011-10-02T03:19:58.483" LastActivityDate="2011-10-02T03:19:58.483" Title="Processor failures in distributed computing that are not crash or Byzantine" Tags="&lt;reference-request&gt;&lt;dc.distributed-comp&gt;" AnswerCount="5" CommentCount="8" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="2883" PostTypeId="1" CreationDate="2010-11-11T14:14:56.060" Score="15" ViewCount="1205" Body="&lt;p&gt;This question was based on an incorrect premise ... see Colin's comment below. Forget it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This was inspired by the discussion on &lt;a href=&quot;https://mathoverflow.net/questions/45378/undecidability-in-conways-game-of-life/45382&quot;&gt;this Math Overflow question&lt;/a&gt;. First, I need to define our terms.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In a Penrose tiling, there are generally several different legal patterns of tiles which will cover a given region. A Penrose tile cellular automaton should be some rule that deterministically takes a Penrose tiling $T$ to a Penrose tiling $T'$, where each tile in $T'$ is deterministically given by looking at the tiles in a radius $r$ around the corresponding spot in $T$. You should be able to implement these by having a set of rules of the form: when a region of shape $S$ is covered by a pattern $X$ of tiles, replace it with a pattern $Y$ of tiles. In order to do this deterministically, you either have to make sure no two of your replaceable regions can overlap or have some priority ranking on these replacement rules. But certainly you can ensure this, and define lots of different Penrose tiling cellular automata.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What does it mean for a Penrose tiling celluar automaton to be Turing-complete. Here's what I think it should mean (although I won't insist on it in the answers): the halting problem should be reducible to the behavior of such an automaton. Let's take some canonical Penrose tiling $T_0$ that provides constraints on our starting position. We  start with an input $G$ to a universal Turing machine, and we'd like to decide whether the machine halts on input $G$. I would like some computable map from $G$ to a starting Penrose tiling $S$ such that $S$ differs from $T_0$ on only a finite set of tiles. We then run the Penrose tiling cellular automaton, starting with $S$, and wait for some finite canonical configuration $C$ at position $0$ in the Penrose tiling. I want configuration $C$ to appear at position $0$ if and only if the universal Turing machine halts on input $G$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The strange thing about Penrose tiling cellular automata is that every finite legal configuration of tiles appears infinitely often in every Penrose tiling of the plane. Thus, our universal Penrose tiling is not only computing the behavior of our universal Turing machine on input $G$, it's also simultaneously carrying out the first steps of every other possible computation. This makes me doubt whether Penrose tiling cellular automata could be Turing complete. On the other hand, if they're not Turing complete, what is the class of computations that Penrose tiling cellular automata can perform?&lt;/p&gt;&#xA;" OwnerUserId="1677" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2010-11-11T22:18:06.847" Title="Can a Penrose tile cellular automaton be Turing-complete?" Tags="&lt;computability&gt;&lt;machine-models&gt;&lt;cellular-automata&gt;" AnswerCount="0" CommentCount="10" FavoriteCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="2884" PostTypeId="2" ParentId="2880" CreationDate="2010-11-11T14:36:02.757" Score="4" Body="&lt;p&gt;Unless I misunderstood, your problem is NP Hard in general.  You have different tracks of different lengths, and you need them to add up to a given distance.  &lt;a href=&quot;http://en.wikipedia.org/wiki/Subset_sum_problem&quot; rel=&quot;nofollow&quot;&gt;Subset sum&lt;/a&gt; reduces to your problem, so I am afraid there's little hope for an efficient algorithm in the worst case.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, it does not mean the cases you care about are hopeless.  For example, if you don't have too many track sizes, you can even do brute-force search.  If you don't need a very small margin, then &lt;a href=&quot;http://en.wikipedia.org/wiki/Dynamic_programming&quot; rel=&quot;nofollow&quot;&gt;dynamic programming&lt;/a&gt; should work.&lt;/p&gt;&#xA;" OwnerUserId="123" LastActivityDate="2010-11-11T14:36:02.757" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="2885" PostTypeId="2" ParentId="2861" CreationDate="2010-11-11T14:42:18.437" Score="3" Body="&lt;p&gt;If the measurements were Gaussian then minimizing the sum of squared residuals (like linear least squares curve fitting) would give you a max likelihood estimator. For your problem I haven't written anything down but I would guess (via Bayes rule) that any set of $x$s that could have generated your data is equally likely to have produced it. You can find one max likelihood solution by finding a point in a polytope (i.e. solving a linear program with no objective). Depending on what you want to do with your estimate (loss function) the best estimator is the one that minimizes the integral of your loss function over that polytope. I'll wait until you tell us what your loss function is before guessing about how to evaluate  and minimize that integral efficiently.&lt;/p&gt;&#xA;" OwnerUserId="1522" LastActivityDate="2010-11-11T14:42:18.437" CommentCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="2886" PostTypeId="2" ParentId="426" CreationDate="2010-11-11T14:45:55.310" Score="5" Body="&lt;p&gt;One romantic idea to capture various models of distributed computing has been through algebraic topology. The core idea is to construct simplicial complexes by letting points be process states, each labeled with a process id.  This is a &lt;a href=&quot;http://www.springerlink.com/content/56712l0152526304/&quot;&gt;primer&lt;/a&gt; on the topic. The closest answer to your question has probably been touched upon by Eli gafni in his paper- Distributed computing- A glimmer of a theory. In his paper, he shows simulations how beginning with async shared memory for two-three processors(for fail stop and Byzantine)-he shows how can apply this to the message passing model. Crucial to understanding his simulations is the notion of viewing a distributed computing topologically &lt;/p&gt;&#xA;" OwnerUserId="698" LastActivityDate="2010-11-11T14:45:55.310" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2887" PostTypeId="2" ParentId="2880" CreationDate="2010-11-11T14:51:50.250" Score="5" Body="&lt;p&gt;You could easily formulate this as a &lt;a href=&quot;http://en.wikipedia.org/wiki/Linear_programming#Integer_unknowns&quot; rel=&quot;nofollow&quot;&gt;integer linear programming&lt;/a&gt; (ILP) problem. This is a linear programming problem where the solutions are constrained to be integers. The problem is NP-hard as indicated in other answers, but software does exist to address this sort of problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $L$ be the ultimate length you are aiming for, $a$ be the number of&#xA;Track A used, $b$ be the number of Track B used, and so forth. Finally,&#xA;let $A$, $B$, $C$, and $D$ be the amount of each kind of track you have.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;($a,b,c,d$ are variables; the rest are constants.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then the integer linear programming problem is formulated as:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$L - 0.5 \le 3.0 a + 5.0 b + 6.5 c + 10.5 d \le L + 0.5$&lt;/li&gt;&#xA;&lt;li&gt;$0 \le a \le A$ &lt;/li&gt;&#xA;&lt;li&gt;$0 \le b \le B$ &lt;/li&gt;&#xA;&lt;li&gt;$0 \le c \le C$ &lt;/li&gt;&#xA;&lt;li&gt;$0 \le d \le D$ &lt;/li&gt;&#xA;&lt;li&gt;$a,b,c,d$ are integers&lt;/li&gt;&#xA;&lt;li&gt;minimise $a+b+c+d$&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The condition $a+b+c+d$ can be changed to what you want to minimise/maximise to suit your needs so long as &#xA;it is linear in the variables $a,b,c,d$. The could be something capturing the costs of the various Tracks. All of the other ingredients can be changed in an obvious way, for different track lengths, different tolerance level, and so forth, so long as they are constants when you submit your question to an ILP system.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Plenty of software packages exist to solve such problems; many are listed on the page linked to above.&lt;/p&gt;&#xA;" OwnerUserId="77" LastEditorUserId="77" LastEditDate="2010-11-11T21:49:51.540" LastActivityDate="2010-11-11T21:49:51.540" CommentCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="2888" PostTypeId="2" ParentId="2882" CreationDate="2010-11-11T16:40:52.253" Score="12" Body="&lt;p&gt;Copied from the comments on the question as per-request.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have taken theory of distributed computing with Michel Raynal and he described a third model, where messages can be dropped randomly. In that model a message can fail silently to be delivered, but that doesn't necessarily mean that the node has failed. It is about link failures rather than node failures &quot;fair lossy channel model&quot;, you can read more about it here : Quiescent Uniform Reliable Broadcast as an Introductory Survey to Failure Detector Oracles - Michel Raynal (ftp.irisa.fr/techreports/2000/PI-1356.ps.gz) &lt;/p&gt;&#xA;" OwnerUserId="201" LastActivityDate="2010-11-11T16:40:52.253" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2889" PostTypeId="2" ParentId="2882" CreationDate="2010-11-11T16:55:17.430" Score="1" Body="&lt;p&gt;There could other types of failures. For example, some of the processors (e.g. under broadcast or multicast protocols) may become overloaded and would not be able to process all incoming messages. This results in making the processor appear offline to some processors in the distributed system.&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2010-11-11T17:11:53.947" LastActivityDate="2010-11-11T17:11:53.947" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2890" PostTypeId="1" AcceptedAnswerId="2897" CreationDate="2010-11-11T19:08:37.437" Score="4" ViewCount="255" Body="&lt;p&gt;I am looking for references for the following problem, which I feel must have been studied before. I have n items and I want to rank them.  I randomise once at the beginning of the&#xA;process and then for each pair of items I have an x% chance of getting the&#xA;right ordering, let us say independently. I then use these comparison results to rank the items.  I would like to know how good/bad the ranking can be given unbounded computation and also any methods for finding a good ranking in reasonable time.  Let us also say that there is a true total ordering under the hood.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am aware of some of the literature on binary sorting with errors but the papers I found, at least, seem to answer a different set of questions.&lt;/p&gt;&#xA;" OwnerUserId="1864" LastActivityDate="2010-11-11T22:03:45.393" Title="Ranking with errors" Tags="&lt;reference-request&gt;&lt;randomness&gt;&lt;sorting&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="2891" PostTypeId="1" AcceptedAnswerId="2893" CreationDate="2010-11-11T19:15:20.813" Score="5" ViewCount="245" Body="&lt;p&gt;This question is inspired by a question posed by Shiva Kintali, &lt;a href=&quot;https://cstheory.stackexchange.com/questions/2326/hardness-of-approximation-assuming-np-conp&quot;&gt;Hardness of approximation assuming NP != coNP&lt;/a&gt;&#xA;&lt;a href=&quot;https://cstheory.stackexchange.com/questions/2326/hardness-of-approximation-assuming-np-conp&quot;&gt;&lt;/a&gt;. Multiplication of two prime numbers of equal size is strong candidate for one-way function. We know the $P \ne NP$ does not imply the existence of one-way functions.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Are there any hardness of approximation results assuming the existence of one-way functions? &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Ideally, assuming $P \neq NP$ would not be sufficient to prove such hardness of approximation result and we must assume that existence of one-way functions to prove such hardness of approximation result.&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2010-11-11T21:02:08.683" Title="Hardness of approximation assuming the existence of one-way functions" Tags="&lt;cc.complexity-theory&gt;&lt;cr.crypto-security&gt;&lt;one-way-function&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="2892" PostTypeId="1" AcceptedAnswerId="2961" CreationDate="2010-11-11T19:37:29.030" Score="22" ViewCount="1574" Body="&lt;p&gt;In &lt;em&gt;The computational complexity of linear optics&lt;/em&gt; (&lt;a href=&quot;http://eccc.uni-trier.de/report/2010/170/&quot;&gt;ECCC TR10-170&lt;/a&gt;), Scott Aaronson and Alex Arkhipov argue that if quantum computers can be efficiently simulated by classical computers then the polynomial hierarchy collapses to the third level.  The motivating problem is sampling from a distribution defined by a linear-optical network; this distribution can be expressed as the permanent of a particular matrix.  In the classical case all entries of the matrix are non-negative, and so a probabilistic polynomial-time algorithm exists, as shown by Mark Jerrum, Alistair Sinclair, and Eric Vigoda (JACM 2004, doi: &lt;a href=&quot;http://dx.doi.org/10.1145/1008731.1008738&quot;&gt;10.1145/1008731.1008738&lt;/a&gt;).  In the quantum case the entries are complex numbers.  Note that in the general case (when the entries are not required to be non-negative) the permanent cannot be approximated even within a constant factor, by Valiant's classic 1979 result.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The paper defines a distribution $D_A$ defined by a matrix $A$, and a sampling problem&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;BosonSampling&lt;/strong&gt;&lt;br&gt;&#xA;  &lt;em&gt;Input:&lt;/em&gt; matrix $A$&lt;br&gt;&#xA;  &lt;em&gt;Sample:&lt;/em&gt; from distribution $D_A$&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Using a hardness result seems to be weak evidence for a separation between the classical and quantum worlds, since it is possible that the class of matrices in the specific quantum setup will all be of special form.  They might have complex entries, but may still possess a lot of structure.  There could therefore exist an efficient sampling procedure for such matrices, even though the general problem is #P-hard.&lt;/p&gt;&#xA;&#xA;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;How does the use of BosonSampling in the paper avoid easy classes?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The paper uses a lot of background I don't have in quantum complexity.  Given all the quantum people on this site, I'd really appreciate a pointer in the right direction.  How would the arguments hold up if one were to discover that the class of complex-valued matrices seen in a specific experimental setup actually corresponded to a class of distributions that was easy to sample from?  Or is there something inherent in the quantum system that guarantees this cannot happen?&lt;/p&gt;&#xA;" OwnerUserId="109" LastEditorUserId="109" LastEditDate="2010-11-11T20:24:12.397" LastActivityDate="2010-11-13T17:12:51.387" Title="How does the BosonSampling paper avoid easy classes of complex matrices?" Tags="&lt;cc.complexity-theory&gt;&lt;quantum-computing&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="2893" PostTypeId="2" ParentId="2891" CreationDate="2010-11-11T19:42:46.547" Score="6" Body="&lt;p&gt;The problem of learning in the PAC model is really just a problem of combinatorial optimization: with a large enough sample size, finding a function $f \in C$ which has low prediction error is equivalent to finding a function $f \in C$ which best classifies some finite sample from the distribution.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In this area, there are plenty of hardness of approximation results that depend on the existence of one-way functions. For example,&#xA;&quot;Cryptographic Hardness of Distribution Specific Learning&quot; -- Kharitonov, &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=167197&quot; rel=&quot;nofollow&quot;&gt;http://portal.acm.org/citation.cfm?id=167197&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&quot;Cryptographic limitations on learning Boolean formulae and finite automata&quot; -- Kearns, &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=174647&amp;amp;dl=GUIDE&quot; rel=&quot;nofollow&quot;&gt;http://portal.acm.org/citation.cfm?id=174647&amp;amp;dl=GUIDE&lt;/a&gt;,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;and many more recent results. &lt;/p&gt;&#xA;" OwnerUserId="25" LastActivityDate="2010-11-11T19:42:46.547" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="2894" PostTypeId="1" CreationDate="2010-11-11T20:18:18.677" Score="18" ViewCount="3974" Body="&lt;p&gt;Let's say you build a computer that will calculate the state of all atoms in the Universe at certain future point in time. Because the Universe is, by definition, everything that exists (and anything that interacts with the rest), it also includes the computer that you are building. Can you calculate the state of all atoms in the Universe using your computer, including the atoms of the computer itself?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If such a computer is not possible for some other theoretical or practical reason, then what is it?&lt;/p&gt;&#xA;" OwnerUserId="2156" LastEditorUserId="319" LastEditDate="2010-11-12T15:46:04.547" LastActivityDate="2016-03-05T12:32:49.180" Title="Can a computer simulate itself as part of a simulated world?" Tags="&lt;computability&gt;" AnswerCount="5" CommentCount="16" FavoriteCount="7" ContentLicense="CC BY-SA 2.5" />
  <row Id="2895" PostTypeId="2" ParentId="2891" CreationDate="2010-11-11T21:02:08.683" Score="4" Body="&lt;p&gt;Are you after some problem $\Pi$ such that &quot;it is hard to approximate $\Pi$ within a (possibly non-constant) factor $\alpha$ unless one-way functions do not existence&quot;?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If so, I'll construct the following problem:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let's first assume that one-way functions exist. Then, by the result of &lt;a href=&quot;https://cstheory.stackexchange.com/q/2839/873#2848&quot;&gt;Håstad &lt;em&gt;et al&lt;/em&gt;.&lt;/a&gt;, cryptographically-secure pseudo-random bit generators exist. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $G(\cdot)$ be such a generator. On input $1^n$ (where $n \in \mathbb{N}$ is the security parameter), pick a random seed $s \in \{0,1\}^n$. Let $y$ be a polynomially bounded prefix of the output of $G(s)$. The problem is to &lt;strong&gt;approximate&lt;/strong&gt; $s$ given $(1^n,y)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the above context, you may interpret the word &lt;strong&gt;approximate&lt;/strong&gt; arbitrarily; since by definition, $(1^n,y)$ does not leak any partial information about $s$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The above result holds as long as one-way functions exist. Otherwise, by Håstad &lt;em&gt;et al&lt;/em&gt;. result, cryptographically-secure pseudo-random bit generators do &lt;strong&gt;NOT&lt;/strong&gt; exist, and therefore the approximation is no longer hard.&lt;/p&gt;&#xA;" OwnerUserId="873" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2010-11-11T21:02:08.683" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2896" PostTypeId="2" ParentId="2853" CreationDate="2010-11-11T21:54:03.643" Score="0" Body="&lt;p&gt;Not sure if this counts, but you can prove it using the Recursion Theorem.  The recursion theorem says if $\{W_e\}_{e=1}^{\infty}$ is an effective listing of all turing machines and $f$ is a recursive function, then there is an $e$ such that $W_e = W_{f(e)}$ on all inputs.  If you could decide whether or not a given machine halts on say input $0$ then you could write a recursive $f$ that, on input $e$, outputs the index of a Turing machine that halts on $0$ iff $W_e$ doesn't halt on $0$.  By the recursion theorem there exists $e$ such that $W_e(0)$ = $W_{f(e)}(0)$ which is a contradiction.&lt;/p&gt;&#xA;" OwnerDisplayName="mike" LastEditorDisplayName="mike" LastEditDate="2010-11-11T23:04:28.657" LastActivityDate="2010-11-11T23:04:28.657" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2897" PostTypeId="2" ParentId="2890" CreationDate="2010-11-11T22:03:45.393" Score="10" Body="&lt;p&gt;If I understand your question correctly it is answered in Braverman and Mossel's &quot;Sorting with Noisy Information&quot; &lt;a href=&quot;http://arxiv.org/PS_cache/arxiv/pdf/0910/0910.1191v1.pdf&quot; rel=&quot;nofollow&quot;&gt;http://arxiv.org/PS_cache/arxiv/pdf/0910/0910.1191v1.pdf&lt;/a&gt; (see also conference version titled &quot;Noisy Sorting without Resampling&quot; IIRC.)&lt;/p&gt;&#xA;" OwnerUserId="1522" LastActivityDate="2010-11-11T22:03:45.393" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="2898" PostTypeId="1" CreationDate="2010-11-11T23:17:58.857" Score="65" ViewCount="14709" Body="&lt;p&gt;I'd like to write a survey on the applications of Topology in Computer&#xA;Science. I plan to cover the history of topological ideas in Computer&#xA;Science and also highlight a few current developments.  It would be&#xA;extremely helpful if anyone could give input regarding any of the&#xA;questions below.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Are there any papers or notes that describe the chronology of the&#xA;use of topology in Computer Science?  &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;What are the most important application of results in Topology to&#xA;Computer Science? &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;What are the most interesting areas of current work that use&#xA;topology to gain insight into computation? &lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Thanks!&lt;/p&gt;&#xA;" OwnerUserId="2060" LastEditorUserId="2060" LastEditDate="2010-11-17T19:30:06.893" LastActivityDate="2015-11-15T09:31:56.220" Title="Applications of topology to computer science" Tags="&lt;reference-request&gt;&lt;ho.history-overview&gt;&lt;topology&gt;&lt;survey&gt;" AnswerCount="14" CommentCount="5" FavoriteCount="61" ContentLicense="CC BY-SA 2.5" />
  <row Id="2899" PostTypeId="2" ParentId="2898" CreationDate="2010-11-11T23:26:40.670" Score="33" Body="&lt;p&gt;Personally, I think the most interesting application of topology was the work done by Herlihy and Shavit. They used algebraic topology to characterize asynchronous distributed computation and gave new proofs of important known results and knocked out a number of long-standing open problems. They won the 2004 Godel prize for that work.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&quot;The Topological Structure of Asynchronous Computation&quot;&#xA;by Maurice Herlihy and Nir Shavit,&#xA;Journal of the ACM, Vol. 46 (1999), 858-923, &lt;/p&gt;&#xA;" OwnerUserId="319" LastActivityDate="2010-11-11T23:26:40.670" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2900" PostTypeId="2" ParentId="2898" CreationDate="2010-11-11T23:32:36.897" Score="18" Body="&lt;p&gt;Bounds on number of connected components, and more generally Betti numbers, of semi-algebraic varieties and hyperplane arrangements (and their complements) have been used for several lower bounds on algebraic computation and decision trees.  For just a few big references, see:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Michael Ben-Or, Lower bounds for algebraic computation trees, STOC 1983, pp. 80-86.&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;Andrew Chi-Chih Yao, Decision tree complexity and Betti numbers, J. Comput. System Sci. 55 (1997),&#xA;  no. 1, part 1, 36-43 (STOC 1994).&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;Anders Bjorner and Laszlo Lovasz, Linear decision trees, subspace arrangements and Mobius functions, J. Amer. Math. Soc. 7 (1994), no. 3, 677-706.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;In a different but somewhat related vein, Smale used topology in a pretty interesting manner (in particular, cohomology of the braid group) to lower bound the complexity of root-finding in the Blum-Shub-Smale model:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Smale, S. On the topology of algorithms, I.  J. Complexity, 3(2):81-89, 1987.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="129" LastEditorUserId="129" LastEditDate="2010-11-12T00:01:32.537" LastActivityDate="2010-11-12T00:01:32.537" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="2901" PostTypeId="2" ParentId="2898" CreationDate="2010-11-12T00:43:37.440" Score="25" Body="&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Domain_theory&quot;&gt;Domain Theory&lt;/a&gt; is highly topological in nature, and rather being a one-off application of topology, it is more or less its own subfield of topology. Its application in &lt;a href=&quot;http://en.wikipedia.org/wiki/Denotational_semantics&quot;&gt;Denotational Semantics&lt;/a&gt; of programming languages, especially functional ones, is certainly one of the most important applications of topology in computer science. &#xA;Values (including functions) are given semantics in terms of DCPOs (directed-complete partial orders) or some such structure. Recursive domain equations such as $D\cong [D\to D]$ can be solved in this setting, giving semantics to beasts such as the untyped $\lambda$-calculus. The semantics are fundamentally based on the notion of approximation, given by the ordering, and the least fixed point solution of equations, and solutions are generally guaranteed to exist.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Stemming from denotational semantics are connections with abstract interpretation, and program analysis and verification. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Current research includes providing denotational semantics for concurrency and for quantum languages.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Abramsky and Jung give a nice survey of the core ideas: &lt;a href=&quot;http://www.cs.bham.ac.uk/~axj/pub/papers/handy1.pdf&quot;&gt;Domain Theory&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="77" LastEditorUserId="77" LastEditDate="2010-11-12T17:55:05.053" LastActivityDate="2010-11-12T17:55:05.053" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2902" PostTypeId="1" AcceptedAnswerId="3042" CreationDate="2010-11-12T00:52:52.717" Score="17" ViewCount="349" Body="&lt;p&gt;A &lt;strong&gt;&lt;em&gt;linear extension&lt;/em&gt;&lt;/strong&gt; $L$ of a poset $\mathcal{P}$ is a linear order on the&#xA;elements of $\mathcal{P}$, such that $x \leq y$ in $\mathcal{P}$ implies $x \leq y$ in $L$ for all $x,y\in\mathcal{P}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A &lt;strong&gt;&lt;em&gt;linear extension graph&lt;/em&gt;&lt;/strong&gt; is a graph on the set of linear extensions of a poset, where two linear extensions are adjacent exactly if they diﬀer in one adjacent swap of elements.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the following picture there is the poset known as $N$-poset, and its linear extension graph, where $a=1234, b=2134, c=1243, d=2143, e=2413$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/SRKyt.png&quot; alt=&quot;alt text&quot;&gt;(This figure is taken from the &lt;a href=&quot;http://arxiv.org/abs/0809.1828&quot; rel=&quot;nofollow noreferrer&quot;&gt;work&lt;/a&gt;.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;When you study linear extension graphs (LEG) you can come up with an idea (conjecture) that if  $\Delta$ - maximal degree of a LEG, $\delta$ - respecrively, minimal degree, then the degree set of any LEG consists of $\Delta,\delta$ and each natural number between them. For example, let's take a poset, known as chevron, then in its LEG $\mathcal{G}$ with $\Delta(\mathcal{G})=5$ and $\delta(\mathcal{G})=2$, and also, according to our conjecture, vertices with the degrees 4 and 3 are contained in the graph. So, the question is can we prove or disprove this conjecture?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;About LEGs and how do they look like one can read in the dissertation of Mareike Massow &lt;a href=&quot;http://www.math.tu-berlin.de/~massow/diss_genehmigt.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;here&lt;/a&gt;. Chevron and its LEG can be seen on the page 23 of the dissertation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the degree sets there is the classical paper &quot;&lt;a href=&quot;http://matwbn.icm.edu.pl/ksiazki/fm/fm95/fm95117.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Degree sets for graphs&lt;/a&gt;&quot; by Kapoor S.F. et al.&lt;/p&gt;&#xA;" OwnerUserId="1060" LastEditorUserId="1060" LastEditDate="2011-07-18T07:29:05.033" LastActivityDate="2012-01-27T18:43:47.013" Title="Degree sets for linear extension graphs" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="2903" PostTypeId="2" ParentId="2898" CreationDate="2010-11-12T01:29:26.717" Score="14" Body="&lt;p&gt;Don't forget the Kneser conjecture and the Kahn/Saks/Sturtevant proof for the Aandera-Rosenberg-Karp conjecture. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2010-11-12T01:29:26.717" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2904" PostTypeId="2" ParentId="2898" CreationDate="2010-11-12T02:02:02.313" Score="11" Body="&lt;p&gt;read this book: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;See its &lt;a href=&quot;http://web.archive.org/web/20141009165821/http://www.cs.dartmouth.edu/~afra/book.html&quot; rel=&quot;nofollow&quot;&gt;archived webpage&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="2161" LastEditorUserId="21001" LastEditDate="2015-11-15T05:21:30.987" LastActivityDate="2015-11-15T05:21:30.987" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="2905" PostTypeId="2" ParentId="2834" CreationDate="2010-11-12T02:02:45.497" Score="3" Body="&lt;p&gt;[Building off of Kaveh's insight in the comments.] It seems unlikely that someone could come up with a family of problems that is significantly different from quantified boolean formula, without disproving the PH-analog of the Berman-Hartmanis isomorphism conjecture.  Without that, any problem you come up with would be not only equivalent to $QBF_k$, but in fact isomorphic to it. One way to define isomorphism between two languages here is to take a single abstract language, but encode its objects (in this case, quantified boolean formulae) using two different boolean encodings.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, isomorphism isn't necessarily a good judge of what's useful for people to come up with proofs.  After all, in the arithmetic hierarchy, Myhill's Isomorphism Theorem proves the arithmetic analog of the BH isomorphism conjecture (in fact, that's history backwards since BH was motivated by Myhill).  Yet, as the question points out, there are several &quot;different-looking&quot; characterizations of various levels, some of which are more useful for proofs than others.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Although it seems unlikely that anyone will come up with such a uniform family of languages for every level of PH, the two surveys (&lt;a href=&quot;http://ovid.cs.depaul.edu/documents/phcom.pdf&quot; rel=&quot;nofollow&quot;&gt;one&lt;/a&gt;, &lt;a href=&quot;http://ovid.cs.depaul.edu/documents/phmeth.ps&quot; rel=&quot;nofollow&quot;&gt;two&lt;/a&gt;) by Schaefer and Umans discuss natural problems that at least &quot;look different&quot; from QBF for the first few levels of PH.&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2010-11-12T02:02:45.497" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2906" PostTypeId="2" ParentId="2894" CreationDate="2010-11-12T03:25:41.403" Score="8" Body="&lt;p&gt;I am not sure if this answers your question but I hope it could be meaningful and leads to some insight.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assume that there is a turing machine $X$ that can simulate every atom in the universe including itself, it then necessarily can simulate itself. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, reducing that to the halting problem is trivial:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $X$ take a turing machine $M$ as its input and decides whether it halts or not by simulating the universe (since $M$ is included in the universe), then do the opposite (e.g. $X$ halts if $M$ does not, and loops forever if $M$ halts). Then $X(X)$ demonstrates a contradiction. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Essentially this means that the best $X$ can do to decide whether $X$ halts or not is just by running itself (i.e. let the universe work its way), so simulating the universe doesn't give an advantage.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The same applies when you want the state of the universe after $t$ time. Since $X$ can not decide if it will halt within $t$ time or not within $t$ time (same argument), then it will let it to the universe to do it. Trying to simulate the universe doing it, can not reduce the time you'll take to decide. And if deciding how the universe will look like in $t$ time takes more than $t$ then the simulation will diverge (as $t$ goes to infinity). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This leads to the conclusion that only useful simulator that decides how the universe will look like in $t$ time must take exactly $t$ time, i.e. by letting the universe work. This simulator is then indeed the trivial simulator.&lt;/p&gt;&#xA;" OwnerUserId="201" LastActivityDate="2010-11-12T03:25:41.403" CommentCount="7" ContentLicense="CC BY-SA 2.5" />
  <row Id="2907" PostTypeId="2" ParentId="1622" CreationDate="2010-11-12T03:42:25.707" Score="8" Body="&lt;p&gt;While Per Vognsen's comment works well for labeled trees, your question uses the word &quot;unique&quot; (which should probably be &quot;distinct&quot;) to describe the shape of the tree.  This makes me think you mean &quot;How many isomorphism classes of unlabeled binary trees are there?&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To compute this exactly, you will probably want to use &lt;a href=&quot;http://cs.anu.edu.au/~bdm/&quot;&gt;Brendan McKay&lt;/a&gt;'s &lt;a href=&quot;http://cs.anu.edu.au/~bdm/papers/orderly.pdf&quot;&gt;&quot;Isomorph-free exhaustive generation&quot;&lt;/a&gt; which he uses in his program &lt;code&gt;geng&lt;/code&gt; to list each isomorphism class of simple graphs on a given number of vertices and edges, and do it quickly.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To summarize his process, he uses a depth-first search on graphs, where each deepening step adds a vertex.  To make sure no isomorphism class is repeated (which would happen a lot if this was done naïvely) the vertex-added graph decides if this was the &quot;canonical&quot; subgraph to use in the search.  The algorithm essentially picks a vertex in the graph to be deleted using a canonical labeling of the graph and tests if this was the vertex that was added.  A canonical labeling can be found by McKay's &lt;code&gt;nauty&lt;/code&gt; library.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In your binary tree example, you would add a leaf somewhere in the tree.  You can fix the root, but the other vertices may permute based on the automorphism group.  Hence, you only need to test adding a leaf to each orbit of vertices that has fewer than two children.  After adding the leaf, compute the canonical labeling of the tree and find the lexicographically-least leaf.  If this leaf is in the same orbit as the leaf you added, then the search can deepen; otherwise try a new leaf.  When $n$ vertices are reached, increment your counter.&lt;/p&gt;&#xA;" OwnerUserId="59" LastActivityDate="2010-11-12T03:42:25.707" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2908" PostTypeId="1" CreationDate="2010-11-12T04:14:36.253" Score="17" ViewCount="1400" Body="&lt;p&gt;Given a random walk on a graph the &lt;strong&gt;cover time&lt;/strong&gt; is the first time (expected number of steps) that every vertex has been hit (covered) by the walk. For connected undirected graphs, the cover time is known to be upper bounded by $O(n^3)$. There are strongly connected digraphs with cover time exponential in $n$. An example of this, is the digraph consisting of a directed cycle $(1, 2, ..., n, 1)$, and edges $(j, 1)$, from vertices $j = 2, ..., n − 1$. Starting from vertex $1$, the expected time for a random walk to reach vertex $n$ is $\Omega(2^n)$. I have two questions :&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) What are the known classes of directed graphs with polynomial cover time ? These classes might be characterized by graph-theoretic properties (or) by properties of the corresponding adjacency matrix (say $A$). For example, if $A$ is symmetric then cover time of the graph is polynomial.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) Are there more simple examples (like the cycle example mentioned above) where the cover time is exponential ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;3) Are there examples with quasi-polynomial cover time ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would appreciate any pointers to good surveys/books on this topic.&lt;/p&gt;&#xA;" OwnerUserId="344" LastEditorUserId="1677" LastEditDate="2010-11-28T20:54:03.193" LastActivityDate="2012-10-10T19:52:03.420" Title="Cover Time of Directed Graphs" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;markov-chains&gt;&lt;random-walks&gt;" AnswerCount="2" CommentCount="6" FavoriteCount="7" ContentLicense="CC BY-SA 2.5" />
  <row Id="2909" PostTypeId="2" ParentId="2859" CreationDate="2010-11-12T04:28:09.583" Score="3" Body="&lt;p&gt;Assume that there is polytime algorithm that given $C(\vec{x}) \in F(\vec{x})$ and $\vec{a}$ computed the result of the multi-linearization of $C$ on $\vec{a}$. (w.l.o.g. I will assume that the output $\vec{b}$ will be a vector of $p$-bit binary numbers $b_i$ is $k$ iff the $b_{i,k}$ is one.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since $P \subseteq P/poly$, there is a polysize boolean circuit that given the encoding of the arithmetic circuit and the values for the variables computes the multi-linearization of the arithmetic circuit on the inputs. Let call this circuit $M$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $C$ be an arbitrary arithmetic circuit. Fix the variables of the boolean circuit $M$ which describe the arithmetic circuit, so we have a boolean circuit computing the multi-linearization of $C$ on given inputs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We can turn this circuit into an arithmetic circuit over $F_p$ by noting that $x^{p-1}$ is $1$ for all values but $0$ so first raise all inputs to the power $p-1$. Replace each $f \land g$ gate by multiplication $f.g$, each $f \lor g$ gate by $f+g-f.g$ and each $\lnot f$ gate by $1-f$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;By the assumption we made above about the format of the output, we can turn the output from binary to values over $F_p$. Take the output for $b_i$ and combine them to get $\sum_{0 \leq k \leq p-1}{kb_{i,k}}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We can also convert the input given as values over $F_p$ to binary form since there are polynomials passing through any finite number of points. E.g. if we are working in $\bmod 3$, consider the polynomials $2x(x+1)$ and $2x(x+2)$ which give the first and the second bits of the input $x \in F_3$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Combining these we have an arithmetic circuit over $F_p$ computing the multi-linearization of $C$ with size polynomail in the size of $C$.&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2010-11-15T02:10:50.960" LastActivityDate="2010-11-15T02:10:50.960" CommentCount="9" ContentLicense="CC BY-SA 2.5" />
  <row Id="2910" PostTypeId="1" CreationDate="2010-11-12T04:40:34.130" Score="10" ViewCount="354" Body="&lt;p&gt;&lt;strong&gt;Question&lt;/strong&gt;:&#xA;Is predicting (as defined below) computable sequences as hard as the halting problem?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Elaboration&lt;/strong&gt;:&#xA;&quot;Predict&quot; means successfully predict, which means make only finitely many errors on the task of trying to predict the n-th bit of the sequence given access to the previous n-1 bits (starting from the first bit and going through the entire infinite computable sequence).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There's a simple diagonalization argument (due to Legg 2006) that for any Turing machine predictor p, there's a computable sequence on which it makes infinitely many errors. (Construct a sequence that has as its nth term the opposite of what p predicts given the previous n-1 terms in the sequence.) So there is no computable predictor that predicts every computable sequence. A halting oracle would allow construction of such a predictor. But can you show that having such a predictor allows you to solve the halting problem?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;More elaboration&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Definition&lt;/strong&gt; (Legg)&#xA;&lt;br&gt;A &lt;em&gt;predictor&lt;/em&gt; p is a Turing machine that tries to predict the n-th bit of a sequence S given access to the previous n-1 bits. If the prediction fails to match the n-th bit of the sequence, we call this a &lt;em&gt;mistake&lt;/em&gt;. We will say that p &lt;em&gt;predicts&lt;/em&gt; S if p only makes finitely many mistakes on S. In other words, p predicts S if there is some number M in the sequence s.t. for every m&gt;M, p correctly predicts the m-th bit of S given access to the first m-1 bits. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Formally, we could define a predictor machine as having three tapes. The sequence is entered as input bit-by-bit on one tape, the predictions for the next bit are made on a second tape (the machine can only move right across this tape), and then there is a work tape on which the machine can move in both directions. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Simple results&lt;/strong&gt;&lt;br&gt;&#xA;By the above definition, there's a predictor that predicts all the rational numbers. (Use the standard zig-zag enumeration of the rationals. Start by predicting the 1st rational in the list, if there's a mistake, move to the next rational.). By a similar argument, there's a predictor s.t. given access to N, is able to predict all sequences of Kolomogorov complexity less than or equal to N. (Run all the N-bit machines in parallel and take the prediction of the machine that halts first. You can only make finitely many errors). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Citation&lt;/em&gt;&#xA;Shane Legg 2006&#xA;&lt;a href=&quot;http://www.vetta.org/documents/IDSIA-12-06-1.pdf&quot;&gt;http://www.vetta.org/documents/IDSIA-12-06-1.pdf&lt;/a&gt;&#xA;(not the author of this post)&lt;/p&gt;&#xA;" OwnerDisplayName="Bob Unwin" LastEditorDisplayName="Bob Unwin" LastEditDate="2010-11-12T05:22:19.553" LastActivityDate="2010-11-12T05:53:31.257" Title="Is predicting (in the limit) computable sequences as hard as the halting problem?" Tags="&lt;computability&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="2911" PostTypeId="2" ParentId="2853" CreationDate="2010-11-12T04:51:38.230" Score="2" Body="&lt;p&gt;Another poster alluded to this (by referring to Chaitin), but you can use the Berry paradox to prove that the halting problem is undecidable.  Here is a brief sketch of the proof:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let HALT be a machine that decides if any machine M halts on input I.  We will demonstrate that HALT itself fails to halt on a particular input, which shows that it is unable to decide the language.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider the following function f:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;f(M, n) = a, where a is the smallest positive integer not computable by machine M on any input I with |I| &amp;lt; n&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assuming that HALT is a computable function, f is also a computable function; simply simulate HALT(M,I) for every machine M and input string I with the length of I less than n.  If the simulation halts, then simulate M(I) and record what the output is, and find the smallest output a that is not outputted by any of the M,n pairs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, we show that f is not computable:  consider f(f, 10000000*|f|+10000000).  Whatever it outputs, it ought to be a (positive) integer that is not computable by the machine computing f on input I with length less than that given...and yet we've just outputted such an integer with f and a much briefer input.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thus, f is not computable, and so our assumption that HALT was computable is false.  I do not believe this proof makes any use of diagonalization.&lt;/p&gt;&#xA;" OwnerUserId="1338" LastEditorUserId="1338" LastEditDate="2010-12-16T22:04:11.027" LastActivityDate="2010-12-16T22:04:11.027" CommentCount="7" ContentLicense="CC BY-SA 2.5" />
  <row Id="2912" PostTypeId="2" ParentId="2802" CreationDate="2010-11-12T05:08:32.140" Score="28" Body="&lt;p&gt;I find the fact that network flow is polynomial time counter intuitive. It is seems much harder on first look than many NP-Hard problems. Or putting it differently, there are many results in CS where the running time to solve them is way better than what you would expect it to be.&lt;/p&gt;&#xA;" OwnerUserId="9594" LastActivityDate="2010-11-12T05:08:32.140" CommentCount="2" CommunityOwnedDate="2010-11-12T05:08:32.140" ContentLicense="CC BY-SA 2.5" />
  <row Id="2913" PostTypeId="2" ParentId="2910" CreationDate="2010-11-12T05:53:31.257" Score="11" Body="&lt;p&gt;Actually this is easier than solving the halting problem. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $f:\mathbb N\rightarrow\mathbb N$ be a function that dominates all computable functions, i.e., for all total computable functions $g:\mathbb N\rightarrow\mathbb N$, we have that for all but finitely many $n$, $g(n)\le f(n)$. It is a standard fact that there exist such functions that have strictly lower Turing degree than the halting problem, see e.g. Soare's book &lt;em&gt;Recursively Enumerable Sets and Degrees&lt;/em&gt;. These are called the &lt;em&gt;high&lt;/em&gt; Turing degrees.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $\varphi_e$, $e\in\mathbb N$ be a standard list of the partial computable functions from $\mathbb N$ to $\{0,1\}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, using $f$ we construct a predictor $p$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$p(a_0,\ldots,a_{k-1})$ is chosen as some number $a_{k}\in \{0,1\}$ so as to make the sequence $a_0,\ldots,a_k$ agree with $\varphi_t(0),\ldots,\varphi_t(k)$ for the minimal possible $t\le k$. Since we cannot wait for possibly hanging computations to halt, we only monitor the computations until stage $f(k)$ ($f(k)$ many computations steps). If there is no such $t$ we just set $a_{k}$ arbitrarily (say $=0$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now suppose $q$ is minimal such that $\varphi_q$ computes the computable sequence that is actually observed. Then we will for all but finitely many $k$ use $t=q$ and hence choose the correct $a_{k}$, because $f$ dominates the &lt;em&gt;running time function&lt;/em&gt; for $\varphi_q$, namely $s(n)=$ the least stage where $\varphi_q(n)$ has halted.&lt;/p&gt;&#xA;" OwnerUserId="1993" LastActivityDate="2010-11-12T05:53:31.257" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2914" PostTypeId="2" ParentId="2802" CreationDate="2010-11-12T06:20:48.770" Score="21" Body="&lt;p&gt;A family of counter-intuitive results is the whole &quot;prove an upper bound to prove a lower bound&quot; family of results. The Meyer result that $\mathsf{P} = \mathsf{NP}$ implies $\mathsf{EXP} \not\subseteq \mathsf{P}/poly$ is one example of this, and this came to my mind from both Ketan Mulmuley's GCT work as well as Ryan Williams' recent result that again used an upper bound for CIRCUIT-SAT to prove a &lt;em&gt;lower bound&lt;/em&gt; for $\mathsf{NEXP}$ in terms of $\mathsf{ACC}$. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2010-11-12T06:20:48.770" CommentCount="2" CommunityOwnedDate="2010-11-12T06:20:48.770" ContentLicense="CC BY-SA 2.5" />
  <row Id="2915" PostTypeId="1" AcceptedAnswerId="2989" CreationDate="2010-11-12T06:24:47.750" Score="17" ViewCount="767" Body="&lt;p&gt;Given a set S of nxn permutation matrices (which is only a small fraction of the n! possible permutation matrices), how can we find minimal-size subsets T of S such that adding the matrices of T has at least 1 in every position?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am interested in this problem where S is a small subgroup of S_n. I am wondering whether it is possible to find (and implement!) approximation algorithms that are much quicker than the greedy algorithms (run many times until it got 'lucky', which is a very slow procedure but nonetheless it has given some near optimal bounds in small cases), or whether inapproximability guarantees that I cannot. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A few easy facts about this problem:&#xA;A length n cyclic group of permutation matrices solves this problem, of course optimally. (At least n matrices are needed because each permutation matrix has n ones and there are n^2 ones needed.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The sets S of which I am interested do not have a n-cyclic group in them. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This problem is a very special case of set cover. Indeed, if we let X be the set (1,2, ... n)*(1,2,... n), with n^2 elements, then each permutation matrix corresponds to a size n subset, and I'm looking for the smallest subcollection of these subsets that cover X. Set cover itself is not a good way to look at this problem, because approximation of the general set cover problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The only reason why this problem is not much too slow using the greedy approach is because symmetry in the permutation group helps eliminate a lot of redundancy. In particular, if S is a subgroup, and T is a small subset which is a minimal covering set, then the sets sT (multiply T by any element of the group s) are still in S and still are a covering set (of course of the same size, so still minimal.) In case you were wondering, the successful case has n~30 and |S|~1000, with lucky greedy results having |T| ~37. Cases with n~50 have some very poor bounds taking a very long time to get. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;To summarize, I am wondering if there are approximation approaches to this problem or if it is still general enough to fit within some inapproximability theorem- like there is for the general set cover problem. What algorithms are used to approximate related problems in practice? It seems like there may be something possible since the subsets are all of the same size and every element appears at the same small frequency 1/n. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;-B&lt;/p&gt;&#xA;" OwnerUserId="2166" LastEditorUserId="186" LastEditDate="2010-11-12T07:26:15.407" LastActivityDate="2010-11-15T05:12:39.453" Title="Set Cover for Permutation Matrices" Tags="&lt;ds.algorithms&gt;&lt;approximation-algorithms&gt;&lt;set-cover&gt;&lt;permutations&gt;" AnswerCount="2" CommentCount="3" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="2916" PostTypeId="2" ParentId="2908" CreationDate="2010-11-12T06:55:33.617" Score="7" Body="&lt;p&gt;&lt;strike&gt;Clearly polynomial mixing time implies polynomial cover time.&lt;/strike&gt; (Well, not in general. We need the stationary probability at least $1/poly(n)$ at each vertex.) So check Mihail's paper &lt;a href=&quot;http://ieeexplore.ieee.org/iel2/260/2317/00063529.pdf&quot; rel=&quot;nofollow&quot;&gt;Conductance and convergence of Markov chains-a combinatorial treatment of expanders&lt;/a&gt; which proves rapid mixing of regular directed graphs and general Markov chains based on conductance.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also see the paper &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=1132583&quot; rel=&quot;nofollow&quot;&gt;Pseudorandom walks on regular digraphs and the RL vs. L problem&lt;/a&gt; by Reingold, Trevisan, and Vadhan. Following Mihail's work. They defined the parameter $\lambda_\pi(G)$ which is equivalent to $\lambda_2(G)$, the second largest eigenvalue in absolute value, when the graph $G$ is time-reversible, and remains well-defined for general Markov chains. This parameter is then used to bound the mixing time of $G$.&lt;/p&gt;&#xA;" OwnerUserId="245" LastEditorUserId="245" LastEditDate="2010-11-12T18:49:11.513" LastActivityDate="2010-11-12T18:49:11.513" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2917" PostTypeId="1" CreationDate="2010-11-12T07:02:46.253" Score="23" ViewCount="831" Body="&lt;p&gt;For &lt;span class=&quot;math-container&quot;&gt;$A\subset [n]$&lt;/span&gt; denote by &lt;span class=&quot;math-container&quot;&gt;$a_i$&lt;/span&gt; the &lt;span class=&quot;math-container&quot;&gt;$i^{th}$&lt;/span&gt; smallest element of &lt;span class=&quot;math-container&quot;&gt;$A$&lt;/span&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For two &lt;span class=&quot;math-container&quot;&gt;$k$&lt;/span&gt;-element sets, &lt;span class=&quot;math-container&quot;&gt;$A,B\subset [n]$&lt;/span&gt;, we say that &lt;span class=&quot;math-container&quot;&gt;$A\le B$&lt;/span&gt; if &lt;span class=&quot;math-container&quot;&gt;$a_i\le b_i$&lt;/span&gt; for every &lt;span class=&quot;math-container&quot;&gt;$i$&lt;/span&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A &lt;span class=&quot;math-container&quot;&gt;$k$&lt;/span&gt;-uniform hypergraph &lt;span class=&quot;math-container&quot;&gt;${\mathcal H}\subset [n]$&lt;/span&gt; is called a &lt;em&gt;shift-chain&lt;/em&gt; if for any hyperedges, &lt;span class=&quot;math-container&quot;&gt;$A, B \in {\mathcal H}$&lt;/span&gt;, we have &lt;span class=&quot;math-container&quot;&gt;$A\le B$&lt;/span&gt; or &lt;span class=&quot;math-container&quot;&gt;$B\le A$&lt;/span&gt;. (So a shift-chain has at most &lt;span class=&quot;math-container&quot;&gt;$k(n-k)+1$&lt;/span&gt; hyperedges.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We say that a hypergraph  &lt;span class=&quot;math-container&quot;&gt;${\mathcal H}$&lt;/span&gt; is two-colorable (or that it has Property B) if we can color its vertices with two colors such that no hyperedge is monochromatic.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is it true that shift-chains are two-colorable if &lt;span class=&quot;math-container&quot;&gt;$k$&lt;/span&gt; is large enough?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Remarks.&lt;/strong&gt; I first posted this problem on &lt;a href=&quot;https://mathoverflow.net/questions/44312/do-shift-chain-have-property-b&quot;&gt;mathoverflow&lt;/a&gt;, but nobody commented on it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem was investigated on the 1st Emlektabla Workshop for some partial results, see the &lt;a href=&quot;http://www.renyi.hu/~emlektab/index_booklet.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;booklet&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The question is motivated by decomposition of multiple coverings of the plane by translates of convex shapes, there are many open questions in this area. (For more, see my &lt;a href=&quot;http://www.cs.elte.hu/~dom/cikkek/thesis.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;PhD thesis&lt;/a&gt;.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For &lt;span class=&quot;math-container&quot;&gt;$k=2$&lt;/span&gt; there is a trivial counterexample: (12),(13),(23).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A very magical counterexample was given for &lt;span class=&quot;math-container&quot;&gt;$k=3$&lt;/span&gt; by Radoslav Fulek with a computer program:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(123),(124),(125),(135),(145),(245),(345),(346),(347),(357),&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(367),(467),(567),(568),(569),(579),(589),(689),(789).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we allow the hypergraph to be the union of two shift-chains (with the same order), then there is a counterexample for any &lt;span class=&quot;math-container&quot;&gt;$k$&lt;/span&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Update.&lt;/strong&gt; I have recently managed to show that more restricted version of shift-chains are two-colorable in &lt;a href=&quot;http://arxiv.org/abs/1310.6900v1&quot; rel=&quot;nofollow noreferrer&quot;&gt;this preprint&lt;/a&gt;.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Permanent bounty!&lt;/strong&gt; I'm happy to award a 500 bounty for a solution anytime!&lt;/p&gt;&#xA;" OwnerUserId="419" LastEditorUserId="419" LastEditDate="2019-11-14T08:39:50.107" LastActivityDate="2019-11-14T08:40:30.120" Title="Are shift-chains two-colorable?" Tags="&lt;co.combinatorics&gt;&lt;graph-colouring&gt;&lt;hypergraphs&gt;" AnswerCount="2" CommentCount="3" FavoriteCount="3" ContentLicense="CC BY-SA 4.0" />
  <row Id="2918" PostTypeId="2" ParentId="2898" CreationDate="2010-11-12T08:08:59.470" Score="18" Body="&lt;p&gt;Computable Analysis and computability over $2^{\omega}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is related to Dave's answer and domain theory. The basic argument here is that computability is inherently based on &lt;em&gt;local operations&lt;/em&gt; and &lt;em&gt;finite observations&lt;/em&gt;. You can think of computability as a refined notion of topology. The most clear example is that:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;All (oracle Turing) computable functions are continuous. On the other hand, every continuous function is oracle Turing computable with a suitable oracle.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;You can find more in Klaus Weihrauch's book &quot;Computable Analysis&quot;.&#xA;You may also want to take a look at Steven Vickers' nice book called &quot;Topology via Logic&quot;.&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2010-11-12T09:52:06.543" LastActivityDate="2010-11-12T09:52:06.543" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2919" PostTypeId="2" ParentId="2894" CreationDate="2010-11-12T09:01:15.213" Score="23" Body="&lt;p&gt;No, a computer cannot perfectly simulate itself in addition to something else without violating basic &lt;a href=&quot;http://en.wikipedia.org/wiki/Information_theory&quot;&gt;information theory&lt;/a&gt;: there exist strings which are not compressible.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here's the simplest possible proof: suppose the computer has a total of $N$ possible states, and suppose there is something outside of the computer in the universe, so the universe has at least $N+1$ possible distinct states.  With zero overhead, each state of the computer can correspond to a state of the universe, but since the universe has more states than the computer, some states of the universe will map to the same state of the computer, in which case the simulation will not be able to distinguish between them.&lt;/p&gt;&#xA;" OwnerUserId="205" LastActivityDate="2010-11-12T09:01:15.213" CommentCount="7" ContentLicense="CC BY-SA 2.5" />
  <row Id="2921" PostTypeId="2" ParentId="2898" CreationDate="2010-11-12T09:36:45.550" Score="13" Body="&lt;p&gt;Theories to understand concurrency and modeling concurrent computations are best understood topologically. Apart from the famous work by Herlihy and Shavit on the topological structure of async computability mentioned in an earlier answer- Eric goubault has done work on &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.24.1184&quot;&gt;Modeling concurrency with geometry&lt;/a&gt; and Pratt's work on applications of &lt;a href=&quot;http://chu.stanford.edu/guide.html&quot;&gt;Chu spaces&lt;/a&gt; for concurrency at the Stanford Concurrency group is also interesting although i am not familiar with their work.&lt;/p&gt;&#xA;" OwnerUserId="698" LastActivityDate="2010-11-12T09:36:45.550" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2922" PostTypeId="1" AcceptedAnswerId="2927" CreationDate="2010-11-12T10:35:26.693" Score="5" ViewCount="1017" Body="&lt;p&gt;Suppose we have two stacks of cards on a table. On each turn, each of two players draws a card from the top of one of the stacks. The game ends when there are no cards left in either stack. The person with the greatest sum then wins. If this were a chess problem, for example, one could attempt to solve this game by starting from a winning final position, and then inducting backwards. However, in this game, the final card picked up has little bearing, as it is the overall sum that results in a winner. Is it possible to find a game plan for perfect play, assuming both players pursue this game plan?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT: The values of all the cards are known by both players, i.e. the players are omniscient when it comes to information about the cards. The card deck need not be complete, just some random cards in two stacks on a table, and we only care about the values.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT 2: I'm wondering whether this can be solved efficiently with an algorithm that does not have to go through all the potential decisions in a decision tree.&lt;/p&gt;&#xA;" OwnerUserId="2160" LastEditorUserId="2160" LastEditDate="2010-11-12T21:43:55.283" LastActivityDate="2010-11-28T19:50:34.773" Title="Is this game solvable?" Tags="&lt;gt.game-theory&gt;" AnswerCount="4" CommentCount="14" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="2923" PostTypeId="2" ParentId="2922" CreationDate="2010-11-12T11:29:12.107" Score="5" Body="&lt;p&gt;The game you describe can be modelled using an &lt;em&gt;extensive game with perfect information&lt;/em&gt;, a finite one at that. Such games are determined: you will have one of the following cases:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;player 1 has a winning strategy – irrespective of what moves player 2 makes, player 1 will win.&lt;/li&gt;&#xA;&lt;li&gt;player 2 has a winning strategy – irrespective of what moves player 1 makes, player 2 will win.&lt;/li&gt;&#xA;&lt;li&gt;both players can force a draw.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The theorem that this corresponds to is known as Kuhn's Theorem and it states that &lt;em&gt;Every finite extensive game with perfect information has a subgame perfect equilibrium.&lt;/em&gt; Basically, each player has a strategy which will result in the best result for them, regardless of what the other player plays. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any algorithm for computing this, such as the &lt;a href=&quot;http://en.wikipedia.org/wiki/Minimax&quot; rel=&quot;nofollow&quot;&gt;min-max algorithm&lt;/a&gt;, will potentially have to explore the entire game tree. There will of course be whole subtrees that can be pruned, if for example, the value of the remaining cards is less than the difference between the two players' scores. If you also keep track of the fact that you will see various positions multiple times throughout the game, you can make further, possibly significant, savings (using dynamic programming).&lt;/p&gt;&#xA;" OwnerUserId="77" LastEditorUserId="77" LastEditDate="2010-11-12T14:45:11.843" LastActivityDate="2010-11-12T14:45:11.843" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="2924" PostTypeId="1" AcceptedAnswerId="3246" CreationDate="2010-11-12T12:26:43.180" Score="19" ViewCount="4258" Body="&lt;p&gt;This &lt;a href=&quot;https://cstheory.stackexchange.com/questions/2922/is-this-game-solvable&quot;&gt;recent game theory question&lt;/a&gt; got me thinking (this is a tangent, of course): Is it possible to efficiently optimize a personal strategy for choosing research questions to work on using game theory?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In order to head towards a formalization of the question, I'll make the following (informally stated) assumptions:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;I equally &quot;enjoy&quot; any particular problem available for me to work on (in order to avoid the &quot;soft&quot; (and correct!) answer of &quot;Do what you like!&quot;).&#xA;&lt;li&gt;I may or may not be successful at finding an answer to any given problem I choose to work on. For any given problem, I have some estimate of the probability of how good I will be at solving a problem (after investing time in it).&#xA;&lt;li&gt;My goal is to maximize my payoff when being evaluated down the line (applying for a job, applying for tenure, applying for a fellowship, etc.), which is a function of how many problems I solve and how important or hard the problems are. I do not have a clear idea of the exact payoffs per problem, but I can make a reasonable estimate.&#xA;&lt;li&gt;There is a loose inverse relationship between problem payoff and problem difficulty. Another statement of my goal is to &quot;game&quot; the differences (i.e. look for &quot;low-hanging fruit&quot;).&#xA;&lt;li&gt;An instance of this overall problem is specified by a list of research questions (possibly infinite in number), to which I firmly attach (at no computational cost; it's given as input) an estimate of the question's worth and the question's difficulty. I am playing this game against an adversary (the person evaluating me); nature decides, given the probability of me solving a given problem, whether I solve it successfully after I choose to attempt it.&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;In an effort to really formalize what's going on (and sidestep uninteresting or argumentative/discussion-type responses), I will view this problem as an &lt;strong&gt;extensive-form game with incomplete information with an infinite action set&lt;/strong&gt;.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question&lt;/strong&gt;: I assume games of this type are not efficiently computable. However, is there a polynomial time algorithm to approximately maximize my payoff? What about a PTAS?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Or, alternatively, is there a more accurate game-theoretic model for this problem? If so, the same question holds: Can I (approximately) maximize my payoff efficiently? If so, how?&lt;/p&gt;&#xA;" OwnerUserId="108" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.743" LastActivityDate="2010-11-22T03:57:39.487" Title="Choosing a research topic using game theory" Tags="&lt;soft-question&gt;&lt;gt.game-theory&gt;" AnswerCount="1" CommentCount="9" FavoriteCount="12" ContentLicense="CC BY-SA 2.5" />
  <row Id="2925" PostTypeId="2" ParentId="14" CreationDate="2010-11-12T13:08:28.323" Score="4" Body="&lt;p&gt;Take a look at &lt;a href=&quot;http://ge.geglobalresearch.com/&quot; rel=&quot;nofollow&quot;&gt;General Electric Global Research&lt;/a&gt;. In particular, see &lt;a href=&quot;http://ge.geglobalresearch.com/careers/niskayuna-ny-usa/find-a-job/?keyword=computer%252C%2520software&amp;amp;location=TG_SEARCH_ALL&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt; for cool jobs in Computer Science (some of which have a non-empty intersection with theory).&lt;/p&gt;&#xA;" OwnerUserId="947" LastEditorUserId="947" LastEditDate="2010-11-15T12:52:57.903" LastActivityDate="2010-11-15T12:52:57.903" CommentCount="0" CommunityOwnedDate="2010-11-12T13:08:28.323" ContentLicense="CC BY-SA 2.5" />
  <row Id="2926" PostTypeId="2" ParentId="2882" CreationDate="2010-11-12T14:08:14.007" Score="10" Body="&lt;p&gt;Due to the high resource cost involved with Byzantine fault-tolerance, failure models with increasingly stronger assumptions have of course been analyzed, especially w.r.t. to resource requirements to tolerate faults of restricted type. (&lt;a href=&quot;http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=888039&amp;amp;tag=1&quot;&gt;Azadmanesh and Kieckhafer, 2002&lt;/a&gt;) provide a very nice taxonomy (see Fig 1.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The type of failure mode in-between fully asymmetric Byzantine behavior (requiring $3f+1$ nodes) and benign crash faults ($f+1$ nodes), that your are looking for and which has already been mentioned by others above, is the class of &lt;strong&gt;symmetric (omissive) faults&lt;/strong&gt;, where messages are not received by some of the receivers, but no value-faulty (adversary) message is ever received by any node, which requires only $2f+1$ nodes to tolerate $f$ faults. The paper above also summarizes the resource requirements for mixed scenarios.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another way to model failure mode assumptions is to move away from the node-centric point of view, where message loss modeled as the sender's fault, towards the link-fault model, which is just a dual view, once the inconsistencies they can cause in the system are considered. This model has been investigated by (&lt;a href=&quot;http://www.computer.org/portal/web/csdl/doi/10.1109/ICDCS.2002.1022311&quot;&gt;Schmid, Weiss, and Rushby, 2002&lt;/a&gt;), circumventing an impossibility result of (&lt;a href=&quot;http://www.springerlink.com/content/p24u11v1432k4t27/&quot;&gt;Grey, 1978&lt;/a&gt;) showing a deterministic solution of the Coordinated Attack problem under link faults.&lt;/p&gt;&#xA;" OwnerUserId="121" LastEditorUserId="121" LastEditDate="2010-11-12T15:46:32.587" LastActivityDate="2010-11-12T15:46:32.587" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2927" PostTypeId="2" ParentId="2922" CreationDate="2010-11-12T14:36:14.607" Score="9" Body="&lt;p&gt;I haven't thought it carefully, but I think You can use dynamic programming. If we have n cards in first deck and m cards in second deck, then there is n*m possible states of stack.  &lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;Best_Move(i,j)  &#xA;    return Max(Stack1[i]-Best_Move(i-1,j),Stack2[j]-Best_Move(i,j-1))&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;You just have to remember all partial results, so they won't be calculated twice. This should give You the bes strategy in O(n*m).&lt;/p&gt;&#xA;" OwnerUserId="1899" LastEditorUserId="1899" LastEditDate="2010-11-13T02:05:56.023" LastActivityDate="2010-11-13T02:05:56.023" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="2929" PostTypeId="2" ParentId="2863" CreationDate="2010-11-12T15:55:49.997" Score="11" Body="&lt;p&gt;One-way functions also featured in some discussions around the &lt;a href=&quot;http://dx.doi.org/10.1145/800113.803628&quot;&gt;Berman-Hartmanis isomorphism conjecture&lt;/a&gt;.  &lt;a href=&quot;http://dx.doi.org/10.1016/0304-3975(85)90140-9&quot;&gt;Joseph and Young conjectured&lt;/a&gt; that if one-way functions existed then the isomorphism conjecture fails (one-way against deterministic adversaries, not probabilistic ones, but hopefully that's close enough for the purposes of this question).  &lt;a href=&quot;http://dx.doi.org.proxy.uchicago.edu/10.1006/jcss.1997.1486&quot;&gt;John Rogers&lt;/a&gt; gave a relativized world where the Joseph-Young conjecture failed (that is, where one-way functions exist but the isomorphism conjecture holds). But as far as I know the JY conjecture is still one of the main pieces of technical evidence that lead people to think the Isomorphism Conjecture is false (if they do think that).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The essence of the idea of Joseph and Young is that if $f$ is a one-way function, then $f(SAT)$ is $NP$-complete but &quot;shouldn't&quot; be isomorphic to SAT.&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2010-11-12T15:55:49.997" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2930" PostTypeId="1" AcceptedAnswerId="2963" CreationDate="2010-11-12T16:07:06.993" Score="10" ViewCount="354" Body="&lt;p&gt;First of all, I am still not sure whether cstheory is well adapted for this question, so I won't be offended if the crowd thinks it is not the case...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In search engine marketing, several problems are interesting. Design of fair (and profitable) auction mechanisms and computation of optimal bidding strategies under bounded monetary resources are two examples of interesting (and well documented) problems.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another problem of interest is the one of keyword selection: how to select the most profitable keyword (without any link to the amount of money available or to the &quot;topic&quot; of the keyword). &quot;Profitable&quot; can be either giving the best revenue, or the best profit. These problem deals with uncertainty: the clickthrough rate of a keyword is not known, the conversion rate is not known either.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are you aware of some theoretical work related to this problem?&lt;/p&gt;&#xA;" OwnerUserId="76" LastEditorUserId="123" LastEditDate="2010-11-15T23:07:49.397" LastActivityDate="2018-02-12T11:14:21.447" Title="Keyword selection problem in search engine marketing auction" Tags="&lt;reference-request&gt;&lt;lg.learning&gt;&lt;gt.game-theory&gt;" AnswerCount="3" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2931" PostTypeId="2" ParentId="2894" CreationDate="2010-11-12T16:59:25.790" Score="6" Body="&lt;p&gt;I guess we could try to see this as a &lt;strong&gt;modelling problem&lt;/strong&gt;: how can we re-phrase the question so that it becomes computer science and not physics? I'll try to give a simple, concrete example of how we might try to do this, to get things started...&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Let's replace the &quot;universe&quot; by something that is very discrete and simple (and finite!). Let's say that our universe is a finite cellular automaton. In particular, the whole world $W$ is an $n \times n$ grid.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assume that the initial configuration of the world $W$ is arbitrary. Now the question seems to be the following: Can we choose a strict subset $C$ of $W$ (&quot;computer&quot;), and an initial state of $C$, that satisfies the following conditions:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;We do not change the initial state of $W \setminus C$. (That is, we just &quot;build our computer $C$&quot;, without tampering the world outside it.)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Then we can run any number of steps of the cellular automaton (the whole world $W$, including $C$ and any interactions between $W \setminus C$ and $C$).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;We can read the current state of the world $W$ by merely inspecting $C$. (That is, $C$ must be a &quot;simulation&quot; of $W$. Note that we must be able to read the state of whole $W$, not only $W \setminus C$. In a sense, $C$ must be able to simulate both its outside and its inside!)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Now, is this doable? It might be tempting to use a counting argument (there are more states in $W$ than in $C$) and say that it is impossible. But this is not necessarily the case!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let's assume that our cellular automaton is &lt;a href=&quot;https://secure.wikimedia.org/wikipedia/en/wiki/Cellular_automaton#Totalistic&quot;&gt;totalistic&lt;/a&gt;. Then what we can do is we simply let $C$ be the right half of our grid $W$, and let the initial configuration of $C$ be a mirror image of $W \setminus C$, so that everything is symmetric. That's it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Start the automaton and see what happens. The current state of $W$ will always be equal to the state of $C$ + its mirror image. That is, merely inspecting $C$ is enough to tell what is the state of whole $W$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Of course here the computer interacts with $W$, and affects the future state of $W \setminus C$. But that's what happens in the real world, too.)&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Now it might be interesting to see if there is a &lt;em&gt;non-trivial&lt;/em&gt; answer to this question. For example, which CAs admit computers that have size &lt;em&gt;smaller&lt;/em&gt; than half of $W$?&lt;/p&gt;&#xA;" OwnerUserId="74" LastActivityDate="2010-11-12T16:59:25.790" CommentCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="2933" PostTypeId="2" ParentId="2898" CreationDate="2010-11-12T17:42:54.563" Score="8" Body="&lt;p&gt;Check this book, &lt;a href=&quot;http://www.elsevier.com/wps/find/bookdescription.cws_home/703042/description&quot;&gt;Computational Complexity: A Quantitative Perspective,&lt;/a&gt;&#xA;&lt;a href=&quot;http://www.elsevier.com/wps/find/bookdescription.cws_home/703042/description&quot;&gt;&lt;/a&gt; it studies the size of some complexity classes using resource-bounded topological tools.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It gives interesting topological view on the $P$ vs $NP$ problem. Basically, If $P \ne NP$ then $NP-P$ is topologically not small. The class $NP$-complete is topologically small. According to the author, topological not smallness of $NP-P$ means that it is of the second Baire category.&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2010-11-12T18:03:24.150" LastActivityDate="2010-11-12T18:03:24.150" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2934" PostTypeId="1" CreationDate="2010-11-12T17:54:50.587" Score="20" ViewCount="1660" Body="&lt;p&gt;Most papers are now written collaboratively, and collaborators are often located in different places.  I have always used version control systems for my documents and code, and have also found version control critical for collaborative software projects, but it seems many researchers in theory avoid their use for writing joint papers.  To convince my collaborators that version control (revision control) is a good idea for working together, there seem to be some prerequisites.  &lt;em&gt;It is not possible to force everyone to worry about a specific set of conventions for line breaks and paragraphs, or to avoid tab/space conversions.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Does someone offer free hosting of small shared document repositories, with text-document-friendly version control that can handle word-level diffs (&lt;strong&gt;&lt;em&gt;not&lt;/em&gt;&lt;/strong&gt; line-based)?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;If not, then I would welcome other suggestions that are based on experience (let's avoid speculation, please).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I was thinking of Git, Subversion, Mercurial, darcs, or Bazaar, set up to handle word-level differences with wdiff, together with a simple way of setting up access secured by public keys (for instance via ssh).  However, none of the version control providers that I looked at seem to offer anything like this.  For scientific collaboration the &quot;enterprise&quot; features stressed by many of these companies are not very important (lots of branches, integration with trac, auditing by third parties, hierarchical project teams).  But word-level diffs seem critical yet unsupported.  In my experience, with line-level diffs for text files, everyone has to avoid reformatting paragraphs and editors that change tabs to spaces or vice versa cause problems; there also seem to be many spurious edit conflicts.  I have used wdiff and latexdiff quite successfully to help with manual merging of changes previously, so I am hoping a word-level diff would reduce such problems.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See related question at MO about &lt;a href=&quot;https://mathoverflow.net/questions/3044/tools-for-collaborative-paper-writing&quot;&gt;tools for collaboration&lt;/a&gt;, and related questions over at TeX.SE, about &lt;a href=&quot;https://tex.stackexchange.com/questions/1118/what-are-the-advantages-of-using-version-control-git-cvs-etc-in-latex-document&quot;&gt;version control for LaTeX documents&lt;/a&gt; and &lt;a href=&quot;https://tex.stackexchange.com/questions/161/latex-packages-for-use-with-revision-control&quot;&gt;LaTeX packages for version control&lt;/a&gt;.  See also the &lt;a href=&quot;http://www.svnhostingcomparison.com/&quot; rel=&quot;nofollow noreferrer&quot;&gt;SVN Hosting Comparison Review Chart&lt;/a&gt; for a large list of hosting providers, for just one of the main version control systems.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Edit:&lt;/em&gt; Jukka Suomela's answer to the TeX.SE question &quot;&lt;a href=&quot;https://tex.stackexchange.com/questions/4182/best-latex-aware-diff-and-merge-tools-for-subversion&quot;&gt;Best LaTeX-aware diff and merge tools for subversion&lt;/a&gt;&quot; seems to be the best suggestion so far, covering how to interpret the deltas on a word level.  Moreover, Jukka has explained how the differences between successive versions on the repository end are separate from the user-level differences used for conflict detection and merging of changes.  Jukka's answer at TeX.SE explicitly excludes simultaneous edits and merging, relying instead on the traditional atomic edit token to avoid edit conflicts.  Clarifying (and modifying) my original question, is there a way to ensure that edit conflicts can be resolved on a word difference basis, rather than on a line difference basis?  In other words, can &lt;code&gt;wdiff&lt;/code&gt; or similar tools be integrated into the &lt;em&gt;conflict detection&lt;/em&gt; part of the version control tools, similar to the way end-of-line differences and differences in whitespace can be ignored?&lt;/p&gt;&#xA;" OwnerUserId="109" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.530" LastActivityDate="2013-02-19T03:07:11.363" Title="Version control for collaboration (with word-level diffs)?" Tags="&lt;soft-question&gt;&lt;research-practice&gt;&lt;software&gt;&lt;writing&gt;" AnswerCount="5" CommentCount="13" FavoriteCount="11" ContentLicense="CC BY-SA 2.5" />
  <row Id="2935" PostTypeId="1" AcceptedAnswerId="2945" CreationDate="2010-11-12T17:58:49.743" Score="9" ViewCount="624" Body="&lt;p&gt;Let $\Sigma$ be an alphabet, ie a nonempty finite set. A string is any finite sequence of elements (characters) from $\Sigma$. As an example, $ \{0, 1\}$ is the binary alphabet and $0110$ is a string for this alphabet.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Usually, as long as $\Sigma$ contains more than 1 element, the exact number of elements in $\Sigma$ doesn't matter: at best we end up with a different constant somewhere. In other words, it doesn't really matter if we use the binary alphabet, the numbers, the Latin alphabet or Unicode.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Are there examples of situations in which it matters how large the alphabet is?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The reason I'm interested in this is because I happened to stumble upon one such example:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For any alphabet $\Sigma$ we define the random oracle $O_{\Sigma}$ to be an oracle that returns random elements from $\Sigma$, such that every element has an equal chance of being returned (so the chance for every element is $\frac{1}{|\Sigma|}$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For some alphabets $\Sigma_1$ and $\Sigma_2$ - possibly of different sizes - consider the class of oracle machines with access to $O_{\Sigma_1}$. We're interested in the oracle machines in this class that behave the same as $O_{\Sigma_2}$. In other words, we want to convert an oracle $O_{\Sigma_1}$ into an oracle $O_{\Sigma_2}$ using a Turing machine. We will call such a Turing machine a conversion program.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $\Sigma_1 = \{ 0, 1 \}$ and $\Sigma = \{ 0, 1, 2, 3 \}$. Converting $O_{\Sigma_1}$ into an oracle $O_{\Sigma_2}$ is easy: we query $O_{\Sigma_1}$ twice, converting the results as follows: $00 \rightarrow 0$, $01 \rightarrow 1$, $10 \rightarrow 2$, $11 \rightarrow 3$. Clearly, this program runs in $O(1)$ time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now let $\Sigma_1 = \{ 0, 1 \}$ and $\Sigma = \{ 0, 1, 2 \}$. For these two languages, all conversion programs run in $O(\infty)$ time, ie there are no conversion programs from $O_{\Sigma_1}$ to $O_{\Sigma_2}$ that run in $O(1)$ time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This can be proven by contradiction: suppose there exists a conversion program $C$ from $O_{\Sigma_1}$ to $O_{\Sigma_2}$ running in $O(1)$ time. This means there is a $d \in \mathbb{N}$ such that $C$ makes at most $d$ queries to $\Sigma_1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$C$ may make less than $d$ queries in certain execution paths. We can easily construct a conversion program $C&amp;#39;$ that executes $C$, keeping track of how many times an oracle query was made. Let $k$ be the number of oracle queries. $C&amp;#39;$ then makes $d-k$ additional oracle queries, discarding the results, returning what $C$ would have returned.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This way, there are exactly $|\Sigma_1|^d = 2^d$ execution paths for $C&amp;#39;$. Exactly $\frac{1}{|\Sigma_2|} = \frac{1}{3}$ of these execution paths will result in $C&amp;#39;$ returning $0$. However, $\frac{2^d}{3}$ is not an integer number, so we have a contradiction. Hence, no such program exists.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More generally, if we have alphabets $\Sigma_1$ and $\Sigma_2$ with $|\Sigma_1|=n$ and $|\Sigma_2|=k$, then there exists a conversion program from $O_{\Sigma_1}$ to $O_{\Sigma_2}$ if and only if all the primes appearing in the prime factorisation of $n$ also appear in the prime factorisation of $k$ (so the exponents of the primes in the factorisation doesn't matter).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A consequence of this is that if we have a random number generator generating a binary string of length $l$, we can't use that random number generator to generate a number in $\{0, 1, 2\}$ with exactly equal probability.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I thought up the above problem when standing in the supermarket, pondering what to have for dinner. I wondered if I could use coin tosses to decide between choice A, B and C. As it turns out, that is impossible.&lt;/p&gt;&#xA;" OwnerUserId="988" LastActivityDate="2010-11-16T02:55:17.563" Title="Examples in which the size of the alphabet ($\geq 2$) used for an encoding matters" Tags="&lt;big-list&gt;&lt;encoding&gt;&lt;examples&gt;" AnswerCount="5" CommentCount="3" FavoriteCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="2936" PostTypeId="2" ParentId="2930" CreationDate="2010-11-12T18:33:23.300" Score="7" Body="&lt;p&gt;There is in fact a lot of theoretical work in this area starting with the work of &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.120.983&quot; rel=&quot;noreferrer&quot;&gt;Mehta, Saberi, Vazirani, Vazirani'2005&lt;/a&gt;. More examples of papers dealing with clickthrough rates and inputs from random permutations include &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.87.9205&quot; rel=&quot;noreferrer&quot;&gt;Goel-Mehta'08&lt;/a&gt;, &lt;a href=&quot;http://arxiv.org/abs/cs.DS/0612072&quot; rel=&quot;noreferrer&quot;&gt;Muthukrishnan-Pal-Svitkina'07&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is a wealth of research done on several variants of ad-auction problems, especially in the last two years. You will find more related papers in the proceedings of International Workshop On Internet And Network Economics (WINE) and Electronic Commerce (EC) conferences. Since these conferences are well-represented by attendees from companies like Yahoo, Google, Amazon etc., you will find papers addressing very practical variants of your problem.&lt;/p&gt;&#xA;" OwnerUserId="344" LastActivityDate="2010-11-12T18:33:23.300" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2937" PostTypeId="2" ParentId="2935" CreationDate="2010-11-12T18:35:14.603" Score="9" Body="&lt;p&gt;The requirements of your example are quite strict. If you relax it to only require that the conversion works in $O(1)$ in &lt;strong&gt;expectation&lt;/strong&gt;. It is possible to sample uniformly from $\{0,1,2\}$ using, in expectation, a constant number of coin tosses.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am not an expert on this but one nice example were the size of the alphabet does matter are coding and succinct data structures. Imagine you want to represent a message over the alphabet $\{0,1,2\}$ in the alphabet $\{0,1\}$ (e.g. to store it in your binary computer). You want to minimize the space required but at the same time, you want to be able to read and write individual characters of the message fast (let's say in $O(1)$). Problems like this have been studied for quite some time now. The recent &lt;a href=&quot;http://people.csail.mit.edu/mip/papers/trits/paper.pdf&quot;&gt;paper&lt;/a&gt; by Dodis, Patrascu, and Thorup on it, and the references therein, should be a good point to start.&lt;/p&gt;&#xA;" OwnerUserId="127" LastActivityDate="2010-11-12T18:35:14.603" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2938" PostTypeId="2" ParentId="2922" CreationDate="2010-11-12T18:47:09.033" Score="5" Body="&lt;p&gt;I'm not sure why Tomek removed &lt;a href=&quot;https://cstheory.stackexchange.com/questions/2922/is-this-game-solvable/2927#2927&quot;&gt;his answer&lt;/a&gt;, but it seems right to me.  The dynamic programming algorithm will compute for each (i,j) the maximum advantage that the first player can have over the second player starting with only the last i cards of the first stack and the last j cards of the second stack.  (advantage = sum of cards of first player minus sum of cards of second player, when both play optimally -- may be negative).  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Entry(i,j) = max(stack1(i)-entry(i-1,j), stack2(j)-entry(i,j-1))&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(the minus sign is since after the first player's move, it is the second player who moves and thus gets the advantage promised by the entries.) &lt;/p&gt;&#xA;" OwnerUserId="42" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2010-11-12T18:47:09.033" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="2939" PostTypeId="2" ParentId="2863" CreationDate="2010-11-12T19:17:40.447" Score="6" Body="&lt;p&gt;There are lots of &quot;cryptographic hardness&quot; results (just Google this phrase) for learning problems. These are hardness results assuming that one way functions exist.&lt;/p&gt;&#xA;" OwnerUserId="1621" LastActivityDate="2010-11-12T19:17:40.447" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="2941" PostTypeId="2" ParentId="2930" CreationDate="2010-11-12T19:47:46.387" Score="8" Body="&lt;p&gt;In the most basic form this can be viewed as a learning problem: each keyword gives some profit (taking into account CTR, conversion rate, prices, etc.) which is not known and needs to be learned.  More or less a Multi-armed bandit problem.  &lt;/p&gt;&#xA;" OwnerUserId="42" LastActivityDate="2010-11-12T19:47:46.387" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2942" PostTypeId="2" ParentId="189" CreationDate="2010-11-12T20:15:15.137" Score="83" Body="&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Euclidean_algorithm&quot;&gt;&lt;strong&gt;Euclidean algorithm&lt;/strong&gt;&lt;/a&gt; to compute &lt;a href=&quot;http://en.wikipedia.org/wiki/Greatest_common_divisor&quot;&gt;the greatest common divisor (GCD)&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="699" LastActivityDate="2010-11-12T20:15:15.137" CommentCount="2" CommunityOwnedDate="2010-11-12T20:15:15.137" ContentLicense="CC BY-SA 2.5" />
  <row Id="2943" PostTypeId="2" ParentId="2934" CreationDate="2010-11-12T20:18:54.247" Score="1" Body="&lt;p&gt;I understand the problem very well.  I have started using &lt;a href=&quot;http://www.kaleidoscopeapp.com/&quot; rel=&quot;nofollow&quot;&gt;Kaleidoscope&lt;/a&gt; for diffs with git.  It is Mac-only but its comparisons work better than wdiff, and it also has an interface and live updates.  &lt;/p&gt;&#xA;" OwnerDisplayName="greeneggs" LastActivityDate="2010-11-12T20:18:54.247" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2944" PostTypeId="2" ParentId="2935" CreationDate="2010-11-12T21:54:27.393" Score="11" Body="&lt;p&gt;&lt;a href=&quot;http://www.cs.huji.ac.il/~dinuri/mypapers/combpcp.pdf&quot; rel=&quot;nofollow&quot;&gt;Dinur's proof&lt;/a&gt; of the PCP theorem relies heavily on the manipulation of the alphabet size. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Specifically, the overall structure of the proof is an iterative application of a graph powering technique a logarithm in the graph size number of times. On each iteration, the graph is pre-processed into a regular expanding graph, amplified by a power (which blows up the alphabet size), and then a PCP composition is applied (turning each constraint over a large alphabet into a system of constraints over a small alphabet).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The implicit goal of the process is to find a way to re-use the amplification step until the UNSAT value becomes a constant fraction (proving the PCP theorem). The key point is that unless the alphabet size is pulled back each time, the resulting graph is not what is needed for the final reduction.&lt;/p&gt;&#xA;" OwnerUserId="108" LastActivityDate="2010-11-12T21:54:27.393" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2945" PostTypeId="2" ParentId="2935" CreationDate="2010-11-12T23:06:44.887" Score="11" Body="&lt;p&gt;There are some examples in formal language theory where 2-character and 3-character alphabets give qualitatively different behaviors. Kozen gives the following &lt;a href=&quot;http://www.cs.cornell.edu/~kozen/papers/2and3.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;nice example&lt;/a&gt; (paraphrased):&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Let the alphabet be &lt;span class=&quot;math-container&quot;&gt;$\Sigma$&lt;/span&gt; = {1,..,k} with the standard numerical ordering, and define sort(x) to be the permutation of the word x in which the letters of x appear in sorted order. Extend sort(A) = { sort(x) | x &lt;span class=&quot;math-container&quot;&gt;$\in$&lt;/span&gt; A }, and consider the following claim:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;If A is context-free then sort(A) is context-free.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;This claim is true for k = 2, but false for k &lt;span class=&quot;math-container&quot;&gt;$\ge$&lt;/span&gt; 3.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="149" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2010-11-12T23:06:44.887" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2946" PostTypeId="2" ParentId="174" CreationDate="2010-11-12T23:42:36.417" Score="8" Body="&lt;p&gt;Algebraic dichotomy conjecture (Bulatov, Jeavons and Krokhin): Assuming ETH, every constraint satisfaction problem is either in $P$ or requires $2^{&#xD;&#xA;\Omega(n)}$ time.&lt;/p&gt;&#xA;" OwnerUserId="495" LastActivityDate="2010-11-12T23:42:36.417" CommentCount="1" CommunityOwnedDate="2010-11-12T23:42:36.417" ContentLicense="CC BY-SA 2.5" />
  <row Id="2947" PostTypeId="2" ParentId="2075" CreationDate="2010-11-13T00:04:37.080" Score="2" Body="&lt;p&gt;I am not a CS theory guy. But in ergodic theory this type of mapping is known as &lt;em&gt;finitary&lt;/em&gt; isomorphisms. For example people considered if two Bernoulli sequences of the same entropy is finitarily isomorphic or not. For example (this is one-sided shift because it seems you are concerned with $P^{\mathbb{N}}$ rather than $P^{\mathbb{Z}}$):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A. Del Junco, “Finitary codes between one-sided Bernoulli shifts,” Ergodic&#xA;Theory Dynamical Systems, vol. 1, pp. 285–301, 1981.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;P.S. I intend to leave this as a comment but I cannot due to lack of reputation. Let me know if it is completely off-topic then I will delete it.&lt;/p&gt;&#xA;" OwnerUserId="2174" LastActivityDate="2010-11-13T00:04:37.080" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="2948" PostTypeId="2" ParentId="2917" CreationDate="2010-11-13T02:17:22.137" Score="13" Body="&lt;p&gt;This is not an answer.  What follows is a simple proof that the construction for &lt;i&gt;k&lt;/i&gt;=3 is indeed a counterexample.  I think that the asker knows this proof, but I will post it anyway because the proof is nice and this might be useful when people consider the case of larger &lt;i&gt;k&lt;/i&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is easy to verify that it is a shift-chain.  Let’s show that it does not have Property B.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In fact, the subhypergraph {(123), (145), (245), (345), (346), (347), (357), (367), (467), (567), (568), (569), (789)} already fails to satisfy Property B.  To see this, suppose that this hypergraph has a 2-coloring and let &lt;i&gt;c&lt;/i&gt;&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt; be the color of the vertex &lt;i&gt;i&lt;/i&gt;.  Look at three hyperedges (145), (245), (345).  If &lt;i&gt;c&lt;/i&gt;&lt;sub&gt;4&lt;/sub&gt;=&lt;i&gt;c&lt;/i&gt;&lt;sub&gt;5&lt;/sub&gt;, then all of 1, 2 and 3 must be the opposite color to &lt;i&gt;c&lt;/i&gt;&lt;sub&gt;4&lt;/sub&gt;, but this would give a monochromatic hyperedge (123).  Therefore, it must be the case that &lt;i&gt;c&lt;/i&gt;&lt;sub&gt;4&lt;/sub&gt;≠&lt;i&gt;c&lt;/i&gt;&lt;sub&gt;5&lt;/sub&gt;.  Similarly,&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;i&gt;c&lt;/i&gt;&lt;sub&gt;3&lt;/sub&gt;≠&lt;i&gt;c&lt;/i&gt;&lt;sub&gt;4&lt;/sub&gt; by comparing the three hyperedges (345), (346), (347) and noticing a hyperedge (567).&lt;/li&gt;&#xA;&lt;li&gt;&lt;i&gt;c&lt;/i&gt;&lt;sub&gt;6&lt;/sub&gt;≠&lt;i&gt;c&lt;/i&gt;&lt;sub&gt;7&lt;/sub&gt; by comparing the three hyperedges (367), (467), (567) and noticing a hyperedge (345).&lt;/li&gt;&#xA;&lt;li&gt;&lt;i&gt;c&lt;/i&gt;&lt;sub&gt;5&lt;/sub&gt;≠&lt;i&gt;c&lt;/i&gt;&lt;sub&gt;6&lt;/sub&gt; by comparing the three hyperedges (567), (568), (569) and noticing a hyperedge (789).&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Therefore, we have &lt;i&gt;c&lt;/i&gt;&lt;sub&gt;3&lt;/sub&gt;≠&lt;i&gt;c&lt;/i&gt;&lt;sub&gt;4&lt;/sub&gt;≠&lt;i&gt;c&lt;/i&gt;&lt;sub&gt;5&lt;/sub&gt;≠&lt;i&gt;c&lt;/i&gt;&lt;sub&gt;6&lt;/sub&gt;≠&lt;i&gt;c&lt;/i&gt;&lt;sub&gt;7&lt;/sub&gt;.  But this implies &lt;i&gt;c&lt;/i&gt;&lt;sub&gt;3&lt;/sub&gt;=&lt;i&gt;c&lt;/i&gt;&lt;sub&gt;5&lt;/sub&gt;=&lt;i&gt;c&lt;/i&gt;&lt;sub&gt;7&lt;/sub&gt;, making the hyperedge (357) monochromatic.  This contradicts the assumption of the 2-coloring.&lt;/p&gt;&#xA;" OwnerUserId="567" LastActivityDate="2010-11-13T02:17:22.137" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2949" PostTypeId="2" ParentId="2934" CreationDate="2010-11-13T04:18:42.197" Score="4" Body="&lt;p&gt;I suggest taking a look at:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://en.wikibooks.org/wiki/LaTeX/Collaborative_Writing_of_LaTeX_Documents&quot; rel=&quot;nofollow&quot;&gt;LaTeX/Collaborative Writing of LaTeX Documents&lt;/a&gt;,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;and the related paper:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.118.4587&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;nofollow&quot;&gt;Tools for Collaborative Writing of Scientific LaTeX Documents&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="873" LastActivityDate="2010-11-13T04:18:42.197" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2950" PostTypeId="2" ParentId="2915" CreationDate="2010-11-13T06:46:51.300" Score="11" Body="&lt;p&gt;Over lunch in Brussels we proved this problem is NP-Hard by a fairly short reduction from 3SAT. Our proof doesn't lead to an inapproximability result (yet). We'll think more about it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Roughly, you transform a 3-SAT instance (with n variables and c clauses) into a series of permutations structured as follows:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1...n for numbering the n variables&#xA;n+1 used by the variable gadget&#xA;n+2, n+3 representing the 1st clause&#xA;...&#xA;n+2j, n+2j+1 representing the jth clause&#xA;n+2c+2 used by the garbage collector&lt;/p&gt;&#xA;&#xA;&lt;p&gt;variable xi is represented by the permutation&#xA;1,...,i-1,n+1,i+1,...,n,i,...&#xA;and swapping n+2j+1, n+2j for every clause where j where xi appears;&#xA;and  the permutation&#xA;1,...,i-1,n+1,i+1,...,n,i,...&#xA;and swapping n+2j+1, n+2j for every clause where j where -xi appears.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then we use the garbage collector to place each number in a position where it could not appear otherwise. To place x in position y, we put y in position n+2c+2 and n+2c+2 in position x. We will have exactly n+2c-1 such garbage collectors for each variable and 2(n+2c-1) for each clause. The 3SAT is satisfiable iff we can choose exactly one of the 2 permutations for each variable, iff the permutation set cover has a solution of size n+(n+2c-1)(n+2c).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are probably some minor details missing for small instances.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Stefan.&lt;/p&gt;&#xA;" OwnerUserId="2175" LastActivityDate="2010-11-13T06:46:51.300" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2951" PostTypeId="1" AcceptedAnswerId="2952" CreationDate="2010-11-13T07:29:05.993" Score="30" ViewCount="3568" Body="&lt;p&gt;It doesn't seem like this is known - but are there any interesting lower bounds on the complexity of matrix multiplication in the quantum computing model?  Do we have any intuition that we can beat the complexity of the Coppersmith-Winograd algorithm using quantum computers?&lt;/p&gt;&#xA;" OwnerUserId="170" LastEditorUserId="5385" LastEditDate="2012-05-16T06:34:00.220" LastActivityDate="2012-05-16T06:34:00.220" Title="Quantum matrix multiplication?" Tags="&lt;reference-request&gt;&lt;quantum-computing&gt;&lt;matrix-product&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="2952" PostTypeId="2" ParentId="2951" CreationDate="2010-11-13T09:35:31.470" Score="26" Body="&lt;p&gt;In &lt;a href=&quot;http://arxiv.org/abs/quant-ph/0409035v2&quot;&gt;arXiv:quant-ph/0409035v2&lt;/a&gt; Buhrman and Spalek present a quantum algorithm beating the Coppersmith-Winograd algorithm in cases where the output matrix has few nonzero entries.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt; There is also a slightly improved quantum algorithm by &lt;a href=&quot;http://theorie.informatik.uni-ulm.de/Personen/Thierauf/Papers/quant-walk.pdf&quot;&gt;Dörn and Thierauf&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt; There is an improved quantum algorithm by &lt;a href=&quot;http://francoislegall.com/LeGallSODA12-p.pdf&quot;&gt;Le Gall&lt;/a&gt; beating Burhman and Spalek in general.&lt;/p&gt;&#xA;" OwnerUserId="121" LastEditorUserId="121" LastEditDate="2011-11-25T15:50:56.610" LastActivityDate="2011-11-25T15:50:56.610" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="2953" PostTypeId="1" AcceptedAnswerId="2957" CreationDate="2010-11-13T10:03:50.480" Score="121" ViewCount="12046" Body="&lt;p&gt;After reading Daniel Apon's &lt;a href=&quot;https://cstheory.stackexchange.com/questions/2924/choosing-a-research-topic-using-game-theory&quot;&gt;question&lt;/a&gt;, I started thinking that it might be useful (especially to junior researchers and graduate students like me) to ask a broader and more general question so we can learn from the experience of more senior researchers. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;So here is the question:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What practices have you found most useful in your research?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I don't want to restrict it to any particular type of advice, so any advice on research practice is welcome.&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2018-07-13T04:29:55.887" Title="Advice on good research practices" Tags="&lt;soft-question&gt;&lt;research-practice&gt;&lt;advice-request&gt;" AnswerCount="13" CommentCount="3" FavoriteCount="130" CommunityOwnedDate="2010-11-15T00:36:37.790" ContentLicense="CC BY-SA 2.5" />
  <row Id="2954" PostTypeId="2" ParentId="2953" CreationDate="2010-11-13T11:05:11.863" Score="48" Body="&lt;p&gt;There is plenty of things that can be given as advice, but I tell 3 things to all my students (in no specific order):&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Be a (wo)man of scientific integrity. This is clearly harder in those days where we have to publish or perish, but trust if the basis of scientific relationship, and if we lose it we lose everything.&lt;/li&gt;&#xA;&lt;li&gt;Tenacity and hard work are the only mandatory things to succeed in research. OK, being smart is a big plus, but it is nothing without work.&lt;/li&gt;&#xA;&lt;li&gt;Keep track of what you have done, of why you have done it and of what is not working. It is indeed amazing how fast we lose our memory, since a few years I started writing &lt;em&gt;everything&lt;/em&gt; (from the dumbest to smartest ideas) in notebooks. I added some extra shelves in my office specially for that, but it is worth the carpentering effort.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="76" LastEditorUserId="22418" LastEditDate="2014-04-07T10:28:49.643" LastActivityDate="2014-04-07T10:28:49.643" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="2956" PostTypeId="2" ParentId="2953" CreationDate="2010-11-13T12:57:17.083" Score="24" Body="&lt;p&gt;Sylvain's already mentioned as much, but I think it's worth emphasizing how important hard work and persistence are. Also, I can add:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Drink coffee. (It's honestly helped me!)&#xA;As Alfréd Rényi put it,&#xA;&lt;blockquote&gt;A mathematician is a machine for turning coffee into theorems.&lt;/blockquote&gt;&#xA;&lt;b&gt;Addendum:&lt;/b&gt; Since considering the comments of others about coffee, I have discovered the wonders of a fresh cup of hot tea. :) Allow me amend this comment by saying:&lt;br&gt;&lt;br&gt;Try identifying the things that get you &quot;in the mood&quot; to work. It might be a cup of coffee, a cup of tea, the right type of music, or whatever. Some things will make you perform BETTER, some things will make you perform WORSE (coffee putting you on edge/giving you the jitters, the wrong type of music distracting you, etc). Importantly, these can be very personalized types of triggers, but it is DEFINITELY worthwhile to find the things that work for you!&lt;br&gt; &lt;br&gt;&#xA;&lt;li&gt;Practice discipline. Having a regular time set aside to work on research, and absolutely never missing it can work wonders. You can then consciously tweak the frequency and duration of these regular times to suit yourself.&#xA;&lt;li&gt;When you take breaks, make sure it's a &lt;i&gt;full&lt;/i&gt; break. Some people are naturally better at this than others, but I believe it's important to find periodic times to completely forget about TCS/research/work/school/etc for a full day and go do something completely recreational. (Of course, do this in moderation, or you won't get anything done!)&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="108" LastEditorUserId="108" LastEditDate="2010-11-20T20:53:00.637" LastActivityDate="2010-11-20T20:53:00.637" CommentCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="2957" PostTypeId="2" ParentId="2953" CreationDate="2010-11-13T13:31:42.463" Score="102" Body="&lt;p&gt;One thing I found useful is to allocate time and designate a space for doing specific research activities. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;When I was at Princeton U, I loved sitting at the Engineering library that is well lit, bright and spacious, to read and to think of new ideas. When I verified my 139 pages paper, I used to do it in a room in the biology library at Weizmann that had no computers and no other people, only a desk, chairs and a window to an inner garden. When I go over introductions or notes, I like doing it in coffee shops.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are several reasons why I found this to be a good practice for me:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(1) Just pondering about a good environment for me for an activity fills me with anticipation for this activity, or at least somewhat prepares me for it. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;(2) The fact that I decide to do something specific at this time, and I have the space I need for doing that, induces simplicity, clarity and good order.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(3) Knowing what I like, what I care about, and also what distracts me and what is not good for me, I create environments that make it is easier for me to do what I need to do.&lt;/p&gt;&#xA;" OwnerUserId="1621" LastActivityDate="2010-11-13T13:31:42.463" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="2958" PostTypeId="2" ParentId="2898" CreationDate="2010-11-13T13:43:09.487" Score="14" Body="&lt;p&gt;Haven't seen mentioned work of &lt;a href=&quot;http://www.math.uiuc.edu/~ghrist/index_files/research.htm&quot; rel=&quot;nofollow&quot;&gt;Robert Ghrist&lt;/a&gt;, formerly at Illinois but now at U Penn, applying topology to stuff like sensor networks and robotics. Here is a nice &lt;a href=&quot;http://www.johndcook.com/blog/2010/09/13/applied-topology-and-dante-an-interview-with-robert-ghrist/&quot; rel=&quot;nofollow&quot;&gt;interview.&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also very related to work of &lt;a href=&quot;http://comptop.stanford.edu/&quot; rel=&quot;nofollow&quot;&gt;Gunnar Carlsson&lt;/a&gt; et al on applying &lt;a href=&quot;http://www.ams.org/images/carlsson-notes.pdf&quot; rel=&quot;nofollow&quot;&gt;topology to data analysis&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Not the STOC/FOCS TCS perhaps, but definitely computer science.&lt;/p&gt;&#xA;" OwnerUserId="847" LastEditorUserId="34442" LastEditDate="2015-11-15T09:31:56.220" LastActivityDate="2015-11-15T09:31:56.220" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="2959" PostTypeId="2" ParentId="2951" CreationDate="2010-11-13T15:21:41.807" Score="14" Body="&lt;p&gt;If you are interested in multiplying two matrices and getting back the full classical result, then Martin's response is probably a definitive answer to your question. However, if you want to calculate something like $v^\dagger X Y v$ then you can do this extremely efficiently. Harrow, Hassidim and Lloyd have an algorithm (&lt;a href=&quot;http://arxiv.org/abs/0811.3171&quot;&gt;arXiv:0811.3171&lt;/a&gt;) for calculating $v X^{-1} v$ which is only logarithmic in the dimensions of the matrix $X$ for sparse matrices. It seems relatively straight forward to adapt this approach to calculate products rather than inverses.&lt;/p&gt;&#xA;" OwnerUserId="204" LastEditorUserId="204" LastEditDate="2010-11-13T15:51:51.160" LastActivityDate="2010-11-13T15:51:51.160" CommentCount="6" ContentLicense="CC BY-SA 2.5" />
  <row Id="2961" PostTypeId="2" ParentId="2892" CreationDate="2010-11-13T16:44:55.467" Score="23" Body="&lt;p&gt;Thanks for your question!  There are two answers, depending on whether you're interested in the hardness results for &lt;i&gt;exact&lt;/i&gt; or &lt;i&gt;approximate&lt;/i&gt; BosonSampling.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the exact case, we prove that given &lt;i&gt;any&lt;/i&gt; n-by-n complex matrix A, you can construct an optical experiment that produces a particular output with probability proportional to |Per(A)|&lt;sup&gt;2&lt;/sup&gt;.  This, in turn, implies that no classical polynomial-time algorithm can sample from exactly the same distribution as the optical experiment (given a description of the experiment as input), unless P&lt;sup&gt;#P&lt;/sup&gt; = BPP&lt;sup&gt;NP&lt;/sup&gt;.  In fact we can strengthen that, to give a &lt;i&gt;single&lt;/i&gt; distribution D&lt;sub&gt;n&lt;/sub&gt; (depending only on the input length n) that can be sampled using an optical experiment of poly(n) size, but that can't be sampled classically in poly(n) time unless P&lt;sup&gt;#P&lt;/sup&gt; = BPP&lt;sup&gt;NP&lt;/sup&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the approximate case, the situation is more complicated.  Our main result says that, if there's a classical polynomial-time algorithm that simulates the optical experiment even &lt;i&gt;approximately&lt;/i&gt; (in the sense of sampling from a probability distribution over outputs that's 1/poly(n)-close in variation distance), then in BPP&lt;sup&gt;NP&lt;/sup&gt;, you can approximate |Per(A)|&lt;sup&gt;2&lt;/sup&gt;, with high probability over an n-by-n matrix A of i.i.d. Gaussians with mean 0 and variance 1.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We &lt;i&gt;conjecture&lt;/i&gt; that the above problem is #P-hard (at the very least, not in BPP&lt;sup&gt;NP&lt;/sup&gt;), and pages 57-82 of &lt;a href=&quot;http://www.scottaaronson.com/papers/optics.pdf&quot;&gt;our paper&lt;/a&gt; are all about the evidence for that conjecture.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course, maybe our conjecture is false, and one can actually give a poly-time algorithm to approximate the permanents of i.i.d. Gaussian matrices.  That would be a phenomenal result!  However, the whole point of 85% of the work we did was to base everything on a hardness conjecture that was as clean, simple, and &quot;quantum-free&quot; as possible.  In other words, instead of the assumption&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&quot;approximating the permanents of some weird, special matrices that happen to arise in our experiment is #P-hard,&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;we show that it suffices to make the assumption&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&quot;approximating the permanents of i.i.d. Gaussian matrices is #P-hard.&quot;&lt;/p&gt;&#xA;" OwnerUserId="1575" LastEditorUserId="1575" LastEditDate="2010-11-13T17:12:51.387" LastActivityDate="2010-11-13T17:12:51.387" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2962" PostTypeId="2" ParentId="2953" CreationDate="2010-11-13T17:18:18.980" Score="67" Body="&lt;p&gt;Manuel Blum has this &lt;a href=&quot;http://www.cs.cmu.edu/~mblum/research/pdf/grad.html&quot;&gt;extraordinary page&lt;/a&gt; on advice to a beginning Ph.D student. Read it &lt;em&gt;slowly&lt;/em&gt; though, for there is much to absorb. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt; Let me add this &lt;a href=&quot;http://www.cs.utexas.edu/~EWD/transcriptions/EWD06xx/EWD637.html&quot;&gt;piece of advice&lt;/a&gt; by Dijkstra, his Third Golden Rule for successful scientific research:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&quot;Never tackle a problem of which you can be pretty sure that (now or in the near future) it will be tackled by others who are, in relation to that problem, at least as competent and well-equipped as you.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;He presents this interesting zen-ish inference: &lt;em&gt;A corollary of the third rule is that one should never compete with one's colleagues.&lt;/em&gt; &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This inference had an huge influence on me; but it took me some time to dig out this reference.&lt;/p&gt;&#xA;" OwnerUserId="1449" LastEditorUserId="1449" LastEditDate="2010-11-15T18:21:54.887" LastActivityDate="2010-11-15T18:21:54.887" CommentCount="9" ContentLicense="CC BY-SA 2.5" />
  <row Id="2963" PostTypeId="2" ParentId="2930" CreationDate="2010-11-13T17:19:13.783" Score="8" Body="&lt;p&gt;This is a great question, one I've put a lot of thought into.  In an internet ad auction, you want a pricing policy that encourages truthful revelation.  You could run a normal &lt;a href=&quot;http://en.wikipedia.org/wiki/Vickrey_auction&quot; rel=&quot;nofollow&quot;&gt;second price auction&lt;/a&gt; on the bid prices, but then the selected ads might be terrible in terms of clickthrough and profit -- what you really want to do is to look at the expected revenue of an ad, something like bid times expected clicktrough (but you can't figure out the expected clickthrough without some experimenting, which might violate &quot;strategy-proofness&quot;).  On the other hand, you could just run an &lt;a href=&quot;http://arxiv.org/abs/1002.4058&quot; rel=&quot;nofollow&quot;&gt;optimal contextual bandit algorithm&lt;/a&gt; to display the ads most clicked on, but that might not be profitable, nor easily priced.  Handling both aspects simultaneously makes for a nice theory problem.  One good recent paper that tackles a lot of these issues is &quot;&lt;a href=&quot;http://research.microsoft.com/en-us/um/people/slivkins/ec10-subm134.pdf&quot; rel=&quot;nofollow&quot;&gt;Truthful Mechanisms with Implicit Payment Computation&lt;/a&gt;.&quot;&lt;/p&gt;&#xA;" OwnerUserId="123" LastEditorUserId="123" LastEditDate="2010-11-15T17:40:47.140" LastActivityDate="2010-11-15T17:40:47.140" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2964" PostTypeId="2" ParentId="2953" CreationDate="2010-11-13T17:36:36.093" Score="41" Body="&lt;p&gt;I'm sure many have already seen these, but so they are collected in one place:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.qinfo.org/people/nielsen/blog/archive/000120.html&quot;&gt;Nielsen's Principles of Effective Research&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.paulgraham.com/hamming.html&quot;&gt;Richard Hamming: You and Your Research&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://matt.might.net/articles/phd-school-in-pictures/&quot;&gt;Matthew Might: The illustrated guide to a Pd.D&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://terrytao.wordpress.com/career-advice/ask-yourself-dumb-questions-%E2%80%93-and-answer-them/&quot;&gt;Tao: Ask Yourself Dumb Questions&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The last one has multiple links that click through to other blog entries about research advice.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One thing I think I can offer, from myself, is this: Don't take rejections, or acceptances, personally.  A sense of self-worth should come from far more important things than the temporary disposition of a mathematical result.&lt;/p&gt;&#xA;" OwnerUserId="30" LastEditorUserId="77" LastEditDate="2010-11-13T17:50:51.903" LastActivityDate="2010-11-13T17:50:51.903" CommentCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="2965" PostTypeId="2" ParentId="2953" CreationDate="2010-11-13T19:45:16.350" Score="28" Body="&lt;p&gt;This may sound a very trivial thing, but I would recommend trying to take a break before you go to bed. Try to take a break from research and clear your head. It's very tempting to decide to take a few minutes to work on some pet problem in the comfort of your bed before you go to sleep, but in my experience it absolutely guarantees insomnia and leaves you totally unfit for proper thinking the next day.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is more of a do as I say not do as I do thing, because I find myself drawn to working late at night far too often, and I can say from experience that it is a practice best avoided.&lt;/p&gt;&#xA;" OwnerUserId="204" LastActivityDate="2010-11-13T19:45:16.350" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2966" PostTypeId="1" CreationDate="2010-11-13T19:48:21.973" Score="41" ViewCount="4381" Body="&lt;p&gt;I love doing TCS in my spare time. Lately I have been trying to do some research as a hobby.&lt;br/&gt;&#xA;I'm looking for some extra input from people who do this full-time:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Do you think it is possible to do this &amp;quot;just for fun&amp;quot;? I have no intention to ever get a PhD.&lt;/li&gt;&#xA;&lt;li&gt;What resources would you recommend?&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="2183" LastEditorUserId="32711" LastEditDate="2021-01-12T10:13:52.733" LastActivityDate="2021-01-12T10:13:52.733" Title="What would you advise someone who wants to do research as a hobby?" Tags="&lt;soft-question&gt;&lt;advice-request&gt;&lt;research-practice&gt;" AnswerCount="5" CommentCount="5" FavoriteCount="22" ContentLicense="CC BY-SA 4.0" />
  <row Id="2968" PostTypeId="2" ParentId="2966" CreationDate="2010-11-13T21:39:34.157" Score="9" Body="&lt;p&gt;It's hard to answer without knowing, as Jukka says, your background. However I think it is perfectly feasible to do some research without being a professional researcher.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First, I think you should do as any researcher an extensive study of the bibliography until you find a problem or technique you want to deeply analyse. The second step is then to start working on a small and feasible problem. This is where most amateurs have troubles. Indeed, finding an interesting but not too hard problem is a difficult task, which is most of the time achieved by the supervisor (I mean for grad student). At that point you probably should find somebody to mentor you. For that purpose use your personal network if possible (for instance, if you work in a high tech company you can ask around for a connection to academy), or go to some conferences and discuss with people. The rest is usual: hard work, frustration and sometime success!&lt;/p&gt;&#xA;" OwnerUserId="76" LastActivityDate="2010-11-13T21:39:34.157" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2969" PostTypeId="2" ParentId="2898" CreationDate="2010-11-13T22:31:06.383" Score="12" Body="&lt;p&gt;All the work started by Kitaev on the topological approach to a fault tolerant quantum computer. See &lt;a href=&quot;http://arxiv.org/abs/quant-ph/9707021&quot;&gt;Kitaev's original paper&lt;/a&gt; or, for example, John Preskill's &lt;a href=&quot;http://www.theory.caltech.edu/~preskill/ph219/topological.pdf&quot;&gt;lecture notes&lt;/a&gt;. &lt;/p&gt;&#xA;" OwnerUserId="1542" LastEditorUserId="1542" LastEditDate="2010-11-13T22:37:10.110" LastActivityDate="2010-11-13T22:37:10.110" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2970" PostTypeId="2" ParentId="2966" CreationDate="2010-11-13T23:43:09.517" Score="16" Body="&lt;p&gt;I could be off-base, but in my view some of the better topics to focus on if you only wish to pursue problems as an amateur are in discrete  mathematics: combinatorics, graph theory, and even combinatorial geometry. This is because the problems in these realms are quite accessible and easy to state and ponder without too much background.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;That doesn't mean you can solve them without background: that will take a lot more time. But it's a good place to start. Also, what might limit you is access to literature: papers, books etc if you don't have access to a university library - in that case, working on problems that are more &quot;current&quot; means that you'll be more likely to find papers off researcher websites. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's possible that the days of Fermat-style amateur mathematicians are over, but I really doubt it. I've known people who started doing research as a side hobby and enjoyed it so much they are now full-time researchers. And even if you don't, you'll at least enjoy yourself. As Alessandro points out in comments, this website is a great resource for you to use as well. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2010-11-13T23:43:09.517" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2971" PostTypeId="2" ParentId="2966" CreationDate="2010-11-13T23:51:24.270" Score="7" Body="&lt;p&gt;All publishable research problems should have these three properties: 1) open. 2) interesting. 3) challenging.  For recreational research, you can drop the third condition (or vary it based on your own abilities and energies).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are mountains of problems in combinatorics and graph theory that are wide open, but are not &quot;core&quot; or &quot;fundamental&quot; enough to have lots of people working on them.  Frequently, these problems can have algorithmic interpretations.  Also, some can be turned into communication complexity problems (&quot;How many bits are required to determine if property X is true?&quot;) but these are usually either trivial or very difficult.&lt;/p&gt;&#xA;" OwnerUserId="59" LastActivityDate="2010-11-13T23:51:24.270" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="2972" PostTypeId="1" CreationDate="2010-11-14T02:34:52.257" Score="3" ViewCount="210" Body="&lt;p&gt;I just finished &lt;a href=&quot;http://en.wikipedia.org/wiki/Albert-L%C3%A1szl%C3%B3_Barab%C3%A1si&quot; rel=&quot;nofollow&quot;&gt;Albert-László Barabási&lt;/a&gt;'s popular science book &quot;&lt;a href=&quot;http://books.google.com/books?id=AR5rPgAACAAJ&amp;amp;dq&quot; rel=&quot;nofollow&quot;&gt;Bursts: The Hidden Pattern Behind Everything We Do&lt;/a&gt;&quot; which describes the &lt;a href=&quot;http://en.wikipedia.org/wiki/L%C3%A9vy_flight&quot; rel=&quot;nofollow&quot;&gt;Lévy flight&lt;/a&gt; as an ideal strategy for finding scarce resources in an environment. I immediately wondered whether anyone had studied them as a search algorithm. I could imagine them being more or less useful depending on the makeup of the search space. Have there been any papers on the subject?&lt;/p&gt;&#xA;" OwnerUserId="2194" LastEditorUserId="186" LastEditDate="2010-11-14T09:24:18.880" LastActivityDate="2010-11-14T09:24:18.880" Title="What literature exists on Lévy flights for computational search?" Tags="&lt;ds.algorithms&gt;&lt;randomized-algorithms&gt;" AnswerCount="0" CommentCount="8" FavoriteCount="1" ClosedDate="2011-03-11T05:16:58.700" ContentLicense="CC BY-SA 2.5" />
  <row Id="2973" PostTypeId="2" ParentId="2953" CreationDate="2010-11-14T06:12:21.263" Score="23" Body="&lt;p&gt;Get up and talk to colleagues and fellow grad students, take breaks and lunches together and talk about that interesting problem you're exploring. Most research benefits from multiple points of view, and most researchers are happy to discuss intriguing and knotty thought experiments. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some people dislike (or fear) to talk about their projects, perhaps out of concerns for poaching, but most people when I was in grad school were pretty open. Unless the door was closed, in which case either I or they were hard at work without wanting interruptions.&lt;/p&gt;&#xA;" OwnerUserId="2202" LastActivityDate="2010-11-14T06:12:21.263" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2974" PostTypeId="1" CreationDate="2010-11-14T10:25:43.750" Score="4" ViewCount="762" Body="&lt;p&gt;I have been working with database management systems, and would like to focus on research in this very area some day.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I was having a look at the various research labs around the world,&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;http://www-07.ibm.com/in/research/&#xA;http://research.microsoft.com&#xA;http://research.google.com/&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;but did not find any dedicated Database research groups, or any exciting activity in this area.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;How do the research prospects in the Database field look like?&lt;/p&gt;&#xA;" OwnerDisplayName="peuuwt" LastEditorUserId="43" LastEditDate="2010-11-14T20:39:35.010" LastActivityDate="2010-11-14T20:39:35.010" Title="What are the prospects of research in database field?" Tags="&lt;soft-question&gt;&lt;ds.data-structures&gt;&lt;db.databases&gt;" AnswerCount="2" CommentCount="3" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="2975" PostTypeId="1" AcceptedAnswerId="2977" CreationDate="2010-11-14T11:30:09.060" Score="11" ViewCount="454" Body="&lt;p&gt;Does any body know any good reference for meaning of straight-line simulatability?&#xA;I am currently deep into Universal Composability (UC) framework of Canetti but I can't find any good reference for meaning of straight-line simulatability.&#xA;Any help is appreciated.&lt;/p&gt;&#xA;" OwnerUserId="943" LastEditorUserId="943" LastEditDate="2018-12-16T05:39:28.653" LastActivityDate="2018-12-16T05:39:28.653" Title="straight-line simulatability" Tags="&lt;cr.crypto-security&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 4.0" />
  <row Id="2976" PostTypeId="2" ParentId="2966" CreationDate="2010-11-14T12:09:43.223" Score="18" Body="&lt;p&gt;If you intend to publish it is essential that you learn how to write academic papers. Even if you can already write well, it still takes effort to get the style, focus, and, in particular, the quality right. Academic writing is highly compressed, rather formal, and precise. Theorems and so forth must be written in a particular way. Writing proofs is an art. There are even (implicit) standards for referencing the literature. Get any of these wrong and your article looks amateurish, which lends itself to rejection irrespective of the quality of the contents. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here are some general tips that will help in this direction:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Use LaTeX.&lt;/strong&gt; Papers, especially formal papers, written with Word look like crap.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Read a book on academic writing&lt;/strong&gt; (and do the exercises). We use &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0415384206&quot;&gt;Academic Writing: A Handbook for International Students&lt;/a&gt;, mostly because our students are non-native English speakers.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Read &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/1852338024&quot;&gt;Writing for Computer Science: The Art of Effective Communication&lt;/a&gt;&lt;/strong&gt;  by Justin Zobel.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Learn how to write theorems and proofs correctly.&lt;/strong&gt; One way of doing this is to find a high quality book in the area and mimic its style, even if it comes down to copying the text word for word to get the feel for how things are written. Then when you write your own results, consult the book regularly so that you can mimic the style. I know people who have used &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0444509321&quot;&gt;Relation Algebras by Games&lt;/a&gt; by Hisrch and Hodkinson as an exemplary model of mathematical writing. Undoubtedly there is such a text in your area.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Learn the conventions of the venues/communities where you plan to publish&lt;/strong&gt;. Most papers have an abstract and introduction, body, discussion, related work, conclusions and future work sections, but different venues/communities may vary the ordering or have different expectations about how much attention goes into which part of the document. Issues such as how much background information is added to your paper depend very much on the expected audience, and it always pays to know the background of the average reader in the community. Critically reading many papers from the target community and trying to comprehend the stylistic expectations, is the only way to address this issue (without a supervisor in the area).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="77" LastActivityDate="2010-11-14T12:09:43.223" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2977" PostTypeId="2" ParentId="2975" CreationDate="2010-11-14T12:15:20.740" Score="10" Body="&lt;p&gt;Here, &quot;straight-line&quot; is contrasted with &quot;rewinding&quot;. A simulator is &quot;straight-line&quot; if it does not &quot;rewind&quot; the party it is doing the simulation for.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For instance, in a zero-knowledge protocol, the simulator usually rewinds the &quot;verifier&quot;. In the &quot;straight-line&quot; sense, this rewinding does not happen.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I first saw the term &quot;straight-line simulator&quot; in Rafael Pass's paper (&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.113.8695&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;noreferrer&quot;&gt;On Deniabililty in the Common Reference String and Random Oracle Models. (CRYPTO'03)&lt;/a&gt;) and M.Sc. thesis (&lt;a href=&quot;http://www.cs.cornell.edu/~rafael/papers/raf-lic.pdf&quot; rel=&quot;noreferrer&quot;&gt;Alternative Variants of Zero-Knowledge Proofs&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit:&lt;/strong&gt; I found an earlier paper: &lt;a href=&quot;http://www.springerlink.com/content/gwtuy0hnnakb6p7h/&quot; rel=&quot;noreferrer&quot;&gt;Concurrent Zero-Knowledge: Reducing the Need for Timing Constraints&lt;/a&gt; by Cynthia Dwork and Amit Sahai, which dates back to 1998. For more pointers, see Alon Rosen's comment below.&lt;/p&gt;&#xA;" OwnerUserId="873" LastEditorUserId="873" LastEditDate="2010-11-14T12:54:52.700" LastActivityDate="2010-11-14T12:54:52.700" CommentCount="8" ContentLicense="CC BY-SA 2.5" />
  <row Id="2978" PostTypeId="2" ParentId="2934" CreationDate="2010-11-14T13:01:57.867" Score="11" Body="&lt;p&gt;I've used git to collaborate on some documents written in latex. You'll have to adhere to some rules:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Start each sentence on a new line, latex ignores these newlines as long as there is no blank line&lt;/li&gt;&#xA;&lt;li&gt;Use the same configuration for formatting (tab/spaces/max text width)&lt;/li&gt;&#xA;&lt;li&gt;For best results, create a .gitattributes file in your repository and add the line &lt;code&gt;*.tex    diff=tex&lt;/code&gt;. This makes diff aware of the tex syntax and leads to more meaningful output.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;You can then use &lt;code&gt;git diff --color-words&lt;/code&gt; and &lt;code&gt;gitk --color-words&lt;/code&gt; to see word differences (also see this article &lt;a href=&quot;http://idnotfound.wordpress.com/2009/05/09/word-by-word-diffs-in-git/&quot; rel=&quot;nofollow&quot;&gt;Word-by-word diffs in Git&lt;/a&gt; on how to configure git to always use word-diff algorithm for displaying the git diff/git log).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To reduce the manual merges, I can recommend using separate files for sections and subsections (depending on the size of your document).&lt;/p&gt;&#xA;" OwnerUserId="2217" LastEditorUserId="-1" LastEditDate="2013-02-19T03:07:11.363" LastActivityDate="2013-02-19T03:07:11.363" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="2979" PostTypeId="1" AcceptedAnswerId="2982" CreationDate="2010-11-14T15:01:00.293" Score="22" ViewCount="780" Body="&lt;p&gt;At present I teach a small course (Four two hour lectures at the Masters level) on &lt;em&gt;Logical Methods in Security&lt;/em&gt;, though the title &lt;em&gt;Formal Methods in Security&lt;/em&gt; might be more apt. It covers briefly the following topics (with associated logical methods):&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Digital Rights Management and Policy Enforcement (general formalisation, modal logic, enforcement via automata)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Proof-carrying code and proof-carrying authentication (proof theory, logical systems, Curry-Howard Isomorphism, verification)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Access Control (non-classical logics, proof theory)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Stack Inspection (programming language semantics, contextual equivalence, bisimulation)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Naturally, the course has multiple goals, where one of them is attracting potential graduate students.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the coming years the course may be expanded to a regular course, which will need more content. Given that the background of people here is quite different from mine, I would like to know what content you would include in such a course.&lt;/p&gt;&#xA;" OwnerUserId="77" LastEditorUserId="186" LastEditDate="2011-04-13T11:47:39.667" LastActivityDate="2012-01-20T01:16:31.487" Title="Curriculum: Logical/Formal Methods in Security" Tags="&lt;lo.logic&gt;&lt;cr.crypto-security&gt;&lt;teaching&gt;&lt;security&gt;&lt;formal-methods&gt;" AnswerCount="6" CommentCount="0" FavoriteCount="9" ContentLicense="CC BY-SA 2.5" />
  <row Id="2980" PostTypeId="2" ParentId="2974" CreationDate="2010-11-14T15:21:12.457" Score="11" Body="&lt;p&gt;As usual, to have an idea of what is happening in a field, have a look at the major conferences: &lt;a href=&quot;http://www.sigmod.org/&quot;&gt;SIGMOD/PODS&lt;/a&gt;, &lt;a href=&quot;http://www.vldb.org/&quot;&gt;VLDB&lt;/a&gt;, &lt;a href=&quot;http://alpha.uhasselt.be/icdt/&quot;&gt;ICDT&lt;/a&gt;, to name a few.&lt;/p&gt;&#xA;" OwnerUserId="609" LastActivityDate="2010-11-14T15:21:12.457" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2981" PostTypeId="1" AcceptedAnswerId="2984" CreationDate="2010-11-14T15:51:51.343" Score="1" ViewCount="731" Body="&lt;p&gt;Are there any good resources (descriptions, explanations, examples) regarding Jablon's &lt;strong&gt;protocol for password authentication using multiple servers&lt;/strong&gt;, aside from &lt;a href=&quot;http://www.jablon.org/jab01.pdf&quot; rel=&quot;nofollow&quot;&gt;this paper&lt;/a&gt;?&lt;/p&gt;&#xA;" OwnerUserId="2222" LastEditorUserId="2222" LastEditDate="2010-11-14T19:38:33.987" LastActivityDate="2010-11-14T19:38:33.987" Title="Resources on Jablon's Protocol" Tags="&lt;cr.crypto-security&gt;&lt;security&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2982" PostTypeId="2" ParentId="2979" CreationDate="2010-11-14T16:35:21.057" Score="15" Body="&lt;p&gt;I suggest familiarizing the students with the following logics:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Epistemic logic:&lt;/strong&gt; Used to model the knowledge of various parties participating in the protocol, and prove that an adversary cannot gain knowledge of some secret.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;BAN logic:&lt;/strong&gt; An old logic for proving various properties of authentication protocols. (Other &lt;em&gt;belief logics&lt;/em&gt; are appropriate as well.)&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Logics for transition systems:&lt;/strong&gt; This includes logics like LTL, CTL, and LTL*. (such logics act on Kripke-like models of the protocol.)&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Process Algebras:&lt;/strong&gt; Several process algebras, like &lt;em&gt;Spi-calculus&lt;/em&gt; (or &lt;em&gt;CSP&lt;/em&gt;, and its security-related tool, &lt;a href=&quot;http://www.comlab.ox.ac.uk/gavin.lowe/Security/Casper/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Casper&lt;/a&gt;) are useful for modeling security protocols.&lt;/li&gt;&#xA;&lt;li&gt;Introducing tools like &lt;a href=&quot;http://www.avispa-project.org/&quot; rel=&quot;nofollow noreferrer&quot;&gt;AVISPA&lt;/a&gt; of &lt;a href=&quot;http://nusmv.fbk.eu/&quot; rel=&quot;nofollow noreferrer&quot;&gt;NuSMV&lt;/a&gt; are very useful.&lt;/li&gt;&#xA;&lt;li&gt;I also suggest &lt;a href=&quot;http://www.springer.com/computer/theoretical+computer+science/book/978-3-540-68134-2&quot; rel=&quot;nofollow noreferrer&quot;&gt;Formal Correctness of Security Protocols&lt;/a&gt; as one of the course textbooks.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;A friend of mine, &lt;a href=&quot;https://cstheory.stackexchange.com/users/994/morteza-amini&quot;&gt;Morteza Amini&lt;/a&gt;, has recently got his Ph.D. on modeling access control with logic. He devised a new logic, named $MA(DL)^2$, which stands for &quot;multi-authority deontic logic and description logic.&quot; As the name suggests, it combines two non-classical logics (deontic logic + description logic) to decide whether an entity has access to an object. If you like, I can encourage him to provide more information.&lt;/p&gt;&#xA;" OwnerUserId="873" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2010-11-14T16:44:56.363" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="2983" PostTypeId="2" ParentId="2981" CreationDate="2010-11-14T17:02:34.310" Score="0" Body="&lt;p&gt;There are lots of papers on the general topic of password authentification on this web page:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.jablon.org/passwordlinks.html&quot; rel=&quot;nofollow&quot;&gt;http://www.jablon.org/passwordlinks.html&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="987" LastActivityDate="2010-11-14T17:02:34.310" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2984" PostTypeId="2" ParentId="2981" CreationDate="2010-11-14T17:32:08.183" Score="2" Body="&lt;p&gt;I found the book &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/3540431071&quot; rel=&quot;nofollow&quot;&gt;Protocols for Authentication and Key Establishment&lt;/a&gt; very promising on the subject of authentication protocols. Specifically, it references two protocols by Jablon (see references 165 and 166 of the book).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You may also find more info in &lt;a href=&quot;http://scholar.google.com/scholar?cites=6764030118523462813&amp;amp;as_sdt=2005&amp;amp;sciodt=2000&amp;amp;hl=en&quot; rel=&quot;nofollow&quot;&gt;papers that cite Jablon's Protocol&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="873" LastEditorUserId="873" LastEditDate="2010-11-14T18:49:49.387" LastActivityDate="2010-11-14T18:49:49.387" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2985" PostTypeId="2" ParentId="149" CreationDate="2010-11-14T18:15:36.850" Score="10" Body="&lt;p&gt;Let me mention a couple more applications: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Perhaps the most important contribution of TCS to pure mathematics is the art of reductions. Reductions of the form used by TCS in computational complexity and other places represent a mathematical paradigm/tool which is more developed in TCS compared to other areas of math.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The notion of a probabilistic proof: Here I do not refer to the probabilistic method (which is rooted in mathematics but have many applications to CS) but rather to the fact that a mathematical statement like the statement claiming a certain number is a prime, can be given a proof &quot;beyond any reasonable doubt&quot;. It is a conceptual breakthrough comming from CS, although it did not have yet much applications in the way mathematics is practiced.&lt;/p&gt;&#xA;" OwnerUserId="712" LastEditorUserId="712" LastEditDate="2010-11-15T00:11:13.897" LastActivityDate="2010-11-15T00:11:13.897" CommentCount="6" CommunityOwnedDate="2010-11-14T18:15:36.850" ContentLicense="CC BY-SA 2.5" />
  <row Id="2986" PostTypeId="2" ParentId="2974" CreationDate="2010-11-14T20:38:58.160" Score="0" Body="&lt;p&gt;&lt;a href=&quot;http://www.tokutek.com/&quot; rel=&quot;nofollow&quot;&gt;Tokutek&lt;/a&gt; is a company that sells a database management system on the backs of the &lt;a href=&quot;http://supertech.csail.mit.edu/cacheObliviousBTree.html&quot; rel=&quot;nofollow&quot;&gt;research of its founders in cache-oblivious data structures&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="43" LastActivityDate="2010-11-14T20:38:58.160" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2987" PostTypeId="2" ParentId="39" CreationDate="2010-11-14T20:43:14.893" Score="14" Body="&lt;p&gt;&quot;Quantum algorithms for algebraic problems&quot; by Andrew Childs and Wim van Dam &lt;a href=&quot;http://arxiv.org/abs/0812.0380&quot;&gt;arXiv:0812.0380&lt;/a&gt; is a very good survey paper that contains a good intro the non-Abelian HSP and its relation to Graph Isomorphism.&lt;/p&gt;&#xA;" OwnerUserId="366" LastActivityDate="2010-11-14T20:43:14.893" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2988" PostTypeId="1" AcceptedAnswerId="2991" CreationDate="2010-11-14T21:17:22.807" Score="13" ViewCount="2094" Body="&lt;p&gt;I asked this &lt;a href=&quot;https://stats.stackexchange.com/questions/4513&quot;&gt;question&lt;/a&gt; in cross validated Q&amp;amp;A but seems that it is related to CS much more than Statistics.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can you give me examples of machine learning algorithms which learn from the statistical properties of the dataset not the individual observations themselves i.e. employ the &lt;a href=&quot;http://portal.acm.org/citation.cfm?doid=293347.293351&quot; rel=&quot;nofollow noreferrer&quot;&gt;statistical query model&lt;/a&gt;?&lt;/p&gt;&#xA;" OwnerUserId="699" LastEditorUserId="-1" LastEditDate="2017-04-13T12:44:17.130" LastActivityDate="2011-06-16T17:34:06.797" Title="Statistical query model algorithms?" Tags="&lt;lg.learning&gt;&lt;machine-learning&gt;" AnswerCount="3" CommentCount="2" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="2989" PostTypeId="2" ParentId="2915" CreationDate="2010-11-14T21:43:04.823" Score="10" Body="&lt;p&gt;Here is an almost tight analysis of approximability for the case where &lt;i&gt;S&lt;/i&gt; is &lt;em&gt;not&lt;/em&gt; required to be a subgroup of the symmetric group.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This problem is a special case of Set Cover, and there is a simple greedy approximation algorithm [Joh74].  If we denote the &lt;i&gt;k&lt;/i&gt;th harmonic number as &lt;i&gt;H&lt;/i&gt;&lt;sub&gt;&lt;i&gt;k&lt;/i&gt;&lt;/sub&gt; = ∑&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;=1&lt;/sub&gt;&lt;sup&gt;&lt;i&gt;k&lt;/i&gt;&lt;/sup&gt; 1/&lt;i&gt;i&lt;/i&gt;, the greedy algorithm achieves an approximation ratio &lt;i&gt;H&lt;/i&gt;&lt;sub&gt;&lt;i&gt;n&lt;/i&gt;&lt;/sub&gt; = ln &lt;i&gt;n&lt;/i&gt; + Θ(1).  (There is an algorithm [DF97] which results in a slightly better approximation ratio &lt;i&gt;H&lt;/i&gt;&lt;sub&gt;&lt;i&gt;n&lt;/i&gt;&lt;/sub&gt;−1/2.)  (&lt;em&gt;Edit&lt;/em&gt;: Revision 2 and earlier stated the approximation ratio of the greedy algorithm worse than the correct value.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Moreover, this is almost optimal in the following sense:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Theorem&lt;/strong&gt;.  Set Cover for Permutation Matrices cannot be approximated within an approximation ratio (1−&lt;i&gt;ε&lt;/i&gt;) ln &lt;i&gt;n&lt;/i&gt; for any constant 0&amp;lt;&lt;i&gt;ε&lt;/i&gt;&amp;lt;1 unless NP ⊆ DTIME(&lt;i&gt;n&lt;/i&gt;&lt;sup&gt;O(log log &lt;i&gt;n&lt;/i&gt;)&lt;/sup&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is a sketch of a proof.  We write [&lt;i&gt;n&lt;/i&gt;] = {1, …, &lt;i&gt;n&lt;/i&gt;}.  We will construct a reduction from Set Cover:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Set Cover&lt;/strong&gt;&lt;br&gt;&#xA;&lt;em&gt;Instance&lt;/em&gt;: A positive integer &lt;i&gt;m&lt;/i&gt; and a collection &lt;i&gt;C&lt;/i&gt; of subsets of [&lt;i&gt;m&lt;/i&gt;].&lt;br&gt;&#xA;&lt;em&gt;Solution&lt;/em&gt;: A subset &lt;i&gt;D&lt;/i&gt; of &lt;i&gt;C&lt;/i&gt; such that the union of the sets in &lt;i&gt;D&lt;/i&gt; is equal to [&lt;i&gt;m&lt;/i&gt;].&lt;br&gt;&#xA;&lt;em&gt;Objective&lt;/em&gt;: Minimize |&lt;i&gt;D&lt;/i&gt;|.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is a famous result by Feige [Fei98] that Set Cover cannot be approximated within an approximation ratio (1−&lt;i&gt;ε&lt;/i&gt;) ln &lt;i&gt;m&lt;/i&gt; for any constant 0&amp;lt;&lt;i&gt;ε&lt;/i&gt;&amp;lt;1 unless NP ⊆ DTIME(&lt;i&gt;n&lt;/i&gt;&lt;sup&gt;O(log log &lt;i&gt;n&lt;/i&gt;)&lt;/sup&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let (&lt;i&gt;m&lt;/i&gt;, &lt;i&gt;C&lt;/i&gt;) be an instance of Set Cover.  We will construct an instance (&lt;i&gt;n&lt;/i&gt;, &lt;i&gt;S&lt;/i&gt;) of Set Cover for Permutation Matrices.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let &lt;i&gt;n&lt;/i&gt;=2&lt;i&gt;m&lt;/i&gt;+2.  For &lt;i&gt;E&lt;/i&gt;⊆[&lt;i&gt;m&lt;/i&gt;+1], let &lt;i&gt;P&lt;/i&gt;&lt;sub&gt;&lt;i&gt;E&lt;/i&gt;&lt;/sub&gt; be the &lt;i&gt;n&lt;/i&gt;×&lt;i&gt;n&lt;/i&gt; permutation matrix which is block diagonal with &lt;i&gt;n&lt;/i&gt; 2×2 blocks so that &lt;i&gt;i&lt;/i&gt;th block is $\pmatrix{0 &amp;amp; 1 \\ 1 &amp;amp; 0}$ if &lt;i&gt;i&lt;/i&gt;∈&lt;i&gt;E&lt;/i&gt; and $\pmatrix{1 &amp;amp; 0 \\ 0 &amp;amp; 1}$ otherwise.  Let &lt;i&gt;Q&lt;/i&gt; be the &lt;i&gt;n&lt;/i&gt;×&lt;i&gt;n&lt;/i&gt; permutation matrix whose (&lt;i&gt;i&lt;/i&gt;, &lt;i&gt;i&lt;/i&gt;+2)-entry is 1 for all 1≤&lt;i&gt;i&lt;/i&gt;≤&lt;i&gt;n&lt;/i&gt; (where the index &lt;i&gt;i&lt;/i&gt;+2 are interpreted as modulo &lt;i&gt;n&lt;/i&gt;).  For 0≤&lt;i&gt;j&lt;/i&gt;≤&lt;i&gt;m&lt;/i&gt;, define &lt;i&gt;S&lt;/i&gt;&lt;sub&gt;&lt;i&gt;j&lt;/i&gt;&lt;/sub&gt; = {&lt;i&gt;P&lt;/i&gt;&lt;sub&gt;&lt;i&gt;E&lt;/i&gt;&lt;/sub&gt;&lt;i&gt;Q&lt;/i&gt;&lt;sup&gt;&lt;i&gt;j&lt;/i&gt;&lt;/sup&gt;: &lt;i&gt;E&lt;/i&gt;∈&lt;i&gt;C&lt;/i&gt;∪{{&lt;i&gt;m&lt;/i&gt;+1}}} and &lt;i&gt;S&lt;/i&gt; = &lt;i&gt;S&lt;/i&gt;&lt;sub&gt;0&lt;/sub&gt;∪…∪&lt;i&gt;S&lt;/i&gt;&lt;sub&gt;&lt;i&gt;m&lt;/i&gt;&lt;/sub&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Claim&lt;/strong&gt;.  Let &lt;i&gt;k&lt;/i&gt; be the size of minimum cover of [&lt;i&gt;m&lt;/i&gt;] in &lt;i&gt;C&lt;/i&gt;.  Then the size of minimum cover in &lt;i&gt;S&lt;/i&gt; is equal to (&lt;i&gt;k&lt;/i&gt;+1)(&lt;i&gt;m&lt;/i&gt;+1).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Proof sketch&lt;/strong&gt;.  If &lt;i&gt;D&lt;/i&gt;⊆&lt;i&gt;C&lt;/i&gt; is a cover of [&lt;i&gt;m&lt;/i&gt;], we can construct a cover &lt;i&gt;T&lt;/i&gt;⊆&lt;i&gt;S&lt;/i&gt; of size (|&lt;i&gt;D&lt;/i&gt;|+1)(&lt;i&gt;m&lt;/i&gt;+1) by &lt;i&gt;T&lt;/i&gt; = {&lt;i&gt;P&lt;/i&gt;&lt;sub&gt;&lt;i&gt;E&lt;/i&gt;&lt;/sub&gt;&lt;i&gt;Q&lt;/i&gt;&lt;sup&gt;&lt;i&gt;j&lt;/i&gt;&lt;/sup&gt;: &lt;i&gt;E&lt;/i&gt;∈&lt;i&gt;S&lt;/i&gt;∪{{&lt;i&gt;m&lt;/i&gt;+1}}, 0≤&lt;i&gt;j&lt;/i&gt;≤&lt;i&gt;m&lt;/i&gt;}.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, let &lt;i&gt;T&lt;/i&gt;⊆&lt;i&gt;S&lt;/i&gt; be a cover.  Note that all the matrices in &lt;i&gt;S&lt;/i&gt;&lt;sub&gt;0&lt;/sub&gt; are block diagonal with blocks of size 2×2, and the other matrices in &lt;i&gt;S&lt;/i&gt; have 0 in these blocks.  Therefore, &lt;i&gt;T&lt;/i&gt;∩&lt;i&gt;S&lt;/i&gt;&lt;sub&gt;0&lt;/sub&gt; covers these blocks.  Moreover, &lt;i&gt;T&lt;/i&gt;∩&lt;i&gt;S&lt;/i&gt;&lt;sub&gt;0&lt;/sub&gt; contains &lt;i&gt;P&lt;/i&gt;&lt;sub&gt;{&lt;i&gt;m&lt;/i&gt;+1}&lt;/sub&gt; since otherwise the (2&lt;i&gt;m&lt;/i&gt;+1, 2&lt;i&gt;m&lt;/i&gt;+2)-entry would not be covered.  Observe that (&lt;i&gt;T&lt;/i&gt;∩&lt;i&gt;S&lt;/i&gt;&lt;sub&gt;0&lt;/sub&gt;)∖{&lt;i&gt;P&lt;/i&gt;&lt;sub&gt;{&lt;i&gt;m&lt;/i&gt;+1}&lt;/sub&gt;} corresponds to a set cover in &lt;i&gt;C&lt;/i&gt;.  Therefore, |&lt;i&gt;T&lt;/i&gt;∩&lt;i&gt;S&lt;/i&gt;&lt;sub&gt;0&lt;/sub&gt;|≥&lt;i&gt;k&lt;/i&gt;+1.  Similarly, for any 0≤&lt;i&gt;j&lt;/i&gt;≤&lt;i&gt;m&lt;/i&gt;, |&lt;i&gt;T&lt;/i&gt;∩&lt;i&gt;S&lt;/i&gt;&lt;sub&gt;&lt;i&gt;j&lt;/i&gt;&lt;/sub&gt;|≥&lt;i&gt;k&lt;/i&gt;+1.  Therefore, |&lt;i&gt;T&lt;/i&gt;|≥(&lt;i&gt;k&lt;/i&gt;+1)(&lt;i&gt;m&lt;/i&gt;+1).  &lt;strong&gt;End of proof sketch of Claim&lt;/strong&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By Claim, the reduction constructed above preserves the approximation ratio.  In particular, it establishes the theorem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;References&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[DF97] Rong-Chii Duh and Martin Fürer.  Approximation of &lt;i&gt;k&lt;/i&gt;-set cover by semi-local optimization.  In &lt;em&gt;Proceedings of the Twenty-Ninth Annual ACM Symposium on Theory of Computing (STOC)&lt;/em&gt;, pp. 256–264, May 1997.  &lt;a href=&quot;http://dx.doi.org/10.1145/258533.258599&quot;&gt;http://dx.doi.org/10.1145/258533.258599&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[Fei98] Uriel Feige.  A threshold of ln &lt;i&gt;n&lt;/i&gt; for approximating set cover.  &lt;em&gt;Journal of the ACM&lt;/em&gt;, 45(4):634–652, July 1998.  &lt;a href=&quot;http://dx.doi.org/10.1145/285055.285059&quot;&gt;http://dx.doi.org/10.1145/285055.285059&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[Joh74] David S. Johnson.  Approximation algorithms for combinatorial problems.  &lt;em&gt;Journal of Computer and System Sciences&lt;/em&gt;, 9(3):256–278, Dec. 1974.  &lt;a href=&quot;http://dx.doi.org/10.1016/S0022-0000(74)80044-9&quot;&gt;http://dx.doi.org/10.1016/S0022-0000(74)80044-9&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="567" LastEditorUserId="567" LastEditDate="2010-11-15T05:12:39.453" LastActivityDate="2010-11-15T05:12:39.453" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="2990" PostTypeId="2" ParentId="2373" CreationDate="2010-11-14T22:00:53.877" Score="8" Body="&lt;p&gt;To obtain insight into the worst-case and average-case analysis of the simplex method, you should read &quot;Smoothed Analysis: Why The Simplex Algorithm Usually Takes Polynomial Time.&quot; by Spielman and Teng.  &lt;/p&gt;&#xA;" OwnerUserId="2111" LastActivityDate="2010-11-14T22:00:53.877" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2991" PostTypeId="2" ParentId="2988" CreationDate="2010-11-14T22:58:28.203" Score="14" Body="&lt;p&gt;Almost every algorithm that works in the PAC model (with the exception of parity learning algorithms) can be made to work in the SQ model. See e.g. this paper of Blum et al. in which several popular algorithms are translated into their SQ equivalents (&lt;a href=&quot;http://portal.acm.org/citation.cfm?id=1065184&quot;&gt;Practical Privacy: the SuLQ framework&lt;/a&gt;). The paper is in principle concerned with &quot;privacy&quot;, but you can ignore that -- it is really just implementing algorithms with SQ queries. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Agnostic learning, on the other hand, is much harder in the SQ model: computational issues aside (though these are important), the sample complexity required for agnostic learning is roughly the same as that required for exact learning, if you actually have access to the data points. On the other hand, agnostic learning becomes much harder in the SQ model -- you will usually need to make superpolynomially many queries, even for classes as simple as monotone disjunctions. See this paper by Feldman (&lt;a href=&quot;http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=5438617&quot;&gt;A complete characterization of statistical query learning with applications to evolvability&lt;/a&gt;) or this recent paper by Gupta et al. (&lt;a href=&quot;http://www.cs.cmu.edu/~alroth/SQconjunctions.html&quot;&gt;Privately Releasing Conjunctions and the Statistical Query Barrier&lt;/a&gt;)&lt;/p&gt;&#xA;" OwnerUserId="25" LastEditorUserId="25" LastEditDate="2010-11-14T23:05:31.290" LastActivityDate="2010-11-14T23:05:31.290" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="2992" PostTypeId="2" ParentId="149" CreationDate="2010-11-15T01:49:50.240" Score="6" Body="&lt;p&gt;One example that comes to mind is Higman's Embedding Theorem and it's group theoretic consequences.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Higman's Embedding Theorem: A group G is finitely generated with a recursive presentation iff G is a subgroup of a finitely presented group.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Notice that the left part of the equivalence has a computational component while the right is purely group theoretic).&lt;/p&gt;&#xA;" OwnerDisplayName="mike" LastEditorDisplayName="mike" LastEditDate="2010-11-15T02:35:43.837" LastActivityDate="2010-11-15T02:35:43.837" CommentCount="1" CommunityOwnedDate="2010-11-15T01:49:50.240" ContentLicense="CC BY-SA 2.5" />
  <row Id="2993" PostTypeId="2" ParentId="2979" CreationDate="2010-11-15T02:15:40.710" Score="12" Body="&lt;p&gt;There was a reading course at Carnegie Mellon a few years ago, &lt;a href=&quot;http://www.cs.cmu.edu/~rwh/courses/llsec/&quot; rel=&quot;nofollow&quot;&gt;Languages and Logics for Security&lt;/a&gt;, which tried to survey some of the literature in authentication, authorization, information flow, protocol calculi, protection, and trust management; the course web page has slides for the papers we discussed as well as a further list of references for each topic. Information flow in particular might be something worth taking a look at relative to the topics you listed. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The curriculum for Anupam Datta's course &lt;a href=&quot;http://www.ece.cmu.edu/~ece739/&quot; rel=&quot;nofollow&quot;&gt;Foundations of Security and Privacy&lt;/a&gt; is also relevant.&lt;/p&gt;&#xA;" OwnerUserId="1024" LastActivityDate="2010-11-15T02:15:40.710" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="2994" PostTypeId="2" ParentId="2979" CreationDate="2010-11-15T03:12:04.630" Score="10" Body="&lt;p&gt;Rob's answer reminded me of a similar Cornell reading group that Michael Clarkson organized for a few years: &lt;a href=&quot;http://www.cs.cornell.edu/people/clarkson/secdg/&quot; rel=&quot;nofollow&quot;&gt;Cornell Security Discussion Group&lt;/a&gt;. Might be worth skimming through there for some papers.&lt;/p&gt;&#xA;" OwnerUserId="319" LastActivityDate="2010-11-15T03:12:04.630" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="2995" PostTypeId="1" AcceptedAnswerId="2996" CreationDate="2010-11-15T03:45:10.807" Score="19" ViewCount="1152" Body="&lt;p&gt;Complexity theory seems to capture something fundamental about the&#xA;structure of the universe, in that it formalizes the intuitive notion&#xA;that some problems are harder than others.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Scott Aaronson &lt;a href=&quot;http://www.scottaaronson.com/talks/colloq2.ppt&quot;&gt;predicted&lt;/a&gt;, &quot;The NP Hardness Assumption will eventually be&#xA;seen as analogous to the Second Law of Thermodynamics or impossibility&#xA;of superluminal signaling.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So-called &quot;hard problems&quot; are the basis of modern cryptography.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there any &lt;strong&gt;other&lt;/strong&gt; applications that utilize, depend on, or exemplify the&#xA;existence of computationally hard problems?&lt;/p&gt;&#xA;" OwnerUserId="2173" LastActivityDate="2010-11-15T18:36:27.980" Title="Applications of Complexity Theory" Tags="&lt;cc.complexity-theory&gt;&lt;soft-question&gt;&lt;big-picture&gt;" AnswerCount="4" CommentCount="0" FavoriteCount="8" ContentLicense="CC BY-SA 2.5" />
  <row Id="2996" PostTypeId="2" ParentId="2995" CreationDate="2010-11-15T04:01:00.487" Score="15" Body="&lt;p&gt;The most recent issue of the CACM has an &lt;a href=&quot;http://cacm.acm.org/magazines/2010/11/100640-using-complexity-to-protect-elections/fulltext&quot;&gt;article by Faliszewski, Hemaspaandra and Hemaspaandra&lt;/a&gt; on the use of complexity theory in the realm of social choice theory and election design in particular. One example of such a result is that while Arrow's theorem guarantees that any election system is 'hackable', it might be NP-hard to do so. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2010-11-15T04:01:00.487" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="2997" PostTypeId="2" ParentId="189" CreationDate="2010-11-15T04:16:06.873" Score="7" Body="&lt;p&gt;The 2-approximation algorithm for Knapsack:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First, consider the trivial algorithm: select the highest value item that fits. This can obviously be arbitrarily far from optimal.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now consider the greedy algorithm: greedily select the highest value density items. This can also be arbitrarily far from optimal.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, the 2-approximation algorithm: Run Trivial and Greedy. Take whichever solution has the highest value. This is guaranteed to be within a factor of 2 of optimal.&lt;/p&gt;&#xA;" OwnerUserId="319" LastEditorUserId="319" LastEditDate="2010-11-16T04:51:18.673" LastActivityDate="2010-11-16T04:51:18.673" CommentCount="1" CommunityOwnedDate="2010-11-15T04:16:06.873" ContentLicense="CC BY-SA 2.5" />
  <row Id="2998" PostTypeId="1" AcceptedAnswerId="3003" CreationDate="2010-11-15T05:03:33.263" Score="20" ViewCount="1529" Body="&lt;p&gt;In complexity class $\mathsf{P}$, there are some problems conjectured NOT to be in the class $\mathsf{NC}$, i.e. problems with deterministic parallel algorithms. Maximum Flow problem is one example. And there are problems BELIEVED to be in $\mathsf{NC}$, but a proof is not found yet. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Perfect Matching&lt;/strong&gt; problem is one of the most fundamental problem raised in graph theory: given a graph $G$, we have to find a perfect matching for $G$. As I could found on the internet, despite of the beautiful polynomial time &lt;a href=&quot;http://en.wikipedia.org/wiki/Edmonds&amp;#39;s_matching_algorithm&quot; rel=&quot;noreferrer&quot;&gt;Blossom algorithm&lt;/a&gt; by Edmonds, and a &lt;a href=&quot;http://www.math.ias.edu/~avi/PUBLICATIONS/MYPAPERS/KUW86/KUW86.pdf&quot; rel=&quot;noreferrer&quot;&gt;RANDOMIZED parallel algorithm&lt;/a&gt; by Karp, Upfal and Wigderson in 1986, only a few subclasses of graphs are known to have $\mathsf{NC}$ algorithms. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In Jan. 2005 there's a post in the blog &lt;a href=&quot;http://blog.computationalcomplexity.org/2005/01/mandatory-technical-post-by-guest.html&quot; rel=&quot;noreferrer&quot;&gt;Computational Complexity&lt;/a&gt; that claims it remains open whether Perfect Matching is in $\mathsf{NC}$. My question is:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there any progress since then, beyond the randomized $\mathsf{NC}$ algorithm?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;To clarify my interest, any algorithm which deals with GENERAL graphs are nice. Although algorithms for subclasses of graphs are OK too, that may be not on my attentions. Thank you all!&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT at 12/27:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thank you for all your help, I try to summarize all the results in one figure:&#xA;&lt;img src=&quot;https://i.stack.imgur.com/prFbR.png&quot; alt=&quot;Relations between classes related to Matching&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The lowest known classes contain the following problems:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Matching in general graphs: $\mathsf{RNC}$ [&lt;a href=&quot;http://www.math.ias.edu/~avi/PUBLICATIONS/MYPAPERS/KUW86/KUW86.pdf&quot; rel=&quot;noreferrer&quot;&gt;KUW86&lt;/a&gt;], $\mathsf{RNC}^2$ [&lt;a href=&quot;http://portal.acm.org/citation.cfm?id=167213&quot; rel=&quot;noreferrer&quot;&gt;CRS93&lt;/a&gt;]&lt;/li&gt;&#xA;&lt;li&gt;Matching in bipartite planar/constant genus graphs: $\mathsf{UL}$/$\mathsf{SPL}$ [&lt;a href=&quot;http://www.eccc.uni-trier.de/report/2010/201/download&quot; rel=&quot;noreferrer&quot;&gt;DKT10&lt;/a&gt;]/[&lt;a href=&quot;http://arxiv.org/abs/1004.5080&quot; rel=&quot;noreferrer&quot;&gt;DKTV10&lt;/a&gt;]&lt;/li&gt;&#xA;&lt;li&gt;Matching when the total number is polynomial: $\mathsf{SPL}$ [&lt;a href=&quot;http://www.eccc.uni-trier.de/report/2009/091/revision/1/download/&quot; rel=&quot;noreferrer&quot;&gt;H09&lt;/a&gt;]&lt;/li&gt;&#xA;&lt;li&gt;Lex-first maximal matching: $\mathsf{CC}$ [&lt;a href=&quot;ftp://reports.stanford.edu/pub/cstr/reports/cs/tr/89/1278/CS-TR-89-1278.pdf&quot; rel=&quot;noreferrer&quot;&gt;MS89&lt;/a&gt;]&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Furthermore, under plausible complexity assumption: $\mathsf{SPACE[n]}$ requires exponential circuits, Matching in general graphs is in $\mathsf{SPL}$ [&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.5.9350&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;noreferrer&quot;&gt;ARZ98&lt;/a&gt;].&lt;/p&gt;&#xA;" OwnerUserId="1800" LastEditorUserId="1800" LastEditDate="2010-12-27T01:40:37.633" LastActivityDate="2017-04-11T11:28:38.983" Title="Deterministic Parallel algorithm for perfect matching in general graphs?" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;graph-algorithms&gt;&lt;dc.parallel-comp&gt;" AnswerCount="5" CommentCount="3" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="2999" PostTypeId="1" CreationDate="2010-11-15T07:43:22.807" Score="3" ViewCount="186" Body="&lt;p&gt;I have a question about the &lt;em&gt;simulator efficiency&lt;/em&gt;. I am reading a group key exchange protocol which is UC-Secure (the security is proven on &lt;a href=&quot;http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=959888&quot; rel=&quot;nofollow&quot;&gt;universal composability framework&lt;/a&gt; of Canetti). The proof uses some kind of oracle called &lt;em&gt;non-information oracle&lt;/em&gt; (which is provided for countering the adaptive adversary). This oracle is simply the proposed algorithm itself except the signing operations. The simulator must invoke $n$ copies of these oracles to simulate the interactions, and thus it is quite an inefficient simulator; because it is doing the same algorithm $n$ times for all dummy parties (each party in the ideal world of UC is called a dummy party, because it only relays or generates some inputs and gets the required output from functionality).  &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Question 1&lt;/strong&gt;: If I improve the simulator, does it mean that I have achieved a better result? If the current inefficient simulator suffices, does it have any meaning to redefine the simulator in a more modular way to reduce the simulation time?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;BTW, I am partially aware of meaning of the &lt;strong&gt;Knowledge Tightness&lt;/strong&gt;, but I am not sure of my understanding.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Question 2&lt;/strong&gt;: If I change some parts of the proposed algorithm to make my simulator more efficient and the proof of security more modular, but add (some) slight communication complexity to the resulting algorithm, how can I determine that my changes are an enhancement to the protocol? (I mean, how can I assume this trade off as an advantage?)&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="943" LastEditorUserId="873" LastEditDate="2010-11-15T09:15:35.530" LastActivityDate="2010-11-15T09:15:35.530" Title="Simulator Efficiency versus Algorithm Efficiency" Tags="&lt;cc.complexity-theory&gt;&lt;cr.crypto-security&gt;" AnswerCount="0" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="3000" PostTypeId="2" ParentId="2995" CreationDate="2010-11-15T08:59:59.337" Score="8" Body="&lt;p&gt;This &lt;a href=&quot;http://people.csail.mit.edu/costis/reconstruct.pdf&quot;&gt;2009 survey by Daskalakis&lt;/a&gt; surveys the complexity of computing Nash equilibria. His previous work with Goldberg and Papadimitriou demonstrated that exactly computing such equilibria is PPAD-complete. This is not as strong a statement as if the problem were NP-hard, but still provides evidence that computing Nash equilibria is intractable, throwing into doubt the predictive power of Nash equilibria. One salvation would be to demonstrate a PTAS for $\epsilon$-Nash equilibria for desired accuracy $\epsilon$. But the current best is an non-oblivious approximation algorithm that runs in time quasipolynomial in $1/\epsilon$.&lt;/p&gt;&#xA;" OwnerUserId="108" LastActivityDate="2010-11-15T08:59:59.337" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="3001" PostTypeId="5" CreationDate="2010-11-15T09:53:31.140" Score="0" Body="&lt;p&gt;&lt;strong&gt;Cryptography&lt;/strong&gt; is the practice and study of hiding information. (Information) &lt;strong&gt;security&lt;/strong&gt; means protecting information and information systems from unauthorized access, use, disclosure, disruption, modification, perusal, inspection, recording or destruction.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Questions regarding cryptography/security can be roughly divided into two general types: &lt;strong&gt;Theoretical&lt;/strong&gt; questions, and &lt;strong&gt;practical&lt;/strong&gt; questions. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Examples of theoretical questions:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;What assumptions are needed for the existence of cryptographic construct X?&lt;/li&gt;&#xA;&lt;li&gt;How cipher X is proved to be secure?&lt;/li&gt;&#xA;&lt;li&gt;Can we use cryptographic construct X to design protocol Y?&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Examples of applied questions:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;How can I fix application X to prevent stack overflow?&lt;/li&gt;&#xA;&lt;li&gt;What tools are available to check a site against XSS?&lt;/li&gt;&#xA;&lt;li&gt;Which one is faster: OpenSSL or Crypto++?&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Please note that we only answer research-level &lt;em&gt;theoretical questions&lt;/em&gt; here. Asking an &lt;em&gt;applied question&lt;/em&gt; will usually result in the question being &lt;strong&gt;down-voted&lt;/strong&gt; and &lt;strong&gt;closed&lt;/strong&gt;. To ask an applied question, you are advised to try &lt;a href=&quot;http://stackoverflow.com/&quot;&gt;StackOverflow&lt;/a&gt; or &lt;a href=&quot;http://security.stackexchange.com/&quot;&gt;IT Security&lt;/a&gt;.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Before posting a theoretical question about cryptography, you may want to search &lt;a href=&quot;http://crypto.stackexchange.com/&quot;&gt;Cryptography Stack Exchange&lt;/a&gt; first.  &lt;/p&gt;&#xA;" OwnerUserId="873" LastEditorUserId="8067" LastEditDate="2014-04-29T17:30:14.563" LastActivityDate="2014-04-29T17:30:14.563" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="3002" PostTypeId="4" CreationDate="2010-11-15T09:53:31.140" Score="0" Body="Theoretical aspects of cryptography and information security." OwnerUserId="873" LastEditorUserId="109" LastEditDate="2011-04-02T15:46:55.593" LastActivityDate="2011-04-02T15:46:55.593" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3003" PostTypeId="2" ParentId="2998" CreationDate="2010-11-15T10:33:21.003" Score="13" Body="&lt;p&gt;$NC$ algorithms for perfect matchings in general graphs is still open but there has been some progress. Here are a few that I am aware of:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For general graphs, &lt;a href=&quot;http://www.cse.iitk.ac.in/users/manindra/other/Poly-Machings.pdf&quot;&gt;Agrawal-Hoang-Thierauf&lt;/a&gt; showed that given the promise that the number of perfect matchings is small, there is an $NC^2$ algorithm to enumerate all of them. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the class of planar graphs, the &lt;a href=&quot;http://en.wikipedia.org/wiki/Pfaffian&quot;&gt;pfaffian&lt;/a&gt; plays a big role. Kastelyn showed how every planar graph can be oriented in a way such that the pfaffian exactly equals the number of perfect matchings. (This was used by Valiant in to give &quot;&lt;a href=&quot;http://people.seas.harvard.edu/~valiant/holographic11-07.pdf&quot;&gt;Holographic algorithms&lt;/a&gt;&quot; for various problems) &lt;a href=&quot;http://www.imsc.res.in/%7Emeena/papers/pfaffians.ps.gz&quot;&gt;Mahajan-Subramanya-Vinay&lt;/a&gt; showed how the pfaffian can be computed in $NC$ using modifications of clow sequences. (Kastelyn in fact gives an algorithm to find the embedding in $P$ but I'm not sure if the pfaffian embedding can also be computed in $NC$; if yes, that would mean that counting perfect matchings in planar graphs is in $NC$.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;And a recent result of &lt;a href=&quot;http://eccc.hpi-web.de/report/2010/151/&quot;&gt;Vinodchandran-Tewari&lt;/a&gt; show that the isolation lemma can be &quot;derandomized&quot; for planar graphs (using Green's theorem!) to put planar reachability in $UL$. But $NC$ algorithms for planar matchings are still open (thanks to Raghunath for correcting my claim that it is in $UL$). An $NC$ algorithm for bipartite planar matchings was given by &lt;a href=&quot;http://drops.dagstuhl.de/opus/volltexte/2008/1346/pdf/22011.DattaSamir.Paper.1346.pdf&quot;&gt;Datta-Kulkarni-Roy&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hope this helps.&lt;/p&gt;&#xA;" OwnerUserId="877" LastEditorUserId="877" LastEditDate="2010-11-15T19:52:45.827" LastActivityDate="2010-11-15T19:52:45.827" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3004" PostTypeId="1" AcceptedAnswerId="3007" CreationDate="2010-11-15T10:58:43.417" Score="16" ViewCount="1800" Body="&lt;p&gt;This is a question in the spirit of &lt;a href=&quot;https://cstheory.stackexchange.com/questions/2953/advice-on-good-research-practices&quot;&gt;this one&lt;/a&gt; where I answered that it is important to keep track of what you have done something, why you have done it and what is not working.&#xA;I personally use notebooks for that purpose, but it has several drawbacks: first I need a lot of storage surface, second when I travel I cannot access my data, and finally this is not collaborative. It has however a strong plus: the notebook can be used as the equivalent of a laboratory notebook (you just have to find somebody to sign each page...).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, I am interested in knowing how other researchers proceed for that matter. For example, is there any specific software that solve all the issues I mentioned?&lt;/p&gt;&#xA;" OwnerUserId="76" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2014-12-18T15:28:56.890" Title="Research data organization" Tags="&lt;soft-question&gt;&lt;research-practice&gt;" AnswerCount="7" CommentCount="2" FavoriteCount="16" ContentLicense="CC BY-SA 2.5" />
  <row Id="3005" PostTypeId="2" ParentId="2979" CreationDate="2010-11-15T11:08:18.667" Score="6" Body="&lt;p&gt;I am not sure of what you hide under the word &quot;verification&quot; so I give a try.&#xA;Maybe you can add something about quantitative verification of Markov Decision Processes and the use of probabilistic temporal logic (pLTL and PCTL). In this framework you have a pretty good way of modelling adversaries, of expressing properties and there exists easy to use verification tools (&lt;a href=&quot;http://www.prismmodelchecker.org/&quot; rel=&quot;nofollow&quot;&gt;PRISM&lt;/a&gt; for instance).&lt;/p&gt;&#xA;" OwnerUserId="76" LastActivityDate="2010-11-15T11:08:18.667" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="3006" PostTypeId="2" ParentId="2998" CreationDate="2010-11-15T11:08:35.523" Score="7" Body="&lt;p&gt;When an optimization problem is known to be hard, it is usual to look at their maximal versions. For example, whereas independent set is NP-Complete, the lex first maximal independent set, which is P-Complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the same vein, while we do not know the exact complexity of Perfect Matching, the lex first maximal matching has been studied and is know to be CC-complete (CC stands for problems that can be solved by polynomial size comparator circuits). It turns out that the best known parallel solution of this class has $\sqrt n$ depth. Much of all this should be found in &lt;a href=&quot;http://ieeexplore.ieee.org/iel2/250/1606/00041817.pdf&quot; rel=&quot;nofollow&quot;&gt;this paper by Mayr, Subramanian.&lt;/a&gt; &lt;/p&gt;&#xA;&#xA;&lt;p&gt;All this points says that there may not be an easily parallelizable NC version for this. But then who knows? Someone may derandomize the RNC version next week!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;b&gt;Edit:&lt;/b&gt; Thanks Ramprasad. But here is another link to the &lt;a href=&quot;http://bit.ly/d5jJcT&quot; rel=&quot;nofollow&quot;&gt;paper.&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="1449" LastEditorUserId="1449" LastEditDate="2010-11-15T12:14:19.653" LastActivityDate="2010-11-15T12:14:19.653" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="3007" PostTypeId="2" ParentId="3004" CreationDate="2010-11-15T11:14:14.440" Score="7" Body="&lt;p&gt;There are several pieces of software that can be used for &lt;a href=&quot;http://en.wikipedia.org/wiki/Mind_map&quot; rel=&quot;nofollow noreferrer&quot;&gt;mind mapping&lt;/a&gt;. Here is &lt;a href=&quot;http://en.wikipedia.org/wiki/List_of_mind_mapping_software&quot; rel=&quot;nofollow noreferrer&quot;&gt;a list&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://upload.wikimedia.org/wikipedia/commons/thumb/7/70/Freemind-0.9x_Screenshoot.png/800px-Freemind-0.9x_Screenshoot.png&quot;/&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I also suggest software like &lt;a href=&quot;http://en.wikipedia.org/wiki/Microsoft_OneNote&quot; rel=&quot;nofollow noreferrer&quot;&gt;Microsoft OneNote&lt;/a&gt; or other &lt;a href=&quot;http://en.wikipedia.org/wiki/Comparison_of_notetaking_software&quot; rel=&quot;nofollow noreferrer&quot;&gt;notetaking software&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you have a tablet PC or a graphics tablet, I suggest using &lt;a href=&quot;http://en.wikipedia.org/wiki/Windows_Journal&quot; rel=&quot;nofollow noreferrer&quot;&gt;Windows Journal&lt;/a&gt;, or other alternatives (like &lt;a href=&quot;http://en.wikipedia.org/wiki/Xournal&quot; rel=&quot;nofollow noreferrer&quot;&gt;Xournal&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit:&lt;/strong&gt; For &lt;em&gt;lab notebooks&lt;/em&gt;, please refer to &lt;a href=&quot;http://en.wikipedia.org/wiki/Electronic_lab_notebook&quot; rel=&quot;nofollow noreferrer&quot;&gt;Electronic lab notebook&lt;/a&gt; and &lt;a href=&quot;http://en.wikipedia.org/wiki/Open_Notebook_Science&quot; rel=&quot;nofollow noreferrer&quot;&gt;Open Notebook Science&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="873" LastEditorUserId="-1" LastEditDate="2017-03-09T18:04:14.410" LastActivityDate="2010-11-15T12:09:07.320" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="3008" PostTypeId="1" AcceptedAnswerId="3014" CreationDate="2010-11-15T13:45:10.963" Score="30" ViewCount="2412" Body="&lt;p&gt;I teach an advanced algorithms course and would like to include some topics related to machine learning which will be of interest to my students. As a result, I would like to hear people's opinions of the currently most interesting/greatest algorithmic results in machine learning. The potentially tricky constraint is that the students will not have any particular previous knowledge of linear algebra or the other main topics in machine learning. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is really to excite them about the topic and to let them know that ML is a potentially exciting research area for algorithms experts.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT: This is a final year undergraduate course (as we don't have graduate courses in the UK in the main).  They will have done at least one basic algorithms course beforehand and presumably done well in it to have chosen the advanced follow up course. The current syllabus of the advanced course has topics such as perfect hashing, Bloom filters, van Emde Boas trees, linear prog., approx. algorithms for NP-hard problems etc.  I don't intend to spend more than one lecture exclusively on ML but if something is really relevant to both an algorithms course and an ML one then of course it could also be included.&lt;/p&gt;&#xA;" OwnerUserId="1864" LastEditorUserId="1864" LastEditDate="2010-11-15T14:17:57.567" LastActivityDate="2019-04-25T08:53:28.627" Title="Great algorithms, machine learning and no linear algebra" Tags="&lt;ds.algorithms&gt;&lt;machine-learning&gt;&lt;teaching&gt;" AnswerCount="10" CommentCount="6" FavoriteCount="14" ContentLicense="CC BY-SA 2.5" />
  <row Id="3009" PostTypeId="2" ParentId="2998" CreationDate="2010-11-15T13:58:56.583" Score="1" Body="&lt;p&gt;Parallel approximation results may shed light on the parallel complexity of perfect matching. Fischer, Goldberg, Haglin, and Plotkin designed parallel algorithm to find approximate $(1-\epsilon)-$maximum cardinality matching which puts the approximation problem in $NC$. Their algorithm uses $n^{\Theta(1/\epsilon)}$ processors and runs in $O(\log^3 n)$ time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;T. Fischer, A. V. Goldberg, D. J. Haglin, and S. Plotkin. Approximating matchings in parallel. Info. Proc. Lett., 46(3):115, 1993&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2010-11-15T14:07:26.750" LastActivityDate="2010-11-15T14:07:26.750" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3010" PostTypeId="2" ParentId="3008" CreationDate="2010-11-15T15:32:53.430" Score="9" Body="&lt;p&gt;If you just want to whet their appetite in a single lecture, it might be most exciting to present a powerful application.  For example, &lt;a href=&quot;http://en.wikipedia.org/wiki/Support_vector_machine&quot; rel=&quot;nofollow&quot;&gt;support vector machines&lt;/a&gt;, and other machine learning algorithms, are used in chemoinformatics for drug discovery.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The learning problem essentially is: given a behavior we want a chemical to exhibit, devise a structure that exhibits that behavior by deducing it from a database of known structures that exhibit similar (or dissimilar) behaviors.  The learning problem has an extra wrinkle: the new drug needs to be &quot;distant&quot; in global structure from previously known drugs, in order to found a patent estate.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One source is &lt;a href=&quot;http://onlinelibrary.wiley.com/doi/10.1002/0471433519.ch1/summary&quot; rel=&quot;nofollow&quot;&gt;Clustering Methods and Their Uses in Computational Chemistry &lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="30" LastEditorUserId="123" LastEditDate="2016-06-01T13:32:12.310" LastActivityDate="2016-06-01T13:32:12.310" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="3011" PostTypeId="2" ParentId="3008" CreationDate="2010-11-15T15:55:32.063" Score="5" Body="&lt;p&gt;The second part of &quot;Neural Networks and Machine Learning&quot; by Christopher Bishop (at MSR) is on algorithms in ML.  Bishop's textbooks are commonly used for graduate (and later undergraduate) textbooks and are extremely well-written. &lt;/p&gt;&#xA;" OwnerUserId="2111" LastActivityDate="2010-11-15T15:55:32.063" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3012" PostTypeId="2" ParentId="2953" CreationDate="2010-11-15T16:15:21.820" Score="33" Body="&lt;p&gt;Write everything, all the time.  In TeX, preferably.  Whether you are considering a question or proving a lemma, put it in a digital format as soon as possible.  Write the necessary background.  Try to keep the thoughts organized in a narrative.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Having all of these things in a digital form makes paper-writing much easier, but still a lot of work.  In my experience, it helps a lot to start again from scratch.  This allows for a clean start to find an improved organization.  Also, proofs are always easier the second or third time around.&lt;/p&gt;&#xA;" OwnerUserId="59" LastActivityDate="2010-11-15T16:15:21.820" CommentCount="3" CommunityOwnedDate="2010-11-15T16:15:21.820" ContentLicense="CC BY-SA 2.5" />
  <row Id="3013" PostTypeId="2" ParentId="2988" CreationDate="2010-11-15T16:25:31.513" Score="7" Body="&lt;p&gt;The SQ model was made to analyze noise tolerant learning -- namely an algorithm that works by making statistical queries will work under classification noise.  As Aaron said, most PAC algorithms that we have turn out to have equivalents in the SQ model.  The one exception is Gaussian elimination, which is used in learning parities (one can even use &lt;a href=&quot;http://arxiv.org/pdf/cs/0010022&quot;&gt;a clever application of it&lt;/a&gt; to learn log(n)loglog(n) size parities in the classification noise model).  We also know that parities cannot be learned with statistical queries, and it turns out most interesting classes like decision trees can simulate parity functions.  So, in our quest to get PAC learning algorithms for many interesting classes (like decision trees, DNF, etc.), we know we need fundamentally new learning algorithms that don't work in the statistical query model.&lt;/p&gt;&#xA;" OwnerUserId="123" LastActivityDate="2010-11-15T16:25:31.513" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="3014" PostTypeId="2" ParentId="3008" CreationDate="2010-11-15T16:28:45.863" Score="29" Body="&lt;p&gt;You can cover &lt;a href=&quot;http://cseweb.ucsd.edu/~yfreund/papers/IntroToBoosting.pdf&quot; rel=&quot;nofollow&quot;&gt;boosting&lt;/a&gt;.  It's very clever, easy to implement, is widely used in practice, and doesn't require much prerequisite knowledge to understand.&lt;/p&gt;&#xA;" OwnerUserId="123" LastEditorUserId="123" LastEditDate="2016-06-01T13:35:26.077" LastActivityDate="2016-06-01T13:35:26.077" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="3015" PostTypeId="2" ParentId="2953" CreationDate="2010-11-15T16:33:54.580" Score="21" Body="&lt;p&gt;I would like to second the advice given by Justin.  There are a lot of great suggestions in the replies, but many of them are just about effective work habits and don't specifically have anything to do with research.  I was thinking about this recently after viewing a talk by Steven Johnson on the subject of his latest book, &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/1594487715&quot;&gt;&quot;Where Good Ideas Come From&quot;&lt;/a&gt;.  (One version of the talk can be found &lt;a href=&quot;http://www.ted.com/talks/steven_johnson_where_good_ideas_come_from.html&quot;&gt;at TED&lt;/a&gt;.)  His basic premise is that there are certain environments which act as natural incubators for new ideas.  He gives the example of the coffee house in Renaissance England, which aside from the effects of the coffee itself, brought people of varied backgrounds together and encouraged the exchange of ideas.  It is this cross-pollination of ideas which gives rise to new, novel ideas.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now quite possibly this hasn't been mentioned in most of the other responses because it is just assumed that everyone is already going to be doing this, but I thought it would be worth emphasizing the point.&lt;/p&gt;&#xA;" OwnerUserId="184" LastActivityDate="2010-11-15T16:33:54.580" CommentCount="0" CommunityOwnedDate="2010-11-15T16:33:54.580" ContentLicense="CC BY-SA 2.5" />
  <row Id="3016" PostTypeId="2" ParentId="2998" CreationDate="2010-11-15T16:52:44.847" Score="8" Body="&lt;p&gt;The derandomization of isolation lemma by Tewari-Vinodchandran does not give a UL upper bound on planar matching unfortunately. In fact I dont even think an NC algorithm is not known for planar matching. But in a recent work with Datta, Kulkarni and Nimbhorkar we show an UL upper bound on bipartite planar matching (the writeup of this result is still in progress). This is interesting because prior to this even an NL bound was not known for this problem.&lt;/p&gt;&#xA;" OwnerUserId="2246" LastActivityDate="2010-11-15T16:52:44.847" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="3017" PostTypeId="2" ParentId="2995" CreationDate="2010-11-15T17:04:56.703" Score="2" Body="&lt;p&gt;Assuming &quot;hard&quot; functions exist (for a variety of definitions of &quot;hard&quot;), we can construct pseudorandom generators.&lt;/p&gt;&#xA;" OwnerUserId="1621" LastActivityDate="2010-11-15T17:04:56.703" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3018" PostTypeId="1" AcceptedAnswerId="3044" CreationDate="2010-11-15T17:10:15.993" Score="8" ViewCount="452" Body="&lt;p&gt;Simulation-based security provides more natural and more powerful definition of security than game-based security. I have seen the simulation based approaches use the game-based proofs in-part to prove security of some parts of the protocol. For example, to assess the security of a protocol for round complexity or total messages exchanged during execution of the protocol, a game-baed approach is taken, but the security of the protocol itself regarding the framework (in my study the UC framework) is proven by Ideal/Real paradigm (i.e., simulation based approach). &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Question&lt;/strong&gt;: Under what circumstances can we use a game-based approach to prove security of a part of the protocol or the whole protocol when the protocol design must conform to a simulation approach? Can we use this approach at any point for any reason as long as it is not relevant to security of the whole protocol regarding the simulation-based framework?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Let me explain it through an example: I am studying a group key exchange protocol over UC framework (simulation-based), but the protocol uses encryption schemes which are CCA-Secure (proven by a game between adversary and some oracles) or CCA2-secure (proven by a game-based approach too), signatures must be existentially unforgeable (game-based approach too) and finally the communication cost of the protocol is calculated and analysis of the protocol security is done through 10 or 11 games between adversary and simulator. Finally proofs are made to show that the protocol conforms to UC regulations.&lt;/p&gt;&#xA;" OwnerUserId="943" LastEditorUserId="873" LastEditDate="2010-11-15T17:34:58.117" LastActivityDate="2010-11-16T09:32:52.893" Title="Using game-based proofs in simulation-based proofs" Tags="&lt;cc.complexity-theory&gt;&lt;cr.crypto-security&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="3019" PostTypeId="2" ParentId="3004" CreationDate="2010-11-15T17:26:34.880" Score="10" Body="&lt;p&gt;For emacs users there's the extremely useful &lt;a href=&quot;http://orgmode.org/&quot; rel=&quot;noreferrer&quot;&gt;org-mode&lt;/a&gt;. It is an emacs mode that, in plain ascii, help organizing your life or at least your research :) It has TODOs, deadlines, schedules, effort, tables with some computations capabilities, and &lt;strong&gt;lots&lt;/strong&gt; of other features. It can export projects in LaTeX, html or other formats. Since it is text-based you can manage projects concurrently using some &lt;a href=&quot;http://en.wikipedia.org/wiki/Distributed_Concurrent_Versions_System&quot; rel=&quot;noreferrer&quot;&gt;Distributed Concurrent Versions System&lt;/a&gt;, such as git or mercurial...&lt;/p&gt;&#xA;" OwnerUserId="1768" LastActivityDate="2010-11-15T17:26:34.880" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3020" PostTypeId="2" ParentId="2995" CreationDate="2010-11-15T18:36:27.980" Score="4" Body="&lt;p&gt;To add to Dana's answer which basically says hardness can be converted into randomness. The existence of hard functions with exponential circuit complexity lower bound can be used to efficiently derandomize every probabilistic algorithm in $BPP$. This would imply $P=BPP$. &lt;/p&gt;&#xA;" OwnerUserId="495" LastActivityDate="2010-11-15T18:36:27.980" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3021" PostTypeId="3" CreationDate="2010-11-15T19:09:07.777" Score="0" Body="&lt;p&gt;An &lt;strong&gt;advice string&lt;/strong&gt; is an extra input to a Turing machine which is allowed to depend on the length $n$ of the input, but not on input itself. Turing machines can simulate families of Boolean circuits if they take a an advice string of proper length.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The complexity class ${\rm C}/f(n)$ denotes the class of problems decidable by Turing machines in class $\rm C$ which take advices of length $f(n)$, where $n$ is the size of input. Examples include ${\rm P}/poly$ and ${\rm NP}/poly$. (Incidentally, ${\rm P}/poly$ denotes the class of languages decidable by polynomial-size circuits.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is well-known that ${\rm BPP} \subset {\rm P}/poly$, but the inverse does not hold, since ${\rm P}/poly$ includes undecidable problems. Interestingly, even ${\rm P}/1$ (a polynomial-time Turing machine which takes one bit of advice) includes undecidable problems.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Related tags:&lt;/strong&gt; &lt;a href=&quot;http://cstheory.stackexchange.com/questions/tagged/uniformity&quot;&gt;&lt;code&gt;uniformity&lt;/code&gt;&lt;/a&gt;, &lt;a href=&quot;http://cstheory.stackexchange.com/questions/tagged/circuit-complexity&quot;&gt;&lt;code&gt;circuit-complexity&lt;/code&gt;&lt;/a&gt;, &lt;a href=&quot;http://cstheory.stackexchange.com/questions/tagged/circuit-families&quot;&gt;&lt;code&gt;circuit-families&lt;/code&gt;&lt;/a&gt;, &lt;a href=&quot;http://cstheory.stackexchange.com/questions/tagged/cc.complexity-theory&quot;&gt;&lt;code&gt;cc.complexity-theory&lt;/code&gt;&lt;/a&gt;, &lt;a href=&quot;http://cstheory.stackexchange.com/questions/tagged/complexity-classes&quot;&gt;&lt;code&gt;complexity-classes&lt;/code&gt;&lt;/a&gt;, &lt;a href=&quot;http://cstheory.stackexchange.com/questions/tagged/computability&quot;&gt;&lt;code&gt;computability&lt;/code&gt;&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Reference(s):&lt;/strong&gt; &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Advice_%28complexity%29&quot; rel=&quot;nofollow&quot;&gt;Wikipedia's topic on Advice&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Circuit_complexity&quot; rel=&quot;nofollow&quot;&gt;Wikipedia's topic on Circuit Complexity&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="-1" LastEditorUserId="873" LastEditDate="2010-11-15T19:09:07.777" LastActivityDate="2010-11-15T19:09:07.777" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3022" PostTypeId="3" CreationDate="2010-11-15T19:09:07.777" Score="0" Body="Questions regarding non-uniform models of computation." OwnerUserId="-1" LastEditorUserId="873" LastEditDate="2010-11-15T19:09:07.777" LastActivityDate="2010-11-15T19:09:07.777" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3023" PostTypeId="1" CreationDate="2010-11-15T19:53:26.037" Score="1" ViewCount="520" Body="&lt;p&gt;There are protocols which make use of invoking an oracle or submitting queries to an oracle and getting response from that. There are many examples in which oracles are used to define security, like IND-CCA security and there are many examples of using the term oracle to just a procedure accepting input and providing some output, independent of the input, like &lt;a href=&quot;http://www.springerlink.com/index/BA16FGC4R6MTQ20F.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;non-information oracles of Canetti&lt;/a&gt; (you can refer to my previous &lt;a href=&quot;https://cstheory.stackexchange.com/questions/2999/simulator-efficiency-versus-algorithm-efficiency&quot;&gt;question&lt;/a&gt; to read more about non-information oracles). My question is about the &lt;em&gt;Random Oracle&lt;/em&gt;, that is an oracle with random output.  &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;When can we determine that we are using the random oracle model? For example, when we use the random output of a hash function, definitely we are in the random oracle model, but if we use one way property of hash function we are not using random oracle model. Can you provide more examples on this?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Let me clarify my ambiguity through an example. In &lt;a href=&quot;http://www.springerlink.com/index/q05315002561t62n.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;this article&lt;/a&gt; the authors use a new oracle which is relatively unknown called linear oracle bilinear Diffie-Hellman (or in short LO-BDH) and security of their approach lies in the hardness of this assumption. How can I determine that using this assumption, we are not using the random oracle model (the authors claim that they are not in the random oracle). Here is another source of ambiguity:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;They are using commitments over UC framework which are impossible in the plain model thus they are at least using common reference string (CRS) model. How can I make sure that if I use such an oracle (LO-BDH) in the security proof of another protocol, I am still in the plain model or using it does not cause undesired shifting of models?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit&lt;/strong&gt;: I found interesting material on RO methodology in the book &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/1584885513&quot; rel=&quot;nofollow noreferrer&quot;&gt;Introduction to modern cryptography&lt;/a&gt; by Katz and Lindell. the rest is from the mentioned book.  &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;When defining pseudorandom functions, the authors have considered algorithms having oracle access to a random function. But usage of a random function there is very different from the usage of a random function in the RO methodology. In the pseudorandom functions, a random function is used as &lt;em&gt;a way of defining&lt;/em&gt; what it means for a concrete keyed function to be pseudorandom. In the random oracle model, the random function is used as part of the &lt;em&gt;construction of the primitive&lt;/em&gt;, so must somehow be instantiated in the real world if we want a concrete realization of the primitive.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;BTW, the authors have noted that a random oracle is not a one way function because random oracle is not a fixed function, but in order to implement it in a real world, it must first be instantiated and description of it must be fixed. So a hash function is fixed before executing the protocol.&lt;/p&gt;&#xA;" OwnerUserId="943" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2011-05-11T18:13:20.863" Title="When we are using Random Oracle Model" Tags="&lt;cr.crypto-security&gt;&lt;oracles&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="3024" PostTypeId="1" AcceptedAnswerId="3026" CreationDate="2010-11-15T20:07:53.050" Score="8" ViewCount="1841" Body="&lt;p&gt;Hamiltonian cycle problem is $NP$-complete on cubic planar bipartite graphs. I'm interested in upper bounds on the length of the longest simple path in non-Hamiltonian cubic planar bipartite graphs.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What is the best known upper bound on the length of longest simple path in non-Hamiltonian cubic planar bipartite graphs?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit&lt;/strong&gt;: Also, I am interested in non-trivial lower bounds on the length of the longest simple path in this class of graphs.&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2010-11-15T20:40:06.330" LastActivityDate="2010-11-16T19:41:36.707" Title="Upper bounds on the length of longest simple path in non-Hamiltonian graph?" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;" AnswerCount="2" CommentCount="6" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="3025" PostTypeId="2" ParentId="2935" CreationDate="2010-11-15T21:24:12.053" Score="5" Body="&lt;p&gt;I've encountered an interesting case in my own research of small differences in alphabet size making dramatic differences in the resulting theory.  A &lt;em&gt;rough description&lt;/em&gt; of the problem of learning probabilistic circuits is the following: a learner can override gates of a hidden circuit and observe the resulting output, and the goal is to produce a &quot;functionally equivalent&quot; circuit.  For boolean circuits, whenever a gate has &quot;influence&quot; on the output, one can isolate an influential path from that gate to the output of the circuit.  For circuits of alphabet size $\ge 3$ this becomes no longer the case -- namely, there are circuits who have gates with large influence on the output value, but no influence along any one path to the output!  We found this result quite surprising.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.cc.gatech.edu/~lreyzin/papers/AngluinAspCheEisRey09_jmlr.pdf&quot; rel=&quot;nofollow&quot;&gt;The result&lt;/a&gt; is somewhat technical, but if you're interested, you can contrast Lemma 8 with Section 4.1 for relevant the theorem statements.&lt;/p&gt;&#xA;" OwnerUserId="123" LastActivityDate="2010-11-15T21:24:12.053" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="3026" PostTypeId="2" ParentId="3024" CreationDate="2010-11-15T22:51:11.570" Score="22" Body="&lt;p&gt;There exist cubic bipartite planar graphs in which the longest path has length only $O(\log^2 n)$:&#xA;&lt;img src=&quot;https://i.stack.imgur.com/pr3wi.png&quot; alt=&quot;alt text&quot;&gt;&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2010-11-15T22:51:11.570" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="3027" PostTypeId="1" AcceptedAnswerId="3029" CreationDate="2010-11-15T23:14:56.423" Score="11" ViewCount="349" Body="&lt;p&gt;Real world data sometimes has a natural number of clusters (trying to cluster it into a number of cluster lesser than some magic k will cause a dramatic increase the clustering cost). Today I attended a lecture by Dr. Adam Meyerson and he referred to that type of data as &quot;separable data&quot;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;What are some clustering formalizations, other than K-means, that could be amenable to clustering algorithms (approximations or heuristics) that would exploit natural separability in data?&lt;/p&gt;&#xA;" OwnerUserId="2042" LastEditorUserId="186" LastEditDate="2010-11-17T06:22:07.760" LastActivityDate="2010-11-17T06:22:07.760" Title="Clustering formalizations other than K-means for separable data" Tags="&lt;lg.learning&gt;&lt;clustering&gt;" AnswerCount="2" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3029" PostTypeId="2" ParentId="3027" CreationDate="2010-11-15T23:47:35.293" Score="11" Body="&lt;p&gt;One &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=1496886&quot;&gt;recent model&lt;/a&gt; trying to capture such a notion is by Balcan, Blum, and Gupta '09.  They give algorithms for various clustering objectives when the data satisfies a certain assumption: namely that if the data is such that any $c$-approximation for the clustering objective is $\epsilon$-close to the optimal clustering, then they can give efficient algorithms for finding an almost-optimal clustering, even for values of $c$ for which finding the $c$-approximation is NP-Hard.  This is an assumption about the data being somehow &quot;nice&quot; or &quot;separable.&quot;  Lipton has &lt;a href=&quot;http://rjlipton.wordpress.com/2010/05/17/the-shadow-case-model-of-complexity/&quot;&gt;a nice blog post&lt;/a&gt; on this.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another similar type of condition about data given in &lt;a href=&quot;http://www.cs.huji.ac.il/~nati/PAPERS/stable_instance.pdf&quot;&gt;a paper&lt;/a&gt; by Bilu and Linial '10 is perturbation-stability.  Basically, they show that if the data is such that the optimal clustering doesn't change when the data is perturbed (by some parameter $\alpha$) for large enough values of $\alpha$, one can efficiently find the optimal clustering for the original data, even when the problem is NP-Hard in general.  This is another notion of stability or separability of the data.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm sure there is earlier work and earlier relevant notions, but these are some recent theoretical results related to your question.&lt;/p&gt;&#xA;" OwnerUserId="123" LastEditorUserId="123" LastEditDate="2010-11-16T16:20:51.993" LastActivityDate="2010-11-16T16:20:51.993" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3030" PostTypeId="2" ParentId="3027" CreationDate="2010-11-15T23:57:04.733" Score="8" Body="&lt;p&gt;Apart from the works by &lt;a href=&quot;http://www.computer.org/portal/web/csdl/doi/10.1109/FOCS.2006.75&quot;&gt;Ostrovsky et al&lt;/a&gt;, and the work by &lt;a href=&quot;http://www.stanford.edu/~darthur/kMeansPlusPlus.pdf&quot;&gt;Arthur and Vassilvitskii&lt;/a&gt; on the behavior of k-means, there's a body of theoretical work on &lt;a href=&quot;http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=1366265&amp;amp;tag=1&quot;&gt;Euclidean k-median and k-means&lt;/a&gt; leading up to &quot;linear&quot; time algorithms for clustering under these formulations. What's interesting about these latter works is that they use separability as a tool in the analysis, but don't require it in the data. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2010-11-15T23:57:04.733" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3031" PostTypeId="1" CreationDate="2010-11-16T02:14:15.187" Score="3" ViewCount="2086" Body="&lt;p&gt;Below is Tarjan's SCC algorithm as described in &lt;a href=&quot;http://en.wikipedia.org/wiki/Tarjan%27s_strongly_connected_components_algorithm#The_root_property&quot; rel=&quot;nofollow&quot; title=&quot;wikipedia&quot;&gt;wikipedia&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Input: Graph G = (V, E) &lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;1.  index = 0                                         // DFS node number counter &#xA;2.  S = empty                                         // An empty stack of nodes &#xA;3.  for all v in V do &#xA;4.   if (v.index is undefined)                       // Start a DFS at each node &#xA;5.     tarjan(v)                                     // we haven't visited yet &#xA;&#xA;6.  procedure tarjan(v) &#xA;7.   v.index = index                                 // Set the depth index for v &#xA;8.   v.lowlink = index                               &#xA;9.   index = index + 1 &#xA;10.  S.push(v)                                       // Push v on the stack &#xA;11.  for all (v, v') in E do                         // Consider successors of v &#xA;12.    if (v'.index is undefined)                    // Was successor v' visited? &#xA;13.        tarjan(v')                                // Recurse &#xA;14.        v.lowlink = min(v.lowlink, v'.lowlink) &#xA;15.    else if (v' is in S)                          // Was successor v' in stack S? &#xA;16.        v.lowlink = min(v.lowlink, v'.index)      // v' is in stack but it isn't in the dfs tree &#xA;17.  if (v.lowlink == v.index)                       // Is v the root of an SCC? &#xA;18.    print &quot;SCC:&quot; &#xA;19.    repeat &#xA;20.      v' = S.pop                                   &#xA;21.      print v' &#xA;22.    until (v' == v)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;In line 16, I could not determine why I could or could not replace line 16 with that of line 14. In other words, it seems to me that taking the min(v.lowlink, v'.lowlink) is the proper approach as opposed to min(v.lowlink, v'.index) in the above example. I have seen one other example on the web that mimics the pseudocode above.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have considered the unusual use of stack S in the algorithm above in which S may contain items from previous &quot;dead&quot; stack frames. These leftover items aren't removed because they are not the roots of their own strongly connected component.&lt;/p&gt;&#xA;" OwnerUserId="178" LastActivityDate="2010-11-16T05:15:14.553" Title="Tarjan Strongly Connected Components Question" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;" AnswerCount="1" CommentCount="9" FavoriteCount="2" ClosedDate="2010-11-16T07:29:15.203" ContentLicense="CC BY-SA 2.5" />
  <row Id="3032" PostTypeId="2" ParentId="149" CreationDate="2010-11-16T02:43:38.770" Score="10" Body="&lt;p&gt;Moser's constructive proof of the Lovasz Local Lemma uses computer science ideas, gives a new proof of Lovasz Local lemma, and solves a problem that people have been thinking about for quite some time.&lt;/p&gt;&#xA;" OwnerUserId="1677" LastActivityDate="2010-11-16T02:43:38.770" CommentCount="0" CommunityOwnedDate="2010-11-16T02:43:38.770" ContentLicense="CC BY-SA 2.5" />
  <row Id="3033" PostTypeId="2" ParentId="2935" CreationDate="2010-11-16T02:55:17.563" Score="8" Body="&lt;p&gt;In error correcting codes, it is possible that there is a fundamental difference between binary codes and codes over larger alphabets in that the Gilbert Varshamov examples for codes which correct a fraction of errors (which are essentially greedy or random examples) are believed by some to be tight in the binary case and are known to be not tight over a large alphabet via algebraic-geometry codes. This led some to speculate that the standard definition of error correcting codes for a large alphabet is not the right analog of binary error correcting codes.  &lt;/p&gt;&#xA;" OwnerUserId="712" LastActivityDate="2010-11-16T02:55:17.563" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3034" PostTypeId="1" CreationDate="2010-11-16T03:53:53.233" Score="13" ViewCount="560" Body="&lt;p&gt;Given $X_1,\ldots,X_k$ (i.i.d. gaussians with mean $0$ and variance $1$), is it possible (how?) to sample (for $m=k^2$) $Y_1, \ldots, Y_m$ such that &#xA;$Y_i$'s are pairwise independent gaussians with mean $0$ and variance $1$. &lt;/p&gt;&#xA;" OwnerDisplayName="Anindya De" LastEditorUserId="186" LastEditDate="2010-11-16T04:44:23.707" LastActivityDate="2012-01-05T21:13:49.600" Title="Pairwise independent gaussians" Tags="&lt;derandomization&gt;&lt;pr.probability&gt;" AnswerCount="2" CommentCount="12" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="3035" PostTypeId="5" CreationDate="2010-11-16T05:04:07.833" Score="0" Body="&lt;p&gt;The tag &lt;a href=&quot;http://en.wikipedia.org/wiki/Mathematical_proof&quot; rel=&quot;nofollow&quot;&gt;proofs&lt;/a&gt; is used for questions about existing or possible proofs of a specific theorem or a conjecture.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Question on proofs in more specific sense should use more other tags like: [formal-methods], [proof-theory], [proof-search], [automated-theorem-proving], [proof-complexity], [interactive-proofs], [proof-assistants], [natural-proofs].&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2010-11-16T05:04:07.833" LastActivityDate="2010-11-16T05:04:07.833" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3036" PostTypeId="4" CreationDate="2010-11-16T05:04:07.833" Score="0" Body="Used for questions about existing or possible proofs of a specific theorem or conjecture" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2010-11-16T05:04:07.833" LastActivityDate="2010-11-16T05:04:07.833" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3037" PostTypeId="2" ParentId="3031" CreationDate="2010-11-16T05:07:47.383" Score="1" Body="&lt;p&gt;&lt;code&gt;v.lowlink = min(v.lowlink, v'.index)&lt;/code&gt; in line 16 is indeed correct. For a full proof you can consult Tarjan's original paper which can also be found &lt;a href=&quot;http://dutta.csc.ncsu.edu/csc791_spring07/wrap/dfs.pdf&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Robert Tarjan: Depth-first search and&#xA;  linear graph algorithms. In: SIAM&#xA;  Journal on Computing. Vol. 1 (1972),&#xA;  No. 2, P. 146-160.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Completely unrelated to the question, there is an amusing 1983 retrospective by Bob Tarjan &lt;a href=&quot;http://www.garfield.library.upenn.edu/classics1983/A1983QY47200001.pdf&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt; on the paper cited above.&lt;/p&gt;&#xA;" OwnerUserId="146" LastEditorUserId="146" LastEditDate="2010-11-16T05:15:14.553" LastActivityDate="2010-11-16T05:15:14.553" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3038" PostTypeId="1" AcceptedAnswerId="3041" CreationDate="2010-11-16T05:15:51.220" Score="0" ViewCount="157" Body="&lt;p&gt;I'm currently taking a subject on theoretical computer science. This is not a homework question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm having trouble figuring out to show the equivalence or disprove the equivalence. Consider any two languages $A$ and $B$. Is the following statement true or false?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$A^* \cup B^* = (A \cup B)^*$&#xD;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Honestly, I use the above example mainly to ensure my question is less subjective. However I'm more concerned about the generalised approach to determining whether languages are equivalent (or subsets of each other and such) when operated on by various operators (kleene star, union, intersection, difference, concatenation). If I know that they are not equivalent I can basically just start bruteforcing for counter-examples, however I can't really think of any structured and consistent approach to answering questions such as the above.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks.&lt;/p&gt;&#xA;" OwnerUserId="1250" LastActivityDate="2010-11-16T05:29:58.017" Title="Languages and their operations: determining equivalence" Tags="&lt;fl.formal-languages&gt;" AnswerCount="1" CommentCount="3" ClosedDate="2010-11-16T14:39:35.250" ContentLicense="CC BY-SA 2.5" />
  <row Id="3039" PostTypeId="5" CreationDate="2010-11-16T05:28:12.933" Score="0" Body="&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Proof_complexity&quot; rel=&quot;nofollow&quot;&gt;Proof Complexity&lt;/a&gt; is a branch of computational complexity theory and logic concerned with the efficiency of proving theorems in various propositional proof systems, and first and higher order theories.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One of the major objectives is finding hard tautologies and proving lower-bounds on the proof size of these tautologies in propositional proof systems like Resolution, Frege, Polynomial Calculus, Extended Frege.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Propositional proof systems are related to bounded arithmetic theories in a similar way to the relation between uniform and nonuniform complexity classes in computational complexity. For example, the translation of any $\Pi^B_1$ statement in the first order theory $TV^0$(which is equal to first order version of $PV$) has polynomial size proofs in Extended Frege. Moreover $TV^0$ proves soundness of Extended Frege and Extended Frege can p-simulate any proof system that $TV^0$ proves its soundness. The theories are also connected to computational complexity classes in a strong sense: the provably total functions of the theory are exactly functions computable in the complexity class, e.g. $TV^0$ can prove a function is total iff the function is in $P$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Examples of hard tautologies are Pigeon-Hole-Principle (PHP) and random CNF formulas.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Proof Complexity is related to Computational Complexity, Automated Theorem Proving and Proof Search, Bounded Arithmetic.&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2010-11-16T09:30:10.700" LastActivityDate="2010-11-16T09:30:10.700" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3040" PostTypeId="4" CreationDate="2010-11-16T05:28:12.933" Score="0" Body="propositional proof systems and corresponding bounded arithmetic theories" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2010-11-16T05:28:12.933" LastActivityDate="2010-11-16T05:28:12.933" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3041" PostTypeId="2" ParentId="3038" CreationDate="2010-11-16T05:29:58.017" Score="5" Body="&lt;p&gt;Nope. Let $A = \{a\}$, $B= \{b\}$. Then $A^* = \{\epsilon,a,aa,&#xD;&#xA;\ldots\}$ and similarly for $B$. So, $A^*\cup B^*$ contains strings of repeated &quot;a&quot; or repeated &quot;b&quot;. But $(A\cup B)^*$ contains strings like $ab$, which you can't get from $A^*$ or $B^*$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'd suggest looking at a book like Sipser for a good coverage of languages like these and how to prove properties like equivalence. In particular, he has a great number of exercises to work through. Good luck!&lt;/p&gt;&#xA;" OwnerUserId="319" LastActivityDate="2010-11-16T05:29:58.017" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3042" PostTypeId="2" ParentId="2902" CreationDate="2010-11-16T07:23:34.887" Score="11" Body="&lt;p&gt;I think I proved it yesterday. Thus here goes the sketch of the proof.&#xA;At first, the following lemma is proved.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Lemma&lt;/strong&gt;. Let $\mathcal{P}$ - a partial order, $G(\mathcal{P})$ - its linear extension graph and $v_1,v_2$ - two adjacent vertices of $G(\mathcal{P})$. Then $|deg(v_1)-deg(v_2)|\leq 2$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The sketch of the proof.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;At the same time, $v_1,v_2$ are linear extensions of $\mathcal{P}$ such that one of them, say $v_1$, can be transformed into $v_2$ by one transposition of adjacent elements (adjacent transposition). It is easy to see (consider, for instance, $d$ and $e$ from the above figure) that any element $x_i$ of any linear extension $L=x_1x_2\dots x_n$ can change the number of incomparable adjacent elements on at most two:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;If $x_i$ can be transposed at all then at least one its neighbor, say $x_{i+1}$, is incomparable to it ($x_i\parallel x_{i+1}$, if comparable then $x_i\perp x_{i+1}$). Note: before transposing we have $L_1=\dots x_{i-1}x_ix_{i+1}x_{i+2}\dots$ and immediately after - $L_2=\dots x_{i-1}x_{i+1}x_{i}x_{i+2}\dots$.&lt;/li&gt;&#xA;&lt;li&gt;Let us consider how the number of incomparabilities (degree of the linear extension as the vertex in $G(\mathcal{P})$) in $L$ could change. We consider at first the pair $x_ix_{i+2}$. For $x_{i-1}x_{i+1}$ the same conclusion follows by symmetry.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;If $x_{i+1}\parallel(\perp) x_{i+2}\land x_{i}\parallel(\perp) x_{i+2}$, then $deg(L)$ doesn't change.&#xA;If $x_{i+1}\perp(\parallel) x_{i+2}\land x_{i}\parallel(\perp) x_{i+2}$, then $deg(L)$ increases (decreases) by one.The sketch of the proof is completed.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Theorem&lt;/strong&gt;. Let $G(\mathcal{P})$ - a linear extension graph. If $G(\mathcal{P})$ contains vertices $v_1,v_2$ with $deg(v_1)=k,deg(v_2)=k+2$, then there is $v_3\in G(\mathcal{P})$ such that $deg(v_3)=k+1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The sketch of the proof.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose $v_1,v_2,deg(v_1)=k,deg(v_2)=k+2$ are adjacent in $G(\mathcal{P})$, otherwise any vertex with degree $k$ in $G(\mathcal{P})$ is adjacent with some vertex if such exists with degree $k+1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let us consider the case where we have $L_1,L_2$ from the previous lemma such that&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$x_{i+1}\perp x_{i+2}\land x_{i}\parallel x_{i+2},$$&#xA;and&#xA;$$x_{i-1}\perp x_{i}\land x_{i-1}\parallel x_{i+1},$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thus $deg(L_2)=deg(L_1)+2$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let us now start transpose $x_{i+1}$ in the direction of $x_1$. It is easy to see that eventually we could stop at the position where&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$x_{j}\perp x_{i+1}\land x_{i+1}\parallel x_{j+1},$$ for some $j&amp;lt;i-1$.&#xA;The sketch of the proof is completed.&lt;/p&gt;&#xA;" OwnerUserId="1060" LastEditorUserId="1060" LastEditDate="2012-01-27T18:43:47.013" LastActivityDate="2012-01-27T18:43:47.013" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="3043" PostTypeId="1" CreationDate="2010-11-16T08:07:53.623" Score="0" ViewCount="185" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Possible Duplicate:&lt;/strong&gt;&lt;br&gt;&#xA;  &lt;a href=&quot;https://cstheory.stackexchange.com/questions/2839/p-vs-np-and-pseudorandom-bit-generators&quot;&gt;P vs. NP and Pseudorandom Bit Generators&lt;/a&gt;  &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&#xA;&#xA;&lt;p&gt;Hello again , and thank you all for making this website a great vehicle for knowledge exchange. So my question is , are you trying to tell me that all I have to do is design a psuedo-random number generator that puts out a random bit stream such that no analysis of the output bits can ever have any correlation at all to the imput bits(a one way function) and I can win a million dollars? You got to be kidding me , right? I have to say right off the bat that I know nothing about computer science but I do know a little bit about electronic design and I must confess that this does not seem to be that difficult. I will have a design for &lt;/p&gt;&#xA;" OwnerDisplayName="Paul Johnson" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.743" LastActivityDate="2010-11-16T09:05:00.043" Title="P vs. NP via psuedo-random number generators" Tags="&lt;cc.complexity-theory&gt;&lt;derandomization&gt;&lt;p-vs-np&gt;" AnswerCount="0" CommentCount="7" ClosedDate="2010-11-16T09:39:10.190" ContentLicense="CC BY-SA 2.5" />
  <row Id="3044" PostTypeId="2" ParentId="3018" CreationDate="2010-11-16T08:39:34.613" Score="6" Body="&lt;p&gt;One paper that deals with the issue is &lt;a href=&quot;http://www.andrew.cmu.edu/user/danupam/ddmrs-tcc06.pdf&quot; rel=&quot;nofollow&quot;&gt;Games and the impossibility of Realizable Ideal Functionality&lt;/a&gt; by Datta et al, but it does't seem to address the issue in full generality. I am not aware of any general statement that guarantees simulation-based security of the whole protodol based on specific game-based security properties of its sub-protocols (unless of course the game-based definitions imply simulation based security, in which case the generic composition theorems by Canetti should apply). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, there do exist specific instances in which one can obtain simulation-based security from game based security. The most telling example in my view is a constant-round zero-knowledge (ZK) argument for NP by Feige and Shamir (see e.g. &lt;a href=&quot;http://www.wisdom.weizmann.ac.il/~feige/thesis.ps&quot; rel=&quot;nofollow&quot;&gt;Feige's PhD&lt;/a&gt;), which builds on witness indistinguishabille (WI) and witness-hiding (WH) sub-protocols. Both WI and WH are (arguably) game-based definitions, and yet the entire protocol can be proved to be ZK (which is the mother of all simulation-based definitions, at least for interactive protocols).&lt;/p&gt;&#xA;" OwnerUserId="2120" LastEditorUserId="2120" LastEditDate="2010-11-16T09:32:52.893" LastActivityDate="2010-11-16T09:32:52.893" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="3045" PostTypeId="2" ParentId="1955" CreationDate="2010-11-16T11:39:18.883" Score="5" Body="&lt;p&gt;&quot;Applied Combinatorics on Words&quot;, by Lothaire, 2004&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is far and away my favorite.  Loads of examples, and also builds up from the absolute basics all the way to some pretty interesting automata applications like Automatic Speech Recognition with Weighted Finite-State Transducers, and topics in bioinformatics.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Best of all, it's free to download, and also includes solution sets:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www-igm.univ-mlv.fr/~berstel/Lothaire/&quot;&gt;http://www-igm.univ-mlv.fr/~berstel/Lothaire/&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="2256" LastActivityDate="2010-11-16T11:39:18.883" CommentCount="0" CommunityOwnedDate="2010-11-16T11:39:18.883" ContentLicense="CC BY-SA 2.5" />
  <row Id="3046" PostTypeId="1" AcceptedAnswerId="3049" CreationDate="2010-11-16T11:50:16.810" Score="8" ViewCount="1992" Body="&lt;p&gt;When I view a fractal such as the Mandelbrot, my first thought is, where did this interesting picture come from. For a picture of this complexity, the information that generated this picture must be stored somewhere. Then I found that the Mandelbrot is generated by computational processes based upon mathematics in the area of complex numbers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, my question still holds, where did the information come from? The nice picture wasn't input when the program was written, where did the information for this picture come from?&lt;/p&gt;&#xA;" OwnerUserId="2257" LastEditorUserId="495" LastEditDate="2010-11-16T13:47:59.133" LastActivityDate="2010-12-18T02:01:15.860" Title="Where does the information in a fractal come from?" Tags="&lt;it.information-theory&gt;&lt;mandelbrot&gt;" AnswerCount="5" CommentCount="2" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="3047" PostTypeId="2" ParentId="3046" CreationDate="2010-11-16T12:59:27.847" Score="5" Body="&lt;p&gt;Mandelbrot set is defined using the complex equation $P_c (z)=z^2 +c$  where $c$ is a complex number.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Mandelbrot set $M$ is the of set complex numbers $M=${$c |$ the sequence $P_c (0),P_c (P_c (0)), P_c (P_c (P_c (0)))...$ is bounded}&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Equivalently for all $n$, $P^n_c (0)$ has a complex magnitude less than 2.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The information in Mandelbrot set comes from the fact that membership in the set $M$ is undecidable. This means that there is no algorithm that can predict whether a given complex number $c$ is in Mandelbrot set or not. This means that the membership of a given complex number $c$ in $M$ is random to any algorithm over complex numbers and reflects the unpredictability of the evolution of simple rules over complex numbers.&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2010-11-16T13:05:48.950" LastActivityDate="2010-11-16T13:05:48.950" CommentCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="3048" PostTypeId="1" CreationDate="2010-11-16T13:05:33.887" Score="10" ViewCount="348" Body="&lt;p&gt;Given a finite set $X$ and a collection $F$ of subsets of $X$, we define a &lt;em&gt;cover&lt;/em&gt; of $X$ in $F$ as a subset of $F$ whose union is equal to $X$.  A cover $C$ of $X$ in $F$ is said to be &lt;em&gt;exact&lt;/em&gt; if the sets in $C$ are pairwise disjoint.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In this question, we are interested in the case where every set in $F$ has the same size $k$, and moreover, $X$ can be partitioned into $k$ disjoint subsets $X_1, \ldots, X_k$ of equal size so that every set in $F$ contains exactly one element in $X_i$ for each $1 \le i \le k$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For a nondecreasing function $r : \mathbb{N} \to [1, \infty)$, consider the following promise problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Gap Multi-Dimensional Cover&lt;/strong&gt;  (with a parameter $r(n)$)&lt;br&gt;&#xA;&lt;em&gt;Instance&lt;/em&gt;: $k$, $m \in \mathbb{N}$, $k$ pairwise disjoint sets $X_1, \ldots, X_k$ each of size $m$, and a collection $F$ of subsets of $X = X_1 \cup \cdots \cup X_k$ such that every set $E \in F$ contains exactly one element in $X_i$ for each $1 \le i \le k$.&lt;br&gt;&#xA;&lt;em&gt;Yes-promise&lt;/em&gt;: $F$ has an exact cover of $X$ (that is, a cover of size $m$).&lt;br&gt;&#xA;&lt;em&gt;No-promise&lt;/em&gt;: Any cover $C$ of $X$ in $F$ satisfies $|C| &amp;gt; m \cdot r(k m)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Note that larger values of the function $r(n)$ means an easier problem.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem is clearly in NP for any choice of the function $r(n)$.  As for the hardness, it is easy to see that in the gapless case (that is, $r(n) = 1$ for all $n$), the problem is NP-complete (even if $k$ is fixed to 3) because it contains 3-Dimensional Matching as a special case.  The following stronger result is a corollary of Theorem 4.4 of [Pet94]: there exists a constant $r &amp;gt; 1$ such that Gap Multi-Dimensional Cover with parameter $r$ is NP-complete (even if $k$ is fixed to 3).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that the optimization version of Multi-Dimensional Cover (where the task is to find a cover of minimum cardinality) can be naturally defined, and it is a special case of $k$-Set Cover.  Gap Multi-Dimensional Cover with parameter $r(n)$ is not harder than approximating Multi-Dimensional Cover within a factor of $r(k m)$, which is in turn not harder than approximating $k$-Set Cover within a factor of $r(k m)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $r(n) \ge \ln n - \ln \ln n + 0.78$, the problem is in P by using the greedy algorithm [Sla97].  (The case where $r(n) \ge \ln n - O(1)$ is much easier and has been long known [Joh74].)&lt;/p&gt;&#xA;&#xA;&lt;h3&gt;Questions&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;Although inapproximability of Set Cover is studied very well, the above special case does not seem to be particularly well-studied, at least explicitly.  Therefore, any hardness results about this special case would be interesting.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Other than what is stated above, what can be said about the hardness of Gap Multi-Dimensional Cover under a plausible assumption?  For example, are the following statements true?&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;“For every constant $r \ge 1$, Gap Multi-Dimensional Cover with parameter $r$ is NP-complete.”&lt;/li&gt;&#xA;&lt;li&gt;“Gap Multi-Dimensional Cover with parameter $r(n) = (1 - \varepsilon) \ln n$ is not in P for any constant $0 &amp;lt; \varepsilon &amp;lt; 1$ unless NP $\subseteq$ DTIME($n^{\log \log n}$).”&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;If they are true, they will immediately imply the following two known inapproximability results for Set Cover, respectively (therefore the above two results will be refinements of the below two):&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;For every constant $r \ge 1$, it is NP-hard to approximate Set Cover within a factor of $r$ [BGLR93].&lt;/li&gt;&#xA;&lt;li&gt;For every constant $0 &amp;lt; \varepsilon &amp;lt; 1$, Set Cover cannot be approximated within a factor of $(1 - \varepsilon) \ln n$ in polynomial time unless NP $\subseteq$ DTIME($n^{\log \log n}$) [Fei98].&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Therefore, I am interested in whether the hardness of Gap Multi-Dimensional Cover can be obtained as corollaries of the results of [BGLR93] and [Fei98] or their proofs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am also interested in other hardness results on Gap Multi-Dimensional Cover.  For example, it is interesting to see whether other results about inapproximability of Set Cover (e.g. [RS97, AMS06] and there are probably many more) can be refined to say anything about hardness of Gap Multi-Dimensional Cover.&lt;/p&gt;&#xA;&#xA;&lt;h3&gt;Application&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;This question is motivated by a question “&lt;a href=&quot;https://cstheory.stackexchange.com/questions/2915/set-cover-for-permutation-matrices&quot;&gt;Set Cover for Permutation Matrices&lt;/a&gt;” by Brayden Ware, where he asks about approximability of a special case of Set Cover.  An &lt;a href=&quot;https://cstheory.stackexchange.com/questions/2915/set-cover-for-permutation-matrices/2989#2989&quot;&gt;answer&lt;/a&gt; which I posted in response to that question can be viewed as a reduction from Set Cover to the optimization version of Multi-Dimensional Cover (with $m = 2$) followed by a reduction from Multi-Dimensional Cover to Set Cover for Permutation Matrices.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Related to that question, I considered the following question out of curiosity.  Any solution to Set Cover for Permutation Matrices must have size at least $n$.  Therefore, an instance of Set Cover for Permutation Matrices can be thought of as the “best case” if it has a cover of size $n$ (in which case it is an exact cover).  Is it still hard to distinguish these “best cases” from the cases which are “far from the best”?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If I am not mistaken, an affirmative answer to the current question (under some assumption) will imply that in Set Cover for Permutation Matrices, it is impossible (under the same assumption) to distinguish the instances which have a cover of size $n$ from the instances whose cover has size larger than $n \cdot r(n)$.&lt;/p&gt;&#xA;&#xA;&lt;h3&gt;References&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;[AMS06] Noga Alon, Dana Moshkovitz and Shmuel Safra.  Algorithmic construction of sets for $k$-restrictions.  &lt;em&gt;ACM Transactions on Algorithms&lt;/em&gt;, 2(2):153–177, April 2006.  &lt;a href=&quot;http://dx.doi.org/10.1145/1150334.1150336&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://dx.doi.org/10.1145/1150334.1150336&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[BGLR93]  M. Bellare, S. Goldwasser, C. Lund and A. Russell.  Efficient probabilistically checkable proofs and applications to approximations.  In &lt;em&gt;Proceedings of the Twenty-Fifth Annual ACM Symposium on Theory of Computing (STOC)&lt;/em&gt;, pp. 294–304, May 1993.  &lt;a href=&quot;http://dx.doi.org/10.1145/167088.167174&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://dx.doi.org/10.1145/167088.167174&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[Fei98] Uriel Feige.  A threshold of ln $n$ for approximating set cover.  &lt;em&gt;Journal of the ACM&lt;/em&gt;, 45(4):634–652, July 1998.  &lt;a href=&quot;http://dx.doi.org/10.1145/285055.285059&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://dx.doi.org/10.1145/285055.285059&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[Joh74] David S. Johnson.  Approximation algorithms for combinatorial problems.  &lt;em&gt;Journal of Computer and System Sciences&lt;/em&gt;, 9(3):256–278, Dec. 1974.  &lt;a href=&quot;http://dx.doi.org/10.1016/S0022-0000(74)80044-9&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://dx.doi.org/10.1016/S0022-0000(74)80044-9&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[Pet94] Erez Petrank.  The hardness of approximation: Gap location.  &lt;em&gt;Computational Complexity&lt;/em&gt;, 4(2):133–157, April 1994.  &lt;a href=&quot;http://dx.doi.org/10.1007/BF01202286&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://dx.doi.org/10.1007/BF01202286&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[RS97] Ran Raz and Shmuel Safra.  A sub-constant error-probability low-degree test, and a sub-constant error-probability PCP characterization of NP.  In &lt;em&gt;Proceedings of the Twenty-Ninth Annual ACM Symposium on Theory of Computing (STOC)&lt;/em&gt;, pp. 475–484, May 1997.  &lt;a href=&quot;http://dx.doi.org/10.1145/258533.258641&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://dx.doi.org/10.1145/258533.258641&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[Sla97] Petr Slavík.  A tight analysis of the greedy algorithm for set cover.  &lt;em&gt;Journal of Algorithms&lt;/em&gt;, 25(2):237–254, Nov. 1997.  &lt;a href=&quot;http://dx.doi.org/10.1006/jagm.1997.0887&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://dx.doi.org/10.1006/jagm.1997.0887&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="567" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2011-09-12T15:19:02.540" Title="Gap hardness of Multi-Dimensional Cover" Tags="&lt;cc.complexity-theory&gt;&lt;approximation-hardness&gt;&lt;set-cover&gt;" AnswerCount="0" CommentCount="0" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="3049" PostTypeId="2" ParentId="3046" CreationDate="2010-11-16T13:22:28.250" Score="20" Body="&lt;p&gt;To a large extent, the answer will depend on exactly what you mean by &quot;information&quot;. The fractal has very low &lt;a href=&quot;http://en.wikipedia.org/wiki/Kolmogorov_complexity&quot; rel=&quot;noreferrer&quot;&gt;Kolmogorov complexity&lt;/a&gt;, as there is a very simple rule describing how you generate it. So in one sense, it contains very little information. On the other hand, a picture of such a fractal appears very complicated, even though there is a simple rule underlying it. This is not at all uncommon. Many times very simple rules give rise to very complex behavior. Examples of this range from &lt;a href=&quot;http://en.wikipedia.org/wiki/Cellular_automata&quot; rel=&quot;noreferrer&quot;&gt;cellular automata&lt;/a&gt; and &lt;a href=&quot;http://en.wikipedia.org/wiki/Conway%27s_Game_of_Life&quot; rel=&quot;noreferrer&quot;&gt;Conway's game of life&lt;/a&gt; to things like the apparent complexity in the digits of $\pi$. The fact is that this new representation doesn't contain anything fundamentally new, but is rather a less efficient expression of the same object.&lt;/p&gt;&#xA;" OwnerUserId="204" LastActivityDate="2010-11-16T13:22:28.250" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="3050" PostTypeId="2" ParentId="3046" CreationDate="2010-11-16T14:21:28.537" Score="8" Body="&lt;p&gt;As Joe said the answer highly depends on what you mean by information. I guess you don't mean the definition in computer science but are using it as the best word for expressing some intuitive concept.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But if your question is about how a simple rule can generate such a complex structure then the answer is because it is defined recursively, i.e. &lt;a href=&quot;http://en.wikipedia.org/wiki/Mandelbrot_set&quot; rel=&quot;nofollow&quot;&gt;Mandelbrot Set&lt;/a&gt; is a fix-point as mentioned by Turkistany. Recursive definitions can increase the complexity of a set (membership of a point in the set, distance from the set, ...) considerably. The original equation over complex numbers is not very complicated, but recursive use of it (or almost any other equation) can create high complexity sets. So I would say that the complexity of the set is coming from the recursiveness/fixed-point. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I suggest having a look at the dynamical systems, &lt;a href=&quot;http://en.wikipedia.org/wiki/Fractal&quot; rel=&quot;nofollow&quot;&gt;fractals&lt;/a&gt;, and (mathematical) &lt;a href=&quot;http://en.wikipedia.org/wiki/Chaos_theory&quot; rel=&quot;nofollow&quot;&gt;chaos theory&lt;/a&gt; books.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would also suggest &lt;a href=&quot;http://www.cs.toronto.edu/~mbraverm/&quot; rel=&quot;nofollow&quot;&gt;Mark Braverman&lt;/a&gt;'s &lt;a href=&quot;http://www.cs.toronto.edu/~mbraverm/Pub-all.html&quot; rel=&quot;nofollow&quot;&gt;papers&lt;/a&gt; on computability/non-computability of &lt;a href=&quot;http://en.wikipedia.org/wiki/Julia_set&quot; rel=&quot;nofollow&quot;&gt;Julia sets&lt;/a&gt; and his book with &lt;a href=&quot;http://www.math.toronto.edu/yampol/&quot; rel=&quot;nofollow&quot;&gt;Michael Yampolsky&lt;/a&gt;: &lt;a href=&quot;http://www.springer.com/math/cse/book/978-3-540-68546-3&quot; rel=&quot;nofollow&quot;&gt;Computability of Julia Sets&lt;/a&gt;, Springer 2008.&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2010-11-16T14:49:09.533" LastActivityDate="2010-11-16T14:49:09.533" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3051" PostTypeId="1" CreationDate="2010-11-16T14:34:07.003" Score="0" ViewCount="312" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Possible Duplicate:&lt;/strong&gt;&lt;br&gt;&#xA;  &lt;a href=&quot;https://cstheory.stackexchange.com/questions/2/what-is-a-good-special-case-sorting-algorithm&quot;&gt;What is a good special-case sorting algorithm?&lt;/a&gt;  &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&#xA;&#xA;&lt;p&gt;Is there any linear-time sorting algorithm for sorting elements of a sorted matrix (a matrix with all rows and columns sorted)?&lt;/p&gt;&#xA;" OwnerDisplayName="mehas" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2010-11-16T15:02:55.770" Title="Sort sorted matrix" Tags="&lt;ds.algorithms&gt;&lt;matrices&gt;&lt;sorting&gt;" AnswerCount="0" CommentCount="7" ClosedDate="2010-11-16T18:13:00.603" ContentLicense="CC BY-SA 2.5" />
  <row Id="3052" PostTypeId="2" ParentId="1955" CreationDate="2010-11-16T14:50:36.427" Score="9" Body="&lt;p&gt;I have a soft spot for &lt;em&gt;Automata &amp;amp; Computability&lt;/em&gt; by Dexter Kozen (&lt;a href=&quot;http://www.cs.cornell.edu/~kozen/papers/481.ps&quot;&gt;table of contents and sample chapters&lt;/a&gt; [PS]). It is quite thorough and covers some really interesting advanced topics. The proofs are formal and explicit and the notation and formatting are lovely. Most importantly, the exercises are excellent, so depending on the level of your exams it will be good study material.&lt;/p&gt;&#xA;" OwnerUserId="149" LastActivityDate="2010-11-16T14:50:36.427" CommentCount="0" CommunityOwnedDate="2010-11-16T14:50:36.427" ContentLicense="CC BY-SA 2.5" />
  <row Id="3053" PostTypeId="1" AcceptedAnswerId="3185" CreationDate="2010-11-16T15:45:07.487" Score="20" ViewCount="1196" Body="&lt;p&gt;It is well known that modular exponentiation (the main part of an RSA operation) is computationally expensive, and as far as I understand things the technique of &lt;a href=&quot;http://en.wikipedia.org/wiki/Montgomery_reduction#Modular_exponentiation&quot;&gt;Montgomery modular exponentiation&lt;/a&gt; is the preferred method. Modular exponentiation is also prominently featured in the quantum factoring algorithm, and it is expensive there as well. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;So: why isn't Montgomery modular exponentiation apparently present in current detailed subroutines for quantum factoring?&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The only thing I can imagine is that there's a high qubit overhead for some non-obvious reason.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Running &lt;em&gt;montgomery quantum &quot;modular exponentiation&quot;&lt;/em&gt; through Google Scholar yields no useful results. I am aware of work by Van Meter and others on quantum addition and modular exponentiation, but examining their references (I have yet to read this work) shows no indication that Montgomery methods are considered there.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The single &lt;a href=&quot;http://scholar.google.com/scholar?cluster=14809499008269761518&quot;&gt;reference&lt;/a&gt; I have found that appears to discuss this is in Japanese, which lamentably I cannot read, though apparently it is from a 2002 conference proceedings. A machine translation yields nuggets appended below that indicate there might be something useful. However, I can't find any indication that this has been followed up, which makes me think that the idea has been a) considered and then b) discarded.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Quantum circuit in performing&#xA;  arithmetic Noboru Kunihiro&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;...In this study, but requires&#xA;  relatively large qubit, we propose a&#xA;  modular exponentiation circuit quantum&#xA;  computation time is short. Montgomery&#xA;  Reduction [8] and right binary method&#xA;  [9] Combined, they constitute a&#xA;  circuit Ru. Reduction Montgomery is, m&#xA;  randomly chosen as a natural number,&#xA;  mod 2m by the operation, perform the&#xA;  remainder operation If, mod n&#xA;  operations in eliminating. This will&#xA;  lead to reduction of computation&#xA;  time...&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;Application of 3.2 Montgomery&#xA;  Reduction Montgomery Reduction [8] is&#xA;  formulated as follows...This algorithm&#xA;  can return the correct values can be&#xA;  easily confirmed. M R (Y) he asks for&#xA;  a law 2m Polynomials with 2m points&#xA;  are important and only requires&#xA;  division by. In addition, Montgomery&#xA;  Reduction in, there are different&#xA;  calculation methods....In general,&#xA;  Reduction Montgomery is not one-to-one&#xA;  function...&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;...The proposed method uses a right&#xA;  binary method, Montgomery Reducton has&#xA;  a feature that is adopted. Than the&#xA;  conventional method, characterized by&#xA;  a small component of the circuit Have.&#xA;  qubit fault that is required to have a&#xA;  lot of expectations can be computed in&#xA;  less computational time Be. The&#xA;  future, Montgomery Reduction and&#xA;  control circuitry specifically NOT&#xA;  described by the qubit really needed&#xA;  Evaluate the number is expected to&#xA;  evaluate the computation time. In&#xA;  addition, each taking advantage of&#xA;  research findings, more than modular&#xA;  exponentiation Non-arithmetic (Euclid&#xA;  mutual division, etc.) also with&#xA;  respect to the planned configuration&#xA;  of an efficient quantum circuit.&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;...[8] PL Montgomery, &quot;Modular&#xA;  Multiplication Without Trial&#xA;  Division,&quot; Mathematics of Computation, 44, 170, pp. 519-521, 1985...&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="1671" LastEditorUserId="1671" LastEditDate="2010-11-19T15:52:26.053" LastActivityDate="2011-07-27T17:47:19.027" Title="Why isn't Montgomery modular exponentiation considered for use in quantum factoring?" Tags="&lt;cr.crypto-security&gt;&lt;quantum-computing&gt;&lt;factoring&gt;" AnswerCount="2" CommentCount="7" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="3054" PostTypeId="2" ParentId="2136" CreationDate="2010-11-16T15:55:00.973" Score="6" Body="&lt;p&gt;The idea that some algorithmic problems require an exponential number of steps, or exaustive search over all possibilities, was raised since the 50s and perhaps before. (Of course, the competing naive idea that computers can do everything was also common.) The major breakthrough of Cook and Levin was to put this idea on rigorous grounds. This, of course, changed everything.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt; I just realized that my answer like &lt;a href=&quot;https://cstheory.stackexchange.com/questions/2136/rigour-leading-to-insight/2140#2140&quot;&gt;the nice answer of Turkistany&lt;/a&gt; addresses the title of the question &quot;rigour leading to insight&quot; but perhaps not the specific wording which was about &quot;rigorous proof to a theorem&quot;.&lt;/p&gt;&#xA;" OwnerUserId="712" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2010-11-16T16:12:30.117" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3055" PostTypeId="1" AcceptedAnswerId="3058" CreationDate="2010-11-16T17:08:03.117" Score="10" ViewCount="373" Body="&lt;p&gt;Harvey Friedman showed that there is a neat fixed point result that cannot be proved in ZFC (the usual Zermelo-Frankel set theory with the Axiom of Choice).  Many modern logics are built on fixed point operators, so I was wondering: are there any consequences known of the Upper Shift Fixed Point theorem for theoretical computer science?&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Unprovable Upper Shift Fixed Point Theorem&lt;/strong&gt;&lt;br&gt;&#xA;  For all $R \in \text{SDOI}(Q^k,Q^k)$, some $A = \text{cube}(A,0) \setminus R[A]$ contains $\text{us}(A)$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The USFP Theorem seems to be a $\Pi^1_1$ statement, so it might be &quot;close enough&quot; to computability (such as checking non-isomorphism of automatic structures), to impact theoretical computer science.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For completeness, here are the definitions from &lt;a href=&quot;http://www.math.ohio-state.edu/~friedman/pdf/MITLogicSem110309.pdf&quot; rel=&quot;nofollow&quot;&gt;Friedman's MIT talk from November 2009&lt;/a&gt; (see also the &lt;a href=&quot;http://www.math.ohio-state.edu/~friedman/manuscripts.html&quot; rel=&quot;nofollow&quot;&gt;draft book on &quot;Boolean Relation Theory&quot;&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$Q$ is the set of rational numbers.  $x, y \in Q^k$ are &lt;em&gt;order equivalent&lt;/em&gt; if whenever $1 \le i,j \le k$ then $x_i \lt x_j \Leftrightarrow y_i \lt y_j$.  When $x \in Q^k$ then the &lt;em&gt;upper shift&lt;/em&gt; of $x$, denoted $\text{us}(x)$, is obtained by adding 1 to every non-negative coordinate of $x$.  A relation $A \subseteq Q^k$ is &lt;em&gt;order invariant&lt;/em&gt; if for every order &lt;strike&gt;invariant&lt;/strike&gt; &lt;em&gt;equivalent&lt;/em&gt; $x,y \in Q^k$ it holds that $x \in A \Leftrightarrow y \in A$.  A relation $R \subseteq Q^k \times Q^k$ is order invariant if $R$ is order invariant as a subset of $Q^{2k}$, and is &lt;em&gt;strictly dominating&lt;/em&gt; if for all $x,y \in Q^k$ whenever $R(x,y)$ then $\max(x) \lt \max(y)$.  Further if $A$ is a subset of $Q^k$ then $R[A]$ denotes $\{ y | \exists x \in A R(x,y)\}$, the upper shift of $A$ is $\text{us}(A) = \{\text{us}(x) | x \in A\}$, and $\text{cube}(A,0)$ denotes the least $B^k$ such that $0 \in B$ and $A$ is contained in $B^k$.  Let $\text{SDOI}(Q^k,Q^k)$ denote the set of all strictly dominating order invariant relations $R \subseteq Q^k \times Q^k$.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Edit:&lt;/em&gt; As Dömötör Pálvölgyi points out in comments, taking $k=1$ and $R$ to be the usual ordering on rationals seems to yield a counterexample.  First, the set $A$ cannot be empty, as $R[A]$ is then also empty and $A$ would then have to contain 0 by the cube condition, a contradiction.  If the non-empty set $A$ has an infimum then it cannot contain any rationals greater than this, so it must be a singleton, which contradicts the upper shift condition.  If on the other hand $A$ has no infimum then $R[A] = Q$ so $A$ must be empty, a contradiction.  &lt;strike&gt;Any comments on whether there are any hidden non-obvious definitional problems, such as perhaps an implicit nonstandard model of the rationals?&lt;/strike&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Further edit:&lt;/em&gt; The argument above is roughly correct, but is wrong in the application of the upper shift.  This operator only applies to &lt;em&gt;non-negative&lt;/em&gt; coordinates, so setting $A$ to be any negative singleton set yields a fixed point, as desired.  In other words, if $m &amp;lt; 0$ then $A = \{m\}$ is a solution, and there are no other solutions.&lt;/p&gt;&#xA;" OwnerUserId="109" LastEditorUserId="109" LastEditDate="2010-11-19T09:09:57.503" LastActivityDate="2010-11-19T09:09:57.503" Title="Computational consequences of Friedman's (unprovable) Upper Shift Fixed Point theorem?" Tags="&lt;computability&gt;&lt;lo.logic&gt;" AnswerCount="1" CommentCount="11" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="3056" PostTypeId="2" ParentId="3046" CreationDate="2010-11-16T17:39:37.103" Score="0" Body="&lt;p&gt;The &lt;strong&gt;simplest algorithm&lt;/strong&gt; for generating a representation of the Mandelbrot set is known as the &quot;escape time&quot; algorithm&#xA;You will find it here:&#xA;&lt;a href=&quot;http://en.wikipedia.org/wiki/Mandelbrot_set#Escape_time_algorithm&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/Mandelbrot_set#Escape_time_algorithm&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;The images of the &lt;a href=&quot;http://en.wikipedia.org/wiki/Mandelbrot_set&quot; rel=&quot;nofollow&quot;&gt;set&lt;/a&gt; you have seen is a plot of thousand of points.&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is a &lt;a href=&quot;http://en.wikipedia.org/wiki/Recursion&quot; rel=&quot;nofollow&quot;&gt;recursive function&lt;/a&gt; and its definition is: method of defining functions in which the function being defined is applied within its own definition; specifically it is defining an infinite statement using finite components.&lt;/p&gt;&#xA;" OwnerUserId="699" LastEditorUserId="699" LastEditDate="2010-11-17T03:21:42.570" LastActivityDate="2010-11-17T03:21:42.570" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3058" PostTypeId="2" ParentId="3055" CreationDate="2010-11-16T19:00:09.110" Score="8" Body="&lt;p&gt;I don't know of any consequences of this particular theorem, but normalization proofs of lambda calculi like the calculus of inductive constructions rely on large cardinal axioms -- even though the set of lambda-terms is as countable as you could want.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think the best way to understand the computational significance of set-theoretic axioms asserting the existence of large cardinals is to think of set theory as a way of phrasing the theory of graphs. That is, a model of a set is a collection of elements equipped with a binary relation used to interpret membership. Then, the axioms of set theory tell you properties of the membership relation, including how you can form new sets from old. In particular, the axiom of foundation means that the membership relation is well-founded (ie, it has no infinite descending chains). This well-foundedness in turn means that if you can line up the execution states of a program with the transitive membership of the elements of a set, then you have a termination proof.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So an assertion that a &quot;big&quot; set exists has a computational payoff as a claim that a certain class of loops in a general recursive programming language terminate. This interpretation works uniformly, all the way from the plain old axiom of infinity (which justifies natural number iteration) all the way up to large cardinal axioms.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are these axioms &lt;em&gt;true&lt;/em&gt;? Well, if the axiom is false you can find a program in one of these classes which doesn't terminate. But if it's true, we will never be sure, thanks to the Halting theorem. Everything from natural number induction on is a matter of &lt;em&gt;scientific&lt;/em&gt; induction, which may always be falsified by experiment -- Edward Nelson has famously hoped to prove exponentiation is a partial function! &lt;/p&gt;&#xA;" OwnerUserId="657" LastActivityDate="2010-11-16T19:00:09.110" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3059" PostTypeId="1" AcceptedAnswerId="3072" CreationDate="2010-11-16T19:16:45.503" Score="14" ViewCount="677" Body="&lt;p&gt;Given two CNF, if they have the same number of assignments to make them true, answer &quot;Yes&quot;, otherwise answer &quot;No&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is easy to see it is in $P^{\#P}$, since if we know the exact numbers of solutions to these two CNF, we just campare them and answer &quot;Yes&quot; or &quot;No&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is the complexity of this problem?&lt;/p&gt;&#xA;" OwnerUserId="1925" LastActivityDate="2010-11-17T04:12:24.230" Title="The complexity of checking whether two CNF have the same number of solutions" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;counting-complexity&gt;" AnswerCount="3" CommentCount="0" FavoriteCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="3060" PostTypeId="2" ParentId="3059" CreationDate="2010-11-16T19:26:01.747" Score="5" Body="&lt;p&gt;It seems like it's atleast NP-hard as one can easily construct a SAT formula with just one solution. Then by the Valiant-Vazirani theorem, there's a probabilistic reduction from every SAT formula to a set of Unique-SAT problems (determining whether a formula has a unique solution) and comparing those Unique-SAT problems with the constructed SAT formula with just one solution enables you to determine the satisfiability of the SAT formula under consideration.&lt;/p&gt;&#xA;" OwnerUserId="24" LastActivityDate="2010-11-16T19:26:01.747" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3061" PostTypeId="2" ParentId="3059" CreationDate="2010-11-16T19:32:12.423" Score="6" Body="&lt;p&gt;Here's a small variation on the original question. Let $O$ be an oracle which, on input $(f_1,f_2)$ outputs 1 if CNF $f_1$ has &lt;strong&gt;more&lt;/strong&gt; solutions than CNF $f_2$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given this oracle, we build a poly-time machine $M$ which can solve the #P-complete problem of computing the number of solutions to a given CNF $\varphi$. Note that that $\varphi$ can have an exponential number of solutions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$M$ works as follows: It generates formulas with known number of solutions, and using binary search and by asking at most polynomial queries to $O$, it finds a formulas $\varphi_i$ which has &lt;strong&gt;the same&lt;/strong&gt; number of solutions as $\varphi$. It finally outputs the number of solutions just found.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This shows that $M^O$ has complexity #P.&lt;/p&gt;&#xA;" OwnerUserId="873" LastEditorUserId="873" LastEditDate="2010-11-16T19:57:03.610" LastActivityDate="2010-11-16T19:57:03.610" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="3062" PostTypeId="1" CreationDate="2010-11-16T19:39:31.870" Score="46" ViewCount="1311" Body="&lt;p&gt;Let me start with some examples. Why is it so trivial to show CVP is in P but so hard to show LP is in P; while both are P-complete problems. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Or take primality. It is easier to show composites in NP than primes in NP (which required Pratt) and eventually in P. Why did it have to display this asymmetry at all? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I know Hilbert, need for creativity, proofs are in NP etc. But that has not stopped me from having a queasy feeling that there is more to this than meets the eye.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a quantifiable notion of &quot;work&quot; and is there a &quot;conservation law&quot; in complexity theory? That shows, for example, that even though CVP and LP are both P-complete, they hide their complexities at &quot;different places&quot; -- one in the reduction (Is CVP simple because all the work is done in the reduction?) and the other in expressibility of the language.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Anyone else queasy as well and with some insights? Or do we shrug and say/accept that this is the nature of computation?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is my first question to the forum: fingers crossed.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit:&lt;/strong&gt; CVP is &lt;em&gt;Circuit Value Problem&lt;/em&gt; and LP is &lt;em&gt;Linear Programming.&lt;/em&gt;  Thanks Sadeq, for pointing out a confusion.&lt;/p&gt;&#xA;" OwnerUserId="1449" LastEditorUserId="1449" LastEditDate="2010-11-17T01:43:27.920" LastActivityDate="2014-06-28T18:18:01.070" Title="Are there Conservation Laws in Complexity Theory?" Tags="&lt;cc.complexity-theory&gt;&lt;big-picture&gt;" AnswerCount="5" CommentCount="8" FavoriteCount="18" ContentLicense="CC BY-SA 2.5" />
  <row Id="3063" PostTypeId="2" ParentId="3024" CreationDate="2010-11-16T19:41:36.707" Score="2" Body="&lt;p&gt;Questions of this kind are especially interesting for graphs which are 3-polytopal (edge-vertex graphs of 3-dimensional convex polytopes) and for the case of the graph being bipartite. (Also for higher-dimensional polytopes.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The concept of &quot;shortness exponent&quot; has emerged to measure how short a longest cycle might be in a graph which has no hamiltonian circuit and which is within a family of graphs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This relatively recent paper lists many references but others can be found using the string: shortness exponent polytopes:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://dml.cz/dmlcz/129289&quot; rel=&quot;nofollow&quot;&gt;http://dml.cz/dmlcz/129289&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="987" LastActivityDate="2010-11-16T19:41:36.707" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3064" PostTypeId="1" AcceptedAnswerId="3065" CreationDate="2010-11-16T20:12:09.267" Score="30" ViewCount="2913" Body="&lt;p&gt;It is easy to see that &lt;a href=&quot;http://en.wikipedia.org/wiki/Graph_isomorphism_problem&quot;&gt;graph isomorphism&lt;/a&gt;(GI) is in NP. It is a major open problem whether GI is in coNP. Are there any potential candidates of properties of graphs that can be used as coNP certificates of GI. Any conjectures that imply $GI \in coNP$ ? What are some implications of $GI \in coNP$ ?&lt;/p&gt;&#xA;" OwnerUserId="344" LastEditorUserId="186" LastEditDate="2010-11-16T22:52:26.260" LastActivityDate="2011-01-05T14:38:05.007" Title="coNP certificate for Graph Isomorphism" Tags="&lt;cc.complexity-theory&gt;&lt;graph-isomorphism&gt;" AnswerCount="3" CommentCount="0" FavoriteCount="10" ContentLicense="CC BY-SA 2.5" />
  <row Id="3065" PostTypeId="2" ParentId="3064" CreationDate="2010-11-16T20:52:20.217" Score="23" Body="&lt;p&gt;If $GI$ is in $coNP$, then we would have the result: $GI$ is not $NP$-complete unless $NP=coNP=PH$.  (Currently known: $GI$ is not $NP$-complete unless $\Sigma_2 P = \Pi_2 P = PH$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since $GI$ is in $coAM$, obviously &lt;a href=&quot;http://pages.cs.wisc.edu/~dieter/Research/r-gni.html&quot;&gt;derandomizing $coAM$&lt;/a&gt; (&lt;a href=&quot;http://dx.doi.org/10.1137/S0097539700389652&quot;&gt;doi link&lt;/a&gt;) would put $GI \in coNP$, but I don't know of any candidate graph properties for putting $GI \in coNP$ otherwise. I look forward to more answers though!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Interestingly, in that paper they also show that Graph Non-Isomorphism has subexponential size proofs -- that is, $GI \in co NSUBEXP$ -- unless $PH = \Sigma_3 P$.  This is at least headed in the direction of showing conditionally that $GI \in coNP$.&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2010-11-16T20:52:20.217" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3066" PostTypeId="1" AcceptedAnswerId="3069" CreationDate="2010-11-16T21:20:56.953" Score="18" ViewCount="1471" Body="&lt;p&gt;Very often, if the running time of an algorithm is a complicated expression, the algorithm itself is also complicated and impractical. Each of the cube roots and $\log \log n$ factors in the asymptotic running time tends to add complexity to the algorithm and also hidden constant factors to the running time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Do we have striking examples in which this rule of thumb fails?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course it is easy to find &lt;a href=&quot;http://dx.doi.org/10.1007%2FBF02574703&quot;&gt;examples&lt;/a&gt; of algorithms that are very difficult to implement even though they happen to have a very simple worst-case running time. But what about the converse?&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Do we have examples of very simple and practical &lt;strong&gt;deterministic&lt;/strong&gt; algorithms that are easy to implement but happen to have a very complicated expression as its worst-case asymptotic running time?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Please note the keywords &quot;deterministic&quot; and &quot;worst-case&quot;; the analysis of simple &lt;em&gt;randomised&lt;/em&gt; algorithms fairly easily leads to complicated expressions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course what is &quot;complicated&quot; is a matter of taste. Anyway, I would prefer to see an expression that is far too ugly to put in the title of your paper. And I would prefer a complicated function of &lt;em&gt;one&lt;/em&gt; natural parameter (input size, number of nodes, etc.).&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;PS. I thought I would &lt;em&gt;not&lt;/em&gt; make this a &quot;big-list question&quot;, and not CW. I'd like to find a single excellent example (if it exists at all). Hence please post another answer only if you think that it is &quot;better&quot; than any of the answers so far.&lt;/p&gt;&#xA;" OwnerUserId="74" LastActivityDate="2010-11-18T20:46:47.937" Title="Simple and practical deterministic algorithm, complicated running time" Tags="&lt;ds.algorithms&gt;&lt;soft-question&gt;&lt;recreational&gt;" AnswerCount="5" CommentCount="7" FavoriteCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="3068" PostTypeId="2" ParentId="3066" CreationDate="2010-11-16T22:10:22.220" Score="2" Body="&lt;p&gt;I'm not sure if you consider this &quot;practical&quot; but it is a famous open problem. Paul Erdos said about Collatz conjecture: “Mathematics is not yet ready for such problems”&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Collatz procedure: while (x != 1) { if x is odd,  x = 3x + 1;&#xA;else x = x/2}. A famous conjecture is that the procedure always terminates with $x=1$. I'm not aware of simple run-time complexity of this algorithm.&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2010-11-16T22:34:58.610" LastActivityDate="2010-11-16T22:34:58.610" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="3069" PostTypeId="2" ParentId="3066" CreationDate="2010-11-16T22:32:56.783" Score="20" Body="&lt;p&gt;The best example I can think of is an algorithm (described below) to compute the $k$-level in an arrangements of $n$ lines in the plane, i.e. the polygonal line formed by the points that have exactly $k$ lines vertically above it. This is not the most efficient algorithm known for the problem. There are more efficient algorithms with simpler complexities, but I believe this one is more practical than most (if not all) of them. The analysis is probably not tight, because it uses the $k$-level complexity, which is a famous open problem (I think all other terms in the analysis are tight). Even still, I doubt improved bounds for $k$-level would make the running time much simpler. I'll assume $k=n/2$ to write the complexity as a function of $n$ alone.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The algorithm is based on the line sweep paradigm and uses two $(\log n)$-ary kinetic tournaments as kinetic priority queues. Insertions and deletions are performed when a line goes above or below the $k$-level, moving a line from one kinetic tournament to the other. Therefore, there are $O(n^{4/3})$ insertions and deletions (using Dey's bound for the $k$-level complexity). Each event is processed in $O(\log n)$ time and there are $O(n^{4/3} \alpha(n) \log n / \log \log n)$ events (the $\alpha(n)$ comes from the complexity of the upper envelope of arrangements of line segments, while the $\log n / \log \log n$ comes from the height of a $(\log n)$-ary tree). The total running time is&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$O(n^{4/3} \alpha(n) \log^2 n / \log \log n).$$&#xD;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Please check Timothy Chan's manuscript &lt;a href=&quot;http://www.cs.uwaterloo.ca/~tmchan/lev2d_7_7_99.ps.gz&quot;&gt;http://www.cs.uwaterloo.ca/~tmchan/lev2d_7_7_99.ps.gz&lt;/a&gt; for more details and references. The $1/\log \log n$ factor can be removed by using a binary (intead of $(\log n)$-ary) kinetic tournament, but it actually speeds up the kinetic priority queue in the tests that I performed. The complexity should get a little uglier and worse (while the algorithm will still be practical) if a kinetic heap is used instead of a kinetic tournament (a $\log$ inside a square root should show up).&lt;/p&gt;&#xA;" OwnerUserId="169" LastEditorUserId="169" LastEditDate="2010-11-17T00:12:04.257" LastActivityDate="2010-11-17T00:12:04.257" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="3070" PostTypeId="2" ParentId="3066" CreationDate="2010-11-16T23:43:38.443" Score="24" Body="&lt;p&gt;The union-find data structure operations seem to meet your criteria:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Disjoint-set_data_structure&quot;&gt;http://en.wikipedia.org/wiki/Disjoint-set_data_structure&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="2264" LastActivityDate="2010-11-16T23:43:38.443" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="3072" PostTypeId="2" ParentId="3059" CreationDate="2010-11-17T01:11:33.427" Score="14" Body="&lt;p&gt;The problem is &lt;a href=&quot;http://qwiki.stanford.edu/index.php/Complexity_Zoo%3aC#conp&quot;&gt;coNP&lt;/a&gt;-hard; you can easily reduce the UNSAT problem to this problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A more precise characterization is that the problem is &lt;a href=&quot;http://qwiki.stanford.edu/index.php/Complexity_Zoo%3aC#cequalsp&quot;&gt;C&lt;sub&gt;=&lt;/sub&gt;P&lt;/a&gt;-complete.  In fact, one definition of the class C&lt;sub&gt;=&lt;/sub&gt;P is that it is the class of problems which are polynomial-time many-one reducible to this very problem (usually this definition is stated in terms of &lt;a href=&quot;http://qwiki.stanford.edu/index.php/Complexity_Zoo%3aG#gapp&quot;&gt;GapP&lt;/a&gt; functions).  But since this does not tell much, let me define this class in another way.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let C&lt;sub&gt;=&lt;/sub&gt;P be the class of problems which are polynomial-time many-one reducible to the following problem: given a boolean circuit &lt;i&gt;φ&lt;/i&gt; and an integer &lt;i&gt;K&lt;/i&gt; (in binary), decide whether the number of satisfying assignments of &lt;i&gt;φ&lt;/i&gt; is equal to &lt;i&gt;K&lt;/i&gt;.  By a standard reduction which shows the #P-completeness of #3SAT, we can restrict &lt;i&gt;φ&lt;/i&gt; to be a 3CNF formula without affecting the class.  The class C&lt;sub&gt;=&lt;/sub&gt;P contains a class called &lt;a href=&quot;http://qwiki.stanford.edu/index.php/Complexity_Zoo%3aU#us&quot;&gt;US&lt;/a&gt;, which contains both &lt;a href=&quot;http://qwiki.stanford.edu/index.php/Complexity_Zoo%3aU#up&quot;&gt;UP&lt;/a&gt; and coNP.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;With this definition, your problem is C&lt;sub&gt;=&lt;/sub&gt;P-complete.  Actually, the C&lt;sub&gt;=&lt;/sub&gt;P-hardness is easy to see from the definition of the class C&lt;sub&gt;=&lt;/sub&gt;P (which uses 3CNF formulas).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To prove the membership in C&lt;sub&gt;=&lt;/sub&gt;P, suppose that we are to decide whether two given CNF formulas &lt;i&gt;φ&lt;/i&gt;&lt;sub&gt;1&lt;/sub&gt; and &lt;i&gt;φ&lt;/i&gt;&lt;sub&gt;2&lt;/sub&gt; have the same number of satisfying assignments or not.  Without loss of generality we can assume that the two formulas have the same number of variables, say &lt;i&gt;n&lt;/i&gt;.  Construct a boolean circuit &lt;i&gt;φ&lt;/i&gt; which takes &lt;i&gt;n&lt;/i&gt;+1 bits as input so that the number of satisfying assignments of &lt;i&gt;φ&lt;/i&gt; is equal to &lt;i&gt;c&lt;/i&gt;&lt;sub&gt;1&lt;/sub&gt; + (2&lt;sup&gt;&lt;i&gt;n&lt;/i&gt;&lt;/sup&gt; − &lt;i&gt;c&lt;/i&gt;&lt;sub&gt;2&lt;/sub&gt;), where &lt;i&gt;c&lt;/i&gt;&lt;sub&gt;1&lt;/sub&gt; and &lt;i&gt;c&lt;/i&gt;&lt;sub&gt;2&lt;/sub&gt; be the numbers of satisfying assignments of &lt;i&gt;φ&lt;/i&gt;&lt;sub&gt;1&lt;/sub&gt; and &lt;i&gt;φ&lt;/i&gt;&lt;sub&gt;2&lt;/sub&gt;, respectively.  Then the number of satisfying assignments of &lt;i&gt;φ&lt;/i&gt; is equal to 2&lt;sup&gt;&lt;i&gt;n&lt;/i&gt;&lt;/sup&gt; if and only if &lt;i&gt;c&lt;/i&gt;&lt;sub&gt;1&lt;/sub&gt;=&lt;i&gt;c&lt;/i&gt;&lt;sub&gt;2&lt;/sub&gt;.&lt;/p&gt;&#xA;" OwnerUserId="567" LastEditorUserId="567" LastEditDate="2010-11-17T04:12:24.230" LastActivityDate="2010-11-17T04:12:24.230" CommentCount="8" ContentLicense="CC BY-SA 2.5" />
  <row Id="3073" PostTypeId="2" ParentId="3066" CreationDate="2010-11-17T01:41:07.000" Score="6" Body="&lt;p&gt;Simplex algorithm. Easy to implement and works wonderfully in practice but is a mess to analyze theoretically.&lt;/p&gt;&#xA;" OwnerUserId="286" LastActivityDate="2010-11-17T01:41:07.000" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="3074" PostTypeId="1" CreationDate="2010-11-17T03:21:37.663" Score="28" ViewCount="1813" Body="&lt;p&gt;Does it make sense to consider a category of all NP-complete problems, with morphisms as poly-time reductions between different instances? Has anyone ever published a paper about this, and if so, where can I find it?&lt;/p&gt;&#xA;" OwnerUserId="2267" LastEditorUserId="201" LastEditDate="2010-11-17T03:36:10.757" LastActivityDate="2010-11-30T18:00:14.870" Title="A category of NP-complete problems?" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;&lt;ct.category-theory&gt;" AnswerCount="2" CommentCount="12" FavoriteCount="19" ContentLicense="CC BY-SA 2.5" />
  <row Id="3075" PostTypeId="2" ParentId="3064" CreationDate="2010-11-17T03:48:33.770" Score="5" Body="&lt;p&gt;How about the range (i.e. list, one entry per edge) of effective resistances?  The effective resistance of an edge is the probability that the edge is in a random spanning tree.  Effective resistances can be found using algorithms of Spielman and Teng, although I don't know how easy it is to actually implement (if one wanted to do experiments). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose we have two strongly regular graphs, which have the same eigenvalues (and we know that eigenvalues do not necessarily distinguish between non-isomorphic graphs).  Then if the effective resistances (i.e. the lists, again) are the same, they can not be used to distinguish the graphs.  But why would two co-spectral graphs have the same distribution of their edges in random spanning trees?  Is there a known connection between the graph spectrum and the effective resistances of a graph?  i.e. knowning the graph spectrum, can we compute the effective resistances?&lt;/p&gt;&#xA;" OwnerUserId="1844" LastActivityDate="2010-11-17T03:48:33.770" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3076" PostTypeId="2" ParentId="3046" CreationDate="2010-11-17T03:49:59.980" Score="7" Body="&lt;p&gt;The information content of self-similar fractals is a research topic of current interest in computable analysis.  In particular, by generalizing Hausdorff dimension to a concept of dimension-relative-to-computational-resource-bounds allows one to talk about the dimension (information content) of individual points, or sets of points, within the fractal, instead of just the overall geometric dimension of the fractal itself.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example: &lt;a href=&quot;http://www.cs.iastate.edu/~lutz/=PAPERS/dpssf.pdf&quot; rel=&quot;nofollow&quot;&gt;Dimension of points in self-similar fractals&lt;/a&gt;, Lutz and Mayordomo, SIAM Jnl Computing, 2008.&lt;/p&gt;&#xA;" OwnerUserId="30" LastActivityDate="2010-11-17T03:49:59.980" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3077" PostTypeId="2" ParentId="3062" CreationDate="2010-11-17T03:58:26.247" Score="6" Body="&lt;p&gt;I think the reason lies within the logical system we use. Each formal system has a set of &lt;em&gt;axioms&lt;/em&gt;, and a set of &lt;em&gt;rules of inference&lt;/em&gt;. &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;A proof in a formal system is just a sequence of formulae such that each &#xA;  formula in the sequence either is an axiom or is obtained from earlier formulae &#xA;  in the sequence by applying a rule of inference. A Theorem of the formal system &#xA;  is just the last formula in a proof.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The length of the proof of a theorem, assuming it is decidable in the logical system, depends totally on the sets of &lt;em&gt;axioms&lt;/em&gt; and &lt;em&gt;rules of inference&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For instance, consider the propositional logic, for which there exist several characterizations: Frege (1879), Nicod (1917), and Mendelson (1979). (See this &lt;a href=&quot;http://www.trinity.edu/cbrown/logic/alter.pdf&quot;&gt;short survey&lt;/a&gt; for more info.) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The latter system (Mendelson) has three axioms and one rule of inference (modus ponens). Given this short characterization, it is really &lt;strong&gt;hard&lt;/strong&gt; to prove even the most trivial theorems, say $\varphi \to \varphi$. Here, by &lt;strong&gt;hard&lt;/strong&gt;, I mean the minimum &lt;strong&gt;length&lt;/strong&gt; of the proof is high.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This problem is termed &lt;a href=&quot;http://en.wikipedia.org/wiki/Proof_complexity&quot;&gt;proof complexity&lt;/a&gt;. To quote &lt;a href=&quot;http://www.cs.toronto.edu/~toni/Papers/survey.ps&quot;&gt;Beame &amp;amp; Pitassi&lt;/a&gt;:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;One of the most basic questions of logic is the following: Given a universally true statement (tautology) what is the length of the shortest proof of&#xA;  the statement in some standard axiomatic proof system? The propositional&#xA;  logic version of this question is particularly important in computer science for&#xA;  both theorem proving and complexity theory. Important related algorithmic&#xA;  questions are: Is there an eﬃcient algorithm that will produce a proof of any&#xA;  tautology? Is there an eﬃcient algorithm to produce the shortest proof of&#xA;  any tautology? Such questions of theorem proving and complexity inspired&#xA;  Cook’s seminal paper on NP-completeness notably entitled “The complexity&#xA;  of theorem-proving procedures” and were contemplated even earlier by Gödel&#xA;  in his now well-known letter to von Neumann.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="873" LastActivityDate="2010-11-17T03:58:26.247" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3078" PostTypeId="2" ParentId="3008" CreationDate="2010-11-17T05:28:45.250" Score="0" Body="&lt;p&gt;Native bayes and Bayesian network, decision tree algorithms are quite easy to visualize than starting with a neutral network or svm &lt;/p&gt;&#xA;" OwnerUserId="851" LastActivityDate="2010-11-17T05:28:45.250" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3079" PostTypeId="2" ParentId="14" CreationDate="2010-11-17T08:48:01.653" Score="14" Body="&lt;p&gt;Assuming you do not get intimidated when reading theory papers due to your training in your master's degree, which I assume is in a theoretical aspect of CS since you are asking on this site, I think it would be a great idea to try being a &lt;strong&gt;research programmer&lt;/strong&gt; (usually inside some research organization, like an industrial lab or under the umbrella of a larger grant). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Why? It's not easy to implement an algorithm correctly, even if the authors sincerely meant to spell it out completely, and yet sometimes the need to run an algorithm does arise! Additionally, if you enjoy programming and measurements, later on you may even be able to further your study into a PhD in the area of algorithmic engineering, which I think is a very exciting area and wish to see more of it happening. (Check out the ALENEX conference and the DIMACS implementation challenges.)&lt;/p&gt;&#xA;" OwnerUserId="163" LastActivityDate="2010-11-17T08:48:01.653" CommentCount="0" CommunityOwnedDate="2010-11-17T08:48:01.653" ContentLicense="CC BY-SA 2.5" />
  <row Id="3080" PostTypeId="1" AcceptedAnswerId="3081" CreationDate="2010-11-17T09:42:41.460" Score="-1" ViewCount="386" Body="&lt;p&gt;I am looking for an algorithm, or code, preferably in Python that would help me locate substrings, N characters long, of exisiting strings that are closest to a target string N character long.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider the target string, that is, say, 4 characters long, to be:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;targetString -&amp;gt; '1111'&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Assume this is the string I have available with me ( I will generate substrings of this for &quot;best alignment&quot; matching ):&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;nonEmptySubStrings -&amp;gt; ['110101']&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Substrings of the above that are 4 characters long:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;nGramsSubStrings -&amp;gt; ['0101', '1010', '1101']&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;I want to write/use a &quot;Magic Function&quot; that would select the string closest to targetString :&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;someMagicFunction -&amp;gt; ['1101']&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Some more examples:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;nonEmptySubStrings -&amp;gt; ['101011']&#xA;nGramsSubStrings -&amp;gt; ['0101', '1010', '1011']&#xA;&#xA;someMagicFunction -&amp;gt; ['1011']&#xA;&#xA;nonEmptySubStrings -&amp;gt; ['10101']&#xA;nGramsSubStrings -&amp;gt; ['0101', '1010']&#xA;&#xA;someMagicFunction -&amp;gt; ['0101', '1010']&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Is this &quot;Magic Function&quot; a well known substring problem?&lt;/strong&gt;&lt;/p&gt;&#xA;" OwnerUserId="986" LastActivityDate="2010-11-17T10:12:27.257" Title="Locate &quot;N Gram&quot; substrings that are smallest distance away from a target string N character long" Tags="&lt;string-matching&gt;" AnswerCount="1" CommentCount="6" ContentLicense="CC BY-SA 2.5" />
  <row Id="3081" PostTypeId="2" ParentId="3080" CreationDate="2010-11-17T10:12:27.257" Score="4" Body="&lt;p&gt;It seems to me you have already done all the work: if $a$ is your available string and $b$ your target string of length $|b|$, you can generate the set $S$ of all substrings of length $|b|$ in linear time by just scanning $a$ from left to right, and then just keep all strings in $S$ with minimal Hamming distance (I don't know whether you want to keep all of them, or just one).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;That is, of course, assuming that:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;you know the target string and its length,&lt;/li&gt;&#xA;&lt;li&gt;you are in a binary setting,&lt;/li&gt;&#xA;&lt;li&gt;you indeed want to use the Hamming distance.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Since you're using the word &quot;alignment&quot; and refer to bioinformatics in your above comment, you might want to take a look at &lt;a href=&quot;http://en.wikipedia.org/wiki/Sequence_alignment&quot; rel=&quot;nofollow&quot;&gt;sequence alignment&lt;/a&gt; and &lt;a href=&quot;http://en.wikipedia.org/wiki/Edit_distance&quot; rel=&quot;nofollow&quot;&gt;edit distances&lt;/a&gt;, in particular the &lt;a href=&quot;http://en.wikipedia.org/wiki/Levenshtein_distance&quot; rel=&quot;nofollow&quot;&gt;Levenshtein distance&lt;/a&gt; (code available on that page) which allows deletions and insertions of characters as well as plain changes and will work with any alphabet. In this case, however, you may want to use more clever algorithms and data structures than the naive approach I gave above, since you'll have way more substrings to deal with, but I hope that the links I provided should, if not give you the answer right away, at least point you in the right direction.&lt;/p&gt;&#xA;" OwnerUserId="775" LastActivityDate="2010-11-17T10:12:27.257" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="3082" PostTypeId="1" AcceptedAnswerId="3114" CreationDate="2010-11-17T10:39:45.780" Score="5" ViewCount="637" Body="&lt;p&gt;As a mild follow-up to &lt;a href=&quot;https://cstheory.stackexchange.com/questions/2935/examples-in-which-the-size-of-the-alphabet-geq-2-used-for-an-encoding-matter&quot;&gt;this question on alphabet sizes&lt;/a&gt;, let me ask about the other part of the natural numbers, i.e. $\le 2$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Clearly everyone knows about problems over a binary alphabet. Unary, on the other hand, is most commonly used in input encodings for a problem to a Turing machine (at least, that's the use I'm interested in). But, are there any good examples of problems where the input is encoded with an explicit mix of the two, perhaps in order to make a particular complexity argument? Admittedly, since many classes (like NP) are closed under concatenation, you could just append one such problem's input to another -- but I'm particularly interested in problems where the &quot;natural&quot; form of the problem requires a mix.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;What are some problems where their standard input to a Turing machine is a mix of unary and binary encoding? (Bonus points if the only-unary or only-binary encoded versions are meaningful as well!)&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;P.S. I'm less interested in broad &quot;classes of problems&quot; (not to be confused with complexity classes), such as &quot;any crypto problem&quot; where there is frequently a security parameter of $1^n$ and the rest of the problem is in binary, or as Tsuyoshi points out, &quot;any FPTAS&quot;. I'm very interested in specific computational problems that require both a unary and a binary component in the input for the problem to be meaningful (and perhaps, to be meaningful at all).&lt;/p&gt;&#xA;" OwnerUserId="108" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2010-11-18T03:15:16.693" Title="Problems with mixed unary/binary inputs" Tags="&lt;cc.complexity-theory&gt;&lt;turing-machines&gt;" AnswerCount="2" CommentCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="3083" PostTypeId="1" CreationDate="2010-11-17T12:02:36.663" Score="9" ViewCount="422" Body="&lt;p&gt;I have recently thought about &quot;importing&quot; some physics-related question into quantum CS:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The notion of the area-law phenomenon in Hamiltonian systems usually stands for a local Hamiltonian on some lattice, whose groundstate exhibits a property in which entanglement of any closed region is proportional to the surface of the region, and not its volume (as it would for a general state).&#xA;A famous conjecture is whether all constant-gapped Hamiltonians exhibit this area-law property.&#xA;For 1-dimensional systems, this question was answered in the positive by Hastings (arXiv:0705.2024).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Yet, the connection between such systems and complexity theory is very vague: while Hastings' result implies that 1-D area-law-abiding systems can be classically simulated, for general systems this is unknown.&#xA;So my question is, is the quest to solve the area-law conjecture worthwhile?&#xA;Or adversarially put, can one come up with a QMA-complete local Hamiltonian which is also area-law-abiding.&#xA;A small glance at the known QMA-complete local Hamiltonians, which are essentially all based on Kitaev's quantum Cook-Levin theorem yields that these Hamiltonians do not have the area law property.&lt;/p&gt;&#xA;" OwnerDisplayName="user2277" LastEditorUserId="80" LastEditDate="2010-11-17T15:51:36.620" LastActivityDate="2010-11-18T09:54:06.227" Title="The complexity of Area-lawed Hamiltonians" Tags="&lt;quantum-computing&gt;&lt;big-picture&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="3084" PostTypeId="2" ParentId="3062" CreationDate="2010-11-17T12:42:51.230" Score="3" Body="&lt;p&gt;Some observations suggesting the existence of conservation law:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we consider polynomial-time (or log-space) computable reductions $&amp;lt;_p$ as  transformations between computational problems, then the following definitions of known complexity classes suggest the existence of some conserved property under &quot;efficient&quot; transformations. Assuming $P\ne NP$ then &quot;hardness&quot; seems to be the conserved property. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$P=\{L| L&amp;lt;_p HornSAT \}$ &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$NP=\{L| L&amp;lt;_p 3SAT \}$&#xD;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$CoNP=\{L| \bar L&amp;lt;_p 3SAT \}$&#xD;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$NPC=\{L| L&amp;lt;_p 3SAT, 3SAT&amp;lt;_p L \}$&#xD;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$PC=\{L| L&amp;lt;_p HornSAT, HornSAT&amp;lt;_p L \}$&#xD;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT&lt;/strong&gt;: $P$ is more accurately defined as $P=\{L| L&amp;lt;_p HornSAT, \bar L &amp;lt;_p HornSAT \}$ suggesting that the hardness of problems in $P$ is invariant under complement operation while it is not known that complementation preserves the hardness of $NP$ problems (unless $P=NP$).&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2010-11-17T13:35:19.313" LastActivityDate="2010-11-17T13:35:19.313" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3085" PostTypeId="1" AcceptedAnswerId="3092" CreationDate="2010-11-17T13:18:28.150" Score="15" ViewCount="552" Body="&lt;p&gt;This question can be asked either in the framework of circuit complexity of Boolean circuits, or in the framework of algebraic complexity theory, or probably in lots of other settings.  It is easy to show, by counting arguments, that there exist Boolean functions on N inputs that require exponentially many gates (though of course we don't have any explicit examples).  Suppose I wish to evaluate the same function M times, for some integer M, on M distinct sets of inputs, so that the total number of inputs is MN.  That is, we just want to evaluate $f(x_{1,1},...,x_{1,N}), f(x_{2,1},...,x_{2,N}),...,f(x_{M,1},...,x_{M,N})$ for the same function $f$ at each time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The question is: is it known that there exists a sequence of functions $f$ (one function for each N) such that, for any N, for any M, the total number of gates required is at least equal to M times an exponential function of N?  The simple counting argument does not seem to work since we want this result to hold for all M.  One can come up with simple analogues of this question in algebraic complexity theory and other areas.&lt;/p&gt;&#xA;" OwnerUserId="2279" LastEditorUserId="186" LastEditDate="2010-11-18T07:08:16.393" LastActivityDate="2011-04-23T14:00:15.960" Title="Are there known to exist functions with the following direct-sum property?" Tags="&lt;cc.complexity-theory&gt;&lt;circuit-complexity&gt;&lt;algebraic-complexity&gt;" AnswerCount="4" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="3087" PostTypeId="2" ParentId="3083" CreationDate="2010-11-17T13:44:47.243" Score="10" Body="&lt;p&gt;One could consider the following slightly silly example of a 2d system which obeys an area law which is QMA-complete.  Take a 2d system, one row of which is equal to one of the known QMA-complete 1d Hamiltonians (see Aharonov, Gottesman, Irani, Kempe), and all the other rows are in a product state.  Then, this obeys an area law (consider drawing a rectangle which includes the given row, with k rows and l columns; the entanglement is bounded by a constant times l and the area is also at least equal to l).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, this, in my opinion, certainly doesn't mean that proving an area law in 2d would be pointless from the point of view of complexity.  Rather, I think it means that we need to consider not just the area law for entanglement entropy, but other entanglement properties also.  One such property would be having a PEPS of polynomial bond dimension.  Actually, proving that there is an area law in 2d does not imply having a PEPS of polynomial bond dimension.  The implication in 1d relies on the fact that we can cut the system across various bonds, truncate to a polynomial Schmidt rank across each bond, and bound the error.  This procedure doesn't work in 2d.  So, proving the existence of a PEPS for a gapped system in 2d would be a next step.  My feeling is that proving an area law in 2d would be a good first step to doing that.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In fact, it is well-studied in condensed matter physics that there exist gapless 2d Hamiltonians which obey an area law.  While in 1d, the systems which are described by conformal field theory have a logarithmic behavior of the entanglement entropy, in 2d many critical systems show an area law and then the logs show up in subleading behavior, so the entropy is equal to L + const*log(L)+...  That is, the interesting, universal terms in the entropy are not the leading terms, but the subleading, in such 2d theories.&lt;/p&gt;&#xA;" OwnerUserId="2279" LastActivityDate="2010-11-17T13:44:47.243" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3089" PostTypeId="2" ParentId="3082" CreationDate="2010-11-17T15:48:57.300" Score="4" Body="&lt;p&gt;The &amp;quot;Generic Machine Simulation Problem&amp;quot; (GMSP) when encoded with a mix of binary and unary is a P-complete problem. &amp;quot;Limits to Parallel Computation&amp;quot; by Greenlaw, Hoover, Ruzzo pg 58. (Problem A.12.1)&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Given: A string &lt;span class=&quot;math-container&quot;&gt;$x$&lt;/span&gt;, a description &lt;span class=&quot;math-container&quot;&gt;$M$&lt;/span&gt; of a Turing machine &lt;span class=&quot;math-container&quot;&gt;$M$&lt;/span&gt;, and an integer &lt;span class=&quot;math-container&quot;&gt;$t$&lt;/span&gt; coded in &lt;em&gt;unary&lt;/em&gt;. (To be precise, the input is the string &lt;span class=&quot;math-container&quot;&gt;$x\# M\#^t$&lt;/span&gt;, where &lt;span class=&quot;math-container&quot;&gt;$\#$&lt;/span&gt; is a delimiter character not otherwise present in the string.)&lt;/p&gt;&#xA;&lt;p&gt;Problem: Does &lt;span class=&quot;math-container&quot;&gt;$M$&lt;/span&gt; accept &lt;span class=&quot;math-container&quot;&gt;$x$&lt;/span&gt; within &lt;span class=&quot;math-container&quot;&gt;$t$&lt;/span&gt; steps?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;If &lt;span class=&quot;math-container&quot;&gt;$t$&lt;/span&gt; is not encoded in unary (i.e. binary) then &lt;span class=&quot;math-container&quot;&gt;$t$&lt;/span&gt; could be a number exponentialy bigger than &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt; and so the simulation could take exponential time.&lt;/p&gt;&#xA;" OwnerUserId="138" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2010-11-17T15:48:57.300" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3090" PostTypeId="1" CreationDate="2010-11-17T15:55:38.723" Score="3" ViewCount="377" Body="&lt;p&gt;An &lt;a href=&quot;http://en.wikipedia.org/wiki/Association_scheme&quot; rel=&quot;nofollow noreferrer&quot;&gt;association scheme&lt;/a&gt; is defined as a pair &lt;span class=&quot;math-container&quot;&gt;$(V, R_0,R_1, \ldots,R_{n+1})$&lt;/span&gt; of a set &lt;span class=&quot;math-container&quot;&gt;$V$&lt;/span&gt; and relations &lt;span class=&quot;math-container&quot;&gt;$R_i$&lt;/span&gt; on &lt;span class=&quot;math-container&quot;&gt;$V$&lt;/span&gt; such that&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$(x,y) \in R_i$&lt;/span&gt; implies &lt;span class=&quot;math-container&quot;&gt;$(y,x) \in R_i$&lt;/span&gt; for all &lt;span class=&quot;math-container&quot;&gt;$x, y \in V$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$R_0 = \{ (x,x) \mid x \in V \}$&lt;/span&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;If &lt;span class=&quot;math-container&quot;&gt;$(x,y) \in R_k$&lt;/span&gt;, the number of &lt;span class=&quot;math-container&quot;&gt;$z \in V$&lt;/span&gt; such that &lt;span class=&quot;math-container&quot;&gt;$(x,z) \in R_i$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$(y,z) \in R_j$&lt;/span&gt; is a constant &lt;span class=&quot;math-container&quot;&gt;$c_{ijk}$&lt;/span&gt; depending on &lt;span class=&quot;math-container&quot;&gt;$i$&lt;/span&gt;, &lt;span class=&quot;math-container&quot;&gt;$j$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$k$&lt;/span&gt;, but not on the choice of &lt;span class=&quot;math-container&quot;&gt;$x$&lt;/span&gt; or &lt;span class=&quot;math-container&quot;&gt;$y$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;An example of the application of the theory of association schemes to complexity theory is &lt;a href=&quot;http://www.springerlink.com/content/y17657x2835813p4/&quot; rel=&quot;nofollow noreferrer&quot;&gt;the following result of Evdomikov&lt;/a&gt; from 1994:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Under the Generalized Riemann Hypothesis, the irreducible factors of a degree &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt; polynomial over an explicitly given finite field of order &lt;span class=&quot;math-container&quot;&gt;$q$&lt;/span&gt; can be found in time &lt;span class=&quot;math-container&quot;&gt;$(n^{\log n} \log q)^{O(1)}$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;So... question(s):&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Are there other, more recent applications of association schemes to complexity theory, or other TCS?&lt;/p&gt;&#xA;&lt;p&gt;What is the current state of the art in factoring algorithms of polynomials over finite fields?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Thanks in advance.  I'll be offline for a day or two, I'm afraid.  If there are issues with this question, I'll address them within 72 hours.&lt;/p&gt;&#xA;" OwnerUserId="30" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2010-11-17T22:05:12.017" Title="Applications of association schemes to complexity theory and other TCS" Tags="&lt;cc.complexity-theory&gt;&lt;polynomials&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3091" PostTypeId="1" AcceptedAnswerId="3093" CreationDate="2010-11-17T17:26:20.507" Score="9" ViewCount="350" Body="&lt;p&gt;Suppose we're given a graph $G$ and parameters $k,\epsilon$. Are there ranges of values for $k$ (or is it doable for all $k$) for which it is possible to test whether $G$ is $\epsilon$-far from having an independent set of size at least $k$ in time $O(n + \text{poly}(1/\epsilon))$ ? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we use the usual notion of $\epsilon$-far (i.e at most $\epsilon n^2$ edges would need to be changed in order to obtain such a set), then the problem is trivial for $k = O(n\sqrt{\epsilon})$.  So&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;It seems that if $k$ is larger, some sampling ideas should work to solve the problem. Is that true ? &lt;/li&gt;&#xA;&lt;li&gt;Are there other notions of $\epsilon$-far (i.e maybe $\epsilon |E|$ edges instead) under which there are nontrivial results ? &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I'm basically looking for references at this point. &lt;/p&gt;&#xA;" OwnerUserId="80" LastEditorUserId="186" LastEditDate="2010-11-18T04:12:44.450" LastActivityDate="2010-11-18T04:12:44.450" Title="Property Testing for Independent Sets" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;reference-request&gt;&lt;property-testing&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3092" PostTypeId="2" ParentId="3085" CreationDate="2010-11-17T19:06:33.403" Score="13" Body="&lt;p&gt;Well, that is false: it is possible to evaluate M copies of ANY f using only O(N(M+2^N)) gates which can be much less than M*exp(N) (in fact, you get linear amortized complexity for exponential M).  I don't remember a reference, but I think that it can go something like the following: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;First add 2^N fictitious inputs which are just constants 0...2^N-1 and now denote the i'th N-bit input by xi (so for i&amp;lt;=2^N we have xi=i, and for 2^N &amp;lt; i &amp;lt;=2^N+M we have the original inputs).  Now we create a triplet for each of the M+2^N inputs: (i,xi,fi) where fi is f(i) for the first 2^N inputs (a constant that is hardwired into the circuit) and fi=&quot;*&quot; otherwise.  Now we sort the triplets (i,xi,fi) according to the key xi, and let the j'th triplet be (i_j,x_j,f_j) from this we compute a triplet (i_j,x_j,g_j) by letting g_j be f_j if f_j is not a &quot;*&quot; and let g_j be g_(j-1) otherwise.  Now sort the new triplets back according to the key i_j, and you got the correct answers at the correct places. &lt;/p&gt;&#xA;" OwnerUserId="42" LastActivityDate="2010-11-17T19:06:33.403" CommentCount="8" ContentLicense="CC BY-SA 2.5" />
  <row Id="3093" PostTypeId="2" ParentId="3091" CreationDate="2010-11-17T19:20:22.127" Score="10" Body="&lt;p&gt;This problem has indeed been studied.  Goldreich, Goldwasser and Ron studied it in &lt;a href=&quot;http://www.eng.tau.ac.il/~danar/Public-pdf/test1.pdf&quot;&gt;their seminal paper&lt;/a&gt; which kicked off graph property testing, and then, Feige, Langberg, and Schechtman also have results on it in their &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=652184&quot;&gt;FOCS '02 paper&lt;/a&gt; &quot;Graphs with tiny vector chromatic numbers and huge chromatic numbers&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Specifically, [FLS '02] show that one can distinguish between graphs with an independent set of size $\rho n$ from graphs $\epsilon$-far from being so (meaning, at least $\epsilon n^2$ edges need to be removed to create such an independent set) by choosing a random subgraph induced by $s = \tilde{O}(\rho^4/\epsilon^3)$ random vertices in the graph and checking whether the random subgraph has an independent set of size $\rho s$ or not.   ([GGR '98] showed a weaker bound on $s$ of $\tilde{O}(\rho/\epsilon^4)$.)  [FLS '02] also show a lower bound on $s$ of $\Omega(\rho^3/\epsilon^2)$.&lt;/p&gt;&#xA;" OwnerUserId="15" LastActivityDate="2010-11-17T19:20:22.127" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3094" PostTypeId="2" ParentId="3091" CreationDate="2010-11-17T19:24:25.893" Score="6" Body="&lt;p&gt;Another natural definition of $\epsilon$-close to an independent set is changing $\epsilon k^2$ edges. Unfortunataly with this definition property testing does not seem to be polynomial time solvable. The reason is that no one knows how to find a planted clique (and similarly independent set) of $o(\sqrt{n})$ vertices in a random graph of $n$ vertices faster than $n^{O(\log n)}$ time. One can show that a subgraph that is just a bit denser than average can be used to find the planted clique in polynomial time. This is evidence against there being a polynomial time algorithm for this variant of your problem for $k$ between $\log n$ and $\sqrt{n}$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Reference: Feige and Krauthgamer. Finding and certifying a large hidden clique in a semirandom graph, 1999.&lt;/p&gt;&#xA;" OwnerUserId="1522" LastActivityDate="2010-11-17T19:24:25.893" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3095" PostTypeId="2" ParentId="3062" CreationDate="2010-11-17T19:27:45.830" Score="13" Body="&lt;p&gt;This is a question that has run across my mind many times.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think one place to look is information theory.  Here is a speculation of mine.  Given a problem maybe we can give some sort of entropy value to information given as input and the information received from the algorithm.  If we could do that, then there would be some minimum amount of information gain required by an algorithm to solve that problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There's one related thing I've wanted to figure out.  In some NP-complete problems you can find a constrained version in P; with the Hamiltonian path if you specify that the graph is a DAG then there is a p-time algorithm to solve it.  With other problems like TSP, there's often p-time algorithms that will approximate the optimal.  It seems to me, for constrained p-time algorithms, there should be some proportional relationship between the addition information assumed and run-time complexity reduction.  In the case of the TSP we aren't assuming additional information, we're relaxing the precision, which I expect to have a similar effect on any sort of algorithmic information gain.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Note on Conservation Laws&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the earlier 1900's there was little known German-American mathematician named Emily Noether.  Among other things she was described by Einstein and Hilbert to be the most import women in the history of mathematics.  In 1915 she published what is now known as &lt;a href=&quot;http://en.wikipedia.org/wiki/Noether%27s_theorem&quot;&gt;Noether's First Theorem&lt;/a&gt;.  The theorem was about physical laws of conservation, and said that all conservation laws have a corresponding differential symmetry in the physical system.  Conservation of Angular Momentum comes from a rotational symmetry in space, Conservation of Linear Momentum is translation in space, Conservation of Energy is translation in time.  Given that, for there to be some law of conservation of complexity in a formal sense, there would need to be some corresponding differential symmetry in a Langragian function.&lt;/p&gt;&#xA;" OwnerUserId="2284" LastActivityDate="2010-11-17T19:27:45.830" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="3096" PostTypeId="2" ParentId="3085" CreationDate="2010-11-17T19:36:10.570" Score="10" Body="&lt;p&gt;There’s another result that further constrains the possibilities for the kind of direct-sum phenomenon you're looking for.  A well-known early result of Shannon (tightened by Lupanov) showed that all Boolean functions are computable by circuits of size $O(2^n/n)$, and by Shannon’s counting argument this is tight for random functions.  One might think that, at least for moderate values of $m$, the circuit complexity of computing $m$ instances of a random $f$ would scale as $m 2^n/n$.  However, Dietmar Uhlig showed in&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&quot;Networks computing Boolean functions for multiple input values&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;that this is false: as long as $m = 2^{o(n/\log n)}$, one can compute $m$ instances of any $f$ with a circuit of size $O(2^n/n)$--essentially the same cost as for $m = 1$!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I can't find an un-gated copy online, or a homepage for the author, but I came across the paper in this proceedings:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0521408261&quot; rel=&quot;nofollow&quot;&gt;Boolean Function Complexity (London Mathematical Society Lecture Note Series)&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="223" LastEditorUserId="223" LastEditDate="2010-11-19T15:12:14.857" LastActivityDate="2010-11-19T15:12:14.857" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="3097" PostTypeId="2" ParentId="3090" CreationDate="2010-11-17T19:44:43.870" Score="5" Body="&lt;p&gt;One application that I know of is the connection between &lt;a href=&quot;http://en.wikipedia.org/wiki/Combinatorial_design&quot; rel=&quot;nofollow&quot;&gt;combinatorial designs&lt;/a&gt; (which are related to associative schemes) and coding theory. Delsarte's program in particular has lead to some interesting LP based bounds for codes. I don't know much about these but I remember that &lt;a href=&quot;http://www.cs.huji.ac.il/~salex/&quot; rel=&quot;nofollow&quot;&gt;Alex Samorodnitsky&lt;/a&gt; has worked on these connections (for example, &lt;a href=&quot;http://www.cs.huji.ac.il/~salex/papers/delsarte_cover.pdf&quot; rel=&quot;nofollow&quot;&gt;this&lt;/a&gt;, &lt;a href=&quot;http://www.cs.huji.ac.il/~salex/papers/kl.ps&quot; rel=&quot;nofollow&quot;&gt;this&lt;/a&gt;, &lt;a href=&quot;http://www.cs.huji.ac.il/~salex/papers/dels_ft.ps&quot; rel=&quot;nofollow&quot;&gt;this&lt;/a&gt; and &lt;a href=&quot;http://www.cs.huji.ac.il/~salex/papers/dels_lin.ps&quot; rel=&quot;nofollow&quot;&gt;this&lt;/a&gt;). Perhaps some expert can shed more light on this. &lt;/p&gt;&#xA;" OwnerUserId="877" LastEditorUserId="15" LastEditDate="2010-11-17T22:05:12.017" LastActivityDate="2010-11-17T22:05:12.017" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3098" PostTypeId="2" ParentId="3062" CreationDate="2010-11-17T20:07:35.377" Score="6" Body="&lt;p&gt;I was thinking about this same question the other day, when I was replaying some of Feynman's Lectures on Physics, and came to &lt;a href=&quot;http://student.fizika.org/~jsisko/Knjige/Opca%20Fizika/Feynman%20Lectures%20on%20Physics/Vol%201%20Ch%2004%20-%20Conservation%20of%20Energy.pdf&quot;&gt;lesson 4&lt;/a&gt; on the conservation of energy.  In the lecture Feynman uses the example of a simple machine which (through some system of levers or pulleys or whatever) lowers a weight of one unit by some distance x, and uses that to lift a second weight of 3 units.  How high can the weight be lifted?  Feynman makes the observation that if the machine is reversible, then we don't need to know anything about the mechanism of the machine--we can treat it like a black box--and it will always lift the weight the maximum distance possible (x/3 in this case).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does this have an analogue in computation?  The idea of &lt;a href=&quot;http://en.wikipedia.org/wiki/Reversible_computing&quot;&gt;reversible computation&lt;/a&gt; brings to mind the work of Landauer and Bennett, but I'm not sure this is the sense of the term in which we are interested.  Intuitively, if we have an algorithm for some problem that is optimal, then there isn't any wasted &quot;work&quot; being done churning bits; while a brute-force approach to the same problem would be throwing away CPU cycles left and right.  However, I imagine one could construct a physically reversible circuit for either algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think the first step in approaching a conservation law for computational complexity is to figure out exactly what should be conserved.  Space and time are each important metrics, but it's clear from the existence of space/time trade-offs that neither one by itself is going to be adequate as a measure of how much &quot;work&quot; is being done by an algorithm.  There are other metrics such as TM head reversals or tape cell crossings that have been used.  None of these really seems to be close to our intuition of the amount of &quot;work&quot; required to carry out a computation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The flip side of the problem is figuring out just what that work gets converted into.  Once you have the output from a program, what exactly is it that you have gained?&lt;/p&gt;&#xA;" OwnerUserId="184" LastActivityDate="2010-11-17T20:07:35.377" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3099" PostTypeId="1" AcceptedAnswerId="3101" CreationDate="2010-11-17T20:31:08.280" Score="12" ViewCount="1144" Body="&lt;p&gt;The Baker-Gill-Solovay result showed that the P = NP question does not relativize, in the sense that no relativizing proof (insensitive to the presence of an oracle) can possibly settle the P = NP question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is:  Is there a similar result for the question, &quot;Does there exist a PH-complete problem?&quot;  An answer in the negative to this question would imply P != NP; an answer in the affirmative would be unlikely but interesting because it would mean that PH collapses to some level.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm not sure, but I suspect that a TQBF oracle would lead PH to be equal to PSPACE, and thus to have a complete problem.  In addition to being uncertain regarding this, I am curious as to whether or not there is an oracle relative to which PH provably does not have a complete problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;-Philip&lt;/p&gt;&#xA;" OwnerUserId="1338" LastActivityDate="2010-11-30T14:20:08.217" Title="Does the existence of PH-complete problems relativize?" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3100" PostTypeId="1" AcceptedAnswerId="3110" CreationDate="2010-11-17T21:24:59.977" Score="8" ViewCount="444" Body="&lt;p&gt;A generic question: are there any spectral techniques to estimate the genus of a graph? I am interested in bipartite graphs.&lt;/p&gt;&#xA;" OwnerUserId="1812" LastEditorUserId="186" LastEditDate="2010-11-18T03:25:47.407" LastActivityDate="2010-11-18T06:40:10.153" Title="Spectral techniques for genus of a graph" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;spectral-graph-theory&gt;" AnswerCount="2" CommentCount="4" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="3101" PostTypeId="2" ParentId="3099" CreationDate="2010-11-17T21:27:11.217" Score="17" Body="&lt;p&gt;&lt;a href=&quot;http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=4568121&amp;amp;tag=1&quot;&gt;Yao&lt;/a&gt; showed, in 1985, that there exist oracles relative to which the Polynomial Hierarchy is infinite. Relative to such an oracle, there don't exist PH-complete problems.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, you are right that with a TQBF oracle, PH equals PSPACE. In fact, even P = PSPACE in the presence of a TQBF oracle.&lt;/p&gt;&#xA;" OwnerUserId="17464" LastActivityDate="2010-11-17T21:27:11.217" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="3102" PostTypeId="1" CreationDate="2010-11-17T21:51:56.503" Score="2" ViewCount="427" Body="&lt;p&gt;I need to specify small rooted trees with a lot of repeated parts and some recursive definitions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To illustrate the need, let's use $s(T_1, T_2, ..., T_k)$ to denote a tree that consists of a degree-$k$ root node and $k$ subtrees: the $i$th subtree is a copy of $T_i$. Then I might want to define something like this:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$T = s(X_d, X_d, X_d, B)$&#xD;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$X_{i+1} = s(X_i, X_i, X_i, X_i)$&#xD;&lt;/li&gt;&#xA;&lt;li&gt;$X_0 = s(A, B, B)$&#xD;&lt;/li&gt;&#xA;&lt;li&gt;$A = s(C, D, D)$&#xD;&lt;/li&gt;&#xA;&lt;li&gt;$B = s(D, D, D)$&#xD;&lt;/li&gt;&#xA;&lt;li&gt;$C = s(L, L, L)$&#xD;&lt;/li&gt;&#xA;&lt;li&gt;$D = s(L, L)$&#xD;&lt;/li&gt;&#xA;&lt;li&gt;$L =$ a leaf node&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Well, certainly I can define it, but I would prefer to &lt;em&gt;draw&lt;/em&gt; an illustration that defines the structure of $T$. I would prefer to keep the illustration as compact as possible, yet unambiguous (that is, the illustration alone is enough to &lt;em&gt;define&lt;/em&gt; $T$). I would rather not name the subtrees $X_i$, $A$, $B$, ...; they could be just some anonymous nodes (?) in the illustration.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Sure, I could come up with my own notation for such illustrations, but when I tried to depict recursion I realised that using a well-known standard notation might be a better idea. Hence the question:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What is the standard notation for drawing trees that contain recursive parts and isomorphic subtrees?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I explored ideas ranging from the Unified Modeling Language to tree grammars, but did not find anything that really answers my needs. Any ideas? Preferably something that might be already familiar to a computer scientist.&lt;/p&gt;&#xA;" OwnerUserId="74" LastActivityDate="2010-11-17T21:51:56.503" Title="Notation for drawing rooted trees with isomorphic subtrees and recursive parts" Tags="&lt;graph-theory&gt;&lt;tree&gt;" AnswerCount="0" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3103" PostTypeId="1" AcceptedAnswerId="3106" CreationDate="2010-11-17T21:52:02.110" Score="9" ViewCount="451" Body="&lt;p&gt;&lt;strong&gt;Computational complexity theory&lt;/strong&gt; classifies problems according to their inherent difficulty.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Complex systems theory&lt;/strong&gt; addresses systems that exhibit behaviours that do not obviously arise from the properties of the system's individual parts.  Examples include chaotic systems, complex adaptive systems, or nonlinear systems.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there any formal bridge between these fields?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For what it's worth, the notion of performing &lt;a href=&quot;http://www.stephenwolfram.com/publications/articles/ca/85-cryptography/1/text.html&quot;&gt;cryptography with cellular automata&lt;/a&gt; is not new, and earlier this year&#xA;&lt;a href=&quot;http://www.eng.tau.ac.il/~bennyap/pubs/CA.pdf&quot;&gt;Applebaum, Ishai, and Kushilevitz&lt;/a&gt; identified &quot;complexity&quot; with computational intractability.&lt;/p&gt;&#xA;" OwnerUserId="2173" LastEditorUserId="495" LastEditDate="2010-11-17T22:10:18.517" LastActivityDate="2010-11-17T23:30:44.173" Title="Is there a relationship between computational complexity theory and complex systems theory?" Tags="&lt;cc.complexity-theory&gt;&lt;soft-question&gt;&lt;big-picture&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="3104" PostTypeId="1" CreationDate="2010-11-17T22:11:20.463" Score="1" ViewCount="390" Body="&lt;p&gt;Preface: So, it was suggested in 'Programmers' that I ask this over here.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am being asked to define several of my algorithms in mathematical terms to describe my work to a customer. I trying to determine if anybody knows whether common operators for collections like sequences, lists, tuples, etc have been defined. If so, is there a good reference that I could be pointed to. Thanks. I am interested in the actual symbols used. I am wondering if the following would make sense or be appropiate to anybody.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given two sequences (or strings):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;S = (A, B, C) and T = (A, D, H)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In my mind, the intersection of these sequences would look like S ∩ T = (A) and the union of these sequences would be S ∪ T = (A, B, C, A, D, H)&lt;/p&gt;&#xA;" OwnerUserId="2290" LastEditorUserId="186" LastEditDate="2010-11-18T03:46:53.060" LastActivityDate="2011-01-19T15:07:26.587" Title="Is there a common mathematical symbology for collections?" Tags="&lt;ds.data-structures&gt;&lt;pl.programming-languages&gt;&lt;co.combinatorics&gt;&lt;notation&gt;" AnswerCount="3" CommentCount="8" ContentLicense="CC BY-SA 2.5" />
  <row Id="3105" PostTypeId="1" CreationDate="2010-11-17T22:21:36.847" Score="28" ViewCount="664" Body="&lt;p&gt;This problem is highly related to the &lt;a href=&quot;https://cstheory.stackexchange.com/questions/3059/the-complexity-of-checking-whether-two-cnf-have-the-same-number-of-solutions&quot;&gt;CNF&lt;/a&gt; one.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is the problem: given two DAG (directed acyclic graphs), if they have the same counting of topological sorts, answer &quot;Yes&quot;, otherwise, answer &quot;No&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Intuitively, the complexity of this problem is &lt;a href=&quot;https://complexityzoo.uwaterloo.ca/Complexity_Zoo:C#cequalsp&quot; rel=&quot;nofollow noreferrer&quot;&gt;$C_=P$&lt;/a&gt;-complete, just as the &lt;a href=&quot;https://cstheory.stackexchange.com/questions/3059/the-complexity-of-checking-whether-two-cnf-have-the-same-number-of-solutions&quot;&gt;CNF&lt;/a&gt; one. It is easy to see it is in $C_=P$, but is it $C_=P$-hard?&lt;/p&gt;&#xA;" OwnerUserId="1925" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.743" LastActivityDate="2015-08-15T04:42:19.757" Title="The complexity of checking whether two DAG have the same number of topological sorts" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;counting-complexity&gt;&lt;open-problem&gt;&lt;partial-order&gt;" AnswerCount="0" CommentCount="8" FavoriteCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="3106" PostTypeId="2" ParentId="3103" CreationDate="2010-11-17T22:52:06.640" Score="4" Body="&lt;p&gt;This paper by Kanter, Kopelowitz, and  Kinzel, &lt;a href=&quot;http://prl.aps.org/abstract/PRL/v101/i8/e084102&quot; rel=&quot;nofollow&quot;&gt;Public Channel Cryptography: Chaos Synchronization and Hilbert’s Tenth Problem&lt;/a&gt; shows that there is a strong connection between nonlinear dynamics and NP-complete problems with the promise of novel secure public-channel protocols.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Phys. Rev. Lett. 101, 084102 (2008)&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2010-11-17T23:30:44.173" LastActivityDate="2010-11-17T23:30:44.173" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3109" PostTypeId="2" ParentId="3099" CreationDate="2010-11-18T01:00:26.497" Score="14" Body="&lt;p&gt;PH has complete problems &lt;em&gt;if and only if&lt;/em&gt; it collapses: if it has a complete problem $L$, then $L \in \Sigma_k P$ for some $k$, so $PH = \Sigma_k P$.  Conversely, if $PH$ is finite, then $PH = \Sigma_k P$ for some $k$, and $\Sigma_k SAT$ is then PH-complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As pointed out by Srikanth, there are oracles relative to which PH is infinite.  (In fact, finding such oracles was part of the reason people started looking at PARITY not in $AC^0$ in the first place.)  Using similar circuit-based techniques, there is also, for every $k$, an oracle that collapses $PH$ to exactly $\Sigma_k P$ (&lt;a href=&quot;http://dx.doi.org/10.1137/0218027&quot;&gt;Ker-I Ko, SICOMP 18(2), 1989&lt;/a&gt;).  For those who are interested, I recommend &lt;a href=&quot;http://www.cs.sunysb.edu/~keriko/survey2.pdf&quot;&gt;Ker-I Ko's survey&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="129" LastEditorUserId="129" LastEditDate="2010-11-30T14:20:08.217" LastActivityDate="2010-11-30T14:20:08.217" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3110" PostTypeId="2" ParentId="3100" CreationDate="2010-11-18T02:39:43.560" Score="6" Body="&lt;p&gt;Deciding the exact bound for genus of a graph via spectral techniques may be hard, but giving an upper or lower bound seems possible. The following paper gives a way to estimate genus by the largest eigenvalue of the adjacency matrix, i.e. the &lt;strong&gt;spectral radius&lt;/strong&gt; $\rho(G)$.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;a href=&quot;http://arxiv.org/abs/0907.1591&quot; rel=&quot;nofollow&quot;&gt;Spectral radius of finite and infinite planar graphs and of graphs of bounded genus&lt;/a&gt;, Zdenek Dvorak and Bojan Mohar, JCTB 2010.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;They provide an upper bound on the spectral radius for a genus $g$ graph, as stated in the following theorem.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Theorem.&lt;/strong&gt; For a genus $g$ graph, $\rho(G) = \sqrt{8\Delta(G)} + O(\sqrt{g} \log g)$, where $\Delta(G)$ denotes the maximum degree of graph $G$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;We can use this to estimate a lower bound for genus of a graph, if the spectral radius of the graph is large enough. For more precise bound for the big-O constant please see the paper.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The property as being a bipartite graph seems to help little here. They are able to provide a bipartite instance where the inequality on planar graphs is best possible.&lt;/p&gt;&#xA;" OwnerUserId="1800" LastEditorUserId="1800" LastEditDate="2010-11-18T02:48:15.457" LastActivityDate="2010-11-18T02:48:15.457" CommentCount="13" ContentLicense="CC BY-SA 2.5" />
  <row Id="3111" PostTypeId="1" CreationDate="2010-11-18T03:07:16.040" Score="81" ViewCount="16397" Body="&lt;p&gt;What is the funniest TCS-related published work you know?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Please include only those that are intended to be funny.  Works which are explicitly crafted to be intelligently humorous (rather than, say, a published collection of short jokes regarding complexity theory) are preferred.  Works with humorous (actually humorous, not just cute) titles are also accepted.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Please only one work per answer so the &quot;best&quot; ones can bubble to the top.&lt;/p&gt;&#xA;" OwnerUserId="129" LastEditorUserId="567" LastEditDate="2010-11-18T05:19:07.257" LastActivityDate="2020-05-25T09:34:40.927" Title="Funny TCS-related papers etc?" Tags="&lt;reference-request&gt;&lt;soft-question&gt;&lt;big-list&gt;" AnswerCount="42" CommentCount="11" FavoriteCount="73" CommunityOwnedDate="2010-11-18T03:45:34.743" ContentLicense="CC BY-SA 2.5" />
  <row Id="3112" PostTypeId="2" ParentId="3111" CreationDate="2010-11-18T03:07:49.363" Score="74" Body="&lt;p&gt;Scott Aaronson's newspiece: &lt;a href=&quot;http://www.scottaaronson.com/writings/phcollapse.pdf&quot;&gt;Polynomial&#xA;hierarchy collapses: thousands feared tractable&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2010-11-18T03:07:49.363" CommentCount="2" CommunityOwnedDate="2010-11-18T03:09:30.017" ContentLicense="CC BY-SA 2.5" />
  <row Id="3113" PostTypeId="2" ParentId="3111" CreationDate="2010-11-18T03:08:35.867" Score="39" Body="&lt;p&gt;Kyle Burke and David Charlton. &lt;a href=&quot;http://web.archive.org/web/20080211140314/http://cs-people.bu.edu/charlton/probpt.pdf&quot;&gt;Lower bounds for probably-istic polynomial time.&lt;/a&gt;  Boston University, 2005.  (Thanks to @arnab and the Web Archive for the link.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm pretty sure this was an April Fool's paper, but either way it is &lt;em&gt;absolutely&lt;/em&gt; hilarious.&#xA;The abstract:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;We fill a gap in existing complexity theory by introducing the class of probablyistic&#xA;  polynomial time computations, that is, computations that, you know, probably&#xA;  terminate in polynomial time, as far as we know. We apply this class to show that&#xA;  algorithms for NP-complete problems probably don't run in polynomial time.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="129" LastEditorUserId="129" LastEditDate="2010-11-19T14:36:07.957" LastActivityDate="2010-11-19T14:36:07.957" CommentCount="3" CommunityOwnedDate="2010-11-18T03:09:38.223" ContentLicense="CC BY-SA 2.5" />
  <row Id="3114" PostTypeId="2" ParentId="3082" CreationDate="2010-11-18T03:15:16.693" Score="6" Body="&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Knapsack_problem#Dynamic_programming_solution&quot;&gt;Knapsack&lt;/a&gt; problem. It can be solved in polytime by dynamic programming if you give the target weight in unary.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Similarly other problems which are weekly polynomial time (&lt;a href=&quot;http://en.wikipedia.org/wiki/Pseudo-polynomial_time&quot;&gt;pseudo-polynomial time&lt;/a&gt;) but not strongly polynomial time would need some part of input to be in unary. (You may also want to search for &lt;a href=&quot;http://en.wikipedia.org/wiki/Weakly_NP-complete&quot;&gt;weakly NP-complete&lt;/a&gt;.)&lt;/p&gt;&#xA;" OwnerUserId="186" LastActivityDate="2010-11-18T03:15:16.693" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="3115" PostTypeId="1" CreationDate="2010-11-18T03:18:18.610" Score="11" ViewCount="2947" Body="&lt;p&gt;This is a specialized version of a previous question:&#xA;    &lt;a href=&quot;https://cstheory.stackexchange.com/questions/2611/complexity-of-finding-the-eigendecomposition-of-a-matrix&quot;&gt;Complexity of Finding the Eigendecomposition of a Matrix&lt;/a&gt; .&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For NxN symmetric matrices, it is known that O(N^3) time suffices to compute the eigen decomposition.  The question is: can we achieve sub-cubic complexity?  Thanks.&lt;/p&gt;&#xA;" OwnerUserId="2291" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.743" LastActivityDate="2021-03-01T17:45:07.853" Title="Complexity of Finding the Eigendecomposition of a *Symmetric* Matrix" Tags="&lt;ds.algorithms&gt;&lt;time-complexity&gt;&lt;matrices&gt;&lt;linear-algebra&gt;&lt;na.numerical-analysis&gt;" AnswerCount="2" CommentCount="4" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="3116" PostTypeId="2" ParentId="3085" CreationDate="2010-11-18T04:29:29.360" Score="5" Body="&lt;p&gt;Regarding Algebraic complexity, I don't know an example where exponential complexity goes down to sub-exponential amortized complexity, but at least there's a simple example that the complexity of M disjoint copies can be significantly less than M times the complexity of a single copy:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For a &quot;random&quot; n*n matrix A, the complexity of the bilinear form defined by A, (the function f_A(x,y)=xAy, where x and y are 2 vectors of length n) is Omega(n^2) -- this can be shown by a &quot;counting-like&quot; dimension argument since you need n^2 &quot;places&quot; in the circuit to put constants.  However, given n different pairs of vectors (x^1,y^1)...(x^n,y^n), you can put the x's into the rows of an n*n matrix X, and similarly the y's into the columns of a matrix Y, and then read all the answers x^iAy^i from the diagonal of XAY, where the this is computed in n^2.3 (or so) operations using fast matrix multiplication, significantly less than n*n^2.  &lt;/p&gt;&#xA;" OwnerUserId="42" LastActivityDate="2010-11-18T04:29:29.360" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="3117" PostTypeId="2" ParentId="14" CreationDate="2010-11-18T04:38:03.813" Score="7" Body="&lt;p&gt;A Master's is often sufficient to get you a job as a lecturer at a four-year institution or a full professor at a two-year college. &lt;/p&gt;&#xA;" OwnerUserId="1507" LastActivityDate="2010-11-18T04:38:03.813" CommentCount="0" CommunityOwnedDate="2010-11-18T04:38:03.813" ContentLicense="CC BY-SA 2.5" />
  <row Id="3118" PostTypeId="2" ParentId="3111" CreationDate="2010-11-18T05:17:24.373" Score="5" Body="&lt;p&gt;&lt;a href=&quot;http://downlode.org/Etext/alicebob.html&quot;&gt;The Alice and Bob After Dinner Speech&lt;/a&gt; by John Gordon.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Nice light-hearted talk on coding theory.&lt;/p&gt;&#xA;" OwnerUserId="547" LastActivityDate="2010-11-18T05:17:24.373" CommentCount="1" CommunityOwnedDate="2010-11-18T05:17:24.373" ContentLicense="CC BY-SA 2.5" />
  <row Id="3119" PostTypeId="2" ParentId="3111" CreationDate="2010-11-18T05:19:41.780" Score="4" Body="&lt;p&gt;I cannot think now of a funny paper, but I do remember of a &quot;normal&quot; paper that had a funny line in it. It was in fact the very first sentence in Section 1. The authors began the paper with:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;&lt;strong&gt;&quot;Contrary to our usual practice, we feel obliged to begin this paper with&#xA;a few definitions&quot;. So let G...&quot;&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The title of the paper is &quot;&lt;code&gt;$beta$&lt;/code&gt;-perfect graphs&quot;, by Markossian, Gasparian and&#xA;Reed in 1996. It called my attention because it is in fact a key paper &#xA;on perfect graph theory, where it is defined the class of beta-perfect graphs, a class &#xA;that is in a way analogous to the perfect graphs (beta-perfect graphs being&#xA;a subclass of EVEN-hole-free graphs, whereas perfect graphs are a subclass of&#xA;ODD-hole-free graphs.  &lt;/p&gt;&#xA;" OwnerUserId="2286" LastEditorUserId="2286" LastEditDate="2010-11-18T05:26:38.250" LastActivityDate="2010-11-18T05:26:38.250" CommentCount="1" CommunityOwnedDate="2010-11-18T05:19:41.780" ContentLicense="CC BY-SA 2.5" />
  <row Id="3120" PostTypeId="2" ParentId="3111" CreationDate="2010-11-18T05:37:59.793" Score="24" Body="&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://portal.acm.org/citation.cfm?id=358027.358042&quot;&gt;The Complexity of Songs&lt;/a&gt; by Don Knuth&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://portal.acm.org/citation.cfm?id=993138&quot;&gt;On Superpolynomial Subexponential Functions&lt;/a&gt; by Alan T. Sherman (not &quot;Man T. Sherman&quot; as the ACM Digital Library suggests).&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="111" LastActivityDate="2010-11-18T05:37:59.793" CommentCount="2" CommunityOwnedDate="2010-11-18T05:37:59.793" ContentLicense="CC BY-SA 2.5" />
  <row Id="3121" PostTypeId="2" ParentId="3111" CreationDate="2010-11-18T06:00:33.727" Score="18" Body="&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Concrete_Mathematics&quot;&gt;Concrete Mathematics: A Foundation for Computer Science&lt;/a&gt;, by Ronald Graham, Donald Knuth, and Oren Patashnik.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An amazing book with lots of funny side notes. :) (See also &lt;a href=&quot;http://www-cs-faculty.stanford.edu/~uno/&quot;&gt;DEK&lt;/a&gt;'s &lt;a href=&quot;http://www-cs-faculty.stanford.edu/~uno/gkp.html&quot;&gt;GKP&lt;/a&gt; page.)&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2010-11-18T06:06:06.830" LastActivityDate="2010-11-18T06:06:06.830" CommentCount="2" CommunityOwnedDate="2010-11-18T06:00:33.727" ContentLicense="CC BY-SA 2.5" />
  <row Id="3122" PostTypeId="2" ParentId="3111" CreationDate="2010-11-18T06:02:37.413" Score="13" Body="&lt;p&gt;Mihai Patrascu and Liam Roditty's paper on &quot;&lt;a href=&quot;http://people.csail.mit.edu/mip/papers/balls/paper.pdf&quot;&gt;Distance Oracles Beyond the Thorup–Zwick Bound&lt;/a&gt;&quot; was initially titled &quot;&lt;a href=&quot;http://people.csail.mit.edu/mip/papers/balls/talk.pdf&quot;&gt;How to grow your balls&lt;/a&gt;&quot; on Mihai's homepage :-)&lt;/p&gt;&#xA;" OwnerUserId="877" LastActivityDate="2010-11-18T06:02:37.413" CommentCount="1" CommunityOwnedDate="2010-11-18T06:02:37.413" ContentLicense="CC BY-SA 2.5" />
  <row Id="3123" PostTypeId="2" ParentId="3111" CreationDate="2010-11-18T06:16:42.003" Score="25" Body="&lt;p&gt;Several of &lt;a href=&quot;http://girard.perso.math.cnrs.fr/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Jean-Yves Girard&lt;/a&gt;'s papers. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;His &lt;a href=&quot;http://girard.perso.math.cnrs.fr/linear.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Linear Logic&lt;/a&gt; paper has the following footnote by the editor of Theoretical Computer Science journal:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Because of its length and novelty this paper has not been subjected to the normal process of refereeing. The editor is prepared to share with the author any criticism that eventually will be expressed concerning this work.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Another one is &lt;a href=&quot;http://girard.perso.math.cnrs.fr/0.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Locus Solum, From the rules of logic to the logic of rules&lt;/a&gt;. The 192 page paper has an appendix which is almost 100 pages long named &quot;&lt;strong&gt;A pure waste of paper&lt;/strong&gt;&quot;, the funniest appendix I have ever seen.&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="3131" LastEditDate="2018-03-26T10:00:04.527" LastActivityDate="2018-03-26T10:00:04.527" CommentCount="5" CommunityOwnedDate="2010-11-18T06:16:42.003" ContentLicense="CC BY-SA 3.0" />
  <row Id="3124" PostTypeId="2" ParentId="3100" CreationDate="2010-11-18T06:40:10.153" Score="8" Body="&lt;p&gt;It is NP-hard to approximate the genus of a graph to within an additive error of $O(n^\epsilon)$.  There are polynomial-time algorithms that compute an embeddings of genus $O(g\sqrt{n})$ or  $\max\{4g, g+4n\}$, where $g$ is the true genus and $n$ is the number of vertices.  A significantly better approximation algorithm, spectral or otherwise, would be a significant breakthrough!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See: Jianer Chen, Saroja P. Kanchi, and Arkady Kanevsky. &lt;a href=&quot;http://dx.doi.org/10.1016/S0020-0190(97)00203-2&quot;&gt;A note on approximating graph genus&lt;/a&gt;.  &lt;em&gt;Information Processing Letters&lt;/em&gt; 61(6):317–322, 1997.&lt;/p&gt;&#xA;" OwnerUserId="111" LastActivityDate="2010-11-18T06:40:10.153" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="3125" PostTypeId="2" ParentId="2373" CreationDate="2010-11-18T06:41:43.777" Score="3" Body="&lt;p&gt;A good reference on why simplex is not running in polynomial time, rather than why it's exponential is Papadimitriou &amp;amp; Steiglitz Combinatorial Optimization, Section 8.6 in which they demonstrate that Simplex is not a polynomial-time algorithm.&lt;/p&gt;&#xA;" OwnerUserId="1545" LastActivityDate="2010-11-18T06:41:43.777" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3126" PostTypeId="2" ParentId="3111" CreationDate="2010-11-18T06:46:23.770" Score="32" Body="&lt;p&gt;Andrew W. Appel's &quot;&lt;a href=&quot;http://www.cs.princeton.edu/~appel/papers/science.pdf&quot;&gt;Is POPL Mathematics or Science?&lt;/a&gt;&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This paper studies varies CS conferences and tries to classify them as theoretical or applied based on whether authors order their names in alphabetical order (theoretical) or by  contribution (applied).&lt;/p&gt;&#xA;" OwnerUserId="206" LastActivityDate="2010-11-18T06:46:23.770" CommentCount="2" CommunityOwnedDate="2010-11-18T06:46:23.770" ContentLicense="CC BY-SA 2.5" />
  <row Id="3127" PostTypeId="2" ParentId="3104" CreationDate="2010-11-18T06:54:06.193" Score="1" Body="&lt;p&gt;Relational algebra symbology most accurately depicts what I am trying to communicate.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Relational_algebra&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/Relational_algebra&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="2290" LastActivityDate="2010-11-18T06:54:06.193" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3128" PostTypeId="1" CreationDate="2010-11-18T07:27:50.910" Score="10" ViewCount="761" Body="&lt;p&gt;We generally call an algorithm &quot;good algorithm&quot; if it's runnning time is polynomial in the worst-case.&#xA;But in some cases (for example Simplex algorithm), eventhough the worst-case of the algorithm is exponential, it could work very well in practice. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there any (deterministic) examples to this situatation other than Simplex algorithm? &lt;/p&gt;&#xA;" OwnerUserId="2296" LastActivityDate="2010-11-18T19:53:05.083" Title="Is there any other algorithm whose worst-case running time is exponential meanwhile it works very well in practice other than Simplex Algorithm?" Tags="&lt;ds.algorithms&gt;" AnswerCount="8" CommentCount="1" FavoriteCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="3129" PostTypeId="2" ParentId="3128" CreationDate="2010-11-18T07:45:53.650" Score="13" Body="&lt;p&gt;Modern &lt;a href=&quot;http://en.wikipedia.org/wiki/Boolean_satisfiability_problem#Algorithms_for_solving_SAT&quot;&gt;SAT solving algorithms&lt;/a&gt; are able to solve most instances quite fast, even though the worst case running time is, of course, exponential. In this case, however, the practical speed is more of a result of years of algorithm engineering, rather than that of a single elegant algorithm. While I've understood that conflict driven clause learning caused a major jump in the performance of SAT solvers, the later improvements are have often been achieved by a clever use of various heuristics in the algorithms.&lt;/p&gt;&#xA;" OwnerUserId="290" LastActivityDate="2010-11-18T07:45:53.650" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3130" PostTypeId="2" ParentId="3128" CreationDate="2010-11-18T07:47:09.917" Score="14" Body="&lt;p&gt;The $k$-means algorithm for clustering is provably exponential even in the plane, but it works very well in practice. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2010-11-18T07:47:09.917" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3131" PostTypeId="1" AcceptedAnswerId="3134" CreationDate="2010-11-18T08:34:30.817" Score="6" ViewCount="529" Body="&lt;p&gt;I need a book on &lt;a href=&quot;http://en.wikipedia.org/wiki/Mu_calculus&quot; rel=&quot;nofollow&quot;&gt;Mu-Calculus&lt;/a&gt; with lots of examples that can be used for self-study and preparation for exams.&lt;/p&gt;&#xA;" OwnerUserId="2298" LastEditorUserId="186" LastEditDate="2010-11-18T09:42:55.330" LastActivityDate="2010-11-18T09:42:55.330" Title="Books on Mu-Calculus" Tags="&lt;reference-request&gt;&lt;fl.formal-languages&gt;&lt;mu-calculus&gt;&lt;formal-systems&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3132" PostTypeId="2" ParentId="3128" CreationDate="2010-11-18T08:50:06.160" Score="13" Body="&lt;p&gt;Hindley-Milner type inference is EXPTIME-complete, but on the programs people typically write it is pretty close to linear. &lt;/p&gt;&#xA;" OwnerUserId="657" LastActivityDate="2010-11-18T08:50:06.160" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="3133" PostTypeId="2" ParentId="1955" CreationDate="2010-11-18T08:54:44.420" Score="5" Body="&lt;p&gt;&quot;Problem Solving in Automata, Languages, and Complexity&quot; by Du-Ko is one of my favorites after Sipser , HU and Kozen. It contains many solutions to the *rd problems of Kozen and sipser with numerous examples and related exercises. Specially useful for exam preparation.&lt;/p&gt;&#xA;" OwnerUserId="2298" LastActivityDate="2010-11-18T08:54:44.420" CommentCount="0" CommunityOwnedDate="2010-11-18T08:54:44.420" ContentLicense="CC BY-SA 2.5" />
  <row Id="3134" PostTypeId="2" ParentId="3131" CreationDate="2010-11-18T09:08:34.403" Score="9" Body="&lt;p&gt;An excellent book is &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0444506209&quot; rel=&quot;nofollow&quot;&gt;Rudiments of $\mu$-calculus&lt;/a&gt;. It's not cheap though. You'd be better of learning from survey articles such as &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://homepages.inf.ed.ac.uk/jcb/Research/MLH-bradstir.pdf&quot; rel=&quot;nofollow&quot;&gt;Bradfield, Julian and Stirling, Colin. Modal mu-calculi. In: P. Blackburn, J. van Benthem and F. Wolter (eds.), The Handbook of Modal Logic pp. 721-756. Elsevier (2006)&lt;/a&gt; or&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://homepages.inf.ed.ac.uk/jcb/Research/bradfield-stirling-HPA-mu-intro.ps.gz&quot; rel=&quot;nofollow&quot;&gt;Bradfield, J. C. and Stirling, C. P. Modal logics and mu-calculi: an introduction. In Handbook of Process Algebra (eds. J. Bergstra, A. Ponse and S. Smolka) 293--330. Elsevier (2001).&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="77" LastActivityDate="2010-11-18T09:08:34.403" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3135" PostTypeId="2" ParentId="3083" CreationDate="2010-11-18T09:54:06.227" Score="0" Body="&lt;p&gt;Thanks for the detailed and insightful answer, and sharpening the distinction between the area-law and polynomial bond-dimension.&lt;/p&gt;&#xA;" OwnerDisplayName="user2299" LastActivityDate="2010-11-18T09:54:06.227" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3136" PostTypeId="2" ParentId="3111" CreationDate="2010-11-18T10:15:23.197" Score="52" Body="&lt;p&gt;&lt;a href=&quot;http://web.archive.org/web/20120517205020/http://gi.cebitec.uni-bielefeld.de/teaching/2007summer/jclub/papers/toiletPaper.pdf&quot; rel=&quot;noreferrer&quot;&gt;The Toilet Paper Problem&lt;/a&gt; (Donald Knuth, American Mathematical Monthly, 1984). From the introduction:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;The toilet paper dispensers in a certain building are designed to hold two rolls&#xA;of tissues, and a person can use either roll. There are two kinds of people who use the rest rooms in the building: big-choosers and little-choosers. A big-chooser always takes a piece of toilet paper from the roll that is currently larger; a little-chooser always does the opposite. However, when the two rolls are the same size, or when only one roll is nonempty, everybody chooses the nearest nonempty roll. When both rolls are empty, everybody has a problem.&#xA;&lt;/blockquote&gt;&#xA;" OwnerDisplayName="Christian" LastEditorUserId="34442" LastEditDate="2017-05-21T19:39:55.607" LastActivityDate="2017-05-21T19:39:55.607" CommentCount="2" CommunityOwnedDate="2010-11-18T10:15:23.197" ContentLicense="CC BY-SA 3.0" />
  <row Id="3137" PostTypeId="2" ParentId="3111" CreationDate="2010-11-18T11:13:04.743" Score="22" Body="&lt;p&gt;The paper by Yonatan Bilu, Dana Porrat and Yoav Yaffe &quot;&lt;a href=&quot;http://barkai-serv.weizmann.ac.il/Yonatan/papers/orgy.ps&quot;&gt;On The Number of Condoms at a Cheap Safe-Sex Orgy&lt;/a&gt;&quot;. This paper was not published, so it doesn't correspond to one of the requirements (to be published work). But I think it can be included here as an exception.&lt;/p&gt;&#xA;" OwnerUserId="1060" LastActivityDate="2010-11-18T11:13:04.743" CommentCount="3" CommunityOwnedDate="2010-11-18T11:13:04.743" ContentLicense="CC BY-SA 2.5" />
  <row Id="3138" PostTypeId="2" ParentId="3111" CreationDate="2010-11-18T11:50:09.987" Score="6" Body="&lt;p&gt;&lt;a href=&quot;http://doi.ieeecomputersociety.org/10.1109/SFCS.1992.267789&quot; rel=&quot;nofollow&quot;&gt;Mick gets some (the odds are on his side)&lt;/a&gt; by &lt;strike&gt;Reed&lt;/strike&gt; Chvatal and &lt;strike&gt;Chvatal&lt;/strike&gt; Reed (FOCS 1992), on satisfaction (aka satisfiability).&lt;/p&gt;&#xA;" OwnerUserId="233" LastEditorUserId="13667" LastEditDate="2013-09-08T22:34:15.290" LastActivityDate="2013-09-08T22:34:15.290" CommentCount="1" CommunityOwnedDate="2010-11-18T11:50:09.987" ContentLicense="CC BY-SA 3.0" />
  <row Id="3139" PostTypeId="2" ParentId="3111" CreationDate="2010-11-18T11:55:33.023" Score="20" Body="&lt;p&gt;In fact there is a whole journal that is intended to be funny. The &lt;a href=&quot;http://www.anagram.com/jcrap/&quot;&gt;journal of craptology&lt;/a&gt;. The topics are usually related to cryptography. There are also some sessions videos (!)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One example is the Volume 4 paper of &lt;a href=&quot;http://www.anagram.com/jcrap/Volume_4/Woofbark.pdf&quot;&gt;Cryptography in a Hitchhiker's Universe&lt;/a&gt; (section 5) is :&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Coming Attractions &lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;If you have enjoyed&#xA;  our feature presentation, you’ll be&#xA;  pleased to hear about upcoming&#xA;  attractions by the same author: &lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;– The&#xA;  cryptanalysis of Human Interactive&#xA;  Protocol Systems. A controversial&#xA;  cryptanalysis of the paper of Shakira&#xA;  [4] which proves that HIPS do, in&#xA;  fact, lie. &lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;– Anti-zero-knowledge. A&#xA;  protocol system which reveals&#xA;  everything that a prover knows except that which the verifier wants to&#xA;  hear. Ad-hoc anti-zero-knowledge&#xA;  protocols have been developed by most&#xA;  customer helpline services. &lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;– Quantum&#xA;  key distribution based on social&#xA;  phenomena. This paper demonstrates how&#xA;  to distribute keys using quantum&#xA;  techniques but without using quantum&#xA;  objects. Instead of using quantum&#xA;  objects, the protocol instead uses the&#xA;  uncertainty that any man has about whether&#xA;  his first evening out with a woman counts as a date or not to transmit the keys.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="201" LastEditorUserId="201" LastEditDate="2010-11-18T12:14:13.467" LastActivityDate="2010-11-18T12:14:13.467" CommentCount="0" CommunityOwnedDate="2010-11-18T11:55:33.023" ContentLicense="CC BY-SA 2.5" />
  <row Id="3140" PostTypeId="2" ParentId="3111" CreationDate="2010-11-18T13:03:06.623" Score="5" Body="&lt;p&gt;On another topic (&lt;a href=&quot;https://cstheory.stackexchange.com/q/1893/873&quot;&gt;How do I referee a paper?&lt;/a&gt;), I found the following paper:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Graham Cormode. 2009. How NOT to review a paper: the tools and techniques of the adversarial reviewer. &lt;em&gt;SIGMOD Rec&lt;/em&gt;. 37, 4 (March 2009), 100-104. DOI=10.1145/1519103.1519122 &lt;a href=&quot;http://doi.acm.org/10.1145/1519103.1519122&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://doi.acm.org/10.1145/1519103.1519122&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I had a lot of fun reading this paper ;)&lt;/p&gt;&#xA;" OwnerUserId="873" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2010-11-18T13:03:06.623" CommentCount="0" CommunityOwnedDate="2010-11-18T13:03:06.623" ContentLicense="CC BY-SA 2.5" />
  <row Id="3141" PostTypeId="2" ParentId="3111" CreationDate="2010-11-18T14:19:00.677" Score="9" Body="&lt;p&gt;Lamport's &lt;a href=&quot;http://research.microsoft.com/en-us/um/people/lamport/pubs/lamport-paxos.pdf&quot;&gt;&lt;strong&gt;Part Time Parliament&lt;/strong&gt;&lt;/a&gt; made a breakthrough in distributed computing, but the paper was so (purposely!) obfuscated that people couldn't understand it -- as far as I know, it took him around 10 years to get it published (past editors) in its obfuscated form.  Eventually Lamport followed up with &lt;a href=&quot;http://research.microsoft.com/en-us/um/people/lamport/pubs/paxos-simple.pdf&quot;&gt;Paxos Made Simple&lt;/a&gt;, which had the following abstract: &quot;&lt;em&gt;The Paxos algorithm, when presented in plain English, is very simple&lt;/em&gt;.&quot;&lt;/p&gt;&#xA;" OwnerUserId="123" LastEditorUserId="123" LastEditDate="2010-11-18T14:57:11.093" LastActivityDate="2010-11-18T14:57:11.093" CommentCount="0" CommunityOwnedDate="2010-11-18T14:19:00.677" ContentLicense="CC BY-SA 2.5" />
  <row Id="3142" PostTypeId="1" AcceptedAnswerId="3159" CreationDate="2010-11-18T14:59:31.903" Score="7" ViewCount="285" Body="&lt;p&gt;In the Haussdorf approximation of a convex object $C$ (and in much core-set work), the standard approach is to take an $\epsilon$-net on the enclosing hyper-sphere, then project it down to $C*(1 + \epsilon)$, where $C*(1+ \epsilon)$ is defined as $C$ projected outwards normally by an $\epsilon$ factor. I have a basic understanding of the proofs, but I'm trying to visualize why the hypersphere is really necessary. If you take an $\epsilon$-net on the surface of $C*(1+\epsilon)$ itself, would that not suffice? If there is an immediately obvious reason it would not work, I'd appreciate the clarification :).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note: The $\epsilon$-net here is defined as a collection of equally spaced points on given surface. &lt;/p&gt;&#xA;" OwnerUserId="2302" LastEditorUserId="80" LastEditDate="2010-11-18T16:11:06.410" LastActivityDate="2010-11-18T20:31:49.587" Title="Approximating convex sets" Tags="&lt;cg.comp-geom&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="3143" PostTypeId="2" ParentId="3128" CreationDate="2010-11-18T15:22:12.500" Score="10" Body="&lt;p&gt;Brendan McKay's &lt;a href=&quot;http://cs.anu.edu.au/~bdm/nauty/&quot; rel=&quot;noreferrer&quot;&gt;nauty&lt;/a&gt; (No AUTomorphisms, Yes?) program solves the canonical labeling problem of graphs (simultaneously solving the Graph Isomorphism and Graph Automorphism problems) and has &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.17.3532&quot; rel=&quot;noreferrer&quot;&gt;exponential worst-case performance&lt;/a&gt; (Miyazaki, 1996).  However, it works very quickly for most graphs, especially those with a few automorphisms.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Specifically, the algorithm begins by partitioning the vertices by degree, then by the degree between each part.  When this process stabilizes, a choice must be made to distinguish a vertex in a non-trivial part, and this leads to the exponential behavior.  In most graphs, the depth of this branching procedure is small.&lt;/p&gt;&#xA;" OwnerUserId="59" LastEditorUserId="59" LastEditDate="2010-11-18T15:30:32.443" LastActivityDate="2010-11-18T15:30:32.443" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="3144" PostTypeId="1" CreationDate="2010-11-18T15:38:42.400" Score="4" ViewCount="337" Body="&lt;p&gt;I am looking for nontrivial examples of complexity class separations that are known to follow from the P!=NP hypothesis. By a &quot;nontrivial example&quot; I mean that it is not just an automatic consequence of an easy containment relationship, such as P!=PSPACE, P!=PH etc. would be.&lt;/p&gt;&#xA;" OwnerDisplayName="Andras Farago" LastActivityDate="2010-11-18T16:42:05.390" Title="Nontrivial separation consequences of P!=NP" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;" AnswerCount="2" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3145" PostTypeId="2" ParentId="3144" CreationDate="2010-11-18T15:59:14.717" Score="5" Body="&lt;p&gt;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.156.317&quot;&gt;De Loera, Lee,  Malkin, and Margulies&lt;/a&gt; developed an algorithm for determining infeasibility of certain combinatorial problems using Hilbert's Nullstellensatz.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, they take the constraints of 3-coloring a graph and describe that problem as a system of polynomial equations.  They compute a set of certificate polynomials which verify that these polynomials have no solutions (using the Nullstellensatz).  To make this computation finite, they bound the degree of the certificates.  For the 3-coloring case, they were unable to find a non-3-colorable graph which required degree higher than four for the certificate.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If P $\neq$ NP, then P $\neq$ coNP and the degree of a Nullstellensatz Certificate for this problem is unbounded, as a finite bound would yield a polynomial-time algorithm. &lt;/p&gt;&#xA;" OwnerUserId="59" LastActivityDate="2010-11-18T15:59:14.717" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="3146" PostTypeId="2" ParentId="2761" CreationDate="2010-11-18T16:15:46.753" Score="8" Body="&lt;p&gt;As Shor said, there is no QPCP theorem (yet!).  One conjecture (let us call it the QPCP conjecture) is this: consider a graph of N vertices, of degree O(1).  Associate a qudit with each vertex, with Hilbert space dimension O(1).  Let the Hamiltonian be a sum of terms for each edge, each such term acting just on the qudits on the vertices, with operator norm of each such term bounded by O(1), so that the operator norm of the Hamiltonian is O(N).  Then, the conjecture is that there is some epsilon&gt;0 such that it is QMA-hard to approximate the ground state energy of the problem to an accuracy epsilon N.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A slightly stronger conjecture is to consider the case in which each such term acting on an edge is a projector so that the ground state energy is non-negative, and the conjecture is that it is QMA-hard to determine whether the ground state energy is 0 given a promise that if it is not zero then it is at least epsilon N.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are other versions of the conjecture too, but those are two interesting ones with the most natural relation to physics.  An even stronger conjecture (hence probably an easier one to disprove if you believe that these conjectures are false) is to consider the case in which the Hamiltonian is a sum of commuting projectors.&lt;/p&gt;&#xA;" OwnerUserId="2279" LastActivityDate="2010-11-18T16:15:46.753" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3147" PostTypeId="1" CreationDate="2010-11-18T16:19:52.053" Score="10" ViewCount="243" Body="&lt;p&gt;Resolution is a scheme to prove unsatisfiability of CNFs.  A proof in resolution is a logical deduction of the empty clause for the initial clauses in of the CNF.  In particular any initial clause can be inferred, and from two clauses $A \lor x$ and $B \lor \neg{x}$ the clause $A \lor B$ can be deduced as well.  A refutation is a sequence of deductions which ends with an empty clause.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If such refutation is implemented, we can consider a procedure that keeps some clauses in memory.  In case a non-initial clause must be used again and it is not in memory anymore, the algorithm should must it again from scratch or from the ones in memory.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $Sp(F)$ the smallest number of clauses to be kept in memory to reach the empty clauses. This is called the &lt;em&gt;clause space&lt;/em&gt; complexity of $F$. We say say that $Sp(F)=\infty$ is $F$ is satisfiable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem I'm suggesting is this: consider two CNFs $A=\bigwedge_{i=1}^m A_i$ and $B=\bigwedge_{j=1}^n B_j$, and let the CNF&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$A \lor B = \bigwedge_{i=1}^m \bigwedge_{j=1}^n A_i \lor B_j$$&#xD;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is the relation of $Sp(A \lor B)$ with $Sp(A)$ and $Sp(B)$? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The obvious upper bound is $Sp(A \lor B) \leq Sp(A) + Sp(B) -1$. Is this tight?&lt;/p&gt;&#xA;" OwnerUserId="267" LastEditorUserId="267" LastEditDate="2010-11-19T13:20:06.577" LastActivityDate="2011-01-17T07:47:30.483" Title="A direct sum theorem for Resolution clause space complexity?" Tags="&lt;cc.complexity-theory&gt;&lt;lo.logic&gt;&lt;proof-complexity&gt;&lt;proof-search&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3148" PostTypeId="2" ParentId="3144" CreationDate="2010-11-18T16:35:25.350" Score="5" Body="&lt;p&gt;Two major nontrivial consequences of $P\ne NP$:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Ladner Theorem: There is infinite number of sets in $NP$ that are neither in $P$ nor $NP$-complete under Karp reductions.&lt;/li&gt;&#xA;&lt;li&gt;Shaffer Dichotomy Theorem: All Boolean Constraint satisfaction problems (over $\{0,1\}^*$) are either in $P$ or $NP$-complete. &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2010-11-18T16:42:05.390" LastActivityDate="2010-11-18T16:42:05.390" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3149" PostTypeId="2" ParentId="3111" CreationDate="2010-11-18T16:43:29.950" Score="14" Body="&lt;p&gt;Check out the figure that accompanies Adam Kalai's 1 page SODA paper, &quot;Generating Random Factored Numbers, Easily&quot;: &lt;a href=&quot;http://people.cs.uchicago.edu/~kalai/papers/old_papers/factorsoda.pdf&quot;&gt;link&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="25" LastActivityDate="2010-11-18T16:43:29.950" CommentCount="0" CommunityOwnedDate="2010-11-18T16:43:29.950" ContentLicense="CC BY-SA 2.5" />
  <row Id="3150" PostTypeId="2" ParentId="3128" CreationDate="2010-11-18T17:15:04.383" Score="2" Body="&lt;p&gt;There's an algorithm for finding mixed Nash equilibria that's similar to the simplex algorithm for LPs. (I forget the name.) It has exponential worst-case complexity, but I have a vague memory that it often behaves well in practice.&lt;/p&gt;&#xA;" OwnerUserId="1522" LastActivityDate="2010-11-18T17:15:04.383" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3151" PostTypeId="2" ParentId="3111" CreationDate="2010-11-18T17:31:50.873" Score="16" Body="&lt;p&gt;Don Knuth's &lt;a href=&quot;http://doi.acm.org/10.1145/1811129.1811130&quot;&gt;A&#xA;terminological proposal&lt;/a&gt;. SIGACT News, 6(1), 1974.  &lt;a&#xA;href=&quot;http://blog.computationalcomplexity.org/2010/11/by-any-other-name-would-be-just-as-hard.html&quot;&gt;Mentioned&lt;/a&gt; on The Complexity Blog. This is apparently where we got the terms &quot;NP-complete&quot; and &quot;NP-hard.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One of my favorite's from this piece is Albert Meyer's suggestion that what we now call NP-hard problems be called Hard-as-Satisfiability, or hard-as-S for short.&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2010-11-18T17:31:50.873" CommentCount="0" CommunityOwnedDate="2010-11-18T17:31:50.873" ContentLicense="CC BY-SA 2.5" />
  <row Id="3152" PostTypeId="2" ParentId="3128" CreationDate="2010-11-18T17:36:00.553" Score="0" Body="&lt;p&gt;The persistence algorithm (orig. from Edelsbrunner-Letscher-Zomorodian, with plenty of variations since) is worst case cubic, but seems from experimentation to usually run in linear time.&lt;/p&gt;&#xA;" OwnerDisplayName="user980" LastActivityDate="2010-11-18T17:36:00.553" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3153" PostTypeId="2" ParentId="3128" CreationDate="2010-11-18T18:58:42.443" Score="1" Body="&lt;p&gt;Bin packing (many variants) is a problem whose complexity is known to be NP-hard:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Bin_packing_problem&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/Bin_packing_problem&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, many heuristics when applied to &quot;practical&quot; versions do very well. For 1-dimensional bin packing some of these heuristics, like first-fit; first-fit decreasing; best-fit; best-fit decreasing are very appealing as topics to show students. Students often can discover some of the basic heuristics for themselves.&lt;/p&gt;&#xA;" OwnerUserId="987" LastActivityDate="2010-11-18T18:58:42.443" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3154" PostTypeId="1" CreationDate="2010-11-18T19:03:41.317" Score="20" ViewCount="1008" Body="&lt;p&gt;Parity and $AC^0$ are like inseparable twins. Or so it has seemed for the last 30 years. In the light of Ryan's result, there will be renewed interest in the small classes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Furst Saxe Sipser to Yao to Hastad are all parity and random restrictions. Razborov/Smolensky is approximate polynomial with parity (ok, mod gates). Aspnes et al use weak degree on parity. Further, Allender Hertrampf and Beigel Tarui are about using Toda for small classes. And Razborov/Beame with decision trees.  All of these fall into the parity basket. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) What are other natural problems (apart from parity) that can be shown directly not to be in $AC^0$? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) Anyone know of a drastically different approach to lower bound on AC^0 that has been tried?&lt;/p&gt;&#xA;" OwnerUserId="1449" LastEditorUserId="186" LastEditDate="2010-11-20T10:37:49.960" LastActivityDate="2010-11-20T23:20:09.237" Title="Parity and $AC^0$" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;lower-bounds&gt;&lt;circuit-complexity&gt;" AnswerCount="4" CommentCount="0" FavoriteCount="8" ContentLicense="CC BY-SA 2.5" />
  <row Id="3155" PostTypeId="2" ParentId="3154" CreationDate="2010-11-18T19:30:46.173" Score="10" Body="&lt;p&gt;1) The first that comes to my mind is MAJORITY. You can prove that it is not in $AC^{0}$ with the same techniques. See &lt;a href=&quot;http://www.nada.kth.se/~johanh/thesis.ps&quot; rel=&quot;noreferrer&quot;&gt;Håstad's thesis&lt;/a&gt; for details.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) A topological approach, again working only for depth-three circuits, was proposed by &lt;a href=&quot;http://www.springerlink.com/content/w7754r361004520l/&quot; rel=&quot;noreferrer&quot;&gt;Kriegel and Waack&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="1542" LastEditorUserId="1542" LastEditDate="2010-11-18T20:04:13.380" LastActivityDate="2010-11-18T20:04:13.380" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3156" PostTypeId="2" ParentId="3128" CreationDate="2010-11-18T19:33:18.510" Score="5" Body="&lt;p&gt;Several &lt;a href=&quot;http://scholar.google.com/scholar?cluster=11993743079293931240&amp;amp;hl=en&amp;amp;as_sdt=40000000&quot; rel=&quot;nofollow&quot;&gt;algorithms for simple stochastic games&lt;/a&gt; work well in practice, even though they have exponential worst-case running times. Of course, this problem is in some sense related to linear programming, although it is not known to be in polynomial time.&lt;/p&gt;&#xA;" OwnerUserId="1677" LastEditorUserId="1677" LastEditDate="2010-11-18T19:53:05.083" LastActivityDate="2010-11-18T19:53:05.083" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3157" PostTypeId="2" ParentId="3154" CreationDate="2010-11-18T19:36:09.507" Score="13" Body="&lt;p&gt;&lt;a href=&quot;http://www.mit.edu/~brossman/&quot;&gt;Benjamin Rossman&lt;/a&gt;'s result on $AC^0$ lowerbound for k-clique from STOC 2008.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;References:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Paul Beame, &quot;&lt;a href=&quot;http://www.cs.washington.edu/homes/beame/papers/primer.ps&quot;&gt;A Switching Lemma Primer&lt;/a&gt;&quot;, Technical Report 1994.&lt;/li&gt;&#xA;&lt;li&gt;Benjamin Rossman, &quot;&lt;a href=&quot;http://www.mit.edu/~brossman/k-clique-stoc.pdf&quot;&gt;On the Constant-Depth Complexity of k-Clique&lt;/a&gt;&quot;, STOC 2008.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2010-11-20T10:50:04.913" LastActivityDate="2010-11-20T10:50:04.913" CommentCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="3158" PostTypeId="2" ParentId="3154" CreationDate="2010-11-18T19:49:17.927" Score="12" Body="&lt;p&gt;There is the &quot;top-down&quot; approach by Håstad, Jukna and Pudlák, as done in their paper &lt;a href=&quot;http://dx.doi.org/10.1007/BF01268140&quot; rel=&quot;noreferrer&quot;&gt;Top-down lower bounds for depth-three circuits&lt;/a&gt;. Unfortunately we have so far not been able to extend the approach to higher depths.&lt;/p&gt;&#xA;" OwnerUserId="313" LastActivityDate="2010-11-18T19:49:17.927" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3159" PostTypeId="2" ParentId="3142" CreationDate="2010-11-18T20:31:49.587" Score="6" Body="&lt;p&gt;The construction you suggest does work, but it is not optimal. The reason why people use the sphere with a constant expansion is that then a $\sqrt{\epsilon}$-net is enough. That reduces the size of the coreset from $O(1/\epsilon^{d-1})$ to $O(1/\epsilon^{(d-1)/2})$. To see that replacing $\epsilon$ by $\sqrt{\epsilon}$ in your construction does not work, consider the case of a regular triangle (or simplex) where only points within distance roughly $\sqrt{\epsilon}$ of the vertices are sampled.&lt;/p&gt;&#xA;" OwnerUserId="169" LastActivityDate="2010-11-18T20:31:49.587" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3160" PostTypeId="1" AcceptedAnswerId="3207" CreationDate="2010-11-18T20:33:27.950" Score="12" ViewCount="404" Body="&lt;p&gt;Is it possible to demonstrate that a sentence must be formally independent based on the fact that it is non-relativizing?  In other words, are there examples of sentences in computability/complexity theory where it can be demonstrated both a)  that all proofs that resolve the question of whether or not two classes are equal must relativize, and b)  that there are no relativizing proofs that can be used in such a resolution?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think that results satisfying part b would be easier to come by.  Another way to ask this question is:  Has there ever been a sentence in computability or complexity theory where it can be demonstrated that the equality or inequality must be established through the use of (and only through the use of) relativizing techniques?  An example of this would be interesting to me.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks; an answer to either version of this question would be very interesting to me.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;-Philip&lt;/p&gt;&#xA;" OwnerUserId="1338" LastActivityDate="2010-11-20T01:04:59.953" Title="Can relativization results be used to prove sentences formally independent?" Tags="&lt;lo.logic&gt;&lt;relativization&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="3161" PostTypeId="1" CreationDate="2010-11-18T20:33:28.383" Score="13" ViewCount="361" Body="&lt;p&gt;Babai introduced a hierarchy of complexity classes based on public-coin randomized interactive proof systems, so called &lt;em&gt;Arthur-Merlin games&lt;/em&gt;. The game is played by powerful but untrustworthy wizard Merlin (the prover), and the king Arthur (the verifier), who might flip coins but otherwise his power is polynomially limited. The players exchange messages in turn, and the goal for Merlin is to convince mistrustful Arthur to accept the input string. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\mathsf{MA}$ is the set of problems that can be decided by one round Arthur-Merlin games with Merlin plays first. First Merlin sends Arthur the &quot;proof&quot;, and then Arthur chooses random coins and  tries to verify the &quot;proof&quot; sent by Merlin.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there an oracle relative to which $\mathsf{MA}$ does not have a complete problem?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;It is very likely this problem has been solved already since analogous results exist for $\mathsf{BPP}$ and $\mathsf{ZPP}$. But I couldn't find any reference for it. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that an oracle relative to which $\mathsf{BPP}$ does not have a complete problem can be found in &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Juris Hartmanis and  Lane Hemachandra, &lt;em&gt;Complexity Classes without Machines: On Complete Languages for UP&lt;/em&gt;, Theor. Comput. Sci. 58: 129-142 (1988).&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Analogous result for $\mathsf{ZPP}$ can be found in &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Daniel P. Bovet, Pierluigi Crescenzi and Riccardo Silvestri, &lt;em&gt;A Uniform Approach to Define Complexity Classes&lt;/em&gt;, Theoretical Computer Science 104(2): 263-283 (1992).&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;But I couldn't find a reference for $\mathsf{RP}$ either. This leads to my &quot;side&quot; question:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there an oracle relative to which $\mathsf{RP}$ does not have a complete problem?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I would really appreciate if you can point me to the right papers. &lt;/p&gt;&#xA;" OwnerUserId="1080" LastEditorUserId="1080" LastEditDate="2010-11-23T21:44:38.620" LastActivityDate="2010-11-23T21:44:38.620" Title="Oracle relative to which MA does not have a complete problem?" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;complexity-classes&gt;&lt;randomness&gt;&lt;relativization&gt;" AnswerCount="0" CommentCount="11" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="3162" PostTypeId="2" ParentId="3066" CreationDate="2010-11-18T20:46:47.937" Score="2" Body="&lt;p&gt;This example, while not meeting the letter of your request may be of interest because it bears some spiritual affinity. Specifically, the question of sorting stacks of pancakes and burnt pancakes by reversals. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Pancake_sorting&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/Pancake_sorting&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One area of application is to computational biology (genetics) where questions about genome rearrangements can be couched in terms of the distance between permutations using reversals of pieces of the permutations subject to various rules.&lt;/p&gt;&#xA;" OwnerUserId="987" LastActivityDate="2010-11-18T20:46:47.937" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3163" PostTypeId="2" ParentId="3111" CreationDate="2010-11-18T21:06:15.063" Score="4" Body="&lt;p&gt;As far as a funny title: &quot;How to play a coloring game against a color-blind adversary&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://portal.acm.org/citation.cfm?id=1137865&quot; rel=&quot;nofollow&quot;&gt;http://portal.acm.org/citation.cfm?id=1137865&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="9594" LastActivityDate="2010-11-18T21:06:15.063" CommentCount="0" CommunityOwnedDate="2010-11-18T21:06:15.063" ContentLicense="CC BY-SA 2.5" />
  <row Id="3164" PostTypeId="1" AcceptedAnswerId="3165" CreationDate="2010-11-18T21:33:59.283" Score="1" ViewCount="115" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Question&lt;/strong&gt;: If I prove a protocol secure in the plain model (i.e., without any prerequisites or setup before running the protocol, setups like a common reference string distributed among all parties) using nonstandard hardness assumptions (like bilinear oracle Diffie-Hellman) has any advantage over a protocol which uses a setup before running but its hardness relies on a standard hardness assumption (like discrete logarithm)?&lt;br&gt;&#xA;  If there is a tradeoff, can you point me how to maintain this tradeoff?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I must note that the nonstandard hardness does not give you enough measure to compare the complexity of the protocol using it with other protocols.&lt;/p&gt;&#xA;" OwnerUserId="943" LastEditorUserId="186" LastEditDate="2010-11-19T00:35:54.420" LastActivityDate="2010-11-19T00:35:54.420" Title="Is the model in which a protocol is proven secure more important than type of hardness from which the algorithm gains its strength" Tags="&lt;cc.complexity-theory&gt;&lt;cr.crypto-security&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3165" PostTypeId="2" ParentId="3164" CreationDate="2010-11-18T22:00:24.050" Score="2" Body="&lt;p&gt;Let me rephrase the question: &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Which one is preferred?&lt;/p&gt;&#xA;  &#xA;  &lt;ol&gt;&#xA;  &lt;li&gt;Proving a protocol secure in the &lt;strong&gt;standard&lt;/strong&gt; model, based on &lt;strong&gt;non-standard&lt;/strong&gt; assumptions&lt;/li&gt;&#xA;  &lt;li&gt;Proving a protocol secure in &lt;strong&gt;non-standard&lt;/strong&gt; models (like &lt;a href=&quot;http://en.wikipedia.org/wiki/Common_reference_string_model&quot; rel=&quot;nofollow&quot;&gt;CRS&lt;/a&gt;), based on &lt;strong&gt;standard&lt;/strong&gt; assumptions.&lt;/li&gt;&#xA;  &lt;/ol&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The short answer is: It depends!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Details follow. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assume that you can prove a protocol secure in the CRS model using standard assumptions. In addition, assume that you can implement the CRS model in the standard model without &lt;em&gt;significant&lt;/em&gt; overhead, and using only standard assumptions. Then, the second approach is preferable. (Here, &quot;significant&quot; depends on the application.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, assume that you cannot implement the CRS model in the standard model easily ,i.e. either the overhead is too high, or the protocol setting is that you cannot implement the CRS without resorting to non-standard assumptions (For instance: You don't have access to some trusted 3rd party, etc.) In such cases, it seems that the first approach is preferable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Side note: I must add that both approaches are highly valuable in &lt;strong&gt;theory&lt;/strong&gt;, regardless of the real-world application.&lt;/p&gt;&#xA;" OwnerUserId="873" LastActivityDate="2010-11-18T22:00:24.050" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="3167" PostTypeId="1" CreationDate="2010-11-18T22:47:01.560" Score="1" ViewCount="379" Body="&lt;p&gt;I'm reading this paper, &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=1556167&quot; rel=&quot;nofollow&quot;&gt;A simple NP-hard problem by Demontis&lt;/a&gt;, where he defines an interesting $NP$-hard set and finally he conclude with this theorem:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Theorem: $P=NP$  if and only if it is possible to calculate in polynomial time all the&#xA;  fundamental elements of any formula.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The paper does not have an abstract and I'm kind of lost because of the new terminology used in the paper.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Could you explain the significance of this paper? Do the fundamental elements of a formula represent the variables that have true value in every satisfying assignment? Does this theorem represent a new result? What are the insights into the $P$ vs $NP$ problem presented in the paper? &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;ACM SIGACT News, Volume 40 Issue 2, June 2009&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2010-11-18T22:53:21.803" LastActivityDate="2010-11-18T22:53:21.803" Title="A simple NP-hard problem" Tags="&lt;cc.complexity-theory&gt;" AnswerCount="0" CommentCount="6" ContentLicense="CC BY-SA 2.5" />
  <row Id="3168" PostTypeId="1" AcceptedAnswerId="6847" CreationDate="2010-11-19T00:59:31.120" Score="22" ViewCount="523" Body="&lt;p&gt;In order to check my understanding, I would like to share some thoughts about energy requirements of computation. This is a follow up to my previous &lt;a href=&quot;https://cstheory.stackexchange.com/questions/2464/energy-cost-of-adiabatic-quantum-computation&quot;&gt;question&lt;/a&gt; and might be related to Vinay's &lt;a href=&quot;https://cstheory.stackexchange.com/questions/3062/are-there-conservation-laws-in-complexity-theory&quot;&gt;question about conservation laws&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It occourred to me that, from a thermodynamical point of view, running a computation can be considered, to some extent, analogue to moving a weight along an horizontal line: The only energy loss is due to frictional forces, which can be, in principle, made arbitrarly small. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In an ideal setting without dissipative forces (the mechanical analogue of a reversible &#xA;computer), no energy expenditure is required at all. You still have to supply energy in order to accelerate the weight, but you can recover it all when decelerating it. The running time can be made arbitrarly small by investing enough energy (more precisely, if relativity is taken into account, running time is bounded from below by $d/c$, where $d$ is the distance).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Similarly, a reversible computer requires no energy expenditure but an energy investment that is recovered at the end of the computation, and running time can be made arbitrarly small by investing enough energy, up to relatvistic limits (as described in &lt;a href=&quot;http://arxiv.org/abs/quant-ph/9908043&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://arxiv.org/abs/quant-ph/9908043&lt;/a&gt; by Seth Lloyd).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is, however, and energy cost associated with the construction of the computer. In general, this will depend on the implementation details, but I conjecture that we can state a lower bound for it:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assume that our computer has three (classical or quantum) registers: &lt;strong&gt;Input&lt;/strong&gt;, &lt;strong&gt;Output&lt;/strong&gt; and &lt;strong&gt;Ancilla&lt;/strong&gt;.&lt;br&gt;&#xA;The &lt;strong&gt;Input&lt;/strong&gt; and &lt;strong&gt;Output&lt;/strong&gt; registers can be read and written to by the user, while the &lt;strong&gt;Ancilla&lt;/strong&gt; register is inaccessible.&lt;br&gt;&#xA;At the begining of each computation, the &lt;strong&gt;Ancilla&lt;/strong&gt; register starts in a fixed (e.g. all zeros) state, and by the end of the computation it will have returned to the same fixed state. Thus, barring external noise, the &lt;strong&gt;Ancilla&lt;/strong&gt; state needs to be initialized only once, when the computer is built.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Therefore, applying &lt;em&gt;Landauer's principle&lt;/em&gt;, I conjecture that building a reversible computer with $n$ bits (or qubits) of &lt;strong&gt;Ancilla&lt;/strong&gt; requires at least $n k_B T \ln2$ Joules of energy, where $k_B$ is the Boltzmann's constant and $T$ is the temperature of the environment where the system is being built.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Questions:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Are the above considerations correct?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;What happens if a reversible computer is built in an evironment at temperature $T$ and then it is moved in an environment at temperature $T' &amp;lt; T$ ? I suppose that a truly reversible computer can't really be cooled. In principle, it should not even have a properly defined temperature, if I understand correctly.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;What happens if we consider an irreversible computer? An irreversible computer can perform the same computations using in general less ancilla bits, moreover, since it thermally interacts with its environment, we could arrange so that the initial &lt;strong&gt;Ancilla&lt;/strong&gt; state is part of the ground state, hence we can initialize it by simply allowing it to cool, without supplying any energy. Of course, being irreversible, we have to pay an energy cost for each computation.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;(related to Kurt's answer to Vinay's question)&lt;br&gt;&#xA;In the mechanical analogy, I considered only movement along an horizontal line. If the weight was also lifted in the vertical direction, an additional energy expenditure would have been required (or energy would have been recovered if the weight was lowered). Is there a computational analogue of this vertical movement, and is there a quantity that gets consumed or produced by this process?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;UPDATE:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It occurred to me that the energy cost required to build the computer, can be recovered, in principle completely (I think), when you dismantle the computer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, for each computation, you could build a special-purpose reversible computer that has just as many ancilla bit as required, add additional energy to set it in motion, wait for the computation to complete, and then dismantle the computer recovering all the invested energy.&#xA;Thus you could define the &lt;em&gt;energy investment&lt;/em&gt; of the computation as:&#xA;$n_s k_B T \ln2 + n_t s$&#xA;where $n_s$ is the actual space complexity (number of ancilla bits), $n_t$ is the actual time complexity (number of time steps) and $s$ is the energy vs speed tradeoff term per time step, assuming a constant total runtime.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any thoughts?&lt;/p&gt;&#xA;" OwnerUserId="1749" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.743" LastActivityDate="2011-06-03T17:55:06.003" Title="Energy considerations on computation" Tags="&lt;cc.complexity-theory&gt;&lt;big-picture&gt;&lt;physics&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="7" ContentLicense="CC BY-SA 2.5" />
  <row Id="3169" PostTypeId="1" AcceptedAnswerId="3186" CreationDate="2010-11-19T01:33:16.953" Score="11" ViewCount="1052" Body="&lt;p&gt;When dealing with the domain theoretic categories (say CPO and $\omega$CPO), I frequently wish for a dictionary for the language of category theory in domain theory. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;That is, given a concept, say monic arrow, I could look it up in the dictionary and see what are the known characterisations of it in the different domain categories.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I realise this wish is too much to hope for, but is there any text or resource approximating it?&lt;/p&gt;&#xA;" OwnerUserId="142" LastEditorUserId="142" LastEditDate="2010-11-19T01:54:19.377" LastActivityDate="2010-11-19T21:33:54.247" Title="What is a good Category Theory-Domain Theory dictionary?" Tags="&lt;ct.category-theory&gt;&lt;semantics&gt;&lt;denotational-semantics&gt;&lt;domain-theory&gt;" AnswerCount="3" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="3170" PostTypeId="1" AcceptedAnswerId="3174" CreationDate="2010-11-19T04:52:13.980" Score="12" ViewCount="701" Body="&lt;p&gt;Have there been any studies to determine whether human intelligence can outperform algorithms (i.e. test whether the No Free Lunch Theorem applies to human intelligence)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Along the same lines, has anyone developed a technical method to take advantage of any unique, supra-computational properties of human intelligence?&lt;/p&gt;&#xA;" OwnerUserId="2311" LastEditorUserId="2311" LastEditDate="2010-11-19T22:57:35.103" LastActivityDate="2010-11-20T06:08:41.453" Title="Human intelligence and algorithms" Tags="&lt;ds.algorithms&gt;&lt;big-picture&gt;&lt;ai.artificial-intel&gt;" AnswerCount="4" CommentCount="1" FavoriteCount="7" ContentLicense="CC BY-SA 2.5" />
  <row Id="3171" PostTypeId="1" CreationDate="2010-11-19T05:04:08.693" Score="12" ViewCount="674" Body="&lt;p&gt;What I'm wondering specifically is if there is an interesting condition on the percentage of assignments that satisfy a 3SAT formula to guarantee that such problems are tractable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose for example the class of 3SAT problems that $\epsilon(n) 2^n$ of the $2^n$ possible assignments satisfy the boolean formula; can we efficiently find a satisfying assignment?  For what $\epsilon$ is the resulting problem in P?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit note:  Replaced $\epsilon$ with $\epsilon(n)$ to clear up confusion.&lt;/p&gt;&#xA;" OwnerUserId="2310" LastEditorUserId="2310" LastEditDate="2010-11-19T08:17:45.710" LastActivityDate="2010-11-19T09:36:19.280" Title="Conditions for tractability of 3SAT-Satisfiability" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;sat&gt;&lt;np&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="7" ContentLicense="CC BY-SA 2.5" />
  <row Id="3172" PostTypeId="2" ParentId="3170" CreationDate="2010-11-19T06:02:07.163" Score="7" Body="&lt;p&gt;Check out &lt;a href=&quot;http://www.cs.cmu.edu/~biglou/&quot; rel=&quot;nofollow&quot;&gt;Luis Von Ahn&lt;/a&gt; at CMU. He is the original Captcha guy. You will find enough videos like this &lt;a href=&quot;http://www.youtube.com/watch?v=dtFroEJN1nI&quot; rel=&quot;nofollow&quot;&gt; google techtalk&lt;/a&gt; on the subject of Human Computation.&lt;/p&gt;&#xA;" OwnerUserId="1449" LastActivityDate="2010-11-19T06:02:07.163" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3173" PostTypeId="1" CreationDate="2010-11-19T07:17:21.360" Score="35" ViewCount="1435" Body="&lt;p&gt;The standard proof of the Chernoff bound (from the &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0521474655&quot; rel=&quot;nofollow noreferrer&quot;&gt;Randomized Algorithms&lt;/a&gt; textbook) uses the Markov inequality and moment generating functions, with a bit of a Taylor expansion thrown in. Nothing too difficult, but somewhat mechanical. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;But there are other Chernoff bound proofs that expose the deeper structure driving the result. For example, there's an information-theoretic version that goes via the method of types, exemplified by this paper of &lt;a href=&quot;http://www.cs.sfu.ca/~kabanets/Research/constructive-chernoff.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;Impagliazzo and Kabanets&lt;/a&gt;, as well as &lt;a href=&quot;http://hunch.net/?p=1491&quot; rel=&quot;nofollow noreferrer&quot;&gt;this brief post by Sanjoy Dasgupta&lt;/a&gt;. These latter proofs are more &quot;intuitive&quot; in that they provides a generalization of the standard result, as well explaining where the funny terms in the exponent come from (it's a KL-divergence). &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What are good examples of such things&#xA;  ? To be more concrete, here are the&#xA;  rules:&lt;/p&gt;&#xA;  &#xA;  &lt;ol&gt;&#xA;  &lt;li&gt;The statement should be reasonably well-known (the kind of thing that&#xA;  would be taught in some kind of&#xA;  graduate class)&lt;/li&gt;&#xA;  &lt;li&gt;There should be a &quot;standard&quot; proof available in textbooks or standard&#xA;  reference material that is &quot;commonly&quot;&#xA;  taught&lt;/li&gt;&#xA;  &lt;li&gt;There should be an alternate proof that is not so well known, is NOT&#xA;  commonly taught, and either proves a&#xA;  more general statement or links the&#xA;  statement to a deeper mathematical&#xA;  structure.&lt;/li&gt;&#xA;  &lt;/ol&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I'll start off with two examples. &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;The chernoff bound&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&quot;textbook&quot; proof: markov inequality, moment generating functions, Taylor expansion (MR)&lt;/li&gt;&#xA;&lt;li&gt;Uncommon and insightful proof: method of types, exponent of tail involving KL-divergence&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Schwartz%E2%80%93Zippel_lemma&quot; rel=&quot;nofollow noreferrer&quot;&gt;The Schwartz-Zippel Lemma&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&quot;textbook&quot; proof: base-case involving univariate polynomial. Induction on number of variables&lt;/li&gt;&#xA;&lt;li&gt;&quot;uncommon&quot; proof: geometric argument via &lt;a href=&quot;http://eccc.hpi-web.de/report/2010/096/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Dana Moshkovitz&lt;/a&gt; (and &lt;a href=&quot;https://cstheory.stackexchange.com/questions/1772/alternative-proofs-of-schwartzzippel-lemma/1883#1883&quot;&gt;Per Vognsen&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;One example per answer please. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;p.s I'm not necessarily implying that the uncommon proof &lt;strong&gt;should&lt;/strong&gt; be taught: a direct proof is often easier for students. But in the sense that &quot;proofs help us understand&quot;, these alternate proofs are very helpful. &lt;/p&gt;&#xA;" OwnerUserId="80" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2011-02-20T01:00:40.283" Title="Proofs that expose a deeper structure" Tags="&lt;big-list&gt;&lt;proofs&gt;" AnswerCount="4" CommentCount="0" FavoriteCount="22" CommunityOwnedDate="2010-11-19T07:27:22.337" ContentLicense="CC BY-SA 2.5" />
  <row Id="3174" PostTypeId="2" ParentId="3170" CreationDate="2010-11-19T07:28:43.190" Score="7" Body="&lt;p&gt;You'll want to check out &lt;a href=&quot;http://docs.lib.purdue.edu/jps/&quot; rel=&quot;noreferrer&quot;&gt;The Journal of Problem Solving&lt;/a&gt;. It's not so much trying to determine if humans can outperform algorithms in general but rather trying to understand the human problem solving process from a multidisciplinary perspective.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, the first issue was focused on human performance on TSP.&lt;/p&gt;&#xA;" OwnerUserId="1710" LastActivityDate="2010-11-19T07:28:43.190" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3175" PostTypeId="2" ParentId="1168" CreationDate="2010-11-19T07:35:42.770" Score="14" Body="&lt;p&gt;There are two essays (but not paper) which are very handy after reading all the suggested papers:&lt;br&gt;&#xA;1.&lt;a href=&quot;http://www.wisdom.weizmann.ac.il/~oded/PS/re-writing.pdf&quot;&gt;How to write papers&lt;/a&gt;&lt;br&gt;&#xA;2.&lt;a href=&quot;http://www.cs.iastate.edu/~honavar/write-not.pdf&quot;&gt;How not to write papers&lt;/a&gt;&lt;br&gt;&#xA;Both by Oded Goldreich &lt;/p&gt;&#xA;" OwnerUserId="943" LastActivityDate="2010-11-19T07:35:42.770" CommentCount="0" CommunityOwnedDate="2010-11-19T07:35:42.770" ContentLicense="CC BY-SA 2.5" />
  <row Id="3176" PostTypeId="2" ParentId="3171" CreationDate="2010-11-19T07:53:45.913" Score="12" Body="&lt;p&gt;Yes. If $ 0&amp;lt; \epsilon &amp;lt;1$ is a constant (or $1/\textit{polylog}(n)$), and you are promised that at least $ \epsilon 2^n $ of all possible assignments are satisfying the input 3CNFs, then you can find such an assignment in &lt;em&gt;deterministic&lt;/em&gt; polynomial-time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The algorithms is not difficult: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Claim: Under the promise stated, there must exist a constant size set $ S $ of variables that &lt;em&gt;hits&lt;/em&gt; all clauses in the 3CNF, in the sense that every 3-clause must contain a variable from $ S $. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Proof of claim (sketch): Otherwise, there must exist a large enough family of 3-clauses from the 3CNF, in which each variable occurs only once. But this family, when sufficiently large, has already less than $ \epsilon $ fraction of satisfying assignments. QED&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thus, you can run over all possible (constant number) of assignments to $ S $. Under every fixed assignment to $ S $, the 3CNF becomes a 2CNF, by the assumption that $ S $ hits the original 3CNF. Now, you can use the known polytime deterministic algorithm for finding a satisfying assignment for 2CNF formulas.&#xA;Overall, you get a polynomial time upper bound.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The algorithm for 2SAT is I think already in S. Cook famous 1971 paper.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The algorithm for 3CNFs is from:&#xA;L. Trevisan&#xA;&lt;em&gt;A Note on Deterministic Approximate Counting for k-DNF&lt;/em&gt;&#xA;In Proc. of APPROX-RANDOM, Springer-Verlag, page 417-426, 2004&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The original paper showing the result for 3CNF is:&#xA;E. Hirsch, &lt;em&gt;A fast deterministic algorithm for formulas that have many satisfying assignments&lt;/em&gt;, Journal of the IGPL, 6(1):59-71, 1998&lt;/p&gt;&#xA;" OwnerUserId="78" LastEditorUserId="78" LastEditDate="2010-11-19T09:36:19.280" LastActivityDate="2010-11-19T09:36:19.280" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="3177" PostTypeId="2" ParentId="3173" CreationDate="2010-11-19T07:55:09.953" Score="22" Body="&lt;p&gt;I'm not sure this is quite what you're looking for, since I've seen the &quot;uncommon&quot; proof in textbooks, but: the O(n log n) time bound for quicksort.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&quot;Textbook&quot; proof: set up a randomized recurrence relation, prove by induction that it has the desired solution.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&quot;Uncommon&quot; proof: find a simple formula for the probability that any two elements are compared (it's just 2/(d+1) where d is the difference between their ranks in the sorted order), and use linearity of expectation and harmonic series to compute the expected number of pairs that get compared.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The textbook proof requires less creative insight, but the uncommon proof introduces a technique that's very useful in other algorithm analysis e.g. for randomized incremental algorithms in computational geometry.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2010-11-19T07:55:09.953" CommentCount="3" CommunityOwnedDate="2010-11-19T07:55:09.953" ContentLicense="CC BY-SA 2.5" />
  <row Id="3178" PostTypeId="2" ParentId="3111" CreationDate="2010-11-19T08:21:25.157" Score="8" Body="&lt;p&gt;In the same spirit as Murilo da Silva's post, I cannot resist posting this excerpt from Goupil and Schaefer's &lt;a href=&quot;http://dx.doi.org/10.1006/eujc.1998.0215&quot;&gt;&quot;Factoring N-Cycles and Counting Maps of Given Genus&quot;&lt;/a&gt;:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;After this proof, we kindly encourage the reader to pause and enjoy a lighter activity such&#xA;  as bird watching or gardening before pursuing the reading.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="775" LastActivityDate="2010-11-19T08:21:25.157" CommentCount="0" CommunityOwnedDate="2010-11-19T08:21:25.157" ContentLicense="CC BY-SA 2.5" />
  <row Id="3179" PostTypeId="2" ParentId="3169" CreationDate="2010-11-19T08:37:29.977" Score="5" Body="&lt;p&gt;I'm not sure there is one. There are however many good books on Category Theory and even more sets of lecture notes, of varying quality. Wikipedia also has quite a lot of reliable information on &lt;a href=&quot;http://en.wikipedia.org/wiki/Category_theory&quot;&gt;Category Theory&lt;/a&gt; and &lt;a href=&quot;http://en.wikipedia.org/wiki/Domain_theory&quot;&gt;Domain Theory&lt;/a&gt;. Another good internet resource is &lt;a href=&quot;http://ncatlab.org/nlab/&quot;&gt;nCatLab&lt;/a&gt;, though it drifts more into higher-dimensional category theory.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A good  domain theory reference is &lt;a href=&quot;http://www.cs.bham.ac.uk/~axj/pub/papers/handy1.pdf&quot;&gt;S. Abramsky, A. Jung (1994). &quot;Domain theory&quot;. In S. Abramsky, D. M. Gabbay, T. S. E. Maibaum, editors, (PDF). Handbook of Logic in Computer Science. III. Oxford University Press. ISBN 0-19-853762-X.&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Books on category theory I've actually looked at are:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Awodey, Steve (2006). Category Theory (Oxford Logic Guides 49). Oxford University Press. 2nd edition, 2010. &#xA;&lt;strong&gt;A good recent introduction, slanted towards computer science&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Barr, Michael; Wells, Charles  &quot;Category Theory for Computing Science.&quot; &lt;strong&gt;Hard to get, that is, not available from Amazon&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Lawvere, William; Schanuel, Steve (1997). Conceptual mathematics: a first introduction to categories. Cambridge University Press. &lt;strong&gt;Delightful introduction, perhaps not deep enough&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Mac Lane, Saunders (1998). Categories for the Working Mathematician. Graduate Texts in Mathematics 5 (2nd ed.). Springer-Verlag. ISBN 0-387-98403-8. &lt;strong&gt;Perhaps too mathematical&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Pierce, Benjamin (1991). Basic Category Theory for Computer Scientists. MIT Press. &lt;strong&gt;Perhaps too basic&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Taylor, Paul (1999). Practical Foundations of Mathematics. Cambridge University Press.&#xA;&lt;strong&gt;Quite comprehensive; takes a logical perspective&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Other books are available online such as Barr &amp;amp; Well's &lt;a href=&quot;http://www.case.edu/artsci/math/wells/pub/pdf/ttt.pdf&quot;&gt;Toposes, Triples, and Theories&lt;/a&gt; and Jiri Adámek, Horst Herrlich, and George E. Strecker's &lt;a href=&quot;http://katmat.math.uni-bremen.de/acc/acc.pdf&quot;&gt;Abstract and Concrete Categories – The Joy of Cats&lt;/a&gt;. These are likely to contain all the definitions you need, at least from the category theory side.&lt;/p&gt;&#xA;" OwnerUserId="77" LastActivityDate="2010-11-19T08:37:29.977" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="3180" PostTypeId="1" AcceptedAnswerId="3305" CreationDate="2010-11-19T09:04:52.103" Score="10" ViewCount="545" Body="&lt;p&gt;I'm trying to draw up a taxonomy of algorithms for transforming regular expressions into automata so as to perform some empirical tests of their complexity properties in specific domains.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm aware of several of the 'bigger' names, e.g.,&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Thompson&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&quot;Regular Expression Search Algorithm&quot;, Thompson, 1968&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Glushkov&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&quot;A New Quadratic Algorithm to Convert a Regular Expression into an Automaton&quot;, Ponty, et. al, 1996&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Antimirov&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&quot;Partial Derivatives of Regular Expressions and Finite Automata Constructions&quot;, Antimirov, 1996&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Follow&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&quot;Follow Automata&quot;, Ilie, et. al, 2003; &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&quot;Computing the follow automaton of an expression&quot;, Champarnaud, et. al, 2002&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Hromkovic&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&quot;Translating Regular Expressions into Small e-Free Nondeterministic Finite Automata&quot;, Hromkovic, et. al, 2001&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;and their distinguishing properties (epsilon-free-ness, determinism, size, minimization, etc.) but I know this is not an exhaustive list.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm particularly interested in algorithms which present either significantly different time complexities to those listed above, and/or significantly different topologies.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you know of others, a link to a paper which describes the construction algorithm &lt;strong&gt;in detail&lt;/strong&gt; would be greatly appreciated (read necessary if I'm going to implement it!)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit: Added some references as per requested.&lt;/p&gt;&#xA;" OwnerUserId="2256" LastEditorUserId="186" LastEditDate="2010-11-19T19:02:01.557" LastActivityDate="2010-11-24T22:04:30.823" Title="Taxonomy of notable regular expression automata" Tags="&lt;automata-theory&gt;&lt;fl.formal-languages&gt;&lt;regular-expressions&gt;" AnswerCount="2" CommentCount="4" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="3181" PostTypeId="2" ParentId="3180" CreationDate="2010-11-19T09:13:33.457" Score="5" Body="&lt;p&gt;One not considered in your list is &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=321249&quot;&gt;Derivatives of Regular Expressions&lt;/a&gt; by Janusz Brzozowski, Journal of the ACM 1964, which was recently reconsidered by Scott Owens, John Reppy, and Aaron Turon in &lt;a href=&quot;http://www.cl.cam.ac.uk/~so294/documents/jfp09.pdf&quot;&gt;Regular-expression derivatives re-examined. Journal of Functional Programming (2009), 19: 173-190&lt;/a&gt;, who provide a practical implementation of the technique for an extended notation for regular expressions.&lt;/p&gt;&#xA;" OwnerUserId="77" LastActivityDate="2010-11-19T09:13:33.457" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="3183" PostTypeId="2" ParentId="3170" CreationDate="2010-11-19T10:38:10.153" Score="1" Body="&lt;p&gt;Reinforcement learning (en.wikipedia.org/wiki/Reinforcement_learning use) was inspired from the idea of how a human individual interact with the environment and learns from it. &lt;/p&gt;&#xA;" OwnerUserId="851" LastEditorUserId="851" LastEditDate="2010-11-20T06:08:41.453" LastActivityDate="2010-11-20T06:08:41.453" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="3184" PostTypeId="2" ParentId="3173" CreationDate="2010-11-19T11:04:26.017" Score="19" Body="&lt;p&gt;I'll throw out one from complexity, the proof that BPP is in $\Sigma_2^p$. The textbook proof is due to Lautemann, just write down the $\exists\forall$ expression and show it works with a simple probabilistic argument. The uncommon proof: Guess a hard function ($\exists$ to guess, $\forall$ to check hardness) and plug it into the Nisan-Wigderson generator. &lt;/p&gt;&#xA;" OwnerUserId="550" LastActivityDate="2010-11-19T11:04:26.017" CommentCount="4" CommunityOwnedDate="2010-11-19T11:04:26.017" ContentLicense="CC BY-SA 2.5" />
  <row Id="3185" PostTypeId="2" ParentId="3053" CreationDate="2010-11-19T11:31:57.273" Score="10" Body="&lt;p&gt;Could you post the original Japanese title/reference?&lt;/p&gt;&#xA;&lt;p&gt;Also, you might consider just writing to the author - assuming it's the same guy he is a professor at the University of Tokyo:&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.it.k.u-tokyo.ac.jp/%7Ekunihiro/&quot; rel=&quot;noreferrer&quot;&gt;http://www.it.k.u-tokyo.ac.jp/~kunihiro/&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;and almost certainly would reply.&lt;/p&gt;&#xA;&lt;p&gt;Sorry to post this as an answer, it should be a comment but I don't have the rep for that yet apparently...&lt;/p&gt;&#xA;&lt;p&gt;EDIT:  So, I took a look at the original Japanese.  As a preface, I am currently a PhD student in the EE department at U. Tokyo, originally from the U.S., and I do technical JA-&amp;gt;EN translation as a part-time job. However, this topic area is well outside my comfort zone so please take my opinion with a grain of salt!&lt;/p&gt;&#xA;&lt;p&gt;Basically the conclusion (4) says:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;べき乗剰余演算を行う量子回路を提案した。提案方式は、右向きbinary methodを採用し、Montgomery Reductionを採用するという特徴を持っている。従来の方式よりも、回路の構成要素が少ないという特徴を持っている。qubitが多く必要となるという欠点は持つが、より少ない計算時間で計算ができると期待される。&lt;/p&gt;&#xA;&lt;p&gt;[In this paper] We proposed a new quantum circuit for computing modular exponentiation. The proposed method utilizes an LR binary method, and is also characterized by use of the Montgomery Reduction.  Compared with previous methods, the proposed method requires fewer components to construct the circuit.  The proposed method does however, have the drawback of requiring a large number of qubits, but we are confident that it will be computationally efficient ( lit: require very little computation time ).&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;I tried searching for related follow-up papers in both English and Japanese but was unsuccessful.   My guess is that the approach proved unsuccessful, or the professor got busy with something else (looks like this was around when he switched universities).&lt;/p&gt;&#xA;&lt;p&gt;I think that your best bet at this point, assuming you want to follow up the rest of the way and get a concrete answer, is to write professor Kunihiro directly (in English!)&lt;/p&gt;&#xA;" OwnerUserId="2256" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2010-11-21T02:38:04.187" CommentCount="8" ContentLicense="CC BY-SA 2.5" />
  <row Id="3186" PostTypeId="2" ParentId="3169" CreationDate="2010-11-19T12:16:28.267" Score="6" Body="&lt;p&gt;The best resource for this is Abramsky and Jung's handbook chapter. I recall they had a table which cross-referenced various constructions and categories of domains, with the entries saying whether the construction worked in that category and what properties it had. However, properties of arrows like being a monic tended not to have terribly slick characterizations, because the availability of flat domains tends to ensure that they are often not terribly different from their set-theoretic counterpart. OTOH, properties that make some use of the order structure (like being an embedding-projection pair) tend to have fairly pretty characterizations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A minor point to watch out for is that there are actually two definitions of CPO in common use! Consumers of domain theory (like me) often prefer to work with omega-chains, since chains are pretty concrete objects; whereas producers of domain theory (like, er, your advisor) tend to prefer to work with directed sets, which are more general and have better algebraic properties. (Offhand I'm not sure if restricting to directed sets having countable base is equivalent to the omega-chain condition.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Something I found very helpful in building this kind of dictionary is to work through the solution of recursive domain equations in some category of things that aren't exactly domains. Two good choices are categories of PERs (eg, in models of polymorphism) and presheaves (eg, for name allocation). Metric spaces are another possibility, but I found them to be too similar to domains to help me build intuition.&lt;/p&gt;&#xA;" OwnerUserId="657" LastActivityDate="2010-11-19T12:16:28.267" CommentCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="3187" PostTypeId="1" AcceptedAnswerId="3188" CreationDate="2010-11-19T13:03:46.690" Score="4" ViewCount="1353" Body="&lt;p&gt;Once in a while when &lt;a href=&quot;https://stackoverflow.com/questions/3307275/&quot;&gt;a question like &quot;how I get good random numbers&lt;/a&gt;&quot; is asked the suggested approach is to just generate an &lt;a href=&quot;http://en.wikipedia.org/wiki/Universally_unique_identifier&quot; rel=&quot;nofollow noreferrer&quot;&gt;UUID&lt;/a&gt;. UUID &lt;em&gt;looks like&lt;/em&gt; a random number and it is designed in such way that UUIDs likely never repeat - it is &lt;em&gt;unique&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is mathematical difference between &quot;unique&quot; and &quot;random&quot;? Why exactly should UUID not be used as a random number - for example as a cryptographic key?&lt;/p&gt;&#xA;" OwnerUserId="2142" LastEditorUserId="-1" LastEditDate="2017-05-23T11:33:33.907" LastActivityDate="2011-02-12T13:29:18.467" Title="What is mathematical difference between &quot;random&quot; and &quot;unique&quot;?" Tags="&lt;cr.crypto-security&gt;&lt;randomness&gt;" AnswerCount="3" CommentCount="3" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="3188" PostTypeId="2" ParentId="3187" CreationDate="2010-11-19T13:20:34.610" Score="12" Body="&lt;p&gt;When you say &lt;em&gt;random numbers&lt;/em&gt; you want to have a series of numbers such that given any sequence of $i-1$ numbers, the probability of the $i$th number having a certain value is independent from all its predecessors (I (over)simplify here), i.e.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\begin{equation*}Pr[n_i = k \mid n_0, \dots, n_{i-1}] = Pr[n_i = k]\end{equation*}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Unique numbers&lt;/em&gt; can be generated without having to guarantee that (e.g. just counting upwards yields unique numbers). These kinds of unique numbers &lt;em&gt;can be guessed&lt;/em&gt;, which make them bad &lt;em&gt;random numbers&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In fact, most things that are called random-number generators in practice are &lt;em&gt;pseudo-random-number&lt;/em&gt; generators. That means that they have a perfectly deterministic and predictable algorithm of constructing the next number but they start with a secret &lt;em&gt;seed&lt;/em&gt; that changes from application to application. Without knowing that seed the generated series have many properties of true random sequences. That can be checked by certain statistical methods.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In most practical, every-day scenarios you want to have unguessable sequences, e.g. for password creation. Pseudo-random-number generators are fine for that provided you choose a proper seed; many people use the system timestamp when the request comes in, assuming this is pretty hard to predict up to the millisecond. If you really need the statistical properties of random sequences, for example for Monte Carlo simulations, you should be more wary.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit:&lt;/strong&gt; To clarify: Random sequences (R) and unique sequences (U) are not opposing concepts; you can have all combinations of both:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;R, !U: roll die (or observe other allegedly random event, see &lt;a href=&quot;http://random.org&quot; rel=&quot;noreferrer&quot;&gt;random.org&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;li&gt;R, U: roll a die with &lt;em&gt;lots&lt;/em&gt; of sides and reject duplicates ( or roll many dice)&lt;/li&gt;&#xA;&lt;li&gt;!R, U: use any bijective enumeration scheme, e.g. $f(n) = n$&lt;/li&gt;&#xA;&lt;li&gt;!R, !U: $1,1,1,\dots$ (also: PRNG)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="1546" LastEditorUserId="3793" LastEditDate="2011-02-12T13:29:18.467" LastActivityDate="2011-02-12T13:29:18.467" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="3189" PostTypeId="1" AcceptedAnswerId="3226" CreationDate="2010-11-19T13:22:43.937" Score="16" ViewCount="495" Body="&lt;p&gt;We are given a family $\mathcal{F}$ of $m$ subsets of {1, ...,n}. Is it possible to find a non-trivial lower bound on the complexity of deciding whether $\mathcal{F}$ is a Sperner family ? The trivial lower bound is $O(n m)$ and I strongly suspect that it is not tight.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Recall that a set $\mathcal{S}$ is a Sperner family &#xA;if for $X$ and $Y$ in $\mathcal{S}$; $X \ne Y$ implies that $X \nsubseteq Y$ and $Y \nsubseteq X$. &lt;/p&gt;&#xA;" OwnerUserId="5" LastEditorUserId="5" LastEditDate="2010-11-20T09:23:04.863" LastActivityDate="2010-11-21T14:26:09.750" Title="Complexity of deciding whether a family is a Sperner familiy" Tags="&lt;ds.algorithms&gt;&lt;co.combinatorics&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="3190" PostTypeId="2" ParentId="3187" CreationDate="2010-11-19T13:29:23.290" Score="5" Body="&lt;p&gt;An object is &lt;em&gt;mathematically&lt;/em&gt; unique, if there does not exist &lt;strong&gt;another&lt;/strong&gt; object which satisfies the properties of the first object. For instance, the solution of $7x+2=5$ is unique (over reals), while the solution of $x^2=4$ is not unique (over reals).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An object is &lt;em&gt;practically&lt;/em&gt; unique, if there is not an &lt;strong&gt;efficient&lt;/strong&gt; procedure which finds another object that satisfies the properties of the first object. For instance, let $H(\cdot)$ be a &lt;a href=&quot;http://en.wikipedia.org/wiki/Cryptographic_hash_function&quot; rel=&quot;nofollow&quot;&gt;cryptographically secure hash function&lt;/a&gt;. By definition, the solution to $y=H(x)$ is (practically) unique; That is, while there are mathematically infinitely many $x$'s which satisfy $y=H(x)$, there is no efficient procedure which, given $y$ and $x$, can find $x&amp;#39; \ne x$ such that $y=H(x&amp;#39;)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is the case with UUID's. Given a (random) seed, the UUID generator produces a (practically) unique UUID; That is, it is practically infeasible to find two seeds $s \ne s&amp;#39;$ such that $UUID(s) = UUID(s&amp;#39;)$, while &lt;em&gt;mathematically&lt;/em&gt; such seeds exist.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;When I teach this concept in the class, I usually provide an example: Assume that, to find such a &lt;em&gt;collision&lt;/em&gt;, one must try $2^{128}$ seeds. This number is so high that it is beyond the (estimated) amount of particles in the known universe!&lt;/p&gt;&#xA;" OwnerUserId="873" LastActivityDate="2010-11-19T13:29:23.290" CommentCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="3191" PostTypeId="2" ParentId="3187" CreationDate="2010-11-19T14:10:45.737" Score="11" Body="&lt;p&gt;I guess the main source of confusion is that there are many versions (and many implementations) of UUIDs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Random but not unique:&lt;/strong&gt; As you can see from the Wikipedia article, version 4 UUIDs are just 122-bit random numbers. Nothing else. They are exactly as good for cryptographic purposes as the random number generator that you used to implement it. And they are not &quot;unique&quot; in any other sense except that it's highly unlikely to get collisions (at least if you use a good random-number generator).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Unique but not random:&lt;/strong&gt; In the other extreme we have version 1 UUIDs, which concatenate MAC addresses with timestamps. Assuming that the MAC addresses are globally unique (as they are supposed to be, as there is a central authority that allocates them), and assuming that you don't generate UUIDs too rapidly, then the end result is something that is guaranteed to be globally unique. However, it is not &quot;random&quot; in any sense; if you know who generated the UUID and when, you can predict the value of the UUID fairly accurately. Obviously, it is an extremely bad idea to use such UUIDs as a replacement of random numbers in any cryptographic application.&lt;/p&gt;&#xA;" OwnerUserId="74" LastActivityDate="2010-11-19T14:10:45.737" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3192" PostTypeId="1" AcceptedAnswerId="3367" CreationDate="2010-11-19T15:31:05.620" Score="3" ViewCount="204" Body="&lt;p&gt;I am currently reading the paper &quot;On the computational complexity of Algorithms&quot; by J. Hartmanis and R. E. Stearns ( &lt;a href=&quot;http://www.jstor.org/pss/1994208&quot; rel=&quot;nofollow&quot;&gt;http://www.jstor.org/pss/1994208&lt;/a&gt; )&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It includes a proof that any $T$-computable sequence is also $\lceil kT \rceil$-computable, where $k$ is a computable, positive real number, $T$ a time-function and $\lceil kT \rceil$ denotes the smallest integer $m$ such that $m \ge kT$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The proof idea is to use a (multitape) TM that has a head that can read 2 symbols at once, while storing internally the symbol to the left and right of that head, so that the new TM can simulate 2 steps of a normal (multitape) TM in only once step. By doing the same trick on the new TM using induction, one can prove 1/2&lt;sup&gt;k&lt;/sup&gt; speed-up. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have two questions, which revolve around the same thing: &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;First of all, can I extend this idea and use a head so large that reads the entire input at once? That would require to save a super-constant number of symbols internally in the TM. Would that be a violation of the model?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Reflecting to my first question, whatever the answer is : Are there &quot;complexity&quot; classes that restraint the TM's control logic somehow? e.g. allowing up to a specific number of states or for a specific structure of the automaton?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="879" LastEditorUserId="186" LastEditDate="2010-11-19T18:58:26.943" LastActivityDate="2010-11-27T20:58:00.607" Title="Is there such a thing as control logic complexity classes?" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3193" PostTypeId="2" ParentId="3173" CreationDate="2010-11-19T16:30:04.720" Score="13" Body="&lt;p&gt;We all know $\sum_i a_iX_i$ for Bernoulli $\pm 1$ $X_i$ should behave like a Gaussian with standard deviation $\sigma = \|a\|_2$, right?  So, let's prove it by relating directly to Gaussians!  Taking $t \ge 2$ an integer,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;\begin{eqnarray*}&#xA;\mathbf{E}\left[\left(\sum_i a_iX_i\right)^t\right] &amp;amp;=&amp;amp; \sum_{i_1,\ldots,i_t} \left(\prod_{j=1}^t a_{i_j}\right) \mathbf{E}\left[\prod_{j=1}^t X_{i_j}\right]\\&#xA;&amp;amp;\le&amp;amp; \sum_{i_1,\ldots,i_t} \left(\prod_{j=1}^t |a_{i_j}|\right) \mathbf{E}\left[\prod_{j=1}^t X_{i_j}\right]\\ &#xA;&amp;amp;=&amp;amp; \sum_{\substack{i_1&amp;lt;\ldots&amp;lt; i_m\\ r_1,\ldots,r_m\\ \sum_j r_j = t\\ \forall j\ r_j &gt; 0}} \binom{t}{r_1,\ldots,r_m}\left(\prod_{j=1}^m |a_{i_j}|^{r_j}\right)\left(\prod_{j=1}^m \mathbf{E}[X_{i_j}^{r_j}]\right)&#xA;\end{eqnarray*}&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, let's look at the above sum on the right.  In any given summand, either some $r_j$ is odd, making the expectation $0$, or all are even, making it $1$.  Imagine replacing all the $X_i$ with Gaussian $G_i$.  Then we'd be in a similar scenario: odd $r_j$ would give $0$, and all even $r_j$ would make the product &lt;em&gt;at least&lt;/em&gt; $1$.  So the Gaussian case &lt;em&gt;term by term&lt;/em&gt; dominates the Bernoulli case.  Thus,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$ \mathbf{E}\left[\left(\sum_i a_iX_i\right)^t\right] \le \mathbf{E}\left[\left(\sum_i |a_i|G_i\right)^t\right]$$&#xD;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But, by $2$-stability of the Gaussian, $\sum_i |a_i| G_i$ is itself a Gaussian with standard deviation $\|a\|_2$, so we know its moments!  Thus, our $t$th moment is bounded by $\|a\|_2^t \cdot t! / (2^{t/2} \cdot (t/2)!)$ (roughly $\|a\|_2^tt^{t/2}$); this is known as Khintchine's inequality.  Then,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$ \mathbf{Pr}\left[\left|\sum_i a_iX_i\right| &amp;gt; \lambda\right] &amp;lt; 2^{O(t)}\cdot \lambda^{-t}\cdot \|a\|_2^t t^{t/2}$$  Set $t = \lambda^2 / (C\cdot \|a\|_2^2)$ for a sufficiently large constant $C$ and you get the Gaussian tail bound $\mathrm{exp}(-\Omega(\lambda^2 / \|a\|_2^2))$.  I first heard this proof of Khintchine's inequality when chatting with Daniel Kane, but probably there's an older reference.  Notice the proof also makes it clear what level of independence amongst the $X_i$ you need to get various tail bounds.&lt;/p&gt;&#xA;" OwnerDisplayName="Jelani Nelson" LastEditorDisplayName="Jelani Nelson" LastEditDate="2010-11-19T16:35:25.887" LastActivityDate="2010-11-19T16:35:25.887" CommentCount="0" CommunityOwnedDate="2010-11-19T16:30:04.720" ContentLicense="CC BY-SA 2.5" />
  <row Id="3194" PostTypeId="1" AcceptedAnswerId="3197" CreationDate="2010-11-19T16:32:01.743" Score="9" ViewCount="184" Body="&lt;p&gt;Alice and Bob are splitting their deceased uncle Charlie's estate (a finite collection $X$ of discrete items) according to his wishes.  First A picks an item, then B, then A, and so on.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Alice and Bob each have additive utility functions $u_A, u_B$, so that if Alice ends up with the set $Y \subseteq X$, her utility is $\sum_{y \in Y}u_A(y)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;These utility functions are common knowledge, as is the fact that Alice and Bob are perfectly rational utility-maximizers.  This implies that the players will &lt;em&gt;not&lt;/em&gt; always follow a greedy approach, grabbing the item of greatest worth to them; they will be more strategic.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, what is the computational complexity of implementing the players' strategies?  It's doable in polynomial space, and that's all I know.&lt;/p&gt;&#xA;" OwnerUserId="223" LastActivityDate="2010-11-19T18:27:09.697" Title="What's the complexity of this estate-division game?" Tags="&lt;gt.game-theory&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3195" PostTypeId="2" ParentId="3170" CreationDate="2010-11-19T17:03:11.763" Score="2" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;has anyone developed a technical method to take advantage of any unique, supra-computational properties of human intelligence?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;A prerequisite for that would be that human intelligence actually has some supra-computational properties, no?  Frankly, the more I view human behavior, the more we appear to me to be automatons.  But perhaps the recent political climate has left me overly cynical. :)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course, human intelligence is better than the &lt;em&gt;current&lt;/em&gt; algorithmic state of the art for many tasks.  For a practical application of that, you could look at, say, &lt;a href=&quot;http://en.wikipedia.org/wiki/Amazon_Mechanical_Turk&quot; rel=&quot;nofollow&quot;&gt;Mechanical Turk&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the theoretical side, there are people (including some who happen to be computer scientists) who have advanced philosophical arguments for human supra-computational abilities.  You could look at, for example, the work of &lt;a href=&quot;http://www.rpi.edu/~brings/&quot; rel=&quot;nofollow&quot;&gt;Selmer Bringsjord&lt;/a&gt;.  You could also do a search on the term &lt;em&gt;hypercomputation&lt;/em&gt;, but I suspect you will find that the parts which fall under the domain of TCS have nothing to do with people, and the parts that attempt to deal with human intelligence have little to do with TCS (or science in general).&lt;/p&gt;&#xA;" OwnerUserId="184" LastActivityDate="2010-11-19T17:03:11.763" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="3196" PostTypeId="2" ParentId="3111" CreationDate="2010-11-19T18:13:21.733" Score="17" Body="&lt;p&gt;I would recommend the processings of FUN: the International Conference on Fun With Algorithms. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I must say that &quot;The hardness of the Lemmings game, or Oh no, more NP-completeness proofs&quot; by Graham Cormode is one of my favorite.&lt;/p&gt;&#xA;" OwnerDisplayName="Swann Perarnau" LastActivityDate="2010-11-19T18:13:21.733" CommentCount="1" CommunityOwnedDate="2010-11-19T18:13:21.733" ContentLicense="CC BY-SA 2.5" />
  <row Id="3197" PostTypeId="2" ParentId="3194" CreationDate="2010-11-19T18:27:09.697" Score="6" Body="&lt;p&gt;Perhaps this paper will be of interest though I don't know if it addresses complexity issues:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://or.journal.informs.org/cgi/content/abstract/19/2/270&quot; rel=&quot;nofollow&quot;&gt;http://or.journal.informs.org/cgi/content/abstract/19/2/270&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;or&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.jstor.org/pss/169267&quot; rel=&quot;nofollow&quot;&gt;http://www.jstor.org/pss/169267&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="987" LastActivityDate="2010-11-19T18:27:09.697" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3198" PostTypeId="1" AcceptedAnswerId="3199" CreationDate="2010-11-19T19:39:28.037" Score="9" ViewCount="182" Body="&lt;p&gt;The time hierarchy theorem lets one show that, for example, there are problems in P that cannot be solved in time less than const*n^2 by a Turing machine.  But give the Turing machine some advice and all bets are off.  One can't yet show that even a linear size circuit can't solve all of PSPACE.  So, what if we try to compare two different classes in which both have advice?  For example, can one separate polynomial space with logarithmic advice from linear time with linear advice?  That's just a made-up example question, I am wondering what general results there are along these lines.&lt;/p&gt;&#xA;" OwnerUserId="2279" LastEditorUserId="186" LastEditDate="2010-11-19T22:53:00.860" LastActivityDate="2010-11-19T22:53:00.860" Title="Separation of classes with different amounts of advice?" Tags="&lt;cc.complexity-theory&gt;&lt;lower-bounds&gt;&lt;circuit-complexity&gt;&lt;advice-and-nonuniformity&gt;&lt;separation&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3199" PostTypeId="2" ParentId="3198" CreationDate="2010-11-19T19:53:03.827" Score="5" Body="&lt;p&gt;Let $s(n) \ge n$ be some function. It can be proven that:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\mathbf{DSIZE}(s) \subseteq \mathbf{DTIME}(s^2) / F(O(s\log s))$&#xD;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here, $\mathbf{DSIZE}(s)$ denotes the set of languages decidable by deterministic circuits of size $s$. The notation $\mathbf{K/F}$ denotes the complexity class $\mathbf{K}$ with advice function from the set $\mathbf{F}$, defined as:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$F(f) = \left\{h \colon \{0,1\}^* \to \{0,1\}^* \mid |h(x)| \le f(|x|) \text{ for all } x\right\}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In addition, let $d(n) \ge \log n$ be another function. Then:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\mathbf{DDEPTH}(d) \subseteq \mathbf{DSPACE}(d) / F(2^{O(d)})$&#xD;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where $\mathbf{DDEPTH}(d)$ denotes the set of languages decidable by deterministic circuits of depth $d$.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit:&lt;/strong&gt; two more inclusions:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For $t(n) \ge n$ we have $\mathbf{DTIME}(t) \subseteq \mathbf{DSIZE}(t \log t)$,&#xA;and for $l(n) \ge \log n$ we have $\mathbf{NSPACE}(l) \subseteq \mathbf{DDEPTH}(l^2)$.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;For proofs, see section 2-3 of &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/3642083986&quot; rel=&quot;nofollow&quot;&gt;Heribert Vollmer's book&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Using these inclusions, and time/space hierarchies, one can build hierarchies for non-uniform complexity classes.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;h3&gt;Edit 2:&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;You may combine the above results with the following results on hierarchies for classes with advice:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.67.6786&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;nofollow&quot;&gt;Time Hierarchies for Computations with a Bit of Advice&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.cs.uchicago.edu/~fortnow/papers/advice.pdf&quot; rel=&quot;nofollow&quot;&gt;Unconditional Lower Bounds Against Advice&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="873" LastEditorUserId="873" LastEditDate="2010-11-19T20:51:56.903" LastActivityDate="2010-11-19T20:51:56.903" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="3200" PostTypeId="2" ParentId="2559" CreationDate="2010-11-19T20:56:01.373" Score="1" Body="&lt;p&gt;By &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=116858&quot; rel=&quot;nofollow&quot;&gt;http://portal.acm.org/citation.cfm?id=116858&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If I do not interpret it wrongly. Theorem 4.1(ii) is saying &quot;$NP^{\mathbf{C}K}=\exists \mathbf{C}K$&quot; and $coNP^{\mathbf{C}K}=\forall\mathbf{C}K$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Lemma 3.4(c) is saying &quot;For any $K$ in counting hierarchy, $\exists K\cup\forall K\subseteq\mathbf{C}K\subseteq\exists\mathbf{C}K\cap\forall\mathbf{C}K$&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Replacing $K$ by $P$, we get $PP\subseteq\exists PP\cap\forall PP$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Which means $P^{\#P}\subseteq NP^{\#P}\cap coNP^{\#P}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;And $P^{\#P}=NP^{\#P}=coNP^{\#P}$ holds if the polynomial hierarchy collapses and the counting hierarchy collapses.&lt;/p&gt;&#xA;" OwnerUserId="1925" LastActivityDate="2010-11-19T20:56:01.373" CommentCount="6" ContentLicense="CC BY-SA 2.5" />
  <row Id="3202" PostTypeId="2" ParentId="3169" CreationDate="2010-11-19T21:33:54.247" Score="3" Body="&lt;p&gt;How about asking your advisor? He invented a good portion of domain theory.&lt;/p&gt;&#xA;" OwnerUserId="705" LastActivityDate="2010-11-19T21:33:54.247" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3203" PostTypeId="1" AcceptedAnswerId="3204" CreationDate="2010-11-19T22:20:18.177" Score="7" ViewCount="2176" Body="&lt;p&gt;I am familiar with the theorem which states that some languages are not in the RE (Recursively Enumerable) class of languages, but that can mean either that they are all in CO-RE (or rather, the part of it that doesn't intersect with RE), or that they are partly in CO-RE and partly somewhere else. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there languages about which nothing can be decided, not even what words are &lt;em&gt;not&lt;/em&gt; in them? &lt;/p&gt;&#xA;" OwnerUserId="817" LastActivityDate="2010-11-23T09:09:16.083" Title="Are there languages that are not in RE nor CO-RE?" Tags="&lt;computability&gt;" AnswerCount="3" CommentCount="0" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="3204" PostTypeId="2" ParentId="3203" CreationDate="2010-11-19T22:37:12.673" Score="24" Body="&lt;p&gt;&lt;strong&gt;Yes&lt;/strong&gt;, there are some. There is actually an infinite hierarchy of languages which are &lt;em&gt;less and less&lt;/em&gt; decidable, namely the &lt;a href=&quot;http://en.wikipedia.org/wiki/Arithmetical_hierarchy&quot;&gt;Arithmetical hierarchy&lt;/a&gt;. Recursively Enumerable languages and their complements are at its level 1. An example of language which isn't RE or coRE is the set of Turing machines computing total functions.&lt;/p&gt;&#xA;" OwnerUserId="508" LastEditorUserId="508" LastEditDate="2010-11-19T22:53:49.577" LastActivityDate="2010-11-19T22:53:49.577" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3205" PostTypeId="2" ParentId="3203" CreationDate="2010-11-19T23:06:04.770" Score="11" Body="&lt;p&gt;To complement Michael Blondin’s nice answer, actually there are &lt;em&gt;many&lt;/em&gt; languages which are not in RE or in coRE or even in the arithmetic hierarchy in the following sense: there are ℵ languages, but there are only ℵ&lt;sub&gt;0&lt;/sub&gt; languages in the arithmetic hierarchy!&lt;/p&gt;&#xA;" OwnerUserId="567" LastActivityDate="2010-11-19T23:06:04.770" CommentCount="10" ContentLicense="CC BY-SA 2.5" />
  <row Id="3206" PostTypeId="2" ParentId="3111" CreationDate="2010-11-19T23:24:03.113" Score="3" Body="&lt;p&gt;Lambda the Ultimate brought to my attention the whitepaper on &lt;a href=&quot;http://lambda-the-ultimate.org/node/3488&quot; rel=&quot;nofollow&quot;&gt;Phosphorous, the Popular Lisp&lt;/a&gt;, which if &quot;Popular Lisp&quot; didn't tip you off, is satirical ^_-&lt;/p&gt;&#xA;" OwnerDisplayName="paul.meier" LastActivityDate="2010-11-19T23:24:03.113" CommentCount="0" CommunityOwnedDate="2010-11-19T23:24:03.113" ContentLicense="CC BY-SA 2.5" />
  <row Id="3207" PostTypeId="2" ParentId="3160" CreationDate="2010-11-20T01:04:59.953" Score="18" Body="&lt;p&gt;There are no &quot;natural&quot; complexity-theory questions that have been proved independent of really powerful formal systems, such as ZF set theory or Peano Arithmetic.  (One could certainly construct such a question artificially, by playing games with G&amp;ouml;del sentences.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, yes, you &lt;i&gt;can&lt;/i&gt; interpret the statement that a sentence S relativizes as meaning that S can be proved from a certain restricted set of axioms (basically, the &quot;Cobham axioms&quot; that characterize closure under polynomial-time reductions).  Conversely, the existence of oracles making S either true or false is equivalent to S being independent of those particular axioms.  &lt;a href=&quot;http://www.cs.berkeley.edu/~vazirani/pubs/relativizing.ps&quot;&gt;Here's the paper&lt;/a&gt; to read about this, by Arora, Impagliazzo, and Vazirani.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is a very pretty connection mathematically---but it's worth stressing that we &lt;i&gt;do&lt;/i&gt; have techniques (such as arithmetization) that go outside the relativizing axioms.  And I don't know of any results of the form &quot;if natural open problem P can be solved at all, then it can also be solved in a relativizing way.&quot;&lt;/p&gt;&#xA;" OwnerUserId="1575" LastActivityDate="2010-11-20T01:04:59.953" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3208" PostTypeId="1" AcceptedAnswerId="3211" CreationDate="2010-11-20T06:40:01.013" Score="1" ViewCount="285" Body="&lt;p&gt;One method for proving a protocol secure is through simulation-based models. This simulator uses ideal/real paradigm in which a protocol is secure in the real model if it is proven secure in an ideal model using a trusted third party (you can refer to the Canetti's &lt;a href=&quot;http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=959888&quot; rel=&quot;nofollow&quot;&gt;UC framework&lt;/a&gt; to realize what is the power and use of this simulator, although use of this simulator dates back to 80s). This simulator is often given polynomial power to simulate the ideal world and if an external entity (observer) cannot distinguish between a real run and a simulated run with probability at most half plus negligible, we say that the protocol is secure or following UC terminology for realizing a functionality, the protocol securely realizes the functionality. It is good to mention that the simulator is also simulating the attacker, so the power of the simulator is essentially power of the attacker. There is often times that the simulator has superpolynomial power.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Question&lt;/strong&gt;: Does superpolynomial simulator has any advantage over a polynomial simulator? I need a good article on cons and pros of such a simulator.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;A good article in which the author have used a polynomial simulator is &lt;a href=&quot;http://www.cs.cornell.edu/~rafael/papers/ccacommit.pdf&quot; rel=&quot;nofollow&quot;&gt;Adaptive Hardness and Composable Security in the Plain Model from Standard Assumptions&lt;/a&gt; of Canetti. &lt;/p&gt;&#xA;" OwnerUserId="943" LastEditorUserId="943" LastEditDate="2010-11-20T10:39:12.047" LastActivityDate="2010-11-20T16:03:59.107" Title="Superpolynomial Simulator" Tags="&lt;cc.complexity-theory&gt;&lt;cr.crypto-security&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="3210" PostTypeId="2" ParentId="1955" CreationDate="2010-11-20T14:29:27.137" Score="9" Body="&lt;p&gt;The one I'm using the most for my courses is &lt;a href=&quot;http://books.google.com/books?id=mawCwVxkSbMC&quot;&gt;&lt;em&gt;Elements of Automata Theory&lt;/em&gt;&lt;/a&gt; by Jacques Sakarovitch, Cambridge University Press, 2009.  Its scope might be a bit different from the others', as it also extensively covers algebraic aspects, formal power series, and transductions.  And there are many exercises.&lt;/p&gt;&#xA;" OwnerUserId="609" LastActivityDate="2010-11-20T14:29:27.137" CommentCount="1" CommunityOwnedDate="2010-11-20T14:29:27.137" ContentLicense="CC BY-SA 2.5" />
  <row Id="3211" PostTypeId="2" ParentId="3208" CreationDate="2010-11-20T16:03:59.107" Score="1" Body="&lt;p&gt;Well, your edited version of the question revealed a reference to the following paper:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Rafael Pass. 2003. &lt;a href=&quot;http://www.springerlink.com/content/840he0h15jp61mcd/&quot; rel=&quot;nofollow&quot;&gt;Simulation in quasi-polynomial time, and its application to protocol composition&lt;/a&gt;. In &lt;em&gt;Proceedings of the 22nd international conference on Theory and applications of cryptographic techniques&lt;/em&gt; (EUROCRYPT'03), Eli Biham (Ed.). Springer-Verlag, Berlin, Heidelberg, 160-176. (See also &lt;a href=&quot;http://www.nada.kth.se/~rafael/papers/qpolsim.pdf&quot; rel=&quot;nofollow&quot;&gt;this version&lt;/a&gt;.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The paper discusses and justifies the need for such simulators. &#xA;The abstract reads:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;We propose a &lt;strong&gt;relaxation&lt;/strong&gt; of zero-knowledge, by allowing the&#xA;  simulator to run in &lt;strong&gt;quasi-polynomial&lt;/strong&gt; time. We show that protocols satisfying this notion can be constructed in settings where the standard definition is too restrictive. Specifically, we construct constant-round straight-line concurrent quasi-polynomial time simulatable arguments and show&#xA;  that such arguments can be used in &lt;strong&gt;advanced composition operations&lt;/strong&gt; without any set-up assumptions. Our protocols rely on slightly strong,&#xA;  but standard type assumptions (namely the existence of one-to-one one-way functions secure against subexponential circuits).&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;For a more thorough discussion, I suggest taking a look at Rafael Pass's &lt;a href=&quot;http://www.cs.cornell.edu/~rafael/papers/raf-lic.pdf&quot; rel=&quot;nofollow&quot;&gt;M.Sc. thesis&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="873" LastActivityDate="2010-11-20T16:03:59.107" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="3212" PostTypeId="2" ParentId="1955" CreationDate="2010-11-20T16:56:21.070" Score="5" Body="&lt;p&gt;I'm not sure this is the best book to prepare for exams, but the book&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;&lt;a href=&quot;http://books.google.com/books?id=qNdQAAAAMAAJ&quot;&gt;Finite Automata; Behavior and Synthesis&lt;/a&gt;&lt;/strong&gt; by B. A. Trakhtenbrot and Ya. M. Barzdinʹ&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;is quite good.  It has a surprising number of great results that I have found especially helpful in research.&lt;/p&gt;&#xA;" OwnerUserId="123" LastActivityDate="2010-11-20T16:56:21.070" CommentCount="0" CommunityOwnedDate="2010-11-20T16:56:21.070" ContentLicense="CC BY-SA 2.5" />
  <row Id="3213" PostTypeId="2" ParentId="2898" CreationDate="2010-11-20T17:21:45.477" Score="11" Body="&lt;p&gt;Some applications to metric embeddings. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Check this book by Matousek : &lt;a href=&quot;http://kam.mff.cuni.cz/~matousek/akt.html&quot;&gt;http://kam.mff.cuni.cz/~matousek/akt.html&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also check out these papers :&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Bi-Lipschitz embeddings into low-dimensional Euclidean spaces, J. Matousek (1990) ( He uses the van Kampen theorem to prove a lower bound)&lt;/li&gt;&#xA;&lt;li&gt;Inapproximability for Metric Embeddings into R^d, J. Matousek and A. Sidiropoulos&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="1503" LastActivityDate="2010-11-20T17:21:45.477" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3214" PostTypeId="2" ParentId="2953" CreationDate="2010-11-20T19:00:03.763" Score="22" Body="&lt;p&gt;There is &lt;em&gt;envisioning&lt;/em&gt;: describing to yourself in a detailed way what you are going to do,  before you start doing it.&#xA;It works extremely well when you have a complicated task ahead of you, like writing a paper, preparing a presentation, planning a class, etc.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I found that when I have a very clear vision in my head of what I'm going to do, actually doing it becomes easier and faster and the outcome is better. &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;It decreases dramatically the chances to miss something. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;It makes you think about the right &lt;em&gt;order&lt;/em&gt; to do things. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;It helps simplifying: we can't hold in our heads too many things at once, so it makes you concentrate on what's important, and modularize.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;So things just go more smoothly when you plan.&lt;/p&gt;&#xA;" OwnerUserId="1621" LastActivityDate="2010-11-20T19:00:03.763" CommentCount="1" CommunityOwnedDate="2010-11-20T19:00:03.763" ContentLicense="CC BY-SA 2.5" />
  <row Id="3215" PostTypeId="5" CreationDate="2010-11-20T20:09:20.997" Score="0" Body="&lt;p&gt;In complexity theory, &lt;a href=&quot;http://en.wikipedia.org/wiki/NP-hard&quot; rel=&quot;nofollow&quot;&gt;NP-hard problems&lt;/a&gt; are, informally speaking, problems which are at least as hard as all problems in &lt;a href=&quot;http://qwiki.stanford.edu/index.php/Complexity_Zoo%3aN#np&quot; rel=&quot;nofollow&quot;&gt;NP&lt;/a&gt;.  Difficulty of problems is compared by constructing reductions from one problem to the other.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;NP-hard problems which themselves belong to NP are called &lt;a href=&quot;http://en.wikipedia.org/wiki/NP-complete&quot; rel=&quot;nofollow&quot;&gt;NP-complete problems&lt;/a&gt;.  More informally, NP-complete problems are the hardest problems in NP.&lt;/p&gt;&#xA;" OwnerUserId="567" LastEditorUserId="567" LastEditDate="2010-11-20T20:09:20.997" LastActivityDate="2010-11-20T20:09:20.997" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3216" PostTypeId="4" CreationDate="2010-11-20T20:09:20.997" Score="0" Body="Questions related to NP-hardness and NP-completeness." OwnerUserId="567" LastEditorUserId="567" LastEditDate="2010-11-20T20:09:20.997" LastActivityDate="2010-11-20T20:09:20.997" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3217" PostTypeId="5" CreationDate="2010-11-20T20:29:35.527" Score="0" Body="&lt;p&gt;An &lt;a href=&quot;http://en.wikipedia.org/wiki/Approximation_algorithm&quot; rel=&quot;nofollow&quot;&gt;approximation algorithm&lt;/a&gt; for an optimization problem is an algorithm which finds a feasible solution, with a guarantee on how close the objective value of the solution produced by the algorithm is to the optimal value.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A question about the intrinsic difficulty of approximation should be tagged as &lt;a href=&quot;/questions/tagged/approximation-hardness&quot; class=&quot;post-tag&quot; title=&quot;show questions tagged 'approximation-hardness'&quot; rel=&quot;tag&quot;&gt;approximation-hardness&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="567" LastEditorUserId="567" LastEditDate="2010-11-20T20:29:35.527" LastActivityDate="2010-11-20T20:29:35.527" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3218" PostTypeId="4" CreationDate="2010-11-20T20:29:35.527" Score="0" Body="Questions about approximation algorithms." OwnerUserId="567" LastEditorUserId="567" LastEditDate="2010-11-21T00:32:27.470" LastActivityDate="2010-11-21T00:32:27.470" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3219" PostTypeId="2" ParentId="2953" CreationDate="2010-11-20T21:16:50.837" Score="69" Body="&lt;p&gt;For every question that you can't solve there's an easier variant that you can solve; for every question that you've just solved, there's a harder variant that you still can't solve.  Going back and forth across the &quot;boundary of solvability&quot; is extremely useful as it (1) allows you to progress in baby steps (2) gives you a clearer picture of the landscape.&lt;/p&gt;&#xA;" OwnerUserId="42" LastActivityDate="2010-11-20T21:16:50.837" CommentCount="1" CommunityOwnedDate="2010-11-20T21:16:50.837" ContentLicense="CC BY-SA 2.5" />
  <row Id="3220" PostTypeId="2" ParentId="3154" CreationDate="2010-11-20T23:20:09.237" Score="8" Body="&lt;p&gt;The other two &quot;classical&quot; methods are Haken's bottleneck method and Karchmer's &lt;a href=&quot;http://www.math.ias.edu/~avi/PUBLICATIONS/MYPAPERS/AVI/HUNGARY/proc.pdf&quot; rel=&quot;noreferrer&quot;&gt;fusion method&lt;/a&gt; (so named by Avi Wigderson), both much easier to apply in the monotone setting.&lt;/p&gt;&#xA;" OwnerUserId="40" LastActivityDate="2010-11-20T23:20:09.237" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3221" PostTypeId="2" ParentId="3111" CreationDate="2010-11-21T00:50:54.467" Score="9" Body="&lt;p&gt;The Association for Computational Heresy at CMU has a number of these, which are presented at the annual &lt;a href=&quot;http://sigbovik.org/&quot;&gt;SIGBOVIK&lt;/a&gt; conference (next held 04/01/2011). My personal favorite is : &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A theft-based approach to 3d object acquisition. &lt;/p&gt;&#xA;" OwnerDisplayName="user2333" LastActivityDate="2010-11-21T00:50:54.467" CommentCount="0" CommunityOwnedDate="2010-11-21T00:50:54.467" ContentLicense="CC BY-SA 2.5" />
  <row Id="3222" PostTypeId="2" ParentId="3111" CreationDate="2010-11-21T01:10:42.250" Score="7" Body="&lt;p&gt;&lt;a href=&quot;http://www.hpl.hp.com/techreports/Compaq-DEC/SRC-TN-1996-001.pdf&quot;&gt;&quot;Refinement in State-Based Formalism&quot;&lt;/a&gt; by Lamport.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;A friend of ours, who was a brilliant mathematician, has been hospitalized because of long-term abuse of hallucinogenic drugs. We decide to give him a digital clock for his room. However, his doctor suggests that the hour and minute displays together might be too confusing. So, we put tape over the minute display, turning our gift into a digital hour clock.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="2150" LastActivityDate="2010-11-21T01:10:42.250" CommentCount="0" CommunityOwnedDate="2010-11-21T01:10:42.250" ContentLicense="CC BY-SA 2.5" />
  <row Id="3223" PostTypeId="2" ParentId="2953" CreationDate="2010-11-21T03:23:44.177" Score="30" Body="&lt;p&gt;I'll start with some advice my advisor Amit Chakrabarti gave that I found quite useful:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(1) Keep a research journal and write in it every day.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Its easy to forget about the details of what I was thinking about 2 weeks ago.  Revisiting previous thoughts/problems/miniresults enables me to avoid reinventing the wheel. Also, I found it especially useful to write down places where I was getting stuck and not making progress.  Revisiting later often let me break through whatever I was trying to solve.  In a different way, writing in a journal forced me to spend those extra ten minutes at the end of the day to follow through and finish up whatever task I had left that day.  Otherwise, I probably would've just put it off until the next day.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(2) Set aside time to read research papers, even if they're not directly related to your current research.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I get tunnel-visioned, so if I don't do this I tend not to keep up with current research.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, it's been very useful to me to think about my research right before going to sleep/in the shower/while exercising/on the subway/etc.  Some of the other commenters seem to disagree here, especially with the right-before-bed part, but I've found it to be very useful.  I tend to look at the problem from different directions in these kinds of situations, and I might spot some insight I wouldn't have at work.&lt;/p&gt;&#xA;" OwnerUserId="1645" LastActivityDate="2010-11-21T03:23:44.177" CommentCount="0" CommunityOwnedDate="2010-11-21T03:23:44.177" ContentLicense="CC BY-SA 2.5" />
  <row Id="3224" PostTypeId="1" AcceptedAnswerId="3308" CreationDate="2010-11-21T06:01:08.567" Score="5" ViewCount="420" Body="&lt;p&gt;Bilinear Pairing in the elliptic curves is a wonderful mathematical mapping which is usually defined by the map &lt;span class=&quot;math-container&quot;&gt;$e:G_{1} \times G_{1} \rightarrow G_2$&lt;/span&gt; for some groups of &lt;span class=&quot;math-container&quot;&gt;$G_{1}$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$G_{2}$&lt;/span&gt;. For better understanding of pairing and its properties see the &lt;a href=&quot;http://en.wikipedia.org/wiki/Pairing&quot; rel=&quot;nofollow noreferrer&quot;&gt;wikipedia&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;Question1&lt;/strong&gt;: Are there any efficient bilinear pairing or efficient pairing algorithms? If so, is this algorithm applicable to all kind of pairings, I mean is it a general approach for efficiently computing any pairing or just an algorithm specific pairing? Meanwhile, I am familiar with Weil and Tate pairing, but efficiency of implementation and performance is my concern.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Question2&lt;/strong&gt;: Is there any article in which the efficient computability of pairing-based approaches are discussed? Or may be an article in which a comparison between pairing based approaches and discrete logarithm based approaches is discussed.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;I have read some pairing-based approaches for group key exchange in which there is no clue on how efficient they are and also there is no comparison of this kind with their previous algorithms. So I doubted may be there is a nice article on this which has paved the way.&lt;/p&gt;&#xA;" OwnerUserId="943" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2010-11-25T04:59:20.940" Title="Efficient Algorithm for bilinear pairing on ECC" Tags="&lt;computability&gt;&lt;cr.crypto-security&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="3226" PostTypeId="2" ParentId="3189" CreationDate="2010-11-21T14:13:52.263" Score="16" Body="&lt;p&gt;Can't you solve this by matrix multiplication? Let the sets be $S_1$, $S_2$, $\ldots$, $S_m$. Take matrix $A$ to be the $m \times n$ matrix where $A_{ij}=1$ if $j \in S_i$ and 0 otherwise, and $B$ to be the $m \times n$ matrix where $B_{ij}=1$ if $j \notin S_i$ and 0 otherwise. Now, $AB^T$ has a $0$ entry if and only if there is one set of $\mathcal{F}$ contained in another. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;So if you prove a lower bound of $\Omega(n^{2+\epsilon})$ for the case where $m = \theta(n)$, you have proven the same lower bound for matrix multiplication. This is a famous open problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I haven't thought much about it, but I don't see any way you could prove that this particular case of matrix multiplication is essentially as hard as the general case; if you really need a lower bound, this would seem to be the only hope you have of proving one without solving the matrix multiplication problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the plus side, this gives algorithms for this problem that are better than the naive algorithm that takes $\theta(m^2n)$.&lt;/p&gt;&#xA;" OwnerUserId="1677" LastEditorUserId="1677" LastEditDate="2010-11-21T14:26:09.750" LastActivityDate="2010-11-21T14:26:09.750" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3227" PostTypeId="5" CreationDate="2010-11-21T14:47:21.373" Score="0" Body="&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Graph_theory&quot; rel=&quot;nofollow&quot;&gt;Graph theory&lt;/a&gt; is part of discrete mathematics which studies &lt;a href=&quot;http://en.wikipedia.org/wiki/Graph_%28mathematics%29&quot; rel=&quot;nofollow&quot;&gt;graphs&lt;/a&gt;, mathematical structures used to model pairwise relations between objects.&lt;/p&gt;&#xA;" OwnerUserId="567" LastEditorUserId="567" LastEditDate="2010-11-21T14:47:21.373" LastActivityDate="2010-11-21T14:47:21.373" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3228" PostTypeId="4" CreationDate="2010-11-21T14:47:21.373" Score="0" Body="Graph theory is the study of graphs, mathematical structures used to model pairwise relations between objects." OwnerUserId="567" LastEditorUserId="567" LastEditDate="2010-11-21T14:47:21.373" LastActivityDate="2010-11-21T14:47:21.373" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3229" PostTypeId="1" AcceptedAnswerId="3384" CreationDate="2010-11-21T17:58:36.050" Score="29" ViewCount="2378" Body="&lt;p&gt;The recent breakthrough circuit complexity lower-bound result of Ryan Williams provides a proof technique that uses upper-bound result to prove complexity lower-bounds. Suresh Venkat in his answer to this question, &lt;a href=&quot;https://cstheory.stackexchange.com/questions/2802/are-there-any-counterintuitive-results-in-theoretical-computer-science/2914#2914&quot;&gt;Are there any counter-intuitive results in theoretical computer science?&lt;/a&gt;, provided two examples of establishing lower-bounds by proving upper-bounds.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;ul&gt;&#xA;  &lt;li&gt;&lt;p&gt;What are the other interesting results for proving complexity lower-bounds that was obtained by proving complexity upper-bounds? &lt;/p&gt;&lt;/li&gt;&#xA;  &lt;li&gt;&lt;p&gt;Is there any upper-bound conjecture that would imply $NP \not\subseteq P/poly$ (or $P \ne NP$)? &lt;/p&gt;&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="495" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2010-12-08T05:15:38.750" Title="Proving lower bounds by proving upper bounds" Tags="&lt;cc.complexity-theory&gt;&lt;lower-bounds&gt;" AnswerCount="7" CommentCount="4" FavoriteCount="11" ContentLicense="CC BY-SA 2.5" />
  <row Id="3230" PostTypeId="1" AcceptedAnswerId="3397" CreationDate="2010-11-21T19:03:06.197" Score="24" ViewCount="894" Body="&lt;p&gt;Counting the number of perfect matchings in a bipartite graph is immediately reducible to computing the permanent.  Since finding a perfect matching in a non-bipartite graph is in NP, there exists &lt;em&gt;some&lt;/em&gt; reduction from non-bipartite graphs to the permanent, but it may involve a nasty polynomial blowup by using Cook's reduction to SAT and then Valiant's theorem to reduce to the permanent.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An efficient and natural reduction $f$ from a non-bipartite graph $G$ to a matrix $A = f(G)$ where $\operatorname{perm}(A) = \Phi(G)$ would be useful for an actual implementation to count perfect matchings by using existing, heavily-optimized libraries that compute the permanent. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Updated:&lt;/strong&gt; I added a bounty for an answer including an efficiently-computable function to take an arbitrary graph $G$ to a bipartite graph $H$ with the same number of perfect matchings and no more than $O(n^2)$ vertices.&lt;/p&gt;&#xA;" OwnerUserId="59" LastEditorUserId="59" LastEditDate="2010-11-29T03:58:18.797" LastActivityDate="2010-11-29T16:34:08.093" Title="Is there a direct/natural reduction to count non-bipartite perfect matchings using the permanent?" Tags="&lt;graph-theory&gt;&lt;counting-complexity&gt;&lt;reductions&gt;&lt;permanent&gt;" AnswerCount="2" CommentCount="8" FavoriteCount="8" ContentLicense="CC BY-SA 2.5" />
  <row Id="3231" PostTypeId="2" ParentId="2802" CreationDate="2010-11-21T19:03:51.393" Score="11" Body="&lt;p&gt;Proving information-theoretic results based on complexity-theoretic assumptions is another counter-intuitive result. For instance, Bellare &lt;em&gt;et al.&lt;/em&gt; in their paper &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=100285&quot;&gt;The (True) Complexity of Statistical Zero Knowledge&lt;/a&gt; &lt;strong&gt;constructively&lt;/strong&gt; proved that, under the &lt;strong&gt;certified discrete log assumption&lt;/strong&gt;, any language that admits &lt;em&gt;honest-verifier&lt;/em&gt; statistical zero knowledge also admits statistical zero knowledge.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The result was so odd that it surprise the authors. They pointed out this fact several times; for instance, in the introduction:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Given  that  statistical  zero-knowledge  is  a  computationally  independent  notion,  it  is somewhat  strange  that properties  about  it  could  be  proved  under  a  computational  intractability  assumption.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;PS:&lt;/strong&gt; A stronger result was later proved unconditionally by Okamoto (&lt;a href=&quot;http://dx.doi.org/10.1006/jcss.1999.1664&quot;&gt;On Relationships between Statistical Zero-Knowledge Proofs&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;h3&gt;Description of some terms&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;Since the above result includes a lot of cryptographic jargon, I try to informally define each term.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;em&gt;Certified discrete log assumption:&lt;/em&gt; It is hard (for poly-size circuits) to solve the discrete logarithm, even if the group prime ($p$) is certified; that is, the factorization of $p-1$ is given.&lt;/li&gt;&#xA;&lt;li&gt;&lt;em&gt;Zero knowledge&lt;/em&gt;: A protocol which yields no knowledge to polynomial-time bounded parties.&lt;/li&gt;&#xA;&lt;li&gt;&lt;em&gt;Statistical zero knowledge:&lt;/em&gt; A protocol which yields no information, even to computationally unbounded parties, except with negligible probability.&lt;/li&gt;&#xA;&lt;li&gt;&lt;em&gt;Honest-verifier zero knowledge:&lt;/em&gt; A protocol which yields no knowledge to polynomial-time bounded parties, &lt;strong&gt;if&lt;/strong&gt; they act as specified by protocol.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="873" LastActivityDate="2010-11-21T19:03:51.393" CommentCount="0" CommunityOwnedDate="2010-11-21T19:03:51.393" ContentLicense="CC BY-SA 2.5" />
  <row Id="3232" PostTypeId="1" CreationDate="2010-11-21T19:40:43.657" Score="12" ViewCount="423" Body="&lt;p&gt;Smyth's chapter in the handbook of logic in computer science and other references describe how metric spaces can be used as domains. I do understand that complete metric spaces give unique fixed points but I don't understand why metric spaces are important. I'd really appreciate any thoughts on the following questions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What are good examples of the use of (ultra/quasi/pseudo)metric spaces in semantics? &#xA;In particular related to any example:&#xA;  Why do we need the metric structure? &#xA;  What do $\omega$-CPOs lack that the metric supplies?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also:&#xA;Is the unique fixed point property important? What's a good example?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks!&lt;/p&gt;&#xA;" OwnerUserId="2060" LastEditorUserId="186" LastEditDate="2010-11-22T02:26:13.077" LastActivityDate="2010-11-22T11:14:27.633" Title="In domain theory, what can the extra structure present in metric spaces be used for?" Tags="&lt;semantics&gt;&lt;topology&gt;&lt;denotational-semantics&gt;&lt;domain-theory&gt;&lt;metrics&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="3233" PostTypeId="2" ParentId="1556" CreationDate="2010-11-21T19:41:04.600" Score="7" Body="&lt;p&gt;First of all, you should study the fundamentals. I found &lt;a href=&quot;http://videolectures.net/stanfordcs229f07_machine_learning/&quot; rel=&quot;nofollow&quot;&gt;this&lt;/a&gt; Stanford University course indeed helpful. In particular, pay attention to &quot;Lecture 11&quot;. It covers best practices for applying machine learning techniques and debugging an application, no matter what learning model you use.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Additionally, among the open source ML frameworks, there are GATE and RapidMiner that look suitable for the task.&lt;/p&gt;&#xA;" OwnerUserId="2338" LastEditorUserId="2338" LastEditDate="2010-12-18T14:57:17.667" LastActivityDate="2010-12-18T14:57:17.667" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3234" PostTypeId="2" ParentId="3229" CreationDate="2010-11-21T19:47:34.733" Score="7" Body="&lt;p&gt;This is somehow different from what you asked, but since it is related, I thought I could mention it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://portal.acm.org/citation.cfm?id=803400&quot;&gt;Carter &amp;amp; Wegman (1977)&lt;/a&gt; introduced the notion of &lt;strong&gt;universal hashing&lt;/strong&gt;. The notion was used in numerous papers (&lt;a href=&quot;http://portal.acm.org/citation.cfm?id=808762&quot;&gt;Sipser (1983)&lt;/a&gt;, &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=808740&quot;&gt;Stockmeyer (1983)&lt;/a&gt;, &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=22192&quot;&gt;Babai (1985)&lt;/a&gt;, and &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=12137&quot;&gt;Goldwasser &amp;amp; Sipser (1986)&lt;/a&gt;) to prove &lt;strong&gt;approximate lower bounds&lt;/strong&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This was until 1987, in which &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=28418&quot;&gt;Fortnow&lt;/a&gt; made use of the &lt;em&gt;universal hashing&lt;/em&gt; to prove &lt;strong&gt;approximate upper bounds&lt;/strong&gt;. (In fact, to provide a protocol for proving approximate upper bounds.)&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;h3&gt;Edit:&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;These are not lower-bound results, but they might be useful anyway:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\rm{NP} \subset \rm{P/poly} \quad \Rightarrow \quad \rm{PH}=\rm{\Sigma_2^p}=\rm{\Pi_2^p}$&#xD;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\rm{NP} \subset \rm{P/poly} \quad \Rightarrow \quad \rm{AM}=\rm{MA}$&#xD;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\rm{coNP} \subset \rm{NP/poly} \quad \Rightarrow \quad \rm{PH}=\rm{\Sigma_3^p}=\rm{\Pi_3^p}$&lt;/p&gt;&#xA;" OwnerUserId="873" LastEditorUserId="873" LastEditDate="2010-11-21T22:06:33.390" LastActivityDate="2010-11-21T22:06:33.390" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3235" PostTypeId="2" ParentId="2147" CreationDate="2010-11-21T20:04:50.210" Score="12" Body="&lt;p&gt;Prasad Raghavendra in his &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=1374376.1374414&quot; rel=&quot;nofollow&quot;&gt;STOC'08 Best Paper&lt;/a&gt; proved, assuming the Unique Games Conjecture, that a simple semidefinite programming algorithm gives the best approximation for any constraint satisfaction problem (including NAE) with constraints on constant number of variables each and with constant alphabet.&#xA;To actually know what is the hardness factor for NAE, you need to understand how well the simple algorithm does for it, i.e., prove an integrality gap for the program. I don't know whether someone already did that for NAE in its full generality, or not. &lt;/p&gt;&#xA;" OwnerUserId="1621" LastActivityDate="2010-11-21T20:04:50.210" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3236" PostTypeId="1" CreationDate="2010-11-21T21:29:25.993" Score="8" ViewCount="1018" Body="&lt;p&gt;This question is motivated by my other question “&lt;a href=&quot;https://cstheory.stackexchange.com/questions/3048/gap-hardness-of-multi-dimensional-cover&quot;&gt;Gap hardness of Multi-Dimensional Cover&lt;/a&gt;,” which is in turn motivated by the question “&lt;a href=&quot;https://cstheory.stackexchange.com/questions/2915/set-cover-for-permutation-matrices&quot;&gt;Set Cover for Permutation Matrices&lt;/a&gt;” by Brayden Ware.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Informal statement&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;Recall the NP-complete problems Exact Cover by 3-Sets and 3-Dimensional Matching, and consider their natural generalizations Exact Cover by Equally-Sized Sets and Multi-Dimensional Matching, where the number “3” is no longer fixed and given as part of input.  Clearly, these four problems are reducible to one another because they are NP-complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Informally, the question is the following: is Exact Cover by Equally-Sized Sets reducible to Multi-Dimensional Matching so that “far from yes” instances of the former are mapped to “far from yes” instances of the latter, where “far from yes” means that “the size of the minimum cover is large”?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(There are other sensible formulations of “far from yes,” such as “the size of the maximum packing is small,” but in this question we are particularly interested in the formulation stated above.)&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Formal statement&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;Consider the following two optimization problems.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Minimum Cover by Equally-Sized Sets&lt;/strong&gt;&lt;br&gt;&#xA;&lt;em&gt;Instance&lt;/em&gt;: &lt;i&gt;k&lt;/i&gt;∈ℕ, a finite set &lt;i&gt;X&lt;/i&gt; and a collection &lt;i&gt;F&lt;/i&gt; of subsets of &lt;i&gt;X&lt;/i&gt; such that each set &lt;i&gt;E&lt;/i&gt;∈&lt;i&gt;F&lt;/i&gt; consists of exactly &lt;i&gt;k&lt;/i&gt; elements.&lt;br&gt;&#xA;&lt;em&gt;Solution&lt;/em&gt;: A cover &lt;i&gt;C&lt;/i&gt; of &lt;i&gt;X&lt;/i&gt; in &lt;i&gt;F&lt;/i&gt;.&lt;br&gt;&#xA;&lt;em&gt;Objective&lt;/em&gt;: Minimize &lt;i&gt;k&lt;/i&gt;|&lt;i&gt;C&lt;/i&gt;|/|&lt;i&gt;X&lt;/i&gt;|.  (This is clearly equivalent to minimizing |&lt;i&gt;C&lt;/i&gt;|, but the way it is stated is relevant because we will later use the optimal value.)&lt;br&gt;&#xA;(This is a generalization of Exact Cover by Equally-Sized Sets.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Minimum Multi-Dimensional Cover&lt;/strong&gt;&lt;br&gt;&#xA;&lt;em&gt;Instance&lt;/em&gt;: &lt;i&gt;k&lt;/i&gt;, &lt;i&gt;X&lt;/i&gt; and &lt;i&gt;F&lt;/i&gt; as defined in Minimum Cover by Equally-Sized Sets, and a partition of &lt;i&gt;X&lt;/i&gt; into &lt;i&gt;k&lt;/i&gt; sets &lt;i&gt;X&lt;/i&gt;&lt;sub&gt;1&lt;/sub&gt;, …, &lt;i&gt;X&lt;/i&gt;&lt;sub&gt;&lt;i&gt;k&lt;/i&gt;&lt;/sub&gt; each of size |&lt;i&gt;X&lt;/i&gt;|/&lt;i&gt;k&lt;/i&gt; such that every set &lt;i&gt;E&lt;/i&gt;∈&lt;i&gt;F&lt;/i&gt; contains exactly one element in &lt;i&gt;X&lt;/i&gt;&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt; for each 1≤&lt;i&gt;i&lt;/i&gt;≤&lt;i&gt;k&lt;/i&gt;.&lt;br&gt;&#xA;&lt;em&gt;Solution, Objective&lt;/em&gt;: Same as Exact Cover by Equally-Sized Sets.&lt;br&gt;&#xA;(This is a generalization of Multi-Dimensional Matching.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Minimum Multi-Dimensional Cover can be viewed as a special case of Minimum Cover by Equally-Sized Sets.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We would like to compare the approximability of these two problems &lt;em&gt;at the location 1&lt;/em&gt; (in the sense of “gap location” [Pet94]).  More precisely,&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Question&lt;/strong&gt;.  Does there exist a polynomial-time computable function &lt;i&gt;f&lt;/i&gt; which maps every instance &lt;i&gt;I&lt;/i&gt; of Minimum Cover by Equally-Sized Sets to an instance &lt;i&gt;f&lt;/i&gt;(&lt;i&gt;I&lt;/i&gt;) of Minimum Multi-Dimensional Cover so that the following conditions are both satisfied?&lt;/p&gt;&#xA;  &#xA;  &lt;ol&gt;&#xA;  &lt;li&gt;If the optimal value of &lt;i&gt;I&lt;/i&gt; is equal to 1, the optimal value of &lt;i&gt;f&lt;/i&gt;(&lt;i&gt;I&lt;/i&gt;) is also equal to 1.&lt;/li&gt;&#xA;  &lt;li&gt;There exists a constant &lt;i&gt;c&lt;/i&gt;&amp;gt;0 such that for every instance &lt;i&gt;I&lt;/i&gt; of Minimum Cover by Equally-Sized Sets, the optimal value of &lt;i&gt;f&lt;/i&gt;(&lt;i&gt;I&lt;/i&gt;) is at least &lt;i&gt;c&lt;/i&gt; times the optimal value of &lt;i&gt;I&lt;/i&gt;.&lt;/li&gt;&#xA;  &lt;/ol&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;It is more desirable if the function &lt;i&gt;f&lt;/i&gt; increases the size of the set &lt;i&gt;X&lt;/i&gt; only linearly, but I do not make this a requirement for this question.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Known facts&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;On the good news side, we can apply the greedy algorithm for Set Cover to both problems to obtain a (ln &lt;i&gt;k&lt;/i&gt; + O(1))-approximate solution [Joh74] and a (ln |&lt;i&gt;X&lt;/i&gt;| − ln ln |&lt;i&gt;X&lt;/i&gt;| + O(1))-approximate solution [Sla97].&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the bad news side, I do not know how much of the inapproximability results of Set Cover can be applied to obtain a result about hardness of these special cases, let alone hardness of these problems at the location 1.  The only result that I am aware of about the hardness of Minimum Multi-Dimensional Cover at the location 1 is the following result by Petrank [Pet94]: there exists a constant &lt;i&gt;c&lt;/i&gt;&amp;gt;0 such that it is NP-complete to decide, given an instance of Minimum Multi-Dimensional Cover, whether the optimal value is equal to 1 or greater than &lt;i&gt;c&lt;/i&gt;, even if &lt;i&gt;k&lt;/i&gt; is fixed to &lt;i&gt;k&lt;/i&gt;=3.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;References&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;[Joh74] David S. Johnson.  Approximation algorithms for combinatorial problems.  &lt;em&gt;Journal of Computer and System Sciences&lt;/em&gt;, 9(3):256–278, Dec. 1974.  &lt;a href=&quot;http://dx.doi.org/10.1016/S0022-0000(74)80044-9&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://dx.doi.org/10.1016/S0022-0000(74)80044-9&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[Pet94] Erez Petrank.  The hardness of approximation: Gap location.  &lt;em&gt;Computational Complexity&lt;/em&gt;, 4(2):133–157, April 1994.  &lt;a href=&quot;http://dx.doi.org/10.1007/BF01202286&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://dx.doi.org/10.1007/BF01202286&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[Sla97] Petr Slavík.  A tight analysis of the greedy algorithm for set cover.  &lt;em&gt;Journal of Algorithms&lt;/em&gt;, 25(2):237–254, Nov. 1997.  &lt;a href=&quot;http://dx.doi.org/10.1006/jagm.1997.0887&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://dx.doi.org/10.1006/jagm.1997.0887&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="567" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2010-11-21T21:29:25.993" Title="Is Exact Cover by Equally-Sized Sets reducible to Multi-Dimensional Matching in a certain nice way?" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;&lt;approximation-hardness&gt;&lt;set-cover&gt;&lt;matching&gt;" AnswerCount="0" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3237" PostTypeId="2" ParentId="3232" CreationDate="2010-11-21T22:23:11.840" Score="16" Body="&lt;p&gt;Relative to domain structure, metric structure gives you extra data on the carrier set. Basically, you can compare any two elements of a metric space and furthermore you know how much two elements are different, whereas in domains the order structure is partial, and you don't have a quantitative measure of how much elements differ.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Pragmatically, this extra structure is useful in that it makes solving domain equations hugely easier. Back in the 80s there were a lot of Dutch computer scientists using metric space equations to model concurrency, but it's also of current interest. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you've been following the usual places (POPL/ICFP/ESOP/etc), you'll have noticed that so-called step-indexed models are big business these days, since they let you give models of languages with combinations of features (such as impredicative polymorphism and higher-order state) that are difficult to treat with classical domain-theoretic models. However, the constructions used in these models are hauntingly similar to solving domain equations, and it's natural to wonder what the heck the connection is. Lars Birkedal and his collaborators have had the general idea that solving domain equations on bisected (ie, distances between any two points are all of the form $2^{-n}$ for some $n$) ultrametric spaces is the secret denotational life of step-indexed models. See Birkedal, Stovring and Thamsborg's paper &quot;The Category-Theoretic Solution of Recursive Metric Space Equations&quot; for some recent work in this area. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, all this work has been focused on getting models at all, but that's not the only thing we're interested in -- we can't just replace partial orders with metric structure in a denotational model and expect it to mean exactly the same thing. So you might wonder what the impact of metric models on properties like full abstraction, for example. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Escardo showed in his 1999 paper &quot;A Metric Model of PCF&quot; that a straightforward metric model of PCF was adequate but not fully abstract -- the extra metric structure could be used to model timeout constants. Concretely, you could model a constant $\mathrm{timeout}\;n\;e$ which would raise an error if $e$ did not return in $n$ steps or fewer. This is information that a metric model can see, because it has distance information, but it's information a domain model can't, since the information order doesn't tell you &quot;how evaluated&quot; a value is. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This extra resolving power is both the strength and the weakness of metric techniques. In their note &quot;Step Indexing: the Good, the Bad, and the Ugly&quot;, Benton and Hur show that the extra structure of step-indexed models is very useful for them give to give realizability-style correctness proofs of programming languages implemented in terms of bad low-level languages. However, the extra structure also keeps them from performing optimizations that are in some sense &quot;too effective&quot;, because it might mess up the distance information. So it both helps and hurts them.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT: I should also give an example of when Banach's fixed point theorem of metric spaces can be useful. In domains, we find fixed points by, basically, Kleene's fixed point theorem. This says that if we have a pointed domain $D$, and a continuous function $f$ on it, then iterating from $\bot$ gives us the least fixed point. This theorem makes no claims about the uniqueness of fixed points in general -- iterating from something other than $\bot$ can give us other fixed points. So if you want to consider recursion definitions on a domain, you have no choice but to admit nontermination into it. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, you might not want to do that. For example, in my own recent research (with Nick Benton), I've been working on higher-order synchronous dataflow programming. Here, the idea is that we can model interactive programs through time as stream functions. Naturally, we want to consider recursive definitions (for example, imagine writing a function which receives a stream of numbers as inputs, and outputs a stream of numbers corresponding to the sum of the stream elements seen so far). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;But an explicit goal of this work is to ensure that only well-founded definitions are allowed, while still allowing recursive definitions. So, I model streams as ultrametric spaces and functions on them as nonexpansive maps (as an aside, this generalizes the causality condition of reactive programming). Under the metric I use, a guarded definition on stream functions corresponds to a contractive function on streams, and so by Banach's fixed point theorem, a unique fixed point exists. Intuitively, the uniqueness property means that computing fixed points works the same no matter what element of the space we start with, so as a result we can compute fixed points of contractive functions on a space, even if the space doesn't have a minimal element in the sense of domain theory. &lt;/p&gt;&#xA;" OwnerUserId="657" LastEditorUserId="657" LastEditDate="2010-11-22T11:14:27.633" LastActivityDate="2010-11-22T11:14:27.633" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3238" PostTypeId="2" ParentId="3229" CreationDate="2010-11-21T22:37:07.017" Score="12" Body="&lt;p&gt;The incompressibility method is a method based on Kolmogorov complexity to prove lower bounds. One of the first application of this method was to prove that recognizing palindromes on a Turing machine with a single tape requires quadratic time. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Loosely speaking, the idea of this method is to describe a procedure to find an input using the information contained in the run of an algorithm solving the problem we consider on this input. The better is the procedure, the higher is the lower bound on the original problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course, full details can be found in &lt;a href=&quot;http://homepages.cwi.nl/~paulv/kolmogorov.html&quot;&gt;the textbook of Li and Vitanyi&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="899" LastActivityDate="2010-11-21T22:37:07.017" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3239" PostTypeId="1" CreationDate="2010-11-21T23:17:51.603" Score="2" ViewCount="201" Body="&lt;p&gt;The domains of interest to me are:&#xA;1. Robotics&#xA;2. Search&#xA;3. NLP&#xA;4. Image feature extraction&#xA;5. Network optimization&#xA;6. Network security&lt;/p&gt;&#xA;" OwnerUserId="2311" LastEditorUserId="186" LastEditDate="2010-11-22T02:20:08.350" LastActivityDate="2010-11-22T02:20:08.350" Title="Is there a list of NPC or harder problems for specific real world problem domains?" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;np-hardness&gt;" AnswerCount="0" CommentCount="9" ClosedDate="2018-07-04T11:00:15.627" ContentLicense="CC BY-SA 2.5" />
  <row Id="3240" PostTypeId="1" AcceptedAnswerId="3243" CreationDate="2010-11-22T00:24:06.370" Score="11" ViewCount="707" Body="&lt;p&gt;Assume that NP=co-NP and polynomial $p(x)$ bounds the length of the proof of unsatisfiability for a 3-CNF instance $x$. Then are there any results on what &lt;em&gt;form&lt;/em&gt; any proof of unsatisfiability for $x$ of length $\leq p(x)$ can take? &lt;br&gt;&#xA;I.e. in general, would such a proof have to, for instance, use the full power of second-order logic over infinite structures (I am aware that the proposition to prove - that a formula is unsatisfiable can be expressed in second-order logic over finite structures but intermediate steps in the proof to get to that might require reasoning over infinite structures). &lt;br&gt;&#xA;Since there is no effective, complete and sound system of inference for second-order logic, would it be possible to use such a result to prove NP $\neq$ co-NP?&lt;/p&gt;&#xA;" OwnerUserId="24" LastEditorUserId="186" LastEditDate="2010-11-22T02:05:15.753" LastActivityDate="2010-11-22T06:40:56.587" Title="NP vs co-NP and second-order logic" Tags="&lt;cc.complexity-theory&gt;&lt;lo.logic&gt;&lt;np&gt;&lt;proof-complexity&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="3241" PostTypeId="5" CreationDate="2010-11-22T00:37:19.697" Score="0" Body="&lt;p&gt;CSP stands for the &lt;a href=&quot;http://en.wikipedia.org/wiki/Constraint_satisfaction_problem&quot; rel=&quot;nofollow&quot;&gt;constraint satisfaction problem&lt;/a&gt;.  If your question is in fact about SAT, you may want to use the more specific tag &lt;a href=&quot;/questions/tagged/sat&quot; class=&quot;post-tag&quot; title=&quot;show questions tagged 'sat'&quot; rel=&quot;tag&quot;&gt;sat&lt;/a&gt; instead.&lt;/p&gt;&#xA;" OwnerUserId="567" LastEditorUserId="567" LastEditDate="2010-11-22T00:37:19.697" LastActivityDate="2010-11-22T00:37:19.697" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3242" PostTypeId="4" CreationDate="2010-11-22T00:37:19.697" Score="0" Body="CSP stands for the constraint satisfaction problem." OwnerUserId="567" LastEditorUserId="567" LastEditDate="2010-11-22T00:37:19.697" LastActivityDate="2010-11-22T00:37:19.697" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3243" PostTypeId="2" ParentId="3240" CreationDate="2010-11-22T02:04:42.650" Score="7" Body="&lt;p&gt;If there is an optimal pps (pps = &lt;a href=&quot;http://en.wikipedia.org/wiki/Propositional_proof_system&quot;&gt;propositional proof system&lt;/a&gt;, an optimal pps is a pps that can p-simulate any other proof system) then the pps EF (Extended Frege) strengthened with propositional axioms stating the soundness of the optimal propositional proof system will be optimal. More generally EF + Soundness of pps P can p-simulate P for any P. So EF has a kind of generality that you don't need to change the logic or the underlying pps structure, but just add propositional axioms to it to get any arbitrary strong pps.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In particular, if there is a super pps (a pps which has polynomial size proofs for all tautologies) then EF + Soundness of that pps will be a super pps. Note that $NP = coNP$ is equivalent to the existence of a super pps.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Soundness of a pps P is a (sequence of) propositional formulas stating that if $\pi$ is a proof in P for $\varphi$, then $\varphi$ is true.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In summery, there is no need to go outside propositional logic.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;ps: Note that all pps are effective by definition, a pps has a polynomial time verifier, and therefore its theorems are computably enumerable. $NP=coNP$ means that there is a super pps for the &lt;em&gt;propositional&lt;/em&gt; formulas. Being propositional is important here. We know that there is no such thing for stronger logics but their nonexistence does not seem to have any effect on $NP$ vs $coNP$.&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2010-11-22T06:40:56.587" LastActivityDate="2010-11-22T06:40:56.587" CommentCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="3244" PostTypeId="1" AcceptedAnswerId="3271" CreationDate="2010-11-22T02:14:49.990" Score="2" ViewCount="258" Body="&lt;p&gt;This is a question about nonuniform circuit families that's kind of bothering me. Let $\lbrace C_n \rbrace$ be a family of circuits for a language $L$ such that for inputs $x$ of length $n$, $C_n(x) = L(x)$. This implies that $C_n$ has to answer correctly on all inputs of the form $0y$, where $|y| \leq n-1$, right? In that case, that implies that in specifying a circuit family $\lbrace C_n \rbrace$, you can leave out arbitrary long (but finite) sequences of circuits in this (infinitary) &quot;description&quot;, and you wouldn't have lost any part of your description. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm sure this is not profound in the slightest, but it does seem strange to me - that for each $n$, the circuit $C_n$ subsumes all of the $C_k$ for $k &amp;lt; n$. &lt;/p&gt;&#xA;" OwnerUserId="170" LastEditorUserId="1677" LastEditDate="2010-11-22T05:36:44.860" LastActivityDate="2010-11-22T23:30:50.653" Title="Nonuniform circuit families - don't have to specify for arbitrarily large, but finite, input lengths?" Tags="&lt;cc.complexity-theory&gt;&lt;circuit-families&gt;&lt;advice-and-nonuniformity&gt;" AnswerCount="2" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3245" PostTypeId="1" CreationDate="2010-11-22T02:38:20.647" Score="27" ViewCount="767" Body="&lt;p&gt;If $G=(V,E)$ is an undirected $d$-regular graph and $S$ is a subset of the vertices of cardinality $\leq |V|/2$, call the &lt;em&gt;edge expansion&lt;/em&gt; of $S$ the quantity&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\phi(S) := \frac {Edges(S,V-S)}{d\cdot |S|\cdot |V-S|}$&#xD;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Where $Edges(A,B)$ is the number of edges with one endpoint in $A$ and one endpoint in $B$. Then the &lt;em&gt;Edge Expansion&lt;/em&gt; problem is to find a set $S$ with $|S|\leq |V|/2$ that minimizes $\phi(S)$. Call $\phi(G)$ the expansion of an optimal set.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The &lt;em&gt;Spectral Partitioning Algorithm&lt;/em&gt; for the Edge Expansion problem works by finding an eigenvector $x$ of the second largest eigenvalue of $A$, the adjacency matrix of $G$, and then considering all the ``threshold sets'' $S$ of the form $\{ v : x(v) \leq t \}$ over all thresholds $t$. If we let $\lambda_2$ be the second largest eigenvalue of the  matrix $\frac 1d \cdot A$, then the analysis of the Spectral Partitioning Algorithm shows that the best threshold set $S_{SP}$ found by the algorithm satisfies&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\phi(S_{SP}) \leq 2\sqrt {\phi(G)}$&#xD;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Which follows from the &lt;em&gt;Cheeger's Inequalities&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\phi(S_{SP}) \leq \sqrt{2\cdot (1-\lambda_2)}$&#xD;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;and&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$1-\lambda_2 \leq 2 \phi(G)$&#xD;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is the first paper to make such a claim? What papers are to credit for the ideas? Here is what I have got:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&#xA;&lt;li&gt;&#xA;N. Alon and V.D. Milman. $\lambda_1$, isoperimetric inequalities for graphs, and superconcentrators, Journal of Combinatorial Theory, Series B, 1985, 38(1):73-88&#xA;&#xA;&lt;p&gt;&#xA;&#xA;Prove a result in the spirit of the &quot;simple&quot; Cheeger inequality $1-\lambda_2 \leq 2\phi(G)$, but for vertex expansion instead of edge expansion. Recognize that the relation between edge expansion and eigenvalues is the discrete version of a problem studied by Cheeger in&#xA;&#xA;&lt;p&gt;&#xA;&#xA;J. Cheeger. A lower bound for the smallest eigenvalue of the Laplacian. Problems in Analysis, 1970.&#xA;&#xA;&lt;li&gt;N. Alon. Eigenvalues and expanders. Combinatorica. 6(2):83-96, 1986. &#xA;&#xA;&lt;p&gt;&#xA;&#xA;Proves a result in the spirit of the difficult Cheeger inequality $\phi(S_{SP}) \leq \sqrt{2\cdot (1-\lambda_2)}$ but for vertex expansion instead of edge expansion.&#xA;&#xA;&lt;li&gt;A. Sinclair, M. Jerrum. Approximate counting, uniform generation, and rapidly mixing Markov chains. Information and Computation 82:93-133, 1989 (Conference version 1987)&#xA;&#xA;&lt;p&gt;&#xA;&#xA;Prove the Cheeger inequalities as stated above. (Their paper studies _conductance_ of time-reversible Markov chains, which happens to equal _edge expansion_ in regular graphs.) They credit the work of Alon and Milman and of Alon for the techniques. They also credit Aldous for a related bound between mixing time and edge expansion in regular graphs. &#xA;&#xA;&lt;li&gt;M Mihail. Conductance and convergence of Markov chains-a combinatorial treatment of expanders. FOCS 1989, pages 526-531&#xA;&#xA;&lt;p&gt;&#xA;&#xA;While the main point of the paper is that its techniques apply to non-time-reversible Markov chains, when it is applied to regular undirected graphs it has an advantage over previous work: it shows that if one runs the spectral partitionig algorithm with an arbitrary vector, one still obtains the inequality $\phi(S_{SP}) \leq \sqrt{2\cdot (1-\lambda&amp;#39;)}$ where $\lambda&amp;#39;$ is the Rayleigh quotient of the vector. The arguments of Alon, Milman, Sinclair and Jerrum require an actual eigenvector. This is relevant to fast spectral partitioning algorithms that use approximate eigenvectors.&#xA;&#xA;&lt;/uL&gt;&#xA;&#xA;Are there other papers that should be credited in terms of proof techniques?&#xA;&#xA;&lt;p&gt;&#xA;&#xA;When is the algorithmic significance of the above results, as graph partitioning algorithms, first recognized? The above papers have no such discussion.&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;" OwnerUserId="1069" LastEditorUserId="80" LastEditDate="2010-11-22T10:01:47.257" LastActivityDate="2010-11-22T18:19:58.960" Title="Papers to credit for spectral partitioning of graphs" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;ho.history-overview&gt;&lt;expanders&gt;&lt;spectral-graph-theory&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="11" ContentLicense="CC BY-SA 2.5" />
  <row Id="3246" PostTypeId="2" ParentId="2924" CreationDate="2010-11-22T03:57:39.487" Score="4" Body="&lt;p&gt;I'm going to try to answer you question by proposing an alternate model for the question.  I typically ask more questions than I answer on here, so I hope you'll be forgiving if my answer isn't optimal, although I'm doing my best.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think that the way to phrase the question that would be optimal for allowing game theory to be useful would be to assume a more competitive scenario.  I.e., there needs to be competition among a variety of different actors.  So, I would assume the following:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;There is a large but finite number &lt;em&gt;n&lt;/em&gt; of other researchers attempting to pursue the same set of available research questions, which I call &lt;em&gt;Q&lt;/em&gt;, that you are interested in.&lt;/li&gt;&#xA;&lt;li&gt;Each research problem is defined by the following characteristics:&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;em&gt;Time investment&lt;/em&gt;, or &lt;em&gt;I&lt;/em&gt;, required to achieve visibility on whether or not you'll be able to solve the problem&lt;/li&gt;&#xA;&lt;li&gt;&lt;em&gt;Probability of success&lt;/em&gt;, or &lt;em&gt;S&lt;/em&gt;, at solving the problem; once you reach the &quot;moment of truth&quot; and have invested enough time, Nature will decide randomly if you're going to be able to solve the problem or not&lt;/li&gt;&#xA;&lt;li&gt;&lt;em&gt;Benefit to your career&lt;/em&gt;, or &lt;em&gt;U&lt;/em&gt; (as in utility), provided success is achieved&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;li&gt;Each of these researchers have different levels of the following quantities:&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Time available for investment in research, &lt;em&gt;t&lt;/em&gt;&lt;/li&gt;&#xA;&lt;li&gt;Talent at research, &lt;em&gt;r&lt;/em&gt;&lt;/li&gt;&#xA;&lt;li&gt;Interpersonal skills and other career-assisting qualities, &lt;em&gt;l&lt;/em&gt; (as in likable), which will determine how well the researcher will capitalize on their research successes for their career advancement&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Now, assuming no cooperation on any problem is possible, consider what I'm going to refer to as a &quot;dynamic iterated game.&quot;  This is a game that is played repeatedly, but that changes slightly each time it is played.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let &lt;em&gt;M&lt;/em&gt; be the number of moves, or turns, in the game.  The initial manifestation of the game could be represented as a list that contains every actor (researcher) and every problem that they could work on, in addition to all of the values associated with each actor and each problem that I listed above.  (I'm assuming, of course, that every researcher knows everything presently known about all of the problems, and about all other researchers, making this a game of perfect information.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;During each iteration of the game, a given actor chooses a research question to work on.  Each actor is permitted to switch questions at any time, and if a problem is solved, the benefit to career &lt;em&gt;U&lt;/em&gt; gets dropped to 0 for all other players.  If a player invests sufficient time and fails to solve the problem, then that particular player is prohibited from trying to solve that problem again...although any other player is allowed to continue working on the problem, and another actor may be able to solve it successfully.  The game ends after all &lt;em&gt;M&lt;/em&gt; turns have been taken.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Each turn that a researcher has selected a problem will cause that player to get closer to reaching the &quot;moment of truth,&quot; and possibly solving the problem, Nature permitting.  A problem, once solved, adds a certain benefit to the researcher's career based on &lt;em&gt;l&lt;/em&gt;.  Research talent amplifies the probability of success, while free time amplifies the ability to make progress in a given turn.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I doubt that there is any polynomial time algorithm for solving this; I see no reason why researchers should be restricted to playing pure-strategy Nash equilibria, so the problem would involve mixed-strategy Nash equilibria and thus be at worst PPAD-complete, if you consider &quot;solving the problem&quot; to mean &quot;finding a Nash equilibrium for the problem.&quot;  (One could imagine that if you are the most proactive researcher around, you might go ahead and calculate your favorite Nash equilibrium and then signal it to all other players...thus giving you some confidence that no one will change strategies away from the strategy profile you've signaled.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;At any rate, this is the most involved answer I've ever posted.  I hope it is of at least some value.  Please let me know if anyone has any response or to it or recommendations for improving it.&lt;/p&gt;&#xA;" OwnerUserId="1338" LastActivityDate="2010-11-22T03:57:39.487" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="3247" PostTypeId="5" CreationDate="2010-11-22T04:47:26.970" Score="0" Body="&lt;p&gt;This tag is for questions related to hardness of approximation (also called inapproximability) of optimization problems.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Please consider adding also &lt;a href=&quot;/questions/tagged/cc.complexity-theory&quot; class=&quot;post-tag&quot; title=&quot;show questions tagged 'cc.complexity-theory'&quot; rel=&quot;tag&quot;&gt;cc.complexity-theory&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Questions specifically related to probabilistically checkable proofs are better tagged as &lt;a href=&quot;/questions/tagged/pcp&quot; class=&quot;post-tag&quot; title=&quot;show questions tagged 'pcp'&quot; rel=&quot;tag&quot;&gt;pcp&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Questions about approximation algorithms rather than hardness should be tagged as &lt;a href=&quot;/questions/tagged/approximation-algorithms&quot; class=&quot;post-tag&quot; title=&quot;show questions tagged 'approximation-algorithms'&quot; rel=&quot;tag&quot;&gt;approximation-algorithms&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Questions about NP-hardness of solving optimization problems exactly rather than approximately should be tagged as &lt;a href=&quot;/questions/tagged/np-hardness&quot; class=&quot;post-tag&quot; title=&quot;show questions tagged 'np-hardness'&quot; rel=&quot;tag&quot;&gt;np-hardness&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="567" LastEditorUserId="567" LastEditDate="2010-11-22T04:47:26.970" LastActivityDate="2010-11-22T04:47:26.970" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3248" PostTypeId="4" CreationDate="2010-11-22T04:47:26.970" Score="0" Body="Hardness of approximation, aka inapproximability." OwnerUserId="567" LastEditorUserId="567" LastEditDate="2010-11-22T04:47:26.970" LastActivityDate="2010-11-22T04:47:26.970" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3249" PostTypeId="2" ParentId="3244" CreationDate="2010-11-22T06:47:12.293" Score="3" Body="&lt;p&gt;&lt;strong&gt;No&lt;/strong&gt;, your implication is wrong. The string $\vec{0}y$ is different from $y$. For example, assume that your circuits output the first bit of their inputs. If the first letter of $y$ is $1$ then you would get $C_{|y|}(y) = 1$, but $C_n(\vec{0}y) = 0$.&lt;/p&gt;&#xA;" OwnerUserId="508" LastEditorUserId="508" LastEditDate="2010-11-22T07:34:10.847" LastActivityDate="2010-11-22T07:34:10.847" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3250" PostTypeId="2" ParentId="1842" CreationDate="2010-11-22T08:37:11.790" Score="12" Body="&lt;p&gt;The problem turned out to be NP-complete. You can read more in detail &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0020019016300552&quot; rel=&quot;noreferrer&quot;&gt;here&lt;/a&gt; and &lt;a href=&quot;https://hal.archives-ouvertes.fr/hal-01189621/document&quot; rel=&quot;noreferrer&quot;&gt;here&lt;/a&gt;. Short summary:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The reduction is from a problem was shown to be NP-complete by Dasgupta, Jiang, Kannan, Li, and Sweedyk: given a bipartite graph G and an integer k, decide if G has an induced subgraph on 2k nodes that can be extended to be uniquely matchable. It was observed by Stéphane Vialette that this reduces to the bipartite unique matching version of this problem if we add n-k isolated nodes to both classes. &lt;/p&gt;&#xA;" OwnerUserId="419" LastEditorUserId="419" LastEditDate="2016-08-28T07:59:30.750" LastActivityDate="2016-08-28T07:59:30.750" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="3253" PostTypeId="1" CreationDate="2010-11-22T15:00:14.660" Score="251" ViewCount="122641" Body="&lt;p&gt;[&lt;a href=&quot;https://cstheory.stackexchange.com/posts/3253/timeline&quot;&gt;Timeline&lt;/a&gt;]&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;This question has the same spirit of &lt;a href=&quot;https://cstheory.stackexchange.com/q/1168/873&quot;&gt;what papers should everyone read&lt;/a&gt; and &lt;a href=&quot;https://cstheory.stackexchange.com/q/1198/873&quot;&gt;what videos should everybody watch&lt;/a&gt;. It asks for remarkable books in different areas of theoretical computer science.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The books can be math-oriented, yet you may find it great for a computer scientist.&#xA;Examples:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Probability&lt;/li&gt;&#xA;&lt;li&gt;Inequalities&lt;/li&gt;&#xA;&lt;li&gt;Logic&lt;/li&gt;&#xA;&lt;li&gt;Graph Theory&lt;/li&gt;&#xA;&lt;li&gt;Combinatorics&lt;/li&gt;&#xA;&lt;li&gt;Design &amp;amp; Analysis of Algorithm&lt;/li&gt;&#xA;&lt;li&gt;Theory of Computation / Computational Complexity Theory&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Please devote each answer to books of the same subject (e.g. books on combinatorics).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; The title might be misleading. Here's a clarification: Let X and Y be two fields in computer science. There are books that everyone &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;in field X should read.&lt;/li&gt;&#xA;&lt;li&gt;in field Y should read.&lt;/li&gt;&#xA;&lt;li&gt;in both fields should read.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;This question seeks all 3 cases. In other words, it is NOT specific to the latter case.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit: As suggested by &lt;a href=&quot;https://cstheory.stackexchange.com/users/1080/dai-le&quot;&gt;Dai Le&lt;/a&gt;, please highlight the reason(s) you like the book as well.&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Related topics:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/q/238/873&quot;&gt;References for TCS proof techniques&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/q/1955/873&quot;&gt;Books on automata theory for self-study&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://mathoverflow.net/questions/20355&quot;&gt;Books for probability&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://mathoverflow.net/questions/8609&quot;&gt;Favorite popular math book&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/q/1094/873&quot;&gt;Beginner's guide to derandomization&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/q/1759/873&quot;&gt;References on circuit lower bounds&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/q/3373/873&quot;&gt;Survey article on the theory of recursive functions&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/questions/3533/books-on-programming-language-semantics&quot;&gt;Books on Programming Language Semantics&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/q/3540/873&quot;&gt;What are the recent TCS books whose drafts are available online&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/q/5801/873&quot;&gt;Books on probability&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="873" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2020-08-14T19:16:07.337" Title="What Books Should Everyone Read?" Tags="&lt;reference-request&gt;&lt;soft-question&gt;&lt;big-list&gt;&lt;books&gt;" AnswerCount="39" CommentCount="2" FavoriteCount="602" CommunityOwnedDate="2010-11-22T16:25:32.180" ContentLicense="CC BY-SA 3.0" />
  <row Id="3254" PostTypeId="2" ParentId="3253" CreationDate="2010-11-22T15:39:17.917" Score="14" Body="&lt;h2&gt;Logic:&lt;/h2&gt;&#xA;&lt;p&gt;This is a verbatim of my answer to &lt;a href=&quot;https://cstheory.stackexchange.com/questions/2571/what-kind-of-mathematical-background-is-needed-for-complexity-theory&quot;&gt;this question&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Knowledge of basic mathematical logic is, in my opinion, a plus. You can have a look at the two books by Cori and Lascar.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&quot;http://books.google.com/books?id=Cle6_dOLt2IC&amp;amp;dq=editions:Cle6_dOLt2IC&amp;amp;hl=en&amp;amp;ei=-EHNTM7SBorMswbOuPCWCA&amp;amp;sa=X&amp;amp;oi=book_result&amp;amp;ct=result&amp;amp;resnum=1&amp;amp;ved=0CCUQ6AEwAA&quot; rel=&quot;noreferrer&quot;&gt;Mathematical Logic: A Course with Exercises Part I&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&quot;http://books.google.com/books?id=zDrqGvJhSPIC&amp;amp;printsec=frontcover&amp;amp;dq=cori+lascar&amp;amp;hl=en&amp;amp;ei=0EHNTMa_BYqVswbXyfWWCA&amp;amp;sa=X&amp;amp;oi=book_result&amp;amp;ct=result&amp;amp;resnum=1&amp;amp;ved=0CCgQ6AEwAA#v=onepage&amp;amp;q&amp;amp;f=false&quot; rel=&quot;noreferrer&quot;&gt;Mathematical Logic: A Course with Exercises Part II&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="76" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2010-11-22T18:10:25.173" CommentCount="1" CommunityOwnedDate="2010-11-22T16:25:32.180" ContentLicense="CC BY-SA 2.5" />
  <row Id="3255" PostTypeId="2" ParentId="3253" CreationDate="2010-11-22T15:41:37.197" Score="50" Body="&lt;h2&gt;NP-Completeness:&lt;/h2&gt;&#xA;&lt;p&gt;Well, I guess Garey and Johnson's &lt;a href=&quot;https://rads.stackoverflow.com/amzn/click/com/0716710455&quot; rel=&quot;noreferrer&quot; rel=&quot;nofollow noreferrer&quot;&gt;Computers and Intractability: A Guide to the Theory of NP-Completeness&lt;/a&gt; will be found among the top books in this list.&lt;/p&gt;&#xA;" OwnerUserId="775" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2010-11-22T18:10:55.640" CommentCount="3" CommunityOwnedDate="2010-11-22T16:25:32.180" ContentLicense="CC BY-SA 2.5" />
  <row Id="3256" PostTypeId="2" ParentId="3253" CreationDate="2010-11-22T15:49:43.197" Score="41" Body="&lt;h2&gt;Type Systems and Programming Language Semantics:&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;Benjamin Pierce's &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0262162091&quot;&gt;Types and Programming Languages&lt;/a&gt; and the follow up volume &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0262162288&quot;&gt;Advanced Topics in Types and Programming Languages&lt;/a&gt;. They provide a solid yet comprehensible overview of the role of type theory in programming language design, along with using operational semantics to express programming language semantics.&lt;/p&gt;&#xA;" OwnerUserId="77" LastEditorUserId="77" LastEditDate="2010-11-22T18:32:32.620" LastActivityDate="2010-11-22T18:32:32.620" CommentCount="4" CommunityOwnedDate="2010-11-22T16:25:32.180" ContentLicense="CC BY-SA 2.5" />
  <row Id="3257" PostTypeId="2" ParentId="3245" CreationDate="2010-11-22T15:59:07.893" Score="10" Body="&lt;p&gt;It seems that the first paper introducing this set of ideas (using the algebraic invariant $\lambda_2$, the second smallest eigenvalue of the graph Laplacian, to bound various properties of the graph) to graph theory was Fiedler's &quot;Algebraic Connectivity of Graphs&quot; in Czechoslovak Mathematical Journal. It appeared in 1973,  roughly at the same time as the Cheeger's paper (1970), which dealt with manifolds. I am not sure who was the first to observe the parallel between graphs and manifolds in that respect. $\lambda_2$ is sometimes called the Fiedler number. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Interestingly, there is a remark at the end of the Fiedler's paper, pointing out an independent technical report by Anderson and Morley titled Eigenvalues of the Laplacian on a Graph from 1971, which apparently had similar ideas. However, it the paper by Anderson and Morley with the same title appeared in Linear and Multilinear Algebra only in 1985.&lt;/p&gt;&#xA;" OwnerUserId="2346" LastActivityDate="2010-11-22T15:59:07.893" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3258" PostTypeId="2" ParentId="3253" CreationDate="2010-11-22T16:17:29.943" Score="96" Body="&lt;h2&gt;Computational Complexity:&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;If you are looking for recent complexity textbooks. The following two are must have.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0521424267&quot;&gt;Computational Complexity: A Modern Approach&lt;/a&gt; by Sanjeev Arora and Boaz Barak (&lt;a href=&quot;http://www.cs.princeton.edu/theory/complexity/&quot;&gt;Textbook homepage&lt;/a&gt;)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/052188473X&quot;&gt;Computational Complexity: A Conceptual Perspective&lt;/a&gt; by Oded Goldreich (&lt;a href=&quot;http://www.wisdom.weizmann.ac.il/~oded/cc-book.html&quot;&gt;Textbook homepage&lt;/a&gt;)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The majority of the content between these two books is comparable. However, some key differences exist: Goldreich devotes more space to exploring the conceptual and philosophical basis of complexity theory, whereas Arora/Barak covers a wider selection of topics, including concrete models of complexity, quantum computation, and circuit lower bounds that are mostly absent from the former.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another option, an older but timeless textbook in complexity is:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0201530821&quot;&gt;Computational Complexity&lt;/a&gt; by Christos Papadimitriou&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Papadimitriou's book is notable for chapters covering first-order logic as well as the classes SNP, MaxSNP$_0$, and APX (the theoretical foundations of hardness of approximation), which are missing from the more modern texts.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another (comparatively) old, but quite notable classic is:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0534950973&quot;&gt;Introduction to the Theory of Computation&lt;/a&gt; by Michael Sipser&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;This is one of the few/first textbooks that explicitly includes &quot;Proof Idea:&quot; between &quot;Theorem:&quot; and &quot;Proof:&quot;, and is one of the best-written mathematical textbooks on &lt;em&gt;any&lt;/em&gt; topic. On the other hand, it is only an intro to complexity, devoting only one 50-page chapter to &quot;advanced topics&quot; (including approximation, probabilistic algorithms, IP=PSPACE, and crypto). As a first book on complexity, or as an example of truly excellent writing, this book is &lt;em&gt;great&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0199233217&quot;&gt;The Nature of Computation&lt;/a&gt; by Cristopher Moore and Stephan Mertens&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Scott Aaronson writes that this book has &quot;the fun of a popular book with the intellectual heft of a textbook.&quot; It tells stories and gives lots of entertaining examples and references (Game of Life, and lots of other examples for Turing-complete machines).&#xA;It doesn't go too deep into complexity theory but has great breadth. Especially of note are its connections to statistical physics.&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="20907" LastEditDate="2015-08-18T20:28:05.493" LastActivityDate="2015-08-18T20:28:05.493" CommentCount="6" CommunityOwnedDate="2010-11-22T16:25:32.180" ContentLicense="CC BY-SA 3.0" />
  <row Id="3260" PostTypeId="2" ParentId="3253" CreationDate="2010-11-22T16:52:53.897" Score="36" Body="&lt;h2&gt;Randomized Algorithms:&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0521835402&quot;&gt;Probability and Computing: Randomized Algorithms and Probabilistic Analysis&lt;/a&gt; by Michael Mitzenmacher and Eli Upfal.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Great book for explaining the basics of randomized algorithms. The examples and proofs are explained very clearly, and are easy to follow. Also, the exercises are very fun to do.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(answered by Marcos Villagra)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Analysis of Randomized Algorithms:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Anyone working in algorithms should have &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0521884276&quot;&gt;Concentration of Measure for the Analysis of Randomized Algorithms&lt;/a&gt;, which is also available for download in PDF format &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.120.2561&amp;amp;rep=rep1&amp;amp;type=pdf&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="25" LastEditorUserId="1800" LastEditDate="2011-01-27T09:17:58.087" LastActivityDate="2011-01-27T09:17:58.087" CommentCount="1" CommunityOwnedDate="2010-11-22T16:52:53.897" ContentLicense="CC BY-SA 2.5" />
  <row Id="3261" PostTypeId="2" ParentId="3253" CreationDate="2010-11-22T17:03:09.920" Score="41" Body="&lt;h2&gt;Inequalities:&lt;/h2&gt;&#xA;&lt;p&gt;Another valuable book for anyone in computer science who ever wants to bound any quantity (so, everyone!) is:&#xA;&lt;a href=&quot;https://rads.stackoverflow.com/amzn/click/com/052154677X&quot; rel=&quot;noreferrer&quot; rel=&quot;nofollow noreferrer&quot;&gt;The Cauchy-Schwarz Master Class: An Introduction to the Art of Mathematical Inequalities&lt;/a&gt; by Michael Steele.&lt;/p&gt;&#xA;&lt;p&gt;An encyclopedic book on the topic is &lt;a href=&quot;https://rads.stackoverflow.com/amzn/click/com/0582327482&quot; rel=&quot;noreferrer&quot; rel=&quot;nofollow noreferrer&quot;&gt;A Dictionary of Inequalities&lt;/a&gt;. While this is not a book for reading cover-to-cover, it is good to have it at your disposal.&#xA;See also &lt;a href=&quot;http://ajmaa.org/RGMIA/monographs/bullen/Dict-Ineq-Supp-Comb.pdf&quot; rel=&quot;noreferrer&quot;&gt;the supplement&lt;/a&gt; of the book.&lt;/p&gt;&#xA;&lt;p&gt;Moreover, Wikipedia has an excellent &lt;a href=&quot;http://en.wikipedia.org/wiki/List_of_inequalities&quot; rel=&quot;noreferrer&quot;&gt;list of inequalities&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;For specific topics, you may consult:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://rads.stackoverflow.com/amzn/click/com/981428078X&quot; rel=&quot;noreferrer&quot; rel=&quot;nofollow noreferrer&quot;&gt;Probabilistic Inequalities&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://rads.stackoverflow.com/amzn/click/com/3540437983&quot; rel=&quot;noreferrer&quot; rel=&quot;nofollow noreferrer&quot;&gt;Matrix Inequalities&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://rads.stackoverflow.com/amzn/click/com/0883856042&quot; rel=&quot;noreferrer&quot; rel=&quot;nofollow noreferrer&quot;&gt;Geometric Inequalities&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.math.upenn.edu/%7Ewilf/AeqB.html&quot; rel=&quot;noreferrer&quot;&gt;The book &amp;quot;A=B&amp;quot; by Petkovsek, Wilf and Zeilberger&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="25" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2010-11-23T09:46:54.623" CommentCount="2" CommunityOwnedDate="2010-11-22T17:03:09.920" ContentLicense="CC BY-SA 2.5" />
  <row Id="3262" PostTypeId="2" ParentId="3253" CreationDate="2010-11-22T18:00:18.943" Score="47" Body="&lt;h2&gt;Design &amp;amp; Analysis of Algorithms:&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;Cormen, Thomas H., Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein. &lt;a href=&quot;http://mitpress.mit.edu/catalog/item/default.asp?ttype=2&amp;amp;tid=8570&quot; rel=&quot;nofollow noreferrer&quot;&gt;Introduction to Algorithms.&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;R. Motwani, P. Raghavan. &lt;a href=&quot;http://books.google.com/books?id=QKVY4mDivBEC&amp;amp;lpg=PP1&amp;amp;dq=motwani%20raghavan%20randomized%20algorithms&amp;amp;hl=ru&amp;amp;pg=PP1#v=onepage&amp;amp;q&amp;amp;f=false&quot; rel=&quot;nofollow noreferrer&quot;&gt;Randomized algorithms.&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I found this book &lt;a href=&quot;https://mathoverflow.net/questions/7772/9314#9314&quot;&gt;suggested by Ryan Williams&lt;/a&gt; on MathOverflow: &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0321295358&quot; rel=&quot;nofollow noreferrer&quot;&gt;Algorithm Design&lt;/a&gt; by &lt;em&gt;Kleinberg &amp;amp; Tardos&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another excellent book is &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0201120372&quot; rel=&quot;nofollow noreferrer&quot;&gt;Introduction to Algorithms: A Creative Approach&lt;/a&gt; by &lt;em&gt;Udi Manber&lt;/em&gt;. This book is not a catalog of algorithms; rather, it tries to provide the reader with intuition to &quot;recognize mathematical structure in abstract problems.&quot; (quoted from a review)&lt;/p&gt;&#xA;" OwnerUserId="2338" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2010-12-01T00:04:04.623" CommentCount="2" CommunityOwnedDate="2010-11-22T18:00:18.943" ContentLicense="CC BY-SA 2.5" />
  <row Id="3263" PostTypeId="2" ParentId="3245" CreationDate="2010-11-22T18:19:58.960" Score="6" Body="&lt;p&gt;Some additional references I remember of that era:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) Diaconis and Stroock, Geometric bounds for eigenvalues of Markov chains, The Annals of Applied Probability, 1991; but I remember getting my hands on a preprint sometime in 1990. This paper in turn refers to&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) Dodziuk, Difference equations, isoperimetric inequality and transience of certain random walks,Transactions of the American Mathematical Society, 1984.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, an important &quot;algorithmic companion&quot; paper to Sinclair and Jerrum at that time was&lt;/p&gt;&#xA;&#xA;&lt;p&gt;3) Dyer Frieze Kannan, A Random Polynomial Time Algorithm for Approximating the Volume of Convex Bodies, STOC 89. Of course, the results here were built on top of SJ. &lt;/p&gt;&#xA;" OwnerUserId="1449" LastActivityDate="2010-11-22T18:19:58.960" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3264" PostTypeId="2" ParentId="2320" CreationDate="2010-11-22T18:52:11.790" Score="2" Body="&lt;p&gt;Perhaps this reference will be relevant to your question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Grigoriadis M., Khachiyan L. A sublinear randomized approximation algorithm to matrix games// Oper. Res. Lett. 1995. V. 18. No 2. P. 53-58.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The algorithm therein is 1) randomized 2) the error is ADDITIVE, but 3) is sublinear (you need to check only tiny fraction of the input to find solutiom with high probability).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Sergey&lt;/p&gt;&#xA;" OwnerUserId="2348" LastActivityDate="2010-11-22T18:52:11.790" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="3265" PostTypeId="2" ParentId="3253" CreationDate="2010-11-22T19:07:53.040" Score="30" Body="&lt;h2&gt;Cryptography:&lt;/h2&gt;&#xA;&lt;p&gt;The two-volume book &lt;strong&gt;Foundations of Cryptography&lt;/strong&gt; by Oded Goldreich (&lt;a href=&quot;https://rads.stackoverflow.com/amzn/click/com/0521791723&quot; rel=&quot;nofollow noreferrer&quot; rel=&quot;nofollow noreferrer&quot;&gt;Volume 1: Basic Tools&lt;/a&gt; and &lt;a href=&quot;https://rads.stackoverflow.com/amzn/click/com/0521830842&quot; rel=&quot;nofollow noreferrer&quot; rel=&quot;nofollow noreferrer&quot;&gt;Volume 2: Basic Applications&lt;/a&gt;) is an excellent book on the subject. (Early drafts available from &lt;a href=&quot;http://www.wisdom.weizmann.ac.il/%7Eoded/foc-book.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;author's homepage&lt;/a&gt;.) A &lt;a href=&quot;https://rads.stackoverflow.com/amzn/click/com/1933019026&quot; rel=&quot;nofollow noreferrer&quot; rel=&quot;nofollow noreferrer&quot;&gt;shortened version&lt;/a&gt; of this book is also available.&lt;/p&gt;&#xA;&lt;p&gt;Another excellent book is &lt;a href=&quot;https://rads.stackoverflow.com/amzn/click/com/1466570261&quot; rel=&quot;nofollow noreferrer&quot; rel=&quot;nofollow noreferrer&quot;&gt;Introduction to Modern Cryptography: Principles and Protocols&lt;/a&gt; by Katz &amp;amp; Lindell.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&quot;https://toc.cryptobook.us/&quot; rel=&quot;nofollow noreferrer&quot;&gt;A Graduate Course in Applied Cryptography&lt;/a&gt; is a work-in-progress book by Boneh and Shoup.&lt;/p&gt;&#xA;&lt;p&gt;For those interested in mathematical backgrounds of cryptography, &lt;a href=&quot;https://rads.stackoverflow.com/amzn/click/com/0387779930&quot; rel=&quot;nofollow noreferrer&quot; rel=&quot;nofollow noreferrer&quot;&gt;An Introduction to Mathematical Cryptography&lt;/a&gt; by Hoffstein &lt;em&gt;et al.&lt;/em&gt; is the natural choice.&lt;/p&gt;&#xA;&lt;p&gt;Other excellent books are:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://rads.stackoverflow.com/amzn/click/com/0849385237&quot; rel=&quot;nofollow noreferrer&quot; rel=&quot;nofollow noreferrer&quot;&gt;Handbook of Applied Cryptography&lt;/a&gt; by Menezes &lt;em&gt;et al.&lt;/em&gt; (Chapter are &lt;a href=&quot;http://www.cacr.math.uwaterloo.ca/hac/&quot; rel=&quot;nofollow noreferrer&quot;&gt;available online&lt;/a&gt;).&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://rads.stackoverflow.com/amzn/click/com/1584885084&quot; rel=&quot;nofollow noreferrer&quot; rel=&quot;nofollow noreferrer&quot;&gt;Cryptography: Theory and Practice&lt;/a&gt; by Stinson.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;hr /&gt;&#xA;&lt;p&gt;&lt;strong&gt;Specific Topics:&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Books pertaining to advanced composition of security protocols:&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://rads.stackoverflow.com/amzn/click/com/354020105X&quot; rel=&quot;nofollow noreferrer&quot; rel=&quot;nofollow noreferrer&quot;&gt;Composition of Secure Multi-Party Protocols: A Comprehensive Study&lt;/a&gt; by Lindell.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://rads.stackoverflow.com/amzn/click/com/3642069495&quot; rel=&quot;nofollow noreferrer&quot; rel=&quot;nofollow noreferrer&quot;&gt;Concurrent Zero-Knowledge&lt;/a&gt; by Rosen.&lt;/li&gt;&#xA;&lt;li&gt;Formal proofs in security protocols&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://rads.stackoverflow.com/amzn/click/com/3540681345&quot; rel=&quot;nofollow noreferrer&quot; rel=&quot;nofollow noreferrer&quot;&gt;Formal Correctness of Security Protocols&lt;/a&gt; by Bella.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://rads.stackoverflow.com/amzn/click/com/1107013925&quot; rel=&quot;nofollow noreferrer&quot; rel=&quot;nofollow noreferrer&quot;&gt;Mathematics of Public Key Cryptography&lt;/a&gt; by Galbraith&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="873" LastEditorUserId="873" LastEditDate="2020-08-14T19:16:07.337" LastActivityDate="2020-08-14T19:16:07.337" CommentCount="7" CommunityOwnedDate="2010-11-22T19:07:53.040" ContentLicense="CC BY-SA 4.0" />
  <row Id="3266" PostTypeId="5" CreationDate="2010-11-22T20:00:46.237" Score="0" Body="&lt;p&gt;An &lt;strong&gt;advice string&lt;/strong&gt; is an extra input to a Turing machine which is allowed to depend on the length &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt; of the input, but not on input itself. Turing machines can simulate families of Boolean circuits if they take an advice string of proper length.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The complexity class &lt;span class=&quot;math-container&quot;&gt;${\sf C}/f(n)$&lt;/span&gt; denotes the class of problems decidable by Turing machines in class &lt;span class=&quot;math-container&quot;&gt;$\sf C$&lt;/span&gt; which take advices of length &lt;span class=&quot;math-container&quot;&gt;$f(n)$&lt;/span&gt;, where &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt; is the size of input. Examples include &lt;span class=&quot;math-container&quot;&gt;${\sf P}/poly$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;${\sf NP}/poly$&lt;/span&gt; (incidentally, &lt;span class=&quot;math-container&quot;&gt;${\sf P}/poly$&lt;/span&gt; denotes the class of languages decidable by polynomial-size circuits). Such classes are also called &lt;em&gt;non-uniform&lt;/em&gt; because the advice strings can be supplied separately for each length without specifying how they are computed. If each advice string can itself be generated by supplying &lt;span class=&quot;math-container&quot;&gt;$1^n$&lt;/span&gt; to an efficient circuit, then the class is called &quot;uniform&quot;. So &lt;span class=&quot;math-container&quot;&gt;$\mathsf{P}$&lt;/span&gt; can be thought of as &lt;span class=&quot;math-container&quot;&gt;$\mathsf{P}\text{poly}$&lt;/span&gt; with uniform circuits&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is well-known that &lt;span class=&quot;math-container&quot;&gt;${\sf BPP} \subset {\sf P}/poly$&lt;/span&gt;, but the inverse does not hold, since &lt;span class=&quot;math-container&quot;&gt;${\sf P}/poly$&lt;/span&gt; includes undecidable problems. Interestingly, even &lt;span class=&quot;math-container&quot;&gt;${\sf P}/1$&lt;/span&gt; (a polynomial-time Turing machine which takes one bit of advice) includes undecidable problems.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Related tags:&lt;/strong&gt; &lt;a href=&quot;/questions/tagged/uniformity&quot; class=&quot;post-tag&quot; title=&quot;show questions tagged &amp;#39;uniformity&amp;#39;&quot; rel=&quot;tag&quot;&gt;uniformity&lt;/a&gt;, &lt;a href=&quot;/questions/tagged/circuit-complexity&quot; class=&quot;post-tag&quot; title=&quot;show questions tagged &amp;#39;circuit-complexity&amp;#39;&quot; rel=&quot;tag&quot;&gt;circuit-complexity&lt;/a&gt;, &lt;a href=&quot;/questions/tagged/circuit-families&quot; class=&quot;post-tag&quot; title=&quot;show questions tagged &amp;#39;circuit-families&amp;#39;&quot; rel=&quot;tag&quot;&gt;circuit-families&lt;/a&gt;, &lt;a href=&quot;/questions/tagged/cc.complexity-theory&quot; class=&quot;post-tag&quot; title=&quot;show questions tagged &amp;#39;cc.complexity-theory&amp;#39;&quot; rel=&quot;tag&quot;&gt;cc.complexity-theory&lt;/a&gt;, &lt;a href=&quot;/questions/tagged/complexity-classes&quot; class=&quot;post-tag&quot; title=&quot;show questions tagged &amp;#39;complexity-classes&amp;#39;&quot; rel=&quot;tag&quot;&gt;complexity-classes&lt;/a&gt;, &lt;a href=&quot;/questions/tagged/computability&quot; class=&quot;post-tag&quot; title=&quot;show questions tagged &amp;#39;computability&amp;#39;&quot; rel=&quot;tag&quot;&gt;computability&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Reference(s):&lt;/strong&gt; &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Advice_(complexity)&quot; rel=&quot;nofollow noreferrer&quot;&gt;Wikipedia's topic on Advice&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Circuit_complexity&quot; rel=&quot;nofollow noreferrer&quot;&gt;Wikipedia's topic on Circuit Complexity&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="80" LastEditorUserId="32711" LastEditDate="2018-10-07T20:09:46.763" LastActivityDate="2018-10-07T20:09:46.763" CommentCount="0" ContentLicense="CC BY-SA 4.0" />
  <row Id="3267" PostTypeId="4" CreationDate="2010-11-22T20:00:46.237" Score="0" Body="Questions about advice and nonuniformity" OwnerUserId="80" LastEditorUserId="186" LastEditDate="2013-06-27T02:35:32.330" LastActivityDate="2013-06-27T02:35:32.330" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="3268" PostTypeId="2" ParentId="3253" CreationDate="2010-11-22T20:10:00.560" Score="45" Body="&lt;h2&gt;General Math for Computer Science:&lt;/h2&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0201558025&quot;&gt;Concrete Mathematics: A Foundation for Computer Science&lt;/a&gt; by Graham, Knuth, and Patashnik.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0691118809&quot;&gt;The Princeton Companion to Mathematics&lt;/a&gt; by Gowers &lt;em&gt;et al.&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/3540636986&quot;&gt;Proofs from THE BOOK&lt;/a&gt; by Aigner and Ziegler.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="873" LastEditorUserId="15" LastEditDate="2010-11-23T04:32:04.473" LastActivityDate="2010-11-23T04:32:04.473" CommentCount="0" CommunityOwnedDate="2010-11-22T20:10:00.560" ContentLicense="CC BY-SA 2.5" />
  <row Id="3270" PostTypeId="2" ParentId="1580" CreationDate="2010-11-22T22:47:48.180" Score="12" Body="&lt;p&gt;Am guessing it may be easy to show that many exact problems (and perhaps strong approximation problems as well) are NP-hard on expanders.  The idea is that if you take an arbitrary constant degree graph $G$ on $n$ vertices, and add another expander $H$ on $n$ disjoint vertices, and put a matching between $G$ and $H$, then you get an expander.  The reason being that any set of less than half the vertices, will have either a constant fraction of the matching edges outside it, or its intersection with $H$ will have at most say $0.51$ fraction of $H$'s vertices.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since you can choose $H$ arbitrarily (say take a random graph) you can know the optimal solution for your NP problem in $H$, and hence there may be hope (depending on the problem), that given a solution for the combined graph you can get at least an approximate solution for $G$. But I didn't verify this for any concrete problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course, as mentioned above, there are natural problems (most notably unique games) where one cannot do such tricks and in particular algorithms are known for expanders and not known in the general case. One should also be able to come up with some contrived example of a problem that's NP hard in general but easy on expanders (e.g., take some arbitrary NP hard problem on graphs, and modify it so that all instances with spectral gap more than $1/\log n$ are YES...). &lt;/p&gt;&#xA;" OwnerUserId="1202" LastActivityDate="2010-11-22T22:47:48.180" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3271" PostTypeId="2" ParentId="3244" CreationDate="2010-11-22T23:25:49.420" Score="8" Body="&lt;p&gt;Although families of circuits aren't usually defined this way, you actually could require this for non-uniform families of circuits; i.e., require circuit families to be &lt;em&gt;consistent&lt;/em&gt;. There still would be circuit families for non-uniform languages, and P/poly would still contain all the same languages with this definition (P/log would change, though). Then you could indeed leave out any finite number of circuits, and the function would still be well-defined.&#xA;You wouldn't cause any paradoxes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One question you could ask is: are there any advantages to this alternate definition of P/log? My guess is that there are.&lt;/p&gt;&#xA;" OwnerUserId="1677" LastEditorUserId="1677" LastEditDate="2010-11-22T23:30:50.653" LastActivityDate="2010-11-22T23:30:50.653" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="3272" PostTypeId="2" ParentId="2802" CreationDate="2010-11-23T00:34:42.113" Score="13" Body="&lt;p&gt;As Philip said, Rice's theorem is a good example: one's intuition before studying computability is that there must surely be &lt;em&gt;something&lt;/em&gt; we can compute about computations. It turns out that we can only compute something about &lt;em&gt;some&lt;/em&gt; computations.&lt;/p&gt;&#xA;" OwnerUserId="2241" LastActivityDate="2010-11-23T00:34:42.113" CommentCount="0" CommunityOwnedDate="2010-11-23T00:34:42.113" ContentLicense="CC BY-SA 2.5" />
  <row Id="3273" PostTypeId="2" ParentId="3253" CreationDate="2010-11-23T04:14:11.903" Score="17" Body="&lt;h2&gt;Optimization&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;I liked Paul Nahin's &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0691070784&quot;&gt;When Least is Best.&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Essentially a cute history of optimization through problems and personalities. There is a nice review on pages 32-36 in one of &lt;a href=&quot;http://www.cs.umd.edu/~gasarch/bookrev/41-3.pdf&quot;&gt;Bill Gasarch's columns.&lt;/a&gt; &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Nahin has written a lot of other books in a similar vein (examining imaginary numbers, Euler's equation $e^{i\pi} = -1$, and other things), but this is perhaps the most computer science oriented.&lt;/p&gt;&#xA;" OwnerUserId="847" LastEditorUserId="873" LastEditDate="2010-11-23T08:00:37.563" LastActivityDate="2010-11-23T08:00:37.563" CommentCount="0" CommunityOwnedDate="2010-11-23T04:14:11.903" ContentLicense="CC BY-SA 2.5" />
  <row Id="3274" PostTypeId="2" ParentId="3229" CreationDate="2010-11-23T07:15:05.027" Score="14" Body="&lt;p&gt;In a weird way, the PCP theorem itself is a good example of proving a lower bound via an upper bound. An &quot;efficient&quot; randomized strategy for verifying a proof using a constant number of probes of the proof and only $\log n$ random bits leads to a lower bound for approximating the number of satisfied clauses in an instance of 3SAT. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2010-11-23T07:15:05.027" CommentCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="3275" PostTypeId="2" ParentId="2802" CreationDate="2010-11-23T08:40:01.073" Score="18" Body="&lt;p&gt;One surprising and counter intuitive result is that $IP = PSPACE$, proved using arithmetization around 1990.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As Arora &amp;amp; Barak put it (p. 157) &quot;We know that interaction alone does not give us any languages outside NP. We also suspect that randomization alone does not add significant power to computation. So how much power could the combination of randomization and interaction provide?&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Apparently quite a bit!&lt;/p&gt;&#xA;" OwnerUserId="969" LastActivityDate="2010-11-23T08:40:01.073" CommentCount="0" CommunityOwnedDate="2010-11-23T08:40:01.073" ContentLicense="CC BY-SA 2.5" />
  <row Id="3276" PostTypeId="2" ParentId="2802" CreationDate="2010-11-23T09:04:41.253" Score="1" Body="&lt;p&gt;I have found the &lt;a href=&quot;http://www.springerlink.com/index/G9N5V2MNV1L99YDR.pdf&quot; rel=&quot;nofollow&quot;&gt;A simple public-key cryptosystem with a double trapdoor decryption mechanism and its applications&lt;/a&gt; paradoxical, because it is a adaptive chosen ciphertext secure scheme which is homomorphic.&lt;/p&gt;&#xA;" OwnerUserId="943" LastActivityDate="2010-11-23T09:04:41.253" CommentCount="0" CommunityOwnedDate="2010-11-23T09:04:41.253" ContentLicense="CC BY-SA 2.5" />
  <row Id="3277" PostTypeId="2" ParentId="3203" CreationDate="2010-11-23T09:09:16.083" Score="4" Body="&lt;p&gt;Michael and Tsuyoshi's answers are great, but I'm surprised that no one was precise about just how many languages are not in the first level of the arithmetic hierarchy. Michael said that &quot;some&quot; and Tsuyoshi said that &quot;many&quot; languages are in neither RE nor co-RE. In fact (as Tsuyoshi implicitly put in his answer) &lt;em&gt;almost every&lt;/em&gt; language is in neither RE nor co-RE. This essentially comes from the fact that there are $2^{\aleph_0}$ languages and only $\aleph_0$ Turing machines.&lt;/p&gt;&#xA;" OwnerUserId="969" LastActivityDate="2010-11-23T09:09:16.083" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3278" PostTypeId="1" AcceptedAnswerId="3300" CreationDate="2010-11-23T09:48:12.913" Score="37" ViewCount="3951" Body="&lt;p&gt;We know that the first level of the polynomial hierarchy (i.e. NP and co-NP) is in PP, and that $PP \subseteq PSPACE$. We also know from &lt;a href=&quot;http://en.wikipedia.org/wiki/Toda%27s_theorem&quot; rel=&quot;nofollow noreferrer&quot;&gt;Toda's Theorem&lt;/a&gt; that $PH \subseteq P^{PP}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Do we know whether $PH \subseteq PP$? If not, why is it that $P$ with a $PP$ oracle is stronger than $PP$? Is it possible that $PH \nsubseteq PP$ and $PP \nsubseteq PH$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This question is very simple, but I haven't found any resources addressing it. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I asked &lt;a href=&quot;https://mathoverflow.net/questions/39690/how-is-p-related-to-other-complexity-classes&quot;&gt;this&lt;/a&gt; related but much less specific question on math overflow before learning more about the topic.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is a somewhat related (but different) question: &lt;a href=&quot;https://cstheory.stackexchange.com/questions/2559/is-conp-pnp-pp-p&quot;&gt;Is $coNP^{\#P}=NP^{\#P}=P^{\#P}$?&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt; Take a look at Noam Nisan's question here: &lt;a href=&quot;https://cstheory.stackexchange.com/questions/3331/more-on-ph-in-pp&quot;&gt;More on PH in PP?&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="969" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2013-03-23T15:38:35.713" Title="Is $PH \subseteq PP$?" Tags="&lt;cc.complexity-theory&gt;&lt;counting-complexity&gt;&lt;polynomial-hierarchy&gt;" AnswerCount="4" CommentCount="0" FavoriteCount="14" ContentLicense="CC BY-SA 2.5" />
  <row Id="3279" PostTypeId="1" AcceptedAnswerId="3286" CreationDate="2010-11-23T10:18:59.087" Score="2" ViewCount="772" Body="&lt;p&gt;&lt;strong&gt;Edited&lt;/strong&gt;&lt;br&gt;&#xA;I want to read more about subexponential hardness assumption, but I didn't find any good survey on this. I just took a look at &lt;a href=&quot;http://en.wikipedia.org/wiki/Heavy-tailed_distribution&quot; rel=&quot;nofollow&quot;&gt;Heavy-tailed distribution&lt;/a&gt; and &lt;a href=&quot;http://www.springerlink.com/content/44576540521621n0/&quot; rel=&quot;nofollow&quot;&gt;Some properties of subexponential distributions&lt;/a&gt; but I didn't get a good picture of it.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Question&lt;/strong&gt;: What is the subexponential hardness assumption? Is it a weaker hardness assumption in comparison with discrete logarithm? Do you know any good survey or article on this?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I saw this subject in this paper:&lt;br&gt;&#xA;&lt;a href=&quot;http://www.cs.cornell.edu/~rafael/papers/ccacommit.pdf&quot; rel=&quot;nofollow&quot;&gt; Adaptive hardness and composable security in the plain model from standard assumptions&lt;/a&gt; &lt;/p&gt;&#xA;" OwnerUserId="943" LastEditorUserId="873" LastEditDate="2011-04-08T20:28:31.550" LastActivityDate="2011-04-08T20:28:31.550" Title="Subexponential hardness assumption" Tags="&lt;cc.complexity-theory&gt;&lt;cr.crypto-security&gt;&lt;complexity-assumptions&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="3280" PostTypeId="1" AcceptedAnswerId="3818" CreationDate="2010-11-23T11:01:33.173" Score="18" ViewCount="2584" Body="&lt;p&gt;&lt;a href=&quot;http://portal.acm.org/citation.cfm?id=321249&quot;&gt;Brzozowski's method of derivatives&lt;/a&gt; is a very pretty technique for building deterministic automata from regular expressions in a nicely algebraic way. I've worked out some cute generalizations of this technique to handle some larger classes of grammars, but the algorithms are straightforward enough that it seems quite possible that they've been discovered before. But Googling references to descendants of this technique doesn't seem to turn up much. Anyone know of anything?&lt;/p&gt;&#xA;" OwnerUserId="657" LastActivityDate="2012-11-06T04:34:26.517" Title="Generalizations of Brzozowski's method of derivatives of regular expressions to grammars?" Tags="&lt;reference-request&gt;&lt;fl.formal-languages&gt;&lt;parsing&gt;" AnswerCount="3" CommentCount="5" FavoriteCount="7" ContentLicense="CC BY-SA 2.5" />
  <row Id="3281" PostTypeId="2" ParentId="3278" CreationDate="2010-11-23T12:05:53.790" Score="23" Body="&lt;p&gt;Richard Beigel has an &lt;a href=&quot;http://knight.cis.temple.edu/~beigel/papers/delta2p-cc.html&quot;&gt;oracle&lt;/a&gt; relative to which $P^{NP}$ is not contained in PP.&lt;/p&gt;&#xA;" OwnerUserId="550" LastActivityDate="2010-11-23T12:05:53.790" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3282" PostTypeId="2" ParentId="3229" CreationDate="2010-11-23T13:41:29.430" Score="11" Body="&lt;p&gt;For the &quot;lower bound via upper bound&quot; question you asked:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The STOC 2010 paper &quot;How to Compress Interactive Communication&quot; &lt;a href=&quot;http://www.cs.princeton.edu/~boaz/Papers/directsum.pdf&quot;&gt;[BBCR10]&lt;/a&gt; arrives at an improved direct sum theorem for randomized communication complexity by demonstrating an improved compression protocol for interactive communication.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Specifically, given two parties computing some joint function of their mutual inputs (i.e. an interactive computation scenario), they show that any protocol that communicates $C$ bits and reveals $I$ bits of new information to the parties involved can be simulated by a new protocol using $\tilde O(\sqrt{CI})$ bits -- the improved upper bound.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As a consequence of this improved protocol compression, they show that in the worst case: Given any function $f$ that takes $n$ time to compute individually, computing $k$ copies of $f$ requires at least $\sqrt{k} \cdot n$ time -- the improved lower bound.&lt;/p&gt;&#xA;" OwnerUserId="108" LastActivityDate="2010-11-23T13:41:29.430" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3284" PostTypeId="1" AcceptedAnswerId="3295" CreationDate="2010-11-23T16:50:48.260" Score="1" ViewCount="1173" Body="&lt;p&gt;I want to know if there is an algorithm like KERNIGHAN-LIN for graph partitioning that can handle several (different) gain functions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there some technique to combine gain functions in one algorithm?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The KL algorithm and its gain function is defined here for example:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.cs.berkeley.edu/~demmel/cs267/lecture18/lecture18.html#link_4.2&quot; rel=&quot;nofollow&quot;&gt;http://www.cs.berkeley.edu/~demmel/cs267/lecture18/lecture18.html#link_4.2&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="1648" LastEditorUserId="80" LastEditDate="2010-11-23T17:10:15.033" LastActivityDate="2013-05-27T01:24:42.847" Title="Kernighan–Lin algorithm and multiple gain functions" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="3286" PostTypeId="2" ParentId="3279" CreationDate="2010-11-23T18:02:35.677" Score="9" Body="&lt;p&gt;&quot;Complex&quot; problems are normally defined as problems which cannot be solved by (probabilistic) polynomial-time Turing machines. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;When there are extra information available for solving the problem, the model changes to machines which take advice. That is, instead of $\rm{BPP}$ machines, we consider $\rm{P/poly}$  circuits; i.e. polynomial-size circuits (equivalently, polynomial-time Turing machines which take polynomial advice).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In some cases, we may consider even stronger solvers: Instead of poly-sized circuits, we may use circuits whose size is sub-exponential. (e.g. circuits whose size is $n^{\log n}$). One might note that, an &lt;strong&gt;exponential-size&lt;/strong&gt; family of circuits can decide any language (even undecidable ones) by merely incorporating the look-up table in its code. (In particular, the size of the look-up table is $O(n2^n)$.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let's consider the &lt;a href=&quot;http://en.wikipedia.org/wiki/Decisional_Diffie%E2%80%93Hellman_assumption&quot;&gt;Decisional Diffie-Hellman&lt;/a&gt; (DDH) assumption. &#xA;I don't go into details. Just assume that $p$ is a large prime, all computations are over $\mathbb{Z}^*_p$, and $g$ is its generator.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;DDH:&lt;/strong&gt; Distinguishing $(g,g^a,g^b,g^{ab})$ from $(g,g^a,g^b,g^c)$ is hard for $\rm{PPT}$ machines.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;A &lt;strong&gt;stronger&lt;/strong&gt; assumption is:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;DDH-1:&lt;/strong&gt; Distinguishing $(g,g^a,g^b,g^{ab})$ from $(g,g^a,g^b,g^c)$ is hard for $\rm{P/poly}$ circuits.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;An even &lt;strong&gt;stronger&lt;/strong&gt; assumption is:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;DDH-2:&lt;/strong&gt; Distinguishing $(g,g^a,g^b,g^{ab})$ from $(g,g^a,g^b,g^c)$ is hard for sub-exponential circuits.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I saw both DDH and DDH-1 assumptions in the literature. DDH-2 may also exist, but I can't recall whether I ever saw it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One example of &lt;em&gt;sub-exponential hardness assumption&lt;/em&gt; is that, some languages in $\rm{E}$ don't have sub-exponential circuits. Such assumption is used by Impagliazzo &amp;amp; Wigderson in &lt;a href=&quot;http://www.math.ias.edu/~avi/PUBLICATIONS/MYPAPERS/IW97/proc.pdf&quot;&gt;P=BPP unless E has sub-exponential circuits:&#xA;Derandomizing the XOR Lemma&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;h2&gt;Description of Some Terms&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;While obvious, I'm going to define several terms here. Let $f \colon \mathbb{N} \to \mathbb{N}$ be a function. Then:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$f(n) = n^{\Theta(1)}$ is called &lt;em&gt;polynomial&lt;/em&gt;. (e.g. $n, n^3, 7n^{100}$.)&lt;/li&gt;&#xA;&lt;li&gt;$f(n) = n^{\omega(1)}$ is called &lt;em&gt;super-polynomial&lt;/em&gt;. (e.g. $n^{\log n}, 2^n, 2^{2^n}$.)&lt;/li&gt;&#xA;&lt;li&gt;$f(n) = 2^{\Theta(n)}$ is called &lt;em&gt;linear exponential&lt;/em&gt;. (e.g. $2^n, 3^n, 10^n$.)&lt;/li&gt;&#xA;&lt;li&gt;$f(n) = 2^{n^{\Theta(1)}}$ is called &lt;em&gt;exponential&lt;/em&gt;. (e.g. $2^n, 3^{n^4}$.)&lt;/li&gt;&#xA;&lt;li&gt;$f(n) = 2^{n^{o(1)}}$ is called &lt;em&gt;sub-exponential&lt;/em&gt;. (e.g. $2^{n^{1/n}}, n^{\log n}$.)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="873" LastEditorUserId="873" LastEditDate="2010-11-26T14:18:22.840" LastActivityDate="2010-11-26T14:18:22.840" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3287" PostTypeId="1" AcceptedAnswerId="3288" CreationDate="2010-11-23T18:25:45.377" Score="13" ViewCount="4968" Body="&lt;p&gt;The &lt;a href=&quot;http://arxiv.org/abs/quant-ph/0603226&quot;&gt;Clifford group&lt;/a&gt; of quantum operators is generated by the quantum operations:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;em&gt;Controlled-Z&lt;/em&gt;,&lt;/li&gt;&#xA;&lt;li&gt;&lt;em&gt;Hadamard&lt;/em&gt;, and&lt;/li&gt;&#xA;&lt;li&gt;&lt;em&gt;Phase&lt;/em&gt; ($= |0\rangle\langle0| + i |1\rangle\langle1|$).&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;A circuit composed only of these gates can be simulated efficiently on a classical computer. However, if I understand correctly, not all classical algorithms can be implemented efficiently using Clifford group operations, at least as far as we know.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a construction to implement, even inefficiently or approximately, a classical algorithm using Clifford group operations?&#xA;For instance, how do you implement a &lt;em&gt;Toffoli&lt;/em&gt; gate using Clifford group gates, if it's possible?&lt;/p&gt;&#xA;" OwnerUserId="1749" LastEditorUserId="3964" LastEditDate="2012-09-11T00:00:31.190" LastActivityDate="2012-09-11T00:00:31.190" Title="Clifford group quantum operations and classical computation" Tags="&lt;quantum-computing&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="3288" PostTypeId="2" ParentId="3287" CreationDate="2010-11-23T19:53:28.553" Score="23" Body="&lt;p&gt;As pointed out in a comment above, if it were possible to coherently implement a Toffoli gate using Clifford group gates, then the Clifford group would be universal for quantum computation. It was noted in Section 5 of &lt;a href=&quot;http://arxiv.org/abs/0908.1467&quot;&gt;this paper&lt;/a&gt; that something even stronger is true: informally speaking, if there exists a class of quantum circuits which can be simulated efficiently classically, and which is universal for &lt;i&gt;classical&lt;/i&gt; computation, then BQP=BPP. Thus we would expect simulable classes of quantum circuits not to be universal for classical computation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Clifford group circuits themselves are particularly weak, and correspond to the complexity class Parity-L, as was shown &lt;a href=&quot;http://arxiv.org/abs/quant-ph/0406196&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="447" LastActivityDate="2010-11-23T19:53:28.553" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="3289" PostTypeId="2" ParentId="3230" CreationDate="2010-11-23T20:29:14.937" Score="4" Body="&lt;p&gt;This is obviously a comment and not an answer, but I don't have any reputation points here yet, so sorry about that.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For non-bipartite cubic bridgeless graphs, there are exponentially many perfect matchings, as Lovàsz and Plummer conjectured in the 70s.  The paper is in preparation.  This may be very relevant to your question, or maybe not at all.&lt;/p&gt;&#xA;" OwnerUserId="1929" LastActivityDate="2010-11-23T20:29:14.937" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3290" PostTypeId="2" ParentId="149" CreationDate="2010-11-23T20:35:15.220" Score="6" Body="&lt;p&gt;The meaning of &lt;strong&gt;randomness&lt;/strong&gt;, what accounts as a &quot;random sequence&quot; and related questions were important in mathematics, probability theory, and statistics for centuries. Theoretical computer science (and complexity theory) offers very robust deep and convincing insights for the understanding of randomness. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;While the probabilistic method started in mathematics &lt;strong&gt;derandomization&lt;/strong&gt; which is an important mathematical concept is mainly developed in CS.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is related to &lt;a href=&quot;https://cstheory.stackexchange.com/questions/149/applications-of-tcs-to-classical-mathematics/157#157&quot;&gt;Moritz&lt;/a&gt;'s answer.&lt;/p&gt;&#xA;" OwnerUserId="712" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2010-11-23T20:35:15.220" CommentCount="0" CommunityOwnedDate="2010-11-23T20:35:15.220" ContentLicense="CC BY-SA 2.5" />
  <row Id="3291" PostTypeId="2" ParentId="990" CreationDate="2010-11-23T21:33:53.700" Score="7" Body="&lt;p&gt;A more complexity theoretical point of view can be found in Sec. 8 of R. Josza's paper &lt;a href=&quot;http://arxiv.org/abs/quant-ph/0508124&quot;&gt;An introduction to measurement based quantum computation&lt;/a&gt;. He states the following: &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;The measurement based models provide a natural formalism for separating a quantum algorithm into &quot;classical parts and quantum parts&quot;. &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;He also states a conjecture on the amount of &quot;quantumness&quot; needed by a BQP algorithm:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Conjecture&lt;/strong&gt;: Any polynomial time quantum algorithm can be implemented with only $O(\log n)$ quantum layers interspersed with polynomial time classical computations.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;See the paper for a clear explanation of &lt;em&gt;quantum layer&lt;/em&gt; and of the model in general. &#xA;The conjecture is still open and I guess this is a nice way to quantify the amount of &quot;quantumness&quot; of an algorithm, at least from the computational complexity side.&lt;/p&gt;&#xA;" OwnerUserId="1542" LastActivityDate="2010-11-23T21:33:53.700" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3292" PostTypeId="2" ParentId="3278" CreationDate="2010-11-23T21:38:00.250" Score="20" Body="&lt;p&gt;Vereshchagin [Ver] showed that there is an oracle relative to which AM is not contained in PP. (This result seems incomparable with the $P^{NP}$ vs PP result.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[Ver] N. K. Vereshchagin. &lt;a href=&quot;http://lpcs.math.msu.su/~ver/papers/am-pp.ps&quot; rel=&quot;nofollow&quot;&gt;On the power of PP&lt;/a&gt;, Proceedings of IEEE Complexity'92, pp. 138-143, 1992. &lt;/p&gt;&#xA;" OwnerUserId="206" LastEditorUserId="186" LastEditDate="2013-03-19T17:56:47.710" LastActivityDate="2013-03-19T17:56:47.710" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="3293" PostTypeId="2" ParentId="2953" CreationDate="2010-11-23T23:12:32.967" Score="15" Body="&lt;p&gt;Richard Feynman's must-read book &lt;a href=&quot;https://en.wikipedia.org/wiki/Surely_You%27re_Joking,_Mr._Feynman!&quot; rel=&quot;nofollow&quot;&gt;&quot;Surely You're Joking, Mr. Feynman!&quot;&lt;/a&gt; is a mine of good research practices. &#xA;My favorite Feynman's advice is on how teaching helps to do good research, see &lt;a href=&quot;http://www.pitt.edu/~druzdzel/feynman.html&quot; rel=&quot;nofollow&quot;&gt;these excerpts&lt;/a&gt;. If nothing more, this is at least very motivating when you have TA/teaching duties that seem to &quot;obstacle&quot; your research. &lt;/p&gt;&#xA;" OwnerUserId="1542" LastEditorUserId="1542" LastEditDate="2015-04-03T15:29:50.923" LastActivityDate="2015-04-03T15:29:50.923" CommentCount="0" CommunityOwnedDate="2010-11-23T23:12:32.967" ContentLicense="CC BY-SA 3.0" />
  <row Id="3295" PostTypeId="2" ParentId="3284" CreationDate="2010-11-24T00:49:06.120" Score="5" Body="&lt;p&gt;Kim and Moon (2004) compare variants of Kernighan-Lin which combine the usual gain and a lock-based gain, which is relative to the locked vertices. You can combine two gain functions in the range $-n\ldots n$ using an implementation of Fiduccia-Matheyses with $O(n^2)$ buckets.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Kim, Moon, &lt;a href=&quot;http://dx.doi.org/10.1023/B%3aHEUR.0000019985.94952.eb&quot; rel=&quot;nofollow&quot;&gt;Lock-gain based Graph Partitioning&lt;/a&gt;, J Heuristics, 10, 37-57, 2004.&lt;/p&gt;&#xA;" OwnerUserId="2150" LastActivityDate="2010-11-24T00:49:06.120" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3296" PostTypeId="2" ParentId="3280" CreationDate="2010-11-24T01:03:54.037" Score="7" Body="&lt;p&gt;Back in the mid 80's while I was working on recursive ascent parsers and factoring of grammars, I started by defining partial derivatives of grammars. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Lots of nice theory there.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Do you have any specific questions?&lt;/p&gt;&#xA;" OwnerUserId="2363" LastActivityDate="2010-11-24T01:03:54.037" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3297" PostTypeId="1" CreationDate="2010-11-24T08:06:00.637" Score="34" ViewCount="6547" Body="&lt;p&gt;There are tons of NP-complete problems around and sources collecting them, e.g. see the book by Garey and Johnson. I would be interested to see a list of NEXP-complete problems as well. Is there one available? As I assume there isn't, I open this question (is this supposed to be a community wiki? I don't know about this stuff).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Ideally the list should cover the different &quot;types&quot; of NEXP-complete problems, perhaps with some healthy redundancy to get the big picture, but without repeating itself too much. For example, it is good to have two or three different succinct versions of the same NP-complete problem as examples, if the succinct encodings come in slightly different forms. Not a dozen. A clean way to add the redundancy is by adding clauses of the form &quot;Also NEXP-complete if BLAH&quot;. Clauses of the form &quot;Remains NEXP-complete if the input graph has degree at most BLAH&quot; are also welcome.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, let me add a personal preference. I am most of all interested in complete problems of &quot;algebraic&quot; flavor, if there are any. For example, my favorite #P-complete problem is the permanent for its algebraic flavor. I hope the equality NEXP = MIP can also provide some nice algebraic NEXP-complete problem that I am not aware of.&lt;/p&gt;&#xA;" OwnerUserId="1509" LastEditorUserId="80" LastEditDate="2010-11-24T08:51:49.427" LastActivityDate="2018-02-08T23:34:00.740" Title="NEXP-complete problems" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;big-list&gt;&lt;nexp&gt;" AnswerCount="5" CommentCount="5" FavoriteCount="12" CommunityOwnedDate="2010-11-24T08:51:08.353" ContentLicense="CC BY-SA 2.5" />
  <row Id="3298" PostTypeId="2" ParentId="3297" CreationDate="2010-11-24T08:10:23.490" Score="15" Body="&lt;p&gt;Let me start with the canonical one:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a non-deterministic Turing machine $M$ and an integer $n$ written in binary, is there are computation path of $M$ that accepts the empty string in at most $n$ steps?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also NEXP-complete if $n$ is written in unary and we ask for at most $2^n$ steps.&lt;/p&gt;&#xA;" OwnerUserId="1509" LastActivityDate="2010-11-24T08:10:23.490" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3299" PostTypeId="1" AcceptedAnswerId="4354" CreationDate="2010-11-24T09:44:36.727" Score="8" ViewCount="775" Body="&lt;p&gt;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.83.9150&amp;amp;rep=rep1&amp;amp;type=pdf&quot;&gt;&lt;strong&gt;Link-cut tree&lt;/strong&gt;&lt;/a&gt; is a data structure invented by Sleator and Tarjan, which supports various operations and queries on a $n$-node forest in time $O(\log n)$. (For example, operation &lt;em&gt;link&lt;/em&gt; combines two trees in the forest into one, while operation &lt;em&gt;cut&lt;/em&gt; divide a tree in the forest into two trees.) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Several applications are known by using link-cut trees, and here I'm particularly interested in Goodrich's &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.105.169&amp;amp;rep=rep1&amp;amp;type=pdf&quot;&gt;&lt;strong&gt;separator decomposition&lt;/strong&gt;&lt;/a&gt;, which given a $n$-node plane graph $G$ one can obtain a corresponding binary tree where nodes are subgraphs of $G$, and the children of a node $H$ are the subgraphs of $H$ divided by the separator on $H$. Such a decomposition can be easily constructed in $O(n \log n)$ time (since a separator can be found in $O(n)$ time, and since the separator divides the graph so balanced, after $O(\log n)$ level of separations the leaves of the tree are of size $O(1)$). The main contribution of Goodrich is that he can construct such a decomposition in time $O(n)$, by maintaining and reusing the data structures used for finding separators in each level.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One of the data structures being used in the construction, is indeed the link-cut tree. In page 7 of the &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.105.169&amp;amp;rep=rep1&amp;amp;type=pdf&quot;&gt;paper&lt;/a&gt; by Goodrich, he claimed that the initialization of the link-cut tree can be done in time $O(n)$. While I go through all the papers cited there, it seems to me that if we construct a link-cut tree via operation &lt;em&gt;link&lt;/em&gt;, it takes time $O(n \log n)$ in total.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Do I misunderstand something? Can the initialization of a link-cut tree be done in time $O(n)$? &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="1800" LastActivityDate="2011-01-17T02:04:26.987" Title="What is the initialization time of a link-cut tree?" Tags="&lt;ds.algorithms&gt;&lt;ds.data-structures&gt;&lt;time-complexity&gt;&lt;tree&gt;&lt;dynamic-algorithms&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="3300" PostTypeId="2" ParentId="3278" CreationDate="2010-11-24T11:35:55.490" Score="38" Body="&lt;p&gt;Huck, as Lance and Robin pointed out, we do have oracles relative to which PH is not in PP.  But that doesn't answer your question, which was what the situation is in the &quot;real&quot; (unrelativized) world!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The short answer is that (as with so much else in complexity theory) we don't know.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But the longer answer is that there are very good reasons to conjecture that indeed PH &amp;sube; PP.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First, Toda's Theorem implies PH &amp;sube; BP.PP, where BP.PP is the complexity class that &quot;is to PP as BPP is to P&quot; (in other words, PP where you can use a randomization to decide which MAJORITY computation you want to perform).  Second, under plausible derandomization hypotheses (similar to the ones that are known to imply P=BPP, by Nisan-Wigderson, Impagliazzo-Wigderson, etc.), we would have PP = BP.PP.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;b&gt;Addendum,&lt;/b&gt; to address your other questions:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(1) I'd say that we don't have a compelling intuition either way on the question of whether PP = P&lt;sup&gt;PP&lt;/sup&gt;.  We know, from the results of Beigel-Reingold-Spielman and Fortnow-Reingold, that PP is closed under &lt;i&gt;nonadaptive&lt;/i&gt; (truth-table) reductions.  In other words, a P machine that can make parallel queries to a PP oracle is no more powerful than PP itself.  But the fact that these results completely break down for &lt;i&gt;adaptive&lt;/i&gt; (non-parallel) queries to the PP oracle suggests that maybe the latter are really more powerful.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(2) Likewise, NP&lt;sup&gt;PP&lt;/sup&gt; and coNP&lt;sup&gt;PP&lt;/sup&gt; might be still more powerful than P&lt;sup&gt;PP&lt;/sup&gt;.  And PP&lt;sup&gt;PP&lt;/sup&gt; might be more powerful still, and so on.  The sequence P, PP, P&lt;sup&gt;PP&lt;/sup&gt;, PP&lt;sup&gt;PP&lt;/sup&gt;, P&lt;sup&gt;PP^PP&lt;/sup&gt;, etc. is called the &lt;i&gt;counting hierarchy&lt;/i&gt;, and just as people conjecture that PH is infinite, so too one can conjecture (though maybe with less confidence!) that CH is infinite.  This is closely related to the belief that, in constant-depth threshold circuits (i.e., neural networks), adding more layers of threshold gates gives you more computational power.&lt;/p&gt;&#xA;" OwnerUserId="1575" LastEditorUserId="1575" LastEditDate="2013-03-23T15:38:35.713" LastActivityDate="2013-03-23T15:38:35.713" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="3301" PostTypeId="2" ParentId="3299" CreationDate="2010-11-24T13:58:22.747" Score="0" Body="&lt;p&gt;Chapter 5.1 in &quot;Data Structures and Network Algorithms&quot;, which is ref. 43 in the paper you cited, seems like it might have the answer:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://books.google.com/books?id=JiC7mIqg-X4C&amp;amp;lpg=PP1&amp;amp;ots=8frbjj8vL0&amp;amp;dq=data%20structures%20and%20network%20algorithms&amp;amp;pg=PA59#v=onepage&amp;amp;q&amp;amp;f=false&quot; rel=&quot;nofollow&quot;&gt;http://books.google.com/books?id=JiC7mIqg-X4C&amp;amp;lpg=PP1&amp;amp;ots=8frbjj8vL0&amp;amp;dq=data%20structures%20and%20network%20algorithms&amp;amp;pg=PA59#v=onepage&amp;amp;q&amp;amp;f=false&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;...In discussing this problem we shall use 'm' to denote the number of operations and 'n' to denote the numebr of vertices (maketree operations).  One way to solve this problem is to store with each vertex its parent and its cost.  With this representation each maketree, link, or cut operation takes O(1) time, and each findroot, findcost, or addcost operation takes time proportiatonl to the depth of the input vertex, which is O(n)...&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Several more successive pages are available in the preview.&lt;/p&gt;&#xA;" OwnerUserId="2256" LastActivityDate="2010-11-24T13:58:22.747" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="3302" PostTypeId="2" ParentId="3297" CreationDate="2010-11-24T16:20:30.370" Score="17" Body="&lt;p&gt;See &lt;a href=&quot;http://arxiv.org/abs/0905.2419&quot;&gt;http://arxiv.org/abs/0905.2419&lt;/a&gt; by Gottesman and Irani.  This is a neat example.  Essentially, we are all used to the idea that constraint satisfaction can be an NP-complete problem (depending on geometry, etc...)  However, they consider a situation in which all the constraints are given beforehand and the only thing you are allowed to vary is how large the system is.  However, this turns out to be still hard if you encode the problem in the system size.  That is, the problem is specified by giving a string of N bits, giving the size of the system from 0 to 2^N-1.  So, the system size is exponentially larger than the input size.  They show that this is NEXP-complete (and that the quantum analogue is QMA_EXP-complete).&lt;/p&gt;&#xA;" OwnerUserId="2279" LastActivityDate="2010-11-24T16:20:30.370" CommentCount="0" CommunityOwnedDate="2010-11-24T16:20:30.370" ContentLicense="CC BY-SA 2.5" />
  <row Id="3303" PostTypeId="2" ParentId="3297" CreationDate="2010-11-24T16:40:17.410" Score="27" Body="&lt;p&gt;For some NP-complete problems, there's a SUCCINCT variant that's NEXP-complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An example is SUCCINCT HAMILTON PATH:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;A Boolean circuit with 2&lt;i&gt;n&lt;/i&gt; inputs and one output represents a graph on 2&lt;sup&gt;&lt;i&gt;n&lt;/i&gt;&lt;/sup&gt; vertices. To determine if there is an edge between vertices &lt;em&gt;i&lt;/em&gt; and &lt;em&gt;j&lt;/em&gt;, encode &lt;em&gt;i&lt;/em&gt; and &lt;em&gt;j&lt;/em&gt; in &lt;em&gt;n&lt;/em&gt; bits each, and feed their concatenation to the circuit: there is an edge between these vertices iff the output of the circuit is true. Given such a circuit, is there a Hamilton path in the graph represented by the circuit?&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Similarly, there's SUCCINCT 3SAT, SUCCINCT KNAPSACK, etc.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Reference&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Hana Galperin, and Avi Wigderson (1983), &quot;Succinct representations of graphs&quot;, &lt;em&gt;Information and Control&lt;/em&gt; 56:3, pp. 183–198.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="2114" LastEditorUserId="2114" LastEditDate="2010-11-24T22:57:37.477" LastActivityDate="2010-11-24T22:57:37.477" CommentCount="0" CommunityOwnedDate="2010-11-24T16:40:17.410" ContentLicense="CC BY-SA 2.5" />
  <row Id="3304" PostTypeId="1" AcceptedAnswerId="3306" CreationDate="2010-11-24T22:01:13.140" Score="35" ViewCount="1437" Body="&lt;p&gt;The central problem of complexity theory is arguably $P$ vs $NP$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, since Nature is quantum, it would seem more natural to consider the classes $BQP$ (ie decision problems solvable by a quantum computer in polynomial time, with an error probability of at most 1/3 for all instances) ans $QMA$ (the quantum equivalent of $NP$) instead.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My questions:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) Would a solution to the $P$ vs $NP$ problem give a solution to $BQP$ vs $QMA$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) Do the three barriers of relativization, natural proofs and algebrization also apply to the $BQP$ vs $QMA$ problem?&lt;/p&gt;&#xA;" OwnerUserId="5" LastActivityDate="2015-09-24T15:15:17.273" Title="$BQP$ vs $QMA$?" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;quantum-computing&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="3305" PostTypeId="2" ParentId="3180" CreationDate="2010-11-24T22:04:30.823" Score="7" Body="&lt;p&gt;Watson (Tech. Rep. Univ. Eindhoven 1995) has written a taxonomy of finite automata construction algorithms; a few more recent developments are found below. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For NFAs with epsilon-transitions, the parsing theory book by Sippu/Soisalon-Soininen (Springer, 1998) contains a variant of Thompson's construction. Ilie and Yu (I&amp;amp;C 2003) and Gulan and Fernau (FSTTCS 2008) give refined versions of the classical construction. The minimum required size of epsilon-NFAs corresponding to regular expressions is further studied by Gruber and Gulan (LATA 2010). The structure of the underlying digraphs resulting from Thompson's construction is studied by Giammarresi, Ponty, Wood &amp;amp; Ziadi (Discr. Appl. Math 2004) and by Gulan (Tech. Rep. Univ. Trier, 2010).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Regarding epsilon-free NFAs, I want to mention the earlier work by Berry &amp;amp; Sethi (TCS 1986) and by Brüggemann-Klein (TCS 1993), but that is probably covered by Watson's taxonomy. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hagenah and Muscholl (RAIRO 2000) give a fast parallel version of Hromkovic, Seibert &amp;amp; Wilke's (HSW) algorithm. The initial lower bound on size (number of transitions) of epsilon-free NFAs by HSW is improved by Lifshits (IPL 2003). Geffert (JCSS 2003) improves the upper bound in the case of binary alphabets; Later Schnitger (STACS 2006) improves the lower bound on the size of epsilon-free NFAs (for largely growing alphabet sizes, the algorithm by HSW produces asymptotically optimal NFAs), and shows that size $n\cdot 2^{O(\log^*n)}$ suffices for binary alphabets.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also note: Regarding fast algorithms for regular expression matching, I am aware of recent work by Bille and Thorup (ICALP 2009, SODA 2010). They use the classical Thompson construction (plus of course many tricks for getting speed).&lt;/p&gt;&#xA;" OwnerUserId="2367" LastActivityDate="2010-11-24T22:04:30.823" CommentCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="3306" PostTypeId="2" ParentId="3304" CreationDate="2010-11-24T22:15:48.790" Score="34" Body="&lt;p&gt;1) No implication is known in either direction.  We know that P=NP implies P=PH.  But we don't know if BQP and QMA are in PH, so maybe P could equal NP yet BQP and QMA still wouldn't collapse.  (On the other hand, note that QMA&amp;sube;PP&amp;sube;P&lt;sup&gt;#P&lt;/sup&gt;, so certainly P=P&lt;sup&gt;#P&lt;/sup&gt; would imply BQP=QMA.)  To show that BQP=QMA implies P=NP seems even more hopeless in the present state of knowledge.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) Absolutely, all three barriers apply with full force to BQP vs. QMA (and even to the &quot;easier&quot; problem of proving P&amp;ne;PSPACE).  First, relative to a PSPACE oracle (or even the low-degree extension of a PSPACE oracle), we have&lt;/p&gt;&#xA;&#xA;&lt;p&gt;P = NP = BQP = QMA = PSPACE,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;so certainly nonrelativizing and non-algebrizing techniques will be needed to separate any of these classes.  Second, to get a natural proofs barrier for putting stuff outside BQP, all you need is a pseudorandom function family that's computable in BQP, which is a formally weaker requirement than a pseudorandom function family computable in P.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;b&gt;Addendum:&lt;/b&gt; Let me say something about a &quot;metaquestion&quot; which you didn't ask but hinted at, of why people still focus on P vs. NP even though we believe Nature is quantum.  Personally, I've always seen P vs. NP as nothing more than the &quot;flagship&quot; for a whole bunch of barrier questions in complexity theory (P vs. PSPACE, P vs. BQP, NP vs. coNP, NP vs. BQP, the existence of one-way functions, etc), &lt;i&gt;none&lt;/i&gt; of which we know how to answer, and all of which are related in the sense that any breakthrough with one would very likely lead to breakthroughs with the others (even where we don't have formal implications between the questions, which in many cases we do).  P vs. NP isn't inherently more fundamental than any of the others -- but if we have to pick one question to serve as the poster child for complexity, then it's a fine choice.&lt;/p&gt;&#xA;" OwnerUserId="1575" LastEditorUserId="1575" LastEditDate="2010-11-24T22:30:33.787" LastActivityDate="2010-11-24T22:30:33.787" CommentCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="3307" PostTypeId="2" ParentId="3297" CreationDate="2010-11-24T23:07:02.507" Score="14" Body="&lt;p&gt;SCHÖNFINKEL–BERNAYS SAT&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;A formula in first-order logic belongs to the Schönfinkel–Bernays class of formulae if it can be expressed in the form $∃x_1 ∃x_2 \ldots ∀y_1 ∀y_2 \ldots φ$ (with $φ$ containing no quantifiers or function symbols). Given a Schönfinkel–Bernays formula, does it have a model?&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Reference&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;H. R. Lewis (1980), &quot;&lt;a href=&quot;https://ac.els-cdn.com/0022000080900276/1-s2.0-0022000080900276-main.pdf?_tid=68c1d1ea-0d27-11e8-b6b0-00000aab0f6b&amp;amp;acdnat=1518132543_a4153041d1a6d93d141092e724c2960c&quot; rel=&quot;nofollow noreferrer&quot;&gt;Complexity results for classes of quantificational formulas&lt;/a&gt;&quot;, &lt;em&gt;Journal of Computer and System Sciences&lt;/em&gt; 21, pp. 317–353.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="2114" LastEditorUserId="2114" LastEditDate="2018-02-08T23:34:00.740" LastActivityDate="2018-02-08T23:34:00.740" CommentCount="3" CommunityOwnedDate="2010-11-24T23:07:02.507" ContentLicense="CC BY-SA 3.0" />
  <row Id="3308" PostTypeId="2" ParentId="3224" CreationDate="2010-11-25T04:46:44.540" Score="2" Body="&lt;p&gt;I realize this does not do justice to the breadth of your questions but as a starting reference, you may be interested in the benchmark times for various pairings implemented in the pairing-based cryptography (PBC) library:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://crypto.stanford.edu/pbc/times.html&quot; rel=&quot;nofollow&quot;&gt;http://crypto.stanford.edu/pbc/times.html&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;They reference RSA decryption to give a sense of time relative to a standard operation (although it isn't as useful as knowing a DL or ECC-DL operation). The main developer, Ben Lynn, also did his PhD on PBC implementations—the dissertation may answer some of your questions.&lt;/p&gt;&#xA;" OwnerUserId="1792" LastEditorUserId="1792" LastEditDate="2010-11-25T04:59:20.940" LastActivityDate="2010-11-25T04:59:20.940" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3309" PostTypeId="1" AcceptedAnswerId="3321" CreationDate="2010-11-25T10:55:05.927" Score="19" ViewCount="1488" Body="&lt;p&gt;A DFA has a &lt;a href=&quot;http://en.wikipedia.org/wiki/Synchronizing_word&quot;&gt;synchronizing word&lt;/a&gt; if there is a string that sends any state of the DFA to a single state. In ‘The Cerny Conjecture for Aperiodic Automata” by A. N. Trahtman (Discrete Mathematics and Theoretical Computer Science vol. 9:2, 2007, pp.3-10), he wrote,&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Cerny conjectured in 1964 that every&#xA;  n-state synchronizable DFA possesses a&#xA;  synchronizing word of length at most&#xA;  $(n-1)^2$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;He also wrote, &quot;in the case when the underlying graph of the aperiodic DFA is strongly connected, this upper bound has been recently improved by Volkov who has reduced the estimation to $n(n + 1)/6$.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Does anybody know the current status of Cerny conjecture?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;And in which paper Volkov obtained the result n(n+1)/6 ?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Thanks for any pointer or link.&lt;/p&gt;&#xA;" OwnerUserId="2372" LastEditorUserId="2367" LastEditDate="2014-07-20T12:43:14.457" LastActivityDate="2017-06-09T06:33:45.590" Title="Status of Cerny Conjecture?" Tags="&lt;fl.formal-languages&gt;&lt;automata-theory&gt;&lt;open-problem&gt;&lt;synchronization&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="3310" PostTypeId="1" AcceptedAnswerId="3315" CreationDate="2010-11-25T11:14:31.493" Score="5" ViewCount="4215" Body="&lt;p&gt;I would like to understand this with an example. Also, are there other kinds of invariants related to these?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks!&lt;/p&gt;&#xA;" OwnerUserId="2374" LastEditorUserId="186" LastEditDate="2010-11-25T14:46:36.577" LastActivityDate="2010-11-25T17:18:36.960" Title="What's the difference between an invariant and an &quot;inductive&quot; invariant?" Tags="&lt;pl.programming-languages&gt;&lt;program-verification&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="3311" PostTypeId="2" ParentId="3280" CreationDate="2010-11-25T11:20:58.247" Score="12" Body="&lt;p&gt;You might be interested in this paper:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;a href=&quot;http://arxiv.org/abs/1010.5023&quot; rel=&quot;nofollow&quot;&gt;Yacc is Dead&lt;/a&gt; by Matthew Might and David Darais, 2010&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;We present two novel approaches to&#xA;  parsing context-free languages. &lt;strong&gt;The&#xA;  first approach is based on an&#xA;  extension of Brzozowski's derivative&#xA;  from regular expressions to&#xA;  context-free grammars. The second&#xA;  approach is based on a generalization&#xA;  of the derivative to parser&#xA;  combinators.&lt;/strong&gt; The payoff of these&#xA;  techniques is a small (less than 250&#xA;  lines of code), easy-to-implement&#xA;  parsing library capable of parsing&#xA;  arbitrary context-free grammars into&#xA;  lazy parse forests. Implementations&#xA;  for both Scala and Haskell are&#xA;  provided. Preliminary experiments with&#xA;  S-Expressions parsed millions of&#xA;  tokens per second, which suggests this&#xA;  technique is efficient enough for use&#xA;  in practice.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Also of potential interest:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://research.swtch.com/2010/12/yacc-is-not-dead.html&quot; rel=&quot;nofollow&quot;&gt;Yacc is Not Dead&lt;/a&gt;, review of this paper by Russ Cox, of &lt;a href=&quot;http://code.google.com/p/re2/&quot; rel=&quot;nofollow&quot;&gt;re2&lt;/a&gt; fame.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://matt.might.net/articles/parsing-with-derivatives/&quot; rel=&quot;nofollow&quot;&gt;Yacc is dead: An update&lt;/a&gt;, reply from Matt Might.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://matt.might.net/papers/might2011derivatives.pdf&quot; rel=&quot;nofollow&quot;&gt;Functional Pearl: Parsing with Derivatives&lt;/a&gt; by Matthew Might, David Darais and Daniel Spiewak - an updated version of the &quot;Yacc is Dead&quot; paper, presented at ICFP 2011 in Tokyo.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="792" LastEditorUserId="792" LastEditDate="2012-11-06T04:34:26.517" LastActivityDate="2012-11-06T04:34:26.517" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="3312" PostTypeId="2" ParentId="3297" CreationDate="2010-11-25T13:00:35.727" Score="15" Body="&lt;p&gt;&lt;strong&gt;Inequivalence of regular expressions over $\cup$ (union), $\cdot$ (concatenation), and ${}^2$ (squaring)&lt;/strong&gt;: Given two regular expressions do they represent different sets?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A regular expression is either &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$0$, &lt;/li&gt;&#xA;&lt;li&gt;$1$, &lt;/li&gt;&#xA;&lt;li&gt;$e\cup f$, &lt;/li&gt;&#xA;&lt;li&gt;$e\cdot f$, or &lt;/li&gt;&#xA;&lt;li&gt;$e^2$. &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;These expressions represent the sets &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$L(0)=\{0\}$, &lt;/li&gt;&#xA;&lt;li&gt;$L(1)=\{1\}$, &lt;/li&gt;&#xA;&lt;li&gt;$L(e\cup f)=L(e)\cup L(f)$, &lt;/li&gt;&#xA;&lt;li&gt;$L(e\cdot f)=\{ab\mid a\in L(e), b\in L(f)\}$, and &lt;/li&gt;&#xA;&lt;li&gt;$L(e^2)=L(e\cdot e)$, &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;respectively.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that if we allow the &lt;a href=&quot;http://en.wikipedia.org/wiki/Kleene_star&quot;&gt;Kleene star&lt;/a&gt; (zero or more copies of an expression) as the forth operator (in addition to union, concatenation, and squaring), then the problem of recognizing whether two regular expressions represent different languages becomes &lt;strong&gt;EXPSPACE-complete&lt;/strong&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;L. J. Stockmeyer, A. R. Meyer, &quot;&lt;a href=&quot;http://dx.doi.org/10.1145/800125.804029&quot;&gt;Word problems requiring exponential time&lt;/a&gt;&quot;, 5th STOC, 1973.&lt;/p&gt;&#xA;" OwnerUserId="2150" LastEditorUserId="873" LastEditDate="2011-02-01T03:54:07.973" LastActivityDate="2011-02-01T03:54:07.973" CommentCount="0" CommunityOwnedDate="2010-11-25T13:00:35.727" ContentLicense="CC BY-SA 2.5" />
  <row Id="3313" PostTypeId="2" ParentId="3229" CreationDate="2010-11-25T17:11:04.113" Score="5" Body="&lt;p&gt;I found a nice example in Dick Lipton's blog, &lt;a href=&quot;http://rjlipton.wordpress.com/2010/01/05/an-approach-to-pnp-via-descriptive-complexity/&quot; rel=&quot;noreferrer&quot;&gt;An Approach to P=NP via Descriptive Complexity&lt;/a&gt;, He proposes an upper bound conjecture (Hypothesis H) that would imply &lt;span class=&quot;math-container&quot;&gt;$P\ne NP$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;Hypothesis H&lt;/strong&gt;: Suppose that &lt;span class=&quot;math-container&quot;&gt;$C$&lt;/span&gt; are Horn clauses &lt;span class=&quot;math-container&quot;&gt;$C_{1} \wedge \dots \wedge C_{m}$&lt;/span&gt;. If they are satisfiable, then there is a valid assignment for the clauses with description complexity at most polynomial in the description complexity of the clauses.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Theorem&lt;/strong&gt;: Suppose that Hypothesis H is true. Then, &lt;span class=&quot;math-container&quot;&gt;$P \ne NP$&lt;/span&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="495" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2010-11-25T17:11:04.113" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3314" PostTypeId="1" CreationDate="2010-11-25T17:16:44.007" Score="3" ViewCount="1885" Body="&lt;p&gt;(Originally posted &lt;a href=&quot;https://math.stackexchange.com/questions/11852/computing-the-number-of-increasing-k-long-subsequences&quot;&gt;on Math.SE&lt;/a&gt;.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $f$ be a permutation on $n$ letters. I want to count the number of $k$-long increasing subsequences quickly.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One approach is to first use divide and conquer to split the problem into finding increasing subsequences in pairs of numbers. The resulting 'tree' then has height $\log n$. I'm wondering how the subproblems could be combined in an efficient way. I thought about prefix sums and using mergesort, but I can't see how to effectively implement them.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One idea to save time when combining two subproblems is to compare elements at the end of the increasing subsequences in the first subproblem with values in the second subproblem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My goal is to get to $O(k n \log n)$ time but this doesn't do it.&lt;/p&gt;&#xA;" OwnerDisplayName="Ernst" LastEditorUserId="-1" LastEditDate="2017-04-13T12:19:19.363" LastActivityDate="2013-02-19T19:35:01.767" Title="Counting length-k increasing subsequences in a permutation" Tags="&lt;ds.algorithms&gt;&lt;permutations&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="3315" PostTypeId="2" ParentId="3310" CreationDate="2010-11-25T17:18:36.960" Score="11" Body="&lt;p&gt;I don't know anything about the topic, so let me try to give a very simple example and let's see what others say.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Program:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Initialise: $x \gets 2$.&lt;/li&gt;&#xA;&lt;li&gt;Iterate: $x \gets 2x - 1$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Now &quot;$x &gt; 0$&quot; is an invariant. It certainly holds initially and after each iteration.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, it is not an &lt;em&gt;inductive&lt;/em&gt; invariant: merely knowing that $x &amp;gt; 0$ before an iteration is not sufficient to guarantee that $x &amp;gt; 0$ after the iteration. After all, if $x &amp;gt; 0$ is &lt;em&gt;all&lt;/em&gt; that we know, then we might have $x = 0.1$ before an iteration and thus $x &amp;lt; 0$ after the iteration.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, something like &quot;$x &gt; 1$&quot; is an invariant and also an inductive invariant. It is easy to check that if $x &amp;gt; 1$ before an iteration, then also $x &amp;gt; 1$ after the iteration.&lt;/p&gt;&#xA;" OwnerUserId="74" LastActivityDate="2010-11-25T17:18:36.960" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3316" PostTypeId="2" ParentId="3314" CreationDate="2010-11-25T19:21:45.030" Score="2" Body="&lt;p&gt;According to &lt;a href=&quot;http://dx.doi.org/10.1016/0020-0190%2890%2990180-6&quot; rel=&quot;nofollow&quot;&gt;Kim&lt;/a&gt;, finding &lt;strong&gt;one&lt;/strong&gt; such sequence is equivalent to finding a maximum independent set in a permutation graph and can be done in $O(n\log n)$ time. The running time you're looking for suggests you already knew about that, but if not, looking at citing papers might help.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt; actually, the complement of a permutation graph is also a permutation graph, and the complement of an independent set is a clique, so unless I'm missing something, maximising the number of increasing sequences of length $k$ in your permutation should be equivalent to partitioning a permutation graph into as many $K_k$'s as possible. Surely this has been studied, at least for triangles...&lt;/p&gt;&#xA;" OwnerUserId="775" LastEditorUserId="775" LastEditDate="2010-11-26T09:55:34.163" LastActivityDate="2010-11-26T09:55:34.163" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3317" PostTypeId="2" ParentId="2802" CreationDate="2010-11-25T19:29:22.080" Score="13" Body="&lt;p&gt;How about Martin Escardo's publications showing that there are infinite sets that can be exhaustively searched over in finite time?  See Escardo's guest blog post on Andrej Bauer's blog, for instance, on &lt;a href=&quot;http://math.andrej.com/2007/09/28/seemingly-impossible-functional-programs/&quot;&gt;&quot;Seemingly impossible functional programs&quot;&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="375" LastActivityDate="2010-11-25T19:29:22.080" CommentCount="0" CommunityOwnedDate="2010-11-25T19:29:22.080" ContentLicense="CC BY-SA 2.5" />
  <row Id="3318" PostTypeId="1" AcceptedAnswerId="3319" CreationDate="2010-11-25T19:44:56.443" Score="9" ViewCount="977" Body="&lt;p&gt;I'm looking for a data structure, that is basically a tree of maps, where the map at each node contains some new elements, as well as the elements in its parent node's map. By map here I mean a programming map with keys and values, like map in the STL or dict in python.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, there might be a root node:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;root = {'car':1, 'boat':2}&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;and 2 children, each adding an element to the parent map&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;child1 = {'car':1, 'boat':2, 'jet':35}&#xA;child2 = {'car':1, 'boat':2, 'scooter':-5}&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;I would like this to be as space efficient as possible, ie i don't want to store a complete copy of the resulting map at each node, but ideally the lookup would still be O(log N), N being the total number of elements at the node, not the entire tree.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I was thinking perhaps there is a smart hash function I might use for this, but couldn't come up with anything.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The naive approach would be storing the newly added entries in a map at each node and then move up the tree if nothing is found. I don't like this because it depends on the tree depth.&lt;/p&gt;&#xA;" OwnerUserId="2380" LastEditorUserId="2380" LastEditDate="2010-11-25T20:06:41.737" LastActivityDate="2010-11-29T18:22:18.907" Title="What is the optimal data structure for a tree of maps." Tags="&lt;ds.data-structures&gt;&lt;tree&gt;&lt;hash-function&gt;" AnswerCount="2" CommentCount="7" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="3319" PostTypeId="2" ParentId="3318" CreationDate="2010-11-25T20:35:32.750" Score="10" Body="&lt;p&gt;You haven't said what queries are, but I'll assume query() takes in a node and a key and wants the associated value (or null if no such value exists).  In this case, I think in general you can't do better than storing a separate map at every node.  Consider for example a caterpillar tree where each path node has one node connected to it that's forked off (a total of 2n nodes).  Root it at one end of the path.  Now suppose the universe size for keys is m.  For each forked off node v and each of the m possible keys, that key can either exist or not exist at v, and both would be in compliance with your subtree constraint.  So, there are $2^{mn}$ possibilities for whether each key exists at each fork node, so you need mn bits of space just to store the required information.&lt;/p&gt;&#xA;" OwnerUserId="1810" LastActivityDate="2010-11-25T20:35:32.750" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="3320" PostTypeId="1" AcceptedAnswerId="3336" CreationDate="2010-11-25T21:14:07.953" Score="9" ViewCount="928" Body="&lt;p&gt;First asked on &lt;a href=&quot;https://math.stackexchange.com/questions/10944/tree-decomposition-for-planar-nearest-neighbor-graphs&quot;&gt;math.SE&lt;/a&gt; with no replies.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Suppose I have a planar graph, with a planar embedding, how do I find tree decomposition?&lt;/li&gt;&#xA;&lt;li&gt;What is the optimal tree decomposition of a $d$-by-$d$ square grid? Not completely sure how to define &quot;optimal&quot;, but it should distinguish between decomposition with one large bag and decomposition with many large bags.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="434" LastEditorUserId="-1" LastEditDate="2017-04-13T12:19:19.363" LastActivityDate="2011-03-12T16:42:18.257" Title="Tree decomposition for planar graphs" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;treewidth&gt;&lt;integer-lattice&gt;" AnswerCount="3" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3321" PostTypeId="2" ParentId="3309" CreationDate="2010-11-25T21:30:08.467" Score="19" Body="&lt;p&gt;Trakhtman has a &lt;a href=&quot;http://u.cs.biu.ac.il/~trakht/syn.html&quot;&gt;bibliography&lt;/a&gt; on the problem, which is apparently kept up to date; so I suppose Černý's question remains unresolved until today. The same is stated in Volkov's recent &lt;a href=&quot;http://csseminar.kadm.usu.ru/tarragona_volkov2008.pdf&quot;&gt;survey&lt;/a&gt; (LATA 2008) linked from the wikipedia article cited in the question. There you find pointers to some partial results, for example, for which subclasses of regular languages the conjecture is known to be true. Even more recent is a &lt;a href=&quot;http://arxiv.org/abs/1005.0129&quot;&gt;research paper&lt;/a&gt; by Ananichev, Gusev &amp;amp; Volkov (MFCS 2010) on a related topic, where they confirm that Černý's conjecture is still open now (at least as of May 2010).&lt;/p&gt;&#xA;" OwnerUserId="2367" LastActivityDate="2010-11-25T21:30:08.467" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="3322" PostTypeId="1" AcceptedAnswerId="3325" CreationDate="2010-11-25T22:15:36.750" Score="15" ViewCount="2818" Body="&lt;p&gt;We know that Karger's mincut algorithm can be used to prove (in a non-constructive way) that the maximum number of possible mincuts a graph can have is $n \choose 2$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I was wondering if we could somehow prove this identity by giving a bijective (rather injective) proof from the set of mincuts to another set of cardinality $n \choose 2$. No specific reasons, its just a curiosity. I tried doing it on my own but so far have not had any success. I would not want anyone to squander time over this and so if the question seems pointless I would request the moderators to take action accordingly.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Best&#xA;-Akash&lt;/p&gt;&#xA;" OwnerUserId="55" LastEditorUserId="186" LastEditDate="2011-01-04T09:19:58.240" LastActivityDate="2016-04-12T06:05:00.750" Title="Number of mincuts of a graph without using Karger's algorithm" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;graph-algorithms&gt;&lt;max-flow-min-cut&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="3323" PostTypeId="2" ParentId="1905" CreationDate="2010-11-25T22:28:59.890" Score="9" Body="&lt;p&gt;To answer your first question, a reducibility fitting your needs is log-lin-reducibility, which is logspace reducibility with the additional constraint that the size of the output string of the reduction is at most linear in the size of the input. If I remember correctly, the membership problem for context-sensitive grammars (or, if you like, linearly bounded automata) is the canonical CSL-complete problem w.r.t. log-lin reducibility.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the applied side, the universality problem of (ordinary) regular expressions over binary alphabet, is CSL-complete w.r.t. log-lin-reducibility. The notion and the completeness result are found in  Albert R. Meyer and Larry J. Stockmeyer (SWAT 1972) also: Stockmeyer (PhD thesis, MIT 1974). For further background and similar results in that area, see also the recent survey by Holzer and Kutrib (DLT 2010).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT (2017/03/06):&lt;/strong&gt; Regarding your second question, the accepted answer to the question below cites a paper by Rounds (1973), which constructs a one-way nested stack automaton recognizing SAT. While SAT will not qualify as a &quot;natural&quot; CSL, it might be worth to search the literature for other examples of one-way nested stack automata or indexed grammars.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/questions/9982/context-sensitive-grammar-for-sat&quot;&gt;Context-sensitive grammar for SAT?&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="2367" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2017-03-06T20:06:10.160" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="3324" PostTypeId="1" AcceptedAnswerId="3335" CreationDate="2010-11-25T22:40:02.980" Score="11" ViewCount="570" Body="&lt;p&gt;What follows might seem stupid (and that probably reflects my poor understanding - so please bear with me)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I had a query on PCP theorem. We know that after the first three steps viz. Degree Reduction, Expanderization and Gap Amplification, we have a constraint graph $G$ with improved gap and huge alphabet size (like $\Sigma^{d^t}$). It is this problem that the alphabet reduction step addresses.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is that as outlined in Venkat Guruswami's lecture notes &lt;a href=&quot;http://www.cs.washington.edu/education/courses/cse533/05au/lecture6.pdf&quot; rel=&quot;nofollow&quot;&gt;Introduction to Composition&lt;/a&gt;, it seems to me that the high level idea is to express the constraint $c_e$ over an edge $e$ as a Boolean constraint over boolean variables. This by itself achieves nothing and we also need to apply the PCP reduction ,$P_e$, on this edge. This &quot;looks like&quot; a recursive invocation of PCP and this is where I start getting a little worried. It seems as this recursive invocation would blow up the alphabet size again.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The authors have offered some explanation by observing that this recursion has a &quot;base case&quot; - namely - the &quot;inner&quot; PCP reduction applies only to constraints of constant size. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;(By this I understand that the inner recursion gets invoked only when we are looking at constraints $c_e$ over a single edge which is a binary constraint, but still I have not yet come over the fear that somehow we still might blow up the alphabet size instead of shrinking it). To me, it still seems that a recursive repetition of Gap Amplification step will only make matters worse by blowing up the alphabet size unless we incorporate measures to handle the base case a little differently.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I hope my query  (as silly as it is) is probably clear. Please let me know what essential part am I missing (or have misunderstood).&lt;/p&gt;&#xA;" OwnerUserId="55" LastEditorUserId="1800" LastEditDate="2010-11-26T01:07:46.260" LastActivityDate="2010-11-26T14:42:44.940" Title="PCP Theorem - Alphabet Reduction Step" Tags="&lt;cc.complexity-theory&gt;&lt;pcp&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3325" PostTypeId="2" ParentId="3322" CreationDate="2010-11-26T01:21:42.603" Score="10" Body="&lt;p&gt;The $\binom{n}{2}$ bound I think was originally proven by Dinitz, Karzanov and Lomonosov in 1976, in &quot;A structure for the system of all minimum cuts of a graph&quot;.  Perhaps you can find what you're looking for in this paper, but I'm not sure if it's online.&lt;/p&gt;&#xA;" OwnerUserId="1810" LastActivityDate="2010-11-26T01:21:42.603" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="3326" PostTypeId="2" ParentId="3320" CreationDate="2010-11-26T01:40:04.093" Score="13" Body="&lt;p&gt;For the first question, it is &lt;em&gt;open&lt;/em&gt; whether finding a tree decomposition for planar graphs can be done in polynomial time. The best approximation algorithm may be the &lt;a href=&quot;http://www.springerlink.com/content/q6vh7756761j1m70/&quot;&gt;&lt;strong&gt;RatCatcher&lt;/strong&gt;&lt;/a&gt; algorithm by Seymour and Thomas, which computes the &lt;em&gt;branchwidth&lt;/em&gt; of the planar graph, so it has a 1.5 approximation ratio by the relation between branchwidth and treewidth.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the second one, we have the following theorem about the treewidth of $k \times k$ grids:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Theorem.&lt;/strong&gt; A $k \times k$ grid has treewidth $k$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;And the bags can be taken with size $k+1$, with a total $k(k-1)$ bags. I'm not sure if this is what you want, so feel free to do it if you modify the definition of &quot;optimal&quot;.&lt;/p&gt;&#xA;" OwnerUserId="1800" LastEditorUserId="1800" LastEditDate="2010-11-26T01:54:17.643" LastActivityDate="2010-11-26T01:54:17.643" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3327" PostTypeId="2" ParentId="2802" CreationDate="2010-11-26T02:07:58.417" Score="11" Body="&lt;p&gt;How about the fact that computing permanent is #P-Complete but computing determinant - a way weirder operation happens to be in the class NC?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This seems rather strange - it did not have to be that way (or maybe it did ;-) )&lt;/p&gt;&#xA;" OwnerUserId="55" LastActivityDate="2010-11-26T02:07:58.417" CommentCount="0" CommunityOwnedDate="2010-11-26T02:07:58.417" ContentLicense="CC BY-SA 2.5" />
  <row Id="3328" PostTypeId="2" ParentId="3320" CreationDate="2010-11-26T03:29:10.793" Score="4" Body="&lt;p&gt;If you don't want an optimal tree decomposition, you can build a tree decomposition by computing separators recursively. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2010-11-26T03:29:10.793" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3329" PostTypeId="2" ParentId="3314" CreationDate="2010-11-26T07:08:35.863" Score="1" Body="&lt;p&gt;The time complexity we need is $O(kn\log n)$. That implies if we have an algorithm, that from the number of $k-1$-long increasing subsequences it counts the number of $k$-long subsequences in $O(n\log n)$ time, we are done. We use prefix sums for storing the actual number of $(k-1)$-long subsequences up to the $l$th element, where the individual entries are the number of (k-1)-long subsequences which ends at $l$th position.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Initialization: The number of 1-long increasing subsequences is 1 for all individual entries.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We read the individual entries of this data structure in $O(2\log n)$&#xD;&#xA; time in the following way: read the prefix up to $l$ and then up to $l-1$ then extract it.&#xA; At the beginning of making the $k$-length subsequences we make two empty (all-zero) prefix sums. Then we read the number of $k-1$-long subsequences up to $\pi(1)$. We update one of the table's (denote it $k$-table) $\pi(1)$th entry with the prefix the other (denote it $k-1$-table). Then we update the $k-1$-table's $\pi(1)$th entry with the number of $k-1$-long subsequences ending at $\pi(1)$. We do it also with $\pi(2)$, $\pi(3)$, \dots, $\pi(n)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We used only constant number of readings and updates for each $\pi(i)$. So the time complexity is $O(n\log n)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;When updating the $l$th individual entry of the $k$-table we do the following. We count the number of $k-1$-long subsequences that ends before $\pi(i)$. So that at the ending position of the subsequence the permutation element is smaller than $i$. That is why we need the auxiliary $k-1$-table. &lt;/p&gt;&#xA;" OwnerDisplayName="ZsSz" LastActivityDate="2010-11-26T07:08:35.863" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3330" PostTypeId="1" AcceptedAnswerId="3382" CreationDate="2010-11-26T08:45:21.720" Score="5" ViewCount="387" Body="&lt;h2&gt;Edited at 2010/11/29:&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;As &lt;a href=&quot;https://cstheory.stackexchange.com/questions/3330/dominations-under-oracles-which-is-closed-under-complement/3370#3370&quot;&gt;John Watrous&lt;/a&gt; have mentioned, the class $\mathsf{C^O}$ may be not well-defined. After &lt;a href=&quot;https://cstheory.stackexchange.com/questions/2484/are-oracles-associative&quot;&gt;reading&lt;/a&gt; &lt;a href=&quot;https://cstheory.stackexchange.com/questions/7/space-bounded-tms-and-oracles&quot;&gt;some&lt;/a&gt; &lt;a href=&quot;https://cstheory.stackexchange.com/questions/268/is-there-a-definitive-reference-for-turing-machines-with-multiple-oracle-tapes&quot;&gt;early&lt;/a&gt; &lt;a href=&quot;https://cstheory.stackexchange.com/questions/2490/is-p-pp-p-p&quot;&gt;posts&lt;/a&gt;, I try to restate my question in an unambiguous way.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $\mathsf{O}$ be a complexity class that is closed under complement, i.e. $\mathsf{O} = \mathsf{coO}$. Also we assume that the logspace, $\mathsf{L}$, is a subset of $\mathsf{O}$.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;When does the equality $\mathsf{L^O} = \mathsf{O}$ hold?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;We define $\mathsf{L^O}$ as languages accepted by logspace oracle machines with an $\mathsf{O}$ oracle, where queries are written on a separated oracle tape not restricted to the logspace bound, and after each query the tape is automatically erased.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We know that $\mathsf{NL} = \mathsf{coNL}$ by Immerman-Szelepcsényi Theorem, and we have $\mathsf{L^{NL}} = \mathsf{NL}$.&#xA;Before the era of &lt;a href=&quot;http://www.wisdom.weizmann.ac.il/~reingold/publications/sl.ps&quot; rel=&quot;nofollow noreferrer&quot;&gt;Reingold&lt;/a&gt;, when nobody knows whether $\mathsf{SL} = \mathsf{L}$, Nisan and Ta-Shma have &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.86.9065&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;proved&lt;/a&gt; that $\mathsf{SL}$ is closed under complement. They also show that $\mathsf{L^{SL}} = \mathsf{SL}$ in the paper.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the paper &quot;&lt;a href=&quot;http://cse.unl.edu/~rtewari/ccc07.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Directed Planar Reachability Is in Unambiguous Log-Space&lt;/a&gt;&quot; by Bourke, Tewari and Vinodchandran, they gave a claim in corollary 4.3 that $\mathsf{L^{UL \cap coUL}} = \mathsf{UL \cap coUL}$. Clearly $\mathsf{UL \cap coUL}$ is closed under complement, but is this equality holds so trivially?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Do we have any easy conditions to decide if $\mathsf{L^O}$ and $\mathsf{O}$ are in fact the same? For easy conditions it means we only have to check some properties about $\mathsf{O}$, then we can decide if they are equal, without using definitions of the classes to prove the inclusion $\mathsf{L^O} \subseteq \mathsf{O}$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another related question would be:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Do we have any oracle $\mathsf{O}$ such that $\mathsf{L^O} \neq \mathsf{O}$?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="1800" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2010-11-29T05:13:20.260" Title="Dominations under oracles which is closed under complement?" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;oracles&gt;" AnswerCount="2" CommentCount="7" ContentLicense="CC BY-SA 2.5" />
  <row Id="3331" PostTypeId="1" CreationDate="2010-11-26T09:16:05.413" Score="64" ViewCount="2888" Body="&lt;p&gt;A &lt;a href=&quot;https://cstheory.stackexchange.com/questions/3278/is-ph-subseteq-pp&quot;&gt;recent question&lt;/a&gt; by Huck Bennett asking whether the class PH was contained in the class PP, received somewhat contradictory answers (all true, it seems).  On one hand, several oracle results were given to the contrary, and on the other Scott suggested that the answer is likely positive since Toda's theorem shows that PH is in BP.PP, the probabilistic variant of PP, and we usually believe that randomization does not help much, e.g. reasonable hardness assumptions implies PRGs which can replace randomization.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, in the case of PP it is not apriori clear that even a &quot;perfect&quot; PRG will imply complete derandomization since the natural derandomization would run the original algorithm with the output of the PRG for all polynomially-many possible seeds and take a majority vote. It it is not clear that taking that majority vote among PP computations is something that can be done in PP itself.  However, a paper by Fortnow and Reingold shows that &lt;a href=&quot;http://people.cs.uchicago.edu/~fortnow/papers/pptt.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;PP is closed under truth-table reductions&lt;/a&gt; (extending the surprising result that PP is closed under intersection), which seems to suffice for taking this majority vote.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So what is the question here?  Toda, Fortnow-Reingold and all the PRG-based derandomizations, all seem to relativize, so would imply that PH in PP for every oracle for which appropriate PRGs exist.  So for all the oracles under which PP does not contain PH (e.g. from Minski&amp;amp;Papert, &lt;a href=&quot;http://knight.cis.temple.edu/~beigel/papers/delta2p-cc.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;by Beigel&lt;/a&gt;, or &lt;a href=&quot;http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=00215389&quot; rel=&quot;nofollow noreferrer&quot;&gt;by Vereshchagin&lt;/a&gt;), PRGs for PP do not exist.  In particular this implies that for these oracles there are no appropriately hard functions in EXP (otherwise NW-IW-like PRGs would exist).  Looking at the positive side, this would imply that somewhere inside each of these oracle results hides a (non-uniform) PP-algorithm for (approximating) EXP with that oracle.  This is strange since all these oracle results seem to rely on new PP &lt;em&gt;lower bounds&lt;/em&gt; (for threshold circuits) and are straight-forward in their oracle-building machinery, so I don't see where an &lt;em&gt;upper bound&lt;/em&gt; for PP hides.  Perhaps this upper bound would work in general showing that (non-uniform)-PP can compute (or at least give some bias on) all of EXP?  Wouldn't something like that give at least a CH simulation of EXP?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, I suppose that my question is two-fold: (1) does this chain of reasoning make sense? (2) If so, then can someone &quot;uncover&quot; the implied upper bounds for PP?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit by Aaron Sterling: bumping this to the front page and adding a bounty. This was one of my favorite questions, and it still has no answers.&lt;/p&gt;&#xA;" OwnerUserId="42" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.743" LastActivityDate="2016-03-06T21:46:13.900" Title="More on PH in PP?" Tags="&lt;cc.complexity-theory&gt;&lt;counting-complexity&gt;&lt;derandomization&gt;&lt;relativization&gt;" AnswerCount="1" CommentCount="15" FavoriteCount="26" ContentLicense="CC BY-SA 3.0" />
  <row Id="3332" PostTypeId="1" AcceptedAnswerId="3388" CreationDate="2010-11-26T09:49:31.623" Score="29" ViewCount="2018" Body="&lt;p&gt;Let &lt;span class=&quot;math-container&quot;&gt;$f$&lt;/span&gt; be a Boolean function and let's think about f as a function from &lt;span class=&quot;math-container&quot;&gt;$\{-1,1\}^n$&lt;/span&gt; to &lt;span class=&quot;math-container&quot;&gt;$\{ -1,1 \}$&lt;/span&gt;. In this language the Fourier expansion of f is simply the expansion of f in terms of square free monomials. (These &lt;span class=&quot;math-container&quot;&gt;$2^n$&lt;/span&gt; monomials form a basis to the space of real functions on &lt;span class=&quot;math-container&quot;&gt;$\{-1,1\}^n$&lt;/span&gt;. The sum of the squares of the coefficients is simply &lt;span class=&quot;math-container&quot;&gt;$1$&lt;/span&gt; so &lt;span class=&quot;math-container&quot;&gt;$f$&lt;/span&gt; leads to a probability distribution on square free monomials. Let's call this distribution the F-distribution.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If f can be described by a bounded depth circuit of polynomial size then we know by a theorem of Linial, Mansour and Nisan that the F distribution is concentrated on monomials of &lt;span class=&quot;math-container&quot;&gt;$\text{polylog } n$&lt;/span&gt; size up to almost-exponentially-small weight. This is derived from Hastad switching lemma. (A direct proof would be most desirable.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What happens when we add mod 2 gates? One example to consider is the function &lt;span class=&quot;math-container&quot;&gt;$IP_{2n}$&lt;/span&gt; on &lt;span class=&quot;math-container&quot;&gt;$2n$&lt;/span&gt; variables which is described as the mod 2 inner product of the first n variables and the last n variables. Here the F-distribution is uniform.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Question&lt;/strong&gt;: Is the F-distribution of a Boolean function described by&#xA;  bounded depth polynomial size AND, OR,&#xA;  MOD&lt;span class=&quot;math-container&quot;&gt;$_2$&lt;/span&gt; circuit concentrated (up to&#xA;  superpolynomially small error) on &lt;span class=&quot;math-container&quot;&gt;$o(n)$&lt;/span&gt;&#xA;  &quot;levels&quot;?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Remarks&lt;/strong&gt;: &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;One possible path to a counterexample would be to &quot;glue somehow&quot; various IP&lt;span class=&quot;math-container&quot;&gt;$_2k$&lt;/span&gt; on disjoint sets of variables but I don't see how to do it. Perhaps one should weaken the question and allow assigning some weights to the variables, but I don't see a clear way for doing it either. (So referring to these two matters is also part of what I am asking about.)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;I would speculate that a positive answer to the question, (or to a successful variation) will apply also when you allow mod&lt;span class=&quot;math-container&quot;&gt;$_k$&lt;/span&gt; gates. (So asking the question was motivated by Ryan Williams' recent impressive ACC result.)   &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;For MAJORITY the F-distribution is large (1/poly) for every &quot;level&quot;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;As shown by Luca, the answer to the question I asked is &quot;no&quot;. The question that is left is to propose ways to find properties of the F distributions of Boolean functions that can be described by AND OR and mod 2 gates not shared by MAJORITY. &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;An attempt to save the question by talking about MONOTONE functions:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Question&lt;/strong&gt;: Is the F-distribution of a MONOTONE Boolean function described by&#xA;  bounded depth polynomial size AND, OR,&#xA;  MOD&lt;span class=&quot;math-container&quot;&gt;$_2$&lt;/span&gt; circuit concentrated (up to&#xA;  superpolynomially small error) on &lt;span class=&quot;math-container&quot;&gt;$o(n)$&lt;/span&gt;&#xA;  &quot;levels&quot;?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;We may speculate that we can even replace &lt;span class=&quot;math-container&quot;&gt;$o(n)$&lt;/span&gt; by &lt;span class=&quot;math-container&quot;&gt;$\text{polylog} (n)$&lt;/span&gt; so a counterexample for this strong version can be interesting.   &lt;/p&gt;&#xA;" OwnerUserId="712" LastEditorUserId="32711" LastEditDate="2019-04-09T08:25:10.790" LastActivityDate="2019-04-09T08:25:10.790" Title="Fourier coefficients Boolean Functions described by Bounded Depth Circuits with AND OR and XOR gates" Tags="&lt;cc.complexity-theory&gt;&lt;lower-bounds&gt;&lt;circuit-complexity&gt;&lt;boolean-functions&gt;&lt;fourier-analysis&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="7" ContentLicense="CC BY-SA 4.0" />
  <row Id="3333" PostTypeId="1" CreationDate="2010-11-26T14:03:10.880" Score="5" ViewCount="825" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Possible Duplicates:&lt;/strong&gt;&lt;br&gt;&#xA;  &lt;a href=&quot;https://cstheory.stackexchange.com/questions/686/do-many-one-reductions-and-turing-reductions-define-the-same-class-npc&quot;&gt;Do many-one reductions and Turing reductions define the same class NPC&lt;/a&gt;&lt;br&gt;&#xA;  &lt;a href=&quot;https://cstheory.stackexchange.com/questions/138/many-one-reductions-vs-turing-reductions-to-define-npc&quot;&gt;Many-one reductions vs. Turing reductions to define NPC&lt;/a&gt;  &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&#xA;&#xA;&lt;p&gt;Let $P,Q \subseteq \Sigma^*$ be languages such that $P$ and $Q$ are both in NP. Assume that $P$ is NP-complete under Karp reductions (there is a polynomial time many-one reduction from 3-SAT to $P$) and there is a Turing-reduction from $P$ to $Q$, i.e. there is a polynomial-time algorithm which decides $P$ when given oracle-access to $Q$. Intuitively this means that deciding $Q$ is as hard as deciding any problem in NP, while at the same time $Q$ is in NP, so Q cannot be ``harder'' than NP. Does this imply that $Q$ is NP-complete under Karp reductions, i.e. does this imply the existence of a polynomial-time many-one reduction from 3-SAT to Q? Any pointers are much appreciated.&lt;/p&gt;&#xA;" OwnerUserId="122" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2010-11-26T19:21:09.493" Title="Contained in NP and Turing-reduction from an NP-complete problem $\Rightarrow$ NP-complete under Karp reductions?" Tags="&lt;cc.complexity-theory&gt;&lt;open-problem&gt;&lt;reductions&gt;" AnswerCount="0" CommentCount="12" FavoriteCount="2" ClosedDate="2010-11-27T12:44:05.233" ContentLicense="CC BY-SA 2.5" />
  <row Id="3335" PostTypeId="2" ParentId="3324" CreationDate="2010-11-26T14:42:44.940" Score="14" Body="&lt;p&gt;You are asking about Dinur's proof of the PCP Theorem. The alphabet reduction step does use a PCP, but the PCP has very different parameters from the one you construct, and you don't necessarily have to use recursion to construct it. In particular, in Dinur's proof, because this inner PCP for the alphabet reduction is applied on constant sized input, we don't care if it has huge (say exponential or even more than that) blowup, which makes it comparatively easy to give a direct construction of a good enough PCP. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The entire proof including this stage is described in several places (see &lt;a href=&quot;https://cstheory.stackexchange.com/questions/45/what-are-good-references-to-understanding-the-proof-of-the-pcp-theorem&quot;&gt;answer to this question&lt;/a&gt;), and so you may find a different description that you like better. In particular, in my complexity textbook with Sanjeev Arora this is covered in Chapters 11 and 22, we offer there two alternative ways to achieve the alphabet reduction step. One is using Hadamard-based PCP in the main text. But maybe the simplest self contained variant of it is the construction worked out in   Exercise 22.5. We also have a table, in Section 22.2.1, that shows exactly what very step of the proof does to the alphabet size (and other parameters such as soundness error, size and number of queries) and that may allay your concern.&lt;/p&gt;&#xA;" OwnerUserId="1202" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2010-11-26T14:42:44.940" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3336" PostTypeId="2" ParentId="3320" CreationDate="2010-11-26T14:45:37.920" Score="11" Body="&lt;p&gt;If what you really want is a good elimination order, you might be looking for &lt;a href=&quot;http://www.jstor.org/stable/2156840&quot;&gt;generalized nested dissection&lt;/a&gt;.  This is the strategy that exploits the good separators of a planar graph to give $O(n^{\omega/2})$ algorithms for Gaussian elimination, determinant, etc. for matrices coming from planar graphs. &lt;/p&gt;&#xA;" OwnerUserId="210" LastActivityDate="2010-11-26T14:45:37.920" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3338" PostTypeId="1" AcceptedAnswerId="3356" CreationDate="2010-11-26T17:39:16.730" Score="7" ViewCount="482" Body="&lt;p&gt;Given a graph $G$ and a positive integer $k$, the CLIQUE problem asks if $G$ contains a clique (complete subgraph) on at least $k$ vertices. This problem is long known to be NP-complete --- in fact, it was one of Karp's &lt;a href=&quot;http://en.wikipedia.org/wiki/Karp%27s_21_NP-complete_problems&quot; rel=&quot;nofollow&quot;&gt;list&lt;/a&gt; of 21 NP-complete problems. My question is:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;For what restricted families of graphs is CLIQUE known to be NP-complete?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I could find one such graph class with Google's help: the class of $t$-interval graphs for any $t\ge 3$ (Butman et al., TALG 2010) [1]. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Do you know of other graph classes where this problem has been shown to be NP-complete? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] Butman, Hermelin, Lewenstein, Rawitz. Optimization problems in multiple-interval graphs. ACM Transactions on Algorithms 6(2), 2010&lt;/p&gt;&#xA;" OwnerUserId="148" LastActivityDate="2010-11-28T19:01:52.260" Title="Graph classes in which CLIQUE is known to be NP-hard?" Tags="&lt;reference-request&gt;&lt;np-hardness&gt;&lt;clique&gt;" AnswerCount="3" CommentCount="3" FavoriteCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="3339" PostTypeId="2" ParentId="3338" CreationDate="2010-11-26T17:54:57.137" Score="3" Body="&lt;p&gt;The equivalence of CLIQUE on $G$ and INDEPENDENT SET on $\overline{G}$ will perhaps help you find more classes for which the problem remains NP-complete.&lt;/p&gt;&#xA;" OwnerUserId="775" LastActivityDate="2010-11-26T17:54:57.137" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3340" PostTypeId="1" AcceptedAnswerId="3343" CreationDate="2010-11-26T18:28:52.000" Score="9" ViewCount="369" Body="&lt;p&gt;Is the following decision problem NP-complete:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Let $G$ be an undirected graph and $b \le c$ &#xA;  two integers. Is it possible to&#xA;  select for every vertex of $G$ exactly&#xA;  $b$ different neighbors such that no&#xA;  node is chosen more then $c$ times.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The case $b = 1$ can be solved for any $c$ in polynomial time using maximal matching.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Motivation: Each node wants to place $b$ backups at different neighbors, but each node has only capacity to store $c$ backups.&lt;/p&gt;&#xA;" OwnerUserId="2390" LastEditorUserId="186" LastEditDate="2010-11-26T22:10:39.860" LastActivityDate="2010-11-26T23:07:56.683" Title="Is the backup problem NP-complete?" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;&lt;graph-algorithms&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3343" PostTypeId="2" ParentId="3340" CreationDate="2010-11-26T19:17:03.667" Score="11" Body="&lt;p&gt;I think the following is a polynomial-time algorithm based on maximum flow. Let $G(V,E), b, c$ be the input.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Construct a directed bipartite graph $H(L,R,F)$ with $L$ and $R$ being the left and right partitions and $F$ being the directed edges &lt;em&gt;from&lt;/em&gt; $L$ to $R$.&lt;/li&gt;&#xA;&lt;li&gt;Let $|V| = n$. There are $n$ vertices in $L$ and $n$ vertices in $R$.&lt;/li&gt;&#xA;&lt;li&gt;Each vertex $v \in V$ has a &quot;copy&quot; in $L$ (say $v_l$) and a copy in $R$ (say $v_r$).&lt;/li&gt;&#xA;&lt;li&gt;If $(u,v) \in E$ add a directed edge from $u_l$ to $v_r$. Each such edge has capacity 1.&lt;/li&gt;&#xA;&lt;li&gt;Add a &quot;source&quot; node $s$ and add directed edges from $s$ to each vertex in $L$. Each such edge has a capacity $b$.&lt;/li&gt;&#xA;&lt;li&gt;Add a &quot;sink&quot; node $t$ and add directed edges from each vertex in $R$ to $t$. Each such edge has a capacity $c$.&lt;/li&gt;&#xA;&lt;li&gt;Find maximum flow from $s$ to $t$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The given graph $G$ has a solution if and only if the max-flow computed above saturates every edge from $s$ to $L$, i.e., the flow on every edge from $s$ to $L$ is equal to $b$.&lt;/p&gt;&#xA;" OwnerUserId="344" LastEditorUserId="344" LastEditDate="2010-11-26T23:07:56.683" LastActivityDate="2010-11-26T23:07:56.683" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3344" PostTypeId="2" ParentId="686" CreationDate="2010-11-26T20:27:45.463" Score="9" Body="&lt;p&gt;As far as I can tell, this question really comprises two distinct questions, the first of which appears in the title and the second of which is given after the edit.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(1) Do many-one reductions and Turing reductions define the same set of NP-complete problems (i.e. problems that are both in NP and which SAT can be reduced to)? Whether NPC under Turing reductions is the same as NPC under many-one reductions was still an open problem seven years ago, and I don't believe it has been closed since. See &lt;a href=&quot;http://www.cs.iastate.edu/~pavan/papers/sigact.pdf&quot;&gt;this survey&lt;/a&gt; from the June 2003 ACM SIGACT News for details.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(2) What is the class of problems which SAT has a Turing reduction to, and vice versa? This is the class of NP-hard problems (under Turing reductions) which are in P&lt;sup&gt;NP&lt;/sup&gt;. For more information on this, see  Noam's answer.&lt;/p&gt;&#xA;" OwnerUserId="1677" LastEditorUserId="1677" LastEditDate="2010-11-27T12:42:47.587" LastActivityDate="2010-11-27T12:42:47.587" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3345" PostTypeId="1" AcceptedAnswerId="3354" CreationDate="2010-11-26T22:18:56.227" Score="7" ViewCount="1031" Body="&lt;p&gt;This question considers a special class of problems in &lt;a href=&quot;http://qwiki.stanford.edu/index.php/Complexity_Zoo:N#nppsamp&quot; rel=&quot;nofollow noreferrer&quot;&gt;(NP,P-samplable)&lt;/a&gt;. The question is:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Do there exists a problem &lt;span class=&quot;math-container&quot;&gt;$(L,\mu) \in \mbox{(NP,P-samplable)}$&lt;/span&gt; such that:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;span class=&quot;math-container&quot;&gt;$L$&lt;/span&gt; is &lt;span class=&quot;math-container&quot;&gt;$\rm{NP}$&lt;/span&gt;-complete, and&lt;/li&gt;&#xA;&lt;li&gt;&lt;span class=&quot;math-container&quot;&gt;$L$&lt;/span&gt; is hard on instances sampled by &lt;span class=&quot;math-container&quot;&gt;$\mu$&lt;/span&gt;; That is, for any &lt;span class=&quot;math-container&quot;&gt;$\rm{BPP}$&lt;/span&gt; algorithm &lt;span class=&quot;math-container&quot;&gt;$A$&lt;/span&gt;, any polynomial &lt;span class=&quot;math-container&quot;&gt;$p(\cdot)$&lt;/span&gt;, and any all sufficiently large &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt;:&#xA;&lt;span class=&quot;math-container&quot;&gt;$\Pr_{x \leftarrow \mu(1^n)}[A(1^n,x) = \chi_L(x)] &amp;lt; 1/p(n)$&lt;/span&gt;. (Here, &lt;span class=&quot;math-container&quot;&gt;$\chi_L(\cdot)$&lt;/span&gt; denotes the characteristic function of &lt;span class=&quot;math-container&quot;&gt;$L$&lt;/span&gt;.)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Your answer can be based on any reasonable assumption, like:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;span class=&quot;math-container&quot;&gt;$\rm{P} \ne \rm{NP}$&lt;/span&gt;;&lt;/li&gt;&#xA;&lt;li&gt;one-way functions (or permutations) exist;&lt;/li&gt;&#xA;&lt;li&gt;factoring is hard;&lt;/li&gt;&#xA;&lt;li&gt;etc.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Another question is based on the following quote from &lt;a href=&quot;http://www.wisdom.weizmann.ac.il/%7Eoded/p_aggm.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;On Basing One-Way Functions on NP-Hardness&lt;/a&gt;:&lt;/p&gt;&#xA;&lt;p&gt;&lt;code&gt;More than two decades ago, Brassard (&amp;quot;Relativized Cryptography&amp;quot;) observed that the inverting task associated with a one-way permutation cannot be NP-hard, unless NP = coNP.&lt;/code&gt;&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Is my understanding correct: It is saying that, there does not exist polynomial-time-computable permutations whose inverting is &lt;strong&gt;worst-case NP-hard&lt;/strong&gt; and &lt;em&gt;hard-on-average&lt;/em&gt; (unless NP = coNP)?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="873" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2010-12-05T02:08:51.273" Title="NP-Complete Hard-on-Average Problems" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;&lt;cr.crypto-security&gt;&lt;one-way-function&gt;&lt;average-case-complexity&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="3346" PostTypeId="1" CreationDate="2010-11-26T22:46:39.773" Score="13" ViewCount="1079" Body="&lt;p&gt;I've been learning about interactive proofs lately and I've been wondering if the whole thing was nothing more than a theoretical curiosity, or if it had any practical applications. I thought I'd start off with an example which occurred to me in the shower:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's been making the news lately that &quot;God's Number&quot;=20. (God's number is the minimal number of steps needed to solve the Rubik's Cube). While this is pretty interesting,  there seems to be a little twist ... This isn't a &quot;normal&quot; proof in the textbook, polynomial time verifiable sense. This proof has a distinctly &quot;brute force&quot; flavor to it - by this I mean, the dudes at Dr Morley's lab tried with billions and billions of combinations of cubes in Google's massive supercomputers to find this neat, tight lower bound. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Anyway, the question is: How can we be certain that Dr Morley Davidson and his team are honest? Well, right away can throw the argument from authority out of the window as it's not mathematically rigorous. The obvious alternative is to re-verify the proof, by checking the source code and running the whole thing again, which seems to be a terrible waste of computational resources, not to mention the fact that everybody who who wished to be convinced of this would need to do it on his own workstation - a very tedious and unpleasant proposition for the true skeptic. So this seems to be a kind of ontological deilema.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So what I believe is this is exactly a situation where we need an &lt;em&gt;interactive proof&lt;/em&gt;. Google's Supercomputer could be the all powerful but deceptive Prover, and we the skeptical, if not anal members of the public are the Polynomially bounded Verifiers. If we could somehow query our &quot;Oracle&quot; a polynomial number of times, and be convinced of this lower bound, we could be convinced of the fact that he's right, beyond all reasonable doubt.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So it seems the Decision problem &quot;God's Number is &amp;lt; 20&quot; lies in $\Pi_2^p$ or can be restated as follows (informally)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For all starting combinations $\alpha$ in the Rubik's Cube, there exists a solution which takes &amp;lt;=20 steps, $\beta$ which solves it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(not sure if that's correct, but $\alpha$ and $\beta$ are both small in size, given a starting configuration and a solution it's easy to verify that it does indeed solve the cube)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;and the Decision problem &quot;God's number is 20&quot; can be restated as&lt;/p&gt;&#xA;&#xA;&lt;p&gt;God's number is &amp;lt;20 &lt;em&gt;and&lt;/em&gt; there exists a solution for some starting combination of the Rubik's cube which takes 20 steps.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So there's probably a IP[n] proof for this. (once again, check my workings)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is twofold &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Is there a actual way to do this?&lt;/li&gt;&#xA;&lt;li&gt;What other examples of &quot;pratical&quot; uses of interactive proofs are there?&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="1892" LastEditorUserId="186" LastEditDate="2010-11-28T16:29:38.307" LastActivityDate="2019-03-30T19:19:42.043" Title="An Interactive Proof of God's Number?" Tags="&lt;proofs&gt;&lt;puzzles&gt;&lt;interactive-proofs&gt;" AnswerCount="2" CommentCount="3" FavoriteCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3347" PostTypeId="1" CreationDate="2010-11-27T00:05:55.567" Score="1" ViewCount="92" Body="&lt;p&gt;Is the Selflet system (referenced in this paper - &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=1365562.1365597&quot; rel=&quot;nofollow&quot;&gt;http://portal.acm.org/citation.cfm?id=1365562.1365597&lt;/a&gt; for example) still seeing active research?&lt;/p&gt;&#xA;" OwnerUserId="2381" LastActivityDate="2010-11-27T00:05:55.567" Title="Is the Selflet system used for any active research?" Tags="&lt;dc.distributed-comp&gt;" AnswerCount="0" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="3348" PostTypeId="1" AcceptedAnswerId="3379" CreationDate="2010-11-27T00:27:20.127" Score="1" ViewCount="158" Body="&lt;p&gt;Is there any current, ongoing, research being performed, looking specifically at implementing prediction models on a distributed system? I'm specifically interested in work where the underlying system can be modeled as a network of devices that has significant churn in terms of connections between the nodes, and nodes joining/leaving the network (for example, a peer-to-peer network).&lt;/p&gt;&#xA;" OwnerUserId="2381" LastEditorUserId="80" LastEditDate="2010-11-27T05:03:06.630" LastActivityDate="2010-11-28T14:51:37.917" Title="Is anyone actively researching distributed prediction models?" Tags="&lt;reference-request&gt;&lt;dc.distributed-comp&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3349" PostTypeId="1" AcceptedAnswerId="3357" CreationDate="2010-11-27T01:18:00.913" Score="7" ViewCount="626" Body="&lt;p&gt;There are well known techniques for proving lower bounds on the communication complexity of boolean functions, like fooling sets, the rank of the communication matrix, and discepancy. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) How do we use these techniques for lower bounding partial boolean functions? More specifically, how do you count the rectangles in the communication matrix? Do you also count the &quot;undefined part&quot; of the function? Or do you leave it out?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another thing, what are the known relations between the communication complexity of total and partial functions? For example, is there a function $f$ with a promise version of it, call it $f&amp;#39;$, such that $C(f)\neq C(f&amp;#39;)$? (here $C$ could be any communication complexity measure like deterministic, probabilistic with all its flavors, quantum). A concrete example is the equality function EQ, and its promise version defined in this &lt;a href=&quot;http://arxiv.org/abs/quant-ph/9802040&quot; rel=&quot;noreferrer&quot;&gt;paper&lt;/a&gt; denoted as EQ'. It is known that $C(EQ)=n$ and $C(EQ&amp;#39;)=\Omega(n)$ where $C$ is the bounded error communication complexity (see the paper). There is no matching upper bound here, but they are asymptotically the same.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) Is there a function defined in the same spirit of EQ and EQ', but with a different complexity?&lt;/p&gt;&#xA;" OwnerUserId="135" LastEditorUserId="135" LastEditDate="2010-11-27T01:41:50.373" LastActivityDate="2010-11-27T13:43:48.027" Title="Communication lower bounds for partial boolean functions" Tags="&lt;cc.complexity-theory&gt;&lt;lower-bounds&gt;&lt;communication-complexity&gt;&lt;boolean-functions&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="3350" PostTypeId="2" ParentId="686" CreationDate="2010-11-27T01:44:11.713" Score="5" Body="&lt;p&gt;The two notions are different under some reasonable assumption. Please &#xA;check this paper:&#xA;&lt;a href=&quot;http://www.cs.iastate.edu/~pavan/papers/reductions.pdf&quot;&gt;http://www.cs.iastate.edu/~pavan/papers/reductions.pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerDisplayName="user2392" LastActivityDate="2010-11-27T01:44:11.713" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3351" PostTypeId="2" ParentId="2922" CreationDate="2010-11-27T02:58:39.230" Score="1" Body="&lt;p&gt;I hope I haven't misunderstood, because its seems that in some circumstances a winning strategy is easily computed without looking at the entire decision tree.  For example, when both stacks have even numbers of cards and the total of the odd-numbered cards (from &lt;em&gt;both&lt;/em&gt; stacks) exceeds the total of the even numbers, then the second player has a simple winning strategy of always responding in the stack from which the first player draws.  When exactly one stack has an odd number of cards, the first player might have a similar winning strategy after taking the top card from the odd stack.  Simple heuristics like these can potentially simplify a dynamic programming approach by quickly identifying obvious wins.&lt;/p&gt;&#xA;" OwnerUserId="564" LastEditorUserId="564" LastEditDate="2010-11-28T19:50:34.773" LastActivityDate="2010-11-28T19:50:34.773" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3352" PostTypeId="2" ParentId="3349" CreationDate="2010-11-27T03:54:35.737" Score="4" Body="&lt;p&gt;The fundamental fact on which relies all the lower bound methods that you give is that a $t$-bit communication protocol partitions the input set into at most $2^t$ monochromatic rectangles. More precisely, the set of inputs corresponding to a given transcript $\sigma$ (and therefore a given output) is a product set $S \times T$. &#xA;A key observation is that this is a property of communication protocols, which holds both for total or partial functions.&#xA;Certainly, your partition does not need to cover the parts where the function is undefined. On the other hand, if the protocol is designed in such a way that it answers something for some undefined value, it still computes the function correctly.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This leads to defining the partition number of a partial function as the minimum number of disjoint rectangles required to cover the domain of the function. Each rectangle have to agree with the value of the function on its domain, but can have arbitrary values outside. By the previous argument, the logarithm of the partition number is a lower bound on the communication complexity of (partial) functions. From this lower bound, you can derive all the others.&lt;/p&gt;&#xA;" OwnerUserId="899" LastActivityDate="2010-11-27T03:54:35.737" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3353" PostTypeId="2" ParentId="3346" CreationDate="2010-11-27T03:57:04.253" Score="11" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;... it seems the Decision problem &quot;God's Number is &amp;lt; 20&quot; lies in $\Pi_2^p$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;That is enough for it to have an interactive proof. In fact, &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=146585.146605&quot; rel=&quot;noreferrer&quot;&gt;Lund &lt;em&gt;et al.&lt;/em&gt;&lt;/a&gt; proved that every language in polynomial hierarchy (PH) has an interactive proof by using Toda's theorem ($\rm{PH} \subseteq P^{\#P}$). They reduced $L\in \rm{PH}$ to #P-complete language PERMANENT, and provided an algebraic method which can be used to prove PERMANENT interactively. (This is highly inaccurate; please refer to the paper for more info.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Using their techniques, Shamir proved that &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=146609&quot; rel=&quot;noreferrer&quot;&gt;IP=PSPACE&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It was previously proved that &lt;a href=&quot;http://www.springerlink.com/content/f2xw2nbwb2kqkewp/&quot; rel=&quot;noreferrer&quot;&gt;all IP has zero-knowledge proofs&lt;/a&gt;, so:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;All languages in PSPACE have zero-knowledge interactive proofs.&lt;/p&gt;&#xA;" OwnerUserId="873" LastEditorUserId="186" LastEditDate="2010-11-28T16:28:34.343" LastActivityDate="2010-11-28T16:28:34.343" CommentCount="9" ContentLicense="CC BY-SA 2.5" />
  <row Id="3354" PostTypeId="2" ParentId="3345" CreationDate="2010-11-27T04:30:03.467" Score="12" Body="&lt;p&gt;If there exist some NP language L that's hard on the average on some distribution $\mu$, then by applying the standard reduction $f$ from L to 3SAT you get that 3SAT is hard on $f(\mu)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Your understanding is wrong. By saying that the inverting task  for a function f is NP hard, one means that there is a polynomial-time algorithm A such that A can solve 3SAT on every input given black-box access to an inverter I that inverts f on a non-negligible fraction of the inputs.&lt;/p&gt;&#xA;" OwnerUserId="1202" LastActivityDate="2010-11-27T04:30:03.467" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3356" PostTypeId="2" ParentId="3338" CreationDate="2010-11-27T05:26:58.683" Score="12" Body="&lt;p&gt;It's NP-complete to find maximum cliques in &lt;a href=&quot;http://en.wikipedia.org/wiki/Claw-free_graph&quot; rel=&quot;nofollow&quot;&gt;claw-free graphs&lt;/a&gt; [Faudree, Ralph; Flandrin, Evelyne; Ryjáček, Zdeněk (1997), &quot;Claw-free graphs — A survey&quot;, Discrete Mathematics 164 (1–3): 87–147] and in &lt;a href=&quot;http://en.wikipedia.org/wiki/String_graph&quot; rel=&quot;nofollow&quot;&gt;string graphs&lt;/a&gt; [Jan Kratochvíl and Jaroslav Nešetřil, INDEPENDENT SET and CLIQUE problems in intersection-defined classes of graphs, Commentationes Mathematicae Universitatis Carolinae, Vol. 31 (1990), No. 1, 85–93]. At least as of the 1990 paper it was open whether the problem remained hard for intersection graphs of straight line segments.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, finding maximum cliques easy for planar graphs, for minor-closed graph families, or more generally for any family of graphs with bounded degeneracy: find the minimum degree vertex, search for the largest clique among its O(1) neighbors, remove the vertex, and repeat. It's also easy for perfect graphs and the many important subfamilies of perfect graphs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Although maximum independent set is hard for many other interesting graph classes, that doesn't generally lead to interesting hardness results for clique, because the complement of an interesting graph class is not necessarily itself interesting.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2010-11-27T05:26:58.683" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3357" PostTypeId="2" ParentId="3349" CreationDate="2010-11-27T07:13:53.857" Score="11" Body="&lt;p&gt;(1) The way I like to think about partial functions is by defining a &lt;em&gt;total&lt;/em&gt; function with three outputs e.g, $f: \{0,1\}^n \times \{0,1\}^n \rightarrow \{0,1, *\}$.  The $*$ values are where your &lt;em&gt;partial&lt;/em&gt; function is undefined.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;(2)  You can still define a &quot;monochromatic&quot; rectangle in this case.  But here, you allow $*$'s to be in the rectangle.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A rectangle $R$ is monochromatic if $f(R) \subseteq \{0,*\}$ or $f(R) \subseteq \{1,*\}$.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;From this, you can still use many of the standard lower bounds techniques such as fooling sets.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(3) As Marc mentions, you can always define trivial partial functions where the communication complexity is much less than the original.  For example, say the partial function TEQ is the EQ function, restricted to $(x,y)$ pairs such that $x \neq y$.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A partial function that people might care about is the Gap-Hamming-Distance function.&#xA;$GHD_{n,g}$ is takes two $n$ bit strings $x,y$ and returns $1$ if their Hamming distance is more than $n/2 + g$ and returns $0$ if their Hamming distance is less than $n/2 - g$.  (The Hamming distance $\Delta(x,y)$ is the number of $i$ where $x_i \neq y_i$.) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;People are really particularly interested in the randomized communication complexity of $GHD$.  It's not hard to show that the gapless version (Alice/Bob want to tell if $\Delta(x,y)$ is greater than $n/2$ or not) requires $\Omega(n)$ bits of communication.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It turns out that when $g = O(\sqrt{n})$, you still need a linear amount of communication.  However, when $g = \omega(\sqrt{n})$, you can get away with only $O((n/g)^2)$ bits.  When $g = \Omega(n)$, you get a partial function with $O(1)$ communication complexity.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The $g = \Theta(\sqrt{n})$ case seems to be the &quot;important case&quot;.  Indyk and Woodruff introduced this problem, gave a lower bound for one-way randomized protocols, and used it to get lower bounds for streaming algorithms that estimate frequency moments.  The state of the art lower bound is $\Omega(n)$ bits for any randomized protocol and is due to Chakrabarti and Regev.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Piotr Indyk and David Woodruff.  Tight Lower Bounds for the Distinct Elements Problem. &lt;a href=&quot;http://www.computer.org/portal/web/csdl/doi/10.1109/SFCS.2003.1238202&quot;&gt;FOCS 2003&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Amit Chakrabarti and Oded Regev.  An Optimal Lower Bound on the Communication Complexity of Gap-Hamming-Distance. &lt;a href=&quot;http://arxiv.org/pdf/1009.3460&quot;&gt;http://arxiv.org/pdf/1009.3460&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="1645" LastEditorUserId="1645" LastEditDate="2010-11-27T13:43:48.027" LastActivityDate="2010-11-27T13:43:48.027" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3360" PostTypeId="1" AcceptedAnswerId="3364" CreationDate="2010-11-27T15:51:45.953" Score="13" ViewCount="2938" Body="&lt;p&gt;I was searching about Matrix multiplication, So I first visit &lt;a href=&quot;http://en.wikipedia.org/wiki/Matrix_multiplication&quot; rel=&quot;nofollow&quot;&gt;wiki&lt;/a&gt; matrix multiplication algorithms, In references I found a paper which claim that uses &lt;a href=&quot;http://www.cs.ncl.ac.uk/publications/trs/papers/1169.pdf&quot; rel=&quot;nofollow&quot;&gt;$O(n^2 log(n))$ algorithm&lt;/a&gt; , I'd going to read article but it's complicated and will takes too many time to read it, but if there is anyone who reads this article or knows about this algorithm, Is this true? and are you knowing about the base Idea of this to describe it a little.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks in advance, I know it's a bit general question but, if I found it's good approach I'll going to learn details.&lt;/p&gt;&#xA;" OwnerUserId="1846" LastEditorUserId="1846" LastEditDate="2011-12-16T22:16:51.620" LastActivityDate="2011-12-16T22:16:51.620" Title="Matrix multiplication in $O(n^2 \log n)$" Tags="&lt;ds.algorithms&gt;&lt;linear-algebra&gt;&lt;matrix-product&gt;" AnswerCount="1" CommentCount="16" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="3361" PostTypeId="2" ParentId="3192" CreationDate="2010-11-27T15:56:20.903" Score="0" Body="&lt;p&gt;After thinking about the first part of my question, I realised that any gain we have by increasing the head size is nullified by the time needed to perform every step. So if we use a head of logarithmic size, we will need logarithmic time steps. This argument can be made clear if one tries to simulate the two TMs with a universal TM.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The &quot;speed-up lemma&quot; that I mentioned before can bypass this difficulty, since it achieves only constant improvement, therefore it can be simulated by a universal TM with each step being executed in O(1) time. Equivalently, one can use a larger alphabet (which still is constant as required by the model). Using an alphabet whose size depends on the input size would result in non-uniformity.&lt;/p&gt;&#xA;" OwnerUserId="879" LastActivityDate="2010-11-27T15:56:20.903" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3363" PostTypeId="1" CreationDate="2010-11-27T17:35:28.627" Score="7" ViewCount="435" Body="&lt;p&gt;A &lt;b&gt;field&lt;/b&gt; is a set with two binary operations called addition and multiplication satisfying various axioms. Wikipedia article: &lt;a href=&quot;http://en.wikipedia.org/wiki/Field_%28mathematics%29&quot;&gt;Field_(mathematics)&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A field extension is when you add a new element and then have to add all &lt;a href=&quot;http://en.wikipedia.org/wiki/Arithmetic_combinatorics&quot;&gt;arithmetic combinations&lt;/a&gt; of that new element with the existing elements, e.g. adding &lt;b&gt;i&lt;/b&gt; to the real numbers to get the complex numbers. If F is a subfield of K then K is called an extension field of F.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Technically you aren't adding new elements, but defining a new field which has a subset isomorphic to the orginal field, e.g. the complex numbers x+0i are identified with the real numbers x.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Wikipedia: &lt;a href=&quot;http://en.wikipedia.org/wiki/Field_extension&quot;&gt;Field_extension&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finite field extensions are useful in the construction of BCH codes which are codes over the finite fields of order q=p&lt;sup&gt;n&lt;/sup&gt; which are extensions of the fields of order p where p is prime. These finite fields known as Galois fields GF(p) are extended to GF(q) by adding roots of polynomials that are irreducible (non-factorable) over GF(p).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Wikipedia: &lt;a href=&quot;http://en.wikipedia.org/wiki/BCH_code&quot;&gt;BCH_code&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Where else in CS does the concept of extension fields arise ? A fundamental appearance in some subject would be more interesting than an occurence in some proof, but if it is used frequently in a common proof stategy then such a proof strategy would also be an interesting answer here.&lt;/p&gt;&#xA;" OwnerUserId="2402" LastEditorUserId="567" LastEditDate="2010-11-27T21:05:26.160" LastActivityDate="2010-11-28T05:22:14.207" Title="Field extensions in CS" Tags="&lt;big-list&gt;&lt;algebra&gt;" AnswerCount="3" CommentCount="1" FavoriteCount="2" CommunityOwnedDate="2010-11-28T02:42:22.890" ContentLicense="CC BY-SA 2.5" />
  <row Id="3364" PostTypeId="2" ParentId="3360" CreationDate="2010-11-27T18:25:29.470" Score="34" Body="&lt;p&gt;I came across this paper about a year ago, but have not gotten around to reading it closely. I can tell you that the approach is not believed to be correct. On page 36 of the same paper, there is an attached comment by Don Knuth, who points out what looks to be a serious shortcoming of the approach. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;To understand this paper, you will need to learn about group algebra and representation theory. It will be tough if you haven't seen that kind of material before.&lt;/p&gt;&#xA;" OwnerUserId="225" LastActivityDate="2010-11-27T18:25:29.470" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="3365" PostTypeId="1" CreationDate="2010-11-27T18:40:24.053" Score="0" ViewCount="165" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Possible Duplicate:&lt;/strong&gt;&lt;br&gt;&#xA;  &lt;a href=&quot;https://cstheory.stackexchange.com/questions/3358/reduction-algorithms&quot;&gt;Reduction Algorithms&lt;/a&gt;  &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&#xA;&#xA;&lt;p&gt;Hi,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am thinking of researching in this area and am doing some analysis now. Need your help understanding the NP Completeness. I went through the article on monotone one-in-three 3SAT in wikipedia and I see that is NP Complete. We generally use 3 SAT for satisfiability problems. My question is if I am given a boolean SAT with variations from normal satisfiable problem like say no literals negated. i.e I have input in the form (x v y v z) ^ (x v y v z) no negations. Then proving it belongs to NP is easy. We just assign value 1 to all literals X,Y and Z. If output is 1 it is SAT else not . Now can I use this boolean SAT , to prove decision problems like say : if I am interested in setting only minimum values to 1 to check for SAT. My problem will be what is the minimum values that are to be set to 1 to check if the input clause is satisfiable? How can I prove this for NP Completeness&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the NP Completeness I see examples of problems like vertex cover, Hamiltonian graphs etc. Can we use this to the real time combinatorial algorithms, like problem of bidding for items. say I have some x items to be sold and only y bids left. Then I can choose any combination for each auction. And with constraints like ensuring an item is sold only once, only sell if max price is reached and so on...? How do we prove NP Completeness for such problems.&lt;/p&gt;&#xA;" OwnerDisplayName="user2395" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2010-11-27T19:13:50.000" Title="np completeness" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;" AnswerCount="0" CommentCount="2" ClosedDate="2010-11-27T20:41:47.740" ContentLicense="CC BY-SA 2.5" />
  <row Id="3366" PostTypeId="2" ParentId="3363" CreationDate="2010-11-27T20:54:55.477" Score="9" Body="&lt;p&gt;I used field extensions (and Tarksi's transfer principle) to prove &lt;a href=&quot;http://cjtcs.cs.uchicago.edu/articles/1999/8/contents.html&quot; rel=&quot;nofollow&quot;&gt;lower bounds for linear degeneracy problems&lt;/a&gt;.  Using a field extension of the reals with formal infinitesimals simplified the construction of adversarial inputs.  (But see also &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=1059513.1059515&quot; rel=&quot;nofollow&quot;&gt;Ailon and Chazelle's followup paper&lt;/a&gt;, which generalized my result without using field extensions.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More generally, in the algebraic decision tree model (with real coefficients), the complexity of any problem with real inputs is identical to the complexity of the same problem where the inputs are drawn from any &lt;a href=&quot;http://en.wikipedia.org/wiki/Real_closed_field&quot; rel=&quot;nofollow&quot;&gt;real closed field&lt;/a&gt; that contains the reals.&lt;/p&gt;&#xA;" OwnerUserId="111" LastActivityDate="2010-11-27T20:54:55.477" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3367" PostTypeId="2" ParentId="3192" CreationDate="2010-11-27T20:58:00.607" Score="5" Body="&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;One should be careful about having a head that large. If your tape head can read the entire input, then technically speaking all inputs can be decided in one step. This is because &quot;making a head so large you can read the input&quot; is formally equivalent to making the tape alphabet so large that it contains all input strings. But if this is the case then your entire function can be encoded in the transition table of the Turing machine, so every input can be decided in one step. It makes perfect sense to have a superconstant number of symbols in the TM, but when you do that you are no longer talking about &quot;uniform&quot; computation (fixed-size programs) but rather &quot;non-uniform&quot; computation, where the size of the program can grow with the input length. In complexity theory, non-uniform computation is typically studied in the language of circuit complexity: having a polynomial-size Boolean circuit family for solving a problem is equivalent to having a &quot;polynomial-size transition table&quot; for solving a problem with a polynomial-time TM, and the general feeling is that circuits are more natural to reason about. But it's possible that the TM perspective could be useful too.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Allowing a specific number of states or specific structure probably will not change the definitions of the standard complexity classes. This is because there are universal Turing machines which have a small number of states and/or simple structures in the transition table, which can simulate arbitrary Turing machines with polynomial time overhead. (Sorry, don't have references at the moment.) Restricting yourself to these machines does not change the overall difficulty, up to polynomials in the running time.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="225" LastActivityDate="2010-11-27T20:58:00.607" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3368" PostTypeId="2" ParentId="3363" CreationDate="2010-11-27T21:41:21.153" Score="5" Body="&lt;p&gt;In a paper with Ran Raz on &lt;em&gt;randomness-efficient low degree testing&lt;/em&gt; we used sub-fields/field extensions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem (which I once described on this website) is to find a &lt;em&gt;small&lt;/em&gt; collection of constant-dimensional affine subspaces of a space $F^m$ (F is a finite field, m is a natural number) such that the proximity (in Hamming distance) of any function $f:F^m\rightarrow F$ to low degree polynomial is approximately the same as the average proximity over the subspaces.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Our collection of subspaces was planes that are spanned by directions over a sub-field H of F. That is, subspaces of the form $\{x+ty+sz | t,s\in F\}$, where $x \in F^m$, $y,z\in H^m$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For a small sub-field $|H|=|F|^{o(1)}$, this is a very small collection, its size is $|F^m|^{1+o(1)}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Yet, this collection has the following property we needed:&#xA;Inside each subspace that is spanned by vectors over a sub-field, there are many smaller dimensional subspaces that are spanned by vectors over the sub-field. This is because of the sub-field property: the linear combinations over the sub-field of the spanning directions are over the sub-field.&#xA;Note that small random collections of directions don't have this property: two vectors in the collection span a vector in the collection with very small probability.&lt;/p&gt;&#xA;" OwnerUserId="1621" LastActivityDate="2010-11-27T21:41:21.153" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3369" PostTypeId="1" AcceptedAnswerId="3372" CreationDate="2010-11-27T23:26:43.760" Score="3" ViewCount="810" Body="&lt;p&gt;I'm wondering if it is permitted for production rules in a context-free grammar (CFG) in Chomsky Normal Form (CNF) to have multiple occurences of the same variable in the right-hand side of the productions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;e.g. is this permitted:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$A \to BB$&#xD;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;or must one do something like&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$A \to B_1 B_2$&#xD;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$B_1 \to B$&#xD;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$B_2 \to B$&#xD;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The only definitions of CNF I have found define production rules of the form $A \to B C$ , but none ever state that $B \neq C$&lt;/p&gt;&#xA;" OwnerUserId="759" LastEditorUserId="567" LastEditDate="2010-11-28T01:45:59.147" LastActivityDate="2011-06-20T13:10:04.730" Title="Are variables in RHS of Chomsky Normal Form productions distinct?" Tags="&lt;automata-theory&gt;&lt;fl.formal-languages&gt;&lt;grammars&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3370" PostTypeId="2" ParentId="3330" CreationDate="2010-11-28T02:12:32.683" Score="10" Body="&lt;p&gt;For a given choice of complexity classes $\mathsf{C}$ and $\mathsf{O}$, by which we mean sets of languages and nothing else, the class $\mathsf{C}^{\mathsf{O}}$ is not well-defined: we need the definition of $\mathsf{C}$ to determine how oracle queries are defined.  Sometimes even then there could be ambiguities that need to be resolved, or the definition might not provide a reasonable notion of an oracle query at all.  (Attaching oracles to space-bounded complexity classes is one example in the first category, where the relativized classes we obtain are very sensitive to the exact capabilities of the oracle tape and whether we consider that it contributes to our space bounds.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, I don't think you can possibly say anything about $\mathsf{C}^{\mathsf{O}}$ without using the definitions of the classes, because if you don't use the definition of $\mathsf{C}$ you aren't working with a well-defined mathematical object.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If I have misunderstood your question, please clarify what sort of properties of $\mathsf{C}$ and $\mathsf{O}$ you permit to be used.&lt;/p&gt;&#xA;" OwnerUserId="819" LastActivityDate="2010-11-28T02:12:32.683" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="3371" PostTypeId="2" ParentId="3363" CreationDate="2010-11-28T02:24:01.923" Score="1" Body="&lt;p&gt;Here's a simple example of a situation where we need the notion of a field extension. Consider the problem of polynomial identity testing in the blackbox setting.  That is, given a blackbox which evaluates a polynomial $p$ over a field $\mathbb{F}$, we want to know whether $p$ is the &lt;em&gt;zero polynomial&lt;/em&gt; or not.  But note that if the degree of $p$ is not less than the characteristic of the field $\mathbb{F}$, it could be that $p$ evaluates to $0$ over the entire field without actually being the zero polynomial.  For instance, $p(x) = x^2 + x$ over $\mathbb{F}_2$ is not the zero polynomial, yet $p(0) = p(1) = 0$.  Thus, if we feed in elements of $\mathbb{F}$ to the blackbox, we'd never be able to distinguish $p$ from the zero polynomial.  The way to get around this problem is to feed into the blackbox elements from a large enough field extension of $\mathbb{F}$.&lt;/p&gt;&#xA;" OwnerUserId="15" LastEditorUserId="15" LastEditDate="2010-11-28T05:22:14.207" LastActivityDate="2010-11-28T05:22:14.207" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="3372" PostTypeId="2" ParentId="3369" CreationDate="2010-11-28T02:34:41.987" Score="6" Body="&lt;p&gt;Yes. The production rules of the form $A \rightarrow BB$ are allowed. One of the motivations behind CNF is to make the parse tree a binary tree so that we can have a unified way of talking about the relationship between the depth of the parse tree and the length of its yield. So having rules of the form $A \rightarrow BB$ does not disrupt this goal. However, replacing $A \rightarrow BB$ by $A \rightarrow B_1B_2$, $B_1 \rightarrow B$ and $B_2 \rightarrow B$ might create problems in analyzing the depth of parse tree especially when you have rules like $B \rightarrow XY$. This will create intermediate nodes in the parse tree with outdegree one, while the goal of CNF is to &quot;push&quot; such nodes to the leaves.&lt;/p&gt;&#xA;" OwnerUserId="344" LastActivityDate="2010-11-28T02:34:41.987" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3373" PostTypeId="1" CreationDate="2010-11-28T05:25:35.317" Score="9" ViewCount="939" Body="&lt;p&gt;Could you recommend a survey article or textbook chapter that introduces the theory of recursive functions? Thanks&lt;/p&gt;&#xA;" OwnerUserId="2406" LastEditorUserId="80" LastEditDate="2010-11-28T05:50:54.257" LastActivityDate="2010-11-29T15:26:19.167" Title="Survey Article on the Theory of Recursive Functions?" Tags="&lt;reference-request&gt;&lt;computability&gt;" AnswerCount="4" CommentCount="0" FavoriteCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="3374" PostTypeId="2" ParentId="3074" CreationDate="2010-11-28T05:59:53.057" Score="16" Body="&lt;p&gt;It's possible to categorify lots of things, but that doesn't necessarily mean they're interesting categories. So the answer to &quot;does it make sense&quot; depends on how you mean.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As for predicting whether it'd be interesting, assume some appropriate definition of reductions such that it forms a category, NPC. Category theoretically interesting questions would be things like asking whether NPC has various limits or colimits (e.g., products, coproducts, pullbacks, pushouts,...). So before going about the work of formalizing things, it'd be good to sit down and think about what these co/limits would mean and whether that meaning would be interesting to know about. If we assume NPC has pullbacks, then does the ability to take the pullback of two reductions mean anything special? Questions like these seem like they could be interesting if we wanted to figure out what the &quot;atomic&quot; NP-complete problems are, or how multiple NP-complete problems (or their reductions) could be combined; but complexity folks typically aren't interested in those sorts of questions IME.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some follow on questions would be things like: does NPC have any interesting subcategories? is NPC a subcategory of any interesting larger categories? We already know a good deal about how NP-complete problems relate to other classes of problems, so the presumptive answer to these questions is &quot;of course&quot;. But to put a finer point on it, what does considering these relationships from a category theoretic perspective offer that other perspectives do not? One thing that CT may offer is the question of whether there are any non-trivial adjunctions between NPC and another category. Of course, adjunctions are mainly interesting when the categories behind them are themselves interesting, so if NPC doesn't have a lot of special structure then knowing about NPC-adjunctions won't really offer much.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As for particular references, I don't know of any off hand but the links in the comments by Sadeq, Ramprasad, Kaveh should provide somewhere to start.&lt;/p&gt;&#xA;" OwnerUserId="1808" LastActivityDate="2010-11-28T05:59:53.057" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3375" PostTypeId="1" CreationDate="2010-11-28T10:10:21.607" Score="1" ViewCount="334" Body="&lt;p&gt;What  algorithms are advised for soft-decoding of linear block codes (20,10) ?&#xA;What are advised references ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Sincerely Yours Alex&lt;/p&gt;&#xA;&#xA;&lt;p&gt;PS&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By soft-decoding - I mean that   input  - is set of 20 real numbers (r_1, ... r_20)&#xA;and I want to find the codeword which is most close in the Eucledian metric&#xA;to this vector. I can do brute force full search of all 2^10 codewords and find the nearest one - to get the answer. But I am interested in some speeding up the process.&#xA;I've heard several methods, but advises are highly welcome.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;PSPS&#xA;My code is over F_2, e.g.  0,1, not the other Galois field&lt;/p&gt;&#xA;" OwnerUserId="2408" LastEditorUserId="186" LastEditDate="2010-11-28T15:52:34.783" LastActivityDate="2012-03-11T01:51:52.780" Title="Soft decoding of linear block (20,10) codes - what methods are used ?" Tags="&lt;ds.algorithms&gt;&lt;coding-theory&gt;" AnswerCount="0" CommentCount="14" ContentLicense="CC BY-SA 2.5" />
  <row Id="3376" PostTypeId="2" ParentId="3373" CreationDate="2010-11-28T11:29:51.960" Score="10" Body="&lt;p&gt;A nice reference is &quot;Part C&quot; of &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0444863885&quot; rel=&quot;noreferrer&quot;&gt;Handbook of Mathematical Logic&lt;/a&gt; edited by Barwise. Part C includes the following chapters:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;em&gt;Herbert B. Enderton&lt;/em&gt;, Elements of recursion theory&lt;/li&gt;&#xA;&lt;li&gt;&lt;em&gt;Martin Davis&lt;/em&gt;, Unsolvable problems&lt;/li&gt;&#xA;&lt;li&gt;&lt;em&gt;Michael O. Rabin&lt;/em&gt;, Decidable theories&lt;/li&gt;&#xA;&lt;li&gt;&lt;em&gt;Stephen G. Simpson&lt;/em&gt;, Degress of unsolvability: a survey of results&lt;/li&gt;&#xA;&lt;li&gt;&lt;em&gt;Richard A. Shore&lt;/em&gt;, $\alpha$-recursion theory&lt;/li&gt;&#xA;&lt;li&gt;&lt;em&gt;Alexander Kechris and Yiannis N. Moschovakis&lt;/em&gt;, Recursion in higher types&lt;/li&gt;&#xA;&lt;li&gt;&lt;em&gt;Peter Aczel&lt;/em&gt;, An introduction to inductive definitions&lt;/li&gt;&#xA;&lt;li&gt;&lt;em&gt;Donald A. Martin&lt;/em&gt;, Descriptive set theory&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The chapters are of very high quality and written by leading logicians. This handbook will take you quite far into the world of mathematical logic. &lt;/p&gt;&#xA;" OwnerUserId="1080" LastEditorUserId="1080" LastEditDate="2010-11-29T13:35:09.787" LastActivityDate="2010-11-29T13:35:09.787" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3377" PostTypeId="1" AcceptedAnswerId="3472" CreationDate="2010-11-28T12:04:36.623" Score="8" ViewCount="354" Body="&lt;p&gt;It is well known in finite model theory that without an order on the input, the expressivity is very limited. For example it is known that $FO(&amp;lt;,\textit{PFP})$ is equal to  &lt;em&gt;PSPACE&lt;/em&gt;, and  $FO(\textit{PFP})$ (without any order in the input) is only &lt;em&gt;PSPACE&lt;/em&gt;-relational, a notion defined by Abiteboul and Vianu when they proved their theorem:$FO(\textit{IFP},&amp;lt;)=FO(\textit{PFP},&amp;lt;)$ iff $FO(\textit{IFP})=FO(\textit{PFP})$. (Equivalently &lt;em&gt;P&lt;/em&gt; = &lt;em&gt;PSPACE&lt;/em&gt; iff &lt;em&gt;P&lt;/em&gt;-relational = &lt;em&gt;PSÄCE&lt;/em&gt;-relational.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Relational machines are Turing machines with a finite number of relations. As in a database, a relation is a set of tuples of elements from a finite universe. The machine can check if a relation is empty (if a table is empty), perform Boolean operations over the relations (union, intersection, join, projection), and the usual Turing machine operations. Note that the input of relational machines is given in the relations and not on the tape. It is well known that &lt;em&gt;PSPACE&lt;/em&gt;-relational ($FO(\textit{PFP})$) can not even compute parity, hence is less expressive than &lt;em&gt;PSPACE&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One can define queries with relational machines, but one can also define functions, the answer of a function being the content of some relations and of the tape at the end of the computation. Such a machine has the property that if there are two elements $a$ and $b$ of the input such that there is an isomorphism $\phi$ sending  $a$ to $b$ and $b$ to $a$, then it is never possible to distinguish $a$ from $b$. In particular in every relation $R$ of the output, if $R(a,\overline x)$ is true, then $R(b,\phi(\overline x))$ is also. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The reason for this is that the allowed operations (union, intersection, projection and join) all respect the isomorphism. Hence the output respects every isomorphism respected by the input.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In $(a\lor b)\land(\neg a\lor\neg b)$, $a$ and $b$ are symmetric, and the function $\phi$ switching $a$ and $b$ is clearly an isomorphism of the input. Suppose there exists a function to compute satisfying assignments for $3-SAT$ instances, and whose output is $P$ (the set of variables assigned to true in a correct assignment).  Then we would either want to have $P=\{a\}$ or $P=\{b\}$. However, the isomorphism means that $P$ contains either both $a$ and $b$, or neither.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hence we have proved that there is no &lt;em&gt;PSPACE&lt;/em&gt;-relational function that can output an assignment to a 3-SAT instance. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is: how do you prove that there is no &lt;em&gt;PSPACE&lt;/em&gt;-relational (i.e. $FO(\textit{PFP})$) that accepts only the input which has a satisfying assignment? The question is different, since I don't intend to compute the assignment and I do not ask to see $a$ or $b$ in the output, I just want to see &quot;accept&quot; or &quot;reject. And contrary to the usual world of Turing machines, it is not equivalent to know if an answer exists and to find the answer, because there is no way for us to use our relational machine for the question &quot;is there an answer with $a=true$&quot; because we can not differentiate $a$ from $b$.&lt;/p&gt;&#xA;" OwnerUserId="328" LastEditorUserId="328" LastEditDate="2010-11-29T12:18:53.057" LastActivityDate="2010-12-02T18:48:30.710" Title="SAT in finite model theory without order" Tags="&lt;cc.complexity-theory&gt;&lt;descriptive-complexity&gt;&lt;finite-model-theory&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3378" PostTypeId="2" ParentId="3373" CreationDate="2010-11-28T14:25:36.663" Score="6" Body="&lt;p&gt;I like the syllabus Sebastiaan Terwijn wrote back in 2004 (accessible at &lt;a href=&quot;http://www.math.ru.nl/~terwijn/teaching.html&quot;&gt;http://www.math.ru.nl/~terwijn/teaching.html&lt;/a&gt;).  It covers recursive functions and sets, r.e. sets, the arithmetical hierarchy, Turing degrees, the priority method, and a few applications, including incompleteness theorems.&lt;/p&gt;&#xA;" OwnerUserId="88" LastActivityDate="2010-11-28T14:25:36.663" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3379" PostTypeId="2" ParentId="3348" CreationDate="2010-11-28T14:33:25.607" Score="2" Body="&lt;p&gt;There is no information about any particular prediction model in your request, therefore, I think you should look through the paper &lt;a href=&quot;http://www.springerlink.com/content/643q4813227844n3/&quot; rel=&quot;nofollow&quot;&gt;&quot;PLDA: Parallel Latent Dirichlet Allocation for Large-scale Applications&quot;&lt;/a&gt; (2009) of Google researchers. See also their &lt;a href=&quot;http://code.google.com/p/plda/&quot; rel=&quot;nofollow&quot;&gt;project on Google Code&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Besides, &lt;a href=&quot;http://code.google.com/apis/predict/&quot; rel=&quot;nofollow&quot;&gt;Google Prediction API&lt;/a&gt; project might be valuable resource related to the topic, too.&lt;/p&gt;&#xA;" OwnerUserId="2338" LastEditorUserId="2338" LastEditDate="2010-11-28T14:51:37.917" LastActivityDate="2010-11-28T14:51:37.917" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3380" PostTypeId="2" ParentId="3373" CreationDate="2010-11-28T16:11:32.153" Score="9" Body="&lt;p&gt;Most logic/complexity theory books have a chapter on computability.&lt;/p&gt;&#xA;&lt;h3&gt;Textbook:&lt;/h3&gt;&#xA;&lt;p&gt;Dexter Kozen, &amp;quot;&lt;a href=&quot;http://books.google.ca/books?id=AolrsLBq3u0C&quot; rel=&quot;nofollow noreferrer&quot;&gt;Theory of Computation&lt;/a&gt;&amp;quot;, Springer, 2006&lt;/p&gt;&#xA;&lt;p&gt;Douglas S. Bridges, &amp;quot;&lt;a href=&quot;http://books.google.ca/books?id=ii5kKQJWDzEC&quot; rel=&quot;nofollow noreferrer&quot;&gt;Computability: a Mathematical Sketchbook&lt;/a&gt;&amp;quot;, Springer, 1994&lt;/p&gt;&#xA;&lt;p&gt;Nigel Cutland, &amp;quot;&lt;a href=&quot;http://books.google.ca/books?id=wAstOUE36kcC&quot; rel=&quot;nofollow noreferrer&quot;&gt;Computability, an Introduction to Recursive Function Theory&lt;/a&gt;&amp;quot;, Cambridge University Press, 1980&lt;/p&gt;&#xA;&lt;p&gt;Barry S. Cooper, &amp;quot;&lt;a href=&quot;http://books.google.ca/books?id=SJvt8ELnMakC&quot; rel=&quot;nofollow noreferrer&quot;&gt;Computability Theory&lt;/a&gt;&amp;quot;, Chapman &amp;amp; Hall/CRC, 2004&lt;/p&gt;&#xA;&lt;h3&gt;More advanced book:&lt;/h3&gt;&#xA;&lt;p&gt;Robert I. Soare, &amp;quot;&lt;a href=&quot;http://books.google.ca/books?id=9I7Pl00LU5gC&quot; rel=&quot;nofollow noreferrer&quot;&gt;Recursively Enumerable Sets and Degrees&lt;/a&gt;&amp;quot;, Springer-Verlag, 1987&lt;/p&gt;&#xA;&lt;p&gt;Robert I. Soare, &amp;quot;Computability Theory and Applications: The Art of Classical Computability&amp;quot;&lt;/p&gt;&#xA;&lt;p&gt;Piergiorgio Odifreddi, &amp;quot;&lt;a href=&quot;http://books.google.ca/books?id=ahBLqshTFMwC&quot; rel=&quot;nofollow noreferrer&quot;&gt;Classical Recursion Theory&lt;/a&gt;&amp;quot;, vol I (1989) &amp;amp; II (1999)&lt;/p&gt;&#xA;&lt;p&gt;Edward R. Griffor, &amp;quot;&lt;a href=&quot;http://books.google.ca/books?id=KqeXZ4pPd5QC&quot; rel=&quot;nofollow noreferrer&quot;&gt;Handbook of Computability Theory&lt;/a&gt;&amp;quot;, Elsevier, 1999&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2010-11-29T15:26:19.167" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="3381" PostTypeId="2" ParentId="3338" CreationDate="2010-11-28T19:01:52.260" Score="2" Body="&lt;p&gt;Although this doesn't answer the question as stated (with NP-hardness) I'd like to point out that even though CLIQUE is known polytime solvable on perfect graphs, I believe it is still open to find a (non-ellipsoid-like) combinatorial algorithm for CLIQUE even on perfectly orderable graphs... (that is, a perfectly orderable graph when the perfect order is not part of the input.)&lt;/p&gt;&#xA;" OwnerUserId="2414" LastActivityDate="2010-11-28T19:01:52.260" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3382" PostTypeId="2" ParentId="3330" CreationDate="2010-11-28T20:04:16.177" Score="7" Body="&lt;p&gt;&lt;em&gt;Edit: In revision 1, I wrote an embarrassingly complicated answer.  The answer below is much simpler and stronger than the older answer.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Edit: Even the “simplified” answer in revision 2 was more complicated than necessary.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Let O be a complexity class that is closed under complement, i.e. O=coO. Also we assume that the logspace, L, is a subset of O.&lt;br&gt;&#xA;  […]&lt;br&gt;&#xA;  Do we have any oracle O such that L&lt;sup&gt;O&lt;/sup&gt;≠O?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Yes.  Let O=&lt;a href=&quot;http://qwiki.stanford.edu/index.php/Complexity_Zoo%3aR#re&quot; rel=&quot;nofollow&quot;&gt;RE&lt;/a&gt;∪&lt;a href=&quot;http://qwiki.stanford.edu/index.php/Complexity_Zoo%3aC#core&quot; rel=&quot;nofollow&quot;&gt;coRE&lt;/a&gt;, where RE is the class of recursively enumerable languages.  Then O is closed under complement and O contains L.  However, note that L&lt;sup&gt;O&lt;/sup&gt;=L&lt;sup&gt;RE&lt;/sup&gt;, and in particular L&lt;sup&gt;O&lt;/sup&gt; has a complete language under polynomial-time many-one reducibility.  On the other hand, O=RE∪coRE does not have a complete language under polynomial-time reducibility because RE≠coRE.  Therefore, L&lt;sup&gt;O&lt;/sup&gt;≠O.&lt;/p&gt;&#xA;" OwnerUserId="567" LastEditorUserId="567" LastEditDate="2010-11-29T05:13:20.260" LastActivityDate="2010-11-29T05:13:20.260" CommentCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="3383" PostTypeId="2" ParentId="3373" CreationDate="2010-11-28T20:09:45.740" Score="5" Body="&lt;p&gt;I found these books at my disposal. I cross-checked not to include those books &lt;a href=&quot;https://cstheory.stackexchange.com/questions/3373/3380#3380&quot;&gt;cited by Kaveh&lt;/a&gt;, but my eyes might have made a mistake.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0824700260&quot; rel=&quot;nofollow noreferrer&quot;&gt;Complexity, Logic, and Recursion Theory&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0521557364&quot; rel=&quot;nofollow noreferrer&quot;&gt;Computability, Enumerability, Unsolvability; Directions in Recursion Theory&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0262680521&quot; rel=&quot;nofollow noreferrer&quot;&gt;Theory of Recursive Functions and Effective Computability&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/019508232X&quot; rel=&quot;nofollow noreferrer&quot;&gt;Recursion Theory for Metamathematics&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="873" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.743" LastActivityDate="2010-11-29T09:33:45.883" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3384" PostTypeId="2" ParentId="3229" CreationDate="2010-11-28T20:43:01.623" Score="24" Body="&lt;p&gt;One could turn the question around and ask what lower bounds &lt;em&gt;aren't&lt;/em&gt; proved by proving an upper bound. Almost all communication complexity lower bounds (and streaming algorithm lower bound and data structure lower bounds that rely on communication complexity arguments) are proved by showing that a communication protocol can be constructively turned into an encoding scheme, with the length of the encoding depending on the communication complexity of the protocol, and the lower bound for the protocol follows from the fact that you cannot encode all n bit messages using n-1 bits or fewer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The Razborov-Smolensky circuit lower bounds work by showing how to simulate bounded-depth circuits by low-degree polynomials.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A couple of candidates of lower bounds that are not proved with an upper bound could be the time hierarchy theorem (although, to get the tightest bounds, one needs an efficient universal turing machine, which is a non-trivial algorithmic task) and the proof of AC0 lower bounds using the switching lemma (but the cleanest proof of the switching lemma uses a counting/incompressibility/Kolmogorov-complexity)&lt;/p&gt;&#xA;" OwnerUserId="1069" LastEditorUserId="1069" LastEditDate="2010-11-28T21:57:52.447" LastActivityDate="2010-11-28T21:57:52.447" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3385" PostTypeId="1" AcceptedAnswerId="3386" CreationDate="2010-11-28T20:55:37.773" Score="7" ViewCount="209" Body="&lt;p&gt;The following seems like a natural problem and I'm surprised I can't find any literature on it... but maybe it's because I don't know the name for it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;b&gt;&#xA;Given a list of sets $S_1, S_2, S_3, \ldots$&#xD;&#xA;Can we make $k$ additions (that is, adding an element to any single $S_i$ ) so that every pair of sets has nonempty intersection?&#xA;&lt;/b&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we treat each subset $S_i$ as a vertex and say two vertices are adjacent if their corresponding sets have at least one common element, this is like an intersection model for a graph and we are augmenting the representation to turn the graph into a clique. I think of this as some sort of &quot;clique completion&quot; problem, but I don't know if it has been studied in another context under a different name.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does anyone know of this problem?&lt;/p&gt;&#xA;" OwnerUserId="2414" LastEditorUserId="2414" LastEditDate="2010-11-28T22:17:36.860" LastActivityDate="2010-11-28T22:17:36.860" Title="Is Clique completion for intersection models hard?" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3386" PostTypeId="2" ParentId="3385" CreationDate="2010-11-28T21:49:21.190" Score="9" Body="&lt;p&gt;Good question. I hope this is not a homework problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I don't know if this problems exists in the literature, so let's call your problem Min Set Clique Completion Problem (MSCC). Here is a reduction from Hitting Set Problem to MSCC. Hitting Set problem is a well-known NP-complete problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Instance of Hitting Set problem is as follows : Let $U = \{1,2,\dots,n\}$ be the ground set. Let $T_1, T_2, \dots, T_l$ be $l$ subsets of $U$. Find a set $H \subseteq U$ that has at least one element from each set $T_i$. The goal is to minimize $|H|$.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strike&gt;We construct an instance of MSCC with $U&amp;#39; = U \cup \{n+1\}$ and sets $S_1, S_2, \dots, S_{l+1}$ such that for $1 \leq i \leq l$, $S_i = T_i \cup \{n+1\}$ and $S_{l+1}$ is an empty set.&lt;/strike&gt; (&lt;strong&gt;Edit&lt;/strong&gt; : this is wrong as pointed out in the comment.)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;We construct an instance of MSCC with $U&amp;#39; = U$ and sets $S_1, S_2, \dots, S_{l+1}$ such that for $1 \leq i \leq l$, $S_i = T_i$ and $S_{l+1}$ is an empty set (&lt;strong&gt;Edit&lt;/strong&gt; : Use this along with Karolina's fix in the comments).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Now if we run MSCC on this instance the solution $S_{l+1}$ returned by MSCC is precisely the hitting set of the sets $T_1, T_2, \dots, T_l$.&lt;/p&gt;&#xA;" OwnerUserId="344" LastEditorUserId="344" LastEditDate="2010-11-28T22:11:21.280" LastActivityDate="2010-11-28T22:11:21.280" CommentCount="6" ContentLicense="CC BY-SA 2.5" />
  <row Id="3388" PostTypeId="2" ParentId="3332" CreationDate="2010-11-28T22:25:26.840" Score="31" Body="&lt;p&gt;Gil, would something like this be a counterexample?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $m$ be such that $n=m+\log m$, and think of an $n$-bit input as being a pair $(x,i)$ where $x$ is an m-bit string $(x_1,\ldots ,x_m)$ and $i$ is an integer in the range $1,\ldots,m$ written in binary.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then we define $f(x,i):= x_1 \oplus \cdots \oplus x_i$&#xD;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now for each $i=1,\ldots,m$ the function f() has $1/m$ correlation with the Fourier character $x_1 \oplus \cdots \oplus x_i$, and so the &quot;level i&quot; has at least a $1/m^2$ fraction of the mass. (In fact more, but this should suffice)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;f() can be realized in depth-3: put all the XORs in a layer, and then do the &quot;selection&quot; in two layers of ANDs, ORs and NOTs (not counting the NOTs as adding to the depth, as usual). &lt;/p&gt;&#xA;" OwnerUserId="1069" LastEditorUserId="1069" LastEditDate="2010-11-28T23:34:18.947" LastActivityDate="2010-11-28T23:34:18.947" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3389" PostTypeId="1" AcceptedAnswerId="3402" CreationDate="2010-11-29T05:37:55.467" Score="13" ViewCount="2424" Body="&lt;p&gt;While working on a somewhat unrelated project for Suresh I recently came across some work done by Page and Opper about User-Composable systems and a portion of their work briefly discussed problems that cannot be verified in polynomial time.  I have been unable to find much information about other problems that cannot be verified in polynomial time or an analysis of a such a problem.  I was wondering if any of you knew of any such problems and/or how to analyze them.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As stated in the comments a better way to phrase this question is:&#xA;What problems are decidable but outside of NP?&lt;/p&gt;&#xA;" OwnerUserId="2421" LastEditorUserId="-1" LastEditDate="2014-05-24T16:49:29.043" LastActivityDate="2014-05-25T16:30:14.520" Title="Problems that are decidable but cannot be verified in polynomial time" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;" AnswerCount="2" CommentCount="9" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="3390" PostTypeId="1" AcceptedAnswerId="3403" CreationDate="2010-11-29T07:14:30.957" Score="37" ViewCount="9662" Body="&lt;p&gt;I'm curious whether there is a way to store a hash of a multi-set of integers that has the following properties, ideally:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;It uses O(1) space&lt;/li&gt;&#xA;&lt;li&gt;It can be updated to reflect an insertion or deletion in O(1) time&lt;/li&gt;&#xA;&lt;li&gt;Two identical collections (i.e., collections that have the same elements with the same multiplicities) should always hash to the same value, and two distinct collections should hash to different values with high probability (i.e., the function is independent or pairwise independent)&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;One initial attempt at this would be to store the product modulo a random prime of the hashes of the individual elements. This satisfies 1 and 2 but it's not clear whether it, or a close variation, would satisfy 3.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I originally posted this on &lt;a href=&quot;https://stackoverflow.com/questions/4175951/what-is-a-good-hash-function-for-a-collection-i-e-multi-set-of-integers&quot;&gt;StackOverflow&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;*Properties 1 and 2 could be relaxed a little to, say, O(log n), or a small sublinear polynomial. The point is to see whether we can identify multi-sets and reliably test equality without storing the elements themselves.&lt;/p&gt;&#xA;" OwnerUserId="2422" LastEditorUserId="-1" LastEditDate="2017-05-23T12:40:09.333" LastActivityDate="2017-02-13T18:18:50.560" Title="Is there a hash function for a collection (i.e., multi-set) of integers that has good theoretical guarantees?" Tags="&lt;ds.algorithms&gt;&lt;ds.data-structures&gt;&lt;hash-function&gt;" AnswerCount="4" CommentCount="5" FavoriteCount="13" ContentLicense="CC BY-SA 2.5" />
  <row Id="3391" PostTypeId="2" ParentId="3253" CreationDate="2010-11-29T09:41:16.420" Score="9" Body="&lt;h2&gt;VLSI Design&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;I'm not into hardware. However, since the &lt;a href=&quot;https://cstheory.stackexchange.com/faq&quot;&gt;FAQ&lt;/a&gt; includes VLSI as one of the sub-fields of TCS, I asked an expert about famous books in the VLSI design. Here they are:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0130909963&quot; rel=&quot;nofollow noreferrer&quot;&gt;Digital Integrated Circuits&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0321547748&quot; rel=&quot;nofollow noreferrer&quot;&gt;CMOS VLSI Design: A Circuits and Systems Perspective&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0137145004&quot; rel=&quot;nofollow noreferrer&quot;&gt;Modern VLSI Design: IP-Based Design&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="873" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2010-11-30T21:36:18.953" CommentCount="1" CommunityOwnedDate="2010-11-29T09:41:16.420" ContentLicense="CC BY-SA 2.5" />
  <row Id="3392" PostTypeId="2" ParentId="3253" CreationDate="2010-11-29T10:48:00.523" Score="19" Body="&lt;h2&gt;Information Theory&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.inference.phy.cam.ac.uk/mackay/itila/book.html&quot;&gt;Information Theory, Inference, and Learning Algorithms&lt;/a&gt; by David MacKay&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Other famous textbooks on information theory can be found on &lt;a href=&quot;http://en.wikipedia.org/wiki/Information_theory#Textbooks_on_information_theory&quot;&gt;Wikipedia&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="2359" LastEditorUserId="873" LastEditDate="2010-11-30T15:03:38.150" LastActivityDate="2010-11-30T15:03:38.150" CommentCount="6" CommunityOwnedDate="2010-11-29T10:48:00.523" ContentLicense="CC BY-SA 2.5" />
  <row Id="3393" PostTypeId="1" CreationDate="2010-11-29T11:52:49.570" Score="15" ViewCount="1207" Body="&lt;p&gt;Some months ago, before the advent of &quot;CS-Theory&quot;, I asked &lt;a href=&quot;https://mathoverflow.net/questions/23717/reference-request-given-a-divisor-d-of-n-how-quickly-can-i-obtain-the-largest-f&quot;&gt;a question on MathOverflow&lt;/a&gt; about efficiently factoring an integer &lt;em&gt;N&lt;/em&gt; into coprime factors &lt;em&gt;n&lt;/em&gt;&lt;sub&gt;1&lt;/sub&gt; and &lt;em&gt;n&lt;/em&gt;&lt;sub&gt;2&lt;/sub&gt;, where &lt;em&gt;n&lt;/em&gt;&lt;sub&gt;1&lt;/sub&gt; is a multiple of a given a factor &lt;em&gt;d&lt;/em&gt; of &lt;em&gt;N&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://mathoverflow.net/questions/23717/reference-request-given-a-divisor-d-of-n-how-quickly-can-i-obtain-the-largest-f/23728#23728&quot;&gt;One of the answers&lt;/a&gt; pointed me to &lt;a href=&quot;http://cr.yp.to/coprimes.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;Dan Bernstein's website&lt;/a&gt;, which has notes on obtaining a coprime base for a set of integers (and algorithms which work in more general settings than integers). For a set &lt;em&gt;S&lt;/em&gt; of integers, a &lt;em&gt;coprime base&lt;/em&gt; cb(&lt;em&gt;S&lt;/em&gt;) is a set of integers which are coprime to one another, such that each element of &lt;em&gt;S&lt;/em&gt; factors (uniquely) as a product of elements of cb(&lt;em&gt;S&lt;/em&gt;). Bernstein's site has&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;An article dating from 1998, about constructing a coprime base in &quot;essentially linear time&quot;, which is to say time&amp;nbsp; n&amp;nbsp;log&amp;nbsp;(n)&lt;sup&gt;O(1)&lt;/sup&gt;&amp;nbsp; (where n is the number of input bits, or equivalently the logarithm of the product of the input set) and;&lt;br&gt;&lt;br&gt;&lt;/li&gt;&#xA;&lt;li&gt;A draft manuscript from 2004 (which announces its own preliminariness), on &quot;faster factorization into coprimes&quot;, which gives a sketch of how to compute a coprime base in time&amp;nbsp; n&amp;nbsp;log&amp;nbsp;(n)&lt;sup&gt;2+o(1)&lt;/sup&gt;&amp;nbsp;.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;After a search for a &quot;more complete&quot; version of the second, or follow-up work by others, I was unable to find much more than links to one or the other of these articles, and slide-show presentations which again point to these articles.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question.&lt;/strong&gt; Has there been any more development of the ideas of &quot;&lt;a href=&quot;http://cr.yp.to/lineartime/dcba2-20041103.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Faster factorization into coprimes&lt;/a&gt;&quot; &amp;mdash; possibly by different authors &amp;mdash; into a finished article with the run-time as described above? Or is this accepted by the community as essentially complete?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(&lt;em&gt;Edit:&lt;/em&gt; as I've now noted in the comments, Dan Bernstein himself says that he has not yet finished his results. But I'm still interested in finished results by others with comparable run-times, possibly for special cases, but only over the integers.)&lt;/p&gt;&#xA;" OwnerUserId="248" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.530" LastActivityDate="2013-03-04T08:35:16.543" Title="Reference request: a more complete &quot;faster factorization into coprimes&quot;" Tags="&lt;ds.algorithms&gt;&lt;factoring&gt;&lt;nt.number-theory&gt;" AnswerCount="0" CommentCount="3" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="3394" PostTypeId="2" ParentId="3389" CreationDate="2010-11-29T12:00:31.810" Score="12" Body="&lt;p&gt;Extending on Hsien-Chih Chang's comment, every NEXP-hard probleme cannot be in NP, thus by definition cannot be verified in polynomial time. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;One could use the nondeterministic time hierarchy theorem to see that NP is strictly contained in NEXP. Therefore, we can be certain that given any NEXP-hard problem,it is not in NP or we would be led in a contradiction. &lt;/p&gt;&#xA;" OwnerUserId="879" LastActivityDate="2010-11-29T12:00:31.810" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3395" PostTypeId="5" CreationDate="2010-11-29T15:38:41.090" Score="0" Body="&lt;p&gt;Use this tag if:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;well-known open problems&lt;/strong&gt;: the problem is equivalent to a well-known &lt;a href=&quot;http://en.wikipedia.org/wiki/Open_problem&quot; rel=&quot;nofollow&quot;&gt;open problem&lt;/a&gt; in the literature&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;community open problems&lt;/strong&gt;: the question is not answered after considerable time and the community decides that the question is an open problem (&lt;a href=&quot;http://meta.cstheory.stackexchange.com/&quot;&gt;meta&lt;/a&gt; can be used for discussions)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://cstheory.stackexchange.com/&quot;&gt;cstheory&lt;/a&gt; is &lt;strong&gt;not&lt;/strong&gt; the right place to ask &lt;strong&gt;well-known open problems&lt;/strong&gt;. You should post questions you're actually seriously thinking about. If you're thinking about a well-known open problem, provide some background and ask about something specific related to the problem, like &quot;Such and such is a well-known open problem. So-and-so proposed this and that approach. Does anybody know if this aspect of their proposal can be made to work under these circumstances?&quot; If you want to contribute to (or view) a list of open problems, visit the &lt;a href=&quot;http://garden.irmacs.sfu.ca/&quot; rel=&quot;nofollow&quot;&gt;Open Problem Garden&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If it turns out that a problem is equivalent to a well-known open problem, then the &lt;a href=&quot;/questions/tagged/open-problem&quot; class=&quot;post-tag&quot; title=&quot;show questions tagged 'open-problem'&quot; rel=&quot;tag&quot;&gt;open-problem&lt;/a&gt; tag is added. After that, the question essentially becomes, &quot;What is known about this problem? What are some possible ways to approach this problem? What are some ways that people have tried to attack it before, and with what results?&quot; That way, the cstheory thread for the problem becomes a repository of resources related to the problem. Perhaps the answers could be organized by approach, with an outline of the basic approach, followed by a horizontal rule and a summary of what is promising about the approach and why it doesn't give a complete solution.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To join the discussion about how cstheory should deal with open problems, go to &lt;a href=&quot;http://meta.cstheory.stackexchange.com/questions/1058/tag-wiki-open-problem&quot;&gt;this&lt;/a&gt; meta cstheory thread.&lt;/p&gt;&#xA;" OwnerUserId="873" LastEditorUserId="186" LastEditDate="2011-03-20T09:34:27.453" LastActivityDate="2011-03-20T09:34:27.453" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3396" PostTypeId="4" CreationDate="2010-11-29T15:38:41.090" Score="0" Body="Problems known to be open in the literature and any problem that, after being posed, is decided to be open by the community." OwnerUserId="873" LastEditorUserId="186" LastEditDate="2011-03-15T03:59:39.217" LastActivityDate="2011-03-15T03:59:39.217" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3397" PostTypeId="2" ParentId="3230" CreationDate="2010-11-29T16:34:08.093" Score="19" Body="&lt;p&gt;I would say that a &quot;simple&quot; reduction to bipartite matching is highly unlikely. Firstly, it would give an algorithm for finding a perfect matching in a general graph using the Hungarian method. Hence, the reduction should contain all the complexity of the Edmond's blossom algorithm. &#xA;Secondly, it will give a compact LP for perfect matching polytope and hence the reduction should not be symmetric (which are ruled out by a result of Yannakakis) and inherently very complicated. &lt;/p&gt;&#xA;" OwnerUserId="286" LastActivityDate="2010-11-29T16:34:08.093" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="3398" PostTypeId="1" AcceptedAnswerId="3413" CreationDate="2010-11-29T18:07:48.790" Score="12" ViewCount="275" Body="&lt;p&gt;By counting arguments, one can show that there exist polynomials of degree n in 1 variable (i.e., something of the form $a_n x^n + a_{n-1} x^{n-1} + \cdots + a_0)$ which have circuit complexity n.  Also, one can show that a polynomial like $x^n$ requires at least $\log_2 n$ multiplications (you need that just to get a high enough degree).  Are there any explicit examples of polynomials in 1 variable with a superlogarithmic lower bound on complexity? (results over any field would be interesting)&lt;/p&gt;&#xA;" OwnerUserId="2279" LastEditorUserId="186" LastEditDate="2010-11-29T21:41:35.503" LastActivityDate="2010-11-30T14:13:22.057" Title="Explicit polynomials in 1 variable with superlogarithmic circuit complexity lower bounds?" Tags="&lt;cc.complexity-theory&gt;&lt;circuit-complexity&gt;&lt;polynomials&gt;&lt;algebraic-complexity&gt;" AnswerCount="1" CommentCount="7" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="3399" PostTypeId="2" ParentId="3318" CreationDate="2010-11-29T18:22:18.907" Score="15" Body="&lt;p&gt;First of all, I think what you mean by &quot;map&quot; is a &quot;dictionary&quot; in TCS lingo. Second, I don't understand the phrase &quot;ideally the lookup would still be $O(\log N)$&quot;, since in a dictionary the lookup takes O(1) time with various hash tables. Thirdly, you haven't stated whether the problem is static or dynamic; I'm assuming static.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The optimal complexity to this problem is $\Theta($predecessor search), e.g. $O(\lg\lg N)$ using van Emde Boas. This is optimal if you word size is $\Theta(\lg n)$; see &lt;a href=&quot;http://people.csail.mit.edu/mip/papers/pred/pred.pdf&quot;&gt;http://people.csail.mit.edu/mip/papers/pred/pred.pdf&lt;/a&gt; for the optimal predecessor bounds.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The proper way to attack the problem is to build one global hash table and deal with the hierarchy separately for each key in the table. For one key $x$, we know the nodes where it appears. Consider an in-order traversal of the tree. The nodes where $x$ appears define intervals in this order. To determine whether $x$ is in the hash table of some node $v$, you have to ask whether $v$ stabs any segment as defined above. This is easily done by predecessor search, where we build a predecessor table for all interval end points.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For a lower bound, note that even one stabbing question is as hard as predecessor (see the reductions from colored predecessor search). Since the paper references above shows optimal direct-sum behavior for predecessor search, it means the algorithm described above is optimal for any ration between the number of nodes and the total number of keys.&lt;/p&gt;&#xA;" OwnerUserId="106" LastActivityDate="2010-11-29T18:22:18.907" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3400" PostTypeId="2" ParentId="3390" CreationDate="2010-11-29T18:35:31.657" Score="-2" Body="&lt;p&gt;The quality of a hash function will always depend on the properties of the elements that it has to hash. Can you say something about this? For instance, your product suggestion is probably a poor hash function if the elements x_i of your multiset typically have many small prime factors. But you can improve it in this case simply by taking the product of all x_i + p mod q for some primes p and q.&lt;/p&gt;&#xA;" OwnerUserId="727" LastActivityDate="2010-11-29T18:35:31.657" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="3401" PostTypeId="1" AcceptedAnswerId="3406" CreationDate="2010-11-29T21:27:48.750" Score="12" ViewCount="513" Body="&lt;p&gt;Given a term &lt;code&gt;t : ∀x.∃y.(¬(x = 0) ⇒ x = S(y))&lt;/code&gt; in Martin-Lof's type theory, what's the value of &lt;code&gt;w(t(0))&lt;/code&gt;, where &lt;code&gt;w&lt;/code&gt; is the operator that extracts the witness of a term of existential type?&lt;/p&gt;&#xA;" OwnerUserId="656" LastEditorUserId="656" LastEditDate="2010-11-29T22:15:51.810" LastActivityDate="2010-12-02T21:39:12.937" Title="What happens if we try to extract a witness but it actually does not exist from a term of existential type?" Tags="&lt;lo.logic&gt;&lt;type-theory&gt;&lt;proof-theory&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3402" PostTypeId="2" ParentId="3389" CreationDate="2010-11-29T22:00:02.680" Score="21" Body="&lt;p&gt;The most important thing to realize from a theoretical standpoint is that NP is actually a relatively small class of all decidable languages. That said, many of the interesting problems in computer science lie within NP so they get a lot of attention. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's conjectured that $NP \subsetneq PH \subsetneq PSPACE \subsetneq EXP \subsetneq NEXP$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The classes PH, PSPACE, and EXP contain many of the &quot;interesting&quot; problems in $R \setminus NP$, which is what I assume you're asking about in this question. So far NEXP has gotten all of the attention because $NP \subsetneq NEXP$ is the only proper containment that we can prove (by the nondeterministic time hierarchy theorem, as I mentioned above).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here are some interesting concrete examples of problems in some of these other classes:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Determining if a player has a winning strategy in chess or Go (adapted to n x n boards) is EXP-complete.&lt;/li&gt;&#xA;&lt;li&gt;MAJ-SAT, the problem of determining whether over half of the assignments to the variables in a boolean formula satisfy that formula, is in PSPACE. It is also complete for the smaller class PP.&lt;/li&gt;&#xA;&lt;li&gt;EXACT-CLIQUE, the problem of determining whether the largest clique in a graph is of size exactly k, is in $\Sigma_2^P$, part of the second level of the polynomial hierarchy.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="969" LastEditorUserId="969" LastEditDate="2014-05-25T16:30:14.520" LastActivityDate="2014-05-25T16:30:14.520" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="3403" PostTypeId="2" ParentId="3390" CreationDate="2010-11-29T22:07:54.627" Score="19" Body="&lt;p&gt;If you think of sets as living in universe $[u]$, it is quite easy to solve your problem with $O(\lg u)$ update time. All you need is a fast hash function for a vector of $u$ numbers, with fast &quot;local updates&quot;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Wikipedia/Universal hashing suggests $h(\vec{x}) = \big(\sum_{i=1}^{u} x_i a^i \big) \bmod{p}$, where $p$ is a large enough prime and $a$ is uniformly drawn from $[p]$. When you add or remove element $i$, you have to add/subtract $a^i$ from the hash code, which takes $O(\lg i)$ time using divide and conquer for the exponentiation. Since a polynomial of degree $u$ can only have $u$ roots, the probability of collision for two distinct sets is $O(u/p)$. This can be made very small by taking $p$ to be large enough (for instance, $p=u^2$ and you work in &quot;double precision&quot;). If the sets are much smaller than $[u]$, you can of course begin by hashing the universe down to a smaller universe.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does anybody know a solution with $O(1/p)$ collision probability when hashing to range $[p]$? This ought to be possible.&lt;/p&gt;&#xA;" OwnerUserId="106" LastActivityDate="2010-11-29T22:07:54.627" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3405" PostTypeId="1" AcceptedAnswerId="3407" CreationDate="2010-11-29T22:14:15.620" Score="7" ViewCount="789" Body="&lt;p&gt;Could you give me an example of a totally computable function of type N × N → N that is not definable in System T? Thanks. &lt;/p&gt;&#xA;" OwnerUserId="656" LastEditorUserId="656" LastEditDate="2010-12-01T07:53:17.940" LastActivityDate="2010-12-01T07:53:17.940" Title="An example of a totally computable function that is not definable in system T?" Tags="&lt;computability&gt;&lt;lo.logic&gt;&lt;type-theory&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3406" PostTypeId="2" ParentId="3401" CreationDate="2010-11-29T22:32:13.553" Score="12" Body="&lt;p&gt;Any value. It depends upon which $t$ you are given. A term of type $\exists y.(\neg(0 = 0) \Rightarrow 0 = S(y))$ is a pair of an int $y$ and a function that takes a proof of $\neg(0=0)$ and gives you a proof of $0 = S(y)$. You can use a term of type $\neg(0 = 0)$ and type $0 = 0$ (from reflexivity) to derive a term of any type you want. This includes a term of type $0 = S(0)$, $0 = S(1)$, $\ldots$. So, you can make $y$ any integer you want.&lt;/p&gt;&#xA;" OwnerUserId="319" LastActivityDate="2010-11-29T22:32:13.553" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3407" PostTypeId="2" ParentId="3405" CreationDate="2010-11-29T23:00:49.850" Score="10" Body="&lt;p&gt;Interpreters for T are not definable in T, thanks to the incompleteness theorem. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Concretely, fix a Godel encoding, and then let $f$ be the function which takes a pair consisting of a Godel-encoding of a closed term of type $\mathbb{N} \to \mathbb{N}$, and a natural number in $\mathbb{N}$, and returns the value of the application. This function is not definable in T. It's a worthwhile exercise to work out how you can use a self-interpreter to define an infinitely looping program.&lt;/p&gt;&#xA;" OwnerUserId="657" LastActivityDate="2010-11-29T23:00:49.850" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3408" PostTypeId="2" ParentId="3253" CreationDate="2010-11-29T23:23:38.697" Score="19" Body="&lt;h2&gt;Communication Complexity:&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;&lt;hr&gt;&#xA;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/052102983X&quot;&gt;Communication Complexity&lt;/a&gt; by Eyal Kushilevitz and Noam Nisan.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is a classic and a very well written book. Although a little old by now, still the best introductory book to the field. Also, the exercises are extremely fun, and are given exactly after explaining the concepts so you can fix what you just learned.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The part of randomized communication complexity should be complemented with parts of the first book.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://books.google.com/books?id=jQbUo-clEGkC&amp;amp;pg=PA131&amp;amp;dq=introduction%20to%20communication%20complexity&amp;amp;hl=es&amp;amp;ei=ExG9TaTLJ4q6vQPns8W1BQ&amp;amp;sa=X&amp;amp;oi=book_result&amp;amp;ct=result&amp;amp;resnum=1&amp;amp;ved=0CDAQ6AEwAA#v=onepage&amp;amp;q&amp;amp;f=false&quot;&gt;Communication Complexity and Parallel Computing&lt;/a&gt; by Juraj Hromkovič.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Very complete, although sometimes a little bit hard to read. The intuitive explanations are very clear, and very nice exercises. In the second part it presents the connections to parallel computing.&lt;/p&gt;&#xA;" OwnerUserId="135" LastEditorUserId="135" LastEditDate="2011-05-01T07:59:53.577" LastActivityDate="2011-05-01T07:59:53.577" CommentCount="0" CommunityOwnedDate="2010-11-29T23:23:38.697" ContentLicense="CC BY-SA 3.0" />
  <row Id="3409" PostTypeId="1" AcceptedAnswerId="3411" CreationDate="2010-11-30T03:17:56.130" Score="23" ViewCount="3107" Body="&lt;p&gt;Where can I find graphs relevant to real-life problems?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Two repositories I know of are:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;University of Florida's &lt;a href=&quot;http://www.cise.ufl.edu/research/sparse/matrices/&quot;&gt;Sparse Matrix Collection&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Bodlaender's &lt;a href=&quot;http://people.cs.uu.nl/hansb/treewidthlib/index.php&quot;&gt;TreewidthLib&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="434" LastEditorUserId="434" LastEditDate="2010-12-01T21:23:57.557" LastActivityDate="2010-12-04T08:26:29.123" Title="graphs from real-life problems" Tags="&lt;graph-theory&gt;&lt;big-list&gt;&lt;co.combinatorics&gt;&lt;data-sets&gt;" AnswerCount="8" CommentCount="12" FavoriteCount="17" ContentLicense="CC BY-SA 2.5" />
  <row Id="3410" PostTypeId="2" ParentId="3409" CreationDate="2010-11-30T03:34:00.523" Score="8" Body="&lt;p&gt;I found the following two sources useful to analyze my betweenness centrality algorithms. These are more biased towards being &quot;social&quot;. You will find more data by searching &quot;protein interaction networks&quot; on google.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://snap.stanford.edu/data/&quot;&gt;SNAP at Stanford&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.eecs.wsu.edu/mgd/gdb.html&quot;&gt;Graph Datasets&lt;/a&gt; at Washington State University&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="344" LastActivityDate="2010-11-30T03:34:00.523" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3411" PostTypeId="2" ParentId="3409" CreationDate="2010-11-30T04:02:02.123" Score="13" Body="&lt;p&gt;The &lt;a href=&quot;http://networkdata.ics.uci.edu/index.html&quot;&gt;UCI Network Data Repository&lt;/a&gt; has a collection of social networks, with additional attributes (not just vertices and edges). They also have a set of &lt;a href=&quot;http://networkdata.ics.uci.edu/resources.php&quot;&gt;links to similar collections elsewhere&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2010-11-30T04:02:02.123" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3412" PostTypeId="2" ParentId="3409" CreationDate="2010-11-30T04:24:58.453" Score="5" Body="&lt;p&gt;Information related to test problems for the Traveling Salesman Problem (TSP) can be found here:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.tsp.gatech.edu/data/index.html&quot;&gt;http://www.tsp.gatech.edu/data/index.html&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="987" LastActivityDate="2010-11-30T04:24:58.453" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3413" PostTypeId="2" ParentId="3398" CreationDate="2010-11-30T04:31:39.323" Score="11" Body="&lt;p&gt;&lt;a href=&quot;http://doi.ieeecomputersociety.org/10.1109/SWAT.1971.5&quot; rel=&quot;nofollow&quot;&gt;Paterson and Stockmeyer&lt;/a&gt; show that for most $n$-tuples of rational numbers $(a_1, \dotsc, a_n)$, evaluating $\prod_{i=1}^{n} (x - a_i)$ requires $\Omega(\sqrt{n})$ arithmetic operations, and this is tight.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The following polynomials get within a logarithmic factor of the $\sqrt{n}$ bound, by results of Strassen, Schnorr, and Heintz &amp;amp; Sieveking: $\sum_{i=1}^{n} 2^{2^{i}} x^{i}$, $\sum_{i=1}^{n} e^{2 \pi i / 2^{i}} x^{i}$, $\sum_{i=1}^{n} i^{r} x^{i}$ (for $r$ a rational that is not an integer), etc.  For exact references and for more on this, see pp. 324-325 of &lt;a href=&quot;http://www.annualreviews.org/doi/abs/10.1146/annurev.cs.03.060188.001533&quot; rel=&quot;nofollow&quot;&gt;von zur Gathen's survey&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="129" LastEditorUserId="129" LastEditDate="2010-11-30T14:13:22.057" LastActivityDate="2010-11-30T14:13:22.057" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3414" PostTypeId="2" ParentId="3253" CreationDate="2010-11-30T05:31:59.333" Score="35" Body="&lt;p&gt;As Sylvain Peyronnet already mentioned, logic is an important part of theoretical computer science. However, it is not enough to learn logic from textbooks tailored for pure mathematicians. In other words, it's also important to learn logic from a more &quot;computer science&quot; perspective. &lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Finite Model Theory&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;We want to learn techniques that deal with finite structures. It is well-known that many traditional tools from model theory, e.g., compactness and Löwenheim-Skolem theorem, are &lt;em&gt;not&lt;/em&gt; applicable to finite models. This leads us to the study of &lt;em&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Finite_model_theory&quot;&gt;Finite Model Theory&lt;/a&gt;&lt;/em&gt;. For this area, I recommend the following excellent books:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;ul&gt;&#xA;  &lt;li&gt;Leonid Libkin, &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/3540212027&quot;&gt;Elements of Finite Model Theory&lt;/a&gt;. (textbook)&lt;/li&gt;&#xA;  &lt;li&gt;Grädel et al., &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/3540004289&quot;&gt;Finite Model Theory and Its Applications&lt;/a&gt;. (survey&#xA;  articles and applications)&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;A sub-area of finite model theory is &lt;a href=&quot;http://en.wikipedia.org/wiki/Descriptive_complexity_theory&quot;&gt;descriptive complexity&lt;/a&gt;, where we want to characterizes complexity classes by the type of logic needed to define the languages. The definitive reference for descriptive complexity is:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;ul&gt;&#xA;  &lt;li&gt;Neil Immerman, &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0387986006&quot;&gt;Descriptive Complexity&lt;/a&gt;.&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;h2&gt;Proof Complexity&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;Another important area of logic in computer science is &lt;a href=&quot;http://en.wikipedia.org/wiki/Proof_complexity&quot;&gt;Proof Complexity&lt;/a&gt;, a study of three way relationship among complexity classes, weak logical systems, and propositional proof system. The following two related aspects are considered: (i) the complexity of of proofs of propositional formulas, and (ii) the study of weak theories of arithmetic, called &lt;em&gt;bounded arithmetic&lt;/em&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Aspect (i) has to do with the following question: &quot;Is there a propositional proof system in which every tautology has a proof of size polynomial in the size of the tautology?&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Aspect (ii) studies logical systems which use restricted reasoning based on concepts from computational complexity. In other words, we assign with each complexity class $C$ a logical theory $VC$, where the &lt;em&gt;provably total&lt;/em&gt; functions in $VC$ are exactly the functions in the complexity class $C$. One recent development is a new research program called &quot;bounded reverse mathematic&quot; proposed by Stephen Cook and Phuong Nguyen, where the goal is to classify theorems (of interest in computer science) based on the (minimal) computational complexity of concepts needed to prove them. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Aspects (i) and (ii) are closely related by the notion of &lt;em&gt;propositional translation&lt;/em&gt; proposed in &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=803756&quot;&gt;Cook's 1975 paper&lt;/a&gt;, which introduced the equation theory $\mathsf{PV}$ for polytime functions and showed how theorems in $\mathsf{PV}$ can be translated into families of tautologies which have polynomial length proofs in the extended Frege proof system. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For excellent surveys on proof complexity, I recommend the following two books:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;ul&gt;&#xA;  &lt;li&gt;Stephen Cook and Phuong Nguyen, &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/052151729X&quot;&gt;Logical Foundations of Proof Complexity&lt;/a&gt;.&#xA;  (draft made available &lt;a href=&quot;http://www.cs.toronto.edu/~sacook/homepage/book/&quot;&gt;here&lt;/a&gt;)&lt;/li&gt;&#xA;  &lt;li&gt;Jan Krajíček, &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0521452058&quot;&gt;Bounded Arithmetic, Propositional Logic and Complexity&#xA;  Theory&lt;/a&gt;.&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The book by Cook and Nguyen is essentially self-contained, and all the necessary logic background is given in Chapters 2 and 3. Chapter 9 is particularly interesting since the authors introduced an extremely easy method to define your own theory for any complexity classes within $\mathsf{P}$. In this method, we only need to add one additional axiom to a base theory $V_0$, where the axiom simply states the existence of a solution to a complete problem of the complexity class. Pretty amazing!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The book by Krajíček is a bit more challenging since he assumed the readers are already familiar with mathematical logic and model theory (or willing enough to learn the background needed along the way). But you will learn a lot from reading and understanding this book.&lt;/p&gt;&#xA;" OwnerUserId="1080" LastEditorUserId="109" LastEditDate="2011-01-28T10:35:05.180" LastActivityDate="2011-01-28T10:35:05.180" CommentCount="0" CommunityOwnedDate="2010-11-30T05:31:59.333" ContentLicense="CC BY-SA 2.5" />
  <row Id="3415" PostTypeId="2" ParentId="2711" CreationDate="2010-11-30T06:49:43.820" Score="7" Body="&lt;p&gt;Arrow's theorem is a classical theorem.  Finding an open problem is not easy for social choice theorists (or at least for me), either.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My general advice to students studying economics is: &quot;stay way from the theorem, &lt;em&gt;unless you can relate your contribution to some recent ideas&lt;/em&gt; (e.g., axioms that has been proposed recently, solutions that has been studied a bit, and behavioral assumptions in fashion).  Try to find a problem unrelated to Arrow's theorem.  There are many such problems even within social choice theory.&quot;  Only after you have a general idea what sort of problem you want to pursue, check the &lt;em&gt;Handbook of Social Choice and Welfare&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Computational issues could be one of such &quot;recent&quot; ideas.  Though the investigation of &lt;em&gt;complexity&lt;/em&gt; (of the rules or of manipulation or of the solution, etc.) is the main concern for computer scientists (as suggested by others), there do exit papers (such as Mihara, 1997, Arrow's Theorem and Turing Computability, &lt;em&gt;Economic Theory&lt;/em&gt; 10:257-276) that studies the (fundamental?) problem of  &lt;em&gt;computability&lt;/em&gt; within Arrow's framework. ;-)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let me comment on the two problems you suggested.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;I'm not sure if social choice theorists neglected to consider partial orders.  If they did, they did so probably because &quot;partiality&quot; can be expressed by strict preferences (as we do in Kumabe and Mihara, Preference aggregation theory without acyclicity: The core without majority dissatisfaction, &lt;em&gt;Games and Economic Behavior&lt;/em&gt;, in press).  (In that case, better forget the weak preference R or define it differently [so it will not become complete]: By defining xRy [x is weakly preferred to y] iff not yPx [not y is preferred to x], we have P is asymmetric iff R is &lt;em&gt;complete&lt;/em&gt;!)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Some authors are not, but I guess most social choice theorists are careful enough not to claim that any dictatorial social welfare function satisfy IIA.  For example, I say (Mihara, 1997) that &lt;em&gt;within the social welfare functions satisfying IIA&lt;/em&gt;, a rule is dictatorial &lt;em&gt;iff&lt;/em&gt; it satisfies a certain condition.  So they knew the problem was open, but were probably not interested in further classifying dictatorial functions.  (Maybe Mossel and Tamuz can comment on Armstrong's errata cited by Mihara. It identifies a sequence of dictators or ultrafilters.)  This suggests another research strategy (which I cannot recommend): try to find a problem that was uninteresting to social choice theorists.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="2431" LastActivityDate="2010-11-30T06:49:43.820" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3416" PostTypeId="1" AcceptedAnswerId="3418" CreationDate="2010-11-30T07:36:33.280" Score="14" ViewCount="873" Body="&lt;p&gt;1) Is it possible to have a parsimonious reduction from a #P-complete problem #A to a counting problem #B when (the decision version) A is NP-complete and the B is in P?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, can there be a parsimonious reduction from #SAT to #B, when B is in P? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) If B is in P, what are the different possibilities for the complexity of #B?&lt;/p&gt;&#xA;" OwnerUserId="2335" LastEditorUserId="3964" LastEditDate="2013-11-14T14:44:17.647" LastActivityDate="2017-10-25T20:17:24.287" Title="#P-complete problem whose decision version is in P" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;counting-complexity&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="3418" PostTypeId="2" ParentId="3416" CreationDate="2010-11-30T08:02:06.517" Score="20" Body="&lt;p&gt;If you insist on parsimonious reductions (where the number of solutions is preserved) you cannot have such a reduction unless P = NP because the decision algorithm for non-emptyness of solutions for B will give you a decision algorithm for non-emptyness of solutions for A. On the other hand, if you allow other kind of reductions you can have such a case. For example, Valiant showed that #SAT reduces to the problem of counting perfect matchings in a bipartite graph: the reduction starts with a CNF-formula $F$ and builds a bipartite graph $G$ whose number of perfect matchings mod $2^{8m}+1$ is $4^m$ times the number of satisfying assignments of $F$, where $m$ is the number of literal occurrences in $F$. Note how this is not a parsimonious reduction, but a reduction nonetheless since you can recover the number of satisfying assignments of $F$ from the number of perfect matchings of $G$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See Chapter 18 in Papadimitriou's &quot;Computational Complexity&quot; book for a clear exposition of this.&lt;/p&gt;&#xA;" OwnerUserId="1509" LastActivityDate="2010-11-30T08:02:06.517" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3419" PostTypeId="2" ParentId="3409" CreationDate="2010-11-30T09:43:15.680" Score="2" Body="&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://sndlib.zib.de/home.action&quot; rel=&quot;nofollow&quot;&gt;SNDlib&lt;/a&gt; has a collection of instances for survivable network design.&lt;/li&gt;&#xA;&lt;li&gt;A collection of large road networks is available on the page of the &lt;a href=&quot;http://www.dis.uniroma1.it/~challenge9/download.shtml&quot; rel=&quot;nofollow&quot;&gt;9th DIMACS implementation challenge&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="2150" LastActivityDate="2010-11-30T09:43:15.680" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3421" PostTypeId="2" ParentId="3409" CreationDate="2010-11-30T16:44:21.237" Score="5" Body="&lt;p&gt;There are some real benchmark instances for Frequency Assignment problem on:&#xA;&lt;a href=&quot;http://fap.zib.de/problems/&quot; rel=&quot;nofollow&quot;&gt;http://fap.zib.de/problems/&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="2296" LastEditorUserId="2296" LastEditDate="2010-12-01T20:26:37.347" LastActivityDate="2010-12-01T20:26:37.347" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="3422" PostTypeId="2" ParentId="3074" CreationDate="2010-11-30T18:00:14.870" Score="21" Body="&lt;p&gt;The area you want to look at is called &quot;implicit complexity theory&quot;. A random and incomplete fistful of names to Google for are Martin Hofmann, Patrick Baillot, Ugo Dal Lago, Simona Ronchi Della Rocca, and Kazushige Terui. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The basic technique is to relate complexity classes to subsystems of linear logic (the so-called &quot;light linear logics&quot;), with the idea that the cut-elimination for the logical system should be complete for the given complexity class (such as LOGSPACE, PTIME, etc). Then via Curry-Howard you get out a programming language in which precisely the programs in the given class are expressible. As you might expect from the mention of linear logic, these all these systems then give rise to monoidal closed categories of various flavors, which leaves you with a purely algebraic and machine-independent characterization of various complexity classes. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;One of the things that make this area interesting is that neither traditional complexity nor logical/PL methods are entirely appropriate. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since the categories involved typically have closed structure, the combinatoric methods favored by complexity theorists often break down (since higher-order programs tend to resist combinatorial characterizations). A typical example of this is the failure of syntactic methods to handle contextual equivalence. Similarly, the methods of semantics also have trouble, since they are often too extensional (since traditionally semanticists have wanted to hide the internal structure of functions). The simplest example I know here is the closure of LOGSPACE under composition: this is AFAIK only possible due to dovetailing and selective recomputation, and you can't treat the problems as pure black boxes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You will likely also want to have some familiarity with game semantics and Girard's Geometry of Interaction (and their precursor, Kahn-Plotkin-Berry's concrete data structures) if you get seriously into this area -- the ideas of token-passing representations of higher-order computations used in this work supply a lot of the intuitions for ICC.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since I've pointed out the central role of monoidal categories in this work, you might reasonably wonder about the connections to Mulmuley's GCT. Unfortunately, I can't help you here, since I simply don't know enough. Paul-André Melliès might be a good person to ask, though.&lt;/p&gt;&#xA;" OwnerUserId="657" LastActivityDate="2010-11-30T18:00:14.870" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3424" PostTypeId="2" ParentId="3405" CreationDate="2010-11-30T20:05:13.917" Score="8" Body="&lt;p&gt;This just appeared on arxive.org and may be of some help.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;a href=&quot;http://arxiv.org/abs/1011.6353&quot;&gt;&lt;em&gt;The definability of functionals in Gödel's theory T&lt;/em&gt;&lt;/a&gt;&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;Matthew P. Szudzik (Carnegie Mellon)&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;Gödel's theory T can be understood as a theory of the simply-typed lambda calculus that is extended to include the constant 0, the successor function $S$, and the operator $R_\tau$ for primitive recursion on objects of type $\tau$. It is known that the functions from non-negative integers to non-negative integers that can be defined in this theory are exactly the $\epsilon$-recursive functions of non-negative integers. But it is not well-known which functionals of arbitrary type can be defined in T.&#xA;  We show that when the domain and codomain are restricted to pure closed normal forms, the functionals of arbitrary type that are definable in T are exactly those functionals that can be encoded as $\epsilon$-recursive functions of non-negative integers. This result has many interesting consequences, including a new characterization of T.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="705" LastActivityDate="2010-11-30T20:05:13.917" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3425" PostTypeId="1" CreationDate="2010-11-30T20:23:41.260" Score="17" ViewCount="1591" Body="&lt;p&gt;It is easy to see that any problem that is decidable in deterministic logspace ($L$) runs in at most polynomial time ($P$). Many known logspace algorithms (For example : undirected st-connectivity, planar graph isomorphism) run in $O(n^k)$ where $k$ is insanely large.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;I am looking for examples of natural problems that are known to be solvable simultaneously in deterministic logspace and $O(n^k)$ time where $k \leq 10$. There is nothing special about 10. Looking at the currently known logspace algorithms, I think $k \leq 10$ is interesting enough.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://portal.acm.org/citation.cfm?id=1382621&quot;&gt;Aleliunas et al.&lt;/a&gt; showed that undirected st-connectivity is in $RL$ (randomized logspace). The running time of their algorithm is $O(n^3)$. Are there natural problems that can be solved simultaneously in $RL$ and linear time (or) near linear time i. e., $O(n{\log}^i{n})$ time ?&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Edit : To make things more interesting let's look at problems that are at least $NC^1$-hard.&lt;/p&gt;&#xA;" OwnerUserId="344" LastEditorUserId="344" LastEditDate="2010-12-01T06:47:39.423" LastActivityDate="2011-07-19T07:02:24.553" Title="Efficient logspace algorithms" Tags="&lt;cc.complexity-theory&gt;&lt;space-bounded&gt;&lt;space-time-tradeoff&gt;" AnswerCount="3" CommentCount="1" FavoriteCount="11" ContentLicense="CC BY-SA 2.5" />
  <row Id="3427" PostTypeId="2" ParentId="3253" CreationDate="2010-11-30T22:18:56.513" Score="21" Body="&lt;h2&gt;Quantum Computing&lt;/h2&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0521635039&quot; rel=&quot;noreferrer&quot;&gt;Quantum Computation and Quantum Information&lt;/a&gt; by &lt;em&gt;Nielsen and Chuang&lt;/em&gt;, is a great &lt;strong&gt;reference&lt;/strong&gt; book, ideal for those who want to research in the field. However, for starters, it is hard to learn from, and it's definitely not for self learners. Since the book lacks worked examples, I suggest the following book:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/9812387900&quot; rel=&quot;noreferrer&quot;&gt;Problems &amp;amp; Solutions in Quantum Computing &amp;amp; Quantum Information&lt;/a&gt; by &lt;em&gt;Steeb &amp;amp; Hardy&lt;/em&gt;. This book includes a lot of examples, but it is not still for the absolute beginner. For starters, the following book is suggested:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/013145224X&quot; rel=&quot;noreferrer&quot;&gt;Approaching Quantum Computing&lt;/a&gt; by &lt;em&gt;Marinescu &amp;amp; Marinescu&lt;/em&gt;. While elementary and easy to learn, some people find it &quot;filled with errors&quot;. In this regard, the &lt;a href=&quot;http://www.cs.ucf.edu/~dcm/Errata.pdf&quot; rel=&quot;noreferrer&quot;&gt;book's errata&lt;/a&gt; comes handy.&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0521199565&quot; rel=&quot;noreferrer&quot;&gt;Quantum Computing Since Democritus&lt;/a&gt; by &lt;em&gt;Scott Aaronson&lt;/em&gt;. A tour-de-force of much more than quantum computing, with relationships to physics, philosophy, etc.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Two other excellent introductory books on the subject are:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0521879965&quot; rel=&quot;noreferrer&quot;&gt;Quantum Computing for Computer Scientists&lt;/a&gt; by &lt;em&gt;Yanofsky &amp;amp; Mannucci&lt;/em&gt;.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/019857049X&quot; rel=&quot;noreferrer&quot;&gt;An Introduction to Quantum Computing&lt;/a&gt; by &lt;em&gt;Kaye, Laflamme, and Mosca&lt;/em&gt;.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="873" LastEditorUserId="20907" LastEditDate="2015-08-18T20:12:23.277" LastActivityDate="2015-08-18T20:12:23.277" CommentCount="0" CommunityOwnedDate="2010-11-30T22:18:56.513" ContentLicense="CC BY-SA 3.0" />
  <row Id="3428" PostTypeId="2" ParentId="3111" CreationDate="2010-11-30T22:31:14.240" Score="12" Body="&lt;p&gt;A. Broder, J. Stolfi &quot;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.116.9158&quot;&gt;Pessimal algorithms and simplexity analysis&lt;/a&gt;&quot;, ACM SIGACT News 16(3), Fall 1984. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The paper introduces &quot;an entirely new branch of Computer Science, the design and analysis of reluctant algorithms. Intuitively, a reluctant algorithm for a problem P is one which wastes time in a way that is suﬃciently contrived to fool a naive observer.&quot;&lt;/p&gt;&#xA;" OwnerUserId="2367" LastActivityDate="2010-11-30T22:31:14.240" CommentCount="0" CommunityOwnedDate="2010-11-30T22:31:14.240" ContentLicense="CC BY-SA 2.5" />
  <row Id="3429" PostTypeId="2" ParentId="3253" CreationDate="2010-12-01T04:03:06.267" Score="16" Body="&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;The books by &lt;a href=&quot;https://rads.stackoverflow.com/amzn/click/com/3642039413&quot; rel=&quot;noreferrer&quot; rel=&quot;nofollow noreferrer&quot;&gt;Matousek&lt;/a&gt; &amp;amp; &lt;a href=&quot;http://www.cs.princeton.edu/%7Echazelle/book.html&quot; rel=&quot;noreferrer&quot;&gt;Chazelle&lt;/a&gt; on Discrepancy are excellent.&lt;/p&gt;&#xA;&lt;p&gt;Almost &lt;a href=&quot;http://www.amazon.com/s/ref=ntt_athr_dp_sr_1?_encoding=UTF8&amp;amp;sort=relevancerank&amp;amp;search-alias=books&amp;amp;field-author=Jiri%20Matousek&quot; rel=&quot;noreferrer&quot;&gt;all the books by Matousek&lt;/a&gt;, in fact, are worth reading to some extent.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Douglas West books on Graph Theory (&lt;a href=&quot;https://rads.stackoverflow.com/amzn/click/com/0130144002&quot; rel=&quot;noreferrer&quot; rel=&quot;nofollow noreferrer&quot;&gt;[1]&lt;/a&gt; and &lt;a href=&quot;https://rads.stackoverflow.com/amzn/click/com/B004E1RYGO&quot; rel=&quot;noreferrer&quot; rel=&quot;nofollow noreferrer&quot;&gt;[2]&lt;/a&gt;) are good.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://rads.stackoverflow.com/amzn/click/com/0470170204&quot; rel=&quot;noreferrer&quot; rel=&quot;nofollow noreferrer&quot;&gt;Alon &amp;amp; Spencer&lt;/a&gt; is also excellent.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://rads.stackoverflow.com/amzn/click/com/0471588903&quot; rel=&quot;noreferrer&quot; rel=&quot;nofollow noreferrer&quot;&gt;Pach &amp;amp; Agarwal&lt;/a&gt; is good for discrete geometry, as is the &lt;a href=&quot;https://rads.stackoverflow.com/amzn/click/com/0521135117&quot; rel=&quot;noreferrer&quot; rel=&quot;nofollow noreferrer&quot;&gt;Sharir &amp;amp; Agarwal&lt;/a&gt; if you are into DS sequences.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://rads.stackoverflow.com/amzn/click/com/0387238158&quot; rel=&quot;noreferrer&quot; rel=&quot;nofollow noreferrer&quot;&gt;Brass, Moser, and Pach&lt;/a&gt; book on open problems in discrete geometry is also very good.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The &lt;a href=&quot;https://rads.stackoverflow.com/amzn/click/com/0387743871&quot; rel=&quot;noreferrer&quot; rel=&quot;nofollow noreferrer&quot;&gt;Vanderbei&lt;/a&gt; book on LP is very good.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Schrijver's books (&lt;a href=&quot;https://rads.stackoverflow.com/amzn/click/com/0471982326&quot; rel=&quot;noreferrer&quot; rel=&quot;nofollow noreferrer&quot;&gt;[1]&lt;/a&gt; and &lt;a href=&quot;https://rads.stackoverflow.com/amzn/click/com/3540443894&quot; rel=&quot;noreferrer&quot; rel=&quot;nofollow noreferrer&quot;&gt;[2]&lt;/a&gt;) are amazing.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="9594" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2011-01-27T11:44:31.630" CommentCount="1" CommunityOwnedDate="2010-12-01T04:03:06.267" ContentLicense="CC BY-SA 2.5" />
  <row Id="3430" PostTypeId="2" ParentId="3425" CreationDate="2010-12-01T06:38:58.317" Score="9" Body="&lt;p&gt;This answer is more of a toy problem than a real research problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My typical example of a log-space algorithm to give to programmer friends is the following puzzle:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Given a linked list of unknown size ($n$) and using a&#xA;  constant number of pointer variables,&#xA;  determine if the linked list ever&#xA;  loops.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The solution is a log-space algorithm, using two $O(\log n)$-sized pointers to linked list nodes.  Start both at the start of the linked list and perform the following iterative procedure:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Advance the first pointer in the list by one step.&lt;/li&gt;&#xA;&lt;li&gt;Advance the second pointer in the list by two steps.&lt;/li&gt;&#xA;&lt;li&gt;If either pointer finds the end, return false.&lt;/li&gt;&#xA;&lt;li&gt;If the nodes point to the same node, return true.&lt;/li&gt;&#xA;&lt;li&gt;Otherwise, iterate again.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;This process will eventually terminate.  If there is no loop, it will take $n$ steps.  If there is a loop, the two-step pointer cannot pass the one-step pointer without a collision, and this occurs before the one-step pointer finishes the loop (which is under $n$ steps).&lt;/p&gt;&#xA;" OwnerUserId="59" LastActivityDate="2010-12-01T06:38:58.317" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3431" PostTypeId="1" AcceptedAnswerId="3518" CreationDate="2010-12-01T11:00:32.980" Score="1" ViewCount="2764" Body="&lt;p&gt;What's the difference between&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;off-policy reinforcement learning&#xA;  algorithms&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;and&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;offline policy reinforcement learning&#xA;  algorithms ?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Or do they mean the same thing ?&#xA;thanks&lt;/p&gt;&#xA;" OwnerUserId="1948" LastEditorUserId="1948" LastEditDate="2010-12-01T15:50:17.847" LastActivityDate="2010-12-04T01:13:25.457" Title="off-policy and offline policy reinforcement learning" Tags="&lt;lg.learning&gt;&lt;machine-learning&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3434" PostTypeId="2" ParentId="3416" CreationDate="2010-12-01T14:49:49.433" Score="7" Body="&lt;p&gt;The answer to the question 2 is that the complexity of the counting problem #B can be basically anything (not even necessarily computable).  More precisely, the restriction that the decision version is in P does not have any implication on the complexity of the counting version.  This is because you can add a dummy solution to any relation problem so that the decision version becomes trivial (the answer becomes always yes) without changing the complexity of the counting version.&lt;/p&gt;&#xA;" OwnerUserId="567" LastActivityDate="2010-12-01T14:49:49.433" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="3435" PostTypeId="1" AcceptedAnswerId="3436" CreationDate="2010-12-01T15:05:28.770" Score="4" ViewCount="376" Body="&lt;p&gt;For proving a decision problem is NP-com, there are diffrent methods of reductions as parsimonious, like karp-reduction, or many-to-one reductions!&#xA;What about one-to-many map? is it possible to set a polynomial one-to-many reduction from NP-comp decision problem 'A' to a decision problem 'B' which we are looking for it's complexity? &lt;/p&gt;&#xA;" OwnerUserId="2335" LastEditorUserId="2335" LastEditDate="2010-12-02T09:01:33.500" LastActivityDate="2010-12-02T09:01:33.500" Title="can some one use a polynomial one-to-many reduction for NP-comp problems?" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3436" PostTypeId="2" ParentId="3435" CreationDate="2010-12-01T15:43:23.597" Score="13" Body="&lt;p&gt;I think what you are looking for is the notion of polynomial-time Turing reduction, denoted $\leq_{T}^{p}$ (also called Cook reduction, since this was the notion of reduction Cook used in the paper in which he defined NP-completeness; poly-time many-one reductions are called &quot;Karp&quot; or &quot;Karp-Levin&quot; for a similar reason), or polynomial-time truth-table reductions, denoted $\leq_{tt}^{p}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For any notion of reduction, you get a notion of NP-completeness: e.g. a problem is &quot;NP-complete under $\leq_{T}^{p}$ reductions&quot; if it is in NP and every problem in NP $\leq_{T}^{p}$-reduces to it.  The different notions of completeness are a priori distinct; however, even if they are distinct, showing that a problem is NP-complete under Cook reductions is still good evidence of its intractability.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Terminologically, when people say &quot;NP-complete&quot; without further specifying, they usually mean NP-complete under many-one reductions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://dx.doi.org/10.1016/0304-3975(95)00189-1&quot; rel=&quot;nofollow&quot;&gt;Lutz and Mayordomo&lt;/a&gt; showed that if NP does not have measure 0 in EXP,  there are problems that are NP-complete under $\leq_{T}^{p}$-reductions that are not NP-complete under $\leq_{m}^{p}$-reductions. The Lutz and Mayordomo paper has lots of other references, but one result that should be mentioned is that (under no assumptions), there are problems that are  $\leq_{T}^{p}$-complete for $NE$ that are not $\leq_{m}^{p}$-complete for $NE$ [1,2].&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Truth-table reductions can be viewed either as a multi-query version of many-one reductions (in a sense they are &quot;many-many&quot;) or as non-adaptive Turing reductions, or as Turing reductions in which all the queries are made in parallel.  The idea is that the reducing machine looks at the input, decides all the queries it's going to make without asking any of them, then asks all of them and gets answers from the oracle, then decides its answer without making further queries.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] H. Buhrman, S. Homer and L. Torenvliet, Completeness for nondeterministic complexity classes, Math. Systems Theory 24 (1991) 179-200.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] O. Watanabe, On the Structure of Intractable Complexity Classes, PhD thesis, Tokyo Institute of Technology, 1987.&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2010-12-01T15:43:23.597" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3437" PostTypeId="1" AcceptedAnswerId="3438" CreationDate="2010-12-01T16:41:16.617" Score="6" ViewCount="384" Body="&lt;p&gt;I'm interested in linear 2-state cellular automata (with local rules only) that could compute the majority function. Say the state of a cell is either 0 or 1. Is it possible to have a cellular automaton that sets all cells to 1 if the majority of initial states is 1 and sets all cells to 0 if the majority of initial states is 0? The cellular automaton could be synchronous or asynchronous. I tend to believe that the answer is negative (mainly because of rule locality). Any literature on this problem? I also believe that one could approximate it in the sense that one could devise a cellular automaton that fails only on a small fraction of its inputs (purely experimental at this point).&lt;/p&gt;&#xA;" OwnerUserId="2471" LastActivityDate="2012-01-23T11:41:10.800" Title="On 1-dimensional cellular automata" Tags="&lt;cellular-automata&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="3438" PostTypeId="2" ParentId="3437" CreationDate="2010-12-01T17:04:16.720" Score="14" Body="&lt;p&gt;This is a well known problem. It's known to be impossible to solve exactly, but either approximable in the sense you describe or solvable exactly if you relax the conditions under which it recognizes a majority: see &lt;a href=&quot;http://en.wikipedia.org/wiki/Majority_problem_%28cellular_automaton%29&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/Majority_problem_(cellular_automaton)&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="95" LastEditorUserId="74" LastEditDate="2010-12-01T17:20:29.063" LastActivityDate="2010-12-01T17:20:29.063" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="3439" PostTypeId="1" AcceptedAnswerId="3448" CreationDate="2010-12-01T18:20:31.420" Score="51" ViewCount="3459" Body="&lt;p&gt;This might be a subjective question rather than one with a concrete answer, but anyway.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In complexity theory we study the notion of efficient computations. There are classes like $\mathsf{P}$ stands for &lt;a href=&quot;http://en.wikipedia.org/wiki/P_%28complexity%29&quot;&gt;polynomial time&lt;/a&gt;, and $\mathsf{L}$ stands for &lt;a href=&quot;http://en.wikipedia.org/wiki/L_%28complexity%29&quot;&gt;log space&lt;/a&gt;. Both of them are considered to be represented as a kind of &quot;efficiency&quot;, and they capture the difficulties of some problems pretty well.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But there is a difference between $\mathsf{P}$ and $\mathsf{L}$: while the polynomial time, $\mathsf{P}$, is defined as the union of problems which runs in $O(n^k)$ time for any constant $k$, that is,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\mathsf{P} = \bigcup_{k \geq 0} \mathsf{TIME[n^k]}$,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;the log space, $\mathsf{L}$, is defined as $\mathsf{SPACE[\log n]}$. If we mimics the definition of $\mathsf{P}$, it becomes&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\mathsf{PolyL} = \bigcup_{k \geq 0} \mathsf{SPACE[\log^k n]}$,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where $\mathsf{PolyL}$ is called the class of &lt;strong&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/PolyL&quot;&gt;polylog space&lt;/a&gt;&lt;/strong&gt;.&#xA;My question is:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Why do we use log space as the notion of efficient computation, instead of polylog space?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;One main issue may be about the complete problem sets. Under logspace many-one reductions, both $\mathsf{P}$ and $\mathsf{L}$ have complete problems. In contrast, if $\mathsf{PolyL}$ has complete problems under such reductions, then we would have contradict to the space hierarchy theorem. But what if we moved to the polylog reductions?&#xA;Can we avoid such problems? In general, if we try our best to fit $\mathsf{PolyL}$ into the notion of efficiency, and (if needed) modify some of the definitions to get every good properties a &quot;nice&quot; class should have, how far can we go?&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there any theoretical and/or practical reasons for using log space instead of polylog space?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="1800" LastEditorUserId="80" LastEditDate="2010-12-01T23:08:04.387" LastActivityDate="2010-12-02T13:54:37.007" Title="Why do we consider log-space as a model of efficient computation (instead of polylog-space) ?" Tags="&lt;cc.complexity-theory&gt;&lt;space-bounded&gt;&lt;big-picture&gt;" AnswerCount="4" CommentCount="5" FavoriteCount="18" ContentLicense="CC BY-SA 2.5" />
  <row Id="3440" PostTypeId="2" ParentId="3439" CreationDate="2010-12-01T18:32:35.617" Score="25" Body="&lt;p&gt;One issue is that it is unknown whether $\text{SPACE}[\log^2 n] \subseteq \text{P}$. That pretty much kills the notion of efficiency. On another note, determining if the intersection of the languages recognized by $\log^{k-1}(n)$ automata is non-empty is $\text{NSPACE}$$[\log^k n]$$\text{-complete}$ under logspace reductions &lt;a href=&quot;http://www.springerlink.com/content/q270n64140737108/&quot;&gt;[Lange-Rossmanith]&lt;/a&gt;. Perhaps there are some similar problems for deterministic polylog-space.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The class $\text{PLOSS} = \bigcup_k \text{TISP}[n^k, k \, \log^2 n]$ has been studied in the past. &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=800135.804426&quot;&gt;[Cook]&lt;/a&gt; proved that $\text{DCFL} \subseteq \text{PLOSS}$. As noted by Derrick Stolee, this class is now known as $\text{SC}^2$ and has been generalized to $\text{SC}^k$. More informations &lt;a href=&quot;http://en.wikipedia.org/wiki/SC_%28complexity%29&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="508" LastEditorUserId="508" LastEditDate="2010-12-02T13:54:37.007" LastActivityDate="2010-12-02T13:54:37.007" CommentCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="3441" PostTypeId="2" ParentId="3439" CreationDate="2010-12-01T18:33:08.720" Score="20" Body="&lt;p&gt;Log-space guarantees polynomial time, since there are at most $2^{O(\log n)} = \operatorname{poly}(n)$ configurations of a given log-space Turing machine.  The complete problems of Undirected Reach and Directed Reach (for L and NL, respectively) are very &quot;nice&quot; to think about.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that your definition of PolyL also gives PolyL = NPolyL, by Savitch's theorem, since $\text{NSPACE}[\log^k n] \subseteq \text{SPACE}[\log^{2k}n]$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;When polylog space is concerned, work has been done to consider polylog-space with simultaneous polynomial time, giving the SC hierarchy: $\text{SC}^k = \text{TISP}[\operatorname{poly}(n), \log^k n]$.  &lt;/p&gt;&#xA;" OwnerUserId="59" LastActivityDate="2010-12-01T18:33:08.720" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="3443" PostTypeId="1" AcceptedAnswerId="3495" CreationDate="2010-12-01T19:35:41.547" Score="21" ViewCount="870" Body="&lt;p&gt;The title more or less says it all, but I guess I could add a bit of background and some specific examples I'm interested in.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Descriptive complexity theorists, such as Immerman and Fagin, have characterized many of the most well-known complexity classes using logic.  For example, NP can be characterized with second-order existential queries; P can be characterized with first-order queries with a least-fixed point operator added.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is:  Have there been any attempts, especially successful ones, at coming up with such representations for quantum complexity classes, such as BQP or NQP?  If not, why not?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thank you.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Update(moderator)&lt;/strong&gt;: this question is completely answered by &lt;a href=&quot;https://mathoverflow.net/questions/35236/is-there-a-syntactic-characterization-for-bpp-bqp-or-qma&quot;&gt;this post on mathoverflow&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="1338" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2010-12-03T15:22:49.300" Title="Are there descriptive complexity representations of quantum complexity classes?" Tags="&lt;cc.complexity-theory&gt;&lt;quantum-computing&gt;&lt;descriptive-complexity&gt;" AnswerCount="2" CommentCount="21" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="3444" PostTypeId="1" AcceptedAnswerId="3450" CreationDate="2010-12-01T19:43:16.600" Score="11" ViewCount="766" Body="&lt;p&gt;Sorry if I'm mistaken with the place to ask the question (maybe I should go to stackoverflow.com/mathoverflow.net?).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I wonder if there is a proof that when evaluating extended Euclidean algorithm the Bézout's coefficients (that is &lt;em&gt;s&lt;/em&gt; and &lt;em&gt;t&lt;/em&gt; in identity &lt;em&gt;as&lt;/em&gt; + &lt;em&gt;bt&lt;/em&gt; = gcd(&lt;em&gt;a&lt;/em&gt;, &lt;em&gt;b&lt;/em&gt;)) will not exceed some reasonable values (depending on a, b, I guess). In particular implementation on some general-purpose programming language I'm interested in overflow correctness of the program.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To be precise I can mention that I use Victor Shoup's description of the algorithm (4.2 in his book “&lt;a href=&quot;http://shoup.net/ntb/&quot; rel=&quot;nofollow&quot;&gt;A Computational Introduction to  Number Theory and Algebra&lt;/a&gt;” freely available from his homepage).&lt;/p&gt;&#xA;" OwnerUserId="869" LastActivityDate="2010-12-02T06:23:25.600" Title="“Overflow” in Extended Euclidean Algorithm" Tags="&lt;ds.algorithms&gt;&lt;nt.number-theory&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3445" PostTypeId="1" CreationDate="2010-12-01T21:25:38.697" Score="8" ViewCount="406" Body="&lt;p&gt;Longest path problem is not polynomial-time approximable to any constant factor in cubic Hamiltonian graphs (Longest path &lt;span class=&quot;math-container&quot;&gt;$\notin APX$&lt;/span&gt; unless &lt;span class=&quot;math-container&quot;&gt;$P=NP$&lt;/span&gt;). I don't know if it remains in-approximable in cubic bipartite Hamiltonian graphs. Maximum independent set is not in &lt;span class=&quot;math-container&quot;&gt;$APX$&lt;/span&gt; unless &lt;span class=&quot;math-container&quot;&gt;$P=NP$&lt;/span&gt; but it is in &lt;span class=&quot;math-container&quot;&gt;$APX$&lt;/span&gt; for cubic graphs. David Eppstein pointed out that it is &lt;span class=&quot;math-container&quot;&gt;$NP$&lt;/span&gt;-complete to find maximum clique in claw-free graphs and it is not clear to me if it is any easier to approximate than in general graphs. &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;I'm interested in optimization problems that remains in-approximable in &lt;strong&gt;severely restricted&lt;/strong&gt; classes of graphs (for instance, cubic planar bipartite graphs or trees of bounded degree).&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;A problem &lt;span class=&quot;math-container&quot;&gt;$L$&lt;/span&gt; is In-approximable means that  &lt;span class=&quot;math-container&quot;&gt;$L \notin APX$&lt;/span&gt;. It is &lt;span class=&quot;math-container&quot;&gt;$NP$&lt;/span&gt;-hard to approximate to any constant factor in polynomial-time.&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2019-03-15T08:56:14.247" LastActivityDate="2019-03-15T08:56:14.247" Title="In-approximability results in severely restricted graph classes" Tags="&lt;cc.complexity-theory&gt;&lt;approximation-hardness&gt;&lt;apx&gt;" AnswerCount="4" CommentCount="1" FavoriteCount="3" ContentLicense="CC BY-SA 4.0" />
  <row Id="3447" PostTypeId="1" AcceptedAnswerId="3449" CreationDate="2010-12-02T00:38:30.763" Score="5" ViewCount="819" Body="&lt;p&gt;I have asked the question at &lt;a href=&quot;https://math.stackexchange.com/questions/12488/for-a-planar-graph-find-the-algorithm-that-constructs-a-cycle-basis-with-each-e&quot;&gt;Math SE&lt;/a&gt; and at &lt;a href=&quot;https://stackoverflow.com/questions/4315545/algorithm-to-construct-cycle-basis-with-the-condition-that-each-edge-must-be-sha&quot;&gt;SO&lt;/a&gt;, but I can't seem to get the answer I want. So I paraphrase the question and it here.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In a planar graph $G$, one can easily find all the cycle basis by first finding the spanning tree ( any spanning tree would do), and then use the remaining edges to complete cycles. Given Vertex $V$, edge $E$, there are $C=E−V+1$ number of cycles ( Euler formula), and there are $C$ number of edges that are inside the graph, but not inside the spanning tree.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, &lt;a href=&quot;https://math.stackexchange.com/questions/12465/for-a-planar-graph-is-it-always-possible-to-construct-a-set-of-cycle-basis-with&quot;&gt;there always exists a set of cycle basis such that each and every edge inside the $G$ is shared by at most 2 cycles&lt;/a&gt;. My question is, is there any algorithm that allows me to find such a set of cycle basis? The above procedure I outlined only guarantees to find a set of cycle basis, but doesn't guarantee that all the edges in the cycle basis is shared by at most two cycles.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One of the suggestion I got from Math SE is to use planar embedding algorithm to &quot;guess&quot; the most natural coordinates for each vertex ( so that the graph looks &quot;nice&quot; visually), and then construct the polygonal faces. But this is exceptionally long-winded. I believe that this problem can be tackled more simply without involving coordinates. &lt;/p&gt;&#xA;" OwnerUserId="440" LastEditorUserId="-1" LastEditDate="2017-05-23T12:40:09.333" LastActivityDate="2010-12-04T03:22:12.077" Title="For a Planar Graph, Find the Algorithm that Constructs A Cycle Basis, with each Edge Shared by At Most 2 Cycles" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3448" PostTypeId="2" ParentId="3439" CreationDate="2010-12-02T00:44:09.580" Score="55" Body="&lt;p&gt;The smallest class containing linear time and closed under subroutines is P. The smallest class containing log space and closed under subroutines is still log space. So P and L are the smallest robust classes for time and space respectively which is why they feel right for modeling efficient computation. &lt;/p&gt;&#xA;" OwnerUserId="550" LastActivityDate="2010-12-02T00:44:09.580" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="3449" PostTypeId="2" ParentId="3447" CreationDate="2010-12-02T01:00:04.510" Score="13" Body="&lt;p&gt;Construct a planar embedding and use all but one of the faces of the embedding as cycles in the cycle basis. (It doesn't matter which one you leave out.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that there are actually two different subproblems in planar embedding: determining the cyclic ordering of the edges around each vertex, and computing explicit coordinates. But for the cycle basis, you only need the cyclic ordering, since that's what determines the structure of the faces; you don't need any kind of &quot;nice&quot; coordinates.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finding planar embeddings is linear time but complicated; there are several standard algorithms.&lt;/p&gt;&#xA;" OwnerUserId="95" LastEditorUserId="95" LastEditDate="2010-12-02T01:11:35.167" LastActivityDate="2010-12-02T01:11:35.167" CommentCount="11" ContentLicense="CC BY-SA 2.5" />
  <row Id="3450" PostTypeId="2" ParentId="3444" CreationDate="2010-12-02T03:15:52.990" Score="13" Body="&lt;p&gt;This is called the &lt;a href=&quot;http://en.wikipedia.org/wiki/B%C3%A9zout%27s_identity&quot; rel=&quot;nofollow&quot;&gt;Bézout's identity/lemma&lt;/a&gt; (not to be confused with &lt;a href=&quot;http://en.wikipedia.org/wiki/B%C3%A9zout%27s_theorem&quot; rel=&quot;nofollow&quot;&gt;Bézout's theorem&lt;/a&gt; in algebraic geometry), which states:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Lemma.&lt;/strong&gt; For every integers $a,b \neq 0$, $\gcd(a,b) = ax + by$ for some integers $x,y$. Also, we may assume $|x| \leq |b|$ and $|y| \leq |a|$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Proofs can be founded in standard algebra textbooks. Also you can prove it yourself by induction on the iterations of gcd process.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In general this is true in every &lt;a href=&quot;http://en.wikipedia.org/wiki/Euclidean_domain&quot; rel=&quot;nofollow&quot;&gt;Euclidean domain&lt;/a&gt; $R$ with a multiplicative Euclidean function $f$. In the case here when $R = \mathbf{Z}$, we have $f(x) = |x|$ which is multiplicative.&lt;/p&gt;&#xA;" OwnerUserId="1800" LastEditorUserId="1800" LastEditDate="2010-12-02T06:23:25.600" LastActivityDate="2010-12-02T06:23:25.600" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="3451" PostTypeId="2" ParentId="3439" CreationDate="2010-12-02T05:04:04.327" Score="13" Body="&lt;p&gt;I think all the other answers are very good; I'll try to give a different perspective on the issue. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I don't know how well P models &quot;efficient&quot; computation in the real world, but we like the class because of its nice closure properties and other mathematical reasons. Similarly, L is also a nice class due to some of the aforementioned reasons.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, as you commented, if we relax our definition of &quot;efficient&quot; to quasi-polynomial time, then PolyL is also efficient. We could discuss complexity theory where we allow classes defined with a logarithmic bound on some resource to use polylog resources instead. Correspondingly, we would also relax our definitions of NC, NL, etc. to allow quasi-polynomial size circuits instead. If we do this, NC&lt;sub&gt;1&lt;/sub&gt;, L, NL and NC all coincide with the class PolyL. In this sense PolyL is a robust class since many natural classes coincide with it. For more information on complexity theory with log -&gt; polylog and polynomial -&gt; quasi-polynomial, see &#xA;&lt;a href=&quot;http://dx.doi.org/10.1109/SCT.1992.215383&quot;&gt;Quasipolynomial size circuit classes&lt;/a&gt; by Barrington.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another reason to study polyL or similar classes like quasi-AC&lt;sub&gt;0&lt;/sub&gt; is that while an oracle separation between (say) ParityP and PH implies that PARITY is not contained in AC&lt;sub&gt;0&lt;/sub&gt;, the reverse implication is not known to be true. On the other hand, PARITY is not contained in quasi-AC&lt;sub&gt;0&lt;/sub&gt; if and only if there is an oracle separation between ParityP and PH. Similarly, the classes quasi-TC&lt;sub&gt;0&lt;/sub&gt; and quasi-AC&lt;sub&gt;0&lt;/sub&gt; are different if and only if there is an oracle separation between CH and PH. So the usual complexity classes like PH, ModPH, CH, etc. when scaled down by an exponential to prove oracle results turn into quasi-polynomial versions of the usual classes AC&lt;sub&gt;0&lt;/sub&gt;, ACC&lt;sub&gt;0&lt;/sub&gt; and TC&lt;sub&gt;0&lt;/sub&gt; respectively. Similarly, the argument used in Toda's theorem (PH is contained in P&lt;sup&gt;PP&lt;/sup&gt;) can be used to show that quasi-AC&lt;sub&gt;0&lt;/sub&gt; is contained in depth-3 quasi-TC&lt;sub&gt;0&lt;/sub&gt;. (I don't know if the same conclusion is known for the usual versions of these classes. I have seen this listed as an open problem in some papers.)&lt;/p&gt;&#xA;" OwnerUserId="206" LastActivityDate="2010-12-02T05:04:04.327" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3452" PostTypeId="1" AcceptedAnswerId="3456" CreationDate="2010-12-02T05:40:31.537" Score="13" ViewCount="469" Body="&lt;p&gt;Many complexity classes defined with Turing machines have definitions in terms of uniform circuits. For example, P can also be defined using uniform polynomial size circuits, and similarly BPP, NP, BQP, etc. can be defined with uniform circuits.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;So is there a circuit-based definition of L?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;An obvious idea would be to allow polynomial size circuits with some depth limitation, but this turn out to define the NC hierarchy.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I was thinking about this question a long time ago, but didn't find an answer. If I remember correctly, my motivation was to understand what the quantum analog of L would look like.&lt;/p&gt;&#xA;" OwnerUserId="206" LastActivityDate="2010-12-02T09:40:50.983" Title="Does L have a definition in terms of circuits?" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;circuit-complexity&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="3453" PostTypeId="2" ParentId="3445" CreationDate="2010-12-02T07:21:57.857" Score="7" Body="&lt;p&gt;The labelled perfect matching problem, which consists in finding a perfect matching in an edge-coloured graph that uses the minimum number of colours, is not in APX for subcubic bipartite graphs (but it is $2$-approximable if the maximum degree is $2$ instead of $3$). See &lt;a href=&quot;http://www.lamsade.dauphine.fr/~monnot/index_fichiers/Rairo_HardLM.pdf&quot;&gt;Monnot&lt;/a&gt; for details.&lt;/p&gt;&#xA;" OwnerUserId="775" LastActivityDate="2010-12-02T07:21:57.857" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="3454" PostTypeId="2" ParentId="3445" CreationDate="2010-12-02T07:38:30.293" Score="4" Body="&lt;p&gt;There are problems like &lt;strong&gt;common subtree problem&lt;/strong&gt; remains NP-complete/hard and inapproximable within constant factors (in the case of common subtree problem, it is &lt;a href=&quot;http://www.nada.kth.se/~viggo/wwwcompendium/node168.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;inapproximable&lt;/a&gt; within $n^{1/4-\epsilon}$ for any $\epsilon&amp;gt;0$) even on trees, see &lt;a href=&quot;https://cstheory.stackexchange.com/questions/1215/np-hard-problems-on-trees&quot;&gt;the post&lt;/a&gt; by Shiva Kintali.&lt;/p&gt;&#xA;" OwnerUserId="1800" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2010-12-02T07:47:47.497" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3456" PostTypeId="2" ParentId="3452" CreationDate="2010-12-02T08:50:24.903" Score="13" Body="&lt;p&gt;Well, $L = SC^1$, where $SC^1$ is the class of languages computed by polynomial size circuits of $O(\log n)$ width.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As for $NL$, it could be characterized as the class languages computed by polynomial size &lt;em&gt;skew&lt;/em&gt; circuits (which in some sense is just another way of saying nondeterministic branching programs).&lt;/p&gt;&#xA;" OwnerUserId="313" LastEditorUserId="313" LastEditDate="2010-12-02T08:57:03.367" LastActivityDate="2010-12-02T08:57:03.367" CommentCount="6" ContentLicense="CC BY-SA 2.5" />
  <row Id="3457" PostTypeId="2" ParentId="3452" CreationDate="2010-12-02T09:40:50.983" Score="12" Body="&lt;p&gt;Check out this paper of &#xA;&lt;a href=&quot;http://www.iro.umontreal.ca/~mckenzie/mcrevi99.ps&quot;&gt;McKenzie, Reinhardt, Vinay&lt;/a&gt;. We use multiplex-select gates to characterize classes between $NC^1$ and $LOGCFL$, including $L$, $LOGDCFL$ etc. For example, $L = MWidth, Size(log,poly).$&#xD;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$NL$ has a natural circuit based characterization using Skew Circuits. This is just a circuit representation of the branching program that represents $NL$. Skew circuits are due to Venkateswaran.&lt;/p&gt;&#xA;" OwnerUserId="1449" LastActivityDate="2010-12-02T09:40:50.983" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3458" PostTypeId="1" CreationDate="2010-12-02T10:37:10.793" Score="8" ViewCount="1511" Body="&lt;p&gt;The following &lt;a href=&quot;http://www.longnow.org/essays/richard-feynman-connection-machine/&quot; rel=&quot;noreferrer&quot;&gt;quote&lt;/a&gt; describes an algorithm invented by Feynman to compute the logarithm of a fractional number (presumably a dyadic one).&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Consider the problem of finding the logarithm of a fractional number between 1.0 and 2.0 (the algorithm can be generalized without too much difficulty). Feynman observed that any such number can be uniquely represented as a product of numbers of the form (1 + 2^{-k}), where k is an integer. Testing each of these factors in a binary number representation is simply a matter of a shift and a subtraction.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Unfortunately, there are many numbers that cannot be represented as advertised above, for example 7/4, 11/8.&#xA;There must be something wrong with the quote.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What was the algorithm proposed by Feynman ?&lt;/p&gt;&#xA;" OwnerDisplayName="caroline" LastActivityDate="2010-12-03T09:52:31.497" Title="Feynman and the logarithm" Tags="&lt;ds.algorithms&gt;" AnswerCount="2" CommentCount="3" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="3462" PostTypeId="1" CreationDate="2010-12-02T12:53:51.520" Score="15" ViewCount="764" Body="&lt;p&gt;Let $x$ and $y$ two binary numbers with $n$ bits and $z = x \cdot y\ $ the binary number (length $2n$) of the product of $x$ and $y$. We want to compute the most siginifcant bit $z_{2n-1}$ of the product $z = z_{2n-1} \ldots z_0$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In order to analyse the complexity of this function in the model of binary decision diagrams (in particular read-once branching programs) I try to look for some equivalent expressions for the case $z_{2n-1} = 1$. The first obvious thing is $z_{2n-1} = 1 \Leftrightarrow x \cdot y \geq 2^{2n-1}$ (here $x$ and $y$ are the corresponding integers to the binary numbers). I want to get an intuition what happens if I set some input bits constant. E.g. if I set the most significant input bit from $x$ and $y$ to 0 I get the constant 0 function. But bits with lower significance haven't such an influence on the result.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there any other equivalent expressions for the case $z_{2n-1} = 1$ which help more to see what happens if I fix some input bits? Are there any refined methods to compute the product of two binary numbers which can help? Or do you have some other approach to this problem?&lt;/p&gt;&#xA;" OwnerUserId="2517" LastActivityDate="2011-10-28T09:31:41.320" Title="Most significant bit of integer multiplication and binary decision diagrams" Tags="&lt;cc.complexity-theory&gt;&lt;binary-decision-diagrams&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="3463" PostTypeId="2" ParentId="3253" CreationDate="2010-12-02T14:05:29.413" Score="23" Body="&lt;h2&gt;Combinatorics&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Introductory books.&lt;/strong&gt; Any of the following books can serve as an excellent introduction to the subject:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/158488780X&quot;&gt;Handbook of Discrete and Combinatorial Mathematics&lt;/a&gt; by Rosen.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0201726343&quot;&gt;Discrete and Combinatorial Mathematics: An Applied Introduction&lt;/a&gt; by Grimaldi. See also the &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0321200330&quot;&gt;solution manual&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/9810249012&quot;&gt;A Walk Through Combinatorics and Introduction To Enumerative Combinatorics&lt;/a&gt; and &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/007312561X&quot;&gt;Introduction To Enumerative Combinatorics&lt;/a&gt; by Bona. The first book is more comprehensive as well as classical. The second book has considerable overlap with the first, but the emphasis is a lot more on modern counting methods.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0521006015&quot;&gt;A Course in Combinatorics&lt;/a&gt; by van Lint &amp;amp; Wilson.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0521451337&quot;&gt;Combinatorics: Topics, Techniques, Algorithms&lt;/a&gt; by Cameron. (This book has a lot of nice exercises.)&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/044481504X&quot;&gt;Combinatorial Problems and Exercises by László Lovász&lt;/a&gt; (answered by @Sazzad)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;More advanced texts.&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Enumerative Combinatorics, &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0521663512&quot;&gt;Volume 1&lt;/a&gt; &amp;amp; &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0521789877&quot;&gt;Volume 2&lt;/a&gt; by Stanley. It's simply a masterpiece on enumerative combinatorics; very challenging, very deep.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/084933988X&quot;&gt;Combinatorial Algorithms: Generation, Enumeration, and Search&lt;/a&gt; by Kreher &amp;amp; Stinson. More suited to computer science applications of combinatorics.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0521136563&quot;&gt;Additive Combinatorics&lt;/a&gt; by Terence Tao and Van H. Vu. A very useful reference when facing a combinatorial problem related to number theory. &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="873" LastEditorUserId="6190" LastEditDate="2013-01-04T16:34:48.863" LastActivityDate="2013-01-04T16:34:48.863" CommentCount="0" CommunityOwnedDate="2010-12-02T14:05:29.413" ContentLicense="CC BY-SA 3.0" />
  <row Id="3464" PostTypeId="2" ParentId="3253" CreationDate="2010-12-02T14:09:30.267" Score="5" Body="&lt;h2&gt;Coloring Problems&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;The best book on the subject is &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0387746404&quot; rel=&quot;nofollow&quot;&gt;The Mathematical Coloring Book: Mathematics of Coloring and the Colorful Life of its Creators&lt;/a&gt; by Soifer &lt;em&gt;et al.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is also another book &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0471028657&quot; rel=&quot;nofollow&quot;&gt;Graph Coloring Problems&lt;/a&gt;, by Tommy R. Jensen and Bjarne Toft.&lt;/p&gt;&#xA;" OwnerUserId="873" LastEditorUserId="873" LastEditDate="2011-01-31T20:47:14.630" LastActivityDate="2011-01-31T20:47:14.630" CommentCount="1" CommunityOwnedDate="2010-12-02T14:09:30.267" ContentLicense="CC BY-SA 2.5" />
  <row Id="3465" PostTypeId="1" CreationDate="2010-12-02T14:14:46.467" Score="12" ViewCount="1732" Body="&lt;p&gt;Let G be a connected graph.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What is the complexity of counting all &lt;em&gt;connected subgraphs&lt;/em&gt; if G is of the following types?&lt;/p&gt;&#xA;  &#xA;  &lt;ul&gt;&#xA;  &lt;li&gt;G is general.&lt;/li&gt;&#xA;  &lt;li&gt;G is planar.&lt;/li&gt;&#xA;  &lt;li&gt;G is bipartite.&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I don't care about any structures or ..., just need to count all the connected subgraphs!&#xA;I'm also interested in the complexity of counting all connected subgraphs &lt;em&gt;with exactly k nodes&lt;/em&gt; in G.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Pointers to papers and books are also welcomed!&lt;/p&gt;&#xA;" OwnerUserId="2335" LastEditorUserId="1800" LastEditDate="2011-02-20T07:31:10.257" LastActivityDate="2011-02-20T22:40:54.037" Title="Complexity of counting all connected subgraphs" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;&lt;counting-complexity&gt;" AnswerCount="2" CommentCount="5" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3466" PostTypeId="2" ParentId="3253" CreationDate="2010-12-02T14:17:01.917" Score="24" Body="&lt;h2&gt;Approximation Algorithms&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;The book &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/3642084699&quot;&gt;Approximation Algorithms&lt;/a&gt; by Vazirani is the best book on the subject. Another book is &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0534949681&quot;&gt;Approximation Algorithms for NP-Hard Problems&lt;/a&gt; by Hochbaum.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here are comparisons by two reviewers:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;I have been using Dorit Hochbaum's book on approximation algorithms for NP-Hard problems as a guideline for my work. Hochbaum's book is, without a doubt, terrific. However, the survey format compromised a smooth flow in favor of bringing together the best people in the field. Vazirani's book corrects this by being so smooth and elegant from start to finish. Excellent problem sets, excellent hints for most problems, and there is a section at the end of the book devoted to open problems, which is a really cool feature.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;and&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;I have been looking for books related to solving NP-complete and NP-hard problems approximately. There is another book by Hochbaum and I have that too. Unfortunately, that book is more of a research oriented book as it is written by several researchers. It's like reading several research papers within two hard covers. This means that one needs to have a sort of intermediate level of experience with approximation algorithms.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;A recent book is &lt;a href=&quot;http://www.designofapproxalgs.com/&quot;&gt;The design of approximation algorithms&lt;/a&gt; by Williamson and Shmoys.&lt;/p&gt;&#xA;" OwnerUserId="873" LastEditorUserId="2150" LastEditDate="2010-12-03T01:50:22.533" LastActivityDate="2010-12-03T01:50:22.533" CommentCount="0" CommunityOwnedDate="2010-12-02T14:17:01.917" ContentLicense="CC BY-SA 2.5" />
  <row Id="3467" PostTypeId="2" ParentId="3458" CreationDate="2010-12-02T14:24:04.707" Score="0" Body="&lt;p&gt;EDIT:  This answer does not in fact seem to reflect the OPs intentions.  I moved to delete it, but then read this, &lt;a href=&quot;https://cstheory.meta.stackexchange.com/questions/386/policy-on-deleting-incorrect-answers&quot;&gt;Policy on deleting incorrect answers?&lt;/a&gt; and decided to bring it back with this notice.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The algorithm below is &lt;em&gt;a&lt;/em&gt; correct method for computing the logarithm but in my haste I did not follow through and confirm for myself that it reflected the original request.  Tsuyoshi did and noted this issue.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The algorithm is described in detail here:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://wiki.tcl.tk/15228&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://wiki.tcl.tk/15228&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The tcl implementation listed on the above page is copied below,&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;&#xA;proc logarithm {x} {&#xA;    set eps 1e-[set ::tcl_precision]&#xA;    if {$x&amp;amp;lt;=-1} {error &quot;logarithm requires a positive argument&quot;}&#xA;set log $x&#xA;    set pow [expr {-$x*$x}]&#xA;    set i 2&#xA;    set add [expr {$pow/$i}]&#xA;    while {abs($add)&amp;amp;gt;$eps*abs($log)} {&#xA;    set log [expr {$log+$add}]&#xA;    incr i&#xA;    set pow [expr {-$pow*$x}]&#xA;    set add [expr {$pow/$i}]&#xA;}&#xA;incr i -2&#xA;#puts &quot;$i iterations&quot;&#xA;    return $log&#xA;}&#xA;&#xA;proc log {x} {&#xA;    set doubles 0&#xA;    if {$x&amp;amp;lt;=0} {error &quot;logarithm requires a positive argument&quot;}&#xA;if {$x&amp;amp;lt;1} {&#xA;    while {$x&amp;amp;lt;=0.5} {&#xA;        # iterate : x=x*2 until 1/2&amp;amp;lt;x&amp;amp;lt;1&#xA;        incr doubles -1&#xA;        set x [expr {$x*2}]&#xA;    }&#xA;} else  {&#xA;    while {$x&amp;amp;gt;=2} {&#xA;        # iterate : x=x/2 until 1&amp;amp;lt;x&amp;amp;lt;2&#xA;        incr doubles&#xA;        set x [expr {$x/2}]&#xA;    }&#xA;}&#xA;set x [expr {double($x-1)}]&#xA;global log2&#xA;#puts x=$x&#xA;    return [expr {[logarithm $x]+$doubles*$log2}]&#xA;}&#xA;&#xA;# compute log(2)&#xA;set log2 [expr {-[logarithm -0.2]*3-[logarithm [expr {-3./128.}]]}]&#xA;# for debugging purpose&#xA;proc close {x} {&#xA;    set eps 1e-[set ::tcl_precision]&#xA;    set my [log $x]&#xA;set system [expr {log($x)}]&#xA;if {abs($my-$system)&amp;amp;gt;$eps*abs($system)} {&#xA;    puts &quot;my log $x : $my&quot;&#xA;    puts &quot;system log($x) : $system&quot;&#xA;    error &quot;$x runs odd&quot;&#xA;}&#xA;return $my&#xA;}&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;" OwnerUserId="2256" LastEditorUserId="-1" LastEditDate="2017-03-16T15:45:13.547" LastActivityDate="2010-12-03T09:49:38.840" CommentCount="6" ContentLicense="CC BY-SA 2.5" />
  <row Id="3469" PostTypeId="2" ParentId="3458" CreationDate="2010-12-02T16:24:37.283" Score="6" Body="&lt;p&gt;You can multiply $r$ by $(1+2^{-k})$ by adding $r$ to $r$ shifted right by $k$ positions. To find the factors of a number $s$, you can start setting $r:=1$ and for $k=0,1,2,\ldots$, test if $r(1+2^{-k})\leq s$. If the test succeeds, set $r:=r(1+2^{-k})$. Along the way you can calculate $\log s$ by summing $\log 1+2^{-k}$ for every factor found.&lt;/p&gt;&#xA;" OwnerUserId="2150" LastEditorUserId="2150" LastEditDate="2010-12-03T09:52:31.497" LastActivityDate="2010-12-03T09:52:31.497" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="3471" PostTypeId="2" ParentId="1562" CreationDate="2010-12-02T18:01:02.687" Score="6" Body="&lt;p&gt;What most intrigues me is the ability to apply the theory of computer science to other disciplines, especially biology and cell biology.  If this notion intrigues you also, I'd suggest you take a look at the following: an essay by Jeannette Wing about the importance of &lt;a href=&quot;http://www.cs.cmu.edu/afs/cs/usr/wing/www/publications/Wing06.pdf&quot;&gt;Computational Thinking&lt;/a&gt;; and an NSF report about applying the &lt;a href=&quot;http://www.cs.caltech.edu/~schulman/Workshops/CS-Lens-2/report-comp-worldview.pdf&quot;&gt;Algorithmic Lens&lt;/a&gt; to other scientific disciplines.&lt;/p&gt;&#xA;" OwnerUserId="30" LastActivityDate="2010-12-02T18:01:02.687" CommentCount="0" CommunityOwnedDate="2010-12-02T18:01:02.687" ContentLicense="CC BY-SA 2.5" />
  <row Id="3472" PostTypeId="2" ParentId="3377" CreationDate="2010-12-02T18:48:30.710" Score="6" Body="&lt;p&gt;The standard method for showing inexpressibility results for FO(PFP) (and for FO(LFP), by the way) is by using the fact that FO(PFP) is embedded in the finite-variable infinitary logic $\mathrm{L}^\omega_{\infty\omega}$. Here $\mathrm{L}^\omega_{\infty\omega}$ is the finite-variable fragment of $\mathrm{L}_{\infty\omega}$, where the latter is the class of (infinitary) formulas build from the atoms by means of negations, finitary or infinitary disjunctions and conjunctions of the type $\bigvee_i \phi_i$ and $\bigwedge_i \phi_i$, and existential and universal quantification. The logic $\mathrm{L}^k_{\infty\omega}$ is the collection of all formulas in $\mathrm{L}_{\infty\omega}$ that involve at most $k$ variables (quantified or not), and $\mathrm{L}^\omega_{\infty\omega} = \bigcup_k \mathrm{L}^k_{\infty\omega}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is known that FO(PFP) $\subseteq \mathrm{L}^\omega_{\infty\omega}$ (see Theorem 7.4.2 in Ebbinghaus and Flum book &quot;Finite Model Theory&quot;). Thus, if you prove that something is not expressible in $\mathrm{L}^k_{\infty\omega}$ for any $k$, then you also prove that it is not expressible in FO(PFP).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, how does one prove inexpressibility results for $\mathrm{L}^k_{\infty\omega}$? By playing the $k$-pebble games. These are Ehrenfeucht-Fraissé-type of games where the number of rounds is unbounded but each player has at most $k$ pebbles that he can re-use (see Ebbinghaus and Flum book again for details).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;After all this background, now we can show that CNF-SAT is not expressible in $\mathrm{L}^k_{\infty\omega}$ for any $k$. For every fixed $k$, we need to find a satisfiable CNF formula $F_k$ and an unsatisfiable CNF formula $G_k$ such that $F_k \equiv^k_{\infty\omega} G_k$, where $A \equiv^k_{\infty\omega} B$ means that the Duplicator has a winning strategy for winning the $k$-pebble game on the structures $A$ and $B$ (here we need to fix some sensible way of encoding CNF formulas as finite structures: let's say we encode them as their bipartite incidence graph with elements representing clauses on one side, elements representing variables on the other, and 2 types of binary relations indicating which variables appear in which clauses and under what sign). I claim that an explicit choice of $F_k$ and $G_k$ is possible. But instead I will give you an indirect proof.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is trivial to see that $K_k \equiv^k_{\infty\omega} K_{k+1}$, where $K_a$ denotes the clique-graph on $a$ vertices. In particular EVENNESS is not definable in $\mathrm{L}^\omega_{\infty\omega}$. It is also known that CNF-SAT is NP-complete under first-order reductions (see Theorem 7.16 in Immerman's &quot;Descriptive Complexity&quot; book). Since trivially EVENNESS is in NP, this means that there is a first-order reduction from EVENNESS to CNF-SAT. Since first-order reductions (in pure first-order logic, without built-in linear-order or anything as it is the case in Theorem 7.16 from Immerman's book) preserve expressibility in $\mathrm{L}^\omega_{\infty\omega}$ backwards, the result follows: if CNF-SAT were expressible, EVENNESS would also be; a contradiction.&lt;/p&gt;&#xA;" OwnerUserId="1509" LastActivityDate="2010-12-02T18:48:30.710" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3473" PostTypeId="1" AcceptedAnswerId="3477" CreationDate="2010-12-02T19:12:37.823" Score="61" ViewCount="2580" Body="&lt;p&gt;I'm looking for examples of problems parametrized by a number $k \in \mathbb{N}$, where the problem's hardness is &lt;i&gt;non-monotonic&lt;/i&gt; in $k$. Most problems (in my experience) have a single phase transition, for example $k$-SAT has a single phase transition from $k \in \{1,2\}$ (where the problem is in P) to $k \ge 3$ (where the problem is NP-complete). I'm interested in problems where there are phase transitions &lt;i&gt;in both directions&lt;/i&gt; (from easy to hard and vice-versa) as $k$ increases.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is somewhat similar to the one asked at &lt;a href=&quot;https://cstheory.stackexchange.com/questions/2447/hardness-jumps-in-computational-complexity&quot;&gt;Hardness Jumps in Computational Complexity&lt;/a&gt;, and in fact some of the responses there are relevant to my question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Examples I am aware of:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;$k$-colorability of planar graphs: In P except when $k=3$, where it is NP-complete.&lt;/li&gt;&#xA;&lt;li&gt;Steiner tree with $k$ terminals: In P when $k=2$ (collapses to shortest $s$-$t$ path) and when $k=n$ (collapses to MST), but NP-hard &quot;in between&quot;. I don't know if these phase transitions are sharp (e.g., P for $k_0$ but NP-hard for $k_0+1$). Also the transitions of $k$ depend on the size of input instance, unlike my other examples.&lt;/li&gt;&#xA;&lt;li&gt;Counting satisfying assignments of a planar formula modulo $n$: In P when $n$ is a Mersenne &lt;strike&gt;prime&lt;/strike&gt; number $n=2^k-1$, and #P-complete for &lt;strike&gt;most(?)/&lt;/strike&gt;all other values of $n$ (from Aaron Sterling in &lt;a href=&quot;https://cstheory.stackexchange.com/questions/2447/hardness-jumps-in-computational-complexity&quot;&gt;this thread&lt;/a&gt;). Lots of phase transitions!&lt;/li&gt;&#xA;&lt;li&gt;Induced subgraph detection: The problem is not parametrized by an integer but a graph. There exist graphs $H_1 \subseteq H_2 \subseteq H_3$ (where $\subseteq$ denotes a certain kind of subgraph relation), for which determining whether $H_i \subseteq G$ for a given graph $G$ is in P for $i\in \{1,3\}$ but NP-complete for $i=2$. (from Hsien-Chih Chang in &lt;a href=&quot;https://cstheory.stackexchange.com/questions/2447/hardness-jumps-in-computational-complexity&quot;&gt;the same thread&lt;/a&gt;).&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="149" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.743" LastActivityDate="2019-07-20T19:45:41.953" Title="Parameterized complexity from P to NP-hard and back again" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;&lt;big-list&gt;&lt;phase-transition&gt;" AnswerCount="12" CommentCount="5" FavoriteCount="24" ContentLicense="CC BY-SA 3.0" />
  <row Id="3474" PostTypeId="1" AcceptedAnswerId="3610" CreationDate="2010-12-02T19:18:14.137" Score="4" ViewCount="312" Body="&lt;p&gt;Related to &lt;a href=&quot;https://cstheory.stackexchange.com/questions/2148/intermediate-coding-representation-for-levenshtein-distance&quot;&gt;this question&lt;/a&gt;, but asked in a different way.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the purposes of a text-based implementation of a &lt;a href=&quot;http://scholar.google.com/scholar?q=fuzzy+vault&quot; rel=&quot;nofollow noreferrer&quot;&gt;fuzzy vault&lt;/a&gt;, what metrics can we take on Sequences that are isolated such that the set of measured values is resilient to &quot;small changes&quot;?  More changes would mean more members of the set would be different.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Specifically, is there a hash function&#xA;  with these properties as described&#xA;  below?  Next best thing to a working&#xA;  algorithm would be clarifying&#xA;  discussion about why such a function&#xA;  should be feasible or why such a&#xA;  function cannot exist.&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;Below contains background, a&#xA;  description of such a hash function&#xA;  (not implemented), and an&#xA;  implementation of an algorithm that&#xA;  seems to have some, but not all of the&#xA;  desired properties.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Fuzzy Vaults in biometrics work because the included measurements of, say, the face are independent.  The width of two faces could match even if their heights don't.  If we could collect a set of independent measurements about a string, a &lt;em&gt;pass phrase&lt;/em&gt;, then we might implement a Fuzzy Vault that would allow similar phrases, within a tolerance, to reveal a secret.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;From my reading, Fuzzy Vaults work with intersecting sets of exactly matching values, not sets of similar values.  Typos in a pass phrase would be some combination of omitted characters, additional characters, and replaced characters.  If we could restrict the errors made to only replaced characters, each character's index could be used - the character value of each index would be components of the Fuzzy Key.  A single typo would only affect a single key component.  Unfortunately, because of inserted and deleted characters affect the offsets of the remainder of the sequence, single typos can dramatically affect the key components of later in the sequence.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Here's an attempt at formulating the&#xA;  challenge:&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;Define $f(s)$ as a hashing transform&#xA;  of any sequence $s$ into a set $K$ of&#xA;  values $k$.  For any two sequences&#xA;  $s1$ and $s2$, $s1 = s2 \Rightarrow f(s1) = f(s2)$, $s1 \ne s2 \simeq&amp;gt; f(s1) \ne f(s2)$.  &lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;A commutative $g(f(s_1), f(s_2))$&#xA;  gives $|K1 = f(s_1) \cap K2 = f(s_2)|$&#xA;  which decreases linearly with each&#xA;  difference in $s_1$ from $s_2$. &#xA;  Differences being additional,&#xA;  ommitted, or replaced elements. &#xA;  Additions and omissions should&#xA;  conceptually score a unit $u$ of&#xA;  difference.  A replaced element having a&#xA;  difference score of somewhere between&#xA;  $u$ and $2u$ probably $\sqrt2u$.&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;Length of $k$, $n$ is not specified&#xA;  and could be fixed or variable;&#xA;  however, a small $1/n$ is desirable.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I've come up with an algorithm, illustrated below, which attempts to measure a string not by character position, but by the counts of distinct characters before and after each index in the string.  Each collection of character counts is a &lt;code&gt;table&lt;/code&gt;.  (For single-byte encoded strings,) &lt;code&gt;tables&lt;/code&gt; are considered coordinate points in a 256-dimensional space - points between which distances can be calculated.  &lt;code&gt;atoms&lt;/code&gt; are pairs of these points - distances between which are the greater distance between their component pairs of points.  A string of length $n$ yields $n$ &lt;code&gt;atoms&lt;/code&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In this way, a string's representation is transformed from an ordered sequence of characters into an unordered set of &lt;code&gt;atoms&lt;/code&gt;.  The comparison of strings could be performed by mapping the &lt;code&gt;atoms&lt;/code&gt; of one string to the &lt;code&gt;atoms&lt;/code&gt; of another by minimum &lt;code&gt;atom&lt;/code&gt;-distance.  The worst remaining distance becomes the similarity score for the strings, lower scores (to 0) indicate a better match.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This algorithm may be known or it may be flawed.  Exact matches return 0.  The smallest typo gives 1.  Worse typos, casually, give higher values.  This algorithm's performance degrades exponentially with longer strings, but that would be acceptable for short sequences like pass phrases.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But worst of all, it won't work for a Fuzzy Vault because though the atoms are free of relative ordering, their values are still very much intertwined.  Single typos can affect all atoms (even if only minimally).  And Fuzzy Vault keys require measurements to be independent such that the number of mismatched values are proportional to the number of errors.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But what could work?  It seems odd to me that measurements of body parts and voice could all be used for this purpose, but not something simple like pass phrases!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To the extent that it is possible in biometrics (are width and height of a face really independent?), I assume it would be an important property of a solution that each metric should be independent of other metrics and not constrain the practical atom-set-space to within crackable limits.  The is, any combination of &quot;atoms&quot; must be equally likely and not constrained by biases in the pass-phrase language.&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;table : dict&amp;lt;char, int&amp;gt; // to store non-zero character counts&#xA;atom : (table, table) // a pair of tables per character in a string&#xA;&#xA;getAtom(s : string, i : index) : atom =&#xA;{&#xA;  before = s.take(i).groupBy(c =&amp;gt; c).select(g =&amp;gt; (g.key, g.count())); // ex (a 3, B 1, n 2);&#xA;  after = s.skip(i).groupBy(c =&amp;gt; c).select(g =&amp;gt; (g.key, g.count())); // ex (a 1, b 1, o 1, t 1);&#xA;&#xA;  return (before, after);&#xA;}&#xA;&#xA;atomDistance(a : atom, b : atom) : int =&#xA;{&#xA;  beforeCoefficients = a.before.keys.concat(b.before.keys).distinct();&#xA;  afterCoefficients = a.after.keys.concat(b.after.keys).distinct();&#xA;&#xA;  beforeDist = Sqrt(beforeCoefficients.sum(c =&amp;gt; (a.before[c] - b.before[c]) ^ 2));&#xA;  afterDist = Sqrt(afterCoefficients .sum(c =&amp;gt; (a.after[c] - b.after[c]) ^ 2));&#xA;&#xA;  return Max(beforeDist, afterDist );&#xA;}&#xA;&#xA;getAtoms(s : string) : set&amp;lt;atom&amp;gt;&#xA;{&#xA;  return [0 .. s.length()].select(i =&amp;gt; i.getAtom(s, i));&#xA;}&#xA;&#xA;compareSets(A : set&amp;lt;atom&amp;gt;, B : set&amp;lt;atom&amp;gt;)&#xA;{&#xA;  pairs = A.crossJoin(B).groupBy(ab =&amp;gt; ab.a);&#xA;  bestMatchDistances = pairs.select(p =&amp;gt; p.items.Min(m =&amp;gt; atomDistance(p.key, m)));&#xA;  return bestMatchDistances.Max();&#xA;}&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;compareSets would not be used in the fuzzy vault implementation, but I feel that it helps complete the example.  I know there are flaws in this algorithm's consistency, I'm not trying to discover them.&lt;/em&gt;&lt;/p&gt;&#xA;" OwnerUserId="509" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.743" LastActivityDate="2010-12-07T01:27:39.403" Title="Extracting Independent Information About Sequences" Tags="&lt;cr.crypto-security&gt;&lt;formal-modeling&gt;&lt;metrics&gt;" AnswerCount="1" CommentCount="17" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3475" PostTypeId="1" AcceptedAnswerId="3480" CreationDate="2010-12-02T19:29:59.910" Score="5" ViewCount="146" Body="&lt;p&gt;Is the following problem in P?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We are given a matroid M. Each element in M has a weight encoded using some unary notation.&#xA;We are also give an integer K also encoded in unary bits. &#xA;The question is whether there is a base of M that has weight EXACTLY K.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I know the exact spanning tree is in P. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks a lot.&lt;/p&gt;&#xA;" OwnerUserId="383" LastActivityDate="2010-12-02T23:38:39.300" Title="Exact version of matroid, given the input weight is in unary." Tags="&lt;ds.algorithms&gt;&lt;complexity-classes&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3476" PostTypeId="2" ParentId="3473" CreationDate="2010-12-02T19:30:25.310" Score="13" Body="&lt;p&gt;Is this is an example of the phenomenon you're looking for?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider the k-Clique problem, where k is the size of the clique we're searching for. So the problem is &quot;Is there a clique of size k in the graph G on n vertices?&quot; &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For all constants k, the problem is in P. (The brute force algorithm runs in time $O(n^k)$.) For large values of k, for example values like n/2, it is NP-complete. When k gets very close to n, like n-c for some constant c, the problem is in P again because we can search over all subsets of n vertices of size n-c and check if any of them forms a clique. (There are only $O(n^c)$ such subsets, which is polynomially large when c is a constant.)&lt;/p&gt;&#xA;" OwnerUserId="206" LastActivityDate="2010-12-02T19:30:25.310" CommentCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="3477" PostTypeId="2" ParentId="3473" CreationDate="2010-12-02T20:39:29.733" Score="25" Body="&lt;p&gt;One field with lots of non-monotonicity of problem complexity is property testing. Let $\mathcal{G}_n$ be the set of all $n$-vertex graphs, and call $P \subseteq \mathcal{G}_n$ a graph property. A generic problem is to determine whether a graph $G$ has property $P$ (i.e. $G \in P$) or is `far' from having property $P$ in some sense. Depending on what $P$ is, and what kind of query access you have to the graph, the problem can be quite difficult.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But it is easy to see that the problem is non-monotone, in that if we have $S \subset P \subset T$, the fact that $P$ is easily testable does not imply either that $S$ is easily testable or that $T$ is.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;To see this, it is enough to observe that $P = \mathcal{G}_n$ and $P = \emptyset$ are both trivially testable, but that for some properties, there exist strong lower bounds.&lt;/p&gt;&#xA;" OwnerUserId="25" LastActivityDate="2010-12-02T20:39:29.733" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3478" PostTypeId="2" ParentId="1562" CreationDate="2010-12-02T21:06:29.643" Score="12" Body="&lt;p&gt;One of the main reasons why I find the theory of computation (“my” branch of theoretical computer science) fascinating and worth studying is the following one: it provides us with a way to investigate some deep (and sometimes puzzling) philosophical questions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One of the founders of the theory of computation, Alan Turing, tried to pin down the meaning of “computing a function” for a human being equipped with a piece of paper, by giving a mathematical description of the process. I’m not the only one to think he was extremely successful, and Turing machines proved to be an accurate model of many other computing processes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now that we possess a class of mathematical objects describing computations, we can actually prove theorems about them, thus trying to uncover what can be computed, and how it can be computed; it immediately turned out that lots of perfectly legitimate functions cannot be computed at all, and that they can be classified according to a degree of uncomputability (some functions are just “more uncomputable” than others).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some other guys, the first ones usually identified with Juris Hartmanis and Richard E. Stearns, tried to describe mathematically what it means for a function (resp., a problem) to be &lt;em&gt;hard&lt;/em&gt; or &lt;em&gt;easy&lt;/em&gt; to compute (resp., to solve). There are several &lt;em&gt;complexity measures&lt;/em&gt; according to which the hardness of problems can be described; the most common one is just how much time we need to solve them. Alan Cobham and Jack Edmonds were quite successful in identifying a reasonable notion of “efficient computation”.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Within the computational complexity framework, we can now &lt;em&gt;prove&lt;/em&gt; some results that are consistent with our intuitive notion of computation. My favourite example is the time hierarchy theorem: if we are given more time to compute, we can solve harder problems.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The central open problem of complexity theory, &lt;strong&gt;P&lt;/strong&gt; vs &lt;strong&gt;NP&lt;/strong&gt;, is just a formalisation of another philosophically significant question: is it really harder to solve a problem than to check if an alleged solution of it is indeed correct? I believe this question is worth asking, and answering, independently of its practical significance.&lt;/p&gt;&#xA;" OwnerUserId="182" LastActivityDate="2010-12-02T21:06:29.643" CommentCount="1" CommunityOwnedDate="2010-12-02T21:06:29.643" ContentLicense="CC BY-SA 2.5" />
  <row Id="3479" PostTypeId="2" ParentId="3401" CreationDate="2010-12-02T21:39:12.937" Score="10" Body="&lt;p&gt;To demonstrate Mark's answer, consider the following proof &lt;code&gt;t&lt;/code&gt; of your statement, written in Coq. In the proof we assume that a parameter &lt;code&gt;k&lt;/code&gt; of type &lt;code&gt;nat&lt;/code&gt; is given. We use &lt;code&gt;k&lt;/code&gt; as the value of &lt;code&gt;y&lt;/code&gt; in case &lt;code&gt;x = 0&lt;/code&gt;:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;Parameter k : nat.&#xA;&#xA;Theorem t : forall x : nat, { y : nat | x &amp;lt;&amp;gt; 0 -&amp;gt; x = S y}.&#xA;Proof.&#xA;  induction x.&#xA;  exists k; tauto.&#xA;  induction x.&#xA;  exists 0; auto.&#xA;  destruct IHx as [z G].&#xA;  exists (S z).&#xA;  intro H.&#xA;  elim G; auto.&#xA;Defined.&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;We can prove that &lt;code&gt;t 0&lt;/code&gt; is equal to &lt;code&gt;k&lt;/code&gt;:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;Theorem A: projT1 (t 0) = k.&#xA;Proof.&#xA;  auto.&#xA;Qed.&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;The &lt;code&gt;protT1&lt;/code&gt; is there because &lt;code&gt;t 0&lt;/code&gt; is not just a natural number, but actually a natural number &lt;em&gt;with&lt;/em&gt; a proof that &lt;code&gt;0 &amp;lt;&amp;gt; 0 -&amp;gt; 0 = S y&lt;/code&gt; and &lt;code&gt;projT1&lt;/code&gt; throws away the proof.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The extracted Ocaml code for &lt;code&gt;t&lt;/code&gt;, obtained with the command &lt;code&gt;Extraction k&lt;/code&gt; is&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;(** val t : nat -&amp;gt; nat **)&#xA;&#xA;let rec t = function&#xA;  | O -&amp;gt; k&#xA;  | S n0 -&amp;gt; (match n0 with&#xA;              | O -&amp;gt; O&#xA;              | S n1 -&amp;gt; S (t n0))&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Again we can see &lt;code&gt;t 0&lt;/code&gt; is equal to &lt;code&gt;k&lt;/code&gt;, which was an aribtrarily assumed parameter.&lt;/p&gt;&#xA;" OwnerUserId="705" LastActivityDate="2010-12-02T21:39:12.937" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3480" PostTypeId="2" ParentId="3475" CreationDate="2010-12-02T23:30:27.530" Score="7" Body="&lt;p&gt;This problem appears to be considered in &quot;Random pseudo-polynomial algorithms for exact matroid problems&quot;, P. M. Camerini, G. Galbiati and F. Maffioli, Journal of Algorithms&#xA;Volume 13, Issue 2, June 1992, Pages 258-273.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;They give a randomized polynomial time for the problem, but they seem to be assuming that the input matroid is representable over the reals, rather than allowing arbitrary matroids. They also state that it is unknown whether it is solvable in P.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, if all elements of M have weight 0 or 1, then it is easy to solve as a matroid intersection problem.&lt;/p&gt;&#xA;" OwnerUserId="95" LastEditorUserId="95" LastEditDate="2010-12-02T23:38:39.300" LastActivityDate="2010-12-02T23:38:39.300" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3481" PostTypeId="2" ParentId="3473" CreationDate="2010-12-02T23:47:08.927" Score="17" Body="&lt;p&gt;One of such problems is edge coloring of planar graphs where the parameter is $\Delta$ - maximal degree of a graph. When $\Delta=2$ or $\Delta\geqslant 7$ there are known polynomial exact algorithms for it (&lt;a href=&quot;http://dx.doi.org/10.1007/s00453-007-9044-3&quot; rel=&quot;nofollow noreferrer&quot;&gt;see here&lt;/a&gt;), whereas for $3\leqslant\Delta\leqslant 6$ such algorithms are not known and there are no NP-hardness proofs for these cases.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The related question is discussed &lt;a href=&quot;https://cstheory.stackexchange.com/questions/2578/complexity-of-edge-coloring-in-planar-graphs&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="1060" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2010-12-03T00:14:20.130" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3484" PostTypeId="1" CreationDate="2010-12-03T01:41:57.897" Score="1" ViewCount="249" Body="&lt;p&gt;Are there any programming languages where the system parallelizes the program without any noticeable differences for the programmer? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;That is, the programmer writes a linear, deterministic program, without any additional tags or meta-data, and the underlying system parallelizes all of the work.&lt;/p&gt;&#xA;" OwnerUserId="2381" LastEditorUserId="186" LastEditDate="2010-12-03T14:20:41.780" LastActivityDate="2010-12-03T14:20:41.780" Title="Parallel programming languages which look deterministic?" Tags="&lt;pl.programming-languages&gt;&lt;dc.parallel-comp&gt;" AnswerCount="1" CommentCount="1" ClosedDate="2010-12-03T06:10:27.810" ContentLicense="CC BY-SA 2.5" />
  <row Id="3485" PostTypeId="2" ParentId="3484" CreationDate="2010-12-03T01:53:14.060" Score="2" Body="&lt;p&gt;I'm not sure about the &quot;without any additional tags or meta-data&quot; part, but I know that recent versions of Matlab make it pretty easy to parallelize your code by simply adding the &quot;par&quot; keyword to your for loops (see the &lt;a href=&quot;http://www.mathworks.com/help/toolbox/distcomp/parfor.html&quot; rel=&quot;nofollow&quot;&gt;Matlab help&lt;/a&gt; for more info).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is as close to having no &quot;noticeable differences for the programmer&quot; that I'm aware of. &lt;/p&gt;&#xA;" OwnerUserId="2532" LastActivityDate="2010-12-03T01:53:14.060" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3486" PostTypeId="1" CreationDate="2010-12-03T03:41:29.667" Score="6" ViewCount="211" Body="&lt;p&gt;Suppose I want to find vertex subset $S$ of graph $G=(V,E)$ such that any simple closed walk that visits vertices both in $S$ and in $V\backslash S$ has length $\ge g$&#xD;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The idea is to relax requirements of tree decomposition to get bag-graph of large girth instead of a tree, and form an approximation algorithm based on this decomposition.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does this come up in any literature?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;b&gt;Clarification&lt;/b&gt;&#xA;Bags in the &lt;a href=&quot;http://en.wikipedia.org/wiki/Tree_decomposition&quot; rel=&quot;nofollow&quot;&gt;context of&lt;/a&gt; tree decomposition are sets of nodes. Taking bags produced by tree decomposition algorithm and connecting any pair of bags that are not disjoint gives a tree.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This trade-off idea is briefly mentioned in Koller's &quot;Graphical Models&quot; book where she calls it &quot;Cluster Graph&quot; and defines it similar to a tree decomposition except that the graph formed by connecting overlapping bags is not restricted to be a tree. In the context of probabilistic inference, this approach gives a way to trade off cost and accuracy, with exact tree decomposition-based approach as a special case.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since quality of approximation improves with girth of such graph while complexity increases with size of bags/clusters, a natural question is when it's possible to find a &quot;(relaxed?) tree decomposition&quot; where largest bag size is bounded above and girth is bounded below&lt;/p&gt;&#xA;" OwnerUserId="434" LastEditorUserId="186" LastEditDate="2010-12-05T15:09:04.367" LastActivityDate="2010-12-05T15:09:04.367" Title="Decomposition based on approximate separators in graph" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;treewidth&gt;" AnswerCount="0" CommentCount="7" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3487" PostTypeId="2" ParentId="3473" CreationDate="2010-12-03T04:52:58.797" Score="12" Body="&lt;p&gt;Here's an example that might be of the type you're looking for. The parameter is not an integer though, it's a pair of numbers. (Although one of them can be fixed to make it a one parameter problem.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem is to evaluate the Tutte polynomial of a graph G at coordinates (x,y). We can restrict the coordinates to be integers. The problem is in P if (x,y) is one of the points (1, 1), (-1,-1), (0,-1), (-1,0), or satisfies (x-1)(y-1)=1. Otherwise it is #P-hard. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I got this from &lt;a href=&quot;http://en.wikipedia.org/wiki/Tutte_polynomial&quot;&gt;Wikipedia's article on the Tutte polynomial&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="206" LastActivityDate="2010-12-03T04:52:58.797" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3490" PostTypeId="2" ParentId="2074" CreationDate="2010-12-03T07:40:37.673" Score="10" Body="&lt;p&gt;Statistical physics has given computer scientists a novel way of looking at SAT, as overviewed &lt;a href=&quot;http://www.cs.cornell.edu/gomes/gomes-selman-science.pdf&quot;&gt;here&lt;/a&gt;. The idea is that as the ratio of clauses to variables involved in a 3-SAT formula increases from around 4 to around 5 we go from being able to solve the vast majority of 3-SAT instances to being able to solve very few. This transition is regarded as a &quot;phase change&quot; in SAT.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This idea gained particular notoriety this past summer from Deolalikar's alleged P vs. NP paper.&lt;/p&gt;&#xA;" OwnerUserId="969" LastActivityDate="2010-12-03T07:40:37.673" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3491" PostTypeId="2" ParentId="2074" CreationDate="2010-12-03T10:04:50.380" Score="9" Body="&lt;p&gt;Early distributed systems theory, especially papers by Leslie Lamport et al., has had some impact from Special Relativity to get the correct picture w.r.t. to (fault-tolerant) agreement on a global system state. See entry 27. (&lt;em&gt;Time, Clocks and the Ordering of Events in a Distributed System&lt;/em&gt;, Communications of the ACM 21, 7   (July 1978), 558-565) in the &lt;a href=&quot;http://research.microsoft.com/en-us/um/people/lamport/pubs/pubs.html&quot; rel=&quot;nofollow&quot;&gt;Writings of Leslie Lamport&lt;/a&gt;, where Lamport gives the following background information on his paper:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;The origin of this paper was a note&#xA;  titled The Maintenance of Duplicate&#xA;  Databases by Paul Johnson and Bob&#xA;  Thomas.  I believe their note&#xA;  introduced the idea of using message&#xA;  timestamps in a distributed algorithm.&#xA;  I happen to have a solid, visceral&#xA;  understanding of special relativity&#xA;  (see [5]).  This enabled me to grasp&#xA;  immediately the essence of what they&#xA;  were trying to do.  Special relativity&#xA;  teaches us that there is no invariant&#xA;  total ordering of events in&#xA;  space-time; different observers can&#xA;  disagree about which of two events&#xA;  happened first.  There is only a&#xA;  partial order in which an event e1&#xA;  precedes an event e2 iff e1 can&#xA;  causally affect e2.  I realized that&#xA;  the essence of Johnson and Thomas's&#xA;  algorithm was the use of timestamps to&#xA;  provide a total ordering of events&#xA;  that was consistent with the causal&#xA;  order.  This realization may have been&#xA;  brilliant.  Having realized it,&#xA;  everything else was trivial.  Because&#xA;  Thomas and Johnson didn't understand&#xA;  exactly what they were doing, they&#xA;  didn't get the algorithm quite right;&#xA;  their algorithm permitted anomalous&#xA;  behavior that essentially violated&#xA;  causality.  I quickly wrote a short&#xA;  note pointing this out and correcting&#xA;  the algorithm.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="121" LastEditorUserId="121" LastEditDate="2011-05-25T07:26:54.560" LastActivityDate="2011-05-25T07:26:54.560" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="3492" PostTypeId="1" CreationDate="2010-12-03T10:07:32.967" Score="4" ViewCount="302" Body="&lt;p&gt;I would be interested in some References (books or articles) concerning an answer to the following question :&lt;/p&gt;&#xA;&#xA;&lt;p&gt;what is more difficult to calculate from the viewpoint of a computer : the &quot;sum&quot; or the &quot;maximum&quot; of a finite set of numbers ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My guess is that &quot;sum&quot; and &quot;maximum&quot; are of the same level of difficulty, but I would like very much to know References concerning this question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thank you in advance.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;George&lt;/p&gt;&#xA;" OwnerDisplayName="george" LastEditorUserId="186" LastEditDate="2010-12-03T14:03:54.720" LastActivityDate="2010-12-03T14:05:24.143" Title="sum versus maximum in computer science" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;" AnswerCount="3" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3493" PostTypeId="2" ParentId="3492" CreationDate="2010-12-03T11:11:23.887" Score="1" Body="&lt;p&gt;From pure algorithmic PoV in both cases there are N-1 addition operations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For a computer though MAX might be harder to perform as there is one additional branch - determining the index of the currently max number. In sum operation this is not needed as interim result is just reused on the next number. &lt;/p&gt;&#xA;" OwnerUserId="2540" LastActivityDate="2010-12-03T11:11:23.887" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="3494" PostTypeId="2" ParentId="3492" CreationDate="2010-12-03T12:57:37.927" Score="1" Body="&lt;p&gt;What machine model do you want to use? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;On RM, both are equally hard if you assume that $+$ and $&amp;lt;=$ are equally expensive (common assumption). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;On 1-TM, sum is slightly more expensive since we have to add all bits compared to comparing only the the most signifikant bits (up to the first difference).&lt;/p&gt;&#xA;" OwnerUserId="1546" LastActivityDate="2010-12-03T12:57:37.927" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3495" PostTypeId="2" ParentId="3443" CreationDate="2010-12-03T13:30:00.627" Score="7" Body="&lt;p&gt;I think &lt;a href=&quot;https://mathoverflow.net/questions/35236/is-there-a-syntactic-characterization-for-bpp-bqp-or-qma/35300#35300&quot;&gt;Robins's answer&lt;/a&gt; to &lt;a href=&quot;https://mathoverflow.net/questions/35236/is-there-a-syntactic-characterization-for-bpp-bqp-or-qma&quot;&gt;my question&lt;/a&gt; on MO also answers this one.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A &lt;a href=&quot;http://en.wikipedia.org/wiki/Descriptive_complexity_theory&quot; rel=&quot;nofollow noreferrer&quot;&gt;descriptive complexity&lt;/a&gt; characterization of a complexity class $C$ gives a language whose queries (i.e. formulas) are exactly the functions computable in $C$. The syntax of the language is usually very simple, i.e. given a string $q$ it is easy to check if $q$ is a well-formed query of the language, at least it is expected to be decidable (but usually syntax checking cen be done in a small complexity class). This would entail effective enumerablity of the problems in the class $C$ and would give a syntactic characterization for $C$. (If the complexity of syntax checking is low it might also imply the existence of a complete problem for the class.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the comments above, Robin linked to Kord Eickmeyer and Martin Grohe's paper &quot;&lt;a href=&quot;http://www2.informatik.hu-berlin.de/~grohe/pub/eicgro10.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Randomization and Derandomization in Descriptive Complexity Theory&lt;/a&gt;&quot; which gives a &quot;descriptive complexity&quot; characterization of $BPP$. The authors themselves note in the introduction that this is different from what is usually meant by a descriptive complexity characterization: &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;We prove that $BPIFP+C$, the probabilistic version of fixed-point logic with counting, captures the complexity class $BPP$, even on unordered structures. For ordered structures, this result is a direct consequence of the Immerman-Vardi Theorem [7, 8], and for arbitrary structures it follows from the observation that we can define a random order with high probability in BPIFP+C. &lt;em&gt;Still, the result is surprising at first sight because of its similarity with the open question of whether there is a logic capturing $P$, and because it is believed that $P = BPP$.&lt;/em&gt; &lt;strong&gt;The caveat is that the logic $BPIFP+C$ does not have an effective syntax and thus is not a “logic” according to Gurevich’s [9] definition&#xA;  underlying the question for a logic that captures $P$.&lt;/strong&gt; Nevertheless, we believe that $BPIFP+C$ gives a completely adequate description of the complexity class $BPP$, because the definition of $BPP$ is inherently ineffective as well (as opposed to the definition of $P$ in terms of the decidable set of polynomially clocked Turing machines).&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I am not an expert in finite model theory/descriptive complexity (and personally would like to hear more from experts), but my feeling is that there is a little bit cheating here in saying that this is a descriptive complexity characterization. The reason for my feeling is that if we are allowed to have non-effective syntax, we can use arbitrary semantical restrictions to restrict the class of well-formed queries and can give a &quot;descriptive complexity&quot; characterization for any complexity class. For example, consider $SO(TC)$ (which captures $PSpace$), and then take exactly those queries which are computable in $BQP$; or consider the language that has one function symbol for each machine in $BQP$. Both of these capture $BQP$ but don't have an effective syntax.&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2010-12-03T13:38:18.633" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3496" PostTypeId="1" AcceptedAnswerId="3502" CreationDate="2010-12-03T13:58:08.413" Score="28" ViewCount="1581" Body="&lt;p&gt;Consider a nondeterministic finite automata $A = (Q, \Sigma, \delta, q_0, F)$, and a function $f(n)$. Additionally we define $\Sigma^{\leq k} = \bigcup_{i \leq k} \Sigma^i$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now lets analyze the following statement:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;If $\Sigma^{\leq f(|Q|)} \subseteq L(A)$, then $L(A) = \Sigma^*$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;It is easy to show, that for $f(n) = 2^n+1$ it is true, hence if the automata produces every word with length upto $2^{|Q|}+1$, then it produces $\Sigma^*$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But does it still hold if $f$ is a polynom?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If not, what could a construction of a NFA $A$ for a given polynom $p$ look like, s.t. $\Sigma^{\leq p(|Q|)} \subseteq L(A) \subsetneq \Sigma^*$?&lt;/p&gt;&#xA;" OwnerUserId="936" LastEditorUserId="567" LastEditDate="2010-12-03T17:00:42.407" LastActivityDate="2010-12-09T04:38:30.150" Title="Conditions for NFA universality" Tags="&lt;automata-theory&gt;&lt;fl.formal-languages&gt;&lt;nondeterminism&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="8" ContentLicense="CC BY-SA 2.5" />
  <row Id="3497" PostTypeId="2" ParentId="3492" CreationDate="2010-12-03T13:58:22.010" Score="12" Body="&lt;p&gt;The sum of finitely many binary numbers can be computed in $TC^0$ and is in fact complete for $TC^0$ under $AC^0$ reductions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The maximum of finitely many binary numbers can be computed in $AC^0$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So from the circuit-complexity perspective, sum is more difficult.&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2010-12-03T14:05:24.143" LastActivityDate="2010-12-03T14:05:24.143" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="3498" PostTypeId="1" CreationDate="2010-12-03T14:47:26.153" Score="7" ViewCount="347" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Possible Duplicate:&lt;/strong&gt;&lt;br&gt;&#xA;  &lt;a href=&quot;https://cstheory.stackexchange.com/questions/88/what-would-it-mean-to-disprove-church-turing-thesis&quot;&gt;What would it mean to disprove Church-Turing thesis?&lt;/a&gt;  &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&#xA;&#xA;&lt;p&gt;Are there any models of computation currently being studied with the possibility of being more powerful than Turing Machines?&lt;/p&gt;&#xA;" OwnerUserId="2044" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2010-12-03T15:25:15.663" Title="Are there any models of computation currently being studied with the possibility of being more powerful than Turing Machines?" Tags="&lt;computability&gt;&lt;physics&gt;&lt;machine-models&gt;&lt;natural-computing&gt;" AnswerCount="0" CommentCount="5" FavoriteCount="2" ClosedDate="2010-12-03T17:13:20.857" ContentLicense="CC BY-SA 2.5" />
  <row Id="3499" PostTypeId="2" ParentId="3443" CreationDate="2010-12-03T15:22:49.300" Score="8" Body="&lt;p&gt;Gurevich in formulating the conjecture about a logic that could capture $\mathsf{P}$ requires the logic to be computable in two ways: (1) the set of sentences legally obtainable from the vocabulary $\sigma$ has to be computable, given $\sigma$; and (2) the satisfiability relation needs to be computable from $\sigma$, i.e., ordered pairs consisting of a finite structure $M$ and a sentence $\varphi$ such that all models isomorphic to $M$ satisfy $\varphi$.  Also, significantly for comparison with this randomized logic result, the vocabulary $\sigma$ has to be finite.  (A vocabulary is a set of constant symbols and relation symbols, for example, equals sign, less-than sign, $R_1,R_2,\ldots$)  This is a paraphrase of Definition 1.14 of &lt;a href=&quot;http://www.google.com/url?sa=t&amp;amp;source=web&amp;amp;cd=1&amp;amp;ved=0CBMQFjAA&amp;amp;url=http%3A%2F%2Fciteseerx.ist.psu.edu%2Fviewdoc%2Fdownload%3Fdoi%3D10.1.1.61.2566%26rep%3Drep1%26type%3Dpdf&amp;amp;rct=j&amp;amp;q=Logic%20and%20the%20challenge%20of%20computer%20science&amp;amp;ei=Vgn5TJmoBsT9nAeqv8DxCA&amp;amp;usg=AFQjCNGtL5taTme5JJGoG3WAXBQn-UtvUQ&amp;amp;sig2=ax4AWDF0rNI-yVGUhSW4TA&amp;amp;cad=rja&quot; rel=&quot;noreferrer&quot;&gt;this paper by Gurevich&lt;/a&gt;, which is reference [9] in the quote Kaveh gave.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The paper about BPP and randomized logic presents a significantly different framework.  It starts with a finite vocabulary $\sigma$, and then considers a probability space of all vocabularies that extend $\sigma$ with some disjoint vocabulary $\rho$.  So a formula is satisfiable in the new randomized logic if it is satisfiable in &quot;enough&quot; logics based on extensions of $\sigma$ by different $\rho$.  This is my butchering of Definition 1 in the Eickmeyer-Grohe paper linked to by Robin Kothari.  In particular, the vocabulary is not finite (well, each vocabulary is, but we have to consider infinitely many distinct vocabularies), the set of sentences of this logic is undecidable, and the notion of satisfiability is different from the one put forth by Gurevich.&lt;/p&gt;&#xA;" OwnerUserId="30" LastActivityDate="2010-12-03T15:22:49.300" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3502" PostTypeId="2" ParentId="3496" CreationDate="2010-12-03T15:45:43.860" Score="22" Body="&lt;p&gt;For the statement to hold, &lt;i&gt;f&lt;/i&gt; must grow exponentially, even with the unary alphabet.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;[Edit: The analysis is improved slightly in revision 2.]&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is a proof sketch.  Suppose that the statement holds and let &lt;i&gt;f&lt;/i&gt; be a function such that every NFA with at most &lt;i&gt;n&lt;/i&gt; states that accepts all strings with length at most &lt;i&gt;f&lt;/i&gt;(&lt;i&gt;n&lt;/i&gt;) accepts all strings whatsoever.  We will prove that for every &lt;i&gt;C&lt;/i&gt;&amp;gt;0 and sufficiently large &lt;i&gt;n&lt;/i&gt;, we have &lt;i&gt;f&lt;/i&gt;(&lt;i&gt;n&lt;/i&gt;) &amp;gt; 2&lt;sup&gt;&lt;i&gt;C&lt;/i&gt;⋅√&lt;i&gt;n&lt;/i&gt;&lt;/sup&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The &lt;a href=&quot;http://en.wikipedia.org/wiki/Prime_number_theorem&quot;&gt;prime number theorem&lt;/a&gt; implies that for every &lt;i&gt;c&lt;/i&gt; &amp;lt; lg e and for sufficiently large &lt;i&gt;k&lt;/i&gt;, there are at least &lt;i&gt;c&lt;/i&gt; ⋅2&lt;sup&gt;&lt;i&gt;k&lt;/i&gt;&lt;/sup&gt; / &lt;i&gt;k&lt;/i&gt; primes in the range [2&lt;sup&gt;&lt;i&gt;k&lt;/i&gt;&lt;/sup&gt;, 2&lt;sup&gt;&lt;i&gt;k&lt;/i&gt;+1&lt;/sup&gt;].  We take &lt;i&gt;c&lt;/i&gt;=1.  For such &lt;i&gt;k&lt;/i&gt;, let &lt;i&gt;N&lt;/i&gt;&lt;sub&gt;&lt;i&gt;k&lt;/i&gt;&lt;/sub&gt; = ⌈2&lt;sup&gt;&lt;i&gt;k&lt;/i&gt;&lt;/sup&gt; / &lt;i&gt;k&lt;/i&gt;⌉ and define an NFA &lt;i&gt;M&lt;/i&gt;&lt;sub&gt;&lt;i&gt;k&lt;/i&gt;&lt;/sub&gt; as follows.  Let &lt;i&gt;p&lt;/i&gt;&lt;sub&gt;1&lt;/sub&gt;, …, &lt;i&gt;p&lt;/i&gt;&lt;sub&gt;&lt;i&gt;N&lt;/i&gt;&lt;sub&gt;&lt;i&gt;k&lt;/i&gt;&lt;/sub&gt;&lt;/sub&gt; be distinct primes in the range [2&lt;sup&gt;&lt;i&gt;k&lt;/i&gt;&lt;/sup&gt;, 2&lt;sup&gt;&lt;i&gt;k&lt;/i&gt;+1&lt;/sup&gt;].  The NFA &lt;i&gt;M&lt;/i&gt;&lt;sub&gt;&lt;i&gt;k&lt;/i&gt;&lt;/sub&gt; has &lt;i&gt;S&lt;/i&gt;&lt;sub&gt;&lt;i&gt;k&lt;/i&gt;&lt;/sub&gt;=1+&lt;i&gt;p&lt;/i&gt;&lt;sub&gt;1&lt;/sub&gt;+…+&lt;i&gt;p&lt;/i&gt;&lt;sub&gt;&lt;i&gt;N&lt;/i&gt;&lt;sub&gt;&lt;i&gt;k&lt;/i&gt;&lt;/sub&gt;&lt;/sub&gt; states.  Apart from the initial state, the states are partitioned into &lt;i&gt;N&lt;/i&gt;&lt;sub&gt;&lt;i&gt;k&lt;/i&gt;&lt;/sub&gt; cycles where the &lt;i&gt;i&lt;/i&gt;th cycle has length &lt;i&gt;p&lt;/i&gt;&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt;.  In each cycle, all but one state are accepted states.  The initial state has &lt;i&gt;N&lt;/i&gt;&lt;sub&gt;&lt;i&gt;k&lt;/i&gt;&lt;/sub&gt; outgoing edges, each of which goes to the state immediately after the rejected state in each cycle.  Finally, the initial state is also accepted.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let &lt;i&gt;P&lt;/i&gt;&lt;sub&gt;&lt;i&gt;k&lt;/i&gt;&lt;/sub&gt; be the product &lt;i&gt;p&lt;/i&gt;&lt;sub&gt;1&lt;/sub&gt;…&lt;i&gt;p&lt;/i&gt;&lt;sub&gt;&lt;i&gt;N&lt;/i&gt;&lt;sub&gt;&lt;i&gt;k&lt;/i&gt;&lt;/sub&gt;&lt;/sub&gt;.  It is easy to see that &lt;i&gt;M&lt;/i&gt;&lt;sub&gt;&lt;i&gt;k&lt;/i&gt;&lt;/sub&gt; accepts all strings of length less than &lt;i&gt;P&lt;/i&gt;&lt;sub&gt;&lt;i&gt;k&lt;/i&gt;&lt;/sub&gt; but rejects the string of length &lt;i&gt;P&lt;/i&gt;&lt;sub&gt;&lt;i&gt;k&lt;/i&gt;&lt;/sub&gt;.  Therefore, &lt;i&gt;f&lt;/i&gt;(&lt;i&gt;S&lt;/i&gt;&lt;sub&gt;&lt;i&gt;k&lt;/i&gt;&lt;/sub&gt;)≥&lt;i&gt;P&lt;/i&gt;&lt;sub&gt;&lt;i&gt;k&lt;/i&gt;&lt;/sub&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that &lt;i&gt;S&lt;/i&gt;&lt;sub&gt;&lt;i&gt;k&lt;/i&gt;&lt;/sub&gt; ≤ 1 + &lt;i&gt;N&lt;/i&gt;&lt;sub&gt;&lt;i&gt;k&lt;/i&gt;&lt;/sub&gt;⋅2&lt;sup&gt;&lt;i&gt;k&lt;/i&gt;+1&lt;/sup&gt; = o(2&lt;sup&gt;2&lt;i&gt;k&lt;/i&gt;&lt;/sup&gt;) and that &lt;i&gt;P&lt;/i&gt;&lt;sub&gt;&lt;i&gt;k&lt;/i&gt;&lt;/sub&gt; ≥ (2&lt;sup&gt;&lt;i&gt;k&lt;/i&gt;&lt;/sup&gt;)&lt;sup&gt;&lt;i&gt;N&lt;/i&gt;&lt;sub&gt;&lt;i&gt;k&lt;/i&gt;&lt;/sub&gt;&lt;/sup&gt; ≥ 2&lt;sup&gt;2&lt;sup&gt;&lt;i&gt;k&lt;/i&gt;&lt;/sup&gt;&lt;/sup&gt;.  The rest is standard.&lt;/p&gt;&#xA;" OwnerUserId="567" LastEditorUserId="567" LastEditDate="2010-12-04T18:14:25.487" LastActivityDate="2010-12-04T18:14:25.487" CommentCount="9" ContentLicense="CC BY-SA 2.5" />
  <row Id="3503" PostTypeId="1" AcceptedAnswerId="3515" CreationDate="2010-12-03T15:54:09.827" Score="5" ViewCount="609" Body="&lt;p&gt;What is an R-trivial language? What is an R-trivial monoid?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Context: Formal languages. Afaik, R-trivial languages is a subset of the starfree languages.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I mostly have background in formal languages and automata theory but not so much with the syntactic monoid characterization. So it would be nice to give a basic definition with maybe a small example of such a language.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;(In order to support multiple QA-sites because I don't want to have any QA-site stay behind and to have that question also represented there, I have also posted this question on these other sites: &lt;a href=&quot;https://stackoverflow.com/questions/4346608/formal-languages-what-does-r-trivial-mean&quot;&gt;stackoverflow.com&lt;/a&gt;, &lt;a href=&quot;https://math.stackexchange.com/questions/12921/formal-languages-what-does-r-trivial-mean&quot;&gt;math.stackexchange.com&lt;/a&gt;, &lt;a href=&quot;https://mathoverflow.net/questions/48181/formal-languages-what-does-r-trivial-mean&quot;&gt;mathoverflow.net&lt;/a&gt;. In general I am against cross-posting but in this case, as they all have the same goal to be a complete reference of questions in the specific area, having the question cross posted is the best thing you can do.)&lt;/p&gt;&#xA;" OwnerUserId="2544" LastEditorUserId="-1" LastEditDate="2017-05-23T11:33:33.907" LastActivityDate="2010-12-04T17:18:02.460" Title="formal languages: what does R-trivial mean?" Tags="&lt;fl.formal-languages&gt;" AnswerCount="2" CommentCount="8" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3504" PostTypeId="2" ParentId="3503" CreationDate="2010-12-03T16:32:30.690" Score="3" Body="&lt;p&gt;Perhaps the Menagerie of Monoids diagram will be helpful?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://i.stack.imgur.com/tKSam.png&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://i.stack.imgur.com/tKSam.png&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;from page 5, &quot;On the Representation Theory of Finite J-trivial Monoids&quot;, by Denton, et. al. (2010).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A detailed description is also given in Section 2.1,&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;The smaller class of R-trivial monoids coincides with the class of so-called &lt;em&gt;weakly&#xA;  ordered monoids&lt;/em&gt; as defined by Schocker [Sch08]. Also, via the right regular representation, any R-trivial monoid can be represented as a monoid of regressive functions on some finite poset P (a function f : P → P is called &lt;em&gt;regressive&lt;/em&gt; if f(x) ≤ x for every x ∈ P); reciprocally any such monoid is R-trivial. We now present an example of a monoid which is R-trivial, but not J-trivial.&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;Example 2.3. Take the free left regular band B generated by two idempotents a,b. Multiplication is given by concatenation taking into account the idempotent relations, and then selecting only the two left factors (see for example [Sal07]). So B = {1,a,b,ab,ba} and 1B = B, aB = {a,ab}, bB = {b,ba}, abB = {ab}, and baB = {ba}. This shows that all R-classes consist of only one element and hence B is R-trivial.&#xA;  On the other hand, B is not L-trivial since {ab, ba} forms an L-class since b · ab = baanda·ba=ab. HenceBisalsonotJ-trivial.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="2256" LastActivityDate="2010-12-03T16:32:30.690" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="3505" PostTypeId="1" AcceptedAnswerId="3506" CreationDate="2010-12-03T17:53:28.693" Score="0" ViewCount="414" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Possible Duplicate:&lt;/strong&gt;&lt;br&gt;&#xA;  &lt;a href=&quot;https://cstheory.stackexchange.com/questions/1574/do-you-use-any-article-organizers&quot;&gt;Do you use any article organizers? &lt;/a&gt;  &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&#xA;&#xA;&lt;p&gt;[[ This is intended as a wiki question ]]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have tons of papers on the subject I'm studying.  When you get them from ACM or someone's website, they're usually called something like &lt;code&gt;kautz-a1.pdf&lt;/code&gt; or, my favorite, &lt;code&gt;paper.pdf&lt;/code&gt;.  What I've done is organize them by:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;year - first author's last name - paper title.pdf&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;So for example, in /papers:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;2007 - Wang - PRT for RT indirect lighting using spectral mesh basis.pdf&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;This seems to work, and I can usually find what I'm looking for.  I mirrored this folder on DropBox, so I can pull down the collection if I happen to be working on another computer than my main.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;How do other people store them?&lt;/p&gt;&#xA;" OwnerUserId="1983" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2010-12-03T17:56:56.130" Title="How do you organize your papers?" Tags="&lt;soft-question&gt;" AnswerCount="1" CommentCount="0" ClosedDate="2010-12-03T18:02:43.107" ContentLicense="CC BY-SA 2.5" />
  <row Id="3506" PostTypeId="2" ParentId="3505" CreationDate="2010-12-03T17:56:56.130" Score="1" Body="&lt;p&gt;I use &lt;a href=&quot;http://www.mendeley.com/&quot; rel=&quot;nofollow&quot;&gt;Mendeley&lt;/a&gt;, which allows you to tag your papers, find them by topic, author, export bibtex files, and so on.&lt;/p&gt;&#xA;" OwnerUserId="775" LastActivityDate="2010-12-03T17:56:56.130" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3507" PostTypeId="2" ParentId="3473" CreationDate="2010-12-03T18:08:48.507" Score="12" Body="&lt;p&gt;What about the question of computing the permanent of a matrix modulo $k$?  For $k=2$ this is easy (since permanent=determinant), and Valiant (in &quot;&lt;a href=&quot;http://www.sciencedirect.com/science?_ob=ArticleURL&amp;amp;_udi=B6V1G-45FCXDC-5Y&amp;amp;_user=10&amp;amp;_coverDate=12%2F31%2F1979&amp;amp;_rdoc=1&amp;amp;_fmt=high&amp;amp;_orig=search&amp;amp;_origin=search&amp;amp;_sort=d&amp;amp;_docanchor=&amp;amp;view=c&amp;amp;_searchStrId=1566271121&amp;amp;_rerunOrigin=scholar.google&amp;amp;_acct=C000050221&amp;amp;_version=1&amp;amp;_urlVersion=0&amp;amp;_userid=10&amp;amp;md5=9d1567e9b1ce681a065a8df5dae36365&amp;amp;searchtype=a&quot;&gt;The complexity of computing the permanent&lt;/a&gt;&quot;) showed it can be computed modulo $2^d$ in time $O(n^{4d-3})$ for $d \geq 2$ by a modified variant of Gaussian elimination.  But for $k$ which is not a power of $2$, it is UP-Hard.  &lt;/p&gt;&#xA;" OwnerUserId="2038" LastActivityDate="2010-12-03T18:08:48.507" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3510" PostTypeId="1" CreationDate="2010-12-03T18:55:09.310" Score="6" ViewCount="316" Body="&lt;p&gt;Assume G is a &lt;strong&gt;weighted planar&lt;/strong&gt; graph, nodes and edges in G are weighted, and K is a given constant. &#xA;A is a decision problem with following description:    &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Does G contain a cycle with total&#xA;  weight K ?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;What is the complexity of the counting version of A (#A)? (i.e the complexity of counting all cycles with total weight K) &lt;/p&gt;&#xA;" OwnerUserId="2335" LastEditorUserId="80" LastEditDate="2010-12-03T19:03:29.193" LastActivityDate="2011-01-17T11:59:24.217" Title="Complexity of counting weighted cycles in planar graphs?" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;&lt;counting-complexity&gt;" AnswerCount="2" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3512" PostTypeId="1" AcceptedAnswerId="3514" CreationDate="2010-12-03T19:41:08.867" Score="16" ViewCount="469" Body="&lt;p&gt;Given points $p_1,\ldots,p_n$ in $\mathbb{R}^{d}$ and a distance $l$ find the&#xA;largest subset of these points such that the Euclidian distance of no&#xA;two of them exceeds $l$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is the complexity of this problem?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the graph over the points which has an edge whenever the distance&#xA;of two points is at most $l$, the problem is equivalent to finding a&#xA;maximum clique. The converse may not hold, because not every graph can&#xA;be obtained this way (an example is the star $K_{1,7}$ for $d=2$). Therefore a related question is: what is known about this class&#xA;of graphs?&lt;/p&gt;&#xA;" OwnerUserId="2150" LastEditorUserId="80" LastEditDate="2010-12-03T21:15:38.293" LastActivityDate="2010-12-04T22:07:59.150" Title="Finding the largest set of points of limited diameter" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;cg.comp-geom&gt;" AnswerCount="2" CommentCount="7" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="3514" PostTypeId="2" ParentId="3512" CreationDate="2010-12-03T20:57:36.477" Score="15" Body="&lt;p&gt;There's an $O(n^3\log n)$ time algorithm for the two-dimensional version of this problem in my paper with Jeff Erickson, &quot;&lt;a href=&quot;http://compgeom.cs.uiuc.edu/~jeffe/pubs/pdf/small.pdf&quot;&gt;Iterated nearest neighbors and finding minimal polytopes&lt;/a&gt;&quot;, Disc. Comp. Geom. 11:321-350, 1994. Actually the paper primarily looks at the dual problem: given the number of points in the subset, find the smallest possible diameter; but it uses the problem you describe as a subroutine. At least at the time we wrote it, we didn't know anything subexponential for higher dimensions (although if the subset has only $k$ points in it the exponential part can be made dependent on $k$ rather than $n$ using techniques in the same paper).&lt;/p&gt;&#xA;" OwnerUserId="95" LastEditorUserId="95" LastEditDate="2010-12-04T00:21:13.323" LastActivityDate="2010-12-04T00:21:13.323" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3515" PostTypeId="2" ParentId="3503" CreationDate="2010-12-03T22:13:51.747" Score="7" Body="&lt;p&gt;A semigroup $S$ is $R\text{-trivial}$ iff $a \: R \: b \Rightarrow a = b$ for all $a, b \in S$ where $R$ is &lt;a href=&quot;http://en.wikipedia.org/wiki/Green%27s_relations#The_L.2C_R.2C_and_J_relations&quot; rel=&quot;noreferrer&quot;&gt;Green's relation&lt;/a&gt; $a \: R \: b \Leftrightarrow aS^1 = bS^1$. The set of $R\text{-trivial}$ monoids forms a variety which can be ultimately defined by the equations $(xy)^n x = (xy)^n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A language is $R\text{-trivial}$ if its &lt;a href=&quot;http://en.wikipedia.org/wiki/Syntactic_monoid&quot; rel=&quot;noreferrer&quot;&gt;syntactic monoid&lt;/a&gt; is $R\text{-trivial}$. This variety of languages is alternatively defined as the set of all languages that can be written as a disjoint union  of languages of the form $A_0^* a_1 A_1^* a_2 \ldots a_n A_n^*$ where $n \geq 0$, $a_1, \ldots, a_n \in A$, $A_i \subseteq A \setminus \{a_{i+1}\}$ for $0 \leq i \leq n-1$. Another definition given in &lt;a href=&quot;http://www.liafa.jussieu.fr/~jep/Resumes/Varietes.html&quot; rel=&quot;noreferrer&quot;&gt;[Pin]&lt;/a&gt;, which I'm not familiar with, uses the so-called &lt;em&gt;automates extensifs&lt;/em&gt; (&quot;extensive automata&quot;). You can find more results about those languages in &lt;a href=&quot;http://www.liafa.jussieu.fr/~jep/Resumes/Varietes.html&quot; rel=&quot;noreferrer&quot;&gt;[Pin]&lt;/a&gt;. There is an English version of this book, I've never read it but I'm pretty sure that you can find the same content.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the sake of completeness, here is an example of an (artificial) $R\text{-trivial}$ language: $\{b\}^* a \{a,c\}^* b \{a\}^* b \{a,b,c\}^* \cup \{d\}^* \cup abcd$. You can build other examples with the previous definitions. Note that all of the properties of varieties of languages hold for $R\text{-trivial}$ languages, therefore they are closed under union, intersection and complementation. It should help to build more complicated languages.&lt;/p&gt;&#xA;" OwnerUserId="508" LastEditorUserId="508" LastEditDate="2010-12-04T17:18:02.460" LastActivityDate="2010-12-04T17:18:02.460" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3517" PostTypeId="1" AcceptedAnswerId="3613" CreationDate="2010-12-04T01:11:18.320" Score="11" ViewCount="462" Body="&lt;p&gt;This is a continuation of my previous question on &lt;a href=&quot;https://cstheory.stackexchange.com/questions/3349/communication-lower-bounds-for-partial-boolean-functions&quot;&gt;communication lower bounds for partial boolean functions&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can someone suggest any reference on lower bounds for nondeterministic multiparty communication? I've been surveying the papers in the field, but everybody seems to show separations of the following type: a lower bound for randomized protocol and an (smaller) upper bound for a nondeterministic protocol. See for example, &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=1595391.1595392&quot; rel=&quot;nofollow noreferrer&quot;&gt;David, Pitassi, and Viola 2009&lt;/a&gt;, &lt;a href=&quot;http://theoryofcomputing.org/articles/v006a010/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Gavinsky and Sherstov 2010&lt;/a&gt;, &lt;a href=&quot;http://theoryofcomputing.org/articles/v006a009/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Beame, David, Pitassi, and Woelfel 2010&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Specifically, I would like to know if there exists a norm (e.g. $\gamma_k$ for $k$ parties) that lower bounds nondeterministic multiparty communication in either the number-in-the-forehead or number-in-hand model.&lt;/p&gt;&#xA;" OwnerUserId="135" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2010-12-07T22:44:48.773" Title="Lower bounds for Nondeterministic Multiparty Communication" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;lower-bounds&gt;&lt;communication-complexity&gt;&lt;norms&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="3518" PostTypeId="2" ParentId="3431" CreationDate="2010-12-04T01:13:25.457" Score="9" Body="&lt;p&gt;I assume that you know what &quot;policy evaluation&quot; means. Briefly speaking, it refers to the task of estimating the value of a given policy.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the RL literature, the off-policy scenario refers to the situation that the policy you want to evaluate is different from the data generating policy. In other words, you behave in one way, but you want to evaluate the value of another policy. This should be contrasted with the on-policy scenario that the policy you want to evaluate is the same policy that generates (or generated) data.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The offline sampling scenario (and not &quot;offline policy&quot;) is the scenario that you already have some samples and now you want to perform tasks like policy evaluation. In this scenario, the agent cannot have any further interaction with the environment. In other words, the data are given and fixed. This should be contrasted with the online sampling scenario that the agent actually interacts with the environment.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;These two are orthogonal. So it is possible to have a on-policy/off-policy offline/online scenario.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hope my short discussion has helped. You may also take a look at Sutton and Barto's textbook.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Amir massoud&lt;/p&gt;&#xA;" OwnerUserId="2553" LastActivityDate="2010-12-04T01:13:25.457" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3520" PostTypeId="2" ParentId="3447" CreationDate="2010-12-04T03:04:16.563" Score="6" Body="&lt;p&gt;I'm going to develop the idea that Jukka Suomela suggests in the comments. $\newcommand{\lk}{\operatorname{lk}}$  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;We are given a connected graph $G = (V, E)$ and a $Z/2Z$-cycle basis $F$.  Note that $|F| = |E| - |V| + 1$.  For each cycle $f \in F$ glue a disk $D_f$ along $f$ to $G$.  The resulting $2$-complex $K$ has Euler characteristic $\chi(K) = |V| - |E| + |F| = 1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Definition: A &lt;em&gt;cactus&lt;/em&gt; is a tree-like union of edges and disks. (For example, if $D$ and $D&amp;#39;$ are disks and $v, v&amp;#39;$ are points of $D,D&amp;#39;$ then gluing $v$ to $v&amp;#39;$ is a cactus.)&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Theorem: If every edge $e \in E$ meets at most two cycles in $F$ then $K$ is a cactus.  &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Thus finding such a cycle basis &quot;easily&quot; gives a planar embedding.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Definition: The &lt;em&gt;vertex link&lt;/em&gt; $\lk(v)$ of $v \in V$ is the union of arcs coming from the &quot;corners&quot; of the disks $D_f$ that are adjacent to $v$.  (We also need to throw in points for each end of each edge adjacent to $v$.)  So, for example, if $K$ is a closed surface without boundary then all links are circles.  If $K$ is a connected surface then all links are circles or intervals. (Here, $\lk(v)$ is an interval iff $v$ is a boundary point of $K$.)  If $K$ is a cone $x^2 + y^2 = z^2$ in $R^3$ then the link of the origin is the disjoint union of two circles. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Claim: The inclusion map $\lk(v) \to K - v$ is one-to-one in terms of connected components.  (Ie, an isomorphism of $\pi_0$.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Proof: Suppose that $A, B$ components of $\lk(v)$ lie in the same component $X \subset K - v$. Choose an edge cycle $P$ in $X \cup v$ that meets $v$ exactly once, exits $v$ through $A$ and enters $v$ through $B$. Since $F$ is a $Z/2Z$-cycle basis $P$ is null-homologous in $K$ (working with $Z/2Z$ coefficients!) Thus there is a (possibly non-oriented) surface $S$ embedded in $K$ with $\partial S = P$.  Thus $A$ and $B$ lie in the same connected component of $\lk(v)$ and so $A = B$, proving the claim.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In particular, if $\lk(v)$ is disconnected then $v$ is a cut vertex.  Also, elements of $F$ meet at most one component of $\lk(v)$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Proof of the theorem: We induct on the number of vertices $v$ so that $\lk(v)$ is not connected.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Base case: if there are no such vertices then every link is either a point, an interval, or a circle.  If any link is a point then $G$ is an edge, $F$ is empty, and we are done.  So we may assume that $K$ is a surface.  Since $\chi(K) = 1$ the surface $K$ is either homeomorphic to the disk $D^2$ or to the real projective plane $RP^2$.  However, $RP^2$ has nontrivial $H_1$ with $Z/2Z$ coefficients, contradicting our assumption that $F$ was a basis.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Induction step: Suppose that $v$ has disconnected link.  Then let $K_i$ be the components of $K - v$.  Add a vertex $v_i$ to each of these to get a disjoint collection of $2$-complexes.  By the Claim, the cycle basis for the one-skeleton $K^{(1)}$ (ie for $G$) is a disjoint union of bases for the $K^{(1)}_i$ and the theorem is proved.&lt;/p&gt;&#xA;" OwnerUserId="1905" LastEditorUserId="1905" LastEditDate="2010-12-04T03:22:12.077" LastActivityDate="2010-12-04T03:22:12.077" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="3521" PostTypeId="1" CreationDate="2010-12-04T06:53:40.633" Score="10" ViewCount="15780" Body="&lt;p&gt;In University we used the Sipser text and while at the time I understood most of it, I forgot most of it as well, so it of course didn't leave all to great of an impression.  I borrowed that book and don't have one in my collection, so I need one.  So to the question, are there are any other books which could be seen as better and possibly more complete?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I didn't see a community wiki section here, so I couldn't note it as such.&lt;/p&gt;&#xA;" OwnerUserId="2558" LastEditorUserId="186" LastEditDate="2010-12-05T07:07:12.880" LastActivityDate="2020-07-02T15:31:10.823" Title="What is the best text of computation theory/theory of computation?" Tags="&lt;reference-request&gt;&lt;soft-question&gt;&lt;computability&gt;&lt;books&gt;" AnswerCount="6" CommentCount="8" FavoriteCount="10" CommunityOwnedDate="2010-12-04T07:03:19.750" ContentLicense="CC BY-SA 2.5" />
  <row Id="3522" PostTypeId="2" ParentId="3409" CreationDate="2010-12-04T08:26:29.123" Score="1" Body="&lt;p&gt;467 million Twitter posts from 20 million users covering a 7 month period from June 1 2009 to December 31 2009:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://snap.stanford.edu/data/twitter7.html&quot; rel=&quot;nofollow&quot;&gt;http://snap.stanford.edu/data/twitter7.html&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerDisplayName="Rene" LastActivityDate="2010-12-04T08:26:29.123" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3523" PostTypeId="1" AcceptedAnswerId="6996" CreationDate="2010-12-04T09:36:35.127" Score="9" ViewCount="480" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;How can you force a party to be honest (obey protocol rules)?   &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I have seen some mechanisms such as commitments, proofs and etc., but they simply do not seem to solve the whole problem. It seems to me that structure of the protocol design and such mechanisms must do the job. Does any one have a good classification of that.&lt;br&gt;&#xA;&lt;strong&gt;Edit&lt;/strong&gt;&lt;br&gt;&#xA;When designing secure protocols, if you force a party to be honest, the design would be much easier though this enforcement has its own pay-off. I have seen when designing secure protocols, designers assume something which does not seem realistic to me, for instance to assume all the parties honest in worst case or assuming honesty of server which maintains user data. But when looking at design of protocols in stricter models, you rarely see such assumptions (at least I haven't seen it - I mostly study protocols over &lt;a href=&quot;http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=959888&quot; rel=&quot;nofollow noreferrer&quot;&gt;UC framework of Canetti&lt;/a&gt; which I think it is not totally formalized yet). I was wondering, is there any good classification of the ways in which you can force a party to be honest or is there any compiler which can convert the input protocol to one with honest parties?&lt;br&gt;&#xA;Now I am going to explain why I think this merely does not do the job though it may seem irrelevant. When designing protocols in the UC framework, which benefits from ideal/real paradigm, every communication link in the ideal model is authenticated, which is not true in the real model. So protocol designers seeks alternative methods to implement this channel through means of PKI assumption or a CRS (Common Reference String). But when designing authentication protocols, assuming authenticated channels is wrong. Suppose that we are designing an authentication protocol in the UC framework, there is an attack in which adversary forges identity of a party, but due to assumption of authenticated links in the ideal model this attack is not assumed in this framework! You may refer to &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=1102146&quot; rel=&quot;nofollow noreferrer&quot;&gt;Modeling insider attacks on group key exchange protocols&lt;/a&gt;. You may notice that Canetti in his seminal work &lt;a href=&quot;http://www.springerlink.com/index/BA16FGC4R6MTQ20F.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Universally composable notions of key exchange and secure channels&lt;/a&gt; mentions a previous notion of security called SK-Security which is simply enough to assure security of authentication protocols. He somehow confesses (by stating that this is the matter of technicality) that UC definition in this context is too restrictive and provides a relaxed variant called non-information oracle (which confused me, cause I haven't seen this model of security any where, I cannot match this security pattern with any other security pattern, probably my lack of knowledge :D).  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;[As a side note, You can nearly have any Sk-secure protocol converted to a UC secure one regardless of simulator time. For instance you may just remove the signings of the messages and have the simulator simulate the whole interactions in dummy way. See &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=1533057.1533079&quot; rel=&quot;nofollow noreferrer&quot;&gt;Universally Composable Contributory Group Key Exchange&lt;/a&gt; for proof! Now suppose this is a group key exchange protocol with polynomially many parties, what would be the efficiency of the simulator?? This is the origin of &lt;a href=&quot;https://cstheory.stackexchange.com/questions/2999/simulator-efficiency-versus-algorithm-efficiency&quot;&gt;my other question in this forum&lt;/a&gt;.]   &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Anyway, due to lack of commitment in the plain model (over UC), I sought other means to make the protocol secure by just bypassing the need for that relaxation. This idea is so very basic in my mind and has come to my mind by just having studied latest commitment scheme of canetti in the plain model: &lt;a href=&quot;http://www.cs.cornell.edu/~rafael/papers/ccacommit.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Adaptive Hardness and Composable Security in the Plain Model from Standard Assumptions&lt;/a&gt;.&lt;br&gt;&#xA;BTW, I don't seek zero-knowledge proofs because due to reason which I don't know, whenever someone has used one of them in a concurrent protocol (over UC framework), the others has mentioned the protocol as inefficient (may be due to rewinding of the simulator).&lt;/p&gt;&#xA;" OwnerUserId="943" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2011-06-14T09:43:08.410" Title="Forcing an honest behavior" Tags="&lt;cr.crypto-security&gt;&lt;gt.game-theory&gt;" AnswerCount="2" CommentCount="8" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="3524" PostTypeId="2" ParentId="3523" CreationDate="2010-12-04T10:18:04.123" Score="4" Body="&lt;p&gt;Joe Halpern has a slide on that topic.&#xA;&lt;a href=&quot;http://games2009.dimi.uniud.it/Halpern.pdf&quot; rel=&quot;nofollow&quot;&gt;http://games2009.dimi.uniud.it/Halpern.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is about giving incentives to parties so that they follow a protocol.  Those mechanisms require rationality of the parties and the arguments are based on game theory.&lt;/p&gt;&#xA;" OwnerUserId="249" LastActivityDate="2010-12-04T10:18:04.123" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="3525" PostTypeId="1" AcceptedAnswerId="3528" CreationDate="2010-12-04T11:02:46.750" Score="6" ViewCount="459" Body="&lt;p&gt;Consider the language $A=\{0^{k}1^{k}|k\geq0\}$ . On Sipser's book &quot;Introduction to the Theory of Computation&quot; an algorithm with running time $O(n\log n)$ is given, on single-tape TM. We also know that the set of languages that run in time $o(n\log n)$ is exactly the set of regular languages. Since $A$ is not a regular language, we can be sure that this is a strict lower bound, on a single-tape TM.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Therefore, if $f(x) = n\log n$ and $g(x) = o(f(x))$ , the existence of this language allows us to say that &#xA;$DTIME(g(x)) \subset DTIME(f(x))$ . Therefore:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By using the padding argument, couldn't we argue that for any time function $h(x) = \Omega(n\log n) $ the same result applies, i.e. that if $g(x) = o(h(x))$ then $DTIME(g(x)) \subset DTIME(h(x))$&#xD;&lt;/p&gt;&#xA;" OwnerUserId="879" LastEditorUserId="186" LastEditDate="2010-12-04T15:33:42.827" LastActivityDate="2010-12-04T15:33:42.827" Title="Lower bounds and class separation" Tags="&lt;cc.complexity-theory&gt;&lt;time-hierarchy&gt;&lt;padding&gt;" AnswerCount="1" CommentCount="8" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="3526" PostTypeId="1" CreationDate="2010-12-04T12:36:57.887" Score="7" ViewCount="201" Body="&lt;p&gt;To prove a protocol secure in the computational model, one can use game-based approach or the simulation approach (I just assume these two models for simplicity).  &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;In the game based approach, the security of the mentioned protocol is verified through some games between parties or between parties and algorithms (oracles). This approach usually gives us a lower bound on the communication effort for the protocol.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The second approach is through an ideal functionality or a trusted third party which acts as a paradigm for what we seek from meaning of security when running that protocol. This is usually called 'the Ideal/Real Paradigm'. In this approach a $\mathcal{PPT}$ (probabilistic polynomial time) machine which we call it 'the simulator' is responsible for generating the interaction between parties while running the protocol such that no other $\mathcal{PPT}$ machine (called distinguisher) can have any advantage greater than 0.5 to distinguish between the real interaction and the simulator made interaction. In this way we have proven the protocol secure by just comparing it to what is ideal when defining security of that protocol.  &lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;In the Ideal/Real paradigm, when proving a protocol secure some times the simulator must use some special  types of primitives. For example, when facing an adaptive adversary (fully capable adversary), we may use &lt;a href=&quot;http://www.wisdom.weizmann.ac.il/~naor/PAPERS/nce_abs.html&quot; rel=&quot;nofollow&quot;&gt;non-committing encryption&lt;/a&gt; or &lt;a href=&quot;http://www.google.com/url?sa=t&amp;amp;source=web&amp;amp;cd=2&amp;amp;sqi=2&amp;amp;ved=0CBkQFjAB&amp;amp;url=http%3A%2F%2Fwww.cs.umd.edu%2F~jkatz%2Fgradcrypto2%2FNOTES%2Flecture1.pdf&amp;amp;ei=wyP6TInAGcWhOp6itf8P&amp;amp;usg=AFQjCNFoNyC3tffRR_JzBn1sa2kfwY0PtA&quot; rel=&quot;nofollow&quot;&gt;trapdoor permutation&lt;/a&gt; or some other forms of equivocal primitives to provide the same view as the real world.  &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Question: What does it mean to use a equivocal primitive? What is the practical point of that? Do we use these primitives in practice?  can you name some?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;As a side note, I found some good issues on this in the &lt;a href=&quot;http://www.google.com/url?sa=t&amp;amp;source=web&amp;amp;cd=2&amp;amp;ved=0CBkQFjAB&amp;amp;url=http%3A%2F%2Fwww.daimi.au.dk%2F~ivan%2Fpositionpaper.pdf&amp;amp;ei=QDX6TKnAKZGx8QOe_YzyCw&amp;amp;usg=AFQjCNHZjG-T7Ntpcas9YnWb3PUDV3zbTg&quot; rel=&quot;nofollow&quot;&gt;response of Damgard to Koblitz Controversy&lt;/a&gt;. [I just noticed that this forum is &lt;strong&gt;Theoretical&lt;/strong&gt; Computer Science, but I have asked something practical]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit:&lt;/strong&gt; I may explain more on the non-committing encryption here to clarify my question. Let start an example; In a secure multi-party computation, the best way of communication is through secure channels. A secure channel by definition is the one in which the full-fledged adversary which controls the whole communications cannot see the messages. What does is it mean not to see the communication where all communications are visible to adversary and actually if she decides to put an end to a conversation, she can do it easily by dropping messages. The point is, informally when a non-committing encryption is used over a channel it makes the channel a secure channel because every permutation of an encrypted message is possible now. Remember that a non-committing encryption is the one in which a receiver can open a ciphertext bit to &quot;0&quot; or &quot;1&quot; as he wishes. As a naive example, consider one-time-pad and suppose your ciphertext is, say, 111; One can open it to every permutation of 3 bits length. So when this kind of ciphertext is at hand, the adversary can infer nothing out of it and it is equivalent to not receiving such a ciphertext at all.&lt;/p&gt;&#xA;" OwnerUserId="943" LastEditorUserId="943" LastEditDate="2011-01-15T15:38:17.760" LastActivityDate="2011-01-15T15:38:17.760" Title="Equivocal primitives in practice" Tags="&lt;cr.crypto-security&gt;" AnswerCount="0" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3527" PostTypeId="2" ParentId="3521" CreationDate="2010-12-04T14:06:42.853" Score="12" Body="&lt;p&gt;I strongly recommend the book &lt;a href=&quot;http://www.cs.princeton.edu/theory/complexity/&quot; rel=&quot;noreferrer&quot;&gt;Computational Complexity: A Modern Approach&lt;/a&gt; by Arora and Barak. When I took computational complexity at my Master level, the main textbook is &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0201530821&quot; rel=&quot;noreferrer&quot;&gt;Computational Complexity&lt;/a&gt; by Papadimitriou. But, maybe due to my background in Software Engineering, I found the writing in Papadimitriou challenging at times. Whenever I had problem understanding Papadimitriou's book, I simply went back to Sipser, or read the draft of Arora and Barak. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In retrospect, I really like Papadimitriou's book, and I often find myself looking up from this book. His book has plenty of exercises that are quite effective at connecting readers to research-level questions and open problems.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In any case, you should have a look at both Papadimitriou and Arora-Barak. People also suggest &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/052188473X&quot; rel=&quot;noreferrer&quot;&gt;Oded Goldreich's textbook&lt;/a&gt;, but I really prefer the organization of Arora-Barak.&lt;/p&gt;&#xA;" OwnerUserId="1080" LastEditorUserId="1080" LastEditDate="2010-12-06T03:35:11.330" LastActivityDate="2010-12-06T03:35:11.330" CommentCount="0" CommunityOwnedDate="2010-12-04T14:06:42.853" ContentLicense="CC BY-SA 2.5" />
  <row Id="3528" PostTypeId="2" ParentId="3525" CreationDate="2010-12-04T15:01:44.743" Score="5" Body="&lt;p&gt;I will try to answer the question more generally so does not depend on the specific problem. Let $L$ be a language in $DTime(O(t(n))-DTime(o(t(n))$. Can we use padding to get a language in  $DTime(O(s(n))-DTime(o(s(n))$ where $s(n) \in \Omega(t(n))$ is an arbitrary (time constructible) function?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The answer is no:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;the complexity class separations using padding translate downwards but not upwards, see &lt;a href=&quot;https://cstheory.stackexchange.com/questions/2434/why-do-equalities-between-complexity-classes-translate-upwards-and-not-downwards&quot;&gt;Why do equalities between complexity classes translate upwards and not downwards?&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="186" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.743" LastActivityDate="2010-12-04T15:14:47.030" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3529" PostTypeId="1" AcceptedAnswerId="3534" CreationDate="2010-12-04T16:24:24.993" Score="9" ViewCount="723" Body="&lt;p&gt;i wonder if they are any approaches formulating a Vehicle-Routing-Problem with Time-Windows (&lt;a href=&quot;http://neo.lcc.uma.es/radi-aeb/WebVRP/Problem_Descriptions/VRPTWDesc.html&quot; rel=&quot;nofollow&quot;&gt;VRPTW&lt;/a&gt;) (as a decision problem) as a SAT/SMT instance? (alternative: TSP)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;For example:&lt;/strong&gt;&lt;br&gt;&#xA;&lt;em&gt;&quot;Is there a valid solution visiting all customers within their time-windows with n=10 vehicles?&quot;&lt;/em&gt;  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This decision problem could be useful for a first step minimizing the number of vehicles used.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I don't have any experience with SMT, but i expect it to be necessary if we want to handle coordinates/times as real numbers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Usually all the TSP/VRP formulations are done in the mixed-integer-programming domain, but i wonder if a sat/smt formulation could be competitive (in terms of solving time in practice) for the decision problem above.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;So what do you think:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;do you know any references?&lt;/li&gt;&#xA;&lt;li&gt;do you think a sat/smt approach could be competitive?&lt;/li&gt;&#xA;&lt;li&gt;anything else you want to mention?&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Thanks for all your input.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Sascha&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit&lt;/strong&gt;: As i mentioned the TSP as a more common problem in TCS which is related to the VRPTW, i should also mention the &lt;strong&gt;Job Shop Scheduling problem&lt;/strong&gt;, which is the other &quot;partial problem&quot; in the VRPTW. Maybe the researchers in this field tried something with SAT/SMT. &lt;/p&gt;&#xA;" OwnerUserId="2564" LastEditorUserId="186" LastEditDate="2010-12-05T06:57:05.317" LastActivityDate="2010-12-05T06:57:05.317" Title="Any SAT/SMT formulations of the VRP/VRPTW (TSP, Job-Shop-Scheduling)?" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;sat&gt;&lt;reductions&gt;&lt;tsp&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="3530" PostTypeId="2" ParentId="3512" CreationDate="2010-12-04T20:34:48.013" Score="9" Body="&lt;p&gt;Approximation is pretty easy if you are interested in the smallest subset with diameter at most $(1+\epsilon)l$. A linear time algorithm by using grids is by now &quot;standard&quot;. The constant would probably be something like $2^{O(1/\epsilon^d)}$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is some work on finding the smallest ball containing k points, but the diameter problem is inherently harder. To see why, a good starting point is the Clarkson-Shor paper for computing the diameter in 3d.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;BTW, for high dimensions, the ball problem is approximable in time exponential in $O(1/\epsilon^2)$ (or some similar noise), by using coresets (but not in the dimension!). I kind of doubt that this approach can be extended to this problem, but I might be wrong.  &lt;/p&gt;&#xA;" OwnerUserId="9594" LastEditorUserId="80" LastEditDate="2010-12-04T22:07:59.150" LastActivityDate="2010-12-04T22:07:59.150" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3531" PostTypeId="1" AcceptedAnswerId="3532" CreationDate="2010-12-04T20:36:37.243" Score="2" ViewCount="807" Body="&lt;p&gt;I read in a &lt;a href=&quot;http://www.springerlink.com/content/r184370711357120/&quot; rel=&quot;nofollow noreferrer&quot;&gt;paper&lt;/a&gt; showing that it can be implemented by reducing induced matching problem on bipartite graphs to fooling set. But the proof was omitted in that paper and I cannot find answer by myself.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thank you.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit:&lt;/strong&gt; The fooling set technique is defined by the following theorem:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/lzaAe.png&quot; /&gt;&lt;/p&gt;&#xA;" OwnerUserId="2557" LastEditorUserId="32711" LastEditDate="2019-01-04T23:14:09.277" LastActivityDate="2019-01-05T18:27:07.043" Title="How to prove fooling set problem to be NP-hard" Tags="&lt;reductions&gt;" AnswerCount="1" CommentCount="11" ContentLicense="CC BY-SA 4.0" />
  <row Id="3532" PostTypeId="2" ParentId="3531" CreationDate="2010-12-04T22:03:09.400" Score="7" Body="&lt;p&gt;The proof is given in Section 6 the &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.85.4144&quot; rel=&quot;nofollow noreferrer&quot;&gt;full version of the paper&lt;/a&gt;. I bring an excerpt, since there was originally much confusion about what &quot;fooling set&quot; means.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Basically, the notion of fooling set was introduced by Jean-Camille Birget in &lt;a href=&quot;http://dx.doi.org/10.1016/0020-0190(92)90198-5&quot; rel=&quot;nofollow noreferrer&quot;&gt;Intersection and union of regular languages and state complexity&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To prove that fooling set problem (as defined below) is NP-hard, the authors reduced &lt;strong&gt;the NP-complete induced matching problem on bipartite graphs&lt;/strong&gt; to it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here's an excerpt of the paper, which defines the problem and proves the theorem.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://i.stack.imgur.com/GcLYf.png&quot; rel=&quot;nofollow noreferrer&quot;&gt;&lt;img src=&quot;https://i.stack.imgur.com/GcLYf.png&quot; alt=&quot;excerpt of the paper&quot;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="873" LastEditorUserId="873" LastEditDate="2019-01-05T18:27:07.043" LastActivityDate="2019-01-05T18:27:07.043" CommentCount="6" ContentLicense="CC BY-SA 4.0" />
  <row Id="3533" PostTypeId="1" CreationDate="2010-12-04T22:40:46.017" Score="32" ViewCount="7908" Body="&lt;p&gt;I've been reading Nielson &amp;amp; Nielson's &quot;&lt;a href=&quot;http://www.daimi.au.dk/~bra8130/Wiley_book/wiley.html&quot;&gt;Semantics with Applications&lt;/a&gt;&quot;, and I really like the subject. I'd like to have one more book on programming language semantics -- but I really can get only one.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I took a look at the &lt;a href=&quot;http://mitpress.mit.edu/catalog/item/default.asp?ttype=2&amp;amp;tid=11656&quot;&gt;Turbak/Gifford&lt;/a&gt; book, but it's too long-winded; I thought Winskel would be fine, but I have no access to it (it's not in our University library, and I'm short on money), and I'm not even sure if it's not dated. &lt;a href=&quot;http://www.cs.uiowa.edu/~slonnegr/fsspl/Ordering.html&quot;&gt;Slonneger&lt;/a&gt; seems OK, but the practical part makes it somewhat too long, and I'm not very comfortable with his style.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So my question is -- is &lt;a href=&quot;http://mitpress.mit.edu/catalog/item/default.asp?ttype=2&amp;amp;tid=7054&quot;&gt;Winskel&lt;/a&gt; a good book? And is it dated?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, are there other concise books on the subject?&lt;/p&gt;&#xA;" OwnerUserId="1700" LastEditorUserId="567" LastEditDate="2010-12-05T01:51:44.873" LastActivityDate="2017-09-08T16:55:26.243" Title="Books on programming language semantics" Tags="&lt;reference-request&gt;&lt;pl.programming-languages&gt;&lt;semantics&gt;&lt;denotational-semantics&gt;&lt;books&gt;" AnswerCount="7" CommentCount="3" FavoriteCount="46" ContentLicense="CC BY-SA 2.5" />
  <row Id="3534" PostTypeId="2" ParentId="3529" CreationDate="2010-12-04T23:34:06.987" Score="4" Body="&lt;p&gt;The big problem I see with a SAT formulation for VRPTW is that you have to discretize time to enforce the time window constraints (unless you encode arithmetic as boolean circuits which I've never seen done but might be worth trying). This means the number of variables becomes much larger as the time window increases affecting performance. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;An SMT (Sat Modulo Theory) formulation however wouldn't have a similar issue, I think since you have a propagator for the time window constraints which would return redundant constraints to the SAT solver to incorporate when you branch. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;While I don't know of any work using SAT formulations for VRPTW, I know that Peter Stuckey, in his paper on Lazy Clause generation used an approach almost exactly like SMT to solve Job Shop Scheduling and seemed to get good results for that. &lt;/p&gt;&#xA;" OwnerUserId="24" LastEditorUserId="24" LastEditDate="2010-12-04T23:42:52.607" LastActivityDate="2010-12-04T23:42:52.607" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3535" PostTypeId="1" AcceptedAnswerId="3537" CreationDate="2010-12-05T00:17:19.057" Score="18" ViewCount="1638" Body="&lt;p&gt;Am I correct in understanding that proving a problem NP complete is a research success? If so why?&lt;/p&gt;&#xA;" OwnerUserId="2571" LastEditorUserId="5195" LastEditDate="2011-06-06T17:11:36.563" LastActivityDate="2011-06-06T17:11:36.563" Title="Why is it important to prove that a problem is NP-complete?" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;&lt;big-picture&gt;" AnswerCount="5" CommentCount="0" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="3536" PostTypeId="2" ParentId="3535" CreationDate="2010-12-05T00:55:12.253" Score="3" Body="&lt;p&gt;Each problem has several connections with other problems. In addition, there are relations between a problem and complexity classes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Therefore, classifying one problem as NPC usually gives us insight into other problems, as well as complexity classes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For instance, take the &lt;a href=&quot;http://en.wikipedia.org/wiki/Graph_isomorphism_problem&quot; rel=&quot;nofollow&quot;&gt;graph isomorphism&lt;/a&gt; (GI) problem. In the following paper: &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Uwe Schöning, &lt;a href=&quot;http://www.springerlink.com/content/881l3367153w31j8/&quot; rel=&quot;nofollow&quot;&gt;Graph isomorphism is in the low hierarchy&lt;/a&gt;, &lt;em&gt;Proceedings of the 4th Annual Symposium on Theoretical Aspects of Computer Science&lt;/em&gt;, 1987, 114–124; also: Journal of Computer and System Sciences, vol. 37 (1988), 312–323.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;it is proven that if GI ∈ NPC, then the &lt;a href=&quot;http://en.wikipedia.org/wiki/Polynomial_time_hierarchy&quot; rel=&quot;nofollow&quot;&gt;polynomial hierarchy&lt;/a&gt; (PH) collapses to its second level; which will be a major breakthrough in structural complexity theory.&lt;/p&gt;&#xA;" OwnerUserId="873" LastActivityDate="2010-12-05T00:55:12.253" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3537" PostTypeId="2" ParentId="3535" CreationDate="2010-12-05T01:12:55.583" Score="26" Body="&lt;p&gt;Ali, good question.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose you want to show that some problem P is computationally hard.  Now, you could conjecture that P is hard just based on the fact that we don't have any efficient algorithms for it yet.  But this is rather flimsy evidence, no?  It could be that we have missed some nice way to look at P which would make it very easy to solve.  So, in order to conjecture that P is hard, we would want to accumulate more evidence.  Reductions provide a tool to do exactly that!  If we can reduce some other natural problem Q to P, then we have shown P is at least as hard as Q.  But Q could be a problem from some completely different area of mathematics, and people may have struggled for decades to solve Q also.  Thus, we can view our failure to find an efficient algorithm for Q to be evidence that P is hard.  If we have lots of such Q's from many different problem domains, then we have a huge body of evidence that P is hard.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is exactly what the theory of NP-completeness provides.  If you prove your problem to be NP-complete, then you have tied its hardness to the hardness of hundreds of other problems, each of significant interest to various communities.  Thus, morally speaking, you can be assured that your problem is indeed hard.&lt;/p&gt;&#xA;" OwnerUserId="15" LastEditorUserId="15" LastEditDate="2010-12-05T19:49:02.457" LastActivityDate="2010-12-05T19:49:02.457" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="3538" PostTypeId="1" CreationDate="2010-12-05T01:22:42.873" Score="8" ViewCount="632" Body="&lt;p&gt;$\mathbf{NP}$-complete problems are worst-case hard. Their average-case counterpart are one-way functions. Is there an analogous one-wayness notion for $\mathbf{coNP}$-complete problems? More generally, a standard one-way function can be viewed as an average-case-hard (search) problem in $\mathbf{NP}$ relative to $\mathbf{P}$. Can this notion be extended to two arbitrary complexity classes?&lt;/p&gt;&#xA;" OwnerUserId="2565" LastEditorUserId="1812" LastEditDate="2013-10-28T16:36:01.517" LastActivityDate="2013-10-28T16:36:01.517" Title="A generalisation of one-wayness" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;cr.crypto-security&gt;&lt;one-way-function&gt;&lt;average-case-complexity&gt;" AnswerCount="0" CommentCount="8" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="3539" PostTypeId="2" ParentId="3533" CreationDate="2010-12-05T01:31:10.380" Score="6" Body="&lt;p&gt;Well, I'm not an expert on the subject, but there are some general pieces of advice I can give.&lt;/p&gt;&#xA;&lt;p&gt;First, there are some people who have already read the book and provided reviews on it. For instance, for the Winskel book &lt;strong&gt;The Formal Semantics of Programming Languages&lt;/strong&gt; (see &lt;a href=&quot;https://rads.stackoverflow.com/amzn/click/com/0262231697&quot; rel=&quot;noreferrer&quot; rel=&quot;nofollow noreferrer&quot;&gt;[1]&lt;/a&gt; and &lt;a href=&quot;https://rads.stackoverflow.com/amzn/click/com/0262731037&quot; rel=&quot;noreferrer&quot; rel=&quot;nofollow noreferrer&quot;&gt;[2]&lt;/a&gt;) I found reviews on Amazon.&lt;/p&gt;&#xA;&lt;p&gt;Part of one review reads:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;This book confuses between syntax and semantics since the beginning, like separating the literals from its values. No special notations were used to differentiate them. This is a crucial issue that the author should address in a topic like this. Also, some other notations he used is quite confusing, like showing the premises and conclusions.&lt;/p&gt;&#xA;&lt;p&gt;The author seemed to assume that you have ALL the necessary prerequisites as he explained the background materials in a first few chapters (i.e. set theory, operational semantics, inductions, inductive definitions) very briefly. The style the author used in introduction is to put two or three paragraphs of texts and put some formulas then give exercises. Which is, for me, quite frustrating...&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;18/20 people find the review useful. You can seek Amazon (or other sources) to see more reviews.&lt;/p&gt;&#xA;&lt;p&gt;Second, Amazon offers Types and Programming Languages and &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0262162288&quot; rel=&quot;noreferrer&quot;&gt;Basic Category Theory for Computer Scientists&lt;/a&gt; along with this book. On &lt;a href=&quot;https://cstheory.stackexchange.com/questions/3253/what-books-should-everyone-read/3256#3256&quot;&gt;another topic&lt;/a&gt; Dave Clarke offers these books as excellent ones on &amp;quot;Type Systems and Programming Language Semantics.&amp;quot; Again, I'm not an expert, but those might be useful for you.&lt;/p&gt;&#xA;" OwnerUserId="873" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2010-12-05T01:31:10.380" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="3540" PostTypeId="1" CreationDate="2010-12-05T02:01:02.293" Score="101" ViewCount="13980" Body="&lt;p&gt;Following the post &lt;a href=&quot;https://cstheory.stackexchange.com/questions/3253/what-books-should-everyone-read&quot;&gt;What Books Should Everyone Read&lt;/a&gt;, I noticed that there are recent books whose drafts are available online. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For instance, the &lt;a href=&quot;https://cstheory.stackexchange.com/questions/3253/what-books-should-everyone-read/3466#3466&quot;&gt;Approximation Algorithms&lt;/a&gt; entry of the above post cites a 2011 book (yet to be published) titled &lt;a href=&quot;http://www.designofapproxalgs.com/&quot; rel=&quot;noreferrer&quot;&gt;The design of approximation algorithms&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think knowing recent works is really useful for whoever wants to get a taste of TCS trends. When drafts are available, one can check the books before actually buying them.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So,&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What are the recent TCS books whose drafts are available online?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Here, by &quot;recent&quot;, I mean something that's no older than ~5 years.&lt;/p&gt;&#xA;" OwnerUserId="1564" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2018-12-25T05:55:49.547" Title="What are the recent TCS books whose drafts are available online?" Tags="&lt;reference-request&gt;&lt;big-list&gt;&lt;books&gt;" AnswerCount="37" CommentCount="9" FavoriteCount="139" CommunityOwnedDate="2010-12-05T06:08:30.930" ContentLicense="CC BY-SA 2.5" />
  <row Id="3541" PostTypeId="5" CreationDate="2010-12-05T02:20:51.817" Score="0" Body="&lt;p&gt;Informally, a function is called one-way if it is easy to compute, but hard to invert. These definitions are formally captured as follows: function $f \colon \{0,1\}^* \to \{0,1\}^*$ is called &lt;em&gt;one-way&lt;/em&gt; if it has the following properties:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;strong&gt;Easy to compute:&lt;/strong&gt; There exist a (deterministic) polynomial-time machine $M$ such that, $\forall x \in \{0,1\}^* \quad M(x)=f(x)$.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Hard to invert:&lt;/strong&gt; For all probabilistic polynomial-time machines $A$, for all positive polynomials $p(\cdot)$, and for all sufficiently large $n\in \mathbb{N}$, the inequality $\Pr_{x\leftarrow _R \{0,1\}^n}[f(A(1^n,f(x)))=f(x)] &amp;lt; \tfrac{1}{p(n)}$ holds.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;There are several definitions which more or less resemble this one. For instance, one might let the machine $M$ to be probabilistic, and let it fail with negligible probability.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One-way permutations are a special class of one-way functions. It is proven that, secure secret-key encryptions exist iff one-way functions exits, and secure public-key encryptions exist iff one-way permutations exits.&lt;/p&gt;&#xA;" OwnerUserId="873" LastEditorUserId="873" LastEditDate="2010-12-05T02:20:51.817" LastActivityDate="2010-12-05T02:20:51.817" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3542" PostTypeId="4" CreationDate="2010-12-05T02:20:51.817" Score="0" Body="Questions regarding easy-to-compute, but hard-to-invert functions." OwnerUserId="873" LastEditorUserId="873" LastEditDate="2010-12-05T02:20:51.817" LastActivityDate="2010-12-05T02:20:51.817" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3543" PostTypeId="2" ParentId="3540" CreationDate="2010-12-05T02:26:20.827" Score="24" Body="&lt;p&gt;Stephen Cook &amp;amp; Phuong Nguyen published a book named &lt;a href=&quot;http://www.cambridge.org/gb/knowledge/isbn/item2708116/?site_locale=en_GB&quot;&gt;Logical Foundations of Proof Complexity&lt;/a&gt; in March 2010. There is a draft on Cook's website: &lt;a href=&quot;http://www.cs.toronto.edu/~sacook/homepage/book/&quot;&gt;here&lt;/a&gt;. Unfortunately, I haven't read it.&lt;/p&gt;&#xA;" OwnerUserId="508" LastActivityDate="2010-12-05T02:26:20.827" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="3544" PostTypeId="2" ParentId="3533" CreationDate="2010-12-05T02:42:37.983" Score="20" Body="&lt;p&gt;Here is a random sample of materials available for free online:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Winskel, &lt;em&gt;The Formal Semantics of Programming Languages&lt;/em&gt;, &lt;a href=&quot;http://books.google.com/books?id=JzUNn6uUxm0C&amp;amp;lpg=PP1&amp;amp;dq=Glynn%20Winskel&amp;amp;pg=PP1#v=onepage&amp;amp;q&amp;amp;f=false&quot;&gt;Google Books preview&lt;/a&gt;. I don't know anything about this book. It's on the list because the question specifically asks about it's content, which is online, mostly.&lt;/li&gt;&#xA;&lt;li&gt;Morgan, &lt;em&gt;Programming from Specification&lt;/em&gt;, &lt;a href=&quot;http://users.comlab.ox.ac.uk/carroll.morgan/PfS/&quot;&gt;list of ps files&lt;/a&gt;. The subject is refinement, which is the process of starting with high-level non-executable descriptions and systematically morphing then into something executable. Of course, every refinement step must preserve semantics, so it discusses a certain type of semantics too (based on predicate treansformers mostly).&lt;/li&gt;&#xA;&lt;li&gt;Harper, &lt;em&gt;Practical Foundations of Programming Languages&lt;/em&gt;, &lt;a href=&quot;http://www-2.cs.cmu.edu/~rwh/plbook/book.pdf&quot;&gt;pdf of draft&lt;/a&gt;. See the comment by Dave Clarke below.&lt;/li&gt;&#xA;&lt;li&gt;Remy, &lt;em&gt;Using, Understanding, and Unraveling the OCaml Language&lt;/em&gt;, &lt;a href=&quot;http://gallium.inria.fr/~remy/cours/appsem/ocaml.pdf&quot;&gt;pdf&lt;/a&gt;. This is the book from which I learned functional programming (OCaml, more precisely) and I liked it &lt;em&gt;a lot&lt;/em&gt;. It presents the semantics of basic language features in a very nice way and in the process presents lambda calculus and type theory on a `needs to know' basis.&lt;/li&gt;&#xA;&lt;li&gt;Peyton Jones, &lt;em&gt;The Implementation of Functional Programming Languages&lt;/em&gt;, &lt;a href=&quot;http://research.microsoft.com/en-us/um/people/simonpj/papers/slpj-book-1987/slpj-book-1987.djvu&quot;&gt;djvu&lt;/a&gt;. The first chapters describe lambda calculus (and its `operational semantics') and how higher level language features are desugared into lambda calculus. In this sense, the paper gives an operational semantics for functional languages.&lt;/li&gt;&#xA;&lt;li&gt;Pierce (ed), &lt;em&gt;Advanced Topics in Types and Programming Languages&lt;/em&gt;, &lt;a href=&quot;http://books.google.co.uk/books?id=A5ic1MPTvVsC&amp;amp;lpg=PA389&amp;amp;ots=PmwxiCcx6s&amp;amp;dq=book%20didier%20remy&amp;amp;pg=PP1#v=onepage&amp;amp;q&amp;amp;f=false&quot;&gt;Google Books preview&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Slonneger, &lt;em&gt;Syntax and Semantics of Programming Languages&lt;/em&gt;, &lt;a href=&quot;http://www.cs.uiowa.edu/~slonnegr/plf/Book/&quot;&gt;list of pdf files&lt;/a&gt;. I looked at this briefly a long time ago and didn't like it much. It's on the list because it's mentioned in the question.&lt;/li&gt;&#xA;&lt;li&gt;Brookes, &lt;em&gt;A Semantics for Concurrent Separation Logic&lt;/em&gt;, &lt;a href=&quot;http://www.eecs.qmul.ac.uk/~ohearn/papers/brookes_reynoldsfest_tcs.pdf&quot;&gt;pdf&lt;/a&gt;. This is a big article (80 pages), not a book. I included it because it's a fairly recent development that I find interesting.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="236" LastEditorUserId="236" LastEditDate="2010-12-05T23:20:05.453" LastActivityDate="2010-12-05T23:20:05.453" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="3545" PostTypeId="2" ParentId="3540" CreationDate="2010-12-05T03:10:10.657" Score="38" Body="&lt;p&gt;Arora and Barak &lt;a href=&quot;http://www.cs.princeton.edu/theory/complexity/&quot;&gt;Computational Complexity: A Modern Approach&lt;/a&gt; , 2010.&lt;/p&gt;&#xA;" OwnerUserId="201" LastActivityDate="2010-12-05T03:10:10.657" CommentCount="2" CommunityOwnedDate="2010-12-06T02:14:43.050" ContentLicense="CC BY-SA 2.5" />
  <row Id="3546" PostTypeId="2" ParentId="3540" CreationDate="2010-12-05T04:54:57.377" Score="21" Body="&lt;p&gt;There is a new upcoming book on &lt;a href=&quot;http://www.cc.gatech.edu/~vempala/spectralbook.html&quot;&gt;Spectral Algorithms&lt;/a&gt; by Ravi Kannan and Santosh Vempala covering several latest developments. It covers several applications of spectral methods, algorithms for estimating spectral parameters and low rank approximation of matrices.&lt;/p&gt;&#xA;" OwnerUserId="344" LastActivityDate="2010-12-05T04:54:57.377" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3547" PostTypeId="2" ParentId="3540" CreationDate="2010-12-05T05:08:12.453" Score="37" Body="&lt;p&gt;&lt;strike&gt;&lt;a href=&quot;http://www.cs.berkeley.edu/~vazirani/algorithms/all.pdf&quot; rel=&quot;nofollow&quot;&gt;Algorithms&lt;/a&gt; by S. Dasgupta, C.H. Papadimitriou, and U.V. Vazirani&lt;/strike&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT (Sept 16 '15): The link is broken, I believe the draft is no longer available online.&lt;/p&gt;&#xA;" OwnerUserId="1542" LastEditorUserId="1542" LastEditDate="2015-09-16T21:57:57.230" LastActivityDate="2015-09-16T21:57:57.230" CommentCount="3" CommunityOwnedDate="2010-12-05T15:08:22.213" ContentLicense="CC BY-SA 3.0" />
  <row Id="3548" PostTypeId="1" CreationDate="2010-12-05T06:09:27.030" Score="21" ViewCount="2947" Body="&lt;p&gt;1- Is there any specific properties for adjacency matrix when a graph is planar?&lt;br&gt;&#xA;2- Is there any thing special for computing the permanent of adjacency matrix when a graph is planar?&lt;/p&gt;&#xA;" OwnerUserId="2335" LastEditorUserId="2335" LastEditDate="2010-12-05T07:09:01.950" LastActivityDate="2012-04-06T14:14:27.047" Title="About properties of adjacency matrix when a graph is planar" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;permanent&gt;" AnswerCount="5" CommentCount="11" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="3549" PostTypeId="1" CreationDate="2010-12-05T06:11:57.747" Score="7" ViewCount="190" Body="&lt;p&gt;The &lt;a href=&quot;http://en.wikipedia.org/wiki/Diff&quot; rel=&quot;nofollow&quot;&gt;diff&lt;/a&gt; procedure can be generalized to operate on objects other than strings.&lt;br&gt;&#xA;For instance, I imagine that computational geometry asks questions like: &quot;Given two volumes, and allowed only the operations of union and subtraction of volumes, what (shortest) sequence of operations transforms the first volume into the second?&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Seems like to generalize diff beyond strings requires three things:&#xA;1) a space of objects on which to operate (these are strings in classic diff, but could be anything like surfaces, volumes, etc).&lt;br&gt;&#xA;2) for any object, a decomposition of that object into components, along with an operation -, such that OBJECT1 - COMPONENT := OBJECT2. (e.g. &quot;abcdef&quot; - &quot;de&quot; := &quot;abcf&quot;)&lt;br&gt;&#xA;3) a binary operation of addition such that OBJECT1 + OBJECT2 = OBJECT3 (&quot;abc&quot; + &quot;def&quot; = &quot;abcdef&quot;). Also, closure under this property.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My questions:&lt;br&gt;&#xA;Q1) Can you point me to any concrete incarnations of diff outside the string domain? For instance, what's the name of the computational geometry problem I described in the first paragraph? I'm sure there's extensive literature on this but I just don't know what to google.&lt;br&gt;&#xA;Q2) Is there an algebraic structure which fits the structure of generalized diff?&lt;/p&gt;&#xA;" OwnerUserId="2573" LastEditorUserId="80" LastEditDate="2010-12-05T06:20:52.527" LastActivityDate="2010-12-06T19:04:47.280" Title="Geometric differencing" Tags="&lt;ds.algorithms&gt;&lt;cg.comp-geom&gt;" AnswerCount="2" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="3550" PostTypeId="2" ParentId="3540" CreationDate="2010-12-05T06:13:46.387" Score="27" Body="&lt;p&gt;&lt;a href=&quot;http://diestel-graph-theory.com/&quot;&gt;Reinhard Diestel's Graph Theory&lt;/a&gt; (4th edition, 2010), in a variety of electronic formats. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2010-12-05T06:13:46.387" CommentCount="0" CommunityOwnedDate="2010-12-05T06:13:46.387" ContentLicense="CC BY-SA 2.5" />
  <row Id="3551" PostTypeId="2" ParentId="3540" CreationDate="2010-12-05T06:15:42.750" Score="25" Body="&lt;p&gt;&lt;a href=&quot;http://www.cs.huji.ac.il/~nati/PAPERS/expander_survey.pdf&quot;&gt;Expander Graphs and their applications&lt;/a&gt;, by Hoory, Linial and Wigderson. This is verging on monograph territory at 123 pages. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2010-12-05T06:15:42.750" CommentCount="0" CommunityOwnedDate="2010-12-05T06:15:42.750" ContentLicense="CC BY-SA 2.5" />
  <row Id="3552" PostTypeId="2" ParentId="3549" CreationDate="2010-12-05T06:20:03.697" Score="3" Body="&lt;p&gt;In the realm of &lt;a href=&quot;http://en.wikipedia.org/wiki/Constructive_solid_geometry&quot; rel=&quot;nofollow&quot;&gt;constructive solid geometry&lt;/a&gt;, questions like the one you asked can probably be answered. Here, solids are constructed by unions and differences of basic shapes (for example, a sphere with a tunnel can be described as Ball - Cylinder. Shapes are then built up as trees of operations on basic shapes (at the leaves), and the differencing problem can then be thought of as a labelled tree-diff problem (which has been examined among other things in the context of comparing XML documents).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm not claiming that these questions are already being studied, but CSG is definitely one place where the geometric questions you're asking might be addressed. &lt;/p&gt;&#xA;" OwnerUserId="80" LastEditorUserId="80" LastEditDate="2010-12-05T07:02:40.650" LastActivityDate="2010-12-05T07:02:40.650" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3553" PostTypeId="2" ParentId="3548" CreationDate="2010-12-05T06:21:30.950" Score="26" Body="&lt;p&gt;Computing determinant and permanent of planar graphs are as hard as computing them in general graphs. They are complete for &lt;strong&gt;GapL&lt;/strong&gt; and &lt;strong&gt;#P&lt;/strong&gt; respectively. See this paper by &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=1714450.1714453&quot;&gt;Datta, Kulkarni, Limaye, Mahajan&lt;/a&gt; for more details.&lt;/p&gt;&#xA;" OwnerUserId="344" LastActivityDate="2010-12-05T06:21:30.950" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="3554" PostTypeId="2" ParentId="3548" CreationDate="2010-12-05T06:26:26.657" Score="6" Body="&lt;p&gt;I'm not sure what kind of properties you're looking for but the spectral radius of planar graphs is one such quantity (the max absolute value of an eigenvalue of the adjaceny matrix). &lt;a href=&quot;http://arxiv.org/abs/0907.1591&quot;&gt;See for example this paper&lt;/a&gt;. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2010-12-05T06:26:26.657" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3555" PostTypeId="2" ParentId="3540" CreationDate="2010-12-05T06:32:37.253" Score="25" Body="&lt;p&gt;&lt;a href=&quot;http://www.thi.informatik.uni-frankfurt.de/~jukna/BFC.html&quot;&gt;Boolean Function Complexity: Advances and Frontiers&lt;/a&gt; by Stasys Jukna. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.thi.informatik.uni-frankfurt.de/~jukna/pref.html&quot;&gt;(Preface)&lt;/a&gt; &lt;a href=&quot;http://www.thi.informatik.uni-frankfurt.de/~jukna/TOC.html&quot;&gt;(Table of Contents)&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A free draft used to be available as a direct download a while ago (if I remember correctly), but now it seems you can obtain it by filling out a form on his webpage or emailing him.&lt;/p&gt;&#xA;" OwnerUserId="206" LastActivityDate="2010-12-05T06:32:37.253" CommentCount="1" CommunityOwnedDate="2010-12-05T06:32:37.253" ContentLicense="CC BY-SA 2.5" />
  <row Id="3556" PostTypeId="2" ParentId="3540" CreationDate="2010-12-05T06:40:02.283" Score="32" Body="&lt;p&gt;&lt;a href=&quot;http://www.wisdom.weizmann.ac.il/~oded/books.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;Oded Goldreich&lt;/a&gt; has several drafts available for download on his webpage. &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://www.wisdom.weizmann.ac.il/~oded/cc-drafts.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;Computational Complexity: A Conceptual Perspective (2008)&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://www.wisdom.weizmann.ac.il/~oded/bc-drafts.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;P, NP, and NP-Completeness: The Basics of Complexity Theory (2010)&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://www.wisdom.weizmann.ac.il/~oded/foc-drafts.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;The Foundations of Cryptography (2001 and 2004)&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://www.wisdom.weizmann.ac.il/~oded/PDF/prg10.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;A Primer on Pseudorandom Generators (2010)&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://www.wisdom.weizmann.ac.il/~oded/pt-intro.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;Introduction to Property Testing (2017)&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="206" LastEditorUserId="13319" LastEditDate="2017-02-04T15:22:17.113" LastActivityDate="2017-02-04T15:22:17.113" CommentCount="0" CommunityOwnedDate="2010-12-05T06:40:02.283" ContentLicense="CC BY-SA 3.0" />
  <row Id="3557" PostTypeId="2" ParentId="3540" CreationDate="2010-12-05T07:54:50.863" Score="20" Body="&lt;p&gt;Since Suresh Venkat mentioned the monograph on expanders, I will also mention the following related monographs on the topic of &lt;em&gt;pseudorandomness&lt;/em&gt;. The draft of &lt;a href=&quot;http://people.seas.harvard.edu/~salil/pseudorandomness/&quot; rel=&quot;noreferrer&quot;&gt;Pseudorandomness&lt;/a&gt; by Salil Vadhan (220 pages) is very worth reading. The monograph &lt;a href=&quot;http://www.math.ias.edu/~avi/BOOKS/TCS003-1.pdf&quot; rel=&quot;noreferrer&quot;&gt;Parwise Independence and Derandomization&lt;/a&gt; by Luby and Wigderson is also nice!&lt;/p&gt;&#xA;" OwnerUserId="1080" LastEditorUserId="873" LastEditDate="2013-01-16T13:32:14.970" LastActivityDate="2013-01-16T13:32:14.970" CommentCount="0" CommunityOwnedDate="2010-12-05T07:54:50.863" ContentLicense="CC BY-SA 3.0" />
  <row Id="3558" PostTypeId="2" ParentId="3540" CreationDate="2010-12-05T08:05:40.463" Score="22" Body="&lt;p&gt;&lt;a href=&quot;http://pages.uoregon.edu/dlevin/MARKOV/&quot;&gt;Markov Chains and Mixing Times&lt;/a&gt; by D.A. Levin, Y. Peres, E.L. Wilmer (2008). Finally a text book covering this broad and ubiquitous topic.&lt;/p&gt;&#xA;" OwnerUserId="121" LastActivityDate="2010-12-05T08:05:40.463" CommentCount="1" CommunityOwnedDate="2010-12-05T08:05:40.463" ContentLicense="CC BY-SA 2.5" />
  <row Id="3559" PostTypeId="1" CreationDate="2010-12-05T09:04:13.353" Score="2" ViewCount="264" Body="&lt;p&gt;G is a planar graph with n nodes.&lt;br&gt;&#xA;What are the complexity of following problems?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1-A: Does G contain an m-cycle? (m-cycle is a simple cycle with m nodes, m&amp;lt; n)&lt;br&gt;&#xA;2-B: complexity of counting all m-cycles in G, (Complexity of #A).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;3- what is the complexity of A and B if G is an arbitrary given graph? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Pointing to books and papers is also useful...&lt;/p&gt;&#xA;" OwnerUserId="2335" LastEditorUserId="873" LastEditDate="2010-12-05T14:55:34.763" LastActivityDate="2010-12-05T17:35:04.983" Title="Complexity of counting m-cycles in a graph with n nodes" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;&lt;complexity-classes&gt;" AnswerCount="1" CommentCount="13" FavoriteCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3560" PostTypeId="2" ParentId="3535" CreationDate="2010-12-05T15:07:37.037" Score="5" Body="&lt;p&gt;Let's see two different cases why two different persons would like to prove a problem $NP-complete$:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;a) You are working on a software project. Having specified your system , you are starting to define the architecture of your application. This includes breaking down the large problem/need the application serves to smaller problems. Let's say that you have been given the task to find an efficient (we don't want our application to be slow!) algorithm for one of those smaller problems. After struggling for some time, you cannot find a polynomial algorithm. Then you might think: maybe this problem is very hard, so it's very difficult (or even impossible) to find an efficient algorithm. By proving that the problem is $NP-complete$, you have some evidence for this conjecture of yours and you should start considering an alternative approach (e.g. altering the problem so it becomes easier).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;b) You are researching complexity theory. By definition, you want to characterize problems (or classes of problems) according to the number of resources needed , i.e. the difficulty to solve them. By proving that a certain problem is $NP-complete$, you gain some insights:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;i) You know have a vast knowledge of the problem. Instead of working on a single problem, you can work with the class of $NP-complete$ problems, which might lead you to new insights.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;ii) You allow researches that want to prove $P=NP$ another way to do that. Maybe your problem is easier to attack than $3-SAT$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;iii) On the reverse direction, you can use your new problem as a representative of $NP-complete$ problems. By studying it, you can perhaps understand why this problem is so difficult to solve (= does not have an efficient algorithm) and apply this knowledge to all other problems in the class. (that's what Deolalikar tried to do with the $CLIQUE$ problem)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Summarizing, characterizing a problem allows you to use common techniques. By studying the class it is related to, you can think in an abstract level, without bothering about the specifics of this particular problem, which is common in mathematics and science in general. Working with classes instead of individual members allows you to use known techniques and furthermore, apply your insights to a larger number of objects, instead of only one. &lt;/p&gt;&#xA;" OwnerUserId="879" LastActivityDate="2010-12-05T15:07:37.037" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="3561" PostTypeId="2" ParentId="3496" CreationDate="2010-12-05T15:21:20.383" Score="20" Body="&lt;h2&gt;EDIT AT 10/12/06:&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;ok, this is pretty much the best construction I can get, see if any one come up with better ideas.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Theorem.&lt;/strong&gt; For each $n$ There is an $(5n+12)$-state NFA $M$ over alphabets $\Sigma$ with $|\Sigma|=5$ such that the shortest string not in $L(M)$ is of length $(2^n-1)(n+1)+1$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;This will give us $f(n) = \Omega(2^{n/5})$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The construction is pretty much the same with the one in &lt;a href=&quot;http://www.cs.uwaterloo.ca/~shallit/Talks/re.ps&quot; rel=&quot;nofollow noreferrer&quot;&gt;Shallit's&lt;/a&gt;, except we construct an NFA directly instead of representing the language by a regular expression first. Let &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\Sigma = \{{0 \brack 0},{0 \brack 1},{1 \brack 0},{1 \brack 1},\sharp\}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For each $n$, we are going to construct an NFA recognizing language $\Sigma^*-\{s_n\}$, where $s_n$ is the following sequence (take $n=3$ for example):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$s_3 = \sharp{0 \brack 0}{0 \brack 0}{0 \brack 1}\sharp{0 \brack 0}{0 \brack 1}{1 \brack 0}\sharp \ldots \sharp{1 \brack 1}{1 \brack 1}{0 \brack 1}\sharp$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The idea is that we can construct an NFA consists of five parts; &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;a &lt;em&gt;starter&lt;/em&gt;, which ensures the string starts with $\sharp{0 \brack 0}{0 \brack 0}{0 \brack 1}\sharp$; &lt;/li&gt;&#xA;&lt;li&gt;a &lt;em&gt;terminator&lt;/em&gt;, which ensures the string ends with $\sharp{1 \brack 1}{1 \brack 1}{0 \brack 1}\sharp$;&lt;/li&gt;&#xA;&lt;li&gt;a &lt;em&gt;counter&lt;/em&gt;, which keeps the number of symbols between two $\sharp$'s as $n$;&lt;/li&gt;&#xA;&lt;li&gt;an &lt;em&gt;add-one checker&lt;/em&gt;, which guarantees that only symbols with the form $\sharp{x \atop x+1}\sharp$ appears; finally,&lt;/li&gt;&#xA;&lt;li&gt;a &lt;em&gt;consistent checker&lt;/em&gt;, which guarantees that only symbols with the form $\sharp{x \atop y}\sharp{y \atop z}\sharp$ can appear concurrently.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Note that we do want to accept $\Sigma^*-\{s_n\}$ instead of $\{s_n\}$, so once we find out that the input sequence is disobeying one of the above behaviors, we accept the sequence immediately. Otherwise after $|s_n|$ steps, the NFA will be in the only possible rejecting state. And if the sequence is longer than $|s_n|$, the NFA also accepts. So any NFA satisfies the above five conditions will only reject $s_n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It may be easy to check the following figure directly instead of a rigorous proof:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/0lBw0.jpg&quot; alt=&quot;NFA for rejecting s_n&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We start at the upper-left state. The first part is the starter, and the counter, then the consistent checker, the terminator, finally the add-one checker. All the arc with no terminal nodes point to the bottom-right state, which is an all time acceptor. Some of the edges are not labeled due to lack of spaces, but they can be recovered easily. A dash line represents a sequence of $n-1$ states with $n-2$ edges.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We can (painfully) verify that the NFA rejects $s_n$ only, since it follows all the five rules above. So a $(5n+12)$-state NFA with $|\Sigma|=5$ has been constructed, which satisfies the requirement of the theorem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If there's any unclearliness/problem with the construction, please leave a comment and I'll try to explain/fix it.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;This question has been studied by &lt;a href=&quot;http://www.cs.uwaterloo.ca/~shallit/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Jeffrey O. Shallit&lt;/a&gt; et al., and indeed the optimal value of $f(n)$ is still open for $|\Sigma|&amp;gt;1$. (As for unary language, see the comments in &lt;a href=&quot;https://cstheory.stackexchange.com/questions/3496/conditions-for-nfa-universality/3502#3502&quot;&gt;Tsuyoshi's answer&lt;/a&gt;) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In page 46-51 of &lt;a href=&quot;http://www.cs.uwaterloo.ca/~shallit/Talks/re.ps&quot; rel=&quot;nofollow noreferrer&quot;&gt;his talk on universality&lt;/a&gt;, he provided a construction such that:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Theorem.&lt;/strong&gt; For $n\geq N$ for some $N$ large enough, there is an $n$-state NFA $M$ over binary alphabets such that the shortest string not in $L(M)$ is of length $\Omega(2^{cn})$ for $c=1/75$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Thus the optimal value for $f(n)$ is somewhere between $2^{n/75}$ and $2^n$. I'm not sure if the result by Shallit has been improved in recent years.&lt;/p&gt;&#xA;" OwnerUserId="1800" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2010-12-06T15:45:57.327" CommentCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="3563" PostTypeId="2" ParentId="3533" CreationDate="2010-12-05T15:52:33.940" Score="8" Body="&lt;p&gt;I really enjoyed reading Winskel when I was taking the undergrad course on semantics. I can't tell if it's dated, though, since I don't do research in this field. A plus of Winskel is that you can find it translated in other languages than English. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For a further reading, more at a graduate level, I'd suggest John Mitchell's &lt;a href=&quot;http://theory.stanford.edu/people/jcm/books.html&quot;&gt;books&lt;/a&gt; &lt;em&gt;Foundations for Programming Languages&lt;/em&gt; and &lt;em&gt;Concepts in Programming Languages&lt;/em&gt;. If you read only the first chapters, I guess they also meet your requirement of conciseness.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You will not find free drafts of these books, so if you have a restricted budget go for the &quot;might&quot; in Radu's answer.&lt;/p&gt;&#xA;" OwnerUserId="1542" LastActivityDate="2010-12-05T15:52:33.940" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3564" PostTypeId="2" ParentId="3533" CreationDate="2010-12-05T17:09:57.853" Score="33" Body="&lt;p&gt;It all depends how deep you want to go, and how much you already know. For a beginner Winksel's book is really nice, but yes, it's not introducing you to the state of the art in semantics as it was written about 20 years ago. Nevertheless it's still a good first introduction to the subject. It might also be worthwhile pointing out that T. Nipkow has formalised a substantial chunk of Winskel's book in Isabelle/HOL, see &lt;a href=&quot;http://www4.informatik.tu-muenchen.de/~nipkow/pubs/fac98.html&quot;&gt;here&lt;/a&gt;. So if you want to learn using interactive proof assistants together with understanding the semantics of programming languages, you have a lot of coherent material to draw on.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Other books that are more advanced are:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Gunter, &lt;a href=&quot;http://books.google.co.uk/books?id=Gu2wh2TqVcUC&amp;amp;printsec=frontcover&amp;amp;dq=gunter+semantics+of+programming+languages&amp;amp;source=bl&amp;amp;ots=Iu927q2mHD&amp;amp;sig=swEhGNI8turYbuFOLkt2ilp3nxE&amp;amp;hl=en&amp;amp;ei=4MP7TPunK4W5hAfV6JmOCw&amp;amp;sa=X&amp;amp;oi=book_result&amp;amp;ct=result&amp;amp;resnum=1&amp;amp;ved=0CBoQ6AEwAA#v=onepage&amp;amp;q&amp;amp;f=false&quot;&gt;Semantics of Programming Languages&lt;/a&gt;, a more advanced book focussing on denotational semantics, an approach to semantics, which hasn't lived up to expectations. Focusses on purely functional lanugages and ignores concurrency. This is the book that I taught myself semantics from as an undergraduate, and in retrospect I wish I had used Winksel's book instead. Gunter is not an easy read for a beginner.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://books.google.co.uk/books?id=2FycO5h5SocC&amp;amp;printsec=frontcover&amp;amp;dq=amadio+curien&amp;amp;source=bl&amp;amp;ots=7rBGCSks2y&amp;amp;sig=HAljsWHG6BD6NJqG2EG925_-guM&amp;amp;hl=en&amp;amp;ei=euL8TJndFoXNhAfGztzgCg&amp;amp;sa=X&amp;amp;oi=book_result&amp;amp;ct=result&amp;amp;resnum=1&amp;amp;ved=0CBYQ6AEwAA#v=onepage&amp;amp;q&amp;amp;f=false&quot;&gt;Domains and lambda-calculi&lt;/a&gt; by Amadio and Curien. Another book coming written more in the domain-theoretic tradition, although it discusses process calculi.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;John Mitchell's books which have already been mentioned above. They are also mostly about sequential computation.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Books like Pierce's TAPL are very nice, but focus narrowly on one aspect of programming languages, namely types, as important as that is. I would not recommend it as a first introduction to the general area of programming languages, but it is mandatory to read for anyone who wants to learn about types.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Truth be told, I think there's currently no up-to-date introductory book on language semantics that reflects the substantial progress the last decade has seen, with its decisive shift away from denotational methods and sequential computation to concurrency (process calculi and game semantics), axiomatics semantics and the use of interactive proof assistants in verification. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Update 22. April 2014:&lt;/strong&gt; Tobias Nipkow and Gerwin Klein have published a new book&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www21.in.tum.de/~nipkow/Concrete-Semantics/&quot;&gt;Concrete Semantics&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;which can be seen as 'Winskel in Isabelle/HOL'. It's an introduction to the&#xA;semantics of programming languages (primarily operational and&#xA;axiomatic) but unlike previous pen-and-paper-based approaches, this&#xA;book expresses all its mathematics in Isabelle/HOL. In other words,&#xA;it's at the same time a book about theorem proving.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The book is brand new so I have not used for teaching, but it looks really suitable&#xA;as an introduction that is pitched at a lower level than &lt;a href=&quot;http://www.cis.upenn.edu/~bcpierce/sf/&quot;&gt;Software Foundations&lt;/a&gt;&#xA;by &#xA;Pierce et al.&lt;/p&gt;&#xA;" OwnerUserId="898" LastEditorUserId="898" LastEditDate="2014-04-22T10:28:07.577" LastActivityDate="2014-04-22T10:28:07.577" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="3565" PostTypeId="2" ParentId="3548" CreationDate="2010-12-05T17:29:47.557" Score="16" Body="&lt;p&gt;It's more a property of the incidence matrix than the adjacency matrix, but one important property of planar graphs is that they are exactly the graphs whose graphic matroid is the dual of another graphic matroid. The relation to incidence matrices is that the graphic matroid describes sets of independent columns in the matrix.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2010-12-05T17:29:47.557" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3566" PostTypeId="1" AcceptedAnswerId="3571" CreationDate="2010-12-05T17:31:07.453" Score="25" ViewCount="964" Body="&lt;p&gt;Apologies for asking a question that must surely be in a lot of standard references.  I'm curious about exactly the question in the title, in particular I am thinking of Boolean circuits, no depth bound.  I put &quot;smallest&quot; in quotes to allow for the possibility there are multiple different classes, not known to include each other, for which a superlinear bound is known.&lt;/p&gt;&#xA;" OwnerUserId="2279" LastEditorUserId="186" LastEditDate="2010-12-05T18:35:47.780" LastActivityDate="2017-10-04T02:22:16.087" Title="What's the &quot;smallest&quot; complexity class for which a superlinear circuit bound is known?" Tags="&lt;cc.complexity-theory&gt;&lt;circuit-complexity&gt;" AnswerCount="4" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="3567" PostTypeId="2" ParentId="3559" CreationDate="2010-12-05T17:35:04.983" Score="2" Body="&lt;p&gt;Perhaps this paper which deals with cycle lengths in planar graphs might be of value:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Li, Ming-Chu; Corneil, Derek G.; Mendelsohn, Eric (2000), &quot;Pancyclicity and NP-completeness in planar graphs&quot;, Discrete Applied Mathematics 98 (3): 219–225.&lt;/p&gt;&#xA;" OwnerUserId="987" LastActivityDate="2010-12-05T17:35:04.983" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3568" PostTypeId="2" ParentId="3548" CreationDate="2010-12-05T17:45:57.093" Score="6" Body="&lt;p&gt;While not directly related to your question you might want to look at the work on degree sequences of planar graphs. There are no known characterizations of when a degree sequence is the degree sequence of a planar graph. However, there are a variety of interesting papers about such matters including:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.jstor.org/pss/2100346&quot;&gt;http://www.jstor.org/pss/2100346&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="987" LastActivityDate="2010-12-05T17:45:57.093" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3569" PostTypeId="2" ParentId="3566" CreationDate="2010-12-05T18:08:22.363" Score="13" Body="&lt;p&gt;For general circuits, we know that there are problems in $\Sigma^p_2 \cap \Pi^p_2$ that require circuits of size $\Omega(n^k)$, this is due to Ravi Kannan (1981) and is based on his result that $PH$ contains such problems.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think the best lowerbounds for $NP$ are still around $5n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See Arora and Barak's book, page 297. Richard J. Lipton had &lt;a href=&quot;http://rjlipton.wordpress.com/2010/03/31/a-problem-with-proving-problems-are-hard/&quot;&gt;a post&lt;/a&gt; on &lt;a href=&quot;http://rjlipton.wordpress.com/&quot;&gt;his blog&lt;/a&gt; about these results, also see &lt;a href=&quot;http://rjlipton.wordpress.com/2010/09/02/old-ideas-and-lower-bounds-on-sat/&quot;&gt;this one&lt;/a&gt;. &lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2010-12-05T18:33:11.663" LastActivityDate="2010-12-05T18:33:11.663" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3570" PostTypeId="2" ParentId="3566" CreationDate="2010-12-05T18:39:57.197" Score="20" Body="&lt;p&gt;The strongest result I am aware of is that for all k, there is a problem in $S_2^P$ that requires circuits of size $\Omega(n^k)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$S_2^P$ is a class contained in $ZPP^{NP}$, which is itself contained in $\Sigma_2^P \cap \Pi_2^P$. (The &lt;a href=&quot;http://qwiki.stanford.edu/index.php/Complexity_Zoo%3aS#s2p&quot;&gt;complexity zoo&lt;/a&gt; has more information about this class.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The result follows from the strongest version of the Karp-Lipton theorem due to &lt;a href=&quot;http://dx.doi.org/10.1016/j.jcss.2003.07.015&quot;&gt;Cai&lt;/a&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A quick proof of how this follows from the K-L theorem: First, if SAT requires super-polynomial size circuits, we are done, since we've exhibited a problem in $S_2^P$ that needs super-polynomial size circuits. If SAT has polynomial size circuits, then by the strongest version of the Karp-Lipton theorem, PH collapses to $S_2^P$. We know PH contains problems such problems (by Kannan's result), and thus $S_2^P$ contains such a problem.&lt;/p&gt;&#xA;" OwnerUserId="206" LastActivityDate="2010-12-05T18:39:57.197" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3571" PostTypeId="2" ParentId="3566" CreationDate="2010-12-05T19:07:55.990" Score="25" Body="&lt;p&gt;I believe that the smallest such classes known are $S_2P$ (Cai, 2001), $PP$ (Vinodchandran, 2005), and $(MA \cap coMA)/1$ (Santhanam, 2007).  All of these are indeed known to not be in $SIZE(n^k)$ for each constant $k$.&lt;/p&gt;&#xA;" OwnerUserId="661" LastActivityDate="2010-12-05T19:07:55.990" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3572" PostTypeId="1" AcceptedAnswerId="3573" CreationDate="2010-12-05T19:18:10.583" Score="8" ViewCount="429" Body="&lt;p&gt;This is a somewhat frivolous question that popped up in my head after reading the various responses to &lt;a href=&quot;https://cstheory.stackexchange.com/questions/3566/whats-the-smallest-complexity-class-for-which-a-superlinear-circuit-bound-is-k&quot;&gt;&quot;What's the “smallest” complexity class for which a superlinear circuit bound is known?&lt;/a&gt;&quot;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Answers refer to $\mathsf{S_2 P}$, and when I looked at &lt;a href=&quot;http://qwiki.stanford.edu/index.php/Complexity_Zoo%3aS#s2p&quot; rel=&quot;nofollow noreferrer&quot;&gt;the zoo entry for it&lt;/a&gt;, I discovered this: &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;$\mathsf{S_2-EXP•P^{NP}}$: Don't Ask&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;One of the caged classes of the&#xA;  Complexity Zoo.&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;Has been implicated in a collapse&#xA;  scandal involving $\mathsf{AM}[\text{polylog}]$, $\mathsf{coNP}$,&#xA;  and $\mathsf{EH}$&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;So now I'm intrigued. What's a caged complexity class, and what's the juicy scandal here :) ? The zoo has no references to clarify. &lt;/p&gt;&#xA;" OwnerUserId="80" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2010-12-05T19:37:15.613" Title="&quot;Caged&quot; complexity classes ?" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3573" PostTypeId="2" ParentId="3572" CreationDate="2010-12-05T19:37:15.613" Score="11" Body="&lt;p&gt;The Complexity Zoo has a reference to that result in the description of the class &lt;a href=&quot;http://qwiki.stanford.edu/index.php/Complexity_Zoo%3aA#ampolylog&quot;&gt;AM[polylog]&lt;/a&gt;:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;[…] &lt;a href=&quot;http://qwiki.stanford.edu/index.php/Zooref#ss04&quot;&gt;[SS04]&lt;/a&gt; show that if AM[polylog] contains &lt;a href=&quot;http://qwiki.stanford.edu/index.php/Complexity_Zoo%3aC#conp&quot;&gt;coNP&lt;/a&gt;, then &lt;a href=&quot;http://qwiki.stanford.edu/index.php/Complexity_Zoo%3aE#eh&quot;&gt;EH&lt;/a&gt; collapses to &lt;a href=&quot;http://qwiki.stanford.edu/index.php/Complexity_Zoo%3aS#s2exppnp&quot;&gt;S&lt;sub&gt;2&lt;/sub&gt;-EXP•P&lt;sup&gt;NP&lt;/sup&gt;&lt;/a&gt;. (&lt;a href=&quot;http://qwiki.stanford.edu/index.php/Zooref#pv04&quot;&gt;[PV04]&lt;/a&gt; improved the collapse to &lt;a href=&quot;http://qwiki.stanford.edu/index.php/Complexity_Zoo%3aA#amexp&quot;&gt;AM&lt;sub&gt;EXP&lt;/sub&gt;&lt;/a&gt;.) &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;In the Complexity Zoo, a class or a statement is caged when it looks very scary.  Examples of caged statements can be found in the descriptions of &lt;a href=&quot;http://qwiki.stanford.edu/index.php/Complexity_Zoo%3aC#conppoly&quot;&gt;coNP/poly&lt;/a&gt; and &lt;a href=&quot;http://qwiki.stanford.edu/index.php/Complexity_Zoo%3aS#sfk&quot;&gt;SF&lt;sub&gt;&lt;i&gt;k&lt;/i&gt;&lt;/sub&gt;&lt;/a&gt; (not for the easily scared, reader discretion is advised).&lt;/p&gt;&#xA;" OwnerUserId="567" LastActivityDate="2010-12-05T19:37:15.613" CommentCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="3574" PostTypeId="1" CreationDate="2010-12-05T20:23:24.490" Score="5" ViewCount="408" Body="&lt;p&gt;Is something like DTIME(poly(n))/log(n) in P? Can the log-length advice be somehow hardwired into a DTM for P?&lt;/p&gt;&#xA;" OwnerDisplayName="wanderingone" LastEditorUserId="186" LastEditDate="2010-12-06T02:03:42.177" LastActivityDate="2010-12-06T08:50:59.483" Title="Logarithmic advice language in P?" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;advice-and-nonuniformity&gt;" AnswerCount="1" CommentCount="9" ContentLicense="CC BY-SA 2.5" />
  <row Id="3575" PostTypeId="1" CreationDate="2010-12-05T23:22:45.903" Score="20" ViewCount="1056" Body="&lt;p&gt;I'm looking to figure out whether there are any general results about or examples concerning the NP-completeness of the problem of finding a second solution to an NP-complete problem.  More precisely, I'm interested in any problems of the following form:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a solution $S$ to an instance $I$ of an NP-complete problem, is there a solution $S' \neq S$ to $I$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any examples of problems of this sort, both NP-complete and not, or general work, or even a what this sort of problem is called (so I can properly do my own searching) would be appreciated.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/questions/1639/verifying-unique-solutions-of-sat&quot;&gt;Another question&lt;/a&gt; addresses this issue specifically as pertaining to SAT.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I hope I'm not asking something really basic; there don't seem to be any examples in Garey and Johnson of this kind of thing.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks&lt;br/&gt;&#xA;Mark C.&lt;/p&gt;&#xA;" OwnerUserId="2579" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2021-04-18T14:59:29.820" Title="Complexity of finding a second solution given a correct solution to an NP-complete problem" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;np-hardness&gt;&lt;unique-solution&gt;" AnswerCount="4" CommentCount="3" FavoriteCount="7" ContentLicense="CC BY-SA 2.5" />
  <row Id="3576" PostTypeId="2" ParentId="3575" CreationDate="2010-12-05T23:42:57.657" Score="15" Body="&lt;p&gt;The question seems to be solved while I was writing this answer, but let me post my answer anyway.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Yato and Seta [YS03] (both are my colleagues when I was a student) propose a general framework to prove the NP-completeness of this kind of problems, where they are called Another Solution Problems or ASPs, and prove the NP-completeness of the ASPs of many puzzles.  They consider a restricted notion of reductions between relation problems called ASP reductions, and show that the NP-hardness of ASPs is preserved under ASP reductions and show that many known reductions can be in fact viewed as or modified to ASP reductions between natural relation problems.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[YS03] Takayuki Yato and Takahiro Seta.  Complexity and completeness of finding another solution and its application to puzzles.  &lt;em&gt;IEICE Transactions on Fundamentals of Electronics, Communications and Computer Sciences&lt;/em&gt;, E86-A(5):1052–1060, May 2003.&lt;/p&gt;&#xA;" OwnerUserId="567" LastEditorUserId="567" LastEditDate="2010-12-05T23:54:38.883" LastActivityDate="2010-12-05T23:54:38.883" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="3577" PostTypeId="1" CreationDate="2010-12-05T23:51:42.067" Score="46" ViewCount="6620" Body="&lt;p&gt;On a &lt;a href=&quot;https://cstheory.stackexchange.com/questions/3533/books-on-programming-language-semantics&quot;&gt;different thread&lt;/a&gt;, Andrej Bauer defined denotational semantics as:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;the meaning of a program is a function of the meanings of its parts.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;What bothers me about this definition is that it doesn't seem to single out what is commonly thought of as &lt;a href=&quot;http://en.wikipedia.org/wiki/Denotational_semantics&quot; rel=&quot;noreferrer&quot;&gt;denotational semantics&lt;/a&gt; from what is commonly thought of as non-denotational semantics, namely structural &lt;a href=&quot;http://en.wikipedia.org/wiki/Operational_semantics&quot; rel=&quot;noreferrer&quot;&gt;operational semantics&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More precisely, the key ingredient here is &lt;em&gt;modularity&lt;/em&gt;, or &lt;em&gt;compositionality&lt;/em&gt;, of the semantics, or put differently, the fact that they are defined according to the abstract structure of the program. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;As most (all?) formal semantics nowadays tend to be structural, is this the required definition?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, my question is: What is denotational semantics?&lt;/p&gt;&#xA;" OwnerUserId="142" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2012-12-17T13:08:14.037" Title="What constitutes denotational semantics?" Tags="&lt;pl.programming-languages&gt;&lt;big-picture&gt;&lt;semantics&gt;&lt;denotational-semantics&gt;" AnswerCount="7" CommentCount="10" FavoriteCount="26" ContentLicense="CC BY-SA 3.0" />
  <row Id="3578" PostTypeId="2" ParentId="3540" CreationDate="2010-12-05T23:57:08.107" Score="35" Body="&lt;p&gt;Let me add the following:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://algo.inria.fr/flajolet/Publications/AnaCombi/anacombi.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;Analytic Combinatorics&lt;/a&gt;, by Flajolet and Sedgewick&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strike&gt;&lt;a href=&quot;http://www-igm.univ-mlv.fr/~berstel/LivreCodes/Old/newlivreCodesOld.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Codes and Automata&lt;/a&gt;&lt;/strike&gt;  (Link Broken), by Berstel, Perrin and Reutenauer&lt;/p&gt;&#xA;" OwnerUserId="2367" LastEditorUserId="4552" LastEditDate="2017-09-05T21:45:32.190" LastActivityDate="2017-09-05T21:45:32.190" CommentCount="0" CommunityOwnedDate="2010-12-05T23:57:08.107" ContentLicense="CC BY-SA 3.0" />
  <row Id="3579" PostTypeId="2" ParentId="3575" CreationDate="2010-12-06T00:18:59.547" Score="7" Body="&lt;p&gt;Given a Hamilton circuit in a graph find another hamilton circuit. This is FNP-complete. Interestingly, there are problems in which the &quot;another solution&quot; is guaranteed to exist by a parity argument. For example : Given a Hamilton circuit in a 3-regular graph, find a second Hamilton circuit. Note that finding a hamiltonian circuit in 3-regular graph is NP-complete. Finding the second one, given that the graph is hamiltonian, is in PPA.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See my &lt;a href=&quot;http://kintali.wordpress.com/2009/07/25/finding-a-second-hamilton-circuit/&quot;&gt;blog post&lt;/a&gt; for more details.&lt;/p&gt;&#xA;" OwnerUserId="344" LastActivityDate="2010-12-06T00:18:59.547" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="3580" PostTypeId="2" ParentId="3575" CreationDate="2010-12-06T01:21:42.097" Score="1" Body="&lt;p&gt;Here is another example from this paper &lt;a href=&quot;http://www.springerlink.com/content/hg7817377752m697/&quot; rel=&quot;nofollow&quot;&gt;THE COMPUTATIONAL COMPLEXITY OF RECOGNIZING CRITICAL SETS&lt;/a&gt;:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Unique edge-partitioning into triangles is $NP$-complete&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Input&lt;/strong&gt;: Tripartite graph $G$ and an edge partition into triangles&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question&lt;/strong&gt;: Is there another edge-partition different from the given one?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The paper also proves that $NP$-completeness of this problem&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Input&lt;/strong&gt;: Partial Latin square $P$ with a given a Latin square completing $P$&#xD;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question&lt;/strong&gt;: Is there another completion to a Latin square?&lt;/p&gt;&#xA;" OwnerUserId="495" LastActivityDate="2010-12-06T01:21:42.097" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3581" PostTypeId="1" AcceptedAnswerId="3582" CreationDate="2010-12-06T01:52:33.333" Score="9" ViewCount="6064" Body="&lt;p&gt;When I looked through &quot;&lt;a href=&quot;http://www.cs.ust.hk/mjg_lib/Library/Held_Karp_1.pdf&quot;&gt;A Dynamic Programming Approach to Sequencing Problems&lt;/a&gt;&quot; by Michael Held and Richard M. Karp, I came up with the following question:&#xA;why the complexity of their algorithm for TSP is $(\sum_{k=2}^{n-1}k(k-1)\binom{n-1}{k})+(n-1)$ (p. 199), I mean where do they take the factor $k$? If I understood correctly $k-1$ means the number of additions for each subset of cities. Then why each addition operation is coupled with unknown to me $k$ operations? I suppose it is connected somehow to taking minimum, but computing minimum doesn't seem to require such many operations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Dynamic programming algorithm by Held and Karp and independently Bellman runs as follows:&#xA;for each pair $(S,c_i)$, meaning a path going through $c_1$, all the elements of $S$ and terminating at $c_i$ compute&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$OPT[S,c_i]=min\{OPT[S\setminus\{c_i\},c_j]+d(c_j,c_i):c_j\in S\setminus\{c_i\}\},$&#xD;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where $d(c_j,c_i)$ means the distance between cities $c_j$ and $c_i$. Then in the formula from the paper $k$ means the size of $S$.&lt;/p&gt;&#xA;" OwnerUserId="1060" LastEditorUserId="567" LastEditDate="2010-12-06T03:55:23.823" LastActivityDate="2018-12-09T20:10:09.613" Title="Time complexity of Held-Karp algorithm for TSP" Tags="&lt;ds.algorithms&gt;&lt;tsp&gt;&lt;exp-time-algorithms&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="3582" PostTypeId="2" ParentId="3581" CreationDate="2010-12-06T03:39:37.843" Score="5" Body="&lt;p&gt;Addendum to below, clarifying the $k(k-1)$ terms:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, if you examine the terms in the expression, you can envision (as analogy) the $n-1 \choose k$ term is an enumeration of all binary strings containing $k$ 1's that have a 1 in the first position. In other words, we let each position in the binary string represent the choice of whether a given one of the $n$ cities in the problem are in the exact subset we are considering at the time. So, for 5 cities, 10101 corresponds to the subset {1,3,5}.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thus, to compute across all subsets of {1,...,$n$}, we simply count through each binary subset (i.e. count through binary strings) of size=2 (i.e. binary strings of size $n$ that contain two 1's), then size=3, then size=4, ...then size=n. (Note that the size=1 subset must contain only the first city, and thus it's irrelevant to compute its partial distance, since the distance from 1 -&gt; all other cities in the subset -&gt; 1 is exactly 0.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;At each subset with $k$ cities, we have to consider up to $k-1$ candidate-optimal, partial paths. Specifically, the optimal, total path could conceivably traverse through the given subset and end up on any of the $k-1$ cities, excluding the first city. Then, for each such candidate sub-path, we compute the optimal tour up to that point as the minimum of any of the previous, size=$k-1$ sub-paths plus the distance from the terminal city for that sub-path to the terminal city for the current candidate sub-path. This gives $(k-1)(k-2)$ such comparisons that we must make. The discrepancy between my $(k-1)(k-2)$ term, and the $k(k-1)$ term in the analysis linked is a notational difference (I would sum over a different range, given my definition of $k$ than they did). At the very least, however, it should illustrate the quadratic-order complexity of that term.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;How interesting -- I just finished coding this exact algorithm up in C++ a few minutes ago. (So forgive the tangent from pure theory into a little practical discussion. :))&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It costs $O(2^n n^2)$ time and $O(2^n n)$ space -- at least under my implementation. Practically speaking though, when your space requirements grow that fast, they become way more painful than the time requirements. For instance, on my PC (with 4 GB of RAM), I can solve instances with up to 24 cities -- any more than that, and I run out of memory.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course, I could just be a bad programmer, and you might be able to do better than me in practice. :)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit: A little more specifics on one detail of your question: The $k(k-1)$ term comes from the fact that you have to, in the worst case, calculate the partial, optimal distance from the previous subsets (there are at most $n$ of them; note that $k$ is summed over $n$ in the analysis you linked) to the current one. This requires, again in the worst case, $O(k)$ comparisons with subsets of size $k-1$ for a total of $O(k^2)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, if my explanation wasn't clear enough, here are some nice lecture notes of Vazirani's (&lt;a href=&quot;http://www.cs.berkeley.edu/~vazirani/algorithms/chap6.pdf&quot;&gt;PDF&lt;/a&gt;). Scroll down to P. 188 for a discussion of TSP, including an analysis of Held-Karp.&lt;/p&gt;&#xA;" OwnerUserId="108" LastEditorUserId="108" LastEditDate="2010-12-07T02:34:39.503" LastActivityDate="2010-12-07T02:34:39.503" CommentCount="10" ContentLicense="CC BY-SA 2.5" />
  <row Id="3583" PostTypeId="2" ParentId="3577" CreationDate="2010-12-06T03:55:12.603" Score="30" Body="&lt;p&gt;The distinction I personally make between denotational and operational semantics is something like this:  &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;denotational semantics is mathematical and equational. The details of the reduction matter less than the end result, which is a timeless value in some mathematical space. &lt;/li&gt;&#xA;&lt;li&gt;operational semantics is algorithmic. It unfolds in individual steps in time.  The process is part of the the meaning, and the end result is just a distinguished step in that process.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The difference can sometimes be quite subtle, and it can be hard to tell if it is just a difference in style, or in substance.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, we can see how Andrej's compositional definition follows more naturally from the denotational definition, and we can also easily imagine a non-confluent, non-compositional semantics that still meets the operational definition. &lt;/p&gt;&#xA;" OwnerUserId="629" LastActivityDate="2010-12-06T03:55:12.603" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3584" PostTypeId="2" ParentId="3575" CreationDate="2010-12-06T05:11:23.117" Score="8" Body="&lt;p&gt;Laurent Juban in &lt;a href=&quot;http://www.springerlink.com/content/kayaxnxakp4r56ep/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Dichotomy Theorem for&#xA;the Generalized Unique Satisability Problem&lt;/a&gt; proved a dichotomy theorem for &lt;strong&gt;Another SAT&lt;/strong&gt; defined as:&lt;/p&gt;&#xA;&lt;p&gt;Input: a propositional formula &lt;span class=&quot;math-container&quot;&gt;$\phi$&lt;/span&gt; and a satisfying assignment (model) &lt;span class=&quot;math-container&quot;&gt;$m$&lt;/span&gt; of &lt;span class=&quot;math-container&quot;&gt;$\phi$&lt;/span&gt;&lt;/p&gt;&#xA;&lt;p&gt;Question: Is there another satisfying assignment of &lt;span class=&quot;math-container&quot;&gt;$\phi$&lt;/span&gt; different from &lt;span class=&quot;math-container&quot;&gt;$m$&lt;/span&gt;?&lt;/p&gt;&#xA;&lt;p&gt;Here an excerpt from the paper with the dichotomy theorem:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Theorem 1 (Dichotomy Theorem). Let &lt;span class=&quot;math-container&quot;&gt;$S$&lt;/span&gt; be a finite set of logical relations.&#xA;If &lt;span class=&quot;math-container&quot;&gt;$S$&lt;/span&gt; satisfies one of the conditions (1) to (6) below, then ANOTHER SAT(S) and&#xA;UNIQUE SAT(S) are polynomial-time solvable. Otherwise, ANOTHER SAT(S) is&#xA;&lt;span class=&quot;math-container&quot;&gt;$NP$&lt;/span&gt;-complete and UNIQUE SAT(S) is &lt;span class=&quot;math-container&quot;&gt;$coNP$&lt;/span&gt;-hard.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Every satisfiable relation in &lt;span class=&quot;math-container&quot;&gt;$S$&lt;/span&gt; is 0-valid and 1-valid.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;ol start=&quot;2&quot;&gt;&#xA;&lt;li&gt;Every relation in &lt;span class=&quot;math-container&quot;&gt;$S$&lt;/span&gt; is complementive.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;ol start=&quot;3&quot;&gt;&#xA;&lt;li&gt;Every relation in &lt;span class=&quot;math-container&quot;&gt;$S$&lt;/span&gt; is Horn.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;ol start=&quot;4&quot;&gt;&#xA;&lt;li&gt;Every relation in &lt;span class=&quot;math-container&quot;&gt;$S$&lt;/span&gt; is anti-Horn.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;ol start=&quot;5&quot;&gt;&#xA;&lt;li&gt;Every relation in &lt;span class=&quot;math-container&quot;&gt;$S$&lt;/span&gt; is affine.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;ol start=&quot;6&quot;&gt;&#xA;&lt;li&gt;Every relation in &lt;span class=&quot;math-container&quot;&gt;$S$&lt;/span&gt; is 2SAT.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2021-04-18T14:59:29.820" LastActivityDate="2021-04-18T14:59:29.820" CommentCount="2" ContentLicense="CC BY-SA 4.0" />
  <row Id="3585" PostTypeId="2" ParentId="3574" CreationDate="2010-12-06T08:50:59.483" Score="8" Body="&lt;p&gt;As pointed in the comments, You cannot do this in general,&#xA;However, if you're willing to restrict the class and add some some structure you can achive this. For example, you can use the self-reducibility of SAT to remove the advice, i.e if &#xA;$NP\in P/log$ then $NP=P$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In general, the same is true for complexity classes with self-reducible complete problem, and similar arguments for complexity classes with instance checkers $(EXP,PSPACE,P^{\#P})$ will allow you to remove even larger advices (polynomial) with the difference that now you need to use  probabilistic machines.&lt;/p&gt;&#xA;" OwnerUserId="364" LastActivityDate="2010-12-06T08:50:59.483" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3586" PostTypeId="1" AcceptedAnswerId="3598" CreationDate="2010-12-06T13:08:46.120" Score="4" ViewCount="541" Body="&lt;p&gt;I want to read papers on cryptography like &#xA;&lt;a href=&quot;http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=63486&quot; rel=&quot;nofollow noreferrer&quot;&gt;How to Recycle Random Bits&lt;/a&gt;&#xA;or &lt;a href=&quot;http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=89550&quot; rel=&quot;nofollow noreferrer&quot;&gt;Security Preserving Ampliﬁcation of Hardness&lt;/a&gt;. They use random walks on expander graphs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I need a short introduction to the subject of expander graphs and random walks on them. I prefer one that has cryptography in mind.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;PS:&lt;/strong&gt; In &lt;a href=&quot;https://cstheory.stackexchange.com/questions/1168/what-papers-should-everyone-read/1402#1402&quot;&gt;another post&lt;/a&gt;, Dai Le introduced the paper &lt;a href=&quot;http://www.cs.huji.ac.il/~nati/PAPERS/expander_survey.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Expander graphs and their applications, S. Hoory, N. Linial, and A. Wigderson&lt;/a&gt; as an excellent paper on expander graphs. Unfortunately, it is too long (123 pages) to be useful for me.&lt;/p&gt;&#xA;" OwnerUserId="873" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2010-12-06T20:14:36.737" Title="Resources on Cryptographic Applications of Expander Graphs" Tags="&lt;graph-theory&gt;&lt;reference-request&gt;&lt;cr.crypto-security&gt;&lt;expanders&gt;" AnswerCount="2" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3587" PostTypeId="2" ParentId="3577" CreationDate="2010-12-06T13:38:08.957" Score="19" Body="&lt;p&gt;I agree that A. Bauer's identification of denotational semantics with compositionality (in &lt;a href=&quot;https://cstheory.stackexchange.com/questions/3533/books-on-programming-language-semantics&quot;&gt;Books on programming language semantics&lt;/a&gt;) doesn't really characterise well what has traditionally been meant by denotational semantics, since clearly operational semantics as well as program logics (axiomatics semantics) are compositional.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'd suggest the term is best understood socio-historically, as referring loosely to a certain theory tradition (started in earnest when Scott produced a lattice-theoretic model of the untyped lambda-calculus) with certain preferred tools (order theory, fixpoint theorems, topology, category theory) and preferred target languages (purely functional and sequential). I imagine that -- apart from pure intellectual interest -- denotational semantics was mostly invented because:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;It used to be difficult to reason about operational semantics.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;It used to be difficult to give axiomantic semantics to non-trivial languages.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;I'd argue that both problems have been ameliorated to a substantial degree, (1) for example by bisimilation based techniques coming from process theory (which can be seen as a specific form of operational semantics) or e.g Pitts work on operational semantics and program equivalence, and (2) by the developments of e.g. separation logic or Hoare logics derived as typed versions of Hennessy-Milner logics via programming language embeddings in typed $\pi$-calculi.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, in summary, I'd argue that the term &quot;denotational semantics&quot; has become less precise, and thus less useful. It might be helpful for the semantics community to converge towards better terminology.&lt;/p&gt;&#xA;" OwnerUserId="898" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2012-02-26T14:18:40.580" CommentCount="30" ContentLicense="CC BY-SA 3.0" />
  <row Id="3588" PostTypeId="2" ParentId="3577" CreationDate="2010-12-06T14:53:57.433" Score="24" Body="&lt;p&gt;If I were to guess what Dana Scott would say, he'd probably say that denotational semantics is compositional (like what I claimed) and that the &lt;em&gt;meaning&lt;/em&gt; of a program must be a genuine mathematical object, not some syntactic or formalist entity. Of course, such a view requires one to differentiate between formal manipulation of syntax and &quot;true&quot; mathematics. This is necessarily a non-mathematical distinction.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As an afterthought, one would presumably want the meaning to be adequate in the sense that two observationally different program do not receive the same meaning. Of course, adequacy of this kind depends on what one admits as &quot;observation&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Under this view it could be argued that structural operational semantics is not denotational semantics because it equates the meaning of a syntactic entity with another syntactic entity (a value or a reduction sequence).&lt;/p&gt;&#xA;" OwnerUserId="705" LastActivityDate="2010-12-06T14:53:57.433" CommentCount="11" ContentLicense="CC BY-SA 2.5" />
  <row Id="3589" PostTypeId="2" ParentId="3540" CreationDate="2010-12-06T16:35:53.010" Score="27" Body="&lt;p&gt;Sariel Har-Peled has an upcoming book on Geometric Approximation Algorithms. It has been&#xA;available in draft form as lecture notes for a while now.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://valis.cs.uiuc.edu/~sariel/teach/notes/aprx/&quot;&gt;http://valis.cs.uiuc.edu/~sariel/teach/notes/aprx/&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="176" LastActivityDate="2010-12-06T16:35:53.010" CommentCount="4" CommunityOwnedDate="2010-12-06T16:35:53.010" ContentLicense="CC BY-SA 2.5" />
  <row Id="3590" PostTypeId="2" ParentId="3549" CreationDate="2010-12-06T17:54:34.657" Score="2" Body="&lt;p&gt;I think little is known about such questions because they are immediately in the NP-hard domain. As a concrete example, consider the problem of deciding given a set in the plane (with piecewise linear boundaries), what is the minimal number of triangles needed to cover it. However, after appropriate twiddling, this is minimum set cover of points in the plane by triangles, which is hard. And this is maybe the simplest variant of such a problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another way of thinking about this problem (which is hand-wavy and just intuition, but nevertheless...), is that you are trying to find the simplest description of a decision surface that separates some set of points from another. And that is, in general, a very hard problem...&lt;/p&gt;&#xA;" OwnerUserId="9594" LastEditorUserId="9594" LastEditDate="2010-12-06T19:04:47.280" LastActivityDate="2010-12-06T19:04:47.280" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3592" PostTypeId="1" AcceptedAnswerId="3603" CreationDate="2010-12-06T18:40:36.543" Score="3" ViewCount="734" Body="&lt;p&gt;Let &lt;span class=&quot;math-container&quot;&gt;$\Pi$&lt;/span&gt; be NP-complete problem.&lt;/p&gt;&#xA;&lt;p&gt;Can we partition set of instances of &lt;span class=&quot;math-container&quot;&gt;$\Pi$&lt;/span&gt; into finite number of subsets (subproblems) each of which is polynomially solvable (and not necessarily polynomially recognizable)?&lt;/p&gt;&#xA;&lt;p&gt;For example, &lt;span class=&quot;math-container&quot;&gt;$\Pi$&lt;/span&gt; is NP-complete for graphs with maximal degree &lt;span class=&quot;math-container&quot;&gt;$\Delta=3$&lt;/span&gt;, but polynomially solvable for cubic and graphs with &lt;span class=&quot;math-container&quot;&gt;$\Delta=2$&lt;/span&gt;?&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;I have obtained two answers on my question: &amp;quot;trivially yes&amp;quot; (by Peter Shor and mikero) and no, unless &lt;span class=&quot;math-container&quot;&gt;$P=NP$&lt;/span&gt; (by Sadeq Dousti and Antonio E. Porreca). I'm curious why such easy question gets such contradicting answers (not taking into account the reason that I have formulated it ambiguously). So the question is:&lt;/p&gt;&#xA;&lt;p&gt;how to formulate two questions such that for each of them corresponding answers would hold.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;hr /&gt;&#xA;&lt;p&gt;The last edition of this question has been answered in full by Peter Shor on Math.SE &lt;a href=&quot;https://math.stackexchange.com/questions/15231/can-we-partition-np-complete-problem-into-finite-number-of-polynomially-solvable&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Here is the answer:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&amp;quot;There are two different possible questions here. When you ask for the solution of an NP-complete problem, you can either (a) require the computer to give you a witness in the &amp;quot;yes&amp;quot; cases or (b) just require the computer to give you the answer.&amp;quot;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="1060" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2012-08-24T13:50:12.710" Title="Can we partition NP-complete problem into finite number of polynomially solvable problems?" Tags="&lt;cc.complexity-theory&gt;" AnswerCount="3" CommentCount="15" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="3593" PostTypeId="1" AcceptedAnswerId="3602" CreationDate="2010-12-06T18:50:06.537" Score="7" ViewCount="833" Body="&lt;p&gt;The MAX-CUT problem has constant factor approximation, but we can't control the sizes of the sets in resulting partition. What is known about maximizing cut size, if we restrict one part of the partition to have size exactly $k$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Formally, given a graph $G(V, E)$ and integer $k$, find the set $S \subset V$, such that $|S| = k$ and the number of edges between $S$ and $V \setminus S$ is maximized. What is the name of this problem (for example, if $k = |V|/2$, this is known as MAX-BISECTION)? Does it become easier to approximate in polynomial time, if $k$ is $polylog(|V|)$?&lt;/p&gt;&#xA;" OwnerUserId="254" LastEditorUserId="254" LastEditDate="2010-12-06T21:21:34.343" LastActivityDate="2010-12-06T22:25:59.197" Title="Approximation algorithms for MAX-CUT, when sizes of partition sets are fixed" Tags="&lt;ds.algorithms&gt;&lt;approximation-algorithms&gt;&lt;max-cut&gt;" AnswerCount="2" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3594" PostTypeId="2" ParentId="3592" CreationDate="2010-12-06T18:50:32.910" Score="3" Body="&lt;p&gt;Take a look at:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Parameterized_complexity&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/Parameterized_complexity&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="987" LastActivityDate="2010-12-06T18:50:32.910" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3595" PostTypeId="2" ParentId="3586" CreationDate="2010-12-06T19:12:43.617" Score="2" Body="&lt;p&gt;The survey by Hoory, Linial and Wigderson mentioned in the comments is highly recommended. In addition, the following two references each provide a really short introduction:   &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Michael Nielsen: &lt;a href=&quot;http://www.qinfo.org/people/nielsen/blog/archive/notes/expander_graphs.pdf&quot; rel=&quot;nofollow&quot;&gt;Introduction to expander graphs&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Peter Sarnak: &lt;a href=&quot;http://www.ams.org/notices/200407/what-is.pdf&quot; rel=&quot;nofollow&quot;&gt;WHAT IS...an Expander&lt;/a&gt;, Notices of the AMS, August 2004&lt;/p&gt;&#xA;" OwnerUserId="2367" LastActivityDate="2010-12-06T19:12:43.617" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3596" PostTypeId="2" ParentId="3593" CreationDate="2010-12-06T19:46:22.767" Score="3" Body="&lt;p&gt;I don't know of a name for the Max-Cut problem where one side of the cut is restricted to be of size k. &#xA;There is the &lt;em&gt;balanced separator&lt;/em&gt; problem, where each side is required to have a large fraction of the vertices. This may be what you are looking for.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If one side of the cut is of size k, then there is an (n choose k) time algorithm. So if k=polylogn, there is a quasi-polynomial time algorithm for the problem, and it's not NP-hard.&lt;/p&gt;&#xA;" OwnerUserId="1621" LastActivityDate="2010-12-06T19:46:22.767" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="3597" PostTypeId="1" AcceptedAnswerId="3607" CreationDate="2010-12-06T19:53:13.323" Score="8" ViewCount="452" Body="&lt;p&gt;I hope I've come to the right place... it's (probably) a fairly straightforward Logic Programming question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If I have two clauses of the form:&#xA;&lt;code&gt;B:-A C:-A&lt;/code&gt;&#xA;I can transform these into:&#xA;&lt;code&gt;B,C:-A&lt;/code&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(&lt;strong&gt;Edit:&lt;/strong&gt; &lt;em&gt;where &lt;code&gt;B,C&lt;/code&gt; is a conjunction. I'm doing bottom-up evaluation and it's useful to me to represent multiple clauses with the same body using one clause with a conjunction of the respective heads. This seems trivial, but I'm wondering if there's a name for such a transformation&amp;mdash;however, I know that the resulting clause is no longer a Horn clause.&lt;/em&gt;)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does anyone know if this transformation has a name, and if so, can anyone provide a pointer (preferably online) to somewhere that describes it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Many thanks (from a n00b).&lt;/p&gt;&#xA;" OwnerUserId="2591" LastEditorUserId="1800" LastEditDate="2011-01-24T04:09:09.787" LastActivityDate="2011-05-04T21:57:34.640" Title="Logic Programming: Transforming B:-A C:-A to B,C:-A" Tags="&lt;reference-request&gt;&lt;pl.programming-languages&gt;&lt;terminology&gt;&lt;logic-programming&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="3598" PostTypeId="2" ParentId="3586" CreationDate="2010-12-06T20:14:36.737" Score="8" Body="&lt;p&gt;I suggest you look at a survey by Oded Goldreich, called &lt;a href=&quot;http://www.wisdom.weizmann.ac.il/~oded/PDF/samplers.pdf&quot; rel=&quot;nofollow&quot;&gt;A computational perspective on sampling&lt;/a&gt;. In that survey he presents some basic facts on expanders (along with pointers to more extensive material). These facts seem to be sufficient to at least understand the &quot;Security Preserving Amplification of Hardness&quot; paper. In particular, in appendix A he surveys random walks on expanders, and in C.4 he presents the expander hitter, which is what is essentially done in that paper. &lt;/p&gt;&#xA;" OwnerUserId="2120" LastActivityDate="2010-12-06T20:14:36.737" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3601" PostTypeId="2" ParentId="3592" CreationDate="2010-12-06T21:15:51.887" Score="8" Body="&lt;p&gt;If you partition the input into sets of instances, each of which has the same solution, then each of these sets of instances is indeed polynomial-time solvable. I'm sure this isn't what you're looking for, but I don't see how to naturally exclude it from your question.&lt;/p&gt;&#xA;" OwnerUserId="1677" LastActivityDate="2010-12-06T21:15:51.887" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="3602" PostTypeId="2" ParentId="3593" CreationDate="2010-12-06T22:25:59.197" Score="10" Body="&lt;p&gt;There is a 1/2-approximation for Max-Cut with a given size k where k is part of the input. This is in a paper of Ageev and Sviridenko on pipage rounding. See below.&#xA;&lt;a href=&quot;http://www.springerlink.com/content/r37k4302n7m17427/&quot;&gt;http://www.springerlink.com/content/r37k4302n7m17427/&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The above problem is an example of submodular function maximization subject to a matroid base constraint. There has been much recent work on submodular function maximization subject to a variety of constraints. &lt;/p&gt;&#xA;" OwnerUserId="176" LastActivityDate="2010-12-06T22:25:59.197" CommentCount="6" ContentLicense="CC BY-SA 2.5" />
  <row Id="3603" PostTypeId="2" ParentId="3592" CreationDate="2010-12-06T22:31:38.813" Score="7" Body="&lt;p&gt;Let $\Pi = \{\Pi_1, \ldots, \Pi_n\}$ be the finite partition of problem $\Pi$. Let $M_1, \ldots, M_n$ be the poly-time machines which decide the corresponding partition.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since the partition is finite, we can construct a poly-time machine $M$ which incorporates the code of $M_1, \ldots, M_n$. On input $x \in \Pi_i$, $M$ determines the corresponding partition $\Pi_i$, and calls the respective machine $M_i$ to decide it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This shows that $\Pi$ can be decided in poly-time, which is impossible unless $P = NP$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit:&lt;/strong&gt; The above approach is incorrect in that $M$ may not be able to determine the correct partition. &#xA;The right approach is given by Antonio in a comment bellow. It does not need to recognize the partition; instead, it just runs all $M_i$'s on $x$ an accepts if and only if at least one of them accepts.&lt;/p&gt;&#xA;" OwnerUserId="873" LastEditorUserId="873" LastEditDate="2012-08-24T13:50:12.710" LastActivityDate="2012-08-24T13:50:12.710" CommentCount="21" ContentLicense="CC BY-SA 3.0" />
  <row Id="3604" PostTypeId="1" CreationDate="2010-12-06T22:35:18.433" Score="-9" ViewCount="1727" Body="&lt;p&gt;&lt;strong&gt;attempt to restate question&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;From the feedback, it is obvious that I have not clearly articulated my point.  Also, it is not my intent to be condescending.  I very clearly have a notion / idea / question that is contrary to the doctrine subscribed to by the readers of this question.  I am genuinely trying to reconcile something that is so incongruent to me that it is difficult to even put in to words.  I literally do no know how to express it in a succinct simple paragraph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This may not help, but let me try an analogy.  Let's say that hypothetically there are two different groups, the first one is called 'EE' and the second is called 'CS'.  Both groups consider themselves to be authoritative experts in Boolean circuits.  As unlikely as it may seem, for some reason the two groups do not speak to each other or read the others results, despite their common interest.  There are some differences:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The &quot;EE&quot; group builds boolean circuits.  They literally turn theoretical ideas into to something physical.  Physical goods mean there are very tangible, objectively unambiguous costs involved.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The &quot;CS&quot; group does not (usually) build circuits.  Because nothing is physically produced, the physical resource costs tend to be dramatically lower for the &quot;CS&quot; group, almost to the point where it is &quot;effectively zero.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Although both groups consider themselves boolean circuit experts, there is a curious discrepancy in the choice for their respective &quot;boolean basis.&quot;  As long as the boolean basis is &quot;complete&quot;, that basis can be provably shown to be able to serve as the building block for every possible &lt;em&gt;n&lt;/em&gt;-arity boolean function.  What is important is that there are a couple of &quot;natural&quot; boolean basis choices, but as long as the boolean basis choice is &quot;complete&quot;, the different &quot;natural&quot; choices can all implement all &lt;em&gt;n&lt;/em&gt;-arity boolean functions- that is to say, one choice is not &quot;more powerful&quot; or &quot;more expressive&quot; than the other.  The &quot;complete&quot; property means that they are &quot;logically identical&quot;, despite the seemingly paradoxical fact that they are composed of distinctly different primitives.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Almost since the dawn of building boolean circuits, the &quot;EE&quot; group has consistently and invariably chosen &quot;NAND&quot; (which, to an EE person, there is no need to state the obvious &quot;and NOR&quot; qualification).  For the EE group, the reason for this choice is so obvious to them it literally does not occur to them that anyone would make a different choice.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The &quot;CS&quot; group, on the other hand, has chosen &quot;AND, OR, NOT&quot;.  This choice can express exactly the same &lt;em&gt;n&lt;/em&gt;-arity circuits as &quot;NAND&quot;, and vice versa, due to the fact that both are a &quot;complete&quot; boolean basis.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The fact that the &quot;EE&quot; group has very real physical costs, which tends to translate directly in to money, means that even though there is no logical difference between a boolean basis choice, if one of the many available choices in any way what-so-ever has a monetary advantage, that's the one that is picked.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Money has a tendency to place a &lt;strong&gt;simply enormous pressure&lt;/strong&gt; to ensure that whatever &quot;choice&quot; is made is the optimal one.  It is not hyperbole to say that &lt;em&gt;billions&lt;/em&gt; of dollars riding on the decision.  It is difficult to put in to words how much pressure and effort goes in to this.  There is simply no detail, and the pedantic consequences of every possible permutation of those details, behind choosing &quot;NAND&quot; that is not completely understood and justified.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In my original question, I point out two examples of this: The Apollo Guidance Computer, which made landing on the moon possible, and the Cray-1, the legendary computer by Seymour Cray.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you are unaware of the details, it is difficult to express what it means to &quot;Space Certify&quot; a design.  I think it's safe to say that Seymour Cray is widely recognized to be genuinely gifted at &quot;building circuits&quot;.  Although it may seem &quot;insignificant&quot;, the decision to use 4 / 5 input NAND gates exclusively in the design of the Cray 1 was one of the contributing factors behind its legendary performance.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Again, I sincerely apologize for the lengthy exposition, but based on the responses I can't help but feel that at least some of you do not fully appreciate the significance of the fact that&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;There is another group of people who consider themselves &quot;boolean circuit experts&quot;.&lt;/li&gt;&#xA;&lt;li&gt;This other group of &quot;boolean circuit experts&quot; has consistently, universally, and invariably chosen &quot;NAND&quot; as their boolean basis, despite the fact that there are multiple, equivalent options.&lt;/li&gt;&#xA;&lt;li&gt;As near as I can tell, the &quot;CS&quot; group began developing their boolean circuit models (i.e., $AC^0$, $NC$, etc) right around the time the first P vs. NP descriptions and theories began to take form in the 1970's.&lt;/li&gt;&#xA;&lt;li&gt;This means that the &quot;EE&quot; boolean circuit theories predate the &quot;CS&quot; boolean circuit theories by decades.&lt;/li&gt;&#xA;&lt;li&gt;Yet, despite a rich, mature, and well understood body of work that was available, the &quot;CS&quot; group made the curious decision to go with &quot;AND, OR, NOT&quot;.&lt;/li&gt;&#xA;&lt;li&gt;At some point, someone in the &quot;CS&quot; group &quot;discovered&quot; that PARITY was not in $AC^0$, and published a peer reviewed paper.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I fully appreciate that all of this sounds completely condescending.  This is genuinely not my intent.  It's difficult for me to gauge this audience to determine at what point providing the justification for my point turns in to sounding like a condescending ass.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is fairly obvious that I felt a need to justify my simple question:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;The well known result regarding &lt;em&gt;parity&lt;/em&gt; and $AC^0$, also taken from from &lt;a href=&quot;http://en.wikipedia.org/wiki/Circuit_complexity&quot; rel=&quot;nofollow&quot;&gt;Wikipedia&lt;/a&gt;:&lt;/p&gt;&#xA;  &#xA;  &lt;blockquote&gt;&#xA;    &lt;p&gt;The Boolean function PARITY, which is 1 if and only if the sum of its input bits is odd, does not lie in $AC^0$.&lt;/p&gt;&#xA;  &lt;/blockquote&gt;&#xA;  &#xA;  &lt;p&gt;My question is: &quot;Why is this considered to be a fundamentally important result?&quot;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Now, I admit, this is an extremely odd question.  The reason why I asked it is because, at least for me, I find this detail &lt;em&gt;&lt;strong&gt;extremely interesting&lt;/strong&gt;&lt;/em&gt;:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The people who actually build circuits use NAND as their boolean basis.&lt;/li&gt;&#xA;&lt;li&gt;The &quot;CS&quot; theory people choose &quot;AND, OR, NOT&quot;.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;For me, this stands out like a neon red light. Even if you think I'm completely wrong, I at least hope that you recognize &quot;I wasn't aware of any of this, but now that you mention, it does seem a little bit weird.&quot; Experience tells me this usually goes one of two ways:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;You completely and thoroughly understand the consequences of breaking with the established tradition.&lt;/li&gt;&#xA;&lt;li&gt;You're ignorant of the nuances.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;People in the first category are easy to spot.  For me, it is simply inconceivable that anyone who truly understood the ramifications of deciding to go with &quot;AND, OR, NOT&quot; instead of &quot;NAND&quot; did not spend 5 minutes doodling out the maximal worst case for 3, 4, etc bits.  At which point, you sort of chuckle and say &quot;Man, this is going to totally suck in the XOR corner case.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;People in the second category are harder to predict.  In the worst case, they spend no effort researching the issue.  This is unfortunate because they tend to end up &quot;rediscovering&quot; things that have been known for over 100 years.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is why I am asking the seemingly &quot;obvious&quot; question.  I find it almost impossible to believe that someone in group 1, who truly understood the issues involved, would deliberately and knowingly break with the fully vetted NAND boolean basis without understanding all of the consequences of doing so.  It literally takes just a few minutes to work through some corner cases.  I simply can not understand how someone who studied the issue would not know that:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The XOR / PARITY corner case is going to be comically bad.&lt;/li&gt;&#xA;&lt;li&gt;Your practical experience tells you that this &quot;effect&quot; does not accurately reflect how XOR / PARITY circuits are built anyways, so it is completely benign and safe to ignore.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;On the other hand, there is a peer reviewed, published paper that says &quot;The PARITY / XOR corner case sucks when using 'AND, OR, NOT'.&quot;  This is a contradiction.  How do you completely understand the consequences of breaking with the established norm, and then be &quot;surprised&quot; by something that was hopefully blatantly obvious the moment it was decided to go with &quot;AND, OR, NOT&quot;?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I can't help be get the feeling that this whole &quot;2 input NAND&quot; thing is genuinely novel to you.  You do understand what it means, right?  The &lt;a href=&quot;http://en.wikipedia.org/wiki/NAND_logic&quot; rel=&quot;nofollow&quot;&gt;2 input NAND gate&lt;/a&gt; is &lt;a href=&quot;http://en.wikipedia.org/wiki/Functional_completeness&quot; rel=&quot;nofollow&quot;&gt;functionally complete&lt;/a&gt; for the entire boolean domain.  If you can prove that this simple, 2 input NAND gate has some property, you can prove it for the entire boolean domain.  Hypothetically you could do something like this:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$\{AC^0\} ∖ \{NAND\} = ∅$&#xD;&lt;/li&gt;&#xA;&lt;li&gt;$\{AC^*\} ∖ \{NAND\} = ∅$&#xD;&lt;/li&gt;&#xA;&lt;li&gt;$\{ACC^0\} ∖ \{NAND\} = ∅$&#xD;&lt;/li&gt;&#xA;&lt;li&gt;$\{ACC^*\} ∖ \{NAND\} = ∅$&#xD;&lt;/li&gt;&#xA;&lt;li&gt;$\{TC^0\} ∖ \{NAND\} = ∅$&#xD;&lt;/li&gt;&#xA;&lt;li&gt;$\{TC^*\} ∖ \{NAND\} = ∅$&#xD;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Seems too good to be true, doesn't it?  Why stop there!&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$\{TM\} ∖ \{NAND\} = ∅$&#xD;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Cool!  But, what does that mean for...&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$\{NTM\} ∖ \{NAND\} = ∅$&#xD;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;.... we should be careful, we might rip a whole in the universe... &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$\{P\} ∖ \{NAND\} = ∅$&#xD;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Whoa!  Is there anything NAND can't do!?  Thankfully, it's not that simple, because if it were I'm pretty sure someone would have pointed it out before now.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am &lt;em&gt;&lt;strong&gt;deeply curious&lt;/strong&gt;&lt;/em&gt; if anyone can point me to a published proof that details why it can't be done, though.  ;)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;original question follows&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A definition of $AC^0$ &lt;em&gt;circuit complexity&lt;/em&gt; taken from &lt;a href=&quot;http://en.wikipedia.org/wiki/Circuit_complexity&quot; rel=&quot;nofollow&quot;&gt;Wikipedia&lt;/a&gt;:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;A Boolean circuit with &lt;em&gt;n&lt;/em&gt; input bits is a directed acyclic graph in which every node (usually called gates in this context) is either an input node of in-degree 0 labeled by one of the &lt;em&gt;n&lt;/em&gt; input bits, an AND gate, an OR or a NOT gate.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The well known result regarding &lt;em&gt;parity&lt;/em&gt; and $AC^0$, also taken from from &lt;a href=&quot;http://en.wikipedia.org/wiki/Circuit_complexity&quot; rel=&quot;nofollow&quot;&gt;Wikipedia&lt;/a&gt;:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;The Boolean function PARITY, which is 1 if and only if the sum of its input bits is odd, does not lie in $AC^0$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;My question is: &quot;Why is this considered to be a fundamentally important result?&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;edit:&lt;/strong&gt; From the comments, it is clear that the fundamental point / question is not being understood.  Specifically: It is &lt;em&gt;&lt;strong&gt;obviously&lt;/strong&gt;&lt;/em&gt; possible to physically build &lt;em&gt;bounded depth&lt;/em&gt; and &lt;em&gt;polynomial size&lt;/em&gt; PARITY circuits- you need only open up a book on constructing CMOS circuits and look at how a XOR gate is &lt;em&gt;physically&lt;/em&gt; constructed.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The fact that you can not build &lt;em&gt;n&lt;/em&gt; input &lt;em&gt;constant depth&lt;/em&gt; XOR / PARITY gates using &lt;em&gt;&lt;strong&gt;only&lt;/strong&gt;&lt;/em&gt; AND and OR gates is not doubted or disputed- that's obvious.  Below, a link is given to a &lt;em&gt;&lt;strong&gt;six&lt;/strong&gt;&lt;/em&gt; transistor, &lt;em&gt;&lt;strong&gt;THREE&lt;/strong&gt;&lt;/em&gt; input XOR (i.e., PARITY) gate.  This means it is trivially possible to physically build &quot;at least&quot; THREE input with &lt;em&gt;constant depth&lt;/em&gt; of &lt;em&gt;one&lt;/em&gt; XOR / PARITY gates.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The primary point is: The fact that you can not build &lt;em&gt;constant depth&lt;/em&gt; XOR / PARITY gates using AND and OR gates &lt;em&gt;&lt;strong&gt;DOES NOT&lt;/strong&gt;&lt;/em&gt; imply that &lt;em&gt;constant depth&lt;/em&gt; XOR / PARITY gates can not be built.  The $AC^0$ PARITY proof proves something much weaker: that &lt;em&gt;constant depth&lt;/em&gt; XOR / PARITY gates can not be built using just AND and OR gates.  This is &lt;em&gt;&lt;strong&gt;not&lt;/strong&gt;&lt;/em&gt; the same thing as proving that &lt;em&gt;constant depth&lt;/em&gt; XOR / PARITY gates can not be built, and it is a mistake to assume that they are.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If this distinction is still not clear to you, consider that a proof that &lt;em&gt;constant depth&lt;/em&gt; XOR / PARITY gates can not be built using a &lt;em&gt;constant depth&lt;/em&gt; / &lt;em&gt;polynomial size&lt;/em&gt; number of &lt;em&gt;&lt;strong&gt;transistors&lt;/strong&gt;&lt;/em&gt; would not only be a far stronger result, but can also be trivially falsified because such constructions do, in fact, exist (links provided below).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;end edit&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If this question seems &lt;em&gt;naive&lt;/em&gt; to you, then a better question to you might be &quot;The definition of $AC^0$, with the restriction of using only AND ∧, OR ∨, and NOT ¬ gates, seems arbitrary.  What is the fundamental basis for this restriction?&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If your first impulse to &quot;What is the fundamental basis for this restriction?&quot; is that &quot;The primitives AND ∧, OR ∨, and NOT ¬ are functionally complete for all of the boolean nullinary, unary, and binary operators&quot; then: &lt;em&gt;&lt;strong&gt;beware of the flaming arrows.&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As an example of why the $AC^0$ restriction of AND ∧, OR ∨, and NOT ¬ is arbitrary, consider that:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The &lt;a href=&quot;http://en.wikipedia.org/w/index.php?title=Apollo_Guidance_Computer&quot; rel=&quot;nofollow&quot;&gt;Apollo Guidance Computer&lt;/a&gt;, circa 1966, was built using approximately 4,100 3-input NOR ⊽ gates.&lt;/li&gt;&#xA;&lt;li&gt;The &lt;a href=&quot;http://en.wikipedia.org/wiki/Cray-1&quot; rel=&quot;nofollow&quot;&gt;Cray-1&lt;/a&gt;, circa 1976, was built using approximately 200,000 4 and 5 input NAND ⊼ gates.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;For circuit builders, the decision to use either NAND ⊼ or NOR ⊽ gates as the &lt;em&gt;&lt;strong&gt;only&lt;/strong&gt;&lt;/em&gt; primitive is so blatantly obvious that it doesn't need mentioning.  If this does not seem blatantly obvious to you, then: &lt;em&gt;beware of the &lt;strong&gt;incoming&lt;/strong&gt; flaming arrows.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Restricting ourselves to 2 input AND ∧, 2 input OR ∨, and 1 input NOT ¬ gates it is possible to create:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;A 2 input XOR ⊻ gate using two AND ∧, one OR ∨, and one NOT ¬ gate.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Restricting ourselves to just a single, 2 input NAND ⊼ gate, it is possible to create:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;A 2 input AND ∧ gate using two NAND ⊼ gates.&lt;/li&gt;&#xA;&lt;li&gt;A 2 input OR ∨ gate using three NAND ⊼ gates.&lt;/li&gt;&#xA;&lt;li&gt;A 1 input NOT ¬ gate using one NAND ⊼ gate.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Using the above, it is possible to restate $AC^0$ in terms of NAND ⊼ gates and furthermore calculate that it takes a total of seven NAND ⊼ gates using the original two AND ∧, one OR ∨, and one NOT ¬ gate definition for XOR ⊻.  However, it is also possible to build a XOR ⊻ gate using less NAND ⊼ gates:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;A 2 input XOR ⊻ gate using four NAND ⊼ gates.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The seven NAND ⊼ gate and four NAND ⊼ gate constructions for a 2 input XOR ⊻ gate are &quot;logically identical&quot;, producing exactly the same output for the same inputs.  The fact that we were able to reduce the number of gates by nearly 50% for an XOR ⊻ gate should &lt;em&gt;&lt;strong&gt;immediately raise serious questions as to whether or not the definition of $AC^0$ is useful, or even meaningful.&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To make matters worse, when one goes to actually &lt;em&gt;build&lt;/em&gt; gates in CMOS, the basic primitive is the FET transistor.  For example, the following are &quot;common&quot; transistor counts for most CMOS technologies:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Four transistors for a 2 input NAND ⊼ gate.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Therefore, in CMOS, it is possible to physically build the &quot;logically equivalent&quot; 2 input XOR ⊻ gate using&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Seven physical 2 input NAND ⊼ gates.  This would require a total of &lt;em&gt;&lt;strong&gt;twenty eight&lt;/strong&gt;&lt;/em&gt; transistors. &lt;/li&gt;&#xA;&lt;li&gt;Four physical 2 input NAND ⊼ gates.  This would require a total of &lt;em&gt;&lt;strong&gt;sixteen&lt;/strong&gt;&lt;/em&gt; transistors. &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;However, &quot;logically equivalent&quot; does not imply &quot;physically optimal&quot;:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;em&gt;&lt;strong&gt;Six&lt;/strong&gt;&lt;/em&gt; transistors for a 2 input XOR ⊻ gate.  Depending on some pedantic details, &lt;em&gt;&lt;strong&gt;four&lt;/strong&gt;&lt;/em&gt; transistor constructions are possible.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Which leads me back to my original question: &quot;Why is this [PARITY does not lie in $AC^0$] considered to be a fundamentally important result?&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Because, at least to me, the result has absolutely nothing to deal with reality.  In fact, taken at face value, one would incorrectly assume that the result implies that it is fundamentally impossible to construct a 2 input XOR ⊻ gate using &quot;just&quot; six transistors (relative to the four transistors required for a 2 input NAND ⊼ gate).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To cast further doubt as to whether or not the PARITY result is meaningful, it implies that constructing a &lt;em&gt;n&lt;/em&gt; input XOR ⊻ gate would require &quot;significantly&quot; (for some definition of significantly) more &quot;gates&quot;.  However, using three 2 input XOR ⊻ gates, it is clearly possible to construct a &quot;logically equivalent&quot; &lt;em&gt;n&lt;/em&gt; input XOR ⊻ gate:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;3 input XOR ⊻ gate using two 2 input XOR ⊻ gates, for a total transistor count of ~twelve transistors.&lt;/li&gt;&#xA;&lt;li&gt;4 input XOR ⊻ gate using three 2 input XOR ⊻ gates, for a total transistor count of ~eighteen transistors.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The following paper gives a description of a 3 input XOR ⊻ gate using just &lt;em&gt;&lt;strong&gt;six&lt;/strong&gt;&lt;/em&gt; transistors. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The 3 input xor gate is provided here: &lt;a href=&quot;http://ir.hit.edu.tw/dspace/bitstream/310993100/202/1/02-12%E9%AB%98%E6%80%A7%E8%83%BD%E4%B8%89%E8%BC%B8%E5%85%A5%E4%BA%92%E6%96%A5%E6%88%96%EF%BC%8F%E5%8F%8D%E4%BA%92%E6%96%A5%E6%88%96%E9%9B%BB%E8%B7%AF%E4%B9%8B%E8%A8%AD%E8%A8%88.pdf&quot; rel=&quot;nofollow&quot;&gt;http://ir.hit.edu.tw/dspace/bitstream/310993100/202/1/02-12高性能三輸入互斥或／反互斥或電路之設計.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The following paper gives a description of a &lt;a href=&quot;http://altareen.googlepages.com/xor02jul2006copyright.pdf&quot; rel=&quot;nofollow&quot;&gt;4 input XOR ⊻ gate&lt;/a&gt; using just &lt;em&gt;&lt;strong&gt;fourteen&lt;/strong&gt;&lt;/em&gt; transistors, and the author specifically states &quot;&lt;em&gt;I am sure that smaller gates do exist, but their implementation is beyond the scope of my experience.&lt;/em&gt;&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Am I mistaken, or does the $AC^0$ PARITY &quot;proof&quot; make the subtle and unstated assumptions:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The only boolean primitives available are AND ∧, OR ∨, and NOT ¬.&lt;/li&gt;&#xA;&lt;li&gt;That the fact that AND ∧, OR ∨, and NOT ¬ are functionally complete for all of the boolean nullinary, unary, and binary operators, and therefore &quot;logically equivalent&quot; to different &quot;boolean basis&quot; formulations (i.e., either NAND ⊼ or NOR ⊽ basis).&lt;/li&gt;&#xA;&lt;li&gt;The AND ∧, OR ∨, and NOT ¬ basis is the &quot;optimal&quot; (for some definition and/or metric of &quot;optimal&quot;) basis for the boolean domain actualization (i.e., AND ∧, OR ∨, and NOT ¬ is the &quot;provably optimal&quot; physical manifestation).&lt;/li&gt;&#xA;&lt;li&gt;That &quot;logically equivalent&quot; is sufficiently strong / closed over &quot;provably optimal&quot; (for some &quot;loose and informal&quot; definition for the purposes of our discussion/point).&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;... or have I missed something?  Is there something &quot;fundamentally compelling&quot; about the decision to limit $AC^0$ to AND ∧, OR ∨, and NOT ¬?  Or the fact that it is possible to physically construct &lt;em&gt;n&lt;/em&gt; input XOR ⊻ gates using significantly less resources than what one would expect using the &quot;proven $AC^0$ PARITY result&quot;?&lt;/p&gt;&#xA;" OwnerUserId="2572" LastEditorUserId="2572" LastEditDate="2010-12-07T22:30:12.050" LastActivityDate="2014-01-24T21:35:23.843" Title="Parity and circuit complexity" Tags="&lt;cc.complexity-theory&gt;&lt;circuit-complexity&gt;" AnswerCount="3" CommentCount="18" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="3605" PostTypeId="2" ParentId="189" CreationDate="2010-12-06T22:50:46.217" Score="3" Body="&lt;p&gt;The &lt;a href=&quot;http://swtch.com/~rsc/regexp/regexp1.html&quot; rel=&quot;nofollow&quot;&gt;Thompson NFA construction&lt;/a&gt; and, in particular, &lt;a href=&quot;http://swtch.com/~rsc/regexp/regexp1.html&quot; rel=&quot;nofollow&quot;&gt;evaluation method&lt;/a&gt;.  Probably the slickest bit of code I've ever seen.&lt;/p&gt;&#xA;" OwnerUserId="2572" LastActivityDate="2010-12-06T22:50:46.217" CommentCount="0" CommunityOwnedDate="2010-12-06T22:50:46.217" ContentLicense="CC BY-SA 2.5" />
  <row Id="3606" PostTypeId="2" ParentId="189" CreationDate="2010-12-06T22:58:01.853" Score="8" Body="&lt;p&gt;The &lt;a href=&quot;http://en.wikipedia.org/wiki/Viterbi_algorithm&quot;&gt;Viterbi algorithm&lt;/a&gt;, &lt;a href=&quot;http://en.wikipedia.org/wiki/Ldpc&quot;&gt;low-density parity-check codes&lt;/a&gt;, and &lt;a href=&quot;http://en.wikipedia.org/wiki/Turbo_code&quot;&gt;turbo codes&lt;/a&gt;- communication at the noise floor!&lt;/p&gt;&#xA;" OwnerUserId="2572" LastActivityDate="2010-12-06T22:58:01.853" CommentCount="0" CommunityOwnedDate="2010-12-06T22:58:01.853" ContentLicense="CC BY-SA 2.5" />
  <row Id="3607" PostTypeId="2" ParentId="3597" CreationDate="2010-12-07T00:33:38.793" Score="8" Body="&lt;p&gt;So, this is an instance of the fact that $(A \supset B) \wedge (A \supset C)$ is equivalent to $A \supset (B \wedge C)$. A different type isomorphism, namely that $(B \supset A) \wedge (C \supset A)$ is equivalent to $(B \vee C) \supset A$, looks more like what you wrote down, but that's because in logic programming notation we write B :- A when we mean $A \supset B$. (Note: $\supset$ is &quot;implies,&quot; $\wedge$ is &quot;and,&quot; and $\vee$ is &quot;or.&quot;)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What you're trying to do is related to the &lt;i&gt;binarization&lt;/i&gt; transformation, which is discussed in McAllester's &quot;On the complexity analysis of static analyses.&quot; There may be a better name for the transformation, but if so, it wasn't known the authors of the paper &quot;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.15.2025&quot;&gt;A succinct solver for ALFP&lt;/a&gt;&quot; (&lt;b&gt;&lt;i&gt;A&lt;/i&gt;&lt;/b&gt;lternating &lt;b&gt;&lt;i&gt;L&lt;/i&gt;&lt;/b&gt;east &lt;b&gt;&lt;i&gt;F&lt;/i&gt;&lt;/b&gt;ixed&lt;b&gt;&lt;i&gt;p&lt;/i&gt;&lt;/b&gt;oint formulas are a generalization of Horn clauses for bottom-up logic programs such as yours) - in Example 1 on page 4 they discuss a similar transformation and just call it &quot;exploiting the possibility of sharing of pre-conditions.&quot;&lt;/p&gt;&#xA;" OwnerUserId="1024" LastEditorUserId="1024" LastEditDate="2010-12-07T12:01:11.873" LastActivityDate="2010-12-07T12:01:11.873" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="3608" PostTypeId="1" AcceptedAnswerId="3611" CreationDate="2010-12-07T00:38:19.697" Score="4" ViewCount="140" Body="&lt;p&gt;This is related to some old posts that were closed because someone had felt that they're related to homework. All I'm looking for here is a reference to a paper that may have partially or completely solved the following problem:&#xA;n points on the unit interval are given. Consider the set of processes operate discretely on the n points as follows: at every time step, a process takes two points and replaces them by their midpoint. The process stops if only two points are left. &#xA;I'm interested to know about an optimal process in this set (meaning a process that given an initial set of n points would lead to the smallest distance between the two final points). Any known bounds on the optimal final distance? Any generalization to higher dimensions? &#xA;Thanks! &lt;/p&gt;&#xA;" OwnerUserId="2471" LastEditorUserId="186" LastEditDate="2010-12-07T00:59:39.540" LastActivityDate="2010-12-07T01:47:13.693" Title="Process on finite points in a line" Tags="&lt;ds.algorithms&gt;&lt;cg.comp-geom&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3609" PostTypeId="2" ParentId="3604" CreationDate="2010-12-07T01:01:57.460" Score="17" Body="&lt;p&gt;While I understand the question you are trying to ask, I find the presentation sub-optimal. This might just be me, but I find the tone of the question slightly condescending. I'm sure this is not what you meant to convey -- I'm just telling you how it comes across to me.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Anyway, I can try to answer some of your questions. Let me start with a pair of misconceptions:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Misconception 1&lt;/strong&gt;: PARITY not in AC0 says that &quot;it is not possible to build polynomial-size constant-depth circuits to compute parity in the real world.&quot; &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;This is not true at all. The result claims exactly what it does: It is not possible to compute parity using a constant-depth polynomial-size circuit composed only of (and this is the important part) NOT gates, and unbounded fan-in AND and OR gates.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Misconception 2&lt;/strong&gt;: It is believed that just because AND, OR and NOT gates form a complete basis, AC0 is robust under changing these gates to any other gates.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;As you pointed out, this is not true. If you used unbounded fan-in XOR gates, then obviously PARITY has a depth-1 circuit. The class which has unbounded fan-in XOR gates in addition to the usual NOT, AND and OR gates is called AC&lt;sup&gt;0&lt;/sup&gt;[2]. AC0 is not robust under changing the gate set (unlike some other classes like NC0, where any complete basis will do the job). For example if we allow the MAJORITY gate in addition to the AND, OR and NOT gates, we get a class called TC0, which is much bigger than AC0.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An interesting question which arises, and which you have explicitly asked, is the following:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&quot;The definition of AC0, with the restriction of using only AND ∧, OR ∨, and NOT ¬ gates, seems arbitrary. What is the fundamental basis for this restriction?&quot;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;This is a nice question. It also has a good answer. I don't think I can answer this satisfactorily myself, so I'll let someone else do it. I'll try answering it myself if no one else chooses to do so. But note that the answer is not  &quot;AC0 models real world circuits.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This question also immediately leads to the question &quot;Why is this result interesting?&quot; I'm not sure if this is what you meant to ask, but some good answers are given on the &lt;a href=&quot;http://blog.computationalcomplexity.org/2008/03/why-is-parity-not-in-ac0-important.html&quot;&gt;complexity theory blog&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So if we look at your your claimed &quot;subtle and unstated&quot; assumptions, you'll find that most of them are very clearly stated. For example, the fact that you can only use AND, OR and NOT is in the &lt;em&gt;definition&lt;/em&gt; of AC0. I can't imagine anything being stated more explicitly than that!&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Answer to revision 4&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;In revision 4 it seems like the question really is &quot;Why don't we allow AC0 to have NAND gates also (because those are the gates used in real life by EE folks)?&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The answer is simple. Adding unbounded fan-in NAND gates to AC0 does not make AC0 more powerful. So you can interpret PARITY not in AC0 as saying that &quot;PARITY cannot be computed by constant-depth circuits with unbounded fan-in AND, OR, NAND and NOT gates.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An unbounded fan-in NAND gate is just an unbounded fan-in AND gate with the output negated. So every NAND gate can be replaced by an AND gate and a NOT gate. Then, all the NOT gates can be pushed down to the inputs using standard techniques. At the end, the depth remains the same, and the size might increase by something like a factor of 4. &lt;/p&gt;&#xA;" OwnerUserId="206" LastEditorUserId="206" LastEditDate="2010-12-07T23:27:08.427" LastActivityDate="2010-12-07T23:27:08.427" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="3610" PostTypeId="2" ParentId="3474" CreationDate="2010-12-07T01:21:37.533" Score="3" Body="&lt;p&gt;I'm not sure I fully grasp the question as posed, but it seems to me that the asker is looking for some kind of approximation of the Levenshtein distance metric. Perhaps the following reference might be of some use?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.78.6784&quot; rel=&quot;nofollow&quot;&gt;Bar-Yosef, Ziv et al., &quot;Approximating Edit Distance Efficiently&quot;, FOCS 2004&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;In this section we describe our two sketching&#xA;  algorithms for solving gap edit distance problems. The underlying&#xA;  principle in both algorithms is the same: the two&#xA;  input strings have a small edit distance if and only if they&#xA;  share many sufficiently long substrings occurring at nearly&#xA;  the same position in both strings, and hence, the number&#xA;  of mismatching substrings provides an estimate of the edit&#xA;  distance. More formally, both algorithms map the inputs x&#xA;  and y into sets $T_x$ and $T_y$, respectively; these sets consist of pairs of the form ($\gamma$, i), where $\gamma$ is a sufficiently long substring&#xA;  and i is a special “encoding” of the position at which&#xA;  the substring begins. [...] &lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;This gives rise to a natural reduction from the task of estimating&#xA;  edit distance between x and y to that of estimating&#xA;  the Hamming distance between the characteristic vectors u&#xA;  and v of $T_x$ and $T_y$, respectively.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="751" LastEditorUserId="751" LastEditDate="2010-12-07T01:27:39.403" LastActivityDate="2010-12-07T01:27:39.403" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="3611" PostTypeId="2" ParentId="3608" CreationDate="2010-12-07T01:36:26.500" Score="10" Body="&lt;p&gt;Rather than go through some complicated bureaucracy to close this and resuscitate the other earlier-asked variants, it's probably straightforward just to answer this now; I think it's long enough after the previous questions that we don't so much need to worry about it being homework (and the way it's phrased now certainly seems much less suspicious).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The paper I was referring to in the discussion on the earlier problems is:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&quot;Exponentially small bounds on the expected optimum of the partition and subset sum problems&quot;, G. S. Lueker, Random Structures and Algorithms, 1998.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But now that I think about it again, I realize that the problem Lueker solves is actually a bit different from what you're asking: he repeatedly replaces a pair of points by their difference, rather than their average. The application for this replacement process is in a variant of the subset sum problem, in which one is given n real numbers and one is trying to find a subset minimizing the difference between the sum of the weights in the chosen subset and the sum of the weights not in the subset. Replacing a pair by their difference is equivalent to imposing a constraint that exactly one of the two items is in the subset: each of the two choices for what to do with the difference in the replaced problem has exactly the same effect as each of the two choices for which item to include in the original problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is also somewhat related to some work of Valiant, &quot;Short monotone formulae for the majority function&quot;, J. Algorithms, 5, 1984, 363–366: by repeatedly replacing triples of numbers by their median, you can with high probability find a point near the median of the numbers. See also my paper with Clarkson et al, &quot;Approximating Center Points with Iterated Radon Points&quot;, which generalizes this result to higher dimensions.&lt;/p&gt;&#xA;" OwnerUserId="95" LastEditorUserId="95" LastEditDate="2010-12-07T01:47:13.693" LastActivityDate="2010-12-07T01:47:13.693" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3612" PostTypeId="1" CreationDate="2010-12-07T06:02:27.267" Score="26" ViewCount="837" Body="&lt;p&gt;A $PH$ machine is given oracle access to a random Boolean function $f:\{0,1\}^n \to \{ -1,1 \}$ , and two Fourier spectra $g$ and $h$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The Fourier spectra of a function $f$ is defined as $F:\{0,1\}^n \to R$:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$F(s)=\sum_{x\in\{0,1\}^n} (-1)^\left( s\cdot x \mod\ 2 \right) f(x)$&#xD;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One of $g$ or $h$ is the true Fourier spectra of $f$ and the other one is just a fake Fourier spectra belonging to an unknown random Boolean function.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is not hard to show that a $PH$ machine, cannot even approximate $F(s)$ for any $s$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is the query complexity of deciding with high success probability which one is the true one ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is interesting to me, since if this problem is not in $PH$, then one can show that there exists an oracle relative to which $BQP$ in not a subset of $PH$.&lt;/p&gt;&#xA;" OwnerUserId="2600" LastEditorUserId="80" LastEditDate="2010-12-08T05:48:22.073" LastActivityDate="2013-01-04T01:13:47.547" Title="What is the complexity of distinguishing a true Fourier spectra from a fake one?" Tags="&lt;cc.complexity-theory&gt;&lt;lg.learning&gt;&lt;boolean-functions&gt;&lt;fourier-analysis&gt;" AnswerCount="2" CommentCount="14" FavoriteCount="10" ContentLicense="CC BY-SA 2.5" />
  <row Id="3613" PostTypeId="2" ParentId="3517" CreationDate="2010-12-07T06:30:07.007" Score="4" Body="&lt;p&gt;After much reading, I've found the following paper&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Troy Lee and Adi Shraibman. &lt;a href=&quot;https://cstheory.stackexchange.com/questions/3614/stronger-lower-bounds-on-nondeterministic-multiparty-communication&quot;&gt;Disjointment is hard in the multi-party number-on-the-forehead model&lt;/a&gt;. In &lt;em&gt;Proceedings of IEEE 23rd Annual Conference on Computational Complexity&lt;/em&gt;. June 22-26 2008.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The authors show that bounded error randomized communication is lower bounded by an approximate cylinder intersection norm $\mu_\alpha$ (cf. definition 5 in the paper).&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Theorem 6:&lt;/strong&gt; Let M be a sign $k$-tensor, and $0\leq \epsilon&amp;lt;1/2$. Then $R_\epsilon^k(M)\geq \log(\mu^\alpha(M))-\log(\alpha_\epsilon)$ where $\alpha_\epsilon=1/(1-2\epsilon)$ and $\alpha\geq\alpha_\epsilon$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Then, they make the following remark.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Remark 7:&lt;/strong&gt; It is nice to note that since a non-deterministic protocol induces a covering of the tensor with cylinder intersections, it follows that $\log\mu^\infty$ is a lower bound on non-deterministic communication complexity.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;This answers my question. The problem now is when $\alpha\to\infty$ the authors show that for any given sign matrix $M$, $\mu^\infty(M)=1/Disc(M)$, where $Disc(M)$ is the discrepancy of $M$. It is a problem because the best lower bounds we can prove using discrepancy are polylogarithmic in the size of the input. For example, for disjointment with $k$ parties the lower bound is $\Omega(\log n/(k-1))$. In the same piece of work, the authors show that for randomized protocols, disjointment requires $\Omega(\frac{n^{1/(k+1)}}{2^{2^k}})$ using the $\mu^\alpha$ norm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there any other norm stronger than discrepancy that can be used for lower bounds in nondeterministic multiparty communication? Or is it tight? These results are very recent, so maybe this is an open problem. The follow-up to this question is &lt;a href=&quot;https://cstheory.stackexchange.com/questions/3614/stronger-lower-bounds-on-nondeterministic-multiparty-communication&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="135" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2010-12-07T22:44:48.773" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="3614" PostTypeId="1" AcceptedAnswerId="3966" CreationDate="2010-12-07T06:49:35.213" Score="6" ViewCount="358" Body="&lt;p&gt;This is a continuation of my previous question on &lt;a href=&quot;https://cstheory.stackexchange.com/questions/3517/lower-bounds-for-nondeterministic-multiparty-communication&quot;&gt;Lower bounds for Nondeterministic Multiparty Communication&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;From the &lt;a href=&quot;https://cstheory.stackexchange.com/questions/3517/lower-bounds-for-nondeterministic-multiparty-communication/3613#3613&quot;&gt;answer&lt;/a&gt;, the $\mu^\infty$ norm lower bounds nondeterministic multiparty communication in the number-on-the-forehead model (see the paper by &lt;a href=&quot;http://www.eccc.uni-trier.de/report/2008/003/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Lee and Shraibman&lt;/a&gt;). The problem is that for any given sign matrix $M$, $\mu^\infty(M)=1/Disc(M)$, where $Disc(M)$ is the discrepancy of $M$. It is a problem because the best lower bounds we can prove using discrepancy are polylogarithmic in the size of the input. For example, for disjointment with $k$ parties the lower bound is $\Omega(\log n/(k-1))$. In the same piece of work, the authors show that for randomized protocols, disjointment requires $\Omega(\frac{n^{1/(k+1)}}{2^{2^k}})$ using the $\mu^\alpha$ norm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there any other norm stronger than discrepancy that can be used for lower bounds in nondeterministic multiparty communication? Or is it tight? These results are very recent, so maybe this is an open problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit(dec/8/2010):&lt;/strong&gt; I have two more questions,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) Corruption (cf. &lt;a href=&quot;http://www.research.rutgers.edu/~troyjlee/survey_plain.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Lee and Shraibman 2007&lt;/a&gt;, section 4.5) is used for lower bounding 2-sided error randomized communication. Is there any extension of corruption to nondeterminism? A nondeterministic protocol accepts with probability strictly greater than 0, and rejects with probability 1.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;3) Is there any other lower bound based on information-theoretic arguments?&lt;/p&gt;&#xA;" OwnerUserId="135" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2010-12-24T14:23:46.203" Title="Stronger Lower Bounds on Nondeterministic Multiparty Communication" Tags="&lt;cc.complexity-theory&gt;&lt;lower-bounds&gt;&lt;communication-complexity&gt;&lt;norms&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="3616" PostTypeId="1" CreationDate="2010-12-07T09:11:26.463" Score="64" ViewCount="7295" Body="&lt;p&gt;EDIT AT 10/12/08:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'll try to modified the question so it may interest more people to share their opinions. We NEED your contributions!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This post is inspired by the one in MO: &lt;a href=&quot;https://mathoverflow.net/questions/23478/examples-of-common-false-beliefs-in-mathematics&quot;&gt;Examples of common false beliefs in mathematics&lt;/a&gt;. Big lists sometimes generate a massive number of answers the qualities of which are hard to control, but after the success of the related post on MO I am convinced that it would be helpful to list a bunch of common false beliefs in TCS.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Still, since the site is designed for answering research level questions, examples like &lt;em&gt;$\mathsf{NP}$ stands for non-polynomial time&lt;/em&gt; should be not on the list. Meanwhile, we do want some examples that may not be hard, but without thinking in details it looks reasonable as well. We want the examples to be educational, and usually appears when studying the subject at the first time.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What are some (non-trivial) examples of common false beliefs in theoretical computer science, that appear to people who are studying in this area?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;To be precise, we want examples different from &lt;a href=&quot;https://cstheory.stackexchange.com/questions/276/surprising-results-in-complexity-not-on-the-complexity-blog-list&quot;&gt;surprising results&lt;/a&gt; and &lt;a href=&quot;https://cstheory.stackexchange.com/questions/2802/are-there-any-counterintuitive-results-in-theoretical-computer-science&quot;&gt;counterintuitive results&lt;/a&gt; in TCS; these kinds of results make people hard to believe, but they are TRUE. Here we are asking for surprising examples that people may think it is true at the first glance, but after a deeper thought the fault within is exposed.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;As an example of proper answers on the list, this one comes from the field of algorithms and graph-theory:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For an $n$-node graph $G$, a $k$-edge separator $S$ is a subset of edges of size $k$, where the nodes of $G \setminus S$ can be partition into two non-adjacent parts, each consists of at most $3n/4$ nodes. We have the following &quot;lemma&quot;:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;A tree has a 1-edge separator.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Right?&lt;/p&gt;&#xA;" OwnerUserId="1800" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2013-05-17T13:10:02.387" Title="Common false beliefs in theoretical computer science" Tags="&lt;big-list&gt;&lt;examples&gt;" AnswerCount="11" CommentCount="1" FavoriteCount="48" CommunityOwnedDate="2010-12-07T09:29:52.063" ContentLicense="CC BY-SA 2.5" />
  <row Id="3617" PostTypeId="2" ParentId="3604" CreationDate="2010-12-07T09:14:49.197" Score="7" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;Below, a link is given to a six transistor, THREE  input XOR (i.e., PARITY) gate. This means it is trivially possible to physically build &quot;at least&quot; THREE input with constant depth of one  XOR / PARITY gates.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Unless I am completely misinterpreting these sentences, I think there may be some confusion in how &quot;constant depth&quot; is defined. First off, in circuit complexity, we deal in families of circuits, one circuit for each input size. So, when we say we can compute PARITY in some circuit model, what we mean is we have a sequence of circuits $C_1, C_2, C_3, \ldots$ such that $C_k$ computes the parity function on $k$ boolean inputs. The idea of constant depth is that there exists some $D$ such that each circuit $C_k$ has depth at most $D$ &lt;b&gt;for all&lt;/b&gt; $k$, no matter how large. Similarly, &quot;poly-size&quot; implies that there is some polynomial $p(x)$ such that each circuit $C_k$ has no more than $p(k)$ gates.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Exhibiting an instance of a circuit that computes the parity function on 3 inputs does not really say anything about &quot;constant depth&quot; as it is defined in complexity theory. &quot;Constant depth&quot; is a property of the asymptotic behavior of your circuit family.&lt;/p&gt;&#xA;" OwnerUserId="751" LastActivityDate="2010-12-07T09:14:49.197" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3618" PostTypeId="2" ParentId="3616" CreationDate="2010-12-07T10:47:53.243" Score="12" Body="&lt;p&gt;Here's my two cents:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The complexity class $\mathsf{RL}$, the &lt;strong&gt;randomized logspace&lt;/strong&gt;, is defined as an analog of $\mathsf{RP}$, that is, the decision problems that can be solved by a non-deterministic logspace machine $M$, where&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;for a positive instance, $M$ accepts with probability at least $1/2$;&lt;/li&gt;&#xA;&lt;li&gt;for a negative instance, $M$ rejects with probability $1$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Furthermore, the machine always halt.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is the definition correct? (No)&lt;/p&gt;&#xA;" OwnerUserId="1800" LastActivityDate="2010-12-07T10:47:53.243" CommentCount="1" CommunityOwnedDate="2010-12-07T10:47:53.243" ContentLicense="CC BY-SA 2.5" />
  <row Id="3619" PostTypeId="1" AcceptedAnswerId="3630" CreationDate="2010-12-07T11:28:23.240" Score="13" ViewCount="1145" Body="&lt;p&gt;The &lt;a href=&quot;http://en.wikipedia.org/wiki/Hamiltonian_path&quot;&gt;Hamiltonian Cycle Problem&lt;/a&gt; (HC) consists in finding a cycle that goes through all vertices in a given undirected graph. The &lt;a href=&quot;http://en.wikipedia.org/wiki/Travelling_salesman_problem&quot;&gt;Travelling Salesman Problem&lt;/a&gt; (TSP) consists in finding a cycle that goes through all vertices in a given edge-weighted graph and minimizes the total distance measured by the sum of the weights of the edges in the cycle. HC is a special case of TSP, and both are known to be NP-complete [Garey &amp;amp; Johnson]. (See the links above for more details and variants of these problems.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there any studied classes of graphs on which the &lt;a href=&quot;http://en.wikipedia.org/wiki/Hamiltonian_path&quot;&gt;Hamiltonian Cycle Problem&lt;/a&gt; is solvable in polynomial time via a &lt;em&gt;non-trivial&lt;/em&gt; algorithm, but the &lt;a href=&quot;http://en.wikipedia.org/wiki/Travelling_salesman_problem&quot;&gt;Travelling Salesman Problem&lt;/a&gt; is NP-hard? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Non-trivial&lt;/em&gt; is to exclude classes such as the class of complete graphs, where a Hamiltonian cycle is guaranteed to exist and can be found easily, or generally classes of graphs where a HC is always guaranteed to exist.&lt;/p&gt;&#xA;" OwnerUserId="1895" LastEditorUserId="186" LastEditDate="2010-12-07T13:06:13.950" LastActivityDate="2010-12-07T21:35:35.457" Title="Classes of graphs with easy Hamiltonian cycle but NP-hard TSP" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;&lt;hamiltonian-paths&gt;&lt;tsp&gt;&lt;graph-classes&gt;" AnswerCount="3" CommentCount="0" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="3620" PostTypeId="1" AcceptedAnswerId="3646" CreationDate="2010-12-07T11:31:17.123" Score="25" ViewCount="1835" Body="&lt;p&gt;In light of the recent result of Arora, Barak, and Steurer, &lt;a href=&quot;http://www.cs.princeton.edu/~dsteurer/subexpug.pdf&quot;&gt;Subexponential Algorithms for Unique Games and Related Problems&lt;/a&gt;, I'm interested in graph problems that have subexponential time algorithms but believed not to be polynomially solvable. A famous example is graph isomorphism which has subexponential algorithm of $2^{O(n^{1/2} \log n)}$ run-time. Another example is log-Clique problem which is solvable in quasi-polynomial time ($n^{O(\log n)}$).&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;I'm looking for interesting examples and preferably a reference to surveys of subexponential hard graph problems (not necessarily $NP$-complete). Also, Are there any $NP$-complete graph problems with subexponential time algorithms?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=743516&quot;&gt;Impagliazzo, Paturi and Zane&lt;/a&gt; showed that the Exponential Time Hypothesis implies that Clique, k-Colorability, and Vertex Cover need $2^{\Omega(n)}$ time.&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="1800" LastEditDate="2011-02-14T08:10:46.977" LastActivityDate="2013-10-17T12:13:44.137" Title="Subexponentially solvable hard graph problems" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;" AnswerCount="5" CommentCount="1" FavoriteCount="13" ContentLicense="CC BY-SA 2.5" />
  <row Id="3621" PostTypeId="2" ParentId="3619" CreationDate="2010-12-07T11:34:27.740" Score="11" Body="&lt;p&gt;How about &lt;strong&gt;complete graphs&lt;/strong&gt;? Since TSP can always be reduced to an instance on complete graphs (by adding proper distances between non-edges), it is still NP-hard to solve TSP on complete graphs. But any complete graphs is Hamiltonian.&lt;/p&gt;&#xA;" OwnerUserId="1800" LastActivityDate="2010-12-07T11:34:27.740" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="3622" PostTypeId="2" ParentId="3620" CreationDate="2010-12-07T12:32:06.167" Score="22" Body="&lt;p&gt;Since every planar graph on $n$ vertices has treewidth $O(\sqrt{n})$, all problems which are solvable in $O^*(2^{O(k)})$ time for graphs of treewidth at most~$k$ (there are a LOT of such problems) have subexponential-time algorithms on planar graphs by computing a constant-factor approximation to the treewidth in polynomial-time (for example by computing the branchwidth with the ratcatcher algorithm) and then running the treewidth algorithm, resulting in runtimes of the form $O^*(2^{O(\sqrt{n})})$ for graphs on $n$ vertices. Examples are Planar Independent Set and Planar Dominating Set, which are NP-complete of course.&lt;/p&gt;&#xA;" OwnerUserId="122" LastActivityDate="2010-12-07T12:32:06.167" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3623" PostTypeId="2" ParentId="3620" CreationDate="2010-12-07T13:08:48.100" Score="12" Body="&lt;p&gt;another example can be Cop and Robber game, which is NP-hard but solvable in time $2^{o(n)}$ on graphs with n vertices.&#xA;BibTeX bibliographical record in XML Fedor V. Fomin, Petr A. Golovach, Jan Kratochvíl, Nicolas Nisse, Karol Suchan: Pursuing a fast robber on a graph. Theor. Comput. Sci. 411(7-9): 1167-1181 (2010)&lt;/p&gt;&#xA;" OwnerUserId="2606" LastActivityDate="2010-12-07T13:08:48.100" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="3624" PostTypeId="1" CreationDate="2010-12-07T13:42:09.767" Score="10" ViewCount="755" Body="&lt;h3&gt;Background&lt;/h3&gt;&#xA;&lt;p&gt;Circuit complexity &lt;span class=&quot;math-container&quot;&gt;$AC^0$&lt;/span&gt; is defined as the set of circuit families (i.e. sequences of circuits, one for each input size) of &lt;em&gt;bounded depth&lt;/em&gt; and &lt;em&gt;polynomial size&lt;/em&gt; built using &lt;em&gt;unbounded fan-in&lt;/em&gt; AND, OR, and NOT.&lt;/p&gt;&#xA;&lt;p&gt;The parity function &lt;span class=&quot;math-container&quot;&gt;$\oplus$&lt;/span&gt; with &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt;-bit input is equal to the XOR of the bits in the input.&lt;/p&gt;&#xA;&lt;p&gt;One of the first circuit lowerbound proven in circuit complexity is the following:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;[FSS81], [Ajt83]: &lt;span class=&quot;math-container&quot;&gt;$\oplus \notin AC^0$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;hr /&gt;&#xA;&lt;h3&gt;Questions:&lt;/h3&gt;&#xA;&lt;p&gt;Let &lt;span class=&quot;math-container&quot;&gt;$EC^0$&lt;/span&gt; be the class of functions that can be computed using &lt;em&gt;electronic&lt;/em&gt; circuits of bounded depth and polynomial size using electronic parts like transistors. (I made up the name &lt;span class=&quot;math-container&quot;&gt;$EC^0$&lt;/span&gt;, let me know if you know a better name for this).&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Can we compute &lt;span class=&quot;math-container&quot;&gt;$\oplus$&lt;/span&gt; in practice using &lt;span class=&quot;math-container&quot;&gt;$EC^0$&lt;/span&gt; circuits?&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;What about unbounded fan-in AND/OR? Can we compute them in &lt;span class=&quot;math-container&quot;&gt;$EC^0$&lt;/span&gt;?&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Does &lt;span class=&quot;math-container&quot;&gt;$\oplus \notin AC^0$&lt;/span&gt; have any practical consequences? Is &lt;span class=&quot;math-container&quot;&gt;$AC^0$&lt;/span&gt; important in practice?&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Why is &lt;span class=&quot;math-container&quot;&gt;$\oplus \notin AC^0$&lt;/span&gt; important for (theoretical) computer scientists?&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;hr /&gt;&#xA;&lt;h3&gt;Note:&lt;/h3&gt;&#xA;&lt;p&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/questions/3604/parity-and-circuit-complexity&quot;&gt;This post&lt;/a&gt; contains interesting questions but OP seems to refuse to make the post more readable and fix the misconception in it for some reason, so I am reposting questions from it. (It would be easier to edit the original post but currently there isn't an agreement if it is OK to heavily edit another user's post.)&lt;/p&gt;&#xA;&lt;p&gt;Related:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/questions/3154/parity-and-ac0&quot;&gt;Parity and &lt;span class=&quot;math-container&quot;&gt;$AC^0$&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://blog.computationalcomplexity.org/2008/03/why-is-parity-not-in-ac0-important.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;Why is parity not in &lt;span class=&quot;math-container&quot;&gt;$AC^0$&lt;/span&gt; important?&lt;/a&gt; (Computational Complexity Blog)&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="186" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2014-03-19T22:55:36.067" Title="Practical consequences of $Parity \notin AC^0$" Tags="&lt;cc.complexity-theory&gt;&lt;circuit-complexity&gt;&lt;physics&gt;&lt;bounded-depth&gt;" AnswerCount="3" CommentCount="9" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="3625" PostTypeId="2" ParentId="3616" CreationDate="2010-12-07T13:56:27.713" Score="23" Body="&lt;p&gt;Distributed computing = distributed high-performance computing (clusters, grids, clouds, seti@home, ...).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Distributed algorithms = algorithms for these systems.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Spoiler:&lt;/strong&gt; If this does not sound that much like a &quot;false belief&quot;, I suggest that you have a look at conferences such as PODC and DISC, and see what kind of work people are really doing when they study theoretical aspects of distributed computing.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A typical problem setting is the following: We have a cycle with $n$ nodes; the nodes are labelled with unique identifiers from the set $\{1,2,...,\text{poly}(n)\}$; the nodes are deterministic and they exchange messages with each other in a synchronous manner. How many synchronous communication rounds (as a function of $n$) are needed to find a maximal independent set? How many rounds are needed to find an independent set with at least $n/1000$ nodes? [The answer to both of these questions is exactly $\Theta(\log^* n)$, discovered in 1986–2008.]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;That is, people often study problems that are completely trivial from the perspective of centralised algorithms, and have very little in common with any kind of supercomputing or high-performance computing. The point certainly is not speeding up centralised computation by using more processors, or anything like that.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The goal is to build a complexity theory by classifying fundamental graph problems according to their computational complexity (e.g., how many synchronous rounds are needed; how many bits are transmitted). Problems like independent sets in cycles may seem pointless, but they serve a role similar to 3-SAT in centralised computing: a very useful starting point in reductions. For concrete real-world applications, it makes more sense to have a look at devices such as routers and switches in communication networks, instead of computers in grids and clusters.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This false belief is not entirely harmless. It actually makes it fairly difficult to sell work related to theory of distributed algorithms to the general TCS audience. I have received hilarious referee reports from TCS conferences...&lt;/p&gt;&#xA;" OwnerUserId="74" LastEditorUserId="74" LastEditDate="2010-12-08T11:10:05.650" LastActivityDate="2010-12-08T11:10:05.650" CommentCount="5" CommunityOwnedDate="2010-12-07T13:56:27.713" ContentLicense="CC BY-SA 2.5" />
  <row Id="3627" PostTypeId="2" ParentId="3616" CreationDate="2010-12-07T14:14:03.173" Score="41" Body="&lt;p&gt;I've just got another myth busted, which is contributed by @XXYYXX's &lt;a href=&quot;https://cstheory.stackexchange.com/questions/3620/subexponentially-solvable-hard-graph-problems/3623#3623&quot;&gt;answer to this post&lt;/a&gt;:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;A problem X is $\mathsf{NP}$-hard if there is a polynomial time (or, logspace) reduction from all $\mathsf{NP}$ problems to X.&lt;/li&gt;&#xA;&lt;li&gt;Assume Exponential time hypothesis, 3-SAT does not have a sub-exponential time algorithm. Also, 3-SAT is in $\mathsf{NP}$.&lt;/li&gt;&#xA;&lt;li&gt;So no $\mathsf{NP}$-hard problems X have sub-exponential time algorithms. Otherwise a sub-exponential time algorithm for X + a polynomial time reduction = a sub-exponential time algorithm for 3-SAT.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;But &lt;a href=&quot;http://hal.inria.fr/docs/00/47/66/86/PDF/cops_journal_2008_10_16.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;we do have&lt;/a&gt; sub-exponential time algorithms for some NP-hard problems.&lt;/p&gt;&#xA;" OwnerUserId="1800" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:30.623" LastActivityDate="2010-12-11T08:21:16.887" CommentCount="5" CommunityOwnedDate="2010-12-07T14:14:03.173" ContentLicense="CC BY-SA 2.5" />
  <row Id="3628" PostTypeId="2" ParentId="3619" CreationDate="2010-12-07T14:43:14.820" Score="3" Body="&lt;p&gt;There are many infinite classes of graphs which are known to have hamiltonian circuits. Two especially interesting classes are the n-cubes and the Halin graphs. One way of thinking of the Halin graphs is to embed a tree with at least 3 vertices and which no vertices of valence two in the plane, and then pass a simple circuit through the 1-valent vertices of the tree.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Halin_graph&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/Halin_graph&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;These graphs are known to have an HC and in fact they are either pancyclic (circuits of all lengths) or lack exactly one circuit length which must be of even length.&lt;/p&gt;&#xA;" OwnerUserId="987" LastActivityDate="2010-12-07T14:43:14.820" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3629" PostTypeId="1" AcceptedAnswerId="3647" CreationDate="2010-12-07T16:54:15.517" Score="3" ViewCount="383" Body="&lt;p&gt;My problem is this: given a weak alternating automaton and its partitions, and given a partial order on these partitions, how do we extend the partial order to a total order?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The partitions of weak alternating automaton are defined as follows: Let $A(\Sigma,Q,q_0,\delta,\alpha)$ where $\alpha$ represents the acceptance condition, $Q$ is the set of states, and $q_0$ is the initial state. A weak alternating automaton is an alternating Buchi tree automaton in which exists a partition of the set $Q$ into disjoint sets $Q_1,\dotsc,Q_n$, such that for each set $Q_i$, either $Q_i\subseteq\alpha$ (in which case $Q_i$ is an accepting set) or $Q_i\cap\alpha=\varnothing$ (in which case $Q_i$ is a rejecting set). In addition exists a partial order $\leq$ on the collection of $Q_i$, such that for every $s \in Q_i$ and $s&amp;#39; \in Q_j$ for which $s&amp;#39;\in\delta(s,a)$ we have $Q_j \leq Q_i$. Thus, transition from the state in $Q_i$ lead to states in either the same $Q_i$ or lower one.Hence , given the partial order defined above, how to turn this order in a total order $Q_1 \leq Q_2 \leq ... \leq Q_n$&#xD;&lt;/p&gt;&#xA;" OwnerUserId="2593" LastEditorUserId="1800" LastEditDate="2010-12-15T18:09:45.710" LastActivityDate="2010-12-15T18:09:45.710" Title="Extension of a partial order to a total of partitions of a weak alternating automaton" Tags="&lt;fl.formal-languages&gt;&lt;automata-theory&gt;&lt;partial-order&gt;" AnswerCount="1" CommentCount="7" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3630" PostTypeId="2" ParentId="3619" CreationDate="2010-12-07T19:53:30.340" Score="20" Body="&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Cograph&quot;&gt;Cographs&lt;/a&gt; are not always Hamiltonian, have polynomial time tests for Hamiltonicity, and are NP-hard to solve the traveling salesman problem for.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More generally the Hamiltonian cycle problem can be solved in polynomial time (but is not fixed-parameter tractible) on graphs of bounded &lt;a href=&quot;http://en.wikipedia.org/wiki/Clique-width&quot;&gt;clique-width&lt;/a&gt;; see, e.g., Fomin et al., &quot;Clique-width: on the price of generality&quot;, SODA'09. But again because these graph families include the complete graphs, the TSP is hard on these graphs.&lt;/p&gt;&#xA;" OwnerUserId="95" LastEditorUserId="95" LastEditDate="2010-12-07T21:35:35.457" LastActivityDate="2010-12-07T21:35:35.457" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="3631" PostTypeId="2" ParentId="3620" CreationDate="2010-12-07T20:35:42.520" Score="8" Body="&lt;p&gt;The best approximation algorithm for clique gives an unbelievably bad approximation factor $n/\text{polylog } n$ (recall that approximation factor of $n$ is trivial).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are hardness of approximation results under various hardness assumptions that don't quite match this, but still give hardness of $n^{1-o(1)}$. Personally, I believe that $n/\text{polylog } n$ approximation for clique is as good as polynomial-time algorithms would ever do. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;But approximation of $n/\text{polylog } n$ for clique can easily be done in quasi-polynomial time.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;An NP-hard problem is a problem that has a polynomial-time reduction from SAT.&#xA;Even if SAT needs time $2^{\Omega(n)}$, this may translate to time $2^{\Omega(N^\epsilon)}$ for the problem we reduce to. If the latter has input size N, it may be the case that $N=n^{1/\epsilon}$ for a small constant $\epsilon$.&lt;/p&gt;&#xA;" OwnerUserId="1621" LastEditorUserId="80" LastEditDate="2010-12-07T20:43:16.347" LastActivityDate="2010-12-07T20:43:16.347" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3632" PostTypeId="2" ParentId="3624" CreationDate="2010-12-07T21:09:24.833" Score="10" Body="&lt;p&gt;I am not an electrical engineer, but search for online patents regarding switching circuits for parity gates, and all proposals (I found patents only until the end of the 1970s) discuss the size-versus-depth problem. All three patents I have looked at propose solutions of logarithmic depth, based on fanin-2 gates. So the answer to your first question is possibly &quot;no&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;J.J. Moyer: Parity Check Switching Circuit, United States Patent US3011073, 1961&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A.F. Bulver et al.: NAND Gate realization of the n-input parity function, United States Patent US3718904, 1973&lt;/p&gt;&#xA;&#xA;&lt;p&gt;P.J. Baun, Jr.: Parity Circuits, United States Patent US4251884, 1981&lt;/p&gt;&#xA;" OwnerUserId="2367" LastEditorUserId="2367" LastEditDate="2010-12-07T22:53:55.793" LastActivityDate="2010-12-07T22:53:55.793" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3633" PostTypeId="1" CreationDate="2010-12-08T01:21:21.400" Score="5" ViewCount="204" Body="&lt;p&gt;If I understand this correctly, arithmetizating a formula is a way of &quot;interpolating&quot; a polynomial in such a way that polynomial evaluated on 0's and 1's corresponds to &quot;unsatisfiable&quot; if it is a root, and &quot;satisfiable&quot; if it is 1. (I use interpolating in a very loose sense here). It seems plausible that the degree/number of turning points of the resulting polynomial corresponds loosely to how &quot;complex&quot; the formula is. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;To give a trivial example, &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$a \oplus b$ is quardratic, $(1-ab)(1-(1-a)(1-b))$&#xD;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;while &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$a \wedge b$ is $ab$, linear. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I believe an argument of this sort was used by Smolensky to show that PARITY is not in $AC^0$. I wonder, however, if there is there a more precise interpretation of&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The Degree of the Polynomial&lt;/li&gt;&#xA;&lt;li&gt;&lt;strike&gt; The Number of Turning Points in the Polynomial? &lt;/strike&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Thanks!&lt;/p&gt;&#xA;" OwnerUserId="1892" LastEditorUserId="1892" LastEditDate="2010-12-09T06:25:29.977" LastActivityDate="2010-12-09T06:25:29.977" Title="Is there an interpretation of the degree of the polynomial computed by the arithmetization of a boolean formula?" Tags="&lt;cc.complexity-theory&gt;&lt;polynomials&gt;" AnswerCount="0" CommentCount="6" ContentLicense="CC BY-SA 2.5" />
  <row Id="3634" PostTypeId="2" ParentId="3535" CreationDate="2010-12-08T01:30:07.863" Score="9" Body="&lt;p&gt;Proving a problem NP-Complete is a research success because it frees you from having to search for an efficient and exact solution for the general problem you are studying.  It proves that your problem is a member of a class of problems so difficult that nobody has been able to find an efficient and exact algorithm for any of the problems, and such a solution for any of the problems would imply a solution for all of the problems.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is usually a stepping stone, because your problem is still there - you simply have to relax your requirements. Usually people try and figure out how to relax one or more of &quot;efficient&quot;, &quot;exact&quot;, or &quot;general&quot;.  Inefficient-and-exact-and-general is the attempt to find better and better constants in the exponent for these algorithms.  Efficient-and-inexact-and-general is the study of approximation algorithms.  Efficient-and-exact-but-not-general is the study of fixed-parameter tractability and the search for subclasses of input for which efficient algorithms can be found.&lt;/p&gt;&#xA;" OwnerUserId="730" LastActivityDate="2010-12-08T01:30:07.863" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="3635" PostTypeId="2" ParentId="3616" CreationDate="2010-12-08T01:56:09.777" Score="30" Body="&lt;p&gt;A false belief that was popularized this year and is told many times when one tries to explain the whole $P \neq NP$ problem, since $P$ is explained as efficient : &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&quot;If $P=NP$ , then we can solve a vast number of problems efficiently. If not, we cannot&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $3SAT$ can be solved in $O(n^{googolplex})$ then $P=NP$ . I don't think anyone would even think of running this algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $P \neq NP$ , we can still have an algorithm for $TSP$ that runs in $n^{\log(\log n)}$ , which is smaller than $n^{5}$ for $n\leq2^{32}$ . Most people would be more than happy to be able to solve $TSP$ for 4 billion cities that fast.&lt;/p&gt;&#xA;" OwnerUserId="879" LastEditorUserId="873" LastEditDate="2010-12-08T02:00:17.717" LastActivityDate="2010-12-08T02:00:17.717" CommentCount="2" CommunityOwnedDate="2010-12-08T01:56:09.777" ContentLicense="CC BY-SA 2.5" />
  <row Id="3637" PostTypeId="2" ParentId="3616" CreationDate="2010-12-08T02:19:32.887" Score="21" Body="&lt;p&gt;An elementary one, but common when we first dealing with asymptotic notations. Consider the following &quot;proof&quot; to the recurrence relation $T(n) = 2T(n/2) + O(n \log n)$ and $T(1) = 1$:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We prove by induction. For the base case it holds for $n=1$. Assume the relation holds for all numbers smaller than $n$,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\begin{align}&#xD;&#xA;T(n) &amp;amp;= 2 \cdot T(n/2) + O(n \log n) \\&#xD;&#xA;&amp;amp;= 2 \cdot O(n/2 \log n/2) + O(n \log n) \\&#xD;&#xA;&amp;amp;= O(n \log n/2) + O(n \log n) \\&#xD;&#xA;&amp;amp;= O(n \log n) \\&#xD;&#xA;\end{align}$&#xD;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Q.E.D. (is it?)&lt;/p&gt;&#xA;" OwnerUserId="1800" LastActivityDate="2010-12-08T02:19:32.887" CommentCount="2" CommunityOwnedDate="2010-12-08T02:19:32.887" ContentLicense="CC BY-SA 2.5" />
  <row Id="3638" PostTypeId="1" CreationDate="2010-12-08T03:56:23.793" Score="2" ViewCount="427" Body="&lt;p&gt;I am looking to cluster users together in a database, with each user represented by a number of features that are both discrete and continuous in nature.  &quot;Similar&quot; users should be clustered together in a way that underlying strongly correlated features can be easily discovered.  A few other requirements:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The number of clusters is unknown&lt;/li&gt;&#xA;&lt;li&gt;The runtime execution time is not a concern&lt;/li&gt;&#xA;&lt;li&gt;The number of users can be on the order of 100,000 and number of features around 50&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;There are a number of clustering techniques, from KNN, k-means, matrix factorization, even PCA, but many seem to hide the underlying correlations that tie the users together.  Any advice?&lt;/p&gt;&#xA;" OwnerDisplayName="DanB" LastEditorUserId="186" LastEditDate="2010-12-08T23:58:41.607" LastActivityDate="2010-12-08T23:58:41.607" Title="K-NN or matrix factorization for discovering correlated features?" Tags="&lt;lg.learning&gt;&lt;machine-learning&gt;&lt;clustering&gt;&lt;data-mining&gt;" AnswerCount="1" CommentCount="6" ContentLicense="CC BY-SA 2.5" />
  <row Id="3639" PostTypeId="2" ParentId="3620" CreationDate="2010-12-08T04:51:51.210" Score="15" Body="&lt;p&gt;There is a close connection between &lt;strong&gt;sub-exponential time solvability&lt;/strong&gt; (SUBEPT) and &lt;strong&gt;fixed parameter tractability&lt;/strong&gt; (FPT). The link between them is provided in the following  paper. &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.92.531&amp;amp;rep=rep1&amp;amp;type=pdf&quot;&gt;An isomorphism between subexponential and parameterized complexity theory&lt;/a&gt;, Yijia Chen and Martin Grohe, 2006.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;In brief, they introduced a notion called &lt;em&gt;miniaturization mapping&lt;/em&gt;, which maps a parameterized problem $(P,\nu)$ into another parameterized problem $(Q,\kappa)$. By viewing a normal problem as a problem parameterized by the input size, we have the following connection. (See theorem 16 in the paper)&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Theorem&lt;/strong&gt;. $(P,\nu)$ is in SUBEPT iff $(Q,\kappa)$ is in FPT.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Be careful of the definitions here. Normally we view $k$-clique problem as parameterized in $k$, so there is no sub-exponential time algorithm for it assuming Exponential time hypothesis. But here we let the problem be parameterized by the input size $O(m+n)$, thus the problem can be solved in $2^{O(\sqrt{m}\log m)}$, which is a sub-exponential time algorithm. And the theorem tells us that the $k$-clique problem is fixed parameter tractable under the some twist of the parameter $k$, which is reasonable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In general, problems in SUBEPT under SERF-reductions (sub-exponential reduction families) can be transformed into problems in FPT under FPT-reductions. (Theorem 20 in the paper) Furthermore, the connections are even stronger since they provided an isomorphism theorem between a whole hierarchy of problems in exponential time complexity theory and parameterized complexity theory. (Theorem 25 and 47) Though the isomorphism is not complete (there are some missing links between them), it is still nice to have a clear picture about these problems, and we can study sub-exponential time algorithms via parameterized complexity.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See the &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.142.1009&amp;amp;rep=rep1&amp;amp;type=pdf&quot;&gt;survey&lt;/a&gt; by Jörg Flum and Martin Grohe, together with Jacobo Torán, the editor of the complexity column, for more information.&lt;/p&gt;&#xA;" OwnerUserId="1800" LastEditorUserId="1800" LastEditDate="2010-12-09T01:02:34.603" LastActivityDate="2010-12-09T01:02:34.603" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="3640" PostTypeId="2" ParentId="3229" CreationDate="2010-12-08T05:15:38.750" Score="5" Body="&lt;p&gt;Here is an example from Computational Complexity: A Modern Approach by Arora and Barak (page 128):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If every language in $EXP$ has circuits of size $o(2^{n} /n)$ then $P \ne NP$  &lt;/p&gt;&#xA;" OwnerUserId="495" LastActivityDate="2010-12-08T05:15:38.750" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3641" PostTypeId="2" ParentId="3638" CreationDate="2010-12-08T05:20:54.407" Score="2" Body="&lt;p&gt;You're asking essentially a modelling question, and so the answer really depends on your data. If you're saying that strong correlations are not being identified by the methods you listed, it's possible that the correlations are non-linear (the above methods with the exception of k-NN are linear), and so you might try something like &lt;a href=&quot;http://en.wikipedia.org/wiki/Independent_component_analysis&quot; rel=&quot;nofollow&quot;&gt;ICA&lt;/a&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For something closer to home, have you considered &lt;a href=&quot;http://en.wikipedia.org/wiki/Correlation_clustering&quot; rel=&quot;nofollow&quot;&gt;correlation clustering&lt;/a&gt; ? you don't say how the data is presented, but if you have similarity and dissimilarity information, then correlation clustering is a good solution, and also does not require you to specify the number of clusters. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another idea would be to try spectral methods (if all you have is a distance function) like &lt;a href=&quot;http://www.kyb.mpg.de/publications/attachments/Luxburg07_tutorial_4488%5B0%5D.pdf&quot; rel=&quot;nofollow&quot;&gt;spectral clustering&lt;/a&gt;. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2010-12-08T05:20:54.407" CommentCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="3644" PostTypeId="1" CreationDate="2010-12-08T14:42:52.590" Score="1" ViewCount="1768" Body="&lt;p&gt;I was playing with geolocation on maps and stumbled on an interesting problem: &#xA;I retrieve data from the db ordered by increasing distance from a user input, like a postcode or street, which makes sense as long as I don't use a combination of paging and map browsing, at which point the dataset no longer makes sense. Since the data on the map will be represented in concentric circles, if a user starts browsing the map needs to zoom out in order to accommodate for changing pages. &#xA;So I thought a better way of sorting data would be by elements' proximity to each other, rather than the user, which is a logical representation of a map I guess (in a geographical sense). But how then given any point on this map can we retrieve an equivalent 1D array that would convey this information?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT:&lt;/strong&gt; Thanks for your comments. I think it may be that my problem isn't as theoretical as you answers, it's been a few years since I had to cram for my algorithm exams and I've forgotten a whole lot. I'll to give some details, perhaps that will make it clearer:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In this particular case I am looking at around 350 points on the map, and page of around 10. (I think that makes &lt;em&gt;k&lt;/em&gt; in Suresh's comment about 20, because on/after the second page distance from &lt;em&gt;q&lt;/em&gt; - in this case position of user's query - is not the only relevant factor)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I had a, possibly a not so smart an idea, which I would like to try to explain with the of a crudely drawn diagram in paint:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://i.stack.imgur.com/2Brgb.png&quot; rel=&quot;nofollow noreferrer&quot;&gt;&lt;img src=&quot;https://i.stack.imgur.com/2Brgb.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So diagram &lt;strong&gt;A&lt;/strong&gt; is what I have now, where concentric red circles represent paged results as points get further and further away from the centre red dot. I'd like to be able to drag the map, so that paged results get updated with what's currently closest to the centre of the screen (much like Google results) but with current sorting it's impossible without zooming out to accommodate all the points. &#xA;A possible solution is to apply some clustering to get a bunch of probably overlapping areas that represent pages as shown in diagram &lt;strong&gt;B&lt;/strong&gt;. That would mean there is some duplication in the returned dataset, but the duplication factor could be tweaked. The green spiral in both diagram indicates roughly increase in distance.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Having said all that, I'm now beginning to think it would be much easier to just use viewport to determine what's currently visible to the user and simply show the results on the page as that. :S&lt;/p&gt;&#xA;" OwnerUserId="2627" LastEditorUserId="32711" LastEditDate="2019-08-26T06:32:23.230" LastActivityDate="2019-08-26T06:32:23.230" Title="Sorting array of distances by proximity to each other" Tags="&lt;cg.comp-geom&gt;&lt;sorting&gt;" AnswerCount="3" CommentCount="4" ContentLicense="CC BY-SA 4.0" />
  <row Id="3646" PostTypeId="2" ParentId="3620" CreationDate="2010-12-08T16:24:42.947" Score="20" Body="&lt;p&gt;By the way the Max Clique problem, in full generality, can be solved in time $2^{\tilde O(\sqrt N)}$ where $N$ is the size of the input.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is trivial if the graph is represented via an adjacency matrix, because then $N=|V|^2$, and a brute force search will take time $2^{O(|V|)}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But we can get the same bound even if the graph is represented by adjacency lists, via an algorithm of running time $2^{\tilde O(\sqrt{|V| + |E|})}$. To see how, let's get a $2^{\tilde O(\sqrt{|V| + |E|})}$-time algorithm for the NP-complete decision problem in which we are given a graph $G=(V,E)$ and $k$ and we want to know if there is a clique of size $\geq k$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The algorithm simply removes all vertices of degree $&amp;lt; k$ and the edges incident on them, then does it again, and so on, until we are left with a vertex-induced subgraph over a subset $V&amp;#39;$ of vertices, each of degree $\geq k$, or with an empty graph. In the latter case, we know that no clique of size $\geq k$ can exist. In the former case, we do a brute-force search running in time roughly $|V&amp;#39;|^k$. Note that  $|E| \geq k\cdot |V&amp;#39;| /2$ and $k\leq |V&amp;#39;|$, so that that $|E| \geq k^2/2$, and so a brute-force search running in time $|V&amp;#39;|^k$ is actually running in time $2^{O(\sqrt{|E|} \cdot \log |V|)}$.&lt;/p&gt;&#xA;" OwnerUserId="1069" LastActivityDate="2010-12-08T16:24:42.947" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3647" PostTypeId="2" ParentId="3629" CreationDate="2010-12-08T16:45:15.310" Score="7" Body="&lt;p&gt;If I understand you correctly, you are asking for a linear extension of the partial order induced by the partitioning of the weak alternating automaton into its maximal strictly connected components and the transitions between the states. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that the &quot;extension of the partial order&quot; to a total order is not unique. The process of obtaining any such total order is called topologic sorting.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See the following wikipedia page for details and a link to an algorithm: &lt;a href=&quot;http://en.wikipedia.org/wiki/Partially_ordered_set&quot; rel=&quot;noreferrer&quot;&gt;http://en.wikipedia.org/wiki/Partially_ordered_set&lt;/a&gt; &lt;/p&gt;&#xA;" OwnerUserId="2631" LastActivityDate="2010-12-08T16:45:15.310" CommentCount="7" ContentLicense="CC BY-SA 2.5" />
  <row Id="3648" PostTypeId="2" ParentId="3616" CreationDate="2010-12-08T18:18:58.277" Score="61" Body="&lt;p&gt;This is one is common to computational geometry, but endemic elsewhere: &lt;strong&gt;Algorithms for the real RAM can be transferred to the integer RAM (for integer restrictions of the problem) with no loss of efficiency.&lt;/strong&gt;  A canonical example is the claim “Gaussian elimination runs in $O(n^3)$ time.”  In fact, careless elimination orders can produce integers with &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=258740&quot;&gt;exponentially many bits&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Even worse, but still unfortunately common: &lt;strong&gt;Algorithms for the real RAM &lt;em&gt;with floor function&lt;/em&gt; can be transferred to the integer RAM with no loss of efficiency.&lt;/strong&gt;  In fact, a real-RAM+floor can solve &lt;a href=&quot;http://www.computational-geometry.org/mailing-lists/compgeom-announce/2003-December/000852.html&quot;&gt;any problem in PSPACE or in #P in a polynomial number of steps&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="111" LastActivityDate="2010-12-08T18:18:58.277" CommentCount="2" CommunityOwnedDate="2010-12-08T18:18:58.277" ContentLicense="CC BY-SA 2.5" />
  <row Id="3649" PostTypeId="2" ParentId="2379" CreationDate="2010-12-08T18:45:59.730" Score="12" Body="&lt;p&gt;I can't answer my original question, but I can answer the question 3 (and 4), which I added when I offered a bounty because I thought the original question was likely too hard. In fact, I have two proofs of question 3.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here's the setting for question 3:&#xA;We have a polynomial-time referee who, at the beginning of the game, gives players 1 and 2 correlated random variables. Players 1 and 2 then play the game, without any interference from the referee. At the end of the game, the referee looks over the transcript and decides who wins. I can show that deciding who wins such a game is EXPTIME complete, even if you are given the promise that the winner wins with probability at least $2/3$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;========Proof 1============&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The first proof uses the fact that oblivious transfer is universal for secure  two-party computation. Thus, if players 1 and 2 can perform oblivious transfer, they can simulate an arbitrary polynomial-time referee, so the previous results that refereed games are EXPTIME complete can be applied. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, to achieve 1-2 oblivious transfer, at the beginning of the game, the referee gives the two players a large number of &quot;oblivious transfer boxes.&quot; We describe one of these oblivious transfer boxes. P1 gets two random numbers, $r_1$ and $r_2$. P2 gets one of these random numbers, $r_i$ and the variable $i$ ($=1$ or $2$) saying which of P1's random numbers he got. To perform oblivious transfer, P1 takes the two pieces of data he wants to transfer, and XOR's them with $r_1$ and $r_2$. P2 can then decode one of these, but P1 cannot tell which one P2 can decode. This is 1-2 oblivious transfer. (Obviously, the referee also has to give the players oblivious transfer boxes directed the other way, from P2 to P1.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;When I first asked question 4, I was worried that the secure two-party computation results didn't apply to this kind of interactive computation with a referee, but in fact it's quite easy to show that they do.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;===========Proof 2===========&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now for the second proof for question 3. Here, we need to go back and modify the Feige-Kilian proof. In this proof, they consider a Turing machine T which is running an exponential time computation. Feige and Kilian encode the $2^n$ bits on the tape at time $t$ in a multilinear polynomial $Q_t($x_1$, \ldots, $x_n$)$ over a large finite field GF($p$). Now, the referee gives a point to P1 and a line containing this point to P2, and the two players give the evaluation of the point and the line on $Q_t$ back to the referee. The referee uses binary search to find a time $t$ where P1 and P2's evaluations of $Q_t$ agree, but their evaluations of $Q_{t+1}$ disagree, after which he asks P1 a clever question which will reveal whether she is the one who is lying.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The first thing we will use is that, even with uncorrelated random coins, the referee can make players 1 and 2 perform bit committment, by having them XOR the data they want to commit with the random coins. Thus, we can talk about P1 and P2 putting things in sealed envelopes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One thing you might try to simulate the Feige-Kilian proof is: the referee gives P1 a lot of different points $p_i$, and P2 a lot of lines $\ell_i$, so that $p_i$ is on $\ell_i$. Now, at each step of the binary search, the players put the values $Q_{t}(p_i)$ and $Q_t(\ell_i)$ into sealed envelopes, and then the referee chooses one randomly for the players to open. The two players decide whether the values are consistent, and proceed with the binary search accordingly. Now, we've ruined the $(p_i, \ell_i)$ pair, because both players know the value of the point and line, but we still have a lot of other (point, line) pairs that we can use.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(How can the referee choose one $(p_i, \ell_i)$ randomly if he gives the players instructions only at the beginning of the game? He can encode his instructions in the XOR of values he gives to the two players at the beginning, and the two players can't read the instruction until they both reveal the values at the relevant time.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This strategy doesn't quite work, because P1 and P2 don't have to be consistent about the time at which they start lying with two points (or lines)&#xA;That is, P1 could let give the right value for $Q_t(p_i)$ and the wrong value for $Q_t(p_j)$. This would completely mess up the binary search, and make the protocol inconclusive. However, there's a neat trick we can use to force P1 to be consistent. Add a bunch of dummy points ${p}&amp;#39;_k$ to P1's set of points, and add dummy lines ${\ell}&amp;#39;_k$ to P2's set of lines. Let each dummy line have two points on it. If P1 happens to give the right value for one dummy point on a line and the wrong value for the other dummy point, then he has revealed himself as a liar, since there is no way for P2 to give the value for a line that is correct for one of P1's two points on it and not the other. We can do a similar trick to make P2 answer consistently. Then the only thing left is showing that the last step of the Feige-Kilian proof still works. This turns out to be straightforward, although going through the details would make this answer much longer. &lt;/p&gt;&#xA;" OwnerUserId="1677" LastEditorUserId="1677" LastEditDate="2010-12-10T21:25:38.640" LastActivityDate="2010-12-10T21:25:38.640" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3650" PostTypeId="1" AcceptedAnswerId="3658" CreationDate="2010-12-08T20:16:10.460" Score="45" ViewCount="2157" Body="&lt;p&gt;It's my understanding that Turing's model has come to be the &quot;standard&quot; when describing computation. I'm interested to know why this is the case -- that is, why has the TM model become more widely-used than other theoretically equivalent (to my knowledge) models, for instance Kleene's μ-Recursion or the Lambda Calculus (I understand that the former didn't appear until later on and the latter wasn't originally designed specifically as a model of computation, but it shows that alternatives have existed from the start).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;All I can think of is that the TM model more closely represents the computers we actually have than its alternatives. Is this the only reason?&lt;/p&gt;&#xA;" OwnerUserId="1951" LastActivityDate="2010-12-09T16:57:38.950" Title="Historical reasons for adoption of Turing Machine as primary model of computation." Tags="&lt;reference-request&gt;&lt;soft-question&gt;&lt;computability&gt;&lt;turing-machines&gt;&lt;ho.history-overview&gt;" AnswerCount="5" CommentCount="3" FavoriteCount="16" ContentLicense="CC BY-SA 2.5" />
  <row Id="3651" PostTypeId="2" ParentId="3650" CreationDate="2010-12-08T20:26:15.967" Score="13" Body="&lt;p&gt;One of the nice things about Turing machines is that they work on strings instead of natural numbers or lambda terms, because the input and the output of many problems can be naturally formulated as strings.  I do not know if this counts as a “historical” reason or not, though.&lt;/p&gt;&#xA;" OwnerUserId="567" LastActivityDate="2010-12-08T20:26:15.967" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3652" PostTypeId="1" AcceptedAnswerId="3667" CreationDate="2010-12-08T20:35:50.710" Score="9" ViewCount="712" Body="&lt;p&gt;&lt;strong&gt;In Short:&lt;/strong&gt; Assuming &lt;strong&gt;one-way permutations&lt;/strong&gt; exist, can we construct one that has no trapdoor?&lt;/p&gt;&#xA;&lt;h3&gt;More info:&lt;/h3&gt;&#xA;&lt;p&gt;A one-way permutation is a permutation &lt;span class=&quot;math-container&quot;&gt;$\pi$&lt;/span&gt; which is easy to compute, but hard to invert (see the &lt;a href=&quot;https://cstheory.stackexchange.com/tags/one-way-function/info&quot;&gt;one-way-function tag wiki&lt;/a&gt; for a more formal definition). We usually consider &lt;strong&gt;families&lt;/strong&gt; of one-way permutation, &lt;span class=&quot;math-container&quot;&gt;$\pi = \{\pi_n\}_{n \in \mathbb{N}}$&lt;/span&gt;, where each &lt;span class=&quot;math-container&quot;&gt;$\pi_n$&lt;/span&gt; is a one-way permutation, acting on a &lt;strong&gt;finite&lt;/strong&gt; domain &lt;span class=&quot;math-container&quot;&gt;$D_n$&lt;/span&gt;. A &lt;strong&gt;trapdoor&lt;/strong&gt; one-way permutation is defined as above, except that there exists a trapdoor set &lt;span class=&quot;math-container&quot;&gt;$\{t_n\}_{n \in \mathbb{N}}$&lt;/span&gt; and an poly-time inverting algorithm &lt;span class=&quot;math-container&quot;&gt;$I$&lt;/span&gt;, such that for all &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt;, &lt;span class=&quot;math-container&quot;&gt;$|t_n| \le {\rm poly}(n)$&lt;/span&gt;, and &lt;span class=&quot;math-container&quot;&gt;$I$&lt;/span&gt; can invert &lt;span class=&quot;math-container&quot;&gt;$\pi_n$&lt;/span&gt; provided that it is given &lt;span class=&quot;math-container&quot;&gt;$t_n$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;p&gt;I know one-way permutations which are generated so that it is &lt;em&gt;infeasible&lt;/em&gt; to find the trapdoor (yet the trapdoor exists). An example, based on RSA-assumption, is given &lt;a href=&quot;http://www.wisdom.weizmann.ac.il/%7Eoded/PS/gln.ps&quot; rel=&quot;nofollow noreferrer&quot;&gt;here&lt;/a&gt;. The question is,&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Do there exist (families of) one-way permutations which &lt;strong&gt;do not&lt;/strong&gt; have a trapdoor (set)?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;h3&gt;Edit: (More Formalization)&lt;/h3&gt;&#xA;&lt;p&gt;Assume there exists some one-way permutation &lt;span class=&quot;math-container&quot;&gt;$\pi$&lt;/span&gt; with (infinite) domain &lt;span class=&quot;math-container&quot;&gt;$D \subseteq \{0,1\}^*$&lt;/span&gt;. That is, there exists a probabilistic polynomial-time algorithm &lt;span class=&quot;math-container&quot;&gt;$\mathcal{D}$&lt;/span&gt; (which, on input &lt;span class=&quot;math-container&quot;&gt;$1^n$&lt;/span&gt;, induces some distribution over &lt;span class=&quot;math-container&quot;&gt;$D_n=\\{0,1\\}^n \cap D$&lt;/span&gt;), such that&#xA;for any polynomial-time adversary &lt;span class=&quot;math-container&quot;&gt;$\mathcal{A}$&lt;/span&gt;, any &lt;span class=&quot;math-container&quot;&gt;$c&amp;gt;0$&lt;/span&gt;, and all sufficiently large integer &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt;:&lt;/p&gt;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$\Pr[x \leftarrow \mathcal{D}(1^n) \colon \quad \mathcal{A}(\pi(x))=x]&amp;lt;n^{-c}$&lt;/span&gt;&lt;/p&gt;&#xA;&lt;p&gt;(The probability is taken over the internal coin tosses of &lt;span class=&quot;math-container&quot;&gt;$\mathcal{D}$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$\mathcal{A}$&lt;/span&gt;.)&lt;/p&gt;&#xA;&lt;p&gt;The question, is whether we can construct a one-way permutation &lt;span class=&quot;math-container&quot;&gt;$\pi'$&lt;/span&gt;, for which there exists a probabilistic polynomial-time algorithm &lt;span class=&quot;math-container&quot;&gt;$\mathcal{D}'$&lt;/span&gt; such that for any &lt;strong&gt;poly-size family of circuits&lt;/strong&gt; &lt;span class=&quot;math-container&quot;&gt;$\mathcal{A}'=\{\mathcal{A}'_n\}_{n \in \mathbb{N}}$&lt;/span&gt;, any &lt;span class=&quot;math-container&quot;&gt;$c&amp;gt;0$&lt;/span&gt;, and all sufficiently large integer &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt;:&lt;/p&gt;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$\Pr[x \leftarrow \mathcal{D}'(1^n) \colon \quad \mathcal{A}'_n(\pi'(x))=x]&amp;lt;n^{-c}$&lt;/span&gt;&lt;/p&gt;&#xA;&lt;p&gt;(The probability is taken over the internal coin tosses of &lt;span class=&quot;math-container&quot;&gt;$\mathcal{D}'$&lt;/span&gt;, since &lt;span class=&quot;math-container&quot;&gt;$\mathcal{A}'$&lt;/span&gt; is deterministic.)&lt;/p&gt;&#xA;" OwnerUserId="873" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2010-12-09T07:00:42.417" Title="One-Way Permutations without Trapdoor" Tags="&lt;cr.crypto-security&gt;&lt;one-way-function&gt;" AnswerCount="2" CommentCount="12" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="3653" PostTypeId="2" ParentId="3644" CreationDate="2010-12-08T20:51:25.730" Score="1" Body="&lt;p&gt;It might be useful to store the data in a graph of nodes corresponding to the &lt;a href=&quot;http://en.wikipedia.org/wiki/Delaunay_triangulation&quot; rel=&quot;nofollow&quot;&gt;Delaunay Triangulation&lt;/a&gt; of the geometric data points.  Then if you wanted to query an area you could do so by starting with a vertex in your region and then growing a subgraph of the triangulation.&lt;/p&gt;&#xA;" OwnerUserId="1929" LastActivityDate="2010-12-08T20:51:25.730" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3654" PostTypeId="2" ParentId="3644" CreationDate="2010-12-08T21:29:14.237" Score="1" Body="&lt;p&gt;You should check out R-tree indexes: &lt;a href=&quot;http://en.wikipedia.org/wiki/R-tree&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/R-tree&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are a number of implementations that are available.  You would probably want to traverse the tree in a custom manner.  Maybe cut the tree at some level and process each subtree in distance from user to bounding box order.&lt;/p&gt;&#xA;" OwnerUserId="1496" LastActivityDate="2010-12-08T21:29:14.237" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3655" PostTypeId="2" ParentId="3652" CreationDate="2010-12-08T21:31:54.343" Score="7" Body="&lt;p&gt;I don't know about constructions from general assumptions, but you can get a plausible candidate for a &quot;one-way permutation without a trapdoor&quot; by using discrete log modulo a prime $p$.  That is, let $g$ be a primitive root modulo $p$, and define $\pi(x) = g^x\!\mod p$.  Then $\pi$ is a permutation on the integers between $1$ and $p-1$, and it is generally assumed to be one-way.  For the &quot;no trapdoor&quot; part, I suppose you need to define exactly what that means, but as far as I know, we don't have any way to set things up to enable inversion.  (If we did, then it'd have all sorts of cool (positive) applications in cryptography!)&lt;/p&gt;&#xA;" OwnerUserId="724" LastActivityDate="2010-12-08T21:31:54.343" CommentCount="6" ContentLicense="CC BY-SA 2.5" />
  <row Id="3656" PostTypeId="1" AcceptedAnswerId="3769" CreationDate="2010-12-08T22:39:48.367" Score="12" ViewCount="561" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;What are the problems with the best known approximation ratio achieved by an algorithm returning a uniformly random solution? &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I know one such example for permutation flow shop problem $F|perm|C_{max}$: in the paper &quot;&lt;a href=&quot;http://scholar.google.com/scholar?cluster=14978066871570961423&amp;amp;hl=en&amp;amp;as_sdt=2001&quot; rel=&quot;noreferrer&quot;&gt;Tight Bounds for Permutation Flow Shop Scheduling&lt;/a&gt;&quot; Viswanath Nagarajan and Maxim Sviridenko proved that random sequence of jobs have guarantee $2\sqrt{min\{m,n\}}$ ($m$-number of machines and $n$ - number of jobs) which is the best known currently.&lt;/p&gt;&#xA;" OwnerUserId="1060" LastEditorUserId="1060" LastEditDate="2010-12-09T16:58:35.863" LastActivityDate="2010-12-13T15:48:18.120" Title="What are the problems with the best approximation ratio achieved by algorithm returning uniformly random solution?" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;approximation-algorithms&gt;" AnswerCount="3" CommentCount="2" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="3657" PostTypeId="1" AcceptedAnswerId="4177" CreationDate="2010-12-08T22:49:47.917" Score="12" ViewCount="303" Body="&lt;p&gt;Tree decomposition is hard in the worst case but greedy method seems to be near-optimal on small real-life networks.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Is anything known about hardness of tree decomposition of a &quot;typical&quot; instance of some class of graphs?&lt;/li&gt;&#xA;&lt;li&gt;Is there example of a family of graphs where greedy methods for tree decomposition do badly?&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="434" LastEditorUserId="434" LastEditDate="2011-01-08T03:07:25.007" LastActivityDate="2011-01-08T03:12:56.827" Title="Typical hardness of tree decomposition?" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;treewidth&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3658" PostTypeId="2" ParentId="3650" CreationDate="2010-12-08T23:09:28.870" Score="48" Body="&lt;p&gt;This seems to be true in the context of (some areas of) computer science but not generally.&lt;/p&gt;&#xA;&lt;p&gt;One reasons has to do with the Church's Thesis. The main reason is that some experts like Godel didn't think that the arguments that previous/other models of computation capture exactly the intuitive concept of computation were convincing. There are various arguments, Church had some, but they did not convince Godel. On the other hand Turing's analysis was convincing for Godel so it was accepted as &lt;em&gt;the&lt;/em&gt; model for effective computation. The equivalences between different models is proven later (I think by Kleene).&lt;/p&gt;&#xA;&lt;p&gt;The second reason is technical and a later development related to the study of complexity theory. Defining the complexity measures like time, space, and nondeterminism seems to be easier using Turing machines than other models like &lt;span class=&quot;math-container&quot;&gt;$\lambda$&lt;/span&gt;-calculus and &lt;span class=&quot;math-container&quot;&gt;$\mu$&lt;/span&gt;-recursive functions.&lt;/p&gt;&#xA;&lt;p&gt;On the other hand, &lt;span class=&quot;math-container&quot;&gt;$\mu$&lt;/span&gt;-recursive functions were and are still used as the main way of defining computability in logic and computability theory books. They are easier to work with when one only cares about effectiveness and not about complexity. Kleene's book &amp;quot;Metamathematics&amp;quot; was very influential for this development. Also &lt;span class=&quot;math-container&quot;&gt;$\lambda$&lt;/span&gt;-calculus seems to be more common in CMU/European style computer science like programming languages and type theory. Some authors prefer the RAM and Register Machine models.&#xA;(It seems to me that for some reason Americans adopted Turing's semantic model and Europeans adopted Church's syntactic model, Chruch was American and Turing was British. This a personal opinion/observation and others have &lt;a href=&quot;http://www.newton.ac.uk/programmes/SAS/&quot; rel=&quot;noreferrer&quot;&gt;a different view&lt;/a&gt;. Also see these papers by Viggo Stoltenberg-Hansen and John V. Tucker &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=1024924&quot; rel=&quot;noreferrer&quot;&gt;I&lt;/a&gt;,&lt;a href=&quot;http://portal.acm.org/citation.cfm?id=309999.310039&quot; rel=&quot;noreferrer&quot;&gt;II&lt;/a&gt;.)&lt;/p&gt;&#xA;&lt;h3&gt;Some resources for further reading:&lt;/h3&gt;&#xA;&lt;p&gt;&lt;a href=&quot;http://people.cs.uchicago.edu/%7Esoare/&quot; rel=&quot;noreferrer&quot;&gt;Robert I. Soare&lt;/a&gt; has a number of articles on the history of these developments, I personally like the one in the Handbook of Computability Theory. you can find more by checking the references in that paper.&lt;/p&gt;&#xA;&lt;p&gt;Another good resource is Neil Immerman's &lt;a href=&quot;http://plato.stanford.edu/entries/computability/&quot; rel=&quot;noreferrer&quot;&gt;computability&lt;/a&gt; article on SEP, see also &lt;a href=&quot;http://plato.stanford.edu/entries/church-turing/&quot; rel=&quot;noreferrer&quot;&gt;Church-Turing Thesis&lt;/a&gt; article by B. Jack Copeland.&lt;/p&gt;&#xA;&lt;p&gt;Godel's &lt;a href=&quot;http://books.google.com/books?id=5ya4A0w62skC&quot; rel=&quot;noreferrer&quot;&gt;collected works&lt;/a&gt; contains &lt;em&gt;lots&lt;/em&gt; of information on his views. Specially introductions to his articles are extremely well-written.&lt;/p&gt;&#xA;&lt;p&gt;Kleene's &amp;quot;&lt;a href=&quot;http://books.google.com/books?id=HZAjPwAACAAJ&quot; rel=&quot;noreferrer&quot;&gt;Metamathematics&lt;/a&gt;&amp;quot; is a very nice book.&lt;/p&gt;&#xA;&lt;p&gt;Finally, if you are not still satisfied check the archives of the &lt;a href=&quot;http://cs.nyu.edu/pipermail/fom/&quot; rel=&quot;noreferrer&quot;&gt;FOM mailing list&lt;/a&gt;, and if you cannot find an answer in the archive post a an email to the mailing list.&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2010-12-09T16:57:38.950" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="3659" PostTypeId="2" ParentId="3540" CreationDate="2010-12-08T23:33:24.340" Score="45" Body="&lt;p&gt;Several TCS books by &lt;a href=&quot;http://www.nowpublishers.com/product.aspx?product=TCS&quot; rel=&quot;noreferrer&quot;&gt;Now Publishers&lt;/a&gt; can be found in drafts:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://www.nowpublishers.com/product.aspx?product=TCS&amp;amp;doi=0400000001&quot; rel=&quot;noreferrer&quot;&gt;Foundations of Cryptography– A Primer&lt;/a&gt; by Oded Goldreich. This is a summarized version of his famous two-volume book on cryptography. (The draft of the two-volume version can be found in &lt;a href=&quot;https://cstheory.stackexchange.com/questions/3540/what-are-the-recent-tcs-books-whose-drafts-are-available-online/3556#3556&quot;&gt;Robin's answer&lt;/a&gt;.)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://www.cs.rutgers.edu/~muthu/stream-1-1.ps&quot; rel=&quot;noreferrer&quot;&gt;Data Streams: Algorithms and Applications&lt;/a&gt; by S. Muthukrishnan.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://people.math.gatech.edu/~tetali/PUBLIS/survey.pdf&quot; rel=&quot;noreferrer&quot;&gt;Mathematical Aspects of Mixing Times in Markov Chains&lt;/a&gt; by Montenegro &amp;amp; Tetali.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://www.math.ias.edu/~avi/BOOKS/TCS003-1.pdf&quot; rel=&quot;noreferrer&quot;&gt;Pairwise Independence and Derandomization&lt;/a&gt; by Luby &amp;amp; Widgerson.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://arxiv.org/abs/cs.CC/0606037&quot; rel=&quot;noreferrer&quot;&gt;Average-Case Complexity&lt;/a&gt; by Bogdanov &amp;amp; Trevisan.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.114.3402&quot; rel=&quot;noreferrer&quot;&gt;A Survey of Lower Bounds for Satisfiability and Related Problems&lt;/a&gt; by Melkebeek.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://www.ittc.ku.edu/~jsv/Papers/Vit.IO_book.pdf&quot; rel=&quot;noreferrer&quot;&gt;Algorithms and Data Structures for External Memory&lt;/a&gt; by Vitter.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://www.wisdom.weizmann.ac.il/~oded/pps-primer.html&quot; rel=&quot;noreferrer&quot;&gt;Probabilistic Proof Systems: A Primer&lt;/a&gt; by Goldreich. Again, this is a summarized version of a part Goldreich's book &lt;a href=&quot;http://www.wisdom.weizmann.ac.il/~oded/book1.html&quot; rel=&quot;noreferrer&quot;&gt;Modern Cryptography, Probabilistic Proofs and Pseudorandomness&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://research.microsoft.com/en-us/um/people/nivbuchb/papers/pd-survey.pdf&quot; rel=&quot;noreferrer&quot;&gt;The Design of Competitive Online Algorithms via a Primal-Dual Approach&lt;/a&gt; by Buchbinder &amp;amp; Naor.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://www.cc.gatech.edu/~vempala/spectralbook.pdf&quot; rel=&quot;noreferrer&quot;&gt;Spectral Algorithms&lt;/a&gt; by Kannan &amp;amp; Vempala.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://www.ccs.neu.edu/home/viola/papers/shallow.pdf&quot; rel=&quot;noreferrer&quot;&gt;On the Power of Small-Depth Computation&lt;/a&gt; by Viola.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://www.wisdom.weizmann.ac.il/~oded/PDF/dana-tech.pdf&quot; rel=&quot;noreferrer&quot;&gt;Algorithmic and Analysis Techniques in Property Testing&lt;/a&gt; by Ron.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://www.cs.tau.ac.il/~shpilka/publications/SY10.pdf&quot; rel=&quot;noreferrer&quot;&gt;Arithmetic Circuits: A Survey of Recent Results and Open Questions&lt;/a&gt;&#xA;by Amir Shpilka and Amir Yehudayoff (2010), Foundations and Trends® in Theoretical Computer Science: Vol. 5: No. 3–4, pp 207-388. &lt;a href=&quot;http://dx.doi.org/10.1561/0400000039&quot; rel=&quot;noreferrer&quot;&gt;http://dx.doi.org/10.1561/0400000039&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;In addition, drafts of several &lt;a href=&quot;http://www.springer.com/series/4752?detailsPage=titles&quot; rel=&quot;noreferrer&quot;&gt;Springer books on &quot;Information Security and Cryptography&quot;&lt;/a&gt; can be found online:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://www.eng.tau.ac.il/~bennyap/pubs/thesis.pdf&quot; rel=&quot;noreferrer&quot;&gt;Cryptography in Constant Parallel Time&lt;/a&gt; by Applebaum.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://groups.csail.mit.edu/cis/theses/salil-phd.ps&quot; rel=&quot;noreferrer&quot;&gt;A Study of Statistical Zero-Knowledge Proofs&lt;/a&gt; by Vadhan.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://dspace.mit.edu/handle/1721.1/42242&quot; rel=&quot;noreferrer&quot;&gt;Locally Decodable Codes and Private Information Retrieval Schemes&lt;/a&gt; by Yekhanin.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://www.eecs.harvard.edu/~alon/PAPERS/thesis/thesis.ps&quot; rel=&quot;noreferrer&quot;&gt;Concurrent Zero Knowledge&lt;/a&gt; by Rosen.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="873" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2015-08-05T15:59:04.233" CommentCount="0" CommunityOwnedDate="2010-12-08T23:33:24.340" ContentLicense="CC BY-SA 3.0" />
  <row Id="3660" PostTypeId="2" ParentId="3650" CreationDate="2010-12-08T23:35:53.963" Score="0" Body="&lt;p&gt;It was the first to have impact and thus has been established, especially in complexity theory. This is a weak reason, but people work that way. We work on old open problems first instead of declaring new ones.&lt;/p&gt;&#xA;" OwnerUserId="1546" LastActivityDate="2010-12-08T23:35:53.963" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="3661" PostTypeId="2" ParentId="3650" CreationDate="2010-12-08T23:44:59.520" Score="13" Body="&lt;p&gt;Beside the fact that Turing machines are a convincing model of pen-and-paper computation (the “intuitive notion of computation”), I think they possess a series of features that are often useful, particularly when proving theorems about them:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;they are easy to describe formally and have simple operational semantics;&lt;/li&gt;&#xA;&lt;li&gt;it’s easy to give a concrete definition of their time and space complexity;&lt;/li&gt;&#xA;&lt;li&gt;more realistic (and complex) models of electronic computers, such as random access machines, can be simulated by TMs with a polynomial overhead, and vice versa.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="182" LastActivityDate="2010-12-08T23:44:59.520" CommentCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="3662" PostTypeId="2" ParentId="3656" CreationDate="2010-12-09T00:30:53.580" Score="12" Body="&lt;p&gt;According to &lt;a href=&quot;http://dx.doi.org/10.1109/FOCS.2008.51&quot; rel=&quot;nofollow&quot;&gt;Guraswami et al, FOCS '08&lt;/a&gt;, the unique games conjecture would imply that there is no approximation algorithm for the maximum acyclic edge set of a digraph significantly better than the one that randomly permutes the vertices and includes an edge when it goes from an earlier to a later vertex in the permutation (with approximation ratio 1/2).&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2010-12-09T00:30:53.580" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3663" PostTypeId="2" ParentId="3656" CreationDate="2010-12-09T01:02:49.617" Score="10" Body="&lt;p&gt;In his paper &quot;&lt;a href=&quot;http://www.math.princeton.edu/~jvondrak/data/submod-value.pdf&quot;&gt;Optimal Approximation for the Submodular Welfare Problem in the Value Oracle Model&lt;/a&gt;&quot; Jan Vondrak asserts:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&quot;Interestingly, in the special case of Submodular Welfare with $n$ equal players, the optimal $(1 − \frac{1}{e})$-approximation is in fact obtained by a uniformly random solution.&quot;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="1060" LastActivityDate="2010-12-09T01:02:49.617" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3664" PostTypeId="2" ParentId="3644" CreationDate="2010-12-09T02:49:35.297" Score="3" Body="&lt;p&gt;Although it's hard to discern a precise question here, evidently it concerns spatial data structures for efficient local searches of objects.  Hanan Samet's books on the subject are classics and almost encyclopedic.  He wrote a brief overview of the subject available &lt;a href=&quot;http://www.cs.umd.edu/~hjs/pubs/kim.pdf&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;.  I suspect a simple &lt;strong&gt;quadtree&lt;/strong&gt; would be an attractive solution.  In many cases, exploiting a pre-sorting by one of the coordinates provides fine performance and is simple to code.&lt;/p&gt;&#xA;" OwnerUserId="564" LastActivityDate="2010-12-09T02:49:35.297" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3665" PostTypeId="1" AcceptedAnswerId="3696" CreationDate="2010-12-09T04:06:23.590" Score="7" ViewCount="392" Body="&lt;p&gt;Are programs written in the &lt;a href=&quot;http://en.wikipedia.org/wiki/Constraint_programming&quot;&gt;constraint programming&lt;/a&gt; (CP) paradigm more expressive than problems defined as &lt;a href=&quot;http://en.wikipedia.org/wiki/Constraint_satisfaction_problem&quot;&gt;constraint satisfaction problem&lt;/a&gt; (CSP)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Wikipedia says about Constraint_programming: &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Constraint programming is a programming paradigm wherein relations between variables are stated in the form of constraints.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;and later:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;The constraints used in constraint programming are of various kinds: those used in constraint satisfaction problems (e.g. &quot;A or B is true&quot;), those solved by the simplex algorithm (e.g. &quot;x &amp;lt;= 5&quot;), and others.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;If I understand that correctly CPs can describe superset of problems which can be described by CSP.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm especially interested in &lt;a href=&quot;http://krr.sabanciuniv.edu/projects/gridpuzzleASPvsCP/&quot;&gt;these programs of puzzle solvers&lt;/a&gt; written using CP. In the paper they wrote that some rules can not be described using CP so they used something which looks like imperative paradigm. If I cut off imperative part of programs is that valid CSP problem definition?&lt;/p&gt;&#xA;" OwnerUserId="2634" LastEditorUserId="186" LastEditDate="2010-12-09T04:21:32.940" LastActivityDate="2010-12-10T00:59:20.373" Title="What relation is between constraint satisfaction problems and constraint programming?" Tags="&lt;ds.algorithms&gt;&lt;csp&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="3666" PostTypeId="1" AcceptedAnswerId="3669" CreationDate="2010-12-09T05:14:08.697" Score="16" ViewCount="4170" Body="&lt;p&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/questions/3581/time-complexity-of-held-karp-algorithm-for-tsp&quot;&gt;A recent question&lt;/a&gt; discussed the now-classical dynamic programming algorithm for TSP, due independently to &lt;a href=&quot;http://portal.acm.org/citation.cfm?doid=321105.321111&quot; rel=&quot;nofollow noreferrer&quot;&gt;Bellman&lt;/a&gt; and &lt;a href=&quot;http://dx.doi.org/10.1137/0110015&quot; rel=&quot;nofollow noreferrer&quot;&gt;Held-Karp&lt;/a&gt;.  The algorithm is &lt;a href=&quot;http://xkcd.com/399/&quot; rel=&quot;nofollow noreferrer&quot;&gt;universally&lt;/a&gt; reported to run in $O(2^n n^2)$ time.  However, as one of my students recently pointed out, this running time may require an unreasonably powerful model of computation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is a brief description of the algorithm.  The input consists of a directed graph $G=(V,E)$ with $n$ vertices and a non-negative length function $\ell\colon E\to\mathbb{R}^+$.  For any vertices $s$ and $t$, and any subset $X$ of vertices that excludes $s$ and $t$, let $L(s,X,t)$ denote the length of the shortest Hamiltonian path from $s$ to $t$ in the induced subgraph $G[X\cup\{s,t\}]$.  The Bellman-Held-Karp algorithm is based on the following recurrence (or as economists and control theorists like to call it, “Bellman's equation”):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;    L(s,X,t) = \begin{cases}&#xA;       \ell(s,t) &amp;amp; \text{if $X = \varnothing_{\strut} $} \\&#xA;       \min_{v\in X}~  \big(L(s, X\setminus\lbrace v\rbrace, v) + \ell(v,t)\big)&#xA;              &amp;amp; \text{otherwise}&#xA;    \end{cases}&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For any vertex $s$, the length of the optimal traveling salesman tour is $L(s,V\setminus\{s\}, s)$.  Because the first parameter $s$ is constant in all recursive calls, there are $\Theta(2^n n)$ different subproblems, and each subproblem depends on at most $n$ others.  Thus, the dynamic programming algorithm runs in $O(2^n n^2)$ time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Or does it?!  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The standard integer RAM model allows constant-time manipulation of integers with $O(\log n)$ bits, but at least for &lt;em&gt;arithmetic&lt;/em&gt; and &lt;em&gt;logical&lt;/em&gt; operations, larger integers must be broken into word-sized chunks.  (Otherwise, &lt;a href=&quot;http://www.computational-geometry.org/mailing-lists/compgeom-announce/2003-December/000852.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;strange things&lt;/a&gt; can happen.)  Is this not also true of access to longer memory addresses?  &lt;strong&gt;If an algorithm uses superpolynomial space, is it reasonable to assume that memory accesses require only constant time?&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the Bellman-Held-Karp algorithm in particular, the algorithm must transform the description of the subset $X$ into the description of the subset $X\setminus\{v\}$, for each $v$, in order to access the memoization table.  If the subsets are represented by integers, these integers require $n$ bits and therefore cannot be manipulated in constant time; if they are not represented by integers, their representation cannot be used directly as an index into the memoization table.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So: &lt;strong&gt;What is the actual asymptotic running time of the Bellman-Held-Karp algorithm?&lt;/strong&gt;&lt;/p&gt;&#xA;" OwnerUserId="111" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2011-09-13T22:37:45.780" Title="Time complexity of Bellman-Held-Karp algorithm for TSP, take 2" Tags="&lt;ds.algorithms&gt;&lt;machine-models&gt;&lt;computing-over-reals&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="3667" PostTypeId="2" ParentId="3652" CreationDate="2010-12-09T05:34:30.387" Score="7" Body="&lt;p&gt;Consider the following cases:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) One-way permutations (OWP) exist but trapdoor permutations (TDP) do not (i.e. we are in a variant of Impagliazzo's &quot;&lt;a href=&quot;http://cseweb.ucsd.edu/~russell/average.ps&quot; rel=&quot;nofollow&quot;&gt;minicrypt&lt;/a&gt;&quot; world). In this case you just take the OWP that is guaranteed to exist, and you know that it doesn't have a trapdoor.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) Both OWP and TDP exist. Here you have two options: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;(a) Every OWP has a key generation algorithm G that outputs the function's &quot;public&quot; description f along with a sampled trapdoor t. In this case, consider a modified key-generation that only outputs f. This gives you a OWP, and moreover it is infeasible to find t given f (as otherwise you have an efficient way to invert f). This should also hold for a non-uniform variant.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(b) There exists a OWP f such that no algorithm G can output both f and t so that t enables inversion of f(x) for a random x. In this case f is a OWP that doesn't have a trapdoor.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One of the comments in the thread above seems to suggest that you question is actually whether the existence of OWP is known to imply the existence of TDP. This has been &lt;a href=&quot;http://cseweb.ucsd.edu/~russell/secret.ps&quot; rel=&quot;nofollow&quot;&gt;shown&lt;/a&gt; not to hold wrt black-box constructions/reductions, and is open in general (see my comment in the thread above).&lt;/p&gt;&#xA;" OwnerUserId="2120" LastEditorUserId="2120" LastEditDate="2010-12-09T07:00:42.417" LastActivityDate="2010-12-09T07:00:42.417" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="3669" PostTypeId="2" ParentId="3666" CreationDate="2010-12-09T06:27:14.360" Score="12" Body="&lt;p&gt;This is less of a mathematical answer than a philosophical one, but I prefer to think of a RAM model that allows constant-time manipulation of integers with some number B of bits that is unknown but at least as large as $\log_2 S$, where S is the amount of space that the algorithm requires. Because, if the integers weren't that big, how could you even address your memory? For polynomial time and space algorithms it's the same as O(log n) bits, but for exponential space algorithms it avoids the problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course, if S exceeds the amount of memory you actually have, your algorithm won't run at all. Or, it will run by paging information into and out of memory and you should be using a memory hierarchy model instead of the RAM model.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2010-12-09T06:27:14.360" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="3670" PostTypeId="1" AcceptedAnswerId="3674" CreationDate="2010-12-09T07:39:02.433" Score="17" ViewCount="853" Body="&lt;p&gt;I'm new to programming languages theory and I'm seeking for a good resource on a resource for formal semantics  of programming languages. Specifically looking  for structural operational semantics. I got some book recommendations. But I'm looking for a resource in a  more introductory level. Especially tutorials, web-site and free book recommendations are  welcomed.&lt;/p&gt;&#xA;" OwnerUserId="2659" LastActivityDate="2010-12-09T17:08:54.357" Title="Formal Semantics of Programming Languages" Tags="&lt;reference-request&gt;&lt;pl.programming-languages&gt;&lt;semantics&gt;&lt;formal-systems&gt;" AnswerCount="3" CommentCount="2" FavoriteCount="7" ContentLicense="CC BY-SA 2.5" />
  <row Id="3671" PostTypeId="1" AcceptedAnswerId="3691" CreationDate="2010-12-09T09:14:11.267" Score="17" ViewCount="487" Body="&lt;p&gt;The problem we consider here is the extension of the well-known interval coloring problem. Instead of intervals we consider rectangles having sides parallel to axes. The objective is to color the rectangles using minimum number of colors such that any two overlapping rectangles are assigned different colors.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This problem is known to be NP-hard. Xin Han, Kazuo Iwama, Rolf Klein and Andrezej Lingas (Approximating the Maximum Independent Set and Minimum Vertex Coloring on Box Graphs) gave an O(log n) approximation. Is there a better approximation algorithm?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We know that the interval coloring problem is solved in polynomial time by first-fit algorithm by considering intervals according to their left endpoints. However, first-fit online algorithm is 8-competitive when the intervals appear in arbitrary order.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is the performance of the first-fit algorithm for the rectangle coloring problem? What happens to first-fit algorithm when the rectangles appear according to their left (vertical) sides?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks in advance for any help on this. &lt;/p&gt;&#xA;" OwnerUserId="1143" LastEditorUserId="80" LastEditDate="2010-12-10T01:40:09.447" LastActivityDate="2019-01-07T08:34:00.613" Title="Is there a constant factor approximation algorithm for 2D rectangle coloring problem?" Tags="&lt;ds.algorithms&gt;&lt;approximation-algorithms&gt;&lt;cg.comp-geom&gt;&lt;graph-colouring&gt;&lt;online-algorithms&gt;" AnswerCount="3" CommentCount="0" FavoriteCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="3672" PostTypeId="2" ParentId="3665" CreationDate="2010-12-09T09:20:27.000" Score="5" Body="&lt;p&gt;As far as I know, &lt;b&gt;constraint programming&lt;/b&gt; is traditionally (1) a name of the paradigm for stating problems in terms of variables and constraints between the variables; and thus (2) a well-accepted name of a research area.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(The most resent textbook on the subject is the Handbook of Constraint Programming by Francesca Rossi, Peter van Beek and Toby Walsh, Elsevier, 2006. The first chapter is available online &lt;a href=&quot;http://www.math.unipd.it/~frossi/chapter4.pdf&quot; rel=&quot;noreferrer&quot;&gt;here&lt;/a&gt;, where this point is somewhat discussed.) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;b&gt;CSP&lt;/b&gt; (i.e. Constraint Satisfaction Problem) is usually a formal definition of the problem; that is, stating what the variables are, the domains of the variables (e.g. bounded, unbounded, discrete, continuous), and the constraints and their representation (e.g. truth tables, propagators). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, &lt;b&gt;CSP&lt;/b&gt; is also used in the same meaning as &lt;b&gt;constraint programming&lt;/b&gt;.&lt;/p&gt;&#xA;" OwnerUserId="1895" LastActivityDate="2010-12-09T09:20:27.000" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3673" PostTypeId="2" ParentId="3666" CreationDate="2010-12-09T09:57:05.037" Score="8" Body="&lt;p&gt;There is a discussion of this issue in the recent book by Fedor V. Fomin and Dieter Kratsch &quot;&lt;a href=&quot;http://books.google.com/books?id=LXDe1XHJCYIC&amp;amp;lpg=PA195&amp;amp;vq=traveling&amp;amp;pg=PA6#v=onepage&amp;amp;q&amp;amp;f=false&quot; rel=&quot;nofollow&quot;&gt;Exact Exponential Algorithms&lt;/a&gt;&quot; where they specify the running time in the unit-cost RAM model and the log-cost RAM model ($W$ - the maximum distance between the cities and $f(n)=\mathcal{O}^{\ast}(g(n))$ if $f(n)=\mathcal{O}(g(n)poly(n))$):&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;$\mathcal{O}^{\ast}(2^n)$ and $2^n\log Wn^{\mathcal{O}(1)}$ (note, $2^n\log Wn^{\mathcal{O}(1)}\notin\mathcal{O}^{\ast}(2^n)$ ), respectively. &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="1060" LastEditorUserId="1060" LastEditDate="2011-05-13T20:17:42.670" LastActivityDate="2011-05-13T20:17:42.670" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="3674" PostTypeId="2" ParentId="3670" CreationDate="2010-12-09T11:27:09.097" Score="10" Body="&lt;p&gt;Looking at the &lt;a href=&quot;http://www.inf.ed.ac.uk/teaching/courses/lsi/&quot;&gt;operational semantics course&lt;/a&gt; at my University gives the following three:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Andrew Pitts's &lt;a href=&quot;http://www.inf.ed.ac.uk/teaching/courses/lsi/sempl.pdf&quot;&gt;lecture notes&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Gordon Plotkin's &lt;a href=&quot;http://homepages.inf.ed.ac.uk/gdp/publications/sos_jlap.pdf&quot;&gt;Aarhus notes on structural operational semantics&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Matthew Hennessey's &lt;a href=&quot;http://homepages.inf.ed.ac.uk/gdp/publications/sos_jlap.pdf&quot;&gt;The Semantics of Programming Languages&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Ohad.&lt;/p&gt;&#xA;" OwnerUserId="142" LastActivityDate="2010-12-09T11:27:09.097" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3675" PostTypeId="2" ParentId="3535" CreationDate="2010-12-09T11:29:44.353" Score="3" Body="&lt;p&gt;I see that previous answers explain why it is important to know if a problem is or is not NP-complete, but none seems to directly address the question: The proof of &quot;$p$ is NP-complete&quot; is &lt;em&gt;not&lt;/em&gt; considered a research success for all $p$. It depends on various things, such as whether $p$ is interesting, whether the proof has new techniques, whether &quot;$p$ is NP-complete&quot; has interesting consequences, etc.&lt;/p&gt;&#xA;" OwnerUserId="236" LastActivityDate="2010-12-09T11:29:44.353" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="3676" PostTypeId="1" CreationDate="2010-12-09T11:58:41.920" Score="7" ViewCount="290" Body="&lt;p&gt;In a &lt;a href=&quot;http://www.springerlink.com/content/840he0h15jp61mcd/&quot; rel=&quot;nofollow noreferrer&quot;&gt;paper by Raphael Pass&lt;/a&gt;, he writes (page 162):&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;... most natural problems that we believe are hard on average for &lt;strong&gt;polynomial&lt;/strong&gt;&#xA;  time are also believed hard for &lt;strong&gt;quasi-polynomial&lt;/strong&gt; time.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;In &lt;a href=&quot;https://cstheory.stackexchange.com/q/3620/873&quot;&gt;another post by Turkistany&lt;/a&gt;, he mentioned that the &lt;strong&gt;log-CLIQUE&lt;/strong&gt; problem is solvable in quasi-polynomial time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What are some other &lt;strong&gt;natural&lt;/strong&gt; problems which we believe are &lt;em&gt;hard on average&lt;/em&gt; for polynomial time, but can be decided/solved in quasi-polynomial time?&lt;/p&gt;&#xA;" OwnerUserId="873" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2010-12-09T11:58:41.920" Title="Hard-on-Average, Quasi-Polynomial-Time Problems" Tags="&lt;cc.complexity-theory&gt;&lt;average-case-complexity&gt;" AnswerCount="0" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="3677" PostTypeId="1" AcceptedAnswerId="3678" CreationDate="2010-12-09T12:11:11.280" Score="2" ViewCount="234" Body="&lt;p&gt;Assume a planar graph G, and all its vertices have degree at most 4.&lt;br&gt;&#xA; Consider a cycle in G. The weight of cycle c is the total weight of its vertices, and a vertex is weighted with the following manner:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example look at vertex v, if cycle c traverses vertex v by passing through e2 and e4 then it would cost w1 and if it traverses v by passing through e4 and e3 then it would cost w2 and so on! (G is undirected, so traversing v by passing through e4 and e3 costs the same as traversing v by passing through e3 and e4, and all possible traversal from a vertex contain weights; some of them are showed with pink curves in pic.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1-What is the complexity of finding a cycle with total weight k? (k is a given value)&lt;br&gt;&#xA;2-Is finding weighted cycles in G harder than finding cycles in general weighted graphs? &#xA;&lt;img src=&quot;https://i.stack.imgur.com/Zj8Us.png&quot; alt=&quot;alt text&quot;&gt; &lt;/p&gt;&#xA;&#xA;&lt;p&gt;this is also the link of pic:&lt;br&gt;&#xA;&lt;a href=&quot;http://rapidshare.com/files/435859757/a.bmp&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://rapidshare.com/files/435859757/a.bmp&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="2335" LastEditorUserId="2335" LastEditDate="2010-12-09T17:37:50.783" LastActivityDate="2010-12-09T17:37:50.783" Title="Weighted cycles in weighted line graphs" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;&lt;complexity-classes&gt;&lt;graph-algorithms&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3678" PostTypeId="2" ParentId="3677" CreationDate="2010-12-09T12:30:30.867" Score="3" Body="&lt;p&gt;For the second problem, this question is no harder than finding a cycle of a specific weight k in a general weighted graph in the following sense: consider the &lt;a href=&quot;http://en.wikipedia.org/wiki/Line_graph&quot; rel=&quot;nofollow noreferrer&quot;&gt;line graph&lt;/a&gt; of G, that is, a graph L(G) with V(L(G)) = E(G), and two nodes u,v in L(G) are adjacent if the corresponding edges in G are incident to each other. By assigning weights to the edges of L(G) according to your definition, it reduces to the normal weighted cycle problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thus to the first problem, in general if we do not have any constrain on k, we can assign 1/|V(G)| to each edge in an unweighted graph G, and reduced the Hamiltonian cycle problem to the weighed cycle problem by asking k=1, thus it is NP-hard. If you are asking non-negative integral weights, then the algorithm mentioned in &lt;a href=&quot;https://mathoverflow.net/questions/16393/finding-a-cycle-of-fixed-length&quot;&gt;the MO post&lt;/a&gt; again works since we can subdivide the edges into an unweighted graph. But be careful since the size of the subdivided graph will depends on the total weight on the original graph.&lt;/p&gt;&#xA;" OwnerUserId="1800" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2010-12-09T12:30:30.867" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3679" PostTypeId="2" ParentId="3670" CreationDate="2010-12-09T12:44:38.727" Score="8" Body="&lt;p&gt;Structural operational semantics (SOS) is a very general concept. It's essentially just a binary relation on configurations (usually programs plus a context, like state, or available continuations), or, in case of labelled semantics, a ternary relation between configurations, actions (which represent certain minimal contexts) and configurations. The &quot;structural&quot; bit is usually that these relations are defined inductively over the involved syntax (e.g. configurations and actions).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As such, without other requirement, the mathematical entities we consider in SOS are too general to be interesting/tractable in their own right. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;SOS becomes interesting and substantial when we look at special cases, e.g. equivalences for timed-calculi, labelled transitions for asynchronous ambient calculus corresponding to reductions, or questions about expressivity of certain (classes of) calculi. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;So my recommendation for Mr/Ms Systemsfault is to skip generalities and jump right into specific calculi of interest. General SOS techniques can easily be picked up along the way.&lt;/p&gt;&#xA;" OwnerUserId="898" LastActivityDate="2010-12-09T12:44:38.727" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3680" PostTypeId="2" ParentId="3650" CreationDate="2010-12-09T13:10:29.083" Score="19" Body="&lt;p&gt;I would like to weaken the claim that TMs are the primary model of computation, or at least point towards another dimension of the question. Clearly TMs are dominant in the more complexity- and algorithmically-oriented parts of computer science, but in programming language theory and practise, they are not particularly dominant. There are various reasons for this, but maybe the most important is that TMs or programs running on TMs (unlike e.g lambda-calculi or process-calculi) are not constructed in an algebraic manner. This makes it difficult to develop type-theories, which have been the mainstay of programming language theory.&lt;/p&gt;&#xA;" OwnerUserId="898" LastEditorUserId="898" LastEditDate="2010-12-09T15:17:49.167" LastActivityDate="2010-12-09T15:17:49.167" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3681" PostTypeId="1" AcceptedAnswerId="3708" CreationDate="2010-12-09T13:55:57.533" Score="3" ViewCount="2029" Body="&lt;p&gt;I saw in &lt;a href=&quot;https://cstheory.stackexchange.com/questions/3650&quot;&gt;this question&lt;/a&gt; a reference to &lt;a href=&quot;http://en.wikipedia.org/wiki/%CE%9C-recursive_function&quot; rel=&quot;nofollow noreferrer&quot;&gt;$\mu$-recursive functions&lt;/a&gt; or &lt;a href=&quot;http://en.wikipedia.org/wiki/Mu_calculus&quot; rel=&quot;nofollow noreferrer&quot;&gt;$\mu$-calculus&lt;/a&gt; as some computation model equivalent to &lt;a href=&quot;http://en.wikipedia.org/wiki/Turing_machine&quot; rel=&quot;nofollow noreferrer&quot;&gt;Turing machines&lt;/a&gt; and &lt;a href=&quot;http://en.wikipedia.org/wiki/Lambda_calculus&quot; rel=&quot;nofollow noreferrer&quot;&gt;$\lambda$-calculus&lt;/a&gt;. I know about these two but never heard of $\mu$-calculus. Can you briefly describe it and compare it with the other models? Bonus points for link references and books for beginners. Thanks in advance.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit:&lt;/strong&gt; Ok, just for clarification i'm interested in both $\mu$-recursive functions and $\mu$-calculus.&lt;/p&gt;&#xA;" OwnerUserId="2483" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.743" LastActivityDate="2011-05-19T00:21:41.030" Title="What are &quot;$\mu$-recursive functions&quot; and $\mu$-calculus?" Tags="&lt;computability&gt;&lt;lo.logic&gt;&lt;books&gt;&lt;mu-calculus&gt;" AnswerCount="2" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="3682" PostTypeId="2" ParentId="3670" CreationDate="2010-12-09T17:08:54.357" Score="7" Body="&lt;p&gt;I would recommend reading Chapter 2 in this downloadable book:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Semantics with Applications: A Formal Introduction,&lt;/em&gt; Hanne Riis Nielson and Flemming Nielson, &#xA;Wiley, 1992.&#xA;&lt;a href=&quot;http://www.daimi.au.dk/~bra8130/Wiley_book/wiley.html&quot;&gt;http://www.daimi.au.dk/~bra8130/Wiley_book/wiley.html&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="2374" LastActivityDate="2010-12-09T17:08:54.357" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3683" PostTypeId="2" ParentId="3671" CreationDate="2010-12-09T17:22:04.523" Score="6" Body="&lt;p&gt;As far as I know, this is not known. An old paper of Asplund and Grunbaum (1960ish) show that if the clique number is 2, then the chromatic number is at most 6 (and this is tight). I think it should be easy to come up with examples where the gap for first-fit is larger than any constant, since trees can be represented by intersection graph of rectangles, and trees require log n colors by any online algorithm. &lt;/p&gt;&#xA;" OwnerUserId="448" LastActivityDate="2010-12-09T17:22:04.523" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3684" PostTypeId="1" AcceptedAnswerId="3688" CreationDate="2010-12-09T17:36:45.713" Score="5" ViewCount="1096" Body="&lt;p&gt;I have a sparse weighted graph, and I want to find the longest path from a given vertex to any other vertex which does not go through the same vertex twice. You can think of it as, I am here, and I want to take the longest walk possible in my graph without walking through the same place twice. Where ever that ends me up, I don't care, and I don't necessarily have to travel through every point on the graph, if those points do not lie on the longest path.  All edges have positive weights.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can anyone describe an algorithm for this that is not a complete enumeration of all paths?&lt;/p&gt;&#xA;" OwnerUserId="102" LastEditorUserId="186" LastEditDate="2010-12-09T23:01:05.967" LastActivityDate="2011-02-09T18:05:06.673" Title="Max Non-overlapping Path in Weighted Graph" Tags="&lt;ds.algorithms&gt;&lt;graph-algorithms&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3686" PostTypeId="5" CreationDate="2010-12-09T18:24:49.907" Score="0" Body="&lt;p&gt;Informally speaking, a &lt;a href=&quot;http://en.wikipedia.org/wiki/Norm&quot; rel=&quot;nofollow&quot;&gt;norm&lt;/a&gt; is a function that assigns “lengths” or “sizes” to vectors, matrices and so on.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This tag can be applied to questions related to the notion of norms.  Note that mathematical questions primarily about the notion of norms may be off-topic on this website.&lt;/p&gt;&#xA;" OwnerUserId="567" LastEditorUserId="567" LastEditDate="2010-12-09T18:24:49.907" LastActivityDate="2010-12-09T18:24:49.907" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3687" PostTypeId="4" CreationDate="2010-12-09T18:24:49.907" Score="0" Body="Norms as in the l_p norms, normed vector spaces, matrix norms and so on." OwnerUserId="567" LastEditorUserId="567" LastEditDate="2010-12-09T18:24:49.907" LastActivityDate="2010-12-09T18:24:49.907" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3688" PostTypeId="2" ParentId="3684" CreationDate="2010-12-09T18:26:33.027" Score="10" Body="&lt;p&gt;Yes, the &lt;a href=&quot;https://cstheory.stackexchange.com/questions/3666/time-complexity-of-bellman-held-karp-algorithm-for-tsp-take-2&quot;&gt;Bellman-Held-Karp algorithm&lt;/a&gt; is not a complete enumeration and can be modified easily enough to solve your problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, it still takes something over $2^n$ time (see question for details), and something exponential like that seems unavoidable since this is a variant of the traveling salesman problem.&lt;/p&gt;&#xA;" OwnerUserId="95" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2010-12-09T18:26:33.027" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3689" PostTypeId="2" ParentId="2447" CreationDate="2010-12-09T21:11:33.700" Score="7" Body="&lt;p&gt;Graph Coloring&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As mentioned in another answer, 2-COL is solvable in polynomial time while 3-COL is NP-complete.&#xA;But when increasing the number of colors, after some (unknown?) point the problem gets easier!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, if we have N vertices and N colors, the problem can be solved by assigning a different color to each vertex.&lt;/p&gt;&#xA;" OwnerUserId="1657" LastActivityDate="2010-12-09T21:11:33.700" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3690" PostTypeId="1" AcceptedAnswerId="3709" CreationDate="2010-12-09T21:25:33.247" Score="12" ViewCount="713" Body="&lt;p&gt;I'm looking for a name or any references to this problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a weighted graph $G = (V, E, w)$ find a partition of the vertices into up to $n = |V|$ sets $S_1,\ldots,S_n$ so as to maximize the value of the cut edges: &#xA;$$c(S_1,\ldots,S_n) = \sum_{i \ne j}\left(\sum_{(u,v)\in E : u \in S_i, v \in S_j}w(u,v)\right)$$&#xD;&#xA;Note that some of the sets $S_i$ can be empty. So the problem is essentially max k-cut, except $k$ is not part of the input: the algorithm can choose any $k$ it likes so as to maximize the value of the cut edges. Obviously, the problem is trivial if edge weights are non-negative: simply place every vertex alone in its own set, and you cut all of the edges. But, to make things interesting, negative weight edges are allowed.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is this a studied problem? References to algorithmic or hardness results would be appreciated!  &lt;/p&gt;&#xA;" OwnerUserId="25" LastEditorUserId="186" LastEditDate="2010-12-09T23:00:10.883" LastActivityDate="2010-12-10T13:45:00.213" Title="A Multi-cut Problem" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;approximation-algorithms&gt;&lt;max-cut&gt;" AnswerCount="3" CommentCount="1" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="3691" PostTypeId="2" ParentId="3671" CreationDate="2010-12-09T21:51:59.510" Score="12" Body="&lt;p&gt;As suggested by the other answer, &lt;span class=&quot;math-container&quot;&gt;$\Omega(\log n)$&lt;/span&gt; lower bound is not too hard to see. Let us do the sweeping bottom up with a horizontal line. The idea is to build components that require larger and larger number of colors. In particular, let &lt;span class=&quot;math-container&quot;&gt;$C(i)$&lt;/span&gt; be a gadget that has a top rectangle with color &lt;span class=&quot;math-container&quot;&gt;$i$&lt;/span&gt; (i.e., the first fit would assign it color &lt;span class=&quot;math-container&quot;&gt;$i$&lt;/span&gt;). Clearly, &lt;span class=&quot;math-container&quot;&gt;$C(1)$&lt;/span&gt; is just a single rectangle. &#xA;The component &lt;span class=&quot;math-container&quot;&gt;$C(2)$&lt;/span&gt; is&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://i.stack.imgur.com/OHwGK.gif&quot; rel=&quot;nofollow noreferrer&quot;&gt;&lt;img src=&quot;https://i.stack.imgur.com/OHwGK.gif&quot; alt=&quot;&quot;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In general, the component &lt;span class=&quot;math-container&quot;&gt;$C(k)$&lt;/span&gt; is a rectangle with &lt;span class=&quot;math-container&quot;&gt;$C(1), \ldots, C(k-1)$&lt;/span&gt; hanging below it:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://i.stack.imgur.com/a1s9H.gif&quot; rel=&quot;nofollow noreferrer&quot;&gt;&lt;img src=&quot;https://i.stack.imgur.com/a1s9H.gif&quot; alt=&quot;&quot;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, it is easy to verify that a fit-first algorithm with sweeping  horizontally from the bottom would use &lt;span class=&quot;math-container&quot;&gt;$k$&lt;/span&gt; colors to color &lt;span class=&quot;math-container&quot;&gt;$C(k)$&lt;/span&gt;. However, the intersection graph of &lt;span class=&quot;math-container&quot;&gt;$C(k)$&lt;/span&gt; is just a tree, and it can be colored by &lt;span class=&quot;math-container&quot;&gt;$2$&lt;/span&gt; colors. Now, &lt;span class=&quot;math-container&quot;&gt;$C(k)$&lt;/span&gt; is just a Fibonacci tree in structure, and as such the number of nodes in it is &lt;span class=&quot;math-container&quot;&gt;$2^{O(k)}$&lt;/span&gt;, which implies &lt;span class=&quot;math-container&quot;&gt;$\Omega( \log n )$&lt;/span&gt; gap. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since there is a simple algorithm that gets &lt;span class=&quot;math-container&quot;&gt;$O( \log n)$&lt;/span&gt; approximation to coloring of rectangles, this might be tight. I don't know.&lt;/p&gt;&#xA;" OwnerUserId="9594" LastEditorUserId="32711" LastEditDate="2019-01-07T08:34:00.613" LastActivityDate="2019-01-07T08:34:00.613" CommentCount="0" ContentLicense="CC BY-SA 4.0" />
  <row Id="3692" PostTypeId="1" CreationDate="2010-12-09T22:24:48.727" Score="8" ViewCount="478" Body="&lt;p&gt;I'd like to know what is the best method to parallelize the Dijkstra algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks.&lt;/p&gt;&#xA;" OwnerUserId="2674" LastEditorUserId="39090" LastEditDate="2019-10-21T09:49:32.197" LastActivityDate="2019-10-21T09:49:32.197" Title="Dijkstra parallelization" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;dc.parallel-comp&gt;&lt;shortest-path&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3693" PostTypeId="2" ParentId="3692" CreationDate="2010-12-09T22:45:40.667" Score="16" Body="&lt;p&gt;There's a parallel algorithm for shortest paths from Carla Savage's 1977 Ph.D. thesis that consists of forming a square matrix with 0 on the diagonal entries, the length of the edges on the off-diagonal entries corresponding to edges, and a suitably large number for the remaining off-diagonal entries, and then repeatedly squaring this matrix in the &lt;a href=&quot;http://en.wikipedia.org/wiki/Min-plus_matrix_multiplication&quot;&gt;(min,+) algebra&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;After $\lceil\log_2 n\rceil$ squaring steps, the numbers in the resulting matrix are the distances between each pair of vertices. Each squaring step is easy to parallelize with logarithmic time and cubic work. So overall this algorithm takes $O(\log^2 n)$ time and $O(n^3\log n)$ work. With a little care (using a slightly more complicated algebra) this can be modified so that it also provides the first step of each shortest path in the same time and work bounds.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, if you only want single source shortest paths rather than all pairs shortest paths, I don't know of anything that comes close to the total work of the sequential Dijkstra algorithm and that provides much in the way of a parallel speedup.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2010-12-09T22:45:40.667" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="3695" PostTypeId="2" ParentId="3690" CreationDate="2010-12-09T23:50:18.010" Score="18" Body="&lt;p&gt;I don't know of any references, but I can show that it's NP-complete, via a reduction from graph coloring.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a graph G and a number k of colors with which to color G, make a new graph G' that consists of G together with k new vertices, such that each new vertex is connected to every vertex in G. Assign weight +kn to each edge of G, weight +kn to each edge connecting two of the k new vertices, and weight -1 to each of the edges connecting the k new vertices to G.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then, if G can be k-colored, the coloring (together with a partition that assigns each of the new vertices to one of the color classes) achieves total weight kn(m + k(k-1)/2) - (k-1)n.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the other direction, if you have a partition that achieves this total weight, then it must cut all of the edges of G, and all of the edges between pairs of new vertices. Cutting all of the edges of G defines a coloring of G, and cutting edges between pairs of new vertices implies that each vertex of G can be adjacent to at most one of the k new vertices. Therefore, in order to get the optimal -(k-1)n term in the weight, each vertex of G must be adjacent to exactly one of the new vertices, and therefore there can only be k color classes in the coloring defined by the partition.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;That is, partitions with the given weight bound are in 1-1 correspondence with k-colorings of G, so this defines a reduction from coloring to your partition problem.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2010-12-09T23:50:18.010" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3696" PostTypeId="2" ParentId="3665" CreationDate="2010-12-10T00:59:20.373" Score="6" Body="&lt;p&gt;First of all, I cannot help but point out a practice I consider bad in the way you defined your question. You are comparing a class of algorithms with a class of problems. Although closely related, they are not the same. As an example, consider the halting problem. It is a very well defined problem. However, we know that no Turing Machine can diagnose it. Given the Church-Turing thesis, this is the same as saying that there is no algorithm for this problem. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, one can rephrase the question such that the items compared are of the same nature. Consider constraint programming (CP) as the computational model A and&#xA;boolean formulas as the computational model B. I chose boolean formulas because SAT is probably the most known CSP and furthermore boolean formulas have a nice property, which I will use below.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Although I have programmed in Prolog, I cannot say I have a good knowledge of constraint programming. However, I am almost certain that they are &lt;a href=&quot;http://en.wikipedia.org/wiki/Turing_completeness&quot;&gt;Turing-complete&lt;/a&gt;. Since they use constraints, one could use them to &quot;simulate&quot; head moves,e.g. if [constraint] then move to this cell . Furthermore, one could write contents into that tape. Therefore, constraint programming is as powerful as Turing Machines. Since all programs in CP are algorithms, they can be simulated by a universal TM. Thus CP and TM have the same expressibility.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One might think at this point that CP is a stronger model that boolean formulas. However, in Arora and Barak's book &quot;Computational Complexity:A Modern Approach&quot;, in chapter 2, a proof is given that any boolean function has an equivalent boolean formula ( the theorem is labeled &quot;Universality&quot; of AND,OR and NOT). On a given input, the formula is satisfied if and only if the boolean function is true for this input.  As an informal proof, consider that those 3 operators can express any piece of hardware. Furthermore, every other input can be translated into a boolean one. Therefore, every TM can be simulated as a boolean formula. Thus boolean formulas are Turing-complete. Furthermore, there is a TM that can diagnose the satisfiability of a boolean formula. Therefore, boolean formulas and TMs are equivalent.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It follows that the two models have the same expressibility.&lt;/p&gt;&#xA;" OwnerUserId="879" LastActivityDate="2010-12-10T00:59:20.373" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3697" PostTypeId="1" AcceptedAnswerId="3718" CreationDate="2010-12-10T02:32:28.423" Score="12" ViewCount="2127" Body="&lt;p&gt;I was recently reminded about the $\mathsf{P}$ vs. $\mathsf{NP}$ problem as &lt;a href=&quot;http://www.claymath.org/millennium/P_vs_NP/pvsnp.pdf&quot;&gt;explained&lt;/a&gt; by Stephen A. Cook on Clay Mathematics Institute.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It has piqued my interest and I would like to learn more about it. The first step would be gaining a deeper understanding of the problem and an understanding of the area in general.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can you recommend any books or other resources where I can learn more about the problem?&lt;/p&gt;&#xA;" OwnerUserId="2677" LastEditorUserId="186" LastEditDate="2012-08-04T09:08:24.230" LastActivityDate="2013-09-10T19:11:49.470" Title="Resources to learn about the P vs. NP problem" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;survey&gt;&lt;books&gt;&lt;p-vs-np&gt;" AnswerCount="10" CommentCount="1" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="3698" PostTypeId="2" ParentId="3690" CreationDate="2010-12-10T02:47:03.877" Score="11" Body="&lt;p&gt;Let me supplement David’s nice NP-completeness proof by adding a reference to the special case asked by Jukka in a comment on the question.  If the graph is the complete graph and the edge weights are restricted to ±1, the problem is equivalent to the NP-complete problem known as Cluster Editing.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Cluster Editing is the following problem introduced by Shamir, Sharan and Tsur [SST04].  Here, a &lt;em&gt;cluster graph&lt;/em&gt; is a graph which is a union of vertex-disjoint cliques and an &lt;em&gt;edit&lt;/em&gt; is the addition or the removal of one edge.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Cluster Editing&lt;br&gt;&#xA;&lt;em&gt;Instance&lt;/em&gt;: A graph &lt;i&gt;G&lt;/i&gt;=(&lt;i&gt;V&lt;/i&gt;, &lt;i&gt;E&lt;/i&gt;) and an integer &lt;i&gt;k&lt;/i&gt;∈ℕ.&lt;br&gt;&#xA;&lt;em&gt;Question&lt;/em&gt;: Is it possible to turn &lt;i&gt;G&lt;/i&gt; into a cluster graph by at most &lt;i&gt;k&lt;/i&gt; edits?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Cluster Editing is NP-complete [SST04].&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To see Cluster Editing is equivalent to the aforementioned special case of the current problem, let &lt;i&gt;G&lt;/i&gt;=(&lt;i&gt;V&lt;/i&gt;, &lt;i&gt;E&lt;/i&gt;) be a graph.  Let &lt;i&gt;n&lt;/i&gt;=|V| and consider &lt;i&gt;G&lt;/i&gt; as a subgraph of the complete graph K&lt;sub&gt;&lt;i&gt;n&lt;/i&gt;&lt;/sub&gt;.  In K&lt;sub&gt;&lt;i&gt;n&lt;/i&gt;&lt;/sub&gt;, give the weight −1 to the edges in &lt;i&gt;G&lt;/i&gt; and the weight +1 to the edges not in &lt;i&gt;G&lt;/i&gt;.  Then &lt;i&gt;G&lt;/i&gt; can be turned into a cluster graph by at most &lt;i&gt;k&lt;/i&gt; edits if and only if there exists a partition (&lt;i&gt;S&lt;/i&gt;&lt;sub&gt;1&lt;/sub&gt;, …, &lt;i&gt;S&lt;/i&gt;&lt;sub&gt;&lt;i&gt;n&lt;/i&gt;&lt;/sub&gt;) such that &lt;i&gt;c&lt;/i&gt;(&lt;i&gt;S&lt;/i&gt;&lt;sub&gt;1&lt;/sub&gt;, …, &lt;i&gt;S&lt;/i&gt;&lt;sub&gt;&lt;i&gt;n&lt;/i&gt;&lt;/sub&gt;) ≥ $\binom{n}{2}$−|&lt;i&gt;E&lt;/i&gt;|−&lt;i&gt;k&lt;/i&gt; for this weighted complete graph K&lt;sub&gt;&lt;i&gt;n&lt;/i&gt;&lt;/sub&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[SST04] Ron Shamir, Roded Sharan and Dekel Tsur.  Cluster graph modification problems.  &lt;em&gt;Discrete Applied Mathematics&lt;/em&gt;, 144(1–2):173–182, Nov. 2004.  &lt;a href=&quot;http://dx.doi.org/10.1016/j.dam.2004.01.007&quot; rel=&quot;nofollow&quot;&gt;http://dx.doi.org/10.1016/j.dam.2004.01.007&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="567" LastEditorUserId="567" LastEditDate="2010-12-10T04:23:01.363" LastActivityDate="2010-12-10T04:23:01.363" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3699" PostTypeId="2" ParentId="3697" CreationDate="2010-12-10T03:14:01.730" Score="4" Body="&lt;p&gt;The classic reference for NP completeness is Garey and Johnson's book (http://tinyurl.com/2w5yofs). It's both instructive and thorough. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Personally, I learned from Kleinberg Tardos (http://tinyurl.com/37dtyyl), because my University used it.&lt;/p&gt;&#xA;" OwnerUserId="2678" LastEditorUserId="2678" LastEditDate="2010-12-10T03:21:49.803" LastActivityDate="2010-12-10T03:21:49.803" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3700" PostTypeId="2" ParentId="3697" CreationDate="2010-12-10T03:32:20.440" Score="7" Body="&lt;p&gt;Probably the best collection of links in one place is the &lt;a href=&quot;http://michaelnielsen.org/polymath1/index.php?title=Deolalikar%27s_P!%3DNP_paper#Further_reading&quot;&gt;Further Reading section&lt;/a&gt; of the wiki that was put together to help assess Deolalikar's claimed proof that $P \neq NP$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Good luck.  The problem appears to be hard. :-)&lt;/p&gt;&#xA;" OwnerUserId="30" LastActivityDate="2010-12-10T03:32:20.440" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="3701" PostTypeId="2" ParentId="3697" CreationDate="2010-12-10T04:02:45.550" Score="9" Body="&lt;p&gt;I strongly suggest Sipser's &quot;Introduction to the Theory of Computation,&quot; particularly because it covers at least one of the main barriers to resolving P vs. NP, namely relativization.  It contains a very clear proof of the Baker-Gill-Solovay result.  I am not sure if it contains anything on the Razborov-Rudich results, but it's a fantastic, very clear, and easy to read introductory resource for learning not only about P vs. NP but for many other related topics in complexity theory as well...which is significant because if your interest is in trying to resolve the problem, you'll want to have some background in the field and ideas for where to start.&lt;/p&gt;&#xA;" OwnerUserId="1338" LastActivityDate="2010-12-10T04:02:45.550" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3702" PostTypeId="2" ParentId="2447" CreationDate="2010-12-10T06:31:09.433" Score="5" Body="&lt;p&gt;Interesting complexity jumps are known for the job shop scheduling problem.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;In the job shop problem we have a set of &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt; jobs that must be processed on a given set &lt;span class=&quot;math-container&quot;&gt;$M$&lt;/span&gt; of &lt;span class=&quot;math-container&quot;&gt;$m$&lt;/span&gt; machines. Each job &lt;span class=&quot;math-container&quot;&gt;$j$&lt;/span&gt; consists of a chain of &lt;span class=&quot;math-container&quot;&gt;$\mu_j$&lt;/span&gt; operations &lt;span class=&quot;math-container&quot;&gt;$O_{1j},O_{2j},\dots,O_{\mu_jj}$&lt;/span&gt;. Operation &lt;span class=&quot;math-container&quot;&gt;$O_{ij}$&lt;/span&gt; must be processed during &lt;span class=&quot;math-container&quot;&gt;$p_{ij}$&lt;/span&gt; time units without interruption on machine &lt;span class=&quot;math-container&quot;&gt;$m_{ij}\in M$&lt;/span&gt;. A feasible schedule is one in which operation is scheduled only after all its preceding operations have been completed, and each machine processes at most one operation at a time. For any given schedule, let &lt;span class=&quot;math-container&quot;&gt;$C_j$&lt;/span&gt; be the completioon time of the last operation of job &lt;span class=&quot;math-container&quot;&gt;$j$&lt;/span&gt;. Taken &lt;a href=&quot;http://scholar.google.com/scholar?hl=en&amp;amp;num=100&amp;amp;q=%22Approximability+of+some+classical+graph+and+scheduling+problems%22&amp;amp;btnG=Search&amp;amp;as_sdt=2001&amp;amp;as_ylo=&amp;amp;as_vis=0&quot; rel=&quot;nofollow noreferrer&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;There are such objectives as minimizing the makespan &lt;span class=&quot;math-container&quot;&gt;$C_{max}=max_jC_j$&lt;/span&gt; and total completion time &lt;span class=&quot;math-container&quot;&gt;$\sum C_j$&lt;/span&gt;. Regular criteria are defined &lt;a href=&quot;http://books.google.com/books?id=MO5dVmXCQWcC&amp;amp;lpg=PA44&amp;amp;ots=-LFmLg0XM-&amp;amp;dq=%22regular%20criteria%22&amp;amp;pg=PA44#v=onepage&amp;amp;q=%22regular%20criteria%22&amp;amp;f=false&quot; rel=&quot;nofollow noreferrer&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;In the notation of &lt;a href=&quot;http://www.math.ucsd.edu/%7Efan/ron/papers/79_03_scheduling_survey.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Graham et al.&lt;/a&gt; this problem is denoted as &lt;span class=&quot;math-container&quot;&gt;$J||\gamma$&lt;/span&gt;, where &lt;span class=&quot;math-container&quot;&gt;$\gamma$&lt;/span&gt; denotes the objective function to be minimized.&lt;/p&gt;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$J2|n=k|F$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$J|n=2|F$&lt;/span&gt; are polynomially solvable. Here &lt;span class=&quot;math-container&quot;&gt;$J2$&lt;/span&gt; &lt;span class=&quot;math-container&quot;&gt;$(n=k)$&lt;/span&gt; means that the number of machines (jobs) is fixed and equals &lt;span class=&quot;math-container&quot;&gt;$2$&lt;/span&gt; &lt;span class=&quot;math-container&quot;&gt;$(k)$&lt;/span&gt;. &lt;span class=&quot;math-container&quot;&gt;$F$&lt;/span&gt; means an arbitrary regular criterion.&lt;/p&gt;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$J3|n=3|C_{max}$&lt;/span&gt;, &lt;span class=&quot;math-container&quot;&gt;$J3|n=3|\sum C$&lt;/span&gt; are weakly NP-hard.&lt;/p&gt;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$J2||C_{max}$&lt;/span&gt;, &lt;span class=&quot;math-container&quot;&gt;$J2||\sum C$&lt;/span&gt; are strongly NP-hard.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Thus, here we can see that there is a jump when we go  from two jobs/machines to three.&lt;/p&gt;&#xA;" OwnerUserId="1060" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2011-01-29T02:55:08.277" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3703" PostTypeId="2" ParentId="3697" CreationDate="2010-12-10T07:03:20.320" Score="2" Body="&lt;p&gt;I recommend the excellent review article by Lance Fortnow, &lt;a href=&quot;http://cacm.acm.org/magazines/2009/9/38904-the-status-of-the-p-versus-np-problem/fulltext&quot; rel=&quot;nofollow&quot;&gt;&quot;The Status of the P versus NP Problem&quot;&lt;/a&gt;, which discusses some new approaches to the problem.&lt;/p&gt;&#xA;" OwnerUserId="2130" LastActivityDate="2010-12-10T07:03:20.320" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3705" PostTypeId="2" ParentId="3697" CreationDate="2010-12-10T08:40:33.413" Score="7" Body="&lt;p&gt;Here is one of the best survey articles about the P vs NP problem, &lt;a href=&quot;http://www.math.ias.edu/~avi/PUBLICATIONS/MYPAPERS/W06/w06.pdf&quot;&gt;$P$, $NP$ and mathematics – a computational complexity perspective&lt;/a&gt;, by Wigderson &lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2010-12-10T08:50:44.873" LastActivityDate="2010-12-10T08:50:44.873" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3706" PostTypeId="1" AcceptedAnswerId="3707" CreationDate="2010-12-10T10:00:46.723" Score="1" ViewCount="2278" Body="&lt;p&gt;&lt;strong&gt;EDIT Dec 14th 2010&lt;br&gt;&lt;/strong&gt;&#xA;The algorithm is not correct: it's not the case that it always returns the optimal $W$.&#xA;&lt;hr&gt;&#xA;While reasoning on &lt;a href=&quot;https://cstheory.stackexchange.com/questions/3684/max-non-overlapping-path-in-weighted-graph&quot;&gt;this&lt;/a&gt; and other similar questions, I've sketched an algorithm that, given an undirect weighted graph $G=(V,E)$ of $n$ vertices and a vertex $v_i \in V$, returns an array $W$ of $n$ weights, where each $W_j$ (with $j \in [1,n]$) is the weight of the path of maximum weight from $v_i$ to $v_j$. Something must be wrong with the algorithm, but so far I couldn't figure out what. The algorithm seems correct at first sight, maybe its flaw is that the labeled tree $T$ it builds (see below) grows exponentially in size (I didn't yet implement it to see what happens).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Other than its input, the algorithm uses two further objects:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;A labeled tree $T$, which is initially composed by only one node whose label is $i$ (such node will be $T$'s root)&lt;/li&gt;&#xA;&lt;li&gt;A relation $R \subseteq D^2$. $D$ is the domain of &quot;paths without repetition&quot;, and $R(x,y)$ means &quot;path $x$ removes path $y$&quot;. $R$ is initially the empty set.&lt;/li&gt;&#xA;&lt;li&gt;A relation $Q \subseteq D^2$. $Q$ is built from $R$. $Q$ is initially the empty set.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;The algorithm operates as follows:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;For each leaf $v_k$ of $T$, add to it one new child node labeled $c$ for each $v_c \in V$ such that $\{ v_k, v_c \} \in E$ and there isn't any node labeled $c$ in the path in $T$ from $v_k$ to the root.&lt;/li&gt;&#xA;&lt;li&gt;If $T$ changed during Step 1, go to Step 3. Else, go to Step 7.&lt;/li&gt;&#xA;&lt;li&gt;Given a generic node $v_t$ of $T$, let $p_t$ be the path in $T$ from the root to $v_t$, let $w_t$ be the weight of $p_t$, and let $l_t$ be the label of $v_t$. Let $V(l)$ be the set of nodes of $T$ whose label is $l$. Now for each &lt;i&gt;different&lt;/i&gt; label $l_k$ appearing in a leaf of $T$, let $V_2(l_k)$ be the set of all those subsets of $V(l_k)$ having cardinality $2$; for each $\{v_{k_1}, v_{k_2}\} \in V_2(l_k)$, if $w_{k_1} \geq w_{k_2}$ then add $(p_{k_1}, p_{k_2})$ to $R$, else add $(p_{k_2}, p_{k_1})$ to $R$.&lt;/li&gt;&#xA;&lt;li&gt;Compute the relation $Q$ as follows: $Q$ contains all the couples of $R$, plus those obtained according to the following rule: if $(x, y) \in Q$ and $(z, w) \in Q$ and $y$ is a prefix of $z$, then $(x, w) \in Q$.&lt;/li&gt;&#xA;&lt;li&gt;For each $y$ such that $\exists x (x, y) \in Q$, if $\not \exists z (z, y) \in Q$ such that $y$ is a prefix of $z$, then remove from $T$ the subtree whose root $r$ has a path from $T$'s root to $r$ equal to $y$.&lt;/li&gt;&#xA;&lt;li&gt;Set both $R$ and $Q$ equal to the empty set. If $T$ changed during Step 5, then go to Step 3. Else, go to Step 1.&lt;/li&gt;&#xA;&lt;li&gt;Set $W_j = 0, \forall j \in [1,n]$. Visit the tree $T$: for each visited $v_t$, if $w_t &amp;gt; W_{l_t}$, set $W_{l_t} = w_t$. Return $W$.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Question(s)&lt;/strong&gt;  &lt;/p&gt;&#xA;  &#xA;  &lt;ol&gt;&lt;li&gt;Is the algorithm correct?&lt;/li&gt;  &#xA;  &lt;li&gt;Where is it flawed?&lt;/li&gt;  &#xA;  &lt;li&gt;Is there an instance such that $T$ has exponentially many leaves?&lt;/li&gt;&lt;/ol&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Apologies in advance if this algorithm turns out to be completely uninteresting and naive.&lt;/p&gt;&#xA;" OwnerUserId="947" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2010-12-14T12:47:24.620" Title="Algorithm for Longest Path in Undirected Weighted Graph" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;" AnswerCount="1" CommentCount="6" ClosedDate="2010-12-16T08:52:04.647" ContentLicense="CC BY-SA 2.5" />
  <row Id="3707" PostTypeId="2" ParentId="3706" CreationDate="2010-12-10T11:15:45.800" Score="1" Body="&lt;p&gt;Two questions where I think you have remained unclear:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Are there any assumptions on the weight function?&lt;/li&gt;&#xA;&lt;li&gt;What exactly holds if $(x, y) \in R$?&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Ad 4: You break your desired invariant for $R$ here since the last node in $x$ does not necessarily occur in $w$ at all. Example: $x = abc, y=adc, z=adce, w=ae$&#xD;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I believe a worst-case instance might be the complete graph with $w(i,k) = 1$ for $i$ the starting node and all $k\neq i$, and $w(j, k) = 0$ for all $j,k \neq i$. Paths with more nodes will never remove those from earlier iterations so the tree is never shrunk at all, growing up to having $n!$ nodes.&lt;/p&gt;&#xA;" OwnerUserId="1546" LastEditorUserId="1546" LastEditDate="2010-12-10T12:07:58.283" LastActivityDate="2010-12-10T12:07:58.283" CommentCount="17" ContentLicense="CC BY-SA 2.5" />
  <row Id="3708" PostTypeId="2" ParentId="3681" CreationDate="2010-12-10T12:00:30.780" Score="4" Body="&lt;p&gt;If it is the μ-recursive functions you are interested in (and not the μ-calculus, which is a totally different thing as slimton pointed out) it makes the most sense if you start looking at the &lt;em&gt;primitive recursive functions&lt;/em&gt; (PRFs). The set of PRFs is interesting in it self and it turns out that the μ-recursive functions can be introduced by an extension of it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here are some slides that seems to be a relatively gentle introduction:&#xA;&lt;a href=&quot;http://homepage.cs.uri.edu/faculty/hamel/courses/2011/spring2011/csc544/lecture-notes/11-recursive-functions.pdf&quot; rel=&quot;nofollow&quot;&gt;Link&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="2682" LastEditorUserId="414" LastEditDate="2011-05-18T18:08:25.967" LastActivityDate="2011-05-18T18:08:25.967" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="3709" PostTypeId="2" ParentId="3690" CreationDate="2010-12-10T13:45:00.213" Score="11" Body="&lt;p&gt;The problem is a variant of Correlation Clustering (CC) Bansal, N., Blum, A. and Chawla, S. (2004). &quot;Correlation Clustering&quot;. Machine Learning Journal (Special Issue on Theoritical Advances in Data Clustering,. pp. 86–113, doi:10.1023/B:MACH.0000033116.57574.95.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The original CC formulation is on a complete graph $G$ and for each edge $(v,w)$ we have two weights: $a(v,w)$ and $b(v,w)$. Given a partition $P$, let $c_P(v,w)$ be equal to $a(v,w)$ if $v$ and $w$ are in the same cluster of $P$ and $b(v,w)$ otherwise. Then the value of a partition $P$ of $V$ is $\sum_{v,w} c(v,w)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Your problem is equivalent to $a(v,w)=0$ for all v,w and allowing negative $b(v,w)$ (the original paper allowed only +1,-1 weights). The paper Erik D. Demaine, Dotan Emanuel, Amos Fiat, Nicole Immorlica: Correlation clustering in general weighted graphs. Theor. Comput. Sci. 361(2-3): 172-187 (2006) &lt;a href=&quot;http://dx.doi.org/10.1016/j.tcs.2006.05.008&quot;&gt;http://dx.doi.org/10.1016/j.tcs.2006.05.008&lt;/a&gt; gives a $O(\log n)$-approximation algorithm for general (i.e. not complete) graphs. I believe it can be extended also to your problem, and I would not rule out a constant-factor approximation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The PTASs described are based on the smooth polynomial programming technique: in the most general case I don't think your problem would satisfy the requirement of the technique.&lt;/p&gt;&#xA;" OwnerUserId="474" LastActivityDate="2010-12-10T13:45:00.213" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3710" PostTypeId="1" AcceptedAnswerId="3712" CreationDate="2010-12-10T13:53:00.227" Score="4" ViewCount="499" Body="&lt;p&gt;I'm doing a bit of research on doing social analysis between so called &quot;hub&quot; people.  Basically what I want to try to do is determine the shortest paths between two individuals.  The problem is that while there are relatively few individuals (a few hundred at most), there are a LOT more connections between the nodes (and several categories of connections).  So while a graph may have 100 nodes, there may be tens of thousands of connections (Some of which are redundant).  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, what we want to try to do is show the relationships from each individual to each other.  So for example, if you pick person A, show all of their first degree relationships.  Then show all second degree relationships, etc until all the relationships are shown.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There may be as many as 1000 nodes and 100,000 connections, but I don't think too much more than that.  Are there any simple algorithms available for this, or would pre-computing unique permutations (via a Map-Reduce style system) be my best bet?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Am I right by thinking this problem is a NP problem (I don't think it's NP-Complete, but it might by NP-Hard)?  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks&lt;/p&gt;&#xA;" OwnerUserId="2683" LastEditorUserId="186" LastEditDate="2010-12-11T21:42:39.547" LastActivityDate="2010-12-11T21:42:39.547" Title="Is Degrees Of Separation NP Complete?" Tags="&lt;ds.algorithms&gt;&lt;graph-algorithms&gt;&lt;np&gt;&lt;application-of-theory&gt;" AnswerCount="3" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3711" PostTypeId="1" AcceptedAnswerId="3713" CreationDate="2010-12-10T13:59:31.930" Score="12" ViewCount="657" Body="&lt;p&gt;I read in S. P. Jordan, D. Gosset, P. J. Love's &quot;&lt;a href=&quot;http://arxiv.org/abs/0905.4755&quot;&gt;$QMA$-complete problems for stoquastic Hamiltonians and Markov matrices&lt;/a&gt;&quot; that it is unlikely that $QMA \subseteq AM$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I was surprised about this assertion. So what is the proper relationship between $QMA$ and $AM$?&lt;/p&gt;&#xA;" OwnerUserId="10136" LastEditorUserId="186" LastEditDate="2010-12-12T06:52:21.797" LastActivityDate="2010-12-22T22:17:44.153" Title="What is the Relationship between QMA and AM?" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;quantum-computing&gt;&lt;interactive-proofs&gt;&lt;qma&gt;" AnswerCount="2" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="3712" PostTypeId="2" ParentId="3710" CreationDate="2010-12-10T13:59:48.983" Score="3" Body="&lt;p&gt;You can create a table with the degrees-of-separation between every two users by doing a BFS or DFS from each node and recording the length of the shortest path to each node you reach as you get there (sometimes replacing a larger value with a shorter one through a different path you explored later). That's definitely polynomial time (O(|V|^2 + |V|*|E|)), but that's not to say it's cheap to do.&lt;/p&gt;&#xA;" OwnerUserId="2684" LastActivityDate="2010-12-10T13:59:48.983" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3713" PostTypeId="2" ParentId="3711" CreationDate="2010-12-10T14:28:25.010" Score="22" Body="&lt;p&gt;No relationship is known to hold between QMA and AM, and it is reasonable to conjecture they are incomparable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If QMA were proved to be contained in AM, it would be an absolutely enormous result in quantum complexity.  Of course it would imply that BQP is in PH, which itself would be huge, but it would go beyond that -- it would surely require major revelations about the structure of quantum algorithms and quantum certificates.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Having said that, the evidence against is not very convincing.  An oracle relative to which QMA is not contained in AM would help, and it seems like such a result may not be far off -- but we don't even have this yet.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A proof of the reverse containment, AM in QMA, would also be huge.  At least here we have an oracle relative to which AM is not contained in QMA (and in fact is not even contained in PP).&lt;/p&gt;&#xA;" OwnerUserId="819" LastActivityDate="2010-12-10T14:28:25.010" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="3714" PostTypeId="1" AcceptedAnswerId="3907" CreationDate="2010-12-10T15:42:54.837" Score="3" ViewCount="340" Body="&lt;p&gt;I am doing a seminar on a paper titled &lt;a href=&quot;http://www.wisdom.weizmann.ac.il/~oweimann/Publications/SLP2.pdf&quot; rel=&quot;nofollow&quot;&gt;&quot;Unified Compression-Based Acceleration&#xA;of Edit-Distance Computation&quot;&lt;/a&gt; that uses straight-line programs to improve edit distance computation. It is a common method to exploit repetitions for ED although I couldn't find the first article that used it and I thought it is important to mention it in the seminar.&#xA;&lt;br&gt;&#xA;Does anybody have a clue what it was?&#xA;&lt;br&gt;Thanks!&lt;/p&gt;&#xA;" OwnerUserId="2686" LastEditorUserId="80" LastEditDate="2010-12-11T17:03:41.127" LastActivityDate="2010-12-21T09:59:03.433" Title="Using compression to improve edit distance computation" Tags="&lt;reference-request&gt;&lt;ho.history-overview&gt;&lt;string-matching&gt;&lt;edit-distance&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3716" PostTypeId="1" CreationDate="2010-12-10T17:57:29.923" Score="3" ViewCount="240" Body="&lt;p&gt;&lt;em&gt;(First of all, sorry for the long article which makes you want to skip through, but since the background and motivations are important to this question or it would be nonsense to the main problem, forgive me if this makes you sleep. I owe you a cup of coffee.)&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Background&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Isolation_lemma&quot; rel=&quot;nofollow&quot;&gt;Isolation lemma&lt;/a&gt;&lt;/strong&gt;, one of the best tool in complexity theory invented by K. Mulmuley, U. Vazirani and V. Vazirani in &quot;&lt;a href=&quot;http://www.cs.berkeley.edu/~vazirani/pubs/matching.pdf&quot; rel=&quot;nofollow&quot;&gt;Matching is as easy as matrix inversion&lt;/a&gt;&quot;, have been used to prove many amazing results like an RNC-algorithm for matching in the above paper; &lt;a href=&quot;http://en.wikipedia.org/wiki/Valiant-Vazirani_theorem&quot; rel=&quot;nofollow&quot;&gt;Valiant–Vazirani theorem&lt;/a&gt; which is a randomized reduction from NP problems to USAT; &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.5.2546&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;nofollow&quot;&gt;NL/poly=UL/poly&lt;/a&gt;; and many others. &lt;a href=&quot;http://www.cs.rochester.edu/~lane/=companion/isolation.pdf&quot; rel=&quot;nofollow&quot;&gt;Surveys&lt;/a&gt; and &lt;a href=&quot;http://rjlipton.wordpress.com/2009/07/01/the-isolation-lemma-and-beyond/&quot; rel=&quot;nofollow&quot;&gt;introduction in blogs&lt;/a&gt; are also all over the web. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the center of the isolation lemma, we use randomization to assign weights on the base set $U$, such that for a family $\mathcal{F}$ of subsets of $U$, there is a unique minimum weighted subset in $F$ with high probability. Formally,&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Lemma.&lt;/strong&gt; Let $U$ be a set of size $n$, and $\mathcal{F}$ be a non-empty family containing elements which are the subsets of $U$. Uniform-randomly assign integral weights in $[2n]$ on the set $U$, then there exist a unique minimum weighted subset in $\mathcal{F}$ with probability at least $1/2$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;A stronger form which covers a collection of $\mathcal{F_1}, \ldots, \mathcal{F_m}$ that is used in practical situations can be found in the &lt;a href=&quot;http://www.cs.rochester.edu/~lane/=companion/isolation.pdf&quot; rel=&quot;nofollow&quot;&gt;survey&lt;/a&gt;. There are also some variants that may reduced the use of random bits, or derandomized the lemma to get a deterministic weight assigning algorithm when the size of $\mathcal{F}$ is not too large.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Problem&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;After a search of literature, it seems that all the research on this topic were all focus on isolating a &lt;em&gt;unique&lt;/em&gt; subset of $U$. I want to know whether there is any obvious reason that we don't have a &lt;em&gt;weak&lt;/em&gt; isolation lemma, in the sense that the number of minimum weighted subsets is bounded by a particular bound, and the requirement for the weak lemma is less than the original one. For example, do we have a lemma that only isolates $O(\log n)$ minimum weighted subsets? How about linear or polynomial? Since the size of $\mathcal{F}$ is at most $2^n$, when the bound is set to $2^n$, the result becomes trivial since no isolation is needed.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Problem.&lt;/strong&gt; Is there any research on the notion of &lt;em&gt;weak&lt;/em&gt; isolation, that only limits the number of minimum weighted subsets instead of a unique one? If so, is there any references? If not, what is the most obvious obstacle toward such a result?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I've been trying to prove such a lemma with some approaches, but despite of using the exactly same techniques (thus the same requirements) which is clearly no better than the original one (since with the same requirements you can indeed isolate a unique subset), there is no success to reduce any conditions we need, even in the case that we only need a loose bound on the number of minimum subsets, say polynomial. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;(please read on if you need motivations to the problem! The part below contains some technical details to the usage of the lemma, and some applications to log-space computations.)&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;h2&gt;Motivation&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;I am working on the problems in log-space computations, precisely the relation between classes $\mathsf{NL}$, $\mathsf{UL}$, and many other classes below and in between.&#xA;Consider the above lemma, which requires $O(n \log n)$ random bits if we assign weights to $U$ accordingly. A random-bit-saving version of the lemma is presented in &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=167213&quot; rel=&quot;nofollow&quot;&gt;this paper&lt;/a&gt; by Chari et al., which states:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Lemma.&lt;/strong&gt; Let $U$ be a set of size $n$, and $\mathcal{F}$ be a non-empty family containing elements which are the subsets of $U$. There is a way of assigning weights in $[n^7]$ on $U$ with $O(\log|F|+\log n)$ random bits, such that there exist a unique minimum weighted subset in $\mathcal{F}$ with probability at least $1/4$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;That gives us an $\mathsf{USPACE}[O(\log|F|+\log n)]$ algorithm for reachability. Of course this is a pity bound, since by &lt;a href=&quot;http://en.wikipedia.org/wiki/Savitch%27s_theorem&quot; rel=&quot;nofollow&quot;&gt;Savitch's theorem&lt;/a&gt; we have $\mathsf{NL} \subseteq \mathsf{L}^2 \subseteq \mathsf{UL}^2$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But what if we consider the reachability problem with a restriction that there are at most $f(n)$ paths from the source to any node in the graph? This defines the problem $\mathtt{Reach}[f(n)]$, and we have $\mathtt{Reach}[2^n]$ to be the normal reachability problem. By setting $f(n)$ a polynomial, applying the above lemma together with an $\mathsf{UL}$-algorithm for reachability in graphs with a minimum unique path (see &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.5.2546&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;nofollow&quot;&gt;the paper&lt;/a&gt; for more details), we can solve $\mathtt{Reach}[n^{O(1)}]$ in $\mathsf{UL}$. (The result occurs in &lt;a href=&quot;http://cse.unl.edu/~rtewari/unamb.pdf&quot; rel=&quot;nofollow&quot;&gt;this recent paper&lt;/a&gt;. In fact they use a stronger version of the lemma, which isolates every paths in the graph by a constructive way.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If a weaker isolation lemma is known to have less restrictions on either the size of $\mathcal{F}$, or the number of random bits being used, we can provide better bounds on the problem $\mathtt{Reach}[f(n)]$, with the help of some modifications to solve reachability in graphs with few minimum paths. Hopefully if the lemma is &lt;em&gt;weak&lt;/em&gt; enough to set $f(n) = 2^n$, and we can obtain some better bounds about the important class $\mathsf{NL}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any comments on the proof techniques or obstacles will give insight to the question, and I would like to know that whether this idea has a tiny little chance of success, or it is just a completely impossible concept.&lt;/p&gt;&#xA;" OwnerUserId="1800" LastEditorUserId="1800" LastEditDate="2010-12-11T13:23:55.640" LastActivityDate="2010-12-11T13:23:55.640" Title="Is there any research on the notion of weak isolation?" Tags="&lt;cc.complexity-theory&gt;&lt;randomness&gt;" AnswerCount="0" CommentCount="7" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="3717" PostTypeId="2" ParentId="3710" CreationDate="2010-12-10T19:02:07.217" Score="0" Body="&lt;p&gt;You want all solutions, so it is closer to &lt;a href=&quot;http://en.wikipedia.org/wiki/Sharp-P-complete&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/Sharp-P-complete&lt;/a&gt; type problems, although I don't think this is #P complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Highly symmetric graphs will yield large numbers as many paths will be the shortest from A-&gt;B.  Think of a torus grid when you are making paths between two points on opposite sides of the torus. &lt;/p&gt;&#xA;" OwnerUserId="2021" LastActivityDate="2010-12-10T19:02:07.217" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3718" PostTypeId="2" ParentId="3697" CreationDate="2010-12-10T19:43:18.393" Score="11" Body="&lt;p&gt;It's good to see a fellow undergrad in pursue of this great problem, with such an enthusiasm. Allow me to offer you a piece of advice from my own experiences.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$ P \neq NP $ is a very interesting problem. The implications of the answer are immense, especially in the case that the two classes are equal. The reward is great in many levels, from the altruistic scientific one to the materialistic money award. That leads many young people that encounter the problem in trying to solve it, with no or limited knowledge about it. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Perhaps most theory students go through that phase. You will have an idea and think it is right, but it is almost certain that you are wrong. Some people never get through that phase and embarrass themselves by being too stubborn to admit their errors.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In FOCS 2010, Rahul Santhanam compared the $ P \neq NP $ question to a mythical monster. It would take many sacrifices and courage to even try to defeat this monster. After all, it may be the most difficult problem ever. To have a fighting chance, you will have to study a lot about this problem and complexity in general. You'll never know what the &quot;monster's weakness&quot; will be. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;So my advice is this: Take your time in knowing the problem. Every time you figure out a solution, assume you are wrong somehow and try to find the problem with it. That way you'll learn much.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As for references, I would recommend Sipser's book as well. After finishing it, I would recommend &quot;Computational Complexity:A modern approach&quot; by Arora and Barak, a more complexity-oriented book, that requires a good understanding of the concept of computation.&lt;/p&gt;&#xA;" OwnerUserId="879" LastActivityDate="2010-12-10T19:43:18.393" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="3719" PostTypeId="1" AcceptedAnswerId="3721" CreationDate="2010-12-10T19:46:31.110" Score="8" ViewCount="678" Body="&lt;p&gt;We in our research group are working in the application of heuristic methods to the inverse illumination problem (that is, given a set of constraints about the illumination conditions in a scene, find the places where the light sources have to be placed and their intensities in order to fulfill the constraints and minimize the cost). We would like to justify the use of heuristic methods by proving the problem to be NP-hard and we have found it to be closely related to the &quot;minimum weight solution to linear equations&quot; (MWSLE) NP-complete problem of Garey and Johnson's &quot;Computers and intractability&quot;, with the particularity that, given that light source emittances can not be negative, the solution to the linear equations system has to be formed only by non-negative values. &#xA;Summarizing, the problem is the following:&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;MINIMUM WEIGHT POSITIVE SOLUTION TO LINEAR EQUATIONS.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;INSTANCE: Finite set $X$ of pairs $(\vec{x},b)$, where  $\vec{x}$ is an m-tuple of non-negative integers and $b$ is a non-negative integer, and a positive integer $K \leq m$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;QUESTION: Is there an m-tuple $\vec{y}$ of non-negative rational entries such that $\vec{y}$ has at most $K$ non-zero entries and such that $\vec{x} \cdot \vec{y}=b$ for all $(\vec{x},b)\in X$?&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Garvey and Johnson state that MWSLE's NP-completeness can be proved from the &quot;exact covering by 3-sets&quot; problem but don't give more details. Exact cover by 3-sets is a natural generalization of the perfect matching problem to hypergraphs G=(V,E) with all edges e∈E containing 3 vertices (instead of 2) and |V|  is divisible by 3. The problem is to find a subset of the hyperedges such that each vertex is incident to exactly one of the selected hyperedges.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We are trying to prove that the restricted problem is still NP-complete but we don't see the way to do it. Any clues?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks in advance&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Esteve&lt;/p&gt;&#xA;" OwnerUserId="2690" LastEditorUserId="567" LastEditDate="2010-12-16T05:09:12.367" LastActivityDate="2010-12-16T05:09:12.367" Title="Is that particular case of the &quot;minimum weight solution to linear equations&quot; still NP-complete?" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;&lt;cg.comp-geom&gt;&lt;application-of-theory&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="3720" PostTypeId="2" ParentId="3697" CreationDate="2010-12-10T20:38:59.693" Score="2" Body="&lt;p&gt;You could read the well-known paper by W. Gasarch concerning poll on the question &lt;a href=&quot;http://www.cs.umd.edu/~gasarch/papers/poll.pdf&quot; rel=&quot;nofollow&quot;&gt;$P=?NP$&lt;/a&gt;, another good read is &quot;&lt;a href=&quot;http://mrfellows.net/papers/C73.pdf&quot; rel=&quot;nofollow&quot;&gt;Why is $\mathcal{P}$ Not Equal to $\mathcal{NP}$?&lt;/a&gt;&quot; (and see references in it) by M. Fellows and F. Rosamond.&lt;/p&gt;&#xA;" OwnerUserId="1060" LastActivityDate="2010-12-10T20:38:59.693" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3721" PostTypeId="2" ParentId="3719" CreationDate="2010-12-10T21:23:17.723" Score="5" Body="&lt;p&gt;Here's a sketch of an NP-hardness proof. Exact cover by 3-sets is a natural generalization of the perfect matching problem to hypergraphs $G=(V,E)$ with all edges $e \in E$ containing 3 vertices (instead of 2) and $|V|$ is divisible by 3. The problem is to find a subset of the hyperedges such that each vertex is incident to exactly one of the selected hyperedges. Let $x_e$ be a 0/1 variable for each hyperedge $e$ indicating whether or not it is used. Clearly the system of equations&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\sum_{e \in E : v \in e} x_e = 1$    for all $v \in V$&#xD;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;has only non-negative coefficients and has a solution with at most $|V|/3$ positive coefficients if $G$ has an exact cover. The other direction, namely showing that this system has such a solution &lt;em&gt;only if&lt;/em&gt; $G$ has an exact cover, is less trivial but still easy.&lt;/p&gt;&#xA;" OwnerUserId="1522" LastEditorUserId="1522" LastEditDate="2010-12-10T21:28:19.733" LastActivityDate="2010-12-10T21:28:19.733" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="3722" PostTypeId="2" ParentId="3671" CreationDate="2010-12-10T22:30:26.817" Score="3" Body="&lt;p&gt;I think the Asplund, Grunbaum paper, or later papers also show that that the chromatic number of rectangle intersection graphs is at most O(k^2), where k is the size of the maximum clique... however, there are no known examples that require more than linear in k number of colors. &lt;/p&gt;&#xA;" OwnerUserId="448" LastActivityDate="2010-12-10T22:30:26.817" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3723" PostTypeId="1" AcceptedAnswerId="3725" CreationDate="2010-12-11T05:23:21.817" Score="1" ViewCount="229" Body="&lt;p&gt;Assume a weighted graph G and a positive value k are given, and you are looking for the complexity of finding a cycle with total weight k; beside you know that no Hamiltonian cycle in G has total weight k. (G is an arbitrary weighted graph, beside you know no hamiltonian cycle would satisfy the total weight k)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1-can someone use reduction from knapsack to conclude that the complexity of finding a cycle with total weight k In G is NP-com? (I guess no!)&lt;br&gt;&#xA;2-Is there any idea about the complexity of finding a cycle in G with total weight k when you know no Hamiltonian cycle in G convinces total weight k?&lt;/p&gt;&#xA;" OwnerUserId="2335" LastEditorUserId="2335" LastEditDate="2010-12-11T05:34:10.477" LastActivityDate="2010-12-11T16:34:16.650" Title="complexity of finding a cycle with total weight k in a graph when you know no hamiltonian cycle in graph satisfies the given weight k" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;&lt;complexity-classes&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="3724" PostTypeId="2" ParentId="3710" CreationDate="2010-12-11T05:46:57.640" Score="3" Body="&lt;p&gt;You are looking for breadth-first search. O(n + m) and pretty simple to code.  If you want to calculate the number of shortest paths from a to b, there is a variant of breadth-first search described as an exercise in &quot;Algorithm Design&quot; by Kleinberg and Tardos which will do the job.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The algorithms work extremely quickly - I wrote a variant of this in Python to analyze a 30000 vertex / 100000 edge graph and the slowest part of the process was reading the graph data off the hard drive.&lt;/p&gt;&#xA;" OwnerUserId="730" LastActivityDate="2010-12-11T05:46:57.640" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3725" PostTypeId="2" ParentId="3723" CreationDate="2010-12-11T06:40:43.867" Score="4" Body="&lt;p&gt;I don't know about knapsack problem, but it isn't too hard to reduce from Hamiltonian Cycle to this problem (assuming you mean a simple cycle). We start with an arbitrary graph $G$ with $n$ nodes for which we want to find a Hamiltonian cycle. Then we construct $G&amp;#39;$, which is $G$ with the addition of a single node $v$, a single edge from $v$ to an arbitrary node in $G$ with arbitrary weight, and every other edge has weight 1. We then ask if there is a cycle with weight $n$ in $G&amp;#39;$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we have a Hamiltonian cycle in $G$, this corresponds to a cycle in $G&amp;#39;$ with weight $n$. This is not a Hamiltonian cycle in $G&amp;#39;$, since it doesn't go through our added vertex $v$. If we have a (simple) cycle with weight $n$ in $G&amp;#39;$, then it must include exactly n nodes. It can't include $v$ since it has degree 1, and can't be part of a cycle. Therefore, this goes through all the nodes in $G$, and thus is a Hamiltonian Cycle in $G$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Therefore this problem is $\mathcal{NP}$-Complete, unless I misinterpreted your question.&lt;/p&gt;&#xA;" OwnerUserId="2678" LastEditorUserId="2678" LastEditDate="2010-12-11T16:34:16.650" LastActivityDate="2010-12-11T16:34:16.650" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3727" PostTypeId="1" AcceptedAnswerId="3729" CreationDate="2010-12-11T07:29:04.137" Score="7" ViewCount="2113" Body="&lt;p&gt;Consider the following extremely simple approximation algorithm for the TSP.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Input: A complete weighted graph $G=(V,E).$&#xD;&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Take any three vertices $a,b,c\in V$ and let $H:=(a,b,c,a).$&#xD;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;While there are vertices in V that are not in H:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Take one of them, say $v.$ Let $H=(v_1,v_2,...,v_k,v_1),$ where $k$ is the number of distinct vertices currently contained in $H.$&#xD;&lt;/li&gt;&#xA;&lt;li&gt;Take as new $H$ the shortest of all the Hamiltonian cycles $(v,v_1,v_2,\ldots,v_k,v),$ $(v_1,v,v_2,\ldots,v_k,v_1),$ $(v_1,v_2,v,\ldots,v_k,v_1),$ $\dots,$ $(v_1,v_2,\ldots,v,v_k,v_1),$ i.e., insert $v$ before every vertex in $H$ and find the shortest Hamiltonian cycle among all those.&lt;/li&gt;&#xA;&lt;/ol&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Output: $H.$&#xD;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Obviously, this algorithm has runtime $O(n^2).$&#xD;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can anyone give me a lower (or upper) bound on the approximation ratio of this algorithm? Or a worst-case example, for that matter?&lt;/p&gt;&#xA;" OwnerUserId="2701" LastEditorUserId="186" LastEditDate="2010-12-11T21:58:55.203" LastActivityDate="2010-12-12T11:47:25.763" Title="A simple approximation algorithm for the TSP" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;approximation-algorithms&gt;&lt;tsp&gt;&lt;optimization&gt;" AnswerCount="3" CommentCount="6" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3729" PostTypeId="2" ParentId="3727" CreationDate="2010-12-11T08:48:02.070" Score="9" Body="&lt;p&gt;General TSP is not approximable within any factor, so your algorithm doesn't really have a chance of working well. A worst-case example:&#xA;We select one Hamiltonian cycle in the clique and give all its edges weight 1 (assume this cycle is $(v_1, v_2, ..., v_n, v_1)$. All the other edges have some big weight $\alpha(n)$. Now let's have your algorithm start with odd vertices. Between any odd vertices there are only edges with weight $\alpha(n)$ and we don't have any tie breaking rule, so the cycle on odd vertices your algorithm constructs can be totally arbitrary (we can for egample forbid it to contain any edges of the form $(v_i, v_{i+2})$. When the algorithm starts working on the even vertices, it will have just two possible places to put $v_i$: after $v_{i-1}$ or before $v_{i+1}$. Again we have no tie-breaking rule, so we can assume that it always choses to put $v_i$ after $v_{i-1}$ (of course we do all this modulo $n$). When we look at the constructed cycle, we see that it is built of alternating weight 1 and weight $\alpha(n)$ edges. So we have $OPT = n$, and our solution has weight ${n \over 2} + {\alpha(n) \over 2}$. We can chose $\alpha$ arbitrarily to disprove any claimed approximation factor. There are some technicalities involved with encoding weight $\alpha$; when we increase $\alpha$ the input size also grows (but more slowly), but still I think we can get any factor. &lt;/p&gt;&#xA;" OwnerUserId="327" LastActivityDate="2010-12-11T08:48:02.070" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3730" PostTypeId="2" ParentId="3727" CreationDate="2010-12-11T09:00:21.500" Score="25" Body="&lt;p&gt;This is called an insertion heuristic. The general TSP cannot be approximated unless $P=NP$. The question is more interesting for the metric TSP. In that case, Rosenkrantz et al. (1974) show that your heuristic gives an $O(\log n)$ approximation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can also try to choose a good vertex $v$ to be inserted in each step, instead of just taking an arbitrary one. One variant is farthest insertion in which $v$ is chosen such that is has maximum distance from the current $H$. Another variant is nearest insertion in which $v$ is chosen such that it has minimum distance from the current $H$. Yet another possibility is cheapest insertion in which $v$ is chosen such that the new $H$ has minimum length. Rosenkrantz et al. show that both nearest and cheapest insertion give a $2-2/n$ approximation and this is tight.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The full reference is:&#xA;D. Rosenkrantz, R. Stearns, and P. Lewis II. An analysis of several heuristics for the traveling salesman problem. SIAM Journal on Computing, 6(3):563-581, 1977.&lt;/p&gt;&#xA;" OwnerUserId="127" LastActivityDate="2010-12-11T09:00:21.500" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3731" PostTypeId="2" ParentId="3253" CreationDate="2010-12-11T11:01:42.240" Score="13" Body="&lt;h2&gt;Number Theory&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;I found several books frequently cited in many papers. They are excellent on the subject, but some of them are quite old. Here's a list of what I recall:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0199219869&quot;&gt;An Introduction to the Theory of Numbers&lt;/a&gt; by Hardy &lt;em&gt;et al.&lt;/em&gt; Hardy is a renown British mathematician. He was the mentor of the Indian mathematician &lt;a href=&quot;http://en.wikipedia.org/wiki/Srinivasa_Ramanujan&quot;&gt;Ramanujan&lt;/a&gt;. His contribution to the field of number theory is &lt;a href=&quot;http://www.numbertheory.org/obituaries/LMS/hardy/&quot;&gt;quite amazing&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0471625469&quot;&gt;An Introduction to the Theory of Numbers&lt;/a&gt; by Niven, Zuckerman, Montgomery. Another classical introduction to the field.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/082182824X&quot;&gt;Solved and Unsolved Problems in Number Theory&lt;/a&gt; by Shanks. This is &lt;strong&gt;the&lt;/strong&gt; book for those who seek yet-to-be-proven conjectures in the field.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0486417409&quot;&gt;Riemann's Zeta Function&lt;/a&gt; by Edwards. An important part of the modern number theory, as well as several probabilistic algorithms for number-theoretic tasks are founded based on the (Extended) Riemann Hypothesis, as described in this book.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="873" LastEditorUserId="873" LastEditDate="2010-12-11T18:06:41.010" LastActivityDate="2010-12-11T18:06:41.010" CommentCount="2" CommunityOwnedDate="2010-12-11T11:01:42.240" ContentLicense="CC BY-SA 2.5" />
  <row Id="3732" PostTypeId="1" AcceptedAnswerId="3741" CreationDate="2010-12-11T11:39:17.070" Score="15" ViewCount="654" Body="&lt;p&gt;I am interested in generation of pseudo-random numbers for cryptography. Besides Chapter 5 of &lt;a href=&quot;http://www.crcpress.com/ecommerce_product/product_detail.jsf?catno=8523&amp;amp;isbn=0000000000000&amp;amp;parent_id=&amp;amp;pc=&quot;&gt;Menezes/Oorschot/Vanstone&lt;/a&gt;; Chapter 8 of &lt;a href=&quot;http://www.crcpress.com/ecommerce_product/product_detail.jsf?catno=C5084&amp;amp;isbn=0000000000000&amp;amp;parent_id=465&amp;amp;pc=&quot;&gt;Stinson&lt;/a&gt;; and Chapter 3 of &lt;a href=&quot;http://www.cambridge.org/gb/knowledge/isbn/item1167785/?site_locale=en_GB&quot;&gt;Goldreich&lt;/a&gt;, where else could I find more? I'm interested in general principles for designing PRNGs (desirable properties, tests, etc).&lt;/p&gt;&#xA;" OwnerUserId="1700" LastEditorUserId="186" LastEditDate="2010-12-11T22:52:50.043" LastActivityDate="2015-11-16T19:12:29.060" Title="Surveys on pseudo-random number generator design?" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;pseudorandomness&gt;" AnswerCount="3" CommentCount="2" FavoriteCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="3734" PostTypeId="1" CreationDate="2010-12-11T13:29:03.560" Score="7" ViewCount="557" Body="&lt;p&gt;This question is actually an exercise problem from Salil Vadhan's draft survey &quot;&lt;a href=&quot;http://people.seas.harvard.edu/~salil/pseudorandomness/&quot;&gt;Pseudorandomness&lt;/a&gt;&quot; marked with a star (*) (see Chapter 6, Problem 6.6). I do not know other references.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We say a random variable $X=(X_1,X_2,\cdots,X_n)\in\{0,1\}^n$ comes from a Santha-Vazirani source if for any $0\leq i&amp;lt; n$ and $x_1,x_2,\cdots,x_i\in \{0,1\}$, it holds that:&#xA;$$&#xD;&#xA;\delta \leq  \Pr[X_{i+1}=0\mid X_1=x_1,X_2=x_2,\cdots,X_i=x_i] \leq 1-\delta&#xD;&#xA;$$&#xD;&#xA;where $\delta$ is some positive constant.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is not hard to show that any fixed deterministic extractor (an extractor without a seed) cannot extract even one bit well from some SV-source (the output may be biased with the probability distribution $(\delta, 1-\delta)$ or worse).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is also known that a seeded extractor $\mathrm{Ext}: \{0,1\}^n\times \{0,1\}^d\to\{0,1\}^m$ exists for SV-sources such that the output is $\epsilon$-close to the uniform distribution (measured by the statistical difference) with the output length $m=\Omega(\delta n)$ and the seed length $d=O(\log(n/\epsilon))$. Actually we have explicit constructions for extracting a constant fraction of min-entropy from any source. In this question the min-entropy is $\Omega(\delta n)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The question is: how to extract $\Omega(\delta n)$ bits from SV-sources with a seed of length $d=d(\delta,\epsilon)$ that is independent of $n$? &lt;/p&gt;&#xA;" OwnerUserId="245" LastEditorUserId="245" LastEditDate="2010-12-11T13:58:38.273" LastActivityDate="2010-12-11T13:58:38.273" Title="Extracting randomness from Santha-Vazirani sources using a seed of constant length" Tags="&lt;cc.complexity-theory&gt;&lt;randomness&gt;&lt;derandomization&gt;" AnswerCount="0" CommentCount="0" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="3735" PostTypeId="1" AcceptedAnswerId="3738" CreationDate="2010-12-11T13:54:45.447" Score="4" ViewCount="214" Body="&lt;h3&gt;Background&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;Let $(\tfrac{a}{p})$ denote the &lt;a href=&quot;http://en.wikipedia.org/wiki/Legendre_symbol&quot; rel=&quot;nofollow&quot;&gt;Legendre symbol&lt;/a&gt;, defined for all integers $a$ and all odd primes $p$ by:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$(\tfrac{a}{p}) = \begin{cases}&#xD;&#xA;\;\;\,0\mbox{ if } a \equiv 0 \pmod{p}&#xD;&#xA;\\+1\mbox{ if }a \not\equiv 0\pmod{p} \mbox{ and for some integer }x, \;a\equiv x^2\pmod{p}&#xD;&#xA;\\-1\mbox{ if there is no such } x. \end{cases}$&#xD;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For any integer $a$ and any positive odd integer $n$ the &lt;a href=&quot;http://en.wikipedia.org/wiki/Jacobi_symbol&quot; rel=&quot;nofollow&quot;&gt;Jacobi symbol&lt;/a&gt; is defined as the product of the Legendre symbols corresponding to the prime factors of $n$:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$(\frac{a}{n}) = (\frac{a}{p_1})^{\alpha_1}(\frac{a}{p_2})^{\alpha_2}\cdots (\frac{a}{p_k})^{\alpha_k}\mbox{ where } n=p_1^{\alpha_1}p_2^{\alpha_2}\cdots p_k^{\alpha_k}$&#xD;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Fortunately, computing Jacobi symbol can be performed efficiently, without having to know the factorization of $n$.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Let $J_n^{+1} = \{a \in \mathbb{Z}_n^* \mid (\frac{a}{n}) = +1 \}$. Deciding membership in $J_n^{+1}$ is easy. The question is,&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Given an odd $n$, can we compute $\left|J_n^{+1}\right|$ in polynomial time?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="873" LastActivityDate="2010-12-16T02:43:19.440" Title="Computing Size of Set with Particular Jacobi Symbol in Poly-Time" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;nt.number-theory&gt;" AnswerCount="1" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="3736" PostTypeId="1" CreationDate="2010-12-11T15:28:18.890" Score="-4" ViewCount="718" Body="&lt;p&gt;I'm a graduate student in Computer Science.&#xA;For an exam, I have to realize a package in Wolfram Mathematica, with a free topic.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My interests are particularly related to theoretical Computer Science, time and space complexity, and to programming languages.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any suggestions for a possible project (in this or in other fields...)?&lt;/p&gt;&#xA;" OwnerUserId="2707" LastEditorUserId="186" LastEditDate="2010-12-11T22:11:14.683" LastActivityDate="2010-12-15T13:07:32.777" Title="Ideas for a project in Mathematica related to (Theoretical) Computer Science" Tags="&lt;advice-request&gt;&lt;project-topic&gt;" AnswerCount="3" CommentCount="9" ClosedDate="2013-04-03T04:25:38.693" ContentLicense="CC BY-SA 2.5" />
  <row Id="3737" PostTypeId="2" ParentId="3697" CreationDate="2010-12-11T16:15:26.350" Score="3" Body="&lt;p&gt;I would also suggest to take a problem instance and try to solve it. It is a good practice to experiment with open problems. By experiment I mean, you can write programs or implement known algorithms by others and understand how they work, where they fail etc. Also, you can discover several proof techniques. Remember, they won't put you in jail if you study and work a lot on this and can't find any solution. On the contrary, your competency level is guaranteed to increase.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In most cases, these problems &lt;em&gt;in general&lt;/em&gt; are hard to solve than their &lt;em&gt;specific instances&lt;/em&gt;. Read about &lt;a href=&quot;http://en.wikipedia.org/wiki/No_free_lunch_in_search_and_optimization/&quot; rel=&quot;nofollow&quot; title=&quot;NFL&quot;&gt;NFL&lt;/a&gt; to get an idea.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In my case I had been soon buried under a pool of ideas and related concepts. There are programming/coding tweaks and there are theoretical maneuvers. As for example, if you want to solve any problem instance using Genetic Algorithm concepts, you would soon discover, GA alone is a vast world to discover! I've recently come to know about &lt;strong&gt;Linkage Learning&lt;/strong&gt; in GA/EA. Don't know much about it though.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Additionally, when you'd try to code things up, you'd find some programming languages/tools are better/easier than others. I was lost into the discussion of, why Alex Stepenov thinks OOP is mathematically incorrect and what is the advantage of functional programming. I don't have the trail but I clearly remember, at the start I was studying an NP-Complete/Hard problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I welcome you, as the journey is albeit adventurous!  &lt;/p&gt;&#xA;" OwnerDisplayName="user770" LastActivityDate="2010-12-11T16:15:26.350" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3738" PostTypeId="2" ParentId="3735" CreationDate="2010-12-11T16:16:22.200" Score="10" Body="&lt;p&gt;The Jacobi symbols $(\frac{a}{n})$ which are $\pm 1$ are exactly those for which gcd$(a,n) =1$, and thus the number of these is $\phi(n)$, where $\phi$ is Euler's $\phi$-function. Now, if $n$ is not a perfect square, exactly half of these are $+1$ (this can be seen using the Chinese remainder theorem). Thus, if you know |$J_n^{+1}$|, you know $\phi(n)$. And given $\phi(n)$, you can factor $n$. So there is a polynomial-time algorithm for |$J_n^{+1}$| if and only if factoring $\in$ P. &lt;/p&gt;&#xA;" OwnerUserId="1677" LastEditorUserId="1677" LastEditDate="2010-12-16T02:43:19.440" LastActivityDate="2010-12-16T02:43:19.440" CommentCount="6" ContentLicense="CC BY-SA 2.5" />
  <row Id="3741" PostTypeId="2" ParentId="3732" CreationDate="2010-12-11T18:04:30.850" Score="8" Body="&lt;p&gt;You might want to check out &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Chapters 5 and 6 of &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/1584885513&quot;&gt;Katz and Lindell&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://people.seas.harvard.edu/~salil/pseudorandomness/&quot;&gt;Pseudorandomness&lt;/a&gt; by S. Vadhan&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.math.ias.edu/~avi/BOOKS/TCS003-1.pdf&quot;&gt;Parwise Independence and Derandomization&lt;/a&gt; by Luby and Wigderson&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://arxiv.org/abs/cs.CC/0601100&quot;&gt;Pseudorandomness and Combinatorial Constructions&lt;/a&gt; by Trevisan&lt;/li&gt;&#xA;&lt;li&gt;Goldreich's &lt;a href=&quot;http://www.wisdom.weizmann.ac.il/~oded/pp_pseudo.html&quot;&gt;webpage&lt;/a&gt; on pseudorandomness, where he has pointers to other sources.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="1080" LastEditorUserId="1080" LastEditDate="2010-12-11T18:31:03.030" LastActivityDate="2010-12-11T18:31:03.030" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3742" PostTypeId="1" CreationDate="2010-12-11T19:11:28.557" Score="25" ViewCount="1000" Body="&lt;p&gt;Usually one constructs a graph and then asks questions about the adjacency matrix's (or some close relative like the &lt;a href=&quot;http://en.wikipedia.org/wiki/Laplacian_matrix&quot;&gt;Laplacian&lt;/a&gt;) eigenvalue decomposition (also called the &lt;a href=&quot;http://en.wikipedia.org/wiki/Spectral_graph_theory&quot;&gt;spectra of a graph&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But what about the reverse problem?  Given $n$ eigenvalues, can one (efficiently) find a graph that has this spectra?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I suspect that in general this is hard to do (and might be equivalent to GI) but what if you relax some of the conditions a bit?  What if you make conditions that there is no multiplicity of eigenvalues?  What about allowing graphs that have &quot;close&quot; spectra by some distance metric?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any references or ideas would be welcome.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT&lt;/strong&gt;:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As Suresh points out, if you allow undirected weighted graphs with self loops, this problem becomes pretty trivial.  I was hoping to get answers on the set of undirected, unweighted simple graphs but I would be happy with simple unweighted directed graphs as well.&lt;/p&gt;&#xA;" OwnerUserId="834" LastEditorUserId="186" LastEditDate="2010-12-11T22:54:38.657" LastActivityDate="2016-02-13T05:13:50.050" Title="Reverse Graph Spectra Problem?" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;spectral-graph-theory&gt;" AnswerCount="3" CommentCount="9" FavoriteCount="13" ContentLicense="CC BY-SA 2.5" />
  <row Id="3743" PostTypeId="1" AcceptedAnswerId="3763" CreationDate="2010-12-11T20:03:25.083" Score="10" ViewCount="707" Body="&lt;p&gt;In a previous question about time hierarchy, I've learned that equalities between two classes can be propagated to more complex classes and inequalities can be propagated to less complex classes, with arguments using padding.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Therefore, a question comes to mind. Why do we study a question about different types of computation (or resources) in the smallest (closed) class possible? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Most researchers believe that $P \neq NP$. This distinction of classes wouldn't be between classes that use the same type of resource. Therefore, one might think of this inequality as a universal rule: Nondeterminism is a more powerful resource. Therefore, although an inequality, it could be propagated upwards via exploiting the different nature of the two resources.So, one could expect that $EXP \neq NEXP$ too. If one proved this relation or any other similar inequality, it would translate to $P \neq NP$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;My argument could maybe become clear in terms of physics. Newton would have a hard time understanding universal gravity by examining rocks (apples?) instead of celestial bodies. The larger object offers more details in its study, giving a more precise model of its behavior and allowing to ignore small-scale phenomena that might be irrelevant. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course, there is the risk that in larger objects there is a different behavior, in our case that the extra power of non-determinism wouldn't be enough in larger classes. What if after all, $P \neq NP$ is proven? Should we start working on $EXP \neq NEXP$ the next day?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Do you consider this approach problematic? Do you know of research that uses larger classes than polynomial to distinguish the two types of computation?&lt;/p&gt;&#xA;" OwnerUserId="879" LastEditorUserId="186" LastEditDate="2010-12-14T06:27:00.723" LastActivityDate="2010-12-14T06:27:00.723" Title="Why don't we use larger classes to study determinism vs non-determinism?" Tags="&lt;cc.complexity-theory&gt;&lt;big-picture&gt;" AnswerCount="3" CommentCount="3" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="3744" PostTypeId="2" ParentId="3253" CreationDate="2010-12-11T20:11:13.267" Score="14" Body="&lt;h2&gt;Logic/Proof Writing:&lt;/h2&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0521675995&quot;&gt;How to Prove It: A Structured Approach by Daniel J. Velleman&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerDisplayName="user770" LastEditorUserId="1800" LastEditDate="2011-01-27T09:19:49.893" LastActivityDate="2011-01-27T09:19:49.893" CommentCount="2" CommunityOwnedDate="2010-12-11T20:11:13.267" ContentLicense="CC BY-SA 2.5" />
  <row Id="3745" PostTypeId="2" ParentId="3253" CreationDate="2010-12-11T21:43:37.053" Score="13" Body="&lt;h2&gt;Hypergraphs&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;There are not many books devoted exclusively to hypergraphs. One such book is&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Berge C. &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0444874895&quot;&gt;Hypergraphs: combinatorics of finite sets&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="1060" LastEditorUserId="1800" LastEditDate="2011-01-27T09:21:34.103" LastActivityDate="2011-01-27T09:21:34.103" CommentCount="0" CommunityOwnedDate="2010-12-11T21:43:37.053" ContentLicense="CC BY-SA 2.5" />
  <row Id="3746" PostTypeId="2" ParentId="3004" CreationDate="2010-12-11T23:00:20.617" Score="4" Body="&lt;p&gt;I use revision control for this purpose.  Running backwards in time, one can see the state of the program at a given point, coupled with the changelog which (hopefully) states why it is like that.  Putting the data and papers as well as code in revision control makes everything work even better.&lt;/p&gt;&#xA;" OwnerUserId="730" LastActivityDate="2010-12-11T23:00:20.617" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3748" PostTypeId="1" CreationDate="2010-12-12T08:21:46.957" Score="5" ViewCount="154" Body="&lt;p&gt;I am specifically interested in optimization problems in graphs (minimum coloring, maximum clique, maximum matching etc.) and I need a resource (database) which contains complexity results on different graph classes. The best resource that I know is the following:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://graphclasses.org/&quot; rel=&quot;nofollow&quot;&gt;http://graphclasses.org/&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think this web site is great because it covers &lt;em&gt;all&lt;/em&gt; the graph classes, however the results presented (recognition, independent set, domination) in the site and my interests do not match. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am looking for similar resources.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks.&lt;/p&gt;&#xA;" OwnerUserId="2296" LastEditorUserId="109" LastEditDate="2013-05-16T19:57:08.100" LastActivityDate="2013-05-16T20:15:27.947" Title="Resources for complexity results for optimization problems in restricted graph classes" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;reference-request&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="3749" PostTypeId="2" ParentId="3727" CreationDate="2010-12-12T11:47:25.763" Score="3" Body="&lt;p&gt;As proven &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.64.7246&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;, general TSP is NPO-complete. This means you can either solve it exactly in exponential time or approximate it in polynomial time with an approximation factor growing exponentially with the length of the input. This means that your algorithm, when applied to general TSP instances, cannot give a better guarantee than a factor $O(2^{n^\epsilon})$ for some $\epsilon &amp;gt; 0$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Different versions of TSP admit different bounds on approximation algorithms. For an overview, the site &quot;A compendium of NP optimization problems&quot; lists a number of TSP variants &lt;a href=&quot;http://www.nada.kth.se/~viggo/wwwcompendium/node103.html&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;. Wikipedia also gives a lot of bounds on its page about TSP, &lt;a href=&quot;http://en.wikipedia.org/wiki/Travelling_salesman_problem#Complexity_of_approximation&quot; rel=&quot;nofollow&quot;&gt;in this section&lt;/a&gt; and &lt;a href=&quot;http://en.wikipedia.org/wiki/Travelling_salesman_problem#Special_cases&quot; rel=&quot;nofollow&quot;&gt;in this section&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="988" LastActivityDate="2010-12-12T11:47:25.763" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3751" PostTypeId="1" AcceptedAnswerId="3753" CreationDate="2010-12-12T16:43:46.367" Score="0" ViewCount="499" Body="&lt;p&gt;Assume a weighted graph G and a positive value k are given.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is the complexity of finding a cycle with total weight k when G is Hamiltonian or Hamiltonian-connected? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;pointing to papers and books is also welcome!&lt;br&gt;&#xA;I wish it wouldn’t look as a homework!&lt;/p&gt;&#xA;" OwnerUserId="2335" LastEditorUserId="1800" LastEditDate="2010-12-12T17:35:42.150" LastActivityDate="2010-12-12T17:35:42.150" Title="Complexity of weighted cycle in a hamiltonian graph" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3753" PostTypeId="2" ParentId="3751" CreationDate="2010-12-12T16:56:09.130" Score="4" Body="&lt;p&gt;If we are asking for a simple cycle the problem is NP-complete by a reduction from the Hamiltonian cycle problem. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;We want to find a Hamiltonian cycle in a graph $G$. We assign weight 1 to all edges of $G$, and add to this graph all the other edges with weight $\infty$. We have thus created a clique, which is obviously Hamiltonian, and we ask whether there exist a cycle with weight $n$ in it.&lt;/p&gt;&#xA;" OwnerUserId="327" LastEditorUserId="327" LastEditDate="2010-12-12T17:25:11.833" LastActivityDate="2010-12-12T17:25:11.833" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="3754" PostTypeId="2" ParentId="3742" CreationDate="2010-12-12T19:32:00.833" Score="10" Body="&lt;p&gt;Cvetcovic et all in Section 3.3 of &quot;Recent results in the theory of graph spectra&quot; &lt;a href=&quot;http://yaroslavvb.com/upload/save/cstheory-cvetcovic-spectra.pdf&quot;&gt;goes over &lt;/a&gt; algorithms for constructing graphs given spectrum in some special cases&lt;/p&gt;&#xA;" OwnerUserId="434" LastActivityDate="2010-12-12T19:32:00.833" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3755" PostTypeId="2" ParentId="3742" CreationDate="2010-12-12T21:01:43.300" Score="3" Body="&lt;p&gt;One other obstacle in defining your question is that the are isospectral (same eigenvalues) but non-isomorphic graphs.  So given a list of eigenvalues in such a case, which graph do you want?  Maybe you just want an algorithm to return one random element of the set of such non-isomorphic graphs?  &lt;/p&gt;&#xA;" OwnerUserId="366" LastActivityDate="2010-12-12T21:01:43.300" CommentCount="6" ContentLicense="CC BY-SA 2.5" />
  <row Id="3758" PostTypeId="1" AcceptedAnswerId="3760" CreationDate="2010-12-12T22:46:30.603" Score="12" ViewCount="361" Body="&lt;p&gt;Let $k\in\mathbb{N}$ and denote by $G_k$ the set of all graphs that can be embedded on a surface of genus $k$ such that all vertices &lt;em&gt;are situated on the outer face&lt;/em&gt;. For instance, $G_0$ is the set of outerplanar graphs. Can the treewidth of graphs in $G_k$ be upper bounded by some function of $k$? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The other direction obviously does not hold, since constant treewidth does not even imply constant genus: Let $H_n$ be the union of $n$ disjoint copies of $K_{3,3}$. The treewidth of $H_n$ is constant, its genus however is $n$.&lt;/p&gt;&#xA;" OwnerUserId="2666" LastEditorUserId="2666" LastEditDate="2010-12-12T23:19:13.487" LastActivityDate="2010-12-13T00:52:37.093" Title="Do &quot;outer-bounded-genus&quot; graphs have constant treewidth?" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;parameterized-complexity&gt;&lt;graph-classes&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="3759" PostTypeId="2" ParentId="3732" CreationDate="2010-12-12T23:20:18.330" Score="4" Body="&lt;p&gt;If you are thinking of implementing your ideas, there is a standard battery of tests that PRNG implementations are given.  These tests (DIEHARD and successor DIEHARDER) may be downloaded from &lt;a href=&quot;http://web.archive.org/web/20150906073813/http://www.stat.fsu.edu/pub/diehard/&quot; rel=&quot;nofollow&quot;&gt;its archived webpage&lt;/a&gt; and &lt;a href=&quot;http://www.phy.duke.edu/~rgb/General/dieharder.php&quot; rel=&quot;nofollow&quot;&gt;http://www.phy.duke.edu/~rgb/General/dieharder.php&lt;/a&gt; respectively.&lt;/p&gt;&#xA;" OwnerUserId="730" LastEditorUserId="34442" LastEditDate="2015-11-16T19:12:29.060" LastActivityDate="2015-11-16T19:12:29.060" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="3760" PostTypeId="2" ParentId="3758" CreationDate="2010-12-12T23:49:28.683" Score="12" Body="&lt;p&gt;Yes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Add a vertex in the middle of the outer face, connected to all the vertices in the outer face; this does not change the genus, and does not decrease the treewidth. Now the graph has a very shallow breadth-first search tree rooted at the new vertex (everything is adjacent to it).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Form a spanning tree of the dual graph whose dual edges are disjoint from the edges of the breadth first search tree. Then there is a set of O(genus) edges that do not belong to either tree. Each of these edges induces a short cycle (a triangle) together with a path in the breadth first search tree, and cutting the surface along these cycles produces a planar surface (see my paper &quot;Dynamic generators of topologically embedded graphs&quot;). That is, if G' is the subgraph of the input graph induced by the vertices that are not endpoints of the O(genus) cut edges, then G' is planar, and its vertices can be covered by O(genus) faces of its planar embedding (the faces that the cut cycles cut the original outer face into).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But in a planar graph in which all vertices belong to k faces, one can remove another O(k) edges (a spanning tree of the faces) to get an outerplanar graph. So the treewidth of G' is O(genus). If one forms a tree-decomposition of G' with this width, and then adds to each bag the vertices that are endpoints of the cut cycle edges, the result is a tree-decomposition of the original input graph with treewidth O(genus).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It seems likely that this must be in the literature already somewhere, but I don't know where and some quick searches haven't succeeded in finding an explicit statement of this precise result. However, a more general statement is in a different paper of mine: in &quot;Diameter and treewidth in minor-closed graph families&quot; I prove among other things that bounded genus graphs of bounded diameter have bounded treewidth. In this case (by adding that extra vertex within the outer face) the diameter can be taken to be at most two.&lt;/p&gt;&#xA;" OwnerUserId="95" LastEditorUserId="95" LastEditDate="2010-12-13T00:52:37.093" LastActivityDate="2010-12-13T00:52:37.093" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3761" PostTypeId="2" ParentId="2873" CreationDate="2010-12-13T02:50:20.183" Score="15" Body="&lt;p&gt;Indeed, while fully homomorphic encryption is very useful for executing code between multiple untrusting parties (see for example, &lt;a href=&quot;http://people.seas.harvard.edu/~salil/research/delegation-abs.html&quot;&gt;this paper&lt;/a&gt;), you need some kind of interaction, when the party that computes the encrypted output sends it to the party that knows the secret key.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The notion you're looking for does sound suspiciously close to software obfuscation, for which we proved an impossibility result mentioned above. I also wrote once an &lt;a href=&quot;http://www.cs.princeton.edu/~boaz/Papers/obf_informal.html&quot;&gt;informal overview&lt;/a&gt; of that paper, that some people may find useful.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given this impossibility result, there are two (non disjoint) ways one can relax the definition: either by restricting the classes of programs/functions one is required to obfuscate, or giving a looser notion of security. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The second approach is perhaps possible, and we remark on some weak obfuscation-like notions in our paper. However, note that our attack completely recovers the original source code of some program, no matter how it's obfuscated. So you'd have to somehow make a security definition which trivializes for the case of our counterexamples.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The first approach was done for every restricted functionalities (e.g., point functions), but again one has to make sure the class doesn't contain our counterexample, which roughly means it shouldn't contain pseudorandom functions. &lt;/p&gt;&#xA;" OwnerUserId="1202" LastActivityDate="2010-12-13T02:50:20.183" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3763" PostTypeId="2" ParentId="3743" CreationDate="2010-12-13T03:11:19.830" Score="21" Body="&lt;p&gt;The issue may be a bit cleaner with $E=Dtime(2^{O(n)})$ and $NE=Ntime(2^{O(n)})$.&#xA;The easiest way to think about these classes is that they are the same as $P$ and $NP$ but restricted to &lt;i&gt;unary&lt;/i&gt; languages. That is, all inputs are of the form $1^k$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;That is, the language $L$ is in $E$ if and only if the language $U_L = \{ 1^x : x\in L \}$ is in $P$ (identifying strings with numbers using binary representation), and similarly $NE$ is isomorphic to unary $NP$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, trying to separate $NE$ from $E$ is just like trying not just to separate $P$ from $NP$, but actually do it using a unary language. No reason it should make your life even conceptually easier.&lt;/p&gt;&#xA;" OwnerUserId="1202" LastEditorUserId="1202" LastEditDate="2010-12-13T18:38:53.930" LastActivityDate="2010-12-13T18:38:53.930" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="3764" PostTypeId="1" AcceptedAnswerId="3771" CreationDate="2010-12-13T09:11:30.037" Score="13" ViewCount="411" Body="&lt;p&gt;While exploring different techniques of proving lower bounds for distributed algorithms, it occurred to me that the following variant of Ramsey's theorem might have applications – if it happens to be true.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Parameters: $k$, $K$, $n$ are given, and then $N$ is chosen to be sufficiently large. Terminology: an $m$-subset is a subset of size $m$.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Let $A = \{1,2,...,N\}$.&lt;/li&gt;&#xA;&lt;li&gt;Let $B$ consist of all $k$-subsets of $A$.&lt;/li&gt;&#xA;&lt;li&gt;Let $C$ consist of all $K$-subsets of $B$.&lt;/li&gt;&#xA;&lt;li&gt;Assign a colouring $f\colon C \to \{0,1\}$ of $C$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Now Ramsey's theorem (the hypergraph version) says that no matter how we choose $f$, there is a &lt;em&gt;monochromatic&lt;/em&gt; $n$-subset $B&amp;#39;$ of $B$: all $K$-subsets of $B&amp;#39;$ have the same colour.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would like to go one step further and find a monochromatic $n$-subset $A&amp;#39;$ of $A$: if $B&amp;#39; \subset B$ consists of all $k$-subsets of $A&amp;#39;$, then all $K$-subsets of $B&amp;#39;$ have the same colour.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Is this true or false? Does it have a name? Do you happen to know any references?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If it is false for some trivial reasons, is there a weaker variant that resembles this claim?&lt;/p&gt;&#xA;" OwnerUserId="74" LastActivityDate="2010-12-14T03:37:40.437" Title="Ramsey's theorem for collections of sets" Tags="&lt;reference-request&gt;&lt;co.combinatorics&gt;&lt;ramsey-theory&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="3765" PostTypeId="1" AcceptedAnswerId="3768" CreationDate="2010-12-13T10:31:51.423" Score="20" ViewCount="660" Body="&lt;p&gt;Has there been research into implementing randomness extractor constructions?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It seems that extractor proofs make use of Big-Oh, leaving the possibility for large hidden constants, making programmatic implementations potentially unrealistic.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some context:&#xA;I'm interested in using randomness extractors as a fast source of (provably?) random numbers for use in Monte Carlo simulations. We (an ETHZ Computational Physics group) have biased high-entropy sources from quantum random number generators that we would like to extract randomness from. A previous student attempted to implement a &lt;a href=&quot;http://www.cs.berkeley.edu/~luca/pubs/t99stoc.ps&quot;&gt;Trevisan construction&lt;/a&gt; and ran into spacial complexity problems. Aside from that student, I have not found any reference to people trying to implement extractors.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note:&#xA;I'm a CS undergrad who is very new to the area of Theoretical CS and Randomness Extractors.&lt;/p&gt;&#xA;" OwnerUserId="2726" LastEditorUserId="186" LastEditDate="2010-12-13T14:22:58.473" LastActivityDate="2010-12-19T09:45:26.607" Title="Is there current research into the implemention of Randomness Extractors?" Tags="&lt;reference-request&gt;&lt;cr.crypto-security&gt;&lt;randomness&gt;&lt;implementation&gt;&lt;application-of-theory&gt;" AnswerCount="4" CommentCount="2" FavoriteCount="6" ContentLicense="CC BY-SA 2.5" />
  <row Id="3766" PostTypeId="2" ParentId="3765" CreationDate="2010-12-13T11:22:24.990" Score="6" Body="&lt;p&gt;First of all, see the &lt;a href=&quot;http://en.wikipedia.org/wiki/Randomness_extractor&quot;&gt;relevant topic&lt;/a&gt; on Wikipedia. Secondly, you may take a look at the following paper:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.cs.haifa.ac.il/~ronen/online_papers/survey.ps&quot;&gt;Recent developments in explicit constructions of extractors&lt;/a&gt; by Ronen Shaltiel.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The paper is written in the form of a survey, and can help you find the &quot;recent developments.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, if all you want is a sequence of bits which &quot;looks&quot; random (but is not necessarily cryptographically secure), you can apply a hash function (such as MD5 or SHA-1) to your high-entropy source, and get an excellent result (for physical experiments) in almost no time.&lt;/p&gt;&#xA;" OwnerUserId="873" LastActivityDate="2010-12-13T11:22:24.990" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3767" PostTypeId="1" CreationDate="2010-12-13T13:27:58.733" Score="1" ViewCount="1439" Body="&lt;p&gt;How do I determine whether query in &lt;a href=&quot;http://en.wikipedia.org/wiki/Tuple_relational_calculus&quot; rel=&quot;nofollow&quot;&gt;tuple relational calculus&lt;/a&gt; is a &lt;a href=&quot;http://en.wikipedia.org/wiki/Tuple_relational_calculus#Safe_queries&quot; rel=&quot;nofollow&quot;&gt;safe query&lt;/a&gt;?&lt;/p&gt;&#xA;" OwnerUserId="2730" LastEditorUserId="186" LastEditDate="2010-12-13T14:27:44.197" LastActivityDate="2010-12-14T05:39:57.457" Title="How to recognize safe queries in tuple relational calculus?" Tags="&lt;pl.programming-languages&gt;&lt;db.databases&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3768" PostTypeId="2" ParentId="3765" CreationDate="2010-12-13T15:40:24.747" Score="19" Body="&lt;p&gt;Much of extractor literature is about minimizing the seed length, which is important for derandomization application. However, it may not be crucial for yours. Also, often the literature focuses on relatively large error (e.g., 1/100), which is fine for derandomization but may be problematic in other settings, that require an exponentially small error.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In your setting, it may be OK to generate once and for all a long random seed (say by tossing coins), and then use it to extract. In this case you could use pairwise independent hash functions that have rather efficient implementations. I wrote a &lt;a href=&quot;http://www.cs.princeton.edu/~boaz/Papers/trng.pdf&quot;&gt;paper with Shaltiel and Tromer&lt;/a&gt; on this issue. You may also be able to use almost independent hash functions, that can be more efficient and have smaller seed. (Don't know offhand a good reference for their efficient implementation, though there have been several works on this.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you have multiple sources that are &lt;i&gt;independent&lt;/i&gt;, then you can do better things. The classical Hadamard extractor works if the entropy rate is larger than 50% (this should be mentioned in the surveys above). If the entropy is smaller than 50% then we had one &lt;a href=&quot;http://www.cs.princeton.edu/~boaz/Papers/msamples.pdf&quot;&gt;simple construction with Impagliazzo and Wigderson&lt;/a&gt; . The dependence between of number of sources and error achieved on the entropy rate is not ideal, though to really understand it you'll need to look at the exact bounds given by today's state of the art sum product theorems. (And if you're willing to assume certain number theoretic conjectures you can get even more efficient extractors.) This construction has been greatly improved in various ways, some of which could be relevant to your application. A great source for these is &lt;a href=&quot;http://www.cs.washington.edu/homes/anuprao/pubs/thesis.pdf&quot;&gt;Anup Rao's Thesis&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="1202" LastActivityDate="2010-12-13T15:40:24.747" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3769" PostTypeId="2" ParentId="3656" CreationDate="2010-12-13T15:48:18.120" Score="18" Body="&lt;p&gt;For constraint satisfaction problems, the property of having no better approximation algorithm than random assignment is known as &lt;strong&gt;approximation resistance&lt;/strong&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is has been studied by several works in the last few years, with some results based on $P\neq NP$ and other more general results based on the unique games conjecture. A good source for this is &lt;a href=&quot;http://www.cs.toronto.edu/~austrin/papers/thesis.pdf&quot;&gt;Per Austrin's thesis&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="1202" LastActivityDate="2010-12-13T15:48:18.120" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3770" PostTypeId="2" ParentId="2147" CreationDate="2010-12-13T16:17:42.223" Score="14" Body="&lt;p&gt;I landed on this page from a search about NAE-3SAT.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am pretty sure that for the problem you are asking, it should be &lt;em&gt;NP-hard&lt;/em&gt; to tell if the instance is satisfiable, or if at most $1-1/k^{\ell-1}+\epsilon$ fraction of constraints can be satisfied. That is, a &lt;em&gt;tight&lt;/em&gt; hardness result (matching what simply picking a random assignment would achieve), for &lt;em&gt;satisfiable&lt;/em&gt; instances, and &lt;em&gt;no&lt;/em&gt; need for the UGC.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For $k=2$ and $\ell \ge 4$, this follows from Hastad's factor 7/8+epsilon inapproximability result for 4-set-splitting (which can then be reduced to k-set splitting for $k &gt; 4$). If negations are okay, one can also use his tight hardness result for Max ($\ell-1$)-SAT.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For $k=\ell=3$, Khot proved this in a FOCS 2002 paper &quot;Hardness of coloring 3-colorable 3-uniform hypergraphs.&quot; (That is, he removed the original UGC assumption.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For $\ell=3$ and arbitrary $k\ge 3$, Engebretsen and I proved such a result in &quot;Is constraint satisfaction over two variables always easy? Random Struct. Algorithms 25(2): 150-178 (2004)&quot;. However, I think our result required &quot;folding&quot; i.e., the constraints will actually be of the form NAE($x_i+a,x_j+b,x_k$) for some constants $a,b$. (This is the analog of allowing negations of Boolean variables.) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the general case, I don't know if this has been written down anywhere. But if you really need it, I can probably find something or check the claim.&lt;/p&gt;&#xA;" OwnerUserId="2733" LastEditorUserId="80" LastEditDate="2010-12-14T03:54:41.933" LastActivityDate="2010-12-14T03:54:41.933" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3771" PostTypeId="2" ParentId="3764" CreationDate="2010-12-13T17:55:49.497" Score="13" Body="&lt;p&gt;Observed that the question is non-trivial only when k, K both larger than 1;&#xA;for the case k = 1 or K = 1, it is just the normal Ramsey theorem, which is true for all n.&#xA;Also, we only have to deal with the case that ${n \choose k}$ &gt; K, otherwise the theorem is true since there is at most one ${n \choose k}$-subset of B' constructed by an n-subset A' of A.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;First we prove the theorem is false for all k &gt; 1, K &gt; 1, and any n satisfies ${n \choose k}$ &gt; K &gt; $({n-1 \atop k})$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In order to construct a counterexample, for any large N and A = [N], we have to construct a coloring function f such that for all n-subset A' of A, if B' consists of all k-subsets of A', some of the K-subsets of B' have different colors. Here we have the following observation:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Observation 1.&lt;/strong&gt; Under the conditions that k, K &gt; 1 and ${n \choose k}$ &gt; K &gt; $({n-1 \atop k})$, any K-subset of B is a subset to at most one B' constructed by a n-subset A' of A.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The observation can be easily seem by representing as hypergraphs. Let A be nodes of the graph G, an n-subset A' of A is the node set of a complete n-subgraph in G. B' is the set of k-hyperedges in the complete subgraph (a 2-hyperedge is a normal edge), and K-subsets of B' are the every combinations (there are $({|B&amp;#39;| \atop K})$ in total, where |B'| = ${n \choose k}$) of K k-hyperedges. The observation states: any K-tuple of hyperedges in G belongs to at most one complete n-subgraph, which is obvious for ${n \choose k}$ &gt; K &gt; $({n-1 \atop k})$, since any two complete n-subgraphs intersect at most n-1 nodes, with at most $({n-1 \atop k})$ hyperedges.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then we can assign different colors within K-subsets C' of a particular B' constructed by a n-subset A', since any element in C' will not occur as another K-subset of B'' constructed by a n-subset A''. For any K-subset of B not constructed by any n-subset of A, we assign random color on it. Now we have a coloring function f, with the property that no B' constructed by n-subset of A is monochromatic, that is, some of the K-subsets of B' have different colors.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Next we show that the theorem is also false for all k &gt; 1, K &gt; 1, and any n satisfies ${n \choose k}$ &gt; K. Here the only difference is n may be chosen so large, that K &gt; $({n-1 \atop k})$ is not true. But by another simple observation:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Observation 2.&lt;/strong&gt; If some B' constructed by an n-subset A' of A is monochromatic, then every B'' constructed by an n'-subset A'' of A' for n' &amp;lt; n is also monochromatic.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Hence we can assume the theorem holds on the larger n, apply the second observation, and concludes a contradiction by the first case, by setting n' satisfies $({n&amp;#39; \atop k})$ &gt; K &gt; $({n&amp;#39;-1 \atop k})$; such n' must exist by the fact that $({n \atop k})$ &gt; K and K &gt; $({k \atop k})$, n' must lie between n and k+1.&lt;/p&gt;&#xA;" OwnerUserId="1800" LastEditorUserId="1800" LastEditDate="2010-12-14T03:37:40.437" LastActivityDate="2010-12-14T03:37:40.437" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="3772" PostTypeId="1" AcceptedAnswerId="3791" CreationDate="2010-12-13T18:39:50.010" Score="28" ViewCount="2082" Body="&lt;p&gt;I'm interested in why natural numbers are so beloved by the authors of books on programming languages theory and type theory (e.g. J. Mitchell, Foundations for programming languages and B. Pierce, Types and Programming Languages). Description of the simply-typed lambda-calculus and in particular PCF programming language are usually based on Nat's and Bool's. For the people using and teaching general-purpose industrial PL's it is great deal more natural to treat integers instead of naturals. Can you mention some good reasons why PL theorist prefer nat's? Besides that it is a little less complicated. Are there any fundamental reasons or is it just an honour the tradition?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;UPD&lt;/strong&gt; For all those comments about “fundamentality” of naturals: I'm a quite aware about all those cool things, but I'd rather prefer to see an example when it is really vital to have those properties in type theory of PL's theory. E.g. widely mentioned induction. When we have any sort of logic (which simply typed LC is), like basic first-order logic, we do really use induction — but induction on derivation tree (which we also have in lambda).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question basically comes from people from industry, who wants to gain some fundamental theory of programming languages. They used to have integers in their programs and without concrete arguments and applications to the theory being studied (type theory in our case) why to study languages with only nat's, they feel quite disappointed.&lt;/p&gt;&#xA;" OwnerUserId="869" LastEditorUserId="869" LastEditDate="2010-12-16T20:24:52.920" LastActivityDate="2013-01-24T12:22:21.960" Title="Why naturals instead of integers?" Tags="&lt;pl.programming-languages&gt;&lt;big-picture&gt;&lt;type-theory&gt;" AnswerCount="6" CommentCount="8" FavoriteCount="8" ContentLicense="CC BY-SA 2.5" />
  <row Id="3773" PostTypeId="2" ParentId="3253" CreationDate="2010-12-13T19:08:13.823" Score="21" Body="&lt;h2&gt;&lt;strong&gt;Program Verification&lt;/strong&gt;&lt;/h2&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0486432386&quot; rel=&quot;noreferrer&quot;&gt;Mathematical Theory of&#xA;Computation&lt;/a&gt; by Zohar Manna&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/026202649X&quot; rel=&quot;noreferrer&quot;&gt;Principles of Model Checking&lt;/a&gt; by&#xA;Christel Baier and Joost-Pieter&#xA;Katoen &lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0262032708&quot; rel=&quot;noreferrer&quot;&gt;Model Checking&lt;/a&gt; by Edmund&#xA;M. Clarke Jr., Orna Grumberg and&#xA;Doron A. Peled&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.amazon.co.uk/Verification-Sequential-Concurrent-Programs-Computer/dp/184882744X/ref=wl_it_dp_o?ie=UTF8&amp;amp;coliid=I3H4XLBLP0HCNH&amp;amp;colid=360PU4HGT5V1E&quot; rel=&quot;noreferrer&quot;&gt;Verification of Sequential and Concurrent Programs&lt;/a&gt; by Krzysztof R. Apt, Frank S. de Boer  and, Ernst-Rüdiger Olderog&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/052154310X&quot; rel=&quot;noreferrer&quot;&gt;Logic in Computer Science: Modelling and Reasoning about Systems&lt;/a&gt; by M. Huth and M. Ryan&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="2374" LastEditorUserId="34791" LastEditDate="2015-07-15T18:13:26.717" LastActivityDate="2015-07-15T18:13:26.717" CommentCount="4" CommunityOwnedDate="2010-12-13T19:08:13.823" ContentLicense="CC BY-SA 3.0" />
  <row Id="3774" PostTypeId="2" ParentId="3772" CreationDate="2010-12-13T19:24:35.590" Score="20" Body="&lt;p&gt;Naturals are a much more fundamental concept than the integers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Induction occurs over the naturals and the integers can be derived from the naturals with the simple addition of a unary inverse operator.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would actual want to ask the reverse question:  why did early programming language (and register machine) designers enshrine integers as the basic data type when they are so secondary and so easily derived from naturals?  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I suspect it is just because there were some cool binary encodings that could handle integers elegantly. ;-)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Think how often you want to ignore the negative range of a programmatic integer, and consider the impulse to have an unsigned integer type to recover the lost bit.&lt;/p&gt;&#xA;" OwnerUserId="629" LastActivityDate="2010-12-13T19:24:35.590" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="3775" PostTypeId="2" ParentId="3772" CreationDate="2010-12-13T20:51:25.637" Score="17" Body="&lt;p&gt;There exists a computable bijection between $\mathbb{N}$ and $\mathbb{Z}$. Therefore it is sufficient to reason about computability and the like only using natural numbers, all the time knowing that your results generalize to integers (and rational numbers, and all other recursively enumerable sets).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Reasoning only on naturals is convenient because you have induction and $\mathbb{N}$ is a well-founded set with the natural order $\leq$. The latter one is especially important since it can be instrumentalized in termination proofs. While you can define a well-founded order on $\mathbb{Z}$, it is less convenient because it does not match the usual order.&lt;/p&gt;&#xA;" OwnerUserId="1546" LastEditorUserId="634" LastEditDate="2012-03-20T13:24:24.193" LastActivityDate="2012-03-20T13:24:24.193" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="3776" PostTypeId="2" ParentId="3743" CreationDate="2010-12-13T20:57:03.827" Score="4" Body="&lt;p&gt;Why we choose to care about $P$ vs. $NP$? Actually nondeterminism as an object of study is only of secondary concern. We really care about $NP$ because of the thousands of important &lt;em&gt;problems&lt;/em&gt; that are $NP$-complete. These are problems we want (and in real life &lt;em&gt;need to&lt;/em&gt;) solve. We care about whether these problems can be solved efficiently, and $P$ is our theoretical model for efficient computation. Hence we are lead to the question of $P$ vs. $NP$.&lt;/p&gt;&#xA;" OwnerUserId="313" LastActivityDate="2010-12-13T20:57:03.827" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3777" PostTypeId="2" ParentId="3743" CreationDate="2010-12-13T21:46:31.963" Score="1" Body="&lt;p&gt;Note that there are known separations for some unbounded complexity classes, e.g. $decidable \neq computability \ enumerable$, and also equalities like $NPSpace = PSpace$  and $primitive \ recursive = nondeterministic \ primitive \ recursive$. (It is instructive to think about why the trivial padding using them is not helpful for settling P vs NP.) We should be more careful about what we mean by a question like $P$ vs $NP$ and $EXP$ vs $NEXP$. If $P$ vs $NP$ is a padded version of it (e.g. $EXP$ vs $NEXP$ and $E$ vs $NE$) then Boaz's answer will also apply to it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The evidence for $EXP \neq NEXP$ is much weaker than $P \neq NP$ and has less dramatic consequences, and there are people who find $EXP = NEXP$ plausible so the situation is more complicated there and we have a much weaker intuition about the expected answer. An equality will not help in practice and it is not known to have a effect on &lt;em&gt;the really interesting&lt;/em&gt; case which is $P$ vs $NP$, and an inequality is formally and conceptually as difficult as an inequality between $P$ vs $NP$.&lt;/p&gt;&#xA;" OwnerUserId="186" LastActivityDate="2010-12-13T21:46:31.963" CommentCount="6" ContentLicense="CC BY-SA 2.5" />
  <row Id="3778" PostTypeId="2" ParentId="3767" CreationDate="2010-12-13T22:57:59.573" Score="4" Body="&lt;p&gt;I attended a &lt;a href=&quot;http://wwwinfo.deis.unical.it/~frank/biss2009/&quot; rel=&quot;nofollow&quot;&gt;course on database theory&lt;/a&gt; some time ago, but I’m a bit rusty on the topic, so take what follows with a grain of salt.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If by “safe” you mean “domain independent”, then I think you’re out of luck: domain independence is undecidable, as unsatisfiability of relational calculus queries reduces to it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I believe you can find the details on the slides for the above-mentioned course, and in the book &lt;a href=&quot;http://webdam.inria.fr/Alice/&quot; rel=&quot;nofollow&quot;&gt;&lt;em&gt;Foundations of Databases&lt;/em&gt;&lt;/a&gt; by Abiteboul, Hull, and Vianu.&lt;/p&gt;&#xA;" OwnerUserId="182" LastEditorUserId="182" LastEditDate="2010-12-14T05:39:57.457" LastActivityDate="2010-12-14T05:39:57.457" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="3780" PostTypeId="5" CreationDate="2010-12-14T02:48:48.667" Score="0" Body="&lt;p&gt;Studies on the space resources of computations are within the scope of space-bounded complexity. Complexity classes like &lt;a href=&quot;http://en.wikipedia.org/wiki/L_(complexity)&quot; rel=&quot;nofollow&quot;&gt;logspace L&lt;/a&gt; and &lt;a href=&quot;http://en.wikipedia.org/wiki/NL_(complexity)&quot; rel=&quot;nofollow&quot;&gt;NL&lt;/a&gt; are central to studies in space-bounded computations, while other restrictions like &lt;a href=&quot;http://en.wikipedia.org/wiki/PSPACE&quot; rel=&quot;nofollow&quot;&gt;polynomial space&lt;/a&gt; are also important. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;/questions/tagged/complexity-classes&quot; class=&quot;post-tag&quot; title=&quot;show questions tagged &amp;#39;complexity-classes&amp;#39;&quot; rel=&quot;tag&quot;&gt;complexity-classes&lt;/a&gt; is more suitable if the question is about the relationship between a space-bounded class and other classes. &lt;/p&gt;&#xA;" OwnerUserId="1800" LastEditorUserId="109" LastEditDate="2016-05-02T14:16:51.577" LastActivityDate="2016-05-02T14:16:51.577" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="3781" PostTypeId="4" CreationDate="2010-12-14T02:48:48.667" Score="0" Body="Questions about space resources of computations in computational complexity or algorithms." OwnerUserId="1800" LastEditorUserId="109" LastEditDate="2016-05-02T14:16:42.607" LastActivityDate="2016-05-02T14:16:42.607" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="3782" PostTypeId="5" CreationDate="2010-12-14T03:01:50.423" Score="0" Body="&lt;p&gt;Any algorithm on graphs for which correctness and complexity can be analysed is proper for this tag. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For heuristics about graph problems that can not be analysed in theory, &lt;a href=&quot;/questions/tagged/heuristics&quot; class=&quot;post-tag&quot; title=&quot;show questions tagged 'heuristics'&quot; rel=&quot;tag&quot;&gt;heuristics&lt;/a&gt; is more appropriate. Problems about properties of graphs should be tagged &lt;a href=&quot;/questions/tagged/graph-theory&quot; class=&quot;post-tag&quot; title=&quot;show questions tagged 'graph-theory'&quot; rel=&quot;tag&quot;&gt;graph-theory&lt;/a&gt;. Problems about general algorithms (not specifically about graphs) should be tagged &lt;a href=&quot;/questions/tagged/ds.algorithms&quot; class=&quot;post-tag&quot; title=&quot;show questions tagged 'ds.algorithms'&quot; rel=&quot;tag&quot;&gt;ds.algorithms&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="1800" LastEditorUserId="109" LastEditDate="2011-04-05T11:07:42.363" LastActivityDate="2011-04-05T11:07:42.363" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3783" PostTypeId="4" CreationDate="2010-12-14T03:01:50.423" Score="0" Body="Algorithms on graphs, excluding heuristics." OwnerUserId="1800" LastEditorUserId="109" LastEditDate="2011-04-05T11:07:53.517" LastActivityDate="2011-04-05T11:07:53.517" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3784" PostTypeId="5" CreationDate="2010-12-14T03:15:01.463" Score="0" Body="&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Combinatorics&quot; rel=&quot;nofollow&quot;&gt;Combinatorics&lt;/a&gt; deals with discrete mathematical structures.  The structures can be either finite or countable. Some subfields are&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;(&lt;a href=&quot;http://en.wikipedia.org/wiki/Enumerative_combinatorics&quot; rel=&quot;nofollow&quot;&gt;Enumerative combinatorics&lt;/a&gt;) counting the number of structures in a collection,&lt;/li&gt;&#xA;&lt;li&gt;(&lt;a href=&quot;http://en.wikipedia.org/wiki/Combinatorial_design&quot; rel=&quot;nofollow&quot;&gt;Combinatorial design&lt;/a&gt;) proving a collection is non-empty,&lt;/li&gt;&#xA;&lt;li&gt;(&lt;a href=&quot;http://en.wikipedia.org/wiki/Extremal_combinatorics&quot; rel=&quot;nofollow&quot;&gt;Extremal combinatorics&lt;/a&gt;) finding maximal/minimal objects in a collection,&lt;/li&gt;&#xA;&lt;li&gt;(&lt;a href=&quot;http://en.wikipedia.org/wiki/Graph_theory&quot; rel=&quot;nofollow&quot;&gt;Graph theory&lt;/a&gt;).&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Algebraic_combinatorics&quot; rel=&quot;nofollow&quot;&gt;Algebraic&lt;/a&gt;/&lt;a href=&quot;http://en.wikipedia.org/wiki/Probabilistic_combinatorics&quot; rel=&quot;nofollow&quot;&gt;probabilistic&lt;/a&gt;/&lt;a href=&quot;http://en.wikipedia.org/wiki/Analytic_combinatorics&quot; rel=&quot;nofollow&quot;&gt;analytic&lt;/a&gt; methods are all useful in combinatorics.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For problems studying the complexity of computations on discrete structures, &lt;a href=&quot;/questions/tagged/ds.algorithms&quot; class=&quot;post-tag&quot; title=&quot;show questions tagged 'ds.algorithms'&quot; rel=&quot;tag&quot;&gt;ds.algorithms&lt;/a&gt; or &lt;a href=&quot;/questions/tagged/cc.complexity-theory&quot; class=&quot;post-tag&quot; title=&quot;show questions tagged 'cc.complexity-theory'&quot; rel=&quot;tag&quot;&gt;cc.complexity-theory&lt;/a&gt; is more appropriate.&lt;/p&gt;&#xA;" OwnerUserId="1800" LastEditorUserId="186" LastEditDate="2012-03-31T22:34:04.847" LastActivityDate="2012-03-31T22:34:04.847" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="3785" PostTypeId="4" CreationDate="2010-12-14T03:15:01.463" Score="0" Body="Questions related to combinatorics and discrete mathematical structures" OwnerUserId="1800" LastEditorUserId="186" LastEditDate="2012-03-31T22:34:05.143" LastActivityDate="2012-03-31T22:34:05.143" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="3786" PostTypeId="1" AcceptedAnswerId="3833" CreationDate="2010-12-14T05:28:39.013" Score="21" ViewCount="1087" Body="&lt;p&gt;(crossposted from MathOverflow)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hi,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I was reading this thread: &lt;a href=&quot;https://mathoverflow.net/questions/16393/finding-a-cycle-of-fixed-length&quot;&gt;https://mathoverflow.net/questions/16393/finding-a-cycle-of-fixed-length&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I want to find a 5-cycle in a graph.  Actually, what I &lt;em&gt;really&lt;/em&gt; want is a shortest odd cycle of length at least 5, but maybe that is a little beside the point.  For my purposes, I treat $m$ and $n$ the same in the complexity analysis.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can we do better than colour coding for finding a 5-cycle in this case?  Let me give a specific formulation of my question:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What is the minimum $\alpha$ such that there is an $O(m^\alpha)$-time algorithm for detecting a cycle of length 5?  What is the algorithm?  And what is this $\alpha$ if you forbid impractical methods like Coppersmith-Winograd fast matrix multiplication?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="1929" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2010-12-16T21:40:49.103" Title="Finding a 5-cycle in a sparse graph efficiently." Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;sparse-matrix&gt;" AnswerCount="2" CommentCount="5" FavoriteCount="7" ContentLicense="CC BY-SA 2.5" />
  <row Id="3787" PostTypeId="2" ParentId="3772" CreationDate="2010-12-14T07:56:41.810" Score="6" Body="&lt;p&gt;Naturals and bools and operations on them can be encoded in the pure lambda calculus in a straightforward manner, as so-called Church numerals (and Church bools, I guess). It is not clear how one would encode integers nicely, though it can obviously be done.&lt;/p&gt;&#xA;" OwnerUserId="77" LastActivityDate="2010-12-14T07:56:41.810" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3789" PostTypeId="1" CreationDate="2010-12-14T10:46:22.847" Score="2" ViewCount="503" Body="&lt;p&gt;Degree Constrained Minimum Spanning Tree is an NP-hard problem. It differs from Minimum Spanning Tree in that, degree of every vertex should be $\leq$ some degree constrained. This is a well studied problem. I'm trying to recreate experimentation results described in several papers. In addition to check their algorithms against Random graphs, these papers also use modified instances of random graphs to fool known algorithms.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is, Where can I find data sets for the following types of graphs :&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Misleading Hard Graphs (M-Graphs)&lt;sup&gt;1&lt;/sup&gt;&lt;/li&gt;&#xA;&lt;li&gt;Structured Hard Graphs (SHRD)&lt;sup&gt;2&lt;/sup&gt;&lt;/li&gt;&#xA;&lt;li&gt;Random Hard Graphs (R)&lt;sup&gt;3&lt;/sup&gt;&lt;/li&gt;&#xA;&lt;li&gt;Coordinate Graphs (CRD)&lt;sup&gt;4&lt;/sup&gt;&lt;/li&gt;&#xA;&lt;li&gt;Symmetric Graphs (SYM)&lt;sup&gt;5&lt;/sup&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Alternatively, is there any package/tools that can generate them?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;sub&gt;1. Knowles and Corne, &quot;A New Evolutionary Approach to the Degree Constrained Minimum Spanning Tree Problem&quot;&lt;/sub&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;sub&gt;2. Krishnamoorthy, &quot;Comparison of Algorithms for the Degree Constrained Minimum Spanning Tree&quot;&lt;/sub&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;sub&gt;3. Boldon-Deo-Kumar, &quot;Minimum Weight Degree Constrained Spanning Tree Problem&quot;&lt;/sub&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;sub&gt;4. Volgenant, &quot;A Lagragian Approach to the Degree Constrained Minimum Spanning Tree Problem&quot;&lt;/sub&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;sub&gt;5. Krishnamoorthy, &quot;Comparison of Algorithms for the Degree Constrained Minimum Spanning Tree&quot;&lt;/sub&gt;&lt;/p&gt;&#xA;" OwnerDisplayName="user770" LastEditorUserId="186" LastEditDate="2010-12-14T19:37:27.800" LastActivityDate="2010-12-14T19:37:27.800" Title="Data set for Degree Constrained MST?" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;graph-algorithms&gt;&lt;data-sets&gt;" AnswerCount="0" CommentCount="6" ContentLicense="CC BY-SA 2.5" />
  <row Id="3790" PostTypeId="2" ParentId="3736" CreationDate="2010-12-14T11:08:17.220" Score="4" Body="&lt;p&gt;Two possibilities:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Encode automata and implement some algorithms for them in Mathematica&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Implement an abstract interpretation framework for some simple language in Mathematica&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Both of these topics have been done many times over, but it would be interesting to see how well/poorly Mathematica deals with the underlying structures.&lt;/p&gt;&#xA;" OwnerUserId="77" LastActivityDate="2010-12-14T11:08:17.220" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3791" PostTypeId="2" ParentId="3772" CreationDate="2010-12-14T12:48:57.470" Score="25" Body="&lt;p&gt;Short answer: the naturals are the first limit ordinals. Hence they play a central role in axiomatic set theory (eg, the axiom of infinity is the assertion they exist) and logic, and PL theorists tend to share foundational preoccupations with logicians. We want to have access to the principle of induction to prove total correctness, termination, and similar properties, and the naturals are an (er) natural choice of well-order. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I don't want to imply that finite-width binary integers are any less cool objects, though. They are representations of the p-adics, and permit us to use power series methods in number theory and combinatorics. This means that their significance becomes more visible in algorithmics than PL, since this is when we start caring more about complexity rather than termination. &lt;/p&gt;&#xA;" OwnerUserId="657" LastActivityDate="2010-12-14T12:48:57.470" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3792" PostTypeId="1" AcceptedAnswerId="3802" CreationDate="2010-12-14T17:30:38.100" Score="14" ViewCount="506" Body="&lt;p&gt;(I have already asked this at MathOverflow, but got no answers there.)&lt;/p&gt;&#xA;&#xA;&lt;h3&gt;Background&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;In the untyped lambda calculus, a term may contain many redexes, and different choices about which one to reduce may produce wildly different results (e.g. $(\lambda x.y)((\lambda x.xx)\lambda x.xx)$ which in one step ($\beta$-)reduces either to $y$ or to itself). Different (sequences of) choices of where to reduce are called &lt;em&gt;reduction strategies&lt;/em&gt;. A term $t$ is said to be &lt;em&gt;normalizing&lt;/em&gt; if there exists a reduction strategy which brings $t$ to normal form. A term $t$ is said to be &lt;em&gt;strongly normalizing&lt;/em&gt; if every reduction strategy brings $t$ to normal form. (I'm not worried about which, but confluence guarantees there can't be more than one possibility.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A reduction strategy is said to be &lt;em&gt;normalizing&lt;/em&gt; (and is in some sense best possible) if whenever $t$ has a normal form, then that's where we'll end up. The leftmost-outermost strategy is normalizing.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;At the other end of the spectrum, a reduction strategy is said to be &lt;em&gt;perpetual&lt;/em&gt; (and is in some sense worst possible) if whenever there is an infinite reduction sequence from a term $t$, then the strategy finds such a sequence - in other words, we could possibly fail to normalize, then we will.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I know of the perpetual reduction strategies $F_\infty$ and $F_{bk}$ given respectively by:&#xA;\begin{array}{ll}&#xA;F_{bk}(C[(\lambda x.s)t])=C[s[t/x]]       &amp;amp; \text{if $t$ is strongly normalizing} \\&#xA;F_{bk}(C[(\lambda x.s)t])=C[(\lambda x.s)F_{bk}(t)] &amp;amp; \text{otherwise}&#xA;\end{array}&#xA;and&#xA;\begin{array}{ll}&#xA;F_\infty(C[(\lambda x.s)t])=C[s[t/x]] &amp;amp; \text{if $x$ occurs in $s$, or if $t$ is on normal form} \\&#xA;F_\infty(C[(\lambda x.s)t])=C[(\lambda x.s)F_\infty(t)] &amp;amp; \text{otherwise}&#xA;\end{array}&#xA;(In both cases, the indicated $\beta$-redex is the &lt;em&gt;leftmost&lt;/em&gt; one in the term $C[(\lambda x.s)t]$ - and on normal forms, reduction strategies are necessarily identity.) The strategy $F_\infty$ is even &lt;em&gt;maximal&lt;/em&gt; - if it normalities a term, then it has used a longest possible reduction sequence to do so. (See e.g. 13.4 in Barendregt's book.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider now the &lt;em&gt;leftmost-innermost&lt;/em&gt; reduction strategy. Informally, it will only reduce a $\beta$-redex which contains no other redexes. More formally, it is defined by&#xA;\begin{array}{ll}&#xA;  L(t) = t&#xA;   &amp;amp;\text{if $t$ on normal form}\\&#xA;  L(\lambda x.s) = \lambda x. L(s)&#xA;   &amp;amp;\text{for $s$ not on normal form}\\&#xA;  L(st) = L(s)t&#xA;   &amp;amp;\text{for $s$ not on normal form}\\&#xA;  L(st) = s L(t)&#xA;   &amp;amp;\text{if $s$, but not $t$ is on normal form}\\&#xA;  L((\lambda x. s)t) = s[t/x]&#xA;   &amp;amp;\text{if $s$, $t$ both on normal form}&#xA;\end{array}&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;The natural intuition for leftmost-innermost reduction is that it will do all the work - no redex can be lost, and so it ought to be perpetual. Since the corresponding strategy is perpetual for (untyped) combinatory logic (innermost reductions are perpetual for all orthogonal TRWs), this doesn't feel like completely unfettered blue-eyed optimism...&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is leftmost-innermost reduction a perpetual strategy for the untyped $\lambda$-calculus?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;If the answer turns out to be 'no', a pointer to a counterexample would be very interesting too.&lt;/p&gt;&#xA;" OwnerUserId="2753" LastEditorUserId="186" LastEditDate="2010-12-14T19:52:17.747" LastActivityDate="2010-12-15T02:23:25.640" Title="Are innermost reductions perpetual in untyped λ-calculus?" Tags="&lt;pl.programming-languages&gt;&lt;lambda-calculus&gt;&lt;proof-theory&gt;&lt;normalization&gt;" AnswerCount="1" CommentCount="7" ContentLicense="CC BY-SA 2.5" />
  <row Id="3793" PostTypeId="1" AcceptedAnswerId="3799" CreationDate="2010-12-14T19:36:05.123" Score="10" ViewCount="334" Body="&lt;p&gt;Let $T$ be a rooted binary tree. Every path from the root of $T$ to a leaf has length $n$. Every node of $T$ has always a left and a right child node but it is possible that they are the same (So there are always $2^n$ paths possible). The size of $T$ is bounded by $O(poly(n))$. A node with different child nodes is called &lt;em&gt;branching node&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We say that two paths are different iff there is one shared branching node and one path goes to the left child node and the other path goes to the right child node.&#xA;It is clear that there is at least one path in $T$ with $O(\log n)$ branching nodes. Otherwise there would be too much nodes in $T$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a better lower bound on the number of paths with $O(\log n)$ branching nodes if I know there are $\omega(\log n)$ branching nodes in the tree?&lt;/p&gt;&#xA;" OwnerUserId="2517" LastEditorUserId="2517" LastEditDate="2010-12-14T20:58:51.323" LastActivityDate="2010-12-14T23:03:40.020" Title="Lower bound on the number of &quot;short&quot; paths in a rooted tree with polynomial size" Tags="&lt;graph-theory&gt;&lt;tree&gt;" AnswerCount="1" CommentCount="8" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3794" PostTypeId="1" CreationDate="2010-12-14T19:45:09.500" Score="25" ViewCount="537" Body="&lt;p&gt;Quantum computers are very good for sampling distributions that we don't know how to sample using classical computers. For example if &lt;span class=&quot;math-container&quot;&gt;$f$&lt;/span&gt; is a Boolean function (from &lt;span class=&quot;math-container&quot;&gt;$\{-1,1\}^n$&lt;/span&gt; to &lt;span class=&quot;math-container&quot;&gt;$\{-1,1\}$&lt;/span&gt;) that can be computed in polynomial time then with quantum computers we can efficiently sample according to the distribution described by the Fourier expansion of &lt;span class=&quot;math-container&quot;&gt;$f$&lt;/span&gt;. (We do not know how to do it with classical computers.) &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Can we use quantum computers to sample or approximately sample a random point  in a polyhedron described by a system of &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt; inequalities in &lt;span class=&quot;math-container&quot;&gt;$d$&lt;/span&gt; variables?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Moving from the inequalities to the points looks to me somewhat similar to a &quot;transform&quot;. Moreover, I would be happy to see a quantum algorithm even if you modify the distribution, e.g. consider product of Gaussian distribution described by the hyperplanes of the polyhedron or some other things.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A few remarks: Dyer, Frieze and Kannan found a famous classical polynomial time algorithm to approximately sample and approximately compute the volume of a polyhedron. The algorithm is based on random walks and rapid mixing. So we want to find a different quantum algorithm for the same purpose. (OK, we can hope that a quantum algorithm may lead also to things in this context we do not know to do classically. But to start, all we want is a different algorithm, this must be possible.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Second, we don't even insist on approximately sampling the uniform distribution. We will be happy to approximately sample some other nice distribution which is roughly supported on our polyhedron. There is an argument by Santosh Vampala (and also by me in another context) leading from sampling to optimization: if you want to optimize &lt;span class=&quot;math-container&quot;&gt;$f(x)$&lt;/span&gt; sample to find a point &lt;span class=&quot;math-container&quot;&gt;$y$&lt;/span&gt; where &lt;span class=&quot;math-container&quot;&gt;$f(x)$&lt;/span&gt; is typical. Add the constraint &lt;span class=&quot;math-container&quot;&gt;$\lbrace f(x) \ge f(y)\rbrace$&lt;/span&gt; and repeat.   &lt;/p&gt;&#xA;" OwnerUserId="712" LastEditorUserId="32711" LastEditDate="2020-04-26T20:30:46.260" LastActivityDate="2020-04-26T20:30:46.260" Title="Approximately sampling from convex polyhedrons with quantum computers" Tags="&lt;quantum-computing&gt;&lt;cg.comp-geom&gt;&lt;optimization&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="11" ContentLicense="CC BY-SA 4.0" />
  <row Id="3795" PostTypeId="1" AcceptedAnswerId="3803" CreationDate="2010-12-14T20:36:04.650" Score="9" ViewCount="519" Body="&lt;p&gt;As a follow-up of my &lt;a href=&quot;https://cstheory.stackexchange.com/questions/3764/ramseys-theorem-for-collections-of-sets&quot;&gt;previous question&lt;/a&gt;, which was resolved by Hsien-Chih Chang, here is another attempt to find an appropriate generalisation of Ramsey's theorem. (You don't need to read the previous question; this post is self-contained.)&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Parameters: integers $1 \ll d \ll k \ll n$ are given, and then $N$ is chosen to be sufficiently large. Terminology: an $m$-subset is a subset of size $m$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $B = \{1,2,...,N\}$. For each $k$-subset $S \subset B$, assign a colour $f(S) \in \{0,1\}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Definitions:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$X \subset B$ is &lt;strong&gt;monochromatic&lt;/strong&gt; if $f(S) = f(S')$ for all $k$-subsets $S \subset X$ and $S' \subset X$.&lt;/li&gt;&#xA;&lt;li&gt;$X \subset B$ is &lt;strong&gt;diverse&lt;/strong&gt; if $X = \{ x_1, x_2, ..., x_n \}$ such that $x_i &amp;lt; x_{i+1}$ and $x_i\,\not\equiv x_{i+1} \text{ mod } d$ for all $i$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;For example, if $d = 10$, then $\{ 12, 15, 23, 32, 39 \}$ is diverse but $\{ 12, 15, 25, 32, 39 \}$ is not. Note that a subset of a diverse set is not necessarily diverse.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now Ramsey's theorem says that no matter how we choose $f$, there is a monochromatic $n$-subset $X \subset B$. And obviously it is trivial to find a diverse $n$-subset $X \subset B$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Question: is there always a &lt;strong&gt;diverse and monochromatic&lt;/strong&gt; $n$-subset $X \subset B$?&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit:&lt;/strong&gt; Hsien-Chih Chang shows that the claim is false for a prime $d$, but what about composite $d$? In my applications, I will have a lot of freedom in choosing the exact values of $d \ll k \ll n$, as long as I can make them arbitrarily large. They can be powers of primes, products of prime numbers, or whatever is necessary to make the claim true.&lt;/p&gt;&#xA;" OwnerUserId="74" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2010-12-24T11:01:40.153" Title="Extensions of Ramsey's theorem: monochromatic but diverse" Tags="&lt;reference-request&gt;&lt;co.combinatorics&gt;&lt;ramsey-theory&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="3797" PostTypeId="2" ParentId="3736" CreationDate="2010-12-14T22:49:04.920" Score="1" Body="&lt;p&gt;Implement automatic differentiation method from &quot;Exact inference and learning for cumulative distribution functions on loopy graphs&quot; &lt;a href=&quot;http://books.nips.cc/papers/files/nips23/NIPS2010_0227.pdf&quot; rel=&quot;nofollow&quot;&gt;paper&lt;/a&gt;. The idea is to use the tree decomposition of the expression graph to do symbolic differentiation exponentially faster than direct method. Their experiments compare tree-decomposition method with Mathematica's built-in differentiator, and they seem happy to provide code they used for experiments&lt;/p&gt;&#xA;" OwnerUserId="434" LastActivityDate="2010-12-14T22:49:04.920" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3799" PostTypeId="2" ParentId="3793" CreationDate="2010-12-14T22:56:18.890" Score="9" Body="&lt;p&gt;The lower bound is $\Omega(\log n)$ paths with $O(\log n)$ branching nodes, if you have at least $\Omega(\log n)$ branching nodes in the tree.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This can be achieved: use a tree which has one long path (length $n$) all of whose nodes are branching nodes, with no other branching nodes in the tree.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is a sketch of the lower bound.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First, compactify the tree by contracting any interior node that isn't a branching node. If the original size of the tree was $&amp;lt; n^c$, the new tree must still be $&amp;lt; n^c$, since you've only reduced the number of nodes. Now, the depth of a leaf is the number of branching nodes on the original path to that leaf, and we have a complete binary tree (every node has either degree 2 or 0). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If there are no leaves of depth $\Omega(\log n)$, then the number of paths is one more than the number of branching nodes, which is $\Omega(\log n)$, so we can assume that at least one leaf has depth $\Omega(\log n)$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Next, recall Kraft's inequality. If the depth of a leaf in a complete binary tree is $d(v)$, then $\Sigma_{v \mathrm{\ leaf}} 2^{-d(v)} = 1$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, we have fewer than $n^c$ leaves. We want to show that we have a lot of them at depth $O(\log n)$. Suppose we eliminate from consideration the ones that are depth at least $\log_2(n^{c+1}) = (c+1) \log_2 n$. This removes at most weight $1/n$ from the sum in Kraft's inequality, so for those leaves $v$ at depth at most $d(v)\leq (c+1) \log_2 n$, we have $\sum_{v\mathrm{\ low \ depth \ leaf}} 2^{-d(v)} &amp;gt; 1-\frac{1}{n}$.  We also have $\sum_{v\mathrm{\ low\ depth\ leaf}} 2^{-d(v)} &amp;lt; 1$ (since at least one leaf has depth too large to be included in this sum). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's fairly easy to show that to get a sum of numbers $2^{-k}$ strictly between $1$ and $1-\frac{1}{n}$, we need at least $\log_2 n$ of them. This shows that there are $\Omega(\log n)$ paths with $O(\log n)$ branching nodes.&lt;/p&gt;&#xA;" OwnerUserId="1677" LastEditorUserId="1677" LastEditDate="2010-12-14T23:03:40.020" LastActivityDate="2010-12-14T23:03:40.020" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="3800" PostTypeId="1" CreationDate="2010-12-15T00:22:36.087" Score="6" ViewCount="373" Body="&lt;p&gt;I understand that the purpose of the alphabet reduction step in Dinur's proof of the PCP theorem is to reduce the alphabet after the graph powering stage. However, I don't see why the alphabet needs to be reduced- it is still a constant (though larger), and it seems that the graph powering step can be reapplied even with a larger alphabet size. Since the process is repeated logarithmically many times, the ending alphabet size will be polynomial in the input size. Please let me know what I am missing.&lt;/p&gt;&#xA;" OwnerDisplayName="user934" LastActivityDate="2010-12-15T01:03:41.920" Title="Alphabet Reduction Step in PCP Proof" Tags="&lt;cc.complexity-theory&gt;&lt;pcp&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3801" PostTypeId="2" ParentId="3800" CreationDate="2010-12-15T01:03:41.920" Score="7" Body="&lt;p&gt;The alphabet size corresponds to the query complexity of the PCP verifier. So you need to make it a constant eventually so that the PCP has constant query complexity, as stated in the PCP theorem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;And if I am not mistaken, the alphabet size increases from $\left|\Sigma\right|$ to $\Omega(\left|\Sigma\right|^c)$ for some constant $c$ in each graph powering step. If you do not make the alphabet reduction in middle steps, the alphabet size will blow up exponentially within a logarithmic number of iterations. &lt;/p&gt;&#xA;" OwnerUserId="245" LastActivityDate="2010-12-15T01:03:41.920" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="3802" PostTypeId="2" ParentId="3792" CreationDate="2010-12-15T02:23:25.640" Score="13" Body="&lt;p&gt;I believe $tt$ with $t=(\lambda x. (\lambda y.1) (x x))$ will terminate using $L$ even if it has an infinite reduction.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The first reduction step is: $L(tt)=L(t)t=L(\lambda x.(\lambda y.1) (x x))t=(\lambda x.L((\lambda y.1) (x x)))t=(\lambda x.1)t$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The first reduction step with $F_\infty$ is $F_\infty([(\lambda x.(\lambda y.1 (x x))) t]))=(\lambda y.1) (tt)$.&lt;/p&gt;&#xA;" OwnerUserId="236" LastActivityDate="2010-12-15T02:23:25.640" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3803" PostTypeId="2" ParentId="3795" CreationDate="2010-12-15T04:24:26.237" Score="7" Body="&lt;p&gt;First I have to say: this problem is &lt;em&gt;really&lt;/em&gt; interesting!! And here I briefly describe why &lt;a href=&quot;https://cstheory.stackexchange.com/posts/3803/revisions&quot;&gt;my previous approaches&lt;/a&gt; failed, as suggested in &lt;a href=&quot;https://cstheory.meta.stackexchange.com/questions/386/policy-on-deleting-incorrect-answers&quot;&gt;this meta post&lt;/a&gt; about incorrect answers.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;My first attempt was trying to construct a coloring related to the sumset of the k-subset which makes all n-subset non-monochromatic. Lemma 1 is still available; but Lemma 2 was wrong, by observing that if k and d are related prime, then an n-subset $\{1,3,1,3, \ldots\}$ in module d suggested by @Jukka is a counter-example.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The second try was a proof to the theorem; by counting the ratio of diverse and monochromatic $n$-subsets, we hope that the number of monochromatic ones will surpasses those of non-diverse ones. But the is an error in my calculations, observed by @domotorp: the ratio of being non-diverse will not approaches zero; it converges to about $n/d$, which is clearly larger than $R(n,n;k)^{-n}$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The third one goes back to the first method, and it shows that for a uber-weak parameter set ($n &amp;gt; k+d-1$ and $d \mid k$), the theorem is false. We used a famous lemma in additive combinatorics: the EGZ-theorem.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;The fourth try is due to &lt;a href=&quot;https://cstheory.stackexchange.com/questions/3795/extensions-of-ramseys-theorem-monochromatic-but-diverse/3962#3962&quot;&gt;the answer&lt;/a&gt; by @domotorp; it is both clever and inspiring, and I'll try to modify his proof to deal with all the parameters. But still his method is elegant, and I totally appreciate this simple approach.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A diverse n-set contains at least one k-subset with at least $k-1$ &quot;switches between mod classes&quot;; precisely, let $X = x_1,\ldots,x_n$ be a diverse n-set, and let $S^* = x_1,\ldots,x_k$, a &lt;em&gt;switch&lt;/em&gt; is defined if $x_i$ and $x_{i+1}$ are in different mod-d classes. We have k-1 switches for $S^*$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let a k-subset $S$ be &lt;strong&gt;red&lt;/strong&gt; if $S$ has at most k-2 switches; otherwise it is &lt;strong&gt;blue&lt;/strong&gt;. By the previous paragraph we already had a blue one, now we prove that for $n &amp;gt; k+d+1$, there is an red $S$ in any n-set $X$. Since $n &amp;gt; d$, there are two numbers $x_i,x_j$ in the same mod-d class and $j-i \leq d-1$; and since $n &amp;gt; k+d+1$, there are at least k-2 elements $x_k$ in $X$ with $k&amp;lt;i$ or $k&amp;gt;j$. And we can construct a k-subset $S$ with $x_i$ next to $x_j$, which only switches at most k-2 times. Thus $S$ is a red k-subset.&lt;/p&gt;&#xA;" OwnerUserId="1800" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2010-12-24T11:01:40.153" CommentCount="12" ContentLicense="CC BY-SA 2.5" />
  <row Id="3805" PostTypeId="2" ParentId="3736" CreationDate="2010-12-15T13:07:32.777" Score="0" Body="&lt;p&gt;I would recommend diving into &lt;a href=&quot;http://www.wolframscience.com/nksonline/toc.html&quot; rel=&quot;nofollow&quot;&gt;NKS&lt;/a&gt;, at least read parts of Chapters 11 and 12 in the book, it is quite likely to inspire you to chart out a reasonable implementation project. Of course, when in need, ask for help &lt;a href=&quot;http://forum.wolframscience.com/&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;. &lt;/p&gt;&#xA;" OwnerUserId="2374" LastActivityDate="2010-12-15T13:07:32.777" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3806" PostTypeId="1" AcceptedAnswerId="3817" CreationDate="2010-12-15T17:37:46.653" Score="5" ViewCount="276" Body="&lt;p&gt;I'm looking for work about partially ordered context-free grammars. I've found &lt;a href=&quot;http://scholar.google.com/scholar?cluster=2340746033841345494&amp;amp;hl=de&amp;amp;as_sdt=2000&amp;amp;as_vis=1&quot; rel=&quot;nofollow&quot;&gt;one paper&lt;/a&gt;, which seems to simplify the problem too much (in addition to some technical mistakes, as far as I can tell). It defines the language of a  pom-CFG by reduction to a normal context-free grammar, which excludes some (otherwise) possible words from the language, I think.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thus I'm looking for other work.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;What I mean by partially ordered CFG&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The production rules don't produce linear strings of symbols but partially ordered (multi) sets of symbols. Thus the &quot;words&quot; of the generated language are also partially ordered multi-sets of symbols. For example this:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;  b-c&#xA; /   \&#xA;a     d-a&#xA; \   /&#xA;  a--&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;The possible linearizations of this partially ordered word are aabcda, abacda, abcada.&lt;/p&gt;&#xA;" OwnerUserId="2764" LastEditorUserId="1800" LastEditDate="2010-12-15T18:07:21.470" LastActivityDate="2012-05-07T14:21:11.130" Title="Partially Ordered CFG" Tags="&lt;reference-request&gt;&lt;fl.formal-languages&gt;&lt;grammars&gt;&lt;partial-order&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3807" PostTypeId="2" ParentId="3765" CreationDate="2010-12-15T19:06:57.817" Score="4" Body="&lt;p&gt;There is also a &lt;a href=&quot;http://www.iacr.org/cryptodb/archive/2004/CRYPTO/1257/1257.pdf&quot; rel=&quot;nofollow&quot;&gt;nice paper&lt;/a&gt; by Dodis, Gennaro, &lt;em&gt;et al.&lt;/em&gt; that considers practical cryptographic primitives that can be used for extraction. They show that hash functions are not known to be good extractors, however a block cipher in CBC-MAC mode can be (with some fine-print). They also consider HMAC constructions. The approach is appealing for implementation since you can use standard cryptography libraries.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For CBC-MAC, the &quot;fine-print&quot; is roughly:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Assumes the blockcipher is a psuedo-random permutation&lt;/li&gt;&#xA;&lt;li&gt;Must be keyed with a truly random (but not necessarily secret) key that can be reused&lt;/li&gt;&#xA;&lt;li&gt;If the output is m bits, the input must have at least 2m bits of min-entropy&lt;/li&gt;&#xA;&lt;li&gt;Block length and key length must be the same (so if you are using AES, that means only AES-128 works)&lt;/li&gt;&#xA;&lt;li&gt;Input length is bounded but the bound is high&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="1792" LastEditorUserId="1792" LastEditDate="2010-12-15T19:21:25.557" LastActivityDate="2010-12-15T19:21:25.557" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3808" PostTypeId="2" ParentId="3786" CreationDate="2010-12-15T19:59:34.043" Score="13" Body="&lt;p&gt;The dense case is essentially equivalent to boolean matrix multiplication by color coding. See &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.103.5167&amp;amp;rep=rep1&amp;amp;type=pdf&quot;&gt;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.103.5167&amp;amp;rep=rep1&amp;amp;type=pdf&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For sparse graphs, there is an algorithm with time $O(mn)$ due to [B. Monien, How to find long paths efficiently, Ann. Discrete Math., 25 (1985), pp. 239-254]. I suspect something better might be possible by high-degree / low-degree tricks. &lt;/p&gt;&#xA;" OwnerUserId="106" LastEditorUserId="106" LastEditDate="2010-12-15T20:08:28.870" LastActivityDate="2010-12-15T20:08:28.870" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3809" PostTypeId="1" AcceptedAnswerId="3811" CreationDate="2010-12-15T20:46:22.550" Score="10" ViewCount="630" Body="&lt;p&gt;This question is in the same vein as &lt;a href=&quot;https://cstheory.stackexchange.com/q/2386/873&quot;&gt;inspirational talk for final year high school pupils&lt;/a&gt;. My Ph.D. advisor asked me to give an &lt;em&gt;inspirational talk&lt;/em&gt; for new M.Sc. students. The subject is &lt;strong&gt;foundations of cryptography&lt;/strong&gt;, which is best illustrated by &lt;a href=&quot;http://www.wisdom.weizmann.ac.il/~oded/foc-book.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;Goldreich's book&lt;/a&gt;. The talk will take about one hour, and I want to familiarize the students to the &lt;strong&gt;main constructs&lt;/strong&gt; (like one-way functions/permutations, pseudor-random generators, zero-knowledge proofs, encryption/signature schemes, etc.), and &lt;strong&gt;solved and unsolved problems&lt;/strong&gt; in the field.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I want to keep the talk very &lt;strong&gt;&lt;em&gt;motivating&lt;/em&gt;&lt;/strong&gt;.&#xA;The main problem is two-fold:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Foundations of cryptography needs a very good understanding of the &lt;strong&gt;computational-complexity theory&lt;/strong&gt;. Alas, the M.Sc. students have not passed any course related to this theory.&lt;/li&gt;&#xA;&lt;li&gt;I need to present some problems as possible topics for an M.Sc. thesis. While there are a lot of unsolved problems in the field, most of them are too hard for an M.Sc. student.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Suggestions are most welcome. In addition, I'm very interested in pointers to similar talks.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit:&lt;/strong&gt; I found the &lt;a href=&quot;http://www.wisdom.weizmann.ac.il/~oded/students.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;list of Goldreich's students&lt;/a&gt; extremely inspiring. I'll be searching for other such lists, but you can help me if you know any similar lists. See also: &lt;a href=&quot;http://www.wisdom.weizmann.ac.il/~oded/on-master.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;Demystifying the Master Thesis and Research in General: The Story of Some Master Theses&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="873" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2012-02-26T20:05:33.160" Title="Motivating Talk on Foundations of Cryptography" Tags="&lt;reference-request&gt;&lt;soft-question&gt;&lt;cr.crypto-security&gt;&lt;teaching&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="3810" PostTypeId="1" CreationDate="2010-12-15T21:05:19.983" Score="2" ViewCount="1518" Body="&lt;p&gt;I'm wondering if anyone is aware of a proof of the Halting Problem that is not just a permutation of the &quot;standard&quot; proof.  Since there are so many formulations of this proof, rather than pick a specific one, I will sketch out the general outline that every proof I've seen follows (at least, I honestly don't remember one that doesn't follow this pattern):&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Assume that there is a function &lt;code&gt;halt()&lt;/code&gt; that can decide whether or not a given Turing Machine halts or not.&lt;/li&gt;&#xA;&lt;li&gt;Construct a Turing Machine that embeds &lt;code&gt;halt()&lt;/code&gt;, but &quot;does the exact opposite&quot;.&lt;/li&gt;&#xA;&lt;li&gt;...&lt;/li&gt;&#xA;&lt;li&gt;Proof by contradiction that because we have constructed a program that embeds &lt;code&gt;halt()&lt;/code&gt;, but does the exact opposite, this proves that &lt;code&gt;halt()&lt;/code&gt; can not exist.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;I believe the above is &quot;sufficiently accurate&quot; for the purposes of this question.  Please feel free to speak up if you feel it misses some nuance of the problem and / or proof.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My objection with this entire class of proofs is:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Every formulation of the problem / proof begins by assuming that &lt;code&gt;halt()&lt;/code&gt; exists and is capable of &lt;em&gt;deciding&lt;/em&gt; whether or not a given Turning Machine halts or not.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;At this point in the proof, there are really only two possibilities:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;code&gt;halt()&lt;/code&gt; does not, or can not, &lt;em&gt;decide&lt;/em&gt; whether a Turing Machine halts or not.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;halt()&lt;/code&gt; can, and does, &lt;em&gt;decide&lt;/em&gt; whether or not a Turing Machine halts.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;The problem is this: If we choose the first possibility, that is to say that for some unspecified reason &lt;code&gt;halt()&lt;/code&gt; does not &quot;work as advertised&quot;, the proof comes to an end.  There is literally no point in proving &lt;code&gt;halt()&lt;/code&gt; can not &lt;em&gt;decide&lt;/em&gt; whether a Turing Machine halts or not if we handicap it from the start- we already know the answer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm not aware of any proof that places qualifications on &lt;code&gt;halt()&lt;/code&gt; at this point in the proof, therefore the only reasonable choice is the second possibility.  This means that we axiomatically define &lt;code&gt;halt()&lt;/code&gt; in order to &quot;bring it in to existence&quot;.  The problem with this is- &lt;code&gt;halt()&lt;/code&gt; is axiomatically defined, and therefore is guaranteed to &lt;em&gt;decide&lt;/em&gt; whether or a Turing Machine halts or not.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since &lt;code&gt;halt()&lt;/code&gt; is axiomatically defined as being able to &lt;em&gt;decide&lt;/em&gt; whether a Turing Machine halts, any analysis that arrives at a result that contradicts this behavior &lt;strong&gt;&lt;em&gt;can not&lt;/em&gt;&lt;/strong&gt;, by definition, prove that &lt;code&gt;halt()&lt;/code&gt; is &lt;em&gt;undecidable&lt;/em&gt;.  The axiomatic definition of &lt;code&gt;halt()&lt;/code&gt; is so strong that any result that causes, or results in, a contradiction of &lt;code&gt;halt()&lt;/code&gt; is proof that the hypothesis is invalid.  Basically, just like the first possibility, there's no point in continuing on with the proof with this choice either because we have our answer- it is impossible to prove that the Halting Problem is &lt;em&gt;undecidable&lt;/em&gt; using this technique because it is axiomatically guaranteed to be &lt;em&gt;decidable&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Therefore, I personally consider this family of Halting Problem proofs to be invalid.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, I'm wondering if anyone is aware of a proof of the Halting Problem that is &quot;independent&quot; of this style and family of proof.  I have a strong preference for a proof that does not rely on &quot;diagonalization&quot; or &quot;recursion&quot; in any way.  My preference is for something rooted in graph theory.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Which raises a different problem:  So far, I have been unable to arrive at a zero-order approximation of a Halting Problem proof using other means.  In fact, every back of the envelope attempt has completely failed to arrive at the same conclusion.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The strongest one I've managed to come up with is roughly: The $\delta$ transition table is finite, with a finite number of symbols.  An appeal to König's lemma seems to be enough to justify that there is no infinite path, and therefore it must be possible to find a path from the start state to a halting state, if one exists.  Not intended as proof, but a result from graph theory, whatever it is, would be much stronger than the current &quot;Say something is true, then do the exact opposite, and then claim that by doing the exact opposite of what you first claimed, you've proved that it was never true to begin with&quot; &lt;em&gt;proof&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does anyone:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Have a Halting Problem proof that is &lt;em&gt;significantly different&lt;/em&gt; than the current &quot;standard&quot; proof?  My preference is for a proof that gives the same result using completely different techniques and / or approach.  So far, I have only been able to find derivatives of the &quot;standard&quot; proof.&lt;/li&gt;&#xA;&lt;li&gt;See a problem with the analysis above?&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;edit&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;@Kaveh stated &lt;code&gt;Note that undecidability of H is usually stated negatively&lt;/code&gt;.  To be clear, from Turings &lt;em&gt;On computable numbers, with an application to the Entscheidungsproblem&lt;/em&gt; paper that established the proof:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It may be thought that arguments which prove that the real numbers are not enumerable would also prove that the computable numbers and sequences cannot be enumerable.  It might, for instance, be thought that the limit of a sequence of computable numbers must be computable.  This is clearly only true if the sequence of computable numbers is defined by some rule.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Or we might apply the diagonal process.  &quot;If the computable sequences are enumerable, let $a_n$ be the $n$-th computable sequence, and let $\phi_n\left(m\right)$ be the $m$-th figure in $a_n$.  Let $\beta$ be the sequence with $1 - \phi_n\left(n\right)$ as its $n$-th figure.  Since $\beta$ is computable, there exists a number $K$ such that $1 - \phi_n\left(n\right) = \phi_K\left(n\right)$ all $n$.  Putting $n = K$, we have $1 = 2\phi_K\left(K\right)$, &lt;em&gt;i.e.&lt;/em&gt; $1$ is even.  This is impossible.  The computable sequences are therefore not enumerable&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The fallacy in this argument lies in the assumption that $\beta$ is computable.  It would be true if we could enumerate the computable sequences by finite means, but the problem of enumerating computable sequences is equivalent to the problem of finding out whether a given number is the D.N of a circle-free machine, and we have no general process for doing this in a finite number of steps.  In fact, by applying the diagonal process argument correctly, we can show that there cannot be any such general process.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The simplest and most direct proof of this is by showing that, if this general process exists, then there is a machine which computes $\beta$.  This proof, although perfectly sound, has the disadvantage that it may leave the reader with a feeling that &quot;there must be something wrong&quot;.  The proof which I shall give has not this disadvantage, and gives a certain insight into the significance of the idea &quot;circle-free&quot;.  It depends not on constructing $\beta$, but on constructing $\beta&amp;#39;$, whose $n$-th figure is $\phi_n\left(n\right)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let us suppose that there is such a process; that is to say, that we can invent a machine $\mathcal{D}$ which, when supplied with the S.D of any computing machine $\mathcal{M}$ will test this S.D and if $\mathcal{M}$ is circular will mark the S.D with the symbol &quot;$u$&quot; and if it is circle-free will mark it with &quot;$s$&quot;.  By combining the machines $\mathcal{D}$ and $\mathcal{U}$ we could construct a machine $\mathcal{M}$ to compute the sequence $\beta&amp;#39;$. The machine $\mathcal{D}$ may require a tape.  We may suppose that it uses the $E$-squares beyond all symbols on $F$-squares, and that when it has reached its verdict all the rough work done by $\mathcal{D}$ is erased.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is clear the original proof &quot;assumes that there is a function &lt;code&gt;halt()&lt;/code&gt; that can decide whether or not a given Turing Machine halts or not.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The machine $\mathcal{H}$ has its motion divided into sections.  In the first $N - 1$ sections, among other things, the integers $1, 2, \ldots, N - 1$ have been written down and tested by the machine $\mathcal{D}$.  A certain number, say $R\left(N - 1\right)$, of them have been found to be the D.N's of circle-free machines.  In the $N$-th section the machine $\mathcal{D}$ tests the number $N$.  If $N$ is satisfactory, &lt;em&gt;i.e.&lt;/em&gt;, if it is the D.N of a circle-free machine, then $R\left(N\right) = 1 + R\left(N - 1\right)$ and the first.  $R\left(N\right)$ figures of the sequence of which a D.N is $N$ are calculated.  The $R\left(N\right)$-th figure of this sequence is written down as one of the figures of the sequence $\beta&amp;#39;$ computed by $\mathcal{H}$.  If $N$ is not satisfactory, then $R\left(N\right) = R\left(N - 1\right)$ and the machine goes on to the $\left(N + 1\right)$-th section of its motion.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;From the construction of $\mathcal{H}$ we can see that $\mathcal{H}$ is circle-free.  Each section of the motion of $\mathcal{H}$ comes to an end after a finite number of steps.  For, by our assumption about $\mathcal{D}$, the decision as to whether $N$ is satisfactory is reached in a finite number of steps.  If $N$ is not satisfactory, then the $N$-th section is finished.  If $N$ is satisfactory, this means that the machine $\mathcal{M}\left(N\right)$ whose D.N is $N$ is circle-free, and therefore its $R\left(N\right)$-th figure can be calculated in a finite number of steps.  When this figure has been calculated and written down as the $R\left(N\right)$-th figure of $\beta&amp;#39;$, the $N$-th section is finished.  Hence $\mathcal{H}$ is circle-free.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;At this point, Turing has explicitly stated that $\mathcal{H}$ is &quot;circle-free&quot; and can be, and in fact is, constructed using a finite number of steps.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now let $K$ be the D.N of $\mathcal{H}$.  What does $\mathcal{H}$ do in the $K$-th section of its motion?  It must test whether $K$ is satisfactory, giving a verdict &quot;$s$&quot; or &quot;$u$&quot;.  Since $K$ is the D.N of $\mathcal{H}$ and since $\mathcal{H}$ is circle-free, the verdict cannot be &quot;$u$&quot;.  On the other hand the verdict cannot be &quot;$s$&quot;.  For if it were, then in the $K$-th section of its motion $\mathcal{H}$ would be bound to compute the first $R\left(K - 1\right) + 1 = R\left(K\right)$ figures of the sequence computed by the machine with $K$ as its D.N and to write down the $R\left(K\right)$-th as a figure of the sequence computed by $\mathcal{H}$.  The computation of the first $R\left(K\right) - 1$ figures would be carried out all right, but the instructions for calculating the $R\left(K\right)$-th would amount to &quot;calculate the first $R\left(K\right)$ figures computed by $\mathcal{H}$ and write down the $R\left(K\right)$-th&quot;.  This $R\left(K\right)$-th figure would never be found.  &lt;em&gt;I.e.&lt;/em&gt;, $\mathcal{H}$ is circular, contrary both to what we have found in the last paragraph and to the verdict &quot;$s$&quot;.  Thus both verdicts are impossible and we conclude that there can be no machine $\mathcal{D}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;And here is part of the problem- after Turing has just finished showing that $\mathcal{H}$ must be circle-free, and we are only constructing a machine made up of circle-free machines, the proof then immediately states that $\mathcal{H}$ can not be circle-free, even though we've shown that the machine we have constructed must be circle-free by definition.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The fact of the matter is this- the alleged issue that is being used to assert that the halting problem is undecidable has already been resolved by this point.  If it were truly a problem that would cause the Turing Machine to be &quot;circular&quot; it never would have been written out as a circle-free machine.  At this point we are executing the circle-free machines, so the alleged problem being discussed has already been filtered out along with all the other &quot;circular&quot; machines by &lt;code&gt;halt()&lt;/code&gt;.  The fallacy here is &quot;denying the antecedent&quot;.&lt;/p&gt;&#xA;" OwnerUserId="2572" LastEditorUserId="2572" LastEditDate="2010-12-16T04:59:26.220" LastActivityDate="2010-12-16T04:59:26.220" Title="Is there an alternative proof of the TM Halting Problem other than the &quot;standard&quot; one?" Tags="&lt;computability&gt;&lt;turing-machines&gt;&lt;proofs&gt;" AnswerCount="2" CommentCount="9" FavoriteCount="3" ClosedDate="2010-12-16T08:49:52.590" ContentLicense="CC BY-SA 2.5" />
  <row Id="3811" PostTypeId="2" ParentId="3809" CreationDate="2010-12-15T21:09:29.340" Score="12" Body="&lt;p&gt;Since you can't rely on a knowledge of complexity theory, you have to emphasize the change in paradigm from security by obscurity to security by intractability, by positing the idea that some problems are hard to solve efficiently. This of course elides the many problems associated with the Impagliazzo worlds of intractability, but it gives a flavor of the way modern crypto works. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;for ZKP, which are truly awesome, there are many ways to convey the basic ideas intuitively. See for example &lt;a href=&quot;https://mathoverflow.net/questions/22624/example-of-a-good-zero-knowledge-proof/22675#22675&quot;&gt;my answer on MO&lt;/a&gt;, as well as the &lt;a href=&quot;http://sparrow.ece.cmu.edu/group/630-f08/readings/ZK-IntroPaper.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;hilarious Ali Baba and the 40 thieves story&lt;/a&gt;. While these were originally designed for a younger crowd, they work well at all ages to convey the right intuition. &lt;/p&gt;&#xA;" OwnerUserId="80" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2010-12-16T04:10:05.453" CommentCount="6" ContentLicense="CC BY-SA 2.5" />
  <row Id="3812" PostTypeId="2" ParentId="3810" CreationDate="2010-12-16T01:00:00.313" Score="6" Body="&lt;p&gt;This was too long to post as a comment (in response to your comment), so I'm posting it as an answer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Turing's proof of the Halting Problem is not mathematically fallacious.  Here is the paragraph in which you explain why the proof bothers you:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Since halt() is axiomatically defined as being able to decide whether a Turing Machine halts, any analysis that arrives at a result that contradicts this behavior can not, by definition, prove that halt() is undecidable. The axiomatic definition of halt() is so strong that any result that causes, or results in, a contradiction of halt() is proof that the hypothesis is invalid. Basically, just like the first possibility, there's no point in continuing on with the proof with this choice either because we have our answer- it is impossible to prove that the Halting Problem is undecidable using this technique because it is axiomatically guaranteed to be decidable.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I think I can summarize your objection as follows:  You are saying, &quot;once we've contradicted the initial assumption that HALT exists, it is impossible to continue with a proof, because we've encountered an absurdity.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm not sure that it's quite right to say that the halting problem is axiomatically guaranteed to be decidable, but the point is that we've &lt;em&gt;assumed&lt;/em&gt; that it is decidable, for no reason other than that we want to show that it isn't.  I'm not sure what you think a proof by contradiction (or negation--I admit I use the two interchangeably, even if I shouldn't) is if not this.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This may be qualify as decidedly &quot;non-research level&quot; mathematics, but in the interest of giving you a metaphor that may help I'll say this anyway.  Suppose I claim that I can build a spaceship that will fly to Alpha Centauri and back within ten seconds.  You could say, &quot;Well, let's assume that that's the case.  Then you would have built a spaceship that is capable of traveling faster than the speed of light, which is impossible.  Thus, no such spaceship can exist.&quot;  This is (vaguely) similar logic to what is being used in the proof; we claim something can exist, then demonstrate an absurdity, and conclude that this indicates that it &lt;em&gt;cannot&lt;/em&gt; exist.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If there's anything unclear about this, let me know and I'll try to re-explain.  Also please see the link I gave in the comments for alternate proofs of the Halting Problem.&lt;/p&gt;&#xA;" OwnerUserId="1338" LastActivityDate="2010-12-16T01:00:00.313" CommentCount="6" ContentLicense="CC BY-SA 2.5" />
  <row Id="3813" PostTypeId="2" ParentId="3810" CreationDate="2010-12-16T01:51:18.193" Score="4" Body="&lt;p&gt;Although your reasoning is flawed, I believe it is educational to see why. First of all, I have a rule of thumb when I am trying to prove something that seems extraordinary or difficult: &quot;Assume that your approach is wrong and try to find out why&quot;. Arguing against yourself is not an easy task, but it is very important.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One technique I use very often is trying to apply the same argument to different situations. In other words, I'm trying to find a counterexample. Assume that your reasoning is perfect.&#xA;Then, apart from computability, you are disproving a good part of mathematic knowledge, which is based on contradiction proofs. For example, the statement that there is no natural number such that no other natural number is greater than it, uses contradiction. This result is much more intuitive than the undecidability of halting.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Perhaps the notion of contradiction could be better understood if you think of every person trying to prove a statement as a little God: Assume that you have a theory, i.e. a number of axioms and theorems. Assume also that you have a universe that instead of physical laws, obeys only this theory. Now , if you wanted to prove that statement S is false,you could work in the following way (an analogy to the physical world and a statement such as the conservation of energy is highly educational):&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Split the original universe U into two parts, A and B, that are equal to U and obey its theory.Then make an addition that is unique to every part: Assume that in part A S holds, while in part B of the universe S is false. This is not the same as saying that S or its denial is an axiom in the respective part. It might be possible that a proof exists, however you are not aware of it (yet).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;If S is false in both parts, then it must be also false in the whole universe. In the part B of universe that it is false (proven so by an unknown proof) you don't have to worry about it. If this argument does not sound very convincing, you can consider part B as small as you like: for example, if B consisted of only 2 atoms, you could easily verify the law of energy conservation.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Now, consider the part A. If you could show that A does not obey its own theory,that is the original theory and the theorem that S is true, it could not exist. However, you know that the original theory is true, therefore it must be that last theorem that does not allow part A to exist. Therefore, since part A does exist, S must be false. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Now you have that S is false in both parts of your universe, so it is false for the whole universe as well.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;I would also highly recommend reading the following posts from Terence Tao's blog. I found them very instructive. He talks about contradiction and how to create objects that are so powerful, that contradict their own existence:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://terrytao.wordpress.com/2009/11/05/the-no-self-defeating-object-argument/&quot; rel=&quot;nofollow&quot;&gt;The “no self-defeating object” argument&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://terrytao.wordpress.com/2010/10/18/the-no-self-defeating-object-argument-revisited/&quot; rel=&quot;nofollow&quot;&gt;The “no self-defeating object” argument, revisited&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://terrytao.wordpress.com/2010/11/02/the-no-self-defeating-object-argument-and-the-vagueness-paradox/&quot; rel=&quot;nofollow&quot;&gt;The “no self-defeating object” argument, and the vagueness paradox&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="879" LastActivityDate="2010-12-16T01:51:18.193" CommentCount="11" ContentLicense="CC BY-SA 2.5" />
  <row Id="3815" PostTypeId="1" AcceptedAnswerId="3825" CreationDate="2010-12-16T08:20:03.270" Score="20" ViewCount="521" Body="&lt;p&gt;Is it possible to build an explicit $N \times N$ $0/1$-matrix with $N^{1.5}$ ones such that every $N^{0.499} \times N^{0.499}$ submatrix contains less than $N^{0.501}$ ones?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Or probably it is possible to build an explicit hitting set for such property.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is easy to see that random matrix has this property with probability exponentially close to $1$. Also, expander mixing lemma is not sufficient to derive this property.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I guess pseudorandom generators that fool combinatorial rectangles could help here, but they are designed for uniform distributions and I basically need $B(N^2, N^{-0.5})$ here.&lt;/p&gt;&#xA;" OwnerUserId="141" LastEditorUserId="141" LastEditDate="2010-12-16T13:12:25.687" LastActivityDate="2011-08-22T22:20:54.357" Title="Explicit balanced matrix" Tags="&lt;co.combinatorics&gt;&lt;matrices&gt;&lt;pseudorandomness&gt;&lt;pseudorandom-generators&gt;" AnswerCount="2" CommentCount="3" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="3817" PostTypeId="2" ParentId="3806" CreationDate="2010-12-16T10:35:10.277" Score="5" Body="&lt;p&gt;The described concept is known as &lt;strong&gt;graph grammars&lt;/strong&gt; and dates back into the 1970ies. Searching for this yields a sufficient amount of references. The terms &quot;Graph Transformation&quot; and &quot;Graph Rewriting&quot; are also used. See e.g. &lt;a href=&quot;https://secure.wikimedia.org/wikipedia/en/wiki/Graph_rewriting&quot; rel=&quot;nofollow&quot;&gt;Wikipedia on Graph Rewriting&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="2764" LastEditorUserId="2764" LastEditDate="2010-12-16T12:32:29.417" LastActivityDate="2010-12-16T12:32:29.417" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="3818" PostTypeId="2" ParentId="3280" CreationDate="2010-12-16T10:58:40.530" Score="8" Body="&lt;p&gt;In &lt;a href=&quot;http://www.cs.nott.ac.uk/~nad/publications/danielsson-parser-combinators.html&quot;&gt;Total Parser Combinators&lt;/a&gt; (ICFP 2010) I use Brzozowski derivatives to establish that language membership is decidable for a certain class of potentially infinite grammars.&lt;/p&gt;&#xA;" OwnerUserId="2778" LastActivityDate="2010-12-16T10:58:40.530" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3825" PostTypeId="2" ParentId="3815" CreationDate="2010-12-16T15:11:15.150" Score="11" Body="&lt;p&gt;What you are looking for is a one-bit extractor for two independent sources: a function $E:[N]\times [N]\to \{0,1\}$, such that, provided X,Y are random variables with min-entropy 0.499*log(N), E(X,Y) is almost balanced. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's a notorious hard problem. For the parameters you want, I believe it was solved by Bourgain. See here:&#xA;&lt;a href=&quot;http://www.cs.washington.edu/homes/anuprao/pubs/bourgain.pdf&quot; rel=&quot;nofollow&quot;&gt;http://www.cs.washington.edu/homes/anuprao/pubs/bourgain.pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="1621" LastActivityDate="2010-12-16T15:11:15.150" CommentCount="9" ContentLicense="CC BY-SA 2.5" />
  <row Id="3826" PostTypeId="1" AcceptedAnswerId="3827" CreationDate="2010-12-16T15:19:46.543" Score="9" ViewCount="765" Body="&lt;p&gt;Let $V$ be a set of $D$-dimensional rectangular shapes. For $d \in \{1,...,D\}$ and $v \in V$, $w_d(v) \in \mathbb{Q}^{+}$ describes the length of $v$ in the dimension $d$. The same notation is used for the container $C$.&#xA;The $D$-dimensional orthogonal packing problem (OPP-$D$) is to decide if $V$ fits into the container $C$ without overlapping. Formally speaking, the problem is to find out whether $\forall d \in \{1,...,D\}$ there exists a function $f_d:V\rightarrow \mathbb{Q}^{+}$, such that $\forall v \in V, f_d(v)+w_d(v) \leq w_d(C)$ and $\forall v_1,v_2 \in V$, $(v_1 \neq v_2)$, $[f_d(v_1),f_d(v_1)+w_d(v_1)) \cap [f_d(v_2),f_d(v_2)+w_d(v_2)) = \emptyset$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem is NP-complete (see Fekete SP, Schepers J. &quot;On higher-dimensional packing I: Modeling&quot;. Technical Report 97–288, University at zu Köln, 1997). The problem is NP-complete even for $D=2$. I am wondering, whether the orthogonal packing problem for a bounded number of types (i.e. sizes in each dimension) of items is still NP-complete or not. Till now I found a result in some paper about NP-completeness of packing squares into a square (see JOSEPH Y-T. LEUNG, TOMMY W . TAM, AND C. S. WONG, &quot;Packing squares into a square&quot;, Journal of Parallel and Distributed Computing, Volume 10 Issue 3, Nov. 1990) which is already a restriction but I still don't know what happens when the number of types of items is bounded.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thank you for your answer,&lt;/p&gt;&#xA;" OwnerUserId="2788" LastEditorUserId="186" LastEditDate="2010-12-16T16:58:39.567" LastActivityDate="2010-12-17T16:06:54.483" Title="NP-Hardness of a special case of orthogonal packing problem" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;np-hardness&gt;&lt;packing&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="3827" PostTypeId="2" ParentId="3826" CreationDate="2010-12-16T16:19:32.283" Score="7" Body="&lt;p&gt;I think that the paper by Klaus Jansen and Roberto Solis-Oba &quot;&lt;a href=&quot;http://www.springerlink.com/content/a62l2u5t63513231/&quot; rel=&quot;nofollow&quot;&gt;An OPT + 1 Algorithm for the Cutting Stock Problem with Constant Number of Object Lengths&lt;/a&gt;&quot; has a partial answer to your question. They consider a special case of your problem known as &lt;strong&gt;Cutting Stock&lt;/strong&gt; problem when the number of diﬀerent object types is constant and defined as follows:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;In the &lt;em&gt;cutting stock problem&lt;/em&gt; we are given a set $T = \{T_1,T_2,\dots,T_d\}$ of object types, where objects of type $T_i$ have positive integer length $p_i$. Given an inﬁnite set of bins, each of integer capacity $\beta$, the problem is to pack a set $\mathcal{O}$ of $n$ objects into the minimum possible number of bins in such a way that the capacity of the bins is not exceeded; in set $\mathcal{O}$ there are $n_i$ objects of type $T_i$, for all $i =1,\dots,d$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The authors claim that&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;it is not known whether the cutting stock problem can be solved in polynomial time for every ﬁxed value $d$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;And they propose $OPT+1$ approximation polynomial-time algorithm when $d$ is fixed.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since it's not proved that this special case is in $P$, this is the evidence that your problem is $NP$-hard.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Addendum:&lt;/strong&gt; it's &lt;a href=&quot;http://www.econ.kuleuven.ac.be/public/NDBAE03/papers/mor2001paper.pdf&quot; rel=&quot;nofollow&quot;&gt;known&lt;/a&gt; that the case with two object types ($d=2$) is polynomially solvable, but for $d=3$ there is known only $OPT+1$-approximation.&lt;/p&gt;&#xA;" OwnerUserId="1060" LastEditorUserId="1060" LastEditDate="2010-12-17T16:06:54.483" LastActivityDate="2010-12-17T16:06:54.483" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="3829" PostTypeId="1" CreationDate="2010-12-16T17:36:02.187" Score="6" ViewCount="166" Body="&lt;p&gt;This is really a two part question, and they aren't necessarily related.  First, my understanding of natural proof barriers is that they are based on the idea that a suitable distribution over small circuits will &quot;look like&quot; a distribution over all functions, at least to someone with limited computational power.  So, are there specific models studied of random circuits, and proofs that they do indeed look pseudo-random?  The dialogue in Gowers' blog some time ago indicates some of the difficulty in choosing such a distribution, as at one point one of the speakers inadvertently creates a distribution (over formulas rather than circuits) which fails even some fairly simple tests as pointed out in the comments (see &lt;a href=&quot;http://gowers.wordpress.com/2009/09/22/a-conversation-about-complexity-lower-bounds/&quot; rel=&quot;nofollow&quot;&gt;http://gowers.wordpress.com/2009/09/22/a-conversation-about-complexity-lower-bounds/&lt;/a&gt; ).  For example, I know that there are results like &lt;a href=&quot;http://www.cs.toronto.edu/~mbraverm/&quot; rel=&quot;nofollow&quot;&gt;Mark Braverman&lt;/a&gt;'s &lt;a href=&quot;http://www.cs.toronto.edu/~mbraverm/Papers/FoolAC0v7.pdf&quot; rel=&quot;nofollow&quot;&gt;about polylog independence&lt;/a&gt;, but are there results showing that a given circuit distribution produces an output with such polylog independence w.h.p?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Second question: is the state of the art any better on circuit lower bounds if we consider N-to-N functions rather than N-to-1 functions?  That is, are there explicit functions with N input bits and N output bits for which a superlinear bound is proven, where the results are better than what one can prove for functions with 1 output bit?  Would lower bounds on N-to-N functions be &quot;almost as interesting&quot; as those on N-to-1, or is this much less interesting?&lt;/p&gt;&#xA;" OwnerUserId="2279" LastEditorUserId="2279" LastEditDate="2010-12-16T18:04:17.560" LastActivityDate="2010-12-16T18:04:17.560" Title="Distributions over circuits and N-to-N vs N-to-1 circuits" Tags="&lt;cc.complexity-theory&gt;&lt;circuit-complexity&gt;&lt;boolean-functions&gt;&lt;pseudorandomness&gt;&lt;natural-proofs&gt;" AnswerCount="0" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3831" PostTypeId="1" AcceptedAnswerId="3834" CreationDate="2010-12-16T19:47:27.177" Score="11" ViewCount="288" Body="&lt;p&gt;Two-prover one-round (2P1R) games are an essential tool for hardness of approximation.  Specifically, the parallel repetition of two-prover one-round games gives a way to increase the size of a gap in the decision version of an approximation problem.  See &lt;a href=&quot;http://videos.seas.harvard.edu/conferences/ccc10/wed/ranraz.mov?download&quot; rel=&quot;nofollow&quot;&gt;Ran Raz's survey talk at CCC 2010&lt;/a&gt; for an overview of the subject. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The parallel repetition of a game has the astonishing property that while a randomized verifier operates independently, the two players can play the games in a non-independent way to achieve better success than playing each game independently.  The amount of success is bounded above by the parallel repetition theorem of Raz:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Theorem&lt;/strong&gt;: There exists a universal&#xA;  constant $c$ so that for every 2P1R&#xA;  game $G$ with value $1-\epsilon$ and&#xA;  answer size $s$, the value of the&#xA;  parallel repetition game $G^n$ is at&#xA;  most $(1-\epsilon^c)^{\Omega(n/s)}$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Here is an outline on the work of identifying this constant $c$:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Raz's original paper proves $c \leq 32$.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://cse.unl.edu/~theorysem/Hol07-ParallelRepetitionTheorem.pdf&quot; rel=&quot;nofollow&quot;&gt;Holenstein&lt;/a&gt; improved this to $c \leq 3$.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://cse.unl.edu/~theorysem/Rao08-ProjectiveParallelRepetition.pdf&quot; rel=&quot;nofollow&quot;&gt;Rao&lt;/a&gt; showed that $c&amp;#39; \leq 2$ suffices (and the dependence on $s$ is removed) for the special case of projection games.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://cse.unl.edu/~theorysem/Raz08-OddCycleGame.pdf&quot; rel=&quot;nofollow&quot;&gt;Raz&lt;/a&gt; gave a strategy for the odd-cycle game that showed Rao's result is sharp for projection games.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;By this body of work, we know $2 \leq c\leq 3$.  My two questions are as follows:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Question 1:&lt;/strong&gt; Do experts in this area&#xA;  have a consensus for the exact value&#xA;  of $c$?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;If it is thought that $c &amp;gt; 2$, are there specific games which are not projective, but also specifically violate the extra properties of projection games that Rao's proof requires.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Question 2:&lt;/strong&gt; If $c &amp;gt; 2$, which&#xA;  interesting games violate Rao's&#xA;  strategy and have a potential to be&#xA;  sharp examples?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;From my own reading, it seems the most important property of projection games that Rao uses is that a good strategy for parallel repetition would not use many of the possible answers for certain questions.  This is somehow related to the locality of projection games.&lt;/p&gt;&#xA;" OwnerUserId="59" LastEditorUserId="186" LastEditDate="2010-12-16T22:44:37.067" LastActivityDate="2010-12-16T22:44:37.067" Title="Which 2P1R Games are Potentially Sharp?" Tags="&lt;cc.complexity-theory&gt;&lt;approximation-hardness&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="3832" PostTypeId="2" ParentId="3831" CreationDate="2010-12-16T19:59:17.823" Score="2" Body="&lt;p&gt;To get things rolling, I have a potential game and would like feedback.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $k \geq 2$ be an integer and $m$ be an integer at least $3k+1$ with $m \not\equiv 0 {\pmod {k+1}}$.  The &lt;strong&gt;cycle-power&lt;/strong&gt; game is the 2P1R game where the provers attempt to convince the verifier that the graph $C_{m}^k$ is $k+1$ colorable.  Here, $C_m^k$ is the graph with vertices given by integers modulo $m$ with edges if the mod-$m$ distance is at most $k$.  If there is a $k+1$-coloring of $C_m^{k}$, it must be given by choosing an ordering of $\{1,\dots,k\}$ and coloring the numbers $\{0,\dots,m-1\}$ in this order, since each set of sequential $k+1$ integers in $\{0,\dots,m-1\}$ form a clique.  Since $m$ is not a multiple of $k+1$, there will be some point where this coloring fails.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The verifier either asks for a single vertex from both players, to verify that the colors match, or asks for an edge to verify that the colors are different.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I believe this is a good example for two reasons:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;It is similar enough to the odd-cycle game that a strategy could&#xA;    be built similar to Raz's lower&#xA;    bound.  An important part of this strategy is to randomly choose&#xA;colorings across the repetitions&#xA;using shared randomness.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;By randomizing the permutations used&#xA;    in the randomly generated colorings,&#xA;    the number of answers given at each&#xA;    vertex span the entire answer set in&#xA;    a uniform way, attacking Rao's&#xA;    strategy.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Has this game been considered/solved already?&lt;/p&gt;&#xA;" OwnerUserId="59" LastEditorUserId="59" LastEditDate="2010-12-16T21:56:52.570" LastActivityDate="2010-12-16T21:56:52.570" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3833" PostTypeId="2" ParentId="3786" CreationDate="2010-12-16T20:49:00.707" Score="21" Body="&lt;p&gt;To add to Mihai's answer:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Indeed, 5-cycle (and in general $k$-cycle) in sparse graphs can be solved much faster than $O(mn)$ time using the high degree / low degree trick. You need only look at another paper of Alon, Yuster and Zwick:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.101.4120&quot;&gt;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.101.4120&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, a 5-cycle can be found in $O(m^{1.67})$ time, without any dependence on matrix multiplication. See Theorem 3.4 of the above linked paper. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, while it is not too hard to reduce 5-cycle detection to Boolean matrix multiplication (with constant factor overhead), a reduction in the opposite direction does not appear in the color-coding paper. A tight reduction (which preserves the runtime complexity) from Boolean matrix multiplication to 5-cycle detection is not known.&lt;/p&gt;&#xA;" OwnerUserId="225" LastEditorUserId="225" LastEditDate="2010-12-16T21:40:49.103" LastActivityDate="2010-12-16T21:40:49.103" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3834" PostTypeId="2" ParentId="3831" CreationDate="2010-12-16T21:05:37.713" Score="8" Body="&lt;p&gt;I tend to believe that c=3 is the right answer for the general case, and that it should be possible to give an example. I'll have to think more about that to know for sure.&#xA;It's a good question, and I don't know of existing work about it. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Research recently focused on which types of games have (best possible) c=1, mostly because of possible applications to amplification of unique games.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Barak et al generalized the counterexample of Raz to all unique games with SDP gaps.&lt;/li&gt;&#xA;&lt;li&gt;Raz and Rosen showed that for expanding projection games c=1. There are also previous results by a super-set of those authors for free games.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="1621" LastActivityDate="2010-12-16T21:05:37.713" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3835" PostTypeId="2" ParentId="2223" CreationDate="2010-12-16T21:07:12.203" Score="1" Body="&lt;p&gt;I'm looking into a slightly different question, which seems related. What would be a good reference for details about the randomized upper bound in the above answer?&lt;/p&gt;&#xA;" OwnerUserId="2794" LastActivityDate="2010-12-16T21:07:12.203" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="3836" PostTypeId="1" CreationDate="2010-12-16T23:03:52.557" Score="14" ViewCount="643" Body="&lt;p&gt;$\mathsf{DLogTime}$ and $\mathsf{NLogTime}$ are two of the smallest complexity classes we have. (Note that logarithmic time hierarchy $\mathsf{LH}$ is equal to $\mathsf{AC}^0$ and these are the first two level of $\mathsf{LH}$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;After reading this &lt;a href=&quot;https://cstheory.stackexchange.com/q/3743/186&quot;&gt;question&lt;/a&gt;, I become interested to see if the separation between these two classes is known, and in fact it is easy to separate them since $OR(x_1,...,x_n) \in \mathsf{NLogTime}-\mathsf{DLogTime}$ (thanks to Robin Kothari. See also &lt;a href=&quot;http://dx.doi.org/10.1016/S0304-3975(96)00288-5&quot; rel=&quot;nofollow noreferrer&quot;&gt;known&lt;/a&gt;). Now I am interested to know their corresponding circuit complexity characterization. I have searched a little bit and have asked a few people but was not able to find the answer.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Do we have nice circuit complexity characterizations for complexity classes $\mathsf{DLogTime}$ and $\mathsf{NLogTime}$?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Note: $\mathsf{DLogTime}$ shows up a lot in defining uniformity for small complexity classes. Note that the small time bound does not allow these machines to read the whole input, they can only read $\lg n$ bits from the input, and the classes are defined using machines that can write the address of a bit and then read that bit directly (i.e. don't need to go over all previous bits to reach there).&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2012-12-04T21:10:13.297" Title="Circuit Complexity Charaterization for DLogTime and NLogTime" Tags="&lt;cc.complexity-theory&gt;&lt;circuit-complexity&gt;" AnswerCount="1" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="3837" PostTypeId="1" CreationDate="2010-12-16T23:08:14.580" Score="-5" ViewCount="1161" Body="&lt;p&gt;I am asking this question again.  I am aware of, and have read the other similar &quot;alternative proof TM&quot; questions, but unfortunately, they do help me.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am looking for a TM Halting Problem proof that does not have the following properties:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Uses diagonalization.&lt;/li&gt;&#xA;&lt;li&gt;Uses recursion.&lt;/li&gt;&#xA;&lt;li&gt;Uses &quot;self reference&quot;.&lt;/li&gt;&#xA;&lt;li&gt;Relies on &quot;running&quot; the Turing Machine.  Specifically, there is a distinction between &quot;analyzing a Turing Machine&quot; to determine if it has a certain property and &quot;running / simulating&quot; a Turing Machine to see if it exhibits a certain property.  It should go without saying that a HALTing function that determines whether or not a given Turing Machine halts by simulating it and &quot;waiting until it halts / returns&quot; is not the only way to determine whether or not a Turing Machine halts.&lt;/li&gt;&#xA;&lt;li&gt;Uses &quot;proof by contradiction&quot;, although this is extremely context dependent.  My main concern is with a &quot;proof by contradiction&quot; that is &quot;self referential&quot; such that it forms a key part of the proof that can not be separated from the proof without causing the result to collapse.  I understand you may not understand or agree with my reasoning, but for my purposes a proof that did not use this technique would greatly simplify things.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Ideally, the proof would have the following properties:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Use technique such as exhaustively enumerative, pigeon hole, double count, etc.&lt;/li&gt;&#xA;&lt;li&gt;Uses a different branch of mathematics to achieve the same result, i.e. graph theory, combinatorics, etc.&lt;/li&gt;&#xA;&lt;li&gt;Still applies when reduced to the &quot;Boolean domain&quot; (i.e., a turing machine built using just 2 input, 1 output NAND gates (i.e., a computer) exhibits the same problem).  Specifically, the result can not contradict the fact that Boolean algebras have been proven to be decidable, and every $n$-bit Boolean $L$ can be shown to be decided by a bounded by a number of {AND, OR, NOT} gates (via Shannons &lt;em&gt;The synthesis of two-terminal switching circuits&lt;/em&gt;).&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I have spent quite a bit of time looking for alternate formulations of the Halting Problem that are not just simple permutations of the original proof given by Turing.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question:&lt;/strong&gt; Can you point me to a vetted proof of the Halting Problem that shares as absolutely as little in common with the one given by Turing?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;&lt;strong&gt;Please&lt;/em&gt;&lt;/strong&gt;, instead of arguing with me as to whether or not my reasons are valid, or that I &quot;don't get it and should just accept the proof given by Turing&quot;, it would be a great help to me and possibly someone else if you could simply help me &lt;em&gt;locate an alternate proof&lt;/em&gt;.  Yes, I am looking for proofs with certain properties, properties that inconveniently cull a number of candidates.  Despite this, they are properties that I unfortunately need.&lt;/p&gt;&#xA;" OwnerUserId="2572" LastEditorUserId="186" LastEditDate="2010-12-16T23:19:34.930" LastActivityDate="2010-12-17T01:28:38.320" Title="Alternative Turing Machine Proofs" Tags="&lt;computability&gt;&lt;turing-machines&gt;&lt;proofs&gt;&lt;halting-problem&gt;" AnswerCount="1" CommentCount="26" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3838" PostTypeId="2" ParentId="3836" CreationDate="2010-12-17T01:01:42.990" Score="-11" Body="&lt;p&gt;I think it is far more interesting that the circuit complexity classes used by CS complexity theory make different predictions and use different metrics than those in the VLSI community.  From &lt;a href=&quot;http://www.springerlink.com/content/721178k28467872t/&quot; rel=&quot;nofollow&quot;&gt;The VLSI complexity of Boolean functions&lt;/a&gt;:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;It is well-known that all Boolean functions of $n$ variables can be computed by a logic circuit with $O(2^n/n)$ gates (Lupanov's theorem) and that there exist Boolean functions of n variables which require logic circuits of this size (Shannon's theorem). We present corresponding results for Boolean functions computed by VLSI circuits, using Thompson's model of a VLSI chip. We prove that all Boolean functions of $n$ variables can be computed by a VLSI circuit of $O(2^n)$ area and period 1, and we prove that there exist Boolean functions of $n$ variables for which every (convex) VLSI chip must have $\Omega(2^n)$ area.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Interestingly, VLSI circuit complexity has a tendency to treat depth as &quot;irrelevant&quot; as there is one and only one &quot;depth&quot; that matters: the critical path.  For most practical purposes, an arbitrarily complex circuit can be treated as $O(1)$ with a latency of $n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In fact, I'm not even sure that the concept of $DLogTime$ / $NLogTime$ directly translates in to VLSI circuit complexity.  Even Shannons $2^n/n$ result does not readily translate: Shannons results is valid &lt;em&gt;only&lt;/em&gt; for a boolean basis consisting of arity $\le2$ {AND, OR, NOT}.  This is not the only basis, and the number of &quot;gates&quot; needed drops dramatically as you allow more and more gate types.  The following are $area^2$ from a commercial VLSI standard cell library normalized to the size of a 2 input NAND gate:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;        2    3    4    &amp;lt;- Arity&#xA;and    1.14 1.28 1.41&#xA;nand   1.00 1.14 1.28&#xA;or     1.14 1.41 1.41&#xA;nor    1.00 1.14 1.41&#xA;xor    1.62 2.44&#xA;xnor   1.62 2.44&#xA;&#xA;buf    1.14&#xA;inv    0.80&#xA;&#xA;aoi22  1.28&#xA;aoi222 1.62&#xA;aoi33  1.62&#xA;oai22  1.41&#xA;oai222 1.72&#xA;oai33  1.62&#xA;&#xA;addf   2.64&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Specifically, note the &lt;code&gt;aoi&lt;/code&gt; / &lt;code&gt;oai&lt;/code&gt; gates which are &lt;code&gt;And Or Invert&lt;/code&gt; / &lt;code&gt;Or And Invert&lt;/code&gt; consisting of &lt;em&gt;arity&lt;/em&gt; sized &lt;em&gt;first function&lt;/em&gt; feeding the second function, where the number of &lt;em&gt;first function&lt;/em&gt; gates is equal to the number of times &lt;em&gt;arity&lt;/em&gt; appears.  For example, &lt;code&gt;aoi22&lt;/code&gt; represents &quot;Two 2 input AND gates feeding a NOR gate&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My point is: Taken separately, a &lt;code&gt;oai222&lt;/code&gt; function can be built using three 2 input OR gates and a 3 input NAND gate, for a total area of ~4.56, not including any area used for interconnect.  Yet this primitive can be realized in an area of just 1.72, which means a discrete manifestation of the same boolean function consumes 2.65 times more area.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also note that the area for an $n$ input {AND, NAND, OR, NOR, XOR, XNOR} gate, where $n\ge2$, is much less than the area that it would take to build the same function using discrete 2 input gates.  Also note that while the area given for {XOR, XNOR} for this process is &quot;large&quot; relative to the other gates, there are other ways to build the same $n$ input gates using less area.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The propagation properties for the more complex primitives is also significantly better than what would be achieved using discrete gates.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Why is this important?  Because for me, at least, I've spent a simply enormous amount of time sifting through results from complexity theory that are built on a set of assumptions that has the effect of either rendering the result useless or wrong once the assumption is violated.  The following is from Steven Cooks &lt;a href=&quot;http://www.claymath.org/millennium/P_vs_NP/pvsnp.pdf&quot; rel=&quot;nofollow&quot;&gt;$\mathcal{P}$ vs $\mathcal{NP}$&lt;/a&gt;:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Thus to prove $\mathcal{P} \ne \mathcal{NP}$ it suffices to prove a super-polynomial lower bound on the size of any family of Boolean circuits solving some specific $\mathcal{NP}$-complete problem, such as 3-SAT. Back in 1949 Shannon proved that for almost all Boolean functions $f : \{0,1\}^n \to \{0,1\}$, any Boolean circuit computing $f$ requires at least $2^n/n$ gates. Unfortunately, his counting argument gives no clue as to how to prove lower bounds for problems in $\mathcal{NP}$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I find Cooks reasoning curious.  Shannons result is valid for all $f : \{0,1\}^n \to \{0,1\}$, therefore if a $\mathcal{NP}$ problem can be described in $\{0,1\}^n$ bits, there must be a {AND, OR, NOT} basis circuit that can decide if it is satisfiable in ~$2^n/n$ gates (the actual paper gives a larger upper, but finite, bound for every possible function).  What this tells us is that anything that uses more than $n$ gates, where $n$ is the upper bound for the size of the $\mathcal{NP}$ problem, is using more gates than is required.  Using a larger, but complete, boolean basis only reduces the number of gates required.  Using a different circuit complexity model, i.e. VLSI, gives even &quot;better&quot; result bounds.  Curious.  But we know for a fact that any solution to a $\mathcal{NP}$ problem that uses more than ~$2^n/n$ &quot;gates&quot; (where gates is used loosely for steps / operations) is doing so in a sub-optimal fashion... and there's an infinite number of ways to find a solution in a sub-optimal fashion.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.computer.org/portal/web/csdl/doi/10.1109/12.73590&quot; rel=&quot;nofollow&quot;&gt;On the Complexity of VLSI Implementations and Graph Representations of Boolean Functions with Application to Integer Multiplication&lt;/a&gt; shows that predicting circuit complexity using a OBDD model over-estimates the actual circuit complexity:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Lower-bound results on Boolean-function complexity under two different models are discussed. The first is an abstraction of tradeoffs between chip area and speed in very-large-scale-integrated (VLSI) circuits. The second is the ordered binary decision diagram (OBDD) representation used as a data structure for symbolically representing and manipulating Boolean functions. The lower bounds demonstrate the fundamental limitations of VLSI as an implementation medium, and that of the OBDD as a data structure. It is shown that the same technique used to prove that any VLSI implementation of a single output Boolean function has area-time complexity $AT^2 = \Omega (n^2)$ also proves that any OBDD representation of the function has $\Omega(c^n)$ vertices for some $c&amp;lt;1$ but that the converse is not true. There are functions for which any OBDD representation is of exponential size, but there is a VLSI implementation of complexity $AT^2 = O(n^{1+c})$.&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;An integer multiplier for word size $n$ with outputs numbered 0 (least significant) through $2n-1$ (most significant) is described. For the Boolean function representing either output $i-1$ or output $2n-i-1$, where $1\le i\le n$, the following lower bounds are proved: any VLSI implementation must have $AT^2 = \Omega(i^2)$ and any OBDD representation must have $\Omega(1.09^i)$ vertices.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="2572" LastActivityDate="2010-12-17T01:01:42.990" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="3839" PostTypeId="2" ParentId="3837" CreationDate="2010-12-17T01:15:31.743" Score="4" Body="&lt;p&gt;I think I might understand what the asker is asking about. I don't think that he objects to proofs by contradiction in general. Rather, I've interpreted his various recent statements as an objection to proofs by contradiction of the following form:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Assume the existence of an object $A$ with property $P$.&lt;/li&gt;&#xA;&lt;li&gt;Through a sequence of deductions, we determine that $A$ does not possess property $P$.&lt;/li&gt;&#xA;&lt;li&gt;Thus, we conclude that no object exists with property $P$.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;I would point out that such proofs by contradiction are completely standard throughout all of mathematics, not just in theoretical computer science. But, never mind that for now. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think the exposition in Chapter 8 of &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0321462254&quot; rel=&quot;nofollow&quot;&gt;Hopcroft &amp;amp; Ullman&lt;/a&gt; just might avoid the asker's objections. It proceeds as follows:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Construct a language $L_d$ that is not accepted by any Turing machine. Of course, such languages must exist by the pigeon-hole principle. In this proof, $L_d$ is constructed explicitly. &lt;/li&gt;&#xA;&lt;li&gt;Show that if $L_d$ is not accepted by any Turing machine, neither is its complement $\overline{L_d}$. This a fairly obvious observation given the mechanics of a Turing machine.&lt;/li&gt;&#xA;&lt;li&gt;In the book, they define the language $L_u$ consisting of all strings which encode a pair $(M, w)$ where $M$ is a Turing machine and $x$ is an input string such that $M$ accepts $x$. For our purposes, we can define $L_h$ in a similar way except we require merely that $M$ halts on $x$ (not necessarily in an accepting state). &lt;/li&gt;&#xA;&lt;li&gt;Show that if there exists an algorithm to decide membership in $L_h$, we can construct a Turing machine that accepts $\overline{L_d}$ (as defined above). Note that $L_d$ was constructed completely independently of $L_h$ and has nothing to do with $L_h$. &lt;/li&gt;&#xA;&lt;li&gt;Since $\overline{L_d}$ was constructed so that no Turing machine could accept it, we conclude that there does not exist an algorithm to decide $L_h$. &lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="751" LastEditorUserId="751" LastEditDate="2010-12-17T01:28:38.320" LastActivityDate="2010-12-17T01:28:38.320" CommentCount="10" ContentLicense="CC BY-SA 2.5" />
  <row Id="3841" PostTypeId="1" CreationDate="2010-12-17T04:03:36.667" Score="14" ViewCount="1061" Body="&lt;p&gt;SAT Problems  have a &lt;a href=&quot;http://arxiv.org/pdf/cs/0005024&quot; title=&quot;Paper Reference&quot;&gt; phase transition &lt;/a&gt; that depends on the ratio $r$ of variables to clauses. Below $r$, SAT problems are solvable quickly; above, they become difficult. The same is true of NP Complete problems in general, AFAIK.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose I have a hard instance of an NP Hard problem, say HAM CYCLE and I reduce the problem down to SAT. &lt;i&gt; Can you say anything about the hardness of the SAT instance? Will it be easy or hard?  &lt;/i&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Intuitively, it seems the SAT Problem reduced to should be hard, but is there a proof? &lt;/p&gt;&#xA;" OwnerUserId="2801" LastEditorUserId="1590" LastEditDate="2014-05-12T22:55:11.847" LastActivityDate="2014-05-12T22:55:11.847" Title="Phase Transitions in NP Hard Problems" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;&lt;phase-transition&gt;" AnswerCount="0" CommentCount="7" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="3842" PostTypeId="1" AcceptedAnswerId="3897" CreationDate="2010-12-17T04:06:12.727" Score="8" ViewCount="1974" Body="&lt;p&gt;Recently I've read some stuff about incremental optimization problems, but I can't see what's the difference between those and online optimization problems. My impression is that I can define every online problem as an incremental counterpart (the reverse is clearly true).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here go the (not very formal) definitions. In an incremental problem, one is given a sequence of instances of an optimization problem. The (i+1)-th instance is an &quot;extension&quot; of the i-th one. The (i+1)-th solution must be calculated without knowledge of the &quot;future&quot; instances, and has to keep the decisions made at the i-th solution. The classical example is with the k-median problem: after opening k facilities, one wants to have k' &gt; k facilities but does not want to demolish the old ones.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In an online problem, (the usual definition is that) one is given a sequence of &quot;requests&quot;. Here, one also has to answer a request without knowledge of the future requests. One wants to optimize the cost/gain of answering the sequence as a whole.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I believe that for any online problem I can define an &quot;offline&quot; optimization problem that fits the incremental definition (and what I usually see is the reverse). If the definitions are equivalent, what is the point of using a different name for the same concept?&lt;/p&gt;&#xA;" OwnerUserId="2802" LastEditorUserId="2802" LastEditDate="2010-12-20T19:49:15.010" LastActivityDate="2010-12-20T21:38:38.383" Title="What's the difference between online and incremental optimization?" Tags="&lt;ds.algorithms&gt;&lt;optimization&gt;&lt;online-algorithms&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="3846" PostTypeId="1" AcceptedAnswerId="3867" CreationDate="2010-12-17T15:30:31.583" Score="8" ViewCount="707" Body="&lt;p&gt;CSP optimization problem is approximation resistant if it is $NP$-hard to beat the approximation factor of a random assignment. For instance, MAX 3-LIN is approximation resistant since  a random assignment satisfies $1/2$ fraction of  the linear equations but achieving approximation factor $1/2+ \epsilon$ is $NP$-hard.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;MAX CUT is a fundamental $NP$-complete. It can be formulated as CSP problem of solving linear equations modulo 2 ($x_i + x_j= 1$ mod 2). A random assignment achieves  $1/2$-approximation factor (of the total number of edges $|E|$). &lt;a href=&quot;http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=67327&quot; rel=&quot;nofollow&quot;&gt;Haglin and Venkatesan&lt;/a&gt; proved that achieving an approximation factor $1/2+ \epsilon$ is $NP$-hard (i.e. finding a cut better than $|E|/2$). However, Hastad showed that MAX CUT is not approximable to $16/17+ \epsilon$ factor within the optimal cut unless $P=NP$. Goemans and Williamson gave a SDP-based polynomial time algorithm with 0.878 approximation factor (within the optimal cut) which is optimal assuming the Unique Games Conjecture. It seems to me that expressing the approximation factor relative to total number of constraints ($|E|$) is more natural and consistent with the convention used for MAX 3-LIN problem. &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Why is the approximation factor for MAX CUT given relative to the size of optimal cut instead of the number of constraints (# of edges)? Am I right in concluding that MAX CUT is approximation resistant when the approximation factor is relative to the total number of constraints ($|E|$)?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2010-12-19T07:10:36.757" LastActivityDate="2010-12-19T07:10:36.757" Title="Is MAX CUT approximation resistant?" Tags="&lt;cc.complexity-theory&gt;&lt;approximation-hardness&gt;&lt;max-cut&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="3847" PostTypeId="1" AcceptedAnswerId="3858" CreationDate="2010-12-17T16:33:27.460" Score="8" ViewCount="396" Body="&lt;p&gt;Could anyone give an &lt;strong&gt;intuitive&lt;/strong&gt; (&lt;em&gt;not&lt;/em&gt; intutionistic) explanation of the correspondence of left introduction and elimination of implication in &lt;a href=&quot;http://en.wikipedia.org/wiki/Sequent_calculus&quot; rel=&quot;nofollow&quot;&gt;Sequent Calculus&lt;/a&gt; (SC) and &lt;a href=&quot;http://en.wikipedia.org/wiki/Natural_deduction&quot; rel=&quot;nofollow&quot;&gt;Natural Deduction&lt;/a&gt; (ND) respectively? I know they should by the symmetry of SC but I don't see how they correspond to each other. More generally, I don't understand how left introduction of a connective in SC renders exactly the elimination of it in ND intuitively.&lt;/p&gt;&#xA;" OwnerUserId="656" LastEditorUserId="186" LastEditDate="2010-12-18T10:39:37.993" LastActivityDate="2011-07-26T14:20:33.570" Title="About the correspondence of left introduction and elimination of implication in Sequent Calculus and in Natural Deduction resp." Tags="&lt;lo.logic&gt;&lt;proof-theory&gt;&lt;sequent-calculus&gt;&lt;natural-deduction&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="3848" PostTypeId="2" ParentId="79" CreationDate="2010-12-17T16:33:56.163" Score="10" Body="&lt;p&gt;The cutting stock problem with a constant number of object lengths. &lt;a href=&quot;https://cstheory.stackexchange.com/questions/3826/np-hardness-of-a-special-case-of-orthogonal-packing-problem/3827#3827&quot;&gt;See this discussion&lt;/a&gt; for more information. &lt;/p&gt;&#xA;" OwnerUserId="80" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2010-12-17T16:33:56.163" CommentCount="0" CommunityOwnedDate="2010-12-17T16:33:56.163" ContentLicense="CC BY-SA 2.5" />
  <row Id="3849" PostTypeId="2" ParentId="3847" CreationDate="2010-12-17T17:51:04.213" Score="8" Body="&lt;p&gt;Just to recap: in ND, the elimination of a connective tells us how to use it:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$A \wedge B$&lt;br&gt;&#xA;$---$&lt;br&gt;&#xA;$A$&#xD;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$A \wedge B$&lt;br&gt;&#xA;$---$&lt;br&gt;&#xA;$B$&#xD;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;are the elim rules for conjunction. They say that we can use $A\wedge B$ to get $A$, or to get $B$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Similarly, in SC:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\Gamma,A\vdash \Delta$&lt;br&gt;&#xA;$------$&lt;br&gt;&#xA;$\Gamma,A\wedge B \vdash \Delta$&#xD;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\Gamma,B\vdash \Delta$&lt;br&gt;&#xA;$------$&lt;br&gt;&#xA;$\Gamma,A\wedge B \vdash \Delta$&#xD;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What the SC rules are telling us is that if we &quot;need&quot; $A$ or $B$, then we can use $A\wedge B$ in place of $A$ or $B$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In general, SC left introduction rules tell us &quot;when&quot; we can use a connective, and ND elimination rules tell us &quot;how&quot; to use a connective.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, for implication, in ND we have:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$A \rightarrow B$  &amp;nbsp; &amp;nbsp; &amp;nbsp;  $A$&lt;br&gt;&#xA;$------$&lt;br&gt;&#xA;$B$&#xD;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In SC:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\Gamma \vdash A,\Delta$ &amp;nbsp; &amp;nbsp; &amp;nbsp;   $\Sigma,B\vdash \Pi$&lt;br&gt;&#xA;$----------$&lt;br&gt;&#xA;$\Gamma,\Sigma, A\rightarrow B \vdash \Delta,\Pi$&#xD;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, the first thing to do with the SC rule is to ignore the &quot;crap&quot;. $\Delta$ and $\Sigma$ can be ignored for the purposes of intuition:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\Gamma \vdash A$ &amp;nbsp; &amp;nbsp; &amp;nbsp;  $B\vdash \Pi$&lt;br&gt;&#xA;$-------$&lt;br&gt;&#xA;$\Gamma, A\rightarrow B \vdash \Pi$&#xD;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What this says is that if we know how to use what we &quot;have&quot; ($\Gamma$) to prove $A$, and we know how to use $B$ to prove what we want $(\Pi)$, then we can use $A\rightarrow B$ to get what we want ($\Pi$). That is, once again the left introduction rule is telling us &quot;when&quot; we can use the connective.&lt;/p&gt;&#xA;" OwnerUserId="319" LastEditorUserId="319" LastEditDate="2010-12-17T18:16:05.290" LastActivityDate="2010-12-17T18:16:05.290" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="3853" PostTypeId="1" AcceptedAnswerId="3860" CreationDate="2010-12-17T21:37:19.600" Score="2" ViewCount="189" Body="&lt;p&gt;First, a longish prologue.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assume typical SSL/IKE/SSH-like connections where a Diffie-Hellman exchange is done first to establish session encryption and decryption keys, where those keys are subsequently used for all transmission in the connection, with a symmetric encryption algorithm, such as AES. Also assume that a single peer has many separate connections, with separate symmetric keys.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If the connections are not separated by other external means (such as TCP connections), a peer receiving a packet needs some way to distinguish which connection a packet belongs to, to know which symmetric keys to use for decrypting it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is obviously trivially handled by prefixing each message by a connection id (that is not cryptographically significant). This is the approach taken by IPSEC, for example (security association id, 32-bit integer).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;And, here comes the question:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;What would be a method to encrypt the connection id in such a way, that nobody else but the recipient can tell which packets belong to which connection?&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The simple solution would be to encrypt the connection id with an asymmetric encryption method for the recipient's public key, and prefix this block to each message. However, this solution is computationally too expensive to be done per packet, atleast with the traditional methods of asymmetric encryption (RSA, ElGamal, Elliptic Curves, etc.).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An incomplete solution would be that the recipient server has one shared connection id encryption key, which is revealed to each communicating party inside the Diffie-Hellman handshake. This way, no passive attacker can know which packet belongs to which connection - but every party in active communication with the recipient has the same shared symmetric encryption key, and can tell all the connections apart.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Yet another solution would be for the recipient just to trial decrypt each packet with every symmetric key it has, and see which decryption produces a valid authenticator for the packet. But this becomes computationally too expensive, if the recipient has more than a few connections.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, my question is really - are there any other methods I haven't thought of that could be used for the purpose? There are all sorts of funky encryption methods one could use, such as homomorphic encryption, but I haven't really come up with anything solid. Or is this problem a straight case of asymmetric encryption (or trapdoor function), for which there are no sufficiently fast solutions?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Or, if such a method can not be found, then I would like to find a simple obfuscation method, that wouldn't really give any guarantees, but which would make it hard for an attacker to determine the connection identities from just a few packets.&lt;/p&gt;&#xA;" OwnerUserId="2714" LastActivityDate="2010-12-18T09:06:05.783" Title="Encrypting or obfuscating transport stream identifiers in SSL-like connections" Tags="&lt;cr.crypto-security&gt;&lt;security&gt;&lt;obfuscation&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3858" PostTypeId="2" ParentId="3847" CreationDate="2010-12-18T03:22:49.970" Score="9" Body="&lt;p&gt;In computational terms, a sequent calculus term is a sequentialization of a lambda term. That is, viewed as a type system, sequent calculus can be seen as giving an evaluation order of a lambda-term.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, suppose $\Gamma \vdash e_1 : A \to B$, and $\Gamma \vdash e_2 : A$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In natural deduction, the term for implication elimination is $\Gamma \vdash e_1\;e_2 : B$ -- that is, application. However, note that this doesn't tell us whether to evaluate $e_1$ first or $e_2$ first. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In sequent calculus, a corresponding proof term assignment must look like &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\mathsf{let}\; f = e_1 \;\mathsf{in}\;\mathsf{let}\;v = e_2\;\mathsf{in}\;\mathsf{let}\; x = f\;v \;\mathsf{in}\;x$$&#xD;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;or else it must look like &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\mathsf{let}\; v = e_2\;\mathsf{in}\;\mathsf{let}\;f = e_1 \;\mathsf{in}\;\mathsf{let}\; x = f\;v \;\mathsf{in}\;x$$&#xD;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here, the let-form is the proof term corresponding to the use of the cut-rule, and since all of the left rules act only on hypotheses/variables, this forces us to bind all intermediate results to variables. This requirement ensures that we are forced to explicitly say which of $e_1$ or $e_2$ we reduce and bind to a variable first. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For purely functional languages, this explicitness doesn't matter, but as you add effects it becomes easier to work with sequent calculi. This is why things like calculi of control effects/classical logic are typically presented sequent calculus. &lt;/p&gt;&#xA;" OwnerUserId="657" LastActivityDate="2010-12-18T03:22:49.970" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="3859" PostTypeId="2" ParentId="3624" CreationDate="2010-12-18T08:44:02.283" Score="1" Body="&lt;p&gt;The follow link gives an overview of most CMOS gates. Note that &quot;AND OR Inverted&quot; (AOI) and &quot;OR AND Inverted&quot; (OAI) in the link.  These circuits are typically a fraction of the size it would take to create the same circuit using their discrete components.  For example, a OAI33 circuit (taken from a commercial foundries standard cell library) takes ~$1.62^2$ area, but building the same circuit using the equivalent discrete cells takes ~$3.82^2$ area.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://people.bu.edu/rknepper/sc571/chapter5_ckts_A.ppt&quot; rel=&quot;nofollow&quot;&gt;CMOS Technology Logic Circuit Structures&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The following describes an eight transistor full adder circuit, which is typically defined in boolean algebra as $s = a \oplus b \oplus c_{in}$.  For comparison, a typical 2 input {NAND, OR, XOR, etc} gate is typically composed of four to eight transistors.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.wseas.us/e-library/conferences/2010/Cambridge/ICNVS/ICNVS-46.pdf&quot; rel=&quot;nofollow&quot;&gt;High Speed, Low Power 8T Full Adder Cell&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;A good place to find high speed, compact XOR / XNOR gates is in full-adders and Hamming ECC circuits (which are typically in the critical path).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, the issue of &lt;em&gt;circuit depth&lt;/em&gt; is typically not a concern in VLSI synchronous logic.  The only &lt;em&gt;depth&lt;/em&gt; of any consequence is the critical path, which defines the maximum clock period.  The vast majority of combinatorial logic propagate their results in a fraction of the time for the critical path.  Critical paths tend to occur with some combinatorial logic that needs to pass through several areas scattered over a chip.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Many times it is possible to &quot;pipeline&quot; combinatorial logic to meet the timing constraints.  This has the effect of creating a circuit that takes a new input and produces a new output every clock cycle, but has a &lt;em&gt;latency&lt;/em&gt; of $n$ clock cycles before a given input is available on the output.  This tends to make most circuits ~$O(1)$ in practice.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You may find the following paper of interest, which discusses VLSI $AT^2 = \Omega(n^2)$ complexity:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.computer.org/portal/web/csdl/doi/10.1109/12.73590&quot; rel=&quot;nofollow&quot;&gt;On the Complexity of VLSI Implementations and Graph Representations of Boolean Functions with Application to Integer Multiplication&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;This is from the Computation Complexity Blog:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;This raises the question: do some people in the real real world really want to construct polysize constant depth unbounded fanin AND-OR-NOT circuits for PARITY, and does this result tell them why they cannot?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;To which the answer is: &lt;em&gt;no&lt;/em&gt;, no one builds PARITY circuits in the real world this way.  The last time anyone wanted to do this was when the only thing they had to work with was mechanical relays and this is why Shannons ~$2^n/n$ lower bound for most circuits result is for {AND, OR, NOT}.  Even Shannon knew XOR could not be represented efficiently using just {AND, OR, NOT}:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;It can be shown by a study of special cases that $\lambda(3) = 8$, the function&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;$X \oplus Y \oplus Z = X(YZ+Y'Z') + X'(YZ'+Y'Z)$&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;requiring eight elements in its most economical realization. $\mu(3)$, however, is actually 3. It seems probable that, in general, the function &lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;$X_1 \oplus X_2 \oplus \ldots \oplus X_n$&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;requires $4(n-1)$ elements but no proof has been found.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="2572" LastActivityDate="2010-12-18T08:44:02.283" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3860" PostTypeId="2" ParentId="3853" CreationDate="2010-12-18T08:56:20.630" Score="2" Body="&lt;p&gt;Use a variation on your shared secret-key encryption proposal: Every packet has an encrypted header for which the plaintext is the connection ID concatenated with the packet sequence number. After successfully receiving a (connection, n) packet, the next packet received on that connection will be (connection, n+1). Store the encryption of (connection, n+1) in a hash table and remove the expired entry for (connection, n). When receiving a packet, do a hash table lookup using the packet's encrypted header word to find out its associated connection. Obviously for this to work, sender and receiver must use synchronized ciphers (e.g. a stream cipher initialized with a negotiated IV and the shared secret key).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can easily extend this algorithm to deal with longer sliding windows by adding hash table entries for sequence numbers n through n+k. The space cost is O(mk) where m is the number of open connections and k is the length of the sliding window.&lt;/p&gt;&#xA;" OwnerUserId="1435" LastEditorUserId="1435" LastEditDate="2010-12-18T09:06:05.783" LastActivityDate="2010-12-18T09:06:05.783" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="3862" PostTypeId="2" ParentId="1484" CreationDate="2010-12-18T15:07:46.147" Score="11" Body="&lt;p&gt;The point is given a general boolean function f there is a monotone boolean function g so that any super linear lower bound on g implies one on f. Or stronger the general complexity of f is equal to the monotone complexity of g up to O(n). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I still am not sure how this relates to the barriers.&lt;/p&gt;&#xA;" OwnerUserId="2825" LastActivityDate="2010-12-18T15:07:46.147" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3863" PostTypeId="1" AcceptedAnswerId="3869" CreationDate="2010-12-18T18:42:59.983" Score="12" ViewCount="969" Body="&lt;p&gt;What are the most significant research papers on the foundations of generics in C# and .NET?&lt;/p&gt;&#xA;" OwnerUserId="2828" LastEditorUserId="2828" LastEditDate="2010-12-19T13:18:16.220" LastActivityDate="2010-12-19T13:18:16.220" Title="C# Generics Research Papers" Tags="&lt;pl.programming-languages&gt;" AnswerCount="1" CommentCount="14" FavoriteCount="6" ContentLicense="CC BY-SA 2.5" />
  <row Id="3865" PostTypeId="1" CreationDate="2010-12-19T01:51:01.487" Score="-2" ViewCount="798" Body="&lt;p&gt;I have an old Spanish CG book that calls Perlin Noise a &quot;fractal structure&quot;. After reading &lt;a href=&quot;http://webstaff.itn.liu.se/~stegu/TNM022-2005/perlinnoiselinks/perlin-noise-math-faq.html&quot; rel=&quot;nofollow&quot;&gt;this&lt;/a&gt; I couldn't deny it or confirm it. Is it a fractal structure? What would it Hausdorff dimension be?&lt;/p&gt;&#xA;" OwnerUserId="2587" LastActivityDate="2010-12-19T05:06:09.080" Title="Is Perlin Noise a &quot;fractal&quot;?" Tags="&lt;terminology&gt;" AnswerCount="1" CommentCount="2" ClosedDate="2010-12-19T06:29:56.480" ContentLicense="CC BY-SA 2.5" />
  <row Id="3866" PostTypeId="2" ParentId="1104" CreationDate="2010-12-19T03:06:25.000" Score="3" Body="&lt;p&gt;You may take a look at &lt;a href=&quot;http://www.ii.uib.no/~telle/bib/FKT.pdf&quot; rel=&quot;nofollow&quot;&gt;The Star System Problem revived&lt;/a&gt;. Among other things, the authors prove that:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;if the graph $G$ is required to be $C_k$-free, i.e. not allowed to have an induced cycle of length $k$, then the problem is solvable in polynomial time for each $k \le 4$, and is NP-complete for each $k&amp;gt;5$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;In addition, you may find the papers in &lt;a href=&quot;http://scholar.google.com/scholar?cites=8154835037185315057&amp;amp;as_sdt=2005&amp;amp;sciodt=2000&amp;amp;hl=en&quot; rel=&quot;nofollow&quot;&gt;this list&lt;/a&gt; useful.&lt;/p&gt;&#xA;" OwnerUserId="873" LastActivityDate="2010-12-19T03:06:25.000" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3867" PostTypeId="2" ParentId="3846" CreationDate="2010-12-19T03:47:14.640" Score="14" Body="&lt;p&gt;If you measure approximation as a ratio between the number of constraints satisfied by your algorithm divided by the total number of constraints, then trivially all constraint satisfaction problems are unconditionally approximation-resistant.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By definition, a problem is approximation resistant if the (worst-case) approximation ratio of a random solution is (up to an additive $o(1)$ term) best possible among the (worst-case) approximation ratios achieved by all polynomial time algorithms. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;With your definition of approximation ratio, you get approximation resistance of Max Cut (and all constraint satisfaction problems)  just because you can always construct instances for which the ratio given (on average) by a random assignment is more or less (up to a $o(1)$ term) the same as the ratio given by an optimal assignment. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, in the Max Cut problem, a clique on $n$ vertices is a graph that has ${n \choose 2} = n\cdot (n-1)/2$ edges, and in which an optimal cut cuts $n^2/4$ edges. This means that every algorithm, and in particular every polynomial time algorithm, has a worst-case approximation ratio (according to your definition) that is at most $1/2 + O(1/n)$ on $n$-vertex graphs. The random assignment has ratio $1/2$ on all instances, and so no algorithm can do better than the random algorithm, and the problem is approximation-resistant. &lt;/p&gt;&#xA;" OwnerUserId="1069" LastActivityDate="2010-12-19T03:47:14.640" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="3868" PostTypeId="2" ParentId="3865" CreationDate="2010-12-19T05:06:09.080" Score="1" Body="&lt;p&gt;Perlin noise, by default, is not self-similar the way we would expect a fractal to be.  Ken Perlin seems to imply that it is not a fractal, but that it can be usefully used to make fractals!  See his slide here: &lt;a href=&quot;http://www.noisemachine.com/talk1/21.html&quot; rel=&quot;nofollow&quot;&gt;http://www.noisemachine.com/talk1/21.html&lt;/a&gt; where he briefly mentions how one might do that.&lt;/p&gt;&#xA;" OwnerUserId="730" LastActivityDate="2010-12-19T05:06:09.080" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3869" PostTypeId="2" ParentId="3863" CreationDate="2010-12-19T09:10:52.097" Score="22" Body="&lt;p&gt;Most of the important work on generics for C# was done by Andrew Kennedy at Microsoft Research Cambridge. He has a &lt;a href=&quot;http://research.microsoft.com/en-us/um/people/akenn/generics/index.html&quot; rel=&quot;nofollow&quot;&gt;web page&lt;/a&gt; devoted to the topic. A fairly recent paper discussion the foundations is &lt;a href=&quot;http://research.microsoft.com/pubs/64042/ecoop06.pdf&quot; rel=&quot;nofollow&quot;&gt;this one&lt;/a&gt; (which definitely looks like theory to me).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More recent, but interesting, work went into the design of &lt;a href=&quot;http://research.microsoft.com/en-us/um/cambridge/projects/comega/&quot; rel=&quot;nofollow&quot;&gt;C$\omega$&lt;/a&gt;. Also looking at the rather large amount of literature on Java generics, such as &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.109.1141&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;nofollow&quot;&gt;Featherweight Java&lt;/a&gt;, will also help. If you really want to start looking at the foundations, consider Cardelli's work on &lt;a href=&quot;http://lucacardelli.name/indexPapers.html#Types%20and%20Semantics&quot; rel=&quot;nofollow&quot;&gt;Types and Semantics&lt;/a&gt;, and perhaps consider looking at &lt;a href=&quot;http://en.wikipedia.org/wiki/System_F&quot; rel=&quot;nofollow&quot;&gt;System F&lt;/a&gt; (and the original papers of Reynolds and Girard).&lt;/p&gt;&#xA;" OwnerUserId="77" LastEditorUserId="77" LastEditDate="2010-12-19T10:01:39.757" LastActivityDate="2010-12-19T10:01:39.757" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="3870" PostTypeId="2" ParentId="3765" CreationDate="2010-12-19T09:30:59.770" Score="3" Body="&lt;p&gt;For the cryptographical pseudo-random generator case, you might also look in to &lt;a href=&quot;http://webee.technion.ac.il/~hugo/kdf/&quot; rel=&quot;nofollow&quot;&gt;HKDF&lt;/a&gt;. In the &lt;a href=&quot;http://eprint.iacr.org/2010/264.pdf&quot; rel=&quot;nofollow&quot;&gt;paper&lt;/a&gt; they discuss randomness extractors conceptually and practically, and give nice references.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As a side note for generating randomness for Monte Carlo, there's of course &lt;a href=&quot;http://www.irisa.fr/caps/projects/hipsor/&quot; rel=&quot;nofollow&quot;&gt;HAVEGE&lt;/a&gt;. If its bit-speed and &quot;provability&quot; are sufficient, you might avoid having to muck around with the quantum generators.&lt;/p&gt;&#xA;" OwnerUserId="2714" LastEditorUserId="2714" LastEditDate="2010-12-19T09:45:26.607" LastActivityDate="2010-12-19T09:45:26.607" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3871" PostTypeId="1" AcceptedAnswerId="4003" CreationDate="2010-12-19T11:33:33.987" Score="12" ViewCount="891" Body="&lt;p&gt;Linear programming is, of course, nowadays very well understood. We have a lot of work that characterises the structure of feasible solutions, and the structure of optimal solutions. We have the strong duality, poly-time algorithms, etc.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But what is known about &lt;strong&gt;minimum maximal solutions&lt;/strong&gt; of LPs? Or, equivalently, maximum minimal solutions?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(This is not really a research question, but maybe we can have something less technical for the holidays. I'm just being curious, and after some googling I got the feeling that I must be missing the right keywords. It feels like an obvious problem to study, but I only found some sporadic papers that mention the problem.)&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;To keep things simple, let's focus on &lt;a href=&quot;http://en.wikipedia.org/wiki/Linear_programming#Covering-packing_dualities&quot;&gt;packing and covering LPs&lt;/a&gt;. In a &lt;strong&gt;packing LP&lt;/strong&gt; we are given a &lt;strong&gt;non-negative&lt;/strong&gt; matrix $A$. A vector $x$ is &lt;strong&gt;feasible&lt;/strong&gt; if $x \ge 0$ and $Ax \le 1$. We say that $x$ is &lt;strong&gt;maximal&lt;/strong&gt; if it is feasible and we can't greedily increase any component. That is, if $y \ge 0$ and $y \ne 0$, then $x + y$ is not feasible. And finally, $x$ is a &lt;strong&gt;minimum maximal&lt;/strong&gt; solution, if it minimises the objective function $\sum_i x_i$ among all maximal solutions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(You can define a &lt;em&gt;maximum minimal&lt;/em&gt; solution of a &lt;em&gt;covering LP&lt;/em&gt; in an analogous manner.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What does the space of minimum maximal solutions look like? How can we find such solutions? How difficult it is to find such solutions? How can we approximate such solutions? Who studies such things, and what is the right term for it?&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;These questions were originally motivated by &lt;a href=&quot;http://en.wikipedia.org/wiki/Edge_dominating_set&quot;&gt;edge dominating sets&lt;/a&gt; and &lt;a href=&quot;http://en.wikipedia.org/wiki/Matching_%28graph_theory%29#Maximal_matchings&quot;&gt;minimum maximal matchings&lt;/a&gt;. It is well known (and fairly easy to see) that a minimum maximal matching is a minimum edge dominating set; conversely, given a minimum edge dominating set, it is easy to construct a minimum maximal matching.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So they are, in essence, the same problem. Both problems are NP-hard and APX-hard. There is a trivial 2-approximation algorithm: any maximal matching.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, their &quot;natural&quot; LP relaxations look very different. If you take the edge dominating set problem and form a natural LP relaxation, you get a covering LP. However, if you take the problem of finding a minimum maximal matching and try to come up with an LP relaxation, then what do you get? Well, of course fractional matchings are feasible solutions of a packing LP; then maximal fractional matchings are maximal solutions of such LPs, and minimum maximal fractional matchings are therefore minimum maximal solutions of such LPs. :)&lt;/p&gt;&#xA;" OwnerUserId="74" LastActivityDate="2011-01-11T17:21:22.123" Title="Minimum maximal solutions of LPs" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;linear-programming&gt;&lt;optimization&gt;" AnswerCount="2" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3872" PostTypeId="2" ParentId="899" CreationDate="2010-12-19T21:00:22.890" Score="3" Body="&lt;p&gt;Passwords are about the only form of authentication human beings can use, but the entropy of passwords remembered by humans is very low. Hence, dictionary attacks against passwords are very effective. Several different PAKE protocols can make network protocols safe against both passive and active attackers, but none of them can protect against server compromise - a dictionary attack can always be mounted against the authentication data the server holds.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Secret sharing is used in building secure authentication protocols with weak passwords where the leakage of a single server's data does not allow for dictionary attacks on the password. A simple form of this is used in the real world by Verisign: &lt;a href=&quot;http://www.verisign.com/repository/pubs/server-assisted-password.pdf&quot; rel=&quot;nofollow&quot;&gt;Server-Assisted Generation of a Strong Secret from a Password&lt;/a&gt;. More recent research in to the problem: &lt;a href=&quot;http://www.cs.umd.edu/~jkatz/reading_refs/threshold_koy_proc.pdf&quot; rel=&quot;nofollow&quot;&gt;Provably Secure Threshold Password-Authenticated Key Exchange&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="2714" LastActivityDate="2010-12-19T21:00:22.890" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3873" PostTypeId="1" AcceptedAnswerId="3877" CreationDate="2010-12-19T21:02:39.283" Score="79" ViewCount="9576" Body="&lt;p&gt;This question may not suit to here, but I couldn't find a better place to ask (it was closed in SO).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I find research papers on computer science hard to understand. Of course the subjects are complicated. But after I understand a paper usually I can &lt;em&gt;tell&lt;/em&gt; it to someone in simpler terms, and make them understand. If somebody else tells me what is done in that research I understand too.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think the best example that I can tell here is: I have tried to understand SIFT paper for a long time, and I found a &lt;a href=&quot;http://www.aishack.in/2010/05/sift-scale-invariant-feature-transform/&quot;&gt;tutorial&lt;/a&gt; while googling, in a couple of hours I was ready to implement the algorithm. If I was to understand the algorithm from the paper itself it might have taken a couple of days I think.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is: is it only me who finds research papers this hard to understand? If not how do you deal with it? What are your techniques? Can you give tips?&lt;/p&gt;&#xA;" OwnerUserId="2838" LastEditorUserId="186" LastEditDate="2010-12-20T00:00:45.857" LastActivityDate="2020-05-16T10:03:15.717" Title="Are research papers hard to read?" Tags="&lt;soft-question&gt;&lt;research-practice&gt;" AnswerCount="9" CommentCount="8" FavoriteCount="53" ContentLicense="CC BY-SA 2.5" />
  <row Id="3874" PostTypeId="2" ParentId="3873" CreationDate="2010-12-19T21:17:23.750" Score="37" Body="&lt;p&gt;There is a very large gap between understanding deeply a result (history, motivation, what it implies, etc.) and just applying it (implementation is one of the way of applying a research results) ! &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is why it can be hard to understand a research paper, and why an intuitive explanation can give enough to implement...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My only tip is the following. When I was a master student, I start reading research papers, it took me weeks to understand &quot;easy&quot; (in fact old papers, so papers with well known results) papers in details. I spent basically my first year of PhD reading hundreds of papers. And reading papers is still by far the task where I spend most of my time. Now I can more easily understand what a paper is about, and if the paper is about incremental results in a familiar area  I have quickly a good comprehension, but It is still a hard task to understand new results.&#xA;So, my tip is then: read a LOT of papers, and spend a LOT of time on a paper if necessary.&lt;/p&gt;&#xA;" OwnerUserId="76" LastActivityDate="2010-12-19T21:17:23.750" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3875" PostTypeId="2" ParentId="1527" CreationDate="2010-12-19T21:19:08.603" Score="1" Body="&lt;p&gt;In certificateless public key cryptography, the partial private keys &lt;em&gt;are&lt;/em&gt; confidential information. Namely:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;If an adversary has access to party A's partial private key $D_a$, it can publish a false public key $P_a&amp;#39;$, and is able to decrypt any communication addressed to it and able to create signatures with it&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The only thing keeping this from happening (that is, the only thing that is &lt;em&gt;authenticating&lt;/em&gt; the user) is that it has possession of $D_a$ - the secret part that the user has is only used to prevent message decryption and signing by other parties except the user, but it obviously plays no part in authentication, as anybody can create such a secret part.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If the server is compromised, the server can fake any key for anybody any way they wish - just like in identity based cryptography - the only special sauce that certificateless public key cryptography adds is that on server compromise, the adversary still can not decrypt any messages for the user or fake any signatures for the &lt;em&gt;old&lt;/em&gt; published public key.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Even if an adversary gains access to $D_a$, the only thing lost is &lt;em&gt;authentication&lt;/em&gt;, as the adversary can publish a new key $P_a&amp;#39;$, but confidentiality or non-repudiation for messages with the old public key $P_a$ are not lost&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;A simple way to think about certificateless public key cryptography:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;KGC creates a keypair for you and sends it to you&lt;/li&gt;&#xA;&lt;li&gt;You create a keypair by yourself&lt;/li&gt;&#xA;&lt;li&gt;Possession of the KGC generated private key certifies that the KGC trusts you&lt;/li&gt;&#xA;&lt;li&gt;Possession of your own private key certifies yourself, so the KGC can't fake you&lt;/li&gt;&#xA;&lt;li&gt;When signing a message, you sign it with both keypairs, proving that the KGC trusts you, and that you are indeed you&lt;/li&gt;&#xA;&lt;li&gt;When somebody verifies your signature, they need both public keys to be convinced that both conditions hold&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;From this, it should be obvious that both keypairs need to be proper keypairs with public and private parts, and that the private parts need to be kept secret for the authentication to have meaning.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Obviously this is a crude simplification, as the real method combines the two keypairs and uses identity based cryptography for the KGC keypair - but the basic idea applies.&lt;/p&gt;&#xA;" OwnerUserId="2714" LastEditorUserId="2714" LastEditDate="2010-12-20T21:11:31.043" LastActivityDate="2010-12-20T21:11:31.043" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="3877" PostTypeId="2" ParentId="3873" CreationDate="2010-12-19T21:29:01.747" Score="159" Body="&lt;p&gt;Unfortunately, research conferences generally do not place a premium on writing for readability. In fact, sometimes it seems the opposite is true: papers that explain their results carefully and readably, in a way that makes them easy to understand, are downgraded in the conference reviewing process because they are &quot;too easy&quot; while papers that could be simplified but haven't been are thought to be deep and rated highly because of it. So, if you rephrase your question to add another word, is it not just you who finds some research papers &lt;i&gt;unnecessarily&lt;/i&gt; hard to read, then no, it is not. If you can find a survey paper on the same subject, that may be better, both because the point of a survey is to be readable and because the process of re-developing ideas while writing a survey often leads to simplifications. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;As for strategies to read papers that you find hard, one of them that I sometimes use is the following: read the introduction to find out what problem they're trying to solve and some of the basic ideas of the solution, then stop reading and think about how you might try to use those ideas to solve the problem, and then go back and compare what you thought they might be doing to what they're actually doing. That way it may become clearer which parts of the paper are just technical but not difficult detail, and which other parts contain the key ideas needed to get through the difficult parts.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2010-12-19T21:29:01.747" CommentCount="6" ContentLicense="CC BY-SA 2.5" />
  <row Id="3878" PostTypeId="1" AcceptedAnswerId="5671" CreationDate="2010-12-19T22:43:12.010" Score="20" ViewCount="834" Body="&lt;p&gt;I am looking for ways to maintain a relatively balanced spanning tree of a graph, as I add new nodes/edges to the graph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have an undirected graph that starts as a single node, the &quot;root&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;At each step, I add to the graph either a new node and an edge connecting it to the graph, or just a new edge, connecting two old nodes. As I grow the graph, I maintain a spanning tree. Most of the time, this means that when I add a new node and edge, I set the new node to be the child of the old node that it connects to.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have no control over the order in which the new nodes are added, so the above tree-building algorithm can obviously lead to imbalanced spanning trees.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does anybody know of online heuristics that will keep the spanning tree &quot;relatively balanced&quot;, while minimizing the amount of work done in re-treeing? I have full control over the tree structure. What I don't control is the graph connectivity, or the order in which new nodes are added.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that the standard Google responses to terms like &quot;balanced&quot; &quot;spanning&quot; and &quot;tree&quot; seem to be binary trees and B-trees, neither of which apply. My graph nodes can have any number of neighbors, so the tree nodes can have any number of children, not 2 like binary trees. B-trees maintain balance by changing their adjacency lists, and I cannot change the graph connectivity.&lt;/p&gt;&#xA;" OwnerUserId="2839" LastEditorUserId="186" LastEditDate="2010-12-20T00:21:31.247" LastActivityDate="2011-12-29T00:47:32.110" Title="maintaining a balanced spanning tree of a growing undirected graph" Tags="&lt;graph-theory&gt;&lt;ds.data-structures&gt;&lt;graph-algorithms&gt;&lt;tree&gt;&lt;online-algorithms&gt;" AnswerCount="2" CommentCount="3" FavoriteCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="3879" PostTypeId="1" AcceptedAnswerId="3880" CreationDate="2010-12-20T00:19:59.417" Score="9" ViewCount="165" Body="&lt;p&gt;It follows from Rice's theorem that you cannot determine whether or not two Turing machines decide the same language.  My question is:  Does this also apply in descriptive complexity settings, particularly when it comes to testing a pair of SO-Horn queries to see if they describe the same language?  I'm not aware of any descriptive complexity version of Rice's theorem, and I could conceivably see that it might not be all that difficult to test two second-order formulas for equivalence.&lt;/p&gt;&#xA;" OwnerUserId="1338" LastActivityDate="2010-12-20T06:18:13.190" Title="Is testing two SO-Horn queries for equivalence decidable?" Tags="&lt;computability&gt;&lt;descriptive-complexity&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3880" PostTypeId="2" ParentId="3879" CreationDate="2010-12-20T00:41:01.690" Score="7" Body="&lt;p&gt;First, note that the equality of two TMs is harder than the halting problem (it is $\Pi^0_2$-complete), i.e. you can not compute it even with an oracle for the halting problem. So it is not even c.e. (i.e. $\Sigma^0_1$, a.k.a. r.e.). Rice's theorem implies that the set is not c.e., it does not imply the stronger result.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is a complexity theoretic version of Rice's theorem (by D. Kozen), but that gives a weaker result, which is expected, we can check non-trivial properties if we know that the machine halts, e.g. we can check if the machine accepts when run on an empty tape. Intuitively the result says (kind of) that the only way to check non-trivial properties of language of TMs is to simulate the machines (if I remember correctly).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Descriptive complexity does not change things, so I think you can ignore it and just replace it with the TMs with polynomial clocks (they can be converted to descriptive complexity characterization and descriptive complexity characterization can be converted to characterization using TMs). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think the question of deciding the equality of even simpler functions is co-c.e.-complete (i.e. $\Pi_1$-complete). We can not check if two multinomials are equivalent over natural numbers (since the complement is c.e.-complete by the MRDP theorem), and this implies that we cannot check the equality of two SO-Horn queries.&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2010-12-20T06:18:13.190" LastActivityDate="2010-12-20T06:18:13.190" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="3881" PostTypeId="1" CreationDate="2010-12-20T00:52:51.640" Score="38" ViewCount="8110" Body="&lt;p&gt;I'm a freshmen studying computer science and I already know that I want to go into academia with focus of theoretical comp sci. I already read some of papers referenced in &lt;a href=&quot;https://cstheory.stackexchange.com/questions/1168/what-papers-should-everyone-read&quot;&gt;this question&lt;/a&gt; and &lt;a href=&quot;https://cstheory.stackexchange.com/questions/1562/why-go-to-theoretical-computer-science-research&quot;&gt;this question&lt;/a&gt; convinced me further.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What should I be doing &lt;strong&gt;now&lt;/strong&gt;, as an undergrad, to get involved in the field? What can I do to prepare for research in the field?&lt;/p&gt;&#xA;" OwnerUserId="2835" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2011-01-05T17:26:53.603" Title="How do I get started in theoretical CS ?" Tags="&lt;soft-question&gt;&lt;advice-request&gt;&lt;career&gt;" AnswerCount="7" CommentCount="10" FavoriteCount="31" CommunityOwnedDate="2010-12-20T13:37:21.437" ContentLicense="CC BY-SA 2.5" />
  <row Id="3882" PostTypeId="2" ParentId="3881" CreationDate="2010-12-20T01:21:07.257" Score="11" Body="&lt;p&gt;As a freshman undergraduate, your best bet is to express this interest to your professors in the CS department, who can help you out (providing this help a big part of their job!). Most of them would, I would expect, be delighted to help out an undergraduate who was interested in the same things they are.  At the very least, they can give you good advice about what classes to take at your institution, and advice that is customized to your situation.&lt;/p&gt;&#xA;" OwnerUserId="730" LastActivityDate="2010-12-20T01:21:07.257" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3883" PostTypeId="2" ParentId="3881" CreationDate="2010-12-20T03:10:31.743" Score="7" Body="&lt;p&gt;You've made a great first step!  I'll second pboothe about talking with a professor in your department.  If you are interested in theory, find whoever is teaching the theory courses and talk with them.  They may have some problems that don't require too much background to get started on.  In my personal experience, there are more problems in graph theory and combinatorics that are more approachable than theory, but still build the same research skills.  Don't be afraid of your math department!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It may also help to start getting involved in the community, especially by asking and answering questions here.  It would help to have &lt;a href=&quot;https://cstheory.meta.stackexchange.com/questions/4/on-using-actual-names&quot;&gt;your username be your own name&lt;/a&gt; so we know who you are.&lt;/p&gt;&#xA;" OwnerUserId="59" LastEditorUserId="-1" LastEditDate="2017-03-16T15:45:13.547" LastActivityDate="2010-12-20T03:10:31.743" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3884" PostTypeId="2" ParentId="3873" CreationDate="2010-12-20T04:11:58.203" Score="12" Body="&lt;p&gt;I found the following helpful for understanding papers, especially when they are highly specialized or from a different subfield:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Read the introduction very carefully. That is where the main idea is explained, while the rest of the paper proves it. One word can change the meaning of a whole sentence, especially when special vocabulary is used or if, unfortunately, a word has a completely different meaning in another subfield. Therefore it is a good idea to stop whenever you feel that you do not fully understand a sentence and look up the words , as you would do if you were learning a new (human) language. Making notes next to words or even better making a small &quot;dictionary&quot; helps a lot.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, it's better to spend some time on the preliminaries, building on the foundations used, especially if you want to work on this paper rather than just understand the result. Make sure you have every necessary tool before reading the proof.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As for the proof, I do not have much advice other than reading it very carefully and make sure you understand every step in the way. It is also a good idea to make a small list of the things that have been proven before the main proof, so that you can see what result is used where, and to have a quick index to look it up if you don't remember it exactly.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The same goes for additional lemmas... if you feel you cannot follow the explanation of a lemma , it's best to read the main proof again.&lt;/p&gt;&#xA;" OwnerUserId="879" LastActivityDate="2010-12-20T04:11:58.203" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3885" PostTypeId="2" ParentId="3881" CreationDate="2010-12-20T04:56:38.357" Score="20" Body="&lt;p&gt;I'm currently a PhD student and not a prof, so my suggestion comes from my (limited) personal experience as a graduate student.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;When I was an undergraduate student, I always worked as a research assistant in summer with different profs in my department. I personal believe that the only way to figure out if TCS is truly for you or not is to work on concrete problems and see what you can enjoy the most. It did take me quite a while to find a prof and a topic that I liked. There's also a &quot;social&quot; aspect in research, and different profs have different working and supervision habits, and thus these summer research jobs will give you a better idea what quality you want the most from a supervisor in the future. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are many interesting fields in Computer Science, and TCS is just one of them. So it's always best to keep your options open and talk to different profs. It's very important to specialize when you're doing PhD, but as as an undergrad I think &lt;a href=&quot;http://www.cs.toronto.edu/~mbraverm/&quot;&gt;Mark Braverman&lt;/a&gt;'s advice is extremely relevant:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&quot; Try to learn as much as you can. [...] It is more difficult later on!&quot;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;[Mark tried to enroll in many courses (well above the limit), and explore different areas of Mathematics and Computer Science when he was an undergrad.]  Try to attend lectures and seminars on different topics in your department. When you're in your upper years, you should also ask for permission to audit graduate courses related to your interest. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also depending if you're majoring in Maths or CS, you also have to plan courses you should take to prepare you a solid basic foundation. If you're a Maths undergrad, then you should take more CS courses in algorithms and complexity which give you a more &quot;algorithmic&quot; mind. If you're a CS or Engineering undergrad, then it's always a good idea to learn some basic Maths courses in:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Combinatorics&lt;/li&gt;&#xA;&lt;li&gt;Probability and Statistics&lt;/li&gt;&#xA;&lt;li&gt;Advanced Linear Algebra&lt;/li&gt;&#xA;&lt;li&gt;Abstract Algebra&lt;/li&gt;&#xA;&lt;li&gt;Analysis&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;It's true that you can never learn enough Maths, and  that you should learn to pick up new Maths/methods/techniques fast whenever needed. But a solid background will definitely give you an easier start into TCS. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I wish you the best of luck and success!&lt;/p&gt;&#xA;" OwnerUserId="1080" LastEditorUserId="1080" LastEditDate="2010-12-21T13:17:20.220" LastActivityDate="2010-12-21T13:17:20.220" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="3887" PostTypeId="1" CreationDate="2010-12-20T07:08:48.907" Score="19" ViewCount="1250" Body="&lt;p&gt;EDIT at 2011/02/08:&#xA;After some references finding and reading, I decided to separate the original question into two separate ones. Here's the part concerning UP vs NP, for the syntactic and semantic classes part please see &lt;a href=&quot;https://cstheory.stackexchange.com/q/4792/1800&quot;&gt;Benefits for syntactic and semantic classes&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;$\mathsf{UP}$ (the unambiguous polynomial time, see &lt;a href=&quot;http://en.wikipedia.org/wiki/UP_(complexity)&quot; rel=&quot;nofollow noreferrer&quot;&gt;wiki&lt;/a&gt; and &lt;a href=&quot;http://qwiki.stanford.edu/index.php/Complexity_Zoo:U#up&quot; rel=&quot;nofollow noreferrer&quot;&gt;the zoo&lt;/a&gt; for references) is defined as languages decided by $\mathsf{NP}$-machines with an additional constrain that&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;There is at most one accepting computation path on any input.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The precise relations between $\mathsf{P}$ vs $\mathsf{UP}$ and $\mathsf{UP}$ vs $\mathsf{NP}$ are still open. We know that worst-case one-way functions exist if and only if $\mathsf{P} \neq \mathsf{UP}$, and there are oracles relative to all possibilities of the inclusions $\mathsf{P} \subseteq \mathsf{UP} \subseteq \mathsf{NP}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm interested in why $\mathsf{UP}$ vs $\mathsf{NP}$ is an important question. People tend to believe (at least &lt;a href=&quot;http://ccc.cs.uni-duesseldorf.de/~rothe/PDF/26197.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;in&lt;/a&gt; &lt;a href=&quot;http://www.cs.rochester.edu/~lane/=companion/isolation.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;literature&lt;/a&gt;) that these two classes are different, and my problem is:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;If $\mathsf{UP} = \mathsf{NP}$, are there any &quot;bad&quot; consequences happened?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;There is a related post on &lt;a href=&quot;http://blog.computationalcomplexity.org/2003/12/does-npup.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;complexity blog&lt;/a&gt; in 2003. And if my understanding is correct, &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.32.8999&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;the result&lt;/a&gt; by Hemaspaandra, Naik, Ogiwara and Selman shows that if &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;There is an $\mathsf{NP}$ language $L$ such that for each satisfiable formula $\phi$ there is a &lt;em&gt;unique&lt;/em&gt; satisfying assignment $x$ with $(\phi,x)$ in $L$,&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;then the polynomial hierarchy collapses to the second level. No such implication is known if $\mathsf{UP} = \mathsf{NP}$ holds.&lt;/p&gt;&#xA;" OwnerUserId="1800" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.743" LastActivityDate="2021-04-14T21:05:06.547" Title="Consequences of UP equals NP" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;conditional-results&gt;&lt;unique-solution&gt;" AnswerCount="1" CommentCount="15" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="3888" PostTypeId="1" AcceptedAnswerId="3891" CreationDate="2010-12-20T09:28:07.957" Score="28" ViewCount="1877" Body="&lt;p&gt;Peter Shor &lt;a href=&quot;http://arxiv.org/abs/quant-ph/9508027v2&quot;&gt;showed&lt;/a&gt; that two of the most important NP-intermediate problems, factoring and the discrete log problem, are in BQP. In contrast, the best known quantum algorithm for SAT (Grover's search) only yields a quadratic improvement over the classical algorithm, hinting that NP-complete problems are still intractable on quantum computers. As Arora and Barak point out, there's also a problem in BQP that is not known to be in NP, leading to the conjecture that the two classes are incomparable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there any knowledge/conjecture as to why these NP-intermediate problems are in BQP, but why SAT (as far as we know) isn't? Do other NP-intermediate problems follow this trend? In particular, is graph isomorphism in BQP? (this one doesn't google well).&lt;/p&gt;&#xA;" OwnerUserId="969" LastEditorUserId="969" LastEditDate="2011-06-28T02:40:16.307" LastActivityDate="2011-06-28T02:40:16.307" Title="NP-intermediate problems with efficient quantum solutions" Tags="&lt;cc.complexity-theory&gt;&lt;quantum-computing&gt;&lt;np&gt;&lt;np-intermediate&gt;" AnswerCount="2" CommentCount="8" FavoriteCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="3890" PostTypeId="1" AcceptedAnswerId="3912" CreationDate="2010-12-20T10:34:30.657" Score="8" ViewCount="864" Body="&lt;p&gt;Finding whether or not a QBF can be satisfied is a canonical complete problem for both $\Sigma^P_n$ (start from $\exists$) and $\Pi^P_n$ (start from $\forall$). What is the canonical complete problem for $\Delta^P_n$?&lt;/p&gt;&#xA;" OwnerUserId="2855" LastEditorUserId="969" LastEditDate="2010-12-21T09:18:31.223" LastActivityDate="2021-01-18T09:58:22.157" Title="canonical complete problems for $\Delta^P_n$" Tags="&lt;cc.complexity-theory&gt;&lt;alternating-hierarchy&gt;&lt;polynomial-hierarchy&gt;" AnswerCount="1" CommentCount="6" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3891" PostTypeId="2" ParentId="3888" CreationDate="2010-12-20T13:07:01.773" Score="33" Body="&lt;p&gt;Graph isomorphism is not known to be in BQP. There has been a lot of work done on trying to put it in. A very intriguing observation is that graph isomorphism could be solved if quantum computers could solve the non-abelian hidden subgroup problem for the symmetric group (factoring and discrete log are solved by using the abelian hidden subgroup problem, which in turn is solved by applying the quantum Fourier transform on abelian groups). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;One of the ways people have tried to solve graph isomorphism was by applying the quantum Fourier transform for non-abelian groups. There are algorithms for the quantum Fourier transform for many non-abelian groups, including the symmetric group. Unfortunately, it appears that it may not be possible to use the quantum Fourier transform for the symmetric group to solve graph isomorphism; there have been quite a few papers written about this which show that it doesn't work, given various assumptions on the structure of the algorithm. These papers are probably what you find when you google.&lt;/p&gt;&#xA;" OwnerUserId="1677" LastEditorUserId="1677" LastEditDate="2010-12-20T13:17:37.140" LastActivityDate="2010-12-20T13:17:37.140" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="3892" PostTypeId="2" ParentId="3881" CreationDate="2010-12-20T13:45:43.353" Score="30" Body="&lt;p&gt;Let me provide an answer from the other side. I've had a few undergraduate student researchers work with me. The experience has been mixed: with some, I have published papers and have work in progress, and with others, we never really got off to any kind of start. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's great that you know what you want to do. As an undergraduate, here's what you should be focusing on:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Building the mathematical &quot;muscles&quot; that will help you when you start working on problems in earnest&lt;/li&gt;&#xA;&lt;li&gt;Exploring different aspects of theoretical CS to get a sense of the area and figure out what kinds of problems/areas you find interesting&lt;/li&gt;&#xA;&lt;li&gt;(depending on the area) working out some puzzles, maybe solving some exercises, and working your way up to a research question.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Find a professor to guide you, and PUT IN THE TIME ! The hardest thing you'll face is creating the open time to think about problems in the midst of classwork, assignments and exams. But you need to reserve blocks of time for your independent study and research otherwise it will be very hard to make any kind of progress. How you do this is upto you: maybe you can find a professor to meet with you once a week and set intermediate goals for you, or maybe you can set a long term goal (working through X exercises from a text) and work steadily on that. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2010-12-20T13:45:43.353" CommentCount="2" CommunityOwnedDate="2010-12-20T13:45:43.353" ContentLicense="CC BY-SA 2.5" />
  <row Id="3893" PostTypeId="1" CreationDate="2010-12-20T15:30:10.587" Score="3" ViewCount="315" Body="&lt;p&gt;Consider an undirected graph that models a social network. Each vertex is a person, each arch represents a friendship relation between two persons. &#xA;Each arc is decorated by its average 'usage': how much, on average, the arc is used to read/send some information (ie: send my status update to my friends).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By default, the graph structure models the friendship relationship between people; but as we all know not all friends are the same: some are more important than others, and we want to receive news more reliable/faster than from others (ie: on facebook, some friends can be ignored). &#xA;An arc would be more 'used' if we receive more often news by the person associated with it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, from the social graph made by the 'who-knows-who' relationship, we can infer a subgraph of the 'who-ignores-who' with its dual 'who-cares_about-who'. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem that I'd like to solve is how to split/transform the original 'who-knows-who' graph into the two described sub-graphs as clusters, such as the arcs between these 2 clusters is minimal.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is this problem tractable ? &#xA;Can it be reduced to the 'min-bisection' (or similar NP-hard) problems ?  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;thanks,&#xA;valerio&lt;/p&gt;&#xA;" OwnerUserId="2861" LastEditorUserId="186" LastEditDate="2010-12-21T05:27:08.373" LastActivityDate="2010-12-21T05:27:08.373" Title="Graph transformation according to some utility function" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3896" PostTypeId="2" ParentId="3692" CreationDate="2010-12-20T21:31:52.707" Score="6" Body="&lt;p&gt;All-pairs shortest paths by repeated (min,+) matrix squaring is closely related to Floyd-Warshall, but they are not the same. In this respect, it is useful to think of Floyd-Warshall as (min,+) Gaussian elimination. Both approaches lend themselves to coarse-grained parallelisation, as discussed in &lt;a href=&quot;http://dx.doi.org/10.1007/3-540-48224-5_15&quot;&gt;http://dx.doi.org/10.1007/3-540-48224-5_15&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The work required for repeated squaring can be improved from O(n^3 log n) to O(n^3) by the technique of &lt;em&gt;selective path doubling&lt;/em&gt;, introduced by Alon, Galil and Margalit, and also discussed in the above paper.&lt;/p&gt;&#xA;" OwnerUserId="2869" LastActivityDate="2010-12-20T21:31:52.707" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3897" PostTypeId="2" ParentId="3842" CreationDate="2010-12-20T21:38:38.383" Score="12" Body="&lt;p&gt;This is discussed in section 2.2.3 of Jeffrey Hartline's thesis: &lt;a href=&quot;http://www.cs.cornell.edu/w8/~jhartlin/finaldiss.pdf&quot;&gt;http://www.cs.cornell.edu/w8/~jhartlin/finaldiss.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Online problems are all about informational uncertainty: you don't know what inputs are coming tomorrow, and the difficulty is often information theoretic, not computational. On the other hand, there is no uncertainty in an incremental optimization problem as Hartline defines it: every parameter of the problem is known at the outset. Without computational restrictions, the problems can always be solved optimally.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So perhaps your definition is wrong, since indeed yours sounds like an online problem. The problem of &quot;incremental optimization&quot; seems to be defined in this 2008 thesis, and differs from your definition in that there is no uncertainty.&lt;/p&gt;&#xA;" OwnerUserId="25" LastActivityDate="2010-12-20T21:38:38.383" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3898" PostTypeId="2" ParentId="419" CreationDate="2010-12-20T21:42:50.440" Score="6" Body="&lt;p&gt;There is an emerging field of coarse-grained parallel algorithms, where the running time (and other computational resource consumption) is regarded as a function of independent parameters &lt;em&gt;n&lt;/em&gt; (input size) and &lt;em&gt;p&lt;/em&gt; (number of processors), often under a natural assumption &lt;em&gt;n &gt;&gt; p&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A good starting point is to google for &quot;bulk-synchronous parallelism&quot;.&lt;/p&gt;&#xA;" OwnerUserId="2869" LastActivityDate="2010-12-20T21:42:50.440" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3899" PostTypeId="2" ParentId="3881" CreationDate="2010-12-20T23:15:35.247" Score="6" Body="&lt;p&gt;I'm an almost graduate student. So the answers to your question are also interesting for me, but perhaps my little personal experience can help. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is my list (in random order) of suggestions what you can do:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;First of all read as many papers/books/lecture notes as you can find. But it is also important to apply your knowledge to exercises and later to open problems! Some of my tutor always says: Not only your muscles need continous training :)&lt;/li&gt;&#xA;&lt;li&gt;Read/Ask/Answer questions on this site (or some other related SE site) is a good way to learn how to work with research topics in TCS or math.&lt;/li&gt;&#xA;&lt;li&gt;I try to read a lot of TCS blogs from well-known researcher. The topics cover both current and historical results.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="2517" LastActivityDate="2010-12-20T23:15:35.247" CommentCount="1" CommunityOwnedDate="2010-12-20T23:15:35.247" ContentLicense="CC BY-SA 2.5" />
  <row Id="3900" PostTypeId="2" ParentId="3624" CreationDate="2010-12-21T02:16:46.733" Score="6" Body="&lt;p&gt;Johne, what is your problem? You're trying to argue about things no one ever claimed. No one said that the parity lower bound poses some fundamental limit to computing XOR with circuits &lt;em&gt;other than those for which the theorem applies&lt;/em&gt; (i.e. AC^0 circuits). There are no hidden assumptions or veiled implications here. In particular we all know for example that it is possible to compute XOR with polynomial-sized NAND circuits of logarithmic depth, even with constant fan-in.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Shannon's quote is largely irrelevant too. There is no indication there that he even suspected that constant-depth AND-OR circuits need to have exponential size in order to compute Parity. Of course he might have guessed, since it is easy to conjecture this should be true after playing with the problem for a while, but so what?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You're missing entirely the point: proving lower bounds is exceedingly difficult, and we have to start somewhere, with the simplest models. This was essentially the first circuit lower bound, the techniques lead to many interesting ideas (including other fields such as learning theory), and although the result is plausible the proof is insightful and not at all trivial.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The fact that the result seems intuitive does not make it obvious; if you think it is, please provide a proof that parity is not in AC^0. Everyone knows that P is not equal to NP too for that matter, but nobody is anywhere near having a proof.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Your complaints in other threads about NAND gates make no sense either. This lower bound holds equally well for constant-depth circuits built up from NAND gates, as they're basically the same. Choosing to state the result with AND, OR, NOT is just a matter of convenience. So this may be a real-world application in terms you like: constant-depth circuits of NAND gates computing parity &lt;em&gt;require&lt;/em&gt; exponential size. It does give a practical limitation, even if that's not the most important thing. It says that small XOR circuits for &lt;em&gt;large&lt;/em&gt; number n of inputs must have either depth growing with n or gates other than NAND. Why aren't you satisfied with this?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Your claim that circuit depth is not an issue in the real world is also very misleading, since depth is directly related to time and the maximum frequency at which the clock can operate.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By the way, the CS community was well aware of the EE boolean circuit theory and built upon that, contrary to what you claim.&lt;/p&gt;&#xA;" OwnerUserId="2874" LastEditorUserId="2874" LastEditDate="2010-12-21T02:28:16.663" LastActivityDate="2010-12-21T02:28:16.663" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3901" PostTypeId="2" ParentId="3893" CreationDate="2010-12-21T02:29:30.453" Score="1" Body="&lt;p&gt;I assume that the edge weights express how much the users interact to one another, rather than the amount of communication , i.e. the communication is always mutual and  not in risk of being just one-sided. This is more an issue of modeling and not of the problem itself.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The sets in general are not disjoint, as a cut would require them to be, unless you are referring to the subgraph of a certain person's friends (the adjacent vertices). In the social network graph, complex relations can be formed. For example, think of a triangle graph of 3 friends: You (A) might care for a friend B who also cares for your mutual friend C, however you ignore C. It is unclear in which subgraph C belongs. Experimenting with graphs allows you to find a lot of examples where the two sets are not disjoint.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Even if the subgraphs were disjoint and you wanted to know how communities, i.e.  groups of people that care for each other, appear in the graph, this is the min-k-cut problem , which is NP-complete, unless you know the number of communities (which in general you don't).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, you can easily obtain the two subgraphs you want, by selecting a threshold and then on one graph include all edges (and their adjacent vertices) that pass that threshold, constructing the &quot;who-cares_about-who&quot;&#xA; subgraph and in the other one include the edges that do not and also invert the weights, so that the bigger the weight, the higher the lack of interest between two friends. The problem with this approach is that deciding the value of the threshold is an optimization problem which seems to be reduced to the previous NP-complete problem. Still, you can use a number of techniques from statistics and experimental data to have a fixed threshold, perhaps associated with a level of confidence. Furthermore, you can use fuzzy logic so that the threshold is an interval instead of a fixed point, increasing the accuracy but risking false positives.&lt;/p&gt;&#xA;" OwnerUserId="879" LastEditorUserId="879" LastEditDate="2010-12-21T02:37:02.877" LastActivityDate="2010-12-21T02:37:02.877" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3902" PostTypeId="1" CreationDate="2010-12-21T08:44:24.197" Score="5" ViewCount="592" Body="&lt;p&gt;Is there some precise definition of cryptographic protocol?&#xA;I'm asking because I have tried a few good books and they don't seem to define it (Douglas Stinson, Wenbo Mao, Trappe/Washington). The lecture notes by Goldwasser and Bellare come close, but don't really define protocols (and leave key distribution out of the protocols chapter, for example).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I've seen people include key management in protocols and others keeping it out; the same for secret sharing and some other topics.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, does that mean there no widely-accepted definition for cryptographic protocols?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit: I'm not sure I was clear enough when I originally posted the question -- I wanted to know what usually is considered a &quot;protocol&quot; in cryptography and what is not (and not how I'd go about defining some particular protocol)&lt;/p&gt;&#xA;" OwnerUserId="1700" LastEditorUserId="1700" LastEditDate="2010-12-22T12:19:21.690" LastActivityDate="2010-12-23T13:14:08.113" Title="Precise definition for cryptographic protocol?" Tags="&lt;cr.crypto-security&gt;" AnswerCount="3" CommentCount="1" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="3903" PostTypeId="1" CreationDate="2010-12-21T08:54:44.030" Score="13" ViewCount="1962" Body="&lt;p&gt;Here is the problem:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We have a square with some numbers from 1..N in some cells. It's needed to determine if it can be completed to a magic square.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Examples:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;2 _ 6       2 7 6&#xA;_ 5 1  &amp;gt;&amp;gt;&amp;gt;  9 5 1&#xA;4 3 _       4 3 8&#xA;&#xA;7 _ _ &#xA;9 _ _  &amp;gt;&amp;gt;&amp;gt;  NO SOLUTION &#xA;8 _ _&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Is this problem NP-complete? If yes, how can I prove it?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;&lt;a href=&quot;https://math.stackexchange.com/q/15042/4003&quot;&gt;Crosspost on MS&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;&#xA;" OwnerUserId="2878" LastEditorUserId="-1" LastEditDate="2017-04-13T12:19:19.363" LastActivityDate="2011-09-15T12:40:42.483" Title="Is the half-filled magic square problem NP-complete?" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;&lt;np&gt;&lt;puzzles&gt;" AnswerCount="2" CommentCount="30" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="3904" PostTypeId="2" ParentId="3902" CreationDate="2010-12-21T09:02:43.270" Score="8" Body="&lt;p&gt;There are several definitions of cryptographic protocols, each of which tries to capture some particular features of interest.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I start with &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=22178&quot; rel=&quot;nofollow&quot;&gt;Goldwasser, Micali, and Rackoff&lt;/a&gt; definition (1985): They first defined &lt;strong&gt;interactive Turing machines&lt;/strong&gt; (ITM), based of which they defined (two-party) interactive protocols. An ITM is a special TM equipped with one read-only and one write-only communication tape. A pair of ITMs  constitutes an &lt;strong&gt;interactive protocol&lt;/strong&gt; if the read-only communication tape of party A coincides with the write-only communication tape of party B, and vice versa. The power of parties and the adversary model is then defined accordingly (see the paper).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The multi-party case was later defined by &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=28395.28420&quot; rel=&quot;nofollow&quot;&gt;Goldreich, Micali, and Wigderson&lt;/a&gt; (1987). They modeled a secure multi-party game in an elegant way, though the paper (as Goldreich states himself) leaves a lot of doors open. For a more concrete discussion see: &lt;a href=&quot;http://www.wisdom.weizmann.ac.il/~oded/pp.html&quot; rel=&quot;nofollow&quot;&gt;http://www.wisdom.weizmann.ac.il/~oded/pp.html&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, a much stronger model was proposed by &lt;a href=&quot;http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=959888&amp;amp;tag=1&quot; rel=&quot;nofollow&quot;&gt;Canetti&lt;/a&gt; (2001). In his paper, he defines a framework called Universal Composability (UC), based on which he defines the cryptographic protocols and puts forward a notion of security for them.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As far as I recall, the last paper cites a lot of other works which try to define and model security protocols. Therefore, I strongly advise you to take a look at it.&lt;/p&gt;&#xA;" OwnerUserId="873" LastActivityDate="2010-12-21T09:02:43.270" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="3906" PostTypeId="1" AcceptedAnswerId="3908" CreationDate="2010-12-21T09:49:02.743" Score="8" ViewCount="6463" Body="&lt;p&gt;There are numerous graph theoretic tools/packages. Each with its pros and cons. What should be the semantics/syntax of a programming language meant to solve graph theoretic problems?&lt;/p&gt;&#xA;" OwnerDisplayName="user770" LastEditorUserId="186" LastEditDate="2010-12-23T06:52:50.617" LastActivityDate="2010-12-25T07:06:26.083" Title="What are theoretically sound programming languages for graph problems?" Tags="&lt;graph-theory&gt;&lt;pl.programming-languages&gt;&lt;software&gt;" AnswerCount="5" CommentCount="7" FavoriteCount="10" ContentLicense="CC BY-SA 2.5" />
  <row Id="3907" PostTypeId="2" ParentId="3714" CreationDate="2010-12-21T09:59:03.433" Score="2" Body="&lt;p&gt;Crochemore, Landau and Ziv-Ukelson were, I believe, the first to consider (LZ) compression explicitly in this context. As mentioned in the comments above, the earlier technique of Masek and Paterson is also in effect a form of compression. Considering general grammar-compression (SLP) is, I believe, a relatively new idea. Using it for string comparison speedup is original to the paper you cite, although comparing grammar-compressed strings as such has been considered before. You will find references and discussion in the compression chapter of &lt;a href=&quot;http://arxiv.org/abs/0707.3619&quot; rel=&quot;nofollow&quot;&gt;http://arxiv.org/abs/0707.3619&lt;/a&gt; .&lt;/p&gt;&#xA;" OwnerUserId="2869" LastActivityDate="2010-12-21T09:59:03.433" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3908" PostTypeId="2" ParentId="3906" CreationDate="2010-12-21T09:59:32.563" Score="20" Body="&lt;p&gt;You might want to look at T&lt;a href=&quot;http://www.cs.york.ac.uk/plasma/wiki/index.php?title=GP_%28Graph_Programs%29&quot;&gt;he Graph Programming Language GP&lt;/a&gt;. From the linked page:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;GP (for Graph Programs) is a rule-based, nondeterministic programming language for solving graph problems at a high level of abstraction, freeing programmers from handling low-level data structures. The core of GP consists of four constructs: single-step application of a set of conditional graph-transformation rules, sequential composition, branching and iteration. &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Sandra Steinert devoted her &lt;a href=&quot;http://www.cs.york.ac.uk/ftpdir/reports/2007/YCST/15/YCST-2007-15.pdf&quot;&gt;PhD thesis&lt;/a&gt; to the topic.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There's also a &lt;a href=&quot;http://www.cs.york.ac.uk/plasma/publications/pdf/PoskittPlump.VS-Theory.10.pdf&quot;&gt;Hoare logic&lt;/a&gt; for reasoning about the correctness of such programs.&lt;/p&gt;&#xA;" OwnerUserId="77" LastEditorUserId="77" LastEditDate="2010-12-21T10:09:14.943" LastActivityDate="2010-12-21T10:09:14.943" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="3909" PostTypeId="2" ParentId="3906" CreationDate="2010-12-21T10:10:14.733" Score="10" Body="&lt;p&gt;I'm not entirely sure what you want. But have you looked at:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.boost.org/doc/libs/1_45_0/libs/graph/doc/index.html&quot; rel=&quot;noreferrer&quot;&gt;The boost template metastructure&lt;/a&gt; for graph algorithms&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.ics.uci.edu/~eppstein/PADS/&quot; rel=&quot;noreferrer&quot;&gt;PADS&lt;/a&gt; (David Eppstein's collection of (graph) algorithms and data structures in python&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.graphviz.org/&quot; rel=&quot;noreferrer&quot;&gt;The graphviz library&lt;/a&gt; for plotting graphs ? &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="80" LastActivityDate="2010-12-21T10:10:14.733" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="3910" PostTypeId="1" CreationDate="2010-12-21T10:26:38.447" Score="1" ViewCount="367" Body="&lt;p&gt;In the lecture notes Introduction to Complexity Theory by Goldreich, there is a section called &quot;How close is $\#P$ is to $NP$&quot;. It is stated there that a $P^{NP}$ machine would approximate $\#P$ in random polynomial time. In fact I interpret this random approximation as a $FPRAS$ for &lt;em&gt;any&lt;/em&gt; function in $\#P$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now in the seminal paper: M. Jerrum, A. Sinclair, and E. Vigoda, &lt;a href=&quot;http://www.dcs.ed.ac.uk/home/mrj/PermanentRev.pdf&quot; rel=&quot;nofollow&quot;&gt;A polynomial-time approximation algorithm for the permanent of a matrix with non-negative entries&lt;/a&gt; (&lt;a href=&quot;http://dx.doi.org/10.1145/1008731.1008738&quot; rel=&quot;nofollow&quot;&gt;JACM version&lt;/a&gt;), on page 31, there is an binary search algorithm which takes an $FPRAS$ for the Permanent to a $BPP$ algorithm for the Permanent.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Taking both algorithms together, this suggest that one could exponential approximation with high probability the Permanent leading to $P^{NP} \ge \#P$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This clearly cannot be right! So the question is what mistake have I made?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My apologies if this question is stupid.&lt;/p&gt;&#xA;" OwnerUserId="10136" LastEditorUserId="186" LastEditDate="2010-12-21T16:39:10.110" LastActivityDate="2010-12-21T19:57:09.433" Title="The Relationship between P^NP and the Permanent" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;counting-complexity&gt;&lt;permanent&gt;" AnswerCount="1" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="3911" PostTypeId="2" ParentId="3881" CreationDate="2010-12-21T11:17:47.873" Score="2" Body="&lt;p&gt;I think the most important thing is to explore as widely as possible to learn what aspects of TCS really excite you. In the course of this exploration you might find that the problems that intrigue you the most are the intersections of TCS with other fields (e.g.economics) or applications of TCS (e.g. to computer networks) or TCS topics which are also part of other areas in CS like computational or statistical learning theory. Heck, it is even possible you might change your major to math or physics or something related if your interests take you in that direction.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My point is that as a freshman you really have an opportunity to explore widely with less pressure than you would as a grad student or professor.  And to not be alarmed if you don't end up in the &quot;usual suspect&quot; TCS topics.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course it would be ideal if you go &quot;deep&quot; in some area, learn solid techniques and publish great results.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;And if you end up becoming an expert in a hot new field before it becomes mainstream that will probably be great for your career.&lt;/p&gt;&#xA;" OwnerUserId="847" LastActivityDate="2010-12-21T11:17:47.873" CommentCount="0" CommunityOwnedDate="2010-12-21T11:17:47.873" ContentLicense="CC BY-SA 2.5" />
  <row Id="3912" PostTypeId="2" ParentId="3890" CreationDate="2010-12-21T12:12:47.443" Score="5" Body="&lt;p&gt;(This is a slightly more detailed version of my earlier comment, in response to the asker’s request by email.)&lt;/p&gt;&#xA;&lt;p&gt;Since &lt;span class=&quot;math-container&quot;&gt;$\Delta_k^{\rm P} = {\rm P}^{\Sigma_{k-1}^{\rm P}}$&lt;/span&gt; by definition, it should be clear that the following problem is &lt;span class=&quot;math-container&quot;&gt;$\Delta_k^{\rm P}$&lt;/span&gt;-complete: fix some &lt;span class=&quot;math-container&quot;&gt;$\Sigma_{k-1}^{\rm P}$&lt;/span&gt;-complete problem &lt;i&gt;L&lt;/i&gt;.  (For example, &lt;i&gt;L&lt;/i&gt; can be the special case of QBF where there are &lt;i&gt;k&lt;/i&gt;−1 groups of consecutive quantifiers of the same kind and the first quantifier is existential (∃).)  Then given a Turing machine &lt;i&gt;M&lt;/i&gt; with the &lt;i&gt;L&lt;/i&gt; oracle, a string &lt;i&gt;x&lt;/i&gt; and a tally string 1&lt;sup&gt;&lt;i&gt;t&lt;/i&gt;&lt;/sup&gt;, decide whether &lt;i&gt;M&lt;/i&gt; accepts the input &lt;i&gt;x&lt;/i&gt; in time at most &lt;i&gt;t&lt;/i&gt;.  (A &lt;em&gt;tally string&lt;/em&gt; simply means a string on the unary alphabet, that is, a string of the form 1&lt;sup&gt;&lt;i&gt;n&lt;/i&gt;&lt;/sup&gt;.)&lt;/p&gt;&#xA;&lt;p&gt;I would not mind calling this problem a “canonical” &lt;span class=&quot;math-container&quot;&gt;$\Delta_k^{\rm P}$&lt;/span&gt;-complete problem, but this may not be what you are looking for.&lt;/p&gt;&#xA;&lt;p&gt;In my earlier comment, I removed the input string &lt;i&gt;x&lt;/i&gt; and assumed it was always the empty string.  This variant is also &lt;span class=&quot;math-container&quot;&gt;$\Delta_k^{\rm P}$&lt;/span&gt;-complete because you can hardwire the input string into a Turing machine.&lt;/p&gt;&#xA;" OwnerUserId="567" LastEditorUserId="60537" LastEditDate="2021-01-18T09:58:22.157" LastActivityDate="2021-01-18T09:58:22.157" CommentCount="3" ContentLicense="CC BY-SA 4.0" />
  <row Id="3913" PostTypeId="1" AcceptedAnswerId="3951" CreationDate="2010-12-21T12:49:48.510" Score="9" ViewCount="813" Body="&lt;p&gt;For a project that I am working on, I should generate random spanning trees with bounded height. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Basically I do the following:&#xA;1) Generate a spanning tree&#xA;2) Check the feasibility, if feasible keep it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) Starting from a minimum spanning tree (Prim's or Kruskal's) I add a non-existing edge and this creates a cycle, I detect this cycle and remove one of the edges of this cycle that gives me a new spanning tree and I continue with this spanning tree by adding a new edge...  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) Suppose there is a special vertex $v_{center}$. For every vertex $v$, the length of the path from $v$ to $V_{center}$ should be less then $\delta$, where $\delta$ is a given parameter.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there any better(clever) way of doing this?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;P.S. I forgot to specify the other constraint (my mistake): the degree of the vertices should also be bounded.&lt;/p&gt;&#xA;" OwnerUserId="2296" LastEditorUserId="2296" LastEditDate="2010-12-22T10:01:01.630" LastActivityDate="2010-12-23T04:34:43.460" Title="How can I randomly generate bounded height spanning trees?" Tags="&lt;ds.algorithms&gt;&lt;graph-algorithms&gt;&lt;random-walks&gt;" AnswerCount="3" CommentCount="6" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3914" PostTypeId="2" ParentId="3902" CreationDate="2010-12-21T12:52:22.733" Score="6" Body="&lt;p&gt;Generally spealing, the definition of a cryptographic protocol consists of two different parts: &lt;strong&gt;syntax&lt;/strong&gt; and &lt;strong&gt;security&lt;/strong&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The syntax specifies the functionality of the protocol under legitimate use (dealing with issues such as key generation, correct decryption, valid signature verification, or more generally some desired output). A protocol can be totally &quot;insecure&quot; and still satisfy the syntax of the cryptographic task at hand.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The security part deals with guaranteeing that the protocol can be used safely in a cryptographic context. It specifies the access that the adversary has to the protocol, as well as what it means for the adversary to break it. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is desirable that a security definition carries some &quot;semantics&quot; with it, in the sense that if a protocol satisfies this definition then the user is convinced that the security guarantee is meaningful (e.g. having a security definition that allows any protocol is certainly &quot;legitimate&quot; but it clearly doesn't guarantee any security). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The biggest conceptual contribution of modern cryptography is to develop a methodology for coming up with security definitions that are extremely meaningful and at the same time realizable (see &lt;a href=&quot;http://theory.lcs.mit.edu/~cis/pubs/shafi/1984-jcss.pdf&quot; rel=&quot;nofollow&quot;&gt;Goldwasser Micali&lt;/a&gt;, &lt;a href=&quot;http://theory.lcs.mit.edu/~cis/pubs/shafi/1986-jacm.pdf&quot; rel=&quot;nofollow&quot;&gt;Goldreich, Goldwasser, Micali&lt;/a&gt; and &lt;a href=&quot;http://people.csail.mit.edu/rivest/GoldwasserMicaliRivest-ADigitalSignatureSchemeSecureAgainstAdaptiveChosenMessageAttacks.pdf&quot; rel=&quot;nofollow&quot;&gt;Goldwasser, Micali, Rivest&lt;/a&gt; for prime examples of this methodology).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Following the works mentioned above it has become common (some would say mandatory) practice to define both syntax and security and to prove that a given protocol satisfies the given definitions (usually under some widely accepted intractability assumptions). The precise definitions to be satisfied depend on the cryptographic task at hand, and are evaluated in light of the intended application.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As Sadeq points out in his answer, the general syntax of protocols is defined via interactive Turing Machines (by &lt;a href=&quot;http://theory.lcs.mit.edu/~cis/pubs/shafi/1989-siamjc.pdf&quot; rel=&quot;nofollow&quot;&gt;Goldwasser Micali Rackoff&lt;/a&gt;). This definition allows to model players that &quot;keep state&quot; between messages that are sent and received. The GMR paper is also the first to rigorously define security for interactive protocols, and in particular what it means for a protocol to be zero-knowledge. More general security requirements are given in later papers on secure two and multi-party computation. For references to these see Sadeq's answer.&lt;/p&gt;&#xA;" OwnerUserId="2120" LastEditorUserId="2120" LastEditDate="2010-12-21T18:23:16.873" LastActivityDate="2010-12-21T18:23:16.873" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3915" PostTypeId="2" ParentId="3903" CreationDate="2010-12-21T16:13:38.207" Score="18" Body="&lt;p&gt;Filling a partially-filled Latin square is NP-Complete. &quot;The complexity of completing partial Latin squares&quot; Charles J. Colbourn. Discrete Applied Mathematics, Volume 8, Issue 1, April 1984, Pages 25-30 &lt;a href=&quot;http://dx.doi.org/10.1016/0166-218X(84)90075-1&quot;&gt;http://dx.doi.org/10.1016/0166-218X(84)90075-1&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can a Latin square problem be turned into a magic square problem via modular arithmetic? My intuition says yes, but the rest of my brain says &quot;Get back to grading!&quot;&lt;/p&gt;&#xA;" OwnerUserId="730" LastActivityDate="2010-12-21T16:13:38.207" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3916" PostTypeId="2" ParentId="3906" CreationDate="2010-12-21T17:50:02.407" Score="6" Body="&lt;p&gt;Take a look at &lt;a href=&quot;http://www.sagemath.org/&quot; rel=&quot;nofollow&quot;&gt;the Sage Project&lt;/a&gt;, which makes python more mathy, and includes networkx and nice visualization stuff.  Their list of graph function might be wiki.sagemath.org/graph_survey or wiki.sagemath.org/graph.&lt;/p&gt;&#xA;" OwnerUserId="2883" LastActivityDate="2010-12-21T17:50:02.407" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3917" PostTypeId="2" ParentId="2399" CreationDate="2010-12-21T18:04:16.400" Score="0" Body="&lt;p&gt;&lt;strong&gt;Parser Generator Tools:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.antlr.org&quot; rel=&quot;nofollow&quot;&gt;ANTLR&lt;/a&gt; is very good. Alternatively, you can have a look at &lt;a href=&quot;https://javacc.dev.java.net/&quot; rel=&quot;nofollow&quot;&gt;JavaCC&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerDisplayName="user770" LastActivityDate="2010-12-21T18:04:16.400" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="3918" PostTypeId="2" ParentId="3910" CreationDate="2010-12-21T18:06:01.997" Score="5" Body="&lt;p&gt;I think you misunderstood the definition of $\mathsf{FPRAS}$. &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Let $f: \Sigma^*\rightarrow Z^+$ be a&#xA;  function in $\#\mathsf{P}$. An&#xA;  algorithm $A$ is an $\mathsf{FPRAS}$&#xA;  for $f$ if for each $x\in \Sigma^*$,&#xA;  and error parameter $\epsilon &amp;gt;0$,&#xA;  \begin{align*} Pr[|A(x)-f(x)] \le \epsilon f(x)] \ge 3/4 \end{align*} and the running time of $A$&#xA;  is polynomial in $|x|$ and&#xA;  $1/\epsilon$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;So if you want to reduce the error to exponentially small, then the running time will also become exponential!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that both of the results you mentioned show that &lt;em&gt;approximating counting&lt;/em&gt; can be done within the second level of the polytime hierarchy $\mathsf{PH}$ or so. On the other hand, $\#\mathsf{P}$ is the class of &lt;em&gt;exact counting&lt;/em&gt;, which is widely believed to be harder than approximate counting. Otherwise, $\#\mathsf{P}$ is also contained in  $\mathsf{FP}^\mathsf{NP}$, which implies that $\mathsf{PH}$ will collapse at least to the second level.&lt;/p&gt;&#xA;" OwnerUserId="1080" LastEditorUserId="1080" LastEditDate="2010-12-21T19:57:09.433" LastActivityDate="2010-12-21T19:57:09.433" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="3919" PostTypeId="1" AcceptedAnswerId="3920" CreationDate="2010-12-21T18:44:46.893" Score="20" ViewCount="1434" Body="&lt;p&gt;&lt;strong&gt;Discussion&lt;/strong&gt;:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I've been spending some personal time lately learning various things in communication complexity. For instance, I've re-familiarized myself with the relevant chapter in Arora/Barak, started reading some papers, and ordered the book by Kushilevitz/Nisan. Intuitively, I want to contrast communication complexity with computational complexity. And in particular, I'm struck by the fact that computational complexity has developed into a rich theory of placing computational problems into complexity classes, some of which can be in turn (&lt;em&gt;from one perspective, at least&lt;/em&gt;) envisioned in terms of &lt;em&gt;complete problems&lt;/em&gt; for each given class. For instance, when explaining $NP$ to someone for the first time, it's hard to avoid comparisons to SAT or some other NP-complete problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By comparison, I've never heard anything of an analogous concept for communication complexity classes. There are many examples that I'm aware of, of problems &quot;complete for a theorem.&quot; For instance, as a general framework, the authors might describe a given communication problem $P$ and then prove that a related theorem $T$ holds $iff$ the communication problem can be solved in $X$ or less bits (for some $X$ that depends on the specific theorem/problem pair in question). The terminology used then in literature is that $P$ is &quot;complete&quot; for $T$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Further, there is a tantalizing line in the &lt;a href=&quot;http://www.cs.princeton.edu/theory/complexity/communicatechap.pdf&quot;&gt;Arora/Barak communication complexity chapter draft&lt;/a&gt; (that seems to have been removed/tweaked in the final printing) that states &quot;In general, one can consider communication protocols analogous to $NP$, $coNP$, $PH$ etc.&quot; However, I notice two important omissions:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt; The &quot;analogous&quot; concept appears to be a manner of computing the communication complexity of solving a given protocol with access to different types of resources, but stops just short of defining proper communication complexity classes...&#xA;&lt;li&gt; Most of communication complexity seems to be relatively &quot;low-level,&quot; in the sense that the overwhelming majority of results/theorems/etc. revolve around small-ish, specific, polynomial-sized values. This somewhat begs the question of why, say, $NEXP$ is interesting for computation but the analogous concept appears to be less interesting for communication. (Of course, I could just be at fault for simply being unaware of &quot;higher-level&quot; communication complexity concepts.)&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question(s)&lt;/strong&gt;:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;Is there an analogous concept to computational complexity classes for communication complexity?&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;And:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;If so, how does it compare to the &quot;standard&quot; notion of complexity classes? (e.g. are there natural limitations to &quot;communication complexity classes&quot; that cause them to inherently fall short of the full range of computational complexity classes?) If not, what's the &quot;big picture&quot; reason that classes are an interesting formalism for computational complexity but not for communication complexity?&lt;/blockquote&gt;&#xA;" OwnerUserId="108" LastEditorUserId="186" LastEditDate="2010-12-23T07:03:02.643" LastActivityDate="2014-03-27T14:52:12.580" Title="Communication Complexity ...Classes?" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;big-picture&gt;&lt;communication-complexity&gt;" AnswerCount="4" CommentCount="0" FavoriteCount="8" ContentLicense="CC BY-SA 2.5" />
  <row Id="3920" PostTypeId="2" ParentId="3919" CreationDate="2010-12-21T19:37:03.467" Score="21" Body="&lt;p&gt;It seems that you are looking for this paper: &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=1382439.1382962&quot;&gt;http://portal.acm.org/citation.cfm?id=1382439.1382962&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="42" LastActivityDate="2010-12-21T19:37:03.467" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3921" PostTypeId="1" AcceptedAnswerId="3945" CreationDate="2010-12-21T22:46:15.053" Score="83" ViewCount="27927" Body="&lt;p&gt;In an answer to an &lt;a href=&quot;https://cstheory.stackexchange.com/questions/3616/common-false-beliefs-in-theoretical-computer-science&quot;&gt;earlier question&lt;/a&gt;, I mentioned the common but false belief that &lt;a href=&quot;http://arxiv.org/abs/0907.2397&quot; rel=&quot;noreferrer&quot; title=&quot;Not actually discovered by Gauss, of course&quot;&gt;“Gaussian”&lt;/a&gt; elimination runs in $O(n^3)$ time.  While it is obvious that the algorithm uses $O(n^3)$ arithmetic operations, careless implementation can create numbers with exponentially many bits.  As a simple example, suppose we want to diagonalize the following matrix:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\begin{bmatrix}&#xA;2 &amp;amp; 0 &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0 \\&#xA;1 &amp;amp; 2 &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0 \\&#xA;1 &amp;amp; 1 &amp;amp; 2 &amp;amp; \cdots &amp;amp; 0 \\&#xA;\vdots &amp;amp; \vdots &amp;amp; \vdots &amp;amp; \ddots &amp;amp; \vdots\\&#xA;1 &amp;amp; 1 &amp;amp; 1 &amp;amp; \cdots &amp;amp; 2 \\&#xA;\end{bmatrix}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we use a version of the elimination algorithm without division, which only adds &lt;em&gt;integer&lt;/em&gt; multiples of one row to another, and we always pivot on a diagonal entry of the matrix, the output matrix has the vector $(2, 4, 16, 256, \dots, 2^{2^{n-1}})$ along the diagonal.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;b&gt;But what &lt;em&gt;is&lt;/em&gt; the actual time complexity of Gaussian elimination?&lt;/b&gt;  Most combinatorial optimization authors seem to be happy with “strongly polynomial”, but I'm curious what the polynomial actually is.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://pretty.structures.free.fr/talks/(7.1.1)Solving.pdf&quot; rel=&quot;noreferrer&quot;&gt;A 1967 paper of Jack Edmonds&lt;/a&gt; describes a version of Gaussian elimination (“possibly due to Gauss”) that  runs in strongly polynomial time.  Edmonds' key insight is that every entry in every intermediate matrix is the determinant of a minor of the original input matrix.  For an $n\times n$ matrix with $m$-bit integer entries, Edmonds proves that his algorithm requires integers with at most $O(n(m+\log n))$ bits.  Under the “reasonable” assumption that $m=O(\log n)$, Edmonds' algorithm runs in $O(n^5)$ time if we use textbook integer arithmetic, or in $\tilde{O}(n^4)$ time if we use FFT-based multiplication, on a standard integer RAM, which can perform $O(\log n)$-bit arithmetic in constant time.  (Edmonds didn't do this time analysis; he only claimed that his algorithm is “good”.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is this still the best analysis known?  Is there a standard reference that gives a better explicit time bound, or at least a better bound on the required precision?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More generally: &lt;strong&gt;What is the running time (on the integer RAM) of the fastest algorithm known for solving arbitrary systems of linear equations?&lt;/strong&gt;&lt;/p&gt;&#xA;" OwnerUserId="111" LastEditorUserId="55031" LastEditDate="2020-06-16T13:40:35.123" LastActivityDate="2020-06-16T13:40:35.123" Title="What is the actual time complexity of Gaussian elimination?" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;linear-algebra&gt;" AnswerCount="2" CommentCount="10" FavoriteCount="41" ContentLicense="CC BY-SA 2.5" />
  <row Id="3922" PostTypeId="2" ParentId="3913" CreationDate="2010-12-21T23:10:30.307" Score="1" Body="&lt;p&gt;Use breadth-first search!  Do a BFS from every vertex in the graph, choose the resulting tree of smallest height.  A BFS always finds the path from the root to every other vertex with the fewest hops.&lt;/p&gt;&#xA;" OwnerUserId="730" LastActivityDate="2010-12-21T23:10:30.307" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="3923" PostTypeId="2" ParentId="191" CreationDate="2010-12-22T02:43:04.507" Score="12" Body="&lt;p&gt;Using, as in James King's answer, the notation $a(\Delta,k)$ for the best possible polynomial time approximation of vertex cover in $k$-uniform hypergraphs of degree at most $\Delta$, we also have&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(1) $a(\Delta,k) \leq \ln \Delta + O(1)$ &lt;/p&gt;&#xA;&#xA;&lt;p&gt;from the greedy approximation algorithm for set cover: vertex cover in hypergraphs of degree at most $\Delta$ is the same as the set cover problem with sets of size at most $\Delta$, for which the greedy algorithm has approximation ratio at most $H_\Delta$, where $H_n = 1 + 1/2 + \ldots 1/n \leq \ln n + O(1)$ is the harmonic function.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=380752.380839&quot;&gt;this paper&lt;/a&gt; I show that &lt;/p&gt;&#xA;&#xA;&lt;p&gt;(2) $\sup_k \{ a(\Delta ,k) \} \geq \ln \Delta - O(\ln\ln \Delta)$ &lt;/p&gt;&#xA;&#xA;&lt;p&gt;unless $P=NP$, by changing the parameters in a reduction of Feige.&lt;/p&gt;&#xA;" OwnerUserId="1069" LastEditorUserId="1069" LastEditDate="2010-12-22T02:48:06.327" LastActivityDate="2010-12-22T02:48:06.327" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3924" PostTypeId="2" ParentId="3906" CreationDate="2010-12-22T02:45:43.460" Score="5" Body="&lt;p&gt;Sazzad - I'm a bit frustrated with your responses. You have been given useful answers and suggestions, yet you remain unsatisfied. Either use the best-of-breed tools that are available on your system for several aspects of graph research, or write your own.&lt;/p&gt;&#xA;" OwnerUserId="2890" LastActivityDate="2010-12-22T02:45:43.460" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="3925" PostTypeId="2" ParentId="392" CreationDate="2010-12-22T03:13:05.337" Score="22" Body="&lt;p&gt;Suppose that your problem of interest is a minimization problem and that you have developed an $a$-approximate algorithm. If, on a given input, your algorithm outputs a solution of cost $c$, then the computation of the algorithm plus its analysis give a certificate that, on that input, the optimum is at least $a/c$. Clearly, $a$ is at least the optimum, so for every input we are able to certify a lower bound to the optimum which is at least a $1/c$ fraction of the optimum itself.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In all the algorithms based on convex (LP and SDP) relaxations that I am aware of, the certified lower bound to the optimum is given by the optimum of the relaxation. If the relaxation has integrality gap $I$, then it is not going to be possible to achieve an approximation ratio better than $I$, unless in the analysis one introduces a lower bound technique for the optimum that is stronger than the lower bound provided by the relaxation. &lt;/p&gt;&#xA;" OwnerUserId="1069" LastActivityDate="2010-12-22T03:13:05.337" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3929" PostTypeId="2" ParentId="3913" CreationDate="2010-12-22T08:46:53.970" Score="3" Body="&lt;p&gt;If your problem is to uniformly sample a spanning tree from a set $S$, where $S$ is the set of all spanning trees of hight at most $h$, for some input $h$, then your strategy works (i.e., sample a random spanning tree and check if it's hight is at most $h$). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, I'm not sure if the algorithm you described will generate a random spanning tree. I would recommend looking at standard algorithms instead. There are two algorithms: Wilson's algorithm and Aldous-Broder's algorithm. You can have a look &lt;a href=&quot;http://www.maths.bath.ac.uk/~aj276/teaching/USF/USFnotes.pdf&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;. There is a newer (approximation) &lt;a href=&quot;http://people.csail.mit.edu/madry/docs/randtreegen_full.pdf&quot; rel=&quot;nofollow&quot;&gt;algorithm&lt;/a&gt; but it is quite complicated. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, there might be a way to generate this spanning tree with bounded hight directly. But I've never heard of such algorithms. &lt;/p&gt;&#xA;" OwnerUserId="317" LastActivityDate="2010-12-22T08:46:53.970" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3930" PostTypeId="2" ParentId="2399" CreationDate="2010-12-22T09:00:40.470" Score="2" Body="&lt;p&gt;If you want to go beyond context-free grammars for parsing programming languages, but still parse in polynomial time, you can resort to &lt;a href=&quot;http://en.wikipedia.org/wiki/Parsing_expression_grammar&quot; rel=&quot;nofollow&quot; title=&quot;parsing expression grammars&quot;&gt;&lt;em&gt;parsing expression grammars&lt;/em&gt;&lt;/a&gt;, or &lt;em&gt;boolean grammars&lt;/em&gt; - the latter are also available in LL and LR flavors (see &lt;a href=&quot;http://users.utu.fi/aleokh/&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;). In formal language theory, also the powerful yet linear-time recognizable &lt;em&gt;Church-Rosser languages&lt;/em&gt; are studied, but I am not aware of any implemented parser generators for these.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In natural language processing, tastes are different, for instance, dealing with ambiguity (also: inherent ambiguity) and free word order plays a very prominent role. Here the keywords &lt;a href=&quot;http://en.wikipedia.org/wiki/Mildly_context-sensitive_language&quot; rel=&quot;nofollow&quot;&gt;&lt;em&gt;mildly context sensitive languages&lt;/em&gt;&lt;/a&gt; and &lt;em&gt;restart automata&lt;/em&gt; might help you to start reading.   &lt;/p&gt;&#xA;" OwnerUserId="2367" LastActivityDate="2010-12-22T09:00:40.470" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3931" PostTypeId="1" AcceptedAnswerId="3980" CreationDate="2010-12-22T09:24:36.823" Score="2" ViewCount="597" Body="&lt;p&gt;Kastelyn in the 1960's continuing Onsanger's work on the &lt;a href=&quot;http://en.wikipedia.org/wiki/Ising_model&quot; rel=&quot;nofollow&quot;&gt;Ising model&lt;/a&gt;, found combinatorial solutions to the 2 dimensional planar Ising model. This was for undirected graphs. &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Has a similar algorithm been found for planar &lt;em&gt;directed&lt;/em&gt; graphs?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;To clarify what I mean, although there are several different ways one could generalise the planar Ising model to directed graphs, I have in the mind the following:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The 2-local term in the standard Ising model is the symmetric matrix $J_{ij}$. The directed graph would be represented by unsymmetric matrix $J_{ij}$! So the sum over the partition function would be unsymmetrical. I hope this helps.&lt;/p&gt;&#xA;" OwnerUserId="10136" LastEditorUserId="1800" LastEditDate="2011-02-25T02:11:31.450" LastActivityDate="2011-02-25T22:27:49.720" Title="Algorithms for the 2 Dimensional Planar Ising Model over Directed Graphs" Tags="&lt;ds.algorithms&gt;&lt;planar-graphs&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3932" PostTypeId="1" AcceptedAnswerId="3942" CreationDate="2010-12-22T12:22:28.920" Score="13" ViewCount="558" Body="&lt;p&gt;Let $G$ be class of graphs with bounded clique-width. In each graph in $G$ some edges are contracted (e.g. randomly). Is now the clique-width still bounded?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In case it is (in general) no longer bounded, I would be very interested in a counter-example.&lt;/p&gt;&#xA;" OwnerUserId="546" LastEditorUserId="186" LastEditDate="2010-12-23T06:45:46.333" LastActivityDate="2013-07-10T23:38:03.630" Title="Is clique-width preserved under edge contractions?" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;cliquewidth&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3933" PostTypeId="1" AcceptedAnswerId="3936" CreationDate="2010-12-22T13:18:19.460" Score="3" ViewCount="1622" Body="&lt;p&gt;Consider the following algorithm:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a natural number as input, say $N$, the algorithm runs a loop (in which the algorithm does $O(1)$ time operations) $N$ times. Now, by definition of time complexity, we want to measure the running time as a function of input size, so the complexity of this algorithm is $O(N)=O(2^{\lg N})$.  I have always felt a little uneasy that this simple algorithm is actually has an exponential running time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More examples of such problems include integer factorization, knapsack (and a lot of other related papers Google throws up) which all have a running time that is pseudo-polynomial in the size of the input(also called as weakly NP-complete problems). Is there any survey/book that treats these problems in detail? Are there any interesting aspects of these problems (as in, they have some properties that characterize them distinctly from strongly NP-complete problems) that are well-known?&lt;/p&gt;&#xA;" OwnerUserId="256" LastEditorUserId="186" LastEditDate="2010-12-23T06:31:28.787" LastActivityDate="2010-12-23T13:57:22.383" Title="Pseudo-polynomial time algorithms" Tags="&lt;ds.algorithms&gt;&lt;np-hardness&gt;&lt;big-picture&gt;&lt;exp-time-algorithms&gt;" AnswerCount="3" CommentCount="7" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3934" PostTypeId="2" ParentId="3902" CreationDate="2010-12-22T13:39:24.973" Score="4" Body="&lt;p&gt;This is a follow up answer to the edited question. As I wrote in the comment above, &lt;strong&gt;anything&lt;/strong&gt; can be defined to be a protocol. The real question is whether the object you define is useful. As I wrote in my previous answer this depends on the actual definition and  on what the user wants from the protocol (which is what I tried to elaborate on in my previous answer).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The most common way to go about defining the syntax and security of a cryptographic protocol is to specify its intended functionality as if the users were interacting with an &quot;ideal&quot; black box (the functionality specifies the output of players in the protocol as a function of the players' inputs). Security (and correctness) are then obtained by requiring that for any adversary A attacking a real execution of your protocol there exists a (roughly) equally powerful adversary S that would have done equally well by attacking the ideal black box (without actual access to the protocol messages).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The above is known as the simulation paradigm (sometimes referred to as the real/ideal paradigm). The idea is that in the ideal world there are no attacks beyond observing the input/output relationship (which is what you indended to give away anyway by running the protocol), and hence there are also no attacks in the real world. The actual definition is slightly more involved. You can find it in the references given in Sadeq's answer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An alternative, more exlicit way for defining security is the &quot;game based&quot; one. It involves stating explicity what it means for the adversary to break the system (think of the definition of signatures). Its advantage over the simulation based definitions is that it may be easier to realize. This is because simulation is very strong: it implies that the adversary learns &lt;strong&gt;nothing&lt;/strong&gt; beyond what is intended. The advatange of the simulation approach is that it often guarantees the preservation of security under composition.&lt;/p&gt;&#xA;" OwnerUserId="2120" LastEditorUserId="873" LastEditDate="2010-12-23T13:14:08.113" LastActivityDate="2010-12-23T13:14:08.113" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="3935" PostTypeId="1" AcceptedAnswerId="3941" CreationDate="2010-12-22T14:10:05.187" Score="4" ViewCount="254" Body="&lt;p&gt;The Idea is this:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The Decision problems Max Cut for graphs is APX-Hard and therefore does not have a PTAS. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;However Dense versions of Max Cut do have a PTAS! &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This suggest that Counting Perfect Matchings for Dense Bipartite Graphs could have some sort of speed up. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does such a speedup exists in the complexity literature?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Further to the above, I am aware of the expectional work done on NonNegative Matrices. However I was really thinking about General matrices and expecting exponential algorithms. Of course #P is by standard complexity theory intractable! &lt;/p&gt;&#xA;" OwnerUserId="10136" LastEditorUserId="10136" LastEditDate="2010-12-23T09:26:30.650" LastActivityDate="2010-12-23T15:25:46.020" Title="What is the algorithmic speed up for Counting Perfect Matchings in Dense Bipartite Graphs (equivalent to Permanent of Dense 0/1 Matrices)?" Tags="&lt;ds.algorithms&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3936" PostTypeId="2" ParentId="3933" CreationDate="2010-12-22T14:46:23.893" Score="8" Body="&lt;p&gt;I think this somehow “uneasy feeling” comes from the fact that human beings consider natural numbers only with a semantic—if I see 2001, e.g., I immediately think of 9/11 or Stanley Kubrick or something, that is, you interpret the number. In terms of inputs for an algorithm, however, it is merely a string of characters, and could just as well be such nonsense as ¨*^! or anything. What we as algorithm analyzers care about is &lt;em&gt;only&lt;/em&gt; the length of the string, and absolutely not what it contains or represents. You really have to get this into your mind because otherwise you could e.g. say that $PRIMES$ is obviously in $\mathsf{P}$ as you can just try to divide a number $x$ by all numbers between 1 and $x,$ and this algorithm has obviously polynomial runtime. I hope you see the pitfall.&lt;/p&gt;&#xA;" OwnerUserId="2701" LastEditorUserId="2701" LastEditDate="2010-12-22T18:14:22.870" LastActivityDate="2010-12-22T18:14:22.870" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3937" PostTypeId="1" AcceptedAnswerId="3944" CreationDate="2010-12-22T15:18:34.157" Score="14" ViewCount="292" Body="&lt;p&gt;Does anyone direct me to a paper detailing a cut-elimination theorem for propositional intuitionistic logic, including an inductive datatype such as the natural numbers (lists or trees would be fine, too)? An example of the kind of system I am interested in is Godel's T, which has types given by the grammar $A ::= \mathbb{N} \;\;|\;\; A \to A&amp;#39;$. I am not very interested in quantifiers over natural numbers or predicates indexed by natural numbers. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I know how to prove beta-normalization for natural deduction version of these systems using a logical relations argument (or related techniques such as NbE), but would like to know if there are standard references on how to adapt these methods to sequent calculi. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The reason I ask is that I am studying adding fixed point operators for guarded recursion to a language. The denotational idea is a rather old one -- interpret types as ultrametric spaces and fixed points via Banach's theorem -- but the purely syntactic techniques I know for proving cut-elimination don't seem to adapt that well. &lt;/p&gt;&#xA;" OwnerUserId="657" LastActivityDate="2010-12-23T12:00:01.833" Title="Cut-elimination for calculus with nats or other inductive datatype?" Tags="&lt;lo.logic&gt;&lt;pl.programming-languages&gt;&lt;sequent-calculus&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="3938" PostTypeId="2" ParentId="529" CreationDate="2010-12-22T15:42:03.407" Score="24" Body="&lt;p&gt;&lt;em&gt;Assuming the generalized Riemann hypothesis&lt;/em&gt; (GRH), the following quite strong connections are known between $ VP= VNP $ and the collapse of the polynomial hierarchy ($ {\rm PH}$):&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;ol&gt;&#xA;  &lt;li&gt;If $ VP= VNP\,$ (over any field) then the polynomial hierarchy collapses to the second level;&lt;/li&gt;&#xA;  &lt;li&gt;If $ VP=VNP\,$ over a field of characteristic $ 0 $, then $ \rm{NC}^3/{\rm poly}={\rm P}/{\rm poly} = {\rm PH}/{\rm poly} $;&lt;/li&gt;&#xA;  &lt;li&gt;If $ VP=VNP\,$ over a field of finite characteristic $ p $, then $ \rm{NC}^2/{\rm poly}={\rm P}/{\rm poly} = {\rm PH}/{\rm poly} $. &lt;/li&gt;&#xA;  &lt;/ol&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;These are results from: Peter Burgisser, &quot;&lt;a href=&quot;http://dx.doi.org/10.1016/S0304-3975%2899%2900183-8&quot;&gt;Cook’s versus Valiant’s hypothesis&lt;/a&gt;&quot;,  Theor. Comp. Sci., 235:71–88,&#xA;2000.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See also: Burgisser, &quot;&lt;a href=&quot;http://math-www.uni-paderborn.de/agpb/work/habil.ps&quot;&gt;Completeness and Reduction in Algebraic Complexity Theory&lt;/a&gt;&quot;, 1998.&lt;/p&gt;&#xA;" OwnerUserId="78" LastEditorUserId="78" LastEditDate="2010-12-23T12:18:10.347" LastActivityDate="2010-12-23T12:18:10.347" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="3939" PostTypeId="1" AcceptedAnswerId="3943" CreationDate="2010-12-22T16:23:14.390" Score="2" ViewCount="761" Body="&lt;p&gt;Please forgive me if this is not the right Stack Exchange (I also posted it at &lt;a href=&quot;https://stats.stackexchange.com/questions/5698/can-the-mutual-information-of-a-cell-be-negative&quot;&gt;Cross Validated&lt;/a&gt;).  Please also forgive me for inventing terms.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For discrete random variables X and Y, the mutual information of X and Y can be defined as follows:&#xA;$I(X;Y) = \sum_{y \in Y} \sum_{x \in X} &#xA;                 p(x,y) \log{ \left( \frac{p(x,y)}{p_1(x)\,p_2(y)}&#xA;                              \right) }, \,\!$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I will define the mutual information of a &quot;cell&quot; $x_0$ to be:&#xA;$CI(x_0,Y) = \sum_{y \in Y} p(x_0,y) \log{ \left( \frac{p(x_0,y)}{p_1(x_0)\,p_2(y)}&#xA;                              \right) }, \,\!$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm not sure if this quantity goes by another name.  Essentially I'm restricting focus to a single state of variable X (and then the full MI can be calculated by summing all the cell MIs).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question: is it guaranteed that $CI(x_0,Y) \ge 0$?  We know $I(X;Y)\ge0$ and we know that the pointwise mutual information can be negative.  I feel like CI should be nonnegative and that I might be missing some obvious proof.&lt;/p&gt;&#xA;" OwnerUserId="2897" LastEditorUserId="-1" LastEditDate="2017-04-13T12:44:17.130" LastActivityDate="2010-12-22T17:03:06.570" Title="Can the mutual information of a &quot;cell&quot; be negative?" Tags="&lt;pr.probability&gt;&lt;it.information-theory&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="3940" PostTypeId="1" CreationDate="2010-12-22T16:24:30.183" Score="1" ViewCount="315" Body="&lt;p&gt;Several papers give poly-time algorithms for constrained paths on labelled graphs, e.g. [1]&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Quote:&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;Given an alphabet Σ, a (directed) graph G whose edges are weighted and Σ-labeled,&#xA;and a formal language L ⊆ Σ∗ , the formal-language-constrained shortest/simple path problem con-&#xA;sists of finding a shortest (simple) path p in G complying with the additional constraint that l(p) ∈ L.&#xA;Here l(p) denotes the unique word obtained by concatenating the Σ-labels of the edges along the&#xA;path p.&#xA;(1) We show that the formal-language-constrained shortest path problem is solvable efficiently&#xA;in polynomial time when L is restricted to be a context-free language (CFL).&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Can this be used for restricted read twice BDDs (Binary Decision Diagram)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider BDD where every variables occurs twice and the order of all paths root-&gt;T is restricted to:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1 .. n n .. 1 (this is palindrome)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Treat the BDD as edge labelled digraph where the true edge of variable is labelled as +variable and the false edge as -variable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some paths in the digraph are &quot;BDD inconsistent&quot; - if a variable takes both values.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Looks like CFG constraint can help to find &quot;consistent&quot; paths.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is possible to construct CFG that accepts all palindromes and only palindromes (over the alphabet U {+variable,-variable}.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finding a path from the root to &quot;true&quot; constrained by the above CFG will give a consistent satisfying assignment - the first half of the path is correct because a variable occurs only once and the second part is the reverse.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is this correct (computer experiments suggest it is)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A different grammar may give different restriction.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is this published somewhere?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To my humble knowledge this is one of the very few examples of read twice BDD supporting poly-time SAT query.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT: The problem I am trying to solve is to find types of read twice BDDs which allow polytime SAT query with the help of CFGs. The above construction gives example for the case when the order of the variables is restricted to a palindrome, hence the (possibly incorrect)  description &quot;restricted&quot; (because of the restriction of the order). I am not familiar with CFGs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Discussion about an extension (almost sure impossible) of this &lt;a href=&quot;https://math.stackexchange.com/questions/14311/can-a-polynomial-size-cfg-over-large-alphabet-describe-a-language-where-each-ter&quot;&gt;at math.SE&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Example: Simple read twice BDD on x,y. The concatenation of edge labels give the palindrome word: &quot;+x -y -y +x&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://ll0x.wdfiles.com/local--files/admin%3Amanage/aa.png&quot; alt=&quot;bdd&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thank you.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1]&#xA;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.105.446&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;FORMAL-LANGUAGE-CONSTRAINED PATH PROBLEMS∗ CHRIS BARRETT† , RIKO JACOB‡ , AND MADHAV MARATHE†&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="2777" LastEditorUserId="-1" LastEditDate="2017-04-13T12:19:19.363" LastActivityDate="2011-01-03T11:18:10.707" Title="Restricted read twice BDDs and context free grammars" Tags="&lt;graph-theory&gt;&lt;reference-request&gt;&lt;graph-algorithms&gt;&lt;fl.formal-languages&gt;&lt;grammars&gt;" AnswerCount="0" CommentCount="9" FavoriteCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3941" PostTypeId="2" ParentId="3935" CreationDate="2010-12-22T16:31:36.033" Score="2" Body="&lt;p&gt;What about&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://portal.acm.org/citation.cfm?doid=1008731.1008738&quot; rel=&quot;nofollow&quot;&gt;http://portal.acm.org/citation.cfm?doid=1008731.1008738&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you are looking for exact algorithms, the only speedup I'm aware of is&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.springerlink.com/content/ar7jwwy01qleny8e/fulltext.pdf&quot; rel=&quot;nofollow&quot;&gt;http://www.springerlink.com/content/ar7jwwy01qleny8e/fulltext.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Which also can be used to show you can do c^n time for c&amp;lt;2 for sparse 0/1 matrices or the UP-hard mod 3 permanent.&lt;/p&gt;&#xA;" OwnerUserId="679" LastEditorUserId="679" LastEditDate="2010-12-23T15:25:46.020" LastActivityDate="2010-12-23T15:25:46.020" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3942" PostTypeId="2" ParentId="3932" CreationDate="2010-12-22T16:54:48.493" Score="16" Body="&lt;p&gt;This may be a pre-answer:&#xA;in &lt;a href=&quot;http://arxiv.org/abs/cs/0701185&quot;&gt;this 2007 arXiv paper&lt;/a&gt; (Problem 4.9), it is stated as an open problem whether one can find a graph $G$ and an edge $\{x,y\} \in E(G)$ such that $cw(G) &amp;lt; cw(G^{x,y})$, where $G^{x,y}$ is the graph $G$ with edge $\{x,y\}$ contracted.&lt;/p&gt;&#xA;" OwnerUserId="2898" LastActivityDate="2010-12-22T16:54:48.493" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="3943" PostTypeId="2" ParentId="3939" CreationDate="2010-12-22T17:03:06.570" Score="15" Body="&lt;p&gt;By the simple transformation $p(x_0, y) = p(x_0) p(y | x_0)$ your expression merely becomes $p(x_0) KL(p (y|x), p(y))$, where $KL(p,q)$ is the Kullback-Leibler divergence, and is always positive. therefore, your expression is always positive. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2010-12-22T17:03:06.570" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="3944" PostTypeId="2" ParentId="3937" CreationDate="2010-12-22T18:30:02.447" Score="10" Body="&lt;p&gt;How about Ulrich Berger's work? For example &lt;a href=&quot;http://www.lmcs-online.org/ojs/viewarticle.php?id=64&amp;amp;layout=abstract&quot;&gt;Strong normalization for applied lambda calculi&lt;/a&gt;. The &quot;recursively defined constants&quot; part gets you inductive types, more or less. And don't be put off by the word &quot;untyped&quot;, he gets results for typed systems too.&lt;/p&gt;&#xA;" OwnerUserId="705" LastActivityDate="2010-12-22T18:30:02.447" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3945" PostTypeId="2" ParentId="3921" CreationDate="2010-12-22T20:15:24.013" Score="39" Body="&lt;p&gt;I think the answer is $\widetilde O(n^3 \log( \|A\| + \|b\|))$, where&#xA;we omit the (poly)logarithmic factors.  The bound is presented in&#xA;&quot;W. Eberly, M. Giesbrecht, P. Giorgi, A. Storjohann,&#xA;G. Villard. Solving sparse integer linear systems. Proc. ISSAC'06,&#xA;Genova, Italy, ACM Press, 63-70, July 2006&quot;, but it is based on a&#xA;paper by Dixon: &quot;Exact solution of linear equations using P-adic&#xA;expansions, John D. Dixon, NUMERISCHE MATHEMATIK, Volume 40, Number 1,&#xA;137-141&quot;.&lt;/p&gt;&#xA;" OwnerUserId="374" LastActivityDate="2010-12-22T20:15:24.013" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="3946" PostTypeId="2" ParentId="3881" CreationDate="2010-12-22T20:49:51.020" Score="10" Body="&lt;p&gt;Lots of other folks seem to be giving various pieces of good advice. To add to the wisdom, let me say this: There is no such thing as knowing too much math (unless you decide you want to do pure math instead). Seriously, know your analysis, combinatorics, algebra, maybe some rep theory, alg top, and so forth. It makes being widely read across areas of CS theory much much much easier :)&lt;/p&gt;&#xA;" OwnerUserId="18" LastActivityDate="2010-12-22T20:49:51.020" CommentCount="1" CommunityOwnedDate="2010-12-22T20:49:51.020" ContentLicense="CC BY-SA 2.5" />
  <row Id="3947" PostTypeId="2" ParentId="3933" CreationDate="2010-12-22T21:42:03.237" Score="4" Body="&lt;p&gt;Garey and Johnson's &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0716710455&quot; rel=&quot;nofollow&quot;&gt;Computers and Intractability: A Guide to the Theory of NP-Completeness&lt;/a&gt; (chapter 4.2) provides a few pages about this argument. &#xA;It's a standard text absolutely worth of reading if you haven't done it yet. &lt;/p&gt;&#xA;" OwnerUserId="2283" LastActivityDate="2010-12-22T21:42:03.237" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3948" PostTypeId="2" ParentId="3711" CreationDate="2010-12-22T22:17:44.153" Score="12" Body="&lt;p&gt;Just one thing to add to John's answer:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Under a plausible derandomization hypothesis, AM = NP.  In that case, certainly we would have AM &amp;sube; QMA.&lt;/p&gt;&#xA;" OwnerUserId="1575" LastActivityDate="2010-12-22T22:17:44.153" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3950" PostTypeId="2" ParentId="79" CreationDate="2010-12-23T00:47:34.333" Score="24" Body="&lt;p&gt;&lt;strong&gt;Monotone self-duality&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For any boolean function &lt;span class=&quot;math-container&quot;&gt;$f=f(x_1, x_2, ..., x_n)$&lt;/span&gt;, it's dual is &lt;span class=&quot;math-container&quot;&gt;$f^d=\bar{f}(\bar{x_1}, \bar{x_2}, ..., \bar{x_n})$&lt;/span&gt;. Given &lt;span class=&quot;math-container&quot;&gt;$f(x_1, x_2, ..., x_n)$&lt;/span&gt; represented by a CNF formula, we have to decide whether &lt;span class=&quot;math-container&quot;&gt;$f=f^d$&lt;/span&gt;.   &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This problem is in co-NP[&lt;span class=&quot;math-container&quot;&gt;$\log^2 n$&lt;/span&gt;], i.e., it is decidable with &lt;span class=&quot;math-container&quot;&gt;$O(\log^2n/ \log\log n)$&lt;/span&gt; nondeterministic steps. Thus, it has a quasi-polynomial time algorithm (&lt;span class=&quot;math-container&quot;&gt;$O(n^{\log n/\log \log n})$&lt;/span&gt; time), and hence is unlikely to be co-NP-hard. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is still open whether this problem is in P or not. More details can be found in the 2008 paper &quot;&lt;a href=&quot;http://dx.doi.org/10.1016/j.dam.2007.04.017&quot; rel=&quot;nofollow noreferrer&quot;&gt;Computational aspects of monotone dualization: A brief survey&lt;/a&gt;&quot; by Thomas Eiter, Kazuhisa Makino, and Georg Gottlob. &lt;/p&gt;&#xA;" OwnerUserId="317" LastEditorUserId="31660" LastEditDate="2018-11-27T12:17:17.653" LastActivityDate="2018-11-27T12:17:17.653" CommentCount="0" CommunityOwnedDate="2010-12-23T00:47:34.333" ContentLicense="CC BY-SA 4.0" />
  <row Id="3951" PostTypeId="2" ParentId="3913" CreationDate="2010-12-23T04:34:43.460" Score="7" Body="&lt;p&gt;I was working on bounded-depth spanning trees a few years ago, they're really interesting.  Some of my colleagues came up with message passing algorithms that did a great job, but I can't find any of their code available.  We wrote it up in a physics style here:  &lt;a href=&quot;http://iopscience.iop.org/1742-5468/2009/12/P12010/&quot; rel=&quot;nofollow&quot;&gt;http://iopscience.iop.org/1742-5468/2009/12/P12010/&lt;/a&gt;.  They've told me that it also works with degree bounds, although that didn't make it into the paper.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The approach you propose, which I would call Markov Chain Monte Carlo, is often a competitor to the message passing approach.  If you are interested in sampling approximately uniformly at random from the set of bounded-degree, bounded-depth spanning trees of a given graph, I suggest altering your approach to use &quot;soft&quot; bounds.  I.e. instead of rejecting an edge swap that makes the tree violate the depth bound, accept it, but with lower probability than a swap which does not violate the bound.  If you have a parameter that controls how much lower this probability is, you can make the constraint violating configurations less and less probable until you arrive at a feasible solution that is nearly uniformly random.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The big question is how long do you need to run the chain.  Since a spanning tree with degree at most 2 is a Hamiltonian path, you should expect any generic bound to be exponential in the size of the graph.  But maybe the graphs you are interested in are special in some way.&lt;/p&gt;&#xA;" OwnerUserId="2883" LastActivityDate="2010-12-23T04:34:43.460" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3952" PostTypeId="1" CreationDate="2010-12-23T05:11:42.190" Score="1" ViewCount="111" Body="&lt;p&gt;During the introductory computer organization class I recently took, the professor described the limitations of seek time in reading or writing to the disk. He suggested a solution whereby the operating system would prioritize the process whose sectors were then closest to the head. In that case, it could move smoothly back and forth rather than jerking to an arbitrary track where the process' data lies. (I guess this assumes a full drive or an even distribution.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Warford's Computer Systems doesn't mention anything similar and the professor is on vacation. I am curious whether this is just a thought experiment (like bogo sort) or has someone attempted this strategy? Any resource welcome; thanks&lt;/p&gt;&#xA;" OwnerUserId="2904" LastEditorUserId="186" LastEditDate="2010-12-23T06:24:20.520" LastActivityDate="2010-12-23T16:27:35.910" Title="Any resources describing an OS assigning process priority via distance to HD head?" Tags="&lt;tag-removed&gt;" AnswerCount="1" CommentCount="2" ClosedDate="2010-12-23T17:19:25.507" ContentLicense="CC BY-SA 2.5" />
  <row Id="3953" PostTypeId="2" ParentId="3937" CreationDate="2010-12-23T12:00:01.833" Score="10" Body="&lt;p&gt;You could have a look at McDowell and Miller's &lt;a href=&quot;http://www.lix.polytechnique.fr/Labo/Dale.Miller/papers/tcs00.pdf&quot;&gt;Cut-Elimination for a Logic with Definitions and Induction&lt;/a&gt;, which shows how to adopt Tait's method to a first-order intuitionistic sequent calculus with an inductively-defined natural numbers predicate.&lt;/p&gt;&#xA;" OwnerUserId="674" LastActivityDate="2010-12-23T12:00:01.833" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3954" PostTypeId="2" ParentId="3933" CreationDate="2010-12-23T13:57:22.383" Score="6" Body="&lt;p&gt;As was already answered, measuring the running time with respect to the bit representation simply means that you refer to the number as an array of bits, and the size of the input is the length of that array.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is the convention, but it's not necessary to measure things this way. You could say (and it's often done in complexity and crypto) that the input is $1^N$, i.e., the unary representation of the number. Then, the running time is measured with respect to N and not to $\log N$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It all depends on the context and what's right for your particular problem.&lt;/p&gt;&#xA;" OwnerUserId="1621" LastActivityDate="2010-12-23T13:57:22.383" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3955" PostTypeId="2" ParentId="3952" CreationDate="2010-12-23T16:27:35.910" Score="1" Body="&lt;p&gt;That would be pragmatically challenging under most OSes due to the abstraction layers and difference in subsystems. Vista offers I/O priority, which is as close as I've ever seen to anything like that.. And it isn't very close. All theory here... also won't matter soon as we go to SSDs that have no seek time.&lt;/p&gt;&#xA;" OwnerUserId="2913" LastActivityDate="2010-12-23T16:27:35.910" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3956" PostTypeId="2" ParentId="79" CreationDate="2010-12-23T16:39:49.313" Score="11" Body="&lt;p&gt;The complexity of planar Minimum Bisection problem is an intriguing open problem which is not known to be $NP$-hard. In contrast, the planar Maximum Bisection problem is $NP$-hard. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Minimum Bisection problem: Find a partition of the set of nodes into two equal size parts such that the number of crossing edges is minimized.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://portal.acm.org/citation.cfm?id=668338&quot;&gt;Karpinski, Approximability of the Minimum Bisection Problem: An Algorithmic Challenge &lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2010-12-24T20:14:38.837" LastActivityDate="2010-12-24T20:14:38.837" CommentCount="2" CommunityOwnedDate="2010-12-23T16:39:49.313" ContentLicense="CC BY-SA 2.5" />
  <row Id="3957" PostTypeId="1" CreationDate="2010-12-23T17:15:44.077" Score="-4" ViewCount="570" Body="&lt;p&gt;I need a demonstration that the rectilinear picture compression is NP-hard, I know that this fact was proven using 3SAT by Masek in 1978 but I can't find the paper.&lt;/p&gt;&#xA;" OwnerUserId="2914" LastEditorUserId="186" LastEditDate="2010-12-24T01:51:19.760" LastActivityDate="2010-12-24T01:51:19.760" Title="Prove that the problem of rectilinear picture compression is np-complete" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;np-hardness&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="3958" PostTypeId="2" ParentId="3957" CreationDate="2010-12-23T17:42:14.337" Score="16" Body="&lt;p&gt;I believe the asker is looking for an unpublished manuscript of W.J. Masek entitled &quot;Some NP-complete set covering problems&quot;. Apparently, this paper is (in)famous enough in its elusiveness to have made it into one of David Johnson's &lt;a href=&quot;http://www2.research.att.com/~dsj/columns/col20.pdf&quot;&gt;NP-completeness columns&lt;/a&gt; in 1987:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Of those ‘‘unpublished manuscripts’’ and ‘‘personal communications’’ that&#xA;  have not yet seen the formal light of day, two in particular stand out. They were&#xA;  both originally cited in [G&amp;amp;J], and between them they seem to have garnered&#xA;  more enquiries than all the others combined, sending me off to the copier repeatedly&#xA;  to fulfill requests. One was the 1978 manuscript ‘‘Some NP-complete&#xA;  set covering problems,’’ by William Masek, who was then at MIT but has since disappeared from the theory community.&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;That paper contains the NP-completeness proofs for two problems of major&#xA;  importance in circuit and VLSI design. One was MINIMUM DISJUNCTIVE&#xA;  NORMAL FORM ([LO9] in [G&amp;amp;J]) [...] The second, related NP-completeness&#xA;  result was for the problem RECTILINEAR PICTURE COMPRESSION ([SR25] in [G&amp;amp;J]) [...]&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;Before disappearing, Masek sent me a revised manuscript [28], but as far as I&#xA;  know the paper was never published. &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="751" LastEditorUserId="751" LastEditDate="2010-12-23T19:13:40.423" LastActivityDate="2010-12-23T19:13:40.423" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3961" PostTypeId="2" ParentId="3919" CreationDate="2010-12-23T21:41:09.823" Score="14" Body="&lt;p&gt;A &lt;a href=&quot;https://complexityzoo.uwaterloo.ca/Complexity_Zoo%3aList_of_Communication_Complexity_Classes&quot; rel=&quot;nofollow&quot;&gt;section of the Complexity Zoo&lt;/a&gt; lists the most important Communication Complexity classes.&lt;/p&gt;&#xA;" OwnerUserId="1542" LastEditorUserId="109" LastEditDate="2014-03-27T12:12:33.227" LastActivityDate="2014-03-27T12:12:33.227" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="3962" PostTypeId="2" ParentId="3795" CreationDate="2010-12-24T07:35:21.250" Score="6" Body="&lt;p&gt;I might have misunderstood your question, but if not, I think it is false. Color the k-sets whose members are all congruent modulo d by red, the other k-sets by blue. If n&gt;kd, then any n-set must contain a k-set whose members are all congruent modulo d and is thus red. On the other hand, if a k-set contains two consecutive elements of a diverse n-set, then it is blue.&lt;/p&gt;&#xA;" OwnerUserId="419" LastActivityDate="2010-12-24T07:35:21.250" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="3963" PostTypeId="1" CreationDate="2010-12-24T07:47:45.520" Score="33" ViewCount="1248" Body="&lt;p&gt;Define LOGLOG as the class of languages which can be computed in space O(loglog n) by a deterministic Turing machine (with two-way access to the input). Similarly define NLOGLOG as the class of languages which can be computed in space O(log log n) by a non-deterministic Turing machine (with two-way access to the input). Is it really not known that these classes differ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I could only find some older surveys and a theorem that if they equal then L=NL (which is not just a trivial padding argument!), but somehow I feel that separating these classes cannot be that hard. Of course I might be completely wrong, but if every second bit of the input is the numbers from 1 to n in increasing order in binary, separated by some symbols, then the machines can already learn loglog n and with every other second bit we can input a problem that can fool a deterministic machine but not a non-deterministic one. I don't see yet exactly how this could be done but feels like a possible approach, as with this trick we can basically input a depth log n binary tree along with its structure instead of the usual linear tape.&lt;/p&gt;&#xA;" OwnerUserId="419" LastActivityDate="2020-03-08T20:33:31.640" Title="Does LOGLOG = NLOGLOG?" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;space-bounded&gt;" AnswerCount="2" CommentCount="12" FavoriteCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="3964" PostTypeId="1" AcceptedAnswerId="3970" CreationDate="2010-12-24T12:27:27.217" Score="14" ViewCount="2061" Body="&lt;p&gt;The Hungarian algorithm is a combinatorial optimization algorithm which solves the maximum weight &lt;strong&gt;bipartite&lt;/strong&gt; matching problem in polynomial time and anticipated the later development of the important &lt;em&gt;primal-dual method&lt;/em&gt;. The algorithm was developed and published by Harold Kuhn in 1955, who gave the name &quot;Hungarian algorithm&quot; because the algorithm was based on the earlier works of two Hungarian mathematicians: Dénes Kőnig and Jenő Egerváry. Munkres reviewed the algorithm in 1957 and observed that it is indeed polytime. Since then the algorithm is also known as Kuhn-Munkres algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Although the Hungarian contains the basic idea of the primal-dual method, it solves the maximum weight bipartite matching problem directly without using any linear programming (LP) machinery. &#xA;Thus, in answer of the following &lt;a href=&quot;https://cstheory.stackexchange.com/questions/2707/justification-for-the-hungarian-method-kuhn-munkres&quot;&gt;question&lt;/a&gt;, Jukka Suomela commented &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Of course you can solve any LP by using a general-purpose LP solver, but specialised algorithms typically have a much better performance. [...] You can also often avoid issues like using exact rational numbers vs. floating point numbers; everything can be done easily with integers.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;In other words, you don't have to worry about how to round a rational/floating point solution from the LP solver to get back a maximum weight perfect matching of a given bipartite graph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is the following:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there a generalization of the Hungarian algorithm that works for general &lt;strong&gt;undirected graph&lt;/strong&gt; without the use of LP machinery similarly to the spirit of the original Hungarian algorithm?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I would prefer modern and easy-to-read exposition instead of some original complicated paper. But any pointer will be very appreciated!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Many thanks in advance and Merry Christmas!!!&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt; The question is nicely answered by Arman below. I just want to point out that another nice source to study the Edmonds's Blossom Algorithm (for the  weighted case) is Chapter 11 of  &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/3540718435&quot; rel=&quot;nofollow noreferrer&quot;&gt;&lt;em&gt;Combinatorial Optimization&lt;/em&gt; by Korte and Vygen&lt;/a&gt;. Google book actually  shows nearly all the parts I need to understand the algorithm.&lt;/p&gt;&#xA;" OwnerUserId="1080" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2011-12-20T04:24:36.693" Title="Generalization of the Hungarian algorithm to general undirected graphs?" Tags="&lt;graph-theory&gt;&lt;reference-request&gt;&lt;graph-algorithms&gt;&lt;linear-programming&gt;&lt;primal-dual&gt;" AnswerCount="2" CommentCount="5" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="3965" PostTypeId="2" ParentId="3919" CreationDate="2010-12-24T12:45:15.097" Score="19" Body="&lt;p&gt;Complexity classes in communication complexity were introduced by Babai, Frankl, Simon in the paper quoted by Noam. The paper also develops the idea of completeness under suitable reductions. If you for instance describe the classes NP and co-NP it makes a lot of sense to describe the (co-NP complete) Disjointness problem as well.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As to your second questions, if P is (in communication complexity) the class of problems solvable with polylog(n) communication deterministically, then the class EXP should be the set of problems solvable with poly(n) communication, which simply is everything. So it seems that such classes are not interesting.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, there is another way to get larger classes. Already PSPACE is defined (by Babai et al.) not in terms of some notion of space, but in terms of alternation. Interactive proofs are another way to get large complexity classes. So you can define the class MIP as the set of problems that can be solved in a communication game with two provers (who cannot talk to each other) and two verifiers (who can talk to each other and to the provers&#xA;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the Turing machine world, MIP=NEXP, but what about in communication complexity (where NEXP does not seem to make sense)? First of all, MIP is not just the set of all problems due to a simple counting argument.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Andrew Drucker (in his masters thesis) has shown something interesting about this class. He considers PCP's in communication complexity, which (by standard techniques) are equivalent to MIP protocols (his result is a little stronger than what I state here).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What he shows is that for every problem in NP (the Turing machine class) and any way to split up the inputs, the resulting communication problem has an MIP protocol with communication polylog(n) (i.e. the problem is in the (communication complexity) class MIP).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, while MIP is not everything, finding an explicit problem that is not in MIP should be hard (not because we cannot find problems that are not in NP, but because it is not easy to imagine how the Turing machine complexity can come into play). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;That showing lower bounds for MIP is hard should maybe not be too surprising, because we don't even know how to prove lower bounds for AM protocols.&lt;/p&gt;&#xA;" OwnerUserId="2361" LastActivityDate="2010-12-24T12:45:15.097" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="3966" PostTypeId="2" ParentId="3614" CreationDate="2010-12-24T14:23:46.203" Score="8" Body="&lt;p&gt;There is a tight (within an additive log n) lower bound method for nondeterministic multiparty communication complexity:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Put a hard distribution on the 1-inputs, and measure the size of the largest 1-monochromatic cylinder intersection. To see that it's tight take the relevant section in Kushilevitz and Nisan, and replace the word 'rectangle' with 'cylinder intersection'.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The corruption bound, or rather the one-sided version of it (where you prove that all large rectangles contain a constant fraction of 0-inputs) is harder to use and yields stronger results, for instance allows you to prove MA-communication complexity lower bounds.&lt;/p&gt;&#xA;" OwnerUserId="2361" LastActivityDate="2010-12-24T14:23:46.203" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="3967" PostTypeId="1" AcceptedAnswerId="4036" CreationDate="2010-12-24T18:50:27.137" Score="17" ViewCount="1995" Body="&lt;p&gt;There seems to be much work, for some NP-Hard problems, on developing fast exponential time exact algorithms (i.e., results of the form: Algorithm A solves problem $x$ in O(c^n) time, with c small). There seems to be a fair amount of work along these lines for some NP-hard problems (e.g., &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=1109560&quot; rel=&quot;nofollow&quot;&gt;Measure and conquer: a simple $O(2^{0.288n})$ independent set algorithm. SODA’06&lt;/a&gt;) but I haven't been able to find similar work for the set packing problem. There seems to be similar work on some restrictions of the set packing problem (e.g., An $O^{*}(3.523^{k})$ Parameterized Algorithm for 3-Set Packing) but I haven't found any for the general set packing problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So my question is: What is the best time complexity for exactly solving the weighted set packing problem where there are $m$ sets drawn from a universe of $n$ elements?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am also interested in the relationship between the number of sets and the size of the universe. For example, has there been algorithmic work on situations where $m$ is relatively large compared to $n$ (i.e., close to $2^n$)?&lt;/p&gt;&#xA;" OwnerUserId="482" LastEditorUserId="9453" LastEditDate="2013-12-11T22:57:16.070" LastActivityDate="2016-09-24T10:25:20.393" Title="Algorithms for set packing" Tags="&lt;ds.algorithms&gt;" AnswerCount="2" CommentCount="8" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="3968" PostTypeId="2" ParentId="3906" CreationDate="2010-12-25T07:00:34.673" Score="3" Body="&lt;p&gt;&lt;a href=&quot;https://github.com/tinkerpop/gremlin/wiki&quot; rel=&quot;nofollow&quot;&gt;Gremlin&lt;/a&gt; is one.  It has extensive documentation and is well developed.  I believe it is in use by a group at AT&amp;amp;T.  Also, it is cross platform (if you care about such things). There's a presentation by the author on his website, but I can't add an additional hyperlink to this post because I'm a new user.&lt;/p&gt;&#xA;" OwnerUserId="2847" LastEditorUserId="2847" LastEditDate="2010-12-25T07:06:26.083" LastActivityDate="2010-12-25T07:06:26.083" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3969" PostTypeId="2" ParentId="3963" CreationDate="2010-12-25T07:15:33.187" Score="17" Body="&lt;p&gt;The &lt;a href=&quot;http://complexity-zoo.net/zoo/wiki/Complexity_Zoo%3aL#loglog&quot;&gt;entry in the complexity zoo&lt;/a&gt; is surprisingly detailed; it claims that &#xA;&lt;strong&gt;NLOGLOG&lt;/strong&gt; = &lt;strong&gt;co-NLOGLOG&lt;/strong&gt; in the paper &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;a href=&quot;http://dl.acm.org/citation.cfm?id=114454&quot;&gt;Nondeterministic computations in sublogarithmic space and space constructibility&lt;/a&gt;, Viliam Geffert, SIAM Journal on Computing, 1991.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;But after a brief reading, I do not see any claim about the fact that NLOGLOG is closed under complement; maybe a deeper look is needed.&#xA;And the main result they have is that there are no nondeterministic fully space-constructible unbounded monotone increasing $s(n)$ functions for $s(n) = o(\log n)$. It is known that if such functions exists, then &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\mathsf{SPACE}[s(n)] \neq \mathsf{NSPACE}[s(n)]$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;And in the conclusion the author claimed that &quot; ...this main separation problem remains &lt;em&gt;open&lt;/em&gt;. &quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As @chazisop said, the relations of these low-level complexity classes are depended on the models, and it is stated in the entry of the zoo that&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&quot;There are several possible definitions of this class; the most common is the class of languages which can be computed in space O(log log n) by a deterministic Turing machine with two-way access to the input. &quot;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Which is coincident to your definition and also the paper's.&lt;/p&gt;&#xA;" OwnerUserId="1800" LastEditorUserId="1800" LastEditDate="2012-12-04T03:29:01.953" LastActivityDate="2012-12-04T03:29:01.953" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="3970" PostTypeId="2" ParentId="3964" CreationDate="2010-12-25T08:12:08.297" Score="16" Body="&lt;p&gt;Edmonds's matching algorithm (also called Blossom Algorithm) solves the maximum matching on general graphs. Actually it is a generalization of alternating paths method. (I am not sure of the name of the method but it shoud be König-Hall method.) It basically finds augmenting paths (see wikipedia page: &lt;a href=&quot;http://en.wikipedia.org/wiki/Edmonds%27s_matching_algorithm&quot;&gt;http://en.wikipedia.org/wiki/Edmonds%27s_matching_algorithm&lt;/a&gt;) to extend the current matching and stops if there is no more augmenting paths. In general graphs, the only problem occurs in odd cycles. In the Edmonds's matching algorithm odd cycles are contracted (blossoms) and expended back to have a solution.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is also a correspondence between Blossom Algorithm and Primal Dual method.&#xA;Odd cycles cause fractional extreme points. Therefore we add so called blossom inequalities for each odd cycle.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Minimum weighted perfect matching and maximum weight matching problems could also be handled with this approach.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For details of the algorithm, see&#xA;&lt;a href=&quot;http://en.wikipedia.org/wiki/Edmonds%27s_matching_algorithm&quot;&gt;http://en.wikipedia.org/wiki/Edmonds%27s_matching_algorithm&lt;/a&gt;&#xA;http://www.cs.berkeley.edu/~karp/greatalgo/lecture05.pdf&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For mathematical formulation and the corresponding primal-dual method, see&#xA;&lt;a href=&quot;http://webdocs.cs.ualberta.ca/~mreza/courses/CombOpt09/lecture4.pdf&quot;&gt;http://webdocs.cs.ualberta.ca/~mreza/courses/CombOpt09/lecture4.pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="2296" LastActivityDate="2010-12-25T08:12:08.297" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3972" PostTypeId="1" CreationDate="2010-12-25T14:14:44.537" Score="-4" ViewCount="2317" Body="&lt;p&gt;I want to be able to find sentences with the same meaning. I have a query sentence, and a long list of millions of other sentences. Sentences are words, or a special type of word called a symbol which is just a type of word symbolizing some object being talked about.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, my query sentence is:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Example: add (x) to (y) giving (z)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There may be a list of sentences such as:&#xA;1. the sum of (x) and (y) is (z)&#xA;2. (x) plus (y) equals (z)&#xA;3. (x) multiplied by (y) does not equal (z)&#xA;4. (z) is the sum of (x) and (y)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The example should match 1, 2, 4 but not 3.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Its not just math, its any sentence which can be compared to any other sentence based upon the meaning of the words. I need some way to have a comparison between a sentence and many other sentences to find the ones with the closes relative meaning.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks! (the tag is language-design as I couldn't create any new tag)&lt;/p&gt;&#xA;" OwnerUserId="2257" LastEditorUserId="186" LastEditDate="2010-12-26T07:06:04.623" LastActivityDate="2010-12-26T07:06:04.623" Title="Find sentences with similar relative meaning from a list of sentences against an example one" Tags="&lt;machine-learning&gt;&lt;ai.artificial-intel&gt;&lt;formal-modeling&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="3974" PostTypeId="2" ParentId="3972" CreationDate="2010-12-25T17:16:10.347" Score="0" Body="&lt;p&gt;I believe semantic analysis of a &quot;spoken&quot; language could be done quite efficiently, since words are grouped in finite sentences (Note: in this context language refers to natural and artificial human languages, not sets of input). The real problem is introducing a word's meaning to a machine, so that it associates a word or phrase with objects or ideas, like humans do. Furthermore, it is not unusual for the document's context to immensely affect the word's meaning. A good example is finding a word from your field and consider what that would mean to an outsider, e.g. the term &quot;formal language&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A comparison of programming languages and natural languages amplify this fact. For many years we have compilers that efficiently transform programming languages to machine instructions (although they might not understand what the program really does). Creating a computer program (even an inefficient one) that can understand a human language is a great open problem in the field of Artificial Intelligence. Actually, it is one of the basic components in the famous Turing test, which allows to distinguish a human from a machine.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, instead of AI, for practical purposes I would suggest studying Information Retrieval. These techniques are used for example, by search engines so that they find related documents to a specific query, using a variety of mathematical models. Techniques are also used so large datasets can be manipulated (since IR is used a lot in the Web). So if you are satisfied with the quality of the results given by your favourite search engine, Information Retrieval is the way to go.&lt;/p&gt;&#xA;" OwnerUserId="879" LastActivityDate="2010-12-25T17:16:10.347" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3976" PostTypeId="1" AcceptedAnswerId="3977" CreationDate="2010-12-25T19:07:26.470" Score="13" ViewCount="759" Body="&lt;p&gt;Recently, I was going over an introduction to Holographic Algorithms. I came across some combinatorial objects called Pfaffians. I do not really know much about those at the moment and came across some surprising uses they can be put to.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For instance, I came to know that they can be used to efficiently count the number of perfect matchings in planar graphs. Also, they can be used to count the number of possible tilings of a chessboard using 2*1 tiles. The tiling connection seemed very curious to me and I tried searching for more relevant materials on the web but in most places I merely found just one statement or two about the connection and nothing else.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I just meant to ask if someone could suggest some reference to relevant literature as that would be really great and I am looking forward to study some related materials.&lt;/p&gt;&#xA;" OwnerUserId="55" LastEditorUserId="186" LastEditDate="2011-01-20T15:44:29.040" LastActivityDate="2011-01-20T19:36:34.420" Title="Regarding Pfaffian Methods in Counting and Combinatorics" Tags="&lt;reference-request&gt;&lt;co.combinatorics&gt;&lt;counting-complexity&gt;" AnswerCount="4" CommentCount="4" FavoriteCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="3977" PostTypeId="2" ParentId="3976" CreationDate="2010-12-25T20:15:09.237" Score="17" Body="&lt;p&gt;(This is an interesting question for me because I'm also reading about the Pfaffian.) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I suggest the following references:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;ul&gt;&#xA;&lt;li&gt;Chapter 8 of the awesome book &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0821847597&quot;&gt;Matching Theory&lt;/a&gt; by Lovasz and Plummer.&lt;/li&gt;&#xA;&lt;li&gt;The paper &lt;a href=&quot;http://page.mi.fu-berlin.de/rote/Papers/pdf/Division-free+algorithms.pdf&quot;&gt;Division-Free Algorithms for the Determinant and the Pfaﬃan: Algebraic and Combinatorial Approaches&lt;/a&gt; by Rote. This paper relates the Pfaffian with the combinatorial object called &lt;em&gt;alternating closed walk sequence&lt;/em&gt; (aka. alternating clow sequence), which gives us a dynamic (division-free) algorithm for computing the Pfaffian.&lt;/li&gt;&#xA;&lt;li&gt;The paper &lt;a href=&quot;http://deepblue.lib.umich.edu/bitstream/2027.42/28397/1/0000172.pdf&quot;&gt;Nonintersecting paths, pfaﬃans, and plane partitions&lt;/a&gt; by Stembridge, which shows how to use the Pfaffian to enumerate configurations in combinatorics. The paper also gives combinatorial proofs of basic identities, e.g.,&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;If $A$ is a skew-symmetric matrix, then $\mathsf{pf}(A)^2 = \mathsf{det}(A)$.&lt;/li&gt;&#xA;  &lt;/ul&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="1080" LastEditorUserId="1080" LastEditDate="2010-12-25T21:17:29.703" LastActivityDate="2010-12-25T21:17:29.703" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="3978" PostTypeId="1" AcceptedAnswerId="3979" CreationDate="2010-12-25T23:58:09.587" Score="6" ViewCount="283" Body="&lt;p&gt;One of the cornerstones of the modern cryptography is the definition of &lt;strong&gt;computational indistinguishability&lt;/strong&gt;: It is used in definition of cryptosystems, pseudorandom generators, zero-knowledge, etc. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Below, we will first define this concept, and then investigate some of its properties:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $U=\{U_n\}$ and $V=\{V_n\}$ be two distribution ensembles, indexed by natural numbers. That is, for every $n \in \mathbb{N}$, $U_n$ and $V_n$ are probability distributions. We call $U$ and $V$ &lt;strong&gt;computationally indistinguishable&lt;/strong&gt; if, for all probabilistic Turing machine $D$ which is polynomial-time in the length of its first input, all positive polynomial $p(\cdot)$, every sufficiently large $n \in \mathbb{N}$, and all advice strings $z \in \{0,1\}^*$:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\left|\Pr_{u \leftarrow U_n}[D(1^n,u,z)=1]-\Pr_{v \leftarrow V_n}[D(1^n,v,z)=1]\right|&amp;lt;\frac{1}{p(n)}.$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The probability is taken over the choice of $u$ and $v$, as well as the internal coin tosses of $D$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An equivalent definition is obtained by replacing the $\forall z \in \{0,1\}^*$ part by a quantifier over all functions $f$, and letting $z=f(1^n)$. Note that $f$ can be an uncomputable function.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The question is:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Are there distribution ensembles $U$ and $V$ which are computationally &lt;strong&gt;distinguishable&lt;/strong&gt;, but if we restrict $f$ to computable functions, then $U$ and $V$ are computationally &lt;strong&gt;indistinguishable&lt;/strong&gt;?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.wisdom.weizmann.ac.il/~oded/PS/uniform.ps&quot; rel=&quot;nofollow&quot;&gt;Goldreich&lt;/a&gt; argued that in cryptographic settings, where all parties are modeled by probabilistic polynomial-time Turing machines, $f$ must be computable by a polynomial-time machine. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now consider other settings, such as the case of single- or multi-prover interactive proofs. It is proven (&lt;a href=&quot;http://portal.acm.org/citation.cfm?id=146609&quot; rel=&quot;nofollow&quot;&gt;Shamir&lt;/a&gt;, &lt;a href=&quot;http://www.springerlink.com/content/k25nn33263382585/&quot; rel=&quot;nofollow&quot;&gt;Babai &lt;em&gt;et al.&lt;/em&gt;&lt;/a&gt;) that the parties in such systems need not be more powerful than PSPACE and NEXP machines, respectively.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is it rational to consider uncomputable functions $f$ in such cases? In particular, do we need to consider $f$ to be computable by machines whose power is beyond PSPACE or NEXP, respectively?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="873" LastEditorUserId="80" LastEditDate="2010-12-26T05:37:46.663" LastActivityDate="2010-12-26T07:24:57.203" Title="The Complexity of Advice in Computational Indistinguishability" Tags="&lt;cc.complexity-theory&gt;&lt;computability&gt;&lt;cr.crypto-security&gt;&lt;advice-and-nonuniformity&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3979" PostTypeId="2" ParentId="3978" CreationDate="2010-12-26T07:24:57.203" Score="2" Body="&lt;p&gt;Case 1. The distributions $U_n$ and $V_n$ are computable in the sense that we can eventually tell if your displayed inequality is violated, for fixed $n$ and $z$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It seems the answer to the first question (following &quot;The question is&quot;) is &lt;strong&gt;No&lt;/strong&gt; in this case. Suppose there is a $D$ and a $p$ such that for infinitely many $n$, there is a $z$ violating the inequality. I claim we can find a computable function $f$ such that $f(1^n)$ is infinitely often such a $z$. What $f$ does is run all searches for $z$ for various values of $n$ in parallel. When one is found for some $n$, we define $f(1^n)=z$ and the searches for undefined values $m&amp;lt;n$ are called off and $f(1^m)$ is defined arbitrarily. Then another parallel search is instituted for a larger value of $n$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Case 2, we do not make any assumption about $U$ and $V$. Then &lt;strong&gt;Yes&lt;/strong&gt;. Both $U_n$ and $V_n$ will be deterministic in the following construction.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $D(1^n,w,z)$ simply compute whether $w=z$ and output 1 if this is the case. But $U_n$ and $V_n$ will output the $n$th element $s_n$, $t_n$, of sets $S$ and $T$, respectively. Then such a function $f$ would have the property that infinitely often $f(1^n)=s_n\ne t_n$ or vice versa. Now suppose that $n\mapsto s_n$ and $n\mapsto t_n$ both dominate all computable functions, and $\{n: s_n\ne t_n\}$ is infinite (such sets $S$ and $T$ clearly exist). Then a function $f$ exists with the required property, but cannot be computable.  &lt;/p&gt;&#xA;" OwnerUserId="1993" LastActivityDate="2010-12-26T07:24:57.203" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="3980" PostTypeId="2" ParentId="3931" CreationDate="2010-12-26T17:51:55.297" Score="6" Body="&lt;p&gt;If you take the standard Ising model: min $E= -\sum_{i \neq j}J_{ij}S_iS_j$, where $S_k =\pm 1$, and replace $J_{ij}$ with a non-symmetric matrix, it remains the standard Ising model. This is because you can rewrite the terms $- J_{ij}S_i S_j -J_{ji}S_j S_i = - \frac{J_{ij} + J_{ji}}{2} (S_iS_j + S_j S_i)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A more interesting asymmetric generalization of the planar Ising model is planar MAX 2-SAT (the problem planar MIN 2-SAT is equivalent). This is the problem MAX 2-SAT where the clauses are on the edges of a planar graph. Planar MAX 2-SAT is NP-hard: look at &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.50.9195&quot; rel=&quot;nofollow&quot;&gt;this paper by Guibas, Hershberger, Mitchell and Snoeyink&lt;/a&gt;. Thus, it appears that there may be no interesting polynomial-time generalization of the planar Ising model algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I should note that for planar MAX 2-SAT to be a generalization of the planar Ising model, you need to restrict the Ising model to polynomial-size integers $J_{ij}$. The obvious reduction also requires a planar multigraph, but there's an easy proof that planar MAX 2-SAT on a graph and on a multigraph are equivalent problems.&lt;/p&gt;&#xA;" OwnerUserId="1677" LastEditorUserId="1677" LastEditDate="2011-02-25T22:27:49.720" LastActivityDate="2011-02-25T22:27:49.720" CommentCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="3981" PostTypeId="1" AcceptedAnswerId="3997" CreationDate="2010-12-26T19:49:10.577" Score="5" ViewCount="392" Body="&lt;p&gt;Suppose that instead of the usual linear work tape the input is given in a binary tree structure with n leaves and log n depth, the initial position being the root. At every node, we can step to its parent, left child or right child.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am interested in what &quot;tree-languages&quot; can be accepted by what machines. More specifically, take the language where in every non-leaf we have the gate of a boolean circuit (ie. and or not), in the leaves either a constant or a variable (different for each leaf) and such a &quot;tree-word&quot; is in the language if and only if it has a satisfying assignment. Can this language be decided by a turing machine that has an o(log n) space worktape?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that it is accepted by a non-deterministic finite state machine and also by a deterministic turing machine with O(log n) space. Similarly, if all the variables are constant, then it can be decided by a deterministic finite state machine. (If there are no constants, then every formula is satisfiable.)&lt;/p&gt;&#xA;" OwnerUserId="419" LastEditorUserId="419" LastEditDate="2010-12-27T08:02:01.157" LastActivityDate="2010-12-28T14:30:41.017" Title="Is the Balanced Boolean Formula problem solvable in sublogarithmic space if the input has a tree structure?" Tags="&lt;cc.complexity-theory&gt;&lt;space-bounded&gt;&lt;circuit-families&gt;&lt;formulas&gt;" AnswerCount="2" CommentCount="6" ContentLicense="CC BY-SA 2.5" />
  <row Id="3982" PostTypeId="1" CreationDate="2010-12-27T02:51:56.340" Score="22" ViewCount="611" Body="&lt;p&gt;When designing approximation algorithms one sometimes solves a semidefinite program followed by a rounding step. An often used example to illustrate this is Max-Cut. (See e.g. Approximation Algorithms by Vijay Vazirani.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there good educational sources or surveys going beyond the Max-Cut problem to explain more complex rounding algorithms and techniques used for their analysis? I'm thinking of cases when the vectors of the SDP-solution aren't distributed uniformly on a hypersphere, they have different lengths, or have other properties making the analysis harder.&lt;/p&gt;&#xA;" OwnerUserId="146" LastEditorUserId="186" LastEditDate="2011-07-02T05:54:38.480" LastActivityDate="2012-09-26T20:13:58.797" Title="Educational Source or Survey on Analysis of Semidefinite Program?" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;approximation-algorithms&gt;&lt;semidefinite-programming&gt;&lt;csp&gt;" AnswerCount="3" CommentCount="6" FavoriteCount="7" ContentLicense="CC BY-SA 2.5" />
  <row Id="3983" PostTypeId="2" ParentId="1854" CreationDate="2010-12-27T05:35:52.550" Score="8" Body="&lt;p&gt;Throughout this discussion, it has been assumed that finding a minimal regular expression amounts to finding a minimal FSM recognizing the language, but these are two different things. If I remember correctly, a DFA can be minimized in polynomial time, whereas finding a minimal regular expression that represents a given regular language is PSPACE-hard. The latter is one of those results that belong to the folklore of Automata Theory, but whose proof cannot not be found anywhere. I think it is stated as an exercise in Papadimitrou's book. &lt;/p&gt;&#xA;" OwnerDisplayName="Hebert" LastActivityDate="2010-12-27T05:35:52.550" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="3985" PostTypeId="2" ParentId="3981" CreationDate="2010-12-27T07:42:27.787" Score="-1" Body="&lt;p&gt;From the question I assume you are talking about exact algorithms and not approximate ones. Since this is the case, you will have to &quot;write&quot; the entire input, using the same space as before, just using a different structure. Although this might provide a speedup in time, the space used will be at least the same, assuming that you use a reasonably efficient representation (e.g. not a unary one).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Using less tape is usually achieved by space re-use or by carefully selecting which cells to overwrite, so that you can use some information later on the computation. However usually you cannot re-use or overwrite the input, since you need it throughout the process of solving the problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Even if the above problems were dealt with, the usual model for space complexity has a separate input tape, which is read only and is not measured as used space , so we can have sublinear space complexities and avoid the problems above. Perhaps you are referring to a different model?&lt;/p&gt;&#xA;" OwnerUserId="879" LastActivityDate="2010-12-27T07:42:27.787" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="3986" PostTypeId="1" CreationDate="2010-12-27T09:11:44.033" Score="1" ViewCount="260" Body="&lt;p&gt;Background: I'm a CS grad student. I've taken a course on computational complexity.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Question: &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Can you suggest an introductory book on quantum computation, especially regarding the details of Question 2. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Argue whether it's hard to separate $QIP[i]$ from $QIP[i + 1]$ for $i &amp;lt; 3$. I know $QIP$ collapses to $QIP[3]$. The simple argument is that this question is hard because we still can't separate P from $PSPACE$. Note $P \subseteq BQP = QIP[0]$ and $PSPACE = IP = QIP = QIP[3]$. However on the other hand, I would think separating $QIP[i]$ from $QIP[i + 1]$ is easy, because the difference is obvious. The only thing left to do is to define a language that exploits the difference.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Remark. To me question 1 is more important than question 2. :p&lt;/p&gt;&#xA;" OwnerUserId="2938" LastEditorUserId="186" LastEditDate="2010-12-28T02:40:35.593" LastActivityDate="2010-12-28T02:40:35.593" Title="Separating the QIP hierarchy" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;quantum-computing&gt;&lt;separation&gt;" AnswerCount="0" CommentCount="6" ContentLicense="CC BY-SA 2.5" />
  <row Id="3987" PostTypeId="1" AcceptedAnswerId="4017" CreationDate="2010-12-27T18:50:21.967" Score="19" ViewCount="6281" Body="&lt;p&gt;I was wondering if the &lt;a href=&quot;http://www.json.org/&quot;&gt;JSON&lt;/a&gt; spec defined a regular language.  It seems simple enough, but I'm not sure how to prove it myself.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The reason I ask, is because I was wondering if one could use regular expressions to effectively pars JSON.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Could someone with enough rep please create the tags&lt;/em&gt; &lt;a href=&quot;/questions/tagged/json&quot; class=&quot;post-tag&quot; title=&quot;show questions tagged 'json'&quot; rel=&quot;tag&quot;&gt;json&lt;/a&gt; &lt;em&gt;and&lt;/em&gt; &lt;a href=&quot;/questions/tagged/regular-language&quot; class=&quot;post-tag&quot; title=&quot;show questions tagged 'regular-language'&quot; rel=&quot;tag&quot;&gt;regular-language&lt;/a&gt; &lt;em&gt;for me?&lt;/em&gt;&lt;/p&gt;&#xA;" OwnerUserId="2479" LastEditorUserId="567" LastEditDate="2010-12-27T20:40:58.337" LastActivityDate="2010-12-30T00:36:24.217" Title="Is JSON a Regular Language?" Tags="&lt;fl.formal-languages&gt;&lt;regular-expressions&gt;&lt;regular-language&gt;" AnswerCount="2" CommentCount="3" FavoriteCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="3988" PostTypeId="2" ParentId="3987" CreationDate="2010-12-27T19:06:38.677" Score="30" Body="&lt;p&gt;No, it's not regular.  Since it allows arbitrary embedding of balanced delimiters, it must be at least context-free.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, consider an array of arrays of arrays:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;[ [ [ 1, 2], [2, 3] ] , [ [ 3, 4], [ 4, 5] ] ] &#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Clearly you couldn't parse that with true regular expressions.&lt;/p&gt;&#xA;" OwnerUserId="629" LastActivityDate="2010-12-27T19:06:38.677" CommentCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="3991" PostTypeId="1" AcceptedAnswerId="3998" CreationDate="2010-12-28T03:11:42.927" Score="18" ViewCount="1615" Body="&lt;p&gt;This &lt;a href=&quot;http://rigaux.org/language-study/types.txt&quot;&gt;page&lt;/a&gt; asserts that &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;many languages do not use implicit subtyping (structural equivalence), prefering explicit/declared subtyping (declaration equivalence)&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I've mostly used programming languages which uses explicit &lt;a href=&quot;http://en.wikipedia.org/wiki/Subtypes&quot;&gt;subtyping&lt;/a&gt;. What are the advantages of implicit subtyping, as described in the notes above.&lt;/p&gt;&#xA;" OwnerUserId="2946" LastEditorUserId="186" LastEditDate="2010-12-28T03:17:24.357" LastActivityDate="2011-01-04T16:39:59.820" Title="Implicit vs explicit subtyping" Tags="&lt;pl.programming-languages&gt;&lt;type-theory&gt;" AnswerCount="2" CommentCount="5" FavoriteCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="3992" PostTypeId="2" ParentId="2129" CreationDate="2010-12-28T04:39:46.513" Score="0" Body="&lt;p&gt;@warren sorry mate I couldn't understand your reduction either, it seems to be saying that finding ham cycle in a directed graph is NPC as finding ham cycle in an undirected graph is NPC, which i feel is a bit off the topic.  It would be better if you could rephrase your reduction more clearly.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;also this problem is not NP complete as it's a puzzle from facebook, of course I am guilty of assuming that they have a polynomial time solution for it. has anyone solved it yet?&lt;/p&gt;&#xA;" OwnerDisplayName="jackace" LastActivityDate="2010-12-28T04:39:46.513" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="3993" PostTypeId="2" ParentId="79" CreationDate="2010-12-28T05:21:37.970" Score="17" Body="&lt;p&gt;&lt;a href=&quot;http://garden.irmacs.sfu.ca/?q=op/theoretical_computer_science/subset_sums_equality&quot; rel=&quot;noreferrer&quot;&gt;The Pigeonhole Version of Subset Sum&lt;/a&gt; (or Subset Sum Equality).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$a_k \in \mathbb{Z}_{&amp;gt;0}$$&#xA;$$\sum_{k=0}^{n-1} a_k &amp;lt; 2^n - 1$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By the pigeonhole principle, there must exist two disjoint subsets, $S_1, S_2 \subseteq \{ 1, \dots, n \} $ such that:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\sum_{j \in S_1} a_j = \sum_{k \in S_2} a_k $$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The pigeonhole subset sum problem asks for such a solution.  Originally stated in &quot;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.106.1192&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;noreferrer&quot;&gt;Efficient approximation algorithms for the SUBSET-SUMS EQUALITY problem&lt;/a&gt;&quot; by Bazgan, Santha and Tuza.&lt;/p&gt;&#xA;" OwnerUserId="834" LastEditorUserId="834" LastEditDate="2014-03-04T20:38:40.397" LastActivityDate="2014-03-04T20:38:40.397" CommentCount="0" CommunityOwnedDate="2010-12-28T05:21:37.970" ContentLicense="CC BY-SA 3.0" />
  <row Id="3994" PostTypeId="2" ParentId="2129" CreationDate="2010-12-28T06:31:05.947" Score="4" Body="&lt;p&gt;As has been explained repeatedly above, finding the minimum-weight strongly-connected spanning subgraph (&quot;SCSS&quot;) of a given weighted digraph is NP-complete, even in the special case when all weights are one and even when you only want to distinguish the case that there is a subgraph of weight n from the case that the optimal weight is larger than n.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, to follow up on a comment of Warren Schudy: there is a simple polynomial-time approximation algorithm that gets an approximation ratio of 2: choose an arbitrary vertex s, find the minimum-weight arborescence out of s (subgraph that includes a path from s to all other vertices), find the minimum-weight arborescence into s, and take the union of the two arborescences. I believe this idea is due to Frederickson and JáJá, &quot;Approximation algorithms for several graph augmentation problems&quot;, SIAM J. Comput. 1981.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Better approximations are known for the unweighted problem e.g. 1.64 by &lt;a href=&quot;http://arxiv.org/abs/cs.DS/0205040&quot; rel=&quot;nofollow&quot;&gt;Khuller, Raghavachari, and Young, SIAM J. Comput. 1995&lt;/a&gt;. I don't know of improvements for the weighted version but that may merely indicate that I didn't search hard enough.&lt;/p&gt;&#xA;" OwnerUserId="95" LastEditorUserId="1677" LastEditDate="2010-12-28T12:36:06.037" LastActivityDate="2010-12-28T12:36:06.037" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="3997" PostTypeId="2" ParentId="3981" CreationDate="2010-12-28T14:30:41.017" Score="7" Body="&lt;p&gt;It seems to me that the problem can be solved in constant space.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We perform a recursive procedure, and store only the parity of the number of negation gates seen on the path from the root to the current node.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;At a leaf, if we have a variable and have seen an even number of negation gates, we set the variable to be true. Otherwise, if we have seen an odd number of negation gates, we set the variable to be false.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As before, at an AND or OR gate we first call recusively to the left, and then to the right if the value has not been determined.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now if there exists a satisfying assignment, then the assignment defined above will satisfy the formula.&lt;/p&gt;&#xA;" OwnerUserId="313" LastActivityDate="2010-12-28T14:30:41.017" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="3998" PostTypeId="2" ParentId="3991" CreationDate="2010-12-28T15:07:22.597" Score="19" Body="&lt;p&gt;The short answer is &quot;to verify additional properties of existing code&quot;.  Longer answer follows.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am not sure &quot;implicit&quot; vs &quot;explicit&quot; is good terminology.  This distinction is sometimes called &quot;structural&quot; vs &quot;nominal&quot; subtyping.  Then there is also a second distinction in the possible interpretations of structural subtyping (described shortly).  Note that all three interpretations of subtyping really are orthogonal, and so it doesn't really make sense to compare them against each other, rather than understanding the uses of each.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The main operational distinction in interpreting a structural subtyping relation A &amp;lt;: B is whether it is witnessed by a real coercion with (runtime/compiletime) computational content, or whether it can be witnessed by the identity coercion.  If the former, the important theoretical property that has to hold is &quot;coherence&quot;, i.e., if there are multiple ways to show that A is a substructural subtype of B, each of the accompanying coercions have to have the same computational content.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The link you gave seems to have the second interpretation of structural subtyping in mind, where A &amp;lt;: B can be witnessed by the identity coercion.  This is sometimes called a &quot;subset interpretation&quot; of subtyping, taking the naive view that a type represents a set of values, and so A &amp;lt;: B just in case every value of type A is also a value of type B.  It is also sometimes called &quot;refinement typing&quot;, and a good paper to read for the original motivation is Freeman &amp;amp; Pfenning's &lt;a href=&quot;http://www.cs.cmu.edu/~fp/papers/pldi91.pdf&quot;&gt;Refinement types for ML&lt;/a&gt;.  For a more recent incarnation in F#, you can read Bengston et al, &lt;a href=&quot;http://research.microsoft.com/en-us/projects/f7/seven-csf08-paper.pdf&quot;&gt;Refinement types for secure implementations&lt;/a&gt;.  The basic idea is to take an existing programming language that may (or may not) already have types but in which types do not guarantee all that much (e.g., only memory safety), and consider a second layer of types selecting subsets of programs with additional, more precise properties.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Now, I would argue that the mathematical theory behind this interpretation of subtyping is still not as well understood as it should be, and perhaps that is because its uses are not as widely appreciated as they should be.  One problem is that the &quot;set of values&quot; interpretation of types is too naive, and so sometimes it is abandoned rather than refined.  For another argument that this interpretation of subtyping deserves more mathematical attention, read the introduction to Paul Taylor's &lt;a href=&quot;http://www.paultaylor.eu/ASD/subasd.pdf&quot;&gt;Subspaces in Abstract Stone Duality&lt;/a&gt;.)&lt;/p&gt;&#xA;" OwnerUserId="674" LastEditorUserId="674" LastEditDate="2010-12-28T16:41:27.047" LastActivityDate="2010-12-28T16:41:27.047" CommentCount="7" ContentLicense="CC BY-SA 2.5" />
  <row Id="4003" PostTypeId="2" ParentId="3871" CreationDate="2010-12-28T16:14:43.590" Score="11" Body="&lt;p&gt;Maximality and minimality: They are kinds of Pareto optimality.&lt;br&gt;&#xA;Complexity: I think finding a minimum maximal solution is NP-hard.  I would reduce the independence domination problem (aka the minimum maximal independent set problem) in bipartite graphs.  This problem (more precisely its decision version) is known to be NP-complete (D. G. Corneil and Y. Perl, Clustering and domination in perfect graphs.  Discrete Applied Mathematics 9 (1984) 27-39).  Since a bipartite graph is perfect, its independent set polytope is determined by the clique inequalities, and the number of cliques in a bipartite graph is polynomial.  Therefore, we can explicitly write down a system of linear inequalities Ax &amp;lt;= 1, x &gt;= 0 for the independent set polytope.  The extreme solutions correspond to the independent sets, and the extreme maximal solutions correspond to the maximal independent sets.&lt;/p&gt;&#xA;" OwnerUserId="2955" LastActivityDate="2010-12-28T16:14:43.590" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4005" PostTypeId="1" CreationDate="2010-12-28T18:12:48.060" Score="4" ViewCount="237" Body="&lt;p&gt;Let $\mathcal{X}= \{1,-1\}^n$, $E$  the set of edges and $J$ some real-valued matrix. Van der Waerden's theorem gives constant $c$ and set of edge weights such that&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\sum_\mathbf{x\in \mathcal{X}} \exp \sum_{ij \in E} J_{ij} x_i x_j = c \sum_{A\in C} f(A) $$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Where $C$ consists of Eulerian subgraphs over $E$, $f(A)$ is the weight of $A$ defined as the product of weights of edges in $A$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edge weights are strictly below 1 in magnitude. Suppose only a small number of self-avoiding loops on the graph have non-negligible weight. We can approximate the sum by only considering Eulerian subgraphs including these loops. However, a small number of such loops can give a large number of Eulerian subgraphs. Is there a more efficient way?&lt;/p&gt;&#xA;" OwnerUserId="434" LastEditorUserId="186" LastEditDate="2010-12-29T04:30:04.633" LastActivityDate="2010-12-29T04:30:04.633" Title="Ising Model and Eulerian Subgraphs" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;statistical-physics&gt;" AnswerCount="0" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="4006" PostTypeId="2" ParentId="2104" CreationDate="2010-12-28T18:13:00.137" Score="2" Body="&lt;p&gt;You need to clarify how &quot;$x$ in some feasible region&quot; is described analytically. The constraint $n \geq 1$ is usually called a &quot;bound constraint&quot;. So if your &quot;feasible region&quot; for $x$ has the form $\ell \leq x \leq u$ you are in the realm of bound-constrained optimization. If there are conditions of the form $Ax=b$, you are in &lt;em&gt;linearly-constrained optimization&lt;/em&gt;. You can narrow down further what precise area you are in based on the structure of your objective function $\sum G(x,n)$ (e.g., is it a sum of linear terms, quadratic terms, squares of linear terms, convex, concave, neither, etc.) There are many different methods out there for all categories.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You will find quite a bit of information at &lt;a href=&quot;http://www.neos-guide.org/NEOS&quot; rel=&quot;nofollow&quot;&gt;http://www.neos-guide.org/NEOS&lt;/a&gt;. Check the Wiki and the Optimization Software Guide. Check also the Decision Tree for Optimization Software (google it, it's one of the first results at University of Arizona; I can't post more than one hyperlink.)&lt;/p&gt;&#xA;" OwnerUserId="2956" LastActivityDate="2010-12-28T18:13:00.137" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4007" PostTypeId="1" CreationDate="2010-12-29T01:17:46.440" Score="10" ViewCount="1230" Body="&lt;p&gt;I've read a bit about the following data structures:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Bagwell's Ideal Hash Tries&lt;/li&gt;&#xA;&lt;li&gt;Larson's Dynamic hash tables&lt;/li&gt;&#xA;&lt;li&gt;Red-Black trees&lt;/li&gt;&#xA;&lt;li&gt;Patricia trees&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;...and I'm sure there are a &lt;em&gt;lot&lt;/em&gt; of others out there.  I've seen very little in the way of what each one is better suited for, or why I would choose one over another.  So, here are a few questions along these lines:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;What functional dictionary data structures are important to know about?&lt;/li&gt;&#xA;&lt;li&gt;What are the pros and cons of these approaches?&lt;/li&gt;&#xA;&lt;li&gt;When does it make sense to use a more imperative data structure?&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Numbers 2 &amp;amp; 3 are the more important ones though.  :-)&lt;/p&gt;&#xA;" OwnerUserId="1770" LastEditorUserId="1770" LastEditDate="2011-01-01T23:14:56.973" LastActivityDate="2012-06-12T11:09:38.657" Title="How do I choose a functional dictionary data structure?" Tags="&lt;ds.data-structures&gt;&lt;functional-programming&gt;&lt;tree&gt;&lt;hash-function&gt;" AnswerCount="2" CommentCount="5" FavoriteCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="4008" PostTypeId="2" ParentId="1015" CreationDate="2010-12-29T02:43:13.173" Score="4" Body="&lt;p&gt;I'm not sure if this belongs to the class of &lt;em&gt;frontier&lt;/em&gt; open problems or &lt;em&gt;major&lt;/em&gt; open problems, so comments are welcomed.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Open:&lt;/h2&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Show that whether $\mathsf{NP} = \mathsf{UP}$ implies $\mathsf{PH}$ collapses or not.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;$\mathsf{UP}$ (the &lt;em&gt;unambiguous&lt;/em&gt; polynomial time) is a class defined as decision problems decided by an NP-machine with an additional constrain that&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;there is at most one accepting computation path on any input.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;This problem has been stated in &lt;a href=&quot;http://blog.computationalcomplexity.org/2003/12/does-npup.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;the complexity blog&lt;/a&gt; in 2003.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Known:&lt;/h2&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;A &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.32.8999&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;result&lt;/a&gt; by Hemaspaandra, Naik, Ogiwara and Selman shows that if &#xA;  the following statement holds,&#xA;  then the polynomial hierarchy collapses to the second level.&lt;/p&gt;&#xA;  &#xA;  &lt;ul&gt;&#xA;  &lt;li&gt;There is an $\mathsf{NP}$ language $L$ such that for each formula $\phi$ in SAT, there is a &lt;em&gt;unique&lt;/em&gt; satisfying assignment $x$ with $(\phi,x)$ in $L$.&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;h2&gt;Unknown:&lt;/h2&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Any unlikely collapses or separations.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Related post: &lt;a href=&quot;https://cstheory.stackexchange.com/q/3887/1800&quot;&gt;More on syntactic vs semantic classes, and UP vs NP&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="1800" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2010-12-29T02:43:13.173" CommentCount="3" CommunityOwnedDate="2010-12-29T02:43:13.173" ContentLicense="CC BY-SA 2.5" />
  <row Id="4009" PostTypeId="2" ParentId="3115" CreationDate="2010-12-29T05:51:37.983" Score="2" Body="&lt;p&gt;As I see it, this special case is not easier than the general case.  Purely symbolically, you can reduce the problem of finding the singular-value decomposition (SVD) to the problem of diagonalizing a symmetric matrix.  One can read off the SVD of M from the eigenvectors and eigenvalues of M* M.  Note that the reduction involves only a matrix multiplication to compute M* M.  It does not seem that there should be any serious numerical issues.  &lt;/p&gt;&#xA;" OwnerDisplayName="user2963" LastActivityDate="2010-12-29T05:51:37.983" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4010" PostTypeId="2" ParentId="79" CreationDate="2010-12-29T06:22:36.717" Score="38" Body="&lt;p&gt;&lt;strong&gt;The sums of square roots problem:&lt;/strong&gt; Given two sequences $a_1, a_2, \dots, a_n$ and $b_1, b_2, \dots, b_n$ of positive integers, is $A := \sum_i \sqrt{a_i}$ less than, equal to, or greater than $B := \sum_i \sqrt{b_i}$?&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;The problem has a trivial $O(n)$-time algorithm on the real RAM—Just compute the sums and compare them!—but this does not imply membership in P.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;There is an obvious finite-precision algorithm, but it is not known whether a polynomial number of bits of precision is sufficient for correctness.  (See &lt;a href=&quot;http://maven.smith.edu/~orourke/TOPP/P33.html&quot;&gt;http://maven.smith.edu/~orourke/TOPP/P33.html&lt;/a&gt; for details.)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The Pythogorean theorem implies that the length of any polygonal curve whose vertices and integer endpoints is a sum of square roots of integers.  Thus, the sum-of-roots  problem is inherent in several planar computational geometry problems, including &lt;a href=&quot;http://en.wikipedia.org/wiki/Euclidean_minimum_spanning_tree&quot;&gt;Euclidean minimum spanning trees&lt;/a&gt;, &lt;a href=&quot;http://en.wikipedia.org/wiki/Euclidean_shortest_path&quot;&gt;Euclidean shortest paths&lt;/a&gt;, &lt;a href=&quot;http://en.wikipedia.org/wiki/Minimum-weight_triangulation&quot;&gt;minimum-weight triangulations&lt;/a&gt;, and the &lt;a href=&quot;http://en.wikipedia.org/wiki/Travelling_salesman_problem#With_metric_distances&quot;&gt;Euclidean traveling salesman problem&lt;/a&gt;.  (The Euclidean MST problem can be solved in polynomial time without resolving the sum-of-roots problem, thanks to the underlying matroid structure and the fact that the EMST is a subgraph of the Delaunay triangulation.)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;There &lt;em&gt;is&lt;/em&gt; a polynomial-time randomized algorithm, &lt;a href=&quot;http://doi.ieeecomputersociety.org/10.1109/SFCS.1991.185434&quot;&gt;due to Johannes Blömer&lt;/a&gt;, to decide whether the two sums are equal.  However, if the answer is no, Blömer's algorithm does not determine which sum is larger. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The decision version of this problem (Is $A &amp;gt; B$?) is not even known to be in NP.  However, Blömer's algorithm implies that if the decision problem is in NP, then it is also in co-NP.  Thus, the problem is unlikely to be NP-complete.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="111" LastActivityDate="2010-12-29T06:22:36.717" CommentCount="1" CommunityOwnedDate="2010-12-29T06:22:36.717" ContentLicense="CC BY-SA 2.5" />
  <row Id="4011" PostTypeId="1" AcceptedAnswerId="4019" CreationDate="2010-12-29T19:06:49.633" Score="10" ViewCount="428" Body="&lt;p&gt;In &lt;a href=&quot;https://cstheory.stackexchange.com/questions/3879/is-testing-two-so-horn-queries-for-equivalence-decidable&quot;&gt;this question&lt;/a&gt;, it was mentioned that there are descriptive complexity versions of Rice's theorem.  I found a proof of the following theorem:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Given a complexity class &lt;em&gt;C&lt;/em&gt;, nontrivial properties of languages in &lt;em&gt;C&lt;/em&gt; cannot be computed in &lt;em&gt;C&lt;/em&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I had previously posted the proof I found, but because it was so long and because it was pointed out in the comments that &lt;a href=&quot;http://dx.doi.org/10.1145/800133.804358&quot; rel=&quot;nofollow noreferrer&quot;&gt;this paper&lt;/a&gt; contains a proof of that theorem already, I removed it.  (If for some reason you are desperate to see my proof, please see the previous revisions of this question.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My interest is in whether or not this theorem could be used to separate AC0 and PSPACE.  Here's the argument:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider the property &lt;em&gt;P&lt;/em&gt; of the complexity class AC0 defined as follows:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;P&lt;/em&gt;:  the property of being an FO query that accepts a particular fixed structure, namely the structure consisting of one element, no functions, no constants, and no relations&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Clearly, by the theorem above, &lt;em&gt;P&lt;/em&gt; is not decidable in AC0; it is a non-trivial property of FO queries.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, a little examination should show that computing whether or not an FO query accepts such a simple structure can be decided as easily as TQBF; thus, &lt;em&gt;P&lt;/em&gt; is decidable in PSPACE.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To ensure clarity on this point (that &lt;em&gt;P&lt;/em&gt; is computable in PSPACE):  Note that the property we are interested in requires that the structure be FO.  So, we are trying to determine whether a FO query that is running on a single-element structure with no relations accepts.  Because there are no relations to deal with, it should be clear that the task of deciding such an FO query is equivalent to deciding an instance of TQBF; there are no relations, so the only challenge that remains is to evaluate whether or not the quantified boolean formula is true.  This is basically just TQBF, so &lt;em&gt;P&lt;/em&gt; is computable in PSPACE.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Because &lt;em&gt;P&lt;/em&gt; is computable in PSPACE but not AC0, we should be able to conclude that AC0 != PSPACE.  Is this reasoning correct, or have I made a mistake somewhere?  I'm particularly concerned about the preceding paragraph; I'll try to clarify and update the argument tomorrow after I get a chance to give a little more thought to the exposition.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would accept as an answer an example of a FO query that, when computing on the one-element, relation-free structure I've described, clearly does not make sense as an instance of TQBF.  (I'm suggesting that there isn't one, so if you can show that there is one, that would be a counterexample.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks.&lt;/p&gt;&#xA;" OwnerUserId="1338" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2010-12-30T18:40:47.430" Title="Could a descriptive complexity version of Rice's theorem be used to separate AC0 and PSPACE?" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;descriptive-complexity&gt;&lt;separation&gt;" AnswerCount="1" CommentCount="9" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4013" PostTypeId="2" ParentId="170" CreationDate="2010-12-29T21:49:34.217" Score="15" Body="&lt;p&gt;Joshua Grochow's answer is a good one, but I think it's worth making a more general comment.  The Razborov&amp;ndash;Rudich result says that if you want to prove that some Boolean function is not in $P/poly$, then (assuming you believe their cryptographic hypothesis) you must use some property of that function that is either nontrivial to compute or that is shared by only a small number of other Boolean functions.  In practice it is not easy to come up with suitable properties; however, the Razborov&amp;ndash;Rudich observation does not actually rule out very many &lt;i&gt;general plans of attack&lt;/i&gt; on circuit lower bounds, in the absence of concrete details about the intended proof.  For example, suppose I were to naively say that my plan to prove $NP\not\subseteq P/poly$ involved showing that $SAT\notin P/poly$, and that I intended to use the fact that $SAT$ is $NP$-complete.  This naive &quot;plan of attack&quot; is almost content-free, but Razborov&amp;ndash;Rudich doesn't rule it out, because $NP$-completeness is not a large property.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To put it another way, Razborov&amp;ndash;Rudich usually doesn't present much of an obstacle in the early stages of planning a line of attack on circuit lower bounds, as long as you leave some room in your plan for eventually employing &quot;special properties&quot; of your candidate Boolean functions.  It's only when you roll up your sleeves and try to fill out the details of the argument that the naturalization barrier will start to rear its head in earnest.  Given that GCT is still at an early stage of development, we shouldn't expect to have to worry much about naturalization yet (though of course it's worth checking that the GCT program isn't doomed for trivial reasons).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You may also want to check out &lt;a href=&quot;http://www.cse.buffalo.edu/faculty/regan/papers/pdf/Reg02MSFD.pdf&quot;&gt;Ken Regan's exposition&lt;/a&gt; of GCT, which includes some remarks about the naturalization barrier.&lt;/p&gt;&#xA;" OwnerUserId="2970" LastActivityDate="2010-12-29T21:49:34.217" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4016" PostTypeId="1" AcceptedAnswerId="4021" CreationDate="2010-12-29T22:13:42.137" Score="49" ViewCount="2125" Body="&lt;p&gt;Certain problems are known to be undecidable, but it is nevertheless possible to make some progress on solving them.  For example, the halting problem is undecidable, but practical progress can be made on creating tools for detecting potential infinite loops in your code.  Tiling problems are often undecidable (e.g., does this polyomino tile some rectangle?) but again it is possible to advance the state of the art in this area.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What I am wondering is if there is any decent theoretical method of measuring progress on solving undecidable problems, that resembles the theoretical apparatus that has been developed for measuring progress on NP-hard problems.  Or does it seem that we are stuck with ad hoc, I-know-progress-when-I-see-it assessments of how much particular breakthroughs advance our understanding of undecidable problems?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;b&gt;Edit&lt;/b&gt;: As I think about this question, it occurs to me that perhaps parameterized complexity may be relevant here.  An undecidable problem may become decidable if we introduce a parameter and fix the value of the parameter.  I'm not sure if this observation is of any use, though.&lt;/p&gt;&#xA;" OwnerUserId="2970" LastEditorUserId="2970" LastEditDate="2010-12-30T15:53:18.293" LastActivityDate="2018-05-15T15:13:05.033" Title="Is there a sensible notion of an approximation algorithm for an undecidable problem?" Tags="&lt;computability&gt;&lt;approximation-algorithms&gt;&lt;parameterized-complexity&gt;&lt;halting-problem&gt;" AnswerCount="3" CommentCount="8" FavoriteCount="16" ContentLicense="CC BY-SA 2.5" />
  <row Id="4017" PostTypeId="2" ParentId="3987" CreationDate="2010-12-30T00:36:24.217" Score="28" Body="&lt;p&gt;Since $a^n b^n$ is not a regular language, neither is JSON, since $[^n 5 ]^n$ is valid input for any $n$.  Likewise, your regular expression parser would have to properly reject any input $[^m 4 ]^n$ where $m \ne n$ which you cannot do with regular expressions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hence, JSON is not regular.&lt;/p&gt;&#xA;" OwnerUserId="2975" LastActivityDate="2010-12-30T00:36:24.217" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="4018" PostTypeId="2" ParentId="3976" CreationDate="2010-12-30T01:29:43.277" Score="6" Body="&lt;p&gt;This should really have been a comment, but for the lack of space I am posting this as an answer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks for the answers and comments everyone. Recently, I came across another survey by Robin Thomas. You can find it here &lt;a href=&quot;http://people.math.gatech.edu/~thomas/PAP/pfafsurv.pdf&quot; rel=&quot;nofollow&quot;&gt;http://people.math.gatech.edu/~thomas/PAP/pfafsurv.pdf&lt;/a&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Other than this, I would also add one statement about the tiling connection (which was pointed out to me by Prof Dana Randall). If you take the dual lattice, then 2x1 domino tiles are just edges.  Therefore, a perfect tiling is precisely a perfect matching in the dual. Then, the theory of Pfaffians can be used to count&#xA;perfect matchings in planar graphs. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This means that you can just primarily focus on counting perfect matchings in the graph - the rest just follows trivially.&lt;/p&gt;&#xA;" OwnerUserId="55" LastActivityDate="2010-12-30T01:29:43.277" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4019" PostTypeId="2" ParentId="4011" CreationDate="2010-12-30T08:34:17.913" Score="7" Body="&lt;p&gt;Deciding the nontrivial properties of (an indexing) sets in a complexity class is as difficult as computing the graph of the universal function for the class. Intuitively this means that the only way to decide a nontrivial property is to simulate the machines and wait for answers. It seems to me that the idea of using such a property will just give what is known by the hierarchy theorems. (See theorem 4.2 of D. Kozen, &quot;&lt;a href=&quot;http://dx.doi.org/10.1145/800133.804358&quot; rel=&quot;nofollow&quot;&gt;Indexing of subrecursive classes&lt;/a&gt;&quot;, 1978 for details and the exact statement of the theorem.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We can decide the $grU_{AC^0}$ (the graph of universal function for $AC^0$) in $PSpace$, the reason is simply that $AC^0 \subseteq L$ and we have a universal machine for languages in $L$ in $PSpace$, so it is easy to simulate the $AC^0$ machines (or the descriptive complexity equivalent of $AC^0$ which is $FO$ queries) in $PSpace$. This means that that we can decide the property you have stated in $PSpace$. Since it is a nontrivial property, it is not decidable in $AC^0$. So this argument separates $AC^0$ from $PSapce$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;But is this surprising? No, since we already know a simpler way of stating (essentially) the same argument: $AC^0 \subseteq L \subset PSpace$, the last proper inclusion is by the space hierarchy theorem.&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2010-12-30T18:40:47.430" LastActivityDate="2010-12-30T18:40:47.430" CommentCount="9" ContentLicense="CC BY-SA 2.5" />
  <row Id="4021" PostTypeId="2" ParentId="4016" CreationDate="2010-12-30T12:11:18.827" Score="31" Body="&lt;p&gt;In the case of the halting problem, the answer is &quot;not yet&quot;. The reason is that the standard logical method for characterizing how hard a program's termination proof is (eg, ordinal analysis) tends to lose too much combinatorial and/or number-theoretic structure.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The state of the art in practical termination analysis of imperative programs is something called &quot;rank-function synthesis&quot; (Byron Cook has a forthcoming book, Proving Program Termination, on the subject from CUP). The idea is to compute a linear function of the program's variables' values now and at the previous step, which serves as a termination metric. (One cool thing about this method is that it uses Farkas's lemma, which gives a neat geometric viewpoint to what's going on.) The interesting thing is that the tools built on this approach can do things like show the termination of the Ackerman function (which is non primitive recursive), but you can construct non-nested while loops which can defeat them (which only needs $\omega$ to show termination). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This means that there isn't a neat relationship between the proof-theoretic strength of the metalogic in which you show termination (this is very important in rewriting theory, for example) and the functions that techniques like rank-function synthesis can show termination for. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the lambda calculus, we have a precise characterization of termination in terms of typability: a lambda term is strongly normalizing if and only if it is typeable under the intersection type discipline. Of course, this means that full type inference for intersection types is impossible, but it may also give a way of comparing partial inference algorithms. &lt;/p&gt;&#xA;" OwnerUserId="657" LastActivityDate="2010-12-30T12:11:18.827" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4022" PostTypeId="1" AcceptedAnswerId="4023" CreationDate="2010-12-30T12:35:24.867" Score="3" ViewCount="541" Body="&lt;p&gt;Is there any parallel algorithms or approximation algorithms for 3SAT?&lt;/p&gt;&#xA;" OwnerUserId="2709" LastEditorUserId="186" LastEditDate="2011-01-02T05:56:42.860" LastActivityDate="2011-01-02T05:56:42.860" Title="Is there parallel algorithm for 3SAT" Tags="&lt;cc.complexity-theory&gt;&lt;sat&gt;&lt;approximation-algorithms&gt;&lt;dc.parallel-comp&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4023" PostTypeId="2" ParentId="4022" CreationDate="2010-12-30T13:06:26.363" Score="6" Body="&lt;p&gt;Take a look at &lt;a href=&quot;https://cstheory.stackexchange.com/q/1060/873&quot;&gt;this question&lt;/a&gt; for some pointers to SAT solvers. Specially, there's a link to &lt;a href=&quot;http://www.satcompetition.org/&quot; rel=&quot;nofollow noreferrer&quot;&gt;SAT Competition&lt;/a&gt;, in which you can find parallel SAT solvers (like &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.159.6667&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;ManySAT&lt;/a&gt; or gNovelty2+).&lt;/p&gt;&#xA;" OwnerUserId="873" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2010-12-30T13:06:26.363" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4024" PostTypeId="1" CreationDate="2010-12-30T13:11:42.520" Score="6" ViewCount="257" Body="&lt;p&gt;Max Cut on a Undirected Graph has many algorithms when the Undirected Graph is Planar. &#xA;I have been wondering though if one could generalise this to Directed Planar Graphs?&lt;/p&gt;&#xA;" OwnerUserId="10136" LastActivityDate="2010-12-30T14:15:32.200" Title="Is there a algorithm for Max Cut on a Planar Directed Graph (MAX DIRECTED CUT ALGORITHM)?" Tags="&lt;ds.algorithms&gt;" AnswerCount="0" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="4026" PostTypeId="2" ParentId="4022" CreationDate="2010-12-30T14:28:16.210" Score="4" Body="&lt;p&gt;There are some approaches to distributed constraint satisfaction problems.  Check out this paper.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://portal.acm.org/citation.cfm?id=627939&quot; rel=&quot;nofollow&quot;&gt;http://portal.acm.org/citation.cfm?id=627939&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Majority of them are embarrassingly parallel, where each node chooses a starting point, implements a serial solver etc.  The smart bit comes in, in communicating dead end paths to other nodes. &lt;/p&gt;&#xA;" OwnerUserId="17228" LastActivityDate="2010-12-30T14:28:16.210" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4027" PostTypeId="1" AcceptedAnswerId="4030" CreationDate="2010-12-30T17:19:03.697" Score="21" ViewCount="1290" Body="&lt;p&gt;Consider the set of planar graphs where all the internal faces are triangles. If there is an interior point of odd degree the graph cannot be three colored. If every interior point has even degree can it always be three colored? Ideally I'd like a small counterexample.&lt;/p&gt;&#xA;" OwnerUserId="550" LastEditorUserId="186" LastEditDate="2010-12-30T20:34:05.487" LastActivityDate="2011-01-01T10:01:19.850" Title="Coloring Planar Graphs" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;graph-colouring&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="4028" PostTypeId="2" ParentId="4007" CreationDate="2010-12-30T17:59:22.570" Score="16" Body="&lt;p&gt;I can't really answer #2 without getting lost (there are too many dimensions along which you can compare these structures), but for #3 the answer is pretty simple.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Use an imperative data structure if: (a) there is absolutely no aliasing, or (b) you really need to use aliasing for efficient broadcast. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If there is no aliasing of your data structure at all, then you are not taking advantage of the fact that functional data structures are persistent. So there is no reason to pay for their cost. There are two caveats to this advice. First, you may prefer the simplicity of implementation of a functional data structure: implementing deletion for a functional red-black tree will make you curse, but implementing deletion in an imperative red-black tree with parent pointers will leave you contemplating suicide. Second, assignment can be more expensive than you expect in a gc'd language, since writes can get data structures moved out of the young generation. We really don't have a good theory of cache effects and gc, so you have no choice but to do benchmarking. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Second, if you need a broadcast channel, then a shared data structure is an excellent way to do it. With a constant-time update, you can tell arbitrarily many other people that a value has changed. (This is why union-find is such a great data structure.) With a purely functional setup, either you need to modify all those other people, or give them abstract pointers into a state you code up manually (which is a kind of obtuse thing to do). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you either don't want to reason about aliasing and object ownership, or if you need multiple versions of the same data structure (you need both a new and an old version, say), then just use a functional data structure.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The place where I find following this advice the hardest is with graph algorithms. There are lots of really elegant imperative graph algorithms, but it's often the case (say, when writing compilers) that you also want persistence. People typically try to split the difference and use the cool imperative algorithm but try to bolt versioning onto the side to get persistence. This is generally pretty horrible, full of bugs, and prone to losing the performance advantage of the imperative algorithm. &lt;/p&gt;&#xA;" OwnerUserId="657" LastActivityDate="2010-12-30T17:59:22.570" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="4030" PostTypeId="2" ParentId="4027" CreationDate="2010-12-30T18:52:47.830" Score="25" Body="&lt;p&gt;Yes, this is a corollary of the Three Color Theorem, see at the bottom here:&#xA;&lt;a href=&quot;http://kahuna.merrimack.edu/~thull/combgeom/colornotes.html&quot;&gt;http://kahuna.merrimack.edu/~thull/combgeom/colornotes.html&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="419" LastActivityDate="2010-12-30T18:52:47.830" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="4031" PostTypeId="2" ParentId="1923" CreationDate="2010-12-30T20:10:40.070" Score="48" Body="&lt;p&gt;Any arithmetical statement provable in ZFC is provable in ZF, and hence does not &quot;need&quot; the axiom of choice.  By an &quot;arithmetical&quot; statement I mean a statement in the first-order language of arithmetic, meaning that it can be stated using only quantifiers over natural numbers (&quot;for all natural numbers x&quot; or &quot;there exists a natural number x&quot;), without quantifying over &lt;i&gt;sets&lt;/i&gt; of natural numbers.  At first glance it might seem very restrictive to forbid quantification over sets of integers; however, &lt;i&gt;finite&lt;/i&gt; sets of integers can be &quot;encoded&quot; using a single integer, so it's O.K. to quantify over finite sets of integers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Virtually any statement of interest in TCS can, with perhaps a bit of finagling, be phrased as an arithmetical statement, and so doesn't need the axiom of choice.  For example, &lt;span class=&quot;math-container&quot;&gt;$P\ne NP$&lt;/span&gt; looks at first glance like an assertion about infinite sets of integers, but can be rephrased as, &quot;for every polynomial-time Turing machine, there exists a SAT instance that it gets wrong,&quot; which is an arithmetical statement.  Thus my answer to Ryan's question is, &quot;There aren't any that I know of.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But wait, you may say, what about arithmetical statements whose proof requires something like Koenig's lemma or Kruskal's tree theorem?  Don't these require a weak form of the axiom of choice?  The answer is that it depends on exactly how you state the result in question.  For example, if you state the graph minor theorem in the form, &quot;given any infinite set of unlabeled graphs, there must exist two of them such that one is a minor of the other,&quot; then some amount of choice is needed to march through your infinite set of data, picking out vertices, subgraphs, etc. &lt;b&gt;[EDIT:&lt;/b&gt; I made a mistake here. As &lt;a href=&quot;https://mathoverflow.net/a/129211/3106&quot;&gt;Emil Jeřábek explains&lt;/a&gt;, the  graph minor theorem&amp;mdash;or at least the most natural statement of it in the absence of AC&amp;mdash;is provable in ZF.  But modulo this mistake, what I say below is still essentially correct.&lt;b&gt;]&lt;/b&gt; However, if instead you write down a particular encoding by natural numbers of the minor relation on labeled finite graphs, and phrase the graph minor theorem as a statement about this particular partial order, then the statement becomes arithmetical and doesn't require AC in the proof.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Most people feel that the &quot;combinatorial essence&quot; of the graph minor theorem is already captured by the version that fixes a particular encoding, and that the need to invoke AC to label everything, in the event that you're presented with the general set-theoretic version of the problem, is sort of an irrelevant artifact of a decision to use set theory rather than arithmetic as one's logical foundation.  If you feel the same way, then the graph minor theorem doesn't require AC.  (See also &lt;a href=&quot;http://cs.nyu.edu/pipermail/fom/2008-September/013050.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;this post by Ali Enayat&lt;/a&gt; to the Foundations of Mathematics mailing list, written in response to a similar question that I once had.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The example of the chromatic number of the plane is similarly a matter of interpretation.  There are various questions you can ask that turn out to be equivalent if you assume AC, but which are distinct questions if you don't assume AC.  From a TCS point of view, the combinatorial heart of the question is the colorability of finite subgraphs of the plane, and the fact that you can then (if you want) use a compactness argument (this is where AC comes in) to conclude something about the chromatic number of the &lt;i&gt;whole&lt;/i&gt; plane is amusing, but of somewhat tangential interest.  So I don't think this is a really good example.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think ultimately you may have more luck asking whether there are any TCS questions that require &lt;i&gt;large cardinal axioms&lt;/i&gt; for their resolution (rather than AC).  Work of Harvey Friedman has shown that certain finitary statements in graph theory can require large cardinal axioms (or at least the 1-consistency of such axioms).  Friedman's examples so far are slightly artificial, but I wouldn't be surprised to see similar examples cropping up &quot;naturally&quot; in TCS within our lifetimes.&lt;/p&gt;&#xA;" OwnerUserId="2970" LastEditorUserId="2970" LastEditDate="2019-02-20T03:43:23.077" LastActivityDate="2019-02-20T03:43:23.077" CommentCount="6" ContentLicense="CC BY-SA 4.0" />
  <row Id="4032" PostTypeId="2" ParentId="116" CreationDate="2010-12-30T22:04:12.387" Score="14" Body="&lt;p&gt;As others have pointed out, there are certain technical difficulties with the statement of your question.  To straighten them out, let's start by avoiding the use of the term &quot;unprovable&quot; without qualification, and be explicit about &lt;i&gt;which set of axioms&lt;/i&gt; your statement T is supposed to be unprovable from.  For instance, let's suppose that we're interested in statements T that are unprovable from PA, the axioms of first-order Peano arithmetic.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The first annoyance is that &quot;T is true&quot; is not expressible in the first-order language of arithmetic, by Tarski's theorem.  We could get around this by working in a metatheory that is powerful enough to define the truth of an arithmetical statement, but I think for your purposes this is an unnecessarily complicated route to take.  I think you're not so interested in truth per se but in provability.  That is, I suspect you'd be satisfied with defining T to be Godel_0 if T is true but unprovable in PA, and defining T to be Godel_1 if T is unprovable in PA but &quot;T is unprovable in PA&quot; is unprovable in PA, and defining T to be Godel_2 if T is unprovable in PA and &quot;T is unprovable in PA&quot; is unprovable in PA but &quot;&amp;#8216;T is unprovable in PA&amp;#8217; is unprovable in PA&quot; is unprovable in PA, etc.  That way we don't have to fuss with truth predicates.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This suffices to make your question precise, but unfortunately there is then a rather trivial solution.  Take T = &quot;PA is consistent.&quot;  Then T is true because PA is consistent, and T is unprovable in PA by Goedel's 2nd incompleteness theorem.  Furthermore, &quot;T is unprovable in PA&quot; is also unprovable in PA for a somewhat silly reason: &lt;i&gt;any&lt;/i&gt; statement of the form &quot;X is unprovable in PA&quot; is unprovable in PA because &quot;X is unprovable in PA&quot; trivially implies &quot;PA is consistent&quot; (since inconsistent systems prove &lt;i&gt;everything&lt;/i&gt;).  So T is Godel_n for all n, but I don't this really gets at your intended question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We could try to &quot;patch&quot; your question to avoid such trivialities, but instead let me try to address what I think is your intended question.  Tacitly, I believe you are conflating the &lt;i&gt;logical strength&lt;/i&gt; needed to prove a theorem with the &lt;i&gt;psychological difficulty&lt;/i&gt; of proving it.  That is, you interpret a result of the form &quot;T is unprovable in X&quot; as saying that T is somehow beyond our ability to understand.  There are these monstrous conjectures out there, and we puny humans crack PA-whips or ZFC-whips or what have you at those ferocious beasts, trying to tame them.  But I don't think that &quot;T is unprovable in X&quot; should be interpreted as meaning &quot;T is impossible to reason about.&quot;  Rather, it's just measuring a particular technical property about T, namely its logical strength.  So if you're trying to come up with the über-monster, I don't think that finding something that is not only unprovable, but whose unprovability is unprovable, etc., is the right direction to go.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, regarding your question about whether unprovability seems at all related to separability of complexity classes, there are some connections between computational intractability and unprovability in certain systems of bounded arithmetic.  Some of this is mentioned in the paper by Aaronson that you cite; see also Cook and Nguyen's book &lt;i&gt;Logical Foundations of Proof Complexity&lt;/i&gt;.&lt;/p&gt;&#xA;" OwnerUserId="2970" LastActivityDate="2010-12-30T22:04:12.387" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="4034" PostTypeId="1" CreationDate="2010-12-31T06:10:32.000" Score="22" ViewCount="1132" Body="&lt;p&gt;Suppose we are given several disjoint simple polygons in the plane, and two points $s$ and $t$ outside every polygon.  The Euclidean shortest path problem is to compute the Euclidean shortest path from $s$ to $t$ that does not intersect the interior of any polygon.  For concreteness, let us assume that the coordinates of $s$ and $t$, and the coordinates of every polygon vertex, are integers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Can this problem be solved in polynomial time?&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Most computational geometers would immediately say yes, of course: &lt;a href=&quot;http://dx.doi.org/10.1137/S0097539795289604&quot; rel=&quot;nofollow noreferrer&quot;&gt;John Hershberger and Subhash Suri&lt;/a&gt; described an algorithm that computes Euclidean shortest paths in $O(n\log n)$ time, and this time bound is optimal in the algebraic computational tree model.  Unfortunately, Hershberger and Suri's algorithm (and nearly all related algorithms before and since) seems to &lt;em&gt;require&lt;/em&gt; exact real arithmetic in the following strong sense.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Call a polygonal path &lt;em&gt;valid&lt;/em&gt; if all its interior vertices are obstacle vertices; every Euclidean shortest path is valid.  The length of any valid path is the sum of square roots of integers.  Thus, comparing the lengths of two valid paths requires comparing two sums of square roots, &lt;a href=&quot;https://cstheory.stackexchange.com/questions/79/problems-between-p-and-npc/4010#4010&quot;&gt;&lt;em&gt;which we don't know how to do in polynomial time&lt;/em&gt;&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Moreover, it seems completely plausible that an arbitrary instance of the sum-of-square-roots problem could be reduced to an equivalent Euclidean shortest-path problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So: &lt;strong&gt;Is there a polynomial-time algorithm to compute Euclidean shortest paths?  Or is the problem NP-hard?  Or &lt;a href=&quot;https://cstheory.stackexchange.com/questions/4053/sum-of-square-roots-hard-problems&quot;&gt;sum-of-square-roots-hard&lt;/a&gt;?  Or something else?&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A few notes:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Shortest paths inside (or outside) one polygon can be computed in $O(n)$ time without any strange numerical issues using the standard funnel algorithm, at least if a triangulation of the polygon is given.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;In practice, floating-point arithmetic is sufficient to compute paths that are shortest up to floating-point precision.  I'm only interested in the complexity of the &lt;em&gt;exact&lt;/em&gt; problem.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://www.computer.org/portal/web/csdl/doi/10.1109/SFCS.1987.42&quot; rel=&quot;nofollow noreferrer&quot;&gt;John Canny and John Reif&lt;/a&gt; proved that the corresponding problem in 3-space is NP-hard (morally because there may be an exponential number of shortest paths).  &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=177501&quot; rel=&quot;nofollow noreferrer&quot;&gt;Joonsoo Choi, Jürgen Sellen, and Chee-Keng Yap&lt;/a&gt; described a polynomial-time approximation scheme.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://dx.doi.org/10.1016/S0925-7721(98)00041-8&quot; rel=&quot;nofollow noreferrer&quot;&gt;Simon Kahan and Jack Snoeyink&lt;/a&gt; considered similar issues for the related problem of minimum-link paths in a simple polygon.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="111" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2011-01-12T18:50:46.500" Title="Complexity of computing shortest paths in the plane with polygonal obstacles" Tags="&lt;ds.algorithms&gt;&lt;cg.comp-geom&gt;&lt;open-problem&gt;&lt;computing-over-reals&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="4035" PostTypeId="2" ParentId="4034" CreationDate="2010-12-31T10:23:30.977" Score="4" Body="&lt;p&gt;Maybe I miss something, but if we consider the &quot;easy&quot; case, where all obstacles are points, then we have the problem of computing the shortest path between two vertices in a planar graph, which, if I am not wrong, it is known as sums-of-square-roots-hard.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;PS. I wanted to add a comment and not an answer, but I can't find how. I apologize for that. Can the admins please help me with this.&lt;/p&gt;&#xA;" OwnerUserId="374" LastEditorUserId="374" LastEditDate="2010-12-31T12:03:01.290" LastActivityDate="2010-12-31T12:03:01.290" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="4036" PostTypeId="2" ParentId="3967" CreationDate="2010-12-31T11:20:12.230" Score="13" Body="&lt;p&gt;Indeed, set packing, partitioning, and covering have been studied in terms of exact algorithm running times.&#xA; To address your last question, you can solve weighted set packing in $O(m2^n)$ time by dynamic programming across all subsets of $[n]$.&#xA; Moreover, if your integer weights are bounded by $M$, you can solve it in $O(M2^n)$ time, even if $m$ is as large as $2^n$, see&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://dx.doi.org/10.1137/070683933&quot; rel=&quot;noreferrer&quot;&gt;http://dx.doi.org/10.1137/070683933&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;BTW, The parameterized result you list for $3$-sets is not the best known, see&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://arxiv.org/abs/1007.1161&quot; rel=&quot;noreferrer&quot;&gt;http://arxiv.org/abs/1007.1161&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;for a state-of-the-art algorithm and a list of previous results on the problem.&lt;/p&gt;&#xA;" OwnerUserId="679" LastActivityDate="2010-12-31T11:20:12.230" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4037" PostTypeId="1" AcceptedAnswerId="4047" CreationDate="2010-12-31T12:13:41.257" Score="5" ViewCount="385" Body="&lt;p&gt;If you search on the internet for the Complexity Status of Arbitarily Weighted Planar Max Cut you seem to get conflicting answers. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;On one hand, there are references that Barahona solved this problem in the 1980's. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other there is this paper: &#xA;NP-completeness of maximum-cut and cycle-covering problems for planar graphs&#xA;&lt;a href=&quot;http://www.springerlink.com/content/xj7238374871347j/&quot; rel=&quot;nofollow&quot;&gt;http://www.springerlink.com/content/xj7238374871347j/&lt;/a&gt; &lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is what is the Complexity Status of Arbitarily Weighted Planar Max Cut?&lt;/p&gt;&#xA;" OwnerUserId="10136" LastActivityDate="2011-01-01T15:29:10.367" Title="What is the Complexity Status of Arbitarily Weighted Planar Max Cut?" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;" AnswerCount="2" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4038" PostTypeId="2" ParentId="1295" CreationDate="2010-12-31T12:34:07.713" Score="7" Body="&lt;p&gt;The best I found is &quot;c2d compiler&quot;. &lt;a href=&quot;http://reasoning.cs.ucla.edu/c2d/&quot; rel=&quot;noreferrer&quot;&gt;http://reasoning.cs.ucla.edu/c2d/&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It uses d-DNNF and you need the &lt;strong&gt;-count&lt;/strong&gt; option.&lt;/p&gt;&#xA;" OwnerUserId="2777" LastActivityDate="2010-12-31T12:34:07.713" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4039" PostTypeId="2" ParentId="3597" CreationDate="2010-12-31T12:45:35.400" Score="2" Body="&lt;p&gt;In the context of &lt;a href=&quot;http://en.wikipedia.org/wiki/Cartesian_closed_category&quot; rel=&quot;nofollow&quot;&gt;CCC&lt;/a&gt;, your transformation is interpreted as “$mb:A\to B, mc:A\to C$ is transformed to $\langle mb, mc \rangle : A\to B\times C$”, i.e. the &lt;a href=&quot;http://en.wikipedia.org/wiki/Product_(category_theory)&quot; rel=&quot;nofollow&quot;&gt;product of morphisms&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="1720" LastActivityDate="2010-12-31T12:45:35.400" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4040" PostTypeId="2" ParentId="4037" CreationDate="2010-12-31T13:30:28.587" Score="6" Body="&lt;p&gt;Arbitarily Weighted Planar Max Cut is polynomialy solvable. Shih, Wu, and Kuo provided a polynomial time algorithm with run-time of $O(n^{3/2} \log n)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://doi.ieeecomputersociety.org/10.1109/12.53581&quot; rel=&quot;nofollow&quot;&gt;Unifying Maximum Cut and Minimum Cut of a Planar Graph&lt;/a&gt;, IEEE Transactions on Computers, May 1990, vol. 39, no. 5, pp. 694-697&lt;/p&gt;&#xA;" OwnerUserId="495" LastActivityDate="2010-12-31T13:30:28.587" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4041" PostTypeId="1" CreationDate="2010-12-31T15:51:22.337" Score="15" ViewCount="2421" Body="&lt;p&gt;My question is a general one: How do I start thinking in terms of Algorithm Design and Complexity? I am going to take a Graduate Course in Algorithm Design. I had enrolled in it earlier but dropped it later because I could not keep up with it. I have to take this course as a requirement. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a 'trick' to think in this way? I know this is putting it quite crudely but sometimes a fresh perspective helps to think about a subject differently. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The main problem I have with this course (and similar theoretical courses) is: How do I know that solutions that I come up with are correct? I find the theoretical part to be arbitrary especially when 'proving' a certain algorithm acts or behaves in a certain way?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Our course will be using the standard text: Introduction to Algorithms by CLRS.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there any textbooks/sites/books/etc. that might offer a way in becoming confident in this field?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks to everyone,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Jason Dane&lt;/p&gt;&#xA;" OwnerUserId="2998" LastEditorUserId="1080" LastEditDate="2011-01-01T19:27:15.073" LastActivityDate="2013-11-01T00:45:51.017" Title="Algorithms Design and Complexity - How to think in that 'way'?" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;soft-question&gt;&lt;advice-request&gt;&lt;research-practice&gt;" AnswerCount="1" CommentCount="6" FavoriteCount="14" ContentLicense="CC BY-SA 2.5" />
  <row Id="4042" PostTypeId="2" ParentId="3976" CreationDate="2010-12-31T16:44:32.747" Score="12" Body="&lt;p&gt;You might find &lt;a href=&quot;http://www.math.psu.edu/morton/pfaffiancircuits.pdf&quot;&gt;this paper&lt;/a&gt; on Pfaffian circuits and the references therein interesting; I've meant it to be a self-contained introduction to holographic algorithms as well as exploring what can be done with Pfaffians.&lt;/p&gt;&#xA;" OwnerUserId="210" LastActivityDate="2010-12-31T16:44:32.747" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="4044" PostTypeId="2" ParentId="4027" CreationDate="2011-01-01T10:01:19.850" Score="24" Body="&lt;p&gt;This result extends to high dimensions. A triangulation of a d-dimensional sphere so that every vertex has an even degree is (d+1) colorable. See, for example this paper: Jacob E. Goodman and Hironori Onishi, &#xA;Even triangulations of $S^3$ and&#xA;the coloring of graphs, Trans. Am. Math. Soc. 246 (1978), 501–510.&lt;/p&gt;&#xA;" OwnerUserId="712" LastActivityDate="2011-01-01T10:01:19.850" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4046" PostTypeId="1" AcceptedAnswerId="4049" CreationDate="2011-01-01T15:10:38.797" Score="-5" ViewCount="689" Body="&lt;p&gt;How can we find the list of open problems on $NP$-comlpete?&lt;/p&gt;&#xA;" OwnerUserId="2709" LastEditorUserId="186" LastEditDate="2011-01-02T06:03:22.997" LastActivityDate="2011-01-02T06:03:22.997" Title="open problems on $NP$-complete?" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;np-hardness&gt;" AnswerCount="2" CommentCount="4" ClosedDate="2011-02-06T23:46:36.370" ContentLicense="CC BY-SA 2.5" />
  <row Id="4047" PostTypeId="2" ParentId="4037" CreationDate="2011-01-01T15:23:45.933" Score="7" Body="&lt;p&gt;After reading the &lt;a href=&quot;http://www.springerlink.com/content/xj7238374871347j/&quot; rel=&quot;nofollow noreferrer&quot;&gt;paper&lt;/a&gt; you mentioned, it seems that the reduction stated in the paper is incomplete, therefore &lt;strong&gt;the result may not be correct&lt;/strong&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the paper the author gave a reduction from 3SAT to a problem called &lt;em&gt;planar max-cycle-covering&lt;/em&gt; (although it is not consistent with the usual sense of a covering in graph theory, it is more like &lt;em&gt;max-edge-disjoint-cycles&lt;/em&gt; problem), and proving that the max-cycle-covering problem and max-cut problem are dual to each other on planar graphs. While the second implication is correct, the reduction part mimics a proof to the NP-hardness of &lt;a href=&quot;http://www.cs.princeton.edu/courses/archive/spr04/cos423/handouts/the%20planar%20hamiltonian.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;planar Hamiltonian cycle problem&lt;/a&gt;, and there may be a flaw in it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In that proof one need a gadget for &lt;em&gt;XOR-in-series&lt;/em&gt; (See Fig. 3 in the &lt;a href=&quot;http://www.cs.princeton.edu/courses/archive/spr04/cos423/handouts/the%20planar%20hamiltonian.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Hamiltonian paper&lt;/a&gt;); although the construction works in the Hamiltonian ones, I see no evidence that a similar construction is possible for cycle-covering, and there are no explanations in the paper. (And we need such a gadget in the NP-hardness proof of cycle-covering, see Fig. 6 in the &lt;a href=&quot;http://www.springerlink.com/content/xj7238374871347j/&quot; rel=&quot;nofollow noreferrer&quot;&gt;max-cut paper&lt;/a&gt;.) The main problem is that for Hamiltonian cycle we can always be sure that the middle edge C must be passed though, hence we can &quot;transfer&quot; the XOR by the presence of the middle edge; but in cycle-covering we cannot guarantee that edge C must be passed though unless it is within a cycle passing though a heavy-weighted edge, and this is not the case here. (In fact we cannot enforce the edge being passed though, since in Fig. 6 if an edge C is passed though then the corresponding literal in the clause is true.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My guessing is that planar max-cycle-covering cannot simulate 3-fan-in OR function, which is required in 3SAT. Supported with the &lt;a href=&quot;https://cstheory.stackexchange.com/questions/4037/what-is-the-complexity-status-of-arbitarily-weighted-planar-max-cut/4040#4040&quot;&gt;answer&lt;/a&gt; by @turkistany, one should believe that planar max-cut problem is polynomial time solvable.&lt;/p&gt;&#xA;" OwnerUserId="1800" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2011-01-01T15:29:10.367" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4048" PostTypeId="2" ParentId="4046" CreationDate="2011-01-01T15:29:20.597" Score="-2" Body="&lt;p&gt;you can find some open Np-complete problem at the end of &quot;computer and intractability&quot; (Garey &amp;amp; Johnson)&lt;/p&gt;&#xA;" OwnerUserId="3008" LastActivityDate="2011-01-01T15:29:20.597" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4049" PostTypeId="2" ParentId="4046" CreationDate="2011-01-01T15:35:14.760" Score="0" Body="&lt;p&gt;you can also find some other problems in &lt;a href=&quot;http://garden.irmacs.sfu.ca/?q=category/theoretical_computer_science&quot; rel=&quot;nofollow&quot;&gt;http://garden.irmacs.sfu.ca/?q=category/theoretical_computer_science&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="3008" LastActivityDate="2011-01-01T15:35:14.760" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="4052" PostTypeId="1" CreationDate="2011-01-01T16:56:28.887" Score="39" ViewCount="6352" Body="&lt;p&gt;The ever increasing complexity of computer programs and the increasingly crucial position computers have in our society leaves me wondering why we still don't collectively use programming languages in which you have to give a formal proof that your code works correctly.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I believe the term is a 'certifying compiler' (I found it &lt;a href=&quot;https://cstheory.stackexchange.com/questions/2815/what-do-we-know-about-restricted-versions-of-the-halting-problem/2816#2816&quot;&gt;here&lt;/a&gt;): a compiler compiling a programming language in which one not only has to write the code, but also state the specification of the code and prove that the code adheres to the specification (or use an automated prover to do so).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;While searching the internet, I only found projects that either use a very simple programming language or failed projects that try to adapt modern programming languages. This leads me to my question:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Are there any certifying compilers implementing a full-blown programming language, or is this very hard/theoretically impossible?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Additionally, I've yet to see any complexity class involving provable programs, such as 'the class of all languages decidable by a Turing machine for which a proof exists that this Turing machine halts', which I shall call &lt;span class=&quot;math-container&quot;&gt;$ProvableR$&lt;/span&gt;, as an analogue to &lt;span class=&quot;math-container&quot;&gt;$R$&lt;/span&gt;, the set of recursive languages.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I can see advantages of studying such a complexity class: for instance, for &lt;span class=&quot;math-container&quot;&gt;$ProvableR$&lt;/span&gt; the Halting problem is decidable (I even conjecture &lt;span class=&quot;math-container&quot;&gt;$ProvableRE$&lt;/span&gt; defined in the obvious way would be the largest class of languages for which it is decidable). In addition, I doubt we would rule out any practically useful programs: who would use a program when you can't prove it terminates?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So my second question is:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What do we know about complexity classes which require their containing languages to provably have certain properties?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="988" LastEditorUserId="52468" LastEditDate="2019-04-04T07:04:13.030" LastActivityDate="2020-12-24T06:18:21.063" Title="What do we know about provably correct programs?" Tags="&lt;reference-request&gt;&lt;complexity-classes&gt;&lt;computability&gt;&lt;pl.programming-languages&gt;" AnswerCount="7" CommentCount="11" FavoriteCount="18" ContentLicense="CC BY-SA 4.0" />
  <row Id="4053" PostTypeId="1" AcceptedAnswerId="4062" CreationDate="2011-01-01T17:38:28.757" Score="39" ViewCount="4502" Body="&lt;p&gt;The &lt;a href=&quot;https://cstheory.stackexchange.com/questions/79/problems-between-p-and-npc/4010#4010&quot;&gt;sum of square roots&lt;/a&gt; problem asks, given two sequences $a_1, a_2, \dots, a_n$ and $b_1, b_2, \dots, b_n$ of positive integers, whether the sum $\sum_i \sqrt{a_i}$ less than, equal to, or greater than the sum $\sum_i \sqrt{b_i}$.  The complexity status of this problem is open; see &lt;a href=&quot;https://cstheory.stackexchange.com/questions/79/problems-between-p-and-npc/4010#4010&quot;&gt;this post&lt;/a&gt; for further details.  This problem arises naturally in computational geometry, especially in problems involving Euclidean shortest paths, and is a significant stumbling block in transferring algorithms for those problems from the real RAM to the standard integer RAM.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Call a problem Π &lt;em&gt;sum-of-square-roots-hard&lt;/em&gt; (abbreviated Σ√-hard?) if there is a polynomial-time reduction from the sum of square roots problem to Π.  It is not hard to prove that the following problem is sum-of-square-roots-hard:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Shortest paths in 4d Euclidean geometric graphs&lt;/strong&gt;&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;Instance: A graph $G=(V,E)$ whose vertices are points in $\mathbb{Z}^4$, with edges weighted by Euclidean distane; two vertices $s$ and $t$&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;Output: The shortest path from $s$ to $t$ in $G$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Of course this problem can be solved in polynomial-time on the real RAM using Dijkstra's algorithm, but each comparison in that algorithm requires solving a sum-of-square-roots problem.  The reduction uses the fact that any integer can be written as the sum of four perfect squares; the output of the reduction is actually a cycle on $2n+2$ vertices.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;What other problems are sum-of-square-roots-hard?&lt;/strong&gt;  I'm particularly interested in problems for which there is a polynomial-time solution on the real RAM.  See &#xA;&lt;a href=&quot;https://cstheory.stackexchange.com/questions/4034/complexity-of-computing-shortest-paths-in-the-plane-with-polygonal-obstacles&quot;&gt;my previous question&lt;/a&gt; for one possibility.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As Robin suggests, boring answers are boring.  For any complexity class X that contains sum-of-square-roots (for example, PSPACE or EXPTIME), every X-hard problem is boringly  sum-of-square-roots-hard.&lt;/p&gt;&#xA;" OwnerUserId="111" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2011-01-06T05:07:54.607" Title="Sum-of-square-roots-hard problems?" Tags="&lt;ds.algorithms&gt;&lt;big-list&gt;&lt;reductions&gt;&lt;computing-over-reals&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="4054" PostTypeId="2" ParentId="4041" CreationDate="2011-01-01T19:17:56.297" Score="18" Body="&lt;p&gt;I think courses on &lt;em&gt;algorithm design&lt;/em&gt; and &lt;em&gt;computational complexity&lt;/em&gt; are always challenging for students who not familiar with these subjects because they do require some degree of mathematical maturity and problem solving skill. In my first graduate course on &quot;computational complexity&quot;, a friend of mine who had his degree in pure mathematics told me how surprised he was by the fact that although that course didn't require much maths background (at least that's what was told in the course outline), it actually required nearly all the skills he got through all of his pure maths undergrad degree!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I found that I got to know about &quot;the way&quot; most (when I first start my graduate study) by reading and doing exercises from &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0534950973&quot; rel=&quot;nofollow&quot;&gt;Sipser's book&lt;/a&gt;. Be sure that you do the exercises because problem solving skill and mathematical maturity is what you want to learn and not just a bunch of facts or definitions. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, Sipser's book is only good for complexity and NP-completeness stuffs, it won't suffice to substitute the CLRS book. The only problem with CLRS book is that its advantage of comprehensive coverage might become its weakness since the book might look quite scary or overwhelming for students. So my advice is that you should really go to the library and search for books on algorithms, scan through one by one and choose the ones that fit your thinking pattern most. And again don't forget to do exercises! &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For algorithms, I personally suggest the following books (besides the ones suggested by Sadeq and JeffE):&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The very readable and beautiful book &lt;a href=&quot;http://www.cs.berkeley.edu/~vazirani/algorithms/all.pdf&quot; rel=&quot;nofollow&quot;&gt;Algorithms&lt;/a&gt; by by S. Dasgupta, C.H. Papadimitriou, and U.V. Vazirani.&lt;/li&gt;&#xA;&lt;li&gt;The killer &lt;a href=&quot;http://compgeom.cs.uiuc.edu/~jeffe/teaching/algorithms/&quot; rel=&quot;nofollow&quot;&gt;notes&lt;/a&gt; (or book draft) by Jeff Erickson. (Since JeffE is too modest to suggest his own notes, I have to do it myself.)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;In general, whenever you study a certain algorithm or data structure, if somehow the exposition in your textbook is not clear enough for you, then the best way is to search on google for lecture notes of that particular topic. In may cases, different explanations of the same thing eventually give you the complete picture. At least, that's how it works for me.&lt;/p&gt;&#xA;" OwnerUserId="1080" LastEditorUserId="1080" LastEditDate="2013-11-01T00:45:51.017" LastActivityDate="2013-11-01T00:45:51.017" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="4055" PostTypeId="2" ParentId="4052" CreationDate="2011-01-01T22:33:05.223" Score="28" Body="&lt;p&gt;&quot;Certifying compiler&quot; usually means something slightly different: it means that you have a compiler which can prove that the machine code it emits correctly implements the high-level semantics. That is, this is a proof that there are no compiler bugs. The programs that people give to the compiler can still be wrong, but the compiler will generate a correct machine code version of the wrong program. The biggest success story along these lines is the &lt;a href=&quot;http://compcert.inria.fr/&quot; rel=&quot;noreferrer&quot;&gt;CompCert verified compiler&lt;/a&gt;, which is a compiler for a large subset of C. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The Compcert compiler itself is a program with a correctness proof (done in Coq), which guarantees that if it generates code for a program, it will be correct (with respect to the operational semantics of assembly &amp;amp; C that the CompCert designers used).  The effort to machine-check these things is quite large; typically the correctness proof will be anywhere from 1x to 100x the size of the program you are verifying. Writing machine-checked programs and proofs is a new skill you have to learn -- it's not mathematics or programming as usual, though it depends on being able to do both well. It feels like you are starting from scratch, like being a novice programmer again. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are no special theoretical barriers to this, though. The only thing along these lines is the &lt;a href=&quot;http://dx.doi.org/10.1016/S0019-9958(67)90546-3&quot; rel=&quot;noreferrer&quot; title=&quot;&amp;#39;On the Size of Machines&amp;#39;, Blum 1967&quot;&gt;Blum Size theorem&lt;/a&gt; that for any language in which all programs are total, you can find a program in a general recursive language which will be at least exponentially larger when programmed in the total language. The way to understand this result is that a total language encodes not just a program, but also a termination proof. So you can have short programs with long termination proofs. However, this doesn't really matter in practice, since we're only going to ever write programs with manageable termination proofs. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT: Dai Le asked for some elaboration of the last point. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is mostly a pragmatic claim, based on the fact that if you can understand why a program works, then it's unlikely that the reason is  some vast invariant millions of pages long. (The longest invariants I've used are a few pages long, and boy do they make the reviewers grumble! Understandably so, too, since the invariant is the reason the program works stripped of all the narrative that helps people understand it.) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;But there are also some theoretical reasons, as well. Basically, we don't know very many ways to systematically invent programs whose correctness proofs are very long. The main method is to (1) take the logic in which you prove correctness, (2) find a property which can't be directly expressed in that logic (consistency proofs are the typical source), and (3) find a program whose correctness proof relies on a family of expressible consequences of the inexpressible property. Because (2) is inexpressible, this means that the proof of each expressible consequence must be done independently, which lets you blow up the size of the correctness proof. As a simple example, note that in first-order logic with a parent relation, you can't express the ancestor relation. But $k$-ancestry (ancestry of depth $k$) is expressible, for each fixed $k$. So by giving a program that uses some property of ancestry up to some depth (say, 100), you can force a correctness proof in FOL to contain proofs of those properties a hundred times over. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The sophisticated take on this subject is called &quot;reverse mathematics&quot;, and is the study of which axioms are required to prove given theorems. I don't know that much about it, but if you post a question on its application to CS, and I'm sure at least Timothy Chow, and probably several other people,  will be able to tell you interesting things.&lt;/p&gt;&#xA;" OwnerUserId="657" LastEditorUserId="3964" LastEditDate="2015-05-25T21:05:27.357" LastActivityDate="2015-05-25T21:05:27.357" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="4056" PostTypeId="2" ParentId="4053" CreationDate="2011-01-02T01:10:26.553" Score="22" Body="&lt;p&gt;This should be a comment, as it is a mostly boring answer, but I don´t have enough reputation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The sum of square roots problem is in $P^{PP^{PP^{PP}}}$ from &lt;a href=&quot;http://www-math.uni-paderborn.de/agpb/work/focs7.pdf&quot;&gt;[ABKM98]&lt;/a&gt;, so any problem hard for this class has the required property. This is done by reducing the sum-of-square-roots problem to a problem called $PosSLP$, defined as deciding whether a straight-line problem represents a positive integer, so that problem is sum-of-square-roots hard.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[ABKM98]: On the Complexity of Numerical analysis, by Allender, Burgisser, Kjeldgaard-Pedersen and Miltersen.&lt;/p&gt;&#xA;" OwnerUserId="1632" LastActivityDate="2011-01-02T01:10:26.553" CommentCount="6" ContentLicense="CC BY-SA 2.5" />
  <row Id="4057" PostTypeId="2" ParentId="4052" CreationDate="2011-01-02T09:45:25.790" Score="12" Body="&lt;p&gt;A tool that checks whether a program is correct is sometimes called a program verifier. In this context, &quot;correct&quot; usually means two things: that the program never produces certain outputs (think segmentation fault, NullPointerException, etc.) and that the program agrees with a specification.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The code and the specification may agree and still be perceived as wrong. In a sense, asking developers to write specifications is like asking two developers to solve the problem. If the two implementations agree then you have higher confidence that they are OK. In another sense, however, specifications are better than a second implementation. Because the specification needs not be efficient or even executable, it can be much more succinct and hence harder to get wrong.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;With these caveats in mind, I recommend you look at the &lt;a href=&quot;http://research.microsoft.com/en-us/projects/specsharp/&quot;&gt;Spec# program verifier&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="236" LastActivityDate="2011-01-02T09:45:25.790" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="4058" PostTypeId="2" ParentId="4052" CreationDate="2011-01-02T12:36:08.833" Score="18" Body="&lt;p&gt;What you are asking about in the first question is sometimes called a &quot;verifying compiler&quot;, and a few years ago Tony Hoare offered it as &lt;a href=&quot;http://cs-www.cs.yale.edu/homes/dachuan/Grand/HoareCC.pdf&quot;&gt;a grand challenge for computing research&lt;/a&gt;.  To some extent this already exists and is in active use in tools such as the &lt;a href=&quot;http://coq.inria.fr/&quot;&gt;Coq theorem prover&lt;/a&gt;, which organize the problem by way of &lt;a href=&quot;http://en.wikipedia.org/wiki/Type_theory&quot;&gt;type theory&lt;/a&gt; and the propositions-as-types principle (&quot;&lt;a href=&quot;http://en.wikipedia.org/wiki/Curry%E2%80%93Howard_correspondence&quot;&gt;Curry-Howard&lt;/a&gt;&quot;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT: just wanted to add emphasis on &quot;to some extent&quot;.  This is far from a solved problem, but the success of Coq gives hope that it is not a pipe dream.&lt;/p&gt;&#xA;" OwnerUserId="674" LastEditorUserId="674" LastEditDate="2011-01-03T16:41:04.600" LastActivityDate="2011-01-03T16:41:04.600" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4059" PostTypeId="2" ParentId="4052" CreationDate="2011-01-02T18:35:30.010" Score="4" Body="&lt;p&gt;In the general case, it is impossible to create an algorithm that confirms whether an algorithm is equivalent to a specification. This is an informal proof:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Almost all programming languages are Turing-complete. Therefore, any language decided by a TM can be also be decided by a program written in this language.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem of determining whether two TMs accept the same language, known as $Equivalence/TM$ is undecidable. As a consequence of Turing completeness, the same holds for the programs of the given language. In other words, it is undecidable to know whether the inputs you want your program to accept and the inputs it really does are the same.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Furthermore, $Equivalence/TM$ is not even recursive enumerable. That is because $Non-emptiness/TM$ (whether a TM accepts at least one input) is an acceptable language, since you can iterate over all possible inputs. If the TM is non-empty, eventually you will find a word that is accepted. Therefore $Emptiness/TM$ is unacceptable, otherwise $Emptiness/TM$ would be decidable (which we know it is not). However Emptiness/TM can be reduced to $Equivalence/TM$, therefore $Equivalence/TM$ is also unacceptable. Therefore you can use an algorithm whether or not two machines are not equivalent, but you cannot be sure if they are equivalent, or you haven't given your algorithm enough time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, this is only for the general case. It is possible that you can decide whether or not the specifications are equivalent to the program, by solving a more relaxed version of the problem. For example, you might examine only a number of inputs or say that the two programs are equivalent with some uncertainty. This is what software testing is all about.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As for the rest of your questions:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note: This part has been edited for clarification. It turns out that I did the mistake I was trying to avoid, sorry.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $TrueR$ be the collection of languages that we know to be decidable. Of course $TrueR \subseteq R$. One can then prove the following:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$ProvableR = TrueR$. It is easy to see that $ProvableR \subset TrueR$. However, it is also $TrueR \subset ProvableR$ . The proof is very easy: Let $A  \epsilon TrueR$ . By definition , in every input $A$ returns either YES or NO. Therefore, $A$ halts on every input. It follows that $A \epsilon ProvableR$ .&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Informally , this can be summarized as: You don't know that a language is decidable until you have proven it to be. So if in a formal system you have the knowledge that a language is decidable, this knowledge can also serve as a proof for that. Therefore, you cannot simultaneously have the knowledge that a language is both decidable and it cannot be proven so, these two statements are mutually exclusive. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;My final point is that our knowledge is partial and that the only way of studying $R$ is through $ProvableR$. The distinction might make sense in mathematics and we can acknowledge it, but we possess no tools to study it. Since $ProvableR \subset R$ , we are bound to never completely know $R$ in its entirety.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;@Kaveh summarizes it best: Provable always means provable in some system/theory and does not coincide with truth in general. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The same holds for any other complexity class: To determine membership you need a proof first. This is why I believe that your second question is too general, since it contains not only complexity theory, but also computation theory as well, depending on the property you want the language to have.&lt;/p&gt;&#xA;" OwnerUserId="879" LastEditorUserId="879" LastEditDate="2011-01-04T13:23:25.277" LastActivityDate="2011-01-04T13:23:25.277" CommentCount="14" ContentLicense="CC BY-SA 2.5" />
  <row Id="4060" PostTypeId="2" ParentId="4052" CreationDate="2011-01-02T19:20:28.443" Score="22" Body="&lt;p&gt;I think the answer to the first question is that generally it is &lt;em&gt;too much work&lt;/em&gt; with current tools. To get the feeling, I suggest trying to prove the correctness of Bubble Sort in Coq (or if you prefer a little more challenge, use Quick Sort). I don't think it is reasonable to expect programmers write verified programs as long as proving correctness of such basic algorithms is so difficult and time consuming.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This question is similar to asking why mathematicians don't write formal proofs verifiable by proof checkers? Writing a program with a formal correctness proof means proving a mathematical theorem about the written code, and the answer to that question also applies to your question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This does not mean that there has not been successful cases of verified programs. I know that there are &lt;a href=&quot;http://www.verisoftxt.de/StartPage.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;groups&lt;/a&gt; who are proving the correctness of systems like &lt;a href=&quot;http://www.microsoft.com/hyper-v-server/en/us/default.aspx&quot; rel=&quot;nofollow noreferrer&quot;&gt;Microsoft's hypervisor&lt;/a&gt;. A related case is Microsoft's &lt;a href=&quot;http://research.microsoft.com/en-us/projects/vcc/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Verified C Compiler&lt;/a&gt;. But in general the current tools need a lot of development (including their SE and HCI aspects) before becoming useful for general programmers (and mathematicians).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Regarding the final paragraph of &lt;a href=&quot;https://cstheory.stackexchange.com/questions/4052/what-do-we-know-about-provably-correct-programs/4055#4055&quot;&gt;Neel's answer&lt;/a&gt; about program size growth for languages with only total functions, actually it is easy to prove even more (If I understood it correctly). It is reasonable to expect that the syntax of any programing language will be c.e. and the set of total computable functions is not c.e., so for any programming language where all programs are total there is a total computable function which cannot be computed by any program (of any size) in that language.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;For the second question, I answered a similar question on Scott's blog sometime ago. Basically if the complexity class has a nice characterization and is computably representable (i.e. it is c.e.) then we can prove that some representation of the problems in the complexity class are provably total in a very weak theories corresponding to the complexity class. The basic idea is that the provably total functions of the theory contains all $AC^0$ functions and a problem which is $AC^0$-complete for the complexity class, therefore it contains all problems in the complexity class and can prove the totality of those programs. The relation between proofs and complexity theory is studied in proof complexity, see S.A. Cook and P. Nguyen's recent book &quot;&lt;a href=&quot;http://www.cup.es/us/catalogue/catalogue.asp?isbn=9780521517294&quot; rel=&quot;nofollow noreferrer&quot;&gt;Logical Foundations of Proof Complexity&lt;/a&gt;&quot; if you are interested. (A &lt;a href=&quot;http://www.cs.toronto.edu/~sacook/homepage/book&quot; rel=&quot;nofollow noreferrer&quot;&gt;draft&lt;/a&gt; from 2008 is available.) So the basic answer is that for many classes &quot;Provably C = C&quot;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is not true in general since there are semantic complexity classes which do not have syntactic characterization, e.g. total computable functions. If by recursive you mean total recursive functions then the two are not equal, and the set of computable functions which are provably total in a theory is well studied in proof theory literature and are called &lt;em&gt;the provably total functions&lt;/em&gt; of the theory. For example: the provably total functions of $PA$ are $\epsilon_0$-recursive functions (or equivalently functions in Godel's system $T$), the provably total functions of $PA^2$ are function in Girard's system $F$, the provably total functions of $I\Sigma_1$ are primitive recursive functions, ... . &lt;/p&gt;&#xA;&#xA;&lt;p&gt;But it does not seem to me that this means much in program verification context, since there are also programs which are extensionally computing the same function but we cannot prove that the two programs are computing the same function, i.e. the programs are extensionally equal but not intentionally. (This is similar to the Morning Star and the Evening Star.) Moreover it is easy to modify a given provably total program to get one which the theory is unable to prove its totality.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;I think the two questions are related. The objective is to get a verified program. A verified programs means that the program satisfies a description, which is a mathematical statement. One way is to write a program in a programming language and then prove its properties like it satisfies the description, which is the more common practice. Another option is to try to prove the mathematical statement describing the problem using restricted means and then extract a verified program from it. For example, if we prove in the theory corresponding to $P$ that for any given number $n$ there is a sequence of prime numbers which their product is equal to $n$, then we can extract a $P$ algorithm for factorization from the proof. (There are also researcher who try to automatize the first approach as much as possible, but checking interesting non-trivial properties of programs is computationally difficult and cannot be completely verified without false positives and negatives.)&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:30.623" LastActivityDate="2011-01-02T22:33:44.067" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="4061" PostTypeId="1" AcceptedAnswerId="4084" CreationDate="2011-01-03T00:20:40.607" Score="5" ViewCount="441" Body="&lt;p&gt;I'm looking for a confluentially persistent data structure for a string - so far I'm looking at &lt;a href=&quot;http://www.soi.city.ac.uk/~ross/papers/FingerTree.pdf&quot; rel=&quot;nofollow&quot;&gt;finger trees&lt;/a&gt;. That is, how would I resolve two edits to the same base tree, and would I be able to preserve the undo history? I'm assuming that some mutations would be mutually exclusive, and I'd need to reject one. That is, I'm under the impression that order matters.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some specifics - I'll have a copy of the tree in each thread - each will be sending updates to a central thread that updates all the others. Each thread will be based on the central thread's tree.&lt;/p&gt;&#xA;" OwnerUserId="2139" LastEditorUserId="2139" LastEditDate="2011-01-06T02:29:45.283" LastActivityDate="2011-01-06T02:29:45.283" Title="Confluently Persistent String Data Structure" Tags="&lt;ds.data-structures&gt;&lt;functional-programming&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="4062" PostTypeId="2" ParentId="4053" CreationDate="2011-01-03T04:26:02.493" Score="19" Body="&lt;p&gt;This was discussed a bit in the following survey (starting slide 21): &lt;a href=&quot;http://homepages.inf.ed.ac.uk/kousha/games08_tutorial.pdf&quot;&gt;http://homepages.inf.ed.ac.uk/kousha/games08_tutorial.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;which mentions Euclidean TSP, approximation of actual Nash equilibrium, and talks about the classes PosSLP and FIXP.&lt;/p&gt;&#xA;" OwnerUserId="42" LastActivityDate="2011-01-03T04:26:02.493" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4063" PostTypeId="2" ParentId="3253" CreationDate="2011-01-03T13:25:51.547" Score="27" Body="&lt;h2&gt;Functional Programming&lt;/h2&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0521663504&quot; rel=&quot;noreferrer&quot;&gt;Purely Functional Data Structures&lt;/a&gt; by &lt;strong&gt;Chris Okasaki&lt;/strong&gt;. Most books on data structures assume an imperative language such as C or C++. However, data structures for these languages do not always translate well to functional languages. This book is one of the best expositions on implementing data structures &amp;amp; algorithms in a functional language.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0201137445&quot; rel=&quot;noreferrer&quot;&gt;Functional Programming: Practice and Theory&lt;/a&gt; by &lt;strong&gt;Bruce J. Maclennan&lt;/strong&gt;. Despite its name, this book is more theory-oriented than practice-oriented. Those who read this book will have a much better view of the subject than those who learn it by ad-hoc programming.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0521513383&quot; rel=&quot;noreferrer&quot;&gt;Pearls of Functional Algorithm Design&lt;/a&gt; by &lt;strong&gt;Richard Bird&lt;/strong&gt;. A brand-new exposition on the subject, which takes the problem-solution approach, and shows the beauty of the field by exhibiting attractive ideas in the design of functional algorithms.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://adam.chlipala.net/cpdt/&quot; rel=&quot;noreferrer&quot;&gt;Certified Programming with Dependent Types&lt;/a&gt; by &lt;strong&gt;Adam Chlipala&lt;/strong&gt;. It's one of the best resources in learning Coq, and focuses in particular on how to automating program certification and theorem proving using logic/rule-based systems. Examples are extensive and easy-to-follow.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="873" LastEditorUserId="20907" LastEditDate="2015-08-18T20:39:14.993" LastActivityDate="2015-08-18T20:39:14.993" CommentCount="0" CommunityOwnedDate="2011-01-03T13:25:51.547" ContentLicense="CC BY-SA 3.0" />
  <row Id="4064" PostTypeId="1" AcceptedAnswerId="4076" CreationDate="2011-01-03T19:55:10.120" Score="2" ViewCount="172" Body="&lt;p&gt;Suppose I have a graph $G$, with nodes $\{1,2,\ldots,n\}$, subsets of nodes $\{b_1,\ldots,b_k\}$ and functions $\{f_1,\ldots,f_k\}$ where $f_i$ maps independent subsets of $b_i$ to reals. The operation on $f$ is setting or getting all values in &quot;canonical order&quot;, ie, $\langle f(\emptyset),f(\{1\}),f(\{2\}),f(\{3\}),f(\{1,2\}),\ldots \rangle$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is a way to do this more efficiently than with an array of size $2^{|b_i|}$ for $f_i$? This comes up when counting independent sets on graphs&lt;/p&gt;&#xA;" OwnerUserId="434" LastEditorUserId="434" LastEditDate="2011-01-03T21:40:42.890" LastActivityDate="2011-01-04T09:17:36.043" Title="Data-structure for functions of independent sets" Tags="&lt;ds.algorithms&gt;&lt;ds.data-structures&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="4067" PostTypeId="1" AcceptedAnswerId="4068" CreationDate="2011-01-03T21:59:37.363" Score="0" ViewCount="289" Body="&lt;p&gt;this is my first question here so I hope I've done everything correctly.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I know that if someone finds a polynomial solution to any of the famous NP problems, all of them has one (polynomial solution).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does this hold for say a k^n solution (and if, must they all have the same exponent) ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;And my real question, is there some relation among NP problems in the sense that say one solution is n! then another can't be (n²)! or is that (the n²) 'eaten up' by the &quot;!&quot; ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Please point me in the right direction if you can.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks for your time and I hope my question is clear enough.&lt;/p&gt;&#xA;" OwnerUserId="1707" LastEditorUserId="567" LastEditDate="2011-01-05T02:37:44.513" LastActivityDate="2011-01-05T13:01:56.560" Title="What relations has different bounds for NP?" Tags="&lt;cc.complexity-theory&gt;&lt;np&gt;&lt;bounds&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4068" PostTypeId="2" ParentId="4067" CreationDate="2011-01-03T22:14:00.773" Score="4" Body="&lt;p&gt;NP-complete problems can be polynomial-time reduced to each other via Karp/Cook/Levin reductions. Since polynomials are closed under composition, if there's a polynomial bound $f(\cdot)$ on the running time of an algorithm to solve NP-complete problem $A$, then for every NP-complete problem $B$ which reduces to $A$ in polynomial-time $g(\cdot)$, there will be an algorithm which solves  $B$ in time bounded by $f(g(\cdot))$ which is a polynomial.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This does not hold for bounds other than polynomial. For instance, if there's a $2^n$ bound on solving $A$, there can be a $2^{n^{10}}$ bound on solving $B$. See &lt;a href=&quot;https://cstheory.stackexchange.com/q/1050/873&quot;&gt;this topic&lt;/a&gt; for more info.&lt;/p&gt;&#xA;" OwnerUserId="873" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.743" LastActivityDate="2011-01-05T13:01:56.560" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="4069" PostTypeId="1" AcceptedAnswerId="4082" CreationDate="2011-01-04T00:05:37.020" Score="14" ViewCount="1140" Body="&lt;p&gt;Let's say I have a big block of code which I already have lexed and parsed.&lt;br&gt;&#xA;Suppose that just one character changes; I would want to update my parsing, but since the modification is very small compared to the whole thing, I would like to know if it's possible not to parse the whole thing again, but if there are algorithms to determine the range to re-parse, and to properly deal with moving token boundaries.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks in advance!&lt;/p&gt;&#xA;" OwnerUserId="3036" LastEditorUserId="46150" LastEditDate="2017-08-16T20:23:04.247" LastActivityDate="2017-08-17T10:53:39.470" Title="Efficient algorithm for updating a parse tree" Tags="&lt;fl.formal-languages&gt;&lt;parsing&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="4070" PostTypeId="2" ParentId="4069" CreationDate="2011-01-04T00:26:42.850" Score="1" Body="&lt;p&gt;if your incremental parser saves state at each end of line, you re-parse just from the last valid parser state (at best case, e.g. after a full-parse this is just the begin of line where modification starts) and stop parsing at end of line where modification ends (internally parser might look ahead beyond the modification to recognize properly the structure)&lt;/p&gt;&#xA;" OwnerDisplayName="rsaccon" LastEditorDisplayName="rsaccon" LastEditDate="2011-01-04T00:55:59.620" LastActivityDate="2011-01-04T00:55:59.620" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4073" PostTypeId="1" CreationDate="2011-01-04T02:32:23.747" Score="1" ViewCount="184" Body="&lt;p&gt;I'm looking to use something close to the following as a definition for a circuit class. This is obviously semi-informal. I am curious if any one sees any potential problems with it, or where something in it's informal nature can potentially be a problem when it is tightened up to something more formal.  Also, I'm not aware of any vetted and accepted circuit class &quot;like this&quot;, so pointers to something I missed are welcome as well.  In particular, the use of &lt;em&gt;time&lt;/em&gt; is &lt;strong&gt;&lt;em&gt;critically&lt;/em&gt;&lt;/strong&gt; important to what I'm working on.  TIA.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The circuit class TLU, or &lt;em&gt;Table Look Up&lt;/em&gt;, is defined as taking $n \ge 1$ $\{0,1\}$ inputs that produces a single $\{0,1\}$ output.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An individual $n$ input TLU gate is defined as an indexed array of $\{0,1\}^{2^n}$, where $n$ represents the index that selects a particular $\{0,1\}$ from the array.  For example, $\{1,1,1,0\}$ would represent the common $\text{NAND}$ gate.  An individual $n$ input TLU gate has a depth of $1$, a gate count of $1$, and takes atomically $O\left(1\right)$ time to produce an output from a given input.  For each $n$ input TLU gate set, there are $2^{2^n}$ possible indexed arrays.  All TLU gates &lt;em&gt;advance in time&lt;/em&gt; atomically with respect to all other TLU gates.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For some large value of $n$, one may wish to map a large $n$ input TLU gate to a set of $\lt n$ input TLU gate primitives.  A common example would be the set of $\le 2$ input $\{\text{AND}, \text{OR}, \text{NOT}\}$ gates.  In &lt;em&gt;The synthesis of two-terminal switching circuits&lt;/em&gt;, Shannon proved maximum worst case bounds for &lt;em&gt;gates&lt;/em&gt; and &lt;em&gt;depth&lt;/em&gt; for the $\{\text{AND}, \text{OR}, \text{NOT}\}$ set.  This result can be extended to make the following claim: As long as the set of primitives contains a &lt;em&gt;complete boolean basis&lt;/em&gt;, there is guaranteed to be a maximum worst case bounds for &lt;em&gt;gates&lt;/em&gt; and &lt;em&gt;depth&lt;/em&gt; for that set of primitives.&lt;/p&gt;&#xA;" OwnerUserId="2572" LastEditorUserId="186" LastEditDate="2011-01-04T09:27:53.433" LastActivityDate="2011-01-04T09:27:53.433" Title="Problems or issues with a proposed circuit class?" Tags="&lt;cc.complexity-theory&gt;&lt;boolean-functions&gt;&lt;circuit-families&gt;" AnswerCount="0" CommentCount="12" ContentLicense="CC BY-SA 2.5" />
  <row Id="4074" PostTypeId="1" CreationDate="2011-01-04T08:15:04.973" Score="117" ViewCount="17520" Body="&lt;p&gt;There has been several questions with the same scheme as this one:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/q/1168/873&quot;&gt;What papers should everyone read&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/q/3253/873&quot;&gt;What books should everyone read&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/q/3540/873&quot;&gt;What are the recent TCS books whose drafts are available online&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/q/1198/873&quot;&gt;what videos should everybody watch&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I was reluctant to post yet another one, but Jeff Erickson's &lt;a href=&quot;http://compgeom.cs.uiuc.edu/~jeffe/teaching/algorithms/everything.pdf&quot; rel=&quot;noreferrer&quot;&gt;lecture notes on algorithms&lt;/a&gt; changed my mind. I thought: Oh my! All these years and I haven't seen these excellent notes!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, I thought there might be other great lecture notes, which are really worth reading. So, for each computer science subfield (&lt;em&gt;data structures, algorithms, theory of computation, computational complexity, cryptography&lt;/em&gt;, etc.), recommend the superb lecture notes of your choice, and say &lt;strong&gt;why&lt;/strong&gt; you think it excels.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One simple rule to keep it tidy: &lt;strong&gt;One answer per each subfield.&lt;/strong&gt; (This will be a community wiki, so you can edit existing answers, and add your recommendation.)&lt;/p&gt;&#xA;" OwnerUserId="873" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2017-01-23T04:51:28.570" Title="What Lecture Notes Should Everyone Read?" Tags="&lt;reference-request&gt;&lt;soft-question&gt;&lt;big-list&gt;" AnswerCount="15" CommentCount="5" FavoriteCount="227" CommunityOwnedDate="2011-01-04T17:46:24.357" ContentLicense="CC BY-SA 2.5" />
  <row Id="4075" PostTypeId="2" ParentId="4074" CreationDate="2011-01-04T09:10:54.837" Score="11" Body="&lt;h2&gt;SAT&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;I visited a SAT course a few years ago with Professor Welzl. His lecture notes are by far the best I’ve seen throughout my entire studies.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Unfortunately, only the &lt;a href=&quot;http://www.inf.ethz.ch/~emo/SmallPieces/SAT.ps&quot;&gt;2005 version&lt;/a&gt; is online, including a short &lt;a href=&quot;http://www.inf.ethz.ch/personal/emo/SmallPieces/SATupdates.html&quot;&gt;list of updates&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(The fastest SAT algorithm as well as the constructive proof of the Lovász local lemma come from guys in his group.)&lt;/p&gt;&#xA;" OwnerUserId="2701" LastEditorUserId="2701" LastEditDate="2011-01-04T10:05:22.713" LastActivityDate="2011-01-04T10:05:22.713" CommentCount="0" CommunityOwnedDate="2014-04-06T13:44:55.247" ContentLicense="CC BY-SA 2.5" />
  <row Id="4076" PostTypeId="2" ParentId="4064" CreationDate="2011-01-04T09:17:36.043" Score="1" Body="&lt;p&gt;I wanted to post a comment, but with no &quot;karma&quot; it seems impossible... What about using dictionaries (hashmap, depending on the language you use) to store the values of your $f_i$ ? This way you don't have to know beforehand the size of the memory you will need, and gettin a function's value is not too slow.&lt;/p&gt;&#xA;" OwnerUserId="1209" LastActivityDate="2011-01-04T09:17:36.043" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4078" PostTypeId="2" ParentId="4074" CreationDate="2011-01-04T10:03:20.290" Score="23" Body="&lt;p&gt;A &lt;a href=&quot;http://www.cs.princeton.edu/courses/archive/fall02/cs597D/&quot;&gt;Theorist's Toolkit&lt;/a&gt; by Sanjeev Arora.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I love these notes because it gives you a rather complete set of tools for attacking problems in complexity theory. For example, VC-dimension is used widely for proving lower bounds in the communication model, and these notes explains it so well and from the basics.&lt;/p&gt;&#xA;" OwnerUserId="135" LastEditorUserId="873" LastEditDate="2011-01-04T10:28:48.777" LastActivityDate="2011-01-04T10:28:48.777" CommentCount="0" CommunityOwnedDate="2011-01-05T06:07:23.190" ContentLicense="CC BY-SA 2.5" />
  <row Id="4081" PostTypeId="1" AcceptedAnswerId="4141" CreationDate="2011-01-04T12:11:39.047" Score="12" ViewCount="786" Body="&lt;p&gt;I asked this question some weeks ago at &lt;a href=&quot;https://mathoverflow.net/questions/50103/what-is-the-pathwidth-of-the-3d-grid-mesh-or-lattice-with-sidelength-k&quot;&gt;mathoverflow&lt;/a&gt;, but I got no reply.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here, by 3D-grid of sidelength $k$ I mean the graph $G=(V,E)$ with $V= \{1,\ldots,k\}^3$ and $E=\{( (a,b,c) ,(x,y,z) ) \mid |a-x|+|b-y|+|c-z|=1 \}$, i.e., the nodes are placed at 3-dimensional integer coordinates between 1 and $k$, and a node is connected to the at most 6 other nodes that differ in precisely one coordinate by one.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is the name of this graph? I'll use 3D grid, but perhaps 3D mesh or 3D lattice are what other people are used to.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What is the treewidth or pathwidth of&#xA;  this graph?  Is this already published&#xA;  somewhere?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I know already that $tw(G) = (3/4) k^2 + O(k)$, i.e. it is really smaller than $k^2$.&#xA;To me, this suggests that the standard arguments showing that the $k\times k$ 2D-grid has treewidth and pathwidth $k$ will not easily generalize.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To see this, we consider a path decomposition that &quot;sweeps&quot; the grid using mainly node-sets of the form $S_c= \{(x,y,z)\mid x+y+z = c\}$. &#xA;Observe $|S_c| \leq (3/4) k^2 + O(k)$, $S_{3/2 k}$ being the largest such set.&#xA;The sets between $S_c$ and $S_{c+1}$ are created by sweeping with a line and need $O(k)$ additional nodes to be separators. More precisely, use the sets &#xA;$S_{c,d} = \{(x,y,z)\mid (x+y+z = c \wedge x \leq d ) \vee (x+y+z = c \wedge x \geq d ) \}$ as a path decomposition of $G$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I also have an idea for a proof that shows $tw(G) = \Omega(k^2)$, but that is not finished yet.&lt;/p&gt;&#xA;" OwnerUserId="3049" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2011-03-12T04:25:59.880" Title="What is the pathwidth of the 3D-grid (mesh or lattice) with sidelength k?" Tags="&lt;reference-request&gt;&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;treewidth&gt;&lt;integer-lattice&gt;" AnswerCount="2" CommentCount="6" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="4082" PostTypeId="2" ParentId="4069" CreationDate="2011-01-04T12:57:39.007" Score="9" Body="&lt;p&gt;As per @Agos request, I turned the comment into an answer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First, I must admit that I'm not really knowledgeable in this field. Yet I suggest you read the papers &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=582175&quot;&gt;Building friendly parsers&lt;/a&gt; and &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.83.7015&amp;amp;rep=rep1&amp;amp;type=pdf&quot;&gt;Efficient and Flexible Incremental Parsing&lt;/a&gt; to have a view of what algorithms were used for &lt;strong&gt;incremental parsing&lt;/strong&gt; before 2000.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For updated treatments, you may take a look at these papers:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://portal.acm.org/citation.cfm?id=1596645&quot;&gt;Lazy functional incremental parsing&lt;/a&gt; (2009)&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.114.7916&amp;amp;rep=rep1&amp;amp;type=pdf&quot;&gt;Practical, incremental, noncanonical parsing: Celentano's method and the Generalized Piecewise LR parsing algorithm&lt;/a&gt; (2006)&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://portal.acm.org/citation.cfm?id=1042050&quot;&gt;Incremental validation of XML documents&lt;/a&gt; (2004)&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://onlinelibrary.wiley.com/doi/10.1002/spe.422/abstract&quot;&gt;Incremental parsing in language-based editors: user needs and how to meet them&lt;/a&gt; (2001)&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://74.125.155.132/scholar?q=cache%3aiDsS-Z6xogEJ%3ascholar.google.com/&amp;amp;hl=en&amp;amp;as_sdt=2005&amp;amp;sciodt=2000&quot;&gt;Incremental Parsing and the C Preprocessor&lt;/a&gt; (Couldn't find the PDF anywhere. It is from Google cache.)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;More info:&lt;/strong&gt; There are (at least) two approaches to parsing/compilation: &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The &lt;strong&gt;batch&lt;/strong&gt; approach, in which the whole block of code is parsed/compiled.&lt;/li&gt;&#xA;&lt;li&gt;The &lt;strong&gt;incremental&lt;/strong&gt; approach, in which the document is first parsed/compiled in the batch mode, and then changes are detected and the minimal re-parsing/re-compilation is applied. This approach not only increases the parse/compilation speed, but also helps in IDE nifty features such as &lt;a href=&quot;http://scholar.google.com/scholar?hl=en&amp;amp;safe=off&amp;amp;q=%22background%20compilation%22&amp;amp;um=1&amp;amp;ie=UTF-8&amp;amp;sa=N&amp;amp;tab=ws&quot;&gt;background compilation&lt;/a&gt;, which is related to &lt;a href=&quot;http://scholar.google.com/scholar?hl=en&amp;amp;q=%22lazy+compilation%22&amp;amp;btnG=Search&amp;amp;as_sdt=2000&amp;amp;as_ylo=&amp;amp;as_vis=0&quot;&gt;lazy compilation&lt;/a&gt;. (You can also search about commercial features such as the  &lt;a href=&quot;http://en.wikipedia.org/wiki/IntelliSense&quot;&gt;IntelliSense&lt;/a&gt;).&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="873" LastActivityDate="2011-01-04T12:57:39.007" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4083" PostTypeId="2" ParentId="4016" CreationDate="2011-01-04T13:25:00.730" Score="7" Body="&lt;p&gt;From a memorable talk of a person that implemented an algorithm that solves an undecidable problem: &quot;It takes 2-3 seconds for all the inputs I tried&quot;.&lt;/p&gt;&#xA;" OwnerUserId="9594" LastActivityDate="2011-01-04T13:25:00.730" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4084" PostTypeId="2" ParentId="4061" CreationDate="2011-01-04T15:38:41.390" Score="5" Body="&lt;p&gt;What you seem to be looking for is not a data structure for strings themselves, but a grammar for representing concurrent actions on strings. The field of study for this is Operational Transformation: &lt;a href=&quot;http://en.wikipedia.org/wiki/Operational_transformation&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/Operational_transformation&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="351" LastActivityDate="2011-01-04T15:38:41.390" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4085" PostTypeId="2" ParentId="1257" CreationDate="2011-01-04T15:58:08.913" Score="2" Body="&lt;p&gt;Are you still looking into the problem? This paper is actually a bit relevant: Alan Frieze, Páll Melsted and Michael Mitzenmacher, &quot;&lt;a href=&quot;http://dx.doi.org/10.1007/978-3-642-03685-9_37&quot; rel=&quot;nofollow&quot;&gt;An Analysis of Random-Walk Cuckoo Hashing&lt;/a&gt;&quot;, 2009. &lt;/p&gt;&#xA;" OwnerDisplayName="wuciren" LastEditorUserId="186" LastEditDate="2011-01-05T02:04:36.540" LastActivityDate="2011-01-05T02:04:36.540" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4087" PostTypeId="2" ParentId="3991" CreationDate="2011-01-04T16:39:59.820" Score="4" Body="&lt;p&gt;This answer is a sort of minimal supplement to Noam's excellent answer. One data point of interest is the fate of C++ concepts, which foundered on an attempt to unify nominal and structural notions of type.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There's an excellent writeup here, with links to much of the relevant discussion: &lt;a href=&quot;http://bartoszmilewski.wordpress.com/2010/06/24/c-concepts-a-postmortem/&quot; rel=&quot;nofollow&quot;&gt;http://bartoszmilewski.wordpress.com/2010/06/24/c-concepts-a-postmortem/&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, the above writeup doesn't discuss the nominal vs. structural issue in any depth. There's another writeup here, which does: &lt;a href=&quot;http://nerdland.net/2009/07/alas-concepts-we-hardly-knew-ye/&quot; rel=&quot;nofollow&quot;&gt;http://nerdland.net/2009/07/alas-concepts-we-hardly-knew-ye/&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The key paper both point to is Bjarne Stroustrup's “Simplifying the Use of Concepts”: &lt;a href=&quot;http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2009/n2906.pdf&quot; rel=&quot;nofollow&quot;&gt;http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2009/n2906.pdf&lt;/a&gt;, which goes into the practical issues encountered in some depth.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As a whole, the discussion is more pragmatic than rigorous. However, it gives a good insight into the sorts of tradeoffs involved in these issues, especially in the context of a large existing language.&lt;/p&gt;&#xA;" OwnerUserId="351" LastActivityDate="2011-01-04T16:39:59.820" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4088" PostTypeId="1" AcceptedAnswerId="4103" CreationDate="2011-01-04T16:43:36.853" Score="7" ViewCount="1040" Body="&lt;p&gt;Let $G$ be an edge-weighted DAG with a unique source $s$. The question is how to find out a maximum weight arborescence in $G$ rooted at $s$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;When all edge weights are positive then the required arborescence is also spanning and so we can use the directed minimum spanning tree algorithm (http://www.ce.rit.edu/~sjyeec/dmst.html)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What if negative weights are allowed?&lt;/p&gt;&#xA;" OwnerUserId="189" LastEditorUserId="189" LastEditDate="2011-01-05T09:50:47.477" LastActivityDate="2011-01-05T09:50:47.477" Title="Finding maximum weight arborescence in an edge-weighted DAG" Tags="&lt;ds.algorithms&gt;&lt;graph-algorithms&gt;" AnswerCount="2" CommentCount="6" FavoriteCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4090" PostTypeId="1" AcceptedAnswerId="4094" CreationDate="2011-01-04T17:28:10.503" Score="47" ViewCount="2047" Body="&lt;p&gt;Complexity theory is a strong secondary interest of mine but it's not my primary research interest, so there is no hope for me to attend all the conferences, read all the blogs, and ensure that the &quot;in&quot; crowd cc: me on every bit of hot news.  I try to do some of this but I am wondering what methods will give me the most bang for the buck (or rather time, since time is more of a limiting factor than money in this context).  Some methods I have attempted include:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Look over STOC/FOCS proceedings.  This often means I don't hear about breakthroughs until they're (somewhat) old news, but that's O.K. from my point of view as long as I am likely to catch the news eventually.  Are there other proceedings I should be tracking?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Subscribe to the Los Alamos ArXiv.  How many complexity theorists use this?  Are there other preprint servers I should look at?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Read blogs.  I tried this for a while but have more or less given up because there are too many blogs out there and it seems to be a very inefficient method of staying current.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Anything I've missed?  Again my focus is on finding &lt;i&gt;time-efficient&lt;/i&gt; methods rather than on doing every conceivable thing to keep abreast.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;b&gt;Edit:&lt;/b&gt; Thanks for all the responses; I would accept more than one answer if the software allowed it.  My somewhat arbitrary choice is based on the fact that I now recall having heard of the ECCC and the CCC before, but I was completely unaware of the Blog Aggregator.&lt;/p&gt;&#xA;" OwnerUserId="2970" LastEditorUserId="2970" LastEditDate="2011-01-05T16:40:11.333" LastActivityDate="2011-01-27T05:53:52.390" Title="Ways for a mathematician to stay informed of current research in complexity theory" Tags="&lt;cc.complexity-theory&gt;&lt;soft-question&gt;&lt;research-practice&gt;" AnswerCount="6" CommentCount="2" FavoriteCount="18" ContentLicense="CC BY-SA 2.5" />
  <row Id="4091" PostTypeId="2" ParentId="4090" CreationDate="2011-01-04T17:41:23.987" Score="26" Body="&lt;p&gt;In addition to ArXiv, you could subscribe to the &lt;a href=&quot;http://eccc.hpi-web.de/&quot;&gt;Electronic Colloquium on Computational Complexity&lt;/a&gt;. It gets a lot of traffic from current research, and the email updates you receive are normally a succinct format of paper title/author(s)/abstract, so you won't have to invest much time to see what's just happened.&lt;/p&gt;&#xA;" OwnerUserId="108" LastActivityDate="2011-01-04T17:41:23.987" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4093" PostTypeId="2" ParentId="4074" CreationDate="2011-01-04T18:01:41.177" Score="32" Body="&lt;h2&gt;Probability Theory And Randomized Algorithms&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Lecture notes from &lt;a href=&quot;http://www.cs.cmu.edu/%7Eodonnell/&quot; rel=&quot;noreferrer&quot;&gt;Ryan O'Donnell&lt;/a&gt;'s course &lt;a href=&quot;http://www.cs.cmu.edu/%7E15359/&quot; rel=&quot;noreferrer&quot;&gt;Probability and Computing&lt;/a&gt; is pretty neat.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Lecture notes from &lt;a href=&quot;http://www.cs.dartmouth.edu/%7Eac&quot; rel=&quot;noreferrer&quot;&gt;Amit Chakrabarti&lt;/a&gt;'s course &lt;a href=&quot;http://www.cs.dartmouth.edu/%7Eac/Teach/CS49-Fall11/Notes/lecnotes.pdf&quot; rel=&quot;noreferrer&quot;&gt;Data Stream Algorithms&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="256" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2014-02-06T02:33:28.563" CommentCount="3" CommunityOwnedDate="2011-01-04T18:01:41.177" ContentLicense="CC BY-SA 3.0" />
  <row Id="4094" PostTypeId="2" ParentId="4090" CreationDate="2011-01-04T18:07:59.553" Score="23" Body="&lt;p&gt;You could also subscribe to &lt;a href=&quot;http://feedworld.net/toc/&quot;&gt;Theory of Computing Blog Aggregator&lt;/a&gt;. Though it includes not only complexity theory (CT) updates but the key news on CT, I think, you are guaranteed to obtain. &lt;/p&gt;&#xA;" OwnerUserId="1060" LastActivityDate="2011-01-04T18:07:59.553" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4095" PostTypeId="2" ParentId="4074" CreationDate="2011-01-04T18:24:42.230" Score="21" Body="&lt;h2&gt;&lt;strong&gt;Information Theory&lt;/strong&gt;&lt;/h2&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.cs.washington.edu/homes/anuprao/&quot;&gt;Anup Rao&lt;/a&gt;'s &lt;a href=&quot;https://catalyst.uw.edu/workspace/anuprao/15415/86751&quot;&gt;Information Theory lecture notes&lt;/a&gt; give a detailed description of the cutting-edge tools and how they are applied in recent research, including work from 2010.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="59" LastEditorUserId="59" LastEditDate="2011-01-04T20:39:59.800" LastActivityDate="2011-01-04T20:39:59.800" CommentCount="0" CommunityOwnedDate="2011-01-04T18:24:42.230" ContentLicense="CC BY-SA 2.5" />
  <row Id="4096" PostTypeId="1" AcceptedAnswerId="4098" CreationDate="2011-01-04T19:54:31.187" Score="15" ViewCount="3415" Body="&lt;p&gt;In trying to devise my own sorting algorithm, I'm looking for the optimal benchmark to which I can compare it.  For an unsorted ordering of elements &lt;em&gt;A&lt;/em&gt; and a sorted ordering &lt;em&gt;B&lt;/em&gt;, what is an efficient way to calculate the optimal number of transpositions to get from &lt;em&gt;A&lt;/em&gt; to &lt;em&gt;B&lt;/em&gt; ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A transposition is defined as switching the position of 2 elements in the list, so for instance&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;1 2 4 3&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;has one transposition (transposition 4 and 3) to make it&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;1 2 3 4&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Something like&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;1 7 2 5 9 6&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;requires 4 transpositions (7, 2), (7, 6), (6,5), (9, 7)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Update (9/7/11): question changed to use &quot;transposition&quot; instead of &quot;swaps&quot; to refer to non-adjacent exchanges.&lt;/p&gt;&#xA;" OwnerUserId="2233" LastEditorUserId="80" LastEditDate="2011-09-07T15:08:09.393" LastActivityDate="2011-09-07T15:08:09.393" Title="Minimum number of transpositions to sort a list" Tags="&lt;ds.algorithms&gt;&lt;co.combinatorics&gt;&lt;sorting&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="4097" PostTypeId="2" ParentId="633" CreationDate="2011-01-04T20:21:13.710" Score="7" Body="&lt;p&gt;It has been recently shown by Newman and Rabinovich that for n points in $\ell_1$ there is dimension reduction to dimension $O(n/\epsilon)$. Using a theorem of Abraham et al. (Metric embedding with relaxed guarantees, mentioned above) one can get dimension reduction in dimension $O(1/(\delta\epsilon))$ that works for a $1-\delta$ fraction of the pairs.&lt;/p&gt;&#xA;" OwnerUserId="3063" LastEditorUserId="186" LastEditDate="2011-01-05T01:45:02.120" LastActivityDate="2011-01-05T01:45:02.120" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4098" PostTypeId="2" ParentId="4096" CreationDate="2011-01-04T20:54:54.210" Score="23" Body="&lt;p&gt;If you're only dealing with permutations of $n$ elements, then you will need exactly $n-c(\pi)$ swaps, where $c(\pi)$ is the number of cycles in the &lt;a href=&quot;http://en.wikipedia.org/wiki/Cycle_notation&quot;&gt;disjoint cycle decomposition&lt;/a&gt; of $\pi$. Since this distance is bi-invariant, transforming $\pi$ into $\sigma$ (or $A$ into $B$, or conversely) requires $n-c(\sigma^{-1}\circ\pi)$ such moves.&lt;/p&gt;&#xA;" OwnerUserId="775" LastActivityDate="2011-01-04T20:54:54.210" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4099" PostTypeId="2" ParentId="4096" CreationDate="2011-01-04T20:59:20.760" Score="11" Body="&lt;p&gt;The swap distance can also be isometrically embedded in Euclidean space. For each string s, construct a matrix $M(s)$ where $M_{ij} = 1$ if $i$ occurs before $j$ and is zero otherwise. Then the Frobenius distance $\|M(s) - M(s&amp;#39;)\|^2$ is the swap distance $d(s,s&amp;#39;)$. (from &lt;a href=&quot;http://dimacs.rutgers.edu/~graham/pubs/slides/dmsa.pdf&quot; rel=&quot;nofollow&quot;&gt;Graham Cormode's slides&lt;/a&gt;). Not as elegant as Anthony's answer, but quite easy to compute. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Update: please see Oleksandr's comments&lt;/p&gt;&#xA;" OwnerUserId="80" LastEditorUserId="80" LastEditDate="2011-01-05T16:12:15.993" LastActivityDate="2011-01-05T16:12:15.993" CommentCount="8" ContentLicense="CC BY-SA 2.5" />
  <row Id="4100" PostTypeId="2" ParentId="4090" CreationDate="2011-01-04T21:35:52.410" Score="18" Body="&lt;p&gt;You could look at the &lt;a href=&quot;http://facweb.cs.depaul.edu/jrogers/complexity/past.html&quot;&gt;&lt;em&gt;Conference on Computational Complexity&lt;/em&gt;&lt;/a&gt;. This isn't as prestigious as STOC or FOCS, but it usually has a number of interesting papers. Also, STOC, FOCS, and CCC generally announce the list of accepted papers well before the &lt;em&gt;Proceedings&lt;/em&gt; come out, and if you see anything interesting on the list of titles, you can often find it on the web.&lt;/p&gt;&#xA;" OwnerUserId="1677" LastEditorUserId="1677" LastEditDate="2011-01-05T01:54:00.623" LastActivityDate="2011-01-05T01:54:00.623" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4101" PostTypeId="2" ParentId="4088" CreationDate="2011-01-04T21:54:56.670" Score="0" Body="&lt;p&gt;What about picking, for any vertex different from the source, an incoming arc with maximum weight ? Each vertex except the source is of indegree one, and you needn't worry about circuits as you are in a DAG.&lt;/p&gt;&#xA;" OwnerUserId="1209" LastActivityDate="2011-01-04T21:54:56.670" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="4103" PostTypeId="2" ParentId="4088" CreationDate="2011-01-05T00:23:19.227" Score="10" Body="&lt;p&gt;The problem is NP-complete by a reduction from the set cover problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Set cover&lt;/strong&gt;&lt;br&gt;&#xA;&lt;em&gt;Instance&lt;/em&gt;: A finite set &lt;i&gt;U&lt;/i&gt;, a family &lt;i&gt;C&lt;/i&gt; of subsets of &lt;i&gt;U&lt;/i&gt; and &lt;i&gt;k&lt;/i&gt;∈ℕ.&lt;br&gt;&#xA;&lt;em&gt;Question&lt;/em&gt;: Is there a cover &lt;i&gt;D&lt;/i&gt; of &lt;i&gt;U&lt;/i&gt; in &lt;i&gt;C&lt;/i&gt; with at most &lt;i&gt;k&lt;/i&gt; sets, that is, a subset &lt;i&gt;D&lt;/i&gt; of &lt;i&gt;C&lt;/i&gt; with |&lt;i&gt;D&lt;/i&gt;|≤&lt;i&gt;k&lt;/i&gt; such that the union of &lt;i&gt;D&lt;/i&gt; is equal to &lt;i&gt;U&lt;/i&gt;?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given an instance (&lt;i&gt;U&lt;/i&gt;, &lt;i&gt;C&lt;/i&gt;, &lt;i&gt;k&lt;/i&gt;) of the set cover problem, let &lt;i&gt;U&lt;/i&gt;={&lt;i&gt;a&lt;/i&gt;&lt;sub&gt;1&lt;/sub&gt;, …, &lt;i&gt;a&lt;/i&gt;&lt;sub&gt;&lt;i&gt;n&lt;/i&gt;&lt;/sub&gt;} and &lt;i&gt;C&lt;/i&gt;={&lt;i&gt;S&lt;/i&gt;&lt;sub&gt;1&lt;/sub&gt;, …, &lt;i&gt;S&lt;/i&gt;&lt;sub&gt;&lt;i&gt;m&lt;/i&gt;&lt;/sub&gt;} (&lt;i&gt;n&lt;/i&gt;=|&lt;i&gt;U&lt;/i&gt;|, &lt;i&gt;m&lt;/i&gt;=|&lt;i&gt;C&lt;/i&gt;|) and construct a DAG &lt;i&gt;G&lt;/i&gt; with four layers of vertices:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The first layer consists of a single source &lt;i&gt;s&lt;/i&gt;.&lt;/li&gt;&#xA;&lt;li&gt;The second layer consists of &lt;i&gt;m&lt;/i&gt; vertices &lt;i&gt;x&lt;/i&gt;&lt;sub&gt;1&lt;/sub&gt;, …, &lt;i&gt;x&lt;/i&gt;&lt;sub&gt;&lt;i&gt;m&lt;/i&gt;&lt;/sub&gt;, each of which has an incoming edge from &lt;i&gt;s&lt;/i&gt; with weight −1.&lt;/li&gt;&#xA;&lt;li&gt;The third layer consists of &lt;i&gt;n&lt;/i&gt; vertices &lt;i&gt;y&lt;/i&gt;&lt;sub&gt;1&lt;/sub&gt;, …, &lt;i&gt;y&lt;/i&gt;&lt;sub&gt;&lt;i&gt;n&lt;/i&gt;&lt;/sub&gt;.  The vertex &lt;i&gt;y&lt;/i&gt;&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt; has an incoming edge from the vertex &lt;i&gt;x&lt;/i&gt;&lt;sub&gt;&lt;i&gt;j&lt;/i&gt;&lt;/sub&gt; with weight 0 for each pair (&lt;i&gt;i&lt;/i&gt;, &lt;i&gt;j&lt;/i&gt;) such that &lt;i&gt;a&lt;/i&gt;&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt;∈&lt;i&gt;S&lt;/i&gt;&lt;sub&gt;&lt;i&gt;j&lt;/i&gt;&lt;/sub&gt;.&lt;/li&gt;&#xA;&lt;li&gt;The fourth layer consists of &lt;i&gt;n&lt;/i&gt; vertices &lt;i&gt;z&lt;/i&gt;&lt;sub&gt;1&lt;/sub&gt;, …, &lt;i&gt;z&lt;/i&gt;&lt;sub&gt;&lt;i&gt;n&lt;/i&gt;&lt;/sub&gt;.  Each vertex &lt;i&gt;z&lt;/i&gt;&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt; has an incoming edge from the corresponding vertex &lt;i&gt;y&lt;/i&gt;&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt; with weight &lt;i&gt;m&lt;/i&gt;.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Then it is easy to see that there is a cover of &lt;i&gt;U&lt;/i&gt; in &lt;i&gt;C&lt;/i&gt; with at most &lt;i&gt;k&lt;/i&gt; sets if and only if the DAG &lt;i&gt;G&lt;/i&gt; has an arborescence rooted at &lt;i&gt;s&lt;/i&gt; with total weight at least &lt;i&gt;nm&lt;/i&gt;−&lt;i&gt;k&lt;/i&gt;.&lt;/p&gt;&#xA;" OwnerUserId="567" LastEditorUserId="567" LastEditDate="2011-01-05T00:38:04.117" LastActivityDate="2011-01-05T00:38:04.117" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="4104" PostTypeId="2" ParentId="4081" CreationDate="2011-01-05T03:41:39.880" Score="6" Body="&lt;p&gt;The pathwidth of 3D-grids has been studied by Ryohei Suda, Yota Otachi and Koichi Yamazaki in the paper &lt;a href=&quot;http://ci.nii.ac.jp/naid/110007227312&quot; rel=&quot;noreferrer&quot;&gt;Pathwidth of 3-dimensional grids&lt;/a&gt;, IEICE Tech. Report, 2009.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is claimed in the abstract of the paper that&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;In this paper, we give the pathwidth of 3-dimentional grids in closed form, by determining their vertex boundary width.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;However the precise bound is not stated in the abstract, and currently I cannot access the full paper. Maybe you can contact the authors privately, and post an answer to this question by yourself, if the authors are willing to share the result.&lt;/p&gt;&#xA;" OwnerUserId="1800" LastActivityDate="2011-01-05T03:41:39.880" CommentCount="7" ContentLicense="CC BY-SA 2.5" />
  <row Id="4105" PostTypeId="2" ParentId="4074" CreationDate="2011-01-05T04:21:47.833" Score="15" Body="&lt;h2&gt;Cryptography&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;There are a number of excellent lecture notes on the subject, all by famous people in the field. You can choose one (or two) of the following to study; it all depends on your environment, background, and requirements:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://cseweb.ucsd.edu/users/mihir/papers/gb.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;Lecture Notes on Cryptography&lt;/a&gt; by &lt;strong&gt;Shafi Goldwasser&lt;/strong&gt; and &lt;strong&gt;Mihir Bellare&lt;/strong&gt;, 2008. A series of lectures for &lt;a href=&quot;http://web.mit.edu/professional/short-programs/courses/cryptography_computer_security.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;Cryptography and Computer Security [6.87s]&lt;/a&gt;, a one week long course on cryptography taught at the MIT.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-876j-advanced-topics-in-cryptography-spring-2003/lecture-notes/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Advanced Topics in Cryptography&lt;/a&gt;, covering more advanced topics than ordinary courses.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.cs.umd.edu/~jkatz/gradcrypto2/scribes.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;Advanced Topics in Cryptography&lt;/a&gt; by &lt;strong&gt;Jonathan Katz&lt;/strong&gt;, 2004. Covers an interesting range of topics in advanced cryptography.&#xA;A more basic treatment can be found &lt;a href=&quot;http://www.cs.umd.edu/~jkatz/TEACHING/crypto_F02/lectures.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;here&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;(Suggested by &lt;a href=&quot;https://cstheory.stackexchange.com/users/943/yasser-sobhdel&quot;&gt;Yasser&lt;/a&gt;): &lt;strong&gt;Yevgeniy Dodis&lt;/strong&gt;'s lectures on &lt;a href=&quot;http://www.cs.nyu.edu/courses/fall08/G22.3210-001/index.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;introductory&lt;/a&gt; and &lt;a href=&quot;http://www.cs.nyu.edu/courses/fall09/G22.3220-001/index.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;advanced&lt;/a&gt; cryptography.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.cs.princeton.edu/courses/archive/spring10/cos433/#NOTES&quot; rel=&quot;nofollow noreferrer&quot;&gt;Cryptography&lt;/a&gt; by &lt;a href=&quot;https://cstheory.stackexchange.com/users/1202/boaz-barak&quot;&gt;Boaz Barak&lt;/a&gt; (2010).&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://u.cs.biu.ac.il/~lindell/89-856/main-89-856.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;Foundations of cryptography&lt;/a&gt; by &lt;strong&gt;Yehuda Lindell&lt;/strong&gt;, 2010. Based on &lt;a href=&quot;http://www.wisdom.weizmann.ac.il/~oded/foc-book.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;Goldreich's famous book&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.cs.berkeley.edu/~luca/cs276/#notes&quot; rel=&quot;nofollow noreferrer&quot;&gt;Cryptography&lt;/a&gt; by &lt;strong&gt;Luca Trevisan&lt;/strong&gt;. Luca's notes cover the basic topics very nicely.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://cseweb.ucsd.edu/classes/fa02/cse208/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Advanced cryptography&lt;/a&gt; by &lt;strong&gt;Daniele Micciancio&lt;/strong&gt;. Covers lots of advanced topics, and is specially inclined towards &lt;em&gt;secure multi-party protocols&lt;/em&gt;.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.courses.fas.harvard.edu/~cs120/lectures/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Introduction to Cryptography&lt;/a&gt; by &lt;strong&gt;Salil Vadhan&lt;/strong&gt;. Good for beginner/intermediate level.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="873" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:30.623" LastActivityDate="2011-01-08T17:16:58.210" CommentCount="0" CommunityOwnedDate="2011-01-05T04:21:47.833" ContentLicense="CC BY-SA 2.5" />
  <row Id="4106" PostTypeId="2" ParentId="4074" CreationDate="2011-01-05T04:47:54.053" Score="25" Body="&lt;h2&gt;Quantum computation and information&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;Some excellent lecture notes from this field:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.theory.caltech.edu/people/preskill/ph229/#lecture&quot;&gt;John Preskill's lecture notes&lt;/a&gt; on Quantum Computation. &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;An introductory course on quantum computing. Good enough to be made into a book. I know several researchers who have a printout of these notes on their bookshelf.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.cs.uwaterloo.ca/~watrous/quant-info/&quot;&gt;John Watrous' lecture notes&lt;/a&gt; on the Theory of Quantum Information. &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;An advanced course on quantum information. Some of the best lectures notes I've ever read. &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.math.uwaterloo.ca/~amchilds/teaching/w08/co781.html&quot;&gt;Andrew Childs' lecture notes&lt;/a&gt; on Quantum Algorithms. &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;An advanced course on quantum algorithms. A very good resource for recent quantum algorithms. If the original paper on some quantum algorithm is hard to understand, this is where I would check next.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.scottaaronson.com/democritus/&quot;&gt;Scott Aaronson's lecture notes&lt;/a&gt; on Quantum Computing Since Democritus. &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I can't summarize this course in one line. Read the description on the course web page.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.cs.ut.ee/~unruh/qc11/&quot;&gt;Unruh's lecture notes&lt;/a&gt; on Quantum Cryptography.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Includes general introduction to Quantum Computing, as well as crypto-specific topics such as Quantum Key Distribution, Quantum Commitments, Bounded Quantum Storage Model, and Quantum Zero-Knowledge.&lt;/p&gt;&#xA;" OwnerUserId="206" LastEditorUserId="873" LastEditDate="2012-07-30T23:58:18.743" LastActivityDate="2012-07-30T23:58:18.743" CommentCount="2" CommunityOwnedDate="2011-01-05T04:47:54.053" ContentLicense="CC BY-SA 3.0" />
  <row Id="4107" PostTypeId="2" ParentId="884" CreationDate="2011-01-05T07:56:09.507" Score="5" Body="&lt;p&gt;In &quot;Vertex partitioning into fixed additive hereditary properties is NP-hard&quot;, Alastair Farrugia proves that if $F_1$ and $F_2$ are two families of connected graphs, then the problem of partitioning a graph into two parts one of which is  $F_1$-free and the other $F_2$-free is NP-hard, except when both $F_1$ and $F_2$ consist of the single edge.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(F-free = {for all H in F, H-free})&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See www.combinatorics.org/Volume_11/PDF/v11i1r46.pdf&lt;/p&gt;&#xA;" OwnerUserId="2300" LastActivityDate="2011-01-05T07:56:09.507" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4108" PostTypeId="2" ParentId="4090" CreationDate="2011-01-05T07:56:14.853" Score="1" Body="&lt;p&gt;Oops, sorry! I see that you already have the blogs covered...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Original post:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You could also check out some blogs:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://blog.computationalcomplexity.org/&quot; rel=&quot;nofollow&quot;&gt;http://blog.computationalcomplexity.org/&lt;/a&gt; is a good example.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;These are sort of analogous to some of the math blogs except that the math blogs aren't/can't be as comprehensive for obvious reasons.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Lance and Bill regularly post reviews of all the major conferences and workshops and there is a reasonably comprehensive discussion of all the current complexity results.&lt;/p&gt;&#xA;" OwnerDisplayName="Ravi Kant" LastEditorDisplayName="Ravi Kant" LastEditDate="2011-01-05T08:04:40.513" LastActivityDate="2011-01-05T08:04:40.513" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4109" PostTypeId="1" AcceptedAnswerId="4151" CreationDate="2011-01-05T10:28:23.090" Score="-2" ViewCount="251" Body="&lt;p&gt;Let's $G=(U, V, E)$ be a balanced bipartite graph which $|U|=|V|=n$ and $|E|=n*(n-1)$; All nodes in $U$ are connected to all nodes in $V$ except $u_i$ to $v_i$ for $1\leq i \leq n$.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Definition1: Cross edges are two edges in $E$, one with two end points $u_i$, $v_j$ and the other with $u_j$, $v_i$.&lt;br&gt;&#xA;Definition2: Good-perfect matching is a perfect matching with no cross edges.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is the complexity of counting the number of Good-perfect matching in $G$?&lt;/p&gt;&#xA;" OwnerUserId="2335" LastActivityDate="2011-01-06T15:28:49.953" Title="Complexity of counting the number of Good-perfect matching in the bipartite graph" Tags="&lt;cc.complexity-theory&gt;&lt;co.combinatorics&gt;&lt;counting-complexity&gt;&lt;permanent&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="4110" PostTypeId="1" CreationDate="2011-01-05T14:17:03.983" Score="5" ViewCount="452" Body="&lt;p&gt;Problem : &lt;/p&gt;&#xA;&#xA;&lt;p&gt;We are given a stick partitioned into n - equal parts. Each of these parts has a weight, let's say x. Number of times x appears as weight of some part is guaranteed to be even. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example consider the following stick with 6 parts - &lt;/p&gt;&#xA;&#xA;&lt;p&gt;1 2 2 1 3 3 &lt;/p&gt;&#xA;&#xA;&lt;p&gt;So the stick has n parts, with weight of first part being 1, of second being 2, and likewise. Note that each weight appears even number of times. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, we need to cut the stick across these n partitions, and divide the parts into two users, and those two should have same weight in the end. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;We divide the parts as follows - &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let's say I made first cut at y1, then from starting till y1 - this part goes to user1. Now, we make another cut at y2. Then from y1 to y2 goes to user 2. And so on alternatively.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So we need to find the minimum number of cuts in which we can do this fair division. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I couldn't find a polynomial time algorithm. And, problem appears to be NP - Hard. So, any good approximation algorithm for this problem ? &lt;/p&gt;&#xA;" OwnerDisplayName="Prof. Cees Duke" LastEditorUserId="80" LastEditDate="2011-01-05T17:34:17.170" LastActivityDate="2011-01-06T16:03:02.877" Title="Partitioning a segmented stick" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;&lt;approximation-algorithms&gt;" AnswerCount="3" CommentCount="5" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="4111" PostTypeId="2" ParentId="4090" CreationDate="2011-01-05T14:18:47.277" Score="14" Body="&lt;p&gt;Arxiv is not very useful for computational complexity, although certain subfields such as quantum computing do use it.  On the whole, there is no quality control at all, and many of the papers listed as belonging to computational complexity are either incorrect, or only marginally related to the field.  ECCC (Electronic Colloquium on Computational Complexity) reports are usually much more germane, and mostly by experts in the area.  There are only a few each week, and cover a wide variety of topics.  So I recommend looking at new ECCC reports, at least glancing at abstracts, and perhaps reading more if they look interesting.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another resource you can use is Oded Goldreich's list of ``Papers I find interesting'' or something like that, off his homepage.  He gives a summary and discussion of stuff he likes.  The additions are irregular, and seem to average one or two a month.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;You are also welcome to come to talks at IAS any time.  I could add you to the mailing list if you are not already on it....&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Russell Impagliazzo&lt;/p&gt;&#xA;" OwnerUserId="332" LastActivityDate="2011-01-05T14:18:47.277" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4112" PostTypeId="2" ParentId="3064" CreationDate="2011-01-05T14:38:05.007" Score="-1" Body="&lt;p&gt;It could be interesting to point out that if GI is not in coNP then P ≠ NP. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;1)If GI is not in coNp then GI ≠ NGI&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2)If GI ≠ NGI then GI ≠ P&lt;/p&gt;&#xA;&#xA;&lt;p&gt;3)If GI ≠ P then P ≠ NP&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As a corollary of the upon propositions we have: if GI is not in coNP then P ≠ NP.&#xA;The same holds if NGI is not in NP.&lt;/p&gt;&#xA;" OwnerUserId="3080" LastActivityDate="2011-01-05T14:38:05.007" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4113" PostTypeId="2" ParentId="4110" CreationDate="2011-01-05T14:39:03.263" Score="1" Body="&lt;p&gt;This is the partition problem, &lt;a href=&quot;http://en.wikipedia.org/wiki/Partition_problem&quot; rel=&quot;nofollow&quot;&gt;here's a starting point&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="775" LastActivityDate="2011-01-05T14:39:03.263" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="4115" PostTypeId="2" ParentId="1168" CreationDate="2011-01-05T16:05:36.363" Score="8" Body="&lt;p&gt;Shafi Goldwasser, Silvio Micali: &lt;a href=&quot;https://groups.csail.mit.edu/cis/pubs/shafi/1984-jcss.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Probabilistic Encryption&lt;/a&gt;. J. Comput. Syst. Sci. 28(2): 270-299 (1984)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This paper is the theoretical foundations of modern Cryptography. &lt;/p&gt;&#xA;" OwnerUserId="3082" LastEditorUserId="52310" LastEditDate="2019-09-20T15:13:34.900" LastActivityDate="2019-09-20T15:13:34.900" CommentCount="0" CommunityOwnedDate="2011-01-05T16:05:36.363" ContentLicense="CC BY-SA 4.0" />
  <row Id="4116" PostTypeId="2" ParentId="1168" CreationDate="2011-01-05T16:08:58.120" Score="14" Body="&lt;p&gt;Ronald L. Rivest, Adi Shamir, Leonard M. Adleman: &lt;a href=&quot;https://people.csail.mit.edu/rivest/Rsapaper.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;A Method for Obtaining Digital Signatures and Public-Key Cryptosystems&lt;/a&gt;. Commun. ACM (CACM) 21(2):120-126 (1978)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If your are interested in Crypto/Security, this is a very nice reading.&lt;/p&gt;&#xA;" OwnerUserId="3082" LastEditorUserId="52310" LastEditDate="2019-09-20T15:13:21.580" LastActivityDate="2019-09-20T15:13:21.580" CommentCount="0" CommunityOwnedDate="2011-01-05T16:08:58.120" ContentLicense="CC BY-SA 4.0" />
  <row Id="4117" PostTypeId="1" CreationDate="2011-01-05T16:09:52.527" Score="7" ViewCount="2354" Body="&lt;p&gt;I'm a UK student who will soon be going to university and would like some advice from people who have already done this on what course to take. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I really enjoy the theoretical side of computer science, especially the more mathematical concepts. I do enjoy the other area such as algorithm design and programming as a hobby, but I wouldn't really want to be a programmer/tech support/algorithm designer as a job. Those sort of jobs are just not for me. I would prefer a research type job, maybe in quantum computing. I currently' finishing my A-levels in physics and further maths, and I'm expecting A*s in both fields. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Sorry if all this is a bit vague, but I would like some ideas from people about what the best degree is to take to get where I want, and what sort of jobs are out there. Also, if anyone knows what's some universities in UK to study this sort of thing at , I'd very much appreciate the advice.&lt;/p&gt;&#xA;" OwnerDisplayName="Joe Pollard" LastEditorUserId="186" LastEditDate="2011-03-06T11:19:30.907" LastActivityDate="2011-03-06T14:53:18.087" Title="Is a CS degree for me?" Tags="&lt;soft-question&gt;&lt;advice-request&gt;&lt;career&gt;" AnswerCount="5" CommentCount="3" FavoriteCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="4118" PostTypeId="2" ParentId="4117" CreationDate="2011-01-05T16:49:30.293" Score="5" Body="&lt;p&gt;In the UK, some of the universities to study at are Oxford, Cambridge, York and Imperial College London, though this list will vary depending on precisely which topic you are interested in. The group of &lt;a href=&quot;http://www.comlab.ox.ac.uk/people/samson.abramsky/&quot; rel=&quot;nofollow&quot;&gt;Abramsky&lt;/a&gt; at Oxford does research in Quantum Computation, so going there and following courses he offers (and related ones) would certainly help you reach your goal. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It would be a good idea to go through the web sites of the computer science departments of the above mentioned universities and see whether they offer courses (or even a program) that heads in the right direction. Look not only at the descriptions of courses, but also of the personal web pages of the researchers, who will often have some description of their research interests, which may differ from the courses on offer, but will be available to study as you enter later phases of your study.&lt;/p&gt;&#xA;" OwnerUserId="77" LastEditorUserId="186" LastEditDate="2011-03-06T11:21:42.517" LastActivityDate="2011-03-06T11:21:42.517" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="4119" PostTypeId="2" ParentId="3173" CreationDate="2011-01-05T16:56:06.063" Score="6" Body="&lt;p&gt;Minc conjectured and Brégman proved that if $A$ is a 0-1 matrix with $r_i$ 1's in row $i$, then the permanent of $A$ is at most $$\prod_i (r_i!)^{1/r_i}.$$&#xA;There is a short proof in Alon and Spencer's textbook &lt;i&gt;The Probabilistic Method&lt;/i&gt;, but arguably the &quot;book&quot; proof is Jaikumar Radhakrishnan's proof using entropy (&lt;i&gt;J. Combin. Theory Ser. A&lt;/i&gt; &lt;b&gt;77&lt;/b&gt; (1997), 161-164).  It's not at all obvious from the statement of the result that the concept of entropy lies under the surface here.&lt;/p&gt;&#xA;" OwnerUserId="2970" LastActivityDate="2011-01-05T16:56:06.063" CommentCount="0" CommunityOwnedDate="2011-01-05T16:56:06.063" ContentLicense="CC BY-SA 2.5" />
  <row Id="4120" PostTypeId="2" ParentId="4117" CreationDate="2011-01-05T17:14:06.750" Score="3" Body="&lt;p&gt;As a currently enrolled CS major student in the United States, all I can think is &quot;YES! Computer Science is definitely for you!&quot; Your curriculum will definitely differ based on what university you go to, but I felt that my education had a much greater emphasis on the theoretical aspects of CS than the &quot;practical&quot; aspects. Many of my peers despise that, but I don't mind it too much. If research is what you feel like you want to do, then go for it. CS can absolutely be a gateway into quantum computing and similar research fields. Based on what you've stated above, I can only predict that you would excel in this field if you want to.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, the humanitarian in me can only think &quot;NO! Don't do that!&quot; It's not because I don't love my field of choice. I do. But in my humble opinion, college is a time of personal growth and challenge. In my opinion, it's not as much fun to keep doing things you're already good at. When you get to college you're likely to find many, many other subjects that interest you. You may suddenly find yourself more stimulated by something like French Linguistics than Computer Science ever could. If that happens, don't deny yourself the pleasure of doing something you didn't plan to.&lt;/p&gt;&#xA;" OwnerUserId="3084" LastActivityDate="2011-01-05T17:14:06.750" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4121" PostTypeId="1" CreationDate="2011-01-05T18:21:57.907" Score="5" ViewCount="309" Body="&lt;p&gt;I just finished reading the proof that the average height of a random binary of given size $n$ is asymptotically $2\sqrt{\pi n}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm now searching for an intuitive, or geometric, or visual proof of this asymptotic equivalence. In other words, I'm trying to find an intuitive arguments that shows that this number grows like $\sqrt{n}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any ideas?&lt;br&gt;&#xA;Thanks!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note: This is a duplicate of &lt;a href=&quot;https://math.stackexchange.com/questions/16457&quot;&gt;https://math.stackexchange.com/questions/16457&lt;/a&gt; , but I couldn't find how to move it to this website. Sorry!&lt;/p&gt;&#xA;" OwnerUserId="3086" LastEditorUserId="-1" LastEditDate="2017-04-13T12:19:19.363" LastActivityDate="2011-01-07T03:23:09.813" Title="Geometric / Visual explanation that the average height of a random binary tree of given size $n$ is asymptotically $2\sqrt{\pi n}$" Tags="&lt;randomness&gt;&lt;proofs&gt;&lt;tree&gt;&lt;pr.probability&gt;" AnswerCount="0" CommentCount="3" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="4122" PostTypeId="1" CreationDate="2011-01-05T19:56:38.737" Score="20" ViewCount="1150" Body="&lt;p&gt;An important goal of formal methods is to prove the correctness of systems, either by automated or human-directed means. However, it seems that even if you can give a correctness proof, you may NOT be able to guarantee that the system will not fail. For example:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The specification may not model the system correctly, or a production system may be too complicated to model, or the system may be flawed inherently due to contradictory requirements. What techniques are known to test whether a specification makes any sense at all?&lt;/li&gt;&#xA;&lt;li&gt;The proof process may be flawed too! Who knows that those inference rules are correct and legitimate? Furthermore, proofs can be very large, and how do we know that they do not contain errors? This is the heart of the critique in de Millo, Lipton, and Perlis's &quot;Social Processes and Proofs of Theorems and Programs&quot;.  How do modern formal methods researchers respond to this critique?&lt;/li&gt;&#xA;&lt;li&gt;At runtime, there are many nondeterministic events and factors that can seriously affect the system. For example, cosmic rays can alter RAM in unpredictable ways, and more generally we have no guarantees that hardware will not suffer Byzantine faults, which Lamport has proved are very difficult to be robust against. So the correctness of the static system does not guarantee the  system won't fail! Are there any techniques known to account for the fallibility of real hardware?&lt;/li&gt;&#xA;&lt;li&gt;At present, testing is the most important tool we have for establishing that software works. It seems like it should be a complementary tool with formal methods. However, I mostly see research which is either focused on formal methods or testing. What is known about combining the two?&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="3034" LastEditorUserId="186" LastEditDate="2011-01-06T00:52:34.323" LastActivityDate="2011-12-05T10:50:53.290" Title="How can we know that formal methods work?" Tags="&lt;lo.logic&gt;&lt;pl.programming-languages&gt;&lt;formal-systems&gt;&lt;formal-methods&gt;" AnswerCount="7" CommentCount="12" FavoriteCount="6" ContentLicense="CC BY-SA 2.5" />
  <row Id="4123" PostTypeId="2" ParentId="4122" CreationDate="2011-01-05T21:05:39.310" Score="8" Body="&lt;p&gt;Regarding 2: if the system is formalized in a proof assistant (e.g, Twelf or Agda or Coq) and the properties of soundness and completeness are verified, and the proofs are done in this encoding, this is a non-issue. You may have formalized a system that isn't describing &lt;em&gt;what&lt;/em&gt; you intended, but at the least you won't have incorrect proofs or a broken system in which you are reasoning.&lt;/p&gt;&#xA;" OwnerUserId="3068" LastActivityDate="2011-01-05T21:05:39.310" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4124" PostTypeId="2" ParentId="4110" CreationDate="2011-01-05T21:06:07.750" Score="0" Body="&lt;p&gt;I missed one point in the problem statement perhaps - Yes, the weight should be equal. But, we also add this extra constraint that both should have same number of weighted cuts that is - &lt;/p&gt;&#xA;&#xA;&lt;p&gt;consider the given example - 1 1 2 2 3 3 &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then it is necessary for both to have stick parts with weight (1,2 and 3) in the end. Weight will automatically be the same. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;@Oleksandr - Your algorithm is suboptimal. Let's just consider the example give by Suresh - 2 2 2 2 2 2 4 4 4 4 2 2. Here the greedy algorithm will give 3 cuts , at 4,8, and 10. But it is not optimal. We can solve it in two cuts, one at 2 and other at 8.&lt;/p&gt;&#xA;" OwnerDisplayName="Prof. Cees Duke" LastActivityDate="2011-01-05T21:06:07.750" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="4126" PostTypeId="1" CreationDate="2011-01-05T21:19:30.543" Score="18" ViewCount="970" Body="&lt;p&gt;I'm reading Simon Peyton Jones's &lt;a href=&quot;http://research.microsoft.com/en-us/um/people/simonpj/papers/slpj-book-1987/&quot;&gt;&lt;em&gt;The Implementation of Functional Programming Languages&lt;/em&gt;&lt;/a&gt; and there's one statement that surprised me a little bit (on page 39):&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;To a much greater extent than is the&#xA;  case for imperative languages,&#xA;  functional languages are largely&#xA;  syntactic variations of one another,&#xA;  with relatively few semantic&#xA;  differences.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Now, this was written in 1987 and my thoughts on this subject might be influenced by more modern programming languages that weren't around or popular then.  However, I find this a bit hard to believe.  For instance, I think that the described Miranda programming language (an early predecessor to Haskell) has much more different semantics compared to a strict language like ML than say C has to Pascal or maybe even C has to smalltalk (although I'll cede that C++ provides some validation of his point :-).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But then again, I'm basing this on my intuitive understanding.  Is Simon Peyton Jones largely correct in saying this, or is this a controversial point?&lt;/p&gt;&#xA;" OwnerUserId="1770" LastActivityDate="2012-03-05T11:53:29.113" Title="How are imperative languages more different from each other than functional languages?" Tags="&lt;functional-programming&gt;&lt;semantics&gt;&lt;imperative-programming&gt;" AnswerCount="4" CommentCount="0" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="4127" PostTypeId="2" ParentId="4122" CreationDate="2011-01-05T21:37:03.213" Score="11" Body="&lt;p&gt;Regarding 4: There's plenty of work combining formal methods and testing. Googling &quot;formal methods testing&quot; reveals quite a large amount of work. Although there are many different goals of such work, one of the key goals is to generate more effective test suites. This &lt;a href=&quot;http://www.csl.sri.com/users/rushby/slides/efftestgen.pdf&quot;&gt;talk&lt;/a&gt; gives a nice introduction, based on model checking.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also regarding the issue &lt;em&gt;software security&lt;/em&gt;, which has been edited out of the question: formal methods need to work harder to deliver in that realm. Typically one writes a specification for a piece of software and verifies that the specification is satisfied, namely, that when the input satisfies the precondition that the output satisfies the postcondition. To ensure secure software one also needs to check also that the software behaves sensibly for input that does not satisfy the precondition. (This is of course equivalent to setting the precondition to true for all input.) The space of all inputs is typically much larger than just well-formed input, but typically this is one place where even functionally correct software can be violated, simply by violating its assumptions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Regarding point 3: Some work has been done for verifying systems in settings where faults are explicitly modelled, including &lt;a href=&quot;http://www.cs.princeton.edu/~dpw/papers/faultylogic_esop2010.pdf&quot;&gt;Faulty Logic:  Reasoning About Fault-tolerant Programs.&lt;/a&gt; Matthew Meola and David Walker. European Symposium on Programming, 2010. Work on probabilistic model checking and probabilistic verification certainly both also address the issue of faults to some degree.&lt;/p&gt;&#xA;" OwnerUserId="77" LastEditorUserId="77" LastEditDate="2011-01-06T10:39:25.800" LastActivityDate="2011-01-06T10:39:25.800" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4128" PostTypeId="2" ParentId="4126" CreationDate="2011-01-05T22:17:12.477" Score="19" Body="&lt;p&gt;Simon is basically correct, from an extensional point of view. We know pretty well what the semantics of modern functional languages are, and they really are relatively small variations of one another -- they each represent slightly different translations into a monadic metalanguage. Even a language like Scheme (a dynamically typed higher-order imperative language with first-class control) has a semantics which is pretty close to ML and Haskell's. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;From a denotational point of view, you can start by giving a pretty simple domain equation for the semantics of Scheme -- call it $V$. People could and did solve equations like this in the late 70s/early 80s, so this isn't too bad. Similarly, there are relatively simple operational semantics for Scheme as well. (Note that when I say &quot;Scheme&quot;, I mean untyped lambda calculus plus continuations plus state, as opposed to actual Scheme which has a few warts like all real languages do.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But to get to a category suitable for interpreting modern typed functional languages, things get quite scary. Basically, you end up constructing an ultrametric-enriched category of partial equivalence relations over this domain. (As an example, see Birkedal, Stovring, and Thamsborg's &quot;Realizability Semantics of Parametric Polymorphism, General References, and Recursive Types&quot;.) People who prefer operational semantics know this stuff as step-indexed logical relations. (For example, see Ahmed, Dreyer and Rossberg's &quot;State-Dependent Representation Independence&quot;.) Either way, the techniques used are relatively new. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The reason for this mathematical complexity is that we need to be able to interpret parametric polymorphism and higher-order state at the same time. But once you've done this, you're basically home free, since this construction contains all the hard bits. Now, you can interpret ML and Haskell types via the usual monadic translations. ML's strict, effectful function space &lt;code&gt;a -&amp;gt; b&lt;/code&gt; translates to $\left&amp;lt;a\right&amp;gt; \to T\left&amp;lt;b\right&amp;gt;$, and Haskell's lazy function space translates to $\left&amp;lt;a\right&amp;gt; \to \left&amp;lt;b\right&amp;gt;$, with $T(A)$ the monadic type of side effects interpreting the IO monad of Haskell, and $\left&amp;lt;a\right&amp;gt;$ is the interpretation of  the type ML or Haskell type &lt;code&gt;a&lt;/code&gt;, and $\to$ is the exponential in that category of PERs. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;So as far as the equational theory goes, since these languages can both be described by translations into slightly different subsets of the same language, it is entirely fair to call them syntactic variations of one another. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The difference in feel between ML and Haskell actually arises from the intensional properties of the two languages -- that is, execution time and memory consumption. ML has a compositional performance model (i.e., the time/space cost of a program can be computed from the time/space costs of its subterms), as would a true call-by-name language. Actual Haskell is implemented with call-by-need, a kind of memoization, and as a result its performance is not compositional -- how long an expression bound to a variable takes to evaluate depends on whether it has been used before or not. This is not modelled in the semantics I alluded to above. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you want to take the intensional properties more seriously, then ML and Haskell do start to show more serious differences. It is still probably possible to devise a common metalanguage for them, but the interpretation of types will differ in a much more systematic way, related to the proof-theoretic idea of &lt;em&gt;focusing&lt;/em&gt;. One good place to learn about this is Noam Zeilberger's PhD thesis. &lt;/p&gt;&#xA;" OwnerUserId="657" LastActivityDate="2011-01-05T22:17:12.477" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4129" PostTypeId="2" ParentId="4126" CreationDate="2011-01-05T22:25:32.757" Score="5" Body="&lt;p&gt;I think SPJ is correct in saying this for core semantics.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;While there are many advanced subtleties one can point to, such as defaulting to strict or lazy evaluation, as you mention, the details of type systems or how larger units of code are organized (modules, structures), the mental model of a program is very similar across functional languages.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Choose some particular specified function and write it in all the languages your are comparing, and you will likely find that the structure and semantics of the different implementations will be very similar for all of them, including level of abstraction, data structures chosen, they'll all assume garbage collection, etc.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the contrary, say a C implementation vs a Smalltalk implementation of the same function will likely have a different structure (functions and low-level data structures vs objects), focus on different levels of detail (for example, manual memory management vs garbage collection), and operate at different levels of abstraction.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The world-view of the functional language design space is simply more specific and coherent than that of the &quot;imperative programming&quot; space which lumps together assembly, C, Smalltalk, Forth, and dozens of other radically different languages into one catchall category.&lt;/p&gt;&#xA;" OwnerUserId="629" LastActivityDate="2011-01-05T22:25:32.757" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4130" PostTypeId="2" ParentId="4126" CreationDate="2011-01-05T22:26:33.757" Score="10" Body="&lt;p&gt;My sense is that SPJ was referring to &lt;em&gt;purely&lt;/em&gt; functional languages -- i.e. languages which are referentially transparent. This includes, e.g., Haskell, Miranda, Clean, but not ML. Once you have a purely functional language, in general, you can give it a fairly clean and well defined denotational semantics. This semantics will, in general, look like one for the lambda calculus, with some tweaks here and there. Generally, you will have a type system which desugars to something resembling a variant of System F -- perhaps more powerful in some regards, more restricted in others. This is why code extraction to/compilation to Haskell, O'Caml, etc. is relatively straightforward from sophisticated dependently-typed proof assistants such as Agda.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Within that framework, there's lots of room for play. Certainly, there is still a difference between a non-strict and a strict language. However, in the absence of side-effects, the only difference is that a non-strict language contains more expressions which do not denote bottom -- insofar as the two evaluation strategies both do not yield bottom, they agree.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Simon's statement also fits in a very important historical context. At the time of the birth of Haskell (1987), there were a panoply of non-strict functional languages -- not only Miranda, but Lazy ML, Orwell, Clean, and many others. Aside from certain syntactic variations, they all were very much the same language. Which was precisely the motivation for the Haskell Committee to form. For more on this, see &quot;A History of Haskell: being lazy with class&quot;: &lt;a href=&quot;http://research.microsoft.com/en-us/um/people/simonpj/papers/history-of-haskell/&quot;&gt;http://research.microsoft.com/en-us/um/people/simonpj/papers/history-of-haskell/&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="351" LastActivityDate="2011-01-05T22:26:33.757" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4131" PostTypeId="1" AcceptedAnswerId="4139" CreationDate="2011-01-05T22:37:38.603" Score="27" ViewCount="3475" Body="&lt;p&gt;I was reading &lt;a href=&quot;https://cstheory.stackexchange.com/questions/1562/why-go-to-theoretical-computer-science-research/1582#1582&quot;&gt;this&lt;/a&gt;. It says&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;... You won't find yourself as starving for funding like Pure Mathematics. (You'll still always find yourself starving for funding.)...&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;strike&gt;Why do pure mathematicians need funding?(Ooops its mathoverflow  question)&lt;/strike&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Why would someone doing theoretical research need funding?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think tools of trade are papers, pencils, a laptop with good internet connection and a printer(?). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Please enlighten me! :-)&lt;/p&gt;&#xA;" OwnerUserId="612" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.743" LastActivityDate="2020-05-26T20:22:06.703" Title="Why would a TCS researcher need funding?" Tags="&lt;soft-question&gt;&lt;career&gt;" AnswerCount="7" CommentCount="0" FavoriteCount="11" ContentLicense="CC BY-SA 2.5" />
  <row Id="4132" PostTypeId="1" AcceptedAnswerId="4137" CreationDate="2011-01-05T22:42:16.710" Score="7" ViewCount="418" Body="&lt;p&gt;See &lt;a href=&quot;https://cstheory.stackexchange.com/questions/200/translating-sat-to-hornsat&quot;&gt;Translating SAT to HornSAT&lt;/a&gt; &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It says in that post that it is impossible to translate SAT into HORNSAT. But it is known that HORNSAT is P-complete, so any language in P can be translated into HORNSAT. Then if it is impossible to translate SAT, which is in NP, into HORNSAT, then wouldn't this imply that P is not NP? What am I missing? &lt;/p&gt;&#xA;" OwnerUserId="3091" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.743" LastActivityDate="2011-01-05T23:02:51.287" Title="Translating HORNSAT to SAT, revisited" Tags="&lt;cc.complexity-theory&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="4133" PostTypeId="2" ParentId="4122" CreationDate="2011-01-05T22:44:02.623" Score="9" Body="&lt;p&gt;Your points in order: &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The correctness of all specifications are ultimately subjective: they are perceived to solve a problem correctly according to their users or they don't.  There is no getting away from this is software development, and no method has the silver bullet for this one.&lt;/li&gt;&#xA;&lt;li&gt;A lot of work goes into proving that the process is correct with respect to its assumptions.  Usually there is information available for experts to validate these rules.  Any human activity is subject to error but very formalized systems using well-studied approaches are &lt;em&gt;much less&lt;/em&gt; subject to error than almost all other human processes.&lt;/li&gt;&#xA;&lt;li&gt;At some point, any system has a failure mode outside the scope of that system.  You are still better off eliminating all the &lt;em&gt;predictable&lt;/em&gt; sources of error, even if you leave some unpredictable ones unaccounted for.&lt;/li&gt;&#xA;&lt;li&gt;Testing and proving can easily coexist.  Testing is a less specific, more &lt;em&gt;ad hoc&lt;/em&gt; process, so you may find less formal work done on it.  But you may be interested in a tool such as &lt;a href=&quot;http://en.wikipedia.org/wiki/QuickCheck&quot;&gt;QuickCheck&lt;/a&gt; that supplements with tests the proofs offered by the Haskell type system.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="629" LastActivityDate="2011-01-05T22:44:02.623" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4134" PostTypeId="2" ParentId="4131" CreationDate="2011-01-05T22:45:13.120" Score="8" Body="&lt;p&gt;To pay your own salary (and the travel costs of some conference trips).&lt;/p&gt;&#xA;" OwnerUserId="74" LastActivityDate="2011-01-05T22:45:13.120" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="4135" PostTypeId="2" ParentId="4131" CreationDate="2011-01-05T22:58:28.870" Score="16" Body="&lt;p&gt;&lt;strong&gt;[Adding to &lt;a href=&quot;https://cstheory.stackexchange.com/questions/4131/why-would-a-tcs-researcher-need-funding/4134#4134&quot;&gt;Jukka's answer&lt;/a&gt;]&lt;/strong&gt; You need to somehow support your life. If your family isn't paying your costs (which is the case for all students in our research lab), you need to somehow earn a living. Either you have to work (which usually prevents one from concentrating on research), or you use the funds.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;A friend of mine was once asked to promise not to work during his graduate studies. &quot;I can't eat papers when I'm hungry,&quot; he replied! ;)&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="873" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2011-01-05T22:58:28.870" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4136" PostTypeId="2" ParentId="4131" CreationDate="2011-01-05T23:01:58.777" Score="18" Body="&lt;p&gt;To hire graduate students! In addition to paying for your own salary, travel, guests you'd like to have visit the university, and so on.&lt;/p&gt;&#xA;" OwnerUserId="3068" LastActivityDate="2011-01-05T23:01:58.777" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4137" PostTypeId="2" ParentId="4132" CreationDate="2011-01-05T23:02:51.287" Score="8" Body="&lt;p&gt;That question was about a translation from an arbitrary instance of SAT to a HORN-SAT instance with the exact same satisfying assignments. The translation property needed for P$\neq$NP is just equisatisfiability, not equality of assignments. That is, it simply requires them both to be satisfiable, or unsatisfiable. If satisfiable, they may be satisfied by different assignments.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example: &#xA;$a \wedge \neg b$ and $\neg a \wedge b$ are equisatisfiable (they are both satisfiable), but they have different satisfying assignments.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The answer was that there can not be a satisfying assignment preserving translation, but this doesn't tell us whether there is a polynomial time satisfiability preserving translation.&lt;/p&gt;&#xA;" OwnerUserId="319" LastActivityDate="2011-01-05T23:02:51.287" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="4138" PostTypeId="2" ParentId="4131" CreationDate="2011-01-05T23:18:51.030" Score="9" Body="&lt;p&gt;I have a scholaship, but that only covers the tuition fee and living costs. My university doesn't give me money to go to conferences (registration, hotel, aeroplane tickets), paying for journal access, buy books, etc. Those things require a heck of a lot of money, and research grants give you that. Normally the costs of printer, paper, pencils, etc are covered by the university.&lt;/p&gt;&#xA;" OwnerUserId="135" LastEditorUserId="26876" LastEditDate="2015-09-18T07:38:00.167" LastActivityDate="2015-09-18T07:38:00.167" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="4139" PostTypeId="2" ParentId="4131" CreationDate="2011-01-05T23:20:37.723" Score="67" Body="&lt;p&gt;&lt;em&gt;This is purely US-centric: other countries have different funding models. This is also from the perspective of an academic with a Ph.D, rather than a graduate student&lt;/em&gt; &lt;/p&gt;&#xA;&#xA;&lt;p&gt;As Jamie and Peter point out, the primary purpose of funding is to support graduate students. A secondary purpose is to support yourself during the summer. It's not widely known, but most US-based academics aren't paid for the 3 months of summer, and use grant money as salary for those months (I'll not discuss the limitations of NSF vs DARPA etc etc). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;So you say, &quot;I don't need students, I'll just work with colleagues&quot;. Great ! but then you need money to visit them. Without grant money, you have to wait your turn for whatever meager departmental funds might be available for travel (usually minimal). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;So you then say &quot;Fine ! I'll use skype and email to collaborate&quot;. Great ! but then you need to travel to a conference to give a talk. How do you fund that ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So you say &quot;Fine ! I'll just publish in journals and on the arxiv, and the brilliance of my research will shine through&quot;. Um, yeah....&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you're a junior academic, not getting funding can also affect your ability to retain your job itself. Funding is a major income source for most American universities. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;None of this is ideal. But that's how the system is currently structured, dating back to Vannevar Bush, the founding of the NSF, and the mutation of the university into a research-generating enterprise. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2011-01-05T23:20:37.723" CommentCount="6" ContentLicense="CC BY-SA 2.5" />
  <row Id="4140" PostTypeId="2" ParentId="4110" CreationDate="2011-01-06T00:16:48.260" Score="10" Body="&lt;p&gt;I'm not sure if I understand the problem specification correctly, but the problem looks a special case of the paint shop problem.  In that context, there is an NP-hardness result.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The main reference is: P. Bonsma, Th. Epping, and W. W. Hochstättler, Complexity results on restricted instances of a paint shop problem for words.  Discrete Applied Mathematics 154 (2006) 1335-1343.  &lt;a href=&quot;http://dx.doi.org/10.1016/j.dam.2005.05.033&quot; rel=&quot;nofollow&quot;&gt;http://dx.doi.org/10.1016/j.dam.2005.05.033&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The abstract says as follows.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;We study the following problem: an instance is a word with every letter occurring twice. A solution is a 2-coloring of its letters such that the two occurrences of every letter are colored with different colors. The goal is to minimize the number of color changes between adjacent letters.&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;This is a special case of the paint shop problem for words, which was previously shown to be NP-complete. We show that this special case is also NP-complete and even APX-hard. Furthermore, derive lower bounds for this problem and discuss a transformation into matroid theory enabling us to solve some specific instances within polynomial time.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="2955" LastActivityDate="2011-01-06T00:16:48.260" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4141" PostTypeId="2" ParentId="4081" CreationDate="2011-01-06T01:25:54.587" Score="13" Body="&lt;p&gt;The pathwidth of $P^3_k$ can be determined as a corollary to some known results.&#xA;FitzGerald [2] showed that the bandwidth of $P^3_k$ is $\lfloor \frac{3}{4} k^{2} + \frac{1}{2} k \rfloor$.&#xA;Harper [3] showed a condition such that if a graph satisfies the condition, then its pathwidth and bandwidth are the same.&#xA;Moghadam [4,5] and Bollobás and Leader [1] independently showed that any multi-dimensional grid satisfies Harper's condition.&#xA;These results imply that the pathwidth of $P^3_k$ is also $\lfloor \frac{3}{4} k^{2} + \frac{1}{2}k \rfloor$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In our paper mentioned by Hsien-Chih, we generalized FitzGerald's result as Yoshio explained.&#xA;I believe the treewidth of $P^3_k$ is not known.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;FYI: I've just submitted an &lt;a href=&quot;http://arxiv.org/abs/1101.0964&quot;&gt;English version&lt;/a&gt; of our paper to arXiv.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;B. Bollobás and I. Leader, Compressions and isoperimetric inequalities, J. Combin. Theory Ser. A 56 (1991) 47-62.&lt;/li&gt;&#xA;&lt;li&gt;C.H. FitzGerald, Optimal indexing of the vertices of graphs, Math. Comp. 28 (1974), 825-831.&lt;/li&gt;&#xA;&lt;li&gt;L.H. Harper, Optimal numberings and isoperimetric problems on graphs, J. Combin. Theory 1 (1966) 385-393.&lt;/li&gt;&#xA;&lt;li&gt;H.S. Moghadam, Compression operators and a solution to the bandwidth problem of the product of $n$ paths, Ph.D. thesis, University of California, Riverside (1983).&lt;/li&gt;&#xA;&lt;li&gt;H.S. Moghadam, Bandwidth of the product of $n$ paths, Congr. Numer. 173 (2005) 3-15.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="481" LastActivityDate="2011-01-06T01:25:54.587" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="4144" PostTypeId="2" ParentId="1112" CreationDate="2011-01-06T06:13:07.783" Score="10" Body="&lt;p&gt;This was too long to be a comment -- I wonder if those matrices have structure that make them behave differently from random matrices. Products of random sparse matrices go to zero or become non-sparse quickly.&lt;/p&gt;&#xA;&lt;p&gt;Here's a simple experiment -- take 200 random binary 50x50 matrices, and plot number of non-zeros as a function of number of matrices multiplied. Plots below show standard deviation over 2000 runs. First plot is for 2% sparsity, second plot is for 3%&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&quot;https://i.stack.imgur.com/2nzlp.png&quot; rel=&quot;noreferrer&quot;&gt;&lt;img src=&quot;https://i.stack.imgur.com/2nzlp.png&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&#xA;&lt;sub&gt;(source: &lt;a href=&quot;http://yaroslavvb.com/upload/save/sparse2.png&quot; rel=&quot;noreferrer&quot;&gt;yaroslavvb.com&lt;/a&gt;)&lt;/sub&gt;&lt;br /&gt;&#xA;&lt;a href=&quot;https://i.stack.imgur.com/xCMQ8.png&quot; rel=&quot;noreferrer&quot;&gt;&lt;img src=&quot;https://i.stack.imgur.com/xCMQ8.png&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&#xA;&lt;sub&gt;(source: &lt;a href=&quot;http://yaroslavvb.com/upload/save/sparse3.png&quot; rel=&quot;noreferrer&quot;&gt;yaroslavvb.com&lt;/a&gt;)&lt;/sub&gt;&lt;/p&gt;&#xA;&lt;p&gt;this took 3 minutes on my laptop &lt;a href=&quot;http://yaroslavvb.com/upload/save/sparse-matrices.nb&quot; rel=&quot;noreferrer&quot;&gt;using&lt;/a&gt; standard matrix multiplication&lt;/p&gt;&#xA;" OwnerUserId="434" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2019-02-21T09:09:54.487" CommentCount="0" ContentLicense="CC BY-SA 4.0" />
  <row Id="4145" PostTypeId="1" CreationDate="2011-01-06T07:39:44.833" Score="16" ViewCount="886" Body="&lt;p&gt;Given two AVL trees $T_1$ and $T_2$ and a value $t_r$ such that $\forall x \in T_1, \forall y \in T_2, x &amp;lt; t_r &amp;lt; y$, it is easy to construct a new AVL tree containing $t_r$ and the values in $T_1$ and $T_2$ in time $O(1+|h(T_1) - h(T_2)|)$, where $h(T)$ denotes the height of a tree $T$ (as long as trees store their height).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is also possible for red-black trees, and I assume many other kinds of balanced trees as well.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is this possible for treaps or treap-like data structures? What if we leave out $t_r$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://acs.lbl.gov/~aragon/treaps.html&quot; rel=&quot;nofollow&quot;&gt;The treaps paper in Algorithmica&lt;/a&gt; shows how to do this in $O(\min(h(T_1),h(T_2)))$ expected time. If there is a way to perform O(1) expected join on treaps (or treap-like data structures) with roughly the same size (or root priority), I think it might be possible to use &lt;a href=&quot;http://www.math.tau.ac.il/~haimk/papers/loglog23.ps&quot; rel=&quot;nofollow&quot;&gt;a trick of Kaplan &amp;amp; Tarjan&lt;/a&gt; of bootstrapping the spines in order to make treaps (or treap-like data structures) with doubly-logarithmic join.&lt;/p&gt;&#xA;" OwnerUserId="43" LastEditorUserId="43" LastEditDate="2011-01-14T03:34:15.120" LastActivityDate="2011-01-14T03:34:15.120" Title="Faster join of treap-like data structures with approximately the same size" Tags="&lt;ds.data-structures&gt;&lt;randomized-algorithms&gt;" AnswerCount="2" CommentCount="5" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="4146" PostTypeId="2" ParentId="4122" CreationDate="2011-01-06T08:16:00.237" Score="5" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;What techniques are known to test&#xA;  whether a specification makes any&#xA;  sense at all?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;It is definitely a judgement call. In software engineering, people have designed very strict methodology to find/write/confirm the specifications. This is done by real humans and using a non formal (in the sense non mathematical process), so it is still subject to inconsistency, but at the end of the day, it corresponds to what people want to verify, no more no less. &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Are there any techniques known to&#xA;  account for the fallibility of real&#xA;  hardware?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Sure, there is a field of verification known as &lt;a href=&quot;http://en.wikipedia.org/wiki/Runtime_verification&quot;&gt;runtime verification&lt;/a&gt;, you can also use execution based model checking on the real system running on a totally virtual environment subject to specific scenario (I contributed myself to this with &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=1531774&quot;&gt;V-DS&lt;/a&gt; + &lt;a href=&quot;http://www.computer.org/portal/web/csdl/doi/10.1109/QEST.2006.5&quot;&gt;APMC&lt;/a&gt;). However, this is clearly a major problem to add the interaction between the system and the environment into the verification process.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;However, I mostly see research which&#xA;  is either focused on formal methods or&#xA;  testing. What is known about combining&#xA;  the two?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Wow, today I will be totally shameless and cite myself again. With coauthors we work on combining model checking and testing, you can look at &lt;a href=&quot;http://www.lri.fr/~oudinet/en/research.html#publications&quot;&gt;the publication list of a former PhD student of our group&lt;/a&gt; or search for &quot;approximate probabilistic model checking&quot; or &quot;statistical model checking&quot; in any good search engine (work done by Younes et al., Sen et al. or myself et al. and many others). &lt;/p&gt;&#xA;" OwnerUserId="76" LastActivityDate="2011-01-06T08:16:00.237" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="4147" PostTypeId="2" ParentId="4122" CreationDate="2011-01-06T09:28:21.260" Score="6" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;However, it seems that even if you can give a correctness proof, you may NOT be able to guarantee that the system will not fail.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://lesswrong.com/lw/mp/0_and_1_are_not_probabilities/&quot;&gt;Yes, perhaps there are no guarantees&lt;/a&gt;. Formal methods are meant to find and eliminate errors and to convince humans.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What techniques are known to test whether a specification makes any sense at all?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;You might be interested in &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=1273931&quot;&gt;model checking tools for specifications of formal systems&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;The proof process may be flawed too! Who knows that those inference rules are correct and legitimate?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I think (because of Goedel's incompleteness theorem) showing a system of inference rules is consistent necessarily appeals to an even more powerful set of inference rules.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Furthermore, proofs can be very large, and how do we know that they do not contain errors?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Hopefully, huge proofs are checked by a small proof checker that can be read and understood by humans in a reasonable amount of time. This is sometimes called the &quot;de Bruijn criterion&quot;. If you believe that the proof checker will not certify an incorrect proof, you need only check the checker.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Are there any techniques known to account for the fallibility of real hardware?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;How about &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=1250741&quot;&gt;Fault tolerant typed assembly language&lt;/a&gt;?&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;However, I mostly see research which is either focused on formal methods or testing. What is known about combining the two?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.tap2011.informatik.uni-bremen.de/&quot;&gt;&quot;The TAP conference is devoted to the convergence of proofs and tests&quot;&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Just googling for &quot;proofs and tests&quot; has several good hits above the fold.&lt;/p&gt;&#xA;" OwnerUserId="43" LastActivityDate="2011-01-06T09:28:21.260" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4148" PostTypeId="1" CreationDate="2011-01-06T12:11:11.470" Score="10" ViewCount="417" Body="&lt;p&gt;I have the following typed theory&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;|- 1_X : X -&amp;gt; X&#xA;f : A -&amp;gt; B, g : B -&amp;gt; C |- compose(g,f) : A -&amp;gt; C&#xA;F, f : A -&amp;gt; B |- apply(F,f) : F(A) -&amp;gt; F(B)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;with equations for all terms:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;f : A -&amp;gt; B, g : B -&amp;gt; C, h : C -&amp;gt; D |- compose(h,compose(f,g)) = compose(compose(h,f),g)&#xA;f : A -&amp;gt; B |- compose(f,1_A) = f&#xA;f : A -&amp;gt; B |- compose(1_B,f) = f&#xA;F |- apply(F,1_X) = 1_F(X)&#xA;f, f : A -&amp;gt; B, g : B -&amp;gt; C |- apply(F,compose(g,f)) = compose(apply(F,g),apply(F,f))&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;I am looking for a semi-decision procedure that will be able to prove equations in this theory given a set of hypothetical equations. It is also not clear whether a complete decision procedure exists or not: &lt;strike&gt;There doesn't seem to be any way to encode the word problem for groups into it.&lt;/strike&gt; Neel Krishnaswami showed how to encode the word problem into this, so the general problem is undecidable. The associativity and identity subtheory can easily be decided using a monoid model of the theory, while the full problem is harder than congruence closure. Any references or pointers would be most welcome!&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Here is an explicit example of something we would hope to be able to automatically proved:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;f : X -&amp;gt; Y, F, G,&#xA;a : F(X) -&amp;gt; G(X), b : G(X) -&amp;gt; F(X),&#xA;c : F(Y) -&amp;gt; G(Y), d : G(Y) -&amp;gt; F(Y),&#xA;compose(a,b) = 1_F(X), compose(b,a) = 1_G(X),&#xA;compose(c,d) = 1_F(Y), compose(d,c) = 1_G(Y),&#xA;compose(c,apply(F,f)) = compose(apply(G,f),a)&#xA;|- compose(d,apply(G,f)) = compose(apply(F,f),b)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;" OwnerUserId="3100" LastEditorUserId="186" LastEditDate="2011-01-07T01:17:45.897" LastActivityDate="2011-01-07T01:17:45.897" Title="Are there semi-decision procedures for this theory?" Tags="&lt;lo.logic&gt;&lt;pl.programming-languages&gt;&lt;type-theory&gt;&lt;ct.category-theory&gt;&lt;automated-theorem-proving&gt;" AnswerCount="2" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4149" PostTypeId="2" ParentId="4148" CreationDate="2011-01-06T13:33:27.180" Score="7" Body="&lt;p&gt;It looks to me that you can encode the word problem for groups within the theory of categories in the following way. Pick an object $X$, and then for each generator of the group introduce two morphisms $x,x&amp;#39; : X \to X$, and assume the equalities $x \circ x&amp;#39; = 1_X$ and $x&amp;#39; \circ x = 1_X$. Then you can define the unit to be the identity map, the composition to be the group multiplication, and the negation of a string $x\circ y\circ z$ to be the reverse primed string $z&amp;#39; \circ y&amp;#39; \circ x&amp;#39;$. Hence this problem is undecidable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, the word problem is solvable for many specific groups, so if you have more details about the problem this may help. In particular, one idea from the theory of groups which might help you a lot is that absolute presentations of finitely generated groups are solvable -- the inequations can prune the search space enough to make the theory decidable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT: One additional thought I had is that adding irrelations might still be a useful tool for you, even if the concrete models you're interested validate the equations. This is because in categorical situations you often only want &quot;nice&quot; equations, for some value of nice, and you can use the inequations to rule out solutions that are too evil for you. Your decision procedure might still be incomplete, but you might get a more natural characterization of the solutions it can find than &quot;we search possible proof-trees to a depth of 7&quot;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Good luck; that functor thing you're doing looks pretty cool!&lt;/p&gt;&#xA;" OwnerUserId="657" LastEditorUserId="657" LastEditDate="2011-01-06T16:00:17.997" LastActivityDate="2011-01-06T16:00:17.997" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4150" PostTypeId="1" AcceptedAnswerId="4251" CreationDate="2011-01-06T13:39:34.853" Score="8" ViewCount="290" Body="&lt;p&gt;I am looking for work on computing the transitive closure&#xA;of an affine relation in the following sense:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $R(x_1,\dots,x_n,x&amp;#39;_1,\dots,x&amp;#39;_n)$&#xA;be the relation defined by a system of linear inequalities over real variables&#xA;$x_1,\dots,x_n,x&amp;#39;_1,\dots,x&amp;#39;_n$,&#xA;i.e.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$R(x_1,\dots,x_n,x&amp;#39;_1,\dots,x&amp;#39;_n)$ iff&#xA;$A x_1\dots x_n x&amp;#39;_1\dots x&amp;#39;_n \leq b$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where $A$ is an $m\times 2n$ matrix and $b$ an $m$-vector.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am looking for a symbolic representation of $R^k$,&#xA;where&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$R^k(x_1,\dots,x_n,x&amp;#39;_1,\dots,x&amp;#39;_n)$ iff&#xA;there exists $y_1,\dots,y_n$ such that&#xA;$R^{k-1}(x_1,\dots,x_n,y_1,\dots,y_n)$&#xA;and&#xA;$R(y_1,\dots,y_n,x&amp;#39;_1,\dots,x&amp;#39;_n)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As a very simple example, consider&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$R(x,x&amp;#39;)$ iff $x&amp;#39;\leq x+1$ and $x&amp;#39;\geq \frac{1}{2} x$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In this case, $R^k(x,x&amp;#39;)$ iff $x&amp;#39;\leq x+k$ and $x&amp;#39;\geq \frac{1}{2^k} x$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is an easy special case where all constraints are equalities:&#xA;then we can apply Gauss elimination to find the affine transformation&#xA;that maps the $x_i$ to the (dependent) $x&amp;#39;_j$ and compute its $k$th power.&#xA;But of course in general, $R$ will not be functional.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem also seems to be easier when $R$ describes &lt;strike&gt;an open polytope&lt;/strike&gt;  a convex cone, but I can not assume this.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit: I'm looking for a parametric form independent of the concrete value of $k$ (as in the toy example). For a given value of $k$, a representation of $R^k$ can always be obtained from $R^{k-1}$ and $R$ by variable elimination.&lt;/p&gt;&#xA;" OwnerUserId="3102" LastEditorUserId="1800" LastEditDate="2011-01-07T03:21:26.677" LastActivityDate="2011-01-11T12:54:27.033" Title="Transitive closure of an affine relation" Tags="&lt;ds.algorithms&gt;&lt;linear-algebra&gt;&lt;matrices&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4151" PostTypeId="2" ParentId="4109" CreationDate="2011-01-06T15:28:49.953" Score="6" Body="&lt;p&gt;There is only one instance for each size n. Thus, the problem is clearly in P/poly, and cannot possibly be #P-complete unless the polynomial hierarchy collapses.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In fact, it is polynomial-time computable. You can compute the first few terms of the sequence, and find that it goes 2, 6, 24, 160 ... . You can then look at the online encyclopedia of integer sequences and &lt;a href=&quot;http://oeis.org/A038205&quot;&gt;find it&lt;/a&gt;. When you look at the page for this sequence, you find a polynomial-time formula for computing it. &lt;/p&gt;&#xA;" OwnerUserId="1677" LastActivityDate="2011-01-06T15:28:49.953" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4153" PostTypeId="2" ParentId="4148" CreationDate="2011-01-06T17:11:24.210" Score="6" Body="&lt;p&gt;One reference: &lt;a href=&quot;http://www.cs.cornell.edu/~kozen/papers/06ijcar-categories.pdf&quot; rel=&quot;nofollow&quot;&gt;Automating Proofs in Category Theory&lt;/a&gt; by Dexter Kozen, Christoph Kreitz, and Eva Richter.&lt;/p&gt;&#xA;" OwnerUserId="674" LastActivityDate="2011-01-06T17:11:24.210" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4154" PostTypeId="1" AcceptedAnswerId="4197" CreationDate="2011-01-06T17:56:43.813" Score="9" ViewCount="1533" Body="&lt;p&gt;I had hard time finding algorithm or published papers on Self intersecting polygon(also polygon with hole structure) triangulation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can any one guide me to find published paper/algorithm, please?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;PS: someone tag this question appropriately please, I do not have enough reputation points to do it.&lt;/p&gt;&#xA;" OwnerUserId="2779" LastEditorUserId="80" LastEditDate="2011-01-06T18:06:05.157" LastActivityDate="2012-02-11T08:10:49.607" Title="Algorithms for Polygon triangulation" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;cg.comp-geom&gt;" AnswerCount="3" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4155" PostTypeId="2" ParentId="4154" CreationDate="2011-01-06T18:13:59.300" Score="7" Body="&lt;p&gt;Have you considered &lt;a href=&quot;http://www.cs.princeton.edu/courses/archive/fall05/cos528/handouts/A%20Simple%20and%20fast.pdf&quot; rel=&quot;nofollow&quot;&gt;Seidel's algorithm&lt;/a&gt; ? &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2011-01-06T18:13:59.300" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4156" PostTypeId="1" AcceptedAnswerId="4159" CreationDate="2011-01-06T22:36:20.030" Score="1" ViewCount="517" Body="&lt;p&gt;I am writing on software that has to create matches between teams of bridge players. Each round a new series of matches is calculated. The algorithm has to meet these two criteria:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Each round every teams must meet a team against which it has not played before.&lt;/li&gt;&#xA;&lt;li&gt;The teams that play against each other should have as close a total score as possible.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;This method is known as &quot;Swiss teams&quot;. Can someone point me in the right direction?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Read some more about the &lt;a href=&quot;http://en.wikipedia.org/wiki/Swiss-system_tournament&quot; rel=&quot;nofollow&quot;&gt;Swiss-tournament system&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="3107" LastActivityDate="2011-12-04T08:10:30.677" Title="Algorithm for &quot;Swiss teams&quot; (bridge)" Tags="&lt;ds.algorithms&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4157" PostTypeId="2" ParentId="4156" CreationDate="2011-01-06T22:53:31.960" Score="1" Body="&lt;p&gt;Maybe I’m totally wrong (the Wikipedia article suggests it), but to me this seems like a rather simple graph problem. The parties are the vertices in a graph, an edge’s weight is the difference in total score between the parties corresponding to the adjacent vertices. You start with a complete graph $G$ and search for a perfect (if the number of parties is even) minimum matching $M,$ then remove all edges in $M$ from $G,$ and search for another perfect minimum matching. Repeat these last two steps as often as necessary. Maybe the &lt;a href=&quot;http://en.wikipedia.org/wiki/Matching_%28graph_theory%29&quot; rel=&quot;nofollow&quot;&gt;Wikipedia article on matchings&lt;/a&gt; helps.&lt;/p&gt;&#xA;" OwnerUserId="2701" LastEditorUserId="2701" LastEditDate="2011-01-07T08:53:38.163" LastActivityDate="2011-01-07T08:53:38.163" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4159" PostTypeId="2" ParentId="4156" CreationDate="2011-01-07T03:20:35.000" Score="2" Body="&lt;p&gt;Specifically this looks like the &lt;a href=&quot;http://en.wikipedia.org/wiki/Stable_roommates_problem&quot; rel=&quot;nofollow&quot;&gt;Stable Roommate Problem&lt;/a&gt; (SRP). Alternate the order of preference based on position in a list sorted by distance from the total score. I.E., imagine a list with the following scores:  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;1, 3, 18, 19, 20, 21.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then the preference list would be:  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;1: 3, 18, 19, 20, 21&lt;br&gt;&#xA;3: 1, 18, 19, 20, 21&lt;br&gt;&#xA;18: 19, 20, 21, 3, 1&lt;br&gt;&#xA;19: 18, 20, 21, 3, 1&lt;br&gt;&#xA;20: 19, 21, 18, 3, 1&lt;br&gt;&#xA;21: 20, 19, 18, 3, 1&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For more accuracy use the &lt;a href=&quot;http://eprints.gla.ac.uk/11/1/SRT.pdf&quot; rel=&quot;nofollow&quot;&gt;Stable Roommate With Ties&lt;/a&gt; (SRT) algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The way Swiss Teams differs from SRP is that not everyone will be listed. That is, if the teams with scores 20 and 18 have played each other already then neither list each other as preferences. It's possible that SRP will still give the correct result but it remains to be verified.&lt;/p&gt;&#xA;" OwnerUserId="2139" LastEditorUserId="2139" LastEditDate="2011-01-09T07:01:34.903" LastActivityDate="2011-01-09T07:01:34.903" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="4160" PostTypeId="1" CreationDate="2011-01-07T03:38:10.203" Score="5" ViewCount="136" Body="&lt;p&gt;Is there a tractable way to define an approximate distribution over small vertex separators of the graph? I'm looking for something along the lines of [&lt;a href=&quot;http://arxiv.org/abs/0807.3373&quot; rel=&quot;nofollow&quot;&gt;Bayati,2008&lt;/a&gt;], a way to turn a single &quot;this is a separator&quot; constraint into a product of several constraints that are easier to enforce. Small true separators may be impossible, in which case approximate separators would do (any cycle that goes through approximate separator must have length &gt;k).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Motivation is constructing a message-passing scheme without short feedback loops.&lt;/p&gt;&#xA;" OwnerUserId="434" LastEditorUserId="186" LastEditDate="2011-01-07T05:33:16.053" LastActivityDate="2011-01-07T05:33:16.053" Title="Sampling small separators" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;pr.probability&gt;&lt;statistical-physics&gt;" AnswerCount="0" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4161" PostTypeId="1" AcceptedAnswerId="4163" CreationDate="2011-01-07T06:11:55.817" Score="3" ViewCount="1385" Body="&lt;p&gt;Does it have anything to do with the heap data structure, for example the &lt;a href=&quot;http://en.wikipedia.org/wiki/Buddy_memory_allocation&quot; rel=&quot;nofollow&quot;&gt;Buddy blocks&lt;/a&gt; implementation, or does it only take the literal English meaning of the word (a big pile)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I know heap memory is more practical than theoretical, but there's no Stack Exchange for &quot;Practical Computer Science&quot; yet.&lt;/p&gt;&#xA;" OwnerUserId="3108" LastEditorUserId="1800" LastEditDate="2011-01-07T09:22:46.273" LastActivityDate="2011-01-07T13:04:04.650" Title="Why is the &quot;free store&quot; memory called the &quot;heap&quot;?" Tags="&lt;ds.data-structures&gt;&lt;ho.history-overview&gt;" AnswerCount="1" CommentCount="3" ClosedDate="2011-01-07T16:26:13.460" ContentLicense="CC BY-SA 2.5" />
  <row Id="4163" PostTypeId="2" ParentId="4161" CreationDate="2011-01-07T13:04:04.650" Score="1" Body="&lt;p&gt;I don't think it has anything to do with the data structure.&#xA;It's just the opposite of the &lt;strong&gt;stack&lt;/strong&gt;, which carefully orders its elements and doesn't allow them to be read or written except at the top.&lt;/p&gt;&#xA;" OwnerUserId="3113" LastActivityDate="2011-01-07T13:04:04.650" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4165" PostTypeId="1" AcceptedAnswerId="4168" CreationDate="2011-01-07T16:08:00.973" Score="24" ViewCount="6705" Body="&lt;p&gt;Given a huge database of allowed words (alphabetically sorted) and a word, find the word from the database that is closest to the given word in terms of Levenshtein distance.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The naive approach is, of course, to simply compute the levenshtein distance between the given word and all the words in the dictionary (we can do a binary search in the database before actually computing the distances).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I wonder if there is a more efficient solution to this problem. Maybe some heuristic that lets us reduce the number of words to search, or optimizations to the levenshtein distance algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Links to papers on the subject welcome.&lt;/p&gt;&#xA;" OwnerDisplayName="user3116" LastEditorUserId="5385" LastEditDate="2012-05-26T18:58:50.030" LastActivityDate="2018-10-09T19:15:37.940" Title="Computing the Levenshtein distance quickly" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;string-matching&gt;&lt;string-search&gt;" AnswerCount="8" CommentCount="0" FavoriteCount="10" ContentLicense="CC BY-SA 2.5" />
  <row Id="4166" PostTypeId="2" ParentId="4165" CreationDate="2011-01-07T16:23:45.117" Score="2" Body="&lt;p&gt;You can use &lt;a href=&quot;http://norvig.com/spell-correct.html&quot; rel=&quot;nofollow&quot;&gt;Did you mean?&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;And then find the Levenshtein distance between the answer returned by &quot;Did you mean&quot;&quot; and input string using Dynamic Programming.&lt;/p&gt;&#xA;" OwnerUserId="612" LastActivityDate="2011-01-07T16:23:45.117" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="4167" PostTypeId="1" AcceptedAnswerId="4170" CreationDate="2011-01-07T16:41:41.430" Score="11" ViewCount="779" Body="&lt;p&gt;In parametrized complexity people use fixed-parameter-tractable (FPT) reduction to prove W[t]-hardness. Theoretically a FPT-reduction is not a polynomial-time reduction, since it can run exponentially in the parameter k. But in practice all the FPT-reductions I've seen are p-time reductions, which means W[t]-hardness proofs almost always imply NP-completeness proofs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I wonder if someone can give me a FPT-reduction that indeed runs exponentially in the parameter $k$. Thanks.&lt;/p&gt;&#xA;" OwnerUserId="1607" LastEditorUserId="186" LastEditDate="2011-01-07T22:43:01.990" LastActivityDate="2011-01-12T09:17:32.167" Title="Instance of FPT-reductions that is not a polynomial-time reduction" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;&lt;reductions&gt;&lt;parameterized-complexity&gt;" AnswerCount="5" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="4168" PostTypeId="2" ParentId="4165" CreationDate="2011-01-07T17:08:26.947" Score="16" Body="&lt;p&gt;What you are asking about is the problem of near-neighbor search under the edit distance. You didn't mention whether you're interested in theoretical results or heuristics, so I'll answer the former. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The edit distance is somewhat nasty to deal with for building near-neighbor search structures. The main problem is that as a metric, it behaves (sort of) like other well known bad metrics like $\ell_1$ for the purpose of dimensionality reduction and approximation. There's a rather vast body of work to read on this topic, and your best source is the set of papers by &lt;a href=&quot;http://www.mit.edu/~andoni/&quot;&gt;Alex Andoni&lt;/a&gt;: by following pointers backward (for example from his FOCS 2010 paper) you'll get a good set of sources. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2011-01-07T17:08:26.947" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="4169" PostTypeId="2" ParentId="4167" CreationDate="2011-01-07T17:15:08.110" Score="5" Body="&lt;p&gt;Probably this is not an intended answer, but how about (a derandomized variant of) color-coding for the k-path problem?  &lt;a href=&quot;http://en.wikipedia.org/wiki/Color-coding&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/Color-coding&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There, one transforms an instance of the k-path problem to instances of the colorful k-path problem by an fpt-reduction with super-polynomial dependency on k.  (One creates multiple instances, but they can be seen as one big instance.)  Since the colorful k-path problem can be solved in fpt time by dynamic programming, we can conclude the k-path problem belongs to FPT.&lt;/p&gt;&#xA;" OwnerUserId="2955" LastActivityDate="2011-01-07T17:15:08.110" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4170" PostTypeId="2" ParentId="4167" CreationDate="2011-01-07T18:01:47.693" Score="11" Body="&lt;p&gt;An early example is the W[2]-hardness proof for Tournament Dominating Set (Theorem 4.1 in [1]). The reduction is from Dominating Set and it constructs a tournament with $O(2^k n)$ vertices, where $n$ is the number of vertices of the dominating set instance and $k$ is the parameter.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1]: Rodney G. Downey and Michael R. Fellows. Parameterized computational feasibility. In&#xA;P. Clote and J.B. Remmel, editors, Proceedings of Feasible Mathematics II,&#xA;pages 219-244. Birkhauser, 1995.&lt;/p&gt;&#xA;" OwnerUserId="72" LastActivityDate="2011-01-07T18:01:47.693" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4171" PostTypeId="2" ParentId="4167" CreationDate="2011-01-07T19:17:39.473" Score="6" Body="&lt;p&gt;As a complement to the other answers, the following Proposition shows that the corresponding notions of reducibility are incomparable:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Proposition [2, Prop. 2.8].&lt;/strong&gt; There are parameterized problems $(Q,k)$ and $(Q&amp;#39;,k&amp;#39;)$ such that&#xA;  $(Q,k) &amp;lt;^{\mathrm{fpt}} (Q&amp;#39;,k&amp;#39;)$ and $Q&amp;#39; &amp;lt;^{\mathrm{ptime}}\ Q$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Here, $&amp;lt;^{\mathrm{fpt}}$ stands for &lt;em&gt;fpt&lt;/em&gt;-reduction and $&amp;lt;^{\mathrm{ptime}}$ stands for polynomial-time reduction.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2]: J. Flum, M. Grohe. Parameterized Complexity Theory. Springer (2006)&lt;/p&gt;&#xA;" OwnerUserId="2898" LastEditorUserId="2898" LastEditDate="2011-01-08T13:08:33.173" LastActivityDate="2011-01-08T13:08:33.173" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4173" PostTypeId="1" AcceptedAnswerId="4280" CreationDate="2011-01-07T21:36:07.497" Score="7" ViewCount="1105" Body="&lt;p&gt;My question isn't really related to TCS itself, it's more about technical and informational equipment of a computer scientist.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is a website &lt;a href=&quot;http://safaribooksonline.com&quot; rel=&quot;noreferrer&quot;&gt;SafariBooksOnline&lt;/a&gt; by O'Reilly Media where anyone can read lots of books about IT online for a per-month payment. &#xA;That's why you don't need to buy expensive books if you want just to run through a chapter and look through the content briefly. And you still can read it all if you feel yourself comfortable reading large book from a screen being constantly connected to the Internet.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there such websites with TCS books or science books in general?&lt;/p&gt;&#xA;" OwnerUserId="3065" LastEditorUserId="80" LastEditDate="2011-01-07T22:08:44.353" LastActivityDate="2011-01-12T16:50:32.013" Title="TCS online library" Tags="&lt;soft-question&gt;&lt;books&gt;" AnswerCount="1" CommentCount="6" FavoriteCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="4174" PostTypeId="2" ParentId="4165" CreationDate="2011-01-07T21:40:36.967" Score="9" Body="&lt;p&gt;Levenshtein automatons: &lt;a href=&quot;http://en.wikipedia.org/wiki/Levenshtein_automaton&quot;&gt;http://en.wikipedia.org/wiki/Levenshtein_automaton&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;BK trees: &lt;a href=&quot;http://en.wikipedia.org/wiki/BK-tree&quot;&gt;http://en.wikipedia.org/wiki/BK-tree&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="351" LastEditorUserId="351" LastEditDate="2011-01-07T22:07:11.390" LastActivityDate="2011-01-07T22:07:11.390" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4175" PostTypeId="2" ParentId="4165" CreationDate="2011-01-07T22:25:52.590" Score="5" Body="&lt;p&gt;If you have a small number of mis-edits that you are going to tolerate, then you can try to use a &lt;a href=&quot;http://www.springerlink.com/content/d0160g8322411670/&quot; rel=&quot;nofollow&quot;&gt;dotted suffix tree&lt;/a&gt;. Disclaimer: I wrote that paper, but it solves what you want: it has a high disk space cost, but queries are really fast.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In general, it is better to look at it the other way around: you have an index of all of the words in the dictionary. Now, for an input word w, if it is in the dictionary, stop. Otherwise, generate all variations at distance 1 and look for those. If they are not there, look for variations at distance 2, and so on...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are several improvements to this basic idea.&lt;/p&gt;&#xA;" OwnerUserId="2405" LastEditorUserId="2405" LastEditDate="2011-01-07T22:43:30.493" LastActivityDate="2011-01-07T22:43:30.493" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4176" PostTypeId="2" ParentId="4165" CreationDate="2011-01-07T23:45:49.713" Score="4" Body="&lt;p&gt;A simple solution is to store the words as a trie. You can then compute the Levenshtein distance of the query word against the trie with the standard dynamic programming algorithm, instead of computing it against each word separately. The worst case time complexity is not improved asymptotically, but if you expand the most promising branches first, you get something like $O(m^{k+1} \cdot \sigma^{k})$ time for query length $m$, alphabet size $\sigma$, and edit distance $k$.&lt;/p&gt;&#xA;" OwnerUserId="56" LastEditorUserId="56" LastEditDate="2011-01-08T00:20:36.280" LastActivityDate="2011-01-08T00:20:36.280" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4177" PostTypeId="2" ParentId="3657" CreationDate="2011-01-08T03:12:56.827" Score="7" Body="&lt;p&gt;I just came across a relevant paper -- Kloks/Boedlander's &quot;Only few graphs have bounded tree width&quot;. They show that almost all graphs with $n$ vertices and $\delta n$ edges have treewidth on the order of $n^\epsilon$, $\epsilon=\frac{\delta-1}{\delta+1}$. For instance $\delta=3$ means typical tree-width grows as $\sqrt{n}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So even if greedy method found the best decomposition for all graphs, the resulting algorithm would still be intractably slow for typical graphs&lt;/p&gt;&#xA;" OwnerUserId="434" LastActivityDate="2011-01-08T03:12:56.827" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4178" PostTypeId="1" AcceptedAnswerId="4364" CreationDate="2011-01-08T05:00:20.543" Score="11" ViewCount="458" Body="&lt;p&gt;I was reading a paper titled &lt;a href=&quot;http://web.cecs.pdx.edu/~teshrim/npro.pdf&quot; rel=&quot;nofollow&quot;&gt;Random Oracles with(out) Programmability&lt;/a&gt;. The last paragraph of section 2.3 reads:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;em&gt;[Using our novel approach]&lt;/em&gt; there is no&#xA;  need to apply well-known classical asymptotic (and uniform) &lt;strong&gt;derandomization&lt;/strong&gt;&#xA;  techniques based on the &lt;strong&gt;Borel-Cantelli lemma&lt;/strong&gt;. To the best of our knowledge,&#xA;  this approach is novel to this paper.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I took a look at Wikipedia's entry for &lt;a href=&quot;http://en.wikipedia.org/wiki/Borel%E2%80%93Cantelli_lemma&quot; rel=&quot;nofollow&quot;&gt;Borel–Cantelli lemma&lt;/a&gt;, and almost grasped the idea. However, I couldn't still figure out how it relates to derandomization. In addition, I don't understand the meaning of &quot;asymptotic&quot; and &quot;uniform&quot; in the aforementioned paragraph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;PS: Googling for &lt;strong&gt;Borel-Cantelli&lt;/strong&gt; and &lt;strong&gt;derandomization&lt;/strong&gt; will show several interesting results, but I don't have enough background to understand them well.&lt;/p&gt;&#xA;" OwnerUserId="873" LastEditorUserId="873" LastEditDate="2011-01-17T13:48:41.577" LastActivityDate="2011-01-17T14:35:36.287" Title="Borel-Cantelli Lemma and Derandomization" Tags="&lt;cc.complexity-theory&gt;&lt;derandomization&gt;&lt;pr.probability&gt;&lt;measure-theory&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="4179" PostTypeId="2" ParentId="2417" CreationDate="2011-01-08T09:00:36.567" Score="2" Body="&lt;p&gt;Sure, you can reduce it to a factor of 1, but probably at the cost of time. But to answer the question behind the question: multiplication of polynomials mod 2 is easier from a hardware point of view (no need to propagate carry bits), but multiplication of integers is an operation people consider essential, and so has direct support in ALUs and programming languages.&lt;/p&gt;&#xA;" OwnerUserId="3131" LastActivityDate="2011-01-08T09:00:36.567" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4184" PostTypeId="1" AcceptedAnswerId="4185" CreationDate="2011-01-08T15:17:10.993" Score="10" ViewCount="526" Body="&lt;p&gt;Given a finite plane, I have a hexagonal tessellation of that plane with a fixed-size regular hexagon. I then compute the Delaunay graph G for the tessellation. Given such a graph G, I delete specific sets of nodes in that graph to yield multiple subgraphs of G. I need to determine if these subgraphs are isomorphic (to each other).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does there exist a polynomial-time algorithm to do so?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I know that there is no know poly-time algorithm for solving graph isomorphism in the general case. But I am not sure if it is still the case for such specific Delaunay graphs. &lt;/p&gt;&#xA;" OwnerUserId="175" LastEditorUserId="1800" LastEditDate="2011-01-08T15:39:15.137" LastActivityDate="2011-01-09T02:38:23.230" Title="Is there a polynomial-time algorithm to solve graph isomorphism for Delaunay graphs of (finite) hexagonal tessellations?" Tags="&lt;ds.algorithms&gt;&lt;graph-algorithms&gt;&lt;graph-isomorphism&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4185" PostTypeId="2" ParentId="4184" CreationDate="2011-01-08T16:00:53.260" Score="15" Body="&lt;p&gt;I guess all those subgraphs will be planer graphs. And I think that there is efficient algorithm for isomorphism of planer graphs.&lt;/p&gt;&#xA;&lt;p&gt;ref: &lt;a href=&quot;http://portal.acm.org/citation.cfm?doid=800119.803896&quot; rel=&quot;noreferrer&quot;&gt;Linear time algorithm for isomorphism of planar graphs by     J. E. Hopcroft&lt;br /&gt;&#xA;J. K. Wong&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;em&gt;NOTE: I am not an expert and might not be making any sense.&lt;/em&gt;&lt;/p&gt;&#xA;" OwnerUserId="612" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2011-01-08T16:00:53.260" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4186" PostTypeId="2" ParentId="4074" CreationDate="2011-01-08T17:11:01.613" Score="24" Body="&lt;h2&gt;Computational Complexity&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;There are many excellent courses on this topic. The following is merely the tip of the iceberg. To choose one, I suggest taking a look at the material covered in each course, as well as the level it is offered:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.eccc.uni-trier.de/static/books/Introduction_to_Complexity_Theory/&quot; rel=&quot;noreferrer&quot;&gt;Introduction to Complexity Theory&lt;/a&gt; by &lt;strong&gt;Oded Goldreich&lt;/strong&gt;. Available in two flavors: &lt;a href=&quot;http://www.eccc.uni-trier.de/resources/pdf/cc2.pdf&quot; rel=&quot;noreferrer&quot;&gt;notes for a two-semester introductory course&lt;/a&gt; and &lt;a href=&quot;http://www.eccc.uni-trier.de/resources/pdf/notes.pdf&quot; rel=&quot;noreferrer&quot;&gt;notes for a single-semester course&lt;/a&gt;. You can also check Goldreich's &lt;a href=&quot;http://www.wisdom.weizmann.ac.il/~oded/cc-book.html&quot; rel=&quot;noreferrer&quot;&gt;book on computational complexity&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Two different Computational Complexity courses offered at Princeton by &lt;a href=&quot;http://www.cs.princeton.edu/courses/archive/spring01/cs522/&quot; rel=&quot;noreferrer&quot;&gt;Sanjeev Arora&lt;/a&gt; and &lt;a href=&quot;http://www.cs.princeton.edu/courses/archive/spr06/cos522/&quot; rel=&quot;noreferrer&quot;&gt;Boaz Barak&lt;/a&gt;. You can also check their &lt;a href=&quot;http://www.cs.princeton.edu/theory/complexity/&quot; rel=&quot;noreferrer&quot;&gt;book on computational complexity&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.cs.rutgers.edu/~allender/lecture.notes/&quot; rel=&quot;noreferrer&quot;&gt;Complexity Theory&lt;/a&gt; by &lt;strong&gt;Eric Allender&lt;/strong&gt;. Suggested by Boaz Barak at his homepage.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.cs.berkeley.edu/~luca/cs278/&quot; rel=&quot;noreferrer&quot;&gt;Complexity Theory&lt;/a&gt; by &lt;strong&gt;Luca Trevisan&lt;/strong&gt;. Suggested by Boaz Barak at his homepage.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://people.csail.mit.edu/madhu/ST03/&quot; rel=&quot;noreferrer&quot;&gt;Advanced Complexity Theory&lt;/a&gt; by &lt;strong&gt;Madhu Sudan&lt;/strong&gt;. Suggested by Boaz Barak at his homepage.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://pages.cs.wisc.edu/~jyc/710-book.pdf&quot; rel=&quot;noreferrer&quot;&gt;Lectures in Computational Complexity&lt;/a&gt; by &lt;strong&gt;Jin-Yi Cai&lt;/strong&gt;. Written more or less in the form of a book.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.cs.toronto.edu/~toni/Courses/PvsNP/CS2429.html&quot; rel=&quot;noreferrer&quot;&gt;Approaches to the P versus NP Question and Related Complexity Questions&lt;/a&gt; by &lt;strong&gt;Toniann Pitassi&lt;/strong&gt;, with guest lectures by Steve Cook, Mika Goos, Joshua Grochow, David Liu, and Robert Robere. Graduate course covering many of the state-of-the-art lower bound techniques, several of which aren't well-covered (or covered at all) in other lecture notes.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="873" LastEditorUserId="44053" LastEditDate="2017-01-23T04:51:28.570" LastActivityDate="2017-01-23T04:51:28.570" CommentCount="0" CommunityOwnedDate="2011-01-08T17:11:01.613" ContentLicense="CC BY-SA 3.0" />
  <row Id="4187" PostTypeId="2" ParentId="4074" CreationDate="2011-01-08T17:23:39.827" Score="17" Body="&lt;h2&gt;PCP &amp;amp; Hardness of Approximation&lt;/h2&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The course offered by &lt;a href=&quot;http://www.wisdom.weizmann.ac.il/~feige/pcp.html&quot;&gt;Uri Feige&lt;/a&gt; is very good.&lt;/li&gt;&#xA;&lt;li&gt;Another excellent course is offered by &lt;a href=&quot;http://www.cs.berkeley.edu/~luca/pcp/&quot;&gt;Luca Trevisan&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Yet another course is offered by &lt;a href=&quot;http://people.csail.mit.edu/dmoshkov/courses/pcp/index.html&quot;&gt;Irit Dinur and Dana Moshkovitz&lt;/a&gt;. This one seems more like a link farm, and has few notes.&lt;/li&gt;&#xA;&lt;li&gt;&lt;em&gt;Limits of approximation algorithms : PCPs and Unique Games&lt;/em&gt; by &lt;a href=&quot;http://www.tcs.tifr.res.in/~prahladh/teaching/2009-10/limits/&quot;&gt;Prahladh Harsha&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="873" LastEditorUserId="239" LastEditDate="2011-01-11T16:39:51.697" LastActivityDate="2011-01-11T16:39:51.697" CommentCount="1" CommunityOwnedDate="2011-01-08T17:23:39.827" ContentLicense="CC BY-SA 2.5" />
  <row Id="4188" PostTypeId="2" ParentId="4074" CreationDate="2011-01-08T17:30:58.140" Score="14" Body="&lt;h2&gt;Expander Graphs&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;The authoritative course is offered by &lt;a href=&quot;http://www.math.ias.edu/~boaz/ExpanderCourse/index.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;Nati Linial and Avi Wigderson&lt;/a&gt;. See &lt;a href=&quot;https://cstheory.stackexchange.com/q/3586/873&quot;&gt;this topic&lt;/a&gt; for more information,&lt;/p&gt;&#xA;" OwnerUserId="873" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2011-01-08T17:30:58.140" CommentCount="0" CommunityOwnedDate="2011-01-08T17:30:58.140" ContentLicense="CC BY-SA 2.5" />
  <row Id="4189" PostTypeId="2" ParentId="4074" CreationDate="2011-01-08T17:34:06.937" Score="15" Body="&lt;h2&gt;Pseudorandomness&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;The best course on the subject is offered by &lt;a href=&quot;http://people.seas.harvard.edu/~salil/cs225/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Salil Vadhan&lt;/a&gt;. See also &lt;a href=&quot;https://cstheory.stackexchange.com/questions/3540/3557#3557&quot;&gt;this topic&lt;/a&gt; for a draft of Salil's book on pseudorandomness.&lt;/p&gt;&#xA;" OwnerUserId="873" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2011-01-08T17:34:06.937" CommentCount="0" CommunityOwnedDate="2011-01-08T17:34:06.937" ContentLicense="CC BY-SA 2.5" />
  <row Id="4190" PostTypeId="1" AcceptedAnswerId="4237" CreationDate="2011-01-08T21:09:23.167" Score="8" ViewCount="2310" Body="&lt;p&gt;I would like to ask, if anybody knows, whether there exists a 3-regular bridgeless graph which does not have a hamiltonian path (not necessarily extended to a hamiltonian circuit). Thank you&lt;/p&gt;&#xA;" OwnerUserId="3139" LastEditorUserId="1800" LastEditDate="2011-01-09T03:43:33.640" LastActivityDate="2019-02-20T08:35:15.893" Title="Cubic graphs and hamiltonian paths" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;hamiltonian-paths&gt;" AnswerCount="3" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4191" PostTypeId="2" ParentId="4190" CreationDate="2011-01-08T21:35:43.407" Score="3" Body="&lt;p&gt;I believe there are &lt;a href=&quot;http://tzamfirescu.tricube.de/TZamfirescu-077.pdf&quot; rel=&quot;nofollow&quot;&gt;as shown in this article&lt;/a&gt;, though it seems non-trivial to discover one.&lt;/p&gt;&#xA;" OwnerUserId="2678" LastActivityDate="2011-01-08T21:35:43.407" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="4192" PostTypeId="1" AcceptedAnswerId="4196" CreationDate="2011-01-08T22:24:52.633" Score="6" ViewCount="328" Body="&lt;p&gt;Are any efficient [O(log n)] self balancing trees that are canonical? By canonical I mean that for any set of data inserted into the tree, inserting it after any permutation results in the same tree. I'm particularly interested in trees where data is stored in the leaves.&lt;/p&gt;&#xA;" OwnerUserId="2139" LastEditorUserId="2139" LastEditDate="2011-01-09T06:21:20.617" LastActivityDate="2011-01-09T06:21:20.617" Title="Optimal Self Balancing Trees with Canonical Form?" Tags="&lt;ds.data-structures&gt;&lt;tree&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="4194" PostTypeId="2" ParentId="4190" CreationDate="2011-01-09T00:04:25.710" Score="3" Body="&lt;p&gt;How about this one?&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&quot;https://i.stack.imgur.com/6RG47.png&quot; rel=&quot;nofollow noreferrer&quot;&gt;&lt;img src=&quot;https://i.stack.imgur.com/6RG47.png&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&#xA;&lt;sub&gt;(source: &lt;a href=&quot;http://yaroslavvb.com/upload/save/cstheory-circulant-graph.png&quot; rel=&quot;nofollow noreferrer&quot;&gt;yaroslavvb.com&lt;/a&gt;)&lt;/sub&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;b&gt;Update&lt;/b&gt;:&#xA;Here are some if you restrict attention to connected 3-regular bridgeless graphs, from Mathematica's &lt;code&gt;GraphData&lt;/code&gt; database&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&quot;https://i.stack.imgur.com/F6lTD.png&quot; rel=&quot;nofollow noreferrer&quot;&gt;&lt;img src=&quot;https://i.stack.imgur.com/F6lTD.png&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&#xA;&lt;sub&gt;(source: &lt;a href=&quot;http://yaroslavvb.com/upload/save/cstheory-noham2.png&quot; rel=&quot;nofollow noreferrer&quot;&gt;yaroslavvb.com&lt;/a&gt;)&lt;/sub&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://mathworld.wolfram.com/DoubleStarSnark.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://mathworld.wolfram.com/DoubleStarSnark.html&lt;/a&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://mathworld.wolfram.com/SzekeresSnark.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://mathworld.wolfram.com/SzekeresSnark.html&lt;/a&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://mathworld.wolfram.com/TuttesGraph.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://mathworld.wolfram.com/TuttesGraph.html&lt;/a&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://mathworld.wolfram.com/ZamfirescuGraphs.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://mathworld.wolfram.com/ZamfirescuGraphs.html&lt;/a&gt;&#xA;&lt;/ul&gt;&#xA;&lt;pre&gt;&lt;code&gt;graphs = GraphData[{&amp;quot;Cubic&amp;quot;, &amp;quot;Connected&amp;quot;, &amp;quot;Bridgeless&amp;quot;}];&#xA;noham = Select[graphs, GraphData[#, &amp;quot;HamiltonianPathCount&amp;quot;] == 0 &amp;amp;]&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;&lt;b&gt;Another update&lt;/b&gt;&#xA;Looks like &lt;code&gt;HamiltonianPathCount=0&lt;/code&gt; doesn't always mean there's no Hamiltonian path, following Hamiltonian paths can be easily found&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&quot;https://i.stack.imgur.com/bTbX7.png&quot; rel=&quot;nofollow noreferrer&quot;&gt;&lt;img src=&quot;https://i.stack.imgur.com/bTbX7.png&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&#xA;&lt;sub&gt;(source: &lt;a href=&quot;http://yaroslavvb.com/upload/save/cstheory-hampath.png&quot; rel=&quot;nofollow noreferrer&quot;&gt;yaroslavvb.com&lt;/a&gt;)&lt;/sub&gt;&lt;/p&gt;&#xA;&lt;p&gt;For the other two graphs, I didn't find any counter-examples with 1000 random greedy searches.&lt;/p&gt;&#xA;" OwnerUserId="434" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2019-02-20T08:35:15.893" CommentCount="5" ContentLicense="CC BY-SA 4.0" />
  <row Id="4196" PostTypeId="2" ParentId="4192" CreationDate="2011-01-09T05:05:11.680" Score="7" Body="&lt;p&gt;&lt;a href=&quot;http://user.it.uu.se/~arnea/abs/andetigh.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;Andersson and Ottmann's &quot;New tight bounds on uniquely represented dictionaries&quot;&lt;/a&gt; has a good survey on the subject of of canonical (or &quot;unique&quot;, as they call it) forms for dictionaries.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Before I describe it, I should note that their structure is actually stronger than you are looking for. Their structures are &lt;em&gt;size-unique&lt;/em&gt;, so any two trees with $n$ elements will have the same shape, even if the sets of elements are unrelated. They leave the problem of &lt;em&gt;set-unique&lt;/em&gt; data structures open, though see below about randomization.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Andersson and Ottmann invented a data structure (a graph, not a tree) where updates and lookups take $O(n^{1/3})$ time. By tuning a parameter, they can get $O(\sqrt{n})$ time for updates and $O(\lg n)$ time for lookups, matching &lt;a href=&quot;http://www.dtic.mil/cgi-bin/GetTRDoc?Location=U2&amp;amp;doc=GetTRDoc.pdf&amp;amp;AD=ADA223643&quot; rel=&quot;nofollow noreferrer&quot;&gt;an earlier structure of Sundar and Tarjan&lt;/a&gt; (which &lt;a href=&quot;http://www.springerlink.com/index/d1u426468144k3h8.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Ottmann claims in &quot;Trees - A Personal View&quot;&lt;/a&gt; is not strictly size-unique due to the way they use an auxiliary structure). Andersson and Ottmann also prove that either update or lookup operations must take $\Omega(n^{1/3})$ time in their particular model. An earlier paper by Snyder showed some $\Omega(\sqrt{n})$ lower bounds, but the model he used was too strict for Andersson and Ottmann's taste.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you're willing to accept &quot;canonical&quot; meaning &quot;taken from the same sample space of trees&quot;, then &lt;a href=&quot;http://acs.lbl.gov/~aragon/treaps.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;treaps&lt;/a&gt; might be exactly what you're looking for -- any set of elements in a tree has shape independent of the order in which they arrived. However, the shape is randomized.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For storing data in the leaves (by which I assume you mean that each key is stored in a leaf, or that value (in a map structure) are all stored in leaves), views of skip-lists as trees may have this property. I mentioned &lt;a href=&quot;https://cstheory.stackexchange.com/questions/2430/proving-skip-lists-strongly-weight-balanced-in-expectation&quot;&gt;some tree-views of skip lists&lt;/a&gt; on another question at this site. Others that may deserve mention are &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Daniel Golovin's &lt;a href=&quot;http://arxiv.org/abs/1005.0662&quot; rel=&quot;nofollow noreferrer&quot;&gt;The B-Skip-List: A Simpler Uniquely Represented Alternative to B-Trees&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Michael Spiegel and Paul F. Reynolds's &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.170.2950&quot; rel=&quot;nofollow noreferrer&quot;&gt;Lock-free multiway search trees&lt;/a&gt; and      &lt;a href=&quot;http://www.cs.virginia.edu/~ms6ep/publications/CS-2009-05.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;The Dense Skip Tree: A Cache-Conscious Randomized Data Structure&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I've also been recently &lt;a href=&quot;https://cstheory.stackexchange.com/questions/4145/faster-join-of-treaps-with-approximately-the-same-size&quot;&gt;thinking about a treap-like structure in which every key is stored in a leaf, as mentioned in the related question I posed here&lt;/a&gt;. I hope to post something there on the matter soon.&lt;/p&gt;&#xA;" OwnerUserId="43" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2011-01-09T05:05:11.680" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4197" PostTypeId="2" ParentId="4154" CreationDate="2011-01-09T05:54:28.723" Score="4" Body="&lt;p&gt;Have you considered &lt;a href=&quot;http://www.cosy.sbg.ac.at/~held/projects/triang/triang.html&quot; rel=&quot;nofollow&quot;&gt;Martin Held's &quot;FIST&quot; project&lt;/a&gt;?  (See also &lt;a href=&quot;http://www.springerlink.com/content/ermlr10j8pj48tl2/&quot; rel=&quot;nofollow&quot;&gt;Martin's paper&lt;/a&gt;.)&lt;/p&gt;&#xA;" OwnerUserId="111" LastEditorUserId="111" LastEditDate="2011-01-11T22:06:16.083" LastActivityDate="2011-01-11T22:06:16.083" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4198" PostTypeId="1" AcceptedAnswerId="4232" CreationDate="2011-01-09T06:39:33.520" Score="11" ViewCount="747" Body="&lt;p&gt;Since 2 NP-complete problems are by definition reducible to each other, so a solution to one of them can be obtained by using a black-box solving the other one, why don't they have similar approximation ratios (referring to their optimization counterparts)? I guess that some constant or even polynomial drift might be understood but we have the case of constant-factor approximation algorithms for some NP-complete problems and, on the other hand, other problems that cannot be even approximated by a polynomial-ratio approximation algorithm, such as general TSP? Thank you&lt;/p&gt;&#xA;" OwnerUserId="3139" LastEditorUserId="1800" LastEditDate="2011-01-09T15:35:51.523" LastActivityDate="2011-01-12T02:55:46.493" Title="Why do NP-complete problems not have similar approximation ratios?" Tags="&lt;cc.complexity-theory&gt;&lt;approximation-algorithms&gt;&lt;reductions&gt;" AnswerCount="1" CommentCount="12" FavoriteCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="4199" PostTypeId="2" ParentId="4154" CreationDate="2011-01-09T14:03:44.333" Score="1" Body="&lt;p&gt;I think you can look at &lt;a href=&quot;http://sigbjorn.vik.name/projects/Triangulation.pdf&quot; rel=&quot;nofollow&quot;&gt;http://sigbjorn.vik.name/projects/Triangulation.pdf&lt;/a&gt; which was first google result for &quot;self intersecting Polygon triangulation algorithm&quot; first it will discuss about Seidel's algorithm and it's implementation and then it will generalize it in &quot;5.2 Intersections&quot; talks about self intersect polygons.&lt;/p&gt;&#xA;" OwnerUserId="1846" LastEditorUserId="1846" LastEditDate="2012-02-11T08:10:49.607" LastActivityDate="2012-02-11T08:10:49.607" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="4201" PostTypeId="1" CreationDate="2011-01-09T16:37:11.663" Score="4" ViewCount="7843" Body="&lt;p&gt;I have a real-life situation that can be solved using Queueing Theory.&lt;br&gt;&#xA;This should be easy for someone in the field.  Any pointers would be appreciated.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Scenario:&lt;/strong&gt;&lt;br&gt;&#xA;There is a single Queue and &lt;strong&gt;N&lt;/strong&gt; Servers.&lt;br&gt;&#xA;When a server becomes free, the Task at the front of the queue gets serviced.&lt;br&gt;&#xA;The mean service time is &lt;strong&gt;T&lt;/strong&gt; seconds.&lt;br&gt;&#xA;The mean inter-Task arrival time is &lt;strong&gt;K&lt;/strong&gt; * &lt;strong&gt;T&lt;/strong&gt; (where &lt;strong&gt;K&lt;/strong&gt; &gt; 1)&lt;br&gt;&#xA;(assume Poisson or Gaussian distributions, whichever is easier to analyze.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question:&lt;/strong&gt;&lt;br&gt;&#xA;At steady state, what is the length of the queue?  (in terms of &lt;strong&gt;N&lt;/strong&gt;, &lt;strong&gt;K&lt;/strong&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Related Question:&lt;/strong&gt;&lt;br&gt;&#xA;What is the expected delay for a Task to be completed?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is the real-life situation I am trying to model:&lt;br&gt;&#xA;I have an Apache web server with 25 worker processes.&lt;br&gt;&#xA;At steady-state there are 125 requests in the queue.&lt;br&gt;&#xA;I want to have a theoretical basis to help me optimize resources&#xA;and understand quantitatively how adding more worker processes&#xA;affects the queue length and delay.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I know the single queue, single server, Poisson distribution is well analyzed.&lt;br&gt;&#xA;I don't know the more general solution for &lt;strong&gt;N&lt;/strong&gt; servers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;thanks in advance,  &lt;/p&gt;&#xA;" OwnerUserId="3149" LastEditorUserId="873" LastEditDate="2011-01-10T10:19:00.290" LastActivityDate="2011-01-10T10:19:00.290" Title="Queueing Theory: How to estimate steady-state queue length for single queue, N servers?" Tags="&lt;network-modeling&gt;&lt;queueing-theory&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="4202" PostTypeId="2" ParentId="1988" CreationDate="2011-01-09T16:43:19.717" Score="1" Body="&lt;ol&gt;&#xA;&lt;li&gt;You can write your ideas down in standard paper format. &lt;/li&gt;&#xA;&lt;li&gt;Publish it on &lt;a href=&quot;http://arxiv.org/&quot; rel=&quot;nofollow&quot;&gt;ArXiv&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Share source code on &lt;a href=&quot;https://github.com/&quot; rel=&quot;nofollow&quot;&gt;github&lt;/a&gt;. &lt;/li&gt;&#xA;&lt;li&gt;Spend some time learning run time analysis and update your paper when you are done.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;e.g. You can write a survey paper and at the end suggest your solution as new promising approach. &lt;em&gt;But without proof of correctness and run time analysis not many people will take it seriously (but some will).&lt;/em&gt;&lt;/p&gt;&#xA;" OwnerUserId="612" LastActivityDate="2011-01-09T16:43:19.717" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4203" PostTypeId="2" ParentId="4201" CreationDate="2011-01-09T16:53:56.290" Score="6" Body="&lt;p&gt;You need to apply &lt;a href=&quot;http://en.wikipedia.org/wiki/Little%27s_law&quot; rel=&quot;nofollow&quot;&gt;Little's law&lt;/a&gt;: &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;The long-term average number of customers in a stable queue L is equal to the long-term average arrival rate, λ, multiplied by the long-term average time a customer spends in the queue, W; or expressed algebraically: L = λW.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The beauty of this law is that it does not depend on the distribution of arrivals or the service time (whether it is Markovian or not, etc.). More technically, and in &lt;a href=&quot;http://en.wikipedia.org/wiki/Kendall%27s_notation&quot; rel=&quot;nofollow&quot;&gt;Kendall's notation&lt;/a&gt;, it is true for the general GI/G/m queues.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We now assume that &lt;strong&gt;service time&lt;/strong&gt; follows an exponential distribution (with parameter μ), and the arrivals follow a Poisson distribution (with parameter λ). In addition, we assume there's only one server. That is, our queue is modeled as &lt;strong&gt;M/M/1&lt;/strong&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Using &lt;strong&gt;Little's Law&lt;/strong&gt;, it can be shown (see formula (6.15) on page 247 of &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0471565253&quot; rel=&quot;nofollow&quot;&gt;this book&lt;/a&gt;) that:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$W = \frac{\lambda/\mu^2}{1-\lambda/\mu}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that the book uses different notations than here. It also states the formula holds for M/G/1-PS and M/G/1-LCFS queues.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Using &lt;strong&gt;Little's Law&lt;/strong&gt;, we have $L = {\lambda^2 \over \mu^2-\lambda\mu}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In your case, λ = 1/(KT), and μ = 1/T. Hence L = 1/K(K-1).&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;PS:&lt;/strong&gt; Little's Law has 3 variants. It can be applied to the whole system, to the queue itself, or to the service center. See pages 259-260 of &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0120510510&quot; rel=&quot;nofollow&quot;&gt;this book&lt;/a&gt; for more info.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit:&lt;/strong&gt; The case for &lt;strong&gt;M/M/c&lt;/strong&gt; queues is much trickier. Here, you need to apply &lt;a href=&quot;http://en.wikipedia.org/wiki/Erlang_unit#Erlang_C_formula&quot; rel=&quot;nofollow&quot;&gt;Erlang C formula&lt;/a&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;To derive the following formulas, you can take a look at Section 5.2.3 of &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0120510510&quot; rel=&quot;nofollow&quot;&gt;this book&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $a := \lambda/\mu$ and $\rho := a/c$, where c denote the number of servers. Then &lt;strong&gt;Erlang C formula&lt;/strong&gt;, $C[c,a]$ is obtained by:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$C[c,a] = \frac{a^c}{c!} / ((1-\rho)\sum\limits_{n=0}^{c-1}\frac{a^n}{n!}+\frac{a^c}{c!})$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now we have: $L = \rho C[c,a] / (1- \rho)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As a sanity check, note that for $c=1$ we derive the previous answer: $L = {\lambda^2 \over \mu^2-\lambda\mu}$.&lt;/p&gt;&#xA;" OwnerUserId="873" LastEditorUserId="873" LastEditDate="2011-01-10T01:13:32.327" LastActivityDate="2011-01-10T01:13:32.327" CommentCount="10" ContentLicense="CC BY-SA 2.5" />
  <row Id="4204" PostTypeId="1" AcceptedAnswerId="4214" CreationDate="2011-01-09T17:04:22.430" Score="38" ViewCount="1595" Body="&lt;p&gt;Computational complexity includes the study of time or space complexity of computational problems. From the the perspective of mobile computing, energy is very valuable computational resource. So, Is there a well studied adaptation of Turing machines that account for the energy consumed during the execution of algorithms. Also, Are there established energy-complexity classes for computational problems?  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;References are appreciated.&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="186" LastEditDate="2011-01-10T03:55:59.257" LastActivityDate="2020-09-10T17:05:55.707" Title="Formal notion for energy complexity of computational problems" Tags="&lt;cc.complexity-theory&gt;&lt;physics&gt;" AnswerCount="8" CommentCount="4" FavoriteCount="8" ContentLicense="CC BY-SA 2.5" />
  <row Id="4205" PostTypeId="2" ParentId="4204" CreationDate="2011-01-09T17:14:02.030" Score="-3" Body="&lt;p&gt;Time and space complexities are device independent. I don't see a way to make energy-complexity device independent.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $W$ is work done by a Turing machine to perform one basic step. Then energy complexity becomes number of steps times $W$. $W$ is highly machine dependent. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;And, $O(W f(n)) = O(f(n))$.&lt;/p&gt;&#xA;" OwnerUserId="612" LastActivityDate="2011-01-09T17:14:02.030" CommentCount="7" ContentLicense="CC BY-SA 2.5" />
  <row Id="4206" PostTypeId="2" ParentId="4204" CreationDate="2011-01-09T18:03:38.467" Score="5" Body="&lt;p&gt;This isn't a direct answer at all, but are some potentially useful connections to draw/research programmes to be conducted along the lines of Stay and Baez' work on algorithmic thermodynamics: &lt;a href=&quot;http://johncarlosbaez.wordpress.com/2010/10/12/algorithmic-thermodynamics/&quot;&gt;http://johncarlosbaez.wordpress.com/2010/10/12/algorithmic-thermodynamics/&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Do take note, however, that this work does not draw out actual physical consequences -- rather it illustrates a connection that is, thus far, purely mathematical.&lt;/p&gt;&#xA;" OwnerUserId="351" LastActivityDate="2011-01-09T18:03:38.467" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4207" PostTypeId="2" ParentId="4204" CreationDate="2011-01-09T18:13:14.960" Score="8" Body="&lt;p&gt;There aren't energy complexity classes yet, but there there's definitely a lot of interest in studying how to design algorithms that are energy efficient under some model. I'm not familiar with the entire body of work, but one entry point is the work that &lt;a href=&quot;http://www.cs.pitt.edu/~kirk/&quot;&gt;Kirk Pruhs&lt;/a&gt; is doing on sustainable computing. Kirk is a theoretician with expertise in scheduling and approximations, and has recently become very active in this area, so his perspective is a good one for algorithmic folks. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;p.s gabgoh's point about Landauer's principle is a good one. If you want to learn more about the relation between energy and information, there's no better source than the &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0691087261&quot;&gt;Maxwell's Demon book&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2011-01-09T18:13:14.960" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4210" PostTypeId="2" ParentId="4204" CreationDate="2011-01-09T21:31:39.547" Score="5" Body="&lt;p&gt;Kei Uchizawa and his coauthors study the energy complexity of threshold circuits.  They define it as the maximum number of threshold gates that output 1 over all possible inputs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since it's not about Turing machines, this doesn't answer the question.  But, I hope their papers give some ideas.  His webpage contains pointers.  &lt;a href=&quot;http://www.nishizeki.ecei.tohoku.ac.jp/nszk/uchizawa/&quot;&gt;http://www.nishizeki.ecei.tohoku.ac.jp/nszk/uchizawa/&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="2955" LastActivityDate="2011-01-09T21:31:39.547" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4212" PostTypeId="1" AcceptedAnswerId="4213" CreationDate="2011-01-10T01:06:33.623" Score="0" ViewCount="1593" Body="&lt;p&gt;We are considering a connected weighted graph G. 1-tree is a tree with one extra edge added (so it contains exactly one cycle). The task is to find minimum spanning 1-tree of G.&lt;br&gt;&#xA;I was thinking of first using any of well-known MST algorithms and then adding an edge of smallest weight to the MST (which is not in the MST). Will something like this work (I am having trouble proving it would)? &lt;/p&gt;&#xA;" OwnerUserId="3152" LastActivityDate="2011-03-13T14:09:35.743" Title="Finding minimum spanning 1-tree" Tags="&lt;ds.algorithms&gt;&lt;graph-algorithms&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4213" PostTypeId="2" ParentId="4212" CreationDate="2011-01-10T01:53:20.593" Score="5" Body="&lt;p&gt;I'm not sure this is research level, but here's a sketch. Suppose this algorithm outputs a 1-tree and the actual cheapest 1-tree is some other 1T. Now, since you built your tree with Kruskal's algorithm, you know that the tree directly proceeding adding your last edge(the cycle-inducing edge) was minimal, and as such costs less than any subtree of the &quot;true&quot; cheapest 1-tree.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, consider the subtree of the &quot;true&quot; 1-tree that is comprised of all edges save one edge in the cycle that your tree doesn't contain(it is easy to show that, unless their cycles are equal, this edge must exist)*. This tree is more expensive than yours. Moreover, since your tree is a tree, adding that edge from the &quot;true&quot; 1T would have made yours a 1-tree. So your final edge must be cheaper than that edge, or you would have chosen that edge. Thus, your 1-tree must be cheapest.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;*If the cycles are the same, but the remaining subtrees are different, you are also done since yours was built using Kruskal's algorithm.&lt;/p&gt;&#xA;" OwnerUserId="3068" LastActivityDate="2011-01-10T01:53:20.593" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4214" PostTypeId="2" ParentId="4204" CreationDate="2011-01-10T02:09:11.633" Score="27" Body="&lt;p&gt;&lt;em&gt;Is there a well studied adaptation of Turing machines that account for the energy consumed during the execution of algorithms?&lt;/em&gt;  &lt;strong&gt;&lt;em&gt;No!&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But maybe you could come up with one. It's possible you could divide the Turing machine steps into reversible and non-reversible (the non-reversible ones are where information is lost). Theoretically, it is only the non-reversible steps that cost energy. A cost of one unit of energy for each bit that is erased would theoretically be the right measure. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is a theorem of Charles Bennett that the time complexity increases by at most a constant when a computation is made reversible (C.H. Bennett, &lt;em&gt;Logical Reversibility of Computation&lt;/em&gt;), but if there are also limits on space, then making the computational reversible might incur a substantial increase in time &lt;a href=&quot;http://scitation.aip.org/getabs/servlet/GetabsServlet?prog=normal&amp;amp;id=SMJCAT000018000004000766000001&amp;amp;idtype=cvips&amp;amp;gifs=yes&amp;amp;ref=no&quot;&gt;(Reference here)&lt;/a&gt;. Landauer's principle says that erasing a bit costs $kT\, \ln 2$ of energy, where $T$ is temperature and $k$ is Boltzmann's constant. In real life, you cannot come anywhere close to achieving this minimum. However, you can build chips which perform reversible steps using substantially less energy than they use for irreversible steps. If you give reversible steps a cost of $\alpha$ and irreversible steps a cost of $\beta$, this seems like it may give a reasonable theoretical model.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I don't know how Turing machines with some reversible steps relate to chips with some reversible circuitry, but I think both models are worth investigating.&lt;/p&gt;&#xA;" OwnerUserId="1677" LastEditorUserId="1677" LastEditDate="2011-01-10T04:21:10.150" LastActivityDate="2011-01-10T04:21:10.150" CommentCount="7" ContentLicense="CC BY-SA 2.5" />
  <row Id="4215" PostTypeId="1" AcceptedAnswerId="4216" CreationDate="2011-01-10T02:11:51.973" Score="5" ViewCount="230" Body="&lt;p&gt;I would like to ask if anybody knows any result on the least number of edges the &lt;strong&gt;maximum&lt;/strong&gt; simple cycle of connected cubic bridgeless graphs, must have. Thanks&lt;/p&gt;&#xA;" OwnerUserId="3139" LastEditorUserId="1800" LastEditDate="2011-01-10T02:59:15.900" LastActivityDate="2011-01-11T04:51:08.120" Title="Lower bound on maximum simple cycle in connected cubic bridgeless graphs" Tags="&lt;graph-theory&gt;&lt;reference-request&gt;&lt;co.combinatorics&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4216" PostTypeId="2" ParentId="4215" CreationDate="2011-01-10T02:58:37.117" Score="6" Body="&lt;p&gt;So you are looking for the &lt;a href=&quot;http://en.wikipedia.org/wiki/Circumference#Circumference_of_a_graph&quot; rel=&quot;nofollow&quot;&gt;circumference&lt;/a&gt; of a connected cubic bridgeless graph $G$. Since a bridgeless cubic graph is immediately 2-connected, Bondy and Entringer showed in the paper &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;a href=&quot;http://books.google.com.tw/books?id=5ECBwmHmuasC&amp;amp;pg=PA1325&amp;amp;lpg=PA1325&amp;amp;dq=%22Longest+cycles+in+2-connected+graphs+with+prescribed+maximum+degree%22&amp;amp;source=bl&amp;amp;ots=zFV_-2UPb3&amp;amp;sig=myUn-5AYipBVdxbTuDeekhbG9j0&amp;amp;hl=zh-TW&amp;amp;ei=7d8rTdyoLY28vgOJheHPCQ&amp;amp;sa=X&amp;amp;oi=book_result&amp;amp;ct=result&amp;amp;resnum=4&amp;amp;ved=0CDUQ6AEwAw#v=onepage&amp;amp;q=%22Longest%20cycles%20in%202-connected%20graphs%20with%20prescribed%20maximum%20degree%22&amp;amp;f=false&quot; rel=&quot;nofollow&quot;&gt;Longest cycles in 2-connected graphs with prescribed maximum degree&lt;/a&gt;,  Canadian Journal of Mathematics, 1980,&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;that $G$ contains a cycle of length at least $4 (\log_2 n - \log_2\log_2 n - 5)$. And a graph which meets the bound is provided in the result &lt;em&gt;Über längste Kreise in regulären Graphen&lt;/em&gt; by Lang and Walther, so this is the best possible. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the reference, see &lt;em&gt;&lt;a href=&quot;http://www.sciencedirect.com/science?_ob=ArticleURL&amp;amp;_udi=B6WHT-4D7K6GB-6F&amp;amp;_user=10&amp;amp;_coverDate=08/31/1986&amp;amp;_rdoc=1&amp;amp;_fmt=high&amp;amp;_orig=search&amp;amp;_origin=search&amp;amp;_sort=d&amp;amp;_docanchor=&amp;amp;view=c&amp;amp;_acct=C000050221&amp;amp;_version=1&amp;amp;_urlVersion=0&amp;amp;_userid=10&amp;amp;md5=eefd688915604576acdbd85df7988609&amp;amp;searchtype=a&quot; rel=&quot;nofollow&quot;&gt;Longest cycles in 3-connected cubic graphs&lt;/a&gt;&lt;/em&gt; by Bill Jackson. If the graph is 3-connected, then the bound can be improved to $\Omega(n^c)$ with $c\approx 0.69$, and there are &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=587013&quot; rel=&quot;nofollow&quot;&gt;efficient algorithm&lt;/a&gt; approximately finding a long cycle in $G$.&lt;/p&gt;&#xA;" OwnerUserId="1800" LastEditorUserId="1800" LastEditDate="2011-01-11T04:51:08.120" LastActivityDate="2011-01-11T04:51:08.120" CommentCount="8" ContentLicense="CC BY-SA 2.5" />
  <row Id="4217" PostTypeId="2" ParentId="4145" CreationDate="2011-01-10T03:33:09.267" Score="1" Body="&lt;h3&gt;Update: see below for an update on the incorrectness of this join operation&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;Here is a very rough sketch of a possible solution:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think I may have a solution to this problem using a type of randomly-balanced B+-tree.&#xA;Like treaps, these trees have a unique representation.&#xA;Unlike treaps, they store some keys multiple times.&#xA;It might be possible to fix that using a trick from Bent et al's &quot;Biased Search Trees&quot; of storing each key only in the highest (that is, closest-to-the-root) level in which it appears)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A tree for an ordered set of unique values is created by first associating each value with a stream of bits, similar to the way each value in a treap is associated with a priority.&#xA;Each node in the tree contains both a key and a bit stream.&#xA;Non-leaf nodes contain, in addition, a natural number indicating the height of the tree rooted at that node.&#xA;Internal nodes may have any non-zero number of children.&#xA;Like B+-trees, every non-self-intersecting path from the root to a leaf is the same length.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Every internal node $v$ contains (like in B+-trees) the largest key $k$ of its descendant leaves.&#xA;Each one also contains a natural number $i$ indicating the height of the tree rooted at $v$, and the stream of bits associated with $k$ from the $i+1$th bit onward.&#xA;If every key in the tree rooted at $v$ has the same first bit in its bit stream, every child of $v$ is a leaf and $i$ is $1$.&#xA;Otherwise, the children of $v$ are internal nodes all of which have the same $i$th bit in the bit stream associated with their key.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To make a tree from a sorted list of keys with associated bit streams, first collect the keys into contiguous groups based on the first bit in their streams.&#xA;For each of these groups, create a parent with the key and bit stream of the largest key in the group, but eliding the first bit of the stream.&#xA;Now do the same grouping procedure on the new parents to create grandparents.&#xA;Continue until only one node remains; this is the root of the tree.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The following list of keys and (beginning of) bit streams is represented by the tree below it.&#xA;In the bit stream prefixes, a '.' means any bit. &#xA;That is, any bit stream for the key A with a 0 in the first place with produce the same tree as any other, assuming no other key's bit stream is diffferent.&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;A 0...&#xA;B 00..&#xA;C 10..&#xA;D 0...&#xA;E 0011&#xA;F 1...&#xA;G 110.&#xA;H 0001&#xA;&#xA;&#xA;        ____H____&#xA;       /         \&#xA;      E           H&#xA;      |          / \&#xA;    __E__       G   H&#xA;   /  |  \      |   |&#xA;  B   C   E     G   H&#xA; / \  |  / \   / \  |&#xA;A   B C D   E F   G H&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Every child of a particular internal node has the same bit in the first place of its bit stream.&#xA;This is called the &quot;color&quot; of the parent - 0 is red, 1 is green.&#xA;The child has a &quot;flavor&quot; depending on the first bit of its bit stream - 0 is cherry, 1 is mint.&#xA;Leaves have flavors, but no color.&#xA;By definition, a cherry node can't have a green parent, and a mint node can't have a red parent.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assuming the bits in the bit streams are IID from the uniform distribution, the PMF of the number of parents of $n$ nodes is &#xA;$2^{1-n}$ ${n-1}\choose{i-1}$&#xA;and the expected value is $(n+1)/2$. &#xA;For all $n \geq 2$, this is $\leq \frac{3}{4}n$, so the expected tree height is $O(\lg n)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strike&gt;&#xA;To join two trees of equal height, first check to see if their roots are the same color.&#xA;If so, sever from the left root its right-most child and from the right root its left-most child, then recursively join these two trees.&#xA;The result will be a tree of the same height or one taller since the trees have the same flavor (see below).&#xA;If the result of recursively joining the two trees has same height as the two severed children, make it the middle child of a root with the remaining children of the left root before it and the remaining children of the right root after it.&#xA;If it is taller by 1, make its children the middle children of a root with the remaining children of the left root before it and the remaining children of the right root after it.&#xA;If the roots have different colors, check to see if they have the same flavor.&#xA;If they do, give them a new parent with the key and bit stream of the right root, eliding its first bit.&#xA;If they do not, give each root a new parent with the key and bit stream of the old root (eliding each first bit), then recursively join those trees.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are two recursive calls in this algorithm.&#xA;The first is when the roots have the same color, the second is when the roots have different colors and different flavors.&#xA;The roots have the same color with probability $1/2$.&#xA;The recursive call in this case always sees roots with the same flavor, so the second type of recursion never occurs after the first.&#xA;However, the first can occur repeatedly, but each time with probability $1/2$, so the expected running time is still $O(1)$.&#xA;The second recursive call happens with probability $1/4$, and subsequent recursive calls are always on trees with different colors, so the same analysis applies.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To join two trees of unequal height, first trace down the left spine of the right tree, assuming the right tree is taller.&#xA;(The other case is symmetric.)&#xA;When two trees of equal height are reached, perform the join operation for two trees of equal height, modified as follows:&#xA;If the result has the same height, replace the tree that was a child with the result of the join.&#xA;If the result is taller, join the parent of the tree on the right to the root of the other tree, after it has been made taller by one by adding a parent for the root.&#xA;The tree will be the same height with probability $1/2$, so this terminates in $O(1)$ expected.&#xA;&lt;/strike&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt; Thanks to QuickCheck, I discovered that the above join method does not produce the same trees as the uniquely represented trees above. The problem is that parent choices near the leaves may change depending on the available siblings. To fix up those changes, join would have to traverse all the way to the leaves, which is not $O(1)$. Here is the example QuickCheck found:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;a 01110&#xA;b 110..&#xA;c 10...&#xA;d 00000&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;The the tree made by &lt;code&gt;[a,b]&lt;/code&gt; has height 2, the tree made by &lt;code&gt;[c,d]&lt;/code&gt; has height 2, and the tree made by &lt;code&gt;joinEqual (tree [a,b]) (tree [c,d])&lt;/code&gt; has height 3. However, the tree made by &lt;code&gt;[a,b,c,d]&lt;/code&gt; has height 5.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://haskell.pastebin.com/xSccLVMv&quot; rel=&quot;nofollow&quot;&gt;Here is the code I used to find this error&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="43" LastEditorUserId="43" LastEditDate="2011-01-10T05:45:37.537" LastActivityDate="2011-01-10T05:45:37.537" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4218" PostTypeId="2" ParentId="2777" CreationDate="2011-01-10T03:39:28.907" Score="1" Body="&lt;p&gt;Asking whether a graph is non-Hamiltonian is CoNP-Complete so it is doubtful that such an algorithm exists.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you are satisfied with a heuristic that provides a certificates of non-Hamiltonicity, see &lt;a href=&quot;http://www.ecp6.jussieu.fr/pageperso/bondy/books/gtwa/pdf/chapter4.pdf&quot; rel=&quot;nofollow&quot;&gt;Bondy and Murty's&lt;/a&gt; &lt;a href=&quot;http://www.ecp6.jussieu.fr/pageperso/bondy/books/gtwa/gtwa.html&quot; rel=&quot;nofollow&quot;&gt;book&lt;/a&gt; (page 53) for a sufficient, but not necessary, condition for non-Hamiltonicity:  If $G$ is Hamiltonian then, for every nonempty subset, $S$, of $V$:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$ \omega(G - S) \le |S| $$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Where $\omega(G - S)$ is the number of connected components left in $G$ after removing the vertices in $S$.  A simple counterexample for the converse is the &lt;a href=&quot;http://en.wikipedia.org/wiki/Petersen_graph&quot; rel=&quot;nofollow&quot;&gt;peterson graph&lt;/a&gt;: It passes the above test but is not Hamiltonian.&lt;/p&gt;&#xA;" OwnerUserId="834" LastActivityDate="2011-01-10T03:39:28.907" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4219" PostTypeId="1" AcceptedAnswerId="4286" CreationDate="2011-01-10T06:14:40.040" Score="7" ViewCount="783" Body="&lt;p&gt;Imagine that you are going to a shop. In front of the shop there are $N$ number of parking slots. That shop is located at the $k^{th}$ slot.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As you drive along the parking slots, you notice that for $n$ parking slots, $n_{fill}$ of the slots are filled, whereas $n_{empty}$ slots are empty ( naturally, $n=n_{fill}+n_{empty}$ and $n&amp;lt;k$ ). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Base on this information, and the assumption that all slots are equal ( that is, one won't prefer this slot over that slot, or this block of slots over that block of slots), what is the optimum strategy to find the parking space that is the nearest to the shop?&lt;/p&gt;&#xA;" OwnerUserId="440" LastEditorUserId="440" LastEditDate="2011-01-12T04:15:49.100" LastActivityDate="2012-03-23T20:22:02.073" Title="The Optimum Strategy to Find the Best Parking Slot Along a Busy Road" Tags="&lt;gt.game-theory&gt;&lt;queueing-theory&gt;" AnswerCount="1" CommentCount="10" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4220" PostTypeId="1" CreationDate="2011-01-10T07:47:36.760" Score="1" ViewCount="203" Body="&lt;p&gt;Here is a puzzle (which I am sure somebody must have studied in TCS):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose I have $x$ balls, each having a unique $O(\log x)$ bit name (the names have no structure). These balls are distributed into $y$ boxes, each box containing equal number of balls.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I want to name each of the boxes such that, given the name of one of the balls, I can identify the box that contains the ball?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is the minimum number of bits required to name the boxes? How does the solution change if some balls have similar names (i.e., if names are not unique)?&lt;/p&gt;&#xA;" OwnerDisplayName="user3154" LastEditorUserId="186" LastEditDate="2011-01-10T10:22:59.493" LastActivityDate="2011-01-10T10:22:59.493" Title="Naming the Boxes" Tags="&lt;co.combinatorics&gt;&lt;puzzles&gt;" AnswerCount="1" CommentCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="4221" PostTypeId="2" ParentId="4204" CreationDate="2011-01-10T07:51:31.277" Score="4" Body="&lt;p&gt;There is some justification for using the external memory model as a model of energy-aware computation. Paolo Ferragina discussed this briefly in his invited talk at ESA 2010, but I don't know if there are any published results. The basic idea is that if the number of I/Os dominates computation time, then the energy required for those I/Os will probably dominate total energy consumption.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The &lt;a href=&quot;http://scipm.cs.vt.edu/SciPM-ReportToNSF-Web.pdf&quot; rel=&quot;nofollow&quot;&gt;report&lt;/a&gt; of the &lt;a href=&quot;http://scipm.cs.vt.edu/&quot; rel=&quot;nofollow&quot;&gt;First Workshop on the Science of Power Management&lt;/a&gt; mainly contained questions and open problems. I don't know what happened at the &lt;a href=&quot;http://www.cs.pitt.edu/~kirk/SciPM2/&quot; rel=&quot;nofollow&quot;&gt;Second Workshop&lt;/a&gt;, but the web pages tell that there will be a special issue of Sustainable Computing dedicated to theoretical, mathematical, and algorithmic approaches to sustainable computing. &lt;/p&gt;&#xA;" OwnerUserId="56" LastActivityDate="2011-01-10T07:51:31.277" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4222" PostTypeId="1" CreationDate="2011-01-10T08:06:45.760" Score="3" ViewCount="455" Body="&lt;p&gt;Suppose we want to compare two protocols on the computational costs. One of the protocols is designed using random oracle model (we call it the first protocol) and the other protocol uses is designed over common reference string (we call it the second protocol).   &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now if we want to compare these two, we have to rely on the most costly operation in them. In the first protocol it is the hashing operation and in the second, the modular exponentiation. How can I compare these two protocols assuming both of them work over the same length of security parameter.   &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For simplicity, assume that the first protocol uses &quot;n&quot; hashing operation to complete and the second protocol uses &quot;2n&quot; modular exponentiation to output the result. &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there any way to compare these two? What measures should I consider when comparing these protocols?   &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;To give a little background on the models, the Common Reference String (CRS) is the model which a global coin is assumed, which means a reference string (mostly a random one) is distributed among the parties. The random oracle model is the model which is essentially formalizing the hash functions. In this model, every party has oracle access to a random function (i.e., they submit the query to a function (oracle) some where and get the results, which in this case is a random string). When implementing a protocol with this model, the queries are replaced by calculating a hash function.&lt;/p&gt;&#xA;" OwnerUserId="943" LastEditorUserId="943" LastEditDate="2011-01-11T09:00:30.977" LastActivityDate="2011-01-11T21:02:02.223" Title="Comparison of Hashing and Modular Exponentiation" Tags="&lt;cr.crypto-security&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4223" PostTypeId="2" ParentId="4220" CreationDate="2011-01-10T08:22:29.147" Score="1" Body="&lt;p&gt;The questions is what you are allowed to do, can you look at the names of all the boxes or you just one to decide for a given ball and box whether the ball is in that box? I suppose y is at most x in the problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you can look at only one box, then its name has to describe which balls are in it, so you would need x/y log x bits/boxes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you can look at all the box names, then the problem becomes to count the number of ways you can evenly distribute x balls into y boxes, I think this will also give x/y log x bits/boxes though I am not 100% sure.&lt;/p&gt;&#xA;" OwnerUserId="419" LastEditorUserId="419" LastEditDate="2011-01-10T08:31:39.140" LastActivityDate="2011-01-10T08:31:39.140" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4225" PostTypeId="1" AcceptedAnswerId="4243" CreationDate="2011-01-10T11:06:58.850" Score="2" ViewCount="148" Body="&lt;p&gt;Suppose you have a large set of queries (could be in SQL form, but conceivably the same problem exists for search engine query strings or Lucene expressions, etc...) stored and you want to know which of these queries matches a specific object X: is there a general approach to this problem? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Naive implementation would of course be to iterate over all queries, execute them and see if object X is an element of the results found. I expect that a solution would consist of using the indexes that are useful for the operation &quot;query -&gt; results&quot; to perform the &quot;result -&gt; queries&quot; search to find a small superset of the correct set of queries.&lt;/p&gt;&#xA;" OwnerUserId="3157" LastEditorUserId="186" LastEditDate="2011-01-10T22:43:08.827" LastActivityDate="2011-01-11T14:43:00.867" Title="Searching for matching queries" Tags="&lt;ds.algorithms&gt;&lt;descriptive-complexity&gt;&lt;db.databases&gt;&lt;finite-model-theory&gt;" AnswerCount="3" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="4226" PostTypeId="2" ParentId="2773" CreationDate="2011-01-10T11:13:45.007" Score="3" Body="&lt;p&gt;I would simply do as follows:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Start with a tree decomposition $T$ of $G$. Each time you would like to compute the number of self avoiding walks on $G$ passing through $u$ and some other node, do dynamic programming on the tree decomposition $T&amp;#39;$ obtained from $T$ by adding $u$ to each bag of the tree decomposition. The width of $T&amp;#39;$ is at most the width of $T$ plus one, and you cannot hope for anything better in general.&lt;/p&gt;&#xA;" OwnerUserId="72" LastActivityDate="2011-01-10T11:13:45.007" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4227" PostTypeId="1" AcceptedAnswerId="4235" CreationDate="2011-01-10T11:31:33.070" Score="24" ViewCount="2468" Body="&lt;p&gt;Let $G=(V,E)$ be a graph. For a vertex $x\in V$, define $N(x)$ to be the (open) neighbourhood of $x$ in $G$. That is, $N(x)=\{y\in V \,\vert\, \{x,y\}\in E\}$. Define two vertices $u,v$ in $G$ to be &lt;em&gt;twins&lt;/em&gt; if $u$ and $v$ have the same set of neighbours, that is, if $N(u)=N(v)$.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Given a graph $G$ on $n$ vertices and $m$ edges as input, how fast can we find a pair of twins in $G$, if such a pair exists?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;We can check whether two given vertices are twins in $O(n)$ time, by comparing their neighbourhoods. A straightforward algorithm is to find twins is thus to check, for each pair of vertices, whether they are twins. This takes $O(n^{3})$ time (and also finds &lt;em&gt;all&lt;/em&gt; pairs of twins). Is there is significantly faster way to find (if there exists) a pair of twins in the graph? Is there known work in the literature that addresses this problem?&lt;/p&gt;&#xA;" OwnerUserId="148" LastEditorUserId="1800" LastEditDate="2011-01-10T11:59:55.010" LastActivityDate="2014-12-05T21:30:20.437" Title="Finding twin vertices in graphs" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;graph-algorithms&gt;" AnswerCount="7" CommentCount="3" FavoriteCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="4228" PostTypeId="2" ParentId="4227" CreationDate="2011-01-10T11:59:12.873" Score="8" Body="&lt;p&gt;EDIT: the solutions by @MikleB and @Travis are much clever. Sorry for the overkilling answer.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;It seems that the problem can be reduced to the &lt;strong&gt;matrix multiplication problem&lt;/strong&gt; on the adjacency matrix $A$ of the graph, by replacing multiplication with EQU (that is, NXOR) and addition with AND. So if there is a pair of twins in the graph, then the resulting matrix $AA^T$ will not be the identity matrix, and the indices $(i,j)$ where the value $a_{i,j}$ is not zero are exactly the twin pair nodes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To my best knowledge the matrix multiplication problem can be solved in $O(n^\alpha)$ time with $\alpha \approx 2.376$ by the &lt;a href=&quot;http://en.wikipedia.org/wiki/Coppersmith%E2%80%93Winograd_algorithm&quot; rel=&quot;nofollow&quot;&gt;Coppersmith–Winograd algorithm&lt;/a&gt;. If practical solutions are needed, any matrix multiplication algorithms works well in practice are nice. &lt;/p&gt;&#xA;" OwnerUserId="1800" LastEditorUserId="1800" LastEditDate="2011-01-10T14:18:39.347" LastActivityDate="2011-01-10T14:18:39.347" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="4229" PostTypeId="2" ParentId="4227" CreationDate="2011-01-10T12:07:56.740" Score="1" Body="&lt;p&gt;Some observations that might help&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;For $a,b \in V$ if $a$ is not twin of $b$ then $c$ and $d$ can't be twins where  $c \in N(a)$ and $d \in N(b)$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;$|N(a)| \neq |N(b)|$ then $a$ and $b$ can't be twins.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;If $b \in N(a)$ then $a$ and $b$ can't be twins. This works only if you are looking for non-adjacent twins.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;If twins exist then determinant of the adjacency matrix is zero. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Fancy idea:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Build a complete binary tree with height = |V|.&lt;/li&gt;&#xA;&lt;li&gt;Then start reading one row of adjacency matrix.&lt;/li&gt;&#xA;&lt;li&gt;If you encounter 0 take left otherwise take right.&lt;/li&gt;&#xA;&lt;li&gt;When you reach a leaf store your vertex there.&lt;/li&gt;&#xA;&lt;li&gt;Do this for all the rows.&#xA;So, in the end each leaf will have neighbors. &lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;&lt;strike&gt;Stolen from&lt;/strike&gt; Inspired by Huffman compression algorithm! :)&lt;/p&gt;&#xA;" OwnerUserId="612" LastEditorUserId="612" LastEditDate="2011-01-10T14:12:07.443" LastActivityDate="2011-01-10T14:12:07.443" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="4230" PostTypeId="2" ParentId="4225" CreationDate="2011-01-10T12:36:13.397" Score="1" Body="&lt;ol&gt;&#xA;&lt;li&gt;Create a new table with only one object i.e. object X&lt;/li&gt;&#xA;&lt;li&gt;Execute all the queries on it.&lt;/li&gt;&#xA;&lt;li&gt;Discard those which return nothing.&lt;/li&gt;&#xA;&lt;li&gt;Remaining queries are the queries that match your object X.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;This will be faster than searching in a big table.&lt;/p&gt;&#xA;" OwnerUserId="612" LastActivityDate="2011-01-10T12:36:13.397" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4231" PostTypeId="2" ParentId="4227" CreationDate="2011-01-10T13:12:54.207" Score="5" Body="&lt;p&gt;Because of the crazy system on this site I can't comment directly, but I have a couple of observations on existing answers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm pretty sure Hsien-Chih Chang's solution needs to correct $A^2$ to $AA^T$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;TheMachineCharmer's observation 4 is back to front (counter-example: [0,0,1],[0,1,0],[0,1,1] has determinant 0 but no twins). If twins exist then the determinant is zero.&lt;/p&gt;&#xA;" OwnerUserId="3131" LastEditorUserId="3131" LastEditDate="2011-01-10T13:51:48.713" LastActivityDate="2011-01-10T13:51:48.713" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="4232" PostTypeId="2" ParentId="4198" CreationDate="2011-01-10T13:20:55.167" Score="7" Body="&lt;p&gt;Reductions are defined with respect to the decision version of the problems.  Approximation ratios for their optimization versions are a separate question, which seems related but doesn't necessarily have to be.  So to answer your question with a question, from a philosophical perspective, why should you expect the class NPC to preserve approximation ratios when it isn't defined with respect to them in the first place?&lt;/p&gt;&#xA;" OwnerUserId="123" LastActivityDate="2011-01-10T13:20:55.167" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="4234" PostTypeId="2" ParentId="4227" CreationDate="2011-01-10T14:02:20.327" Score="12" Body="&lt;p&gt;The problem is equivalent to determining is there two equal rows in graph matrix.&#xA;We can construct trie on rows of graph matrix. Time compleixty will be O(n^2)&lt;/p&gt;&#xA;" OwnerUserId="3159" LastActivityDate="2011-01-10T14:02:20.327" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="4235" PostTypeId="2" ParentId="4227" CreationDate="2011-01-10T14:02:39.403" Score="21" Body="&lt;p&gt;Twins in a graph are just modules of size 2. The modular decomposition of a graph can be found in $O(n+m)$ time. The modular decomposition tree implicitly represents all modules of the graph and consists of three types of internal nodes: series, parallel and prime nodes, and the leaves consists of the individual nodes. A set of at least two vertices $S \subset V$ is a module if and only if it is some node in the tree or the union of some set of children of a series or a parallel node.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So to find a pair of twin nodes, if they exist, we can construct the modular decomposition tree in $O(n+m)$ time. Then look at the leaves, if the parent of any leaf is a series or parallel node then that node must have at least two children which form a twin pair. So the total running time is linear.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Modular_decomposition&quot;&gt;http://en.wikipedia.org/wiki/Modular_decomposition&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="482" LastActivityDate="2011-01-10T14:02:39.403" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4236" PostTypeId="1" AcceptedAnswerId="4239" CreationDate="2011-01-10T16:55:50.690" Score="0" ViewCount="251" Body="&lt;p&gt;I think people here could guide me in solving a problem related to anomaly detection. The term anomaly here refers to some malware attack.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I could get information about the malware infection from more than one source. For example extracting value from two different data strututres and if the value is different it is certain that virus infection is there.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In order to remove the false positive cases, information is gathered from different data strutres or mechanisms. In that certain information are less trusted and certain information are more trusted.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am looking for a mathematical method, that could easily handle this type of situations?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Update 1:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Its applied in Linux Kernel for detecting some kind of anomalies. But the problem is that if the kernel is affected you cant trust anyone. But &quot;some&quot; behavior can tell you that anomaly is there. But some others not &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Update 2:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Current models mainly depends on archived copy of the system before infection and then compare it with the new state. I am looking for some other method like&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(1) Certain variables cant be accessed by a normal module&#xA;(2) Information given by command should match&#xA;(3) Module code didn't have any &lt;em&gt;jmp&lt;/em&gt; instructions often&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In these (3) is allowed to some extent. But (1) is disallowed. The (2) should certainly match. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hope now things are clear.&lt;/p&gt;&#xA;" OwnerUserId="3162" LastEditorUserId="186" LastEditDate="2011-01-11T09:05:54.360" LastActivityDate="2011-02-10T20:56:07.033" Title="Help needed on method to use for anomaly detection" Tags="&lt;cr.crypto-security&gt;&lt;formal-modeling&gt;&lt;data-mining&gt;" AnswerCount="1" CommentCount="11" ClosedDate="2011-02-11T07:30:14.807" ContentLicense="CC BY-SA 2.5" />
  <row Id="4237" PostTypeId="2" ParentId="4190" CreationDate="2011-01-10T16:57:19.363" Score="9" Body="&lt;p&gt;See &lt;a href=&quot;https://cstheory.stackexchange.com/questions/3024/upper-bounds-on-the-length-of-longest-simple-path-in-non-hamiltonian-graph/3026#3026&quot;&gt;this answer to an earlier question&lt;/a&gt; for a bridgeless cubic graph in which the longest path is only polylogarithmically long.&lt;/p&gt;&#xA;" OwnerUserId="95" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2011-01-10T16:57:19.363" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4238" PostTypeId="1" CreationDate="2011-01-10T17:00:04.957" Score="6" ViewCount="894" Body="&lt;p&gt;Given a relational database and the problem is to generate some minimal cover (i.e. the minimal (by cardinality) set of functional dependencies that all other FD follows from them by Armstrong rules) in output polynomial time. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's look like that this problem can not be solved in output polynomial time unless $P=NP$, but I couldn't find any papers about it.&lt;/p&gt;&#xA;" OwnerUserId="3159" LastEditorUserId="80" LastEditDate="2011-01-14T06:13:44.293" LastActivityDate="2011-01-18T15:28:30.173" Title="Complexity of finding minimal cover of FDs" Tags="&lt;np-hardness&gt;&lt;db.databases&gt;" AnswerCount="3" CommentCount="9" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4239" PostTypeId="2" ParentId="4236" CreationDate="2011-01-10T17:14:11.620" Score="4" Body="&lt;p&gt;First of all, I warn that things aren't that simple. Up until now, researchers haven't came up with a perfect algorithm to do that (and I'm almost sure they never will!)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, there are many competing approaches to do what you want. They compete in efficiency, false-positive rate, false-negative rate, and so on.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The model is as follows: Assume you have a number of algorithms (fuzzy, genetic, neural net, etc.) which process (possibly different) streams of data, and generate alerts if they find anomaly. You then have a &lt;strong&gt;stream of alerts&lt;/strong&gt;, which must be &lt;strong&gt;correlated&lt;/strong&gt; by another algorithm. Unsurprisingly, such algorithm is called &lt;strong&gt;alert correlation&lt;/strong&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can find hundreds of papers on this subject &lt;a href=&quot;http://scholar.google.com/scholar?hl=en&amp;amp;safe=off&amp;amp;q=%22alert%20correlation%22&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;. While this term is usually applied to IDS algorithms, there's nothing preventing you from applying it to antivirus algorithms.&lt;/p&gt;&#xA;" OwnerUserId="873" LastEditorUserId="-1" LastEditDate="2011-02-10T20:56:07.033" LastActivityDate="2011-02-10T20:56:07.033" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="4240" PostTypeId="1" CreationDate="2011-01-10T20:00:51.487" Score="6" ViewCount="374" Body="&lt;p&gt;The following paper presents a way to solve the maximum weight matching of a bipartite graph by reducing it to computing maximum weight matchings of two lighter bipartite graphs:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;M.-Y. Kao, T. W. Lam, W.-K. Sung, and H.-F. Ting. &lt;a href=&quot;http://dx.doi.org/10.1007/3-540-48481-7_38&quot; rel=&quot;nofollow&quot;&gt;A decomposition theorem&#xA;for maximum weight bipartite matchings with applications to evolutionary&#xA;trees&lt;/a&gt;. In Proc. of the 7th Annual European Symposium on Algorithms (ESA’99),&#xA;pages 438–449, 1999.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a generalization of the result which also holds for non-bipartite weighted graphs?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thank you.&lt;/p&gt;&#xA;" OwnerUserId="604" LastEditorUserId="186" LastEditDate="2011-01-10T22:54:27.387" LastActivityDate="2011-01-11T13:48:54.427" Title="A decomposition theorem for maximum weight matchings" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;matching&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4241" PostTypeId="2" ParentId="4167" CreationDate="2011-01-10T22:43:32.983" Score="3" Body="&lt;p&gt;Another example of such a reduction is the hardness proof for VC-dimension. See &quot;Parameterized learning complexity&quot; by Downey, Evans and Fellows.&lt;/p&gt;&#xA;" OwnerUserId="3168" LastActivityDate="2011-01-10T22:43:32.983" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4243" PostTypeId="2" ParentId="4225" CreationDate="2011-01-10T23:47:54.850" Score="1" Body="&lt;p&gt;Place all the queries in conjunctive normal form. Decompose the set of CNF queries into a tree (with the head simply being True), where each terminating node is labeled with the query that path represents. We now only needs to walk further down those branches of the tree for which the head is satisfied.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This creates a new question -- by which criteria can we judge which trees are better than others? I tend to think a greedy algorithm will give a good approximation for minimum nodes (if the remainder of clauses of a given query are unique, they can of course be packed into a single node), but more interesting would be something which took into account the expected distribution of inputs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;That's for the general case of boolean formulas, of course. For any specific &lt;em&gt;type&lt;/em&gt; of query, such as just substrings, I imagine there would be various things that can be done.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit: In fact, for queries (or portions of queries) which can be represented as regular expressions, one can use the techniques presented in &lt;a href=&quot;http://sebfisch.github.com/haskell-regexp/regexp-play.pdf&quot; rel=&quot;nofollow&quot;&gt;A Play on Regular Expressions&lt;/a&gt; and take the union of these regular expressions over a semiring which counts matches to each original query.&lt;/p&gt;&#xA;" OwnerUserId="351" LastEditorUserId="351" LastEditDate="2011-01-11T14:43:00.867" LastActivityDate="2011-01-11T14:43:00.867" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4244" PostTypeId="1" AcceptedAnswerId="4250" CreationDate="2011-01-11T00:35:06.543" Score="3" ViewCount="229" Body="&lt;p&gt;So I asked a similar question on &lt;a href=&quot;https://mathoverflow.net/questions/51657/closure-of-cfls-under-complementation-and-intersection&quot;&gt;MathOverflow&lt;/a&gt;, but I now realize I asked the wrong question and asked it in the wrong place.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Anyway, I'm searching for a class of languages containing the boolean closure of CFLs that has a 'pumping-type' condition on it. What I've found so far are:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;MCFGs (multiple context-free languages), which have a nice pumping lemma and contain CFLs (though it's not obvious if they contain the boolean closure of CFLs, since they're not boolean-closed themselves), &#xA;&lt;li&gt;ET0L languages (which contain CFLs, have a 'pumping-type' lemma, and are (full) AFLs themselves--but I don't think they necessarily contain the boolean closure of CFLs), &#xA;&lt;li&gt;Mildly CSLs (which apparently have pumping-type lemmas?), &#xA;&lt;li&gt;Indexed languages (which have a 'shrinking' lemma), etc.&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Now, I'm certainly no specialist in formal language theory, so I don't know too much about these classes. Anyway, does such a class exist, and, if so, where can I find papers/etc. on it?&lt;/p&gt;&#xA;" OwnerUserId="3169" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2011-01-11T12:12:04.213" Title="Classes containing boolean closure of CFLs" Tags="&lt;reference-request&gt;&lt;fl.formal-languages&gt;&lt;context-free&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4246" PostTypeId="1" CreationDate="2011-01-11T05:38:07.197" Score="1" ViewCount="116" Body="&lt;p&gt;Yesterday, I discussed with one of my EE friends. She asked me an interesting problem and I simplify it by ignoring the bandwidth cost and model as following:&#xA;Given a graph $G=(V,E)$ with its path set $P=\{P_1,P_2,\ldots, P_m\}$ where $P_i$ is a path &#xA;between two points in $V$. A path $P_i$ is colored by red if only and only if one of it's edges is colored by red, i.e. $P^c=red$; otherwise $P_i$ is colored by blue, i.e. $P^c=blue$. Find a subset $P_s\subseteq P$ s.t. 1) If for every $j$ color all edges in $G$ by blue except only one $e_j\in E$ by red, &#xA;there is a subset $P_s&amp;#39; =\{P_1,P_2,\ldots,P_t\}$ in $P_s$ such that $f(P_1^c,\ldots,P_t^c)=e_j$ where f() is one-to-one mapping; 2) minimize the size of the result set $P_s$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My questions are:&#xA;1) is there any similar work done in TCS?&#xA;2) is there any similar work done in graph theory?&#xA;3)2) is there any similar work done in networks?&#xA;3) any discussions about this problem are welcome.&lt;/p&gt;&#xA;" OwnerUserId="917" LastEditorUserId="917" LastEditDate="2011-01-11T07:54:54.200" LastActivityDate="2011-01-11T07:54:54.200" Title="Is any related work to this m-trails problem ?" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;" AnswerCount="1" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="4247" PostTypeId="2" ParentId="4246" CreationDate="2011-01-11T07:29:33.880" Score="2" Body="&lt;p&gt;What is $f$? I seems that you're asking for a one-to-one mapping between a power set over a power set of edges and the edges - which would surely be possible only if there's no more than one edge.&lt;/p&gt;&#xA;" OwnerUserId="3131" LastActivityDate="2011-01-11T07:29:33.880" CommentCount="11" ContentLicense="CC BY-SA 2.5" />
  <row Id="4248" PostTypeId="1" CreationDate="2011-01-11T07:40:45.430" Score="12" ViewCount="681" Body="&lt;p&gt;Razborov proved that every monotone circuit that computes the perfect matching function for bipartite graphs must have at least $n^{\Omega(\log n)}$ gates (he called it &quot;logical permanent&quot;). Has a better lower bound for the same problem been proved since then? (say $2^{n^\epsilon}$?) As far as I remember this problem was open in the mid 1990's.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am aware that the clique function requires exponential-size monotone circuits and so on, but I am interested in perfect matching specifically.&lt;/p&gt;&#xA;" OwnerUserId="1509" LastEditorUserId="1509" LastEditDate="2011-01-11T08:22:30.993" LastActivityDate="2011-01-12T16:01:15.660" Title="Improved lower bound on monotone circuit complexity of perfect matching?" Tags="&lt;cc.complexity-theory&gt;&lt;circuit-complexity&gt;&lt;matching&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="4249" PostTypeId="2" ParentId="4248" CreationDate="2011-01-11T10:20:45.043" Score="10" Body="&lt;p&gt;Eva Tardos proved that the gap is truly exponential by showing that there is a monotone boolean function that has poly size circuits but requires exponential size monotone circuits. Nothing better than super-polynomial is known for matching.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Raz has a result that monotone circuits for matching have linear depth. (Thanks Klauck, for pointing the typo.) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;AFAIK, we know nothing better.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Ref: (1) &lt;a href=&quot;http://www.springerlink.com/index/P25X5838624J0352.pdf&quot;&gt;http://www.springerlink.com/index/P25X5838624J0352.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(2) &lt;a href=&quot;http://www.wisdom.weizmann.ac.il/~ranraz/publications/Pmatching.ps&quot;&gt;http://www.wisdom.weizmann.ac.il/~ranraz/publications/Pmatching.ps&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="1449" LastEditorUserId="1449" LastEditDate="2011-01-12T16:01:15.660" LastActivityDate="2011-01-12T16:01:15.660" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="4250" PostTypeId="2" ParentId="4244" CreationDate="2011-01-11T12:12:04.213" Score="5" Body="&lt;p&gt;This is not an answer to your question per se, but might explain why finding sensible classes of languages more or less fitting your requirements will be hard: recall that the emptiness of intersection of two context-free languages is undecidable, thus the full boolean closure of CFLs is not a very interesting class... (In fact, any R.E. language $L$ can be expressed as $h(L_1\cap L_2)$ for $L_1$ and $L_2$ deterministic context-free and $h$ an homomorphism.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More in the scope of your question, you can look at &lt;a href=&quot;http://users.utu.fi/aleokh/&quot; rel=&quot;nofollow&quot;&gt;Alexander Okhotin&lt;/a&gt;'s work on conjunctive and boolean grammars, but I don't recall any pumping results.&lt;/p&gt;&#xA;" OwnerUserId="609" LastActivityDate="2011-01-11T12:12:04.213" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4251" PostTypeId="2" ParentId="4150" CreationDate="2011-01-11T12:54:27.033" Score="4" Body="&lt;p&gt;An answer in case the monoid generated by $A$ for matrix multiplication is finite: Alain Finkel and Jérôme Leroux, &lt;em&gt;How to Compose Presburger-accelerations: Applications to Broadcast Protocols&lt;/em&gt;, in FSTTCS 2002 (Foundations of Software Technology and Theoretical Computer Science) &#xA;Lecture Notes in Computer Science 2556, pages 145--156, &lt;a href=&quot;http://dx.doi.org/10.1007/3-540-36206-1_14&quot; rel=&quot;nofollow&quot;&gt;DOI: 10.1007/3-540-36206-1_14&lt;/a&gt;, 2002 (see also the many references there).  The relation $R^k$ is represented by an effectively computable Presburger formula.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A more recent reference on the subject of actually computing the transitive closure is Marius Bozga, Radu Iosif and Filip Konečný, &lt;em&gt;Fast Acceleration of Ultimately Periodic Relations&lt;/em&gt;, in CAV 2010 (Computer Aided Verification), Lecture Notes in Computer Science 6174, pages 227--242, &lt;a href=&quot;http://dx.doi.org/10.1007/978-3-642-14295-6_23&quot; rel=&quot;nofollow&quot;&gt;DOI: 10.1007/978-3-642-14295-6_23&lt;/a&gt;, 2010.&lt;/p&gt;&#xA;" OwnerUserId="609" LastActivityDate="2011-01-11T12:54:27.033" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4252" PostTypeId="2" ParentId="4225" CreationDate="2011-01-11T13:38:16.350" Score="0" Body="&lt;p&gt;For a single query, there is of course query optimization , which allows us to plan in which order should we apply the operators that compute the query.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is also a multi-query optimization, although to my knowledge it's not as successful as single query optimization, which is seen as a vital component of any DBMS. A quick search in google gave me this &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=42203&quot; rel=&quot;nofollow&quot;&gt;paper&lt;/a&gt; , I believe there is extensive research in this problem and you won't have trouble finding related material to your question.&lt;/p&gt;&#xA;" OwnerUserId="879" LastActivityDate="2011-01-11T13:38:16.350" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4253" PostTypeId="2" ParentId="4240" CreationDate="2011-01-11T13:48:54.427" Score="4" Body="&lt;p&gt;Are you actually looking for a polynomial time algorithm solving maximum weight matching for general graphs, or a specific way to solve it using a kind of decomposition?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the former case, the following paper gives an $\mathcal{O}\big(n(m + \log n)\big)$ exact algorithm:&lt;br&gt;&#xA;&lt;a href=&quot;http://portal.acm.org/citation.cfm?id=320176.320229&quot; rel=&quot;nofollow&quot;&gt;H.N.Gabow. Data Structures for Weighted Matching and Nearest Common Ancestors witk Linking. SODA'90 (1990)&lt;/a&gt;&lt;br&gt;&#xA;And for a $(2/3 - \epsilon)$-approximation algorithm running in $\mathcal{O}(m \log 1/\epsilon)$:&lt;br&gt;&#xA;&lt;a href=&quot;http://dx.doi.org/10.1016/j.ipl.2004.05.007&quot; rel=&quot;nofollow&quot;&gt;S.Pettie, P.Sanders. A Simpler Linear $2/3 - \epsilon$ Approximation Algorithm for Maximum Weight Matching. Information Processing Letters, vol.91 (2004)&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="2898" LastActivityDate="2011-01-11T13:48:54.427" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4254" PostTypeId="1" AcceptedAnswerId="4268" CreationDate="2011-01-11T15:12:56.043" Score="20" ViewCount="1735" Body="&lt;p&gt;Define the following class of &quot;circular&quot; languages over a finite alphabet Sigma. Actually, the name already exists to denote a different thing it seems, used in the field of DNA computing. AFAICT, that's a different class of languages.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A language L is circular iff for all words $w$ in $\Sigma^*$, we have:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$w$ belongs to L if and only if for all integers $k &amp;gt; 0$, $w^k$ belongs to L.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is this class of languages known? I am interested in the circular languages which are also regular and in particular in:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;a name for them, if they are already known&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;decidability of the problem, given an automaton (in particular: a&#xA;DFA), whether the accepted language obeys to the above definition&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="3176" LastEditorUserId="3176" LastEditDate="2011-01-13T18:49:25.467" LastActivityDate="2012-09-03T02:40:20.310" Title="A special class of languages: “circular” languages. Is it known?" Tags="&lt;fl.formal-languages&gt;&lt;automata-theory&gt;&lt;regular-language&gt;" AnswerCount="5" CommentCount="6" FavoriteCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="4256" PostTypeId="2" ParentId="4254" CreationDate="2011-01-11T16:04:43.243" Score="6" Body="&lt;p&gt;@Dave Clarke, L = a*|b* would be circular, but L* would be (a|b)*.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In terms of decidability, a language $L$ is circular if there is an $L&amp;#39;$ such that $L$ is the closure under + of $L&amp;#39;$ or if it is a finite union of circular languages.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(I'm dying to redefine &quot;circular&quot; replacing your $&amp;gt;$ with $\ge$. It simplifies things a lot. We can then characterise the circular languages as those for which there exists a NDFA whose starting state has only epsilon-transitions to accepting states and has an epsilon-transition to each accepting state).&lt;/p&gt;&#xA;" OwnerUserId="3131" LastEditorUserId="3131" LastEditDate="2011-01-11T18:24:48.690" LastActivityDate="2011-01-11T18:24:48.690" CommentCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="4257" PostTypeId="2" ParentId="3871" CreationDate="2011-01-11T17:21:22.123" Score="2" Body="&lt;p&gt;You may find it useful to look into &lt;em&gt;blocking&lt;/em&gt; and &lt;em&gt;anti-blocking&lt;/em&gt; pairs of polyhedra.  Say you have a packing problem.  Then your feasible region $P$ is a corner polyhedron in the nonnegative orthant, and its anti-blocker $A(P)$ (also a corner polyhedron) is basically the set of inequalities defining $P$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, if you take the stable set polytope $STAB(G)$ for some graph $G$ (i.e. the convex hull of incidence vectors of stable sets), its anti-blocker is the fractional clique polytope of $G$, i.e. $QSTAB(\bar G)$ (i.e. the set of nonnegative weightings such that no stable set has total weight $&gt; 1$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you look at &quot;The ellipsoid method and its consequences in combinatorial optimization&quot; by Grötschel, Lovász, and Schrijver, you'll find that optimization over $P$ is in a sense computationally equivalent to optimization over $A(P)$.  This is one way to prove that computing the fractional chromatic number is NP-hard, since the dual region to the LP is the anti-blocker of the stable set polytope!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Sadly I have had a hard time finding a transparent explanation of this stuff, but I'm by no means an expert on polyhedra.  Hopefully you'll find it relevant to the problem at hand.&lt;/p&gt;&#xA;" OwnerUserId="1929" LastActivityDate="2011-01-11T17:21:22.123" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4258" PostTypeId="1" CreationDate="2011-01-11T17:23:07.760" Score="11" ViewCount="3515" Body="&lt;p&gt;Let $G(V,E)$ be an acyclic directed graph, such that out-degree of any vertex is $O(\log{|V|})$. For every vertex of $G$ we can count the number of reachable vertices, just by running &lt;em&gt;dfs&lt;/em&gt; from every vertex and this will take $O(|V||E|)$ time. Is there a better way to solve this problem?&lt;/p&gt;&#xA;" OwnerUserId="3159" LastEditorUserId="80" LastEditDate="2011-01-11T17:40:35.453" LastActivityDate="2016-10-19T07:39:33.410" Title="Number of reachable vertices in DAG for every vertex" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;directed-acyclic-graph&gt;" AnswerCount="3" CommentCount="6" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4259" PostTypeId="1" AcceptedAnswerId="4260" CreationDate="2011-01-11T18:30:29.153" Score="7" ViewCount="156" Body="&lt;p&gt;Quite a few results are available on learning miscellaneous concept classes in the PAC learning framework. I would like to know whether any of these results have been extended in the abstaining classifier setting, where the classifier is allowed to refrain from classifying certain examples under various restrictions. In particular, does abstaining improve accuracy in any way, and if so, can this improvement be quantified?&lt;/p&gt;&#xA;" OwnerUserId="775" LastActivityDate="2011-01-11T19:51:13.107" Title="Relating PAC learning results and abstaining classifiers" Tags="&lt;lg.learning&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4260" PostTypeId="2" ParentId="4259" CreationDate="2011-01-11T18:50:31.167" Score="6" Body="&lt;p&gt;There is work on this, and abstaining can sometimes help. You might be looking for this paper: &lt;a href=&quot;http://www.cs.cmu.edu/~avrim/Papers/kwikmb.pdf&quot;&gt;Trading Off Mistakes with Don't Know Predictions&lt;/a&gt; by Sayedi et al. from the last NIPS. &lt;/p&gt;&#xA;" OwnerUserId="25" LastActivityDate="2011-01-11T18:50:31.167" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4261" PostTypeId="2" ParentId="4259" CreationDate="2011-01-11T19:51:13.107" Score="4" Body="&lt;p&gt;The paper &lt;a href=&quot;http://people.csail.mit.edu/ronitt/papers/dfa.ps&quot; rel=&quot;nofollow&quot;&gt;Efficiently Learning Typical Finite Automata from Random Walks&lt;/a&gt; [Freund et al. '97] considered &lt;em&gt;default mistakes&lt;/em&gt;, where a learner defaults (or chooses not to answer), instead of predicting.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;From what I remember, they showed that 1) You can learn (w.h.p.) by making only default mistakes, and 2) If the random walk is reset (to the start state of the DFA) on a default mistake, this helps in learning.&lt;/p&gt;&#xA;" OwnerUserId="123" LastActivityDate="2011-01-11T19:51:13.107" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4262" PostTypeId="2" ParentId="4222" CreationDate="2011-01-11T21:02:02.223" Score="2" Body="&lt;p&gt;Hashing is much cheaper than modular exponentiation, so much so that it is often taken as &quot;free&quot; in efficiency analysis that uses modular arithmetic. My suggestion would be to do a rough comparison, like you said: protocol 1 uses m hashes, protocol 2 uses n exponentiations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If n&gt;m, protocol 1 is much faster.&#xA;If m&gt;a*n, I wouldn't start investigating further until a gets to be around 10^2 or 10^3. It seems unlikely that protocol 1 would use this many, unless if it is using a hash tree or similar data structure requiring lots of hashes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is no quick rule because the speed of an exponentiation at this level of scrutiny is dependent on the underlying group. Elliptic curves will be much faster than the integers mod p, and elliptic curve speed will depend on the type of curve.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Similarly, the speed of the hash function depends on how long the input message is. Does it fit into a single block, or does the hash need to iterate over it? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;As one ballpark figure, a 100MHz FPGA can do about 100 ModExps (1024 bit with 160 bit subgroup) in one second, while it can hash about 5000 message blocks (SHA256) in a second. &lt;/p&gt;&#xA;" OwnerUserId="1792" LastActivityDate="2011-01-11T21:02:02.223" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4263" PostTypeId="1" AcceptedAnswerId="4264" CreationDate="2011-01-11T21:13:52.173" Score="4" ViewCount="953" Body="&lt;p&gt;Is anything nontrivial known about the class $\mathrm{CFL}\cap \mathrm{coCFL}$? &lt;del&gt;In particular, is it known whether $\mathrm{CFL}\cap \mathrm{coCFL} = \mathrm{DCFL}$ (certainly the reverse containment is obvious.)? I hope I'm not being stupid here--don't laugh at me too much if this is totally trivial.&lt;/del&gt; I ask this because I'm trying to pin down a commutative closure of a regular language over a binary alphabet, and it's clear that it lies inside this set, via a result showing that slip-languages over an alphabet of size two have context-free commutative closure.&lt;/p&gt;&#xA;" OwnerUserId="3169" LastEditorUserId="3169" LastEditDate="2011-01-11T22:15:33.453" LastActivityDate="2011-01-11T22:15:33.453" Title="The class CFL\cap co-CFL" Tags="&lt;fl.formal-languages&gt;&lt;automata-theory&gt;&lt;context-free&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4264" PostTypeId="2" ParentId="4263" CreationDate="2011-01-11T21:51:23.537" Score="11" Body="&lt;p&gt;For every finite, non-unary alphabet, the language of all palindromes is not in DCFL, but in the intersection of coCFL and CFL.&lt;/p&gt;&#xA;" OwnerUserId="924" LastActivityDate="2011-01-11T21:51:23.537" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="4265" PostTypeId="1" AcceptedAnswerId="4266" CreationDate="2011-01-11T23:02:30.920" Score="3" ViewCount="488" Body="&lt;p&gt;Standard accounts of Turing Machines in the literature assume an infinitely long tape in at least one direction (and indeed infinitely time long to perform its computations). Clearly in practice no computer could have an infinite amount of cell storage either from the commencement of computations (even if we disregard the infinite amount of available time) or by adding blank cells at the end of the tape as required (which we'll eventually need if we assume infinite amount of time).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So my question is this: do the properties about Turing Machines obtained by assuming an infinitely long tape still hold of practical computing devices, for instance the existence of uncomputable functions? If so what does the assumption of an infinite tape buy us in terms making it easier to prove such properties?&lt;/p&gt;&#xA;" OwnerUserId="3178" LastEditorUserId="186" LastEditDate="2011-01-11T23:46:47.577" LastActivityDate="2011-01-12T10:59:03.130" Title="Does an infinitely long tape make any difference when proving theorems about Turing Machines?" Tags="&lt;computability&gt;&lt;turing-machines&gt;" AnswerCount="2" CommentCount="4" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="4266" PostTypeId="2" ParentId="4265" CreationDate="2011-01-11T23:19:45.127" Score="13" Body="&lt;p&gt;Yes it makes a huge difference!  A Turing machine with a finite tape is just a finite automaton, which we know are much less powerful.  For example, a TM with a finite tape cannot compute a context free grammar.  All of this is in theory, of course.&lt;/p&gt;&#xA;" OwnerUserId="123" LastActivityDate="2011-01-11T23:19:45.127" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="4268" PostTypeId="2" ParentId="4254" CreationDate="2011-01-12T02:40:15.397" Score="19" Body="&lt;p&gt;In the first part, we show an exponential algorithm for deciding circularity. In the second part, we show that this the problem is coNP-hard. In the third part, we show that every circular language is a union of languages of the form $r^+$ (here $r$ could be the empty regexp); the union is not necessarily disjoint. In the fourth part, we exhibit a circular language which cannot be written as a disjoint sum $\sum r_i^+$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit: Incorporated some corrections following Mark's comments. In particular, my earlier claims that circularity is coNP-complete or NP-hard are corrected.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit: Corrected normal form from $\sum r_i^*$ to $\sum r_i^+$. Exhibited an &quot;inherently ambiguous&quot; language.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Continuing Peter Taylor's comment, here's how to decide (extremely inefficiently) whether a language is circular given its DFA. Construct a new DFA whose states are $n$-tuples of the old states. This new DFA runs $n$ copies of the old DFA in parallel.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If the language is not circular then there is a word $w$ such that if we run it through the DFA repeatedly, starting with the initial state $s_0$, then we get states $s_1,\ldots,s_n$ such that $s_1$ is accepting but one of the other ones is not accepting (if all of them are accepting then then the sequence $s_0,\ldots,s_n$ must cycle so that $w^*$ is always in the language). In other words, we have a path from $s_0,\ldots,s_{n-1}$ to $s_1,\ldots,s_n$ where $s_1$ is accepting but one of the others is not accepting. Conversely, if the language is circular then that cannot happen.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So we've reduced the problem to a simple directed reachability test (just check all possible &quot;bad&quot; $n$-tuples).&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;The problem of circularity is coNP-hard. Suppose we're given a 3SAT instance with $n$ variables $\vec{x}$ and $m$ clauses $C_1,\ldots,C_m$. We can assume that $n = m$ (add dummy variables) and that $n$ is prime (otherwise find a prime between $n$ and $2n$ using AKS primality testing, and add dummy variables and clauses).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider the following language: &quot;the input is &lt;i&gt;not&lt;/i&gt; of the form $\vec{x}_1 \cdots \vec{x}_n$ where $\vec{x}_i$ is a satisfying assignment for $C_i$&quot;. It is easy to construct an $O(n^2)$ DFA for this language. If the language is not circular then there is a word $w$ in the language, some power of which is not in the language. Since the only words not in the language have length $n^2$, $w$ must be of length $1$ or $n$. If it is of length $1$, consider $w^n$ instead (it is still in the language), so that $w$ is in the language and $w^n$ is not in the language. The fact that $w^n$ is not in the language means that $w$ is a satisfying assignment.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Conversely, any satisfying assignment translates to a word proving the non-circularity of the language: the satisfying assignment $w$ belongs to the language but $w^n$ does not. Thus the language is circular iff the 3SAT instance is unsatisfiable.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;In this part, we discuss a normal form for circular languages. Consider some DFA for a circular language $L$. A sequence $C = C_0,\ldots$ is &lt;i&gt;real&lt;/i&gt; if $C_0 = s$ (the initial state), all other states are accepting, and $C_i = C_j$ implies $C_{i+1} = C_{j+1}$. Thus every real sequence is eventually periodic, and there are only finitely many real sequences (since the DFA has finitely many states).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We say that a word &lt;i&gt;behaves according to $C$&lt;/i&gt; if the word takes the DFA from state $c_i$ to state $c_{i+1}$, for all $i$. The set of all such words $E(C)$ is regular (the argument is similar to the first part of this answer). Note that $E(C)$ is a subset of $L$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a real sequence $C$, define $C^k$ to be the sequence $C^k(t) = C(kt)$. The sequence $C^k$ is also real. Since there are only finitely many different sequences $C^k$, the language $D(C)$ which is the union of all $E(C^k)$ is also regular.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We claim that $D(C)$ has the property that if $x,y \in D(C)$ then $xy \in D(C)$. Indeed, suppose that $x \in C^k$ and $y \in C^l$. Then $xy \in C^{k+l}$. Thus $D(C) = D(C)^+$ can be written in the form $r^+$ for some regular expression $r$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Every word $w$ in the language corresponds to some real sequence $C$, i.e. there exists a real sequence $C$ that $w$ behaves according to. Thus $L$ is the union of $D(C)$ over all real sequence $C$. Therefore every circular language has a representation of the form $\sum r_i^+$. Conversely, every such language is circular (trivially).&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Consider the circular language $L$ of all words over $a,b$ that contain either an even number or $a$'s or an even number of $b$'s (or both). We show that it cannot be written as a disjoint sum $\sum r_i^+$; by &quot;disjoint&quot; we mean that $r_i^+ \cap r_j^+ = \varnothing$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $N_i$ be the size of the some DFA for $r_i^+$, and $N &amp;gt; \max N_i$ be some &lt;i&gt;odd&lt;/i&gt; integer. Consider $x = a^N b^{N!}$. Since $x \in L$, $x \in r_i^+$ for some $i$. By the pumping lemma, we can pump a prefix of $x$ of length at most $N$. Thus $r_i^+$ generates $z = a^{N!} b^{N!}$. Similarly, $y = a^{N!} b^N$ is generated by some $r_j^+$, which also generates $z$. Note that $i \neq j$ since $xy \notin L$. Thus the representation cannot be disjoint.&lt;/p&gt;&#xA;" OwnerUserId="40" LastEditorUserId="40" LastEditDate="2011-01-13T00:48:50.417" LastActivityDate="2011-01-13T00:48:50.417" CommentCount="7" ContentLicense="CC BY-SA 2.5" />
  <row Id="4271" PostTypeId="1" AcceptedAnswerId="4275" CreationDate="2011-01-12T08:17:58.990" Score="5" ViewCount="312" Body="&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Input: Graph $G$ and formula $\varphi_1(\vec x),\varphi_2(\vec x)$ &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Parameter: $tw(G)+|\varphi_1|+|\varphi_2|$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Problem: Decide if $|\varphi_1(G)|=|\varphi_2(G)|$&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;where $tw(G)$ is the treewidth of $G$ and $\varphi(G):=\{\vec a|(G,\vec a)\models\varphi\}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is the parametrized complexity of this problem for $\varphi_i\in FO$ or $\varphi_i\in MSO$?&lt;/p&gt;&#xA;" OwnerUserId="553" LastEditorUserId="186" LastEditDate="2011-01-14T05:43:34.043" LastActivityDate="2011-01-14T05:43:34.043" Title="What is the parameterized complexity of following model checking problem?" Tags="&lt;cc.complexity-theory&gt;&lt;descriptive-complexity&gt;&lt;parameterized-complexity&gt;&lt;finite-model-theory&gt;&lt;model-checking&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4272" PostTypeId="2" ParentId="4167" CreationDate="2011-01-12T08:37:37.587" Score="9" Body="&lt;p&gt;The following paper contains reductions for various parameterizations of Closest Substring where the running time depends exponentially or double exponentially on the parameter (and this dependence seems to be unavoidable).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;D. Marx. &lt;a href=&quot;http://siamdl.aip.org/getabs/servlet/GetabsServlet?prog=normal&amp;amp;id=SMJCAT000038000004001382000001&amp;amp;idtype=cvips&amp;amp;gifs=Yes&amp;amp;ref=no&quot;&gt;Closest substring problems with small distances&lt;/a&gt;. SIAM Journal on Computing, 38(4):1382-1410, 2008.&lt;/p&gt;&#xA;" OwnerUserId="3189" LastEditorUserId="80" LastEditDate="2011-01-12T09:17:32.167" LastActivityDate="2011-01-12T09:17:32.167" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4274" PostTypeId="2" ParentId="4265" CreationDate="2011-01-12T10:59:03.130" Score="3" Body="&lt;p&gt;Let me mention linear bounded automata (LBA) which can compute a proper subset of the function Turing machines can handle. LBA do model real computers &lt;em&gt;better&lt;/em&gt; than Turing machines in the sense that no computation can use an infinite amount of space but there is no (constant) bound on space either. Of course, real computer do not have to have a linear bound.&lt;/p&gt;&#xA;" OwnerUserId="1546" LastActivityDate="2011-01-12T10:59:03.130" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4275" PostTypeId="2" ParentId="4271" CreationDate="2011-01-12T12:03:30.640" Score="10" Body="&lt;p&gt;This problem is $\mathsf{FPT}$ for $\varphi_i \in MSO$ (and hence also for $\varphi_i \in FO$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More precisely, Courcelle &lt;em&gt;et al.&lt;/em&gt; prove in [1] the following:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Theorem [1, Thm. 32]&lt;/strong&gt;&lt;br&gt;&#xA;  Let $\mathcal{C}$ be a class of graphs which is of bounded tree-width $k$.&lt;br&gt;&#xA;  Then any $MSO_2$ definable counting problem, given by $\varphi$, can be solved in time $c_k \cdot \mathcal{O}(|V| + |E|)$, where $c_k$ is a constant which depends only on $\varphi$ and $k$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;$MSO_2$ stands for monadic second-order logic where the universe is $V \cup E$ (vertices and edges), and we are given a binary relation $R(v,e)$ for the incidence between a vertex $u$ and an edge $e$. This is a quite natural representation of graphs, sufficiently powerful to &lt;em&gt;e.g.&lt;/em&gt; define Hamiltonicity.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1]: &lt;a href=&quot;http://dx.doi.org/10.1016/S0166-218X%2800%2900221-3&quot; rel=&quot;nofollow&quot;&gt;B.Courcelle, J.A.Makowsky, U.Rotics. On the fixed parameter complexity of graph enumeration problems definable in monadic second-order logic. Discrete Applied Mathematics 108, pp. 23-52 (2001)&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="2898" LastEditorUserId="2898" LastEditDate="2011-01-12T15:12:05.343" LastActivityDate="2011-01-12T15:12:05.343" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="4278" PostTypeId="1" CreationDate="2011-01-12T16:22:00.920" Score="6" ViewCount="9711" Body="&lt;p&gt;My wish is to describe the time complexity of several classification approaches. For example, suppose we have $n$ data points in $m$ dimensional space and a binary class variable. We do not assume anything about its distribution (it may be symmetric or very skewed). In statistics, we choose a predictive model and fit its parameters. What is the time complexity of fitting&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;naive Bayesian classifier&lt;/li&gt;&#xA;&lt;li&gt;logistic regression&lt;/li&gt;&#xA;&lt;li&gt;$k$-nearest neighbor classifier&lt;/li&gt;&#xA;&lt;li&gt;SVM &lt;/li&gt;&#xA;&lt;li&gt;$\ldots$&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I understand that in some cases additional parameters or assumptions about the data (types of variables) are required. These parameters can be of course incorporated in your answer. Thank you very much!&lt;/p&gt;&#xA;" OwnerUserId="3207" OwnerDisplayName="Lan" LastEditorUserId="1800" LastEditDate="2011-01-12T16:51:59.730" LastActivityDate="2018-02-08T23:09:34.247" Title="Computational complexity of learning (classification) algorithms - fitting the parameters" Tags="&lt;lg.learning&gt;&lt;machine-learning&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="4279" PostTypeId="1" CreationDate="2011-01-12T16:00:56.720" Score="8" ViewCount="4269" Body="&lt;p&gt;My wish is to describe the time complexity of several clustering approaches. For example, suppose we have $n$ data points in $m$ dimensional space. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose further that the pairwise dissimilarity matrix $\Delta$ of $n\times n$ dimensions is already computed and that we have already spent $O(m\cdot n^2)$ steps. What is then the time complexity just of&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;hierarchical clustering (HC) using Ward's linkage&lt;/li&gt;&#xA;&lt;li&gt;HC using complete linkage&lt;/li&gt;&#xA;&lt;li&gt;HC using average linkage&lt;/li&gt;&#xA;&lt;li&gt;HC using single linkage &lt;/li&gt;&#xA;&lt;li&gt;$k$-medoid approach&lt;/li&gt;&#xA;&lt;li&gt;$k$-means approach&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Is there any benefit if the dissimilarity matrix $\Delta$ is not already computed? As I understand it is necessary for HC and $k$-medoid approach but not for $k$--means?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thank you for your help!&lt;/p&gt;&#xA;" OwnerUserId="3207" OwnerDisplayName="Lan" LastEditorUserId="1800" LastEditDate="2011-01-12T16:52:33.223" LastActivityDate="2011-01-12T18:37:39.550" Title="Computational complexity of clustering algorithms" Tags="&lt;lg.learning&gt;&lt;clustering&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="4280" PostTypeId="2" ParentId="4173" CreationDate="2011-01-12T16:50:32.013" Score="2" Body="&lt;p&gt;Try &lt;a href=&quot;http://gen.lib.rus.ec/&quot; rel=&quot;nofollow&quot;&gt;http://gen.lib.rus.ec/&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It has a relatively big selection of CS books, including lots of TCS books.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A few random examples:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Knuth (TAOCP and many other books): gen.lib.rus.ec/search?req=knuth&amp;amp;nametype=orig&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Cormen, Leiserson, Rivest, Stein, Introduction to algorithms: gen.lib.rus.ec/search?req=cormen+leiserson+rivest+stein+introduction&amp;amp;nametype=orig&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Sipser, Introduction to the theory of computation: gen.lib.rus.ec/search?req=sipser&amp;amp;nametype=orig&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hennessy, Patterson, Computer Architecture: A Quantitative Approach: gen.lib.rus.ec/search?req=hennessy+patterson&amp;amp;nametype=orig&lt;/p&gt;&#xA;" OwnerUserId="3200" LastActivityDate="2011-01-12T16:50:32.013" CommentCount="7" ContentLicense="CC BY-SA 2.5" />
  <row Id="4281" PostTypeId="2" ParentId="4279" CreationDate="2011-01-12T17:01:22.527" Score="6" Body="&lt;p&gt;You have to be careful with some of the methods. Specifically, k-means and k-medoids are iterative schemes that you run &quot;till you're done&quot;. SO it's not meaningful to talk about the overall running time of these schemes, but it is meaningful to talk about the running time of a single iteration. For $k$-means, it's easy: each iteration takes $O(kn)$ time to identify the nearest centers and do the new center computation. For $k$-medoids, the new-center computation can take longer: that depends on what procedure you use, and if $k$ is small, the computation of new-centers can dominate the asymptotics. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Update&lt;/strong&gt;: As JeffE points out below in comments, there are certain variants of $k$-means that do have guaranteed convergence in polynomial time, while also yielding quality answers. There's nothing that I'm aware of for $k$-medoids though. &lt;/p&gt;&#xA;" OwnerUserId="80" LastEditorUserId="80" LastEditDate="2011-01-12T18:37:39.550" LastActivityDate="2011-01-12T18:37:39.550" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="4282" PostTypeId="2" ParentId="4279" CreationDate="2011-01-12T17:25:54.323" Score="7" Body="&lt;p&gt;Single linkage clustering is almost the same as minimum spanning trees in complete graphs, easy O(n^2) time. For O(n^2) time for other agglomerative clustering methods (including I'm pretty sure average and complete linkage) see my paper &quot;Fast hierarchical clustering and other applications of dynamic closest pairs&quot;, SODA '98 and JEA '00.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2011-01-12T17:25:54.323" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4283" PostTypeId="2" ParentId="4074" CreationDate="2011-01-12T18:21:24.447" Score="17" Body="&lt;h2&gt;Discrete math&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://courses.csail.mit.edu/6.042/fall10/mcs-ftl.pdf&quot;&gt;Discrete Mathematics for Computer Science&lt;/a&gt; by Lehman, Leighton, and Meyer (&lt;a href=&quot;http://www.cs.princeton.edu/courses/archive/fall06/cos341/handouts/mathcs.pdf&quot;&gt;older version&lt;/a&gt;)&lt;/p&gt;&#xA;" OwnerUserId="111" LastActivityDate="2011-01-12T18:21:24.447" CommentCount="7" CommunityOwnedDate="2011-01-12T18:21:24.447" ContentLicense="CC BY-SA 2.5" />
  <row Id="4284" PostTypeId="1" AcceptedAnswerId="4300" CreationDate="2011-01-12T18:50:18.717" Score="12" ViewCount="1681" Body="&lt;p&gt;This is probably pretty simple, but consider the standard Post Correspondence Problem:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given $\alpha_1, \ldots, \alpha_N$ and $\beta_1, \ldots, \beta_N$, find a sequence of indices $i_1, \ldots, i_K$ such that $\alpha_{i_1}\cdots \alpha_{i_K} = \beta_{i_1}\cdots \beta_{i_K}$. This is, of course, undecidable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, I call this a 'variant', but it's not really--it essentially throws away 'correspondence'. Anyway, consider the following variant:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given $\alpha_1, \ldots, \alpha_N$ and $\beta_1, \ldots, \beta_N$, find &lt;i&gt;two&lt;/i&gt; sequences of indices $i_1, \ldots, i_K, j_1, \ldots, j_{K}$ such that $\alpha_{i_1}\cdots \alpha_{i_K} = \beta_{j_1}\cdots \beta_{j_{K}}$. What can be said about this variant? If this is trivial, my apologies!&lt;/p&gt;&#xA;" OwnerUserId="3169" LastEditorUserId="186" LastEditDate="2011-01-14T05:26:47.547" LastActivityDate="2011-01-14T05:26:47.547" Title="Post Correspondence Problem variant" Tags="&lt;computability&gt;&lt;fl.formal-languages&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="4285" PostTypeId="2" ParentId="4284" CreationDate="2011-01-12T19:04:43.533" Score="13" Body="&lt;p&gt;Edit: This solves an earlier version, in which we have to decide whether there is an equality of the form $\alpha_{i_1} \cdots \alpha_{i_K} = \beta_{j_1} \cdots \beta_{j_{K&amp;#39;}}$. The new version has $K = K&amp;#39;$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The language $A$ generated by all strings of the form $\alpha_{i_1} \cdots \alpha_{i_K}$ is regular. The language $B$ generated by all strings of the form $\beta_{j_1} \cdots \beta_{j_{K&amp;#39;}}$ is regular. You're asking whether $A \cap B$ is empty. Since $A,B$ are regular, this is decidable (in fact, in at most exponential time).&lt;/p&gt;&#xA;" OwnerUserId="40" LastEditorUserId="40" LastEditDate="2011-01-13T05:54:27.033" LastActivityDate="2011-01-13T05:54:27.033" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="4286" PostTypeId="2" ParentId="4219" CreationDate="2011-01-12T19:47:32.920" Score="8" Body="&lt;p&gt;Like some of the commenters, I'm not sure the problem as written is fully specified, especially with respect to inferring the probability of future spaces being empty.  However, even if you assume that all spaces are empty with known probability $p$, the problem is still interesting.  Much of the reasoning below still applies to the case where the probability is inferred, and the solution should become exact as the number of pre-parking observations goes to infinity.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question.&lt;/strong&gt; Assume that parking spaces $-k, -k+1, … -1, 0, 1, 2, 3, ...$ are filled independently with probability $1-p$.  You pass each space in turn and note whether it is filled or empty.  If a parking space is empty, you may choose to park there; but once you pass a space, you may not go back.  You want to park as close to space $0$ as possible.  What strategy minimizes the expected value of $|X|$, where $X$ is the space in which you park?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Answer.&lt;/strong&gt; You should park in the first available space $x$ such that $x \ge \lceil\log(2) / \log(1-p)\rceil$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Proof.&lt;/strong&gt;&#xA;Let $Q(x)\equiv E\left[ |X| \big| X&amp;gt;x\right]$ be the expected penalty given that you have passed space $x$.  Clearly you will accept any parking space $x$ such that $x \ge 0$, since at that point each candidate is better than all future possible candidates.  So we can calculate $Q(x)$ for $x \ge -1$ as follows:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xD;&#xA;\begin{eqnarray}&#xD;&#xA;Q(x \ge -1) &amp;amp;\equiv&amp;amp; E\left[ |X| \big| X &amp;gt; x \ge -1 \right] \\&#xD;&#xA;&amp;amp;=&amp;amp; E[\text{position of first empty space after } x] \\&#xD;&#xA;&amp;amp;=&amp;amp; x + 1/p&#xD;&#xA;\end{eqnarray}&#xD;&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For spaces $x$ with $x &amp;lt; 0$, you will park (if possible) whenever $-x$ (the current penalty) is no greater than $Q(x)$ (the expected penalty if you keep driving); i.e., you will park when the function $D(x) \equiv Q(x)+x \ge 0$.  For $x&amp;lt;-1$, we have:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xD;&#xA;\begin{eqnarray}&#xD;&#xA;D(x) &amp;amp;\equiv&amp;amp; Q(x)+x \\&#xD;&#xA;&amp;amp;=&amp;amp; p\min\left\{-(x+1), Q(x+1)\right\} + (1-p)Q(x+1) + x \\&#xD;&#xA;&amp;amp;=&amp;amp; Q(x+1) - p \max\left\{0, Q(x+1) + x + 1\right\} + x \\&#xD;&#xA;&amp;amp;=&amp;amp; -1 + Q(x+1) + x + 1 - p\max\left\{0, Q(x+1)+x+1\right\} \\&#xD;&#xA;&amp;amp;=&amp;amp; -1 + D(x+1) - p\max\left\{0, D(x+1)\right\}.&#xD;&#xA;\end{eqnarray}&#xD;&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As long as $D(x+1) \ge 0$, we have $D(x) = -1 + (1-p)D(x+1)$.  This recurrence relation has the closed-form solution&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xD;&#xA;\begin{eqnarray}&#xD;&#xA;D(-n) &amp;amp;=&amp;amp; -1 - (1-p) - (1-p)^2 - ... -(1-p)^{n-1} + (1-p)^n D(0) \\&#xD;&#xA;      &amp;amp;=&amp;amp; (1-p)^n /p - \left(1 + (1-p) + ... + (1-p)^{n-1}\right) \\&#xD;&#xA;      &amp;amp;=&amp;amp; (1-p)^n /p - \left(1 - (1-p)^n\right) / p \\&#xD;&#xA;      &amp;amp;=&amp;amp; \left(2(1-p)^n - 1\right) / p,&#xD;&#xA;\end{eqnarray}&#xD;&#xA;$$ &#xA;valid until $D(-n)$ becomes negative, after which $D(-n) = -1 + D(-(n-1))$, and so $D$ continues to become increasingly negative as you move to the left.  Moving to the right, then, the first parking space for which $D(x) \ge 0$ is at $x = \lceil\log(2) / \log(1-p)\rceil$.&lt;/p&gt;&#xA;" OwnerUserId="3183" LastActivityDate="2011-01-12T19:47:32.920" CommentCount="9" ContentLicense="CC BY-SA 2.5" />
  <row Id="4289" PostTypeId="2" ParentId="1612" CreationDate="2011-01-13T02:26:04.227" Score="1" Body="&lt;p&gt;I'll try to answer your question from the point of view you take, in short; I'm also trying to relate the two theorems in a different way.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Gödel's first incompleteness theorem states that in a consistent formal system with sufficient arithmetic power, there is a statement P such that no proof either of it or of its negation exists. This does not imply that there is no decision algorithm for the set of theorems of the theory, which would also say that nor P nor not P are theorems. Church-Turing's theorem result says that such an algorithm does not exist. That's the also the core of the answer by Kaveh, I hope to have explained it clearer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'll now try to prove that Church-Turing's theorem implies Gödel's theorem, please explain me where and if I'm wrong.&#xA;The set of theorems Thm is partially decidable, and suppose R is a program which recognizes it (i.e., halts with &quot;yes&quot; if the input is in Thm, continues running otherwise).&#xA;Let's use this to build a new algorithm: Given a statement Q, to see whether it's provable, run R in parallel on Q and not Q, by interleaving their execution, and stopping when the first of them halts, and producing &quot;No&quot; if &quot;not Q&quot; was proved, and &quot;Yes&quot; otherwise; this gives a computable algorithm. Assuming by contradiction that all statements can be proved or disproved, this algorithm would solve the Entscheidungsproblem, but that's absurd! Therefore, there must be a statement which can't be proved or disproved.&lt;/p&gt;&#xA;" OwnerUserId="989" LastActivityDate="2011-01-13T02:26:04.227" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4290" PostTypeId="2" ParentId="4254" CreationDate="2011-01-13T02:26:45.880" Score="0" Body="&lt;p&gt;Every $s \in L$ of length $p&amp;gt;0$ can be written as $xy^{i}z$ where $ x = z =  \epsilon $ , $ y = w \neq \epsilon$ . It's obvious that $|xy| \leq p $ and $ |y| = |w| &amp;gt; 0 $. It follows that the language is regular for non-empty inputs, by the pumping lemma.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For $ w= \epsilon $ , the definition holds, since a NDFA that accepts the empty string will also accept any number of empty strings.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The union of the above languages is the language L and since regular languages are closed under union, it follows that every circular language is regular.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By Rice's theorem, $CIRCULARITY/TM$ is undecidable. The proof is similar to regularity.&lt;/p&gt;&#xA;" OwnerUserId="879" LastActivityDate="2011-01-13T02:26:45.880" CommentCount="8" ContentLicense="CC BY-SA 2.5" />
  <row Id="4292" PostTypeId="1" AcceptedAnswerId="4293" CreationDate="2011-01-13T11:58:42.157" Score="3" ViewCount="253" Body="&lt;p&gt;I'm looking into using of the shelf compression algorithm to approximate the Kolmogorov complexity of a document corpus D and the complexity of D+d, where d is an extra document. I've got a strange result where size(compress(D)) &gt; size(compress(D+d)). Is this possible if compress actually calculated (the uncomputable) Kolmogorov complexity of D and D+d?&lt;/p&gt;&#xA;" OwnerUserId="2811" LastActivityDate="2011-01-13T12:28:20.113" Title="Kolmogorov complexity of D and D+d" Tags="&lt;ds.algorithms&gt;&lt;kolmogorov-complexity&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4293" PostTypeId="2" ParentId="4292" CreationDate="2011-01-13T12:28:20.113" Score="9" Body="&lt;p&gt;I'm no expert on Kolmogorov complexity, but I think it could happen; here is some intuition. The $D$ and $D + d$ are represented by two strings $S(D)$ and $S(D + d)$, and $S(D)$ is a prefix of $S(D + d)$. So you're asking whether a prefix of a string can have higher Kolmogorov complexity than the string itself. I think this is the case:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $P$ be some randomly generated string of high complexity. Now let $X$ be the result of repeating $P$ a number of times, say 10 times. Let $Y$ a prefix of $X$ that is some characters shorter. Then a program to output $X$ would just say &quot;repeat string $P$ 10 times&quot;, whereas the program to output $Y$ would have to say: &quot;repeat string $P$ 10 times, and then subtract a couple of characters from the end&quot;. If $P$ is sufficiently complex then the intuition is that indeed the shortest way to generate $Y$ would be in this way, hence the program that generates $X$ is shorter than the one which generates $Y$, and the Kolmogorov complexity of $X$ would be lower than of its prefix $Y$.&lt;/p&gt;&#xA;" OwnerUserId="122" LastActivityDate="2011-01-13T12:28:20.113" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4295" PostTypeId="2" ParentId="4238" CreationDate="2011-01-13T16:28:23.907" Score="0" Body="&lt;p&gt;I would recommend investigating the field of &lt;a href=&quot;http://en.wikipedia.org/wiki/Finite_model_theory&quot; rel=&quot;nofollow&quot;&gt;Finite Model Theory&lt;/a&gt; and more particularly its sub-field &lt;a href=&quot;http://en.wikipedia.org/wiki/Descriptive_complexity&quot; rel=&quot;nofollow&quot;&gt;Descriptive Complexity&lt;/a&gt;.  It can be used to model such sorts of problems.&lt;/p&gt;&#xA;" OwnerUserId="629" LastActivityDate="2011-01-13T16:28:23.907" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4296" PostTypeId="2" ParentId="2395" CreationDate="2011-01-13T16:50:26.660" Score="2" Body="&lt;p&gt;Here's an extremely heuristic argument that suggests where local maxima may be found.  Let $N_d$ be the number of positions that require exactly $d$ moves to solve.  Each move from such a position takes the cube to distance $d-1$, $d$, or $d+1$; so there are a total of $N_{d-1} + N_d + N_{d+1}$ positions that are accessible.  There are $M$ moves from each position, leading to $M$ new positions; a position at distance $d$ is a local maximum when none of these $M$ positions are at distance $d+1$.  If we take these positions to be drawn uniformly at random from the accessible positions (which, of course, they aren't; this is the heuristic part), we have:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xD;&#xA;\begin{eqnarray}&#xD;&#xA;X_d &amp;amp;=&amp;amp; P\left[\text{ a given position at }d\text{ is a local max }\right] \\&#xD;&#xA;&amp;amp;=&amp;amp; \left(\frac{N_{d-1} + N_d}{N_{d-1} + N_d + N_{d+1}}\right)^M \\&#xD;&#xA;&amp;amp;=&amp;amp; \left(1 + \frac{N_{d+1}}{N_{d-1} + N_d}\right)^{-M}.&#xD;&#xA;\end{eqnarray}&#xD;&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The expected number of local maxima at distance $d$ is $N_d X_d$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the $3 \times 3 \times 3$ cube, the number of moves from a given position is $M=18$, and estimates for $N_d$ are provided at &lt;a href=&quot;http://www.cube20.org&quot; rel=&quot;nofollow&quot;&gt;God's Number is 20&lt;/a&gt;.  Using these values, we find the expected number of local maxima to be $N_{16} X_{16} = 0.2$, $N_{17} X_{17} = 9 \times 10^9$, and $N_{18} X_{18} = 1.5 \times 10^{19}$.  So there are unlikely to be any local maxima for $d \le 16$.  At $d=17$, the total number of positions is estimated to be $12 \times 10^{18}$, so one might expect to test a billion positions before finding a local maximum.  Finally, at $d=18$, one expects a local maximum in every twenty positions.&lt;/p&gt;&#xA;" OwnerUserId="3183" LastActivityDate="2011-01-13T16:50:26.660" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4297" PostTypeId="1" CreationDate="2011-01-13T17:22:15.327" Score="2" ViewCount="178" Body="&lt;p&gt;I am not sure if the following question falls within the scope of this site; if it does not, I will request the moderators to take appropriate action&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have been going through Jin-Yi Cai's &lt;a href=&quot;http://pages.cs.wisc.edu/~jyc/papers/matchgate-arts-to-sc.pdf&quot; rel=&quot;nofollow&quot;&gt;expository paper&lt;/a&gt; on Holographic algorithms.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I had a question. Immediately after introducing Grassman-Plucker Identities for Pfaffians and the definitions for matchgates, recognizers and generators, Cai introduces signature tensor for matchgates.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question arises from the following statement.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;He states that a generator $\Gamma$ with $m$ output nodes is assigned a contravariant tensor $\mathbf{G} \in V_0^m$ of type $\binom {m} {0}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I looked up contravariant tensors on wikipedia but did not find any reference to the type of contravariant tensors which Cai talks about. Maybe I am not searching properly, but I was unable to find a proper reference which defines what I am looking for.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would be glad if anyone could help me with this.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks&#xA;-Akash&lt;/p&gt;&#xA;" OwnerUserId="55" LastEditorUserId="3183" LastEditDate="2011-01-18T23:45:41.670" LastActivityDate="2011-01-18T23:45:41.670" Title="What are contravariant tensors of type m choose 0" Tags="&lt;terminology&gt;&lt;tensor-rank&gt;" AnswerCount="0" CommentCount="3" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="4298" PostTypeId="2" ParentId="4254" CreationDate="2011-01-13T17:46:07.673" Score="17" Body="&lt;p&gt;Here are some papers that discuss these languages:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thierry Cachat, The power of one-letter rational languages, DLT 2001, Springer LNCS #2295 (2002), 145-154.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;S. Hovath, P. Leupold, and G. Lischke, Roots and powers of regular languages, DLT 2002, Springer LNCS #2450 (2003), 220-230.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;H. Bordihn, Context-freeness of the power of context-free languages is undecidable, TCS 314 (2004), 445-449.&lt;/p&gt;&#xA;" OwnerUserId="3227" LastActivityDate="2011-01-13T17:46:07.673" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4299" PostTypeId="2" ParentId="4238" CreationDate="2011-01-13T19:51:41.847" Score="0" Body="&lt;p&gt;David Maier has a &lt;a href=&quot;http://web.cecs.pdx.edu/~maier/TheoryBook/MAIER/C05.pdf&quot; rel=&quot;nofollow&quot;&gt;chapter on optimal covers&lt;/a&gt; (under various notions of optimal) in his book on the theory of relational databases. He shows in there that given a set of FDs, finding a minimum cardinality cover is in P (but finding a cover of minimum description length is NP-hard)&lt;/p&gt;&#xA;" OwnerUserId="80" LastEditorUserId="80" LastEditDate="2011-01-13T21:02:07.627" LastActivityDate="2011-01-13T21:02:07.627" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="4300" PostTypeId="2" ParentId="4284" CreationDate="2011-01-13T21:46:26.093" Score="18" Body="&lt;p&gt;This new version - where $K = K&amp;#39;$ - is decidable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let's show that the language $L := \bigcup_{k \geq 1} (A^k \ \cap \ B^k)$ is a CFL.  Then the decidability follows from the decidability of the emptiness of a CFL.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We'll design a PDA to accept $L$.  On input $x$, this PDA will try to construct two factorizations of $x$, one using words of $A$, and the other using words of $B$.  It will use a counter on the stack to ensure these two factorizations are of the same length.  Conceptually I will refer to the $A$-factorization of $x$ so far as sitting on top of $x$ and the $B$-factorization as sitting on the bottom of $x$.  Then the stack will contain $n$ counters iff the absolute value of the difference of the number of words matched on the top, minus the number of words on the bottom, is $n$.  We need another state of the PDA to record what the appropriate sign is corresponding to $n$ (which tells us if the $A$-factorization is longer than the $B$-factorization, or vice versa).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As we scan the letters of $x$, we nondeterministically guess a word $t$ of $A$ and a word $u$ of $B$ to which this letter begins.  Once we guess, we are committed to matching the rest of $t$ and $u$ against $x$; if at any point our match fails, we halt in this nondeterministic choice.  So we also maintain, in the state of our PDA, the suffix of $t$ and $u$ that remains to match.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As we scan further letters, we continue matching until we hit the end of $t$ or the end of $u$ (or both).  When we hit the end of a word, we update the stack appropriately, and then guess a new word to match in either the top or bottom (or both).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We accept if the suffixes remaining to be matched are both empty in top and bottom, and the stack contains no counters.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;We can construct this PDA effectively, so we can effectively decide if it accepts anything or not (for example, by converting effectively to a grammar $G$ and then using the usual method to see if G generates anything).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit: One can also turn this into an upper bound on how big $k$ can be, in the worst case.  I think it should give an upper bound of something roughly like $2^{O(l^2)}$, where $l$ is the sum of the lengths of the words in $A$ and $B$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit: I see now that the requirement that $A$ and $B$ be finite sets can also be relaxed, to the requirement that $A$ and $B$ be regular (possibly infinite).  In this case, instead of maintaining the suffix remaining to be matched in &quot;top&quot; and &quot;bottom&quot;, instead we maintain the states of the respective DFA we are in, after processing the prefix of a possible matched word.  If we hit a final state in either &quot;top&quot; or &quot;bottom&quot;, we can nondeterministically choose to go back to the initial state for a new guessed word.  &lt;/p&gt;&#xA;" OwnerUserId="3227" LastEditorUserId="3227" LastEditDate="2011-01-13T22:46:41.900" LastActivityDate="2011-01-13T22:46:41.900" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="4301" PostTypeId="1" AcceptedAnswerId="8785" CreationDate="2011-01-13T23:41:52.203" Score="22" ViewCount="1061" Body="&lt;p&gt;Besides &lt;em&gt;(deterministic) communication complexity&lt;/em&gt; $cc(R)$ of a relation $R$, another basic measure for the amount of communication needed is the &lt;em&gt;protocol partition number&lt;/em&gt; $pp(R)$. The relation between these two measures is known up to a constant factor. The monograph by Kushilevitz and Nisan (1997) gives &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$cc(R)/3 \le  \log_2(pp(R)) \le cc(R).$$ &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Regarding the second inequality, it is easy to give (an infinite family of) relations $R$ with $\log_2(pp(R)) = cc(R)$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Regarding the first inequality, Doerr (1999) showed that we can replace the factor $c=3$ in the first bound by $c=2.223$. By how much can the first bound be improved, if at all?  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Additional motivation from descriptional complexity: Improving the constant $2.223$ will result in an improved lower bound on the minimum size of regular expressions equivalent to a given DFA describing some finite language, see Gruber and Johannsen (2008).  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Although not directly related to this question, Kushilevitz, Linial and Ostrovsky (1999) gave relations $R$ with $cc(R)/(2-o(1)) \ge  \log_2(rp(R))$, where $rp(R)$ is the &lt;em&gt;rectangle partition number&lt;/em&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT:&lt;/strong&gt; Notice that the above question is equivalent to the following question in Boolean circuit complexity: What is the optimum constant $c$ such that every boolean DeMorgan formula of leafsize L can be transformed into an equivalent formula of depth at most $c \log_2L$? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;References&lt;/strong&gt;:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Kushilevitz, Eyal; Nisan, Noam: Communication Complexity. Cambridge University Press, 1997.&lt;/li&gt;&#xA;&lt;li&gt;Kushilevitz, Eyal; Linial, Nathan; Ostrovsky, Rafail: The Linear-Array Conjecture in Communication Complexity is False, Combinatorica 19(2):241-254, 1999.&lt;/li&gt;&#xA;&lt;li&gt;Doerr, Benjamin: Communication Complexity and the Protocol Partition Number, Technical Report 99-28, Berichtsreihe des Mathematischen Seminars der Universität Kiel, 1999.&lt;/li&gt;&#xA;&lt;li&gt;Gruber, Hermann; Johannsen, Jan: Optimal Lower Bounds on Regular Expression Size using Communication Complexity. In: Foundations of Software Science and Computation Structures 2008 (FoSSaCS 2008), LNCS 4962, 273-286. Springer.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="2367" LastEditorUserId="2367" LastEditDate="2012-06-09T17:04:54.867" LastActivityDate="2012-06-09T17:58:28.747" Title="Protocol partition number and deterministic communication complexity" Tags="&lt;fl.formal-languages&gt;&lt;lower-bounds&gt;&lt;open-problem&gt;&lt;regular-expressions&gt;&lt;communication-complexity&gt;" AnswerCount="2" CommentCount="6" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="4302" PostTypeId="1" AcceptedAnswerId="5249" CreationDate="2011-01-14T00:32:54.497" Score="29" ViewCount="881" Body="&lt;p&gt;Suppose I wanted to formalize Turing's proof regarding the halting problem so that a machine could check it.  Some of the well-known automated theorem proving systems include Mizar, Coq, and HOL4.  I downloaded and experimented with Coq, but it doesn't have a library for Turing machines.  I thought to code one myself, but found the tutorial lacking and the language difficult to pick up.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is:  Is there an automated theorem prover that is generally good at proving theorems that involve Turing machines?  I would consider such a theorem prover &quot;good&quot; if it can formalize a proof of the undecidability of the halting problem using already-existing libraries.  I would consider it even better if it's relatively easy to pick up.  (For the record, I don't usually have difficulty with programming languages.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Philip&lt;/p&gt;&#xA;" OwnerUserId="1338" LastEditorUserId="186" LastEditDate="2011-05-26T05:52:29.737" LastActivityDate="2011-05-26T05:52:29.737" Title="Is there a reasonable automated proof system for TCS theorems?" Tags="&lt;lo.logic&gt;&lt;turing-machines&gt;&lt;software&gt;&lt;proof-assistants&gt;&lt;automated-theorem-proving&gt;" AnswerCount="1" CommentCount="6" FavoriteCount="7" ContentLicense="CC BY-SA 2.5" />
  <row Id="4303" PostTypeId="2" ParentId="4145" CreationDate="2011-01-14T01:44:26.747" Score="3" Body="&lt;p&gt;Nope, it's not possible to do this with ordinary Treaps if the priorities are random.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The precise claim I'll make is that to perform such a merge on two equally sized treaps with random priorities requires updating $\Theta(\log n)$ pointers in expectation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here's a rough proof sketch:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider the number of pointers you have to change in expectation to perform the operation.  It's easier to prove a $\Theta(\log n)$ bound if we don't insert $t_r$ but just merge $T_1$ and $T_2$.&#xA;Consider the right spine $S_1$ of $T_1$ and the left spine $S_2$ of $T_2$.&#xA;Color the elements of $S_1$ red and those of $S_2$ blue.&#xA;Order $S_1 \cup S_2$ by priority.  We have to change a pointer each time the color changes in this sequence.  Since both spines have size $\Theta(\log n)$ with high probability, and &#xA;the priorities are random, it's not too hard to see that the # of color changes in the sequence is also $\Theta(\log n)$.  So we need to update $\Theta(\log n)$ pointers for the merge (without adding $t_r$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, adding $t_r$ while doing the merge doesn't really help much.&#xA;The number of pointer changes in that case can be lower bounded as follows:&#xA;Order $S_1 \cup S_2 \cup \{t_r\}$ by priority.  Delete everything less than $t_r$ in the sequence.  Then # of color changes in the resulting sequence is our lower bound.&#xA;Since $t_r$ has random priority, the expected height of the subtree rooted at it in the final treap is $O(1)$, so it only has $O(1)$ nodes of $S_1 \cup S_2$ with lower priority than it in expectation, so we lost only $O(1)$ pointer changes in our lower bound when adding $t_r$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, that said, there's probably a way to get a &quot;treap-like&quot; data structure which allows for constant expected time merges. &lt;/p&gt;&#xA;" OwnerDisplayName="Daniel Golovin" LastActivityDate="2011-01-14T01:44:26.747" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="4304" PostTypeId="1" AcceptedAnswerId="4307" CreationDate="2011-01-14T01:55:00.027" Score="14" ViewCount="597" Body="&lt;p&gt;That is a name I have made up for this problem.  I have not seen it described anywhere before.  I have not been able to find a proof of NP-completeness nor a polynomial time algorithm for this problem yet.  It is not a homework problem -- it is related to a problem I have come across in my work.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;FEWEST DISCRIMINATING BITS&lt;/p&gt;&#xA;&#xA;&lt;p&gt;INSTANCE: A set T containing bit vectors, where each bit vector is exactly N bits long.  Every element of T is unique, as one would expect from a set in math.  An integer K &amp;lt; N.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;QUESTION: Is there a set B of at most K bit positions (i.e. integers in the range [0,N-1]) such that when we remove all bits except those in B from every vector in T, the remaining shorter vectors are all still unique?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Example 1: For the instance N=5, T={00010, 11010, 01101, 00011}, K=2, the answer is yes, because we can select the bit positions B={0,3}.  Using the convention that bit position 0 is the rightmost, and the bit position numbers increase right-to-left, removing all bit positions except those in B from the vectors in T leaves T'={00, 10, 11, 01}, and those are all unique.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Example 2: N=5, T={00000, 00001, 00010, 00100}, K=2.  The answer is no, because no matter which two bit positions we select, none of the 2-bit vectors will be equal to 11, so at least two of the 2-bit vectors will be equal to each other.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We can of course solve this problem by enumerating all (N choose K) subsets with size K of the N bit positions, and determining which satisfy the condition of the question.  However, that is exponential in the input size.&lt;/p&gt;&#xA;" OwnerUserId="3232" LastEditorUserId="186" LastEditDate="2011-01-14T05:11:45.057" LastActivityDate="2011-01-16T06:04:59.473" Title="Is the &quot;Fewest Discriminating Bits&quot; problem NP-complete?" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="6" ContentLicense="CC BY-SA 2.5" />
  <row Id="4307" PostTypeId="2" ParentId="4304" CreationDate="2011-01-14T04:18:20.300" Score="18" Body="&lt;p&gt;This problem is NP-complete.  A proof based on reduction from 3-SAT is as follows:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider an instance of 3-SAT with $n$ variables and $m$ clauses.  We will construct $2n + 2m$ bit vectors (&quot;rows&quot;) of length $2n + \lceil \log_2(n + m) \rceil$, such that the smallest number of discriminating bits is $n + \lceil \log_2(n + m) \rceil$ iff the original 3-SAT instance is satisfiable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The first $2n$ bits will correspond to the literals $\left\{ x_1, \neg x_1, x_2, \neg x_2, ..., x_n, \neg x_n \right\}$.  With respect to these bits, the first $2m$ rows will come in pairs, the first of which will have a $1$ for each literal included in the corresponding clause, and the second of which will consist entirely of $0$'s.  The remaining $2n$ rows will also come in pairs, the first of which will have $1$'s for the corresponding literal and its negation, and the second of which will consist entirely of $0$'s.  Finally, the last $\lceil \log_2(n + m) \rceil$ bits will be used to &quot;sign&quot; each pair of rows with its index, from $0$ to $n+m-1$, written in binary.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In order to distinguish each &quot;literal&quot; row from its successor, either the bit corresponding to that literal or the bit corresponding to its negation must be retained.  Also, in order to discriminate among the $n+m$ &quot;zero + index&quot; rows, all $\lceil \log_2(n + m) \rceil$ index bits must be retained.  The minimum possible number of discriminating bits is therefore $n + \lceil \log_2(n + m) \rceil$.  Finally, in order to distinguish each &quot;clause&quot; row from its successor, at least one of the three bits corresponding to literals included in that clause must be retained.  If the 3-SAT instance is satisfiable, this last condition will not require any extra bits (in particular, we do not need to retain the bits corresponding to both $x_i$ and $\neg x_i$ for any $i$); and conversely, if there are $n + \lceil \log_2(n + m) \rceil$ bits that discriminate among all $2n+2m$ bit vectors, they must contain exactly one of $x_i$ and $\neg x_i$ for each $i$, and hence correspond to a satisfying assignment of truth values to the $n$ variables.&lt;/p&gt;&#xA;" OwnerUserId="3183" LastEditorUserId="3183" LastEditDate="2011-01-14T04:24:18.217" LastActivityDate="2011-01-14T04:24:18.217" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4308" PostTypeId="1" AcceptedAnswerId="4311" CreationDate="2011-01-14T04:40:12.567" Score="1" ViewCount="167" Body="&lt;p&gt;A &lt;a href=&quot;http://en.wikipedia.org/wiki/DAWG&quot; rel=&quot;nofollow&quot;&gt;DAWG&lt;/a&gt; is a specialized form of a Directed Acyclic Graph.  Admittedly, not terribly specialized.  I was wondering if DAWGs built from proper sets (unique, sorted) had any special properties?  It seems to me that they ought to have a couple of interesting properties regarding dependencies between the &quot;layers&quot; but but I'm at a loss as to how to prove it either way.  Anyone got a bit more knowledge regarding these bits of esoterica?&lt;/p&gt;&#xA;" OwnerUserId="2428" LastEditorUserId="186" LastEditDate="2011-01-14T05:03:44.577" LastActivityDate="2011-01-14T23:09:54.393" Title="Special Properties Of DAWGs with Unique Elements" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;directed-acyclic-graph&gt;" AnswerCount="2" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4310" PostTypeId="1" AcceptedAnswerId="4313" CreationDate="2011-01-14T06:09:49.163" Score="6" ViewCount="207" Body="&lt;p&gt;The stochastic multi-armed bandit problem ($k$ arms, the $i$'th of which gives you a reward of $1$ with &lt;em&gt;unknown&lt;/em&gt; probability $p_i$, and $0$ with probability $1-p_i$, and you must decide at each stage which arm to pull based on the past reward history) is well-studied. For example, there is the &lt;a href=&quot;http://www.eecs.berkeley.edu/~pabbeel/cs287-fa09/readings/Auer+al-UCB.pdf&quot; rel=&quot;nofollow&quot;&gt;UCB1 algorithm&lt;/a&gt; of Auer, Cesa-Bianchi, and Fisher which achieves expected regret of $O(\log n)$ in $n$ iterations, treating the other parameters ($k$ and the probabilities $p_i$) as fixed. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is: is there any literature out there on this problem with transition costs?  Namely, suppose you pay a cost of $P(i,j)$ whenever you pull arm $j$ immediately after pulling arm $i$? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thank you!&lt;/p&gt;&#xA;" OwnerUserId="3238" LastActivityDate="2011-01-14T15:07:11.227" Title="Stochastic multi-armed bandit problem with transition costs" Tags="&lt;lg.learning&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="4311" PostTypeId="2" ParentId="4308" CreationDate="2011-01-14T06:57:10.343" Score="2" Body="&lt;p&gt;I could be missing something, but if you took an arbitrary DAG, assigned unique IDs to each vertex, and constructed all words formed by traversing monotone chains from top to bottom, then wouldn't the DAWG of that set be the original DAG ? If so, then a DAWG has no special structure. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Update&lt;/strong&gt;: Peter Taylor's comment is the key difference. only one node with indegree 0 unlike a regular DAG.&lt;/p&gt;&#xA;" OwnerUserId="80" LastEditorUserId="80" LastEditDate="2011-01-14T23:09:54.393" LastActivityDate="2011-01-14T23:09:54.393" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="4312" PostTypeId="2" ParentId="4308" CreationDate="2011-01-14T11:11:19.927" Score="0" Body="&lt;p&gt;DAWGs are most probably &lt;a href=&quot;http://en.wikipedia.org/wiki/Partially_ordered_set&quot; rel=&quot;nofollow&quot;&gt;posets&lt;/a&gt; and close relatives of Finite Automata.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So special properties of posets and FA should apply to DAWGs too.&lt;/p&gt;&#xA;" OwnerUserId="612" LastActivityDate="2011-01-14T11:11:19.927" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4313" PostTypeId="2" ParentId="4310" CreationDate="2011-01-14T14:22:50.503" Score="6" Body="&lt;p&gt;Yes, it's been studied -- for example you can look at &lt;a href=&quot;http://gandalf.psych.umn.edu/groups/schraterlab/papers/A_Survey_On_MABSC.pdf&quot; rel=&quot;nofollow&quot;&gt;this survey&lt;/a&gt;, which is from the econ community.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, [Auer '02] considered a similar problem, which he called &quot;shifting bandits&quot; where the learner has to compete with the optimal policy that's allowed to make $s$ shifts, in the adversarial setting -- see section 3 of &lt;a href=&quot;http://jmlr.csail.mit.edu/papers/volume3/auer02a/auer02a.pdf&quot; rel=&quot;nofollow&quot;&gt;this paper&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="123" LastEditorUserId="123" LastEditDate="2011-01-14T15:07:11.227" LastActivityDate="2011-01-14T15:07:11.227" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4314" PostTypeId="1" AcceptedAnswerId="4315" CreationDate="2011-01-14T14:54:17.297" Score="9" ViewCount="386" Body="&lt;p&gt;I'd like to know where I can turn for a good, gentle introduction to k-SAT (this may be for mathematicians that may not have a good computer science background).  I'd also like to know papers that maybe survey or explain current methods used to solve k-SAT.  Finally, I'm interested in the best known methods for solving k-SAT.  I'd like to get an idea of the best average case and best worst case behavior.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In short, I'm looking for papers that will help someone in mathematics (not computer science) become much more of an expert in k-SAT.&lt;/p&gt;&#xA;" OwnerUserId="1549" LastEditorUserId="80" LastEditDate="2011-01-14T15:42:00.240" LastActivityDate="2011-01-14T16:54:56.737" Title="Information on k-SAT (Introduction, Bounds, Methods, etc.)" Tags="&lt;reference-request&gt;&lt;sat&gt;&lt;survey&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4315" PostTypeId="2" ParentId="4314" CreationDate="2011-01-14T16:12:53.587" Score="6" Body="&lt;p&gt;From the Lecture Note reference thread, we have &lt;a href=&quot;https://cstheory.stackexchange.com/questions/4074/what-lecture-notes-should-everyone-read/4075#4075&quot;&gt;this document&lt;/a&gt;. &lt;/p&gt;&#xA;" OwnerUserId="2678" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2011-01-14T16:12:53.587" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4316" PostTypeId="2" ParentId="4314" CreationDate="2011-01-14T16:22:28.637" Score="5" Body="&lt;p&gt;This survey book, &lt;a href=&quot;http://www.ams.org/bookstore?fn=50&amp;amp;arg1=salelogic&amp;amp;ikey=DIMACS-35&quot; rel=&quot;nofollow&quot;&gt;Satisfiability Problem: Theory and Applications&lt;/a&gt;, is appropriate for introducing k-SAT to mathematicians. It is not very recent but still very valuable resource.&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2011-01-14T16:54:56.737" LastActivityDate="2011-01-14T16:54:56.737" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4317" PostTypeId="1" AcceptedAnswerId="4319" CreationDate="2011-01-14T17:57:32.367" Score="6" ViewCount="2652" Body="&lt;p&gt;I don't know if my question is too simple (I'm not an expert, so feel free to delete it)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;SUBSET-SUM&lt;/strong&gt; (given a set of integers $&amp;lt;x_{1},...,x_n&amp;gt;$, find if the sum of one or more non-empty subset equal 0) is NP complete&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we use unary encoding $&amp;lt;x_{1},...,x_{n}&amp;gt; = 0^{x_{1}}1...0^{x_{n}}1$ we fall back in P (&lt;strong&gt;UNARY-SUBSET-SUM&lt;/strong&gt;)&lt;br&gt;&#xA;Proof: if m is the initial length of the unary input, reduce input size to $log(m)$ switching to binary representation -&amp;gt; simulate a nondeterministic TM that solves the SUBSET-SUM in polynomial (linear) time $O(log(m))$ -&amp;gt; the simulation is $O(2^{log(m)})$ -&amp;gt; welcome in P .&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But if we map $&amp;lt;x_{1},...,x_{n}&amp;gt;$ to a number N in which each bit &quot;positionally&quot; represents $x_{i}$, i.e.&lt;br&gt;&#xA;if $x_{i} = -1$ then set bit 0&lt;br&gt;&#xA;if $x_{i} = 1$ then set bit 1&lt;br&gt;&#xA;if $x_{i} = -2$ then set bit 2&lt;br&gt;&#xA;if $x_{i} = 2$ then set bit 3&lt;br&gt;&#xA;... and so on (for example we encode the subset $&amp;lt;-1,-2,2,4&amp;gt;$ with $10110001$ (bit 0 is on the left), the subset $&amp;lt;1,3,-4&amp;gt;$ with $0100011$, ...)&lt;br&gt;&#xA;(perhaps the simplest enumeration of finite subsets of $Z$) ... I'll call it &lt;strong&gt;POSTIONAL-SUBSET-SUM&lt;/strong&gt; (perhaps it has another name :-)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It seems that we cannot apply the same strategy used to prove that UNARY-SUBSET-SUM is in P&#xA;(for some inputs switching from &quot;positional&quot; to binary representation expands the input)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, my question: is POSITIONAL-SUBSET-SUM in P ?&lt;br&gt;&#xA;If not ... is POSITIONAL-SUBSET-SUM NP-complete ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thank you in advance,&lt;br&gt;&#xA;Vor&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="495" LastEditDate="2014-01-29T10:16:07.077" LastActivityDate="2014-01-29T10:16:07.077" Title="SUBSET-SUM with binary - unary - &quot;positional&quot; encoding" Tags="&lt;cc.complexity-theory&gt;&lt;subset-sum&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4318" PostTypeId="2" ParentId="3878" CreationDate="2011-01-14T18:13:18.197" Score="5" Body="&lt;p&gt;Every time you add a new vertex with an edge, you don't have options.&#xA;Every time you add a new edge, if the current distance to the root is bigger than the distance through the new edge, you remove the old edge in the old shortest path and add the new one. Otherwise, you just keep your tree unchanged. I think this way you get something very similar to a BFS tree in the sense that the levels of the tree will contain the same vertices and the distance from a vertex to the root will be the same as the distance in the BFS tree (and in the graph), but I don't know if that's enough to satisfy your &quot;ideal balanced spanning tree&quot; condition.&lt;/p&gt;&#xA;" OwnerUserId="282" LastActivityDate="2011-01-14T18:13:18.197" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4319" PostTypeId="2" ParentId="4317" CreationDate="2011-01-14T18:37:24.370" Score="13" Body="&lt;p&gt;If an instance of POSITIONAL-SUBSET-SUM has input length $N$, then each integer in the set $\{x_1, x_2, ..., x_n\}$ must satisfy $|x_i| \le N$, and the set itself must have size $n \le N$.  So the input length for the corresponding instance of UNARY-SUBSET-SUM is $O(N^2)$, and it is easy to see that mapping one input format to the other can be done in polynomial time.  Therefore, since UNARY-SUBSET-SUM $\in \text{P}$, we have POSITIONAL-SUBSET-SUM $\in \text{P}$ as well.&lt;/p&gt;&#xA;" OwnerUserId="3183" LastActivityDate="2011-01-14T18:37:24.370" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4321" PostTypeId="1" CreationDate="2011-01-14T20:28:07.637" Score="11" ViewCount="397" Body="&lt;p&gt;What are obstacles to making SAT solvers competitive with specialized graph algorithms? In other words, is it feasible to expect SAT solvers that can replace the role of algorithm designer -- ie, be able to automatically recognize problem structure and then solve it as quickly as a specialized algorithm?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here some examples I think are challenging for today's SAT solvers:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Counting independent sets of size $k$. Encoding &quot;x is an independent set of size k&quot; gives a large formula which is hard to solve. An ideal SAT solver would recognize that this problem is easy on bounded tree-width graph with an addition of an extra &quot;count&quot; variable for bags.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Finding minimum Steiner tree. Again, &quot;Steiner tree&quot; has a global constraint, however, a specialized algorithm (like &lt;a href=&quot;http://arxiv.org/abs/0807.3373&quot;&gt;here&lt;/a&gt;) makes the task easier by adding an extra variable &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Any problem that reduces to planar perfect matchings.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="434" LastEditorUserId="186" LastEditDate="2011-01-15T06:16:23.657" LastActivityDate="2011-01-15T06:16:23.657" Title="Making SAT solvers competitive with specialized algorithms" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;sat&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="4322" PostTypeId="1" AcceptedAnswerId="4328" CreationDate="2011-01-14T21:20:37.133" Score="12" ViewCount="2202" Body="&lt;p&gt;This question is inspired by an &lt;a href=&quot;https://cstheory.stackexchange.com/questions/2562/one-stack-two-queues&quot; title=&quot;existing question&quot;&gt;existing question&lt;/a&gt; about whether a stack can be simulated using two queues in amortized $O(1)$ time per stack operation.  The answer seems to be unknown.  Here is a more specific question, corresponding to the special case in which all PUSH operations are performed first, followed by all POP operations.  How efficiently can a list of $N$ elements be reversed using two initially empty queues?  The legal operations are:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Enqueue the next element from the input list (to the tail of either queue).&lt;/li&gt;&#xA;&lt;li&gt;Dequeue the element at the head of either queue and enqueue it again (to the tail of either queue).&lt;/li&gt;&#xA;&lt;li&gt;Dequeue the element at the head of either queue and add it to the output list.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;If the input list consists of elements $[1,2,...,N-1,N]$, how does the minimum number of operations required to generate the reversed output list $[N,N-1,...,2,1]$ behave?  A proof that it grows faster than $O(N)$ would be especially interesting, since it would resolve the original question in the negative.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Update (15 Jan 2011): The problem can be solved in $O(N \log N)$, as shown in the submitted answers and their comments; and a lower bound of $\Omega(N)$ is trivial.  Can either of these bounds be improved?&lt;/p&gt;&#xA;" OwnerUserId="3183" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2011-01-15T15:05:34.567" Title="Reversing a list using two queues" Tags="&lt;ds.algorithms&gt;&lt;ds.data-structures&gt;&lt;lower-bounds&gt;&lt;time-complexity&gt;&lt;sorting&gt;" AnswerCount="2" CommentCount="4" FavoriteCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="4323" PostTypeId="1" CreationDate="2011-01-14T21:20:51.983" Score="4" ViewCount="210" Body="&lt;p&gt;Max Bisection problem is to partition the set of nodes into two equal size sets such that the number of crossing edges is maximum. Max Bisection is $NP$-complete on cubic graphs and also on planar graphs.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What is the complexity of Max Bisection on cubic planar graphs? Is it $NP$-complete?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Cross posted on &lt;a href=&quot;https://mathoverflow.net/questions/52583/complexity-of-max-bisection-on-cubic-planar-graphs&quot;&gt;mathOverflow&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2011-01-20T05:38:11.437" Title="Complexity of Max Bisection on cubic planar graphs?" Tags="&lt;cc.complexity-theory&gt;&lt;max-cut&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="4324" PostTypeId="2" ParentId="4322" CreationDate="2011-01-14T22:27:30.210" Score="1" Body="&lt;p&gt;The best algorithm I can think of requires $\sum_{i=0}^{N/2-1}(N-2i-2)$ transfers from one queue to another.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Lets name two available queues as left and right. Here is the basic idea of this algorithm with the assumption that N is even:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Read values from the initial list of elements and push all odd numbers into the left queue and even numbers into the right queue&lt;/li&gt;&#xA;&lt;li&gt;One the fist step the fastest way to output the maximum value is to transfer N/2-1 elements from the right queue into the left one and pop the top value from the right queue into the output list&lt;/li&gt;&#xA;&lt;li&gt;Now we have to do the same for another queue - transfer N/2-1 elements from the left queue into the right one and pop the top element from the left queue into the output list&lt;/li&gt;&#xA;&lt;li&gt;Swap queues and repeat steps 2 and 3 for N = N-2&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;It is easy to see how algorithm should work for odd N.&lt;/p&gt;&#xA;" OwnerUserId="3252" LastEditorUserId="3252" LastEditDate="2011-01-14T23:17:22.380" LastActivityDate="2011-01-14T23:17:22.380" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4325" PostTypeId="2" ParentId="4321" CreationDate="2011-01-14T23:15:34.493" Score="7" Body="&lt;p&gt;There is a nice paper that helps visualize the internal structure of SAT instances. See &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=1286020&quot;&gt;Visualizing SAT Instances and Runs of the DPLL Algorithm&lt;/a&gt; by Carsten Sienz (Appeared in SAT 2004). Basically, it draws a graph which the author calls &quot;variable interaction graph&quot; (according to some rules) to visualize the relation between the satisfied clauses. The author shows this by several partial runs of DPLL.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The main claim is that these visualization techniques could be used to detect structure and design an appropiate algorithm for it. However, it is still not clear how can we detect efficiently structures like the one presented in the paper. It is well known that SAT algorithms for one specific problem behave poorly in other problems. So there is &quot;no-free-lunch&quot;, although this claim cannot be formally stated as far as I know.&lt;/p&gt;&#xA;" OwnerUserId="135" LastActivityDate="2011-01-14T23:15:34.493" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4326" PostTypeId="1" CreationDate="2011-01-14T23:23:13.080" Score="3" ViewCount="437" Body="&lt;p&gt;In calculus, a polynomial has order $n$ if it contains terms that raise the unknown to a power $n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm trying to figure out how this definition of &quot;order&quot; relates to the use of the same word when talking about formal languages.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We say a logic or language is &quot;first order&quot;, &quot;second order&quot;, or &quot;higher order&quot;.  I know it is related to what kinds of states of expressible within that language,b ut what does this mean, fundamentally, and why is it called the &quot;order&quot; of the language?&lt;/p&gt;&#xA;" OwnerDisplayName="Steve" LastEditorUserId="2367" LastEditDate="2011-01-15T22:01:27.403" LastActivityDate="2011-06-22T14:10:27.867" Title="What does it mean for a language to have &quot;order&quot;?" Tags="&lt;fl.formal-languages&gt;&lt;lo.logic&gt;" AnswerCount="3" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4327" PostTypeId="1" CreationDate="2011-01-14T23:47:07.347" Score="-2" ViewCount="108" Body="&lt;p&gt;I'm working with a device that allows remote updates via SNMP to change the FM input/ouput frequency of the device. When I query the devices, I get back whole numbers, but, in real life, FM frequencies have decimal values. I happened to stumble across some code for setting the frequency where the developer was taking decimal values (representing FM frequencies) and dividing them by 0.05 before saving them into the device. Inversely, for display purposes, the developer multiplied the numbers by 0.05 to turn them back into their decimal notation. For example:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;107.1 / 0.05 = 2142&#xA;2142 * 0.05 = 107.1&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;There is no documentation that specifies the meaning of this operation. I thought it might be some kind of &lt;a href=&quot;http://en.wikipedia.org/wiki/Fixed-point_arithmetic&quot; rel=&quot;nofollow&quot;&gt;fixed-point arithmetic&lt;/a&gt; (popular before the days of &lt;a href=&quot;http://en.wikipedia.org/wiki/Floating-point_unit&quot; rel=&quot;nofollow&quot;&gt;FPUs&lt;/a&gt;, but I wasn't sure because I thought fixed-point arithmetic usually stuck to base 10 or base 2.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is anybody able to explain this operation? Is my suspicion correct?&lt;/p&gt;&#xA;" OwnerUserId="3256" LastEditorUserId="186" LastEditDate="2011-01-15T06:10:00.560" LastActivityDate="2011-01-15T06:10:00.560" Title="Getting Decimal Values From Whole Numbers - Is This Fixed-Point Arithmetic?" Tags="&lt;tag-removed&gt;" AnswerCount="1" CommentCount="3" ClosedDate="2011-01-15T06:39:29.393" ContentLicense="CC BY-SA 2.5" />
  <row Id="4328" PostTypeId="2" ParentId="4322" CreationDate="2011-01-15T00:07:18.127" Score="11" Body="&lt;p&gt;If N is a power of two, I believe O(N log N) operations suffice, even for a somewhat more restricted problem in which all items start on one of the queues and must end up in reverse order on one of the queues (without the input and output lists).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In O(N) steps it is possible to start with all elements on one queue, play &quot;one for you one for me&quot; to split them into alternating subsets on the other queue, and then concatenate them all back into one queue. In terms of the binary representations of the positions of the items, this implements a rotate operation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In O(N) steps it is also possible to pull off pairs of elements from one queue, swap them, then put them back, reversing all pairs. In terms of the binary representations of the positions of the items, this complements the low order bit of the position.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By repeating O(log N) times an unshuffle and a pairwise swap, we can complement all the bits of the binary representations of the positions — which is the same thing as reversing the list.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2011-01-15T00:07:18.127" CommentCount="15" ContentLicense="CC BY-SA 2.5" />
  <row Id="4329" PostTypeId="2" ParentId="4326" CreationDate="2011-01-15T00:28:21.673" Score="3" Body="&lt;p&gt;A lazy answer from me, but wikipedia explains this perfectly well: &lt;a href=&quot;http://en.wikipedia.org/wiki/Higher-order_logic&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/Higher-order_logic&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="351" LastActivityDate="2011-01-15T00:28:21.673" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4330" PostTypeId="2" ParentId="4327" CreationDate="2011-01-15T01:09:01.597" Score="2" Body="&lt;p&gt;The operation is discretization to steps of size $0.05\mathrm{Hz}$. In other words, in the computer the values stored are in a new unit which is 20 times smaller than a Hertz.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This corresponds to decimal values after the dot of the forms $.X$ and $.X5$. So two steps correspond to a change in the first digit after the dot.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In fixed-point arithmetic, there is a base (usually base 2), and you take a fixed number of digits after the dot. This works (somewhat artificially) in this case if you use base 20.&lt;/p&gt;&#xA;" OwnerUserId="40" LastActivityDate="2011-01-15T01:09:01.597" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4331" PostTypeId="2" ParentId="79" CreationDate="2011-01-15T07:32:52.953" Score="8" Body="&lt;p&gt;In the &lt;a href=&quot;http://books.google.com/books?id=JogZAQAAIAAJ&amp;amp;q=%22linear+divisibility%22&amp;amp;dq=%22linear+divisibility%22&amp;amp;hl=en&amp;amp;ei=_EwxTe2rMsaSOsru9LQC&amp;amp;sa=X&amp;amp;oi=book_result&amp;amp;ct=result&amp;amp;resnum=23&amp;amp;ved=0CIUBEOgBMBY&quot; rel=&quot;noreferrer&quot;&gt;linear divisibility&lt;/a&gt; problem, the input is two integers $a$ and $b$ and the task is to determine whether there exists an integer of the form $a \cdot x+1$ that divides $b$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The linear divisibility problem is known to be $\gamma$-complete for NP but not known (AFAIK) to be NP-complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Garey and Johnson in their seminal &quot;Computers and Intractability&quot; say that (pp. 158-159):&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;A $\gamma$-reduction, in contrast to our other notions of reducibility, is nondeterministic in nature. Let us first introduce the notion of the relation $R_M$ computed by an NDTM program $M$:$$R_M=\{\langle x,y\rangle:there\ is\ a\ string\ z\ such\ that\ on\ input\ x\ and\ guess\ z\ M\ has\ output\ y\}$$&#xA;  (where the definition of &quot;output&quot; is as in the computation of functions by DTMs).&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;We say that a language $L_1$ over alphabet $\Sigma_1$ is $\gamma$-reducible to a language $L_2$ over $\Sigma_2$ (written $L_1\propto_{\gamma}L_2$) if there is a polynomial time NDTM program $M$ such that for all $x\in\Sigma_1^*$ there is some $y\in\Sigma_2^*$ for which $\langle x,y\rangle\in R_M$ and such that for all $\langle x,y\rangle\in R_M$, $x\in L_1$ if and only if $y\in L_2$. In other words, there is at least one halting computation for $M$ on every input $x$ and, given an input $x$, all halting computations on $x$ yield outputs that are in $L_2$ if and only if $x\in L_1$. &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="1060" LastEditorUserId="123" LastEditDate="2011-08-20T14:42:27.383" LastActivityDate="2011-08-20T14:42:27.383" CommentCount="1" CommunityOwnedDate="2011-01-15T07:32:52.953" ContentLicense="CC BY-SA 3.0" />
  <row Id="4334" PostTypeId="1" AcceptedAnswerId="4335" CreationDate="2011-01-15T17:21:23.223" Score="2" ViewCount="208" Body="&lt;p&gt;I'm having trouble understanding a concept in my book which is about finding a good structure to represent a &lt;em&gt;union-find&lt;/em&gt; datastructure. Here we define a structure -referred to as collection- $V$ as such a datastructure:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A collection $V$ is a bitvector (bitvector is an array of $l = (n/b) + 1$ longs) where bit $i$ ($0 \le i \lt b$) of word $j$ ($0 \le j \lt l$) is 1 only if the element $j * b + 1$ is in the collection $V$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;($n$ is the amount of elements, $b$ is how many bits are represented in a long)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So i was thinking of figuring this out with an example, let's say we have collection $V$:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[ 1 |  3  |  6  | ... | l  ]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;And since:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;1 = 001  &#xA;3 = 011  &#xA;6 = 110&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Does that mean elements with the number (assuming we have given each element a number):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1 * 64 + 1 = 65&lt;br&gt;&#xA;3 * 64 + 1 = 193&lt;br&gt;&#xA;3 * 64 + 2 = 194&lt;br&gt;&#xA;6 * 64 + 2 = 386&lt;br&gt;&#xA;6 * 64 + 3 = 387  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;are in the collection $V$ ?  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If this is completely wrong, could someone please give me a decent example of such a collection $V$, or point out where i'm wrong, or why my example can't be such a collection?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(also, i couldn't give this any sensible tag since i can't create tags yet)&lt;/p&gt;&#xA;" OwnerUserId="3263" LastEditorUserId="3263" LastEditDate="2011-01-15T17:30:21.580" LastActivityDate="2011-01-15T17:51:14.467" Title="Union/find structure implemented by bitvectors" Tags="&lt;ds.algorithms&gt;&lt;ds.data-structures&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4335" PostTypeId="2" ParentId="4334" CreationDate="2011-01-15T17:51:14.467" Score="1" Body="&lt;p&gt;The concept is simpler than you think.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assuming 8 bit words and a bitvector of only one word length,&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;1 = 00000001  &#xA;3 = 00000100  &#xA;6 = 00100000&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;The collection is the union of the three individual elements, which is to say &lt;code&gt;00100101&lt;/code&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, wikipedia: &lt;a href=&quot;http://en.wikipedia.org/wiki/Bit_array&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/Bit_array&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="351" LastActivityDate="2011-01-15T17:51:14.467" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4336" PostTypeId="1" AcceptedAnswerId="4341" CreationDate="2011-01-15T22:01:36.430" Score="7" ViewCount="314" Body="&lt;p&gt;Let $x$ be a rational number, and $S_n(x)= \sum_{1\leq i\leq n} i^x$. What is the complexity of computing $S_n(x)$ correct to $d$ decimal places? Is this a Hard problem?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is clear from Faulhaber's formula that the problem takes $O(x)$ steps to solve for natural $x$. But I'm not very clear about rational $x$.&lt;/p&gt;&#xA;" OwnerUserId="2801" LastEditorUserId="1800" LastEditDate="2011-01-16T02:41:24.103" LastActivityDate="2011-01-16T02:41:24.103" Title="Complexity of summing up integral powers" Tags="&lt;cc.complexity-theory&gt;&lt;time-complexity&gt;&lt;nt.number-theory&gt;" AnswerCount="2" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4337" PostTypeId="2" ParentId="4336" CreationDate="2011-01-15T22:27:26.283" Score="2" Body="&lt;p&gt;Perhaps the &lt;a href=&quot;http://en.wikipedia.org/wiki/Euler%E2%80%93Maclaurin_formula&quot; rel=&quot;nofollow&quot;&gt;Euler-Maclaurin formula&lt;/a&gt; can help.&lt;/p&gt;&#xA;" OwnerUserId="40" LastActivityDate="2011-01-15T22:27:26.283" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4339" PostTypeId="2" ParentId="4304" CreationDate="2011-01-16T00:32:47.033" Score="14" Body="&lt;p&gt;Although a &lt;a href=&quot;https://cstheory.stackexchange.com/questions/4304/is-the-fewest-discriminating-bits-problem-np-complete/4307#4307&quot;&gt;proof of NP-completeness&lt;/a&gt; is already provided, it might be worth pointing out that this problem is equivalent to a known NP-complete problem called the minimum test set problem ([SP6] in &lt;a href=&quot;http://en.wikipedia.org/wiki/Computers_and_Intractability:_A_Guide_to_the_Theory_of_NP-Completeness&quot; rel=&quot;nofollow noreferrer&quot;&gt;Garey and Johnson&lt;/a&gt;, also called the &lt;a href=&quot;http://www.csc.kth.se/~viggo/wwwcompendium/node148.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;minimum test collection problem&lt;/a&gt;): just exchange the role of the sets and the role of the positions.&lt;/p&gt;&#xA;" OwnerUserId="567" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2011-01-16T06:04:59.473" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="4340" PostTypeId="2" ParentId="4278" CreationDate="2011-01-16T00:43:36.547" Score="4" Body="&lt;p&gt;&quot;Training&quot; a naive bayes classifier, assuming you're given the feature vectors, is $O(n)$, where $n = \sum_i nnz(x_i)$, where $nnz(x_i)$ is the number of nonzero features in data point $i$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For logistic regression you have to solve an optimization problem, and this depends on the optimizer. With L-BFGS an iteration takes linear time on the size of the training set and I've never needed more than 100 iterations to converge to a reasonable value (but I'm not aware of any worst-case bounds).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the $k$-nearest neighbor classifier there is no training, but classifying has a high cost, and depends on the search algorithm you're using. For linear search the complexity is (for fixed k) proportional to the size of the training set for each point you want to classify. With approximate algorithms this can be &lt;a href=&quot;http://people.csail.mit.edu/indyk/p117-andoni.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;brought down&lt;/a&gt; considerably at the expense of accuracy.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For svms standard quadratic-programming solvers are $n^3$, but recent approaches are &lt;a href=&quot;http://www.cs.huji.ac.il/~shais/papers/SSSICML08.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;inverse in the size of the training set&lt;/a&gt;. More information in &lt;a href=&quot;http://www.quora.com/What-is-the-computational-complexity-of-an-SVM&quot; rel=&quot;nofollow noreferrer&quot;&gt;this quora answer&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you really need fast learning the best approaches so far are those based on online learning, which can converge to classifiers that compete well against batch classifiers with only one pass over the training data. A very fast implementation is &lt;a href=&quot;http://hunch.net/~vw/&quot; rel=&quot;nofollow noreferrer&quot;&gt;vowpal wabbit&lt;/a&gt; and a good algorithm is &lt;a href=&quot;http://news.google.com/research/pubs/archive/34667.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;confidence-weighted learning&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="120" LastEditorUserId="48516" LastEditDate="2018-02-08T23:09:34.247" LastActivityDate="2018-02-08T23:09:34.247" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="4341" PostTypeId="2" ParentId="4336" CreationDate="2011-01-16T01:02:12.387" Score="9" Body="&lt;p&gt;Check out &lt;a href=&quot;http://www.sciencedirect.com/science?_ob=ArticleURL&amp;amp;_udi=B6WK2-4KSVGD3-7&amp;amp;_user=10&amp;amp;_coverDate=06%2F01%2F2007&amp;amp;_rdoc=1&amp;amp;_fmt=high&amp;amp;_orig=search&amp;amp;_origin=search&amp;amp;_sort=d&amp;amp;_docanchor=&amp;amp;view=c&amp;amp;_searchStrId=1608305166&amp;amp;_rerunOrigin=google&amp;amp;_acct=C000050221&amp;amp;_version=1&amp;amp;_urlVersion=0&amp;amp;_userid=10&amp;amp;md5=7f2ea73a2abc984a62da6994457e4c8d&amp;amp;searchtype=a&quot; rel=&quot;nofollow&quot;&gt;The generalization of Faulhaber's formula to sums of non-integral powers&lt;/a&gt;. Specifically, on the last page, it gives a formula indicating an error bound of $O(N^{\sigma - m})$, where $\sigma$ is $x$ (in this paper, it's generalized to complex numbers), and $m = \lfloor \sigma + 1 \rfloor$. $N$ in this case refers to the depth of a summation you have to calculate. So this implies that for rational numbers slightly greater than an integer, it would be a lot faster than for rational numbers slightly less than an integer. Of course, this is a result on real numbers, and there may be a better result for rationals.&lt;/p&gt;&#xA;" OwnerUserId="2678" LastActivityDate="2011-01-16T01:02:12.387" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4342" PostTypeId="2" ParentId="4326" CreationDate="2011-01-16T01:53:49.907" Score="10" Body="&lt;p&gt;My angle on a related distinction: &lt;a href=&quot;http://chrisamaphone.livejournal.com/751991.html&quot;&gt;http://chrisamaphone.livejournal.com/751991.html&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The &quot;order&quot; of nth-order (including higher-order) logic refers to the &lt;em&gt;level of things that can be quantified over&lt;/em&gt;. In first-order logic, the things quantified over are terms of some &lt;em&gt;unrelated domain&lt;/em&gt;: &quot;All men are mortal.&quot; In second order logic, you can quantify over first-order predicates: &quot;All properties of men also hold of dragons.&quot; Higher-order logic is the generalization of this to all higher predicates, which I think is better understood in terms of system F-omega (equivalent to HOL), wherein you can form type operators (constructors of kind type -&gt; type) which can be quantified over as well as types.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The relation to &quot;order&quot; in polynomials is better understood as an analogy pertaining to recursion (nth order polynomials include a term multiplied by itself n times) than anything more rigorous.&lt;/p&gt;&#xA;" OwnerUserId="29040" LastActivityDate="2011-01-16T01:53:49.907" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4343" PostTypeId="1" CreationDate="2011-01-16T02:22:43.013" Score="2" ViewCount="233" Body="&lt;p&gt;This one has been bugging me for a while. A long time ago in undergrad, I noticed this while learning about TSP. Nobody recognized it and I basically gave up. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a hamiltonian path, any subpath will consist of a start, end, and set of interior vertices. Any ordering of the interior vertices will possibly yield a path existing within the graph, that when substituted for the original will yield another valid hamiltonian path. These subpaths would therefore form an equivalence class.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Under this relation, two paths would be equivalent if they have the same start vertex, the same end vertex, and the same set of interior vertices.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does this equivalence class have a name? If so, are there any TSP optimization algorithms that make use of this?&lt;/p&gt;&#xA;" OwnerUserId="3266" LastEditorUserId="1800" LastEditDate="2011-01-24T04:06:53.520" LastActivityDate="2011-01-24T18:16:16.380" Title="Searching for name of equivalence property in hamiltonian paths" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;graph-algorithms&gt;&lt;hamiltonian-paths&gt;&lt;terminology&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4347" PostTypeId="1" CreationDate="2011-01-16T04:38:20.640" Score="8" ViewCount="572" Body="&lt;p&gt;Is there a database of known problems with information about their complexity and algorithms, related problems, references etc that is available to us?  [If not, can we make one? I know this is off topic, but it would be SO useful]&lt;/p&gt;&#xA;" OwnerUserId="738" LastEditorUserId="80" LastEditDate="2011-01-16T11:51:45.490" LastActivityDate="2011-01-18T22:31:30.950" Title="Is there a list of known problems?" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;survey&gt;" AnswerCount="2" CommentCount="12" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="4348" PostTypeId="1" CreationDate="2011-01-16T07:33:17.033" Score="3" ViewCount="570" Body="&lt;p&gt;I've been doing some preliminary research in the area of message digests. Specifically collision attacks of cryptographic hash functions such as MD5 and SHA-1, such as the Postscript example and X.509 certificate duplicate.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;From what I can tell in the case of the postscript attack, specific data was generated and embedded within the header of the postscript (which is ignored during rendering) which brought about the internal state of the md5 to a state such that the modified wording of the document would lead to a final MD equivalent to the original. The X.509 took a similar approach where by data was injected within the comment/whitespace of the certificate.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Ok so here is my question, and I can't seem to find anyone asking this question:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Why isn't the length of &lt;b&gt;ONLY&lt;/b&gt; the data being consumed added as a final block to the MD calculation?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;In the case of X.509 - Why is the whitespace and comments being taken into account as part of the MD?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Wouldn't a simple processes such as one of the following be enough to resolve the proposed collision attacks:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;$MD(M + |M|) = xyz$&lt;/li&gt;&#xA;&lt;li&gt;$MD(M + |M| + |M| * magicseed_0 +...+ |M| * magicseed_n) = xyz$&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;where :&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;M : is the message&lt;/li&gt;&#xA;&lt;li&gt;|M| : size of the message in bits&lt;/li&gt;&#xA;&lt;li&gt;MD : is the message digest function (eg: md5, sha, whirlpool etc)&lt;/li&gt;&#xA;&lt;li&gt;xyz : is the pairing of the acutal message digest value for the message M and |M|. &amp;lt;M,|M|&amp;gt;&lt;/li&gt;&#xA;&lt;li&gt;$magicseed_{i}$: Is a set of random values generated with seed based on the internal-state prior to the size being added.&lt;/li&gt;&#xA;&lt;li&gt;'+' : is a concatentation operation A+B+C = ABC&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;This technqiue should work, as to date all such collision attacks rely on adding more data to the original message.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In short, the level of difficulty involved in generating a collision message such that:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;It not only generates the same MD&lt;/li&gt;&#xA;&lt;li&gt;But is also comprehensible/parsible/compliant&lt;/li&gt;&#xA;&lt;li&gt;and is also the same size as the original message,&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;is immensely difficult if not near impossible. Has this approach ever been discussed? Any links to papers etc would be nice.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;b&gt;Further Question&lt;/b&gt;: What is the lower bound for collisions of messages of common length for a hash function H chosen randomly from U, where U is the set of universal hash functions ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is it $1/N$ (where N is $2^{|M|}$) or is it greater? If it is greater, that implies there is more than 1 message of length |M| that will map to the same MD value for a given H.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If that is the case, how practical is it to find these other messages? bruteforce would be of $O(2^N)$, is there a method of time complexity less than bruteforce?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Links:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Postscript: &lt;a href=&quot;http://www.schneier.com/blog/archives/2005/06/more_md5_collis.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://www.schneier.com/blog/archives/2005/06/more_md5_collis.html&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;X.509: &lt;a href=&quot;http://www.win.tue.nl/~bdeweger/CollidingCertificates/&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://www.win.tue.nl/~bdeweger/CollidingCertificates/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Note: This question is NOT as easy as it seems. Please read it very carefully and make sure you have understood exactly what is being asked. The answer will require understanding of martingales and distribution ensembles. If you are unsure what these are or how they apply to this particular problem then please do not post answers. Prior knowledge of this class of attack is required, please access the links above and the following: &lt;a href=&quot;https://cstheory.stackexchange.com/questions/585/what-is-the-difference-between-a-second-preimage-attack-and-a-collision-attack&quot;&gt;csse question&lt;/a&gt;. Please DO NOT focus on answers that relate to generating messages of length different from the original message as any such solution is invalid.&lt;/p&gt;&#xA;" OwnerUserId="3237" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2011-04-18T04:40:42.577" Title="Collision Attacks, Message Digests and a Possible solution" Tags="&lt;cr.crypto-security&gt;&lt;hash-function&gt;" AnswerCount="1" CommentCount="9" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="4349" PostTypeId="2" ParentId="189" CreationDate="2011-01-16T11:48:26.983" Score="10" Body="&lt;p&gt;Floyd's Cycle Finding Algorithm is one of the most beautiful things I've seen.  Especially the part where he finds where the cycle begins.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Cycle_detection&quot;&gt;http://en.wikipedia.org/wiki/Cycle_detection&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="738" LastActivityDate="2011-01-16T11:48:26.983" CommentCount="0" CommunityOwnedDate="2011-01-16T11:48:26.983" ContentLicense="CC BY-SA 2.5" />
  <row Id="4350" PostTypeId="2" ParentId="4347" CreationDate="2011-01-16T16:23:00.413" Score="1" Body="&lt;p&gt;If you do not insist on a database, the &lt;a href=&quot;http://books.google.com/books?id=i3S9_GnHZwYC&amp;amp;pg=PA366&amp;amp;lpg=PA366&amp;amp;dq=Encyclopedia+of+Algorithms+bandwidth&amp;amp;source=bl&amp;amp;ots=nBppleEpLu&amp;amp;sig=pL8po9dD0y5tl4i91YFNSxdoCeM&amp;amp;hl=en&amp;amp;ei=NxkzTbyVAYLDswa67biCCg&amp;amp;sa=X&amp;amp;oi=book_result&amp;amp;ct=result&amp;amp;resnum=1&amp;amp;ved=0CBcQ6AEwAA&amp;amp;safe=active#v=onepage&amp;amp;q&amp;amp;f=false&quot; rel=&quot;nofollow&quot;&gt;Encyclopedia of algorithms&lt;/a&gt; By Ming-Yang Kao is very valuable reference. The above link is the entry for the minimum Bandwidth problem.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;This is an encyclopedia of algorithms that sets out the solutions to important algorithmic problems. It aims to be a comprehensive collection and is designed to provide quick and easy access for both students and researchers.” (Kybernetes, Vol. 38 (1/2), 2009)&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="495" LastActivityDate="2011-01-16T16:23:00.413" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4351" PostTypeId="2" ParentId="189" CreationDate="2011-01-16T18:21:53.913" Score="11" Body="&lt;p&gt;&lt;strong&gt;Lenstra-Lenstra-Lovász&lt;/strong&gt; Lattice Basis Reduction. Maybe not quite from the book (since it's, at least to me, a bit messy), but it definitely is worth a mention here.&lt;/p&gt;&#xA;" OwnerUserId="3169" LastActivityDate="2011-01-16T18:21:53.913" CommentCount="1" CommunityOwnedDate="2011-01-16T18:21:53.913" ContentLicense="CC BY-SA 2.5" />
  <row Id="4352" PostTypeId="1" AcceptedAnswerId="4353" CreationDate="2011-01-17T00:51:58.160" Score="23" ViewCount="10536" Body="&lt;p&gt;I've read somewhere that a Turing machine cannot compute this and it's therefore undecidable but why? Why is it computationally impossible for a machine to generate the parse tree's and make a decision? Perhaps I'm wrong and it can be done? &lt;/p&gt;&#xA;" OwnerUserId="3284" LastActivityDate="2020-09-14T18:20:47.127" Title="How is proving a context free language to be ambiguous undecidable?" Tags="&lt;computability&gt;&lt;turing-machines&gt;&lt;context-free&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="14" ContentLicense="CC BY-SA 2.5" />
  <row Id="4353" PostTypeId="2" ParentId="4352" CreationDate="2011-01-17T01:39:01.810" Score="30" Body="&lt;p&gt;We reduce from &lt;a href=&quot;https://en.wikipedia.org/wiki/Post_correspondence_problem&quot; rel=&quot;noreferrer&quot;&gt;Post's Correspondence Problem&lt;/a&gt;. Suppose we can, in fact, decide the language &lt;span class=&quot;math-container&quot;&gt;$\{\langle G\rangle\vert G\textrm{ a CFG and }L(G)\textrm{ ambiguous}\}$&lt;/span&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given &lt;span class=&quot;math-container&quot;&gt;$\alpha_1, \ldots, \alpha_m, \beta_1, \ldots, \beta_m$&lt;/span&gt;:&#xA;Construct the following CFG &lt;span class=&quot;math-container&quot;&gt;$G = (V,\Sigma,R,S)$&lt;/span&gt;:&#xA;&lt;span class=&quot;math-container&quot;&gt;$V = \{S, S_1, S_2\}$&lt;/span&gt;,&#xA;&lt;span class=&quot;math-container&quot;&gt;$$\begin{align}&#xA;R = \{S_{\phantom0}&amp;amp;\rightarrow S_1\vert S_2,\\&#xA;S_1&amp;amp;\rightarrow \alpha_1 S_1 \sigma_1 \vert \cdots \vert \alpha_m S_1 \sigma_m \vert \alpha_1 \sigma_1 \vert \cdots \vert \alpha_m \sigma_m,\\&#xA;S_2&amp;amp;\rightarrow \beta_1 S_2 \sigma_1\vert \cdots \vert \beta_m S_2 \sigma_m \vert \beta_1 \sigma_1\vert \cdots \vert \beta_m \sigma_m\}&#xA;\end{align}$$&lt;/span&gt;&#xA;(where &lt;span class=&quot;math-container&quot;&gt;$\sigma_i$&lt;/span&gt; are new characters added to the alphabet, e.g., &lt;span class=&quot;math-container&quot;&gt;$\sigma_i = \underline{i}$&lt;/span&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If the language is ambiguous, then there is a derivation of some string &lt;span class=&quot;math-container&quot;&gt;$w$&lt;/span&gt; in two different ways. Supposing, wlog, that the derivations both start with the rule &lt;span class=&quot;math-container&quot;&gt;$S\rightarrow S_1$&lt;/span&gt;, reading the new characters backwards until they end makes sure there can only be one derivation, so that's not possible. Hence, we see that the only ambiguity can come from one &lt;span class=&quot;math-container&quot;&gt;$S_1$&lt;/span&gt; and one &lt;span class=&quot;math-container&quot;&gt;$S_2$&lt;/span&gt; 'start'. But then, taking the substring of &lt;span class=&quot;math-container&quot;&gt;$w$&lt;/span&gt; up to the beginning of the new characters, we have a solution to the PCP (since the strings of indices used after those points match).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Similarly, if there is no ambiguity, then the PCP cannot be solved, since a solution would imply an ambiguity that just follows &lt;span class=&quot;math-container&quot;&gt;$S\Rightarrow S_1\Rightarrow^* \alpha\tilde{\sigma}$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$S\Rightarrow S_2\Rightarrow^* \beta\tilde{\sigma}$&lt;/span&gt;, where &lt;span class=&quot;math-container&quot;&gt;$\alpha = \beta$&lt;/span&gt; are strings of matching &lt;span class=&quot;math-container&quot;&gt;$\alpha$&lt;/span&gt;'s and &lt;span class=&quot;math-container&quot;&gt;$\beta$&lt;/span&gt;'s (since the &lt;span class=&quot;math-container&quot;&gt;$\tilde{\sigma}$&lt;/span&gt;'s match).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hence, we've reduced to PCP, and since that's undecidable, we're done.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Let me know if I've done anything boneheaded!)&lt;/p&gt;&#xA;" OwnerUserId="3169" LastEditorUserId="6959" LastEditDate="2020-02-14T16:06:47.227" LastActivityDate="2020-02-14T16:06:47.227" CommentCount="2" ContentLicense="CC BY-SA 4.0" />
  <row Id="4354" PostTypeId="2" ParentId="3299" CreationDate="2011-01-17T02:04:26.987" Score="6" Body="&lt;p&gt;Many thanks to &lt;a href=&quot;http://www.csie.ntu.edu.tw/~hil/&quot;&gt;Hsueh-I Lu&lt;/a&gt;, my teacher in National Taiwan University, who provides the following solution.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It turns out that the answer is rather simple; in the initialization of a data structure, &lt;strong&gt;we don't have to construct the structure by the queries and operations it supports&lt;/strong&gt;. Of course, we cannot perform queries during the construction like we usually do if we build the tree by &lt;em&gt;link&lt;/em&gt; operation; but in this separator decomposition application we don't need it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;That is to say, in the application to the separator decomposition, when we have to construct the link-cut trees L(T) for the spanning tree T on input graph G, instead of computing the structures and values of the trees L(T) by &lt;em&gt;link&lt;/em&gt; operation, we directly compute the heavy-light path decomposition of the tree T, and construct the corresponding binary tree structure for each paths, and gluing the binary trees according to the path decomposition. All the steps can be done in linear time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For each necessary values on the nodes of L(T), since each value can be compute from T in linear time (in this application), instead of assigning values on binary tree structures and updating when gluing the trees, we assign the precomputed values directly onto the nodes of the final link-cut trees L(T). There are only a constant type of values need to be assigned, and again this can be done in linear time.&lt;/p&gt;&#xA;" OwnerUserId="1800" LastActivityDate="2011-01-17T02:04:26.987" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4355" PostTypeId="2" ParentId="2395" CreationDate="2011-01-17T04:41:53.903" Score="9" Body="&lt;p&gt;Asking Tomas Rokicki this question immediately yielded the correct answer (&quot;yes, local maxima exist&quot;):&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;If a position exhibits total&#xA;  symmetry, it is of necessity a local&#xA;  maximum (all except the start).  A&#xA;  little thought should make it clear&#xA;  why this is the case in the QTM [quarter-turn metric].  For&#xA;  the HTM [half-turn metric] it's a bit more subtle but not&#xA;  too bad.&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;...&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;Such a position is pons asinorum,&#xA;  which is distance 12 in QTM and&#xA;  distance 6 in HTM (U2D2F2B2L2R2).&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I don't see why this is the case for the half-turn metric; but for&#xA;the quarter-turn metric it is clear.  In a position with total symmetry, all neighboring positions must be at the same path length (since all moves are equivalent by symmetry).  So a position with total symmetry must be either a local maximum or a strict local minimum.  But strict local minima cannot exist... there has to be &lt;em&gt;some&lt;/em&gt; move that reduces the distance to the solved state, just by the definition of the distance.  The symmetry argument translates to the $n \times n \times n$ cube, as does the example position provided.&lt;/p&gt;&#xA;" OwnerUserId="3183" LastActivityDate="2011-01-17T04:41:53.903" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="4356" PostTypeId="2" ParentId="3510" CreationDate="2011-01-17T05:44:49.873" Score="3" Body="&lt;p&gt;If you allow repetition of vertices, but not edges, within a cycle, then the problem is $\text{#P}$-complete.  This &lt;a href=&quot;http://arxiv.org/abs/1009.5019&quot; rel=&quot;nofollow&quot;&gt;paper&lt;/a&gt; shows that the problem of counting Eulerian tours is $\text{#P}$-complete for 4-regular planar graphs.  Therefore the problem I just described (call it $\text{#}A^\prime$) is $\text{#P}$-hard, because it is at least that difficult: in the special case where all edges have weight 1 and all nodes have weight 0, the Eulerian tours are just those cycles with total weight equal to the number of edges in the graph.  On the other hand, $\text{#}A^\prime\in\text{#P}$, because the corresponding decision problem $A^\prime \in \text{NP}$.&lt;/p&gt;&#xA;" OwnerUserId="3183" LastActivityDate="2011-01-17T05:44:49.873" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4357" PostTypeId="2" ParentId="3147" CreationDate="2011-01-17T07:47:30.483" Score="7" Body="&lt;p&gt;I wanted to post this as a comment, but since I cannot quite figure out the way to do so I guess it will have to be an &quot;answer&quot; instead. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I agree that the question is nice. Of course, the same question can also be asked about the length of resolution refutations (i.e., the number of clauses occurring in the refutation, counted with repetitions) and the width of refutation (i.e., the size of, or number of literals occurring in, the largest clause in the refutation).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In all of these cases there are &quot;obvious&quot; upper bounds, but it is not clear to me whether one should expect matching lower bounds or not. Therefore, I wanted to add one question and one comment.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The question concerns refutation length. It seems reasonable to believe that the bound for length stated in the comment by Massimo is tight, but do we know this? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;And the comment concerns width. Note that for this measure, a moment of thought reveals that a direct sum lower bound does &lt;em&gt;not&lt;/em&gt; hold. For width, one instead refutes the whole $A$-formula for each clause $B_i$, in width $w_A$, say, plus the width of the $B$-formula, and then one refutes the $B$-formula in width $w_B$. Assuming that both formulas have constant initial width, the width of the refutation of the direct sum will be essentially $\max (w_A, w_B)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is of course an easy observation, but the point is that it might indicate that the question for space could be tricky. This is so since almost all lower bounds on space in refutation we know of go via width lower bounds. (That is, the space lower bounds were derived independently, but with hindsight they all follow as a corollary from the beautiful paper &quot;A Combinatorial Characterization of Resolution Width&quot; by Atserias and Dalmau.) But if there is a direct sum theorem for resolution clause space, it will not follow from width lower bounds but has to be argued directly, which at least so far has seemed to be much harder. But of course there might be some easy argument that I am missing.&lt;/p&gt;&#xA;" OwnerUserId="3220" LastActivityDate="2011-01-17T07:47:30.483" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="4358" PostTypeId="1" AcceptedAnswerId="4369" CreationDate="2011-01-17T08:10:09.030" Score="5" ViewCount="853" Body="&lt;p&gt;(I was redirected from mathoverflow in asking this)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hello,&#xA;I'm trying to determine if the following problem is solvable in polynomial time:  given a collection of $n$ half-open intervals $[s_i, t_i)$ having integer endpoints, is it possible, for given integers $k$ and $L$, to find a subset $S$ of these intervals that are &quot;exactly&quot; covered with $k$ half-open intervals of length $L$, with each of these $k$ &quot;covering intervals&quot; only covering one of the given intervals at any particular instant?  Put another way, by William Thurston, &quot;given a finite set of half-open intervals, is there a subset of them so the sum of their characteristic functions can be expressed as a sum of characteristic functions of intervals of length $L$&quot;?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, given the four intervals $[0,3), [2,4), [3, 6), [3, 8)$ with $k=2$ and $L=4$, we find that $[0,3)$, $[2,4)$, and $[3,6)$ can be exactly covered by the two intervals $[0,4)$ and $[2,6)$.  I hope I've stated this clearly.  One thing I've tried is a reduction via the subset-sum problem, but the fact that I'm dealing with intervals complicates it in a way I'm not comfortable with.  Thanks!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A clarification about &quot;only covering one of the given intervals at any particular instant&quot;:  what I mean is that, for example, the interval $[0,5]$ could be said to cover either $(0,3)$ or $(0,4)$, but not both simultaneously.  &lt;/p&gt;&#xA;" OwnerUserId="3286" LastEditorUserId="3286" LastEditDate="2011-01-17T19:12:12.987" LastActivityDate="2011-01-17T19:12:12.987" Title="Covering a set of intervals" Tags="&lt;cc.complexity-theory&gt;&lt;cg.comp-geom&gt;&lt;scheduling&gt;" AnswerCount="1" CommentCount="7" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="4360" PostTypeId="2" ParentId="3510" CreationDate="2011-01-17T11:50:43.523" Score="0" Body="&lt;p&gt;If all edge weights are $1$-weighted and $K = |V|$ then this problem is the problem of counting hamiltonian cycles in planar graph,which is #P-complete. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;But if $K$ is $O(1)$ then let $K = 0$ and all edge weights are $0$. We need to count number of cycles in planar graph (It seems that it is #P-complete also). It is easy to prove that if we can solve this counting problem in polynomail time then we can decide existence of hamiltonian cycle in polynomial time. Let us replace each edge $e=(u, v)$ by two pathes from $u$ to $v$ of length $p = 2|V|^3$, first path is $u,a_1,v_1,a_2,v_2,\ldots,v_{p-1},a_p,v$ and second path is &#xA;$u,b_1,v_1,b_2,v_2,\ldots,v_{p-1},b_p,v$, (for different edges $(u,v)$ there are different vertices $a_i,b_i$). Thus for each edge $(u,v)$ we have $2^p$ correponding simple pathes from $u$ to $v$ in new planar graph. There are no hamiltonian path in original graph iff number of cycles in new graph is less then $|V|!\cdot 2^{|V|} \cdot (2^p)^{|V|-1} + |V|^2 \cdot 2^p $  (because at least $(2^p)^{|V|}$ cycles correspond to hamiltinian path in new graph).&lt;/p&gt;&#xA;" OwnerUserId="3159" LastEditorUserId="3159" LastEditDate="2011-01-17T11:59:24.217" LastActivityDate="2011-01-17T11:59:24.217" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="4362" PostTypeId="1" AcceptedAnswerId="4367" CreationDate="2011-01-17T13:58:24.327" Score="6" ViewCount="501" Body="&lt;p&gt;If you search for a node in a semi-splay tree, it's basically to push certain nodes closer to the root, to reduce future search operations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My course also says that if you search for a node and the node is not in the semi-splay tree, you &lt;em&gt;still&lt;/em&gt; have to perform semi-play on the search path in the tree.&lt;br&gt;&#xA;But isn't that basically pushing nodes to the root that aren't actually have been searched for?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So my question would be : why do you still have to perform semi-splay even if the node you search for is not in the tree?&lt;/p&gt;&#xA;" OwnerUserId="3263" LastEditorUserId="1800" LastEditDate="2011-01-17T15:23:02.060" LastActivityDate="2011-01-17T16:11:30.070" Title="Searching nodes in semi-splay tree" Tags="&lt;ds.data-structures&gt;&lt;tree&gt;&lt;dynamic-algorithms&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4364" PostTypeId="2" ParentId="4178" CreationDate="2011-01-17T14:35:36.287" Score="3" Body="&lt;p&gt;I don't think they mean derandomization in the traditional sense.  Try looking at the application of the BC lemma in this paper for an example of what they are talking about: &lt;a href=&quot;http://www.cs.bu.edu/~reyzin/hash.html&quot; rel=&quot;nofollow&quot;&gt;http://www.cs.bu.edu/~reyzin/hash.html&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;They say &quot;asymptotic&quot; because most BB separations apply to concepts like one-way functions, which are defined asymptotically.  Their result is instead a &quot;concrete&quot; bound that applies to all values of the security parameters, not just sufficiently large values.&lt;/p&gt;&#xA;" OwnerUserId="724" LastActivityDate="2011-01-17T14:35:36.287" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4365" PostTypeId="1" CreationDate="2011-01-17T14:47:01.460" Score="6" ViewCount="299" Body="&lt;p&gt;In these days I'm reading the book &lt;a href=&quot;http://www.decision-procedures.org&quot;&gt;Decision Procedures - An Algorithmic Point of View&lt;/a&gt;. Chapters 3 and 4 deal with the &lt;a href=&quot;http://www.decision-procedures.org/slides/uf.pdf&quot;&gt;Theory of Equality with Uninterpreted Functions (EUF)&lt;/a&gt;. The authors give 3 toy examples on using EUF to solve real-world problems: proving equivalence of programs, proving equivalence of circuits, validating the translation performed by a compiler. I'm looking for further practical applications of EUF, possibly non-toy examples.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Question(s)&lt;/strong&gt;  &lt;/p&gt;&#xA;  &#xA;  &lt;ol&gt;&lt;li&gt;Did anyone use EUF to successfully solve real-world problems different than those indicated above?&lt;/li&gt;&#xA;  &lt;li&gt;Did anyone use EUF to successfully solve the above problems, but in a real world setting rather than a toy setting?&lt;/li&gt;&#xA;  &lt;li&gt;Did anyone use EUF to model (parts of) big, complex systems? What did you model? What did you manage to prove about such systems? Do you have any success story to tell?&lt;/li&gt;&lt;/ol&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Pointers to papers are greatly appreciated. I've already posted this question on &lt;a href=&quot;http://ai.stackexchange.com&quot;&gt;ai.stackexchange.com&lt;/a&gt;, without receiving any answer (moreover, unfortunately that site was closed during its beta for insufficient activity).&lt;/p&gt;&#xA;" OwnerUserId="947" LastEditorUserId="947" LastEditDate="2011-01-17T14:52:31.123" LastActivityDate="2011-01-20T22:08:09.590" Title="Practical applications of the Theory of Equality with Uninterpreted Functions (EUF)" Tags="&lt;reference-request&gt;&lt;lo.logic&gt;&lt;ai.artificial-intel&gt;&lt;software&gt;&lt;application-of-theory&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4366" PostTypeId="2" ParentId="4365" CreationDate="2011-01-17T15:13:41.793" Score="8" Body="&lt;p&gt;Most automatic theorem provers handle EUF in some form. In particular, provers based on the &lt;a href=&quot;http://scholar.google.co.uk/scholar?cluster=18185855484888710358&quot;&gt;Nelson-Oppen&lt;/a&gt; architecture do so. For big systems, however, EUF is usually not enough. One needs specialized decision procedures for arithmetic, arrays, bit vectors, and so on to get better performance. Take a look at &lt;a href=&quot;http://en.wikipedia.org/wiki/Satisfiability_Modulo_Theories&quot;&gt;SMT solvers&lt;/a&gt;. If you follow the links to solvers and where they are used you'll find &lt;em&gt;many&lt;/em&gt; applications to real world problems. For example, Z3 is used in &lt;a href=&quot;http://research.microsoft.com/en-us/projects/vcc/&quot;&gt;VCC&lt;/a&gt;, which in turn is used to fully verify Microsoft's (baby) hardware simulator Hyper-V.&lt;/p&gt;&#xA;" OwnerUserId="236" LastActivityDate="2011-01-17T15:13:41.793" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4367" PostTypeId="2" ParentId="4362" CreationDate="2011-01-17T16:11:30.070" Score="8" Body="&lt;p&gt;To complete the search process for an element $x$ that is not in the tree, you have to go all the way to a leaf node to confirm that $x$ is not in the tree.  If you repeatedly search for such an element $x$, you have to splay on an unsuccessful search, otherwise the query time for $x$ could indefinitely remain as bad as $\Theta(n)$, even in an amortized sense.&lt;/p&gt;&#xA;" OwnerUserId="196" LastActivityDate="2011-01-17T16:11:30.070" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4368" PostTypeId="1" AcceptedAnswerId="4371" CreationDate="2011-01-17T18:19:07.683" Score="-4" ViewCount="909" Body="&lt;p&gt;Given a DAG (which represents DDG – each node is a operation the in-edge/s show the operands from which inputs are taken) I want to obtain its compact representation of the graph, in such a way that:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Each node is mapped to the cell.(To&#xA;the some cell several nodes can be&#xA;mapped) The communication is exists&#xA;between cells in 4-neighbors(adjacency).&lt;/li&gt;&#xA;&lt;li&gt;In the example below node I get&#xA;“results” (as operands) from nodes C&#xA;and E and we can see that they were&#xA;mapped in the proper way&#xA;(4-neighbors(adjacency)).&lt;/li&gt;&#xA;&lt;li&gt;The result from each operation is&#xA;transformed in 4-neighbors(adjacency). It means&#xA;(in the below example) that after&#xA;cell 1 has calculated C the&#xA;operation result maybe used by cell 2 (And ofcourse it maybe used by cell&#xA;1 also).&lt;/li&gt;&#xA;&lt;li&gt;The motivation is to execute the&#xA;operations in parallel in minimum&#xA;time and in minimum cells.Each Cell&#xA;can execute one node at a time&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;(The graph drawing I get using bary-center algorithm for cross-edges minimization, I think this information can help while the mapping is performed…)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;4-neighbors(adjacency)-Only adjacent cells can use information from each other.So for example to do &quot;I&quot; task the cell that executed C and D should be adjacent. More at &lt;a href=&quot;http://books.google.com/books?id=fGX8yC-4vXUC&amp;amp;lpg=PA24&amp;amp;dq=%2C4%20adjacency%2C&amp;amp;pg=PA23#v=onepage&amp;amp;q=%2C4%20adjacency%2C&amp;amp;f=false-&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://books.google.com/books?id=fGX8yC-4vXUC&amp;amp;lpg=PA24&amp;amp;dq=%2C4%20adjacency%2C&amp;amp;pg=PA23#v=onepage&amp;amp;q=%2C4%20adjacency%2C&amp;amp;f=false-&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can you give some advice for such mapping algorithm?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thank you in advance&#xA;&lt;img src=&quot;https://i.stack.imgur.com/IKW8k.png&quot; alt=&quot;alt text&quot;&gt;&lt;/p&gt;&#xA;" OwnerUserId="1648" LastEditorUserId="186" LastEditDate="2011-01-19T14:07:25.857" LastActivityDate="2011-01-19T14:07:25.857" Title="Compact representation of DAG," Tags="&lt;graph-theory&gt;&lt;ds.data-structures&gt;&lt;graph-algorithms&gt;&lt;directed-acyclic-graph&gt;" AnswerCount="1" CommentCount="19" ContentLicense="CC BY-SA 2.5" />
  <row Id="4369" PostTypeId="2" ParentId="4358" CreationDate="2011-01-17T19:03:46.737" Score="6" Body="&lt;p&gt;You're right to look for a reduction from the subset-sum problem. The subset problem is to find a subset $S&amp;#39;$ of $S$ such that $\Sigma_{s&amp;#39; \in S&amp;#39;} s&amp;#39; = t$. But this can be reduced to your interval cover problem with intervals $\{(0, s) : s \in S\}$, $k = t$, $L = 1$. Therefore the interval cover problem is NP-hard.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;PS Why don't you make all the intervals, input and output, half-open at the same end? That way you eliminate the finite set of points at which the sum of indicator functions is different.&lt;/p&gt;&#xA;" OwnerUserId="3131" LastActivityDate="2011-01-17T19:03:46.737" CommentCount="7" ContentLicense="CC BY-SA 2.5" />
  <row Id="4370" PostTypeId="1" AcceptedAnswerId="4408" CreationDate="2011-01-17T19:48:50.397" Score="-1" ViewCount="312" Body="&lt;p&gt;I am searching for some good resources to understand the Duration Viterbi algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does anyone knows a good resource to understand and learn how to model a Duration Viterbi Hidden Markov Chain Model ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The algorithm is based on the Viterbi one, but the transition model consider also the duration of each state.&lt;/p&gt;&#xA;" OwnerUserId="2512" LastEditorUserId="1993" LastEditDate="2018-10-20T06:37:36.313" LastActivityDate="2018-10-20T06:37:36.313" Title="Duration Viterbi Algorithm" Tags="&lt;ai.artificial-intel&gt;&lt;dynamic-programming&gt;&lt;markov-chains&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="4371" PostTypeId="2" ParentId="4368" CreationDate="2011-01-17T22:00:26.497" Score="5" Body="&lt;p&gt;This is simple. You have basically a &lt;a href=&quot;http://en.wikipedia.org/wiki/Hasse_diagram&quot; rel=&quot;noreferrer&quot;&gt;Hasse diagram&lt;/a&gt; on which you need to perform a &lt;a href=&quot;http://en.wikipedia.org/wiki/Topological_sorting&quot; rel=&quot;noreferrer&quot;&gt;topological sort&lt;/a&gt; to determine the order in which to complete a set of tasks, some of which depend on others. Each subset of the tasks for which order is not significant can be executed in parallel. You can divide these into your &quot;cells&quot; (threads?) however you please.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, for example, based on the graph you gave, you ought to get a list of sets:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;{C, A, B}, {I, E, F, G}, {K, L, H, J}, {D}&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Each set contains all tasks that must be completed to fulfill the prerequisites of the tasks in the next set, and all tasks in a set can be executed simultaneously.&lt;/p&gt;&#xA;" OwnerUserId="1543" LastEditorUserId="1543" LastEditDate="2011-01-17T22:09:54.297" LastActivityDate="2011-01-17T22:09:54.297" CommentCount="7" ContentLicense="CC BY-SA 2.5" />
  <row Id="4372" PostTypeId="1" AcceptedAnswerId="4373" CreationDate="2011-01-17T22:53:01.340" Score="6" ViewCount="1195" Body="&lt;p&gt;I'll try another question that I haven't been able to find almost any kind of information about, thanks a lot for any kind of pointers or explanations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a list of the proven lower bounds of NP algorithms (particularly for the TSP problems)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Like one might imagine that someone already has proven 3SAT to run at at least 2n² for example.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks again&lt;/p&gt;&#xA;" OwnerUserId="1707" LastActivityDate="2011-01-17T23:12:20.657" Title="Highest lower bound on NP problems (TSP)" Tags="&lt;cc.complexity-theory&gt;&lt;lower-bounds&gt;&lt;np&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4373" PostTypeId="2" ParentId="4372" CreationDate="2011-01-17T23:12:20.657" Score="12" Body="&lt;p&gt;The best known lower bounds for TSP are essentially the same as those for 3SAT (within polylogarithmic factors), and they apply the fact that there are very efficient reductions from 3SAT to Hamiltonian Path. (So, a good algorithm for Hamiltonian path would imply one for 3SAT, but certain lower bounds show that sufficiently good algorithms don't exist for 3SAT.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the best 3SAT lower bounds known, see &lt;a href=&quot;https://cstheory.stackexchange.com/questions/93/what-are-the-best-current-lower-bounds-on-3sat/120#120&quot;&gt;this answer&lt;/a&gt;. The bottom line is that the only non-trivial lower bounds known for these problems impose a &lt;em&gt;space restriction&lt;/em&gt; on the candidate algorithm, as well as a time restriction. So for example, we can say TSP cannot be solved in $n^{1.5}$ time and $O(log n)$ space, but we don't know if TSP can be solved in $n^{1.5}$ time (with no space restriction).&lt;/p&gt;&#xA;" OwnerUserId="225" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2011-01-17T23:12:20.657" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4374" PostTypeId="2" ParentId="4238" CreationDate="2011-01-18T02:59:17.350" Score="2" Body="&lt;p&gt;It seems like this problem may be known as the &lt;em&gt;dependency inference problem&lt;/em&gt;, as described in &lt;a href=&quot;http://www.vldb.org/conf/1987/P155.PDF&quot; rel=&quot;nofollow&quot;&gt;this extended abstract&lt;/a&gt; of the paper &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=671482&quot; rel=&quot;nofollow&quot;&gt;&quot;Dependency Inference&quot;&lt;/a&gt; by Mannila and Raiha in VLDB '87:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Given a relation $r$, find a set of functional dependencies that logically determines all the functional dependencies holding in $r$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Unfortunately, it seems that this problem is intractably super-polynomial. According to the same extended abstract:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Theorem 1. For each $n$ there exists a relation over $R$ such that&#xA;  $n = |R|$, $|r| = O(n)$, and each cover of $dep(r)$ has $\Omega(2^{n/2})$ dependencies.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;In other words, you cannot guarantee that the minimal cover is sub-exponential in the size of the input.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT: However, the asker is asking whether or not an &lt;em&gt;output&lt;/em&gt;-polynomial algorithm exists (i.e.: an algorithm that runs in time polynomial in the size of the input and output). The nearest reference I can find is in the paper &lt;a href=&quot;http://reference.kfupm.edu.sa/content/i/d/identifying_the_minimal_transversals_of__179494.pdf&quot; rel=&quot;nofollow&quot;&gt;&quot;Identifying the Minimal Transversals of a Hypergraph and Related Problems&quot;&lt;/a&gt;, SIAM J. Computing, 1995 (24) by Eiter and Gottlob. &#xA;They first define problems AP1 and AP2 where AP2 is the dependency inference problem. Then, they state the following:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Note that problems AP1 and AP2, which are search problems in terms of complexity theory, are solvable by algorithms in output-polynomial time only if the following decision problem, which we call FD-RELATION EQUIVALENCE, is in P:&lt;/p&gt;&#xA;  &#xA;  &lt;ul&gt;&#xA;  &lt;li&gt;&lt;em&gt;Problem&lt;/em&gt;: FD-RELATION EQUIVALENCE&lt;/li&gt;&#xA;  &lt;li&gt;&lt;em&gt;Instance&lt;/em&gt;: A relation $R$ and a set $F$ of FD.&lt;/li&gt;&#xA;  &lt;li&gt;&lt;em&gt;Question&lt;/em&gt;: Does $F_R = F^+$ hold ?&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;  &#xA;  &lt;p&gt;FD-RELATION EQUIVALENCE is in co-NP, but there is neither a polynomial time algorithm known for this problem nor is it proved co-NP-complete.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="751" LastEditorUserId="751" LastEditDate="2011-01-18T15:28:30.173" LastActivityDate="2011-01-18T15:28:30.173" CommentCount="7" ContentLicense="CC BY-SA 2.5" />
  <row Id="4375" PostTypeId="1" AcceptedAnswerId="4378" CreationDate="2011-01-18T03:16:57.423" Score="28" ViewCount="1941" Body="&lt;p&gt;What are &quot;easy regions&quot; for satisfiability? In other words, sufficient conditions for some SAT solver to be able to find a satisfying assignment, assuming it exists.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One example is when each clause shares variables with few other clauses, due to &lt;a href=&quot;http://arxiv.org/abs/0903.0544&quot;&gt;constructive proof&lt;/a&gt; of LLL, any other results along those lines?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There's &lt;a href=&quot;http://www.google.com/search?hl=en&amp;amp;safe=off&amp;amp;q=sufficient+conditions+for+convergence+of+the+sum%E2%80%93product+algorithm&amp;amp;aq=0&amp;amp;aqi=g1g-m9&amp;amp;aql=&amp;amp;oq=%22sufficient+conditions%22+&quot;&gt;sizable literature&lt;/a&gt; on easy regions for Belief Propagation, is there something along those lines for satisfiability?&lt;/p&gt;&#xA;" OwnerUserId="434" LastEditorUserId="1800" LastEditDate="2011-01-18T07:40:09.950" LastActivityDate="2013-02-10T16:44:13.643" Title="Which SAT problems are easy?" Tags="&lt;cc.complexity-theory&gt;&lt;sat&gt;" AnswerCount="6" CommentCount="2" FavoriteCount="16" ContentLicense="CC BY-SA 2.5" />
  <row Id="4376" PostTypeId="2" ParentId="4348" CreationDate="2011-01-18T03:26:14.793" Score="1" Body="&lt;p&gt;I will attempt an answer, which hopefully interpretes the question correctly and if not, will at least lead to some clarification.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let's say the hash has an output of size $2^{N}$ and we are hashing messages only of length exactly $2^{M}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The last question is the best place to start: what is the probability of a collision with a randomly selected hash? A common analogy used when talking about collisions is balls and bins. The question addresses the scenario where we randomly throw (definition of the hash) $2^{M}$ balls (message space) into $2^{N}$ bins (output space).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am not clear on the exact question: is it, what is the probability of at least one bin having more than one ball? Or is it, what is the probability that given I just threw a ball into a particular bin that another ball is thrown into the same bin?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The former is simply the birthday problem while the latter is:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$p=1-(1-\frac{1}{2^{N}})^{2^{M}-1}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now as the ratio $N/M$ increases, $p$ decreases. We cannot change $2^N$. Any method that lowers $2^M$ will have an effect. This includes restricting messages from any M-bit string to only M-bit strings from a language. Say there are $2^{L}$ admissible strings, $L \leq M$, then just substitute in ${L}$ for $M$ in the equation. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;As for the first question of adding the length of the message as a suffix, one can still find a collision of a different length as long as the new collision ends with a suffix equivalent to it's (new) length. This makes finding collisions moderately harder but does not &quot;solve&quot; the collision problem by any means. It is not effective at enforcing the length remains the same, without some outside knowledge of what the length should be.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If the length is known, then this adding the length as a suffix adds redundant information and does not increase $M$ in the above equation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, I don't know anything about X.509 whitespace.&lt;/p&gt;&#xA;" OwnerUserId="1792" LastActivityDate="2011-01-18T03:26:14.793" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4377" PostTypeId="2" ParentId="4375" CreationDate="2011-01-18T06:32:51.890" Score="5" Body="&lt;p&gt;There are lots of sufficient conditions. In some sense, much of theoretical CS has been devoted to the collection of these conditions - fixed parameter tractability, 2-SAT, random 3-SAT of different densities, etc. &lt;/p&gt;&#xA;" OwnerUserId="730" LastActivityDate="2011-01-18T06:32:51.890" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4378" PostTypeId="2" ParentId="4375" CreationDate="2011-01-18T12:35:25.843" Score="34" Body="&lt;p&gt;I guess you know the classical result of Schaefer from STOC'78, but just in case.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://dx.doi.org/10.1145/800133.804350&quot;&gt;10.1145/800133.804350&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Schaefer proved that if SAT is parametrised by a set of relations allowed in any instance, then there are only 6 tractable cases: 2-SAT (i.e. every clause is binary), Horn-SAT, dual-Horn-SAT, affine-SAT (solutions to linear equations in GF(2)), 0-valid (relations satisfied by the all-0 assignment) and 1-valid (relations satisfied by the all-1 assignment).&lt;/p&gt;&#xA;" OwnerUserId="1895" LastActivityDate="2011-01-18T12:35:25.843" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="4379" PostTypeId="1" AcceptedAnswerId="4381" CreationDate="2011-01-18T14:22:49.980" Score="7" ViewCount="394" Body="&lt;p&gt;Given a finite set $S$ of points in $\mathbb R^p$ and a number $\rho$, my collaborators and I want to find, for each $s\in S$, the other points in $S$ that are within $\rho$ of $s$. Of course there's the obvious $O(|S|^2)$ algorithm, and we also came up with something (roughly, sort in each dimensions, then for each dimension and for each element of $S$ mark nearby points in some sparse matrices, and then combine the sparse matrices) that has better running time under certain assumptions, but not in the worst case.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I feel that this must be a standard problem, but I haven't been able to find references. I was wondering if someone here knows what I should search for or can suggest a good reference to start from?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks in advance!&lt;/p&gt;&#xA;" OwnerDisplayName="user3317" LastEditorDisplayName="user3317" LastEditDate="2011-01-18T14:29:03.220" LastActivityDate="2011-01-30T23:21:01.477" Title="Find all nearby points in a set, for each element of the set" Tags="&lt;reference-request&gt;&lt;cg.comp-geom&gt;" AnswerCount="4" CommentCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="4380" PostTypeId="2" ParentId="2562" CreationDate="2011-01-18T14:44:16.233" Score="0" Body="&lt;p&gt;There is a trivial solution, if your queue allows front-loading, that only requires one queue (or, more specifically, deque.)  Perhaps this is the type of queue the course TA in the original question had in mind?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Without allowing front loading, here is another solution:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This algorithm requires two queues and two pointers, we'll call them Q1, Q2, primary, and secondary, respectively.  Upon initilization Q1 and Q2 are empty, primary points to Q1 and secondary points to Q2.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The PUSH operation is trivial, it consists of merely: &lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;*primary.enqueue(value);&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;The POP operation is slightly more involved; it requires spooling all but the last item of the primary queue onto the secondary queue, swapping the pointers, and returning the last remaining item from the original queue:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;while(*primary.size() &amp;gt; 1)&#xA;{&#xA;    *secondary.enqueue(*primary.dequeue());&#xA;}&#xA;&#xA;swap(primary, secondary);&#xA;return(*secondary.dequeue());&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;No bounds checking is done, and it's not O(1).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As I'm typing this I see that this could be done with a single queue using a for loop in place of a while loop, like Alex has done.  Either way, the PUSH operation is O(1) and the POP operation becomes O(n).&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Here is another solution using two queues and one pointer, called Q1, Q2, and queue_p, respectively:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Upon initialization, Q1 and Q2 are empty and queue_p points to Q1.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Again, the PUSH operation is trivial, but does require one additional step of pointing queue_p at the other queue:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;*queue_p.enqueue(value);&#xA;queue_p = (queue_p == &amp;amp;Q1) ? &amp;amp;Q2 : &amp;amp;Q1;&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;The POP operation operation is similar to before, but now there are n/2 items that need to be rotated through the queue:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;queue_p = (queue_p == &amp;amp;Q1) ? &amp;amp;Q2 : &amp;amp;Q1;&#xA;for(i=0, i&amp;lt;(*queue_p.size()-1, i++)&#xA;{&#xA;    *queue_p.enqueue(*queue_p.dequeue());&#xA;}&#xA;return(*queue_p.dequeue());&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;The PUSH operation is still O(1), but now the POP operation is O(n/2).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Personally, for this problem, I prefer the idea of implementing a single, double-ended queue (deque) and calling it a stack when we want to.&lt;/p&gt;&#xA;" OwnerUserId="3253" LastActivityDate="2011-01-18T14:44:16.233" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4381" PostTypeId="2" ParentId="4379" CreationDate="2011-01-18T15:40:09.130" Score="8" Body="&lt;p&gt;I think what you are looking for is the &lt;a href=&quot;http://en.wikipedia.org/wiki/Fixed-radius_near_neighbors&quot; rel=&quot;nofollow&quot;&gt;Fixed-radius near neighbors problem&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="282" LastActivityDate="2011-01-18T15:40:09.130" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4382" PostTypeId="2" ParentId="4379" CreationDate="2011-01-18T16:06:40.780" Score="2" Body="&lt;p&gt;I don't have enough reputation to write in the comment area, so here are some things you may wish to consider (in lieu of a real answer):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Quad-trees: &lt;a href=&quot;http://en.wikipedia.org/wiki/Quadtree&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/Quadtree&lt;/a&gt;&#xA;Once you have built your tree based on the points in S, then eliminating distant points becomes a trivial problem and you only need to compare each point against a small subset of S.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, keep in mind the reflexive distance property of points.  You don't have to resort to a O(S^2) algorithm since once you compared the first point with all other points, it doesn't need to be compared again.  n points would require, at most, (n/2)(n-1) comparisons.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you need higher dimensions, use octrees (http://en.wikipedia.org/wiki/Octree) or kD-trees (http://en.wikipedia.org/wiki/Kd-tree) in place of the quad-tree.&lt;/p&gt;&#xA;" OwnerUserId="3253" LastActivityDate="2011-01-18T16:06:40.780" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4383" PostTypeId="1" CreationDate="2011-01-18T18:01:59.220" Score="12" ViewCount="373" Body="&lt;p&gt;$\newcommand{\symp}{\Bumpeq}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A coherence relation $\symp_X$ on a set $X$ is a reflexive and symmetric relation. A coherence space is a pair $(X, \symp_X)$, and a morphism $f : X \to Y$ between coherence spaces is a relation $f \subseteq X \times Y$ such that for all $(x,y) \in f$ and $(x&amp;#39;,y&amp;#39;) \in f$, &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;if $x \symp_X x&amp;#39;$ then $y \symp_Y y&amp;#39;$, and &lt;/li&gt;&#xA;&lt;li&gt;if $x \symp_X x&amp;#39;$ and $y = y&amp;#39;$ then $x = x&amp;#39;$.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;The category of coherence spaces is both Cartesian and monoidal closed. I would like to know when pullbacks or pushouts exist for this category, and when some monoidal analogue of pullbacks or pushout exists (and how to define it, in case this notion makes sense).&lt;/p&gt;&#xA;" OwnerUserId="657" LastActivityDate="2011-01-21T14:21:45.727" Title="When do coherence spaces have pullbacks and pushouts?" Tags="&lt;pl.programming-languages&gt;&lt;ct.category-theory&gt;&lt;domain-theory&gt;&lt;linear-logic&gt;" AnswerCount="1" CommentCount="6" FavoriteCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="4384" PostTypeId="1" AcceptedAnswerId="4385" CreationDate="2011-01-18T20:32:03.033" Score="2" ViewCount="213" Body="&lt;p&gt;I remember reading about a kind of Graph data structure, where every change to the the graph could be preserved. I don't remember exactly neither the name, neither a good description (if it was the graph that remembered the changes, or each node who kept the changes of its childs).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It was on Wikipedia about 2-1.5 years ago, I was reading about version control. I would really appreciate if someone could help me find the name of this data sctructure.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Thanks Fraser, the paper is &lt;em&gt;&lt;a href=&quot;http://www.cs.cmu.edu/~sleator/papers/another-persistence.pdf&quot; rel=&quot;nofollow&quot;&gt;J. R. Driscoll, N. Sarnak, D. D. Sleator, R. E. Tarjan, Making Data Structures Persistent, Journal of Computer and System Sciences, Vol. 38, No. 1, 1989.&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;&#xA;" OwnerUserId="3321" LastEditorUserId="80" LastEditDate="2011-01-24T05:10:29.427" LastActivityDate="2011-01-24T05:10:29.427" Title="Graph nodes preserving changes to the overall graph" Tags="&lt;graph-theory&gt;&lt;ds.data-structures&gt;&lt;terminology&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4385" PostTypeId="2" ParentId="4384" CreationDate="2011-01-18T21:44:43.690" Score="2" Body="&lt;p&gt;I believe you are thinking of persistent data structures.&#xA;&lt;a href=&quot;http://en.wikipedia.org/wiki/Persistent_data_structure&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/Persistent_data_structure&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="1092" LastActivityDate="2011-01-18T21:44:43.690" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4386" PostTypeId="2" ParentId="4347" CreationDate="2011-01-18T22:31:30.950" Score="1" Body="&lt;p&gt;There is a large list of algorithms and data structures on the National Institute of Standards and Technology governmental website:  &lt;a href=&quot;http://xw2k.nist.gov/dads/&quot; rel=&quot;nofollow&quot;&gt;http://xw2k.nist.gov/dads/&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's not complete and I don't know how new algorithms, problems, and data structures can be added, but it has a decently large list.  Links to implementations of each description are included, if available.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are also links to additional resources near the bottom of the page.&lt;/p&gt;&#xA;" OwnerUserId="3253" LastActivityDate="2011-01-18T22:31:30.950" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4387" PostTypeId="2" ParentId="189" CreationDate="2011-01-18T23:08:57.423" Score="0" Body="&lt;p&gt;I like the &lt;a href=&quot;http://en.wikipedia.org/wiki/CORDIC&quot; rel=&quot;nofollow&quot;&gt;CORDIC&lt;/a&gt; algorithm for solving trigonometric and hyperbolic functions, especially when implemented using fixed-point integer representations.&lt;/p&gt;&#xA;" OwnerUserId="3253" LastActivityDate="2011-01-18T23:08:57.423" CommentCount="0" CommunityOwnedDate="2011-01-18T23:08:57.423" ContentLicense="CC BY-SA 2.5" />
  <row Id="4389" PostTypeId="2" ParentId="844" CreationDate="2011-01-19T02:19:23.047" Score="7" Body="&lt;p&gt;&lt;a href=&quot;http://www.cc.gatech.edu/~vempala/papers/vol4.ps&quot;&gt;Lovasz and Vempala&lt;/a&gt; (FOCS 2003 special issue of J. Comp. System Sci.) use a variant of simulated annealing to get a better ($O^*(n^4)$) algorithm for computing the volume of a convex body.  Obviously, they can prove something about the variant they use, in order to get the provable upper bound on their overall algorithm.&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2011-01-19T02:19:23.047" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4390" PostTypeId="2" ParentId="1168" CreationDate="2011-01-19T09:15:03.213" Score="21" Body="&lt;p&gt;&lt;a href=&quot;http://www.ma.huji.ac.il/~kalai/kkl.ps&quot;&gt;The influence of variables on boolean functions, J. Kahn, G. Kalai and N. Linial&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This paper introduced Fourier techniques for TCS community and solved very neat open problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I find this paper very readable.&lt;/p&gt;&#xA;" OwnerUserId="141" LastEditorUserId="141" LastEditDate="2011-04-29T21:39:49.177" LastActivityDate="2011-04-29T21:39:49.177" CommentCount="1" CommunityOwnedDate="2011-01-19T09:15:03.213" ContentLicense="CC BY-SA 3.0" />
  <row Id="4391" PostTypeId="2" ParentId="3104" CreationDate="2011-01-19T12:06:06.243" Score="1" Body="&lt;p&gt;Just define what you need and try to give it a descriptive name. The first example could be the largest common prefix (can't really tell from an example). The second just looks like a concatenation (which is usually +).&lt;/p&gt;&#xA;" OwnerUserId="2764" LastActivityDate="2011-01-19T12:06:06.243" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4392" PostTypeId="2" ParentId="3104" CreationDate="2011-01-19T12:19:32.317" Score="5" Body="&lt;p&gt;Specification languages such as &lt;a href=&quot;http://en.wikipedia.org/wiki/Z_notation&quot; rel=&quot;nofollow&quot;&gt;Z&lt;/a&gt; have a vast range of data types and operations on them and, at least within that community, these are standardised. This &lt;a href=&quot;http://www.uni-koblenz.de/~beckert/Lehre/Spezifikation/11Z.pdf&quot; rel=&quot;nofollow&quot;&gt;tutorial&lt;/a&gt; gives a great overview. Other specification languages exist, such as &lt;a href=&quot;http://en.wikipedia.org/wiki/B-Method&quot; rel=&quot;nofollow&quot;&gt;B&lt;/a&gt; and &lt;a href=&quot;http://en.wikipedia.org/wiki/Alloy_%28specification_language%29&quot; rel=&quot;nofollow&quot;&gt;Alloy&lt;/a&gt; which may also satisfy your requirements.&lt;/p&gt;&#xA;" OwnerUserId="77" LastEditorUserId="77" LastEditDate="2011-01-19T15:07:26.587" LastActivityDate="2011-01-19T15:07:26.587" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4393" PostTypeId="1" AcceptedAnswerId="4395" CreationDate="2011-01-19T14:54:50.277" Score="16" ViewCount="1120" Body="&lt;p&gt;Let $K(x)$ denote the Kolmogorov complexity of a string $x$. Do there exist a string such that $K(xx)&amp;lt;K(x)$. (Here $xx$ is the concatenation of $x$ with itself). A similar but different question was asked &lt;a href=&quot;https://cstheory.stackexchange.com/questions/4292/kolmogorov-complexity-of-d-and-dd&quot;&gt;here&lt;/a&gt;, but the counterexample given in the answer to that question doesn't work for this one.&lt;/p&gt;&#xA;" OwnerUserId="2966" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2011-01-21T02:39:05.673" Title="Do there exist x such that K(xx)&lt;K(x), where K is Kolmogorov complextity." Tags="&lt;cc.complexity-theory&gt;&lt;kolmogorov-complexity&gt;" AnswerCount="3" CommentCount="0" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="4394" PostTypeId="1" AcceptedAnswerId="4416" CreationDate="2011-01-19T15:19:37.843" Score="7" ViewCount="1078" Body="&lt;p&gt;An n-point metric space is a tree metric if it isometrically embeds into the shortest path metric of a tree (with nonnegative edge weights). Tree metrics can be characterized by the 4 point property, i.e. a metric is a tree metric iff every 4 point subspace is a tree metric. In particular this implies that one can decide in polynomial time whether a given metric is a tree metric by examining all quadruples of points in the space.&lt;br&gt;&#xA;My question now is what other (than the trivial) algorithms are there? Can one check in linear (in the number of points) time whether a metric is a tree metric?&lt;/p&gt;&#xA;" OwnerUserId="3331" LastEditorUserId="1800" LastEditDate="2011-01-19T15:22:55.017" LastActivityDate="2011-01-20T04:51:37.403" Title="Deciding whether a metric is a tree metric" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;metrics&gt;" AnswerCount="4" CommentCount="1" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="4395" PostTypeId="2" ParentId="4393" CreationDate="2011-01-19T15:58:02.293" Score="20" Body="&lt;p&gt;I am no expert on Kolmogorov complexity, but I think that such &lt;i&gt;x&lt;/i&gt; can be constructed for every complexity function K as follows.  Since 1, 11, 1111, 11111111, …, 1&lt;sup&gt;2&lt;sup&gt;&lt;i&gt;n&lt;/i&gt;&lt;/sup&gt;&lt;/sup&gt;, … is an encoding of a natural number &lt;i&gt;n&lt;/i&gt;, K(1&lt;sup&gt;2&lt;sup&gt;&lt;i&gt;n&lt;/i&gt;&lt;/sup&gt;&lt;/sup&gt;) cannot be o(log &lt;i&gt;n&lt;/i&gt;).  However, when &lt;i&gt;n&lt;/i&gt;=2&lt;sup&gt;&lt;i&gt;m&lt;/i&gt;&lt;/sup&gt;, obviously K(1&lt;sup&gt;2&lt;sup&gt;&lt;i&gt;n&lt;/i&gt;&lt;/sup&gt;&lt;/sup&gt;)=K(1&lt;sup&gt;2&lt;sup&gt;2&lt;sup&gt;&lt;i&gt;m&lt;/i&gt;&lt;/sup&gt;&lt;/sup&gt;&lt;/sup&gt;)=O(log &lt;i&gt;m&lt;/i&gt;)=O(log log &lt;i&gt;n&lt;/i&gt;).  Therefore the sequence K(1), K(11), K(1111), K(11111111), …, K(1&lt;sup&gt;2&lt;sup&gt;&lt;i&gt;n&lt;/i&gt;&lt;/sup&gt;&lt;/sup&gt;), … cannot be weakly monotonically increasing, which means that there exists a string &lt;i&gt;x&lt;/i&gt; in the form 1&lt;sup&gt;2&lt;sup&gt;&lt;i&gt;n&lt;/i&gt;&lt;/sup&gt;&lt;/sup&gt; such that K(&lt;i&gt;xx&lt;/i&gt;) &amp;lt; K(&lt;i&gt;x&lt;/i&gt;).&lt;/p&gt;&#xA;" OwnerUserId="567" LastEditorUserId="567" LastEditDate="2011-01-21T00:40:08.423" LastActivityDate="2011-01-21T00:40:08.423" CommentCount="7" ContentLicense="CC BY-SA 2.5" />
  <row Id="4396" PostTypeId="2" ParentId="4394" CreationDate="2011-01-19T16:06:42.837" Score="0" Body="&lt;p&gt;If it is tree metric then MST of the distance graph will be the suitable tree. To see this just run Kruskal's algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT:&#xA;Here is a draft of $O(n^2)$ algorithm. Initialy we have distance graph $G(V,E)$, where $V$ is the input point set and $E = V\times V$.  Suppose we have two leaves of the tree $v$ and $u$. We can find closest to $v$ vertex $w$ in the tree (adjacent vertex) in $O(n)$ time. This vertex may not be in input points set. After finding $w$ if it is a new vertex we add $w$ in the graph and calulate distances from every graph vertex to $w$ (if $w$ is a new vertex) and then we remove $v$ from the graph. In the same time we can find new leaf instead $v$ in $O(n)$. Thus for each tree leaf we will spend $O(n)$.&lt;/p&gt;&#xA;" OwnerUserId="3159" LastEditorUserId="3159" LastEditDate="2011-01-19T22:26:43.273" LastActivityDate="2011-01-19T22:26:43.273" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="4397" PostTypeId="1" CreationDate="2011-01-19T17:20:10.013" Score="5" ViewCount="422" Body="&lt;p&gt;We know that graph coloring is NP-complete even in some special graph classes. On the other hand if someone tells you the exact value of the chromatic number of the input graph, is this problem remains NP-complete. In other words I am wondering if there are any result for the search version of the coloring problem (possibly on different graph classes).&lt;/p&gt;&#xA;" OwnerUserId="2296" LastEditorUserId="80" LastEditDate="2011-01-19T21:08:27.787" LastActivityDate="2011-01-19T21:08:27.787" Title="Hardness of finding a graph coloring given the optimal number of colors" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;graph-colouring&gt;" AnswerCount="3" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4398" PostTypeId="2" ParentId="4393" CreationDate="2011-01-19T17:31:33.250" Score="2" Body="&lt;p&gt;Yes. Kolomogorov complexity in practice does depend on your model. Turing machine, Java program, C++ program,... if there is an idiosyncrasy in your model that allows for this to happen on a finite set of inputs it is no problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The better question is how much of this behavior can you get away with and still have the model be a universal.&lt;/p&gt;&#xA;" OwnerUserId="2021" LastActivityDate="2011-01-19T17:31:33.250" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="4399" PostTypeId="2" ParentId="4397" CreationDate="2011-01-19T18:00:11.597" Score="1" Body="&lt;p&gt;The result of &lt;a href=&quot;http://dx.doi.org/10.1016/0304-3975%2891%2990081-C&quot; rel=&quot;nofollow&quot;&gt;Khuller and Vazirani&lt;/a&gt; shows that finding the lexicographically first four-coloring for planar graphs is $NP$-hard.&lt;/p&gt;&#xA;" OwnerUserId="495" LastActivityDate="2011-01-19T18:00:11.597" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4400" PostTypeId="2" ParentId="4397" CreationDate="2011-01-19T18:05:38.590" Score="8" Body="&lt;p&gt;Actually, Guruswami &lt;em&gt;et al.&lt;/em&gt; proved in [1] that it is NP-complete to find a 4-coloring of a 3-colorable graph, even on bounded-degree graphs.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This result, initially proven in [2] (but without the bounded-degree condition), implies that it is NP-hard to color a $k$-colorable graph with at most $k + 2\lfloor k/3 \rfloor - 1$ colors.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] V. Guruswami, S. Khanna. &lt;em&gt;On the hardness of 4-coloring a 3-colorable graph&lt;/em&gt;. In: Proceedings of the 15th Annual IEEE Conference on Computational Complexity (2000). &lt;a href=&quot;http://dx.doi.org/10.1109/CCC.2000.856749&quot;&gt;http://dx.doi.org/10.1109/CCC.2000.856749&lt;/a&gt;&lt;br&gt;&#xA;[2] S. Khanna, N. Linial, S. Safra. &lt;em&gt;On the hardness of approximating the chromatic number&lt;/em&gt;. Combinatorica 20(3) (2000). &lt;a href=&quot;http://dx.doi.org/10.1007/s004930070013&quot;&gt;http://dx.doi.org/10.1007/s004930070013&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="2898" LastEditorUserId="2898" LastEditDate="2011-01-19T19:25:49.460" LastActivityDate="2011-01-19T19:25:49.460" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="4401" PostTypeId="2" ParentId="4397" CreationDate="2011-01-19T18:26:07.970" Score="9" Body="&lt;p&gt;Knowing the exact value of the chromatic number $\chi$ cannot help by more than a factor of $n$.  Since there are only $n$ possible values of $\chi$, you can 'guess' its value, i.e., run processes $P_1,\dots,P_n$, where $P_i$ runs an algorithm assuming $\chi=i$.  This whole scheme can find an optimum colouring in time at most $n$ times the time that it takes $P_\chi$ to find an optimum colouring.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, if you're talking about parameterizing the running time by $\chi$, then it's a much more interesting question.  It's in FPT if you parameterize by $n-\chi$ &lt;a href=&quot;http://www.springerlink.com/content/6kl7ftvl7657jrj3/&quot; rel=&quot;nofollow&quot;&gt;S. Khot and V. Raman, ‘Parameterized Complexity of Finding Subgraphs with&#xA;Hereditary properties’&lt;/a&gt;.  If you parameterize by $\chi$ I would assume it's W[1]-hard.&lt;/p&gt;&#xA;" OwnerUserId="196" LastActivityDate="2011-01-19T18:26:07.970" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="4402" PostTypeId="1" CreationDate="2011-01-19T19:22:25.400" Score="1" ViewCount="181" Body="&lt;p&gt;I'm trying to understand &quot;Edit Distance of Weighted Automata&quot; by Mehryar Mohri: [83], [93] and [99] at &lt;a href=&quot;http://www.cs.nyu.edu/~mohri/pub/&quot; rel=&quot;nofollow&quot;&gt;http://www.cs.nyu.edu/~mohri/pub/&lt;/a&gt; (they are virtually identical so which of them doesn't matter).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Could  anyone help me understand the main differences between the algorithm for the tropical semiring and that for the probabilistic semiring? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Right now I could, maybe, basically explain what happens, but I can't explain the idea behind it. Thank you so much!&lt;/p&gt;&#xA;" OwnerUserId="2829" LastEditorUserId="186" LastEditDate="2011-01-20T00:46:03.077" LastActivityDate="2011-01-20T00:46:03.077" Title="Edit-Distance of weighted automata" Tags="&lt;fl.formal-languages&gt;&lt;automata-theory&gt;&lt;edit-distance&gt;" AnswerCount="0" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="4403" PostTypeId="1" AcceptedAnswerId="4407" CreationDate="2011-01-19T19:22:28.683" Score="7" ViewCount="236" Body="&lt;p&gt;Say that I have a set of $n$ points $N$, and am interested in metrics $d:N\times N \rightarrow \mathbb{R}$ over $N$. Let $M$ denote the set of all metrics over $N$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now let me define the distance between two metrics $d_1$ and $d_2$ in $M$ to be:&#xA;$$\partial(d_1, d_2) = \left|\sum_{i,j \in N}d_1(i,j)-d_2(i,j)\right|$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It isn't hard to see that $(M, \partial)$ itself forms a metric space.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am interested in the size of the smallest $\epsilon$-net of $(M, \partial)$. (i.e. the smallest subset $S \subset M$ such that for all $d \in M$ there is some $d&amp;#39; \in S$ such that $\partial(d, d&amp;#39;) \leq \epsilon$.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are bounds on this quantity known, and/or are there standard techniques for estimating quantities like this? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT: As Suresh points out, there is no finite $\epsilon$-net if we are talking about unbounded metrics. Let us consider normalized metrics $M$ such that for all $d \in M$, and for all $i,j \in N$, $d(i,j) \leq 1$. Of course now for all $d_1,d_2 \in M$, $\partial(d_1,d_2) &amp;lt; n^2$.  &lt;/p&gt;&#xA;" OwnerUserId="25" LastEditorUserId="1800" LastEditDate="2011-01-20T04:55:34.777" LastActivityDate="2011-01-20T04:55:34.777" Title="Counting Metrics" Tags="&lt;co.combinatorics&gt;&lt;metrics&gt;&lt;epsilon-nets&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4404" PostTypeId="2" ParentId="4375" CreationDate="2011-01-19T21:03:57.667" Score="14" Body="&lt;p&gt;I'm not sure if this is what you're looking for but there's a sizable literature on the 3-SAT phase transition.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.math.ucla.edu/~percus/Teaching/RIPS/nature.pdf&quot;&gt;Monasson, Zecchina, Kirkpatrcik, Selman and Troyansky&lt;/a&gt; had a paper in nature that talks about the phase transition of random k-SAT.  They used a parameterization of the ratio of clauses to variables.  For random 3-SAT, they found numerically that the transition point is around 4.3.  Above this point random 3-SAT instances are over constrained and almost surely unsatsifiable and below this point problems are under constrained and satisfiable (with high probability).  &lt;a href=&quot;http://arxiv.org/pdf/cs.CC/0309020&quot;&gt;Mertens, Mezard and Zecchina&lt;/a&gt; use cavity method procedures to estimate the phase transition point to a higher degree of accuracy.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Far away from the critical point, &quot;dumb&quot; algorithms work well for satisfiable instances (walk sat, etc.).  From what I understand, deterministic solver run times grow exponentially at or near the phase transition (see &lt;a href=&quot;http://people.cs.ubc.ca/~hutter/previous-earg/EmpAlgReadingGroup/CoaEtAl03.pdf&quot;&gt;here&lt;/a&gt; for more of a discussion?).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A close cousin of belief propagation, Braunstein, Mezard and Zecchina have introduced &lt;a href=&quot;http://arxiv.org/pdf/cs/0212002&quot;&gt;survey propagation&lt;/a&gt; that is reported to solve satisfiable 3-SAT instances in millions of variables, even extremely close to the phase transition.  Mezard has a lecture &lt;a href=&quot;http://www.msri.org/web/msri/online-videos/-/video/showVideo/2297&quot;&gt;here&lt;/a&gt; on spin glasses (the theory of which he has used in analysis of random NP-Complete phase transitions) and Maneva has a lecture &lt;a href=&quot;http://www.msri.org/web/msri/online-videos/-/video/showVideo/1919&quot;&gt;here&lt;/a&gt; on survey propagation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;From the other direction, it still looks like our best solvers take exponential amount of time to prove unsatisfiability.  See &lt;a href=&quot;http://www.math.ias.edu/~avi/PUBLICATIONS/MYPAPERS/B-SW99/bw00journal.pdf&quot;&gt;here&lt;/a&gt;, &lt;a href=&quot;http://www.cs.washington.edu/homes/beame/papers/stockcnf.pdf&quot;&gt;here&lt;/a&gt; and &lt;a href=&quot;https://nats-www.informatik.uni-hamburg.de/intern/proceedings/2002/ECAI/ecai2000/pdf/p0098.pdf&quot;&gt;here&lt;/a&gt; for proofs/discussion of the exponential nature of some common methods in proving unsatisfiability (Davis-Putnam procedures and resolution methods).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One has to be very careful about claims of 'easiness' or 'hardness' for random NP-Complete problems.  Having an NP-Complete problem display a phase transition gives no guarantee as to where the hard problems are or whether there even are any.  For example, the Hamiltoniain Cycle problem on Erdos-Renyi random graphs is provably easy even at or near the critical transition point.  The Number Partition Problem doesn't seem to have any algorithms that solve it well into the probability 1 or 0 range, let alone near the critical threshold.  From what I understand, random 3-SAT problems have algorithms that work well for satisfiable instances nearly at or below the critical threshold (survey propagation, walk sat, etc.) but no efficient algorithms above the critical threshold to prove unsatisfiability.  This is just state of the art right now and could of course change in the future.&lt;/p&gt;&#xA;" OwnerUserId="834" LastEditorUserId="834" LastEditDate="2011-01-19T22:48:13.627" LastActivityDate="2011-01-19T22:48:13.627" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="4405" PostTypeId="2" ParentId="4403" CreationDate="2011-01-19T21:16:54.940" Score="4" Body="&lt;p&gt;For the question as stated, you're going to have problems because the space of all metrics is an unbounded cone. In particular, suppose such a bounded $\epsilon$-net did exist and had elements $d_1, \ldots, d_r$. I can always take some metric that lies within one of the $\epsilon$-balls defined by this net, and scale its values so it pops out of all balls. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;So you need either some constraint on the metrics themselves, or a different way of defining the set $S$ (maybe $S$ is not a finite set but some set defined by other constraints on $M$)&lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2011-01-19T21:16:54.940" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4406" PostTypeId="1" CreationDate="2011-01-19T21:23:29.867" Score="8" ViewCount="227" Body="&lt;p&gt;This is a &lt;a href=&quot;https://mathoverflow.net/questions/50100/whats-the-best-way-to-test-if-a-sphere-is-a-polytope-algorithms-for-the-simpli&quot;&gt;cross-post&lt;/a&gt; from MathOverflow.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem of testing whether a simplicial face lattice (informally, a poset of faces) is polytopal is sometimes called the &lt;a href=&quot;http://www.math.tu-bs.de/~pfetsch/apropo/simplicial_steinitz_problem.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;Steinitz Problem&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Sturmfels and Bokowski advanced a &lt;a href=&quot;http://www.springer.com/mathematics/geometry/book/978-3-540-50478-8&quot; rel=&quot;nofollow noreferrer&quot;&gt;set of methods&lt;/a&gt; in the late 80s to test whether the face lattice of a simplicial sphere was also realizable as a polytope.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The method uses oriented matroids. The problem is NP-hard, so their algorithm requires exponential time in the worst case, but they reported that the algorithm often converged quickly. Lars Schewe has &lt;a href=&quot;http://arxiv.org/pdf/0801.2582v1&quot; rel=&quot;nofollow noreferrer&quot;&gt;recently shown&lt;/a&gt; that the same method can be adapted to make use of optimized SAT solvers, although the underlying technique seems to be the same. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm curious if newer approaches have been developed in the intervening decades since Sturmfels and Bokowski published their result. Is their method still the state of the art?   Further, are there any software implementations available that solve this problem -- even using the older approach? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the MathOverflow discussion, Joe O'Rourke pointed out that Polymake has a feature that seems to compute geometric realizations of simplicial complexes [GEOMETRIC_REALIZATION], but this doesn't guarantee polytopality as far as I know.  &lt;/p&gt;&#xA;" OwnerUserId="71" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2011-09-26T20:38:08.510" Title="What’s the best way to test if a sphere is a polytope? (the Simplicial Steinitz Problem)" Tags="&lt;cg.comp-geom&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="4407" PostTypeId="2" ParentId="4403" CreationDate="2011-01-19T22:38:19.370" Score="7" Body="&lt;p&gt;A standard technique is a volume argument.  For example, you can look at Chapter 13 of Lectures on Discrete Geometry by Jiri Matousek (Springer, 2002).  Then, you need to know (a bound for) the volume of your polytope (the set of all metrics under consideration).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you restrict your cone by the inequalities $d(x,y)+d(y,z)+d(z,x) \leq 2$ for all $x,y,z\in N$, then the space becomes bounded, which is often called a &quot;metric polytope&quot; or &quot;metric polyhedron&quot; in the literature.  The following paper gives the volumes when $|N|\leq 6$, but I couldn't find any study for asymptotics.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A. Deza, M. Deza, K. Fukuda, &quot;On skeletons, diameters and volumes of metric polyhedra&quot;, Lecture Notes in Computer Science 1120 (1996) 112–128.  &lt;a href=&quot;http://dx.doi.org/10.1007/3-540-61576-8_78&quot;&gt;http://dx.doi.org/10.1007/3-540-61576-8_78&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="2955" LastActivityDate="2011-01-19T22:38:19.370" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4408" PostTypeId="2" ParentId="4370" CreationDate="2011-01-19T23:08:48.167" Score="2" Body="&lt;p&gt;The best resource to understand how to model state duration in HMM, that I found is &lt;a href=&quot;http://www.cs.ubc.ca/~murphyk/Bayes/rabiner.pdf&quot; rel=&quot;nofollow&quot;&gt; Rabiner's tutorial on hidden markov models&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Section D: Inclusion of Explicit State Duration Density in HMM.&lt;/p&gt;&#xA;" OwnerUserId="2512" LastActivityDate="2011-01-19T23:08:48.167" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4409" PostTypeId="1" AcceptedAnswerId="4411" CreationDate="2011-01-19T23:51:19.673" Score="13" ViewCount="885" Body="&lt;p&gt;While trying to solve a problem, I ended up expressing part of it as the following integer linear program. Here &lt;span class=&quot;math-container&quot;&gt;$\ell,m,n_{1},n_{2},\ldots,n_{\ell},c_{1},c_{2},\ldots,c_{m},w$&lt;/span&gt; are all positive integers given as part of the input. A specified subset of the variables &lt;span class=&quot;math-container&quot;&gt;$x_{ij}$&lt;/span&gt; is set to zero, and the rest can take positive integral values:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Minimize&lt;/p&gt;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$\sum_{j=1}^{m}c_{j}\sum_{i=1}^{\ell}x_{ij}$&lt;/span&gt;&lt;/p&gt;&#xA;&lt;p&gt;Subject to:&lt;/p&gt;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$\sum_{j=1}^{m}x_{ij}=n_{i}\,\,\forall i$&lt;/span&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$\sum_{i=1}^{\ell}x_{ij}\ge w\,\,\forall j$&lt;/span&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;I would like to know if this integer program is solvable in polynomial time; my original problem is solved if it is, and I have to try some other way if it isn't. So my question is:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;How do I figure out if a certain integer linear program can be solved in polynomial time? Which integer linear programs are known to be easy? In particular, can the above program be solved in polynomial time? Could you point me to some references on this?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="148" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2017-08-20T04:10:55.160" Title="Which Integer Linear Programs are easy?" Tags="&lt;reference-request&gt;&lt;linear-programming&gt;&lt;polynomial-time&gt;&lt;integer-programming&gt;&lt;integrality-gap&gt;" AnswerCount="3" CommentCount="0" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="4410" PostTypeId="2" ParentId="4409" CreationDate="2011-01-20T00:05:56.853" Score="8" Body="&lt;p&gt;In general, it's hard to say. But a sufficient condition is your constraint matrix is totally unimodular and right-hand side is always integer (in this case the right hand side is integer, but you still have to check about unimodularity)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You should take a look at this:&#xA;&lt;a href=&quot;http://en.wikipedia.org/wiki/Linear_program#Integer_unknowns&quot;&gt;http://en.wikipedia.org/wiki/Linear_program#Integer_unknowns&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="282" LastActivityDate="2011-01-20T00:05:56.853" CommentCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="4411" PostTypeId="2" ParentId="4409" CreationDate="2011-01-20T01:04:22.980" Score="16" Body="&lt;p&gt;It is a special case of the transportation problem (or the minimum-cost flow problem), and so can be solved in polynomial time.  The coefficient matrix is totally unimodular since it is the incidence matrix of a bipartite graph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The following Wikipedia articles could be useful.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Minimum_cost_flow_problem&quot;&gt;http://en.wikipedia.org/wiki/Minimum_cost_flow_problem&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Unimodular_matrix&quot;&gt;http://en.wikipedia.org/wiki/Unimodular_matrix&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="2955" LastActivityDate="2011-01-20T01:04:22.980" CommentCount="10" ContentLicense="CC BY-SA 2.5" />
  <row Id="4412" PostTypeId="1" AcceptedAnswerId="4450" CreationDate="2011-01-20T02:03:13.293" Score="8" ViewCount="274" Body="&lt;p&gt;I imagine this must be an introductory computational geometry question, but I'm not sure of the best search phrases, and I'm interested in variations of the question, also, so I'm hoping for pointers to useful references. I'm interested in feasible algorithms for the following problem.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Input: A connected set of points (shape) in $\mathbb{Z} \times \mathbb{Z}$.&lt;br&gt;&#xA;  Output: A partition of the shape into rectangles, such that the rectangles do not overlap one another, and they cover only the shape, no &quot;empty&quot; space.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I'm interested in finding the minimum number of rectangles, the &quot;best&quot; set of rectangles for any notion of best, whether this problem becomes easier or harder for different classes of shapes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thank you. :-)&lt;/p&gt;&#xA;" OwnerUserId="30" LastActivityDate="2011-01-21T11:01:21.903" Title="Partitioning a connected shape into rectangles" Tags="&lt;reference-request&gt;&lt;cg.comp-geom&gt;" AnswerCount="1" CommentCount="6" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4413" PostTypeId="1" AcceptedAnswerId="4494" CreationDate="2011-01-20T03:42:24.707" Score="-1" ViewCount="707" Body="&lt;p&gt;Some things, like the computer language C, turing machines, lambda calculus, etc. seem to be &quot;naturally&quot; Turing-Complete. That is, they're just Turing-Complete from the bottom up.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, cellular automata, many relatively simple Newtonian physics simulations and even &lt;a href=&quot;http://www.youtube.com/watch?v=cYw2ewoO6c4&quot; rel=&quot;nofollow&quot;&gt;Legoes&lt;/a&gt;, are also Turing Complete. This seems, somehow, just wrong, yet reductions are so common in TCS, how can we fault the reduction of Lego-brand blocks (and motor) to a Turing Machine by literally building a Turing Machine?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there any non-arbitrary way to say when the reduction required of a system is just too weird to consider it &quot;non-ridiculously-Turing-Complete&quot;? &lt;/p&gt;&#xA;" OwnerUserId="3337" LastEditorUserId="1800" LastEditDate="2011-01-20T04:56:21.453" LastActivityDate="2020-05-19T02:55:30.250" Title="Is there any way to differentiate between &quot;sort of&quot; Turing-Complete and &quot;really&quot; Turing-Complete?" Tags="&lt;computability&gt;&lt;turing-machines&gt;" AnswerCount="2" CommentCount="11" ContentLicense="CC BY-SA 2.5" />
  <row Id="4414" PostTypeId="1" CreationDate="2011-01-20T04:09:56.487" Score="9" ViewCount="2875" Body="&lt;p&gt;You're given a set of $n$ Directed Acyclic Graphs $G_1, G_2, ..., G_n$ over the same set of $m$ vertices $V$. You're also given a permutation of the set of vertices $(v_1,v_2,...,v_m)$. What is the best algorithm that could identify the graphs among $G_1, G_2, ..., G_n$ that have $(v_1,v_2,...,v_m)$ as a topological sort? Could someone test whether $(v_1,v_2,...,v_m)$ is a topological sort of a DAG $G$ over $V$ in sub-linear time?  &lt;/p&gt;&#xA;" OwnerDisplayName="Steve" LastEditorUserId="4795" LastEditDate="2020-05-15T15:57:59.730" LastActivityDate="2020-05-15T15:57:59.730" Title="Testing/Identifying a Topological Sorting" Tags="&lt;ds.algorithms&gt;&lt;graph-algorithms&gt;&lt;directed-acyclic-graph&gt;&lt;topological-sorting&gt;" AnswerCount="2" CommentCount="5" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="4415" PostTypeId="2" ParentId="4379" CreationDate="2011-01-20T04:13:28.933" Score="4" Body="&lt;p&gt;In high dimensions you can use LsH (locality sensitive hashing) for this. In low dimensions, any data-structure for approximate nearest neighbor can answer your question approximately. However, a much easier scheme is to use a grid of appropriate size, and for each point retrieve all the points stored in its grid cell and adjoining grid cells.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In low dimensions, [CK95] showed that for each point one can compute its $k$ nearest neighbors in $O(n \log n + n k )$ time. Not quite your question, but a pretty surprising related result. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;[CK95]&#xA;P. B. Callahan and S. R. Kosaraju. A decomposition of multidimensional point sets with applications to k-nearest-neighbors and n-body potential ﬁelds. J. Assoc. Comput. Mach., 42:67–90, 1995.&lt;/p&gt;&#xA;" OwnerUserId="9594" LastActivityDate="2011-01-20T04:13:28.933" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4416" PostTypeId="2" ParentId="4394" CreationDate="2011-01-20T04:29:00.123" Score="2" Body="&lt;p&gt;Bioinformatics people seem to know an $O(n^2)$-time (and hence linear-time) algorithm in the context of the reconstruction of phylogenetic trees based on distance matrices.  Please look at Pages 27-34 of the slides available at &lt;a href=&quot;http://www.cs.lth.se/home/Andrzej_Lingas/PhylogeneticTrees.pdf&quot; rel=&quot;nofollow&quot;&gt;http://www.cs.lth.se/home/Andrzej_Lingas/PhylogeneticTrees.pdf&lt;/a&gt;.  &lt;/p&gt;&#xA;" OwnerUserId="2955" LastActivityDate="2011-01-20T04:29:00.123" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4417" PostTypeId="2" ParentId="4394" CreationDate="2011-01-20T04:51:27.810" Score="4" Body="&lt;p&gt;If the given metric space embeds into a tree metric, the tree must be its &lt;a href=&quot;http://en.wikipedia.org/wiki/Tight_span&quot; rel=&quot;nofollow&quot;&gt;tight span&lt;/a&gt;. The O(n^2) time algorithms referred to in Yoshio's answer can be extended to certain two-dimensional tight spans: see &lt;a href=&quot;http://arxiv.org/abs/0909.1866&quot; rel=&quot;nofollow&quot;&gt;arXiv:0909.1866&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One method for solving the problem is incremental (as in the linked preprint, but much simpler): maintain a tree T containing the first i points from your metric space (that is, having the same distances as the corresponding entries of your input distance matrix) and extend it one point at a time; at each step there's at most one way to extend it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To test whether to attach your new point r along edge uv of your existing tree, find points p and q of your metric space that are on opposite sides of edge uv. The new point attaches to a point inside edge uv iff d(p,r) &gt; d(p,u) and d(q,r) &gt; d(q,v); using this test on each of the edges of the existing tree, you can find where it attaches in O(n) time. Once you've found where to attach it you can test in O(n) time whether the distances to all the other points are correct. So each point you add takes time O(n) and the whole algorithm takes time O(n^2), optimal since that's the size of your input distance matrix.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2011-01-20T04:51:27.810" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4418" PostTypeId="2" ParentId="4394" CreationDate="2011-01-20T04:51:37.403" Score="1" Body="&lt;p&gt;There's a little bit of confusion that has been introduced into the question by Christoph's comment (and mjqxxxx's comment on the question reflects that). If you just want to map the nodes of X into a weighted tree endowed with the shortest path metric (as the question states), then you're asking about testing whether a metric is a tree metric. I don't know whether this can be done faster than using the 4-point condition.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, if as Christoph's comment indicates, you want to consider embeddings in which the vertices are leaves, then you're asking (sort of) if the metric is an ultrametric. Ultrametrics are a little stronger, because the root-to-leaf distance for ALL nodes is the same, but it's also easier to verify whether a metric is an ultrametric via the MST. See &lt;a href=&quot;http://www.cs.cmu.edu/~anupamg/metrics/lectures/lec12.ps&quot; rel=&quot;nofollow&quot;&gt;Anupam Gupta's notes&lt;/a&gt; for more. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2011-01-20T04:51:37.403" CommentCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="4419" PostTypeId="2" ParentId="4414" CreationDate="2011-01-20T05:46:08.780" Score="0" Body="&lt;p&gt;&lt;strong&gt;Trivial Method:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;GS = {G1,G2...G3}&#xA;for v in (v1,v2,...vm)&#xA;      remove all graphs from GS where indegree(v) != 0&#xA;      remove v and attached edges from remaining GS&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;It is not as fast as you want. But it solves one problem that &quot;there can be multiple valid topological orderings of DAG&quot;. And finding them all is  not a good idea. &lt;/p&gt;&#xA;" OwnerUserId="612" LastActivityDate="2011-01-20T05:46:08.780" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4420" PostTypeId="1" CreationDate="2011-01-20T07:38:19.187" Score="14" ViewCount="1501" Body="&lt;p&gt;computational complexity involves large amounts of Combinatorics and number theory, some ingridiences from stochastics, and an emerging amount of algebra.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, being a analysist, I wonder whether there are applications of analysis into this field, or maybe ideas inspired by analysis. All I know which slightly corresponds to this is the Fourier transform on Finite groups.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can you help me?&lt;/p&gt;&#xA;" OwnerDisplayName="Shoodoon" LastEditorUserId="186" LastEditDate="2011-01-20T15:41:36.533" LastActivityDate="2014-11-26T12:41:26.717" Title="Mathematical analysis and computational complexity?" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;soft-question&gt;&lt;big-picture&gt;" AnswerCount="7" CommentCount="7" FavoriteCount="7" ContentLicense="CC BY-SA 2.5" />
  <row Id="4422" PostTypeId="2" ParentId="4420" CreationDate="2011-01-20T09:31:13.863" Score="5" Body="&lt;p&gt;People who are working in different areas of computer science may benefit from various &lt;a href=&quot;http://en.wikipedia.org/wiki/Mathematical_analysis#Subdivisions&quot; rel=&quot;nofollow&quot;&gt;subfields&lt;/a&gt; of analysis. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;To give you a concrete example, I'll describe my own case. I'm conducting research in foundations of cryptography. In this field (as well as in the computational complexity), there's a construct called the &lt;a href=&quot;http://en.wikipedia.org/wiki/Random_oracle&quot; rel=&quot;nofollow&quot;&gt;random oracle&lt;/a&gt; (see also &lt;a href=&quot;http://research.cyber.ee/~lipmaa/crypto/link/rom/&quot; rel=&quot;nofollow&quot;&gt;this page&lt;/a&gt;). Its various properties are sometimes studied by exploiting tools from &lt;a href=&quot;http://en.wikipedia.org/wiki/Measure_(mathematics)&quot; rel=&quot;nofollow&quot;&gt;measure theory&lt;/a&gt;, which is a subfield of analysis. Such treatment can be found in &lt;a href=&quot;http://dx.doi.org/10.1137/0210008&quot; rel=&quot;nofollow&quot;&gt;this paper&lt;/a&gt;, as well as in several papers which cite it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can also take a look at &lt;a href=&quot;http://www.cis.upenn.edu/~jean/gbooks/geomath.html&quot; rel=&quot;nofollow&quot;&gt;Basics of Algebra and Analysis for Computer Science&lt;/a&gt; by Jean Gallier. It's a book in progress, and tells you what's new in the field.&lt;/p&gt;&#xA;" OwnerUserId="873" LastEditorUserId="873" LastEditDate="2014-11-26T12:41:26.717" LastActivityDate="2014-11-26T12:41:26.717" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="4423" PostTypeId="1" CreationDate="2011-01-20T09:35:04.030" Score="6" ViewCount="593" Body="&lt;p&gt;This question was inspired by &lt;a href=&quot;https://cstheory.stackexchange.com/questions/4393/do-there-exist-x-such-that-kxxkx-where-k-is-kolmogorov-complextity&quot;&gt;Sune Jakobsen's question and Tsuyoshi's&lt;/a&gt; answer. In Kolmogorov-complexity, a string is incompressible if $K(S) \ge |S|$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there incompressible string $S$ such that $K(SS) \lt K(S)$? Is there an infinite set of such strings? What is the theoretical consequence if such infinite set of strings does exist?&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2011-01-21T18:43:58.070" Title="Are there incompressible strings $S$ such that $K(SS) \lt K(S)$?" Tags="&lt;cc.complexity-theory&gt;&lt;kolmogorov-complexity&gt;" AnswerCount="4" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4424" PostTypeId="2" ParentId="4420" CreationDate="2011-01-20T09:48:46.957" Score="8" Body="&lt;p&gt;Functional analysis is playing an increasingly important role in the theory of metric embeddings. While it's difficult to enumerate all aspects of the interaction, the major theme is the use of methods from functional analysis to understand how metrics embed into normed spaces. This latter problem comes up in the sparsest cut problem, which is an important graph optimization problem. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For more information, a good source is anything by &lt;a href=&quot;http://www.cims.nyu.edu/~naor/&quot;&gt;Assaf Naor&lt;/a&gt;. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2011-01-20T09:48:46.957" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4425" PostTypeId="1" AcceptedAnswerId="14465" CreationDate="2011-01-20T09:55:13.820" Score="15" ViewCount="896" Body="&lt;p&gt;One classical extension of the max-flow problem is the &quot;max-flow over time&quot; problem: you are given a digraph, two nodes of which are distinguished as the source and the sink, where each arc has two parameters, a capacity-per-unit-time and a delay. You are also given a time horizon $T$. The goal is to compute a flow over time which gets the maximum amount of material from the source to the sink by time $T$. A flow of maximum value can be computed in polynomial time by a clever classical reduction to min-cost max-flow.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am interested in an extension to this model where edges have a third &quot;life-span&quot; parameter. If an arc has life-span $\ell$, and $t$ is the earliest time at which positive flow is sent through the arc, then we destroy the arc at time $t+\ell$. You can think of this as like the platforms in Super Mario Brothers which fall away/are destroyed shortly after you step on them, or you can think of them as batteries needed to power the edges, which cannot be turned off after they are turned on. (&lt;em&gt;Edit&lt;/em&gt;:) The decision problem is, when also given a flow value lower bound $B$, whether one can schedule a flow meeting both the time horizon upper bound and flow value lower bound.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So far I can see that this problem is strongly NP-hard (via 3-partition). But, I do not actually know if it is in NP: is there any guarantee of a way to express a solution compactly? In the classical version, some special type of optimal flow is used to circumvent this problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note: the model above is a little underspecified, since you may allow or disallow the stockpiling of flow at nodes, and you may have a discrete time model or a continuous one. Resolving the question for any of these models would be excellent.&lt;/p&gt;&#xA;" OwnerUserId="771" LastEditorUserId="771" LastEditDate="2011-01-21T12:02:19.927" LastActivityDate="2012-11-25T11:39:00.330" Title="Super Mario Flows in NP?" Tags="&lt;ds.algorithms&gt;&lt;graph-algorithms&gt;&lt;network-modeling&gt;&lt;max-flow-min-cut&gt;" AnswerCount="3" CommentCount="5" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="4426" PostTypeId="1" AcceptedAnswerId="4428" CreationDate="2011-01-20T10:30:14.140" Score="7" ViewCount="2036" Body="&lt;p&gt;Is there a survey or tutorial article which talks about application of theoretical computer science to emerging fields of applications of computer science in biology, bioinformatics and nanotechnology?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there any problems from these fields that are unsolved and are of intrinsic merit to theoretical computer science?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there any algorithms that are already useful or potentially useful in current or future real-world applications and products in these fields? Is there any article which talks about real-world applications and products?&lt;/p&gt;&#xA;" OwnerUserId="1812" LastEditorUserId="1812" LastEditDate="2011-01-20T23:40:08.020" LastActivityDate="2011-01-20T23:40:08.020" Title="Applications of computer science in biology" Tags="&lt;reference-request&gt;&lt;application-of-theory&gt;&lt;bioinformatics&gt;" AnswerCount="2" CommentCount="4" FavoriteCount="1" CommunityOwnedDate="2011-01-20T17:52:51.933" ContentLicense="CC BY-SA 2.5" />
  <row Id="4427" PostTypeId="1" CreationDate="2011-01-20T12:14:39.853" Score="7" ViewCount="741" Body="&lt;p&gt;Let's suppose a transitive closure $G^+$ of a dag $G$ is given and we want to compute an approximation of the transitive reduction $G^-$ such that the full transitive reduction is a subgraph of the approximation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My idea is to compute a topological sort $TS$ of the dag and then for each edge $u \rightarrow v$ look at ~10 nodes $w$ such that $TS(w) &amp;gt; TS(v)$, $u \rightarrow w$ and $TS(w)$ are as large as possible. If $w \rightarrow v$ then edge $u \rightarrow v$ is redundant ($u \rightarrow w \rightarrow v$) and can be removed.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An implementation of this algorithm can be found &lt;a href=&quot;https://github.com/brtzsnr/structure/blob/master/src/main/java/ibis/structure/DAG.java#L341&quot;&gt;here&lt;/a&gt;. The algorithm has complexity $O(m + n)$ and from my experiments the number of edges in the approximation is 3-5 times larger than in the full transitive reduction.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have a couple of questions:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Can I prove any upper bound for the number of edges in the approximation?&lt;/li&gt;&#xA;&lt;li&gt;How can I improve the algorithm (except looking at more $w$-s) in terms of time and/or number of edges left?&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="10" LastEditorUserId="10" LastEditDate="2011-01-29T15:57:39.247" LastActivityDate="2014-08-09T12:23:59.530" Title="Approximating transitive reduction of a transitive closure of a dag" Tags="&lt;ds.algorithms&gt;&lt;graph-algorithms&gt;&lt;approximation-algorithms&gt;&lt;transitive-closure&gt;&lt;transitive-reduction&gt;" AnswerCount="1" CommentCount="6" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4428" PostTypeId="2" ParentId="4426" CreationDate="2011-01-20T13:09:04.430" Score="3" Body="&lt;p&gt;Quite a few programs have resulted from the application of notions from theoretical computer science or mathematics to problems in biology. This includes &lt;a href=&quot;http://evolution.genetics.washington.edu/phylip/software.html&quot; rel=&quot;nofollow&quot;&gt;phylogeny&lt;/a&gt;, &lt;a href=&quot;http://en.wikipedia.org/wiki/List_of_sequence_alignment_software&quot; rel=&quot;nofollow&quot;&gt;sequence alignment&lt;/a&gt;, and genome rearrangement (see &lt;a href=&quot;http://mitpress.mit.edu/catalog/item/default.asp?ttype=2&amp;amp;tid=11899&quot; rel=&quot;nofollow&quot;&gt;this&lt;/a&gt;, chapter 15) software. But you may be asking too many or too unfocused questions at once.&lt;/p&gt;&#xA;" OwnerUserId="775" LastActivityDate="2011-01-20T13:09:04.430" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4429" PostTypeId="1" AcceptedAnswerId="4449" CreationDate="2011-01-20T13:50:59.837" Score="10" ViewCount="424" Body="&lt;p&gt;Problem statement :&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $M$ be a (potentially nondeterministic) pushdown automaton and let $\cal A$ be its input alphabet. Is there a word $w \in \cal A^*$ s. t. $|w| \leq k$ that is accepted by $M$ ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is this problem NP-complete? Has it been studied? Is there an algorithm allowing to find such a word?&lt;/p&gt;&#xA;" OwnerUserId="2954" LastEditorUserId="2367" LastEditDate="2011-01-21T18:41:52.273" LastActivityDate="2011-01-21T18:41:52.273" Title="Hardness of finding a word of length at most $k$ accepted by a nondeterministic pushdown automaton" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;&lt;fl.formal-languages&gt;&lt;automata-theory&gt;" AnswerCount="3" CommentCount="5" FavoriteCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4430" PostTypeId="2" ParentId="4426" CreationDate="2011-01-20T13:52:49.677" Score="1" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;What are some of the major open issues of theoretical computer science applied to biology?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Here is a nice presentation, &lt;a href=&quot;http://stajichlab.fungalgenomes.org/presentations/2009-11-16_UCR_CompSci.pdf&quot; rel=&quot;nofollow&quot;&gt;Open questions in bioinformatics and computational biology from an evolutionary and molecular biology perspective&lt;/a&gt;, given in 2009 by Jason Stajich.&lt;/p&gt;&#xA;" OwnerUserId="495" LastActivityDate="2011-01-20T13:52:49.677" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4431" PostTypeId="2" ParentId="4423" CreationDate="2011-01-20T14:08:38.867" Score="-1" Body="&lt;p&gt;This is not an answer, it contains some &quot;practical&quot; thoughts on the question :-). &#xA;I did some investigations using &lt;strong&gt;Java as &quot;target&quot; language&lt;/strong&gt; and defining $K(s)$ as the length of a function in the form:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;String s(){&amp;lt;return a STRING_EXPR&amp;gt;}&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;and such that s() == $s$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Obviously we can build: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;code&gt;String s(){return&quot;&lt;/code&gt;$s$&lt;code&gt;&quot;;}&lt;/code&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, for every string $s$, $K(s) &amp;lt;= |s| + 21$ (assuming that no special character is in the string)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm trying to figure out an &lt;strong&gt;incompressible&lt;/strong&gt; string $s$ (i.e. $K(s)&gt;=|s|$) for which $K(ss) &amp;lt; K(s)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;... but didn't find it ... any ideas?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I've made some tries with small strings, for example $r = a^{28} = aaaaaaaaaaaaaaaaaaaaaaaaaaaa$&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;String r(){return&quot;aaaaaaaaaaaaaaaaaaaaaaaaaaaa&quot;}&#xA;String r(){String x=&quot;aaaaaaa&quot;;return x+x+x+x;}   // &amp;lt;&amp;lt; K(r)=46&#xA;aaaaaaaaaaaaaaaaaaaaaaaaaaaa // &amp;lt;&amp;lt; |r|=28&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;$r$ is incompressible ( $K(r)&amp;gt;|r|$ ) ... but didn't find a way to make $K(rr)&amp;lt;K(r)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Furthermore &lt;strong&gt;if such string exist&lt;/strong&gt;, then $K(r) - K(rr)$ cannot be &quot;too large&quot;, indeed we can build:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;code&gt;CODE_FOR_R: function r(){return&lt;/code&gt;&amp;lt;SOME_SHORT_EXPR_FOR_RR&amp;gt;&lt;code&gt;.substring(&lt;/code&gt;$N$&lt;code&gt;);}&lt;/code&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where $N$ is half the length of $rr$&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2011-01-20T14:15:04.540" LastActivityDate="2011-01-20T14:15:04.540" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4432" PostTypeId="2" ParentId="4420" CreationDate="2011-01-20T14:48:24.527" Score="18" Body="&lt;p&gt;Flajolet and Sedgewick published the book &quot;Analytic Combinatorics&quot; &lt;a href=&quot;http://algo.inria.fr/flajolet/Publications/AnaCombi/anacombi.html&quot;&gt;http://algo.inria.fr/flajolet/Publications/AnaCombi/anacombi.html&lt;/a&gt;.  I don't know much about that topic, but people in the field use tools from complex analysis.  So far, their applications seem more on analysis of algorithms, not on computational complexity, as far as I see.&lt;/p&gt;&#xA;" OwnerUserId="2955" LastActivityDate="2011-01-20T14:48:24.527" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4433" PostTypeId="2" ParentId="4420" CreationDate="2011-01-20T14:58:13.020" Score="7" Body="&lt;p&gt;&lt;strong&gt;Not about computational complexity, but interesting nonetheless&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some approaches to the semantics of infinite computation are based on metric spaces. Googling &quot;metric space semantics&quot; turns up plenty. One (oldish) reference on the topic is &lt;a href=&quot;http://mitpress.mit.edu/catalog/item/default.asp?ttype=2&amp;amp;tid=8296&quot; rel=&quot;nofollow noreferrer&quot;&gt;Control Flow Semantics&lt;/a&gt; by de Bakker and de Vink. Some recent work has been done by our very own &lt;a href=&quot;https://cstheory.stackexchange.com/users/657/neel-krishnaswami&quot;&gt;Neel&lt;/a&gt;, namely &lt;a href=&quot;http://www.cs.cmu.edu/~neelk/frp-lics11.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Ultrametric Semantics for Reactive Programs&lt;/a&gt;. The area is very different from those described above, but concepts from analysis certainly find home here.&lt;/p&gt;&#xA;" OwnerUserId="77" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2011-01-20T14:58:13.020" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4434" PostTypeId="2" ParentId="4406" CreationDate="2011-01-20T14:59:35.623" Score="6" Body="&lt;p&gt;This is not an answer, just a comment.&#xA;Frank Lutz in Berlin is one of the experts on this topic, and you might ask him.&#xA;He maintains a nice web page,&#xA;&lt;a href=&quot;http://page.math.tu-berlin.de/~lutz/stellar/&quot; rel=&quot;nofollow&quot;&gt;The Manifold Page&lt;/a&gt;, which includes lots of information and references, including&#xA;descriptions of &#xA;Barnette's non-polytopal 3-sphere and&#xA;Grünbaum-Sreedharan's non-polytopal 3-sphere.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Incidentally, I believe this related problem is still open (if not, I'd like to know of its resolution):&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Does every triangulation of a genus 1 torus have a geometric realization (embedding) in $\mathbb{R^3}$?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;For sufficiently large genus (I think 5?), there are non-realizable examples.&lt;/p&gt;&#xA;" OwnerUserId="337" LastEditorUserId="337" LastEditDate="2011-09-26T20:38:08.510" LastActivityDate="2011-09-26T20:38:08.510" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="4435" PostTypeId="2" ParentId="4429" CreationDate="2011-01-20T15:01:28.980" Score="5" Body="&lt;p&gt;Change all the alphabet characters to a single specific character. Now, you have PDA defined over a single character. Its language is a context-free grammar. However, context free grammar over a single character is regular. So, convert the CFG into a regular language, and then check if it contains a word of length k.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, all these conversions tends to require exponential time, but it seems to me unlikely that the problem is NP complete. Especially if you allow polynomial time in $k$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I might be wrong, and I apologize for my initial snippy answer...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;BTW, the fact that a CFG over a single letter is regular follows from Parikh's theorem. Although a direct proof is not too hard. See the link for more details on Parikh's theorem - it is a beautiful result... &lt;a href=&quot;http://www8.cs.umu.se/kurser/TDBC92/VT06/final/3.pdf&quot; rel=&quot;noreferrer&quot;&gt;http://www8.cs.umu.se/kurser/TDBC92/VT06/final/3.pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="9594" LastEditorUserId="9594" LastEditDate="2011-01-21T03:13:16.427" LastActivityDate="2011-01-21T03:13:16.427" CommentCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="4436" PostTypeId="2" ParentId="4429" CreationDate="2011-01-20T15:49:39.293" Score="0" Body="&lt;p&gt;&lt;s&gt;A probably suboptimal method:&#xA;Run Djikstra's algorithm.&#xA;Then, for each final state, compare the distances with $k$. If any are $\leq k$, accept.&#xA;Reject.&lt;/s&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT: The above only works for NFAs! Sorry about that.&lt;/p&gt;&#xA;" OwnerUserId="3169" LastEditorUserId="3169" LastEditDate="2011-01-20T19:52:49.993" LastActivityDate="2011-01-20T19:52:49.993" CommentCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="4437" PostTypeId="1" AcceptedAnswerId="4468" CreationDate="2011-01-20T15:54:29.493" Score="8" ViewCount="790" Body="&lt;p&gt;I am looking for a reference for the (classical) one way randomised communication complexity of disjointness when the universe can be large. Say Alice and Bob both have sets of size $m$ chosen from a universe of size $U$ and Bob wants to determine if the intersection of their sets is empty or not.  I would like prob of error $&amp;lt;1/3$, say.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I can find the standard $\Omega(m)$ bit lower bound and some work on two-way communication complexity, but is there a reference for something tighter for one-way?  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT: I should have specified that I am interested in the private  randomness (not public coin) model.&lt;/p&gt;&#xA;" OwnerUserId="1864" LastEditorUserId="1864" LastEditDate="2011-01-21T07:56:26.370" LastActivityDate="2019-01-24T20:22:38.560" Title="One way randomised communication complexity of disjointness" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;lower-bounds&gt;&lt;communication-complexity&gt;" AnswerCount="3" CommentCount="6" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4438" PostTypeId="1" CreationDate="2011-01-20T16:19:53.933" Score="8" ViewCount="402" Body="&lt;p&gt;Write $\Psi$ as the &lt;a href=&quot;http://www.csd.uwo.ca/courses/CS9620b/parikh.pdf&quot; rel=&quot;nofollow&quot;&gt;Parikh map&lt;/a&gt;--i.e., $\Psi(w) = \{(\#_\sigma(w))_{\sigma\in \Sigma}\vert w\in L\}$, where $\#_\sigma(w)$ is the number of times $\sigma$ appears in $w$. It's well-known that, for a CFL $L$, $\Psi(L)$ is a semilinear set (this is Parikh's theorem). Some other interesting things are known, but I have found nothing about the Parikh map of a context-sensitive language. In particular, &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;what can I say about $\Psi(L_2 - L_1)$&#xA;  or $\Psi(\bar{L}_1)$ if $L_1, L_2$ are&#xA;  context-free? For instance, if I let&#xA;  $\phi(L) = \{\sum_\sigma \#_\sigma(w)\vert w\in L\} = \{|w|&#xD;&#xA; \vert w\in L\}$, is it possible that&#xA;  there is a CFL $L$ such that&#xA;  $\phi(\bar{L}) = \{n!\vert n\in&#xD;&#xA; \mathbb{N}\}$? (or any other&#xA;  'increasing' sequence converging in&#xA;  $\hat{\mathbb{Z}}$, for that matter.)&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="3169" LastEditorUserId="3169" LastEditDate="2011-01-20T19:53:57.497" LastActivityDate="2011-01-24T02:45:15.900" Title="What can I say about the Parikh map of a CSL?" Tags="&lt;fl.formal-languages&gt;&lt;automata-theory&gt;" AnswerCount="1" CommentCount="8" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4442" PostTypeId="2" ParentId="3976" CreationDate="2011-01-20T19:36:34.420" Score="3" Body="&lt;p&gt;There is also work done by Charles Little, Fischer, McCuaig, Robertson, Seymour and Thomas, Loebl, Galluccio, Tesler, Miranda, Lucchesi, de Carvalho, and Murty (the ones that come to my mind right now.)&lt;/p&gt;&#xA;" OwnerDisplayName="Alberto Miranda" LastActivityDate="2011-01-20T19:36:34.420" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4443" PostTypeId="2" ParentId="4420" CreationDate="2011-01-20T20:14:32.357" Score="9" Body="&lt;p&gt;Markov Chain Monte Carlo algorithms are a useful tool for finding approximation algorithms. Some techniques for showing that these Markov chains mix are inspired by or come directly from analysis - for example see the chapter on estimating the volume of a convex body in &lt;a href=&quot;http://www.dcs.ed.ac.uk/home/mrj/ETHbook/chap6.ps&quot;&gt;Mark Jerrum's book on counting&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are analytic approaches to Szemerédi's lemma, which has a cute application to combinatorial property testing. &lt;a href=&quot;http://www.cs.elte.hu/~lovasz/analyst.pdf&quot;&gt;Szemerédi's Lemma for the Analyst&lt;/a&gt; has a randomized algorithm for finding a weakly regular partition of a graph; also see &lt;a href=&quot;http://research.microsoft.com/en-us/um/people/borgs/papers/teststoc.pdf&quot;&gt;Graph Limits and Parameter Testing&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="636" LastActivityDate="2011-01-20T20:14:32.357" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4444" PostTypeId="2" ParentId="4375" CreationDate="2011-01-20T20:58:20.307" Score="1" Body="&lt;p&gt;It is easy to move all the instances near the &quot;transition&quot; point to as far from the &quot;transition&quot; point as one wishes. The movement involves a polynomial time/space effort.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If instances far from the &quot;transition&quot; point are easier to solve, then those near the transition point must be equally easy to solve. (Polynomial transformations and all.)&lt;/p&gt;&#xA;" OwnerUserId="2363" LastActivityDate="2011-01-20T20:58:20.307" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4445" PostTypeId="2" ParentId="4365" CreationDate="2011-01-20T22:08:09.590" Score="3" Body="&lt;p&gt;Radu's answers is great! To add some more context:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Depending on what you want to do, in addition to decision procedures you may also need quantifier instantiation. In particular, background axiomatization as well as user supplied specifications of the Hyper-V rely heavily on quantified formulas.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are other users of Z3, whom you may consider more real world. For example, &lt;a href=&quot;http://research.microsoft.com/en-us/um/people/pg/&quot; rel=&quot;nofollow&quot;&gt;Patrice Godefroid’s&lt;/a&gt; SAGE is used in a huge fuzzing server farm used to find bugs in file parsers at Microsoft.&lt;/p&gt;&#xA;" OwnerUserId="3348" LastActivityDate="2011-01-20T22:08:09.590" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4446" PostTypeId="2" ParentId="4437" CreationDate="2011-01-21T00:06:19.200" Score="5" Body="&lt;p&gt;For any number of rounds, the lower bound on disjointness is $\Omega(n)$ (cf. &lt;a href=&quot;http://scitation.aip.org/getabs/servlet/GetabsServlet?prog=normal&amp;amp;id=SJDMEC000005000004000545000001&amp;amp;idtype=cvips&amp;amp;gifs=yes&amp;amp;ref=no&quot; rel=&quot;nofollow&quot;&gt;The Probabilistic Communication Complexity of Set Intersection. SIAM J. Discrete Math. Volume 5, Issue 4, pp. 545-557 (November 1992)&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For 1-way, &lt;a href=&quot;http://www.springerlink.com/content/w5pccfda9jbhpgdj/&quot; rel=&quot;nofollow&quot;&gt;Kremer, Nisan, and Ron&lt;/a&gt; showed that for any given $f$, $R_\epsilon^1(f)=\Omega(VC(f))$, where $R_\epsilon^1(f)$ is the randomized 1-way communication complexity of $f$ with error $\epsilon$, and $VC(f)$ is the &lt;a href=&quot;http://en.wikipedia.org/wiki/VC_dimension&quot; rel=&quot;nofollow&quot;&gt;VC-dimension&lt;/a&gt; of $f$. Then we have that $VC(DISJ)=n$. But in fact there is a tight lower bound for DISJ, which is $\Omega(n\log n)$ (cf. &lt;a href=&quot;http://infoweekly.blogspot.com/2009/04/cc4-one-way-communication-and-puzzle.html&quot; rel=&quot;nofollow&quot;&gt;Mihai Patrascu's blog&lt;/a&gt;).&lt;/p&gt;&#xA;" OwnerUserId="135" LastEditorUserId="135" LastEditDate="2011-01-21T01:05:33.517" LastActivityDate="2011-01-21T01:05:33.517" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="4447" PostTypeId="2" ParentId="4393" CreationDate="2011-01-21T02:10:35.643" Score="1" Body="&lt;p&gt;@Tsuyoshi:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I didn't understand well your proof.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assume that we pick a standard Turing Machine as &quot;description language&quot; defining $K(s)$ as the number of states of the smallest TM that starts with an empty tape and halts after printing the &lt;strong&gt;string&lt;/strong&gt; $s$ on it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Did you proved that we can build a $TM_{ss}$ that &quot;prints&quot; the string $ss = 1111...1 = 1^{2^{n+1}}$ on the tape and is built with &lt;strong&gt;fewer&lt;/strong&gt; states than $TM_{s}$ that &quot;prints&quot; the string $s = 1^{2^n}$ ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can your proof be applied to Kolmogorov complexity on TMs ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;OK! I GOT IT&lt;/strong&gt; ... when $n+1 = 2^{m}$ the $TM_{ss}$ can be &quot;powered&quot; with a new &quot;inner loop&quot; (we add some states but we can remove many states that in $TM_{s}$ are needed for &quot;counting&quot; $n$) ... Thanks!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(sorry, but I don't know how to post this as comment)&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2011-01-21T02:39:05.673" LastActivityDate="2011-01-21T02:39:05.673" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4448" PostTypeId="1" AcceptedAnswerId="4456" CreationDate="2011-01-21T03:20:02.400" Score="15" ViewCount="1009" Body="&lt;p&gt;We often consider complexity classes where we are bounded in the amount of space our Turing machine can use, for example: $\textbf{DSPACE}(f(n))$ or $\textbf{NSPACE}(f(n))$. It seems that early in complexity theory there was much success with these classes such as the space-hierarchy theorem and the creating on important classes like $\textbf{L}$ and $\textbf{PSPACE}$. Is there analogous definitions for quantum computation? Or is there some obvious reason why the quantum analogous would not be interesting?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It seems like it would be important to have a class like $\textbf{QL}$ --- a quantum version of $\textbf{L}$: require a logarithmic number of qubits (or maybe a quantum TM uses logarithmic space).&lt;/p&gt;&#xA;" OwnerUserId="1037" LastEditorUserId="2367" LastEditDate="2016-01-31T23:32:57.330" LastActivityDate="2016-01-31T23:32:57.330" Title="Quantum analogues of SPACE complexity classes" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;quantum-computing&gt;&lt;space-bounded&gt;" AnswerCount="2" CommentCount="5" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="4449" PostTypeId="2" ParentId="4429" CreationDate="2011-01-21T04:23:01.330" Score="9" Body="&lt;p&gt;Compute the intersection of your CFG language with the regular language $\sum_{i=0}^k A^k$ (this amounts to multiplying the number of states by $k$ and adding a &quot;dead end&quot; state). Now check whether the result is empty: convert into a grammar (I think the result will have polynomial size) and &quot;backtrack&quot; from epsilon productions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit: Kaveh mentioned that this is polynomial in $k$, so if $k$ is given as an input, the algorithm is exponential in $|k|$. However, Kaveh found a way to fix it. Convert the original automaton to a CFG, and replace all terminals by a fixed terminal. Now use an iterative algorithm to find the minimal size of a word generated by each non-terminal, as follows.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Initialize all lengths with $\infty$, and then iteratively update all lengths in the obvious way: given a production $A \rightarrow a^t \prod B_i$ (the order doesn't matter), put $f(A) = \min(f(A),t+\sum f(B_i))$. Claim: this converges in $O(n)$ iterations, where $n$ is the number of non-terminals. The reason is that in a tree generating the minimal-length word, no non-terminal is used twice; each &quot;edge&quot; takes at most one iteration to process (some edges can be &quot;updated&quot; in parallel).&lt;/p&gt;&#xA;" OwnerUserId="40" LastEditorUserId="40" LastEditDate="2011-01-21T18:30:48.103" LastActivityDate="2011-01-21T18:30:48.103" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="4450" PostTypeId="2" ParentId="4412" CreationDate="2011-01-21T04:37:20.003" Score="9" Body="&lt;p&gt;David Eppstein gave an excellent answer for this question &lt;a href=&quot;https://mathoverflow.net/questions/28303/split-polygon-into-minimum-amount-of-rectangles-and-triangles&quot;&gt;here on MathOverflow&lt;/a&gt; (responding to a question for which it is not quite as good an answer). To summarize, there is a polynomial-time algorithm for finding the minimum number of rectangles.&lt;/p&gt;&#xA;" OwnerUserId="1677" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2011-01-21T11:01:21.903" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4451" PostTypeId="2" ParentId="4423" CreationDate="2011-01-21T06:09:54.937" Score="1" Body="&lt;p&gt;A rough argument that there should be infinitely many such strings is as follows.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider a machine $M$ that first left-pads its input with zeroes out to some known length $2f(|T|)$ (we will specify $f$ below), then repeatedly performs some length-preserving and random-looking operation on it, halting only when it has produced (essentially by accident) a string consisting of two copies of the same string.  It is not required to halt for every input.  When it does, the output it produces from input $T$ will have complexity satisfying $K(SS) \approx K(T) + K_M$ for some $K_M$, as long as $f(|T|)$ is large enough, and $S$ will have length $f(|T|)$.  The string $S$, moreover, will have complexity $K(S) \approx K(SS) + K_C$ for some $K_C$.  The key final step is to choose the right $f(|T|)$.  It must be large enough to ensure that $SS$ is best described as &quot;the output of $M$ applied to $T$&quot;, but small enough to ensure that the description of $S$ as &quot;half the output of $M$ applied to $T$&quot; is not less than $|S| = f(|T|)$.  Taking $f(|T|)=|T|+K_M+K_C-1$ should work.  We conclude that arbitrarily long incompressible inputs $T$, if they halt, will typically produce outputs $SS$ such that $K(SS) &amp;lt; K(S)$ and such that $S$ is incompressible.  The machine $M$ could do any number of things; for instance, the machine $M$ that squares its input and then discards every other bit of the result would probably work.&lt;/p&gt;&#xA;" OwnerUserId="3183" LastActivityDate="2011-01-21T06:09:54.937" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4452" PostTypeId="2" ParentId="4423" CreationDate="2011-01-21T08:21:57.257" Score="1" Body="&lt;p&gt;The answer depends on the universal Turing-machine used to define K. Note that a Turing-machine is called universal, if on input &quot;T&quot;, x, where T is a some standard description of a Turing-machine T, it outputs T(x) but we do not know anything about its behaviour on other inputs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If on every other input it halts, then such strings exist as shown by mjqxxxx.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Howoever, suppose that on input &lt;em&gt;&quot;zip(&quot;T&quot;)&quot;, x, where zip(&quot;T&quot;) is a more efficient description of T, it uncomputes T(X) and if it is of the form SS and the length of S is about twice as long as |&lt;/em&gt;&quot;zip(&quot;T&quot;)&quot;, x|, then it outputs S, otherwise it does not output anything. (On other forms of input, it does not do anything.) This second rule will never give to a string a shorter description than its length, so it will not reduce the complexity of SS type strings. But if we get short description using the first rule for SS, then we get a shorter for S using this second rule.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that I did not specify &quot;T&quot; or zip, but it is clear that there are compressible descriptions.&lt;/p&gt;&#xA;" OwnerUserId="419" LastActivityDate="2011-01-21T08:21:57.257" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="4453" PostTypeId="2" ParentId="4383" CreationDate="2011-01-21T11:22:03.900" Score="5" Body="&lt;p&gt;&lt;strike&gt;I now see how to define equalizers for coherence spaces, which means pullbacks always exist (since products do).&lt;/strike&gt; I don't know how to do this, actually....&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Recall that composition is the usual relational composition, so if $f : A \to B$ and $g : B \to C$, then: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$f ; g = \{(a,c) \in A \times C \;|\; \exists b \in B.\; (a,b) \in f \land (b,c) \in g\}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(In this definition, the existential actually implies &lt;em&gt;unique&lt;/em&gt; existence. Suppose that we have $b&amp;#39; \in B$ such that $(a,b&amp;#39;) \in f$ and $(b&amp;#39;, c) \in g$. Since we know that $a \Bumpeq_A a$, this means that $b \Bumpeq_B b&amp;#39;$. Then this means that we have $b \Bumpeq_B b&amp;#39;$ and $(b,c) \in g$ and $(b&amp;#39;,c) \in g$, so consequently $b = b&amp;#39;$.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We now construct equalizers. Suppose we have coherence spaces $A$ and $B$, and morphisms $f, g : A \to B$. Now define the equalizer $(E, e : E \to A)$ as follows. &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;For the web, take &#xA;$$E = \left\{ &#xD;&#xA;\begin{array}{l|c}&#xD;&#xA;&amp;amp; \forall b.\; (a,b) \in f \implies \exists a&amp;#39; \Bumpeq_A a.\; (a&amp;#39;,b) \in g \\&#xD;&#xA;a \in A &amp;amp; \land \\&#xD;&#xA;&amp;amp; \forall b.\; (a,b) \in g \implies \exists a&amp;#39; \Bumpeq_A a.\; (a&amp;#39;,b) \in f \\&#xD;&#xA;\end{array}&#xD;&#xA;\right\}&#xD;&#xA;$$&#xA;This picks out the subset of tokens of $A$ on which either $f$ and $g$ agree (up to coherence -- I had this wrong in my first version), or are both undefined. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Define the coherence relation on $\Bumpeq_E = \{ (a,a&amp;#39;) \in \Bumpeq_A \;|\; a \in E \land a&amp;#39; \in E\}$. This is just the restriction of the coherence relation on $A$ to the subset $E$. This will be reflexive and symmetric since $\Bumpeq_A$ is. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;The equalizer map $e$ is just the diagonal $e : E \to A = \{(a, a)\;|\;a \in E\}$. &lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Since I messed up my first version of the proof, I'll give the universality property explicitly. Suppose we have any other object $X$ and morphism $m : X \to A$ such that $m;f = m;g$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now define $h : X \to E$ as $\{(x,a) \;|\; a \in E\}$. Obviously $h;i \subseteq m$, but to show the equality we need to show the converse $m \subseteq h;i$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;So assume $(x,a) \in m$. We now need to show that $\forall b.\; (a,b) \in f \implies \exists a&amp;#39; \Bumpeq_A a.\; (a&amp;#39;,b) \in g$ and $\forall b.\; (a,b) \in g \implies \exists a&amp;#39; \Bumpeq_A a.\; (a&amp;#39;,b) \in f$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;First, assume $b \in B$ and $(a,b) \in f$. So we know that $(x,a) \in m$ and $(a,b) \in f$, so $(x,b) \in m;f$. Therefore $(x,b) \in m;g$, and so there is an $a&amp;#39; \in A$ such that $(x,a&amp;#39;) \in m$ and $(a&amp;#39;,b) \in g$. Since $x \Bumpeq x$, we know $a \Bumpeq a&amp;#39;$, and so there is an $a&amp;#39; \Bumpeq a$ such that $(a&amp;#39;,b) \in g$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Symmetrically, assume $b \in B$ and $(a,b) \in g$. So we know that $(x,a) \in m$ and $(a,b) \in g$, so $(x,b) \in m;g$. Therefore $(x,b) \in m;f$, and so there is an $a&amp;#39; \in A$ such that $(x,a&amp;#39;) \in m$ and $(a&amp;#39;,b) \in f$. Since $x \Bumpeq x$, we know $a \Bumpeq a&amp;#39;$, and so there is an $a&amp;#39; \Bumpeq a$ such that $(a&amp;#39;,b) \in f$. &lt;/p&gt;&#xA;" OwnerUserId="657" LastEditorUserId="657" LastEditDate="2011-01-21T14:21:45.727" LastActivityDate="2011-01-21T14:21:45.727" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="4454" PostTypeId="1" AcceptedAnswerId="4474" CreationDate="2011-01-21T12:21:46.140" Score="22" ViewCount="2190" Body="&lt;p&gt;(This is a follow-up to &lt;a href=&quot;https://cstheory.stackexchange.com/q/4409/148&quot;&gt;this question &lt;/a&gt; and its &lt;a href=&quot;https://cstheory.stackexchange.com/questions/4409/which-integer-linear-programs-are-easy/4411#4411&quot;&gt;answer&lt;/a&gt;.)&lt;/p&gt;&#xA;&lt;p&gt;I have the following totally unimodular (TU) integer linear program (ILP). Here  &lt;span class=&quot;math-container&quot;&gt;$\ell,m,n_{1},n_{2},\ldots,n_{\ell},c_{1},c_{2},\ldots,c_{m},w$&lt;/span&gt; are all positive integers given as part of the input. A specified subset of the variables &lt;span class=&quot;math-container&quot;&gt;$x_{ij}$&lt;/span&gt; is set to zero, and the rest can take positive integral values:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Minimize&lt;/p&gt;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$\sum_{j=1}^{m}c_{j}\sum_{i=1}^{\ell}x_{ij}$&lt;/span&gt;&lt;/p&gt;&#xA;&lt;p&gt;Subject to:&lt;/p&gt;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$\sum_{j=1}^{m}x_{ij}=n_{i}\,\,\forall i$&lt;/span&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$\sum_{i=1}^{\ell}x_{ij}\ge w\,\,\forall j$&lt;/span&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;The coefficient matrix of the standard form is a &lt;span class=&quot;math-container&quot;&gt;$(2\ell+m)\times \ell m$&lt;/span&gt; matrix with entries from &lt;span class=&quot;math-container&quot;&gt;${-1,0,1}$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;p&gt;My question is:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;What are the best upper bounds known for the running time of polynomial-time algorithms that solve such an ILP? Could you point me to some references on this?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;I did some searching, but at most places they stop with saying that a TU ILP can be solved in polynomial time using polynomial-time algorithms for LP. One thing that looked promising is a 1986 paper by Tardos [1] where she proves that such problems can be solved in time polynomial in the size of the coefficient matrix. As far as I could figure out from the paper, however, the running time of that algorithm depends in turn on the running time of a polynomial-time algorithm for solving LP.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Do we know of algorithms that solve this special case (of TU ILP) significantly faster than the general algorithms that solve the LP problem?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;If not,&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Which algorithm for LP would solve such an ILP the fastest (in an asymptotic sense)?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;[1] A strongly polynomial algorithm to solve combinatorial linear programs, Eva Tardos, Operations Research 34(2), 1986&lt;/p&gt;&#xA;" OwnerUserId="148" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2017-03-08T06:55:17.970" Title="How fast can we solve a totally unimodular integer linear program?" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;linear-programming&gt;&lt;integer-programming&gt;&lt;polynomial-time&gt;" AnswerCount="3" CommentCount="1" FavoriteCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="4455" PostTypeId="2" ParentId="4438" CreationDate="2011-01-21T12:34:14.770" Score="3" Body="&lt;p&gt;Regarding the second part of your question: If you choose your CFL $L$ to be the set of all invalid computations of a Turing machine $M$ (see, e.g., Chapter 8.6 in the first edition of &quot;Introduction to Automata Theory, Languages, and Computation&quot;), $\phi(\overline{L})$ is the set of all lengths of encodings of accepting computations of $M$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Although this does not directly answer your question, you can use this approach to construct quite complicated sets.&lt;/p&gt;&#xA;" OwnerUserId="924" LastActivityDate="2011-01-21T12:34:14.770" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4456" PostTypeId="2" ParentId="4448" CreationDate="2011-01-21T12:53:05.417" Score="16" Body="&lt;p&gt;You might want to check &lt;a href=&quot;https://cs.uwaterloo.ca/~watrous/Papers/SpaceBoundedQuantumComplexity.pdf&quot; rel=&quot;nofollow&quot;&gt; Space-Bounded Quantum Complexity&lt;/a&gt;, by John Watrous.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There you have the result that for any $s=\Omega(\log n)$, a Quantum Turing Machine running in space $s$ can be simulated by a probabilistic Turing Machine with unbounded error running in space $O(s)$. You also have that any Quantum Turing Machine running in space $s$ can be simulated in $NC^2(2^s) \subseteq DSPACE(s^2) \cap DTIME(2^{O(s)})$ &lt;/p&gt;&#xA;" OwnerUserId="1632" LastEditorUserId="30570" LastEditDate="2016-01-13T12:54:56.767" LastActivityDate="2016-01-13T12:54:56.767" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="4457" PostTypeId="1" AcceptedAnswerId="4463" CreationDate="2011-01-21T14:01:25.560" Score="29" ViewCount="3507" Body="&lt;p&gt;&lt;strong&gt;Presentation now given. Slides available below.&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Presenting work-in-progress is something we all should do in order to obtain early feedback and to help crystallize our ideas. Unfortunately, many graduate students need help getting over this hurdle of presenting early research, even if it is only to their own research group. I will be giving a talk about presenting work-in-progress to our graduate students, and I'd like to get some input on what sort of advice I should give them to help them be more willing to share their work.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;What tips can you offer on presenting work-in-progress? &lt;/li&gt;&#xA;&lt;li&gt;How should the presented deal with the fact that the ideas are not entirely clear in his/her head?&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I'm not so concerned about the work being stolen, as presentation will occur locally. I'd like to know how to get students to present such work and how they best can do it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;The students' work is generally of a formal nature, rather than describing systems, so I hope that this question is relevant here. If you feel that this is out of scope please do say so.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Resulting Presentation.&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is the &lt;a href=&quot;http://people.cs.kuleuven.be/~dave.clarke/Work-In-Progress.pdf&quot; rel=&quot;noreferrer&quot;&gt;outcome&lt;/a&gt;. I am very grateful for your input, which you can see was useful.&lt;/p&gt;&#xA;" OwnerUserId="77" LastEditorUserId="77" LastEditDate="2011-02-01T13:03:52.680" LastActivityDate="2011-02-01T13:03:52.680" Title="Presenting work-in-progress (slides now available)" Tags="&lt;soft-question&gt;&lt;advice-request&gt;" AnswerCount="3" CommentCount="5" FavoriteCount="10" ContentLicense="CC BY-SA 2.5" />
  <row Id="4458" PostTypeId="1" AcceptedAnswerId="4532" CreationDate="2011-01-21T14:55:25.283" Score="20" ViewCount="881" Body="&lt;p&gt;My favourite theorem in complexity theory is the Time hierarchy theorem. However, this was done in 1965. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I wanted to know then if there was anything similar for Quantum Computing. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, if not what are the people / groups working in this direction!&lt;/p&gt;&#xA;" OwnerUserId="10136" LastEditorUserId="10136" LastEditDate="2011-01-24T15:18:55.560" LastActivityDate="2011-11-26T06:51:39.677" Title="Is there a Quantum equivalent of the Time hierarchy theorem ?" Tags="&lt;cc.complexity-theory&gt;&lt;quantum-computing&gt;" AnswerCount="3" CommentCount="4" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="4459" PostTypeId="2" ParentId="4457" CreationDate="2011-01-21T15:14:31.070" Score="7" Body="&lt;p&gt;In the following &quot;you&quot; is a student :)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The WWH (What ? Why ? How ?) approach is always good to structure the presentation of a work in progress.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;What?&lt;/strong&gt;&#xA;My opinion is that it is best to first describe the precise problem that you are dealing with. To the contrary, giving first a very broad context has the risk to lose the audience quickly. If you start by something focused, people listens to what you are saying.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Why?&lt;/strong&gt;&#xA;The next step is then to assess the interest of the problem. Not the interest of the work you have done to solve it, but only why this is important to address the issue.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;How?&lt;/strong&gt;&#xA;It is now time to present YOUR work: techniques, tools, ideas that work, &lt;strong&gt;ideas that don't work&lt;/strong&gt; and why they don't. It is also the time where you ask for help if you need help.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Also, keep in mind the 3 third rule : 1/3 of the talk is for everybody, 1/3 is for people from your (broad) area, and the last third is for the other experts (you can put the technicalities here).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;&lt;strong&gt;edit following Dave's comment:&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Presenting ideas that are not clear is indeed difficult, even for faculty I think. In the past we used to proceed in 2 steps with our students. As a second step, we had formal talks according structured with the WWH and 1/3 rule, it was called the doctoral seminar. In this seminar, students presented almost finished work in progress. For the first step, we had informal lunch talk by students on the early stages of their ideas. Typically, it consists in a bunch of people eating pizzas, sitting in front of a whiteboard + projector screen, listening to a student that wanted to formalized his/her ideas.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I asked my PhD for this talk to prepare slides where the &quot;formal things&quot; where written next to a natural language sentence explaining thoroughly the &quot;formal thing&quot;. The whiteboard was used for rewriting things all together (students + faculty). Each speaker had a limited time, so the idea is that on your first talk you try to make a few things more precise, then you come back for a next round the week after, etc. We stopped that because sometimes, with some people, this approach can lead to troubles (think about co-authorship issues for instance). &lt;/p&gt;&#xA;" OwnerUserId="76" LastEditorUserId="76" LastEditDate="2011-01-21T19:31:17.633" LastActivityDate="2011-01-21T19:31:17.633" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="4460" PostTypeId="2" ParentId="4457" CreationDate="2011-01-21T15:19:06.320" Score="10" Body="&lt;p&gt;I would and have advised as follows: &quot;Of course there is risk of getting your ideas stolen, but if that risk keeps you from sharing you are losing out on a large part of the enjoyment in the scientific endeavour.&quot;&lt;/p&gt;&#xA;" OwnerUserId="1654" LastActivityDate="2011-01-21T15:19:06.320" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4461" PostTypeId="2" ParentId="4458" CreationDate="2011-01-21T16:14:05.810" Score="19" Body="&lt;p&gt;The answer is no. We don't even have a time hierarchy theorem for bounded-error probabilistic polynomial time (i.e., BPTIME).  The deterministic and non-deterministic time hierarchy theorems have a diagonalization argument, which does not seem to work for semantic classes. This is why we don't have strong hierarchy theorems for semantic classes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The best result I'm aware of is a hierarchy theorem for BPTIME with 1 bit of advice: &lt;a href=&quot;http://www.cs.uchicago.edu/~fortnow/papers/probhier.ps&quot; rel=&quot;nofollow noreferrer&quot;&gt;Fortnow, L.; Santhanam, R. (2004). Hierarchy Theorems for Probabilistic Polynomial Time&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I don't know of any groups working on a quantum time hierarchy theorem. I would guess that this is because it seems like the BPTIME hierarchy problem is easier, so researchers would attack that problem instead.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Somewhat related questions: &lt;a href=&quot;https://mathoverflow.net/questions/35236/is-there-a-syntactic-characterization-for-bpp-bqp-or-qma&quot;&gt;Is there a syntactic characterization for BPP, BQP, or QMA?&lt;/a&gt; on MathOverflow and &lt;a href=&quot;https://cstheory.stackexchange.com/questions/1233/semantic-vs-syntactic-complexity-classes&quot;&gt;Semantic vs. Syntactic Complexity Classes&lt;/a&gt; on cstheory.)&lt;/p&gt;&#xA;" OwnerUserId="206" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2011-01-21T16:14:05.810" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4462" PostTypeId="1" CreationDate="2011-01-21T16:31:19.720" Score="6" ViewCount="519" Body="&lt;p&gt;A &lt;a href=&quot;http://en.wikipedia.org/wiki/Bloom_filter&quot; rel=&quot;nofollow noreferrer&quot;&gt;Bloom filter&lt;/a&gt; is a data structure for probabilistic set-membership. When adding an item to the set, $k$ bits (whose indices are determined by $k$ different hash functions) are set to 1. To check if an item is a member of the set, those $k$ bits are checked to be equal to 1. Deletions are no supported and there is a probability of false positives. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Bloom filters are usually used make digests of big sets. In our case they are used to represent a set of items a certain user are interested in. Our clustering algorithm uses the similarity between the sets of two users (&lt;a href=&quot;http://en.wikipedia.org/wiki/Cosine_similarity&quot; rel=&quot;nofollow noreferrer&quot;&gt;Cosine Similarity&lt;/a&gt; usually). However for the cryptographic version, we use the similarity between the corresponding Bloom filters of the sets instead.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What I am seeking as whether there is&#xA;  any references regarding the&#xA;  conditional probability that the&#xA;  similarity between two Bloom filters&#xA;  will tell us something about the&#xA;  similarity between the corresponding&#xA;  sets, and to which degree Bloom&#xA;  filters preserve the order relation on&#xA;  Cosine Similarity (or other similarity&#xA;  measures).&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I have been doing some work on that, and it gets pretty deep, lots of combinatorics and multi-set coefficients. I've posted a related question &lt;a href=&quot;https://math.stackexchange.com/questions/17241/does-this-probability-distribution-have-a-name&quot;&gt;here&lt;/a&gt;. I tried to search for papers studying these properties as well and I did not manage to find something of much use.&lt;/p&gt;&#xA;" OwnerUserId="201" LastEditorUserId="-1" LastEditDate="2017-04-13T12:19:19.363" LastActivityDate="2013-01-18T15:15:58.350" Title="The probability by which Bloom filters preserves the order relation given a similarity measure on sets" Tags="&lt;reference-request&gt;&lt;pr.probability&gt;" AnswerCount="2" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4463" PostTypeId="2" ParentId="4457" CreationDate="2011-01-21T16:43:01.817" Score="19" Body="&lt;p&gt;It sounds from your question (the use of the word 'willing') that one deterrent is the unwillingness of students to present. Since it's in your research group, I'm assuming that being scooped is not something they need to worry about :). So the real reason is that they feel afraid: of seeming clueless, of not knowing the answer and having someone else find it in 5 minutes after they start presenting, or of people deeming their ideas to be uninteresting. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In other words, the &lt;a href=&quot;http://en.wikipedia.org/wiki/Impostor_syndrome&quot; rel=&quot;noreferrer&quot;&gt;imposter syndrome&lt;/a&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;One of the most important transitions a grad student has to go through is the point when they realize that they can actually play in the research world, and make contributions of their own. This often comes when their first paper gets published, but can also happen the first time they talk to a &quot;senior&quot; researcher and realize they know more than that person about their topic of interest, or even the first time they prove a brand new result. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;One advice for you might be to give such talks of your own, where you show &quot;how the sausage is made&quot; and show how ill-formed your own initial ideas might be. That gives them a model to work with. At the very least, you can give them examples of the winding path a research project takes. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A second advice you can give them is to remember that most likely no one knows as much about their problem as they do. They may not internalize this just yet, but repeated reminders might help :)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;When they actually give the talk, Sylvain's advice is very good: however I don't think the 1/3 rule applies here since in your research group there are probably no outside experts and probably no generic audience. But I'll mention a line I heard yesterday in the context of journalism, but which applies very well for talks by inexperienced people:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Don't overestimate the audience&#xA;  knowledge, and don't underestimate&#xA;  their intelligence.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;In other words, provide all the background they need, and more. But don't prove teeny little lemmas from scratch. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2011-01-21T16:43:01.817" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4464" PostTypeId="2" ParentId="4423" CreationDate="2011-01-21T16:43:31.240" Score="0" Body="&lt;p&gt;@mjqxxxx:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In your proof you start from (pseudo) randomly generating $SS$ running $M$ on an arbitrary incompressible input $T$, but this does not assure that $S$ can be generated in a similar way by another &quot;shuffler&quot; $M_{2}$ made with fewer states than $M$ and running on an incompressible input $T_2$ and $|T_2| \leq |T|$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$|S| &amp;lt;= K(S) = |M_2| + |T_2| &amp;lt; K(SS) = |M| + |T| \leq |M_2| + |T_2| + |$states for &quot;make a copy of the tape&quot;$|$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;And what is the mening of the symbol $\approx$ in your proof ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;When you say: &quot;the string $S$, moreover, will have complexity $K(S) \approx K(SS)+K_C$&quot; you should write: $K(S) \leq K(SS) + c$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(for all $S$, $| K(SS) - K(S) | &amp;lt; c$ because $SS$ can be built from $M_S$ adding a few states that &quot;make a copy of the content of the tape&quot; and $S$ can be built from $M_{SS}$ adding a few states that &quot;split the content of the tape in 2 halves&quot;)&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2011-01-21T18:43:58.070" LastActivityDate="2011-01-21T18:43:58.070" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4465" PostTypeId="2" ParentId="4462" CreationDate="2011-01-21T16:46:36.070" Score="6" Body="&lt;p&gt;This is not a direct answer to your question,  but it's related. The probability you want is precisely what is provided by &lt;a href=&quot;http://www.stanford.edu/class/archive/cs/cs276a/cs276a.1032/handouts/minhash-6in1.pdf&quot;&gt;min-wise hashing schemes&lt;/a&gt;. In particular, a min-wise hash takes a set and produces a single element, with the property that the probability of the two elements being identical is precisely the Jaccard similarity between the sets (intersection/union). &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2011-01-21T16:46:36.070" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="4466" PostTypeId="1" CreationDate="2011-01-21T16:46:47.290" Score="2" ViewCount="366" Body="&lt;p&gt;Last semester, I took a combinatorial optimization course where the reference book was &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/047155894X&quot; rel=&quot;nofollow&quot;&gt;Combinatorial Optimization&lt;/a&gt; by William J. Cook et al. It was very interesting for me to see the relationship between some great algorithms (like disjktra's shortest path algorithm, edmonds' maximum matching algorithm ...) and LP duality. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is about a general framework on constructing combinatorial algorithms based on LP duality. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For a given problem what are the necessary and sufficient conditions for the existence of such algorithms. I think duality gap should be the first necessary condition and to have a totally unimodal matrix could be sufficient.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Maybe the answer is written in that book and I should read it again carefully.&lt;/p&gt;&#xA;" OwnerUserId="2296" LastActivityDate="2011-01-21T23:27:52.107" Title="Necessary and sufficient conditions for the existence of a combinatorial algorithm for a given problem." Tags="&lt;ds.algorithms&gt;&lt;primal-dual&gt;" AnswerCount="2" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="4467" PostTypeId="2" ParentId="4437" CreationDate="2011-01-21T17:09:36.393" Score="3" Body="&lt;p&gt;The private coin (one- and two-way) randomized complexity of ANY function is at least &lt;span class=&quot;math-container&quot;&gt;$\log \log |\text{size}|$&lt;/span&gt;, so e.g. in your case at least &lt;span class=&quot;math-container&quot;&gt;$\log \log {U \choose m}$&lt;/span&gt;, which would be &lt;span class=&quot;math-container&quot;&gt;$\log \log U$&lt;/span&gt; if &lt;span class=&quot;math-container&quot;&gt;$m$&lt;/span&gt; is small, which can give a better lower bound. This result is mentioned in Yao's seminal paper on CC, you can find the proof in my master's thesis, lemma 3.8 and around:&#xA;&lt;a href=&quot;http://www.cs.elte.hu/~dom/cikkek/szakdolgozat.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://www.cs.elte.hu/~dom/cikkek/szakdolgozat.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course this is just a lower bound, maybe their is a matching upper bound like &lt;span class=&quot;math-container&quot;&gt;$m + \log \log U$&lt;/span&gt;.&lt;/p&gt;&#xA;" OwnerUserId="419" LastEditorDisplayName="user30448" LastEditDate="2019-01-24T20:22:38.560" LastActivityDate="2019-01-24T20:22:38.560" CommentCount="0" ContentLicense="CC BY-SA 4.0" />
  <row Id="4468" PostTypeId="2" ParentId="4437" CreationDate="2011-01-21T17:39:24.343" Score="9" Body="&lt;p&gt;The answer is $\Theta(m\log m + \log\log |U|)$.  In the public coins model, we have (as described above) $\Theta(m\log m)$.  As Yuval suggested above, for the upper bound in the private coins model we need only an additive $O(\log n)=O(\log m + \log\log |U|)$ bits (see theorem 3.14 in the &lt;a href=&quot;http://books.google.com/books?id=9A_9Jcs1ZJQC&amp;amp;printsec=frontcover&amp;amp;dq=kushilevitz+nisan&amp;amp;source=bl&amp;amp;ots=XmY8oc3nFX&amp;amp;sig=BIslnB-7N95ybsDfUxJDhD1EVq4&amp;amp;hl=en&amp;amp;ei=hsI5TcrHL4OKhQe99Y3MCg&amp;amp;sa=X&amp;amp;oi=book_result&amp;amp;ct=result&amp;amp;resnum=3&amp;amp;ved=0CCgQ6AEwAg#v=onepage&amp;amp;q&amp;amp;f=false&quot;&gt;K&amp;amp;N book&lt;/a&gt;), where $n$ is the length of the encoding of the input ($n=m\log|U|$).  For the additional lower bound of $\Omega(\log\log |U|)$ in the private coin model, it is enough to concentrate on the case $m=1$ (as the other items can be fixed to be all different), which is just the equality function on $\log |U|$-bit strings, whose private coin complexity is logarithmic in that (example 3.9 in K&amp;amp;N).&lt;/p&gt;&#xA;" OwnerUserId="42" LastActivityDate="2011-01-21T17:39:24.343" CommentCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="4469" PostTypeId="2" ParentId="4466" CreationDate="2011-01-21T18:54:36.133" Score="3" Body="&lt;p&gt;With the caveat that I am not quite sure what you're asking about, have you looked at the book on &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/3540653678&quot; rel=&quot;nofollow&quot;&gt;Approximation Algorithms&lt;/a&gt; by Vijay Vazirani ? There are two techniques (that are quite related to each other) for using LPs to design combinatorial algorithms. One is of course the primal-dual method that Vijay has propounded for a while, and is explained nicely in the book. Another is the &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=1041683&amp;amp;preflayout=flat&quot; rel=&quot;nofollow&quot;&gt;local-ratio method&lt;/a&gt; developed by Reuven Bar-Yehuda and others, which it tuns out is also closely related to primal-dual methods. Another perspective that's proven to be useful is the 'pricing' model, which has a more game-theoretic flavor but is also another way of navigating primals and duals in a combinatorial manner. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2011-01-21T18:54:36.133" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="4470" PostTypeId="6" CreationDate="2011-01-21T20:47:16.417" Score="0" Body="&lt;p&gt;&lt;strong&gt;My timezone: Mountain time (UTC-6/7, depending on daylight savings)&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'd like to nominate myself (boy, that sounds odd)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I've been a temp moderator here for the past few months, and have been pretty active in both the main site and on meta. My general moderator policy is &quot;less is more&quot;, and I try to separate my personal opinions from what the community deems reasonable. Overall, I think that this community moderates itself quite well without moderator intervention, and the only times when intervention has been required is because of new users becoming acquainted with site norms (we are a rapidly growing site, which is great!)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'd continue more of the same if I were to be elected.&lt;/p&gt;&#xA;" OwnerUserId="80" LastEditorUserId="80" LastEditDate="2011-01-26T21:45:27.650" LastActivityDate="2011-01-26T21:45:27.650" CommentCount="8" CommunityOwnedDate="2011-01-21T20:47:16.417" ContentLicense="CC BY-SA 2.5" />
  <row Id="4471" PostTypeId="2" ParentId="4074" CreationDate="2011-01-21T20:48:53.973" Score="9" Body="&lt;p&gt;The course &quot;Pearls of Algorithms&quot;. &lt;a href=&quot;http://www.roeglin.org/teaching/WS2010/Pearls.html&quot;&gt;Part 3&lt;/a&gt;: Probabilistic Analysis and Randomized Algorithms. The &lt;a href=&quot;http://www.roeglin.org/teaching/WS2010/Pearls/LectureNotes.pdf&quot;&gt;lectures notes&lt;/a&gt; are on &lt;a href=&quot;http://en.wikipedia.org/wiki/Smoothed_analysis&quot;&gt;smoothed analysis&lt;/a&gt;. I especially like the figure 1.1 on the third page.&lt;/p&gt;&#xA;" OwnerUserId="1060" LastActivityDate="2011-01-21T20:48:53.973" CommentCount="0" CommunityOwnedDate="2011-01-21T20:48:53.973" ContentLicense="CC BY-SA 2.5" />
  <row Id="4472" PostTypeId="6" CreationDate="2011-01-21T22:18:38.153" Score="0" Body="&lt;p&gt;I've been an active member of CSTheory since the first days of public beta. When I joined this community, little I knew that it would become an important part of my life, and that I'd be so addicted to it! Everyday, I try to open all new posts, read them carefully, and see if I can contribute an answer. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This way, I contributed nearly 30 questions and 90 answers. Some of them were even out of my research field (such as the one on &lt;a href=&quot;http://cstheory.stackexchange.com/questions/4201/queueing-theory-how-to-estimate-steady-state-queue-length-for-single-queue-n-se/4203#4203&quot;&gt;queueing theory&lt;/a&gt; of the one on &lt;a href=&quot;http://cstheory.stackexchange.com/questions/4069/efficient-algorithm-for-updating-a-parse-tree/4082#4082&quot;&gt;updating parse tress&lt;/a&gt;), and I had to spend a lot of time to research before providing an answer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, I want to take another step, and spend even more time on CSTheory. I believe moderation requires patience, knowledge, good understanding of the forum rules, and a lot of time. On the other hand, I trust this community moderates itself, and a moderator must intervene only in special cases.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think I'm ready to commit to such duty. Anyway, I will try my best to continue playing my part in the community, whether I'm elected or not.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Other info:&lt;/strong&gt; &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;My timezone is UTC +3:30 / +4:30 (depending on daylight savings).&lt;/li&gt;&#xA;&lt;li&gt;I'm a junior Ph.D. student.&lt;/li&gt;&#xA;&lt;li&gt;I study foundations of cryptography (specifically, zero-knowledge proofs). I've a rather good knowledge of computational complexity theory, too.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="873" LastEditorUserId="873" LastEditDate="2011-01-27T11:23:43.970" LastActivityDate="2011-01-27T11:23:43.970" CommentCount="6" CommunityOwnedDate="2011-01-21T22:18:38.153" ContentLicense="CC BY-SA 2.5" />
  <row Id="4473" PostTypeId="1" AcceptedAnswerId="4478" CreationDate="2011-01-21T22:58:19.760" Score="78" ViewCount="3699" Body="&lt;p&gt;It is well-known that in general, the order of universal and existential quantifiers cannot be reversed. In other words, for a general logical formula $\phi(\cdot,\cdot)$,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$(\forall x)(\exists y) \phi(x,y) \quad \not\Leftrightarrow \quad (\exists y)(\forall x) \phi(x,y)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, we know the right-hand side is more restrictive than the left-hand side; that is, $(\exists y)(\forall x) \phi(x,y) \Rightarrow (\forall x)(\exists y) \phi(x,y)$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This question focuses on techniques to derive $(\forall x)(\exists y) \phi(x,y) \Rightarrow (\exists y)(\forall x) \phi(x,y)$, whenever it holds for $\phi(\cdot,\cdot)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Diagonalization&lt;/strong&gt; is one such technique. I first see this use of diagonalization in the paper &lt;a href=&quot;http://dx.doi.org/10.1137/0204037&quot;&gt;Relativizations of the $\mathcal{P} \overset{?}{=} \mathcal{NP}$ Question&lt;/a&gt; (see also the &lt;a href=&quot;http://www.cs.umd.edu/~jkatz/complexity/relativization.pdf&quot;&gt;short note by Katz&lt;/a&gt;). In that paper, the authors first prove that:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;For any deterministic, polynomial-time oracle machine M, there exists a language B such that $L_B \ne L(M^B)$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;They then reverse the order of the quantifiers (using &lt;strong&gt;diagonalization&lt;/strong&gt;), to prove that:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;There exists a language B such that for all deterministic, poly-time M we have $L_B \ne L(M^B)$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;This technique is used in other papers, such as &lt;a href=&quot;http://eprint.iacr.org/1998/011.pdf&quot;&gt;[CGH]&lt;/a&gt; and &lt;a href=&quot;http://linkinghub.elsevier.com/retrieve/pii/089054019190024V&quot;&gt;[AH]&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I found another technique in the proof of Theorem 6.3 of &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=73007.73012&quot;&gt;[IR]&lt;/a&gt;. It uses a combination of &lt;strong&gt;measure theory&lt;/strong&gt; and &lt;strong&gt;pigeon-hole principle&lt;/strong&gt; to reverse the order of quantifiers.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;I want to know what other techniques are used in computer science, to reverse the order of universal and existential quantifiers?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="873" LastEditorUserId="186" LastEditDate="2011-01-24T03:19:45.060" LastActivityDate="2011-01-24T12:25:09.310" Title="Techniques for Reversing the Order of Quantiﬁers" Tags="&lt;lo.logic&gt;&lt;big-picture&gt;&lt;proof-techniques&gt;" AnswerCount="5" CommentCount="1" FavoriteCount="46" ContentLicense="CC BY-SA 2.5" />
  <row Id="4474" PostTypeId="2" ParentId="4454" CreationDate="2011-01-21T23:05:49.923" Score="13" Body="&lt;p&gt;I believe &lt;a href=&quot;http://www.jstor.org/stable/pdfplus/3689380.pdf?acceptTC=true&quot;&gt;On a class of totally unimodular matrices&lt;/a&gt;, by Yannakakis, gives an answer to your question for a special case of TU ILP (whenever there are no odd cycles in a bipartite graph obtained by seeing the coefficient matrix as an adjacency matrix). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In that paper there is a reference to &lt;a href=&quot;http://www.springerlink.com/content/j0m40587pj827586/fulltext.pdf&quot;&gt;Polynomial algorithms for a class of linear programs&lt;/a&gt;, which seems to handle all totally unimodular matrices, but I am not sure about how much more efficient it is compared to generic algorithms for LPs.&lt;/p&gt;&#xA;" OwnerUserId="1632" LastActivityDate="2011-01-21T23:05:49.923" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4475" PostTypeId="2" ParentId="4466" CreationDate="2011-01-21T23:27:52.107" Score="6" Body="&lt;p&gt;Some people in combinatorial optimization use the word &quot;combinatorial algorithm&quot; to mean &quot;algorithm without using ellipsoid method (or interior-point methods).&quot;  For example, Schrijver's Fulkerson-prize-winning paper has a title &quot;&lt;a href=&quot;http://dx.doi.org/10.1006/jctb.2000.1989&quot; rel=&quot;nofollow&quot;&gt;A combinatorial algorithm minimizing submodular functions in strongly polynomial time&lt;/a&gt;.&quot;  The co-winners (Iwata, Fleischer, and Fujishige) also have &quot;&lt;a href=&quot;http://doi.acm.org/10.1145/502090.502096&quot; rel=&quot;nofollow&quot;&gt;A combinatorial strongly polynomial algorithm for minimizing submodular function&lt;/a&gt;.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As far as I see the field of combinatorial optimization, people there actually try to give an answer to the posed question, and still struggle.  Cunningham's survey &quot;Matching, matroids, and extensions&quot; (Mathematical Programming B91 (2002) 515-542) is a bit old by now, but you can see how generalizations of Edmonds' blossom algorithm and concepts on matroid lead to combinatorial polynomial-time algorithms for other problems.  Please note that the field has been advanced since the survey, and good sources are probably some papers from &lt;a href=&quot;http://www.opt.math.tu-graz.ac.at/IPCO/&quot; rel=&quot;nofollow&quot;&gt;IPCO&lt;/a&gt; (Integer Programming and Combinatorial Optimization).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would like to point out that an big open problem is to find a combinatorial algorithm for the maximum independent set problem for perfect graphs running in strongly polynomial time.&lt;/p&gt;&#xA;" OwnerUserId="2955" LastActivityDate="2011-01-21T23:27:52.107" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4478" PostTypeId="2" ParentId="4473" CreationDate="2011-01-22T09:30:09.927" Score="73" Body="&lt;p&gt;Reversal of quantifiers is an important property that is often behind well known theorems.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, in analysis the difference between $\forall \epsilon &amp;gt; 0 . \forall x . \exists \delta &amp;gt; 0$ and $\forall \epsilon &amp;gt; 0 . \exists \delta &amp;gt; 0 . \forall x$ is the difference between &lt;em&gt;pointwise&lt;/em&gt; and &lt;em&gt;uniform&lt;/em&gt; continuity. A well known theorem says that every pointwise continuous map is uniformly continuous, provided the domain is nice, i.e., &lt;em&gt;compact&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In fact, compactness is at the heart of quantifier reversal. Consider two datatypes $X$ and $Y$ of which $X$ is overt and $Y$ is compact (see below for explanation of these terms), and let $\phi(x,y)$ be a semidecidable relation between $X$ and $Y$. The statement $\forall y : Y . \exists x : X . \phi(x,y)$ can be read as follows: every point $y$ in $Y$ is covered by some $U_x = \lbrace z : Y \mid \phi(x,z) \rbrace$. Since the sets $U_x$ are &quot;computably open&quot; (semidecidable) and $Y$ is compact there exists a finite subcover. We have proved that&#xA;$$\forall y : Y . \exists x : X . \phi(x,y)$$&#xA;implies&#xA;$$\exists x_1, \ldots, x_n : X . \forall y : Y . \phi(x_1,y) \lor \cdots \lor \phi(x_n, y).$$&#xA;Often we can reduce the existence of the finite list $x_1, \ldots, x_n$ to a single $x$. For example, if $X$ is linearly ordered and $\phi$ is monotone in $x$ with respect to the order then we can take $x$ to be the largest one of $x_1, \ldots, x_n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To see how this principle is applied in a familiar case, let us look at the statement that $f : [0,1] \to \mathbb{R}$ is a continuous function. We keep $\epsilon &amp;gt; 0$ as a free variable in order not to get confused about an outer universal quantifier:&#xA;$$\forall x \in [0,1] . \exists \delta &amp;gt; 0 . \forall y \in [x - \delta, x + \delta] . |f(y) - f(x)| &amp;lt; \epsilon.$$&#xA;Because $[x - \delta, x + \delta]$ is compact and comparison of reals is semidecidable, the statement $\phi(x, \delta) \equiv \forall y \in [x - \delta, x + \delta] . |f(y) - f(x)| &amp;lt; \epsilon$ is semidecidable. The positive reals are overt and $[0,1]$ is compact, so we can apply the principle:&#xA;$$\exists \delta_1, \delta_2, \ldots, \delta_n &amp;gt; 0 . \forall x \in [0,1] . \phi(\delta_1, x) \lor \cdots \phi(\delta_n, x).$$&#xA;Since $\phi(\delta, x)$ is antimonotone in $\delta$ the smallest one of $\delta_1, \ldots, \delta_n$ does the job already, so we just need one $\delta$:&#xA;$$\exists \delta &amp;gt; 0 . \forall x \in [0,1] . \forall y \in [x - \delta, x + \delta] . |f(y) - f(x)| &amp;lt; \epsilon.$$&#xA;What we have got is &lt;em&gt;uniform&lt;/em&gt; continuity of $f$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Vaguely speaking, a datatype is &lt;em&gt;compact&lt;/em&gt; if it has a computable universal quantifier and &lt;em&gt;overt&lt;/em&gt; if it has a computable existential quantifier. The (non-negative) integers $\mathbb{N}$ are overt because in order to semidecide whether $\exists n \in \mathbb{N} . \phi(n)$, with $\phi(n)$ semidecidable, we perform the paralel search by &lt;a href=&quot;http://en.wikipedia.org/wiki/Dovetailing_%28computer_science%29&quot;&gt;dovetailing&lt;/a&gt;. The Cantor space $2^\mathbb{N}$ is compact and overt, as explained by Paul Taylor's &lt;a href=&quot;http://www.paultaylor.eu/ASD/&quot;&gt;Abstract Stone Duality&lt;/a&gt; and Martin Escardo's &quot;&lt;a href=&quot;http://www.cs.bham.ac.uk/~mhe/papers/entcs87.pdf&quot;&gt;Synthetic Topology of Datatypes and Classical Spaces&lt;/a&gt;&quot; (also see the related notion of &lt;a href=&quot;http://math.andrej.com/2007/09/28/seemingly-impossible-functional-programs/&quot;&gt;searchable spaces&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let us apply the principle to the example you mentioned. We view a language as a map from (finite) words over a fixed alphabet to boolean values. Since finite words are in computable bijective correspondence with integers we may view a language as a map from integers to boolean values. That is, the datatype of all languages is, up to computable isomorphism, precisely the Cantor space &lt;code&gt;nat -&amp;gt; bool&lt;/code&gt;, or in mathematical notation $2^\mathbb{N}$, which is compact. A polynomial-time Turing machine is described by its program, which is a finite string, thus the space of all (representations of) Turing machines can be taken to be &lt;code&gt;nat&lt;/code&gt; or $\mathbb{N}$, which is overt.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a Turing machine $M$ and a language $c$, the statement $\mathsf{rejects}(M,c)$ which says &quot;language $c$ is rejected by $M$&quot; is semidecidable because it is in fact decidable: just run $M$ with input $c$ and see what it does. The conditions for our principle are satisfied! The statement &quot;every oracle machine $M$ has a language $b$ such that $b$ is not accepted by $M^b$&quot; is written symbolically as&#xA;$$\forall M : \mathbb{N} . \exists b : 2^\mathbb{N} . \mathsf{rejects}(M^b,b).$$&#xA;After inversion of quantifiers we get&#xA;$$\exists b_1, \ldots, b_n : 2^\mathbb{N} . \forall M : \mathbb{N} . \mathsf{rejects}(M^{b_1}, b_1) \lor \cdots \lor \mathsf{rejects}(M^{b_n},b_n).$$&#xA;Ok, so we are down to finitely many languages. Can we combine them into a single one? I will leave that as an exercise (for myself and you!).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You might also be interested in the slightly more general question of how to &lt;em&gt;transform&lt;/em&gt; $\forall x . \exists y . \phi(x,y)$ to an equivalent statement of the form $\exists u . \forall v . \psi(u,v)$, or vice versa. There are several ways of doing this, for example:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Skolem_normal_form&quot;&gt;Skolem normal form&lt;/a&gt;,&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Herbrand_normal_form&quot;&gt;Herbrand normal form&lt;/a&gt;,&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Dialectica_interpretation&quot;&gt;Gödel's functional interpretation&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="705" LastEditorUserId="705" LastEditDate="2011-01-22T17:17:14.850" LastActivityDate="2011-01-22T17:17:14.850" CommentCount="17" ContentLicense="CC BY-SA 2.5" />
  <row Id="4479" PostTypeId="1" CreationDate="2011-01-22T12:20:06.700" Score="7" ViewCount="463" Body="&lt;p&gt;I'm looking for a software for visualizing main trends in some field. &#xA;Specifically, I want it to build a graph of the field with vertexes representing papers and edges representing how close papers are (probably, based on number of co-citations).&#xA;It seems to be very useful in order to find important subfields (clusters in the graph) and important papers (centers of the clusters).&lt;/p&gt;&#xA;" OwnerUserId="2016" LastEditorUserId="186" LastEditDate="2011-01-22T19:34:50.367" LastActivityDate="2011-01-27T06:16:14.610" Title="A System for Visualizing Bibliography Information" Tags="&lt;soft-question&gt;&lt;advice-request&gt;&lt;research-practice&gt;&lt;software&gt;&lt;bibliography&gt;" AnswerCount="2" CommentCount="6" FavoriteCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="4480" PostTypeId="2" ParentId="4473" CreationDate="2011-01-22T14:41:48.933" Score="25" Body="&lt;p&gt;Impagliazzo's hard-core set lemma allows you to switch quantifiers in the context of computational-hardness assumptions. Here's the &lt;a href=&quot;http://cseweb.ucsd.edu/~russell/hardcore.ps&quot;&gt;original paper&lt;/a&gt;. You can find tons of related papers and posts by Googling.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The lemma says that if &lt;em&gt;for every&lt;/em&gt; algorithm A &lt;em&gt;there exists&lt;/em&gt; a large set of inputs on which A fails to compute a fixed function f, then in fact &lt;em&gt;there exists&lt;/em&gt; a large set of inputs on which &lt;em&gt;every&lt;/em&gt; algorithm fails to compute f with probability close to 1/2.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This lemma can be proved using the min-max theorem or boosting (a technique from computational learning theory), both of which are examples of switching quantifiers.&lt;/p&gt;&#xA;" OwnerUserId="259" LastActivityDate="2011-01-22T14:41:48.933" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4481" PostTypeId="6" CreationDate="2011-01-22T16:16:31.770" Score="0" Body="&lt;p&gt;I hereby nominate myself (Kaveh). (and yes, it sounds odd).&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Time Zone: (UTC -05:00) Eastern Time (US &amp;amp; Canada)&lt;/li&gt;&#xA;&lt;li&gt;Current Position: PhD student in University of Toronto, &lt;a href=&quot;http://www.cs.toronto.edu/&quot; rel=&quot;nofollow&quot;&gt;Department of Computer Science&lt;/a&gt;, &lt;a href=&quot;http://www.cs.toronto.edu/theory/index.php?n=Main.People&quot; rel=&quot;nofollow&quot;&gt;Theory Group&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Research Area: Proof Complexity&lt;/li&gt;&#xA;&lt;li&gt;Profiles: &lt;a href=&quot;http://cstheory.stackexchange.com/users/186/kaveh&quot;&gt;main&lt;/a&gt;, &lt;a href=&quot;http://meta.cstheory.stackexchange.com/users/186/kaveh&quot;&gt;meta&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I was an early &lt;a href=&quot;http://cstheory.stackexchange.com/badges/23/fanatic&quot;&gt;fanatics&lt;/a&gt;, have made &lt;a href=&quot;http://cstheory.stackexchange.com/badges/12/strunk-white&quot;&gt;a large number of edits&lt;/a&gt; (mostly retags), and have been active on meta. I would like to be a minimalist moderator (if you elect me I will try to use the moderator abilities as little as possible and hopefully it will be limited to &quot;deleting obvious spam, closing blatantly off-topic questions&quot;, and implementing the policies decided by the community) and hope the need for moderator interventions will drop as we get more users with +10K reputation. I view cstheory as a &lt;em&gt;resource for researchers&lt;/em&gt; and a &lt;em&gt;community&lt;/em&gt; managed by the &lt;em&gt;community&lt;/em&gt;. I think following a MathOverflow like strategy had a significant effect on bringing the experts to the site. I eagerly wait to see the posts on the site start being cited in conference and journal papers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would like SE to add &lt;a href=&quot;http://stackoverflow.com/?tab=interesting&quot;&gt;the interesting questions page &lt;/a&gt; and allow more user customization so users can create their own criteria of what is an interesting question. &lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;h3&gt;Will I make a good community moderator?&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;I don't know. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I usually get involved in heated &lt;em&gt;discussions&lt;/em&gt; on meta as a user (well, you can read it positively as being enthusiastic and caring about the site and its success), but when it comes to making &lt;em&gt;decisions&lt;/em&gt; and taking actions I like consensus and compromise. I respect users but sometimes new users not familiar with me might feel otherwise (this has happened in the past and I have tried to improve my comments and avoid misunderstandings caused by them and there has not been a recent case AFAIR). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I understand that a moderator will be held to a higher standard of behavior and has to be more patient and that partially means that I have to learn to be cooler in discussions (it is easier to argue enthusiastically as non-moderators). I hope that SE will implement two types of votes for moderators so they can also cast non-binding votes for closing questions.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;I cut this post down, for the full version see &lt;a href=&quot;http://cstheory.stackexchange.com/revisions/06aacdc5-8d97-4acd-967f-5bb8f17a52b2/&quot;&gt;the previous version&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2011-01-27T04:58:43.407" LastActivityDate="2011-01-27T04:58:43.407" CommentCount="17" CommunityOwnedDate="2011-01-22T16:16:31.770" ContentLicense="CC BY-SA 2.5" />
  <row Id="4482" PostTypeId="2" ParentId="4479" CreationDate="2011-01-22T19:01:40.833" Score="3" Body="&lt;p&gt;To elaborate a little on my comment (which is slightly tangential).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is a fun site called &lt;a href=&quot;http://www.eigenfactor.org&quot; rel=&quot;nofollow&quot;&gt;eigenfactor&lt;/a&gt; that provides nice visualizations of how various parts of science cite each other, and their relative size by publication/citation volume. Unfortunately their primary focus seems to be calculating impact factors for journals and so they operate on the level of journals, not individual papers/authors. However, they have a pretty interesting way of identifying subfields.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;They use the number of citations from a journal A to a journal B as a weight on the edge from A to B. They then consider a random walk on the resulting graph. Such a walk tends to linger in topic clusters, and thus when they try to create a shortest description of the walk they tend to name the clusters and use a second index inside the cluster (kind of how you would have unique city names, and unique street names in each city, but redundant across cities). I thought it was a pretty nice way of finding clusters, and produces clusters that mimic how most people would divide the topics in science (with the occasional hilarious classification like putting Phys. Rev. Letters in Chemistry instead of Physics) You can read more in their &lt;a href=&quot;http://octavia.zoology.washington.edu/publications/RosvallAndBergstrom08.pdf&quot; rel=&quot;nofollow&quot;&gt;paper&lt;/a&gt; or on the &lt;a href=&quot;http://www.mapequation.org&quot; rel=&quot;nofollow&quot;&gt;mapequation&lt;/a&gt; site.&lt;/p&gt;&#xA;" OwnerUserId="1037" LastActivityDate="2011-01-22T19:01:40.833" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4483" PostTypeId="1" AcceptedAnswerId="4486" CreationDate="2011-01-22T19:07:44.123" Score="7" ViewCount="355" Body="&lt;p&gt;Few days ago I was working on interval graphs to solve the known problem of resource allocation, as we know there is a greedy approach that solves this problem (chromatic number) in polynomial time and gives us the colors of each vertex in the interval graph (the problem of finding the chromatic number in general graphs is NP-Complete (3-satisfiability reduction by Karp)).&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;I was wondering: if had a graph that is not an interval graph but it is because it has one and only one chordless cycle of length &gt; 3 (there is an edge that, when you remove it, the graph becomes an interval graph), does it makes the problem of finding the chromatic number on this kind of graph NP-Complete?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="3236" LastEditorUserId="80" LastEditDate="2011-01-22T22:58:39.000" LastActivityDate="2011-01-22T22:58:39.000" Title="Is the problem of finding the chromatic number of a modified interval graph NP-Complete" Tags="&lt;ds.algorithms&gt;&lt;np-hardness&gt;&lt;scheduling&gt;" AnswerCount="2" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4484" PostTypeId="2" ParentId="4473" CreationDate="2011-01-22T19:18:03.823" Score="17" Body="&lt;p&gt;To me, the &quot;canonical&quot; proof of the Karp-Lipton theorem (that $NP \subseteq P/poly \Longrightarrow \Pi_2 P = \Sigma_2 P$) has this flavor. But here it is not the actual theorem statement in which quantifiers get reversed, but rather the &quot;quantifiers&quot; get reversed within the model of alternating computation, using the assumption that $NP$ has small circuits. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;You want to simulate a computation of the form &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$(\forall y)(\exists z)R(x,y,z)$ &lt;/p&gt;&#xA;&#xA;&lt;p&gt;where $R$ is a polynomial-time predicate. You can do this by guessing a small circuit $C$ for (say) satisfiability, modifying $C$ so that it checks itself and produces a satisfying assignment when its input is satisfiable. Then for all $y$, create a SAT instance $S(x,y)$ that's equivalent to $(\exists z)R(x,y,z)$ and solve it. So you've produced an equivalent computation of the form&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$(\exists C)(\forall y)[S(x,y)$ is satisfiable according to $C]$.&lt;/p&gt;&#xA;" OwnerUserId="225" LastActivityDate="2011-01-22T19:18:03.823" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="4485" PostTypeId="2" ParentId="4483" CreationDate="2011-01-22T19:35:32.457" Score="7" Body="&lt;p&gt;According this here: &lt;a href=&quot;http://www.cs.bme.hu/~dmarx/papers/marx-chordal-iwpec-slides.pdf&quot; rel=&quot;nofollow&quot;&gt;http://www.cs.bme.hu/~dmarx/papers/marx-chordal-iwpec-slides.pdf&lt;/a&gt; (see slides 14 and 15)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For fixed $k$, for the class of graphs formed by adding $k$ edges to interval graphs, the chromatic number problem is in P.&lt;/p&gt;&#xA;" OwnerUserId="126" LastEditorUserId="126" LastEditDate="2011-01-22T19:41:14.917" LastActivityDate="2011-01-22T19:41:14.917" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4486" PostTypeId="2" ParentId="4483" CreationDate="2011-01-22T19:44:52.777" Score="13" Body="&lt;p&gt;I believe these graphs can be colored in polynomial time. Moron has already provided a reference, but here's an explicit algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose that $G-uv$ is an interval graph, for edge $uv$, and form an interval representation for it. We can assume without loss of generality that no two intervals have the same endpoint. We can also assume without loss of generality that $u$ and $v$ are the two extreme intervals; for, if some other interval were extreme, we could remove it, optimally color the resulting smaller graph (also of the form interval+one edge), and then optimally extend the coloring to the removed vertex (because its neighborhood is a clique).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So the remaining question is: does $G-uv$ have an optimal coloring in which $u$ and $v$ have different colors, or does edge $uv$ require us to use one more color? But this is easily solved by a dynamic program on the subintervals of the interval representation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In more detail, for subinterval $i$ let $C[i]$ denote the set of intervals (vertices of G) that cover that subinterval, let $D[i]$ be a Boolean value, true if there exists a coloring of the subinterval (in an optimal coloring of $G-uv$) that does not use the same color as $u$, and let $E[i]$ be the set of vertices that can be colored with the same color as $u$ (again, in an optimal coloring). As a base case, $C[0]=E[0]=\{u\}$ and $D[0]$ is false. When going from subinterval $i$ to subinterval $i+1$, across the right endpoint of an interval $w$, we set $D$ to be the disjunction of its old value and the predicate $w\in E[i]$, and we then remove $w$ from $C[i]$ and $E[i]$. When going across the left endpoint of an interval $w$, we add $w$ to $C[i]$, we add it to $E[i]$ if $D$ is true, and we change $D$ from true to false if the new size of $C[i]$ equals the number of colors in an optimal coloring of $G-uv$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then, the optimal number of colors of $G$ is the same as for $G-uv$ iff either D is true for the final subinterval, or E[i] has more than one member in the final subinterval. Otherwise, the optimal number of colors for $G$ is one plus the optimal number of colors for $G-uv$.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2011-01-22T19:44:52.777" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4487" PostTypeId="1" AcceptedAnswerId="4492" CreationDate="2011-01-22T20:16:40.570" Score="14" ViewCount="1761" Body="&lt;p&gt;I am exploring the idea of writing a DBMS in purely functional way. The traditional data structure used for indexing is B-Tree. I'd like to know some purely functional equivalent of B-Tree that would be optimized to minimize disk access. Thanks.&lt;/p&gt;&#xA;" OwnerUserId="2522" LastEditorUserId="3551" LastEditDate="2011-03-29T19:57:08.173" LastActivityDate="2011-10-05T09:57:39.280" Title="Purely Functional Equivalent of B-Tree?" Tags="&lt;ds.data-structures&gt;&lt;functional-programming&gt;&lt;db.databases&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="9" ContentLicense="CC BY-SA 2.5" />
  <row Id="4488" PostTypeId="2" ParentId="4074" CreationDate="2011-01-22T23:38:52.633" Score="12" Body="&lt;h2&gt;Computational Geometry&lt;/h2&gt;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.cs.umd.edu/class/spring2012/cmsc754/lectures.shtml&quot; rel=&quot;noreferrer&quot;&gt;Lecture Notes&lt;/a&gt; by &lt;a href=&quot;http://www.cs.umd.edu/%7Emount/&quot; rel=&quot;noreferrer&quot;&gt;David Mount&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="282" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2012-07-31T04:02:35.907" CommentCount="0" CommunityOwnedDate="2011-01-22T23:38:52.633" ContentLicense="CC BY-SA 3.0" />
  <row Id="4489" PostTypeId="1" AcceptedAnswerId="4605" CreationDate="2011-01-23T00:52:20.743" Score="18" ViewCount="3107" Body="&lt;p&gt;It's well-known that there are tons of amateurs--myself included--who are interested in the P vs. NP problem.  There are also many amatuers--myself still included--who have made attempts to resolve the problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One problem that I think the TCS community suffers from is a relatively high interested-amateur-to-expert ratio; this leads to experts being inundated with proofs that P != NP, and I've read that they are frustrated and overwhelmed, quite understandably, by this situation.  Oded Goldreich has &lt;a href=&quot;http://www.wisdom.weizmann.ac.il/~oded/p-vs-np.html&quot;&gt;written&lt;/a&gt; on this issue, and indicated his own refusal to check proofs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;At the same time, speaking from the point of view of an amateur, I can assert that there are few things more frustrating for non-expert-level TCS enthusiasts of any level of ability than generating a proof that just &lt;em&gt;seems&lt;/em&gt; right, but lacking both the ability to find the error in the proof yourself and the ability to talk to anyone who can spot errors in your proof.  Recently, R. J. Lipton &lt;a href=&quot;http://rjlipton.wordpress.com/2011/01/08/proofs-by-contradiction-and-other-dangers/&quot;&gt;wrote&lt;/a&gt; on the problem of amateurs who try to get taken seriously.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have a proposal for resolving this problem, and my question is whether or not others think it reasonable, or if there are problems with it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think experts should charge a significant but reasonable sum of money (say, 200 - 300 USD) in exchange for agreeing to read proofs in detail and find specific errors in them.  This would accomplish three things:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Amateurs would have a clear way to get their proofs evaluated and taken seriously.&lt;/li&gt;&#xA;&lt;li&gt;Experts would be compensated for their time and energy expended.&lt;/li&gt;&#xA;&lt;li&gt;There would be a significantly high cost imposed on proof-checking that the number of proofs that amateurs submit would go down dramatically.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Again, my question is whether or not this is a reasonable proposal.  Obviously, I have no ability to cause experts to adopt what I suggest; however, I'm hoping that experts will read what I've written and decide that it's reasonable.&lt;/p&gt;&#xA;" OwnerUserId="1338" LastEditorUserId="1338" LastEditDate="2011-01-23T01:09:20.383" LastActivityDate="2011-08-06T17:11:40.507" Title="Should experts in TCS charge money to read proofs that P != NP?" Tags="&lt;soft-question&gt;" AnswerCount="6" CommentCount="1" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="4490" PostTypeId="2" ParentId="4489" CreationDate="2011-01-23T01:18:30.983" Score="24" Body="&lt;p&gt;One problem that I see with your suggestion is that most P vs NP not-proofs are not even false. In other words, they usually suffer from a failure of definition or specification that makes them impossible to either verify as true or show to be false. I'll refer you to my (shameless self-promotion alert!) &lt;a href=&quot;http://geomblog.blogspot.com/2004/04/meta-proof.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;caricature of the typical interaction between experts and the amateur P vs NP enthusiast&lt;/a&gt;: it's hard to see how introducing money into this discussion would improve it. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;p.s the above caricature is based on watching trainwrecks on comp.theory: &lt;a href=&quot;https://cstheory.stackexchange.com/users/2970/timothy-chow&quot;&gt;Timothy Chow&lt;/a&gt; might have more to say about this, since he often patiently attempts to engage such folk. &lt;/p&gt;&#xA;" OwnerUserId="80" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.743" LastActivityDate="2011-01-23T01:18:30.983" CommentCount="8" ContentLicense="CC BY-SA 2.5" />
  <row Id="4491" PostTypeId="1" CreationDate="2011-01-23T01:23:09.860" Score="73" ViewCount="14381" Body="&lt;p&gt;What are some algorithms of legitimate utility that are simply too complex to implement?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let me be clear: I'm not looking for algorithms like the current asymptotic optimal matrix multiplication algorithm (Coppersmith-Winograd), which is reasonable to implement but has a constant that makes it useless in practice. I'm looking for algorithms that could plausibly have practical value, but are so difficult to code that they have never been implemented, only implemented in extremely artificial settings, or only implemented for remarkably special-purpose applications.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also welcome are near-impossible-to-implement algorithms that have good asymptotics but would likely have poor real performance.&lt;/p&gt;&#xA;" OwnerUserId="3337" LastEditorUserId="2678" LastEditDate="2011-01-23T23:43:21.007" LastActivityDate="2018-07-24T17:51:35.967" Title="Powerful Algorithms too complex to implement" Tags="&lt;ds.algorithms&gt;&lt;ds.data-structures&gt;&lt;big-list&gt;&lt;implementation&gt;" AnswerCount="9" CommentCount="6" FavoriteCount="51" CommunityOwnedDate="2011-01-23T01:31:09.320" ContentLicense="CC BY-SA 2.5" />
  <row Id="4492" PostTypeId="2" ParentId="4487" CreationDate="2011-01-23T03:03:19.540" Score="10" Body="&lt;p&gt;I know more about purely-functional data structures than external-memory data structures, but I'll give this a go.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A B-tree can be written in a purely-functional way by path copying. The path will be short ($O(\log_B n)$), but copying each block takes $O(B)$ writes in $O(1)$ blocks.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you're willing to let the structure be just fully persistent, rather than purely functional, I think you can reduce the number of writes in a node copy to $O(\lg w)$ expected amortized, where $w$ is the word width, using &lt;a href=&quot;http://erikdemaine.org/papers/ConfluentTries_Algorithmica/&quot; rel=&quot;noreferrer&quot;&gt;the fully persistent arrays in &quot;Confluently Persistent Tries for Efficient Version Control&quot;&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You might want to watch &lt;a href=&quot;http://www.youtube.com/watch?v=uDHc3lkr3Ns&quot; rel=&quot;noreferrer&quot;&gt;this presentation about RethinkDB&lt;/a&gt;, which uses purely-functional data structures because of the cost of writes in SSDs.&lt;/p&gt;&#xA;" OwnerUserId="43" LastActivityDate="2011-01-23T03:03:19.540" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4493" PostTypeId="2" ParentId="4491" CreationDate="2011-01-23T03:05:48.600" Score="35" Body="&lt;p&gt;Chazelle gave a linear time algorithm for &lt;a href=&quot;http://www.cs.princeton.edu/~chazelle/pubs/polygon-triang.pdf&quot;&gt;triangulating a simple polygon&lt;/a&gt;. Skiena wrote (p.575, Algorithm Design Manual) that it's &quot;sufficiently hopeless to implement that it qualifies more as an existence proof&quot;&lt;/p&gt;&#xA;" OwnerUserId="434" LastEditorUserId="434" LastEditDate="2011-01-24T02:52:06.660" LastActivityDate="2011-01-24T02:52:06.660" CommentCount="6" CommunityOwnedDate="2011-01-23T03:05:48.600" ContentLicense="CC BY-SA 2.5" />
  <row Id="4494" PostTypeId="2" ParentId="4413" CreationDate="2011-01-23T04:27:36.127" Score="16" Body="&lt;p&gt;Ridiculous-seeming things can be (and often are) true. The fact that you find them ridiculous indicates that there is a mismatch between your intuition and reality. The fix for this is not to define a &quot;ridiculousness&quot; metric, but is instead to fix your intuition.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, one can define an &quot;efficiency of simulation&quot; metric - if the simulation technique causes a more-than-constant slowdown, then it's not as efficient, and that may be kind of like what you are looking for. Regrettably for your purposes, the Lego and Newtonian physics examples exhibit only a constant-factor slowdown. Reality simply is that strange, and computational systems really are that pervasive.&lt;/p&gt;&#xA;" OwnerUserId="730" LastActivityDate="2011-01-23T04:27:36.127" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4495" PostTypeId="2" ParentId="4491" CreationDate="2011-01-23T08:25:02.013" Score="30" Body="&lt;p&gt;The &lt;a href=&quot;http://en.wikipedia.org/wiki/Risch_algorithm&quot;&gt;Risch algorithm&lt;/a&gt; for computing elementary antiderivatives. According to Wikipedia, no software package is known to implement the full algorithm due to its complexity.&lt;/p&gt;&#xA;" OwnerUserId="319" LastActivityDate="2011-01-23T08:25:02.013" CommentCount="2" CommunityOwnedDate="2011-01-23T08:25:02.013" ContentLicense="CC BY-SA 2.5" />
  <row Id="4496" PostTypeId="2" ParentId="4491" CreationDate="2011-01-23T09:26:26.033" Score="23" Body="&lt;p&gt;Any algorithm that uses the Robertson-Seymour results to infer a &quot;polytime&quot; algorithm for things involving graphs that exclude a fixed minor is asking for trouble. The constant hidden in their result is &quot;galactic&quot;. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2011-01-23T09:26:26.033" CommentCount="10" CommunityOwnedDate="2011-01-23T09:26:26.033" ContentLicense="CC BY-SA 2.5" />
  <row Id="4497" PostTypeId="2" ParentId="4473" CreationDate="2011-01-23T10:14:40.000" Score="10" Body="&lt;p&gt;I'd like to add several other techniques. Although the first two techniques are &lt;strong&gt;not&lt;/strong&gt; exactly for reversing the order of universal and existential quantifiers, they have a very similar flavor. Therefore, I took the opportunity to describe them here:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;Averaging Lemma:&lt;/strong&gt; Used to prove &lt;span class=&quot;math-container&quot;&gt;$BPP \subset P/poly$&lt;/span&gt; and many other interesting theorems. &lt;em&gt;Informally&lt;/em&gt;, assume that &lt;span class=&quot;math-container&quot;&gt;$S$&lt;/span&gt; denotes the set of subscribers to some library, &lt;span class=&quot;math-container&quot;&gt;$B$&lt;/span&gt; denotes the set of books in the library, and for &lt;span class=&quot;math-container&quot;&gt;$s\in S$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$b \in B$&lt;/span&gt;, the proposition &lt;span class=&quot;math-container&quot;&gt;$\phi(s,b)$&lt;/span&gt; is true iff &amp;quot;subscriber &lt;span class=&quot;math-container&quot;&gt;$s$&lt;/span&gt; likes the book &lt;span class=&quot;math-container&quot;&gt;$b$&lt;/span&gt;.&amp;quot; The averaging lemma states that: if for every &lt;span class=&quot;math-container&quot;&gt;$s \in S$&lt;/span&gt;, there exists at least 2/3 of &lt;span class=&quot;math-container&quot;&gt;$b$&lt;/span&gt;'s in &lt;span class=&quot;math-container&quot;&gt;$B$&lt;/span&gt; such that &lt;span class=&quot;math-container&quot;&gt;$\phi(s,b)$&lt;/span&gt; holds, then there exists a single &lt;span class=&quot;math-container&quot;&gt;$b \in B$&lt;/span&gt;, such that for at least 2/3 of &lt;span class=&quot;math-container&quot;&gt;$s$&lt;/span&gt;'s in &lt;span class=&quot;math-container&quot;&gt;$S$&lt;/span&gt;, the proposition &lt;span class=&quot;math-container&quot;&gt;$\phi(s,b)$&lt;/span&gt; holds. (This can be easily proven via &lt;em&gt;reductio ad absurdum&lt;/em&gt; and a counting argument.)&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Now let &lt;span class=&quot;math-container&quot;&gt;$L \in BPP$&lt;/span&gt;, and let &lt;span class=&quot;math-container&quot;&gt;$M(\cdot)$&lt;/span&gt; be a PPT machine which decides &lt;span class=&quot;math-container&quot;&gt;$L$&lt;/span&gt;. Suppose that the running time of &lt;span class=&quot;math-container&quot;&gt;$M$&lt;/span&gt; is bounded by a polynomial &lt;span class=&quot;math-container&quot;&gt;$q(\cdot)$&lt;/span&gt;. Then, for any &lt;span class=&quot;math-container&quot;&gt;$x \in \{0,1\}^*$&lt;/span&gt;, and for at least 2/3 of &lt;span class=&quot;math-container&quot;&gt;$r$&lt;/span&gt;'s, &lt;span class=&quot;math-container&quot;&gt;$r \in \{0,1\}^{q(|x|)}$&lt;/span&gt;, it holds that &lt;span class=&quot;math-container&quot;&gt;$M_r(x) = \chi_L(x)$&lt;/span&gt;. Here, &lt;span class=&quot;math-container&quot;&gt;$M_r(\cdot)$&lt;/span&gt; is the machine &lt;span class=&quot;math-container&quot;&gt;$M$&lt;/span&gt; which uses randomness &lt;span class=&quot;math-container&quot;&gt;$r$&lt;/span&gt;, and &lt;span class=&quot;math-container&quot;&gt;$\chi_L(\cdot)$&lt;/span&gt; is the characteristic function of &lt;span class=&quot;math-container&quot;&gt;$L$&lt;/span&gt;. The averaging lemma is then used to show that for any &lt;span class=&quot;math-container&quot;&gt;$n \in \mathbb{N}$&lt;/span&gt;, there exists a single &lt;span class=&quot;math-container&quot;&gt;$r \in \{0,1\}^{q(n)}$&lt;/span&gt;, such that for at least 2/3 of &lt;span class=&quot;math-container&quot;&gt;$x$&lt;/span&gt;'s of length &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt;, &lt;span class=&quot;math-container&quot;&gt;$M_r(x) = \chi_L(x)$&lt;/span&gt;. This single &lt;span class=&quot;math-container&quot;&gt;$r$&lt;/span&gt; works as an advice to &lt;span class=&quot;math-container&quot;&gt;$M$&lt;/span&gt;, and therefore &lt;span class=&quot;math-container&quot;&gt;$BPP \subset P/poly$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;p&gt;&lt;code&gt;NOTE: I re-emphasize that this is not a quantifier switching technique, but it has the same spirit.&lt;/code&gt;&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;Swapping Lemma:&lt;/strong&gt; &lt;a href=&quot;http://www.springerlink.com/content/pk10854562152285/&quot; rel=&quot;noreferrer&quot;&gt;Zachos and Fürer&lt;/a&gt; introduced a new &lt;em&gt;probabilistic&lt;/em&gt; quantifier &lt;span class=&quot;math-container&quot;&gt;$\exists^+$&lt;/span&gt; (which roughly means &amp;quot;for most&amp;quot;). They proved that (omitting details):&lt;/p&gt;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$(\forall y)(\exists^+z) \phi(x,y,z) \Rightarrow (\exists^+ \mathbf{C})(\forall y)(\exists z \in \mathbf{C})\phi(x,y,z)$&lt;/span&gt;&lt;/p&gt;&#xA;&lt;p&gt;Note that this is a second-order logic theorem.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Using the swapping lemma, they proved a number of interesting theorems, such as the BPP-theorem and Babai's &lt;span class=&quot;math-container&quot;&gt;$MA \subseteq AM$&lt;/span&gt; theorem. I refer you to the original paper for more information.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;A theorem similar to Karp-Lipton theorem mentioned in &lt;a href=&quot;https://cstheory.stackexchange.com/questions/4473/techniques-for-reversing-the-order-of-quantiers/4484#4484&quot;&gt;Ryan Williams&lt;/a&gt; post: &lt;span class=&quot;math-container&quot;&gt;$coNP \subset NP/Poly \Longrightarrow \Pi_3 P = \Sigma_3 P$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="873" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2011-01-23T10:14:40.000" CommentCount="6" ContentLicense="CC BY-SA 2.5" />
  <row Id="4499" PostTypeId="1" CreationDate="2011-01-23T15:04:06.797" Score="3" ViewCount="246" Body="&lt;p&gt;While reading Wikipedia, I ran across a proof given on &lt;a href=&quot;http://en.wikipedia.org/wiki/Unbounded_nondeterminism&quot; rel=&quot;nofollow noreferrer&quot;&gt;Unbounded Nondeterminism&lt;/a&gt; that I do not understand.&lt;/p&gt;&#xA;&lt;p&gt;&#xA;The proof is given as,&lt;blockquote&gt;&#xA;An example of the role of fair or unbounded nondeterminism in the merging of strings was given by William D. Clinger, in his 1981 thesis. He defined a &quot;fair merge&quot; of two strings to be a third string in which each character of each string must occur eventually. He then considered the set of all fair merges of two strings merge(S, T), assuming it to be a monotone function. Then he argued that merge(⊥,1&lt;sup&gt;ω&lt;/sup&gt;)⊆ merge(0,1&lt;sup&gt;ω&lt;/sup&gt;), where ⊥ is the empty stream. Now merge(⊥,1&lt;sup&gt;ω&lt;/sup&gt;) = 1&lt;sup&gt;ω&lt;/sup&gt;, so it must be that 1&lt;sup&gt;ω&lt;/sup&gt; is an element of merge(0,1&lt;sup&gt;ω&lt;/sup&gt;), a contradiction. &#xA;&lt;/blockquote&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;&#xA;My misunderstanding is, &quot;merge(⊥,1&lt;sup&gt;ω&lt;/sup&gt;) = 1&lt;sup&gt;ω&lt;/sup&gt;.&quot; Previously it said that &quot;merge(S, T)&quot; is &quot;the set of all fair merges of two strings&quot;. &#xA;&lt;/p&gt;&#xA;&lt;p&gt;&#xA;Why is &quot;merge(⊥,1&lt;sup&gt;ω&lt;/sup&gt;) = 1&lt;sup&gt;ω&lt;/sup&gt;,&quot; instead of merge(⊥,1&lt;sup&gt;ω&lt;/sup&gt;) = {1&lt;sup&gt;ω&lt;/sup&gt;}. If so, isn't {1&lt;sup&gt;ω&lt;/sup&gt;} ⊆  merge(0,1&lt;sup&gt;ω&lt;/sup&gt;)? What am I missing?&#xA;&lt;/p&gt;&#xA;" OwnerUserId="794" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2011-05-29T09:58:12.527" Title="No Fair Merge via Nondeterminstic Data Flow Streams" Tags="&lt;dc.parallel-comp&gt;&lt;proofs&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4501" PostTypeId="2" ParentId="4499" CreationDate="2011-01-23T18:18:49.653" Score="4" Body="&lt;p&gt;When in doubt, consult the original source: &lt;a href=&quot;http://dspace.mit.edu/handle/1721.1/6935&quot; rel=&quot;nofollow&quot;&gt;Clinger's Thesis&lt;/a&gt;. Clinger shows that fair merge cannot be written in a nondeterministic dataflow program. He does this by considering the semantic domains in which such a function would be defined, ultimately deriving a contradiction to the assumption that fair merge exists.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Firstly, as Daniel Apon points out, $merge(\bot,1^\omega)=\{1^\omega\}$. This is the only reasonable definition of merge for these arguments (see page 84 of Clinger's thesis). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Secondly, $merge(\bot,1^\omega)\subseteq merge(0,1^\omega)$, because  $\bot\le 0$, as stream $0$ is a possible extension of stream $\bot$ (bottom of page 73),  and by assumption $merge$ is monotone. In more detail, the ordering on the domain of strings states that any prefix of a string, is $\le$ the string, thus the empty string $\bot$ is the smallest element, and hence $\bot\le 0$, where $0$ is the string with just the element $0$. The function $merge$ has type $S\times S\to\mathcal{P}(S)$, where $S$ is string and $\mathcal{P}(-)$ is powerset.  The assumption that $merge$ is monotone means that if $a\le b$ then $merge(a,s)\subseteq merge(b,s)$. (Similarly for the second argument.) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now $1^\omega\in merge(0,1^\omega)$ violates the assumption that $merge$ is fair – a fair merge of $0$ and $1^\omega$ should to contain the $0$. In more detail, $merge(S,T)$ is interleaving the &quot;cards&quot; from $S$ and $T$, without shuffling them. The significance of the stream $1^\omega$ is that it is infinite. $0$ is simply some character different from $1$. A fair merge of $0$ and $1^\omega$ should result in a string such as $1^*01^\omega$. Fairness means that within some finite time it selects elements from each string, thus the character $0$ is eventually chosen.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hence $merge$ cannot be written as a nondeterministic dataflow program. &lt;/p&gt;&#xA;" OwnerUserId="77" LastEditorUserId="77" LastEditDate="2011-01-24T00:11:44.143" LastActivityDate="2011-01-24T00:11:44.143" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="4503" PostTypeId="2" ParentId="4491" CreationDate="2011-01-23T20:47:06.660" Score="16" Body="&lt;p&gt;Dan Willard's &lt;a href=&quot;http://scholar.google.com/scholar?cluster=9370873690129514324&quot;&gt;&quot;A density control algorithm for doing insertions and deletions in a sequentially ordered file in a good worst-case time&quot;&lt;/a&gt; describes an algorithm for maintaining an ordered set in an array of size $O(n)$ with insertion and deletion in $O(\frac{\log^2 n}{B})$ worst-case time, where $B$ is the page size.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The paper is 55 pages long, and its conclusion notes several improvements to the constants that the author does not describe for reasons of space. This makes me suspect that perhaps the constants aren't so galactic, and that this data structure would be of &quot;legitimate utility&quot;, especially since it has been cited many times.&lt;/p&gt;&#xA;" OwnerUserId="43" LastEditorUserId="43" LastEditDate="2011-01-23T21:10:56.100" LastActivityDate="2011-01-23T21:10:56.100" CommentCount="0" CommunityOwnedDate="2011-01-23T20:47:06.660" ContentLicense="CC BY-SA 2.5" />
  <row Id="4504" PostTypeId="2" ParentId="4491" CreationDate="2011-01-23T22:16:34.723" Score="11" Body="&lt;p&gt;Linear-time algorithm to check if a graph can be embedded in a fixed surface.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Ken-ichi Kawarabayashi, Bojan Mohar, Bruce A. Reed: A Simpler Linear Time Algorithm for Embedding Graphs into an Arbitrary Surface and the Genus of Graphs of Bounded Tree-Width. FOCS 2008: 771-780.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Bojan Mohar: A Linear Time Algorithm for Embedding Graphs in an Arbitrary Surface. SIAM J. Discrete Math. 12(1): 6-26 (1999)&lt;/p&gt;&#xA;" OwnerUserId="1839" LastActivityDate="2011-01-23T22:16:34.723" CommentCount="1" CommunityOwnedDate="2011-01-23T22:16:34.723" ContentLicense="CC BY-SA 2.5" />
  <row Id="4505" PostTypeId="2" ParentId="4491" CreationDate="2011-01-23T22:18:56.213" Score="3" Body="&lt;p&gt;Tree decomposition&lt;strike&gt;, and perhaps Fibonacci heaps&lt;/strike&gt;.&lt;/p&gt;&#xA;" OwnerUserId="730" LastEditorUserId="730" LastEditDate="2011-01-24T02:40:07.867" LastActivityDate="2011-01-24T02:40:07.867" CommentCount="8" CommunityOwnedDate="2011-01-23T22:18:56.213" ContentLicense="CC BY-SA 2.5" />
  <row Id="4506" PostTypeId="1" AcceptedAnswerId="4520" CreationDate="2011-01-23T23:13:07.263" Score="2" ViewCount="328" Body="&lt;p&gt;Consider a data structure that holds N elements having M partitions each holding N/M elements where M divides N. Each element has a key that satisfies an equivalence relation so as to index into one of the partitions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assuming this data structure is implemented within an array insertions are performed by computing the beginning partition location corresponding to the key for the element in question and a linear search is performed until a sentinel empty-value is found (or the end of the partition). Searches are performed analogously.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is the name of the data structure described above? Does it have any advantage over a hash-table?&lt;/p&gt;&#xA;" OwnerUserId="3392" LastEditorUserId="1800" LastEditDate="2011-01-24T04:07:20.990" LastActivityDate="2011-01-24T16:23:14.927" Title="What is the name of this partition-indexed key-value data structure?" Tags="&lt;ds.data-structures&gt;&lt;terminology&gt;" AnswerCount="3" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="4507" PostTypeId="2" ParentId="4489" CreationDate="2011-01-24T00:02:17.620" Score="2" Body="&lt;p&gt;I remember going to a language conference around 1985 where the following exchange took place:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Speaker: The leaves of the tree are instances of a NP-complete problem, but are easy to solve by hand.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Me: If the instances are easy to solve, perhaps the problem is not NP-complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Speaker: I don't understand.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;$300 seems like too little to charge. It pays for only an hour or 2 of time. Any proof that short has already been ruled out.&lt;/p&gt;&#xA;" OwnerUserId="2363" LastActivityDate="2011-01-24T00:02:17.620" CommentCount="6" ContentLicense="CC BY-SA 2.5" />
  <row Id="4508" PostTypeId="2" ParentId="4489" CreationDate="2011-01-24T00:36:21.910" Score="31" Body="&lt;p&gt;For a few months at the end of my senior year of college and the beginning of my first year of graduate school I made $60/hour correcting an amateur's incorrect proofs of Fermat's Last Theorem.  In this case the person was an academic in another field, so he had a reasonable understanding of the value of expert time.  It was good experience all around, I made a thousand dollars at a time where I didn't have any other good sources of income, and he learned the errors he made in several drafts.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think for people who are making a genuine effort and who are willing to pay good money, it shouldn't be hard to find qualified undergraduates or young graduate students who need some money.&lt;/p&gt;&#xA;" OwnerUserId="3394" LastEditorUserId="3394" LastEditDate="2011-07-25T18:21:02.493" LastActivityDate="2011-07-25T18:21:02.493" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="4510" PostTypeId="2" ParentId="4420" CreationDate="2011-01-24T03:49:07.223" Score="6" Body="&lt;p&gt;The &lt;a href=&quot;http://en.wikipedia.org/wiki/Resource_bounded_measure&quot; rel=&quot;noreferrer&quot;&gt;resource bounded measure theory&lt;/a&gt; developed by Jack Lutz is a great area for people who have background in analysis to work on. The original paper&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;a href=&quot;http://www.cs.iastate.edu/~lutz/=PAPERS/aehnc.ps&quot; rel=&quot;noreferrer&quot;&gt;Almost everywhere high nonuniform complexity&lt;/a&gt;, &#xA;  Jack H. Lutz, Journal of Computer and System Sciences, 1992.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;generalize the notion of Lebesgue measure into complexity classes, and many following works can be found on the internet. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Intuitively, consider the $\mathsf{P}$ vs $\mathsf{NP}$ problem. If we can define (yes we can) a measure on complexity classes with respect to a large class, say $\mathsf{ESPACE} = \mathsf{DSPACE}[2^{O(n)}]$, and prove that the measure of $\mathsf{P}$ is smaller than the measure of $\mathsf{NP}$, then $\mathsf{P} \neq \mathsf{NP}$. Moreover, we can prove statement like &quot;almost all functions in $\mathsf{ESPACE}$ need $\Omega(2^n/n)$ gates&quot;, which extends Shannon bound to a restricted class $\mathsf{ESPACE}$.&lt;/p&gt;&#xA;" OwnerUserId="1800" LastEditorUserId="1800" LastEditDate="2011-01-24T07:56:32.623" LastActivityDate="2011-01-24T07:56:32.623" CommentCount="6" ContentLicense="CC BY-SA 2.5" />
  <row Id="4512" PostTypeId="1" AcceptedAnswerId="4530" CreationDate="2011-01-24T07:29:18.997" Score="9" ViewCount="1060" Body="&lt;p&gt;I am referring to the question here: &lt;a href=&quot;https://cstheory.stackexchange.com/questions/4491/powerful-algorithms-too-complex-to-implement&quot;&gt;powerful algorithms too complex to implement&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If an algorithm is powerful, but too complex to implement, how can you be sure that the algorithm is correct? Without implementation you won't be able to test the algorithm in a real world scenario, and such a complex algorithm can contain bugs, which may invalidate the algorithm. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is what I do not understand; if you have the techniques to prove the correctness of an algorithm, then you would have the algorithm to implement it already, isn't it? Or else how can we be sure that the proving technique is correct?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm sorry if I sound elementary!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Update from Kaveh ( reproduced here because the argument is better!):&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;If you can formally prove the&#xA;  correctness of an algorithm in a&#xA;  formal system like Coq then you can&#xA;  also extract the algorithm (because&#xA;  essentially you have implemented the&#xA;  algorithm), but the key fact is that&#xA;  for most algorithms we don't give&#xA;  formal proofs of correctness for the&#xA;  algorithm, we use informal proofs of&#xA;  correctness. The proofs can be false,&#xA;  which does happen from time to time,&#xA;  and even a formal proof of correctness&#xA;  will not make us absolutely sure that&#xA;  the algorithm is correct.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="440" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2016-12-29T10:33:00.163" Title="Powerful algorithms that are just too hard to implement-- how to be sure they are right?" Tags="&lt;ds.algorithms&gt;&lt;implementation&gt;" AnswerCount="1" CommentCount="16" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="4513" PostTypeId="2" ParentId="4491" CreationDate="2011-01-24T08:57:09.157" Score="8" Body="&lt;p&gt;I'm not sure how useful it could be in practice (although I'm thinking about protein folding and comparison, as well as RNA secondary structure prediction), but Wolfgang Haken gave the first &lt;strike&gt;polynomial-time&lt;/strike&gt; algorithm for deciding whether a knot is a simple loop (&lt;em&gt;Theorie der Normalflächen.&lt;/em&gt; Acta Math. 105, 1961, pp. 245--375). As I recall, it is still too complicated to be implemented all those decades later.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If Wikipedia is to be believed, several other algorithms were later given, and &quot;Understanding the complexity of these algorithms is an active field of study.&quot;.&lt;/p&gt;&#xA;" OwnerUserId="775" LastEditorUserId="775" LastEditDate="2011-01-27T15:54:16.113" LastActivityDate="2011-01-27T15:54:16.113" CommentCount="1" CommunityOwnedDate="2011-01-24T08:57:09.157" ContentLicense="CC BY-SA 2.5" />
  <row Id="4514" PostTypeId="2" ParentId="2257" CreationDate="2011-01-24T09:39:30.653" Score="2" Body="&lt;p&gt;I have used the Java version of Flare called &lt;a href=&quot;http://prefuse.org/&quot; rel=&quot;nofollow&quot;&gt;Prefuse&lt;/a&gt; and I have been quite happy with it.&#xA;The &quot;Physics-based force-directed graph layout algorithm&quot; is quite fine.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In my research I did not find any useful tools of the published large graph visualizations (http://blog.vrist.dk/2010/04/15/reading-up-on-dynamic-graph-layout/)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have a couple of videos of the toolkit in action here: &lt;a href=&quot;http://blobvis.appspot.com/screenshots&quot; rel=&quot;nofollow&quot;&gt;http://blobvis.appspot.com/screenshots&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="855" LastActivityDate="2011-01-24T09:39:30.653" CommentCount="0" CommunityOwnedDate="2011-03-20T08:54:52.793" ContentLicense="CC BY-SA 2.5" />
  <row Id="4515" PostTypeId="2" ParentId="4506" CreationDate="2011-01-24T11:40:16.400" Score="1" Body="&lt;p&gt;Your description reminds me a kind of cache I have studied some time ago. Instead of storing only one entry for each hash value, you can store a small quantity of entries. This reduce the number of misses when you have addresses with the same hash value in the same program, and you can check if an address is in a (small) partition in small time, implementing it by hardware.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Comparing with hash table with collision resolution by chaining, I can think a simple advantage: the chains can't get long, since the partitions size is at most N/M, bounding the search time. On the other hand, if one of your partitions get full, you get stuck, even if you have lots of free space in other partitions.&lt;/p&gt;&#xA;" OwnerUserId="282" LastActivityDate="2011-01-24T11:40:16.400" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="4516" PostTypeId="2" ParentId="4473" CreationDate="2011-01-24T12:25:09.310" Score="12" Body="&lt;p&gt;The basic use of union bound in the probabilistic method can be interpreted as a way to reverse the order of quantifiers.  Although this is already mentioned in the question implicitly because the proof by Impagliazzo and Rudich is an example of this, I think that it is worth stating more explicitly.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose that &lt;i&gt;X&lt;/i&gt; is finite and that for every &lt;i&gt;x&lt;/i&gt;∈&lt;i&gt;X&lt;/i&gt;, we know not only that some &lt;i&gt;y&lt;/i&gt;∈&lt;i&gt;Y&lt;/i&gt; satisfies &lt;i&gt;φ&lt;/i&gt;(&lt;i&gt;x&lt;/i&gt;,&lt;i&gt;y&lt;/i&gt;) but also that many choices of &lt;i&gt;y&lt;/i&gt;∈&lt;i&gt;Y&lt;/i&gt; satisfy &lt;i&gt;φ&lt;/i&gt;(&lt;i&gt;x&lt;/i&gt;,&lt;i&gt;y&lt;/i&gt;).  Formally, suppose that we know (∀&lt;i&gt;x&lt;/i&gt;∈&lt;i&gt;X&lt;/i&gt;) Pr&lt;sub&gt;&lt;i&gt;y&lt;/i&gt;∈&lt;i&gt;Y&lt;/i&gt;&lt;/sub&gt; [￢&lt;i&gt;φ&lt;/i&gt;(&lt;i&gt;x&lt;/i&gt;,&lt;i&gt;y&lt;/i&gt;)] &amp;lt; 1/|&lt;i&gt;X&lt;/i&gt;| for some probabilistic measure on &lt;i&gt;Y&lt;/i&gt;.  Then union bound allows us to conclude Pr&lt;sub&gt;&lt;i&gt;y&lt;/i&gt;∈&lt;i&gt;Y&lt;/i&gt;&lt;/sub&gt; [(∃&lt;i&gt;x&lt;/i&gt;∈&lt;i&gt;X&lt;/i&gt;) ￢&lt;i&gt;φ&lt;/i&gt;(&lt;i&gt;x&lt;/i&gt;,&lt;i&gt;y&lt;/i&gt;)] &amp;lt; 1, which is equivalent to (∃&lt;i&gt;y&lt;/i&gt;∈&lt;i&gt;Y&lt;/i&gt;) (∀&lt;i&gt;x&lt;/i&gt;∈&lt;i&gt;X&lt;/i&gt;) &lt;i&gt;φ&lt;/i&gt;(&lt;i&gt;x&lt;/i&gt;,&lt;i&gt;y&lt;/i&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are variations of this argument:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;If &lt;i&gt;X&lt;/i&gt; is infinite, we can sometimes discretize &lt;i&gt;X&lt;/i&gt; by considering a suitable metric on &lt;i&gt;X&lt;/i&gt; and an &lt;i&gt;ε&lt;/i&gt;-net of it.  After discretizing &lt;i&gt;X&lt;/i&gt;, we can use union bound as above.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;When the events &lt;i&gt;φ&lt;/i&gt;(&lt;i&gt;x&lt;/i&gt;,&lt;i&gt;y&lt;/i&gt;) for different values of &lt;i&gt;x&lt;/i&gt; are almost independent, we can use the &lt;a href=&quot;http://en.wikipedia.org/wiki/Lov%C3%A1sz_local_lemma&quot;&gt;Lovász local lemma&lt;/a&gt; instead of union bound.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="567" LastActivityDate="2011-01-24T12:25:09.310" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4517" PostTypeId="2" ParentId="2257" CreationDate="2011-01-24T12:30:34.610" Score="1" Body="&lt;p&gt;I started to use gephi which seems to be pretty nice. &lt;/p&gt;&#xA;" OwnerUserId="1799" LastActivityDate="2011-01-24T12:30:34.610" CommentCount="0" CommunityOwnedDate="2011-03-20T08:54:52.793" ContentLicense="CC BY-SA 2.5" />
  <row Id="4518" PostTypeId="2" ParentId="4454" CreationDate="2011-01-24T12:50:53.587" Score="3" Body="&lt;p&gt;You might be able to derive better bounds from the general LP algorithm in the paper &quot;Linear Programming in $O([n^3/\ln n]L)$ Operations&quot; (&lt;a href=&quot;http://dx.doi.org/10.1137/S1052623497323194&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;).&lt;/p&gt;&#xA;" OwnerUserId="251" LastActivityDate="2011-01-24T12:50:53.587" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4519" PostTypeId="1" AcceptedAnswerId="4797" CreationDate="2011-01-24T13:21:02.673" Score="12" ViewCount="481" Body="&lt;p&gt;CMSOL is Counting Monadic Second Order Logic, i.e. a logic of graphs where the domain is the set of vertices and edges, there are predicates for vertex-vertex adjacency and edge-vertex incidence, there is quantification over edges, vertices, edge sets and vertex sets, and there is a predicate $\textrm{Card}_{n,p}(S)$ which expresses whether the size of $S$ is $n$ modulo $p$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://portal.acm.org/citation.cfm?id=81255&quot;&gt;Courcelle's famous theorem&lt;/a&gt; states that if $\Pi$ is a property of graphs expressible in CMSOL, then for every graph $G$ of treewidth at most $k$ it can be decided in linear time whether $\Pi$ holds, provided that a tree decomposition of $G$ is given in the input. &#xA;Later versions of the theorem dropped the requirement that a tree decomposition is given in the input (because one can be computed with &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=243727&quot;&gt;Bodlaender's algorithm&lt;/a&gt;), and also allowed optimization instead of merely decision; i.e. given a MSOL formula $\phi(S)$ we can also compute the largest or smallest set $S$ which satisfies $\phi(S)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question concerns the adaptation of Courcelle's theorem to graphs of bounded cliquewidth. There is a similar theorem saying that if you have a MSOL1 which allows quantification over vertices, edges, vertex sets but &lt;strong&gt;not edge sets&lt;/strong&gt; then given a graph $G$ of cliquewidth $k$ (with given clique-expression), for every fixed $k$ it can be decided in linear time whether graph $G$ satisfies some MSOL1 formula $\phi$; all references I have seen point to &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;a href=&quot;http://perso.ens-lyon.fr/eric.thierry/Graphes2007/cmr00.pdf&quot;&gt;Linear Time Solvable Optimization Problems on Graphs of Bounded Clique-Width&lt;/a&gt; by Courcelle, Makowsky and Rotics, Theory of Computing Systems, 2000.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I have tried to read the paper, but it is not self-contained with respect to the exact definition of MSOL1 and it is frankly hard to read. I have two questions with respect to what exactly is possible to optimize in FPT, parameterized by the cliquewidth of the graph, if a clique expression is given in the input.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Does MSOL1 allow the $\textrm{Card}_{n,p}(S)$ predicate for testing the size of a set modulo some number?&lt;/li&gt;&#xA;&lt;li&gt;Is it possible to find a minimum / maximum size set $S$ which satisfies a MSOL1 formula $\phi(S)$ in FPT parameterized by cliquewidth, when the expression is given?&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;For both these questions I would also like to know what the correct references are to cite when claiming these results. Thanks in advance!&lt;/p&gt;&#xA;" OwnerUserId="122" LastEditorUserId="186" LastEditDate="2011-02-06T13:57:59.517" LastActivityDate="2011-02-08T13:20:39.957" Title="MSOL optimization problems on graphs of bounded cliquewidth, with cardinality predicates" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;graph-algorithms&gt;&lt;descriptive-complexity&gt;&lt;cliquewidth&gt;" AnswerCount="2" CommentCount="4" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="4520" PostTypeId="2" ParentId="4506" CreationDate="2011-01-24T13:42:24.610" Score="1" Body="&lt;p&gt;If you implement your data structure using an array, you can &quot;view&quot; it as a bidimensional array (M rows, N/M columns) where the row index is what you call &quot;key for the element&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;After you find the row you can put your element in a free cell of the row. When the row is full, you can either:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;stop (the element cannot be inserted)&lt;/li&gt;&#xA;&lt;li&gt;delete the &quot;oldest&quot; element of the row (if this is not a problem for you :-)))&lt;/li&gt;&#xA;&lt;li&gt;proceed and scan the next rows (assuming that you store the whole key + value in each cell) until you find an empty cell (or the array is full)&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;The algorithm is fastest than hash table with chaining but options 1. and 2. have obvious limitations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you use option 3. you can use all the N elements (cells) of the array, but the performance of the algorithm can degrade to linear search very quickly.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I really don't know if this algorithm has a particular name, but you can consider it as a &lt;strong&gt;STATIC HASHING&lt;/strong&gt; TECNIQUE. Perhaps it is suitable for quick hash-table implementations in limited environments (firmware, drivers, ....).&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2011-01-24T14:25:24.900" LastActivityDate="2011-01-24T14:25:24.900" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4521" PostTypeId="2" ParentId="4491" CreationDate="2011-01-24T13:46:32.450" Score="13" Body="&lt;p&gt;The linear time higher-order pattern unification algorithm by Qian has never been implemented due to its complexity AFAIK.&lt;/p&gt;&#xA;" OwnerUserId="375" LastActivityDate="2011-01-24T13:46:32.450" CommentCount="1" CommunityOwnedDate="2011-01-24T13:46:32.450" ContentLicense="CC BY-SA 2.5" />
  <row Id="4522" PostTypeId="1" AcceptedAnswerId="4523" CreationDate="2011-01-24T16:09:19.467" Score="2" ViewCount="682" Body="&lt;p&gt;are there systems whose nontrivial properties can't be decided by Turing machines, but for which a Turing machine with an oracle able to find out these properties isn't able to solve the Halting problem (for ordinary TMs)?&lt;/p&gt;&#xA;" OwnerUserId="3413" LastEditorUserId="186" LastEditDate="2011-01-24T17:20:31.400" LastActivityDate="2011-01-24T17:20:31.400" Title="Undecidable problems not Turing-complete?" Tags="&lt;computability&gt;&lt;turing-machines&gt;&lt;halting-problem&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="4523" PostTypeId="2" ParentId="4522" CreationDate="2011-01-24T16:19:10.847" Score="6" Body="&lt;p&gt;Yes, there are intermediate degrees.  One way to see this is that there are computably enumerable sets that are Turing incomparable.  See &lt;a href=&quot;https://secure.wikimedia.org/wikipedia/en/wiki/Turing_degree&quot;&gt;https://secure.wikimedia.org/wikipedia/en/wiki/Turing_degree&lt;/a&gt; for some basic information.&lt;/p&gt;&#xA;" OwnerUserId="1654" LastActivityDate="2011-01-24T16:19:10.847" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4524" PostTypeId="2" ParentId="4506" CreationDate="2011-01-24T16:23:14.927" Score="3" Body="&lt;p&gt;Sounds like a hash table to me, with collision resolution by chaining.&lt;/p&gt;&#xA;" OwnerUserId="2678" LastActivityDate="2011-01-24T16:23:14.927" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4526" PostTypeId="2" ParentId="4343" CreationDate="2011-01-24T18:16:16.380" Score="3" Body="&lt;p&gt;The 2-OPT heuristic for finding TSP tours is fairly close to what you're asking about. It's a local improvement algorithm which looks for sections of a TSP tour which, when reversed, will yield a shorter tour. The 3-OPT and the Lin-Kernighan heuristics work along the same lines, but use more complicated moves. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Looking for the optimal rearrangement of some subpath of a TSP tour is going to be inefficient unless it only involves a short section of this tour, and then I imagine it will be inferior to more global rearrangement algorithms such as 2-OPT (which can reverse a large subpath of a tour).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As far as I know, the concept that you're asking about has no name.&lt;/p&gt;&#xA;" OwnerUserId="1677" LastActivityDate="2011-01-24T18:16:16.380" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4527" PostTypeId="2" ParentId="182" CreationDate="2011-01-24T20:11:36.997" Score="3" Body="&lt;p&gt;The paper Dániel Marx: &lt;a href=&quot;http://dx.doi.org/10.1007/11561071_41&quot; rel=&quot;nofollow&quot;&gt;Efficient Approximation Schemes for Geometric Problems&lt;/a&gt;?. ESA 2005: 448-459 is quite relevant.&lt;/p&gt;&#xA;" OwnerUserId="1839" LastEditorUserId="186" LastEditDate="2011-01-26T01:13:26.590" LastActivityDate="2011-01-26T01:13:26.590" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4529" PostTypeId="2" ParentId="4420" CreationDate="2011-01-24T22:18:13.940" Score="4" Body="&lt;p&gt;I believe the best connection between mathematical analysis and complexity theory&#xA;is in the Blum et al's real computation model. &#xA;It is still an open problem to separate NP_R from P_R,&#xA;where the two classes are defined in the real computation model, in which every &#xA;real number is an entity, and one regular operation (+,-,*,/) takes one step.&lt;/p&gt;&#xA;" OwnerUserId="3423" LastActivityDate="2011-01-24T22:18:13.940" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4530" PostTypeId="2" ParentId="4512" CreationDate="2011-01-24T23:59:02.097" Score="11" Body="&lt;p&gt;Several years ago, there has been a (rather harsh) debate on a topic similar to this. It all started when several complex proofs turned out to be incorrect, and some researchers started to raise doubts on the very nature of proofs (well, I should have said &quot;provable cryptography,&quot; but for the sake of generality, I didn't). Both sides of the controversy accused the other to misunderstand the concepts. Here's &lt;a href=&quot;http://web.archive.org/web/20130120133248/http://www.sigcrap.org/2007/09/14/the-koblitz-controversy/&quot; rel=&quot;nofollow noreferrer&quot;&gt;a link for more info&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Proofs are our (mathematical) tools to prove theorems/algorithms are correct, but when they became too complex, we may slip and prove wrong things to be right. The &lt;a href=&quot;http://tinyurl.com/2fvetuy&quot; rel=&quot;nofollow noreferrer&quot;&gt;recent 100-or-so-page proof on P≠NP&lt;/a&gt; is an excellent example. However, this does not rule out the very nature of proofs: Nothing's wrong with them.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One last point: I think studying the &lt;a href=&quot;http://en.wikipedia.org/wiki/Philosophy_of_science#Philosophy_of_mathematics&quot; rel=&quot;nofollow noreferrer&quot;&gt;philosophy of science&lt;/a&gt; will give us more insight on this. (Under the given link, see the bullet &quot;&lt;strong&gt;How do we know whether a mathematical proof is correct?&lt;/strong&gt;&quot;)&lt;/p&gt;&#xA;" OwnerUserId="873" LastEditorUserId="4795" LastEditDate="2016-12-29T10:33:00.163" LastActivityDate="2016-12-29T10:33:00.163" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="4531" PostTypeId="2" ParentId="4425" CreationDate="2011-01-25T02:33:08.023" Score="1" Body="&lt;p&gt;The way I understand it, you would need to store only one number per arc, representing the instant at which flow begins to be sent through the arc. That is assuming that after that, the arc is rendered unusable. If, otherwise, the arc can be used again after it stops being used, it should have solutions arbitrarily close to solutions to maximum flow over time (since the flow could stop being sent for an arbitrarily small amount of time and then start being pumped again).&lt;/p&gt;&#xA;" OwnerUserId="3428" LastActivityDate="2011-01-25T02:33:08.023" CommentCount="8" ContentLicense="CC BY-SA 2.5" />
  <row Id="4532" PostTypeId="2" ParentId="4458" CreationDate="2011-01-25T02:35:18.333" Score="16" Body="&lt;p&gt;A more recent citation for time hierarchy theorems is &quot;A Generic Time Hierarchy for Semantic Models With One Bit of Advice&quot; by Dieter van Melkebeek and Konstantin Pervyshev that you can get from Dieter's webpage.  The techniques there give a time hierarchy with 1 bit of advice for &quot;any reasonable&quot; semantic model of computing, including quantum algorithms.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, it is normally relatively easy to obtain a hierarchy for the promise problems computed by semantic models.  A promise problem only requires an algorithm to &quot;behave nicely&quot; (e.g., have bounded error) on some inputs -- those that are chosen to be part of the promise problem.  For inputs not chosen to be part of the promise, the algorithm can behave arbitrarily (e.g., not have bounded error).  A hierarchy for promise problems is a folklore result; a proof for the BPP setting is given in &quot;Space Hierarchy Results for Randomized and Other Semantic Models&quot; by Dieter van Melkebeek and Jeff Kinne (myself) that you can get from Dieter's or my webpage.  This should apply to quantum algorithms also.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So the answer is, decent hierarchy theorems are known for quantum algorithms that either get 1 bit of advice or are allowed to ignore problematic inputs.  Some of the techniques for these results rely on the properties of randomized algorithms.  It would be interesting to try and exploit the properties of quantum algorithms in the area of hierarchy theorems.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A somewhat related area where there are results specific to quantum algorithms is the area of time-space lower bounds.  There is a survey by Dieter van Melkebeek: &quot;A Survey of Lower Bounds for Satisfiability and Related Problems&quot;.  &lt;/p&gt;&#xA;" OwnerUserId="3427" LastActivityDate="2011-01-25T02:35:18.333" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4534" PostTypeId="1" AcceptedAnswerId="4548" CreationDate="2011-01-25T04:59:01.747" Score="17" ViewCount="3175" Body="&lt;p&gt;I have been trying to read “&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0521513383&quot; rel=&quot;nofollow noreferrer&quot;&gt;Pearls of Functional Algorithm design&lt;/a&gt;”, and subsequently “&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/013507245X&quot; rel=&quot;nofollow noreferrer&quot;&gt;The Algebra of Programming&lt;/a&gt;”, and there is an obvious correspondence between recursively (and polynomially) defined data types and combinatorial objects, having the same recursive definition and subsequently leading to the same formal power series (or generating functions), as shown in the introductions to combinatorial species (I read “&lt;a href=&quot;http://ozark.hendrix.edu/~yorgey/pub/species-pearl.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Species and Functors and Types, Oh My!&lt;/a&gt;”).&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;So, for the first question, is there a way to recover the generating (recursive) equation from the power series? That’s an afterthought though.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I was more interested in the notion of initial algebras and final co-algebras as kind of “defining procedures about the data structure”. There are some practical rules in functional programming, concerning composition, products of mapping between algebras and similar, described for example &lt;a href=&quot;http://www.comlab.ox.ac.uk/ralf.hinze/publications/IFL10.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;in this tutorial&lt;/a&gt;. It seems to me that this could be quite powerful way to approach complexity and for example, it looks fairly straightforward to recover Master’s theorem in such context (I mean, you have to do the same argument, so not much gain in this instance), and the unique catamorphism from the initial algebra and the fact (am I mistaken?) that the algebras between A and FA for F-polynomial functor are isomorphic, makes it look to me that such approach could have a lot of benefits in analysing complexity of operations over data structures.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;From practical standpoint, looks like fusion rules (basically, ways to compose algebra morphisms with one another, coalgebra morphisms, and general morphisms) are very powerful optimization technique for program transformation and refactoring. Am I right in thinking that full utilization of these rules can produce optimal program (no unnecessary intermediate data structures or other extra operations). &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Am I onto something (and what) here? Is it beneficiary (from learning standpoint) to try to look about computational complexity in this way? Are the structures, for which we can have &quot;nice&quot; initial algebras somehow too limited for some problems? &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I’m mostly trying to find a way to think about complexity in terms of the structure of the search space and the way the &quot;search space&quot; and &quot;search algorithm&quot; interact through some &quot;nice&quot; object like the initial algebra of the functor and to understand if it's useful to try to view things this way, when looking at more complicated structures. &lt;/p&gt;&#xA;" OwnerUserId="3430" LastEditorUserId="-1" LastEditDate="2017-03-15T23:09:39.947" LastActivityDate="2017-03-15T23:09:39.947" Title="Category theory, computational complexity, and combinatorics connections?" Tags="&lt;cc.complexity-theory&gt;&lt;co.combinatorics&gt;&lt;functional-programming&gt;&lt;ct.category-theory&gt;" AnswerCount="2" CommentCount="4" FavoriteCount="10" ContentLicense="CC BY-SA 3.0" />
  <row Id="4539" PostTypeId="1" CreationDate="2011-01-25T08:37:57.047" Score="8" ViewCount="1953" Body="&lt;p&gt;It is going to be the first time for me to learn graph theory. What kind of mathematical background do I need to prepare master theses about this subject in following years?&#xA;Which subjects should be reviewed and is there any book that covers all of them?&lt;/p&gt;&#xA;" OwnerUserId="3439" LastEditorUserId="1800" LastEditDate="2011-01-25T08:48:47.703" LastActivityDate="2011-01-25T14:19:20.917" Title="What kind of mathematical background is needed for graph theory?" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;soft-question&gt;&lt;advice-request&gt;" AnswerCount="3" CommentCount="1" FavoriteCount="6" ContentLicense="CC BY-SA 2.5" />
  <row Id="4540" PostTypeId="2" ParentId="4539" CreationDate="2011-01-25T08:48:31.797" Score="5" Body="&lt;p&gt;I don't think you really need too much.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You should have some experience proving proofs of theorems (&lt;em&gt;mathematical induction&lt;/em&gt;) and understand what &lt;em&gt;recurrences&lt;/em&gt; are.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You will find some good Discrete Mathematics courses containing Graph Theory ;)&lt;/p&gt;&#xA;" OwnerUserId="3440" LastActivityDate="2011-01-25T08:48:31.797" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4541" PostTypeId="2" ParentId="4539" CreationDate="2011-01-25T09:02:30.150" Score="15" Body="&lt;p&gt;There are plenty of good books on graph theory. Start with something introductory like &lt;a href=&quot;http://www.amazon.co.uk/Graph-Theory-Modeling-Applications-Algorithms/dp/0131565362/ref=sr_1_1?s=books&amp;amp;ie=UTF8&amp;amp;qid=1295946098&amp;amp;sr=1-1&quot; rel=&quot;nofollow noreferrer&quot;&gt;Graph Theory: Modeling, Applications and Algorithms&lt;/a&gt;, or one of the many more or less equivalent books at that level. Then move onto something more advanced, such as &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.amazon.co.uk/Graph-Theory-Advanced-Graduate-Mathematics/dp/1846289696/ref=sr_1_7?ie=UTF8&amp;amp;qid=1295945927&amp;amp;sr=8-7&quot; rel=&quot;nofollow noreferrer&quot;&gt;Graph Theory: An Advanced Course (Graduate Texts in Mathematics) by Adrian Bondy and U.S.R. Murty&lt;/a&gt;, &lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.amazon.co.uk/Modern-Graph-Theory-Graduate-Mathematics/dp/0387984887/ref=sr_1_5?ie=UTF8&amp;amp;qid=1295945927&amp;amp;sr=8-5&quot; rel=&quot;nofollow noreferrer&quot;&gt;Modern Graph Theory (Graduate Texts in Mathematics) by B. Bollobás&lt;/a&gt; or &lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.amazon.co.uk/Graph-Theory-Graduate-Texts-Mathematics/dp/3642142788/ref=sr_1_10?ie=UTF8&amp;amp;qid=1295945927&amp;amp;sr=8-10&quot; rel=&quot;nofollow noreferrer&quot;&gt;Graph Theory (Graduate Texts in Mathematics) by Reinhard Diestel&lt;/a&gt;. &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Also building on your background in discrete mathematics is invaluable. A book such as &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.amazon.co.uk/Concrete-Mathematics-Foundation-Computer-Science/dp/0201558025/ref=sr_1_1?ie=UTF8&amp;amp;qid=1295947660&amp;amp;sr=8-1&quot; rel=&quot;nofollow noreferrer&quot;&gt;Concrete Mathematics: Foundation for Computer Science by Ronald L. Graham, Donald E. Knuth, Oren Patashnik&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;would be provide you will a solid grounding.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Most of these books would then serve as references for life.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See also this question &lt;a href=&quot;https://cstheory.stackexchange.com/questions/2571/what-kind-of-mathematical-background-is-needed-for-complexity-theory&quot;&gt;What kind of mathematical background is needed for complexity theory?&lt;/a&gt;, as much of the background will overlap, in particular wrt combinatorics and stochastics (probability and statistics).&lt;/p&gt;&#xA;" OwnerUserId="77" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2011-01-25T09:40:37.170" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4542" PostTypeId="1" AcceptedAnswerId="4545" CreationDate="2011-01-25T09:35:06.020" Score="2" ViewCount="838" Body="&lt;p&gt;Are there any publications focusing on solving TSP with ant colony optimization that consider small changes in the graph's nodes or vertices?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So what I have is:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;a traveling salesman problem (TSP)&lt;/li&gt;&#xA;&lt;li&gt;and a single solution for the TSP&lt;/li&gt;&#xA;&lt;li&gt;a slight change in the graph afterwards (extra/removed node for example)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;and what I want is:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;An ant algorithm to solve the new TSP (on a subset-basis) using the original solution&lt;/li&gt;&#xA;&lt;li&gt;And a benchmark&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Thanks for you help so far.&lt;/p&gt;&#xA;" OwnerUserId="3441" LastEditorUserId="186" LastEditDate="2011-01-26T00:53:34.173" LastActivityDate="2017-09-14T09:20:11.360" Title="Ant colony optimization for traveling salesman problem with changing graph-nodes/vertices" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;tsp&gt;&lt;heuristics&gt;" AnswerCount="2" CommentCount="9" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4544" PostTypeId="2" ParentId="4539" CreationDate="2011-01-25T14:19:20.917" Score="12" Body="&lt;p&gt;Linear algebra is very useful for certain areas of graph theory (including some fairly advanced linear algebra). It can also be very useful in practice -- linear algebra and graph theory are two of the things which make Google work. And elementary linear algebra is used in enough places that you might want to learn it in any case. &lt;/p&gt;&#xA;" OwnerUserId="1677" LastActivityDate="2011-01-25T14:19:20.917" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4545" PostTypeId="2" ParentId="4542" CreationDate="2011-01-25T14:39:50.697" Score="4" Body="&lt;p&gt;Yes, there are several papers on this topic, and related ones, in the context of ant colony optimization algorithms for routing on ad hoc or mobile area networks (MANETs).  In a MANET, the nodes in the network graph are mobile, and if they move too far away from their neighbors, they fall out of range, hence the communication link is broken (i.e., the edge disappears from the network graph).  The routing problem essentially is: how do I keep all the vertices connected, and maintain efficient pathways between nodes, when links can disappear and reappear?  Of course, if a node moves out of range from all other nodes, it is the same as if the node were deleted from the network graph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The paper &lt;a href=&quot;http://www.sciencedirect.com/science?_ob=MImg&amp;amp;_imagekey=B7576-4W38RJN-2-13&amp;amp;_cdi=12890&amp;amp;_user=965532&amp;amp;_pii=S1570870509000389&amp;amp;_origin=search&amp;amp;_coverDate=01%2F31%2F2010&amp;amp;_sk=999919998&amp;amp;view=c&amp;amp;wchp=dGLbVzb-zSkzS&amp;amp;md5=ffee75b0f9e291db16023d89b304e378&amp;amp;ie=/sdarticle.pdf&quot; rel=&quot;nofollow&quot;&gt;An ant colony optimization routing based on robustness for ad hoc networks with GPSs &lt;/a&gt; by Kadono et al. contains a &quot;related work&quot; section you will probably find interesting.  In this paper I've linked, there is an assumption of the availability of some GPS information, which probably does not apply to you; I chose it mainly for its discussion of other papers.  However, all these approaches assume &lt;em&gt;something&lt;/em&gt; about how nodes can be deleted (or suddenly appear), in order to construct an efficient algorithm.  You'll have to decide what formal assumptions hold for the problem you are trying to solve.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Search phrases like &quot;ant colony optimization MANET&quot; or &quot;ant colony optimization self-stabilization&quot; may turn up other papers of interest to you.&lt;/p&gt;&#xA;" OwnerUserId="30" LastActivityDate="2011-01-25T14:39:50.697" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4546" PostTypeId="1" CreationDate="2011-01-25T15:10:08.477" Score="2" ViewCount="1792" Body="&lt;p&gt;Searching for good textbooks on math related to Computer Science I bought two german books yet, but found them not to be easily understandable and not suitable for self-study . German textbooks are always very academic and extremely based on cryptic formula. They're maybe good, if you want a reference, supplementary to your courses in college, but as pointed out above, I'm trying the self-teaching approach a.t.m. . &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am very interested in theoretical Computer Science, but I lack the needed math knowledge to dig further into the subject . Could you recommend me a book, best in english, which would provide me with the basics of discrete math and every other mathematical subject related to CompSci and is easily understandable ? If the book covers more topics, maybe not so essential for CompSci, but is nevertheless good for self-study, I would like to hear about it too.&lt;/p&gt;&#xA;" OwnerUserId="3447" LastEditorUserId="873" LastEditDate="2011-01-25T15:43:11.467" LastActivityDate="2011-01-27T08:10:24.973" Title="Book recommendations for CompSci related math" Tags="&lt;reference-request&gt;&lt;soft-question&gt;&lt;big-list&gt;&lt;books&gt;" AnswerCount="2" CommentCount="7" FavoriteCount="6" ContentLicense="CC BY-SA 2.5" />
  <row Id="4547" PostTypeId="2" ParentId="4425" CreationDate="2011-01-25T15:47:51.247" Score="2" Body="&lt;p&gt;EDIT: the answer is WRONG. I made the (silly) implicit assumption that when a path-flow starts at time s and ends at time t and goes through edge e, it blocks edge e for this duration. However, this is not true. See *. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note: Perhaps this approach is needlessly complicated or incorrect. Although I did try to verify, and write it down carefully - I did not spend huge amounts of time on it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assuming `stockpiling' is not allowed e.g. the flow has to be transfered immediately. Let $m$ denote the number of edges and $N$ the input length. I did not specify continuous or discrete time, since I did not take it into consideration. It should work for discrete thought, for continuous I'm note sure.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then, we can describe the solution as a set of &quot;paths-flows&quot; from source to sink. A path-flow is a quadruple $(P,s,a,r)$ which consists of the following: A simple path $P$ from source to sink; Starting time of the path-flow $s$; Amount of flow through the path $a$; Throughput rate $r$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let a solution be given by a set $F$ of path-flows. We can verify whether the solution given by these path-flows is correct in time polynomial in $|F|$ and $N$:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;For every edge $e$ and a moment of time $t$, add up the throughput rate of all path-flows going over $e$ at time $t$.  Every path-flow has a start and end time, therefore we only need to consider the moments of time when a path-flow starts or ends (between these moments nothing changes with regard to the path-flows that go over edge $e$.&lt;/li&gt;&#xA;&lt;li&gt;For every path-flow we can verify whether all it's flow arrives at the sink before time $T$.&lt;/li&gt;&#xA;&lt;li&gt;For every edge we can verify whether a path-flow goes through after it has been destroyed or not.&lt;/li&gt;&#xA;&lt;li&gt;The lower bound of flow $B$ we can simply check, by adding up the amounts of flow of the flow-paths.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Now, we 'just' need to show that the number of path-flows is polynomial in $N$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For a given solution we can determine the time some flow passed an edge and when the edge was destroyed. Convert this to a problem with an equivalent solution: there are hard bounds on each edge when it can be used and when not - a start and end time. Let $\{t_1,...,t_k\}$ denote the set of all these times.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider some non-compact solution and (initially) an empty set of path-flows. The idea is that we iteratively find a path-flow in the non-compact solution, remove it and store it in our set of path-flows. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Find path-flows that start and end between $t_i$ and $t_j$, $i&amp;lt;j$ but do not end between any $t_p$ and $t_q$ such that $[t_p,t_q] \subseteq [t_i,t_j]$. Let $F_{i,j}$ denote the set of path-flows between $t_j$ and $t_j$ with the properties as described above. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assume that we already have removed all path-flows for all smaller intervals than $[i,j]$. Greedily find path-flows that start and end in $[t_i,t_j]$. When we find one, remove this flow from the solution and adjust the throughput rates of vertices accordingly and the amount of flow send from the source to sink as well. For this path-flow we maximize the throughput. This means that for at least one edge we have reached it's maximum throughput rate or after removing this path-flow there is no more flow over this edge. Note that this holds for the period $[t_{i+1},t_{j-1}]$.&#xA;In both cases, no more flow goes through this edge and we can conclude that $|F_{s,t}| \leq m$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(*) Why is the previous claim true? Well, every other path flow in $F_{t_i,t_j}$ starts before $t_{i+1}$ and ends after $t_{j-1}$. Therefore, the must overlap in time that they use a certain edge. Since the throughput is maximized for the path-flow, there must be an edge where it is tight.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;From this follows that $\sum_{i,j \in [k]} | F_{i,j} |\leq c m^3 $ for some constant $c$ and the claim that it's in NP follows.&lt;/p&gt;&#xA;" OwnerUserId="3449" LastEditorUserId="3449" LastEditDate="2011-01-26T08:58:02.297" LastActivityDate="2011-01-26T08:58:02.297" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="4548" PostTypeId="2" ParentId="4534" CreationDate="2011-01-25T16:13:54.420" Score="7" Body="&lt;p&gt;Dave Clarke's comment is quite important. Generally fusion doesn't change the O(-) efficiency.  However, of particular interest is Liu, Cheng, and Hudak's work on Causal Commutative Arrows. Programs written with them are necessarily optimizable, in part through stream fusion, to a single loop free of dynamic memory allocation and intermediate structures: &lt;a href=&quot;http://haskell.cs.yale.edu/?post_type=publication&amp;amp;p=72&quot; rel=&quot;nofollow&quot;&gt;http://haskell.cs.yale.edu/?post_type=publication&amp;amp;p=72&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="351" LastEditorUserId="21793" LastEditDate="2014-10-03T03:36:54.187" LastActivityDate="2014-10-03T03:36:54.187" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="4549" PostTypeId="1" AcceptedAnswerId="4554" CreationDate="2011-01-25T16:46:28.103" Score="1" ViewCount="2020" Body="&lt;p&gt;I am currently working on a little project where I would like to write an efficient solver for three-dimensional Nonograms.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Nonogram&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/Nonogram&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So I wanted to ask whether anybody of you know a good way on how to solve a line in a normal 2D Nonogram. The problem is NP-complete btw so finding a robust algorithm that always does it will be quite hard ;-)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But does anybody of you have an idea? It doesn't need to solve everything possible but should do basic checks on a line and see if it can fill out something.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Would be  great if anybody could give me tips on how I could achieve this... thanks!&lt;/p&gt;&#xA;" OwnerUserId="3451" LastEditorUserId="186" LastEditDate="2011-01-26T00:45:34.093" LastActivityDate="2011-01-26T00:45:34.093" Title="Abstract machine or algorithm for line solving a Nonogram" Tags="&lt;ds.algorithms&gt;" AnswerCount="2" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4550" PostTypeId="2" ParentId="3540" CreationDate="2011-01-25T18:59:10.430" Score="12" Body="&lt;p&gt;&lt;a href=&quot;http://wwwmaths.anu.edu.au/~brent/pub/pub226.html&quot;&gt;Modern Computer Arithmetic&lt;/a&gt; by R. P. Brent and P. Zimmermann.&lt;/p&gt;&#xA;" OwnerDisplayName="user1706" LastActivityDate="2011-01-25T18:59:10.430" CommentCount="0" CommunityOwnedDate="2011-01-25T18:59:10.430" ContentLicense="CC BY-SA 2.5" />
  <row Id="4551" PostTypeId="2" ParentId="4549" CreationDate="2011-01-25T21:30:49.977" Score="1" Body="&lt;p&gt;I would suggest to reduce it to a SAT problem (which should be trivial for this game, notice that each cell is a variable and that the constraints will form the clauses) and then use a modern SAT solver. You could search for a SAT solver which is good in solving satisfiable instances fast (this will always be satisfiable and will always have exactly one answer). You could check the &lt;a href=&quot;http://www.satcompetition.org/&quot; rel=&quot;nofollow&quot;&gt;SAT competition website&lt;/a&gt; for a fast solver.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Unless I totally misunderstood something, this should be enough for a fast problem solver.&lt;/p&gt;&#xA;" OwnerUserId="1657" LastActivityDate="2011-01-25T21:30:49.977" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4552" PostTypeId="1" AcceptedAnswerId="4553" CreationDate="2011-01-25T21:36:48.067" Score="10" ViewCount="352" Body="&lt;p&gt;What machine learning classifiers are the most parallelizeable? If you had a difficult classification problem, limited time, but a decent LAN of computers to work with, what classifiers would you try?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Off hand it looks to me like some standard classifiers I know of stack up as follows but I could be totally wrong:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Random Forests - Very parallelizeable as long as each machine can hold all the data (i.e. can't divide up the training data per se, but otherwise parallelizeable).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Boosting - ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Support Vector Machine - Not very parallelizable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Decision trees - Can be divided up in part, but not very efficiently. &lt;/p&gt;&#xA;" OwnerUserId="3457" LastEditorUserId="74" LastEditDate="2011-01-26T20:17:36.947" LastActivityDate="2015-01-30T10:08:56.707" Title="What machine learning classifiers are the most parallelizeable?" Tags="&lt;lg.learning&gt;&lt;machine-learning&gt;&lt;dc.parallel-comp&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="4553" PostTypeId="2" ParentId="4552" CreationDate="2011-01-25T21:48:52.317" Score="11" Body="&lt;p&gt;There have been efforts to parallelize most of the well-known classifiers, including boosting [&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.29.1551&amp;amp;rep=rep1&amp;amp;type=pdf&quot;&gt;a paper&lt;/a&gt;], SVM [&lt;a href=&quot;http://books.nips.cc/papers/files/nips17/NIPS2004_0190.pdf&quot;&gt;a paper&lt;/a&gt;], and even decision trees [&lt;a href=&quot;http://jmlr.csail.mit.edu/papers/volume11/ben-haim10a/ben-haim10a.pdf&quot;&gt;a paper&lt;/a&gt;].  Of course, by admitting parallelism, you sometimes lose out on other aspects, whether it be algorithm implementability, sample complexity, or other usual suspects.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;From the theory end, the question is harder because when you talk about learning you have to think about the target function.  For example, we don't even know decision trees to be PAC-learnable, so if the &lt;em&gt;target&lt;/em&gt; (as well as the method) is a decision tree, then we can't even learn it (yet) without introducing extra facets to the problem.  Boosting gets around that by assuming a weak learning condition, SVM a margin, etc. I think those assumptions transfer to the parallel case to give you PAC learning.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;But as always, there's a big gap between the frontiers (and thereby concerns) of theory and of practice.   For example, in practice, it matters whether the parallelism is over cores or clusters.  One algorithm developed especially for practical use in large-data settings is &lt;a href=&quot;http://hunch.net/~vw/&quot;&gt;VW&lt;/a&gt;, and it's starting to &lt;a href=&quot;http://hunch.net/?p=1068&quot;&gt;support&lt;/a&gt; parallelism.  You might be interested in the &lt;a href=&quot;http://lccc.eecs.berkeley.edu/papers.html&quot;&gt;papers&lt;/a&gt; in the NIPS 2010 &lt;a href=&quot;http://lccc.eecs.berkeley.edu/&quot;&gt;workshop&lt;/a&gt; on practical parallel learning.&lt;/p&gt;&#xA;" OwnerUserId="123" LastEditorUserId="123" LastEditDate="2011-01-25T21:54:29.660" LastActivityDate="2011-01-25T21:54:29.660" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4554" PostTypeId="2" ParentId="4549" CreationDate="2011-01-25T22:58:44.643" Score="2" Body="&lt;p&gt;... or &lt;strong&gt;if you just want to have fun&lt;/strong&gt; you can simply grab a lot of useful tips from other (powerful) Nonogram solvers; you can start from here:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://webpbn.com/pbnsolve.html&quot; rel=&quot;nofollow&quot;&gt;http://webpbn.com/pbnsolve.html&lt;/a&gt; which will &lt;em&gt;teleport&lt;/em&gt; :-) you to:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://webpbn.com/survey/&quot; rel=&quot;nofollow&quot;&gt;http://webpbn.com/survey/&lt;/a&gt; and ...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.comp.lancs.ac.uk/~ss/nonogram/&quot; rel=&quot;nofollow&quot;&gt;http://www.comp.lancs.ac.uk/~ss/nonogram/&lt;/a&gt; ...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.comp.lancs.ac.uk/~ss/nonogram/list-solvers&quot; rel=&quot;nofollow&quot;&gt;http://www.comp.lancs.ac.uk/~ss/nonogram/list-solvers&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can find detail descriptions of single-line / multi-line solving techniques and descriptions of more complex strategies.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;When switching to 3D Nonograms single-line and multi-line strategies are still valid (apply 2D multi-line strategies on each &lt;em&gt;section&lt;/em&gt; of your 3D puzzle); but if the 3D puzzle is difficult (or random), an iterated loop with those strategies ends up with many &lt;em&gt;unknown&lt;/em&gt; pixels and to proceed you must apply specific 3D strategies. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If your question is more &lt;em&gt;TCS oriented&lt;/em&gt;  then there are plenty of references in some public downloadable articles: &lt;a href=&quot;http://www.google.it/search?as_q=nonogram+np&amp;amp;as_filetype=pdf&quot; rel=&quot;nofollow&quot;&gt;http://www.google.it/search?as_q=nonogram+np&amp;amp;as_filetype=pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2011-01-25T23:39:30.660" LastActivityDate="2011-01-25T23:39:30.660" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4555" PostTypeId="2" ParentId="4546" CreationDate="2011-01-25T23:59:35.480" Score="3" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;I am not only searching for a book, but also an approach of how to learn matc without pain on my own.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;If you learn best from and/or enjoy a good lecture, your best bet is probably the MIT open courseware lectures. They have Calculus, multiple versions of Linear Algebra &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;I am still going to &quot;Gymnasium&quot;, the german counterpart to the high school&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Unsurprising, MIT open courseware also has an excellent collection of canonical CS courses that will be helpful for gaining background in CS theory for the high schooler. I worked through the Structure and Interpretation lectures my Junior year of high school, and that was definitely worth the time. There is also an Introduction to Algorithms course.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course, there is also a course on exactly what you want -- Math for CS -- but there are no video lectures.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See here: &lt;a href=&quot;http://ocw.mit.edu/courses/#electrical-engineering-and-computer-science&quot; rel=&quot;nofollow&quot;&gt;http://ocw.mit.edu/courses/#electrical-engineering-and-computer-science&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerDisplayName="user3462" LastActivityDate="2011-01-25T23:59:35.480" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4556" PostTypeId="1" AcceptedAnswerId="7745" CreationDate="2011-01-26T00:02:14.460" Score="14" ViewCount="2180" Body="&lt;p&gt;Consider some language $L$ such that:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$L \in DTIME(O(f(n))) \cap DSPACE(O(g(n)))$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;and so that&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$L \not\in DTIME(o(f(n))) \cup DSPACE(o(g(n)))$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In other words, the fastest machine $M$ computes $L$ in time $O(f(n))$ and the most space efficient machine $M&amp;#39;$ computes $L$ while using space $O(g(n))$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;What can be said about the space efficiency of M or the time efficiency of M'? Or more precisely, if $\mathbb{M}_T$ is the set of all machines that compute $L$ in $O(f(n))$ then what can we say about the most space efficient machine in $\mathbb{M}_T$? What about the same thing for the obvious space version: $\mathbb{M}_S$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Alternatively, can $f(n)$ and $g(n)$ be used to define some good space-time tradeoffs? Under what conditions is $TS \in o(f(n)g(n))$ or more generally for some space-time tradeoff $h(T,S)$ under what conditions is $h(T,S) \in h(o(f(n)),o(g(n)))$.&lt;/p&gt;&#xA;" OwnerUserId="1037" LastEditorUserId="186" LastEditDate="2011-08-15T01:30:52.653" LastActivityDate="2012-01-09T19:51:24.890" Title="Space-time tradeoff and the best algorithm" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;open-problem&gt;&lt;space-time-tradeoff&gt;" AnswerCount="2" CommentCount="10" FavoriteCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="4557" PostTypeId="2" ParentId="4090" CreationDate="2011-01-26T07:56:31.340" Score="4" Body="&lt;p&gt;Another good source is the &lt;a href=&quot;http://www.wisdom.weizmann.ac.il/~oded/my-choice.html&quot; rel=&quot;nofollow&quot;&gt;page&lt;/a&gt; by Oded Goldreich with the list of &quot;recent works that have drawn their (Oded's and other various researchers') attention&quot; and comments to them (works). Incidentaly, this concerns not only mathematicians.&lt;/p&gt;&#xA;" OwnerUserId="1060" LastEditorUserId="1060" LastEditDate="2011-01-27T05:53:52.390" LastActivityDate="2011-01-27T05:53:52.390" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4558" PostTypeId="1" AcceptedAnswerId="4569" CreationDate="2011-01-26T11:37:53.873" Score="6" ViewCount="301" Body="&lt;p&gt;There is a theorem that states a function $f$ can be computed with a Turing-machine in time $O(g)$ with primitive recursive $g$ (of the length of input) iff $f$ is primitive recursive.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Where can I find a reference for this theorem? Wikipedia seems to state it but gives no references, nor does my books. &lt;/p&gt;&#xA;" OwnerDisplayName="user3355" LastEditorUserId="1800" LastEditDate="2011-01-26T12:31:45.320" LastActivityDate="2011-01-27T00:06:20.193" Title="Reference for checking primitive recursiveness" Tags="&lt;reference-request&gt;&lt;computability&gt;&lt;lo.logic&gt;&lt;turing-machines&gt;" AnswerCount="2" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4559" PostTypeId="1" CreationDate="2011-01-26T11:43:32.953" Score="7" ViewCount="211" Body="&lt;p&gt;This is more of a philosophical question -- I am looking for a reasonable mathematical formulation of 1-class learning.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the PAC model, it's very natural to formulate our demand on the learner: produce a hypothesis with low generalization error.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What might be a reasonable formalization of 1-class learning? This may also be called &quot;anomaly detection&quot;: in the training phase, the learner only gets to see positive (&quot;normal&quot;) examples, but in the test phase he needs to predict whether a given new example is positive (&quot;normal&quot;) or negative (an anomaly). The formal details are quite open-ended -- what's a reasonable assumption on the training sample (generated from some distribution, etc)? What's a reasonable success criterion?&lt;/p&gt;&#xA;" OwnerUserId="1746" LastEditorUserId="1800" LastEditDate="2011-01-27T02:47:24.653" LastActivityDate="2013-02-07T09:50:33.003" Title="A PAC-like analogue for 1-class classification?" Tags="&lt;lg.learning&gt;&lt;machine-learning&gt;" AnswerCount="2" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="4560" PostTypeId="6" CreationDate="2011-01-26T12:22:11.163" Score="0" Body="&lt;p&gt;I've just decided to nominate myself as a moderator. I hesitated to do so, because in my opinion there are some of us who are far more well-known and respectable, more participated in this site, and have already done a great job (both in meta discussions and background work) in the past. Currently three of them have joined the election, and I do hope more and more devoted users step forward and give all the members a wider variety of choices, just like @Suresh and @Kaveh have said.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;I'm relatively new to both this site and the real theory cs community (I'm not even been to the graduate school), and my knowledge in this field is epsilon. So from the first day knowing this site I never missed one single day reading wonderful problems and answers posted by tcs people all over the world. Like @Sadeq I learned a lot, since most of the questions are completely new to me. Slowly I could contribute at tiny places, also made mistakes, and learned lessons from them. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I really like the idea that tcs people can be connected and joined by sharing what you know and what you want to know; this not only makes us learn to communicate, and also enhances spreading existing knowledge through the whole community. Now I would like to help a little more by taking over some regular duties of maintaining the site, and let the experts and knowledgeable ones in each field can concentrate on providing great answers to questions proposed by insightful people.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My advantage of being a moderator may due to my present location. I'm in a completely different time zone to most of the users on the site (GMT+08, 08:00 here implies 17:00 in Salt Lake city (Suresh), 19:00 in Toronto (Kaveh) and 03:30 in Tehran (Sadeq)), that means I can help monitoring the site when other moderators are asleep. And that may be the only advantage I have comparing to other candidates :P&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Whether I will be elected or not doesn't matter, I just want this awesome site to be known and used by more people and all of us can learn something from each other. Hope all of you agree and support the site by recommending it to somebody. Thank you all very much!&lt;/p&gt;&#xA;" OwnerUserId="1800" LastEditorUserId="1800" LastEditDate="2011-01-26T13:02:48.057" LastActivityDate="2011-01-26T13:02:48.057" CommentCount="4" CommunityOwnedDate="2011-01-26T12:22:11.163" ContentLicense="CC BY-SA 2.5" />
  <row Id="4561" PostTypeId="6" CreationDate="2011-01-26T13:27:08.227" Score="0" Body="&lt;ul&gt;&#xA;&lt;li&gt;A professor at the Katholieke Universiteit Leuven, in Belgium, working on the theoretical/practical boundary of programming languages, coordination, and software product line engineering and numerous other topics. &lt;/li&gt;&#xA;&lt;li&gt;More of a jack of all trades than master of any. &lt;/li&gt;&#xA;&lt;li&gt;In any case, a &lt;strong&gt;Theory B&lt;/strong&gt; person.&lt;/li&gt;&#xA;&lt;li&gt;Active, high reputation user (though I missed out on my fanatic badge by going on vacation).&lt;/li&gt;&#xA;&lt;li&gt;In the Central European Time Zone (GMT +1).&lt;/li&gt;&#xA;&lt;li&gt;Contributor to the SIGACT article about cstheory.stackexchange.com.&lt;/li&gt;&#xA;&lt;li&gt;Fixer of entries.&lt;/li&gt;&#xA;&lt;li&gt;Offers quality-improving comments to improve quality.&lt;/li&gt;&#xA;&lt;li&gt;Down voter of junk.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;If elected I promise to do a good job.&lt;/strong&gt;&lt;/p&gt;&#xA;" OwnerUserId="77" LastEditorUserId="77" LastEditDate="2011-01-27T14:23:11.773" LastActivityDate="2011-01-27T14:23:11.773" CommentCount="4" CommunityOwnedDate="2011-01-26T13:27:08.227" ContentLicense="CC BY-SA 2.5" />
  <row Id="4563" PostTypeId="2" ParentId="4559" CreationDate="2011-01-26T14:20:47.013" Score="7" Body="&lt;p&gt;I think there is a model called &quot;Learning from Positive Examples (Only)&quot; or you can additionally allow unlabeled data (I don't remember the details).  A search for these terms should bring up various papers and models.  &lt;a href=&quot;http://cseweb.ucsd.edu/~elkan/posonly.pdf&quot;&gt;Here&lt;/a&gt; is one.&lt;/p&gt;&#xA;" OwnerUserId="123" LastActivityDate="2011-01-26T14:20:47.013" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4564" PostTypeId="6" CreationDate="2011-01-26T15:10:22.227" Score="0" Body="&lt;p&gt;I toss my hat into the ring, too. &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;I'm a reasonably high-rep user.&lt;/li&gt;&#xA;&lt;li&gt;I work in the borderland between languages and verification, and am reasonably knowledgeable about type theory, denotational semantics, and program logics. &lt;/li&gt;&#xA;&lt;li&gt;I'm currently at MSR Cambridge UK, and in the GMT+0 time zone.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;This site has already been helpful in my research, and I would like to help it out in return. &lt;/p&gt;&#xA;" OwnerUserId="657" LastEditorUserId="657" LastEditDate="2011-01-26T15:10:22.227" LastActivityDate="2011-01-26T15:10:22.227" CommentCount="4" CommunityOwnedDate="2011-01-26T15:10:22.227" ContentLicense="CC BY-SA 2.5" />
  <row Id="4565" PostTypeId="1" AcceptedAnswerId="4583" CreationDate="2011-01-26T15:25:49.797" Score="14" ViewCount="472" Body="&lt;p&gt;How well has the following problem been investigated in TCS? &#xA;(I apologize if the problem statement sounds vague!) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a &lt;b&gt;Model of Computation&lt;/b&gt; MC (Turing Machine, Cellular Automata, Kolmogorov-Uspenskii Machine ... etc.) and a &lt;b&gt; Model of Noise&lt;/b&gt; that could affect the computation of MC, is there a way of &lt;b&gt;recovering&lt;/b&gt; from the errors caused by this noise in an &lt;b&gt;effective&lt;/b&gt; way? For instance, say some type of noise affects a Turing Machine M, could one devise a Turing Machine M' that simulates M without a major cost and is reliable (which means that M' is tolerant to this noise)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It seems that some models of computations are better than others in doing this: Cellular Automata for instance.&#xA;Any results if the noise is replaced by an adversary model?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Sorry for the tag! I don't have enough reputation to put a suitable tag (reliable-computing, fault-tolerant-computing ... etc.)&lt;/p&gt;&#xA;" OwnerUserId="2471" LastEditorUserId="186" LastEditDate="2011-01-27T05:12:57.870" LastActivityDate="2012-04-04T16:10:34.287" Title="What is known about the effectiveness of reliable computing?" Tags="&lt;machine-models&gt;" AnswerCount="6" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4566" PostTypeId="1" AcceptedAnswerId="4568" CreationDate="2011-01-26T16:34:47.370" Score="12" ViewCount="557" Body="&lt;p&gt;This is intended as a follow up question to Robin Kothari's previous post on &lt;a href=&quot;https://cstheory.stackexchange.com/questions/1284/problems-that-can-be-used-to-show-polynomial-time-hardness-results&quot;&gt;polynomial time hardness results&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Specifically, I'm interested in seeing some hardness proofs for problems that are believed to have roughly $\Omega(n^3)$ lower bounds, and I say roughly to allow for slightly subcubic improvements by playing with the word size (such as that for 3SUM by Barab et al. &lt;a href=&quot;http://www.springerlink.com/content/89ww1f581534tmln/&quot; rel=&quot;nofollow noreferrer&quot;&gt;[via Springer]&lt;/a&gt;). I would be happy to keep problems in the decision tree model if it simplifies the responses.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;From Robin's post, I learned about Jeff Erikson's &lt;a href=&quot;http://cjtcs.cs.uchicago.edu/articles/1999/8/cj99-08.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;paper&lt;/a&gt; which gives a $\Omega(n^3)$ lower bound for 5SUM (more accurately, he shows that $k$-SUM runs in $\Omega (n^{\lceil k/2 \rceil})$ time in general). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Do papers or other references exist using such reductions to conjecture cubic lower bounds for problems in computational geometry or graph theory? &lt;/p&gt;&#xA;" OwnerUserId="1092" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2011-01-26T20:24:36.143" Title="Which problems in computational geometry or graph theory are believed to be $\Omega(n^3)$?" Tags="&lt;graph-theory&gt;&lt;cg.comp-geom&gt;&lt;lower-bounds&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="4567" PostTypeId="2" ParentId="4566" CreationDate="2011-01-26T16:44:37.213" Score="9" Body="&lt;p&gt;One can then use reductions to these problem as starting point to prove lower bounds. See for example section 5 in the following paper: &lt;a href=&quot;http://valis.cs.uiuc.edu/~sariel/papers/03/lms/lms.pdf&quot; rel=&quot;nofollow&quot;&gt;http://valis.cs.uiuc.edu/~sariel/papers/03/lms/lms.pdf&lt;/a&gt;. Also section 4 and 5 in the following paper: &lt;a href=&quot;http://valis.cs.uiuc.edu/~sariel/papers/08/expand_cover/expand_cover.pdf&quot; rel=&quot;nofollow&quot;&gt;http://valis.cs.uiuc.edu/~sariel/papers/08/expand_cover/expand_cover.pdf&lt;/a&gt;. I am sure there are other examples - this is just papers I worked on and such remember they use such argumentation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, the above prove that given a set of weighted half-spaces in $\Re^5$, finding the minimum weight cover of $\Re^5$ by these half-space requires $\Omega(n^5)$ time.&lt;/p&gt;&#xA;" OwnerUserId="9594" LastActivityDate="2011-01-26T16:44:37.213" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4568" PostTypeId="2" ParentId="4566" CreationDate="2011-01-26T17:32:53.587" Score="13" Body="&lt;p&gt;I think the paper &quot;&lt;a href=&quot;http://www.cs.cmu.edu/~ryanw/tria-mmult.pdf&quot;&gt;Subcubic Equivalences Between Path, Matrix, and Triangle&#xA;Problems&lt;/a&gt;&quot; by V. Vassilevska Williams and R. Williams is what you're looking for. Its abstract contains the list of the following problems on graphs:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The all-pairs shortest paths problem on weighted digraphs (APSP).&lt;/li&gt;&#xA;&lt;li&gt;Detecting if a weighted graph has a triangle of negative total edge weight.&lt;/li&gt;&#xA;&lt;li&gt;Listing up to $n^{2.99}$ negative triangles in an edge-weighted graph.&lt;/li&gt;&#xA;&lt;li&gt;The replacement paths problem on weighted digraphs.&lt;/li&gt;&#xA;&lt;li&gt;Finding the second shortest simple path between two nodes in a weighted digraph.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;According to the abstract the paper is about the following:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;We define a notion of subcubic reducibility, and show that many important problems on graphs and matrices solvable&#xA;  in $O(n^3)$ time are equivalent under subcubic reductions.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="1060" LastEditorUserId="1060" LastEditDate="2011-01-26T20:24:36.143" LastActivityDate="2011-01-26T20:24:36.143" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4569" PostTypeId="2" ParentId="4558" CreationDate="2011-01-26T17:49:33.083" Score="6" Body="&lt;p&gt;This is known as a &lt;em&gt;Ritchie-Cobham&lt;/em&gt; property, or a &lt;em&gt;honesty&lt;/em&gt; property of primitive-recursive functions.  See for instance Theorem VIII.8.8, page 297 in P.G. Odifreddi, &lt;em&gt;Classical Recursion Theory&lt;/em&gt;, vol. 2, 1999.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Odifreddi refers to&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Kleene, General recursive functions of natural numbers, &lt;em&gt;Math. Ann.&lt;/em&gt; 112:727--742, 1936,&lt;/li&gt;&#xA;&lt;li&gt;Cobham, The intrinsic computational difficulty of functions, &lt;em&gt;Log. Meth. Phil. Sci.&lt;/em&gt; 2:24--20, 1964,&lt;/li&gt;&#xA;&lt;li&gt;Meyer, Depth of nesting and the Grzegorczyk hierarchy, &lt;em&gt;Not. Am. Math. Soc.&lt;/em&gt; 12, 1965.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="609" LastActivityDate="2011-01-26T17:49:33.083" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4570" PostTypeId="2" ParentId="4565" CreationDate="2011-01-26T18:07:03.027" Score="1" Body="&lt;p&gt;Quantum Computing models explicitly deal with noise and ways to make computations resilient to errors introduced through this vector. Quantum Computing, curiously, can be done forwards and backwards (by nature of QM Hadamard transforms and the time independence of the Hamiltonian) - &quot;uncomputing&quot; is one technique used to stem the tide of such errors.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On 'real' computers - Enterprise servers - there is a small but feasible chance that a bit of RAM will be read incorrectly. The theory of error detecting and correcting codes can be applied at a machine word level to detect and fix such 1-bit errors (without very much overhead). And in fact many Enterprise servers that have critical operations invite a small parity bit on each word of RAM.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;While far from a proof it seems to me that standard error correcting coding schemes could be made to work with almost any theoretical automata (cellular automata are suspect) with only polynomial (in fact linear?) slowdown.&lt;/p&gt;&#xA;" OwnerUserId="3624" LastActivityDate="2011-01-26T18:07:03.027" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="4571" PostTypeId="1" CreationDate="2011-01-26T18:07:37.877" Score="7" ViewCount="510" Body="&lt;p&gt;I'm having a hard time understanding the way Arthur verifies proofs probabilistically with coin tosses in an intuitive manner.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose Arthur is a logician equipped with paper, a pencil and an unbiased coin. Someone hands Arthur a proof that some string s is in some language L. How exactly does Arthur probabilistically check the proof? My interpretation is that he does the following: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Arthur tosses the coin. If it lands showing heads, he accepts the first statement without checking it. If it lands tails, he checks it. If, upon checking, he determines that the first statement is false, he rejects the proof. Otherwise, if he determines that the first statement is true, he continues this process with the next statement of the proof. If Arthur never rejects the proof during this process, then he accepts the proof if one of the statements is a concluding statement of the form &quot;..., hence s is in L&quot; and he rejects the proof otherwise.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is this a correct interpretation?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit: I am not talking about probabilistically checkable proofs. The question above came about from thinking about the class MA. &lt;/p&gt;&#xA;" OwnerUserId="2072" LastEditorUserId="80" LastEditDate="2011-01-27T21:37:46.770" LastActivityDate="2013-09-29T15:42:52.040" Title="How are proofs verified probabilistically in interactive proof systems?" Tags="&lt;cc.complexity-theory&gt;&lt;big-picture&gt;&lt;interactive-proofs&gt;" AnswerCount="3" CommentCount="7" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="4573" PostTypeId="2" ParentId="4558" CreationDate="2011-01-26T18:23:45.033" Score="3" Body="&lt;p&gt;You can look at:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A. Grzegorczyk. &lt;em&gt;Some classes of recursive functions.&lt;/em&gt; Rozprawy Matematyczne, (IV), 1953.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;R. W. Ritchie. &lt;em&gt;Classes of predictably computable functions.&lt;/em&gt; Trans. A.M.S., 106:139–173,&#xA;1963.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(I don't know if you can find them for free in Internet).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Or download the Robert Daley's Lecture Notes &quot;&lt;em&gt;Introduction to Theory of Computation&lt;/em&gt;&quot; that contains a detailed explanation of the equivalence $PR \equiv LOOP \setminus WHILE$ (LOOP is a simple programming language).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Proof sketch&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $f \in PR$ then you can build a TM that computes $f$ and is time-bounded by a primitive recursive function. To prove it, you can use the derivation of $f$: start from &lt;em&gt;constant/successor/projection&lt;/em&gt; functions and then use induction on the operators &lt;em&gt;composition/primitive recursion&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Conversely, if you have a $TM_{PR}$ that computes a function in $O(g)\ with\ g\ \in PR$ then you can build a LOOP program that emulates TM on each input $x$: if $m$ is the string representation of $TM_{PR}$ then the LOOP program will:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;Prog:&#xA;1) decode the transition table from m&#xA;2) build a representation of the tape / head position / current state&#xA;3) FOR g(|x|) DO&#xA;   3.1) simulate a single step of the TM (or do nothing if in a final state)&#xA;4) output the current representation of the tape&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;each step of Prog is primitive recursive (i.e. doesn't contain while / until); note that g used in the FOR statement is by hypothesis primitive recursive.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Prog is guarantee to end and correctly output $TM_{PR}(x)$ because $g(|x|)$ is a time bound for $TM_{PR}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since $LOOP \setminus WHILE \equiv PR$ then the function computed by $TM_{PR}$ is in $PR$&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2011-01-27T00:06:20.193" LastActivityDate="2011-01-27T00:06:20.193" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4574" PostTypeId="2" ParentId="3540" CreationDate="2011-01-26T18:34:32.523" Score="18" Body="&lt;p&gt;The books in open access from the &lt;a href=&quot;http://library.msri.org/books/&quot;&gt;site&lt;/a&gt; of Mathematical Sciences Research Institute: &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Volume 56, &lt;a href=&quot;http://library.msri.org/books/Book56/index.html&quot;&gt;Games of No Chance 3&lt;/a&gt;, edited by Michael H. Albert and Richard J. Nowakowski, 2009.&lt;/li&gt;&#xA;&lt;li&gt;Volume 52, &lt;a href=&quot;http://library.msri.org/books/Book52/index.html&quot;&gt;Combinatorial and Computational Geometry&lt;/a&gt;, edited by Jacob E. Goodman, János Pach and Emo Welzl, 2005.&lt;/li&gt;&#xA;&lt;li&gt;Volume 44, &lt;a href=&quot;http://library.msri.org/books/Book44/index.html&quot;&gt;Algorithmic Number Theory&lt;/a&gt;, edited by Joe Buhler and Peter Stevenhagen, 2008.&lt;/li&gt;&#xA;&lt;li&gt;Volume 42, &lt;a href=&quot;http://library.msri.org/books/Book42/index.html&quot;&gt;More Games of No Chance&lt;/a&gt;, edited by Richard J. Nowakowski, 2002.&lt;/li&gt;&#xA;&lt;li&gt;Volume 29, &lt;a href=&quot;http://library.msri.org/books/Book29/index.html&quot;&gt;Games of No Chance&lt;/a&gt;, edited by Richard Nowakowski, 1996.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Here I have listed only those books which to me best fit in the definition of TCS.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;NB. Books are not drafts and were published.&lt;/p&gt;&#xA;" OwnerUserId="1060" LastEditorUserId="1060" LastEditDate="2011-03-16T08:16:10.473" LastActivityDate="2011-03-16T08:16:10.473" CommentCount="1" CommunityOwnedDate="2011-01-26T18:34:32.523" ContentLicense="CC BY-SA 2.5" />
  <row Id="4575" PostTypeId="1" AcceptedAnswerId="4577" CreationDate="2011-01-26T18:45:07.690" Score="13" ViewCount="549" Body="&lt;p&gt;An observation associated with asymmetric cryptography is that some functions are (believed to be) easy to perform in one direction but difficult to invert. Furthermore, if there exists some 'trapdoor' information that allows the inverse operation to be computed quickly then the problem becomes a candidate for a public key cryptography scheme.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Classic trapdoor problems, made famous by RSA, include the factoring problem and the discrete log problem. Around the same time that RSA was published, Rabin invented a public key cryptosystem grounded on finding discrete square roots (this was later proved to be at least as difficult as factoring).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Other candidates have cropped up over the years. KNAPSACK (soon after RSA), Elliptic Curve &quot;Logarithms&quot; with specific parameters, and Lattice Shortest Basis Problems are examples of problems whose trapdoor problems used in other published schemes. It is also easy to see that such problems must reside somewhere in NP.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This exhausts my knowledge of trapdoor functions. It also seems to exhaust the list on &lt;a href=&quot;https://secure.wikimedia.org/wikipedia/en/wiki/Public-key_cryptography#Examples&quot;&gt;Wikipedia&lt;/a&gt; as well.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am hoping that we can get a community wiki list of languages that admit trapdoors and relevant literature. The list will be useful. Evolving demands of cryptography also change which trapdoor functions can be the basis of cryptosystems. The explosion of storage on computers makes schemes with large keysizes possible. The perpetual-looming spectre of Quantum Computing invalidates schemes that can be broken with an oracle for finding hidden abelian subgroups. Gentry's Fully Homomorphic Cryptosystem works only because we've discovered trapdoor functions that respect homomorphisms.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am especially interested in problems that are not NP-Complete.&lt;/p&gt;&#xA;" OwnerUserId="3624" LastActivityDate="2011-01-29T10:35:31.083" Title="What languages have been successfully cryptographically trapdoored?" Tags="&lt;cc.complexity-theory&gt;&lt;cr.crypto-security&gt;&lt;homomorphic-encryption&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="4" CommunityOwnedDate="2011-01-26T21:47:22.143" ContentLicense="CC BY-SA 2.5" />
  <row Id="4576" PostTypeId="2" ParentId="4565" CreationDate="2011-01-26T20:06:18.930" Score="2" Body="&lt;p&gt;I think work related to &lt;a href=&quot;http://en.wikipedia.org/wiki/Self-stabilization&quot; rel=&quot;nofollow&quot;&gt;self-stabilisation&lt;/a&gt; is close to the spirit of your question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A self-stabilising system recovers from any corruption of the RAM.&lt;/p&gt;&#xA;" OwnerUserId="74" LastActivityDate="2011-01-26T20:06:18.930" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4577" PostTypeId="2" ParentId="4575" CreationDate="2011-01-26T21:37:35.290" Score="18" Body="&lt;p&gt;It is important to distinguish between trapdoor functions and public-key encryption. While trapdoor functions do yield public-key encryption schemes, some of the candidates you mentioned are only known to imply public-key encryption and do not necessarily give you trapdoor functions. In fact, &lt;a href=&quot;http://www.wisdom.weizmann.ac.il/~reingold/publications/GMR.ps&quot; rel=&quot;nofollow&quot;&gt;Gertner, Malkin and Reingold&lt;/a&gt; show that there is no black-box construction of a trapdoor function from a &quot;trapdoor predicate&quot; (which can be thought of as a one-bit public-key encryption scheme). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Classical examples of trapdoor functions are the RSA and Rabin functions. A classical example of a trapdoor predicate is deciding Quadratic Residuosity modulo a composite, due to Goldwasser and Micali. The discrete-log and lattice based constructions that you mention yield public-key encryption directly, without going through trapdoor functions. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Below is a (non comprehensive) list of constructions of public-key encryption schemes, most of which are not known to go through trapdoor functions.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;El Gamal public-key cryptosystem (including elliptic curve variants). Security is based on the Decisional Diffie Hellman assumption. Doesn't go throuhg trapdoor functions (but see the Peikert-Waters item below for a trapdoor function whose security is based on the semantic security of El Gamal). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;[Taher El Gamal: A Public Key Cryptosystem and a Signature Scheme Based on Discrete Logarithms. CRYPTO 1984: 10-18]&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Ajtai-Dwork, Regev. Security is based on unique SVP in lattices. Not known to imply trapdoor functions. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;[Miklós Ajtai, Cynthia Dwork: A Public-Key Cryptosystem with Worst-Case/Average-Case Equivalence. STOC 1997: 284-293]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[Oded Regev: New lattice based cryptographic constructions. STOC 2003: 407-416]&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Regev, Peikert. Security is based on hardness of learning with errors (this includes a reduction from SVP). Not known to imply trapdoor functions. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;[Oded Regev: On lattices, learning with errors, random linear codes, and cryptography. STOC 2005: 84-93]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[Chris Peikert: Public-key cryptosystems from the worst-case shortest vector problem: extended abstract. STOC 2009: 333-342]&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Peikert, Waters. Security is based on decisional Diffie Hellman and on lattice problems. Known to imply trapdoor functions (through lossy trapdoor functions).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[Chris Peikert, Brent Waters: Lossy trapdoor functions and their applications. STOC 2008: 187-196]&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Lyubashevsky, Palacio, Segev. Security is based on Subset-Sum. Not known to imply trapdoor functions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[Vadim Lyubashevsky, Adriana Palacio, Gil Segev: Public-Key Cryptographic Primitives Provably as Secure as Subset Sum. TCC 2010: 382-400]&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Stehlé, Steinfeld, Tanaka, Xagawa, and Lyubashevsky, Peikert, Regev. Security is based on hardness of ring LWE. The advantage of these over previous proposals is their smaller key size. Not known to imply trapdoor functions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[Damien Stehlé, Ron Steinfeld, Keisuke Tanaka, Keita Xagawa: Efficient Public Key Encryption Based on Ideal Lattices. ASIACRYPT 2009: 617-635]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[Vadim Lyubashevsky, Chris Peikert, Oded Regev: On Ideal Lattices and Learning with Errors over Rings. EUROCRYPT 2010: 1-23]&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="2120" LastEditorUserId="2120" LastEditDate="2011-01-29T10:35:31.083" LastActivityDate="2011-01-29T10:35:31.083" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="4578" PostTypeId="6" CreationDate="2011-01-27T00:27:23.477" Score="0" Body="&lt;p&gt;I'll volunteer as well.  I've been involved with this site since private beta and have been an enthusiastic member since.  I think &lt;a href=&quot;http://cstheory.stackexchange.com&quot;&gt;cstheory.stackexchange.com&lt;/a&gt; has become a great resource, and I've learned quite a lot by participating.  I'd be happy to have the chance to contribute to its success as a moderator.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I believe a good moderator should be, as the word suggests, 1) &lt;strong&gt;moderate&lt;/strong&gt; but also 2) &lt;strong&gt;decisive&lt;/strong&gt;.  I'll try to nudge people to fix their posts and to make their questions clear (as I have in the past). And I'll happily guide new users.  But at the same time, I won't hesitate to delete blatant spam, close simple homework questions, or deal with &quot;trolling.&quot;  However, I expect these to be rare events, and especially as we get more high reputation users, I would hope a moderator would only rarely have to intervene.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;About &lt;a href=&quot;http://www.levreyzin.com&quot; rel=&quot;nofollow&quot;&gt;me&lt;/a&gt;: I am a postdoc at &lt;a href=&quot;http://arc.gatech.edu&quot; rel=&quot;nofollow&quot;&gt;ARC&lt;/a&gt; at Georgia Tech. In case people find it relevant, I mostly work in learning theory and in machine learning, so I am interested in both &lt;em&gt;theory&lt;/em&gt; and &lt;em&gt;practice&lt;/em&gt; of learning.  I'm a fairly high reputation user (though not nearly as high as some other candidates!).  I visit the site daily, and I visit meta weekly, though if I became a moderator, I would increase my participation in meta as well.  I am in the EST (UTC -5) time zone.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT: Regarding the current &quot;&lt;a href=&quot;http://meta.cstheory.stackexchange.com/questions/902/how-long-are-moderator-terms&quot;&gt;lifetime appointment&lt;/a&gt;&quot; policy, I think occasional rotation in the moderator pool would be healthy, and I imagine whether or not I am elected, I would advocate for periodic (say, yearly) elections.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT2: This is my last attempt at renominating myself.  If this gets deleted, so be it.  &lt;/p&gt;&#xA;" OwnerUserId="123" LastEditorUserId="123" LastEditDate="2011-01-28T19:42:25.913" LastActivityDate="2011-01-28T19:42:25.913" CommentCount="1" CommunityOwnedDate="2011-01-27T00:27:23.477" ContentLicense="CC BY-SA 2.5" />
  <row Id="4579" PostTypeId="2" ParentId="4571" CreationDate="2011-01-27T00:33:39.137" Score="6" Body="&lt;p&gt;This should maybe be a comment, but it is too long:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An example that might help you to understand what is happening is the following situation:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Arthur has a SAT problem for which $s \in L$ is represented by a very large number of clauses with a very large number of variables. He might not be able to write down the whole list of clauses efficiently, but given an index, he can generate the corresponding clause efficiently, as well as check whether it is satisfied given an assignment of values to the variables in it. He also has a gap condition, that is, either it is possible to satisfy all clauses, or at most a constant fraction of them. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then, a proof could be a string representing an assignment of values to the variables in Arthur's system. To verify probabilistically whether $s \in L$, Arthur selects a random clause, queries the positions in the string corresponding to the variables that appear in it, and checks whether the clause is satisfied. If it is satisfied he accepts, and otherwise he rejects.&lt;/p&gt;&#xA;" OwnerUserId="1632" LastActivityDate="2011-01-27T00:33:39.137" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="4580" PostTypeId="2" ParentId="4571" CreationDate="2011-01-27T02:48:06.637" Score="9" Body="&lt;p&gt;I don't know whether you want to know about probabilistically checkable proofs or interactive proof systems. These two things are different. In interactive proof systems, there are two players, Arthur (the verifier) and Merlin (the prover), and they may perform several rounds of communication. For a probabilistically checkable proof the prover writes down a long proof, but the verifier only needs to check a few bits of it to be fairly sure the proof is correct.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The easiest interactive proof system to understand is the one showing that two graphs are not isomorphic. There are probably a number of better explanations on the web, but here's the short version. The verifier has two graphs $G_1$ and $G_2$, and the prover wants to show that they are not isomorphic. What the verifier can do is pick one of two graphs at random, and permute its vertices randomly. If the prover can reliably tell the verifier which of $G_1$ or $G_2$ the verifier chose, then the graphs are not isomorphic (or the prover was very, very lucky).&lt;/p&gt;&#xA;" OwnerUserId="1677" LastEditorUserId="1677" LastEditDate="2011-01-28T03:49:23.757" LastActivityDate="2011-01-28T03:49:23.757" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="4581" PostTypeId="1" CreationDate="2011-01-27T03:34:11.760" Score="10" ViewCount="345" Body="&lt;p&gt;Peter Taylor and Tsuyoshi Ito solved a previous question that I posted:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/questions/4358/covering-a-set-of-intervals&quot;&gt;Covering a set of intervals&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have a slight variation on that question that I'd also like to ask. I'm not sure what the etiquette here is here but I'll post the original question + modification here (if that's discouraged then I sincerely apologize!)  The question posted was:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is the following question in NP:  &quot;Given a finite set of half-open intervals and integers $k$ and $L$, is there a subset of the intervals so the sum of their characteristic functions can be expressed as a sum of characteristic functions of $k$ intervals of length $L$?&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem is NP-complete via a reduction from the subset-sum problem.  My variation is:  &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Does the complexity change if we&#xA;  require that all of the given&#xA;  intervals have length less than $L$?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Thanks!&lt;/p&gt;&#xA;" OwnerUserId="3286" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.743" LastActivityDate="2011-01-28T02:47:55.067" Title="Covering a set of intervals, continued" Tags="&lt;cc.complexity-theory&gt;&lt;cg.comp-geom&gt;&lt;scheduling&gt;" AnswerCount="0" CommentCount="5" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="4582" PostTypeId="1" AcceptedAnswerId="4590" CreationDate="2011-01-27T04:01:43.953" Score="9" ViewCount="1937" Body="&lt;p&gt;In my experience, context-sensitive languages and linear bounded automata are frequently skipped or breezed over in computability theory courses, and are even left out of some notable text books, although finite and pushdown automata receive a lot of attention. Surely there must be a good reason for why LBAs are given less focus than their counterparts?&lt;/p&gt;&#xA;" OwnerUserId="3478" LastEditorUserId="3478" LastEditDate="2011-01-27T14:40:31.460" LastActivityDate="2011-01-27T16:40:18.253" Title="Why are linear bounded automata not as popular as other automata?" Tags="&lt;computability&gt;&lt;fl.formal-languages&gt;&lt;automata-theory&gt;" AnswerCount="4" CommentCount="6" ContentLicense="CC BY-SA 2.5" />
  <row Id="4583" PostTypeId="2" ParentId="4565" CreationDate="2011-01-27T05:07:59.840" Score="14" Body="&lt;p&gt;While there are some techniques that can be applied to fault-tolerance for all models, how resistant a computational model is to fault tolerance depends on the model. For instance, Peter Gacs has done quite a bit of research with fault tolerance on cellular automata, and he shows that (with a lot of work) you can build fault-tolerant cellular automata.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Von Neumann proved that by using redundancy, you could build a reliable computer out of unreliable components using only logarithmic overhead.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For quantum computation, quantum circuits can be made fault tolerant with polylogarithmic overhead ($\log^c n$ overhead, where finding the correct value of $c$ is still open). Another open question for quantum computation is whether adiabatic quantum computation can be made fault tolerant in a physically reasonable manner (physically reasonable means it is possible that the method leads to a scalable adiabatic quantum computer; for example, you're not allowed to take the temperature to 0 as the size of the computation gets larger).&lt;/p&gt;&#xA;" OwnerUserId="1677" LastEditorUserId="1677" LastEditDate="2011-01-28T16:50:19.077" LastActivityDate="2011-01-28T16:50:19.077" CommentCount="8" ContentLicense="CC BY-SA 2.5" />
  <row Id="4584" PostTypeId="1" AcceptedAnswerId="4585" CreationDate="2011-01-27T05:25:53.663" Score="3" ViewCount="266" Body="&lt;p&gt;I'm trying to decide whether or not to do a project for a professor.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The project involves writing a survey paper (of high enough quality to get his research group up to speed for a peripheral project) about Quantum Monte Carlo. The application they have in mind is calculating the energy of a quantum system and comparing QMC to a different method of doing such calculations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What sort of background knowledge is required to get a grip on QMC (enough to be able to understand the significance of foundational and some more recent papers in the field). The survey paper would be due sometime by the end of school. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Don't skip anything I really need to know - assume I only an average upper-level undergrad CS major's knowledge of physics and computer science. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Reference suggestions are very welcome.&lt;/p&gt;&#xA;" OwnerUserId="3337" LastActivityDate="2011-01-27T12:12:00.700" Title="Background Required to understand Quantum Monte Carlo techniques?" Tags="&lt;reference-request&gt;&lt;quantum-computing&gt;&lt;statistical-physics&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4585" PostTypeId="2" ParentId="4584" CreationDate="2011-01-27T05:37:04.497" Score="4" Body="&lt;p&gt;Do you have a tame physicist (preferably one who is familiar with Quantum Monte Carlo techniques) that you can talk to?  I don't think it's actually all that hard, but if you try to understand it by reading about it, I strongly suspect that you'll find the books all assume you understand some moderately advanced quantum mechanics/quantum field theory (time-ordered integrals, some non-obvious properties of operators) which they don't explain, and if you don't understand these, you'll find their explanations completely incomprehensible.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I also see from Google that there are lots of different variations on the Quantum Monte Carlo method, some of which will be harder than others, and deciding which one to use for a particular problem is very likely a skilled art.&lt;/p&gt;&#xA;" OwnerUserId="1677" LastEditorUserId="1677" LastEditDate="2011-01-27T12:12:00.700" LastActivityDate="2011-01-27T12:12:00.700" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="4586" PostTypeId="2" ParentId="4479" CreationDate="2011-01-27T06:16:14.610" Score="3" Body="&lt;p&gt;This is actually a non-trivial problem and active area of research.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Plugging citeseer data into a graph visualizer is very doable (ex. Pajek), and will give you a decent way to browse if you size things by PageRank and maybe include a cutoff threshold (though missing obscure papers that would be useful to you is still an issue). Unfortunately, knowing why one paper cites another is often difficult. Computer science papers often have huge lists of citations, most of which are not vital to intellectual comprehension of a particular paper. Whether papers are being cited because they represent a classic result, are being improved upon, are being contrasted with, or actually helped create the ideas of the current paper can't be known without some textual analysis (though other methods might offer some help).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Surfing through a visualizer for &quot;prominent papers&quot; would be more aesthetically pleasant but not much more useful than surfing google scholar; mega-papers with hundreds of citations, but not necessarily related to the subfield you desire, would dominate the landscape. Also, certain interdisciplinary papers could &quot;pollute&quot; otherwise neat topic partitions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm actually exaggerating the problem some. Using a visualizer on citation data the way you described, if well-implemented (mainly trimming the results so they're not too cluttered but so that it isn't reduced to only big-name results), could be very very helpful, especially with awareness of its limitations. All I'm really saying is that a good survey paper is probably the best possible option to examine a subfield, if one exists.&lt;/p&gt;&#xA;" OwnerUserId="3337" LastActivityDate="2011-01-27T06:16:14.610" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="4587" PostTypeId="2" ParentId="4546" CreationDate="2011-01-27T08:10:24.973" Score="1" Body="&lt;p&gt;A good introductory book would have a title such as:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0131377108&quot; rel=&quot;nofollow&quot;&gt;Discrete Mathematics for Computer Science&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Many such titles are available. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another option is to find suitable material online: a good starting point, which has lots of links, is &lt;a href=&quot;http://en.wikiversity.org/wiki/Introductory_Discrete_Mathematics_for_Computer_Science&quot; rel=&quot;nofollow&quot;&gt;http://en.wikiversity.org/wiki/Introductory_Discrete_Mathematics_for_Computer_Science&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The other option is to google &quot;Discrete mathematics&quot; and such like, find .pdf files and skim through them to see whether they are at your level. Also the notes of many first year university courses covering discrete mathematics and such topics are available online. Again, google is your friend.&lt;/p&gt;&#xA;" OwnerUserId="77" LastActivityDate="2011-01-27T08:10:24.973" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4588" PostTypeId="2" ParentId="4582" CreationDate="2011-01-27T08:22:10.647" Score="3" Body="&lt;p&gt;Well, ask your professor why he did it. I can only guess.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;They are not as interesting as Turing complete models and PDA because they are in the void of uselessness* they share, of course, with their language equivalent: not as powerful as possible, but already very much intractable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another reason might be that not as much is known (guessing here) about them, but that might come down to a chicken-egg-problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is unclear weather $NLBA = DLBA$, so that might pose problems for didactics. Also, typical proofs (e.g. accepted language, model equivalences) are much harder than for other models.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(*) deliberate exaggeration&lt;/p&gt;&#xA;" OwnerUserId="1546" LastActivityDate="2011-01-27T08:22:10.647" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4589" PostTypeId="1" CreationDate="2011-01-27T09:09:48.223" Score="2" ViewCount="443" Body="&lt;p&gt;as far as I know, Motwani &amp;amp; Raghavan, ”&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0521474655&quot; rel=&quot;nofollow&quot;&gt;Randomized Algorithms&lt;/a&gt;”, Cambridge University Press, 1995 is the standard book for randomized algorithms. This is an excellent theoretical intro. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Which is another book (or book containing chapters) on applied randomized algorithms, especially on image processing, bioinformatics or pattern matching. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks,&#xA;Lucian&lt;/p&gt;&#xA;" OwnerUserId="1011" LastEditorUserId="80" LastEditDate="2011-01-27T21:39:53.743" LastActivityDate="2011-01-27T21:39:53.743" Title="Texts on application of randomized algorithms" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;randomized-algorithms&gt;&lt;books&gt;" AnswerCount="0" CommentCount="5" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4590" PostTypeId="2" ParentId="4582" CreationDate="2011-01-27T09:51:15.710" Score="13" Body="&lt;p&gt;With &quot;appropriate&quot; modifications we can turn these classes into complexity classes; Finite Automata into $NC^1$, CFL into LogCFL, and LBA into PSPACE. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It should now be quite clear why we are interested in the first two more than LBA. The first two naturally fit into the usual definition of feasible computation. But PSPACE does not.&lt;/p&gt;&#xA;" OwnerUserId="1449" LastActivityDate="2011-01-27T09:51:15.710" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="4591" PostTypeId="1" AcceptedAnswerId="4598" CreationDate="2011-01-27T09:59:08.303" Score="10" ViewCount="473" Body="&lt;p&gt;David Rodríguez - dribeas wrote in &lt;a href=&quot;https://stackoverflow.com/questions/4813327/c-library-that-has-nonblocking-collections&quot;&gt;a comment on StackOverflow&lt;/a&gt; that &quot;Not all collections can be implemented without locks&quot;. I'm not sure if this is true, and I can't find proof either way.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This statement isn't very precise, but let me try to rephrase it in a slightly more formal way: &lt;i&gt;For every collection type &lt;code&gt;C&lt;/code&gt;, there exists a lock-free collection type &lt;code&gt;C&lt;/code&gt;&lt;sub&gt;LF&lt;/sub&gt; that offers the same set of operations, and where each operation on &lt;code&gt;C&lt;/code&gt;&lt;sub&gt;LF&lt;/sub&gt; has the same big-O complexity as the corresponding operation on &lt;code&gt;C&lt;/code&gt;.&lt;/i&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I don't expect a transformation, by the way.&lt;/p&gt;&#xA;" OwnerUserId="3481" LastEditorUserId="-1" LastEditDate="2017-05-23T11:33:33.907" LastActivityDate="2011-01-27T20:04:22.177" Title="Limits on lock-free collections?" Tags="&lt;ds.data-structures&gt;&lt;pl.programming-languages&gt;&lt;dc.distributed-comp&gt;&lt;concurrency&gt;" AnswerCount="2" CommentCount="10" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4592" PostTypeId="2" ParentId="4582" CreationDate="2011-01-27T10:16:00.333" Score="3" Body="&lt;p&gt;It seems that not just CSG but also CFG, ... are out of fashion these days. I think these days automata and PDA are usually thought in computability/complexity theory courses (if at all) and there they are included &lt;em&gt;not&lt;/em&gt; for their own sake but to introduce Turing Machines. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Grammars are probably interesting for compiler theory but not so much for computability/complexity to be included in an introductionary undergrad course. There are too many topics that one would like to cover but a one semester course is just too short and we have to select and many of these topics which we cannot cover because of time restrictions are way more interesting than LBA.&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2011-01-27T10:28:49.823" LastActivityDate="2011-01-27T10:28:49.823" CommentCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="4593" PostTypeId="2" ParentId="4591" CreationDate="2011-01-27T12:11:24.040" Score="3" Body="&lt;p&gt;I think that &quot;COLLECTIONS&quot; stands for &quot;queues, stacks, linked lists, trees, ...&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;From &lt;a href=&quot;http://www.cl.cam.ac.uk/research/srg/netos/lock-free/&quot; rel=&quot;nofollow&quot;&gt;http://www.cl.cam.ac.uk/research/srg/netos/lock-free/&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Through careful design and implementation it's possible to build data structures that are safe for concurrent use without needing to manage locks or block threads. These non-blocking data structures can increase performance by allowing extra concurrency and can improve robustness by avoiding some of the problems caused by priority inversion in local settings, or machine and link failures in distributed systems.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;The best overall introduction to our non-blocking algorithms is the paper Concurrent programming without locks, currently under submission, which covers our designs for multi-word compare-and-swap, word-based software transactional memory and object-based software transactional memory.&lt;/em&gt; &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;If &quot;lock-free&quot; means &quot;do not use operarting system's semaphores, mutex, monitors, ...&quot;&lt;/strong&gt; then I think (but I'm not an expert) that every collection can be made lock-free using atomic read-write-modify primitives that must be supported by the hardware.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A computational overhead is needed, but I think that for simple structures like lists, trees, hash tables ... the overall computational complexity of searches/insertions/deletions $O(\cdot)$ does not change.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Exhaustive documentation on the subject can be found online:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.google.it/search?q=lock+free+algorithm+filetype%3Apdf&quot; rel=&quot;nofollow&quot;&gt;http://www.google.it/search?q=lock+free+algorithm+filetype%3Apdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(... and further references at the end of each document)&lt;/p&gt;&#xA;" OwnerUserId="3247" LastActivityDate="2011-01-27T12:11:24.040" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4594" PostTypeId="1" CreationDate="2011-01-27T12:31:09.980" Score="-3" ViewCount="150" Body="&lt;p&gt;Given a set of $n$ configurations $C_1 , C_2 ... C_n$ and a function $f$ such that $f(C_i)$ produces a set of $m$ results $R_1, R_2 ... R_m$ where $R_j=\{0,1\}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We only care about the $\Sigma f(C_i)$ - i.e. $Rj = 1$ if any $f(C_i)$ has $R_j = 1$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is an efficient algorithm to find a subset of $C$ of size $s$ such that a maximum number of $R_j = 1$ are found?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A secondary problem is to have the subset sorted such that new $R_j = 1$ are found first. i.e  $f(C_{i+1})$ will find $\leq$ new $R_j = 1$ than $f(C_i)$&lt;/p&gt;&#xA;" OwnerUserId="3483" LastEditorUserId="3483" LastEditDate="2011-01-27T13:37:43.080" LastActivityDate="2011-01-27T17:50:19.620" Title="Find subset of configurations which produces maximum result" Tags="&lt;ds.algorithms&gt;" AnswerCount="1" CommentCount="8" ContentLicense="CC BY-SA 2.5" />
  <row Id="4595" PostTypeId="1" CreationDate="2011-01-27T14:59:48.653" Score="13" ViewCount="2765" Body="&lt;p&gt;Compiler theory seems to be a pretty vetted subject. What are some open problems or current research happening in the field?&lt;/p&gt;&#xA;" OwnerUserId="3478" LastEditorUserId="1800" LastEditDate="2011-01-27T15:18:16.950" LastActivityDate="2011-03-05T13:42:10.097" Title="What are current open problems in compiler theory?" Tags="&lt;soft-question&gt;&lt;big-list&gt;&lt;open-problem&gt;&lt;compilers&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="6" CommunityOwnedDate="2011-01-27T17:56:09.920" ContentLicense="CC BY-SA 2.5" />
  <row Id="4596" PostTypeId="1" CreationDate="2011-01-27T15:03:43.877" Score="1" ViewCount="9791" Body="&lt;p&gt;As far as I understand all languages in NP are decidable. But not all decidable Languages are in NP, because NP only contains decision problems. &#xA;Are there also decision problems that are decidable but not in NP?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is the relationship between NP and context-free/regular languages?&#xA;Are there context-free languages in NP?&#xA;Are there regular languages in NP?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there languages in NP that are not context-free?&#xA;Are there languages in NP that are not regular?&lt;/p&gt;&#xA;" OwnerDisplayName="user3484" LastActivityDate="2015-11-09T01:26:49.873" Title="Relationship between context-free/decidable languages and NP" Tags="&lt;fl.formal-languages&gt;&lt;np&gt;" AnswerCount="2" CommentCount="3" FavoriteCount="1" ClosedDate="2011-01-27T17:33:39.377" ContentLicense="CC BY-SA 2.5" />
  <row Id="4597" PostTypeId="2" ParentId="4596" CreationDate="2011-01-27T16:22:35.527" Score="1" Body="&lt;p&gt;There are notions of equivalence between languages, algorithms, and recursive functions; however it is important not to mix the terminology associated with each of these.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For instance, some classes of languages are: regular, context-free, context sensitive, unrestricted.  Language classes are not themselves in P or NP.  Language classes are defined by imposing constraints on generative grammar rules.  A language is in a given class if there exists at least one grammar that generates it and satisfies the constraints of the class.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As you noted, there are classes of problems.  Some problems are the recognition of languages, and this is how we relate problem classes to language classes.  A problem is decidable if there exists at least one Turing machine that halts (concludes true or false) on every possible input.  A problem is in P is there exists at least one &lt;em&gt;deterministic&lt;/em&gt; Turing machine that decides any possible input in a number of steps that is bounded by a polynomial function of the input length.  In contrast, NP is essentially the same except that it allows the Turing machine to be &lt;em&gt;non-deterministic&lt;/em&gt; -- a powerful concept.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now you can see the difference between language and algorithm families.  Take the family of context-free languages.  For any such a language, there is an algorithm which recognises sentences in that language, and does so deterministically in polynomial time.  That algorithm is in P.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we instead consider a context sensitive language, then any algorithm that recognises its sentences will (for some input) require non-deterministic choice in order to prevent going beyond polynomial time (assuming P != NP).  Of course, if we simulate non-deterministic choice with a strategy like backtracking, we typically exceed polynomial time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now I will try to reinterpret your questions.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Are there languages which are decidable, but not always in non-deterministic polynomial time (ie. for which an algorithm exists, but no algorithm is in NP)?&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I must confess: I don't know.  Has anyone given this thought?&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;What is the relationship between NP and context-free/regular languages?&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Answered in discussion.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Are there context-free languages which are not decidable in P, but are decidable in NP?&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;There are algorithms in P which solve any context-free language decision problem.  For example, the Earley parser.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Are there regular languages decidable in NP?&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;All regular languages are decidable in P.  (Consequently, they are also decidable in NP.)&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Are there languages in NP that are not context-free?&lt;/li&gt;&#xA;&lt;li&gt;Are there languages in NP that are not regular?&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I think the asker means to ask if there are such languages, not decidable in P.  This is a loaded question because is deals with P=NP as well as the context-free issue.  As stated, all context-free languages are decidable in P, so lets remove that part of the question.  I think what is then being asked is this: are there languages decidable in NP, but not in P?  This asks if P != NP -- and the truth is we just don't know.  I am fairly sure that most CS people believe P != NP, which implies that such languages do exist.  However, no proof has been found as yet.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have not addressed the third arm, recursively enumerable, because the Skiy didn't mention it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(If anyone spots any mistakes here, please offer corrections.  This was my first response here.)&lt;/p&gt;&#xA;" OwnerUserId="3486" LastEditorUserId="3486" LastEditDate="2011-01-27T16:29:04.317" LastActivityDate="2011-01-27T16:29:04.317" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="4598" PostTypeId="2" ParentId="4591" CreationDate="2011-01-27T16:28:39.240" Score="11" Body="&lt;p&gt;Since I was myself somewhat confused, I begin by clarifying a few concepts in the question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Collection&lt;/em&gt;. I see no reason to spend time rigorously defining what &quot;collection&quot; means when we can simply ask what happens for data structures in general. A data structure occupies a piece of memory and has some &lt;em&gt;operations&lt;/em&gt; that may access that memory and that may be invoked by &lt;em&gt;users&lt;/em&gt;. These users may be distinct processors or just different threads, it does not concern us. All that matters is that they may execute operations in parallel.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Lock-free&lt;/em&gt;. &lt;a href=&quot;http://scholar.google.co.uk/scholar?cluster=14359385420878719513&quot;&gt;Herlihy and Boss&lt;/a&gt; say that a data structure is lock-free when a crashing user does not prevent further uses of the data structure. For example, imagine one pours water on a processor that is in the midst of inserting a node in a sorted set. Well, if other processors try later to insert into that sorted set, they should succeed. (&lt;em&gt;Edit:&lt;/em&gt; According to this definition, it is the case that if a data structure uses locks then it is not lock-free, but it is &lt;em&gt;not&lt;/em&gt; the case that if a data structure does not use locks then it is lock-free.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;With these definition, I think Herlihy and Boss basically say that the answer is to turn critical regions into transactions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But, you may ask, does this have the same complexity? I'm not sure the question makes sense. Consider &lt;code&gt;push(x) { lock(); stack[size++] = x; unlock(); }&lt;/code&gt;. Is this a constant time operation? If you ignore the locking operation and hence other users then you can answer YES. If you do not wish to ignore other users, then there really is no way to say whether &lt;em&gt;push&lt;/em&gt; will run in constant time. If you go one level up and see how the stack is used by some particular algorithm, then you might be able to say that &lt;em&gt;push&lt;/em&gt; will always take constant time (measured now in terms of whatever happens to be the input of your parallel algorithm). But that really is a property of your algorithm, so it doesn't make sense to say that &lt;em&gt;push&lt;/em&gt; &lt;strong&gt;is&lt;/strong&gt; a constant time operation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In summary, if you ignore how much a user executing an operation waits for other users, then using transactions instead of critical regions answers your question affirmatively. If you don't ignore the waiting time, then you need to look at how the data structure is used.&lt;/p&gt;&#xA;" OwnerUserId="236" LastEditorUserId="236" LastEditDate="2011-01-27T20:04:22.177" LastActivityDate="2011-01-27T20:04:22.177" CommentCount="12" ContentLicense="CC BY-SA 2.5" />
  <row Id="4599" PostTypeId="2" ParentId="4582" CreationDate="2011-01-27T16:40:18.253" Score="2" Body="&lt;p&gt;Regular expressions and CFGs are used in practice for parsing code (that is, programming languages). The reason is that there are very efficient algorithms for parsing them. LBAs, on the other hand, are too powerful to actually use in that context.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One historical origin of automata theory is the subject of compiler construction. For the reason mentioned above, only regular languages and CFGs are useful for constructing compilers (notwithstanding the fact that attributive grammars are not really CFGs, and that CFG parsing algorithms don't really parse the entire class of CFGs). LBAs might have been invented by Chomsky as some intermediate level of complexity between the mundane and &quot;English&quot;. So perhaps the proper place to teach them is in linguistics courses rather than computer science ones!&lt;/p&gt;&#xA;" OwnerUserId="40" LastActivityDate="2011-01-27T16:40:18.253" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="4601" PostTypeId="2" ParentId="4596" CreationDate="2011-01-27T17:30:15.457" Score="5" Body="&lt;p&gt;Basic Facts:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;CYK-algorithm parses inputs of length $n$ for any CFG in Chomsky normal form in time in $\mathcal{O}(n^3)$&lt;/li&gt;&#xA;&lt;li&gt;Every CFL is generated by a CFG in Chomsky normal form&lt;/li&gt;&#xA;&lt;li&gt;Every regular language is (also) context-free.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;That answers immediately all those questions:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What is the relationship between NP and context-free/regular languages? Are there context-free languages in NP? Are there regular languages in NP?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;$\{a^nb^nc^n \mid n \geq 0\}$ is not context-free (by &lt;em&gt;pumping lemma&lt;/em&gt;). It can obviously be decided by a (D)TM in quadratic time. That answers:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Are there languages in NP that are not&#xA;  context-free? Are there languages in&#xA;  NP that are not regular?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;And as for&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Are there also decision problems that&#xA;  are decidable but not in NP?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Yes, see &lt;a href=&quot;https://cstheory.stackexchange.com/questions/3389/problems-that-cannot-be-verified-in-polynomial-time&quot;&gt;Problems that cannot be verified in polynomial time&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="1546" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2015-11-09T01:26:49.873" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="4602" PostTypeId="2" ParentId="4594" CreationDate="2011-01-27T17:50:19.620" Score="3" Body="&lt;p&gt;This problem is known as MAX-COVER. A good algorithm for MAX-COVER is the greedy algorithm: at each stage, we pick a set which maximizes the number of uncovered elements. This algorithm produces a cover of size $s$ which covers a fraction of $1-1/e$ of the optimum. Feige proved that it is NP-hard to outperform this algorithm by any constant.&lt;/p&gt;&#xA;" OwnerUserId="40" LastActivityDate="2011-01-27T17:50:19.620" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4603" PostTypeId="6" CreationDate="2011-01-27T20:45:36.933" Score="0" Body="&lt;p&gt;I've been thinking about the role of a moderator on this site, and how best to build the site over the next months.  Once I read on Meta that, once elected, moderators remain &quot;in office&quot; until they step down, I decided to make my thoughts public, because I believe I have pinpointed some issues that site leaders should take seriously.  On the one hand, this self-nomination is real: if elected, I would try my best to be a good moderator for as long as I could.  On the other hand, I would be pleased with any three moderators chosen from the current list of nominees, so my message isn't &quot;Vote for Me,&quot; but, &quot;I hope we all think about the folllowing things as we go forward.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;About Me&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am an ABD computer science graduate student.  My research interests could be broadly descrbed as distributed computing, natural computing, and Theory (Other).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I usually log into cstheory Mon-Fri from 9am-12noon, and 10:00-10:30pm, Central Time US, UTC/GMT -6 hrs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I committed to the creation of cstheory early on, and was active in both private and public beta periods.  Perhaps my most significant contribution to the site has been: I wrote the (now-official) policy on questions requesting guidance on research paper topics.  This was a contentious issue, and a modification of the &quot;no homework questions&quot; policy, which had also been contentious.  I also proposed the voting method used on Meta to determine whether a policy proposal succeeds or fails, and I helped design publicity materials for SIGACT News and for FOCS 2010.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Role of a Moderator&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The official StackExchange position on the role of a moderator is much more limited than the roles our temporary moderators have, in fact, performed -- and it seems as though there is some disagreement among the candidates about the correct way to view the responsibilities of the job.  I'll divide my thoughts into different areas.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Directing Traffic&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I like the notion of directing traffic more than, say, being the heavy who closes off-topic questions, because the way site rules are enforced has an effect on the tone of the site overall.  I am a big fan of the &quot;virtual vote to close,&quot; which Ryan and Suresh often used over the last few months: they announced in a comment that a question wasn't consistent with site policy in its current incarnation, but then they gave the asker time to fix it.  (This also meant they gave community members time to help the asker to fix it.)  I am in favor of letting the community take care of most community issues, and saving the &quot;emergency powers&quot; of moderation for emergencies.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I believe the best traffic-director in all of TCS cyberspace is Richard Lipton, and his handling of the diversity of comments on his blog is something any site moderator would do well to emulate.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Welcoming new users and helping them succeed at using the site&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Part of directing traffic, perhaps, but I wanted to separate it out for two reasons.  First, we have discussed on Meta that a long term objective for this site should be that a researcher in another field (e.g., chemistry) with an interest in modeling a problem algorithmically, could come to this site and ask a question that might require several iterations to &quot;get right.&quot;  Second, I saw in a recent question that a new user was told his topic was not TCS and he should post it somewhere else, whereas I and others thought, indeed, it was in scope for this site.  Moral being: A good moderator needs to know when a question is &quot;well meant&quot; even if it doesn't appear to be in scope at the moment, and will (allow the community to) work with the asker to produce something that benefits both the asker and the site.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Dave Clarke is perhaps the nominee with the best track record in this regard.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Conducts site organization and maintenance&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;StackOverflow now gets 2,000 new questions a day.  Need I say more?  We will probably never get to that sheer quantity, but a significant increase above our current level of traffic is something we need to plan for.  Correct tagging, etc., is vital to creation of a useful community information repository.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Kaveh Ghasemloo and Sadeq Dousti are the co-best nominees in this regard.  If we consider only the last 45 or so days of the site, Hsien-Chih Chang would join them as co-best.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Publicizes the site&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is out-of-scope, as far as official StackExchange policy is concerned, and perhaps Jeff Atwood &amp;amp; co. might consider additional community leadership positions, like &quot;Site Ambassador.&quot;  In the absence of any elected role other than moderator, I think there's no question that the ability to say, &quot;My name is &lt;em&gt;_&lt;/em&gt;_, I was elected to a position of leadership in cstheory and I'd like to tell you about it,&quot; has more cachet than just saying, &quot;I'm one of the most active members on the site.&quot;  I have some ideas about next steps in site publicity, which I will mention next.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Not that this needs to be said, but Suresh Venkat is the nominee with the strongest track record in this area.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Next Steps in Site Publicity&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We now possess a trove of world-class information and explanation.  The most remarkable question on the front page as I write this is the one about techniques for reversing quantifiers.  This question-answer could easily be extended to an hour-long lecture, or powerpoint presentation, or a blog entry as readable-but-deep as anything that appears on Lipton's or Gowers's blogs.  I believe we should make a more focused effort to expand upon and publicize our best questions to the &quot;outside world.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm a semi-regular guest-blogger on the Computational Complexity blog (my next contribution, on chemoinformatics, is scheduled to appear within the week), and I have an ongoing invitation to submit guest blogs that are on complexity broadly-defined.  I would be happy to choose a question every couple months, and write about the issues it brings up, linking to the site, and giving credit to the original asker and answerer.  This is something I would enjoy doing whether I were a moderator or not (though perhaps I should only say that after the election, ha).  If a few of us started doing this, we could produce regular mini-publications on a variety of blogs, as well as newsletter for SIGACT, SIGPLAN, etc.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Other than blogs and newsletters, there are several other electronic resources, like the DISC/PODC mailing list.  Collecting the &quot;best&quot; (or even just collecting all) of the distributed computing questions every couple months, and mailing them out on the DISC/PODC list would be a community service that would also advance the site.  It would be a bit like a Technical Report Column -- putting everything at your fingertips and you could decide what, if anything, to investigate.  So I would suggest we target some venues for this type of publicity, and then send them question lists periodically.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, I bet a lot of conferences would be open to 10-15 minute announcements about the current status of cstheory, and examples of the best questions and answers in the field of the conference.  If an announcement is too much, a poster at a prominent location as well as in the poster session seems easy to swing.  So I'd suggest a thread on Meta where people announce conferences they are planning to attend (or helping to organize!) so other users can help them with publicity tools if they are inclined to give upates about the site at the conference.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Recognition for Service to the Community&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I will spoil a surprise and reveal that I had already planned to ask Lance Fortnow next week if there was some &quot;Service to SIGACT/TCS&quot; award I could nominate Suresh Venkat for. He definitely deserves one.  That said, recognition for someone like Suresh is nice but not necessary, whereas I would hope, for example, that if Hsien-Chih Chang decided to apply to graduate schools, he would be able to get a kickass letter describing how helpful he has been on the site, and how technically useful his comments and answers have been.  Similarly, I hope Kaveh and Sadeq receive some type of recognition that is potentially useful when they are applying for jobs, etc.  Also, I'd like to say the following, since I'm sure Sadeq would never say it himself: given the world political situation, it would be much more difficult for Sadeq to meet people on this site in real life than it would be for, say, me, to meet the same people, because he lives in Iran.  I hope that if it is possible for cstheory users to ease Sadeq's travel to international conferences, that you please do so as he has been doing a lot for all of us.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;That's all!&lt;/p&gt;&#xA;" OwnerUserId="30" LastEditorUserId="30" LastEditDate="2011-01-27T20:45:36.933" LastActivityDate="2011-01-27T20:45:36.933" CommentCount="4" CommunityOwnedDate="2011-01-27T20:45:36.933" ContentLicense="CC BY-SA 2.5" />
  <row Id="4604" PostTypeId="1" AcceptedAnswerId="4630" CreationDate="2011-01-27T20:49:26.440" Score="17" ViewCount="501" Body="&lt;p&gt;There is a standard approximation theory where the approximation ratio is $\sup\frac{A}{OPT}$ (for problems with $MIN$ objectives), $A$ - the value returned by some algorithm $A$ and $OPT$ - an optimum value. And another theory, that of &lt;a href=&quot;http://scholar.google.com/scholar?hl=en&amp;amp;q=%22differential+approximation+ratio%22&amp;amp;btnG=Search&amp;amp;as_sdt=1,5&amp;amp;as_ylo=&amp;amp;as_vis=0&quot; rel=&quot;noreferrer&quot;&gt;differential approximation&lt;/a&gt; where the approximation ratio is $\inf\frac{\Omega-A}{\Omega-OPT}$, $\Omega$ - the worst value of a feasible solution for the given instance. The &lt;a href=&quot;http://linkinghub.elsevier.com/retrieve/pii/0304397595000607&quot; rel=&quot;noreferrer&quot;&gt;authors&lt;/a&gt; of this theory claim that it has some definite advantages over classical one. For example:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;it gives the same approximation ratio for such problems as Minimum vertex cover and Maximum independent set which are known to be just different realizations of the same problem;&lt;/li&gt;&#xA;&lt;li&gt;it gives the same ratio for max and min versions of the same problem. At the same time we know in standard theory MIN TSP and MAX TSP have very different ratios.&lt;/li&gt;&#xA;&lt;li&gt;It measures distance not only to the optimum but also to the pessimum $\Omega$. So in the case of Vertex Cover standard approximation theory says that $2$ is the best upper bound. But essentialy $2$ is the maximum ratio between the pessimum and the optimum. Thus such algorithm is guaranteed to output the solution with the worst value.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;My argument pro is: in asymptotic analysis we don't take into consideration constants and low-order terms (here I recalled the quote by Avi Widgerson: &quot;We are successful because we use the right level of abstraction.&quot;) and this is the level of abstraction for comparing algorithm's usage of resources. But when we study approximation we by some reason introduce the difference in those places where we can avoid it. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;why the differential approximation theory so poorly studied. Or the arguments involved are not strong enough?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="1060" LastEditorUserId="1060" LastEditDate="2011-01-27T21:39:07.817" LastActivityDate="2011-01-29T12:00:46.107" Title="Why differential approximation ratios are not well-studied comparing to standard ones despite of their claimed benefits?" Tags="&lt;ds.algorithms&gt;&lt;approximation-algorithms&gt;&lt;approximation-hardness&gt;" AnswerCount="3" CommentCount="1" FavoriteCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="4605" PostTypeId="2" ParentId="4489" CreationDate="2011-01-27T21:38:06.897" Score="34" Body="&lt;p&gt;Let me respond to your suggestion with a counter-suggestion: Why don't you try setting up a business, acting as a middleman between amateurs and experts?  Amateurs pay to have their proofs evaluated.  You find an expert and pay the expert to evaluate the proof, taking a cut of the money for your middleman role.  Trying to run such a business is the most reliable way of finding out whether your idea is a feasible one.&lt;/p&gt;&#xA;" OwnerUserId="2970" LastActivityDate="2011-01-27T21:38:06.897" CommentCount="7" ContentLicense="CC BY-SA 2.5" />
  <row Id="4606" PostTypeId="1" CreationDate="2011-01-27T23:23:49.940" Score="1" ViewCount="466" Body="&lt;p&gt;In any Object-Oriented type system the type relation of two objects A and B can be characterized in exactly one of the following ways:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;A has the same type as B&lt;/li&gt;&#xA;&lt;li&gt;A is a subtype of B&lt;/li&gt;&#xA;&lt;li&gt;B is a subtype of A&lt;/li&gt;&#xA;&lt;li&gt;A and B are not (directly) related.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;My goal is to define an ordering relation which I can then use to demonstrate covariance and contravariance. The canonical ordering relation used for this in literature is &lt;code&gt;a &amp;lt;: b&lt;/code&gt;, which is defined as &quot;a is a subtype of b&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since my math course at university (1st semester CS) has only covered partial orders so far, I tried starting with a simple partial order:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We can establish a well defined order relation between two types as &lt;em&gt;&quot;X is a subtype of or of the same type as Y&quot;&lt;/em&gt;, written as &lt;code&gt;X &amp;lt;:= Y&lt;/code&gt; because it fullfils the three neccessary properties&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Reflexitivity: &lt;code&gt;For all types T, T&amp;lt;:= T.&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;Antisymmetry: &lt;code&gt;For all types T and U, T &amp;lt;:= U and U &amp;lt;:= T implies U = T&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;Transitivity: &lt;code&gt;For all types S, T and U S &amp;lt;:= U and U &amp;lt;:= T implies S &amp;lt;:= U&lt;/code&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Now my problem is that I want to use this to show that covariant means (from wikipedia):&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;a type operation is called covariant&#xA;  if it preserves the ordering, ≤, of&#xA;  types, which orders types from more&#xA;  specific to more generic;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I guess I'm in conflict with the definition if I substituted &amp;lt;: with my made up &amp;lt;:= relation here. However, this is just a gut feeling. So in order to arrive at &amp;lt;:, I'd need to make my partial ordering &amp;lt;:= a strict total ordering (if I understood correctly). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;From a logical perspective this seems simple, however I struggle with the mathematically correct way of formulating this. Wikipedia seems to suggest that it should be possible:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Contrast this [a total order] with a&#xA;  partial order, which has a weaker form&#xA;  of the third condition (it only&#xA;  requires reflexivity, not totality).&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;...&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;For each (non-strict) total order ≤&#xA;  there is an associated asymmetric&#xA;  (hence irreflexive) relation &amp;lt;, called&#xA;  a strict total order&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;It seems I'm almost there, however this is completely new terrain for me and I'd like to how this could be done actually.&lt;/p&gt;&#xA;" OwnerUserId="3490" LastActivityDate="2011-01-27T23:23:49.940" Title="Well Defined Ordering Relations in Object Oriented Type Systems" Tags="&lt;type-theory&gt;&lt;partial-order&gt;&lt;total-ordering&gt;" AnswerCount="0" CommentCount="10" ClosedDate="2011-01-28T18:59:20.790" ContentLicense="CC BY-SA 2.5" />
  <row Id="4607" PostTypeId="2" ParentId="4604" CreationDate="2011-01-28T00:03:36.833" Score="3" Body="&lt;p&gt;I am not familiar with the notion of differential approximation, and I do not have any theory why it is not well-studied.  However, I would like to point out that it is not always desirable to describe the performance of an approximation algorithm by a single measure.  In this sense, I find it difficult to agree that some measure is &lt;em&gt;better&lt;/em&gt; than another.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, as you stated, minimum vertex cover admits a polynomial-time 2-approximation algorithm whereas it is NP-hard to approximate maximum independent set to any constant ratio.  Although I understand that this can be surprising at first sight, it has a legitimate meaning: (1) minimum vertex cover can be approximated well when it is small but (2) it cannot be approximated well when it is large.  When we state that it is NP-hard to approximate minimum vertex cover (and maximum independent set) with any positive constant differential approximation ratio, we are effectively ignoring the property (1).  It is probably good enough for some purposes to ignore the property (1), but certainly it is not always the case.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that we do not always use approximation ratio to describe the performance of approximation algorithms.  For example, to state an inapproximability result based on the PCP theorem in its full generality, we need the formulation based on gap problems.  See &lt;a href=&quot;https://cstheory.stackexchange.com/questions/2421/hardness-of-approximation-additive-error/2425#2425&quot;&gt;my answer to another question&lt;/a&gt; for details.  In this case, neither using the standard approximation ratio nor using the differential approximation ratio allows us to state the result in the full generality.&lt;/p&gt;&#xA;" OwnerUserId="567" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.743" LastActivityDate="2011-01-28T00:03:36.833" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="4608" PostTypeId="2" ParentId="14" CreationDate="2011-01-28T01:47:17.553" Score="4" Body="&lt;p&gt;You could attach yourself to a science lab (radar, sonar, weather, space, etc...). The scientists will have algorithms that are not ready for prime time and learning their field will enable you to make contributions outside of computer science.&lt;/p&gt;&#xA;" OwnerDisplayName="user3493" LastActivityDate="2011-01-28T01:47:17.553" CommentCount="0" CommunityOwnedDate="2011-01-28T01:47:17.553" ContentLicense="CC BY-SA 2.5" />
  <row Id="4609" PostTypeId="1" CreationDate="2011-01-28T01:51:14.347" Score="11" ViewCount="753" Body="&lt;p&gt;Is there a class of hash algorithms, whether theoretical or practical, such that an algorithm in the class might be considered 'reflexive' according a definition given below:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;hash1 = algo1 ( &quot;input text 1&quot; )&lt;/li&gt;&#xA;&lt;li&gt;hash1 = algo1 ( &quot;input text 1&quot; + hash1 )&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The + operator might be concatenation or any other specified operation to combine the output (hash1) back into the input (&quot;input text 1&quot;) so that the algorithm (algo1) will produce exactly the same result. i.e. collision on input and input+output. The + operator must combine the entirety of both inputs and the algo may not discard part of the input.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The algorithm must produce high entropy in the output. It may, but need not, be cryptographically hard to reverse the output back to one or both possible inputs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am not a mathematician, but a good answer might include a proof of why such a class of algorithms cannot exist. This is not an abstract question, however. I am genuinely interested in using such an algorithm in my system, if one does exist.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is a duplicate of a question that was first posted at &lt;a href=&quot;https://stackoverflow.com/questions/4823680/reflexive-hash&quot;&gt;https://stackoverflow.com/questions/4823680/reflexive-hash&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerDisplayName="user3494" LastEditorUserId="-1" LastEditDate="2017-05-23T11:33:33.907" LastActivityDate="2011-01-29T23:28:21.557" Title="Do 'reflexive' hash algorithms exist?" Tags="&lt;ds.algorithms&gt;&lt;hash-function&gt;" AnswerCount="1" CommentCount="7" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="4610" PostTypeId="2" ParentId="1920" CreationDate="2011-01-28T02:00:22.973" Score="0" Body="&lt;p&gt;The discovery of Karatsuba multiplication was surprising.&lt;/p&gt;&#xA;" OwnerDisplayName="user3493" LastActivityDate="2011-01-28T02:00:22.973" CommentCount="1" CommunityOwnedDate="2011-01-28T02:00:22.973" ContentLicense="CC BY-SA 2.5" />
  <row Id="4613" PostTypeId="1" CreationDate="2011-01-28T06:49:24.733" Score="6" ViewCount="889" Body="&lt;p&gt;Nature has proved with the brain that it can create complex computers with very little energy consumed and released, extremely low energy compared to a common computer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, I noticed the design is completely different, why hasn't anyone tried to or succeeded to create a similar one?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) Computers use memory as the main building block. After that, a processor is used to manipulate it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) However, biological computers do not use memory as the main building block. This is a by-product. The main building block appears to be a combination of static geometry and design of the computer (DNA) which is combined with the energy generators (mitochondria, components of both DNA and energy transfer).&lt;/p&gt;&#xA;" OwnerUserId="3498" LastEditorUserId="80" LastEditDate="2011-01-29T03:52:17.547" LastActivityDate="2011-02-11T17:23:04.113" Title="Why doesn't computer science follow biology more closely in computer design?" Tags="&lt;computability&gt;&lt;big-picture&gt;&lt;natural-computing&gt;" AnswerCount="5" CommentCount="11" ContentLicense="CC BY-SA 2.5" />
  <row Id="4614" PostTypeId="2" ParentId="1539" CreationDate="2011-01-28T09:07:31.823" Score="14" Body="&lt;p&gt;&lt;a href=&quot;http://jfla.inria.fr/2010/actes/PDF/bonichon_cuoq.pdf&quot;&gt;Rangemaps&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is a specialized data structure, but it can be used as a substitute for Martin Erwig's DIET, with slightly different properties, so at least there is one existing data structure to compare it to. The DIET itself was described in an article in JFP in 1998, so perhaps it is not included in Purely Functional Data Structures.&lt;/p&gt;&#xA;" OwnerUserId="1234" LastActivityDate="2011-01-28T09:07:31.823" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4616" PostTypeId="2" ParentId="4571" CreationDate="2011-01-28T12:27:15.893" Score="13" Body="&lt;p&gt;Your interpretation isn't using randomness in the right way in an MA protocol.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Every MA problem can be reduced to a polynomial-size circuit of AND-OR-NOT gates, with some input variables designated for Merlin and the rest designated for Arthur. First Merlin tells Arthur the TRUE-FALSE values of Merlin's variables. Then Arthur flips coins to choose the TRUE-FALSE values for Arthur's variables. That's all the randomness Arthur needs so he can now throw his coin away.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now we have a logical circuit with no free variables. Arthur deterministically verifies that the circuit outputs true. &lt;/p&gt;&#xA;" OwnerUserId="550" LastActivityDate="2011-01-28T12:27:15.893" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="4618" PostTypeId="2" ParentId="3253" CreationDate="2011-01-28T14:41:59.960" Score="39" Body="&lt;p&gt;Interesting. &#xA;No one mentioned volumes of &lt;a href=&quot;http://www-cs-faculty.stanford.edu/~knuth/taocp.html&quot;&gt;The Art of Computer Programming&lt;/a&gt; by &lt;a href=&quot;http://www-cs-faculty.stanford.edu/~knuth/index.html&quot;&gt;Donald E. Knuth&lt;/a&gt;. A very detailed treatment of topics with very good exercises. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I found gems like 'resorvoir sampling' in this book just to mention one example.&lt;/p&gt;&#xA;" OwnerUserId="3508" LastEditorUserId="6180" LastEditDate="2013-01-03T18:45:01.813" LastActivityDate="2013-01-03T18:45:01.813" CommentCount="1" CommunityOwnedDate="2011-01-28T14:41:59.960" ContentLicense="CC BY-SA 3.0" />
  <row Id="4619" PostTypeId="1" AcceptedAnswerId="4640" CreationDate="2011-01-28T16:25:22.737" Score="15" ViewCount="533" Body="&lt;p&gt;I recently discovered a quadratic lower bound on the complexity of a problem in the decision tree model, and I wonder whether this result could be &lt;em&gt;partially&lt;/em&gt; generalized to the random access machine model. By &lt;em&gt;partially&lt;/em&gt;, I mean a generalization to RAM programs with a certain time/space tradeoff. For instance, I'd like to show that my problem cannot be solved by a linear-time and -space RAM program.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A.M. Ben-Amram and Z. Galil proved in this &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=146666&quot;&gt;paper&lt;/a&gt; that a RAM program running in time $t$ and space $s$ can be simulated in $O(t \, \log s)$ time on a pointer machine. Do we know similar results which could be applied to decision trees? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Alternatively, is it possible to simulate a RAM program running in space $s$ with a decision tree of degree $s$? (intuitively, indirect addressing could be simulated using nodes of degree $\leq s$)&lt;/p&gt;&#xA;" OwnerUserId="2317" LastEditorUserId="2317" LastEditDate="2011-01-28T17:11:32.180" LastActivityDate="2011-01-30T14:41:56.273" Title="Complexity lower bound: the gap between decision trees and RAMs" Tags="&lt;cc.complexity-theory&gt;&lt;lower-bounds&gt;" AnswerCount="2" CommentCount="4" FavoriteCount="7" ContentLicense="CC BY-SA 2.5" />
  <row Id="4620" PostTypeId="2" ParentId="4604" CreationDate="2011-01-28T17:53:08.493" Score="3" Body="&lt;p&gt;As Tsuyoshi points out, the issue might be for what kind of argument you want to use the obtained bound. In the following, I will try to develop two different motivations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Standard ratios of the form $\alpha = \frac{A}{OPT}$ give you &lt;em&gt;absolute&lt;/em&gt; guarantees on the quality of any result the algorithm yields. That is, you can use the &lt;em&gt;result&lt;/em&gt; with confidence. You do not know how good (relatively!) the result really is, i.e. what rank amongst all solutions it has. Therefore, you can not really say which algorithm yields better solutions (or what problem can be approximated better).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Differantial ratios of the form $\alpha = \frac{\Omega - A}{\Omega - OPT}$ gives you a &lt;em&gt;relative&lt;/em&gt; guarantee for the result's quality. This can be interpreted as a quality measure for the &lt;em&gt;algorithm&lt;/em&gt; (on the given &lt;em&gt;problem&lt;/em&gt;). For every instance, you are guaranteed to get one of the $\alpha\cdot 100\%$ best solutions*, but the solution can be arbitrarily bad. Therefore, you can argue which algorithm picks better solutions (or which problem is approximated better), but you better not bet your money on the results.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, depending on what kind of statement the derived bound is to back, you should choose the proper alternative.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(*) For the sake of argument, assume that the costs of all feasible solutions are distributed uniformly in $[\Omega, OPT]$. Would be interesting, though, to study differntial bounds together with the cost distribution in order to obtain expected qualities, percentiles or confidence intervals.&lt;/p&gt;&#xA;" OwnerUserId="1546" LastActivityDate="2011-01-28T17:53:08.493" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4622" PostTypeId="1" AcceptedAnswerId="4636" CreationDate="2011-01-28T19:01:26.603" Score="10" ViewCount="1008" Body="&lt;p&gt;The cut norm $||A||_C$ of a real matrix $A = (a_{i,j}) \in \mathcal{R}^{n\times n}$ is the maximum over all $I \subseteq [n], J \subseteq [n]$ of the quantity $\left|\sum_{i \in I, j \in J}a_{i,j}\right|$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Define the distance between two matrices $A$ and $B$ to be $d_C(A,B) = ||A-B||_C$&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What is the cardinality of the smallest $\epsilon$-net of the metric space $([0,1]^{n\times n}, d_C)$?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;i.e. the size of the smallest subset $S \subset [0,1]^{n\times n}$ such that for all $A \in [0,1]^{n\times n}$, there exists an $A' \in S$ such that $d_C(A, A') \leq \epsilon$.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;(EDIT: I forgot to mention, but I am also interested in &quot;non-proper&quot; $\epsilon$-nets, with $S \subset \mathcal{R}_+^{n\times n}$ -- i.e. if the elements of the $\epsilon$-net have entries outside of [0,1], that is also interesting.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am interested in both upper bounds and lower bounds. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that cut sparsifier techniques imply $\epsilon$-nets for cut metrics, but give something stronger than I need -- they give an $\epsilon$-net for which you can efficiently find an $\epsilon$-close point to any matrix simply by sampling from that matrix. One might imagine that there exist much smaller $\epsilon$-nets for which you cannot simply sample do find an $\epsilon$-close point to an arbitrary matrix.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I initially asked this question &lt;a href=&quot;https://mathoverflow.net/questions/53542/epsilon-nets-with-respect-to-the-cut-norm&quot;&gt;here&lt;/a&gt; on mathoverflow. &lt;/p&gt;&#xA;" OwnerUserId="25" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2011-01-30T22:52:00.483" Title="$\epsilon$-nets with respect to the cut norm" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;metrics&gt;&lt;max-cut&gt;&lt;epsilon-nets&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4624" PostTypeId="2" ParentId="4613" CreationDate="2011-01-28T22:36:38.377" Score="7" Body="&lt;p&gt;This might be more suitable as a comment than an answer. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;From computability point of view, any machine which uses finite memory (but not necessarily constant) at any point in time and modifies it according in a local way is equivalent to Turing machines (this is an informal statement of a result by &lt;a href=&quot;http://en.wikipedia.org/wiki/Robin_Gandy&quot; rel=&quot;nofollow noreferrer&quot;&gt;Robin Gandy&lt;/a&gt; from 1980 IIRC). On the other hand Turing Machine models are simpler to deal with in many respects and therefore are easier as a object of study. Natural models of computation are usually more complicated to study.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are also studies into natural models of computation. You may want to take a look at Aaron's answer &lt;a href=&quot;https://cstheory.stackexchange.com/q/2703/186&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2011-01-28T22:36:38.377" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4626" PostTypeId="2" ParentId="4613" CreationDate="2011-01-29T03:18:21.330" Score="4" Body="&lt;p&gt;1) An average human consumes 100 Watts of power, which is roughly the same order of magnitude as a desktop (mostly display). The brain consumes about 20% of this, which is about 20 Watts. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, your ipad consumes about 2 to 3 Watts on average, which is an order of magnitude better than the human brain. Therefore, I am not quite sure what you mean by &quot;... extremely low energy compared to a common computer.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) It is definitely true that our thoughts/engineering are inspired by nature, but we don't have to mirror them in-toto. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I doubt if you will call our aeroplanes flawed/lacking because they don't flap their wings to fly! &lt;/p&gt;&#xA;&#xA;&lt;p&gt;We abstract important properties from nature (e.g., as JeffE says above, about neurons and neural nets) but we do not have to mimic every aspect of nature.&lt;/p&gt;&#xA;" OwnerUserId="1449" LastActivityDate="2011-01-29T03:18:21.330" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="4629" PostTypeId="2" ParentId="4609" CreationDate="2011-01-29T11:59:11.393" Score="9" Body="&lt;p&gt;I give a &lt;strong&gt;trivial&lt;/strong&gt; construction which satisfies the requirement. I provide it to merely answer the &lt;em&gt;existence&lt;/em&gt; of &quot;reflexive&quot; hash function.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $G$ be any hash function producing &lt;strong&gt;&lt;em&gt;high entropy&lt;/em&gt;&lt;/strong&gt; in the output. Assume that $G$ hashes arbitrary-length binary strings to $k$-bit binary strings, where $k$ is any positive integer. Let $+$ denote the &lt;strong&gt;concatenation&lt;/strong&gt; operator, and let $|x|$ denote the length of the binary string $x$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Define the hash function $H$ on input $x$ as follows:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;If $|x| \le k$, then $H(x) \overset{\text{def}}{=} G(x)$.&lt;/li&gt;&#xA;&lt;li&gt;If $|x| &amp;gt; k$, let $L$ and $R$ be the $(|x|-k)$-bit prefix and $k$-bit suffix of $x$, respectively. That is, $x = L + R$ and $|R|=k$. If $R = H(L)$ (where $H(L)$ is computed &lt;em&gt;recursively&lt;/em&gt;), then $H(x) \overset{\text{def}}{=} R$; otherwise, $H(x) \overset{\text{def}}{=} G(x)$.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;As I said, this is a trivial construction. It can be applied to any hash function, practical (such as MD5, SHA-1, ...) or theoretical.&lt;/p&gt;&#xA;" OwnerUserId="873" LastEditorUserId="873" LastEditDate="2011-01-29T19:59:13.180" LastActivityDate="2011-01-29T19:59:13.180" CommentCount="6" ContentLicense="CC BY-SA 2.5" />
  <row Id="4630" PostTypeId="2" ParentId="4604" CreationDate="2011-01-29T12:00:46.107" Score="3" Body="&lt;p&gt;There are two interpretations of the claim &lt;em&gt;&quot;algorithm $A$ finds an $\alpha$-approximation of problem $P$&quot;&lt;/em&gt;:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Problem $P$ is &lt;em&gt;easy&lt;/em&gt; to solve fairly well, since we have an algorithm that finds a good approximation.&lt;/li&gt;&#xA;&lt;li&gt;Algorithm $A$ is &lt;em&gt;good&lt;/em&gt;, since it finds a good approximation.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;I think the classical definition of the approximation factor emphasises the first interpretation. We classify &lt;em&gt;problems&lt;/em&gt; according to how easy they are to solve fairly well.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The differential approximation ratio seem to put a bit more weight on the second interpretation: we do not want to &quot;reward&quot; trivial algorithms (e.g., algorithms that just output an empty set, or the set of all nodes).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course, both are valid viewpoints, but they are &lt;em&gt;different&lt;/em&gt; viewpoints.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;We can also study the question from a bit more practical perspective. Unfortunately, vertex covers as such do not have that many direct uses, but for the sake of argument, let us consider these two (somewhat contrived) applications:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Vertex cover: nodes are computers and edges are communication links; we want to monitor all communication links and hence at least one endpoint of each edge has to run a special process.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Independent set: nodes are workers and edges model conflicts between their activities; we want to find a conflict-free set of activities that can be performed simultaneously.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Now both problems have a trivial solution: the set of all nodes is a vertex cover, and the empty set is an independent set.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The key difference is that with the vertex cover problem, the trivial solution &lt;em&gt;gets the job done&lt;/em&gt;. Sure, we are using more resources than necessary, but at least we have a solution that we can use in practice. However, with the independent set problem, the trivial solution is &lt;em&gt;completely useless&lt;/em&gt;. We are making no progress at all. Nobody is doing anything. The task is never completed.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Similarly, we can compare almost-trivial solutions: vertex cover $C$ that consists of the endpoints of a maximal matching, and independent set $I$ that is the complement of $C$. Again, $C$ certainly gets the job done in our application, and this time we are not wasting resources by more than factor two. However, $I$ might be again an empty set, which is completely useless.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hence the standard definition of the approximation guarantee directly tells us if the solution is useful or not. A 2-approximation of vertex cover gets the job done. An independent set without any approximation guarantee might be completely useless.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In a sense, the differential approximation ratio tries to measure &quot;how non-trivial&quot; the solution is, but does it matter in either of these applications? (Does it matter in any application?)&lt;/p&gt;&#xA;" OwnerUserId="74" LastActivityDate="2011-01-29T12:00:46.107" CommentCount="6" ContentLicense="CC BY-SA 2.5" />
  <row Id="4631" PostTypeId="1" AcceptedAnswerId="4633" CreationDate="2011-01-29T18:10:54.863" Score="6" ViewCount="386" Body="&lt;p&gt;(NB: I asked this question in Math Overflow, and based on the one reply [a comment, actually] that it received so far, I realized that this may be a more appropriate forum for it.  I've added a few comments to this post, connecting the problem to the theory of databases.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm interested in factoring a finite set of $n$-tuples as the Cartesian product of two &quot;factor sets&quot;, of which the first factor is itself the Cartesian product of some of the set's projection images, and the second factor is an unfactorizable &quot;remainder&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To describe the problem more precisely, let $X$ be a non-empty, finite set of $n$-tuples, and let $A_1,...,A_n$ be the images of $X$ upon projection onto its various coordinates.  Hence, $X \subset \prod_{i=1}^{n} A_i $.  Furthermore, assume that this inclusion is strict; that is, $X \neq \prod_{i=1}^{n} A_i $.  (From this it follows that $n &amp;gt; 1$.)  If $\sigma$ is some permutation of $\{1,...,n\}$, let $X_\sigma$ denote the set of $n$-tuples derived from $X$ by permuting the coordinates of its elements according to $\sigma$: $X_\sigma = \{(x_{\sigma(1)},...,x_{\sigma(n)})|(x_1,...,x_n)\in X \}$.  (See the end of this post for a restatement of the problem using OLAP terminology.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For any $n$-permutation $\sigma$, I'm interested in factorizations of $X_\sigma$ having the form $X_\sigma = (\prod_{i=1}^{k} A_{\sigma(i)}) \times Z$, where $0 \leq k \lt n$ and $Z \subsetneq \prod_{i=k+1}^{n} A_{\sigma(i)}$.  This factorization means that every $n$-tuple in $X_\sigma$ can be written (obviously uniquely) as the concatenation of one $k$-tuple from $\prod_{i=1}^{k} A_{\sigma(i)}$ and one $(n-k)$-tuple from $Z \subsetneq \prod_{i=k+1}^{n} A_{\sigma(i)}$, and, conversely, every concatenation of such tuples represents some element of $X_\sigma$.  (If $k = 0$, then $Z = X_\sigma$; i.e. the factorization is a trivial one.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am primarily interested in factorizations for which the factor $\prod_{i=1}^{k} A_{\sigma(i)}$ has maximal cardinality, over all possible choices of $\sigma$ and $k$.  I am also interested in factorizations for which $k$ is maximal, over all possible choices of $\sigma$.  [Edit: both criteria actually lead to the same result; see Tsuyoshi Ito's answer.]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[(This bracketed paragraph is intended by way of background; it is tangential to the questions of this post.  Please disregard it if it is not useful or clear.)  One area where this problem arises is in the theory of databases and OLAP: given a facts table $X$ with $n$ dimension (aka &quot;metadata&quot;) columns, how can it be &quot;most efficiently&quot; converted to a collection of perfectly dense (i.e. no empty cells) multidimensional data &quot;(hyper)cubes&quot; having identical domains.  (These domains correspond to the sets $A_{\sigma(1)},...,A_{\sigma(k)}$ above.)  This formulation leaves the optimization criterion fuzzy.  I use the term &quot;efficient&quot; here to describe solutions that pack &quot;as much information as possible&quot; in the regular hypercubes, but even with this clarification the criterion is ill-defined, because &quot;most information&quot; could be defined as &quot;the greatest number of cells&quot; or &quot;the greatest number of dimensions&quot; (i.e. potential explanatory factors) for the regular hypercubes.  These correspond to the two classes of factorizations I described in the previous paragraph.]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm looking for keywords I may use to search for algorithms to compute such maximal factorizations, given some concrete set of $n$-tuples $X$.  Do such factorizations, or the problem of computing them, have a name?  Are their complexity classes known?  Any pointers to the relevant literature would be appreciated!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;~kj&lt;/p&gt;&#xA;" OwnerUserId="3529" LastEditorUserId="3529" LastEditDate="2011-01-30T00:26:23.980" LastActivityDate="2011-01-30T00:48:49.763" Title="Cartesian factorization of a finite set of n-tuples" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;co.combinatorics&gt;&lt;db.databases&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4633" PostTypeId="2" ParentId="4631" CreationDate="2011-01-29T22:07:34.927" Score="9" Body="&lt;p&gt;If I understand the question correctly, the problem is easy (once we understand the problem).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As I understand it, you are given a finite set &lt;i&gt;X&lt;/i&gt;⊆&lt;i&gt;A&lt;/i&gt;&lt;sub&gt;1&lt;/sub&gt;×…×&lt;i&gt;A&lt;/i&gt;&lt;sub&gt;&lt;i&gt;n&lt;/i&gt;&lt;/sub&gt; and want to find the “best” set &lt;i&gt;I&lt;/i&gt;⊆{1,…,&lt;i&gt;n&lt;/i&gt;} of indices that is feasible, where we say that a set &lt;i&gt;I&lt;/i&gt; is &lt;em&gt;feasible&lt;/em&gt; when &lt;i&gt;X&lt;/i&gt; can be written as the direct product of the sets &lt;i&gt;A&lt;/i&gt;&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt; for &lt;i&gt;i&lt;/i&gt;∈&lt;i&gt;I&lt;/i&gt; and some set of (&lt;i&gt;n&lt;/i&gt;−|&lt;i&gt;I&lt;/i&gt;|)-tuples (where indices are permuted appropriately).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You consider two formulations of the meaning of “best”: (1) the product ∏&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;∈&lt;i&gt;I&lt;/i&gt;&lt;/sub&gt; |&lt;i&gt;A&lt;/i&gt;&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt;| is maximized, (2) the size |&lt;i&gt;I&lt;/i&gt;| is maximized.  However, it does not matter which criterion you use because both can be maximized at the same time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For each &lt;i&gt;i&lt;/i&gt;=1,…,&lt;i&gt;n&lt;/i&gt;, test whether the singleton set {&lt;i&gt;i&lt;/i&gt;} is feasible (this can be done efficiently).  Let &lt;i&gt;J&lt;/i&gt; be the set of indices &lt;i&gt;i&lt;/i&gt; such that {&lt;i&gt;i&lt;/i&gt;} is feasible.  It is easy to see that &lt;i&gt;J&lt;/i&gt; is also feasible, and moreover &lt;i&gt;J&lt;/i&gt; is the maximum with respect to inclusion among the feasible sets of indices.  Therefore, the index set &lt;i&gt;J&lt;/i&gt; maximizes both criteria (1) and (2) stated above.&lt;/p&gt;&#xA;" OwnerUserId="567" LastEditorUserId="567" LastEditDate="2011-01-30T00:48:49.763" LastActivityDate="2011-01-30T00:48:49.763" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="4634" PostTypeId="1" AcceptedAnswerId="4639" CreationDate="2011-01-29T22:18:55.583" Score="6" ViewCount="390" Body="&lt;p&gt;If there are no accepting paths or only one accepting path, it outputs zero. And If there are more than one accepting paths it outputs Yes. I am looking for a natural problem that requires this. &lt;/p&gt;&#xA;" OwnerUserId="1590" LastEditorUserId="1800" LastEditDate="2011-01-30T04:26:27.873" LastActivityDate="2011-02-06T09:01:20.997" Title="Are there any natural hard problems where it is required that the number of solutions are always more than one?" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;counting-complexity&gt;" AnswerCount="3" CommentCount="6" FavoriteCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4635" PostTypeId="1" CreationDate="2011-01-29T22:39:18.443" Score="12" ViewCount="3806" Body="&lt;p&gt;The title speaks for itself. Here are &lt;a href=&quot;http://en.akinator.com/&quot;&gt;Akinator&lt;/a&gt; and &lt;a href=&quot;http://www.20q.net&quot;&gt;20Q&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The principle of these games is to ask a user a number of questions relating to some entity chosen by the user. And then find out what is this entity. The core of the algorithm is to find the &quot;most useful question&quot; at each round, while dealing with a user who might not answer all questions correctly.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&quot;most useful question&quot; being defined as the question that give the most information, in the optimal case splitting the audience (or number?) of candidate entities into two equal halves.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I found a paper that described some algorithms (well the word &quot;algorithm&quot; was not used, but the proofs could be turned into algorithms). Unfortunately I cannot find this paper again :( . The paper described the problem with game theory concepts, with some levels of lying allowed to the user (it discussed  3 levels of lying). Please post if you think you know the paper.&lt;/p&gt;&#xA;" OwnerUserId="3533" LastEditorUserId="186" LastEditDate="2011-01-30T16:35:23.703" LastActivityDate="2015-02-17T02:18:29.197" Title="What algorithm is behind akinator or 20q?" Tags="&lt;ds.algorithms&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="4636" PostTypeId="2" ParentId="4622" CreationDate="2011-01-29T22:51:02.423" Score="8" Body="&lt;p&gt;Here is an easy estimate.  Here we call a set &lt;i&gt;S&lt;/i&gt;⊆&lt;i&gt;X&lt;/i&gt; an &lt;em&gt;&lt;i&gt;ε&lt;/i&gt;-net&lt;/em&gt; of a metric space &lt;i&gt;X&lt;/i&gt; when for every point &lt;i&gt;x&lt;/i&gt;∈&lt;i&gt;X&lt;/i&gt;, there exists a point &lt;i&gt;s&lt;/i&gt;∈&lt;i&gt;S&lt;/i&gt; such that the distance between &lt;i&gt;x&lt;/i&gt; and &lt;i&gt;s&lt;/i&gt; is &lt;strong&gt;at most&lt;/strong&gt; &lt;i&gt;ε&lt;/i&gt;.  If you want a strict inequality in the definition of &lt;i&gt;ε&lt;/i&gt;-net, you can tweak the value of &lt;i&gt;ε&lt;/i&gt; slightly.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It holds that ||&lt;i&gt;A&lt;/i&gt;||&lt;sub&gt;∞&lt;/sub&gt; ≤ ||&lt;i&gt;A&lt;/i&gt;||&lt;sub&gt;C&lt;/sub&gt; ≤ &lt;i&gt;n&lt;/i&gt;&lt;sup&gt;2&lt;/sup&gt;||&lt;i&gt;A&lt;/i&gt;||&lt;sub&gt;∞&lt;/sub&gt;, where ||&lt;i&gt;A&lt;/i&gt;||&lt;sub&gt;∞&lt;/sub&gt; denotes the entrywise max-norm of an &lt;i&gt;n&lt;/i&gt;×&lt;i&gt;n&lt;/i&gt; matrix &lt;i&gt;A&lt;/i&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is easy to construct an &lt;i&gt;ε&lt;/i&gt;-net of the metric space ([0,1]&lt;sup&gt;&lt;i&gt;N&lt;/i&gt;&lt;/sup&gt;, &lt;i&gt;d&lt;/i&gt;&lt;sub&gt;∞&lt;/sub&gt;) with size ⌈1/(2&lt;i&gt;ε&lt;/i&gt;)⌉&lt;sup&gt;&lt;i&gt;N&lt;/i&gt;&lt;/sup&gt;, and it is not hard to show that this size is the minimum.  (To show the minimality, consider the ⌈1/(2&lt;i&gt;ε&lt;/i&gt;)⌉&lt;sup&gt;&lt;i&gt;N&lt;/i&gt;&lt;/sup&gt; points whose coordinates are multiples of 1/⌈1/(2&lt;i&gt;ε&lt;/i&gt;)−1⌉ and show that the distance between any two of these points is greater than 2&lt;i&gt;ε&lt;/i&gt;.)  By setting &lt;i&gt;N&lt;/i&gt;=&lt;i&gt;n&lt;/i&gt;&lt;sup&gt;2&lt;/sup&gt; and combining this with the aforementioned comparison between the cut norm and the max-norm, the minimum cardinality of an &lt;i&gt;ε&lt;/i&gt;-net with respect to the cut norm is at least ⌈1/(2&lt;i&gt;ε&lt;/i&gt;)⌉&lt;sup&gt;&lt;i&gt;n&lt;/i&gt;&lt;sup&gt;2&lt;/sup&gt;&lt;/sup&gt; and at most ⌈&lt;i&gt;n&lt;/i&gt;&lt;sup&gt;2&lt;/sup&gt;/(2&lt;i&gt;ε&lt;/i&gt;)⌉&lt;sup&gt;&lt;i&gt;n&lt;/i&gt;&lt;sup&gt;2&lt;/sup&gt;&lt;/sup&gt;.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Update&lt;/em&gt;: If my calculation is correct, a better lower bound Ω(&lt;i&gt;n&lt;/i&gt;/&lt;i&gt;ε&lt;/i&gt;)&lt;sup&gt;&lt;i&gt;n&lt;/i&gt;&lt;sup&gt;2&lt;/sup&gt;&lt;/sup&gt; can be obtained by the volume argument.  To do this, we need an upper bound on the volume of an &lt;i&gt;ε&lt;/i&gt;-ball with respect to the cut norm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First we consider the “cut norm” of a single vector, which is the maximum between the sum of positive elements and the negated sum of negative elements.  It is not hard to show that the volume of an &lt;i&gt;ε&lt;/i&gt;-ball in ℝ&lt;sup&gt;&lt;i&gt;n&lt;/i&gt;&lt;/sup&gt; with respect to this “cut norm” is equal to&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$ \varepsilon^n \sum_{I \subseteq \{1,\dotsc,n\}} \frac{1}{|I|!} \cdot \frac{1}{(n-|I|)!}&#xD;&#xA;= \varepsilon^n \sum_{r=0}^n \binom{n}{r} \frac{1}{r!(n-r)!} $$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$ = \frac{\varepsilon^n}{n!} \sum_{r=0}^n \binom{n}{r}^2&#xD;&#xA;= \frac{\varepsilon^n}{n!} \binom{2n}{n}&#xD;&#xA;= \frac{(2n)!\varepsilon^n}{(n!)^3}. $$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Next, since the cut norm of an &lt;i&gt;n&lt;/i&gt;×&lt;i&gt;n&lt;/i&gt; matrix &lt;i&gt;A&lt;/i&gt; is greater than or equal to the cut norm of each row, the volume of an &lt;i&gt;ε&lt;/i&gt;-ball in ℝ&lt;sup&gt;&lt;i&gt;n&lt;/i&gt;×&lt;i&gt;n&lt;/i&gt;&lt;/sup&gt; is at most the &lt;i&gt;n&lt;/i&gt;th power of the volume of an &lt;i&gt;ε&lt;/i&gt;-ball in ℝ&lt;sup&gt;&lt;i&gt;n&lt;/i&gt;&lt;/sup&gt;.  Therefore the size of an &lt;i&gt;ε&lt;/i&gt;-net of [0,1]&lt;sup&gt;&lt;i&gt;n&lt;/i&gt;×&lt;i&gt;n&lt;/i&gt;&lt;/sup&gt; must be at least&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$ \frac{(n!)^{3n}}{(2n)!^n \varepsilon^{n^2}} = \left(\Omega\left(\frac{n}{\varepsilon}\right)\right)^{n^2}, $$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where the last equality is a boring calculation in which we use &lt;a href=&quot;http://en.wikipedia.org/wiki/Stirling%27s_approximation&quot; rel=&quot;nofollow&quot;&gt;Stirling’s formula&lt;/a&gt;: ln &lt;i&gt;n&lt;/i&gt;! = &lt;i&gt;n&lt;/i&gt; ln &lt;i&gt;n&lt;/i&gt; − &lt;i&gt;n&lt;/i&gt; + O(log &lt;i&gt;n&lt;/i&gt;).&lt;/p&gt;&#xA;" OwnerUserId="567" LastEditorUserId="567" LastEditDate="2011-01-30T22:52:00.483" LastActivityDate="2011-01-30T22:52:00.483" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="4638" PostTypeId="2" ParentId="4635" CreationDate="2011-01-29T23:23:20.083" Score="14" Body="&lt;p&gt;I think you are probably looking for &quot;On playing “Twenty Questions” with a liar&quot;, Dhagat, Gacs, and Winkler, SODA 1992, &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=139404.139409&quot; rel=&quot;nofollow&quot;&gt;http://portal.acm.org/citation.cfm?id=139404.139409&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The &lt;a href=&quot;https://scholar.google.com/scholar?cites=3224472332412293525&quot; rel=&quot;nofollow&quot;&gt;many other papers that cite this one&lt;/a&gt; probably include additional relevant hits.&lt;/p&gt;&#xA;" OwnerUserId="95" LastEditorUserId="95" LastEditDate="2015-02-17T02:18:29.197" LastActivityDate="2015-02-17T02:18:29.197" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="4639" PostTypeId="2" ParentId="4634" CreationDate="2011-01-30T02:50:30.407" Score="13" Body="&lt;p&gt;In a cubic graph, the number of Hamiltonian cycles containing a given edge is even.  Therefore, if a cubic graph has any Hamiltonian cycles, it has at least two.  (The same has been conjectured to be true for $k$-regular graphs with $k \ge 4$ as well; I don't know the status of that conjecture.)  So deciding whether a cubic graph contains a Hamiltonian cycle (which is still NP-hard) seems to meet the criteria.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, showing that this (or any other) problem is not in UP seems difficult, since you would have to show that the multiplicity of solutions can't be eliminated by some clever non-parsimonious reduction.  It's not enough to show that the obvious NP machine that solves the problem has multiple accepting paths.&lt;/p&gt;&#xA;" OwnerUserId="3183" LastEditorUserId="3183" LastEditDate="2011-01-30T02:55:43.820" LastActivityDate="2011-01-30T02:55:43.820" CommentCount="7" ContentLicense="CC BY-SA 2.5" />
  <row Id="4640" PostTypeId="2" ParentId="4619" CreationDate="2011-01-30T05:10:20.540" Score="10" Body="&lt;p&gt;The natural model related to decision trees that can simulates RAMs is the branching program.  Basically, it is a decision tree with common subtrees coalesced yielding a DAG.   Time T and space S on a RAM can be simulated in height T and size 2^S on a branching program.  (You might need to use multi-way branching.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For decision problems, it is clear that any decision tree only needs height = # inputs and space=total # of bits in the input.  Note that with multi-way branching one might have the # bits in the input larger than the usual measure of the # of inputs (e.g. n pointers each taking log n bits.)    For such problems with nlog n total input bits one can prove that certain problems cannot be solved in time O(n) and space=O(n) bits.  Is that the form of you problem?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You seem to suggest that you are using the # of outputs to try to get a larger lower bound.  It is usual for multi-output problems to allow many outputs along a single edge rather than at leaf nodes (see, for example, Borodin-Cook's 1982 paper on sorting lower bounds).  However, even without this assumption, one also can compute any function with height = # inputs and space = # input bits.  (Read and remember the input, and output all the values at each leaf node.)&lt;/p&gt;&#xA;" OwnerUserId="17875" LastActivityDate="2011-01-30T05:10:20.540" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4641" PostTypeId="2" ParentId="4634" CreationDate="2011-01-30T05:43:38.100" Score="10" Body="&lt;p&gt;I am also not sure if this is what you are looking for, but along the lines of mjqxxxx's answer, NAE-SAT always has an even number of solutions because the complement of any satisfying assignment is also satisfying. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2011-01-30T05:43:38.100" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4642" PostTypeId="2" ParentId="3008" CreationDate="2011-01-30T12:03:36.110" Score="7" Body="&lt;p&gt;K-Means and KNN are very powerful and do not require any Linear Algebra except the computation of distances of points.&lt;/p&gt;&#xA;" OwnerDisplayName="user3542" LastActivityDate="2011-01-30T12:03:36.110" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4643" PostTypeId="1" AcceptedAnswerId="6746" CreationDate="2011-01-30T12:12:55.457" Score="6" ViewCount="504" Body="&lt;p&gt;One of the most well known parallel algorithms for the solution of recurrence equations is the one proposed by Kogge and Stone (it can be found &lt;a href=&quot;http://bwrc.eecs.berkeley.edu/classes/ee225c/2000%20225c/Papers/KoggeStone.pdf&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;). They proved that all recurrence equations of the form:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$x_{1}=b_{1}$&lt;br&gt;&#xA;$x_{i}=f_{i}(x_{i-1})=f(b_{i},g(a_{i},x_{i-1}))$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;can be solved if the following restrictions are satisfied:&lt;br&gt;&#xA;1) $f$ is associative, $f(x,f(y,z))=f(f(x,y),z)$&lt;br&gt;&#xA;2) $g$ distributes over $f$, $g(x,f(y,z))=f(g(x,y),g(x,z))$&lt;br&gt;&#xA;3) $g$ is semiassociative, that is, there exists some function $h$ such that $g(x,g(y,z))=g(h(x,y),z)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question&lt;/strong&gt;: Are there any other general algorithms that can solve some class of recurrence equations in parallel?&lt;/p&gt;&#xA;" OwnerUserId="1899" LastEditorUserId="77" LastEditDate="2011-05-26T07:08:12.350" LastActivityDate="2011-05-26T19:32:07.163" Title="Parallel solution of recurrence equation" Tags="&lt;dc.parallel-comp&gt;&lt;recursion&gt;" AnswerCount="1" CommentCount="6" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="4644" PostTypeId="1" CreationDate="2011-01-30T13:13:36.293" Score="8" ViewCount="1487" Body="&lt;p&gt;I want to partition N given numbers (may or may not be equal) into 2 subsets such that the 2 subsets have sum as close as possible and also the cardinality of the sets are equal (if n is even) or differ only by 1 (if n is odd).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think we can do this in pseudo polynomial time $O(n^2 A)$, where $A$ is the sum of numbers in the set.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can I do better than this? Namely, is there a pseudo polynomial time algorithm that runs in time $O(n^c A)$ with $c &amp;lt; 2$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks in advance!&lt;/p&gt;&#xA;" OwnerUserId="3544" LastEditorUserId="567" LastEditDate="2011-02-02T11:36:15.183" LastActivityDate="2018-09-11T22:23:23.573" Title="Faster pseudo-polynomial time algorithms for PARTITION" Tags="&lt;ds.algorithms&gt;&lt;co.combinatorics&gt;&lt;partition-problem&gt;" AnswerCount="2" CommentCount="25" FavoriteCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="4645" PostTypeId="2" ParentId="4619" CreationDate="2011-01-30T14:41:56.273" Score="1" Body="&lt;p&gt;The natural model related to decision trees that simulates RAMs without loss is the branching program.  Basically, it is a decision tree with common subtrees coalesced yielding a DAG.   Time T and space S on a RAM can be simulated in height T and size 2^S on a branching program.  (You might need to use multi-way branching.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For decision problems, it is clear that any decision tree only needs height = # inputs and space=total # of bits in the input.  Note that with multi-way branching one might have the # bits in the input larger than the usual measure of the # of inputs (e.g. n pointers each taking log n bits.)    For such problems with nlog n total input bits one can prove that certain problems cannot be solved in time O(n) and space=O(n) bits on a RAM.) Is that the form of your problem?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You seem to suggest that you are using the # of outputs to try to get a larger lower bound.   However, even with this you also can compute any function with height = # inputs and space = # input bits.  (Read and remember the input, and output all the values required at each leaf node.  It is usual to allow multiple outputs at a single node.)   &lt;/p&gt;&#xA;" OwnerUserId="17875" LastActivityDate="2011-01-30T14:41:56.273" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4646" PostTypeId="1" AcceptedAnswerId="11406" CreationDate="2011-01-30T14:58:33.160" Score="13" ViewCount="1693" Body="&lt;p&gt;There are 4 different constraints we can have when defining Random K-SAT. &lt;br&gt;1)Total number of literals in a given clauses is exactly K or AT most K&lt;br&gt;&#xA;2)A given literal can be used with or without replacement in the same clause (A or A or A)&lt;br&gt;&#xA;3)A given variable can be used with or without replacement in the same clause (A or ~A or ~A)&lt;br&gt;&#xA;4)A given clauses can be used with or without replacement in a given formula&lt;br&gt;&#xA;What would be the most &quot;correct&quot; definition? What are the cons and pros of using these different definitions? &lt;/p&gt;&#xA;" OwnerUserId="1590" LastEditorUserId="1590" LastEditDate="2011-12-30T05:06:34.737" LastActivityDate="2012-05-08T22:52:45.733" Title="What is the precise definition of Random K-SAT?" Tags="&lt;cc.complexity-theory&gt;&lt;sat&gt;&lt;randomness&gt;&lt;phase-transition&gt;" AnswerCount="2" CommentCount="25" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="4648" PostTypeId="1" CreationDate="2011-01-30T17:40:55.097" Score="4" ViewCount="327" Body="&lt;p&gt;Suppose we have an orthogonal polygon with holes (all walls are axis-parallel).  All vertices can be on integer coordinates, if that helps.  Partition the polygon into rectangular rooms.  I would like to find the best room to start from, to visit all the rooms (rectangles). There's a limitation on my movement: in any room, I can only leave by two directions, say north and west. (Here best means there would only be one source in the plane dual graph with directed edges showing how to walk from room to room. If more than one source is required, I wish to minimize them.) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have been looking at art gallery problems, and at VLSI papers on building rectilinear floorplans from network flows, and they are all tantalizingly close but far.  Can anyone provide suggestions so I can focus my search/proof construction?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT to fix problem pointed out by Peter Taylor.  I can choose two directions per room. (probably they need to be adjacent, so NE is ok but NS is not.)  If I enter one room northward, I am automatically choosing South as one of thst new room's directions. (so only two in or out directions per room)  If I choose a  direction, and there are multiple rooms adjacent in that direction, I can enter all of them (and all of them then have the reverse direction assigned as one of their two directions), so the naive greedy approach would be to choose the direction that maximizes the number of rooms I can enter at that stage. I hope this is now complete, and understandable.&lt;/p&gt;&#xA;" OwnerUserId="30" LastEditorUserId="1800" LastEditDate="2011-01-31T02:10:14.933" LastActivityDate="2011-02-01T20:15:14.890" Title="Find optimal room from which to visit all other rooms in a rectangular floorplan" Tags="&lt;graph-algorithms&gt;&lt;cg.comp-geom&gt;" AnswerCount="2" CommentCount="8" ContentLicense="CC BY-SA 2.5" />
  <row Id="4649" PostTypeId="1" CreationDate="2011-01-30T17:57:04.693" Score="7" ViewCount="634" Body="&lt;p&gt;I have an applied machine-learning and statistics background, and when I read the &lt;a href=&quot;http://en.wikipedia.org/wiki/Cybenko_theorem&quot; rel=&quot;noreferrer&quot;&gt;Universal approximation theorem&lt;/a&gt;, which (in the context of the learning theory of ANNs - Artificial Neural Networks) states (Wikipedia): &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&quot;the standard multilayer feed-forward&#xA;  network with a single hidden layer&#xA;  that contains finite number of hidden&#xA;  neurons, and with arbitrary activation&#xA;  function are universal approximators&#xA;  on a compact subset of $R^n$. &quot;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I wondered if there are any similar results (in terms of approximation power) for other types of learners (e.g. decision trees, boosting methods, SVMs, etc.). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This leads me to a second but related question: Is this a topic that is formally studied in TCS? If so, are there any good texts for somebody with an applied background?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks&lt;/p&gt;&#xA;" OwnerUserId="3137" LastEditorUserId="1800" LastEditDate="2011-01-31T02:05:37.793" LastActivityDate="2020-03-05T13:37:12.823" Title="Results on universal approximation for learners other than ANNs" Tags="&lt;lg.learning&gt;&lt;machine-learning&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="4650" PostTypeId="2" ParentId="4649" CreationDate="2011-01-30T18:19:58.807" Score="5" Body="&lt;p&gt;Let me attempt to partly answer the learning part, or to at least address some connections.&#xA;In &lt;a href=&quot;http://en.wikipedia.org/wiki/Probably_approximately_correct_learning&quot; rel=&quot;noreferrer&quot;&gt;learning&lt;/a&gt; (distributional issues aside), we usually want our algorithms to be able to not only &lt;em&gt;approximate&lt;/em&gt; the target function (from a class) with a hypothesis, but also to be able &lt;em&gt;find&lt;/em&gt; such a hypothesis (efficiently).  So, even though a certain class can universally approximate a given target, we are not done.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am not an expert in neural networks, but training a neural network is not easy.  We have algorithms for training a neural network, like &lt;a href=&quot;http://en.wikipedia.org/wiki/Backpropagation&quot; rel=&quot;noreferrer&quot;&gt;backpropogation&lt;/a&gt;, but they won't always converge, or converge quickly enough, to meet the PAC learning criteria.&#xA;&lt;a href=&quot;http://en.wikipedia.org/wiki/Boosting&quot; rel=&quot;noreferrer&quot;&gt;Boosting&lt;/a&gt;, on the other hand says (roughly) how to turn a weak &quot;approximator&quot; into a strong one, but it in some sense assumes the difficulty away but giving the learner access to the weak approximator.&lt;/p&gt;&#xA;" OwnerUserId="123" LastActivityDate="2011-01-30T18:19:58.807" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="4651" PostTypeId="2" ParentId="4648" CreationDate="2011-01-30T18:36:15.487" Score="0" Body="&lt;p&gt;I assume that by &quot;best starting room&quot; you mean that it minimizes the sum of shortest walking distances from a fixed room to all the others.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Model your floor as undirected graph. Each room is a node. Nodes are connected if and only if there is a direct physical, walkable connection between them (such as a door). You can model hallways as a series of sufficiently small rooms, such as one piece per door. If you want, you can even model actual walking distances (center nodes in their rooms) by edge weights.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Once you have done this perform a SSSP (single source shortest path) algorithm for every non-hallway node. Choose the starting node that minimises the sum of distances found to all non-hallway nodes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that this solution does not account for &quot;saving&quot; distance when visiting several rooms in a row. Such scenarios can be solved with the same model, but would become unpleasantly close to TSP (traveling salesman), but for your input sizes things should still work out.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(I am minimising the wrong thing, aren't I?)&lt;/p&gt;&#xA;" OwnerUserId="1546" LastActivityDate="2011-01-30T18:36:15.487" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4652" PostTypeId="1" CreationDate="2011-01-30T20:32:49.937" Score="6" ViewCount="491" Body="&lt;p&gt;I have found some ambiguity in how the graph parameters &lt;i&gt;edge-expansion&lt;/i&gt;, &lt;i&gt;uniform sparsest cut&lt;/i&gt; and &lt;i&gt;conductance&lt;/i&gt; are defined and denoted.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My questions are: what are the definitions that best match the primary sources and the current use? Does what follows sound right?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(1) The &lt;i&gt;Cheeger constant&lt;/i&gt; of a graph, denoted $h$ is&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$h(G) := \min_{S\subseteq V, S\neq \emptyset, S\neq V} \frac{\textrm{Edges}(S,V-S)}{\min\{ |S|, |V-S| \}}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where $\textrm{Edges}(S,V-S)$ denotes the number of (or the total weight of) edges with one endpoint in $S$ and one endpoint not in $S$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(2) The &lt;i&gt;uniform sparsest cut&lt;/i&gt; of a graph, denoted $\phi$ is&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\phi(G) := \min_{S\subseteq V, S\neq \emptyset, S\neq V} \frac{\textrm{Edges}(S,V-S)}{|S| \cdot |V-S|}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Notes:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt; $h$ is also called the &lt;i&gt;edge expansion&lt;/i&gt; of $G$&#xA;&lt;li&gt; $h$ and $|V|\cdot \phi$ are within a factor of 2, so approximating one problem is equivalent to approximating the other, up to a constant loss in the approximation ratio&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;(3) The &lt;i&gt;conductance&lt;/i&gt; of a graph, unfortunately also usually denoted $\phi$. Maybe we should use $\sigma$ for the sparsest cut parameter?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\textrm{conductance}(G) := \min_{S\subseteq V, S\neq \emptyset, S\neq V} \frac{\textrm{Edges}(S,V-S)}{\min\{ \textrm{vol}(S), \textrm{vol}(V-S) \}}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where $\textrm{vol}(S)$ is the sum of the degrees of the vertices of $S$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt; If $G$ is $d$-regular, then $\textrm{conductance}(G) = h(G)/d$. In the irregular case, the conductance is incomparable with $h$ and $\phi$&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;(4) Finally, as an intermediate problem to use to give relaxations of the conductance problem, I have seen the following problem, that does not seem to have a name (&quot;volume-weighted sparsest cut&quot;? what letter should be used to denote it?)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\min_{S\subseteq V, S\neq \emptyset, S\neq V} \frac{\textrm{Edges}(S,V-S)}{\textrm{vol}(S) \cdot \textrm{vol}(V-S)}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;which is $\phi/d^2$ in regular graphs, and that scaled by $\textrm{vol}(V)$ is within a factor of 2 from the conductance.&lt;/p&gt;&#xA;" OwnerUserId="1069" LastEditorUserId="1800" LastEditDate="2011-01-31T01:44:10.050" LastActivityDate="2011-04-21T17:41:48.253" Title="Terminology for sparse cuts in graphs" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;terminology&gt;&lt;expanders&gt;&lt;spectral-graph-theory&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="4654" PostTypeId="1" AcceptedAnswerId="4656" CreationDate="2011-01-30T21:14:34.623" Score="36" ViewCount="1630" Body="&lt;p&gt;Suppose that coauthors from two or more different institutions are writing a paper in latex, and would like to do better than repeatedly emailing drafts back and forth.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;They realize they can open for free a dropbox account, share the password, and synch the version of the paper on their computer with the one on dropbox. If two people are simultaneously editing the same section, however, they'll overwrite each other changes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;They have also heard that version-control systems like SVN and Git have tools to merge concurrent changes, which work reasonably well. The documentation of these products, however, is rather hard to read, and it is more focused on how to undo changes and how to manage different &quot;branches&quot; rather than on the basic needs of coauthors writing a paper.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a simple step-by-step exposition on how to use a version-control system in this setup:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt; central repository&#xA;&lt;li&gt; local copies&#xA;&lt;li&gt; &quot;smart&quot; merge&#xA;&lt;li&gt; no branches&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of the standard version-control systems, which one is the easiest to use? (We are talking theoretical computer science professors here.) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there even simpler tools that  only do synch with smart merge, without version control?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Conversely, do people who use version-control systems to even write a single-authored paper really feel that the unlimited-undo capability is worth the extra complexity?&lt;/p&gt;&#xA;" OwnerUserId="1069" LastEditorUserId="873" LastEditDate="2011-01-30T23:10:42.093" LastActivityDate="2013-04-05T21:37:48.163" Title="Collaborative tools for dummies/professors" Tags="&lt;soft-question&gt;&lt;research-practice&gt;&lt;software&gt;&lt;writing&gt;" AnswerCount="8" CommentCount="5" FavoriteCount="20" ContentLicense="CC BY-SA 2.5" />
  <row Id="4655" PostTypeId="2" ParentId="4652" CreationDate="2011-01-30T21:20:57.483" Score="5" Body="&lt;p&gt;I think (2) is called the uniform sparsest cut. The term non-uniform is used for the version where each pair ij of vertices has a separate demand d(ij) and the cut sparsity is E(S,V-S)/d(S,V-S) where d(S,V-S) is the demand between S and V-S. &lt;/p&gt;&#xA;" OwnerUserId="176" LastActivityDate="2011-01-30T21:20:57.483" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4656" PostTypeId="2" ParentId="4654" CreationDate="2011-01-30T23:18:35.733" Score="12" Body="&lt;p&gt;First off: If your are interested in real-time collaborative editing, try something like &lt;a href=&quot;http://gobby.0x539.de/trac/&quot;&gt;gobby&lt;/a&gt;. It lets you literally edit a document at the same time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As for revision systems, I am only familiar with SVN. This is what you do, after installing subversion, of course:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Get someone to set you up a repository and give you URL, username and password&lt;/li&gt;&#xA;&lt;li&gt;Go to where you want to have your lokal copy&lt;/li&gt;&#xA;&lt;li&gt;In a shell (command line?), type: &lt;code&gt;svn co url://to.your/repository&lt;/code&gt; (check-out). Now a new folder with the repository's contents appears.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;That's all. Now the most basic commands:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Whenever you &lt;em&gt;add&lt;/em&gt; a new file &lt;code&gt;foo&lt;/code&gt;, enter: &lt;code&gt;svn add foo&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;Whenever you want to remove a file, enter: &lt;code&gt;svn rm foo&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;Whenever you have made changes, enter: &lt;code&gt;svn ci&lt;/code&gt; (check-in)&lt;/li&gt;&#xA;&lt;li&gt;Whenever you want to get the newest stuff, enter: &lt;code&gt;svn up&lt;/code&gt; (update)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;There are also commands for moving, copying, branching, resolving conflicts,  ... but as long as you do not try funny stuff, you are fine with the above. If anything breaks or seems to, backup your edits, delete the whole folder and checkout the whole thing anew. That's for svn like rebooting for Windows.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Addendum: I see you seem to be concerned about &quot;smart merges&quot;. I assume that you refer to have to different versions of a file merged, with the assumption that two people added things in disjoint parts of the paper. As far as I know, svn would treat that as a conflict, and probably rightly so. I don't think that there is a general procedure that ensures you get what you want after two people manipulated the same source. There are graphical svn clients that visualise such conflicts and help you resolving them; they are pretty much diff-viewers were you can choose which version to keep for every conflicting line). It will require work, though.&lt;/p&gt;&#xA;" OwnerUserId="1546" LastEditorUserId="1546" LastEditDate="2011-01-30T23:25:08.203" LastActivityDate="2011-01-30T23:25:08.203" CommentCount="13" ContentLicense="CC BY-SA 2.5" />
  <row Id="4657" PostTypeId="2" ParentId="4654" CreationDate="2011-01-30T23:20:52.130" Score="8" Body="&lt;p&gt;Google Documents ( &lt;a href=&quot;https://docs.google.com&quot;&gt;https://docs.google.com&lt;/a&gt; ) provides great tools for authoring documents together (including real time editing). It stores everything online for you and integrates well with your Gmail account. By default Google Docs does not have LaTeX compatibility, but you can enable it by going here:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://docs.latexlab.org/&quot;&gt;http://docs.latexlab.org/&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am not sure how well it works for rollback, but I am sure there is a feature for it. I have heard of some people using Google Wave's LaTeX plug-in to work out preliminary sketches for papers.&lt;/p&gt;&#xA;" OwnerUserId="1037" LastActivityDate="2011-01-30T23:20:52.130" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="4658" PostTypeId="2" ParentId="4379" CreationDate="2011-01-30T23:21:01.477" Score="0" Body="&lt;p&gt;BK Trees? &lt;a href=&quot;http://en.wikipedia.org/wiki/BK-tree&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/BK-tree&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="351" LastActivityDate="2011-01-30T23:21:01.477" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4659" PostTypeId="2" ParentId="1586" CreationDate="2011-01-30T23:41:08.667" Score="12" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;What other purely functional data structure problems are open?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Here's one:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is the purely functional equivalent of a weak hash table?&lt;/p&gt;&#xA;" OwnerUserId="3550" LastEditorUserId="3550" LastEditDate="2012-06-11T14:48:06.437" LastActivityDate="2012-06-11T14:48:06.437" CommentCount="8" CommunityOwnedDate="2011-01-30T23:41:08.667" ContentLicense="CC BY-SA 3.0" />
  <row Id="4660" PostTypeId="2" ParentId="2934" CreationDate="2011-01-30T23:54:00.603" Score="4" Body="&lt;p&gt;I really  want to echo others and suggest that you sit down and work out a nice SVN strategy. I use SVN to host my entire &quot;research&quot; structure:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;JabRef reference managing&lt;/li&gt;&#xA;&lt;li&gt;Downloaded PDFs&lt;/li&gt;&#xA;&lt;li&gt;Articles&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;It's great because it contains everything, and of course provides a history. The caveat being you need your own server. But if you have some existing Windows machine (or whatever you a comfortable with) you can install it simply through &lt;a href=&quot;http://www.visualsvn.com/&quot; rel=&quot;nofollow&quot;&gt;VisualSVN Server&lt;/a&gt;. You then create appropriate accounts for collaborators, and give them access to an appropriate area (i.e. perhaps read-access to your JabRef bibtex file, and read/write to a shared 'in-progress' article area).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://tortoisesvn.tigris.org/&quot; rel=&quot;nofollow&quot;&gt;TortiseSVN&lt;/a&gt; can be used as the Windows client for interacting with SVN. You need to be careful about moving/deleting files and copying folders (SVN will store metadata inside hidden folders in each of your folders, so you must execute the delete command from within SVN to get rid of it, it takes a bit of getting used to, but is worth the investment).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then, when working with a collaborator, they clearly must also use SVN. But, again, the investment in learning is not worthless. And via some thought, you can also have it so you have read-only access to their jabref file (perhaps via the 'external' facility in svn).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In this way, with a bit of thought and a little bit of effort, you can be in a situation where you are editing documents as per normal, commiting changes nightly, updating in the morning and resolving all conflicts easily.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I really recommend it. The more people that set up their own SVNs the better, as it will only improve collaboration options in the future (though, of course, it would be beneficial if perhaps there was a 'standard' way of setting up a scientific repository).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;-- Edit: Infact, I've written up such a proposal here: &lt;a href=&quot;http://www.mirios.com.au:8081/index.php?title=Strategy_for_Scientific_Collaboration_with_LaTeX_and_SVN&quot; rel=&quot;nofollow&quot;&gt;Strategy for Scientific Collaboration with LaTeX and SVN&lt;/a&gt;. It proposes to make use of the svn &lt;a href=&quot;http://justaddwater.dk/2007/10/23/setting-up-subversion-externals-with-tortoisesvn/&quot; rel=&quot;nofollow&quot;&gt;externals&lt;/a&gt; feature to allow easy collaboration between people with a similar setup. Let me know if it needs changing or is simply not appropriate.&lt;/p&gt;&#xA;" OwnerUserId="2843" LastEditorUserId="2843" LastEditDate="2011-01-31T03:30:30.080" LastActivityDate="2011-01-31T03:30:30.080" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4661" PostTypeId="1" AcceptedAnswerId="4689" CreationDate="2011-01-31T00:12:47.780" Score="8" ViewCount="377" Body="&lt;p&gt;While writing a Petri Net program, I was faced with a choice about data structures to represent the graph. Adjacency lists (i.e. lists enumerating the arcs into and out of individual places or transitions) are easy to implement, but while I was studying the theory of petri nets, I was taken with the beauty of the matrix-based &lt;a href=&quot;http://en.wikipedia.org/wiki/Petri_net#Formulation_in_terms_of_vectors_and_matrices&quot; rel=&quot;nofollow&quot;&gt;state-equation&lt;/a&gt; approach - which would presumably require me to use sparse matrices. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Which led me to wonder - are there are any implementations of sparse matrices providing fast enumeration in both rows &lt;em&gt;and&lt;/em&gt; columns? If not, are there alternatives that would allow me to construct and efficiently traverse a bipartite graph in a functional language such as Erlang?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;FWIW - By 'efficiently', in this case, I mean fast at enumerating the &lt;a href=&quot;http://en.wikipedia.org/wiki/Petri_net#Formal_definition_and_basic_terminology&quot; rel=&quot;nofollow&quot;&gt;arcs&lt;/a&gt; incident on a given transition or place. I'd be happier to trade space for time if there are trade-offs to be made. Since the graph will not be modified after construction, it need not be particularly efficient for insertions or updates.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;TIA&lt;/p&gt;&#xA;" OwnerUserId="1157" LastActivityDate="2011-02-01T13:59:39.410" Title="Functional Sparse-Matrix with good performance?" Tags="&lt;ds.data-structures&gt;&lt;functional-programming&gt;&lt;sparse-matrix&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="4662" PostTypeId="1" AcceptedAnswerId="4711" CreationDate="2011-01-31T01:37:47.470" Score="27" ViewCount="1262" Body="&lt;p&gt;I've been thinking about the following problem for a time, and I haven't found a polynomial solution for it. Only brute-fource. I've been trying to reduce an NP-Complete problem into it too with no sucess. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Here is the problem&lt;/strong&gt;:&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;You have a &lt;strong&gt;sorted&lt;/strong&gt; set $\{(A_1, B_1), (A_2, B_2), \ldots, (A_n, B_n)\}$ of positive integers pairs.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$(A_i, B_i) &amp;lt; (A_j, B_j) \Leftrightarrow A_i &amp;lt; A_j \lor (A_i = A_j \land B_i &amp;lt; B_j)$ &#xA;$(A_i, B_i) = (A_j, B_j) \Leftrightarrow A_i = A_j \land B_i = B_j$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The following operation can be applied to a pair: &lt;code&gt;Swap(pair)&lt;/code&gt;. It swaps the elements of the pair, so $(10, 50)$ will become $(50, 10)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;When a pair in the set is swapped, the set automatically gets sorted again (the swapped pair is out of place and it will get moved into its place in the set).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem consist on see if there is a sequence that, starting on some pair, swaps the entire set, with the following condition:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;After a pair is swapped, the next pair to be swapped has to be either the successor or the predecesor pair in the set.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;It would be great to find a polynomial time solution to this problem, or a reduction of an NP-Complete problem into it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt;&lt;br&gt;&#xA;It's already a decision problem. I don't want to know which the sequence is: only if a sequence exists.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Example of how the set gets sorted after swapping a pair&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\textbf{(6, 5)}$&lt;br&gt;&#xA;$(1,2)$&lt;br&gt;&#xA;$(3,4)$&lt;br&gt;&#xA;$(7,8)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If I swap the first pair, it becomes to: $(5,6)$, and after sorting the set (placing the sorted pair in its new position), we have:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$(1,2)$&lt;br&gt;&#xA;$(3,4)$&lt;br&gt;&#xA;$\textbf{(5,6)}$&lt;br&gt;&#xA;$(7,8)$  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then I have to swap either the $(3,4)$ (predecessor) pair or $(7,8)$ (sucessor), and repeat the process until all pairs are swapped (if possible).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Important:&lt;/strong&gt;&lt;br&gt;&#xA;You cannot swap an already swapped pair.&lt;br&gt;&#xA;If there is a sequence of 'swap' operations, then all pairs has to be renamed to once and only once.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Example where isn't possible to swap all pairs&lt;/strong&gt;  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$(0, 0)$&lt;br&gt;&#xA;$(1, 4)$&lt;br&gt;&#xA;$(3, 2)$&lt;br&gt;&#xA;$(5, 5)$  &lt;/p&gt;&#xA;" OwnerUserId="3440" LastEditorUserId="3440" LastEditDate="2011-02-01T06:49:41.790" LastActivityDate="2011-02-10T09:00:00.697" Title="Is it possible to find if a sequence exists in polynomial time in the following problem?" Tags="&lt;ds.algorithms&gt;&lt;np-hardness&gt;&lt;sorting&gt;" AnswerCount="2" CommentCount="41" FavoriteCount="11" ContentLicense="CC BY-SA 2.5" />
  <row Id="4663" PostTypeId="2" ParentId="3540" CreationDate="2011-01-31T01:44:50.533" Score="8" Body="&lt;p&gt;&lt;a href=&quot;http://planetmath.org/?op=listobj&amp;amp;from=books&quot;&gt;PlanetMath&lt;/a&gt; lists over 150 books which are available online. The list is updated regularly (the most recent addition being 2011-01-09, as of this writing).&#xA;Books are math-related, but some of them are useful in TCS, too.&lt;/p&gt;&#xA;" OwnerUserId="873" LastActivityDate="2011-01-31T01:44:50.533" CommentCount="2" CommunityOwnedDate="2011-01-31T01:44:50.533" ContentLicense="CC BY-SA 2.5" />
  <row Id="4666" PostTypeId="2" ParentId="3008" CreationDate="2011-01-31T10:49:15.403" Score="1" Body="&lt;p&gt;Reinforcement Learning algorithms (especially Q-Learning and SARSA) are quite simple to understand and very powerful to resolve some learning problems. They don't require any advanced knowledge in linear algebra, except for convergence proof and convergence rate.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can use the well known survey of Littman and al.: &lt;a href=&quot;http://www.cs.cmu.edu/afs/cs/project/jair/pub/volume4/kaelbling96a-html/rl-survey.html&quot; rel=&quot;nofollow&quot;&gt;http://www.cs.cmu.edu/afs/cs/project/jair/pub/volume4/kaelbling96a-html/rl-survey.html&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="2954" LastActivityDate="2011-01-31T10:49:15.403" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4667" PostTypeId="1" AcceptedAnswerId="4678" CreationDate="2011-01-31T13:17:10.583" Score="15" ViewCount="596" Body="&lt;p&gt;When reading the paper &amp;quot;&lt;a href=&quot;http://arxiv.org/abs/1101.5444&quot; rel=&quot;noreferrer&quot;&gt;An applicative theory for FPH&lt;/a&gt;&amp;quot; you can encounter the following passage:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Considering theories which characterize classes of computational complexity, there are three different approaches:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;in one, the functions which can be defined within the theory are “automatically” within a certain complexity class. In such an account, the syntax has to be restricted to guarantee that one stays in the appropriate class. This results, in general, in the problem that certain definitions of functions do not work any longer, even if the function is in the complexity class under consideration.&lt;/li&gt;&#xA;&lt;li&gt;In a second account, the underlying logic is restricted.&lt;/li&gt;&#xA;&lt;li&gt;In the third account, one does not restrict the syntax, allowing, in general, to write down “function terms” for arbitrary (partial recursive) functions, nor the logic, but only for those function terms which belong to the complexity class under consideration, one can prove that they have a certain characteristic property, usually, the property that they are “provably total”. While the function terms, according to the underlying syntactical framework, may&#xA;have a straightforward computational character, i.e., as &lt;span class=&quot;math-container&quot;&gt;$\lambda$&lt;/span&gt; terms, the logic which is used to prove the characteristic property may well be classical.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;My question concerns references which can be as an introduction to the three above-mentioned approaches. In this passage we see just characterizations for approaches, but do these have any generally accepted names?&lt;/p&gt;&#xA;" OwnerUserId="1060" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2011-11-18T18:17:31.713" Title="Theories which characterize classes of computational complexity" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;complexity-classes&gt;&lt;lo.logic&gt;&lt;proof-complexity&gt;" AnswerCount="3" CommentCount="9" FavoriteCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="4668" PostTypeId="1" AcceptedAnswerId="4752" CreationDate="2011-01-31T13:28:30.757" Score="13" ViewCount="2027" Body="&lt;p&gt;&lt;em&gt;I moved &lt;a href=&quot;https://stackoverflow.com/questions/3335026/which-formal-language-class-are-xml-and-json-with-unique-keys-they-are-not-conte&quot;&gt;this question from stackoverflow&lt;/a&gt; where id got no answers. We had a similar question &lt;a href=&quot;https://cstheory.stackexchange.com/questions/3987/is-json-a-regular-language&quot;&gt;whether JSON is regular&lt;/a&gt;&lt;/em&gt;:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;JSON and XML are both frequently called to be context-free languages - they are both specified mainly by a formal grammar in EBNF. However this is only true for JSON as defined in &lt;a href=&quot;https://stackoverflow.com/questions/3335026/which-formal-language-class-are-xml-and-json-with-unique-keys-they-are-not-conte&quot;&gt;RFC 4329, section 2.2&lt;/a&gt; which does not require uniqueness of object keys (many may not know but {&quot;a&quot;:1,&quot;a&quot;:2} is valid JSON!). But if you require unique keys in JSON or &lt;a href=&quot;https://cstheory.stackexchange.com/questions/3987/is-json-a-regular-language&quot;&gt;unique attribute names in XML&lt;/a&gt; this cannot be expressed by a context-free grammars. But which is the language class of JSON with unique keys and for well-formed XML (which implies unique attribute names?).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One of the best paper I found on this subject (Murato et al, 2001: &lt;a href=&quot;http://www.cobase.cs.ucla.edu/tech-docs/dongwon/mura0619.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Taxonomy of XML Schema Languages using Formal Language Theory&lt;/a&gt;) explicitly excludes integrity constraints such as keys/keyrefs and uniqueness to be checked on an additional layer. Beside this the subset of XML defined by an XML Schema or by a DTD is context-free. But not the full set of all well-formed XML documents.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think a nested stack automaton (=indexed language) should be able to parse JSON with unique key constraint. For XML can simlify the question to the language S of all comma-separated lists of unique integers. Does anyone know more, preferably with citations?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;P.S:&lt;/strong&gt; A simple algorithm to decide the languages (beside the context-free part) is based on a good sorting algorithm. Therefore it should be decidable in &quot;linearithmic time&quot; with O(n log n) worst case. I have not found out yet, whether the complexity class is for instance &lt;em&gt;&quot;mildly context-sensitive&quot;&lt;/em&gt;, or &lt;em&gt;&quot;indexed&quot;&lt;/em&gt; but probably something between context-free and context-sensitive (?).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT:&lt;/strong&gt; Maybe I better reformulate the question for the more theoretical computer scientists. Given the class CFL of all languages that can be expressed by Backus-Naur-Form with repetition (&lt;code&gt;x := a+&lt;/code&gt; &lt;span class=&quot;math-container&quot;&gt;$\Leftrightarrow$&lt;/span&gt; &lt;code&gt;x := a | x a&lt;/code&gt;). Now what do I gain in computational power if I introduce a &quot;repetition with unique instances&quot; operator &lt;code&gt;^&lt;/code&gt;, so &lt;code&gt;a^&lt;/code&gt; is a sequence of &lt;code&gt;a&lt;/code&gt; where each element results in a different sequence of terminals?&lt;/p&gt;&#xA;" OwnerUserId="758" LastEditorUserId="1993" LastEditDate="2019-05-05T07:19:26.280" LastActivityDate="2019-05-05T07:19:26.280" Title="Which formal language class are XML and JSON with unique keys?" Tags="&lt;fl.formal-languages&gt;" AnswerCount="1" CommentCount="11" FavoriteCount="4" ContentLicense="CC BY-SA 4.0" />
  <row Id="4669" PostTypeId="2" ParentId="1047" CreationDate="2011-01-31T13:50:53.523" Score="3" Body="&lt;p&gt;PCRE, the most popular implementation of &quot;regular expressions&quot; also implements recursive patterns, which go beyond backreferences. A questions about their complexity &lt;a href=&quot;https://stackoverflow.com/questions/4840988/the-recognizing-power-of-modern-regexes&quot;&gt;has just been asked&lt;/a&gt; at Stackoverflow. According to the practical-in-depth-answer by Perl guru brian d foy, this makes PCRE as powerful as context-free grammars. However the syntax is awful compared to Backus-Naur Form.&lt;/p&gt;&#xA;" OwnerUserId="758" LastEditorUserId="-1" LastEditDate="2017-05-23T12:40:09.333" LastActivityDate="2011-01-31T13:50:53.523" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4671" PostTypeId="2" ParentId="3111" CreationDate="2011-01-31T14:26:16.930" Score="7" Body="&lt;p&gt;I just discovered &lt;a href=&quot;http://dx.doi.org/10.1016/S0164-1212%2800%2900020-0&quot;&gt;&quot;A letter from the frustrated author of a journal paper&quot;&lt;/a&gt;. Nice read ;-)&lt;/p&gt;&#xA;" OwnerUserId="775" LastActivityDate="2011-01-31T14:26:16.930" CommentCount="1" CommunityOwnedDate="2011-01-31T14:26:16.930" ContentLicense="CC BY-SA 2.5" />
  <row Id="4672" PostTypeId="1" CreationDate="2011-01-31T14:26:30.737" Score="12" ViewCount="387" Body="&lt;p&gt;It's widely known that CNF formulas can be roughly partitioned in 2 broad classes: random vs. structured. Structured CNF formulas, in opposition to random CNF formulas, exhibit some sort of order, showing patterns that are unlikely to happen by chance. However, one may find structured formulas showing some degree of randomness (i.e. certain specific groups of clauses seems much less structured than others), as well as random formulas with some weak form of structure (i.e. certain specific groups of clauses seems less randomic than others). Hence it seems that the randomness of a formula is not just a yes/no fact.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $r: \mathcal{F} \rightarrow [0,1]$ be a function that, given a CNF formula $F \in \mathcal{F}$, returns a real value between $0$ and $1$ inclusive: $0$ means a pure structured formula, while $1$ means a pure random formula.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I wonder if someone has ever tried to invent such a $r$. Of course the value returned by $r$ would be (at least this is my intent) just a practical measurement according to some reasonable criteria, rather than a solid theoretical truth.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm also interested to know if someone has ever defined and studied any statistical indicator that can be used in the definition of $r$, or in determining other useful overall properties of a formula. By statistical indicator I mean something like that:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;b&gt;HCV (Hit Count Variance)&lt;/b&gt;&lt;br&gt;&lt;br&gt;Let $h_F: \mathbb{N} \rightarrow \mathbb{N}$ be a function that, given a variable $v_j \in \mathbb{N}$, returns the number of times $v_j$ appears in $F$. Let $V$ be the set of variables used in $F$. Let $\bar{h}_F = \frac{1}{|V|} \sum_{v_j \in V}{h_F(v_j)}$ be the AHC (Average Hit Count). The HCV is defined as follows:&#xA;&lt;br&gt;&lt;br&gt;&#xA;$HVC = \frac{1}{|V|} \sum_{v_j \in V}{(h_F(v_j) - \bar{h}_F)^2}$&#xA;&lt;br&gt;&lt;br&gt;&#xA;In random instances, the HCV is very low (all variables are mentioned almost the same number of times), while in structured instances it is not (some variables are used very frequently and some others are not, i.e. there are &quot;clusters of usage&quot;).&lt;br&gt;&lt;br&gt;&#xA;&lt;li&gt;&lt;b&gt;AID (Average Impurity Degree)&lt;/b&gt;&lt;br&gt;&lt;br&gt;Let $h_F^{+}(v_j)$ be the number of times $v_j$ occurs positive, and let $h_F^{-}(v_j)$ the number of times it occurs negative. Let $i: \mathbb{N} \rightarrow [0,1]$ be a function that, given a variable $v_j \in V$, returns its ID (Impurity Degree). The function $i(v_j)$ is defined as follows: $i(v_j) = 2 \cdot \frac{min(h_F^{+}(v_j), h_F^{-}(v_j))}{h_F(v_j)}$. Those variables occurring half of the times positive and half of the times negative have maximum Impurity Degree, while those variables occurring always positive or always negative (i.e. pure literals) have minimum Impurity Degree. The AID is simply defined as follows:&#xA;&lt;br&gt;&lt;br&gt;&#xA;$AID = \frac{1}{|V|} \sum_{v_j \in V}{i(v_j)}$&lt;br&gt;&#xA;&lt;br&gt;&#xA;In random instances (at least in those generated by negating variables with probability $0.5$), the AID is almost equal to $1$, while in structured instances it is usually far from $1$.&lt;br&gt;&lt;br&gt;&#xA;&lt;li&gt;&lt;b&gt;IDV (Impurity Degree Variance)&lt;/b&gt;&lt;br&gt;&lt;br&gt;The IDV is a more robust indicator than the AID alone, since it accounts for random instances generated by negating variables with probability different than $0.5$. It is defined as:&#xA;&lt;br&gt;&lt;br&gt;&#xA;$IDV = \frac{1}{|V|} \sum_{v_j \in V}{(i(v_j) - AID)^2}$&lt;br&gt;&lt;br&gt;&#xA;In random instances the IDV is $0$ (because every variable is negated with the same probability), while in structured instances it is far from $0$.&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;b&gt;Motivations&lt;/b&gt;&lt;/p&gt;&#xA;  &#xA;  &lt;ol&gt;&#xA;  &lt;li&gt;To better understand how CNF formulas work, how their randomness/structure could be measured, if other useful overall properties could be inferred by looking at their statistical indicators, if and how such indicators could be used to speed up search. &#xA;  &lt;li&gt;Wonder if the satisfiability (or even the number of solutions) of a CNF formula could be inferred by just cleverly manipulating its statistical indicators.&#xA;  &lt;/ol&gt;&#xA;  &#xA;  &lt;p&gt;&lt;b&gt;Questions&lt;/b&gt;&lt;/p&gt;&#xA;  &#xA;  &lt;ol&gt;&#xA;  &lt;li&gt;Did anyone ever proposed a way to measure the randomness of a CNF formula?&#xA;  &lt;li&gt;Did anyone ever proposed any statistical indicator that can be used to study or even to mechanically infer useful overall properties of a CNF formula?  &#xA;  &lt;/ol&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="947" LastEditorUserId="947" LastEditDate="2011-02-01T14:58:37.957" LastActivityDate="2011-02-01T23:42:34.990" Title="Measuring the randomness of CNF formulas" Tags="&lt;cc.complexity-theory&gt;&lt;sat&gt;&lt;randomness&gt;&lt;symmetry&gt;" AnswerCount="1" CommentCount="6" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4673" PostTypeId="1" AcceptedAnswerId="4682" CreationDate="2011-01-31T14:47:36.630" Score="9" ViewCount="3032" Body="&lt;p&gt;I'm thinking about an approximation algorithm for Max k-Cut. One simple and more involved approximation algorithms can be found &lt;a href=&quot;http://www.math.cmu.edu/%7Eaf1p/Texfiles/cuts.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;here&lt;/a&gt;. The Max k-Cut problem is defined as follows.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Input is a graph G = (V, E) and an integer k, n = |V|, the question asks for partitioning G&#xA;into k disjoint sets such that the total number of edges between disjoint parts is &lt;em&gt;maximized&lt;/em&gt;.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;My algorithm is a greedy strategy and works as follow (maybe someone else already had a similar idea but I'm not aware of):&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Start with each vertex in a group by&#xA;itself, and at each step, combine the&#xA;two groups that have a minimum number&#xA;of edges between them. Repeat this until the number of groups shrinks to &lt;span class=&quot;math-container&quot;&gt;$k$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Is there a known approximation guarantee for this algorithm?&lt;/p&gt;&#xA;" OwnerUserId="1846" LastEditorUserId="1846" LastEditDate="2020-11-25T09:58:07.373" LastActivityDate="2020-11-25T09:58:07.373" Title="What's the approximation factor of this Max k-Cut approximation?" Tags="&lt;ds.algorithms&gt;&lt;graph-algorithms&gt;&lt;approximation-algorithms&gt;&lt;max-cut&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="1" ContentLicense="CC BY-SA 4.0" />
  <row Id="4674" PostTypeId="1" CreationDate="2011-01-31T15:29:23.103" Score="2" ViewCount="711" Body="&lt;p&gt;I'm writing an application which divides a population of users into pairs for the purpose of performing a task together. Each user can specify various preferences about their partner, e.g.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;gender&lt;/li&gt;&#xA;&lt;li&gt;language&lt;/li&gt;&#xA;&lt;li&gt;age&lt;/li&gt;&#xA;&lt;li&gt;location (typically, within X miles/kilometers from where the user lives)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Ideally, I would like the user to be able to specify whether each of these preferences is a &quot;nice to have&quot; or a &quot;must have&quot;, e.g. &quot;I would prefer to be matched with a native English speaker, but I must not be matched with a female&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My objective is to maximise the overall average quality of the matches. For example, assume there are 4 users in the system, A, B, C, D. These users can be matched in 3 ways:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&#xA;Option 1     Match Score&#xA;A-B           5&#xA;C-D           4&#xA;---&#xA;Average       4.5&#xA;&#xA;Option 2     Match Score&#xA;A-C           2&#xA;B-D           3&#xA;---&#xA;Average       2.5&#xA;&#xA;Option 3     Match Score&#xA;A-D           1&#xA;B-C           9&#xA;---&#xA;Average       5&#xA;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;So in this contrived example, the 3rd option would be chosen because it has the highest overall match quality, even though A and D are not very well matched at all.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there an algorithm that can help me to: &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;calculate the &quot;match scores&quot; shown above&lt;/li&gt;&#xA;&lt;li&gt;choose the pairings that will maximise the average match score (while respecting each user's absolute constraints)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;It is not absolutely necessary that each user is matched, so given a choice between significantly lowering the overall quality of the matches, and leaving a few users without a match, I would choose the latter.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Obviously, I would like the algorithm that calculates the matches to complete as quickly as possible, because the number of users in the system could be quite large.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, this system of computing match scores and maximizing the overall average is just a heurisitic I've come up with myself. If there's a much better way to calculate the pairings, please let me know.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Update&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;The problem I've described seems to be a similar to the &lt;a href=&quot;http://en.wikipedia.org/wiki/Stable_marriage_problem&quot; rel=&quot;nofollow&quot;&gt;stable marriage problem&lt;/a&gt; for which there is a well-known solution. However, in this  problem I do not require the chosen pairs to be stable. My goal is to choose the pairs so that the average &quot;match score&quot; is maximized&lt;/p&gt;&#xA;" OwnerUserId="3571" LastEditorUserId="13408" LastEditDate="2015-10-22T08:28:00.063" LastActivityDate="2015-10-22T08:28:00.063" Title="Matching algorithm" Tags="&lt;ds.algorithms&gt;&lt;matching&gt;" AnswerCount="1" CommentCount="14" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="4676" PostTypeId="1" AcceptedAnswerId="4681" CreationDate="2011-01-31T17:13:10.517" Score="3" ViewCount="417" Body="&lt;p&gt;I have an algorithm that on all examples I was running finds an  arbitrary approximation of global minimum of binary quadratic program. The algorithm find the minimum in polynomial time. Binary quadratic program is NP-complete, and I cannot prove theoretically, that the algorithm always finds the right solution (it always does in practice). The memory requirement for the algorithm is in current implementation $ n^8 $, where n is the dimension of the problem, it can be reduced to $ n^4 $ leading to possibility to solve the problem in about 50 dimensions, although running time is large - the algorithm have to solve the semi-definite program in $ n^4 $ dimension.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Question: &lt;br&gt; Is there any practical application this algorithm can be used? &lt;br&gt;What benchmarks tests should be performed to demonstrate practical usefulness of the algorithm?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm not sure I'm allowed to post the link, so you can find details of the algorithm, and its python implementation though the link in my profile, or  here, if link works.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;PS. I apologize if this is off topic question, I got algorithm by a complete chance, and have no idea where and how to communicate it. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;PPS. I know it goes completely against the public opinion, but this is a testable objective, so give it a chance to survive, at least to the moment when it finds counterexample, or can be used as a practical application without a proof.&lt;/p&gt;&#xA;" OwnerUserId="3573" LastEditorUserId="3573" LastEditDate="2011-02-21T15:21:07.093" LastActivityDate="2011-02-21T15:21:07.093" Title="Applications and benchmarks for binary quadratic program algorithms" Tags="&lt;ds.algorithms&gt;&lt;advice-request&gt;&lt;integer-programming&gt;&lt;semidefinite-programming&gt;" AnswerCount="1" CommentCount="6" ContentLicense="CC BY-SA 2.5" />
  <row Id="4678" PostTypeId="2" ParentId="4667" CreationDate="2011-01-31T17:45:45.870" Score="15" Body="&lt;p&gt;I think the first approach, the &lt;em&gt;bounded arithmetic&lt;/em&gt; approach, is the most popular and well-studied approach. The name &lt;em&gt;bounded arithmetic&lt;/em&gt; indicates the use of weak subsystems of Peano arithmetics, where  induction is restricted to formulas with bounded quantifiers.  I already summarized the main idea behind this approach in this &lt;a href=&quot;https://cstheory.stackexchange.com/questions/3253/what-books-should-everyone-read/3414#3414&quot;&gt;post&lt;/a&gt;. An excellent recent reference on bounded arithmetic is the &lt;a href=&quot;http://www.cs.toronto.edu/~sacook/homepage/book/&quot; rel=&quot;nofollow noreferrer&quot;&gt;book&lt;/a&gt; by Cook and Nguyen, whose draft is freely available. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The second approach uses linear logic and its subsystem as mentioned by Kaveh, which I don't know much about. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I haven't heard of the third approach although I'm working on bounded arithmetic. But it sounds a bit strange to me since without some form of syntactic or logical restriction, how does then a theory characterize a complexity class?&lt;/p&gt;&#xA;" OwnerUserId="1080" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.743" LastActivityDate="2011-01-31T17:45:45.870" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4681" PostTypeId="2" ParentId="4676" CreationDate="2011-01-31T21:42:49.927" Score="4" Body="&lt;p&gt;The &lt;a href=&quot;http://biqmac.uni-klu.ac.at/biqmaclib.html&quot; rel=&quot;nofollow&quot;&gt;Biq Mac&lt;/a&gt; library provides a collection of instances four your problem. &lt;/p&gt;&#xA;" OwnerUserId="2150" LastActivityDate="2011-01-31T21:42:49.927" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4682" PostTypeId="2" ParentId="4673" CreationDate="2011-02-01T06:48:24.440" Score="15" Body="&lt;p&gt;This is called the &lt;em&gt;edge-contraction heuristic&lt;/em&gt;, in which an upper bound &lt;span class=&quot;math-container&quot;&gt;$(k-1)/(k+1)$&lt;/span&gt; on the approximation ratio can be shown. See section 3 of &lt;a href=&quot;http://www.inderscience.com/offer.php?id=17827&quot; rel=&quot;nofollow noreferrer&quot;&gt;the work by Kahruman et al.&lt;/a&gt; for reference.&lt;/p&gt;&#xA;&lt;p&gt;Imagine whenever we combine two nodes u, v into a group, instead of forming a group we contract the edge (u, v) between these two nodes, and updates the weight of all the edges incident to the newly formed node. Repeat the procedure until there are only k nodes left. Lemma 3.1 in the above paper shows that the sum of weights of the first &lt;span class=&quot;math-container&quot;&gt;$i$&lt;/span&gt; edges being contracted (denoted as &lt;span class=&quot;math-container&quot;&gt;$W_i$&lt;/span&gt;) satisfies the following inequality:&lt;/p&gt;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$$W_i \leq \frac{2iW}{(n-1)(n-i-1)} \text{,}$$&lt;/span&gt;&lt;/p&gt;&#xA;&lt;p&gt;where &lt;span class=&quot;math-container&quot;&gt;$W$&lt;/span&gt; is the sum of weights of all edges.&#xA;This can be derived from&#xA;&lt;span class=&quot;math-container&quot;&gt;$$W_{i+1} \leq W_i + \frac{W-W_i}{({n-i\atop 2})} \text{,}$$&lt;/span&gt;&#xA;since we always contract the lightest pair, the weight of the contracted edge cannot surpass the average weight.&lt;/p&gt;&#xA;&lt;p&gt;One can see that the cut formed by this algorithm has weight &lt;span class=&quot;math-container&quot;&gt;$W_C = W-W_{n-k}$&lt;/span&gt;,&#xA;and by observing that &lt;span class=&quot;math-container&quot;&gt;$W \geq W^*$&lt;/span&gt; where &lt;span class=&quot;math-container&quot;&gt;$W^*$&lt;/span&gt; is the weight of the optimum cut,&#xA;we have our desired approximation ratio:&lt;/p&gt;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$$W_C \geq W-\frac{2(n-k)W}{(n-1)(k-1)} \geq \frac{k-1}{k+1}W^* \text{.}$$&lt;/span&gt;&lt;/p&gt;&#xA;&lt;p&gt;For k=2, the algorithm gives a 1/3-approximation to the Max cut problem.&lt;/p&gt;&#xA;" OwnerUserId="1800" LastEditorUserId="1846" LastEditDate="2020-11-25T09:54:07.300" LastActivityDate="2020-11-25T09:54:07.300" CommentCount="1" ContentLicense="CC BY-SA 4.0" />
  <row Id="4683" PostTypeId="1" CreationDate="2011-02-01T13:20:38.940" Score="7" ViewCount="354" Body="&lt;p&gt;I have a question about page 9 in &lt;a href=&quot;http://www.paultaylor.eu/stable/prot.pdf&quot;&gt;Proofs and Types&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The given $\rightarrow$Introduction rule says that $A \rightarrow B$ can be deduced from $B$ if the deduction of $B$ contains an arbitrary number of $A$s (0 or more).  How can this be true if there are zero $A$s in the deduction of $B$?&lt;/p&gt;&#xA;" OwnerUserId="3528" LastEditorUserId="80" LastEditDate="2011-02-01T16:44:37.687" LastActivityDate="2011-07-25T20:15:45.420" Title="Discharged hypotheses in -&gt;Introduction" Tags="&lt;lo.logic&gt;&lt;natural-deduction&gt;" AnswerCount="3" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4685" PostTypeId="2" ParentId="2503" CreationDate="2011-02-01T13:33:23.510" Score="10" Body="&lt;p&gt;The question is already a bit older, but ISGCI can be of some help here.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;When you start the ISGCI Java application and go to the menu Problems -&gt; Boundary/Open classes -&gt; Independent set, you get a dialog with 3 lists.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The list Maximal P contains all classes C (in ISGCI) on which IS can be solved in polynomial time, such that there is a minimal superclass of C on which IS is not known to be in P (i.e. NP-complete, open, or unknown to ISGCI). Selecting a class and clicking 'Draw' will draw the class and the superclasses that are found by walking BFS-style up the inclusion hierarchy as far as is needed to find a class on which IS is not known to be in P.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The list Minimal NP-complete goes the other way around: It contains classes on which IS is NP-complete, such that not all maximal subclasses are also NP-complete. Drawing goes down in the hierarchy until a not-NP-complete class is found.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The open list contains classes for which the problem is either open or unknown. Drawing walks over super/subclasses until a class is reached that is not open.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;When creating a drawing it is a good idea to set the colouring to the Independent Set problem (Problems -&gt; Colour for problem -&gt; Independent set).&lt;/p&gt;&#xA;&#xA;&lt;hr/&gt;&#xA;&#xA;&lt;p&gt;With regard to Standa Zivny's question, the following 20 classes are listed in ISGCI with known complexity for the unweighted IS problem, but with unknown complexity for the weighted case (ISGCI cannot distinguish between &quot;simple&quot; and &quot;complicated&quot; polynomial algorithms):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;gc_11 extended P&lt;sub&gt;4&lt;/sub&gt;-laden&lt;br&gt;&#xA;gc_128 EPT&lt;br&gt;&#xA;gc_415 well covered&lt;br&gt;&#xA;gc_428 (K&lt;sub&gt;3,3&lt;/sub&gt;-e,P&lt;sub&gt;5&lt;/sub&gt;,X&lt;sub&gt;98&lt;/sub&gt;)-free&lt;br&gt;&#xA;gc_648 (K&lt;sub&gt;3,3&lt;/sub&gt;-e,P&lt;sub&gt;5&lt;/sub&gt;)-free&lt;br&gt;&#xA;gc_752 co-hereditary clique-Helly&lt;br&gt;&#xA;gc_756 (E,P)-free&lt;br&gt;&#xA;gc_757 (P,T&lt;sub&gt;2&lt;/sub&gt;)-free&lt;br&gt;&#xA;gc_758 (P,P&lt;sub&gt;8&lt;/sub&gt;)-free&lt;br&gt;&#xA;gc_759 (K&lt;sub&gt;3,3&lt;/sub&gt;-e,P&lt;sub&gt;5&lt;/sub&gt;,X&lt;sub&gt;99&lt;/sub&gt;)-free&lt;br&gt;&#xA;gc_808 (C&lt;sub&gt;6&lt;/sub&gt;,K&lt;sub&gt;3,3&lt;/sub&gt;+e,P,P&lt;sub&gt;7&lt;/sub&gt;,X&lt;sub&gt;37&lt;/sub&gt;,X&lt;sub&gt;41&lt;/sub&gt;)-free&lt;br&gt;&#xA;gc_811 (P,star&lt;sub&gt;1,2,5&lt;/sub&gt;)-free&lt;br&gt;&#xA;gc_812 (P&lt;sub&gt;5&lt;/sub&gt;,P&lt;sub&gt;2&lt;/sub&gt; ∪ P&lt;sub&gt;3&lt;/sub&gt;)-free&lt;br&gt;&#xA;gc_813 (P,P&lt;sub&gt;7&lt;/sub&gt;)-free&lt;br&gt;&#xA;gc_818 (P,star&lt;sub&gt;1,2,3&lt;/sub&gt;)-free&lt;br&gt;&#xA;gc_819 (P,star&lt;sub&gt;1,2,4&lt;/sub&gt;)-free&lt;br&gt;&#xA;gc_841 (2K&lt;sub&gt;3&lt;/sub&gt; + e,A,C&lt;sub&gt;6&lt;/sub&gt;,E,K&lt;sub&gt;3,3&lt;/sub&gt;-e,P&lt;sub&gt;6&lt;/sub&gt;,R,X&lt;sub&gt;166&lt;/sub&gt;,X&lt;sub&gt;167&lt;/sub&gt;,X&lt;sub&gt;169&lt;/sub&gt;,X&lt;sub&gt;170&lt;/sub&gt;,X&lt;sub&gt;171&lt;/sub&gt;,X&lt;sub&gt;172&lt;/sub&gt;,X&lt;sub&gt;18&lt;/sub&gt;,X&lt;sub&gt;45&lt;/sub&gt;,X&lt;sub&gt;5&lt;/sub&gt;,X&lt;sub&gt;58&lt;/sub&gt;,X&lt;sub&gt;84&lt;/sub&gt;,X&lt;sub&gt;95&lt;/sub&gt;,X&lt;sub&gt;98&lt;/sub&gt;,A,C&lt;sub&gt;6&lt;/sub&gt;,E,P&lt;sub&gt;6&lt;/sub&gt;,R,X&lt;sub&gt;166&lt;/sub&gt;,X&lt;sub&gt;167&lt;/sub&gt;,X&lt;sub&gt;169&lt;/sub&gt;,X&lt;sub&gt;170&lt;/sub&gt;,X&lt;sub&gt;171&lt;/sub&gt;,X&lt;sub&gt;172&lt;/sub&gt;,X&lt;sub&gt;18&lt;/sub&gt;,X&lt;sub&gt;45&lt;/sub&gt;,X&lt;sub&gt;5&lt;/sub&gt;,X&lt;sub&gt;58&lt;/sub&gt;,X&lt;sub&gt;84&lt;/sub&gt;,X&lt;sub&gt;95&lt;/sub&gt;,X&lt;sub&gt;98&lt;/sub&gt;,antenna,co-antenna,co-domino,co-fish,co-twin-house,domino,fish,twin-house)-free&lt;br&gt;&#xA;gc_894 co-circular perfect&lt;br&gt;&#xA;gc_895 strongly circular perfect&lt;br&gt;&#xA; (3K&lt;sub&gt;2&lt;/sub&gt;,E,P&lt;sub&gt;2&lt;/sub&gt; ∪ P&lt;sub&gt;4&lt;/sub&gt;,net)-free&lt;br&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;No doubt a number of these will have known algorithms for the weighted case as well. Additions and corrections are always welcome at the address given on the ISGCI web page!&lt;/p&gt;&#xA;" OwnerUserId="3593" LastActivityDate="2011-02-01T13:33:23.510" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4686" PostTypeId="2" ParentId="4683" CreationDate="2011-02-01T13:34:08.827" Score="0" Body="&lt;p&gt;It is the case when B is not derived from any previous rule/axiom; that is, B is an axiom/tautology itself.&lt;/p&gt;&#xA;" OwnerUserId="873" LastActivityDate="2011-02-01T13:34:08.827" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4687" PostTypeId="2" ParentId="4683" CreationDate="2011-02-01T13:37:24.257" Score="19" Body="&lt;p&gt;Think about the hypothesis: &lt;em&gt;It rains in Belgium&lt;/em&gt;. This is true. Assume that the proof of this fact does not contain the assumption &lt;em&gt;Cows eat grass&lt;/em&gt;. What the $\to$ introduction rule states is that I can nonetheless conclude &lt;em&gt;Cows eat grass&lt;/em&gt; $\to$ &lt;em&gt;It rains in Belgium&lt;/em&gt;. Classically, this is true whether or not &lt;em&gt;Cows eat grass&lt;/em&gt; is true. Constructively, if I have a proof of &lt;em&gt;Cows eat grass&lt;/em&gt;, I can simply throw it away and return the previous proof of &lt;em&gt;It rains in Belgium&lt;/em&gt;, as implicitly this is what the meaning of $A\to B$ is: it takes proofs of $A$ and converts them into proofs of $B$.&lt;/p&gt;&#xA;" OwnerUserId="77" LastEditorUserId="77" LastEditDate="2011-02-01T13:51:11.733" LastActivityDate="2011-02-01T13:51:11.733" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="4688" PostTypeId="2" ParentId="4683" CreationDate="2011-02-01T13:58:33.193" Score="21" Body="&lt;p&gt;Dave Clarke's answer basically says it all: this is the standard convention in classical and constructive mathematics.  Nonetheless, your objection is the source of a century-old subdiscipline of philosophical logic called &quot;&lt;a href=&quot;http://plato.stanford.edu/entries/logic-relevance/&quot;&gt;relevance logic&lt;/a&gt;&quot;, which can be seen as rejecting the axiom p → (q → p) -- or in terms of natural deduction, rejecting precisely this ability to use a hypothesis zero times, or equivalently in terms of sequent calculus, rejecting the structural rule of &lt;strong&gt;weakening&lt;/strong&gt;. Reconsidering other structural rules/axioms leads more generally to &lt;a href=&quot;http://plato.stanford.edu/entries/logic-substructural/&quot;&gt;substructural logics&lt;/a&gt;, which have found applications in linguistics and theoretical computer science.  (One important example, linear logic, is mentioned in the appendix to Proofs and Types.)&lt;/p&gt;&#xA;" OwnerUserId="674" LastActivityDate="2011-02-01T13:58:33.193" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4689" PostTypeId="2" ParentId="4661" CreationDate="2011-02-01T13:59:39.410" Score="5" Body="&lt;p&gt;&lt;a href=&quot;http://people.csail.mit.edu/jfineman/csb.pdf&quot;&gt;Buluç et al.&lt;/a&gt; (2009) propose a storage format called &lt;em&gt;compressed sparse blocks&lt;/em&gt; which does not favour rows or columns. A $n\times n$-matrix is subdivided into $\beta\times\beta$ blocks and the list of nonzero elements in each block is stored in Z-Morton order. To list the nonzeros in a row or column you can process the $n/\beta$ blocks containing it, recursively finding the nonzeros in each block in $O(\beta)$.&lt;/p&gt;&#xA;" OwnerUserId="2150" LastActivityDate="2011-02-01T13:59:39.410" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4690" PostTypeId="2" ParentId="4662" CreationDate="2011-02-01T15:06:40.877" Score="10" Body="&lt;p&gt;This is not a solution, but a reformulation that avoids explicit mention of the swapping and sorting operations.  Start by sorting the entire combined list of filenames and their swapped versions, and identify each filename with its index in that list.  Then two files are neighbors if all the old filenames between them have already been destroyed, and if none of the new filenames between them have been created yet.  The reformulated problem is the following:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a set of $n$ disjoint directed edges $(a, b)$ with $a, b \in \{1,2,…,2n\}$,&#xA;is there an ordering $(a_1, b_1), (a_2, b_2),...,(a_n, b_n)$ of these&#xA;edges such that&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;if $a_j$ is between $b_i$ and $a_{i+1}$, then $j \le i$, and&lt;/li&gt;&#xA;&lt;li&gt;if $b_j$ is between $b_i$ and $a_{i+1}$, then $j \ge i+1$?&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="3183" LastEditorUserId="3183" LastEditDate="2011-02-01T19:10:04.827" LastActivityDate="2011-02-01T19:10:04.827" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="4691" PostTypeId="2" ParentId="2559" CreationDate="2011-02-01T16:56:30.980" Score="10" Body="&lt;p&gt;It is an open problem in complexity theory for many years if $\mathsf{PH}^{\mathsf{\#P}}$ collapse,&#xA;where $\mathsf{PH}$ is the polynomial time hierarchy. It is also an open problem to construct&#xA;an oracle to separate $\mathsf{P}^{\mathsf{\#P}}$ from $\mathsf{PSPACE}$.&lt;/p&gt;&#xA;" OwnerUserId="3423" LastEditorUserId="1800" LastEditDate="2011-02-02T04:46:09.153" LastActivityDate="2011-02-02T04:46:09.153" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="4692" PostTypeId="2" ParentId="4648" CreationDate="2011-02-01T20:15:14.890" Score="1" Body="&lt;p&gt;&lt;em&gt;(This is joint with &lt;a href=&quot;https://cstheory.stackexchange.com/users/1173/jeff-phillips&quot;&gt;Jeff Phillips&lt;/a&gt;, who refuses to visit cstheory regularly ;))&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;I'm working with the problem formulation as stated and evolved in the comments. Namely, the goal is to find a minimum number of &amp;quot;robots&amp;quot; who can traverse a partition of an orthogonal polygon into rectangles, with the constraint that:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;A room can be entered and exited only in diametrically opposed directions (so north-south OR east-west)&lt;/li&gt;&#xA;&lt;li&gt;A robot can only cross room boundaries along one (globally chosen) axis (so no 90 degree turns allowed)&lt;/li&gt;&#xA;&lt;li&gt;Within a room though, a robot can do whatever it likes, as long it crosses room boundaries as specified.&lt;/li&gt;&#xA;&lt;li&gt;Robots can backtrack arbitrarily as long as they follow the above rules.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;So a solution looks like an assignment of &amp;quot;colors&amp;quot; axes (NS or EW) to each room, and a traversal plan where each robot only traverses rooms having the same &amp;quot;color&amp;quot;.&lt;/p&gt;&#xA;&lt;p&gt;Construct a graph where each rectangle is a vertex and two rectangles are marked as adjacent if they share a boundary. The edge is &amp;quot;colored&amp;quot; NS or EW, depending on the nature of the adjacency.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Claim 1:&lt;/strong&gt; If we are limited to one axis (NS or EW) then the minimum number of robots is merely the number of components in graph induced by edges of the corresponding color.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Proof:&lt;/strong&gt; Every edge represents a legal transition in that axis, so placing one robot in each connected component suffices, and you need at least one for each component for coverage.&lt;/p&gt;&#xA;&lt;p&gt;Now consider the two partitions of the rectangle collection induced by the two colors. Notice that the minimum cardinality partition among these two might be far from optimal if for example your polygon is an L shape with each leg subdivided into n/2 rectangles. The individual graphs each have n/2 components, but the optimal solution is of size 2.&lt;/p&gt;&#xA;&lt;p&gt;Construct a bipartite graph, in each node is one of the connected components of either of the partitions, and two nodes are connected if their corresponding components intersect. This graph is bipartite because the two sets of components were partitions.&lt;/p&gt;&#xA;&lt;p&gt;Claim: the size of minimum vertex cover in this graph is the desired optimal soln.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Proof.&lt;/strong&gt;&#xA;Firstly note that in any optimal solution, the set of rectangles covered by any robot must be a subset of one of the components by reachability. Further, it costs nothing for this robot to cover any of the other rectangles in this partition. Hence wlog we can assume that OPT consists of a set of components that together cover all rectangles, i.e a set cover.&lt;/p&gt;&#xA;&lt;p&gt;Secondly, since the graph is bipartite, we know that any rectangle is represented by exactly one edge between left and right sides. Thus, covering all rectangles actually requires covering all edges in this graph.&lt;/p&gt;&#xA;&lt;p&gt;QED&lt;/p&gt;&#xA;&lt;p&gt;VC in bipartite graphs can be solved in polynomial time, so the overall problem can be solved in polynomial time.&lt;/p&gt;&#xA;&lt;p&gt;Comments ?&lt;/p&gt;&#xA;" OwnerUserId="80" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2011-02-01T20:15:14.890" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="4694" PostTypeId="1" CreationDate="2011-02-01T21:58:41.840" Score="1" ViewCount="207" Body="&lt;p&gt;Does anyone know of an upper bound for Set Cover $(\mathcal{U}, \mathcal{S}, k)$ with respect to $m=|\mathcal{S}|$ that is better than trivial when $n =|\mathcal{U}|$ is at least $3m$?&#xA;(&lt;a href=&quot;http://en.wikipedia.org/wiki/Set_cover_problem&quot; rel=&quot;nofollow&quot;&gt;Set cover&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;All upper bounds that I am aware of are &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt; dynamic programming $\mathcal{O}^*(2^n)$&lt;/li&gt;&#xA;&lt;li&gt; poly-space Measure and Conquer $O(2^{.305(m+n)})$&lt;/li&gt;&#xA;&lt;li&gt; slightly better $M\&amp;amp;C$ exp-space bound exponential in $m+n$.&lt;/li&gt;&#xA;&lt;/ol&gt; &#xA;&#xA;&lt;p&gt;Thanks.&#xA;&lt;br&gt;AW&lt;/p&gt;&#xA;" OwnerUserId="3599" LastActivityDate="2011-02-01T21:58:41.840" Title="Upper bound for set cover with respect to m that is better than trivial when $n \ge 3m$" Tags="&lt;ds.algorithms&gt;&lt;set-cover&gt;&lt;upper-bounds&gt;&lt;exp-time-algorithms&gt;" AnswerCount="0" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4695" PostTypeId="2" ParentId="4672" CreationDate="2011-02-01T23:31:21.313" Score="3" Body="&lt;p&gt;I suggest to borrow physics intuition that &quot;less random&quot; structures are more symmetric. Symmetry for CNF is any transformation of the variables, that keeps the function invariant. By that criteria, functions of 3 variables such as &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\displaystyle x_{1} \vee x_{2} \vee x_{3} .$ &lt;/p&gt;&#xA;&#xA;&lt;p&gt;or, say, &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\displaystyle(x_{1} \vee x_{2} \vee \neg x_{3}) \wedge (x_{1} \vee \neg x_{2} \vee x_{3}) \wedge (\neg x_{1} \vee x_{2} \vee x_{3}) \wedge (\neg x_{1} \vee \neg x_{2} \vee \neg x_{3}).$ &lt;/p&gt;&#xA;&#xA;&lt;p&gt;are less random than, say &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\displaystyle(x_{1} \vee x_{2} \vee \neg x_{3}) \wedge (x_{1} \vee \neg x_{2} \vee x_{3}) \wedge (\neg x_{1} \vee \neg x_{2} \vee x_{3}) .$ &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In general, defining a concept of &quot;random&quot; on finite structures is challenging. Historically, it was tried on binary sequences, which arguably are the simplest finite structures. For example, intuitively, a sequence 01010101 is &quot;less random&quot; than, say, 01001110. However, it was quickly realized that there is no consistent formal definition of &lt;em&gt;finite&lt;/em&gt; random sequence! Therefore, one have to be skeptical of any naive attempts to define a measure of randomness for any finite structure.  &lt;/p&gt;&#xA;" OwnerUserId="3213" LastEditorUserId="3213" LastEditDate="2011-02-01T23:42:34.990" LastActivityDate="2011-02-01T23:42:34.990" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="4696" PostTypeId="2" ParentId="2147" CreationDate="2011-02-01T23:52:46.973" Score="9" Body="&lt;p&gt;I realized that what I claimed above is in fact known. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For $\ell = 3$ and arbitrary $k \ge 3$, this is in Khot's FOCS 2002 paper &quot;Hardness of coloring 3-colorable 3-uniform hypergraphs&quot; (the paper actually talks about general $k$, though the title only talks about the 3-colorable case).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For $\ell \ge 4$ and $k \ge 2$, in fact a stronger hardness is known. Even if there is in fact an assignment of just two values to the variables that satisfies all NAE constraints (in other words the $\ell$-uniform hypergraph can be colored using 2 colors without any monochromatic hyperedge), it is still NP-hard to find an assignment from a domain size $k$ which satisfies at least $1-1/k^{\ell-1}+\epsilon$ NAE constraints (for arbitrary constant $\epsilon &gt; 0$). This follows easily from the fact that the known inapproximability result for hypergraph 2-coloring gives a strong density statement in the soundness case. The formal statement appears in my SODA 2011 paper with Ali Sinop &quot;The complexity of finding independent sets in bounded degree (hyper)graphs of low chromatic number&quot; (Lemma 2.3 in the SODA final version, and Lemma 2.8 in the older version available on ECCC &lt;a href=&quot;http://eccc.hpi-web.de/report/2010/111/&quot; rel=&quot;nofollow&quot;&gt;http://eccc.hpi-web.de/report/2010/111/&lt;/a&gt;). &lt;/p&gt;&#xA;" OwnerUserId="2733" LastEditorUserId="2733" LastEditDate="2011-02-07T19:17:06.920" LastActivityDate="2011-02-07T19:17:06.920" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4697" PostTypeId="1" CreationDate="2011-02-02T00:55:26.240" Score="35" ViewCount="1647" Body="&lt;p&gt;I would like to understand how the Arora-Kale SDP solver approximates the Goemans-Williamson relaxation in nearly linear time, how the Plotkin-Shmoys-Tardos solver approximates fractional &amp;quot;packing&amp;quot; and &amp;quot;covering&amp;quot; problems in nearly linear time, and how the algorithms are instantiations of the &amp;quot;learning from experts&amp;quot; abstract framework.&lt;/p&gt;&#xA;&lt;p&gt;Kale's thesis has an excellent presentation, but I find it very difficult to directly jump into the abstract framework, and I would prefer to start from an example of a simple problem for which it's absolutely obvious what to do, and then move to more general problems, progressively adding &amp;quot;features&amp;quot; to the algorithm and to its analysis.&lt;/p&gt;&#xA;&lt;p&gt;For example:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;How does Plotkin-Shmoys solve the linear programming relaxation of unweighted vertex cover? Weighted vertex cover? Set cover? Bipartite matching?&lt;/p&gt;&#xA;&lt;p&gt;What is the simplest example in which the Arora-Kale algorithm is doing something interesting? How does it compute the largest eigenvalue of the Laplacian of a graph?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;(Computing the largest eigenvalue of the Laplacian is equivalent to the problem of solving a weaker version of the Goemans-Williamson SDP relaxation of Max Cut, in which, instead of requiring each vector to be of length one, you want the sum of the squares of the norms to be |V|.)&lt;/p&gt;&#xA;" OwnerUserId="1069" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2019-04-05T21:06:53.970" Title="Toy Examples for Plotkin-Shmoys-Tardos and Arora-Kale solvers" Tags="&lt;ds.algorithms&gt;&lt;approximation-algorithms&gt;&lt;linear-programming&gt;&lt;primal-dual&gt;&lt;semidefinite-programming&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="16" ContentLicense="CC BY-SA 2.5" />
  <row Id="4698" PostTypeId="2" ParentId="265" CreationDate="2011-02-02T05:02:45.127" Score="4" Body="&lt;p&gt;There's an obvious reduction from &lt;em&gt;necessary non-termination&lt;/em&gt; to partial correctness, namely:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;P&lt;/em&gt; never terminates when started in an initial state satisfying &lt;i&gt;&amp;phi;&lt;/i&gt; iff {&lt;i&gt;&amp;phi;&lt;/i&gt;} &lt;em&gt;P&lt;/em&gt; {false} is valid.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am aware that this is another non-answer. Its advantage is that it is shorter than those above.&lt;/p&gt;&#xA;" OwnerUserId="3552" LastActivityDate="2011-02-02T05:02:45.127" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4699" PostTypeId="1" CreationDate="2011-02-02T06:14:21.103" Score="1" ViewCount="166" Body="&lt;p&gt;Is there any research on transforming 'standard' algorithms into &lt;a href=&quot;http://en.wikipedia.org/wiki/Spigot_algorithm&quot; rel=&quot;nofollow&quot;&gt;spigot algorithms&lt;/a&gt;?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'd be happiest with automated transformations, but happy to learn about any research in this area.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For my purposes, I'd like to be able to transform a Haskell function into a spigot algorithm to improve garbage collection behavior.&lt;/p&gt;&#xA;" OwnerUserId="637" LastEditorUserId="77" LastEditDate="2011-02-02T16:09:42.270" LastActivityDate="2011-02-02T16:53:22.870" Title="Automated transformation into spigot algorithm?" Tags="&lt;ds.algorithms&gt;&lt;pl.programming-languages&gt;&lt;functional-programming&gt;" AnswerCount="2" CommentCount="7" ContentLicense="CC BY-SA 2.5" />
  <row Id="4700" PostTypeId="1" CreationDate="2011-01-30T12:58:59.400" Score="5" ViewCount="359" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Possible Duplicate:&lt;/strong&gt;&lt;br&gt;&#xA;  &lt;a href=&quot;https://cstheory.stackexchange.com/questions/4644/faster-pseudo-polynomial-time-algorithms-for-partition&quot;&gt;Faster pseudo-polynomial time algorithms for PARTITION&lt;/a&gt;  &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&#xA;&#xA;&lt;p&gt;I want to partition N given numbers( may or may not be equal) into 2 subsets such that the 2 subsets have sum as close as possible and also the cardinality of the sets are equal ( if n is even ) or differ only by 1 ( if n is odd)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think we can do this in pseudo polynomial time O(n^2 * Sum of set)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can I do better than this?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks in advance!&lt;/p&gt;&#xA;" OwnerUserId="3544" OwnerDisplayName="Firebrandt" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2011-02-02T11:36:03.380" Title="2 partition problem with equal cardinality" Tags="&lt;ds.algorithms&gt;" AnswerCount="0" CommentCount="14" ClosedDate="2011-02-02T17:46:35.463" ContentLicense="CC BY-SA 2.5" />
  <row Id="4701" PostTypeId="2" ParentId="4699" CreationDate="2011-02-02T16:07:30.520" Score="1" Body="&lt;p&gt;You're going to run into some problems automating transformation of a generic algorithm into a spigot algorithm (halting problem).  Though as far as I know, if you can write out a formula for determining the nth digit of the mth number without iterating previous numbers in order to do it, you could probably convert it to a spigot algorithm.&lt;/p&gt;&#xA;" OwnerUserId="3612" LastActivityDate="2011-02-02T16:07:30.520" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4702" PostTypeId="2" ParentId="4699" CreationDate="2011-02-02T16:29:34.373" Score="3" Body="&lt;p&gt;&lt;a href=&quot;http://homepages.inf.ed.ac.uk/wadler/topics/deforestation.html&quot; rel=&quot;nofollow&quot;&gt;Deforestation&lt;/a&gt; is a technique for eliminating intermediate data structures when composing functions together (in a lazy language). It improves the memory usage of programs, and is used by the GHC Haskell compiler. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A more general notion is &lt;strong&gt;&lt;a href=&quot;https://eprints.kfupm.edu.sa/75953/1/75953.pdf&quot; rel=&quot;nofollow&quot;&gt;fusion&lt;/a&gt;&lt;/strong&gt;, which combines multiple traversals of a data structure into a single traversal. Fusion rules have been developed for programs written in terms of &lt;code&gt;map&lt;/code&gt; and &lt;code&gt;fold&lt;/code&gt;.  (If this is the kind of thing you are looking for, I can provide some references (as can google).)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Other transformations can be found on the program transformation &lt;a href=&quot;http://www.program-transformation.org/&quot; rel=&quot;nofollow&quot;&gt;wiki&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="77" LastEditorUserId="77" LastEditDate="2011-02-02T16:53:22.870" LastActivityDate="2011-02-02T16:53:22.870" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4703" PostTypeId="1" CreationDate="2011-02-02T17:32:08.010" Score="26" ViewCount="985" Body="&lt;p&gt;For a 3CNF formula $C$ let $M(C)$ be the maximal number of satisfied clauses in any assignment to $C$. It is known that Max-3SAT is hard to approximate (subject to P≠NP), i.e. there is no polytime algorithm whose input is a 3CNF formula $C$, and whose output is the number $M&amp;#39;$ such that $M(C)$ is within a multiplicative factor $1+c$ from $M&amp;#39;$, where $c&amp;gt;0$ is an absolute positive constant.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I believe that it is also NP-hard to compute $M(C) \bmod p$ for any constant modulus $p$. I wonder if the following common generalization of these two facts is true: There is no polytime algorithm whose input is a 3CNF formula $C$ with $N$ clauses, and a string of $\log_2 N-B$ advice bits, and whose output is $M(C)$. Here $B$ is an absolute constant. In plain words, there is no algorithm that computes $B$ bits of information of $M(C)$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I apologize if the question has a well-known answer, for I am not a complexity theorist by the way of background.&lt;/p&gt;&#xA;" OwnerUserId="2226" LastEditorUserId="74" LastEditDate="2011-02-02T22:29:13.133" LastActivityDate="2011-02-06T20:55:52.163" Title="Computing any information about Max-3SAT" Tags="&lt;cc.complexity-theory&gt;&lt;sat&gt;" AnswerCount="3" CommentCount="9" FavoriteCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="4704" PostTypeId="1" AcceptedAnswerId="4716" CreationDate="2011-02-02T20:51:02.493" Score="6" ViewCount="1106" Body="&lt;p&gt;Update #6:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Wow, quick service on TCS StackExchange!  Emanuele Viola has provided an answer &lt;a href=&quot;https://cstheory.stackexchange.com/questions/5004/are-runtime-bounds-in-p-decidable&quot;&gt;&lt;i&gt;Are runtime bounds in P decidable? Answer: No&lt;/i&gt;&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Emanuele's answer illuminates (for me) Luca Trevisan's answer &lt;a href=&quot;https://cstheory.stackexchange.com/questions/4704/do-runtimes-for-p-require-exp-resources-to-upper-bound-are-concrete-examples-k/4716#4716&quot;&gt;Do runtimes for P require exp resources to upper-bound?  Answer: yes&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thus, I am becoming pretty optimistic of being able to post, pretty soon, a reasonably reliable (partial) summary of the computational complexity of runtime estimation for algorithms in P (it's harder than one might guess). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the meantime, please see Emanuele's and Luca's answers.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Update #5:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am pleased to report steady progress toward a summary answer -- a key remaining question,  that has just been asked on TCS StackExchange, is &lt;a href=&quot;https://cstheory.stackexchange.com/questions/5004/are-runtime-bounds-in-p-decidable&quot;&gt;&lt;i&gt;Are runtime bounds in P decidable?&lt;/i&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My thanks go to all who have helped/are helping this particular researcher.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Update #4:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As I work through the many fine comments&amp;mdash;and Luca Trevisan's construction in particular&amp;mdash;a summary narrative is slowly crystallizing, that eventually I will post here (once I gain sufficient confidence in it).   For now, there is a &lt;a href=&quot;http://rjlipton.wordpress.com/2011/02/06/game-changing-conjectures-in-mathematics/#comment-10618&quot; rel=&quot;nofollow noreferrer&quot;&gt;preliminary draft posted on the &lt;i&gt;G&amp;ouml;del's Lost Letter&lt;/i&gt; weblog&lt;/a&gt; ... where comments are welcome.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;At present I grasp many of the tricks of complexity theory pretty well, but the motivating ideas beind these tricks often are opaque (to me), for reasons that Mac Lane describes:&lt;blockquote&gt;Analysis is full of ingenious changes of coordinates, clever substitutions, and astute manipulations.  In some of these cases, one can find a conceptual background.  When so, the ideas so revealed help us understand what's what.  We submit that this aim of understanding is a vital aspect of mathematics.&lt;/blockquote&gt;It is the &quot;understanding of what's what&quot; that as yet has not crystallized (for me) ... and yet I am very appreciative and grateful for the help that has been given so generously, to me and to many on this fine forum. &lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Update #3:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On MathOverflow, Luca Trevisan has posted &lt;a href=&quot;https://mathoverflow.net/questions/54124/do-runtimes-for-p-require-exp-resources-to-upper-bound-are-concrete-examples&quot;&gt;an interesting new comment relating to runtime estimation&lt;/a&gt; that (as I parse his comment) raises issues that are broadly associated to the practical feasibility of generating concrete runtime estimates.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I apologize for my slowness in producing a summary trace-back of these issues ... realistically it may take quite awhile to produce a summary of these questions-and-answers that respects the existing literature, and has lasting value, not only to TCS students, but to the broader community of mathematicians, scientists and engineers who care about these issues.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Update #2:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have rated as &quot;accepted&quot; &lt;a href=&quot;https://cstheory.stackexchange.com/questions/4704/do-runtimes-for-p-require-exp-resources-to-upper-bound-are-concrete-examples-k/4716#4716&quot;&gt;Luca Trevisan's ingenious construction&lt;/a&gt;, which answers the question as reframed by Tsuyoshi Ito.      Hopefully I have grasped correctly that, in brief, Luca's construction yields the answers &quot;yes&quot; and &quot;yes for all practical purposes&quot; (FAPP).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It will take awhile (for me anyway) to appreciate whether Luca's $M$-machines obstruct the $P$-time uniform reduction of ${BQP}^{P}\,\to\,{BQP}$ that is at the heart of the original question posed on &lt;em&gt;MathOverflow&lt;/em&gt;, that question being, &lt;a href=&quot;https://mathoverflow.net/questions/53503/does-bqpp-bqp-and-what-proof-machinery-is-available&quot;&gt;&quot;Does BQP^P = BQP? ... and what proof machinery is&amp;nbsp;available?&quot;&lt;/a&gt;  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In turn, this was a generalization of a question that was posed by Dick Lipton and Ken Regan on their weblog &lt;i&gt;G&amp;ouml;del's Lost Letter and P=NP&lt;/i&gt;, the question &lt;a href=&quot;http://rjlipton.wordpress.com/2011/01/23/is-factoring-really-in-bqp-really/&quot; rel=&quot;nofollow noreferrer&quot;&gt;&quot;Is&amp;nbsp;Factoring Really In BQP? Really?&quot;&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;After some further reflection (which may take a few days) I will attempt a summary back-trace of this chain of questions, which so enjoyably unites elements of mathematics, science and practical engineering.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the meantime, my thanks and appreciation are extended to everyone ... and further comments are very welcome, of course!&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Update #1:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I greatly admire Tsuyoshi Ito's comment, which (because it appears below the break) I will quote here in full: &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;I think that you are asking the following. For a Turing machine M and an integer n≥0, let f(M,n) be the maximum number of steps required for M to halt on the input x over the strings x∈{0,1}^n. The question I believe you are asking here is whether there exists a polynomial-time Turing machine M such that computing f(M,n) requires time exponential in n. (Note that M is not part of the input.)&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I therefore ask that answers be addressed to Tsuyoshi's formulation (rather than my original clumsier formulation).  Keep in mind that $M\in P$ is given, so that for each $M$ we have $f(M,n)\le n^{k(M)}$ for some (unknown $M$-dependent) $k(M)$.  Moreover, please don't forget also that if your answer is &quot;yes&quot;, then please either specify a concrete instance of M, or else, state your view as to whether M is constructible.  And if your answer is &quot;no&quot;, then please describe (if possible) an algorithm for computing f(M,n) that requires only n-polynomial time. And please have fun too! :)&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Do runtimes for algorithms in P require EXP resources to upper-bound? ... are concrete examples known? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;After some thought, I posted this question on &lt;i&gt;MathOverflow&lt;/i&gt;, rather than here on &lt;i&gt;TCS Theory&lt;/i&gt; in consequence of a (possibly wrong) intuition that the answers would be &quot;yes&quot; and &quot;yes&quot; ... for details, &lt;a href=&quot;https://mathoverflow.net/questions/54124/do-runtimes-for-p-require-exp-resources-to-upper-bound-are-concrete-examples&quot;&gt;see the &lt;i&gt;MathOverflow&lt;/i&gt; question&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the event that the answer is known to TCS &lt;i&gt;cognoscenti&lt;/i&gt; to be &quot;no&quot;&amp;mdash;such that a runtime bounding algorithm (itself in &lt;i&gt;P&lt;/i&gt;) that encompasses all algorithms in &lt;i&gt;P&lt;/i&gt;  can be concretely given&amp;mdash;then that answer too would be very interesting and valuable.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Please consider contributing an answer to this cross-disciplinary question on &lt;i&gt;MathOverflow&lt;/i&gt; ... or if you prefer to post your answer(s) here in &lt;i&gt;TCS Theory&lt;/i&gt;, then eventually I will summarize them on &lt;i&gt;MathOverFlow&lt;/i&gt; too.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, please accept my thanks and appreciation for this wonderful site.&lt;/p&gt;&#xA;" OwnerUserId="1519" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2011-02-18T18:08:40.083" Title="Do runtimes for P require EXP resources to upper-bound? … are concrete examples known? (answer: yes and yes)" Tags="&lt;cc.complexity-theory&gt;&lt;time-complexity&gt;" AnswerCount="2" CommentCount="17" FavoriteCount="6" ContentLicense="CC BY-SA 2.5" />
  <row Id="4706" PostTypeId="1" AcceptedAnswerId="4734" CreationDate="2011-02-02T21:46:28.430" Score="7" ViewCount="558" Body="&lt;p&gt;#P asks the total number of accepting paths.&lt;br&gt; &#xA;PP asks at least half of paths be accepting. &lt;br&gt;&#xA;Parity-P asks the number of accepting paths be even.&lt;br&gt; &#xA;UP asks the number of accepting paths to be one. &lt;br&gt;&#xA;Are there any other Complexity Classes like this? For example, does there exist a complexity class where the number of accepting paths is a prime number?&lt;/p&gt;&#xA;" OwnerUserId="1590" LastEditorUserId="186" LastEditDate="2011-02-04T23:04:28.553" LastActivityDate="2011-08-31T16:56:41.377" Title="Does there exist a complexity class such that the number of accepting paths is a prime number?" Tags="&lt;cc.complexity-theory&gt;&lt;counting-complexity&gt;" AnswerCount="3" CommentCount="9" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="4707" PostTypeId="1" AcceptedAnswerId="4720" CreationDate="2011-02-02T21:48:35.807" Score="1" ViewCount="583" Body="&lt;p&gt;I'm in the middle of a discussion regarding the equivalence of software and hardware computing systems, and I would like some comment. Any arguments and/or documentation (supporting or dissenting) would be appreciated.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My position is that the implementation of a computational processing system can be separated from the act of logical computation, i.e. the agent performing logical processing (i.e., computation) can be distinctly separated from the process.  My line of reasoning is more observational at the moment. For example,&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;A PID controller may be implementing in pure (analog or digital) hardware or software.&lt;/li&gt;&#xA;&lt;li&gt;It is now routine to compile a C program into VHDL, then write the resulting &quot;hardware&quot; configuration into an FPGA.&lt;/li&gt;&#xA;&lt;li&gt;Computational systems have been constructed from fluidics and other mechanical systems.&lt;/li&gt;&#xA;&lt;li&gt;Computations systems have been constructed from molecular biology (i.e., DNA computing.)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;From these observations, one might conclude that hardware computational systems, from simple collections of basic gates to FPGAs, are functionally equivalent to software programs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The question is not entirely academic: the US FDA places dramatically different validation and verification (V&amp;amp;V) requirements on a medical device depending upon its use of hardware or software for logical operations.  Software systems are subject to a number of standards and regulations, and the resulting testing procedure and documentation burden is heavy.  On the other hand, simple hardware-only implementations, such as a PID controller, are subject to much less federal regulation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As a result, a bias is introduced into the design process.  A system designer is inherently pushed toward a hardware solution - simply due to the regulatory burden. The assertion that &quot;computational hardware and software do the fundamental same things&quot; is rendered heretical.  It implies that hardware solutions are challenged with the issues of software development, and that hardware solutions should be subject to the same V&amp;amp;V processes applied to software.  (Note that the US FDA is slowly coming around to this viewpoint - some of their more recent guidelines sound like early software guidelines.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can someone suggest a theoretical strategy for establishing this equivalence or a logical argument for divorcing the process of computation from the agent of computation?&lt;/p&gt;&#xA;" OwnerUserId="3323" LastEditorUserId="2150" LastEditDate="2011-02-02T22:40:28.643" LastActivityDate="2016-06-15T16:54:55.987" Title="Assistance in showing computational equivalence between software and hardware computing systems" Tags="&lt;machine-models&gt;&lt;universal-computation&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="4708" PostTypeId="2" ParentId="4704" CreationDate="2011-02-02T23:35:56.253" Score="7" Body="&lt;p&gt;[Upon reading more of the comments on the question, I realized that this answers Jukka's second formulation, but the original question was actually more about Jukka's first formulation. I'll leave this answer and the comments here for discussion for a while.]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem you are trying to solve (as formalized by Jukka's second comment above) is not computable, and so in particular does not have an EXP upper bound (proof below).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You might also be interested in Chapter 6 of Juris Hartmanis' book &quot;Feasible Computations and Provable Complexity Properties&quot; which discusses the difference between the collection of languages decidable in a given time bound, and the collection of languages &lt;em&gt;provably&lt;/em&gt; decidable in that time bound.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Proof:&lt;/em&gt; Intuitively the idea is that, any algorithm $A$ can only look at finitely much data before deciding the runtime of $M$. So we can construct an $M$ for which the finite amount of data that $A$ looks at is not enough to decide even an upper bound on the runtime of $M$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Formally, suppose there were some algorithm $A$ which, given the description of a Turing machine $M$ as input, with the promise that $M$ runs in time $n^c$ for some unknown constant $c$, outputs a $k$ such that $M$ runs in times at most $n^k$ (i.e., $c \leq k$). (Note that this is a promise problem: if $M$ describes a Turing machine which does not run in polynomial time, we do not care what $A$ outputs, or even if $A$ halts.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then $A$ fails on a description the following machine $M_0$. Let $n_0$ be the length of a known description $D$ of $M_0$. On input $0^n$, $M_0$ starts trying to compute $A(D)$. If it takes more than $n$ steps, $M_0$ halts. Otherwise, $M_0$ gets the output $k = A(D)$.  $M_0$ then loops for $n^{k+1}$ steps and halts. $M_0$ runs in polynomial time and so satisfies the promise, yet $A(D)$ outputs a $k$ such that $n^k$ is &lt;em&gt;not&lt;/em&gt; an upper bound on the runtime of $M_0$.&lt;/p&gt;&#xA;" OwnerUserId="129" LastEditorUserId="129" LastEditDate="2011-02-03T01:20:12.030" LastActivityDate="2011-02-03T01:20:12.030" CommentCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="4709" PostTypeId="2" ParentId="4706" CreationDate="2011-02-02T23:53:39.690" Score="7" Body="&lt;p&gt;&lt;a href=&quot;http://qwiki.stanford.edu/index.php/Complexity_Zoo%3aM#modkp&quot; rel=&quot;nofollow&quot;&gt;Mod$_k$P&lt;/a&gt; is a generalisation of Mod$_2$P = $\oplus$P.&lt;/p&gt;&#xA;" OwnerUserId="74" LastEditorUserId="3964" LastEditDate="2011-08-31T16:56:41.377" LastActivityDate="2011-08-31T16:56:41.377" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="4710" PostTypeId="2" ParentId="4706" CreationDate="2011-02-02T23:55:03.513" Score="12" Body="&lt;p&gt;Many other complexity classes which have appeared in literature are defined in terms of the number of accepting paths.  Just for fun, examples from the Complexity Zoo include &lt;a href=&quot;http://qwiki.stanford.edu/index.php/Complexity_Zoo%3aG#gapp&quot; rel=&quot;nofollow&quot;&gt;GapP&lt;/a&gt;, &lt;a href=&quot;http://qwiki.stanford.edu/index.php/Complexity_Zoo%3aA#awpp&quot; rel=&quot;nofollow&quot;&gt;AWPP&lt;/a&gt;, &lt;a href=&quot;http://qwiki.stanford.edu/index.php/Complexity_Zoo%3aC#cequalsp&quot; rel=&quot;nofollow&quot;&gt;C&lt;sub&gt;=&lt;/sub&gt;P&lt;/a&gt;, &lt;a href=&quot;http://qwiki.stanford.edu/index.php/Complexity_Zoo%3aF#few&quot; rel=&quot;nofollow&quot;&gt;Few&lt;/a&gt;, &lt;a href=&quot;http://qwiki.stanford.edu/index.php/Complexity_Zoo%3aF#fewp&quot; rel=&quot;nofollow&quot;&gt;FewP&lt;/a&gt;, &lt;a href=&quot;http://qwiki.stanford.edu/index.php/Complexity_Zoo%3aL#lwpp&quot; rel=&quot;nofollow&quot;&gt;LWPP&lt;/a&gt;, &lt;a href=&quot;http://qwiki.stanford.edu/index.php/Complexity_Zoo%3aM#modkp&quot; rel=&quot;nofollow&quot;&gt;Mod&lt;sub&gt;&lt;i&gt;k&lt;/i&gt;&lt;/sub&gt;P&lt;/a&gt;, &lt;a href=&quot;http://qwiki.stanford.edu/index.php/Complexity_Zoo%3aS#spp&quot; rel=&quot;nofollow&quot;&gt;SPP&lt;/a&gt; and &lt;a href=&quot;http://qwiki.stanford.edu/index.php/Complexity_Zoo%3aW#wpp&quot; rel=&quot;nofollow&quot;&gt;WPP&lt;/a&gt;.  Also do not forget the logarithmic-space versions of these classes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A serious fact is that the definition of randomized complexity classes such as the very important &lt;a href=&quot;http://qwiki.stanford.edu/index.php/Complexity_Zoo%3aB#bpp&quot; rel=&quot;nofollow&quot;&gt;BPP&lt;/a&gt; can be viewed as based on the number of accepting paths.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As for the class of decision problems which have a nondeterministic polynomial-time Turing machine such that yes-instances have a prime number of accepting paths and no-instances have a composite number of accepting paths: As Philip White and other people wrote in comments on the question, you could define it.  Whether that class has any interesting property or not is a separate issue.&lt;/p&gt;&#xA;" OwnerUserId="567" LastEditorUserId="567" LastEditDate="2011-02-03T00:00:36.940" LastActivityDate="2011-02-03T00:00:36.940" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="4711" PostTypeId="2" ParentId="4662" CreationDate="2011-02-03T01:44:17.953" Score="16" Body="&lt;p&gt;... I searched some patterns to build a reduction from a NPC problem, but didn't find a way to represent a &quot;flow&quot; with a &quot;fork&quot; ...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So (after some work) this is a polynomial algorithm ...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;ALGORITHM&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The starting list can be viewed as an array of $N*2$ consecutive &quot;&lt;strong&gt;holes&lt;/strong&gt;&quot;. For each initial pair $(a_j,b_j)$, put the &quot;&lt;strong&gt;element&lt;/strong&gt;&quot; $b_j$ at hole number $a_j$. Each pair can be viewed as a directed edge from position $a_j$ to position $b_j$. A &lt;strong&gt;move&lt;/strong&gt; consists in picking an element $b_j$ at position $a_j$ and moving it to its destination position $b_j$ (the destination hole becomes an unmovable &lt;strong&gt;peg&lt;/strong&gt;). We delete the edge, and proceed to choose the next move which will start from one of the two nearest reachable elements $b_k$ from position $b_j$ (only holes between $b_j$ and $b_k$ are allowed). We must find a sequence of $N$ consecutive moves.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;For each $(a_j,b_j)$ consider $b_j$ (at array position $a_j$) as the starting element $start$.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;For each $(a_k,b_k), a_k \neq a_j $ consider $a_k$ as the final element $end$ (the edge from position $a_k$ to position $b_k$ will be the final edge).&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;generate a sequence of moves from $start$ using the following criteria until you reach element $end$ (and a solution has been found), or a stop condition&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;When you make a move you fix a peg at position $b_j$ and the array is splitted in two partitions $L$ (left) and $R$ (right) and the only way to go from $L$ to $R$ (or from $R$ to $L$) is using an edge that jump across the peg. Set&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$edgesLR$ = number of edges from  left to right (do not count the final edge)&lt;/li&gt;&#xA;&lt;li&gt;$edgesRL$ = number of edges from right to left (do not count the final edge)&lt;/li&gt;&#xA;&lt;li&gt;$flow$ = $edgesLR - edgesRL$&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Cases:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A) if $| flow | &amp;gt; 1$ then one of the two partitions will become unreachable, stop&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now suppose that $end &amp;gt; b_j$, i.e. $end \in R$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;B) if $flow = 1$ then there is an extra edge from left to right, you must go left (pick the nearest element of $L$), otherwise you will never reach $end$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;C) if $flow = -1$ then there is an extra edge from right to left and whatever node you pick you will never reach $end$, stop&lt;/p&gt;&#xA;&#xA;&lt;p&gt;D) if $flow = 0$ you must go right (pick the nearest element of $R$), otherwise you will neve reach $end$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $end &amp;lt; b_j$ ($end \in L$), B,C,D are inverted.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;NOTE: when moving left or right, you must consider $end$ as a peg. For example, if you must go right, but the nearest element on $R$ is $end$ then the move is impossible (and you must proceed with another pair $(start,end)$)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Apply the same resoning at every move. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;COMPLEXITY&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The flows over each hole can be precalculated in O(N) and reused at every scan.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The loops are:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;for start = 1 to N&#xA;  for end = 1 to N&#xA;    for move = 1 to N&#xA;      make a move (fix a peg and update flows)&#xA;      check if another move can be done using flow     &#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;No choices are made during the computation, so the complexity of the algorithm is $O(N^3)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;CODE&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is a working Java implementation of the algorithm:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;public class StrangeSort {&#xA;    static int PEG = 0xffffff, HOLE = 0x0;&#xA;    static int M = 0, N = 0, choices = 0, aux = 0, end;&#xA;    static int problem[][], moves[], edgeflow[], field[];    &#xA;    boolean is_hole(int x) { return x == HOLE; }&#xA;    boolean is_peg(int x) { return x == PEG; }&#xA;    boolean is_ele(int x) { return ! is_peg(x) &amp;amp;&amp;amp; ! is_hole(x); };&#xA;    int []cp(int src[]) { // copy an array&#xA;        int res[] = new int[src.length];&#xA;        System.arraycopy(src, 0, res, 0, res.length);&#xA;        return res;&#xA;    }    &#xA;    /* find the first element on the left (dir=-1) right (dir=1) */&#xA;    int find(int pos, int dir, int nm) {&#xA;        pos += dir;&#xA;        while (pos &amp;gt;= 1 &amp;amp;&amp;amp; pos &amp;lt;= M ) {&#xA;            int x = field[pos];&#xA;            if ( is_peg(x) || (pos == end &amp;amp;&amp;amp; nm &amp;lt; N-1) ) return 0;&#xA;            if ( is_ele(x) ) return pos;&#xA;            pos += dir;&#xA;        }&#xA;        return 0;&#xA;    }&#xA;    void build_edges() {&#xA;        edgeflow = new int[M+1];&#xA;        for (int i = 1; i&amp;lt;=M; i++) {&#xA;            int start = i;&#xA;            int b = field[start];&#xA;            if (! is_ele(b)) continue;&#xA;            if (i == end) continue;&#xA;            int dir = (b &amp;gt; start)? 1 : -1;&#xA;            start += dir;&#xA;            while (start != b) { edgeflow[start] += dir; start += dir; }&#xA;        }&#xA;    }&#xA;    boolean rec_solve(int start, int nm) {&#xA;        boolean f;&#xA;        int j;&#xA;        int b = field[start];&#xA;        moves[nm++] = b;&#xA;        if (nm == N) return true;&#xA;        //System.out.println(&quot;Processing: &quot; + start + &quot;-&amp;gt;&quot; + field[start]);        &#xA;        field[start] = HOLE;&#xA;        field[b] = PEG;&#xA;        int dir = (b &amp;gt; start)? 1 : -1;&#xA;        int i = start + dir;&#xA;        while (i != b) { edgeflow[i] -= dir; i += dir; } // clear edge                &#xA;        int flow = edgeflow[b];&#xA;        if (Math.abs(flow) &amp;gt; 2) return false;&#xA;        if (end &amp;gt; b) {&#xA;            switch (flow) {&#xA;            case 1 :                    &#xA;                j = find(b,-1,nm);&#xA;                if (j &amp;lt;= 0) return false;&#xA;                return rec_solve(j,nm);&#xA;            case -1 :&#xA;                return false;&#xA;            case 0 :          &#xA;                j = find(b,1,nm);&#xA;                if (j &amp;lt;= 0) return false;&#xA;                return rec_solve(j,nm);&#xA;            }        &#xA;        } else {&#xA;            switch (flow) {&#xA;            case -1 :                    &#xA;                j = find(b,1,nm);&#xA;                if (j &amp;lt;= 0) return false;&#xA;                return rec_solve(j,nm);&#xA;            case 1 :&#xA;                return false;&#xA;            case 0 :          &#xA;                j = find(b,-1,nm);&#xA;                if (j &amp;lt;= 0) return false;&#xA;                return rec_solve(j,nm);&#xA;            }            &#xA;        }&#xA;        return false;&#xA;    }&#xA;    boolean solve(int demo[][]) {&#xA;        N = demo.length;&#xA;        for (int i = 0; i &amp;lt; N; i++)&#xA;            M = Math.max(M, Math.max(demo[i][0], demo[i][1]));&#xA;        moves = new int[N];&#xA;        edgeflow = new int[M+1];&#xA;        field = new int[M+1];&#xA;        problem = demo;        &#xA;        for (int i = 0; i &amp;lt; problem.length; i++) {&#xA;            int a = problem[i][0];&#xA;            int b = problem[i][1];&#xA;            if ( a &amp;lt; 1 || b &amp;lt; 1 || a &amp;gt; M || b &amp;gt; M || ! is_hole(field[a]) || ! is_hole(field[b])) {&#xA;                System.out.println(&quot;Bad input pair (&quot; + a + &quot;,&quot; + b + &quot;)&quot;);&#xA;                return false;&#xA;            }&#xA;            field[a] = b;&#xA;        }&#xA;        for (int i = 1; i &amp;lt;= M; i++) {&#xA;            end = i;&#xA;            build_edges();&#xA;            if (!is_ele(field[i])) continue;&#xA;            for (int j = 1; j &amp;lt;= M; j++) {&#xA;                if (!is_ele(field[j])) continue;&#xA;                if (i==j) continue;&#xA;                int tmp_edgeflow[] = cp(edgeflow);&#xA;                int tmp_field[] = cp(field);&#xA;                choices = 0;&#xA;                //System.out.println(&quot;START: &quot; + j + &quot; &quot; + &quot; END: &quot; + i);&#xA;                if (rec_solve(j, 0)) {&#xA;                    return true;&#xA;                }&#xA;                edgeflow = tmp_edgeflow;&#xA;                field = tmp_field;&#xA;            }&#xA;        }&#xA;        return false;&#xA;    }&#xA;    void init(int demo[][]) {&#xA;&#xA;    }&#xA;    public static void main(String args[]) {&#xA;        /**** THE INPUT ********/        &#xA;&#xA;        int demo[][] =  {{4,2},{5,7},{6,3},{10,12},{11,1},{13,8},{14,9}};&#xA;&#xA;        /***********************/        &#xA;        String r = &quot;&quot;;&#xA;        StrangeSort sorter = new StrangeSort();       &#xA;        if (sorter.solve(demo)) {&#xA;            for (int i = 0; i &amp;lt; N; i++) { // print it in clear text&#xA;                int b =  moves[i];&#xA;                for (int j = 0; j &amp;lt; demo.length; j++)&#xA;                    if (demo[j][1] == b)&#xA;                        r += ((i&amp;gt;0)? &quot; -&amp;gt; &quot; : &quot;&quot;) + &quot;(&quot; + demo[j][0] + &quot;,&quot; + demo[j][1] + &quot;)&quot;;&#xA;            }             &#xA;            r = &quot;SOLUTION: &quot;+r;&#xA;        }&#xA;        else&#xA;            r = &quot;NO SOLUTIONS&quot;;&#xA;        System.out.println(r);&#xA;    }    &#xA;}&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2011-02-10T09:00:00.697" LastActivityDate="2011-02-10T09:00:00.697" CommentCount="13" CommunityOwnedDate="2011-02-04T01:46:03.817" ContentLicense="CC BY-SA 2.5" />
  <row Id="4712" PostTypeId="2" ParentId="1045" CreationDate="2011-02-03T02:41:45.863" Score="8" Body="&lt;p&gt;The solution is not to use red-black trees.  In splay trees and AVL trees the code for splitting and joining is very simple.  I refer you to the following URLs with java code for splay trees and AVL trees that support this.  Go to the following URL and check out Set.java (avl trees) and SplayTree.java (splay trees).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;ftp://ftp.cs.cmu.edu/usr/ftp/usr/sleator/splaying/&quot;&gt;ftp://ftp.cs.cmu.edu/usr/ftp/usr/sleator/splaying/&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;---Danny Sleator&lt;/p&gt;&#xA;" OwnerUserId="3622" LastActivityDate="2011-02-03T02:41:45.863" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="4714" PostTypeId="2" ParentId="4703" CreationDate="2011-02-03T05:13:28.530" Score="8" Body="&lt;p&gt;I would like to state one reason why proving the NP-hardness of this problem is difficult.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In a comment on the question, Luca Trevisan gave a nice way to restate the problem: Is the following problem solvable in polynomial time for every constant &lt;i&gt;k&lt;/i&gt;?  Given a CNF formula &lt;i&gt;C&lt;/i&gt; with &lt;i&gt;m&lt;/i&gt; clauses, output at most &lt;i&gt;m&lt;/i&gt;/&lt;i&gt;k&lt;/i&gt; integers so that one of them is equal to &lt;i&gt;M&lt;/i&gt;(&lt;i&gt;C&lt;/i&gt;).  Here &lt;i&gt;k&lt;/i&gt; is related to &lt;i&gt;B&lt;/i&gt; by &lt;i&gt;k&lt;/i&gt;=2&lt;sup&gt;&lt;i&gt;B&lt;/i&gt;&lt;/sup&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, let’s demand more.  Namely, we consider the following problem: given a CNF formula &lt;i&gt;C&lt;/i&gt;, output two integers so that one of them is equal to &lt;i&gt;M&lt;/i&gt;(&lt;i&gt;C&lt;/i&gt;).  We denote this problem by Π.  The problem Π is at least as difficult as the original problem, so if the original problem is NP-hard, Π must also be NP-hard.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that Π is a relation problem.  One of the simplest kinds of reductions that can be used to reduce some problem &lt;i&gt;L&lt;/i&gt; to a relation problem Π is a polynomial-time Levin reduction, which is a special case of a polynomial-time Turing reduction where the reduction calls the oracle for Π only once.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We claim that P&lt;sup&gt;Π[1]&lt;/sup&gt;=P.  This obviously implies that NP⊈P&lt;sup&gt;Π[1]&lt;/sup&gt; unless P=NP, that is, Π is not NP-hard under polynomial-time Levin reducibility unless P=NP.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Proof&lt;/strong&gt;.  Let &lt;i&gt;L&lt;/i&gt;∈P&lt;sup&gt;Π[1]&lt;/sup&gt;, or in other words, there exists a Levin reduction from &lt;i&gt;L&lt;/i&gt; to Π.  This means that there exists a pair (&lt;i&gt;f&lt;/i&gt;, &lt;i&gt;g&lt;/i&gt;) of a polynomial-time computable function &lt;i&gt;f&lt;/i&gt;: {0,1}&lt;sup&gt;*&lt;/sup&gt;→{0,1}&lt;sup&gt;*&lt;/sup&gt; which maps each instance &lt;i&gt;x&lt;/i&gt; of the problem &lt;i&gt;L&lt;/i&gt; to some CNF formula &lt;i&gt;f&lt;/i&gt;(&lt;i&gt;x&lt;/i&gt;) and a polynomial-time computable predicate &lt;i&gt;g&lt;/i&gt;: {0,1}&lt;sup&gt;*&lt;/sup&gt;×ℕ×ℕ→{0,1} such that &lt;i&gt;g&lt;/i&gt;(&lt;i&gt;x&lt;/i&gt;, &lt;i&gt;i&lt;/i&gt;, &lt;i&gt;j&lt;/i&gt;) = &lt;i&gt;L&lt;/i&gt;(&lt;i&gt;x&lt;/i&gt;) if either &lt;i&gt;i&lt;/i&gt; or &lt;i&gt;j&lt;/i&gt; is equal to &lt;i&gt;M&lt;/i&gt;(&lt;i&gt;f&lt;/i&gt;(&lt;i&gt;x&lt;/i&gt;)).  (Here &lt;i&gt;L&lt;/i&gt;(&lt;i&gt;x&lt;/i&gt;)=1 if &lt;i&gt;x&lt;/i&gt; is a yes-instance of &lt;i&gt;L&lt;/i&gt; and &lt;i&gt;L&lt;/i&gt;(&lt;i&gt;x&lt;/i&gt;)=0 if &lt;i&gt;x&lt;/i&gt; is a no-instance.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We construct a polynomial-time algorithm for &lt;i&gt;L&lt;/i&gt; from this as follows.  Let &lt;i&gt;x&lt;/i&gt; be an input.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Let &lt;i&gt;C&lt;/i&gt;=&lt;i&gt;f&lt;/i&gt;(&lt;i&gt;x&lt;/i&gt;), and let &lt;i&gt;m&lt;/i&gt; be the number of clauses in &lt;i&gt;C&lt;/i&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Find one &lt;i&gt;i&lt;/i&gt; ∈ {0,…,&lt;i&gt;m&lt;/i&gt;} such that the value &lt;i&gt;g&lt;/i&gt;(&lt;i&gt;x&lt;/i&gt;, &lt;i&gt;i&lt;/i&gt;, &lt;i&gt;j&lt;/i&gt;) is constant independent of &lt;i&gt;j&lt;/i&gt; ∈ {0,…,&lt;i&gt;m&lt;/i&gt;}.&lt;/li&gt;&#xA;&lt;li&gt;Output this constant &lt;i&gt;g&lt;/i&gt;(&lt;i&gt;x&lt;/i&gt;, &lt;i&gt;i&lt;/i&gt;, 0).&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;In the step 2, such &lt;i&gt;i&lt;/i&gt; always exists because &lt;i&gt;i&lt;/i&gt;=&lt;i&gt;M&lt;/i&gt;(&lt;i&gt;f&lt;/i&gt;(&lt;i&gt;x&lt;/i&gt;)) satisfies the condition.  Moreover, this algorithm cannot output a wrong answer because &lt;i&gt;g&lt;/i&gt;(&lt;i&gt;x&lt;/i&gt;, &lt;i&gt;i&lt;/i&gt;, &lt;i&gt;M&lt;/i&gt;(&lt;i&gt;f&lt;/i&gt;(&lt;i&gt;x&lt;/i&gt;))) must be the correct answer.  Therefore, this algorithm solves &lt;i&gt;L&lt;/i&gt; correctly.  &lt;strong&gt;QED&lt;/strong&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If I am not mistaken, the same idea can be used to prove that P&lt;sup&gt;Π[&lt;i&gt;k&lt;/i&gt;(&lt;i&gt;n&lt;/i&gt;)]&lt;/sup&gt;⊆DTIME[&lt;i&gt;n&lt;/i&gt;&lt;sup&gt;O(&lt;i&gt;k&lt;/i&gt;(&lt;i&gt;n&lt;/i&gt;))&lt;/sup&gt;].  This implies that NP⊈P&lt;sup&gt;Π[&lt;i&gt;k&lt;/i&gt;]&lt;/sup&gt; for any constant &lt;i&gt;k&lt;/i&gt; unless P=NP and that NP⊈P&lt;sup&gt;Π[polylog]&lt;/sup&gt; unless NP⊆DTIME[2&lt;sup&gt;polylog&lt;/sup&gt;].  However, this idea alone does not seem to rule out the possibility that Π is NP-hard under polynomial-time Turing reducibility.&lt;/p&gt;&#xA;" OwnerUserId="567" LastEditorUserId="567" LastEditDate="2011-02-04T20:01:20.410" LastActivityDate="2011-02-04T20:01:20.410" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="4715" PostTypeId="2" ParentId="4703" CreationDate="2011-02-03T05:27:15.370" Score="14" Body="&lt;p&gt;Here is an argument that if you could solve Max 3SAT on an m-clause instance given a constant number of bits of advice, then the polynomial hierarchy would collapse.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Fix an NP-complete problem L. From Cook's theorem, we know a transformation f() of inputs x for L into 3SAT formulas f(x), so that&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) if $x\in L$ then $M(f(x)) = m$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) if $x\in L$ then $M(f(x)) = m-1$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where $m$ is the number of clauses in $f(x)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We also have a theorem of Kadin, that says that, if given $k$ inputs $x_1,\ldots,x_k$ of an NP-complete problem, you have a polynomial time algorithm that makes $\leq k-1$ queries to an NP oracle and determines the correct answer to the $k$ NP problems $x_i \in ? L$, then the polynomial hierarchy collapses.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose we have an algorithm that solves Max SAT on m-clause inputs given k bits of advice. We will use Hastad's result to construct an algorithm as in the premise of Kadin's theorem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Start from the $K=2^k+1$ inputs $x_1,\ldots,x_K$ to problem $L$. Apply Cook's theorem to each of them. After some normalization (which can be done by assigning weights to the clauses, or duplicating them if we do not want to use weights), we construct $K$ formulas $F_1,\ldots,F_K$ where, for a certain $m$:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) $M(F_1)= m-1$ if $x_1 \in L$ and $M(F_1) = m-2$ otherwise&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) $M(F_2) = m\cdot (m-1)$ if $x_2 \in L$ and $M(F_2) = m\cdot (m-2)$ otherwise&lt;/p&gt;&#xA;&#xA;&lt;p&gt;...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;k) $M(F_K) = m^{K-1} \cdot (m-1)$ if $x_K\in L$ and $M(F_K) = m^{K-1} \cdot (m-2)$ otherwise&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now take the union of the formulas, which were constructed over disjoint variables sets, and call it $F$. So we have $M(F) = M(F_1) + \cdots + M(F_k)$, and we can &quot;read off&quot; the answer to the $K$ problems $x_i \in? L$ by looking at the base-$m$ representation of $M(F)$. If we can compute $M(F)$ given $k$ bits of advice, it means that we can find $2^k$ values such that one of them is $M(F)$. We can then ask non-adaptively an NP oracle whether $M(F) \geq n_i$ for each of the candidate values $n_1,\ldots,n_{2^k}$ we generated. So we have been able to solve $2^k+1$ instances of NP-complete problems by making $2^k$ non-adaptive queries to an NP oracle, which implies that the polynomial hierarchy collapses.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Using Hastad's theorem instead of Cook's theorem, it's possible to push  the size of $F$ to $O(1)^k \cdot m$ instead of $m^k$, so it's possible to push $k$ to $\log m$, and the number of advice bits to $\log\log m$. Understanding what happens when you are given  $\log m  - O(1)$ advice bits seems really difficult.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Edited to add: Krentel (&lt;a href=&quot;http://scholar.google.com/scholar?q=The+Complexity+of+Optimization+Problems.&amp;amp;hl=en&amp;amp;as_sdt=0&amp;amp;as_vis=1&amp;amp;oi=scholart&quot; rel=&quot;nofollow&quot;&gt;The Complexity of Optimization Problems&lt;/a&gt;. &lt;em&gt;J. Comput. Syst. Sci. 36(3): 490-509 (1988)&lt;/em&gt;) proved that computing the value of the optimum of the maximum clique problem is complete for $FP^{NP[O(log n)]}$, the class of functions computable in polynomial time with $O(log n)$ queries to an NP oracle. The completeness is under &quot;one query reductions,&quot; in which function f is reducible to function g if one can write $f(x) = r_1(g(r_2(x))$ for polynomial time computable $r_1$ and $r_2$. Presumably the same is true for Max Clique. Now, if Max Clique had a polynomial time algorithm that produces a list of $m^{o(1)}$ possible values, it would be in $FP^{NP[o(logn)]}$, because you could use binary search to find the optimum with a number of queries that is log of the list size. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, if we have $FP^{NP[O(log n)]} = FP^{NP[o(log n)]}$ we would definitely have $P^{NP[O(log n)]} = P^{NP[o(log n)]}$, which is the special case for decision problems, and that is known, by results of Wagner (improving a result of Kadin that applies to a constant number of queries), to collapse the polynomial hierarchy. But I think that it might be known that $FP^{NP[O(log n)]} = FP^{NP[o(log n)]}$  would actually imply P=NP. But in any case the results of Krentel and Kadin-Wagner should be enough to give another proof of Andy Drucker's result. Now I wonder if it is actually the same proof, that is, if the Fortnow-Van Melkebeek result works, explicitly or implicitly, via a &quot;simulating NP queries with fewer NP queries&quot; argument.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A good survey paper that explains what is going on with optimization problems and bounded query classes:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.csee.umbc.edu/~chang/papers/bqabh/npfsat.pdf&quot; rel=&quot;nofollow&quot;&gt;http://www.csee.umbc.edu/~chang/papers/bqabh/npfsat.pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="1069" LastEditorUserId="80" LastEditDate="2011-02-05T21:52:57.000" LastActivityDate="2011-02-05T21:52:57.000" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4716" PostTypeId="2" ParentId="4704" CreationDate="2011-02-03T07:59:36.923" Score="16" Body="&lt;p&gt;As currently asked, the answer to the question is yes, assuming that there are problems in NE (non-deterministic time $2^{O(n)}$) that require doubly-exponential time to be solved. Under the standard assumption that,  $NE\neq E$, there is a turing machine $M$ such that computation of $f(M,n)$ given $n$ cannot be done in time polynomial in $n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In general, suppose that there is a language $L$ that is in NE, and that cannot be solved in deterministic time $t(2^n)$ (plausibly, there could be such a language with $t(n) = 2^{n^\epsilon}$). Let $L&amp;#39;$ be the language that contains only the strings of the form $1^N$ such that the $N$-th string in lexicographic order is in $L$. Thus $L&amp;#39;$ is in NP and such that if $1^N \in L&amp;#39;$ then it has a certificate of length $\leq N$,  but such that $L&amp;#39;$ cannot be solved in deterministic time less than $t(N)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Define the polynomial-time turing machine $M$ so that, on input $x$ of length $N$, it decides whether $x$ is a witness for $1^N$. If it is a witness, then $M$ accepts in time, say $N^2$, otherwise it keeps going some more, and rejects after $N^3$ steps. So we see that $f(M,N)= N^2$ if $1^N \in L&amp;#39;$, and $f(M,N) = N^3$ otherwise, and so computing $f(M,N)$ cannot be done in time less than $t(N)$&lt;/p&gt;&#xA;" OwnerUserId="1069" LastActivityDate="2011-02-03T07:59:36.923" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4717" PostTypeId="2" ParentId="399" CreationDate="2011-02-03T09:03:43.200" Score="2" Body="&lt;p&gt;See: &lt;a href=&quot;http://www.damtp.cam.ac.uk/user/na/people/Anders/Inf_CS43.pdf&quot; rel=&quot;nofollow&quot;&gt;http://www.damtp.cam.ac.uk/user/na/people/Anders/Inf_CS43.pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerDisplayName="user3626" LastActivityDate="2011-02-03T09:03:43.200" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4718" PostTypeId="1" AcceptedAnswerId="4719" CreationDate="2011-02-03T15:47:55.527" Score="17" ViewCount="759" Body="&lt;p&gt;Since the term is overloaded, a brief definition first. A poset is a set $X$ endowed with a partial order $\le$. Given two elements $a,b \in X$, we can define $x \vee y$ (join) as their least upper bound in $X$, and similarly define $x \wedge y$ (meet)(join)as a greatest lower bound. &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;A lattice is a poset in which any two&#xA;  elements have a unique meet and a&#xA;  unique join.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Lattices (in this form) show up in theoryCS in (briefly) the theory of submodularity (with the subset lattice) and clustering (the partition lattice), as well as in domain theory (which I don't understand too well) and static analysis. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;But I'm interested in applications which use metric structures on lattices. A simple example comes from clustering, where any antimonotone submodular function $f : X \rightarrow R$ (antimonotone means that if $x \le y, f(x) \le f(y)$) induces a metric &#xA;$$d(x,y) = 2f(x \wedge y) - f(x) - f(y)$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This metric has been used extensively as a way to compare two different clusterings of a data set. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there other applications of lattices that care about metric structures ? I've been interested in the domain theory/static analysis application, but so far I've not seen any need for &lt;em&gt;metrics&lt;/em&gt;.&lt;/p&gt;&#xA;" OwnerUserId="80" LastEditorUserId="1800" LastEditDate="2011-02-03T16:50:21.560" LastActivityDate="2011-02-05T10:52:19.383" Title="Applications of metric structures on posets/lattices in theoryCS" Tags="&lt;reference-request&gt;&lt;co.combinatorics&gt;&lt;metrics&gt;&lt;lattice&gt;&lt;order-theory&gt;" AnswerCount="4" CommentCount="0" FavoriteCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="4719" PostTypeId="2" ParentId="4718" CreationDate="2011-02-03T17:26:36.413" Score="12" Body="&lt;p&gt;First, a comment. Your question sort of depends on how geometrically you intend to mean the word &quot;metric&quot;. It's reasonably common to use ultrametrics in semantics and static analysis, but ultrametrics tend to have a combinatorial rather than a geometric interpretation. (This is a variant of the observation that domain theory has the flavor of a combinatorial rather than geometric use of topology.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;That said, I'll give you an example of how this comes up in program proofs. First, recall that in a program proof, we want to show that a formula describing a program holds. In general, this formula does not necessarily have to be interpreted with the booleans, but can be drawn from the elements of some lattice of truth values. Then a true formula is just one which is equal to the top of the lattice. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Furthermore, when specifying very self-referential programs (for example, programs that make extensive use of self-modifying code) matters can get very difficult. We typically want to give a recursive specification of the program, but there might not be an obvious inductive structure upon which to hang the definition. To solve this problem, it's often helpful to equip the truth value lattice with extra metric structure. Then, if you can show that the predicate whose fixed point you want is strictly contractive, you can appeal to Banach's fixed point theorem to conclude that the recursive predicate you want is well-defined. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The case I am most familiar with is called &quot;step-indexing&quot;. In this setting, we take our lattice $\Omega$ of truth values to be downwards-closed subsets of $\mathbb{N}$, whose elements we can loosely interpret as &quot;the lengths of the evaluation sequences on which the property holds&quot;. Meets and joins are intersections and unions, as usual, and since the lattice is complete we can define the Heyting implication as well. The lattice can also be equipped with an ultrametric by letting the distance between two lattice elements be $2^{-n}$, where $n$ is the smallest element in one set but not the other.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then, Banach's contraction map thoerem tells us that a contractive predicate $p : \Omega \to \Omega$ has a unique fixed point. Intuitively, this says that if we can define a predicate which holds for $n+1$ steps using a version which holds for $n$ steps, then we actually have an unambiguous definition of a predicate. If we then show that the predicate equals $\top = \mathbb{N}$, then we know that the predicate always holds of the program.&lt;/p&gt;&#xA;" OwnerUserId="657" LastActivityDate="2011-02-03T17:26:36.413" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="4720" PostTypeId="2" ParentId="4707" CreationDate="2011-02-03T21:54:56.550" Score="5" Body="&lt;p&gt;These issues are clearly and accessibly covered in Sanjeev Arora and Boaz Barak's &lt;em&gt;Computational Complexity: A Modern Approach&lt;/em&gt;, specifically in the chapters &quot;The computational model and why it doesn't matter&quot;, &quot;NP and NP completeness&quot;, and &quot;Boolean circuits&quot; (respectively chs. 1,2,6).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Very generously, &lt;a href=&quot;http://www.cs.princeton.edu/theory/index.php/Compbook/Draft&quot;&gt;an on-line draft of this book&lt;/a&gt; has been provided by the authors ... this has been a big help to me in my own researches!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;From the viewpoint of complexity theory, the various theorems and proof technologies in Arora and Barak's exposition provide little grounds for  &quot;divorcing the process of computation from the agent of computation&quot;  (in the phrasing of the question).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;From a regulatory perspective, however, it is well to keep in mind the legal maxim:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&quot;Justice is the tolerable accommodation of the conflicting interests of society, and I don't believe there is any royal road to attain such accommodation concretely.&quot;&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;--  Judge Learned Hand&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;In real-world medical practice, and in many other regulatory contexts such as aircraft safety, commonly it is legally and practically necessary to distinguish between hardware and software, even though all parties recognize that the mathematical foundations for this distinction are highly imperfect.&lt;/p&gt;&#xA;" OwnerUserId="1519" LastActivityDate="2011-02-03T21:54:56.550" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4721" PostTypeId="2" ParentId="4718" CreationDate="2011-02-03T23:00:07.140" Score="9" Body="&lt;p&gt;As an alternative to the more commonly used CPOs, Arnold and Nivat explored (complete) metric spaces as domains of denotational semantics [1].&#xA;In his thesis Bonsangue [2] explored dualities between such denotational semantics and axiomatic semantics. I mention it here because it gives a very comprehensive overall picture.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1]: A Arnold, M Nivat: &lt;em&gt;Metric Interpretations of Infinite Trees and Semantics of non Deterministic Recursive Programs.&lt;/em&gt; Theor. Comput. Sci. 11: 181-205 (1980).&lt;br&gt;&#xA;  [2]: MM Bonsangue &lt;a href=&quot;http://www.liacs.nl/~marcello/Papers/Book/ENTCS-8.pdf&quot;&gt;&lt;i&gt;Topological Duality in Semantics&lt;/i&gt;&lt;/a&gt; volume 8 of ENTCS, Elsevier 1998.&lt;/p&gt;&#xA;" OwnerUserId="3552" LastActivityDate="2011-02-03T23:00:07.140" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="4725" PostTypeId="1" CreationDate="2011-02-04T11:54:57.553" Score="2" ViewCount="342" Body="&lt;p&gt;I  recently finished my bachelors and now work on Cross-lingual language  search. I want to get started in hashing and see how they are useful  in information retrieval. (Yes, I know what hashing is), but there are so many methods and all of them  sound  pretty fascinating,  so it will be awesome to have a list of resources, which can be referred to,  starting from absolute newbie level to the current state-of-the art. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Please don't refer me to something like a Knuth because while Knuth is pretty awesome, it is not what i am looking for.&lt;/em&gt;&lt;/p&gt;&#xA;" OwnerUserId="3642" LastEditorUserId="186" LastEditDate="2011-02-04T22:37:31.143" LastActivityDate="2011-04-05T22:39:31.973" Title="Getting started with Hashing for Information retrieval" Tags="&lt;ds.data-structures&gt;&lt;hash-function&gt;&lt;db.databases&gt;" AnswerCount="1" CommentCount="6" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4727" PostTypeId="2" ParentId="4725" CreationDate="2011-02-04T13:02:14.007" Score="1" Body="&lt;p&gt;Probably this may help you. May not cover all but I found this as a great place to start. &lt;a href=&quot;http://burtleburtle.net/bob/hash/&quot; rel=&quot;nofollow&quot;&gt;http://burtleburtle.net/bob/hash/&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="3397" LastActivityDate="2011-02-04T13:02:14.007" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4728" PostTypeId="2" ParentId="4718" CreationDate="2011-02-04T15:20:09.067" Score="5" Body="&lt;p&gt;Here's one (from, coincidentally, the top of my reading queue):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Swarat Chaudhuri, Sumit Gulwani and Roberto Lublinerman. &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.159.6359&quot; rel=&quot;nofollow&quot;&gt;Continuity Analysis of Programs.&lt;/a&gt; POPL 2010.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The authors give a denotational semantics for an imperative language with simple loops, interpreting expressions as functions from values in an underlying product metric space. The point is to determine which programs represent continuous functions, even in the presence of &quot;if&quot; and loops. They even allow questions about continuity restricted to certain inputs and outputs. (This is important for analyzing Dijkstra's algorithm, which is continuous in its path length, but not in the actual path.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I haven't seen anything yet that &lt;em&gt;requires&lt;/em&gt; a metric space - it seems it could have been done using general topology so far - but I'm only on page 3. :)&lt;/p&gt;&#xA;" OwnerUserId="3644" LastActivityDate="2011-02-04T15:20:09.067" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4729" PostTypeId="1" AcceptedAnswerId="4733" CreationDate="2011-02-04T17:50:51.113" Score="2" ViewCount="543" Body="&lt;p&gt;I'm puzzled with functional dependency formula in first order logic. It is triggered by&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://rjlipton.wordpress.com/2010/01/17/a-limit-of-first-order-logic/&quot; rel=&quot;nofollow&quot;&gt;http://rjlipton.wordpress.com/2010/01/17/a-limit-of-first-order-logic/&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where there seems to be a confusion between &lt;em&gt;dependency&lt;/em&gt; and &lt;em&gt;functional dependency&lt;/em&gt;. The expression &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\displaystyle \forall x \exists y : S(x, y) .$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;is anything but functional dependency. The formula for functional dependency is&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\displaystyle \forall y_{1} \forall y_{2} \forall x : S(x, y_{1}) \wedge S(x, y_{2}) \implies y_{1} = y_{2} .$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, suppose we have ternary predicate Q(x,y,z). How does one express functional dependency y=f(x)? &lt;/p&gt;&#xA;" OwnerUserId="3213" LastEditorUserId="3213" LastEditDate="2011-02-10T18:47:34.113" LastActivityDate="2018-04-06T06:48:19.430" Title="First order expression for functional dependency" Tags="&lt;lo.logic&gt;&lt;db.databases&gt;" AnswerCount="2" CommentCount="9" FavoriteCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4732" PostTypeId="1" AcceptedAnswerId="4738" CreationDate="2011-02-04T21:25:06.767" Score="5" ViewCount="584" Body="&lt;p&gt;&lt;a href=&quot;https://codegolf.stackexchange.com/questions/504/stable-positive-negative-separation/508#508&quot;&gt;This&lt;/a&gt; CodeGolf answer suggests that quick sorting an array whose elements can take only two values is linear. Can this assumption be proved?&lt;/p&gt;&#xA;" OwnerUserId="10" LastEditorUserId="-1" LastEditDate="2017-04-13T12:39:29.853" LastActivityDate="2011-02-06T13:29:33.783" Title="Is qsort linear when sorting only two values?" Tags="&lt;ds.algorithms&gt;&lt;time-complexity&gt;&lt;sorting&gt;" AnswerCount="2" CommentCount="12" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4733" PostTypeId="2" ParentId="4729" CreationDate="2011-02-04T23:16:52.420" Score="2" Body="&lt;p&gt;Apparently, we must project away variable z from ternary relation Q, which is done via existential quantifier:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;∀y1∀y2∀x:(∃z:Q(x1,y,z))∧(∃z:Q(x2,y,z))⟹x1=x2.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is equivalent to standard textbook FD definition:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;∀y1∀y2∀x∀z1∀z2:Q(x1,y,z1)∧Q(x2,y,z2)⟹x1=x2.&lt;/p&gt;&#xA;" OwnerUserId="3213" LastEditorUserId="3213" LastEditDate="2011-02-05T00:11:40.770" LastActivityDate="2011-02-05T00:11:40.770" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="4734" PostTypeId="2" ParentId="4706" CreationDate="2011-02-05T05:40:57.647" Score="10" Body="&lt;p&gt;What you are looking for is likely Leaf Languages. Look at the output of each path of an NP machine and concatenate them into an exponentially long string. We can now talk of the machine accepting the input if the leaf string belongs to a fixed language; the leaf language. (Well, there are usually two languages; one for accepting and the other for rejection. There are many variations to the basic defn too.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So you could ask, what happens if my leaf language is a regular language or context-free etc. All this has been studied extensively in the 1990's and even lead to the uniform separation of $TC^0$ from the counting hierarchy due to Caussinus, McKenzie, Therien, Vollmer &lt;a href=&quot;http://www.iro.umontreal.ca/~mckenzie/camcthvo97.ps&quot; rel=&quot;nofollow&quot;&gt;[CMTV98]&lt;/a&gt;. More on this &lt;a href=&quot;http://cjtcs.cs.uchicago.edu/articles/1999/7/contents.html&quot; rel=&quot;nofollow&quot;&gt;here as well&lt;/a&gt;. You may also find this &lt;a href=&quot;http://haegar.informatik.uni-wuerzburg.de/TRs/tr372.ps&quot; rel=&quot;nofollow&quot;&gt;survey&lt;/a&gt; on leaf languages helpful.&lt;/p&gt;&#xA;" OwnerUserId="1449" LastActivityDate="2011-02-05T05:40:57.647" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="4735" PostTypeId="2" ParentId="4732" CreationDate="2011-02-05T06:05:57.247" Score="6" Body="&lt;p&gt;Depends on the exact implementation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you check for already-sorted arrays, then qsort stops after the initial pass, so is O(n).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If, as Marcus suggested, you perform a three-way partition into x&amp;lt;pivot, x=pivot, and x&amp;gt;pivot and don't sort the middle partition, then the recursion stops at a depth of 2, and so is still O(n).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you &lt;em&gt;don't&lt;/em&gt; check for already-sorted arrays and don't exclude elements equal to the pivot from recursion, then the number of elements to sort only decreases by 1 every time, so your qsort would be O(n&amp;sup2;).&lt;/p&gt;&#xA;" OwnerUserId="3656" LastActivityDate="2011-02-05T06:05:57.247" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4736" PostTypeId="2" ParentId="2674" CreationDate="2011-02-05T06:59:43.723" Score="6" Body="&lt;p&gt;Consider the following rather fundamental problem in the world of data structures. You have a universe of size $m$. You want to store an element $u \in [m]$ as a static data structure, so that when a user wants to know if for some $x \in [m]$ whether $x=u$, only $t$ bit probes into the data structure are needed, where $t$ is some fixed constant.  The goal is to minimize the space complexity of the data structure (in terms of number of bits stored).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One can construct such a data structure of size $O(m^{1/t})$.  The idea is simple.  Divide the $\log m$ bits needed to describe $u$ into $t$ blocks.  For each $i \in [t]$ and for each possible bistring of length $(\log m)/t$, store in the data structure whether the $i$'th block of $u$ equals that bitstring. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, for the lower bound.  Let $X$ be an element uniformly chosen at random from $[m]$.  Clearly, $H[X] = \log m$.  If $X_1, \dots, X_t$ are the $t$ bits probed in the data structure (possibly adaptively) in that sequence, then: $H[X] = H[X_1] + H[X_2 | X_1] + \cdots + H[X_t | X_1, \dots, X_{t-1}] \leq t \log s$, where $s$ is the size of the data structure.  This gives: $s \geq m^{1/t}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Tight bounds are not known if we want to store two elements and $t &amp;gt; 1$.  See &lt;a href=&quot;http://dx.doi.org/10.1007/978-3-642-15781-3_14&quot;&gt;here&lt;/a&gt; for the best results in this direction.&lt;/p&gt;&#xA;" OwnerUserId="15" LastEditorUserId="15" LastEditDate="2011-02-06T15:54:07.260" LastActivityDate="2011-02-06T15:54:07.260" CommentCount="0" CommunityOwnedDate="2011-02-05T06:59:43.723" ContentLicense="CC BY-SA 2.5" />
  <row Id="4737" PostTypeId="2" ParentId="4718" CreationDate="2011-02-05T08:18:31.997" Score="3" Body="&lt;p&gt;Apologies for adding another answer, but this one is unrelated to my other one above. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A metric spaces I routinely use to irritate (or is it educate?) students of concurrency is that of infinite traces. The topology it induces is precisely the one Alpern and Schneider [1] used to characterize &lt;i&gt;safety&lt;/i&gt; and &lt;i&gt;liveness&lt;/i&gt; properties as limit-closed and dense, respectively.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The distance between two traces is smaller if their common prefix is longer:&#xA;$$   \begin{array}{@{}rcl}&#xD;&#xA;      d : \Sigma^\omega\times\Sigma^\omega &amp;amp; \longrightarrow &amp;amp; \mathbb{R}_{{}\ge 0}\\ &#xD;&#xA;      % &#xD;&#xA;      (\sigma,\tau) &amp;amp; \mapsto &amp;amp;&#xD;&#xA;      2^{-\sup \{~i\in\mathbb{N} ~|~ \sigma|_i = \tau|_i~\}}&#xD;&#xA;    \end{array}&#xD;&#xA;$$&#xA;where $\sigma|_i$ denotes $\sigma$'s prefix of length $i$ and $2^{-\infty} = 0$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In retrospect I realize that this answer also lacks the essential ingredient of a lattice or poset structure. Such a lattice structure is however present when moving one level up to what Clarkson and Schneider call &lt;i&gt;hyperproperties&lt;/i&gt; [2]. At the time of writing it is unclear to me how to lift the metric though.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] B Alpern and FB Schneider. &lt;i&gt;Defining liveness.&lt;/i&gt; IPL, 21(4):181–185, 1985.&lt;br&gt;&#xA;   [2] MR Clarkson and FB Schneider. &lt;i&gt;Hyperproperties.&lt;/i&gt; CSF, p51-65, IEEE, 2008.&lt;/p&gt;&#xA;" OwnerUserId="3552" LastEditorUserId="3552" LastEditDate="2011-02-05T10:52:19.383" LastActivityDate="2011-02-05T10:52:19.383" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="4738" PostTypeId="2" ParentId="4732" CreationDate="2011-02-05T11:02:26.333" Score="20" Body="&lt;p&gt;There is a large body of research on Quicksort for sorting multisets.&#xA;The talk &lt;a href=&quot;http://www.cs.princeton.edu/~rs/talks/QuicksortIsOptimal.pdf&quot;&gt;Quicksort is optimal&lt;/a&gt; by Sedgewick gives a nice overview of this.&#xA;Basically with 3-way partitioning you get within a constant of the information theoretic minimum. The information theoretic minimum is: Suppose we are to sort $n$ keys, where there is only $m$ distinct keys, and the $i$th key occurs $n_i$ times. Then we need &#xA;$n \lg(n) - \sum_{i=1}^m n_i\lg n_i -n \lg e +O(\lg n)$ three way comparisons on the average. (See &quot;Sorting multisets and vectors in-place&quot;, by Munro and Raman).&lt;/p&gt;&#xA;" OwnerUserId="313" LastEditorUserId="313" LastEditDate="2011-02-06T13:29:33.783" LastActivityDate="2011-02-06T13:29:33.783" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4739" PostTypeId="2" ParentId="4674" CreationDate="2011-02-05T13:07:40.970" Score="-2" Body="&lt;p&gt;You can fill sparse matrix vis match score between pairs . each row, column some person. And then you should select maximum on each row and maximum on each column if they are matched you should associate them.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is not optimal algorithm. If you need optimal you should write dynamic program similar to one in Edit Distance. &lt;/p&gt;&#xA;" OwnerUserId="3658" LastEditorUserId="3658" LastEditDate="2011-02-05T13:14:57.987" LastActivityDate="2011-02-05T13:14:57.987" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4740" PostTypeId="2" ParentId="4634" CreationDate="2011-02-05T15:45:47.200" Score="6" Body="&lt;p&gt;Consider the NP-complete problem, for $k&amp;gt;2$, of $k$-coloring a graph: Either the graph is not $k$ colorable, or it has at least $k!$ distinct $k$-colorings, simply due to permutation symmetry of the $k$ colors. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For $k=2$, the problem matches your specifications: 0 or 1 accepting paths (the latter of which will never occur) will not convince the verifier, while 2 solutions (or multiples thereof) will.&lt;/p&gt;&#xA;" OwnerUserId="121" LastEditorUserId="121" LastEditDate="2011-02-06T09:01:20.997" LastActivityDate="2011-02-06T09:01:20.997" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="4741" PostTypeId="1" AcceptedAnswerId="4743" CreationDate="2011-02-05T16:19:20.133" Score="1" ViewCount="231" Body="&lt;p&gt;Given a non-deterministic Turing Machine that runs in polynomial time, it accepts if the number of accepting paths are composite, it rejects if the number of accepting paths are prime and it outputs I do not know if the number of accepting paths are {0,1}. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Lets call the Above language CA-PR (Composite Accept - Prime Reject). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then we have co-CA-PR = PA-CR(Prime accept, composite reject).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Both of the above languages output &lt;code&gt;DON'T KNOW&lt;/code&gt; when the number of accepting paths are {0,1}. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Questions&lt;/strong&gt;:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Do CA-PR &amp;amp; PA-CR not contain UP?&lt;br&gt;&lt;/li&gt;&#xA;&lt;li&gt;A #P Oracle can definitely solve these problems, can a PP oracle too? How about a ParityOracle?&lt;/li&gt;&#xA;&lt;li&gt;What can we say about the intersection and union of these languages? &lt;br&gt; &lt;/li&gt;&#xA;&lt;li&gt;Where can we place this complexity class? Is it in the polynomial hierarchy?&lt;br&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="1590" LastEditorUserId="1590" LastEditDate="2011-02-06T03:25:32.820" LastActivityDate="2011-02-06T03:25:32.820" Title="Complexity of a certain leaf language with Prime &amp; Composite number of accepting paths." Tags="&lt;cc.complexity-theory&gt;&lt;counting-complexity&gt;&lt;polynomial-hierarchy&gt;" AnswerCount="1" CommentCount="8" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4742" PostTypeId="2" ParentId="4703" CreationDate="2011-02-05T19:23:48.773" Score="8" Body="&lt;p&gt;I believe that we can show:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Claim.&lt;/strong&gt; There's a value $0 &amp;lt; c &amp;lt; 1$ such that the following is true.  Suppose there's a deterministic poly-time algorithm that, given an $m$-clause 3-SAT instance $\phi$, outputs a list $S$ of at most $m^c$ values, such that $M(\phi) \in S$;&#xA;then the polynomial hierarchy collapses.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The proof uses Fortnow and Santhanam's results on &lt;em&gt;infeasibility of instance compression&lt;/em&gt; from their paper&#xA;&lt;a href=&quot;http://www.cs.uchicago.edu/~fortnow/papers/compress.pdf&quot; rel=&quot;nofollow&quot;&gt;http://www.cs.uchicago.edu/~fortnow/papers/compress.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Specifically, by looking at their proof of Thm 3.1, I believe one can extract the following (I will re-check this soon):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;&quot;Theorem&quot; [FS].&lt;/strong&gt;  There are integers $0 &amp;lt; d&amp;#39; &amp;lt; d$ such that the following is true.  Suppose in deterministic poly-time, one can transform an OR of $n^d$ Boolean formulas (each of length $\leq n$, and on disjoint variable-sets) into an OR of $n^{d&amp;#39;}$ formulas (again variable-disjoint and of length $\leq n$), preserving satisfiability/unsatisfiability of the OR.  Then $\mathsf{NP} \subseteq \mathsf{coNP/poly}$ and the polynomial hierarchy collapses.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The proof of our claim will be a reduction from the OR-compression task mentioned in the above theorem[FS], to the problem of list-computing $M(\phi)$.  Suppose $\psi_1, \ldots, \psi_{n^d}$ is a list of formulas whose OR we want to compress.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;First step:&lt;/strong&gt; define a polynomial-size circuit $\Gamma$ on input strings $(v, y_1, \ldots, y_{n^d})$.  Here the string $y_i$ encodes an assignment to $\psi_i$, and $v \in \{0, 1\}^{d \log n + 1}$ encodes a number between $0$ and $n^d$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We have $\Gamma$ accept iff either $v = 0$, or $\psi_v(y_v) = 1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now let $M^*(\Gamma)$ denote the maximum value $v$, such that the restricted circuit $\Gamma(v, \cdot, \ldots, \cdot)$ is satisfiable.  (This quantity is always at least 0).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose we can efficiently produce a list $S$ of possible values for $M^*(\Gamma)$.  Then the claim is that in our list $\psi_1, \ldots, \psi_{n^d}$, we can throw away all $\psi_i$ for which $i \notin S$; the resulting list contains a satisfiable formula iff the original one did.  I hope this is clear by inspection.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Conclusion: we can't reliably produce a list $S$ of $\leq n^{d&amp;#39;}$ possible values for $M^*(\Gamma)$, unless the poly hierarchy collapses.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Second Step:&lt;/strong&gt; We reduce from the problem of list-computing $M^*(\Gamma)$ to that of list-computing $M(\phi)$ for 3-SAT instances $\phi$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To do this, we first run Cook's reduction on $\Gamma$ to get a 3-SAT instance $\phi_1$ of size $m = poly(n^d)$.  $\phi_1$ has the same variable-set as $\Gamma$, along with some auxiliary variables.  Most important for our purposes, $\phi_1(v, \cdot)$ is satisfiable iff $\Gamma(v, \cdot)$ is satisfiable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We call $\phi_1$ the `strong constraints'.  We give each of these constraints weight $2m$ (by adding duplicate constraints).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then we add a set of `weak constraints' $\phi_2$ which add a preference for the index $v$ (defined in step 1) to be as high as possible.  There is one constraint for each bit $v_t$ of $v$, namely $[v_t = 1]$.  We let the $t$-th most significant bit of $v$ have a constraint of weight $m/2^{t-1}$.  Since $v$ is of length $d \log n + 1$, these weights can be made integral (we just need to pad to let $m$ be a power of 2).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, let $\phi = \phi_1 \wedge \phi_2$ be the output of our reduction.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To analyze $\phi$, let $(v,z)$ be the variable-set of $\phi$, with $v$ as before.&#xA;First note that given any assignment to $(v, z)$, one can infer the value of $v$ from the quantity &#xA;$N(v, z) =$ (total weight of $\phi$-constraints satisfied by $v, z$).&lt;br&gt;&#xA;This follows from the hierarchical design of the constraint-weights (similarly to a technique from Luca's answer).&#xA;Similarly, the maximum achievable value $M(\phi)$ is achieved by a setting $(v, z)$ that satisfies all strong constraints, and where (subject to this) $v$ is as large as possible.&#xA;This $v$ is the largest index for which $\Gamma(v, \cdot)$ is satisfiable, namely $M^*(\Gamma)$.&#xA;(Note, it is always possible, by setting $v =$ all-0, to satisfy all strong constraints, since in that case $\Gamma(v, \cdot)$ is satisfiable.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It follows that, if we are given a list $S$ of possible values of $M(\phi)$, we can derive a list of $|S|$ possible values of $M^*(\Gamma)$.  Thus we can't have $|S| \leq n^{d&amp;#39;}$ unless the poly hierarchy collapses.  This gives the Claim, since $n^{d&amp;#39;} = m^{\Omega(1)}$.&lt;/p&gt;&#xA;" OwnerUserId="223" LastEditorUserId="223" LastEditDate="2011-02-06T20:55:52.163" LastActivityDate="2011-02-06T20:55:52.163" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4743" PostTypeId="2" ParentId="4741" CreationDate="2011-02-05T19:53:49.530" Score="5" Body="&lt;p&gt;@Tayfun Pay, you are trying to get us to solve a problem for you!  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;As it turns out, you only need to apply primality on the count of the number of accepting paths and this count requires polynomial number bits to write down. But the concatenated string on the paths of the NP machine is exponentially long. It is as if the primality algorithm is run on a &quot;padded/unary&quot; version. So it is quite weak and runs within logspace and hence the whole things is within PSPACE.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, if you refer to the table (Figure 1) in this paper by &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.51.7283&quot; rel=&quot;nofollow&quot;&gt;[Jenner et al]&lt;/a&gt;, (or directly to &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.54.2093&quot; rel=&quot;nofollow&quot;&gt;[Hertrampf et all 93]&lt;/a&gt;), you will notice that classes within PSPACE (ModP/PH etc) emerge only when the leaf language is a subset of regular languages such as solvable/aperiodic etc. But as is well known, unary PRIMES is not regular (by standard application of pumping lemma).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This much I know. Now to your question. I would suspect PSPACE is the right bound and the proof should not be too difficult, given the techniques from the papers quoted above. If you spend some time thinking, I am sure you will be able to prove the correct bound one way or the other. And especially if these are your first steps into research, I will say, go for it!&lt;/p&gt;&#xA;" OwnerUserId="1449" LastActivityDate="2011-02-05T19:53:49.530" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="4745" PostTypeId="2" ParentId="1132" CreationDate="2011-02-06T01:29:18.740" Score="4" Body="&lt;p&gt;Even if you believe that there's nothing new or old to be learned about regular expression matching, check out one of the most beautiful papers I've come across for a long time: &lt;a href=&quot;http://sebfisch.github.com/haskell-regexp/regexp-play.pdf&quot; rel=&quot;nofollow&quot; title=&quot;A play on regular expressions&quot;&gt;A play on regular expressions&lt;/a&gt; by S Fischer, F Huch, and T Wilke, ICFP 2010.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(MMT Chakravarty deserves the credit for recommending this paper.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT: The reason why this paper is relevant is that it describes a new technique (based on Glushkov's from the 60ies) that avoids constructing the full NFA (let alone the DFA) corresponding to the RE. What is done instead resembles running a marking algorithm similar to the well-known one for deciding acceptance of a word by an NFA on the syntax tree of the RE. Performance measurements suggest that this is competitive, even with google's recently published re2 library.&lt;/p&gt;&#xA;" OwnerUserId="3552" LastEditorUserId="3552" LastEditDate="2011-02-06T09:56:10.723" LastActivityDate="2011-02-06T09:56:10.723" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4746" PostTypeId="1" AcceptedAnswerId="4747" CreationDate="2011-02-06T01:53:32.930" Score="18" ViewCount="3242" Body="&lt;p&gt;2 questions for the computational geometers or algebraists:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am just beginning to dive into computational geometry and I am loving it =)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am attempting to read the famous article by Guibas and Stolfi called &lt;em&gt;&quot;Primitives for the manipulation of general subdivisions and the computation of Voronoi Diagrams&quot;&lt;/em&gt; in order to implement a Delaunay triangulation algorithm. I am tempted to skip all the theoretical stuff and just read the description of their quad-edge data structure to save time. However, I think it may be worth it to understand all the math in the article if the structure is widely used, or just because it may be beautiful.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The math is a little to dense for me. I'm not completely ignorant on topology, but the description of their edge algebra requires knowledge of abstract algebra that I don't have.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My two questions are: What other applications of the quad-edge structure are there besides computing Delaunay/Voronoi? It seems like an extremely powerful tool.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The second question; What is an abstract algebra? It would be great if you could give me a reference to an introduction to abstract algebra, just enough so I can understand the section on their edge algebra. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thank you!&lt;/p&gt;&#xA;" OwnerUserId="3664" LastEditorUserId="3664" LastEditDate="2011-02-06T02:03:50.317" LastActivityDate="2012-12-12T09:33:03.837" Title="The quad-edge data structure (Delaunay/Voronoi)" Tags="&lt;reference-request&gt;&lt;cg.comp-geom&gt;&lt;algebra&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="8" ContentLicense="CC BY-SA 2.5" />
  <row Id="4747" PostTypeId="2" ParentId="4746" CreationDate="2011-02-06T05:23:55.620" Score="32" Body="&lt;p&gt;I think Guibas and Stolfi's “edge algebra” formalism is a bit unnecessary.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;All that's really necessary is to remember the distinction between primal and dual graphs.  Each face $f$ of the primal graph has a corresponding dual vertex $f^*$;  each edge $e$ of the primal graph has a corresponding dual edge $e^*$; and each vertex $v$ of the primal graph has a corresponding dual face $v^*$.  Primal edges connect primal vertices and separate primal faces; dual edges connect dual vertices and separate dual faces.  The dual of the dual of anything is the original thing.  See Figure 4 in Guibas and Stolfi's paper:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/KtHi4.png&quot; alt=&quot;Primal and dual graphs&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Guibas and Stolfi propose thinking about each edge (either primal or dual) as a collection of four &lt;em&gt;directed, oriented&lt;/em&gt; edges; for simplicity, I'll call these &lt;em&gt;darts&lt;/em&gt;.  Each dart $\vec{e}$ points from one endpoint $\text{tail}(\vec{e})$ to the other endpoint $\text{head}(\vec{e})$, and locally separates two faces $\text{left}(\vec{e})$ and $\text{right}(\vec{e})$.  The choice of which endpoint to call $\text{tail}(\vec{e})$ is the dart's &lt;em&gt;direction&lt;/em&gt;, and the choice of which face to call $\text{left}(\vec{e})$ is its &lt;em&gt;orientation&lt;/em&gt;.  (Guibas and Stolfi use “Org” and “Dest” instead of “tail” and “head”, but I prefer the shorter labels, because Unnecessary Abbreviations Are Evil.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For any dart $\vec{e}$, Guibas and Stolfi associate three related darts:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;$\text{tailNext}(\vec{e})$: The dart leaving $\text{tail}(\vec{e})$ next in counterclockwise order after $\vec{e}$.&lt;/li&gt;&#xA;&lt;li&gt;$\text{flip}(\vec{e})$: The “same” dart as $\vec{e}$, but with $\text{left}(\vec{e})$ and $\text{right}(\vec{e})$ swapped.&lt;/li&gt;&#xA;&lt;li&gt;$\text{rotate}(\vec{e})$: The dual dart obtained by giving $\vec{e}$ a quarter turn counterclockwise around its midpoint. &lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/WYKEx.png&quot; alt=&quot;tailNext, rotate, and flip&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;These three functions satisfy all sorts of wonderful identities, like the following:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$\text{right}(\text{tailNext}(\vec{e})) = \text{left}(\vec{e})$&lt;/li&gt;&#xA;&lt;li&gt;$\text{right}(\text{flip}(\vec{e})) = \text{left}(\vec{e})$&lt;/li&gt;&#xA;&lt;li&gt;$\text{right}(\text{rotate}(\vec{e})) = \text{head}(\vec{e})^*$&lt;/li&gt;&#xA;&lt;li&gt;$\text{flip}(\text{flip}(\vec{e})) = \vec{e}$&lt;/li&gt;&#xA;&lt;li&gt;$\text{rotate}(\text{rotate}(\text{rotate}(\text{rotate}(\vec{e})))) = \vec{e}$&lt;/li&gt;&#xA;&lt;li&gt;$\text{tailNext}(\text{rotate}(\text{tailNext}(\text{rotate}(\vec{e})))) = \vec{e}$&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;For a complete list, see page 83 of the paper (but beware that the authors use postfix notation $e~Flip$, presumably because it's closer to the declarative code &lt;code&gt;e.Flip&lt;/code&gt;).  Guibas and Stolfi call any triple of functions satisfying all these identities an &lt;em&gt;edge algebra&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Moreover, given these three functions, one can define several other useful functions like&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$\text{reverse}(\vec{e}) = \text{rotate}(\text{flip}(\text{rotate}(\vec{e})))$ — swap head and tail vertices&lt;/li&gt;&#xA;&lt;li&gt;$\text{leftNext}(\vec{e}) = \text{rotate}(\text{tailNext}(\text{rotate}(\text{rotate}(\text{rotate}(\vec{e})))))$ — the next dart after $\vec{e}$ in counterclockwise order around the face $\text{left}(\vec{e})$&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Finally, knowing these functions tell you absolutely everything about the topology of the subdivision, and any polygonal subdivision of any surface (orientable or not) can be encoded using these three functions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The quad-edge data structure is a particularly convenient representation of a surface graph that provides access to all these functions, along with several other constant-time operations like inserting, deleting, contracting, expanding, and flipping edges; splitting or merging vertices or faces; and adding or deleting handles or cross-caps.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Have fun!&lt;/p&gt;&#xA;" OwnerUserId="111" LastEditorUserId="111" LastEditDate="2011-02-06T05:47:58.110" LastActivityDate="2011-02-06T05:47:58.110" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4748" PostTypeId="1" AcceptedAnswerId="4767" CreationDate="2011-02-06T10:33:30.977" Score="20" ViewCount="2897" Body="&lt;p&gt;A colleague who works on &lt;strong&gt;genetic programming&lt;/strong&gt; asked me the following question. I first tried to solve it based on a greedy approach, but on a second thought, I found a counterexample to the greedy algorithm. So, I thought it's worth mentioning here.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Consider two polynomials which are represented by their expression trees. For instance, &lt;span class=&quot;math-container&quot;&gt;$x^3-2x+1$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$x^2 + 4$&lt;/span&gt; are illustrated below:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://i.stack.imgur.com/GNwbs.png&quot; rel=&quot;nofollow noreferrer&quot;&gt;&lt;img src=&quot;https://i.stack.imgur.com/GNwbs.png&quot; alt=&quot;&quot;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Rules:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Each node is either a &lt;strong&gt;variable name&lt;/strong&gt; (&lt;span class=&quot;math-container&quot;&gt;$x, y, z, \ldots$&lt;/span&gt;), a &lt;strong&gt;number&lt;/strong&gt;, or an &lt;strong&gt;operation&lt;/strong&gt; (+,-,×).&lt;/li&gt;&#xA;&lt;li&gt;The in-order traversal of the tree should result in a valid polynomial.&lt;/li&gt;&#xA;&lt;li&gt;Operation nodes have in-degree 2. Other nodes have in-degree 0. All nodes have out-degree 1 (except root, whose out-degree is 0).&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;On a node N of the tree, define the &lt;strong&gt;basic operation&lt;/strong&gt; as follows:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;A basic operation can change the label of the node. For instance, &lt;span class=&quot;math-container&quot;&gt;$x$&lt;/span&gt; can be changed to 3, or + can be changed to &lt;span class=&quot;math-container&quot;&gt;$\times$&lt;/span&gt;. &lt;/li&gt;&#xA;&lt;li&gt;A basic operation can build an expression tree on top of N (see the example below).&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;The cost of the basic operation of &lt;strong&gt;type 1&lt;/strong&gt; is 1. The cost for &lt;strong&gt;type 2&lt;/strong&gt; is equal to the number of {+,-,×} operations in the newly built expression tree.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Example for type 2:&lt;/strong&gt; The cost of the following basic operation is 2, since the expression tree built on top of node N uses two operations (- and ×).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://i.stack.imgur.com/UHb1F.png&quot; rel=&quot;nofollow noreferrer&quot;&gt;&lt;img src=&quot;https://i.stack.imgur.com/UHb1F.png&quot; alt=&quot;&quot;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let T1 and T2 be two expression trees representing polynomials.&#xA;Define the &lt;em&gt;distance&lt;/em&gt; of T1 and T2 as follows: the minimum cost of basic operations for converting T1 to T2. Note that we don't require the converted tree to have the same structure as T2. We just want it to compute the same polynomial as T2. (See the comments for an example.)&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;The problem:&lt;/strong&gt; Given T1 and T2, present an algorithm which computes their distance.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Example 1:&lt;/strong&gt; Let T1 and T2 are the two trees illustrated at the beginning of this post. To convert the right tree to the left tree, one can build a tree of cost 3 on top of ×, and change 4 to 1 (the total cost is 4).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Example 2:&lt;/strong&gt; Let T1=&lt;span class=&quot;math-container&quot;&gt;$x^4$&lt;/span&gt; be represented by the following tree. To convert T1 to T2=&lt;span class=&quot;math-container&quot;&gt;$x^4+4x^3+6x^2+4x+1$&lt;/span&gt;, it suffices to add 1 to each of the &lt;span class=&quot;math-container&quot;&gt;$x$&lt;/span&gt; nodes, to optain &lt;span class=&quot;math-container&quot;&gt;$(x+1)^4$&lt;/span&gt;=T2. This can be done by adding a cost-1 expression tree on top of each &lt;span class=&quot;math-container&quot;&gt;$x$&lt;/span&gt; node. This example shows that the term-by-term conversion (which I called the &lt;strong&gt;greedy approach&lt;/strong&gt; at the beginning of this post) is not an optimal approach. That is, if one wants to produce terms in T2 which are not present in T1 (i.e. &lt;span class=&quot;math-container&quot;&gt;$4x^3$&lt;/span&gt;, &lt;span class=&quot;math-container&quot;&gt;$6x^2$&lt;/span&gt;, &lt;span class=&quot;math-container&quot;&gt;$4x$&lt;/span&gt;, and 1), the cost will be much higher.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://i.stack.imgur.com/xXPuz.png&quot; rel=&quot;nofollow noreferrer&quot;&gt;&lt;img src=&quot;https://i.stack.imgur.com/xXPuz.png&quot; alt=&quot;&quot;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="873" LastEditorUserId="32711" LastEditDate="2019-01-08T19:34:24.440" LastActivityDate="2019-01-08T19:34:24.440" Title="Finding the distance between two polynomials (represented as trees)" Tags="&lt;ds.algorithms&gt;&lt;tree&gt;&lt;ai.artificial-intel&gt;&lt;genetic-programming&gt;" AnswerCount="1" CommentCount="24" FavoriteCount="7" ContentLicense="CC BY-SA 4.0" />
  <row Id="4749" PostTypeId="2" ParentId="4519" CreationDate="2011-02-06T12:03:32.553" Score="3" Body="&lt;p&gt;&lt;a href=&quot;http://www.labri.fr/perso/courcell/Textes1/BC-Makowsky-Rotics(2000).pdf&quot; rel=&quot;nofollow&quot;&gt;http://www.labri.fr/perso/courcell/Textes1/BC-Makowsky-Rotics(2000).pdf&lt;/a&gt; (which is the paper you mentioned but a better readable version) defines LinEMSOL (Definition 10).&#xA;LinEMSOL allows for MSO1 optimization problems and Theorem 4 states that such problems are fixed-parameter tractable with regard to clique-width. So the answer to your second bullet/question should be yes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Concerning the first bullet: In &quot;Vertex-minors, monadic second-order logic, and a conjecture by Seese&quot; by Bruno Courcelle and Sang-il Oum the authors write that &quot;It can be proved that no MS formula φ(X) can express, in every structure, that a set X has even cardinality [10]&quot; where [10]=&quot;Courcelle, The monadic second-order logic of graphs&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hope that helps&lt;/p&gt;&#xA;" OwnerUserId="546" LastActivityDate="2011-02-06T12:03:32.553" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="4750" PostTypeId="1" CreationDate="2010-09-14T08:14:06.063" Score="2" ViewCount="2503" Body="&lt;p&gt;Is there any compilation of graph encoding algorithms? I know about Prufer and Huffman encoding. But papers say, prufer is not good enough to represent Minimum Spanning Trees in the sense it &lt;em&gt;may&lt;/em&gt; represent different MSTs with the same string.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Update: It would be a very good future reference if every one could mention the graph encoding algorithm they know of. You can also provide a link/url to a paper. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;As a start:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Prufer Encoding&lt;/li&gt;&#xA;&lt;li&gt;Huffman Encoding&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Succinct_data_structure&quot; rel=&quot;nofollow&quot;&gt;Succinct Trees&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.comp.nus.edu.sg/~ksung/upload/dfuds.pdf&quot; rel=&quot;nofollow&quot;&gt;Ultra-succinct Representation of Ordered Trees&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Thanks&lt;/p&gt;&#xA;" OwnerDisplayName="user770" LastEditorUserId="186" LastEditDate="2011-03-09T03:23:41.237" LastActivityDate="2016-06-20T07:21:53.810" Title="Graph encoding algorithms that you know of ?" Tags="&lt;ds.algorithms&gt;&lt;graph-algorithms&gt;&lt;big-list&gt;&lt;encoding&gt;" AnswerCount="2" CommentCount="6" FavoriteCount="4" CommunityOwnedDate="2011-03-09T03:25:01.907" ContentLicense="CC BY-SA 2.5" />
  <row Id="4751" PostTypeId="2" ParentId="4750" CreationDate="2011-02-06T12:26:02.403" Score="-2" Body="&lt;p&gt;If your looking for MST encoding go for S&amp;amp;T Encoding&lt;/p&gt;&#xA;" OwnerDisplayName="shenbagaraj R" LastActivityDate="2011-02-06T12:26:02.403" CommentCount="1" CommunityOwnedDate="2011-03-09T03:25:01.907" ContentLicense="CC BY-SA 2.5" />
  <row Id="4752" PostTypeId="2" ParentId="4668" CreationDate="2011-02-06T13:33:56.040" Score="6" Body="&lt;p&gt;Using BNF with your unique-repetition operator, &lt;code&gt;x := S^&lt;/code&gt; says that an &lt;code&gt;x&lt;/code&gt; is an instance &lt;code&gt;a&lt;/code&gt; of symbol &lt;code&gt;S&lt;/code&gt;, optionally followed by an instance &lt;code&gt;b&lt;/code&gt; of set &lt;code&gt;S - a&lt;/code&gt;, itself optionally followed by an instance &lt;code&gt;c&lt;/code&gt; of set &lt;code&gt;S - a - b&lt;/code&gt;, and so forth. If &lt;code&gt;|S|&lt;/code&gt; is the number of possible &lt;code&gt;S&lt;/code&gt;, and is finite, then &lt;code&gt;2 ^ |S|! - 1&lt;/code&gt; is the number of possible &lt;code&gt;S^&lt;/code&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's not really meaningful to talk in terms of the &lt;em&gt;computational&lt;/em&gt; power of the language being described, since this is about static semantics, in the twilight between syntax and ordinary (dynamic) semantics. The expressive power of the &lt;em&gt;grammar&lt;/em&gt; is extended, since it has a formal means of expressing a particular type of input adaptation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Specifically, it provides a means of accepting &lt;em&gt;a permutation of a subset&lt;/em&gt; of a particular set. I don't think there is any existing name for this class of language. It's certainly not context-free, but the context requirement is at least pretty strictly controlled. If you need a term for it, just coin one. I suggest &lt;em&gt;context-respecting&lt;/em&gt; for the class of languages that cannot be described by a context-free grammar without additional embedded information about static semantic constraints, which to be fair &lt;em&gt;are&lt;/em&gt; vaguely syntactic in spirit.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The most useful application of this &lt;em&gt;particular&lt;/em&gt; extension is probably just the ability to introduce unique-key constraints, but it also lets you describe such interesting sets as &lt;code&gt;x := [0-7]^&lt;/code&gt;, which matches any octal number of 8 or fewer non-repeated digits. As for the complexity of it, determining whether an element of the set has been seen is no worse than logarithmic, and the frequency of checking is linear in the number of elements matched, so the &lt;code&gt;^&lt;/code&gt; operator is indeed decidable in worst-case linearithmic time.&lt;/p&gt;&#xA;" OwnerUserId="1543" LastActivityDate="2011-02-06T13:33:56.040" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4754" PostTypeId="1" AcceptedAnswerId="4759" CreationDate="2011-02-06T16:00:18.067" Score="5" ViewCount="354" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;Migrated from &lt;a href=&quot;https://stackoverflow.com/questions/4914162/how-to-calculate-this-string-dissimilarity-function-efficiently&quot;&gt;stackoverflow&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Hello,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I was looking for a string metric that have the property that moving around large blocks in a string won't affect the distance so much. So &quot;helloworld&quot; is close to &quot;worldhello&quot;. Obviously Levenshtein distance and Longest common subsequence don't fulfill this requirement. Using Jaccard distance on the set of n-grams gives good results but has other drawbacks (it's a pseudometric and higher n results in higher penalty for changing single character).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[original research]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As I thought about it, what I'm looking for is a function f(A,B) such that f(A,B)+1 equals the minimum number of blocks that one have to divide A into (A1 ... An), apply a permutation on the blocks and get B:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;f(&quot;hello&quot;, &quot;hello&quot;) = 0&#xA;f(&quot;helloworld&quot;, &quot;worldhello&quot;) = 1   // hello world -&amp;gt; world hello&#xA;f(&quot;abba&quot;, &quot;baba&quot;) = 2               // ab b a -&amp;gt; b ab a&#xA;f(&quot;computer&quot;, &quot;copmuter&quot;) = 3       // co m p uter -&amp;gt; co p m uter&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;This can be extended for A and B that aren't necessarily permutations of each other: any additional character that can't be matched is considered as one additional block.  &lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;f(&quot;computer&quot;, &quot;combuter&quot;) = 3       // com uter -&amp;gt; com uter, unmatched: p and b.&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Observing that instead of counting blocks we can count the number of pairs of indices that are taken apart by a permutation, we can write f(A,B) formally as:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;f(A,B) = min { C(P) | P ⊆ |A|×|B|, P is a bijective function, ∀i∈dom(P) A[P(i)]=B[P(i)] }&#xA;C(P) = |A| + |B| − |dom(P)| − |{ i | i,i+1∈dom(P) and P(i)+1=P(i+1) }| − 1&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;The problem is... guess what...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;... that I'm not able to calculate this in polynomial time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can someone suggest a way to do this efficiently (possibly with minor modifications)? Or perhaps point me to already known metric that exhibits similar properties?&lt;/p&gt;&#xA;" OwnerUserId="3671" LastEditorUserId="-1" LastEditDate="2017-05-23T12:40:09.333" LastActivityDate="2017-07-05T08:52:02.150" Title="How to calculate this string-dissimilarity function efficiently?" Tags="&lt;ds.algorithms&gt;&lt;metrics&gt;&lt;string-matching&gt;" AnswerCount="2" CommentCount="12" ContentLicense="CC BY-SA 2.5" />
  <row Id="4756" PostTypeId="1" AcceptedAnswerId="4783" CreationDate="2011-02-06T19:36:45.600" Score="11" ViewCount="306" Body="&lt;p&gt;Angluin and Laird ('88) &lt;a href=&quot;http://www.springerlink.com/content/w48007362627v5l5/&quot;&gt;formalized&lt;/a&gt; learning with randomly corrupted data in the model &quot;PAC with random classification noise&quot; (or noisy PAC). This model is similar to &lt;a href=&quot;http://en.wikipedia.org/wiki/Probably_approximately_correct_learning&quot;&gt;PAC learning&lt;/a&gt;, except for the labels of the examples given to the learner are corrupted (flipped), independently at random, with probability $\eta &amp;lt; 1/2$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To help characterize what is learnable in the noisy PAC model, Kearns ('93) &lt;a href=&quot;http://reference.kfupm.edu.sa/content/e/f/efficient_noise_tolerant_learning_from_s_66565.pdf&quot;&gt;introduced&lt;/a&gt; the &lt;a href=&quot;http://www.almaden.ibm.com/cs/people/vitaly/papers/Kearns93-e.pdf&quot;&gt;Statistical Query model&lt;/a&gt; (SQ) for learning.  In this model, a learner can query a statistical oracle for properties of the target distribution, and he showed that any class that is SQ learnable is learnable in noisy PAC.  Kearns also proved that &lt;a href=&quot;http://en.wikipedia.org/wiki/Parity_function&quot;&gt;parities&lt;/a&gt; on $n$ variables cannot be learned in time faster than $2^{n/c}$ for some constant $c$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then Blum et al. ('00) &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=335355&quot;&gt;separated&lt;/a&gt; noisy PAC from SQ by showing that parities on the first $(\log(n) \log\log(n))$ are polynomial-time learnable in the noisy PAC model but not in the SQ model.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is this:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Parities (on the first $(\log(n) \log\log(n))$ variables) are learnable in the noisy PAC model but not in the SQ model.  Are there any other specific classes, sufficiently different from parity, that are known to be learnable in noisy PAC but not in SQ?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="123" LastEditorUserId="123" LastEditDate="2011-02-07T00:53:31.927" LastActivityDate="2011-04-04T19:59:03.927" Title="Any Hypothesis Classes Other than Parity in Noisy PAC but not in SQ?" Tags="&lt;lg.learning&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="4757" PostTypeId="1" CreationDate="2011-02-06T20:26:01.143" Score="6" ViewCount="726" Body="&lt;p&gt;I'm studying certain graph editing problems and I'd like to determine the complexity of this problem:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Input: Balanced bipartite graph &lt;span class=&quot;math-container&quot;&gt;$G(A \bigcup B, E)$&lt;/span&gt;, &lt;span class=&quot;math-container&quot;&gt;$|A|=|B|=n$&lt;/span&gt;, integer &lt;span class=&quot;math-container&quot;&gt;$k$&lt;/span&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Problem: Is there &lt;span class=&quot;math-container&quot;&gt;$r$&lt;/span&gt; edit operations that transform the input graph into balanced bipartite &lt;span class=&quot;math-container&quot;&gt;$n/2$&lt;/span&gt;-regular graph (&lt;span class=&quot;math-container&quot;&gt;$r \leq k$&lt;/span&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An edit operation can be an addition of one edge or a removal of one edge (between sets &lt;span class=&quot;math-container&quot;&gt;$A$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$B$&lt;/span&gt;). &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Has anyone seen this problem in the literature? Is there a polynomial time algorithm or is it &lt;span class=&quot;math-container&quot;&gt;$NP$&lt;/span&gt;-complete?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;My main interest is in the case where &lt;span class=&quot;math-container&quot;&gt;$k \leq cn$&lt;/span&gt; for some constant &lt;span class=&quot;math-container&quot;&gt;$c \gt 0$&lt;/span&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT: One way to look at the problem is to find the minimum number of edit operations that transform an input of balanced bipartite graph &lt;span class=&quot;math-container&quot;&gt;$G(A \bigcup B, E)$&lt;/span&gt; into balanced bipartite &lt;span class=&quot;math-container&quot;&gt;$n/2$&lt;/span&gt;-regular graph &lt;span class=&quot;math-container&quot;&gt;$G(A \bigcup B, E^{'})$&lt;/span&gt;. Notice that &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt; must be even integer.&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2019-12-14T17:55:08.133" LastActivityDate="2019-12-14T17:55:08.133" Title="Complexity of transforming a balanced bipartite graph into regular graph?" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;graph-algorithms&gt;" AnswerCount="2" CommentCount="8" FavoriteCount="3" ContentLicense="CC BY-SA 4.0" />
  <row Id="4759" PostTypeId="2" ParentId="4754" CreationDate="2011-02-06T21:55:39.250" Score="8" Body="&lt;p&gt;What you seem to be looking for is called the minimum common string partition, and it has been well studied. In particular, it's known to be NP-hard. There is also a closely related concept of edit distance with block moves, which would capture the extension you mention, where substitutions are allowed. &lt;/p&gt;&#xA;" OwnerUserId="1616" LastActivityDate="2011-02-06T21:55:39.250" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4761" PostTypeId="2" ParentId="4757" CreationDate="2011-02-06T23:40:39.463" Score="0" Body="&lt;p&gt;For each node $N \in A$ and $M \in B$, set &#xA;$\textrm{diff}(N) = \deg(N) - n/2$ and $\textrm{diff}(M) = \deg(M) - n/2$.&#xA;Note that&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\sum_{N \in A} \textrm{diff}(N) = \sum_{M \in B} \textrm{diff}(M)$$ &#xA;(the graph is bipartite.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem can be reformulated as: &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What is the minimum number of operations required to make $\textrm{diff}(N) = 0$ for all nodes?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Algorithm&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;STEP 1. Delete every edge $(N,M)$ such that $N \in A$, $M \in B$, $\textrm{diff}(N) &amp;gt; 0$ and $\textrm{diff}(M) &amp;gt; 0$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;STEP 2. For every node $N \in A$ with $\textrm{diff}(N) &amp;lt; 0$, if there exists $M \in B$ having $\textrm{diff}(M) &amp;lt; 0$, add an edge $(N,M)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;After the two steps, you'll have a balanced bipartite graph in which:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;CASE 1. $\textrm{diff}(N) = 0$ for each node $N$. (OK, stop.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;CASE 2. One of the two partitions has some nodes with $\textrm{diff} &amp;gt; 0$ and some nodes  with $\textrm{diff} &amp;lt; 0$.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;In this case you can &quot;transfer&quot; degrees between those nodes using 2 operations (delete + add). For example if $(N_1,M_1),(N_2,M_2) \in E$ and $\textrm{diff}(M_1) = 1$, $\textrm{diff}(M_2) = -1$ then delete edge $(N_1,M_1)$ and add $(N_1,M_2)$ (the operation will preserve $\textrm{diff}(N_1) = 0$. &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;You will end with &lt;/p&gt;&#xA;&#xA;&lt;p&gt;CASE 3. Both partitions have some nodes with $\textrm{diff} &amp;gt; 0$ (or both have some nodes with $\textrm{diff} &amp;lt; 0$). In this case you can transfer degree following this procedure (suppose $p$ nodes of $A$ and $q$ nodes of $B$ have $\textrm{diff} &amp;gt; 0$):&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;For every node $N \in A$ with $\textrm{diff}(N) &amp;gt; 0$, delete edge $(N,X)$ where $X$ is the node in $B$ (linked to $N$) having the lowest degree.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;After this loop all nodes in $A$ will have $\textrm{diff} = 0$, and some nodes in $B$ will have $\textrm{diff} &amp;gt; 0$ and some $\textrm{diff} &amp;lt; 0$. Then transfer degrees using method showed in CASE 2 until every node $M$ has $\textrm{diff}(M) = 0$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;If at CASE 3, $p$ nodes of $A$ and $q$ nodes of B have $\textrm{diff} &amp;lt; 0$ the method is similar (add edge $(N,X)$ where $X$ is the node in $B$ having the highest degree).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Count the number of operations $r$ made and compare it to $k$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Example (how the algorithm SHOULD work)&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/bwDoR.jpg&quot; alt=&quot;Example&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Input graph; graph after STEP 1+2; graph after &quot;degree transfer&quot; on $A$; graph after &quot;degree transfer&quot; on $B$&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;input graph&lt;/li&gt;&#xA;&lt;li&gt;graph after STEP 1+2&lt;/li&gt;&#xA;&lt;li&gt;graph after &quot;degree transfer&quot; on $B$ (from $b_1$ to $b_6$).&lt;/li&gt;&#xA;&lt;li&gt;graph after &quot;degree transfer&quot; on $A$ (from $a_1$ to $a_6$)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Red means &quot;delete edge&quot;, blue means &quot;add edge&quot;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Correctness&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Still working on it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;P.S. I'm a CS newbie so perhaps I completely misunderstood the problem :-)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;P.P.S. the graph keeps &quot;balanced bipartite&quot; because the algorithm doesn't add/delete nodes or edges between the elements of each set.&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="1800" LastEditDate="2011-02-08T07:04:38.133" LastActivityDate="2011-02-08T07:04:38.133" CommentCount="10" CommunityOwnedDate="2011-02-07T15:17:14.810" ContentLicense="CC BY-SA 2.5" />
  <row Id="4763" PostTypeId="2" ParentId="2422" CreationDate="2011-02-07T02:52:06.067" Score="5" Body="&lt;p&gt;@JeffE,  Here is a paper that &lt;a href=&quot;http://dx.doi.org/10.1016/0020-0190%2894%2900202-A&quot; rel=&quot;nofollow&quot;&gt;counts min weight cycles&lt;/a&gt; in a graph. As far as I remember, it was definitely inspired by Karger's technique/result and it was a fun proof.  Hope this helps with the teaching.&lt;/p&gt;&#xA;" OwnerUserId="1449" LastActivityDate="2011-02-07T02:52:06.067" CommentCount="1" CommunityOwnedDate="2011-02-07T02:52:06.067" ContentLicense="CC BY-SA 2.5" />
  <row Id="4764" PostTypeId="1" AcceptedAnswerId="4964" CreationDate="2011-02-07T10:20:16.393" Score="14" ViewCount="551" Body="&lt;p&gt;Let $\varphi$ be a CNF formula with $n$ variables and $m$ clauses. Let $t \in \{ 0,1 \}^n$  represent a variable assignment and $f_{\varphi}(t) \in \{ 0, \ldots , m \}$ count the number of clauses satisfied by a variable assignment to $\varphi$. Then define Median-SAT as the problem of computing the median value of $f_{\varphi}(t)$ over all $t \in \{ 0,1 \}^n$.  For example, if $\varphi$ is a tautology then the solution to Median-SAT will be $m$ since regardless of assignment every clause will be satisfied. However in the case of $\overline{SAT}$ the solution to Median-SAT could be anywhere between $0$ and $m-1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This question arose when I was pondering two natural extensions of SAT, MAX-SAT and #SAT, and what the difficulty of the resulting problem would be if they were put together. For MAX-SAT we have to find a particular variable assignment to maximize the number of variables satisfied by $\varphi$. For #SAT we have to count how many assignments satisfy all $m$ clauses of $\varphi$. This variant winds up mainly as an extension of #SAT (and in fact of &lt;a href=&quot;http://qwiki.stanford.edu/index.php/Complexity_Garden#sharpwsat&quot;&gt;#WSAT&lt;/a&gt;), but retains some of the flavor of MAX-SAT in that we count the number of satisfied clauses rather than just deciding whether they're all satisfied or not.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This problem seems harder than #SAT or #WSAT. For each variable assignment #SAT decides the Boolean problem of whether that assignment satisfies $\varphi$ or not whereas Median-SAT determines &quot;to what extent&quot; $\varphi$ is satisfied in terms of the number of clauses that an assignment satisfies.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I realize that this problem is somewhat arbitrary; computing the average or mode number of clauses satisfied by each variable assignment seems to capture the same quality. Probably many other problems do too.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Has this problem been studied, perhaps under a different guise? How hard is it compared to #SAT? It's not clear to me a priori that Median-SAT is even contained in FPSPACE, although it does seem to be contained in FEXPTIME.&lt;/p&gt;&#xA;" OwnerUserId="969" LastEditorUserId="567" LastEditDate="2011-02-07T13:49:20.410" LastActivityDate="2013-09-04T01:00:00.947" Title="What's the complexity of Median-SAT?" Tags="&lt;cc.complexity-theory&gt;&lt;sat&gt;&lt;counting-complexity&gt;" AnswerCount="2" CommentCount="9" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="4765" PostTypeId="1" AcceptedAnswerId="4766" CreationDate="2011-02-07T10:20:39.077" Score="19" ViewCount="1055" Body="&lt;p&gt;I just read the &quot;&lt;a href=&quot;https://cstheory.stackexchange.com/q/159/1800&quot;&gt;Is integer factorization an NP-complete problem?&lt;/a&gt;&quot; question ... so I decided to spend some of my reputation :-) asking another question $Q$ having $P(\text{Q is trivial}) \approx 1$:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;If $A$ is an oracle that solves integer factorization, what is the power of $P^A$?&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I think it makes RSA-based public-key cryptography insecure ... but apart from this, are there other remarkable results?&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2016-12-07T21:14:02.297" Title="P with integer factorization oracle" Tags="&lt;cc.complexity-theory&gt;&lt;oracles&gt;&lt;factoring&gt;" AnswerCount="5" CommentCount="6" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="4766" PostTypeId="2" ParentId="4765" CreationDate="2011-02-07T10:47:38.313" Score="11" Body="&lt;p&gt;I don't have an answer to you question, but I know that a similar notion has very recently been studied, under the name of &quot;angel-based security.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The first paper studying this concept is &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=1007394&quot; rel=&quot;nofollow noreferrer&quot;&gt;Prabhakaran &amp;amp; Sahai (STOC '04)&lt;/a&gt;. In particular, they wrote in the abstract:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;[... we give the] adversary access to some super-polynomial computational power.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Another important paper which discusses this notion is that of &lt;a href=&quot;http://www.computer.org/portal/web/csdl/doi/10.1109/FOCS.2010.86&quot; rel=&quot;nofollow noreferrer&quot;&gt;Canetti, Lin, &amp;amp; Pass (FOCS 2010)&lt;/a&gt;. I watched some parts of their conference presentation (on &lt;a href=&quot;http://techtalks.tv/focs/2010&quot; rel=&quot;nofollow noreferrer&quot;&gt;techtalks&lt;/a&gt;), and if I recall correctly, they start with an example similar to what you mentioned in the question.&lt;/p&gt;&#xA;" OwnerUserId="873" LastEditorUserId="873" LastEditDate="2016-12-07T21:14:02.297" LastActivityDate="2016-12-07T21:14:02.297" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="4767" PostTypeId="2" ParentId="4748" CreationDate="2011-02-07T11:22:48.290" Score="10" Body="&lt;p&gt;Tree Edit Distance is a generalization of string edit distance. The distance between two trees is the minimum number of node insertions \ deletions \ and relabels required to turn one tree into the other. (when we delete node v, v's children become children of parent(v)).&#xA;The problem is NP-hard when the trees are unordered, but when they are ordered (i.e., there is a left-to-right order among siblings) the problem is solvable in O(n^3) time (as in the paper that Sadeq mentioned). A good survey that describes this: &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=1085283&quot;&gt;http://portal.acm.org/citation.cfm?id=1085283&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="3682" LastActivityDate="2011-02-07T11:22:48.290" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="4768" PostTypeId="2" ParentId="4765" CreationDate="2011-02-07T12:27:59.843" Score="6" Body="&lt;p&gt;Since factorization is in NP, you can at least say that $P^A\subseteq \Delta_2^P$.&lt;/p&gt;&#xA;" OwnerUserId="2150" LastActivityDate="2011-02-07T12:27:59.843" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4769" PostTypeId="1" AcceptedAnswerId="4785" CreationDate="2011-02-07T13:29:12.947" Score="46" ViewCount="4181" Body="&lt;p&gt;&lt;a href=&quot;http://www.cs.princeton.edu/theory/complexity/&quot;&gt;Arora and Barak&lt;/a&gt;'s book presents factoring as the following problem:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\text{FACTORING} = \{\langle L, U, N \rangle \;|\; (\exists \text{ a prime } p \in \{L, \ldots, U\})[p | N]\}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;They add, further in Chapter 2, that removing the fact that $p$ is prime makes this problem NP-complete, although this is not linked to the difficulty of factoring numbers.  It looks there can be a reduction from SUBSETSUM, but I got stuck finding it.  Any better luck around here?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT March 1st:&lt;/strong&gt; The bounty is for $NP$-completeness proof using deterministic Karp (or Cook) reduction.&lt;/p&gt;&#xA;" OwnerUserId="88" LastEditorUserId="495" LastEditDate="2011-02-28T21:02:01.790" LastActivityDate="2017-04-08T18:39:51.120" Title="An NP-complete variant of factoring." Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;&lt;factoring&gt;" AnswerCount="3" CommentCount="26" FavoriteCount="16" ContentLicense="CC BY-SA 2.5" />
  <row Id="4770" PostTypeId="1" CreationDate="2011-02-07T13:54:12.607" Score="12" ViewCount="804" Body="&lt;p&gt;This question is similar to &lt;a href=&quot;https://cstheory.stackexchange.com/questions/1215/np-hard-problems-on-trees&quot;&gt;NP-hard problems on trees&lt;/a&gt;:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;There is a large number of NP-complete problems that are tractable on &lt;a href=&quot;http://en.wikipedia.org/wiki/Cograph&quot; rel=&quot;nofollow noreferrer&quot;&gt;cographs&lt;/a&gt;. Are there any known problems that remain NP-complete when restricted to cographs?&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To be more precise I am interested in examples where the input consists &lt;strong&gt;solely of an undirected, unweighted cograph&lt;/strong&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Two remarks:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;For weighted cographs such a problem is mentioned &lt;a href=&quot;https://cstheory.stackexchange.com/questions/1215/np-hard-problems-on-trees/1218#1218&quot;&gt;here&lt;/a&gt; - TSP with two travellers&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Cographs are the &quot;base class&quot; of clique-width such as trees are the base class for tree-width.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;UPDATE&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some further thoughts (I am not quite sure about):&#xA;If the input is really just a cograph, the question has to be of the sort &quot;Does the cograph have property X?&quot;. It would be enough if such a problem existed for trees, since then the question could be &quot;Does the cotree of the cograph have property X?&quot;.&lt;/p&gt;&#xA;" OwnerUserId="546" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.743" LastActivityDate="2014-01-10T13:27:45.107" Title="NP-hard problems on cographs" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;&lt;graph-algorithms&gt;" AnswerCount="3" CommentCount="2" FavoriteCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="4771" PostTypeId="2" ParentId="4770" CreationDate="2011-02-07T14:15:36.320" Score="10" Body="&lt;p&gt;Several problems remain NP-complete when restricted to cographs. List coloring, achromatic&#xA;number, and Induced subgraph isomorphism remain NP-complete. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] Hans L. Bodlaender. Achromatic number is NP-complete for cographs and interval graphs. Inf. Process. Lett., 31(3):135–138, 1989 &lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] Klaus Jansen and Petra Scheffler. Generalized coloring for tree-like graphs. Discrete Appl. Math.,&#xA;75(2):135–155, 1997&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[3] Peter Damaschke. Induced subgraph isomorphism for cographs is NP-complete. Lecture Notes in Computer Science, 1991, Volume 484/1991, 72-78,&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2011-02-07T14:24:33.310" LastActivityDate="2011-02-07T14:24:33.310" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="4772" PostTypeId="1" AcceptedAnswerId="4803" CreationDate="2011-02-07T17:44:29.760" Score="8" ViewCount="358" Body="&lt;p&gt;The following problem recently emerged from my research and I would like to ask if anyone knows if this problem was considered before or has heard of anything that might be related. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The general setting is the following. We are given $F$, a family of $t$-subsets of $\{1, 2, ..., n\}$, for some parameter $t$ (I am most interested in the case where $t=\lfloor n/2\rfloor$). There is an adversary who picks one set in $F$, denoted by $S$. Our job is to find what $S$ is. To do this, we are allowed to send any two sets in $F$ to the adversary, say $A$ and $B$ and the adversary will output $A$ if $|A\cap S|\geq |B\cap S|$ and $B$ if $|B\cap S|\geq |A\cap S|$. Note that if $|A\cap S|=|B\cap S|$ then the adversary can output either $A$ or $B$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This problem can be solved trivially if we do not care how many queries we can ask since if we compare all pairs of sets, $S$ will be the only set that is always returned back from the adversary when we send a query $(S, B)$, for any $B\neq S$. However, our goal is to minimize the number of queries. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;My goal is to show either that this problem can be solved using $O(poly(n))$ queries or that super-polynomial number of queries are required. I'm particularly interested in the case where $F$ is the set of all $\lfloor n/2\rfloor$-subsets of $\{1, ..., n\}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any pointers to anything related would be appreciated. &lt;/p&gt;&#xA;" OwnerUserId="317" LastEditorUserId="186" LastEditDate="2011-02-08T16:15:27.350" LastActivityDate="2011-02-08T22:55:23.123" Title="Finding out a set by intersection comparison" Tags="&lt;cc.complexity-theory&gt;&lt;communication-complexity&gt;&lt;coding-theory&gt;&lt;query-complexity&gt;" AnswerCount="2" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4773" PostTypeId="2" ParentId="4772" CreationDate="2011-02-07T18:17:07.743" Score="2" Body="&lt;p&gt;... uhm ... I'm trying to figure out a polynomial algorithm ... still working on it ... but I think the problem should be better reformulated, because there are cases where &lt;strong&gt;it is impossible to win&lt;/strong&gt; (at least if F is the family of all subsets)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example: &lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;Let n=3&#xA;&#xA;F={{1},{2},{3},{1,2},{1,3},{2,3}}&#xA;&#xA;Queries     S={1}    S={1,2}&#xA;{1}&amp;gt;={2}      T      lie&#xA;{1}&amp;gt;={3}      T       T&#xA;{2}&amp;gt;={1}      F      lie &#xA;{2}&amp;gt;={3}     lie      T&#xA;{3}&amp;gt;={1}      F       F&#xA;{3}&amp;gt;={2}     lie      F&#xA;{1}&amp;gt;={2,3}    T      lie&#xA;{2}&amp;gt;={1,3}    F      lie&#xA;{3}&amp;gt;={1,2}    F       F&#xA;{2,3}&amp;gt;={1}    F      lie&#xA;{1,3}&amp;gt;={2}    T      lie &#xA;{1,2}&amp;gt;={3}    T       T&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;As you can see - &lt;strong&gt;if the adversary is a fox&lt;/strong&gt; - he can made the two columns equal so there is no way to distinguish between solution $S=\{1\}$ and solution $S=\{1,2\}$ .... even with an exponential number of queries.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;And I think that even if you restrict the family F you can &quot;fall&quot; in an impossible game. For example adding the element $4$ somewhere in one or more of the sets of F in the example, &lt;em&gt;will not kill the fox&lt;/em&gt; :-)))&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;It looks like a variant of the &lt;a href=&quot;http://en.wikipedia.org/wiki/Mastermind_%28board_game%29&quot; rel=&quot;nofollow&quot;&gt;Master Mind Game&lt;/a&gt; which normally is polynomial but has a &lt;strong&gt;static version&lt;/strong&gt; which is NP-complete (&lt;a href=&quot;http://newton.case.edu/papers/mastermind.pdf&quot; rel=&quot;nofollow&quot;&gt;see proof&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;... The original Mastermind game was invented in 1970 by Meirowitz, as a board game having holes for sequences of length N = 4 and K = 6 colored pegs. Knuth (1) subsequently showed that this instance of the Mastermind game can be solved in five guesses or less. Chv´atal (2) studied the combinatorics of general Mastermind, showing that it can be solved in polynomial time, in the K &gt;= N case .... Stuckman and Zhang (3) showed that it is NP-complete to determine if a sequence of guesses and responses in general double-count&#xA;Mastermind is satisfiable. ...&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(1) D. Knuth. The computer as a master mind. Journal of Recreational Mathematics, 9:1–5,&#xA;1977.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(2) V. Chv´atal. Mastermind. Combinatorica, 3(3/4):325–329, 1983.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(3) J. Stuckman and G.-Q. Zhang. Mastermind is np-complete, 2005.&#xA;&lt;a href=&quot;http://arxiv.org/abs/cs/0512049&quot; rel=&quot;nofollow&quot;&gt;http://arxiv.org/abs/cs/0512049&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2011-02-08T21:42:14.470" LastActivityDate="2011-02-08T21:42:14.470" CommentCount="10" ContentLicense="CC BY-SA 2.5" />
  <row Id="4775" PostTypeId="1" AcceptedAnswerId="4779" CreationDate="2011-02-07T18:30:35.483" Score="-3" ViewCount="459" Body="&lt;pre&gt;&lt;code&gt;              _________&#xA;             |         |&#xA;    |x&amp;gt; ----&amp;gt;|   f     | -----&amp;gt; |x&amp;gt;&#xA;             |_________|&#xA;                 |&#xA;                 v&#xA;                |f(x)&amp;gt;&#xA;                 |&#xA;              ___v_____&#xA;             |         |&#xA;    |y&amp;gt; ----&amp;gt;| CNOT    | -----&amp;gt; |y XOR f(x)&amp;gt;&#xA;             |_________|&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;I am trying to figure out how quantum computers work. Diagram above is what I &quot;think&quot; f-CNOT gate should look like. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a description of a function &lt;code&gt;f&lt;/code&gt; it is trivial to design classical circuit to calculate it using multiplexers, logic gates etc.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;How can I design quantum circuit for &lt;code&gt;f&lt;/code&gt;?&#xA;e.g. &lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;&lt;pre&gt;&lt;code&gt; x      f(x)&#xA;&#xA;0 0 0     0&#xA;0 0 1     0&#xA;0 1 0     1&#xA;0 1 1     1&#xA;1 0 0     0&#xA;1 0 1     1&#xA;1 1 0     0&#xA;1 1 1     1&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;What is quantum analog of multiplexers? &lt;/li&gt;&#xA;&lt;li&gt;What does the matrix of f-CNOT gate look like?&lt;/li&gt;&#xA;&lt;li&gt;How can I design quantum circuit for any boolean function? &lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="612" LastActivityDate="2011-02-07T21:35:03.393" Title="Understanding function controlled NOT gate" Tags="&lt;reference-request&gt;&lt;quantum-computing&gt;" AnswerCount="2" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="4776" PostTypeId="2" ParentId="4775" CreationDate="2011-02-07T19:27:40.503" Score="3" Body="&lt;p&gt;If my understanding is correct, the &lt;a href=&quot;http://en.wikipedia.org/wiki/Toffoli_gate&quot; rel=&quot;nofollow&quot;&gt;Toffoli gate&lt;/a&gt; is universal for classical computations, and thus a circuit consisting of Toffoli gates answers your question (3). &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2011-02-07T19:27:40.503" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4777" PostTypeId="1" AcceptedAnswerId="4786" CreationDate="2011-02-07T20:28:11.840" Score="22" ViewCount="1123" Body="&lt;p&gt;Are there problems in CS where no efficient algorithms are known, despite existence theorems proving such efficient algorithms must exist?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What are these problems called? Where can I find out more?&lt;/p&gt;&#xA;" OwnerUserId="3299" LastEditorUserId="3299" LastEditDate="2011-02-08T15:48:22.207" LastActivityDate="2011-02-09T04:01:20.083" Title="Are there problems without efficient algorithms, where existence theorems have proved such algorithms must exist?" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;terminology&gt;" AnswerCount="4" CommentCount="3" FavoriteCount="7" ContentLicense="CC BY-SA 2.5" />
  <row Id="4779" PostTypeId="2" ParentId="4775" CreationDate="2011-02-07T21:35:03.393" Score="1" Body="&lt;p&gt;For a somewhat naïve but general solution, you can, e.g., use the Toffoli gate to simulate an AND-gate by using an extra bit initialized to 0 as the target line: $(A,B,0) \mapsto (A,B,AB)$. Similar embeddings allow you to simulate all the classical logic gates, for a (admittedly wasteful) reversible circuit simulation of a boolean function $f$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The result line then holds $f(x)$ which is used as control line for a Feynman gate (controlled-not) targeting $y$. Following that, clear the extra (ancillary) bits by applying the inverse circuit for $f$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm not sure I would call this question research-level, though.&lt;/p&gt;&#xA;" OwnerUserId="3158" LastActivityDate="2011-02-07T21:35:03.393" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4780" PostTypeId="2" ParentId="4777" CreationDate="2011-02-07T21:56:00.157" Score="12" Body="&lt;p&gt;Sure, there are lots of examples, at least in the spirit of your question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Often one gets such a result from the &lt;a href=&quot;http://en.wikipedia.org/wiki/Probabilistic_method&quot;&gt;probabilistic method&lt;/a&gt;. For example, one paper that I like that runs into the problem is on &lt;a href=&quot;http://hal.archives-ouvertes.fr/docs/00/07/35/17/PDF/RR-3171.pdf&quot;&gt;reconstructing graphs in the additive model&lt;/a&gt;.  Here, the authors show that there exists a set of $O(dn)$ queries that will (optimally) learn the target graph.  Given this set, the algorithm is efficient.  However, they use the probabilistic method to show the existence of this small set (for each problem size) that will work on all inputs, but do not explicitly construct it.  So the best they can do is just a brute-force search through an exponential family of queries because they don't have an explicit construction.&lt;/p&gt;&#xA;" OwnerUserId="123" LastActivityDate="2011-02-07T21:56:00.157" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4781" PostTypeId="2" ParentId="4777" CreationDate="2011-02-07T22:00:59.033" Score="2" Body="&lt;p&gt;No, you can always use &lt;a href=&quot;http://www.hutter1.net/ai/pfastprg.htm&quot; rel=&quot;nofollow&quot;&gt;The fastest and the shortest algorithm for all well-defined problems&lt;/a&gt;. ;)&lt;/p&gt;&#xA;" OwnerUserId="2150" LastActivityDate="2011-02-07T22:00:59.033" CommentCount="9" ContentLicense="CC BY-SA 2.5" />
  <row Id="4783" PostTypeId="2" ParentId="4756" CreationDate="2011-02-07T22:20:02.023" Score="6" Body="&lt;p&gt;I think that the answer is &quot;no&quot;, although I'm not certain and would also be interested in other examples. One thing that is known is that agnostic learning is significantly harder from an information theoretic perspective in the SQ model. Agnostically learning monotone disjunctions to error epsilon requires only $d/\epsilon^2$ examples in the PAC setting (though the task of learning might then be computationally hard...). In the SQ model, there is no agnostic learning algorithm for monotone disjunctions that has a polynomial dependence on $1/\epsilon$ in terms of the number of queries it makes, even ignoring computational considerations.&lt;/p&gt;&#xA;" OwnerUserId="25" LastActivityDate="2011-02-07T22:20:02.023" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4784" PostTypeId="1" CreationDate="2011-02-07T22:23:36.777" Score="27" ViewCount="1194" Body="&lt;p&gt;&lt;strong&gt;Do you know any up-to-date wiki dedicated to NP optimization problems with their best approximation and hardness result?&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Based on the feedback, it seems that it is safe to assume there is not such a resource (see the end of this question for two close options). -- added on Feb 8.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since there is a huge body of results and problems introduced in the past two decades, existence of a dedicated wiki could be a great help for students and professionals working on subject of approximation algorithms and hardness of approximation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have been suggested to start a new wiki. I like the idea, but I need some feedback before starting:&lt;br&gt;&#xA;&lt;strong&gt;Are you interested in a wiki devoted to the above subject and are you going to contribute something? What is your preferred format for this wiki (see my preferred format in comments)? Should we use a wiki farm or a wiki engine? In the latter case, what is your suggestion for a wiki engine? MediaWiki?&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The two closest options that I am aware of, are:&lt;br&gt;&#xA;1- &quot;A compendium of NP optimization problems,&quot; edited by Pierluigi Crescenzi and Viggo Kann: This compendium seems to be out-of-date. I think the volume of current results cannot be managed by a few people and if we want an up-to-date list, we should have a wiki.&lt;br&gt;&#xA;2- Wikipedia: This wiki is for general audience and you cannot have a short page just including problem description, and the best approximation and hardness result.&lt;/p&gt;&#xA;" OwnerUserId="3495" LastEditorUserId="3495" LastEditDate="2011-02-08T19:15:34.433" LastActivityDate="2011-08-25T16:14:22.267" Title="Compendium of the Best Approximation and Hardness Results for NP optimization problems" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;approximation-algorithms&gt;&lt;approximation-hardness&gt;" AnswerCount="4" CommentCount="18" FavoriteCount="11" CommunityOwnedDate="2011-02-08T16:36:19.733" ContentLicense="CC BY-SA 2.5" />
  <row Id="4785" PostTypeId="2" ParentId="4769" CreationDate="2011-02-07T23:51:06.907" Score="37" Body="&lt;p&gt;This is not quite an answer, but it's close. The following is a proof that the problem is NP-hard under randomized reductions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There's an obvious relation to subset sum which is: suppose you know the factors of $N$: $p_1$, $p_2$, $\ldots$, $p_k$. Now, you want to find a subset $S$ of $p_1$ $\ldots$ $p_k$ such that &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\displaystyle \log L \leq \sum_{p_i \in S} \log p_i \leq \log U.$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem with trying to use this idea to show the problem is NP-hard is that if you have a subset-sum problem with numbers $t_1$, $t_2$, $\ldots$, $t_k$,&#xA;you can't necessarily find primes in polynomial time such that $\log p_i \propto t_i$ (where by $\propto$, I mean approximately proportional to). This is a real problem because, since subset-sum is not strongly NP-complete, you need to find these $\log p_i$ for large integers $t_i$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, suppose we require that all the integers $t_1$ $\ldots$ $t_k$ in a subset sum problem are between $x$ and $x(1+1/k)$, and that the sum is approximately $\frac{1}{2}\sum_i t_i$. The subset sum problem will still be NP-complete, and any solution will be the sum of $k/2$ integers. We can change the problem from integers to reals if we let $t&amp;#39;_i$ be between $t_i$ and $t_i+\frac{1}{10k}$, and instead of requiring the sum to be exactly $s$, we require it to be between $s$ and $s + \frac{1}{10}$. We only need to specify our numbers to around $4 \log k$ more bits of precision to do this. Thus, if we start with numbers with $B$ bits, and we can specify real numbers $\log p_i$ to approximately $B + 4 \log k$ bits of precision, we can carry out our reduction.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, from &lt;a href=&quot;http://en.wikipedia.org/wiki/Prime_gap&quot;&gt;wikipedia&lt;/a&gt; (via Hsien-Chih's comment below), the number of primes between $T$ and $T+ T^{5/8}$ is $\theta(T^{5/8}/\log T)$, so if you just choose numbers randomly in that range, and test them for primality, with high probability get a prime in polynomial time. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, let's try the reduction. Let's say our $t_i$ are all $B$ bits long. If we take $T_i$ of length $3B$ bits, then we can find a prime $p_i$ near $T_i$ with $9/8B$ bits of precision. Thus, we can choose $T_i$ so that $\log T_i \propto t_i$ with precision $9/8\, B$ bits. This lets us find $p_i \approx T_i$ so that $\log p_i \propto t_i$ with precision $9/8\,B$ bits. If a subset of these primes multiplies to something close to the target value, a solution exists to the original subset sum problems. So we let $N=\Pi_i p_i$, choose $L$ and $U$ appropriately, and we have a randomized reduction from subset sum.&lt;/p&gt;&#xA;" OwnerUserId="1677" LastEditorUserId="1677" LastEditDate="2011-03-01T21:36:52.267" LastActivityDate="2011-03-01T21:36:52.267" CommentCount="37" ContentLicense="CC BY-SA 2.5" />
  <row Id="4786" PostTypeId="2" ParentId="4777" CreationDate="2011-02-08T00:37:16.553" Score="9" Body="&lt;p&gt;As an example, Shelby Kimmel uses the adversary method in &lt;a href=&quot;http://arxiv.org/abs/1101.0797&quot;&gt;this paper&lt;/a&gt; to show that there has to exist $O(1)$ query algorithm for a certain problem for which we do not know a constant query solution. She does this in a particularly slick way by finding the query complexity of the problem composed with itself $d$ times and then finding the query complexity $Q$ of the composted function, and noting that the query complexity of the original function is order $Q^\frac{1}{d}$.&lt;/p&gt;&#xA;" OwnerUserId="1037" LastActivityDate="2011-02-08T00:37:16.553" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4787" PostTypeId="1" CreationDate="2011-02-08T01:48:05.150" Score="1" ViewCount="698" Body="&lt;p&gt;I am stuck on the following question related to pseudorandom generator and any help would be appreciated.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Let $G:\{0,1\}^k \to \{0,1\}^{k+1}$ be a pseudorandom generator. Define $G&amp;#39;:\{0,1\}^{2k}  \to \{0,1\}^{2k+2}$ by $G&amp;#39;(x_1x_2)=G(x_1)G(x_2)$ where $x_1, x_2 \in \{0,1\}^k$.&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;Prove that $G&amp;#39;$ is not a pseudorandom generator in general.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I don't think it is necessary (and feasible) to find a counter-example $G&amp;#39;$ since it requires us to find a pseudorandom generator $G$, (which means we will have proved the existence of pseudorandom if we can find such $G$) so normally how can we tackle this kind of problem?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thank you very much in advance. :)&lt;/p&gt;&#xA;" OwnerDisplayName="user3690" LastEditorUserId="873" LastEditDate="2011-02-08T03:28:55.757" LastActivityDate="2011-02-08T11:01:25.237" Title="Simple question about pseudorandom generator" Tags="&lt;cc.complexity-theory&gt;&lt;cr.crypto-security&gt;&lt;pseudorandomness&gt;&lt;pseudorandom-generators&gt;" AnswerCount="3" CommentCount="13" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4788" PostTypeId="2" ParentId="4787" CreationDate="2011-02-08T04:19:28.667" Score="0" Body="&lt;p&gt;@Jukka: This is not a homework problem. Recently I have read about pseudorandom generator in a book, and it talks about increasing the expansion factor of a pseudorandom generator. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a pseudorandom generator $G:\{0,1\}^k \to \{0,1\}^{k+1}$, we can construct a pseudorandom generator $G_d:\{0,1\}^k \to \{0,1\}^{k+d}$ by iteratively applying $G$ on the seed to get an extra bit in each iteration.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I wonder whether there is any &quot;trivial&quot; construction that is better than the &quot;extra-bit&quot; construction, and therefore I came across the &quot;construction&quot; in my question. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I believe that the &quot;construction&quot; in the question does not give a pseudorandom generator in general, so I attempt to prove that by myself, but then I realise that the &quot;normal&quot; approach of finding a counterexample does not work in this case. I have no idea how to tackle this problem, so I would like to get some help on solving this problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks.&lt;/p&gt;&#xA;" OwnerDisplayName="user3692" LastActivityDate="2011-02-08T04:19:28.667" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="4789" PostTypeId="2" ParentId="4777" CreationDate="2011-02-08T04:29:51.990" Score="1" Body="&lt;p&gt;&lt;strong&gt;Edit:&lt;/strong&gt; The answer below is regading the existence of solutions to a given computational problem, not on the existence of algorithms. Initially, I misinterpreted the question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Answer&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is a complexity class that captures this kind of computational problems. It is known as &lt;a href=&quot;http://qwiki.stanford.edu/index.php/Complexity_Zoo%3aT#tfnp&quot; rel=&quot;nofollow&quot;&gt;TFNP&lt;/a&gt;. It was defined in this paper:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Nimrod Megiddo and Christos Papadimitriou. &lt;a href=&quot;http://theory.stanford.edu/~megiddo/pdf/papadimX.pdf&quot; rel=&quot;nofollow&quot;&gt;On total functions, existence theorems and computational complexity&lt;/a&gt;. Theoretical Computer Science 81(2):317-324.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here you'll find problems like Trichromatic Triangle, for which the existence of a solution is guaranteed by Sperner's Lemma (see the paper for the definition of this problem).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You also have the following paper:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Christos Papadimitriou. &lt;a href=&quot;http://www.cs.berkeley.edu/~christos/papers/On%20the%20Complexity.pdf&quot; rel=&quot;nofollow&quot;&gt;On the Complexity of the Parity Argument and Other Inefficient Proofs of Existence&lt;/a&gt;. Journal of Computer and Systems Science 48(3), 1990.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In this paper you'll find: &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The $n$-dimensional Sperner's lemma,&#xA;which is a generalization of&#xA;Trichromatic Triangle.&lt;/li&gt;&#xA;&lt;li&gt;Equilibrium of 2-player games.&lt;/li&gt;&#xA;&lt;li&gt;Find a second hamiltonian path on a graph.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The paper has a lot of examples of this type of problems. So I recommend to take a look at it.&lt;/p&gt;&#xA;" OwnerUserId="135" LastEditorUserId="135" LastEditDate="2011-02-09T04:01:20.083" LastActivityDate="2011-02-09T04:01:20.083" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="4790" PostTypeId="2" ParentId="4765" CreationDate="2011-02-08T04:58:15.233" Score="13" Body="&lt;p&gt;Obviously any decision problem that can be reduced to factoring can be solved with a factoring oracle. But since we're given the ability to make multiple queries, I tried to think of a non-trivial problem for which one would want to make multiple queries.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem of computing the Euler totient function seems like such a problem.  I don't know  how to solve the decision version of this problem by a Karp-reduction to the decision version of factoring.  But with Turing reductions, it's easy to reduce this to factoring.&lt;/p&gt;&#xA;" OwnerUserId="206" LastActivityDate="2011-02-08T04:58:15.233" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="4791" PostTypeId="2" ParentId="4757" CreationDate="2011-02-08T06:42:57.327" Score="3" Body="&lt;p&gt;Transform G into a weighted flow network N: connect the source s to all nodes in A by arcs of capacity n/2 and cost 0, connect all nodes in B to the sink t by arcs of capacity n/2 and cost 0, and connect each A-node u to each B-node v by an arc of capacity 1, with cost -1 if (u,v) is in G and 1 otherwise.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The maximum flow in N is n^2/2. Its cost can be written as -|E|+d, for some d &gt;= 0. This d is the minimum edit cost of transforming G into a balanced n/2-regular bipartite graph with partition A,B.&lt;/p&gt;&#xA;" OwnerUserId="1616" LastActivityDate="2011-02-08T06:42:57.327" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="4792" PostTypeId="1" CreationDate="2011-02-08T06:45:00.820" Score="9" ViewCount="522" Body="&lt;p&gt;This is a post separated from &lt;a href=&quot;https://cstheory.stackexchange.com/q/3887/1800&quot;&gt;Consequences of UP equals NP&lt;/a&gt;, and also a follow-up question to &lt;a href=&quot;https://cstheory.stackexchange.com/q/1233/1800&quot;&gt;Semantic vs. Syntactic Complexity Classes&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;In the above post we learned about the &lt;em&gt;semantic&lt;/em&gt; and &lt;em&gt;syntactic&lt;/em&gt; classes. Briefly stated, when a class can be characterized as a &lt;a href=&quot;https://cstheory.stackexchange.com/q/761/1800&quot;&gt;leaf language class&lt;/a&gt; $\mathsf{L}[L_1|L_2]$, then a class is syntactic if $L_1 \cup L_2 = \Sigma^*$, that is, accepting language $L_1$ is the complement of rejecting language $L_2$; otherwise we called it a semantic class.&#xA;One can see that $\mathsf{P}$, $\mathsf{NP}$ and $\mathsf{PP}$ are syntactic classes,&#xA;while classes like $\mathsf{BPP}$ and $\mathsf{IP}$ are semantic classes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Classical result like $\mathsf{PSPACE} = \mathsf{IP}$ and conjecture $\mathsf{P} \stackrel{?}{=} \mathsf{BPP}$ both can be view as semantic classes turns out to have syntactic characterizations. It seems to me that the syntactic classes are easier to handle, since they have natural complete problems. Also techniques like diagonalization is easier to be applied on syntactic classes, since they have a natural machine enumeration. But still $\mathsf{BPP}$ as a semantic class seems to have much more nice properties than the syntactic class $\mathsf{PP}$. &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What benefits do we have if we have a syntactic representation of a semantic class, or vice versa? Are there results or proof techniques only applied to syntactic/semantic classes?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="1800" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2018-03-12T18:17:08.450" Title="Benefits for syntactic and semantic classes" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;big-picture&gt;" AnswerCount="3" CommentCount="4" FavoriteCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="4793" PostTypeId="1" AcceptedAnswerId="4812" CreationDate="2011-02-08T09:59:13.283" Score="7" ViewCount="244" Body="&lt;p&gt;I am looking for a class of boolean functions on $n$ variables with the following property:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;When represented by read twice palindromic ordered bdd (i.e. the order is 1..n n..1) the size of the OBDD is polynomial in $n$&lt;/li&gt;&#xA;&lt;li&gt;Read once polynomial size OBDD doesn't exist for the boolean function.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;I did some experiments with the CUDD package to no success.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any ideas how to find an instance of such function?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(There is a chance such functions don't exist but I would not bet much money on this).&lt;/p&gt;&#xA;" OwnerUserId="2777" LastEditorUserId="567" LastEditDate="2011-02-08T19:15:12.540" LastActivityDate="2011-02-08T23:21:33.240" Title="Boolean function with specific ОBDD representation" Tags="&lt;cc.complexity-theory&gt;&lt;boolean-functions&gt;&lt;binary-decision-diagrams&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4794" PostTypeId="2" ParentId="4787" CreationDate="2011-02-08T10:27:18.430" Score="1" Body="&lt;p&gt;&lt;strike&gt;I've been thinking about this construction for quite some time, and I didn't came up with a counterexample to its security.&lt;/strike&gt; As &lt;a href=&quot;https://cstheory.stackexchange.com/questions/4787/4795#4795&quot;&gt;Kristoffer showed&lt;/a&gt;, your construct is secure.&#xA;However, I wanted to point out that your construction is outperformed by the traditional one (in almost all cases), whereas you claimed:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;I wonder whether there is any &quot;trivial&quot; construction that is better than the &quot;extra-bit&quot; construction, and therefore I came across the &quot;construction&quot; in my question.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Let me elaborate. A pseudorandom generator is a function $G \colon \{0,1\}^n \to \{0,1\}^{\ell(n)}$, where $\ell(\cdot)$ is a &lt;em&gt;stretch function&lt;/em&gt;; that is, $\ell(n) &amp;gt; n$ for all $n$. The function $G$ has to satisfy some security requirements, which I'm neglecting for the moment. (My comments above mention these requirements.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now assume that we have a seed $s$ of size $n$. Applying $G(G(s))$, we stretch this seed to a pseudorandom bit sequence of size $\ell(\ell(n))$, while applying your construct, one gets an output of size $\ell(n/2) + \ell(n/2)$.&lt;strike&gt;, and we don't even know that this output is pseudorandom.&lt;/strike&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Two examples:&lt;/strong&gt; &lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) For you case, $\ell(n) = n + 1$:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The traditional construction output is $(n+1)+1 = n+2$ bits;&lt;/li&gt;&#xA;&lt;li&gt;Your construction output is $(n/2+1)+(n/2+1) = n+2$ bits;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;So the performance are the same.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) On the other hand, for $\ell(n) = 3n$&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The traditional construction output is $3(3n) = 9n$ bits;&lt;/li&gt;&#xA;&lt;li&gt;Your construction output is $(3n/2)+(3n/2) = 3n$ bits;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;And your construction is outperformed.&lt;/p&gt;&#xA;" OwnerUserId="873" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2011-02-08T11:01:25.237" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4795" PostTypeId="2" ParentId="4787" CreationDate="2011-02-08T10:50:04.057" Score="6" Body="&lt;p&gt;I assume you mean a cryptographic PRG.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let's assume on the contrary that the $G&amp;#39;$ is not secure. So let $A$ be a probabilistic Turing machine that distinguishes the output of $G&amp;#39;$ from uniformly random bits.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $x_1,x_2$ be $k$ bit random strings, and let $z_1,z_2$ be $k+1$ bit random strings.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We have that $A$ distinguishes the distribution of strings $D_0 : G(x_1)G(x_2)$ and &#xA;$D_2: z_1z_2$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider now the &lt;em&gt;hybrid&lt;/em&gt; distribution of strings given by $D_1: G(x_1)z_2$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By the triangle inequality $A$ also distinguishes between either $D_0$ and $D_1$ or between $D_1$ and $D_2$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assume without loss of generality that  $A$ distinguishes between $D_0$ and $D_1$.&#xA;Then we can break $G$ as follows. On input $y$, pick uniformly random $k$ bit string $x_1$ and give the string $G(x_1)y$ to $A$.&lt;/p&gt;&#xA;" OwnerUserId="313" LastActivityDate="2011-02-08T10:50:04.057" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4796" PostTypeId="1" CreationDate="2011-02-08T10:55:24.000" Score="9" ViewCount="304" Body="&lt;p&gt;Informally, we say that a Turing machine $M(\cdot)$ &lt;em&gt;approximates&lt;/em&gt; a function $f(\cdot)$ if their outputs on a series of inputs are &lt;em&gt;indistinguishable&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More formally, let $L$ be a language, $M(\cdot)$ be a probabilistic polynomial-time (PPT) Turing machine, and $f(\cdot)$ be a polynomially bounded function: $f \colon \{0,1\}^n \to \{0,1\}^{\text{poly}(n)}$. We say that $M$ approximates $f$ on $L$ if for all families of polynomial-size binary circuits $D = \{D_k\}$, and for all large enough $x \in L$, it holds that the following quantity:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$|\Pr[D_n(M(x))=1] - \Pr[D_n(f(x))=1]|$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;is &lt;em&gt;negligible&lt;/em&gt;, i.e. a positive quantity smaller than the reciprocal of &lt;strong&gt;any&lt;/strong&gt; positive polynomial (For instance, $2^{-n}$ and $n^{-\log n}$ are negligible, but $1 \over 2$ and $n^{-2}$ are not.) Here, $n=|x|$.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Since $D_n$ receives an advice, there are tests which $D_n$ can perform but $M(x)$ cannot. &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;This question seeks the existence of functions which are not approximable in the above sense, but are approximable if $M$ has black-box or code access to $D$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The formalization follows:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assume the following:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;$L$ is a decidable language;&lt;/li&gt;&#xA;&lt;li&gt;$f$ is a polynomially bounded function;&lt;/li&gt;&#xA;&lt;li&gt;$M$ is an oracle PPT Turing machine;&lt;/li&gt;&#xA;&lt;li&gt;$D = \{D_k\}$ is a family of polynomial-size binary circuits.&lt;/li&gt;&#xA;&lt;li&gt;$x \in L$&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;$L$, $f$, $M$, $D$, and $x$ are selected in the given order; so, for example, $D$ may depend on $M$ but &lt;strong&gt;not&lt;/strong&gt; vice versa. Let $n$ denote the size of $x$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $M$ is not explicitly equipped with an oracle, we implicitly assume that there's an oracle which for all queries, returns a special $\perp$ symbol. (Meaning that &quot;I don't know the answer to your query.&quot;)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The question is,&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Does there exist a decidable language $L$, and a poly-bounded function $f$, such that any PPT machine $M&amp;#39;$ fails to approximate $f$ on infinitely many $x\in L$,&#xA;  but there exists some PPT oracle machine $M$ such that for all poly-size circuit $D$, machine $M^{D_n}$ can approximate $f$ on $L$.&#xA;  That is, the following quantity is negligible:&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;$|\Pr[D_n(M^{D_n}(x))=1] - \Pr[D_n(f(x))=1]|$&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Moreover:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What if $M$ was given an encoding of $D_n$ instead of oracle access to it? That is, what if we required that $M(\langle D_n \rangle, \cdot)$ should approximate $f(\cdot)$ on $L$? (here, $\langle D_n \rangle$ denotes the encoding of $D_n$ in some canonical way.) This means that the following quantity is negligible:&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;$|\Pr[D_n(M(\langle D_n \rangle, x)=1] - \Pr[D_n(f(x))=1]|$&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="873" LastEditorUserId="873" LastEditDate="2011-02-10T12:17:58.260" LastActivityDate="2011-02-10T12:17:58.260" Title="Beating Nonuniformity by Oracle Access" Tags="&lt;cc.complexity-theory&gt;&lt;pr.probability&gt;&lt;advice-and-nonuniformity&gt;" AnswerCount="0" CommentCount="12" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4797" PostTypeId="2" ParentId="4519" CreationDate="2011-02-08T13:20:39.957" Score="4" Body="&lt;p&gt;After asking around some more, it seems that the answers to 1) and 2) are both YES. Optimizing the cardinality of a set is possible in LinEMSOL (as mentioned by Martin Lackner); as I have been told, the existence of the cardinality predicates is no problem since they can be efficiently handled by finite-state tree automatons, which should follow (more explicitly than in the originally referenced paper) from &lt;a href=&quot;http://dx.doi.org/10.1016/j.dam.2009.10.018&quot; rel=&quot;nofollow&quot;&gt;On parse trees and Myhill-Nerode-type tools for handling graphs of bounded rank-width&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="122" LastActivityDate="2011-02-08T13:20:39.957" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4798" PostTypeId="1" CreationDate="2011-02-08T10:53:43.033" Score="0" ViewCount="201" Body="&lt;p&gt;Is the AND logic function considered to be a &lt;a href=&quot;http://en.wikipedia.org/wiki/Bent_function&quot; rel=&quot;nofollow&quot;&gt;bent function&lt;/a&gt;? If it is, how could one make a hyper-bent funtion using logic gates? Thank you (two questions in one: very efficient :) )&lt;/p&gt;&#xA;" OwnerDisplayName="owen williams" LastEditorUserId="1800" LastEditDate="2011-02-08T14:02:44.703" LastActivityDate="2011-02-11T18:21:15.060" Title="Bent and hyper-bent functions" Tags="&lt;co.combinatorics&gt;&lt;cr.crypto-security&gt;&lt;boolean-functions&gt;" AnswerCount="1" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="4800" PostTypeId="1" AcceptedAnswerId="4822" CreationDate="2011-02-08T16:36:29.360" Score="20" ViewCount="1123" Body="&lt;p&gt;In &lt;a href=&quot;https://cstheory.stackexchange.com/questions/4769/an-np-complete-variant-of-factoring&quot;&gt;this question&lt;/a&gt;, we appear to have identified a natural problem that is NP-complete under randomized reductions, but possibly not under deterministic reductions (although this depends on which unproven assumptions in number theory are true). Are there any other such problems known? Are there any natural problems that are NP-complete under P/poly reductions, but not known to be under P reductions?&lt;/p&gt;&#xA;" OwnerUserId="1677" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2011-02-24T20:24:46.083" Title="Problems that are NP-complete under randomized or P/poly reductions." Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;&lt;big-list&gt;&lt;randomness&gt;&lt;reductions&gt;" AnswerCount="3" CommentCount="12" FavoriteCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="4803" PostTypeId="2" ParentId="4772" CreationDate="2011-02-08T18:27:27.947" Score="10" Body="&lt;p&gt;This is a variation of the &lt;a href=&quot;http://en.wikipedia.org/wiki/Balance_puzzle&quot;&gt;famous puzzle of finding a counterfeit coin by using the balance&lt;/a&gt;.  But before proceeding to that, first let’s solve the question, because the technique in solving it is also useful to see the connection to the counterfeit coin problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First, suppose that the query sets &lt;i&gt;A&lt;/i&gt; and &lt;i&gt;B&lt;/i&gt; do not have to be from the family &lt;i&gt;F&lt;/i&gt;.  Then you can find the set &lt;i&gt;S&lt;/i&gt; by at most $\binom{n}{2}=O(n^2)$ queries as follows.  Make $\binom{n}{2}$ queries ({&lt;i&gt;a&lt;/i&gt;}, {&lt;i&gt;b&lt;/i&gt;}) for 1≤&lt;i&gt;a&lt;/i&gt;&amp;lt;&lt;i&gt;b&lt;/i&gt;≤&lt;i&gt;n&lt;/i&gt;.  Note that every element &lt;i&gt;i&lt;/i&gt;∈{1,…,&lt;i&gt;n&lt;/i&gt;} is used in &lt;i&gt;n&lt;/i&gt;−1 queries.  If an element &lt;i&gt;i&lt;/i&gt; belongs to &lt;i&gt;S&lt;/i&gt;, then the set {&lt;i&gt;i&lt;/i&gt;} is answered at least when the opponent does not belong to &lt;i&gt;S&lt;/i&gt;, and therefore the set {&lt;i&gt;i&lt;/i&gt;} is answered at least &lt;i&gt;n&lt;/i&gt;−&lt;i&gt;t&lt;/i&gt; times.  If an element &lt;i&gt;i&lt;/i&gt; does not belong to &lt;i&gt;S&lt;/i&gt;, then the set {&lt;i&gt;i&lt;/i&gt;} cannot be answered if the opponent belongs to &lt;i&gt;S&lt;/i&gt;, and therefore the set {&lt;i&gt;i&lt;/i&gt;} is answered at most &lt;i&gt;n&lt;/i&gt;−&lt;i&gt;t&lt;/i&gt;−1 times.  Therefore, counting how many times each set is answered, we can determine the whole set &lt;i&gt;S&lt;/i&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This requires query sets not from the family &lt;i&gt;F&lt;/i&gt;, which is not allowed in the problem.  But we can work around this by adding the same &lt;i&gt;t&lt;/i&gt;−1 elements to both sides.  For example, instead of making the query ({1}, {2}), we can make the query ({1,3,4,…,&lt;i&gt;t&lt;/i&gt;+1}, {2,3,4,…,&lt;i&gt;t&lt;/i&gt;+1}).  Therefore, the problem can be solved by O(&lt;i&gt;n&lt;/i&gt;&lt;sup&gt;2&lt;/sup&gt;) queries.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now fun part begins.  Consider &lt;i&gt;n&lt;/i&gt; coins labeled 1,…,&lt;i&gt;n&lt;/i&gt;, and &lt;i&gt;t&lt;/i&gt; of them are counterfeits and slightly heavier than the real coins.  All the counterfeit coins have the same weights.  You have to find the set &lt;i&gt;S&lt;/i&gt; of the labels of the &lt;i&gt;t&lt;/i&gt; counterfeit coins by using a balance only poly(&lt;i&gt;n&lt;/i&gt;) times.  Every time you use a balance, you can put at most min{&lt;i&gt;t&lt;/i&gt;, &lt;i&gt;n&lt;/i&gt;−&lt;i&gt;t&lt;/i&gt;} coins to each side of the balance.  The balance is slightly inaccurate in the sense that if the two sides have the same weight, either side can go down (adversarially).  As I hope that you can see by now, this is exactly the same problem as the question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Edit&lt;/em&gt;: Revision 4 and earlier had one error or another (oops) in the precise connection to the counterfeit coin puzzle.&lt;/p&gt;&#xA;" OwnerUserId="567" LastEditorUserId="567" LastEditDate="2011-02-08T19:54:26.920" LastActivityDate="2011-02-08T19:54:26.920" CommentCount="16" ContentLicense="CC BY-SA 2.5" />
  <row Id="4804" PostTypeId="2" ParentId="4793" CreationDate="2011-02-08T20:16:50.840" Score="5" Body="&lt;p&gt;Fix $k=\log n$ and define the following function on $n$ bits: take the first $k^2$ bits and view them as $k$ numbers in the range $1..2^k$: $p_1 ... p_k$.  Now take the $p_1$'st bit, $p_2$'nd bit ... $p_k$'th bits of the input and view them as a $k$ bit number $p$.  The output is the value of the $p$'th bit of the input.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A palindromic OBDD of size $exp(k^2)$ can solve it by first reading and remembering  $p_1 ... p_k$, then reading these $k$ bits, on the first pass, and remembering $p$ and then reading the $p$'th bit on the 2nd pass.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Look at a single pass OBDD and let us restrict the function by dictating that $p_1 ... p_k$ will be equal to the last $k$ indices of the input, and thus $p$ is specified by the last $k$ bits of the input.  It is easy to see that $\Omega(n)$ bits need to be remembered about the first $n-k^2-k$ non-restricted bits of the input in order for the value of the $p$'th bit to be recovered (this is the Index function in communication complexity -- see example 4.18 in &lt;a href=&quot;http://books.google.com/books?id=9A_9Jcs1ZJQC&amp;amp;printsec=frontcover&amp;amp;dq=kushilevitz+nisan&amp;amp;source=bl&amp;amp;ots=XmYaji8mG2&amp;amp;sig=wa2l1nog3LsW5-Y73mYe-sDxYEM&amp;amp;hl=en&amp;amp;ei=e6NRTd70Jo6z8QOq_62jCw&amp;amp;sa=X&amp;amp;oi=book_result&amp;amp;ct=result&amp;amp;resnum=3&amp;amp;ved=0CCgQ6AEwAg#v=onepage&amp;amp;q&amp;amp;f=false&quot; rel=&quot;nofollow&quot;&gt;Communication Complexity book&lt;/a&gt;, page 49).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This gives a gap $n^{\log n}$ vs. $exp(n)$ -- to get poly vs non-poly just use $N=n^{\log n}$ bits and ignore all but the first $n$.&lt;/p&gt;&#xA;" OwnerUserId="42" LastEditorUserId="186" LastEditDate="2011-02-08T23:11:50.063" LastActivityDate="2011-02-08T23:11:50.063" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="4805" PostTypeId="1" CreationDate="2011-02-08T20:25:20.867" Score="4" ViewCount="129" Body="&lt;p&gt;Let $n$ and $k \le n/2$ be positive integers, and consider a family $\mathcal{F}$ of $k\times k$ sub-matrices of an $n\times n$ matrix such that every two elements of $\mathcal{F}$ intersect. What &lt;b&gt;non-trivial&lt;/b&gt; (I know I'm already annoying people by this term) properties of $\mathcal{F}$ one could claim? (in particular related to its cardinality). &lt;/p&gt;&#xA;" OwnerUserId="2471" LastEditorUserId="1800" LastEditDate="2011-02-09T02:00:36.053" LastActivityDate="2011-02-09T03:56:37.063" Title="On the properties of a family of submatrices" Tags="&lt;co.combinatorics&gt;&lt;matrices&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="4806" PostTypeId="1" CreationDate="2011-02-08T20:38:44.720" Score="27" ViewCount="1735" Body="&lt;p&gt;I'm sorry if this question is a little vague, but I am curious how successful researchers get a &quot;feel&quot; for the results in TCS.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, linear algebra can be understood geometrically, or in terms of its physical interpretations (eigenvectors can be thought of as &quot;stable points&quot; in a system), etc. It's also intuitive that there exists an IP protocol for TQBF (as the IP protocol can be visualized as a kind of a &quot;game&quot; between two entities of greatly differing computational power). However, I find that a lot of the results, even extremely basic ones in TCS do not have such simple intuitions (MA $\subseteq$ AM). Worse still, occasionally, unrefined intuitions go awfully wary (2-SAT is in P while 3-SAT is not believed to be in P (in fact, is NP-complete)). Are there any &quot;general principles&quot; for developing an intuition in TCS? &lt;/p&gt;&#xA;" OwnerUserId="1892" LastEditorUserId="1800" LastEditDate="2011-02-09T01:20:09.770" LastActivityDate="2012-03-31T03:25:20.210" Title="How do you get a &quot;Physical Intuition&quot; for results in TCS?" Tags="&lt;soft-question&gt;&lt;intuition&gt;" AnswerCount="6" CommentCount="6" FavoriteCount="23" ContentLicense="CC BY-SA 2.5" />
  <row Id="4807" PostTypeId="2" ParentId="4806" CreationDate="2011-02-08T21:33:18.157" Score="16" Body="&lt;p&gt;Since you count games as an example of “physical intuition” while I cannot see anything related to physics in games, I assume that your emphasis is not on “physical” but on “intuition.”&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I argue that part of the purpose of study (education or research) in theoretical computer science &lt;em&gt;is&lt;/em&gt; to develop the intuition for the abstract notions related to computation.  Intuition is acquired by studying and getting familiar with the concept.  I do not expect that there is a nice shortcut.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, undergraduate students will be surprised by undecidability of halting problem (probably because the mere existence of an undecidable language is already surprising).  But learning the fact, its proof, some related results and the wide applicability of the proof technique makes this surprising result less surprising and in fact very natural.  I believe that the same is true for more complicated results.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As for the specific result, I do not agree that there is no simple intuition for MA⊆AM.  (Warning: I am currently studying this and related results myself, and I may say something incorrect.)  In an MA system, Merlin has to give a single answer which fits most of the random sequences used by Arthur.  We change the system so that Arthur sends several (polynomially many) random sequences to Merlin and Merlin has to give a single answer which fits all of them, which seems to me like a natural thing to try.  Proving the soundness of this AM system is a simple application of the Chernoff bound.  I do not think that anything in this result is conceptually difficult to understand.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Marginally related: Your question reminded me of a beautiful blog post “&lt;a href=&quot;http://byorgey.wordpress.com/2009/01/12/abstraction-intuition-and-the-monad-tutorial-fallacy/&quot; rel=&quot;nofollow&quot;&gt;Abstraction, intuition, and the ‘monad tutorial fallacy’&lt;/a&gt;” by Brent Yorgey, where he explained the difficulty of communicating the intuition by a fictional non-explanation “Monads are Burritos.”  If the above explanation of how the proof of MA⊆AM works does not make any sense, I might be demonstrating the same fallacy. :(&lt;/p&gt;&#xA;" OwnerUserId="567" LastEditorUserId="567" LastEditDate="2011-02-08T22:01:40.770" LastActivityDate="2011-02-08T22:01:40.770" CommentCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="4808" PostTypeId="2" ParentId="4806" CreationDate="2011-02-08T21:36:02.457" Score="17" Body="&lt;p&gt;Be careful about intuition. It comes with a great deal of experience, can often be wrong and right at the same time, and is not unique. The point is that everyone brings their own intuition to problems based on their own comfort zones, the needs of the problem, and their background. As Tsuyoshi points out, intuition is really a lot of hard work that's been sublimated into a few concise mental images. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;So my suggestion would be: just work on problems you enjoy, and try to develop your own ideas even if there's other work out there. You'll build intuition that way. And if a result seems puzzling, it either means you haven't quite understood it yet, or maybe there's a simpler result lurking somewhere beneath, waiting to be uncovered. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2011-02-08T21:36:02.457" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4809" PostTypeId="1" CreationDate="2011-02-08T22:46:38.933" Score="6" ViewCount="267" Body="&lt;h2&gt;Motivation&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;Imagine a huffman compressed file that gets downloaded partially, like in P2P software, so we allocate disk space for the whole file first and then start downloading random file chunks. One of the huffman codes (but we don't know which) is an end code, so if this code is decoded, we stop. Assuming the file consists of several huffman compressed streams, we can try to decompress some of them before the download finished.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The way the disk space is preallocated is important now: Let's assume we have the start of a huffman stream, but it isn't complete, so we run into the preallocated disk space. Usually, this space is all 0, so we'd keep decoding symbols with huffman code &lt;code&gt;00..&lt;/code&gt;. If this isn't our end code, we don't notice the &quot;invalid&quot; data and f.e. if there's 2 GB of preallocated space, we're doing much useless decoding.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So we'd like to preallocate the space in a way to make decoding stop as soon as possible.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;The question&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;I'm looking for the shortest bitstring that acts as a &quot;Huffman terminator&quot;, meaning if we decode this string, we'll decode every Huffman code at least once, so we'll definitely receive an end code. This should work for every combination of Huffman codes of length &lt;code&gt;1..n&lt;/code&gt; bits.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note: I know there are simple solutions to the hypothetical scenario above (using &lt;code&gt;00..&lt;/code&gt; as an end code, using P2P segment data to detect chunks not downloaded yet), but this is just an example scenario to show a theoretical use of a &quot;Huffman terminator&quot; bitstring, I'm not interested in solving this scenario, but looking for algorithms/ways/ideas to generate/find bitstrings that act as &quot;Huffman terminator&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I've asked the same question on &lt;a href=&quot;https://stackoverflow.com/questions/4938930/huffman-terminator-bitstring&quot;&gt;Stack Overflow&lt;/a&gt;, but decided to post it here, too, because it's a very theoretical question and most likely won't have many real world applications.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Example&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;Let's look at the possible Huffman code combinations for &lt;code&gt;n = 2&lt;/code&gt;: &lt;code&gt;[0, 1]&lt;/code&gt;, &lt;code&gt;[00, 01, 1]&lt;/code&gt;, &lt;code&gt;[0, 10, 11]&lt;/code&gt;, &lt;code&gt;[00, 01, 10, 11]&lt;/code&gt;. Now let's start with a bitstring that contains every possible bit sequence of length &lt;code&gt;1..n&lt;/code&gt; (&lt;code&gt;0&lt;/code&gt;, &lt;code&gt;1&lt;/code&gt;, &lt;code&gt;00&lt;/code&gt;, &lt;code&gt;01&lt;/code&gt;, &lt;code&gt;10&lt;/code&gt;, &lt;code&gt;11&lt;/code&gt;):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;code&gt;001011&lt;/code&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Decoding with the different Huffman code combinations gives (huffman codes are assigned to symbols &lt;code&gt;A..D&lt;/code&gt;):&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;Combination   Decoded symbols&#xA;[0, 1]        AABABB&#xA;[00,01,1]     ACBC&#xA;[0,10,11]     AABC&#xA;[00,01,10,11] ACD&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;This is a good start and it already decodes every Huffman code for the first three ones, but if we decode it with &lt;code&gt;[00, 01, 10, 11]&lt;/code&gt;, we're missing symbol &lt;code&gt;B&lt;/code&gt; (Huffman code &lt;code&gt;01&lt;/code&gt;). So let's just append this to our bitstring:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;code&gt;00101101&lt;/code&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is a valid &quot;Huffman terminator&quot; for &lt;code&gt;n=2&lt;/code&gt;, 8 bits in length. If we'd preallocate our disk space with this byte, we'd be sure to terminate all huffman codes that won't exceed 2 bits. We even know there won't be shorter terminator strings for &lt;code&gt;n=2&lt;/code&gt; because it's the minimal length for the combination &lt;code&gt;[00, 01, 10, 11]&lt;/code&gt; to decode each symbol once.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I also found a &quot;Huffman terminator&quot; for &lt;code&gt;n=3&lt;/code&gt;, &lt;code&gt;0001011001110100111010011100010101111101110&lt;/code&gt; (43 bits), but I'm not 100% sure if it's correct and I don't know if it's the shortest one.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;What I'm looking for&lt;/h2&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Algorithms/ideas to find or generate Huffman terminators for a given &lt;code&gt;n&lt;/code&gt;. My attempt would be similar to the example: generating a start string and appending bits as needed to satisfy all different Huffman code combinations. But I'm sure there are better ways.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Specific Huffman terminators, &lt;code&gt;n=8&lt;/code&gt; and &lt;code&gt;n=16&lt;/code&gt;, although it might be computational expensive to generate them and they will perhaps be very long.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Papers/links about this problem (or similar ones) if there are any.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;h2&gt;Bonus&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;Bonus points for finding &quot;Huffman terminators&quot; that also work if we start at bit position &lt;code&gt;1..n&lt;/code&gt;, so it even terminates if data was decoded before and we won't arrive and start a new huffman code at the first bit.&lt;/p&gt;&#xA;" OwnerUserId="3710" LastEditorUserId="-1" LastEditDate="2017-05-23T12:40:09.333" LastActivityDate="2011-02-08T23:25:08.137" Title="Huffman &quot;terminator&quot; bitstring" Tags="&lt;ds.algorithms&gt;&lt;coding-theory&gt;" AnswerCount="0" CommentCount="7" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4811" PostTypeId="2" ParentId="4806" CreationDate="2011-02-08T22:58:53.017" Score="12" Body="&lt;p&gt;If you spend five years of your life by studying a purely theoretical concept X (e.g., a certain esoteric model of computation), then eventually X becomes a natural part of your daily life.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You will learn to know how X behaves, what it feels like, how it responds to your manipulations, and in what kind of neighbourhood it lives. You will learn who discovered it, when, and why, and what others have done with X, successfully or unsuccessfully. You will know X just like you know any physical object that you encounter every day.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Indeed, you may know it much &lt;em&gt;better&lt;/em&gt; than those strange, ill-defined, unpredictable, and erratic physical things... But it is a &lt;em&gt;long&lt;/em&gt; way, and I don't think there are that many magic shortcuts.&lt;/p&gt;&#xA;" OwnerUserId="74" LastActivityDate="2011-02-08T22:58:53.017" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4812" PostTypeId="2" ParentId="4793" CreationDate="2011-02-08T23:21:33.240" Score="5" Body="&lt;p&gt;I think all pointer functions are hard for OBDDs and easy for a 2-OBDD. Example for such pointer functions are &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The hidden weighted bit function $HWB_n(x) = x_{sum}$ with $sum = x_1 + \ldots +x_n$ and $x_0 := 0$&lt;/li&gt;&#xA;&lt;li&gt;The indirect storage access (similar to the function in Noam's answer) $ISA_n$ with $n = 2^k$. Input is $(x,y)$ with $x \in \lbrace 0,1 \rbrace^n$ and $k \in \lbrace 0,1 \rbrace^k$. Let $\vert y \vert$ the integer represented by the binary number $y$. Then the input $y$ gives a part $x_{\vert y \vert},\ldots,x_{\vert y \vert +k-1}$ of the input $x$ (indices are taken mod $n$). Let $a$ be the integer represented by this part. The output of $ISA_n(x,y)$ is $x_a$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;It is known that for these function the OBDD size is exponential (see e.g. &lt;a href=&quot;http://books.google.de/books?id=-DZjVz9E4f8C&amp;amp;lpg=PP1&amp;amp;ots=WjOh0KA2Jv&amp;amp;dq=wegener%20binary%20decision%20diagram&amp;amp;pg=PP1#v=onepage&amp;amp;q&amp;amp;f=false&quot;&gt;Branching Programs and Binary Decision Diagrams&lt;/a&gt;). But there is a polynomial 2-OBDD for these functions by parsing the address in the first phase and reading the relevant data in the second.&lt;/p&gt;&#xA;" OwnerUserId="2517" LastActivityDate="2011-02-08T23:21:33.240" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4813" PostTypeId="2" ParentId="4806" CreationDate="2011-02-09T01:00:54.213" Score="48" Body="&lt;p&gt;Like many scientific fields, it can take years to build intuition, but it can take only one new idea to tear that intuition down (and hopefully something nice gets rebuilt in its place).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are some basic exercises you can use to try to build intuition for some paper you're reading and can't seem to penetrate. Here's one that I still do from time to time. Start with a proof that you don't understand but would really like to, which is very long. As you read each paragraph of the proof, try to write a sentence &lt;strong&gt;in your own words&lt;/strong&gt; about what you think the paragraph is saying, in the margins. Hopefully the proof is written well enough that there are well-defined &quot;parts&quot; to the proof (&quot;do X, then define a new function f, then apply X to f, ...&quot;). If not, then from your sentences, separate the proof into your own parts. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now for each part, try to write a sentence (in your own words) about what each part is doing. At this point, it could be that you find your earlier sentences are not quite accurate or don't fit well together (your intuition was &quot;off&quot;), so you may refine them so they fit logically together. Now you have a few sentences summarizing the whole proof. Then (now this last part is from my advisor, Manuel Blum) try to think of &lt;strong&gt;one word or phrase&lt;/strong&gt; for the whole thing. This phrase would be the key idea that, in your mind, is what gets the whole argument started. (For example, most existence proofs via the probabilistic method can be summed up by: &quot;PICK RANDOM&quot;. In the case of $MA \subseteq AM$, I would say something like &quot;MAKE ARTHUR SPEAK MORE&quot;. But maybe something else in the proof feels to be the &quot;key&quot; idea to you, which is perfectly fine. It's &lt;em&gt;your&lt;/em&gt; intuition!) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I guess my suggestion may be useful for most mathematics, but I found it very useful for TCS, where many proofs really do boil down to 1-2 really new ideas, and the rest is a synthesis of that idea with what was already known.&lt;/p&gt;&#xA;" OwnerUserId="225" LastActivityDate="2011-02-09T01:00:54.213" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="4814" PostTypeId="2" ParentId="4806" CreationDate="2011-02-09T01:41:54.307" Score="12" Body="&lt;p&gt;The answers here already cover most of the nice suggestions about intuition. Still I would give it one more, which is usful when developing intuitions during paper writing. This is suggested by my own teacher, Hsueh-I Lu, which I found it very useful.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Whenever a result is written down, and the correctness seems to be verified, &lt;strong&gt;rewrite the whole article&lt;/strong&gt;. This time we have to enforce ourselves &lt;em&gt;not&lt;/em&gt; to use any words or definitions similar to the previous versions. This makes us think in a completely new different way, and new intuitions will develop. Also, &lt;strong&gt;perturb every parameters&lt;/strong&gt; used in the paper, see if any set of parameters differ from the one we used originally works still.&#xA;Often some mistakes exposed when rewriting the article. Come up with new ideas to overcome them.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, after rounds of rewriting, we will have a nice round intuition about our own result, and we won't be too optimistic/pessimistic to the power of the new ideas presented in the paper, since we're tried for a couple of times, and it is clear that what is working and what is not.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The same method works if you are reading a new paper, and wants to get some more intuitions other than the one given by reading.&lt;/p&gt;&#xA;" OwnerUserId="1800" LastActivityDate="2011-02-09T01:41:54.307" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4816" PostTypeId="1" AcceptedAnswerId="4824" CreationDate="2011-02-09T03:34:44.753" Score="38" ViewCount="3494" Body="&lt;p&gt;This question is inspired by a &lt;a href=&quot;https://mathoverflow.net/questions/54818/consistency-strength-needed-for-applied-mathematics&quot;&gt;similar question&lt;/a&gt; about applied mathematics on mathoverflow, and that nagging thought that important questions of TCS such as P vs. NP might be independent of ZFC (or other systems). As a little background, &lt;a href=&quot;http://en.wikipedia.org/wiki/Reverse_mathematics&quot; rel=&quot;noreferrer&quot;&gt;reverse mathematics&lt;/a&gt; is the project of finding the axioms necessary to prove certain important theorems. In other words, we start at a set of theorems we expect to be true and try to derive the minimal set of 'natural' axioms that make them so. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I was wondering if the reverse mathematics approach has been applied to any important theorems of TCS. In particular to complexity theory. With deadlock on many open questions in TCS it seems natural to ask &quot;what axioms have we not tried using?&quot;. Alternatively, have any important questions in TCS been shown to be independent of certain simple subsystems of second-order arithmetic?&lt;/p&gt;&#xA;" OwnerUserId="1037" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2011-02-09T18:16:13.210" Title="Axioms necessary for theoretical computer science" Tags="&lt;cc.complexity-theory&gt;&lt;lo.logic&gt;&lt;proof-complexity&gt;" AnswerCount="2" CommentCount="7" FavoriteCount="19" ContentLicense="CC BY-SA 2.5" />
  <row Id="4817" PostTypeId="2" ParentId="4805" CreationDate="2011-02-09T03:56:37.063" Score="2" Body="&lt;p&gt;As @Steven Stadnicki points out in his comment, acording to your question, the contents of the matrices are not important here, but the number $k$ and $n$. Therefore, you can look at $\mathcal{F}$ as a family of intersecting $k$-subsets of $\{1,\dots,n\}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can derive properties from something called a &lt;em&gt;Sunflower&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Definition:&lt;/strong&gt; A sunflower with $m$ petals and a core $Y$ is a collection of sets $S_1,\dots,S_m$ such that $S_i\cap S_j=Y$ for all $i\neq j$. Moreover, the sets $S_i\setminus Y\neq \emptyset$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Sunflower Lemma:&lt;/strong&gt; Let $\mathcal{F}$ be a family of sets each of cardinality $k$. If $|\mathcal{F}|&amp;gt;k!(k-1)^k$ then $\mathcal{F}$ contains a sunflower with $k$ petals.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can make relaxations to the sunflower, like the petals not being intersected by a set of size smaller than $c$. In this case we have the following lemma.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Lemma:&lt;/strong&gt; Let $\mathcal{F}$ be a family of sets each of cardinality $k$. If $|\mathcal{F}| &amp;gt; (c-1)^k$ then $\mathcal{F}$ contains a flower with $k$ petals.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are more properties that you can look for in the book:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://books.google.com/books?id=g6X2VWuB8qIC&amp;amp;printsec=frontcover&amp;amp;dq=extremal+combinatorics&amp;amp;hl=es&amp;amp;ei=YA9STeKsJIagvQPmqp2vCQ&amp;amp;sa=X&amp;amp;oi=book_result&amp;amp;ct=result&amp;amp;resnum=1&amp;amp;ved=0CCgQ6AEwAA#v=onepage&amp;amp;q&amp;amp;f=false&quot; rel=&quot;nofollow&quot;&gt;Extremal Combinatorics with Applications to Computer Science&lt;/a&gt; by Stasys Jukna.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The definitions and lemmas above are from chapter 7. Take a look at the excercises, and maybe also chapter 8 on Intersecting Families.&lt;/p&gt;&#xA;" OwnerUserId="135" LastActivityDate="2011-02-09T03:56:37.063" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4820" PostTypeId="2" ParentId="4800" CreationDate="2011-02-09T07:08:42.437" Score="12" Body="&lt;p&gt;As suggested by Peter, I converted my comment into an answer. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Valiant-Vazirani Theorem states that if Unique SAT $\in P$ then $NP=RP$. To prove their theorem they showed that the promise problem Unique SAT is $NP$-hard under randomized reductions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] Valiant, Leslie; Vazirani, Vijay. &quot;NP is as easy as detecting unique solutions&quot;, Theoretical Computer Science, 47: 85–93&lt;/p&gt;&#xA;" OwnerUserId="495" LastActivityDate="2011-02-09T07:08:42.437" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4821" PostTypeId="2" ParentId="4816" CreationDate="2011-02-09T09:31:45.110" Score="21" Body="&lt;p&gt;As a positive answer to your final question, normalization proofs of polymorphic lambda calculi such as the calculus of constructions require at least higher-order arithmetic, and stronger systems (such as the calculus of inductive constructions) are equiconsistent with ZFC plus countably many inaccessibles. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;As a negative answer to your final question, Ben-David and Halevi have shown that if $P \not= NP$ is independent of $PA_1$, Peano arithmetic extended with axioms for all universal arithmetic truths, then there is an almost polynomial algorithm $DTIME(n^{\log^{*}(n)})$ for SAT. Furthermore, there are presently no known ways to generate sentences which are independent of $PA$ but not $PA_1$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;More philosophically, do not make the mistake of equating consistency strength with the strength of an abstraction. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The correct way to organize a subject may involve apparently wild set-theoretic principles, even though they may not be strictly necessary in terms of consistency strength. For example, strong collection principles are very useful for stating uniformity properties -- e.g., category theorists end up wanting weak large cardinal axioms to manipulate things like category of all groups as if they were objects. The most famous example is algebraic geometry, whose development makes extensive use of Grothendieck universes, but all of whose applications (such as Fermat's Last Theorem) apparently lie within third-order arithmetic. As a much more trivial example, note that the generic identity and composition operations are not functions, since they are indexed over the whole universe of sets.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, sometimes the relationship between consistency strength and abstractness goes in the opposite direction. Consider the relationship between measures and motivic measures. Measures are defined on families of subsets ($\sigma$-algebras) over a set $X$, whereas motivic measures are defined directly on formulas interpreted in $X$. So even though motivic measure generalizes measure, the set-theoretic complexity goes &lt;em&gt;down&lt;/em&gt;, since one use of powerset goes away.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT: Logical system A has greater consistency strength than system B, if the consistency of A implies the consistency of B. For example, ZFC has greater consistency strength than Peano arithmetic, since you can prove the consistency of PA in ZFC. A and B have the same consistency strength if they are equiconsistent. As an example, Peano arithmetic is consistent if and only if Heyting (constructive) arithmetic is. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;IMO, one of the most amazing facts about logic is that consistency strength boils down to the question &quot;what is the fastest-growing function you can prove total in this logic?&quot; As a result, the consistency of many classes of logics can be linearly ordered! If you have an ordinal notation capable of describing the fastest growing functions your two logics can show total, then you know by trichotomy that either one can prove the consistency of the other, or they are equiconsistent.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But this astonishing fact is also why consistency strength is not the right tool for talking about mathematical abstractions. It is an invariant of a system including coding tricks, and a good abstraction lets you express an idea &lt;em&gt;without&lt;/em&gt; tricks. However, we do not know enough about logic to express this idea formally. &lt;/p&gt;&#xA;" OwnerUserId="657" LastEditorUserId="657" LastEditDate="2011-02-09T18:16:13.210" LastActivityDate="2011-02-09T18:16:13.210" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="4822" PostTypeId="2" ParentId="4800" CreationDate="2011-02-09T10:07:01.953" Score="10" Body="&lt;p&gt;Under randomized reduction with probability $\frac{1}{2}$ (known also as &lt;a href=&quot;http://scholar.google.com/scholar?hl=en&amp;amp;q=%22gamma-reducibility%22&amp;amp;btnG=Search&amp;amp;as_sdt=1,5&amp;amp;as_ylo=&amp;amp;as_vis=0&quot;&gt;$\gamma$-reducibility&lt;/a&gt;, on the discussion of randomized reductions see &quot;&lt;a href=&quot;http://scholar.google.com/scholar?q=%22On%20unique%20satisfiability%20and%20randomized%20reductions%22&amp;amp;um=1&amp;amp;ie=UTF-8&amp;amp;sa=N&amp;amp;hl=en&amp;amp;tab=ws&quot;&gt;On Unique Satisfiability and Randomized Reductions&lt;/a&gt;&quot;) problems&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://books.google.com/books?id=JogZAQAAIAAJ&amp;amp;q=%22linear+divisibility%22&amp;amp;dq=%22linear+divisibility%22&amp;amp;hl=en&amp;amp;ei=oVtSTYGlFIy28QPf9YmjCw&amp;amp;sa=X&amp;amp;oi=book_result&amp;amp;ct=result&amp;amp;resnum=22&amp;amp;ved=0CIcBEOgBMBU&quot;&gt;Linear divisibility&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Binary quadratic diophantine equations&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;are NP-complete, but the same is not known for deterministic reductions (as far as I know, for slightly out-dated discussion of this situation see &lt;a href=&quot;http://books.google.com/books?id=-X39_rA3VSQC&amp;amp;pg=PA90&amp;amp;dq=%22linear+divisibility%22&amp;amp;hl=en&amp;amp;ei=oVtSTYGlFIy28QPf9YmjCw&amp;amp;sa=X&amp;amp;oi=book_result&amp;amp;ct=result&amp;amp;resnum=11&amp;amp;ved=0CFQQ6AEwCg#v=onepage&amp;amp;q=%22linear%20divisibility%22&amp;amp;f=false&quot;&gt;here&lt;/a&gt;). $\gamma$-reducibility was introduced in the paper &quot;&lt;a href=&quot;http://scholar.google.com/scholar?q=%22reducibility,+randomness,+and+intractibility%22+&amp;amp;hl=en&amp;amp;btnG=Search&amp;amp;as_sdt=1,5&quot;&gt;Reducibility, randomness, and intractibility&lt;/a&gt;&quot; by Leonard  Adleman and Kenneth Manders (proofs for the problems above were proposed also there).  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are other such examples in &quot;&lt;a href=&quot;http://scholar.google.com/scholar?q=%22A%20Catalog%20of%20Complexity%20Classes%22&amp;amp;um=1&amp;amp;ie=UTF-8&amp;amp;sa=N&amp;amp;hl=en&amp;amp;tab=ws&quot;&gt;A Catalog of Complexity Classes&lt;/a&gt;&quot;, but I haven't checked what is known about their NP-completeness under deterministic reductions.&lt;/p&gt;&#xA;" OwnerUserId="1060" LastEditorUserId="1060" LastEditDate="2011-02-09T10:12:54.210" LastActivityDate="2011-02-09T10:12:54.210" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4823" PostTypeId="2" ParentId="194" CreationDate="2011-02-09T10:15:23.693" Score="7" Body="&lt;p&gt;It seems that this paper     &lt;a href=&quot;http://arxiv.org/abs/1010.3263&quot;&gt;http://arxiv.org/abs/1010.3263&lt;/a&gt;  may be relevant to your question. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The abstract states:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The state complexity of a regular language is the number of states in the minimal deterministic automaton accepting the language. The syntactic complexity of a regular language is the cardinality of its syntactic semigroup. The syntactic complexity of a subclass of regular languages is the worst-case syntactic complexity taken as a function of the state complexity $n$ of languages in that class. We study the syntactic complexity of the class of regular ideal languages and their complements, the closed languages. We prove that $n^{n-1}$ is a tight upper bound on the complexity of right ideals and prefix-closed languages, and that there exist left ideals and suffix-closed languages of syntactic complexity $n^{n-1}+n-1$, and two-sided ideals and factor-closed languages of syntactic complexity $n^{n-2}+(n-2)2^{n-2}+1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thus, as far as I understand, this  answers your question about the sizes of syntactic and Myhill-Nerode semigroup: in general, syntactic congruence may have exponentially many classes than Myhill-Nerode relation. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The last comment. Usually the finitness of both semigroups for regular languages is attributed to M.Rabin and D.Scott (Finite automata and their decision problems. IBM Jourmal. April 1959). In particular, it follows from the text of Rabin and Scott that the number of syntactic classes does not exceed $n^n$, where $n$ is the number of Myhill-Nerode classes.&lt;/p&gt;&#xA;" OwnerUserId="2348" LastEditorUserId="2348" LastEditDate="2011-02-09T15:01:34.700" LastActivityDate="2011-02-09T15:01:34.700" CommentCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="4824" PostTypeId="2" ParentId="4816" CreationDate="2011-02-09T12:57:07.663" Score="24" Body="&lt;p&gt;Yes, the topic has been studied in proof complexity. It is called &lt;em&gt;Bounded Reverse Mathematics&lt;/em&gt;. You can find a table containing some reverse mathematics results on page 8 of Cook and Nguyen's book, &quot;&lt;a href=&quot;http://www.cs.toronto.edu/~sacook/homepage/book&quot;&gt;Logical Foundations of Proof Complexity&lt;/a&gt;&quot;,  2010. Some of Steve Cook's previous students have worked on similar topics, e.g. Nguyen's thesis, &quot;&lt;a href=&quot;http://www.cs.toronto.edu/~pnguyen/studies/thesis.pdf&quot;&gt;Bounded Reverse Mathematics&lt;/a&gt;&quot;, University of Toronto, 2008.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Alexander Razborov (also other proof complexity theorists) has some results on the weak theories needed to formalize the circuit complexity techniques and prove circuit complexity lowerbounds. He obtains some unprovability results for weak theories, but the theories are considered too weak.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;All of these results are provable in $RCA_0$ (Simpson's base theory for Reverse Mathematics), so AFAIK we don't have independence results from strong theories (and in fact such independence results would have strong consequences as Neel has mentioned, see Ben-David's work (and related results) on independence of $\mathbf{P} vs. \mathbf{NP}$ from $PA_1$ where $PA_1$ is an extension of $PA$).&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2011-02-09T16:43:00.903" LastActivityDate="2011-02-09T16:43:00.903" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="4825" PostTypeId="1" AcceptedAnswerId="4831" CreationDate="2011-02-09T14:39:16.000" Score="15" ViewCount="2352" Body="&lt;p&gt;Assume we are dealing with a programming language that has support for linear types (terms of linear type can be used at most once, so to say). This allows for treating some computational effects (such as mutation, even changing the type of the operand) in a way that is problematic for languages, the type systems of which operate only on &quot;eternal truths&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Many data structures can be characterized with inductive types (lists and trees are canonical examples). If we add linear inductive types to the mix, we can also handle mutable data structures.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, it is not clear to me how to represent data structures that exhibit &lt;strong&gt;sharing and cyclic references&lt;/strong&gt; in a programming language with linear types (examples of such data structures are DAGs and other graphs, represented by adjacency lists or something else, cyclic lists). Can we do that? If it isn't possible, in which way should we extend the language so as to accommodate such data structures?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The most involved example I've found so far is a doubly-linked list. Are there other examples?&lt;/p&gt;&#xA;" OwnerDisplayName="user3722" LastEditorUserId="1993" LastEditDate="2019-03-12T06:26:38.850" LastActivityDate="2019-03-12T06:26:38.850" Title="Data structures in programming language with linear types" Tags="&lt;pl.programming-languages&gt;&lt;type-theory&gt;&lt;linear-logic&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="5" ContentLicense="CC BY-SA 4.0" />
  <row Id="4826" PostTypeId="1" CreationDate="2011-02-09T15:27:46.527" Score="8" ViewCount="533" Body="&lt;p&gt;Given a directed acyclic graph with $2n$ nodes how can one determine if there is a path between any of following n pairs of nodes $(1 \rightarrow n+1), \ldots, (n \rightarrow n+n)$? There is a simple algorithm in $O(n \cdot (n + m))$ (where m is the number of edges) by doing a search from each node $1 \ldots n$, but can it be done better?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT: I'm looking for existence, not complete paths.&lt;/p&gt;&#xA;" OwnerUserId="10" LastEditorUserId="10" LastEditDate="2011-02-09T16:38:39.000" LastActivityDate="2011-03-23T18:09:59.843" Title="Route existence between n pairs of nodes" Tags="&lt;ds.algorithms&gt;&lt;graph-algorithms&gt;&lt;directed-acyclic-graph&gt;" AnswerCount="3" CommentCount="12" ContentLicense="CC BY-SA 2.5" />
  <row Id="4827" PostTypeId="2" ParentId="4826" CreationDate="2011-02-09T15:42:07.860" Score="0" Body="&lt;p&gt;Topological sort ($O(m+n)$) then work down it propagating a bitset of nodes from which each node can be reached ($O(m n)$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;After the topological sort you can do a $O(n)$ quick-rejection (if node $n+x$ comes before node $x$ in the sort then there's no path from $x$ to $n+x$).&lt;/p&gt;&#xA;" OwnerUserId="3131" LastEditorUserId="3131" LastEditDate="2011-02-09T17:18:25.500" LastActivityDate="2011-02-09T17:18:25.500" CommentCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="4828" PostTypeId="2" ParentId="4784" CreationDate="2011-02-09T15:50:39.000" Score="1" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;Are you interested in a wiki devoted to the above subject &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Yes, and I will definitely advertise for it!&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;and are you going to contribute something? &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I'll contribute as much as possible, but don't expect me to be among the main content-providers. As Tsuyoshi Ito points out, this can get time-consuming, and I don't quite see myself as the most knowledgeable person in the area either (on this website or elsewhere).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But content will certainly eventually grow with the user base, so I don't think you should worry too much about having people committed to contributing e.g. 10 pages a day each.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What is your preferred format for this wiki (see my preferred format in comments)?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;There's the question of how much content you want to provide and which audience(s) you target. If I want to find out whether my problem is hard, as I wrote above, it's good to have a quick overview of what looks like it as a list where the $i^{th}$ item would be:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Problem $i$&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;em&gt;Instance:&lt;/em&gt; ...&lt;/li&gt;&#xA;&lt;li&gt;&lt;em&gt;Question:&lt;/em&gt; ...&lt;/li&gt;&#xA;&lt;li&gt;&lt;em&gt;References:&lt;/em&gt; For hardness, see [i1], for inapproximability, see [i2], ...&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Which is what Garey &amp;amp; Johnson's and Kann &amp;amp; Crescenzi use. Problems could also  be tagged using categories as we see fit, so that a list of problems by category could be easily generated (kind of like on delicious: click the &quot;graph-theory&quot; tag, and see the list of every hard problem in graph theory on the website).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More detailed information could then be provided by clicking the name of the problem in the list, which would contain for instance a list of &quot;easy&quot; cases, open problems (e.g. &quot;best approximation is 3/2, can we do better?&quot;) links to Wikipedia or others for a broader audience, specialised software, ...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can also, as G&amp;amp;J did, provide information on how the results were obtained (&quot;transformation from X3C&quot;). And then you could probably generate a graph showing reductions among different problems, which would lead people to wonder if more direct proofs exist, but well... you have to stop somewhere ;-)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'll skip the last sub-question because I have no idea how to answer it.&lt;/p&gt;&#xA;" OwnerUserId="775" LastActivityDate="2011-02-09T15:50:39.000" CommentCount="6" CommunityOwnedDate="2011-02-09T15:50:39.000" ContentLicense="CC BY-SA 2.5" />
  <row Id="4829" PostTypeId="1" AcceptedAnswerId="4832" CreationDate="2011-02-09T16:09:42.003" Score="2" ViewCount="268" Body="&lt;p&gt;In the &lt;a href=&quot;http://www.labri.fr/perso/casteran/CoqArt/index.html&quot; rel=&quot;nofollow&quot;&gt;Coq'Art book&lt;/a&gt; the authors mention in passing that any language that can calculate all computable functions must also be able to express diverging computations.&#xA;Or in other words, there can be no Coq' that is Turing-complete that maintains the guarantee that all computations describable in that language terminate.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;How would I go about formalizing this statement? I feel it's a simple corollary to the Halting problem, but I don't know enough about formal semantics of programming languages to express or prove this.&lt;/p&gt;&#xA;" OwnerUserId="3708" LastActivityDate="2011-02-09T16:46:21.437" Title="formalizing a statement about the expressive power of programming languages wrt divergence" Tags="&lt;halting-problem&gt;&lt;coq&gt;&lt;normalization&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="4830" PostTypeId="2" ParentId="4829" CreationDate="2011-02-09T16:26:11.437" Score="3" Body="&lt;p&gt;If you restrict to decidable languages, then the decision procedure for the language would solve the Halting problem. If you don't restrict to decidable languages then the language of Turing machines that halt on any input is a counterexample (in classical logic).&lt;/p&gt;&#xA;" OwnerUserId="636" LastActivityDate="2011-02-09T16:26:11.437" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4831" PostTypeId="2" ParentId="4825" CreationDate="2011-02-09T16:36:44.727" Score="20" Body="&lt;p&gt;Linearity is not a sufficient constraint to pin down a unique stateful representation, and so the answer to your question depends on how you interpret linear logic in terms of state. This will typically be reflected in how you must interpret the $!A$ modality. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If your intended semantics of references says that all pointers are unique values (i.e., there is at most a single reference to an object) then dags and graph structures are not expressible, for the sort of tautological reason that a dag may contain multiple references to the same object. In this case, $!A$ must be a &lt;em&gt;computation&lt;/em&gt; which creates a new value of type $A$, since you want maps $\delta_A : !A \multimap !A \otimes !A$ and $\epsilon_A : !A \multimap A$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, suppose that you want $!A$ to represent &lt;em&gt;sharing&lt;/em&gt;. Then, objects can be garbage-collected with reference counting, with the maps  $\delta_A : !A \multimap !A \otimes !A$ and $\epsilon_A : !A \multimap A$ can be realized as operations which just bump reference counts. In this case, you can't use linearity to assume that it's always safe to mutate values, since there's sharing. But you can ensure that all memory allocation is explicit in your program, and that there are no cycles in the heap. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Most practical implementations of linear types use &lt;em&gt;neither&lt;/em&gt; of these two interpretations. Instead, references are viewed as freely duplicable entities, and what we track linearly are in fact &lt;em&gt;capabilities&lt;/em&gt;. Capabilities are not runtime values; they are purely conceptual entities which are intended to represent the permission to access a reference. The idea is that you program in a permission-passing style, and so even if there are many references to the same object, a read or modification of a piece of state can only occur if you also have the capability to access it. And since the capability is linear, you know that only you can change it. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xD;&#xA;\array{&#xD;&#xA;\mathsf{new} &amp;amp; : &amp;amp; \forall \alpha. \;\alpha \multimap \exists c : \iota. \mathsf{cap}(c) \otimes \mathsf{ref}(\alpha, c) \\&#xD;&#xA;\mathsf{get} &amp;amp; : &amp;amp; \forall \alpha, c:\iota. \;\mathsf{cap}(c) \otimes \mathsf{ref}(\alpha, c) \multimap \alpha \otimes \mathsf{cap}(c) \otimes \mathsf{ref}(\alpha, c) \\&#xD;&#xA;\mathsf{set} &amp;amp; : &amp;amp; \forall \alpha, c:\iota. \;\mathsf{cap}(c) \otimes \mathsf{ref}(\alpha, c) \otimes \alpha \multimap \mathsf{cap}(c) \otimes \mathsf{ref}(\alpha, c) \\&#xD;&#xA;\mathsf{copy} &amp;amp; : &amp;amp; \forall \alpha, c:\iota.\; \mathsf{ref}(\alpha,c) \multimap \mathsf{ref}(\alpha,c) \otimes \mathsf{ref}(\alpha,c)&#xD;&#xA;}&#xD;&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the API sketched above, $c$ ranges over $\iota$, some domain of compile-time indices, and $\alpha$ ranges over types. We have a type $\mathsf{cap}(c)$ which is a capability indexed by $c$, and a type $\mathsf{ref}(\alpha, c)$, which is a type of references to $\alpha$ accessed by a capability $c$. Calling $\mathsf{get}$ and $\mathsf{set}$ on a reference requires the capability $c$, and calling $\mathsf{new}$ creates a new reference and a new capability sharing a common index. However, $\mathsf{copy}$-ing a reference does not require access to any capability, so anyone can copy a reference as long as they don't look inside it.&lt;/p&gt;&#xA;" OwnerUserId="657" LastActivityDate="2011-02-09T16:36:44.727" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="4832" PostTypeId="2" ParentId="4829" CreationDate="2011-02-09T16:46:21.437" Score="8" Body="&lt;p&gt;Let us take a somewhat simplified view of a programming language as a mapping $C$ (the compiler) from finite strings of characters (source code) to descriptions of Turing machines (machine code). A description of a Turing machine is just a finite string of characters of a certain kind. And since finite strings of characters are computably isomorphic to natural numbers (we can computably encode string as numbers and vice versa), we can pretend that both source code and Turing machines are described by numbers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Under this view a programming language $C$ is a partial map from natural numbers to natural numbers which accepts a number $n$ (the source code) and either diverges or returns a number $C(n)$ (the &quot;compiled&quot; Turing machine). It makes sense to require that $C$ is a computable map, i.e., that there is in fact a Turing machine that calculates it, otherwise magic is required to understand the programming language.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that I can enumerate all possible outputs of $C$. I simply try $C$ on every input in parallel by dovetailing, and whenever any parallel copy gives a result, I enumerate it. Let $f : \mathbb{N} \to \mathbb{N}$ be an enumeration of all outputs of $C$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $\phi_k$ be the partial computable map that is computed by the Turing machine described by the number $k$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We now come to the crux of the matter. Suppose $f$ enumerated precisely the total computable maps, i.e., $\phi_{f(n)}$ is a total computable map for all $n \in \mathbb{N}$, and for every computable map $g$ there is $n$ such that $g = \phi_{f(n)}$. Consider the computable map $d(n) = 1 + \phi_{f(n)}(n)$. This map is total because $\phi_{f(n)}$ is total for every $n$. There is $j$ such that $\phi_{f(j)} = d$, but then $\phi_{f(j)}(j) = d(j) = 1 + \phi_{f(j)}(j)$, contradiction.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The conclusion is that $f$ cannot possibly enumerate &lt;em&gt;precisely&lt;/em&gt; the total computable maps. Therefore it either misses out some total maps, or enumerates some partial ones.&lt;/p&gt;&#xA;" OwnerUserId="705" LastActivityDate="2011-02-09T16:46:21.437" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4834" PostTypeId="2" ParentId="4784" CreationDate="2011-02-09T19:04:01.040" Score="9" Body="&lt;p&gt;When you refer to the Crescenzi-Kann compendium, I'm not sure if you're referring to the book or the &lt;a href=&quot;http://www.csc.kth.se/~viggo/wwwcompendium/&quot;&gt;website&lt;/a&gt;.  The book is out of date but the authors try to keep the website continuously updated.  It would seem that the logical starting point is to approach Crescenzi and Kann with your proposal.&lt;/p&gt;&#xA;" OwnerUserId="2970" LastActivityDate="2011-02-09T19:04:01.040" CommentCount="5" CommunityOwnedDate="2011-02-09T19:04:01.040" ContentLicense="CC BY-SA 2.5" />
  <row Id="4835" PostTypeId="1" CreationDate="2011-02-09T19:08:39.160" Score="3" ViewCount="1043" Body="&lt;p&gt;I heard that &lt;a href=&quot;http://en.wikipedia.org/wiki/Cluedo&quot; rel=&quot;nofollow&quot;&gt;Clue&lt;/a&gt; is a board game that is related to the NP-complete traveling salesman problem.   What are other games that relate to important computational problems?&lt;/p&gt;&#xA;" OwnerUserId="3745" LastEditorUserId="1800" LastEditDate="2011-02-10T08:16:58.937" LastActivityDate="2011-02-10T08:16:58.937" Title="What games best represent well-known computer science problems?" Tags="&lt;big-list&gt;&lt;gt.game-theory&gt;&lt;board-games&gt;" AnswerCount="3" CommentCount="13" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="4836" PostTypeId="2" ParentId="4613" CreationDate="2011-02-09T19:09:58.673" Score="2" Body="&lt;p&gt;There has been research that been done on this... see &lt;a href=&quot;http://netresearch.ics.uci.edu/bionet/&quot; rel=&quot;nofollow&quot;&gt;http://netresearch.ics.uci.edu/bionet/&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;It is not difficult to imagine a future where billions of people regularly access applications running inside the global network as part of their daily lives. To make this future a reality, network services and applications must satisfy the following requirements:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;* they must be able to scale to billions of nodes and users&#xA;* they must be able to adapt to diverse and dynamic conditions in the network&#xA;* they must be secure and highly available&#xA;* they should require minimal human configuration and management&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;We believe that large scale biological systems, such as the bee or ant colony, have already developed many of the mechanisms needed to satisfy these requirements.  We have identified several key principles and mechanisms in these biological systems, and we are now applying them to the design of network services and applications. &lt;/p&gt;&#xA;" OwnerUserId="3745" LastActivityDate="2011-02-09T19:09:58.673" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4837" PostTypeId="2" ParentId="4613" CreationDate="2011-02-09T19:24:32.030" Score="6" Body="&lt;p&gt;Why?  &lt;strong&gt;Because we don't know how to, yet&lt;/strong&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Someone else already mentioned that &lt;a href=&quot;http://www.ted.com/talks/jeff_hawkins_on_how_brain_science_will_change_computing.html&quot;&gt;Jeff Hawkins&lt;/a&gt; at &lt;a href=&quot;http://www.numenta.com/htm-overview/htm-algorithms.php&quot;&gt;Numenta&lt;/a&gt; has attempted to build an AI model based on hierarchical temporal memory - which is his theory that the human brain works by recognizing patterns, then patterns of patterns, then patterns of patterns of patterns..&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Really its all very complicated and we're pretty far off, it would seem, from even modelling &lt;em&gt;exactly&lt;/em&gt; how the brain works.  So it'll be years still before machines are built based on the circuits that make decisions how the human brain makes them.&lt;/p&gt;&#xA;" OwnerUserId="1983" LastActivityDate="2011-02-09T19:24:32.030" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4838" PostTypeId="2" ParentId="88" CreationDate="2011-02-09T19:45:27.213" Score="69" Body="&lt;p&gt;There's a subtle point that I rarely see mentioned in these kinds of discussions and that I think deserves more attention.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose, as Andrej suggests, someone builds a device which reliably computes a function $f$ that cannot be computed by any Turing machine.  &lt;b&gt;How would we know that the machine is in fact computing $f$?&lt;/b&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Obviously, no finite number of input/output values would suffice to demonstrate that the machine is computing $f$ as opposed to some other Turing-computable function that agrees with $f$ on that finite set.  Therefore, our belief that the machine is computing $f$ would have to be based on our &lt;i&gt;physical theories&lt;/i&gt; of how the machine is operating.  If you look at some of the concrete proposals for hypercomputers, you will find that, sure enough, what they do is to take some fancy cutting-edge physical theory and &lt;i&gt;extrapolate that theory to infinity&lt;/i&gt;.  O.K., fine, but now suppose we build the hypercomputer and ask it whether a Turing machine that searches for a contradiction in ZFC will ever halt.  Suppose further that the hypercomputer replies, &quot;No.&quot;  What do we conclude?  Do we conclude that the hypercomputer has &quot;computed&quot; the consistency of ZFC?  How can we rule out the possibility that &lt;i&gt;ZFC is actually inconsistent and we have just performed an experiment that has falsified our physical theory?&lt;/i&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A crucial feature of Turing's definition is that its philosophical assumptions are very weak.  It assumes, as of course it must, certain simple features of our everyday experience, such as the basic stability of the physical world, and the ability to perform &lt;i&gt;finite&lt;/i&gt; operations in a reliable, repeatable, and verifiable manner.  These things everyone accepts (outside of a philosophy classroom, that is!).  Acceptance of a hypercomputer, however, seems to require us to accept an &lt;i&gt;infinite extrapolation&lt;/i&gt; of a physical theory, and all our experience with physics has taught us not to be dogmatic about the validity of a theory in a regime that is far beyond what we can experimentally verify.  For this reason, it seems highly unlikely to me that any kind of overwhelming consensus will ever develop that any specific hypercomputer is simply &lt;i&gt;computing&lt;/i&gt; as opposed to &lt;i&gt;hypercomputing&lt;/i&gt;, i.e., doing something that can be called &quot;computing&quot; only if you accept some controversial philosophical or physical assumptions about infinite extrapolations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another way to put it is that disproving the Church-Turing thesis would require not only building the device that Andrej describes, &lt;i&gt;but also proving to everybody's satisfaction that the device is performing as advertised.&lt;/i&gt;  While not inconceivable, this is a tall order.  For today's computers, the finitary nature of computation means that if I don't believe the result of a particular computer's &quot;computation,&quot; I can in principle carry out a finite sequence of steps in some totally different manner to check the result.  This kind of &quot;fallback&quot; to common sense and finite verification is not available if we have doubts about a hypercomputer.&lt;/p&gt;&#xA;" OwnerUserId="2970" LastEditorUserId="2970" LastEditDate="2011-02-09T19:55:10.707" LastActivityDate="2011-02-09T19:55:10.707" CommentCount="24" ContentLicense="CC BY-SA 2.5" />
  <row Id="4839" PostTypeId="2" ParentId="4835" CreationDate="2011-02-09T19:47:45.817" Score="6" Body="&lt;p&gt;If by 'show computational theories in them' you mean correspond to complexity classes or fit nicely within complexity classes, then you first have to generalize the game to depend on some parameter $n$. For instance, for a game of Chess with a clock (and maybe a 50-move no checkmate rule) on an 8-by-8 board there are only a finite number of possible games. Thus, everything about the game is solvable in $O(1)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To overcome this, complexity theorists usually define a generalized game. So for instance a variant of chess on $n$-by-$n$ boards, then standard complexity questions can be asked. In that case, a lot of the 'fun' two player games become PSPACE-complete or EXPTIME-complete. For instance Reversi and Hex are PSPACE-complete and Chess, Go, and Chinese Checkers are EXPTIME-complete. You can learn more on &lt;a href=&quot;http://en.wikipedia.org/wiki/Game_complexity&quot;&gt;wikipedia&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In terms of NP-completeness, sometimes end-games become NP-complete. In particular, in a really fun game called &lt;a href=&quot;http://en.wikipedia.org/wiki/Phutball&quot;&gt;phutball&lt;/a&gt; deciding if a player has a win in one move is NP-complete. Solving who will win the game in general is &lt;a href=&quot;http://arxiv.org/abs/0804.1777&quot;&gt;PSPACE-hard&lt;/a&gt; given arbitrary initial configuration&lt;/p&gt;&#xA;" OwnerUserId="1037" LastActivityDate="2011-02-09T19:47:45.817" CommentCount="7" ContentLicense="CC BY-SA 2.5" />
  <row Id="4840" PostTypeId="2" ParentId="4835" CreationDate="2011-02-09T20:15:33.390" Score="5" Body="&lt;p&gt;My favourite is &lt;a href=&quot;http://web.mat.bham.ac.uk/R.W.Kaye/minesw/ordmsw.htm&quot; rel=&quot;nofollow&quot;&gt;Minesweeper&lt;/a&gt; (which is NP-complete)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then comes &lt;a href=&quot;http://en.wikipedia.org/wiki/Sokoban&quot; rel=&quot;nofollow&quot;&gt;Sokoban&lt;/a&gt; (which is PSPACE-complete)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;... and last but not least &lt;a href=&quot;http://tuvalu.santafe.edu/~moore/peg.pdf&quot; rel=&quot;nofollow&quot;&gt;One dimensional peg&lt;/a&gt; which is nothing but a regular language (DSPACE(O(1)))&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But &lt;strong&gt;tons of games&lt;/strong&gt; have been studied from the the point of view of Complexity Theory ... you can find a big list on Wikipedia: &lt;a href=&quot;http://en.wikipedia.org/wiki/Game_complexity&quot; rel=&quot;nofollow&quot;&gt;Game Theory&lt;/a&gt; (with some good references at the bottom, if you want to go into more depth).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For a more formal (deeper) approach, you can download Robert Aubrey Hearn's thesis &quot;&lt;a href=&quot;http://groups.csail.mit.edu/mac/users/bob/hearn-thesis-final.pdf&quot; rel=&quot;nofollow&quot;&gt;Games, Puzzles, and Computation&lt;/a&gt;&quot; (which - in 2009 - became a book with the same title).&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2011-02-09T20:25:41.680" LastActivityDate="2011-02-09T20:25:41.680" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="4841" PostTypeId="2" ParentId="4835" CreationDate="2011-02-09T20:56:05.210" Score="3" Body="&lt;p&gt;The n-discs 3-Towers of Hanoi problem shows a number of characteristics, but I don't know if it fits with what you mean by computational theories.  &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;The number of moves that are required to move the full stack to a different tower and the demonstration that an algorithm is correct is an interesting exercise in elementary analysis and proof of algorithms.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The usual recursive-descent, divide-and-conquer algorithm requires storage that can be corresponded with the maximum recursion depth for n discs.  There is a &quot;speed-up&quot; in which the algorithm is iterative and uses constant storage as it enumerates all of the moves.  That is also a nice pragmatic demonstration, requiring proof that the same sequence is produced (that is, the same function is computed) as in (1).  Note that the time complexity (in terms of the number of moves required) is the same either way and it is exact.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;[The iterative solution may not be so well known.  Both are described in Chapter Review problems of the Algorithms chapter of my copy of Brookshear's &quot;Computer Science: An Overview.&quot;]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have gone from games to puzzles, but I think this illustrates how such things can be illustrative.&lt;/p&gt;&#xA;" OwnerUserId="3738" LastActivityDate="2011-02-09T20:56:05.210" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4845" PostTypeId="1" AcceptedAnswerId="4871" CreationDate="2011-02-10T07:15:05.657" Score="1" ViewCount="688" Body="&lt;p&gt;I'd like to know some good starting points (such as books, papers, lecture notes, etc.) on EXPTIME and EXPSPACE.  I'd like to learn more about these two topics, but I'm not sure what the best approach is....&lt;/p&gt;&#xA;" OwnerUserId="1549" LastEditorUserId="1800" LastEditDate="2011-02-10T08:04:21.360" LastActivityDate="2011-02-12T02:20:46.953" Title="Learning about EXPTIME and EXPSPACE" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;complexity-classes&gt;&lt;exp-time-algorithms&gt;" AnswerCount="1" CommentCount="7" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4846" PostTypeId="1" CreationDate="2011-02-10T08:50:41.957" Score="9" ViewCount="438" Body="&lt;p&gt;recently, Craig Gentry published the first public key encryption scheme (over plaintext space {0,1}) which is fully homomorphic, meaning that one can efficiently and compactly evaluate AND and XOR on encrypted plaintexts without knowledge of the secret decryption key.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am wondering if there is any obvious way to turn this public key cryptosystem into a threshold public key cryptosystem such that everybody can encrypt, AND and XOR, but decryption is only possible if some (all) people sharing the key team up.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would be interested in any ideas about that subject.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks in advance&lt;/p&gt;&#xA;&#xA;&lt;p&gt;fw&lt;/p&gt;&#xA;" OwnerDisplayName="user3756" LastActivityDate="2011-09-04T06:00:27.083" Title="Threshold Fully Homomorphic Cryptosystems" Tags="&lt;cr.crypto-security&gt;&lt;circuit-complexity&gt;&lt;homomorphic-encryption&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="4849" PostTypeId="2" ParentId="2975" CreationDate="2011-02-10T23:32:53.100" Score="3" Body="&lt;p&gt;There is no &lt;em&gt;formal&lt;/em&gt; definition of what it means to be a straight line simulator. It is only a &lt;em&gt;intuitive&lt;/em&gt; idea that can be used to describe things in an informal manner. I am highly skeptical about whether one can even define what it means to &lt;em&gt;not rewind&lt;/em&gt; a machine. Indeed, &lt;em&gt;rewinding&lt;/em&gt; a machine is itself an informal term! What we really mean by rewdinding a machine is that by we can explore many possible paths of execution of a machine from a given state. Formal arguments are then based on number of such executions we need to explore before we can obtain a trapdoor or some other information that we need to further continue our proof.&lt;/p&gt;&#xA;" OwnerDisplayName="user3767" LastActivityDate="2011-02-10T23:32:53.100" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4850" PostTypeId="1" AcceptedAnswerId="4852" CreationDate="2011-02-11T00:13:56.777" Score="3" ViewCount="821" Body="&lt;p&gt;I'm following a graduated course in theoretical computer sicence. A good part the theory we see in this course has to do with polynomial and Turing reductions of NP problem (to prove NP-completeness), mostly including gadgets. However the course has very few exercises to practice ourselves and the teacher is reluctant to give us some more. Is there any resources, web or books, that could fill this gap for me? I'm talking about problems and possibly their solutions and some explanation about the process of finding the reduction.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks.&lt;/p&gt;&#xA;" OwnerUserId="3769" LastEditorUserId="80" LastEditDate="2011-02-11T07:35:16.143" LastActivityDate="2011-02-11T07:35:16.143" Title="Exercises of polynomial and turing reductions" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;np-hardness&gt;&lt;reductions&gt;" AnswerCount="2" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4852" PostTypeId="2" ParentId="4850" CreationDate="2011-02-11T00:39:54.010" Score="7" Body="&lt;p&gt;A good start is &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0716710455&quot; rel=&quot;nofollow noreferrer&quot;&gt;Computers and Intractability: A Guide to the Theory of NP-Completeness&lt;/a&gt; by Garey and Johnson. Chapter 3.2 discusses techniques and 3.3 has exercises. You can find more in the &lt;a href=&quot;https://cstheory.stackexchange.com/questions/3253/what-books-should-everyone-read/3258#3258&quot;&gt;books about complexity everyone should read&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="2150" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2011-02-11T00:39:54.010" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="4853" PostTypeId="1" AcceptedAnswerId="4860" CreationDate="2011-02-11T01:40:12.803" Score="4" ViewCount="337" Body="&lt;p&gt;Perhaps this problem has been studied under a different guise. If so, I'd appreciate any pointers or terms that could help my search for related work.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose we have an undirected simple graph $G=(V,E)$.  Given as input, we associate with each vertex $i$ a binary vector $\boldsymbol m_i$, where $|\boldsymbol m_i| = K$.  $\boldsymbol m_i[k]$ denotes the presence or absence of the $k$-th &quot;marker&quot; for $k \in \{1, ..., K\}$.  Each edge $(i,j)$ is associated with a function $e_{ij} : \{0,1\}^K \to \{0,1\}^K$.  $e_{ij}$ can be arbitrary, except that it must obey a sort of monotonicity property, where &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;If $m_B[k] \ge m_A[k]$ for all $k$, then $e_{ij}(\boldsymbol m_B)[k] \ge e_{ij}(\boldsymbol m_A)[k]$ for all $k$.  &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;($e_{ij}$ can be different from $e_{ji}$.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Starting at any vertex, I am interested in efficiently finding a short (or even any) simple path that collects all possible markers (or reporting that one does not exist), where the rules for collecting markers are as follows.  We maintain binary vector $\boldsymbol m$ denoting which markers that we hold (initially none, i.e. all 0), which is updated as we arrive at vertices and traverse edges.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;When arriving at vertex $i$, collect all markers present at $i$ that we don't currently hold, i.e. $\boldsymbol m[k] := \max(\boldsymbol m[k], \boldsymbol m_i[k])$ for all $k$. &lt;/li&gt;&#xA;&lt;li&gt;When traversing edge from $i$ to $j$, $\boldsymbol m := e_{ij}(\boldsymbol m)$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;For $K=1$, I believe this is a standard shortest paths problem.  How efficiently can it be solved for larger $K$?  (In practice, $K$ is around 2 to 100, $|V|$ is several hundred thousand, $|E|$ is 5 to 10 times $|V|$, and if paths exist, we expect them to be fairly short -- if it helps to fix a parameter $L$, which is the maximum path length, I'd be interested as well.)&lt;/p&gt;&#xA;" OwnerUserId="144" LastEditorUserId="144" LastEditDate="2011-02-11T20:27:17.150" LastActivityDate="2011-02-11T20:27:17.150" Title="Shortest paths with structured dependence on earlier path" Tags="&lt;ds.algorithms&gt;&lt;graph-algorithms&gt;" AnswerCount="2" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4854" PostTypeId="2" ParentId="4850" CreationDate="2011-02-11T04:59:09.333" Score="4" Body="&lt;p&gt;Two suggestions:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;On a historical note, look at Karp's &lt;a href=&quot;http://www.cs.berkeley.edu/~luca/cs172/karp.pdf&quot; rel=&quot;nofollow&quot;&gt;paper&lt;/a&gt; &quot;Reducibility Among Combinatorial Problems&quot;, which gives 21 NP-complete problems. This paper showed that many well-known problems were NP-complete for the first time, and gave clever reductions between them.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://www-math.mit.edu/~sipser/book.html&quot; rel=&quot;nofollow&quot;&gt;Introduction to the Theory of Computation&lt;/a&gt; by Michael Sipser has a nice collection of reduction exercises between NP-complete problems in the time complexity chapter.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="969" LastActivityDate="2011-02-11T04:59:09.333" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4855" PostTypeId="2" ParentId="4565" CreationDate="2011-02-11T09:48:00.553" Score="1" Body="&lt;p&gt;There is some work on so called &quot;resilient&quot; data structures and algorithm (search trees, counters, dictionary). The model is that of a RAM with the assumption that up to $k$ bits can be modified by an adversary at any time. Constantly many registers cannot be modified by the adversary.  Depending on the parameter $k$, you can get algorithms that still work correctly, and whose running time dependency on $k$ is better than running $k$ independent copies of one algorithm.&#xA;A recent invited talk of G. Italiano should give an overview: &lt;a href=&quot;http://dx.doi.org/10.1007/978-3-642-13073-1_3&quot; rel=&quot;nofollow&quot;&gt;Resilient Algorithms and Data Structures&lt;/a&gt;  (I just found this article and did not read it myself yet, but I am confident that it is a good pointer).&lt;/p&gt;&#xA;" OwnerUserId="3049" LastActivityDate="2011-02-11T09:48:00.553" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4856" PostTypeId="2" ParentId="4853" CreationDate="2011-02-11T12:00:19.123" Score="2" Body="&lt;p&gt;When you choose $K=|V|$, give each vertex a different marker, and let $e_{ij}(m)=m$ you are searching for a Hamiltonian path, which is NP-complete. Therefore it is unprobable that you find an efficient algorithm for arbitrary $K$. As observed by Hsien-Chih Chang there may still exist an efficient for small $K$.&lt;/p&gt;&#xA;" OwnerUserId="2150" LastActivityDate="2011-02-11T12:00:19.123" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4857" PostTypeId="2" ParentId="2661" CreationDate="2011-02-11T12:45:28.040" Score="23" Body="&lt;p&gt;Daniel Král and Jiří Sgall answered your question to the negative. From the abstract of their paper:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;A graph $G$ is said to be $(k,\ell)$-choosable if its vertices can be colored from any lists $L(v)$ with $|L(v)| \ge k$, for all $v\in V(G)$, and with $|\bigcup_{v\in V(G)} L(v)| \le \ell$. For each $3 \le k \le \ell$,&#xA;  we construct a graph $G$ that is $(k,\ell)$-choosable but not $(k,\ell+1)$-choosable.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;So, $N(k)$ does not exist if $k\ge 3$. Král and Sgall also show that $N(2)=4$. Of course, $N(1)=1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Daniel Král, Jiří Sgall: &lt;a href=&quot;http://dx.doi.org/10.1002/jgt.20073&quot;&gt;Coloring graphs from lists with bounded size of their union&lt;/a&gt;. Journal of Graph Theory 49(3): 177-186 (2005)&lt;/p&gt;&#xA;" OwnerUserId="72" LastActivityDate="2011-02-11T12:45:28.040" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="4858" PostTypeId="1" CreationDate="2011-02-11T13:29:41.633" Score="1" ViewCount="135" Body="&lt;p&gt;I hope you can help.  I am looking for the best way to generate random bipartite graphs with localised structure within one of the node types.  Such that type A visits a local group of type B with a particular probability and then within that group connectes an edge with type be also with a particular probablity based on the attribute of nodes of type B.  Basically this is social network data where one group has a preference function that determines the probability of linking with another individual of a different type. However the choosey group os restricted in the node value distributions they see due to the localised groupings of the chosen type. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Sorry I hope this question does not bore.  All programs I have tried do not allow both this localised structure by trait values as well as probability of pairing based on trait values.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Best Wishes,&#xA;Colin&lt;/p&gt;&#xA;" OwnerUserId="3776" LastEditorUserId="186" LastEditDate="2011-02-11T19:03:14.500" LastActivityDate="2011-02-11T19:03:14.500" Title="Structured Graph Generation" Tags="&lt;ds.algorithms&gt;&lt;network-modeling&gt;&lt;pseudorandom-generators&gt;&lt;social-sciences&gt;" AnswerCount="0" CommentCount="6" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4859" PostTypeId="1" CreationDate="2011-02-11T13:39:22.130" Score="7" ViewCount="1288" Body="&lt;p&gt;I just wonder what FO Rewritable is, put an example to make it clearer for me. Also, I heard that a language that is FO Rewritable is very good, in what sense?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is said as follow:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;A class C of TGDs is ﬁrst-order rewritable (or FO-rewritable) iff for every set of TGDs $\Sigma$ in C, and for every BCQ Q, there exists a ﬁrst-order query $Q_\Sigma$ such that for every database&#xA;  instance D, it holds $D\cup\Sigma\models Q$ iff $D\models Q_\Sigma$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Since answering ﬁrst-order queries is in the class $\textrm{AC}_0$ in the data complexity, it immediately follows that for FO-rewritable TGDs, BCQ answering is in $\textrm{AC}_0$ in the data complexity.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then my question can be extended into, what is a first-order query?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Link to the paper: &lt;a href=&quot;http://portal.acm.org/citation.cfm?doid=1514894.1514897&quot; rel=&quot;nofollow&quot;&gt;http://portal.acm.org/citation.cfm?doid=1514894.1514897&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="3714" LastEditorUserId="-1" LastEditDate="2011-12-30T05:29:54.980" LastActivityDate="2017-02-02T21:01:48.423" Title="What is First-Order Rewritable (and FO-Query)?" Tags="&lt;lo.logic&gt;&lt;terminology&gt;&lt;db.databases&gt;&lt;descriptive-complexity&gt;&lt;finite-model-theory&gt;" AnswerCount="3" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="4860" PostTypeId="2" ParentId="4853" CreationDate="2011-02-11T16:03:01.763" Score="4" Body="&lt;p&gt;You can model the situation as a &quot;regular language constraint path problem&quot; as investigated in &lt;a href=&quot;http://dx.doi.org/10.1137/S0097539798337716&quot; rel=&quot;nofollow&quot;&gt;Barret, Jacob, Marathe 2000&lt;/a&gt;.&#xA;If you were interested in any shortest path (not just simple ones), this would solve your question: &#xA;First, transform your graph into a directed one that additionally has an edge per node (every node is split into two, one for the incoming edges and one for the outgoing edges, these are connected by a new edge, the node edge).  Now, you encode the markers and the functions as labels in an alphabet of size $2^K+2^{2K}$.  The constraining language now has to accept such a word if following your rules leads to the vector of all ones.  This is clearly a regular language because it can be accepted by an automaton with $2^K$ states.   &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For treewidth bounded graphs the above transformation and an algorithm for regular languages and simple paths (presented in the mentioned paper) allows to solve your question in polynomial time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For more general graphs, finding a simple paths according to some fairly easy fixed regular language is NP-complete, which does not really imply anything for your question.&#xA;In particular the complexity for constant $K$ (and limited path-length) sounds like an interesting question to me. &lt;/p&gt;&#xA;" OwnerUserId="3049" LastActivityDate="2011-02-11T16:03:01.763" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="4861" PostTypeId="2" ParentId="4613" CreationDate="2011-02-11T17:23:04.113" Score="1" Body="&lt;p&gt;An answer from a biological perspective is that biological 'design' (in the evolutionary, not the ID sense...) is often fundamentally different because it uses different principles and different materials.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm really just repeating the perspective of an excellent book called &quot;Cats' Paws and Catapults&quot; by Steven Vogel which is that even if you make machines 'inspired' by biological design, it is often impossible to directly copy Nature. Maybe the author is a bit grumpily contrary about claims of biomimicry, but still.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, in the specific case of the brain and computers; brains are warm lumps of wet tissue that are continually self-repairing and self-regulating. Computers chips are hot sand with electricity running through them. I wouldn't agree with Penrose that we have some kind of quantum microtubule core in the neuron, but cells are quite complex micro- and nano- tech devices even before they are assembled into tissues.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So yes, you can make 'analagous' systems - but it may be that you are better off using the strengths of the particular materials and principles you have to work with and not try and emulate those from another domain.&lt;/p&gt;&#xA;" OwnerUserId="3779" LastActivityDate="2011-02-11T17:23:04.113" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4863" PostTypeId="2" ParentId="4565" CreationDate="2011-02-11T18:11:07.020" Score="2" Body="&lt;p&gt;The question asked is &quot;Is there a way of recovering from the errors caused by [quantum] noise in an effective way?&quot; and &lt;a href=&quot;https://cstheory.stackexchange.com/questions/4565/what-is-known-about-the-effectiveness-of-reliable-computing/4583#4583&quot;&gt;Peter Shor's answer&lt;/a&gt; admirably covers one effective way to answer this question, namely, by designing fault-tolerant quantum computers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An alternative effective way is very commonly encountered in engineering practice.  We reason &quot;If the noise is sufficiently large that no quantum computation is feasible, then perhaps the system dynamics can be simulated with classical resources in P.&quot;   &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In other words, oftentimes we can &quot;recover in an effective way&quot; from noise by recognizing that the noise is providing an important service to us, by exponentially reducing the computational complexity of simulating both classical and quantum systems.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The literature on noise-centric approaches to dynamical simulation is large and growing; a recent reference whose theorems are both physically motivated and pleasingly rigorous, and which includes many references to the broader literature, is Plenio and Virmani's &lt;a href=&quot;http://arxiv.org/abs/0810.4340v1&quot; rel=&quot;nofollow noreferrer&quot;&gt;&lt;i&gt;Upper bounds on fault tolerance thresholds of noisy Clifford-based quantum computers&lt;/i&gt;&lt;/a&gt; (arXiv:0810.4340v1).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Classical dynamicists use a very different language in which noise mechanisms go by the technical name of &lt;i&gt;thermostats&lt;/i&gt;; Frenkel and Smit's &lt;a href=&quot;http://books.google.com/books?id=5qTzldS9ROIC&amp;amp;pg=PA1&quot; rel=&quot;nofollow noreferrer&quot;&gt;&lt;i&gt;Understanding Molecular Simulation: from Algorithms to Applications&lt;/i&gt;&lt;/a&gt; (1996) provides a basic mathematical introduction.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;When we transcribe classical and quantum thermostats into the language of geometric dynamics, we find (unsurprisingly) that classical and quantum methods for exploiting noise to boost simulation efficiency are essentially identical; that their respective literatures so infrequently reference one another is largely an accident of history that has been sustained by notational obstructions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Less rigorously but more generally, the above results illuminate the origins in quantum information theory of a heuristic rule that is widely embraced by chemists, physicists, and biologists, that any classical or quantum system that is in dynamical contact with a thermal bath is likely to prove simulable with computational resources in P for all practical purposes (FAPP).  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The exceptions to this heuristic, both classical and quantum, represent important open problems.  Their number strikingly diminishes year-by-year; the biennial &lt;a href=&quot;http://www.predictioncenter.org/casp8/index.cgi?page=description_exper&quot; rel=&quot;nofollow noreferrer&quot;&gt;&lt;i&gt;Critical Assessment of Structure Prediction&lt;/i&gt; (CASP)&lt;/a&gt; provides one objective measure of this improvement.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The fundamental limits to this noise-driven, many-decade &quot;More than Moore&quot; progress in simulation capability are at present imperfectly known.  Needless to say, in the long run our steadily improving understanding of these limits will bring us nearer to building quantum computers, while in the short run, this knowledge greatly assists us in efficiently simulating systems that are &lt;i&gt;not&lt;/i&gt; quantum computers.  Either way, it's good news.&lt;/p&gt;&#xA;" OwnerUserId="1519" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2011-02-11T18:32:59.233" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4864" PostTypeId="2" ParentId="4798" CreationDate="2011-02-11T18:21:15.060" Score="1" Body="&lt;p&gt;Answered by Claude Carlet in a private email. The AND function is bent as long as it has only two variables. &lt;/p&gt;&#xA;" OwnerDisplayName="user3781" LastActivityDate="2011-02-11T18:21:15.060" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4865" PostTypeId="1" CreationDate="2011-02-11T18:34:23.957" Score="7" ViewCount="381" Body="&lt;p&gt;In &lt;a href=&quot;http://arxiv.org/PS_cache/arxiv/pdf/0909/0909.4692v1.pdf&quot; rel=&quot;noreferrer&quot;&gt;Planar Subgraph Isomorphism Revisited&lt;/a&gt;, Frederic Dorn obtains an improved algorithm for Planar Subgraph Isomorphism, by using a technique he calls Embedded Dynamic Programming.  This technique appears to me to be a generalization of dynamic programming, in that it builds up from the smallest possible instances, but then, to obtain the next stage, one considers only a relevant subset of the already-computed subinstances, instead of considering all of them.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am interested both in the planar subgraph isomorphism problem, and in the embedded dynamic programnming technique.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A search on the phrase &quot;embedded dynamic programming&quot; is unhelpful, and it seems to me that this idea is close enough to dynamic programming that (some variant of) it might have been used in the past, for another problem, under another name.  Does anybody know anything about this?&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;ol&gt;&#xA;  &lt;li&gt;Are there other papers that use embedded dynamic programming?&lt;/li&gt;&#xA;  &lt;li&gt;Are there pre-existing techniques in the literature that are &quot;cousins&quot; to this approach?&lt;/li&gt;&#xA;  &lt;/ol&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I am also interested in implementability.  My not-very-serious-yet review of Dorn's paper makes me think his algorithm might be usefully implementable.  Motivation here: most (empirical definition of most) molecular graphs are planar.  The subgraph isomorphism implementations for molecular graphs have been optimized over a period of years, so they would be hard to beat in practice.  Still, if this is a fundamentally new approach without a lot of hidden constants, then there might be something really exciting here.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;ol&gt;&#xA;  &lt;li&gt;Do you think Dorn's algorithm is realistically implementable?  Or could a simple variation have that property?&lt;/li&gt;&#xA;  &lt;/ol&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Thanks, and I hope this question is more sensible than my last one, which was a bit of a disaster.&lt;/p&gt;&#xA;" OwnerUserId="30" LastActivityDate="2011-02-11T18:34:23.957" Title="Embedded dynamic programming (and planar subgraph isomorphism)" Tags="&lt;ds.algorithms&gt;&lt;graph-algorithms&gt;&lt;graph-isomorphism&gt;&lt;dynamic-programming&gt;&lt;planar-graphs&gt;" AnswerCount="0" CommentCount="2" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="4866" PostTypeId="1" AcceptedAnswerId="4963" CreationDate="2011-02-11T18:59:26.307" Score="7" ViewCount="290" Body="&lt;p&gt;Given a directed graph $G=(V,A)$ with a unique source node $s$ (a node without incoming edges) and a unique sink node $t$ (a node without outgoing edges).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a sequence of variables $SEQ = (x_{i_1},x_{i_2},...,x_{i_m})$ with $|SEQ| &amp;gt; 2$ and each $i_j \in [1..m]$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example $SEQ = (x_1,x_2,x_3,x_4,x_2,x_3,x_5)$ (m=5).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A &lt;strong&gt;node assignment&lt;/strong&gt; is a function $f: \{x_1,...,x_m\} \rightarrow V$ such that if $i \neq j$ then $f(x_i) \neq f(x_j)$ (it maps each $x_j$ to a different node of the graph). Now, if in $SEQ$ we substitute $x_j$ with $f(x_j)$ we obtain a sequence $NODESEQ$ of nodes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We want to start from $s$ and end in $t$ so trivially $x_1 = s, x_m = t$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example: $NODESEQ = (s,v_1,v_7,v_9,v_1,v_7,t)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A &lt;strong&gt;valid node assignment&lt;/strong&gt; is an assignment such that if we substitute each $x_{i_j}$ with $f(x_{i_j})$ in the sequence $SEQ$ we obtain a valid path from $s$ to $t$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Problem 1:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;Given a directed graph $G$ with one source and one sink and a sequence of variables $SEQ$ check if a valid node assignment exists.&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I'm not an expert, but if we take $m=n=|V|$ and $SEQ=(x_1,...,x_n)$ then the problem becomes the &lt;em&gt;Hamiltonian Path&lt;/em&gt; problem. Informally HAM-PATH can be reduced to Problem 1, adding a source node $s$ and a sink node $t$, two extra variables at the beginning and end of $SEQ$: $(x_s,x_1,...,x_n,x_t)$ and edges $(s,u), (v,t)$ for every $u,v \in V$, (hence Problem 1 is in NPC).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But we can modify it and drop the condition that if $i \neq j$ then $f(x_i) \neq f(x_j)$ i.e we can assign the same node $v$ to more than one $x_i$ (I call it &lt;strong&gt;relaxed node assignment&lt;/strong&gt;). We get an (apparently) simpler problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Problem 2:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;Given a directed graph $G$ with one source and one sink and a sequence of variables $SEQ$ check if a valid **relaxed node assignment** exists.&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;An informal way to describe the problem: we have a chain made of segments. Now we wrap it up in some casual order and join some innermost endpoints. The problem 2 consists in checking if such wrapped chain can &quot;fit&quot; in a given graph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is this problem known?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is it still an NPC problem?&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2011-02-12T11:05:05.260" LastActivityDate="2011-02-16T22:03:32.153" Title="Is it easy to &quot;fit a wrapped chain in a graph&quot;?" Tags="&lt;ds.algorithms&gt;&lt;graph-algorithms&gt;" AnswerCount="2" CommentCount="14" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="4867" PostTypeId="1" CreationDate="2011-02-11T19:11:32.770" Score="11" ViewCount="2507" Body="&lt;p&gt;Given a boolean circuit $C$ on $n$ variables (which uses just NOT,AND and OR gates), what is the most efficient way to extract the boolean formula represented by the circuit? Is there a polytime algorithm for this problem?&lt;/p&gt;&#xA;" OwnerUserId="256" LastEditorUserId="186" LastEditDate="2011-02-11T22:08:30.033" LastActivityDate="2011-02-11T22:08:30.033" Title="Complexity of converting a boolean circuit to a boolean formula" Tags="&lt;cc.complexity-theory&gt;&lt;time-complexity&gt;&lt;boolean-functions&gt;" AnswerCount="1" CommentCount="8" FavoriteCount="6" ContentLicense="CC BY-SA 2.5" />
  <row Id="4868" PostTypeId="2" ParentId="4867" CreationDate="2011-02-11T20:32:08.287" Score="8" Body="&lt;p&gt;If I understand your question correctly, I'd say you could use the standard reduction from CIRCUIT-SAT to SAT: Represent each gate as a new variable, and then represent the entire circuit in CNF form, with each clause having the form $(v\leftrightarrow\phi)$, where $v$ is the new variable, and the formula for the gate is given by $\phi$, using the variables for other gates to represent the inputs. This can be done by a simple traversal (in linear time, which is clearly optimal).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, if you hade three inputs, $x_1$, $x_2$, and $x_3$, with AND gates linking $x_1$ and $x_2$ as well as $x_2$ and $x_3$, and an OR gate linking their outputs, you could introduce three variables to represent the gates—$v_1$, $v_2$, and $v_3$, respectively—and rewrite the formula to $$(v_1\leftrightarrow(x_1\land x_2))\land (v_2\leftrightarrow(x_2\land x_3))\land (v_3\leftrightarrow(v_1\lor v_2))\land v_3\,.$$ Note that the output variable is included explicitly.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Introduction to Algorithms&lt;/em&gt; by Cormen et al. explains this in detail, in the chapter on NP-Completeness.&lt;/p&gt;&#xA;" OwnerUserId="901" LastEditorUserId="901" LastEditDate="2011-02-11T20:54:30.373" LastActivityDate="2011-02-11T20:54:30.373" CommentCount="8" ContentLicense="CC BY-SA 2.5" />
  <row Id="4869" PostTypeId="2" ParentId="2569" CreationDate="2011-02-11T22:22:17.440" Score="7" Body="&lt;p&gt;What I want to say is too long for (but really should be) a comment.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If I am reading the question correctly, you want a FPRAS (fully polynomial randomised approximation scheme) for either of the above quantities, each of which includes various #P-complete problems as special cases.  In particular, you want a general FPRAS in the case of planar graphs, by the use of cluster expansion.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I doubt that this is possible due to the fact that NP-completeness of the existence problem (e.g. proper colouring) implies that the corresponding counting problem (e.g. number of proper colourings) is complete in #P with respect to AP-reducibility (approximation-preserving).  See Dyer, Goldberg, Greenhill and Jerrum, Algorithmica (2004) 38: 471-500.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But perhaps I've misread the question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Actually, would you be able to explain to the uninitiated the meaning of high-temperature expansions?)&lt;/p&gt;&#xA;" OwnerUserId="233" LastActivityDate="2011-02-11T22:22:17.440" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="4871" PostTypeId="2" ParentId="4845" CreationDate="2011-02-12T02:20:46.953" Score="1" Body="&lt;p&gt;You may start from the connection between polynomial identity problem and exponential time classes. Polynomial identity problem has significant importance in both algorithm and&#xA;complexity theory. The recent breakthrough for faster exponential time exact algorithm for Hamiltonian cycle problem&#xA;was derived via a reduction to polynomial identity. From the complexity point of view,&#xA;derandomization of polynomial identity implies the separation of NEXP or PP from P/ploy.&#xA;Therefore, I believe that polynomial identity will continue to play an important role in both&lt;br&gt;&#xA;algorithm and complexity theory. It is closely related to some exponential time algorithmes, and &#xA;also the separations between exponential time classes and non-uniform circuit classes. &lt;/p&gt;&#xA;" OwnerUserId="3784" LastActivityDate="2011-02-12T02:20:46.953" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4872" PostTypeId="2" ParentId="189" CreationDate="2011-02-12T03:42:02.877" Score="4" Body="&lt;p&gt;Although perhaps as much a heuristic as an algorithm, since I heard about it a year or two ago, I think that the &lt;a href=&quot;http://en.wikipedia.org/wiki/Fast_inverse_square_root&quot; rel=&quot;nofollow&quot;&gt;fast inverse square root&lt;/a&gt; is interesting.  And even more intriguing that we don't know it's author or how she/he settled upon the magic number. &lt;/p&gt;&#xA;" OwnerUserId="1772" LastActivityDate="2011-02-12T03:42:02.877" CommentCount="0" CommunityOwnedDate="2011-02-12T03:42:02.877" ContentLicense="CC BY-SA 2.5" />
  <row Id="4873" PostTypeId="1" AcceptedAnswerId="4878" CreationDate="2011-02-12T06:52:01.083" Score="2" ViewCount="2337" Body="&lt;p&gt;I'm taking a basic course on programming language theory, and we're covering context-free grammar (BNF). Personally, I'm really interested in how to design syntax for a programming language. I'm planning to write a simple compiler for my graduate project, so what books are good for this area? Any feedback would be greatly appreciated.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks,&lt;br&gt;&#xA;Chan&lt;/p&gt;&#xA;" OwnerUserId="3770" LastEditorUserId="186" LastEditDate="2011-02-12T07:47:29.730" LastActivityDate="2011-02-13T12:59:18.290" Title="What are good books for learning grammar ( BNF )?" Tags="&lt;pl.programming-languages&gt;&lt;books&gt;" AnswerCount="2" CommentCount="3" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="4878" PostTypeId="2" ParentId="4873" CreationDate="2011-02-12T07:38:16.320" Score="5" Body="&lt;p&gt;For just learning about BNF grammars, a good reference is &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0201441241&quot; rel=&quot;noreferrer&quot;&gt;this&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, since you mentioned its with the interest of developing a compiler, the &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0201100886&quot; rel=&quot;noreferrer&quot;&gt;dragon book&lt;/a&gt; is probably the best reference possible.&lt;/p&gt;&#xA;" OwnerUserId="3793" LastActivityDate="2011-02-12T07:38:16.320" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4880" PostTypeId="1" AcceptedAnswerId="4886" CreationDate="2011-02-12T17:27:22.657" Score="14" ViewCount="2132" Body="&lt;p&gt;Consider the #P-complete problem of counting the number of vertex covers of a given graph $G = (V, E)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'd like to know if there is any result showing how the hardness of such problem varies with some parameter of $G$ (for example, $d = \frac{|E|}{|V|}$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My sensation is that the problem should be easier both when $G$ is sparse and when $G$ is dense, while it should be hard when $G$ is &quot;in the middle&quot;. Is this really the case?&lt;/p&gt;&#xA;" OwnerUserId="947" LastEditorUserId="947" LastEditDate="2011-02-13T16:29:59.953" LastActivityDate="2019-02-24T16:39:14.000" Title="Counting the number of vertex covers: when is it hard?" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;&lt;counting-complexity&gt;&lt;time-complexity&gt;" AnswerCount="4" CommentCount="8" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4882" PostTypeId="1" AcceptedAnswerId="4883" CreationDate="2011-02-12T18:09:31.697" Score="27" ViewCount="1182" Body="&lt;p&gt;Is a &lt;em&gt;deterministic&lt;/em&gt; polynomial-time algorithm known for the following problem: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Input: a natural number $n$ (in binary encoding)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Output: a prime number $p &amp;gt; n$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;(According to a list of open problems by Leonard Adleman, the problem was open in 1995.) &lt;/p&gt;&#xA;" OwnerUserId="392" LastEditorUserId="186" LastEditDate="2013-01-21T06:30:13.717" LastActivityDate="2013-01-21T06:30:13.717" Title="Finding a prime greater than a given bound" Tags="&lt;cc.complexity-theory&gt;&lt;open-problem&gt;&lt;nt.number-theory&gt;&lt;polynomial-time&gt;&lt;primes&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="4883" PostTypeId="2" ParentId="4882" CreationDate="2011-02-12T18:30:42.560" Score="23" Body="&lt;p&gt;The current best unconditional result was given by Odlyzko,  which finds a prime $p &amp;gt;N$ in $O(N^{1/2 + o(1)})$ time. The strong conjecture in Polymath4 project seeks to resolve if this can be done in polynomial time, under reasonable number-theoretic assumptions like the GRH. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://michaelnielsen.org/polymath1/index.php?title=Finding_primes&quot;&gt;http://michaelnielsen.org/polymath1/index.php?title=Finding_primes&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Currently the project seeks to answer the following question:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Given a number $N$ and an interval between $N$ and $2N$, check in time $O(N^{1/2 - c})$ for some $c&amp;gt;0$ if the interval contains a prime.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;So far, they have a strategy which determines the parity of the number of primes in the interval.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://polymathprojects.org/2010/06/29/draft-version-of-polymath4-paper/&quot;&gt;http://polymathprojects.org/2010/06/29/draft-version-of-polymath4-paper/&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="1710" LastActivityDate="2011-02-12T18:30:42.560" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4884" PostTypeId="2" ParentId="4882" CreationDate="2011-02-12T19:46:10.410" Score="14" Body="&lt;p&gt;Assuming &lt;a href=&quot;http://en.wikipedia.org/wiki/Cram%C3%A9r%27s_conjecture&quot;&gt;standard conjecture&lt;/a&gt; in number theory, which states that&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Cramér's conjecture&lt;/strong&gt;: Let $p_n$ be the n-th prime. Then $p_{n+1}-p_n = O(\log^2 p_n)$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;We have a deterministic polynomial-time algorithm for the problem, simply by running primality test on each number larger than $n$ start from $n+1$. (Of course, $n$ should be large enough; for small $n$ we treated separately.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But I'm not sure this can be proved unconditionally.&lt;/p&gt;&#xA;" OwnerUserId="1800" LastActivityDate="2011-02-12T19:46:10.410" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="4885" PostTypeId="1" AcceptedAnswerId="4920" CreationDate="2011-02-12T21:47:18.490" Score="22" ViewCount="6249" Body="&lt;p&gt;In quantum information theory, the distance between two quantum channels is often measured using the diamond norm. There are also a number of ways to measure distance between two quantum states, such as the trace distance, fidelity, etc. The &lt;a href=&quot;http://en.wikipedia.org/wiki/Channel-state_duality&quot;&gt;Jamiołkowski isomorphism&lt;/a&gt; provides a duality between quantum channels and quantum states.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is interesting, to me at least, because the diamond norm is notoriously hard to calculate, and the Jamiołkowski isomorphism would seem to imply some correlation between distance measures of quantum channels and quantum states. So, my question is this: Is there any known relation between the distance in the diamond norm and the distance between the associated states (in some measure)?&lt;/p&gt;&#xA;" OwnerUserId="204" LastEditorUserId="7286" LastEditDate="2012-05-07T14:32:09.040" LastActivityDate="2020-06-24T17:41:53.327" Title="Is there any connection between the diamond norm and the distance of the associated states?" Tags="&lt;quantum-computing&gt;&lt;it.information-theory&gt;&lt;quantum-information&gt;" AnswerCount="5" CommentCount="5" FavoriteCount="12" ContentLicense="CC BY-SA 2.5" />
  <row Id="4886" PostTypeId="2" ParentId="4880" CreationDate="2011-02-12T22:35:26.447" Score="15" Body="&lt;p&gt;The #VC problem of computing the number of vertex covers of a given graph remains #P-hard for 3-regular graphs; see for example [Greenhill, 2000].&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To show that the #VC problem remains #P-hard for graphs with at most &lt;span class=&quot;math-container&quot;&gt;$c\cdot n$&lt;/span&gt; edges, where &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt; is the number of vertices and &lt;span class=&quot;math-container&quot;&gt;$0&amp;lt;c&amp;lt;3/2$&lt;/span&gt;, reduce from the 3-regular case by adding a large enough independent set (of linear size). The number of vertex covers remains the same if you add an independent set.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Similarly, to show that the #VC problem remains #P-hard for graphs with at least &lt;span class=&quot;math-container&quot;&gt;$c\cdot n^2$&lt;/span&gt; edges, where &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt; is the number of vertices and &lt;span class=&quot;math-container&quot;&gt;$0&amp;lt;c&amp;lt;1/2$&lt;/span&gt;, reduce from #VC by adding a large enough clique component (of linear size). The number of vertex covers is multiplied by &lt;span class=&quot;math-container&quot;&gt;$p+1$&lt;/span&gt; if you add a clique of size &lt;span class=&quot;math-container&quot;&gt;$p$&lt;/span&gt; to a graph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Catherine S. Greenhill: &lt;a href=&quot;https://doi.org/10.1007/PL00001601&quot; rel=&quot;nofollow noreferrer&quot;&gt;The complexity of counting colourings and independent sets in sparse graphs and hypergraphs&lt;/a&gt;. Computational Complexity 9(1): 52-72 (2000)&lt;/p&gt;&#xA;" OwnerUserId="72" LastEditorUserId="2367" LastEditDate="2019-02-24T16:39:14.000" LastActivityDate="2019-02-24T16:39:14.000" CommentCount="1" ContentLicense="CC BY-SA 4.0" />
  <row Id="4887" PostTypeId="2" ParentId="4880" CreationDate="2011-02-12T22:44:44.537" Score="8" Body="&lt;p&gt;Set is a vertex cover iff its complement is an independent set, therefore this problem is equivalent to counting independent sets.&lt;/p&gt;&#xA;&lt;p&gt;Algebraic counting of independent sets is FPT for graphs of bounded bounded clique-width. For instance, see Courcelle's &amp;quot;A multivariate interlace polynomial and its computation for graphs of bounded clique-width&amp;quot;, where they compute a generalization of independence polynomial. Adding up coefficients of independence polynomial gives the number of independent sets.&lt;/p&gt;&#xA;&lt;p&gt;Graphs with maximum degree 3 can have unbounded clique-width.&lt;/p&gt;&#xA;&lt;p&gt;Numerical counting of independent sets is tractable when the problem exhibits &amp;quot;correlation decay&amp;quot;. Dror Weitz (&lt;a href=&quot;http://dimacs.rutgers.edu/~dror/pubs/ind_from_tree.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;STOC'06&lt;/a&gt;) gives a deterministic FPTAS for counting weighted independent sets on graphs of maximum degree &lt;span class=&quot;math-container&quot;&gt;$d$&lt;/span&gt; when the weight &lt;span class=&quot;math-container&quot;&gt;$\lambda$&lt;/span&gt; is&lt;/p&gt;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$$\lambda&amp;lt;\frac{(\Delta-1)^{\Delta-1}}{(\Delta-2)^\Delta}$$&lt;/span&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&quot;https://i.stack.imgur.com/Tovoq.png&quot; rel=&quot;nofollow noreferrer&quot;&gt;&lt;img src=&quot;https://i.stack.imgur.com/Tovoq.png&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&#xA;&lt;sub&gt;(source: &lt;a href=&quot;http://yaroslavvb.com/upload/save/weitz.png&quot; rel=&quot;nofollow noreferrer&quot;&gt;yaroslavvb.com&lt;/a&gt;)&lt;/sub&gt;&lt;/p&gt;&#xA;&lt;p&gt;Regular (unweighted) independent set counting corresponds to &lt;span class=&quot;math-container&quot;&gt;$\lambda=1$&lt;/span&gt; so his algorithm gives FPTAS for number of vertex covers on graphs of maximum degree 5.&lt;/p&gt;&#xA;&lt;p&gt;His algorithm is based on building a self-avoiding walk tree at each vertex, and truncating this tree at depth &lt;span class=&quot;math-container&quot;&gt;$d$&lt;/span&gt;. Branching factor of self-avoiding walk trees determines the range of &lt;span class=&quot;math-container&quot;&gt;$\lambda$&lt;/span&gt; for which small depth &lt;span class=&quot;math-container&quot;&gt;$d$&lt;/span&gt; gives a good approximation, and formula above is derived by using maximum degree of the graph to upper bound this branching factor.&lt;/p&gt;&#xA;" OwnerUserId="434" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2019-02-22T20:12:31.193" CommentCount="2" ContentLicense="CC BY-SA 4.0" />
  <row Id="4888" PostTypeId="2" ParentId="4880" CreationDate="2011-02-13T00:04:13.360" Score="9" Body="&lt;p&gt;Following on Yaroslav's answer, Luby and Vigoda were the first to show a FPRAS for #IS under a density condition (maximum degree 4, which I suppose is weaker than Weitz's result), while Dyer, Frieze and Jerrum showed that there is no FPRAS for #IS if the maximum degree of the graph is 25 unless RP = NP.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;References:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Martin Dyer, Alan Frieze, and Mark Jerrum. On counting independent sets in sparse graphs. FOCS 1999.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Michael Luby and Eric Vigoda. Approximately counting up to four. STOC 1997.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See also Jerrum's ETH lecture notes, &quot;Counting, sampling and integrating: algorithms and complexity&quot;.&lt;/p&gt;&#xA;" OwnerUserId="233" LastEditorUserId="233" LastEditDate="2011-02-13T00:33:00.773" LastActivityDate="2011-02-13T00:33:00.773" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="4889" PostTypeId="1" AcceptedAnswerId="4890" CreationDate="2011-02-13T05:00:12.977" Score="9" ViewCount="537" Body="&lt;p&gt;Well-known examples of computation inspired by natural phenomenon are quantum computers and DNA computers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is known about the potential and/or limitations of computing with Maxwell's laws or gravity?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;That is, incorporating nature's &quot;quick&quot; solutions to Maxwell's equations or the n-body problem directly into a general-purpose algorithm?&lt;/p&gt;&#xA;" OwnerDisplayName="user3804" LastEditorUserId="186" LastEditDate="2011-02-13T07:09:56.467" LastActivityDate="2012-12-01T21:16:54.223" Title="Natural computation based on fundamental forces" Tags="&lt;computability&gt;&lt;machine-models&gt;&lt;physics&gt;&lt;natural-computing&gt;" AnswerCount="5" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4890" PostTypeId="2" ParentId="4889" CreationDate="2011-02-13T06:52:32.043" Score="11" Body="&lt;p&gt;It's not clear what an &quot;algorithm&quot; based on natural forces implies. Arguably, a quantum computer already operates based on 'natural principles' (excluding gravity, but including Maxwell's equations). What are the atomic steps in your 'natural algorithm' ? If you're talking about taking an $n$-body system and letting it &quot;evolve&quot; to perform a computation, how would you measure its running time ? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Along these lines though, &lt;a href=&quot;http://hrl.harvard.edu/publications/brockett88dynamical.pdf&quot;&gt;Roger Brockett did some interesting work&lt;/a&gt; in the 80s on viewing sorting and linear programming as the solution to a dynamical system. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2011-02-13T06:52:32.043" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="4891" PostTypeId="1" CreationDate="2011-02-13T07:47:05.767" Score="16" ViewCount="393" Body="&lt;p&gt;As everyone knows, Garey and Johnson's famous book (and many others) provides an excellent reference for reduction technique in classical setting. Are there any surveys or books on the&#xA;topic of reduction technique in parameterized algorithm, say the fpt reduction?&lt;/p&gt;&#xA;" OwnerUserId="553" LastEditorUserId="1800" LastEditDate="2011-02-14T08:08:43.203" LastActivityDate="2011-02-14T08:08:43.203" Title="Any references for techniques in FPT reductions?" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;reductions&gt;&lt;parameterized-complexity&gt;" AnswerCount="3" CommentCount="1" FavoriteCount="6" ContentLicense="CC BY-SA 2.5" />
  <row Id="4892" PostTypeId="2" ParentId="4891" CreationDate="2011-02-13T07:58:52.897" Score="11" Body="&lt;p&gt;Both the original &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/038794883X&quot; rel=&quot;noreferrer&quot;&gt;parametrized complexity book by Downey and Fellows&lt;/a&gt;, and the &lt;a href=&quot;http://www2.informatik.hu-berlin.de/~grohe/pub/pkbuch.html&quot; rel=&quot;noreferrer&quot;&gt;newer book by Flum and Grohe&lt;/a&gt;, are good references for reduction techniques. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2011-02-13T07:58:52.897" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="4893" PostTypeId="2" ParentId="4889" CreationDate="2011-02-13T10:38:32.543" Score="10" Body="&lt;p&gt;For gravity, there has been some interest in &quot;relativistic computing&quot; which uses the structure of spacetime to speed up computations in some way. Some ideas include the &lt;a href=&quot;http://en.wikipedia.org/wiki/Malament%E2%80%93Hogarth_spacetime&quot;&gt;Malament-Hogarth Spacetime&lt;/a&gt; and computing via black holes: Start your computer with a computation to, say, decide the Goldbach conjecture (by looking for a counterexample) and then throw yourself into a black hole. Infinite time can pass for the computer outside the hole to look for a counterexample, but this is only experienced as finite time for you inside, so if you don't receive a signal with a counterexample by some deadline you &quot;know&quot; that none exists.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You might also be interested in the &lt;a href=&quot;http://www.pc2010.uac.pt/index.html&quot;&gt;Physics and Computation Workshop&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="3158" LastActivityDate="2011-02-13T10:38:32.543" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4894" PostTypeId="2" ParentId="4873" CreationDate="2011-02-13T12:59:18.290" Score="3" Body="&lt;p&gt;I can recommend the &lt;a href=&quot;http://www.pragprog.com/titles/tpantlr/the-definitive-antlr-reference&quot; rel=&quot;nofollow&quot;&gt;ANTLR Reference&lt;/a&gt;. It explains many issues with language parsing (without the depth of the Dragon Book, though) and introduces you to a powerful (free) tool, namely a compiler generator. For both reasons, it might be a good starting point for your studies.&lt;/p&gt;&#xA;" OwnerUserId="1546" LastActivityDate="2011-02-13T12:59:18.290" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4895" PostTypeId="1" AcceptedAnswerId="4899" CreationDate="2011-02-13T14:57:24.563" Score="18" ViewCount="839" Body="&lt;p&gt;Is it true that there are problems in the polynomial hierarchy solvable in time $O(n^k)$ (by an alternating Turing machine in some level of the polynomial hierarchy) that are not solvable in $O(n^{k-1})$ in any level of the polynomial hierarchy?&#xA;In other words - does there exist a time hierarchy theorem for the polynomial hierarchy like there does for P and NP?&#xA;If there does - a reference would be great.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The difficulty I ran into is that the simulating machine, when simulating machines from all levels of the hierarchy, is not in any distinct level of the hierarchy. Which leads to a related question - what is the smallest class such a simulating machine belongs to? Is there any sense in defining a class with $O(n)$ alternations (or $O(\log n)$ / $O(\log \log n)$)?&lt;/p&gt;&#xA;" OwnerUserId="3808" LastEditorUserId="3808" LastEditDate="2011-02-15T15:19:51.843" LastActivityDate="2011-02-15T15:19:51.843" Title="Is there a Time Hierarchy theorem for PH?" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;polynomial-hierarchy&gt;&lt;time-hierarchy&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="4896" PostTypeId="2" ParentId="4880" CreationDate="2011-02-13T15:16:47.673" Score="9" Body="&lt;p&gt;With respect to exponential time complexity, general instances and instances with constant maximum degree are equally hard: The sparsification lemma of &lt;a href=&quot;http://dx.doi.org/10.1109/SFCS.1998.743516&quot; rel=&quot;noreferrer&quot;&gt;Impagliazzo, Paturi, Zane (2002)&lt;/a&gt; shows that $n$-variable instances of $d$-Sat can be reduced to instances of $d$-Sat with at most $f(d,\epsilon)\cdot n$ clauses in time $\exp(\epsilon n)$. As observed in &lt;a href=&quot;http://dx.doi.org/10.1007/978-3-642-14165-2&quot; rel=&quot;noreferrer&quot;&gt;joint work&lt;/a&gt; with Husfeldt and Wahlén, the sparsification lemma works for the counting versions of $d$-Sat, too, and especially for the case of counting $2$-Sat (which is equivalent to counting independent sets and counting vertex covers).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Moreover, counting independent sets in an $n$-vertex graph cannot be done in time $\exp(o(n))$ unless the &lt;a href=&quot;http://en.wikipedia.org/wiki/Exponential_time_hypothesis&quot; rel=&quot;noreferrer&quot;&gt;exponential time hypothesis&lt;/a&gt; fails. This is a yet unpublished observation announced in &lt;a href=&quot;http://www.dagstuhl.de/Materials/Files/10/10481/10481.DellHolger.Slides.pdf&quot; rel=&quot;noreferrer&quot;&gt;a talk&lt;/a&gt; during the Dagstuhl Seminar &lt;a href=&quot;http://www.dagstuhl.de/10481&quot; rel=&quot;noreferrer&quot;&gt;Computational Counting&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="239" LastActivityDate="2011-02-13T15:16:47.673" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="4897" PostTypeId="2" ParentId="4891" CreationDate="2011-02-13T15:18:54.717" Score="3" Body="&lt;p&gt;I haven't had the occasion to open it yet, but I guess you may be interested in &quot;Exact exponential algorithms&quot; by Fomin and Kratsch (from last year)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here it its table of contents :&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.springerlink.com/content/978-3-642-16532-0#section=800200&amp;amp;page=11&amp;amp;locus=2&quot; rel=&quot;nofollow&quot;&gt;http://www.springerlink.com/content/978-3-642-16532-0#section=800200&amp;amp;page=11&amp;amp;locus=2&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Nathann&lt;/p&gt;&#xA;" OwnerUserId="1209" LastActivityDate="2011-02-13T15:18:54.717" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4898" PostTypeId="2" ParentId="4891" CreationDate="2011-02-13T15:52:36.087" Score="5" Body="&lt;p&gt;Techniques for the design of algorithms often help in reductions as well. Therefore it may be good to learn about techniques used to design FPT algorithms, for which the notes of the &lt;a href=&quot;http://www-sop.inria.fr/mascotte/seminaires/AGAPE/notes&quot; rel=&quot;nofollow&quot;&gt;Spring School on Fixed Parameter and Exact Algorithms&lt;/a&gt; (2009) may be a starting point. In particular, you may want to look at the following excellent overview talks:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Dániel Marx on &lt;em&gt;FPT algorithmic techniques&lt;/em&gt; (&lt;a href=&quot;http://www-sop.inria.fr/mascotte/seminaires/AGAPE/lecture_notes/Agape%2009%20-%20Daniel%20Marx%20-%20FPT%20algorithmic%20techniques%20-%20Presentation.pdf&quot; rel=&quot;nofollow&quot;&gt;slides&lt;/a&gt;).&lt;/li&gt;&#xA;&lt;li&gt;Thore Husfeldt on &lt;em&gt;A Taxonomic Introduction to Exact Algorithms&lt;/em&gt; (&lt;a href=&quot;http://www-sop.inria.fr/mascotte/seminaires/AGAPE/lecture_notes/Agape%2009%20-%20Thore%20Husfeldt%20-%20A%20Taxonomic%20Introduction%20to%20Exact%20Algorithms%20-%20Slides.pdf&quot; rel=&quot;nofollow&quot;&gt;slides&lt;/a&gt; | &lt;a href=&quot;http://www-sop.inria.fr/mascotte/seminaires/AGAPE/lecture_notes/Agape%2009%20-%20Thore%20Husfeldt%20-%20A%20Taxonomic%20Introduction%20to%20Exact%20Algorithms.pdf&quot; rel=&quot;nofollow&quot;&gt;lecture notes&lt;/a&gt;).&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="239" LastEditorUserId="239" LastEditDate="2011-02-13T20:04:47.763" LastActivityDate="2011-02-13T20:04:47.763" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4899" PostTypeId="2" ParentId="4895" CreationDate="2011-02-13T16:28:06.903" Score="17" Body="&lt;p&gt;Yes. For example, the usual proofs of the time hierarchy theorem (by directly simulating arbitrary machines) can be used to show that for every $c \geq 1$, $\Sigma_c TIME[n^k]$ is not a subset of $\Pi_c TIME[n^{k-1}]$. The reason for switching from $\Sigma$ to $\Pi$ is that, in this diagonalization argument, we have to do the &quot;opposite&quot; of the machine we're simulating, so we have to run in universal mode when the simulating machine is in existential mode, and vice-versa.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can also get a result like this without switching from $\Sigma$ to $\Pi$: for every $c \geq 1$, $\Sigma_c TIME[n^k]$ is not a subset of $\Sigma_c TIME[n^{k-1}]$. This can be done using the proof of the time hierarchy due to Zak (reference: &quot;&lt;a href=&quot;http://dx.doi.org/10.1016/0304-3975%2883%2990015-4&quot;&gt;A Turing machine time hierarchy&lt;/a&gt;&quot;, Theoretical Computer Science 26(3):327--333, 1983). For an explicit reference to this version of the time hierarchy theorem, see &lt;a href=&quot;http://pages.cs.wisc.edu/~dieter/&quot;&gt;Dieter van Melkebeek&lt;/a&gt;'s &quot;&lt;a href=&quot;http://pages.cs.wisc.edu/~dieter/Research/sat-lb-survey.html&quot;&gt;A Survey of Lower Bounds for Satisfiability and Related Problems&lt;/a&gt;&quot; (available on his home page).&lt;/p&gt;&#xA;" OwnerUserId="225" LastEditorUserId="186" LastEditDate="2011-02-13T18:30:25.063" LastActivityDate="2011-02-13T18:30:25.063" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="4900" PostTypeId="2" ParentId="4889" CreationDate="2011-02-13T16:33:30.073" Score="13" Body="&lt;p&gt;At present, quantum computation is the most powerful of computational model based on known physics to have been experimentally realised, and can efficiently simulate Maxwell's equations, and pretty much every other physical phenomenon you encounter in day to day life. As the others have mentioned, one exception to this is general spacetimes allowed as solutions in general relativity.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There has been quite a lot of interest in the computational power of computers with access to closed time like curves, for example. However there is absolutely no evidence that these exist in nature or that they can be created artificially. So, while there are potentially interesting computational models that incorporate general relativity in some form, there is significant doubt over whether such models can be realised, and before we can have the most general model of physical computation we need a solid theory of quantum gravity.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Further the interesting features of general relativity tend to only show up in regions of high curvature, which is very different from the almost flat region of spacetime we inhabit and the effects of relativity in such flat(ish) space offer no computational advantage.&lt;/p&gt;&#xA;" OwnerUserId="204" LastActivityDate="2011-02-13T16:33:30.073" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4902" PostTypeId="2" ParentId="4895" CreationDate="2011-02-13T17:53:47.127" Score="3" Body="&lt;p&gt;The answer for the revised question (revision 4 of the question) is no.  If a decision problem &lt;i&gt;L&lt;/i&gt; is solvable in time O(&lt;i&gt;n&lt;/i&gt;&lt;sup&gt;&lt;i&gt;k&lt;/i&gt;&lt;/sup&gt;) by a ∑&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt;P machine, then &lt;i&gt;L&lt;/i&gt; can be solved in linear time by a Turing machine with the oracle for &lt;i&gt;L&lt;/i&gt;, which is a ∑&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;+1&lt;/sub&gt;P machine.  Therefore, ∑&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt;TIME[O(&lt;i&gt;n&lt;/i&gt;&lt;sup&gt;&lt;i&gt;k&lt;/i&gt;&lt;/sup&gt;)] ⊆ Σ&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;+1&lt;/sub&gt;TIME[O(&lt;i&gt;n&lt;/i&gt;)].&lt;/p&gt;&#xA;" OwnerUserId="567" LastActivityDate="2011-02-13T17:53:47.127" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="4904" PostTypeId="1" AcceptedAnswerId="4911" CreationDate="2011-02-14T04:02:46.923" Score="11" ViewCount="311" Body="&lt;p&gt;This question was motivated by a question asked on &lt;a href=&quot;https://stackoverflow.com/questions/4898511/problem-bobs-sale&quot;&gt;stackoverflow&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose you are given a rooted tree $T$ (i.e. there is a root and nodes have children etc) on $n$ nodes (labelled $1, 2, \dots, n$). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Each vertex $i$ has a non-negative integer weight associated: $w_i$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Additionally, you are given an integer $k$, such that $1 \le k \le n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The weight $W(S)$ of a set of nodes $S \subseteq \{1,2,\dots, n\}$ is the sum of weights of the nodes: $\sum_{s \in S} w_s$.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Given input $T$, $w_i$ and $k$, &lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;The task is to find a &lt;em&gt;minimum&lt;/em&gt; weight&#xA;  sub-forest* $S$, of $T$, such that $S$&#xA;  has exactly $k$ nodes (i.e. $|S| =&#xA;&amp;gt; k$). &lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;In other words, for any subforest $S'$ of $T$, such that $|S'| = k$, we must have $W(S) \leq W(S')$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;If the number of children of each node were bounded (for instance binary trees), then there is a polynomial time algorithm using dynamic programming.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have a feeling that this is NP-Hard for general trees, but I haven't been able to find any references/proof. I even looked &lt;a href=&quot;https://cstheory.stackexchange.com/questions/1215/np-hard-problems-on-trees&quot;&gt;here&lt;/a&gt;, but could not find something which might help. I have feeling that this will remain NP-Hard even if you restrict $w_i \in \{0,1\}$ (and this might be easier to prove).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This seems like it should be a well studied problem. &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Does anyone know if this is an NP-Hard problem/there is a known P time algorithm? &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;*A sub-forest of $T$ is a subset $S$ of nodes of the tree $T$, such that if $x \in S$, then all the children of $x$ are in $S$ too. (i.e. it is a disjoint union of rooted sub-trees of $T$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;PS: Please pardon me if it turns out that I missed something obvious and the question is really off-topic. &lt;/p&gt;&#xA;" OwnerUserId="126" LastEditorUserId="-1" LastEditDate="2017-05-23T12:40:09.333" LastActivityDate="2011-02-14T13:47:26.860" Title="Minimum weight subforest of given cardinality" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;np-hardness&gt;&lt;tree&gt;&lt;application-of-theory&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="4905" PostTypeId="1" AcceptedAnswerId="4910" CreationDate="2011-02-14T04:03:23.693" Score="23" ViewCount="1720" Body="&lt;p&gt;I've seen (and heard) it claimed that it is safe to add the classical axiom of excluded middle to Coq, but I can not seem to find a paper supporting this claim. The papers I see listed on the &lt;a href=&quot;http://coq.inria.fr/cocorico/TheoryBehindCoq&quot;&gt;Coq wiki&lt;/a&gt; about excluded middle are showing inconsistency with impredicative Set.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Indeed, it seems that Coquand states that adding Excluded Middle (an inhabitant of $A+\neg A$) is inconsistent for CoC in section 4.5.3 of his &lt;a href=&quot;http://www.cs.chalmers.se/~coquand/meta.pdf&quot;&gt;description&lt;/a&gt;(PDF) of the metatheory of CoC. However, this section is a bit abstruse to me, so I may very well be misreading him.&lt;/p&gt;&#xA;" OwnerUserId="319" LastEditorUserId="319" LastEditDate="2011-02-14T05:23:06.300" LastActivityDate="2011-02-14T17:02:35.787" Title="Where is the proof that Coq + Excluded Middle is consistent" Tags="&lt;reference-request&gt;&lt;lo.logic&gt;&lt;coq&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="4906" PostTypeId="1" CreationDate="2011-02-14T05:57:36.583" Score="13" ViewCount="942" Body="&lt;p&gt;Vertex Cover can be easily reduced to Independent Set and vice versa.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, in the context of parameterized complexity, Independent set is harder than Vertex Cover. A &lt;a href=&quot;http://en.wikipedia.org/wiki/Kernelization&quot;&gt;kernel&lt;/a&gt; with $2k$ vertices exists for Vertex Cover, but Independent Set is &lt;a href=&quot;http://en.wikipedia.org/wiki/Parameterized_complexity#W.5B1.5D&quot;&gt;W&lt;a href=&quot;http://en.wikipedia.org/wiki/Kernelization&quot;&gt;1&lt;/a&gt; hard&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;How does the nature of Independent Set change in&#xA;  the context of FPT and why?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="3816" LastEditorUserId="239" LastEditDate="2011-02-14T12:46:11.930" LastActivityDate="2011-03-10T12:33:33.167" Title="Hardness of FPT problems" Tags="&lt;cc.complexity-theory&gt;&lt;parameterized-complexity&gt;&lt;fixed-parameter-tractable&gt;" AnswerCount="5" CommentCount="0" FavoriteCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="4907" PostTypeId="1" CreationDate="2011-02-14T06:15:01.473" Score="10" ViewCount="21592" Body="&lt;p&gt;I am a CS student. We did graph theory in one course. I found it interesting. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;What are the real applications of graph theory in the computer science field? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, I found that some concepts in graph theory can be used to design networks. What are other similar applications?&lt;/p&gt;&#xA;" OwnerDisplayName="user3819" LastEditorDisplayName="user34637" LastEditDate="2017-09-14T12:49:27.963" LastActivityDate="2017-09-14T12:49:27.963" Title="Application of graph theory in computer science" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;big-list&gt;&lt;application-of-theory&gt;" AnswerCount="6" CommentCount="10" FavoriteCount="7" CommunityOwnedDate="2011-02-14T07:55:44.540" ContentLicense="CC BY-SA 3.0" />
  <row Id="4908" PostTypeId="2" ParentId="4906" CreationDate="2011-02-14T06:27:56.757" Score="3" Body="&lt;p&gt;This is a very indirect answer, and might not quite address your concern. But FPT and the W hierarchy are closely linked with approximability (FPT problems often have PTASs etc). In that context, note that for any graph, VC = n - MIS, and so an approximation for VC doesn't give an approximation for MIS. This is why you need L-reductions for approximations. I suspect there's an equivalent &quot;kernel-preserving reduction&quot; notion for parameterized complexity as well. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2011-02-14T06:27:56.757" CommentCount="6" ContentLicense="CC BY-SA 2.5" />
  <row Id="4909" PostTypeId="2" ParentId="4907" CreationDate="2011-02-14T07:52:51.230" Score="-3" Body="&lt;p&gt;I once applied graph theory in a &lt;a href=&quot;http://en.wikipedia.org/wiki/Ladder_logic&quot; rel=&quot;nofollow&quot;&gt;ladder diagram editor and compiler&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="3821" LastActivityDate="2011-02-14T07:52:51.230" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4910" PostTypeId="2" ParentId="4905" CreationDate="2011-02-14T09:56:10.347" Score="12" Body="&lt;p&gt;Actually, in section 4.5.3, he doesn't quite say that EM+impredicativity is inconsistent. He says that when you assume it, the model must becomes degenerately proof-irrelevant (the interpretation of all types other than Prop can  have at most one element). Andy Pitts describes a similar phenomenon &lt;a href=&quot;http://www.cl.cam.ac.uk/~amp12/papers/nontpt/nontpt.ps.gz&quot;&gt;&quot;Non-trivial Power Types Can't Be Subtypes of Polymorphic Types&quot;&lt;/a&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For predicative versions of type theory, it's probably easier to just do the consistency proof than to Google for it -- universe stratification gives you everything you need for the simple-minded set-theoretic model of types (i.e., types are sets, terms are maps) to work out. Just observe that sets are closed under indexed sums and products, and get cozy with the axiom of replacement when interpreting universes. This is academic bad practice, of course, but the proof is still worth doing for yourself.&lt;/p&gt;&#xA;" OwnerUserId="657" LastEditorUserId="657" LastEditDate="2011-02-14T17:02:35.787" LastActivityDate="2011-02-14T17:02:35.787" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="4911" PostTypeId="2" ParentId="4904" CreationDate="2011-02-14T10:04:12.723" Score="7" Body="&lt;p&gt;Similar to the solution for a binary tree, you can solve it in polynomial time on a tree without degree restriction:&#xA;First, generalize the problem such that every node also has a &quot;count&quot; $c_i\in\{0,1\}$, and the problem is to find a subforest $S$ of count $k=\sum_{i\in S} c_i$.&#xA;Generalize the dynamic programming approach to this version (it still works with a table, given a fixed count $C$, what is the minimal weight subforest in the subtree having count precisely $C$)  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Keep the original tree with nodes of count 1.  Every node $v$ with degree greater than 2 is split into a binary tree with deg$(v)$ leaves (the shape does not matter).  The new nodes have count and weight 0. Solve the problem on the new tree. When reading out the solution ignore any new node; this will still be a subforest of the same weight.  Because any original subforest translates into a new subforest of the same weight, the found subforest is optimal.&lt;/p&gt;&#xA;" OwnerUserId="3049" LastEditorUserId="3049" LastEditDate="2011-02-14T11:36:44.620" LastActivityDate="2011-02-14T11:36:44.620" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="4912" PostTypeId="2" ParentId="4906" CreationDate="2011-02-14T12:36:35.850" Score="9" Body="&lt;p&gt;Main idea of the answer: if we reduce an instance of parameterized Independent Set to parameterized Vertex Cover, then the parameter than we end up with depends on the size of the graph, and does not only depend on the input parameter. Now for some more detail.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As you know, a parameterized problem $Q$ is in (uniform) FPT if there is an algorithm that decides whether an input $(x,k)$ is contained in $Q$ in time $f(k) |x|^{O(1)}$ for some function $f$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since you can decide whether a graph $G$ has a vertex cover of size $k$ by picking an edge, and branching on which of its two endpoints to put in the vertex cover, this branching only goes $k$ deep (else you've put more than $k$ vertices in the cover), and easily runs in time $O(2^k n^2)$; therefore $k$-Vertex Cover is in FPT.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now suppose we want to try use this algorithm to show that parameterized Independent Set is in FPT; assume we are given a graph $G$ on $n$ vertices and want to decide whether it has an independent set of size $\ell$. This is equivalent to asking whether $G$ has a vertex cover of size $n - \ell$. So we use our above algorithm to compute the answer in $O(2^{n - \ell} n^2)$ time. For our FPT algorithm, the exponential function in the running time may depend on the parameter, which is $\ell$, but it may NOT depend on the size of the input, which is $n$; but the approach we sketched uses time exponential in $n - \ell$ and is therefore not an FPT parameter with respect to the parameter $\ell$. This is why the fact that Vertex Cover is in FPT does not imply that Independent Set is in FPT.&lt;/p&gt;&#xA;" OwnerUserId="122" LastActivityDate="2011-02-14T12:36:35.850" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="4913" PostTypeId="2" ParentId="4906" CreationDate="2011-02-14T12:37:38.303" Score="6" Body="&lt;p&gt;I wouldn't say that the 'nature' of the problem changes, whatever that is supposed to mean. All that changes is the parameter, that is, the way in which you measure the difficulty of the problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Graphs that have a vertex cover of size at most $k$ are so structured that it's possible to efficiently reduce them in size: We can greedily find a maximal matching of size at most $k$ and the rest of the graph is an independent set of size at least $n-2k$. Using reduction rules such as the crown reduction, the number of vertices can be reduced to at most $2k$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, graphs which have vertex covers of size at most $n-k$ (or equivalently, maximum independents have size at least $k$) don't seem to have such a simple structure. This can be made precise, as you point out: their structure allows us to encode any $W[1]$-problem.&lt;/p&gt;&#xA;" OwnerUserId="239" LastEditorUserId="239" LastEditDate="2011-03-10T12:33:33.167" LastActivityDate="2011-03-10T12:33:33.167" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4914" PostTypeId="2" ParentId="4906" CreationDate="2011-02-14T13:20:42.677" Score="4" Body="&lt;p&gt;The following may give some intuition for the difference. A subset of vertices S is a vertex cover of G=(V,E) if and only if V-S is an independent set, so if MVC is the size of a minimum vertex cover then MIS=|V|-MVC is the size of the maximum independent set. An FPT algorithm parameterized by X allows exponential runtime as a function of X. A random graph on n vertices with edge probability one half has with high probability MIS of size about 2logn and MVC of size about n-2logn. Thus, at least for these graphs, an FPT algorithm parameterized by MVC simply allows much more time than one parameterized by MIS.&lt;/p&gt;&#xA;" OwnerDisplayName="user3824" LastActivityDate="2011-02-14T13:20:42.677" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4915" PostTypeId="1" AcceptedAnswerId="4927" CreationDate="2011-02-14T13:49:03.060" Score="19" ViewCount="1876" Body="&lt;p&gt;When we consider an approximation algorithm for a minimization problem, the integrality gap of an IP formulation for this problem gives a lower bound of an approximation ratio for certain class of algorithms (such as rounding or primal-dual algorithm).  In fact, there are many problems whose best approximation ratio matches the integrality gap.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some algorithm may have a better approximation ratio than the integrality gap for some problem, but I don't know if such an example exists or not.  If the answer is yes, could you give some examples?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I know that some problems admit multiple mathematical formulations.  In such cases, consider the mathematical formulation with the smallest integrality gap, as long as it can be solved in polynomial time (perhaps some formulations may use separation oracles).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This question is related to &lt;a href=&quot;https://cstheory.stackexchange.com/questions/392/the-importance-of-integrality-gap&quot;&gt;[the question: The importance of Integrality Gap]&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="3825" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2011-02-14T22:47:18.733" Title="Integrality gap and approximation ratio" Tags="&lt;ds.algorithms&gt;&lt;approximation-algorithms&gt;&lt;linear-programming&gt;&lt;integrality-gap&gt;" AnswerCount="3" CommentCount="10" FavoriteCount="14" ContentLicense="CC BY-SA 2.5" />
  <row Id="4917" PostTypeId="2" ParentId="4784" CreationDate="2011-02-14T14:14:15.450" Score="1" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;Are you interested in a wiki devoted&#xA;  to the above subject and are you going&#xA;  to contribute something?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I am interested and I am willing to contribute, at least a little bit in my small domain of expertise. I don't really understand why you want to restrict your attention to approximation. For instance there is also an outdated &lt;a href=&quot;http://www.sprg.uniroma2.it/home/cesati/research/compendium/&quot; rel=&quot;nofollow&quot;&gt;Compendium of Parameterized Problems&lt;/a&gt; devoted to Fixed-parameter algorithms.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, the last portion of G&amp;amp;J can be seen as a NP-hardness compendium.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;IMHO, you should think about a Computational Problems Compendium where, for each problem, you state the most relevant (good or bad) results. &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What is your preferred format for this&#xA;  wiki (see my preferred format in&#xA;  comments)?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I fully agree with the format proposed in Anthony Labarre's reply.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Should we use a wiki farm or a wiki&#xA;  engine?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I have a slight preference for a self-hosted wiki, but a hosted wiki would be fine.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My only suggestion is that, in case you choose a wiki farm, be sure to be able to export all data. You cannot be sure that the farm will be shut down some day.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;In the latter case, what is your suggestion for a wiki engine? MediaWiki?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;IMHO a requirement is to choose an engine supporting LaTeX format.&#xA;Mediawiki and &lt;a href=&quot;http://Dokuwiki.org&quot; rel=&quot;nofollow&quot; title=&quot;Dokuwiki&quot;&gt;Dokuwiki&lt;/a&gt; are the most widespread and are both excellent choices.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Mediawiki is a bit more complex to install and manage (I would say moderately complex) but its syntax is likely to be familiar to most would-be contributors.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Dokuwiki is more lightweight (in both resources needed and management effort) but the syntax is partly different from Mediawiki's.&lt;/p&gt;&#xA;" OwnerUserId="474" LastActivityDate="2011-02-14T14:14:15.450" CommentCount="0" CommunityOwnedDate="2011-02-14T14:14:15.450" ContentLicense="CC BY-SA 2.5" />
  <row Id="4919" PostTypeId="2" ParentId="4907" CreationDate="2011-02-14T16:56:53.270" Score="2" Body="&lt;p&gt;Modelling networks are done using graphs. For example if you need to study broadcasting or multicasting in certain types of network topologies you would use graphs to model the networks. For example:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;hypergraphs&lt;/li&gt;&#xA;&lt;li&gt;complete graphs&lt;/li&gt;&#xA;&lt;li&gt;star graphs&lt;/li&gt;&#xA;&lt;li&gt;meshes&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;When you model networks using graphs you can use all the power of graph theory to analyse the network.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is just one fo many applications of graph theory in computer science. &lt;/p&gt;&#xA;" OwnerUserId="714" LastActivityDate="2011-02-14T16:56:53.270" CommentCount="0" CommunityOwnedDate="2011-02-14T16:56:53.270" ContentLicense="CC BY-SA 2.5" />
  <row Id="4920" PostTypeId="2" ParentId="4885" CreationDate="2011-02-14T17:47:45.963" Score="29" Body="&lt;p&gt;For a quantum channel $\Phi$, let us write $J(\Phi)$ to denote the associated state:&#xA;$$&#xD;&#xA;J(\Phi) = \frac{1}{n} \sum_{1\leq i,j \leq n} \Phi(|i \rangle \langle j|) \otimes |i \rangle \langle j|.&#xD;&#xA;$$&#xA;Here we are assuming that the channel maps $M_n(\mathbb{C})$ (i.e., $n\times n$ complex matrices) to $M_m(\mathbb{C})$ for whatever choice of positive integers $n$ and $m$ you like.  The matrix $J(\Phi)$ is sometimes called the Choi matrix or Choi-Jamiolkowski representation of $\Phi$, but it is more frequent that those terms are used when the $\frac{1}{n}$ normalization is omitted.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, suppose that $\Phi_0$ and $\Phi_1$ are quantum channels.  We may define the &quot;diamond norm distance&quot; between them as&#xA;$$&#xD;&#xA;\| \Phi_0 - \Phi_1 \|_{\Diamond} =&#xD;&#xA;\sup_{\rho} \: \| (\Phi_0 \otimes \operatorname{Id}_k)(\rho) - (\Phi_1 \otimes \operatorname{Id}_k)(\rho) \|_1&#xD;&#xA;$$&#xA;where $\operatorname{Id}_k$ denotes the identity channel from $M_k(\mathbb{C})$ to itself, $\| \cdot \|_1$ denotes the trace norm, and the supremum is taken over all $k \geq 1$ and all density matrices $\rho$ chosen from $M_{nk}(\mathbb{C}) = M_n(\mathbb{C}) \otimes M_{k}(\mathbb{C})$.  The supremum always happens to be achieved for some choice of $k\leq n$ and some rank 1 density matrix $\rho$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Note that the above definition does not work for arbitrary mappings, only those of the form $\Phi = \Phi_0 - \Phi_1$ for completely positive maps $\Phi_0$ and $\Phi_1$.  For general mappings, the supremum is taken over all matrices with trace norm 1, as opposed to just density matrices.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you don't have any additional assumptions on the channels, you cannot say too much about how these norms relate aside from these coarse bounds:&#xA;$$&#xD;&#xA;\frac{1}{n} \| \Phi_0 - \Phi_1 \|_{\Diamond} \leq&#xD;&#xA;\| J(\Phi_0) - J(\Phi_1) \|_1 \leq \| \Phi_0 - \Phi_1 \|_{\Diamond}.&#xD;&#xA;$$&#xA;For the second inequality, one is essentially settling for the specific choice&#xA;$$&#xD;&#xA;\rho = &#xD;&#xA;\frac{1}{n} \sum_{1\leq i,j \leq n} |i \rangle \langle j| \otimes |i \rangle \langle j|&#xD;&#xA;$$&#xA;rather than taking the supremum over all $\rho$.  The first inequality is a bid tougher, but it would be a reasonable assignment question for a graduate course on quantum information.  (At this point I should thank you for your question, because I fully intend to use this question in the Fall offering of my quantum information theory course.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can achieve either inequality for an appropriate choice of channels $\Phi_0$ and $\Phi_1$, even under the additional assumption that the channels are perfectly distinguishable (meaning $\| \Phi_0 - \Phi_1 \|_{\Diamond} = 2$).&lt;/p&gt;&#xA;" OwnerUserId="819" LastActivityDate="2011-02-14T17:47:45.963" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4921" PostTypeId="1" CreationDate="2011-02-14T18:22:58.670" Score="2" ViewCount="389" Body="&lt;p&gt;I'm trying to find any material on this problem. It extends the Asymmetric Travelling Salesman Problem (ATSP) in that it requires for some destinations that they are approached in the specified direction (but not for all). I couldn't find anything about this problem on the internet. Can anybody point me to some paper or the correct name for this problem? Or maybe similar problem from graph theory?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;UPDATE&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In my current design each node has a property of direction in which it is being approached. This direction can be restricted or unrestricted. When unrestricted, then I think all possible combinations of directions should be tried to the combination which minimizes the cost function.&#xA;Also I have 4 distance matrices corresponding to different direction combinations: 0-0, 0-1, 1-0 and 1-1. Where 0 is positive direction and 1 is negative direction.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;UPDATE 2&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The calculations are performed on a real street network data. Direction mean street direction (or side of the street). Each point on the street can be aproached from two different directions. Some points are restricted to be approached in a particular direction, some are not.&lt;/p&gt;&#xA;" OwnerUserId="1592" LastEditorUserId="1800" LastEditDate="2011-02-15T04:22:38.450" LastActivityDate="2011-11-12T07:27:52.873" Title="ATSP with direction restrictions" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;graph-algorithms&gt;&lt;tsp&gt;" AnswerCount="1" CommentCount="15" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4922" PostTypeId="2" ParentId="4915" CreationDate="2011-02-14T18:26:56.140" Score="8" Body="&lt;p&gt;There are various examples in which a semidefinite programming relaxation allows an approximation that is superior to known integrality gaps for linear programming relaxations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, the standard linear programming relaxation of max cut has an integrality gap of 1/2, and this is true even for much more sophisticated linear programming relaxations (c.f. de la Vega-Kenyon and Schoenebeck-Trevisan-Tulsiani), but the Goemans-Williamson SDP algorithm has approximation .878...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The Leighton-Rao linear programming relaxation of sparsest cut has an integrality gap $\Omega(\log n)$, but the Arora-Rao-Vazirani SDP algorithm has approximation $O(\sqrt{\log n})$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Perhaps less well known, Karloff and Zwick shows that using SDP one can approximate Max 3SAT, in the version in which clauses can have 1, 2 or 3 literals, within 7/8, while Goemans and Williamson had studied a linear programming relaxation that they used to prove a 3/4 approximation (Yannakakis had given 3/4 approximation earlier by other methods), and the Goemans-Williamson LP relaxation of Max 3SAT is easily seen to have integrality gap 3/4.&lt;/p&gt;&#xA;" OwnerUserId="1069" LastActivityDate="2011-02-14T18:26:56.140" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4923" PostTypeId="2" ParentId="4866" CreationDate="2011-02-14T20:21:23.377" Score="0" Body="&lt;p&gt;EDIT: mjqxxxx points out in comments below that this construction can be slightly modified to obtain a poly-time algorithm for HAMILTONIAN-PATH. Thus, I think it's safe to say that this answer is incorrect as it stands. It looks like the error is in stating that $L_1 \cap L_2$ and $L_1 \cup L_2$ can be represented succinctly.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;I think we can show that Problem 2 is tractable by showing the following: 1) the set of paths in G is a regular language, 2) the set of $NODESEQ$s has a compact description as a regular language. Problem 2 is thus reduced to checking if the intersection of two regular languages is non-empty.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some preliminaries: Let $|V| = n$. Let $k$ be the length of $SEQ$. We will change terminology from the question a bit and define $NODESEQ$ to be the set of all strings of length $k$ over $V$ that result from a relaxed node assignment (both valid and invalid).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $P$ be the set of paths (both simple and non-simple) in $G$ beginning at the source node and ending at the sink node. Considering $P$ to be a set of strings over $V$, it should be evident that $P$ is a regular language accepted by a finite automaton (FA) with $O(n)$ states.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Next, we define the following: given a sequence of variables $SEQ$, let $NODESEQ(x_i = v_j)$ be the set of strings over $V$ obtained by substituting $v_j \in V$ for the variable $x_i$ in $SEQ$ and allowing all other variables to be free. For example, if $SEQ = (x_1,x_2,x_3,x_4,x_2,x_3,x_5)$, $NODESEQ(x_2 = v_3)$ can be represented by the regular expression &quot;$. v_{3} . . v_{3} . .$&quot; (the dots represent any element of $V$). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, we make two crucial observations: 1) Each $NODESEQ(x_i = v_j)$ can be recognized by an FA with $O(k)$ states and 2) $NODESEQ = \cap_{i=1}^m \cup_{j=1}^n NODESEQ(x_i = v_j)$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Recall that if $L_1$ and $L_2$ are regular languages recognized by FAs with $n_1$ and $n_2$ states, respectively, then $L_1 \cup L_2$ and $L_1 \cap L_2$ can be recognized by an FA with $O(n_1 + n_2)$ states. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thus, we conclude that $NODESEQ$ can be recognized by an FA with $O(kmn)$ states.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, we note that a valid relaxed node assignment exists if and only if $P \cap NODESEQ$ is non-empty. Since we can build an FA for $P \cap NODESEQ$ with $O(kmn) + O(n) = O(kmn)$ states, I would call this problem tractable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would also note that the source and sink don't appear to play a material role in this problem. The construction of $P$ as a regular language is pretty much the same without enforcing the source/sink constraint.&lt;/p&gt;&#xA;" OwnerUserId="751" LastEditorUserId="751" LastEditDate="2011-02-16T18:29:16.790" LastActivityDate="2011-02-16T18:29:16.790" CommentCount="8" ContentLicense="CC BY-SA 2.5" />
  <row Id="4924" PostTypeId="1" CreationDate="2011-02-14T20:50:29.297" Score="-2" ViewCount="615" Body="&lt;p&gt;I am an undergraduate trying to decide between two specific REU's for this summer. &#xA;One is the SMALL Williams College REU, and the other is CalTech's SURF program. Leaving aside the specific topics I'd be working on for each (one is in computational origami, the other &#xA;in complexity theory - and I am interested in both), does anyone have any experience with either they could share? &#xA;I am interested in working atmosphere (group in SMALL or individual in CalTech), how much actual results were produced/published in each, how helpful each it was for preparing you for graduate school (if you are attending one already), etc.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks in advance &lt;/p&gt;&#xA;" OwnerDisplayName="user3839" LastEditorUserId="80" LastEditDate="2011-02-14T21:08:35.763" LastActivityDate="2012-11-09T01:51:08.897" Title="Summer REU question" Tags="&lt;soft-question&gt;&lt;research-practice&gt;" AnswerCount="1" CommentCount="4" ClosedDate="2012-11-12T06:41:33.327" ContentLicense="CC BY-SA 2.5" />
  <row Id="4925" PostTypeId="2" ParentId="4907" CreationDate="2011-02-14T21:42:54.193" Score="3" Body="&lt;p&gt;Graph Theory has a variety of applications. My favorite ones are the applications in:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Large Scale Networks &lt;/li&gt;&#xA;&lt;li&gt;Social Computing &lt;/li&gt;&#xA;&lt;li&gt;Bio-informatics&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="3816" LastActivityDate="2011-02-14T21:42:54.193" CommentCount="0" CommunityOwnedDate="2011-02-14T21:42:54.193" ContentLicense="CC BY-SA 2.5" />
  <row Id="4926" PostTypeId="2" ParentId="4915" CreationDate="2011-02-14T22:30:30.190" Score="6" Body="&lt;p&gt;There is also a result by Grant on solving linear systems over GF_2. For equation systems with a good solution, you have a SDP integrality gap (in a very strong form) of 2 while you can use Gaussian Elimination to solve the problem exactly. &lt;/p&gt;&#xA;" OwnerUserId="3840" LastActivityDate="2011-02-14T22:30:30.190" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4927" PostTypeId="2" ParentId="4915" CreationDate="2011-02-14T22:47:18.733" Score="8" Body="&lt;p&gt;As pointed out, there are quite a few examples.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A classical example is maximum matching, where the &quot;natural&quot; relaxation (without odd set constraints) has a gap of 2, while there is of course an efficient algorithm. This one does not fully qualify though, since there is an exponential sized LP which can be solved via ellipsoid.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An intriguing one is capacitated facility location. Here the natural relaxation has unbounded integrality gap. Yet local search based algorithms give constant factor approximations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another very interesting one (though it's a maximization problem) is this paper: &lt;a href=&quot;http://www.cis.upenn.edu/~sanjeev/postscript/FOCS09_MaxMin.pdf&quot;&gt;http://www.cis.upenn.edu/~sanjeev/postscript/FOCS09_MaxMin.pdf&lt;/a&gt;. Here the LP has a large gap, and yet an algorithm that uses that LP can do better.&lt;/p&gt;&#xA;" OwnerUserId="982" LastActivityDate="2011-02-14T22:47:18.733" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4928" PostTypeId="1" CreationDate="2011-02-14T22:56:28.497" Score="41" ViewCount="2423" Body="&lt;p&gt;Can every function $f : \{0,1\}^* \to \{0,1\}$ that is computable in time $t$ on a single-tape Turing machine using an alphabet of size $k = O(1)$ be computed in time $O(t)$ on a single-tape Turing machine using an alphabet of size $3$ (say, $0,1,$ and blank)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(From comments below by the OP)&#xA;Note the input is written using $0,1$, but the Turing machine using alphabet of size $k$ can overwrite the input symbols with symbols from the larger alphabet. I don't see how to encode symbols in the larger alphabet in the smaller alphabet without having to shift the input around which would cost time $n^2$.&lt;/p&gt;&#xA;" OwnerUserId="259" LastEditorUserId="1800" LastEditDate="2011-02-15T07:04:12.320" LastActivityDate="2011-03-05T21:11:53.810" Title="Alphabet of single-tape Turing machine" Tags="&lt;computability&gt;&lt;turing-machines&gt;" AnswerCount="2" CommentCount="17" FavoriteCount="11" ContentLicense="CC BY-SA 2.5" />
  <row Id="4929" PostTypeId="2" ParentId="4928" CreationDate="2011-02-14T23:43:40.570" Score="-3" Body="&lt;p&gt;&lt;strike&gt;For all alphabet sizes greater than $1$, runtimes only change by a constant factor since $\log_k(x) \in \Theta(\log_l(x))$ for all $k, l &amp;gt; 1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Elaboration:&lt;/strike&gt; In $t$ timesteps, the assumed Turing machine can process at most $t$ positions/bits. Bits are taken from a $k$-nary alphabet, wlog $\{0,1,\dots,k-1\}$. Create a new Turing machine by replacing every transition by $\lceil \log_2(k) \rceil$ transitions; every old bit is encoded by $\lceil \log_2(k) \rceil$ bits in $\{0,1\}$ (blanks are reserved to mark unused cells). Note this is essentially binary coded digits.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Obviously, the resulting Turing machine executes at most $\lceil \log_2(k) \rceil \cdot t \in \mathcal{O}(t)$ steps.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Addition: Above argumentation breaks because operations that overwrite an input symbol with a bit not in $\{0,1\}$ can not be translated directly; the input has to be shifted. This can be amended by translating the original input before starting computation (essentially padding); this can be done in time $\mathcal{O}(n^2)$, resulting in a total runtime of $\mathcal{O}(n^2) + \lceil \log_2(k) \rceil \cdot t$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consequently, using only two symbols for encoding intermediate results is of no asymptotic impact if $t(n) \in \Omega(n^2)$, but preprocessing dominates faster algorithms. Since most interesting functions are in $\Omega(n^2)$ (e.g. adding two numbers), one might consider the problem negligable.&lt;/p&gt;&#xA;" OwnerUserId="1546" LastEditorUserId="1546" LastEditDate="2011-02-16T14:28:19.993" LastActivityDate="2011-02-16T14:28:19.993" CommentCount="9" ContentLicense="CC BY-SA 2.5" />
  <row Id="4930" PostTypeId="2" ParentId="4921" CreationDate="2011-02-15T00:21:38.983" Score="1" Body="&lt;p&gt;I will answer for the general setting. Assume a directed graph $G=(V, E)$ with costs as assumed in the question, that is the costs for entering a node depend on which edge it is left on and vice versa.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $v \in V$ arbitrarily; the following construction can be performed iteratively for all nodes in any order. Let $e_1, \dots, e_k \in (V \times \{v\}) \cap E$ (incoming edges) and $f_1, \dots, f_l \in  (\{v\} \times V)\cap E$ (outgoing edges). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now create for all pairs of $e_i =: (u,v)$ and $f_j =: (v,x)$ a node $v_{ij}$ and edges $(u, v_{ij})$ as well as $(v_{ij}, x)$. Assign the costs as per the described model: costs for edge $(u, v_{ij})$ are the costs for entering $v$ from $u$ when leaving in direction of $x$; costs for edge $(v_{ij}, x)$ are the costs for leaving $v$ to $x$ when having come from $u$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Add all thusly created $v_{ij}$ and their incident edges to $G$ and remove $v$ and its incident edges from it. Iterate for all nodes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The resulting graph has $\mathcal{O}(|E|\cdot d^2)$ many edges ad $\mathcal{O}(|V| \cdot d^2)$ many nodes, $d$ the maximum node degree in $G$. It can be reduced by merging (or not splitting) those combinations that have the same costs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The original problem is equivalent to finding a path with exactly one from each $\{v_{ij} \mid v \in V \}$.&lt;/p&gt;&#xA;" OwnerUserId="1546" LastEditorUserId="1546" LastEditDate="2011-02-15T00:40:34.737" LastActivityDate="2011-02-15T00:40:34.737" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4931" PostTypeId="2" ParentId="4906" CreationDate="2011-02-15T00:41:05.170" Score="4" Body="&lt;p&gt;Though I agree with what others have said, another way I find helpful when thinking about these things is to recast the problem as a recognition problem, i.e. &quot;Does the input graph belong in the family of graphs that have vertex cover at most k?&quot;/&quot;Does the input graph belong in the family of graphs that have independent set at least k?&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Intuitively, a more restricted family of graphs should be easier to recognize than a richer, more general one. The family of graphs of vertex cover at most k is very restricted, in fact each such graph can be described using just $O(k^2+2^k\log n)$ bits, which is much less than the usual $O(n^2)$ bits needed, assuming that k is significantly smaller than n. The family of graphs of independent set at least k on the other hand is very rich: any graph can be edited to belong to it by removing at most $k^2$ edges.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So for me this is one intuitive explanation why I would expect it to be easier to recognize small vertex cover than small independent set. Of course it should be obvious that the above thoughts are nowhere near a formal argument and I guess that at the end of the day the most convincing evidence that it is indeed harder to recognize independent set of size k is exactly the W-hardness of independent set!&lt;/p&gt;&#xA;" OwnerUserId="3168" LastActivityDate="2011-02-15T00:41:05.170" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="4932" PostTypeId="1" AcceptedAnswerId="4965" CreationDate="2011-02-15T01:15:44.613" Score="15" ViewCount="539" Body="&lt;p&gt;I've asked this question on Stack Overflow a while ago: &lt;a href=&quot;https://stackoverflow.com/questions/4898511/problem-bobs-sale&quot;&gt;Problem: Bob's sale&lt;/a&gt;. Someone suggested posting the question here as well.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Someone has already asked a question related to this problem here - &lt;a href=&quot;https://cstheory.stackexchange.com/questions/4904/minimum-weight-subforest-of-given-cardinality&quot;&gt;Minimum weight subforest of given cardinality&lt;/a&gt; - but as far as I understand it doesn't help me with my problem. The highest-rated answer on StackOverflow is also worth looking at.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here's the verbatim copy of my StackOverflow question. It's probably inadequately formulated for this site (heck, I feel inadequately uneducated just asking it here), so feel free to edit it:&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Note: this is an abstract rewording of a real-life problem regarding ordering records in a SWF file. A solution will help me improve an open-source application.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Bob has a store, and wants to do a sale. His store carries a number of products, and he has a certain integer quantity of units of each product in stock. He also has a number of shelf-mounted price labels (as many as the number of products), with the prices already printed on them. He can place any price label on any product (unitary price for one item for his entire stock of that product), however some products have an additional restriction - any such product may not be cheaper than a certain other product.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You must find how to arrange the price labels, such that the total cost of all of Bob's wares is as low as possible. The total cost is the sum of each product's assigned price label multiplied by the quantity of that product in stock.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Given:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;N &amp;ndash; the number of products and price labels&lt;/li&gt;&#xA;&lt;li&gt;S&lt;sub&gt;&lt;em&gt;i&lt;/em&gt;&lt;/sub&gt;, 0≤&lt;em&gt;i&lt;/em&gt;&amp;lt;N &amp;ndash; the quantity in stock of product with index &lt;em&gt;i&lt;/em&gt; (integer)&lt;/li&gt;&#xA;&lt;li&gt;P&lt;sub&gt;&lt;em&gt;j&lt;/em&gt;&lt;/sub&gt;, 0≤&lt;em&gt;j&lt;/em&gt;&amp;lt;N &amp;ndash; the price on price label with index &lt;em&gt;j&lt;/em&gt; (integer)&lt;/li&gt;&#xA;&lt;li&gt;K &amp;ndash; the number of additional constraint pairs&lt;/li&gt;&#xA;&lt;li&gt;A&lt;sub&gt;&lt;em&gt;k&lt;/em&gt;&lt;/sub&gt;, B&lt;sub&gt;&lt;em&gt;k&lt;/em&gt;&lt;/sub&gt;, 0≤&lt;em&gt;k&lt;/em&gt;&amp;lt;K &amp;ndash; product indices for the additional constraint&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Any product index may appear at most once in B. Thus, the graph formed by this adjacency list is actually a set of directed trees.&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The program must find:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;M&lt;sub&gt;&lt;em&gt;i&lt;/em&gt;&lt;/sub&gt;, 0≤&lt;em&gt;i&lt;/em&gt;&amp;lt;N &amp;ndash; mapping from product index to price label index (P&lt;sub&gt;M&lt;sub&gt;&lt;em&gt;i&lt;/em&gt;&lt;/sub&gt;&lt;/sub&gt; is price of product &lt;em&gt;i&lt;/em&gt;)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;To satisfy the conditions:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;P&lt;sub&gt;M&lt;sub&gt;A&lt;sub&gt;&lt;em&gt;k&lt;/em&gt;&lt;/sub&gt;&lt;/sub&gt;&lt;/sub&gt; ≤ P&lt;sub&gt;M&lt;sub&gt;B&lt;sub&gt;&lt;em&gt;k&lt;/em&gt;&lt;/sub&gt;&lt;/sub&gt;&lt;/sub&gt;, for 0≤&lt;em&gt;k&lt;/em&gt;&amp;lt;K&lt;/li&gt;&#xA;&lt;li&gt;Σ(S&lt;sub&gt;&lt;em&gt;i&lt;/em&gt;&lt;/sub&gt; &amp;times; P&lt;sub&gt;M&lt;sub&gt;&lt;em&gt;i&lt;/em&gt;&lt;/sub&gt;&lt;/sub&gt;) for 0≤&lt;em&gt;i&lt;/em&gt;&amp;lt;N is minimal&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Note that if not for the first condition, the solution would be simply sorting labels by price and products by quantity, and matching both directly.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Typical values for input will be N,K&amp;lt;10000. In the real-life problem, there are only several distinct price tags (1,2,3,4).&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Here's one example of why most simple solutions (including topological sort) won't work:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You have 10 items with the quantities 1 through 10, and 10 price labels with the prices $\$$1 through $\$$10. There is one condition: the item with the quantity 10 must not be cheaper than the item with the quantity 1.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The optimal solution is:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;Price, $   1  2  3  4  5  6  7  8  9 10&#xA;Qty        9  8  7  6  1 10  5  4  3  2&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;with a total cost of $\$$249. If you place the 1,10 pair near either extreme, the total cost will be higher.&lt;/p&gt;&#xA;" OwnerUserId="3823" LastEditorUserId="-1" LastEditDate="2017-05-23T12:40:09.333" LastActivityDate="2011-02-17T07:55:28.080" Title="Bob's Sale (reordering of pairs with constraints to minimize sum of products)" Tags="&lt;ds.algorithms&gt;&lt;np-hardness&gt;&lt;tree&gt;&lt;optimization&gt;&lt;application-of-theory&gt;" AnswerCount="3" CommentCount="8" FavoriteCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="4934" PostTypeId="1" AcceptedAnswerId="4951" CreationDate="2011-02-15T05:20:15.477" Score="0" ViewCount="213" Body="&lt;p&gt;I have defined a finite state machine &lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&#xA;    Q = {Σ, S, s0, δ, F}&#xA;&#xA;    where &#xA;&#xA;    Σ = {'[r]equest', '[o]ut', '[i]n', '[e]nd'}&#xA;&#xA;    S = {'[R]eady', '[I]nitiating', '[W]aiting', 'Re[C]eived', 'Re[S]etting'}&#xA;&#xA;    s0 = R,&#xA;&#xA;    F = {R}&#xA;&#xA;    δ =  (q ∈ S and x ∈ Σ)&#xA;&#xA;     q      x      q&#xA;    -------------------&#xA;     R      r      I&#xA;     I      o      W&#xA;     W      i      C&#xA;     C      e      S&#xA;     S      ∈      R&#xA;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;However, I have a transition from  W to S via a temporal event†. How should I represent it?&#xA;If I add an epsilon-move&lt;pre&gt;&#xA;     W    ∈      S&lt;/pre&gt;&#xA;it is not intuitive that it is a temporal event. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;†possibly a timeout&lt;/p&gt;&#xA;" OwnerUserId="3844" LastEditorUserId="3844" LastEditDate="2011-02-16T13:45:46.880" LastActivityDate="2011-02-16T15:58:52.393" Title="A fsm with temporal events" Tags="&lt;fl.formal-languages&gt;&lt;automata-theory&gt;" AnswerCount="3" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="4935" PostTypeId="1" CreationDate="2011-02-15T06:27:18.843" Score="4" ViewCount="2954" Body="&lt;p&gt;I noticed this in my Algorithms class, but just now got around to asking.&lt;/p&gt;&#xA;" OwnerUserId="3845" LastEditorUserId="1677" LastEditDate="2011-02-16T21:40:06.800" LastActivityDate="2012-12-08T14:30:38.333" Title="Why does the Fibonacci sequence produce a worst-case Huffman encoding?" Tags="&lt;co.combinatorics&gt;&lt;optimization&gt;&lt;it.information-theory&gt;&lt;encoding&gt;" AnswerCount="2" CommentCount="10" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4936" PostTypeId="2" ParentId="2656" CreationDate="2011-02-15T10:36:08.037" Score="5" Body="&lt;p&gt;If your computational task is more about moving data than performing (arithmetic) operations, (the data sets are huge so that they do not even fit into main memory), then the I/O-model (introduced by &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=48535&quot; rel=&quot;noreferrer&quot;&gt;Aggarwal and Vitter in 1988&lt;/a&gt;) can be very accurate. &#xA;For tasks like permuting a big array of elements in main memory, it can help to use the algorithms that are I/O-optimal (in a careful implementation).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For modern multi-core computers, the parallel variant introduced by &lt;a href=&quot;http://doi.acm.org/10.1145/1378533.1378573&quot; rel=&quot;noreferrer&quot;&gt;Arge, Goodrich,  Nelson and Sitchinava in 2008&lt;/a&gt; can be an accurate model.&lt;/p&gt;&#xA;" OwnerUserId="3049" LastActivityDate="2011-02-15T10:36:08.037" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4938" PostTypeId="2" ParentId="2656" CreationDate="2011-02-15T11:21:28.990" Score="5" Body="&lt;p&gt;If you mean &quot;the best&quot; computational model to make your life more complicated, then you can use Wolfram's 2-state, 3-symbol universal turing machine.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;PROS&lt;/strong&gt;: none except the sensation of walking the fine line between reason and craziness;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;CONS&lt;/strong&gt;: tons ...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;:-D (only a joke, I basically agree with the previous answers ...)&lt;/p&gt;&#xA;" OwnerUserId="3247" LastActivityDate="2011-02-15T11:21:28.990" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4939" PostTypeId="1" CreationDate="2011-02-15T11:42:36.983" Score="20" ViewCount="567" Body="&lt;p&gt;This question is similar to a &lt;a href=&quot;https://cstheory.stackexchange.com/q/2656/3049&quot;&gt;more general question&lt;/a&gt; for what is the right theoretical model of a computer to design algorithm and data structures in.&lt;br&gt;&#xA;Here, I ask specifically about current high performance computers (like the ones listed as the &lt;a href=&quot;http://www.top500.org/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Top 500&lt;/a&gt;) or even about upcoming supercomputers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given that these computers are typically working on huge data sets (it seems that some people use such machines mainly because they have enormous combined main memory) aspects of the I/O-model (introduced by &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=48535&quot; rel=&quot;nofollow noreferrer&quot;&gt;Aggarwal and Vitter in 1988&lt;/a&gt;) and its parallel version, the PEM (&lt;a href=&quot;http://doi.acm.org/10.1145/1378533.1378573&quot; rel=&quot;nofollow noreferrer&quot;&gt;Arge, Goodrich,  Nelson and Sitchinava in 2008&lt;/a&gt;) should be present. &#xA;On the other hand, there should be something about communication, in particular punishing ultra small packages to all other computing nodes. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;As you might imagine, I am not afraid that I am running out of ideas when creating a new model, but I am a little worried that I might overlook previous attempts in doing so, in particular because I have the impression that the years 1980-1995 or so saw many such modeling attempts (like BSP or bridging models) that seem to not have been widely used.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What models should I take a closer look at?&lt;/p&gt;&#xA;" OwnerUserId="3049" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2011-02-21T19:58:49.063" Title="What is the right theoretical model to design algorithms for current and upcoming high performance computers" Tags="&lt;reference-request&gt;&lt;soft-question&gt;&lt;machine-models&gt;" AnswerCount="3" CommentCount="3" FavoriteCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="4940" PostTypeId="1" AcceptedAnswerId="5022" CreationDate="2011-02-15T12:47:01.600" Score="0" ViewCount="202" Body="&lt;p&gt;The Natural Proof theorem says :&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;If for a fixed $c&amp;gt;1$ $G_k \in SIZE(k^c)$ is $2^{k^\epsilon}$-hard then not exists a $quasiP$-Natural Property that for all $e$ sufficently large is usefull against $SIZE(n^e)$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The idea in the proof is that if you can distinguish a random function from a function in $SIZE(n^e)$ you can invert a pseudorandom generator. $SIZE(n^e)$ is big enough to compute pseudorandom function generator (based on the pseudorandom string generator $G_k$)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;can we say that?&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;If for any k,n (where if we fix n then we can choose any $k=n^{O(1)}$) $G:\{0,1\}^k\times \{0,1\}^n \rightarrow \{0,1\}$ is a pseudorandom functions genereator (for a sub-exponential adversaries) computable in $SIZE(n^e)$ then not exists a $quasiP$-Natural Property usefull against $SIZE(n^e)$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I think that it's wrong, because for any fixed $e$ you can find a $quasiP$-Natural Property against $SIZE(n^e)$. But I can't see why&lt;/p&gt;&#xA;" OwnerUserId="3847" LastEditorUserId="3847" LastEditDate="2011-02-19T15:45:34.947" LastActivityDate="2011-02-19T20:11:02.937" Title="quasiP-Natural Property again SIZE($n^e$) for fixed e." Tags="&lt;cc.complexity-theory&gt;&lt;natural-proofs&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="4941" PostTypeId="2" ParentId="4932" CreationDate="2011-02-15T17:08:07.937" Score="0" Body="&lt;p&gt;This sounds like a gaming theory question. In that case, a very simple brute-force solution is:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let us assume the constraints represent some invariants of the form &lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&#xA;S-&gt;AkSBk|AkBkS|SAkBk&#xA;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;The solution is to keep adding the constraints first, and then elements. &#xA;Eg: Let us say n = 10 and there are 2 constraints, A1B1 and A2B2.&#xA;Then, there are three children to the root node (level 2). Each of these 3 nodes will have 7 children level 3, each of 21 have 6 at level 4, etc., Essentially you are running through all possible combinations.&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;                A1B1                  --- Level 1 &#xA;               / |  \&#xA;              /  |   \&#xA;             /   |    \&#xA;            /    |     \&#xA;    A1A2B2A1   A1B1A2B2  A2B2A1B1     --- Level 2&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;and grow the tree. Though on the outset it looks like a horrible solution, I feel you could abandon chasing very expensive leaves by using some heuristics and pruning...&lt;/p&gt;&#xA;" OwnerUserId="3844" LastActivityDate="2011-02-15T17:08:07.937" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4942" PostTypeId="2" ParentId="4939" CreationDate="2011-02-15T17:28:25.747" Score="4" Body="&lt;p&gt;One model that captures hierarchical models nicely (think local cores, shared on-chip memory, and global memory) is a &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=28395.28428&quot; rel=&quot;nofollow&quot;&gt;STOC 87 paper by Aggarwal et al&lt;/a&gt;. I don't think it ever got any traction, but it makes an interesting read. The main idea is that access to memory location x takes time $\lceil \log x\rceil$.&lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2011-02-15T17:28:25.747" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="4943" PostTypeId="2" ParentId="3004" CreationDate="2011-02-15T18:02:46.877" Score="5" Body="&lt;p&gt;I used to (and to a small extent, still do) have everything scatter across notebooks and binders, but recently I got fed up and moved over to a personal wiki &lt;a href=&quot;http://www.tiddlywiki.com/&quot; rel=&quot;nofollow&quot;&gt;TiddlyWiki&lt;/a&gt;. It can be hosted completely locally (it is just one html file), runs in your browser, and after installing a simple plug-in has LaTeX-like math support. I use it to take notes on papers I read as well as to jot down ideas and self-explanations of things that confuse me.&lt;/p&gt;&#xA;" OwnerUserId="1037" LastActivityDate="2011-02-15T18:02:46.877" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4944" PostTypeId="2" ParentId="3004" CreationDate="2011-02-15T18:34:16.633" Score="2" Body="&lt;p&gt;&lt;a href=&quot;http://www.zotero.org&quot; rel=&quot;nofollow&quot;&gt;Zotero Firefox plug-in&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="612" LastActivityDate="2011-02-15T18:34:16.633" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4945" PostTypeId="2" ParentId="4934" CreationDate="2011-02-15T20:29:08.677" Score="2" Body="&lt;p&gt;Perhaps you must add a clock to the table:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt; q      x              q&#xA;-------------------------&#xA; R      r              I&#xA; I      o              W&#xA; W      i  clock=0     C&#xA; C      e              S&#xA; S      ∈  (clock&amp;gt;T)?  R&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;The S-&gt;R (reset) transition can occur only after T &quot;ticks&quot; has elapsed after the receive of [i]nput.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you want the timeout to start after the [e]nd then you must reset the clock on:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt; ...&#xA; C      e  clock=0     S&#xA; ...&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2011-02-15T20:34:14.163" LastActivityDate="2011-02-15T20:34:14.163" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4946" PostTypeId="2" ParentId="4939" CreationDate="2011-02-15T21:40:45.177" Score="9" Body="&lt;p&gt;At PODC 2009, Bruce Hendrickson gave a phenomenmal invited talk about these issues.  (His slides don't appear to be online, but you might want to ask him if you could see them.)  I don't think there's a &quot;right&quot; model yet -- bonus for you! -- but I would suggest you look at his papers, especially the ones on the &lt;a href=&quot;http://www.sandia.gov/~bahendr/graphs-and-architectures.html&quot; rel=&quot;nofollow&quot;&gt;Graphs and Architectures page&lt;/a&gt;, where he tries to figure out how to handle enormous graphs with little structure (i.e. &quot;modern&quot; datasets) on massively multithreaded machines.&lt;/p&gt;&#xA;" OwnerUserId="30" LastActivityDate="2011-02-15T21:40:45.177" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="4949" PostTypeId="2" ParentId="4889" CreationDate="2011-02-16T00:28:53.570" Score="0" Body="&lt;p&gt;Quantum theory captures the concept of &lt;em&gt;discrete&lt;/em&gt; objects pretty well. Other physics theories don't.&lt;/p&gt;&#xA;" OwnerUserId="3213" LastActivityDate="2011-02-16T00:28:53.570" CommentCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="4951" PostTypeId="2" ParentId="4934" CreationDate="2011-02-16T08:57:05.110" Score="3" Body="&lt;p&gt;This was a comment first, but Suresh asked me to turn it into an answer:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Maybe you want to take a look at &lt;em&gt;timed automata&lt;/em&gt;. These are finite automata equipped with clocks; time can pass, clocks can be reset, transitions can be restricted to occur within a given time by clock guards etc. Here are some nice introductory slides: &lt;a href=&quot;http://www.lsv.ens-cachan.fr/~bouyer/files/bouyer_chennai.pdf&quot; rel=&quot;nofollow&quot;&gt;lsv.ens-cachan.fr/~bouyer/files/bouyer_chennai.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(This is actually the framework that Vor is using in his answer. His solution makes use of a clock that is reset and a guard for the epsilon transition.)&lt;/p&gt;&#xA;" OwnerUserId="977" LastActivityDate="2011-02-16T08:57:05.110" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4952" PostTypeId="1" CreationDate="2011-02-16T11:50:06.790" Score="14" ViewCount="649" Body="&lt;p&gt;I found labelled transition systems to be a good model for my application, namely there is a paper about modeling use cases using LTSs. The question is, what can be easily proven about LTSs? I would like to re-use existing solutions to see if they are useful for my appication. I would like to know what properties of LTSs (and use cases) can be easily automatically proved, so I can decide, if there is a practical counterpart to the problem for use cases.&lt;/p&gt;&#xA;" OwnerUserId="3859" LastEditorUserId="186" LastEditDate="2011-04-19T04:51:56.277" LastActivityDate="2013-05-24T07:47:43.613" Title="What are practically computable properties of Labelled Transition Systems?" Tags="&lt;lo.logic&gt;&lt;formal-modeling&gt;&lt;model-checking&gt;&lt;program-verification&gt;&lt;automated-theorem-proving&gt;" AnswerCount="6" CommentCount="4" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="4953" PostTypeId="2" ParentId="4952" CreationDate="2011-02-16T12:25:37.817" Score="11" Body="&lt;p&gt;The formulas of Hennessy-Milner logic are very easy to prove about labelled transition systems. However, this logic is inexpressive enough (there is no way to state properties of infinite paths) that you will probably wish to consider some extension to it, such as linear temporal logic. LTL has a decidable, but PSPACE-complete, problem. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The &lt;a href=&quot;http://spinroot.com/spin/whatispin.html&quot;&gt;SPIN model checker&lt;/a&gt; is a widely-used tool for model-checking LTL properties. &lt;/p&gt;&#xA;" OwnerUserId="657" LastActivityDate="2011-02-16T12:25:37.817" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4954" PostTypeId="2" ParentId="4952" CreationDate="2011-02-16T12:47:01.903" Score="11" Body="&lt;p&gt;Another two tools, to complement the one suggested by Neel, are &lt;a href=&quot;http://homepages.cwi.nl/~mcrl/mutool.html&quot;&gt;muCRL&lt;/a&gt; and &lt;a href=&quot;http://www.mcrl2.org/mcrl2/wiki/index.php/Home&quot;&gt;mCRL2&lt;/a&gt;. Both toolsets have quite a range of tools for defining LTS at various levels of abstraction. State space visualisation and model checking tools are also available. The underlying logic is the &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.143.9834&amp;amp;rep=rep1&amp;amp;type=pdf&quot;&gt;propositional modal mu calculus&lt;/a&gt;, which is much more expressive than LTL, yet still decidable. Other useful tools allow you to perform state space reduction modulo bisimulation to get the smallest representation of your system. &lt;/p&gt;&#xA;" OwnerUserId="77" LastEditorUserId="77" LastEditDate="2011-02-16T15:20:06.390" LastActivityDate="2011-02-16T15:20:06.390" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="4955" PostTypeId="2" ParentId="4907" CreationDate="2011-02-16T13:16:28.777" Score="5" Body="&lt;p&gt;Applications of graph theory are abundant within computer science and in every day life:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Finding shortest routes in car navigation systems&lt;/li&gt;&#xA;&lt;li&gt;Search engines use ranking algorithms based on graph theory&lt;/li&gt;&#xA;&lt;li&gt;Optimizing time tables for schools or universities&lt;/li&gt;&#xA;&lt;li&gt;Analysis of social networks&lt;/li&gt;&#xA;&lt;li&gt;Optimizing utilization of railway systems&lt;/li&gt;&#xA;&lt;li&gt;Compilers use coloring algorithms to assign registers to variables&lt;/li&gt;&#xA;&lt;li&gt;Path planning in robotics&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="2390" LastActivityDate="2011-02-16T13:16:28.777" CommentCount="0" CommunityOwnedDate="2011-02-16T13:16:28.777" ContentLicense="CC BY-SA 2.5" />
  <row Id="4957" PostTypeId="1" AcceptedAnswerId="4966" CreationDate="2011-02-16T14:51:49.793" Score="10" ViewCount="326" Body="&lt;p&gt;I was going through Les Valiant's &lt;a href=&quot;http://people.seas.harvard.edu/~valiant/holographic11-07.pdf&quot;&gt;seminal paper&lt;/a&gt; and I had a tough time with Proposition 4.3 on page 10 of the paper.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I cannot see why is it the case that if there is a generator with certain values for $valG$ with a basis $\{(a_1,b_1) \ldots (a_r,b_r)\}$, then there exists some generator with same $valG$ values for any basis $\{(xa_1,yb_1) \ldots (xa_r,yb_r)\}$ ($1^{st} kind$) or $\{(xb_1,ya_1) \ldots (xb_r,ya_r) \}$ ($2^{nd} kind$) for any $x,y \in F$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Valiant points out the reason in preceding paragraph  - namely the $1^{st}$ kind of transformation can be achieved by appending to every input or output node an edge of weight $1$. The $2^{nd}$ kind of transformation, Valiant says, can be achieved by appending to input or output nodes chains of length $2$ weighted by $x$ and $y$ respectively.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have not been really able to understand these statements. Maybe they are already clear, but still I cannot really see why the above construct helps achieve any realizable $valG$ values with one basis with the new basis which is one of the above types. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Please help illuminate them to me. On a different note, are there some tensor free surveys for hologaphic algorithms available online. Most of them use tensors which, sadly, scare me :-(&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Best&#xA;-Akash&lt;/p&gt;&#xA;" OwnerUserId="55" LastEditorUserId="186" LastEditDate="2011-02-17T00:38:52.183" LastActivityDate="2011-02-17T00:38:52.183" Title="Holographic Algorithms - Equivalence of Bases" Tags="&lt;ds.algorithms&gt;&lt;counting-complexity&gt;&lt;survey&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="4958" PostTypeId="1" AcceptedAnswerId="4959" CreationDate="2011-02-16T15:42:05.113" Score="9" ViewCount="436" Body="&lt;p&gt;As you will all know, there is ongoing fall out from the Financial Crisis of 2008. I was thinking about how complexity theory fitted into all this, when I realised I did not know the basic complexity classes relating to Financial Economics.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So my question is what is the complexity classification (if any) of Markowitz's Portfolio Theory in general and the CAPM model in particular? Also, any comments relating to how complexity theory relates to the Financial Crisis would be welcome!&lt;/p&gt;&#xA;" OwnerUserId="10136" LastEditorUserId="186" LastEditDate="2011-02-17T00:35:17.927" LastActivityDate="2011-02-17T00:35:17.927" Title="What is the Complexity Classification of Portfolio Theory in Financial Economics?" Tags="&lt;cc.complexity-theory&gt;&lt;gt.game-theory&gt;&lt;ce.computational-finance&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="4959" PostTypeId="2" ParentId="4958" CreationDate="2011-02-16T15:54:56.360" Score="11" Body="&lt;p&gt;The classic Markowitz model is a quadratic programming problem. I'm not sure at all about the state of current research, but one paper that might constitute a starting point is here: &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.105.9504&quot; rel=&quot;nofollow&quot;&gt;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.105.9504&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By the way, there's a paper that's been making the rounds on related issues: &quot;Computational Complexity and Information Asymmetry in Financial Products&quot; by Sanjeev Arora, Boaz Barak, Markus Brunnermeiery, and Rong Ge. The latter has posted it along with some additional comments here: &lt;a href=&quot;http://www.cs.princeton.edu/~rongge/derivativeFAQ.html&quot; rel=&quot;nofollow&quot;&gt;http://www.cs.princeton.edu/~rongge/derivativeFAQ.html&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I tend to think the results are of theoretical interest but don't explain anything that actually happened.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My suspicion is that complexity is not the main barrier in most models (generally, anything complicated gets turned into a monte-carlo eventually anyway, and generally things get complicated fast -- so yes this opens the way to certain malicious attacks, but maliciousness in the financial world can much more easily be much more crude, general, and straightforward) so much as many other, generally well known critiques of these models (sometimes from an information theory standpoint) that aren't really appropriate for this forum.&lt;/p&gt;&#xA;" OwnerUserId="351" LastEditorUserId="351" LastEditDate="2011-02-16T16:10:59.030" LastActivityDate="2011-02-16T16:10:59.030" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4960" PostTypeId="2" ParentId="4934" CreationDate="2011-02-16T15:58:52.393" Score="0" Body="&lt;p&gt;On a more abstract level, encode events as symbols in your trace, e.g. &lt;code&gt;[T]imeout&lt;/code&gt;. As far as I know, this is standard technique when modeling (possibly labeled) transition systems.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This enables you to easily reason about properties your system might have, for instance statements (in temporal logic) like &quot;After any timeout, my machine is in state &lt;code&gt;S&lt;/code&gt;&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It does not yield a good model for implementations, though.&lt;/p&gt;&#xA;" OwnerUserId="1546" LastActivityDate="2011-02-16T15:58:52.393" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4961" PostTypeId="2" ParentId="4907" CreationDate="2011-02-16T16:07:52.717" Score="12" Body="&lt;p&gt;This is in no way a definitive answer, and I do not intend it as such.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Many problems of interest to computer scientists can be phrased as graph problems, and as a result graph theory shows up quite a lot in complexity theory. The computational effort required to determine where two graphs are isomorphic, for example, is currently a topic of much interest in complexity theory (it is neither known to be NP-complete nor contained in P, BPP or BQP, but is clearly in NP). Graph non-isomorphism, on the other hand, has a very nice zero-knowledge proof (another area of study in complexity theory). Many complexity classes have graph problems which are complete for that class (under some reduction).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However it is not just complexity theory that makes use of graph theory. As you can see from some of the other answers, there is quite an array of problems for which the language of graph theory is most appropriate. There are far to many applications to provide a diffinitive list, so instead I will leave you with an example of how graph theory plays a fundamental role in my own area of research.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Measurement-based quantum computation is a model of computation which does not have a counterpart in the classical world. In this model, the computation is driven by making measurements on a special class of quantum states. These states are known as graph states, because each state can be uniquely identified with an undirected graph with a number of vertices equal to the number of qubits in the graph state. This link with graph theory is more than coincidental, however. We know that an important class of measurements (Pauli-basis measurements in case you are interested) map the underlying graph state to a new graph state on one less qubit, and the rules by which this occurs are well understood. Further, properties of the underlying graph family (it's flow and g-flow) determined fully whether it supports universal computation. Lastly, for any graph G' which can be reached from another graph G by an arbitrary sequence of complementing the edges of the neighbourhood of a vertex can be reached by single-qubit operations alone, and so are equally powerful as a resource for computation. This is interesting because the number of edges, maximum of the vertex degrees, etc. can change drastically.&lt;/p&gt;&#xA;" OwnerUserId="204" LastEditorUserId="204" LastEditDate="2011-02-16T18:14:33.153" LastActivityDate="2011-02-16T18:14:33.153" CommentCount="3" CommunityOwnedDate="2011-02-16T16:07:52.717" ContentLicense="CC BY-SA 2.5" />
  <row Id="4962" PostTypeId="1" CreationDate="2011-02-16T16:22:14.670" Score="9" ViewCount="746" Body="&lt;p&gt;Do there exists permutations $\pi_1,\pi_2$ and polynomial size (in $|w|=n$) context free grammar that describe the finite language $\{w \pi_1(w) \pi_2(w)\}$ over alphabet $\{0,1\}$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;UPDATE: For one permutation $\pi$ it is possible. $\pi$ is the reversal or relatively minor modification of the reversal.&lt;/p&gt;&#xA;" OwnerUserId="2743" LastEditorUserId="2743" LastEditDate="2011-02-17T09:14:42.353" LastActivityDate="2011-02-17T09:14:42.353" Title="Do there exists polynomial size CFG that describe this finite language?" Tags="&lt;fl.formal-languages&gt;&lt;grammars&gt;&lt;context-free&gt;" AnswerCount="1" CommentCount="6" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="4963" PostTypeId="2" ParentId="4866" CreationDate="2011-02-16T17:58:23.947" Score="4" Body="&lt;p&gt;Allow me to try to redeem my previous incorrect answer with an attempt at showing that this problem is NP-complete via a reduction from GRAPH 3-COLORABILITY. The key idea is to identify SEQ as a list of edges of some graph and observe that a &quot;relaxed node assignment&quot; corresponds to a graph homomorphism.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $H = (U, E)$ be a connected, undirected graph with $U = \{u_1, u_2, \ldots, u_n\}$. Let $P = (u_{a_1}, u_{a_2}, \ldots, u_{a_p})$ be a (non-simple) path in $H$ that traverses every edge at least once (i.e.: if there is an edge between $u_i$ and $u_j$, then they appear consecutively in $P$ in either order). First, we need to show that $P$ is not too long. We can construct $P$ as follows:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Start at $u_1$.&lt;/li&gt;&#xA;&lt;li&gt;Visit each neighbor of $u_1$, returning to $u_1$ after each visit. I.e., if the neighbors of $u_1$ are $u_{n_1}, u_{n_2}, \ldots, u_{n_d}$, we have the following sequence: $u_1, u_{n_1}, u_1, u_{n_2}, u_1, \dots, u_1, u_{n_d}, u_1$.&lt;/li&gt;&#xA;&lt;li&gt;Travel to $u_2$.&lt;/li&gt;&#xA;&lt;li&gt;Visit each neighbor of $u_2$.&lt;/li&gt;&#xA;&lt;li&gt;etc...&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;By visiting each vertex's neighbors, each edge in $H$ is traversed. Each neighbor visitation step adds $O(n)$ steps to the path. Each travel to a successive vertex adds another $O(n)$ steps. So, in total length of $P = (u_{a_1}, u_{a_2}, \ldots, u_{a_p})$ is $O(n^2)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $SEQ = (x_0, x_{a_1}, x_{a_2}, x_{a_3},\ldots,x_{a_p}, x_{n+1})$ be the sequence of variables.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $G = (V, A)$ be the complete, directed graph on three vertices adjoined with a universal source and a universal sink. Explicitly, let $V = \{v_1, v_2, v_3, v_{source}, v_{sink}\}$. There is an arc from $v_{source}$ to $v_i$ and from $v_i$ to $v_{sink}$ for $i=1,2,3$. And, for all $i,j = 1,2,3, i \neq j$ there is an arc from $v_i$ to $v_j$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, we claim that a valid relaxed node assignment from $SEQ$ to $G$ exists iff $H$ is 3-colorable. Let $c:U \rightarrow \{1,2,3\}$ be a 3-coloring of $H$. Let $f:X \rightarrow V$ be defined by:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;$f(x_0) = v_{source}$&lt;/li&gt;&#xA;&lt;li&gt;$f(x_{n+1}) = v_{sink}$&lt;/li&gt;&#xA;&lt;li&gt;$f(x_i) = v_{c(u_i)}$&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;It should be clear that $f$ is a valid relaxed node assignment. It should be equally clear that we can reverse this construction to use any valid relaxed node assignment to define a 3-coloring of $H$.&lt;/p&gt;&#xA;" OwnerUserId="751" LastEditorUserId="751" LastEditDate="2011-02-16T22:03:32.153" LastActivityDate="2011-02-16T22:03:32.153" CommentCount="7" ContentLicense="CC BY-SA 2.5" />
  <row Id="4964" PostTypeId="2" ParentId="4764" CreationDate="2011-02-16T18:15:45.250" Score="13" Body="&lt;p&gt;Given an instance of SAT, an integer $k$, and a variable assignment, we can decide in polynomial time whether exactly $k$ clauses are satisfied, simply by counting the number of clauses that are satisfied and testing whether that number equals $k$. Hence we can calculate the total number of variable assigments satisfying exactly $k$ clauses using a &lt;a href=&quot;http://qwiki.stanford.edu/index.php/Complexity_Zoo%3aSymbols#sharpp&quot;&gt;#P oracle&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So like Max-SAT, Median-SAT can be computed in polynomial time using a $\#P$ oracle. This shows that the problem is in $FP^{\#P} \subseteq FPSPACE$.&lt;/p&gt;&#xA;" OwnerUserId="636" LastActivityDate="2011-02-16T18:15:45.250" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="4965" PostTypeId="2" ParentId="4932" CreationDate="2011-02-16T18:41:57.527" Score="6" Body="&lt;p&gt;I also posted this on your original question on Stack Overflow:&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;The problem is NP-complete for the general case. This can be shown via a reduction of 3-partition (which is a still strong NP-complete version of bin packing).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let &lt;em&gt;w&lt;sub&gt;1&lt;/sub&gt;, ..., w&lt;sub&gt;n&lt;/sub&gt;&lt;/em&gt; be the weights of objects of the 3-partition instance, let &lt;em&gt;b&lt;/em&gt; be the bin size, and &lt;em&gt;k = n/3&lt;/em&gt; the number of bins that are allowed to be filled. Hence, there is a 3-partition if objects can be partitioned such that there are exactly 3 objects per bin.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the reduction, we set N=&lt;em&gt;kb&lt;/em&gt; and each bin is represented by &lt;em&gt;b&lt;/em&gt; price labels of the same price (think of P&lt;sub&gt;&lt;em&gt;i&lt;/em&gt;&lt;/sub&gt; increasing every &lt;em&gt;b&lt;/em&gt;th label). Let &lt;em&gt;t&lt;sub&gt;i&lt;/sub&gt;&lt;/em&gt;, 1≤&lt;em&gt;i&lt;/em&gt;≤&lt;em&gt;k&lt;/em&gt;, be the price of the labels corresponding to the &lt;em&gt;i&lt;/em&gt;th bin.&#xA;For each &lt;em&gt;w&lt;sub&gt;i&lt;/sub&gt;&lt;/em&gt; we have one product S&lt;sub&gt;&lt;em&gt;j&lt;/em&gt;&lt;/sub&gt; of quantity &lt;em&gt;w&lt;sub&gt;i&lt;/sub&gt; + 1&lt;/em&gt; (lets call this the root product of &lt;em&gt;w&lt;sub&gt;i&lt;/sub&gt;&lt;/em&gt;) and another &lt;em&gt;w&lt;sub&gt;i&lt;/sub&gt; - 1&lt;/em&gt; products of quantity 1 which are required to be cheaper than S&lt;sub&gt;&lt;em&gt;j&lt;/em&gt;&lt;/sub&gt; (call these the leave products).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For &lt;em&gt;t&lt;sub&gt;i&lt;/sub&gt;&lt;/em&gt; = (2b + 1)&lt;sup&gt;i&lt;/sup&gt;, 1≤&lt;em&gt;i&lt;/em&gt;≤&lt;em&gt;k&lt;/em&gt;, there is a 3-partition if and only if Bob can sell for &lt;em&gt;2b&lt;/em&gt;Σ&lt;sub&gt;1≤&lt;em&gt;i&lt;/em&gt;≤&lt;em&gt;k&lt;/em&gt;&lt;/sub&gt; &lt;em&gt;t&lt;sub&gt;i&lt;/sub&gt;&lt;/em&gt;:&lt;ul&gt;&#xA;&lt;li&gt;If there is a solution for 3-partition, then all the &lt;em&gt;b&lt;/em&gt; products corresponding to objects &lt;em&gt;w&lt;sub&gt;i&lt;/sub&gt;&lt;/em&gt;, &lt;em&gt;w&lt;sub&gt;j&lt;/sub&gt;&lt;/em&gt;, &lt;em&gt;w&lt;sub&gt;l&lt;/sub&gt;&lt;/em&gt; that are assigned to the same bin can be labeled with the same price without violating the restrictions.&#xA;Thus, the solution has cost &lt;em&gt;2b&lt;/em&gt;Σ&lt;sub&gt;1≤&lt;em&gt;i&lt;/em&gt;≤&lt;em&gt;k&lt;/em&gt;&lt;/sub&gt; &lt;em&gt;t&lt;sub&gt;i&lt;/sub&gt;&lt;/em&gt; (since the total quantity of products with price &lt;em&gt;t&lt;sub&gt;i&lt;/sub&gt;&lt;/em&gt; is &lt;em&gt;2b&lt;/em&gt;).&lt;br&gt;&#xA;&lt;li&gt;Consider an optimal solution of Bob's Sale.&#xA;First observe that in any solution were more than 3 root products share the same price label, for each such root product that is &quot;too much&quot; there is a cheaper price tag which sticks on less than 3 root products. This is worse than any solution were there are exactly 3 root products per price label (if existent).&lt;br&gt;&#xA;Now there can still be a solution of Bob's Sale with 3 root labels per price, but their leave products do not wear the same price labels (the bins sort of flow over).&#xA;Say the most expensive price label tags a root product of &lt;em&gt;w&lt;sub&gt;i&lt;/sub&gt;&lt;/em&gt; which has a cheaper tagged leave product. This implies that the 3 root labels &lt;em&gt;w&lt;sub&gt;i&lt;/sub&gt;&lt;/em&gt;, &lt;em&gt;w&lt;sub&gt;j&lt;/sub&gt;&lt;/em&gt;, &lt;em&gt;w&lt;sub&gt;l&lt;/sub&gt;&lt;/em&gt; tagged with the most expensive price do not add up to &lt;em&gt;b&lt;/em&gt;. Hence, the total cost of products tagged with this price is at least &lt;em&gt;2b+1&lt;/em&gt;.&lt;br&gt;&#xA;Hence, such a solution has cost &lt;em&gt;t&lt;sub&gt;k&lt;/sub&gt;(2b+1)&lt;/em&gt; + some other assignment cost. Since the optimal cost for an existent 3-partition is &lt;em&gt;2b&lt;/em&gt;Σ&lt;sub&gt;1≤&lt;em&gt;i&lt;/em&gt;≤&lt;em&gt;k&lt;/em&gt;&lt;/sub&gt; &lt;em&gt;t&lt;sub&gt;i&lt;/sub&gt;&lt;/em&gt; , we have to show that the just considered case is worse. This is the case if &lt;em&gt;t&lt;sub&gt;k&lt;/sub&gt; &gt; 2b&lt;/em&gt; Σ&lt;sub&gt;1≤&lt;em&gt;i&lt;/em&gt;≤&lt;em&gt;k-1&lt;/em&gt;&lt;/sub&gt; &lt;em&gt;t&lt;sub&gt;i&lt;/sub&gt;&lt;/em&gt; (note that it's &lt;em&gt;k-1&lt;/em&gt; in the sum now). Setting &lt;em&gt;t&lt;sub&gt;i&lt;/sub&gt;&lt;/em&gt; = (2b + 1)&lt;sup&gt;i&lt;/sup&gt;, 1≤&lt;em&gt;i&lt;/em&gt;≤&lt;em&gt;k&lt;/em&gt;, this is the case. This also holds if not the most expensive price tag is the &quot;bad&quot; one, but any other.&#xA;&lt;/ul&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, this is the destructive part ;-) However, if the number of different price tags is a constant, you can use dynamic programming to solve it in polynomial time.&lt;/p&gt;&#xA;" OwnerUserId="3865" LastActivityDate="2011-02-16T18:41:57.527" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4966" PostTypeId="2" ParentId="4957" CreationDate="2011-02-16T19:06:21.723" Score="8" Body="&lt;p&gt;Tensors (in this sense) are just arrays of numbers, so I don't think you'll find tensor free surveys unless they're completely free of calculations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The &quot;$T^{\otimes k}$&quot; operation formalizes both the operations of changing basis and attaching gadgets to each output node (in fact I like to think of a change of basis as a sort of gadget operation). Let $\Gamma$ be a generator matchgate with standard signature $M_{i_1i_2\cdots i_k}=u(\Gamma)$. This an array of $2^k$ numbers. The signature in a new basis is given by&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$(T^{\otimes k}M)_{i_1i_2\cdots i_k}:=\sum_{i_1&amp;#39;,\cdots,i_k&amp;#39;} T_{i_1i_1&amp;#39;} \cdots T_{i_ki_k&amp;#39;} M_{i_1&amp;#39;i_2&amp;#39;\cdots i_k&amp;#39;}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where $T$ is some two-by-two matrix descring the new basis.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $\Gamma&amp;#39;$ be the matchgate formed by adding $k$ new vertices to $\Gamma$, taking these to be the new outputs, and connecting them to the old outputs by an edge of weight $x$. Then the new signature is $C^{\otimes k}M$ where $C_{ij}$ is the matrix $\begin{pmatrix}0&amp;amp;x\\1&amp;amp;0\end{pmatrix}$. If you then perform the change of basis $TC^{-1}$ you get the signature $T^{\otimes k}M$.&lt;/p&gt;&#xA;" OwnerUserId="636" LastEditorUserId="636" LastEditDate="2011-02-16T19:13:52.993" LastActivityDate="2011-02-16T19:13:52.993" CommentCount="6" ContentLicense="CC BY-SA 2.5" />
  <row Id="4967" PostTypeId="2" ParentId="2158" CreationDate="2011-02-16T23:39:46.150" Score="11" Body="&lt;p&gt;Yes, a general solution to this problem has recently been given by&#xA;Parikshit Gopalan, Raghu Meka, Omer Reingold, and David Zuckerman,&#xA;see &lt;a href=&quot;http://eccc.uni-trier.de/report/2010/176/&quot; rel=&quot;nofollow&quot;&gt;Pseudorandom Generators for Combinatorial Shapes&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;That paper handles an even more general setting, where the generator outputs $n$ $\log m$-bit blocks, which are then fed to arbitrary boolean functions, whose $n$ outputs are then fed to a boolean symmetric function.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A variety of sub-cases were already known; see for example &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.157.8574&quot; rel=&quot;nofollow&quot;&gt;Pseudorandom Bit Generators That Fool Modular Sums&lt;/a&gt;, &lt;a href=&quot;http://eccc.hpi-web.de/report/2009/016/&quot; rel=&quot;nofollow&quot;&gt;Bounded Independence Fools Halfspaces&lt;/a&gt;, and &lt;a href=&quot;http://arxiv.org/abs/0910.4122&quot; rel=&quot;nofollow&quot;&gt;Pseudorandom Generators for Polynomial Threshold Functions&lt;/a&gt;. The first handles sums modulo $p$. The second and the third handle precisely the threshold tests you mention, however the error is not good enough to apply your reasoning to obtain a result for every symmetric function.&lt;/p&gt;&#xA;" OwnerUserId="259" LastEditorUserId="186" LastEditDate="2011-02-17T19:01:10.297" LastActivityDate="2011-02-17T19:01:10.297" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="4968" PostTypeId="2" ParentId="4932" CreationDate="2011-02-17T02:19:11.060" Score="7" Body="&lt;p&gt;This is a follow-up on &lt;a href=&quot;https://cstheory.stackexchange.com/questions/4932/bobs-sale-reordering-of-pairs-with-constraints-to-minimize-sum-of-products/4965#4965&quot;&gt;Gero's answer&lt;/a&gt;.  The idea is to modify his construction to show strong NP-hardness.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Instead of choosing $t_i=(2b+1)^i$, chose $t_i=i$.  Now, you have to modify the argument that a solution with prize $P=2b\sum_{1\leq i \leq k} t_i$ implies that there exists a 3-partition. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Take an arbitrary shelf order.  Do the accounting in the following way: distribute $w_i-1$ units of quantity of the root-product to its leaf-products.  Then every product has quantity 2.  By definition of the constraints, this does not shift to a higher price.&#xA;After this shifting, the price will be exactly $P$.&#xA;If the shifting moved some quantity to a lower prize, the original prize was strictly larger than $P$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hence, it is only possible to achieve the claimed prize, if all leaf-products have the same prize as their root-product, which means that there exists a 3-partition.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Citing the result from a &lt;a href=&quot;http://dx.doi.org/10.1007/978-3-642-13731-0_25&quot; rel=&quot;nofollow noreferrer&quot;&gt;SWAT 2010 paper&lt;/a&gt; this argument shows that even with unary encoding of the numbers and $k$ different price tags, a running time of $f(k)\cdot n^{O(1)}$ would violate &quot;standard complexity assumptions&quot;.&#xA;This makes the hinted at dynamic programming with a running time of $n^{O(k)}$ look not so bad.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Also cross-posted to the original stack-overflow question.&lt;/p&gt;&#xA;" OwnerUserId="3049" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2011-02-17T02:45:52.707" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4969" PostTypeId="2" ParentId="4962" CreationDate="2011-02-17T03:25:21.237" Score="13" Body="&lt;h2&gt; Chomsky normal form &lt;/h2&gt;&#xA;&#xA;&lt;p&gt;A CFG is in CNF (Chomsky normal form) if the only productions are of the form $A \rightarrow a$ and $A \rightarrow BC$; a grammar can be brought to CNF with only quadratic blowup.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For a grammar $G$ in CNF, we have the nice Subword Lemma: &lt;i&gt; If $G$ generates a word $w$, then for each $\ell \leq w$, there is a subword $x$ of $w$ of length $\ell/2 \leq |x| &amp;lt; \ell$ which is generated by some non-terminal of $G$.&lt;/i&gt; Proof: Descend the (binary) syntax tree, always going to the child which generates the longer subword. If you started with a subword of size at least $\ell$, you can't have gone below $\ell/2$.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt; Solution &lt;/h2&gt;&#xA;&#xA;&lt;p&gt;Without loss of generality, we can assume that a grammar for $L_n$ (such a language with specific $\pi_1,\pi_2 \in S_n$) is in Chomsky Normal Form. The language $L_n$ consists of the words $w(x) = x\pi_1(x)\pi_2(x)$ for all $x \in \{0,1\}^n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Using the Subword Lemma, for each $w(x)$ we can find a substring $s(x)$ of length $$\frac{n}{2} \leq |s(x)| &amp;lt; n$$ generated by some symbol $A(x)$ and occurring at position $p(x)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose that $p(x) = p(y)$ and $A(x) = A(y)$. Since $|s(x)|&amp;lt;n$, the subword $s(x)$ cannot intersect both the $x$ part and the $\pi_2(x)$ part of $w(x)$; we can assume it is disjoint from the $x$ part. Thus $w(x)$ is of the form $x \alpha s(x) \beta$. This implies that $A(x)$ generates exactly one string, namely $s(x)$. Therefore $s(x) = s(y)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now $s(y)$ intersects either $\pi_1(y)$ or $\pi_2(y)$ in at least $n/4$ places, and thus determines at least $n/4$ bits of $y$. Therefore at most $2^{3n/4}$ strings $y \in \{0,1\}^n$ can have $p(x) = p(y)$ and $A(x) = A(y)$. Since there are at most $3n$ possibilities for $p(y)$, we get that there are at least $$\frac{2^{n/4}}{3n}$$ different non-terminals in the grammar.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Comment: The same proof works if $\pi_1,\pi_2 \in S_{\{0,1\}^n}$, i.e. are arbitrary permutations on the set of all $n$-bit words. Given $n/4$ bits of $\pi_i(y)$, there are exactly $2^{3n/4}$ preimages $y$.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt; More examples &lt;/h2&gt;&#xA;&#xA;&lt;p&gt;Using the same method, one can prove that the language where each character appears exactly twice requires exponential-size CFG in the size of the alphabet. We can replace &quot;twice&quot; with any subset of $\mathbb{N}$ other than four trivial ones (ignoring $0$, either containing none of $\mathbb{N}_{\geq 1}$ or all of it).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would appreciate a reference for this proof method.&lt;/p&gt;&#xA;" OwnerUserId="40" LastEditorUserId="40" LastEditDate="2011-02-17T05:27:30.943" LastActivityDate="2011-02-17T05:27:30.943" CommentCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="4970" PostTypeId="1" AcceptedAnswerId="4973" CreationDate="2011-02-17T03:40:13.760" Score="10" ViewCount="545" Body="&lt;p&gt;Is there a way that a prover can convince a verifier that some HORN-SAT expression is satisfiable?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course this might seem silly, since there are linear time algorithms for HORN-SAT. On the other hand, HORN-SAT is P-complete, which means it does not have log-space algorithms unless P=L. Accordingly, restrict the computational abilities of the verifier to L. Now the verifier is very feeble, so the problem is no longer silly.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another twist on this is whether it can be a zero-knowledge proof.&lt;/p&gt;&#xA;" OwnerUserId="3474" LastEditorUserId="186" LastEditDate="2011-02-17T04:02:28.357" LastActivityDate="2011-02-18T11:20:49.960" Title="Interactive Proof for HORN-SAT?" Tags="&lt;cc.complexity-theory&gt;&lt;interactive-proofs&gt;&lt;zero-knowledge&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4971" PostTypeId="2" ParentId="4935" CreationDate="2011-02-17T04:12:11.713" Score="7" Body="&lt;p&gt;This paper may shed some light on the issues: &lt;a href=&quot;http://www.springerlink.com/content/w32x70520k8jj617/&quot;&gt;http://www.springerlink.com/content/w32x70520k8jj617/&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="987" LastActivityDate="2011-02-17T04:12:11.713" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4973" PostTypeId="2" ParentId="4970" CreationDate="2011-02-17T06:57:22.017" Score="11" Body="&lt;p&gt;This &lt;a href=&quot;http://www.cs.ubc.ca/~condon/papers/ips-survey.pdf&quot; rel=&quot;nofollow&quot;&gt;http://www.cs.ubc.ca/~condon/papers/ips-survey.pdf&lt;/a&gt;&#xA;survey by Anne Condon contains many facts about space bounded interactive proof systems.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are several models, and the main differences are whether you allow private coins for the verifier (IP) or public coins only (AM), and whether you also restrict the verification&#xA;time to polynomial (not implied by the space bound alone).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Without the time restriction the answer is yes: IP(log-space) contains EXP&#xA;and AM(log-space)=P.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that IP(log-space) is most likely larger than standard IP. On the other hand &#xA;IP(log-space, poly-time)=IP=PSPACE.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;AM(log-space, poly-time) = P due to 'Delegating Computation: Interactive Proofs for Muggles' by Goldwasser et al., STOC 2008.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Furthermore the paper 'Zero knowledge with log-space verifiers' by Kilian (FOCS 88)&#xA;shows how to get a log-space poly-time zero knowledge proof system for everything in IP (with private coins obviously).&lt;/p&gt;&#xA;" OwnerUserId="2361" LastEditorUserId="2361" LastEditDate="2011-02-18T11:20:49.960" LastActivityDate="2011-02-18T11:20:49.960" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="4974" PostTypeId="1" AcceptedAnswerId="4977" CreationDate="2011-02-17T09:44:33.687" Score="0" ViewCount="1037" Body="&lt;p&gt;Usually to check password validity we used to create over given password it hash value and compare it with stored one. So password protection relies on strength of hashing function.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Could it be used another approach? &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Let's say we have encryption algorithm (doesn't matter which one). &lt;/li&gt;&#xA;&lt;li&gt;Let assume we have some array of predefined chars (for instance just digits)&lt;/li&gt;&#xA;&lt;li&gt;Then generate random sequence of chars consisting predefined array (for instance just random sequence of digits)&lt;/li&gt;&#xA;&lt;li&gt;Encrypt sequence with our algorithm with given password and store it somewhere in safe place (let's call it as saved value)&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;EDIT&lt;/strong&gt; Also presumed that channel between client and server provides confidentiality and integrity&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Now time to check password validity&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Trying to decrypt saved value with probe password&lt;/li&gt;&#xA;&lt;li&gt;If decryption successfull (meaning mathematically correct) check decrypted value to presence of predefined chars array. For instance if value consists only digits - we assume that password is correct. If decrypted value contains extra chars (except digits) - we would assume that password is incorrect.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Now question: what do you think about crypto-strength of this method?&lt;/p&gt;&#xA;" OwnerUserId="3880" LastEditorUserId="3880" LastEditDate="2011-02-17T13:40:58.787" LastActivityDate="2021-02-25T04:42:03.837" Title="Password checking algorithm" Tags="&lt;cr.crypto-security&gt;&lt;randomness&gt;&lt;hash-function&gt;" AnswerCount="2" CommentCount="9" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4975" PostTypeId="2" ParentId="4952" CreationDate="2011-02-17T09:54:53.057" Score="2" Body="&lt;p&gt;In a course I got to know &lt;a href=&quot;http://www.cl.cam.ac.uk/research/hvg/Isabelle/&quot; rel=&quot;nofollow&quot;&gt;Isabelle&lt;/a&gt;, a &quot;generic proof assisstant&quot;. It supports (total) functional programming (close to ML) and higher order logic. You can define yourself (or find) languages for LTS and LTL and prove theorems on those. I do not know if this qualifies as easy, but it certainly works.&lt;/p&gt;&#xA;" OwnerUserId="1546" LastActivityDate="2011-02-17T09:54:53.057" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="4976" PostTypeId="1" AcceptedAnswerId="4991" CreationDate="2011-02-17T10:13:42.163" Score="6" ViewCount="375" Body="&lt;p&gt;given a discrete distribution of hitting time probabilities, is it possible to generate a random walk that generates this hitting time distribution? More specifically I am interested in generating a finite graph so that a simple random generates the given hitting time distribution.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I guess it is not possible to generate the exact distribution, but maybe approximate it?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any hints on papers etc. are welcome!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks,&#xA;Chris&lt;/p&gt;&#xA;" OwnerDisplayName="user3881" LastEditorUserId="186" LastEditDate="2011-02-18T00:22:39.967" LastActivityDate="2011-02-18T13:14:22.957" Title="Generating graph for random walk given hitting time distribution" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;random-walks&gt;&lt;stochastic-process&gt;" AnswerCount="1" CommentCount="8" ContentLicense="CC BY-SA 2.5" />
  <row Id="4977" PostTypeId="2" ParentId="4974" CreationDate="2011-02-17T10:57:22.923" Score="9" Body="&lt;p&gt;The first problem you face is that a password cannot be used as an encryption key. For instance, let the password be &lt;code&gt;$%^gHk23&lt;/code&gt;. How do you interpret this as an AES-256 key?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The second problem is that the client has to send the password in clear, and then the server tries to make a key from it, and decrypt saved values.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thirdly, the scheme is fixed. No &lt;a href=&quot;http://en.wikipedia.org/wiki/Salt_%28cryptography%29&quot; rel=&quot;noreferrer&quot;&gt;salting&lt;/a&gt; whatsoever is incorporated in it, and thus it is vulnerable to a variety of attack, most notably the &lt;a href=&quot;http://en.wikipedia.org/wiki/Dictionary_attack&quot; rel=&quot;noreferrer&quot;&gt;dictionary attack&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The hashing scheme you described at the beginning of your post is very old. Today, an extremely secure password-based identification scheme, named &lt;a href=&quot;http://srp.stanford.edu/&quot; rel=&quot;noreferrer&quot;&gt;SRP&lt;/a&gt;, is gaining momentum. (See also the &lt;a href=&quot;http://srp.stanford.edu/demo/demo.html&quot; rel=&quot;noreferrer&quot;&gt;demo&lt;/a&gt;.)&lt;/p&gt;&#xA;" OwnerUserId="873" LastActivityDate="2011-02-17T10:57:22.923" CommentCount="11" ContentLicense="CC BY-SA 2.5" />
  <row Id="4978" PostTypeId="1" CreationDate="2011-02-17T11:13:41.803" Score="5" ViewCount="459" Body="&lt;p&gt;When I teach students concepts like intractable problems and efficient algorithms in discrete structures or data structures and algorithms, it is difficult for students to intuitively grasp somewhat artificial concepts of asymptotic time complexity and polynomial growth rates. Artificial $NP$-complete problems were known before the discovery of Cook's first &lt;em&gt;natural&lt;/em&gt; $NP$-complete problem, which sparked huge interest in the field. Under some acceptable definition of &lt;em&gt;natural&lt;/em&gt;:  &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What is the most &lt;em&gt;natural&lt;/em&gt; way to express the computational hardness of natural problems to students who encounter the subject for the first time?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT&lt;/strong&gt;: Motivated by Marc's answer, it would be more natural to find how hard is the self reducibility of clique problem. For instance, How hard is it to reduce an instance of clique of input size $(1+ \epsilon)n$ to an instance of size $n$ using Turing reduction?.&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2011-02-17T22:46:13.387" LastActivityDate="2011-02-21T19:10:49.137" Title="Natural notion for computational hardness" Tags="&lt;cc.complexity-theory&gt;&lt;soft-question&gt;&lt;teaching&gt;" AnswerCount="4" CommentCount="5" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="4979" PostTypeId="2" ParentId="4978" CreationDate="2011-02-17T13:53:56.683" Score="11" Body="&lt;p&gt;Just what makes growth rates such as O(&lt;em&gt;n&lt;/em&gt;&amp;sup2;) artificial — just the fact that it isn't one specific monotonic function? Or is it the fact that it's a family of &lt;em&gt;functions&lt;/em&gt; in itself, and not just some simple number which comes from something obvious about the problem?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;At the very least, your students should be able to grasp the purpose, and in a sense the &lt;em&gt;meaning&lt;/em&gt;, of asymptotic notation by observing how the tediousness of performing arithmetic scales with the size of the numbers &amp;mdash; that it gets more tedious for larger numbers, and that adding two &lt;em&gt;n&lt;/em&gt;-bit numbers is less tediuous than multiplying them. Hopefully they should percieve a difference! If they can, then you have got them where you want them. Point out that the difference is smaller when you have smaller numbers: obviously the difference is one which grows with instance size. Point out to them the nested iterations in the multiplication algorithm. And now you have motivated caring about the difference between O(&lt;em&gt;n&lt;/em&gt;&amp;sup2;) time and O(&lt;em&gt;n&lt;/em&gt;) time. Get them to do matrix computations next to give them a taste of O(&lt;em&gt;n&lt;/em&gt;&amp;sup3;), and point out the nested iterations there. They should get the idea after that.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would say that exponential-time versus poly-time often amounts to &quot;searching through a combinatorial explosion versus performing a bounded number of nested iterations&quot;, which is about as natural a distinction as possible between approaches to solving problems (e.g. in computer programming). But you cannot motivate complexity of problems of any sort, to people who do not themselves spend time solving problems and so who have no taste for the idea that certain ways of solving things (or solving different kinds of problems) &lt;em&gt;take different amounts of work&lt;/em&gt;, and that differences between algorithms &lt;em&gt;come from&lt;/em&gt; some place. You can't convince someone of these things unless they can have enough &quot;empathy&quot; for the computer to &lt;em&gt;viscerally feel&lt;/em&gt; the extra work that is being done in one algorithm, versus another; to be aware of the layers of computing or of searching which it is doing, to &lt;em&gt;actually hope&lt;/em&gt; that the problem has enough structure to narrow the solution space beyond just nested loops. They must be able to appreciate the existentially Sisyphian futility of trying to solve instances of &lt;strong&gt;SAT&lt;/strong&gt; just by looking forlornly for a solution brute-force. This sort of perspective comes from solving problems oneself, and being self-aware of what one is doing; and I think it is perfectly natural to ask how much the tediousness of the task (i.e. how many computations you are doing) scales with the size of the problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If your students can't grasp this, tell them that the &quot;difficulty&quot; of adding numbers by high-school techniques is rated as 1; that of multiplying numbers is rated as 2; that sorting an unordered list has a rating between 1 and 1.000001 if you do it in the right way; and that there are &lt;em&gt;no&lt;/em&gt; techniques for solving SAT whose rating is less than infinity; and move on from there &amp;mdash; because you're not likely to do much better than this pedagogically without inventing a novel complexity measure, or obtaining more engaged students.&lt;/p&gt;&#xA;" OwnerUserId="248" LastEditorUserId="248" LastEditDate="2011-02-20T11:19:59.050" LastActivityDate="2011-02-20T11:19:59.050" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4980" PostTypeId="2" ParentId="4952" CreationDate="2011-02-17T14:43:53.090" Score="3" Body="&lt;p&gt;CTL properties can be checked in linear time (see &lt;a href=&quot;http://scholar.google.co.uk/scholar?cluster=326651136244218780&quot; rel=&quot;nofollow&quot;&gt;Clarke et al&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Long time ago I used to work in a company where many colleagues used &lt;a href=&quot;http://www.research.ibm.com/haifa/projects/verification/RB_Homepage/&quot; rel=&quot;nofollow&quot;&gt;Rulebase&lt;/a&gt; to verify integrated circuit designs. The property language is &lt;a href=&quot;http://dx.doi.org/10.1109/IEEESTD.2005.97780&quot; rel=&quot;nofollow&quot;&gt;PSL&lt;/a&gt;, it is standardized by IEEE, and is a kind of CTL on steroids.&lt;/p&gt;&#xA;" OwnerUserId="236" LastEditorUserId="236" LastEditDate="2011-04-19T12:09:25.530" LastActivityDate="2011-04-19T12:09:25.530" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="4981" PostTypeId="2" ParentId="4978" CreationDate="2011-02-17T16:41:50.830" Score="9" Body="&lt;p&gt;I find that the most &quot;natural&quot; way to get an intuition of complexity classes is to revert to Turing's starting point and try to solve the problem &quot;manually&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Start with a sorting task.  From a jumble of, say, five words have the class order them alphabetically.  This should be easy.  Then double the number of words, and repeat the exercise.  It will be obvious that, though the second problem is harder, it isn't &lt;strong&gt;that much&lt;/strong&gt; harder.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Next try a traveling salesman task.  Start with a grid of say three cities with distances between them.  The class will probably be able to solve this in short order.  Now double the number of cities to six, and continue with the exercise until everyone's head is spinning.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An experience like this is very likely to leave a lasting visceral impression that a purely technical introduction may not.&lt;/p&gt;&#xA;" OwnerUserId="629" LastActivityDate="2011-02-17T16:41:50.830" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="4984" PostTypeId="1" CreationDate="2011-02-17T18:44:04.127" Score="6" ViewCount="1009" Body="&lt;p&gt;I can list for example algorithms used in databases:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;append only b-trees (MVCC like used in CouchDB)&lt;/li&gt;&#xA;&lt;li&gt;merged logs (like used in Big Table, Hbase, Cassandra)&lt;/li&gt;&#xA;&lt;li&gt;paged storages grouped in extents (like in InnoDB engine of MySQL)&lt;/li&gt;&#xA;&lt;li&gt;fractal trees (like used in TokuDB engine of MySQL)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Are there any others? similar or totaly different?&lt;/p&gt;&#xA;" OwnerDisplayName="user3885" LastEditorUserId="186" LastEditDate="2011-02-19T06:23:32.570" LastActivityDate="2014-01-08T23:25:47.933" Title="What are the most known database disk storage layout algorithms?" Tags="&lt;ds.data-structures&gt;&lt;big-list&gt;&lt;db.databases&gt;" AnswerCount="4" CommentCount="0" FavoriteCount="8" ContentLicense="CC BY-SA 2.5" />
  <row Id="4985" PostTypeId="2" ParentId="4978" CreationDate="2011-02-17T19:32:16.003" Score="3" Body="&lt;p&gt;Use some slides and start with subset-sum:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Show them a balance with a 100Kg weight on a plate. On the side of the balance put 5 small weights and ask if some of the weights are enough to overbalance the 100Kg weight.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then ask if some of the weights can be used to exactly balance the 100Kg weight, i.e. their sum is exactly 100Kg (suppose 3 of them is a solution).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then repeat the game with 10 small weights (and a harder solution that involves 6 of them).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then repeat the game with 15 small weights (and a harder solution that involves 6 of them).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If they do not solve it in a minute highlight those who form a solution and ask to them to verify that their sum is exactly 100Kg (and they will do it in a few seconds).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In my opinion a very &lt;em&gt;natural way&lt;/em&gt; to mark the difference between &lt;strong&gt;easy&lt;/strong&gt; (&amp;gt; 100Kg?) and &lt;strong&gt;hard&lt;/strong&gt; (= 100Kg?) and the difference between &lt;strong&gt;finding&lt;/strong&gt; and &lt;strong&gt;verifying&lt;/strong&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;... and after the first lesson if you want to &lt;strong&gt;totally confuse them&lt;/strong&gt; show a shuffled Rubik's cube and say &quot;Every shuffled Rubik's cube can be solved in less than 21 moves!&quot;.  This marks the difference between problems that &lt;strong&gt;are hard&lt;/strong&gt; and problems that are &lt;strong&gt;supposed to be hard&lt;/strong&gt; only because we don't know &quot;how to do it&quot;. :-D :-D :-D&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2011-02-17T19:46:57.877" LastActivityDate="2011-02-17T19:46:57.877" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4986" PostTypeId="1" CreationDate="2011-02-17T19:33:23.363" Score="3" ViewCount="118" Body="&lt;p&gt;So a canonical labelling of a graph &lt;strong&gt;G&lt;/strong&gt; is a function CL(&lt;strong&gt;G&lt;/strong&gt;) that maps each vertex to a numerical label. Sorry if my definitions are a bit obvious or clumsy, by the way. For every isomorphic graph &lt;strong&gt;G'&lt;/strong&gt;, CL(&lt;strong&gt;G&lt;/strong&gt;) = CL(&lt;strong&gt;G'&lt;/strong&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, I'm actually dealing here with spanning trees of the graph, and spanning subtrees. The tree &lt;strong&gt;T&lt;/strong&gt; that spans &lt;strong&gt;G&lt;/strong&gt; is rooted at a particular vertex, and the labelling of this tree may not be canonical for the whole graph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;My question&lt;/em&gt;, then is this : if you label a subtree of a particular spanning tree, will its labels sometimes not be a subsequence of the labels of the tree? Even less formally : is the local order defined by (any) function CL likely to be inconsistent with the global order.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course, there could be graphs for which subtrees of certain depths are consistent for particular vertices. By consistent I mean subsequence as [0,2,1] is a subsequence of [0,2,1,3,4].&lt;/p&gt;&#xA;" OwnerUserId="3779" LastEditorUserId="1800" LastEditDate="2011-02-18T03:04:24.497" LastActivityDate="2011-02-18T03:04:24.497" Title="Are local canonical labellings of a graph ever a subsequence of the global canonical labelling?" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;graph-algorithms&gt;" AnswerCount="0" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4987" PostTypeId="2" ParentId="4952" CreationDate="2011-02-17T19:45:25.710" Score="5" Body="&lt;p&gt;To expand on Dave's answer, the modal mu calculus is also tied to the notion of infinite parity games.  There is a very good set of lecture notes available here: &lt;a href=&quot;http://pub.ist.ac.at/gametheory/&quot; rel=&quot;nofollow&quot;&gt;http://pub.ist.ac.at/gametheory/&lt;/a&gt; that present the connection.  As a side note, not only is the modal mu-calculus decidable, it's in $\mathit{NP}\cap \mathit{co\text{-}NP}$ (see lecture notes).&lt;/p&gt;&#xA;" OwnerUserId="1836" LastEditorUserId="77" LastEditDate="2011-04-18T16:12:55.247" LastActivityDate="2011-04-18T16:12:55.247" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="4988" PostTypeId="1" AcceptedAnswerId="4990" CreationDate="2011-02-17T23:14:12.183" Score="12" ViewCount="677" Body="&lt;p&gt;Let's say we discover alien civilizations that are able to send and receive messages using an interstellar digital communications channel. (Say using modulated radio waves, laser pulses, re-positioning stars in various orbits, what have you.) Let's assume we have decided to make contact with them.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Once we initiate a dialog, how would we go about establishing a communications protocol and language? What methodology would we use to agree on a basic vocabulary and ways of expressing logical ideas? Is it ad-hoc or is there some way to optimize the process of establishing a common language based on symbolic manipulations. We would want to agree on a language quickly and minimize the resources required to encode and send messages (since they're quite slow to send).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Next, reciprocity: Once we have a shared language, how would we make sure that both sides reciprocate in trading secrets? That is, we don't want to be in a situation where we give away valuable technology without receiving anything in return. Can both sides prove that they posses certain technology? Is there a way to send results piecemeal, gradually, so that each side can have increasing confidence in the value of the message?&lt;/p&gt;&#xA;" OwnerUserId="3817" LastEditorUserId="3817" LastEditDate="2011-02-18T17:21:41.027" LastActivityDate="2011-02-18T17:21:41.027" Title="Best alien communication protocol?" Tags="&lt;big-picture&gt;&lt;communication-complexity&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4990" PostTypeId="2" ParentId="4988" CreationDate="2011-02-17T23:39:37.777" Score="14" Body="&lt;p&gt;Your first question is the topic of Brendan Juba's PhD thesis on &lt;a href=&quot;http://people.csail.mit.edu/bjuba/thesis/&quot;&gt;Universal Semantic Communication&lt;/a&gt;. You should take a look at it, as well as some of the papers on his website.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As for your second question, you might want to read about &lt;a href=&quot;http://en.wikipedia.org/wiki/Zero-knowledge_proof&quot;&gt;zero-knowledge proofs&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="25" LastActivityDate="2011-02-17T23:39:37.777" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="4991" PostTypeId="2" ParentId="4976" CreationDate="2011-02-18T01:09:00.753" Score="6" Body="&lt;p&gt;There are lots of different kinds of random walks (discrete vs continuous, weighted vs constant, classical vs quantum) so the exact approach will differ some what in each case, but I will attempt to outline a fairly general approach here.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Usually the evolution of that system will be given by $A^t$ for some matrix $A$, where $t$ is time. The exact nature of $A$ will depend on the type of random walk you have in mind, but in any case, we expect the system to be in a state $A^t v$ after time $t$, where $v$ denotes the starting state. The question then becomes: given a set of hitting times $\{t_i\}$, corresponding states $\{u_i\}$, and hitting overlaps $\{p_i\}$, can we find some matrix $A$ which satisfies $u_i^\dagger A^{t_i} v = p_i$ for all $i$? Certainly this will not always be the case (since we could have conflicts where orthogonal states are required at the same time), so I assume you are really interested in how to find $A$ when there does exist an $A$ satisfying these relations. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT: My previous answer was incorrect beyond this point, so I have replaced that portion.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am not 100% sure of the most efficient way to find $A$. You have a system of equations in the enteries of $A$, and these can obviously be solved numerically using, for example, Buchberger's algorithm. However, this approach is not computationally efficient, and there may exist a more straight forward approach.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you simply want find a transition matrix which approximates this, then you can use any number of optimization strategies, though these too may be inefficient.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note, here I have assumed a very general model which should be true for all random walks, but it makes it hard to say anything concrete about how hard long it will take to numerically find a solution. If you have more information (i.e. is this a discrete time walk? Is it classical (I assume so)? Are weighted transitions probabilities allowed or do they have to be constant? Is this associates with some lattice (1d, 2d, or an arbitrary graph)?) Then you can possibly do much better. In the worst case, though, this problem seems to be NP-hard (since you get an integer programming problem if you restrict the transition probabilities to be multiples of some constant).&lt;/p&gt;&#xA;" OwnerUserId="204" LastEditorUserId="204" LastEditDate="2011-02-18T13:14:22.957" LastActivityDate="2011-02-18T13:14:22.957" CommentCount="8" ContentLicense="CC BY-SA 2.5" />
  <row Id="4992" PostTypeId="1" CreationDate="2011-02-18T02:27:44.460" Score="17" ViewCount="354" Body="&lt;p&gt;If $X$ is a linear subspace of ${\mathbb R}^n$, $X$ is high-dimensional, and for every $x\in X$ we have&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$(1-\epsilon) \sqrt n ||x||_2 \leq ||x||_1 \leq \sqrt n ||x||_2$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;for some small $\epsilon &amp;gt;0$, then we say that $X$ is an almost-Euclidean section of $\ell_1^n$, and (the matrix whose image is) X is useful in compressed sensing. A random subspace works excellently, and there is a huge research program devoted to the &lt;b&gt;explicit construction&lt;/b&gt; of such spaces.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is it known what is the complexity of approximating the &quot;Euclidan-sectionness&quot; of $X$? That is, given a subspace $X$, say presented via a basis, consider the problem of finding the unit (in $\ell_2$ norm) vector in $X$ of smallest $\ell_1$ norm.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What is the complexity of this problem? Are hardness of approximation results known?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Apart from specific applications, these seem to be interesting problems. Is it known what is the complexity of finding the vector of &lt;b&gt;maximum&lt;/b&gt; $\ell_1$ norm among the unit vectors of a given subspace? &lt;/p&gt;&#xA;" OwnerUserId="1069" LastEditorUserId="15" LastEditDate="2011-03-28T21:33:00.297" LastActivityDate="2011-05-04T18:17:04.013" Title="complexity of checking if a subspace is a Euclidean section of L1" Tags="&lt;cc.complexity-theory&gt;&lt;cg.comp-geom&gt;&lt;norms&gt;&lt;compressed-sensing&gt;" AnswerCount="0" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="4993" PostTypeId="2" ParentId="3253" CreationDate="2011-02-18T04:35:44.527" Score="16" Body="&lt;h2&gt;Computational Algebra&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;As Shiva said &lt;a href=&quot;https://cstheory.stackexchange.com/questions/2270/formal-representation-of-rings-in-computations/2272#2272&quot;&gt;in this answer&lt;/a&gt;, literatures in this field are scattered all over the place, without common terminologies. One can find useful references by searching &quot;symbolic computation&quot;, &quot;algebraic complexity theory&quot;, &quot;computer algebra&quot; or &quot;computational algebra&quot;. As suggested in the answers to &lt;a href=&quot;https://cstheory.stackexchange.com/q/2270/1800&quot;&gt;this question&lt;/a&gt;, &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0521826462&quot; rel=&quot;nofollow noreferrer&quot;&gt;Modern Computer Algebra&lt;/a&gt; by Joachim von zur Gathen and Jürgen Gerhard.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/3540605827&quot; rel=&quot;nofollow noreferrer&quot;&gt;Algebraic Complexity Theory&lt;/a&gt; by Peter Bürgisser, Michael Clausen, Mohammad A. Shokrollahi and T. Lickteig.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0387940901&quot; rel=&quot;nofollow noreferrer&quot;&gt;Algorithmic Algebra&lt;/a&gt; by Bhubaneswar Mishra.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://shoup.net/ntb/&quot; rel=&quot;nofollow noreferrer&quot;&gt;A Computational Introduction to Number Theory and Algebra&lt;/a&gt; by Victor Shoup.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;h2&gt;Computational Analysis&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;An interesting field also, which deals with computations in real functions. Also known as &quot;computable analysis&quot; or &quot;computable calculus&quot;.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.amazon.co.uk/Computable-Analysis-Oliver-Aberth/dp/0070000794&quot; rel=&quot;nofollow noreferrer&quot;&gt;Computable Analysis&lt;/a&gt; by Oliver Aberth.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/3540668179&quot; rel=&quot;nofollow noreferrer&quot;&gt;Computable Analysis: An Introduction&lt;/a&gt; by Klaus Weihrauch.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="1800" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.743" LastActivityDate="2011-02-18T04:42:23.913" CommentCount="0" CommunityOwnedDate="2011-02-18T04:35:44.527" ContentLicense="CC BY-SA 2.5" />
  <row Id="4994" PostTypeId="2" ParentId="4984" CreationDate="2011-02-18T04:40:20.267" Score="4" Body="&lt;p&gt;Columnar stores. There are some great papers on the topic from the c-store project: &lt;a href=&quot;http://db.lcs.mit.edu/projects/cstore/&quot; rel=&quot;nofollow&quot;&gt;http://db.lcs.mit.edu/projects/cstore/&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The most interesting thing about columnar stores is that many operations can be performed directly on compressed data.&lt;/p&gt;&#xA;" OwnerUserId="351" LastActivityDate="2011-02-18T04:40:20.267" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4995" PostTypeId="2" ParentId="4988" CreationDate="2011-02-18T05:47:13.600" Score="1" Body="&lt;p&gt;I have heard that relaying prime numbers is the preferred choice for communication, but I always thought that transmitting fibonacci numbers made much more sense. (After all, how many people on our world would recognize a prime series if they saw it, whereas fibonacci series is more intuitively observable)&lt;/p&gt;&#xA;" OwnerDisplayName="user3892" LastActivityDate="2011-02-18T05:47:13.600" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="4996" PostTypeId="2" ParentId="4984" CreationDate="2011-02-18T06:15:16.330" Score="6" Body="&lt;p&gt;The Fractal Trees I have seen overviewed in Tokutek talks are &lt;a href=&quot;http://supertech.csail.mit.edu/papers/sbtree.pdf&quot;&gt;Cache-Oblivious Lookahead Arrays&lt;/a&gt; (COLAs), which are at the intersection of two motivating storage layout ideas. If you're looking for similar layouts, you might be interested in them:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Decreasing insertion time at the cost of increased search time. See &lt;a href=&quot;http://www.daimi.au.dk/~large/ioS06/BGVW.pdf&quot;&gt;Buffered Repository Trees&lt;/a&gt; and &lt;a href=&quot;http://cs.au.dk/~gerth/pub/soda03.html&quot;&gt;$B^{\epsilon}$ trees&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.cs.au.dk/~gerth/pub/cacheoblivious05.html&quot;&gt;Cache-oblivious data structures&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;The COLAs paper discusses another data structure at this intersection, as does &lt;a href=&quot;http://www.cs.au.dk/~gerth/pub/soda10.html&quot;&gt;a more recent improvement&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Implementation-wise, I only know of one other DBMS that uses cache-oblivious data structures: &lt;a href=&quot;http://www.cse.ust.hk/cactus/&quot;&gt;EaseDB&lt;/a&gt;, which is in-memory and appears to no longer be under active development.&lt;/p&gt;&#xA;" OwnerUserId="43" LastActivityDate="2011-02-18T06:15:16.330" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="4997" PostTypeId="2" ParentId="4984" CreationDate="2011-02-18T07:56:47.480" Score="3" Body="&lt;p&gt;Append only again but with concurrency friendly caching by RethinkDB. &lt;a href=&quot;http://www.rethinkdb.com/papers/rrcache.pdf&quot; rel=&quot;nofollow&quot;&gt;http://www.rethinkdb.com/papers/rrcache.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;--Sai&lt;/p&gt;&#xA;" OwnerUserId="3397" LastActivityDate="2011-02-18T07:56:47.480" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5000" PostTypeId="2" ParentId="4826" CreationDate="2011-02-18T12:07:33.413" Score="0" Body="&lt;p&gt;If you want to keep memory low (avoid $O(N^2)$ matrix), you can add some heuristics:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;yespath = array(1..N)       // output of the algorithm&#xA;                            // initially filled with false&#xA;processed = array(1..N)     // processed nodes&#xA;&#xA;// HEURISTIC 1: some preprocessing&#xA;for every node u in 1..N&#xA;  if (no outbound edges from u) then processed[u] = true&#xA;  if (no inbound edges to u+N) then processed[u] = true&#xA;&#xA;for each node u in [1..N]    // MAIN loop &#xA;  if (not processed[u]) then&#xA;    collected = [u]          // a list that initially contains u&#xA;    visited = array(1..2*N)  // filled with zeroes        &#xA;    do a breadth first scan from u&#xA;       for each node v found in the search&#xA;         set visited[v] = distance from u&#xA;         if (v &amp;lt;= N) then add v to collected&#xA;    end do&#xA;&#xA;    // HEURISTIC 2: useful collected info on other nodes &amp;lt;= N&#xA;    foreach node v in collected&#xA;      processed[v] = true&#xA;      if ( visited[ v + N ] &amp;gt; 0 and visited[v] &amp;lt; visited[v+N] ) then yespath[v] = true&#xA;    end foreach&#xA;&#xA;  end if&#xA;end for // MAIN loop&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;HEURISTIC 3&lt;br&gt;&#xA;Instead of using a matrix of size $O(N^2)$, you can use a buffer (simple array or hash table) of the k-previous scans (size $O(N*k)$) that contains a node $e &amp;gt; u + N$ (u is the current node in main loop), and during breadth-first check if we reach a node contained in a previous buffered path.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Other heuristics can be added, but their efficiency (and efficiency of the three proposed) highly depends on graph structure.&lt;/p&gt;&#xA;" OwnerUserId="3247" LastActivityDate="2011-02-18T12:07:33.413" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5003" PostTypeId="1" AcceptedAnswerId="5009" CreationDate="2011-02-18T16:23:45.163" Score="5" ViewCount="681" Body="&lt;p&gt;Suppose, transformation &lt;code&gt;T&lt;/code&gt; is defined as given in the diagrams below. &#xA;Every vertex (&lt;code&gt;v&lt;/code&gt;) is replaced by &lt;code&gt;deg(v)-gon&lt;/code&gt;. And then graph is reconnected as shown.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/hASj2.jpg&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Those on the left are &lt;code&gt;G&lt;/code&gt;s and on the right are &lt;code&gt;T(G)&lt;/code&gt;s.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is easy to see that every vertex in  &lt;code&gt;T(G)&lt;/code&gt; has degree &lt;code&gt;3&lt;/code&gt;. &#xA;&lt;a href=&quot;http://ix.cs.uoregon.edu/~luks/iso.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;This paper&lt;/a&gt; claims that graph isomorphism of such graphs can be tested in polynomial time. Also, &lt;code&gt;G&lt;/code&gt; can be converted to &lt;code&gt;T(G)&lt;/code&gt; in polynomial time. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Statement I:&lt;/strong&gt; G1 and G2 are isomorphic iff T(G1) and T(G2) are isomorphic.&lt;br&gt;&#xA;&lt;strong&gt;EDIT:&lt;/strong&gt;&#xA;Specifications for G1,G2:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;G1 = (V1,E1) and G2=(V2,E2) &lt;/li&gt;&#xA;&lt;li&gt;|E1| = |E2| and |V1| = |V2|&lt;/li&gt;&#xA;&lt;li&gt;Sort[{deg(v)|v in V1}] = Sort[{deg(u)| u in V2}]&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;If &lt;strong&gt;Statement I&lt;/strong&gt; is &lt;code&gt;True&lt;/code&gt; then do we have solution for GI problem? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Note: I am n00b in this field. I invent funny techniques daily.&lt;/em&gt; &lt;/p&gt;&#xA;" OwnerUserId="612" LastEditorUserId="612" LastEditDate="2011-08-14T19:45:08.467" LastActivityDate="2011-08-14T19:45:08.467" Title="Is this graph transformation unique up to isomorphism? [Answer:NO]" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;advice-request&gt;&lt;graph-isomorphism&gt;" AnswerCount="3" CommentCount="10" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="5004" PostTypeId="1" AcceptedAnswerId="5006" CreationDate="2011-02-18T16:49:38.677" Score="69" ViewCount="8235" Body="&lt;p&gt;The question asked is whether the following question is decidable:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Problem&lt;/strong&gt;&amp;nbsp;&amp;nbsp;Given an integer $k$ and Turing machine $M$ promised to be in P, is the runtime of $M$ ${O}(n^k)$ with respect to input length $n$ ? &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;A narrow answer of &quot;yes&quot;, &quot;no&quot;, or &quot;open&quot; is acceptable (with references, proof sketch, or a review of present knowledge), but broader answers too are very welcome.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Answer&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Emanuele Viola has &lt;a href=&quot;https://cstheory.stackexchange.com/questions/5004/are-runtime-bounds-in-p-decidable-answer-no/5006#5006&quot;&gt;posted a proof&lt;/a&gt;  that the question is undecidable (see below).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Background&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For me, this question arose naturally in parsing Luca Tevisan's answer to the question &lt;a href=&quot;https://cstheory.stackexchange.com/questions/4704/do-runtimes-for-p-require-exp-resources-to-upper-bound-are-concrete-examples-k/4716#4716&quot;&gt;&lt;i&gt;Do&amp;nbsp;runtimes for P require EXP resources to upper-bound? … are concrete examples known?&lt;/i&gt;&lt;/a&gt;  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The question relates also to a MathOverflow question: &lt;a href=&quot;https://mathoverflow.net/questions/11540/what-are-the-most-attractive-turing-undecidable-problems-in-mathematics&quot;&gt;&lt;i&gt;What are the most attractive Turing undecidable problems in mathematics?&lt;/i&gt;&lt;/a&gt;, in a variation in which the word &quot;mathematics&quot; is changed to &quot;engineering,&quot; in recognition that runtime estimation is an ubiquitous engineering problem associated to (for example) control theory and circuit design.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thus, the&amp;nbsp;broad objective in asking this question is to gain a better appreciation/intuition regarding which practical aspects of runtime estimation in the complexity class P are feasible (that is, require computational resources in P to estimate), versus&amp;nbsp;infeasible (that is, require computational resources in EXP to estimate), versus formally&amp;nbsp;undecidable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;---&amp;nbsp;edit (post-answer)&amp;nbsp;---&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have added &lt;a href=&quot;https://mathoverflow.net/questions/11540/what-are-the-most-attractive-turing-undecidable-problems-in-mathematics/55936#55936&quot;&gt;Viola's theorem&lt;/a&gt; to MathOverflow's  community wiki &lt;i&gt;&quot;Attractive Turing-undecidable problems&quot;.&lt;/i&gt;  It&amp;nbsp;is that&amp;nbsp;wiki's first contribution associated to the complexity class&amp;nbsp;P; this&amp;nbsp;attests to the&amp;nbsp;novelty, naturality, and broad scope of Viola's theorem (and IMHO its beauty too).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;---&amp;nbsp;edit (post-answer)&amp;nbsp;---&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Juris Hartmanis' monograph &lt;i&gt;Feasible computations and provable complexity properties&lt;/i&gt; (1978) covers much of the same material as Emanuele Viola's proof.&lt;/p&gt;&#xA;" OwnerUserId="1519" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2017-09-14T19:54:05.383" Title="Are runtime bounds in P decidable? (answer: no)" Tags="&lt;cc.complexity-theory&gt;&lt;approximation-hardness&gt;" AnswerCount="7" CommentCount="9" FavoriteCount="23" ContentLicense="CC BY-SA 3.0" />
  <row Id="5006" PostTypeId="2" ParentId="5004" CreationDate="2011-02-18T17:09:55.557" Score="86" Body="&lt;p&gt;The problem is undecidable. Specifically, you can reduce the halting problem to it as follows. Given an instance $(M,x)$ of the halting problem, construct a new machine $M&amp;#39;$ that works as follows: on inputs of length $n$, it simulates $M$ on $x$ for $n$ steps. If $M$ accepts, loop for $n^2$ steps and stop; otherwise loop for $n^3$ steps and stop.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $M$ halts on $x$ it does so in $t=O(1)$ steps, so the run time of $M&amp;#39;$ would be $O(n^2)$. If $M$ never halts then the run time of $M&amp;#39;$ is at least $n^3$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hence you can decide if $M$ accepts $x$ by deciding if the run time of $M&amp;#39;$ is $O(n^2)$ or $O(n^3)$.&lt;/p&gt;&#xA;" OwnerUserId="259" LastActivityDate="2011-02-18T17:09:55.557" CommentCount="18" ContentLicense="CC BY-SA 2.5" />
  <row Id="5007" PostTypeId="2" ParentId="5003" CreationDate="2011-02-18T17:10:05.623" Score="5" Body="&lt;p&gt;Your Statement I is not true. You can have two non-isomorphic graphs G1, G2 with T(G1), T(G2) isomorphic. Basically, the problem is that there is no reason why isomorphisms between T(G) graphs should map vertex-cycles into vertex-cycles. &lt;/p&gt;&#xA;" OwnerUserId="1616" LastActivityDate="2011-02-18T17:10:05.623" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5008" PostTypeId="2" ParentId="5003" CreationDate="2011-02-18T17:33:17.207" Score="9" Body="&lt;p&gt;The main problem is that Statement I is false, as @Marek just said.&#xA;There are different graphs transformed into the same graph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For a concrete example, both (a) &lt;em&gt;tetrahedron&lt;/em&gt; (double edges) &#xA;and (b) &lt;em&gt;octahedron&lt;/em&gt; &#xA;transformed into (c) &lt;em&gt;truncated octahedron&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(a) &lt;img src=&quot;https://i.stack.imgur.com/ruYEJ.jpg&quot; width=&quot;150&quot; height=&quot;150&quot;&gt;&#xA;(b) &lt;img src=&quot;https://i.stack.imgur.com/AsOuw.jpg&quot; width=&quot;150&quot; height=&quot;150&quot;&gt;&#xA;(c) &lt;img src=&quot;https://i.stack.imgur.com/2xtDM.jpg&quot; width=&quot;150&quot; height=&quot;150&quot;&gt;&lt;/p&gt;&#xA;" OwnerUserId="1800" LastEditorUserId="1800" LastEditDate="2011-02-21T14:14:47.463" LastActivityDate="2011-02-21T14:14:47.463" CommentCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="5009" PostTypeId="2" ParentId="5003" CreationDate="2011-02-18T19:08:14.943" Score="23" Body="&lt;p&gt;Along with the already-given answers stating the existence of two graphs G1≠G2 for which T(G1)=T(G2), there is also a different problem: there exist pairs G1=G2 for which T(G1)≠T(G2). This is because the transformation depends not just on the isomorphism class of G, but also on the cyclic ordering of the edges around each vertex of G.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edited to add an example based on Mark Reitblatt's comment:&#xA;&lt;img src=&quot;https://i.stack.imgur.com/FkDKH.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;" OwnerUserId="95" LastEditorUserId="95" LastEditDate="2011-02-19T04:34:01.700" LastActivityDate="2011-02-19T04:34:01.700" CommentCount="8" ContentLicense="CC BY-SA 2.5" />
  <row Id="5010" PostTypeId="1" CreationDate="2011-02-18T23:02:36.940" Score="17" ViewCount="853" Body="&lt;p&gt;&lt;a href=&quot;http://arxiv.org/abs/1102.0395&quot;&gt;Fischer's paper this month&lt;/a&gt; reminded me how little I know about the art of succinct data structures, and algorithms to use them. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For those that don't know about succinct data structures: &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Given a combinatorial structure, with&#xA;  a(n) distinct configurations, and a&#xA;  known &quot;useful&quot; representation $R(n)$.&#xA;  Is there a &quot;succinct&quot; data structure&#xA;  that takes storage of around&#xA;  $\lg(a(n))$ bits yet lets us perform&#xA;  operations as fast as we can with the&#xA;  normal representation $R$?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The top ones I am interested in if anyone would like to entertain a discussion&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Suffix Arrays. They are a subset of all permutations.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Ordered Trees. They are a subset of all binary &quot;parenthesis&quot; strings (the matched variety). &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;All nearest smaller values, as in the paper (&lt;a href=&quot;http://arxiv.org/abs/1102.0395&quot;&gt;1&lt;/a&gt;). Not only can you compress in both dimensions; the allowable &quot;smaller value&quot; arrays in one direction are a small subset of lists $\{0,...,n-1\}^n$ , and thus you need to store less than $n \lg(n)$ bits.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="2021" LastEditorUserId="80" LastEditDate="2011-02-19T03:50:56.390" LastActivityDate="2018-01-01T03:30:13.453" Title="Succinct data structures survey?" Tags="&lt;ds.data-structures&gt;&lt;lower-bounds&gt;" AnswerCount="3" CommentCount="0" FavoriteCount="7" ContentLicense="CC BY-SA 2.5" />
  <row Id="5011" PostTypeId="2" ParentId="5004" CreationDate="2011-02-19T00:36:05.173" Score="30" Body="&lt;p&gt;&lt;em&gt;This is a rephrasing of Emanuele Viola's answer with the goal to be more understandable.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We show that the given problem $P$ is undecidable by reducing the general halting problem $H$ to it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $(M, x)$ be any instance of the halting problem, that is we have to decide wether $M(x)\downarrow$ ($M$ halts on $x$). Construct a Turing machine $M^*$ that works as follows:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;M*(y) = {&#xA;  n := |y|&#xA;  Simulate M(x) for n steps&#xA;  if ( M(x) has halted )&#xA;    Execute n*n arbitrary steps&#xA;  else&#xA;    Execute n*n*n arbitrary steps&#xA;}&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Now we observe the following implications:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\begin{align*} &#xD;&#xA;  M(x) \downarrow \quad &amp;amp;\Rightarrow \exists n_0 \in \mathbb{N} : M \text{ halts on } x \text{ after at most } n_0 \text{ steps} \\&#xD;&#xA;  &amp;amp;\Rightarrow \forall y : n \geq n_0 \Rightarrow M^*(y) \text{ executes } n^2 \text{ arbitrary steps} \\&#xD;&#xA;  &amp;amp;\Rightarrow T_{M^*}(n) \in \mathcal{O}(n^2)&#xD;&#xA;\end{align*}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;and&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\begin{align*} &#xD;&#xA;  M(x) \uparrow \quad &amp;amp;\Rightarrow \forall n \in \mathbb{N} : M \text{ does not halt on } x \text{ in less than } n \text{ steps} \\&#xD;&#xA;  &amp;amp;\Rightarrow \forall y :  M^*(y) \text{ executes } n^3 \text{ arbitrary steps} \\&#xD;&#xA;  &amp;amp;\Rightarrow T_{M^*}(n) \in \Omega(n^3)&#xD;&#xA;\end{align*}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Therefore, $H(M,x) \Leftrightarrow P(M^*,2)$. Assuming $P$ was algorithmicaly decidable, so would be $H$, which yields a contradiction. $\square$&lt;/p&gt;&#xA;" OwnerUserId="1546" LastEditorUserId="1546" LastEditDate="2011-07-05T19:14:18.320" LastActivityDate="2011-07-05T19:14:18.320" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="5012" PostTypeId="2" ParentId="4928" CreationDate="2011-02-19T04:19:07.783" Score="6" Body="&lt;p&gt;A partial answer if TM runs in $o( |x| \log |x|)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If TM4 is a 4-symbols TM (with alphabet $\Sigma_4 = \{\epsilon,0,1,2 \} $ ) that computes $f:\{0,1\}^* \to \{0,1\}$, i.e. decides language $L = \{ x | f(x) = 1 \}$ in $(o( |x| \log |x|))$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One tape deterministic linear-time complexity is $1DLIN = 1DTime(O(n))$&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Hennie proved (1) that $REG = 1DLIN$&lt;/li&gt;&#xA;&lt;li&gt;Kobayashi proved (2) that $REG = 1DTime(o(n \log n))$&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;So $L$ is regular, and is obviously still regular over alphabet $\Sigma_3 = \{\epsilon,0,1\}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So there is a DFA that decide L and uses only symbols in $\Sigma_3$. A one-tape, 3-symbols TM3 can be built directly from the DFA and it decides L &lt;strong&gt;using the same unpadded input of the original TM4&lt;/strong&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;... you cannot build it directly from TM4, but TM3 exists.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If TM4 runs in $\Omega(n^2)$ then you can shift the input and make a direct conversion from TM4 to TM3.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As noticed in the comments the &lt;strong&gt;difficult case&lt;/strong&gt; is when TM4 runs in $\Omega(n\log n) \cap o(n^2)$.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;(1) Hennie, &lt;em&gt;One-tape, off-line Turing machine computations&lt;/em&gt; (1965)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(2) Kobayashi, &lt;em&gt;On the structure of one-tape nondeterministic Turing machine time hierarchy&lt;/em&gt; (1985)&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2011-03-05T21:11:53.810" LastActivityDate="2011-03-05T21:11:53.810" CommentCount="8" ContentLicense="CC BY-SA 2.5" />
  <row Id="5014" PostTypeId="1" AcceptedAnswerId="7000" CreationDate="2011-02-19T05:18:39.257" Score="15" ViewCount="421" Body="&lt;p&gt;Consider the following natural question: Given a finite language $L$, what is the smallest context-free grammar generating $L$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We can make the question more interesting by specifying a sequence of languages $L_n$, for example $L_n$ is the set of all permutations of $\{1,\ldots,n\}$: intuitively, a CFG for $L_n$ would &quot;need&quot; to have size $\Omega(n!)$. So we're interested in the asymptotic size of the smallest CFGs for the languages.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Similar questions have been dealt with in several papers:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Charikar et al. (&quot;Approximating the Smallest Grammar: Kolmogorov Complexity in Natural Models&quot;) consider how difficult it is to approximate the size of the smallest CFG generating a given &lt;i&gt;word&lt;/i&gt;.&lt;/li&gt;&#xA;&lt;li&gt;More work in that direction is Arpe and Reischuk, &quot;On the Complexity of Optimal Grammar-Based Compression&quot;.&lt;/li&gt;&#xA;&lt;li&gt;Peter Asveld has several papers on the subject (e.g. &quot;Generating All Permutations by Context-Free Grammars in Chomsky Normal Form&quot;). He's trying to optimize some parameters on specific types of grammars generating the set of all permutations, specifically Chomsky and Greibach normal forms.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;However, so far I haven't been able to find any paper trying to prove a bound of $\Omega(n!)$ on the size of a CFG generating $L_n$.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Are there papers providing lower bounds for the size of context-free grammars for specific finite languages?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;In response to several questions on this site as well as on math.stackexchange, I came up with a simple &lt;a href=&quot;https://cstheory.stackexchange.com/questions/4962/do-there-exists-polynomial-size-cfg-that-describe-this-finite-language/4969#4969&quot;&gt;method&lt;/a&gt; able to prove exponential lower bounds on CFGs for specific languages, for example $L_n$. Are these results new? I find that hard to believe, and I'll be glad to get any literature pointers.&lt;/p&gt;&#xA;" OwnerUserId="40" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.743" LastActivityDate="2011-06-14T18:34:24.207" Title="Lower bounds on the size of CFGs for specific finite languages" Tags="&lt;reference-request&gt;&lt;fl.formal-languages&gt;&lt;lower-bounds&gt;&lt;grammars&gt;&lt;context-free&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="7" ContentLicense="CC BY-SA 2.5" />
  <row Id="5015" PostTypeId="5" CreationDate="2011-02-19T06:07:18.550" Score="0" Body="&lt;p&gt;Used for questions about softwares and applications, e.g. softwares used for managing bibliography, version control, or SAT solvers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This tag should &lt;strong&gt;not&lt;/strong&gt; be used for question related to software engineering.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The questions should be in the scope of the site as explained in the &lt;a href=&quot;http://cstheory.stackexchange.com/faq&quot;&gt;FAQ&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2011-08-02T18:24:57.617" LastActivityDate="2011-08-02T18:24:57.617" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="5016" PostTypeId="4" CreationDate="2011-02-19T06:07:18.550" Score="0" Body="Questions about Software/Programs/Applications used by TCS researchers" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2013-04-10T04:56:33.117" LastActivityDate="2013-04-10T04:56:33.117" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="5017" PostTypeId="2" ParentId="5010" CreationDate="2011-02-19T12:01:33.997" Score="6" Body="&lt;p&gt;If to speak about succit suffix data structures, this one by Navarro and Mäkinen is really good: &lt;a href=&quot;http://portal.acm.org/citation.cfm?doid=1216370.1216372&quot; rel=&quot;noreferrer&quot;&gt;http://portal.acm.org/citation.cfm?doid=1216370.1216372&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="2016" LastActivityDate="2011-02-19T12:01:33.997" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5018" PostTypeId="1" AcceptedAnswerId="27317" CreationDate="2011-02-19T14:32:48.180" Score="63" ViewCount="5461" Body="&lt;p&gt;My question today is (as usual) a bit silly; but I would request you to kindly consider it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I wanted to know about the genesis and/or motivation behind the treewidth concept. I sure understand that it is used in FPT algorithms, but I do not think that that was the reason why this notion was defined.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have written up the &lt;a href=&quot;http://people.math.gatech.edu/~thomas/TEACH/7015/0124.pdf&quot;&gt;scribe notes&lt;/a&gt; on this topic in the class of &lt;a href=&quot;http://people.math.gatech.edu/~thomas/&quot;&gt;Prof Robin Thomas&lt;/a&gt;. I think I understand some of the applications of this concept (as in it transfers separation properties of the tree to the graph decomposed), but for some reason I am not really convinced that the reason this concept was developed was to measure closeness of a graph to a tree.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I will try to make myself more clear (I am not sure if I can, please let me know if the question is not clear). I would like to know if similar notions existed elsewhere in some other branch of mathematics from where this notion was supposedly &quot;borrowed&quot;. My guess will be topology -- but owing to my lack of background, I cannot say anything.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The primary reason as to why I am curious about this would be -- the first time I read its definition, I was not sure why and how would anyone conceive of it and to what end. If the question is not still clear I would finally try stating it this way - Let us pretend the notion of treewidth did not exist. What natural questions (or extensions of some mathematical theorems/concepts) to discrete settings will lead one to conceive of a definition (let me use the word involved) as treewidth's. &lt;/p&gt;&#xA;" OwnerUserId="55" LastEditorUserId="26957" LastEditDate="2014-08-15T12:47:34.253" LastActivityDate="2019-01-10T09:44:57.117" Title="The origin of the notion of treewidth" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;big-picture&gt;&lt;ho.history-overview&gt;&lt;treewidth&gt;" AnswerCount="5" CommentCount="1" FavoriteCount="31" ContentLicense="CC BY-SA 3.0" />
  <row Id="5019" PostTypeId="2" ParentId="5018" CreationDate="2011-02-19T15:55:26.597" Score="16" Body="&lt;p&gt;The notion of &lt;em&gt;tree-width&lt;/em&gt; [1] (and the similar notion &lt;em&gt;branch-width&lt;/em&gt;) has been introduced by Robertson and Seymour in their seminal papers on &lt;strong&gt;Graph Minors&lt;/strong&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;They initially introduced &lt;em&gt;tree-width&lt;/em&gt; in order to obtain a polynomial-time algorithm testing if a graph $G$ has a subgraph contractible to a fixed planar graph $H$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See: &lt;a href=&quot;http://dx.doi.org/10.1016/0196-6774%2886%2990023-4&quot;&gt;N. Robertson, P.D. Seymour. &lt;em&gt;Graph Minors. II. Algorithmic aspects of tree-width&lt;/em&gt;. JCT Series B (1986)&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="2898" LastActivityDate="2011-02-19T15:55:26.597" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="5020" PostTypeId="2" ParentId="5018" CreationDate="2011-02-19T17:13:48.607" Score="29" Body="&lt;p&gt;I believe treewidth itself started with the Robertson Seymour paper already given. But some earlier precursors appear to be:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;The concept of a &quot;dimension&quot; of a graph that would control the behavior of dynamic proogramming algorithms on it, from Bertelé, Umberto; Brioschi, Francesco (1972), &lt;em&gt;Nonserial Dynamic Programming&lt;/em&gt;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The concept of pursuit-evasion games on graphs, from Parsons, T. D. (1976). &quot;Pursuit-evasion in a graph&quot;. &lt;em&gt;Theory and Applications of Graphs&lt;/em&gt;. Springer-Verlag. pp. 426–441. One variant of this was much later shown to be equivalent to treewidth: Seymour, Paul D.; Thomas, Robin (1993), &quot;Graph searching and a min-max theorem for tree-width&quot;, &lt;em&gt;Journal of Combinatorial Theory, Series B&lt;/em&gt; 58 (1): 22–33, &lt;a href=&quot;http://dx.doi.org/10.1006/jctb.1993.1027&quot;&gt;doi:10.1006/jctb.1993.1027&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Separator hierarchies for planar graphs, starting from Ungar, Peter (1951), &quot;A theorem on planar graphs&quot;, Journal of the London Mathematical Society 1 (4): 256, &lt;a href=&quot;http://dx.doi.org/10.1112/jlms/s1-26.4.256&quot;&gt;doi:10.1112/jlms/s1-26.4.256&lt;/a&gt;, and continuing with several papers by Lipton and Tarjan in 1979–1980. The size of the largest separator in a hierarchy of this type is closely related to the treewidth.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Moving forward to a time when the Robertson–Seymour ideas might have already started to float around, there is also a paper earlier than Graph Minors II that explicitly connects the pursuit-evasion and separation ideas, and that defines a notion of width equivalent to pathwidth: Ellis, J. A.; Sudborough, I. H.; Turner, J. S. (1983), &quot;Graph separation and search number&quot;, Proc. 1983 Allerton Conf. on Communication, Control, and Computing.&lt;/p&gt;&#xA;" OwnerUserId="95" LastEditorUserId="95" LastEditDate="2011-02-19T18:20:32.647" LastActivityDate="2011-02-19T18:20:32.647" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="5022" PostTypeId="2" ParentId="4940" CreationDate="2011-02-19T20:11:02.937" Score="5" Body="&lt;p&gt;If $G: \{0,1\}^k \rightarrow \{0,1\}^{2k}$ is a polynomial time computable pseudorandom generator with security $t(k)$, that is such that every adversary running in time $\leq t(k)$ has distinguishing probability $\leq 1/t(k)$, then we can construct a family of functions $f: \{0,1\}^n \rightarrow \{0,1\}$ such that each function is computable by circuit of size $k(n)^c$, where $c$ is an absolute constant, but the truth-table of a random function from the family is indistinguishable from the truth-table of a truly random function by properties computable in time roughly $t(k(n))$, where we are free to choose $k(n)$ any way we want. Such a family of function contradicts the existence of a natural property computable in time $t(k(n))$ and useful against circuits of size $k(n)^c$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now it is a matter to instantiate the parameters. If we believe that there are one-way functions secure against sub-exponential adversaries, then we can take $t(k) = 2^{k^{\epsilon}}$ for an absolute constant $\epsilon &amp;gt;0$. If there were a quasi-polytime natural property that is useful against size($n^e$) for every $e$, then we can take $k(n)= n^{e}$ for every $e$, and the property would still be able to distinguish  our family of functions computed by circuits of size $n^{ce}$ from truly random functions, even though no property computable in time $\leq t(k(n)) = 2^{n^{\epsilon e}}$ can do that. This quasi-polytime computable property is computable in time $\leq 2^{n^d}$ for some absolute constant $d$, and we reach a contradiction when $e &amp;gt; d/\epsilon$. (Recall that $d,\epsilon$ are absolute constants and that we can take $e$ as large as we want.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The point here is the order of quantifiers. If you are looking for a specific polynomial circuit size, like $n^{10}$, you can have a quasi-polytime natural property that is useful against those circuits, because you can actually explicitly check in time roughly $2^{n^{10}}$ if a given function is computable by a circuit of size $n^{10}$. If, however, you want a quasy-polytime natural property that is simultaneously useful against all circuit sizes $n^e$ for all $e$ (that is, for each $e$, the property becomes useful after a sufficiently large $n$), then you are impyling the existence of sub-exponential distinguishers for pseduroandom generators and sub-exponential inverters for one-way functions.&lt;/p&gt;&#xA;" OwnerUserId="1069" LastActivityDate="2011-02-19T20:11:02.937" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5023" PostTypeId="1" AcceptedAnswerId="5038" CreationDate="2011-02-19T22:41:24.497" Score="21" ViewCount="2866" Body="&lt;p&gt;The Huffman code for a probability distribution $p$ is the prefix code with the minimum weighted average codeword length $\sum p_i \ell_i$, where $\ell_i$ is the length of the $i$th codword. It is a well-known theorem that the average length per symbol of the Huffman code is between $H(p)$ and $H(p)+1$, where $H(p) = -\sum_i \, p_i \log_2 p_i$ is the Shannon entropy of the probability distribution. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The canonical bad example, where the average length exceeds the Shannon entropy by almost 1, is a probability distribution such as $\{.999, .001\}$, where the entropy is nearly 0, and the average codeword length is 1. This gives a gap between the entropy and the codeword length of almost $1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But what happens when there is a bound on the largest probability in the probability distribution? Suppose, for example, that all the probabilities are less than $\frac{1}{2}$. The largest gap I could find in this case is for a probability distribution such as $\{.499, .499, .002\}$, where the entropy is slightly more than 1 and the average codeword length is slightly less than 1.5, giving a gap approaching $0.5$. Is this the best you can do? Can you give an upper bound on the gap that is strictly less than 1 for this case?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, let's consider the case where all the probabilities are very small. Suppose you choose a probability distribution over $M$ letters, each having probability $1/M$. In this case, the largest gap occurs if you choose $M \approx 2^k \ln 2$. Here, you get a gap of around&#xA;$$ \frac{1 + \ln \ln 2 - \ln 2}{\ln 2} \approx 0.08607. $$&#xA;Is this the best you can do in the situation where all the probabilities are small?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This question was inspired by this &lt;a href=&quot;https://cstheory.stackexchange.com/questions/4935/why-does-the-fibonacci-sequence-produce-a-worst-case-huffman-encoding&quot;&gt;TCS Stackexchange question&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="1677" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.743" LastActivityDate="2017-01-06T21:01:06.090" Title="How good is the Huffman code when there are no large probability letters?" Tags="&lt;optimization&gt;&lt;it.information-theory&gt;&lt;coding-theory&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="5031" PostTypeId="1" CreationDate="2011-02-20T14:42:55.443" Score="22" ViewCount="1130" Body="&lt;p&gt;I have difficulty teaching the concept of computable functions. I tried to develop the idea of why researchers like Hilbert/Ackermann/Godel/Turing/Church/... invented the notion of 'computability'. The students immediately asked: &quot;what does computability mean?&quot; and I can't answer unless I teach them Turing machines, and then answer &quot;a function is computable if a Turing machine computes it.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So,&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there a description of computability which does not require resorting to Turing machines, λ-calculus, or similar models of computation? Even an intuitive description will suffice.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="3914" LastEditorUserId="186" LastEditDate="2012-12-26T04:48:26.093" LastActivityDate="2012-12-26T04:48:26.093" Title="Problem teaching computability" Tags="&lt;soft-question&gt;&lt;computability&gt;&lt;turing-machines&gt;&lt;teaching&gt;" AnswerCount="5" CommentCount="4" FavoriteCount="8" ContentLicense="CC BY-SA 2.5" />
  <row Id="5032" PostTypeId="2" ParentId="5031" CreationDate="2011-02-20T16:43:11.090" Score="12" Body="&lt;p&gt;&quot;A function is computable if there is an 'effective procedure' for going from input to output.&quot;  When introducing this topic, I have in the past pointed out how they (the students) have an effective procedure for solving quadratic equations, but do not have one for solving equations of degree 5 or more.  This can segue into a discussion of how one might formalize 'effective procedure', but that discussion is something you want to have happen, so I think that's a feature, rather than a bug.&lt;/p&gt;&#xA;" OwnerUserId="730" LastActivityDate="2011-02-20T16:43:11.090" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="5033" PostTypeId="2" ParentId="5031" CreationDate="2011-02-20T16:54:08.840" Score="8" Body="&lt;p&gt;Perhaps the point is that all of these models aimed to capture what the notion of computability is. The fact that all of them are equivalent, means that the notion they are trying to capture is robust. So although this does not escape your dilemma, this robustness gives credence to the notion that &quot;a function is computable if there is a Turing machine that computes it&quot;.&lt;/p&gt;&#xA;" OwnerUserId="77" LastActivityDate="2011-02-20T16:54:08.840" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5035" PostTypeId="2" ParentId="5023" CreationDate="2011-02-20T17:19:31.590" Score="2" Body="&lt;p&gt;Judging by the $H(p) \leq \ldots \leq H(p)+1$ bound, I believe you intended to ask a different question ... or you just didn't specify how you take the &quot;average&quot;. So I'll answer both. The answer is no to both questions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First, if you define average code length using a uniform distribution over code words and take $2^{-q}$ as the upper bound on probability of any one element, then consider the code of length $q+k$ where $2^{q-1}$ code words have length $q$ and the remaining $2^{q+k-1}$ have length $q+k$. For the distribution perfectly encoded by this code, the average length approaches $q+k$, unless you also have a lower bound for probability of one element, while the entropy is $q+\frac{k}{2}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now let us consider the &quot;average length&quot; meaning the average codeword length when the Huffman code is used to code for $p$. Here, the bound is tight, and an example distribution achieving it in the limit is one in which each element occurs with probability $2^{q\pm 1/2}$ for $q \in {\mathbb Z}.$ (The final element is assigned any leftover probability, but it will make no difference asymptotically).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, consider $q = 7.$ Then&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$A + B = 128, A\sqrt{2}+B/\sqrt{2}\leq 128, \max_{A \in {\mathbb Z}} A$ yields $A = 52, B = 76$. Our distribution has $52$ elements with probability $2^{-6.5}$, $76$ with probability $2^{-7.5}$, and one element gets the leftovers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then $H(X) = (52\cdot 6.5 + 76 \cdot 7.5)/128 = 7.09375$, while the Huffman code achieves $(52 \cdot 0.5 - 76 \cdot 0.5)/128 \approx 0.99436$ entropy loss.&#xA;(Incidentally, the entropy loss has a name, whether you do Huffman coding or arbitrary coding for $Q$: the Kullback-Liebler divergence $D(P\Vert Q) = \sum p_i \log \frac{p_i}{q_i} + \sum (1-p_i) \log \frac{1-p_i}{1-q_i}$. Using it, I discovered a few days ago, leads to tighter double-sided Chernoff bounds, as you can see on Wikipedia for Chernoff bounds.)&lt;/p&gt;&#xA;" OwnerUserId="3916" LastEditorUserId="40" LastEditDate="2017-01-06T21:01:06.090" LastActivityDate="2017-01-06T21:01:06.090" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="5036" PostTypeId="2" ParentId="3465" CreationDate="2011-02-20T19:51:39.987" Score="14" Body="&lt;p&gt;Welsh states that the problem #P-complete even in the most restricted case (counting the number of connected subgraphs of a planar bipartite graph). See the bottom of &lt;a href=&quot;http://books.google.com/books?id=pe3CJmT_EOYC&amp;amp;pg=PA305&amp;amp;dq=%22number+of+connected+subgraphs%22+%22%23p-complete%22&amp;amp;hl=en&amp;amp;ei=tG9hTdzWHInYgQeTnJSpAg&amp;amp;sa=X&amp;amp;oi=book_result&amp;amp;ct=result&amp;amp;resnum=1&amp;amp;ved=0CCcQ6AEwAA#v=onepage&amp;amp;q=%22number%20of%20connected%20subgraphs%22%20%22%23p-complete%22&amp;amp;f=false&quot; rel=&quot;nofollow&quot;&gt;page 305&lt;/a&gt; in Welsh, Dominic (1997), &quot;Approximate Counting&quot;, &lt;em&gt;Surveys in Combinatorics&lt;/em&gt;, Bailey, R. A., ed., Cambridge University Press, pp. 287–324.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In context, though, I wonder whether he really means connected spanning subgraphs. And that leads me to wonder which version of the problem you want: connected spanning subgraphs, connected subgraphs that need not be spanning, or connected induced subgraphs?&lt;/p&gt;&#xA;" OwnerUserId="95" LastEditorUserId="95" LastEditDate="2011-02-20T20:06:58.540" LastActivityDate="2011-02-20T20:06:58.540" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5037" PostTypeId="2" ParentId="5031" CreationDate="2011-02-20T20:28:18.280" Score="37" Body="&lt;p&gt;75 years ago there were no computers around. So one had to explain very carefully the &lt;em&gt;mathematical&lt;/em&gt; idea of a computer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Today everybody knows what a computer is, and is probably carrying one around most of the time. This can be used very successfully in teaching because you can skip the rather outdated idea of a machine with a tape. I mean, who uses a tape? (I know, I know, you feel insulted and Turing was a great man and all that, and I agree with you).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You just walk into the class and ask: so it there anything your iPhones can't compute? This immediately gets you into questions about bounded resources. Then you say: well suppose your machine actually had unlimited memory, is there anything it couldn't compute? And you idealize a bit more and limit attention to number-theoretic functions (because you are not interested in Facebook at the moment). You'll have to explain a bit how computers work (as mentioned in the comments, it's good if the students know a programming language because you can use that instead of describing hardware), but after that you can use all the classical arguments of computability theory to derive results. It doesn't matter that your students' mental picture of a machine is iPhone. In fact, it matters: it makes it &lt;em&gt;easier&lt;/em&gt; and &lt;em&gt;more relevant&lt;/em&gt; for them to know that their iPhone can't do certain things.&lt;/p&gt;&#xA;" OwnerUserId="705" LastActivityDate="2011-02-20T20:28:18.280" CommentCount="14" ContentLicense="CC BY-SA 2.5" />
  <row Id="5038" PostTypeId="2" ParentId="5023" CreationDate="2011-02-20T22:04:05.193" Score="19" Body="&lt;p&gt;There are lots of papers that study exactly the problem you mention. The first in the series is a paper by Gallager, &quot;Variations on a Theme by Huffman&quot;, IEEE-IT, vol. 24, 1978, pp. 668-674. He proves that the difference between the average codeword length of an Huffman code and the entropy  (he calls that quantity &quot;redundancy&quot;) is always strictly less than $p$ (= largest probability in the probability distribution), in the case  $p\geq 1/2$, and it is less than $p+0.086$, if $p&amp;lt;1/2$. Better bounds are known, you can find them in the numerous papers that quote Gallager work.&lt;/p&gt;&#xA;" OwnerUserId="3919" LastActivityDate="2011-02-20T22:04:05.193" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="5039" PostTypeId="2" ParentId="3465" CreationDate="2011-02-20T22:40:54.037" Score="6" Body="&lt;p&gt;This is a response to David's answer. Without having looked at that book yet I'd guess the problem is counting connected spanning subgraphs, because this is the point x=1 y=2 of the Tutte polynomial, and the author was interested in that. But in fact I think those three problems reduce quite easily from counting connected spanning subgraph problem. The following reductions should work for either exact counting or approximation, though I think the problem for approximation is still open.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Counting connected spanning subgraphs reduces to counting connected subgraphs (sketch): &#xA;Take a graph G in which we wish to count spanning subgraphs. Attach a $K_A$ to each vertex. If $A$ is chosen large enough, typical connected subgraphs of the resulting graph correspond N-to-1 to connected spanning subgraphs in G, where N is easy to compute.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Counting connected spanning subgraphs reduces to counting connected induced subgraphs (sketch):&#xA;Let G be a graph in which we wish to count spanning subgraphs. Divide each edge in two, so there are now |V|+|E| vertices. Attach a $K_A$ to each of the original vertices that were in G. If $A$ is chosen large enough, typical connected induced subgraphs of the resulting graph correspond N-to-1 to connected spanning subgraphs in G, where N is easy to compute.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here's another interpretation of the question: what about counting unlabelled connected subgraphs? This is $\#P$ hard even for trees: L.A. Goldberg and M. Jerrum, Counting unlabelled subtrees of a tree is #P-Complete, LMS Journal of Computation and Mathematics, 3 (2000) 117-124.&lt;/p&gt;&#xA;" OwnerUserId="636" LastActivityDate="2011-02-20T22:40:54.037" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="5040" PostTypeId="2" ParentId="5018" CreationDate="2011-02-20T23:27:32.907" Score="66" Body="&lt;p&gt;Here's how you could come up with tree-width concept yourself.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose you want to count the number of independent sets in the following graph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://i.stack.imgur.com/pG5Yw.png&quot; rel=&quot;noreferrer&quot;&gt;&lt;img src=&quot;https://i.stack.imgur.com/pG5Yw.png&quot; alt=&quot;&quot;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Independent sets can be partitioned into ones where top node is occupied, and ones where it is unoccupied&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://i.stack.imgur.com/b8w5d.png&quot; rel=&quot;noreferrer&quot;&gt;&lt;img src=&quot;https://i.stack.imgur.com/b8w5d.png&quot; alt=&quot;&quot;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, notice that knowing whether top node is occupied, you can count number of independent sets in each subproblem separately, and multiply them. Repeating this process recursively gives you an algorithm to count independent sets based on graph separators.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://i.stack.imgur.com/tlTNO.png&quot; rel=&quot;noreferrer&quot;&gt;&lt;img src=&quot;https://i.stack.imgur.com/tlTNO.png&quot; alt=&quot;&quot;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, suppose you no longer have a tree. This means separators are bigger, but you can use the same idea. Consider counting independent sets in the following graph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://i.stack.imgur.com/X25y0.png&quot; rel=&quot;noreferrer&quot;&gt;&lt;img src=&quot;https://i.stack.imgur.com/X25y0.png&quot; alt=&quot;&quot;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Use the same idea of breaking the problem into subproblems on the separator you get the following&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://i.stack.imgur.com/qVNCA.png&quot; rel=&quot;noreferrer&quot;&gt;&lt;img src=&quot;https://i.stack.imgur.com/qVNCA.png&quot; alt=&quot;&quot;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Like in the previous example, each term in the sum decomposes into two smaller counting tasks across the separator.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://i.stack.imgur.com/BXltm.png&quot; rel=&quot;noreferrer&quot;&gt;&lt;img src=&quot;https://i.stack.imgur.com/BXltm.png&quot; alt=&quot;&quot;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://i.stack.imgur.com/fhBJY.png&quot; rel=&quot;noreferrer&quot;&gt;&lt;img src=&quot;https://i.stack.imgur.com/fhBJY.png&quot; alt=&quot;&quot;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that we have more terms in the sum than in the previous example because we have to enumerate over all configurations on our separator, which can potentially grow exponentially with size of the separator (size 2 in this case).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Tree decomposition is a data-structure to compactly store these recursive partitioning steps. Consider the following graph and its tree decomposition&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://i.stack.imgur.com/S1iqR.png&quot; rel=&quot;noreferrer&quot;&gt;&lt;img src=&quot;https://i.stack.imgur.com/S1iqR.png&quot; alt=&quot;&quot;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://i.stack.imgur.com/3LVX9.png&quot; rel=&quot;noreferrer&quot;&gt;&lt;img src=&quot;https://i.stack.imgur.com/3LVX9.png&quot; alt=&quot;&quot;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To count using this decomposition you'd first fix values in nodes 3,6 which breaks it into 2 subproblems. In the first subproblem you'd additionally fix node 5, which breaks its part into two smaller subparts.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Size of the largest separator in an optimal recursive decomposition is precisely the tree width. For larger counting problems, size of the largest separator dominates the runtime, which is why this quantity is so important.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As to the notion of tree-width measuring how close graph is to a tree, one way to make it intuitive is to look at the alternative derivation of tree decomposition -- from correspondence with chordal graphs. First triangulate the graph by traversing vertices in order and interconnecting all &quot;higher ordered&quot; neighbors of each vertex.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://i.stack.imgur.com/cAjYt.png&quot; rel=&quot;noreferrer&quot;&gt;&lt;img src=&quot;https://i.stack.imgur.com/cAjYt.png&quot; alt=&quot;&quot;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then construct tree decomposition by taking maximal cliques and connecting them iff their intersection is a maximal separator.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://i.stack.imgur.com/lafkF.png&quot; rel=&quot;noreferrer&quot;&gt;&lt;img src=&quot;https://i.stack.imgur.com/lafkF.png&quot; alt=&quot;&quot;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Recursive separator and triangulation based approaches of constructing tree decomposition are equivalent. Tree width+1 is the size of the largest clique in optimal triangulation of the graph, or if the graph is already triangulated, just size of the largest clique.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So in a sense, chordal graphs of treewidth tw can be thought of as trees where instead of single nodes we have overlapping cliques of size at most tw+1. Non-chordal graphs are such &quot;clique trees&quot; with some clique edges missing&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here are some chordal graphs and their tree-width. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://i.stack.imgur.com/cQ3kC.png&quot; rel=&quot;noreferrer&quot;&gt;&lt;img src=&quot;https://i.stack.imgur.com/cQ3kC.png&quot; alt=&quot;&quot;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="434" LastEditorUserId="32711" LastEditDate="2019-01-10T09:44:57.117" LastActivityDate="2019-01-10T09:44:57.117" CommentCount="5" ContentLicense="CC BY-SA 4.0" />
  <row Id="5042" PostTypeId="1" CreationDate="2011-02-21T04:50:12.630" Score="7" ViewCount="311" Body="&lt;p&gt;Let $G$ be an edge-weighted graph, and let (S, V-S) be a &lt;em&gt;feasible pair&lt;/em&gt; if S is a maximal independent set. The weight of a feasible pair is computed by finding for each element of V-S the lightest edge connecting it to S, and summing the costs (such an edge must exist since S maximal). The goal is to find a minimum weight pair. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This problem is NP-hard and is likely to be fairly hard to approximate (it encodes vertex cover at the very least). We're looking at heuristics that might be effective in practice, and one idea is to do some kind of metropolis-hastings-type walk on the space of all independent sets (since given an independent set, computing the weight is easy). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I know that there's a fair bit of study of sampling over independent sets (for example, &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=338615&quot;&gt;this&lt;/a&gt;). My question is:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Are there good sampling procedures&#xA;  that can be adapted to this weighted&#xA;  case ? I suspect I'd like some kind of&#xA;  procedure that does a&#xA;  metropolis-hastings-type step to&#xA;  decide whether to move or not, and so&#xA;  the question really is: what are good&#xA;  local moves  ?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="80" LastEditorUserId="80" LastEditDate="2011-02-21T08:20:51.937" LastActivityDate="2011-02-21T08:20:51.937" Title="Good MCMC methods for exploring the space of independent sets" Tags="&lt;ds.algorithms&gt;&lt;graph-algorithms&gt;&lt;heuristics&gt;" AnswerCount="0" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="5043" PostTypeId="1" CreationDate="2011-02-21T04:15:42.077" Score="18" ViewCount="823" Body="&lt;p&gt;Suppose we have polynomials $p_1,...,p_m$ of degree at most $n$, $n&amp;gt;m$, such that the total number of nonzero coefficients is $n$ (i.e., the polynomials are sparse). I am interested in an efficient algorithm for computing the polynomial:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\sum_i p_i(x)^2$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since this polynomial has degree at most $2n$, both input and output size is $O(n)$. In the case $m=1$ we can compute the result using FFT in time $O(n \log n)$. Can this be done for any $m&amp;lt;n$? If it makes any difference, I'm interested in the special case where coefficients are 0 and 1, and the computation should be done over the integers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Update.&lt;/strong&gt; I realized that a fast solution for the above would imply advances in fast matrix multiplication. In particular, if $p_k(x)=\sum_{i=1}^n a_{ik} x^i + \sum_{j=1}^n b_{kj} x^{nj}$ then we can read off $a_{ik} b_{kj}$ as the coefficient of $x^{i+nj}$ in $p_k(x)^2$. Thus, computing $p_k(x)^2$ corresponds to computing an outer product of two vectors, and computing the sum $\sum_k p_k(x)^2$ corresponds to computing a matrix product. If there is a solution using time $f(n,m)$ to computing $\sum_k p_k(x)^2$ then we can multiply two $n$-by-$n$ matrices in time $f(n^2,n)$, which means that $f(n,m)=O(n\log n)$ for $m\leq n$ would require a major breakthrough. But $f(n,m)=n^{\omega/2}$, where $\omega$ is the current exponent of matrix multiplication, might be possible. Ideas, anyone?&lt;/p&gt;&#xA;" OwnerUserId="215" OwnerDisplayName="Rasmus Pagh" LastEditorUserId="215" LastEditDate="2011-05-25T22:31:52.630" LastActivityDate="2019-06-16T10:22:18.733" Title="Computing sum of sparse polynomials squared in O(n log n) time?" Tags="&lt;ds.algorithms&gt;&lt;algebra&gt;&lt;polynomials&gt;" AnswerCount="3" CommentCount="1" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="5045" PostTypeId="1" AcceptedAnswerId="5046" CreationDate="2011-02-21T06:33:23.233" Score="9" ViewCount="307" Body="&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/F%C3%A1ry%27s_theorem&quot; rel=&quot;nofollow&quot;&gt;Fáry's theorem&lt;/a&gt; says that a simple planar graph can be drawn without crossings so that each edge is a straight line segment. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is whether there is an analogous theorem for graphs of bounded &lt;a href=&quot;http://en.wikipedia.org/wiki/Crossing_number_(graph_theory)&quot; rel=&quot;nofollow&quot;&gt;crossing number&lt;/a&gt;.  Specifically, can we say that a simple graph with crossing number k can be drawn so that there are k crossings in the drawing and so that each edge is a curve of degree at most f(k) for some function f?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT: As David Eppstein remarks, it is readily seen that Fáry's theorem implies a drawing of a graph with crossing number k so that each edge is a polygonal chain with at most k bends.  I'm still curious though whether each edge can be drawn with bounded degree curves.  Hsien-Chih Chang points out that f(k) = 1 if k is 0, 1, 2, 3, and f(k) &gt; 1 otherwise.&lt;/p&gt;&#xA;" OwnerUserId="15" LastEditorUserId="15" LastEditDate="2011-03-02T17:23:36.850" LastActivityDate="2011-03-02T20:31:08.923" Title="Drawing graphs of bounded crossing number" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;planar-graphs&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="5046" PostTypeId="2" ParentId="5045" CreationDate="2011-02-21T06:56:33.573" Score="12" Body="&lt;p&gt;If a graph has bounded crossing number it can be drawn with that number of crossings in the polyline model (i.e. each edge is a polygonal chain, much more common in the graph drawing literature than bounded-degree algebraic curves) with a bounded number of bends per edge. It's also true more generally if there is a bounded number of crossings per edge. To see this, just planarize the graph (replace each crossing by a vertex) and then apply Fáry.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, to use this to answer your actual question, what you need to do is to find an algebraic curve that is arbitrarily close to a given polyline, with degree bounded by a function of the number of polyline bends. This can also be done, fairly easily. For instance: for each segment $s_i$ of the polyline, let $e_i$ be an ellipse with high eccentricity that is very close to $s_i$, and let $p_i$ be a quadratic polynomial that is positive outside $e_i$ and negative inside $e_i$. Let your overall polynomial take the form $p=\epsilon-\prod_i p_i$ where $\epsilon$ is a small positive real number. Then one component of the curve $p=0$ will lie a little outside the union of the ellipses and can be used to substitute for the polyline; its degree will be twice the number of ellipses, which is linear in the number of crossings per edge.&lt;/p&gt;&#xA;" OwnerUserId="95" LastEditorUserId="95" LastEditDate="2011-03-02T20:31:08.923" LastActivityDate="2011-03-02T20:31:08.923" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="5048" PostTypeId="1" AcceptedAnswerId="5062" CreationDate="2011-02-21T11:11:57.790" Score="7" ViewCount="1233" Body="&lt;p&gt;&lt;strong&gt;Edited Version&lt;/strong&gt;  &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;What are the main characteristics and qualities that &lt;em&gt;you&lt;/em&gt; would consider if you were going to choose a PhD program in theoretical computer science (or related areas) today (based on your experience) and why would you consider them important?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;What are the credible sources that I can get information about those characteristics of PhD programs?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Especially I would like to hear your opinion about the following two issues:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;If you had to choose between a program with a global and better brand name and another one with a strong research focus, which one would you choose? why?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Which of the following two is more important in your opinion: availability of specialization one wants vs general teaching/research quality of faculty?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Thanks.&lt;/p&gt;&#xA;" OwnerUserId="3862" LastEditorUserId="186" LastEditDate="2011-02-25T04:42:39.910" LastActivityDate="2011-02-25T04:42:39.910" Title="Deciding between different PhD programs" Tags="&lt;soft-question&gt;&lt;advice-request&gt;&lt;career&gt;" AnswerCount="2" CommentCount="12" FavoriteCount="1" CommunityOwnedDate="2011-02-21T22:07:44.450" ContentLicense="CC BY-SA 2.5" />
  <row Id="5049" PostTypeId="2" ParentId="844" CreationDate="2011-02-21T12:58:52.467" Score="6" Body="&lt;p&gt;There is also a paper from D. BHANDARI, C. A. MURTHY and S. K. PAL (unfortunately unavailable online) that provides a convergence proof under two assumptions: &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Elitist selection: the best solution of the generation $t$ must be in the generation $t+1$&lt;/li&gt;&#xA;&lt;li&gt;The mutation operator allows to switch from any solution to another in a finite number of steps&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The convergence proof uses a Markov chain model.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here the reference: Dinabandhu Bhandari, C. A. Murthy: Genetic Algorithm with Elitist Model and Its Convergence. IJPRAI 10(6): 731-747 (1996)&lt;/p&gt;&#xA;" OwnerUserId="2954" LastActivityDate="2011-02-21T12:58:52.467" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5050" PostTypeId="2" ParentId="844" CreationDate="2011-02-21T13:09:39.797" Score="5" Body="&lt;p&gt;&lt;A HREF=&quot;http://www.math.u-psud.fr/~cerf/&quot;&gt;Raphael Cerf&lt;/A&gt; did his PhD &lt;A HREF=&quot;http://www.math.u-psud.fr/~cerf/atga.ps.gz&quot;&gt;thesis&lt;/A&gt; on Genetic Algorithms in Montpellier under the supervision of Alain Berlinet, from a mathematical point of view. It is quite old, but would probably belong to any bibliography about genetic algorithms.&lt;/p&gt;&#xA;" OwnerUserId="191" LastActivityDate="2011-02-21T13:09:39.797" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5052" PostTypeId="2" ParentId="5045" CreationDate="2011-02-21T14:43:49.413" Score="12" Body="&lt;p&gt;This is known as the &lt;em&gt;rectilinear crossing number&lt;/em&gt; $\overline{\mathsf{cr}}(G)$, which is the minimum number of crossings among all possible straight-line drawings of the graph $G$. Compare to the normal crossing number $\mathsf{cr}(G)$, one can see that $\overline{\mathsf{cr}}(G) \geq \mathsf{cr}(G)$. And your question is essentially as the same as asking whether $\overline{\mathsf{cr}}(G) = \mathsf{cr}(G)$ if $\mathsf{cr}(G) \leq k$ for some constant $k$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the paper &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=175284.175304&quot; rel=&quot;nofollow noreferrer&quot;&gt;Bounds for rectilinear crossing numbers&lt;/a&gt;, Bienstock and Dean proved that &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Theorem.&lt;/strong&gt; If $k \leq 3$, we have $\overline{\mathsf{cr}}(G) = \mathsf{cr}(G)$. And for $k \geq 4$, there are graphs $G_n$ with $\mathsf{cr}(G) = 4$ and $\overline{\mathsf{cr}}(G) \geq n$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;See &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download;jsessionid=3EAAB205E7D88A18E7B6DE8AD0AFB58A?doi=10.1.1.155.5058&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;A survey on crossing numbers&lt;/a&gt; by Richter and Salazar for reference.&#xA;So if there is a variant of the Fáry theorem on graphs with bounded crossing numbers, it should be constrained with $\mathsf{cr}(G) \leq 3$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For a small example with $\overline{\mathsf{cr}}(G) \neq \mathsf{cr}(G)$, consider complete graph on 8 vertices. It has $\mathsf{cr}(K_8) = 18$ and $\overline{\mathsf{cr}}(K_8) = 19$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/j8qxq.jpg&quot; width=&quot;170&quot;&gt;&#xA;&lt;img src=&quot;https://i.stack.imgur.com/6Y6Fm.jpg&quot; width=&quot;165&quot;&gt;&lt;/p&gt;&#xA;" OwnerUserId="1800" LastEditorUserId="1800" LastEditDate="2011-02-21T15:08:15.510" LastActivityDate="2011-02-21T15:08:15.510" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="5054" PostTypeId="2" ParentId="5043" CreationDate="2011-02-21T17:42:51.807" Score="3" Body="&lt;p&gt;Squaring a polynomial with $x_i$ nonzero coefficients takes time $O(x_i^2)$ using ordinary term-by-term multiplication, so this should be preferred to the FFT for those polynomials where $x_i &amp;lt; \sqrt{n \log n}$.  If $\sum_i x_i = n$, then the number of polynomials with $x_i$ greater than $\sqrt{n \log n}$ is $O(\sqrt{n / \log n})$, and these will take time $O(n^{3/2}({\log n})^{1/2})$ to square and combine (as will the remaining polynomials).  This is an improvement over the obvious $O(m n \log n)$ bound when $m$ is $\Theta(\sqrt{n / \log n})$.&lt;/p&gt;&#xA;" OwnerUserId="3183" LastActivityDate="2011-02-21T17:42:51.807" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="5056" PostTypeId="1" CreationDate="2011-02-21T18:59:24.800" Score="1" ViewCount="552" Body="&lt;p&gt;Given a graph $G = (V,E)$ and a vertex weight $z_v$ for each $v \in V$, find an (EDIT) &lt;strong&gt;induced&lt;/strong&gt; subgraph $G&amp;#39; = (V&amp;#39;, E&amp;#39;)$ with minimum weight $z_{G&amp;#39;}=\sum_{v&amp;#39; \in V&amp;#39;} z_{v&amp;#39;}$ where $G&amp;#39;$ is &lt;i&gt;disconnected&lt;/i&gt; (i.e., has 2 or more maximal connected components).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The maximum weight &lt;i&gt;connected&lt;/i&gt; subgraph problem is known to be NP-hard by reduction from MINIMUM-COVER [1].  Is this &quot;opposite&quot; disconnected problem easier?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, maybe this deserves its own question, but are there interesting (non-contrived) cases where the &quot;opposite&quot; of a well-known hard problem is easy?  Here's an attempt at defining opposite for vertex-weighted graph optimization problems:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem P is defined as follows. Given a vertex-weighted graph $G$, and a set $\mathcal{S}$ of induced subgraphs of $G$, find an induced subgraph in $\mathcal{S}$ with maximum weight. Then, the opposite of $P$ is defined as follows. Given a vertex-weighted graph $G$, and the set $\mathcal{\bar S}$ of induced subgraphs of $G$ that are not in $\mathcal{S}$, find an induced subgraph in $\mathcal{\bar S}$ with minimum weight.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Note: since $z_v$ is not constrained to be positive, minimizing or maximizing is arbitrary.  I switch only for aesthetics related to the term &quot;opposite&quot;.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] &lt;a href=&quot;http://prosecco.ucsd.edu/ISMB2002/nph.pdf&quot; rel=&quot;nofollow&quot;&gt;http://prosecco.ucsd.edu/ISMB2002/nph.pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="144" LastEditorUserId="144" LastEditDate="2011-02-25T15:49:01.740" LastActivityDate="2011-02-25T15:49:01.740" Title="Minimum Weight Disconnected Subgraph and &quot;Opposite&quot; problems" Tags="&lt;ds.algorithms&gt;&lt;graph-algorithms&gt;" AnswerCount="0" CommentCount="12" ContentLicense="CC BY-SA 2.5" />
  <row Id="5058" PostTypeId="2" ParentId="4978" CreationDate="2011-02-21T19:10:49.137" Score="0" Body="&lt;p&gt;I honestly think there is no &quot;natural&quot; notion for computiational hardness; it is inherently a creature of human minds.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Maybe a simple analogon can help to understand polynomial growth. Give your students (virtually) the following task: With a sensor that can scan one cubic centimetre, find a cent piece. How long does it take you if you have to search&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;along a line of length 1m (10m, 100m, 1km)?&lt;/li&gt;&#xA;&lt;li&gt;in an area of 1m² (100m², 10,000m², 1km²)?&lt;/li&gt;&#xA;&lt;li&gt;in a tank of water that takes 1m³ (1000m³, 1e6m³, 1km³)?&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;This reduces computational complexity to measures known from elementary school; who has not wondered then why 1000m give 1km, but 1000m² do not give 1km²?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Exponential growth can best be explained by brute force: we start with a single bacterium. This kind separates every six hours and never dies. Make a table or better, pictures: After one day, there are 16 bacteria. After two days, 256. And so on. After 18 days, our colony weighs ten million tons. That should make an impression. You can make it a search problem again: assume our start bacterium had a marble in its body that is passed along to one offspring. After 20 days, how long do you have to search for the marble if you can only examine one (or ten, hundred...) bacteria at a time?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another thing often used in magazines for children is folding a piece of paper: how often do you have to fold to reach the moon? (not too often) Also popular: the guy with 1, 2, 4, ... grains of rice on the chess board. Creating a full table of a binary function with 3, 4, ... parameters is telling, too.&lt;/p&gt;&#xA;" OwnerUserId="1546" LastActivityDate="2011-02-21T19:10:49.137" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5059" PostTypeId="2" ParentId="5010" CreationDate="2011-02-21T19:48:37.927" Score="7" Body="&lt;p&gt;Also check out the &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.86.9944&amp;amp;rep=rep1&amp;amp;type=pdf&quot;&gt;thesis of Ankur Gupta&lt;/a&gt;, with emphasis on compressible data.&lt;/p&gt;&#xA;" OwnerUserId="215" LastActivityDate="2011-02-21T19:48:37.927" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5060" PostTypeId="2" ParentId="4939" CreationDate="2011-02-21T19:58:49.063" Score="8" Body="&lt;p&gt;One issue that is unclear is how caches will develop. The 2009 &lt;a href=&quot;http://reports-archive.adm.cs.cmu.edu/anon/2009/CMU-CS-09-150.pdf&quot; rel=&quot;nofollow&quot;&gt;thesis of Nikos Hardavellas&lt;/a&gt; considers these things from a systems perspective, including considerations of physical limits to scalable memory systems. The thesis does not present a model as such, but may give you some clues.&lt;/p&gt;&#xA;" OwnerUserId="215" LastActivityDate="2011-02-21T19:58:49.063" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5061" PostTypeId="2" ParentId="5048" CreationDate="2011-02-21T20:20:39.957" Score="3" Body="&lt;p&gt;Addressing the last point, it's stupid to go to a graduate school, no matter how highly ranked it is, if there are no professors there working in your desired area of specialization (assuming you know what it is). One of the most important pieces of graduate school is your advisor. If you know what area you want to work in, either you should make sure there is one professor there in the area you want to work in that you know you are compatible with, or several professors there in the area you want to work in, so you have a choice. If you don't know what area you want to work in, you should go to a school which has a broad enough program that you have a reasonable choice.&lt;/p&gt;&#xA;" OwnerDisplayName="user3938" LastActivityDate="2011-02-21T20:20:39.957" CommentCount="0" CommunityOwnedDate="2011-02-22T00:41:26.240" ContentLicense="CC BY-SA 2.5" />
  <row Id="5062" PostTypeId="2" ParentId="5048" CreationDate="2011-02-21T21:53:55.487" Score="7" Body="&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;What are the parameters that one should look for? &lt;br&gt;&#xA;Number and quality of the faculty working in your area of choice or related areas, ease of finding an advisor, opportunities to collaborate with different people in the program, how well funded the program is, quality of the students, how successful are graduates in finding jobs/positions that you would be interested in after graduating, etc.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;What are credible sources other than institute website/provided materials to get information about the course or program?&lt;br&gt;&#xA;Other students in the program are one of the best sources of information. Most schools should have an Open House for admitted students. Highly recommend you go to them.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Do brand names really matter? (As in if you had to choose between one with a global and better brand name and other with a strong research focus)&lt;br&gt;&#xA;The story I've heard is that brand names matter in the sense that you'll likely find an excellent and diverse faculty body making it easier to find an advisor and do good work in your field. In addition, on average, the quality of students at such universities is likely to be higher which can be important as at least in my experience, I tend to learn a lot from my peers and work harder if people around me are working hard too.&lt;br&gt;&#xA;You'll also have an easier time getting a good CS job and can also help when looking for a postdoc/faculty position if only because it would be easier to collaborate with a well known faculty member who could write you a great rec.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="24" LastActivityDate="2011-02-21T21:53:55.487" CommentCount="0" CommunityOwnedDate="2011-02-22T00:41:07.520" ContentLicense="CC BY-SA 2.5" />
  <row Id="5063" PostTypeId="2" ParentId="5031" CreationDate="2011-02-21T22:58:49.850" Score="6" Body="&lt;p&gt;I start out asking &quot;is there any question that no computer could ever answer convincingly?&quot; and lead the discussion toward philosophical questions such as &quot;if a tree falls in the forest does it make a sound?&quot; or &quot;is there an afterlife?&quot;  We quickly get a consensus that human language can express yes/no questions involving paradoxes or concepts that cannot be expressed mathematically, and so, yes, there are non-computable questions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then I ask rhetorically whether there are non-computable questions about concepts that &lt;em&gt;can&lt;/em&gt; be represented in a computer, e.g. integers and graphs.  I say that yes, one example is the famous halting problem, which is about examining a description of a program and saying whether it has any infinite loops.  Intuitively, it turns out that infinite loops are like black holes, and any program that observes an infinite loop could get trapped in an infinite loop itself.  So any procedure that answers that problem may run forever, so by the definition of &quot;algorithm&quot; no algorithm can answer the halting problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then I dive back into proofs on Turing machines.&lt;/p&gt;&#xA;" OwnerUserId="3941" LastActivityDate="2011-02-21T22:58:49.850" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5064" PostTypeId="1" AcceptedAnswerId="5075" CreationDate="2011-02-22T00:53:12.910" Score="6" ViewCount="2062" Body="&lt;p&gt;I know $CSL\subset UL$ can be demonstrated by reduction to the absurd, but I've been trying to find a language that is in &lt;strong&gt;Type 0&lt;/strong&gt; ($UL$) and not in &lt;strong&gt;Context-Sensitive Languages&lt;/strong&gt; ($CSL$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there any language with such restrictions that isn't a &lt;strong&gt;Context-Sensitive&lt;/strong&gt; language?&lt;/p&gt;&#xA;" OwnerUserId="3440" LastActivityDate="2011-02-23T10:03:24.017" Title="Is there an example of a non context-sensitive language?" Tags="&lt;fl.formal-languages&gt;&lt;grammars&gt;" AnswerCount="2" CommentCount="3" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="5065" PostTypeId="1" AcceptedAnswerId="5281" CreationDate="2011-02-22T01:26:29.833" Score="9" ViewCount="701" Body="&lt;p&gt;In decision tree complexity of a boolean function, a very well know lower bound method is to find a (approximate) polynomial that represents the function. &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=129758&quot; rel=&quot;nofollow noreferrer&quot;&gt;Paturi&lt;/a&gt; gave a characterization for symmetric boolean (partial and total) functions in terms of a quantity denoted $\Gamma$:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Theorem (&lt;a href=&quot;http://portal.acm.org/citation.cfm?id=129758&quot; rel=&quot;nofollow noreferrer&quot;&gt;Paturi&lt;/a&gt;):&lt;/strong&gt; Let $f$ be any non-constant symmetric function, and denote $f_k=f(x)$ when $|x|=k$ (i.e. the hamming weight of $x$ is $k$). The approximate degree of $f$, denoted $\widetilde{deg}(f)$, is $\Theta(\sqrt{n(n-\Gamma(f))})$, where $\Gamma(f)=\min\{|2k-n+1|:f_k\neq f_{k+1}\text{ and } 0\leq k\leq n-1\}$&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Now let $Thr_t(x)$ be the threshold function, i.e. $Thr_t(x)=1$ if $x\geq t$. In this &lt;a href=&quot;http://arxiv.org/abs/quant-ph/0509153&quot; rel=&quot;nofollow noreferrer&quot;&gt;paper&lt;/a&gt; (cf. section 8, page 15) says that $\widetilde{deg}(f)=\sqrt{(t+1)(N-t+1)}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Observe that for the threshold function we have $\Gamma(Thr_t)=|2(t-1)-n+1|$, because when $|x|=t-1$ the function changes from 0 to 1. Am I right?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If I apply directly Paturi's theorem to this value of $\Gamma$, I don't get the lower bound on the threshold function reported in other papers. Is the value of $\Gamma(Thr_t)$ above correct? What am I missing?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit:&lt;/strong&gt; I also tried computing the quantum adversary lower bound for threshold. First, let's review the theorem.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Theorem (Unweighted Quantum Adversary):&lt;/strong&gt; Let $f$ be a partial boolean function, and let $A\subseteq f^{-1}(0)$ and $B\subseteq f^{-1}(1)$ be subset of (hard) inputs. Let $R\subseteq A\times B$ be a relation, and set $R_i=\{(x,y)\in R : x_i\neq y_i\}$ for each $1\leq i \leq n$. Let $m,m'$ denote the minimal number of 1s in any row and any column in relation $R$ respectively, and let $\ell,\ell'$ denote the maximal number of ones in any row and column in any of the relations $R_i$ respectively. Then $Q_2(f)=\Omega(\sqrt{\frac{m m'}{\ell \ell'}})$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;If I define $B$ as the set of all inputs with the number of 1s greater than or equal to $t$, and $A$ all the inputs with 1s strictly less than $t$, I get (after some algebra) that $\frac{mm'}{\ell\ell'}=n^2 \ln(\frac{n}{t}) \ln(\frac{n}{n-t})$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So still I'm not getting the same lower bounds reported in other papers. Now, let's compare these bounds. The figure below shows for $n=200$ and without the square roots, a comparison between Paturi's theorem bound (blue), adversary bound (red), and the reported bound from other papers (green).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/fj8c6.jpg&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My questions are:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1- How do I get the bound reported in other papers?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2- You can see from the figure, that the reported lower bound (green) also lower bounds Paturi's bound and the adversary bound. Isn't that weakening the &quot;real&quot; lower bound? For example, if Paturi says that for all symmetric functions we have this bound, then how can you get a matching upper bound for quantum counting ($\sqrt{(t+1)(n-t+1)}$)? Isn't that upper bound violating Paturi's theorem?&lt;/p&gt;&#xA;" OwnerUserId="135" LastEditorUserId="135" LastEditDate="2011-03-03T06:24:16.827" LastActivityDate="2011-03-05T03:41:31.387" Title="Lower bounds on the Threshold function" Tags="&lt;cc.complexity-theory&gt;&lt;quantum-computing&gt;&lt;lower-bounds&gt;&lt;boolean-functions&gt;&lt;query-complexity&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="5066" PostTypeId="1" AcceptedAnswerId="5067" CreationDate="2011-02-22T03:00:36.147" Score="7" ViewCount="288" Body="&lt;p&gt;I have a large collection of microscopy images of cell cultures.  Each image consists of $10^{10} \times 10^{10}$ pixels.  These images have been &quot;segmented&quot;, meaning that their pixels have been partitioned into disjoint sets (aka regions) corresponding either to the background or to individual cells.  I'm looking for a reasonably efficient algorithm to assign &quot;colors&quot; to these regions so that no two adjacent regions have the same color, and the number of colors used is &quot;small&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In principle, 4 colors should do, but the problem of finding a 4-coloring for a partition of a plane region into disjoint subregions is NP-hard.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Nevertheless, this statement (and the 4-color problem in general) applies to a more general situation (e.g. arbitrarily complex shapes) than the one I am dealing with, so I'm alert to the possibility that some features of this special case may make the problem reasonably tractable in practice.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First, typically most of the cell regions are in fact isolated (i.e. they are surrounded entirely by background), so the problem of assigning a color to them is trivial.  Second, even when there are adjacent cell regions, these regions have relatively &quot;well-behaved&quot; shapes: they are basically roundish blobs, with no weird curlicues, etc.  In fact, any two pixels in a cell region are connected by a &lt;em&gt;taxicab-path&lt;/em&gt; consisting of pixels all belonging to the region.  (By &lt;em&gt;taxicab-path&lt;/em&gt; I mean one in which the Manhattan distance between adjacent pixels is always 1; i.e. each step along the path is either vertical or horizontal.)  Also, there is some leeway on the exact boundary of these regions, so it may be acceptable to modify the segmentation algorithm in such a way that the resulting regions are more easily colorable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have not found any prior work on coloring that attempts to exploit the features described above, so I thought I'd ask here.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It may very well be that these features of my special case do not result in any simplification of the 4-coloring problem, in which case an algorithm that can efficiently produce a 5-coloring, or even a 6-coloring, would be adequate.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks in advance for your suggestions,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;kj&lt;/p&gt;&#xA;" OwnerUserId="3529" LastEditorUserId="80" LastEditDate="2011-02-22T04:55:19.477" LastActivityDate="2011-02-22T04:55:19.477" Title="An image coloring problem" Tags="&lt;ds.algorithms&gt;&lt;graph-algorithms&gt;&lt;graph-colouring&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5067" PostTypeId="2" ParentId="5066" CreationDate="2011-02-22T04:21:40.610" Score="9" Body="&lt;p&gt;I doubt your features simplify the problem at all, but it's very easy to 6-color a planar graph: find and remove a vertex of minimum degree, color the remaining graph recursively, put back the removed vertex, and give it a color that's different from all of its neighbors.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you maintain an array indexed by vertex degree, with a list of the vertices with that degree in each array cell, and move the vertices to different lists when a removal causes their degrees to change, then you can find the minimum degree vertex by scanning the array from low to high degrees, and the overall algorithm will be linear time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This also has the advantage that it automatically and quickly takes care of the completely surrounded regions: they have degree one, so they're dealt with first.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think the best known time bound for 4-coloring planar graphs is still larger — more specifically, $O(n^2)$ from the work of Robertson, Sanders, and Thomas in the mid-1990s. But there are more complicated methods for 5-coloring planar graphs in linear time; one relevant reference is the paper by Hagerup, Chrobak, and Diks in ICALP 1987, and another is by Frederickson in &lt;a href=&quot;http://linkinghub.elsevier.com/retrieve/pii/0020019084900565&quot; rel=&quot;nofollow&quot;&gt;IPL 1984&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="95" LastEditorUserId="95" LastEditDate="2011-02-22T04:53:40.777" LastActivityDate="2011-02-22T04:53:40.777" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="5068" PostTypeId="2" ParentId="2202" CreationDate="2011-02-22T05:11:39.213" Score="4" Body="&lt;p&gt;In Willard's &lt;a href=&quot;http://dx.doi.org/10.1137/0214071&quot; rel=&quot;nofollow&quot;&gt;Searching Unindexed and Nonuniformly Generated Files in $\log \log N$ Time&lt;/a&gt;, he references a preliminary version (of the linked paper) entitled &quot;Surprisingly efficient search algorithms for nonuniformly generated files&quot; appearing at the 21st Allerton Conference on Communication Control and Computing in 1983, pp. 656-662. I can't find this paper on the web, but in the later (linked) version above, he says that the older paper shows that the synergy between binary and interpolation search can reduce search time to $o(\log n)$ for certain non-uniform distributions of record keys.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Specifically, call a &lt;a href=&quot;http://en.wikipedia.org/wiki/Probability_density_function&quot; rel=&quot;nofollow&quot;&gt;PDF&lt;/a&gt; $\mu$ regular if there are $b_1, b_2, b_3, b_4$ such that $\mu(x) = 0$ for $x &amp;lt; b_1$ or $x &amp;gt; b_2$ and $\mu(x) \geq b_3 &amp;gt; 0$ and $|\mu\prime(x)| &amp;lt; b_4$ for $b_1 \leq x \leq b_2$. For data produced by regular PDFs, interpolation search takes $\Omega(\log n)$ expected time, while binary search takes $\Theta(\log n)$ expected time. Interleaving them, however, takes $O(\sqrt{\log n})$ expected time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You may also be interested in Willard and Reif's &lt;a href=&quot;http://www.cs.duke.edu/~reif/paper/willard/interpsearch.pdf&quot; rel=&quot;nofollow&quot;&gt;&quot;Parallel processing can be harmful: The unusual behavior of interpolation search&quot;&lt;/a&gt;, which shows that &quot;parallel processing before the literally last iteration in the search of an unindexed ordered file has nearly no usefulness&quot;.&lt;/p&gt;&#xA;" OwnerUserId="43" LastEditorUserId="43" LastEditDate="2011-02-22T06:38:41.950" LastActivityDate="2011-02-22T06:38:41.950" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="5069" PostTypeId="1" AcceptedAnswerId="5070" CreationDate="2011-02-22T09:25:25.660" Score="13" ViewCount="4321" Body="&lt;p&gt;This is related to the general question of &quot;&lt;a href=&quot;https://cstheory.stackexchange.com/questions/1893/how-do-i-referee-a-paper&quot;&gt;How do I referee a paper?&lt;/a&gt;&quot;. I am reviewing a paper for a conference, and this paper should be rejected, because it is not significant enough for publication and has flaws in some of its technical details. The paper is not wrong, but the ways in which it is right are not very interesting. How do I write a negative review in such a settings? More importantly, how do I do this as a non-senior researcher?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As an example, they make part of their argument through numerics, but I can prove the same result analytically. The analytic treatment is longer than what I can include in a review. I know the author's emails (the review process is not blind both ways), should I email them? This is a conference, so there is no time for revisions, will they be mad at me for rejecting their paper? Should I email them before or after they receive the reviews?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The paper is also sparsely cited, and does not connect strongly to existing literature. I am familiar with many aspects of the relevant literature, how detailed should I make my recommendations on further reading/references?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To extract the general questions:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;How does a junior researcher write a negative review?&lt;/li&gt;&#xA;&lt;li&gt;What should you do if you have specific technical comments/improvements that are too long for a standard review?&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="1037" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2011-02-23T01:28:05.537" Title="How to write a negative review for a conference paper?" Tags="&lt;soft-question&gt;&lt;paper-review&gt;" AnswerCount="3" CommentCount="5" FavoriteCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="5070" PostTypeId="2" ParentId="5069" CreationDate="2011-02-22T09:40:20.023" Score="20" Body="&lt;p&gt;I think this is too much of a duplicate of the other question, but my comment got too long.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Firstly, the review process is blind, so you simply have to do the best that you can. Be objective, be polite, give good reasons – see other &lt;a href=&quot;https://cstheory.stackexchange.com/questions/1893/how-do-i-referee-a-paper&quot;&gt;question&lt;/a&gt;. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;There is probably no such thing has having technical comments/improvements that are too long for the standard review, unless you will end up rewriting the paper. Authors tend to appreciate comments, even if they mean more work. If the paper is borderline and is worth improving, then give as many comments as you have time for.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;If you have additional comments that you want to send to the authors, consult with the chair/editor before contacting the authors. Perhaps your comments can be sent anonymously via the chair/editor. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Papers get rejected, we learn to live with it. The best you can do is provide good comments to help the authors improve the paper for next time round. Authors may get mad, but they don't get even.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;If the paper is terrible, just save your time and don't bother with all the comments. Write a sufficiently convincing review giving reasons why the paper should be rejected, point out that there are many typos and other mistakes, but don't enumerate them all.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;On the other hand, if you are presenting and proving an alternative axiomatisation of their results to the degree that you are not only rewriting their paper, but lifting their results to a whole new level, then you should consult the chair/editor to see what to do. Maybe you should get credit for your contribution. You certainly should &lt;em&gt;never&lt;/em&gt; write up your results independently, not until the paper has appeared in print.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="77" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2011-02-22T09:59:45.647" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5071" PostTypeId="2" ParentId="5069" CreationDate="2011-02-22T10:55:14.377" Score="14" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;How does a junior researcher write a negative review?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;By writing a long, thorough, honest, but polite review.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It helps if you address the &lt;em&gt;paper&lt;/em&gt;, not the &lt;em&gt;authors&lt;/em&gt;. Make it as non-personal as possible. Say how the &lt;em&gt;paper&lt;/em&gt; should be revised, not what the &lt;em&gt;authors&lt;/em&gt; should do. Say that Theorem 3 is wrong, not that the authors are wrong.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What should you do if you have specific technical comments/improvements that are too long for a standard review?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;There is no such thing as &quot;too long for a review&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Sure, senior researchers write one-line reviews, but that does not mean that a four-page review is too long for a conference paper. If you write a long review, of course anyone will immediately guess that this is written by a junior researcher, but I do not see any reason to avoid it.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;However, if you write a long review, it is extremely important that it is well-structured and that anyone can find your &lt;em&gt;recommendation&lt;/em&gt; (i.e., to publish or not, and very briefly why) in two seconds. Make your recommendation stand out, and make sure this part (usually very near the beginning of your review) is very brief.&lt;/p&gt;&#xA;" OwnerUserId="74" LastActivityDate="2011-02-22T10:55:14.377" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="5072" PostTypeId="1" CreationDate="2011-02-22T11:26:02.010" Score="3" ViewCount="828" Body="&lt;p&gt;This interesting paper &lt;a href=&quot;http://www.math.hmc.edu/~su/papers.dir/leitzel.pdf&quot; rel=&quot;nofollow&quot;&gt;http://www.math.hmc.edu/~su/papers.dir/leitzel.pdf&lt;/a&gt; is about how to motivate students during a course. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;One of the idea is to add some &quot;fun facts&quot; during the course for some reasons explained in the paper. The author give the address of the following website:&#xA;&lt;a href=&quot;http://www.math.hmc.edu/funfacts/&quot; rel=&quot;nofollow&quot;&gt;http://www.math.hmc.edu/funfacts/&lt;/a&gt;&#xA;which is only for maths. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are you aware of a similar website for TCS?&lt;/p&gt;&#xA;" OwnerDisplayName="user3944" LastEditorDisplayName="user3944" LastEditDate="2011-02-22T12:24:03.010" LastActivityDate="2011-02-22T16:24:23.137" Title="Website with TCS Fun Facts" Tags="&lt;reference-request&gt;&lt;big-list&gt;&lt;teaching&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="5073" PostTypeId="1" AcceptedAnswerId="5074" CreationDate="2011-02-22T11:42:49.530" Score="8" ViewCount="467" Body="&lt;p&gt;In the context of bond percolation on $\mathbb{Z}^d$ where $d$ is a positive integer, consider the problem of computing a $2^{-k}$-approximation of the critical percolation $p_c$ given a lattice dimension $d\in\mathbb{N}$ and a precision parameter $k\in\mathbb{N}$ as inputs. Are there any known results about the complexity of such problem?&lt;/p&gt;&#xA;" OwnerUserId="3945" LastEditorUserId="1800" LastEditDate="2011-02-22T11:52:18.563" LastActivityDate="2011-02-23T04:31:13.107" Title="Complexity of percolation" Tags="&lt;cc.complexity-theory&gt;&lt;randomness&gt;&lt;percolation&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="5074" PostTypeId="2" ParentId="5073" CreationDate="2011-02-22T13:26:06.810" Score="9" Body="&lt;p&gt;The problem is definitely in random double exponential time, and likely in exponential space. The first result was in my original post below, and the second in my update.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;ORIGINAL POST:&#xA;Can't you get a good approximation by simulation, if you're willing to spend time exponential in $k$ and $d$? The input length is logarithmic in $k$ and $d$. So clearly the problem is in random double exponential time. Since nobody knows how to compute these values efficiently in practice, it seems clear this is not known to be in random exponential time. I would be very surprised if any other complexity results were known about this problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;ADDED UPDATE: &#xA;Actually, I think the problem is very likely in EXPSPACE. Let's fix the dimension (to make things easier, and because I don't understand the subtleties of percolation in varying dimension well at all) so the input is just $k$. Also, let's say $k$ is given in unary so that I can drop the exponentials and talk about PSPACE. I propose the following algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First, we must make the assumption that there is a class of pseudorandom functions $F_\alpha({\mathbf{x}})$ which tell you whether the bond at coordinates $\mathbf{x}$ is present, where $\alpha$ is the seed for the pseudorandom function, and for which the bonds given by $F$ behave like random bonds with respect to percolation. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, suppose that we have a fixed value of the pseudorandom function seed $\alpha$. Consider the following two-player game, which two players A and B play, after being given a bond probability $p$ and a seed $\alpha$ for $F$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Player 1 gives two sites ${\bf a}$ and ${\bf b}$ within distance $2^{k\nu}$ of the origin, but which are still $\theta(2^{k \nu})$ distance apart, where $\nu$ is chosen so that if the percolation probability $p$ is within $2^{-k}$ of the critical percolation probability $p_c$, then with high probability there will be a cluster of diameter $2^{k\nu}$ near the origin ($\nu$ is called a critical exponent, and I believe its value is known with mathematical proof). Player 1 claims that there is a path of length $d$ connecting these sites with bonds in $F_\alpha$, and also gives the site that is the midpoint of this path of length $d$.  Player 2 then claims that either the first part or the second part of this path is not connected. Player 1 responds by giving the point he claims is the midpoint of this allegedly disconnected section of the path. The two players continue in this way for $\log d$ steps, until they reach a segment of path consisting of a single bond, whose presence or absence is easily verified.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is a two-player game whose result tells whether the critical percolation probability is within $2^{-k}$ of $p_c$, and by the result that alternating polynomial time is in PSPACE, the outcome of this game can be computed in PSPACE. A PSPACE machine could then compute this outcome for all seeds $\alpha$ to find which player wins with high probability: this will tell him whether $p$ is larger or smaller or approximately equal to $p_c-2^{-k} $. It can then do a binary search on $p$ to find $p_c$.    &lt;/p&gt;&#xA;&#xA;&lt;p&gt;CHALLENGE: Find a PSPACE (or EXPSPACE if $k$ is not given in unary) algorithm without using the assumption that there are good pseudorandom functions for percolation.&lt;/p&gt;&#xA;" OwnerUserId="1677" LastEditorUserId="1677" LastEditDate="2011-02-23T04:31:13.107" LastActivityDate="2011-02-23T04:31:13.107" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="5075" PostTypeId="2" ParentId="5064" CreationDate="2011-02-22T13:50:56.383" Score="7" Body="&lt;p&gt;Type 0 grammars denote exactly recursively enumerable languages, and CSL = NSPACE[$n$] (e.g., &lt;a href=&quot;http://en.wikipedia.org/wiki/Chomsky_hierarchy&quot;&gt;Wikipedia&lt;/a&gt;).  Thus, your favorite proof of the &lt;a href=&quot;http://en.wikipedia.org/wiki/Space_hierarchy_theorem&quot;&gt;Space Hierarchy Theorem&lt;/a&gt; gives an explicit language in, say, NSPACE[$n^2$] \ NSPACE[$n$], thus in UL \ CSL.&lt;/p&gt;&#xA;" OwnerUserId="88" LastActivityDate="2011-02-22T13:50:56.383" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="5078" PostTypeId="2" ParentId="5072" CreationDate="2011-02-22T16:17:04.913" Score="7" Body="&lt;p&gt;Here are some interesting anecdotes about TCS giants. Some of them are dark, quite possibly the opposite of 'fun', but you also might get something you're looking for. This also might work best as a community wiki.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Kurt Gödel:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Gödel was concerned with developing a mathematical framework for describing the effectively computable. Both he and Alonzo Church developed candidate frameworks (Recursion and Lambda Calculus respectively), but neither satisfied him. In fact, Gödel acted very much as the ultimate skeptic - no proposal which satisfied all of his contemporaries seemed to satisfy him. He involuntarily became the de facto litmus test for effective computation. Alan Turing's A-Machines (we later began to call these Turing Machines...) were the first idea to satisfy Gödel, and this launched a lot of the original interest in Turing's paper. Curiously, Gödel later wished to revoke his support but things were already set in motion.&lt;/li&gt;&#xA;&lt;li&gt;Gödel was a good friend of Einstein. In fact, they purportedly walked together often when they were both at Princeton. Supposedly Einstein once made a comment to a colleague implying his work meant very little to him; that the reason he chose to stay at Princeton was for his walks with Gödel.&lt;/li&gt;&#xA;&lt;li&gt;He purported to have a &lt;a href=&quot;http://en.wikipedia.org/wiki/G%C3%B6del%27s_ontological_proof&quot; rel=&quot;nofollow&quot;&gt;proof that God exists&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Gödel was a very suspicious individual. His own work in Physics and Philosophy convinced him that work of Leibniz was suppressed by a conspiracy against him despite a lack of any solid evidence. In his later years he became increasingly frightened of being poisoned to death and would only eat food his wife taste-tested for him. At one point his wife became hospitalized for an elongated period, during which time he was afraid to eat anything and starved himself to death. It's interesting, but perhaps not fruitful, to speculate about Turing's suicide by poison and what role this may have played in Gödel's conspiracy theory.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Alan Turing:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The &quot;Father of Computer Science&quot;. Turing's original work involved describing mathematically what we should think of as effective computation. Right before publication, having just learned of the lambda calculus of Alonzo Church, he scrawled down a proof which showed equivalence between his machines and Church's calculus.&lt;/li&gt;&#xA;&lt;li&gt;Turing was a student of Bertrand Russel and also a Philosophy student of Wittgenstein. I believe I have heard Turing became very frustrated at his inability to penetrate Wittgenstein's philosophy and eventually retreated from the subject.&lt;/li&gt;&#xA;&lt;li&gt;He is considered a war hero. Turing's machines, and in particular his modifications to the Bombe, helped the Bletchey Park code breaking effort in WWII to crack the German Enigma machines.&lt;/li&gt;&#xA;&lt;li&gt;Because Turing was a homosexual and also likely because of his once high security clearance, the British Government striped him of his status and forced him to undergo extreme hormone treatment. Due to this persecution and other factors Turing commit suicide, by consuming an apple he had laced with cyanide. There is speculation as to why Turing chose to commit suicide this way. The British Government just recently released a formal apology for their actions, 70 years later.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;John Von Neumann:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;With influences well beyond Computer Science, Von Neumann may have been the last well known poly-mathematician. His work helped to develop quantum physics, game theory, theoretical computer science, PDEs, microscopy, systems architecture, functional analysis and more.&lt;/li&gt;&#xA;&lt;li&gt;Von Neumann was entirely unimpressed by John Nash's seminal contributions to Game Theory. Von Neumann is reported to have shrugged and said, &quot;[Nash Equilibrium] is just a fixed point theorem.&quot;&lt;/li&gt;&#xA;&lt;li&gt;Von Neumann was known for his terrible driving. Supposedly the cause of many of his car accidents was the fact he insisted on reading at the wheel.&lt;/li&gt;&#xA;&lt;li&gt;Unlike many other scientists in the Manhattan Project, including Einstein, who would later come to regret their involvement in the project and actively protested nuclear programs/stockpiling, John Von Neumann never had any regrets. He continued to work on the nuclear proliferation of the United States for some time.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="3624" LastEditorUserId="3624" LastEditDate="2011-02-22T16:24:23.137" LastActivityDate="2011-02-22T16:24:23.137" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="5079" PostTypeId="2" ParentId="5069" CreationDate="2011-02-22T16:46:44.363" Score="8" Body="&lt;p&gt;The job of a reviewer is to evaluate whether the paper is worthy of publication. A nice reviewer also helps the authors make their research better. &lt;em&gt;Fixing the paper is not the job of the reviewer.&lt;/em&gt; There should be no difference between a review by a junior or senior researchers, though in practice, a senior researcher might spend much less time and effort on it, and will feel much more secure in judging a paper as unworthy.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I agree with &lt;a href=&quot;https://cstheory.stackexchange.com/questions/5069/how-to-write-a-negative-review-for-a-conference-paper/5071#5071&quot;&gt;@Jukka Suomela&lt;/a&gt; that the review needs to be well structured. You want it to be useful to the editor, as well as to the authors, and you want to make it such that the authors cannot weasel their way out of doing what is necessary by &quot;forgetting&quot; to address an issue that is somewhere buried in your long-winded explanation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is how I write reviews:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;The manuscript [title here] presents&#xA;  [2-3 sentence summary of the paper to&#xA;  demonstrate that you get what the&#xA;  paper is about. This demonstrates that&#xA;  you actually took the time to read and&#xA;  understand.] This is [say something&#xA;  good about the paper, even if you&#xA;  reject it. The authors will feel&#xA;  better]. [Say whether there are major&#xA;  flaws, if necessary]. Thus, I&#xA;  recommend [state your recommendation -&#xA;  unless you're supposed to communicate it separately to the editor, as you may see on some electronic review submission sites (this gives the editor more freedom to override one of the reviewers).]&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;Major issues&lt;/p&gt;&#xA;  &#xA;  &lt;ol&gt;&#xA;  &lt;li&gt;&lt;p&gt;[start with a one-sentence &quot;summary&quot; of the issue before you go&#xA;  into detail]&lt;/p&gt;&lt;/li&gt;&#xA;  &lt;li&gt;&lt;p&gt;[By the way, remember that you don't want to rewrite their paper. That's their job. Also, you do not recommend any future work they should do on this project. The issues they need to address are those that allow them to actually make the points that they claim they do. Check your summary if you're not sure]&lt;/p&gt;&lt;/li&gt;&#xA;  &lt;/ol&gt;&#xA;  &#xA;  &lt;p&gt;Minor Issues&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;[keep this short, unless you specifically want to send the message to the editor that the paper is full of little flaws and thus bad. Also, leave out the trivial stuff like typos - instead write e.g. &quot;the paper would benefit from thorough proofreading&quot; - it costs you a lot of time and won't really make a difference in getting the paper published. If you do have a bit of additional time, re-read the major issues again to make sure you're explaining clearly what is wrong and how you expect it to improve. This is a lot more important to both the editor and the authors]&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Note that I would &lt;em&gt;not&lt;/em&gt; write out an analytical proof for them. It is their job to write their paper. State &quot;this result should be be proven analytically, for example by following the XX approach&quot;. Once you see the paper published somewhere else, and they still don't have an analytical solution, you can contact the authors, saying &quot;Hey, I just saw your paper, and I had an idea for an analytical solution. Are you interested in a collaboration?&quot; &lt;/p&gt;&#xA;" OwnerUserId="3952" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2011-02-22T23:41:20.710" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="5080" PostTypeId="1" AcceptedAnswerId="5081" CreationDate="2011-02-22T18:34:00.760" Score="31" ViewCount="1895" Body="&lt;p&gt;I'm new to the CS field and I have noticed that in many of the papers that I read, there are no empirical results (no code, just lemmas and proofs). Why is that? Considering that Computer Science is a science, shouldn't it follow the scientific method?&lt;/p&gt;&#xA;" OwnerUserId="3953" LastEditorUserId="186" LastEditDate="2011-02-23T07:05:55.300" LastActivityDate="2017-01-05T13:45:53.907" Title="Empirical results in CS papers" Tags="&lt;soft-question&gt;&lt;research-practice&gt;&lt;writing&gt;" AnswerCount="6" CommentCount="13" FavoriteCount="11" ContentLicense="CC BY-SA 2.5" />
  <row Id="5081" PostTypeId="2" ParentId="5080" CreationDate="2011-02-22T19:41:30.993" Score="21" Body="&lt;p&gt;Mathematics is a science also, and you would have to search for a long time to find published empirical results in this field (although I guess there must be some).  There are other scientific domains where &quot;lemmas and proofs&quot; are valued over experience, such as quantum physics. That said, most sciences mix theory and practice (with various ratios), and Computer Science is no exception.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Computer Science has its roots in Mathematics (see Turing's biography for instance &lt;a href=&quot;http://en.wikipedia.org/wiki/Alan_Turing&quot;&gt;http://en.wikipedia.org/wiki/Alan_Turing&lt;/a&gt;), and as such many results (generally dubbed as in the field of &quot;theoretical computer science&quot;) consist in proofs that computers in some computational model can solve some problem in a given amount of operations (e.g. conferences such as FOCS, STOC, SODA, SoCG, etc..). Nevertheless, many other results of computer science are concerned with the applicability of those theories to practical life, through the analysis of experimental results (e.g. conferences such as WADS, ALENEX, etc...). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is often suggested that the ideal is a good balance between theory and practice, as in &quot;Natural Science&quot;, where the observation of experiments prompts the generation of new theories, which in turn suggest new experiments to confirm or infirm those: as such many conferences attempts to accept both experimental and theoretic results (e.g. ESA,  ICALP, LATIN, CPM, ISAAC, etc...). The subfield of &quot;Algorithms and Data Structures&quot; in computer science might suffer of an imbalance in the sense that &quot;Theoretical&quot; conferences are generally more highly ranked than experimental ones. I believe that this is not true in other subfields of computer science, such as HCI or AI.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hope it helps?&lt;/p&gt;&#xA;" OwnerUserId="191" LastActivityDate="2011-02-22T19:41:30.993" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="5082" PostTypeId="1" AcceptedAnswerId="5124" CreationDate="2011-02-22T20:08:07.407" Score="13" ViewCount="601" Body="&lt;p&gt;What is known about the following problem?&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Given a collection $C$ of functions $f:\{0,1\}^n\rightarrow\{0,1\}$, find a largest subcollection $S \subseteq C$ subject to the constraint that VC-Dimension$(S) \leq k$ for some integer $k$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Are there approximation algorithms or hardness results for this problem?&lt;/p&gt;&#xA;" OwnerUserId="25" LastEditorUserId="80" LastEditDate="2011-02-22T23:56:08.097" LastActivityDate="2011-02-28T13:13:04.323" Title="Estimating VC-Dimension" Tags="&lt;reference-request&gt;&lt;approximation-algorithms&gt;&lt;cg.comp-geom&gt;&lt;lg.learning&gt;&lt;vc-dimension&gt;" AnswerCount="2" CommentCount="5" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="5083" PostTypeId="2" ParentId="5080" CreationDate="2011-02-22T22:00:19.597" Score="12" Body="&lt;p&gt;This depends on the discipline you are in; as Jeremy states, there is a spectrum of theory vs. practice.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Topics like &lt;em&gt;complexity&lt;/em&gt; tend to be weighted towards the theory side, as often the goal is to find a boundary for the space or runtime. Implementing an algorithm in C++ and then running it a bunch of times isn't going to prove that a problem is NP-complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As a polar opposite, &lt;em&gt;high-performance computing&lt;/em&gt; (with conferences like &lt;a href=&quot;http://supercomputing.org/&quot; rel=&quot;nofollow&quot;&gt;Supercomputing&lt;/a&gt;) are all empirical; no one would ever submit a proof to an HPC publication as there is too much variability with regard to memory hierarchy and kernel overhead.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So what seems like the same question (How long does something take to run?) will be approached two completely different ways depending on the goals, techniques, community, etc. See Poul-Henning Kamp's &lt;a href=&quot;http://queue.acm.org/detail.cfm?id=1814327&quot; rel=&quot;nofollow&quot;&gt;You're Doing It Wrong&lt;/a&gt; for an example of the dissonance.&lt;/p&gt;&#xA;" OwnerUserId="2581" LastEditorUserId="2581" LastEditDate="2011-02-24T18:29:15.910" LastActivityDate="2011-02-24T18:29:15.910" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5084" PostTypeId="2" ParentId="5080" CreationDate="2011-02-22T23:03:34.110" Score="17" Body="&lt;p&gt;One research area that uses empirical methods and methods of Theoretical Computer Science is the field called &quot;Experimental Algorithmics&quot; or &quot;Algorithm Engineering&quot;. Like Chris mentioned, high performance computing relies heavily on this as modern systems have complex cache and latency issues that we have a hard time modeling.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.informatik.uni-trier.de/~ley/db/indices/a-tree/b/Brodal:Gerth_St=oslash=lting.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;Gerth Brodal&lt;/a&gt; and &lt;a href=&quot;http://www.informatik.uni-trier.de/~ley/db/indices/a-tree/s/Sanders:Peter.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;Peter Sanders&lt;/a&gt; are good examples of researchers who maintain a foot in both the &quot;proof&quot; and &quot;empirical&quot; realms.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;--Update 1/20/2013--&#xA;I would also mention a great presentation by &lt;a href=&quot;http://www.cs.princeton.edu/~rs/talks/ScienceCS.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Robert Sedgewick&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="2021" LastEditorUserId="42498" LastEditDate="2017-01-05T13:45:53.907" LastActivityDate="2017-01-05T13:45:53.907" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="5085" PostTypeId="1" AcceptedAnswerId="5086" CreationDate="2011-02-23T03:23:35.467" Score="4" ViewCount="212" Body="&lt;p&gt;An easy question perhaps?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Taking a (fictional) concrete example, let's say I have two ranking methods for HTML documents: PageRank and HITS. I derive an ordered list over the same set of documents according to their rank values (there can be ties) for both ranking methods. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, I want to quantify how much the two orderings correlate. I'm not interested in the absolute values of the ranking measures, but I'm looking for measures of correlation between the orderings.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I can think of some intuitive correlation measures one could apply like &quot;average distance&quot; or such: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;${\displaystyle\frac{\sum_{doc_i\in Docs}\mathrm{abs}(pos_{rank1}(doc_i) - pos_{rank2}(doc_i))}{|Docs|^2}}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;but I'm wondering if anyone knows of any standard techniques I could check out? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In particular, I would prefer a symmetric measure which is easy to intuit and whose results are tangible/&quot;portable&quot;. I've a number of different orderings which I'll be comparing pair-wise, but the set of $Docs$ remains the same.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Many thanks in advance! &lt;/p&gt;&#xA;&#xA;&lt;p&gt;(having difficulty tagging... please feel free to edit tags)&lt;/p&gt;&#xA;" OwnerUserId="2591" LastEditorUserId="80" LastEditDate="2011-02-23T03:43:35.793" LastActivityDate="2011-02-23T03:43:35.793" Title="Measures of &quot;correlation&quot; between two orderings" Tags="&lt;co.combinatorics&gt;&lt;st.statistics&gt;&lt;order-theory&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5086" PostTypeId="2" ParentId="5085" CreationDate="2011-02-23T03:30:33.317" Score="8" Body="&lt;p&gt;The standard approach to computing the correlation between two total orders is &lt;a href=&quot;http://en.wikipedia.org/wiki/Kendall_tau_rank_correlation_coefficient&quot; rel=&quot;nofollow noreferrer&quot;&gt;Kendall's $\tau$&lt;/a&gt;, defined as the difference between the number of agreeing pairs and disagreeing pairs (in rank) divided by $\binom{n}{2}$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you only have partial orders, then &lt;a href=&quot;https://mathoverflow.net/questions/15955/defining-average-rank-when-not-every-ranking-covers-the-whole-set/15958#15958&quot;&gt;things get a little trickier&lt;/a&gt;. &lt;/p&gt;&#xA;" OwnerUserId="80" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2011-02-23T03:30:33.317" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="5087" PostTypeId="1" AcceptedAnswerId="5142" CreationDate="2011-02-23T04:58:55.677" Score="20" ViewCount="662" Body="&lt;p&gt;The &lt;a href=&quot;http://en.wikipedia.org/wiki/Karp-Lipton_theorem&quot; rel=&quot;noreferrer&quot;&gt;Karp–Lipton Theoem&lt;/a&gt; states that if $\mathsf{NP} \subset \mathsf{P/poly}$, then $\mathsf{PH}$ collapses to $\mathsf{\Sigma^P_2}$. Therefore, assuming separations between $\mathsf{\Sigma^P_2}$ and $\mathsf{\Sigma^P_3}$, no $\mathsf{NP}$-complete problem will belong to $\mathsf{P/poly}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm interested in the following question:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Assuming that $\mathsf{PH}$ does not collapse, or assuming any other reasonable assumption in structural complexity, what &lt;strong&gt;hard-on-average&lt;/strong&gt; $\mathsf{NP}$ problems are &lt;em&gt;proven&lt;/em&gt; not to lie in $\mathsf{Average\mbox{-}P/poly}$ (if any)?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;A definition of $\mathsf{Average\mbox{-}P/poly}$ can be found in &lt;a href=&quot;http://www.cse.unl.edu/~vinod/papers/fct05.ps&quot; rel=&quot;noreferrer&quot;&gt;Relations between Average-case and Worst-case Complexity&lt;/a&gt;. Thanks to Tsuyoshi for pointing out that I actually need to use $\mathsf{Average\mbox{-}P/poly}$ instead of $\mathsf{P/poly}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I &lt;em&gt;think&lt;/em&gt; there are problems such as (the decision versions of) &lt;a href=&quot;http://en.wikipedia.org/wiki/Integer_factorization&quot; rel=&quot;noreferrer&quot;&gt;FACTORING&lt;/a&gt; or &lt;a href=&quot;http://en.wikipedia.org/wiki/Discrete_logarithm&quot; rel=&quot;noreferrer&quot;&gt;DLOG&lt;/a&gt; which are conjectured to lie in $\mathsf{NP} - \mathsf{Average\mbox{-}P/poly}$, but the conjecture is not proven based on separations between complexity classes. (Please correct me if I'm wrong.)&lt;/p&gt;&#xA;" OwnerUserId="873" LastEditorUserId="873" LastEditDate="2011-02-24T05:26:27.757" LastActivityDate="2011-02-25T13:06:37.867" Title="Problems in NP but not in Average-P/poly" Tags="&lt;cc.complexity-theory&gt;&lt;np&gt;&lt;conditional-results&gt;&lt;advice-and-nonuniformity&gt;&lt;average-case-complexity&gt;" AnswerCount="1" CommentCount="6" FavoriteCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="5088" PostTypeId="1" CreationDate="2011-02-23T06:57:33.293" Score="1" ViewCount="193" Body="&lt;p&gt;How is the Schnorr Signature insecure in the following 2 scenarios:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;When there is no hash function used,&#xA;s = k-x*m mod q   &lt;strong&gt;instead of&lt;/strong&gt;  s = k-x*H(m||r) mod q&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;When a hash function is defined as H(m) &lt;strong&gt;instead of&lt;/strong&gt; H(m||r)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Ref: &lt;a href=&quot;http://en.wikipedia.org/wiki/Schnorr_signature&quot; rel=&quot;nofollow&quot;&gt;Schnorr Signature &lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="4385" LastEditorUserId="873" LastEditDate="2011-02-24T04:08:26.900" LastActivityDate="2011-02-24T04:08:26.900" Title="Insecurity of Schnorr's Signature Scheme" Tags="&lt;cr.crypto-security&gt;" AnswerCount="0" CommentCount="3" ClosedDate="2011-02-24T04:29:53.197" ContentLicense="CC BY-SA 2.5" />
  <row Id="5089" PostTypeId="2" ParentId="5082" CreationDate="2011-02-23T07:02:57.653" Score="5" Body="&lt;p&gt;Some relevant related work: Estimating the VC-dimension itself (let alone finding a large subcollection with bounded VC-dimension) in your representation &lt;a href=&quot;http://www.sciencedirect.com/science?_ob=ArticleURL&amp;amp;_udi=B6WJ0-45S96GY-3&amp;amp;_user=10&amp;amp;_coverDate=10%2F31%2F1996&amp;amp;_rdoc=1&amp;amp;_fmt=high&amp;amp;_orig=search&amp;amp;_origin=search&amp;amp;_sort=d&amp;amp;_docanchor=&amp;amp;view=c&amp;amp;_searchStrId=1652477992&amp;amp;_rerunOrigin=google&amp;amp;_acct=C000050221&amp;amp;_version=1&amp;amp;_urlVersion=0&amp;amp;_userid=10&amp;amp;md5=9400d7c7dafa2d2dda272e937a832bc9&amp;amp;searchtype=a&quot; rel=&quot;noreferrer&quot;&gt;is LOGNP-complete&lt;/a&gt; (LOGNP is NP restricted to log n bits of nondeterminism). There's also a bit of related work on &lt;a href=&quot;http://www.cs.caltech.edu/~umans/papers/MU01.ps&quot; rel=&quot;noreferrer&quot;&gt;estimating and approximating VC-dimension&lt;/a&gt; when the presentation of the range space is more compact (see the references within as well)&lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2011-02-23T07:02:57.653" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5090" PostTypeId="2" ParentId="5080" CreationDate="2011-02-23T07:20:47.760" Score="10" Body="&lt;p&gt;In programming languages research many ideas for new programming language constructs or new type checking mechanisms stem from theory (perhaps informed by experience in practice, perhaps not). Often a paper is written about such mechanisms from a formal/theoretical/conceptual perspective. That's relatively easy to do. Next comes the first hurdle: implementing the new constructs in the context of an existing compiler and experimenting with it, in terms of efficiency or flexibility. This too is relatively easy. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;But can we then say that the programming construct constitutes an advance to the science of programming? Can we say that it makes writing programs easier? Can we say that it makes the programming language better?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The answer is no. A proper empirical evaluation involving scores of experienced programmers over large periods of time would be needed to answer those kinds of questions. This research is hardly ever done. The only judge of the value of a programming language (and its constructs) is the popularity of the language. And for programming language purists, this goes against what our hypotheses tell us.&lt;/p&gt;&#xA;" OwnerUserId="77" LastActivityDate="2011-02-23T07:20:47.760" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5091" PostTypeId="2" ParentId="5064" CreationDate="2011-02-23T10:03:24.017" Score="2" Body="&lt;p&gt;Since deciding membership for a context-sensitive grammar is in $PSPACE$ ($NSPACE[n]$ even), any language not in $PSPACE$ is not expressable by a context-sensitive grammar. An example is therefore the language of all true propositions in Presburger arithmetic (en.wikipedia.org/wiki/Presburger_arithmetic).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since we suspect that $PSPACE \neq EXPTIME$, we expect any $EXPTIME$-hard language to be sufficient. Alternatively, any $EXPSPACE$-hard problem is provably not context-sensitive by the space hierarchy theorem.&lt;/p&gt;&#xA;" OwnerUserId="988" LastActivityDate="2011-02-23T10:03:24.017" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5092" PostTypeId="1" AcceptedAnswerId="5095" CreationDate="2011-02-23T10:07:35.230" Score="5" ViewCount="1486" Body="&lt;p&gt;Reading &lt;a href=&quot;http://www.cs.umd.edu/~jkatz/imc.html&quot; rel=&quot;nofollow&quot;&gt;Introduction to Modern Cryptography&lt;/a&gt; by Katz and Lindell, I noticed that they talk about CPA security for block ciphers (in Section 3.6.4 where they explain mods of operation) -- and mention that most modes of operation described there are CPA-secure. Then they prove that CTR mode is CPA-secure using the key length as security parameter: &quot;${\tt Gen}(1^n)$ chooses a random function ...&quot; and later, in the displayed equation, &#xA;$\left[ {\tt PrivK}^{cpa}_{{\cal A},\tilde\Pi}(n)=1 \right]\leq \frac{1}{2} + {\tt negl}(n)$&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, in Chapter 5 (paragraph about &quot;Attacks on block ciphers&quot;) they also mention that any pseudorandom permutation is secure againse CPA attacks, and that it makes no sense to use asymptotic notions of security for block ciphers, since their block and key length are fixed (and that makes perfect sense to me).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So I am confused now -- what is the point of the previous demonstrarion, on Chapter 3, that CTR mode is CPA-secure?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Or, making this question not specific to this book in particular: how do people define security against CPA (and known-plaintext, CCA etc) for block ciphers?&lt;/p&gt;&#xA;" OwnerUserId="3961" LastEditorUserId="1700" LastEditDate="2011-02-23T11:21:00.657" LastActivityDate="2011-02-23T11:21:00.657" Title="CPA security for block ciphers?" Tags="&lt;cr.crypto-security&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="5093" PostTypeId="1" CreationDate="2011-02-23T10:46:40.053" Score="5" ViewCount="125" Body="&lt;p&gt;I'm trying to calculate the probability that a random transmission error goes undetected.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The packet in question is being transmitted over a serial RS-232C interface using 8 data bits, even parity and 1 stop bit. The packet is transfered in ASCII and structured according to the following:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Frame header (1 character - ASCII STX)&lt;/li&gt;&#xA;&lt;li&gt;Telegram ID (3 characters, limited set of valid ID's)&lt;/li&gt;&#xA;&lt;li&gt;Data (0 to 64 characters depending on the Telegram ID)&lt;/li&gt;&#xA;&lt;li&gt;Checksum (4 characters, hex representation of CCITT CRC16 of Telegram ID + data)&lt;/li&gt;&#xA;&lt;li&gt;End of frame (1 charcter - ASCII ETX)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I've been trying to locate some papers etc, that describe the strength of the parity check as well as the CRC16 check but so far no luck.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In my own (pragmatic) mind, I've been thinking of something along the lines of:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;P&lt;sub&gt;total&lt;/sub&gt; = P&lt;sub&gt;parity&lt;/sub&gt; * P&lt;sub&gt;crc&lt;/sub&gt; * P&lt;sub&gt;content&lt;/sub&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;P&lt;sub&gt;parity&lt;/sub&gt; is the probability that an error is undetected by the RS-232C parity check&lt;br&gt;&#xA;P&lt;sub&gt;crc&lt;/sub&gt; is the probability the error is undetected by the CRC16 check&lt;br&gt;&#xA;P&lt;sub&gt;content&lt;/sub&gt; is the probability that the error changes the content but is otherwise ok (syntax and semantics)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So what I'm asking for is help to calculate the P&lt;sub&gt;parity&lt;/sub&gt; and P&lt;sub&gt;crc&lt;/sub&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm not necessarily looking for the exacts mathmatical models, but some more &quot;at least better than&quot; models.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any help, hints, indicators, etc. are greatly appreciated.&lt;/p&gt;&#xA;" OwnerUserId="3946" LastActivityDate="2011-02-23T10:46:40.053" Title="Probability of detecting a transmission error" Tags="&lt;reference-request&gt;" AnswerCount="0" CommentCount="4" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="5095" PostTypeId="2" ParentId="5092" CreationDate="2011-02-23T11:17:20.773" Score="4" Body="&lt;p&gt;The book introduces two concepts, and warns not to confuse them with each other:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;strong&gt;Encryption schemes:&lt;/strong&gt; Which can have varying key lengths; and&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Block ciphers:&lt;/strong&gt; Which have fixed-length black and key lengths.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Chapter 3 of the book mainly speaks about encryption schemes. For instance, take a look at the proof of CPA-security of the CTR mode (Theorem 3.29, and Figure 3.8): The permutation $F_k$ used at the heart of the CTR construct can have varying key lengths.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, chapter 5 mainly discusses block ciphers. These are &lt;strong&gt;practical&lt;/strong&gt; constructs based on the &lt;strong&gt;theoretical&lt;/strong&gt; ideas of encryption schemes (as the chapter title implies). The security of block ciphers (DES, AES, etc.) cannot be formally proved (at least at the present), since there exists no notion of concrete security, in contrast to asymptotic security. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;That said, there has been some attempts at defining security notions for concrete security as well. Rogaway, for instance, has written a &lt;a href=&quot;http://www.cs.ucdavis.edu/~rogaway/papers/ignorance.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;nice paper&lt;/a&gt; on defining security for &quot;ordinary&quot; hash functions (in contrast to &quot;families&quot; of hash functions).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A related question on CSTheory is &lt;a href=&quot;https://cstheory.stackexchange.com/q/1206/873&quot;&gt;Hardness Guarantees for AES&lt;/a&gt;, where the OP asked about provable measures for the AES &lt;strong&gt;block cipher&lt;/strong&gt;.&lt;/p&gt;&#xA;" OwnerUserId="873" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2011-02-23T11:17:20.773" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="5096" PostTypeId="1" AcceptedAnswerId="5098" CreationDate="2011-02-23T14:23:42.097" Score="36" ViewCount="3522" Body="&lt;p&gt;Factoring is not known to be NP-complete. &lt;a href=&quot;https://cstheory.stackexchange.com/questions/167/what-are-the-consequences-of-factoring-being-np-complete&quot;&gt;This&lt;/a&gt; question asked for consequences of Factoring being NP-complete. Curiously, no one asked for consequences of Factoring being in P (maybe because such a question is trivial).&lt;/p&gt;&#xA;&lt;p&gt;So my questions are:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Which would be the &lt;i&gt;theoretical&lt;/i&gt; consequences of Factoring being in P? How the overall picture of complexity classes would be affected by such a fact?&lt;/li&gt;&#xA;&lt;li&gt;Which would be the &lt;i&gt;practical&lt;/i&gt; consequences of Factoring being in P? Please do not say that banking transactions could be in jeopardy, I already know this trivial consequence.&lt;/li&gt;&#xA;&lt;/ol&gt; &#xA;" OwnerUserId="947" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2015-11-12T12:36:12.600" Title="Consequences of Factoring being in P?" Tags="&lt;cc.complexity-theory&gt;&lt;cr.crypto-security&gt;&lt;conditional-results&gt;&lt;factoring&gt;" AnswerCount="3" CommentCount="3" FavoriteCount="11" ContentLicense="CC BY-SA 2.5" />
  <row Id="5098" PostTypeId="2" ParentId="5096" CreationDate="2011-02-23T15:52:20.673" Score="34" Body="&lt;p&gt;There are pretty much no complexity-theoretic consequences of Factoring being in P. This means that there are no good justifications for factoring being hard, other than that nobody has been able to crack it so far. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Polynomial-time factoring would make it possible to take square roots over $Z_n$ (and also over a much more general class of rings as well), and give polynomial-time algorithms for a number of other number-theoretic problems for which the bottleneck in the algorithm is currently factoring.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As for practical consequences, banking transactions are probably not that much of a problem -- as soon as it was known that factoring was in P, the banks would switch to some other system, probably causing only a brief period of delays while this was being implemented. Decoding past banking transactions would probably not cause serious problems for the banks. A much more serious problem is that all the communication which was previously protected by RSA would now be in danger of being read. &lt;/p&gt;&#xA;" OwnerUserId="1677" LastActivityDate="2011-02-23T15:52:20.673" CommentCount="7" ContentLicense="CC BY-SA 2.5" />
  <row Id="5099" PostTypeId="1" CreationDate="2011-02-23T15:54:47.300" Score="29" ViewCount="863" Body="&lt;p&gt;I have an increasing interest in spectral graph theory, which I find fascinating, and I've started collecting a few documents that I have yet to read more thoroughly than what I so far have.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, I'm curious about a statement that popped up in several sources (for instance &lt;a href=&quot;http://www.sgt.pep.ufrj.br/index.php&quot;&gt;over there&lt;/a&gt;), which says in essence that some results in graph theory have been proved using spectrum-based techniques only, and that so far, no proof that bypasses those techniques is known. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Unless I skipped that, I don't recall seeing such an example in the literature I've read so far. Do any of you know of examples of such results?&lt;/p&gt;&#xA;" OwnerUserId="775" LastEditorUserId="80" LastEditDate="2011-02-23T17:15:06.717" LastActivityDate="2011-05-06T01:36:17.953" Title="Proofs obtained only through spectral graph theory" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;proofs&gt;&lt;spectral-graph-theory&gt;" AnswerCount="4" CommentCount="7" FavoriteCount="6" ContentLicense="CC BY-SA 2.5" />
  <row Id="5100" PostTypeId="2" ParentId="5099" CreationDate="2011-02-23T16:01:38.320" Score="13" Body="&lt;p&gt;The &lt;a href=&quot;http://mathworld.wolfram.com/Hoffman-SingletonTheorem.html&quot;&gt;Hoffman–Singleton theorem&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="636" LastEditorUserId="1800" LastEditDate="2011-02-23T18:15:21.870" LastActivityDate="2011-02-23T18:15:21.870" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="5101" PostTypeId="1" CreationDate="2011-02-23T18:04:07.827" Score="37" ViewCount="1068" Body="&lt;p&gt;Recently, &lt;a href=&quot;http://gilkalai.wordpress.com/2011/02/21/the-ac0-prime-number-conjecture/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Gil Kalai&lt;/a&gt; and &lt;a href=&quot;http://rjlipton.wordpress.com/2011/02/23/the-depth-of-the-mobius-function/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Dick Lipton&lt;/a&gt; both wrote nice articles on an interesting conjecture proposed by Peter Sarnak, an expert in number theory and the Riemann Hypothesis.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Conjecture.&lt;/strong&gt; Let &lt;span class=&quot;math-container&quot;&gt;$\mu(k)$&lt;/span&gt; be the &lt;a href=&quot;http://en.wikipedia.org/wiki/M%C3%B6bius_function&quot; rel=&quot;nofollow noreferrer&quot;&gt;Möbius function&lt;/a&gt;. Suppose &lt;span class=&quot;math-container&quot;&gt;$f: \mathbb{N} \to \{-1,1\}$&lt;/span&gt; is an &lt;span class=&quot;math-container&quot;&gt;$\mathsf{AC}^0$&lt;/span&gt; function with input &lt;span class=&quot;math-container&quot;&gt;$k$&lt;/span&gt; in the form of binary representation of &lt;span class=&quot;math-container&quot;&gt;$k$&lt;/span&gt;, then&#xA;  &lt;span class=&quot;math-container&quot;&gt;$$ \sum_{k \leq n} \mu(k) \cdot f(k) = o(n) \text.$$&lt;/span&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Note that if &lt;span class=&quot;math-container&quot;&gt;$f(k) = 1$&lt;/span&gt; then we have an equivalent form of the &lt;a href=&quot;http://en.wikipedia.org/wiki/Prime_number_theorem&quot; rel=&quot;nofollow noreferrer&quot;&gt;Prime number theorem&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;UPDATE&lt;/strong&gt;: Ben Green on MathOverflow &lt;a href=&quot;https://mathoverflow.net/questions/57543/walsh-fourier-transform-of-the-mobius-function/58081#58081&quot;&gt;provided a short paper&lt;/a&gt; which claims to prove the conjecture. &lt;a href=&quot;http://www.dpmms.cam.ac.uk/~bjg23/papers/primes-boolean.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Take a look at the paper&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, we know that by setting &lt;span class=&quot;math-container&quot;&gt;$f(k) = \mu(k)$&lt;/span&gt; (with slight modification so the range is in &lt;span class=&quot;math-container&quot;&gt;$\\{-1,1\\}$&lt;/span&gt;), the resulting sum has the estimation&#xA;&lt;span class=&quot;math-container&quot;&gt;$$ \sum_{k \leq n} \mu(k)^2 = \Omega(n) \text.$$&lt;/span&gt;&#xA;There is an upper bound that &lt;span class=&quot;math-container&quot;&gt;$\mu(k)$&lt;/span&gt; can be computed in &lt;span class=&quot;math-container&quot;&gt;$\mathsf{UP} \cap \mathsf{coUP} \subseteq \mathsf{NP} \cap \mathsf{coNP}$&lt;/span&gt;, so the constraint proposed on &lt;span class=&quot;math-container&quot;&gt;$f(k)$&lt;/span&gt; in the conjecture cannot be relaxed to an &lt;span class=&quot;math-container&quot;&gt;$\mathsf{NP}$&lt;/span&gt; function.&#xA;My question is: &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What is the lowest complexity class &lt;span class=&quot;math-container&quot;&gt;$\mathsf{C}$&lt;/span&gt; we currently know, such that a function &lt;span class=&quot;math-container&quot;&gt;$f(k)$&lt;/span&gt; in &lt;span class=&quot;math-container&quot;&gt;$\mathsf{C}$&lt;/span&gt; satisfies the estimation&#xA;  &lt;span class=&quot;math-container&quot;&gt;$$ \sum_{k \leq n} \mu(k) \cdot f(k) = \Omega(n) \text{?}$$&lt;/span&gt;&#xA;  In particular, since some of the theorists believe that computing &lt;span class=&quot;math-container&quot;&gt;$\mu(k)$&lt;/span&gt; is not in &lt;span class=&quot;math-container&quot;&gt;$\mathsf{P}$&lt;/span&gt;, can we provide other &lt;span class=&quot;math-container&quot;&gt;$\mathsf{P}$&lt;/span&gt; functions &lt;span class=&quot;math-container&quot;&gt;$f(k)$&lt;/span&gt; which implies a linear growth in the summation? Can even better bounds be obtained?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="1800" LastEditorUserId="55031" LastEditDate="2020-06-16T12:02:23.337" LastActivityDate="2020-06-16T12:02:23.337" Title="Efficiently computable function as a counter-example to Sarnak's Mobius conjecture" Tags="&lt;cc.complexity-theory&gt;&lt;randomness&gt;&lt;open-problem&gt;&lt;nt.number-theory&gt;" AnswerCount="1" CommentCount="8" FavoriteCount="11" ContentLicense="CC BY-SA 4.0" />
  <row Id="5103" PostTypeId="1" AcceptedAnswerId="5105" CreationDate="2011-02-23T21:06:07.343" Score="1" ViewCount="261" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Possible Duplicate:&lt;/strong&gt;&lt;br&gt;&#xA;  &lt;a href=&quot;https://cstheory.stackexchange.com/questions/3409/graphs-from-real-life-problems&quot;&gt;graphs from real-life problems&lt;/a&gt;  &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&#xA;&#xA;&lt;p&gt;I'm teaching Algorithms for the 7th time or so, and I want augment the class by asking the students to implement some of our thematic algorithms on large graphs.  I could of course just generate random graphs and ask them to find the diameter, shortest paths, strongly-connected components, etc.  But I think it would be more interesting to them if I had a real-world graph derived from news, media, Facebook, or any source that would be familiar to them.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The graphs should be large enough that algorithmic efficiency matters, but not so large that they cannot be handled by commodity computers (ie, they must fit in 1GB of memory).&lt;/p&gt;&#xA;" OwnerUserId="3866" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2011-02-24T04:33:39.220" Title="Large real-world graphs for teaching use?" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;teaching&gt;" AnswerCount="0" CommentCount="1" FavoriteCount="1" ClosedDate="2011-02-25T04:01:04.097" ContentLicense="CC BY-SA 2.5" />
  <row Id="5104" PostTypeId="2" ParentId="5080" CreationDate="2011-02-23T21:35:21.287" Score="24" Body="&lt;p&gt;Implementing algorithms well is a skill which takes a different set of tools than just proving theorems. Many algorithms which were discovered by the theory community have indeed been implemented in practice (although I would like to see the theory community take a bigger role in this process). Physics doesn't ask the same researchers to do theory and experiment, although it is expected that the two groups communicate. Why shouldn't you expect to see the same divide in computer science?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;ADDED IN EDIT:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Expanding on my comment in answer to Suresh's about what I meant by &quot;role&quot; above, at Bell Labs and AT&amp;amp;T Labs, researchers in algorithms were encouraged to talk to people in development. I didn't do as much of this as I probably should have, but I did get &lt;a href=&quot;http://www.springerlink.com/content/v7227874015t1l6m/&quot;&gt;at least one paper&lt;/a&gt; out of it, and I think it would be good for the field if there were more communication between people in theory at universities and practitioners. This doesn't mean that I think everybody who comes up with an algorithm should code it (even if it's practical).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, coding algorithms (or having a student code them) that you think might be practical can be useful in getting them adapted by practitioners. Consider one example. Lempel and Ziv wrote two technical papers in 1977 and 1978 on new data compression algorithms. Everybody ignored them. In 1984, Welch wrote &lt;a href=&quot;http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?tp=&amp;amp;arnumber=1659158&amp;amp;isnumber=34743&quot;&gt;a much less technical paper&lt;/a&gt; giving a slight twist on LZ78 that improved its performance somewhat, and gave the results of a small study comparing its performance with other data compression methods. It was published in a journal read by a number of programmers, and the algorithm was given by a few lines of pseudocode. The method was quickly adapted in a number of places, eventually resulting in an infamous intellectual property dispute.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course, one of the best ways for algorithms researchers to communicate with practice is to produce grad students who go off and work at Google, IBM, or other companies, and we're already doing that. Another way might be to answer practitioner's questions in this forum. Hopefully, we're doing a reasonable job of that as well.&lt;/p&gt;&#xA;" OwnerUserId="1677" LastEditorUserId="1677" LastEditDate="2011-02-24T12:08:00.230" LastActivityDate="2011-02-24T12:08:00.230" CommentCount="6" ContentLicense="CC BY-SA 2.5" />
  <row Id="5105" PostTypeId="2" ParentId="3409" CreationDate="2011-02-23T23:28:54.593" Score="5" Body="&lt;p&gt;The comments have some good data sets. There's also some &lt;a href=&quot;http://odysseas.calit2.uci.edu/doku.php/public%3aonline_social_networks#facebook_social_graph&quot;&gt;Facebook data here&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://snap.stanford.edu/data/&quot;&gt;SNAP&lt;/a&gt; has some interesting data&lt;/p&gt;&#xA;" OwnerUserId="3817" LastEditorUserId="3817" LastEditDate="2011-02-23T23:38:17.717" LastActivityDate="2011-02-23T23:38:17.717" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5107" PostTypeId="2" ParentId="4765" CreationDate="2011-02-24T00:46:10.423" Score="5" Body="&lt;p&gt;Well, as others noted factorization is in $\mbox{FNP}$, so we have $P \subseteq P^A \subseteq \Delta_2^p$ (i.e. $P^{NP}$). However, the decision version of factoring is also in $\mbox{BQP}$, so in fact we can do slightly better and get $P \subseteq P^A \subseteq P^{NP \cap BQP}$.&lt;/p&gt;&#xA;" OwnerUserId="204" LastActivityDate="2011-02-24T00:46:10.423" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5108" PostTypeId="1" AcceptedAnswerId="5127" CreationDate="2011-02-24T01:33:56.013" Score="22" ViewCount="4310" Body="&lt;p&gt;This question is about the time complexity of the &lt;a href=&quot;http://en.wikipedia.org/wiki/Ford%E2%80%93Fulkerson_algorithm&quot;&gt;Ford-Fulkerson&#xA;maximum flow algorithm&lt;/a&gt; when using DFS to find augmenting paths.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is a well-known example showing that using DFS one can need a&#xA;linear number of iterations in the maximum flow, see for instance the&#xA;Wikipedia page linked to above.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, I'm not really convinced by this example: a standard DFS&#xA;implementation would not exhibit the behaviour of alternating between B and C as&#xA;first node of the path (using the vertex names from the Wikipedia page).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, let us impose the very natural condition that whenever the DFS visits a node&#xA;$u$, it always examines the neighbors of $u$ in the same order.  Are there&#xA;still examples for which FF with DFS uses a large number of&#xA;iterations?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As a variant, suppose that we have the additional property that the&#xA;different orderings of neighbors are consistent with some arbitrary&#xA;but fixed global ordering of the vertices.  Does that make a&#xA;difference?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This seems to me like a pretty basic question; I apologize in advance&#xA;if the answer is well-known but I am not an expert on flows and some&#xA;googling did not turn up anything.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit:&lt;/strong&gt;&#xA;The answer turns out to be yes, there are still examples.  See Figure 2 of &lt;a href=&quot;http://www.cs.clemson.edu/~bcdean/iterm.pdf&quot;&gt;this paper&lt;/a&gt;.  In these examples FF with DFS take an exponential (in the number of vertices) number of iterations.  It seems easy to prove that this is tight, i.e., that the number of iterations are always bounded by $2^{O(n)}$ (regardless of the values of the capacities).&lt;/p&gt;&#xA;" OwnerUserId="664" LastEditorUserId="1800" LastEditDate="2011-02-25T02:06:12.297" LastActivityDate="2011-02-25T02:06:12.297" Title="Maximum flow using Ford-Fulkerson and DFS" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;max-flow&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="7" ContentLicense="CC BY-SA 2.5" />
  <row Id="5109" PostTypeId="1" CreationDate="2011-02-24T01:54:19.997" Score="2" ViewCount="10308" Body="&lt;p&gt;Is it possible to convert a string to a unique number. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Similar to any hashing algorithm (MD5, SHA-1 and SHA-2), I want to compute a unique integer value for &lt;em&gt;an arbitrary length&lt;/em&gt; string, which should be collusion resistant, hard to invert, and easy to compute. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can you name the technique to compute it, so that I can dig into the theory of it.  &lt;/p&gt;&#xA;" OwnerUserId="3971" LastEditorUserId="873" LastEditDate="2011-02-24T04:44:51.910" LastActivityDate="2011-02-24T08:35:55.470" Title="How to compute Integer Hash of a string" Tags="&lt;cr.crypto-security&gt;&lt;hash-function&gt;" AnswerCount="2" CommentCount="5" FavoriteCount="1" ClosedDate="2011-02-24T08:32:26.373" ContentLicense="CC BY-SA 2.5" />
  <row Id="5110" PostTypeId="1" AcceptedAnswerId="5115" CreationDate="2011-02-24T02:02:06.477" Score="18" ViewCount="2022" Body="&lt;p&gt;I think that a size hierarchy theorem for circuit complexity can be a major breakthrough in the area.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is it an interesting approach to class separation?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The motivation for the question is that we have to say&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;there is some function that cannot be computed by size $f(n)$ circuits and can be computed by a size $g(n)$ circuit where $f(n)&amp;lt;o(g(n))$. (and possibly something regarding the depth)&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;so, if $f(m)g(n) \leq n^{O(1)}$, the property seem to be unnatural (it violates the largeness condition). Clearly we can't use diagonalization, because we aren't in a uniform setting. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a result in this direction?&lt;/p&gt;&#xA;" OwnerUserId="3847" LastEditorUserId="186" LastEditDate="2012-10-09T15:16:07.637" LastActivityDate="2013-08-12T22:19:09.117" Title="Hierarchy theorem for circuit size" Tags="&lt;cc.complexity-theory&gt;&lt;circuit-complexity&gt;&lt;lower-bounds&gt;&lt;natural-proofs&gt;&lt;hierarchy-theorems&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="10" ContentLicense="CC BY-SA 3.0" />
  <row Id="5111" PostTypeId="2" ParentId="5110" CreationDate="2011-02-24T02:59:57.807" Score="28" Body="&lt;p&gt;This result can be proved using a simple counting argument.  Consider a random&#xA;function applied to the first $k$ bits of the input.  This function almost certainly has circuit complexity $(1+o(1))(2^k/k)$ by Riordan and Shannon's counting argument, and matching upper bounds.  Thus, picking $k$ so that &#xA;$2g(n)  &amp;lt; 2^k/k &amp;lt; f(n)/2$ we can distinguish size $g(n)$ from size $f(n)$.  Note that&#xA;the functions in question won't necessarily even be computable, but we can put&#xA;them in the exponential time hierarchy by standard techniques (as long as we&#xA;can compute the right value of $k$).   We of course cannot prove any bound greater than $2^n/n$, because that is the worst-case&#xA;circuit complexity of any function.    &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Natural proofs do not apply for this type of argument, because the property&#xA;in question is ``not having a small circuit'', which is not easily computable&#xA;from the truth table of the function (presumably).  It is not clear how low in&#xA;complexity classes this type of counting can go.  Is there any reason why we&#xA;can't use a counting argument to prove lower bounds for $NE$?  Not that I know of.  &lt;/p&gt;&#xA;" OwnerUserId="332" LastActivityDate="2011-02-24T02:59:57.807" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="5112" PostTypeId="2" ParentId="5109" CreationDate="2011-02-24T03:52:58.820" Score="3" Body="&lt;p&gt;Some useful criteria for evaluating string hashing functions are discussed here:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.40.1573&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;nofollow&quot;&gt;Performance in Practice of String Hashing Functions&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=4808979&quot; rel=&quot;nofollow&quot;&gt;Choosing Best Hashing Strategies and Hash Functions&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://home.comcast.net/~bretm/hash/5.html&quot; rel=&quot;nofollow&quot;&gt;Evaluating Hash Functions&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Hash_function#Properties&quot; rel=&quot;nofollow&quot;&gt;Hash Function properties&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;There's an &lt;a href=&quot;http://www.strchr.com/hash_functions&quot; rel=&quot;nofollow&quot;&gt;empirical comparison of some popular string hashing functions here&lt;/a&gt; which looks at some of the criteria you mentioned. The appropriateness of various hashes would depend on the application and data characteristics. Uniformity and efficiency are usually the major concerns.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you know the input set in advance, you can generate a &lt;a href=&quot;http://en.wikipedia.org/wiki/Perfect_hash_function&quot; rel=&quot;nofollow&quot;&gt;perfect hash function&lt;/a&gt; that is collision-free. Something like &lt;a href=&quot;http://cmph.sourceforge.net/&quot; rel=&quot;nofollow&quot;&gt;CMPH&lt;/a&gt; or &lt;a href=&quot;http://www.gnu.org/software/gperf/&quot; rel=&quot;nofollow&quot;&gt;gperf&lt;/a&gt; can automatically generate a PHF for a set of strings.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If the input isn't known in advance, it still might be biased toward a particular distribution that makes one hash more favorable than other. Benchmarking can be useful.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For a cryptographically secure hash, you'd want something that has good &lt;a href=&quot;http://en.wikipedia.org/wiki/Avalanche_effect&quot; rel=&quot;nofollow&quot;&gt;avalanche effect&lt;/a&gt; characteristics.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.cse.yorku.ca/~oz/hash.html#djb2&quot; rel=&quot;nofollow&quot;&gt;Bernstein's hash&lt;/a&gt; is often used in string dictionary data structure implementations, but of course there are many to choose from. (Also &lt;a href=&quot;http://sites.google.com/site/murmurhash/&quot; rel=&quot;nofollow&quot;&gt;MurmurHash&lt;/a&gt;.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I misunderstood the question - this is for integers that are word-sized. For a secure crypto hash like SHA-2, see Kaveh's comments.&lt;/p&gt;&#xA;" OwnerUserId="3817" LastEditorUserId="3817" LastEditDate="2011-02-24T05:54:15.253" LastActivityDate="2011-02-24T05:54:15.253" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="5113" PostTypeId="2" ParentId="3409" CreationDate="2011-02-24T04:33:39.220" Score="5" Body="&lt;p&gt;You might try checking this page on data sets from the &quot;International network for social network analysis&quot;:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.insna.org/software/data.html&quot;&gt;http://www.insna.org/software/data.html&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you have access to either &quot;Networks, Crowds, and Markets&quot; (Easley and Kleinberg, 2010) or &quot;Social and Economic Networks&quot; (Jackson, 2008), they're both full of references to datasets in the literature.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit: You can find a pre-publication draft of Networks, Crowds, and Markets at:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.cs.cornell.edu/home/kleinber/networks-book/&quot;&gt;http://www.cs.cornell.edu/home/kleinber/networks-book/&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Chapter 2 contains a section called &quot;Network Datasets&quot; that might give you some ideas.&lt;/p&gt;&#xA;" OwnerUserId="3973" LastActivityDate="2011-02-24T04:33:39.220" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5114" PostTypeId="1" AcceptedAnswerId="5169" CreationDate="2011-02-24T05:39:00.840" Score="6" ViewCount="297" Body="&lt;p&gt;Is there a simple and cache-oblivious data structure that solves the dynamic predecessor problem for strings of length exactly $k$ over an alphabet $A$ in worst-case $O((k\log A)/B + \log n)$ memory transfers and $O(k\log A)$ letter comparisons, where $B$ is the block size?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By predecessor problem I mean the problem of maintaining a set under insertion, deletion, and predecessor, where predecessor(k) finds the largest key in the set that is $\leq k$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.cs.princeton.edu/~rs/strings/&quot; rel=&quot;nofollow&quot;&gt;Ternary search trees&lt;/a&gt; achieve the letter comparison bound and are very simple, but can require $\Theta(k\log A)$ memory transfers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://scholar.google.com/scholar?cluster=8403065314983295610&quot; rel=&quot;nofollow&quot;&gt;String B-trees&lt;/a&gt; do better than the I/O bound I'm looking for, but they are not simple, and the &lt;a href=&quot;http://www.cs.sunysb.edu/~bender/pub/PODS06-BFK.pdf&quot; rel=&quot;nofollow&quot;&gt;cache-oblivious ones&lt;/a&gt; are even more complex and do not achieve the I/O bound in the worst-case. (String B-trees might achieve the comparison bound I'm looking for; I'm not sure.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My intuition is that by fixing the size of the keys and relaxing the I/O bound, a simpler structure might be possible.&lt;/p&gt;&#xA;" OwnerUserId="43" LastEditorUserId="1800" LastEditDate="2011-06-16T05:49:35.817" LastActivityDate="2011-06-16T05:49:35.817" Title="Simple and cache-oblivious tries on fixed-length strings" Tags="&lt;ds.data-structures&gt;&lt;cache-oblivious&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="5115" PostTypeId="2" ParentId="5110" CreationDate="2011-02-24T07:59:35.753" Score="32" Body="&lt;p&gt;In fact it is possible to show that, for every $f$ sufficiently small (less than $2^n/n$), there are functions computable by circuits of size $f(n)$ but not by circuits of size $f(n)-O(1)$, or even $f(n)-1$, depending on the type of gates that you allow.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is a simple argument that shows that there are functions computable in size $f(n)$ but not size$ f(n)-O(n)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We know that:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;there is a function $g$ that requires circuit complexity at least $2^n/O(n)$, and, in particular, circuit complexity more than $f(n)$.&lt;/li&gt;&#xA;&lt;li&gt;the function $z$ such that $z(x)=0$ for every input $x$ is computable by a constant-size circuit.&lt;/li&gt;&#xA;&lt;li&gt;if two functions $g_1$ and $g_2$ differ only in one input, then their circuit complexity differs by at most $O(n)$&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Suppose that $g$ is nonzero on $N$ inputs. Call such inputs $x_1,\ldots,x_N$. We can consider, for each $i$, the function $g_i(x)$ which is the indicator function of the set $\{ x_1,\ldots,x_i \}$; thus $g_0=0$ and $g_N=g$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Clearly there is some $i$ such that $g_{i+1}$ has circuit complexity more than $f(n)$ and $g_i$ has circuit complexity less than $f(n)$. But then $g_{i}$ has circuit complexity less than $f(n)$ but more than $f(n) - O(n)$.&lt;/p&gt;&#xA;" OwnerUserId="1069" LastEditorUserId="4193" LastEditDate="2013-08-12T22:19:09.117" LastActivityDate="2013-08-12T22:19:09.117" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="5116" PostTypeId="2" ParentId="5109" CreationDate="2011-02-24T08:24:58.157" Score="-1" Body="&lt;p&gt;SHA-2 (&lt;a href=&quot;http://en.wikipedia.org/wiki/SHA-512&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/SHA-512&lt;/a&gt;) is collision resistant and the output (32 or 64 bytes) can be easily converted to a (big) integer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In Java you can easily do it with:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;BigInteger number = new BigInteger(1,messageDigest);&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;(Java has a whole integrated &lt;a href=&quot;http://download.oracle.com/javase/1.4.2/docs/guide/security/CryptoSpec.html&quot; rel=&quot;nofollow&quot;&gt;cryptography API&lt;/a&gt;)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A SHA-256 Java example:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;import java.security.MessageDigest;&#xA;public class SHAHashingExample {&#xA;public static void main(String[] args)throws Exception {&#xA;    String password = &quot;YOUR FAVOURITE STRING HERE&quot;; &#xA;    MessageDigest md = MessageDigest.getInstance(&quot;SHA-256&quot;);&#xA;    md.update(password.getBytes()); &#xA;    byte byteData[] = md.digest(); &#xA;    BigInteger number = new BigInteger(1,byteData);&#xA;    System.out.println(&quot;Your integer : &quot; + number.toString());&#xA;}&#xA;}&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2011-02-24T08:35:55.470" LastActivityDate="2011-02-24T08:35:55.470" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="5117" PostTypeId="1" CreationDate="2011-02-24T09:27:13.287" Score="12" ViewCount="2314" Body="&lt;p&gt;I'd like to write mathematical proofs using some proof assistant. Everything will be written using first order logic (with equality) and natural deduction. The background is set theory (ZF). For example, how could I write the following proof?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Axiom: $\forall x\forall y(x=y\leftrightarrow\forall z(z\in x\leftrightarrow z\in y))$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Theorem: $\forall x\forall y(\forall z(z\notin x)\land\forall z(z\notin y)\rightarrow x=y)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;That is, the empty set is unique.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's trivial for me to accomplish that using paper and a pen, but what I really need is a software to help me checking proof for correctness.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thank you.&lt;/p&gt;&#xA;" OwnerDisplayName="user3977" LastEditorUserId="186" LastEditDate="2011-05-26T05:51:27.583" LastActivityDate="2012-11-13T06:24:54.840" Title="Proof assistant for writing mathematics" Tags="&lt;lo.logic&gt;&lt;software&gt;&lt;proof-assistants&gt;" AnswerCount="6" CommentCount="13" FavoriteCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="5118" PostTypeId="2" ParentId="5117" CreationDate="2011-02-24T09:55:02.540" Score="8" Body="&lt;p&gt;There are many mathematics articles written using the proof assistant Mizar: &lt;a href=&quot;http://mizar.org/fm/&quot;&gt;http://mizar.org/fm/&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="236" LastActivityDate="2011-02-24T09:55:02.540" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="5119" PostTypeId="1" CreationDate="2011-02-24T11:45:30.840" Score="5" ViewCount="103" Body="&lt;p&gt;I am interested in the following flow problem, since it turns out to be equivalent to a more general problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;INPUT: A graph where each edge $e$ has an integer multiplier $q_e$, and a lower bound $b_v$ for each vertex $v$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;QUESTION: Is there a flow, such that the flow sent on each $e$ is a multiple of $q_e$ (in either direction), and such that the net flow in to each $v$ is greater than or equal to $b_v$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is this problem in P or NP-complete?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So far I have found it is in P if the $q$'s form a chain under division; but if to that we add upper and lower bounds to edges then it becomes NP-complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I posted a &lt;a href=&quot;https://mathoverflow.net/questions/56281/domination-in-nice-lattices&quot;&gt;reformulation using lattices&lt;/a&gt; on MO.&lt;/p&gt;&#xA;" OwnerUserId="771" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2011-02-24T11:54:24.750" Title="Quantized Unbounded Flow" Tags="&lt;ds.algorithms&gt;&lt;graph-algorithms&gt;&lt;integer-programming&gt;" AnswerCount="0" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="5120" PostTypeId="1" AcceptedAnswerId="5121" CreationDate="2011-02-24T11:49:09.013" Score="32" ViewCount="1989" Body="&lt;p&gt;It is impossible to write a programming language that allows all machines that halt on all inputs and no others. However, it seems to be easy to define such a programming language for any standard complexity class. In particular, we can define a language in which we can express all efficient computations and only efficient computations. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For instance, for something like $P$: take your favorite programming language, and after you write your program (corresponding to Turing Machine $M'$), add three values to the header: an integer $c$, and integer $k$, and a default output $d$. When the program is compiled, output a Turing machine $M$ that given input $x$ of size $n$ runs $M&amp;#39;$ on $x$ for $c n^k$ steps. If $M&amp;#39;$ does not halt before the $c n^k$ steps are up, output the default output $d$. Unless I am mistaken, this programming languages will allow us to express all computations in $P$ and nothing more. However, this proposed language is inherently non-interesting.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question: are there programming languages that capture subsets of computable functions (such as all efficiently computable function) in a non-trivial way? If there are not, is there a reason for this?&lt;/p&gt;&#xA;" OwnerUserId="1037" LastEditorUserId="1037" LastEditDate="2011-05-02T10:19:33.943" LastActivityDate="2016-03-22T16:18:36.423" Title="Programming languages for efficient computation" Tags="&lt;cc.complexity-theory&gt;&lt;computability&gt;&lt;pl.programming-languages&gt;" AnswerCount="5" CommentCount="7" FavoriteCount="14" ContentLicense="CC BY-SA 2.5" />
  <row Id="5121" PostTypeId="2" ParentId="5120" CreationDate="2011-02-24T12:03:23.483" Score="32" Body="&lt;p&gt;One language attempting to express only polynomial time computations is the &lt;a href=&quot;http://www-lipn.univ-paris13.fr/~baillot/Publications/MESPAPIERS/fossacs072.pdf&quot; rel=&quot;nofollow&quot;&gt;soft lambda calculus&lt;/a&gt;. It's type system is rooted in linear logic. A recent &lt;a href=&quot;http://edoc.ub.uni-muenchen.de/9910/1/Schimanski_Stefan.pdf&quot; rel=&quot;nofollow&quot;&gt;thesis&lt;/a&gt; addresses polynomial time calculi, and provides a good summary of recent developments based on this approach. Martin Hofmann has been working on the topic for quite some time. An older list of relevant papers can be found &lt;a href=&quot;http://www.dcs.ed.ac.uk/home/resbnd/&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;; Many of his &lt;a href=&quot;http://www.informatik.uni-trier.de/~ley/db/indices/a-tree/h/Hofmann:Martin.html&quot; rel=&quot;nofollow&quot;&gt;papers&lt;/a&gt;'s continue in this direction.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Other work takes the approach of verifying that the program uses a certain amount of resources, using &lt;a href=&quot;http://www.cs.st-andrews.ac.uk/~eb/drafts/icfp09.pdf&quot; rel=&quot;nofollow&quot;&gt;Dependent Types&lt;/a&gt; or &lt;a href=&quot;http://www.cs.cornell.edu/talc/papers/resource_bound/res.pdf&quot; rel=&quot;nofollow&quot;&gt;Typed Assembly Language&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Yet other approaches are based on &lt;a href=&quot;http://www.di.unito.it/~dezani/papers/asian03.pdf&quot; rel=&quot;nofollow&quot;&gt;resource bounded formal calculi&lt;/a&gt;, such as variants of the ambient calculus.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;These approaches have the property that well-typed programs satisfy some pre-specified resource bounds. The resource bound could be time or space, and generally can depend upon the size of the inputs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Early work in this area is on strongly normalising calculi, meaning that all well-typed programs halt. &lt;a href=&quot;http://en.wikipedia.org/wiki/System_F&quot; rel=&quot;nofollow&quot;&gt;System F&lt;/a&gt;, aka the polymorphic lambda calculus, is strongly normalising.  It has no fixed point operator, but is nonetheless quite expressive, though I don't think it is known what complexity class it corresponds to. By definition, any strongly normalising calculus expresses some class of terminating computations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The programming language &lt;a href=&quot;http://en.wikipedia.org/wiki/Charity_(programming_language)&quot; rel=&quot;nofollow&quot;&gt;Charity&lt;/a&gt; is a quite expressive functional language that halts on all inputs. I don't know what complexity class it can expression, but the Ackermann function can be written in Charity.&lt;/p&gt;&#xA;" OwnerUserId="77" LastEditorUserId="6579" LastEditDate="2016-03-22T16:18:36.423" LastActivityDate="2016-03-22T16:18:36.423" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="5123" PostTypeId="2" ParentId="5120" CreationDate="2011-02-24T14:20:28.970" Score="10" Body="&lt;p&gt;Have a look at Guillaume Bonfante paper who proposed two characterizations for Logspace and polynomial time using programming languages.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://books.google.com/books?id=QbI4EVGTox8C&amp;amp;pg=PA66&amp;amp;dq=Some+programming+languages+Bonfante&amp;amp;hl=en&amp;amp;ei=52hmTcG1MczcsgaCxa3aDA&amp;amp;sa=X&amp;amp;oi=book_result&amp;amp;ct=result&amp;amp;resnum=1&amp;amp;ved=0CCwQ6AEwAA&amp;amp;safe=active#v=onepage&amp;amp;q=Some%20programming%20languages%20Bonfante&amp;amp;f=false&quot;&gt;Guillaume Bonfante, Some programming languages for Logspace and&#xA;Ptime , AMAST 2006, LNCS 4019, pp. 66-80, 2006&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="495" LastActivityDate="2011-02-24T14:20:28.970" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5124" PostTypeId="2" ParentId="5082" CreationDate="2011-02-24T14:28:43.430" Score="8" Body="&lt;p&gt;&lt;strong&gt;Edit&lt;/strong&gt;: the original problem is $n^{1-\epsilon}$-hard to approximate when $k=1$ where $n$ denotes the number of sets.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The &lt;em&gt;dual&lt;/em&gt; of a hypergraph is obtained by exchanging vertices with edges, and preserving incidences. It is easier to understand the problem when we note that a hypergraph has VC-dimension 1 iff its dual is cross-free (for all $P, Q$ in $A$, at least one of $P \cap Q, P \backslash Q, Q \backslash P, (P \cup Q)^c$ is empty).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By duality the original problem (for $k=1$) is equivalent to, given a hypergraph $(V, \mathcal{S})$, find a max-size $U \subseteq V$ with $(U, \{S \cap U \mid S \in \mathcal{S}\})$ cross-free.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In fact, this (dual) problem is very hard even when all sets in $\mathcal{S}$ have size 2: then it is a graph and we are looking for a max-size vertex size whose induced subgraph which does &lt;em&gt;not&lt;/em&gt; contain any two-edge path (it's not hard to see this is the only way a crossing pair can arise, assuming the graph has at least 4 vertices). But this property is &lt;em&gt;hereditary&lt;/em&gt; and &lt;em&gt;nontrivial&lt;/em&gt; and thus we can use a &lt;a href=&quot;http://research.microsoft.com/en-us/um/redmond/groups/theory/feige/homepagefiles/hereditary.pdf&quot; rel=&quot;noreferrer&quot;&gt;result of Feige and Kogan&lt;/a&gt; to show hardness.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Original reply&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The dual problem for $k=1$ (find a maximum-size $S$ such that the dual VC-dimension of $S$ is at most 1) is hard to approximate within $n^{1-\epsilon}$ (in a family with $\Theta(n)$ sets).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The reason for this is that the dual VC-dimension of a family $A$ is 1 iff the following holds: for all $P, Q$ in $A$, at least one of $P \cap Q, P \backslash Q, Q \backslash P, (P \cup Q)^c$ is empty. (I.e. VC-dim=1 is the dual of what is often called crossing-freeness.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We reduce from independent set to computing the maximum-size cross-free subfamily. Given a graph $G=(V, E)$ construct a hypergraph $H=(X, S)$ where $X = V \uplus E \uplus \{0\}$ for some dummy element $0$. For each vertex $v$ of $G$, we add the following set $T_v$ to $S$: $$\{v\} \cup \{e \mid e \textrm{ is an edge incident to }v\}.$$ &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's not hard to show a family $\{T_v\}_{v \in U}$ is crossing-free iff $U$ is independent in $G$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But for the original (primal) problem, it seems some more thought is required... looks interesting!&lt;/p&gt;&#xA;" OwnerUserId="771" LastEditorUserId="771" LastEditDate="2011-02-28T13:13:04.323" LastActivityDate="2011-02-28T13:13:04.323" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5125" PostTypeId="1" AcceptedAnswerId="5128" CreationDate="2011-02-24T15:53:36.200" Score="4" ViewCount="2446" Body="&lt;p&gt;Given regular expressions containing &lt;em&gt;only&lt;/em&gt; &lt;code&gt;(,),|,*&lt;/code&gt; and characters of an Alphabet A, how can I find the &quot;negation&quot; of a regular expression i.e.:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;&amp;lt;R1&amp;gt; is a regular expression&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;&amp;lt;R2&amp;gt; = A*\&amp;lt;R1&amp;gt;&lt;/code&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;where &lt;code&gt;A*&lt;/code&gt; are all the words you can produce with A and &lt;code&gt;&amp;lt;Ri&amp;gt;&lt;/code&gt; the words accepted by the regular expression &lt;code&gt;Ri&lt;/code&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given R1, how can I find R2? Is there any algorithm to do that?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thank you!&lt;/p&gt;&#xA;" OwnerUserId="3771" LastEditorUserId="3771" LastEditDate="2011-02-24T16:05:14.680" LastActivityDate="2011-02-24T19:25:37.363" Title="Regular expressions: Finding &quot;negation&quot; of regular expression?" Tags="&lt;fl.formal-languages&gt;&lt;regular-expressions&gt;" AnswerCount="1" CommentCount="6" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="5127" PostTypeId="2" ParentId="5108" CreationDate="2011-02-24T18:25:38.157" Score="13" Body="&lt;p&gt;If adjacency lists are fixed in advance then DFS always terminates (even if there are irrational capacities).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See &lt;a href=&quot;http://www.cs.clemson.edu/~bcdean/paper15.html&quot;&gt;Dean, Goemans, Immorlica -- Finite Termination of &quot;Augmenting Path&quot; Algorithms in the Presence of Irrational Problem Data&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="141" LastActivityDate="2011-02-24T18:25:38.157" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="5128" PostTypeId="2" ParentId="5125" CreationDate="2011-02-24T19:25:37.363" Score="12" Body="&lt;p&gt;As another answer already states, the standard approach is: converting to a DFA, complementing, and converting back to a regular expression takes two exponential steps in the worst case (one for obtaining the equivalent DFA, and one for converting its complement to a regular expression). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is essentially optimal in the worst case: There are examples of regular expressions of length $n$ such that the shortest regular expression describing complement provably has length at least $2^{2^{c \cdot n}}$, where $c$ is some fixed constant; Such examples are known already for alphabets of size $2$. (Gelade &amp;amp; Neven 2008, and Gruber &amp;amp; Holzer 2008).  &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Wouter Gelade, Frank Neven: &lt;a href=&quot;http://drops.dagstuhl.de/opus/volltexte/2008/1354/pdf/22011.GeladeWouter.Paper.1354.pdf&quot;&gt;Succinctness of the Complement and Intersection of Regular Expressions&lt;/a&gt;. STACS 2008: 325-336&lt;/li&gt;&#xA;&lt;li&gt;Hermann Gruber, Markus Holzer: &lt;a href=&quot;http://www.hermann-gruber.com/data/icalp08.pdf&quot;&gt;Finite Automata, Digraph Connectivity, and Regular Expression Size.&lt;/a&gt; ICALP (2) 2008: 39-50&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="2367" LastActivityDate="2011-02-24T19:25:37.363" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="5129" PostTypeId="2" ParentId="5018" CreationDate="2011-02-24T19:48:14.700" Score="22" Body="&lt;p&gt;In his monograph on graph theory, Reinhard Diestel traces the concept of treewidth and tree decompositions back to a &lt;strong&gt;1976 paper by Halin&lt;/strong&gt; (albeit not using these names). He also attributes to this paper the result that planar grid graphs have unbounded treewidth. Of course, he also mentions the later paper by Robertson and Seymour, who &quot;rediscovered the concept, obviously unaware of Halin's work&quot; (sorry if my translation is poor).&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Rudolf Halin. $S$-functions for graphs, &lt;em&gt;J. Geometry&lt;/em&gt; 8 (1976):171&amp;ndash;186&lt;/li&gt;&#xA;&lt;li&gt;Reinhard Diestel. &lt;em&gt;Graphentheorie&lt;/em&gt;, 3rd German edition, Notizen zu Kapitel 10. (Some English edition of the book is available online for free download.)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="2367" LastActivityDate="2011-02-24T19:48:14.700" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="5130" PostTypeId="2" ParentId="5080" CreationDate="2011-02-24T20:07:19.183" Score="7" Body="&lt;p&gt;Perhaps I'm missing the motivation for your question but there are many examples of empirical results motivating research, algorithms and other results.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/MP3&quot;&gt;MP3&lt;/a&gt; use &lt;a href=&quot;http://en.wikipedia.org/wiki/Psychoacoustics&quot;&gt;psychoacoustic&lt;/a&gt; to optimize the algorithm for human encoding.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://groups.google.com/group/sci.math.symbolic/browse_thread/thread/6b79152956098607/28159974a1fe298e?pli=1&quot;&gt;Plouffe&lt;/a&gt; gives an account of discovering the &lt;a href=&quot;http://en.wikipedia.org/wiki/Bailey%E2%80%93Borwein%E2%80%93Plouffe_formula&quot;&gt;BBP spigot algorithm for the digits of $\pi$&lt;/a&gt; where he recounts the use of whatever &lt;a href=&quot;http://en.wikipedia.org/wiki/Integer_relation_algorithm&quot;&gt;Integer Relation Algorithm&lt;/a&gt; Mathematica was using to discover the formula.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Along the same line, Bailey and Borwein are big proponents of experimental mathematics.  See &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/1568813430&quot;&gt;&quot;The Computer as Crucible: An Introduction to Experimental Mathematics&quot;&lt;/a&gt;, &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/1441930000&quot;&gt;&quot;Computational Excursions in Number Theory&quot;&lt;/a&gt; amongst &lt;a href=&quot;http://www.amazon.com/s/ref=ntt_athr_dp_sr_1?_encoding=UTF8&amp;amp;sort=relevancerank&amp;amp;search-alias=books&amp;amp;field-author=Jonathan%20Borwein#/ref=sr_pg_1?rh=n%3A283155%2Cp_27%3AJonathan+Borwein&amp;amp;sort=relevancerank&amp;amp;ie=UTF8&amp;amp;qid=1298576327&quot;&gt;others&lt;/a&gt;.  One might argue that this is more experimental &lt;em&gt;Mathematics&lt;/em&gt; but I would argue that at this level the discussion the distinction is semantic.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Phase transitions of NP-Complete problems are another area where empirical results are heavily used.  See &lt;a href=&quot;http://www.math.ucla.edu/~percus/Teaching/RIPS/nature.pdf&quot;&gt;Monasson, Zecchina, Kirkpatrick, Selman and Troyansky&lt;/a&gt; and &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.24.2866&amp;amp;rep=rep1&amp;amp;type=pdf&quot;&gt;Gent and Walsh&lt;/a&gt;  for starters, though there are many, many more (see &lt;a href=&quot;http://www.tud.ttu.ee/material/enn/GraphTheory/0602129v1.pdf&quot;&gt;here&lt;/a&gt; for a brief survey).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Though not quite on the level of Theoretical Computer Science or Mathematics, there is a discussion &lt;a href=&quot;http://ridiculousfish.com/blog/archives/2006/05/30/old-age-and-treachery/#fish_made_a_mess&quot;&gt;here&lt;/a&gt; about how the unix utility grep's average case runtime beats optimized worst case algorithms because it relies on the fact that it's searching human readable text (grep does as bad or worst on files with random characters in them).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Even Gauss used &lt;a href=&quot;http://en.wikipedia.org/wiki/Prime_number_theorem#History_of_the_asymptotic_law_of_distribution_of_prime_numbers_and_its_proof&quot;&gt;experimental evidence&lt;/a&gt; to give his hypothesis of the Prime Number Theorem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Data mining (&lt;a href=&quot;http://www.netflixprize.com/assets/ProgressPrize2008_BellKor.pdf&quot;&gt;Bellkor's solution&lt;/a&gt; to the &lt;a href=&quot;http://en.wikipedia.org/wiki/Netflix_Prize&quot;&gt;Netflix Prize&lt;/a&gt; to make a better recommendation system) might be argued to be a theory completely based on empirical evidence.  Artificial Intelligence (genetic algorithms, neural networks, etc.) relies heavily on experimentation.  Cryptography is in a constant push and pull between code makers and code breakers.  I've really only named a few and if you relax your definition of empirical, then you could cast an even wider net.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My apologies for being so scattered in answering your question but I hope I've given at least a few examples that are helpful.&lt;/p&gt;&#xA;" OwnerUserId="834" LastActivityDate="2011-02-24T20:07:19.183" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5131" PostTypeId="2" ParentId="4800" CreationDate="2011-02-24T20:24:46.083" Score="9" Body="&lt;p&gt;As suggested by Peter, I converted my comment to an answer:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;M. Ajtai's paper &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.30.3023&amp;amp;rep=rep1&amp;amp;type=pdf&quot;&gt;&quot;The Shortest Vector Problem in $L_2$ is $NP$-hard for Randomized Reductions.&quot;&lt;/a&gt; discusses complexity results of finding shortest vectors for lattice reduction using randomized reduction steps.&lt;/p&gt;&#xA;" OwnerUserId="834" LastActivityDate="2011-02-24T20:24:46.083" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5132" PostTypeId="1" CreationDate="2011-02-24T20:47:02.910" Score="17" ViewCount="407" Body="&lt;p&gt;As is well known PARITY cannot be done in poly-sized constant-depth circuits, and in&#xA;fact const-dept circuits require EXP number of gates.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What about QUANTUM circuits?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;a) Can PARITY be done with a quantum circuit that has constant depth and poly number of gates?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;b) Does my question even make sense?&lt;/p&gt;&#xA;" OwnerUserId="7839" LastEditorUserId="1800" LastEditDate="2011-02-25T02:04:47.693" LastActivityDate="2011-08-30T02:50:39.983" Title="Is PARITY in QAC_0 (if that even makes sense)" Tags="&lt;cc.complexity-theory&gt;&lt;quantum-computing&gt;&lt;circuit-complexity&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="5133" PostTypeId="2" ParentId="5132" CreationDate="2011-02-24T21:20:25.150" Score="20" Body="&lt;p&gt;The question makes sense, and the short answer is that it's an open problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here's the long answer: Depending on how you define constant-depth unbounded-fanin quantum circuits, you might get different classes. QAC&lt;sup&gt;0&lt;/sup&gt; is usually defined to have unbounded fanin Toffoli gates and single-qubit gates. QAC&lt;sup&gt;0&lt;/sup&gt;&lt;sub&gt;wf&lt;/sub&gt; is the class where we also allow a &quot;fanout&quot; gate, which copies an input bit to many outputs. (It implements |a&gt;|0&gt;...|0&gt; --&gt; |a&gt;|a&gt;...|a&gt;) This class is really powerful since it contains, besides PARITY and AC&lt;sup&gt;0&lt;/sup&gt;, also ACC&lt;sup&gt;0&lt;/sup&gt; and TC&lt;sup&gt;0&lt;/sup&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;So the obvious question to ask is whether PARITY is contained in QAC&lt;sup&gt;0&lt;/sup&gt;, and this is an open problem. It is equivalent to asking whether QAC&lt;sup&gt;0&lt;/sup&gt; = QAC&lt;sup&gt;0&lt;/sup&gt;&lt;sub&gt;wf&lt;/sub&gt;. I guess that the belief is that PARITY is not in QAC&lt;sup&gt;0&lt;/sup&gt;. Further information can be found in the survey &lt;a href=&quot;http://dx.doi.org/10.1145/1272729.1272739&quot; rel=&quot;noreferrer&quot;&gt;Small depth quantum circuits&lt;/a&gt; by Bera, Green and Homer.&lt;/p&gt;&#xA;" OwnerUserId="206" LastActivityDate="2011-02-24T21:20:25.150" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="5134" PostTypeId="2" ParentId="5099" CreationDate="2011-02-24T23:39:41.083" Score="9" Body="&lt;p&gt;I think that the &lt;a href=&quot;http://en.wikipedia.org/wiki/Friendship_theorem#Friendship_theorem&quot;&gt;friendship theorem&lt;/a&gt; (see also &lt;a href=&quot;http://www.jstor.org/stable/2695332&quot;&gt;Huneke's paper&lt;/a&gt;) is a good example even though strictly speaking there now exist proofs of the friendship theorem that avoid eigenvalues.  The proofs that avoid eigenvalues entirely are a lot messier than the spectral proof.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(The friendship theorem states that if in a room of people, every pair of people has exactly one common friend, then there is someone who knows everyone else.)&lt;/p&gt;&#xA;" OwnerUserId="2970" LastActivityDate="2011-02-24T23:39:41.083" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5135" PostTypeId="2" ParentId="5099" CreationDate="2011-02-25T00:26:06.710" Score="9" Body="&lt;p&gt;How about this result on quantum computing.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.computer.org/portal/web/csdl/abs/proceedings/focs/2004/2228/00/22280032abs.htm&quot;&gt;Mario Szegedy. Quantum Speed-Up of Markov Chain Based Algorithms. In FOCS'04.&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;He extends Markov chains to quantum Markov chains, and shows that the quantum hitting time is upper bounded by the square root of the classical hitting time. He does this by relating the singular vectors of the classical Markov chain to the singular vectors of the quantum Markov chain. Before this paper, there wasn't any known relation between random and quantum walks. I cannot imagine how to do the same using non-spectral techniques.&lt;/p&gt;&#xA;" OwnerUserId="135" LastEditorUserId="135" LastEditDate="2011-02-25T01:55:22.057" LastActivityDate="2011-02-25T01:55:22.057" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5136" PostTypeId="1" AcceptedAnswerId="5152" CreationDate="2011-02-25T00:37:39.327" Score="2" ViewCount="830" Body="&lt;p&gt;The obvious way to attack a MAC is to try every key; therefore, if we use an n-bit key we need $2^n$ steps to break it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But we can also try every tag in order to find the correct one, and in some concrete scenarios (e.g. CBC-MAC with AES-256) the tag is smaller than the key.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does this mean that a MAC with n-bit keys and t-bit tags will offer $\min(n,t)$ bits of security, or is there something wrong with this reasoning?&lt;/p&gt;&#xA;" OwnerUserId="3986" LastEditorUserId="873" LastEditDate="2011-02-25T20:16:42.793" LastActivityDate="2011-02-26T03:25:04.260" Title="Security of message authentication codes and tag size" Tags="&lt;cr.crypto-security&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="5137" PostTypeId="1" CreationDate="2011-02-25T01:08:47.410" Score="0" ViewCount="315" Body="&lt;p&gt;I have a quick question that I'm stumped on. This is about constructing a decision tree using information gain (entropy). Let's say we have a dataset with two input attributes such that the information gain at the root of the tree for both attributes is zero, but this tree is still a decision tree of depth two (so two questions must be asked) that is consistent with the data. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;How would this be constructed? I don't understand how I can get to a deeper depth without knowing have any information gain...&lt;/p&gt;&#xA;" OwnerDisplayName="user3988" LastEditorUserId="123" LastEditDate="2011-02-25T21:06:24.533" LastActivityDate="2011-02-26T03:56:14.357" Title="Learning using  decision trees" Tags="&lt;lg.learning&gt;&lt;decision-trees&gt;" AnswerCount="2" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5138" PostTypeId="2" ParentId="5096" CreationDate="2011-02-25T03:39:15.293" Score="8" Body="&lt;p&gt;RSA is one of the most important encryption/signature schemes which breaks if FACTORING is in P. However, there are many more. Several (but not all) of them are based on the assumption that &lt;a href=&quot;http://en.wikipedia.org/wiki/Quadratic_residuosity_problem&quot; rel=&quot;nofollow&quot;&gt;distinguishing squares and non-squares modulo a composite number is hard&lt;/a&gt;:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Rabin_signature_algorithm&quot; rel=&quot;nofollow&quot;&gt;Rabin's signature scheme&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Oblivious_transfer&quot; rel=&quot;nofollow&quot;&gt;Rabin's oblivious transfer&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Goldwasser-Micali_cryptosystem&quot; rel=&quot;nofollow&quot;&gt;Goldwasser–Micali semantically-secure cryptosystem&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Blum_Blum_Shub&quot; rel=&quot;nofollow&quot;&gt;Blum-Blum-Shub pseudorandom generator&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Feige-Fiat-Shamir_Identification_Scheme&quot; rel=&quot;nofollow&quot;&gt;Feige-Fiat-Shamir identification scheme&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;And many other schemes. However, note that schemes based on the hardness of discrete log (say, the &lt;a href=&quot;http://en.wikipedia.org/wiki/Diffie-Hellman_key_exchange&quot; rel=&quot;nofollow&quot;&gt;Diffie-Helmann protocol&lt;/a&gt; or &lt;a href=&quot;http://en.wikipedia.org/wiki/ElGamal_encryption&quot; rel=&quot;nofollow&quot;&gt;Elgamal encryption/signature scheme&lt;/a&gt;) will continue to be secure.&lt;/p&gt;&#xA;" OwnerUserId="873" LastEditorUserId="873" LastEditDate="2015-11-12T12:36:12.600" LastActivityDate="2015-11-12T12:36:12.600" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="5140" PostTypeId="2" ParentId="5117" CreationDate="2011-02-25T07:29:39.563" Score="9" Body="&lt;p&gt;&lt;strong&gt;Moved from comment at Kaveh's suggestion&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First you need to select a proof assistant. &lt;a href=&quot;http://arxiv.org/abs/cs/0603118&quot;&gt;Coq&lt;/a&gt; is what I use, but there are many &lt;a href=&quot;http://en.wikipedia.org/wiki/Interactive_theorem_proving&quot;&gt;others&lt;/a&gt;.  Coq is based on higher-order logic (the so-called Calculus of Inductive Constructions). Other proof assistants are based on first order logic, so may be more suited to your needs (modulo the comments above). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then you need to commit to learning the proof assistant. The linked document is a tutorial for getting of the ground with Coq. Becoming a Coq expert requires years of dedication and practice, but simple theorems can be proven in an afternoon. The key to learning Coq or any other proof assistant is to do proofs, such as the ones in the linked paper. Just reading the paper will help very little, because the whole experience of interacting with the proof assistant  cannot be conveyed well on paper.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Within a few days you ought to be able to encode simple theorems, such as the one above, and prove them. Don't expect that we will do this for you. You'll learn nothing that way. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;When you do succeed in proving these theorems, feel free to post your answers here and maybe leave a few comments about your experiences.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are you up for the challenge?&lt;/p&gt;&#xA;" OwnerUserId="77" LastActivityDate="2011-02-25T07:29:39.563" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="5142" PostTypeId="2" ParentId="5087" CreationDate="2011-02-25T13:06:37.867" Score="7" Body="&lt;p&gt;This is a slightly improved version of my two comments on the question combined.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let’s restrict our attention to distributional problems in &lt;a href=&quot;http://qwiki.stanford.edu/index.php/Complexity_Zoo%3aD#distnp&quot;&gt;DistNP&lt;/a&gt; (aka (NP, P-computable)) for simplicity.  Then you are looking for a problem in DistNP ∖ Average-P/poly.  Tautologically, such a problem exists if and only if DistNP ⊈ Average-P/poly.  And if DistNP ⊈ Average-P/poly, then every DistNP-complete problem lies outside Average-P/poly because Average-P/poly is closed under average-case reductions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Considering a larger class SampNP (aka &lt;a href=&quot;http://qwiki.stanford.edu/index.php/Complexity_Zoo%3aN#nppsamp&quot;&gt;(NP, P-samplable)&lt;/a&gt;) instead of DistNP does not change the situation much because DistNP ⊆ Average-P/poly if and only if SampNP ⊆ Average-P/poly.  This equivalence is a direct corollary of the result by Impagliazzo and Levin [IL90] that every distributional problem in SampNP is average-case reducible to some distributional problem in DistNP.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I do not know which natural assumption implies DistNP ⊈ Average-P/poly.  The assumption that the polynomial hierarchy does not collapse is not known to imply even a weaker consequence that DistNP ⊈ Average-P, according to Section 18.4 of Arora and Barak [AB09]: “[…] even though we know that if P=NP, then the polynomial hierarchy PH collapses to P […], we don’t have an analogous result for average case complexity.”&lt;/p&gt;&#xA;&#xA;&lt;h3&gt;References&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;[AB09] Sanjeev Arora and Boaz Barak.  &lt;em&gt;Computational Complexity: A Modern Approach&lt;/em&gt;, Cambridge University Press, 2009.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[IL90] Russell Impagliazzo and Leonid A. Levin.  No better ways to generate hard NP instances than picking uniformly at random.  In &lt;em&gt;the 31st Annual Symposium on Foundations of Computer Science&lt;/em&gt;, 812–821, Oct. 1990.  &lt;a href=&quot;http://dx.doi.org/10.1109/FSCS.1990.89604&quot;&gt;http://dx.doi.org/10.1109/FSCS.1990.89604&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="567" LastActivityDate="2011-02-25T13:06:37.867" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5143" PostTypeId="1" AcceptedAnswerId="5144" CreationDate="2011-02-25T13:34:36.560" Score="7" ViewCount="331" Body="&lt;p&gt;Are there boolean functions with exponential size OBDD representation in all orders except one order?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;...exponential size in all orders except very few orders?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The exceptional orders should be polysize.&lt;/p&gt;&#xA;" OwnerUserId="2777" LastEditorUserId="186" LastEditDate="2011-02-27T11:58:22.983" LastActivityDate="2011-05-24T19:56:40.780" Title="Boolean functions with exponential size OBDD representation in all orders except one order?" Tags="&lt;cc.complexity-theory&gt;&lt;boolean-functions&gt;&lt;binary-decision-diagrams&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="5144" PostTypeId="2" ParentId="5143" CreationDate="2011-02-25T14:10:40.287" Score="15" Body="&lt;p&gt;If there is an variable ordering $\pi$ such that the OBDD size for $f$ with this ordering is $O(poly(n))$, then a lot of OBDDs with a similar variable ordering has a size of $O(poly(n))$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To see this you can swap neighboring variables in $\pi$, i.e. for $\pi = (x_{\pi(1)}, \ldots, x_{\pi(n)})$ you construct $\pi&amp;#39; = (x_{\pi(1)}, \ldots, x_{\pi(i)}, x_{\pi(i-1)}, x_{\pi(i+1)}, \ldots, x_{pi(n)})$ for some $i$. The OBDD size for $f$ with variable ordering $\pi&amp;#39;$ is also polynomial because you can store the value of $x_{\pi(i)}$ by doubling the $x_{\pi(i)}$ nodes in the $\pi$-OBDD for $f$. Then you have the information of $x_{\pi(i)}$ and $x_{\pi(i-1)}$ at this nodes and you can use the $\pi$-OBDD to go on.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;That means if you swap $O(\log n)$ variables you also have a polynomial size OBDD.&lt;/p&gt;&#xA;" OwnerUserId="2517" LastActivityDate="2011-02-25T14:10:40.287" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="5145" PostTypeId="2" ParentId="5137" CreationDate="2011-02-25T14:11:59.897" Score="5" Body="&lt;p&gt;Without looking at specifics, growing a tree using information gain is a greedy procedure and won't always get you to the smallest tree consistent with the data, even if one exists.  If there are ties among attributes, you break them arbitrarily.&lt;/p&gt;&#xA;" OwnerUserId="123" LastEditorUserId="123" LastEditDate="2011-02-25T17:55:56.533" LastActivityDate="2011-02-25T17:55:56.533" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5146" PostTypeId="2" ParentId="5137" CreationDate="2011-02-25T14:43:58.770" Score="0" Body="&lt;p&gt;I will use the following formula for information gain:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$G(S,A)=E(S)-\sum_{u\epsilon Values(A)}\frac{|S_{u}|}{|S|}E(S_{u})$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$A$ is a candidate for the separation attribute, that can take values from the set $Values(A)$ , $S_{u}$ is the dataset entries such that $A=u$ and $E(X)$ is the information entropy , where $X$ is a (data)set.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $E(S)$, the dataset entropy is zero, the information gain for all attributes will also be zero. However, this means that no decision process is required for this dataset, so we'll consider it a trivial case.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we demand $E(S)$ to be nonzero, we have that : &#xA;$|S| E(S) = \sum_{u\epsilon Values(A)} |S_{U}| E(S_{u})$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This equality tells us that if we separate the dataset with the attribute A, the entropy will be the same (therefore the information gain is 0). If this is true for all attribute, you should follow the algorithm when the information gains of 2 or more attributes are equal and choose one arbitrarily. It is possible that in the next step the information gain of an attribute will be non-zero, for example:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assume that we have a dataset of 1000 people on whether or not they like going to the movies. We have recorded each person's age as young or old and its gender as either male or female. 800 people like going to the movies while 200 don't. Therefore, the initial entropy is $E(S) = 0.72$. If 80% of males and 80% of females do so, there is no information gain. Likewise for young and old people. We arbitrarily choose gender as the separating attribute. Now assume that for some reason, young males are more fond of going to the movies than older males, while the trend is reverse for females. In each respected subset of the original dataset, we will be able to use age to have non-zero information gain and thus give some meaning into continuing building the decision tree.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This applies for &quot;vanilla&quot; decision-tree building. The use of any number of attributes for separation could locate the pattern in the example in just one step. There is a variety of techniques for how you should separate the dataset, that have spanned from problems like this.&lt;/p&gt;&#xA;" OwnerUserId="879" LastEditorUserId="879" LastEditDate="2011-02-26T03:56:14.357" LastActivityDate="2011-02-26T03:56:14.357" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5148" PostTypeId="1" CreationDate="2011-02-25T21:31:44.883" Score="7" ViewCount="158" Body="&lt;p&gt;I want to know if there are any references in the literature on  multi-armed bandit problem where in one round, you can select $k &amp;gt; 1$ arms. &lt;/p&gt;&#xA;" OwnerDisplayName="user4001" LastEditorUserId="80" LastEditDate="2011-02-25T22:04:29.280" LastActivityDate="2011-02-25T22:04:29.280" Title="Multi-armed bandit problems where more than one arm can be selected?" Tags="&lt;reference-request&gt;&lt;lg.learning&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="5149" PostTypeId="2" ParentId="5148" CreationDate="2011-02-25T21:44:15.173" Score="11" Body="&lt;p&gt;Yes - Satyen Kale, Rob Schapire, and I have a recent &lt;a href=&quot;http://www.cc.gatech.edu/~lreyzin/papers/KaleRS10.pdf&quot; rel=&quot;nofollow&quot;&gt;paper&lt;/a&gt; (NIPS '10) on this very problem, where we consider choosing &quot;slates&quot; of arms instead of individual arms.  We consider the cases when position matters in the slate and when it doesn't.  We also analyze both the experts MAB &quot;contextual&quot; model and the expertless setting.&lt;/p&gt;&#xA;" OwnerUserId="123" LastEditorUserId="123" LastEditDate="2011-02-25T21:50:54.773" LastActivityDate="2011-02-25T21:50:54.773" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="5151" PostTypeId="1" AcceptedAnswerId="5153" CreationDate="2011-02-26T02:33:01.557" Score="1" ViewCount="194" Body="&lt;p&gt;Consider the following online problem:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;For $\sigma$ and $k$ fixed, given a string of symbols from alphabet&#xA;  $[1..\sigma]$, given one by one, guess a set $S$ of $k$ symbols such that the&#xA;  next symbol belongs in $S$, in space independent of the length of the past &#xA;  string.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;This problem is similar to online cache management in the sense that failing the guess is a miss, while guessing correctly is a catch. It is much more general than cache management in the sense that symbols can be added to (the cache) $S$ without having generated a miss, just based on correlations previously learned (e.g. $b$ always follows $a$). It presents the same problem of analysis (competitive analysis and the like) than other online problems in the sense that the worst case is intractable while some good performance can be expected on practical instances.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It could have application to caching with pre-fetching. I thought of it while thinking about the dream specs of a diary application on a smart phone (i.e. reduced screen and costly typing), which given the past submissions of the user (went to bed, woke up, ate eggs, took the bus, etc...) must suggest on the screen $k$ activities to be logged next, a menu for others and a field to enter a new one (using the menu is a miss, writing a new one is unavoidable for any solution).  In this case one should consider the space taken by the algorithm: remembering the whole section of previous queries is not an option, only a finite, lossy (ditching outliers) summary of it. One could give additional information to the guesser such as the time of the day, but I do not know how to fit it nicely in the theoretical model.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Was such a problem or a variant already studied? &lt;strong&gt;Under which name&lt;/strong&gt;? Using which model (Dorrigiv and Lopez-Ortiz &quot;cooperative&quot; analysis comes to mind)?&lt;/p&gt;&#xA;" OwnerUserId="191" LastEditorUserId="80" LastEditDate="2011-02-26T04:46:59.627" LastActivityDate="2011-02-26T04:46:59.627" Title="Has this online problem been studied before ? " Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;lg.learning&gt;&lt;terminology&gt;&lt;online-algorithms&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="5152" PostTypeId="2" ParentId="5136" CreationDate="2011-02-26T03:25:04.260" Score="2" Body="&lt;p&gt;Theoretically, that is correct. Given your approach, the attacker needs to try $2^t/2$ tags on average, while to find the key, he needs to try $2^n/2$ keys on average. In CBC-MAC with AES-256, we have $t=128$. Therefore, the adversary needs to try about $2^{128}/2=2^{127}$ tags to find the correct one. While in this case the brute force needs much less effort than trying to break the key itself (which amounts to $2^{255}$ trial-and-errors), it is still far beyond the  current computing power of supercomputers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is worth noting that, we usually take any scheme whose &lt;strong&gt;best attack&lt;/strong&gt; needs at least $2^{80}$ operations as &lt;strong&gt;secure&lt;/strong&gt;. (I read this somewhere, but forgot the reference. Sorry!)&lt;/p&gt;&#xA;" OwnerUserId="873" LastActivityDate="2011-02-26T03:25:04.260" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="5153" PostTypeId="2" ParentId="5151" CreationDate="2011-02-26T04:46:02.437" Score="3" Body="&lt;p&gt;While I'm still not entirely sure what you're looking for, you might try reading Avrim Blum's talk on &lt;a href=&quot;http://www.cs.cmu.edu/~avrim/Talks/lipari00.ps&quot; rel=&quot;nofollow&quot;&gt;Online Learning and Prediction&lt;/a&gt;, and that might help you focus on areas of interest. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2011-02-26T04:46:02.437" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5154" PostTypeId="1" AcceptedAnswerId="34222" CreationDate="2011-02-26T04:52:57.223" Score="13" ViewCount="279" Body="&lt;p&gt;It is well known that there is a worst case optimal algorithm to compute the Huffman code in time $\theta(n\lg n)$. This is improved in two orthogonal ways:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Optimal prefix free codes can be computed faster if the set of distinct frequencies is small (e.g. of size $\sigma$): sort the frequencies using [Munro and Spira, 1976] so that to take advantage of the small value of $\sigma$, and compute the Huffman tree in linear time from the sorted frequencies. This yields a solution in $O(n\lg\sigma)$ &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;There is an $O(n 16^k)$ algorithm to compute equivalent codes where $k$ is the &lt;em&gt;number of distinct codewords lengths&lt;/em&gt; [Belal and Elmasry].&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Is there a way to combine those techniques, in order to improve on the current best complexity of $O(n\min\{16^k,\lg\sigma\})$?&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;THE $O(nk)$ RESULT FROM STACS 2006 SEEM TO BE WRONG&lt;/strong&gt;, Elmasry published on ARXIV in 2010 (http://arxiv.org/abs/cs/0509015) a version announcing&#xA;     - $O(16^kn)$ operations on unsorted input and&#xA;     - $O(9^k \log^{2k-1} n)$ operations on sorted input&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;I see an analogy with the complexity of computing the planar convex hull, where algorithms in $O(n\lg n)$ (sorting based, as the $O(n\lg n)$ algorithm for Huffman's code) and in $O(nh)$ (gift wrapping) were superseded by Kirkpatrick and Seidel's algorithm in $O(n\lg h)$ (later proved to be instance optimal with complexity of the form $O(nH(n_1,\ldots,n_k)$). In the case of Prefix Free codes, $O(n\lg n)$ versus $O(nk)$ suggests the possibility of an algorithm with complexity $O(n\lg k)$, or even $O(nH(n_1,\ldots,n_k)$ where $n_i$ is the number of codewords of length $i$, using the analogy of an edge of the convex hull covering $n_i$ points to a code length covering $n_i$ symbols.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;A simple example shows that sorting the (rounded) logarithmic values of the frequencies (in linear time in the $\theta(\lg n)$ word RAM model) does not give an optimal prefix free code in linear time:   &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;For $n=3$, $f_1=1/2-\varepsilon$ and $f_2=f_3=1/4+\varepsilon$&lt;/li&gt;&#xA;&lt;li&gt;$\lceil\lg f_i\rceil=2$ so log sorting does not change order&lt;/li&gt;&#xA;&lt;li&gt;yet two codes out of three cost $n/4$ bits more than optimal.&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Another interesting question would be to reduce the complexity when $k$ is large, i.e. all codes have distinct lengths: &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;for instance when $k=n$ the frequencies are all of distinct log value. In this case one can sort the frequencies in linear time in the $\theta(\lg n)$ word RAM, and compute the Huffman code in linear time (because sorting their log values is enough to sort the values), resulting in overall linear time, much better than the $n^2$ from the algorithm from Belal and Elmasry.&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="191" LastEditorUserId="191" LastEditDate="2012-10-31T00:39:00.797" LastActivityDate="2016-04-01T20:38:27.163" Title="What is the complexity of computing optimal prefix free codes, when the frequencies are similar?" Tags="&lt;cc.complexity-theory&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="5155" PostTypeId="1" CreationDate="2011-02-26T05:24:06.463" Score="24" ViewCount="576" Body="&lt;p&gt;&lt;a href=&quot;http://garden.irmacs.sfu.ca/?q=op/reconstruction_conjecture&quot; rel=&quot;noreferrer&quot;&gt;Reconstruction conjecture&lt;/a&gt; says that graphs (with at least three vertices) are determined uniquely by their vertex deleted subgraphs. This conjecture is five decades old.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Searching relevant literature, I found that the following classes of graphs are known to be reconstructible :&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;trees&lt;/li&gt;&#xA;&lt;li&gt;disconnected graphs, graphs whose complement is disconnected&lt;/li&gt;&#xA;&lt;li&gt;regular graphs&lt;/li&gt;&#xA;&lt;li&gt;Maximal Outerplanar Graphs&lt;/li&gt;&#xA;&lt;li&gt;maximal planar graphs&lt;/li&gt;&#xA;&lt;li&gt;outerplanar graphs&lt;/li&gt;&#xA;&lt;li&gt;Critical blocks&lt;/li&gt;&#xA;&lt;li&gt;Separable graphs without end vertices&lt;/li&gt;&#xA;&lt;li&gt;unicyclic graphs (graphs with one cycle)&lt;/li&gt;&#xA;&lt;li&gt;non-trivial cartesian product graphs&lt;/li&gt;&#xA;&lt;li&gt;squares of trees&lt;/li&gt;&#xA;&lt;li&gt;bidegreed graphs&lt;/li&gt;&#xA;&lt;li&gt;unit interval graphs&lt;/li&gt;&#xA;&lt;li&gt;threshold graphs&lt;/li&gt;&#xA;&lt;li&gt;nearly acyclic graphs (i.e., G-v is acyclic)&lt;/li&gt;&#xA;&lt;li&gt;cacti graphs&lt;/li&gt;&#xA;&lt;li&gt;graphs for which one of the vertex deleted graph is a forest.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I recently proved that a &lt;em&gt;special case&lt;/em&gt; of partial 2-trees are reconstructible. I am wondering if partial 2-trees (a.k.a &lt;a href=&quot;http://en.wikipedia.org/wiki/Series-parallel_graph&quot; rel=&quot;noreferrer&quot;&gt;series-parallel graphs&lt;/a&gt;) are known to be reconstructible. Partial 2-trees do not seem to fall into any of the above mentioned categories.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Am I missing any other known classes of reconstructible graphs in the above list ?&lt;/li&gt;&#xA;&lt;li&gt;In particular, are partial 2-trees known to be reconstructible ?&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="344" LastEditorUserId="344" LastEditDate="2011-02-27T02:59:48.867" LastActivityDate="2012-09-04T23:53:11.840" Title="Reconstruction Conjecture and Partial 2-trees" Tags="&lt;reference-request&gt;&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;treewidth&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="5156" PostTypeId="1" AcceptedAnswerId="5161" CreationDate="2011-02-26T06:23:53.090" Score="13" ViewCount="1829" Body="&lt;p&gt;Genetic algorithms evolve in fewer generations with a larger population, but also take longer to compute a generation. Are there some guide lines for balancing those two factors, in order to arrive at a viable solution as soon as possible?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, is this the best place for the question?&lt;/p&gt;&#xA;" OwnerUserId="4008" LastEditorUserId="80" LastEditDate="2011-02-27T21:01:53.580" LastActivityDate="2011-02-27T21:01:53.580" Title="What is the tradeoff between population size and the number of generations in genetic algorithms" Tags="&lt;ds.algorithms&gt;&lt;machine-learning&gt;&lt;genetic-algorithms&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="6" ContentLicense="CC BY-SA 2.5" />
  <row Id="5157" PostTypeId="1" AcceptedAnswerId="5159" CreationDate="2011-02-26T08:11:33.643" Score="19" ViewCount="1778" Body="&lt;p&gt;I understand that Turing completeness requires unbounded memory and unbounded time.&lt;/p&gt;&#xA;&lt;p&gt;However there is a finite amount of atoms in this universe, thus making memory bounded. For example even though &lt;span class=&quot;math-container&quot;&gt;$\pi$&lt;/span&gt; is irrational there is no way to store more than a certain number of digits even if &lt;em&gt;all&lt;/em&gt; the atoms in the universe were used for this purpose.&lt;/p&gt;&#xA;&lt;p&gt;What then are the limits of computability of an &lt;em&gt;implemented&lt;/em&gt; Turing machine (which could use all the resources of the universe but no more) based on the limits of the universe? What is the maximum number of digits of &lt;span class=&quot;math-container&quot;&gt;$\pi$&lt;/span&gt;? Are there any papers on this subject that might be interesting to read?&lt;/p&gt;&#xA;" OwnerUserId="2835" LastEditorUserId="55393" LastEditDate="2020-08-17T13:08:02.047" LastActivityDate="2020-08-17T13:08:02.047" Title="What are the limits of computation in this universe?" Tags="&lt;computability&gt;&lt;upper-bounds&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="6" ContentLicense="CC BY-SA 4.0" />
  <row Id="5158" PostTypeId="1" AcceptedAnswerId="5163" CreationDate="2011-02-26T09:43:41.830" Score="19" ViewCount="3178" Body="&lt;p&gt;Is there a way to prove the following theorem in Coq?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;code&gt;Theorem bool_pirrel : forall (b : bool) (p1 p2 : b = true), p1 = p2.&lt;/code&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT&lt;/strong&gt;: An attempt to give a brief explanation for &quot;what proof irrelevance is&quot; (correct me someone if I am wrong or inaccurate)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The basic idea is that in the proposition world (or the &lt;code&gt;Prop&lt;/code&gt; sort in Coq), what you (and you should) really care about is the &lt;em&gt;provability&lt;/em&gt; of a proposition, &lt;em&gt;not&lt;/em&gt; the proofs of it, there may be many (or none). In case you have multiple proofs, from the provability point of view, they are equal in the sense that &lt;em&gt;they prove the same proposition&lt;/em&gt;. So their distinction is just irrelevant. This differs from the computational point of view where you really care about the distinction of two terms, e.g., basically, you don't want the two inhabitants of the &lt;code&gt;bool&lt;/code&gt; type (or &lt;code&gt;Set&lt;/code&gt; in Coq's words), namely &lt;code&gt;true&lt;/code&gt; and &lt;code&gt;false&lt;/code&gt; to be equal. But if you put them in &lt;code&gt;Prop&lt;/code&gt;, they are treated equal.&lt;/p&gt;&#xA;" OwnerUserId="656" LastEditorUserId="656" LastEditDate="2011-02-28T20:55:20.133" LastActivityDate="2019-08-26T15:40:06.067" Title="Prove proof irrelevance in Coq?" Tags="&lt;lo.logic&gt;&lt;type-theory&gt;&lt;proof-assistants&gt;&lt;coq&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="9" ContentLicense="CC BY-SA 2.5" />
  <row Id="5159" PostTypeId="2" ParentId="5157" CreationDate="2011-02-26T11:29:10.637" Score="36" Body="&lt;p&gt;Seth Lloyd has a &lt;a href=&quot;http://arxiv.org/abs/quant-ph/9908043&quot;&gt;paper&lt;/a&gt; on the subject. You need energy to compute, but if you put too much energy into a small region, it forms a black hole. This slows down time (making the time it takes for the computation to complete relatively longer), and any computation done in the interior of a black hole is wasted, as the results cannot be extracted from the black hole and used. Seth calculates the limits on the amount of computation possible, and shows that for some measures of computation, the most computationally intensive environment possible in the universe would be that surrounding a black hole. &lt;/p&gt;&#xA;" OwnerUserId="1677" LastEditorUserId="-1" LastEditDate="2015-07-18T09:15:19.987" LastActivityDate="2015-07-18T09:15:19.987" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="5160" PostTypeId="1" AcceptedAnswerId="6189" CreationDate="2011-02-26T12:30:32.097" Score="11" ViewCount="1077" Body="&lt;p&gt;This question arose in the context of cryptography, but below I will present it in terms of complexity theory, since people here are more acquainted with the latter. This question is related to &lt;a href=&quot;https://cstheory.stackexchange.com/q/5087/873&quot;&gt;Problems in NP but not in Average-P/poly&lt;/a&gt; and &lt;a href=&quot;https://cstheory.stackexchange.com/q/4796/873&quot;&gt;Beating Nonuniformity by Oracle Access&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Informal statement:&lt;/strong&gt; When do non-uniform adversaries (i.e. poly-size family of circuits) succeed in breaking a cryptographic scheme, but uniform adversaries (i.e. probabilistic poly-time Turing machines) do not?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Complexity-theoretic statement:&lt;/strong&gt; This is not exactly the same as the above informal statement, but I'm actually interested in this version:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What natural problems lie in $(\mathsf{NP} \cap \mathsf{P/poly}) - \mathsf{AvgP}$ ?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;In other words, what &lt;strong&gt;hard-on-average&lt;/strong&gt; natural $\mathsf{NP}$ problems can be &lt;strong&gt;solved&lt;/strong&gt; by poly-sized family of circuits?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The word &lt;strong&gt;solved&lt;/strong&gt; can be interpreted as the worst-case or average-case (the latter is preferred).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If natural problems cannot be found easily, artificial problems are acceptable as well.&lt;/p&gt;&#xA;" OwnerUserId="873" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2011-04-20T22:12:00.370" Title="Non-Uniform vs. Uniform Adversaries" Tags="&lt;cc.complexity-theory&gt;&lt;cr.crypto-security&gt;&lt;np&gt;&lt;advice-and-nonuniformity&gt;&lt;average-case-complexity&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="5161" PostTypeId="2" ParentId="5156" CreationDate="2011-02-26T12:42:26.563" Score="15" Body="&lt;p&gt;There are some works on this issue. Since you don't specify for what problems you want guidelines I will list some major and some last papers of general interest. They are:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;C. Witt (2008) &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.67.6556&amp;amp;rep=rep1&amp;amp;type=pdf&quot;&gt;Population Size versus Runtime of a Simple Evolutionary Algorithm&lt;/a&gt; // Theoretical Computer Science, 403(1), pp. 104-120.&lt;/li&gt;&#xA;&lt;li&gt;T. Chen, K. Tang, G. Chen and X. Yao &lt;a href=&quot;http://dx.doi.org/10.1016/j.tcs.2011.02.016&quot;&gt;A large population size can be unhelpful in evolutionary algorithms&lt;/a&gt; // Theoretical Computer Science. Article in Press&lt;/li&gt;&#xA;&lt;li&gt;O. Giel, P.K. Lehre (2010) &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download;jsessionid=5C6F309BC6D8F879F25E041A1E85201B?doi=10.1.1.67.9551&amp;amp;rep=rep1&amp;amp;type=pdf&quot;&gt;On the effect of populations in evolutionary multi-objective optimisation&lt;/a&gt; // Evolutionary Computation 18 (3), pp. 335-356.&lt;/li&gt;&#xA;&lt;li&gt;P.S. Oliveto, J. He, X. Yao (2008) &lt;a href=&quot;http://citeseer.ist.psu.edu/viewdoc/download;jsessionid=E885D7C12D3ADC5F7AD4F7485AD89CFD?doi=10.1.1.160.131&amp;amp;rep=rep1&amp;amp;type=pdf&quot;&gt;Analysis of Population-based Evolutionary Algorithms for the Vertex Cover Problem&lt;/a&gt;. In Proceedings of the IEEE World Congress on Computational Intelligence.&lt;/li&gt;&#xA;&lt;li&gt;P.S. Oliveto, J. He, X. Yao (2007) &lt;a href=&quot;http://www.cs.bham.ac.uk/~pkl/teaching/2009/ec/articles/oliveto2007review.pdf&quot;&gt;Time Complexity of Evolutionary Algorithms for Combinatorial Optimization: A Decade of Results&lt;/a&gt; // International Journal of Automation and Computing. See here 4.1 section for results on population-based EAs.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="1060" LastEditorUserId="1060" LastEditDate="2011-02-26T14:14:07.470" LastActivityDate="2011-02-26T14:14:07.470" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5163" PostTypeId="2" ParentId="5158" CreationDate="2011-02-26T14:25:27.847" Score="28" Body="&lt;p&gt;Proof irrelevance in general is not implied by the theory behind Coq. Even proof irrelevance for equality is not implied; it is equivalent to &lt;a href=&quot;https://github.com/coq/coq/wiki/The-Logic-of-Coq#what-is-streichers-axiom-k&quot; rel=&quot;nofollow noreferrer&quot;&gt;Streicher's axiom K&lt;/a&gt;. Both &lt;a href=&quot;https://github.com/coq/coq/wiki/The-Logic-of-Coq#axioms&quot; rel=&quot;nofollow noreferrer&quot;&gt;can be added as axioms&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are developments where it's useful to reason about proof objects, and proof irrelevance makes this nigh-impossible. Arguably these developments should have all the objects whose structure matters recast in &lt;code&gt;Set&lt;/code&gt;, but with the basic Coq theory the possibility is there.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is an important subcase of proof irrelevance that always holds. Streicher's axiom K always holds on decidable domains, i.e. equality proofs on decidable sets are unique. The general proof is in the &lt;a href=&quot;http://coq.inria.fr/library/Coq.Logic.Eqdep_dec.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;&lt;code&gt;Eqdep_dec&lt;/code&gt;&lt;/a&gt; module in the Coq standard library. Here's your theorem as a corollary (my proof here is not necessarily the most elegant):&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;Require Bool.&#xA;Require Eqdep_dec.&#xA;Theorem bool_pirrel : forall (b : bool) (p1 p2 : b = true), p1 = p2.&#xA;Proof.&#xA;  intros; apply Eqdep_dec.eq_proofs_unicity; intros.&#xA;  destruct (Bool.bool_dec x y); tauto.&#xA;Qed.&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;For this special case, here's a direct proof (inspired by the general proof in &lt;code&gt;Eqdep_dec.v&lt;/code&gt;). First, define we define a canonical proof of &lt;code&gt;true=b&lt;/code&gt; (as usual in Coq, it's easier to have the constant first). Then we show that any proof of &lt;code&gt;true=b&lt;/code&gt; has to be &lt;code&gt;refl_equal true&lt;/code&gt;.&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;Let nu b (p:true = b) : true = b :=&#xA;  match Bool.bool_dec true b with&#xA;    | left eqxy =&amp;gt; eqxy&#xA;    | right neqxy =&amp;gt; False_ind _ (neqxy p)&#xA;  end.&#xA;Lemma bool_pcanonical : forall (b : bool) (p : true = b), p = nu b p.&#xA;Proof.&#xA;  intros. case p. destruct b.&#xA;  unfold nu; simpl. reflexivity.&#xA;  discriminate p.&#xA;Qed.&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;If you add classical logic to Coq, you get proof irrelevance. Intuitively speaking, classical logic gives you a decision oracle for propositions, and that's good enough for axiom K. There is a proof in the Coq standard library module &lt;a href=&quot;http://coq.inria.fr/library/Coq.Logic.Classical_Prop.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;&lt;code&gt;Classical_Prop&lt;/code&gt;&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="634" LastEditorUserId="43935" LastEditDate="2019-08-26T15:40:06.067" LastActivityDate="2019-08-26T15:40:06.067" CommentCount="0" ContentLicense="CC BY-SA 4.0" />
  <row Id="5164" PostTypeId="1" AcceptedAnswerId="5211" CreationDate="2011-02-26T16:13:39.893" Score="5" ViewCount="663" Body="&lt;p&gt;I don't know much about the terminology and the results on cellular automata, but I would like to ask a question about an conjecture I thought.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider Turing-complete reversible cellular automata.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For instance, Wolfram's Rule 110 cellular automaton is Turing-complete, but, if I understand correctly, it's not reversible. However, it can be made reversible by converting it into a second-order cellular automaton and then implementing the second-order CA as a first-order CA with a larger cell state space.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is whether it's possible to define a finite region of cells that is completely isolated from the outside.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More specifically: if there exist an initial state of a finite connected region of cells (let's call it &lt;em&gt;Vault&lt;/em&gt;), which is composed of a connected region &lt;em&gt;Interior&lt;/em&gt; surronded by another region &lt;em&gt;Wall&lt;/em&gt;, such that the state of the &lt;em&gt;Interior&lt;/em&gt; at any time &lt;em&gt;t&lt;/em&gt; depends only on the previous state of &lt;em&gt;Interior&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My conjecture is that such isolated regions are impossible.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My intuition stems from the fact that Turing-complete reversible CA can be considered very simple models of physical reality (and proponents of the digital physics hypothesis argue that the physical world is actually a cellular automaton). If I understand correctly, totally isolated physical systems can't exist, thus I conjecture by analogy that this should also apply to all Turing-complete reversible CA.&#xA;(Turing-incomplete or irreversible CA can have isolated regions, but they are probably not good models of fundamental physical reality)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Has anybody already proved or disproved this assertion? Or do you have any thoughts about it?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;UPDATE:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As Shor pointed out in the comments, the conjecture as stated above is false, since it is possible to use some states which are not required for Turing-completeness to achieve isolation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I will try to reformulate the question in a way that the conjecture may possibly hold by adding more requirements on the cellular automaton.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm thinking of two reformulations based on two different additional requirements:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;i&gt;Minimal universality&lt;/i&gt;: As noted by Grochow, we can define a Turing-complete CA to be &quot;&lt;i&gt;Minimally universal&lt;/i&gt;&quot; iff the CA obtained by removing one cell state (and the corresponding rules) is no longer Turing-complete.&lt;/p&gt;&lt;p&gt;Thus, the conjecture is: &lt;i&gt;There does not exist a minimally universal reversible CA such that isolated regions can be defined.&lt;/i&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;i&gt;Total harnessability&lt;/i&gt;: We may say that the computational power of a Turing-complete CA is &lt;i&gt;totally harnessable&lt;/i&gt; iff there exist undecidable properties regarding all cell states.&lt;/p&gt;&lt;p&gt;More specifically, we define a CA to be &lt;i&gt;totally harnessable&lt;/i&gt; iff $\forall s \in CellStates \ \exists$ a computable initial configuration $x(t_0,\,i)$, a finite set of cell indexes $Q$, a vector of cell states $\bar{q}$ containing $s$ and predicate $p(x,\,t)\ \equiv\ \bigwedge_{i \in Q}x(t,\,i)=q_i $ such that the question &quot;$\exists t:\ p(x,\,t)=True$&quot; is undecidable, and the question obtained by removing from predicate $p$ the conditions on state $s$ is decidable.&lt;/p&gt;&lt;p&gt;Thus the conjecture is: &lt;i&gt;There does not exist a totally harnessable Turing-complete reversible CA such that isolated regions can be defined.&lt;/i&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="1749" LastEditorUserId="186" LastEditDate="2011-06-03T04:24:57.400" LastActivityDate="2018-11-22T15:43:18.253" Title="Isolation in Turing-complete reversible cellular automata" Tags="&lt;computability&gt;&lt;physics&gt;&lt;cellular-automata&gt;" AnswerCount="3" CommentCount="4" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="5165" PostTypeId="1" AcceptedAnswerId="5171" CreationDate="2011-02-26T16:15:14.417" Score="5" ViewCount="290" Body="&lt;p&gt;I'm looking for an algorithm to efficiently generate all unlabeled acyclic digraphs of a given order.  (By &quot;unlabeled&quot; I mean that no two of the generated digraphs should be isomorphic.)&#xA;Thanks&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit: removed the word &quot;enumeration&quot; from title; I made the original title &quot;Enumeration/generation of unlabeled acyclic digraphs&quot; in a misguided effort to increase the number of possible answers; I had conjectured, incorrectly, that enumeration algorithms could be easily adapted to generate all the enumerated digraphs; now I realize this conjecture is wrong, hence the edited title emphasizes that I'm interested in an algorithm for generating (and not just enumerating) unlabeled acyclic digraphs.&lt;/p&gt;&#xA;" OwnerUserId="3529" LastEditorUserId="3529" LastEditDate="2011-02-27T13:31:58.503" LastActivityDate="2011-02-27T13:31:58.503" Title="Generation of unlabeled acyclic digraphs" Tags="&lt;ds.algorithms&gt;&lt;graph-algorithms&gt;&lt;directed-acyclic-graph&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="5166" PostTypeId="1" AcceptedAnswerId="5167" CreationDate="2011-02-26T16:45:41.883" Score="8" ViewCount="425" Body="&lt;p&gt;VC dimension is a measure of the complexity of classes of functions $f:X\rightarrow \{0,1\}$ that is closely tied to sample complexity. Fat shattering dimension is a generalization suited to richer ordered domains: i.e. $f:X\rightarrow \mathbb{R}$. Is there a standard generalization of VC-dimension suited to functions with discrete, unordered domains? i.e. $f:X\rightarrow K$ where $K$ is a finite set with no ordering on it.&lt;/p&gt;&#xA;" OwnerUserId="25" LastEditorUserId="25" LastEditDate="2011-02-26T17:01:09.507" LastActivityDate="2011-02-26T18:10:25.817" Title="VC Dimension generalized to discrete, non-binary, unordered domains?" Tags="&lt;reference-request&gt;&lt;lg.learning&gt;&lt;vc-dimension&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="5167" PostTypeId="2" ParentId="5166" CreationDate="2011-02-26T17:58:42.260" Score="10" Body="&lt;p&gt;Yes - I think you are looking for &quot;multiclass VC dimension,&quot; and there are a couple different generalizations of VC dimension to multiclass classification.  A good &lt;a href=&quot;http://mercurio.srv.dsi.unimi.it/~cesabian/Pubblicazioni/jcss-95.pdf&quot;&gt;paper&lt;/a&gt; on this is by Ben-David et al. ('95). In addition to proving learnability results, they give a nice history and references to previous extensions of VC dimension to the multiclass case.  Another perhaps relevant &lt;a href=&quot;http://www.phillong.info/publications/sauer.pdf&quot;&gt;work&lt;/a&gt; by Haussler and Long ('95) generalizes Sauer's lemma to more general versions of VC dimension.&lt;/p&gt;&#xA;" OwnerUserId="123" LastEditorUserId="123" LastEditDate="2011-02-26T18:10:25.817" LastActivityDate="2011-02-26T18:10:25.817" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5168" PostTypeId="1" CreationDate="2011-02-26T18:14:54.073" Score="8" ViewCount="254" Body="&lt;p&gt;Median can be done in linear time and is now down to (I think) $2.97n$.&#xA;The lower bounds is (I think) $(2+\epsilon)n$ where $\epsilon$ is very small.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The following theorem, if true, may help improve lower bounds in general and&#xA;upper bounds for particular small values of $n$:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;If MEDIAN of $n$ elements can be found&#xA;  in $f(n)$ comparisons (worst case)&#xA;  then there is an algorithm taking&#xA;  $f(n)$ (perhaps $f(n) + O(1)$) that&#xA;  initially compares all of the elements&#xA;  in pairs.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;One can also look at other selection problems, element distinctness, sorting,&#xA;and other such problems.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Meta Question - I couldn't find a good tag for this so I used lower-bounds.&#xA;Is there a better one that I missed?)&lt;/p&gt;&#xA;" OwnerUserId="7839" LastEditorUserId="80" LastEditDate="2011-02-27T05:30:40.127" LastActivityDate="2011-02-27T05:30:40.127" Title="For median is it optimal to compare in pairs first?" Tags="&lt;cc.complexity-theory&gt;&lt;lower-bounds&gt;&lt;time-complexity&gt;&lt;sorting&gt;" AnswerCount="0" CommentCount="5" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="5169" PostTypeId="2" ParentId="5114" CreationDate="2011-02-26T19:18:29.687" Score="1" Body="&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt; An idea very similar to this one is described in &lt;a href=&quot;http://www.lsi.upc.es/~roura/reports/LSI-99-26-R.ps.gz&quot; rel=&quot;nofollow&quot;&gt;&quot;Digital Access to Comparison-Based Tree Data Structures and Algorithms&quot;&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Here's an idea for a structure that might meet these bounds.&#xA;It uses an balanced binary search tree where each node is annotated with a pair of integers in $[-1,k-1]$ to indicate how much of the prefix of the key does not need to be compared again with the search key.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Notation&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;A &lt;strong&gt;shared prefix pair&lt;/strong&gt; is a pair of integers associated with a key, called the &lt;strong&gt;focus&lt;/strong&gt;, and a set of string keys not containing the focus, called the &lt;strong&gt;context&lt;/strong&gt;.&#xA;For a focus $f$ and context $c$, if $\forall y \in c, f &amp;lt; y$, then the left shared prefix (the left value in the shared prefix pair) of $f$ and $c$ is $-1$.&#xA;Otherwise, let $g$ be the largest key in $c$ such that $g &amp;lt; f$.&#xA;This is called the &lt;strong&gt;left neighbor&lt;/strong&gt; of $f$ in $c$.&#xA;Then the left shared prefix $i$ is the largest integer such that $f[i] &amp;gt; g[i]$ and $\forall j &amp;lt; i, f[j] = g[j]$.&#xA;The &lt;strong&gt;right shared prefix&lt;/strong&gt; and &lt;strong&gt;right neighbor&lt;/strong&gt; are defined symmetrically.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Search&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;Annotate each node in a balanced binary search tree with a shared prefix pair, using the key at that node as the focus and they keys of its ancestors in the tree as the context.&#xA;I'll first describe how to search for a string key (the needle, as in &quot;needle in a haystack&quot;) in an annotated tree, then describe insertion and deletion.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;During search, maintain a shared prefix pair with the needle as the focus and the keys of the nodes inspected during the search as the context.&#xA;By the definition above, we start with a shared prefix pair of $(-1,-1)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assume we are searching for the needle $d$ with shared prefix pair $(i,j)$ in a tree with root $v$ with key $z$ and shared prefix pair $(p,q)$.&#xA;Since the search proceeds from parent to child, the prefix pairs share the same context and the same left and right neighbors, $a$ and $b$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, if $i &amp;lt; p$, then $z[i] = a[i] &amp;lt; d[i]$, and $z &amp;lt; d$.&#xA;In this case, the search proceeds recursively to the right child of $v$.&#xA;$z$ is the new left neighbor of $d$ and $d$'s prefix pair stays the same.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $i &amp;gt; p$, then $d[p] = a[p] &amp;lt; z[p]$, and $d &amp;lt; z$.&#xA;In this case, the search proceeds recursively to the left child of $v$.&#xA;$z$ is $d$'s new right neighbor and $p$ is the new right shared prefix of $d$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For $j \neq q$, proceed similarly.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the remaining case, $i = p$ and $j = q$.&#xA;Assume w.l.o.g., that $i \geq j$.&#xA;Find the first $i^{\prime} &amp;gt; i$ such that $d[i^{\prime}] \neq z[i^{\prime}]$ but $\forall n &amp;lt; i^{\prime}, d[n] = z[n]$.&#xA;If $d[i^{\prime}] &amp;lt; z[i^{\prime}]$, then $d &amp;lt; z$, so proceed to the left child of $v$.&#xA;The new right neighbor of $d$ is $z$ and the new right shared prefix of $d$ is $i^{\prime}$.&#xA;If $d[i^{\prime}] &amp;gt; z[i^{\prime}]$, then $d &amp;gt; z$, so proceed to the right; $z$ is the new left neighbor of $d$, and $i^{\prime}$ is $d$'s new left shared prefix.&#xA;The $j &amp;gt; i$ case is symmetric.&lt;/p&gt;&#xA;&#xA;&lt;h3&gt;Search Performance&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;Letters are not compared unless $i=p$ and $j=q$.&#xA;At each step in which letters are compared, either the sum of the shared prefix pair increases or only one letter comparison is made.&#xA;We will discuss these two separately.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If only one letter comparison is made, a child pointer is immediately followed.&#xA;Since paths from the root to leaves are $O(\lg n)$ and $n \leq A^k$, fewer than $O(k \lg A)$ single-letter-comparison steps are taken.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $p &amp;gt; 1$ letter comparisons are made in a step, the sum $i+j$ of the shared prefix pair increases by at least $p-1$.&#xA;Since the maximum possible sum is $2k$, $O(k)$ letter comparisons are made in comparisons that result in larger shared prefix pair sums.&#xA;However, shared prefix pair sums may seemingly decrease in non-letter-comparison steps when $i &amp;gt; p$ and $j$ is replaced by $p$ or $j &amp;gt; q$ and $i$ is replaced by $q$.&#xA;This is not the case, though:&#xA;If $i &amp;gt; p$ then $d &amp;lt; z$, so $j \leq q$.&#xA;If $j &amp;lt; q$, then $d$'s new right shared prefix is $j$, so $j = p$ and the shared prefix pair sum is not decreased.&#xA;Similarly, if $j = q$, then $d$'s new right shared prefix is $\geq j$, and the sum is not decreased.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Similarly, each step requires $O(1+p/B)$ block transfers if it makes $p-1$ letter comparisons.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Insertion and Deletion&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;To perform an insertion, first locate where the node with the key $d$ would be found if it were in the tree.&#xA;After modification, perform the necessary $O(\log n)$ restructuring necessary to restore balance.&#xA;Rotations might invalidate shared prefix pairs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider the case of a left rotation:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;  B&#xA; / \&#xA;A   D&#xA;   / \&#xA;  C   E&#xA;&#xA;    D&#xA;   / \&#xA;  B   E&#xA; / \&#xA;A   C&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;The shared prefix pairs at A, C, and E all remain valid.&#xA;The left shared prefix of B and the right shared prefix of D also remain valid.&#xA;The right shared prefix at B is the left shared prefix at D from before the rotation.&#xA;The left shared prefix of D is the minimum of the left shared prefixes of D and B from before the rotation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The right rotation and deletion cases are the same, mutatis mutandis. &lt;/p&gt;&#xA;" OwnerUserId="43" LastEditorUserId="43" LastEditDate="2011-02-27T16:20:07.270" LastActivityDate="2011-02-27T16:20:07.270" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5170" PostTypeId="1" AcceptedAnswerId="5173" CreationDate="2011-02-26T21:35:04.937" Score="13" ViewCount="3643" Body="&lt;p&gt;I've tried the following LP relaxation of maximum independent set&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$$\max \sum_i x_i$$&lt;/span&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$$\text{s.t.}\  x_i+x_j\le 1\  \forall (i,j)\in E$$&lt;/span&gt;&#xA;&lt;span class=&quot;math-container&quot;&gt;$$x_i\ge 0$$&lt;/span&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I get &lt;span class=&quot;math-container&quot;&gt;$1/2$&lt;/span&gt; for every variable for every cubic non-bipartite graph I tried.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Is true for all connected cubic non-bipartite graphs?&lt;/li&gt;&#xA;&lt;li&gt;Is there LP relaxation which works better for such graphs?&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;&lt;b&gt;Update 03/05&lt;/b&gt;:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here's the result of clique-based LP relaxation suggested by Nathan&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://i.stack.imgur.com/8CJTK.png&quot; rel=&quot;nofollow noreferrer&quot;&gt;&lt;img src=&quot;https://i.stack.imgur.com/8CJTK.png&quot; alt=&quot;&quot;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I've summarized experiments &lt;a href=&quot;http://yaroslavvb.blogspot.com/2011/03/linear-programming-for-maximum.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;here&lt;/a&gt;  Interestingly, there seem to be quite a few non-bipartite graphs for which the simplest LP relaxation is integral.&lt;/p&gt;&#xA;" OwnerUserId="434" LastEditorUserId="32711" LastEditDate="2019-01-13T01:25:30.383" LastActivityDate="2019-01-13T01:25:30.383" Title="LP relaxation of independent set" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;linear-programming&gt;" AnswerCount="4" CommentCount="8" FavoriteCount="1" ContentLicense="CC BY-SA 4.0" />
  <row Id="5171" PostTypeId="2" ParentId="5165" CreationDate="2011-02-26T21:36:31.843" Score="5" Body="&lt;p&gt;If you are looking for an implementation, Sage knows how to generate general digraphs up to isomorphism&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;sage: len(list(digraphs(4)))&#xA;218&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;You can then plug in a &quot;test&quot; method if you just want the acyclic ones :&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;sage: len(list(digraphs(4, property = lambda g:g.is_directed_acyclic())))&#xA;31&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;It returns 302 digraphs on 5 vertices, and 5984 on 6 vertices. But I am a bit scared to try larger values :-)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By the way, giving those values to the OEIS returns the expected sequence :&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://oeis.org/search?q=1,2,6,31,302,5984&amp;amp;language=english&amp;amp;go=Search&quot;&gt;http://oeis.org/search?q=1,2,6,31,302,5984&amp;amp;language=english&amp;amp;go=Search&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Which also happens to contain several references that may suit your taste :-)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Nathann&lt;/p&gt;&#xA;" OwnerUserId="1209" LastActivityDate="2011-02-26T21:36:31.843" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5172" PostTypeId="1" CreationDate="2011-02-26T21:56:53.980" Score="6" ViewCount="206" Body="&lt;p&gt;The following is known: For all $c$, for all $c$-colorings of $N\times N$ there exists a $d \times d^2$ rectangle ($d \ge 2$) such that all four corners are the same color.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The proof uses the &lt;a href=&quot;http://en.wikipedia.org/wiki/Hales%E2%80%93Jewett_theorem&quot; rel=&quot;nofollow&quot;&gt;Poly-Hales-Jewitt theorem&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I seek an easier proof. Okay to use Van der Waerden's theorem (VDW) or poly VDW or Gallai-Witt theorem.&lt;/p&gt;&#xA;" OwnerUserId="7839" LastEditorUserId="1800" LastEditDate="2011-02-27T05:20:15.023" LastActivityDate="2011-02-27T05:20:15.023" Title="More elementary proof of coloring theorem for d x d^2 rectangles" Tags="&lt;co.combinatorics&gt;&lt;proofs&gt;&lt;ramsey-theory&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="5173" PostTypeId="2" ParentId="5170" CreationDate="2011-02-26T22:24:19.730" Score="16" Body="&lt;p&gt;Non-bipartite connected cubic graphs have the unique optimal solution $x_i = 1/2$; in a bipartite cubic graph you have an integral optimal solution.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Proof:&lt;/em&gt; In a cubic graph, if you sum over all $3n/2$ constraints $x_i + x_j \le 1$, you have $\sum_i 3 x_i \le 3n/2$, and hence the optimum is at most $n/2$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The solution $x_i = 1/2$ for all $i$ is trivially feasible, and hence also optimal.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In a bipartite cubic graph, each part has half of the nodes, and the solution $x_i = 1$ in one part is hence also optimal.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any optimal solution must be tight, that is, we must have $\sum_i 3 x_i = 3n/2$ and hence $x_i + x_j = 1$ for each edge $\{i,j\}$. Thus if you have an odd cycle, you must choose $x_i = 1/2$ for each node in the cycle. And then if the graph is connected, this choice gets propagated everywhere.&lt;/p&gt;&#xA;" OwnerUserId="74" LastActivityDate="2011-02-26T22:24:19.730" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="5174" PostTypeId="2" ParentId="5165" CreationDate="2011-02-26T22:28:02.973" Score="3" Body="&lt;p&gt;&lt;a href=&quot;http://www.springerlink.com/content/1716582847315l87/&quot; rel=&quot;nofollow&quot;&gt;Counting unlabeled acyclic digraphs -- R. W. Robinson&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="612" LastActivityDate="2011-02-26T22:28:02.973" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5176" PostTypeId="1" AcceptedAnswerId="5179" CreationDate="2011-02-26T23:18:41.530" Score="17" ViewCount="693" Body="&lt;p&gt;Given a directed acyclic graph, $G(V,E)$, is it possible to efficiently support the following operations?&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$isConnected(G,a,b)$: Determines if there is a path in $G$ from node $a$ to node $b$&lt;/li&gt;&#xA;&lt;li&gt;$link(G,a,b)$: Adds an edge from $a$ to $b$ in the graph $G$&lt;/li&gt;&#xA;&lt;li&gt;$unlink(G,a,b)$: Removes the edge from $a$ to $b$ in $G$&lt;/li&gt;&#xA;&lt;li&gt;$add(G,a)$: Adds a vertex to G&lt;/li&gt;&#xA;&lt;li&gt;$remove(G,a)$: Removes a vertex from G&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;A few notes: &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;If we disallowed $unlink$, it seems it would be easy to maintain the connectedness information, using a disjoint-set type data structure.&lt;/li&gt;&#xA;&lt;li&gt;Obviously, $isConnected$ could be implemented using depth or breadth-first search, using the naive pointer-based representation of the graph. But this is inefficient.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I'm hoping for amortized constant or logarithmic time for all three operations. Is this possible?&lt;/p&gt;&#xA;" OwnerUserId="4015" LastEditorUserId="4015" LastEditDate="2011-02-26T23:42:32.663" LastActivityDate="2011-02-27T05:59:00.293" Title="Does an algorithm exist to efficiently maintain connectedness information for a DAG in presence of inserts/deletes?" Tags="&lt;ds.algorithms&gt;&lt;graph-algorithms&gt;&lt;directed-acyclic-graph&gt;&lt;online-algorithms&gt;" AnswerCount="2" CommentCount="4" FavoriteCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="5178" PostTypeId="2" ParentId="5176" CreationDate="2011-02-27T00:49:00.417" Score="4" Body="&lt;p&gt;I think the best results so far are discussed in &lt;a href=&quot;http://arxiv.org/abs/cs.DS/0104001&quot; rel=&quot;nofollow&quot;&gt;&quot;Mantaining Dynamic Matrices for Fully Dynamic Transitive Closure&quot;&lt;/a&gt;. That paper discusses a randomized algorithm with $O(n^{0.58})$ query time and an $O(n^{1.58})$ update time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(This only covers the first version of your question, with &lt;code&gt;link&lt;/code&gt; and &lt;code&gt;unlink&lt;/code&gt; but without &lt;code&gt;add&lt;/code&gt; and &lt;code&gt;remove&lt;/code&gt;.)&lt;/p&gt;&#xA;" OwnerUserId="43" LastActivityDate="2011-02-27T00:49:00.417" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="5179" PostTypeId="2" ParentId="5176" CreationDate="2011-02-27T01:24:54.473" Score="19" Body="&lt;p&gt;The problem you have described is fully dynamic DAG reachability (also referred to as fully dynamic transitive closure on DAGs).&#xA;It's called fully dynamic since people also study the versions where only deletions are possible (then it's called decremental reachability), and where only insertions are possible (called incremental reachability).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are a few tradeoffs between the update time and the query time. Let $m$ be the number of edges and $n$ the number of vertices.&#xA;For DAGs, Demetrescu and Italiano (FOCS'00) gave a randomized data structure which supports updates (edge inserts or deletes) in O($n^{1.58}$) time and reachability queries in O($n^{0.58}$) time (node inserts/deletes are also supported, in O(1) time); this result was extended by Sankowski (FOCS'04) to work for general directed graphs. Also for DAGs, Roditty (SODA'03) showed that you can maintain the transitive closure matrix in total time O($mn+I·n^2+D$), where $I$ is the number of insertions, $D$ the number of deletions and of course the query time is O($1$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For general directed graphs, the following (update, query) times are known:&#xA;(O($n^2$), O(1)) (Demetrescu and Italiano FOCS'00 (amortized), Sankowski FOCS'04 (worst case)), (O($m\sqrt{n}$), $O(\sqrt{n}$)) (Roditty, Zwick FOCS'02), (O($m+n\log n$), O($n$)) (Roditty, Zwick STOC'04), (O($n^{1.58}$),O($n^{0.58}$)) and (O($n^{1.495}$),O($n^{1.495}$)) by Sankowski (FOCS'04). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Obtaining a polylogarithmic query time, without increasing the update time too much is a major open problem, even for DAGs. &lt;/p&gt;&#xA;" OwnerUserId="410" LastEditorUserId="410" LastEditDate="2011-02-27T05:59:00.293" LastActivityDate="2011-02-27T05:59:00.293" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="5181" PostTypeId="1" AcceptedAnswerId="5183" CreationDate="2011-02-27T03:31:47.637" Score="10" ViewCount="900" Body="&lt;p&gt;&lt;a href=&quot;http://books.google.com/books?id=V9SVHtYsz3cC&amp;amp;lpg=PA55&amp;amp;ots=lvD-ZzOCXd&amp;amp;lr&amp;amp;pg=PA55#v=onepage&amp;amp;f=false&quot; rel=&quot;noreferrer&quot;&gt;MCTS/UCT&lt;/a&gt; is a game tree search method that uses a bandit algorithm to select promising nodes to explore. Games are played to their completion randomly and nodes leading to more wins are explored more heavily. The bandit algorithm maintains a balance between exploring nodes with high win rates and exploring unknown nodes (and in its pure form doesn't necessarily use a heuristic evaluation function). Programs based on this general technique have achieved pretty amazing results in &lt;a href=&quot;http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=5664776&quot; rel=&quot;noreferrer&quot;&gt;computer Go&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Have bandit-driven monte-carlo searches been applied to any other search problems? For instance, would it be a useful approach in approximating solutions to MAX-SAT, BKP, or other combinatorial optimization problems? Are there any particular characteristics of a problem (structural/statistical/etc.) that would suggest whether or not a bandit-style approach would be effective?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there any known deterministic problems that would be totally resistant to bandit methods, due to the nature of the solution space?&lt;/p&gt;&#xA;" OwnerUserId="3817" LastActivityDate="2012-03-28T16:14:43.297" Title="Applications of MCTS/UCT" Tags="&lt;optimization&gt;&lt;ai.artificial-intel&gt;&lt;board-games&gt;" AnswerCount="3" CommentCount="0" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="5183" PostTypeId="2" ParentId="5181" CreationDate="2011-02-27T05:06:48.050" Score="7" Body="&lt;p&gt;This is not a complete answer, but some basic observations about applying this to MAX-SAT.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;At a high level, it looks like this heuristic approach (when applied to MAX-SAT) would be similar to a branching algorithm based on the method of &quot;conditional expectation&quot;, a standard method in derandomization. For example, to get a deterministic $7/8$-approximation for MAX 3-SAT (with 3 variables per clause), one sets a variable $x=0$, estimates the expected fraction of clauses that will be satisfied by a random assignment in the remaining formula, then sets $x=1$ and does the same calculation. (This looks extremely similar to &quot;playing a game to completion randomly&quot;.) The variable setting with the higher expected fraction of clauses ($x=0$ or $x=1$) will be chosen. This polynomial time algorithm gives a $7/8$-approximation and is known to be tight (you can fool it into satisfying only $7/8$ of the clauses). This connection should make it possible to prove lower bounds on the ability of this heuristic.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is known that approximating MAX 3-SAT better than $7/8$ is $NP$-hard, so we don't expect an efficient heuristic to do better than this. It would be interesting to show (and I conjecture it is true) that a branching algorithm based on the above variable choice heuristic requires exponentially many steps to find a better-than-$7/8$ approximation. There are already lower bounds on backtracking which say that no matter &lt;em&gt;what&lt;/em&gt; heuristic you use, even if you guess perfectly, there are still unsatisfiable formulas for which backtracking will only conclude they're unsatisfiable after exponentially many steps. Lower bounds on the lengths of resolution proofs yield these results. One reference is:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Pavel Pudlák, Russell Impagliazzo: A lower bound for DLL algorithms for k-SAT (preliminary version). SODA 2000: 128-136&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="225" LastActivityDate="2011-02-27T05:06:48.050" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5184" PostTypeId="2" ParentId="5170" CreationDate="2011-02-27T07:31:49.260" Score="6" Body="&lt;p&gt;There is another way to get a &quot;relaxed version of maximal independent set&quot;. Instead of having as constraints &quot;for each edge, the sum is at most 1&quot;, the constraints are &quot;for each complete subgraph, the edge is at most 1&quot;. Which means : for each edge, for each triangle, for each $K_4$ and so on.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is called the fractional independent set number. You will find some information there :&#xA;&lt;a href=&quot;http://en.wikipedia.org/wiki/Fractional_coloring&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/Fractional_coloring&lt;/a&gt;&#xA;or in the book &quot;Fractional graph theory&quot; from Daniel Ullman and Edward Scheinerman ( &lt;a href=&quot;http://www.ams.jhu.edu/~ers/fgt/&quot; rel=&quot;nofollow&quot;&gt;http://www.ams.jhu.edu/~ers/fgt/&lt;/a&gt; ).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Practically, this formulation is NP-Hard to compute, even though all the variables are continuous --&gt; the number of cliques is exponential, and hard to compute.... But you are free to only enumerate some special cliques, for example just the edges (which you just did), or edges+triangles, or all the cliques up to $K_k$. After all, the value can only become &quot;more representative&quot; of the real integer value (*) :-)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Nathann&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(*) this being said, you theoretically hav an arbitrarily large difference between the optimal result in the LP where all the cliques are represented and the optimal independent set&lt;/p&gt;&#xA;" OwnerUserId="1209" LastActivityDate="2011-02-27T07:31:49.260" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="5188" PostTypeId="1" CreationDate="2011-02-27T14:11:29.590" Score="57" ViewCount="23480" Body="&lt;p&gt;It is my first question on this site. I am taking a master's course on theory of computation. How you would explain P = NP problem to a 10 year old child and why it has such a monetary reward on it?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Your take?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I will update the question as my head gets clear about it.&lt;/p&gt;&#xA;" OwnerUserId="4023" LastEditorUserId="567" LastEditDate="2011-03-02T00:00:18.190" LastActivityDate="2014-01-16T08:24:32.493" Title="Explain P = NP problem to 10 year old" Tags="&lt;cc.complexity-theory&gt;&lt;soft-question&gt;&lt;teaching&gt;&lt;p-vs-np&gt;" AnswerCount="9" CommentCount="11" FavoriteCount="42" CommunityOwnedDate="2011-02-27T20:52:51.557" ContentLicense="CC BY-SA 2.5" />
  <row Id="5189" PostTypeId="2" ParentId="5188" CreationDate="2011-02-27T15:07:38.173" Score="8" Body="&lt;p&gt;Here is how I explained it to my mother, hopefully it will serve you :) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are problems for which it is easy to find a solution (P, but less call them &quot;easily solvable&quot;),  problems for which it is easy to check if a given solution is correct (NP, but let's call them &quot;easily checkable&quot;), and problems which are neither easily solvable nor easily checkable. For simplicity assume that &quot;Easy&quot; is formally defined, and that each problem has a unique solution.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, people have been able to prove (using mathematics) interesting relations between those two notions of &quot;easily solvable&quot; and &quot;easily checkable&quot;, such that some problems are not easily solvable, and that some others are not easily checkable. A basic example of such result is that a problem which is easily solvable is also easily checkable: just find its solution and compare it to the solution given. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Tantalizingly enough, for a lot of practical problems (such as deciding if there is a possible assignment of students to professors and classrooms, when there is very little margin) it is not known if there is an &quot;easy&quot; way to solve it, but it is known how to check easily if a solution is correct or not. People tried a lot and failed, then tried to prove that it was not possible and failed as well: they just don't know. Some think that all problems which are easily checkable are easily solvable (we just should think more about it), some think the contrary, that we should not waste our time trying to find easy solutions to these problems.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What we found out is how to show links between problems (e.g. if you know how to go to school, you know how to go to the bakery which is just in front) and easily checkable problems which are linked to all other easily checkable problems  (NP-complete, but let's call them &quot;key problems&quot;) such that if someone, one day, shows that one of the key problems is easily solved, then all problems which are easily checkable are also easily solvable (i.e. P=NP). On the other hand, if someone show that one of the key problem cannot be easily solvable, then none of the others can be easily solvable either (i.e. P&amp;lt;&gt;NP).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So the question is tantalizing, and relatively important in practice (although some argue that we should rather focus on alternate definitions of &quot;easy&quot;), and people are investing quite a lot of money and time in the debate. &lt;/p&gt;&#xA;" OwnerUserId="191" LastEditorUserId="191" LastEditDate="2011-02-27T15:12:40.853" LastActivityDate="2011-02-27T15:12:40.853" CommentCount="0" CommunityOwnedDate="2011-02-28T03:09:20.363" ContentLicense="CC BY-SA 2.5" />
  <row Id="5190" PostTypeId="2" ParentId="5188" CreationDate="2011-02-27T17:19:40.510" Score="21" Body="&lt;p&gt;In this talk &lt;a href=&quot;https://cstheory.stackexchange.com/users/1575/scott-aaronson&quot;&gt;Scott Aaronson&lt;/a&gt; addresses the question. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;http://www.youtube.com/watch?v=SczraSQE3MY&quot; rel=&quot;nofollow noreferrer&quot;&gt;TEDxCaltech - Scott Aaronson - Physics in the 21st Century: Toiling in Feynman's Shadow&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Warning:&lt;/strong&gt; Please, do NOT show this talk directly to your grandmother/ 10 year old. why? watch it and you will know. ;-)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT:&lt;/strong&gt;&lt;br&gt;&#xA;Give the kid &lt;a href=&quot;http://en.wikipedia.org/wiki/Eight_queens_puzzle&quot; rel=&quot;nofollow noreferrer&quot;&gt;&lt;strong&gt;8 queens puzzle&lt;/strong&gt;&lt;/a&gt; to solve. Also give him time limit. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If he &quot;finds&quot; a solution then he is one smart kid you can start teaching him CS right away. :)&lt;br&gt;&#xA;Else you show him the solution and ask him to &quot;check&quot; if its correct. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\begin{array}{|l|l|l|l|} &#xA;Class &amp;amp; Check &amp;amp; Find &amp;amp; Example \\&#xA;\hline&#xA;\mathsf{P}  &amp;amp; Easy &amp;amp; Easy &amp;amp; Multiply \ numbers \\&#xA;\mathsf{NP} &amp;amp; Easy &amp;amp; Hard &amp;amp; 8 \ queens         &#xA;\end{array}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\mathsf{P}$  is set of problems to which computer can &quot;find&quot; solution easily. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\mathsf{NP}$  is set of problems to which computer can't &quot;find&quot; solution easily but can &quot;check&quot; the solution easily.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;If we can &quot;check&quot; a solution so easily then why can't we &quot;find&quot; it easily? &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;What you do in CS is either you solve the problem or prove that no one can. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If someone invents algorithm that makes it easy to &quot;find&quot; solutions for NP problems then the table would look like &#xA;$$&#xA;\begin{array}{|l|l|l|}&#xA;Class &amp;amp; Check &amp;amp; Find \\&#xA;\hline&#xA;\mathsf{P}  &amp;amp; Easy  &amp;amp; Easy \\&#xA;\mathsf{NP} &amp;amp; Easy  &amp;amp; Easy \\&#xA;\end{array}&#xA;$$&#xA;and $\mathsf{P} = \mathsf{NP}$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;And if someone proves that no one can find algorithm to &quot;find&quot; solutions for $\mathsf{NP}$ problems then the table remains the same and $\mathsf{P} \neq \mathsf{NP}$. &lt;/p&gt;&#xA;" OwnerUserId="612" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2011-08-14T07:19:33.183" CommentCount="6" CommunityOwnedDate="2011-02-28T03:08:42.940" ContentLicense="CC BY-SA 3.0" />
  <row Id="5191" PostTypeId="2" ParentId="3473" CreationDate="2011-02-27T18:17:32.660" Score="10" Body="&lt;p&gt;Well known example is $k$-edge coloring.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is decidable in polynomial time if $k \ne \Delta$ otherwise it is &lt;a href=&quot;http://epubs.siam.org/sicomp/resource/1/smjcat/v10/i4/p718_s1?isAuthorized=no&quot;&gt;$NP$-complete&lt;/a&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For cubic graphs, deciding the existence of edge coloring using:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$k=2$ colors is trivial since the answer is always no.&lt;/li&gt;&#xA;&lt;li&gt;$k=3$ colors is $NP$-complete&lt;/li&gt;&#xA;&lt;li&gt;$k \ge 4$ colors is trivial since answer is always yes.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Holyer, Ian (1981), &quot;The NP-completeness of edge-coloring&quot;, SIAM Journal on Computing 10: 718–720&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Edge_coloring&quot;&gt;http://en.wikipedia.org/wiki/Edge_coloring&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2013-12-06T05:56:25.800" LastActivityDate="2013-12-06T05:56:25.800" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="5192" PostTypeId="2" ParentId="5188" CreationDate="2011-02-27T20:12:13.507" Score="17" Body="&lt;p&gt;I think the P vs. NP problem could be explained very gently in terms of Sudoku.  I'm assuming the ten-year-old in question is familiar with Sudoku.  I will try to favor simplicity over rigor in my explanation.&lt;/p&gt;&#xA;&lt;p&gt;Here is my attempt to explain P = NP to a hypothetical ten-year-old:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;If you have a Sudoku puzzle that hasn't been finished, and you want to finish it, that can be really hard to do.  On the other hand, if your friend finishes the problem and you are good at arithmetic, it's not very hard to check to see if your friend's solution to the puzzle is right.&lt;/p&gt;&#xA;&lt;p&gt;The P = NP question asks whether or not there is a very fast, step-by-step process for solving a Sudoku puzzle that hasn't been finished yet.  The step-by-step process has to be so clear and easy to understand that even a computer can understand it and use it to solve Sudoku puzzles automatically and very fast.  If there is such a fast step-by-step process, that would be what mathematicians call a &amp;quot;polynomial time algorithm&amp;quot; (I'll explain what that means when you're older).&lt;/p&gt;&#xA;&lt;p&gt;In fact, computer scientists and computer programmers have identified a lot of other puzzles and very important problems that are just as hard to solve as Sudoku.  It's really important to know if these problems can be solved, because computers could help us do lots of things more quickly if they could.  For example, they could help us schedule trains more efficiently, break secret codes, and maybe even build help to build really smart computers that are capable of artificial intelligence.&lt;/p&gt;&#xA;&lt;p&gt;There would be lots of very good things that would happen if people could solve P = NP.  Of course, there would also be some problems, because it would be harder to use secret codes to keep private messages a secret any more.&lt;/p&gt;&#xA;&lt;p&gt;Most smart mathematicians think that P = NP is not true.  In other words, most people think that no one will ever be able to solve really hard Sudoku puzzles quickly.  However, no one has ever been able to prove that P is not equal to NP before, so an organization called the Clay Mathematics Institute is offering a prize of one million dollars for the first proof that P = NP is true, or for the first proof that it is false.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;As you see, I took the &amp;quot;explain it to a ten-year-old&amp;quot; part a bit literally.  :)&lt;/p&gt;&#xA;&lt;p&gt;Hope this helps.&lt;/p&gt;&#xA;" OwnerUserId="1338" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2011-02-27T20:12:13.507" CommentCount="6" CommunityOwnedDate="2011-02-28T03:09:01.597" ContentLicense="CC BY-SA 2.5" />
  <row Id="5193" PostTypeId="2" ParentId="5170" CreationDate="2011-02-27T21:10:03.513" Score="7" Body="&lt;p&gt;&lt;a href=&quot;http://etd.fcla.edu/UF/UFE0001011/butenko_s.pdf&quot;&gt;Sergiy Butenko's Ph.D thesis&lt;/a&gt; from 2003 reviews some other LP relaxations of MIS, as well as some quadratic relaxations. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2011-02-27T21:10:03.513" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5195" PostTypeId="1" CreationDate="2011-02-27T23:39:23.147" Score="12" ViewCount="1803" Body="&lt;p&gt;I am looking for a good reference for bottleneck shortest paths.  Specifically, given vertices s and t in an undirected graph with edge weights, you want the shortest path from s to t, where the length of a path is the maximum edge on that path.  This can be solved in O(n+m) time by finding the median edge weight and (carefully) recursively deleting half the edges. &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Does anyone know a reference for&#xA;  this?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="4029" LastEditorUserId="95" LastEditDate="2011-02-28T01:12:15.550" LastActivityDate="2011-05-12T02:22:48.297" Title="Reference for fast algorithm for bottleneck shortest paths" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;graph-algorithms&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="5197" PostTypeId="2" ParentId="4885" CreationDate="2011-02-27T23:49:42.990" Score="8" Body="&lt;p&gt;You might also want to look into &lt;em&gt;Distance measures to compare real and ideal quantum processes&lt;/em&gt; &lt;a href=&quot;http://arxiv.org/abs/quant-ph/0408063&quot;&gt;arXiv:quant-ph/0408063&lt;/a&gt; which gives an overview of distance measures for quantum channels and their relationships.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;They use the term &lt;em&gt;S distance&lt;/em&gt; for the diamond distance and &lt;em&gt;J distance&lt;/em&gt; for the trace distance of the Jamiołkowski operators associated to the channels.&lt;/p&gt;&#xA;" OwnerUserId="1749" LastActivityDate="2011-02-27T23:49:42.990" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5198" PostTypeId="1" AcceptedAnswerId="5225" CreationDate="2011-02-27T23:57:23.023" Score="18" ViewCount="733" Body="&lt;p&gt;I have a lot of cuboids in 3D space, each has a starting point at (x,y,z) and has size of (Lx,Ly,Lz). I wonder how to find a largest cube in this 3D space that is contained in the union of the cuboids. Is there an efficient algorithm for this? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For instance,&#xA;If I have the following cuboids: &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;a cuboid starting at (0,0,0) with size (10,10,10),&lt;/li&gt;&#xA;&lt;li&gt;a cuboid at (10,0,0) with size (12,13,15),&lt;/li&gt;&#xA;&lt;li&gt;a cuboid at (0,10,0) with size (10,10,10),&lt;/li&gt;&#xA;&lt;li&gt;a cuboid at (0,0,10) with size (10,10,10), and&lt;/li&gt;&#xA;&lt;li&gt;a cuboid at (10,10,10) with size (9,9,9).&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Then, the largest cube contained in the union of these cuboids will be a cube starting at (0,0,0) with size (19,19,19).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A more general version of this question: &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Given a collection of $n$ boxes in&#xA;  $\mathbb{R}^d$, find the largest hypercube&#xA;  contained within the union of the boxes.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="4032" LastEditorUserId="1800" LastEditDate="2011-03-02T01:33:40.573" LastActivityDate="2011-03-02T11:06:51.527" Title="Find a largest cube contained in the union of cuboids" Tags="&lt;ds.algorithms&gt;&lt;cg.comp-geom&gt;" AnswerCount="2" CommentCount="5" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="5199" PostTypeId="2" ParentId="1198" CreationDate="2011-02-28T00:02:46.973" Score="16" Body="&lt;p&gt;I do not know if this is a video lecture that everyone should watch, but I have decided on watching these to learn some Algebraic Topology. Seems pretty good to me so far.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.youtube.com/watch?v=kdpbfOzkJzI&amp;amp;feature=related&quot;&gt;Algebraic Topology Lectures&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT&lt;/strong&gt; &lt;em&gt;(Added Later)&lt;/em&gt;. Another nice set of video lectures&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://courses.csail.mit.edu/6.889/fall11/lectures/&quot;&gt;Here is&lt;/a&gt; another wonderful set of lectures by Erik Demaine. The course is called &lt;a href=&quot;http://courses.csail.mit.edu/6.889/fall11/&quot;&gt;Planar Graph Algorithms and Beyond&lt;/a&gt; and is being taught by Erik Demaine, Shay Mozes, Christian Sommer and Siamak Tazari. They are also using some sections of Phil Kliens draft on Planar Graphs. I feel certain that it will make a great book after having seen the first two lectures.&lt;/p&gt;&#xA;" OwnerUserId="55" LastEditorUserId="55" LastEditDate="2011-11-12T22:10:31.893" LastActivityDate="2011-11-12T22:10:31.893" CommentCount="1" CommunityOwnedDate="2011-02-28T00:02:46.973" ContentLicense="CC BY-SA 3.0" />
  <row Id="5200" PostTypeId="1" CreationDate="2011-02-28T01:04:53.883" Score="7" ViewCount="1331" Body="&lt;p&gt;What is the best place to start for someone in Computer Science with a graduate level background in linear algebra, probability theory, and graph theory?&lt;/p&gt;&#xA;" OwnerUserId="4034" LastEditorUserId="4034" LastEditDate="2011-03-06T04:09:11.220" LastActivityDate="2011-03-08T05:32:19.077" Title="What is an accessible introduction to Percolation Theory?" Tags="&lt;reference-request&gt;&lt;graph-theory&gt;&lt;percolation&gt;" AnswerCount="7" CommentCount="4" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="5201" PostTypeId="2" ParentId="5195" CreationDate="2011-02-28T01:08:40.090" Score="10" Body="&lt;p&gt;P. M. Camerini (1978), The min-max spanning tree problem and some extensions, &lt;em&gt;Information Processing Letters&lt;/em&gt; &lt;strong&gt;7&lt;/strong&gt; (1): 10–14, doi:&lt;a href=&quot;http://dx.doi.org/10.1016/0020-0190%2878%2990030-3&quot;&gt;10.1016/0020-0190(78)90030-3&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2011-02-28T01:08:40.090" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="5202" PostTypeId="2" ParentId="1198" CreationDate="2011-02-28T01:20:01.113" Score="12" Body="&lt;p&gt;I enjoyed Scott Aaronson's &lt;a href=&quot;http://www.youtube.com/watch?v=SczraSQE3MY&quot;&gt;lecture at Caltech&lt;/a&gt; titled &quot;Quantum Computing and the Limits of the Efficiently Computable.&quot; This lecture, which was in honor of Feynman, rehashes what's common knowledge to users of this site but in a very clear and funny way.&lt;/p&gt;&#xA;" OwnerUserId="969" LastActivityDate="2011-02-28T01:20:01.113" CommentCount="0" CommunityOwnedDate="2011-02-28T01:20:01.113" ContentLicense="CC BY-SA 2.5" />
  <row Id="5206" PostTypeId="2" ParentId="5188" CreationDate="2011-02-28T09:55:47.323" Score="36" Body="&lt;p&gt;I use these 3 slides to show why it so hard (impossible?) to come up with a fast algorithm for an NP problem:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/MeDkj.png&quot; alt=&quot;Bin packing&quot;&gt;&#xA;&lt;img src=&quot;https://i.stack.imgur.com/eNbe7.png&quot; alt=&quot;Bin packing is NP complete 1&quot;&gt;&#xA;&lt;img src=&quot;https://i.stack.imgur.com/Bhtsx.png&quot; alt=&quot;Bin packing is NP complete 2&quot;&gt;&lt;/p&gt;&#xA;" OwnerUserId="3243" LastActivityDate="2011-02-28T09:55:47.323" CommentCount="6" CommunityOwnedDate="2011-02-28T09:55:47.323" ContentLicense="CC BY-SA 2.5" />
  <row Id="5207" PostTypeId="2" ParentId="5188" CreationDate="2011-02-28T13:25:00.553" Score="1" Body="&lt;p&gt;I'm a bit skeptical about the possibility of explaining that problem to a 10 years old, or even to a lay person, without incurring in misrepresentation of the key concepts.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;All explanations formulated in terms of &quot;easiness&quot; vs &quot;hardness&quot; of finding vs checking solutions assume the Cobham's thesis, which is arguably false in the general case, and can be considered little more than a rule of thumb at best.&lt;/p&gt;&#xA;" OwnerUserId="1749" LastActivityDate="2011-02-28T13:25:00.553" CommentCount="6" CommunityOwnedDate="2011-02-28T13:25:00.553" ContentLicense="CC BY-SA 2.5" />
  <row Id="5208" PostTypeId="2" ParentId="5188" CreationDate="2011-02-28T14:54:47.667" Score="19" Body="&lt;p&gt;One of the main things people use computers for is searching.  Programs like Google are even called &quot;search engines,&quot; and they are used millions of times a day.  A computer recently beat the humans on Jeopardy because it was able to search through tons of data, super fast.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But some things are hard for even computers to search.  Sounds weird, doesn't it?  One example is reverse multiplication.  Of course if I say &quot;What's 5 times 3?&quot; you can say &quot;15&quot; in a nanosecond, whooosh!  But what's the answer to, &quot;What two numbers mutliplied together equal 21?&quot;  (Wait for the answer, 7 x 3.)  Right!  Now, what two numbers multiplied together equal 23?  (Wait for the answer, or for frustration.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The only two numbers multiplied together that equal 23 are 1 and 23 itself.  That took some thinking, didn't it?  And 23 is a small number.  Think if the number were hundreds of digits long.  And the thing is, the best programs in the world can't reverse multiplication much better than a 7-year-old might try to, just testing one number, and then the next, and then the next.  Computers can do it &lt;em&gt;faster&lt;/em&gt;, but we don't really know how to tell a computer to do it &lt;em&gt;smarter&lt;/em&gt;.  People get PhD's in this stuff, and they only know how to tell computers to do reverse multiplication a little bit smarter.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So maybe there is no smarter way.  But maybe there is, and we just haven't found it yet.  That's the P/NP problem in a nutshell: if I can recognize an answer right away -- 1 times 23 is 23, duh -- does that help me &lt;em&gt;search for&lt;/em&gt; the answer faster?  People think it's so important that the person who figures out the answer, yes or no, will win a million dollars.&lt;/p&gt;&#xA;" OwnerUserId="30" LastActivityDate="2011-02-28T14:54:47.667" CommentCount="3" CommunityOwnedDate="2011-02-28T14:54:47.667" ContentLicense="CC BY-SA 2.5" />
  <row Id="5210" PostTypeId="2" ParentId="5200" CreationDate="2011-02-28T16:19:52.147" Score="9" Body="&lt;p&gt;I can't give you a comparison of different options but I can at least tell you that I (having that background) really liked &lt;a href=&quot;http://www.springer.com/mathematics/probability/book/978-3-540-64902-1&quot;&gt;Grimmett's book&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As an aside: would this have been better as a comment?  I was debating with myself and could not decide.&lt;/p&gt;&#xA;" OwnerUserId="664" LastActivityDate="2011-02-28T16:19:52.147" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="5211" PostTypeId="2" ParentId="5164" CreationDate="2011-02-28T18:16:47.297" Score="7" Body="&lt;p&gt;The conjecture is not only false, but false for standard and seemingly-minimal models of reversible CA. Specifically, in Margolus' billiard ball model (with the &lt;a href=&quot;http://en.wikipedia.org/wiki/Block_cellular_automaton&quot;&gt;Margolus neighborhood&lt;/a&gt;), suitably aligned large blocks of live cells act as barriers and mirrors, isolating anything beyond them. &lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2011-02-28T18:16:47.297" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="5212" PostTypeId="2" ParentId="5164" CreationDate="2011-02-28T18:18:49.807" Score="6" Body="&lt;p&gt;I've been thinking about your problem a little more, and I think separating the Turing-universality from the isolation part may be quite hard. For example, consider a Turing-universal CA with states 0,1,2, where the Turing-universal computations never use two 2's in adjacent cells. You could also have arrange the rules so that if there are two 2's in adjacent cells, they will never be changed. I am fairly sure that one can devise such a Turing-universal CAs so that if you without the state 2, the CA is not universal. You then can't just drop the state 2, as required by property 1. I think this would also evade your new property 2, although maybe not if you required the CA to use all the rules. But it seems like it might be quite difficult to come up with a reformulation which would evade all examples such as this. &lt;/p&gt;&#xA;" OwnerUserId="1677" LastActivityDate="2011-02-28T18:18:49.807" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="5213" PostTypeId="1" CreationDate="2011-02-28T18:27:10.747" Score="13" ViewCount="519" Body="&lt;p&gt;Assuming NP != coNP, then there is no polynomial size certificate for coNP-complete problem. But what about subexponential size certificate? Particularly for coSAT, is there subexponential size proof to prove a formula is unsatisfiable? If not, what is the negative evidence? Thanks&lt;/p&gt;&#xA;" OwnerUserId="875" LastEditorUserId="186" LastEditDate="2011-02-28T19:59:26.767" LastActivityDate="2011-02-28T21:40:59.307" Title="Does coNP-complete problem have subexponential size certificate?" Tags="&lt;cc.complexity-theory&gt;&lt;proof-complexity&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="5214" PostTypeId="2" ParentId="5213" CreationDate="2011-02-28T19:21:14.803" Score="7" Body="&lt;p&gt;One possible implication of this would be that $NEXP \nsubseteq P/poly$ from Ryan William's result (since you would then have an co-nondeterministic algorithm for CircuitSAT running in time faster than exponential). Not really negative evidence, but still...&lt;/p&gt;&#xA;" OwnerUserId="877" LastActivityDate="2011-02-28T19:21:14.803" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="5215" PostTypeId="2" ParentId="5213" CreationDate="2011-02-28T19:58:51.040" Score="12" Body="&lt;p&gt;This is the topic of proof complexity, i.e. the size of certificates for the $\mathbf{co\text{-}NP}\text{-}complete$ problem $TAUT$ ($= coSAT$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The short answer is: it is open.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the negative side, we cannot even show that there are not polysize $Frege$ refutations for unsatisfiable formulas (let alone the general question of showing this for an arbitrary proof system, a propositional proof system can be thought as a nondeterministic algorithm for $TAUT$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The question is also equivalent to $\mathbf{coNP} \subseteq NTime(2^{o(n)})$.&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2011-02-28T21:40:59.307" LastActivityDate="2011-02-28T21:40:59.307" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="5216" PostTypeId="2" ParentId="5200" CreationDate="2011-02-28T19:59:47.483" Score="4" Body="&lt;p&gt;Same disclaimer as &lt;a href=&quot;https://cstheory.stackexchange.com/questions/5200/what-is-an-accessible-introduction-to-percolation-theory/5210#5210&quot;&gt;Per Austrin's answer&lt;/a&gt;, but I really enjoyed the book by &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0521872324&quot; rel=&quot;nofollow noreferrer&quot;&gt;Bollobas and Riordan&lt;/a&gt; having your background.&lt;/p&gt;&#xA;" OwnerUserId="15" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2011-02-28T19:59:47.483" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5217" PostTypeId="2" ParentId="5200" CreationDate="2011-02-28T20:18:59.173" Score="4" Body="&lt;p&gt;You could have a look &lt;a href=&quot;http://www.cse.iitd.ernet.in/~bagchi/courses/CSL866_07-08/&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT&lt;/strong&gt; I should have added that these are the lectures by Amitabha Bagchi at IIT Delhi&lt;/p&gt;&#xA;" OwnerUserId="55" LastEditorUserId="55" LastEditDate="2011-03-02T01:47:17.463" LastActivityDate="2011-03-02T01:47:17.463" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5218" PostTypeId="2" ParentId="4595" CreationDate="2011-02-28T20:44:34.967" Score="7" Body="&lt;p&gt;From when I left (but are probably still relevant):&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Distributed processing:&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Compiling the application to run on a distributed cluster of processors.&lt;br&gt;&#xA;This requires taking into consideration memory mapping (distribution of problem data) of data to processors and adding explicit code to request memory pages for reading/writing before they are actually needed to prevent processors stalls.&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;li&gt;Parallel processing:&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Compiler generated threaded code.&lt;br&gt;&#xA;Removing the need for developers to explicitly generate threaded code (because they are generally very bad at it).&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="4043" LastActivityDate="2011-02-28T20:44:34.967" CommentCount="0" CommunityOwnedDate="2011-02-28T20:44:34.967" ContentLicense="CC BY-SA 2.5" />
  <row Id="5220" PostTypeId="2" ParentId="5200" CreationDate="2011-02-28T22:53:24.653" Score="5" Body="&lt;p&gt;I found &lt;a href=&quot;http://books.google.com/books?id=bAIM1_EoQu0C&amp;amp;printsec=frontcover&amp;amp;dq=Complexity+christensen&amp;amp;source=bl&amp;amp;ots=yppfJB0iKe&amp;amp;sig=vxWCkaH8PrrOYxYK-Edcdnf8D2E&amp;amp;hl=en&amp;amp;ei=0SZsTbaZCMXZgQfp3eXLCg&amp;amp;sa=X&amp;amp;oi=book_result&amp;amp;ct=result&amp;amp;resnum=3&amp;amp;ved=0CCMQ6AEwAg#v=onepage&amp;amp;q&amp;amp;f=false&quot; rel=&quot;nofollow&quot;&gt;Complexity and Criticality&lt;/a&gt; by Christensen and Maloney to be an excellent introduction.  They devote a section to Percolation, another to the Ising model and the third to Self Organized Criticality.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;They stress intuition and as such I find it to be an excellent introductory text, though if you want a more technical reference, you should probably look elsewhere.&lt;/p&gt;&#xA;" OwnerUserId="834" LastActivityDate="2011-02-28T22:53:24.653" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5224" PostTypeId="1" CreationDate="2011-03-01T05:12:05.103" Score="1" ViewCount="137" Body="&lt;p&gt;I am not sure how to prove or disprove for $A_n = \{k^{n-1}, k^{n-2}, \ldots, k^0\}$ for some $k &amp;gt; 1$, the greedy method will yield solutions with minimum number of coins.  I know that each number is a subset of $k$ and that they are exponential but I dont know how I would prove or disprove this.&lt;/p&gt;&#xA;" OwnerUserId="4050" LastEditorUserId="1800" LastEditDate="2011-03-01T05:36:35.283" LastActivityDate="2011-03-01T05:36:35.283" Title="How to prove $k^{n-1}, k^{n-2}, \ldots, k^0$ will result with minimum number of coins?" Tags="&lt;ds.algorithms&gt;&lt;greedy-algorithms&gt;" AnswerCount="0" CommentCount="2" ClosedDate="2011-03-01T05:25:58.097" ContentLicense="CC BY-SA 2.5" />
  <row Id="5225" PostTypeId="2" ParentId="5198" CreationDate="2011-03-01T05:13:21.627" Score="15" Body="&lt;p&gt;Well, here is an first try silly answer... Take a plane through each face of of the rectangular boxes. This form a grid of size $O(n^3)$. It is not hard to compute for each such grid cell whether its inside the union or outside. Now, from each grid vertex, grow a cube (having this vertex as a vertex) trying to make it as large as possible. Doing it in the most naive way, this takes $O(n^3 \log n)$ time per vertex, but probably using orthogonal range searching magic, one should be able to do it in $\log^{O(1)} n$ per vertex. So $O(n^3 \log^{O(1)} n )$ should be possible...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A second try: Compute the union. In this specific case, this can be done in $O( n \log n)$ time (by sweeping planes). Now, observe that you just need to compute the $L_\infty$ voronoi diagram of the boundary of the union. Using the result: &lt;a href=&quot;http://vw.stanford.edu/~vladlen/publications/vor-polyhedral.pdf&quot; rel=&quot;nofollow&quot;&gt;http://vw.stanford.edu/~vladlen/publications/vor-polyhedral.pdf&lt;/a&gt;, this can be done in $O(n^{2+\varepsilon})$ time, for an arbitrary small constant $\varepsilon &amp;gt; 0$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Breaking the $O(n^2)$ running time bound here would be interesting, IMHO.&lt;/p&gt;&#xA;" OwnerUserId="9594" LastEditorUserId="9594" LastEditDate="2011-03-01T05:21:16.333" LastActivityDate="2011-03-01T05:21:16.333" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="5226" PostTypeId="1" CreationDate="2011-03-01T06:11:12.317" Score="14" ViewCount="372" Body="&lt;p&gt;The &lt;a href=&quot;http://www.cs.princeton.edu/~schapire/papers/pconcepts.pdf&quot;&gt;fat shattering dimension&lt;/a&gt; generalizes the notion of VC-dimension to handle function classes where the range is $(0,1)$, instead of $\{0,1\}$. Fat shattering dimension plays the same role as VC-dimension in generalization bounds in machine learning. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;While the concept (and related notions) is quite useful in machine learning, I've never seen it being used in &quot;traditional&quot; computational geometry, where VC-dimension (and the shatter dimension) play a significant role. &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Are there any places where the fat&#xA;  shatter dimension has been used in&#xA;  computational geometry ?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="80" LastActivityDate="2011-03-01T06:11:12.317" Title="Applications of fat shattering dimension in computational geometry" Tags="&lt;reference-request&gt;&lt;cg.comp-geom&gt;&lt;lg.learning&gt;&lt;vc-dimension&gt;" AnswerCount="0" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="5227" PostTypeId="2" ParentId="5200" CreationDate="2011-03-01T06:23:59.160" Score="5" Body="&lt;p&gt;And right on cue, &lt;a href=&quot;http://arxiv.org/abs/1102.5761&quot; rel=&quot;nofollow&quot;&gt;these lecture notes&lt;/a&gt; by Garban and Steif showed up on the arxiv. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2011-03-01T06:23:59.160" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5228" PostTypeId="1" AcceptedAnswerId="5231" CreationDate="2011-03-01T10:16:12.730" Score="31" ViewCount="1943" Body="&lt;p&gt;I've been reading some articles on dependent types and programming contracts. From the majority of what I've read, it seems that contracts are dynamically checked constraints and dependent types are statically checked.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There have been some papers that have made me think that it's possible to have contracts that are partially statically checked:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.93.3743&amp;amp;rep=rep1&amp;amp;type=pdf&quot;&gt;Hybrid Type Checking&lt;/a&gt; (C. Flanagan - 2006)&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://sage.soe.ucsc.edu/tfp07-gronski-flanagan.pdf&quot;&gt;Unifying Hybrid Types and Contracts&lt;/a&gt; (J. Gronski, C. Flanagan - 2007)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;With this, there seems to be a significant amount of overlap and my categorisation of contracts vs dependent types starts to disappear.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there something deeper in either concepts that I'm missing? Or are these really just fuzzy categories of representing the same underlying concept?&lt;/p&gt;&#xA;" OwnerUserId="4052" LastEditorUserId="1331" LastEditDate="2014-06-09T17:58:42.007" LastActivityDate="2014-06-09T17:58:42.007" Title="Relationship between contracts and dependent typing" Tags="&lt;pl.programming-languages&gt;&lt;type-theory&gt;&lt;program-verification&gt;&lt;dependent-type&gt;" AnswerCount="4" CommentCount="0" FavoriteCount="16" ContentLicense="CC BY-SA 2.5" />
  <row Id="5229" PostTypeId="2" ParentId="5228" CreationDate="2011-03-01T11:00:37.843" Score="6" Body="&lt;p&gt;Both contracts and types allow you to represent Hoare-style (pre/post condition) specifications on functions. Both can be checked either statically at compile time or dynamically at runtime.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Dependent types allow you to encode a very wide range of properties in the type system, the kinds of properties that contract programmers expect. This is because they can &lt;em&gt;depend&lt;/em&gt; on the values of the type. Dependent types have a tendency to be checked statically although I believe the papers you cited look at alternative approaches.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Ultimately, there is little difference. I think it is more that dependent types are a logic in which you can express specifications whereas contracts are a programming methodology in which you do express specifications.&lt;/p&gt;&#xA;" OwnerUserId="324" LastActivityDate="2011-03-01T11:00:37.843" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="5230" PostTypeId="2" ParentId="5228" CreationDate="2011-03-01T11:07:12.143" Score="13" Body="&lt;p&gt;The (fairly abstract) problem that both types and contracts attack is &quot;How to ensure that programs have certain properties?&quot;. There is an inherent tension here between being able to express a wider class of properties and being able to check that a program has or not a property. Type systems usually ensure a very specific property (the program never crashes in certain ways) and have a type checking algorithm. On the other hand, contracts let you specify a very wide range of properties (say, the output of this program is a prime number) but do not come with a checking algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Nevertheless, the fact that there is no contract checking algorithm (which always works) does not mean that there are no almost contract checking algorithms (which tend to work in practice). I would recommend you look at &lt;a href=&quot;http://research.microsoft.com/en-us/projects/specsharp/&quot;&gt;Spec#&lt;/a&gt; and the &lt;a href=&quot;http://frama-c.com/jessie.html&quot;&gt;Jessie plugin of Frama-C&lt;/a&gt;. They both work by expressing &quot;this program obeys this contract&quot; as a statement in &lt;a href=&quot;http://en.wikipedia.org/wiki/First-order_logic&quot;&gt;first-order logic&lt;/a&gt; via &lt;a href=&quot;http://scholar.google.co.uk/scholar?cluster=2215741797543540501&quot;&gt;verification condition&lt;/a&gt; generation, and then asking an &lt;a href=&quot;http://combination.cs.uiowa.edu/smtlib/papers/smt-lib-reference-v2.0-r10.12.21.pdf&quot;&gt;SMT&lt;/a&gt; solver to go try to find a proof. If the solver fails to find a proof, then either the program is wrong or, well, the solver failed to find a proof that exists. (Which is why this is an &quot;almost&quot; contract checking algorithm.) There are also tools based on symbolic execution, which means roughly that &quot;this program obey this contract&quot; is expressed as a bunch of propositions (in some logic). See, for example, &lt;a href=&quot;http://scholar.google.co.uk/scholar?cluster=3520513541734269654&quot;&gt;jStar&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Flanagan's work tries to take what's best from both worlds such that you can quickly check type-like properties and then labour for the rest. I am not really familiar with hybrid types, but I do remember the author saying that his motivation was to come up with a solution that requires fewer annotations (than his previous work on ESC/Java did). In a sense, however, there is some loose integration between types and contracts in ESC/Java (and Spec#) too: when checking contracts, the solver is told that type-checking succeeded so it can se that information.&lt;/p&gt;&#xA;" OwnerUserId="236" LastActivityDate="2011-03-01T11:07:12.143" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5231" PostTypeId="2" ParentId="5228" CreationDate="2011-03-01T11:51:39.220" Score="26" Body="&lt;p&gt;On a practical level, contracts are assertions. They let you check (quantifier-free) properties of individual executions of a program. The key idea at the heart of contract checking is the idea of blame -- basically, you want to know who is at fault for a contract violation. This can either be an implementation (which does not compute the value it promised) or the caller (who passed a function the wrong sort of value). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The key insight is that you can track blame using the same machinery as embedding-projection pairs in the inverse limit construction of domain theory. Basically, you switch from working with assertions to working with pairs of assertions, one of which blames the program context and the other of which blames the program. Then this lets you wrap higher-order functions with contracts, because you can model the contravariance of the function space by swapping the pair of assertions. (See Nick Benton's paper &lt;a href=&quot;http://www.springerlink.com/content/d0vv8g7774666526/&quot;&gt;&quot;Undoing Dynamic Typing&quot;&lt;/a&gt;, for example.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Dependent types are types. Types specify rules for asserting whether or not certain programs are acceptable or not. As a result, they do not include things like the notion of blame, since their function is to prevent ill-behaved programs from existing in the first place. There is nothing to blamed since only well-formed programs are even grammatical utterances. Pragmatically, this means that it is very easy to use dependent types to speak of properties of terms with quantifiers (eg., that a function works for all inputs). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;These two views are not the same, but they are related. Basically, the point is that with contracts, we  start with a universal domain of values, and use contracts to cut things down. But when we use types, we try to specify smaller domains of values (with a desired property) up front. So we can connect the two via type-directed families of relations (ie logical relations). For example, see Ahmed, Findler, Siek and Wadler's recent &lt;a href=&quot;http://www.cs.indiana.edu/~amal/papers/blameall.pdf&quot;&gt;&quot;Blame for All&quot;&lt;/a&gt;, or Reynolds' &lt;a href=&quot;http://repository.cmu.edu/cgi/viewcontent.cgi?article=2290&amp;amp;context=compsci&quot;&gt;&quot;The Meaning of Types: from Intrinsic to Extrinsic Semantics&quot;&lt;/a&gt;. &lt;/p&gt;&#xA;" OwnerUserId="657" LastActivityDate="2011-03-01T11:51:39.220" CommentCount="8" ContentLicense="CC BY-SA 2.5" />
  <row Id="5232" PostTypeId="2" ParentId="5170" CreationDate="2011-03-01T16:07:27.993" Score="12" Body="&lt;p&gt;This LP is half-integral for all graphs, i.e., an optimal solution exists such that each variable is in {0,1/2,1}. It simply follows from a theorem of Nemhauser and Trotter. Of course the same conclusion of half-integrality follows for the LP of the complement problem (vertex cover). When the graph is bipartite the solution is integral. It follows simply from max-flow min-cut theorem or working with extreme point solutions of this LP. Also, the 1/2 edges form an odd-cycle. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course, this LP is no good for solving IS problem. Adding Clique constraints or SDPs are a much better approach. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Vertex packings: structural properties and algorithms&#xA;GL Nemhauser and Trotter- Math. Program., 1975&lt;/p&gt;&#xA;" OwnerUserId="286" LastActivityDate="2011-03-01T16:07:27.993" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="5233" PostTypeId="2" ParentId="5188" CreationDate="2011-03-01T18:57:25.663" Score="0" Body="&lt;p&gt;And here is my take at the problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Kido!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You know we face many problems in our life. You can say challenges. Some are hard some are easier. For example, you often need to add two numbers. And last evening, we were on the chess board and we had to win against our neighbour. Well, adding two numbers is a simple and straight problem with limited steps involved. Such problems are called P class problems because there are many many problems that are pretty straightforward with discrete steps that are to be repeated over and over to get a solution.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the ohter hand, last night on our chest game, what would be the best strategy to win the game? We could move the first pawn one step, or the second pawn one step, or we could move second pawn two steps and first pawn one step so you see there are lots and lots of possibilities. But is there a way for us or a recipie that gives us a complete ordered sets of moves that yield a best and to a checkmate? So you see it is quit hard because there are so many possibilites one each step. Billions and Billions as Carl Sagan says.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But dear what if I tell you all the board positions and ask you is it a checkmate? Surely you will be able to quickly tell within few examinations whether there are any legal moves left for the king. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;So such problems which are hard to solve but if their solution is easily verifiable in few simple steps, they are called NP problems. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now you ask what P = NP means? Actually this question means that is there a way that we can find a simpleler solutuion for finding the best strategy or ordered list of moves for a chess game without going through all the billions of possibilities just like we do for a simple addition? This simple quesiton is yet unanswered. We have neither any proof for it's truth or for rejection but if we do, it will be breakthrough. If it comes out to be true, our civilization might get to solve very complex probelms by turning them into P class problems. People will be able to break passwords wihtin seconds, messages will be decrypted and much much more and that is why this problem is considered to be one of the most important probelms of the millenium. &lt;/p&gt;&#xA;" OwnerUserId="4023" LastActivityDate="2011-03-01T18:57:25.663" CommentCount="5" CommunityOwnedDate="2011-03-01T18:57:25.663" ContentLicense="CC BY-SA 2.5" />
  <row Id="5234" PostTypeId="1" AcceptedAnswerId="5244" CreationDate="2011-03-01T19:02:46.657" Score="11" ViewCount="664" Body="&lt;p&gt;The Minkowski sum of two sets of vectors $A, B \in R^d$ is given by &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$ A \oplus B  = \{ a + b \mid a \in A, b \in B \}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I just heard an interesting problem (attributed to Dan Halperin): Given a shape $B$, does there exist a shape $A$ such that $A \oplus A = B$ ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But that's not my question (it appears to be an open problem). Observe that in the above problem, if $B$ is a convex set, then there exists a solution $A = (1/2)B$ since convex sets are closed under the taking of Minkowski sums. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Fix a class of shapes ${\cal S}$. We say that ${\cal S}$ is &lt;em&gt;closed&lt;/em&gt; under Minkowski sums if for any $A, B \in {\cal S}, A \oplus B \in {\cal S}$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;So my question is:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there a nice characterization of&#xA;  classes of shapes ${\cal S}$ that are&#xA;  closed under Minkowski sums ?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="80" LastEditorUserId="80" LastEditDate="2011-03-01T21:39:41.640" LastActivityDate="2011-03-02T16:56:51.607" Title="Closure under Minkowski sum." Tags="&lt;cg.comp-geom&gt;" AnswerCount="1" CommentCount="7" FavoriteCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="5235" PostTypeId="1" CreationDate="2011-02-28T10:52:13.013" Score="26" ViewCount="1137" Body="&lt;p&gt;Given that the &lt;a href=&quot;http://en.wikipedia.org/wiki/Curry%E2%80%93Howard_correspondence&quot;&gt;Curry-Howard Correspondence&lt;/a&gt; is so widely spread/extended, is there any difference between proofs and programs (or between propositions and types)? Can we really identify them?&lt;/p&gt;&#xA;" OwnerUserId="656" OwnerDisplayName="plmday" LastEditorUserId="1800" LastEditDate="2011-03-02T00:46:56.213" LastActivityDate="2011-03-05T02:54:43.413" Title="What is the difference between proofs and programs (or between propositions and types)?" Tags="&lt;lo.logic&gt;&lt;pl.programming-languages&gt;" AnswerCount="5" CommentCount="6" FavoriteCount="11" ContentLicense="CC BY-SA 2.5" />
  <row Id="5236" PostTypeId="2" ParentId="5235" CreationDate="2011-02-28T13:27:29.003" Score="5" Body="&lt;p&gt;Proof irrelevance?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;When you write some program, you are interested in its performance, memory consumption etc.&lt;br&gt;&#xA;E.g it's better to use some clever sorting algorithm instead of bubble sort, even if their implementations have same types (even in dependent type setting).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But when you prove some theorem it is only existence of a proof you are interested in.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course, from aesthetic point of view, some proofs are more simple/beautiful/inspiring/etc (e.g. proofs from The Book).&lt;/p&gt;&#xA;" OwnerUserId="4051" OwnerDisplayName="max taldykin" LastActivityDate="2011-02-28T13:27:29.003" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5237" PostTypeId="2" ParentId="5235" CreationDate="2011-03-01T19:28:15.623" Score="20" Body="&lt;p&gt;The programming languages people use day to day don't fit so well into the Curry-Howard correspondence, because their type systems are too weak. To say something interesting using Curry-Howard for imperative programs, one needs to have a more sophisticated type system. The book &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0387237593&quot;&gt;Adapting Proofs-as-programs&lt;/a&gt; pushes this angle with the aim of synthesising imperative programs. With dependent types becoming more and more popular, certainly in research functional languages (&lt;a href=&quot;http://wiki.portal.chalmers.se/agda/pmwiki.php&quot;&gt;Agda&lt;/a&gt;, &lt;a href=&quot;http://www.e-pig.org/darcs/Pig09/web/&quot;&gt;Epigram&lt;/a&gt;), the distinction is becoming blurrier. Of course you can do program synthesis/extraction within the &lt;a href=&quot;http://coq.inria.fr/&quot;&gt;Coq&lt;/a&gt; theorem prover (and presumably others), which is of course based on Curry-Howard.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The Curry-Howard correspondence can also be used in situations where the proofs do not so clearly correspond to programs (or they are not programs anyone will ever run). One example of this is in &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.129.1811&amp;amp;rep=rep1&amp;amp;type=pdf&quot;&gt;Proof-carrying authorization&lt;/a&gt;. The propositions correspond to statements about who is authorized to do what. Proofs provide the required evidence that a proposition holds, thus an authorization request is permitted. In order to encode the proofs, proof terms are introduced (via Curry-Howard). Proof terms are sent between parties as representations of proofs of the validity of authorization requests, but they are not considered programs.&lt;/p&gt;&#xA;" OwnerUserId="77" LastEditorUserId="77" LastEditDate="2011-03-01T20:32:38.610" LastActivityDate="2011-03-01T20:32:38.610" CommentCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="5238" PostTypeId="2" ParentId="4769" CreationDate="2011-03-01T21:09:40.473" Score="7" Body="&lt;p&gt;I think that it is linked to the PCP theorem (in particular $NP = PCP[O(\log{n}), O(1)]$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An excerpt from a &lt;a href=&quot;http://people.csail.mit.edu/dmoshkov/courses/pcp/dinur_pcp_overview.pdf&quot;&gt;Madhu's paper&lt;/a&gt;:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;... The notion that a verifier can perform any polynomial time computation enriches the class of theorems and proofs considerably and starts to offer highly non-trivial methods of proving theorems. (One immediate consequence is that we can assume theorems/proofs/assertions/arguments are binary sequences and we will do so henceforth.) For instance, suppose we have an assertion $A$ (say the Riemann Hypothesis), and say we believe that it has proof which would fit within a 10,000 page article. The computational perspective says that given $A$ and this bound (10,000 pages), one can efficiently compute three positive integers $N, L, U$ with $L \leq U \leq N$ such that $A$ is true if and only if $N$ has a divisor between $L$ and $U$. The integers $N$, $L$, and $U$ will be quite long (maybe writing them would take a million pages), yet they can be produced extremely efficiently (in less than the amount of time it would take a printer to print out all these integers, which is certainly at most a day or two). (This specific example is based on a result due to &lt;strong&gt;Joe Kilian&lt;/strong&gt;, personal communication) ...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;... far beyond my complexity theory skills :-)&lt;/p&gt;&#xA;" OwnerUserId="3247" LastActivityDate="2011-03-01T21:09:40.473" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="5239" PostTypeId="2" ParentId="5235" CreationDate="2011-03-02T00:02:26.267" Score="7" Body="&lt;p&gt;I will go out on a limb here and say that, if you are willing to squint a bit, proofs and &lt;strong&gt;terminating&lt;/strong&gt; programs can be identified.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any terminating program is a proof that you can take its input and produce its output.  This is a very basic kind of proof of implication.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course, to make this implication carry information more meaningful than stating the obvious, you need to be able to show that the program works for any and all instances of input drawn form some class with logical meaning. (And so too for the output.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;From the other direction, any proof with finite inference steps is a symbolic program manipulating objects in some logical system. (If we don't worry too much about what the logical symbols and rules mean computationally.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Types and propositions can be made to work similarly.  Any type T can be assigned the proposition $\exists x : x \vdash T$ with obvious truth conditions.  Any proposition can be turned into the type of it's proofs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is pretty simplistic, but I think it does suggest the robustness of the idea.  (Even if some people are bound not to like it. ;-) )&lt;/p&gt;&#xA;" OwnerUserId="629" LastActivityDate="2011-03-02T00:02:26.267" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="5240" PostTypeId="2" ParentId="1198" CreationDate="2011-03-02T00:17:18.490" Score="11" Body="&lt;p&gt;&lt;a href=&quot;http://cel.archives-ouvertes.fr/cel-00092979/en/&quot;&gt;Quantum Information, Computation and Complexity&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="3213" LastActivityDate="2011-03-02T00:17:18.490" CommentCount="1" CommunityOwnedDate="2011-03-02T00:17:18.490" ContentLicense="CC BY-SA 2.5" />
  <row Id="5242" PostTypeId="2" ParentId="5235" CreationDate="2011-03-02T01:56:41.000" Score="10" Body="&lt;p&gt;In Coq, there are 2 types (Prop and Set), they are used by the programmer to separate what are proofs that won't produce actual code and the part of the proof that will be used to extract running code (your program).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;That is a nice solution for the problem you ask about, how to identify what is meant to generate machine code (program) and what is present to complete the proof of the proposition (or type). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;AFAIK there is no automatic way to distinguish both. This might be something interesting for research? Or maybe someone is able to point out it's clearly impossible?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;With dependent types not only there isn't a clear distinction between proofs and programs but also there isn't a distinction between programs and types!&#xA;The only distinction will be where the type(or program) appear, making it part of the &quot;program&quot; place or of the &quot;type&quot; place of a given term.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An example will make it clearer i hope:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;When you use the identity function with dependent types you need to pass the type your are going to use the function with! The type is being used as a value in your &quot;program&quot;!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Untyped Lambda Calculus:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;id = $\lambda{x}.x$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;With Dependent Types:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;id : (A : Set) -&gt; A -&gt; A&lt;/p&gt;&#xA;&#xA;&lt;p&gt;id = $(\lambda{A}.(\lambda{x}.x))$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you are using this function, then you would do it like this example:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;id Naturals 1&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Notice that the &quot;type&quot; (in this case the Set of Naturals) being passed as a value is thrown away so it will never be computed, but still it's in the &quot;program&quot; part of the term. That's what also will happen with the &quot;proof&quot; parts, they need to be there for the term to type-check but during computation they will be thrown away.&lt;/p&gt;&#xA;" OwnerUserId="3968" LastEditorUserId="3968" LastEditDate="2011-03-02T02:14:38.323" LastActivityDate="2011-03-02T02:14:38.323" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5243" PostTypeId="1" CreationDate="2011-03-02T04:29:56.077" Score="2" ViewCount="131" Body="&lt;p&gt;&lt;strong&gt;Digital signatures&lt;/strong&gt; allow an entity to sign a digital message so that it is easy to verify the signature, but it is hard to forge a valid signature on a given message.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is sometimes useful to be able to delegate the signing to some proxy. The &lt;strong&gt;proxy signature schemes&lt;/strong&gt; allow proxy signers to sign messages on behalf of an original signer, a company or an organization. &lt;a href=&quot;http://www.schneier.com/book-applied-toc.html&quot; rel=&quot;nofollow&quot;&gt;Bruce Schneier&lt;/a&gt; describes this as follows:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Alice, for instance, needs to go on a business trip to someplace which doesn’t have very good computer network access—to the jungles of Africa, for example. Or maybe she is incapacitated after major surgery. She expects to receive some important e-mail, and has instructed her secretary Bob to respond accordingly. How can Alice give Bob the power to sign messages for her, without giving him her private key? &lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;Proxy signatures is a solution. Alice can give Bob a proxy, such that the following properties hold:&lt;/p&gt;&#xA;  &#xA;  &lt;ul&gt;&#xA;  &lt;li&gt;&lt;strong&gt;Distinguishability&lt;/strong&gt;. Proxy signatures are distinguishable from normal signatures by anyone. &lt;/li&gt;&#xA;  &lt;li&gt;&lt;strong&gt;Unforgeability&lt;/strong&gt;. Only the original signer and the designated proxy signer can create a valid proxy signature. &lt;/li&gt;&#xA;  &lt;li&gt;&lt;strong&gt;Proxy signer’s deviation&lt;/strong&gt;. A proxy signer cannot create a valid proxy signature not detected as a proxy signature. &lt;/li&gt;&#xA;  &lt;li&gt;&lt;strong&gt;Verifiability&lt;/strong&gt;. From a proxy signature, a verifier can be convinced of the original signer’s agreement on the signed message. &lt;/li&gt;&#xA;  &lt;li&gt;&lt;strong&gt;Identifiability&lt;/strong&gt;. An original signer can determine the proxy signer’s identity from a proxy signature. &lt;/li&gt;&#xA;  &lt;li&gt;&lt;strong&gt;Undeniability&lt;/strong&gt;. A proxy signer cannot disavow an accepted proxy signature he created. &#xA;  In some cases, a stronger form of identifiability is required—that anyone can determine the proxy signer’s identity from the proxy signature.&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;But what exactly is &lt;strong&gt;proxy re-signatures&lt;/strong&gt;? How and why is it performed? Does it use the same warrant generating and proxy signing mechanisms?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Context: Thinking on a new model for signatures. Was trying to combine the Sanitizable with Proxy Re-Signatures. Will it make a meaningful model and have any useful application?&lt;/p&gt;&#xA;" OwnerUserId="4385" LastEditorUserId="873" LastEditDate="2011-03-04T12:01:00.570" LastActivityDate="2011-03-04T12:01:00.570" Title="What is the notion behind proxy re-signatures?" Tags="&lt;cr.crypto-security&gt;" AnswerCount="0" CommentCount="6" ContentLicense="CC BY-SA 2.5" />
  <row Id="5244" PostTypeId="2" ParentId="5234" CreationDate="2011-03-02T05:15:43.340" Score="6" Body="&lt;p&gt;Lattices and linear subspaces are closed under Minkowski sum. Thats more or less immediate from their definition. Lattices+linear subspaces are closed under Minkowski sum (i.e., a member of this set is for example a set of parallel lines in distance 1 from each other). Connected polygons with holes are closed under Minkowski sum. Rings [the set differences of two concentric disks] are closed under Minkowski sum (a disk is considered to be a ring, naturally). The set of line segments parallel to a certain direction are closed under Minkowski sum. Mushed potatoes are closed under Minkowski sum, but only if they are well cooked (or maybe not, it is too late)...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, the family of finite union of concentric rings is closed under Minkowski sum. &lt;/p&gt;&#xA;" OwnerUserId="9594" LastEditorUserId="9594" LastEditDate="2011-03-02T16:56:51.607" LastActivityDate="2011-03-02T16:56:51.607" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5245" PostTypeId="1" AcceptedAnswerId="5265" CreationDate="2011-03-02T10:45:31.780" Score="30" ViewCount="2068" Body="&lt;p&gt;This is a follow up question to &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/q/5235/&quot;&gt;What is the difference between proofs and programs (or between propositions and types)?&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What program would correspond to a non-constructive (classical) proof of the form $\forall k \ T(e,k) \lor \lnot \forall k \ T(e,k)$? (Assume that $T$ is some interesting decidable relation e.g. $e$-th TM does not halt in $k$ steps.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(ps: I am posting this question partly because I am interested in learning more about what Neel means by &quot;&lt;a href=&quot;https://cstheory.stackexchange.com/questions/5235/what-is-the-difference-between-proofs-and-programs-or-between-propositions-and-t/5237#5237&quot;&gt;the Godel-Gentzen translation&lt;/a&gt; is a continuation-passing transformation&quot; in &lt;a href=&quot;https://cstheory.stackexchange.com/questions/5235/what-is-the-difference-between-proofs-and-programs-or-between-propositions-and-t/5237#5237&quot;&gt;his comment&lt;/a&gt;.)&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2011-03-20T14:11:56.543" Title="Curry-Howard and programs from non-constructive proofs" Tags="&lt;lo.logic&gt;&lt;pl.programming-languages&gt;&lt;proof-theory&gt;" AnswerCount="3" CommentCount="6" FavoriteCount="13" ContentLicense="CC BY-SA 2.5" />
  <row Id="5246" PostTypeId="2" ParentId="5198" CreationDate="2011-03-02T11:06:51.527" Score="8" Body="&lt;p&gt;The answer to the general question about $R^d$ would seem to be that it is NP-hard. The proof is fairly simple. We simply take a 3SAT instance on $d$ variables and associate each variable with a dimension. Think of the space as a space of possible assignments of variables: we only consider points between -1 and +1 in each dimesnion, and associate locations $&amp;lt;0$ with an assignment of 0 for that variable and $&amp;gt;0$ with an assignment of 1. Each clause excludes a region given by a $1 \times 1 \times 1 \times n \times n \times n ... \times n$ hypercuboid.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If the union of these cuboids fills the space (and so contains a $2 \times 2 \times ... \times 2$ cube), then there is no satisfying assignment of variables for the 3SAT instance. If however the largest cube contained is $1 \times 1 \times ... \times 1$ or 0 (for no clauses), the only other possibilities, then a satisfying assignment of variables exists.&lt;/p&gt;&#xA;" OwnerUserId="204" LastActivityDate="2011-03-02T11:06:51.527" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="5247" PostTypeId="1" CreationDate="2011-03-02T11:36:11.003" Score="16" ViewCount="454" Body="&lt;p&gt;It is well known that random $ k $-CNF formulas over $ n $ variables with $ cn $ clauses are unsatisfiable (i.e. they are contradictions) with high probability, for sufficiently large constant $ c $. Thus, random $ k $-CNF formulas (for $ c $ large enough) constitute a natural distribution over unsatisfiable Boolean formulas (or dually, over tautologies, i.e. negations of contradictions). This distribution has been studied extensively.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;My question is the following&lt;/strong&gt;: &lt;em&gt;are there any other established distributions over propositional tautologies or contradictions, that can be considered as capturing the &quot;average-case&quot; of tautologies or unsatisfiable formulas? Have these distributions been intensively studied?&lt;/em&gt;&lt;/p&gt;&#xA;" OwnerUserId="78" LastEditorUserId="78" LastEditDate="2011-03-04T01:37:33.780" LastActivityDate="2011-09-23T12:58:09.340" Title="Average-case tautologies/contradictions, beyond the random k-CNF model" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;lo.logic&gt;&lt;sat&gt;&lt;random-k-sat&gt;" AnswerCount="1" CommentCount="9" FavoriteCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="5248" PostTypeId="2" ParentId="5117" CreationDate="2011-03-02T14:37:46.400" Score="13" Body="&lt;p&gt;Both Coq and Isabelle can do this.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[Coq]&#xA;Here is a paper discussing how to encode ZFC in CIC, on which Coq is based.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Benjamin Werner: Sets in Types, Types in Sets (1997).&#xA;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.55.1709&quot;&gt;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.55.1709&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[Isabelle]&#xA;There is a library for ZF.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.cl.cam.ac.uk/research/hvg/Isabelle/dist/library/ZF/index.html&quot;&gt;http://www.cl.cam.ac.uk/research/hvg/Isabelle/dist/library/ZF/index.html&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="249" LastActivityDate="2011-03-02T14:37:46.400" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="5249" PostTypeId="2" ParentId="4302" CreationDate="2011-03-02T15:00:24.057" Score="18" Body="&lt;p&gt;Here is an Isabelle/HOL library containing Rice's theorem, which states undecidability of a wide range of problems. Since this library models computability via recursive functions, you have to encode a universal Turing machine as a recursive function in order to use this theorem for proving undecidability of the halting problem of Turing machines.  However, the essential parts of the undecidability proof is already done.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://afp.sourceforge.net/browser_info/current/HOL/Recursion-Theory-I/index.html&quot;&gt;http://afp.sourceforge.net/browser_info/current/HOL/Recursion-Theory-I/index.html&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="249" LastActivityDate="2011-03-02T15:00:24.057" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5251" PostTypeId="1" AcceptedAnswerId="5259" CreationDate="2011-03-02T18:48:22.887" Score="37" ViewCount="2082" Body="&lt;p&gt;A number of geometric problems are easy when considered in $R^1$, but are NP-complete in $R^d$ for $d\geq2$ (including one of my favourite problems, unit disk cover). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does anyone know of a problem which is polytime solvable for $R^1$ and $R^2$, but NP-complete for $R^d,d\geq3$?  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;More generally, do problems exist which are NP-complete for $R^k$ but polytime solvable for $R^{k-1}$, where $k\geq3$?&lt;/p&gt;&#xA;" OwnerUserId="1092" LastEditorUserId="1092" LastEditDate="2011-03-02T19:04:15.540" LastActivityDate="2011-11-12T03:20:03.243" Title="Geometric problems that are NP-complete in $R^3$ but tractable in $R^2$?" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;cg.comp-geom&gt;" AnswerCount="6" CommentCount="2" FavoriteCount="7" ContentLicense="CC BY-SA 2.5" />
  <row Id="5252" PostTypeId="2" ParentId="5251" CreationDate="2011-03-02T19:23:33.753" Score="29" Body="&lt;p&gt;It's not quite what you ask, because the 3d version is even harder than NP-complete, but: Finding a shortest path between two points among polygonal obstacles in the plane is in polynomial time (most simply, construct the visibility graph of the two terminals and the polygon vertices and apply Dijkstra; there is also a more complicated O(n log n) algorithm due to Hershberger and Suri, SIAM J. Comput. 1999) but finding a shortest path among polyhedral obstacles in 3d is PSPACE-complete (Canny and Reif, FOCS 1987).&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2011-03-02T19:23:33.753" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="5255" PostTypeId="2" ParentId="5251" CreationDate="2011-03-03T00:03:31.087" Score="-2" Body="&lt;p&gt;This answer doesn't exactly answer your question, but it does have some smaller ties. Rather than answering for $R^2$ and $R^3$, I show you that this exists in $Z^2$ and $Z^3$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The 2-SAT problem (Boolean Satisfiability) is solvable in polynomial time. Although it is not necessarily &quot;geometric&quot;, there is a corresponding problem known as &lt;a href=&quot;http://en.wikipedia.org/wiki/Matching_%28graph_theory%29&quot; rel=&quot;nofollow&quot;&gt;matching&lt;/a&gt;, which is more geometric, in a sense, and maps directly with the 2-SAT problem. The name matching is a more general version of &lt;a href=&quot;http://en.wikipedia.org/wiki/3-dimensional_matching&quot; rel=&quot;nofollow&quot;&gt;k-dimensional matching&lt;/a&gt;, where $k = 2$. To reply to your question, the 3-SAT problem is NP-complete, which maps directly to the 3-dimensional matching problem, which also is NP-complete. Thus, the k-SAT problem (and thus the k-dimensional matching) is another problem that is tractable in $Z^2$ and is NP-complete in $Z^k$ where $k &amp;gt; 2$.&lt;/p&gt;&#xA;" OwnerUserId="4060" LastEditorUserId="1092" LastEditDate="2011-03-07T14:02:05.730" LastActivityDate="2011-03-07T14:02:05.730" CommentCount="6" ContentLicense="CC BY-SA 2.5" />
  <row Id="5256" PostTypeId="2" ParentId="5251" CreationDate="2011-03-03T00:39:23.497" Score="16" Body="&lt;p&gt;The realizability problem for $d$-dimensional polytopes is a candidate.  When $d \le 3$, it's polynomial-time solvable (by &lt;a href=&quot;http://en.wikipedia.org/wiki/Steinitz%27s_theorem&quot;&gt;Steinitz' theorem&lt;/a&gt;), but when $d \ge 4$, this is NP-hard.  For further information, please look at &quot;&lt;a href=&quot;http://dx.doi.org/10.1090/S0273-0979-1995-00604-X&quot;&gt;Realization spaces of 4-polytopes are universal&lt;/a&gt;&quot; by Richter-Gebert and Ziegler (there is &lt;a href=&quot;http://arxiv.org/abs/math/9510217&quot;&gt;an arxiv version&lt;/a&gt; as well), and the book &quot;&lt;a href=&quot;http://www.springer.com/mathematics/geometry/book/978-0-387-94365-7&quot;&gt;Lectures on Polytopes&lt;/a&gt;&quot; (2nd printing) by Ziegler.&lt;/p&gt;&#xA;" OwnerUserId="2955" LastActivityDate="2011-03-03T00:39:23.497" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="5257" PostTypeId="1" CreationDate="2011-03-03T00:47:59.973" Score="10" ViewCount="280" Body="&lt;p&gt;This is an idea/question inspired by the question and answer of &lt;a href=&quot;https://cstheory.stackexchange.com/questions/5143/boolean-functions-with-exponential-size-obdd-representation-in-all-orders-except&quot;&gt;Boolean functions with exponential size OBDD representation in all orders except one order?&lt;/a&gt;:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you want to prove some exponential lower bounds for some function represented by an &lt;a href=&quot;http://en.wikipedia.org/wiki/OBDD&quot; rel=&quot;nofollow noreferrer&quot;&gt;ordered binary decision diagram&lt;/a&gt; (OBDD) you have to prove this lower bound for &lt;em&gt;every&lt;/em&gt; variable ordering (a variable ordering is a permutation on the input variables). Intuitively it is often easy to prove that for a special variable ordering the OBDD size is exponential in the number of input variables. It doesn't need to be one special variable ordering but some variable ordering with some property $P$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;According to my answer to the question mentioned above you can show that there are several variable orderings with polynomial size OBDD if there exists at least one. This contains the statement that you can get several variable orderings from another variable ordering with some blow up in the OBDD size.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think you can improve this blow up and so the number of variable orderings you can get depending on the function. If you can prove that you can transform every variable ordering to one ordering with property $P$ with a &quot;low&quot; blow up and show that every OBDD with a variable ordering with property $P$ for this function has exponential size you have this lower bound for &lt;em&gt;every&lt;/em&gt; variable ordering.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is this kind of lower bound technique known? Does it seem to be useful if it is not known?&lt;/p&gt;&#xA;" OwnerUserId="2517" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2011-03-05T06:34:50.767" Title="Lower bound method for ordered binary decision diagrams" Tags="&lt;cc.complexity-theory&gt;&lt;lower-bounds&gt;&lt;boolean-functions&gt;&lt;binary-decision-diagrams&gt;" AnswerCount="0" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="5258" PostTypeId="1" AcceptedAnswerId="5271" CreationDate="2011-03-03T01:10:19.077" Score="6" ViewCount="229" Body="&lt;p&gt;I would like to ask if there is a name for the class of &lt;a href=&quot;http://en.wikipedia.org/wiki/Multivalued_function&quot; rel=&quot;nofollow&quot;&gt;multifunctions&lt;/a&gt;, each of which can be computed by a probabilistic polytime Turing machine $M$ satisfying the following two conditions:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;$M$ returns a correct output of the function with high probability&lt;/li&gt;&#xA;&lt;li&gt;$M$ can either return a correct answer or &quot;don't know&quot;, and never return an incorrect answer.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Note that although this sounds like &lt;a href=&quot;http://en.wikipedia.org/wiki/ZPP_%28complexity%29&quot; rel=&quot;nofollow&quot;&gt;$\mathsf{ZPP}$&lt;/a&gt;, it is not since $\mathsf{ZPP}$ is the class of predicates, and not multifunctions. I really appreciate any pointer to the right sources.&lt;/p&gt;&#xA;" OwnerUserId="1080" LastEditorUserId="1800" LastEditDate="2011-03-03T01:16:30.197" LastActivityDate="2011-03-03T21:10:33.327" Title="The &quot;multifunction&quot; version of ZPP?" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;complexity-classes&gt;&lt;terminology&gt;" AnswerCount="1" CommentCount="17" FavoriteCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5259" PostTypeId="2" ParentId="5251" CreationDate="2011-03-03T04:20:12.257" Score="25" Body="&lt;p&gt;Set cover by half-spaces.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a set of points in the plane, and a set of halfplanes computing the minimum number of halfplanes covering the point sets can be solved in polynomial time in the plane. The problem however is NP hard in 3d (it is harder than finding a min cover by subset of disks of points in 2d). In 3d you are given a subset of halfspaces and points, and you are looking for min number of halfspaces covering the points.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The polytime algorithm in 2d is described here:&#xA;&lt;a href=&quot;http://valis.cs.uiuc.edu/~sariel/papers/08/expand_cover/&quot;&gt;http://valis.cs.uiuc.edu/~sariel/papers/08/expand_cover/&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="9594" LastActivityDate="2011-03-03T04:20:12.257" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="5260" PostTypeId="2" ParentId="5251" CreationDate="2011-03-03T04:55:50.400" Score="20" Body="&lt;p&gt;Any non-convex polygon in the plane can be triangulated in O(n) time with no Steiner points; that is, every vertex of the triangulation is a vertex of the polygon.  Moreover, every triangulation has exactly n-2 triangles.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, determining whether a non-convex polyhedron in R^3 can be triangulated without  Steiner points is NP-complete.  The NP-hardness result holds even if you are given a triangulation with &lt;em&gt;one&lt;/em&gt; Steiner point, so even approximating the minimum number of Steiner points required is NP-hard.  [Jim Ruppert and Raimund Seidel.  On the Difficulty of Triangulating Three-Dimensional Nonconvex Polyhedra.  &lt;em&gt;Discrete Comput. Geom.&lt;/em&gt; 1992.]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If the given polyhedron is convex, finding a triangulation is easy, but finding the triangulation with the minimum number of tetrahedra is NP-hard. [Alexander Below, Jesús de Loera, and Jürgen Richter-Gebert.  &lt;a href=&quot;http://arxiv.org/abs/math/0012177&quot;&gt;The complexity of finding small triangulations of convex 3-polytopes&lt;/a&gt;.  &lt;em&gt;J. Algorithms&lt;/em&gt; 2004.]&lt;/p&gt;&#xA;" OwnerUserId="111" LastActivityDate="2011-03-03T04:55:50.400" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="5261" PostTypeId="2" ParentId="5245" CreationDate="2011-03-03T06:16:47.163" Score="8" Body="&lt;p&gt;There are whole &lt;a href=&quot;http://www.doc.ic.ac.uk/~svb/CLaC10/&quot; rel=&quot;nofollow&quot;&gt;conferences on the subject of non-constructive proofs as programs&lt;/a&gt;, and I am no expert on the subject. Above, Neel Krishnaswami alluded to a longer answer he is preparing, which, judging from his work here, will be excellent. This is just a taste of an answer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It turns out the the type of &lt;a href=&quot;http://en.wikipedia.org/wiki/Callcc&quot; rel=&quot;nofollow&quot;&gt;call-with-current-continuation&lt;/a&gt; corresponds to the proposition known as &lt;a href=&quot;http://en.wikipedia.org/wiki/Pierce%27s_law&quot; rel=&quot;nofollow&quot;&gt;Peirce's law&lt;/a&gt;, which can be used to prove the Law of Excluded Middle ($\forall P, P \lor \lnot P$). An LEM program can be written using callcc. In Coq:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;Set Implicit Arguments.&#xA;&#xA;Axiom callcc : forall (A B : Set), ((A -&amp;gt; B) -&amp;gt; A) -&amp;gt; A.&#xA;&#xA;Lemma lem : forall (A B:Set), sum A (A -&amp;gt; B).&#xA;Proof.&#xA;  intros.&#xA;  eapply callcc.&#xA;  intros H.&#xA;  right.&#xA;  intros.&#xA;  apply H.&#xA;  left.&#xA;  assumption.&#xA;Defined.&#xA;&#xA;Recursive Extraction lem.&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;gives the O'Caml code:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;type ('a, 'b) sum =&#xA;  | Inl of 'a&#xA;  | Inr of 'b&#xA;&#xA;(** val callcc : (('a1 -&amp;gt; 'a2) -&amp;gt; 'a1) -&amp;gt; 'a1 **)&#xA;&#xA;let callcc =&#xA;  failwith &quot;AXIOM TO BE REALIZED&quot;&#xA;&#xA;(** val lem : ('a1, 'a1 -&amp;gt; no) sum **)&#xA;&#xA;let lem =&#xA;    callcc (fun h -&amp;gt; Inr (fun h0 -&amp;gt; h (Inl h0)))&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;The cleanest introduction to this I have seen is in Tim Griffin's &lt;a href=&quot;http://scholar.google.com/scholar?cluster=11020428296448817016&quot; rel=&quot;nofollow&quot;&gt;&quot;A formulae-as-types notion of control&quot;&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="43" LastEditorUserId="43" LastEditDate="2011-03-18T02:12:33.457" LastActivityDate="2011-03-18T02:12:33.457" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="5263" PostTypeId="2" ParentId="5245" CreationDate="2011-03-03T08:54:53.340" Score="17" Body="&lt;p&gt;It's fairly well-known that classical and intuitionistic arithmetic are equiconsistent. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;One way of showing this is via the &quot;negative embeddings&quot; of classical logic into intuitionistic logic. So, suppose $\phi$ are formulas of classical first-order arithmetic. Now, we can define a formula of intuitionistic logic as follows: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xD;&#xA;\begin{array}{lcl}&#xD;&#xA;G(\top) &amp;amp; = &amp;amp; \lnot\lnot\top \\&#xD;&#xA;G(\phi \land \psi) &amp;amp; = &amp;amp; \lnot\lnot(G(\phi) \land G(\psi)) \\&#xD;&#xA;G(\bot) &amp;amp; = &amp;amp; \lnot\top \\&#xD;&#xA;G(\lnot\phi) &amp;amp; = &amp;amp; \lnot G(\phi)  \\&#xD;&#xA;G(\phi \vee \psi) &amp;amp; = &amp;amp; \lnot(\lnot G(\phi) \land \lnot G(\psi)) \\&#xD;&#xA;G(\forall x.\;\phi) &amp;amp; = &amp;amp; \forall x.\; \lnot\lnot G(\phi) \\&#xD;&#xA;G(\exists x.\;\phi) &amp;amp; = &amp;amp; \lnot \forall x.\; \lnot(G(\phi)) \\&#xD;&#xA;G(P)           &amp;amp; = &amp;amp; \lnot\lnot P \\&#xD;&#xA;\end{array}&#xD;&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that $G(\phi)$ is basically a homomorphism that sticks in extra not-not's everywhere, except that at disjunctions and existentials, it uses de Morgan duality to turn them into conjunctions and universals. (I'm pretty confident this is not the exact Godel-Gentzen translation, since I cooked it up for this answer -- basically anything you write using double-negation + de Morgan duality will work. This variety actually turns out to be important for computational interpretations of classical logic; see below.) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;First: It's obvious that this translation preserves classical truth, so that  $G(\phi)$ is true if and only if $\phi$ is, classically speaking. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Second: It's less obvious, but still the case, that for formulas in the $\forall, \implies, \land, \lnot$ fragment, provability in intuitionistic and classical logic coincide. The way to prove this is to first look at formulas drawn from this grammar:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xD;&#xA;\newcommand{\bnfalt}{\;\;|\;\;}&#xD;&#xA;\begin{array}{lcl}&#xD;&#xA;  A,B &amp;amp; ::= &amp;amp;  \forall x.\;A(x) \bnfalt A \implies B \bnfalt A \land B \bnfalt \lnot A \bnfalt \lnot\lnot P&#xD;&#xA;\end{array}&#xD;&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;And then we can prove as a lemma (by induction on $A$) that $G(A) \implies A$ is derivable intuitionistically. So now, we can show the equiderivability of negative formulas by doing an induction over the structure of the proof (in, say, the sequent calculus) and use the previous lemma to simulate the law of the excluded middle.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, how should you think about this intuitively? &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;First, the proof-theoretic view. If you look at the rules of the sequent calculus, you can see that the only place classical and intuitionistic logic seriously differ is in the rules for disjunction and existentials. So  we are using this fact to show that that proofs in one logic of these formulas can be translated to proofs in the other. This shows how to think of constructive logic as an &lt;em&gt;extension&lt;/em&gt; of classical logic with the two new connectives $\exists$ and $\vee$. What we call &quot;classical existence&quot; and &quot;classical disjunction&quot; were just abbreviations involving $\forall$, conjunction, and negation, and so to talk about actual existence we needed to introduce new connectives. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Second, there's a topological view. Now, the model of a classical logic (as a family of sets) is a Boolean algebra (ie, a family of subsets closed under arbitrary unions, intersections and complements). It turns out that the model of intuitionsitic logic is as a &lt;em&gt;topological space&lt;/em&gt;, with the propositions being interpreted as open sets. Them the interpretation of negation is the interior of the complement, and then it's easy to show that $\lnot\lnot\lnot P = \lnot P$, which means that double-negation sends us into the smallest clopen covering each open --- and the clopens form a Boolean algebra.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Now, thanks to Curry-Howard, we know how to interpret proofs in intuitionistic logic as functional programs. So, one possible answer (but not the only one) to the question of &quot;what is the constructive content of a classical proof?&quot; is the following:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;The computational content of a classical proof is whatever the computational content of the translation of its proof (according to the negative translation) is. &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;So let's look at the translation of $G(A \vee \lnot A) = \lnot(\lnot G(A) \land \lnot\lnot G(A))$. So this says that the constructive content of the excluded middle is the same as saying that it's not the case that $\lnot P$ and and $\lnot\lnot P$ hold -- ie, noncontradiction. So in this sense, there's not actually very much computational content to the law of the excluded middle. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;To see what it is concretely, recall that constructively, negation is defined as $\lnot A == A \implies \bot$. So this formula is $((G(A) \implies \bot) \land ((G(A) \implies \bot) \implies \bot)) \implies \bot$. The following bit of Ocaml code will illustrate:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;type bot = Void of bot&#xA;type 'a not = 'a -&amp;gt; bot&#xA;&#xA;let excluded_middle : ('a not * 'a not not) not = fun (u, k) -&amp;gt; k u &#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;That is, if you get not-A and not-not-A, you can just pass the first negation to the second to derive the contradiction you want.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, what is a continuation passing-style transformations?  &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;A &lt;em&gt;continuation&lt;/em&gt; of type $\tau$ is something that takes a value of type $\tau$ and computes a final answer from it. &lt;/li&gt;&#xA;&lt;li&gt;Continuations are used to model program contexts. That is we might have a term $3+5$ evaluating as part of a much larger program $C[3+5]$. All that stuff around it will take the result of computing $3 + 5$ and compute the final answer.&lt;/li&gt;&#xA;&lt;li&gt;So you can think of a continuation of type $\tau$ as a function $\tau \to \alpha$, where $\alpha$ is whatever the answer type is. &lt;/li&gt;&#xA;&lt;li&gt;So if you have a program $e$ of type $\tau$, we can &quot;CPS-convert&quot; it by finding a term of type $(\tau \to \alpha) \to \alpha$, which will end up passing whatever $e$ would have computed to its continuation. (Basically, this just makes control flow explicit.) &lt;/li&gt;&#xA;&lt;li&gt;But we have to do this hereditarily, so that every subterm of the program has made its continuation explicit.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Now, &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The negative translation basically hereditarily sends $\phi$ to $\lnot\lnot\phi$. &lt;/li&gt;&#xA;&lt;li&gt;However, while our translation uses negation, it never actually eliminates the false proposition -- so the translation works parametrically in that proposition.&lt;/li&gt;&#xA;&lt;li&gt;In particular, we can replace $\bot$ with any answer type $\alpha$.&lt;/li&gt;&#xA;&lt;li&gt;So we hereditarily replace $\phi$ with $(\phi \to \alpha) \to \alpha$. &lt;/li&gt;&#xA;&lt;li&gt;This is a CPS transformation. &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I saw &quot;a&quot; CPS transformation, since as I mentioned earlier, there are many negative translations which let you prove this theorem, and each one corresponds to a different CPS trasnformation. In operational terms, each transformation corresponds to a different &lt;em&gt;evaluation order&lt;/em&gt;. So there is no unique computational interpretation of classical logic, since you've got choices to make and the difference choices have very different operational characteristics.&lt;/p&gt;&#xA;" OwnerUserId="657" LastActivityDate="2011-03-03T08:54:53.340" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="5264" PostTypeId="1" AcceptedAnswerId="5266" CreationDate="2011-03-03T09:58:27.873" Score="2" ViewCount="379" Body="&lt;p&gt;Please let me mention certain idea here, although it is probably vague (and new, at least as related to experiment mentioned below, as far as I know).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The general notion of algorithm is model of computation with finite number of steps which my be performed on device from &quot;set of computational devices&quot;. Up to now &quot;Set of Computational devices&quot; consists of quantum and classical computers which both may be simulated on Universal Turing Machine. It means that Turing machine remains the most general model for computations ( which is in harmony with other notions of effective computable functions like lambda-calculus or recursive functions).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So let me explain motivation to as question at the end:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Turing Machine is in some way connected with notion of time (it is idealisation of computation by performing &quot;one operation&quot; at a time). As we discover new interesting phenomena ( famous discovery: &lt;a href=&quot;http://arxiv.org/abs/1101.2565&quot; rel=&quot;nofollow&quot;&gt;http://arxiv.org/abs/1101.2565&lt;/a&gt; mentioned also here &lt;a href=&quot;http://www.technologyreview.com/blog/arxiv/26270/&quot; rel=&quot;nofollow&quot;&gt;http://www.technologyreview.com/blog/arxiv/26270/&lt;/a&gt; ) probably it is time to ask what is the role of time in Turing Computation model and if it has rigorous enough definition.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let's imagine a simple Gedankenexperiment: Imagine a class of TM for which initial Data and Result has to be at least 4 ( in general n - natural number) cells one after other - it looks like artificial idea, but when we refer to separation in time - it sound very natural. We use &quot;separation in time&quot; as very natural notion: in fact we require it - answer has to be obtained after question - right?. So, in a light of existence of phenomenon like time-entanglement - mentioned in references above - it is probably time for review... It is not clear for me if this phenomenon point on something new but it may...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course &quot;notion of time&quot; is not so important here at all, probably the notion of order is sufficient enough ( although I do not know how such change would result in quantum computations where time is important parameter I suppose, but we may say - in mathematical idelisation/model probably it may be not important).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The questions:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(1) Order dependency of TM - is it new idea?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(2) Is it interesting?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(3) Even for finite sets we still may use abstract concept of lattice to model order of algorithm steps. Is it useful for example for parallel computation model?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(4) It looks like Universal Turing Machine definition use strict order of algorithm steps. Why? If ten we change notion of time order in UTM to notion of abstract order, will that change notion of algorithm/Turing Machine definition? Was that analysed by someone?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(5) When we go to hypercomputational models: may we use continuous index as &quot;time order&quot; replacement? Are there any important consequences of such change?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(6) Was there any influence of time-entitlement on our computational model discussed?&lt;/p&gt;&#xA;" OwnerUserId="577" LastEditorUserId="80" LastEditDate="2011-03-03T23:04:03.283" LastActivityDate="2011-04-05T07:07:19.967" Title="Time-entanglement phenomenon" Tags="&lt;ds.algorithms&gt;&lt;computability&gt;&lt;quantum-computing&gt;" AnswerCount="2" CommentCount="9" ContentLicense="CC BY-SA 2.5" />
  <row Id="5265" PostTypeId="2" ParentId="5245" CreationDate="2011-03-03T10:26:16.053" Score="25" Body="&lt;p&gt;This an interesting question. Obviously one can't expect to have a program that decides for each $e$ whether $\forall k T(e, k)$ holds or not, as this would decide the Halting Problem. As mentioned already, there are several ways of interpreting proofs computationally: extensions of Curry-Howard, realizability, dialectica, and so on. But they would all computationally interpret the theorem you mentioned more or less in the following way.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For simplicity consider the equivalent classical theorem&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(1) $\exists i \forall j (\neg T(e, j) \to \neg T(e, i))$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is (constructively) equivalent to the one mentioned because given $i$ we can decide whether $\forall k T(e, k)$ holds or not by simply checking the value of $\neg T(e, i)$. If $\neg T(e, i)$ holds then $\exists i \neg T(e, i)$ and hence $\neg \forall i T(e, i)$. If on the other hand $\neg T(e, i)$ does not hold then by (1) we have $\forall j (\neg T(e, j) \to \bot)$ which implies $\forall j T(e, j)$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, again we can't compute $i$ in (1) for each given $e$ because we would again solve the Halting Problem. What all interpretations mentioned above would do is to look at the equivalent theorem&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(2) $\forall f \exists i&amp;#39; (\neg T(e, f(i&amp;#39;)) \to \neg T(e, i&amp;#39;))$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The function $f$ is called the Herbrand function. It tries to compute a counter example $j$ for each given potential witness $i$. It is clear that (1) and (2) are equivalent. From left to right this is constructive, simply take $i&amp;#39; = i$ in (2), where $i$ is the assumed witness of (1). From right to left one has to reason classically. Assume (1) was not true. Then, &lt;/p&gt;&#xA;&#xA;&lt;p&gt;(3) $\forall i \exists j \neg (\neg T(e, j) \to \neg T(e, i))$ &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $f&amp;#39;$ be a function witnessing this, i.e. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;(4) $\forall i \neg (\neg T(e, f&amp;#39;(i)) \to \neg T(e, i))$ &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, take $f = f&amp;#39;$ in (2) and we have $(\neg T(e, f&amp;#39;(i&amp;#39;)) \to \neg T(e, i&amp;#39;))$, for some $i&amp;#39;$. But taking $i = i&amp;#39;$ in (4) we obtain the negation of that, contradiction. Hence (2) implies (1).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, we have that (1) and (2) are classically equivalent. But the interesting thing is that (2) has now a very simple constructive witness. Simply take $i&amp;#39; = f(0)$ if $T(e, f(0))$ does not hold, because then the conclusion of (2) is true; or else take $i&amp;#39; = 0$ if $T(e, f(0))$ holds, because then $\neg T(e, f(0))$ does not hold and the premise of (2) is false, making it again true.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hence, the way to computationally interpret a classical theorem like (1) is to look at a (classically) equivalent formulation which can be proven constructively, in our case (2). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The different interpretations mentioned above only diverge on the way the function $f$ pops up. In the case of realizability and the dialectica interpretation this is explicitly given by the interpretation, when combined with some form of negative translation (like Goedel-Gentzen's). In the case of Curry-Howard extensions with call-cc and continuation operators the function $f$ arises from the fact that the program is allowed to &quot;know&quot; how a certain value (in our case $i$) will be used, so $f$ is the continuation of the program around the point where $i$ is computed.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another important point is that you want the passage from (1) to (2) to be &quot;modular&quot;, i.e. if (1) is used to prove (1'), then its interpretation (2) should be used used in similar way to prove the interpretation of (1'), say (2'). All the interpretations mentioned above do that, including the Goedel-Gentzen negative translation.&lt;/p&gt;&#xA;" OwnerUserId="4071" LastActivityDate="2011-03-03T10:26:16.053" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="5266" PostTypeId="2" ParentId="5264" CreationDate="2011-03-03T11:53:18.860" Score="13" Body="&lt;p&gt;Time-entanglement means that quantum information from the past may be teleported into the future without actually being present in the interval between. However, teleportation of one qubit requires two classical bits and one EPR pair, and these must exist in the interval, so there is no saving of space: you need to get half of the EPR pair and both classical bits into the future, and that requires a qubit's worth of quantum memory. So this process does not effect complexity classes.&lt;/p&gt;&#xA;" OwnerUserId="1677" LastActivityDate="2011-03-03T11:53:18.860" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="5267" PostTypeId="2" ParentId="5264" CreationDate="2011-03-03T15:03:37.617" Score="1" Body="&lt;p&gt;When we studied Turing Machines, our teacher proved that a good many modifications you might want to make towards a Turing Machine to improve it could easily be simulated by the original Turing Machine, things like two tapes and two read/write heads, an infinite amount of tapes and an infinite amount of read/write heads, an infinite number of symbols to write, etc.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The theory was that the functionality of a computer is a subset of a Turing Machine.  I'm not sure how quantum memory would work, but if there were blocks of data on the tape which change over time, it could be simulated by a few more states in the Turing Machine which specify that it should return to an old position and rewrite over it, then return to its old position, effectively simulating a block of data which changes over time.  Of course &quot;time&quot; isn't existent in a Turing Machine, but you could write a number representing the number of steps until it needs to change a particular symbol on the tape at a certain position.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Again, perhaps not efficient, but it can be simulated, therefore it couldn't enhance the functionality of a Turing Machine any more than it is.&lt;/p&gt;&#xA;" OwnerUserId="3612" LastActivityDate="2011-03-03T15:03:37.617" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="5268" PostTypeId="1" AcceptedAnswerId="5273" CreationDate="2011-03-03T18:43:39.553" Score="6" ViewCount="261" Body="&lt;p&gt;I have read the &lt;a href=&quot;http://www.cl.cam.ac.uk/~rja14/Papers/bear-lion.pdf&quot; rel=&quot;nofollow&quot;&gt;paper by Anderson and Biham&lt;/a&gt; [0] describing the ciphers Bear and Lion, which combine a PRG and a hash function (each cipher does that in a different way). the authors proved that a key recovery attack on the ciphers would imply breaking the PRG and hash function used. &#xA;I also read the &lt;a href=&quot;http://leonardo.ee.queensu.ca/sac/sac96/papers/paper3.ps&quot; rel=&quot;nofollow&quot;&gt;paper by Morin&lt;/a&gt; [1] in which he shows a man-in-the-middle attack on Bear and Lion, and also proposes a new cipher (Aardvark) of the same kind, immune to such attack.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Was there any attack on Aardvark?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;And are there other block ciphers with proof of security?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The references are the following (sorry, I couldn't find exactly the publication years and conference names)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[0] Ross Anderson and Eli Biham. &lt;em&gt;Two Practical and Provably Secure Block Ciphers: BEAR and LION&lt;/em&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] Pat Morin (1996). &lt;em&gt;Provably Secure and Efficient Block Ciphers&lt;/em&gt;.&lt;/p&gt;&#xA;" OwnerUserId="1700" LastEditorUserId="1700" LastEditDate="2011-03-04T16:17:23.610" LastActivityDate="2011-03-04T16:17:23.610" Title="Provably secure block ciphers" Tags="&lt;reference-request&gt;&lt;cr.crypto-security&gt;&lt;cryptographic-attack&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="5269" PostTypeId="1" AcceptedAnswerId="5270" CreationDate="2011-03-03T19:33:32.200" Score="8" ViewCount="857" Body="&lt;p&gt;I'm looking at page 28 of Lovasz &quot;Semidefinite programs and combinatorial optimization&quot; and it gives the following approximation of independence number of the graph&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\max u&amp;#39; Z u$$&#xA;subject to&#xA;$$Z\succ 0$$&#xA;$$Z_{ij}=0 \ \forall ij\in E(G)$$&#xA;$$tr(Z)=1$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can I get independent set (or something close to an independent set) directly from the solution of SDP relaxation? Lovasz says that SDP is the only known way to solve this problem exactly for perfect graphs, is that still true?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Clarification: there's a similar SDP relaxation for the size of maximum cut, and I can get the full solution (the actual cut, rather than its size) by taking square root of Z and doing randomized rounding (Ch.6 of Williamson/Shmoys book). I'm wondering if there's a similar technique for this problem&lt;/p&gt;&#xA;" OwnerUserId="434" LastEditorUserId="39090" LastEditDate="2018-08-17T19:04:30.433" LastActivityDate="2018-08-17T19:04:30.433" Title="SDP relaxation of independent set" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;semidefinite-programming&gt;&lt;independent-set&gt;" AnswerCount="2" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="5270" PostTypeId="2" ParentId="5269" CreationDate="2011-03-03T20:18:23.270" Score="4" Body="&lt;p&gt;I believe SDP is the only known technique to solve the maximum independent set problem on perfect graphs. To get the independent set, one could do the following. Guess if a vertex is in the independent set, delete it and solve the SDP. If it returns the same value, then there is an independent set without this vertex. So, make this vertex adjacent to all other vertices, and continue. This should give you an actual independent set. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Otherwise, we have identified one vertex of the independent set, and we can remove it and continue on the remaining graph.&lt;/p&gt;&#xA;" OwnerUserId="448" LastActivityDate="2011-03-03T20:18:23.270" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="5271" PostTypeId="2" ParentId="5258" CreationDate="2011-03-03T21:10:33.327" Score="7" Body="&lt;p&gt;I think what you're looking for is &lt;a href=&quot;http://en.wikipedia.org/wiki/Las_Vegas_algorithm&quot; rel=&quot;nofollow&quot;&gt;Las Vegas algorithms&lt;/a&gt;. I do not know that the class of functions computable by polytime Las Vegas algorithms has an abbreviation beyond &quot;Las Vegas polynomial time&quot;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;As pointed out by Tsuyoshi Ito in the comments, $ZPP$ is exactly the class of &lt;em&gt;decision&lt;/em&gt; problems decidable in Las Vegas polynomial time.&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2011-03-03T21:10:33.327" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5272" PostTypeId="2" ParentId="5269" CreationDate="2011-03-04T03:17:47.700" Score="2" Body="&lt;p&gt;I'm not sure if Lovasz's comment still holds.  There has been some recent work on this (and related) problems on perfect graphs.  You should take a look at the following link for techniques that involve message passing rather than solving SDPs:  &lt;a href=&quot;http://www.cs.columbia.edu/~jebara/papers/uai09perfect.pdf&quot; rel=&quot;nofollow&quot;&gt;http://www.cs.columbia.edu/~jebara/papers/uai09perfect.pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="4082" LastActivityDate="2011-03-04T03:17:47.700" CommentCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="5273" PostTypeId="2" ParentId="5268" CreationDate="2011-03-04T11:44:50.443" Score="2" Body="&lt;p&gt;Construction of provably-secure block ciphers are considered in the following papers:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://portal.acm.org/citation.cfm?id=12167&quot; rel=&quot;nofollow&quot;&gt;Pseudo-Random Permutation Generators and Cryptographic Composition&lt;/a&gt; by Luby &amp;amp; Rackoff. Full version of this paper can be found in &lt;a href=&quot;http://link.aip.org/link/?SMJCAT/17/373/1&quot; rel=&quot;nofollow&quot;&gt;How to Construct Pseudorandom Permutations from Pseudorandom Functions&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://portal.acm.org/citation.cfm?doid=258533.258581&quot; rel=&quot;nofollow&quot;&gt;On the Construction of Pseudo-Random Permutations: Luby-Rackoff Revisited&lt;/a&gt; by Naor &amp;amp; Reingold. This is in fact a revised version of the above ideas by Luby &amp;amp; Rackoff. Full version can be found in &lt;a href=&quot;http://www.wisdom.weizmann.ac.il/~naor/PAPERS/lr_abs.html&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The construct by &lt;strong&gt;Pat Morin&lt;/strong&gt; and many others are reviewed in &lt;a href=&quot;http://www.springerlink.com/content/hv06442h435q1233/&quot; rel=&quot;nofollow&quot;&gt;Building Secure Block Ciphers on Generic Attacks Assumptions&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="873" LastActivityDate="2011-03-04T11:44:50.443" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="5274" PostTypeId="1" AcceptedAnswerId="5276" CreationDate="2011-03-04T13:51:19.087" Score="7" ViewCount="301" Body="&lt;p&gt;Consider the following undirected unweighted graph:&lt;br&gt;&lt;br&gt;&#xA;&lt;img src=&quot;https://i.stack.imgur.com/67Dt0.jpg&quot; alt=&quot;The green nodes constitute the hull&quot; /&gt;&#xA;&lt;br&gt;&lt;br&gt;The green nodes separate the graph from the &amp;quot;external environment&amp;quot;. Let's call them the graph hull. Now, a graph may have several hulls. Consider the following graph, where the green nodes constitute the hull:&#xA;&lt;br&gt;&lt;br&gt;&#xA;&lt;img src=&quot;https://i.stack.imgur.com/Jy4ip.jpg&quot; alt=&quot;The green nodes constitute the hull&quot; /&gt;&#xA;&lt;br&gt;&lt;br&gt;&#xA;If we rearrange the drawing in the following way (stretching the blue nodes to the outside) then the blue nodes become the hull:&#xA;&lt;br&gt;&lt;br&gt;&#xA;&lt;img src=&quot;https://i.stack.imgur.com/nPANe.jpg&quot; alt=&quot;The blue nodes constitute the hull&quot; /&gt;&#xA;&lt;br&gt;&lt;br&gt;&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;b&gt;Questions&lt;/b&gt;&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Which is the fastest known algorithm to determine, given an undirected unweighted graph &lt;span class=&quot;math-container&quot;&gt;$G$&lt;/span&gt;, one of its hulls?&lt;/li&gt;&#xA;&lt;li&gt;Is it possible that the number of hulls of a graph is superpolynomial in &lt;span class=&quot;math-container&quot;&gt;$|V|$&lt;/span&gt;?&lt;/li&gt;&#xA;&lt;li&gt;Which is the fastest known algorithm to determine, given an undirected unweighted graph &lt;span class=&quot;math-container&quot;&gt;$G$&lt;/span&gt;, its minimum hull (i.e. the hull having the minimum number of vertices)?&lt;/li&gt;&#xA;&lt;li&gt;Which is the fastest known algorithm to determine, given an undirected unweighted graph &lt;span class=&quot;math-container&quot;&gt;$G$&lt;/span&gt;, its maximum hull (i.e. the hull having the maximum number of vertices)?&lt;/li&gt;&lt;/ol&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="947" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2011-03-05T12:51:11.503" Title="Determining Graph Hulls" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;" AnswerCount="1" CommentCount="17" FavoriteCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5276" PostTypeId="2" ParentId="5274" CreationDate="2011-03-04T19:54:29.500" Score="6" Body="&lt;p&gt;This question turned out to be trivial. As Lev Reyzin said in his comment, the answer was already encoded in the figures. I should have watched them more carefully...Of course, looking at the figures, it was already evident that those hulls are cycles. What was not immediately evident to me is the obvious fact that given whatever drawing like those, you could pick whatever cycle in it (even a 3-cycle), &quot;enlarge&quot; it, and &quot;throw&quot; all the remaining nodes inside it, thus obtaining a hull. So:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;As Tsuyoshi Ito pointed out, if the drawing is not requested to be planar, then every cycle is a hull, and this observation simultaneously answers all the four questions I've posted.&lt;/li&gt;&#xA;&lt;li&gt;As Hsien-Chih Chang and Peter Shor indicated, if the drawing is requested to be planar, then the questions can be answered by using planar graph embedding algorithms.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Finally, to make things worse, it seems that the choice of the term &quot;hull&quot; was unfortunate: the correct term to indicate what I had in mind is &quot;outer face&quot; (although such term is probably meaningless for non-planar graphs).&lt;/p&gt;&#xA;" OwnerUserId="947" LastEditorUserId="947" LastEditDate="2011-03-05T12:51:11.503" LastActivityDate="2011-03-05T12:51:11.503" CommentCount="3" CommunityOwnedDate="2011-03-04T19:54:29.500" ContentLicense="CC BY-SA 2.5" />
  <row Id="5277" PostTypeId="1" AcceptedAnswerId="5317" CreationDate="2011-03-04T23:55:49.833" Score="7" ViewCount="426" Body="&lt;p&gt;As an extension to the &lt;a href=&quot;https://cstheory.stackexchange.com/questions/5269/sdp-relaxation-of-independent-set&quot;&gt;question posed recently by Bulatov&lt;/a&gt;, I wonder what are the maximal sub-classes of perfect graphs for which we know of combinatorial algorithms to compute a maximum independent set.&lt;/p&gt;&#xA;" OwnerUserId="448" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2017-03-06T13:55:16.263" Title="Combinatorial Independent set Algorithms for sub-classes of perfect graphs" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;" AnswerCount="1" CommentCount="7" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="5278" PostTypeId="1" CreationDate="2011-03-05T00:12:40.410" Score="1" ViewCount="204" Body="&lt;p&gt;Natural Language Processing is an area which interests me. I know little about it and I'm hoping somebody can suggest a starting point. Basically I'd like to develop a search algorithm specific for natural languages. One that deals with ambiguities in an intelligent fashion. Where would be a great starting point? Can anyone recommend some good papers or other resources to help me get started?&lt;/p&gt;&#xA;" OwnerUserId="3284" LastActivityDate="2011-03-05T00:12:40.410" Title="Natural Language Processing. Where to start?" Tags="&lt;ai.artificial-intel&gt;&lt;string-search&gt;" AnswerCount="0" CommentCount="2" FavoriteCount="1" ClosedDate="2011-03-05T03:37:07.957" ContentLicense="CC BY-SA 2.5" />
  <row Id="5279" PostTypeId="1" AcceptedAnswerId="5284" CreationDate="2011-03-05T00:14:26.743" Score="10" ViewCount="297" Body="&lt;p&gt;I was playing with the very interesting and still open question &quot;&lt;a href=&quot;https://cstheory.stackexchange.com/questions/4928/alphabet-of-single-tape-turing-machine&quot;&gt;Alphabet of single-tape Turing machine&lt;/a&gt;&quot; (by Emanuele Viola) and came up with the following language :&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$L = \{ x \in \{0,1\}^n \text{ s.t. } |x| = n = 2^m \text{ and } count1(x) = k * m; \; n,m,k \geq 1 \}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where $count1(x)$ is the number of $1$s in the string x.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, if x = 01101111 then n = 8, m = 3, k = 2; so $x \in L$&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;Can L be recognized by a Turing Machine with a single tape and a 3 symbols alphabet $\{ \epsilon, 0, 1 \}$ in $O(n \log{n})$ steps ?&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;If we use 4 symbols the answer is yes:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;check if $|x|=2^m$ replacing $0$s with $\epsilon$ and $1$s with $2$ and at the same time store $m$ $1$s on the right;&lt;/li&gt;&#xA;&lt;li&gt;then count the number of $2$s modulo $m$ in $O(n \log{n})$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;For example:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;....01101111....... input x  (|x| = 8 = 2^3)&#xA;000.021.1212.0001.. div 2, first sweep (000. can safely be used as a delimiter)&#xA;000.022.1222.00011. div 2, second sweep&#xA;000.022.2222.000111 div 2, third sweep --&amp;gt; m = 3 (= log(n) )&#xA;000..22.2222....111 cleanup (original 1s are preserved as 2)&#xA;000..22.2221102.... start modulo m=3 calculation&#xA;000..22.2210022.... mod 3 = 2&#xA;000..22.2000222.... mod 3 = 0&#xA;000..22.0012222.... mod 3 = 1&#xA;000..20112.2222.... mod 3 = 2&#xA;000..11122.2222.... ACCEPT&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2011-03-05T21:27:29.257" Title="Is this language recognizable by a 3 symbols TM in O(n log n)?" Tags="&lt;cc.complexity-theory&gt;&lt;turing-machines&gt;&lt;time-complexity&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="5280" PostTypeId="2" ParentId="5235" CreationDate="2011-03-05T02:54:43.413" Score="4" Body="&lt;p&gt;If you accept the Curry–Howard correspondence then the question is mainly a philosophical one. &quot;Are proofs and programs different? Of course. How? Well, we call proofs 'proofs' and we call programs 'programs'.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Or to put it less flippantly, if there's an isomorphism between proofs and programs —which it seems clearly there is— then your question is asking whether there is any oracle capable of distinguishing the two. Humans categorize them as being different (for the most part), so it's certainly arguable that such an oracle exists. The important question then becomes whether there is any &lt;em&gt;meaningful&lt;/em&gt; difference between them, which is up for philosophical debate. What is a &quot;proof&quot;? There is no formal definition of what constitutes a proof; it's a term of art, much like the notion of &quot;effectively calculable&quot; in the Church–Turing thesis. For that matter, &quot;program&quot; has no formal definition either.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;These are words of natural language used to categorize different fields of mathematical enquiry. What Curry and Howard observed is that these two different fields where in fact studying the same thing. Noticing this connection is important because it says that these different researchers should be talking to one another. But on another level, to notice the connection is to belie the difference between them. When tackling a problem, sometimes it is more beneficial to think of it as a programming problem, whereas other times it is more beneficial to think of it as a logical problem. This difference in perspective is, I think, the important difference between them. But whether a difference of perspective constitutes a difference of identity is a deep philosophical question which has been explored at least as far back as Frege's &lt;em&gt;Ueber Sinn und Bedeutung&lt;/em&gt;.&lt;/p&gt;&#xA;" OwnerUserId="1808" LastActivityDate="2011-03-05T02:54:43.413" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5281" PostTypeId="2" ParentId="5065" CreationDate="2011-03-05T03:41:31.387" Score="6" Body="&lt;p&gt;I don't know how you can get or see the bound of $\sqrt{(t+1)(n-t+1)}$ from the original bound $\sqrt{n(n-\vert (2(t-1) -n+1 \vert )}$ but here is the proof that this bounds are asymptotically equal up to a constant factor:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First see that (I exclude $t = 0$ because the threshold function is always $1$)&#xA;$$ n(n-\vert (2(t-1) -n+1 \vert) = \left\lbrace &#xD;&#xA;\begin{array}{ll} &#xD;&#xA;n(2t-1) &amp;amp; 1 \leq t \leq n/2+1/2\\&#xD;&#xA;n(2n-2t+1) &amp;amp; n/2+1/2 \leq t \leq n-1&#xD;&#xA;\end{array} \right. $$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Define $f_1(t) = n(2t-1)$, $f_2(t) = n(2n-2t+1)$ and $g(t) = (t+1)(n-t+1)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now you have to calculate the maximal value (according to $t$ within the defined intervalls) of the fractions $f_1(t)/g(t)$, $f_2(t)/g(t)$, $g(t)/f_1(t)$ and $g(t)/f_2(t)$. You can do this with differential calculus or approximation with the help of the graph (with $n$ large enough):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$f_1(t)/g(t) \leq f_1(n/2+1/2)/g(n/2+1/2) \leq \dfrac{n^2}{n^2/4} = 4$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$f_2(t)/g(t) \leq f_2(n/2+1/2)/g(n/2+1/2) \leq \dfrac{n^2}{n^2/4} = 4$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$g(t)/f_1(t) \leq g(1)/f_1(1) = \dfrac{2n}{n} = 2$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$g(t)/f_2(t) \leq g(n-1)/f_2(n-1) = \dfrac{n/2}{n/3} \leq 3/2$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This gives you &#xA;$$n(n-\vert 2(t-1)-n-1\vert) = \Theta((t+1)(n-t+1))$$ &#xA;and also the wanted result &#xA;$$\sqrt{n(n-\vert 2(t-1)-n-1 \vert)} = \Theta(\sqrt{(t+1)(n-t+1)}).$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there an easier way to see/get this result?&lt;/p&gt;&#xA;" OwnerUserId="2517" LastActivityDate="2011-03-05T03:41:31.387" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="5282" PostTypeId="1" AcceptedAnswerId="5283" CreationDate="2011-03-05T08:29:22.490" Score="17" ViewCount="510" Body="&lt;p&gt;What if anything is known about the parameterized complexity of computing the &lt;a href=&quot;http://en.wikipedia.org/wiki/Intersection_number_%28graph_theory%29&quot;&gt;intersection number&lt;/a&gt; of a graph (the smallest number of cliques needed to cover all its edges)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It has long been known to be NP-complete, and it's obviously FPT because it has a kernel: if you can cover a graph with $k$ cliques then there are at most $2^k$ different closed neighborhoods of vertices (two vertices have the same neighborhoods if they belong to the same set of cliques), and you might as well keep only one vertex per neighborhood. Is this observation in the literature somewhere? What kind of dependence on $k$ is known?&lt;/p&gt;&#xA;" OwnerUserId="95" LastEditorUserId="95" LastEditDate="2013-01-02T17:54:09.103" LastActivityDate="2013-01-02T17:54:09.103" Title="Parameterized complexity of graph intersection number" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;graph-algorithms&gt;&lt;parameterized-complexity&gt;" AnswerCount="2" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5283" PostTypeId="2" ParentId="5282" CreationDate="2011-03-05T11:17:40.677" Score="17" Body="&lt;p&gt;The problem has been studied under the name Edge Clique Cover, and the observations you make regarding data reduction have been used to get a kernel with 2^k vertices. It is a long standing open problem whether a polynomial kernel exists. I don't know about good bounds on the running time, see &lt;a href=&quot;http://theinf1.informatik.uni-jena.de/publications/clique-cover-jea07.pdf&quot;&gt;http://theinf1.informatik.uni-jena.de/publications/clique-cover-jea07.pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="122" LastActivityDate="2011-03-05T11:17:40.677" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="5284" PostTypeId="2" ParentId="5279" CreationDate="2011-03-05T11:41:53.190" Score="10" Body="&lt;p&gt;Can't you use the same idea as &lt;a href=&quot;https://cstheory.stackexchange.com/questions/4928/alphabet-of-single-tape-turing-machine/5012#5012&quot;&gt;what you have for the case of 4 symbols&lt;/a&gt;, with the following modifications:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Always process a pair of symbols simultaneously.&lt;/li&gt;&#xA;&lt;li&gt;In your &quot;div 2&quot; sweeps, mark a two-symbol block as &quot;processed&quot; by mapping $(00, 01, 10, 11) \mapsto (\epsilon0, \epsilon1, 0\epsilon, 1\epsilon)$. You still have $\epsilon\epsilon$ available as a &quot;separator&quot; that you can use at both ends, and you can recover the original data easily.&lt;/li&gt;&#xA;&lt;li&gt;Use a similar trick for &quot;mod 2&quot; steps.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;In general, you can squeeze in arbitrarily large amount of bookkeeping information with the help of the third symbol by processing $O(1)$ symbols at a time.&lt;/p&gt;&#xA;" OwnerUserId="74" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2011-03-05T11:41:53.190" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="5285" PostTypeId="2" ParentId="5228" CreationDate="2011-03-05T13:30:15.680" Score="7" Body="&lt;p&gt;Contracts can be checked statically. If you look at Dana Xu's old work on &lt;a href=&quot;http://research.microsoft.com/en-us/um/people/simonpj/papers/verify/index.htm&quot;&gt;ESC/Haskell&lt;/a&gt;, she was able to implement full contract checking at compile time, only relying on a theorem prover for arithmetic. Termination is solved by a simple depth limit if I remember correctly:&lt;/p&gt;&#xA;" OwnerUserId="4116" LastActivityDate="2011-03-05T13:30:15.680" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5286" PostTypeId="2" ParentId="5117" CreationDate="2011-03-05T13:35:33.617" Score="5" Body="&lt;p&gt;Dave Clarke suggests Coq, but really Isabelle seems like a much better idea, seeing as it has &lt;a href=&quot;http://www.cl.cam.ac.uk/research/hvg/Isabelle/dist/library/ZF/index.html&quot;&gt;A library for ZF&lt;/a&gt;. Isabelle is also very mature and includes a wide variety of tactics and extensions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I haven't personally used Mizar, but it may well be good as well.&lt;/p&gt;&#xA;" OwnerUserId="4116" LastActivityDate="2011-03-05T13:35:33.617" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5287" PostTypeId="2" ParentId="4595" CreationDate="2011-03-05T13:42:10.097" Score="8" Body="&lt;p&gt;In my experience, I've seen the following new compiler developments:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Work on automating data parallelism (or at least, reducing the amount of explicit work done by the programmer). This typically requires extensions to the language as well.&lt;/li&gt;&#xA;&lt;li&gt;Work on extreme optimization strategies such as supercompilation or partial evaluation (where a program is collapsed via evaluation until it is reduced to its &quot;smallest&quot; form and then compiled)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I've seen a variety of work on things such as type checkers and so on, but I assume you're talking more about compiler-specific stuff.&lt;/p&gt;&#xA;" OwnerUserId="4116" LastActivityDate="2011-03-05T13:42:10.097" CommentCount="0" CommunityOwnedDate="2011-03-05T13:42:10.097" ContentLicense="CC BY-SA 2.5" />
  <row Id="5288" PostTypeId="2" ParentId="4117" CreationDate="2011-03-05T13:49:42.193" Score="5" Body="&lt;p&gt;A lot of theoretical Comp. Sci. is based on some fairly different mathematics than the mathematics and physics you're currently working on.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My advice is not to pidgeonhole yourself too early. Take a wide variety of different courses in CS at Uni, and don't go straight for quantum computing - you might find you like theory of computation or programming languages better. There is a wide range of stuff available in theoretical CS and you probably haven't been exposed to most of it yet.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are many great CS universities in Britain. Dave Clarke lists some good ones.&lt;/p&gt;&#xA;" OwnerUserId="4116" LastActivityDate="2011-03-05T13:49:42.193" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5289" PostTypeId="2" ParentId="5200" CreationDate="2011-03-05T13:49:57.437" Score="5" Body="&lt;p&gt;Akash mentioned and linked &lt;a href=&quot;http://www.cse.iitd.ernet.in/~bagchi/courses/CSL866_07-08/&quot; rel=&quot;nofollow&quot;&gt;my lecture notes&lt;/a&gt;. I wanted to clarify that they are entirely based on a small subset of Grimmett's book but I made some effort to clarify with extra explanations and figures the parts of that book that were most opaque to me. In fact the whole purpose of putting those notes up was to provide an accessible introduction to Percolation. So, if anyone does plan to go through those notes, I would really appreciate feedback so that I can make them better.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I also wanted to add that &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0521872324&quot; rel=&quot;nofollow&quot;&gt;Bollobas and Riordan's book&lt;/a&gt; is very good. It clarifies and simplifies some of the basic material covered in Grimmett's book. It also discusses concepts like 1-dependent percolation (which, I feel, can be much more useful for computer scientists than independent percolation) and random voronoi percolation, which is a fascinating topic, not least because it is a site percolation model whose critical probability in the plane is 1/2.&lt;/p&gt;&#xA;" OwnerUserId="4117" LastEditorUserId="4117" LastEditDate="2011-03-08T05:32:19.077" LastActivityDate="2011-03-08T05:32:19.077" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5290" PostTypeId="2" ParentId="3521" CreationDate="2011-03-05T13:59:23.587" Score="8" Body="&lt;p&gt;In my personal opinion, the Sipser book is still great. It's by far the most readable book on the subject.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The Sipser book also is an introduction, so coming back to it after some time isn't too trying on your memory.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;That said, Papadimitrou's book is a good book for getting around the more advanced topics.&lt;/p&gt;&#xA;" OwnerUserId="4116" LastActivityDate="2011-03-05T13:59:23.587" CommentCount="0" CommunityOwnedDate="2011-03-05T13:59:23.587" ContentLicense="CC BY-SA 2.5" />
  <row Id="5291" PostTypeId="1" AcceptedAnswerId="5296" CreationDate="2011-03-05T14:59:32.337" Score="11" ViewCount="331" Body="&lt;p&gt;In his 1999 workshop paper &lt;a href=&quot;http://www.cs.bham.ac.uk/~mhe/papers/metricpcf.pdf&quot; rel=&quot;nofollow&quot;&gt;&quot;A Metric Model of PCF&quot;&lt;/a&gt;, Mart&amp;iacute;n Escard&amp;oacute;  showed that it is possible to give a simple interpretation of PCF in the category of complete ultrametric spaces and nonexpansive maps. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;He showed this model was adequate, and that it could model the addition of a timeout construct (i.e., an operator which would run its argument for some finite number of steps, and either yield an answer or signal an error if it failed to terminate within the time limit). He then suggested that it would be natural to investigate whether the metric model was fully abstract with respect to PCF+timeouts. &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Has anyone investigated this, and if so, what's the answer?&lt;/li&gt;&#xA;&lt;li&gt;Does PCF+timeouts realize the same functions as Turing machines, including at higher type?&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;(As an aside, how do you put accents into the text? I've dropped an accent from both  his first and last names. EDIT: Name fixed. I'm leaving this parenthetical in so that the comments to the post continue to make sense.) &lt;/p&gt;&#xA;" OwnerUserId="657" LastEditorUserId="657" LastEditDate="2011-03-07T11:53:49.447" LastActivityDate="2011-03-07T11:53:49.447" Title="Is Escardó's metric semantic for PCF+timeouts fully abstract ?" Tags="&lt;pl.programming-languages&gt;&lt;denotational-semantics&gt;&lt;metric-spaces&gt;" AnswerCount="1" CommentCount="7" ContentLicense="CC BY-SA 2.5" />
  <row Id="5292" PostTypeId="1" AcceptedAnswerId="5294" CreationDate="2011-03-05T15:27:46.577" Score="0" ViewCount="810" Body="&lt;p&gt;I'm searching for an algorithm that can calculate a suboptimal solution for:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;color a graph with 3 colors&#xA;some vertices already have a color and can't be changed&#xA;the edges have values and the algorithm has to search for a solution where the sum of all the values of all the edges with vertices with the same color is smallest&lt;/p&gt;&#xA;&#xA;&lt;p&gt;this is for a practical problem:&#xA;a wireless network with wireless accesspoints (vertices)&#xA;you can ask the accespoints what neighbors they see and with what signal strength and i can create a graph out of that information&#xA;some accespoints are not part of the network, and already have a channel assigned&lt;/p&gt;&#xA;&#xA;&lt;p&gt;and accespoint can only have 3 channels that don't interfere (1,6,11) these are the 3 colors&lt;/p&gt;&#xA;&#xA;&lt;p&gt;does anyone know a good algorithm  that is powerful enough to solve this?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;i heard this was used somewhere in cpu theory, where registers are already filled in (colored)&#xA;and you need to assign registers to some programs (colors)&#xA;but i can't find it&lt;/p&gt;&#xA;" OwnerUserId="4115" LastEditorUserId="1800" LastEditDate="2011-03-05T16:08:05.177" LastActivityDate="2011-03-05T16:32:52.440" Title="graph coloring with 3 colors" Tags="&lt;ds.algorithms&gt;&lt;np-hardness&gt;&lt;graph-algorithms&gt;&lt;graph-colouring&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5293" PostTypeId="1" AcceptedAnswerId="5300" CreationDate="2011-03-05T16:32:06.043" Score="19" ViewCount="3347" Body="&lt;p&gt;My idea of a dream career is a career in industrial research, where one gets to tackle problems which are challenging, and also have a practical usage. To that end, is pursuing a PhD in TCS (I'm interested in topics such as distributed/parallel algorithms, online algorithms) a bad idea ? I've the notion that most, if not all, PhD applicants in TCS are expected to pursue a career in academia - is that a valid precept ? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I've noticed distinguished academics who are regular users of this site - I'm especially looking for guidance from any such person, as I don't want to apply for a doctoral program with the wrong goals in mind. To give a brief description of my profile, I've graduated with MTech in CS (from a fairly reputable institute in my country) about 2 years back, and been working in a MNC ever since on kernel level device drivers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This question may not be the most ideal question for this site, but I couldn't find a better place to ask it. Requesting the moderators not to close this outright, as I'm really in need of some advice here.&lt;/p&gt;&#xA;" OwnerUserId="4119" LastEditorUserId="1037" LastEditDate="2012-02-08T17:42:09.857" LastActivityDate="2012-02-08T17:42:09.857" Title="Is a PhD in TCS the best way towards achieving a career in industrial research?" Tags="&lt;soft-question&gt;&lt;advice-request&gt;&lt;career&gt;" AnswerCount="2" CommentCount="4" FavoriteCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="5294" PostTypeId="2" ParentId="5292" CreationDate="2011-03-05T16:32:52.440" Score="6" Body="&lt;p&gt;The variant of the problem you're referring to is very close to a problem called the $0$-extension problem: it's a special case of a class of problems called '&lt;a href=&quot;http://ttic.uchicago.edu/~cjulia/papers/labeling-journal.pdf&quot;&gt;metric labelling&lt;/a&gt;'. In this class of problems, you're given a weighted graph $G = (V, E, w)$, a set of labels $L$, an assignment cost of labels to vertices $c : V \times L \rightarrow R$, and a &quot;discrepancy cost&quot; $d : L \times L \rightarrow R$. The goal is to assign labels to vertices so as to minimize the sum of the assignment costs and the discrepancy cost for the labels on an edge (weighted by the edge weight). In short, find a labelling $l : V \rightarrow L$ to minimize&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$ \sum_{i \in V} c(i, l(i)) + \sum_{(u,v) \in E} d(l(u), l(v)) \cdot w((u,v))$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In your problem, the assignment cost is zero, and the label &quot;discrepancy&quot; function is the delta function on labels. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;One complicating factor here is that the metric labelling family of problems, the label discrepancy is usually a distance, whereas here it's a similarity measure. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2011-03-05T16:32:52.440" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="5296" PostTypeId="2" ParentId="5291" CreationDate="2011-03-05T19:20:37.340" Score="11" Body="&lt;p&gt;Regarding your second question, I seem to remember that for higher-order types the question was linked closely to whether PCF+timeout was equivalent to Type Two Effectivity (Turing machines with infinite inputs and outpus), i.e., Kleene's second partial combinatory algebra. John Longley claimed for a while that Kleene's second algebra was equivalent to PCF+timeout+catch, but in the end he never published a detailed result.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, I am pretty sure that John Longley opus magnum &lt;a href=&quot;http://homepages.inf.ed.ac.uk/jrl/Research/ubiquity-full.pdf&quot;&gt;&quot;On the ubiquity of certain total type structures&quot;&lt;/a&gt; (Mathematical Structures in Computer Science 17(5) (2007), 841--953) implies that the higher-order functionals definable in PCF+timeout are precisely the hereditarily effective ones.&lt;/p&gt;&#xA;" OwnerUserId="705" LastActivityDate="2011-03-05T19:20:37.340" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="5297" PostTypeId="1" AcceptedAnswerId="5311" CreationDate="2011-03-05T21:51:32.637" Score="30" ViewCount="1443" Body="&lt;p&gt;If we look at DTIME hierarchy theorem, we've got a log due to the overhead in simulation of a deterministic Turing Machine by a universal machine :&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$DTIME(\frac{f}{\log f}) \subsetneq DTIME(f)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We haven't this kind of overhead for NTIME of DSPACE. A basic justification comes from the details of the proof by considering the difference between simulators.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is the following: without considering the detail of the proof of DTIME hierarchy theorem, is there a justification of this log or it could be just a consequence of the proof and it would be reasonable to imagine that if $f = o(g)$ then &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$DTIME(f) \subsetneq DTIME(g)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In my opinion, considering that the simulation explanation is a good justification should be itself justified by proving that if we had a better result, then we could create a better simulation.&lt;/p&gt;&#xA;" OwnerUserId="378" LastEditorUserId="186" LastEditDate="2012-08-15T23:51:38.227" LastActivityDate="2017-09-11T02:42:14.457" Title="Justification of log f in DTIME hierarchy theorem" Tags="&lt;cc.complexity-theory&gt;&lt;universal-computation&gt;&lt;time-hierarchy&gt;" AnswerCount="3" CommentCount="6" FavoriteCount="12" ContentLicense="CC BY-SA 2.5" />
  <row Id="5298" PostTypeId="1" AcceptedAnswerId="5299" CreationDate="2011-03-05T22:03:23.567" Score="8" ViewCount="287" Body="&lt;p&gt;Inspired by &lt;a href=&quot;https://cstheory.stackexchange.com/questions/3792/are-innermost-reductions-perpetual-in-untyped-calculus&quot;&gt;this question&lt;/a&gt;, I was curious whether there was a reduction strategy for untyped SKI combinators that was known to be either normalizing or perpetual. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;As described &lt;a href=&quot;http://en.wikipedia.org/wiki/SKI_combinator_calculus&quot; rel=&quot;nofollow noreferrer&quot;&gt;here&lt;/a&gt; (Twelfed &lt;a href=&quot;http://twelf.plparty.org/wiki/Bracket_abstraction&quot; rel=&quot;nofollow noreferrer&quot;&gt;here&lt;/a&gt;), the nondeterminstic rules of the combinator calculus are these:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$Ix \rightarrow x$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$Kxy \rightarrow x$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$Sxyz \rightarrow xz(yz)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$xy \rightarrow x'y$ if $x \rightarrow x'$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$xy \rightarrow xy'$ if $y \rightarrow y'$&lt;/p&gt;&#xA;" OwnerUserId="1024" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2011-03-05T22:55:02.430" Title="Is there a normalizing (or perpetual) reduction strategy for untyped combinators?" Tags="&lt;pl.programming-languages&gt;&lt;combinatory-logic&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="5299" PostTypeId="2" ParentId="5298" CreationDate="2011-03-05T22:34:01.987" Score="8" Body="&lt;p&gt;SKI combinators were used as the implementation technique for Miranda, a lazy functional language developed by David Turner. The reduction strategy you are after is &#xA;simply to perform the reductions left to right (aka normal order or call-by-name reduction). This is called &lt;em&gt;SKI combinator reduction&lt;/em&gt;, and it's naturally lazy. If a normalising reduction sequence exists, then this reduction strategy will find it. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;One problem with SKI combinators is that they have the unfortunate property of resulting in an exponential blowout in code size during reduction.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See: &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;D.A. Turner. A new implementation technique for applicative languages. Soft. Pract. and Exper., 9, pp. 31-49, 1979.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Lambda-Calculus and Combinators: An Introduction, Second Edition by J. R. Hindley and J. P. Seldin&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="77" LastEditorUserId="77" LastEditDate="2011-03-05T22:55:02.430" LastActivityDate="2011-03-05T22:55:02.430" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5300" PostTypeId="2" ParentId="5293" CreationDate="2011-03-06T06:37:21.597" Score="16" Body="&lt;p&gt;The comments are all pretty spot on (and maybe they should be answers). To add to them: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In industrial research of the Google/Yahoo!/AT&amp;amp;T/MSR/IBM variety, there are definitely specific area interests, but there's also interest in people with broad interests and strong foundations. A Ph.D in TCS &lt;strong&gt;can&lt;/strong&gt; provide such a broad set of interests and a strong foundation &lt;strong&gt;if&lt;/strong&gt; you choose the right topics. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;So for example you could do a Ph.D in computational geometry, focusing on combinatorial problems in incidence geometry, or you could focus on approximate high dimensional algorithms. It's possible that the second topic might allow you to &quot;sell&quot; yourself more effectively as a data analyst, especially if you can point to some awareness of the applications of your work (some papers etc). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;So even if you were to do a Ph.D in TCS as a path towards industrial research, the success of this plan really depends on the kinds of topics you choose. In the long term, I think it'll make you very flexible and able to work on a variety of things, but you'll have to seek out that breadth during your education. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2011-03-06T06:37:21.597" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="5302" PostTypeId="2" ParentId="5200" CreationDate="2011-03-06T09:38:51.217" Score="2" Body="&lt;p&gt;Lyons and Peres' &quot;Probability on Trees and Networks&quot; (available &lt;a href=&quot;http://mypage.iu.edu/~rdlyons/prbtree/prbtree.html&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;) has a few nice chapters on percolation (and the whole book is a good recommendation for anyone interested in probability and stochastic processes on graphs).&lt;/p&gt;&#xA;" OwnerUserId="2083" LastActivityDate="2011-03-06T09:38:51.217" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5303" PostTypeId="2" ParentId="4117" CreationDate="2011-03-06T13:23:07.010" Score="5" Body="&lt;p&gt;Dave mentions some very good universities in the UK, but if it is quantum computing you are interested in, then you should definitely add Bristol to the list.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, I notice you mentioned that you were interested in quantum computing research. I should probably point out that a lot of researchers in that field come from a physics background, rather than having been CS undergrads. Perhaps this is something to consider? In many of the universities, quantum computing can be taken as an undergrad subject in both physics and cs (indeed I believe it is more commonly offered by physics departments than CS ones).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My experience of UK universities has only really been Oxford, where I worked for a number of years, and where I did my doctorate. There I know of at least 3 departments (Physics, Materials and Comlab) that offer QC courses to undergrads. Research groups are also spread out over a number of deartments, with theory research in at least 4 departments (Physics, Materials, Comlab and Maths). QC is an interdisciplinary field, so there are people coming at it from a lot of backgrounds. I think perhaps it is worth thinking about what you really want to do: Is your heart set on quantum computing, or is it more generally CS theory or physics or mathematics that holds interest for you? Certainly people come to QC from any of these backgrounds, so whichever course you pick, you are not ruling it out. Personally, I did theoretical physics at undergrad, then did my doctorate in a physicsy quantum computing theory group, but my research now is a mix of physics and TCS.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you do decide to go the CS route, one important thing to note is that not all CS courses are created equal, and some will be much more mathematical than others, depending on the university. Taking a course that is heavily focused on software engineering is probably not a very good idea for the type of future research you seem to have in mind. It is probably worth keeping this in mind when choosing where to apply to.&lt;/p&gt;&#xA;" OwnerUserId="204" LastActivityDate="2011-03-06T13:23:07.010" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5304" PostTypeId="2" ParentId="4117" CreationDate="2011-03-06T14:53:18.087" Score="4" Body="&lt;p&gt;I studied computer science and physics (with minors in math and cognitive science) in undergrad, and now do graduate studies in quantum computing. I found that taking a wide variety of courses in both CS and physics prepared me pretty well, better than concentrating in one field or the other would have. Even the courses I thought useless, like programming and software engineering (from the CS side) or experimental methods (from the Physics side) allowed me to gain a wider appreciation of both fields. The main point I'd like to stress (that some of the other answers mentioned) is not to focus too much before you even started courses. Undergrad is a great opportunity to explore and find what you are passionate about. Fields like quantum computing are trendy right now, but there is no reason trying to go into them and do research if it is not what you are truly passionate about.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Before undergrad I came from a similar background as you: I did will in math and physics and what little CS I was exposed to. All my friends were going into CS, so when I started college I was going to concentrate on Physics and Political Science! After exposure to some great courses and professors, my interests drifted, and even now I am not sure if they are fully set. However, I am very happy to have gone to a school that wasn't overly focused on one field, it allowed me to develop my interests and learn from many great professors. At least early on, try to get some breadth in your curriculum.&lt;/p&gt;&#xA;" OwnerUserId="1037" LastActivityDate="2011-03-06T14:53:18.087" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5305" PostTypeId="1" CreationDate="2011-03-06T15:38:25.820" Score="2" ViewCount="158" Body="&lt;p&gt;In &lt;a href=&quot;http://www.cs.cmu.edu/~christos/PUBLICATIONS.OLDER/vldb87.pdf&quot; rel=&quot;nofollow&quot;&gt;the original article on R+ tree&lt;/a&gt;, &lt;code&gt;Algorithm Insert&lt;/code&gt; recursively searches for all leaf nodes that overlap the given input rectangle &lt;code&gt;IR&lt;/code&gt; and adds &lt;code&gt;IR&lt;/code&gt; to each of those leaves. But what if part of &lt;code&gt;IR&lt;/code&gt; is not covered by any existing leaf? How will that part ever be indexed?&lt;/p&gt;&#xA;" OwnerDisplayName="user4134" LastActivityDate="2013-11-09T05:05:20.727" Title="How can an R+ tree extend its coverage?" Tags="&lt;ds.data-structures&gt;" AnswerCount="0" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="5306" PostTypeId="2" ParentId="5293" CreationDate="2011-03-06T15:47:33.763" Score="16" Body="&lt;p&gt;One thing to keep in mind is that if you want a job where you actually do research, you pretty much do need a Ph.D.  Rarely do big companies these days hire people without a Ph.D. as research scientists. If you decide to do a Ph.D. there are lots of areas where you can possibly focus, and TCS is just one possibility.  You can also do a mix of theoretical and applied research or many other options.  Whether or not you'll get a job in industry will more depend on their interest in your work (theoretical or not), whether you can sell yourself, the market, etc.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Lots of Ph.D.s in TCS work in industrial research, lots work in academia, and lots leave research all together. There aren't nearly enough academic slots for all TCS Ph.D.s to into academia, so an expectation that you do would be unrealistic and generally isn't there (industrial research jobs are competitive too though).  Perhaps your advisor might &quot;expect&quot; you do choose one career path over another, but it's your life and you ultimately get to decide what to do with it.&lt;/p&gt;&#xA;" OwnerUserId="123" LastActivityDate="2011-03-06T15:47:33.763" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5307" PostTypeId="1" AcceptedAnswerId="5309" CreationDate="2011-03-06T18:10:21.350" Score="2" ViewCount="257" Body="&lt;p&gt;I have a graph. I need visualise it with nodes arranged in a circle. How can I know whether it is possible arrange the nodes on a circle so that there no edges intersect in the visualised graph?&lt;/p&gt;&#xA;" OwnerUserId="4135" LastEditorUserId="1800" LastEditDate="2011-03-06T18:33:32.520" LastActivityDate="2011-03-06T19:00:49.250" Title="Circle graph visualisation" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;" AnswerCount="2" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="5308" PostTypeId="2" ParentId="3540" CreationDate="2011-03-06T18:33:53.647" Score="12" Body="&lt;p&gt;Hubert Comon, Max Dauchet, Remi Gilleron, Florent Jacquemard, Denis Lugiez, Christof Löding, Sophie Tison, Marc Tommasi: &lt;a href=&quot;http://tata.gforge.inria.fr/&quot;&gt;Tree Automata Techniques and Applications&lt;/a&gt; &lt;/p&gt;&#xA;" OwnerUserId="2367" LastActivityDate="2011-03-06T18:33:53.647" CommentCount="0" CommunityOwnedDate="2011-03-06T18:33:53.647" ContentLicense="CC BY-SA 2.5" />
  <row Id="5309" PostTypeId="2" ParentId="5307" CreationDate="2011-03-06T18:41:03.573" Score="14" Body="&lt;p&gt;If the edges are permitted to be laid both inside and outside the circle, then it is called the 2-page graphs; if edges can only be laid inside the circle, it is the 1-page graphs, which is also know as the &lt;a href=&quot;http://en.wikipedia.org/wiki/Outerplanar_graph&quot; rel=&quot;nofollow&quot;&gt;outerplanar graphs&lt;/a&gt;. See the &lt;a href=&quot;http://en.wikipedia.org/wiki/Book_embedding&quot; rel=&quot;nofollow&quot;&gt;book embedding&lt;/a&gt; entry in Wikipedia for more information.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By your comment, I guess the term you're searching for is outerplanar, since the complete graph on 4 vertices is 2-page. Outerplanar graphs can be recognized in linear time; see &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Linear algorithms to recognize outerplanar and maximal outerplanar graphs, S.L. Mitchell, Information Processing Letters, 1979.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="1800" LastActivityDate="2011-03-06T18:41:03.573" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="5310" PostTypeId="2" ParentId="5307" CreationDate="2011-03-06T19:00:49.250" Score="3" Body="&lt;ol&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://mathworld.wolfram.com/GraphCrossingNumber.html&quot; rel=&quot;nofollow&quot;&gt;cr(G) - Crossing Number&lt;/a&gt; is minimum number of crossings with which a graph can be drawn.&lt;/li&gt;&#xA;&lt;li&gt;If you are using only straight line edges then its called Rectilinear Crossing Number.&lt;/li&gt;&#xA;&lt;li&gt;Determining cr(G) is NP-complete.&lt;/li&gt;&#xA;&lt;li&gt;Circular crossing minimization is NP-hard. &lt;a href=&quot;http://mathworld.wolfram.com/GraphCrossingNumber.html&quot; rel=&quot;nofollow&quot;&gt;&lt;strong&gt;This paper&lt;/strong&gt;&lt;/a&gt; suggests heuristics to minimize number of crossings. &lt;em&gt;This might be the thing you are here for.&lt;/em&gt;&lt;/li&gt;&#xA;&lt;li&gt;Crossings in circular layout &gt;= Crossings in any general layout&lt;/li&gt;&#xA;&lt;li&gt;Rectilinear crossing number &gt;= Crossing number&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="612" LastActivityDate="2011-03-06T19:00:49.250" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5311" PostTypeId="2" ParentId="5297" CreationDate="2011-03-06T23:18:06.997" Score="5" Body="&lt;p&gt;The time hierarchy theorem is the subject of my diploma project, perhaps you want to view the comments on my question &lt;a href=&quot;https://cstheory.stackexchange.com/questions/3525/lower-bounds-and-class-separation&quot;&gt;Lower bounds and class separation&lt;/a&gt; .&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Looking back to this question and how it relates to what you are asking, I got an idea that might show that the multitape to single tape TM simulation overhead needed by the theorem's proof cannot be improved. Thus, another approach is needed if we wish to improve this result.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT: This proof is incorrect, see the comments below for the exact reason. I am currently editing the answer to reflect that.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $A$ be the language $ \{ 0^{k}1^{k}| k \geq 0 \}$ . &lt;/p&gt;&#xA;&#xA;&lt;p&gt;On a single tape machine, there is an $O(n \log n)$ algorithm (you can find details of this algorithm in chapter 7.1.2 of Sipser's book &quot;Introduction to the Theory of Computation). In the same reference, you can see that a language is in o(n \log n) if and only if it is regular. &lt;a href=&quot;https://cstheory.stackexchange.com/users/186/kaveh&quot;&gt;Kaveh&lt;/a&gt; also provides the original papers for this claim in the question linked above.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the comments of my question, &lt;a href=&quot;https://cstheory.stackexchange.com/users/225/ryan-williams&quot;&gt;Ryan Williams&lt;/a&gt; illustrates an $O(n)$ algorithm for the same problem, using a 2-tape TM. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assume now that there is a technique for simulating a multitape TM into a single tape TM that has a running time of $ o( T(n) \log T(n) ) $, where $T(n)$ is the running time of the TM simulated. By applying it to the machine Ryan illustrates, we would get a single tape TM that would run in $ o( n \log n) $. Therefore, $A$ is regular , which is a contradiction. So, we conclude that an overhead of $ \log T(n) $ is the best we can do when simulating multi tape machines with single tape machines.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I realize this is a strong statement, so I might be wrong in my interpretation. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Even if a technique exists that allows to improve this result, I believe that it is not possible to match the result for $NTIME$ or $SPACE$. My intuition derives by the following fact:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is a &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=1382850&quot; rel=&quot;nofollow noreferrer&quot;&gt;very known result&lt;/a&gt; that states $DTIME(n) \neq NTIME(n)$. Under the assumption that $ P \neq NP$ I believe this result is improved to $ DTIME(n^{k}) \neq NTIME(n)$ , for any $k$.So, a very small non-deterministic class is much more powerful than any deterministic. So, given how powerful a resource non-deterministic time is, I would expect that a greater amount of deterministic time would be needed to make a TM more powerful to compensate for non-determinism's power. &lt;/p&gt;&#xA;" OwnerUserId="879" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.743" LastActivityDate="2011-03-08T18:04:06.380" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="5312" PostTypeId="1" AcceptedAnswerId="5320" CreationDate="2011-03-07T03:40:08.980" Score="12" ViewCount="4670" Body="&lt;p&gt;I'm a self-taught professional programmer. I am pretty good at it (Ruby, Unix, Clojure, Java, Objective-C), but now I'm thinking of taking it to the next level by maybe applying for a masters or PhD program in CS. What topics in math should I study to prepare for this goal? &lt;/p&gt;&#xA;" OwnerUserId="4140" LastEditorUserId="1800" LastEditDate="2011-03-07T03:52:42.643" LastActivityDate="2012-08-03T20:10:56.790" Title="What math courses should I take to prepare for a CS masters or PhD?" Tags="&lt;soft-question&gt;&lt;advice-request&gt;&lt;career&gt;" AnswerCount="8" CommentCount="3" FavoriteCount="20" ContentLicense="CC BY-SA 2.5" />
  <row Id="5313" PostTypeId="1" AcceptedAnswerId="5485" CreationDate="2011-03-07T03:58:13.853" Score="3" ViewCount="1407" Body="&lt;p&gt;I'm wondering if it's possible to go from an arbitrary equality function:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;Eq :: (obj, obj) -&amp;gt; bool&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;to an identity/collision-free hash function:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;Id :: obj -&amp;gt; int&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Where Id has the properties:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;Eq(a, b) implies Id(a) == Id(b)&#xA;!Eq(a, b) implies Id(a) != Id(b)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;This would be extremely helpful since it would allow indexable key-generation via Id(obj) for arbitrary types without the need to implement a hash function for those types (only an equality function).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, basically, I'm looking for something with the signature:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;F :: ( (obj, obj) -&amp;gt; bool ) -&amp;gt; (obj -&amp;gt; int)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;That is to say, &lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;F :: Eq -&amp;gt; Id&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;My intuition is that there's no purely functional way to do this (where Eq, Id, and F are all stateless), but I've been unable to prove this and would like confirmation. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is of course possible to achieve this with a stateful Id function that keeps track of all previously Id'd objects and compares them to any input with Eq to determine if an id should be reused. This, however, seems to perform poorly after being executed on a large number of objects - linear time and space proportional to the number of unique objects operated on is the best I can do.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there in fact a purely functional way to achieve this that I'm missing? If not, is there an efficient stateful solution?&lt;/p&gt;&#xA;" OwnerUserId="1383" LastActivityDate="2019-11-27T16:32:48.583" Title="Is it possible to generate a collision free hash function from an equality function?" Tags="&lt;ds.algorithms&gt;&lt;functional-programming&gt;&lt;hash-function&gt;" AnswerCount="3" CommentCount="14" FavoriteCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="5314" PostTypeId="1" CreationDate="2011-03-07T04:12:26.273" Score="3" ViewCount="342" Body="&lt;p&gt;What is it the relationship between the number of support vectors in an &lt;a href=&quot;http://en.wikipedia.org/wiki/Support_vector_machine&quot; rel=&quot;nofollow&quot;&gt;SVM&lt;/a&gt; and its generalization ability?  When lots of support vectors are used to classify, is the error rate minimized, but only to certain threashold?&lt;/p&gt;&#xA;" OwnerUserId="3716" LastEditorUserId="123" LastEditDate="2011-03-08T14:28:49.817" LastActivityDate="2011-03-08T14:28:49.817" Title="Support Vector Machines" Tags="&lt;lg.learning&gt;&lt;ai.artificial-intel&gt;" AnswerCount="2" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="5315" PostTypeId="1" CreationDate="2011-03-07T04:25:36.303" Score="3" ViewCount="185" Body="&lt;p&gt;Google adwords is a well known application of algorithmic game theory. It has a system wherein  buyers of ad placements bid to put their ads up on various sellers websites, then pay the second bid below them.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If this system were turned on its head, and sellers of ad placements (websites, in other words) bid to be the cheapest space (relative to their quality) for buyers of ads and were paid the second cheapest price instead, would this result in the same prices being paid for ad placements?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If these two scenarios are not equivalent, where is the breakdown?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In general, is there any duality between these problems?&lt;/p&gt;&#xA;" OwnerUserId="3337" LastEditorUserId="1800" LastEditDate="2011-03-07T04:40:40.900" LastActivityDate="2011-03-08T06:15:18.137" Title="Do buyers bidding for sellers and sellers bidding for buyers produce equivalent outcomes?" Tags="&lt;ds.algorithms&gt;&lt;gt.game-theory&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="5316" PostTypeId="2" ParentId="5312" CreationDate="2011-03-07T05:41:02.107" Score="13" Body="&lt;p&gt;Linear algebra, probability theory, some graph theory/combinatorics at a bare minimum. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2011-03-07T05:41:02.107" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5317" PostTypeId="2" ParentId="5277" CreationDate="2011-03-07T05:52:12.373" Score="4" Body="&lt;p&gt;One springs to mind and is listed as a maximal subclass in ISGCI, which surprised me: perfect claw-free graphs (a.k.a. perfect quasi-line graphs).  This was done by Minty for all claw-free graphs around 1980.  But a couple of other algorithms for claw-free graphs, one recently in SODA 2011 that is $O(n^3)$ by Faenza, Oriolo, and Stauffer, use the Chudnovsky-Seymour structural characterization of these graphs to reduce the problem to line graphs (and therefore maximum matching) in a fairly straightforward way.  If you're only looking at perfect claw-free graphs, then the earlier characterization by Maffray and Reed is sufficient (and the reduction to line graphs is more obvious).&lt;/p&gt;&#xA;" OwnerUserId="1929" LastActivityDate="2011-03-07T05:52:12.373" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5318" PostTypeId="1" AcceptedAnswerId="41746" CreationDate="2011-03-07T07:19:29.757" Score="11" ViewCount="362" Body="&lt;p&gt;SHA-1 security has been discussed since an algorithm for finding collisions was  first published at CRYPTO 2004 and has been subsequently improved.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Wikipedia lists a couple of &lt;a href=&quot;http://en.wikipedia.org/wiki/SHA-1#cite_note-18&quot; rel=&quot;noreferrer&quot;&gt;references&lt;/a&gt;, however it seems the latest research published (and later withdrawn) on this subject was in 2009 (Cameron McDonald, Philip Hawkes and Josef Pieprzyk &quot;Differential Path for SHA-1 with complexity O(2^52)&quot;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since then, has any significant progress been made on reducing the effort for a hash collision attack on SHA-1?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A link to specific research accompanied with a short summary would be appreciated.&lt;/p&gt;&#xA;" OwnerUserId="3490" LastActivityDate="2018-10-18T17:03:13.640" Title="State of research on SHA-1 Collision Attacks" Tags="&lt;cr.crypto-security&gt;&lt;hash-function&gt;&lt;cryptographic-attack&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="5319" PostTypeId="2" ParentId="5314" CreationDate="2011-03-07T10:15:07.557" Score="1" Body="&lt;p&gt;See Theorem 6.27 in &quot;Structural risk minimization over data-dependent hierarchies&quot; (Shawe-Taylor et al., &lt;a href=&quot;http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=705570&amp;amp;tag=1&quot; rel=&quot;nofollow&quot;&gt;http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=705570&amp;amp;tag=1&lt;/a&gt;) attributed to Littlestone and Warmuth, &quot;Relating Data Compression and Learnability&quot;.&lt;/p&gt;&#xA;" OwnerUserId="1746" LastActivityDate="2011-03-07T10:15:07.557" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5320" PostTypeId="2" ParentId="5312" CreationDate="2011-03-07T10:39:58.023" Score="11" Body="&lt;p&gt;There is a course at MIT OCW called &lt;a href=&quot;http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-042j-mathematics-for-computer-science-fall-2005/&quot;&gt;Mathematics for Computer Science&lt;/a&gt;, it lists some &lt;a href=&quot;http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-042j-mathematics-for-computer-science-fall-2005/lecture-notes/&quot;&gt;&lt;strong&gt;topics you MUST cover&lt;/strong&gt;&lt;/a&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Learning some &lt;a href=&quot;http://www.extension.harvard.edu/openlearning/math222/&quot;&gt;Abstract algebra&lt;/a&gt; will be a big plus. Because I see too many references to group theory in literature.&lt;/p&gt;&#xA;" OwnerUserId="612" LastActivityDate="2011-03-07T10:39:58.023" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="5321" PostTypeId="1" CreationDate="2011-03-07T12:39:33.810" Score="48" ViewCount="2912" Body="&lt;p&gt;The question I am interested in is related to generating random permutations. Given a probabilistic pairwise swap gate as the basic building block, what is the most efficient way to produce a uniformly random permutation of $n$ elements? Here I take &quot;probabilistic pairwise swap gate&quot; to be the operation which implements a swap gate between to chosen elements $i$ and $j$ with some probability $p$ which can be freely chosen for each gate, and the identity otherwise.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I realise this is not usually the way one generates random permutations, where usually one might use something like a Fisher-Yates shuffle, however, this will not work for the application I have in mind as the allowed operations are different.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Clearly this can be done, the question is how efficiently. What is the least number of probabilistic swaps necessary to achieve this goal?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;UPDATE:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Anthony Leverrier provides a method below which does indeed produce the correct distribution using $O(n^2)$ gates, with Tsuyoshi Ito providing another approach with the same scaling in the comments. However, the best lower bound I have so far seen is $\lceil \log_2(n!) \rceil$, which scales as $O(n\log n)$. So, the question still remains open: Is $O(n^2)$ the best that can be done (i.e. is there a better lower bound)? Or alternatively, is there a more efficient circuit family?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;UPDATE:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Several of the answers and comments have proposed circuits which are comprised entirely of probabilistic swaps where the probability is fixed at $\frac{1}{2}$. Such a circuit cannot solve this problem for the following reason (lifted from the comments):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Imagine a circuit which uses $m$ such gates. Then there are $2^m$ equiprobable computational paths, and so any permutation must occur with probability $k 2^{−m}$ for some integer k. However, for a uniform distribution we require that $k 2^{−m}=\frac{1}{n!}$, which can be rewritten as $k n! = 2^m$. Clearly this can't be satisfied for an integer value of $k$ for $n\geq3$, since $3|n!$ (for $n\geq 3$, but $3\nmid 2^m$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;UPDATE (from mjqxxxx who is offering the bounty):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The bounty being offered is for (1) a proof that $\omega(n \log n)$ gates are required, or (2) a working circuit, for any $n$, that uses less than $n(n-1)/2$ gates.&lt;/p&gt;&#xA;" OwnerUserId="204" LastEditorUserId="204" LastEditDate="2011-03-10T14:04:35.660" LastActivityDate="2015-03-09T18:09:27.230" Title="What is the most efficient way to generate a random permutation from probabilistic pairwise swaps?" Tags="&lt;co.combinatorics&gt;&lt;randomness&gt;&lt;probabilistic-circuits&gt;" AnswerCount="11" CommentCount="30" FavoriteCount="17" ContentLicense="CC BY-SA 2.5" />
  <row Id="5322" PostTypeId="2" ParentId="5321" CreationDate="2011-03-07T13:05:07.017" Score="0" Body="&lt;p&gt;If I understand correctly, if you want your circuit to be able to generate all permutations, you need at least $\lceil \log_2(n!) \rceil$ probabilistic gates, though I'm not sure how the minimal circuit can be constructed.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;UPDATE:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think that if you take the Mergesort algorithm and replace all comparisons with random choices with appropriate probabilities you'll get the circuit you are looking for.&lt;/p&gt;&#xA;" OwnerUserId="1749" LastEditorUserId="1749" LastEditDate="2011-03-07T13:46:06.967" LastActivityDate="2011-03-07T13:46:06.967" CommentCount="6" ContentLicense="CC BY-SA 2.5" />
  <row Id="5323" PostTypeId="1" AcceptedAnswerId="5337" CreationDate="2011-03-07T13:52:03.777" Score="67" ViewCount="4066" Body="&lt;p&gt;Currently, solving either a $NP$-complete problem or a $PSPACE$-complete problem is infeasible in the general case for large inputs. However, both are solvable in exponential time and polynomial space.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since we are unable to build nondeterministic or 'lucky' computers, does it make any difference to us if a problem is $NP$-complete or $PSPACE$-complete?&lt;/p&gt;&#xA;" OwnerUserId="988" LastActivityDate="2014-03-09T21:27:51.927" Title="Are $PSPACE$-complete problems inherently less tractable than $NP$-complete problems?" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;&lt;big-picture&gt;" AnswerCount="7" CommentCount="0" FavoriteCount="30" ContentLicense="CC BY-SA 2.5" />
  <row Id="5326" PostTypeId="2" ParentId="5323" CreationDate="2011-03-07T15:13:29.853" Score="37" Body="&lt;p&gt;It does matter, because there is more at stake than whether or not we can find solutions. Also of interest is whether we can &lt;em&gt;verify&lt;/em&gt; solutions. Other qualitiative distinctions can be made between the difficulty of problems, but for &lt;strong&gt;NP&lt;/strong&gt; versus larger complexity classes, this would be the one I would identify as most important.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For decision problems &amp;mdash; problems for which every instance has a '&lt;em&gt;YES&lt;/em&gt;' or '&lt;em&gt;NO&lt;/em&gt;' answer &amp;mdash; &lt;strong&gt;NP&lt;/strong&gt; is precisely the class of problems for which we can efficiently verify a purported proof that a given instance is a '&lt;em&gt;YES&lt;/em&gt;' instance, deterministically, if we are presented with one. For example, if you have a satisfying assignment of variables for an instance of 3-SAT, that assignment allows you to efficiently prove that the instance is satisfiable. Such a satisfying assignment may be hard to find, but once you have one, you can easily prove to others that the instance is satisfiable just by having them verify the solution you have found.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Similarly, for &lt;strong&gt;coNP&lt;/strong&gt;, there exist efficiently checkable proofs for '&lt;em&gt;NO&lt;/em&gt;' instances; and for problems in &lt;strong&gt;NP&lt;/strong&gt;&amp;nbsp;&amp;cap;&amp;nbsp;&lt;strong&gt;coNP&lt;/strong&gt;, you can do both. But for &lt;strong&gt;PSPACE&lt;/strong&gt;-complete problems, no such procedures exist &amp;mdash; unless you can prove some quite spectacular equalities of complexity classes. &lt;/p&gt;&#xA;" OwnerUserId="248" LastEditorUserId="248" LastEditDate="2011-03-07T15:19:48.787" LastActivityDate="2011-03-07T15:19:48.787" CommentCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="5327" PostTypeId="2" ParentId="5312" CreationDate="2011-03-07T16:50:43.543" Score="14" Body="&lt;p&gt;A generally high degree of mathematical maturity makes a lot of the formal aspects of (not necessarily theoretical) computer science much easier to understand. So doing a minor in mathematics along with your major in computer science would do more good than harm. &lt;/p&gt;&#xA;" OwnerUserId="77" LastActivityDate="2011-03-07T16:50:43.543" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5328" PostTypeId="2" ParentId="5323" CreationDate="2011-03-07T17:12:41.793" Score="7" Body="&lt;p&gt;You might think of it this way: does a math problem have a proof that is human-readable, or does it inherently require a &quot;computer proof.&quot;  Examples: is the starting position of checkers a draw?  (Answer: yes.)  Is the starting position of chess a win for white?  (Answer: unknown, but most gradmasters think it is a draw.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The proof that the starting position of checkers is a draw ultimately requires one to accept that the computer really did accurately verify a lot of special cases.  If a proof about chess ever exists, it will probably require human readers to accept that a computer correctly verified even more special cases.  And it may well be that there is &lt;em&gt;no shorter method&lt;/em&gt; to proof those statements.  Those are problems in PSPACE.  If a problem is &quot;just&quot; in NP, then (intuitively) a human being could hold the entire proof in his/her head.  That human might need to be a very specialized mathematician, of course.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This metaphor will break down if pushed too hard -- an NP-proof of size $n^{1000000}$ probably won't ever fit into anyone's head.  But the basic idea that &quot;witnesses are small&quot; is part of the reason NP-complete problems have so much industrial significance.&lt;/p&gt;&#xA;" OwnerUserId="30" LastActivityDate="2011-03-07T17:12:41.793" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="5330" PostTypeId="2" ParentId="5323" CreationDate="2011-03-07T17:15:59.067" Score="20" Body="&lt;p&gt;From a practical side, it's important to remember that NP-Completeness is not a barrier for many problems in practice. The twin tools of SAT solvers and CPLEX (for integer linear programming) are powerful enough and well-engineered enough that it's often possible to solve large instances of NP-complete problems by either framing the problem as a suitable ILP or by reduction to SAT. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm not aware of similarly well-engineered solvers for problems in PSPACE.&lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2011-03-07T17:15:59.067" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="5331" PostTypeId="1" AcceptedAnswerId="5335" CreationDate="2011-03-07T17:44:54.030" Score="5" ViewCount="355" Body="&lt;p&gt;I have a bipartite graph whose genus $g$ I know. I have a genus $g$ real surface(a $g$-holed donut). I want to construct a graph embedding on the surface so that I have no intersecting edges. Has this problem been studied before?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;That is given a genus $g$ bipartite graph, provide an explicit algorithm that can embed the graph in a non-intersecting manner on to a real surface with $g$ handles.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there any notion of equivalence of embeddings of graphs on surfaces? If so, given a genus $g$ graph, in how many non-equivalent ways can one do the embedding?&lt;/p&gt;&#xA;" OwnerUserId="1812" LastEditorUserId="1812" LastEditDate="2011-03-08T01:57:46.630" LastActivityDate="2011-03-08T01:57:46.630" Title="Construction of graph embeddings with non-intersecting edges" Tags="&lt;graph-algorithms&gt;&lt;cg.comp-geom&gt;&lt;graph-drawing&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="5332" PostTypeId="1" AcceptedAnswerId="5334" CreationDate="2011-03-07T18:47:25.370" Score="5" ViewCount="474" Body="&lt;p&gt;I have some graph-data which I would like to analyze. If the software could automatically determine some characteristics (Is the graph planar, clique number or any other graph property) it would be great, but if I could move the vertexes per drag and drop it would be good enough.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I know that I can visualize graphs with Graphviz, but I can't interact with the graph.&lt;/p&gt;&#xA;" OwnerUserId="4149" LastEditorUserId="186" LastEditDate="2011-03-08T04:14:50.910" LastActivityDate="2011-03-08T15:35:52.733" Title="Software for Graph Analysis" Tags="&lt;graph-theory&gt;&lt;software&gt;" AnswerCount="2" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="5333" PostTypeId="2" ParentId="5314" CreationDate="2011-03-07T19:52:16.470" Score="8" Body="&lt;p&gt;The answer to your question is a bit tricky and &lt;a href=&quot;http://www.stat.cmu.edu/~cshalizi/350/lectures/27/lecture-27.pdf&quot;&gt;here&lt;/a&gt; are good lecture notes to read to understand the various generalization error bounds. Let me try to summarize what's happening with SVMs and their generalization.  These PAC bounds are also found in &quot;An Introduction to Support Vector Machines: And Other Kernel-Based Learning Methods&quot; by &#xA;Cristianini and John Shawe-Taylor.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assuming a linear classifier correctly classifies all training examples (separable case), one bound (Vapnik '95 (&lt;em&gt;I think&lt;/em&gt;)) on the generalization error of a linear classifier is (ignoring log factors):&#xA;$$&#xD;&#xA;\epsilon = \tilde{O}\left(\frac{1}{n}\left( \frac{R^2}{\gamma^2} \right)\right),&#xD;&#xA;$$&#xA;where $R$ is a bound on the size of the vectors, $n$ is the number of samples, and $\gamma$ is the &lt;em&gt;margin&lt;/em&gt;, which is the distance to the support.  This bound says that the margin (the only quantity the learner has control over if the number of training examples are fixed), is an important quantity to maximize in SVM.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, there is an intuition the margin is maximized in &lt;em&gt;sparse&lt;/em&gt; solutions, and the sparseness of a solution is measured by the number of support vectors, so there is a relationship between the generalization bound and the quantity you're interested in.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another relevant bound for any classifier (not just the linear case) is the following &quot;compression bound&quot; (Littlestone and Warmuth '86), which basically says that if a classifier gets $n$ examples right but can be obtained by training it on just $m$ examples then you can bound its generalization error by&#xA;$$&#xD;&#xA;\epsilon \approx \frac{m \log n}{n-m}.&#xD;&#xA;$$&#xA;Here, you can think of $m$ as the number of support vectors.  This directly relates the number of support vectors to the generalization error.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;These two bounds help explain the interplay between the margins, the number of support vectors, and the generalization ability of an SVM (in the separable case).  In the non-separable case where you do not classify all training examples correctly, you get slack variables, slightly messier bounds, etc.&lt;/p&gt;&#xA;" OwnerUserId="123" LastEditorUserId="123" LastEditDate="2011-03-07T20:06:34.923" LastActivityDate="2011-03-07T20:06:34.923" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="5334" PostTypeId="2" ParentId="5332" CreationDate="2011-03-07T20:26:12.107" Score="4" Body="&lt;p&gt;SAGE supports &lt;a href=&quot;http://www.sagenb.org/home/pub/2351/&quot; rel=&quot;nofollow&quot;&gt;interactive graph drawing&lt;/a&gt;. You can easily create customized software for your own use.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.radokirov.com/js-graph-editor/&quot; rel=&quot;nofollow&quot;&gt;Graph editor&lt;/a&gt; &lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="612" LastEditorUserId="612" LastEditDate="2011-03-08T11:23:50.183" LastActivityDate="2011-03-08T11:23:50.183" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="5335" PostTypeId="2" ParentId="5331" CreationDate="2011-03-07T20:51:31.840" Score="4" Body="&lt;blockquote&gt;&#xA;&lt;p&gt;The problem of finding the graph genus is NP-hard (the problem of determining whether an n-vertex graph has genus g is NP-complete). &lt;em&gt;In this case you already know the genus.&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;At the same time, the graph genus problem is fixed-parameter tractable, i.e., polynomial time algorithms are known to check whether a graph can be embedded into a surface of a given fixed genus as well as to find the embedding.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;-&lt;a href=&quot;http://en.wikipedia.org/wiki/Graph_embedding&quot; rel=&quot;nofollow noreferrer&quot;&gt;wikipedia&lt;/a&gt; (who writes Graph Theory wikipedia btw? Its awesome:)&lt;/p&gt;&#xA;&lt;p&gt;If the fact that graph is bipartite doesn't play any very special role then the problem has been studied and solved.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&quot;http://epubs.siam.org/sidma/resource/1/sjdmec/v12/i1/p6_s1?isAuthorized=no&quot; rel=&quot;nofollow noreferrer&quot;&gt;A Linear Time Algorithm for Embedding Graphs in an Arbitrary Surface by Bojan Mohar&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="612" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2011-03-07T20:51:31.840" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="5336" PostTypeId="2" ParentId="5331" CreationDate="2011-03-07T21:31:11.423" Score="6" Body="&lt;p&gt;There is a &quot;simpler&quot; algorithm to check embeddability of graphs in surfaces of genus g.&#xA;See &lt;a href=&quot;http://dx.doi.org/10.1109/FOCS.2008.53&quot; rel=&quot;nofollow&quot;&gt;this paper&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Having a bipartite graph does not help. From any graph we can obtain a bipartite version by subdividing each edge once. The embeddability of the new graph and the original one is the same.&lt;/p&gt;&#xA;" OwnerUserId="1839" LastActivityDate="2011-03-07T21:31:11.423" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5337" PostTypeId="2" ParentId="5323" CreationDate="2011-03-07T23:06:01.740" Score="86" Body="&lt;p&gt;This is a very nice question that I have thought about a lot: &lt;strong&gt;Does the fact that a problem is $NP$-complete or $PSPACE$-complete actually affect the worst-case time complexity of the problem?&lt;/strong&gt; More fuzzily, does such a distinction really affect the &quot;typical case&quot; complexity of the problem in practice?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Intuition says that the $PSPACE$-complete problem is harder than the $NP$-complete one, regardless of what complexity measure you use. But the situation is subtle. It could be, for example, that $QBF$ (Quantified Boolean Formulas, the canonical $PSPACE$-complete problem) is in subexponential time if and only if $SAT$ (Satisfiability, the canonical $NP$-complete problem) is in subexponential time. (One direction is obvious; the other direction would be a major result!) If this is true, then maybe from the &quot;I just want to solve this problem&quot; point of view, it's not a big deal whether the problem is $PSPACE$-complete or $NP$-complete: either way, a subexponential algorithm for one implies a subexponential algorithm for the other.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let me be a devil's advocate, and give you an example where one problem happens to be &quot;harder&quot; than the other, but yet turns out to be &quot;more tractable&quot; than the other as well. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $F(x_1,\ldots,x_{n})$ be a Boolean formula on $n$ variables, where $n$ is even. Suppose you have a choice between two formulas you want to decide:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\Phi_1 = (\exists x_1)(\exists x_2)\cdots (\exists x_{n-1})(\exists x_{n})F(x_1,\ldots,x_{n})$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\Phi_2 = (\exists x_1)(\forall x_2)\cdots (\exists x_{n-1}(\forall x_{n})F(x_1,\ldots,x_{n})$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(That is, in $\Phi_2$, the quantifiers alternate.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Which one do you think is easier to solve? Formulas of type $\Phi_1$, or formulas of type $\Phi_2$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One would think that the obvious choice is $\Phi_1$, as it is only $NP$-complete to decide it, whereas $\Phi_2$ is a $PSPACE$-complete problem. But in fact, according to our best known algorithms, $\Phi_2$ is an easier problem. We have no idea how to solve $\Phi_1$ for general $F$ in less than $2^n$ steps. (If we could do this, we'd have new formula size lower bounds!) But $\Phi_2$ can be easily solved for any $F$ in randomized $O(2^{.793 n})$ time, using randomized game tree search! For a reference, see Chapter 2, Section 2.1, in Motwani and Raghavan. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The intuition is that &lt;em&gt;adding universal quantifiers actually constrains the problem&lt;/em&gt;, making it &lt;em&gt;easier&lt;/em&gt; to solve, rather than harder. The game tree search algorithm relies heavily on having alternating quantifiers, and cannot handle arbitrary quantifications. Still, the point remains that problems can sometimes get &quot;simpler&quot; under one complexity measure, even though they may look &quot;harder&quot; under another measure.&lt;/p&gt;&#xA;" OwnerUserId="225" LastEditorUserId="609" LastEditDate="2014-03-09T21:27:51.927" LastActivityDate="2014-03-09T21:27:51.927" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="5338" PostTypeId="2" ParentId="5323" CreationDate="2011-03-07T23:28:36.450" Score="5" Body="&lt;p&gt;Further to Suresh's comment, there appears to be a big difference in practice. There are heuristics that manage to exploit the structure of practical SAT instances and obtain excellent performance (I refer to conflict-driven clause learning solvers here). The same heuristics do not produce similar performance improvements in QBF solvers. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The difference between proof and verification also shows up. Some SAT solvers (such as MiniSAT 1.14 and a host of others) produce proofs. Producing proofs in current QBF solvers is non-trivial. (The next statement is from hearsay) There are large instances in the QBF competition on which solvers apparently produce different results. In the absence of proof-generating solvers, we do not know which result is correct.&lt;/p&gt;&#xA;" OwnerUserId="4155" LastActivityDate="2011-03-07T23:28:36.450" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5339" PostTypeId="2" ParentId="3540" CreationDate="2011-03-08T00:57:37.477" Score="16" Body="&lt;p&gt;&lt;a href=&quot;http://www.cs.princeton.edu/~chazelle/book.html&quot;&gt;The discrepancy method&lt;/a&gt;, Bernard Chazelle.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://mypage.iu.edu/~rdlyons/prbtree/prbtree.html&quot;&gt;Probability on Trees and Networks&lt;/a&gt;, Russell Lyons with Yuval Peres&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Both are great reads! You might want to grab Lyons-Peres now before they take it offline.&lt;/p&gt;&#xA;" OwnerUserId="61" LastActivityDate="2011-03-08T00:57:37.477" CommentCount="0" CommunityOwnedDate="2011-03-08T00:57:37.477" ContentLicense="CC BY-SA 2.5" />
  <row Id="5341" PostTypeId="1" AcceptedAnswerId="5355" CreationDate="2011-03-08T03:42:22.617" Score="59" ViewCount="3408" Body="&lt;p&gt;It is widely conjectured that $\omega$, the optimal exponent for matrix multiplication, is in fact equal to 2. My question is simple: &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What reasons do we have for believing that $\omega = 2$?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I'm aware of fast algorithms like Coppersmith-Winograd, but I don't know why these might be considered evidence for $\omega = 2$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Naively, it seems to me like a classic example where a community just hopes that a result is true purely for aesthetic reasons. I would love to know if that's essentially the case here.&lt;/p&gt;&#xA;" OwnerUserId="472" LastEditorUserId="80" LastEditDate="2011-03-08T21:32:33.810" LastActivityDate="2017-01-29T08:24:46.790" Title="Evidence that matrix multiplication can be done in quadratic time?" Tags="&lt;ds.algorithms&gt;&lt;linear-algebra&gt;&lt;matrix-product&gt;" AnswerCount="4" CommentCount="7" FavoriteCount="21" ContentLicense="CC BY-SA 2.5" />
  <row Id="5342" PostTypeId="2" ParentId="5315" CreationDate="2011-03-08T06:15:18.137" Score="6" Body="&lt;p&gt;Generally speaking, auctions can go both ways in a dual manner: you can sell something via an auction among buyers or you can buy something via a procurement auction among possible providers (sellers).  The asymmetry usually comes from where the competition lies: the auctioneer holds a &quot;monopoly&quot; while the bidders compete with each other.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the example of ad auctions we usually view the advertisers as having unlimited demand for &quot;impressions&quot; and thus there is no effective competition between websites which each can be viewed as having a monopoly over the impressions it delivers.  More realistic models may take into account some limits on the demand of advertisers for impressions (e.g max impressions or budget limits) in which case taking competing websites into account too would take us out of the usual auction model and into a two-sided market scenario.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Generally speaking there is no reason for the prices of a buyer-led auction to be equal to those from a seller-led one.  Consider even the case of one buyer and one seller: certainly the side running the &quot;auction&quot; (which in this case is just setting a transaction price for the other to take or leave) can set it at the others' value in order to optimize for himself.  A related example would be the stable-marriage problem where a &quot;men-propose algorithm&quot; produces a man-optimal matching, while a &quot;women-propose algorithm&quot; produce a women-optimal one.&lt;/p&gt;&#xA;" OwnerUserId="42" LastActivityDate="2011-03-08T06:15:18.137" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="5346" PostTypeId="1" CreationDate="2011-03-08T08:20:01.213" Score="2" ViewCount="196" Body="&lt;p&gt;The Turing machine (TM) is an abstract model for effective implementation of (finite algorithmic) calculation. TM is defined over some alphabet of symbols L and reading data performs a finite sequence of operations on these symbols in the manner described a kind of mapping, let's call it the transition mapping. TM has a certain inner state q which may be one element of a finite set Q. Transition mapping T specifies that if the machine reads in the current cell the symbol x from L.changes it to a symbol x ', and next data would be read from right (R) or left (L) cell. During this operation the state machine will change q to q '. &#xA;We say that TM is defined as structure $ TM(L,Q,T,\{ START \},\{ STOP \}) $. But for this discussion it would be easier to say that we define certain sets as $ L&amp;#39;= L + \{ L,P \} $ and $ Q&amp;#39; = Q + \{ START,STOP \} $ and then we obtain &quot;symmetric&quot; $ T`: L&amp;#39; \times Q&amp;#39; -&amp;gt; L&amp;#39; \times Q&amp;#39; $. Then we omit any primes when it possible, and we define TM as $ TM(L,Q,T) $. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;We may describe states of TM as $ q_{ij} $ where $ i = 0...N $, $ j = L,P $ and $ q_{0L} =q_{0P} =START $, $ q_{NL} =q_{NP} =STOP $. Transition function is defined such that for given $ q_{ij} $ and symbol $ a_k $ from alphabet $ L $ machine in state $ q_{ij} $ reads $ a_k $ and goes to state $ q_{nm} $ and writes symbol $ a_s $ on the tape. That is:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$ T&amp;#39;(q_{ij}, a_k) = T(q_i, a_s,) = (q_n, a_s, x) $ &lt;/p&gt;&#xA;&#xA;&lt;p&gt;where $a_k, a_s \in L $ and $x \in \{ L,P \}$&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;We may ask when $T(q_{ij}, a_k)$&#xA;  defines any ordering relation on $ L \times Q $ or on $Q$ or even on $ L \times Q \times {L,P} $ ?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Of course in general there is no such possibility, but in certain situation we may for example has $T(q_{ij}, a_k)$ such that for any $j,k$, &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$T(q_{ij}, a_k) = (q_{ nm }, a_s)$ and  $i \leq n $. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In such situation T defines partial order. In such situation $ Q $ may be a lattice with relation generated by order generated by transition function T.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Are there any interesting facts about&#xA;  TM with such (or similar) property?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Remark/Motivation&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I wonder if certain relation of this type,may give us algebraic structure on LxQ set. When the answer is yes, we may ask if TM will stop his computation for every data for example. Of course there are is in some way trivial examples of such transition function T. But suppose what if structure generated by T' is much more complicated for example if it is lattice. I suppose in certain situations it may be not trivial ( trivial one is when You have STOP and START as bounding extrema, and all other states are at the same level) So when it occurs, TM has certain and nontrivial data flow through it graph of states. And structure of it ( eg. lattice) may give us a tool for proving specific properties.&lt;/p&gt;&#xA;" OwnerUserId="577" LastEditorUserId="577" LastEditDate="2011-03-08T11:41:08.207" LastActivityDate="2011-03-08T11:41:08.207" Title="Turing Machine which generates order on the set of its states" Tags="&lt;reference-request&gt;&lt;turing-machines&gt;&lt;lattice&gt;" AnswerCount="0" CommentCount="11" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="5347" PostTypeId="2" ParentId="2917" CreationDate="2011-03-08T09:14:49.037" Score="1" Body="&lt;p&gt;Perhaps I'm missing something but I think there is a good lower bound with the probabilistic method:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you color each vertex indepedently with probability $1/2$ for each color then your have a monochromatic edge with probability $2 \cdot (\dfrac{1}{2})^k = 2^{-k+1}$. With the &lt;a href=&quot;http://en.wikipedia.org/wiki/Lov%C3%A1sz_local_lemma&quot; rel=&quot;nofollow&quot;&gt;Lovasz local lemma&lt;/a&gt; you get that the shift-chain has property $B$ if&#xA;$$k(n-k)+1 \leq \dfrac{2^{k-1}}{e}-1.$$&#xA;I can't directly solve this inequality but if you have $k = \Omega(\log(n))$ then you get on the left hand side somethink like $n \log(n)$ and on the right hand side $n^c$ (so the inequality is true for $n$ large enough).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is a &lt;a href=&quot;http://onlinelibrary.wiley.com/doi/10.1002/%28SICI%291098-2418%28200001%2916:1%3C4%3a%3aAID-RSA2%3E3.0.CO;2-2/abstract;jsessionid=92159B653F14ABD058BA1095562D614F.d01t02&quot; rel=&quot;nofollow&quot;&gt;better bound&lt;/a&gt; of $O(\sqrt{k/\ln(k)} \cdot 2^k)$ on the number of edges for a $k$-uniform hypergraph so that the graph has property $B$. &lt;/p&gt;&#xA;" OwnerUserId="2517" LastActivityDate="2011-03-08T09:14:49.037" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="5351" PostTypeId="2" ParentId="5323" CreationDate="2011-03-08T12:58:07.327" Score="36" Body="&lt;p&gt;We don't know how to build average-case hard problems from (worst-case) NP-complete problems but we can do this for PSPACE (see &lt;a href=&quot;http://www.springerlink.com/content/h765k25486510253&quot;&gt;Köbler &amp;amp; Schuler (1998)&lt;/a&gt;) to create problems even over the uniform distribution that cannot be solved on most inputs unless all of PSPACE is easy to compute.&lt;/p&gt;&#xA;" OwnerUserId="550" LastEditorUserId="1037" LastEditDate="2014-03-09T05:53:26.780" LastActivityDate="2014-03-09T05:53:26.780" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="5352" PostTypeId="2" ParentId="5341" CreationDate="2011-03-08T15:05:20.623" Score="28" Body="&lt;p&gt;I don't know about others but I can tell you why I tend to believe that $\omega=2$. When you read through the history and development of fast matrix multiplication algorithms, I think that it is hard not to get feeling that all that we need is just a slightly better basic algorithm from which, even using known techniques, $\omega=2$ will follow. Basically, all algorithms today (including group theoretic ones) start with some &quot;simple&quot; construction that is then amplified. Those constructions are clever but they give the reader some sort of an &quot;ad-hoc&quot; feeling. I don't see a reason to believe that we cannot come up with better simple constructions. &lt;/p&gt;&#xA;" OwnerUserId="4164" LastActivityDate="2011-03-08T15:05:20.623" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5353" PostTypeId="2" ParentId="5332" CreationDate="2011-03-08T15:35:52.733" Score="4" Body="&lt;p&gt;The &lt;a href=&quot;http://tulip.labri.fr&quot; rel=&quot;nofollow&quot;&gt;Tulip software&lt;/a&gt;, developed by the Graph visualization team of my lab, has such a feature. It allows you to drag and drop vertices, color vertices/edges, can check for connectivity, acyclicity, planarity, etc. and implements several nice graph drawing algorithms.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is written in C++ and has a very nice plugin system which allows you to write your own pieces according to your needs. There is a documentation online, but if you need any help please feel free to ask.&lt;/p&gt;&#xA;" OwnerUserId="1930" LastActivityDate="2011-03-08T15:35:52.733" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="5354" PostTypeId="2" ParentId="5321" CreationDate="2011-03-08T15:58:17.067" Score="0" Body="&lt;p&gt;&lt;strong&gt;The following answer is wrong (see @joe fitzsimon's comment), but might be useful as starting point&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have a sketch proposal in $O(n\log n)$. I have hand-checked it works for $n=4$ (!) but I have no proof yet that the result is uniform beyond $n=4$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose you have a circuit $C_n$ which generates a uniform random permutation on $n$ bits. Les $S_{i,j}^{\frac 12}$ the probabilistic swap gate which swaps the bits $i$ and $j$ with probability 1/2 and does nothing with probability $1/2$. Construct the following circuit $C_{2n}$ acting on $2n$ bits:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;$\forall 1\le k\le n$, apply the gate $S_{k,k+n}^{1/2}$;&lt;/li&gt;&#xA;&lt;li&gt;Apply $C_n$ on the first $n$ bits;&lt;/li&gt;&#xA;&lt;li&gt;Apply $C_n$ on the last $n$ bits;&lt;/li&gt;&#xA;&lt;li&gt;$\forall 1\le k\le n$, apply the gate $S_{k,k+n}^{1/2}$.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Step 1. is needed so that bits $1$ and $n+1$ can land in the same half of  the permutation, and step 4. is needed by symmetry : if $C_{2n}$ is a solution, so is $C_{2n}^-1$ obtained by applying the gates in a reverse order is also a solution.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The size of this family of circuits obeys the following recursion relation : &#xA;$$ |C_{2n}| = 2|C_n|+2n $$&#xA;with, obviously, $|C_1|=0$. One then easily sees that $|C_n|=n\log n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then remains the obvious question : do these circuits perform uniform permutations ? &lt;strong&gt;No, see first comment below&lt;/strong&gt;&lt;/p&gt;&#xA;" OwnerUserId="2368" LastEditorUserId="2368" LastEditDate="2011-03-08T17:54:46.593" LastActivityDate="2011-03-08T17:54:46.593" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="5355" PostTypeId="2" ParentId="5341" CreationDate="2011-03-08T16:04:28.807" Score="20" Body="&lt;p&gt;I'd like to add to Mark Reitblatt's comment and Amir Shpilka's answer. First, one of the conjectures put forward by Cohn, Kleinberg, Szegedy, and Umans is not group-theoretic but is purely combinatorial (Conj. 3.4 in &lt;a href=&quot;http://dx.doi.org/10.1109/SFCS.2005.39&quot;&gt;their FOCS '05 paper&lt;/a&gt;). This conjecture says that the &quot;strong USP capacity is $\frac{3}{2^{2/3}}$.&quot; Coppersmith and Winograd, in exhibiting their currently-best algorithm for matrix multiplication, showed that the USP capacity is this same number $\frac{3}{2^{2/3}}$ (although they did not phrase it quite this way). Although there is a difference between strong USPs and USPs, this is some evidence that their conjecture is at least plausible.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(For their other Conjecture 4.7, which is group-theoretic, I do not know of any similar evidence of plausibility, beyond just intuition.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Second, I agree with Amir Shpilka that the string of past algorithms has a somewhat ad-hoc feel. However, one of the nice things about the group-theoretic approach is that almost all (not quite all) of the previous algorithms can be phrased in this approach. Although the various group-theoretic constructions in [CKSU] may seem a little ad-hoc on the outside, within the context of the group-theoretic framework they appear significantly more natural and less ad-hoc (at least to me) than many of the previous algorithms.&lt;/p&gt;&#xA;" OwnerUserId="129" LastEditorUserId="74" LastEditDate="2011-03-08T20:03:17.873" LastActivityDate="2011-03-08T20:03:17.873" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="5356" PostTypeId="1" AcceptedAnswerId="5372" CreationDate="2011-03-08T16:46:16.760" Score="16" ViewCount="1815" Body="&lt;p&gt;After working with 2-3 finger trees for quite a bit I have been impressed by their speed in most operations.  However, the one issue I have run into is the large overhead associated with the initial creation of a large finger tree.  Because building is defined as a sequence of concatenation operations you end up building a large number of finger tree structures that are unneeded.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Due to the complex nature of 2-3 finger trees I see no intuitive method for bootstrapping them, and all my searches have come up empty. So the question is, how could you go about bootstrapping a 2-3 finger tree with minimal overhead?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To be explicit: given a sequence $S$ of known length $n$ generate the finger tree representation of $S$ with minimal operations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The naive way to accomplish is successive calls to the cons operation (in the literature the '$\triangleleft$' operator).  However, this will create $n$ distinct finger tree structures representing all the slices of $S$ for $[1..i]$.&lt;/p&gt;&#xA;" OwnerUserId="4165" LastEditorUserId="10326" LastEditDate="2012-11-22T20:28:39.877" LastActivityDate="2016-02-20T05:54:39.323" Title="Bootstrapping a Finger Tree Structure" Tags="&lt;ds.data-structures&gt;&lt;functional-programming&gt;" AnswerCount="3" CommentCount="6" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="5358" PostTypeId="2" ParentId="5341" CreationDate="2011-03-08T18:37:30.377" Score="20" Body="&lt;p&gt;There is an analogy I use to justify the conjecture that $\omega = 2$ to myself.  I realize this is pretty heuristic, but nevertheless it has served me well, for example, in understanding some of the intuition behind the Cohn et al. paper.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Convolution and matrix multiplication are analogous.  If $A$ and $B$ are $n$-by-$n$ matrices and $C = AB$, then $C(i,j) = \sum_{k=1}^n A(i,k) B(k,j)$.  If $A$ and $B$ are $n$-length vectors and $C = A*B$, then $C(i) = \sum_{k=1}^n A(k)B(i-k)$.  In both cases, the final result is a vector consisting of sums of products, but the relational structure in the input data is different.  For convolution, we can use the FFT to compute the answer in $\tilde{O}(n)$ time instead of the trivial $O(n^2)$.  Analogously, one might expect an $\tilde{O}(n^2)$ time algorithm for matrix multiplication.  The question is: what is the analog of the Fourier transform which can help for matrix multiplication?&lt;/p&gt;&#xA;" OwnerUserId="15" LastActivityDate="2011-03-08T18:37:30.377" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5359" PostTypeId="1" AcceptedAnswerId="5365" CreationDate="2011-03-08T21:04:48.343" Score="7" ViewCount="493" Body="&lt;p&gt;A certificate for an input $x$ is a subset of bits $S \subseteq \{1,...,n\}$ such that for all inputs $y$, $(\forall i \in S \quad y_i = x_i) \rightarrow f(y) = f(x)$. Then $C_x(f)$ is the minimum size of a certificate for input $x$ and the &lt;em&gt;certificate complexity&lt;/em&gt; $C(f) = \max_x C_x(f)$. Thus, certificate complexity can be seen as a form of query complexity for nondeterministic machines: guess the smallest certificate for $x$ and then verify with $C_x(f)$ many queries. This is used as an intermediate complexity measure when proving relationships between deterministic query complexity ($D(f)$) and quantum query complexity ($Q_2(f)$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is it known, or believed that for a total functions $f$, $C(f) \leq Q_2(f)$? Are there any total functions $f$, where it is know that $C(f) \in o(Q_2(f))$ (or vice-versa)? And just for fun: does this question correspond in some formal way to the questions associated NP vs. BQP?&lt;/p&gt;&#xA;" OwnerUserId="1037" LastActivityDate="2011-03-12T06:24:54.807" Title="Quantum query complexity and certificate complexity" Tags="&lt;cc.complexity-theory&gt;&lt;quantum-computing&gt;&lt;query-complexity&gt;" AnswerCount="2" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="5360" PostTypeId="2" ParentId="5321" CreationDate="2011-03-08T21:05:09.607" Score="17" Body="&lt;p&gt;A working algorithm that I described in a comment above is the following:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;First start by bringing a random element with probability $1/n$ in position $n$: swap positions 1 and 2 with proba $1/2$, then 2 and 3 with proba $2/3$, ... then $n-1$ and $n$ with proba $(n-1)/n$.&lt;/li&gt;&#xA;&lt;li&gt;Apply the same procedure to bring a random element in position $n-1$: swap positions 1 and 2 with prob $1/2$ ... then positions $n-2$ and $n-1$ with proba $(n-2)/(n-1)$.&lt;/li&gt;&#xA;&lt;li&gt;Etc&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The number of gates required by this algorithm is $(n-1)+(n-2)+ \cdots + 2+1 = n(n-1)/2 = O(n^2)$.&lt;/p&gt;&#xA;" OwnerUserId="5" LastActivityDate="2011-03-08T21:05:09.607" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="5361" PostTypeId="1" AcceptedAnswerId="5370" CreationDate="2011-03-08T21:32:41.553" Score="34" ViewCount="6826" Body="&lt;p&gt;In my academic career, I've read quite a few academic papers on various computer science topics.  Many of which involve an implementation and some assessment of that implementation, yet I have found that very few of them actually publish the code they used.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To me, the benefits of including the actual implementation would be significant, namely:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Extension of trust or reproducability (just test it yourself!)&lt;/li&gt;&#xA;&lt;li&gt;Clarification of ambiguities (particularly for papers written by non-native speakers)&lt;/li&gt;&#xA;&lt;li&gt;Reuse of code for applications&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;So why is it that so few papers actually include any code?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I suppose that it might be the intention of the organization behind the paper to utilize the implementation in their own applications, and thus would not want to release it, but if that's the case, why even write the paper?&lt;/p&gt;&#xA;" OwnerUserId="4167" LastEditorUserId="80" LastEditDate="2011-03-08T23:01:01.173" LastActivityDate="2011-07-08T07:47:08.793" Title="Code in Academic Papers" Tags="&lt;soft-question&gt;&lt;research-practice&gt;&lt;paper-review&gt;" AnswerCount="6" CommentCount="9" FavoriteCount="12" ContentLicense="CC BY-SA 2.5" />
  <row Id="5362" PostTypeId="2" ParentId="5361" CreationDate="2011-03-08T21:53:23.893" Score="16" Body="&lt;p&gt;If you work for an industrial lab, it can be much, much easier to get a paper approved for release than to get code approved for release (even if the paper contains all the information needed to rewrite the code). Blame bureaucracy.&lt;/p&gt;&#xA;" OwnerUserId="1677" LastActivityDate="2011-03-08T21:53:23.893" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="5363" PostTypeId="2" ParentId="5321" CreationDate="2011-03-08T22:01:23.823" Score="1" Body="&lt;p&gt;Anthony's $O(n^2)$ algorithm can be run in parallel by starting the next iteration of the procedure after the first two probabilistic swaps, resulting in $O(n)$ runtime.&lt;/p&gt;&#xA;" OwnerUserId="1560" LastActivityDate="2011-03-08T22:01:23.823" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="5364" PostTypeId="2" ParentId="5321" CreationDate="2011-03-08T22:46:47.953" Score="12" Body="&lt;p&gt;Here's a somewhat interesting solution for $n=4$. The same idea also works for $n=6$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Start with the switches $(0,1),(2,3)$ with probability $1/2$. Reducing $0,1$ to $X$ and $2,3$ to $Y$, we are in the situation $XXYY$. Apply the switches $(0,3),(1,2)$ with probability $p$. The result is&#xA;$$&#xD;&#xA;\begin{align*}&#xD;&#xA;XXYY &amp;amp;\text{ w.p. } (1-p)^2, \\&#xD;&#xA;YYXX &amp;amp;\text{ w.p. } p^2, \\&#xD;&#xA;XYXY &amp;amp;\text{ w.p. } p(1-p), \\&#xD;&#xA;YXYX &amp;amp;\text{ w.p. } p(1-p)&#xD;&#xA;\end{align*}&#xD;&#xA;$$&#xA;Our next move is going to be $(0,2),(1,3)$ with probability $1/2$. Thus we really only care if the result of the previous stage is of the form $XXYY/YYXX$ (case A) or of the form $XYXY/YXYX$ (case B). In case A these switches will result in a uniform probability over $XXYY/XYYX/YXXY/YYXX$. In case B they will be ineffective. Therefore $p$ must satisfy&#xA;$$ p(1-p) = 1/6 \Longrightarrow p = \frac{3 \pm \sqrt{3}}{6}. $$&#xA;Given that, the result is uniform.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A similar idea works for $n=6$ - you first randomly sort each half, and then &quot;merge&quot; them. However, even for $n=8$ I can't see how to merge the halves properly.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The interesting point about this solution is the weird probability $p$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As a side note, the set of probabilities $p$ which can conceivably help us is given by $1/(1-\lambda)$, where $\lambda \leq 0$ goes over all eigenvalues of all representations of $S_n$ at all transpositions.&lt;/p&gt;&#xA;" OwnerUserId="40" LastActivityDate="2011-03-08T22:46:47.953" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="5365" PostTypeId="2" ParentId="5359" CreationDate="2011-03-08T23:24:23.460" Score="5" Body="&lt;p&gt;In the paper &lt;a href=&quot;http://arxiv.org/abs/quant-ph/0611054&quot;&gt;Negative weights make adversaries stronger&lt;/a&gt;, Lee, Spalek, and Hoyer give a function for which $ADV^{&amp;#177;}(f)= \Omega( ({C_0(f)C_1(f)})^{0.549})$, where $ADV^&amp;#177;$ denotes the general adversary lower bound. This lower bound has since been proved to characterize quantum query complexity. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This function is obtained by composing a function on a few bits bits with itself $d$ times. You get in the end $C_0(f)=C_1(f)=3^d$ and thus $C(f) \in o(Q_2(f))$.&lt;/p&gt;&#xA;" OwnerUserId="899" LastActivityDate="2011-03-08T23:24:23.460" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5366" PostTypeId="2" ParentId="5312" CreationDate="2011-03-09T00:27:14.560" Score="9" Body="&lt;p&gt;Some things you may need, some more, some less:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Mathematical Logic&lt;/li&gt;&#xA;&lt;li&gt;Probability Theory / Combinatorics / Statistics&lt;/li&gt;&#xA;&lt;li&gt;Linear Algebra&lt;/li&gt;&#xA;&lt;li&gt;Calculus&lt;/li&gt;&#xA;&lt;li&gt;Graph Theory&lt;/li&gt;&#xA;&lt;li&gt;Set Theory&lt;/li&gt;&#xA;&lt;li&gt;Number Theory&lt;/li&gt;&#xA;&lt;li&gt;Maybe some optimization theory&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Of course (almost) anything will be useful, especially if you are going into theoretical computer science fields.&lt;/p&gt;&#xA;" OwnerUserId="1657" LastActivityDate="2011-03-09T00:27:14.560" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5367" PostTypeId="1" AcceptedAnswerId="5368" CreationDate="2011-03-09T00:38:46.917" Score="4" ViewCount="254" Body="&lt;p&gt;I was reading the paper &quot;Recognizing Well-Paranthesized Expressions in the Streaming Model&quot; by Magniez, Mathieu and Nayak where they give upper and lower bounds on the space required to recognize DYCK(2) languages in the streaming model. Quoting a sentence from the introduction section of the paper - &quot;Using a straightforward one-way communication complexity argument for EQUALITY, we can deduce that DYCK(2) requires linear space for deterministic one-pass streaming algorithms.&quot; Can anyone see the straightforward argument? (I can't, but perhaps I am being blind.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some background -&lt;/p&gt;&#xA;&#xA;&lt;p&gt;DYCK(2) languages are basically sequences of two kinds of parantheses that are well-formed. For example, the sequence [()] is in DYCK(2), but the sequence [(]) is not.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One-way communication complexity of EQUALITY refers to the following problem. Alice and Bob both have one n-bit string each. Alice does some computation on her bits and sends some information to Bob. Bob can do computation on this information plus his bits and has to decide whether his n-bit string is exactly equal to Alice's bit string or not. It can be shown using simple communication complexity arguments that the number of bits that must be communicated is $\Omega(n)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Communication complexity lower bounds are often used for proving lower bounds for streaming algorithms. The usual scheme is the following. Suppose the problem you want to solve in streaming is P. Pick a communication complexity problem P' for which you know of a lower bound on the number of bits that need to be communicated. Then assume that the problem P can be solved in the streaming model using $o(f(n))$ space. Now in the communication complexity problem P', assume that Alice has as her input the first few bits of the input for P (or some mapping of the first few bits to something else). Then assume that the protocol they use for communication is that Alice runs the streaming algorithm on her input, sends the working space to Bob and then Bob finishes off using his input. In the end, prove that the solution to the streaming problem somehow gives a solution for the communication complexity problem. This will show that the communication complexity problem can be solved with $o(f(n))$ bits of complexity. The trick is to choose $f(n)$ in such a way that this leads to a contradiction.&lt;/p&gt;&#xA;" OwnerUserId="262" LastEditorUserId="186" LastEditDate="2011-03-09T03:47:28.740" LastActivityDate="2011-03-09T03:47:28.740" Title="Why does deterministic recognition of DYCK(2) languages in the streaming model take linear space?" Tags="&lt;cc.complexity-theory&gt;&lt;lower-bounds&gt;&lt;communication-complexity&gt;&lt;data-streams&gt;&lt;streaming&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5368" PostTypeId="2" ParentId="5367" CreationDate="2011-03-09T01:19:24.003" Score="8" Body="&lt;p&gt;Consider the restricted case in which the opening parentheses all come before the closing ones. Map ( and ) to 0, and [ and ] to 1. Then (after the map) an expression is well formed if and only if the first half is equal to the second half reversed.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider then a one-pass streaming algorithm that solves this restricted version of the problem in sublinear space. Using the construction in your question, to get a protocol for the equality problem with sublinear communication, Alice runs the streaming algorithm on her input (mapping 0 to ( and 1 to [), sends the working space to Bob, and Bob finishes off using the reverse of his input (mapping 0 to ) and 1 to ]). The streaming algorithm will output that the sequence of parentheses is well formed iff their original inputs are equal.&lt;/p&gt;&#xA;" OwnerUserId="1632" LastEditorUserId="1632" LastEditDate="2011-03-09T01:26:36.643" LastActivityDate="2011-03-09T01:26:36.643" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="5369" PostTypeId="2" ParentId="5312" CreationDate="2011-03-09T03:09:06.737" Score="4" Body="&lt;p&gt;All of the other answers +...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Arguably the most useful thing for you to try and do is engage in research. Following stackexchange, reading some background material/papers and figuring out what you might find interesting might be the most effective  way to prepare yourself to grad school.&lt;/p&gt;&#xA;" OwnerUserId="9594" LastActivityDate="2011-03-09T03:09:06.737" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5370" PostTypeId="2" ParentId="5361" CreationDate="2011-03-09T04:58:18.950" Score="17" Body="&lt;p&gt;Here is a well argued article by David Donoho and Jonathan Buckheit that I read in grad school which touches on exactly this topic from the point of view of wavelet researchers:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www-stat.stanford.edu/~wavelab/Wavelab_850/wavelab.pdf&quot;&gt;&quot;WaveLab and Reproducible Research&quot;&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Their idea was even more ambitious, to provide code for reproducing all the figures in their papers in a convenient Matlab package.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I really like their idea but I think the issues are obvious.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(1) It is extra work (cleaning up the code, making at least a rudimentary user interface, writing some documentation, providing some support when people inevitably run into problems)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(2) It is not really required/expected by most conferences/reviewers&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But I can't help but feel that the CS research community would benefit if there was an expectation of making the code and data used in any publication publicly available in a usable format. I admit that I haven't done so myself even when the amount of work involved would have been manageable. I think it is just hard to make yourself put in the extra effort when there is no external push.&lt;/p&gt;&#xA;" OwnerUserId="847" LastActivityDate="2011-03-09T04:58:18.950" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="5371" PostTypeId="1" AcceptedAnswerId="5378" CreationDate="2011-03-09T05:47:18.193" Score="10" ViewCount="414" Body="&lt;p&gt;I'm interested in the explicit examples of graphs for which application of Goemans and Williamson algorithm for approximating maximum cuts results in 0.878…-approximation factor.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The algorithm to create such instances would be perfect, explicit examples and references are satisfactory.&lt;/p&gt;&#xA;" OwnerUserId="3573" LastEditorUserId="1800" LastEditDate="2011-03-09T08:23:41.817" LastActivityDate="2011-03-09T16:32:26.457" Title="Examples of hard instances for Goemans and Williamson algorithm" Tags="&lt;ds.algorithms&gt;&lt;approximation-algorithms&gt;&lt;max-cut&gt;&lt;hard-instances&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="5372" PostTypeId="2" ParentId="5356" CreationDate="2011-03-09T07:52:09.070" Score="16" Body="&lt;p&gt;GHC's &lt;a href=&quot;http://www.haskell.org/ghc/docs/latest/html/libraries/containers-0.4.0.0/src/Data-Sequence.html#replicate&quot;&gt;&lt;code&gt;Data.Sequence&lt;/code&gt;'s &lt;code&gt;replicate&lt;/code&gt; function&lt;/a&gt;&#xA; builds a fingertree in $O(\lg n)$ time and space, but this is enabled by knowing the elements that go on the right spine of the finger tree from the get-go. This library was written by the authors of the original paper on 2-3 finger trees.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you want to build a finger tree by repeated concatenation, you might be able to reduce the transient space usage while building by changing the representation of the spines. The spines on 2-3 finger trees are cleverly stored as synchronized singly-linked lists. If, instead, you store the spines as deques, it may be possible to save space when concatenating trees. The idea is that concatenating two trees of the same height takes $O(1)$ space by reusing the spines of the trees. When concatenating 2-3 finger trees as originally described, the spines that are internal to the new tree can no longer be used as-is.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.math.tau.ac.il/~haimk/papers/loglog23.ps&quot;&gt;Kaplan and Tarjan's &quot;Purely Functional Representations of Catenable Sorted Lists&quot;&lt;/a&gt; describes a more complicated finger tree structure. This paper (in section 4) also discusses a construction similar to deque suggestion I made above. I believe the structure they describe can concatenate two trees of equal height in $O(1)$ time and space. For building finger trees, is this enough space saving for you?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;NB: Their use of the word &quot;bootstrapping&quot; means something a bit different than your use above. They mean storing part of a data structure using a simpler version of the same structure.&lt;/p&gt;&#xA;" OwnerUserId="43" LastEditorUserId="43" LastEditDate="2011-03-09T16:01:59.077" LastActivityDate="2011-03-09T16:01:59.077" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="5373" PostTypeId="1" CreationDate="2011-03-09T11:58:26.453" Score="1" ViewCount="330" Body="&lt;p&gt;The number $C$ of vertex covers of a graph $G = (V, E)$ can be either polynomial in $|V|$ or superpolynomial in $|V|$. $C$ being superpolynomial in $|V|$ doesn't necessarily mean that $C$ is hard to determine. For instance, consider the graph $G = (V, E)$ where $|V| = 2n$ and $E$ is defined as $E = \{ \{ i,j \} | i \mod 2 = 1 \land j = i + 1 \}$: such graph has a number of vertex covers $C=3^{|E|} = 3^{\frac{|V|}{2}}$ which is both superpolynomial in $|V|$ and very easy to determine. On the other hand, knowing in advance that $C$ is polynomial in $|V|$ allows us to use brute force keeping the running time polynomial in $|V|$. So it seems that determing $C$ is hard only if it is superpolynomial in $|V|$, but not always (as the above example demonstrates).&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Questions&lt;/strong&gt;  &lt;/p&gt;&#xA;  &#xA;  &lt;ol&gt;&#xA;  &lt;li&gt;Is it possible to determine in advance if $C$ is polynomial in $|V|$ or superpolynomial in $|V|$? Is there any known result linking some parameter of the graph with the number of its vertex covers? An example of such result would be: &quot;Every graph with $\frac{|E|}{|V|} \geq 4$ has not more than $n^{\frac{|E|}{|V|}}$ vertex covers&quot;. Another example would be: &quot;Every graph with $\frac{|E|}{|V|} &amp;lt; 2$ has not less than $1.18^{\sqrt{|E|}}$ vertex covers&quot;. How $C$ varies with $G$? Clearly, the more edges $G$ has, the less vertex covers it has: did anyone formalized this trivial fact, showing precisely how $C$ decreases as $|E|$ increases? Which other parameters affect $C$, and how? I mean, from a pure empirical point of view, it's almost evident that a graph with $\frac{|E|}{|V|} \geq 5$ has not so many vertex covers, where &quot;not so many&quot; means &quot;certainly polynomial in $|V|$&quot;.&lt;/li&gt;&#xA;  &lt;li&gt;When $C$ is superpolynomial in $|V|$ brute force is useless. However, I wonder if, as in the above example, it is always true that $C$ being superpolynomial intrinsically implies the presence of &quot;multiplying blocks&quot; (I don't know how to state this more formally), which in turns would mean that the set of all vertex covers is easy to represent (in other words, it is compactly representable). Is there any known result in this spirit?&lt;/li&gt;&#xA;  &lt;/ol&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="947" LastEditorUserId="947" LastEditDate="2011-03-10T07:28:16.067" LastActivityDate="2011-03-10T07:28:16.067" Title="Number of Vertex Covers: when it is polynomial and when it is superpolynomial" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;counting-complexity&gt;" AnswerCount="1" CommentCount="17" ContentLicense="CC BY-SA 2.5" />
  <row Id="5374" PostTypeId="2" ParentId="5361" CreationDate="2011-03-09T12:56:42.800" Score="12" Body="&lt;p&gt;You believe that code should be published, but you ask why papers do not include code. These are two different things.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Most of the time, there is simply not enough room to publish a significant amount of code. In my research field (image processing) pseudocode or architecture information is often far more valuable and I have never found myself stuck due to the lack of code in a paper. It's often left as an exercise to the reader who grasped the article.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Yet there is a lot of code available to illustrate papers. Authors usually have a webpage and even if the reviewer doesn't get a chance to try and check the code itself, natural selection appears to work pretty well and authors who do not publish code are a lot less cited.&lt;/p&gt;&#xA;" OwnerUserId="4181" LastActivityDate="2011-03-09T12:56:42.800" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5375" PostTypeId="2" ParentId="5361" CreationDate="2011-03-09T13:00:52.570" Score="13" Body="&lt;p&gt;Migrated and expanded from a comment:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think this must vary by subfield. Nearly all the Theory B stuff I'm familiar with (and especially Haskell, Agda, and sometimes Coq -related) includes published code, sometimes even as an appendix or better yet inlined within the paper. A fair number of papers from, e.g., ICFP are written as literate programs to begin with, and their source in its entirety is published by the authors. A fair amount of those in turn have resulted in extracted libraries for distribution.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of the remaining papers, a fair amount never had code to begin with. Of those, there's probably two main reasons. First are the papers whose main content is proof trees, typing rules with associated soundness proofs and the like. Of those, advances in mechanized metatheory have encouraged at least some authors to provide code in their theorem prover of choice (see Weirich's slides on POPLmark: &lt;a href=&quot;http://www.seas.upenn.edu/~sweirich/talks/cambridge-09.pdf&quot;&gt;http://www.seas.upenn.edu/~sweirich/talks/cambridge-09.pdf&lt;/a&gt;). Second are those which are descended from the Bird-Merteens stuff (banannas &amp;amp; co.). These are generally translatable into a functional language without too much work. However, I suspect that there's both typically a loss of generality, and that dealng with concrete issues of syntax and typing needlessly complicates things and makes it harder to follow the equational reasoning.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I wanted to substantiate my observations a bit, so did a rough count of the first two days of ICFP 2010. Of standard papers (i.e. not experience reports or invited talks), 12 out of 21 provided code of some sort. Three provided Coq (a fourth claimed a partial proof but did not publish it). Three proided Haskell. Three provided Agda. One provided Scheme, one provided Caml, and one provided Twelf. (Note that some provided code for more than one proof assistant, or for both a formalization and an implementation). Of the remaining papers, a few did work at a high enough level of abstraction that implementing it in a proof assistant would be a new paper in itself, and a fair number more did work that I suspect could have been implemented in a proof assistant using standard techniques, but which certainly would have taken a fair amount of work to do so. A few further papers claimed implementations/releases as future work.&lt;/p&gt;&#xA;" OwnerUserId="351" LastEditorUserId="351" LastEditDate="2011-03-09T16:09:44.343" LastActivityDate="2011-03-09T16:09:44.343" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5376" PostTypeId="1" CreationDate="2011-03-09T15:22:51.770" Score="5" ViewCount="408" Body="&lt;p&gt;A Turing machine is defined as a structure &lt;span class=&quot;math-container&quot;&gt;$ TM(L,Q,T) $&lt;/span&gt;, where &lt;span class=&quot;math-container&quot;&gt;$L,Q$&lt;/span&gt; are sets of symbols and internal states of TM respectively, and T is a transition relation:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$T: L \times Q \to L \times Q $&lt;/span&gt; &lt;/p&gt;&#xA;&#xA;&lt;p&gt;for simplicity suppose that &lt;span class=&quot;math-container&quot;&gt;$Q$&lt;/span&gt; contains all &quot;terminal states&quot; that is &lt;span class=&quot;math-container&quot;&gt;$ \{ START,STOP \} $&lt;/span&gt;, and information about next move of the head on the tape, that is &lt;span class=&quot;math-container&quot;&gt;$\{L,R\}$&lt;/span&gt; - it is just another information about internal state of the machine. &lt;span class=&quot;math-container&quot;&gt;$L$&lt;/span&gt; contain all terminal symbols. This are finite sets. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;This assumptions are for simplicity and easy notation, because full definition of TM is well known, and there is no need to explain it I presume. Please take a look for other questions below where such simplification is provided in more detailed way.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$T$&lt;/span&gt; is then a table with for example elements &lt;span class=&quot;math-container&quot;&gt;$Q$&lt;/span&gt; in the column and elements of &lt;span class=&quot;math-container&quot;&gt;$L$&lt;/span&gt; in  the rows. An element of such table is value of &lt;span class=&quot;math-container&quot;&gt;$T$&lt;/span&gt; for its arguments that is:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$T(q_i,a_k) = (q_j,a_s)$&lt;/span&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose that there is a homomorphism between &lt;span class=&quot;math-container&quot;&gt;$T(q_i,a_k)$&lt;/span&gt; (as table) and certain finite algebraic structure (group, monoid, algebra, possibly some exotic structure). Or suppose that such transition relation has certain symmetries (for a stupid example here let me write: &lt;span class=&quot;math-container&quot;&gt;$T(q_i,a_k) = T(q_k,a_i)$&lt;/span&gt;) or &quot;subtables&quot; with structure or symmetries homomorphic to given algebraic or other structure.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;For given structure of &lt;span class=&quot;math-container&quot;&gt;$T(q_i,a_k)$&lt;/span&gt;,&#xA;are there any known facts about&#xA;class    of TM with that structure?&lt;/li&gt;&#xA;&lt;li&gt;Are there any known equivalence&#xA;classes of &lt;span class=&quot;math-container&quot;&gt;$T(q_i,a_k)$&lt;/span&gt; arising from algebraic&#xA;properties of &lt;span class=&quot;math-container&quot;&gt;$T(q_i,a_k)$&lt;/span&gt; ?&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Asking this question I follow the suggestion of  Dave Clarke. This is question related to following questions: &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;asked here - &lt;a href=&quot;https://cstheory.stackexchange.com/questions/5346/turing-machine-which-generates-order-on-the-set-of-its-states&quot;&gt;Turing Machine which generates order on the set of its states&lt;/a&gt; &lt;/li&gt;&#xA;&lt;li&gt;asked on mathoverflow (and for which there is an answer by Joel David Hamkins) &lt;a href=&quot;https://mathoverflow.net/questions/57791/turing-machine-which-generates-order-on-the-set-of-its-states&quot;&gt;Turing Machine which generates order on the set of its states&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="577" LastEditorUserId="1993" LastEditDate="2019-03-26T02:43:12.240" LastActivityDate="2019-03-26T02:43:31.053" Title="Is there any research on Turing machines with transition relation homomorphic to given algebraic structure?" Tags="&lt;reference-request&gt;&lt;computability&gt;&lt;turing-machines&gt;&lt;algebra&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="4" ContentLicense="CC BY-SA 4.0" />
  <row Id="5377" PostTypeId="2" ParentId="5361" CreationDate="2011-03-09T16:16:55.810" Score="7" Body="&lt;p&gt;Historically, scientific articles had to be printed on paper, and journals were shipped internationally. Each extra page used to add a significant cost, thus articles were subject to length limitations, and even simple working code usually takes way much space than an informal description.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Today there is no good reason not to include code in any kind of article that references an algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It may also useful to abandon print-oriented formats like pdf and postscript in favor of more semantically-aware formats (HTML with MathML or perhaps an opensource variation of Mathematica).&lt;/p&gt;&#xA;" OwnerUserId="1749" LastActivityDate="2011-03-09T16:16:55.810" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="5378" PostTypeId="2" ParentId="5371" CreationDate="2011-03-09T16:25:55.157" Score="13" Body="&lt;p&gt;I guess this reference is about what you ask:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;N. Alon, B. Sudakov, and U. Zwick. &lt;a href=&quot;http://www.math.ucla.edu/~bsudakov/worst-case-instances.pdf&quot;&gt;Constructing worst case instances for semidefinite programming based approximation algorithms&lt;/a&gt;. SIAM Journalon Discrete Mathematics, 15:58–72, 2002.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;This is an excerpt from it (p.60):&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;... we present the construction of the&#xA;  graphs that show that the local analysis of the MAX CUT algorithms of [GW95]&#xA;  and [Zwi99] are tight.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="1060" LastEditorUserId="1060" LastEditDate="2011-03-09T16:32:26.457" LastActivityDate="2011-03-09T16:32:26.457" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5379" PostTypeId="1" AcceptedAnswerId="5394" CreationDate="2011-03-09T17:06:01.217" Score="61" ViewCount="3129" Body="&lt;p&gt;This question is something I've wondered about for a while.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;When people describe the P vs. NP problem, they often compare the class NP to creativity.  They note that composing a Mozart-quality symphony (analogous to an NP task) seems much harder than verifying that an already-composed symphony is Mozart-quality (which is analogous to a P task).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But is NP really the &quot;creativity class?&quot;  Aren't there plenty of other candidates?  There's an old saying:  &quot;A poem is never finished, only abandoned.&quot;  I'm no poet, but to me, this is reminiscent of the idea of something for which there is no definite right answer that can be verified quickly...it reminds me more of coNP and problems such as TAUTOLOGY than NP or SAT.  I guess what I'm getting at is that it's easy to verify when a poem is &quot;wrong&quot; and needs to be improved, but difficult to verify when a poem is &quot;correct&quot; or &quot;finished.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Indeed, NP reminds me more of logic and left-brained thinking than creativity.  Proofs, engineering problems, Sudoku puzzles, and other stereotypically &quot;left-brained problems&quot; are more NP and easy to verify from a quality standpoint than than poetry or music.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, my question is:  Which complexity class most precisely captures the totality of what human beings can accomplish with their minds?  I've always wondered idly (and without any scientific evidence to support my speculation) if perhaps the left-brain isn't an approximate SAT-solver, and the right-brain isn't an approximate TAUTOLOGY-solver.  Perhaps the mind is set up to solve PH problems...or perhaps it can even solve PSPACE problems.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I've offered my thoughts above; I'm curious as to whether anyone can offer any better insights into this.  To state my question succinctly:  I am asking which complexity class should be associated with what the human mind can accomplish, and for evidence or an argument supporting your viewpoint.  Or, if my qusetion is ill-posed and it doesn't make sense to compare humans and complexity classes, why is this the case?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Update&lt;/strong&gt;:  I've left everything but the title intact above, but here's the question that I really meant to ask:  Which complexity class is associated with what the human mind can accomplish &lt;em&gt;quickly&lt;/em&gt;?  What is &quot;polynomial human time,&quot; if you will?  Obviously, a human can simulate a Turing machine given infinite time and resources.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I suspect that the answer is either PH or PSPACE, but I can't really articulate an intelligent, coherent argument for &lt;em&gt;why&lt;/em&gt; this is the case.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note also:  I am mainly interested in what humans can approximate or &quot;do most of the time.&quot;  Obviously, no human can solve hard instances of SAT.  If the mind is an approximate &lt;em&gt;X&lt;/em&gt;-solver, and &lt;em&gt;X&lt;/em&gt; is complete for class &lt;em&gt;C&lt;/em&gt;, that's important.&lt;/p&gt;&#xA;" OwnerUserId="1338" LastEditorUserId="1800" LastEditDate="2011-03-10T02:09:26.150" LastActivityDate="2018-01-13T23:31:24.467" Title="What is the complexity class most closely associated with what the human mind can accomplish quickly?" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;soft-question&gt;" AnswerCount="8" CommentCount="11" FavoriteCount="17" ContentLicense="CC BY-SA 2.5" />
  <row Id="5380" PostTypeId="2" ParentId="5359" CreationDate="2011-03-09T18:28:47.723" Score="2" Body="&lt;p&gt;There are total functions with $Q_2 = o(C)$ and total functions with $C = o(Q_2)$.  Marc gave one direction.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the other direction, the OR function on $n$ inputs works.  The certificate complexity is $n$ and the quantum query complexity is $\sqrt{n}$, by Grover's search algorithm.  However, this example really only highlights that the correct quantity to look at is the geometric mean of the true and false certificate complexities, $\sqrt{C_0 C_1}$, and not the certificate complexity $C = \max\{C_0, C_1\}$.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A better example is the function OR($n/2$ inputs, AND($n/2$ inputs)).  The 1 and 0 certificate complexities are $n/2$ and $n/2+1$ but the adversary bounds and therefore $Q_2$ are $\sqrt{n}$.  (Any read-once AND-OR formula of size $n$ has $\sqrt{n}$ adversary bounds.)  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;To my knowledge, for functions with a transitive symmetry group on the input bits, e.g., symmetrical under cyclic permutations, no examples are known with $ADV^{\pm} &amp;lt; \sqrt{C_0 C_1}$.  (On the other hand, the original adversary bound satisfies $ADV \leq \sqrt{C_0 C_1}$ for every total function; see, e.g., [Spalek and Szegedy: &quot;All quantum adversary bounds are equivalent&quot; Theorem 3.2].)  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, if the co-domain of the total function is non-boolean, the most natural quantity to consider is $\max_{i \neq j} \sqrt{C_i C_j}$.  See the above Spalek and Szegedy theorem for details, but it should not be surprising.  Note that a quantity like $(\prod_{i=1}^{m} C_i)^{1/m}$ is not well behaved when you extend the function's codomain.  There are good questions here.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another reference you might find interesting is [Aaronson, quant-ph/0210020].  Aaronson defines and relates randomized and quantum certificate complexities in a natural manner.&lt;/p&gt;&#xA;" OwnerDisplayName="user4187" LastEditorUserId="-1" LastEditDate="2011-03-12T06:24:54.807" LastActivityDate="2011-03-12T06:24:54.807" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="5381" PostTypeId="2" ParentId="5379" CreationDate="2011-03-09T18:59:36.143" Score="10" Body="&lt;p&gt;Complexity classes are defined in terms of asymptotic complexity, hence they don't map well to the cognitive abilities of humans, which are necessarily limited to bounded problem sizes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The rule of the thumb is: if something is easy for a computer, then it &lt;em&gt;may be&lt;/em&gt; hard for a human, vice versa, if it is hard for a computer it &lt;em&gt;may be&lt;/em&gt; easy for a human.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here &quot;easy/hard for a computer&quot; refers to practical tractability, not an abstract complexity class.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For instance, adding up a list of 1 billion integers is easy for a modern computer and difficult for a human, while producing a verbal description of a picture is easy for a human but difficult (currently impossible in the general case) for a computer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Artificial Intelligence research showed that many cognitive tasks that humans and animals carry out easily, in some cases even subconsciously, can be modeled as NP-hard problems.&#xA;Humans are not able to find optimal solutions to these problems for all sizes, but they are able to find heuristic solutions for practical sizes much better than the best known AI algorithms.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also note that the left-brain vs right-brain distinction you mention is too simplistic and obsolete. Lateralization of brain functions is much more subtle, and may even vary from one individual to another. &lt;/p&gt;&#xA;" OwnerUserId="1749" LastEditorUserId="1749" LastEditDate="2011-03-09T19:20:17.730" LastActivityDate="2011-03-09T19:20:17.730" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="5382" PostTypeId="2" ParentId="5379" CreationDate="2011-03-09T19:02:33.877" Score="2" Body="&lt;p&gt;If we choose to study the human brain itself rather than how humans use their brain to solve problems,I don't believe this is an issue of complexity, but rather of computability. Since every TM needs a transition function, a human can imitate the TM's steps, therefore, the human brain is Turing-complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the reverse direction, can TMs compute everything humans do? The short answer is we don't know. Assuming that the Church-Turing thesis is true, whether the answer will change or not depends on your view of the world (philosophical, spiritual , religious and other). In that case, we can safely say that the human brain itself as part of the material world, can be simulated by a Turing machine. The rest is up to debate and , at least in my opinion, not related to TCS.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One could argue that if $P \neq NP$ all problems in $NP-P$  would dwarf a lifetime. But we are talking about the power of the brain itself. The transition table and the work tape could be passed on from generation to generation until the answer is solved.Even if we require that problems solvable by humans do not exceed the lifetime of a single person, does $10^{10^{100}}n$ , which is just linear , seem like doable? I think not. One can argue that there is a TM that does the same in just $n$ using the speed-up theorem, but that would require storing $2 \log 10^{10^{100}}$ times more information in every step of the sped up algorithm. Of course, a specific lower bound would be needed to ensure a faster algorithm (constants included) does not exist.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, if you would like to precisely calculate what problems the human brain, given the constraints of actual life, like distractions, attention span, etc. you should have an upper bound on the number of steps done in total, an upper bound on the number of steps done consecutively (even the most devoted researcher must sleep and eat), a limitation on the space (not just in the tape, but also in any &quot;internal&quot; registers), a simulation of how memory acts because unlike TMs , we can forget something we write in our &quot;work tape&quot; or the exact state, and of course, determine the relation between machine time steps and time in seconds or &quot;human brain steps&quot;. Perhaps other issues would pop-up as you would go. In an ironic twist, perhaps one or more of this problem cannot be solved by the human brain, at least efficiently. &lt;/p&gt;&#xA;" OwnerUserId="879" LastActivityDate="2011-03-09T19:02:33.877" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="5384" PostTypeId="2" ParentId="5321" CreationDate="2011-03-09T19:35:17.670" Score="7" Body="&lt;p&gt;Consider the problem of randomly shuffling the string $XX..XY..YY$, where each block has length $n$, with a circuit consisting of probabilistic pairwise swaps.  That is, all $(2n)!/(n!)^2$ strings with $n$ $X$s and $n$ $Y$s must be equally probable outputs of the circuit, given the specified input.  Let $B_{2n}$ be an optimal circuit for this problem, and let $C_{2n}$ be an optimal circuit for the original problem (randomly shuffling $2n$ elements).  Applying a random permutation is sufficient to randomly interleave the $X$s and $Y$s, so $\lvert{B_{2n}}\rvert \le \lvert{C_{2n}}\rvert$.  On the other hand, we can shuffle $2n$ elements by shuffling the first $n$ elements, shuffling the last $n$ elements, and finally applying circuit $B_{2n}$.  This implies that $\lvert{C_{2n}}\rvert \le 2\lvert{C_{n}}\rvert + \lvert{B_{2n}}\rvert$.  Combining these two bounds, we can derive the following result:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$\lvert{B_{2n}}\rvert$ and $\lvert{C_{2n}}\rvert$ are both $o(n^2)$, or neither is.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;We see that the two problems are equally difficult, at least in this sense.  This result is somewhat surprising, because one might expect the $XY$-shuffle problem to be easier.  In particular, the entropic argument shows that $\lvert{B_{2n}}\rvert$ is $\Omega(n)$, but gives the stronger result that $\lvert{C_{2n}}\rvert$ is $\Omega(n \log n)$.&lt;/p&gt;&#xA;" OwnerUserId="3183" LastActivityDate="2011-03-09T19:35:17.670" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5385" PostTypeId="2" ParentId="5321" CreationDate="2011-03-09T20:34:16.823" Score="8" Body="&lt;p&gt;Diaconis and Shahshahani 1981, &quot;Generating a Random Permutation&#xA;with Random Transpositions&quot; shows that 1/2 n log n random transpositions (note: there is no &quot;O&quot; here) result in a permutation close (in total variation distance) to uniform.  I'm not sure if precisely what is allowed in your application lets you use this result, but it is quite fast, and tight in that it is an example of a cut-off phenomenon.  See Random Walks on Finite Groups by Saloff-Coste for a survey of similar results.&lt;/p&gt;&#xA;" OwnerUserId="210" LastActivityDate="2011-03-09T20:34:16.823" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="5387" PostTypeId="2" ParentId="5379" CreationDate="2011-03-09T22:58:13.680" Score="13" Body="&lt;p&gt;I think one is led to the wrong model by trying to extrapolate from the kind of things the human brain appears to compute, and I think it would be better to take the opposite view and instead extrapolate from the computational model it is.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, to me the complexity class that most reasonably captures the human mind is the nonuniform circuit class $TC^0$. This view is is supported by modeling the workings of the brain as a neural network performing computations in an instant. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, I do not agree with the statement in the question that the human mind can simulate a Turing machine. Rather, what it can do is to simulate the &lt;em&gt;finite control&lt;/em&gt; of the Turing machine. To perform very complicated tasks, it seems necessary to be able to record information on a &quot;tape&quot;.&lt;/p&gt;&#xA;" OwnerUserId="313" LastEditorUserId="38604" LastEditDate="2018-01-13T23:31:24.467" LastActivityDate="2018-01-13T23:31:24.467" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="5388" PostTypeId="2" ParentId="5379" CreationDate="2011-03-10T01:38:10.373" Score="13" Body="&lt;p&gt;The &lt;strong&gt;Tractable Cognition thesis&lt;/strong&gt; postulates that human cognitive capacities are constrained by computational tractability. In this way, the P-Cognition thesis uses deterministic polynomial time as a model for computational tractability, while in the paper below, it is argued that the FPT-Cognition thesis is more appropriate. See Iris van Rooij's article in the June 2009 edition of the Parameterized Complexity Newsletter for a more detailed discussion and pointers to other papers.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Iris van Rooij. &lt;a href=&quot;http://staff.science.uva.nl/~szymanik/papers/TractableCognition.pdf&quot;&gt;The Tractable Cognition thesis&lt;/a&gt;. Cognitive Science, 32, pp. 939-984, 2008.&lt;/li&gt;&#xA;&lt;li&gt;Iris van Rooij. Parameters that make Cognitive Work Light. &lt;a href=&quot;http://www.mrfellows.net/Newsletters/2009June_FPT_News.pdf&quot;&gt;FPT News: Parameterized Complexity Newsletter, June 2009&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="72" LastEditorUserId="72" LastEditDate="2011-03-10T17:58:43.963" LastActivityDate="2011-03-10T17:58:43.963" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="5389" PostTypeId="2" ParentId="5373" CreationDate="2011-03-10T01:54:29.547" Score="7" Body="&lt;p&gt;There's a close relation between the independence number of a graph and the number of its vertex covers, not close enough to completely answer your question but close: if the independence number is superlogarithmic then the number of covers is superpolynomial, and otherwise it's quasipolynomial.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More specifically if the independence number is $\alpha$, and the maximum independent set $I$ is the complement of a vertex cover $C$, then each of the $2^\alpha$ supersets of $C$ is also a vertex cover. So in this case if $\alpha \ge c\,\log_2 n$ then the number of covers is lower bounded by $n^c$. But each cover is complementary to an independent set and there can be only $O(n^\alpha)$ sets of at most $\alpha$ vertices, so if $\alpha \le c\,\log_2 n$ then this upper bound is $O(2^{c\, \log^2 n})$.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2011-03-10T01:54:29.547" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5391" PostTypeId="1" AcceptedAnswerId="5396" CreationDate="2011-03-10T03:05:40.733" Score="8" ViewCount="240" Body="&lt;p&gt;The following lemma is not hard to prove.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Lemma&lt;/strong&gt; : Let $c_1 \neq c_2 \neq \dots \neq c_r \in [n]$ and $k \in [n]$. If $m_1, m_2, \dots, m_r$ are integers (some of them might be negative) such that $m_1c_1 + m_2c_2 + \dots + m_rc_r = k$, then $\exists$ integers $m&amp;#39;_1, m&amp;#39;_2, \dots,m&amp;#39;_r$ satisfying $m&amp;#39;_1c_1 + m&amp;#39;_2c_2 + \dots + m&amp;#39;_rc_r = k$ such that $|m&amp;#39;_1|+|m&amp;#39;_2|+\dots+|m&amp;#39;_r| \leq poly(n)$. Here $poly(n)$ means $n^c$ for some positive constant $c$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am guessing that the above lemma is well known. I am looking for a reference of the above lemma and the best possible bound for $poly(n)$.&lt;/p&gt;&#xA;" OwnerUserId="344" LastActivityDate="2011-03-10T06:49:02.980" Title="Sum of products with bounded coefficients" Tags="&lt;reference-request&gt;&lt;nt.number-theory&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="5393" PostTypeId="2" ParentId="5376" CreationDate="2011-03-10T04:08:52.430" Score="5" Body="&lt;p&gt;There are results about algebraic properties of languages (as opposed to the machines accepting the languages). For example, regular languages can be characterised using monoids. The Myhill-Nerode theorem relates an algebraic structure with the transition relation of a specific class of finite automata. You could look up those and subsequent results. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Rather than homomorphisms, bisimulation and simulation relations are the notion of choice for relating the structure of transition systems. Checking language equivalence between pushdown automata is undecidable but deciding equivalence of languages accepted by deterministic PDAs was open until 2001 when Gerard Sénizergues showed it was decidable. His proof uses algebraic ideas. Colin Stirling later gave a simplified proof (writeups and slides are available on his homepage). &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;em&gt;Sénizergues, Géraud&lt;/em&gt;, &lt;a href=&quot;http://dx.doi.org/10.1007/3-540-63165-8_221&quot; rel=&quot;nofollow noreferrer&quot;&gt;&lt;strong&gt;The equivalence problem for deterministic pushdown automata is decidable&lt;/strong&gt;&lt;/a&gt;, Degano, Pierpaolo (ed.) et al., Automata, languages and programming. 24th international colloquium, ICALP ’97, Bologna, Italy, July 7--11, 1997. Proceedings. Berlin: Springer-Verlag (ISBN 978-3-540-63165-1/pbk; 978-3-540-69194-5/ebook). Lecture Notes in Computer Science 1256, 671-681 (1997). &lt;a href=&quot;https://zbmath.org/?q=an:1401.68168&quot; rel=&quot;nofollow noreferrer&quot;&gt;ZBL1401.68168&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="4155" LastEditorUserId="1993" LastEditDate="2019-03-26T02:43:31.053" LastActivityDate="2019-03-26T02:43:31.053" CommentCount="0" ContentLicense="CC BY-SA 4.0" />
  <row Id="5394" PostTypeId="2" ParentId="5379" CreationDate="2011-03-10T04:21:18.710" Score="17" Body="&lt;p&gt;I don't claim this is a complete answer, but here are some thoughts that are hopefully along the lines of what you're looking for.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;NP roughly corresponds to &quot;puzzles&quot; (viz. the NP-completeness of Sudoku, Minesweeper, Free Cell, etc., when these puzzles are suitably generalized to allow $n \to \infty$). PSPACE corresponds to &quot;2-player games&quot; (viz. the PSPACE-completeness of chess, go, etc.). This is not news.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;People generally seem to do alright with finite instances of NP-complete puzzles, and yet find them non-trivial enough to be entertaining. The finite instances of PSPACE-complete games that we play are considered some of the more difficult intellectual tasks of this type. This at least suggests that PSPACE is &quot;hitting the upper limits&quot; of our abilities. (Yet our opponents in these PSPACE-complete games are generally other people. Even when the  opponents are computers, the computers aren't perfect opponents. This heads towards the question of the power of interactive proofs when the players are computationally limited. There is also the technicality that some generalizations of these games are EXP-complete instead of PSPACE-complete.) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;To an extent, the problem sizes that arise in actual puzzles/games have been calibrated to our abilities. 4x4 Sudoku would be too easy, hence boring. 16x16 Sudoku would take too much time (not more than the lifetime of the universe, but more than people are generally willing to sit to solve a Sudoku puzzle). 9x9 seems to be the &quot;Goldilocks&quot; size for people solving Sudoku. Similarly, playing Free Cell with a deck of 4 suits of 13 cards each and 4 free cells seems to be about the right difficulty to be solvable yet challenging for most people. (On the other hand, one of the smartest people I know is able to solve Free Cell games as though she were just counting natural numbers &quot;1,2,3,4,...&quot;) Similarly for the size of Go and Chess boards.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Have you ever tried to compute a 6x6 permanent by hand?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I suppose the point is that if you take &lt;em&gt;natural&lt;/em&gt; problems in classes significantly above PSPACE (or EXP), then the only finite instances that people are capable of solving seem to be so small as to be un-interesting. Part of the reason &quot;natural&quot; is necessary here is that one can take a natural problem, then &quot;unnaturally&quot; modify all instances of size $&amp;lt; 10^{10}$ so that for all instances a human would ever try the problem becomes totally intractible, regardless of its asymptotic complexity.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Conversely, for problems in EXP, any problem size below the &quot;heel of the exponential&quot; has a chance of being solvable by most people in reasonable amounts of time. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;As to the rest of PH, there aren't many (any?) natural games people play with a fixed number of rounds. This is also somehow related to the fact that we don't know of many natural problems complete for levels of PH above the third.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As mentioned by Serge, FPT has a role to play here, but (I think) mostly in the fact that some problems naturally have more than one &quot;input size&quot; associated with them.&lt;/p&gt;&#xA;" OwnerUserId="129" LastEditorUserId="129" LastEditDate="2011-03-10T04:39:19.083" LastActivityDate="2011-03-10T04:39:19.083" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5395" PostTypeId="1" AcceptedAnswerId="5397" CreationDate="2011-03-10T04:51:13.367" Score="22" ViewCount="679" Body="&lt;p&gt;If a problem is NP-hard (using polynomial time reductions), does that imply that it is P-hard (using log space or NC reductions)?  It seems intuitive that if it is as hard as any problem in NP that it should be as hard as any problem in P, but I don't see how to chain the reductions and get a log space (or NC) reduction.&lt;/p&gt;&#xA;" OwnerUserId="4191" LastActivityDate="2011-03-10T05:11:54.033" Title="Does NP-hardness imply P-hardness?" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="5396" PostTypeId="2" ParentId="5391" CreationDate="2011-03-10T05:02:39.207" Score="5" Body="&lt;p&gt;An $O(n^2 \log r)$ bound can be obtained by &lt;a href=&quot;https://cstheory.stackexchange.com/questions/3444/overflow-in-extended-euclidean-algorithm/3450#3450&quot;&gt;Bézout's lemma&lt;/a&gt;:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Lemma.&lt;/strong&gt; For every integers $0 &amp;lt; c_i \leq n$, $\gcd(c_1,\ldots,c_r) = \sum_i m_i c_i$ for some integers $m_i$ with $|m_i| \leq n \log r$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;This lemma is obtained by recursively applying Bézout's lemma on two variables and the identity $\gcd(x_1,x_2,x_3) = \gcd(\gcd(x_1,x_2),x_3)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Without loss of generality assume that $\gcd(c_1,\ldots,c_r) = 1$ by dividing $\gcd(c_1,\ldots,c_r)$ on both sides of $\sum_i m_i c_i = k$. By Bézout's lemma there exists integers $m_i$ with $|m_i| \leq n \log r$ such that &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$k \cdot \sum_i m_i c_i = \sum_i (k \cdot m_i) c_i = k \cdot 1 \text,$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;by observing $k = O(n)$ we have the desired $m'_i = k \cdot m_i$ with $|m'_i| = O(n^2 \log r)$.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;If you are searching for literature, the keyword is &lt;strong&gt;inhomogeneous linear Diophantine  equations&lt;/strong&gt;, that is the equation $\sum_i m_i c_i = k$ when $k = 0$. For the homogeneous one, one can obtain a linear bound on $|m_i'|$, see e.g. &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.52.9120&amp;amp;rep=rep1&amp;amp;type=pdf&amp;amp;ei=OWB4TcDTFY_CvQODvfDNBQ&amp;amp;usg=AFQjCNGX5mF3bXMd7YchFuKF9dQhpITZoQ&quot; rel=&quot;nofollow noreferrer&quot;&gt;this&lt;/a&gt; or &lt;a href=&quot;http://www.google.com.tw/url?sa=t&amp;amp;source=web&amp;amp;cd=4&amp;amp;ved=0CEMQFjAD&amp;amp;url=http%3A%2F%2Fciteseerx.ist.psu.edu%2Fviewdoc%2Fdownload%3Fdoi%3D10.1.1.94.299%26rep%3Drep1%26type%3Dpdf&amp;amp;ei=-GV4TaakK4eOuQOklOHkBQ&amp;amp;usg=AFQjCNGUE9C85puc38mkp3dVeIZzRirYkQ&quot; rel=&quot;nofollow noreferrer&quot;&gt;this paper&lt;/a&gt;. As for the inhomogeneous one, I have not yet found such a result; however &lt;a href=&quot;http://www.jstor.org/pss/2154384&quot; rel=&quot;nofollow noreferrer&quot;&gt;this paper&lt;/a&gt; seems relevant. &lt;/p&gt;&#xA;" OwnerUserId="1800" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2011-03-10T06:49:02.980" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="5397" PostTypeId="2" ParentId="5395" CreationDate="2011-03-10T05:11:54.033" Score="31" Body="&lt;p&gt;No such implication is known.  In particular it may be that $L \ne P = NP$ in which case all problems (including trivial ones) are NP-hard under poly-time reductions (as the reduction can just solve the problem), but trivial ones (in particular ones that lie in L) are surely not P-hard under logspace reductions (as otherwise L=P).  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The same goes for NC instead of L.&lt;/p&gt;&#xA;" OwnerUserId="42" LastActivityDate="2011-03-10T05:11:54.033" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="5398" PostTypeId="2" ParentId="1639" CreationDate="2011-03-10T08:15:49.217" Score="23" Body="&lt;p&gt;I recall Yoram Moses and myself studying this problem in the mid 1980s&#xA;(in light of some application) and discovering that for many natural NPC&#xA;problems the problem of finding a second/alternative solution&#xA;(or deciding whether such exists) is NPC.&#xA;We then found out that this was know, but I don't recall the ref,&#xA;and failed to find one (i.e., one predating the mid 1980s) now.&#xA;But I'm sure I do recall correctly the above.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Just a comment towards Ryan. The fact that a theorem can be given&#xA;as an exercise in current classes does not make it less appealing.&#xA;It should have been published in a paper bearing an adequate title&#xA;at the time that it was discovered...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Oded Goldreich&lt;/p&gt;&#xA;" OwnerUserId="4197" LastActivityDate="2011-03-10T08:15:49.217" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="5399" PostTypeId="1" AcceptedAnswerId="5405" CreationDate="2011-03-10T09:15:56.060" Score="19" ViewCount="2428" Body="&lt;p&gt;It is well known that if $\mathbf{P}=\mathbf{NP}$ then the polynomial hierarchy collapses and $\mathbf{P}=\mathbf{PH}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This can easily be understood inductively using oracle machines.&#xA;The question is - why can't we continue the inductive process beyond a constant level of alternations and prove $\mathbf{P}=\mathbf{AltTime}(n^{O(1)})$ (aka $\mathbf{AP}=\mathbf{PSPACE}$)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am looking for an intuitive answer.&lt;/p&gt;&#xA;" OwnerUserId="3808" LastEditorUserId="186" LastEditDate="2011-03-10T11:22:17.960" LastActivityDate="2019-09-13T01:10:50.007" Title="Why doesn't P=NP imply P=AP (i.e. P=PSPACE)?" Tags="&lt;cc.complexity-theory&gt;&lt;polynomial-hierarchy&gt;&lt;intuition&gt;" AnswerCount="5" CommentCount="3" FavoriteCount="6" ContentLicense="CC BY-SA 2.5" />
  <row Id="5400" PostTypeId="1" AcceptedAnswerId="5418" CreationDate="2011-03-10T09:19:24.840" Score="1" ViewCount="155" Body="&lt;p&gt;Let's say I had an optimization problem&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$ \min_{x \in D} f(x) $$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Where $D \subset \mathbb{R}^n$ and $f:\space D \rightarrow \mathbb{R}$, and the minimum is said to exist.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Imagine I had a polynomial time algorithm that - given $f$ - could provide me with an interval for the optimal objective function value $f^*$ using finite numbers $LBD$ and $UBD$ where $LBD &amp;lt; f^* \leq UBD$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Could I use this to show that the $\epsilon$-evaluation problem can be solved in polynomial time? Here the $\epsilon$-evaluation problem is a problem that for any $\epsilon &amp;gt; 0$ finds a real number $z$ such that $f^* \leq z \leq f^* + \epsilon$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the purposes of this problem, we can assume that I have a computer that can store real numbers and perform exact elementary operations with them. &lt;/p&gt;&#xA;" OwnerUserId="4198" LastEditorUserId="1800" LastEditDate="2011-03-11T00:53:43.117" LastActivityDate="2011-03-11T00:53:43.117" Title="Using a Polynomial Time Algorithm for Upper Bound Recognition to Show Polynomial Time for Evaluation?" Tags="&lt;ds.algorithms&gt;&lt;optimization&gt;&lt;computing-over-reals&gt;&lt;computable-analysis&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="5401" PostTypeId="2" ParentId="5399" CreationDate="2011-03-10T09:32:16.453" Score="3" Body="&lt;p&gt;I think this is because at each level of the PH, the number of alternations is a constant (i.e. independent of the input size), while in AP, the number of alternations can be unbounded (yet polynomial in the size of the input).&lt;/p&gt;&#xA;" OwnerUserId="873" LastActivityDate="2011-03-10T09:32:16.453" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5402" PostTypeId="2" ParentId="5313" CreationDate="2011-03-10T10:00:20.183" Score="5" Body="&lt;p&gt;This is not possible in general. The property you give for the relation between &lt;code&gt;Eq&lt;/code&gt; and &lt;code&gt;Id&lt;/code&gt; asserts that there is an injection from &lt;code&gt;obj&lt;/code&gt; into &lt;code&gt;int&lt;/code&gt;. Hence if &lt;code&gt;obj&lt;/code&gt; is a larger type than &lt;code&gt;int&lt;/code&gt; (e.g., &lt;code&gt;int -&amp;gt; int&lt;/code&gt;) then no such embedding can exist.&lt;/p&gt;&#xA;" OwnerUserId="657" LastEditorUserId="657" LastEditDate="2011-03-10T11:25:44.337" LastActivityDate="2011-03-10T11:25:44.337" CommentCount="7" ContentLicense="CC BY-SA 2.5" />
  <row Id="5403" PostTypeId="2" ParentId="5399" CreationDate="2011-03-10T10:24:52.220" Score="11" Body="&lt;p&gt;Here is a little intuition concerning the gap between constant and unbounded alternations: a polynomial operation repeated a constant number of times is polynomial, but repeated a polynomial number of times can be exponential. For example, take multiplication repeated on itself:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;v = 2&#xA;for(i=1 to n)&#xA;  v = v*v&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;The number of iterations is linear, and output is exponential. But if you fix n, it is polynomial on the size of initial value.&lt;/p&gt;&#xA;" OwnerUserId="378" LastActivityDate="2011-03-10T10:24:52.220" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5405" PostTypeId="2" ParentId="5399" CreationDate="2011-03-10T10:42:51.817" Score="33" Body="&lt;p&gt;The proof for $\mathbf{P}=\mathbf{AltTime}(O(1))$ ($=\mathbf{PH}$) is an induction using $\mathbf{P}=\mathbf{NP}$. The induction shows that for any natural &lt;em&gt;number&lt;/em&gt; $k$, $\mathbf{P}=\mathbf{AltTime}(k)$ (and $\mathbf{AltTime}(O(1))$ is just their union). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The induction does not work when the number of alternation can change with the input size (i.e. when the number of possible alternations of the machine is not a &lt;em&gt;number&lt;/em&gt; but a &lt;em&gt;function&lt;/em&gt; of the input size, i.e. we are not showing that an execution of the machine on a single input can be reduced to no alternation, we are showing that the executions of the machine on all inputs can be &quot;uniformly&quot; reduced to no alternation).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let's look at a similar but simpler statement. We want to show that the identity function $id(n)=n$ eventually dominates all constant functions ($f \ll g$ iff for all but finitely many $n$ $f(n) \leq g(n)$). It can be proven say by induction. For all $k$, $k \ll n$ (i.e. $f_k \ll id$ where $f_k(n)=k$), but we don't have this for non-constant functions like $n^2$, $n^2 \not \ll n$.&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2011-03-10T11:19:13.033" LastActivityDate="2011-03-10T11:19:13.033" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5407" PostTypeId="1" CreationDate="2011-03-10T11:51:50.967" Score="12" ViewCount="270" Body="&lt;p&gt;We have some theorems about the density of prime numbers, the most famous one is probably &lt;a href=&quot;http://en.wikipedia.org/wiki/Prime_number_theorem&quot; rel=&quot;nofollow noreferrer&quot;&gt;the prime number theorem&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;about the density of primes when we choose random numbers from a different distributions. &#xA;  The main example I have is numbers of the form $2^a3^b5^c+1$. Are there theorems similar to the prime number theorem when we restrict the numbers to those of this form?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;More generally, let's call a set $A \subseteq \mathbb{N}$ &lt;em&gt;efficiently enumerable&lt;/em&gt; if there is a (deterministic) polytime algorithm enumerator for $A$, i.e. a polytime algorithm that whose range is exactly $A$ (and for simplicity lets assume that the enumeration is also injective so every member of $A$ appears exactly once) (is there a common name for this in the literature?).&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Are there efficiently enumerable sets such that a theorem similar to the prime number theorem or something stronger holds for the distribution of primes in them? &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Note that if we can find prime numbers in deterministic polynomial time, then the density would be one for the corresponding set, but that is open for now, so can we get closer to density 1 by replacing $\mathbb{N}$ with another efficiently enumerable set?&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;This came out of a discussion a few days ago about better ways of finding primes in practice. If there is a deterministic polytime algorithm to find primes then the question for the corresponding enumeration would be trivial, but since &lt;a href=&quot;https://cstheory.stackexchange.com/q/4882/186&quot;&gt;that is open&lt;/a&gt;, one may want to see if there are other efficiently enumerable sets that can be used to find primes in practice. This might be related to the number of random bits that is used by a probabilistic polytime algorithm to &lt;a href=&quot;http://en.wikipedia.org/wiki/Generating_primes&quot; rel=&quot;nofollow noreferrer&quot;&gt;generate primes&lt;/a&gt; also.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What are the known upperbounds for the number of random bits (used by a probabilistic poly-time algorithm) are known for generating primes?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="186" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2011-03-10T23:07:56.650" Title="Conditional density of primes" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;randomness&gt;&lt;comp-number-theory&gt;&lt;primes&gt;" AnswerCount="0" CommentCount="15" FavoriteCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="5408" PostTypeId="2" ParentId="5399" CreationDate="2011-03-10T15:40:33.010" Score="22" Body="&lt;p&gt;Compare the polynomial hierarchy with the hierarchy for interactive proofs. If for some fixed &lt;em&gt;k&lt;/em&gt;, you have &lt;em&gt;k&lt;/em&gt; alternations in an interactive proof -- IP(&lt;em&gt;k&lt;/em&gt;) -- the resulting complexity class has no more power than what you get with two alternations -- that is, IP(&lt;em&gt;k&lt;/em&gt;) = IP(2) = AM (assuming &lt;em&gt;k&lt;/em&gt;&amp;ge;2). However, if you allow a polynomial number of alternations, you get the complexity class IP = PSPACE, which is believed to be much bigger than AM, a class is contained in &amp;Pi;&lt;sub&gt;2&lt;/sub&gt;P, at the second level of the polynomial hierarchy. So this phenomenon actually happens (although, not so far as we know, with the polynomial hierarchy). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This happens because the reduction which takes a problem of size &lt;em&gt;n&lt;/em&gt; in IP(&lt;em&gt;k&lt;/em&gt;) and turns it into a problem in IP(2) blows up the problem size, so that while for any specific IP(&lt;em&gt;k&lt;/em&gt;) the problem remains polynomial-size, if you let &lt;em&gt;k&lt;/em&gt; vary, the resulting reduction doesn't give problems that are polynomial in &lt;em&gt;k&lt;/em&gt;.&lt;/p&gt;&#xA;" OwnerUserId="1677" LastEditorUserId="1677" LastEditDate="2011-03-10T20:13:27.760" LastActivityDate="2011-03-10T20:13:27.760" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5409" PostTypeId="2" ParentId="5321" CreationDate="2011-03-10T15:58:26.113" Score="16" Body="&lt;p&gt;This is neither an answer nor new information.  Here I will try to summarize the discussions which occurred in comments about relations between this problem and &lt;a href=&quot;http://en.wikipedia.org/wiki/Sorting_network&quot; rel=&quot;nofollow noreferrer&quot;&gt;sorting networks&lt;/a&gt;.  In this post, all times are in UTC and a “comment” means a comment on the question unless stated otherwise.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A circuit consisting of probabilistic swap gates (which swap two values randomly) naturally reminds us of a sorting network, which is nothing but a circuit consisting of comparators (which swap two values depending on the order between them).  Indeed, circuits for the current problem and sorting networks are related to each other in the following ways:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The &lt;a href=&quot;https://cstheory.stackexchange.com/questions/5321/what-is-the-most-efficient-way-to-generate-a-random-permutation-from-probabilisti/5360#5360&quot;&gt;solution by Anthony Leverrier&lt;/a&gt; with &lt;i&gt;n&lt;/i&gt;(&lt;i&gt;n&lt;/i&gt;−1)/2 probabilistic swap gates can be understood as the sorting network for the bubble sort with the comparators replaced by probabilistic swap gates with suitable probabilities.  See mkatkov’s comment at March 10 4:53 on that answer for details.  The sorting network for the selection sort can also be used in the same way.  (In the comment at March 7 23:04, I described Anthony’s circuit as the selection sort, but that was not correct.)&lt;/li&gt;&#xA;&lt;li&gt;If we just want every permutation with nonzero probability and do not care about the distribution being uniform, then every sorting network does the job when all the comparators are replaced with probability-1/2 swap gates.  If we use a sorting network with O(&lt;i&gt;n&lt;/i&gt; log &lt;i&gt;n&lt;/i&gt;) comparators, the resulting circuit generates every permutation with probability at least 1/2&lt;sup&gt;O(&lt;i&gt;n&lt;/i&gt; log &lt;i&gt;n&lt;/i&gt;)&lt;/sup&gt; = 1/poly(&lt;i&gt;n&lt;/i&gt;!), as observed in my comment at March 7 22:59.&lt;/li&gt;&#xA;&lt;li&gt;In this problem, it is required that the probabilistic swap gates fire independently.  If we remove this restriction, every sorting network can be converted to a circuit which generates the uniform distribution, as I mentioned in the comment at March 7 23:08 and user1749 described in greater details at March 8 14:07.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;These facts apparently suggest that this problem is closely related to sorting networks.  However, Peter Taylor found an evidence that the relation may not be very close.  Namely, not every sorting network can be converted to a desired circuit by replacing the comparators with probabilistic swap gates with suitable probabilities.  The five-comparator sorting network for &lt;i&gt;n&lt;/i&gt;=4 is a counterexample.  See his comments at March 10 11:08 and March 10 14:01.&lt;/p&gt;&#xA;" OwnerUserId="567" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.743" LastActivityDate="2011-03-10T16:48:14.573" CommentCount="13" ContentLicense="CC BY-SA 2.5" />
  <row Id="5410" PostTypeId="1" AcceptedAnswerId="5413" CreationDate="2011-03-10T17:18:19.543" Score="2" ViewCount="411" Body="&lt;p&gt;Given a graph $G = (V, E)$, I need to determine:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;$k$, the graph connectivity.&lt;/li&gt;&#xA;&lt;li&gt;Which are those $k$ vertices to remove to make $G$ disconnected.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Questions&lt;/strong&gt;  &lt;/p&gt;&#xA;  &#xA;  &lt;ul&gt;&lt;li&gt;Which is the complexity of such problem?&lt;/li&gt;&#xA;  &lt;li&gt;Which are the fastest algorithms known?&lt;/li&gt;&#xA;  &lt;li&gt;What about if, additionally, I require that the resulting connected components have almost the same number of edges?&lt;/li&gt;&lt;/ul&gt;  &#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;This question is an improvement of &lt;a href=&quot;https://cstheory.stackexchange.com/questions/1541/connected-components-of-k-cnf-formulas&quot;&gt;this&lt;/a&gt; question.&lt;/p&gt;&#xA;" OwnerUserId="947" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.743" LastActivityDate="2011-03-11T02:44:23.637" Title="Graph Connectivity" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;graph-algorithms&gt;" AnswerCount="2" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5411" PostTypeId="2" ParentId="5356" CreationDate="2011-03-10T18:17:09.157" Score="10" Body="&lt;p&gt;Riffing on jbapple's excellent answer regarding &lt;code&gt;replicate&lt;/code&gt;, but using &lt;code&gt;replicateA&lt;/code&gt; (which &lt;code&gt;replicate&lt;/code&gt; is built on) instead, I came up with the following:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;--Unlike fromList, one needs the length explicitly. &#xA;myFromList :: Int -&amp;gt; [b] -&amp;gt; Seq b&#xA;myFromList l xs = flip evalState xs $ Seq.replicateA l go&#xA;    where go = do&#xA;           (y:ys) &amp;lt;- get&#xA;            put ys&#xA;            return y&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;&lt;code&gt;myFromList&lt;/code&gt; (in a slightly more efficient version) is already &lt;a href=&quot;http://www.haskell.org/ghc/docs/latest/html/libraries/containers-0.4.0.0/src/Data-Sequence.html#fromList2&quot;&gt;defined and used internally&lt;/a&gt; in &lt;code&gt;Data.Sequence&lt;/code&gt; for constructing finger trees that are results of sorts.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In general, the intuition for &lt;code&gt;replicateA&lt;/code&gt; is simple. &lt;code&gt;replicateA&lt;/code&gt; is built on top of the &lt;a href=&quot;http://www.haskell.org/ghc/docs/latest/html/libraries/containers-0.4.0.0/src/Data-Sequence.html#applicativeTree&quot;&gt;applicativeTree&lt;/a&gt; function. &lt;code&gt;applicativeTree&lt;/code&gt; takes a &lt;em&gt;piece&lt;/em&gt; of a tree of a size &lt;code&gt;m&lt;/code&gt;, and produces a well-balanced tree containing &lt;code&gt;n&lt;/code&gt; copies of this. The cases for &lt;code&gt;n&lt;/code&gt; up to 8 (a single &lt;code&gt;Deep&lt;/code&gt; finger) are hard coded. Anything above this, and it invokes itself recursively. The &quot;applicative&quot; element is simply that it interleaves the construction of the tree with threading effects through, such as, in the case of the above code, state.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The &lt;code&gt;go&lt;/code&gt; function, which is replicated, is simply an action which gets the current state, pops an element off the top, and replaces the remainder. On each invocation, it thus steps further down the list provided as input.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Some more concrete notes&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;main = print (length (show (Seq.fromList [1..10000000::Int])))&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;On some simple tests, this yielded an  interesting performance tradeoff. The main function above ran almost 1/3 lower with myFromList than with &lt;code&gt;fromList&lt;/code&gt;. On the other hand, &lt;code&gt;myFromList&lt;/code&gt; used a constant heap of 2MB, while the standard &lt;code&gt;fromList&lt;/code&gt; used up to 926MB. That 926MB arises from needing to hold the entire list in memory at once. Meanwhile, the solution with &lt;code&gt;myFromList&lt;/code&gt; is able to consume the structure in a lazy streaming fashion. The issue with speed results from the fact that &lt;code&gt;myFromList&lt;/code&gt; must perform roughly twice as many allocations (as a result of the pair construction/destruction of the state monad) as &lt;code&gt;fromList&lt;/code&gt;. We can eliminate those allocations by moving to a CPS-transformed state monad, but that results in holding on to far more memory at any given time, because the loss of laziness requires traversing the list in a non-streaming manner.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, if rather than forcing the entire sequence with a show, I move to just extracting the head or last element, &lt;code&gt;myFromList&lt;/code&gt; immediately presents a bigger win -- extracting the head element is nearly instant, and extracting the last element is 0.8s. Meanwhile, with the standard &lt;code&gt;fromList&lt;/code&gt;, extracting either the head or last element costs ~2.3 seconds.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is all details, and is a consequence of purity and laziness. In a situation with mutation and random access, I would imagine the &lt;code&gt;replicate&lt;/code&gt; solution is strictly better.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, it does raise the question of whether there is a way to rewrite &lt;code&gt;applicativeTree&lt;/code&gt; such that &lt;code&gt;myFromList&lt;/code&gt; is strictly more efficient. The issue is, I think, that the applicative actions are executed in a different order than the tree is naturally traversed, but I haven't fully worked through how this works, or if there is a way to resolve this.&lt;/p&gt;&#xA;" OwnerUserId="351" LastEditorUserId="351" LastEditDate="2011-03-11T16:21:13.850" LastActivityDate="2011-03-11T16:21:13.850" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="5412" PostTypeId="1" AcceptedAnswerId="5414" CreationDate="2011-03-10T18:37:45.320" Score="4" ViewCount="985" Body="&lt;p&gt;Given $n$ vertices of color $1$ and m vertices of color $2$, what is the maximal number of edges that can join them on the constraints - $(a)$ no edge joins has the same color ends and $(b)$ no two edges intersect when drawn on a plane (a planar graph)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also given such $n$, $m$ how many such graphs can be generated so that no vertex is isolated and how many maximal non-equivalent maximal graphs are possible?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are these standard questions that have been studied anywhere?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$n = m$ is the case I am looking for a lead.&lt;/p&gt;&#xA;" OwnerUserId="1812" LastEditorUserId="1812" LastEditDate="2011-03-10T18:46:57.947" LastActivityDate="2011-04-05T10:11:44.967" Title="On Bipartite planar graph (again)" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="5413" PostTypeId="2" ParentId="5410" CreationDate="2011-03-10T19:00:24.643" Score="8" Body="&lt;p&gt;Both can be done efficiently.  You can compute the connectivity of a graph by testing the connectivity of every pair using max-flow/min-cut and taking the smallest of the values gives you $k$ (see &lt;a href=&quot;http://en.wikipedia.org/wiki/Connectivity_%28graph_theory%29#Computational_aspects&quot; rel=&quot;nofollow&quot;&gt;this&lt;/a&gt; on Menger's theorem) -- this gives you (1).  Using the procedure above, you can test each vertex, one at a time, to see if its removal will decrease the connectivity. Once you find such a vertex, remove it and proceed -- this gives you (2).&lt;/p&gt;&#xA;" OwnerUserId="123" LastActivityDate="2011-03-10T19:00:24.643" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="5414" PostTypeId="2" ParentId="5412" CreationDate="2011-03-10T19:13:05.867" Score="15" Body="&lt;p&gt;If $\min(m,n)=1$, the maximum number of edges in a planar bipartite graph with $m$ vertices on one side of the bipartition and $n$ on the other side is $m+n-1$ (just connect them in a star). Otherwise, the maximum number is $2(m+n)-4$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The upper bound (any bipartite planar graph with $V$ vertices has at most $2V-4$ edges) follows by combining Euler's formula $V-E+F=2$ with the observation that all faces have at least four edges, and each edge belongs to at most two faces, so $E\ge 2F$. Use this inequality to eliminate $F$ from Euler's formula and you get $E\le 2V-4$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the lower bound, choose two vertices from the side with $m$ vertices and form a complete bipartite graph $K_{2,n}$ with $2n$ edges. Then, choose one of the quadrilateral faces of this graph and place the remaining $m-2$ vertices into it, connecting each one to both of the vertices of the other color within the same face, adding $2(m-2)$ more edges.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As for the number of distinct maximal planar bipartite graphs on this many vertices, I don't know, but it's certainly some kind of exponential.&lt;/p&gt;&#xA;" OwnerUserId="95" LastEditorUserId="109" LastEditDate="2011-04-05T10:11:44.967" LastActivityDate="2011-04-05T10:11:44.967" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5415" PostTypeId="2" ParentId="5321" CreationDate="2011-03-10T19:21:25.170" Score="5" Body="&lt;p&gt;This is really a comment but too long to post as a comment.  I suspect that the &lt;a href=&quot;http://en.wikipedia.org/wiki/Representation_theory_of_the_symmetric_group&quot;&gt;representation theory of the symmetric group&lt;/a&gt; might be useful to prove a better lower bound.  Although I know almost nothing about representation theory and I may be off the mark, let me explain why it might be related to the current problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that the behavior of a circuit consisting of probabilistic swap gates can be fully specified as a probability distribution &lt;i&gt;p&lt;/i&gt; over S&lt;sub&gt;&lt;i&gt;n&lt;/i&gt;&lt;/sub&gt;, the group of permutations on &lt;i&gt;n&lt;/i&gt; elements.  A permutation &lt;i&gt;g&lt;/i&gt;∈S&lt;sub&gt;&lt;i&gt;n&lt;/i&gt;&lt;/sub&gt; can be thought of as the event that &lt;i&gt;i&lt;/i&gt;th output is &lt;i&gt;g&lt;/i&gt;(&lt;i&gt;i&lt;/i&gt;)th input for all &lt;i&gt;i&lt;/i&gt;∈{1,…,&lt;i&gt;n&lt;/i&gt;}.  Now represent a probability distribution &lt;i&gt;p&lt;/i&gt; as a formal sum ∑&lt;sub&gt;&lt;i&gt;g&lt;/i&gt;∈S&lt;sub&gt;&lt;i&gt;n&lt;/i&gt;&lt;/sub&gt;&lt;/sub&gt;&lt;i&gt;p&lt;/i&gt;(&lt;i&gt;g&lt;/i&gt;)&lt;i&gt;g&lt;/i&gt;.  For example, the probabilistic swap between wires &lt;i&gt;i&lt;/i&gt; and &lt;i&gt;j&lt;/i&gt; with probability &lt;i&gt;p&lt;/i&gt; is represented as (1−&lt;i&gt;p&lt;/i&gt;)&lt;i&gt;e&lt;/i&gt;+&lt;i&gt;p&lt;/i&gt;&lt;i&gt;τ&lt;/i&gt;&lt;sub&gt;&lt;i&gt;ij&lt;/i&gt;&lt;/sub&gt;, where &lt;i&gt;e&lt;/i&gt;∈S&lt;sub&gt;&lt;i&gt;n&lt;/i&gt;&lt;/sub&gt; is the identity element and &lt;i&gt;τ&lt;/i&gt;&lt;sub&gt;&lt;i&gt;ij&lt;/i&gt;&lt;/sub&gt;∈S&lt;sub&gt;&lt;i&gt;n&lt;/i&gt;&lt;/sub&gt; is the transposition between &lt;i&gt;i&lt;/i&gt; and &lt;i&gt;j&lt;/i&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An interesting fact about this formal sum is that the behavior of the concatenation of two independent circuits can be formally described as a product of these formal sums.  Namely, if the behaviors of circuits &lt;i&gt;C&lt;/i&gt;&lt;sub&gt;1&lt;/sub&gt; and &lt;i&gt;C&lt;/i&gt;&lt;sub&gt;2&lt;/sub&gt; are represented as formal sums &lt;i&gt;a&lt;/i&gt;&lt;sub&gt;1&lt;/sub&gt;=∑&lt;sub&gt;&lt;i&gt;g&lt;/i&gt;∈S&lt;sub&gt;&lt;i&gt;n&lt;/i&gt;&lt;/sub&gt;&lt;/sub&gt;&lt;i&gt;p&lt;/i&gt;&lt;sub&gt;1&lt;/sub&gt;(&lt;i&gt;g&lt;/i&gt;)&lt;i&gt;g&lt;/i&gt; and &lt;i&gt;a&lt;/i&gt;&lt;sub&gt;2&lt;/sub&gt;=∑&lt;sub&gt;&lt;i&gt;g&lt;/i&gt;∈S&lt;sub&gt;&lt;i&gt;n&lt;/i&gt;&lt;/sub&gt;&lt;/sub&gt;&lt;i&gt;p&lt;/i&gt;&lt;sub&gt;2&lt;/sub&gt;(&lt;i&gt;g&lt;/i&gt;)&lt;i&gt;g&lt;/i&gt;, respectively, then the behavior of the circuit &lt;i&gt;C&lt;/i&gt;&lt;sub&gt;1&lt;/sub&gt; followed by &lt;i&gt;C&lt;/i&gt;&lt;sub&gt;2&lt;/sub&gt; is represented as ∑&lt;sub&gt;&lt;i&gt;g&lt;/i&gt;&lt;sub&gt;1&lt;/sub&gt;,&lt;i&gt;g&lt;/i&gt;&lt;sub&gt;2&lt;/sub&gt;∈S&lt;sub&gt;&lt;i&gt;n&lt;/i&gt;&lt;/sub&gt;&lt;/sub&gt;&lt;i&gt;p&lt;/i&gt;&lt;sub&gt;1&lt;/sub&gt;(&lt;i&gt;g&lt;/i&gt;&lt;sub&gt;1&lt;/sub&gt;)&lt;i&gt;p&lt;/i&gt;&lt;sub&gt;2&lt;/sub&gt;(&lt;i&gt;g&lt;/i&gt;&lt;sub&gt;2&lt;/sub&gt;)&lt;i&gt;g&lt;/i&gt;&lt;sub&gt;1&lt;/sub&gt;&lt;i&gt;g&lt;/i&gt;&lt;sub&gt;2&lt;/sub&gt; = &lt;i&gt;a&lt;/i&gt;&lt;sub&gt;1&lt;/sub&gt;&lt;i&gt;a&lt;/i&gt;&lt;sub&gt;2&lt;/sub&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Therefore, a desired circuit with &lt;i&gt;m&lt;/i&gt; probabilistic swaps exactly corresponds to a way of writing the sum (1/&lt;i&gt;n&lt;/i&gt;!)∑&lt;sub&gt;&lt;i&gt;g&lt;/i&gt;∈S&lt;sub&gt;&lt;i&gt;n&lt;/i&gt;&lt;/sub&gt;&lt;/sub&gt;&lt;i&gt;g&lt;/i&gt; as a product of &lt;i&gt;m&lt;/i&gt; sums each of which is of the form (1−&lt;i&gt;p&lt;/i&gt;)&lt;i&gt;e&lt;/i&gt;+&lt;i&gt;p&lt;/i&gt;&lt;i&gt;τ&lt;/i&gt;&lt;sub&gt;&lt;i&gt;ij&lt;/i&gt;&lt;/sub&gt;.  We would like to know the minimum number &lt;i&gt;m&lt;/i&gt; of factors.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The formal sums ∑&lt;sub&gt;&lt;i&gt;g&lt;/i&gt;∈S&lt;sub&gt;&lt;i&gt;n&lt;/i&gt;&lt;/sub&gt;&lt;/sub&gt;&lt;i&gt;f&lt;/i&gt;(&lt;i&gt;g&lt;/i&gt;)&lt;i&gt;g&lt;/i&gt;, where &lt;i&gt;f&lt;/i&gt; is a function from S&lt;sub&gt;&lt;i&gt;n&lt;/i&gt;&lt;/sub&gt; to ℂ, equipped with naturally defined addition and multiplication, form the ring called &lt;a href=&quot;http://en.wikipedia.org/wiki/Group_ring&quot;&gt;group algebra&lt;/a&gt; ℂ[S&lt;sub&gt;&lt;i&gt;n&lt;/i&gt;&lt;/sub&gt;].  Group algebra is closely related to representation theory of groups, which is a deep theory as we all know and fear :).  This makes me suspect that something in representation theory might be applicable to the current problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Or maybe this is just far-fetched.&lt;/p&gt;&#xA;" OwnerUserId="567" LastActivityDate="2011-03-10T19:21:25.170" CommentCount="17" ContentLicense="CC BY-SA 2.5" />
  <row Id="5416" PostTypeId="2" ParentId="5313" CreationDate="2011-03-10T19:40:17.103" Score="1" Body="&lt;p&gt;This answer does not directly answer the question since it does not use &lt;code&gt;Eq&lt;/code&gt; It offers another solution for the problem of finding collision free keys based on object content, if not a particularly efficient one for complex types resp. large object structures (if objects are mutable; if they are immutable, you only have a small overhead for every object creation and that's it).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assume we have a type &lt;code&gt;Int&lt;/code&gt; which can take arbitrarily large integers and an injective function &lt;code&gt;cantor&lt;/code&gt; that encodes arbitrary tuples of &lt;code&gt;Int&lt;/code&gt; values to one &lt;code&gt;Int&lt;/code&gt; using some generalized Cantor scheme (exists and is computable).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Find injective mappings to &lt;code&gt;Int&lt;/code&gt; for all primitive types. That should be easy. For sake of simplicity we call all such mappings by the same name &lt;code&gt;key&lt;/code&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now we can define &lt;code&gt;key&lt;/code&gt; for arbitrary (structural) types by recursing to its members, i.e.&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;key(Object(m1, ..., mN)) = cantor(key(m1), ..., key(mN))&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;which is injective since both &lt;code&gt;cantor&lt;/code&gt; (in general) and &lt;code&gt;key&lt;/code&gt; (by induction hypothesis) are injective.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This can be generalized to honor types (i.e. &lt;code&gt;A(1,2) != B(1,2)&lt;/code&gt;) by enumerating types (known at compile-time), storing objects' types in a designated member and using above scheme. That might even work for nasty things like generics.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that finite lists can be encoded with this scheme. Streams are problematic, of course.&lt;/p&gt;&#xA;" OwnerUserId="1546" LastActivityDate="2011-03-10T19:40:17.103" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="5417" PostTypeId="2" ParentId="5410" CreationDate="2011-03-10T19:50:43.760" Score="5" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;What about if, additionally, I require that the resulting connected components have almost the same number of edges?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Then you are &lt;a href=&quot;http://www.nada.kth.se/~viggo/wwwcompendium/node95.html&quot; rel=&quot;nofollow&quot;&gt;in trouble&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is not exactly the same problem, but in general the following seems to hold for many variants of the theme: it is easy to find small cuts, but hard to find small balanced cuts (for any reasonable definitions of &quot;small&quot; and &quot;balanced&quot;).&lt;/p&gt;&#xA;" OwnerUserId="74" LastActivityDate="2011-03-10T19:50:43.760" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5418" PostTypeId="2" ParentId="5400" CreationDate="2011-03-10T20:35:12.797" Score="2" Body="&lt;p&gt;The framework of parametric search allows you to do this in many cases. While it was first developed by Meggido for parallel implementation, the idea is more general. Roughly speaking, you start with an oracle $g(x)$ that tells you, given a point $x$, to which side (left or right) the optimum-achieving $x^*$ lies. The idea is to &quot;pretend&quot; to simulate the cost function on the optimal solution. At some point, you're stuck because you don't know which path of a branch to take (since you don't know $x^*$). You identify the breakpoints of this branch, and then using $g$ decide which ones to explore further.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm handwaving a lot, because parametric search is quite complicated. &lt;a href=&quot;http://www.cs.uu.nl/research/techreps/repo/CS-2002/2002-050.pdf&quot; rel=&quot;nofollow&quot;&gt;This survey&lt;/a&gt; talks about ways of making it practical, and also has a decent explanation of the basic idea. &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.32.4952&quot; rel=&quot;nofollow&quot;&gt;This older survey&lt;/a&gt; gives a number of examples of parametric search. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2011-03-10T20:35:12.797" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5419" PostTypeId="5" CreationDate="2011-03-10T20:49:48.680" Score="0" Body="" OwnerUserId="-1" LastEditorUserId="-1" LastEditDate="2011-03-10T20:49:48.680" LastActivityDate="2011-03-10T20:49:48.680" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5420" PostTypeId="4" CreationDate="2011-03-10T20:49:48.680" Score="0" Body="Computational Geometry is the study of geometric problems from a computational perspective. Examples of problems include: computation of geometric objects such as convex hulls, dimensionality reduction, shortest path problems in metric spaces, or finding a small subset of points that approximates some measure of the whole set (i.e. a coreset)." OwnerUserId="284" LastEditorUserId="284" LastEditDate="2011-03-10T21:01:05.253" LastActivityDate="2011-03-10T21:01:05.253" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5421" PostTypeId="5" CreationDate="2011-03-10T20:53:30.520" Score="0" Body="" OwnerUserId="-1" LastEditorUserId="-1" LastEditDate="2011-03-10T20:53:30.520" LastActivityDate="2011-03-10T20:53:30.520" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5422" PostTypeId="4" CreationDate="2011-03-10T20:53:30.520" Score="0" Body="VC-dimension (after Vapnik and Chervonenkis) is a measure of the power of a set of shapes (ranges) to realize subsets of points. VC-dimension is a vital analysis tool in the fields of machine learning and computational geometry." OwnerUserId="284" LastEditorUserId="284" LastEditDate="2011-03-10T21:01:20.293" LastActivityDate="2011-03-10T21:01:20.293" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5425" PostTypeId="5" CreationDate="2011-03-11T01:28:13.300" Score="0" Body="" OwnerUserId="-1" LastEditorUserId="-1" LastEditDate="2011-03-11T01:28:13.300" LastActivityDate="2011-03-11T01:28:13.300" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5426" PostTypeId="4" CreationDate="2011-03-11T01:28:13.300" Score="0" Body="Reference-request is used when the author needs to know about work related to the question." OwnerUserId="284" LastEditorUserId="284" LastEditDate="2011-03-11T02:42:54.307" LastActivityDate="2011-03-11T02:42:54.307" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5427" PostTypeId="1" CreationDate="2011-03-11T03:55:50.423" Score="31" ViewCount="3016" Body="&lt;p&gt;I'm a beginner working on methods proving program equivalence. I've read a few papers about defining logical relations or simulations to prove two programs are equivalent. But I am quite confused about these two techniques.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I only know logical relations are inductively defined while simulations are based on coinduction. Why are they defined in such ways? What are their pros and cons respectively? Which one should I choose in different situations? &lt;/p&gt;&#xA;" OwnerUserId="2703" LastEditorUserId="8519" LastEditDate="2012-06-04T12:32:21.790" LastActivityDate="2014-01-19T02:41:29.957" Title="What are the differences between logical relations and simulations?" Tags="&lt;lo.logic&gt;&lt;pl.programming-languages&gt;&lt;logical-relations&gt;&lt;parametricity&gt;" AnswerCount="4" CommentCount="7" FavoriteCount="16" ContentLicense="CC BY-SA 2.5" />
  <row Id="5428" PostTypeId="5" CreationDate="2011-03-11T06:44:36.347" Score="0" Body="" OwnerUserId="-1" LastEditorUserId="-1" LastEditDate="2011-03-11T06:44:36.347" LastActivityDate="2011-03-11T06:44:36.347" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5429" PostTypeId="4" CreationDate="2011-03-11T06:44:36.347" Score="0" Body="An expander is a sparse (low degree) graph with high &quot;expansion,&quot; measured in one of several ways; typically akin to the minimum ratio of the size of a subgraph boundary to the subgraph's volume." OwnerUserId="284" LastEditorUserId="284" LastEditDate="2011-03-11T06:58:18.597" LastActivityDate="2011-03-11T06:58:18.597" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5430" PostTypeId="1" AcceptedAnswerId="5432" CreationDate="2011-03-11T07:24:46.243" Score="3" ViewCount="1271" Body="&lt;p&gt;Given edge labelled directed acyclic graph with edge labels $w_i \in \mathbb{N}$ the cost of a path is the sum of the labels.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem is:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Find a path from $s$ to $t$ with cost $a$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I suppose this is NP-hard.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some questions:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Would putting a bound $\max w_i &amp;lt; C$ make the problem easier?&lt;/li&gt;&#xA;&lt;li&gt;What are the best algorithms for this?&lt;/li&gt;&#xA;&lt;li&gt;Is the problem NP-complete?&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Update&lt;/strong&gt;&#xA;What about this modification of &lt;a href=&quot;http://www.csc.liv.ac.uk/~ped/teachadmin/COMP202/annotated_np.html&quot; rel=&quot;nofollow&quot;&gt;Number: 63 Shortest Weight-Constrained Path&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To each edge associate second label weight $r_i \in \mathbb{N}$. The weight of a path is the sum of $r_i$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assume (possibly small) bound $C$ of the costs $w_i$ and solve:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$cost = a$ and $weight &amp;lt; K$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Would it be still polynomial in $n,m,C$ or NP-hard instances exist (one can assume positive labels if this helps)?&lt;/p&gt;&#xA;" OwnerUserId="2743" LastEditorUserId="2743" LastEditDate="2011-03-12T07:27:02.390" LastActivityDate="2011-03-12T08:34:42.010" Title="Path of exact cost in edge labelled DAG?" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;graph-algorithms&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="5431" PostTypeId="1" AcceptedAnswerId="5442" CreationDate="2011-03-11T08:13:09.080" Score="23" ViewCount="880" Body="&lt;p&gt;I wonder if there is any justification to believe that $NL=L$ or to believe that $NL\neq L$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is known that $NL \subset L^2$.&#xA;The literature on derandomization of $RL$ is pretty convincing that $RL=L$. &#xA;Does anyone know about some articles or ideas convincing that $NL\neq L$?&lt;/p&gt;&#xA;" OwnerUserId="1821" LastEditorUserId="873" LastEditDate="2011-03-11T14:04:03.253" LastActivityDate="2011-03-11T22:56:50.397" Title="Is there any justification to believe that $NL\neq L$?" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;complexity-classes&gt;&lt;space-bounded&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="12" ContentLicense="CC BY-SA 2.5" />
  <row Id="5432" PostTypeId="2" ParentId="5430" CreationDate="2011-03-11T08:17:48.670" Score="12" Body="&lt;p&gt;Yes, it's NP-complete, by a reduction from subset sum. It's easiest to see using a multigraph: make a directed path, double each edge, and make one of the two doubled edges have cost zero, then cost $a$ can be achieved if and only if it is the sum of some subset of the weights of the nonzero edges. If you don't like multigraphs, subdivide the edges.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you assume that $\max w_i&amp;lt;C$ then there's a dynamic programming algorithm with time $O(mnC)$: just process the nodes in a topological ordering, and for each node calculate the set of path lengths by which it can be reached from $s$.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2011-03-11T08:17:48.670" CommentCount="9" ContentLicense="CC BY-SA 2.5" />
  <row Id="5434" PostTypeId="1" AcceptedAnswerId="5437" CreationDate="2011-03-11T13:32:18.603" Score="2" ViewCount="143" Body="&lt;p&gt;I need to translate a training algorithm that involves sums and multiplications of probabilities to actual code. For that I need some sort of scaling procedure that allows me to avoid underflows, that is, misleading 0 probabilities.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A typical method is to apply the logs of probabilities but because of the sums this is not readily possible for my case. Another approach I saw in Rabiner's tutorial on HMMs, was his scaling procedure only dependent on t (time) applied to the forward algorithm and (the other way around) the backward algorithm, that when combined cancel each other to obtain the desired trained probabilities.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;My question&lt;/strong&gt;&#xA;I wonder if there are books or text resources explaining common approaches to tackle the underflow problem that results in working with continuous multiplications of probabilities. Do you know any? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I hope I can get some ideas from that.&lt;/p&gt;&#xA;" OwnerUserId="4220" LastEditorUserId="186" LastEditDate="2011-03-11T19:28:16.927" LastActivityDate="2011-03-11T19:28:16.927" Title="Scaling procedures to address false 0's after multiplying probabilities" Tags="&lt;pr.probability&gt;&lt;na.numerical-analysis&gt;" AnswerCount="1" CommentCount="8" ContentLicense="CC BY-SA 2.5" />
  <row Id="5435" PostTypeId="2" ParentId="4750" CreationDate="2011-03-11T14:53:00.393" Score="2" Body="&lt;p&gt;If you have a binary encoding of the vertices of the graph you can represent the edges with the characteristic boolean function $\chi_E$ of the edge set $E$, i.e. $\chi_E(x,y) = 1 \Leftrightarrow$ there is an edge between the vertices encoded by $x$ and $y$.&#xA;This boolean function can be represented by e.g. &lt;a href=&quot;http://en.wikipedia.org/wiki/Binary_decision_diagram&quot; rel=&quot;nofollow&quot;&gt;Ordered Binary Decision Diagrams&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is known that this OBDD representation is not larger than classical representations (adjacency matrix or adjacency lists) and for special graph classes (e.g. cographs and interval graphs) the OBDD size is smaller then the explicit representation (Nunkesser,Woelfel: &lt;a href=&quot;http://dx.doi.org/10.1016/j.dam.2008.02.012&quot; rel=&quot;nofollow&quot;&gt;Representation of Graphs by OBDDs&lt;/a&gt;). So you can hope that for good structured graphs the implicit representation is better.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the case of trees I have shown (with the tools from the above paper) that the OBDD size is generally not better than the explicit representation and you can easily construct a tree so that the OBDD size is large.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Algorithms are called &lt;em&gt;symbolic&lt;/em&gt; or &lt;em&gt;implicit&lt;/em&gt; if they have access to the input graph only by this functional representation and perform functional operations to solve the problem. There is a good PhD thesis from Sawitzki about this topic but it is in german (&lt;a href=&quot;http://ls2-www.cs.uni-dortmund.de/~sawitzki/AuKOrG.pdf&quot; rel=&quot;nofollow&quot;&gt;PDF&lt;/a&gt;). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think this is a kind of heuristical approach because you can't guarantee that there is a good implicit representation of the graph and so a fast symbolic alghorithm. Even if there exist a good implicit representation it is very hard to find this good one.&lt;/p&gt;&#xA;" OwnerUserId="2517" LastEditorUserId="40498" LastEditDate="2016-06-20T07:21:53.810" LastActivityDate="2016-06-20T07:21:53.810" CommentCount="2" CommunityOwnedDate="2011-03-11T14:53:00.393" ContentLicense="CC BY-SA 3.0" />
  <row Id="5436" PostTypeId="2" ParentId="5430" CreationDate="2011-03-11T15:20:22.340" Score="0" Body="&lt;p&gt;Another way to prove that it is NP-complete consist of noticing that if each label is 1 and $a = \#V$ where $V$ is the set of vertices, we obtain the hamiltonian path problem. It shows too that even if you give an upper bound C, it remains NP-complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT: &#xA;My answer is wrong because in DAG, hamiltonian path problem has a polynomial algorithm.&lt;/p&gt;&#xA;" OwnerUserId="378" LastEditorUserId="378" LastEditDate="2011-03-12T08:34:42.010" LastActivityDate="2011-03-12T08:34:42.010" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="5437" PostTypeId="2" ParentId="5434" CreationDate="2011-03-11T15:45:46.630" Score="3" Body="&lt;p&gt;A simplee trick (&lt;a href=&quot;https://facwiki.cs.byu.edu/nlp/index.php/Log_Domain_Computations&quot; rel=&quot;nofollow&quot;&gt;explained here&lt;/a&gt;) that let you use the $\log$ approach even when you must sum probabilities.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Problem: $\log(\exp(a) + \exp(b))$ can lead to an underflow, to avoid it you can use this formula:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\log(x + y) = \log(x) + \log(1.0 + \exp( \log(y) - \log(x) ) )$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Or use &lt;a href=&quot;http://www.cs.ubc.ca/~murphyk/Teaching/CS532c_Fall04/Lectures/lec12x4.pdf&quot; rel=&quot;nofollow&quot;&gt;another approach&lt;/a&gt;:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\log(\exp(a) + \exp(b)) = \log( \exp(a - C) + \exp(b - C)) + C$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Setting $C = \max(a,b)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example: $\log(e^{-120}+e^{-121}) = \log(e^{-120}(e^0 + e^{-1}))= \log(e^0+e^{-1})-120$&lt;/p&gt;&#xA;" OwnerUserId="3247" LastActivityDate="2011-03-11T15:45:46.630" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5438" PostTypeId="1" AcceptedAnswerId="10209" CreationDate="2011-03-11T16:12:38.413" Score="17" ViewCount="818" Body="&lt;p&gt;how can one show that what is relation between &quot;Unique games conjecture&quot; and &quot;PCP theorem&quot;?&#xA;how does one explain &quot;Unique games conjecture&quot; is stronger form of &quot;PCP theorem&quot;?&lt;/p&gt;&#xA;" OwnerUserId="4222" LastEditorUserId="80" LastEditDate="2011-03-11T21:07:49.940" LastActivityDate="2012-02-14T17:20:44.677" Title="Is there a simple argument that shows that  the unique games conjecture implies the PCP theorem" Tags="&lt;cc.complexity-theory&gt;&lt;pcp&gt;&lt;unique-games-conjecture&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="5439" PostTypeId="1" AcceptedAnswerId="5516" CreationDate="2011-03-11T18:16:35.327" Score="8" ViewCount="883" Body="&lt;p&gt;The &lt;a href=&quot;http://en.wikipedia.org/wiki/Algebraic_connectivity&quot; rel=&quot;nofollow&quot;&gt;algebraic connectivity&lt;/a&gt; of a graph G is the second-smallest eigenvalue of the &lt;a href=&quot;http://en.wikipedia.org/wiki/Laplacian_matrix&quot; rel=&quot;nofollow&quot;&gt;Laplacian matrix&lt;/a&gt; of G. This eigenvalue is greater than 0 if and only if G is a connected graph. The magnitude of this value reflects how well connected the overall graph is.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;for an example, &quot;&lt;strong&gt;adding self-loops&lt;/strong&gt;&quot; does not change laplacian eigenvalues (specially  algebraic connectivity) of graph.&#xA;Because, laplacian(G)= D-A is invariant with respect to adding self-loops.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;My question is:&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does anyone has studied effect of different operations (such as edge contraction) on spectrum of laplacian?&#xA;do you know good references?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Remark: the exact definition of the algebraic connectivity depends on the type of Laplacian used.  For this question I prefer to use Fan Chung definition in &lt;a href=&quot;http://www.math.ucsd.edu/~fan/research/cb/ch1.pd&quot; rel=&quot;nofollow&quot;&gt;SPECTRAL GRAPH THEORY&lt;/a&gt;. In this book Fan Chung has uesed a rescaled version of the Laplacian, eliminating the dependence on the number of vertices.&lt;/p&gt;&#xA;" OwnerUserId="4222" LastEditorUserId="4222" LastEditDate="2011-09-29T00:12:30.817" LastActivityDate="2011-09-29T00:12:30.817" Title="Effect of different graph operations at algebraic connectivity of graph laplacian?" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;spectral-graph-theory&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="5440" PostTypeId="2" ParentId="5356" CreationDate="2011-03-11T20:16:09.127" Score="9" Body="&lt;p&gt;While you wind up with a large number of intermediate fingertree structures, they share the vast majority of their structure with one another. In the end you allocate at most twice as much memory as in the idealized case, and the remainder is freed with the first collection. The asymptotics of this are the same as good as they can get, since you need a fingertree filled with n values in the end.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can build the fingertree by using &lt;code&gt;Data.FingerTree.replicate&lt;/code&gt; and them using &lt;code&gt;FingerTree.fmapWithPos&lt;/code&gt; to look up your values in an array which plays the role of your finite sequence, or using &lt;code&gt;traverseWithPos&lt;/code&gt; to peel them out of a list or other known-sized container.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This will allocate $O(\log n)$ nodes for the initial replicated skeleton, and then replace them with the $O(n)$ nodes needed to populate the skeleton, 'wasting' at most $O(\log n)$ memory until garbage collection cleans things up, So instead of the optimal ~1000 nodes you'd have to pay for ~1010, instead of ~2000 from cons'd construction.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, you can avoid using replicate at and generating that interim $O(\log n)$ memory replicated tree, by using &lt;code&gt;replicateA&lt;/code&gt;, but as @sclv noted, the tupling for manipulating the state intrinsic to &lt;code&gt;mapAccumL&lt;/code&gt; or traversing with a state monad yourself will actually introduce proportionally similar overhead to just paying for all the extra product cells.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;TL;DR If I had to do this, I'd probably use:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;rep :: (Int -&amp;gt; a) -&amp;gt; Int -&amp;gt; Seq a &#xA;rep f n = mapWithIndex (const . f) $ replicate n () &#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;and to index into a fixed sized array I'd just supply &lt;code&gt;(arr !)&lt;/code&gt; for &lt;code&gt;f&lt;/code&gt; above.&lt;/p&gt;&#xA;" OwnerUserId="1413" LastEditorUserId="95" LastEditDate="2016-02-20T05:54:39.323" LastActivityDate="2016-02-20T05:54:39.323" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="5441" PostTypeId="2" ParentId="5321" CreationDate="2011-03-11T22:11:40.103" Score="14" Body="&lt;p&gt;The following seems to be new and relevant information:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The paper [CKKL99] shows how to get 1/n close to a uniform permutation of n elements using a switching network of depth O(log n), and hence a total of O(n log n) comparators.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This construction is not explicit, but it can be made explicit if you increase the depth to polylog(n). See the pointers in the paper [CKKL01], which also contains more information.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A previous comment already pointed out a result saying that O(n log n) switches suffice, but the difference is that in switching networks the elements being compared are fixed.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;[CKKL99] Artur Czumaj, Przemyslawa Kanarek, Miroslaw Kutylowski, and Krzysztof Lo-&#xA;rys. Delayed path coupling and generating random permutations via distributed&#xA;stochastic processes. In Symposium on Discrete Algorithms (SODA), pages 271{&#xA;280, 1999.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[CKKL01] Artur Czumaj, Przemyslawa Kanarek, Miroslaw Kutylowski, and Krzysztof Lo-&#xA;rys. Switching networks for generating random permutations, 2001.&lt;/p&gt;&#xA;" OwnerUserId="259" LastActivityDate="2011-03-11T22:11:40.103" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="5442" PostTypeId="2" ParentId="5431" CreationDate="2011-03-11T22:56:50.397" Score="31" Body="&lt;p&gt;First, let me cite skepticism that $L \neq NL$. As it has been shown that undirected graph connectivity is in $L$ (Reingold), and that $NL=coNL$ (Immerman-Szelepcsényi), I think that confidence in $L \neq NL$ has only decreased. Some prominent researchers have never had a strong belief. For example, Juris Hartmanis (founder of the CS department at Cornell and Turing award winner) has said:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;We believe that NLOGSPACE differs from LOGSPACE, but not with the same depth of conviction as for the other complexity classes. &lt;a href=&quot;http://portal.acm.org/ft_gateway.cfm?id=602402&amp;amp;type=pdf&quot;&gt;(Source)&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I know he said similar things in the literature as far back as the 70's.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is &lt;em&gt;some&lt;/em&gt; evidence against $L=NL$, although it is circumstantial. There has been work on proving space lower bounds for $s$-$t$ connectivity (the canonical $NL$-complete problem) in restricted computational models. These models are strong enough to run the algorithm of Savitch's theorem (which gives an $O(\log^2 n)$ space algorithm) but are provably not strong enough to do asymptotically better. See the paper &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.42.5221&quot;&gt;&quot;Tight Lower Bounds for st-Connectivity on the NNJAG Model&quot;&lt;/a&gt;. These NNJAG lower bounds show that, if it's possible to beat Savitch's theorem and even get $NL \subseteq SPACE[o(\log^2 n)]$, one will certainly have to come up with an algorithm that's very different from Savitch. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Still, I don't know of any unlikely, unexpected formal consequences that come from $L=NL$ (except for the obvious ones). Again, this is primarily because we already know things like $NL=coNL$.&lt;/p&gt;&#xA;" OwnerUserId="225" LastActivityDate="2011-03-11T22:56:50.397" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="5443" PostTypeId="1" CreationDate="2011-03-12T04:24:23.000" Score="25" ViewCount="762" Body="&lt;p&gt;In connection with the &lt;a href=&quot;http://www.puzzle-loop.com/&quot;&gt;Slither Link&lt;/a&gt; puzzle, I've been wondering: Suppose that I have an $n\times n$ grid of square cells, and I want to find a simple cycle of grid edges, uniformly at random among all possible simple cycles.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One way to do this would be to use a Markov chain whose states are sets of squares whose boundaries are simple cycles and whose transitions consist of choosing a random square to flip and keeping the flip when the modified set of squares still has a simple cycle as its boundary. One can get from any simple cycle to any other one in this way (using standard results about existence of shellings) so this eventually converges to a uniform distribution, but how quickly?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Alternatively, is there a better Markov chain, or a direct method for selecting simple cycles?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;ETA: See &lt;a href=&quot;http://11011110.livejournal.com/214995.html&quot;&gt;this blog post&lt;/a&gt; for code to calculate the number of cycles I'm looking for, and pointers to OEIS for some of these numbers. As we know, counting is almost the same thing as random generation, and I infer from the lack of any obvious pattern in the factorizations of these numbers and the lack of a formula in the OEIS entry that there unlikely to be a known simple direct method. But that still leaves the questions of how quickly this chain converges and whether there's a better chain wide open.&lt;/p&gt;&#xA;" OwnerUserId="95" LastEditorUserId="95" LastEditDate="2011-03-19T06:33:28.820" LastActivityDate="2011-11-01T07:21:36.000" Title="Random self-avoiding lattice cycle within a given bounding box" Tags="&lt;ds.algorithms&gt;&lt;randomness&gt;&lt;markov-chains&gt;&lt;integer-lattice&gt;" AnswerCount="1" CommentCount="14" FavoriteCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="5444" PostTypeId="2" ParentId="1942" CreationDate="2011-03-12T05:02:06.730" Score="0" Body="&lt;p&gt;consider the reduction from vertex cover to the above problem. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;consider graph $G(V,E)$ with vertex V={1,2,..n}&lt;/p&gt;&#xA;&#xA;&lt;p&gt;let T be the tournament with vertices $x_{i},y_{i},z_{i}$ for vertex i=1,2...n&lt;/p&gt;&#xA;&#xA;&lt;p&gt;construct the tournament with edges in order of  $x_{1},y_{1},z_{1},x_{2},y_{2},z_{2}...x_{n},y_{n},z_{n}$.if there exist a edge(i,j) then $z_{j},x_{i}$.  $x_{i},y_{i}$ belongs to $T_{1}$ for i=1,2...n and $z_{i}$ belongs to $T_{2}$ for i=1,2...n. It is clear that $T_{1}$ and $T_{2}$ are acyclic.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Example for the construction&lt;/p&gt;&#xA;&#xA;&lt;p&gt;consider the graph G(V,E) with vertex set {1,2,3} and edges be (1,2)(2,3)&#xA;construction as follows&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Tournament has vertices $x_{1},y{1},z{1},x_{2},y_{2},z_{2},x_{3},y_{3},z_{3}$&#xA;with construction as follows&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Step1 &#xA;$x_{1}$ has directed edges to all vertices.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$y_{1}$ has directed edges to all vertices except $x_{1}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$z_{1}$ has directed edges to all vertices except $x_{1},y_{1}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$x_{1}$ has directed edges to all vertices except $x_{1},y_{1},z_{1}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;and repeat the process till all edges for the tournament constructed&lt;/p&gt;&#xA;&#xA;&lt;p&gt;step 2: (1,2) has a edge so swap the edge direction from $(x_{1},y_{2})$ to $(y_{2},x_{1})$ similarly for (1,3)&#xA;claim: G has a vertex cover of size k only if T has feedback vertex set of size k&lt;/p&gt;&#xA;&#xA;&lt;p&gt;one case is clear, if G has a vertex cover of size k then surely T has a fvs of size k&lt;/p&gt;&#xA;&#xA;&lt;p&gt;other way is, if there is edge (i,j) where $i&amp;lt;j$ if both $x_{i},z_{j}$ is not picked into the solution then we are forced to pick all vertices $y_{i},z_{i},x_{k},y_{k},z_{k},x_{j},y_{j}$ where for all k such that $i&amp;lt;k&amp;lt;j$. so picking $x_{i},z_{j}$ will result in better solution.hence proved&lt;/p&gt;&#xA;&#xA;&lt;p&gt;please see and verify. &lt;/p&gt;&#xA;" OwnerUserId="851" LastEditorUserId="851" LastEditDate="2011-03-24T05:31:37.997" LastActivityDate="2011-03-24T05:31:37.997" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="5445" PostTypeId="1" AcceptedAnswerId="5455" CreationDate="2011-03-12T09:22:44.933" Score="3" ViewCount="348" Body="&lt;p&gt;I have a directed acyclic graph with ~250k nodes, each node has one of about 100 symbols as label. Letting a word be the sequence of n symbols that corresponds to a path containing n nodes in the graph, how can I find the most common words? What known algorithms should I study?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An interesting extension is to let edges also have one of about 100 symbols (the set of edge symbols does not intersect the set of node symbols) as label, redefining a word to be the sequence of length n+(n-1) symbols that corresponds to a path containing n nodes and n-1 edges.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Reading tips and wikipedia links are appreciated as well as more elaborate answers.&lt;/p&gt;&#xA;" OwnerUserId="4228" LastEditorUserId="1800" LastEditDate="2011-03-12T16:45:58.503" LastActivityDate="2011-03-13T04:22:59.210" Title="Finding common label sequences in a directed acyclic graph" Tags="&lt;ds.algorithms&gt;&lt;graph-algorithms&gt;&lt;directed-acyclic-graph&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="5446" PostTypeId="1" AcceptedAnswerId="5465" CreationDate="2011-03-12T10:59:29.420" Score="5" ViewCount="574" Body="&lt;p&gt;Consider the following definition, taken from &lt;a href=&quot;http://math.ucsd.edu/~fan/mypaps/fanpap/fc31concentrators.pdf&quot; rel=&quot;nofollow&quot;&gt;Chung's 1978 paper&lt;/a&gt;:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;An $(n, m)$-&lt;strong&gt;concentrator&lt;/strong&gt; is a graph with $n$ input vertices and $m$ output vertices, &#xA;  $n \ge m$, having the property that, for any set of $m$ or fewer inputs, a set of vertex-disjoint paths exists that join the given inputs in a one-to-one fashion to different outputs. If this graph is directed or acyclic, we call it a directed or acyclic $(n, m)$-concentrator, respectively.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The paper includes definitions for &lt;strong&gt;superconcentrators&lt;/strong&gt;, &lt;strong&gt;generalizers&lt;/strong&gt;, and &lt;strong&gt;non-blocking networks&lt;/strong&gt;. One may also encounter other types of graphs, such as &lt;strong&gt;expanders&lt;/strong&gt; and &lt;strong&gt;Ramanujan graphs&lt;/strong&gt; in the literature.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;These types of graphs are usually studied as &quot;families of graphs.&quot; There are a number of papers (such as Pinsker [1], &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=803752&quot; rel=&quot;nofollow&quot;&gt;Valiant&lt;/a&gt;, &lt;a href=&quot;http://link.aip.org/link/?SMJCAT/6/298/1&quot; rel=&quot;nofollow&quot;&gt;Pippenger&lt;/a&gt;, and &lt;a href=&quot;http://dx.doi.org/10.1109/SFCS.1979.16&quot; rel=&quot;nofollow&quot;&gt;Gabber-Galil&lt;/a&gt;) which try to explicitly construct such families, while optimizing parameters like size, density, sparsity, and the like.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem is that while those papers are excellent for research, they don't help much pedagogically. Let's clarify: Consider a student who sees the definition of a &lt;strong&gt;concentrator&lt;/strong&gt; (or any similar graph) for the first time. His best bet to understand the definition is to imagine it pictorially, or see an illustration of examples and non-examples of a concentrator.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I've been searching for such &lt;strong&gt;simple&lt;/strong&gt; examples of &lt;em&gt;Special Graph Families&lt;/em&gt; for quite a while, but didn't achieve much. So, the question is:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Could you describe simple constructions of special graph families? Illustrations are much appreciated.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Note that the simple constructions need not be optimum in any sense, but they must not be trivial either (e.g. a complete graph is a trivial example for some graph families). I don't formalize the word &lt;strong&gt;trivial&lt;/strong&gt;, and leave it to your judgement.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] M. S. Pinsker. &quot;On the complexity of a concentrator&quot;, 7th International Teletraffic Conference, pages 318/1-318/4, 1973.&lt;/p&gt;&#xA;" OwnerUserId="873" LastEditorUserId="1800" LastEditDate="2011-03-12T16:47:09.347" LastActivityDate="2011-03-13T19:01:23.580" Title="Simple Constructions of Special Graph Families" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;soft-question&gt;&lt;big-list&gt;&lt;expanders&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="5447" PostTypeId="1" CreationDate="2011-03-12T12:16:36.953" Score="2" ViewCount="569" Body="&lt;p&gt;Given a specific pseudo random number generator (e.g. Mersenne twister) $r()$ and a true random number generator $q()$ is there an algorithm $f(x,y)$ such that:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$f(r(),r()) = 1$ almost always.&lt;/li&gt;&#xA;&lt;li&gt;$f(q(),q()) = 0$ almost always.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;It should be noted that $f()$ stores no state, it only takes the return values of two consecutive calls as its parameter: we can also consider the case of a vector of $n$ calls as input.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&quot;almost always&quot; may be interpreted quite liberally, it could return this result with $&amp;gt; 2/3$ probability or the long term average could tend towards this limit.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would also appreciate any insight on the same question for an unknown pseudo-random number generator (i.e. an arbitrary Turing machine) as $r()$. Thanks very much!&lt;/p&gt;&#xA;" OwnerUserId="3100" LastEditorUserId="186" LastEditDate="2011-03-13T12:46:53.267" LastActivityDate="2011-03-14T19:34:57.917" Title="Algorithmic distinctions between random and pseudorandom." Tags="&lt;cr.crypto-security&gt;&lt;randomness&gt;&lt;pseudorandomness&gt;" AnswerCount="4" CommentCount="6" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="5448" PostTypeId="1" CreationDate="2011-03-12T13:52:55.677" Score="0" ViewCount="392" Body="&lt;p&gt;I have been recently researching Happynet in terms of approximation and I have found out that there is a little interest in this topic.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What's the reason for this?&#xA;Are there any related problems, that get better attention?&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;The Happynet problem is related to minimizing the energy in a &lt;a href=&quot;http://en.wikipedia.org/wiki/Hopfield_net&quot; rel=&quot;nofollow&quot;&gt;Hopfield net&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem is defined as follows: Given a graph $G = (V,E)$ and edge weights $w: E \to \mathbb{Z}$, find a function $s: V \to \{-1,1\}$ such that for all $v \in V$, the sum $$\sum_{u: \{v,u\} \in E} s(v)s(u)w(\{u,v\})$$&#xA;is non-negative.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Put otherwise, the task is to find a cut in an edge-weighted graph $G$ such that for each node $v$ the total weight of cut-edges incident to $v$ is at most as large as the total weight of non-cut-edges incident to $v$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Curiously, a feasible solution always exists. However, it seems that no polynomial-time algorithm is known for solving the problem. For more information, see e.g. &lt;a href=&quot;http://www.lamsade.dauphine.fr/sites/default/IMG/pdf/cahierLamsade226.pdf&quot; rel=&quot;nofollow&quot;&gt;Giannakos and Pottie (2005)&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="4230" LastEditorUserId="74" LastEditDate="2011-03-13T12:46:41.010" LastActivityDate="2011-03-13T12:46:41.010" Title="Hardness of Happynet problem" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;soft-question&gt;&lt;approximation-algorithms&gt;" AnswerCount="0" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="5449" PostTypeId="2" ParentId="5427" CreationDate="2011-03-12T15:02:00.887" Score="14" Body="&lt;p&gt;One of the key differences is that logical relations are used as a technique for showing that a class of programs (eg, input to a compiler) correspond to another class of programs (eg, the output of the compiler), whereas simulation relations are used to show the correspondence between two programs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The similarity between the two notions is that they both define a relation used to show the correspondence between two different entities. In some sense, one can think of a logical relation as a simulation relation that is defined inductively on the syntax of types. But different kinds of simulation relations exist.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Logical relations can used to show the correspondence between a language such as ML and its translation into assembly language, as in the paper you read. A logical relation is defined inductively on the type structure. A logical relation provides a compositional means for showing, for example, that a translation is correct, by showing that the translation is correct for each type constructor. At function types the correctness condition condition would say something like, the translation of this function takes well-translated input to well-translated output.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Logical relations are a versatile technique for languages based on the lambda calculus.&#xA;Other applications of logical relations include (from &lt;a href=&quot;http://homepages.inf.ed.ac.uk/gdp/publications/laxlr.pdf&quot;&gt;here&lt;/a&gt;): characterising lambda definability, relating denotational semantic definitions, characterising parametric polymorphism, modelling abstract interpretation, verifying data representations, defining fully abstract semantics and modelling local state in higher-order languages.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Simulation relations are generally used to show the equivalence of two programs. Typically such programs produce some kind of observation, such as sending messages on channels. One program P simulates another Q if P can do everything that Q can do, though perhaps more.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Bisimulation, roughly, is two simulation relations put together. You show that program P and simulate program Q and that program Q can simulate program P and you have a bisimulation, though additional conditions are generally present. Wikipedia's entry on &lt;a href=&quot;http://en.wikipedia.org/wiki/Bisimulation&quot;&gt;bisimulation&lt;/a&gt; is a good (more precise) starting point. Thousands of variants of the idea exist, but it is a fundamental idea that has been reinvented in more or less the same form computer science, modal logic and model theory. Sangiorgi's &lt;a href=&quot;http://www.cs.unibo.it/~sangio/DOC_public/history_bis_coind.pdf&quot;&gt;article&lt;/a&gt; gives a wonderful history of the idea.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One paper establishing a relationship between the two notions is &lt;a href=&quot;http://www.cl.cam.ac.uk/~amp12/papers/notlrb/notlrb.pdf&quot;&gt;A Note on Logical Relations Between Semantics and Syntax&lt;/a&gt; by Andy Pitts which uses logical relations, ultimately a semantic notion defined syntactally, to prove a certain property about &lt;em&gt;applicative bisimulation&lt;/em&gt;, which is a purely syntactic notion.&lt;/p&gt;&#xA;" OwnerUserId="77" LastEditorUserId="77" LastEditDate="2011-04-27T20:34:53.823" LastActivityDate="2011-04-27T20:34:53.823" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="5450" PostTypeId="2" ParentId="5117" CreationDate="2011-03-12T17:53:04.860" Score="2" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;how could I write the following proof?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;In Isabelle/ZF you can write something like this &lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;theory csthquestion imports Main&#xA;&#xA;begin&#xA;&#xA;theorem empty_unique:&#xA;shows &quot;\&amp;lt;forall&amp;gt; x.\&amp;lt;forall&amp;gt;y.(\&amp;lt;forall&amp;gt;z. (z\&amp;lt;notin&amp;gt;x)) \&amp;lt;and&amp;gt; (\&amp;lt;forall&amp;gt;z.(z\&amp;lt;notin&amp;gt;y)) \&amp;lt;longrightarrow&amp;gt; x=y&quot;&#xA;    by auto&#xA;&#xA;end&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;As you can see Isabelle proves this automatically. Of course you can write a more detailed proof if you really want.&lt;/p&gt;&#xA;" OwnerDisplayName="user4233" LastActivityDate="2011-03-12T17:53:04.860" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5451" PostTypeId="1" CreationDate="2011-03-12T17:57:23.793" Score="10" ViewCount="2710" Body="&lt;p&gt;We are working in distributed computers, and we came up with a complexity problem which reduces to a minimum path covering problem. We currently do not know how to solve it. The problem is the following:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $k$ be some integer, and let $Z_k$ be a graph containing $\frac{k(k+1)}{2}$ vertices.&#xA;We label each vertex with a couple $(i,j)$ such that $1 \leq i \leq j \leq k$.&#xA;Hereafter, we name vertices using their label.&#xA;The set of edges in $Z_k$ is defined as follows  : &#xA;$\{ ((i,j),(i&amp;#39;,j&amp;#39;)) | i&amp;#39; &amp;gt;i \land j&amp;#39; \geq i \}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is the minimal path covering of $Z_k$ ? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Reading &#xA;&quot;On Path Cover Problems in Digraphs and Applications to Program Testing&quot;&#xA;by Ntafos et al. , we have seen that the minimal path covering equals&#xA;the cardinal of the greatest incomparable vertex set.&#xA;We were thinking about the following set:&#xA;$S= \{ (i,j) : i \geq k/2 \land j &amp;lt; k/2 \}$&#xA;which has a cardinal of $\frac{k^2}{4}-\frac{k}{2}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Sincerely,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Pierre&lt;/p&gt;&#xA;" OwnerUserId="4234" LastEditorUserId="186" LastEditDate="2011-03-13T12:33:19.787" LastActivityDate="2011-03-13T12:33:19.787" Title="Minimum path covering problem" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;application-of-theory&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="5452" PostTypeId="2" ParentId="5447" CreationDate="2011-03-12T21:08:53.933" Score="2" Body="&lt;p&gt;If $f$ stores no state, then I think the answer will be &quot;no&quot;. In that case, $f$ is just a function mapping $f: \{0,1\}^2 \rightarrow \{0,1\}$. If $f$ can be randomized, then you can just view it as a function $f: \{0,1\}^2 \rightarrow [0,1]$, mapping its input to its expected value. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In this case, if $r_1,\ldots,r_n$ are uniformly random bits, then:&#xA;$$E[\sum_{i=1}^nf[r_{2i-1},r_{2i}] = \frac{n}{4}E[f(0,0) + f(1,0) + f(0,1) + f(1,1)]$$ &lt;/p&gt;&#xA;&#xA;&lt;p&gt;But if I just have the very simple (non-random) sequence $x_1,\ldots,x_n$ defined to take values $0, 0, 0, 1, 1, 0, 1, 1, \ldots$ forever repeating, then:&#xA;$$E[\sum_{i=1}^nf[x_{2i-1},x_{2i}] = \frac{n}{4}E[f(0,0) + f(1,0) + f(0,1) + f(1,1)]$$ &lt;/p&gt;&#xA;&#xA;&lt;p&gt;That is the long term average will be the same. Of course there is an obvious repeating pattern in the sequence of $x$s, but you can't detect it without state.&lt;/p&gt;&#xA;" OwnerUserId="25" LastActivityDate="2011-03-12T21:08:53.933" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5453" PostTypeId="2" ParentId="5451" CreationDate="2011-03-12T23:44:47.283" Score="10" Body="&lt;p&gt;It sounds like your graph is a transitively closed DAG, right? If so (and this is probably a restatement of what you say in your citation of Ntafos et al) the minimum number of paths needed to cover the DAG is just the maximum number of pairwise incomparable elements; this is &lt;a href=&quot;http://en.wikipedia.org/wiki/Dilworth%27s_theorem&quot;&gt;Dilworth's theorem&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Your example may be simple enough that one can identify this maximum incomparable set directly, but in general it is possible to find this set in polynomial time, by an algorithm based in graph matching. The &quot;Proof via König's theorem&quot; section of the Wikipedia article on Dilworth's theorem explains how.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2011-03-12T23:44:47.283" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5454" PostTypeId="2" ParentId="5427" CreationDate="2011-03-13T00:10:11.570" Score="8" Body="&lt;p&gt;The two types of relations appear to be used in different contexts. Logical simulations for typed languages and simulation relations when dealing with process calculi or modal logics interpreted over transition systems. Dave Clarke has provided much intuitive explanation, so I will just add a few pointers that may help. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;There has been work on characterising both notions using abstract interpretation. It may not be what you want, but at least both notions are treated in the same mathematical framework.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Samson Abramsky used logical relations to prove soundness and termination of strictness analysis for the lazy Lambda calculus (&lt;a href=&quot;http://logcom.oxfordjournals.org/content/1/1/5.abstract&quot; title=&quot;Abstract Interpretation, Logical Relations, and Kan Extensions&quot;&gt;Abstract Interpretation, Logical Relations, and Kan Extensions&lt;/a&gt;). He also showed that the logical relations define abstraction functions in the Galois connection sense of abstract interpretation. More recently, Backhouse and Backhouse showed how to construct Galois connections for higher-order types from Galois connections for base types and that these constructions can be equivalently described using logical relations (&lt;a href=&quot;http://www.springerlink.com/content/kpv52g3k48n8tpgc/&quot;&gt;Logical Relations and Galois Connections&lt;/a&gt;). Thus, in the specific context of typed functional languages, the two notions are equivalent. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Simulation relations characterise property preservation between Kripke structures for various modal and temporal logics. Instead of types, we have modalities in a logic. Simulation relations also define Galois connections and hence, abstractions. One can ask if these abstractions have special properties.  The answer is that standard abstractions are sound and simulation relation-based abstractions are complete. The notion of completeness is with respect to Galois connections, which may not concur with ones intuitive interpretation. This line of work has been developed by David Schmidt (&lt;a href=&quot;http://www.springerlink.com/content/h51ncq7vuvflfx70/&quot;&gt;Structure-Preserving Binary Relations for Program Abstraction&lt;/a&gt;), and Francesco Ranzato and Francesco Tapparo (&lt;a href=&quot;http://arxiv.org/abs/cs/0401016&quot;&gt;Generalized Strong Preservation by Abstract Interpretation&lt;/a&gt;). &lt;/p&gt;&#xA;" OwnerUserId="4155" LastActivityDate="2011-03-13T00:10:11.570" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="5455" PostTypeId="2" ParentId="5445" CreationDate="2011-03-13T04:22:59.210" Score="1" Body="&lt;p&gt;Can't you just use the graph to build a trie, and then have the counts of &lt;em&gt;all&lt;/em&gt; words.  (You would have to augment the trie slightly.)  It's a simple step from there to sort the words by number of occurrences, although the most common word will trivially be the single label that appears the most in your DAG.  (It gets more interesting if you look at most common words of a given length...)&lt;/p&gt;&#xA;" OwnerUserId="4211" LastActivityDate="2011-03-13T04:22:59.210" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="5456" PostTypeId="1" AcceptedAnswerId="5467" CreationDate="2011-03-13T13:12:44.543" Score="6" ViewCount="969" Body="&lt;p&gt;My knowledge in topological graph theory is in low, I need some good reference which has two simple thing, Definition of new concepts (like genus,graph embedding in surface, ...) also contains related theorem on this topic, It's not essential to prove theorem, I think there should be something like wiki or good survey.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I found some books, but first of all I need some overview on it, maybe it's not necessary to have book to come up with my problems, I found something in &lt;a href=&quot;http://mathworld.wolfram.com/&quot; rel=&quot;noreferrer&quot;&gt;wolfram&lt;/a&gt; but it's not integrated, and It's not easy to find all related things (because I don't know them) and print them all to have in hand. So first I need good bible (specially free).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In fact I'm working in some aspects of planar graphs and some other types of graph which are near to them (like graphs with small genus), everyone know about filed has any suggestion (book, book chapter, Advise, ... ) I'll be happy to know it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also If you know any theorem or definition, I'll be happy to know it, and sure upvote it, because if there isn't good reference is good create one here.&lt;/p&gt;&#xA;" OwnerUserId="1846" LastEditorUserId="1800" LastEditDate="2011-03-14T01:28:13.643" LastActivityDate="2017-10-27T02:42:54.060" Title="Is there any good and free Introduction to topological graph theory" Tags="&lt;reference-request&gt;&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;survey&gt;&lt;topological-graph-theory&gt;" AnswerCount="3" CommentCount="3" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="5458" PostTypeId="2" ParentId="5456" CreationDate="2011-03-13T13:30:09.380" Score="5" Body="&lt;p&gt;For &lt;strong&gt;free&lt;/strong&gt; introductions, I would search for lecture notes on the subject. For example, the results of &lt;a href=&quot;http://www.google.com/search?q=%22topological+graph+theory%22+site%3aedu&quot;&gt;this search&lt;/a&gt; might help you.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You may also be interested in the following paper:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.28.1728&quot;&gt;Topological Graph Theory - A Survey&lt;/a&gt; by Cong. Num.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;This &lt;a href=&quot;http://www.cems.uvm.edu/~archdeac/papers/papers.html&quot;&gt;web page&lt;/a&gt; has links to two surveys on this topic, &lt;a href=&quot;http://www.cems.uvm.edu/~archdeac/papers/topgraph.ps&quot;&gt;one of which&lt;/a&gt; is less technical and &lt;a href=&quot;http://www.cems.uvm.edu/~archdeac/papers/survey.ps&quot;&gt;the other&lt;/a&gt; is more technical.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit 1:&lt;/strong&gt; @Saeed: Orientable surfaces are defined in the &quot;more technical&quot; paper linked above. It is also defined in &lt;a href=&quot;http://en.wikipedia.org/wiki/Orientability&quot;&gt;http://en.wikipedia.org/wiki/Orientability&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="873" LastEditorUserId="873" LastEditDate="2011-03-13T13:37:15.100" LastActivityDate="2011-03-13T13:37:15.100" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5459" PostTypeId="2" ParentId="5447" CreationDate="2011-03-13T13:57:50.573" Score="2" Body="&lt;p&gt;From my understanding in the first part of the question we bound the algorithm $ f(x,y) $ to a specific pseudorandom number generator $ r() $. &#xA;In this case the answer depends on the PRNG used. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider that $ r() $ is a Linear Congruential Generator (LCG) with known parameters. Then $ f(x,y) $ could simply test if&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$ y \equiv (a \cdot x + c) \mod{M} $ &lt;/p&gt;&#xA;&#xA;&lt;p&gt;and output &quot;pseudorandom&quot; if the equality holds. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This algorithm would always be correct if the input comes from $ r() $ and will fail to produce a correct result in case the input comes from $ q() $, if the two random numbers form a correct sequence for the LCG. If we consider 32 bit numbers then, because we have exactly one correct $y$ for each $x$, there are $ 2 ^{32} $ inputs for which the algorithm will output an incorrect result out of $ 2 ^{64} $ total possible inputs. So the error probability of the algorithm is $ 1 / 2^{32} $.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A similar algorithm could be used in the case of Mersenne twister. However because of the larger state of the generator, two consecutive outputs will not give any information, so a larger vector is needed ($n=625$ is enough). Note that &#xA;this technique will fail if the output of the generator hides its internal state (ex. with a cryptographically strong hash function).&lt;/p&gt;&#xA;" OwnerUserId="4242" LastEditorUserId="4242" LastEditDate="2011-03-13T15:10:54.020" LastActivityDate="2011-03-13T15:10:54.020" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="5460" PostTypeId="2" ParentId="4212" CreationDate="2011-03-13T14:09:35.743" Score="0" Body="&lt;p&gt;Finding the minimum spanning tree can be solved by using the greedy approach that is it looks for the best local optimal solution at a given point of time. Your problem should be extension of the minimum spanning tree. your doubt is that we get two different MST $T_{1}$ and $T_{2}$ of equal weight w. let $e_1$ be the edge with minimum weight $w_{1}$ to be added to form $1-tree_1$ from $T_1 $and $e_2$ be the edge with minimum weight $T_{1}$ to form $1-tree_2$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Claim:Weights of the $1-tree_{1}$ and $2-tree_{2}$ should be equal. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $e_{1},e_{2}..e_{i}$ are the edges that are picked by both $T_{1}$ and  T_{2} upto i iterations,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;case 1: In this process if there any edge $e_{z}$ with weight $w_{z} &amp;lt; w_{k}$  for any i=1,2..n is not choosen for MST then it means that it would have formed a cycle. so e_{z} will be the edge which would be added to MST to get a 1-tree. so both 1-trees will have same weight&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Case 2:if there is no such $e_{z}$ till ith iteration. say at i+1 iteration there make different choice say $e1_{i+1}$ and $e2_{i+1}$. Weights of both of them should be same, otherwise there wont be difference choice. now next edge $e2_{i+1}$ can be added to $T_{1}$ if it does not form as cycle, similarly $e1_{i+1}$ value for $T_{2}$. if they are added then T_{1} and T_{2} remains same till i+2 iteration, if not say addition of e_{i+1} forms a cycle then e2_{i+1} will be e_{z} for T_{1} and e1_{i+1} be the e_{z} for the T_{2}. so both 1-trees have same weight.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Please see whether it is clear.           &lt;/p&gt;&#xA;" OwnerUserId="851" LastActivityDate="2011-03-13T14:09:35.743" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5461" PostTypeId="2" ParentId="5447" CreationDate="2011-03-13T15:46:27.243" Score="4" Body="&lt;p&gt;If you just consider consecutive samples then, for most kinds of PRNGs the answer is that you can't distinguish them from true RNGs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you consider large input samples, then, in principle (if you don't take complexity issues into account), you can always distinguish a PRNG from true randomness:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For each PRNG $r$, seed length $L$ and starting point $x$ there exist a sample sequence length $k$ such that $f([r(seed, x),\ r(seed, x+1),\ \dots,\  r(seed, x+k-1)])\ =\ 1$ with certainty, and $f(\dots)\ =\ 0$ for any other sequence,&#xA;where $r(seed, n)$ is the n-th sample generated by the PRNG initialized with $seed$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If the PRNG has finitely many states, as it is the case with all the PRNGs commonly in use, then the sample sequence length $k$ is independent of the seed length and starting point.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The distinguishing algorithm $f(\cdot,\ \cdot)$ can be just a brute-force search that tries in order all possible initial states to check whether they produce the sample sequence. Of course, for large state spaces, this is unpractical.&#xA;Moreover, the output sequence of a finite-state PRNG is periodic or eventually becomes periodic, although the period can be very large.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The design goal of cryptographically-secure PRNGs is to ensure that no method substantially faster than brute-force search can be used to distinguish them from true RNGs. Currently, various PRNGs are believed to be cryptographically-secure, though no mathematical proof exists.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Cryptographically-insecure PRNGs like the Mersenne Twister can be easily distinguished from true RNGs by observing a relatively short sample sequence.&lt;/p&gt;&#xA;" OwnerUserId="1749" LastEditorUserId="1749" LastEditDate="2011-03-14T01:02:31.410" LastActivityDate="2011-03-14T01:02:31.410" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="5463" PostTypeId="1" AcceptedAnswerId="37295" CreationDate="2011-03-13T16:55:33.677" Score="54" ViewCount="3365" Body="&lt;p&gt;In &lt;em&gt;Descriptive Complexity&lt;/em&gt;, Immerman has&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Corollary 7.23.&lt;/strong&gt; The following conditions are equivalent:&lt;br&gt;&#xA;  &lt;strong&gt;1.&lt;/strong&gt; P = NP.&lt;br&gt;&#xA;  &lt;strong&gt;2.&lt;/strong&gt; Over finite, ordered structures, FO(LFP) = SO.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;This can be thought of as &quot;amplifying&quot; P=NP to an equivalent statement over (presumably) larger complexity classes.  Note that SO captures the polynomial-time hierarchy PH, and that FO(LFP) captures P, so this can be thought of as P=NP iff P=PH.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(The interesting part of this is the statement that P=NP implies P=PH; it is trivial that P=CC implies P=NP for any class CC that contains NP.  Immerman simply remarks &quot;if P=NP then PH=NP&quot;, presumably because P=NP can be used with the oracle definition of PH to show inductively that the whole hierarchy collapses.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;How much further can P=NP be amplified in this way?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;In particular, what is the largest known class CC' such that P=NP implies P=CC', and the smallest class CC such that P=NP implies CC=NP?  This would allow P=NP to be replaced by the equivalent question CC=CC'.  P appears to be a rather powerful class, which seems to provide little &quot;wiggle room&quot; for arguments trying to separate it from NP: how far can the wiggle room be amplified?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would of course also be interested in an argument that shows that P=PH is the limit of this approach.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Edit:&lt;/em&gt; note the closely related question &lt;a href=&quot;https://cstheory.stackexchange.com/questions/5399/why-doesnt-p-np-imply-p-ap-i-e-p-pspace&quot;&gt;Why doesn&amp;#39;t P=NP imply P=AP (i.e. P=PSPACE)?&lt;/a&gt; which focuses on the other direction, why we don't have proofs that P=PSPACE.  Answers there by Kaveh and Peter Shor argue that the number of alternations being fixed is key.  Another related question is &lt;a href=&quot;https://cstheory.stackexchange.com/questions/2032/a-decision-problem-which-is-not-known-to-be-in-ph-but-will-be-in-p-if-p-np&quot;&gt;A decision problem which is not known to be in PH but will be in P if P=NP&lt;/a&gt; which asks for a candidate problem; the answers there also can be used to construct answers for this question, although these classes are somewhat artificial (thanks to Tsuyoshi Ito for pointing this out).  In a more general setting, &lt;a href=&quot;https://cstheory.stackexchange.com/questions/465/collapsing-of-exptime-and-alternation-bounded-turing-machine&quot;&gt;Collapsing of exptime and alternation bounded turing machine&lt;/a&gt; asks whether a local collapse at any level in an alternation hierarchy induces an upward collapse, as happens with the polynomial-time hierarchy.&lt;/p&gt;&#xA;" OwnerUserId="109" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:30.623" LastActivityDate="2017-05-18T12:42:22.563" Title="Can one amplify P=NP beyond P=PH?" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;complexity-classes&gt;&lt;conditional-results&gt;&lt;polynomial-hierarchy&gt;" AnswerCount="2" CommentCount="11" FavoriteCount="13" ContentLicense="CC BY-SA 2.5" />
  <row Id="5464" PostTypeId="2" ParentId="5321" CreationDate="2011-03-13T17:58:41.137" Score="15" Body="&lt;p&gt;This isn't a full answer by any means, but it includes a result which may be useful and applies it to get some constraints on the case $n=4$ which limit the possible 5-gate solutions to 2500 easily enumerable cases.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First the general result: in any solution which permutes $n$ objects, there must be at least $n-1$ swaps which have probability $\frac{1}{2}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Proof: consider the permutation representation of the permutations of order $n$. These are the $n\times n$ matrices $A_\pi$ satisfying $(A_\pi)_{i,j} = [i = \pi(j)]$. Consider a swap between $i$ and $j$ with probability $p$: this has representation $(1-p)I + pA_{(i j)}$ (using cycle notation to represent the permutation). You can think of multiplication by this matrix in terms of representation theory or in Markov terms as applying the permutation $(i j)$ with probability $p$ and leaving things unchanged with probability $1-p$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The permutation network is therefore a chain of such matrix multiplications. We start with the identity matrix and the final result will be a matrix $U$ where $U_{i,j} = \frac{1}{n}$, so we are going from a matrix of rank $n$ to a matrix of rank $1$ by multiplications - i.e. the rank is decreasing by $n-1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Considering the rank of the matrices $(1-p)I + pA_{(i j)}$, then, we see that they're essentially identity matrices apart from a minor $\begin{pmatrix}1-p &amp;amp; p \\ p &amp;amp; 1-p\end{pmatrix}$, so they have full rank unless $p=\frac{1}{2}$, in which case they have rank $n-1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Applying Sylvester's matrix inequality we therefore find that each swap decreases the rank only if $p=\frac{1}{2}$, and when this condition is met it decreases it by no more than 1. Therefore we require at least $n-1$ swaps of probability $\frac{1}{2}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that this bound can't be tightened because Anthony Leverrier's network achieves it.&lt;/p&gt;&#xA;&#xA;&lt;hr /&gt;&#xA;&#xA;&lt;p&gt;Application to the case $n=4$. We already have solutions with 6 gates, so the question is whether solutions with 5 gates are possible. We now know that at least 3 of the gates must be 50/50 swaps, so we have two &quot;free&quot; probabilities, $p$ and $q$. There are 32 possible events (5 independent events each with two outcomes) and $4! = 24$ buckets each of which must contain at least one event. The events divide up as 8 with probability $\frac{pq}{8}$, 8 with probability $\frac{\overline{p}q}{8}$, 8 with probability $\frac{p\overline{q}}{8}$, and 8 with probability $\frac{\overline{p}\overline{q}}{8}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;32 events into 24 buckets with no empty buckets implies that at least 16 buckets contain precisely one event, so at least two of the four probabilities given above are equal to $\frac{1}{24}$. Taking symmetries into account we have two cases: $pq = \overline{p}q = \frac{1}{3}$ or $pq = \overline{p}\overline{q} = \frac{1}{3}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The first case gives $p=\overline{p}=\frac{1}{2}$, $q=\frac{2}{3}$ (&lt;strong&gt;correction&lt;/strong&gt; or $q=\frac{1}{3}$, unwinding the symmetry). The second case gives $pq=1-p-q+pq$, so $pq = p(1-p) = \frac{1}{3}$, which has no real solutions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Therefore if there is a 5-gate solution we have four gates with probability $\frac{1}{2}$ and one gate with probability either $\frac{1}{3}$ or $\frac{2}{3}$. Wlog the first swap is $0\leftrightarrow 1$, and the second is either $0\leftrightarrow 2$ or $2\leftrightarrow 3$; the other three each have (no more than) five possibilities, because there's no point doing the same swap twice in a row. So we have $2\times 5^3$ swap sequences to consider and 10 ways of assigning the probabilities, leading to 2500 cases which could be enumerated and tested mechanically.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Update: Yuval Filmus and I have both enumerated and tested the cases and found no solutions, so the optimal solution for $n=4$ involves 6 gates, and examples of 6-gate solutions are found in other answers.&lt;/p&gt;&#xA;" OwnerUserId="3131" LastEditorUserId="3131" LastEditDate="2015-01-30T17:59:18.773" LastActivityDate="2015-01-30T17:59:18.773" CommentCount="11" ContentLicense="CC BY-SA 3.0" />
  <row Id="5465" PostTypeId="2" ParentId="5446" CreationDate="2011-03-13T19:01:23.580" Score="16" Body="&lt;p&gt;This is a family of expander graphs: let $p$ be a prime, let the vertex set be $\{ 0,\ldots,p-1\}$, connect vertex $x$ to $x+ 1 \bmod p$, to $x-1 \bmod p$ and to $x^{-1} \bmod p$. Each such graph is a cycle, plus a matching over $p-3$ vertices. (The multiplicative inverse is undefined for $0$, and is the element itself for $p-1$ and $1$.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is a picture of what it looks like for $p=59$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/JaxgN.png&quot; alt=&quot;Simple expander&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is no known elementary proof that this a family of expanders, but the construction is very simple.&lt;/p&gt;&#xA;" OwnerUserId="1069" LastActivityDate="2011-03-13T19:01:23.580" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="5466" PostTypeId="2" ParentId="5447" CreationDate="2011-03-13T22:22:22.453" Score="3" Body="&lt;p&gt;Perhaps I misunderstand what you mean to ask here, but the answer seems to be trivial for the case of $f()$ with only two inputs consisting of consecutive calls to the random number generator, as described in the question. The answer depends purely on whether or not the function can be defined recursively. This is because the distribution of outputs of $f$ depends only on the coincidence probability of two numbers produced by the generator. In the case where $q(n) = g(q(n-1))$ for some function $g$, then trivially, the boolean function $f(v_1,v_2) = (v_2==g(v_1))$ returns 1 with unit probability when $v_1$ and $v_2$ are sequential calls to the PRNG. However, if these are chosen uniformly at random, then the function will only return 1 probability $1/N$, where $N$ is the number of possible choices for each number $v_i$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Trivially, you can extend this to non-uniform distributions. The probability of $f$ returning 1 for $v_1 = r(), v_2 = r()$ then is $\sum_{i=1}^{N} P(i) P(g(i)|i)$, where $P(i)$ is the probability of picking element $i$ in the distribution, and $P(j|i)$ is the probability of picking $j$ conditioned on the previous choice being $i$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In general (for potentially non-uniform distributions and non-recursively defined functions), the ability produce a function satisfying your requirements simply depends on whether or not $P_q(i) P_q(j|i) = P_r(i)P_r(j|i) \forall i,j$, where the the subscript denotes the function $r()$ or $q()$ used to generate the numbers when averaged over all time. You can easily use this to calculate the maximum probability of correctly identifying the function used.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Lastly, you mention extending beyond two calls of the function. This is essentially the same problem, except now you need to consider whether $P_q(i) P_q(j|i)...P_q(z|...|j|i) = P_r(i)P_r(j|i)...P_r(z|...|j|i)$. Here again taking the equality function will work for any PRNG for which $q(i+n) = g(q(i+1),...,q(i+n-1))$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course, if you allow a memory, then you can use preprocessing to determine the parameters of the PRNG, which changes the situation drastically. Whether the PRNG is known or unknown doesn't change whether or not f() exists, but simply how easy it is to infer it.&lt;/p&gt;&#xA;" OwnerUserId="204" LastEditorUserId="204" LastEditDate="2011-03-14T19:34:57.917" LastActivityDate="2011-03-14T19:34:57.917" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5467" PostTypeId="2" ParentId="5456" CreationDate="2011-03-14T03:14:44.160" Score="10" Body="&lt;p&gt;&lt;a href=&quot;http://compgeom.cs.uiuc.edu/~jeffe/teaching/comptop/schedule.html&quot; rel=&quot;noreferrer&quot;&gt;My lecture notes on computational topology&lt;/a&gt; include some basic material on topological graph theory.  They don't come anywhere close to the completeness of Archeacon's survey (or Giblin's book, Mohar and Thomassen's book, or Gross and Tucker's book), but you may still find them useful.  (Start with &quot;Curves on Surfaces&quot;.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you're a student, you may also find your local university library useful.  Most mathematics libraries have copies of all the books I mentioned, and they will actually let you borrow them for free, possibly for several months at a stretch.  Sadly, these books may only be available in a legacy format that is difficult to search and copy from, but hey, you get what you pay for.&lt;/p&gt;&#xA;" OwnerUserId="111" LastActivityDate="2011-03-14T03:14:44.160" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5468" PostTypeId="1" CreationDate="2011-03-14T03:54:27.643" Score="12" ViewCount="473" Body="&lt;p&gt;Let $x_1, \ldots, x_n$ be points in the plane $\mathbb{R}^2$. Consider a complete graph with the points as vertices and with edge weights of $\|x_i - x_j\|^2$. Can you always find a cut of weight that is at least $\frac 2 3$ of the total weight? If not, which constant should replace the $\frac 2 3$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The worst example I'm able to find is 3 points on an equilateral triangle, which achieves the $\frac 2 3$. Note that a random split would produce $\frac 1 2$, but it seems intuitively obvious that in low dimensions, one can cluster better than randomly.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What happens for max-k-cut for k &gt; 2? How about a dimension d &gt; 2? Is there a framework to answer such questions? I know about Cheeger's inequalities, but those apply to sparsest cut (not max-cut) and only work for regular graphs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Question is inspired by the problem of clustering light sources in computer graphics to minimize variance).&lt;/p&gt;&#xA;" OwnerUserId="4250" LastEditorUserId="186" LastEditDate="2011-03-14T12:24:48.877" LastActivityDate="2011-03-20T03:40:27.050" Title="Euclidean-squared max-cut in low dimensions" Tags="&lt;ds.algorithms&gt;&lt;graph-algorithms&gt;&lt;application-of-theory&gt;&lt;max-cut&gt;&lt;clustering&gt;" AnswerCount="2" CommentCount="8" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="5470" PostTypeId="1" AcceptedAnswerId="5489" CreationDate="2011-03-14T11:27:35.307" Score="2" ViewCount="908" Body="&lt;p&gt;I wrote a function that returns the position of a given subsequence in a sequence. However, I just realized that I used the term &quot;subsequence&quot; incorrectly: according to &lt;a href=&quot;http://en.wikipedia.org/wiki/Subsequence&quot; rel=&quot;nofollow&quot;&gt;Wikipedia&lt;/a&gt;, the elements of a subsequence don't need to be consecutive. But my function is actually looking for a &quot;subsequence of consecutive elements&quot;... is there a name for this notion? I thought of &lt;em&gt;substring&lt;/em&gt;, but it seems to imply a sequence of &lt;em&gt;characters&lt;/em&gt;, and my function is not specific to character strings..&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I realize it isn't a very critical issue, but I'd like to give my function an accurate name...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any idea would be appreciated !&lt;/p&gt;&#xA;" OwnerUserId="4251" LastActivityDate="2011-03-18T14:41:46.013" Title="How do you call a subsequence of consecutive elements ?" Tags="&lt;terminology&gt;" AnswerCount="4" CommentCount="15" ContentLicense="CC BY-SA 2.5" />
  <row Id="5472" PostTypeId="1" AcceptedAnswerId="5504" CreationDate="2011-03-14T13:05:44.983" Score="1" ViewCount="107" Body="&lt;p&gt;Is there a technique where a square grid is used to as a mesh for time dependent partial differential equations (PDEs) but which the points are permuted in such a way as to minimize error?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;e.g., instead of using the uniform coordinates (i,j,k) we would use (x[i,j,k], y[i,j,k], z[i,j,k]), where x, y, and z are lookup tables. As we evolve the PDE through time the points (x,y,z) are adjusted to minimize the total error.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This way we can have a constant number of points (say 10*10*10) but the grid points are adapted to maximize the approximations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;sc. Surely there are some meshes that are better than others in approximating the solution of a PDE. Changes are as we evolve the PDE through time the optimal mesh itself will evolve in a similar manner. In fact it at some points the direction to move a grid point may not be distinct in which case we could insert a new grid point.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Anyway, just curious about this concept. AFAIK finite element method (FEM) tend to be static in that they are based on the geometry. But maybe they do adapt the meshes based on the error produced as the PDE is evolved or maybe doing so is not very effective in the first place?&lt;/p&gt;&#xA;" OwnerUserId="4255" LastEditorUserId="1800" LastEditDate="2011-03-14T16:09:38.407" LastActivityDate="2011-03-15T09:20:08.140" Title="Adapted FEM mesh" Tags="&lt;ds.algorithms&gt;&lt;na.numerical-analysis&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="5473" PostTypeId="1" AcceptedAnswerId="5482" CreationDate="2011-03-14T15:44:23.100" Score="4" ViewCount="738" Body="&lt;p&gt;Feedback vertex set (FVS) problem is NP-complete for both undirected and directed graphs, and it is NP-complete even for bipartite graphs and tournaments.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there any special family of graphs other than trees for which FVS is solvable in polynomial time? I kindly request you to throw some light on it.&lt;/p&gt;&#xA;" OwnerUserId="851" LastEditorUserId="1800" LastEditDate="2011-03-14T16:00:52.433" LastActivityDate="2014-02-11T16:11:29.837" Title="Is feedback vertex set problem is solvable in polynomial time for some special graph" Tags="&lt;cc.complexity-theory&gt;&lt;graph-algorithms&gt;" AnswerCount="6" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="5474" PostTypeId="1" CreationDate="2011-03-14T16:18:35.957" Score="6" ViewCount="339" Body="&lt;p&gt;Let &lt;b&gt;C&lt;/b&gt; be a complexity class, and let &lt;i&gt;L&lt;/i&gt; be a language such that &lt;b&gt;P&lt;/b&gt;&lt;sup&gt;&lt;b&gt;C&lt;/b&gt;&lt;/sup&gt; &amp;sube; &lt;b&gt;P&lt;/b&gt;&lt;sup&gt;&lt;i&gt;L&lt;/i&gt;&lt;/sup&gt;. Then it’s natural (and easy to prove) that &lt;i&gt;L&lt;/i&gt; is &lt;b&gt;C&lt;/b&gt;-hard with respect to Cook reductions (polytime Turing reductions).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This fact is not (known to be) true for &lt;i&gt;Karp&lt;/i&gt; (polytime many-one) reductions: for instance, we have &lt;b&gt;P&lt;/b&gt;&lt;sup&gt;&lt;b&gt;NP&lt;/b&gt;&lt;/sup&gt; &amp;sube; &lt;b&gt;P&lt;/b&gt;&lt;sup&gt;UNSAT&lt;/sup&gt;, but UNSAT is not &lt;b&gt;NP&lt;/b&gt;-hard under Karp reductions (unless &lt;b&gt;NP&lt;/b&gt; = &lt;b&gt;coNP&lt;/b&gt;). On the other hand, most of the times we use Karp reductions to order problems by hardness, since they seem to provide a finer structure.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Are there some “natural” or “interesting” sufficient conditions for &lt;b&gt;P&lt;/b&gt;&lt;sup&gt;&lt;b&gt;C&lt;/b&gt;&lt;/sup&gt; &amp;sube; &lt;b&gt;P&lt;/b&gt;&lt;sup&gt;&lt;i&gt;L&lt;/i&gt;&lt;/sup&gt; to imply that &lt;i&gt;L&lt;/i&gt; is &lt;b&gt;C&lt;/b&gt;-hard under Karp reductions?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;If that implication held for all &lt;b&gt;C&lt;/b&gt; and &lt;i&gt;L&lt;/i&gt;, then the two notions of reducibility would coincide (see Tsuyoshi Ito’s comment below); I would be interested in knowing about any interesting class of problems where this happens, if any is known.&lt;/p&gt;&#xA;" OwnerUserId="182" LastEditorUserId="182" LastEditDate="2011-03-15T16:32:42.787" LastActivityDate="2011-03-15T16:32:42.787" Title="Oracle complexity classes and hardness under different notions of reduction" Tags="&lt;cc.complexity-theory&gt;&lt;reductions&gt;&lt;oracles&gt;" AnswerCount="0" CommentCount="5" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="5475" PostTypeId="1" CreationDate="2011-03-14T17:05:35.603" Score="10" ViewCount="486" Body="&lt;p&gt;I am interested in examples of constructions in the complexity theory which are better than a random constructions. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The only one example of such construction which I know is in the field of error-correcting codes. Algebraic-geometry codes are better in some range of parameters than a random codes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One can easily to construct such artificial examples. &#xA;I am interested in the examples like algebraic geometry codes, where it is easy make a random construction and it is not obvious how to do better. &lt;/p&gt;&#xA;" OwnerUserId="1821" LastEditorUserId="567" LastEditDate="2011-03-15T14:37:52.067" LastActivityDate="2011-03-17T19:11:56.617" Title="Constructions better than a random one." Tags="&lt;reference-request&gt;&lt;big-list&gt;&lt;derandomization&gt;&lt;pr.probability&gt;" AnswerCount="4" CommentCount="5" FavoriteCount="2" CommunityOwnedDate="2011-03-15T15:36:40.917" ContentLicense="CC BY-SA 2.5" />
  <row Id="5476" PostTypeId="2" ParentId="5475" CreationDate="2011-03-14T17:15:13.617" Score="11" Body="&lt;p&gt;Ramanujan graphs have second eigenvalue $\lambda_2\leq \frac{2\sqrt{D-1}}{D}$ (with $D$ the degree of the graph), while random graphs only achieve $\lambda_2\leq \frac{2\sqrt{D-1}}{D} + o(1)$ w.h.p. In fact, in general we have that $\lambda_2\geq \frac{2\sqrt{D-1}}{D} - o(1)$, with the $o(1)$ term going to $0$ with $D$ held constant (as the number of vertices $N\rightarrow \infty$), so in some sense these are optimal.&lt;/p&gt;&#xA;" OwnerUserId="3169" LastActivityDate="2011-03-14T17:15:13.617" CommentCount="0" CommunityOwnedDate="2011-03-15T15:36:40.917" ContentLicense="CC BY-SA 2.5" />
  <row Id="5477" PostTypeId="2" ParentId="5470" CreationDate="2011-03-14T17:33:29.507" Score="7" Body="&lt;p&gt;As I wrote in the comments, I'd call it a &lt;strong&gt;contiguous subsequence&lt;/strong&gt;.&lt;/p&gt;&#xA;" OwnerUserId="77" LastActivityDate="2011-03-14T17:33:29.507" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5479" PostTypeId="1" AcceptedAnswerId="5515" CreationDate="2011-03-14T17:49:03.470" Score="25" ViewCount="870" Body="&lt;p&gt;I formulated the following problem today while playing with my GPS. Here it is :&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $G(V,E)$ be a directed graph such that if $e=(u,v) \in E$ then $(v,u) \notin E$, i.e., $G$ is an orientation of the underlying undirected graph. Consider the following operations :&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$Flip(u,v)$ : Replace an edge $(u,v)$ with an edge $(v,u)$&lt;/li&gt;&#xA;&lt;li&gt;$undirect(u,v)$ : Make the edge $(u,v)$ undirected&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Let $s,t \in V$ be two special vertices. Consider the following optimization problems :&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Min-Flip st-connectivity : Given $G$ and two vertices $s,t$ find the minimum number of edges that need to be flipped to make a directed path from $s$ to $t$.&lt;/li&gt;&#xA;&lt;li&gt;Min-Flip strong-connectivity : Given $G$ find the minimum number of edges that need to be flipped to make $G$ strongly connected. If it is not possible to make $G$ strongly connected by flipping edges then output NO.&lt;/li&gt;&#xA;&lt;li&gt;Min-undirect strong-connectivity : Given $G$ find the minimum number of edges that need to be undirected to make $G$ strongly connected.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Note that you are not allowed to add &quot;new&quot; edges. You are only modifying the &lt;strong&gt;existing&lt;/strong&gt; edges using the above operations. Is this problem known in the literature. If so what are the known results ?&lt;/p&gt;&#xA;" OwnerUserId="344" LastEditorUserId="1800" LastEditDate="2011-03-15T05:30:01.973" LastActivityDate="2012-01-23T15:49:57.907" Title="Minimum Flip Connectivity Problem" Tags="&lt;ds.algorithms&gt;&lt;graph-algorithms&gt;" AnswerCount="5" CommentCount="7" FavoriteCount="7" ContentLicense="CC BY-SA 2.5" />
  <row Id="5481" PostTypeId="2" ParentId="5479" CreationDate="2011-03-14T19:51:22.783" Score="0" Body="&lt;p&gt;Min-Flip st-connectivity&#xA;Base :&#xA;calculate all the vertices that are reachable from s (T).&#xA;if t is in T stop.&#xA;Inductive :&#xA;consider all the vertices not in T that are adjacent to T &#xA;with one one flip and call this U.  Calculate the vertices&#xA;reachable from U call this V.  If t is V stop, otherwise&#xA;add V to T and continue.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Min-Flip strong-connectivity&#xA;You must mean undirect because you would have a problem with : &#xA;A -&gt; B&lt;/p&gt;&#xA;" OwnerDisplayName="user4261" LastActivityDate="2011-03-14T19:51:22.783" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5482" PostTypeId="2" ParentId="5473" CreationDate="2011-03-14T20:27:20.063" Score="6" Body="&lt;p&gt;&lt;a href=&quot;http://www2.research.att.com/~mgcr/doc/sfsp.pdf&quot; rel=&quot;nofollow&quot;&gt;According to Festa, Pardalos and Resende&lt;/a&gt; (link at the bottom of the Wikipedia page), the problem can be solved in polynomial time for various classes of graphs. At the risk of sounding harsh, I find parts of the text awkwardly unconvincing (e.g. &quot;... it returns an optimal solution in polynomial time for certain types of graphs&quot; without specifying which), but it might be an early draft that they put together in a rush. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Anyway, section 3.2 of that paper should help you find some leads.&lt;/p&gt;&#xA;" OwnerUserId="775" LastActivityDate="2011-03-14T20:27:20.063" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5483" PostTypeId="2" ParentId="5479" CreationDate="2011-03-14T20:39:26.863" Score="20" Body="&lt;p&gt;This is an answer for the first problem:&lt;br&gt;&#xA;Consider a new weighted graph $G&amp;#39;=(V,E&amp;#39;)$, where $E&amp;#39;=\{(u,v,0)|(u,v) \in E\} \cup \{(v,u,1)|(u,v)\in E \}$ (weights of all edges that are in $G$ are 0, and weights of 'reversed' edges are 1). Now You just have to find the shortest path from $s$ to $t$.&lt;/p&gt;&#xA;" OwnerUserId="1899" LastEditorUserId="1899" LastEditDate="2011-03-14T21:43:45.530" LastActivityDate="2011-03-14T21:43:45.530" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5484" PostTypeId="2" ParentId="5473" CreationDate="2011-03-14T20:40:50.123" Score="10" Body="&lt;p&gt;Surely the problem is polytime for graphs of bounded treewidth via dynamic programming.&lt;/p&gt;&#xA;" OwnerUserId="1929" LastActivityDate="2011-03-14T20:40:50.123" CommentCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="5485" PostTypeId="2" ParentId="5313" CreationDate="2011-03-14T20:44:10.003" Score="13" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;Question 1: Can I write a function &lt;span class=&quot;math-container&quot;&gt;$f$&lt;/span&gt; with the type&#xA;  &lt;span class=&quot;math-container&quot;&gt;$\forall\alpha,\;(\alpha\to\alpha\to\mathbb{B})\to(\alpha\to t)$&lt;/span&gt;&#xA;  such that &lt;span class=&quot;math-container&quot;&gt;$f\;e$&lt;/span&gt; is an injection for&#xA;  all equivalence relations &lt;span class=&quot;math-container&quot;&gt;$e$&lt;/span&gt;?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The answer is negative. Neel Krishnaswami noticed that &lt;span class=&quot;math-container&quot;&gt;$f\;(=_{t'})$&lt;/span&gt; is an injection only if &lt;span class=&quot;math-container&quot;&gt;$|t'|\le|t|$&lt;/span&gt;, which is not the case when &lt;span class=&quot;math-container&quot;&gt;$t'$&lt;/span&gt; is &lt;span class=&quot;math-container&quot;&gt;$t\to\mathbb{B}$&lt;/span&gt;. Tsuyoshi Ito noticed that an even stronger statment must be true: &lt;span class=&quot;math-container&quot;&gt;$f\;e$&lt;/span&gt; is a constant function.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is a proof that was shown to me by Rasmus Petersen. Go to the &lt;a href=&quot;http://www-ps.iai.uni-bonn.de/cgi-bin/free-theorems-webui.cgi&quot; rel=&quot;nofollow noreferrer&quot;&gt;free theorem generator&lt;/a&gt; and type in &quot;(a-&gt;a-&gt;Bool)-&gt;(a-&gt;Integer)&quot;. (The last type is &lt;code&gt;Integer&lt;/code&gt; instead of &lt;span class=&quot;math-container&quot;&gt;$t$&lt;/span&gt; so that the website knows that it is a type, not a type variable.) The free theorem for this type is &lt;span class=&quot;math-container&quot;&gt;$$\forall t\,t'\,\forall R\,\forall p\,p',\;\bigl(\forall (x,x')\,(y,y'),\;p\;x\;y=p'\;x'\;y'\bigr)\Rightarrow\bigl(\forall (x,x'),\;f\;p\;x=f\;p'\;x'\bigr).$$&lt;/span&gt; Here, &lt;span class=&quot;math-container&quot;&gt;$t$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$t'$&lt;/span&gt; are types; &lt;span class=&quot;math-container&quot;&gt;$R$&lt;/span&gt; is a relation on these types; (in our case) &lt;span class=&quot;math-container&quot;&gt;$p$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$p'$&lt;/span&gt; are equivalence relations on &lt;span class=&quot;math-container&quot;&gt;$t$&lt;/span&gt; and, respectively, &lt;span class=&quot;math-container&quot;&gt;$t'$&lt;/span&gt;; and we have &lt;span class=&quot;math-container&quot;&gt;$xRx'$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$yRy'$&lt;/span&gt;. We now pick a relation &lt;span class=&quot;math-container&quot;&gt;$R$&lt;/span&gt; such that the premise is satisfied and the right hand side of the conclusion reduces to a constant: &lt;span class=&quot;math-container&quot;&gt;$R=\{(x,())\}$&lt;/span&gt;, where &lt;span class=&quot;math-container&quot;&gt;$x$&lt;/span&gt; is some fixed but arbitrary element of &lt;span class=&quot;math-container&quot;&gt;$t$&lt;/span&gt;, and &lt;span class=&quot;math-container&quot;&gt;$t'=\mathbb{U}=\{()\}$&lt;/span&gt; is the unit type. &lt;span class=&quot;math-container&quot;&gt;$$f\;p\;x=f\;(=_\mathbb{U})\;()$$&lt;/span&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Q.E.D. The &lt;a href=&quot;https://drive.google.com/open?id=1XdMeWP2Pp6PgJeUNWsIWh2Cyi2Xxj-94&quot; rel=&quot;nofollow noreferrer&quot;&gt;notes&lt;/a&gt; I posted in a comment contain a longer proof, and more explanations.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Question 2: Can I implement it if &lt;span class=&quot;math-container&quot;&gt;$f$&lt;/span&gt;&#xA;  keeps some state?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Neel's observation still holds. You can't.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Question 3: Huh? But I &lt;em&gt;did&lt;/em&gt; implement&#xA;  a version that works slow!&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;First, I believe your implementation is &lt;em&gt;not&lt;/em&gt; polymorphic.&#xA;Second, and more important, even if there is no injection from &lt;span class=&quot;math-container&quot;&gt;$\mathbb{Z}\to\mathbb{B}$&lt;/span&gt; to &lt;span class=&quot;math-container&quot;&gt;$\mathbb{Z}$&lt;/span&gt;, there is one from the elements of &lt;span class=&quot;math-container&quot;&gt;$\mathbb{Z}\to\mathbb{B}$&lt;/span&gt; that your program constructs in some finite time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(If you give up polymorphism but not state, then there is a way to find a counterexample to any potential implementation. I learned this from Paulo Oliva, but I don't know how yet.)&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Question 4: That's all good and&#xA;  theoretical. Can you also tell me&#xA;  something actually helps me write my&#xA;  program?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;After all those impossibility results, I think it's reasonable to settle for the question: &quot;How do I implement a hash function without collisions for some given type &lt;span class=&quot;math-container&quot;&gt;$t$&lt;/span&gt;?'' The standard solution is &lt;a href=&quot;http://www.google.com/search?q=hash-consing&quot; rel=&quot;nofollow noreferrer&quot;&gt;hash-consing&lt;/a&gt;, a technique first described by Ershov in 1957 (in Russian, and in 1958 in English) that should be much better known than it is.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If the equivalence relation is (reference) equality, then there is a very simple hash: Just take the address of the object. So we can recast the problem as follows: &quot;How do we ensure that we build at most one element from each equivalence class?&quot; Let's use structural equality as equivalence relation. If we want to build an object whose parts are &lt;span class=&quot;math-container&quot;&gt;$x_1,\ldots,x_n$&lt;/span&gt; we call &lt;span class=&quot;math-container&quot;&gt;$\mathit{mk}\;x_1\ldots x_n$&lt;/span&gt;. In that function, we first lookup the tuple &lt;span class=&quot;math-container&quot;&gt;$(x_1,\ldots,x_n)$&lt;/span&gt; in a dictionary and, if a value is found, we return it. (Since &lt;span class=&quot;math-container&quot;&gt;$x_1,\ldots,x_n$&lt;/span&gt; were built before, they are class representatives.) Otherwise, we construct a new data structure.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For a different equivalence relation you need to adapt hash-consing, exploiting properties of your particular equivalence.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The implementation is a bit trickier than this description might suggest. Some (hidden) test data is &lt;a href=&quot;https://www.spoj.pl/problems/ASCIRC/&quot; rel=&quot;nofollow noreferrer&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;PS: I mentioned some people from which I learned some parts of the answer. Naturally, if those parts are wrong, it is likely I misunderstood what I've been told.&lt;/p&gt;&#xA;" OwnerUserId="236" LastEditorUserId="236" LastEditDate="2019-11-27T16:32:48.583" LastActivityDate="2019-11-27T16:32:48.583" CommentCount="0" ContentLicense="CC BY-SA 4.0" />
  <row Id="5486" PostTypeId="2" ParentId="5473" CreationDate="2011-03-14T21:56:55.597" Score="6" Body="&lt;p&gt;Kratsch, Müller and Todinca gave a polynomial-time algorithm for AT-free graphs.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;D. Kratsch, H. Müller and I. Todinca. Feedback vertex set on AT-free graphs, Discrete Applied Mathematics 156 (2008) pp. 1936-1947. &lt;a href=&quot;http://dx.doi.org/10.1016/j.dam.2007.10.006&quot;&gt;http://dx.doi.org/10.1016/j.dam.2007.10.006&lt;/a&gt; (or &lt;a href=&quot;http://lita.sciences.univ-metz.fr/~kratsch/publications/fvsATfree.pdf&quot;&gt;http://lita.sciences.univ-metz.fr/~kratsch/publications/fvsATfree.pdf&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="2955" LastActivityDate="2011-03-14T21:56:55.597" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5487" PostTypeId="1" CreationDate="2011-03-14T21:59:14.797" Score="3" ViewCount="594" Body="&lt;p&gt;This is another question related to the (still open) nice question &quot;&lt;a href=&quot;https://cstheory.stackexchange.com/questions/4928/alphabet-of-single-tape-turing-machine&quot;&gt;Alphabet of single-tape Turing machine&lt;/a&gt;&quot; by Emanuele Viola. I describe the question very informally (perhaps it has a trivial solution, so I will delete it).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Idea&lt;/em&gt;: build a TM that sweeps the input tape from left to right, and right to left &quot;adding&quot; to each symbol an incremental value (and trying to use all available symbols).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $\Sigma_4 = \{.,0,1,2\}$ be a 4 symbols alphabet.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We map each pair of symbols to an integer according to the following table:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;00-&amp;gt;0    10-&amp;gt;4    20-&amp;gt;8    .0-&amp;gt;12&#xA;01-&amp;gt;1    11-&amp;gt;5    21-&amp;gt;9    .1-&amp;gt;13&#xA;02-&amp;gt;2    12-&amp;gt;6    22-&amp;gt;10   .2-&amp;gt;14&#xA;0.-&amp;gt;3    1.-&amp;gt;7    2.-&amp;gt;11      &#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Informally, the dot &quot;.&quot; is used like the symbol &quot;$3$&quot;. So, we can encode an integer in [0..14] using two symbols. The pair &quot;$..$&quot; will be used as a separator.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We informally define a function that &quot;sweeps&quot; the input from left to right - processing &lt;strong&gt;2 symbols at once&lt;/strong&gt; - and adds the last integer written on the tape to the current one &lt;strong&gt;modulo 15&lt;/strong&gt;. For example (&lt;strong&gt;left-right sweep&lt;/strong&gt;):&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;&amp;gt;01  00  11  01  10  11   Decoded: &amp;gt;1  0  5  1   4  5&#xA; 01 &amp;gt;00  11  01  10  11            [1  0] 5  1   4  5&#xA; 01  01 &amp;gt;11  01  10  11             1 [1  5] 1   4  5&#xA; 01  01  12 &amp;gt;01  10  11             1  1 [6  1]  4  5&#xA; 01  01  12  13 &amp;gt;10  11             1  1  6 [7   4] 5&#xA; 01  01  12  13  2. &amp;gt;11             1  1  6  7 [11  5]&#xA; 01  01  12  13  2.  11             1  1  6  7  11  1 &#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Then it do the same thing from right to left (&lt;strong&gt;right-left sweep&lt;/strong&gt;):&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt; 01  01  12  13  2.  11&amp;lt;   Decoded: 1  1   6  7  11  1&amp;lt;&#xA; 01  01  12  13  2.&amp;lt; 11             1  1   6  7 [11  1]&#xA; 01  01  12  13&amp;lt; .0  11             1  1   6 [7  12] 1&#xA; 01  01  12&amp;lt; 10  .0  11             1  1  [6  4] 12  1&#xA; 01  01&amp;lt; 22  10  .0  11             1 [1  10] 4  12  1&#xA; 01&amp;lt; 2.  22  10  .0  11            [1 11] 10  4  12  1&#xA; .0  2.  22  10  .0  11            12 11  10  4  12  1&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Now we define:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\displaylines{ L = \{ x \in \{0,1\}^* \, s.t. \, |x| = 2^k \text{ and after } k \text{ left-right + right-left sweeps} \cr \text{ the tape contains the same number of 1s and 2s } \} } $&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$L$ can be recognized by a TM using alphabet $\Sigma_4$ in $O(N \log{N})$ :&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;check the length of the input string ($|x|=2^k$) and store $k$ in unary format on the left,&lt;/li&gt;&#xA;&lt;li&gt;make $k$ left-right, right-left sweeps&lt;/li&gt;&#xA;&lt;li&gt;compare the number of 1s and 2s using the usual $O(N \log{N})$ technique&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;blockquote&gt;Can we build a Turing machine TM3 that uses only 3 symbols $\Sigma_3 = \{.,1,2\}$ and recognizes $L$ in $O(N \log{N})$ ?&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Steps 1 and 3 can be performed by a 3-symbols TM (&lt;a href=&quot;https://cstheory.stackexchange.com/questions/5279/is-this-language-recognizable-by-a-3-symbols-tm-in-on-log-n&quot;&gt;see my previous question for details&lt;/a&gt;). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;But step 2 seems to add &quot;more information&quot; and the extra symbol $2$ cannot be stored by TM3, so it must expand the input (and the resulting time complexity is $O(N^2)$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I say &quot;more information&quot; because the value of each pair of symbols (at the end of the sweeps) depends on $k$ and on the number of 1s in the original input tape (at both sides).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Furthermore the bookkeeping tecnique (using the &quot;.&quot; symbol) seems not to work in this case because the symbol itself is used in the encoding during the sweeps.&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2011-03-15T03:21:18.050" Title="Another weird $O(N \log{N})$ Turing machine" Tags="&lt;computability&gt;&lt;turing-machines&gt;&lt;time-complexity&gt;" AnswerCount="0" CommentCount="6" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="5488" PostTypeId="2" ParentId="5473" CreationDate="2011-03-14T22:26:40.737" Score="3" Body="&lt;p&gt;&lt;strong&gt;EDIT:&lt;/strong&gt; The answer below seems to be incorrect, as I seem to have read the results of the paper (mentioned below) too superficially. &lt;strong&gt;:EDIT&lt;/strong&gt; &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If I understood correctly, the following paper shows (among other things) that FVS is solvable in polynomial time on graphs of maximum degree at most 3:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Cao, Yixin; Chen, Jianer; Liu, Yang (2010), &lt;a href=&quot;http://arxiv.org/pdf/1004.1672v1&quot; rel=&quot;nofollow&quot;&gt; On Feedback Vertex Set: New&#xA;Measure and New Structures&lt;/a&gt; in Kaplan, Haim, &quot;SWAT 2010&quot;, LNCS 6139: 93–104.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Outline&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;They study a slightly more general problem, namely DISJOINT-FVS, where in&#xA;addition to the parameters of FVS, two certain vertex sets V_1 and V_2 are&#xA;given. For details, see the paper. Then, ordinary FVS instances are a special&#xA;case of DISJOINT FVS instances where the given set V_2 equals the entire vertex&#xA;set, and V_2 is empty. They show roughly the following: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;a) DISJOINT FVS can be reduced to DISJOINT FVS on graphs of minimum degree at&#xA;least 3 without increasing the maximum degree.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;b) On 3-regular graphs, DISJOINT FVS instance can be solved in polynomial time. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Together, these two results show that FVS on graphs of maximum outdegree 3 can&#xA;be solved in polynomial time. Beware that I have not read the paper very&#xA;thoroughly, and may have misunderstood or misstated something, or even everything. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Technical details:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;a) This is oversimplified. Only the maximum degree in the graph induced by V_1&#xA;is not increased.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;b) Also oversimplified. If the graph induced by V_1 is 3-regular, then this&#xA;DISJOINT FVS instance can be solved in polynomial time. &lt;/p&gt;&#xA;" OwnerUserId="2367" LastEditorUserId="2367" LastEditDate="2012-06-07T20:05:58.927" LastActivityDate="2012-06-07T20:05:58.927" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="5489" PostTypeId="2" ParentId="5470" CreationDate="2011-03-14T22:28:32.810" Score="9" Body="&lt;p&gt;In programming languages and libraries, it is usually called either a &lt;strong&gt;substring&lt;/strong&gt; or a &lt;strong&gt;slice&lt;/strong&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The former term is ubiquitous, and I would not mind using it even if your &quot;characters&quot; are a bit weird.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The latter term is neutral in the sense that it does not refer to strings. See &lt;a href=&quot;http://en.wikipedia.org/wiki/Array_slicing&quot; rel=&quot;noreferrer&quot;&gt;array slicing in Wikipedia&lt;/a&gt; for more information and examples.&lt;/p&gt;&#xA;" OwnerUserId="74" LastEditorUserId="74" LastEditDate="2011-03-14T22:35:40.650" LastActivityDate="2011-03-14T22:35:40.650" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5490" PostTypeId="2" ParentId="5470" CreationDate="2011-03-14T22:55:24.673" Score="6" Body="&lt;p&gt;I suggest the term &lt;strong&gt;segment&lt;/strong&gt;. &lt;/p&gt;&#xA;" OwnerUserId="1060" LastActivityDate="2011-03-14T22:55:24.673" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5491" PostTypeId="2" ParentId="5475" CreationDate="2011-03-15T00:27:56.873" Score="10" Body="&lt;p&gt;There is Behrend's construction of a large subset of $\{ 1,\ldots,N \}$ that contains no three elements in arithmetic progression (abbreviated 3AP-free). A random subset of $\{ 1,\ldots,N\}$ of size, say $N^{0.9}$ will contain lots of length-3 arithmetic progressions, but Behrend constructs a 3AP-free set of size $N^{1-o(1)}$.&lt;/p&gt;&#xA;" OwnerUserId="1069" LastActivityDate="2011-03-15T00:27:56.873" CommentCount="0" CommunityOwnedDate="2011-03-15T15:36:40.917" ContentLicense="CC BY-SA 2.5" />
  <row Id="5492" PostTypeId="1" AcceptedAnswerId="5514" CreationDate="2011-03-15T02:21:27.177" Score="12" ViewCount="1216" Body="&lt;p&gt;Consider the following problem,&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Given a set of $n = k m$ positive&#xA;numbers $\{ a_1, \dots, a_n \}$ in&#xA;which $k \ge 3$ is a constant, we&#xA;want to partition the set into $m$&#xA;subsets  of size $k$ so that the product of the&#xA;sum of each subset is maximized.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The problem is quite similar to the well known $m$-way number partitioning except we have a limit on the number of numbers in each partition. &#xA;For $k = 2$ the following simple polynomial algorithm can be proposed,&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;assume the numbers are sorted, i.e.&#xA;$a_1&amp;lt;a_2&amp;lt;...&amp;lt;a_n$. Then, for $i≤m$ assign $a_i$&#xA;to the subset $i$, for $i&amp;gt;m$, assign it&#xA;to the subset $n−i+1$. &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;It's not hard to see why the algorithm works. Just pick two arbitrary bins. Any swap in the numbers will not increase the amount of the product.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But for larger $k$'s, I'm wondered if the problem can be solved in polynomial time or not? I'd be also thankful if somebody can show it's np-hardness.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note: I encountered the problem while I was working on a scheduling problem in wireless networks. I found a good heuristic algorithm to solve the problem. But after a while I thought the problem might be theoretically interesting.&lt;/p&gt;&#xA;" OwnerUserId="4264" LastEditorUserId="4264" LastEditDate="2011-03-15T03:51:34.227" LastActivityDate="2011-03-15T20:47:55.670" Title="NP-hardness of a special case of Number Partitioning" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;&lt;application-of-theory&gt;&lt;polynomial-time&gt;" AnswerCount="1" CommentCount="17" FavoriteCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="5493" PostTypeId="1" CreationDate="2011-03-15T02:56:11.363" Score="0" ViewCount="879" Body="&lt;p&gt;As of now I am feeling terrible because I have spent the past 10 hours trying to understand this paper titled &quot;Protection in Operating Systems&quot; by Harrison, Ruzzo and Ullman. At this point, any help whether it is asking me to read some other paper or some kind of an explanation is good for me. As this paper is a landmark paper, I wanted to make sure I understand it thoroughly and I did until the paper states the following theorem on Page 7:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;THEOREM 1:&lt;/strong&gt; There is an algorithm which decides&#xA;  whether or not a given&#xA;  mono-operational protection system and&#xA;  initial configuration is unsafe for a&#xA;  given generic right r.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I do not understand the gist of the proof. I have tried looking at lecture notes from every possible class website but apparently everyone skipped this part and just mention the theorem statement as if it were an axiom. Maybe it is obvious to everyone but somehow I am missing the big picture: What is the theorem trying to accomplish?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Specifically, following are the questions that I have been getting over and over again:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;PROOF: The proof hinges on two simple observations.  First, commands can test&#xA;  for the presence of rights, but not&#xA;  for the absence of rights or objects.&#xA;  This allows delete and destroy&#xA;  commands to be removed from&#xA;  computations leading to a leak.&#xA;  Second, a command can only identify&#xA;  objects by the rights in their row and&#xA;  column of a access matrix....&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Why are these observations important? And how does the first statement allow for the removal of delete and destroy commands? I understand that these do not lead to a leak but how is this sentence derived (or implied) by the first?&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Suppose &lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;$(*) Q_0 \vdash_{c_{1}} Q_1&#xD;&#xA;&amp;gt; \vdash_{c_{2}} ... \vdash_{c_{m}} Q_m$&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;is a minimal length computation&#xA;  reaching some configuration $Q_m$ for&#xA;  which there is a command $\alpha$&#xA;  leaking $r$. Let $Q_i =&#xD;&#xA;&amp;gt; (S_i,O_i,P_i).$ Now we claim that&#xA;  $C_i$, $2 \leq i \leq m$ is an enter&#xA;  command, and $C_1$ is either an enter&#xA;  or create subject command.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;This is good until the following sentence immediately after the above sentence:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Suppose not, and let $C_n$ be the last non-enter command in the sequence (*). Then we could form a shorter computation as follows...&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;And I am lost. Can someone please give me an intuitive explanation of this proof?&lt;/p&gt;&#xA;" OwnerUserId="4265" LastEditorUserId="4265" LastEditDate="2011-03-15T03:23:44.147" LastActivityDate="2011-03-15T03:23:44.147" Title="Understanding the HRU Model (Protection in Operating Systems)" Tags="&lt;ds.algorithms&gt;&lt;computability&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="5495" PostTypeId="5" CreationDate="2011-03-15T03:43:53.943" Score="0" Body="&lt;p&gt;Use this tag if the question is motivated by an application outside theoretical computer science.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The &lt;em&gt;research-level&lt;/em&gt; requirement is generally more relaxed for application-of-theory questions, but the OP is usually expected to provide some background information about the application as a motivation for the question.&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2011-04-01T21:52:08.243" LastActivityDate="2011-04-01T21:52:08.243" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5496" PostTypeId="4" CreationDate="2011-03-15T03:43:53.943" Score="0" Body="Questions arising from applications of theoretical computer science in other areas of computer science research/practice or other subjects." OwnerUserId="186" LastEditorUserId="77" LastEditDate="2012-09-20T06:16:32.623" LastActivityDate="2012-09-20T06:16:32.623" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="5497" PostTypeId="5" CreationDate="2011-03-15T04:37:25.427" Score="0" Body="&lt;p&gt;Use if the question will not have an answer to be accepted but the answers will be a list of items, e.g. &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&quot;&lt;a href=&quot;http://cstheory.stackexchange.com/questions/1168/what-papers-should-everyone-read&quot;&gt;what papers should everyone read?&lt;/a&gt;&quot;, &lt;/li&gt;&#xA;&lt;li&gt;&quot;&lt;a href=&quot;http://cstheory.stackexchange.com/questions/174/major-unsolved-problems-in-theoretical-computer-science&quot;&gt;What are the major unsolved problems in theoretical computer science?&lt;/a&gt;&quot;, &lt;/li&gt;&#xA;&lt;li&gt;&quot;&lt;a href=&quot;http://cstheory.stackexchange.com/questions/121/using-error-correcting-codes-in-theory&quot;&gt;What are the uses of error-correcting codes in theory?&lt;/a&gt;&quot;. &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;See the questions tagged with &lt;a href=&quot;/questions/tagged/big-list&quot; class=&quot;post-tag&quot; title=&quot;show questions tagged 'big-list'&quot; rel=&quot;tag&quot;&gt;big-list&lt;/a&gt; for more examples.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is also common (but not always necessary) to make a &lt;a href=&quot;/questions/tagged/big-list&quot; class=&quot;post-tag&quot; title=&quot;show questions tagged 'big-list'&quot; rel=&quot;tag&quot;&gt;big-list&lt;/a&gt; question a Community Wiki.&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2011-03-16T04:15:20.187" LastActivityDate="2011-03-16T04:15:20.187" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5498" PostTypeId="4" CreationDate="2011-03-15T04:37:25.427" Score="0" Body="Questions whose answers are a big list of items (books, theorems, software, ...)" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2011-03-15T04:37:25.427" LastActivityDate="2011-03-15T04:37:25.427" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5500" PostTypeId="2" ParentId="5479" CreationDate="2011-03-15T07:18:35.767" Score="3" Body="&lt;p&gt;Min-Flip s-t connectivity is NL-complete if you phrase the decision problem as &quot;Is there an s-t path which requires flipping at most $k$ edges?&quot;. It's NL-hard because it contains s-t connectivity as a special case for $k=0$, and it's in NL because you can guess a path from $s$ to $t$ that uses some flipped edges and traverse it one edge at a time, keeping a counter to ensure that no more than $k$ edges are traversed backward.&lt;/p&gt;&#xA;" OwnerUserId="1560" LastActivityDate="2011-03-15T07:18:35.767" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5501" PostTypeId="2" ParentId="5468" CreationDate="2011-03-15T07:38:35.597" Score="7" Body="&lt;p&gt;The constant does tend to 1/2 as the dimension increases. In d dimensions, you can have d+1 points at distance one from each other, so the the sum of distance-squared is ${d+1 \choose 2}$ and the maximum cut is at most $(d+1)^2/4$, which is a $\frac 12 \cdot \frac {d+1}{d}$ fraction of the total weight&lt;/p&gt;&#xA;" OwnerUserId="1069" LastActivityDate="2011-03-15T07:38:35.597" CommentCount="14" ContentLicense="CC BY-SA 2.5" />
  <row Id="5502" PostTypeId="1" AcceptedAnswerId="5506" CreationDate="2011-03-15T08:18:14.457" Score="2" ViewCount="807" Body="&lt;p&gt;I have a problem where mentors need to paired with courses, this is similar to the marriage problem or the hospitals/residents problem except that it isn't. The current solution is terribly written and needs to be expanded, plus it's a monte-carlo algorithm. I want to change it to something deterministic&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(I'm using weird terminology with &quot;mentor&quot; because my university is &lt;a href=&quot;http://www.pdx.edu/unst/&quot; rel=&quot;nofollow&quot;&gt;weird&lt;/a&gt; think of a mentor as a T.A.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Courses don't &quot;care&quot; which mentor is assigned.&#xA;All courses must be assigned a mentor.&#xA;All mentors must be assigned one course.&#xA;No mentor may be assigned to more than 2 courses.&#xA;A mentor may not be assigned 2 courses with identical or overlapping time-slots.&#xA;Courses have 3 attributes:&#xA;time-slots (may be web-only or hybrid web/classroom)&#xA;theme&#xA;professor&#xA;faculty and/or time-slot may be TBD (too be decided)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Mentors are asked a series of questions:&#xA;rank your top 5 time-slots&#xA;rate (weight) the value of various themes from 1-7 or dont' care (don't care is the same as a 4 in the current algorithm)&#xA;rate (weight) faculty you'd like to work with from 1-7 or don't care (don't care is the same as a 4 as above)&#xA;Are you willing to mentor two courses? yes/no&#xA;Are you willing to mentor an online or hybrid course? yes/no&#xA;Are you trained to mentor an online/hybrid course.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Current system assigns a &quot;score&quot; to each assignment using the questions above and tries to minimize the score.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;When combining assignments into a schedule, no extra weightings are added. However, some schedules are considered invalid (as above): assigning a mentor to more than 2 courses or more than 1 if they didn't select &quot;yes&quot; to &quot;I'm willing to mentor 2 courses&quot; and time-slots aren't allowed to overlap.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More complications/edge cases:&#xA;certain mentors may be pre-assigned courses. This doesn't take the mentor out of the running but it does take the course out. A mentor may be assigned to multiple courses, so there first one might be pre-assigned, but there second one cannot.&#xA;Also, some mentors are &quot;owned&quot; by a certain department, and so may only be allowed to teach &quot;urban studies&quot; courses.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thoughts on an algorithm I should use?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit: for clarity and to answer some questions.&#xA;The current solution (monte-carlo) has a function that generates a cost based on your options 1st choice is 0.0 cost, 2nd choice is .33, etc. 7th choice is 4.0. Then the weights for all parameters are summed and the algorithm has to optimize for the lowest score. There are also some other parameters like untrained (0.0 if web and trained, +2.0 to cost if web course and untrained, +2.0 to cost if unwilling to teach web course and web course)&lt;/p&gt;&#xA;" OwnerUserId="4269" LastEditorUserId="4269" LastEditDate="2011-03-17T04:21:13.780" LastActivityDate="2011-03-17T04:21:13.780" Title="Suggestions on a matching/scheduling algorithm." Tags="&lt;ds.algorithms&gt;&lt;application-of-theory&gt;" AnswerCount="2" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="5503" PostTypeId="1" CreationDate="2011-03-15T08:41:14.620" Score="0" ViewCount="86" Body="&lt;p&gt;Context: Boneh &amp;amp; Boyen devised a transformation for these class of signatures which increases the security to stronger notion of unforgeability. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It would be nice if it is an example. Thanks!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Reference Paper: &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.78.7439&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;nofollow&quot;&gt; Strongly Unforgeable Signature based on CDH assumption &lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="4385" LastEditorUserId="4385" LastEditDate="2011-03-15T09:50:42.440" LastActivityDate="2011-03-15T09:50:42.440" Title="What is the meaning Partitioned Signatures?" Tags="&lt;cr.crypto-security&gt;" AnswerCount="0" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="5504" PostTypeId="2" ParentId="5472" CreationDate="2011-03-15T09:20:08.140" Score="5" Body="&lt;p&gt;What follows is not quite an answer but some terminology to start the search ...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;While the basic finite element methods are indeed static, many of the mature implementations are &lt;em&gt;adaptive&lt;/em&gt; which means that the mesh adapts in order to minimize the error. The kind of adaptation you describe, where the mesh is evolving in tandem with the solution, is called &lt;em&gt;moving mesh&lt;/em&gt; or &lt;em&gt;r-adaptive&lt;/em&gt; finite elements. &lt;/p&gt;&#xA;" OwnerUserId="4272" LastActivityDate="2011-03-15T09:20:08.140" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="5505" PostTypeId="1" AcceptedAnswerId="5522" CreationDate="2011-03-15T12:55:57.810" Score="0" ViewCount="522" Body="&lt;p&gt;I have been thinking about Pspace in conjunction with searching for a Natural Notion of Stablilty for Complex Dynamical Systems.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A natural question in this direction is the Nash equilibrium. Surprizingly, it appears that Games in Normal Form have Nash equilibria which is PPAD complete. This has led myself to wonder about the inclusion relationships of various associated Complexity Classes. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks in advance.&lt;/p&gt;&#xA;" OwnerUserId="10136" LastEditorUserId="80" LastEditDate="2011-03-16T06:14:33.160" LastActivityDate="2011-03-16T06:56:40.867" Title="What are the inclusion relationships if any, between the classes Pspace, PLS, PPP, PPA and PPAD" Tags="&lt;cc.complexity-theory&gt;&lt;gt.game-theory&gt;" AnswerCount="2" CommentCount="5" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="5506" PostTypeId="2" ParentId="5502" CreationDate="2011-03-15T15:29:11.890" Score="3" Body="&lt;p&gt;While the entire problem seems under-defined, I believe it's fairly clear that you're dealing with a Multi-Objective Optimization problem, with scheduling simply being the backdrop for this problem.  Most new effort in this field seems to be concentrated on Evolution Algorithms as solutions to these problems.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I personally do quite a bit of work with Particle Swarms in this area mostly because they provide very simple method of visualization in a complicated space.  Other algorithms would include Non-dominated Sorting Genetic Algorithm-II (NSGA-II), or Multiple-objective Bayesian Optimization Algorithm (mBOA).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would agree with Tsuyoshi in that you may want to spend more time on the problem definition as well.&lt;/p&gt;&#xA;" OwnerUserId="4165" LastActivityDate="2011-03-15T15:29:11.890" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5507" PostTypeId="1" AcceptedAnswerId="5526" CreationDate="2011-03-15T16:12:43.330" Score="6" ViewCount="598" Body="&lt;p&gt;It has been claimed that if $P = NP$, then every problem in $P$ (equivalently $NP$) is NP-complete. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;As a blanket statement, I find this wrong because, well, there's the trivial problem or constant time problems, but more interestingly, I expect that there are classes that are very small that are provably not NP-complete but aren't entirely trivial. This is in analogy to the fact that it is known that $P != EXP$, there must be a $C \subsetneq NP$, presumably $C= NTIME(\log(n))$. But I have never heard discussed such a small class.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The smallest well-known class I can think of is $AC^0$, but I don't know whether it is known that it is not $NPC$. And there's Ryan's recent result that $NEXP \not\subset ACC^0$, which leads me to believe that it would have to be a much smaller class than $AC^0$ that would be known to be disctinct from $NP$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think the first statement might be considered to be true if all one has are deterministic polytime reductions (which would imply that -all- problems in $P$ are $P$-complete), but that seems to be too simplistic. A particular proof might use a particular reduction, but the distinctness of complexity classes is not parameterized by those reductions (or is it?).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, thoughts/suggestions? Should I just accept the first statement since $NPC$ is defined with respect to deterministic polytime reductions? And even so, is there a well-known non-trivial class that is provably a proper subset of $NP$?&lt;/p&gt;&#xA;" OwnerUserId="497" LastActivityDate="2011-03-20T16:17:22.403" Title="Is there a well-known nontrivial subset of NP for which it is known that it is a proper subset?" Tags="&lt;cc.complexity-theory&gt;" AnswerCount="3" CommentCount="14" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="5508" PostTypeId="1" AcceptedAnswerId="5512" CreationDate="2011-03-15T16:35:02.393" Score="8" ViewCount="803" Body="&lt;p&gt;The question is: Does a poly-time approximation scheme always exist for NP-complete problems that have pseudo-polynomial time algorithms (like knapsack for example)?&lt;/p&gt;&#xA;" OwnerDisplayName="user4274" LastEditorUserId="1800" LastEditDate="2011-03-16T01:26:35.663" LastActivityDate="2011-03-16T09:23:47.023" Title="Poly-time approximation scheme for problems with pseudo-polynomial time algorithms" Tags="&lt;cc.complexity-theory&gt;&lt;approximation-algorithms&gt;" AnswerCount="3" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="5509" PostTypeId="2" ParentId="5502" CreationDate="2011-03-15T16:38:17.900" Score="3" Body="&lt;p&gt;It seems to me that a better approach is to frame this as a large optimization problem and throw it into CPLEX or something like that. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2011-03-15T16:38:17.900" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5510" PostTypeId="2" ParentId="5508" CreationDate="2011-03-15T16:40:44.637" Score="5" Body="&lt;p&gt;It depends. Gerhard Woeginger has a paper on a related problem: &lt;a href=&quot;http://www.win.tue.nl/~gwoegi/papers/fptas.pdf&quot; rel=&quot;nofollow&quot;&gt;when a dynamic programming formulation of a problem leads to a PTAS&lt;/a&gt;. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2011-03-15T16:40:44.637" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5512" PostTypeId="2" ParentId="5508" CreationDate="2011-03-15T18:59:17.810" Score="8" Body="&lt;p&gt;The short answer is NO. Petra Schuurman and Gerhard Woeginger have written about this in their &lt;a href=&quot;http://www.win.tue.nl/~gwoegi/papers/ptas.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;tutorial&lt;/a&gt;. See Example 0.6.3 on p.46 in their paper when there's no FPTAS while problem has pseudopolynomial algorithm. What concerns an example when there's no PTAS while problem has pseudopolynomial algorithm I suggest Binary Paint Shop Problem (discussed also &lt;a href=&quot;https://cstheory.stackexchange.com/questions/4110/partitioning-a-segmented-stick&quot;&gt;here&lt;/a&gt;, definition can be found in the first answer).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also there is good picture in tutorial on p.5 on relations between approximation classes and Pseudo-Polynomial Time.&lt;/p&gt;&#xA;" OwnerUserId="1060" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2011-03-15T18:59:17.810" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5513" PostTypeId="2" ParentId="3540" CreationDate="2011-03-15T19:50:37.733" Score="15" Body="&lt;p&gt;Book by Bruno Courcelle &quot;&lt;a href=&quot;http://www.labri.fr/perso/courcell/Book/TheBook.pdf&quot;&gt;Graph structure and monadic second-order logic, a language theoretic approach&lt;/a&gt;&quot;.&lt;/p&gt;&#xA;" OwnerUserId="1060" LastActivityDate="2011-03-15T19:50:37.733" CommentCount="0" CommunityOwnedDate="2011-03-15T19:50:37.733" ContentLicense="CC BY-SA 2.5" />
  <row Id="5514" PostTypeId="2" ParentId="5492" CreationDate="2011-03-15T20:47:55.670" Score="11" Body="&lt;p&gt;(This is a little more detailed version of my comments on the question.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As turkistany suggested in a comment on the question, this problem is NP-hard for every constant &lt;i&gt;k&lt;/i&gt;≥3 by a reduction from the &lt;i&gt;k&lt;/i&gt;-partition problem.  The reduction does not change instances at all: just note that the maximum of the product of the sums is at least (∑&lt;i&gt;a&lt;/i&gt;&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt;/&lt;i&gt;k&lt;/i&gt;)&lt;sup&gt;&lt;i&gt;m&lt;/i&gt;&lt;/sup&gt; if and only if the numbers can be partitioned into &lt;i&gt;m&lt;/i&gt; sets each with size &lt;i&gt;k&lt;/i&gt; whose sums are all equal.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that the input to the &lt;i&gt;k&lt;/i&gt;-partition problem is usually defined to be &lt;i&gt;km&lt;/i&gt; numbers &lt;em&gt;which may not be all distinct&lt;/em&gt;, and this is essential in the standard proof of its NP-completeness (such as the one in &lt;a href=&quot;http://en.wikipedia.org/wiki/Computers_and_Intractability%3A_A_Guide_to_the_Theory_of_NP-Completeness&quot; rel=&quot;nofollow noreferrer&quot;&gt;Garey and Johnson&lt;/a&gt;).  Therefore, the reduction above only proves the NP-hardness of a slight generalization of the current problem where the input is allowed to be a multiset instead of a set.  However, this gap can be filled because the &lt;i&gt;k&lt;/i&gt;-partition problem remains NP-complete even if the numbers in the input are required to be all distinct; see [HWW08] for the case of &lt;i&gt;k&lt;/i&gt;=3 (see also &lt;a href=&quot;https://cstheory.stackexchange.com/questions/716/computational-complexity-of-the-3-partition-problem-with-distinct-numbers/758#758&quot;&gt;Serge Gaspers’s answer&lt;/a&gt; to another question), which can be modified easily for larger values of &lt;i&gt;k&lt;/i&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In addition, everything stated here remains NP-complete/NP-hard even when the numbers in the input are given in unary.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[HWW08] Heather Hulett, Todd G. Will, Gerhard J. Woeginger.  Multigraph realizations of degree sequences: Maximization is easy, minimization is hard.  &lt;em&gt;Operations Research Letters&lt;/em&gt;, 36(5):594–596, Sept. 2008.  &lt;a href=&quot;http://dx.doi.org/10.1016/j.orl.2008.05.004&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://dx.doi.org/10.1016/j.orl.2008.05.004&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="567" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2011-03-15T20:47:55.670" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5515" PostTypeId="2" ParentId="5479" CreationDate="2011-03-15T23:29:22.677" Score="19" Body="&lt;p&gt;Summary: The problems can be solved in polynomial time by finding a minimum-cost strongly connected orientation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More detail: &lt;a href=&quot;http://en.wikipedia.org/wiki/Robbins_theorem&quot; rel=&quot;nofollow noreferrer&quot;&gt;A theorem of Robbins&lt;/a&gt; tells that the edges of an undirected graph can be oriented so that the resulting directed graph is strongly connected if and only if the undirected graph is 2-edge-connected.  There are several extensions, and one of them says using a polynomial-time submodular flow algorithm, we can solve the following problem in polynomial time: Given an undirected graph with edge cost (for both directions), find a minimum-cost orientation that makes the graph strongly connected.  For example, see &lt;a href=&quot;http://dx.doi.org/10.1016/S0304-0208%2808%2972446-0&quot; rel=&quot;nofollow noreferrer&quot;&gt;Frank's paper&lt;/a&gt;.  A more recent algorithm is provided by &lt;a href=&quot;http://dx.doi.org/10.1007/s00453-008-9179-x&quot; rel=&quot;nofollow noreferrer&quot;&gt;Iwata and Kobayashi&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This result should be useful for solving the posed problems.  The first problem can be solved by &lt;a href=&quot;https://cstheory.stackexchange.com/questions/5479/minimum-flip-connectivity-problem/5483#5483&quot;&gt;the method Tomek proposed&lt;/a&gt;.  So we'll concentrate on the other problems.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the second problem, we use the same construction of an edge-weighted graph as Tomek, and find a minimum-cost strongly connected orientation in polynomial time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the third problem, to allow both directions for each edge, we duplicate each edge, and then apply the same construction and the same algorithm.  This is a valid reduction since using the same direction for duplicated edges does not affect the strong connectedness.&lt;/p&gt;&#xA;" OwnerUserId="2955" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2011-03-16T05:27:56.470" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5516" PostTypeId="2" ParentId="5439" CreationDate="2011-03-16T01:18:49.590" Score="5" Body="&lt;p&gt;Intuitively operations that preserve connectivity will not decrease the eigenvalues. For example, adding edges to the graph does not decrease the connectivity. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In general, if H is a subgraph of a graph G, by interlacing we know that the i-th largest Laplacian eigenvalue of H is no larger than the i-th largest Laplacian eigenvalue of G. A proof can be found in Proposition 3.2.1 of the book &quot;&lt;a href=&quot;http://homepages.cwi.nl/~aeb/math/ipm.pdf&quot;&gt;Spectra of graphs&lt;/a&gt;&quot; by Brouwer and Haemers. Note that the definition of Laplacian used in the book is not normalized; it has node degrees on the diagonal and -1 (or 0 if there is no edge) in the off-diagonal entries.&lt;/p&gt;&#xA;" OwnerUserId="1800" LastActivityDate="2011-03-16T01:18:49.590" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="5517" PostTypeId="1" AcceptedAnswerId="5518" CreationDate="2011-03-16T01:52:52.867" Score="14" ViewCount="1559" Body="&lt;p&gt;Are results known which rule out the existence of &quot;too-good-to-be-true&quot; data structures? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example: can one add $Split$ and $Join$ functionality to an order maintenance data structure (see &lt;a href=&quot;http://www.cs.cmu.edu/~sleator/papers/maintaining-order.pdf&quot;&gt;Dietz and Sleator STOC '87&lt;/a&gt;) and still obtain $\mathcal{O}(1)$ time operations? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Or: can one implement an ordered set with integer keys and $\mathcal{O}(1)$ time operations? Of course this is at least as hard as discovering a linear time algorithm for sorting integers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Has the answer been proven to be &lt;em&gt;no&lt;/em&gt; for either of these questions? Are lower bound results known for any natural data structure? &lt;/p&gt;&#xA;" OwnerUserId="3474" LastEditorUserId="43" LastEditDate="2011-03-16T03:36:15.657" LastActivityDate="2011-03-17T07:54:07.947" Title="Lower Bounds for Data Structures" Tags="&lt;ds.data-structures&gt;&lt;big-list&gt;&lt;lower-bounds&gt;&lt;time-complexity&gt;" AnswerCount="3" CommentCount="4" FavoriteCount="11" ContentLicense="CC BY-SA 2.5" />
  <row Id="5518" PostTypeId="2" ParentId="5517" CreationDate="2011-03-16T02:46:32.990" Score="19" Body="&lt;p&gt;There is a &lt;a href=&quot;http://people.csail.mit.edu/mip/papers/unions/talk.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;really nice talk&lt;/a&gt; on the dynamic lower bounds on graphs by Mihai Pătraşcu. In summary (on p.20 of the slides), we have the lower bounds in terms of query time $t_q$ and update time $t_u$ (insert an edge):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/jxeme.jpg&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See the &lt;a href=&quot;http://people.csail.mit.edu/mip/papers/unions/paper.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;paper&lt;/a&gt; for details. &lt;a href=&quot;http://people.csail.mit.edu/mip/papers/index.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;Some other papers&lt;/a&gt; by Mihai are relevant and nice, too.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;UPDATE: I found that his PhD thesis &quot;&lt;a href=&quot;http://people.csail.mit.edu/mip/docs/thesis-phd/phd.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Lower Bound Techniques for Data Structures&lt;/a&gt;&quot; providing lower bounds for many central data-structure problems using the techniques he developed. It certainly worths a read.&lt;/p&gt;&#xA;" OwnerUserId="1800" LastEditorUserId="1800" LastEditDate="2011-03-17T07:54:07.947" LastActivityDate="2011-03-17T07:54:07.947" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="5519" PostTypeId="1" CreationDate="2011-03-16T06:02:37.050" Score="13" ViewCount="332" Body="&lt;p&gt;Sleator and Tarjan's amortized analysis of splay trees builds on their so-called Access Lemma.  For purposes of analysis, assign an arbitrary weight to each node $v$, and let $size(v)$ denote the sum of the weights of all descendants of $v$.  The Access Lemma states that  any node $v$ can be splayed in $O(\lg (size(root) / size(v)))$ amortized time.  This result has several corollaries:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Amortized balance:&lt;/strong&gt; The amortized cost of splaying any node in an $n$-node binary tree is $O(\log n)$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Static optimality:&lt;/strong&gt; In any sequence of $N$ splays, where each node $v$ is splayed $N_v$ times, the amortized cost of splaying $v$ is $O(\log (N/N_v))$. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Static finger:&lt;/strong&gt; Fix an arbitrary node $f$, and for any other node $v$, let $dist(f,v)$ be one more than the difference in inorder ranks of $f$ and $v$.  The amortized cost of splaying $v$ is $O(\log(dist(f,v))$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Working set:&lt;/strong&gt; The amortized cost of splaying $v$ is $O(\log |W_v|)$, where $W_v$ is the set of nodes that have been splayed since the last time $v$ was splayed.  (If $v$ has never been splayed before, the amortized cost of splaying $v$ is $O(\log n)$.)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Sequential access:&lt;/strong&gt; Starting with an arbitrary binary tree, splaying all $n$ nodes in  order by rank requires $O(n)$ time.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Splay trees are an essential component of several dynamic forest data structures, including Sleator and Tarjan's &lt;a href=&quot;https://cstheory.stackexchange.com/questions/3299/what-is-the-initialization-time-of-a-link-cut-tree&quot;&gt;link-cut trees&lt;/a&gt; and Tarjan and Werneck's &lt;a href=&quot;http://www.cs.princeton.edu/~rwerneck/docs/TW05.htm&quot; rel=&quot;nofollow noreferrer&quot;&gt;self-adjusting top trees&lt;/a&gt;.  These data structures support several operations in $O(\log n)$ amortized time: insert an edge between two trees (link), delete an edge (cut), test whether two nodes are connected, add a value to the weight of every node on a path, find the minimum weight node on a path, and so on.  The $O(\log n)$ amortized time bound for all these operations follows from a careful application of the Access Lemma and a few other tricks.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So far all this is well known.  But it appears that the Access Lemma for splay trees actually implies a similar Access Lemma for dynamic forests, which &lt;em&gt;may&lt;/em&gt; imply  (appropriate variants of) static optimality, static finger, sequential access, and working set bounds for dynamic forests.  (I'm being deliberately vague here, in part because I haven't worked out all the details.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Does this observation matter?  Are there any algorithms where more nuanced amortized time bounds for dynamic forest operations might yield better overall time bounds?&lt;/strong&gt;  For example, are there applications of dynamic trees where some nodes/edges are accessed significantly more often than others, or where the accessed edges/nodes have some locality of reference, either spatially (for fingers) or temporally (for working set)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the applications that I'm most familiar with—maximum flows and parametric shortest paths—more nuanced analysis of dynamic forests does &lt;em&gt;not&lt;/em&gt; seem to imply better time bounds.  For example, in &lt;a href=&quot;http://www.springerlink.com/content/t37ug5296050x8lq/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Goldberg, Grigoriadis, and Tarjan's network-simplex algorithm for maximum flows via network simplex&lt;/a&gt;, the time analysis only relies the observation that every edge is cut from a certain spanning tree at most $n$ times.  There is no obvious pattern to which edges are cut when, so more nuanced bounds (whatever they are) don't seem to help.&lt;/p&gt;&#xA;" OwnerUserId="111" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2011-03-16T06:02:37.050" Title="Applications of an access lemma for dynamic forests?" Tags="&lt;ds.data-structures&gt;&lt;tree&gt;&lt;dynamic-algorithms&gt;&lt;amortized-analysis&gt;" AnswerCount="0" CommentCount="1" FavoriteCount="6" ContentLicense="CC BY-SA 2.5" />
  <row Id="5520" PostTypeId="2" ParentId="5505" CreationDate="2011-03-16T06:12:30.353" Score="4" Body="&lt;p&gt;PPAD and PLS are subclasses of TFNP, which in turn is a subclass of FNP. While I'm not entirely certain about this next claim, it seems that FNP should be trivially in PSPACE, since the class is defined in terms of binary predicates $P(x,y)$ such that the truth of $P(x,y)$ for a given x and poly-bounded y can be determined in polytime.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In addition, PPAD is a subclass of both PPA and PPP. for more on this, see the &lt;a href=&quot;http://www.siam.org/proceedings/soda/2011/SODA11_061_daskalakisc.pdf&quot; rel=&quot;nofollow&quot;&gt;recent Papadimitriou/Daskalakis paper on continuous local search&lt;/a&gt; (specifically Figure 1)&lt;/p&gt;&#xA;" OwnerUserId="80" LastEditorUserId="80" LastEditDate="2011-03-16T06:37:06.730" LastActivityDate="2011-03-16T06:37:06.730" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="5521" PostTypeId="2" ParentId="5517" CreationDate="2011-03-16T06:39:27.047" Score="2" Body="&lt;p&gt;In extension to what you mention to your question, one classic example is using the fact that integers cannot be sorted using comparisons faster than $O(n \log n)$ in order to prove the non-existence of superstructures.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Furthermore, it is not unusual to use information theory arguments (e.g. Kolmogorov complexity) in order to prove lower bounds for data structures.&lt;/p&gt;&#xA;" OwnerUserId="879" LastActivityDate="2011-03-16T06:39:27.047" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5522" PostTypeId="2" ParentId="5505" CreationDate="2011-03-16T06:56:40.867" Score="9" Body="&lt;p&gt;Strictly speaking, PSPACE contains decision problems, while the others are search problems, so they live in different zoos, but FPSPACE would of course contain all the other problems. Then PPAD is contained in both PPA and PPP, whose relationship is unknown, but were separated by an oracle in Beame et al: Relative complexity of NP search problems. Here the PLS class was not considered, that was separated by an oracle later in Morioka: Relative complexity of local search heuristics and the iteration principle from all the other three classes. (For me this latter paper was too hard to read.) Without oracles, nothing is known.&lt;/p&gt;&#xA;" OwnerUserId="419" LastActivityDate="2011-03-16T06:56:40.867" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5523" PostTypeId="2" ParentId="5508" CreationDate="2011-03-16T09:23:47.023" Score="4" Body="&lt;p&gt;You should look at Sect. 2.4. of &lt;a href=&quot;http://dx.doi.org/10.1016/0304-3975%2894%2900291-P&quot; rel=&quot;nofollow&quot;&gt;Giorgio Ausiello, Pierluigi Crescenzi, Marco Protasi: Approximate Solution of NP Optimization Problems. Theor. Comput. Sci. 150(1): 1-55 (1995)&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;They prove how pseudo-polynomial algorithms and FPTASs (that is PTASs whose time complexity is polynomial in $1/\epsilon$) are related.&lt;/p&gt;&#xA;" OwnerUserId="474" LastActivityDate="2011-03-16T09:23:47.023" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5524" PostTypeId="1" CreationDate="2011-03-16T12:21:20.737" Score="14" ViewCount="1579" Body="&lt;p&gt;I already asked this question on &lt;a href=&quot;https://stackoverflow.com/questions/5323941/algorithm-to-sort-pairs-of-numbers&quot;&gt;stackoverflow&lt;/a&gt;, but maybe it is better suited for this site.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem is:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have N pairs of unsigned integerers. I need to sort them. The ending vector of pairs should be sorted nondecreasingly by the first number in each pair and nonincreasingly by the second in each pair. Each pair can have the first and second elements swapped at any point.  Sometimes there is no solution, so I need to throw an exception then.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Example:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;in pairs:&#xA;1 5&#xA;7 1&#xA;3 8&#xA;5 6&#xA;&#xA;out pairs:&#xA;1 7     &amp;lt;-- swapped&#xA;1 5     &#xA;6 5     &amp;lt;-- swapped&#xA;8 3     &amp;lt;-- swapped&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;^^ Without swapping pairs it is impossible to build the solution. So we swap pairs (7, 1), (3, 8) and (5, 6) and build the result.&#xA;or&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;in pairs:&#xA;1 5&#xA;6 9&#xA;&#xA;out:&#xA;not possible&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Thanks&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;edit:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Tom Sirgedas on SO proposed the best &lt;a href=&quot;https://stackoverflow.com/questions/5323941/algorithm-to-sort-pairs-of-numbers/5333242#5333242&quot;&gt;solution&lt;/a&gt;. It is really easy to implement and works in O(log(n) * n). Thank you all for the answers and interest. I really enjoyed mjqxxxx analysis.&lt;/p&gt;&#xA;" OwnerUserId="4284" LastEditorUserId="-1" LastEditDate="2017-05-23T12:40:09.333" LastActivityDate="2011-11-30T10:48:27.210" Title="Algorithm to sort pairs of numbers" Tags="&lt;ds.algorithms&gt;&lt;sorting&gt;" AnswerCount="2" CommentCount="8" FavoriteCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="5525" PostTypeId="1" CreationDate="2011-03-16T13:07:28.513" Score="1" ViewCount="487" Body="&lt;p&gt;I'm currently writing a few varieties of nearest neighbour style solvers for the following:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;TSP (Travelling Salesmen Problem) &lt;/li&gt;&#xA;&lt;li&gt;VRP  (Vehicle Routing Problem) &lt;/li&gt;&#xA;&lt;li&gt;VRPTW (Vehicle Routing Problem with Time Windows).&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;What I'm trying to do is to tweak my 'Cost' calculations used in determining the closest neighbour. I don't really have any documents on these, (and my understanding of mathematical notation isn't that great) so I'm hoping someone might be able to help. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;I've currently got:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;TSP Cost = Distance between Node1 &amp;amp; Node2.&lt;br&gt;&#xA;VRP Cost = Distance between Node1 &amp;amp; Node2.    &lt;/p&gt;&#xA;&#xA;&lt;p&gt;VRPTW Cost = {&lt;br&gt;&#xA;var x = Node2.StartOfTimeWindow - CurrentTime&lt;br&gt;&#xA;var y = Time between Node1 &amp;amp; Node2;&lt;br&gt;&#xA;var z = Math.Max(x,y);&lt;br&gt;&#xA;cost = z * (Node2.EndTime - CurrentTime); }&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;I'd like to introduce:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;VRP : Taking the Node2.Quantity into account, based upon the Quantity left in the current Vehicle.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;VRPTW: Include VRP quantity check and additionally take into account a set of skills. For example if a Node requires 'Plumbing &amp;amp; Electrical', then it should have a lower cost to visit than a Node requiring no skills (e.g. visit a node with more difficult criteria first).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm not quite sure how to introduce these though. For the quantity check for example, should I simply do (cost - Node2.Quantity/Vehicle.Quantity). or would it be better to multiply (cost * Vehicle.Quantity/Node2.Quantity)? Or is there a better way to achieve this?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any help is much appreciated.&lt;/p&gt;&#xA;" OwnerUserId="4285" LastEditorUserId="1800" LastEditDate="2011-03-16T17:06:03.173" LastActivityDate="2011-03-18T16:57:25.857" Title="Combining Cost Calculations (TSP, VRP style problems)" Tags="&lt;ds.algorithms&gt;" AnswerCount="0" CommentCount="7" ContentLicense="CC BY-SA 2.5" />
  <row Id="5526" PostTypeId="2" ParentId="5507" CreationDate="2011-03-16T13:57:39.810" Score="9" Body="&lt;p&gt;Reposting my comment as an answer:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;AC&lt;sup&gt;0&lt;/sup&gt;[p] is strict subset of NP, where AC&lt;sup&gt;0&lt;/sup&gt;[p] is AC&lt;sup&gt;0&lt;/sup&gt; with mod p gates, and p is a prime. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;As for whether we can define NP-completeness to make it stricter, you can define it w.r.t., say, logspace reductions or even ACC reductions. As far as I know, it is not known if this changes the class NPC. What is known, however, is that AC&lt;sup&gt;0&lt;/sup&gt; reductions are not powerful enough. (Ref: &lt;a href=&quot;http://www.springerlink.com/content/bbar426549dv33ut/&quot; rel=&quot;nofollow&quot;&gt;Reducing the complexity of reductions&lt;/a&gt; by M. Agrawal, E. Allender, R. Impagliazzo, T. Pitassi and S. Rudich)&lt;/p&gt;&#xA;" OwnerUserId="206" LastActivityDate="2011-03-16T13:57:39.810" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="5527" PostTypeId="2" ParentId="5524" CreationDate="2011-03-16T15:05:57.817" Score="8" Body="&lt;p&gt;Say that two pairs $p_1=(a_1,b_1)$ and $p_2=(a_2,b_2)$ are &lt;em&gt;no-swap compatible&lt;/em&gt; if they can be placed in either order in the sorted list without swapping either one.  This is true if either $(a_1 \le a_2 \wedge b_1 \ge b_2)$ or $(a_2 \le a_1 \wedge b_2 \ge b_1)$.  Note that $p_1$ and $p_2$ are no-swap compatible if and only if they are &lt;em&gt;two-swap compatible&lt;/em&gt; (since the partial order defined satisfies $p_1 \preceq p_2 \equiv p_2^{*} \preceq p_1^{*}$, where $*$ denotes the swap operation).  Finally, $p_1$ and $p_2$ are &lt;em&gt;one-swap compatible&lt;/em&gt; if they can be placed in either order in the sorted list with exactly one of them swapped.  This is true if $p_1^{*}$ and $p_2$ are no-swap compatible.  In the remaining cases, $p_1$ and $p_2$ are simply incompatible: they cannot satisfy the order condition regardless of their swap state.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem can now be solved as follows.  Test every pair of pairs.  If any pair is incompatible, there is no solution, and we can throw an exception.  Otherwise, consider the graph with nodes corresponding to the original pairs, and edges between those pairs of nodes that are &lt;em&gt;not&lt;/em&gt; one-swap compatible.  Each such pair of nodes must have the same swap state in any properly sorted list, and therefore all nodes in each connected component of the graph must have the same swap state.  We need to determine if these component-wide swap states can be consistently assigned.  Test all pairs of nodes within each connected component.  If any pair is not no-swap compatible, there is no solution, and we can throw an exception.  Now test all pairs of connected components (i.e., for components $C_1$ and $C_2$, test all pairs of nodes $p_1 \in C_1$ and $p_2 \in C_2$).  We know that each pair of components is at least one-swap compatible, but some pairs may also be no-swap compatible (because each pair of nodes not connected by an edge is at least one-swap compatible, and may also be no-swap compatible).  Consider a reduced graph with nodes corresponding to the connected components, and an edge between two nodes if the corresponding components are &lt;em&gt;not&lt;/em&gt; no-swap compatible.  There is a solution to the original problem if and only if this graph is $2$-colorable.  If there is no $2$-coloring, there is no solution, and we can throw an exception.  If there is one, then swap all nodes in all components of a single color.  We are now guaranteed that any two nodes are no-swap compatible, and so we can properly sort the list of pairs using the defined partial order.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Each step in the algorithm, and hence the entire algorithm, can be performed in $O(N^2)$ time.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;UPDATE: A much more elegant construction is the following.  If a pair of pairs is not no-swap compatible, connect the corresponding nodes with an edge (forcing them to be different colors in any 2-coloring).  If a pair of pairs is not one-swap compatible, connect the corresponding nodes with a chain of length 2 (forcing them to be the same color in any 2-coloring).  There is a solution if and only if the resulting graph is 2-colorable.  To construct a solution from a blue-red coloring of the graph, swap just those pairs whose corresponding nodes are blue, then sort the resulting list.&lt;/p&gt;&#xA;" OwnerUserId="3183" LastEditorUserId="3183" LastEditDate="2011-03-16T19:02:49.423" LastActivityDate="2011-03-16T19:02:49.423" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="5529" PostTypeId="2" ParentId="5524" CreationDate="2011-03-16T15:29:02.930" Score="3" Body="&lt;p&gt;Let X(a, b) denote the binary variable indicating whether pair (a, b) should&#xA;be swapped.  Consider any couple of distinct pairs (a, b) and (c, d) and write&#xA;a binary constraint on the variables X(a, b) and X(c, d) that is satisfied if&#xA;and only if the two pairs are in the correct order after performing the swaps&#xA;indicated by X(a, b) and X(c, d), respectively. The conjunction of all such&#xA;binary constraints is a 2-SAT formula in n variables and O(n^2) clauses&#xA;which is satisfiable if and only if the original problem has a solution. This&#xA;can be checked in time O(n^2).&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;As for the original solution, just note that all constraints are of the form&#xA;X(a, b) = X(c, d) or X(a, b) != X(c, d) (or else X(a, b) = constant), so a &#xA;simple &quot;merge and check for bipartiteness&quot; algorithm works:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Start with each X being the representative for the set containing only itself; then for every pair (X, Y) such that X = Y is a constraint, merge the components to which X and Y belong; and finally check that the contracted graph, where each component is one vertex and some edge joins the components containing X and Y if the relationship X != Y must hold, is bipartite.&lt;/p&gt;&#xA;" OwnerUserId="2874" LastEditorUserId="2874" LastEditDate="2011-11-30T10:48:27.210" LastActivityDate="2011-11-30T10:48:27.210" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="5530" PostTypeId="1" CreationDate="2011-03-16T15:53:15.297" Score="-1" ViewCount="227" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Possible Duplicate:&lt;/strong&gt;&lt;br&gt;&#xA;  &lt;a href=&quot;https://cstheory.stackexchange.com/questions/686/do-many-one-reductions-and-turing-reductions-define-the-same-class-npc&quot;&gt;Do many-one reductions and Turing reductions define the same class NPC&lt;/a&gt;  &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&#xA;&#xA;&lt;p&gt;Hi,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is the following true:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;If L is coNP-hard, then L is NP-hard.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I have found statements of this, but no proofs, so, a&#xA;reference would be greatly appreciated.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thank you!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;--Katherine&lt;/p&gt;&#xA;" OwnerDisplayName="user4288" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2011-03-16T17:00:36.143" Title="Does coNP-hardness imply NP-hardness" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;" AnswerCount="0" CommentCount="2" ClosedDate="2011-03-17T05:31:19.997" ContentLicense="CC BY-SA 2.5" />
  <row Id="5531" PostTypeId="2" ParentId="5507" CreationDate="2011-03-16T16:11:20.180" Score="10" Body="&lt;p&gt;[Answering the original motivating issue: &quot;Should I just accept the first statement since NPC is defined with respect to deterministic polytime reductions?&quot;]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First, if $P=NP$ but the Berman-Hartmanis Isomorphism Conjecture fails, then there are infinitely many distinct p-isomorphism classes of languages within $P$. So even though it is true that $P=NP$ implies all sets in $P$ are $NP$-complete with respect to polynomial-time reduction (technical caveat below), that does not mean that we lose all information about $P$. By looking at a finer type of reduction -- but still polynomial-time, namely polynomial-time computable-and-invertible length-increasing one-one reductions -- we can potentially tell a lot about what's going on inside $P$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In fact, if $P=NP$ but the Isomorphism Conjecture fails, then the partially ordered set of p-isomorphism classes inside $P$ is quite rich: any countable partial order can be embedded in it (see &lt;a href=&quot;http://dx.doi.org/10.1145/800061.808770&quot;&gt;P. Young. Some structural properties of polynomial reducibilities and sets in NP. STOC 1983.&lt;/a&gt;). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;But more generally, in some cases it does feel wrong to lump all of $P$ together and in other cases it's exactly what you want. This is why, for example, we don't use poly-time reductions when discussing $L$ versus $P$, but we do when discussing $P$ versus $NP$. But there might be another class you want to contrast with $NP$ where it makes sense to use other reductions. The type of reduction you use should be the type you need for the problem at hand; there is no &quot;single right reduction&quot; to define, e.g., $NP$-completeness (though &quot;$NP$-complete&quot; without qualification usually means w.r.t. poly-time many-one reductions, but that is a matter of convention).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Distinctness of complexity classes is not parametrized by reductions; however, there are several potentially distinct classes that could legitimately be called &quot;$NP$-complete,&quot; namely for any reducibility $r$, &quot;$NP$-complete with respect to $r$-reductions&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Caveat: If we use poly-time many-one reductions, then $\emptyset$ and $\Sigma^{*}$ do not become $NP$-complete if $P=NP$. If we use poly-time Turing reductions, or even poly-time 1-tt reductions, they do.)&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2011-03-16T16:11:20.180" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="5532" PostTypeId="1" AcceptedAnswerId="5533" CreationDate="2011-03-16T17:42:52.847" Score="7" ViewCount="399" Body="&lt;p&gt;When glancing at the running times and output sizes of some Busy Beaver candidates on &lt;a href=&quot;http://www.drb.insel.de/~heiner/BB/&quot; rel=&quot;nofollow&quot;&gt;this page&lt;/a&gt;, I find that there seems to be a rough (up to some small power of 10) quadratic relation between output size and running time. Do you know a heuristic argument or even proof for this? Is it related to the computational model of Turing machines, or is it some more general principle?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Because (under the assumption of a computational model where the binary description of the algorithm and the algorithms' length can be read out and operated on by the program) no program can decide the halting problem for all programs a little bit longer than itself and access to the busy beaver program of some length entails ability to solve the Halting problem for that length by checking whether a given program runs longer than the busy beaver, it can't be that this is somehow a test (for said programs with efficient access to memory) that will vastly constrain the possible candidates for all sizes, as then a smaller number of supplied bits would suffice to generate the busy beaver and thee would be a program could solve the halting problem for somewhat bigger programs. If you sharpen the notion of &quot;vastly&quot;, this reasoning will also apply to Turing machines.&lt;/p&gt;&#xA;" OwnerUserId="4290" LastEditorUserId="1800" LastEditDate="2011-03-17T03:20:30.563" LastActivityDate="2011-03-17T03:20:30.563" Title="Busy Beavers: quadratic relation of output size and running time?" Tags="&lt;cc.complexity-theory&gt;&lt;turing-machines&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="5533" PostTypeId="2" ParentId="5532" CreationDate="2011-03-16T23:35:16.863" Score="9" Body="&lt;p&gt;It's true, all current busy beaver candidates have a quadratic relationship between output size and steps. As Ross points out, this has to do with how they act. They move back and forth across much of the output every time they increase the output size by some constant. That means that to get to size N they must run for approximately 1 + 1 + 2 + 2 + 3 + 3 + ... = N(N+1) steps.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, there are many other types of Turing machines. For example, there are ones often called counters which move back and forth across a section of output, each time incrementing a binary (or other base) counter. These take exponential time to increase the size of the output. One interesting one is Brady's &quot;Surprise in a Box&quot; &lt;a href=&quot;http://www.drb.insel.de/~heiner/BB/simAB3Y_SB.html&quot;&gt;http://www.drb.insel.de/~heiner/BB/simAB3Y_SB.html&lt;/a&gt; which expands quadratically for a little while and then moves completely within the &quot;box&quot; until it halts.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are also machines which have a sort of recursive &quot;back and forth&quot; behavior so that it takes them N^2 steps to increase the size of the tape. They have a cubic relationship between output size and steps.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I suspect that for larger values busy beavers will not have this relation because they will get more complex in their behavior, but I don't know of any proofs.&lt;/p&gt;&#xA;" OwnerUserId="4293" LastActivityDate="2011-03-16T23:35:16.863" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5534" PostTypeId="1" CreationDate="2011-03-17T04:26:23.217" Score="9" ViewCount="548" Body="&lt;p&gt;I have a low rank matrix given as $AB^T$ where $A,B \in \mathbb{R}^{n \times p}$ and $p \ll n$. (I know $A$ and $B$ separately)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT:&lt;/strong&gt; (I have added the second question here since it was &lt;a href=&quot;https://cstheory.stackexchange.com/questions/5871/svd-of-product-of-two-matrices&quot;&gt;closed as a duplicate&lt;/a&gt; of this question. Note that  the optimal algorithm for the low rank version $p \ll n$ will not work for this.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In general, if we have two full rank square matrices, what is the most efficient way to find SVD of a product of two matrices say A×B ? (Is it possible to find the SVD without explicitly multiplying them out?).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a relation between the SVD of the product A×B and the SVD of the individual matrices (A and B) ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Back to the first question:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One efficient way to get the Singular Value Decomposition when $p \ll n$ is to do a reduced QR on $A$ and $B$ i.e. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$A = Q_A R_A$ and $B = Q_B R_B$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The above can be done in $\mathcal{O}(p^2n)$ cost.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I could then compute the svd of $R_A R_B^T = U_1 \Sigma V_1^T$ which is $\mathcal{O}(p^3)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hence this will give me $$AB^T = (Q_A U_1) \Sigma (Q_B V_1)^T$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The total cost is $\mathcal{O}(np^2)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, I am wondering if there are other efficient ways to go about doing this to reduce the coefficient infront of $p^2n$. If I am right, the coefficient infront of $np^2$ is $3$ if we go about doing QR. The reason why I am interested in minimizing the coefficient is that my $n$ is really ginormous. So if I were to implement it, a cost cutting on the coefficient of the $\mathcal{O}(n)$ could be significant.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am wondering if we could exploit the fact that the left singular vectors must span $A$ and the right singular vectors span $B$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;i.e. we know that if $AB^T = U \Sigma V^T$, then&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$A = U \alpha \text{ and } B = V \beta$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;and we want $\alpha \beta^T$ to be diagonal and $U$,$V$ needs to be unitary.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT&lt;/strong&gt; What I essentially want is an exact rank $r&amp;lt;p$ approximation to the product $AB^T$ in the form $U_r V_r^T$. I am not looking for approximate or probabilistic algorithms.&lt;/p&gt;&#xA;" OwnerDisplayName="user4292" LastEditorUserId="-1" LastEditorDisplayName="user4292" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2011-04-04T16:24:13.543" Title="Finding SVD efficiently for $AB^T$" Tags="&lt;ds.algorithms&gt;&lt;linear-algebra&gt;&lt;matrices&gt;" AnswerCount="0" CommentCount="7" ContentLicense="CC BY-SA 2.5" />
  <row Id="5536" PostTypeId="2" ParentId="5517" CreationDate="2011-03-17T07:37:58.763" Score="6" Body="&lt;p&gt;The answer to any of your questions depends upon the model of computation. For instance, on many machines, multiplying integers is more expensive than adding them. Some models reflect this, while some do not.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For an answer to your question about ordered sets of integers, Andersson and Thorup discuss an asymptotically optimal solution to maintaining a dynamic ordered set of integers in the RAM model in polynomial space in their paper &lt;a href=&quot;http://user.it.uu.se/~arnea/ps/expTr.pdf&quot;&gt;&quot;Dynamic ordered sets with exponential search trees&quot;&lt;/a&gt;. The bound they achieve is $O(\sqrt{\log n/ \log \log n})$. The paper the cite for the lower bound is Beame and Fich's &lt;a href=&quot;http://www.cs.washington.edu/homes/beame/papers/predecessor.ps&quot;&gt;&quot;Optimal Bounds for the Predecessor Problem and Related Problems&quot;&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="43" LastActivityDate="2011-03-17T07:37:58.763" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="5537" PostTypeId="2" ParentId="5475" CreationDate="2011-03-17T13:26:38.920" Score="6" Body="&lt;p&gt;This may not be quite what you're looking for, but Jeff Lagarias and I (later improved by Mackey) came up with cube tilings of high dimensional spaces that are counterexamples to &lt;a href=&quot;http://mathworld.wolfram.com/KellersConjecture.html&quot; rel=&quot;nofollow&quot;&gt;Keller's conjecture&lt;/a&gt;, i.e. tilings of $n$ dimensions with unit cubes where no two cubes meet in a full ($n-1$)-dimensional face. It seems unlikely that random tilings will give counterexamples.&lt;/p&gt;&#xA;" OwnerUserId="1677" LastEditorUserId="1677" LastEditDate="2011-03-17T14:09:57.650" LastActivityDate="2011-03-17T14:09:57.650" CommentCount="0" CommunityOwnedDate="2011-03-17T13:26:38.920" ContentLicense="CC BY-SA 2.5" />
  <row Id="5539" PostTypeId="2" ParentId="5475" CreationDate="2011-03-17T16:39:55.030" Score="5" Body="&lt;p&gt;In general, random constructions and greedy constructions achieve the same bounds (e.g., error correcting codes). Once I heard a talk by Lovasz where he said that greedy choices and random choices are essentially the same. So, any construction that beat the greedy construction should provide an answer to your question. As a quick example, construction that achieve the Sperner capacity of graphs are of this kind. As Peter Shor said, there are really lots of examples in extremal combinatorics.&lt;/p&gt;&#xA;" OwnerUserId="4296" LastEditorUserId="4296" LastEditDate="2011-03-17T19:11:56.617" LastActivityDate="2011-03-17T19:11:56.617" CommentCount="0" CommunityOwnedDate="2011-03-17T16:39:55.030" ContentLicense="CC BY-SA 2.5" />
  <row Id="5540" PostTypeId="1" CreationDate="2011-03-17T18:02:03.400" Score="23" ViewCount="1933" Body="&lt;p&gt;I am interested in the problem of packing identical copies of (2 dimensional) rectangles into a convex (2 dimensional) polygon without overlaps.  In my problem you are not allowed to rotate the rectangles and can assume that they are oriented parallel with the axes. You are just given the dimensions of a rectangle and the vertices of the polygon and asked how many identical copies of the rectangle can be packed into the polygon.  If you are allowed to rotate the rectangles this problem is known to be NP-hard I believe. However, what is known if you cannot? How about if the convex polygon is simply a triangle?  Are there known approximation algorithms if the problem is indeed NP-hard? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Summary so far (21 March '11). Peter Shor observes that we can regard this problem as one of packing unit squares in a convex polygon and that that problem is in NP if you impose a polynomial bound on the number of squares/rectangles to be packed.  Sariel Har-Peled points out there is a PTAS for the same polynomially bounded case.  However, in general the number of squares packed can be exponential in the size of the input which only consists of a possibly short list of pairs of integers.  The following questions appear to be open.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is the full unbounded version in NP?&#xA;Is there a PTAS for the unbounded version?&#xA;Is the polynomially bounded case in P or NPC? And my personal favourite, is the problem any easier if you just restrict yourself to packing unit squares into a triangle?&lt;/p&gt;&#xA;" OwnerUserId="1864" LastEditorUserId="1864" LastEditDate="2011-03-21T19:36:24.797" LastActivityDate="2011-03-21T19:36:24.797" Title="Packing rectangles into convex polygons but without rotations" Tags="&lt;reference-request&gt;&lt;np-hardness&gt;&lt;cg.comp-geom&gt;&lt;optimization&gt;&lt;packing&gt;" AnswerCount="5" CommentCount="5" FavoriteCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="5545" PostTypeId="2" ParentId="5540" CreationDate="2011-03-18T10:34:18.090" Score="0" Body="&lt;p&gt;Maybe this paper can be of interest for you :&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.math.brown.edu/~rkenyon/papers/rectiles.ps&quot; rel=&quot;nofollow&quot;&gt;Tiling a polygon with rectangles&lt;/a&gt; by Kenyon &amp;amp; Kenyon in FOCS 92.&lt;/p&gt;&#xA;" OwnerUserId="76" LastActivityDate="2011-03-18T10:34:18.090" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="5546" PostTypeId="2" ParentId="5540" CreationDate="2011-03-18T12:26:57.400" Score="2" Body="&lt;p&gt;These two papers address your problem:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;E. G. Birgin and R. D. Lobato, &quot;&lt;a href=&quot;http://www.ime.usp.br/~egbirgin/publications/bl.pdf&quot; rel=&quot;nofollow&quot;&gt;Orthogonal packing of identical rectangles within isotropic convex regions&lt;/a&gt;&quot;, Computers &amp;amp; Industrial Engineering 59, pp. 595-602, 2010. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;E. G. Birgin, J. M. Martínez, F. H. Nishihara and D. P. Ronconi, &quot;&lt;a href=&quot;http://www.ime.usp.br/~egbirgin/publications/bmnr.pdf&quot; rel=&quot;nofollow&quot;&gt;Orthogonal packing of rectangular items within arbitrary convex regions by nonlinear optimization&lt;/a&gt;&quot;, Computers &amp;amp; Operations Research 33, pp. 3535-3548, 2006.&lt;/p&gt;&#xA;&#xA;&lt;p&gt; &lt;/p&gt;&#xA;" OwnerUserId="2150" LastActivityDate="2011-03-18T12:26:57.400" CommentCount="7" ContentLicense="CC BY-SA 2.5" />
  <row Id="5547" PostTypeId="2" ParentId="5540" CreationDate="2011-03-18T12:43:48.707" Score="1" Body="&lt;p&gt;Peter Shor observed that by rescaling, this problem becomes about packing unit squares into a convex polygon.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Edit: the remainder of this answer does not apply, as it drops the explicitly stated requirement that the shapes to be packed are all the same size.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;The related question &lt;a href=&quot;https://cstheory.stackexchange.com/questions/3826/np-hardness-of-a-special-case-of-orthogonal-packing-problem&quot;&gt;NP-Hardness of a special case of orthogonal packing problem&lt;/a&gt; mentions a paper with the result needed for the first question:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;em&gt;Packing squares into a square,&lt;/em&gt; Joseph Y-T. Leung, Tommy W. Tam, C. S. Wong, Gilbert H. Young, and Francis Y. L. Chin, Journal of Parallel and Distributed Computing &lt;strong&gt;10&lt;/strong&gt; 271–275. (&lt;a href=&quot;http://dx.doi.org/10.1016/0743-7315%2890%2990019-L&quot; rel=&quot;nofollow noreferrer&quot;&gt;link&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;From the paper:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;we show that the square packing problem is strongly&#xA;  NP-complete by reducing the 3-partition problem to it.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Hence the problem is NP-hard even for the special case where the rectangles to be packed are &lt;a href=&quot;http://en.wikipedia.org/wiki/Similarity_%28geometry%29&quot; rel=&quot;nofollow noreferrer&quot;&gt;similar&lt;/a&gt; to the container.  (Unlike the authors of this paper, I am not completely convinced that the problem is in NP, since the positions might have to be specified to a large amount of precision, which may cause the verification to no longer be polynomial in the input size.)&lt;/p&gt;&#xA;" OwnerUserId="109" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2011-03-18T15:00:37.460" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="5548" PostTypeId="2" ParentId="5470" CreationDate="2011-03-18T14:05:07.340" Score="3" Body="&lt;p&gt;In string algorithms, the most established usage is &lt;strong&gt;subsequence&lt;/strong&gt; for the non-contiguous case, and either &lt;strong&gt;substring&lt;/strong&gt;, &lt;strong&gt;factor&lt;/strong&gt; or &lt;strong&gt;window&lt;/strong&gt; for the contiguous case. Incidentally, &lt;strong&gt;string&lt;/strong&gt; and &lt;strong&gt;sequence&lt;/strong&gt; are usually regarded as synonyms (with &quot;sequence&quot; having a bit more biological flavour, but otherwise equivalent). The elements are called &lt;strong&gt;characters&lt;/strong&gt;, but depending on the context, could in fact be integers or anything else, and the same terminology would be used.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The Mathematica system goes against this established usage by having the functions &lt;em&gt;LongestCommonSequence&lt;/em&gt; and &lt;em&gt;LongestCommonSubsequence&lt;/em&gt; that represent the non-contiguous and the contiguous case respectively. The Mathematica documentation uses the term &quot;scattered&quot; for &quot;non-contiguous&quot;.&lt;/p&gt;&#xA;" OwnerUserId="2869" LastEditorUserId="2869" LastEditDate="2011-03-18T14:41:46.013" LastActivityDate="2011-03-18T14:41:46.013" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="5549" PostTypeId="2" ParentId="1168" CreationDate="2011-03-18T14:11:13.113" Score="24" Body="&lt;p&gt;&lt;a href=&quot;http://research.microsoft.com/en-us/um/people/lamport/pubs/lamport-how-to-write.pdf&quot;&gt;How to Write a Proof&lt;/a&gt;, by Leslie Lamport.&lt;/p&gt;&#xA;" OwnerUserId="775" LastActivityDate="2011-03-18T14:11:13.113" CommentCount="2" CommunityOwnedDate="2011-03-18T14:11:13.113" ContentLicense="CC BY-SA 2.5" />
  <row Id="5551" PostTypeId="2" ParentId="5540" CreationDate="2011-03-18T19:42:17.633" Score="12" Body="&lt;p&gt;The problem can be reformulated as picking a maximum number of points inside a convex polygon, such that the every pair of them is in distance (under the $L_\infty$ metric) at least $1$ from each other (just think about the centers of the squares). This in turn is related to the same problem where one uses the regular Euclidean distance. This is in turn related to meshing, where one is interested in breaking a polygon into nicely behaved regions (i.e., you take the Voronoi diagram of the centers [see Centroidal Voronoi tessellations]).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Anyway, a $(1-\epsilon)$-approximation is quite easy. You randomly slide a grid of sidelength $O(1/\epsilon)$. Clip the polygon into the grid, and solve the problem inside each piece of intersection of the polygon with the grid using brute force. An algorithm with running time $O(M*noise(\epsilon))$ should easily follow, where $M$ is the number of points (i.e., rectangles), and $noise(\epsilon)$ is some horrendous function that depends only on $\epsilon$. &lt;/p&gt;&#xA;" OwnerUserId="9594" LastEditorUserId="9594" LastEditDate="2011-03-19T06:02:21.217" LastActivityDate="2011-03-19T06:02:21.217" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="5552" PostTypeId="2" ParentId="2257" CreationDate="2011-03-18T20:59:07.583" Score="4" Body="&lt;p&gt;Take a look at &lt;a href=&quot;http://ubietylab.net/ubigraph/content/Demos/index.html&quot; rel=&quot;nofollow&quot;&gt;UBIGRAPH&lt;/a&gt;. It is just amazing.&lt;/p&gt;&#xA;" OwnerUserId="947" LastActivityDate="2011-03-18T20:59:07.583" CommentCount="2" CommunityOwnedDate="2011-03-20T08:54:52.793" ContentLicense="CC BY-SA 2.5" />
  <row Id="5553" PostTypeId="1" CreationDate="2011-03-19T04:42:45.303" Score="19" ViewCount="2871" Body="&lt;p&gt;Let $f(n)$ be the worst case running time of a problem on input of size $n$. Let us make the problem a bit weird by fixing $f(n) = n^2$ for $n=2k$ but $f(n) = n$ for $n=2k+1$.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;So, what is the lower bound of the problem? The way I understood it is just the lower bound of $f(n)$. But we know that $f(n) = \Omega(n^2)$ implies that there exists constant $k$, $n_0$ such that for all $n &amp;gt; n_0$, $f(n) &amp;gt; kn^2$, which is not true. Thus it seems that we can only say $f(n) = \Omega(n)$. &#xA;But usually, we will call the problem has a lower bound of $\Omega(n^2)$, right?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Assuming that $g(n) = \Omega(n^2)$, which means that there exists constant $k$, $n_0$ such that for all $n &amp;gt; n_0$, $g(n) &amp;gt; kn^2$. Let's also assume a problem has running time $g(n)$. If we can reduce this problem for all the primes $n$ to another problem (with same input size), can we say the running time of the other problem has a lower bound of $\Omega(n^2)$? &lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="4309" LastEditorUserId="77" LastEditDate="2011-03-19T14:01:14.067" LastActivityDate="2011-03-25T14:51:57.240" Title="What is the &quot;right&quot; definition of upper and lower bounds?" Tags="&lt;cc.complexity-theory&gt;&lt;time-complexity&gt;" AnswerCount="4" CommentCount="6" FavoriteCount="6" ContentLicense="CC BY-SA 2.5" />
  <row Id="5554" PostTypeId="2" ParentId="5553" CreationDate="2011-03-19T13:50:29.113" Score="13" Body="&lt;p&gt;The right definition of $f(n)=\Omega(n^2)$ is that there exists some $k&amp;gt;0$ such that for infinitely many $n$, $f(n)\geq kn^2$. The infinitely-often definition for lower bounds handles your issues and is how we use it in practice.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I did a &lt;a href=&quot;http://blog.computationalcomplexity.org/2005/01/big-omega.html&quot;&gt;post&lt;/a&gt; on this back in 2005.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some textbooks get this definition right, some don't. &lt;/p&gt;&#xA;" OwnerUserId="550" LastActivityDate="2011-03-19T13:50:29.113" CommentCount="8" ContentLicense="CC BY-SA 2.5" />
  <row Id="5555" PostTypeId="1" AcceptedAnswerId="5564" CreationDate="2011-03-19T15:09:10.823" Score="9" ViewCount="344" Body="&lt;p&gt;What are the best references for self study in DATALOG? I am particularly interested in expressive power, complexity results, evaluation methods, extensions of DATALOG with negation etc. Are there any books or papers that cover all these?&lt;/p&gt;&#xA;" OwnerUserId="4313" LastEditorUserId="109" LastEditDate="2011-03-19T21:36:22.470" LastActivityDate="2011-07-22T02:40:18.267" Title="DATALOG references" Tags="&lt;reference-request&gt;&lt;lo.logic&gt;&lt;db.databases&gt;&lt;logic-programming&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="6" ContentLicense="CC BY-SA 2.5" />
  <row Id="5556" PostTypeId="2" ParentId="5468" CreationDate="2011-03-19T15:15:16.327" Score="7" Body="&lt;p&gt;Take 3 points A, B, C on an equilateral triangle and add 3 more points D, E, F, in the center. It's clear you want two of A, B, C on one side of the cut, so let's say the cut on these three points is (AB;C). Now, each of the points D, E, F has to go on the C side of the cut, so the optimal cut is (AB; CDEF), and the ratio is easily checked to be 2/3.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, move each of the points D, E, F slightly away from the center to form a small equilateral triangle. It doesn't matter in which direction, as long as they're symmetric around the center. If you move them a small enough distance, the optimal cut still has to be (AB; CDEF). Consider the length of this cut. The edges (AC, BC) form 2/3 of the total length of the edges (AB, BC, AC). By symmetry, the total length  of the edges (AD, AE, AF, BD, BE, BF) are 2/3 of the length of the edges (AD, AE, AF, BD, BE, BF, CD, CE, CF). But &lt;em&gt;none&lt;/em&gt; of the edges (DE, EF, DF) are in the cut. So the ratio of this cut is strictly less than 2/3.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You should be able to optimize this construction to find a configuration where the optimal cut is significantly less than 2/3.  Trying it, I get that if you take six points arranged in two equilateral triangles having the same center, with the smaller one $(\sqrt{6}-1)/5 \approx .2899$ the size of the larger one, then the max-cut becomes $.6408$ the total weight instead of $2/3$.&lt;/p&gt;&#xA;" OwnerUserId="1677" LastEditorUserId="1677" LastEditDate="2011-03-20T03:40:27.050" LastActivityDate="2011-03-20T03:40:27.050" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="5558" PostTypeId="2" ParentId="1168" CreationDate="2011-03-19T16:44:29.237" Score="27" Body="&lt;p&gt;Russell Impagliazzo's &lt;a href=&quot;http://cseweb.ucsd.edu/~russell/average.ps&quot;&gt;A Personal View of Average-Case Complexity&lt;/a&gt;. This is a great paper because it is cleverly written, and it summarizes the state of affairs in five &quot;worlds&quot; where our conjectures about complexity are resolved in various ways, giving real-world consequences in each case.&lt;/p&gt;&#xA;" OwnerUserId="472" LastActivityDate="2011-03-19T16:44:29.237" CommentCount="0" CommunityOwnedDate="2011-03-19T16:44:29.237" ContentLicense="CC BY-SA 2.5" />
  <row Id="5559" PostTypeId="2" ParentId="3903" CreationDate="2011-03-19T16:53:03.183" Score="9" Body="&lt;p&gt;This question has two parts: first, is the problem in NP, and second, is it NP-hard?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the first part, I have a positive answer with a non-obvious proof.  (Thanks to Suresh for pointing out an earlier error.)&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Consider the following way to formalize the question as a decision problem:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;UNRESTRICTED MAGIC SQUARE COMPLETION&lt;/strong&gt;&lt;br&gt;&#xA;  &lt;em&gt;Input:&lt;/em&gt; positive integer $n$ given in unary, list of integers with their positions in an $n$ by $n$ grid&lt;br&gt;&#xA;  &lt;em&gt;Question:&lt;/em&gt; do there exist integers for the remaining positions in the grid, so that the arrangement forms a &lt;a href=&quot;http://en.wikipedia.org/wiki/Magic_square&quot; rel=&quot;nofollow&quot;&gt;magic square&lt;/a&gt;?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;If we add the restriction that each of the integers $1,2,\dots,n^2$ must occur precisely once in the magic square, then the resulting MAGIC SQUARE COMPLETION decision problem is obviously in NP.  The &lt;a href=&quot;http://en.wikisource.org/wiki/1911_Encyclop%C3%A6dia_Britannica/Magic_Square&quot; rel=&quot;nofollow&quot;&gt;definition of a magic square in the 1911 Encyclopædia Britannica&lt;/a&gt;, following &lt;a href=&quot;http://arxiv.org/pdf/math/0408230&quot; rel=&quot;nofollow&quot;&gt;Euler&lt;/a&gt;, has this restriction; in contrast, the Wikipedia article currently uses the terminology &quot;normal magic square&quot; and reserves &quot;magic square&quot; for the unrestricted version.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;With an $n$ by $n$ grid, at least $n$ numbers must be given, otherwise the answer is trivially &quot;YES&quot; for the unrestricted version.  The size of the input can therefore be assumed to require more than $n$ bits in this case.  For the normal version, it is possible that there are inputs that require few bits but which have no solution; to avoid such complications I have specified that $n$ is given in unary.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The argument uses a bound on the possible size of integers that appear in solutions.  In the normal case this bound is obviously $n^2$, but in the general case it is not &lt;em&gt;a priori&lt;/em&gt; obvious that such a bound exists.  It turns out that an exponential bound exists.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;em&gt;Theorem (&lt;a href=&quot;http://arxiv.org/abs/math/0702558&quot; rel=&quot;nofollow&quot;&gt;Tyszka, Theorem 12&lt;/a&gt;):&lt;/em&gt; Any system of Diophantine equations involving equations of the form $x_i = 1$ and $x_i = x_j + x_k$, for $i,j,k \in \{1,2,\dots,n\}$, either has no integer solution, or has a solution in which every $x_i$ is an integer and at most $\sqrt{5}^{n-1}$ in absolute value.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;This also appeared as Theorem 4.7 in:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Apoloniusz Tyszka, &lt;a href=&quot;http://onlinelibrary.wiley.com/doi/10.1002/malq.200910004/abstract&quot; rel=&quot;nofollow&quot;&gt;&lt;em&gt;Two conjectures on the arithmetic in R and C&lt;/em&gt;&lt;/a&gt;, Math. Log. Quart. &lt;strong&gt;56&lt;/strong&gt; 175–184, 2010.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Cipu recently announced an asymptotically better bound of $2^n$.  (Note that the smallest possible bound is $2^{n-1}$.)  The argument builds on a bound on the determinant of a matrix, due to Waldi.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;em&gt;Theorem (Cipu, 2011):&lt;/em&gt; Any system of Diophantine equations involving equations of the form $x_i = 1$ and $x_i = x_j + x_k$, for $i,j,k \in \{1,2,\dots,n\}$, either has no integer solution, or has a solution in which every $x_i$ is an integer and at most $2^n$ in absolute value.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Even more recently, &lt;a href=&quot;http://arxiv.org/abs/1108.4078v1&quot; rel=&quot;nofollow&quot;&gt;Freitas, Friedland and Porta&lt;/a&gt; showed that the $2^{n-1}$ bound holds, as a corollary of their more general Theorem 1.1.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This yields the following:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;em&gt;Corollary:&lt;/em&gt; If an instance of UNRESTRICTED MAGIC SQUARE COMPLETION of size $N$ has a solution, then it has a solution using only numbers up to $2^{O(N^2)}$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;This means that one can use $O(N^4)$ space to guess a solution up to the bound, and then check in $O(N^8)$ time whether it is a solution.  The precise polynomial depends on whether one uses Tyszka's or Cipu's result for the bound, and how one expresses the Diophantine system of equations representing the magic square.  In either case, the number of variables required in a Diophantine system of the form posed by Tyszka is no more than $n^2 + 2(n+1)(n-2)+1 = 3n^2-2n-3$.  This is achieved with $n-2$ variables for partial sums for each row, column, and diagonal and a grand total variable linking these together.  Beyond the magic square itself, a further polynomial number of variables is required for the numbers in the square: a number requiring $m$ bits can be represented by using $O(m^2)$ intermediate variables.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the second part of the question, as far as I can tell either version of MAGIC SQUARE COMPLETION should be NP-hard, but I do not have reductions.  It is worth noting that there are procedures to construct normal magic squares of arbitrarily large size; moreover, the number of normal magic squares seems to grow superpolynomially with $n$ (see &lt;a href=&quot;http://oeis.org/A006052&quot; rel=&quot;nofollow&quot;&gt;OEIS A006052&lt;/a&gt;) so the underlying language does not seem to be sparse.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Using Papadimitriou's bound on the solutions of an instance of INTEGER LINEAR PROGRAMMING, one can also show that the version where the numbers must all be non-negative is also in NP.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;em&gt;Theorem (Papadimitriou):&lt;/em&gt; Let $A$ be an $r \times s$ matrix and $b$ an $r$-vector, both with entries from $\{-a, -a+1, \dots, a-1, a\}$.  Then if $Ax = b$ has a solution in non-negative integers, it also has one where every component is in $\{0,1,\dots,s(ra)^{2r+1}\}$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The constraints forming the magic square can be expressed as a linear program using $a=1$, with $s=n^2+1$ variables and $r=2n+2$ inequalities.  This yields a somewhat larger bound than the bound above where negative numbers are allowed, but the certificate is still of polynomial size.  (Thanks to Tony Tan for pointing out the result of Papadimitriou.)&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Christos H. Papadimitriou, &lt;em&gt;On the complexity of integer programming&lt;/em&gt;, JACM &lt;strong&gt;28&lt;/strong&gt; 765–768, 1981. (&lt;a href=&quot;http://dx.doi.org/10.1145/322276.322287&quot; rel=&quot;nofollow&quot;&gt;link&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="109" LastEditorUserId="109" LastEditDate="2011-09-15T12:40:42.483" LastActivityDate="2011-09-15T12:40:42.483" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="5561" PostTypeId="2" ParentId="5540" CreationDate="2011-03-19T17:58:48.123" Score="0" Body="&lt;p&gt;If the polygon into which you want to pack is not necessarily convex, then I think the problem becomes NP-hard. Here is a very sketchy proof. The reduction is from some Planar-3-SAT type problem. To each variable you can have a 1.1 x 1 place, depending where in this area you place one square will determine whether your variable is true of false. Also, if you leave .1 area left/right, then you can move two other squares a little more inside, and also the ones behind them, eventually giving another .1 free space somewhere else that together now affect four squares and so on. After you have as many copies as the occurrences of the respective literal, you connect these tubes to the respective clause component and there again use some similar gadget to ensure that from the three ingoing tubes at least one has to have a .1 extra space.&lt;/p&gt;&#xA;" OwnerUserId="419" LastActivityDate="2011-03-19T17:58:48.123" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="5563" PostTypeId="1" AcceptedAnswerId="5567" CreationDate="2011-03-19T18:45:33.637" Score="7" ViewCount="1035" Body="&lt;p&gt;Which is the complexity of counting the number of vertex covers of trees? Is it still #P-complete, as for general graphs?&lt;/p&gt;&#xA;" OwnerUserId="947" LastActivityDate="2020-06-20T14:02:03.177" Title="Trees: complexity of counting the number of vertex covers" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;&lt;counting-complexity&gt;" AnswerCount="4" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="5564" PostTypeId="2" ParentId="5555" CreationDate="2011-03-19T19:04:02.307" Score="10" Body="&lt;p&gt;Most of what you are looking for is well-covered in the survey&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Stefano Ceri, Georg Gottlob, and Letizia Tanca, &lt;em&gt;What you always wanted to know about Datalog (and never dared to ask)&lt;/em&gt;, IEEE Transactions on Knowledge and Data Engineering &lt;strong&gt;1&lt;/strong&gt; 146–166, 1989. (&lt;a href=&quot;http://dx.doi.org/10.1109/69.43410&quot;&gt;link&lt;/a&gt;, &lt;a href=&quot;http://www.iai.uni-bonn.de/III/lehre/vorlesungen/DeduktiveDatenbanken/SS06/Downloads/CGT89.pdf&quot;&gt;reprint&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;and its references.  The field then went fairly quiet for a long time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Recently various extensions to Datalog have been gaining a lot of attention, and the &lt;a href=&quot;http://datalog20.org/&quot;&gt;Datalog 2.0 conference&lt;/a&gt; in 2010 was well-attended.  I'm personally quite partial to the Datalog± family of extensions, since they allow several kinds of description logics to be captured in a well-behaved and well-understood fragment of classical logic:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Andrea Calì, Georg Gottlob, and Thomas Lukasiewicz, &lt;em&gt;Datalog±: a unified approach to ontologies and integrity constraints&lt;/em&gt;, ICDT 2009, 14–30. (&lt;a href=&quot;http://www.edbt.org/Proceedings/2009-StPetersburg/icdt/papers/p0014-Cali.pdf&quot;&gt;link&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="109" LastEditorUserId="109" LastEditDate="2011-03-19T19:11:07.683" LastActivityDate="2011-03-19T19:11:07.683" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5565" PostTypeId="2" ParentId="5563" CreationDate="2011-03-19T20:05:40.240" Score="2" Body="&lt;p&gt;Should be in P even on graphs of bounded treewidth&lt;/p&gt;&#xA;" OwnerUserId="2606" LastActivityDate="2011-03-19T20:05:40.240" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5566" PostTypeId="2" ParentId="5563" CreationDate="2011-03-19T20:09:02.850" Score="12" Body="&lt;p&gt;The DP for vertex cover on trees breaks the cases into two disjoint settings, one where the root node of the subtree is picked for the cover, and one where it isn't. This suggests that it should be adaptable to the counting version: the disjointness means you can merely add the contributions from the subcases. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2011-03-19T20:09:02.850" CommentCount="8" ContentLicense="CC BY-SA 2.5" />
  <row Id="5567" PostTypeId="2" ParentId="5563" CreationDate="2011-03-19T21:32:34.597" Score="14" Body="&lt;p&gt;The complement of a vertex cover is an independent set.  Your question is therefore equivalent to asking whether counting independent sets is #P-complete on trees.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The answer to this question is NO, it is not #P-complete: there is actually a polynomial-time algorithm to count the number of solutions.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;S. D. Noble, &lt;em&gt;Evaluating a Weighted Graph Polynomial for &#xA;Graphs of Bounded Tree-Width&lt;/em&gt;, The Electronic Journal of Combinatorics &lt;strong&gt;16&lt;/strong&gt;(1) R64, 2009. (&lt;a href=&quot;http://www.emis.ams.org/journals/EJC/Volume_16/PDF/v16i1r64.pdf&quot;&gt;link&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Noble actually shows much more.  Suppose the class of graphs under consideration has treewidth at most $k$.  Then the weighted graph polynomial $U$, which evaluated at a certain point yields the number of independent sets of a graph, can be evaluated in $O(a_k n^{2k+3})$ operations at any point.  Here $a_k$ depends only on $k$ and $n$ is the number of vertices in the input graph.  Hence there is a polynomial-time algorithm to count the number of vertex covers on trees (or any other class of graphs of bounded treewidth).&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;On the other side, it is interesting to ask: what is the smallest class that is known to be #P-complete?&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;em&gt;Theorem (Greenhill, 2000):&lt;/em&gt; counting independent sets in 3-regular graphs is #P-complete. (&lt;a href=&quot;http://link.aip.org/link/?SMJCAT/12/777/1&quot;&gt;link&lt;/a&gt;).&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;In the comments Colin McQuillan pointed out an even stronger result:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Mingji Xia, Wenbo Zhao, &lt;a href=&quot;http://dx.doi.org/10.1007/11750321_34&quot;&gt;&lt;em&gt;#3-Regular Bipartite Planar Vertex Cover is #P-Complete&lt;/em&gt;&lt;/a&gt;, TAMC 2006, 356–364.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Note that wall graphs are 3-regular (if their corners are joined up), bipartite, and planar, but they have arbitrarily large treewidth.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, a different graph polynomial $R_2$ yields the number of independent sets in a bipartite graph.  This was posed as an open question:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;em&gt;Question (Ge and Štefankovič, 2010):&lt;/em&gt; is the exact evaluation of the $R_2$ polynomial easy for bounded tree-width graphs? (&lt;a href=&quot;http://drops.dagstuhl.de/opus/volltexte/2010/2867/pdf/21.pdf&quot;&gt;link&lt;/a&gt;)&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="109" LastEditorUserId="109" LastEditDate="2011-03-21T14:30:36.293" LastActivityDate="2011-03-21T14:30:36.293" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="5568" PostTypeId="2" ParentId="5553" CreationDate="2011-03-19T23:59:24.280" Score="2" Body="&lt;p&gt;I don't know about the most widely used, but I believe I know of the oldest usage (for computer science anyway).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the 1965 paper by Hartmanis &amp;amp; Stearns &quot;On the computational complexity of algorithms&quot;, Corollary 2.1 is:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;If $U$ and $T$ are time-functions such that $\inf_{n \rightarrow \infty} \frac{T(n)}{U(n)} \geq 0 $ then $S_{U} \subseteq S_{T}$&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;where $S_{K}$ is the complexity class of all problems computable in $O( K(n) )$ . T(n) must obey $ T(n) \geq n/k$ for some integer $k$ and all $n$ and $T(n) \leq T(n+1)$ , but it doesn't have to be time-constructible.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Your function obeys the first rule for $k = 1$ but fails to obey the second rule.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Corollary 2.2 is the reciproral of the above and uses limit supremum, but still has these requirements. I guess as algorithms got more complex by the years, it is possible that the requirements have been relaxed.&lt;/p&gt;&#xA;" OwnerUserId="879" LastEditorUserId="879" LastEditDate="2011-03-20T00:19:34.100" LastActivityDate="2011-03-20T00:19:34.100" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5571" PostTypeId="2" ParentId="4258" CreationDate="2011-03-20T07:56:46.473" Score="-2" Body="&lt;p&gt;I am not a expert here i will a try.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) Since it is DAG, it should have a sink vertex i.e vertex with outdegree 0. Find a sink vertex say x and add {x} as reachable vertex to Neighbor(x). remove x and repeat the process till graph becomes empty  &lt;/p&gt;&#xA;" OwnerUserId="851" LastActivityDate="2011-03-20T07:56:46.473" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="5572" PostTypeId="1" AcceptedAnswerId="5573" CreationDate="2011-03-20T13:34:17.427" Score="13" ViewCount="1040" Body="&lt;p&gt;Fixed parameter and approximation are totally different approaches to solve hard problems. They have different motivation. Approximation looks for faster result with approximate solution. Fixed parameter looks for exact solution with time complexity in terms of the exponential or some function of k and polynomial function of n where n is the input size and k is parameter. Example $2^kn^3$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now my question, is there any upper or lower bound result based on the relationship between fixed parameter and approximation approaches or they totally do not have any relationship.For example for a problem $P$ is said to be $W[i]$ hard for some $i&amp;gt;0$ is nothing to do with having c-approximation algorithm or PTAS. please provide some references&lt;/p&gt;&#xA;" OwnerUserId="851" LastEditorUserId="1800" LastEditDate="2011-03-21T01:41:37.343" LastActivityDate="2011-05-25T18:09:37.330" Title="Relation between fixed parameter and approximation algorithm" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;approximation-algorithms&gt;&lt;fixed-parameter-tractable&gt;" AnswerCount="2" CommentCount="4" FavoriteCount="7" ContentLicense="CC BY-SA 2.5" />
  <row Id="5573" PostTypeId="2" ParentId="5572" CreationDate="2011-03-20T14:11:55.707" Score="16" Body="&lt;p&gt;There are several connections between parameterized complexity and approximation algorithms.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First, consider the so-called standard parameterization of a problem. Here, the parameter is what you would optimize in the optimization version of the problem (the size of the vertex cover for the Vertex Cover problem, the width of the tree decomposition for the Treewidth problem, etc.). Let us concretely look at Vertex Cover. Any kernel with a linear number of vertices for Vertex Cover implies a constant factor polynomial-time approximation algorithm: into the approximate solution, put all the vertices that have been forced into the solution by the kernelization algorithm, and all the vertices of the kernelized instance. On the other hand, lower bounds on the approximation factor imply lower bounds on the size of a kernel. For example, under the Unique Games Conjecture, &lt;a href=&quot;http://dx.doi.org/10.1016/j.jcss.2007.06.019&quot; rel=&quot;nofollow&quot;&gt;Khot and Regev (JCSS 2008)&lt;/a&gt; rule out approximation algorithms for Vertex Cover with a ratio of any $c&amp;lt;2$, which rules out a kernel for Vertex Cover with at most $ck$ vertices, $c&amp;lt;2$, as well.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT: The argumentation for the kernel lower bound in the previous paragraph is very informal, and to the best of my knowledge it is open whether such lower bounds on the kernel size can be proven, even for Vertex Cover. As @Falk points out in the comments, the argument holds for most (all?) known kernels. However, I don't see how one could exclude the existence of kernelization algorithms where a feasible solution of the kernelized instance has a different approximation ratio than the corresponding solution in the initial instance.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then, there is the issue of PTAS versus FPTAS. If we want to find a solution within $(1+\epsilon)$ from optimal, we can parameterize by $1/\epsilon$. Then, a PTAS corresponds to an XP-algorithm in the parameterized setting, whereas an FPTAS corresponds to an FPT-algorithm. For an approximation lower bound, we may not expect an EPTAS for any problem whose standard parameterization is W[1]-hard: running the EPTAS with $\epsilon=1/(k+1)$ would solve the problem exactly in FPT time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, an FPT approximation algorithm is an algorithm with FPT running time and an approximation ratio which may depend on the parameter. For example, the standard parameterization of the Cliquewidth problem has an FPT approximation algorithm with approximation ratio $(2^{3k+2}-1)/k$ &lt;a href=&quot;http://dx.doi.org/10.1007/11604686_5&quot; rel=&quot;nofollow&quot;&gt;(Oum, WG 2005)&lt;/a&gt;, whereas the standard parameterization of Independent Dominating Set has no FPT approximation algorithm with performance ratio $g(k)$ for any computable function $g$, unless FPT=W[2] &lt;a href=&quot;http://dx.doi.org/10.1007/11847250_11&quot; rel=&quot;nofollow&quot;&gt;(Downey et al., IWPEC 2006)&lt;/a&gt;. See &lt;a href=&quot;http://dx.doi.org/10.1093/comjnl/bxm048&quot; rel=&quot;nofollow&quot;&gt;(Marx, The Computer Journal 2008)&lt;/a&gt; for a survey on FPT approximation.&lt;/p&gt;&#xA;" OwnerUserId="72" LastEditorUserId="72" LastEditDate="2011-05-25T18:09:37.330" LastActivityDate="2011-05-25T18:09:37.330" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="5575" PostTypeId="2" ParentId="5507" CreationDate="2011-03-20T16:17:22.403" Score="0" Body="&lt;p&gt;Both the (current) answers plus the comments answer all together. I thought I'd summarize here.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Completeness for a class is defined variably with respect to a given class; for example, NPC is usually defined wrt detpolytime (P) reductions, but sometimes also L (logspace) or even DLOGTIME (and SAT is NPC for all of these).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;There are known nontrivial proper subclasses of NP ($AC^0[p]$).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;So the claim made in the first sentence of my OP is true, but only with the common assumption of P-reductions. &lt;/p&gt;&#xA;" OwnerUserId="497" LastActivityDate="2011-03-20T16:17:22.403" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5576" PostTypeId="2" ParentId="45" CreationDate="2011-03-20T16:21:45.653" Score="11" Body="&lt;p&gt;My recommendation: &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;for newbie computer scientists:&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;1- &lt;a href=&quot;http://www.wisdom.weizmann.ac.il/~dinuri/mypapers/ICM.pdf&quot; rel=&quot;nofollow&quot;&gt;Probabilistically Checkable Proofs and Codes&lt;/a&gt; by Irit Dinur&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2- &lt;a href=&quot;http://people.csail.mit.edu/madhu/papers/2009/pcpcacm.pdf&quot; rel=&quot;nofollow&quot;&gt;Probabilistically checkable proofs&lt;/a&gt; by Madhu Sudan&lt;/p&gt;&#xA;&#xA;&lt;p&gt;3- Chapter 9 from &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/052188473X&quot; rel=&quot;nofollow&quot;&gt;Goldreich book: Computational complexity, A conceptual perspective&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;for professional computer scientists: &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;1- &lt;a href=&quot;http://www.wisdom.weizmann.ac.il/~dinuri/mypapers/combpcp.pdf&quot; rel=&quot;nofollow&quot;&gt;The PCP Theorem by Gap Amplification&lt;/a&gt; by Irit Dinur&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2- &lt;a href=&quot;http://people.csail.mit.edu/dmoshkov/courses/pcp/dinur_pcp_overview.pdf&quot; rel=&quot;nofollow&quot;&gt;On Dinur’s Proof of the PCP Theorem&lt;/a&gt; by jaikumar Radhakrishnan and Madhu Sudan&lt;/p&gt;&#xA;&#xA;&lt;p&gt;3- Chapter 22 from &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0521424267&quot; rel=&quot;nofollow&quot;&gt;Arora and barak book: COMPUTATIONAL COMPLEXITY A Modern Approach&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;4- &lt;a href=&quot;http://www.tcs.tifr.res.in/~prahladh/papers/thesis/phdthesis.ps&quot; rel=&quot;nofollow&quot;&gt;Robust PCPs of Proximity and Shorter PCPs&lt;/a&gt; by Prahladh Harsha (that covers first proof of the PCP therorem)&lt;/p&gt;&#xA;" OwnerUserId="4222" LastEditorUserId="4222" LastEditDate="2013-08-10T16:19:32.170" LastActivityDate="2013-08-10T16:19:32.170" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="5578" PostTypeId="1" AcceptedAnswerId="5587" CreationDate="2011-03-21T05:12:00.063" Score="11" ViewCount="1331" Body="&lt;p&gt;Merlin, who has unbounded computational resources, wants to convince Arthur that&#xA;$$m|\sum_{p\le N,\ p\text{ prime}}p^k$$&#xA;for $(N,m,k)$ with $k=O(\log N)$ and $m=O(N).$  Computing this sum in the straightforward way (modular exponentiation and addition) takes time $N(\log\log N)^{2+o(1)}$ with FFT-based multiplication.*  But Arthur can only perform $O(N)$ operations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Notation, for compatibility with earlier versions of this question: Let the sum equal $m\alpha$; then the question is whether $\alpha$ is an integer.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can Merlin convince Arthur with a string of length $O(N)$?  If not, can he convince Arthur with an interactive proof (total communication, of course, must be $O(N)$)?  If so, could Merlin use a string of length $o(N)$? Could Arthur use $o(N)$ time?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Arthur has no access to nondeterminism or other special tools (quantum methods, oracles other than Merlin, etc.) but has $O(N)$ space if needed.  Of course Arthur need not compute the sum directly, he merely needs to be convinced that a given triple (N, m, k) makes the equation true or false.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that with $k=0$ it is possible to compute the sum in time $O(N^{1/2+\varepsilon})$ using the &lt;a href=&quot;http://www.dtc.umn.edu/~odlyzko/doc/arch/analytic.pi.of.x.pdf&quot; rel=&quot;nofollow&quot;&gt;Lagarias-Odlyzko&lt;/a&gt; method.  For $k&amp;gt;0$ the sum is superlinear and so cannot be stored directly (without, e.g., modular reduction) but it's not clear whether a fast algorithm exists.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would also be interested in any algorithm to calculate the sum (modular or otherwise) other than by direct powering and addition.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;*&lt;/em&gt; $N/\log N$ numbers to calculate, time $\lg k\log N(\log\log N)^{1+o(1)}=\log N(\log\log N)^{2+o(1)}$ for each calculation.&lt;/p&gt;&#xA;" OwnerUserId="962" LastEditorUserId="962" LastEditDate="2011-03-21T18:36:43.163" LastActivityDate="2011-11-28T22:39:05.040" Title="Can Merlin convince Arthur about a certain sum?" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;time-complexity&gt;&lt;interactive-proofs&gt;&lt;nt.number-theory&gt;" AnswerCount="3" CommentCount="14" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="5579" PostTypeId="1" CreationDate="2011-03-21T10:29:03.320" Score="1" ViewCount="218" Body="&lt;p&gt;Suppose I have a set of squares. I get them in iterative way – one after another.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would like to place the squares  in some structure according to set of rules:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;When a new square arrives all squares which arrived before it are already placed. The new square arrives with dependency flag to one of squares, which was treated. The dependency flag can be L or R.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If the dependency  is L and a new square i depends on j it can be placed:&#xA;&lt;img src=&quot;https://i.stack.imgur.com/qVsqg.jpg&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If the dependency  is R and a new square i depends on j it can be placed:&#xA;&lt;img src=&quot;https://i.stack.imgur.com/id86u.jpg&quot; alt=&quot;enter image description here&quot;&gt;&#xA;Note: In general we have to use placement options the preferable placement is 1&#xA;if it is impossible 2 or 3 (2/3 have the same priorety) 4,5 are used only if it is impossible to use one of 1,2,3.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If j is totally surrounded by another squares i is placed &quot;after&quot; surrounding squares based on dependency flag.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;The placement goal is to generate as compact a &quot;mesh&quot; as possible.&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example if squares arrive in the format: new_square, dependent_on_square, dependency_flag&lt;/p&gt;&#xA;&#xA;&lt;p&gt;And we have &lt;/p&gt;&#xA;&#xA;&lt;p&gt;1, NULL, NULL&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2, 1, R&lt;/p&gt;&#xA;&#xA;&lt;p&gt;3, 2, R&lt;/p&gt;&#xA;&#xA;&lt;p&gt;4, 2, L&lt;/p&gt;&#xA;&#xA;&lt;p&gt;5, 4, L&lt;/p&gt;&#xA;&#xA;&lt;p&gt;6, 5, L&lt;/p&gt;&#xA;&#xA;&lt;p&gt;7, 6, L&lt;/p&gt;&#xA;&#xA;&lt;p&gt;8, 7, L&lt;/p&gt;&#xA;&#xA;&lt;p&gt;9, 8, L&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is possible to create two arrangement 1) compact  2) not compact&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/SJ6FL.jpg&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Definition for compact layout(placement):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we will pad the acquired layout with empty squares ,in such a way that we will get rectangular the number of empty squares will be minimumal in obtained layout.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note : The rectangular obtained as a result of padding shoud be as small as possible.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I mean that if the width if layout before padding is w the  generated rectangular will be by width w.(The same regarding the height) .&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Demonstartion in the above examples&#xA;&lt;img src=&quot;https://i.stack.imgur.com/CCAHX.jpg&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Could someone propose an algorithm to do such kind of placement?&lt;/strong&gt;&lt;/p&gt;&#xA;" OwnerUserId="1648" LastEditorUserId="1648" LastEditDate="2011-03-21T19:49:18.463" LastActivityDate="2011-03-21T19:49:18.463" Title="constraints placement question" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;puzzles&gt;" AnswerCount="0" CommentCount="9" FavoriteCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5582" PostTypeId="2" ParentId="5572" CreationDate="2011-03-21T15:49:06.947" Score="7" Body="&lt;p&gt;There is known theorem [1,Theorem 3.1], characterizing approximation class &lt;span class=&quot;math-container&quot;&gt;$FPTAS$&lt;/span&gt; through parameterized class &lt;span class=&quot;math-container&quot;&gt;$PFPT$&lt;/span&gt;:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Let &lt;span class=&quot;math-container&quot;&gt;$Q=(I_Q, S_Q, f_Q, opt_Q)$&lt;/span&gt; be a scalable &lt;span class=&quot;math-container&quot;&gt;$NP$&lt;/span&gt; optimization problem. Then &lt;span class=&quot;math-container&quot;&gt;$Q$&lt;/span&gt; has an &lt;span class=&quot;math-container&quot;&gt;$FPTAS$&lt;/span&gt; if and only if &lt;span class=&quot;math-container&quot;&gt;$Q$&lt;/span&gt; is in &lt;span class=&quot;math-container&quot;&gt;$PFPT$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;In turn, &lt;span class=&quot;math-container&quot;&gt;$PFPT$&lt;/span&gt; is defined as:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;An &lt;span class=&quot;math-container&quot;&gt;$NP$&lt;/span&gt; optimization problem &lt;span class=&quot;math-container&quot;&gt;$Q$&lt;/span&gt; is polynomial fixed-parameter tractable (&lt;span class=&quot;math-container&quot;&gt;$PFPT$&lt;/span&gt;) if its parameterized version is solvable in time &lt;span class=&quot;math-container&quot;&gt;$O(|x|^{O(1)}k^{O(1)})$&lt;/span&gt;, where &lt;span class=&quot;math-container&quot;&gt;$|x|$&lt;/span&gt; - the size of the input instance &lt;span class=&quot;math-container&quot;&gt;$x$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Another characterizations for two approximation classes are proposed in [2,Theorem 6.5].&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;A problem is&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;in &lt;span class=&quot;math-container&quot;&gt;$PTAS$&lt;/span&gt; if and only if it has a &lt;span class=&quot;math-container&quot;&gt;$ptas^{\infty}$&lt;/span&gt; and its standard parameterization is in &lt;span class=&quot;math-container&quot;&gt;$XP^w$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;in &lt;span class=&quot;math-container&quot;&gt;$FPTAS$&lt;/span&gt; if and only if it has an &lt;span class=&quot;math-container&quot;&gt;$fptas^{\infty}$&lt;/span&gt; with a polynomially-bounded threshold function and its standard parameterization is in &lt;span class=&quot;math-container&quot;&gt;$PFPT^w$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Here &lt;span class=&quot;math-container&quot;&gt;$(f)ptas^{\infty}$&lt;/span&gt; means asymptotic (fully) polynomial approximation scheme, standard parametrization - decision version of an optimization problem, &lt;span class=&quot;math-container&quot;&gt;$(XP)PFPT^w$&lt;/span&gt; - corresponding classes of decision problems for which an algorithm which decides them returns a witness if the answer is Yes, threshold function - function depending on error &lt;span class=&quot;math-container&quot;&gt;$\frac{1}{\epsilon}$&lt;/span&gt; and bounding from below an optimum value.&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://books.google.com/books?hl=en&amp;amp;lr=&amp;amp;id=zw_phoON4EkC&amp;amp;oi=fnd&amp;amp;pg=PA500#v=onepage&amp;amp;q&amp;amp;f=false&quot; rel=&quot;noreferrer&quot;&gt;Polynomial time approximation schemes and parameterized complexity&lt;/a&gt;. J. Chen et al. / Discrete Applied Mathematics 155 (2007) 180 – 193.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.159.2135&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;noreferrer&quot;&gt;Structure of Polynomial-Time Approximation&lt;/a&gt;. E. J. van Leeuwen et al. Technical Report UU-CS-2009-034, December 2009.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="1060" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2011-03-21T16:52:58.007" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5584" PostTypeId="1" AcceptedAnswerId="5589" CreationDate="2011-03-21T16:05:58.657" Score="10" ViewCount="698" Body="&lt;p&gt;There are many examples in combinatorics and computer science where we can analyze a graph-theoretic problem but for the problem's hypergraph analog, our tools are lacking.  Why do you think problems often become much harder over 3-uniform hypergraphs than over 2-uniform graphs?  What are the root difficulties?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One issue is that we don't, as of yet, have a satisfactory understanding of spectral hypergraph theory.  Please feel free to shed more light on this issue.  But I'm also looking for other reasons which make hypergraphs more difficult objects.&lt;/p&gt;&#xA;" OwnerUserId="15" LastActivityDate="2011-03-22T03:14:57.480" Title="What are the root difficulties in going from graphs to hypergraphs?" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;hypergraphs&gt;" AnswerCount="4" CommentCount="6" FavoriteCount="7" ContentLicense="CC BY-SA 2.5" />
  <row Id="5585" PostTypeId="2" ParentId="5584" CreationDate="2011-03-21T17:12:30.010" Score="2" Body="&lt;p&gt;I was first going to answer the wrong question : &quot;which example of problems are much harder in hypergraphs than in graphs&quot;. I was particularly impressed by the difference in dealing with the maximum matching problem in graphs, and the same with hypergraphs (a set of pairwise disjoint edges), which very easily can model coloring, max independent set, max clique...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then I noticed it was not your question : &quot;what are the root difficulties between the two ?&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Well, to that one I would answer that up to now I haven't seen much common points between graphs and hypergraphs.&#xA;Except the name itself.&#xA;And the fact that a lot of people are trying to &quot;extend&quot; the results from the first to the other.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I had the occasion to flip the pages of Berge's &quot;Hypergraphs&quot; and Bollobas' &quot;Set systems&quot; : they contain many tasty results, and the ones I found the most interesting had few to say about graphs. For instance Baranyai's theorem (there is a nice proof in Jukna's book).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I don't know much of them but I am thinking about a hypergraph problem right now and all I can say about it is that I don't feel any graph lurking anywhere around. Perhaps we think of them as &quot;difficult&quot; because we are just trying to study them with the wrong tools. I don't expect the graph problems I'm working on to vanish immediately by using number theory (even though it happens sometimes).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Oh, and something else. They are perhaps harder to study because they are combinatorially much.... more ?!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&quot;try them all and see when it works&quot; is sometimes a good idea for graphs, but with hypergraphs one it quickly humbled by the numbers. :-)&lt;/p&gt;&#xA;" OwnerUserId="1209" LastActivityDate="2011-03-21T17:12:30.010" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5586" PostTypeId="2" ParentId="5578" CreationDate="2011-03-21T18:27:38.317" Score="5" Body="&lt;p&gt;This is not a full answer, but rather a special case (for a larger value of $k$ than you consider), which I had originally posted as a comment. In the case that $k=x \phi(m)$ (for some integer $x$) there is a simple proof and Merlin's string can be of zero length. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;To do this, Arthur simply calculates $\phi(m)$. This can be done by factorising $m$ (which can be done in time sublinear in $N$ even using trial division). Since $p^{x \phi(m)} \equiv 0 \mbox{ mod } m$ for all $p|m$, and $p^{x \phi(m)} \equiv 1 \mbox{ mod } m$ otherwise, if $k=x \phi(m)$ then we have $\sum_{p \leq N, p~prime} p^{k} \equiv \pi(N) - y \mbox{ mod } m$, where $y$ is the number of distinct prime divisors of $m$. As pointed out in the comment section $\pi(N)$ can be calculated in time sublinear in $N$, and hence this sum can be directly calculated by Arthur.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Further, for the special case that $1&amp;lt;N&amp;lt;m$ then the sum cannot equal $m\alpha$, as $1&amp;lt;\pi(N)&amp;lt;m$.&lt;/p&gt;&#xA;" OwnerUserId="204" LastEditorUserId="204" LastEditDate="2011-03-21T18:34:56.310" LastActivityDate="2011-03-21T18:34:56.310" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5587" PostTypeId="2" ParentId="5578" CreationDate="2011-03-21T19:23:31.523" Score="7" Body="&lt;p&gt;I am posting this seperately from my earlier special case, because I believe it is a different approach to the problem, and has little relation to my other answer. It may not be exactly what you are looking for, but it is simple, and gets close.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is a proof which Arthur will always accept whe the proof is correct, but will reject with probability $\frac{1}{(\log \log N)^{2+o(1)}}$. Here's how it works: Merlin sends Arthur the pair $(p_i,c_i = p_i^k\mbox{ mod }m)$ for each prime $p\leq N$. Arthur verifies the sum (taking time $O(N/\log(N)) \times O(\log(N)) = O(N)$). Arthur the checks that the correct number of primes was supplied (by calculating $\pi(N)$) which is sublinear in $N$. Lastly, for $S N$ random pairs, he confirms that $p$ is prime and that $p_i^k \equiv c_i \mbox{ mod }m$. This takes time $SN~O((\log \log N)^{2+o(1)})$. Taking $S = (\log \log N)^{-(2+o(1))}$, we obtain a linear time scaling. Thus, a fraction $S$ of all pairs are verified. If any of these fail, Arthur will of course reject. For Arthur to accept an incorrect proof, there must be at least one pair which fails one of these two tests (or the number of pairs must be less than $\pi(N)$ which was earlier checked). Thus as a fraction $S$ of all pairs are checked, the test will fail for an incorrect proof with probability at least $S$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that for large $N$ this is much much better than random guessing, which succeeds with probability $\frac{1}{m} = \frac{1}{O(N)}$. &lt;/p&gt;&#xA;" OwnerUserId="204" LastEditorUserId="204" LastEditDate="2011-03-21T19:37:30.493" LastActivityDate="2011-03-21T19:37:30.493" CommentCount="10" ContentLicense="CC BY-SA 2.5" />
  <row Id="5588" PostTypeId="2" ParentId="5584" CreationDate="2011-03-21T21:03:33.270" Score="7" Body="&lt;p&gt;I think this is in large part due to Lawler's &quot;mystical power of twoness&quot; (the observation that many parameterized problems are in P for param=2 and NP-complete for param≥3). A graph is a thing that connects 2-tuples of vertices, and a hypergraph is a thing that connects k-tuples of vertices for k≥3.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, e.g., 2-SAT is in P, and is essentially a graph problem, whereas 3-SAT is a problem on 3-uniform hypergraphs and is NP-complete.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2011-03-21T21:03:33.270" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="5589" PostTypeId="2" ParentId="5584" CreationDate="2011-03-21T22:36:38.443" Score="8" Body="&lt;p&gt;In this question I understand &quot;difficulty&quot; refers not to &quot;difficult to compute,&quot; but to &quot;difficult to study.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Graph problems are easier (at least for me) to study since some concepts happen to be equivalent.  In other words, if you want to generalize questions for graphs to those for hypergraphs, you need to pay attention to the &quot;right&quot; generalization so that the desired consequence can be obtained.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, consider a tree.  For graphs, a graph is a tree if it is connected and contains no cycle.  This is equivalent to being connected and having n-1 edges (where n is the number of vertices), and also equivalent to containing no cycle and having n-1 edges.  However, for 3-uniform hypergraphs, let's say a 3-uniform hypergraph is a tree if it is connected and contains no cycle.  But, this is not equivalent to being connected and having n-1 hyperedges, nor to containing no cycle and having n-1 hyperedges.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I've heard a main difficulty to prove the regularity lemma for uniform hypergraphs was to come up with the right definitions of regularity and related concepts.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;When you want to consider &quot;spectral hypergraph theory,&quot; you may try to look into tensors, or into homology if you see a k-uniform hypergraph as a (k-1)-dimensional simplicial complex, from which linear algebra naturally arises.  I don't know which is the &quot;right&quot; generalization for your purpose, or it's possible that neither is right.&lt;/p&gt;&#xA;" OwnerUserId="2955" LastActivityDate="2011-03-21T22:36:38.443" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5590" PostTypeId="2" ParentId="5584" CreationDate="2011-03-22T03:14:57.480" Score="5" Body="&lt;p&gt;Another reason would be that we have much more knowledge in &lt;em&gt;binary relations&lt;/em&gt; than any other n-ary relations for n greater than 2.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Naturally we consider binary relations between objects, like adjacency, nonempty intersection, equivalence, etc. So we can define graphs in terms of binary relations, and even define graph based on some binary relation on another graph. (For example, line graphs, clique trees, tree decompositions...)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But as for other n-ary relations, we do not have much understanding. For example, it takes some time to come up with an interesting ternary relation; (Okay, partially due to my ignorance) properties are weaker and tools are much lesser in the study of ternary relations. (How do we define &lt;em&gt;symmetric&lt;/em&gt; or &lt;em&gt;transitive&lt;/em&gt; ternary relations? Both of them are among the most important relations one can study.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But still I don't know why this happens between binary and ternary relations. Maybe as  turkistany said this question is hard and may be related to the understanding of P/NP problem.&lt;/p&gt;&#xA;" OwnerUserId="1800" LastActivityDate="2011-03-22T03:14:57.480" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="5591" PostTypeId="1" AcceptedAnswerId="5600" CreationDate="2011-03-22T04:59:53.777" Score="7" ViewCount="692" Body="&lt;p&gt;Consider a minimax problem of the form:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\min_{x\in X} \max_{u\in U} f(x,u)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The outer problem $\min_{x\in X} f(x,u)$ for any given $u$ is polynomially solvable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If the inner problem $\max_{u\in U} f(x,u)$ for any given $x$ is NP-Hard, is the entire problem also NP-Hard?&lt;/p&gt;&#xA;" OwnerUserId="4040" LastActivityDate="2011-03-22T17:57:02.453" Title="Is minimax problem NP-Hard when the inner problem is NP-Hard ?" Tags="&lt;cc.complexity-theory&gt;&lt;optimization&gt;" AnswerCount="1" CommentCount="8" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="5593" PostTypeId="1" AcceptedAnswerId="5594" CreationDate="2011-03-22T07:52:24.847" Score="10" ViewCount="744" Body="&lt;p&gt;Let $L$ be a context-free language. Define $ppc(L)$ to be the pre- and postfix closure of $L$, in other words, $ppc(L)$ contains all of $L$'s prefixes and postfixes, and hence $L$ itself. My question: if $L$ is context-free and has a non-ambiguous grammar, is the same true for $ppc(L)$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I believe that this kind of basic question would already have been resolved in the heyday of language theory, but I could not find a suitable reference.&lt;/p&gt;&#xA;" OwnerUserId="898" LastActivityDate="2011-03-22T08:49:15.083" Title="Closure of unambiguous context-free languages under pre- and postfix." Tags="&lt;fl.formal-languages&gt;&lt;automata-theory&gt;&lt;grammars&gt;&lt;context-free-languages&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5594" PostTypeId="2" ParentId="5593" CreationDate="2011-03-22T08:49:15.083" Score="12" Body="&lt;p&gt;The set $\mathit{ppc}(L)$ is certainly context-free, but I think it can be inherently ambiguous: consider&#xA;$$L=\{a^mb^mc^nd\mid m,n\geq 0\}\cup\{da^mb^nc^n\mid m,n\geq 0\}\;,$$ then $\mathit{ppc}(L)$ includes the classical inherently ambiguous language $$L&amp;#39;=\{a^mb^mc^n\mid m,n\geq 0\}\cup\{a^mb^nc^n\mid m,n\geq 0\}\;,$$ and one can prove $\mathit{ppc}(L)$ is also inherently ambiguous by the usual argument (apply Ogden's Lemma to both $a^{n+n!}b^nc^n$ and $a^nb^nc^{n+n!}$ to deduce the existence of two distinct trees for $a^{n+n!}b^{n+n!}c^{n+n!}$). &lt;/p&gt;&#xA;" OwnerUserId="609" LastActivityDate="2011-03-22T08:49:15.083" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="5596" PostTypeId="1" CreationDate="2011-03-22T15:01:40.303" Score="5" ViewCount="231" Body="&lt;p&gt;I have the following problem:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a set of path existence/absence constraints &lt;strong&gt;C&lt;/strong&gt; (not necessarily for all pairs of vertices) and a (fixed) set of vertices &lt;strong&gt;V&lt;/strong&gt;, generate a random DAG, s.t. &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;it is acyclic (by definition),&lt;/li&gt;&#xA;&lt;li&gt;it contains all vertices of &lt;strong&gt;V&lt;/strong&gt;,&lt;/li&gt;&#xA;&lt;li&gt;all constraints in &lt;strong&gt;C&lt;/strong&gt; hold,&lt;/li&gt;&#xA;&lt;li&gt;each possible DAG (given the specific constraints) should be generated with equal probability.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The type of the constraints should be self-explanatory, but in case it is not I can edit the question to provide additional information.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Intuitively I would say that the problem should be NP-hard.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The question is:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Are there any known results on this problem?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Thanks in advance,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;George&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit: added &quot;(not necessarily for all pairs of vertices)&quot; in the problem definition.&lt;/p&gt;&#xA;" OwnerUserId="1657" LastEditorUserId="186" LastEditDate="2011-03-22T22:56:35.757" LastActivityDate="2011-03-24T23:29:49.853" Title="Is there any known work on generating random uniformly distributed DAGs given a set of path existence/absence constraints?" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;randomness&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="5597" PostTypeId="2" ParentId="791" CreationDate="2011-03-22T16:43:32.170" Score="4" Body="&lt;p&gt;This is not a real answer, either. Certainly the problem here is the presence of an astronomical number of symmetries, which fool even the best SAT solvers on the best supercomputers. Such symmetries map solutions to solutions and non-solutions to non-solutions: in this case probably there is an immense number of almost-solutions (i.e. assignments satisfying all but a small amount of clauses), each of which can be obtained by any other applying a proper symmetry. Hence the solver wastes an enormous amount of time trying each of these almost-solutions, while in a certain sense they are all the same.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Exploiting symmetries (see &lt;a href=&quot;http://www.aloul.net/Papers/faloul_sat02_sym.pdf&quot; rel=&quot;nofollow&quot;&gt;this&lt;/a&gt; paper) should be an avenue to explore in order to attack this hard 17x17 instance and make some progress on it. I wonder if anyone already tried to do so.&lt;/p&gt;&#xA;" OwnerUserId="947" LastActivityDate="2011-03-22T16:43:32.170" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="5598" PostTypeId="1" AcceptedAnswerId="5602" CreationDate="2011-03-22T16:53:20.943" Score="6" ViewCount="489" Body="&lt;p&gt;I know the &lt;a href=&quot;http://en.wikipedia.org/wiki/Blum%E2%80%93Shub%E2%80%93Smale_machine&quot; rel=&quot;nofollow&quot;&gt;Blum-Shub-Smale model&lt;/a&gt;. It is claimed to provide a theoretical framework for algorithms in real and complex algebra and analysis.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A very general question:&#xA;Most algorithms compromise of&#xA;finite input - finite computation steps - finite output&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, in mathematics most schemes which one could call algorithmic actually compromise infinitely many iterations. Just to name a few:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Iteration to construct fix-points of contractive maps&lt;/li&gt;&#xA;&lt;li&gt;Iterative solvers in numerical analysis&lt;/li&gt;&#xA;&lt;li&gt;Newtons method&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I know the last one is treated in the classical book &quot;Complexity and Real Computation&quot; by Blum, Cucker, Shub &amp;amp; Smale, but there does not seem to exist a generalization which puts &quot;iterative&quot; algorithms onto solid foundations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit:&#xA;Yes, the question: &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;How can you deal with these iterative algorithms (which as such are not necessarily supposed to finish)?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Addendum:&#xA;I always wondered whether there might be something like a BSS-like model, which is tailored for numerical analysis - in that it does formalize errors, inexactness, approximate solutions, and does not allow for &quot;unreasonable&quot; computing power. And is easy to access.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The book mentioned above is concerned about this gap, too:&#xA;&quot;There is not even a formal definition of algorithm in the subject [of numerical analysis]&quot; (p. 23). However, it does not seem their approach suits this need. On the other hand, the monograph Andrej mentions does include a book which heads towards this direction. &lt;/p&gt;&#xA;" OwnerUserId="4346" LastEditorUserId="186" LastEditDate="2011-03-22T22:46:38.943" LastActivityDate="2011-03-23T20:00:56.420" Title="Iterative algorithms in algebraic complexity (Blum-Shub-Smale-Model)" Tags="&lt;cc.complexity-theory&gt;&lt;algebraic-complexity&gt;&lt;computing-over-reals&gt;&lt;na.numerical-analysis&gt;&lt;computable-analysis&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="5599" PostTypeId="2" ParentId="5596" CreationDate="2011-03-22T17:39:44.300" Score="4" Body="&lt;p&gt;There is some work concerning random orders. Good and slightly outdated survey is $[1]$. In this survey you can find description for the basic models of random orders: uniform model, model of random graphs orders and model of random $k$-dimensional orders. It should be noted that these models are derived for arbitrary random orders and maybe you won't find there results on generation of random orders which are extensions of the given partial order.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Brightwell G. &lt;a href=&quot;http://books.google.com/books?hl=en&amp;amp;lr=&amp;amp;id=lrRk6gktTRcC&amp;amp;oi=fnd&amp;amp;pg=PA53&amp;amp;dq=%22Models+of+Random+Partial+Orders%22&amp;amp;ots=W9FhY-fJYO&amp;amp;sig=Iv7yQ_STw59Gt6nNv7vMHNiXf8M&quot; rel=&quot;nofollow&quot;&gt;Models of Random Partial Orders&lt;/a&gt;. Surveys in combinatorics, 1993.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="1060" LastActivityDate="2011-03-22T17:39:44.300" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5600" PostTypeId="2" ParentId="5591" CreationDate="2011-03-22T17:57:02.453" Score="13" Body="&lt;p&gt;The answer to your question is &quot;no&quot;, although for natural problems that you might be thinking about, it may be a good heuristic that if the inner problem is NP hard, the whole problem is probably hard as well. But you can come up with the following contrived counterexample.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $X = \{0,1\}$ and $U = \{0,1\}^n$, and let $\phi$ and $\theta$ be two 3SAT instances with the promise that exactly one of them is satisfiable. Let $f(0,u) = \phi(u)$ and let $f(1,u) = \theta(u)$. Then the minmax value is always 0, so computing it is in P, but for any fixed $x$, the problem is 3SAT and is NP hard.&lt;/p&gt;&#xA;" OwnerUserId="25" LastActivityDate="2011-03-22T17:57:02.453" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5601" PostTypeId="2" ParentId="5598" CreationDate="2011-03-22T18:12:27.380" Score="3" Body="&lt;p&gt;There are two examples of a complexity-theoretic study of iterative methods. The class &lt;a href=&quot;http://qwiki.stanford.edu/index.php/Complexity_Zoo%3aP#pls&quot; rel=&quot;nofollow&quot;&gt;PLS&lt;/a&gt; and the recent work by &lt;a href=&quot;http://www.siam.org/proceedings/soda/2011/SODA11_061_daskalakisc.pdf&quot; rel=&quot;nofollow&quot;&gt;Papadimitriou and Daskalakis&lt;/a&gt; on CLS: continuous local search. These might be useful (especially the latter as it deals with continuous domains)&lt;/p&gt;&#xA;" OwnerUserId="80" LastEditorUserId="80" LastEditDate="2011-03-23T20:00:56.420" LastActivityDate="2011-03-23T20:00:56.420" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5602" PostTypeId="2" ParentId="5598" CreationDate="2011-03-22T18:36:18.957" Score="9" Body="&lt;p&gt;Questions regarding real-number computation and infinite iteration, especially in analysis and topology, are studied in &lt;em&gt;constructive and computable analysis&lt;/em&gt;. Most people who work in this area will tell you that while the BSS model can be useful for certain kinds of computational complexity, it does not properly reflect computability on real numbers. The trouble is with the decidable $&amp;lt;$ relation on the reals, which is a basic building block in the BSS model.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are several computational models which capture both computation of (exact) real numbers and infinite computation. Your examples all reduce to computation of the limit of a convergent sequence whose rate of convergence is explicitly known. This is a well-studied situation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is one possible way of understanding computation on real numbers. I will use Haskell just for fun (usually these things get explained in terms of Turing machines). Let us think of a real number as a convergent sequence of rational approximations,&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;code&gt;type R = Int -&amp;gt; Rational&lt;/code&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;where we require that the $k$-th approximation is at most $2^{-k}$ away from the limit (we could have chosen some other rate of convergence, too, or we could have equipped each approximation sequence with information about the rate of convergence--the important thing is that the rate of convergence has to be provided explicitly).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Addition can be defined as follows:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;code&gt;add x y = \k -&amp;gt; x (k+1) + y (k+1)&lt;/code&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Exercise: define multiplication and other arithmetic operations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now to get infinite iteration going, we need an operation &lt;code&gt;lim&lt;/code&gt; which takes a Cauchy sequence and computes its limit. More precisely, &lt;code&gt;lim&lt;/code&gt; takes &lt;em&gt;two&lt;/em&gt; arguments: a Cauchy sequence $(a_n)_n$ and its &lt;em&gt;modulus of convergence&lt;/em&gt; $m$, which is a map $m : \mathbb{N} \to \mathbb{N}$ such that $a_{m(k)}$ is at most $2^{-k}$ away from the limit of $(a_n)_n$. In Haskell:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;code&gt;lim :: (Int -&amp;gt; R) -&amp;gt; (Int -&amp;gt; Int) -&amp;gt; R&lt;/code&gt;&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;&lt;code&gt;lim a m = \k -&amp;gt; a (m (k+1)) (k+1)&lt;/code&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Exercise: compute $\sqrt{r}$ as the limit of the sequence obtained by Newton's method for finding the positive root of $x^2 - r$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is just a very brief outline on how to do things. To find out more, visit the &lt;a href=&quot;http://cca-net.de/&quot; rel=&quot;nofollow&quot;&gt;CCA net&lt;/a&gt; web site, especially the &lt;a href=&quot;http://cca-net.de/publications/books.html&quot; rel=&quot;nofollow&quot;&gt;Texts and Monographs&lt;/a&gt; page.&lt;/p&gt;&#xA;" OwnerUserId="705" LastActivityDate="2011-03-22T18:36:18.957" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5604" PostTypeId="2" ParentId="791" CreationDate="2011-03-22T22:30:11.110" Score="3" Body="&lt;p&gt;Again, not a real answer, but anyway, here are some thoughts on adopting graph colouring algorithms for this problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let us say that a set $I$ of grid positions is &lt;em&gt;an independent set&lt;/em&gt; if set $I$ does not contain all four corners of some rectangle. Define a &lt;em&gt;maximal&lt;/em&gt; independent set in the obvious way. Now the following are equivalent claims:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;$n$-by-$m$ grid can be coloured with $k$ colours.&lt;/li&gt;&#xA;&lt;li&gt;$n$-by-$m$ grid can be covered with $k$ independent sets.&lt;/li&gt;&#xA;&lt;li&gt;$n$-by-$m$ grid can be covered with $k$ maximal independent sets.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Now, the interesting thing is that covering with independent sets can be done in time $\log k\ \text{poly}(nm)2^{nm}$ using fast covering product algorithm (&lt;a href=&quot;http://arxiv.org/pdf/cs/0611101v1&quot; rel=&quot;nofollow&quot;&gt;Björklund et al. 2007&lt;/a&gt;). This is certainly is an improvement over trivial $k^{mn}$ algorithm, though $2^{289}$ seems still unsurmountable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If the family of all (maximal) independent set has sufficiently nice structure, it might also be possible to fine-tune the covering product algorithm.&lt;/p&gt;&#xA;" OwnerUserId="290" LastActivityDate="2011-03-22T22:30:11.110" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="5605" PostTypeId="2" ParentId="1168" CreationDate="2011-03-22T23:38:39.917" Score="15" Body="&lt;p&gt;R. Moser and G. Tardos: &lt;a href=&quot;http://arxiv.org/abs/0903.0544&quot;&gt;A constructive proof of the general Lovasz Local Lemma&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In general the lovasz local lemma  is used to (noncronstructively) prove the existence of some (combinatorial) object. Moser and Tardos showed that you can efficiently find this object with a very simple algorithm (in most applications of the LLL).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Great result and nice paper!&lt;/p&gt;&#xA;" OwnerUserId="2517" LastActivityDate="2011-03-22T23:38:39.917" CommentCount="0" CommunityOwnedDate="2011-03-22T23:38:39.917" ContentLicense="CC BY-SA 2.5" />
  <row Id="5606" PostTypeId="1" AcceptedAnswerId="19425" CreationDate="2011-03-23T09:35:46.447" Score="9" ViewCount="329" Body="&lt;p&gt;I have been facinated by the extraordinary explosion in Smoothed Analysis and was struck by a assertion in the paper &lt;a href=&quot;http://www.roeglin.org/publications/IPCO05.pdf&quot;&gt;Smoothed Analysis of Integer Programming&lt;/a&gt;. This stated that Integer Linear Programming is in Smoothed P if Polynomially Bounded. This was essential true by the virtue that Integer Programming is Pseudo-polynomial!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The question therefore is:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Does this carry over to other problems universally? In particular what are the constraints?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="10136" LastEditorUserId="1800" LastEditDate="2011-03-23T11:51:30.213" LastActivityDate="2013-10-17T08:38:03.560" Title="Smoothed Analysis: If a Problem has Pseudopolynomial Complexity, is it in Smooth P?" Tags="&lt;cc.complexity-theory&gt;&lt;smoothed-analysis&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="5607" PostTypeId="1" CreationDate="2011-03-23T11:03:32.430" Score="2" ViewCount="104" Body="&lt;p&gt;Dear theorists and experimenters,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I find that &lt;a href=&quot;http://en.wikipedia.org/wiki/Kd-tree&quot; rel=&quot;nofollow noreferrer&quot;&gt;kd-tree&lt;/a&gt; search looks at many more leaves in $L_1$ than in&#xA;$L_{max}$ ($L_\infty$).&lt;br&gt;&#xA;Does anyone else see this ? If so,&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;why ?&#xA;(An $L_1$ simplex of volume 1 is much wider than a unit cube &amp;mdash;&#xA;the back of my envelope says ~ dim/$e$ &amp;mdash;&#xA;but that doesn't get me very far.)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;is there some way of using fast $L_{max}$ search to speed up slow $L_1$ ?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Some numbers for dim=16, on data uniform$^3$ to model some clumping:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;L1: 0.72 sec  p=1 dim=16 N=10000 nask=100 nnear=2 eps=0 leafsize=10&#xA;    100 queries looked at av 64 % of the 10000 points, 80 % of 1909 boxes&#xA;&#xA;L2: 0.36 sec  p=2 dim=16 N=10000 nask=100 nnear=2 eps=0 leafsize=10&#xA;    100 queries looked at av 25 % of the 10000 points, 37 % of 1909 boxes&#xA;&#xA;Lmax: 0.06 sec  p=inf dim=16 N=10000 nask=100 nnear=2 eps=0 leafsize=10&#xA;    100 queries looked at av 6.2 % of the 10000 points, 10 % of 1909 boxes&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;A plot of 5 queries:&#xA;&lt;img src=&quot;https://i.stack.imgur.com/tpMnw.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One sees here that the distances to box edges (blue) increase slowly in $L_1$&#xA;&amp;mdash;&lt;br&gt;&#xA;for this limited data.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Can someone please add tag &quot;kd-tree&quot;, thanks.)&lt;/p&gt;&#xA;" OwnerUserId="4355" LastEditorUserId="109" LastEditDate="2011-03-23T11:13:16.147" LastActivityDate="2011-03-23T11:13:16.147" Title="Does kd-tree search look at more leaves in L1 than in Lmax ?" Tags="&lt;ds.data-structures&gt;&lt;metrics&gt;" AnswerCount="0" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="5608" PostTypeId="1" CreationDate="2011-03-23T16:46:12.457" Score="2" ViewCount="856" Body="&lt;p&gt;I am trying to solve an optimization problem. I need some help in getting the results or survey on related issues. The question is a bit general but any help in identifying the correct sources would help.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are their any good survey work/tutorial/book that could provide information on the known algorithms and complexity results for $L_{0}$, $L_{1}$, $L_{2}$ optimization and also the relation among them for both sparse and general solutions?&lt;/p&gt;&#xA;" OwnerUserId="1812" LastEditorUserId="1800" LastEditDate="2011-03-24T05:31:44.333" LastActivityDate="2011-10-13T23:45:11.220" Title="Survey on Optimization algorithms" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;optimization&gt;&lt;survey&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="5609" PostTypeId="1" CreationDate="2011-03-23T17:36:04.583" Score="11" ViewCount="537" Body="&lt;p&gt;I am trying to find problems whose average-case space complexity has been analyzed. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;More specifically, I am interested to know if there are any  problems with a proven  space complexity lower bound that is  super-linear, and especially if there are any  with an  average-case analysis (e.g., the bound holds even if the algorithm is allowed to err for a small percentage of times etc. )&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks in advance&lt;/p&gt;&#xA;" OwnerUserId="4359" LastEditorUserId="4359" LastEditDate="2011-03-28T22:32:51.527" LastActivityDate="2011-03-30T02:29:50.350" Title="Average-case space complexity" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;space-bounded&gt;&lt;average-case-complexity&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="5611" PostTypeId="2" ParentId="4826" CreationDate="2011-03-23T18:09:59.843" Score="5" Body="&lt;p&gt;As Chandra Chekuri pointed out in a comment, you could just compute the transitive closure via fast matrix multiplication, solving the problem in O($n^\omega$) time (use your favorite method, O($n^{2.376}$) via Coppersmith and Winograd, or more practically using Strassen's O($n^{2.81}$)), and this would be good for dense graphs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, I claim that if you can beat this running time for your problem for dense graphs, you would obtain an algorithm for triangle detection which is more efficient than computing the product of two Boolean matrices. The existence of such an algorithm is a major open problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'll reduce the triangle problem to the n-pairs-DAG-reachability problem.&#xA;Suppose we are given a graph G on n nodes and we want to determine whether G contains a triangle. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, from G create a DAG G' as follows. Create four copies of the vertex set, $V_1$, $V_2$, $V_3$, $V_4$. For copies $u_i\in V_i$, $v_{i+1}\in V_{i+1}$ for $i=1,2,3$, add an edge $(u_i,v_{i+1})$ iff $(u,v)$ was in G.  Now if we ask whether there is a path between any of the pairs $(u_1, u_4)$ for all $u\in $G, then this would exactly be asking whether there is a triangle in $G$. The current graph has $4n$ nodes and we are asking about $n$ pairs. However, we can add $2n$ isolated dummy nodes and have $3n$ queries instead (by adding a query for $2n$ distinct pairs $(y,d)$ where $y\in V_2\cup V_3$ and $d$ a dummy), thus obtaining a $6n$-node instance of exactly your problem.&lt;/p&gt;&#xA;" OwnerUserId="410" LastActivityDate="2011-03-23T18:09:59.843" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5613" PostTypeId="1" CreationDate="2011-03-23T23:53:20.920" Score="6" ViewCount="1778" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Possible Duplicate:&lt;/strong&gt;&lt;br&gt;&#xA;  &lt;a href=&quot;https://cstheory.stackexchange.com/questions/2571/what-kind-of-mathematical-background-is-needed-for-complexity-theory&quot;&gt;What kind of mathematical background is needed for complexity theory?&lt;/a&gt;  &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&#xA;&#xA;&lt;p&gt;I'm a final year undergrad and I'm looking to pursue a PhD in theoretical computer science in the long term. I've been admitted to some great schools to do theory, I'm looking to defer all my admits to study math for a year &lt;a href=&quot;http://www.maths.cam.ac.uk/postgrad/mathiii/&quot; rel=&quot;nofollow noreferrer&quot;&gt;in the university&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'd very much appreciate your thoughts on the following couple of questions.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;So, given that I'm not really sure what sort of theory I want to be doing at grad school (as of now, algorithms and combinatorics) what sort of things should I be looking to study there?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;As someone who has studied computer science and not pure mathematics for the last few years, I want to take the next few months to prepare myself for the course. Can anyone recommend areas (and/or books) to bone up on before going there? &#xA;(Since for instance, I never formally studied abstract algebra or complex analysis)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Thanks.&lt;/p&gt;&#xA;" OwnerDisplayName="user4363" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2011-03-24T16:37:38.897" Title="Mathematical background needed for pursuing a PhD in TCS" Tags="&lt;reference-request&gt;&lt;co.combinatorics&gt;&lt;soft-question&gt;&lt;advice-request&gt;" AnswerCount="3" CommentCount="6" FavoriteCount="9" ClosedDate="2011-03-24T23:01:15.513" ContentLicense="CC BY-SA 2.5" />
  <row Id="5614" PostTypeId="1" CreationDate="2011-03-24T00:23:51.383" Score="10" ViewCount="603" Body="&lt;p&gt;In a nutshell, the &lt;a href=&quot;http://en.wikipedia.org/wiki/Time_hierarchy_theorem&quot;&gt;time hierarchy theorems&lt;/a&gt; say that a Turing machine can solve more problems if it has more time for computation. In detail for deterministic TM and time-constructable functions $f,g$ with $f(n) \log f(n) = o(g(n))$ it is&#xA;$$ DTIME(f(n)) \subsetneq DTIME(g(n))$$&#xA;and for nondeterministic TM and time-constructable functions $f,g$ with $f(n+1)=o(g(n))$ it is&#xA;$$ NTIME(f(n)) \subsetneq NTIME(g(n)).$$&#xA;There are a lot of (old and current) results which use the time hierarchy theorems to prove lower bounds. Here are my questions:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;What happens if we can prove a better&#xA;result for the deterministic or nondeterministic case?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;If we can prove that there is a gap&#xA;between the deterministic time&#xA;hierarchy and the nondeterministic&#xA;time hierarchy, does this imply $P \neq&#xD;&#xA;   NP$?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="2517" LastEditorUserId="2517" LastEditDate="2011-03-24T01:03:32.923" LastActivityDate="2012-01-09T23:43:17.263" Title="What happens if we improve the time hierarchy theorems?" Tags="&lt;cc.complexity-theory&gt;&lt;lower-bounds&gt;&lt;big-picture&gt;&lt;time-complexity&gt;&lt;time-hierarchy&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="5617" PostTypeId="1" CreationDate="2011-03-24T09:10:18.283" Score="2" ViewCount="251" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Possible Duplicate:&lt;/strong&gt;&lt;br&gt;&#xA;  &lt;a href=&quot;https://cstheory.stackexchange.com/questions/2017/limits-to-parallel-computing&quot;&gt;Limits to Parallel Computing&lt;/a&gt;  &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&#xA;&#xA;&lt;p&gt;A friend just asked me, if for every problem that takes time t on one processor, solving it on two processors will take t/2. Obviously, this is not known in the general case.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a counter examples to this? Meaning, is there a problem that is provably &quot;hard to parallel&quot;?&lt;/p&gt;&#xA;" OwnerUserId="81" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2011-03-25T02:10:44.047" Title="Is there a problem which is provably not parallelizable?" Tags="&lt;dc.parallel-comp&gt;" AnswerCount="0" CommentCount="7" FavoriteCount="1" ClosedDate="2011-03-24T23:03:30.457" ContentLicense="CC BY-SA 2.5" />
  <row Id="5618" PostTypeId="2" ParentId="5614" CreationDate="2011-03-24T09:17:18.187" Score="4" Body="&lt;p&gt;About your second question. No, that would not imply $P \neq NP$. Hierarchy theorems are mostly useful to determine the amount of a single resource needed by a TM so that additional problems can be solved.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, we know that $DTIME(n) \neq NTIME(n)$. Let $f(n) = n$, $g(n)$, $h(n)$ such that $f(n+1) = o(g(n))$ and $f(n)log(f(n)) = o ( h(n) )$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;From the hierarchy theorems it follows that $ DTIME( f(n) ) \subsetneq DTIME( g(n) )$ and $NTIME ( f(n) ) \subsetneq NTIME( h(n) )$.&#xA; Under those assumptions, $ NTIME( g(n) ) \subseteq DTIME( h(n) )$ is possible.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The hierarchy theorems can be used to determine relationships between resources, given an equality between them. For example , assume that&#xA;$ NTIME(2^{n}) = SPACE( n )$. We know that $NTIME( g(n) )$, for $g(n)$ such that $2^{n+1} = o(g(n))$, cannot be equal to $SPACE(n)$ , due to the NTIME hierarchy theorem.&lt;/p&gt;&#xA;" OwnerUserId="879" LastActivityDate="2011-03-24T09:17:18.187" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="5619" PostTypeId="1" AcceptedAnswerId="5628" CreationDate="2011-03-24T09:39:11.163" Score="25" ViewCount="7523" Body="&lt;p&gt;Stable Marriage Problem: &lt;a href=&quot;http://en.wikipedia.org/wiki/Stable_marriage_problem&quot; rel=&quot;noreferrer&quot;&gt;http://en.wikipedia.org/wiki/Stable_marriage_problem&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am aware that for an instance of a SMP, many other stable marriages are possible apart from the one returned by the Gale-Shapley algorithm. However, if we are given only $n$ , the number of men/women, we ask the following question - Can we construct a preference list that gives the maximum number of stable marriages? What is the upper bound on such a number?&lt;/p&gt;&#xA;" OwnerUserId="3777" LastEditorUserId="12438" LastEditDate="2012-11-13T08:42:29.610" LastActivityDate="2019-04-06T08:24:52.117" Title="What is the maximum number of stable marriages for an instance of the Stable Marriage Problem?" Tags="&lt;ds.algorithms&gt;&lt;co.combinatorics&gt;&lt;graph-algorithms&gt;&lt;heuristics&gt;&lt;matching&gt;" AnswerCount="5" CommentCount="0" FavoriteCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="5620" PostTypeId="2" ParentId="5613" CreationDate="2011-03-24T09:46:33.407" Score="2" Body="&lt;p&gt;I am in a similar position as you and I have asked this before (see link &lt;a href=&quot;https://cstheory.stackexchange.com/questions/2571/what-kind-of-mathematical-background-is-needed-for-complexity-theory&quot;&gt;1&lt;/a&gt;). Studying only mathematics for a year is not necessary, but it's up to you to determine how comfortable you are wuth math. Many TCS papers contain a lot of math, which can be daunting, especially if they are not from your area of expertise. I am learning as I go for more than half a year now and I have accumulated more knowledge than I had in the past two years studying. TCS.SE has been a very good stimuli, since I am exposed to problems that I normally wouldn't, unless I attended a dozen of conferences or so.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, studying only mathematics for a year can be dangerous, too. First of all, you could be intimidated if you allow yourself to go too deep in a subject. Although some undestanding is required, some areas of mathematics are supposed to be only a tool by computer scientists. A certain level of knowledge is needed to effectively use the tool, but you don't have to know how exactly it works or how it would be improved. To reflect this, reverse your situation and assume you are a mathematician needing some programming skills. The amount of knowledge from TCS would be minimal, yet going too deep in TCS could lead to abandon your goal altogether.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The previous was a &quot;DFS&quot; kind of problem, i.e. going too deep. The other problem is expanding too much , i.e. BFS. There are many areas of mathematics with complex relations between them, sometimes even being incompatible. Fields are becoming more or less relevant as the knowledge of mathematics progresses and new breakthroughs arise. Simply put, you could be caught on the crazy new trend in mathematics, which can overstate or understate the importance of certain areas. That can be good if you are a mathematician, however it can serve as a distraction if you are a computer scientist. Some areas of mathematics may be irrelevant to your cause altogether. For a more hands-on example, consider a mechanical engineer. His machines follow the rules of quantum physics, but he doesn't care about that level of abstraction, he can work using classical mechanics and ignore the quantum level. Yet, it is possible that if he studies physics in detail quantum mechanics will stray him afar from his initial goals.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;All that said, although &quot;getting lost&quot; in mathematical knowledge is dangerous, going a bit further than needed is beneficial. This extra knowledge can help you see patterns and solutions that you wouldn't otherwise , expanding your &quot;arsenal&quot; with new thinking approaches. As you can see, at least in my opinion, knowing how far is far enough in terms of mathematical knowledge is not an easy problem (how ironic). That is why the &quot;learn as you go&quot; method is preferred, since you will have experienced computer scientists at your disposal to guide you. Your advisor and tutors can help you determine what you really need to know and when your mathematical studies get in the way of the computer science ones.&lt;/p&gt;&#xA;" OwnerUserId="879" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2011-03-24T09:46:33.407" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5622" PostTypeId="1" AcceptedAnswerId="5941" CreationDate="2011-03-24T12:17:31.157" Score="0" ViewCount="194" Body="&lt;p&gt;Imagine you have a list of (lat,lng) pairs. You have k employees. And you want each employee to visit roughly the same number of places, making the least distance possible.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I've tried to solve this with K-Means clustering, but found that it didn't produce clusters with the same number of elements.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is this possible? Is there a known algorithm that could solve this?&lt;/p&gt;&#xA;" OwnerUserId="3516" LastEditorUserId="186" LastEditDate="2011-03-24T21:49:04.190" LastActivityDate="2011-09-12T10:59:37.177" Title="clustering (lat,lng) pairs, with clusters having the same number of elements" Tags="&lt;ds.algorithms&gt;&lt;clustering&gt;" AnswerCount="3" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="5623" PostTypeId="2" ParentId="3253" CreationDate="2011-03-24T13:17:10.087" Score="18" Body="&lt;h2&gt;Combinatorics&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.math.upenn.edu/~wilf/DownldGF.html&quot; rel=&quot;noreferrer&quot;&gt;generatingfunctionology&lt;/a&gt;, by Herbert S. Wilf, is an excellent introduction to the theory of generating functions, written in a smooth way and packed with exercises. If he writes all his books like that, I can't wait to get started on another one.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www-math.mit.edu/~rstan/ec/ec1/&quot; rel=&quot;noreferrer&quot;&gt;Enumerative Combinatorics&lt;/a&gt; by Richard Stanley is a great reference (advanced).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.maths.qmul.ac.uk/~pjc/comb/&quot; rel=&quot;noreferrer&quot;&gt;Combinatorics: topics, techniques, algorithms&lt;/a&gt; by Peter Cameron and &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0198570422&quot; rel=&quot;noreferrer&quot;&gt;Invitation to Discrete Mathematics&lt;/a&gt; by Matousek and Nesetril are fine introductions to combinatorics.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://www.crcpress.com/Applied-Combinatorics-Second-Edition/Roberts-Tesman/9781420099829&quot; rel=&quot;noreferrer&quot;&gt;Applied Combinatorics&lt;/a&gt; by Roberts and Tesman is an encyclopaediac reference on applied combinatorics.&lt;/p&gt;&#xA;" OwnerUserId="775" LastEditorUserId="1700" LastEditDate="2016-02-07T11:06:47.660" LastActivityDate="2016-02-07T11:06:47.660" CommentCount="0" CommunityOwnedDate="2011-03-24T13:17:10.087" ContentLicense="CC BY-SA 3.0" />
  <row Id="5624" PostTypeId="2" ParentId="5613" CreationDate="2011-03-24T14:22:08.010" Score="4" Body="&lt;p&gt;do the tripos!&#xA;its an incredibly awesome opportunity and many of its alums are fantastic computer scientists.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;ultimately though its your life though  and you should do stuff because you'll enjoy it. &lt;/p&gt;&#xA;" OwnerUserId="18" LastActivityDate="2011-03-24T14:22:08.010" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5625" PostTypeId="2" ParentId="3253" CreationDate="2011-03-24T14:49:16.647" Score="22" Body="&lt;h2&gt;Combinatorics&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;I want to cite &lt;a href=&quot;http://algo.inria.fr/flajolet/Publications/book.pdf&quot; rel=&quot;noreferrer&quot;&gt;Analytic Combinatorics&lt;/a&gt;, by Philippe Flajolet and Robert Sedgewick. It provides a strong mathematical background for enumeration and analysis of algorithms. I want also to pay tribute to Philippe Flajolet, who died two days ago and was a great mathematician and computer scientist. &lt;/p&gt;&#xA;" OwnerUserId="2954" LastEditorUserId="44533" LastEditDate="2017-06-18T20:22:11.870" LastActivityDate="2017-06-18T20:22:11.870" CommentCount="0" CommunityOwnedDate="2011-03-24T14:49:16.647" ContentLicense="CC BY-SA 3.0" />
  <row Id="5626" PostTypeId="2" ParentId="5619" CreationDate="2011-03-24T15:17:05.563" Score="4" Body="&lt;p&gt;It is well known that an instance of $n$ men/women can have an exponential number ($O(2^n)$) of stable matchings, but giving a tight upper bound is still open.  See Encyclopedia of algorithms &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0387307702&quot; rel=&quot;nofollow&quot;&gt;http://www.amazon.com/dp/0387307702&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="3825" LastEditorUserId="3825" LastEditDate="2011-03-24T15:46:16.927" LastActivityDate="2011-03-24T15:46:16.927" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="5627" PostTypeId="2" ParentId="5613" CreationDate="2011-03-24T16:32:12.397" Score="2" Body="&lt;p&gt;Although a full answer may require knowing more about your situation and what you plan to research, you can't go too far wrong with some of the standard resources.  Fundamentally you need to be comfortable with discrete maths which is commonly said to include logic, discrete probability, combinatorics and so on. I would start by making sure you know the material in &lt;a href=&quot;http://courses.csail.mit.edu/6.042/fall10/mcs-ftl.pdf&quot; rel=&quot;nofollow&quot;&gt;http://courses.csail.mit.edu/6.042/fall10/mcs-ftl.pdf&lt;/a&gt; .  Once you have mastered that you are in a position to specialise a little and there is a world of online lecture notes you can use to either learn from directly or to inform your choice of course at Cambridge. Do you already know the material from &lt;a href=&quot;http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-046j-introduction-to-algorithms-sma-5503-fall-2005/&quot; rel=&quot;nofollow&quot;&gt;http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-046j-introduction-to-algorithms-sma-5503-fall-2005/&lt;/a&gt; and have you looked at advanced course such as &lt;a href=&quot;http://courses.csail.mit.edu/6.854/current/&quot; rel=&quot;nofollow&quot;&gt;http://courses.csail.mit.edu/6.854/current/&lt;/a&gt; or &lt;a href=&quot;http://courses.csail.mit.edu/6.851/spring10/lec.html&quot; rel=&quot;nofollow&quot;&gt;http://courses.csail.mit.edu/6.851/spring10/lec.html&lt;/a&gt;?   You could of course study computational complexity &lt;a href=&quot;http://www.cs.princeton.edu/theory/complexity/&quot; rel=&quot;nofollow&quot;&gt;http://www.cs.princeton.edu/theory/complexity/&lt;/a&gt; if you haven't already or coding theory &lt;a href=&quot;http://people.csail.mit.edu/madhu/FT02/&quot; rel=&quot;nofollow&quot;&gt;http://people.csail.mit.edu/madhu/FT02/&lt;/a&gt; or learn some algorithmic game theory &lt;a href=&quot;http://people.csail.mit.edu/costis/6896sp10/&quot; rel=&quot;nofollow&quot;&gt;http://people.csail.mit.edu/costis/6896sp10/&lt;/a&gt;. The options are endless.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If, on a more mundane note, you just want to take straight maths courses I would recommend anything in linear algebra, discrete probability, combinatorics, graph theory and group theory/fields and rings.  Oh and please complain that they don't have a decent computational complexity course in part III yet :)&lt;/p&gt;&#xA;" OwnerUserId="1864" LastEditorUserId="1864" LastEditDate="2011-03-24T16:37:38.897" LastActivityDate="2011-03-24T16:37:38.897" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5628" PostTypeId="2" ParentId="5619" CreationDate="2011-03-24T17:40:54.990" Score="25" Body="&lt;p&gt;For an instance with $n$ men and $n$ women, the trivial upper bound is $n!$, and nothing better is known. For a lower bound, &lt;a href=&quot;http://www-cs-faculty.stanford.edu/~uno/ms.html&quot;&gt;Knuth (1976)&lt;/a&gt; gives an infinite family of instances with $\Omega(2.28^n)$ stable matchings, and &lt;a href=&quot;http://dx.doi.org/10.1016/S0012-365X%2801%2900194-7&quot;&gt;Thurber (2002)&lt;/a&gt; extends this family to all $n$.&lt;/p&gt;&#xA;" OwnerUserId="72" LastActivityDate="2011-03-24T17:40:54.990" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="5629" PostTypeId="1" AcceptedAnswerId="5678" CreationDate="2011-03-24T18:25:31.623" Score="4" ViewCount="1584" Body="&lt;p&gt;Infeasibility of a system of linear inequalities can be detected by using artificial variables and then using an algorithm like the simplex algorithm (or ellipsoid/interior point methods) to find a basic feasible solution. If one cannot be found then the problem is infeasible.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there any other methods to detect infeasibility of a the system?&lt;/p&gt;&#xA;" OwnerUserId="24" LastEditorUserId="186" LastEditDate="2011-03-24T21:51:11.830" LastActivityDate="2011-03-27T03:01:12.643" Title="Detecting infeasibility of System of Linear Inequalities" Tags="&lt;ds.algorithms&gt;&lt;optimization&gt;&lt;linear-programming&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="5631" PostTypeId="1" CreationDate="2011-03-24T21:19:44.947" Score="0" ViewCount="142" Body="&lt;p&gt;Is it possible to prove that a game(ex. chess or othello...) is solvable and will eventually halt at some point. I wonder as the halting problem is undecidable, will it be possible to prove that a particular game will end after a finite number of moves&lt;/p&gt;&#xA;" OwnerDisplayName="user4376" LastEditorUserId="186" LastEditDate="2011-03-24T21:54:59.237" LastActivityDate="2011-03-24T21:54:59.237" Title="Is it possible to prove that a game(ex. chess or othello...) will eventually halt at some point." Tags="&lt;tag-removed&gt;" AnswerCount="1" CommentCount="1" ClosedDate="2011-03-24T21:52:43.763" ContentLicense="CC BY-SA 2.5" />
  <row Id="5632" PostTypeId="2" ParentId="5631" CreationDate="2011-03-24T21:27:03.157" Score="1" Body="&lt;p&gt;You can make games that will halt and those that won't.  Othello will always halt because it cannot continue for more than 60 moves based on the rules.  Chess ends only because there are rules to prevent infinite-move games (repetition rule, 50-move rule, etc).  You can certainly construct games that never end... a silly example is &quot;whoever names the highest integer wins&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then there are games that lead to a paradox when you try and ask if they will end or not.  A famous example is the game called CHOICE.  The first move of CHOICE is to choose a game that does eventually end.  The 2nd move of CHOICE is to play the first move of the chosen game, etc.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now we ask, &quot;does CHOICE end or not?&quot;  If you say it does, then the first move of CHOICE could be to choose CHOICE, and continuing this way leads to a never-ending game.  So suppose we say CHOICE does not end, thereby disqualifying it as a possibility for the first move.  Then clearly it DOES end.&lt;/p&gt;&#xA;" OwnerUserId="3866" LastActivityDate="2011-03-24T21:27:03.157" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="5633" PostTypeId="1" AcceptedAnswerId="5642" CreationDate="2011-03-24T21:36:27.033" Score="2" ViewCount="286" Body="&lt;p&gt;When I teach undergraduate algorithms, the students have no problem accepting that two n-bit numbers can be added in $O(n)$ time, or that modular exponentiation takes $O(n^3)$ time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But when we get to knapsack and solve it via DP, they are confused.  For example, the conventional approach to knapsack for $N$ items and a $W$-capacity bag  is the straightforward $O(NW)$ DP method.  But I then point out that $W=2^n$ and therefore DP is exponential time.  This invariably causes objections, confusion, and lots of doubt.  I have yet to find a way of explaining this that makes it clear.  Can anyone help?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Oh, and they haven't seen Turing machines, so that's off-limits.&lt;/p&gt;&#xA;" OwnerUserId="3866" LastEditorUserId="1800" LastEditDate="2011-03-25T01:23:40.327" LastActivityDate="2011-03-25T03:50:04.577" Title="Explaining input-size of integral arguments to undergraduate CS students" Tags="&lt;soft-question&gt;&lt;time-complexity&gt;&lt;teaching&gt;" AnswerCount="3" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="5634" PostTypeId="2" ParentId="5633" CreationDate="2011-03-24T22:29:01.450" Score="0" Body="&lt;p&gt;Imho this is one of the few key points in (TM) algorithmics that you have to &lt;em&gt;accept&lt;/em&gt;, as it is a very dry fact with little to &lt;em&gt;understand&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You could try to derive a contradiction from the students' wrong premise. By the same reasoning they apply to KNAPSACK, integer factorisation is in polynomial time and even reasonably fast. Why is it that common encryption methods can rely on factorisation being hard?&lt;/p&gt;&#xA;" OwnerUserId="1546" LastActivityDate="2011-03-24T22:29:01.450" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="5635" PostTypeId="1" AcceptedAnswerId="5643" CreationDate="2011-03-24T22:43:27.227" Score="50" ViewCount="4048" Body="&lt;p&gt;If you could rename dynamic programming, what would you call it?&lt;/p&gt;&#xA;" OwnerUserId="4377" LastEditorUserId="80" LastEditDate="2011-03-25T10:11:25.727" LastActivityDate="2014-02-07T03:07:59.047" Title="If you could rename dynamic programming..." Tags="&lt;ds.algorithms&gt;&lt;soft-question&gt;&lt;terminology&gt;&lt;ho.history-overview&gt;" AnswerCount="11" CommentCount="9" FavoriteCount="15" CommunityOwnedDate="2011-03-24T22:59:49.213" ContentLicense="CC BY-SA 2.5" />
  <row Id="5636" PostTypeId="2" ParentId="5635" CreationDate="2011-03-24T22:49:59.733" Score="2" Body="&lt;p&gt;Probably something that includes the words &lt;em&gt;table&lt;/em&gt; and &lt;em&gt;fill&lt;/em&gt;, as this is what happens.&lt;/p&gt;&#xA;" OwnerUserId="1546" LastActivityDate="2011-03-24T22:49:59.733" CommentCount="10" CommunityOwnedDate="2011-03-25T16:46:36.907" ContentLicense="CC BY-SA 2.5" />
  <row Id="5637" PostTypeId="2" ParentId="5635" CreationDate="2011-03-24T23:00:08.027" Score="22" Body="&lt;p&gt;&lt;strong&gt;Memoization&lt;/strong&gt; is a fairly common variant. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2011-03-24T23:00:08.027" CommentCount="5" CommunityOwnedDate="2011-03-24T23:00:08.027" ContentLicense="CC BY-SA 2.5" />
  <row Id="5641" PostTypeId="2" ParentId="5553" CreationDate="2011-03-25T00:27:33.790" Score="2" Body="&lt;p&gt;I think we should distinguish between two things:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;a lowerbound for a function&lt;/li&gt;&#xA;&lt;li&gt;a lowerbound for a problem (algorithm)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;For functions, when we fix an order the definition of &lt;a href=&quot;http://en.wikipedia.org/wiki/Lower_bound&quot; rel=&quot;nofollow&quot;&gt;lowerbound/upperbound&lt;/a&gt; follows from it. If the order relation is asymptotic &lt;a href=&quot;http://en.wikipedia.org/wiki/Majorization#In_recursion_theory&quot; rel=&quot;nofollow&quot;&gt;majorization&lt;/a&gt; (ignoring constant factors)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$f \preceq g : \exists c,n \forall m&amp;gt;n. \ f(x) \leq c g(x) $$ &lt;/p&gt;&#xA;&#xA;&lt;p&gt;then the definition is the usual definition of $O$ and $\Omega$. Both of them are used extensively in other areas like combinatorics.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But when we talk about a lowerbound for a problem (an algorithm) what we really want to say is that the problem requires certain amount of resources (for running the algorithm solving the problem). Often the complexity classes are parametrized by functions like $\mathbf{Time}(t(n))$, and we simple say that the problem is lower bounded by a function, but this only works for nice functions (e.g. the running time of the algorithm is monotone, etc.). What we want to say in these cases is that we need $n^2$ running time to solve the problem, i.e. less than $n^2$ running time is not sufficient, which formally becomes Lance's definition that the running time of the algorithm is not in $o(t(n))$. &lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2011-03-25T00:36:58.183" LastActivityDate="2011-03-25T00:36:58.183" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5642" PostTypeId="2" ParentId="5633" CreationDate="2011-03-25T01:26:24.973" Score="6" Body="&lt;p&gt;As far as I understand, the question is concerned with teaching.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One idea would be to mention the input size explicitly just after describing the problem specification and before going into an algorithmic solution.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There might be some discussion among students on what should be the input size, but this is fine.  Then, students would find out the behavior (and the resource usage) of an algorithm could depend on how the input is given and how the input size is measured.  Such examples are abundant, and so you can introduce some of them to students (as a reference, not in a classroom).  If you're going to discuss NP-completeness, you can mention that KNAPSACK is NP-complete if input numbers are binary-encoded, but not if they are unary-encoded.&lt;/p&gt;&#xA;" OwnerUserId="2955" LastActivityDate="2011-03-25T01:26:24.973" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="5643" PostTypeId="2" ParentId="5635" CreationDate="2011-03-25T03:43:36.657" Score="56" Body="&lt;p&gt;&lt;a href=&quot;http://www.wu-wien.ac.at/usr/h99c/h9951826/bellman_dynprog.pdf&quot;&gt;Richard Bellman's autobiography&lt;/a&gt; suggests that he chose the term “dynamic programming” to be intentionally distracting.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;The 1950s were not good years for mathematical research. We had a very interesting gentleman in Washington named Wilson. He was secretary of Defense, and he actually had a pathological fear and hatred of the word ‘research’.  I'm not using the term lightly; I'm using it precisely.  His face would suffuse, he would turn red, and he would get violent if people used the term ‘research’ in his presence. You can imagine how he felt, then, about the term ‘mathematical’.  The RAND Corporation was employed by the Air Force, and the Air Force had Wilson as its boss, essentially.  Hence, I felt I had to do something to shield Wilson and the Air Force from the fact that I was really doing mathematics inside the RAND Corporation.&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;What title, what name, could I choose?  In the first place I was interested in planning, in decision making, in thinking. But planning, is not a good word for various reasons. I decided therefore to use the word ‘programming’. I wanted to get across the idea that this was dynamic, this was multistage, this was time-varying—I thought, let’s kill two birds with one stone. Let’s take a word that has an absolutely precise meaning, namely ‘dynamic’, in the classical physical sense. It also has a very interesting property as an adjective, and that is it’s impossible to use the word ‘dynamic’ in a pejorative sense. Try thinking of some combination that will possibly give it a pejorative meaning. It’s impossible. Thus, I thought “dynamic programming’ was a good name. It was something not even a Congressman could object to. So I used it as an umbrella for my activities.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;(As Russell and Norvig point out in their AI textbook, however, this story must be a creative embellishment of the truth.  Bellman first used the phrase &quot;dynamic programming&quot; &lt;a href=&quot;http://www.ams.org/mathscinet-getitem?mr=50856&quot;&gt;in 1952&lt;/a&gt;, and &lt;a href=&quot;http://en.wikipedia.org/wiki/Charles_Erwin_Wilson&quot;&gt;Charles Erwin Wilson&lt;/a&gt; did not become Secretary of Defense until 1953.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Anyway, Bellman's original motivation suggests &lt;strong&gt;multistage planning&lt;/strong&gt;, but at least for algorithmic purposes, I'd prefer something like &lt;strong&gt;frugal bottom-up recursion&lt;/strong&gt;, only with fewer syllables.&lt;/p&gt;&#xA;" OwnerUserId="111" LastActivityDate="2011-03-25T03:43:36.657" CommentCount="3" CommunityOwnedDate="2011-03-25T03:43:36.657" ContentLicense="CC BY-SA 2.5" />
  <row Id="5644" PostTypeId="2" ParentId="5635" CreationDate="2011-03-25T03:43:57.107" Score="5" Body="&lt;p&gt;&lt;a href=&quot;http://www.cs.toronto.edu/~bor/Papers/pBT.pdf&quot; rel=&quot;nofollow&quot;&gt;This paper&lt;/a&gt; (&lt;a href=&quot;http://dx.doi.org/10.1007/s00037-011-0028-y&quot; rel=&quot;nofollow&quot;&gt;paywalled doi&lt;/a&gt;) calls &lt;em&gt;problems&lt;/em&gt; that can be attacked using DP &quot;decomposable&quot;.&lt;/p&gt;&#xA;" OwnerUserId="40" LastEditorUserId="129" LastEditDate="2014-02-07T03:07:59.047" LastActivityDate="2014-02-07T03:07:59.047" CommentCount="0" CommunityOwnedDate="2011-03-25T03:43:57.107" ContentLicense="CC BY-SA 3.0" />
  <row Id="5645" PostTypeId="2" ParentId="5629" CreationDate="2011-03-25T03:48:39.570" Score="3" Body="&lt;p&gt;The problem is equivalent to LP. To solve LP using an infeasibility oracle, determine a polynomial-length bound on the optimum (this reduces to raising the modulus of the largest coefficient to some power which depends on the number of variables and inequalities) and use binary search.&lt;/p&gt;&#xA;" OwnerUserId="40" LastActivityDate="2011-03-25T03:48:39.570" CommentCount="7" ContentLicense="CC BY-SA 2.5" />
  <row Id="5646" PostTypeId="2" ParentId="5633" CreationDate="2011-03-25T03:50:04.577" Score="7" Body="&lt;p&gt;Ask them to them implement the algorithm and then run it on a few dozen 12-digit numbers.&lt;/p&gt;&#xA;" OwnerUserId="111" LastActivityDate="2011-03-25T03:50:04.577" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="5648" PostTypeId="1" CreationDate="2011-03-25T10:06:19.460" Score="1" ViewCount="178" Body="&lt;p&gt;Signature scheme is strongly unforgeable. &#xA;&quot;making the message m being signed depend on the randomness r — we break&#xA;the proof of security for the underlying signature.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;From Paper: Strongly Unforgeable Signatures Based on Computational Diffie-Hellman - Dan Boneh, Emily Shen, and Brent Waters.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can some one point out how a scheme can be broken when the message being signed depends on the randomness?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks. Please let me know if I am not clear. The paper has it all.&lt;/p&gt;&#xA;" OwnerUserId="4385" LastActivityDate="2011-08-03T00:28:46.673" Title="A clarification in Signature schemes for Strong Unforgeability." Tags="&lt;cr.crypto-security&gt;&lt;cryptographic-attack&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="5651" PostTypeId="2" ParentId="5553" CreationDate="2011-03-25T14:51:57.240" Score="4" Body="&lt;p&gt;With &lt;a href=&quot;http://dx.doi.org/10.1145/1008328.1008329&quot; rel=&quot;nofollow&quot;&gt;Knuth&lt;/a&gt;'s definition you can assert only $f(n)\in\Omega(n)$. As&#xA;you observe, this is not intuitive and happens for functions &lt;a href=&quot;http://dx.doi.org/10.1145/382242.382835&quot; rel=&quot;nofollow&quot;&gt;Vitányi and Meertens&lt;/a&gt; call &quot;wild&quot;. They propose to define&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\Omega(f(n))=\{ g \mid \exists \delta&amp;gt;0:\forall n_0&amp;gt;0:\exists n&amp;gt;n_0: g(n)\geq \delta f(n)\}\textrm{.}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(This is the same as Lance's definition.) With this definition $f(n)\in\Omega(n^2)$.&lt;/p&gt;&#xA;" OwnerUserId="2150" LastActivityDate="2011-03-25T14:51:57.240" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5653" PostTypeId="1" CreationDate="2011-03-25T15:12:43.357" Score="1" ViewCount="496" Body="&lt;p&gt;Given a decision problem DEC which is PSPACE-Hard and a function problem FUN.  If there is a polytime reduction from DEC to FUN, does this mean that FUN is FPSPACE-Hard?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In my case, the answer of the function problem is the one of the decision problem plus additional information.  So it seems natural to assume that it is at least as hard.  The question is whether this means that a lower bound for its complexity is the &quot;function class&quot; corresponding to the complexity class of the decision problem.&lt;/p&gt;&#xA;" OwnerDisplayName="user4388" LastEditorUserId="1800" LastEditDate="2011-03-26T16:24:01.570" LastActivityDate="2011-03-26T16:24:01.570" Title="Complexity class when reducing decision problem to function problem" Tags="&lt;cc.complexity-theory&gt;&lt;reductions&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5655" PostTypeId="2" ParentId="2562" CreationDate="2011-03-25T17:19:05.627" Score="9" Body="&lt;p&gt;I claim we have $\Theta(\sqrt{N})$ amortized cost per operation. Alex's algorithm gives the upper bound. To prove the lower bound I give a worst-case sequence of PUSH and POP moves.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The worst case sequence consists of $N$ PUSH operations, followed by $\sqrt{N}$ PUSH operations and $\sqrt{N}$ POP operations, again followed by $\sqrt{N}$ PUSH operations and $\sqrt{N}$ POP operations, etc. That is:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$ PUSH^N (PUSH^{\sqrt{N}} POP^{\sqrt{N}})^{\sqrt{N}} $&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider the situation after the initial $N$ PUSH operations. No matter how the algorithm works, at least one of the queues must have at least $N/2$ entries in it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now consider the task of dealing with the (first set of) $\sqrt{N}$ PUSH and POP operations. Any algorithmic tactic whatsoever must fall into one of two cases:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the first case, the algorithm will use both queues. The larger of these queues has at least $N/2$ entries in it, so we must incur a cost of at least $N/2$ queue operations in order to eventually retrieve even a single element we ENQUEUE and later need to DEQUEUE from this larger queue.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the second case, the algorithm does not use both queues. This reduces the problem to simulating a stack with a single queue. Even if this queue is initially empty, we can't do better than using the queue as a circular list with sequential access, and it appears straightforward that we must use at least $\sqrt{N}/2$ queue operations on average for each of the $2\sqrt{N}$ stack operations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In both cases, we required at least $N/2$ time (queue operations) in order to handle $2\sqrt{N}$ stack operations. Because we can repeat this process $\sqrt{N}$ times, we need $N\sqrt{N}/2$ time to process $3N$ stack operations in total, giving a lower bound of $\Omega(\sqrt{N})$ amortized time per operation.&lt;/p&gt;&#xA;" OwnerUserId="3474" LastEditorUserId="3474" LastEditDate="2014-07-26T16:22:59.843" LastActivityDate="2014-07-26T16:22:59.843" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="5656" PostTypeId="2" ParentId="5653" CreationDate="2011-03-25T18:32:35.237" Score="10" Body="&lt;p&gt;In the case of PSPACE and FPSPACE, the answer is yes (since DEC reduces to FUN and DEC is PSPACE-hard, FUN is FPSPACE-hard). The reason is that in PSPACE search always reduces to decision: say you want to compute a function $f(x)$. If the problem of deciding whether the $i$-th bit of $f(x)$ is 1, given $i$ and $x$, is in PSPACE, then $f$ itself is in FPSPACE. Now, if $f$ is in FPSPACE, we can use your function FUN to compute it by using FUN to compute the decision problem &quot;is the $i$-th bit of $f(x)$ 1?&quot; for each $i$. One way to say this is that PSPACE is FPSPACE-hard.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, there are complexity classes where the relationship between the function and decision versions is not so clear. For example:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;It is not known if the search version of Group Isomorphism (find an isomorphism) reduces to the decision version (is there an isomorphism?), when the groups are input as multiplication tables.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;$P^{NP[\log]} = P^{NP}_{tt}$, but $FP^{NP[\log]} = FP^{NP}_{tt}$ is not known to hold and would imply $NP=RP$ and $P=UP$ (see &lt;a href=&quot;http://dx.doi.org/10.1016/S0022-0000(05)80009-1&quot;&gt;Selman, A. A taxonomy of complexity classes of functions. JCSS 48(2):357-381, 1994&lt;/a&gt;.) But if $P^{NP}_{tt}$ were $FP^{NP}_{tt}$-hard, we would automatically have equality of the function classes.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;(For reference: $P^{NP[\log]}$ is $P$ with an $NP$-oracle, but the $P$ machine is only allowed to make $O(\log n)$ queries to the oracle. $P^{NP}_{tt}$ is the problems that are polytime truth-table reducible to $NP$; this is equivalent to nonadaptive polytime Turing reductions, i.e. all the queries to be made are decided in advance, then all the queries are made, then some computation is done without queries to find the result.)&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2011-03-25T18:32:35.237" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="5657" PostTypeId="2" ParentId="5635" CreationDate="2011-03-25T22:09:47.857" Score="8" Body="&lt;p&gt;After my recent lecture on dynamic programming in algorithm design I had asked students to suggest a new name for this technique. While I was amused by &quot;Tough programming,&quot; I wanted something that might make the technique more memorable.  After the discussion here, I may propose two names, one for top-down and one for bottom-up:&lt;br&gt;&#xA;Multiway-Divide and Memoized-Conquer (aka Divide^M &amp;amp; Conquer^M), and&lt;br&gt; &#xA;Merge all subproblems (aka Merge_all)&lt;/p&gt;&#xA;" OwnerUserId="4377" LastActivityDate="2011-03-25T22:09:47.857" CommentCount="6" CommunityOwnedDate="2011-03-25T22:09:47.857" ContentLicense="CC BY-SA 2.5" />
  <row Id="5658" PostTypeId="2" ParentId="5635" CreationDate="2011-03-25T23:13:52.610" Score="1" Body="&lt;p&gt;Recursive view or Recursive horizon &lt;/p&gt;&#xA;" OwnerUserId="13" LastActivityDate="2011-03-25T23:13:52.610" CommentCount="1" CommunityOwnedDate="2011-03-25T23:13:52.610" ContentLicense="CC BY-SA 2.5" />
  <row Id="5659" PostTypeId="1" CreationDate="2011-03-26T00:49:33.633" Score="38" ViewCount="4346" Body="&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Four_color_theorem&quot;&gt;Four Color Theorem&lt;/a&gt; (4CT) states that every planar graph is four colorable. There are two proofs given by [Appel,Haken 1976] and [Robertson,Sanders,Seymour,Thomas 1997]. Both these proofs are computer-assisted and quite intimidating.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are several conjectures in graph theory that imply 4CT. Resolution of these conjectures probably requires a better understanding of the proofs of 4CT. Here is one such conjecture :&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Conjecture&lt;/strong&gt; : Let $G$ be a planar graph, let $C$ be a set of colors and $f : C \rightarrow C$ a fixed-point free involution. Let $L = (L_v : v \in V(G))$ be such that &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$|L_v| \geq 4$ for all $v \in V$ and&lt;/li&gt;&#xA;&lt;li&gt;if $\alpha \in L_v$ then $f(\alpha) \in L_v$ for all $v \in V$, for all $\alpha \in C$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Then there exists an $L$-coloring of the graph $G$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you know such conjectures implying 4CT, please list them one in each answer. I could not find a comprehensive list of such conjectures.&lt;/p&gt;&#xA;" OwnerUserId="344" LastEditorUserId="186" LastEditDate="2011-05-04T21:51:09.360" LastActivityDate="2014-08-06T03:42:35.443" Title="Conjectures implying Four Color Theorem" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;big-list&gt;&lt;graph-colouring&gt;" AnswerCount="17" CommentCount="3" FavoriteCount="10" ContentLicense="CC BY-SA 2.5" />
  <row Id="5660" PostTypeId="2" ParentId="5659" CreationDate="2011-03-26T01:22:09.127" Score="11" Body="&lt;p&gt;Every bridgeless cubic planar graph is 3-edge-colourable.  (This is equivalent to 4CT, due to Tait.)&lt;/p&gt;&#xA;" OwnerUserId="1929" LastEditorUserId="-1" LastEditDate="2011-04-10T15:21:21.843" LastActivityDate="2011-04-10T15:21:21.843" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="5663" PostTypeId="2" ParentId="5659" CreationDate="2011-03-26T02:42:50.120" Score="16" Body="&lt;p&gt;The &lt;a href=&quot;http://en.wikipedia.org/wiki/Hadwiger_conjecture_%28graph_theory%29&quot;&gt;Hadwiger conjecture&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="636" LastActivityDate="2011-03-26T02:42:50.120" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5664" PostTypeId="2" ParentId="5659" CreationDate="2011-03-26T02:51:50.780" Score="18" Body="&lt;p&gt;Look at T. Saaty, Thirteen colorful variations on Guthrie's 4-color conjecture, American Math. Monthly, 79 (1972) 2-43 for many examples.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, in David Barnette's book Map Coloring, Polyhedra, and the Four-Color Problem, MAA, Dolciani Series, Volume 8, 1983 many examples are given. One particularly interesting result in Barnete's book is: If it is always possible to truncate vertices of a convex polyhedron so as to  to produce a 3-valent convex polyhedron so that the number of sides of each face is a multiple of three, it implies the truth of the four color conjecture. &lt;/p&gt;&#xA;" OwnerUserId="987" LastActivityDate="2011-03-26T02:51:50.780" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5665" PostTypeId="2" ParentId="5619" CreationDate="2011-03-26T02:58:00.390" Score="1" Body="&lt;p&gt;Interesting results on this issue can be found on pages 24 and 25 of the book: The Stable Marriage Problem by Dan Gusfield and Robert Irving, MIT Press, 1989.&lt;/p&gt;&#xA;" OwnerUserId="987" LastActivityDate="2011-03-26T02:58:00.390" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5666" PostTypeId="2" ParentId="5635" CreationDate="2011-03-26T03:56:14.207" Score="11" Body="&lt;p&gt;To go with &lt;em&gt;divide-and-conquer&lt;/em&gt;, I would say &lt;em&gt;splice-and-combine.&lt;/em&gt; &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I usually use both words, &lt;em&gt;splice&lt;/em&gt; and &lt;em&gt;combine&lt;/em&gt; while teaching/explaining DP; but not used splice-and-combine explicitly. Sometimes I have used &lt;em&gt;overlapping-divide-and-conquer&lt;/em&gt; to contrast the two paradigms. &lt;/p&gt;&#xA;" OwnerUserId="1449" LastActivityDate="2011-03-26T03:56:14.207" CommentCount="0" CommunityOwnedDate="2011-03-26T03:56:14.207" ContentLicense="CC BY-SA 2.5" />
  <row Id="5667" PostTypeId="1" AcceptedAnswerId="5668" CreationDate="2011-03-26T06:28:24.667" Score="1" ViewCount="354" Body="&lt;p&gt;I was reading &lt;a href=&quot;http://arxiv.org/abs/quant-ph/0305045&quot; rel=&quot;nofollow&quot;&gt;Quantum Computation Explained to my Mother&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;While considering the following problem:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Problem 1 Suppose we are given a&#xA;  mysterious boolean operator F (a black&#xA;  box) which takes one boolean value and&#xA;  returns another boolean value. We want&#xA;  to calculate Xor(F(False), F(True)),&#xA;  i.e. the boolean value returned by Xor&#xA;  when applied to the two possible&#xA;  results of F. But we are allowed to&#xA;  use the mysterious boolean operator F&#xA;  only once.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;It then makes the following claim:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;We assume we have access, for one use&#xA;  only, to a physical device which&#xA;  implements F as a quantum evolution.&#xA;  This quantum evolution U must take&#xA;  ‘True, False’ into ‘True, F(True)’&#xA;  ‘False, False’ into ‘False, F(False)’&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;How come?&lt;/p&gt;&#xA;" OwnerUserId="450" LastActivityDate="2011-03-26T13:22:20.453" Title="Quantum evolutions" Tags="&lt;quantum-computing&gt;" AnswerCount="2" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5668" PostTypeId="2" ParentId="5667" CreationDate="2011-03-26T08:11:18.193" Score="6" Body="&lt;p&gt;The word &lt;em&gt;must&lt;/em&gt; is not correct, as you could do equally well taking (True,True) and (False, True) to those outputs. What they really mean is that you ought to make a construction that essentially accomplishes the same thing. What they are trying to accomplish is to encode an irreversible function in a reversible way. Let's clarify this:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Quantum mechanics is &lt;em&gt;reversible&lt;/em&gt;. This arises from the restrictions on the matrix $U$: it is unitary! Unitary matrices are, among other things, invertible. Thus, from an information-theoretic perspective you can't possibly hope to directly encode any function into a unitary (quantum) evolution which involves the loss of information. But &lt;em&gt;most&lt;/em&gt; practical computations involve irreversible bit operations which lose information. For example, of the logic gates OR, AND, and NOT, only NOT is reversible. Another example: I cannot determine from the sum of two numbers what the summands were. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thus, if we are interested in performing some irreversible computation, we can't do it directly on a quantum computer; we need to do a larger, reversible computation, and recognize the irreversible thing we are interested in as living in this reversible computation somehow.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Fortunately, there is a simple trick to make this happen. The idea is to include the original question in the answer. This makes it quite easy to recover the question from the answer! This can be more carefully stated as follows: Given a function $f:X \rightarrow Y$ we construct an invertible function $F : X \times Y \rightarrow X \times Y$ such that $F(x, 0) = (x, f(x))$ for some specially chosen $0 \in Y$. It is an exercise to see that this is always possible: the trick is to see it can be extended to all $F(x, y)$ while maintaining invertibility. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;So far so good: we see that we can make irreversible computations (encoded as non-invertible functions) hidden as slices of reversible computations (encoded as invertible functions). The last step is to translate from the invertible function $F$ to the quantum evolution $U$. To do this, we consider every possible classical input and output of $F$ as a pure (basis) state in the state space of the quantum system. Thus $F$ takes pure states to pure states in an invertible way. It turns out that this means $F$ has a matrix representation as a &lt;em&gt;permutation matrix&lt;/em&gt;, which is a special type of unitary matrix (and hence a valid quantum evolution) which only has 0-1 entries. Thus, to summarize: a quantum evolution $U$ is obtained as the permutation matrix associated to the 1-1 correspondence $F$ represents.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;We understand that $U$ implements $f$ in the following sense. To compute $f(x)$, first prepare the input state $\left\vert x, 0 \right&amp;gt;$. Next, apply $U$. Now we have the output state $\left\vert x, f(x) \right&amp;gt;$. Finally, measure $f(x)$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The paper you ask about gives the construction for the case $X = Y = \{true, false\}$.&lt;/p&gt;&#xA;" OwnerUserId="3474" LastActivityDate="2011-03-26T08:11:18.193" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="5669" PostTypeId="2" ParentId="5659" CreationDate="2011-03-26T08:14:58.223" Score="20" Body="&lt;p&gt;Another &lt;a href=&quot;http://research.microsoft.com/en-us/um/people/gonthier/4colproof.pdf&quot;&gt;mechanical verification&lt;/a&gt; of the 4-colour theorem has been done by &lt;a href=&quot;http://research.microsoft.com/en-us/people/gonthier/&quot;&gt;George Gonthier&lt;/a&gt; at Microsoft Research Cambridge. The difference with his proof is that the entire theorem has been stated and mechanically verified using the Coq proof assistant, whereas the other proofs contain only the kernel calculation written in Assembly Language and C, and thus have a risk of being buggy. Gonthier's proof covers both the calculational aspects and the logical ones in just 60,000 lines of Coq.&lt;/p&gt;&#xA;" OwnerUserId="77" LastEditorUserId="77" LastEditDate="2011-03-26T08:42:40.837" LastActivityDate="2011-03-26T08:42:40.837" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5670" PostTypeId="2" ParentId="5667" CreationDate="2011-03-26T13:22:20.453" Score="3" Body="&lt;p&gt;My interpretation is that the author is saying that for a Boolean function $f:\{0,1\}\to \{0,1\}$, &quot;a quantum evolution&quot; which implements this function is a unitary operator $U_f$ such that $U_f| x \rangle \otimes | y \rangle = | x \rangle \otimes | y \oplus f(x) \rangle$. (I assume he is only considering unitaries rather than CPTP maps, as this makes more sense in the context of Deutsch's algorithm). Here the second qubit is the output qubit. The reason two qubits are required is that not all boolean functions are reversible, and the ancilla is required in order to satisfy unitarity by making the evolution reversible. I believe this is the situation the author was trying to get across, as this is indeed how the oracle functions in the Deutsch algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thus, the unitary has not fully been prescribed, but is of the general form $U_f = \sum_{x,y = 0}^1 \phi_{xy} |x\rangle\langle x| \otimes |y \otimes f(x) \rangle\langle y|$ where $\phi_{xy}$ are roots of unitary. This is the most general description of a unitary which implements the required functionality.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As Shaun mentioned, the algorithm would also work with an oracle which flipped the outputs, but that would no longer be the oracle for the same boolean function, and the whole point of the algorithm is to show that classical and quantum strategies require different numbers of calls to the same oracle.&lt;/p&gt;&#xA;" OwnerUserId="204" LastActivityDate="2011-03-26T13:22:20.453" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5671" PostTypeId="2" ParentId="3878" CreationDate="2011-03-26T16:00:08.850" Score="3" Body="&lt;p&gt;I ended up doing the following:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Vinicius Santos' answer is the first part of it. As he says, at any frame I either add a new node and a parent-child edge connecting to it, or just add a cross-edge between two existing nodes. Parent-child edges offer no opportunities for changing the tree structure, only cross-edges do. Consider adding a cross-edge E between nodes A and B, where B has the greater tree depth. If (A.depth + 1) &amp;lt; B.depth, then we can lessen B.depth by making it a child of A.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Having lessened the depth of B, we now must check B's neighbors, to see if they may lessen their depth by becoming children of B. We therefore perform a breadth-first traversal from B, which traverses an edge from X to Y if X.depth+1 &amp;lt; Y.depth, and sets Y to be a child of X.&lt;/p&gt;&#xA;" OwnerUserId="2839" LastEditorUserId="2839" LastEditDate="2011-12-29T00:47:32.110" LastActivityDate="2011-12-29T00:47:32.110" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="5672" PostTypeId="1" CreationDate="2011-03-26T18:19:52.853" Score="9" ViewCount="260" Body="&lt;p&gt;Consider a Hilbert space $H = H_1 \otimes \dots \otimes H_n$. An Unextendable Product Basis (UPB) is a set of product vectors $\vert v_i \rangle = \vert v_i^1 \rangle \otimes \dots \otimes \vert v_i^n \rangle$ such that:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;a) all $\vert v_i \rangle$ are mutually orthogonal&lt;/p&gt;&#xA;&#xA;&lt;p&gt;b) there is no product vector orthogonal to all $\vert v_i \rangle$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;c) basis is nontrivial, i.e. doesn't span $H$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(such bases are of interest in quantum information)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Questions:     &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Is there a polynomial algorithm (in $n$) for finding UPBs? (note that in general there is no upper bound on the size of UPB, so a priori it might be exponential in $n$)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Is there a polynomial algorithm for checking if a given product basis is a UPB? (i.e. is unextendable)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Or is the problem NP-complete?&lt;/p&gt;&#xA;" OwnerUserId="2083" LastEditorUserId="7286" LastEditDate="2012-05-07T14:32:05.827" LastActivityDate="2012-05-07T14:32:05.827" Title="Polynomial algorithms for UPB (Unextendable Product Bases)" Tags="&lt;quantum-computing&gt;&lt;linear-algebra&gt;&lt;quantum-information&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="5673" PostTypeId="1" AcceptedAnswerId="5691" CreationDate="2011-03-26T18:46:28.370" Score="1" ViewCount="752" Body="&lt;p&gt;I am studying the properties of sparse integer programming problems, Would like to know if there are any interesting known problems of that type ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would define sparse problems as problems that have their output mostly populated by zero values.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thank you &lt;/p&gt;&#xA;" OwnerUserId="4404" LastEditorUserId="186" LastEditDate="2011-03-28T22:57:51.167" LastActivityDate="2012-12-02T05:01:09.260" Title="Known sparse integer programming problems" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;linear-programming&gt;&lt;integer-programming&gt;" AnswerCount="2" CommentCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="5674" PostTypeId="1" AcceptedAnswerId="5988" CreationDate="2011-03-26T20:03:46.570" Score="9" ViewCount="575" Body="&lt;p&gt;Define the computational model MPostBQP to be identical to &lt;a href=&quot;http://arxiv.org/pdf/quant-ph/0412187v1&quot; rel=&quot;nofollow&quot;&gt;PostBQP&lt;/a&gt; except we allow polynomially many qubit measurements before the post-selection and final measurement. &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Can we give any evidence indicating that MPostBQP is more powerful than PostBQP? &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Define MPostBQP[k] to allow multiple rounds of measuring and postselection before we make the final measurement. Choose indexing so MPostBQP[1] = PostBQP and MPostBQP[2] = MPostBQP and so on. (Update: A formal definition is given below.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider Arthur-Merlin games. Perhaps we can simulate them in this model of computation: Postselection can take Merlin's role of producing convincing messages and the intermediate measurements can take the role of Arthur's public coin tosses. This possibility makes me ask:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Do we have AM[k] $\subset$ MPostBQP[k]?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;This is indeed known for $k=1$, which says MA $\subset$ PP. To show it for $k=2$ would mean MPostBQP = PP only if AM $\subset$ PP. Since &lt;a href=&quot;http://qwiki.stanford.edu/index.php/Complexity_Zoo%3aA#am&quot; rel=&quot;nofollow&quot;&gt;there is an oracle relative to which AM is not contained in PP&lt;/a&gt;, this could give an affirmative answer for my first question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, for the polynomially many rounds case,&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Do we have PSPACE $\subset$ MPostBQP[poly]? If so, is it equality?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;This would be philosophically interesting (at least to me) because it would tell us that the &quot;tractable&quot; class of problems for a &quot;postselecting sorcerer&quot; includes (or &lt;em&gt;is&lt;/em&gt;) all of PSPACE.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT: I've been asked for a formal definition of MPostBQP. (I have updated what follows.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;MPostBQP[k] is the class of languages $L \subset \{0,1\}^*$ for which there exists a uniform family of polynomial-size quantum circuits $\{C_n\}_{n \geq 1}$ such that for all inputs $x$, the procedure below yields true with probability at least $2/3$ if $x \in L$, and with probability at most $1/3$ if $x \notin L$.  The procedure, which allows for some choices which may depend on $L$ (but not $x$), is defined as follows:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Procedure: &lt;em&gt;Step 1.&lt;/em&gt; Apply the unitary operator corresponding to $C_n$ to the input state $\left\vert 0\cdots  0\right&amp;gt; \otimes \left\vert x \right&amp;gt;$. Note the length of the first $\left\vert0\cdots 0\right&amp;gt;$ register is at most polynomial in the length of $x$. &lt;em&gt;Step 2.&lt;/em&gt; For $i = 1 \cdots k$: If $i$ is even, then measure any desired number of qubits from the first register (at most polynomially many, given the size of the register). If $i$ is odd, then postselect so a chosen single qubit in the first register measures as $\left\vert 0 \right&amp;gt;$ (and have a guarantee that the probability is non-zero so the postselection is valid, of course). &lt;em&gt;Step 3.&lt;/em&gt; Finally, measure a last qubit in the first register, and return true if we measure $\left \vert 1 \right&amp;gt;$ and false otherwise.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;We have MPostBQP[0] = BQP, MPostBQP[1] = PostBQP, and MPostBQP := MPostBQP[2]. I'm trying to mirror the Arthur-Merlin classes where AM[0] = BPP, AM[1] = MA, and AM[2] = AM. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT (3/27/11 5 PM): There seems to be debate about how postselection should be defined in this context. Obviously, I mean for a definition which does not trivialize my question! :) The definition I have assumed is the following: &lt;em&gt;Postselecting on the kth bit&lt;/em&gt; means we project the state into the subspace in which the kth bit is $0$, and normalize. It turns out that in a scheme where we postselect before we do measurements, then we can obtain the final statistics by looking at conditional probabilities in a scheme where the postselections are replaced by measurements. However, I claim that this characterization breaks down when measurements and postselections are interspersed. I think the confusion stems from people using this &quot;conditional probability definition&quot; (which works in the special case which I am generalizing out of) as the definition of postselection, rather than the &quot;forced measurement&quot; definition I just gave, which clearly depends on order because of lack of commutativity. I hope this helps!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT (3/27/11 9 PM): I defined postselection in the pure-state formalism already. Niel gave an analysis in the density matrix formalism that disagrees with mine for the 3-qubit example. The culprit is, again, the definition of postselection. Define postselection in the density matrix setting as follows. Given a density matrix $M$, rewrite it as a mixture of separable states $M = \sum p_i \left\vert a_i \right&amp;gt; \left&amp;lt; a_i \right\vert$. Let $\left\vert A_i \right&amp;gt;$ be the result of postselection (on some qubit) using the pure-state formalism I defined above. Define the result of the postselection on $M$ to be $\sum p_i \left\vert A_i \right&amp;gt; \left&amp;lt; A_i \right\vert$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is a more sensible definition, because it doesn't give us results which say that after we post-select, we alter the statistics of events (measurements) &lt;em&gt;we already watched happen.&lt;/em&gt; That is, the $p_i$'s are probabilities of coins we've &quot;already flipped&quot;. It doesn't make sense to me to say we are going to go back in time and bias a coin flip that already happened because that would make the current postselection more likely.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT (3/28/11 1 PM): Niel concedes that with my definitions the problem makes sense and doesn't trivialize -- but with the stipulation that I shouldn't call it &lt;em&gt;postselection&lt;/em&gt;. Given the amount of confusion, I have to agree with him. So let's call what I defined to be &lt;em&gt;selection&lt;/em&gt;, which performs a &quot;forced measurement&quot;. I should probably change the name of the complexity classes I defined as well (to not have &quot;Post&quot; in them) so let's call them QMS[k] (quantum-measure-select). &lt;/p&gt;&#xA;" OwnerUserId="3474" LastEditorUserId="3474" LastEditDate="2011-03-30T05:53:36.427" LastActivityDate="2011-04-11T14:55:14.413" Title="Interactive Proofs via Postselection?" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;quantum-computing&gt;&lt;interactive-proofs&gt;" AnswerCount="3" CommentCount="21" ContentLicense="CC BY-SA 2.5" />
  <row Id="5675" PostTypeId="1" AcceptedAnswerId="5676" CreationDate="2011-03-26T21:46:08.607" Score="16" ViewCount="925" Body="&lt;p&gt;I was wondering if there is a good bibliography of attempts to investigate the &lt;a href=&quot;http://en.wikipedia.org/wiki/Collatz_conjecture&quot;&gt;Collatz conjecture&lt;/a&gt; as a formal grammar?  (or any other attempts in the CS community to deal with this class of generative phenomena &amp;amp; their &quot;halting&quot; properties). &lt;/p&gt;&#xA;" OwnerUserId="4406" LastEditorUserId="1060" LastEditDate="2011-03-28T23:22:39.957" LastActivityDate="2013-11-27T02:16:46.627" Title="Collatz Conjecture &amp; Grammars / Automata" Tags="&lt;fl.formal-languages&gt;&lt;nt.number-theory&gt;&lt;halting-problem&gt;" AnswerCount="2" CommentCount="3" FavoriteCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="5676" PostTypeId="2" ParentId="5675" CreationDate="2011-03-26T21:52:47.393" Score="22" Body="&lt;p&gt;I guess these papers by Jeffrey C. Lagarias could help:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://arxiv.org/abs/math/0309224&quot;&gt;The 3x+1 problem: An annotated bibliography (1963--1999) (sorted by author)&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://arxiv.org/abs/math/0608208&quot;&gt;The 3x+1 Problem: An Annotated Bibliography, II (2000-2009)&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Another good source is the recent book &quot;&lt;a href=&quot;http://books.google.com/books?id=hekJ7JDMEVkC&amp;amp;printsec=frontcover&amp;amp;source=gbs_atb#v=onepage&amp;amp;q&amp;amp;f=false&quot;&gt;The Ultimate Challenge&lt;/a&gt;&quot;. In it  chapter &quot;Generalized $3x+1$ functions and the theory of computation&quot;,&lt;a href=&quot;http://books.google.com/books?hl=en&amp;amp;lr=&amp;amp;id=hekJ7JDMEVkC&amp;amp;oi=fnd&amp;amp;pg=PA123#v=onepage&amp;amp;q&amp;amp;f=false&quot;&gt;section $\#$ 8&lt;/a&gt;, can also be of interest.&lt;/p&gt;&#xA;" OwnerUserId="1060" LastEditorUserId="1060" LastEditDate="2011-03-27T00:00:33.370" LastActivityDate="2011-03-27T00:00:33.370" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="5678" PostTypeId="2" ParentId="5629" CreationDate="2011-03-27T03:01:12.643" Score="4" Body="&lt;p&gt;(1) &lt;a href=&quot;http://en.wikipedia.org/wiki/Farkas%27_lemma&quot; rel=&quot;nofollow&quot;&gt;Farkas' Lemma&lt;/a&gt; should show the equivalence of the infeasibility problem and LP in strongly polynomial time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(2) Solving a linear programming problem (as a computational problem) usually means &quot;detect the problem is either infeasible, unbounded, or having an optimal solution, and if the problem has an optimal solution, find one&quot;.  In this sense, they are equivalent.&lt;/p&gt;&#xA;" OwnerUserId="2955" LastActivityDate="2011-03-27T03:01:12.643" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5680" PostTypeId="1" CreationDate="2011-03-27T03:49:17.033" Score="10" ViewCount="671" Body="&lt;p&gt;The post is related to:&#xA;&lt;a href=&quot;https://mathoverflow.net/questions/59631/lovasz-theta-function-and-independence-number-of-product-of-simple-odd-cycles&quot;&gt;https://mathoverflow.net/questions/59631/lovasz-theta-function-and-independence-number-of-product-of-simple-odd-cycles&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;How far away is the Lovasz bound from the zero-error capacity of regular graphs? Are there any examples where the Lovasz bound is known to be not equal to the zero-error capacity of a regular graph? (This was answered below by Oleksandr Bondarenko.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In particular is any strict inequality known for odd cycles of sides greater than or equal to $7$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Update&lt;/strong&gt;&#xA;What improvement is needed in spectral theory to improve the Lovasz theta function so that the gap between Shannon capacity and Lovasz Theta for the cases for which a gap exists could be lowered? (Note I am concerned only from spectral perspective)&lt;/p&gt;&#xA;" OwnerUserId="1812" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2013-12-21T14:45:08.977" Title="Lovasz theta function and regular graphs (odd cycles in particular) - connections to spectral theory" Tags="&lt;graph-theory&gt;&lt;it.information-theory&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="5681" PostTypeId="2" ParentId="5672" CreationDate="2011-03-27T04:31:27.463" Score="7" Body="&lt;p&gt;I'm a little baffled by question (1). An unextendable product basis exists in $H_1 \otimes H_2 \otimes \ldots \otimes H_n$ if $n\geq 3$ or if $n=2$ and $\dim H_1, \dim H_2 \geq 3$. In all of these cases, it is straightforward to find one. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For question (2), the question is equivalent to checking whether there is a tensor product state in the subspace which is the complement of the space spanned by the basis. Leonid Gurvits has shown that checking whether a general subspace contains a tensor product state is NP-hard, so I suspect that it is hard in this case as well. &lt;/p&gt;&#xA;" OwnerUserId="1677" LastActivityDate="2011-03-27T04:31:27.463" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="5682" PostTypeId="2" ParentId="5635" CreationDate="2011-03-27T07:45:03.507" Score="34" Body="&lt;p&gt;There are two important aspects of DP: (1) defining the subproblems (i.e., setting up a &quot;table&quot;, which could be a multidimensional array indexed maybe by integers, vertices, subsets of vertices etc.) and (2) recursively solving the subproblems. I propose &quot;tabular/tabulated recursion&quot; as a name that refers to both aspects.&lt;/p&gt;&#xA;" OwnerUserId="3189" LastActivityDate="2011-03-27T07:45:03.507" CommentCount="2" CommunityOwnedDate="2011-03-27T07:45:03.507" ContentLicense="CC BY-SA 2.5" />
  <row Id="5683" PostTypeId="2" ParentId="5674" CreationDate="2011-03-27T09:46:23.620" Score="4" Body="&lt;p&gt;&lt;strong&gt;[Revised.]&lt;/strong&gt; I have revised my response based on your revisions to your question, I've retained the content of my original response, but made it shorter. The more elaborate description of the &quot;simulation&quot; process has been replaced, but I suppose that it can be seen by viewing the edit history of this post.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Most people will understand &quot;postselection&quot; in the sense of a conditional probablity. Indeed, the current version of the &lt;a href=&quot;http://en.wikipedia.org/wiki/PostBQP#Basic_properties&quot; rel=&quot;nofollow&quot;&gt;Wikipedia article on &lt;strong&gt;PostBQP&lt;/strong&gt;&lt;/a&gt; describes it that way; and viewed as an operation on density operators (in which one applies a completely-positive trace-non-increasing map &amp;Phi;, such that &amp;Phi;&lt;sup&gt;2&lt;/sup&gt;&amp;nbsp;=&amp;nbsp;&amp;Phi;, and then renormalizes the trace) one recovers this definition.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given this definition of postselection, your defintion of an &lt;strong&gt;MPostBQP&lt;/strong&gt;[&lt;em&gt;k&lt;/em&gt;] algorithm can be simulated by a &lt;strong&gt;PostBQP&lt;/strong&gt; algorithm, by deferring the post-selections and performing them simultaneously, in a suitable way. This is noted more-or-less explicitly on page 3 of Aaronson's paper &lt;a href=&quot;http://www.arXiv.org/abs/quant-ph/0412187&quot; rel=&quot;nofollow&quot;&gt;&lt;em&gt;Quantum Computing, Postselection, and Probabilistic Polynomial-Time&lt;/em&gt;&lt;/a&gt; which introduces the class &lt;strong&gt;PostBQP&lt;/strong&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This can be shown explicitly by noting that, for a sequence of bits &lt;em&gt;P&lt;/em&gt;&lt;sub&gt;1&lt;/sub&gt;&amp;nbsp;, &amp;nbsp;&lt;em&gt;P&lt;/em&gt;&lt;sub&gt;2&lt;/sub&gt;&amp;nbsp;, &amp;nbsp;... to be postselected (&lt;em&gt;e.g.&lt;/em&gt; in the &lt;code&gt;1&lt;/code&gt; state, which is usual), there is no difference between conditioning on them being &lt;code&gt;1&lt;/code&gt; in the middle of the computation and conditioning on them being &lt;code&gt;1&lt;/code&gt; at the end of the computation, so long as the values of these bits are not changed in the interim. Then, rather than post-selecting on each of them individually being &lt;code&gt;1&lt;/code&gt;, we can compute their logical AND before post-selection and then postselect on that conjunction being &lt;code&gt;1&lt;/code&gt;. Furthermore, computing the AND can be performed at any point between the last transformation of the bit and its post-selection. This will in no way affect the joint statistics of any of the properties of the state.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thus, using the common definition of postselection in terms of conditional probabilities, we would have &lt;strong&gt;MPostBQP&lt;/strong&gt;[&lt;em&gt;k&lt;/em&gt;]&amp;nbsp;=&amp;nbsp;&lt;strong&gt;PostBQP&lt;/strong&gt; for all &lt;em&gt;k&lt;/em&gt;&amp;nbsp;&amp;gt;&amp;nbsp;0.&#xA;&lt;br&gt;&lt;br&gt;&#xA;As I have noted in the comments above, I do not think that the operation which you describe on state vectors &amp;mdash; specifically, involving renormalization of state-vectors &lt;em&gt;independently in each branch of the probability distribution over measurement outcomes&lt;/em&gt; &amp;mdash; corresponds to post-selection, as many people in the field (epsecially experimentalists) would describe the concept. It may even give rise to some 'unphysical' properties, if extended to a mapping on density operators. However, it is a possible means of constructing something like decision trees whose nodes are labelled by state-vectors, and so it is in principle a reasonable process of study in its own right. I just wouldn't call that process 'postselection'.&#xA;&lt;br&gt;&lt;br&gt;&#xA;&lt;strong&gt;[Edit.]&lt;/strong&gt; For the sake of tidiness, I have removed the computed example. I suppose that it can be seen by viewing the edit history of this post.&lt;/p&gt;&#xA;" OwnerUserId="248" LastEditorUserId="248" LastEditDate="2011-03-28T09:12:49.950" LastActivityDate="2011-03-28T09:12:49.950" CommentCount="11" ContentLicense="CC BY-SA 2.5" />
  <row Id="5684" PostTypeId="1" CreationDate="2011-03-27T15:46:02.620" Score="-4" ViewCount="520" Body="&lt;p&gt;The conventional systems of logic can only recognize or perform operations that transform or translate values in space. Ordinary logic treats time poorly through the necessity of translating all temporal signs, signals, and effects into the space-domain so as to be suitable for space-only operations. Contemporary logic can easily assign state, but it is powerless to assign cause. Life is typified by activity. Humans have more than static existence: we experience and also cause dynamic processes in both space and time. How does one concisely express and treat the aspects of movement, change, cause and effect, and life with only static formal tools? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I propose a time-domain mathematics and logic, a method of automating physical processes that does not first require translation to the space-domain before applying logic. &lt;/p&gt;&#xA;" OwnerUserId="4418" LastEditorUserId="77" LastEditDate="2011-03-27T17:41:04.433" LastActivityDate="2011-03-28T08:42:11.470" Title="Time-based mathematics or logic" Tags="&lt;lo.logic&gt;&lt;automata-theory&gt;&lt;formal-modeling&gt;" AnswerCount="3" CommentCount="9" ClosedDate="2011-03-28T22:54:16.320" ContentLicense="CC BY-SA 2.5" />
  <row Id="5685" PostTypeId="2" ParentId="5684" CreationDate="2011-03-27T16:12:51.450" Score="16" Body="&lt;p&gt;Both &lt;a href=&quot;http://en.wikipedia.org/wiki/Temporal_logic&quot;&gt;temporal logic&lt;/a&gt; or &lt;a href=&quot;http://en.wikipedia.org/wiki/Dynamic_logic_%28modal_logic%29&quot;&gt;dynamic logic&lt;/a&gt; are two modal logics that can be used to reason about changes in the world over time. &lt;a href=&quot;http://en.wikipedia.org/wiki/F-coalgebra&quot;&gt;Coalgebra&lt;/a&gt; is a formal approach to dealing with observations of state-based models changing in time. This approach generalises state machines, labelled transition systems, and so forth, which themselves provide behavioural models of systems. &lt;a href=&quot;http://arxiv.org/abs/cs.LO/0605128&quot;&gt;Coalgebraic modal logics&lt;/a&gt; are a generalised approach to defining logics for coalgebras, thus providing a systematic way of generating logics for reasoning about systems that change in time. &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.75.8207&amp;amp;rep=rep1&amp;amp;type=pdf&quot;&gt;Logics of causality&lt;/a&gt; even exist (I'm sure google will turn up even more).&lt;/p&gt;&#xA;" OwnerUserId="77" LastActivityDate="2011-03-27T16:12:51.450" CommentCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="5686" PostTypeId="1" AcceptedAnswerId="5687" CreationDate="2011-03-27T17:17:39.383" Score="16" ViewCount="703" Body="&lt;p&gt;Is there any programming language theory describing foreign function interfaces (FFI) and multiple language bindings? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have asked &lt;a href=&quot;https://stackoverflow.com/questions/5440968/understand-foreign-function-interface-ffi-and-language-binding&quot;&gt;some implementation issues on stackoverflow&lt;/a&gt;, which is not suitable here. But I would like to ask from this site's view and see what I could possibly get from here.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Really appreciate your reply!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks to Dave Clarke for &lt;a href=&quot;https://cstheory.meta.stackexchange.com/questions/1080/are-my-questions-acceptable-here/1085#1085&quot;&gt;his reply on meta&lt;/a&gt;！ &lt;/p&gt;&#xA;" OwnerUserId="1003" LastEditorUserId="-1" LastEditDate="2017-05-23T12:40:09.333" LastActivityDate="2015-12-05T18:24:49.773" Title="Is there any programming language theory describing foreign function interfaces (FFI) and multiple language bindings?" Tags="&lt;pl.programming-languages&gt;&lt;semantics&gt;" AnswerCount="3" CommentCount="0" FavoriteCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="5687" PostTypeId="2" ParentId="5686" CreationDate="2011-03-27T17:33:34.033" Score="18" Body="&lt;p&gt;The paper &lt;a href=&quot;http://people.cs.uchicago.edu/~jacobm/papers/multilang/matthews-findler-popl07-bw.pdf&quot; rel=&quot;nofollow&quot;&gt;Operational Semantics for Multi-Language Programs&lt;/a&gt;&#xA;by Jacob Matthews and   Robert Bruce Findler presents two approaches for defining the semantics of programs written in two programming languages, taking particular care of data defined in one language and used in the other.  The &lt;strong&gt;lump embedding&lt;/strong&gt; allows values created in one language to appear in running code of another, but these are can only be passed around, not operated on (or perhaps operated on by only a small interface). &#xA;The &lt;strong&gt;natural embedding&lt;/strong&gt;  allows values in one language to be used in the other by performing a so-called &lt;em&gt;cross-language cast&lt;/em&gt;, which converts values from one language to the other.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The paper &lt;a href=&quot;http://www.cse.lehigh.edu/~gtan/paper/jnimodel_tr.pdf&quot; rel=&quot;nofollow&quot;&gt;JNI Light: An Operational Model for the Core JNI&lt;/a&gt; by Gang Tan presents a formal semantics of how existing JNI works. In contrast to the previous paper, this is formalises many of the low level details of what's going on, rather than trying to explore the issues from a foundational perspective.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Work on type-checking foreign function calls, such as &lt;a href=&quot;https://www.cs.umd.edu/grad/scholarlypapers/papers/furr-scholary.pdf&quot; rel=&quot;nofollow&quot;&gt;Checking Type Safety of Foreign Function Calls&lt;/a&gt; by Michael Furr and Jeffrey Foster,  provide also a formal framework in which to phrase the type system and prove its soundness.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Looking at the references in these papers and finding where they are cited using google&#xA;scholar will help you discover a more thorough picture of what has been done in the area.&lt;/p&gt;&#xA;" OwnerUserId="77" LastEditorUserId="-1" LastEditDate="2015-12-05T18:24:49.773" LastActivityDate="2015-12-05T18:24:49.773" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="5688" PostTypeId="2" ParentId="5686" CreationDate="2011-03-27T17:34:03.087" Score="9" Body="&lt;p&gt;Though it many not be obviously directly related, one thing that comes to mind is the concept of &quot;blame&quot; by &lt;a href=&quot;http://homepages.inf.ed.ac.uk/wadler/topics/blame.html&quot; rel=&quot;nofollow&quot; rel=&quot;nofollow&quot;&gt;Wadler et al.&lt;/a&gt;.  This give you a theoretical basis to think about mixing together different typing regimes into a coherent whole.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In essence, blame allows you to mix together languages with weaker type guarantees with languages that have stronger type guarantees without losing all the benefits of the strong guarantees.  The idea is that the parts of the system with weaker guarantees will get the &quot;blame&quot; if certain things go wrong, localizing runtime type errors.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hopefully you can see how that might be useful for FFI and bindings that apply to languages with varying type systems.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit:  See Sam TH's answer for a fuller intellectual history of the concept of &quot;blame&quot;.&lt;/p&gt;&#xA;" OwnerUserId="629" LastEditorUserId="629" LastEditDate="2011-04-09T01:32:25.887" LastActivityDate="2011-04-09T01:32:25.887" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="5689" PostTypeId="1" AcceptedAnswerId="5690" CreationDate="2011-03-27T17:47:55.753" Score="12" ViewCount="576" Body="&lt;p&gt;Is there a survey (from paper, book chapter, tutorial, links, ...) of the semantics of various programming language features? I was originally overwhelmed by the features of D in here &lt;a href=&quot;http://www.digitalmars.com/d/2.0/comparison.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://www.digitalmars.com/d/2.0/comparison.html&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would like to see what I could possibly get from here, although I have asked &lt;a href=&quot;https://stackoverflow.com/questions/5439060/is-there-some-nice-description-about-language-features&quot;&gt;a similar question on stackoverflow&lt;/a&gt; and understand these two sites have different perspectives. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Really appreciate your reply! Thanks to Dave Clarke for &lt;a href=&quot;https://cstheory.meta.stackexchange.com/questions/1080/are-my-questions-acceptable-here/1085#1085&quot;&gt;his suggestion on meta&lt;/a&gt;！&lt;/p&gt;&#xA;" OwnerUserId="1003" LastEditorUserId="-1" LastEditDate="2017-05-23T12:40:09.333" LastActivityDate="2012-03-07T18:21:58.267" Title="Is there a survey of the semantics of various programming language features?" Tags="&lt;reference-request&gt;&lt;pl.programming-languages&gt;&lt;survey&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="7" ContentLicense="CC BY-SA 2.5" />
  <row Id="5690" PostTypeId="2" ParentId="5689" CreationDate="2011-03-27T18:03:39.607" Score="17" Body="&lt;p&gt;I don't know of any survey of the semantics of various language features, though&#xA;there are many books dealing with the semantics of programming languages. Here are a few of the more comprehensive ones, which also deal with less standard constructs:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;em&gt;Design Concepts in Programming Languages&lt;/em&gt; by Franklyn Turbak, David Gifford and Mark Sheldon. A mammoth book full of semantics of many different language constructs. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;em&gt;Concepts, Techniques, and Models of Computer Programming&lt;/em&gt; by Peter Van Roy and Seif Haridi. This book focusses mainly on the concepts in terms of the language Oz. Every example in the book runs. At the end of the book there is a chapter or two discussing the formal semantics of the language constructs.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;More classical texts which put more emphasis on the semantic techniques, rather than on the variety of programming language constructs, include:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;em&gt;Types and Programming Languages&lt;/em&gt; by Benjamin Pierce. The book on type systems. Mainly focusses on functional language constructs, while increasing the sophistication of the type system. It also covers Featherweight Java, a core calculus of Java.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;em&gt;Transitions and Trees&lt;/em&gt; by Hans Huttel. A nice introduction to operational semantics, covering a variety of languages constructs of increasing complexity.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;em&gt;Semantics with Applications&lt;/em&gt; by Hanne Riis Nielson and Flemming Nielson. An introduction to various semantics styles, including some non-obvious applications of them. A great read!&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;em&gt;The Structure of Typed Programming Languages&lt;/em&gt;  by David A Schmidt. A solid foundational book. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;em&gt;Semantics of Programming Languages: Structures and Techniques&lt;/em&gt; by Carl A Gunter. Another  solid foundational book. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Finally, a work-in-progress, generously available for download, &lt;em&gt;&lt;a href=&quot;http://www.cs.cmu.edu/~rwh/plbook/book.pdf&quot;&gt;Practical Foundations for Programming Languages&lt;/a&gt;&lt;/em&gt; by Bob Harper  covers a lot of different programming language features, ensuring that everything is formalised along the way.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I should add that if you ask a more specific question, you'll get a more specific answer.  Many scientific papers are out there giving semantics to various programming language features. If you were interested in a specific feature, then I could dig up a paper or two on that feature.&lt;/p&gt;&#xA;" OwnerUserId="77" LastEditorUserId="77" LastEditDate="2011-03-29T06:36:33.517" LastActivityDate="2011-03-29T06:36:33.517" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5691" PostTypeId="2" ParentId="5673" CreationDate="2011-03-27T18:46:14.507" Score="3" Body="&lt;p&gt;Probably, this is not an intended answer.  The sparsity constraint can be naturally represented in integer programming. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;(1) For the binary integer programming (the variables take only values 0 and 1), an extra constraint that &quot;the sum of variables is at most $k$&quot; leads to a solution with at most $k$ non-zeros.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(2) If your problem is not binary and each variable takes the value in $\{0,\ldots,M\}$, then for each variable $x_i$ we introduce another 0/1 variable $y_i$, and give an extra constraint as $y_i \leq x_i \leq M y_i$. This means that $y_i=0$ if and only if $x_i=0$, so the sparsity can be described by means of $y$. Namely, we introduce the sparsity constraint $\sum y_i \leq k$ as (1) above. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm imagining you're to look at an analogue of linear programming (or convex programming) with sparsity constraint to integer programming. However, linear programming with sparsity constraint is no longer linear programming, while integer programming with sparsity constraint is still integer programming (as described above). Their natures are totally different.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Or, if you need some &quot;interesting&quot; examples, I would say &quot;any combinatorial optimization problem with cardinality constraint&quot;.  That's almost equivalent to a binary integer programming with the constraint that the sum of variables is at most a certain number.&lt;/p&gt;&#xA;" OwnerUserId="2955" LastActivityDate="2011-03-27T18:46:14.507" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="5692" PostTypeId="2" ParentId="5680" CreationDate="2011-03-27T19:21:27.363" Score="13" Body="&lt;p&gt;In fact there is known a regular graph $G$ for which zero-error capacity  $\Theta(G)$ is less than the Lov$\acute{a}$sz bound $\vartheta(G)$. W. Haemers in $[1]$ has proved that for the complement of &lt;a href=&quot;http://en.wikipedia.org/wiki/Schl%C3%A4fli_graph&quot;&gt;Schl$\ddot{a}$fli graph&lt;/a&gt; $G$ the following holds: $\Theta(G)\leqslant7&amp;lt;\vartheta(G)=9$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In $[2]$ it is noted that &quot;The best known upper bounds on $\Theta(C_m)$ and $\Theta(\overline{C}_m)$ for $m$ odd and greater than $5$ are given by the Lovasz theta function ...&quot;. From this I conclude that that the answer to your last question is no (since then I don't know any results improving on this.).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finding Shannon capacity even for $C_7$ would be a major breakthrough for this hard problem. Additionally, it can be noticed that&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&quot;it is not known if the problem of deciding whether the Shannon capacity of a given input graph exceeds a given value is decidable&quot;.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;W. Haemers, “&lt;a href=&quot;http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=1056027&quot;&gt;On some problems of Lov$\acute{a}$sz concerning the Shannon capacity of a graph&lt;/a&gt;,” IEEE Trans. on Information Theory, vol. 25, no. 2, pp. 231–232, Mar. 1979.&lt;/li&gt;&#xA;&lt;li&gt;T. Bohman, &quot;&lt;a href=&quot;http://www.ams.org/journals/proc/2005-133-02/S0002-9939-04-07470-2/S0002-9939-04-07470-2.pdf&quot;&gt;A limit theorem for the Shannon capacities of odd cycles. II&lt;/a&gt;,&quot; Proceedings of the American Mathematical Society, 2005.&lt;/li&gt;&#xA;&lt;li&gt;N. Alon, &quot;&lt;a href=&quot;http://scholar.google.com/scholar?q=%22Combinatorial%20Reasoning%20in%20Information%20Theory%22&amp;amp;hl=en&amp;amp;btnG=Search&amp;amp;as_sdt=1,5&quot;&gt;Combinatorial Reasoning in Information Theory&lt;/a&gt;&quot;.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="1060" LastEditorUserId="1060" LastEditDate="2011-03-28T09:41:57.817" LastActivityDate="2011-03-28T09:41:57.817" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="5694" PostTypeId="2" ParentId="5684" CreationDate="2011-03-27T22:06:30.520" Score="3" Body="&lt;p&gt;Temporal logic seems to be exactly the thing you are looking for (it allows proving things where the truth of propositions can be qualified by operators such as 'in the next time', 'for always after now', 'at some time after now').&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But you may want to look at some other formalisms, namely &lt;a href=&quot;http://en.wikipedia.org/wiki/Turing_machine&quot; rel=&quot;nofollow&quot;&gt;Turing machines&lt;/a&gt;, or &lt;a href=&quot;http://en.wikipedia.org/wiki/Operational_semantics&quot; rel=&quot;nofollow&quot;&gt;Operational semantics&lt;/a&gt;. These both treat state transitions as changes from one time to the next.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;From your comments, it seems that none of these is sufficient for you since they translate the concept of temporal causation into the 'space-domain'. I'm not sure what you mean by this, but you can surely represent temporal causation in any of the above formalisms.&lt;/p&gt;&#xA;" OwnerUserId="497" LastActivityDate="2011-03-27T22:06:30.520" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5695" PostTypeId="1" AcceptedAnswerId="5706" CreationDate="2011-03-27T22:27:40.390" Score="17" ViewCount="1199" Body="&lt;p&gt;One of the amazing things about computer science is that the physical implementation is in some sense &quot;irrelevant&quot;.&#xA;People have successfully built computers out of several different substrates -- relays, vacuum tubes, discrete transistors, etc.&#xA;People may soon succeed in building Turing-complete computers out of non-linear optical materials, various biomolecules, and a few other substrates.&#xA;In principle, it seems possible to build a &lt;a href=&quot;http://en.wikipedia.org/wiki/billiard-ball_computer&quot; rel=&quot;nofollow noreferrer&quot;&gt;billiard-ball computer&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, the physical substrate is not completely irrelevant.&#xA;People have found that certain sets of components -- in particular,&#xA;&lt;a href=&quot;http://en.wikipedia.org/wiki/diode-resistor_logic&quot; rel=&quot;nofollow noreferrer&quot;&gt;diode-resistor logic&lt;/a&gt; --&#xA;are &quot;incomplete&quot;: no matter how many of them you connect to a power supply and to each other, there are certain very simple things that it cannot do.&#xA;(The diode-resistor logic can implement AND, OR, but fails to implement NOT).&#xA;Also, certain ways of connecting components -- in particular, &lt;a href=&quot;http://en.wikipedia.org/wiki/perceptron&quot; rel=&quot;nofollow noreferrer&quot;&gt;single-layer perceptron&lt;/a&gt;s -- are &quot;incomplete&quot;: there are certain very simple things that they cannot do.&#xA;(A single-layer perceptron can implement AND, OR, NOT, but fails to implement XOR).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a less-awkward phrase for &quot;physical things out of which one can build a Turing machine&quot;?&#xA;Or for the opposite, &quot;physical things that, no matter how many of them one has, cannot form a Turing machine&quot;?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For a while I used the phrase &lt;a href=&quot;http://en.wikipedia.org/wiki/functional_completeness&quot; rel=&quot;nofollow noreferrer&quot;&gt;&quot;functionally complete set&quot;&lt;/a&gt; or &quot;universal set of gates&quot; -- or, when speaking to mathematicians, &quot;physical things that can implement a functionally complete set&quot; -- but I've been told that isn't quite correct.&#xA;Some sets of components can implement a functionally complete set;&#xA;and yet it is not possible to build a Turing-complete machine entirely out of these components.&#xA;For example, light bulbs and manually-operated 4-way light switches can implement a functionally complete set (AND, OR, NOT, XOR, etc.);&#xA;and yet it is not possible to build a Turing-complete machine entirely out of light switches and light bulbs, since the (electrical or optical) output of one cannot be fed into the (mechanically rotating) input of the next.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;related: &lt;a href=&quot;https://cstheory.stackexchange.com/questions/114/is-there-an-official-name-for-a-notion-of-reusably-universal&quot;&gt;Is there an official name for a notion of &amp;quot;reusably universal&amp;quot;?&lt;/a&gt; and &lt;a href=&quot;https://electronics.stackexchange.com/questions/12132/is-there-a-name-for-chips-out-of-which-one-can-build-a-cpu&quot;&gt;Is there a name for “chips out of which one can build a CPU”?&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="4423" LastEditorUserId="-1" LastEditDate="2017-04-13T12:33:11.560" LastActivityDate="2011-03-29T01:08:22.757" Title="Is there a name for &quot;physical things out of which one can build a Turing machine&quot;?" Tags="&lt;computability&gt;&lt;turing-machines&gt;&lt;terminology&gt;&lt;physics&gt;&lt;natural-computing&gt;" AnswerCount="3" CommentCount="1" FavoriteCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="5696" PostTypeId="1" AcceptedAnswerId="5697" CreationDate="2011-03-27T23:35:20.257" Score="46" ViewCount="3232" Body="&lt;p&gt;Question: How do 'tactics' work in proof assistants? They seem to be ways of specifying how to rewrite a term into an equivalent term (for some definition of 'equivalent'). Presumably there are formal rules for this, how can I learn what they are and how they work? Do they involve more than choice of order for Beta-reduction? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Background about my interest: Several months ago, I decided I wanted to learn formal math. I decided to go with type theory because from preliminary research it seems like The Right Way To Do Things (tm) and because it seems to unify programming and mathematics which is &lt;em&gt;fascinating&lt;/em&gt;. I think my eventual goal is to be able to use and understand a proof assistant like Coq (I think especially being able to use dependent types as I am curious about things like representing the types of matrixes). I started off knowing very little, not even rudimentary functional programming, but I'm making slow progress. I've read and understood large chunks of Types and Programming Languages (Pierce) and learned some Haskell and ML.&lt;/p&gt;&#xA;" OwnerUserId="4425" LastEditorUserId="186" LastEditDate="2011-10-09T06:44:24.553" LastActivityDate="2013-03-04T16:39:04.370" Title="How do 'tactics' work in proof assistants?" Tags="&lt;lo.logic&gt;&lt;type-theory&gt;&lt;proof-assistants&gt;" AnswerCount="3" CommentCount="1" FavoriteCount="24" ContentLicense="CC BY-SA 2.5" />
  <row Id="5697" PostTypeId="2" ParentId="5696" CreationDate="2011-03-27T23:41:40.513" Score="36" Body="&lt;p&gt;The basic tactics either &lt;em&gt;run&lt;/em&gt; an inference rule forwards or backwards (for example, convert hypotheses $A$ and $B$ into $A\wedge B$ or convert goal $A\wedge B$ into two goals $A$ and $B$ with same hypotheses), apply a lemma (~ function application), split up a lemma about some inductive type into a case for each constructor, and so on. Basic tactics may succeed or fail depending upon the context in which they are applied. More advanced tactics are like little functional programs that run the basic tactics, perform pattern matching over the terms in the goal and/or assumptions, make choices based on the success or failure of tactics, and so forth. More advanced tactics deal with arithmetic and other specific kinds of theories. The key paper on Coq's tactic language is the following:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;D. Delahaye. &lt;a href=&quot;http://cedric.cnam.fr/~delahaye/papers/ltac%20%28LPAR%2700%29.pdf&quot;&gt;A Tactic Language for the System Coq&lt;/a&gt;. In Proceedings of Logic for Programming and Automated Reasoning (LPAR), Reunion Island, volume 1955 of Lecture Notes in Computer Science, pages 85–95. Springer-Verlag, November 2000.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The formal rules which form the essence of the basic tactics are defined in the Coq users guide &lt;a href=&quot;http://coq.inria.fr/refman/Reference-Manual006.html&quot;&gt;here&lt;/a&gt; or in Chapter 4 of the &lt;a href=&quot;http://coq.inria.fr/distrib/current/files/Reference-Manual.pdf&quot;&gt;pdf&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A quite instructive paper on implementing tactics and tacticals (essentially tactics that take other tactics as arguments) is:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Amy Felty. &lt;a href=&quot;http://www.site.uottawa.ca/~afelty/dist/jar.ps&quot;&gt;Implementing Tactics and Tacticals in a Higher-order Programming Language&lt;/a&gt; Journal of Automated Reasoning, 11(1):43-81, August 1993.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Coq's tactic language has the limitation that the proofs written using it hardly resemble proofs one does by hand. Several attempts have been made to enable clearer proofs. These include &lt;a href=&quot;http://www4.informatik.tu-muenchen.de/~nipkow/pubs/types02.pdf&quot;&gt;Isar&lt;/a&gt; (for Isabelle/HOL) and &lt;a href=&quot;http://mizar.org/&quot;&gt;Mizar&lt;/a&gt;'s proof language.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Aside:&lt;/strong&gt;&#xA;Did you also know that the programming language &lt;a href=&quot;http://en.wikipedia.org/wiki/ML_%28programming_language%29&quot;&gt;ML&lt;/a&gt; was originally designed to implement tactics for the &lt;a href=&quot;http://en.wikipedia.org/wiki/LCF_theorem_prover&quot;&gt;LCF&lt;/a&gt; theorem prover? Many ideas developed for ML, such as type inference, have influenced modern programming languages.&lt;/p&gt;&#xA;" OwnerUserId="77" LastEditorUserId="77" LastEditDate="2011-03-29T12:24:08.020" LastActivityDate="2011-03-29T12:24:08.020" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="5698" PostTypeId="2" ParentId="5675" CreationDate="2011-03-28T02:24:42.760" Score="10" Body="&lt;p&gt;Specifically, you may want to check out this paper by Shallit and Wilson: &#xA;&lt;a href=&quot;http://www.cs.uwaterloo.ca/~shallit/Papers/wilson.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;The &quot;3x+1&quot; Problem and Finite Automata&quot;, &lt;em&gt;Bulletin of the EATCS&lt;/em&gt;, 46 (1992), pp. 182-185&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDITED TO ADD: This appears as result 8.5 in the &quot;section #8&quot; part of &lt;a href=&quot;https://cstheory.stackexchange.com/questions/5675/collatz-conjecture-grammars-automata/5676#5676&quot;&gt;Oleksandr Bondarenko's answer&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="751" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2011-03-28T22:37:05.667" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5701" PostTypeId="1" CreationDate="2011-03-28T07:14:31.367" Score="10" ViewCount="462" Body="&lt;p&gt;A span program is a linear-algebraic way of specifying a boolean function introduced &lt;a href=&quot;http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=336536&amp;amp;tag=1&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;. Recently, this model was &lt;a href=&quot;http://www.computer.org/portal/web/csdl/doi/10.1109/FOCS.2009.55&quot; rel=&quot;nofollow&quot;&gt;used&lt;/a&gt; to show that the negative adversary method provides a tight characterization (at least up to $\log n/ \log \log n$) of quantum query complexity.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The complexity measure connecting span programs to quantum query complexity is witness size. This measure seems rather similar to certificate complexity. Are there known connections between the two measures? What about the size (number of input vectors) measure for span programs and other measures like deterministic and randomized query complexity? What are the best known classical algorithms for evaluating span programs?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT (after an answer by Martin Schwarz): &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of particular interest are conceptual connections that go directly through span programs as opposed to through the correspondence between witness size and quantum query complexity. Are there classical results that provide intuition about span programs/witness size and how they relate to deterministic and randomized query complexity?&lt;/p&gt;&#xA;" OwnerUserId="1037" LastEditorUserId="1037" LastEditDate="2011-04-11T21:23:12.463" LastActivityDate="2011-04-11T21:23:12.463" Title="Span programs, witness size, and certificate complexity" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;quantum-computing&gt;&lt;query-complexity&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="5702" PostTypeId="1" AcceptedAnswerId="5718" CreationDate="2011-03-28T07:51:40.687" Score="5" ViewCount="2568" Body="&lt;p&gt;I would like to find the largest set of vertices in a directed graph. This set should not contain a cycle with exactly three vertices. Cycles with less vertices aren't possible with the given graphs; larger cycles can be in the set.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Do you know an algorithm for that?&lt;/p&gt;&#xA;" OwnerUserId="4149" LastEditorUserId="4149" LastEditDate="2011-03-28T21:44:28.937" LastActivityDate="2011-03-28T21:44:28.937" Title="Algorithm for finding the largest subgraph without a directed triangle" Tags="&lt;ds.algorithms&gt;&lt;graph-algorithms&gt;" AnswerCount="1" CommentCount="7" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="5703" PostTypeId="2" ParentId="5695" CreationDate="2011-03-28T08:18:27.980" Score="3" Body="&lt;p&gt;Just thought I'd point out that completeness of a physical medium to simulate the logic required to make a Turing complete computing machine can be established solely in it's ability to embody a NAND gate, as all other gates can be derived from NAND gates (one might ask what then comprises the NAND gates, and that's a very clever question, but it's NAND gates all the way down!). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;You should look at the work of Charles Babbage, and the people he inspired. Babbage made a physical computer to tabulate polynomial functions into printed tables for Math indexes (back in the day you'd have stacks of books that had nothing but function names followed by sheets of f(x) values) He latter started work on what would have become a Turing complete computer using cogs cams and such. His son I believe it was continued his work and the only physical manifestation of their combined efforts was a fully functioning mechanical ALU which is the basis of those mechanical calculators you may or may not know about. However the funding for these projects dropped off as a mechanical computer in the size and manner that they could be made in that time was very impractical. However since then, and especially in recent events, people have gone through and are furthering Charles Babbage's research. This approach may have it's last laugh, as there are those who think the only way to make serial CPUs any faster than they are now would be to implement some of these mechanical approaches within a CPU averting the issues spurring from electromagnetics at a scale smaller than the one we use now. Mechanics work on any scale seemingly. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Similarly, work has gone into what is called the Quantum computer which seeks to facilitate large computations through quantum theory, I'm not entirely sure how it all works. But it physically appeals to particle physics experiments that rely on quantum theory. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are I'm sure many more different mediums of computing being explored, even rocks in the desert, but of them I have no experience.&lt;/p&gt;&#xA;" OwnerUserId="4430" LastActivityDate="2011-03-28T08:18:27.980" CommentCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="5704" PostTypeId="2" ParentId="5684" CreationDate="2011-03-28T08:28:01.277" Score="-4" Body="&lt;p&gt;Brush up on your Einstein. Time and space are the same thing. &lt;a href=&quot;http://en.wikipedia.org/wiki/Space_time&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/Space_time&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Okay so this wikipedia article doesn't do my statement justice as it states that the space-time model doesn't jive with Einstein relativity, but I disagree, Einstein relativity can be modelled in space-time it just requires reference domains based on the velocity of objects.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More to the point, relative time passes the &quot;same&quot; no matter at what speed you travel, however from a universal stand point the faster you go the slower you move through time, this only requires that your &quot;velocity&quot; in a 4D space is constant. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;But I digress. Majorly.&lt;/p&gt;&#xA;" OwnerUserId="4430" LastEditorUserId="4430" LastEditDate="2011-03-28T08:42:11.470" LastActivityDate="2011-03-28T08:42:11.470" CommentCount="10" ContentLicense="CC BY-SA 2.5" />
  <row Id="5705" PostTypeId="1" AcceptedAnswerId="5713" CreationDate="2011-03-28T08:44:59.260" Score="5" ViewCount="516" Body="&lt;p&gt;Assuming I have a graph $G$, with edges $E$ and vertices $V$, and the length of each edge is known, but the coordinates of vertices are not. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Further assume that this is a graph that can be embedded on a 2D plane, what is the algorithm that can create a &quot;nice&quot; drawing with no edge intersection?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Obviously there are many ways the graph can be drawn, and the definition of nice is a bit fuzzy (for practical purpose I would define it as something that is pleasing to the human eyes), but I would only need a good enough algorithm for this.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note there could be many graphs with its embedding and I frankly don't care the algorithm gives me which, as long as it is pleasant looking enough and it has all the above constraint satisfied. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The motivation for this question is this: imagine that you have to design a circuit layout, the path that connects between two electronic components is $E$, and the vertex of each component is $V$, as a part of your engineering design you know that the distance between each component is pre-specified. As a designer, you would have to arrange the components on the board so that it looks nice. How can you design the circuit layout?&lt;/p&gt;&#xA;" OwnerUserId="440" LastEditorUserId="440" LastEditDate="2011-03-28T11:16:14.730" LastActivityDate="2011-03-28T16:03:37.790" Title="Graph planar drawing, with each edge's length is known" Tags="&lt;graph-algorithms&gt;&lt;cg.comp-geom&gt;&lt;planar-graphs&gt;&lt;embeddings&gt;" AnswerCount="2" CommentCount="6" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="5706" PostTypeId="2" ParentId="5695" CreationDate="2011-03-28T10:00:19.523" Score="3" Body="&lt;p&gt;I believe an appropriate term is &quot;a Turing Machine physical implementation&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The main problem with any implementation is how to provide &quot;infinite tape&quot; or in a more abstract level, infinite memory. An easy solution to this problem is to use a special symbol to indicate the last tape square. When a Turing Machine reaches it, it enters a special state which requires user intervention, who is supplying extra tape. Then, the TM can continue its operation. Unfortunately, such implementations being &quot;physical&quot; involve physics. If the universe is finite and due to the Planck scale, there is a finite amount of tape available. This is where problems arise that perhaps cannot be answered by computer scientists but by physicists. Note that physicists have not reached a conclusion on those matters, which are considered major open problems of the magnitude of $P \neq NP$, so it would be unlikely that a computer scientist would resolve them.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can read more in Scott Aaronson's paper &lt;a href=&quot;http://arxiv.org/abs/quant-ph/0502072v2&quot; rel=&quot;nofollow&quot;&gt;NP-complete Problems and Physical Reality&lt;/a&gt; , especially in the Analog and Relativity computing section.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can also find a lego implementation (with finite tape) in the following page: &lt;a href=&quot;http://legoofdoom.blogspot.com/&quot; rel=&quot;nofollow&quot;&gt;http://legoofdoom.blogspot.com/&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="879" LastActivityDate="2011-03-28T10:00:19.523" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="5707" PostTypeId="1" AcceptedAnswerId="5709" CreationDate="2011-03-28T11:21:27.837" Score="2" ViewCount="536" Body="&lt;p&gt;Is there any case of SAT problems (except the affine ones) whose counting version can be computed in polynomial time ? &lt;/p&gt;&#xA;" OwnerDisplayName="user4432" LastEditorUserId="186" LastEditDate="2011-03-29T01:09:43.893" LastActivityDate="2012-06-07T03:54:18.893" Title="Examples of #P problems which are in FP ?" Tags="&lt;cc.complexity-theory&gt;&lt;sat&gt;&lt;counting-complexity&gt;" AnswerCount="2" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="5708" PostTypeId="2" ParentId="5695" CreationDate="2011-03-28T11:43:17.343" Score="4" Body="&lt;p&gt;Physics models reality with theories that define a concept of time-dependent state associated to a system and a time-evolution operator that describes how this state evolves. As soon as you find a physical system that (after some state-space discretization) implements the state space of your Turing machine, and that features interaction terms that implement (maybe after some time discretization) the time evolution according to the state transition table of your Turing machine on its state space, you have found a Turing-complete physical model of your system. Thus you can arguable say, your system &quot;is&quot; Turing-complete. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;When looking at quantum computing, you will find discussions of implications physical theories have on the Turing model of computation. For example, physical theories have to be reversible. A property, which is not shared by ordinary Turing machines. Yet there is no loss in generality, as any Turing machine can be simulated by a reversible one, with some overhead that can trade-off time vs. space, etc.&lt;/p&gt;&#xA;" OwnerUserId="121" LastActivityDate="2011-03-28T11:43:17.343" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="5709" PostTypeId="2" ParentId="5707" CreationDate="2011-03-28T12:02:18.973" Score="6" Body="&lt;p&gt;$SAT$ and $\#SAT$ for CNF formulas of bounded rank are tractable. See $[1]$.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Andrei S. et al. &lt;a href=&quot;http://dspace.mit.edu/openaccess-disseminate/1721.1/58881&quot; rel=&quot;nofollow&quot;&gt;A hierarchy of tractable subclasses for SAT and counting&#xA;SAT problems&lt;/a&gt;. 11th International Symposium on Symbolic and Numeric Algorithms for Scientific Computing.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="1060" LastActivityDate="2011-03-28T12:02:18.973" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="5710" PostTypeId="1" AcceptedAnswerId="5749" CreationDate="2011-03-28T12:35:07.703" Score="10" ViewCount="435" Body="&lt;p&gt;Consider the Dominating Set problem in general graphs, and let $n$ be the number of vertices in a graph. A greedy approximation algorithm gives an approximation guarantee of factor $1 + \log n$, i.e. it's possible to find in polynomial-time a solution $S$ such that $|S| \leq (1 + \log n) opt$, where $opt$ is the size of a minimum dominating set. There are bounds showing that we cannot improve the dependency on $\log n$ much &lt;a href=&quot;http://www.cs.duke.edu/courses/spring07/cps296.2/papers/p634-feige.pdf&quot;&gt;http://www.cs.duke.edu/courses/spring07/cps296.2/papers/p634-feige.pdf&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question: is there an approximation algorithm which has a guarantee in terms of $opt$ instead of $n$? In graphs where $n$ is very large with respect to the optimum, a factor-$\log n$ approximation would be much worse than a factor $\log opt$ approximation. Is something like that known, or are there reasons why this cannot exist? I am happy with any polynomial-time algorithm which produces a solution $S$ such that $|S| \in O(opt^c)$ for some constant $c$.&lt;/p&gt;&#xA;" OwnerUserId="122" LastEditorUserId="186" LastEditDate="2011-03-29T01:11:50.197" LastActivityDate="2011-03-30T06:17:46.810" Title="Existence of $opt^c$-approximation of Dominating Set with $c &lt; 1$?" Tags="&lt;cc.complexity-theory&gt;&lt;approximation-algorithms&gt;&lt;approximation-hardness&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="5712" PostTypeId="2" ParentId="5710" CreationDate="2011-03-28T14:06:24.980" Score="2" Body="&lt;p&gt;This should be a comment, since it does not directly answer your question, but a related question. Perhaps that a similar trick from [1] will provide you with an answer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In [1] the following is proven:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a graph $G=(V,E)$ and a parameter $k$. There is no FPT algorithm (parameterized by $k$) that either: (a) returns an independent dominating set in $G$ of size at least $g(k)$, where $g(k)$ is a fixed function only depending on $k$ or (b) determines that $G$ does not have a dominating set of size $k$. (...Unless FPT = W[2].)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any polynomial time algorithm that returns an independent dominating set of size at least $g(k)$, implies at least that FPT = W[2].&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] Rodney G. Downey, Michael R. Fellows, Catherine McCartin and Frances Rosamond. &quot;Parameterized Approximation of Dominating Set Problems&quot;. Information Processing Letters, Volume 109 Issue 1, December, 2008.&lt;/p&gt;&#xA;" OwnerUserId="3449" LastActivityDate="2011-03-28T14:06:24.980" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="5713" PostTypeId="2" ParentId="5705" CreationDate="2011-03-28T15:48:56.010" Score="11" Body="&lt;p&gt;There is considerable work on the problem of finding planar embeddings with specified edge lengths. Survey and some results can be found in $[1]$.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Cabello, S. and Demaine, E.D. and Rote, G., &quot;&lt;a href=&quot;http://www.springerlink.com/index/37L47FTFJ2MVX2H7.pdf&quot; rel=&quot;nofollow&quot;&gt;Planar embeddings of graphs with specified edge lengths&lt;/a&gt;,&quot; Graph Drawing, 283--294, 2004.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="1060" LastActivityDate="2011-03-28T15:48:56.010" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5714" PostTypeId="2" ParentId="5705" CreationDate="2011-03-28T16:03:37.790" Score="0" Body="&lt;p&gt;Check TULIP - &lt;a href=&quot;http://tulip.labri.fr/TulipDrupal/&quot; rel=&quot;nofollow&quot;&gt;http://tulip.labri.fr/TulipDrupal/&lt;/a&gt;, it might work well for you&lt;/p&gt;&#xA;" OwnerUserId="2016" LastActivityDate="2011-03-28T16:03:37.790" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5715" PostTypeId="1" AcceptedAnswerId="5716" CreationDate="2011-03-28T16:09:48.847" Score="4" ViewCount="123" Body="&lt;p&gt;Are there Belief Revision techniques that aren't based solely in formal logic propositions?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, if one agent believes the temperature for an area is 85 degrees and another believes the temperature is 79 degrees, is there a technique in the literature that has been proposed to to harmonize their beliefs?&lt;/p&gt;&#xA;" OwnerUserId="4434" LastEditorUserId="186" LastEditDate="2011-03-29T01:15:51.130" LastActivityDate="2011-03-29T01:15:51.130" Title="Are there Belief Revision techniques for quantified data?" Tags="&lt;lo.logic&gt;&lt;ai.artificial-intel&gt;&lt;knowledge-representation&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="5716" PostTypeId="2" ParentId="5715" CreationDate="2011-03-28T16:17:16.503" Score="5" Body="&lt;p&gt;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.103.2676&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;nofollow&quot;&gt;Fuzzy Belief Revision&lt;/a&gt; and &lt;a href=&quot;http://arno.unimaas.nl/show.cgi?fid=3677&quot; rel=&quot;nofollow&quot;&gt;Probabilistic Belief Revision&lt;/a&gt; are two flavours of Belief Revision that do not fall within the &lt;em&gt;formal logic propositions&lt;/em&gt; characterisation of the field.&lt;/p&gt;&#xA;" OwnerUserId="77" LastEditorUserId="77" LastEditDate="2011-03-28T16:24:36.580" LastActivityDate="2011-03-28T16:24:36.580" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5718" PostTypeId="2" ParentId="5702" CreationDate="2011-03-28T18:40:05.470" Score="14" Body="&lt;p&gt;The problem of finding a maximum set with no induced directed triangles is NP-complete via a reduction from maximum independent set.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let G=(V,E) be an undirected graph and k be an integer, for which we wish to know whether there is an independent set of at least k vertices. Let |V|=n. From G construct a directed graph G'=(V',A'), where V' consists of the disjoint union of V and n additional vertices. For each undirected edge in G create two directed edges between the same vertices in G'. In addition, connect each of the n additional vertices in G' by edges in both directions to the vertices in V, but do not add edges between any two of the n additional vertices.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then, a triangle-free set of vertices in G' consists either of a subset of V only (with at most n vertices) or it contains some vertices in the set of additional vertices together with an independent set of vertices in G. Therefore, there exists a triangle-free set of size n+k in G' iff there exists an independent set of size k in G.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, this reduction produces many 2-cycles, so it leaves open the possibility that the problem might be easier in the case that the input graph has no 2-cycles, which you say is the case for your inputs. Unfortunately this special case is still hard: a more complicated reduction based on the same idea shows that the problem remains NP-complete even for 2-cycle-free graphs. In the more complicated reduction, add mn additional vertices rather than simply n. Replace each undirected edge in G by a directed edge, oriented arbitrarily. For each directed edge uv connecting two vertices of V, make n additional vertices in V', each of them connected to u and v to form a directed triangle. Then the resulting graph has mn+k vertices in a triangle-free set iff the original graph has k vertices in an independent set.&lt;/p&gt;&#xA;" OwnerUserId="95" LastEditorUserId="95" LastEditDate="2011-03-28T20:55:45.947" LastActivityDate="2011-03-28T20:55:45.947" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="5719" PostTypeId="1" AcceptedAnswerId="5720" CreationDate="2011-03-28T18:51:15.930" Score="1" ViewCount="236" Body="&lt;p&gt;I didn't understand how the &lt;a href=&quot;http://en.wikipedia.org/wiki/Blind_signature&quot; rel=&quot;nofollow&quot;&gt;blind signature&lt;/a&gt; implementations work. But I devised my own way of doing it:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Alice would compose the message&lt;/li&gt;&#xA;&lt;li&gt;Alice would calculate the hash of the message&lt;/li&gt;&#xA;&lt;li&gt;Alice would hand the hash to Bob&lt;/li&gt;&#xA;&lt;li&gt;Bob would sign it with his private key&lt;/li&gt;&#xA;&lt;li&gt;Alice would hand the message and the signed hash to Carol&lt;/li&gt;&#xA;&lt;li&gt;Carol would calculate the actual hash using the message&lt;/li&gt;&#xA;&lt;li&gt;Carol would decode the signed hash with Bob's public key&lt;/li&gt;&#xA;&lt;li&gt;Carol would compare the actual hash with the decoded hash&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Wouldn't this algorithm replace the blind signature implementation as described in Wikipedia in every case?&lt;/p&gt;&#xA;" OwnerUserId="715" LastActivityDate="2011-03-30T19:54:48.743" Title="Is signing a message hash a valid replacement for blind signature?" Tags="&lt;cr.crypto-security&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="5720" PostTypeId="2" ParentId="5719" CreationDate="2011-03-28T19:05:25.900" Score="5" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;Wouldn't this algorithm replace the blind signature implementation as described in Wikipedia in every case?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;No, because hashing is a deterministic algorithm. Let M be Alice's message, and $H(\cdot)$ be the hash function.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In your algorithm, Alice passes H(M) to Bob, who can store H(M) for later reference. This way, Bob effectively creates a database of message hashes signed by him, as well as the ID of the user who asked for Bob's signature. Let $D = \{\langle H(M_1), ID_1 \rangle, \langle H(M_2), ID_2 \rangle, \ldots \}$ be this database.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On seeing a message-signature pair $(M, \sigma)$, Bob hashes M to H(M), and searches D for H(M). If H(m) is found, Bob can easily recover the ID of the user. Hence, this method does not &lt;em&gt;blind&lt;/em&gt; the identity of the user.&lt;/p&gt;&#xA;" OwnerUserId="873" LastEditorUserId="873" LastEditDate="2011-03-28T19:29:57.673" LastActivityDate="2011-03-28T19:29:57.673" CommentCount="7" ContentLicense="CC BY-SA 2.5" />
  <row Id="5721" PostTypeId="2" ParentId="5701" CreationDate="2011-03-28T20:41:35.597" Score="5" Body="&lt;p&gt;The minimum witness size over all witnesses of a span program for a given function equals the generalized adversary bound, as shown e.g. in Theorem 1.7 &lt;a href=&quot;http://eccc.hpi-web.de/report/2010/110/&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;. Further, the &lt;del&gt;generalized&lt;/del&gt; adversary bound is just a semi-definite relaxation of certificate complexity, see e.g. slide 40 in &lt;a href=&quot;http://qip2011.quantumlah.org/images/QIPtutorial3.pdf&quot; rel=&quot;nofollow&quot;&gt;Reichardt's tutorial&lt;/a&gt;. The relation to deterministic and randomized query complexity is discussed in these tutorial slides as well.&lt;/p&gt;&#xA;" OwnerUserId="121" LastEditorUserId="121" LastEditDate="2011-03-29T05:52:01.677" LastActivityDate="2011-03-29T05:52:01.677" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="5722" PostTypeId="2" ParentId="5659" CreationDate="2011-03-28T21:49:26.703" Score="0" Body="&lt;p&gt;I am working on this:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you can prove the theorem for rectangular maps, that are maps made from overlapping sheets of paper, you have also proved the 4ct. In addition, only maps with faces having all 5 edges or more can be considered in the search.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See &lt;a href=&quot;http://4coloring.wordpress.com/&quot; rel=&quot;nofollow&quot;&gt;http://4coloring.wordpress.com/&lt;/a&gt; for details.&lt;/p&gt;&#xA;" OwnerUserId="4437" LastActivityDate="2011-03-28T21:49:26.703" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5723" PostTypeId="1" CreationDate="2011-03-28T23:40:14.183" Score="6" ViewCount="817" Body="&lt;p&gt;A couple of months ago there was a minor hubbub about a paper published on ArXiV by V. F. Romanov titled &lt;a href=&quot;http://arxiv.org/abs/1011.3944&quot; rel=&quot;nofollow&quot;&gt;&lt;em&gt;Non-Orthodox Combinatorial Models Based on Discordant Structures&lt;/em&gt;&lt;/a&gt; which claimed to give a polynomial-time algorithm for 3-SAT, thus proving that $P=NP$. He even went as far as posting a &lt;a href=&quot;https://github.com/anjlab/sat3&quot; rel=&quot;nofollow&quot;&gt;reference implementation&lt;/a&gt; of the algorithm publicly.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, as is usually the case with these things, the public attention didn't last long enough for me to hear of any resolution to this claim. I assume this means it &lt;em&gt;wasn't&lt;/em&gt; successful, obviously, so does anybody know what the problem with this paper ended up being?&lt;/p&gt;&#xA;" OwnerUserId="566" LastEditorUserId="186" LastEditDate="2011-03-29T21:58:18.237" LastActivityDate="2011-03-29T21:58:18.237" Title="What is the status of Vladimir Romanov's proof that P=NP?" Tags="&lt;cc.complexity-theory&gt;&lt;p-vs-np&gt;" AnswerCount="0" CommentCount="8" ClosedDate="2011-03-29T01:20:52.480" ContentLicense="CC BY-SA 2.5" />
  <row Id="5724" PostTypeId="5" CreationDate="2011-03-29T01:16:43.577" Score="0" Body="&lt;p&gt;Use for question in &lt;a href=&quot;http://en.wikipedia.org/wiki/Knowledge_representation_and_reasoning&quot; rel=&quot;nofollow&quot;&gt;Knowledge representation and reasoning&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2011-03-29T01:16:43.577" LastActivityDate="2011-03-29T01:16:43.577" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5725" PostTypeId="4" CreationDate="2011-03-29T01:16:43.577" Score="0" Body="Knowledge representation and reasoning" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2011-03-29T01:16:43.577" LastActivityDate="2011-03-29T01:16:43.577" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5726" PostTypeId="1" AcceptedAnswerId="5931" CreationDate="2011-03-29T02:56:15.753" Score="11" ViewCount="377" Body="&lt;p&gt;Has there been any work on recovering the slope of a line segment from its digitization?&#xA;One can't do this with perfect accuracy, of course; what one wants is a method of deriving from a digitized line an interval of possible slopes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(The notion of a digitized line that I am using is Rosenfeld's: the set of pairs $(i,nint(ai+b))$ where $i$ ranges over the integers (or a block of consecutive integers) and $nint(x)$ denotes the integer nearest to $x$ (if $x=k+1/2$, we take $nint(x)=k$).)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I've done some work on this on my own (see &lt;a href=&quot;http://jamespropp.org/SeeSlope.nb&quot; rel=&quot;nofollow&quot;&gt;http://jamespropp.org/SeeSlope.nb&lt;/a&gt;) but I have&#xA;no formal background in computational geometry so I suspect I may be reinventing the wheel, since the question seems like such a basic one.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In fact, I know that the linear regression method of estimating the slope is in the &#xA;literature, but I haven't been able to find my $O(1/n^{1.5})$ result anywhere.  (This&#xA;result says that if one chooses $a$ and $b$ uniformly at random in $[0,1]$, then the &#xA;difference between the slope $a$ of the line $y=ax+b$ and the slope $\overline{a}$ of&#xA;the regression line approximating the $n$ points $(i,nint(ai+b))$ ($1 \leq i \leq n$) &#xA;has standard deviation $O(1/n^{1.5})$.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any leads or pointers to relevant literature will be greatly appreciated.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Jim Propp (JamesPropp@ignorethis.gmail.com)&lt;/p&gt;&#xA;" OwnerUserId="4443" LastEditorUserId="74" LastEditDate="2011-04-06T12:54:24.673" LastActivityDate="2011-04-07T14:59:31.090" Title="Recovering the slope of a digitized line" Tags="&lt;reference-request&gt;&lt;cg.comp-geom&gt;&lt;cv.computer-vision&gt;&lt;image-processing&gt;" AnswerCount="4" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="5728" PostTypeId="2" ParentId="5726" CreationDate="2011-03-29T07:25:34.097" Score="2" Body="&lt;p&gt;What about the standard Hough transform method that is used for line detection in image processing: &lt;a href=&quot;http://en.wikipedia.org/wiki/Hough_transform&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/Hough_transform&lt;/a&gt; ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you want to gain some speed then you can use the randomized version of HT.&lt;/p&gt;&#xA;" OwnerUserId="3247" LastActivityDate="2011-03-29T07:25:34.097" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5734" PostTypeId="1" AcceptedAnswerId="5736" CreationDate="2011-03-29T17:36:49.337" Score="7" ViewCount="158" Body="&lt;p&gt;Is there a known bound on the size of a BSP tree for a simple polygon?  I am aware of the result by Toth which gives a tight $\Theta(n \log(n) / \log(\log(n)) )$ bound on the size of a BSP consisting of $n$ disjoint segments, but I wonder if it is possible to do better given some of the special properties of simple polygons.  For example, it is trivial to show that convex polygons can be represented by BSP trees using at most $O(n)$ nodes.  Is it possible to represent simple polygons in linear space as well?&lt;/p&gt;&#xA;" OwnerUserId="559" LastActivityDate="2011-03-29T20:07:37.760" Title="Size of BSP tree for a simple polygon?" Tags="&lt;cg.comp-geom&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="5735" PostTypeId="2" ParentId="5659" CreationDate="2011-03-29T18:13:11.997" Score="29" Body="&lt;p&gt;4CT is equivalent to:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Coloring a hypergraph induced by a finite family of discs (not necessarily interior disjoint but also discs that might have arbitrary overlaps) with at most four colors $[1]$.&lt;/li&gt;&#xA;&lt;li&gt;The proposition that every planar triangulation with more than three vertices is the union of two connected bipartite graphs, each with no isthmus $[2]$.&lt;/li&gt;&#xA;&lt;li&gt;A combinatorial problem about the three-dimensional vector cross product algebra $[3]$.&lt;/li&gt;&#xA;&lt;li&gt;The proposition that the grammar G is totally ambiguous $[4]$.&lt;/li&gt;&#xA;&lt;li&gt;For any positive integer $n$, there exists at least a signable path joining two permutations of $S_n$.&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;An algebraic equivalent of the four-color theorem is presented. The equivalent is the assertion of non-membership of a family of polynomials in a family of polynomial ideals over a particular finite field $[6]$.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Smorodinsky S. &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.115.1554&amp;amp;rep=rep1&amp;amp;type=pdf&quot;&gt;On the chromatic number of geometric hypergraphs&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Mabry R. &lt;a href=&quot;http://sun.cs.lsus.edu/~rmabry/math/rmabry/bica/4color.pdf&quot;&gt;Bipartite Graphs and the Four-Color Theorem&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Kauffman L.H. &lt;a href=&quot;http://www.sciencedirect.com/science?_ob=ArticleURL&amp;amp;_udi=B6WHT-4D8DRHP-3D&amp;amp;_user=10&amp;amp;_coverDate=04/30/1990&amp;amp;_rdoc=1&amp;amp;_fmt=high&amp;amp;_orig=gateway&amp;amp;_origin=gateway&amp;amp;_sort=d&amp;amp;_docanchor=&amp;amp;view=c&amp;amp;_acct=C000050221&amp;amp;_version=1&amp;amp;_urlVersion=0&amp;amp;_userid=10&amp;amp;md5=ede6a2d15f726218d76b941857fa8fdc&amp;amp;searchtype=a&quot;&gt;Map coloring and the vector cross product&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Cooper B. J. et al. &lt;a href=&quot;http://arxiv.org/abs/1006.1324&quot;&gt;Toward a language theoretic proof of the four color theorem&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Eliahou S. et al. &lt;a href=&quot;http://arxiv.org/abs/math/0606726&quot;&gt;Signed permutations and the four color theorem&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Howard L. &lt;a href=&quot;http://comet.lehman.cuny.edu/fitting/fourcolor/fourcolor.html&quot;&gt;An Algebraic Reformulation of the Four Color Theorem&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;/ol&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="1060" LastEditorUserId="988" LastEditDate="2012-12-30T21:32:55.113" LastActivityDate="2012-12-30T21:32:55.113" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="5736" PostTypeId="2" ParentId="5734" CreationDate="2011-03-29T20:07:37.760" Score="12" Body="&lt;p&gt;No, simple polygons are not any easier than disjoint segments. Given any n disjoint segments, there is a simple polygon with O(n) edges that includes all of the input segments as sides of the polygon. Then, any BSP tree for the polygon forms a BSP tree for the segments.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One way to do construct a polygon for a set of segments would be to triangulate the planar straight line graph formed by the input segments, and then pick a spanning tree of the triangulation, which is necessarily non-crossing. Then form a simple polygon by walking around an Euler tour of the spanning tree, using each of the input segments the first time the Euler tour traverses that edge and a parallel segment near it the second time the tour traverses it.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2011-03-29T20:07:37.760" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="5737" PostTypeId="5" CreationDate="2011-03-29T20:19:26.670" Score="0" Body="&lt;p&gt;This tag is used for &lt;strong&gt;closed questions&lt;/strong&gt; &lt;em&gt;when&lt;/em&gt; there is &lt;strong&gt;no suitable tag&lt;/strong&gt;.&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2011-03-29T20:33:42.367" LastActivityDate="2011-03-29T20:33:42.367" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5738" PostTypeId="4" CreationDate="2011-03-29T20:19:26.670" Score="0" Body="Closed questions with no suitable tags" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2011-03-29T20:19:26.670" LastActivityDate="2011-03-29T20:19:26.670" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5739" PostTypeId="1" CreationDate="2011-03-29T20:21:08.600" Score="0" ViewCount="149" Body="&lt;p&gt;I am working on a text processer which gives out similarities between a set of strings. After weighted &lt;a href=&quot;http://en.wikipedia.org/wiki/Longest_common_subsequence_problem&quot; rel=&quot;nofollow&quot;&gt;LCS&lt;/a&gt;, &lt;a href=&quot;http://en.wikipedia.org/wiki/Levenshtein_distance&quot; rel=&quot;nofollow&quot;&gt;Levenshtein distance&lt;/a&gt; and &lt;a href=&quot;http://en.wikipedia.org/wiki/Metaphone&quot; rel=&quot;nofollow&quot;&gt;double metaphone matching&lt;/a&gt;, I get buckets of strings such as &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Bucket for string $i \rightarrow [s, k, m]$&lt;/li&gt;&#xA;&lt;li&gt;Bucket for string $j \rightarrow [i, s, k]$&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;This effectively implies that $i,j,s,k,m$ belong to the same cluster.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One of the ways I could do this is to build a connectivity graph and cluster all the connected components.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The other way is to iteratively check for the matches.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Could somebody help me do it better.&lt;/p&gt;&#xA;" OwnerUserId="4461" LastEditorUserId="32187" LastEditDate="2015-04-07T09:22:23.310" LastActivityDate="2015-04-07T09:22:23.310" Title="A better way to cluster items" Tags="&lt;graph-algorithms&gt;&lt;clustering&gt;&lt;data-mining&gt;" AnswerCount="0" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="5740" PostTypeId="5" CreationDate="2011-03-29T20:40:22.440" Score="0" Body="&lt;p&gt;Questions about computational &lt;a href=&quot;http://en.wikipedia.org/wiki/Complexity_class&quot; rel=&quot;nofollow&quot;&gt;complexity classes&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Please check the &lt;a href=&quot;http://qwiki.stanford.edu/index.php/Complexity_Zoo&quot; rel=&quot;nofollow&quot;&gt;Complexity Zoo&lt;/a&gt; before asking a question about relations between complexity classes.&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2011-03-29T20:40:22.440" LastActivityDate="2011-03-29T20:40:22.440" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5741" PostTypeId="4" CreationDate="2011-03-29T20:40:22.440" Score="0" Body="Computational complexity classes and their relations" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2011-03-29T20:40:22.440" LastActivityDate="2011-03-29T20:40:22.440" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5742" PostTypeId="2" ParentId="5726" CreationDate="2011-03-29T20:52:35.667" Score="1" Body="&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;I don't know of any work in cg (or any other group for that matter) on deriving slope from the set of discrete points, but that's more a reflection of my lack of knowledge.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Rather than cg, this seems more like number theory. In addition to the simplifying assumptions in my comment, assume that the real slope is between 0 and 1. Since your set is contiguous, the number of points is the max denominator of the slope. The pattern of the unit rises is determined by the GCD of the actual $\Delta y$ and $\Delta x$ (an extension of the Euclidean GCD computes the same points as the Bresenham line drawing algorithm). So computing the (augmented) gcd of the number of points (for the $x$) and the last $y$ minus the first, will get you the closest rational to the slope with the largest denominator (see the Stern-Brocot tree). So in some sense, you hardly need the pattern of points at all, just the change in $x$ and $y$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="497" LastActivityDate="2011-03-29T20:52:35.667" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="5743" PostTypeId="5" CreationDate="2011-03-29T21:53:31.953" Score="0" Body="&lt;p&gt;Question about &lt;a href=&quot;http://en.wikipedia.org/wiki/Formal_language&quot; rel=&quot;nofollow&quot;&gt;formal languages&lt;/a&gt; including &lt;a href=&quot;http://en.wikipedia.org/wiki/Automata_theory&quot; rel=&quot;nofollow&quot;&gt;automata theory&lt;/a&gt;, &lt;a href=&quot;http://en.wikipedia.org/wiki/Formal_grammar&quot; rel=&quot;nofollow&quot;&gt;grammars&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Roughly corresponds to arXiv tag&lt;a href=&quot;http://arxiv.org/list/cs.FL/&quot; rel=&quot;nofollow&quot;&gt;cs.FL&lt;/a&gt; and &lt;a href=&quot;http://www.acm.org/about/class/ccs98-html&quot; rel=&quot;nofollow&quot;&gt;ACM Subject Classes&lt;/a&gt; F.1.1, and F.4.3.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For question about computability and Turing machines &lt;a href=&quot;/questions/tagged/computability&quot; class=&quot;post-tag&quot; title=&quot;show questions tagged 'computability'&quot; rel=&quot;tag&quot;&gt;computability&lt;/a&gt; tag should be used.&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2011-03-29T21:53:31.953" LastActivityDate="2011-03-29T21:53:31.953" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5744" PostTypeId="4" CreationDate="2011-03-29T21:53:31.953" Score="0" Body="formal languages, grammars, automata theory" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2011-03-29T21:53:31.953" LastActivityDate="2011-03-29T21:53:31.953" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5745" PostTypeId="1" CreationDate="2011-03-30T00:08:34.740" Score="4" ViewCount="280" Body="&lt;p&gt;To continue the question posted by user1749 on Oct 13 2010 : &lt;a href=&quot;https://cstheory.stackexchange.com/q/2168/1800&quot;&gt;How many instances of 3-SAT are satisfiable?&lt;/a&gt; Which was: &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Consider the 3-SAT problem on n variables.  The number of possible distinct clauses is: &lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;$$C = 2n \times 2(n-1) \times 2(n -2) / 3! = 4 n(n-1)(n-2)/3 \text.$$ &lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;The number of problem instances is the number of all subsets of the set of possible clauses: $I = 2^C$.  Trivially, for each $n \ge 3$, there exist at least one satisfiable instance and one unsatisfiable instance. Is it possible to calculate, or at least estimate, the number of satisfiable instance for any given n?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I was wondering what the complexity of the problem of counting the satisfiable instances of k-SAT on n variables is. &lt;/p&gt;&#xA;" OwnerDisplayName="user4432" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2011-03-30T05:29:12.813" Title="What is the complexity of #satisfiable instances of k-SAT ?" Tags="&lt;cc.complexity-theory&gt;&lt;sat&gt;&lt;counting-complexity&gt;" AnswerCount="0" CommentCount="5" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="5746" PostTypeId="2" ParentId="5609" CreationDate="2011-03-30T02:13:49.190" Score="7" Body="&lt;p&gt;I'm interested in but not familiar with this topic. Searching for &quot;Average case complexity theory&quot;, I found a thesis written by Tomoyuki Yamakami:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;a href=&quot;http://www.eccc.uni-trier.de/resources/pdf/yamakami.pdf&quot;&gt;Average Case Computational Complexity Theory&lt;/a&gt;, Tomoyuki Yamakami, 1997.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Section 3.5.1 seems relevant, a space-analog notion similar to the average-time complexity is defined. Hopefully with a deeper reading we'll find some problems that has been analysed :)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also in the paper&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;a href=&quot;http://www.wisdom.weizmann.ac.il/~oded/PS/aver.ps&quot;&gt;On the Theory of Average Case Complexity&lt;/a&gt;, Shai Ben-David, Benny Chor, Oded Goldreich and Michael Luby, 1989.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Average log-space complexity is defined in Section 7.&lt;/p&gt;&#xA;" OwnerUserId="1800" LastEditorUserId="1800" LastEditDate="2011-03-30T02:29:50.350" LastActivityDate="2011-03-30T02:29:50.350" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5747" PostTypeId="2" ParentId="5659" CreationDate="2011-03-30T04:51:03.173" Score="9" Body="&lt;p&gt;The high-level description of the automated proof by Gonthier is worth reading, if you are looking for more insight.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Yuri Matiyasevich studied several probabilistic restatements of the Four Colour Theorem, involving positive correlations between two notions of similarity between colourings.  His proofs of equivalence rely on an associated graph polynomial, which provides another likely pointer to conjectures that imply the theorem.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Georges Gonthier, &lt;a href=&quot;http://www.ams.org/notices/200811/tx081101382p.pdf&quot;&gt;&lt;em&gt;Formal Proof—The Four-Color Theorem&lt;/em&gt;&lt;/a&gt;, Notices of the American Mathematical Society &lt;strong&gt;55&lt;/strong&gt;(11) 1382–1393, 2008.&lt;/li&gt;&#xA;&lt;li&gt;Yuri Matiyasevich, &lt;a href=&quot;http://logic.pdmi.ras.ru/~yumat/Journal/prob4cc1/prob4cc1.pdf.gz&quot;&gt;&lt;em&gt;One Probabilistic Equivalent of the Four Color Conjecture&lt;/em&gt;&lt;/a&gt;, translation of paper in Teoriya Veroyatnostei i ee Primeneniya &lt;strong&gt;48&lt;/strong&gt; 411–416, 2003.&lt;/li&gt;&#xA;&lt;li&gt;Yuri Matiyasevich, &lt;a href=&quot;http://dx.doi.org/10.1002/jgt.10178&quot;&gt;&lt;em&gt;Some Probabilistic Restatements of the Four Color Conjecture&lt;/em&gt;&lt;/a&gt;, Journal of Graph Theory &lt;strong&gt;46&lt;/strong&gt; 167–179, 2004. (&lt;a href=&quot;http://logic.pdmi.ras.ru/~yumat/Journal/prob4cc/prob4cc.pdf.gz&quot;&gt;preprint&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="109" LastActivityDate="2011-03-30T04:51:03.173" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5749" PostTypeId="2" ParentId="5710" CreationDate="2011-03-30T06:17:46.810" Score="14" Body="&lt;p&gt;I think it is still open if Dominating Set or Hitting Set have a f(OPT) approximation for some (nontrivial) function f. This is should be a very difficult (and possible deep) question to answer. I consider it the most exciting question in parameterized approximation (along with the analogous question for Clique). You might want to have a look at my survey [1] that discusses this. Note that it is shown in the more recent paper [2] that &quot;monotone circuit satisfiability for weft-2 circuits&quot;, a problem which is more general than Dominating Set, does not have f(OPT) approximation for any f.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] D. Marx. Parameterized complexity and approximation algorithms.&#xA;The Computer Journal, 51(1):60-78, 2008.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] D. Marx. Completely inapproximable monotone and antimonotone parameterized problems.&#xA;In Proceedings of the 25th Annual IEEE Conference on Computational Complexity, Cambridge, Massachusetts, 181-187, 2010.&lt;/p&gt;&#xA;" OwnerUserId="3189" LastActivityDate="2011-03-30T06:17:46.810" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="5750" PostTypeId="1" AcceptedAnswerId="5751" CreationDate="2011-03-30T08:59:47.530" Score="15" ViewCount="4517" Body="&lt;p&gt;Given an $m \times n$ matrix (assuming $m \ge n$), what is the fastest algorithm to compute its rank and basis of the columns? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am aware it can be solved through linear matroid intersection, which implies &#xA;an $O(mn^{1.62})$ time deterministic algorithm and an $O(mn^{\omega-1})$ time randomized algorithm. Is there an $O(mn^{\omega-1})$ time deterministic algorithm that more directly reduce the problem (or Gaussian elimination) to matrix multiplication?&lt;/p&gt;&#xA;" OwnerUserId="417" LastEditorUserId="186" LastEditDate="2011-03-31T21:55:54.100" LastActivityDate="2020-02-06T01:12:26.273" Title="What is the fastest algorithm to compute rank of a rectangular matrix?" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;time-complexity&gt;&lt;linear-algebra&gt;&lt;matrices&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="5751" PostTypeId="2" ParentId="5750" CreationDate="2011-03-30T12:49:15.847" Score="9" Body="&lt;p&gt;You can bring a $2n \times n$-matrix into echelon form in time &#xA;$O(n^{\omega + \epsilon})$ for any $\epsilon &amp;gt; 0$. See the book &quot;Algebraic Complexity Theory&quot; by Bürgisser, Clausen, Shokrollahi, Section 16.5.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now you apply this procedure $m/n$ times to your $m \times n$-matrix.&#xA;This gives an algorithm with $O(mn^{\omega-1})$ arithmetic operations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you bring an $2n \times n$-matrix into echelon form, then it contains&#xA;a zero matrix of size $n \times n$ afterwards. You take the remaining $n \times n$-matrix,&#xA;add a new $n \times n$-block of your input matrix and bring this to echelon form and so on.&lt;/p&gt;&#xA;" OwnerUserId="3980" LastEditorUserId="3980" LastEditDate="2011-03-30T21:00:07.433" LastActivityDate="2011-03-30T21:00:07.433" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="5754" PostTypeId="1" CreationDate="2011-03-30T14:51:13.327" Score="10" ViewCount="1791" Body="&lt;p&gt;I'm trying to understand this paper: &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.25.5554&quot; rel=&quot;nofollow noreferrer&quot;&gt;Stable minimum space partitioning&#xA;in linear time.&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;It seems that a critical part of the claim is that&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;Algorithm B&lt;/strong&gt; sorts stably a bit-array of size &lt;em&gt;n&lt;/em&gt; in&#xA;&lt;em&gt;O(nlog&lt;sub&gt;2&lt;/sub&gt;n)&lt;/em&gt; time and constant extra space, but makes only &lt;em&gt;O(n)&lt;/em&gt; moves.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;However, the paper doesn't describe the algorithm, but only references another paper which I don't have access to.   I can find several ways to do the sort within the time bounds, but I'm having trouble finding one that guarantees O(N) moves without also requiring more than constant space.&lt;/p&gt;&#xA;&lt;p&gt;The reference is to &amp;quot;&lt;a href=&quot;https://link.springer.com/article/10.1007/BF02017344&quot; rel=&quot;nofollow noreferrer&quot;&gt;Stable in situ sorting and minimum data movement&lt;/a&gt;&amp;quot; by J.I. MUNRO, V. RAMAN, et al. Googling reveals that that pair has also published several papers on related topics, including &amp;quot;Fast stable in-place sorting with O(n) data moves. Algorithmica 16, 151–160.&amp;quot; So I think it is a real technique (at least in theory). But I've been unable to figure out how to create a working version.&lt;/p&gt;&#xA;&lt;p&gt;What is this Algorithm B? In other words, given&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;boolean Predicate(Item* a);  //returns result of testing *a for some condition&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;is there a function &lt;code&gt;B(Item* a, size_t N);&lt;/code&gt; which stably sorts &lt;em&gt;a&lt;/em&gt; using &lt;em&gt;Predicate&lt;/em&gt; as the sort key in O(N lg N) time, and performs only O(N) writes to &lt;em&gt;a&lt;/em&gt;?&lt;/p&gt;&#xA;&lt;p&gt;&lt;em&gt;I asked this on StackOverflow, I haven't got any good responses.&lt;/em&gt;&lt;/p&gt;&#xA;" OwnerUserId="4469" LastEditorUserId="4469" LastEditDate="2021-01-16T21:10:50.243" LastActivityDate="2021-01-16T21:10:50.243" Title="Which algorithm can do a stable in-place binary partition with only O(N) moves?" Tags="&lt;ds.algorithms&gt;&lt;space-bounded&gt;" AnswerCount="0" CommentCount="9" FavoriteCount="2" ContentLicense="CC BY-SA 4.0" />
  <row Id="5756" PostTypeId="1" AcceptedAnswerId="5761" CreationDate="2011-03-30T15:39:29.103" Score="6" ViewCount="443" Body="&lt;p&gt;I was curious as to the ability to move between different academic disciplines with an advanced degree in TCS.  So would I be able to move, with a little bit of elbow grease, between physics and biology and mathematics?  I am looking to be flexible and able to apply my TCS studies to several disciplines and wondering if this is the correct avenue to do so.  Or do I go for an advanced degree in math and just leverage my CS background?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I've tried perusing the site for an answer and haven't quite found what I'm looking for.  So I apologize if there is a similar post.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks.&lt;/p&gt;&#xA;" OwnerUserId="4472" LastEditorUserId="80" LastEditDate="2011-03-30T18:12:07.207" LastActivityDate="2011-03-30T19:26:39.563" Title="Physics and TCS" Tags="&lt;soft-question&gt;&lt;application-of-theory&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="5757" PostTypeId="1" CreationDate="2011-03-30T15:42:57.257" Score="13" ViewCount="602" Body="&lt;p&gt;What I refer to as counting is the problem that consists in finding&#xA;the number of solutions to a function. More precisely, given a&#xA;function $f:N\to \{0,1\}$ (not necessarily black-box), approximate&#xA;$\#\{x\in N\mid f(x)= 1\}= |f^{-1}(1)|$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am looking for algorithmic problems which involve some sort of&#xA;counting and for which the time complexity is greatly influenced by&#xA;this underlying counting problem. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course, I am looking for problems which are not counting problems themselves. And it would be greatly appreciated if you could provide documentation for these problems.&lt;/p&gt;&#xA;" OwnerUserId="507" LastActivityDate="2011-07-16T20:57:06.677" Title="Any algorithmic problem has a time complexity dominated by counting?" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;counting-complexity&gt;&lt;time-complexity&gt;" AnswerCount="6" CommentCount="0" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="5758" PostTypeId="2" ParentId="5757" CreationDate="2011-03-30T17:48:27.683" Score="8" Body="&lt;p&gt;Valiant proved that the problem of finding the permanent of a matrix is complete for &lt;a href=&quot;http://qwiki.stanford.edu/index.php/Complexity_Zoo%3aSymbols#sharpp&quot; rel=&quot;nofollow&quot;&gt;#P&lt;/a&gt;. See the &lt;a href=&quot;http://en.wikipedia.org/wiki/Permanent_is_sharp-P-complete&quot; rel=&quot;nofollow&quot;&gt;wikipedia page&lt;/a&gt; on the issue. #P is the complexity class corresponding to counting the number of accepting paths of an NP machine.&lt;/p&gt;&#xA;" OwnerUserId="204" LastActivityDate="2011-03-30T17:48:27.683" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5760" PostTypeId="2" ParentId="5757" CreationDate="2011-03-30T19:22:59.207" Score="1" Body="&lt;p&gt;I'll take &quot;greatly influenced&quot; as a soft constraint rather than as a reduction. In that sense, MANY problems in computational geometry have running times that are bounded by some combinatorial structure underlying them. for example, the complexity of computing an arrangement of shapes is directly linked to the intrinsic complexity of such arrangements. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another, topical example of this is that various problems in point pattern matching have running times that boil down to estimating quantities like the number of repeated distances in a point set, and so on. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2011-03-30T19:22:59.207" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5761" PostTypeId="2" ParentId="5756" CreationDate="2011-03-30T19:26:39.563" Score="7" Body="&lt;p&gt;Short answer: it depends.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Long answer: a degree in TCS &lt;em&gt;can&lt;/em&gt; help you a lot in areas like biology (bioinformatics, computational biology, Dick Karp!) and physics (quantum computing, for example). But it almost entirely depends on the area of TCS you focus on. Obviously, a specialty in scheduling theory won't help much with quantum cryptography. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;An advanced degree in math can also help you in these disciplines: ultimately though, it depends on what kind of work you want to do. For modeling, math background is great. For computational aspects, a TCS degree might be more helpful. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2011-03-30T19:26:39.563" CommentCount="6" ContentLicense="CC BY-SA 2.5" />
  <row Id="5763" PostTypeId="2" ParentId="5757" CreationDate="2011-03-30T21:19:23.977" Score="1" Body="&lt;p&gt;Not sure if this is what you were looking for but phase transitions of NP-Complete problems rely heavily on probabilistic arguments, which are just another form of counting.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.google.com/url?sa=t&amp;amp;source=web&amp;amp;cd=4&amp;amp;ved=0CDEQFjAD&amp;amp;url=http%3A%2F%2Fwww.farcaster.com%2Fpapers%2Fcrypto-sumcc%2Fsumcc.ps&amp;amp;rct=j&amp;amp;q=subset%20sum%20crypto%20lattice%20reduction&amp;amp;ei=N5uTTdvUMM-3tgf6_tBm&amp;amp;usg=AFQjCNFcHqW4nF8N0T2dRYacBrTsWRGJuQ&amp;amp;cad=rja&quot; rel=&quot;nofollow&quot;&gt;LLL&lt;/a&gt; has been used to solve some 'low-density' Subset Sum problems, the success of which relies on high probability short lattice vectors existing that meet the criteria of being a Subset Sum solution.  &lt;a href=&quot;http://arxiv.org/PS_cache/cs/pdf/0212/0212002v4.pdf&quot; rel=&quot;nofollow&quot;&gt;Survey Propagation&lt;/a&gt; relies on the structure of solution space (and the number of solutions as it fixes variables) to find solutions near the critical threshold.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://research.microsoft.com/en-us/um/people/jchayes/Papers/partitionSTOC.pdf&quot; rel=&quot;nofollow&quot;&gt;Borgs, Chayes and Pittel&lt;/a&gt; have pretty much completely characterized the phase transition of the (Uniform) Random Number Partition Problem and thus have characterized how many solutions one can expect for a given (random) instance of the Number Partition Problem.&lt;/p&gt;&#xA;" OwnerUserId="834" LastActivityDate="2011-03-30T21:19:23.977" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5764" PostTypeId="1" CreationDate="2011-03-30T21:32:15.520" Score="0" ViewCount="702" Body="&lt;p&gt;The problem is the following:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We have a positive integer $w$. A set of positive integers $A$ such that $\forall a \in A$ it's true that $a \leq w$. We search for the minimal integer $x$ such that $w \leq x$ and there is a convex integer combination of the elements of $A$ that is equal to $x$. The problem can clearly be written as an integer program but that's not much help.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My best approach is $O(w)$ in both time and space similar to &lt;a href=&quot;http://en.wikipedia.org/wiki/Knapsack_problem#Unbounded_knapsack_problem&quot; rel=&quot;nofollow&quot;&gt;knapsack's dynamic programming solution&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Could someone suggest a better one?&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;EDIT: I made 2 mistakes in the formulation. The first is that the combination is not convex only non-negative. The second is the algorithm I mentioned is not $O(w)$ but $O(|A|w)$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The algorithm is like make an array size of $w$, sign $0$ in it and unsign everything else. Set a variable $\min$ to &quot;infinite&quot;. Go through the array and to each signed element add each element of $A$. If it's not smaller than $w$ but smaller than $\min$ it's the new $\min$. If it's smaller than $w$ sign the according element. When we reach the end of the array $\min$ holds the $x$ in question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also the problem can be reformulated as a series of $n$ variable diophantine equation so if $A = \{a_{1}, \ldots, a_{n}\}$ and $d = \gcd(a_{1}, \ldots, a_{n})$ then we only need to check for $x \in \mathbb{N}, w \leq x, d \mid x$ if the diophantine equation $\sum_{i = 1}^{n}y_{i} a_{i} = x$ has an all non-negative $Y = \{y_{1}, \ldots, y_{n}\}$ solution.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I don't know the complexity for this second approach. I don't know how long the series can be.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT.2: The length of the series is the smaller problem. Solving any of the above diophantine equations is like solving the subset-sum problem so this approach is not good either.&lt;/p&gt;&#xA;" OwnerUserId="1784" LastEditorUserId="1800" LastEditDate="2011-03-31T15:52:23.923" LastActivityDate="2011-04-01T00:02:16.457" Title="Minimal non-negative linear combination of positive integers larger than a positive integer" Tags="&lt;ds.algorithms&gt;&lt;integer-programming&gt;" AnswerCount="2" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="5765" PostTypeId="1" CreationDate="2011-03-30T23:38:12.140" Score="17" ViewCount="1477" Body="&lt;p&gt;In automata theory (finite automata, pushdown automata, ...) and in complexity, there is a notion of &quot;ambiguity&quot;. An automaton is ambiguous if there is a word $w$ with at least two distinct accepting runs. A machine is $k$-ambiguous if for every word $w$ accepted by the machine there are at most $k$ distinct runs to accept $w$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This notion is also defined over context-free grammars: a grammar is ambiguous if there exists a word that can be derived in two different ways.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is also known that many languages have a nice logical characterization over finite models. (If a language $L$ is regular, there exists a monadic second-order formula $\phi$ over words such that every word $w$ of $L$ is a model of $\phi$, similarly NP if equivalent to the Second order formulae where every 2nd order quantifiers are existential.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hence, my question is at the edges of the two domains: is there any result, or even a canonical definition, of &quot;ambiguity&quot; of formulae of a given logic?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I can imagine a few definitions:  &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$\exists x \phi(x)$ is non ambiguous if there exists at most one $x$ such that $\phi(x)$ holds and that $\phi(x)$ is non-ambiguous.  &lt;/li&gt;&#xA;&lt;li&gt;$\phi_0\lor\phi_1$ would be ambiguous if there exists a model of both $\phi_0$ and $\phi_1$, or if $\phi_i$ is ambiguous.  &lt;/li&gt;&#xA;&lt;li&gt;A SAT formula would be non-ambiguous iff there is at most one correct assignation.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Hence, I wonder if it is a well-known notion, else it may be interesting to try to do research on this topic. If the notion is known, could anyone give me keywords I could use to search for information on the matter (because &quot;logic ambiguity&quot; gives a lot of unrelated results), or a book/pdf/article  references?&lt;/p&gt;&#xA;" OwnerUserId="328" LastEditorUserId="77" LastEditDate="2011-04-01T06:51:40.133" LastActivityDate="2011-04-01T06:51:40.133" Title="Ambiguity and Logic" Tags="&lt;lo.logic&gt;&lt;automata-theory&gt;&lt;regular-language&gt;&lt;nondeterminism&gt;&lt;finite-model-theory&gt;" AnswerCount="5" CommentCount="0" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="5766" PostTypeId="5" CreationDate="2011-03-31T01:29:08.147" Score="0" Body="" OwnerUserId="-1" LastEditorUserId="-1" LastEditDate="2011-03-31T01:29:08.147" LastActivityDate="2011-03-31T01:29:08.147" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5767" PostTypeId="4" CreationDate="2011-03-31T01:29:08.147" Score="0" Body="Automata Theory, including abstract machines, grammars, parsing, grammatical inference, transducers, and finite-state techniques" OwnerUserId="2406" LastEditorUserId="2406" LastEditDate="2011-03-31T04:56:47.997" LastActivityDate="2011-03-31T04:56:47.997" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5768" PostTypeId="2" ParentId="5765" CreationDate="2011-03-31T01:32:08.433" Score="7" Body="&lt;p&gt;Just two remarks. I hope they help. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The standard definitions of semantics of a logic and of truth follow Tarski's presentation, proceeding by induction on formula structure. Another possibility is to give game-based semantics as suggested by Hintikka. Truth and satisfiability are all defined in terms of strategies in a game. For first order formulae, one can prove that a formula is true under Tarski's notion if and only if there exists a winning strategy in the Hintikka game.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Towards formalising your question, one can ask if the game admits multiple strategies. There is also the interesting question about whether the strategies should be deterministic. Hintikka required them to be deterministic. The proof that Hintikka's original and Tarski's  semantics are equivalent requires the Axiom of Choice. One can also formalise truth in terms of games with non-deterministic strategies with fewer complications.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Your language theory example brought to mind determinism, simulation relations and language acceptance. A simulation relation between automata implies language inclusion between their languages though the converse is not true. For deterministic automata the two notions coincide. One can ask if it is possible to extend simulation relations in a 'smooth' manner to capture language equivalence for non-deterministic automata. Kousha Etessami has a really nice paper showing how to do this using k-simulations (&lt;a href=&quot;http://homepages.inf.ed.ac.uk/kousha/final_concur2002.ps&quot; rel=&quot;nofollow&quot;&gt;A Hierarchy of Polynomial-Time Computable Simulations for Automata&lt;/a&gt;). Intuitively, the 'k' reflects the degree of non-determinism the simulation relation can capture. When 'k' equals the level of non-determinism in the automaton, simulation and language equivalence coincide. That paper also gives a logical characterisation of k-simulations in terms of polyadic modal logic and a bounded variable fragment of first-order logic. You get language inclusion, determinism, games, modal logic and first order logic, all in one  bumper package. &lt;/p&gt;&#xA;" OwnerUserId="4155" LastActivityDate="2011-03-31T01:32:08.433" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5769" PostTypeId="2" ParentId="5765" CreationDate="2011-03-31T02:32:52.687" Score="0" Body="&lt;p&gt;Not sure about the question applied to CS, but try searching for the term Vagueness and logic. In philosophy of logic, ambiguity is usually made distinct from vagueness (see &lt;a href=&quot;http://plato.stanford.edu/entries/vagueness/#2&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt; for instance), and I think what you are after is vagueness (as vagueness is defined as terms where there are borderline cases). The major book in this area is Timothy Williamson's Vagueness (but also see the bibliography on the Stanford site above).&lt;/p&gt;&#xA;" OwnerUserId="4477" LastActivityDate="2011-03-31T02:32:52.687" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="5770" PostTypeId="2" ParentId="5757" CreationDate="2011-03-31T05:20:49.930" Score="15" Body="&lt;p&gt;This is a followup to Suresh's answer.  As he says, there are &lt;em&gt;lots&lt;/em&gt; of construction problems in computational geometry where the complexity of the output is a trivial lower bound on the running time of any algorithm.  For example: planar line arrangements, 3-dimensional Voronoi diagrams, and planar visibility graphs all have combinatorial complexity $\Theta(n^2)$ in the worst case, so any algorithm that constructs those objects trivially requires $\Omega(n^2)$ time in the worst case.  (There are $O(n^2)$-time algorithms for all three of those problems.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But similar constraints are conjectured to apply to &lt;em&gt;decision&lt;/em&gt; problems as well.  For example, given a set of n lines in the plane, how easily can you check whether any three lines pass through a common point?  Well, you could build the arrangement of the lines (the planar graph defined by their intersection points and the segments between them), but that takes $\Theta(n^2)$ time.  One of the main results of &lt;a href=&quot;http://www.cs.uiuc.edu/~jeffe/pubs/thesis.html&quot;&gt;my PhD thesis&lt;/a&gt; was that within a restricted but natural decision tree model of computation, &lt;a href=&quot;http://www.cs.uiuc.edu/~jeffe/pubs/degen.html&quot;&gt;$\Omega(n^2)$ time is required&lt;/a&gt; to detect triple intersections.  Intuitively, we &lt;em&gt;must&lt;/em&gt; enumerate all $\binom{n}{2}$ intersection points and look for duplicates.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Similarly, there is a set of numbers where $\Theta(n^2)$ triples of elements sum to zero.  Therefore, any algorithm (modeled by a certain class of decision trees) to test whether a given set contains three elements that sum to zero &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=1059515&quot;&gt;requires $\Omega(n^2)$ time&lt;/a&gt;.  (It's possible to &lt;a href=&quot;http://erikdemaine.org/papers/3SUM_Algorithmica/&quot;&gt;shave off some logs&lt;/a&gt; via bit-level parallelism, but whatever.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another example, also from my thesis, is Hopcroft's problem: Given $n$ points and $n$ lines in the plane, does any point contain any line.  The worst-case number of point-line incidences is known to be $\Theta(n^{4/3})$.  I proved that in a restricted (but still natural) model of computation, &lt;a href=&quot;http://www.cs.uiuc.edu/~jeffe/pubs/thesis.html&quot;&gt;$\Omega(n^{4/3})$ time is required&lt;/a&gt; to determine whether there is even one point-line incidence.  Intuitively, we must enumerate all $\Theta(n^{4/3})$ &lt;em&gt;near&lt;/em&gt;-incidences and check each one to see whether it's really an incidence.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Formally, these lower bounds are still just conjectures, because they require restricted models of computation, which are specialized to the problem at hand, especially for Hopcroft's problem).  However, proving lower bounds for these problems in the RAM model is likely just as hard as any other lower-bound problem (ie, we have no clue) — see the &lt;a href=&quot;http://people.csail.mit.edu/mip/papers/sat-lbs/paper.pdf&quot;&gt;SODA 2010 paper by Patrascu and Williams&lt;/a&gt; relating generalizations of 3SUM to the exponential time hypothesis.&lt;/p&gt;&#xA;" OwnerUserId="111" LastActivityDate="2011-03-31T05:20:49.930" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5771" PostTypeId="2" ParentId="5765" CreationDate="2011-03-31T11:22:33.773" Score="11" Body="&lt;p&gt;Rules in a grammar and inference rules in logic can both be thought of as production rules which gives us &quot;new stuff&quot; from &quot;known stuff&quot;. Just as there may be many ways to produce (or parse) a word with respect to a grammar, so may there be many ways to produce (or prove) a logical formula. This analogy can be drawn further. For example, certain logical systems admit normal forms of proofs. Likewise, certain grammars admit canonical parse trees.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So I'd say your examples from logic are going in the wrong direction. The correct analogy is&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&quot;parse tree&quot; : &quot;word&quot; = &quot;proof&quot; : &quot;logical formula&quot;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;In fact, a sufficiently general kind of grammar will be able to express typical inference rules of logic, so that the grammatically correct words will be precisely the provable formulas. In this case the parse trees will actually &lt;em&gt;be&lt;/em&gt; the proofs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the opposite direction, if we are willing to think of very general inference rules (which do not necessarily have a traditional logical flavor), then every grammar will be expressible as a system of axioms (terminals) and inference rules (productions). And once again we will see that a proof is the same thing as a parse tree.&lt;/p&gt;&#xA;" OwnerUserId="705" LastActivityDate="2011-03-31T11:22:33.773" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="5772" PostTypeId="2" ParentId="5764" CreationDate="2011-03-31T11:48:40.833" Score="3" Body="&lt;p&gt;This is a variant of making change with a given set of coins, for which the knapsack/dynamic programming algorithm seems to be the best that is known. E.g., &lt;a href=&quot;http://www.algorithmist.com/index.php/Coin_Change&quot; rel=&quot;nofollow&quot;&gt;http://www.algorithmist.com/index.php/Coin_Change&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="4377" LastActivityDate="2011-03-31T11:48:40.833" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="5773" PostTypeId="2" ParentId="5726" CreationDate="2011-03-31T13:18:41.833" Score="4" Body="&lt;p&gt;The computational geometry approach would replace each pixel (i,j) with vertical segment (i, j+[-1/2,1/2]), take the convex hulls of the upper and lower sets of endpoints, and compute the inner common tangents -- these delimit the range of slopes that produce this digital line. This is just the geometric interpretation of the linear program that you mention in your slides.  O(n) time suffices for the LP by Meggiddo, or for the hulls and tangents by Graham-Yao.  &lt;/p&gt;&#xA;" OwnerUserId="4377" LastActivityDate="2011-03-31T13:18:41.833" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5774" PostTypeId="1" AcceptedAnswerId="5796" CreationDate="2011-03-31T14:00:24.697" Score="5" ViewCount="290" Body="&lt;p&gt;Can regular maps, no matter their complexity, be topologically transformed into circular maps or rectangular maps?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For rectangular maps, for example, I intend maps that are made from overlapping rectangular faces as shown here: &lt;a href=&quot;http://4coloring.wordpress.com/plus/conversion-of-famous-maps/&quot; rel=&quot;nofollow&quot;&gt;Rectangular and circular maps&lt;/a&gt;.&#xA;And &lt;a href=&quot;http://4coloring.wordpress.com/t2/&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt; is the proof.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I don't know if this is a new result or not (I did not find it on internet) and I don't even know if this may be useful to help finding a &quot;pencil and paper&quot;, elegant and human checkable proof for the four color problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is known about this? Has it been studied before?&lt;/p&gt;&#xA;" OwnerUserId="4437" LastEditorUserId="80" LastEditDate="2011-04-02T05:05:42.693" LastActivityDate="2011-04-02T05:05:42.693" Title="Can regular maps, no matter their complexity, be topologically transformed into circular maps or rectangular maps?" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;graph-algorithms&gt;&lt;graph-drawing&gt;" AnswerCount="1" CommentCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="5775" PostTypeId="2" ParentId="5764" CreationDate="2011-03-31T14:09:26.453" Score="1" Body="&lt;p&gt;This is not an answer, but more like a comment.  But this is too long to be a comment.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is a related problem: the computation of the Frobenius number in polynomial time, which is known to be NP-hard (Ramirez-Alfonsin, 1996).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The Frobenius number is defined as follows.  Let $a_1,\ldots,a_n$ be positive integers such that $\text{gcd}(a_1,\ldots,a_n)=1$.  Then, it's known that there exists a (unique) number $b$ that cannot be represented as any non-negative integer combination of $a_1,\ldots,a_n$, but every integer larger than $b$ can be represented in such a way.  This $b$ is called the &lt;em&gt;Frobenius number&lt;/em&gt; of $a_1,\ldots,a_n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would expect, if your problem could be solved in polynomial time then we could compute the Frobenius number in polynomial time too.  But I have no clue why this should be true for the moment.&lt;/p&gt;&#xA;" OwnerUserId="2955" LastEditorUserId="2955" LastEditDate="2011-04-01T00:02:16.457" LastActivityDate="2011-04-01T00:02:16.457" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5776" PostTypeId="1" AcceptedAnswerId="5794" CreationDate="2011-03-31T14:14:12.720" Score="3" ViewCount="226" Body="&lt;p&gt;Is there a studied model of Petri nets where each transition only has &lt;em&gt;one&lt;/em&gt; normal in-edge (which removes a marker from a place), but can also have &quot;checking&quot; edges, which only check whether there is a marker in a place?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Alternatively, each transition has at least one out-edge to each of its input places, except for one.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Such a net would model a random-permitting context grammar, but a Google Scholar search for &quot;random permitting context&quot; and &quot;petri net&quot; doesn't yield any likely candidates.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT:&lt;/strong&gt; it seems my question is not very clear, but I'm unsure exactly of how to improve it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm looking for a &lt;em&gt;restricted&lt;/em&gt; class of Petri nets: these nets can indeed be simulated by ordinary Petri nets, so I'm definitely not looking for a generalisation of Petri nets.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Unless I'm more-than-usually confused, there are Petri nets which &lt;em&gt;cannot&lt;/em&gt; be simulated by these nets.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Perhaps my motivation and what I mean by my definition can be clarified by a further restriction: we keep the restriction of each transition having only one normal in-edge, but further disallow checking edges.&#xA;In this case, we get a model (the Parikh vectors of) the context-free languages: each transition represents a production and places represent symbols, with a production deleting one symbol and adding any number of others.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Marek and Češka have shown that Petri nets can simulate any random-context language; the random-permitting context languages are a strictly smaller class (even when we ignore the order of symbols). For example $\{a^{2^n} : n \in \mathbb{N}\}$ is a random-context language but is not random-permitting context language (these languages satisfy a pumping lemma).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The Petri nets here correspond to these languages: the production $A \rightarrow XYZ$ with permitting set $\{C,D\}$ corresponds to a transition with an in-edge from $A$, out-edges to $X$, $Y$ and $Z$, and checking edges from $C$ and $D$.&lt;/p&gt;&#xA;" OwnerUserId="2241" LastEditorUserId="2241" LastEditDate="2011-03-31T15:57:35.167" LastActivityDate="2011-04-01T09:14:53.737" Title="Are there Petri net models with &quot;checking&quot; rather than &quot;taking&quot; transitions?" Tags="&lt;reference-request&gt;&lt;fl.formal-languages&gt;&lt;petri-nets&gt;" AnswerCount="1" CommentCount="12" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="5777" PostTypeId="1" CreationDate="2011-03-31T15:32:38.957" Score="5" ViewCount="208" Body="&lt;p&gt;Is there any problem of enumeration of discrete objects for which problem of recognizing of these discrete objects is coNP-complete (or NP-complete), but it is possible to enumerate all these objects in output polynomial time?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example (but I don't know about the complexity of enumeration) the problem of enumeration (generation) all Hamiltonian graphs with no more than n vertices.&lt;/p&gt;&#xA;" OwnerUserId="3159" LastEditorUserId="1800" LastEditDate="2011-03-31T15:43:59.777" LastActivityDate="2011-04-01T12:47:54.327" Title="Enumeration of discrete objects for which recognition problem is coNP-complete" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="5779" PostTypeId="1" AcceptedAnswerId="5782" CreationDate="2011-03-31T17:09:51.703" Score="40" ViewCount="1278" Body="&lt;p&gt;DISCLAIMER: This is an open ended question and stackexchange puritans would probably feel an extraordinary urge to vote it down to oblivion. However, I cannot think of any other forum more appropriate and promising for getting answer to this question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;While working on a research problem for course project I realize that if I model my problem in a particular way I could use techniques from a specialized track [for the recent case - &lt;a href=&quot;http://www.nist.gov/tac/2011/RTE/&quot;&gt;PASCAL Recognizing Textual Entailment Challenge&lt;/a&gt;]. After the initial joy, I'm generally puzzled by the numerous papers with all of them silently shouting &quot;Read me, else you'll miss the best way to solve the problem!&quot;. How does one learn to filter which paper to read and which one to discard in the face of deadline? Anything other than sort_by_citation count? &lt;/p&gt;&#xA;" OwnerUserId="3935" LastEditorUserId="4077" LastEditDate="2014-03-07T00:02:45.843" LastActivityDate="2014-03-07T00:02:45.843" Title="Selecting papers to read" Tags="&lt;soft-question&gt;&lt;advice-request&gt;" AnswerCount="3" CommentCount="4" FavoriteCount="16" ContentLicense="CC BY-SA 3.0" />
  <row Id="5782" PostTypeId="2" ParentId="5779" CreationDate="2011-03-31T17:35:34.467" Score="21" Body="&lt;ol&gt;&#xA;&lt;li&gt;If possible, find a survey, book, or a lecture note. This will help a lot to see the jungle through the trees! To find books, Google Books is your friend. Search the keywords in the Google Books, and try to find a relevant book on the subject.&lt;/li&gt;&#xA;&lt;li&gt;Take the top-down / bottom-up approach, and alternate. That is, read the most recent papers first (the top research), and references thereof (bottom). Why? Because the top research is likely to be better, and has probably surveyed bottom works and improved them. However, to understand top, it is usually the case that you need to skim the bottom works. &lt;strong&gt;Important:&lt;/strong&gt; Don't get stuck at the bottom. After reviewing older works, take the bottom-up approach. Finally, alternate between the top-down and bottom-up approaches.&lt;/li&gt;&#xA;&lt;li&gt;Don't read a paper unless you are somehow sure that it is really relevant. The relevancy depends on several factors: The amount of citations, the fame of authors, the conference/journal it is published in, and so on. &lt;/li&gt;&#xA;&lt;li&gt;Be sure to read the title and abstract carefully, and skim the sections. Decide if you should ever read this paper now, and to what extent.&lt;/li&gt;&#xA;&lt;li&gt;If a paper has a conference version and a journal (full) version, select the first one. The conference version usually gives the general idea, and avoids cumbersome proofs. Read the full version only when you really need to learn the proof details/technique.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit 1:&lt;/strong&gt; Some of my colleagues use reference manager tools like &lt;strong&gt;Zotero&lt;/strong&gt; to help them organize their references. I'm not acquainted with such tools, but I think you should give it a go.&lt;/p&gt;&#xA;" OwnerUserId="873" LastEditorUserId="873" LastEditDate="2011-03-31T17:40:41.873" LastActivityDate="2011-03-31T17:40:41.873" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5783" PostTypeId="2" ParentId="5779" CreationDate="2011-03-31T17:37:04.763" Score="6" Body="&lt;ol&gt;&#xA;&lt;li&gt;Take 100 papers.&lt;/li&gt;&#xA;&lt;li&gt;Sort by number of citations.&lt;/li&gt;&#xA;&lt;li&gt;Take top 50.&lt;/li&gt;&#xA;&lt;li&gt;Go to the list references at the end of each paper. Make a &lt;code&gt;big list&lt;/code&gt; using all those references. &lt;/li&gt;&#xA;&lt;li&gt;Sort by number of times some paper appears in the &lt;code&gt;big list&lt;/code&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Choose top 15 papers.&lt;/li&gt;&#xA;&lt;li&gt;Read. Read. Read. Read one more time. And just once more. &lt;/li&gt;&#xA;&lt;li&gt;And now you will be able to tell papers you should read from those you shouldn't without much effort. &lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="612" LastActivityDate="2011-03-31T17:37:04.763" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="5784" PostTypeId="1" CreationDate="2011-03-31T18:31:01.413" Score="11" ViewCount="628" Body="&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Nurikabe&quot; rel=&quot;nofollow noreferrer&quot;&gt;Nurikabe&lt;/a&gt; is a constraint-based grid-filling puzzle, loosely similar to Minesweeper/Nonograms; numbers are placed on a grid which is to be filled with on/off values for each cell, with each number indicating a region of connected 'on' cells of that size, and some minor constraints on the region of 'off' cells (it must be connected and can't contain any contiguous 2x2 regions). The Wikipedia page has more explicit rules and sample puzzles.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Generically, puzzles of this sort tend to be NP-complete, and Nurikabe is no exception; they fall into NP because the solution itself serves as a (polynomially-verifiable) witness to the problem.  But unlike most similar puzzles, Nurikabe instances might be succinct: Sudoku on an $n\times n$ grid requires $\Theta(n)$ givens to be solvable (if less than $n-1$ givens are offered, then there's no way of distinguishing between the missing symbols), Nonograms obviously require at least one given for each row or column, and Minesweeper must have givens on at least $1\over16$ of the cells or there will be cells not next to a given (and whose status therefore can't be determined).  But while the givens of a Nurikabe puzzle have to sum to $\Theta(n^2)$, it's possible to have $\mathrm{O}(1)$ givens each of that size, so that $\Theta(\log(n))$ bits might be enough to specify a Nurikabe puzzle of size $n$ - or inverting, $k$ bits may be enough to specify a Nurikabe instance of size exponential in $k$, meaning that the only guarantee is that the problem lies in NEXP.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Unfortunately, the proofs of Nurikabe's hardness I've found all use constructions with $\Theta(n^2)$ givens of constant size, so their instances are polynomial in the grid size rather than logarithmic, and I can't rule out that all solvable 'succinct' Nurikabe puzzles have additional structure such that solutions can be described and verified just as succinctly; for instance, the one example I know of a puzzle with 2 givens of size $\Theta(n^2)$ leads to regions of both on and off cells that are each the union of $\mathrm{O}(1)$ rectangles, and so have a succinct description of their own.  Does anyone know of additional research that's been done into this puzzle beyond the basic NP-completeness result, and in particular any further complexity results for the possibly-succinct cases?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(note: this was originally asked &lt;a href=&quot;https://math.stackexchange.com/questions/29992/what-is-the-complexity-of-succinct-binary-nurikabe&quot;&gt;over at math.SE&lt;/a&gt;, but there haven't been any answers there yet and this seems appropriately research-level for this site)&lt;/p&gt;&#xA;" OwnerUserId="1941" LastEditorUserId="-1" LastEditDate="2017-04-13T12:19:19.363" LastActivityDate="2011-04-01T23:23:44.023" Title="What is the complexity of (possibly succinct) Nurikabe?" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;&lt;puzzles&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="5785" PostTypeId="1" AcceptedAnswerId="5899" CreationDate="2011-03-31T18:59:50.713" Score="7" ViewCount="306" Body="&lt;p&gt;I'm a traveling salesman and I have n days to sell, I can start anywhere, I can sell once per city. I want to know where to start and what route to take.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's likely NP-hard, I was just wondering if there's a name for this or similar variants on TSP.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here's a clarification of the problem:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Let $S$ be a clique with weighted edges that one could put onto a plane (Euclidian distances, etc.) and $k$ be a positive real number.&lt;/li&gt;&#xA;&lt;li&gt;A solution $G$ is a subgraph of $S$ that is a simple path such that $\Sigma_{e \in E(G)} e &amp;lt; k$ and $|V(G)|$ is maximized.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Or, in terms of geometry:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Let $S$ be a set of points on the plane&lt;/li&gt;&#xA;&lt;li&gt;A solution is a path through some of the points of length less than $k$ that maximizes the number of points hit.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="4014" LastEditorUserId="186" LastEditDate="2011-04-05T00:25:48.977" LastActivityDate="2011-04-05T11:48:28.653" Title="Is there a local variant of TSP?" Tags="&lt;ds.algorithms&gt;&lt;graph-algorithms&gt;&lt;cg.comp-geom&gt;&lt;application-of-theory&gt;&lt;tsp&gt;" AnswerCount="2" CommentCount="13" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="5786" PostTypeId="2" ParentId="5765" CreationDate="2011-03-31T19:13:28.413" Score="4" Body="&lt;p&gt;This started as a comment under Andrej Bauer's answer, but it got too big.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think an obvious definition of ambiguity from a Finite Model Theory point of view would be:&#xA;$ambiguous(\phi) \implies \exists M_1,M_2  |  M_1 \vDash \phi \wedge M_2 \vDash \phi \wedge M_1 \vDash \psi \wedge M_2 \nvDash \psi$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In words, there exist distinct models of your grammar encoded as a formula $\phi$ that can be distinguished by some formula $\psi$, perhaps a sub-formula of $\phi$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can connect this to Andrej's response about proofs through Descriptive Complexity. &#xA; The combination of the existence of an encoding of a particular model plus its acceptance by an appropriate TM as a model of a given formula IS a proof that the axioms and inferences (and hence an equivalent grammar) encoded in that formula are consistent. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;To make this fully compatible with Andrej's answer, you would have to say that the model is &quot;generated&quot; by the formula acting as a filter on the space of all possible finite models (or something like that), with the encoding and action of filtering on the input model as the &quot;proof&quot;.  The distinct proofs then witness the ambiguity.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This may not be a popular sentiment, but I tend to think of finite model theory and proof theory as the same thing seen from different angles. ;-)&lt;/p&gt;&#xA;" OwnerUserId="629" LastEditorUserId="629" LastEditDate="2011-04-01T01:04:15.327" LastActivityDate="2011-04-01T01:04:15.327" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="5787" PostTypeId="2" ParentId="5785" CreationDate="2011-03-31T19:20:28.677" Score="0" Body="&lt;p&gt;You can sell for  $n$ &lt;em&gt;days&lt;/em&gt;.&#xA;Suppose your average speed is $S$ &lt;em&gt;km/day&lt;/em&gt;.&lt;br&gt;&#xA;Then you can only travel $nS$ &lt;em&gt;km&lt;/em&gt; (that too if you can sell things in 0 seconds).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $EP(c)$ be estimated profit for city $c$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;problem:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Find subgraph $H = \{Roads,Cities\}$ with&lt;br&gt;&#xA;1. Maximum $\sum_{c\in Cities} EP(c) = EP(H)$&lt;br&gt;&#xA;2. $\sum_{r\in Roads} weight(r) &amp;lt; nS$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, if salesman can't jump we would want that subgraph to be connected. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This probably isn't NP-hard because we can use dynamic programming to find out all subgraphs with weights less than $nS$.Then we can filter out disconnected subgraphs. And find out $max\{ EP(H) \}$. &lt;/p&gt;&#xA;" OwnerUserId="612" LastEditorUserId="612" LastEditDate="2011-03-31T19:41:56.327" LastActivityDate="2011-03-31T19:41:56.327" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="5788" PostTypeId="1" CreationDate="2011-03-31T19:23:20.800" Score="6" ViewCount="120" Body="&lt;p&gt;The following is a fun problem we stumbled into today.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We have work we wish to distribute on machines $1..n$. Each piece of work is given a list of machines to try, in order. If any machine fails, the work is passed on to the next machine. We desire to make this as fair as possible. That is to say, all work is initially divided as evenly as possible. If any one machine fails, the leftover work should be distributed among all remaining machines as close to equally as possible. If two machines fail, we wish the same property to hold, all the way up to $n-1$ machines.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we generate all permutations, and assign each piece of work one of the permutations (cycling through after exhausting them), in sequence, then this property should hold, assuming a large enough quantity of work.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But now we add a requirement that we want good results for &lt;em&gt;small&lt;/em&gt; quantities of work, and generally quantities of work that aren't evenly divided by the number of permutations, and things get harder. We want a suitable ordering on permutations such that for any $m$, the optimal distribution/optimal redistribution property holds as closely as possible.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here's an example of the first four elements of an optimal distribution/redistribution list for four machines:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;a) 1 2 3 4&#xA;b) 2 1 4 3&#xA;c) 3 4 1 2&#xA;d) 4 3 2 1&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Trivially, if any one number is removed, its work goes to one other location. Similarly, if any three numbers are removed, all work falls to the remaining machine. However, also note that for any choice of two failures, the remaining work remains evenly distributed. I.e. if 1 and 4 fail, list $a$ falls back to 2, and the list $d$ falls back to 3, preserving fairness.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given an optimal list of length $n$ consisting of choice lists also of length $n$, we can treat it as a matrix. It should, I think, always have the property that there is not only only one entry of any number per row, but also per column (shades of generalized soduku). If this is the case, then by holding the first column fixed, we can generate all remaining permutations (and optimal lists of length $n$) by taking permutations on the remaining columns.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Has this problem been studied before? Under what name? Is the production of a list that preserves optimal distribution/redistribution for any $m$ possible? How close can we get? What is the nicest algorithm for it? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Or, more basically, what is the simplest algorithm for generating an optimal distribution list of length $n$?&lt;/p&gt;&#xA;" OwnerUserId="351" LastEditorUserId="74" LastEditDate="2011-10-13T00:06:47.283" LastActivityDate="2011-10-13T00:06:47.283" Title="Fair and &quot;robust&quot; fallback permutations" Tags="&lt;ds.algorithms&gt;&lt;co.combinatorics&gt;&lt;dc.distributed-comp&gt;" AnswerCount="0" CommentCount="4" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="5791" PostTypeId="2" ParentId="5757" CreationDate="2011-03-31T22:12:50.083" Score="9" Body="&lt;p&gt;I am not completely sure if this is what you mean but there are a bunch of problems which don't seem like they are counting problems, however, the best ways that we know how to solve them is to count objects. One such problem is detecting whether a graph contains a triangle. The fastest known algorithm is to compute the trace of the cube of the adjacency matrix, which is 6 times the number of triangles in the (undirected) graph. This takes O($|V|^{2.376}$) time using the Coppersmith-Winograd matrix multiplication algorithm, and was first noticed by &lt;a href=&quot;http://www.cs.technion.ac.il/~itai/publications/Algorithms/min-circuit.pdf&quot;&gt;Itai and Rodeh&lt;/a&gt; in 1978. Similarly, the best way we know to detect a k-clique is to find the number of k-cliques, again via matrix multiplication.&lt;/p&gt;&#xA;" OwnerUserId="410" LastActivityDate="2011-03-31T22:12:50.083" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5793" PostTypeId="2" ParentId="2882" CreationDate="2011-03-31T22:53:03.420" Score="4" Body="&lt;p&gt;Regarding the already mentioned omission failure models have look at &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary;jsessionid=3BDAA5BE3F21C71336605B7F4A943165?doi=10.1.1.119.685&amp;amp;rank=1&quot; rel=&quot;nofollow&quot;&gt;NeigerToueg&lt;/a&gt;, which considers different kinds of those.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Has a model been studied where, with&#xA;  some probability, a process is on at&#xA;  time step t, and otherwise off? So&#xA;  each process is winking on and off, as&#xA;  it were.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;This sounds like a crash-recovery model. I'm not aware of any model where processes are probabilistically on/off. There's also variants where processes are Byzantine for some time and then recover, where over time all processes can be Byzantine (mostly considered for clock-sync, though).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that if by being off you just mean that a process is only not making progress (it does not loose its state, and not messages get lost due to the receiver being &quot;off&quot;) then what you are looking at is referred to as asynchronous system. &#xA;In the shared memory context your question could then be closely related to this &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.22.7460&quot; rel=&quot;nofollow&quot;&gt;Aspnes&lt;/a&gt; paper.&lt;/p&gt;&#xA;" OwnerUserId="4483" LastActivityDate="2011-03-31T22:53:03.420" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5794" PostTypeId="2" ParentId="5776" CreationDate="2011-04-01T00:41:36.093" Score="5" Body="&lt;p&gt;What you are looking for with &quot;checking edges&quot; are known as Petri nets with &lt;em&gt;read arcs&lt;/em&gt;.  In your question you also mention nets with a single read edge, those are called &lt;em&gt;communication-free&lt;/em&gt;.  It would be difficult (for me) to point to the original author(s) for these notions, but they are fairly standard.  Relationships between communication-free Petri nets and Parikh images of context-free languages are investigated for instance by Javier Esparza, &lt;em&gt;Petri Nets, Commutative Context-Free Grammars, and Basic Parallel Processes&lt;/em&gt;, FCT 1995, LNCS 965, pp. 221--232, and &lt;em&gt;Fundamenta Informatica&lt;/em&gt; 31(1):13--25, 1997.&lt;/p&gt;&#xA;" OwnerUserId="609" LastEditorUserId="609" LastEditDate="2011-04-01T09:14:53.737" LastActivityDate="2011-04-01T09:14:53.737" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5795" PostTypeId="2" ParentId="5765" CreationDate="2011-04-01T01:48:49.423" Score="0" Body="&lt;p&gt;I (also) agree with Anrej.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think descriptive complexity is a &lt;em&gt;computation-less&lt;/em&gt; characterization (which makes it interesting in its own way) and therefore the computational ambiguity examples from formal languages theory (automata/grammars/...) that you gave look to be in a quite different domain. &#xA;In descriptive complexity languages correspond to complexity classes and queries (in a language) correspond to computational problems (not algorithms). There is no intended way of checking/computing a query AFAIK, so if you are not looking for computational ambiguity IMHO those examples are misleading.&lt;/p&gt;&#xA;" OwnerUserId="186" LastActivityDate="2011-04-01T01:48:49.423" CommentCount="6" ContentLicense="CC BY-SA 2.5" />
  <row Id="5796" PostTypeId="2" ParentId="5774" CreationDate="2011-04-01T01:53:22.663" Score="11" Body="&lt;p&gt;Your &quot;proof&quot; is too vague to convince me, but here's a description of how these maps can be formed. Given a 3-regular 3-connected planar graph, its dual is a maximal planar graph. Every maximal planar graph has a canonical ordering (see references in my earlier comment): an ordering on the vertices of the graph such that the following properties hold:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The first three vertices in the ordering are adjacent&lt;/li&gt;&#xA;&lt;li&gt;Each prefix of three or more vertices in the ordering defines a subset of the vertices whose boundary is a simple cycle&lt;/li&gt;&#xA;&lt;li&gt;Each vertex after the first three has as its neighbors a contiguous path of the boundary cycle of the previous vertices&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;This should allow you to define your rectangular drawing top down. Find a canonical ordering of the dual graph, and make side-by-side rectangles for the first two dual vertices in the canonical ordering (corresponding to two adjacent faces in your graph). Then, add rectangles one by one in the given ordering, below these first two rectangles. For each successive rectangle r, corresponding to a dual vertex v, choose the top vertices on the left and right sides of r to be points on the rectangles corresponding to the endpoints of the contiguous path of neighbors of v from the canonical ordering.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The invariant that makes this work, at each step, is that the boundary cycle of the canonical ordering is exactly the same as the sequence of rectangles that you would see if you stood underneath your drawing and looked upwards.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The circular map should be exactly the same, just starting at the outside and working inwards.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As for the other questions at the end of your post: is this interesting? I don't know. There's some related work in the graph drawing community on representing maps by regions with rectilinear boundaries; the phrase to search for is &quot;rectilinear cartogram&quot;. You'd have to show some concrete advantage of your method over previous rectilinear cartogram construction methods such as the one in &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.95.6582&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;noreferrer&quot;&gt;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.95.6582&amp;amp;rep=rep1&amp;amp;type=pdf&lt;/a&gt; — but suggesting ways to achieve this is probably beyond the scope of this exchange.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2011-04-01T01:53:22.663" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="5797" PostTypeId="1" CreationDate="2011-04-01T09:08:14.517" Score="15" ViewCount="606" Body="&lt;p&gt;I am looking for papers and articles on modal substructural logics-- not on the semantics of linear logic modalities, but on substructural logics augmented with standard modal operators, e.g. substructural K (something like MALL with box operator, necessitation and K rules).&lt;/p&gt;&#xA;" OwnerUserId="4494" LastEditorUserId="270" LastEditDate="2015-08-28T14:19:17.760" LastActivityDate="2015-08-28T14:19:17.760" Title="Looking for papers and articles on modal substructural logics" Tags="&lt;reference-request&gt;&lt;lo.logic&gt;&lt;proof-theory&gt;" AnswerCount="5" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="5798" PostTypeId="2" ParentId="4448" CreationDate="2011-04-01T09:47:05.483" Score="13" Body="&lt;p&gt;For sublogarithmic space bounds, quantum has been proven to be more powerful than classical, see&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Abuzer Yakaryılmaz, A. C. Cem Say, “Unbounded-error quantum computation with small space bounds,” Information and Computation, Vol. 209, pp.873-892, 2011. (slightly older version at &lt;a href=&quot;http://arxiv.org/abs/1007.3624&quot;&gt;arXiv:1007.3624&lt;/a&gt;)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;and&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Abuzer Yakaryılmaz, A. C. Cem Say, “Languages recognized by nondeterministic quantum finite automata,” Quantum Information and Computation, Vol. 10, pp. 747-770, 2010. (&lt;a href=&quot;http://arxiv.org/abs/0902.2081&quot;&gt;arXiv:0902.2081&lt;/a&gt;)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;for the unbounded error case. The paper&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A. Ambainis and J. Watrous. Two-way finite automata with quantum and classical states. Theoretical Computer Science, 287(1): 299–311, 2002, (&lt;a href=&quot;http://arxiv.org/abs/cs/9911009&quot;&gt;arXiv:cs/9911009v1&lt;/a&gt;)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;together with the &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.35.7657&amp;amp;rep=rep1&amp;amp;type=pdf&quot;&gt;fact&lt;/a&gt; that the palindrome language cannot be recognized by probabilistic Turing machines with sublogarithmic space, show that the same is also true for the bounded error case.&lt;/p&gt;&#xA;" OwnerUserId="1454" LastEditorUserId="186" LastEditDate="2011-04-01T20:51:29.657" LastActivityDate="2011-04-01T20:51:29.657" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5799" PostTypeId="2" ParentId="5797" CreationDate="2011-04-01T10:30:42.777" Score="8" Body="&lt;p&gt;These kind of logics are considered in linguistics: you can have a look at Michael Moortgat's article, &lt;a href=&quot;http://www.let.uu.nl/~Michael.Moortgat/personal/Courses/CG08/Docs/lola-ch2.pdf&quot;&gt;Categorial Type Logic&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="674" LastActivityDate="2011-04-01T10:30:42.777" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5800" PostTypeId="2" ParentId="5797" CreationDate="2011-04-01T10:32:25.317" Score="8" Body="&lt;p&gt;The !A modality of linear logic is a box operator satisfying the S4 axioms. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's well-known that the uniqueness of !A is not derivable -- that is, if you have a red bang and a blue bang, both of which separately satisfy the rules for bang, you can't prove that they are equivalent. I don't recall offhand where this result can be found, but it's probably in Girard's 1987 paper on linear logic.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT: I asked Jason Reed, whose thesis was about encodings of linear logic into hybrid logic, and he pointed me at the following paper by Chaudhuri and Despeyroux, &lt;a href=&quot;http://www.lix.polytechnique.fr/~kaustuv/papers/tr09stores.pdf&quot;&gt;&quot;A Logic for Constrained Process Calculi with Applications to Molecular Biology&quot;&lt;/a&gt;. They extend intuitionistic linear logic with hybrid annotations intended to mirror temporal logic, and they did a very clean job of it -- they prove not just have cut-elimination, but also focalization. So it looks like it should be straightforward to simplify their calculus to get modal K a la Simpson. &lt;/p&gt;&#xA;" OwnerUserId="657" LastEditorUserId="657" LastEditDate="2011-04-05T13:37:10.697" LastActivityDate="2011-04-05T13:37:10.697" CommentCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="5801" PostTypeId="1" CreationDate="2011-04-01T10:35:23.443" Score="34" ViewCount="5992" Body="&lt;p&gt;While I have passed some courses on probability theory, both in the high school and the university, I have a hard time reading TCS papers when it comes to probability.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It seems that the authors of the TCS papers are very acquainted with probability. They magically work with probability formulas and prove theorems very easily; while I have to work some good hours to understand how one formula was derived, and how identities (or inequalities) are proved.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I decided to solve my problem once and for all: I want to read a book from cover to cover.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, if you are asked to suggest one and only one book on probability, what book will you recommend?&lt;/p&gt;&#xA;" OwnerUserId="1379" LastEditorUserId="186" LastEditDate="2011-04-13T12:00:04.300" LastActivityDate="2014-03-17T16:13:44.123" Title="Book on Probability" Tags="&lt;reference-request&gt;&lt;big-list&gt;&lt;pr.probability&gt;&lt;books&gt;" AnswerCount="14" CommentCount="8" FavoriteCount="22" CommunityOwnedDate="2011-04-13T12:06:14.607" ContentLicense="CC BY-SA 2.5" />
  <row Id="5802" PostTypeId="2" ParentId="5797" CreationDate="2011-04-01T10:43:07.950" Score="6" Body="&lt;p&gt;I've been skimming Norihiro Kamide, &quot;Kripke Semantics for Modal Substructural Logics&quot;, &lt;em&gt;Journal of Logic, Language and Information 11 (4)&lt;/em&gt;, 2002, which isn't quite what I wanted, but the references cite Marcello D'Agostino and Dov M. Gabbay and Alessandra Russo, &quot;Grafting Modalities onto substructural implication systems&quot;, &lt;em&gt;Studia Logica 59&lt;/em&gt;, 1996, which seems to be what I am looking for. It is on CiteSeer &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.53.5719&quot;&gt;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.53.5719&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="4494" LastActivityDate="2011-04-01T10:43:07.950" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5803" PostTypeId="1" CreationDate="2011-04-01T10:50:28.743" Score="8" ViewCount="203" Body="&lt;p&gt;I am looking for work on systems that are similar to K. Dosen's higher-order sequents (&quot;Sequent Systems for Modal Logic&quot;, &lt;em&gt;JSL 50&lt;/em&gt;).  The only work that I am aware of is recent work by Iemhoff and Metcalfe (&quot;Proof theory for admissible rules&quot;, &lt;em&gt;Annals of Pure and Applied Logic 159&lt;/em&gt; (1-2), 2009).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there other papers on such systems?&lt;/p&gt;&#xA;" OwnerUserId="4494" LastEditorUserId="186" LastEditDate="2011-04-01T20:53:44.817" LastActivityDate="2011-04-14T07:49:33.433" Title="Looking for papers and articles on higher-order sequent systems" Tags="&lt;reference-request&gt;&lt;lo.logic&gt;&lt;proof-theory&gt;" AnswerCount="3" CommentCount="2" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="5804" PostTypeId="2" ParentId="5777" CreationDate="2011-04-01T12:47:54.327" Score="4" Body="&lt;p&gt;This is not a complete answer, but let me try to explain the case for the Hamiltonian graphs and the non-Hamiltonian graphs with $n$ vertices.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are $2^{\binom{n}{2}}$ graphs on $n$ vertices, and each of them is either Hamiltonian or non-Hamiltonian.  So one of the following is true.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;There are at least $2^{\binom{n}{2}}/2$ Hamiltonian graphs.&lt;/li&gt;&#xA;&lt;li&gt;There are at least $2^{\binom{n}{2}}/2$ non-Hamiltonian graphs.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;I don't know which is true, but suppose 1 is true.  Let $H(n)$ be the number of Hamiltonian graphs with $n$ vertices.  Then $H(n)\geq 2^{\binom{n}{2}}/2$.  In this case, listing all the Hamiltonian graphs with $n$ vertices can be easily done in output polynomial time: Look through all the $2^{\binom{n}{2}}$ graphs, check the Hamiltonicity for each of them (in $2^{O(n)}$ time), and output if it is Hamiltonian.  The running time is $O(2^{\binom{n}{2}}\times 2^{O(n)}) = O(H(n)^2)$, since $2^{O(n)} = O(H(n))$.  If 2 is true, then by the same argument we can list all the non-Hamiltonian graphs with $n$ vertices in output polynomial time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Namely, if the output size is polynomial in $2^{\binom{n}{2}}$, then such a trivial algorithm runs in output polynomial time (assuming that the verification can be done in $\text{poly}(2^{\binom{n}{2}})$ time).  So the only interesting cases are when the output sizes are subpolynomial in $2^{\binom{n}{2}}$.&lt;/p&gt;&#xA;" OwnerUserId="2955" LastActivityDate="2011-04-01T12:47:54.327" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5805" PostTypeId="2" ParentId="5803" CreationDate="2011-04-01T13:08:57.023" Score="5" Body="&lt;p&gt;I can't find the paper online, but guessing based on the references to it, Dosen's system changes the context from a sequence or multiset into a more general graph structure. This is reminiscent of several things. &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Belnap's display logic, in which many connectives (and not just conjunction/disjunction) are internalized into the sequent structure.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;It is also reminiscent of labelled deduction, in which graph structure is simulated by adding labels to hypotheses and judgments, and requiring agreement between the two to discharge a hypothesis. Alex Simpson's PhD thesis investigates applications of these systems to modal logic. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Noam Zeilberger has investigated interpretations of Buchholz's omega-rule (and generalizations of it) as a literally higher-order rule of inference, in which the premise of a rule becomes a function (ie, a higher-order object) generating the premises. See his POPL 2008 paper &quot;Focusing and Higher-order Abstract Syntax&quot;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="657" LastActivityDate="2011-04-01T13:08:57.023" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="5806" PostTypeId="1" AcceptedAnswerId="5808" CreationDate="2011-04-01T15:02:28.510" Score="3" ViewCount="250" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Possible Duplicate:&lt;/strong&gt;&lt;br&gt;&#xA;  &lt;a href=&quot;https://cstheory.stackexchange.com/questions/3203/are-there-languages-that-are-not-in-re-nor-co-re&quot;&gt;Are there languages that are not in RE nor CO-RE?&lt;/a&gt;  &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&#xA;&#xA;&lt;p&gt;Let &lt;a href=&quot;http://qwiki.stanford.edu/index.php/Complexity_Zoo:A#all&quot; rel=&quot;nofollow noreferrer&quot;&gt;$ALL$&lt;/a&gt; be the language of all decision problems. My question is, is there a language that is neither recognizable or complement-recognizable? If such a language exists, I believe it would be very interesting to study it (if it is possible!).&lt;/p&gt;&#xA;" OwnerUserId="879" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2011-04-01T16:15:00.950" Title="Is $ALL\setminus(RE \cup co-RE)$ empty?" Tags="&lt;computability&gt;" AnswerCount="1" CommentCount="8" ClosedDate="2011-04-01T21:38:42.547" ContentLicense="CC BY-SA 2.5" />
  <row Id="5807" PostTypeId="2" ParentId="5801" CreationDate="2011-04-01T16:11:04.793" Score="5" Body="&lt;p&gt;A very good book :&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0898712963&quot; rel=&quot;noreferrer&quot;&gt;Probability&lt;/a&gt; by Leo Breiman&lt;/p&gt;&#xA;" OwnerUserId="76" LastActivityDate="2011-04-01T16:11:04.793" CommentCount="1" CommunityOwnedDate="2011-04-13T12:06:14.607" ContentLicense="CC BY-SA 2.5" />
  <row Id="5808" PostTypeId="2" ParentId="5806" CreationDate="2011-04-01T16:15:00.950" Score="3" Body="&lt;p&gt;I'm posting my comment as an answer, at the request of the OP.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://qwiki.stanford.edu/index.php/Complexity_Zoo%3aA#ah&quot; rel=&quot;nofollow&quot;&gt;Arithmetic Hierarchy&lt;/a&gt; AH is a class of decision problems defined as below:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $Δ_0 = \Sigma_0 = \Pi_0 = R$. Then for $i&amp;gt;0$, let&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$Δ_i = R^ {\Sigma_{i-1}}$.&lt;/li&gt;&#xA;&lt;li&gt;$\Sigma_i = RE ^{\Sigma_{i-1}}$.&lt;/li&gt;&#xA;&lt;li&gt;$\Pi_i = coRE ^{\Sigma_{i-1}}$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Obviously, AH $\subseteq$ ALL. On the other hand, &quot;each level of AH strictly contains the levels below it.&quot; (As pointed by Robin Kothari in a comment above). Therefore, $ALL\setminus(RE \cup coRE)$ is nonempty.&lt;/p&gt;&#xA;" OwnerUserId="873" LastActivityDate="2011-04-01T16:15:00.950" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="5809" PostTypeId="1" AcceptedAnswerId="5831" CreationDate="2011-04-01T16:58:31.603" Score="2" ViewCount="352" Body="&lt;p&gt;Let $F$ be a CNF formula. Let $l$ be one of $F$'s literals.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;b&gt;Question&lt;/b&gt;&lt;br&gt;&lt;br&gt;&#xA;  Which is the complexity of determining whether $l$ is a backbone literal or not? The obvious way to do that is to propagate $\lnot l$ on $F$, obtaining $F&amp;#39;$: $l$ is then a backbone literal of $F$ if and only if $F&amp;#39;$ is unsatisfiable. I'm asking if there is another way.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="947" LastEditorUserId="947" LastEditDate="2011-04-01T17:11:19.913" LastActivityDate="2011-04-18T14:42:36.590" Title="SAT - Hardness of determining backbone literals" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;sat&gt;" AnswerCount="1" CommentCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="5810" PostTypeId="1" AcceptedAnswerId="5846" CreationDate="2011-04-01T17:15:10.363" Score="4" ViewCount="159" Body="&lt;p&gt;Here's my precise situation: I have a graph with nodes $V$ and edges $E$, and the nodes have some non-negative integer weights $w_i$. In one step of the protocol, I am now allowed to move weight around among nodes. This is expressed through a flow $f$ defined on the edges: $f(i,j)$ tells me how much weight I transfer from $i$ to $j$.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The flow cannot create new weight. &lt;/li&gt;&#xA;&lt;li&gt;The flow must be integer.&lt;/li&gt;&#xA;&lt;li&gt;$f(i,j)$ is allowed to be larger than $w_i$, but after the entire flow has been applied all the $w_i$ must be non-negative again.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Let $\Delta_i$ be the total change in the weight on node $i$, with the sign convention such that $\Delta_i$ is positive if more tasks leave node $i$ than arrive at $i$. An upper bound on $\Delta_i$ is $w_i$, by virtue of the third condition on the flow. My question now is: Is there also a lower bound? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A naive lower bound for each $\Delta_i$ would be given by the sum of the $\Delta_j$ for all neighbors of $i$, but I wonder if some network- and graph-theory can find better bounds?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If a good lower bound on the $\Delta_i$ is not possible, maybe there is a good \emph{upper} bound on the quantity &#xA;$$\sum_{i \in V} \Delta_i^2$$?&lt;/p&gt;&#xA;" OwnerUserId="4497" LastEditorUserId="186" LastEditDate="2011-04-01T21:49:04.813" LastActivityDate="2011-04-03T15:39:52.347" Title="Given a network flow, are there bounds on the change in weight on nodes?" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;application-of-theory&gt;&lt;network-modeling&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="5812" PostTypeId="1" CreationDate="2011-04-01T21:40:53.433" Score="5" ViewCount="852" Body="&lt;p&gt;Given an array of $n$ elements, $A[n]$ consider a data-structure which supports the following operations:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You are allowed a one time $\mathcal{O}(n)$ preprocessing step:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$\text{Init}(A)$&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;And the operations&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$\text{Reverse}(i,j)$: Reverse the slice $A[i \dots j]$ i.e. swap $A[i]$ with $A[j]$, $A[i+1]$ with $A[j-1]$ etc. &lt;/li&gt;&#xA;&lt;li&gt;$\text{Retreive}(i)$: Returns the element at position $i$ in the array. &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Now I have heard that there is a data-structure which supports both $\text{Reverse}$ and $\text{Retrieve}$ in &lt;em&gt;guaranteed&lt;/em&gt; $\mathcal{O}(P(\log n))$ time, where $P(x)$ is a polynomial (Assume $\mathcal{O}(1)$ array accesses).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am guessing this was published somewhere. Does anyone know any reference?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Apologies if this is actually at the level of undergraduate homework. Please feel free to close/delete it in that case (but please do provide a reference to the appropriate text/website in comments before deleting).&lt;/p&gt;&#xA;" OwnerUserId="126" LastEditorUserId="126" LastEditDate="2011-04-01T22:00:19.200" LastActivityDate="2011-04-01T22:00:19.200" Title="Array slice reversing data-structure" Tags="&lt;reference-request&gt;&lt;ds.data-structures&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="5813" PostTypeId="2" ParentId="5812" CreationDate="2011-04-01T21:56:18.573" Score="10" Body="&lt;p&gt;Splay trees can easily do this, with their nodes augmented to have two extra pieces of information: the total number of descendants of each node (so you can answer retrieve queries), and a reverse bit, such that the roles of the left and right pointers at node x are reversed if x and its ancestors have an odd number of reverse bits. The amortized time per operation would be O(log n).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Whenever the tree is rotated it is possible to update this extra information in constant time (and maintain consistency of the reverse bits so that each node has the same parity of ancestral reverse bits as it did before the rotation). To handle a retrieve, just do a binary search down through the tree using the number-of-descendants of the left subtree at each step to determine whether to go left or right (and then as with any splay tree operation, splay up the node found by the retrieve). To handle a reverse operation, split the splay tree at i and j to form three trees, flip the reverse bit of the root of the middle tree, and concatenate them back together again.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm not sure of a published reference but looking through the splay tree literature might work. The one I'd try first is Tarjan's Data Structures and Network Algorithms, but I don't have time right now to check it.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2011-04-01T21:56:18.573" CommentCount="8" ContentLicense="CC BY-SA 2.5" />
  <row Id="5814" PostTypeId="2" ParentId="5784" CreationDate="2011-04-01T23:23:44.023" Score="6" Body="&lt;p&gt;You seem to be really asking: is Nurikabe in NP?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Nurikabe is NP-hard, since one can build polynomial-size gadgets that can be used to reduce an NP-complete problem to a Nurikabe decision problem.  This is what Holzer, Klein, and Kutrib do, and also McPhail and Fix in their poster (both referenced from the Wikipedia article).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Both groups of authors assume that the problem is trivially in NP, and wave away the question of membership.  Your unease about succinct instances seems spot on -- I do not believe the problem is in NP.  Consider the following way to formalise the decision problem:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;BINARY NURIKABE&lt;/strong&gt;&lt;br&gt;&#xA;  &lt;em&gt;Input:&lt;/em&gt; integers m and n &lt;em&gt;&lt;strong&gt;in binary&lt;/strong&gt;&lt;/em&gt;, representing a Nurikabe board, and a list of triples, each indicating a position on the board and a positive integer written in that position.&lt;br&gt;&#xA;  &lt;em&gt;Question:&lt;/em&gt; can the remaining board positions be coloured with two colours, respecting the Nurikabe constraints?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;If $m$ and $n$ are instead specified &lt;strong&gt;in unary&lt;/strong&gt;, then the decision problem of determining &lt;em&gt;if there exists some (not necessarily unique) solution to a given Nurikabe instance&lt;/em&gt; is in NP, as a solution can be specified in at most $mn$ bits which is then polynomial in the input size.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In contrast, with a binary encoding, there is a problem (as you point out): if one has just one large constraint (say, the number $(m-2)(n-2)$ placed in the middle of the $m \times n$ board), then a solution will require $mn-1$ bits to represent, which is exponential in the size of the input $\Theta(\log\, m + \log\, n)$.  This means that the problem is not in NP, unless small certificates always exist.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Your question then becomes: &lt;em&gt;do there exist polynomial-sized certificates for all binary Nurikabe instances, which can be checked in polynomial time?&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is not obvious to me that such certificates necessarily exist.  Nor is it obvious how one would go about proving that succinct, quickly-verifiable certificates cannot exist.&lt;/p&gt;&#xA;&#xA;&#xA;&#xA;&lt;p&gt;However, the restriction to &lt;strong&gt;unique&lt;/strong&gt; solutions means that the problem is actually &lt;a href=&quot;http://qwiki.stanford.edu/index.php/Complexity_Zoo%3aU#us&quot;&gt;US&lt;/a&gt;-hard, so co-NP-hard, and therefore unlikely to be in NP.  The point is that if one regards &quot;has a unique solution&quot; as a Nurikabe constraint (as opposed to a desirable feature of instances that are presented to humans), then it is not sufficient to demonstrate that there is a solution, but one must also demonstrate that no other solutions are possible.  This requirement alone is then enough to ensure the problem is probably not in NP.  This is true even for the unary version of the problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In summary: if one relaxes the unique solutions requirement, and specifies the board size in unary, then the decision problem is in NP; with non-unique solutions and binary board size, it is unclear whether the decision problem is in NP; and with unique solutions the decision problem is US-hard and therefore unlikely to be in NP, for either encoding of the board size.&lt;/p&gt;&#xA;" OwnerUserId="109" LastActivityDate="2011-04-01T23:23:44.023" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5815" PostTypeId="2" ParentId="5801" CreationDate="2011-04-01T23:38:40.707" Score="8" Body="&lt;p&gt;Several related topics on different SE websites:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://mathoverflow.net/questions/20355/9544&quot;&gt;Book for probability&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://math.stackexchange.com/q/17388/2420&quot;&gt;Prerequisites on probability theory&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://math.stackexchange.com/q/5441/2420&quot;&gt;Supplementary reading for probability theory studies&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://stats.stackexchange.com/q/421&quot;&gt;What book would you recommend for non-statisticians&lt;/a&gt; (mostly statistical books)&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;While I have not read any of these books, I had the luxury of taking a look at some of them.&#xA;I liked the three-volume series by HPS (Hoel, Port, and Stone). It did not expect much background, and there was a clear distinction between the topics probability, statistics, and stochastic processes ( a separate volume is devoted to each topic). Moreover, each volume is rather short.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I must reemphasize that I'm not aware of the contents any of the listed books.&#xA;I invite other members to comment on this post.&lt;/p&gt;&#xA;" OwnerUserId="873" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2011-04-01T23:38:40.707" CommentCount="0" CommunityOwnedDate="2011-04-13T12:06:14.607" ContentLicense="CC BY-SA 2.5" />
  <row Id="5816" PostTypeId="2" ParentId="5801" CreationDate="2011-04-02T00:15:52.373" Score="23" Body="&lt;p&gt;Have you tried these two books? &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0521835402&quot;&gt;Probability and Computing: Randomized Algorithms and Probabilistic Analysis&lt;/a&gt; by  Mitzenmacher and Upfal.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0521474655&quot;&gt;Randomized Algorithms&lt;/a&gt; by Motwani and Raghavan&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Note that these two books cover much more than just randomized algorithms, e.g. they cover Probabilistic Method, Markov Chain Theory, Martingales etc, of course with many applications in TCS. The first book is easier to read with many examples whose proofs were worked out in detail. The second book is really a classic, not very updated, but still very useful. They both have a lot of exercises, so you will have plenty of material to practice what you've learnt.&lt;/p&gt;&#xA;" OwnerUserId="1080" LastActivityDate="2011-04-02T00:15:52.373" CommentCount="0" CommunityOwnedDate="2011-04-13T12:06:14.607" ContentLicense="CC BY-SA 2.5" />
  <row Id="5817" PostTypeId="1" CreationDate="2011-04-02T01:15:45.793" Score="27" ViewCount="2003" Body="&lt;p&gt;It is known that given an &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt;-point subset of &lt;span class=&quot;math-container&quot;&gt;$\ell_2^d$&lt;/span&gt; (that is, given &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt; points in &lt;span class=&quot;math-container&quot;&gt;${\mathbb R}^d$&lt;/span&gt; with Euclidean distance) it is possible to embed them isometrically in &lt;span class=&quot;math-container&quot;&gt;$\ell^{n\choose 2}_1$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Is the isometry computable in (possibly, randomized) polynomial time?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Since there are finite-precision issues, the precise question is&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Given a set &lt;span class=&quot;math-container&quot;&gt;$X$&lt;/span&gt; of &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt; points in &lt;span class=&quot;math-container&quot;&gt;${\mathbb R}^d$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$\epsilon &amp;gt;0$&lt;/span&gt;, is there a mapping &lt;span class=&quot;math-container&quot;&gt;$f: X \to {\mathbb R}^{n\choose 2}$&lt;/span&gt; computable (possibly, using randomness) in time polynomial in &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt; and logarithmic in &lt;span class=&quot;math-container&quot;&gt;$1/\epsilon$&lt;/span&gt; such that for every &lt;span class=&quot;math-container&quot;&gt;$x,y\in X$&lt;/span&gt; we have&lt;/p&gt;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$|| f(x)-f(y)||_1 \leq ||x-y||_2 \leq (1+ \epsilon) \cdot || f(x)-f(y) ||_1$&lt;/span&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;(Note: I am aware that a mapping with distortion &lt;span class=&quot;math-container&quot;&gt;$(1+\epsilon)$&lt;/span&gt; can be found with high probability in time polynomial in &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$1/\epsilon$&lt;/span&gt; by projecting on &lt;span class=&quot;math-container&quot;&gt;$O(\epsilon^{-2} \cdot \log n)$&lt;/span&gt; random lines, but I am not sure if the number of dimensions can be constructively reduced to &lt;span class=&quot;math-container&quot;&gt;$n\choose 2$&lt;/span&gt; or even &lt;span class=&quot;math-container&quot;&gt;$O(n^2)$&lt;/span&gt; when &lt;span class=&quot;math-container&quot;&gt;$1/\epsilon$&lt;/span&gt; is much larger than &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt;, and I don't know if there is a polynomial time method to handle the case in which &lt;span class=&quot;math-container&quot;&gt;$1/\epsilon$&lt;/span&gt; is exponential in &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt;.)&lt;/p&gt;&#xA;" OwnerUserId="1069" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2011-09-05T20:17:25.453" Title="Isometric embedding of L2 into L1" Tags="&lt;cg.comp-geom&gt;&lt;metrics&gt;&lt;embeddings&gt;" AnswerCount="1" CommentCount="18" FavoriteCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="5818" PostTypeId="2" ParentId="5438" CreationDate="2011-04-02T01:54:00.163" Score="22" Body="&lt;p&gt;It depends a bit how you define the PCP Theorem, is it with perfect completeness or not. As we state in our book, an equivalent form of the PCP Theorem is that there is some constraint satisfaction problem for which it's NP-hard to distinguish between the perfect satisfiable case and the case that one can satisfy at most some fraction $s&amp;lt;1$ of the cosntraints. But, we could have state a variant with imperfect completeness, replacing the perfect satisfiable case with being able to satisfy some fraction $c&amp;gt;s$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The unique games conjecture is an assumption of this latter form (where, making the condition stronger $c$ is close to $1$ and $s$ is close to $0$) and, most importantly, the constraints are of a very special form (permutation constraints on two variables). In that sense it's (essentially) stronger form of the PCP Theorem. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can ask if there's an easy transformation to convert a PCP with imperfect completeness to one with perfect completeness. I think it probably can be done easier than proving the PCP Theorem, but I'm not aware at the moment of a very simple argument.&lt;/p&gt;&#xA;" OwnerUserId="1202" LastActivityDate="2011-04-02T01:54:00.163" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5819" PostTypeId="1" AcceptedAnswerId="5821" CreationDate="2011-04-02T04:42:44.400" Score="2" ViewCount="120" Body="&lt;p&gt;I have a problem in mind and I am sure this is likely an area of active research, but am at a loss as to the correct terminology and thus unable to find any reference literature.  It is best explained by example: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Say I have several objects, for example mahogany chairs.  For each of these chairs I know a number of attributes about them such as their weight, texture, colour, age, etc.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you contact me inquiring about one of my chairs and tell me some incomplete information, e.g. &quot;dark brown, 60's era chair&quot;  I want to &lt;strong&gt;decide optimally what further information (if any) do I require from you to identiy the chair of interest&lt;/strong&gt;, i.e. what questions do I need to ask to obtain the required attribute information.  Additionally, in the likely case that there are many questions I will need to ask you, &lt;strong&gt;how can I optimise the questions I ask you.&lt;/strong&gt;  Optimisation could mean minimising the expected number of quesitons I need to ask you, or asking questions I think you are most likely to be able to answer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So I would appreciate some information or references for this kind of problem.  It's worth noting I am interested in implementing this computationally (hence posting here) as opposed to a purely abstract problem.&lt;/p&gt;&#xA;" OwnerUserId="4501" LastActivityDate="2011-04-03T08:45:53.240" Title="Asking optimal questions to differentiate object in set" Tags="&lt;advice-request&gt;&lt;optimization&gt;&lt;terminology&gt;" AnswerCount="2" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5820" PostTypeId="2" ParentId="5819" CreationDate="2011-04-02T05:00:38.470" Score="1" Body="&lt;p&gt;On the one hand, what you're asking sounds like binary search. On the other hand, the adaptivity makes it feel more like active learning: think of the &quot;thing you're trying to learn&quot; as a hypothesis and the &quot;queries&quot; as being labels of objects. Since this question is primarily about finding the right terminology, do look at the active learning literature and see if it captures the spirit of what you want. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2011-04-02T05:00:38.470" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5821" PostTypeId="2" ParentId="5819" CreationDate="2011-04-02T06:51:48.167" Score="0" Body="&lt;p&gt;A while back, Ross Quinlan designed two algorithms (along with implementations available online) called IDE3 and C4.5 for building &lt;strong&gt;decision trees&lt;/strong&gt; from data. The book:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Quinlan, J.R.: C4.5: Programs for Machine Learning,   Morgan Kauffman, 1993&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;is the core reference 2 decades ago. Such an algorithm will be giving data along with its classifications in different dimensions to learn a decision tree. The algorithms aim for optimal trees, and further possibilities exist for improving the resulting.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Recent refinements of the approach include using genetic algorithms:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.jprr.org/index.php/jprr/article/viewFile/44/25&quot; rel=&quot;nofollow&quot;&gt;A Genetic Algorithm for Constructing Compact Binary Decision Trees&lt;/a&gt; by Sung-Hyuk Cha and Charles Tappert.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;A more general keyword to look for is &lt;strong&gt;classification&lt;/strong&gt;. Check out a recent book on Machine Learning. (Or perhaps ask your question at &lt;a href=&quot;http://metaoptimize.com/&quot; rel=&quot;nofollow&quot;&gt;http://metaoptimize.com/&lt;/a&gt;).&lt;/p&gt;&#xA;" OwnerUserId="77" LastEditorUserId="77" LastEditDate="2011-04-03T08:45:53.240" LastActivityDate="2011-04-03T08:45:53.240" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5822" PostTypeId="1" AcceptedAnswerId="5825" CreationDate="2011-04-02T07:44:46.520" Score="0" ViewCount="195" Body="&lt;p&gt;It is already known that in searching for a solution of the four color problem, regular maps can be pre-simplified by removing all faces with less than four edges. This is described for example in the book &quot;What is Mathematics? An Elementary Approach to Ideas and Methods&quot; about the five color theorem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I belive that all regular maps can be simplified by removing all faces with less than five edges (instead of less then four), without affecting the search and the validity of the four color theorem. This simplification is described here: &lt;a href=&quot;http://4coloring.wordpress.com/t1/&quot; rel=&quot;nofollow&quot;&gt;http://4coloring.wordpress.com/t1/&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In this case Euler’s identity gets really simplified: F5 = 12 + F7 + 2F8 + 3 F9 + ...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is known about this? Has it already been studied before?&lt;/p&gt;&#xA;" OwnerUserId="4437" LastEditorUserId="77" LastEditDate="2011-04-02T18:21:35.837" LastActivityDate="2011-04-02T21:18:02.797" Title="Four color theorem and map pre-simplification of faces with less than 5 edges" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;graph-algorithms&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5823" PostTypeId="1" AcceptedAnswerId="5830" CreationDate="2011-04-02T08:00:37.560" Score="1" ViewCount="440" Body="&lt;p&gt;I'm interested in the complexity of self reducibility of a variant clique problem. Namely, the NP-complete problem HALF Clique: given a graph on $N$ nodes, Is there a clique of size $N/2$ in the graph?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;How hard is it to reduce an instance of HALF CLIQUE of input size $2N$ to an instance of size $N$ using Turing reduction? Is there a Cook reduction? I'm looking for references for upper bounds and lower bounds on the complexity of Turing reductions of this type.&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="1800" LastEditDate="2011-04-02T10:47:41.433" LastActivityDate="2011-04-02T15:39:54.030" Title="Complexity of Turing self-reducibility of Clique problem?" Tags="&lt;cc.complexity-theory&gt;&lt;reductions&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="5824" PostTypeId="2" ParentId="5803" CreationDate="2011-04-02T08:31:40.340" Score="6" Body="&lt;p&gt;Again I'm not exactly sure what you are looking for because there are potentially many &quot;similar&quot; systems, but for recent work that I think is very related you can read Part II (&quot;Mixing Derivability and Admissibility&quot;) of &lt;a href=&quot;http://www.cs.cmu.edu/~drl/pubs/thesis/thesis.pdf&quot; rel=&quot;nofollow&quot;&gt;Dan Licata's thesis&lt;/a&gt;, as well as &lt;a href=&quot;https://bitbucket.org/robsimmons/constructive-provability-logic/downloads/imla11.pdf&quot; rel=&quot;nofollow&quot;&gt;Constructive provability logic&lt;/a&gt; by Rob Simmons and Bernardo Toninho.&lt;/p&gt;&#xA;" OwnerUserId="674" LastActivityDate="2011-04-02T08:31:40.340" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5825" PostTypeId="2" ParentId="5822" CreationDate="2011-04-02T10:33:26.490" Score="7" Body="&lt;p&gt;The result is known since Kempe in 1879, and is mentioned in &lt;a href=&quot;http://en.wikipedia.org/wiki/Four_color_theorem&quot; rel=&quot;nofollow&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/Four_color_theorem&lt;/a&gt; as &quot;Kempe also showed correctly that G can have no vertex of degree 4....&quot;  Your proof does not work, because when you remove two edges joining face B with A and C, A and C may already have been adjacent.  Since you give the combined face a color, then return face B with a new color, you leave A and C adjacent and of the same color.    &lt;/p&gt;&#xA;" OwnerUserId="4377" LastEditorUserId="4377" LastEditDate="2011-04-02T21:18:02.797" LastActivityDate="2011-04-02T21:18:02.797" CommentCount="7" ContentLicense="CC BY-SA 2.5" />
  <row Id="5826" PostTypeId="1" AcceptedAnswerId="5832" CreationDate="2011-04-02T10:59:07.187" Score="5" ViewCount="381" Body="&lt;p&gt;We have a set of bit sequences of length $L$ with only $K$ known bits and $L-K$ gaps.&#xA;We want to store them in a data structure in a way that given a new bit sequence $x$ of length $L$, with $L$ known bits, we can efficiently search and retrieve the elements in the data structure that are sub-strings of $x$. What data structure and search method do you recommend? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;for example, $L=5$, $K=3$, and data=${1.10., 11..0, 10..1, 01.1., 101..}$ &#xA;given $x=10101$, following elements are returned: ${1.10., 10..1, 101..}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In a more realistic example, we expect L=15, K=7, |data|=100,000, our priority is search time, however, the data structure (/index) size should be reasonable too (lets say smaller than 1GB) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This question was originally asked at math.stackexchange: &lt;a href=&quot;https://math.stackexchange.com/questions/30454/a-data-structure-for-partial-sequences&quot;&gt;link&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT: We are also interested in the more general case where data elements re nucleotide sequences (using alphabet {${A,C,G,T}$} instead of binary sequences). The main difference in that case is that number of all sequences of length L, will be $4^{L}$ instead of $2^{L}$ for binary. &lt;/p&gt;&#xA;" OwnerUserId="4503" LastEditorUserId="-1" LastEditDate="2017-04-13T12:19:19.363" LastActivityDate="2011-04-05T00:51:34.843" Title="a data structure for partial sequences" Tags="&lt;co.combinatorics&gt;&lt;ds.data-structures&gt;&lt;bioinformatics&gt;" AnswerCount="1" CommentCount="6" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="5828" PostTypeId="5" CreationDate="2011-04-02T15:02:52.530" Score="0" Body="&lt;p&gt;Some results in theoretical computer science and mathematics, and particularly in computational complexity, are conditional on some result that is not known to be true.  An example is Ladner's Theorem, which says that &lt;em&gt;if P≠NP, then&lt;/em&gt; there is an infinite hierarchy of complexity classes between P and the NP-complete problems.  If someone were to prove that P=NP, then Ladner's Theorem would become uninteresting, since anything can be deduced from a false premise.  However, if P≠NP were to be proved, then the conclusion of Ladner's Theorem would be unconditionally true.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This tag identifies questions which deal with conditional results, and is meant to be used together with other tags such as &lt;a href=&quot;/questions/tagged/cc.complexity-theory&quot; class=&quot;post-tag&quot; title=&quot;show questions tagged 'cc.complexity-theory'&quot; rel=&quot;tag&quot;&gt;cc.complexity-theory&lt;/a&gt; or &lt;a href=&quot;/questions/tagged/ds.data-structures&quot; class=&quot;post-tag&quot; title=&quot;show questions tagged 'ds.data-structures'&quot; rel=&quot;tag&quot;&gt;ds.data-structures&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="109" LastEditorUserId="109" LastEditDate="2011-04-02T15:46:21.273" LastActivityDate="2011-04-02T15:46:21.273" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5829" PostTypeId="4" CreationDate="2011-04-02T15:02:52.530" Score="0" Body="Add X as a hypothesis, where X is not known to be either true or false." OwnerUserId="109" LastEditorUserId="109" LastEditDate="2011-04-02T15:46:25.160" LastActivityDate="2011-04-02T15:46:25.160" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5830" PostTypeId="2" ParentId="5823" CreationDate="2011-04-02T15:39:54.030" Score="13" Body="&lt;p&gt;This is not a reference, but an NP-complete problem cannot have a polynomial-time self-reduction which halves the input size unless NP has a &lt;i&gt;n&lt;/i&gt;&lt;sup&gt;O(log &lt;i&gt;n&lt;/i&gt;)&lt;/sup&gt;-time algorithm, even if we allow Turing reductions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose there is a &lt;i&gt;p&lt;/i&gt;(&lt;i&gt;n&lt;/i&gt;)-time Turing reduction from an NP-complete problem &lt;i&gt;L&lt;/i&gt; to itself such that given an input of length &lt;i&gt;n&lt;/i&gt;, the reduction only makes queries to strings of length at most &lt;i&gt;n&lt;/i&gt;/2.  Then you can convert this reduction to a standalone deterministic algorithm for &lt;i&gt;L&lt;/i&gt; by using recursion.  By writing down a recurrence relation for the running time of this deterministic algorithm, it is not hard to see that it runs in time &lt;i&gt;n&lt;/i&gt;&lt;sup&gt;O(log &lt;i&gt;n&lt;/i&gt;)&lt;/sup&gt;.&lt;/p&gt;&#xA;" OwnerUserId="567" LastActivityDate="2011-04-02T15:39:54.030" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5831" PostTypeId="2" ParentId="5809" CreationDate="2011-04-02T16:31:00.273" Score="7" Body="&lt;p&gt;The complexity is &lt;em&gt;co-NP&lt;/em&gt; complete because you're converting to &lt;b&gt;un&lt;/b&gt;satisfiability of $F \land \lnot l$. I have a proof of the completeness in my &lt;a href=&quot;http://sat.inesc-id.pt/~mikolas/th.pdf&quot; rel=&quot;nofollow&quot;&gt;PhD thesis, Claim 2&lt;/a&gt; (if I may blatantly advertise myself).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There's a small problem for unsatisfiable formulas, if your definition of a backbone means that all the literals are backbone for an unsatisfiable formula, then the problem stays in &lt;em&gt;co-NP&lt;/em&gt;. If, however, the set of backbone literals is empty for an unsatisfiable formula, you also need &lt;em&gt;NP&lt;/em&gt;.&lt;/p&gt;&#xA;" OwnerUserId="4506" LastEditorUserId="77" LastEditDate="2011-04-18T14:42:36.590" LastActivityDate="2011-04-18T14:42:36.590" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="5832" PostTypeId="2" ParentId="5826" CreationDate="2011-04-02T19:57:23.117" Score="3" Body="&lt;p&gt;A &lt;strong&gt;naive approach&lt;/strong&gt; is as follows. This approach can be used when no better solution is available:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Keep a ternary search tree: Each node (except leaves) has three children: a &lt;code&gt;0&lt;/code&gt;, a &lt;code&gt;1&lt;/code&gt;, and a &lt;code&gt;.&lt;/code&gt;. The height of tree is L. Each leaf stores 1 bit: whether the &lt;em&gt;pattern&lt;/em&gt; denoted by the path from the root to that leaf exists in your sequence.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A full ternary search tree takes a space of $3^L$. Since L is rather small (L=15), the space will be $3^{15} \approx 14 \ MB$. Since |data|=100,000, and since K &amp;lt;&amp;lt; L, it is possible to prune the tree in such a way that it takes much less space.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, a backtracking algorithm can search this data structure: Given input x, it starts at the root of the tree, and checks the MSB of x. This bit is either 0 or 1. Assume wlog that the bit is 0. Then, the algorithm omits the &lt;code&gt;1&lt;/code&gt; child, and takes the &lt;code&gt;0&lt;/code&gt; and &lt;code&gt;.&lt;/code&gt; children. This is continued until we find a match, a mismatch, or when the number of &lt;code&gt;.&lt;/code&gt;'s along the path becomes greater than K (assuming the tree is not pruned already).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The above algorithm may take a long time, unless you have pruned the tree properly. That is, if a node does not have a child in the &lt;code&gt;data&lt;/code&gt;, mark it as having no child.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that since $\binom{15}{7} = 6435$, in the extreme case, up to 6435 patterns in &lt;code&gt;data&lt;/code&gt; might match x (which is 6% of |data|; so even the best algorithm has to search this fraction of the database in the worst case).&lt;/p&gt;&#xA;" OwnerUserId="873" LastActivityDate="2011-04-02T19:57:23.117" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="5833" PostTypeId="2" ParentId="1410" CreationDate="2011-04-02T22:23:29.093" Score="23" Body="&lt;p&gt;Most of the important things were said but I would like to stress a few points.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;satisfiability of a DNF formula is P&lt;/li&gt;&#xA;&lt;li&gt;satisfiability of a CNF formula is NP&lt;/li&gt;&#xA;&lt;li&gt;testing if a CNF formula is a tautology is P&lt;/li&gt;&#xA;&lt;li&gt;testing if a DNF formula is a tautology is coNP&lt;/li&gt;&#xA;&lt;li&gt;negating DNF yields CNF and vice versa&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;So SAT solvers use CNF because they target satisfiability and any formula can be translated to a CNF while preserving satisfiability in linear time.&lt;/p&gt;&#xA;" OwnerUserId="4506" LastActivityDate="2011-04-02T22:23:29.093" CommentCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="5834" PostTypeId="1" AcceptedAnswerId="5842" CreationDate="2011-04-02T23:05:23.417" Score="18" ViewCount="2685" Body="&lt;p&gt;Can anyone explain briefly (if thats possible!) or refer me to a reference, summarizing the differences between untyped lambda calculus and the more common typed lambda calculi?&lt;/p&gt;&#xA;&lt;p&gt;I'm particularly looking for statements of their expressive power, equivalences to logic/arithmetic systems or computation methods, and analogies to programming languages if applicable.&lt;/p&gt;&#xA;&lt;p&gt;While I certainly intend to read, something like a reference table outlining the calculi and their equivalences/differences/place in the hierarchy would be a HUGE reference for helping me sort them out.&lt;/p&gt;&#xA;&lt;p&gt;Not saying the below is correct, just trying to sketch together some of the impressions i have to see if they at least serve as a starting point (or something to correct!)&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Untyped lambda calculus - eq. to first order logic - cannot do X&lt;/p&gt;&#xA;&lt;p&gt;Simply typed lambda calculus - eq to ... logic, related to Lisp?&lt;/p&gt;&#xA;&lt;p&gt;'Polymorphic' lambda calc -&#xA;etc.&lt;/p&gt;&#xA;&lt;p&gt;Calculus of Constructions - intutionist logic?&lt;/p&gt;&#xA;&lt;p&gt;Combinatory Logic - comparable to ??? typed lambda calculus, related to APL/J kind of languages&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;If this ties into the lambda cube and its three axes all the better.&lt;/p&gt;&#xA;&lt;p&gt;While I'm familiar with the basics of lambda calculus and programming with functional languages, I have never wrapped my head around, or made any significant connections to, the type systems involved and different flavors of lambda (and maybe pi?) calculi.&lt;/p&gt;&#xA;&lt;p&gt;When I attempt to research this i cant help but find myself sidetracked, opening up many browser tabs and branching in so many directions I never get into any of them with any depth!&lt;/p&gt;&#xA;&lt;p&gt;I'm not sure if what I'm asking for is reasonable, but hopefully at the very least I've painted enough of a picture to suggest some reading that can explain what im looking for?&lt;/p&gt;&#xA;" OwnerUserId="4509" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2018-11-23T00:50:22.617" Title="Classification of Typed/Untyped Lambda Calculi" Tags="&lt;lo.logic&gt;&lt;type-theory&gt;&lt;lambda-calculus&gt;" AnswerCount="3" CommentCount="4" FavoriteCount="15" ContentLicense="CC BY-SA 4.0" />
  <row Id="5835" PostTypeId="1" CreationDate="2011-04-03T01:37:31.493" Score="1" ViewCount="59" Body="&lt;p&gt;I have been reading &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.103.2676&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;nofollow&quot;&gt;Fuzzy Belief Revision&lt;/a&gt; and trying to determine how the methods could be used to combine readings from conflicting sensors. For example, if one sensor reads 70 degrees and another reads 75 degrees.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This paper uses examples that combine subjectively defined properties. For example, a car may have the properties &lt;em&gt;expensive&lt;/em&gt;, &lt;em&gt;economical&lt;/em&gt;, and &lt;em&gt;powerful&lt;/em&gt; with subjectively defined values 0.75, 0.50, and 0.75, respectively.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I can't see a way to apply these techniques to quantified data but this paper, and many other papers on Fuzzy Systems, make reference to applying Fuzzy techniques to &quot;imprecise sensors&quot;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a paper that deals directly with combining sets of conflicting sensor readings using Fuzzy methods? Or otherwise combining quantified information rather than subjective properties?&lt;/p&gt;&#xA;" OwnerUserId="4434" LastActivityDate="2011-04-03T01:37:31.493" Title="What Fuzzy techniques can combine conflicting quantified data?" Tags="&lt;lo.logic&gt;&lt;ai.artificial-intel&gt;&lt;knowledge-representation&gt;" AnswerCount="0" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="5836" PostTypeId="1" AcceptedAnswerId="5838" CreationDate="2011-04-03T03:19:12.793" Score="43" ViewCount="3992" Body="&lt;p&gt;I'm going over the course notes at &lt;a href=&quot;http://www.seas.upenn.edu/~cis500/current/&quot;&gt;CIS 500: Software Foundations&lt;/a&gt; and the exercises are a lot of fun. I'm only at the third exercise set but I would like to know more about what's happening when I use tactics to prove things like &lt;code&gt;forall (n m : nat), n + n = m + m -&amp;gt; n = m.&lt;/code&gt;&lt;/p&gt;&#xA;" OwnerDisplayName="user788" LastEditorUserId="186" LastEditDate="2011-04-05T01:20:53.260" LastActivityDate="2017-09-17T03:49:29.247" Title="How would I go about learning the underlying theory of the Coq proof assistant?" Tags="&lt;lo.logic&gt;&lt;type-theory&gt;&lt;proof-assistants&gt;&lt;proof-theory&gt;&lt;coq&gt;" AnswerCount="4" CommentCount="0" FavoriteCount="32" ContentLicense="CC BY-SA 2.5" />
  <row Id="5837" PostTypeId="2" ParentId="5834" CreationDate="2011-04-03T07:11:17.273" Score="20" Body="&lt;p&gt;Pure untyped $\lambda$-calculus is Turing complete, i.e., a partial number-theoretic map is computable if, and only if, it is definable in the untyped $\lambda$-calculus. The computational power of typed $\lambda$-calculus is much smaller. For example, if we add a type of natural numbers &lt;code&gt;nat&lt;/code&gt; to the typed $\lambda$-calculus, together with $0$, successor, and primitive recursion, we get what is commonly known as Gödel's $T$. It computes the primitive recursive functions only (and they are all total).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The untyped $\lambda$-calculus does not have a reasonable interpretation under the Curry-Howard correspondence, while the typed $\lambda$-calculus corresponds precisely to intuitionistic propositional calculus.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Models of typed $\lambda$-calculus are precisely the cartesian-closed categories. Models of the untyped $\lambda$-calculus are less well-behaved. While it is possible to talk about them, they are certainly not studied as widely as cartesian-closed categories.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We can also entertain ourselves by asking &quot;Which is more general?&quot; At face value the untyped $\lambda$-calculus seems more general because it is easy to embed the typed one into the untyped one (by forgetting types). But we can embed the untyped $\lambda$-calculus into the typed $\lambda$-calculus by positing a primitive type &lt;code&gt;U&lt;/code&gt; together with isomorphisms &lt;code&gt;lambda : U -&amp;gt; (U -&amp;gt; U)&lt;/code&gt; and &lt;code&gt;gamma : (U -&amp;gt; U) -&amp;gt; U&lt;/code&gt;. On the semantic side this corresponds to Dana Scott's observation that every model of the untyped $\lambda$-calculus arises as a reflexive object in a cartesian closed category, i.e., given a model $\mathbb{U}$ of the untyped $\lambda$-calculus we can find a category $\mathcal{C}$ (if my memory serves me right, it is the idempotent splitting of $\mathbb{U}$), such that the $\mathbb{U}$ can be seen as an object of the presheaf category $[\mathcal{C}^{\mathrm{op}}, \mathsf{Set}]$ (via Yoneda embedding) satisfying the equation $\mathbb{U} \cong \mathbb{U}^{\mathbb{U}}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;References:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Dana S. Scott: &quot;&lt;a href=&quot;http://dx.doi.org/10.1016/S0049-237X%2808%2971262-X&quot;&gt;Lambda Calculus: Some Models, Some Philosophy&lt;/a&gt;&quot;, Studies in Logic and the Foundations of Mathematics, Volume 101, 1980, Pages 223-265, The Kleene Symposium&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Hendrik Pieter Barendregt: &quot;&lt;a href=&quot;http://books.google.com/books?id=ZdydJZVue50C&amp;amp;lpg=PP1&amp;amp;dq=barendregt&amp;amp;pg=PP1#v=onepage&amp;amp;q&amp;amp;f=false&quot;&gt;The lambda calculus: its syntax and semantics&lt;/a&gt;&quot;, Elsevier, 1984.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="705" LastEditorUserId="705" LastEditDate="2011-04-03T07:19:31.527" LastActivityDate="2011-04-03T07:19:31.527" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5838" PostTypeId="2" ParentId="5836" CreationDate="2011-04-03T08:43:12.913" Score="32" Body="&lt;p&gt;One place to start is  the &lt;a href=&quot;http://coq.inria.fr/refman/&quot; rel=&quot;noreferrer&quot;&gt;Coq reference manual&lt;/a&gt; (&lt;a href=&quot;http://coq.inria.fr/distrib/current/files/Reference-Manual.pdf&quot; rel=&quot;noreferrer&quot;&gt;pdf&lt;/a&gt;). Chapter 4 describes the underlying logic of Coq, and ultimately everything is based on this. It's called the calculus of (co)inductive constructions, and many  papers describe. Getting your hands on the Coq'Art book &lt;a href=&quot;http://www.labri.fr/perso/casteran/CoqArt/index.html&quot; rel=&quot;noreferrer&quot;&gt;Interactive Theorem Proving and Program Development&lt;/a&gt; provides a more leisurely but not cheap introduction to Coq.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To learn about how tactics work, have a look at this earlier question: &lt;a href=&quot;https://cstheory.stackexchange.com/questions/5696/how-do-tactics-work-in-proof-assistants&quot;&gt;How do &amp;#39;tactics&amp;#39; work in proof assistants?&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To build up the required theory, you need to learn about &lt;a href=&quot;http://en.wikipedia.org/wiki/Type_theory&quot; rel=&quot;noreferrer&quot;&gt;Type Theory&lt;/a&gt;. Most closely related to the theory underlying a proof assistant is probably Per Martin-Löf's &lt;a href=&quot;http://www.csie.ntu.edu.tw/~b94087/ITT.pdf&quot; rel=&quot;noreferrer&quot;&gt;Intutionistic Type Theory&lt;/a&gt; notes (or &lt;a href=&quot;http://intuitionistic.files.wordpress.com/2010/07/martin-lof-tt.pdf&quot; rel=&quot;noreferrer&quot;&gt;book&lt;/a&gt;) or the book &lt;a href=&quot;http://www.cse.chalmers.se/research/group/logic/book/book.pdf&quot; rel=&quot;noreferrer&quot;&gt;Programming in Martin-Löf Type Theory&lt;/a&gt;, which is really about writing and proving theorems in type theory. A programming language perspective on type theory can be obtained from Pierce's &lt;a href=&quot;http://www.cis.upenn.edu/~bcpierce/tapl/&quot; rel=&quot;noreferrer&quot;&gt;Types and Programming Languages&lt;/a&gt;. Girard et al's &lt;a href=&quot;http://www.paultaylor.eu/stable/Proofs+Types.html&quot; rel=&quot;noreferrer&quot;&gt;Proofs and Types&lt;/a&gt;, which also addresses the importance of the &lt;a href=&quot;http://en.wikipedia.org/wiki/Curry%E2%80%93Howard_correspondence&quot; rel=&quot;noreferrer&quot;&gt;Curry-Howard Correspondence&lt;/a&gt;, is another excellent reference.&#xA;Then you are probably well and truly ready to read Coquand and Huet's &lt;a href=&quot;ftp://ftp.inria.fr/INRIA/publication/publi-pdf/RR/RR-0530.pdf&quot; rel=&quot;noreferrer&quot;&gt;The Calculus of Constructions&lt;/a&gt;. Finally chase up some of the references in the back of the Coq manual.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are other &lt;a href=&quot;http://en.wikipedia.org/wiki/Interactive_theorem_proving&quot; rel=&quot;noreferrer&quot;&gt;proof assistants&lt;/a&gt;, HOL, NuPRL, Mizar, Twelf, etc., and they have their theory too, so you can learn a lot too by reading in that direction.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, for an overview of the history and future of proof assistants, check out the recent &lt;a href=&quot;http://www.ias.ac.in/article/fulltext/sadh/034/01/0003-0025&quot; rel=&quot;noreferrer&quot;&gt;article&lt;/a&gt; by Herman Geuvers.&lt;/p&gt;&#xA;" OwnerUserId="77" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2016-05-25T20:10:24.130" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="5839" PostTypeId="1" CreationDate="2011-04-03T10:17:43.700" Score="15" ViewCount="339" Body="&lt;p&gt;In &lt;a href=&quot;http://linkinghub.elsevier.com/retrieve/pii/0022000089900184&quot; rel=&quot;nofollow&quot;&gt;on hiding information from an oracle&lt;/a&gt;, the authors (Abadi, Feigenbaum, and Kilian) wrote:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;$(\mathsf{NP/poly} \cap \mathsf{co\text-NP}{/poly})$ ...  is  &lt;strong&gt;not  known&lt;/strong&gt;  to  be  equal  to  $(\mathsf{NP} ∩ \mathsf{co\text-NP}){/poly}$. &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;They highlighted that in the conference paper, they mistook the two classes. Apparently, the latter is a subset of the former, but we don't know if the containment is strict.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assuming $X$ and $Y$ are complexity classes, and $F$ is a set of functions specifying the length of the advice strings, are there recent results comparing $(X_{/F} \cap Y_{/F})$ and $(X \cap Y)_{/F}$, resolving issues like the one pointed above?&lt;/p&gt;&#xA;" OwnerUserId="873" LastEditorUserId="21001" LastEditDate="2015-04-07T14:44:53.413" LastActivityDate="2015-04-07T14:44:53.413" Title="Intersecting Complexity Classes with Advice" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;complexity-classes&gt;&lt;advice-and-nonuniformity&gt;" AnswerCount="0" CommentCount="7" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="5840" PostTypeId="1" AcceptedAnswerId="5854" CreationDate="2011-04-03T10:32:22.080" Score="10" ViewCount="1076" Body="&lt;p&gt;To answer &quot;what problems can be solved by computing&quot;, we developed the theory of computability. For the problems that are computable, is there a theory to answer the question &quot;is the program I get the simplest one&quot;?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I do not think computational complexity answer the question. I think it considers how long we need (though measured abstractly).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am not sure whether algorithmic information theory answer the question. It seems that the theory talks about size, where the equivalence of minimal size and simplest is not obvious to me (well, at least they feel different to me).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think the theory should at least define &quot;simple&quot; or &quot;simpler than&quot; relation.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;I am now convinced that I should look into Kolmogorov Complexity. However, I would like to explain what was in my mind when I was asking the question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;When I improve a program, I try to reduce unnecessary connections between different parts of the program (maybe re-dividing parts so that there can be less or weaker connections). Since the connections are reduced, the program feels &quot;simpler&quot;. Hence the choice of the word &quot;simple&quot; when I am phrasing the question. It is very likely the size of the program also decreases, but that is a good side effect, not the main goal. Obviousely, the improving process cannot go forever. There is a point that I should stop. If, only by considering the &quot;structure&quot; (sorry for another undefined concept) or &quot;relation&quot;, can I convince myself that nothing more can be done?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here contains better description of my notion of complexity.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Olaf Sporns (2007) &lt;a href=&quot;http://www.scholarpedia.org/article/Complexity&quot;&gt;Complexity&lt;/a&gt;. &lt;a href=&quot;http://www.scholarpedia.org&quot;&gt;Scholarpedia&lt;/a&gt;, 2(10):1623&lt;/p&gt;&#xA;" OwnerUserId="4515" LastEditorUserId="4515" LastEditDate="2011-04-17T09:49:41.250" LastActivityDate="2012-01-19T13:45:50.760" Title="Is there a theory to answer &quot;the simplest program to solve a problem&quot;?" Tags="&lt;big-picture&gt;&lt;kolmogorov-complexity&gt;" AnswerCount="3" CommentCount="14" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="5841" PostTypeId="1" AcceptedAnswerId="5973" CreationDate="2011-04-03T10:55:19.797" Score="17" ViewCount="1397" Body="&lt;p&gt;I am looking for an easy example of two transition systems that are LTL equivalent, but not trace equivalent.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have read the proof of Trace Equivalence being finer than LTL Equivalence in the book &quot;Principles of Model Checking&quot; (Baier/Katoen) but I'm not sure I really understand it. I am unable to picture it, is there maybe a simple example that can visualize the difference?&lt;/p&gt;&#xA;" OwnerUserId="4516" LastEditorUserId="186" LastEditDate="2011-04-05T00:39:51.860" LastActivityDate="2011-04-11T20:50:38.633" Title="Trace Equivalence vs LTL Equivalence" Tags="&lt;lo.logic&gt;&lt;model-checking&gt;&lt;linear-temporal-logic&gt;" AnswerCount="2" CommentCount="20" FavoriteCount="7" ContentLicense="CC BY-SA 2.5" />
  <row Id="5842" PostTypeId="2" ParentId="5834" CreationDate="2011-04-03T12:23:22.390" Score="27" Body="&lt;p&gt;Your table is a bit confused; here's a better one.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Untyped lambda calculus -- no logical interpretation, as Andrej notes&lt;/li&gt;&#xA;&lt;li&gt;Simply typed lambda calculus -- intuitionistic propositional logic&lt;/li&gt;&#xA;&lt;li&gt;Polymorphic lambda calculus -- pure second-order logic (ie, without first-order quantifiers)&lt;/li&gt;&#xA;&lt;li&gt;Dependent types -- generalization of first-order logic&lt;/li&gt;&#xA;&lt;li&gt;Calculus of constructions -- generalization of higher-order logic&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Type dependency is more general than first-order quantification, since it turns proofs into objects you can quantify over. Lambda calculi corresponding to ordinary intuitionistic FOL exist, but are not widely used enough to have a special name -- people tend to go straight to dependent types.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can also relate the syntactic form of a calculus to logical systems, as well.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Combinator calculi (eg, SKI combinators) -- Hilbert-style systems&lt;/li&gt;&#xA;&lt;li&gt;A-normal form -- sequent calculus &lt;/li&gt;&#xA;&lt;li&gt;Ordinary typed lambda calculus -- natural deduction&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="657" LastActivityDate="2011-04-03T12:23:22.390" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="5843" PostTypeId="2" ParentId="1410" CreationDate="2011-04-03T13:48:25.580" Score="6" Body="&lt;p&gt;I just realized one more thing, which hopefully deserves a separate answer. The presumption of the question is not entirely true. A binary decision diagram (BDD) could be seen as a compact/refined representation of DNF. There have been some SAT solvers using BDDs but I believe they no longer appear.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is a nice paper by &lt;a href=&quot;http://www.cs.cmu.edu/afs/cs/project/jair/pub/volume17/darwiche02a.pdf&quot;&gt;Darwiche and Marquis&lt;/a&gt; studying different properties of various representations of Boolean functions.&lt;/p&gt;&#xA;" OwnerUserId="4506" LastActivityDate="2011-04-03T13:48:25.580" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5844" PostTypeId="5" CreationDate="2011-04-03T14:41:47.333" Score="0" Body="&lt;p&gt;Counting complexity requires counting the number of distinct solutions.  These function problems are at least as difficult as deciding if the instance has a solution.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Counting complexity most commonly refers to &lt;a href=&quot;http://qwiki.stanford.edu/index.php/Complexity_Zoo%3aSymbols#sharpp&quot; rel=&quot;nofollow&quot;&gt;#P&lt;/a&gt; (number-P or sharp-P).  Each problem in #P requires computing the number of accepting paths of a nondeterministic Turing machine which runs in polynomial time.  #P-complete problems include #SAT and counting the number of solutions of many NP-complete decision problems.  However, counting the number of perfect matchings in a bipartite graph is also #P-complete: deciding whether a bipartite graph has a perfect matching can be established in polynomial time.  The same applies to #2-SAT: the decision version is in P.&lt;/p&gt;&#xA;" OwnerUserId="109" LastEditorUserId="109" LastEditDate="2011-04-03T14:42:39.343" LastActivityDate="2011-04-03T14:42:39.343" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5845" PostTypeId="4" CreationDate="2011-04-03T14:41:47.333" Score="0" Body="How hard is counting the number of solutions?" OwnerUserId="109" LastEditorUserId="109" LastEditDate="2011-04-03T14:42:43.227" LastActivityDate="2011-04-03T14:42:43.227" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5846" PostTypeId="2" ParentId="5810" CreationDate="2011-04-03T15:39:52.347" Score="4" Body="&lt;p&gt;I think you're using a confusing sign convention, but I'll stick with it.  It's pretty easy to see that for any connected graph you can have all weight flowing into a single vertex (unless I'm misunderstanding something), so the lower bound you'll get is $$\Delta_i\geq -\sum_{i\in V}w_i.$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Things won't really be better for bounding the square.  For example, if your graph is a star in which every leaf has $w_i=1$, then $$\sum_{i\in V}\Delta_i^2 = (|V|-1)+(|V|-1)^2.$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can't get a neighbourhood restriction, either, because you can take the example of a $k$-ary tree in which every leaf has weight 1 and all the weight goes to the root.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What you can get, however, is the possibly useful bound $$\sum_{i\in V}{|\Delta_i|} \leq 2\sum_{i\in V}w_i.$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To see this, just note that when charge leaves a vertex you'll count it twice.&lt;/p&gt;&#xA;" OwnerUserId="1929" LastActivityDate="2011-04-03T15:39:52.347" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="5847" PostTypeId="2" ParentId="5836" CreationDate="2011-04-03T15:49:59.140" Score="14" Body="&lt;p&gt;As for typed lambda calculus, intuitionistic logic, various proof systems and Curry-Howard isomorphism, which are all parts of Coq mathematical background, I strongly recommend &lt;a href=&quot;http://www.elsevier.com/wps/find/bookdescription.cws_home/706927/description#description&quot;&gt;&quot;Lectures on the Curry-Howard Isomorphism&quot;&lt;/a&gt;(by P. Urzyczyn and M. Sørensen).&lt;/p&gt;&#xA;" OwnerUserId="2083" LastActivityDate="2011-04-03T15:49:59.140" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="5848" PostTypeId="1" AcceptedAnswerId="5852" CreationDate="2011-04-03T16:01:52.947" Score="25" ViewCount="1271" Body="&lt;p&gt;I've been reading a lot on type systems and such and I understand roughly why they were introduced (in order to resolve Russel's paradox). I also understand roughly their practical relevance in programming languages and proof systems. However, I'm not entirely confident that my intuitive notion of what a type is, is correct.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is, is it valid to claim that types are propositions? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In other words the statement &quot;n is a natural number&quot; corresponds with the statement &quot;n has the type 'natural number'&quot; meaning that all the algebraic rules that involve natural numbers hold for n. (I.e. Said another way, algebraic rules are statements. Those statements that hold true for natural numbers also hold true for n.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then does this mean that a mathematical object can have more than one type?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Furthermore, I know that sets are not equivalent to types because you cannot have a set of all sets. Could I claim that if a &lt;em&gt;set&lt;/em&gt; is a mathematical object similar to a &lt;em&gt;number&lt;/em&gt; or a &lt;em&gt;function&lt;/em&gt;, a &lt;em&gt;type&lt;/em&gt; is a sort of meta-mathematical object and by the same logic a &lt;em&gt;kind&lt;/em&gt; is a meta-meta-mathematical object? (in the sense that every &quot;meta&quot; indicates a higher level of abstraction...)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does this have some kind of link to category theory?&lt;/p&gt;&#xA;" OwnerUserId="105" LastEditorUserId="186" LastEditDate="2011-04-05T21:51:24.173" LastActivityDate="2011-04-05T21:51:24.173" Title="Are types propositions? (What are types exactly?)" Tags="&lt;lo.logic&gt;&lt;type-theory&gt;&lt;proof-theory&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="8" ContentLicense="CC BY-SA 2.5" />
  <row Id="5849" PostTypeId="1" CreationDate="2011-04-03T16:26:59.247" Score="3" ViewCount="595" Body="&lt;p&gt;I had an idea for a way of representing DAGs, it's very easy to explain:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Each node in the DAG is given an array of n integers. If it is possible to traverse from A to B then each of B's integers must be greater than each of A's respective integers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example the graph:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;A o - &amp;gt; o C&#xA;    \&#xA;     -&amp;gt; &#xA;B o - &amp;gt; o D&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Could be represented by:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;A = [0,1]&#xA;B = [1,0]&#xA;C = [1,2]&#xA;D = [2,2]&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;I have a few questions:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Has such a representation been thought up before?&lt;/li&gt;&#xA;&lt;li&gt;If no, would you help me to design an algorithm that generates the arrays of integers given a DAG?&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="2750" LastEditorUserId="186" LastEditDate="2011-04-05T01:00:53.753" LastActivityDate="2011-04-05T01:00:53.753" Title="A possibly new representation of DAGs" Tags="&lt;ds.data-structures&gt;&lt;directed-acyclic-graph&gt;" AnswerCount="3" CommentCount="0" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="5850" PostTypeId="2" ParentId="5849" CreationDate="2011-04-03T16:47:47.683" Score="15" Body="&lt;p&gt;&lt;strong&gt;[Revised.]&lt;/strong&gt; I think that there has been a little confusion about what I was referring to in my original answer. I am revising it in order to better describe the result. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that your representation will only be capable of representing transitively-closed DAGs, &lt;em&gt;i.e.&lt;/em&gt;&amp;nbsp;partial orders; and this representation is a previously-studied one for partial orders. For instance, &lt;a href=&quot;http://epubs.siam.org/sima/resource/1/sjmael/v3/i3/p351_s1&quot; rel=&quot;nofollow noreferrer&quot;&gt;a paper by Mihalis Yannakakis&lt;/a&gt; shows that determining whether a partial order (equivalently, a transitively-closed digraph) has such a representation is &lt;strong&gt;NP&lt;/strong&gt;-complete for &lt;em&gt;n&lt;/em&gt;&amp;nbsp;&amp;ge;&amp;nbsp;3, but feasible if &lt;em&gt;n&lt;/em&gt;&amp;nbsp;&amp;le;&amp;nbsp;2.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Also, because the representation describes transitively closed DAGs, the body of research on the &lt;em&gt;Transitive Closure&lt;/em&gt; problem is a reasonable place to look for related representations. &lt;a href=&quot;https://cstheory.stackexchange.com/revisions/215e2e49-675d-4ddc-a836-bda57afd2031/view-source&quot;&gt;My original response&lt;/a&gt; described a representation which, as it turned out, was strictly less general than the representation in terms of vectors. However, your representation has some similarities to the &lt;strong&gt;tree-cover&lt;/strong&gt; representation of transitively closed DAGs (see &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=66950&quot; rel=&quot;nofollow noreferrer&quot;&gt;Efficient management of transitive relationships in large data and knowledge bases&lt;/a&gt;: also described briefly in &lt;a href=&quot;http://research.microsoft.com/pubs/144985/TODSFinal.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;this article&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Without loss of generality, if the DAG has more than one 'source' (vertex with in-degree 0), add a virtual 'root' which can reach all of the sources. The entire DAG then has a spanning tree.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;For each vertex, define an interval [&amp;nbsp;&lt;em&gt;a&lt;sub&gt;v&lt;/sub&gt;&lt;/em&gt;&amp;nbsp;,&amp;nbsp;&lt;em&gt;b&lt;sub&gt;v&lt;/sub&gt;&lt;/em&gt;&amp;nbsp;] to each vertex &lt;em&gt;v&lt;/em&gt;, in such a way that the interval at each node contains the intervals of all its descendants. (For instance, the upper bound &lt;em&gt;b&lt;sub&gt;v&lt;/sub&gt;&lt;/em&gt; for each &lt;em&gt;v&lt;/em&gt; can be taken to be the post-fix order of the vertex in the tree; the lower bound &lt;em&gt;a&lt;sub&gt;v&lt;/sub&gt;&lt;/em&gt; is the minimum of these post-fix values for the sub-tree.)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;To represent directed edges which are not in the tree, each node keeps a list of the intervals of the different nodes which are reachable from it. (For any given sub-tree which is reachable from a given node, it suffices to record the interval belonging to the root of that sub-tree.)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Thus, the in-bound edges of each vertex is represented by the single interval [&amp;nbsp;&lt;em&gt;a&lt;sub&gt;v&lt;/sub&gt;&lt;/em&gt;&amp;nbsp;,&amp;nbsp;&lt;em&gt;b&lt;sub&gt;v&lt;/sub&gt;&lt;/em&gt;&amp;nbsp;]&amp;nbsp;, and its outbound edges are represented by a union of disjoint intervals which strictly contain the intervals of vertices that it can reach.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some observations:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;The vector representation is related to the interval nesting condition by using higher dimensional &quot;intervals&quot;. Without loss of generality, the length &lt;em&gt;n&lt;/em&gt; of the array &lt;strong&gt;x&lt;/strong&gt;&lt;sup&gt;&lt;em&gt;v&lt;/em&gt;&lt;/sup&gt; at each vertex is even (by buffering with a final dummy co-ordinate if needed). Let &lt;em&gt;m&lt;/em&gt;&amp;nbsp;=&amp;nbsp;&lt;em&gt;n&lt;/em&gt;/2. Partition the coefficients as&#xA;$$ \mathbf x^v \;=\; [ \;a^v_1 \;,\; \ldots \;,\; a^v_m \;;\; c^v_1 \;,\; \ldots \;,\; c^v_m \;] $$&#xA;For each 1&amp;nbsp;&amp;le;&amp;nbsp;&lt;em&gt;j&lt;/em&gt;&amp;nbsp;&amp;le;&amp;nbsp;&lt;em&gt;m&lt;/em&gt;&amp;nbsp;, let $$ U_j = \left( \max_v \;\; a^v_j \right) + \left( \max_v \;\; c^v_j \right). $$ Then, we may define for each node an &lt;em&gt;m&lt;/em&gt;-fold cartesian product of intervals,&#xA;$$ I^v \;=\; [\;a^v_1\;,\; U_1-c^v_1 \;] \times \cdots \times [\;a^v_m\;,\; U_m-c^v_m \;]. $$&#xA;Two such &quot;$m$-dimensional intervals&quot; nest if and only if the corresponding vectors have the appropriate ordering relations. It is trivial to verify that the intervals nest only if the corresponding vectors are ordered; for the converse, we depend on none of the coefficients in the graph being larger than the corresponding bounds &lt;em&gt;U&lt;sub&gt;j&lt;/sub&gt;&lt;/em&gt;&amp;nbsp;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;It is not clear to me whether the representation by vectors and by tree-covers are efficiently interconvertible; however it is easy to show that the case &lt;em&gt;n&lt;/em&gt;&amp;nbsp;=&amp;nbsp;2 corresponds exactly to the representation of directed trees in terms of tree-covers (&lt;em&gt;i.e.&lt;/em&gt;&amp;nbsp;the two representations are efficiently and reversibly inter-convertible, essentially by the technique I described above). Thus, the dimension may in some sense correspond to how tree-like the digraph is.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="248" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.743" LastActivityDate="2011-04-04T16:14:43.980" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="5851" PostTypeId="2" ParentId="5834" CreationDate="2011-04-03T17:12:24.157" Score="7" Body="&lt;p&gt;A fairly comprehensive discussion of this stuff can be found in this book: &lt;a href=&quot;http://www.elsevier.com/wps/find/bookdescription.cws_home/706927/description#description&quot;&gt;Lectures on the Curry-Howard Isomorphism&lt;/a&gt;.  This is based on the freely available older version: &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.17.7385&quot;&gt;Lectures on the Curry-Howard Isomorphism&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="629" LastActivityDate="2011-04-03T17:12:24.157" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5852" PostTypeId="2" ParentId="5848" CreationDate="2011-04-03T18:27:25.690" Score="20" Body="&lt;p&gt;The key role of types is to partition the objects of interest into different universes, rather than considering everything existing in one universe. Originally, types were devised to avoid paradoxes, but as you know, they have many other applications. Types give a way of classifying or stratifying objects (see &lt;a href=&quot;http://scienceblogs.com/goodmath/2007/11/tiptoeing_into_type_theory.php&quot;&gt;blog entry&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some work with the slogan that &lt;em&gt;propositions are types&lt;/em&gt;, so your intuition certainly serves you well, though there is work such as &lt;a href=&quot;http://andrej.com/papers/brackets_a4.pdf&quot;&gt;Propositions as [Types]&lt;/a&gt; by Steve Awodey and Andrej Bauer that argues otherwise, namely that each type has an associated proposition. The distinction is made because types have computational content, whereas propositions don't. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;An object can have more than one type due to &lt;strong&gt;subtyping&lt;/strong&gt; and via &lt;strong&gt;type coercions&lt;/strong&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Types are generally organised in a hierarchy, where kinds play the role of the type of types, but I wouldn't go as far as saying that types are meta-mathematical. Everything is going on at the same level – this is especially the case when dealing with &lt;a href=&quot;http://en.wikipedia.org/wiki/Dependent_type&quot;&gt;dependent types&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is a very strong link between types and category theory. Indeed, Bob Harper (quoting Lambek) says that Logics, Languages (where types reside), and Categories form a &lt;a href=&quot;http://existentialtype.wordpress.com/2011/03/27/the-holy-trinity/&quot;&gt;holy trinity&lt;/a&gt;. Quoting:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;These three aspects give rise to three sects of worship: Logic, which gives primacy to proofs and propositions; Languages, which gives primacy to programs and types; Categories, which gives primacy to mappings and structures. &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;You should look at the &lt;a href=&quot;http://en.wikipedia.org/wiki/Curry%E2%80%93Howard_correspondence&quot;&gt;Curry-Howard Correspondence&lt;/a&gt; to see the link between Logic and Programming Languages (types are propositions), and &lt;a href=&quot;http://en.wikipedia.org/wiki/Cartesian_closed_category&quot;&gt;Cartesian Closed Categories&lt;/a&gt;, to see the between the relationship with Category Theory.&lt;/p&gt;&#xA;" OwnerUserId="77" LastEditorUserId="77" LastEditDate="2011-04-05T12:13:48.220" LastActivityDate="2011-04-05T12:13:48.220" CommentCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="5853" PostTypeId="2" ParentId="5849" CreationDate="2011-04-03T19:13:59.287" Score="8" Body="&lt;p&gt;As Niel noted, your representation is transitively closed. If we go from a digraph to its transitive closure (which is a partial order) then your representation is used to define the dimension of a partial order. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Specifically, the dimension of a partial order corresponds to the minimum number of &quot;coordinates&quot; you need in your representation to correctly capture the ordering relationship among elements. &lt;/p&gt;&#xA;" OwnerUserId="80" LastEditorUserId="80" LastEditDate="2011-04-04T15:26:41.643" LastActivityDate="2011-04-04T15:26:41.643" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5854" PostTypeId="2" ParentId="5840" CreationDate="2011-04-03T19:37:59.877" Score="16" Body="&lt;p&gt;This problem is studied in Algorithmic Information Theory. What you're defining is called Kolmogorov-Chaitin complexity.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Kolmogorov_complexity&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/Kolmogorov_complexity&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;And it seems that the notion of simplicity that you're requiring can be formalized via the notion of complexity measure, which is formalized by Blum's axioms.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Blum_axioms&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/Blum_axioms&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It seems also that it is possible to generalise Kolmogorov's complexity to take &#xA;other complexity measures into consideration. See reference below. (Wikipedia's article on Kolmogorov complexity addresses this issue.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Burgin1990- Generalized kolmogorov complexity and other dual complexity measures&#xA;Cybernetics and Systems Analysis Volume 26, Number 4, 481-490&lt;/p&gt;&#xA;" OwnerUserId="4237" LastEditorUserId="4237" LastEditDate="2011-04-03T19:59:18.850" LastActivityDate="2011-04-03T19:59:18.850" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="5855" PostTypeId="1" AcceptedAnswerId="5857" CreationDate="2011-04-03T19:43:47.670" Score="5" ViewCount="809" Body="&lt;p&gt;Is there some book or other reference that I can cite as a catalog of NP-complete problems, more up-to-date than the appendix of Garey&amp;amp;Johnson's book? I don't want to cite web sites, even though I know there are some excellent compendiums om the web.&lt;/p&gt;&#xA;" OwnerUserId="1700" LastEditorUserId="186" LastEditDate="2011-04-05T00:35:52.320" LastActivityDate="2011-04-07T06:46:51.267" Title="Catalog of NP-complete problems, more up-to-date than Garey&amp;Johnson?" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;np-hardness&gt;" AnswerCount="3" CommentCount="3" FavoriteCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="5857" PostTypeId="2" ParentId="5855" CreationDate="2011-04-03T20:15:14.260" Score="7" Body="&lt;p&gt;The book &lt;a href=&quot;http://www.csc.kth.se/~viggo/approxbook/&quot;&gt;http://www.csc.kth.se/~viggo/approxbook/&lt;/a&gt; on which the site &lt;a href=&quot;http://www.csc.kth.se/~viggo/wwwcompendium/&quot;&gt;http://www.csc.kth.se/~viggo/wwwcompendium/&lt;/a&gt; is based. &lt;/p&gt;&#xA;" OwnerUserId="4237" LastActivityDate="2011-04-03T20:15:14.260" CommentCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="5860" PostTypeId="2" ParentId="5849" CreationDate="2011-04-03T23:37:10.917" Score="6" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;Has such a representation been thought up before?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;For partial orders, yes. A lot of tableaux/sequent calculi for modal logics have used lists of integers to represent &quot;possible worlds&quot; and incorporate the relationships between worlds. It's an old technique (I think first going back to Fitting's work, I think in &lt;a href=&quot;http://openlibrary.org/books/OL4441316M/Intuitionistic_logic_model_theory_and_forcing&quot;&gt;&quot;Intuitionistic logic, model theory and forcing&quot;&lt;/a&gt; or &lt;a href=&quot;http://openlibrary.org/books/OL22333319M/Proof_methods_for_modal_and_intuitionistic_logics&quot;&gt;Proof methods for modal and intuitionistic logics&lt;/a&gt;). &lt;/p&gt;&#xA;" OwnerUserId="4494" LastActivityDate="2011-04-03T23:37:10.917" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5861" PostTypeId="1" CreationDate="2011-04-04T03:32:17.447" Score="13" ViewCount="400" Body="&lt;p&gt;Given $n$ coin denominations, with $c_1=1$ and $c_2&amp;lt;c_3&amp;lt;..&amp;lt;c_{n}$ being random numbers uniformly distributed in the range $[2,N]$. Asymptotically, for what fraction of coins does the greedy algorithm generate optimal change using this set of denominations?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The answer is known for &lt;a href=&quot;http://www.plambeck.org/oldhtml/mathematics/coinchanging/index.htm&quot; rel=&quot;nofollow&quot;&gt; 3 denominations &lt;/a&gt;; but what about the general case?&lt;/p&gt;&#xA;" OwnerUserId="2801" LastActivityDate="2012-04-29T05:23:34.490" Title="Asymptotics for Coin changing" Tags="&lt;ds.algorithms&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="5863" PostTypeId="2" ParentId="5855" CreationDate="2011-04-04T06:32:43.343" Score="1" Body="&lt;p&gt;I know you want book, but I think in this case &lt;a href=&quot;http://en.wikipedia.org/wiki/List_of_NP-complete_problems#Mathematical_programming&quot; rel=&quot;nofollow&quot;&gt;Wiki&lt;/a&gt; is good, You can download it with depth 2 to have list of problems and their definition, Also I think Gary and Johnson book is good enough to be familiar with problems, after that you just should find your interest and work on it, there is no need to know all problems and their solution. Also reading first papers of your interest problem is good, you can find what was the first idea, after that may be solutions become better, and in books you will find best solution not philosophy of solution. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also there are some new problems like matroid secretary See &lt;a href=&quot;http://www.cs.cornell.edu/~rdk/papers/matsec.pdf&quot; rel=&quot;nofollow&quot;&gt;this&lt;/a&gt;, and I think this new problems (and newer) just available on web and papers not books.&lt;/p&gt;&#xA;" OwnerUserId="1846" LastActivityDate="2011-04-04T06:32:43.343" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="5867" PostTypeId="1" CreationDate="2011-04-04T10:34:35.633" Score="9" ViewCount="303" Body="&lt;p&gt;I have a graph $G$ which consists only of star graphs. A star graph consists of one central node having edges to every other node in it. Let $H_1, H_2, \ldots, H_n$ be different star graphs of different sizes which are present in $G$. We call the set of all nodes which are centres in any star graph $R$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now suppose these star graphs are building edges to other star graphs such that no edge is incident between any nodes in $R$. Then, how many edges exist at maximum between the nodes in $R$ and the nodes which are not in $R$, if the graph should remain planar?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I want the upper bound on the number of such edges. One upper bound that I have in mind is: consider them as bipartite planar graph where $R$ is one set of vertices and rest of the vertices form another set $A$. We are interested in edges between these sets ($R$ and $A$). Since it is planar bipartite, the number of such edges is bounded by twice the number of nodes in $G$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What I feel is that is there a better bound, maybe twice the nodes in $A$ plus the number of nodes in $R$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In case you can disprove my intuition, then that would also be good. Hopefully some of you can come up with a good bound along with some relevant arguments.&lt;/p&gt;&#xA;" OwnerUserId="4529" LastEditorUserId="3964" LastEditDate="2011-09-11T16:00:52.600" LastActivityDate="2011-09-11T23:31:01.833" Title="Bounding the number of edges between star graphs such that graph is planar" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;puzzles&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="5869" PostTypeId="2" ParentId="5659" CreationDate="2011-04-04T13:40:28.497" Score="3" Body="&lt;p&gt;&quot;The Face Labeling Of Maximal Planar Graphs&quot; is the title of my old paper which has been published recently in which I have transformed 4 coloring of maximal planar graphs into consistency of face labeling. Link to the paper is &lt;a href=&quot;http://www.math.nsysu.edu.tw/~amen/2011/091021-3.pdf&quot; rel=&quot;nofollow&quot;&gt;http://www.math.nsysu.edu.tw/~amen/2011/091021-3.pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="4531" LastActivityDate="2011-04-04T13:40:28.497" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5870" PostTypeId="1" CreationDate="2011-04-04T15:53:42.743" Score="4" ViewCount="128" Body="&lt;p&gt;Does any one knows if there is a non-quantum proof of the fact that non-linear 2-query LDC must have exponential size?&lt;/p&gt;&#xA;" OwnerDisplayName="user4532" LastEditorUserId="186" LastEditDate="2011-04-05T01:17:58.180" LastActivityDate="2011-04-05T01:17:58.180" Title="Lower bounds on 2-query locally decodable codes" Tags="&lt;reference-request&gt;&lt;coding-theory&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5874" PostTypeId="2" ParentId="1064" CreationDate="2011-04-04T17:35:11.740" Score="23" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;I wanted to know whether the community is aware of Troﬁmov's results, and whether it's been proved, refuted, or unresolved?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I tested it (&lt;strong&gt;MT2GI-1.4.2&lt;/strong&gt;), just now.&lt;br&gt;&#xA;It proved to be a soap bubble: it happily &lt;strong&gt;failed&lt;/strong&gt; to detect GI for this pair of &lt;strong&gt;isomorphic&lt;/strong&gt;&lt;br&gt;&#xA;Ramsey graphs:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1-2,1-3,1-5,1-9,1-10,1-14,1-16,1-17,2-3,2-4,2-6,2-10,2-11,2-15,2-17,3-4,3-5,3-7,3-11,3-12,3-16,4-5,4-6,4-8,4-12,4-13,4-17,5-6,5-7,5-9,5-13,5-14,6-7,6-8,6-10,6-14,6-15,7-8,7-9,7-11,7-15,7-16,8-9,8-10,8-12,8-16,8-17,9-10,9-11,9-13,9-17,10-11,10-12,10-14,11-12,11-13,11-15,12-13,12-14,12-16,13-14,13-15,13-17,14-15,14-16,15-16,15-17,16-17&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;and&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1-6,1-8,1-9,1-11,1-13,1-14,1-15,1-16,2-3,2-4,2-5,2-8,2-12,2-13,2-15,2-16,3-5,3-6,3-7,3-11,3-12,3-14,3-15,4-5,4-6,4-8,4-9,4-10,4-15,4-17,5-9,5-10,5-11,5-14,5-16,6-7,6-8,6-10,6-14,6-15,7-8,7-10,7-11,7-12,7-16,7-17,8-9,8-12,8-16,9-11,9-12,9-14,9-17,10-13,10-14,10-16,10-17,11-15,11-16,11-17,12-13,12-14,12-17,13-14,13-15,13-16,13-17,15-17&lt;/p&gt;&#xA;&#xA;&lt;p&gt;PS&lt;br&gt;&#xA;&lt;strong&gt;Their adjacency matrices are:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;17&lt;br&gt;&#xA;0 1 1 0 1 0 0 0 1 1 0 0 0 1 0 1 1&lt;br&gt;&#xA;1 0 1 1 0 1 0 0 0 1 1 0 0 0 1 0 1&lt;br&gt;&#xA;1 1 0 1 1 0 1 0 0 0 1 1 0 0 0 1 0&lt;br&gt;&#xA;0 1 1 0 1 1 0 1 0 0 0 1 1 0 0 0 1&lt;br&gt;&#xA;1 0 1 1 0 1 1 0 1 0 0 0 1 1 0 0 0&lt;br&gt;&#xA;0 1 0 1 1 0 1 1 0 1 0 0 0 1 1 0 0&lt;br&gt;&#xA;0 0 1 0 1 1 0 1 1 0 1 0 0 0 1 1 0&lt;br&gt;&#xA;0 0 0 1 0 1 1 0 1 1 0 1 0 0 0 1 1&lt;br&gt;&#xA;1 0 0 0 1 0 1 1 0 1 1 0 1 0 0 0 1&lt;br&gt;&#xA;1 1 0 0 0 1 0 1 1 0 1 1 0 1 0 0 0&lt;br&gt;&#xA;0 1 1 0 0 0 1 0 1 1 0 1 1 0 1 0 0&lt;br&gt;&#xA;0 0 1 1 0 0 0 1 0 1 1 0 1 1 0 1 0&lt;br&gt;&#xA;0 0 0 1 1 0 0 0 1 0 1 1 0 1 1 0 1&lt;br&gt;&#xA;1 0 0 0 1 1 0 0 0 1 0 1 1 0 1 1 0&lt;br&gt;&#xA;0 1 0 0 0 1 1 0 0 0 1 0 1 1 0 1 1&lt;br&gt;&#xA;1 0 1 0 0 0 1 1 0 0 0 1 0 1 1 0 1&lt;br&gt;&#xA;1 1 0 1 0 0 0 1 1 0 0 0 1 0 1 1 0  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;and&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;17&lt;br&gt;&#xA;0 0 0 0 0 1 0 1 1 0 1 0 1 1 1 1 0&lt;br&gt;&#xA;0 0 1 1 1 0 0 1 0 0 0 1 1 0 1 1 0&lt;br&gt;&#xA;0 1 0 0 1 1 1 0 0 0 1 1 0 1 1 0 0&lt;br&gt;&#xA;0 1 0 0 1 1 0 1 1 1 0 0 0 0 1 0 1&lt;br&gt;&#xA;0 1 1 1 0 0 0 0 1 1 1 0 0 1 0 1 0&lt;br&gt;&#xA;1 0 1 1 0 0 1 1 0 1 0 0 0 1 1 0 0&lt;br&gt;&#xA;0 0 1 0 0 1 0 1 0 1 1 1 0 0 0 1 1&lt;br&gt;&#xA;1 1 0 1 0 1 1 0 1 0 0 1 0 0 0 1 0&lt;br&gt;&#xA;1 0 0 1 1 0 0 1 0 0 1 1 0 1 0 0 1&lt;br&gt;&#xA;0 0 0 1 1 1 1 0 0 0 0 0 1 1 0 1 1&lt;br&gt;&#xA;1 0 1 0 1 0 1 0 1 0 0 0 0 0 1 1 1&lt;br&gt;&#xA;0 1 1 0 0 0 1 1 1 0 0 0 1 1 0 0 1&lt;br&gt;&#xA;1 1 0 0 0 0 0 0 0 1 0 1 0 1 1 1 1&lt;br&gt;&#xA;1 0 1 0 1 1 0 0 1 1 0 1 1 0 0 0 0&lt;br&gt;&#xA;1 1 1 1 0 1 0 0 0 0 1 0 1 0 0 0 1&lt;br&gt;&#xA;1 1 0 0 1 0 1 1 0 1 1 0 1 0 0 0 0&lt;br&gt;&#xA;0 0 0 1 0 0 1 0 1 1 1 1 1 0 1 0 0  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;PPS&lt;br&gt;&#xA;&lt;strong&gt;For the sake of completeness,&lt;br&gt;&#xA;this is yesterday's screenshot of failed MT2GI-1.4.2:&lt;/strong&gt;&lt;br&gt;&#xA;&lt;a href=&quot;http://savepic.net/952853.jpg&quot;&gt;http://savepic.net/952853.jpg&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;PPPS&lt;/strong&gt;&lt;br&gt;&#xA;It is left to refute my own algorithm.&lt;br&gt;&#xA;I wrote very short but very clear and understandable&lt;br&gt;&#xA;description of it: &lt;a href=&quot;http://funkybee.narod.ru/griso.htm&quot;&gt;http://funkybee.narod.ru/griso.htm&lt;/a&gt;&lt;br&gt;&#xA;C++ code for the algo and sample graphs included.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;PS#4&lt;/strong&gt;&lt;br&gt;&#xA;Very interesting to see what does my function foo() return for these two&lt;br&gt;&#xA;&lt;strong&gt;NON&lt;/strong&gt; isomorphic Praust graphs: &lt;a href=&quot;http://funkybee.narod.ru/griso_praust.htm&quot;&gt;http://funkybee.narod.ru/griso_praust.htm&lt;/a&gt;&lt;br&gt;&#xA;20 rows in red are &lt;strong&gt;not&lt;/strong&gt; equal. Accidentally ( &lt;strong&gt;???&lt;/strong&gt; ) it's &lt;strong&gt;the first&lt;/strong&gt; rows of the 2D vectors.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;PS#5&lt;/strong&gt;&lt;br&gt;&#xA;... and 2 &lt;strong&gt;NON&lt;/strong&gt; isomorphic Siberian graphs: &lt;a href=&quot;http://funkybee.narod.ru/griso_siberian.htm&quot;&gt;http://funkybee.narod.ru/griso_siberian.htm&lt;/a&gt;&lt;br&gt;&#xA;This time the rows-in-red are from row #241 to the end (row #780). Also note that each 2&lt;br&gt;&#xA;not equal rows (the left and the right) differentiate only at their very ends - when&lt;br&gt;&#xA;two &lt;strong&gt;bfs waves&lt;/strong&gt; meet each other.&lt;/p&gt;&#xA;" OwnerUserId="4527" LastEditorUserId="4527" LastEditDate="2011-04-07T07:13:17.890" LastActivityDate="2011-04-07T07:13:17.890" CommentCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="5876" PostTypeId="2" ParentId="4756" CreationDate="2011-04-04T19:59:03.927" Score="6" Body="&lt;p&gt;This is a good question. I guess you are looking for a different separation technique rather than just a different class of functions (since it is easy to give natural and artificial examples of concept classes that still rely on BKW result for the separation). I'd go further and say that even the parities example is not a decisive separation since SQ model gives learning with noise rate inverse polynomially close to 1/2 whereas BKW does not allow noise of the rate $1/2-n^{-\epsilon}$. I think it would be interesting to find a &quot;pure&quot; separation. It seems that this would also require a new technique, answering your original question.&lt;/p&gt;&#xA;" OwnerUserId="968" LastActivityDate="2011-04-04T19:59:03.927" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="5877" PostTypeId="2" ParentId="5870" CreationDate="2011-04-04T21:12:18.563" Score="4" Body="&lt;p&gt;Yes, there is.  Ben-Aroya, Regev and de Wolf in &lt;a href=&quot;http://homepages.cwi.nl/~rdewolf/publ/qc/dewolf-Hypercontractive.pdf&quot; rel=&quot;nofollow&quot;&gt;&quot;A Hypercontractive Inequality for Matrix-Valued Functions with Applications to Quantum Computing and LDCs&quot;&lt;/a&gt; (FOCS '08) provide a non-quantum proof of the exponential lower bound for 2-query LDC's, although there are similarities between the quantum and non-quantum proof techniques. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here's a rough sketch of their proof.  Let $C: \{\pm 1\}^m \to \{\pm 1\}^n$ be a $2$-query LDC.  Then, for a given $x \in \{0,1\}^m$, set $M(x)$ to be the rank-1 matrix whose $(i,j)$'th entry is $C(x)_i C(x)_j$. $M$ is a matrix-valued function, and we can look at its matrix-valued Fourier coefficients: $\widehat{M}(\alpha) = \sum_{x} M(x) \prod_{i \in \alpha} x_i$.  But now, observe that $\widehat{M}(\{i\})$ computes the matrix whose $(j,k)$'th entry is the expected correlation of $x_i$ with $C(x)_j C(x)_k$.  Thus, if $C$ is a $2$-query LDC, we know that for every $i \in [m]$, many entries in $\widehat{M}(\{i\})$ are larger than some $\epsilon$.  This allows you to lowerbound the &lt;a href=&quot;http://en.wikipedia.org/wiki/Schatten_norm&quot; rel=&quot;nofollow&quot;&gt;$p$-norm&lt;/a&gt; of $\widehat{M}(\{i\})$.  Finally, you can then apply their matrix-valued hypercontractive inequality, which is the main theorem of the paper, to get a lowerbound on $n$.&lt;/p&gt;&#xA;" OwnerUserId="15" LastEditorUserId="15" LastEditDate="2011-04-04T21:21:51.023" LastActivityDate="2011-04-04T21:21:51.023" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5878" PostTypeId="5" CreationDate="2011-04-04T22:47:15.680" Score="0" Body="&lt;p&gt;This tag should be used for &lt;em&gt;theoretical&lt;/em&gt; questions related to Machine Learning (roughly falling under &lt;a href=&quot;http://arxiv.org/archive/cs&quot; rel=&quot;nofollow&quot;&gt;arXiv&lt;/a&gt;'s &lt;a href=&quot;http://arxiv.org/list/cs.LG/recent&quot; rel=&quot;nofollow&quot;&gt;cs.LG - Learning&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The question &lt;em&gt;must&lt;/em&gt; satisfy the usual scope requirements for cstheory as explained in the &lt;a href=&quot;http://cstheory.stackexchange.com/faq&quot;&gt;FAQ&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You may also want to check AI Q&amp;amp;A site &lt;a href=&quot;http://metaoptimize.com/qa/&quot; rel=&quot;nofollow&quot;&gt;Meta Optimize&lt;/a&gt; which has a more general AI scope.&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2011-08-18T04:52:29.400" LastActivityDate="2011-08-18T04:52:29.400" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="5879" PostTypeId="4" CreationDate="2011-04-04T22:47:15.680" Score="0" Body="Theoretical questions about Machine learning, especially Computational Learning Theory, including Algorithmic Learning Theory, PAC learning, and Bayesian Inference" OwnerUserId="2406" LastEditorUserId="186" LastEditDate="2011-08-18T04:29:56.363" LastActivityDate="2011-08-18T04:29:56.363" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="5880" PostTypeId="5" CreationDate="2011-04-05T00:55:52.840" Score="0" Body="&lt;p&gt;Use for theoretical computer science questions related to &lt;a href=&quot;http://en.wikipedia.org/wiki/Bioinformatics&quot; rel=&quot;nofollow&quot;&gt;bioinformatics&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2011-04-05T00:55:52.840" LastActivityDate="2011-04-05T00:55:52.840" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5881" PostTypeId="4" CreationDate="2011-04-05T00:55:52.840" Score="0" Body="Algorithms, data-structures, and other theoretical questions arising from arising from bioinformatics" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2011-04-05T00:55:52.840" LastActivityDate="2011-04-05T00:55:52.840" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5882" PostTypeId="2" ParentId="5801" CreationDate="2011-04-05T01:05:16.163" Score="4" Body="&lt;p&gt;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0201558025&quot; rel=&quot;nofollow&quot;&gt;Concrete Mathematics&lt;/a&gt; by Knuth et al.  Much of probability is figuring out the size of your universe, and from there figuring out which fraction of your universe you are interested in.&lt;/p&gt;&#xA;" OwnerUserId="2021" LastActivityDate="2011-04-05T01:05:16.163" CommentCount="0" CommunityOwnedDate="2011-04-13T12:06:14.607" ContentLicense="CC BY-SA 2.5" />
  <row Id="5885" PostTypeId="1" CreationDate="2011-04-05T03:40:56.763" Score="14" ViewCount="519" Body="&lt;p&gt;Recently while working on a problem, I had to go through some of the literature on nested dissection. I happen to have one (maybe two?) questions related to the same. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;First, I will define a few relevant terms. These terms come up when we study the process of Gaussian elimination graph theoretically. Say, we have got a matrix $M$. With this matrix, we associate a &lt;strong&gt;directed graph&lt;/strong&gt; $G_M = (V,E)$ where we have $V = \{v_1, v_2, \ldots, v_n\}$ where $v_i$ corresponds to &lt;em&gt;row i&lt;/em&gt; and &lt;em&gt;variable i&lt;/em&gt; and $(v_i,v_j) \in E$ &lt;em&gt;iff&lt;/em&gt; $M_{ij} \neq 0$ and $i \neq j$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The elimination process may create some new &lt;em&gt;non-zero elements&lt;/em&gt;  in locations in $M$ which contained &lt;em&gt;zeroes&lt;/em&gt; to begin with; the edges corresponding to these elements are called &lt;strong&gt;fill-in&lt;/strong&gt;. In graph-theoretic terms, removing a vertex $v$ calls for addition of the following set $S_v$ of edges. $S_v = \{(u,w) | (u,v) \in E, (v,w) \in E, (u,w) \not\in E\}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In order to make the elimination process efficient, we can target minimizing fill-in. By a &lt;a href=&quot;http://www.math.ucla.edu/~jhellrun/course_files/Winter%202007/Math%20270C%20-%20Computational%20Linear%20Algebra/Computing%20the%20Minimum%20Fill-In%20is%20NP-Complete.pdf&quot;&gt;result of Yannakakis&lt;/a&gt;, we know that fill-in minimization is a NP-Complete problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is easy to see that the value of fill-in depends on the ordering of vertices which leads to definition of a related parameter. An &lt;strong&gt;&lt;em&gt;elimination ordering&lt;/em&gt;&lt;/strong&gt; is a bijection $\mathbf{\alpha \colon \{1,2,\ldots, n\} \to V}$ and $\mathbf{G_{\alpha} = (V,E, \alpha)}$ is an ordered graph. Basically, this represents the order in which the vertices will be picked for deletion in the corresponding directed graph representation. Corresponding to different orderings, we get different values of fill-ins. The ordering which minimizes the fill-in size is called the &lt;em&gt;minimum elimination ordering&lt;/em&gt;. And again we (of course) have that computing the minimum elimination ordering is NP-Complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;ol&gt;&#xA;  &lt;li&gt;What is the best known approximation algorithm for minimizing fill-in? &lt;/li&gt;&#xA;  &lt;/ol&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Also, I would like to know what is the best known &quot;approximation algorithm to minimize elimination ordering&quot;. By approximating the minimum elimination ordering, I mean a poly-time algorithm that outputs an elimination ordering which best approximates the minimum fill-in value.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks for your time&lt;br&gt;&#xA;Best Regards&lt;br&gt;&#xA;-Akash&lt;/p&gt;&#xA;" OwnerUserId="55" LastEditorUserId="186" LastEditDate="2011-04-08T08:59:09.890" LastActivityDate="2011-04-08T08:59:09.890" Title="Approximation algorithm for Minimum Fill-In and/or minimum elimination ordering (for directed graphs)" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;approximation-algorithms&gt;&lt;linear-algebra&gt;" AnswerCount="0" CommentCount="5" FavoriteCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="5886" PostTypeId="1" CreationDate="2011-04-05T04:59:58.217" Score="3" ViewCount="812" Body="&lt;p&gt;In &quot;&lt;a href=&quot;http://ecommons.cornell.edu/handle/1813/6273&quot; rel=&quot;nofollow noreferrer&quot;&gt;Real Time Queue Operations in Pure LISP&lt;/a&gt;&quot; (&lt;a href=&quot;https://web.archive.org/web/20100626050951/http://www.eecs.usma.edu/webs/people/okasaki/jfp95/queue.hm.sml&quot; rel=&quot;nofollow noreferrer&quot;&gt;ML implementation&lt;/a&gt;), Hood and Melville show an $O(1)$ worst-case simulation of a queue using 6 stacks and global rebuilding. Can a real-time queue be simulated with fewer stacks?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In &quot;&lt;a href=&quot;https://web.archive.org/web/20120207055242/http://www.eecs.usma.edu/webs/people/okasaki/jfp95/index.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;Simple and Efficient Purely Functional Queues and Deques&lt;/a&gt;&quot;, Okasaki shows an implementation using one stack and two lazy stacks.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Both Okasaki's and Hood &amp;amp; Melville's queues require purely functional stacks as building blocks, and both produce purely functional queues. If &lt;code&gt;push&lt;/code&gt; and &lt;code&gt;pop&lt;/code&gt; are destructive, can global rebuilding be used to simulate an ephemeral queue with 6 ephemeral stacks? Fewer?&lt;/p&gt;&#xA;" OwnerUserId="43" LastEditorUserId="10095" LastEditDate="2017-07-21T03:09:58.423" LastActivityDate="2017-07-21T03:09:58.423" Title="How many ephemeral stacks are required to simulate a queue in worst-case $O(1)$ time?" Tags="&lt;ds.data-structures&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="5888" PostTypeId="5" CreationDate="2011-04-05T08:20:26.400" Score="0" Body="" OwnerUserId="-1" LastEditorUserId="-1" LastEditDate="2011-04-05T08:20:26.400" LastActivityDate="2011-04-05T08:20:26.400" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5889" PostTypeId="4" CreationDate="2011-04-05T08:20:26.400" Score="0" Body="Type structure is a syntactic discipline for enforcing levels of abstraction. " OwnerUserId="657" LastEditorUserId="657" LastEditDate="2011-04-05T08:20:40.427" LastActivityDate="2011-04-05T08:20:40.427" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5890" PostTypeId="2" ParentId="5886" CreationDate="2011-04-05T08:43:42.847" Score="3" Body="&lt;p&gt;Not sure I fully understand your question, but it seems related to &lt;a href=&quot;http://books.google.com/books?id=idUdqdDXqnAC&amp;amp;lpg=PP1&amp;amp;dq=%22Algorithms%22%20Robert%20Sedgewick%20and%20Kevin%20Wayne&amp;amp;pg=PA171#v=onepage&amp;amp;q=1.3.49&amp;amp;f=false&quot; rel=&quot;nofollow&quot;&gt;Problem 1.3.49&lt;/a&gt; from Sedgewicks Algorithm book.&lt;/p&gt;&#xA;" OwnerUserId="4483" LastActivityDate="2011-04-05T08:43:42.847" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="5891" PostTypeId="1" AcceptedAnswerId="5894" CreationDate="2011-04-05T09:03:42.890" Score="5" ViewCount="723" Body="&lt;p&gt;Let $G( n, m )$ be the set of all possible &lt;b&gt;connected&lt;/b&gt; graphs of $n$ nodes and $m$ edges such that, for each $g_1 \in G( n, m )$, $g_2 \in G( n, m )$, if $g_1 \neq g_2$ then $g_1$ and $g_2$ are &lt;b&gt;non-isomorphic&lt;/b&gt;.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Question&lt;/strong&gt;  &lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;How large can $|G( n, m )|$ be? Is it polynomial in both $n$ and $m$? Or is it superpolynomial in either $n$ or $m$?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="947" LastEditorUserId="186" LastEditDate="2011-04-05T21:50:46.657" LastActivityDate="2011-04-05T21:50:46.657" Title="Number of non-isomorphic connected graphs of $n$ nodes and $m$ edges" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;graph-isomorphism&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="5892" PostTypeId="5" CreationDate="2011-04-05T09:18:06.453" Score="0" Body="&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Linear_logic&quot; rel=&quot;nofollow&quot;&gt;Linear logic&lt;/a&gt; limits some of the deduction rules that hold in classical logic.  Both &lt;a href=&quot;http://en.wikipedia.org/wiki/Idempotency_of_entailment&quot; rel=&quot;nofollow&quot;&gt;contraction&lt;/a&gt; and &lt;a href=&quot;http://en.wikipedia.org/wiki/Monotonicity_of_entailment&quot; rel=&quot;nofollow&quot;&gt;weakening&lt;/a&gt; rules are replaced by less powerful versions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Linear logic has applications in programming language semantics.  For LTL in verification and modal logic, use &lt;a href=&quot;/questions/tagged/linear-temporal-logic&quot; class=&quot;post-tag&quot; title=&quot;show questions tagged 'linear-temporal-logic'&quot; rel=&quot;tag&quot;&gt;linear-temporal-logic&lt;/a&gt; instead.&lt;/p&gt;&#xA;" OwnerUserId="109" LastEditorUserId="109" LastEditDate="2011-04-05T11:08:04.297" LastActivityDate="2011-04-05T11:08:04.297" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5893" PostTypeId="4" CreationDate="2011-04-05T09:18:06.453" Score="0" Body="Logic with limited contraction and weakening." OwnerUserId="109" LastEditorUserId="109" LastEditDate="2011-04-05T11:08:09.667" LastActivityDate="2011-04-05T11:08:09.667" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5894" PostTypeId="2" ParentId="5891" CreationDate="2011-04-05T09:50:28.763" Score="8" Body="&lt;p&gt;According to Bollobas (Random Graphs), if you make &quot;natural assumptions&quot; on $n$ and $m$ there are $n!$ times more labelled graphs on $n$ vertices and $m$ edges than random unlabelled graphs on $n$ vertices and $m$ edges, so roughly $\frac{1}{n!}{{n \choose 2} \choose m}$ unlabelled graphs on $n$ vertices and $m$ edges. If you pick something like $m = \frac{1}{2}{n \choose 2}$, all those graphs should be connected with high probability, so I'd say --&gt; massively superpolynomial ! &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course, you can break those &quot;natural assumptions&quot; by setting $m = 0$, or $m&amp;lt;n-1$ in your case...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Nathann&lt;/p&gt;&#xA;" OwnerUserId="1209" LastEditorUserId="947" LastEditDate="2011-04-05T11:58:07.993" LastActivityDate="2011-04-05T11:58:07.993" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5895" PostTypeId="2" ParentId="5891" CreationDate="2011-04-05T09:51:30.780" Score="5" Body="&lt;p&gt;See &lt;a href=&quot;http://oeis.org/A054924&quot; rel=&quot;nofollow&quot;&gt;OEIS sequence A054924&lt;/a&gt; for discussion and references.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As far as I know this grows faster than any polynomial.  In particular, see the &lt;a href=&quot;http://oeis.org/A001437&quot; rel=&quot;nofollow&quot;&gt;sequence of the largest value of |G(n,m)|&lt;/a&gt; for each $n$.&lt;/p&gt;&#xA;" OwnerUserId="109" LastActivityDate="2011-04-05T09:51:30.780" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5896" PostTypeId="5" CreationDate="2011-04-05T11:18:08.337" Score="0" Body="" OwnerUserId="77" LastEditorUserId="77" LastEditDate="2011-04-05T11:18:08.337" LastActivityDate="2011-04-05T11:18:08.337" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5897" PostTypeId="4" CreationDate="2011-04-05T11:18:08.337" Score="0" Body="Programming languages, in particular, focussing on their semantics." OwnerUserId="77" LastEditorUserId="77" LastEditDate="2011-04-05T11:18:08.337" LastActivityDate="2011-04-05T11:18:08.337" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5898" PostTypeId="1" CreationDate="2011-04-05T11:31:02.163" Score="2" ViewCount="326" Body="&lt;p&gt;Given a graph in which each vertex $A_i$ has float value $B(i)$ between 0 and 1 inclusive. &#xA;How can we find a cycle (if such exists) with vertices $[C_1, C_2, ..., C_k]$ which violates following condition: $\sum(B(C_i)]) \le k/2$ (integer division)?&#xA;Thank you.&lt;/p&gt;&#xA;" OwnerDisplayName="user4543" LastEditorUserId="186" LastEditDate="2011-04-05T21:52:43.613" LastActivityDate="2011-04-07T18:34:44.543" Title="Finding cycle with constraints" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;" AnswerCount="1" CommentCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="5899" PostTypeId="2" ParentId="5785" CreationDate="2011-04-05T11:48:28.653" Score="4" Body="&lt;p&gt;This is an &quot;Orienteering problem&quot; and is NP-hard [1]. If the starting vertex is given the problem is &lt;em&gt;rooted&lt;/em&gt;; your variant is &lt;em&gt;unrooted&lt;/em&gt;. Some authors call it the &quot;selective travelling salesman&quot; [2].&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] B. L. Golden, L. Levy, and R. Vohra. &quot;The orienteering problem&quot;. In: Naval Research Logistics 34.3 (1987), pp. 307-­318.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] M. Gendreau, G. Laporte, and F. Semet. &quot;A tabu search heuristic for the undirected selective travelling salesman problem&quot;. In: European Journal of Operational Research (1998), pp. 539­-545.&lt;/p&gt;&#xA;" OwnerUserId="2150" LastActivityDate="2011-04-05T11:48:28.653" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5900" PostTypeId="1" AcceptedAnswerId="6194" CreationDate="2011-04-05T13:46:55.867" Score="13" ViewCount="379" Body="&lt;p&gt;I am starting to investigate the possibility of relying on a SAT solver to tackle an optimisation problem I'm interested in, and am currently looking for a survey that would feature examples of &quot;clever&quot; transformations to variants of SAT (i.e., transformations that result in a problem of reasonable size, since I'm not interested in proving hardness results but in actually solving the problem), approximately in the spirit of what can be found in &lt;a href=&quot;http://dx.doi.org/10.1145/234782.234783&quot;&gt;the survey on cubic graphs by Greenlaw and Petreschi&lt;/a&gt;, if any comparison can be made between the two.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Has such a survey eluded me because it does not exist, or because I just missed it?&lt;/p&gt;&#xA;" OwnerUserId="775" LastEditorUserId="80" LastEditDate="2011-04-05T17:34:14.250" LastActivityDate="2011-04-21T12:58:21.867" Title="Survey of transformations related to the use of SAT solvers" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;sat&gt;&lt;optimization&gt;" AnswerCount="2" CommentCount="6" FavoriteCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="5901" PostTypeId="2" ParentId="5797" CreationDate="2011-04-05T13:56:57.953" Score="13" Body="&lt;p&gt;I know of work adding temporal modalities to linear logic to produce what has been called &lt;em&gt;temporal linear logic&lt;/em&gt; (in contrast to LTL = linear-time temporal logic). This is quite interesting: a formula (without a modality) is interpreted as resources being available &lt;em&gt;now&lt;/em&gt;. The next time modality $\bigcirc-$ is interpreted as resources being available in the next time step. The box modality $\Box-$ means that the resources can be consumed at any point in the future,&#xA;&lt;em&gt;determined by the holder of the resources&lt;/em&gt;, whereas $\lozenge-$ means that the resources can be consumed at any point in time &lt;em&gt;determined by the system&lt;/em&gt;. Notice the duality between the holder of the resource and the system.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Banbara, M., Kang, K.-S., Hirai, T., Tamura, N.: &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.77.6666&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;nofollow&quot;&gt;Logic programming in a fragment of intuitionistic temporal linear logic&lt;/a&gt;. In: Codognet, P. (ed.) ICLP 2001. LNCS, vol. 2237, pp. 315–330. Springer, Heidelberg (2001)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Hirai, T.: &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.24.2107&quot; rel=&quot;nofollow&quot;&gt;Propositional temporal linear logic and its application to concurrent systems&lt;/a&gt;. EICE Transactions on Fundamentals of Electronics, Communications and Computer Sciences (Special Section on Concurrent Systems Technology) E83- A(11), 2219–2227 (2000)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Hirai, T.: &lt;a href=&quot;http://kaminari.scitec.kobe-u.ac.jp/pub/hiraiPhD00.pdf&quot; rel=&quot;nofollow&quot;&gt;Temporal Linear Logic and Its Application&lt;/a&gt;. PhD thesis, The Graduate School of Science and Technology, Kobe University, Japan (September 2000).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Kamide, N.: &lt;a href=&quot;http://www.filozof.uni.lodz.pl/bulletin/pdf/v3634_08.pdf&quot; rel=&quot;nofollow&quot;&gt;Temporalizing Linear Logic&lt;/a&gt; Bulletin of the Section of Logic Volume 36:3/4 (2007), pp. 173–182&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;There are a few papers adding all sorts of modalities to linear and affine logic:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Kamide, N.: &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=1143365&quot; rel=&quot;nofollow&quot;&gt;Linear and affine logics with temporal, spatial and epistemic logics&lt;/a&gt;. Theoretical Computer Science 252, 165–207 (2006).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Kamide, N: &lt;a href=&quot;http://logcom.oxfordjournals.org/content/14/5/625.full.pdf&quot; rel=&quot;nofollow&quot;&gt;Combining Soft Linear Logic and Spatio-Temporal Operators&lt;/a&gt;. J Logic Computation (2004) 14 (5): 625-650.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The work on temporal linear logic has been applied in agent-oriented programming and coordination, making essential use of the interpretation of the modalities described above:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Kungas, P.: &lt;a href=&quot;http://www.springerlink.com/index/r87l9g0mw7mvknr6.pdf&quot; rel=&quot;nofollow&quot;&gt;Temporal linear logic for symbolic agent negotiation&lt;/a&gt;. In: Zhang, C., W. Guesgen, H., Yeap, W.-K. (eds.) PRICAI 2004. LNCS, vol. 3157, pp. 23–32. Springer, Heidelberg (2004)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Pham, D.Q., Harland, J., Winikoff, M.: &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.64.9407&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;nofollow&quot;&gt;Modelling agent’s choices in temporal linear logic&lt;/a&gt;. In: Baldoni, M., Son, T.C., van Riemsdijk, M.B., Winikoff, M. (eds.) DALT 2007. LNCS, vol. 4897, pp. 140–157. Springer, Heidelberg (2008)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Clarke, D. &lt;a href=&quot;https://lirias.kuleuven.be/handle/123456789/217971&quot; rel=&quot;nofollow&quot;&gt;Coordination: Reo, Nets and Logic&lt;/a&gt;. &#xA;FMCO proceedings, LNCS, vol.  5382. (2008)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="77" LastEditorUserId="77" LastEditDate="2011-04-18T16:16:28.813" LastActivityDate="2011-04-18T16:16:28.813" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="5902" PostTypeId="2" ParentId="5898" CreationDate="2011-04-05T14:19:50.013" Score="3" Body="&lt;p&gt;I assume that your graph is undirected.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you allow $k/2$ without integer division, &#xA;then you can reduce your problem to computing the maximum mean weight cycle. Replace every undirected edge by two directed egdes. Every edge leaving a node $A_i$ gets value $B(i)$. Compute a cycle of maximum mean weight (i.e., with maximum average edge weight).&#xA;You condition is violated if and only if the maxium mean weight is $&amp;gt; 1/2$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The maximum mean weight cycle as well as the minimum mean weight cycle can be computed&#xA;in polynomial time by Karp's algorithm, see Cormen, Leiserson, Rivest, Stein.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you insist on integer division, things get more delicate, since there could be several&#xA;maximum mean weight cycles and a longer one can satisfy the bound but a shorter one need not. You can slightly reduce the weights (by a constant $\epsilon$ which is negligble&#xA;compared to your edge weights). This will favour shorter cycles and you might get away with this.&lt;/p&gt;&#xA;" OwnerUserId="3980" LastActivityDate="2011-04-05T14:19:50.013" CommentCount="6" ContentLicense="CC BY-SA 2.5" />
  <row Id="5903" PostTypeId="1" AcceptedAnswerId="5917" CreationDate="2011-04-05T14:23:27.660" Score="18" ViewCount="1129" Body="&lt;p&gt;I am reviewing the &lt;a href=&quot;http://www.springer.com/computer/ai/book/978-0-387-40532-2&quot; rel=&quot;nofollow&quot;&gt;Handbook of Nature-Inspired and Innovative Computing&lt;/a&gt; for SIGACT News.  It's a very interesting read.  Each chapter, though, has the flavor, &quot;This is my research area, and damn it's awesome!&quot;  So part of what I am trying to do is to separate out the hype, and make a sober assessment of the book's contents.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One chapter is on fuzzy logic and fuzzy systems, and how frikkin awesome they are.  And maybe they are, I frankly don't know.  The intuitive sense I've gotten from hanging around computer scientists is that fuzzy logic and fuzzy modeling of control systems, etc., are &quot;dead.&quot;  I don't know if that's true, though -- and, even if it is true, I don't know if it's true for a &quot;good reason.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Would anyone like to weigh in here?  What's the current status of research into fuzzy systems?  Does fuzzification see real-world applications?  Did it used to and people moved away because of problems?  Or do people &quot;in the trenches&quot; use it all the time, and it's just that theorists have moved away from it?  Or... something else?  (I have no idea what is true.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I will probably cite answers to this question in the book review, unless an answerer specifically asks me not to.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks.&lt;/p&gt;&#xA;" OwnerUserId="30" LastEditorUserId="30" LastEditDate="2011-04-05T14:53:37.427" LastActivityDate="2011-04-06T19:50:10.023" Title="What is the status of fuzzy logic for TCS in 2011?" Tags="&lt;soft-question&gt;" AnswerCount="1" CommentCount="11" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="5904" PostTypeId="2" ParentId="5840" CreationDate="2011-04-05T17:11:42.507" Score="-1" Body="&lt;p&gt;There are different kind of approach to decide what is a simple code and what is not.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But sadly, there are not a automatic way to determine it, for example, Kolmogorov Complexity fail with recursive functions, some recursive functions (logical deep) are simple but the understanding about it is not so simple.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In my experience, our team was working in a system and we found a &quot;simple&quot; procedure in Oracle (no more than 50 lines)... and we tried to understand it, it took 2 months (and several meetings) for fully understand it, not by the complexity of the code but in the logic behind every variable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think the way to determine how simple is a code is :&quot;read a code and consider the time used to understand it.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So &quot;The simplest program to solve a problem?&quot; can be divided in:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;a) simplicity of the code (clear code) but it is too subjective.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;b) overcomplexity of the function, if i have X problem then i must solve DX (Delta X) task to solve it, where DX must trend to X.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, if my problem is (one) &quot;to peel an apple&quot; and i must do it in PHP (and language) then&lt;/p&gt;&#xA;&#xA;&lt;p&gt;if i am extremely lucky and PHP have the function function_peel_apple() then it is the simplest code ever X=1 DX=1, just call the function and that's it!.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In opposite, if i am not so lucky but exist the function function_peel() and function_get_apple() then X=1 (one problem) and DX=2 (two task).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If, in the worst case, does not exist any function, then i must create one (or more than one) by myself and it add several task prior to solve the problem, now that's is a complex program.&lt;/p&gt;&#xA;" OwnerDisplayName="user4548" LastActivityDate="2011-04-05T17:11:42.507" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5905" PostTypeId="2" ParentId="5900" CreationDate="2011-04-05T18:44:22.163" Score="10" Body="&lt;p&gt;Not sure if that is what you're looking for but here is one: &lt;a href=&quot;http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=4605925&amp;amp;tag=1&quot;&gt;J.M. Silva, Practical applications of Boolean Satisfiability&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="4506" LastActivityDate="2011-04-05T18:44:22.163" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="5907" PostTypeId="1" AcceptedAnswerId="5916" CreationDate="2011-04-05T21:17:59.680" Score="33" ViewCount="1281" Body="&lt;p&gt;A few years ago, there was some work by Joel Friedman relating lower circuit bounds to Grothendieck cohomology (see papers: &lt;a href=&quot;http://arxiv.org/abs/cs/0512008&quot;&gt;http://arxiv.org/abs/cs/0512008&lt;/a&gt;, &lt;a href=&quot;http://arxiv.org/abs/cs/0604024&quot;&gt;http://arxiv.org/abs/cs/0604024&lt;/a&gt;). Has this line of thought brought any new insights into boolean complexity, or does it remains rather a mathematical curiosity?&lt;/p&gt;&#xA;" OwnerUserId="2083" LastEditorUserId="186" LastEditDate="2011-04-05T21:56:56.977" LastActivityDate="2011-04-13T14:24:13.957" Title="Cohomological approach to boolean complexity" Tags="&lt;cc.complexity-theory&gt;&lt;lower-bounds&gt;&lt;circuit-complexity&gt;&lt;boolean-functions&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="13" ContentLicense="CC BY-SA 2.5" />
  <row Id="5908" PostTypeId="5" CreationDate="2011-04-06T00:10:58.333" Score="0" Body="" OwnerUserId="-1" LastEditorUserId="-1" LastEditDate="2011-04-06T00:10:58.333" LastActivityDate="2011-04-06T00:10:58.333" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5909" PostTypeId="4" CreationDate="2011-04-06T00:10:58.333" Score="0" Body="Two graphs G, H are isomorphic if there is a relabeling of the vertices of G that produces H, and vice-versa. The graph isomorphism problem (GI) is to decide whether two given are isomorphic. In addition to its practical interest, it was identified by Karp in 1972 as having unknown complexity, is one of the few remaining natural candidates for an NP-intermediate problem, and led to the creation of the complexity class AM." OwnerUserId="284" LastEditorUserId="129" LastEditDate="2014-10-08T01:24:30.490" LastActivityDate="2014-10-08T01:24:30.490" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="5910" PostTypeId="2" ParentId="5801" CreationDate="2011-04-06T03:44:57.347" Score="13" Body="&lt;p&gt;The canonical undergraduate textbook for probability theory remains &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0130338516&quot;&gt;A First Course in Probability&lt;/a&gt; by Sheldon Ross. The book is an excellent reference/refresher for everyone else. Regardless of what a few grouchy internet reviewers claim, the book covers all of the most important topics in elementary probability clearly and with strong motivating examples. &lt;/p&gt;&#xA;" OwnerUserId="969" LastActivityDate="2011-04-06T03:44:57.347" CommentCount="0" CommunityOwnedDate="2011-04-13T12:06:14.607" ContentLicense="CC BY-SA 2.5" />
  <row Id="5911" PostTypeId="1" CreationDate="2011-04-06T10:08:27.690" Score="1" ViewCount="124" Body="&lt;p&gt;I wonder when was first line detection algorithm created (first used in practice and refrenced by any publications) and when line detection problem was posed (I know it can look like generaal edge detection problem but it is quite more complex than that)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Well... some students (including me) were trained that line detection is achevable by Hough transform. &lt;a href=&quot;http://en.wikipedia.org/wiki/Hough_transform#History&quot; rel=&quot;nofollow&quot;&gt;Wiki history page&lt;/a&gt; talls us that The Hough transform was patented as &lt;code&gt;U.S. Patent 3,069,654&lt;/code&gt; in 1962 and assigned to the U.S. and he used it scince 1959...   and that is not even problem posting - thats like a solution... so... What shall I do? Who posted the problem, formalized it?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;BTW: &lt;a href=&quot;http://ieeexplore.ieee.org/search/freesearchresult.jsp?queryText=line%20detection&amp;amp;openedRefinements=%2a&amp;amp;searchField=Search%20All&amp;amp;sortType=asc_Publication%20Year&amp;amp;pageNumber=1&amp;amp;resultAction=SORT&quot; rel=&quot;nofollow&quot;&gt;Here (IEEE library)&lt;/a&gt; search results sorted by date (oldest -&gt; newest)... (I see Straight-line detection with diodes: this 1934 year)&lt;/p&gt;&#xA;" OwnerUserId="2549" LastEditorUserId="74" LastEditDate="2011-04-06T12:48:22.380" LastActivityDate="2011-04-06T12:48:22.380" Title="When was first line detection algorithm created and when line detection problem was posed?" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;image-processing&gt;&lt;cv.computer-vision&gt;" AnswerCount="0" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="5913" PostTypeId="2" ParentId="5686" CreationDate="2011-04-06T12:54:11.240" Score="10" Body="&lt;p&gt;Following up to Marc's comment, I want to correct the record on blame.  Wadler neither introduced the concept of blame, which is due to &lt;a href=&quot;http://www.ccs.neu.edu/scheme/pubs/icfp2002-ff.pdf&quot;&gt;Findler and Felleisen&lt;/a&gt;, nor introduced blame for mediating between different languages, which originates in &lt;a href=&quot;http://www.ccs.neu.edu/scheme/pubs/dls06-tf.pdf&quot;&gt;my 2006 paper&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, Marc is entirely correct on the point of blame, and the Matthews paper that Dave points out also discusses this issue.&lt;/p&gt;&#xA;" OwnerUserId="2185" LastActivityDate="2011-04-06T12:54:11.240" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="5914" PostTypeId="2" ParentId="5689" CreationDate="2011-04-06T12:57:52.987" Score="11" Body="&lt;p&gt;Another good book on operational semantics is &lt;a href=&quot;http://redex.racket-lang.org/sewpr-preface.html&quot;&gt;&lt;em&gt;Semantics Engineering with PLT Redex&lt;/em&gt;&lt;/a&gt; by Matthias Felleisen, Robby Findler, and Matthew Flatt. It begins with a textbook treatment of reduction semantics and abstract machines, and also covers using the Redex tool to model the semantics of programming languages.&lt;/p&gt;&#xA;" OwnerUserId="2185" LastActivityDate="2011-04-06T12:57:52.987" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="5915" PostTypeId="2" ParentId="5801" CreationDate="2011-04-06T13:59:04.320" Score="2" Body="&lt;p&gt;A great book with EE slant: &lt;a href=&quot;http://www.mhhe.com/engcs/electrical/papoulis/&quot; rel=&quot;nofollow&quot;&gt;http://www.mhhe.com/engcs/electrical/papoulis/&lt;/a&gt;&#xA;a &lt;em&gt;fantastic&lt;/em&gt; book with CS slant: &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0471333417&quot; rel=&quot;nofollow&quot;&gt;http://www.amazon.com/dp/0471333417/&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerDisplayName="user4563" LastEditorUserId="873" LastEditDate="2011-04-11T16:53:50.740" LastActivityDate="2011-04-11T16:53:50.740" CommentCount="1" CommunityOwnedDate="2011-04-13T12:06:14.607" ContentLicense="CC BY-SA 3.0" />
  <row Id="5916" PostTypeId="2" ParentId="5907" CreationDate="2011-04-06T14:44:58.433" Score="28" Body="&lt;p&gt;I corresponded with Joel Friedman about 3 years ago on this topic.  At the time he said that his approach had not led to any significant new insights into complexity theory, though he still thought it was a promising tack.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Basically, Friedman tries to rephrase the problems of circuit complexity in the language of sheaves on a Grothendieck topology.  The hope is that this process will allow geometric intuition to be applied to the problem of finding circuit lower bounds.  While it's certainly worth checking to see if this path leads anywhere, there are heuristic reasons to be skeptical.  Geometric intuition works best in the context of smooth varieties, or things that are sufficiently similar to smooth varieties that the intuition doesn't totally break down.  In other words, you need some &lt;i&gt;structure&lt;/i&gt; in order for geometric intuition to gain a foothold.  But circuit lower bounds by their very nature must confront &lt;i&gt;arbitrary computations&lt;/i&gt;, which are difficult to analyze precisely because they seem to be so structureless.  Friedman admits right up front that the Grothendieck topologies he considers are highly combinatorial, and far removed from the usual objects of study in algebraic geometry.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As a side comment, I'd say that it's important not to get too excited about an idea just because it uses unfamiliar, high-powered machinery.  The machinery might be very effective at solving the problems that it was designed for, but for it to be useful for attacking a known hard problem in another domain, there needs to be some compelling argument why the foreign machinery is well adapted to address the fundamental obstacle in the problem of interest.&lt;/p&gt;&#xA;" OwnerUserId="2970" LastActivityDate="2011-04-06T14:44:58.433" CommentCount="7" ContentLicense="CC BY-SA 2.5" />
  <row Id="5917" PostTypeId="2" ParentId="5903" CreationDate="2011-04-06T17:20:37.350" Score="11" Body="&lt;p&gt;I wouldn't consider fuzzy logic dead. For control systems, I don't know. However, there's been a lot of activity in fuzzy logics for proof theorists for the last several years: look for papers by Ciabattoni, Olivetti, Fermüller, Metcalfe, and Baaz for starters.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit:&lt;/strong&gt; Some specific references from my BibTeX file:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;D. Galmiche and Y. Sahli, Labelled Calculi for Łukasiewicz Logics, Int. Workshop on Logic, Language, Information and Computation, WoLLIC'08, Edinburgh, LNAI 5110, 2008.&lt;/li&gt;&#xA;&lt;li&gt;M. Baaz and G. Metcalfe, Proof Theory for First Order Łukasiewicz Logic. TABLEAUX 2007.&lt;/li&gt;&#xA;&lt;li&gt;D. Galmiche and D. Larchey-Wendling and Y. Salhi, Provability and Countermodels in Gödel-Dummett Logics, DISPROVING'07: Workshop on Disproving Non-Theorems, Non-Validity, and Non-Provability, 2007.&lt;/li&gt;&#xA;&lt;li&gt;S. Bova and F. Montagna, Proof search in Häjek's Basic Logic, ACM Trans. Comput. Log., 2007. &lt;/li&gt;&#xA;&lt;li&gt;D.M. Gabbay and G. Metcalfe, Fuzzy logics based on [0,1)-continuous uninorms, AML 46(5), 2007.&lt;/li&gt;&#xA;&lt;li&gt;G. Metcalfe and F. Montagna, Substructural fuzzy logics. JSL 72(3), 2007.&lt;/li&gt;&#xA;&lt;li&gt;R. Dyckhoff and S. Negri, Decision methods for linearly ordered {H}eyting algebras. AML 45, 2006.&lt;/li&gt;&#xA;&lt;li&gt;G. Metcalfe and N. Olivetti and D. Gabbay, Sequent and Hypersequent calculi for Abelian and Łukasiewicz Logics. ACM Trans. Comput. Log. 6(3), 2005.&lt;/li&gt;&#xA;&lt;li&gt;M. Baaz and A. Ciabattoni and F. Montagna, Analytic calculi for monoidal t-norm based logic, Fund. Inf. 59(4), 2004.&lt;/li&gt;&#xA;&lt;li&gt;S. Negri and J. van Plato, Proof systems for lattice theory, Math. Struct. in Comp. Science 14(4), 2004.&lt;/li&gt;&#xA;&lt;li&gt;A. Ciabattoni and&#xA;           C.G. Fermüller and&#xA;           G. Metcalfe, Uniform Rules and Dialogue Games for Fuzzy Logics. LPAR 2004.&lt;/li&gt;&#xA;&lt;li&gt;A. Ciabattoni, Automated Generation of Analytic Calculi for Logics with&#xA;           Linearity. CSL 2004.&lt;/li&gt;&#xA;&lt;li&gt;F. Montagna and L. Saccetti, Kripke-style semantics for many-valued logics, Math. Log. Q. 49(6), 2003. Correction in MLQ 50(1), 2004.&lt;/li&gt;&#xA;&lt;li&gt;D. Larchey-Wendling, Countermodel search in Gödel-Dummett logics, IJCAR 2004, LNAI 3097, Springer, 2004.&lt;/li&gt;&#xA;&lt;li&gt;G. Metcalfe, Proof Theory for Propositional Fuzzy Logics, PhD Thesis, Department of Computer Science, King's College, 2004.&lt;/li&gt;&#xA;&lt;li&gt;D. Gabbay and G. Metcalfe and N. Olivetti, Hypersequents and Fuzzy Logic, Revista de la Real Academia de Ciencias 98(1), 2004.&lt;/li&gt;&#xA;&lt;li&gt;A. Ciabattoni and G. Metcalfe, Bounded Łukasiewicz Logics. TABLEAUX 2003.&lt;/li&gt;&#xA;&lt;li&gt;M. Baaz and&#xA;           A. Ciabattoni and&#xA;           C. G. Fermüller, ypersequent Calculi for Gödel Logics---a Survey. JLC 13(6), 2003.&lt;/li&gt;&#xA;&lt;li&gt;M. Baaz and&#xA;           A. Ciabattoni and&#xA;           C. G. Fermüller, Sequent of Relations Calculi: A Framework for Analytic Deduction in Many-Valued Logics. Beyond Two: Theory and Applications of Multiple-Valued Logic, M. Fitting and E. Orlowska, eds., Physica-Verlag, 2003.&lt;/li&gt;&#xA;&lt;li&gt;N. Olivetti, Tableaux for Łukasiwicz Infinite Valued Logic. Studia Logica  73(1), 2003.&lt;/li&gt;&#xA;&lt;li&gt;G. Metcalfe and N. Olivetti and D. Gabbay, Analytic Sequent Calculi for Abelian and Łukasiewicz Logics. TABLEAUX 2002.&lt;/li&gt;&#xA;&lt;li&gt;A. Ciabattoni and C. G. Fermüller, Hypersequents as a Uniform Framework for Urquhart's C, MTL and Related Logics.Proceedings of the 31th IEEE International Symposium on Multiple-Valued Logic (ISMVL 2001), 2001.&lt;/li&gt;&#xA;&lt;li&gt;F. Esteva and L. Godo, Monoidal t-norm based logic: towards a logic for&#xA;       left-continuous t-norms, Fuzzy Sets and Systems 124(3), 2001.&lt;/li&gt;&#xA;&lt;li&gt;M. Baaz and R. Zach, Hypersequent and the Proof Theory of Intuitionistic Fuzzy&#xA;           Logic. CSL 2000.&lt;/li&gt;&#xA;&lt;li&gt;A. Avron, A Tableau System for Gödel-Dummett Logic Based on a&#xA;           Hypersequent Calculus. TABLEAUX 2000, LNAI 1847, 2000.&lt;/li&gt;&#xA;&lt;li&gt;A. Ciabattoni and M. Ferrari, Hypertableau and Path-Hypertableau Calculi for some families of intermediate logics. TABLEAUX 2000, LNAI 1847, 2000.&lt;/li&gt;&#xA;&lt;li&gt;R.L.O. Cignoli and I.M.L. D'Ottaviano and D. Mundici, Algebraic Foundations of Many-Valued Reasoning, Kluwer, London, 2000.&lt;/li&gt;&#xA;&lt;li&gt;S. Aguzzoli and A. Ciabattoni, Finiteness in Infinite-Valued Łukasiewicz Logic. J. Logic, Language and Information 9, 2000.&lt;/li&gt;&#xA;&lt;li&gt;R. Dyckhoff, A Deterministic Terminating Sequent Calculus for Gödel-Dummett logic, IGPL 7(3), 1999.&lt;/li&gt;&#xA;&lt;li&gt;M. Baaz and&#xA;           A. Ciabattoni and&#xA;           C. G. Ferm{\&quot;u}ller and&#xA;           H. Veith, Proof Theory of Fuzzy Logics: Urquhart's C and Related Logics. Mathematical Foundations of Computer Science 1998, 23rd&#xA;           International Symposium, MFCS'98, Brno, Czech Republic,&#xA;           August 24-28, 1998, Proceedings, 1998.&lt;/li&gt;&#xA;&lt;li&gt;P. Häjek, Metamathematics of Fuzzy Logics, Kluer, 1998.&lt;/li&gt;&#xA;&lt;li&gt;R. Hähnle, Proof theory of many-valued logic--linear optimization--logic&#xA;           design: connections and interactions. Soft Comput. 1(3), 1997.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;These are largely proof-theory and automated deduction references, though,&lt;/p&gt;&#xA;" OwnerUserId="4494" LastEditorUserId="4494" LastEditDate="2011-04-06T19:50:10.023" LastActivityDate="2011-04-06T19:50:10.023" CommentCount="5" ContentLicense="CC BY-SA 2.5" />
  <row Id="5918" PostTypeId="1" CreationDate="2011-04-06T22:34:31.793" Score="13" ViewCount="961" Body="&lt;p&gt;Consider the well known transportation problem:&#xA;There are $m$ supply nodes, $n$ demand nodes and $k$ feasible arcs. &#xA;Every node has a integer supply or demand, and the arcs have integer costs, used linearly, i.e. if $x$ units are shipped along an edge annotated with $c$, the cost is $c\cdot x$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have an article by &lt;a href=&quot;http://dx.doi.org/10.1007/BF01585755&quot;&gt;Kleinschmidt and Schannath&lt;/a&gt; describing an $O(m\log m (k+n\log n))$ solution.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Is this the currently best algorithm, or has there been an improvement since 1995?&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(My search turned up an article by &lt;a href=&quot;http://dx.doi.org/10.1016/j.orl.2008.01.011&quot;&gt;Brenner&lt;/a&gt; from 2008, but I don't have access to it.  The title talks about the &quot;unbalanced Hitchcock transportation problem&quot;, I am not sure it is the problem considered here).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Would this be the right algorithm to implement?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Which libraries provide implementations of the transportation problem?&lt;/p&gt;&#xA;" OwnerUserId="3049" LastEditorUserId="1800" LastEditDate="2011-04-07T01:18:27.513" LastActivityDate="2011-04-07T01:18:27.513" Title="What is the currently best known algorithm for the transportation problem?" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;graph-algorithms&gt;" AnswerCount="0" CommentCount="1" FavoriteCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="5919" PostTypeId="1" CreationDate="2011-04-07T01:26:20.347" Score="22" ViewCount="954" Body="&lt;p&gt;What is known about data structures that can maintain a sequence of items subject to the following two operations?&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Push(x): add x to the end of the sequence, and return an identifier for its position in the sequence&lt;/li&gt;&#xA;&lt;li&gt;Extract(S): given an unordered set of identifiers, remove the items in those positions from the sequence, and return a list of the removed items in sequence order&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;If you like you can think of this as a stack or a queue with a split operation that splits it into two stacks: the extract operation can be used to implement a pop or dequeue operation, and the extracted sequence of items could as well be put back again into a different stack or queue.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What I already know: one can maintain the sequence as a doubly-linked list, where each identifier is just a pointer to a linked-list node, and each node also stores a position number that allows fast comparisons between the positions of two unrelated elements in the sequence. It's not difficult to update the position numbers as the data structure progresses so that they are all positive integers of maximum value $O(n)$, where $n$ is the current number of items in the list. With this data structure, the only difficult part of an extract operation is sorting the extracted items by their position numbers. An extraction of $k$ items takes $O(k\sqrt{\log\log k})$ expected randomized time using the integer sorting algorithm of Han and Thorup from FOCS 2002, for instance, and a push operation takes constant time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What I don't know: is it possible to handle extract in $O(k)$ time and push in constant time? Is there literature on this problem? Is it as hard as integer sorting?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;s&gt;Motivation: this is the basic step needed to order the items in the Coffman-Graham scheduling algorithm, which also has applications in graph drawing. The hard part of Coffman-Graham is a lexicographic topological ordering. This can be done by maintaining, for each different indegree, a sequence of the vertices with that indegree in the subgraph induced by the remaining vertices. Then, repeatedly remove the first vertex $v$ from the sequence of zero-indegree vertices and add it to the topological order; extract the neighbors of $v$ from the degrees they previously belonged to and push them onto the sequence for the next smaller degree. So an $O(k)$ time for the extract operations in this data structure would lead to a linear time implementation of the Coffman-Graham algorithm.&lt;/s&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since originally asking this I found &lt;a href=&quot;http://dx.doi.org/10.1137/0205005&quot;&gt;a paper by Sethi from 1976&lt;/a&gt; that allows the Coffman–Graham algorithm to be implemented in linear time, and included it in my &lt;a href=&quot;http://en.wikipedia.org/wiki/Coffman%E2%80%93Graham_algorithm&quot;&gt;Wikipedia article on the Coffman–Graham algorithm&lt;/a&gt;, so the original motivation is less meaningful. I'm still curious what the answer is, though.&lt;/p&gt;&#xA;" OwnerUserId="95" LastEditorUserId="95" LastEditDate="2011-05-08T03:08:30.657" LastActivityDate="2011-12-04T23:40:26.530" Title="Splittable stack" Tags="&lt;ds.data-structures&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="5920" PostTypeId="1" AcceptedAnswerId="5933" CreationDate="2011-04-07T06:05:25.053" Score="2" ViewCount="391" Body="&lt;p&gt;I have a rather naive question on LU factorization which probably should be easy to answer. Say I have a matrix with entries only from $\{0,1\}$. When can we expect to get an LU factorization of such a matrix(whenever it exists) with entries $(a)$ from integers? $(b)$ from $\{-1,0,+1\}$?&lt;/p&gt;&#xA;" OwnerUserId="1812" LastEditorUserId="1812" LastEditDate="2011-04-07T16:50:37.997" LastActivityDate="2011-04-07T17:13:45.653" Title="LU factorization of a 0-1 matrix" Tags="&lt;linear-algebra&gt;&lt;matrices&gt;&lt;na.numerical-analysis&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5921" PostTypeId="2" ParentId="5855" CreationDate="2011-04-07T06:46:51.267" Score="4" Body="&lt;p&gt;There is &quot;Encyclopedia of Algorithms&quot; from 2008, which surveys a &lt;em&gt;lot&lt;/em&gt; of different problems (1160 pages of it)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.springer.com/computer/theoretical+computer+science/book/978-0-387-30770-1&quot; rel=&quot;nofollow&quot;&gt;http://www.springer.com/computer/theoretical+computer+science/book/978-0-387-30770-1&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="1209" LastActivityDate="2011-04-07T06:46:51.267" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5922" PostTypeId="1" AcceptedAnswerId="5925" CreationDate="2011-04-07T07:54:31.033" Score="15" ViewCount="611" Body="&lt;p&gt;Banach's fixed point theorem says that if we have a nonempty complete metric space $A$, then any uniformly contractive function $f : A \to A$ it has a unique fixed point $\mu(f)$. However, the proof of this theorem requires the axiom of choice -- we need to choose an arbitrary element $a \in A$ to start iterating $f$ from, to get the Cauchy sequence $a, f(a), f^2(a), f^3(a), \ldots$.   &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;How are fixed point theorems stated in constructive analysis? &lt;/li&gt;&#xA;&lt;li&gt;Also, are there any concise references to constructive metric spaces?&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;The reason I ask is that I want to construct a model of System F in which the types additionally carry metric structure (among other things). It's rather useful that in constructive set theory, we can cook up a family of sets $U$, such that $U$ is closed under products, exponentials, and $U$-indexed families, which makes it easy to give a model of System F. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It would be very nice if I could cook up a similar family of constructive ultrametric spaces. But since adding choice to constructive set theory makes it classical, obviously I need to be more careful about fixed point theorems, and probably other stuff too. &lt;/p&gt;&#xA;" OwnerUserId="657" LastActivityDate="2011-04-07T09:36:40.337" Title="Fixed point theorems for constructive metric spaces?" Tags="&lt;reference-request&gt;&lt;lo.logic&gt;&lt;pl.programming-languages&gt;&lt;denotational-semantics&gt;&lt;metric-spaces&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="5924" PostTypeId="2" ParentId="5801" CreationDate="2011-04-07T09:11:39.967" Score="6" Body="&lt;p&gt;Several posters &lt;a href=&quot;http://news.ycombinator.com/item?id=201913&quot;&gt;in this discussion&lt;/a&gt; recommended Feller's &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0471257087&quot;&gt;two&lt;/a&gt; &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0471257095&quot;&gt;volume&lt;/a&gt; set. A more recent and also reportedly very good textbook is &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0198572220&quot;&gt;Grimmett and Stirzaker&lt;/a&gt;. Also, &lt;a href=&quot;http://cscs.umich.edu/~crshalizi/notebooks/probability.html&quot;&gt;here's&lt;/a&gt; an interesting bibliography by a professional statistician.&lt;/p&gt;&#xA;" OwnerUserId="792" LastEditorUserId="792" LastEditDate="2011-04-11T16:10:01.210" LastActivityDate="2011-04-11T16:10:01.210" CommentCount="1" CommunityOwnedDate="2011-04-13T12:06:14.607" ContentLicense="CC BY-SA 3.0" />
  <row Id="5925" PostTypeId="2" ParentId="5922" CreationDate="2011-04-07T09:20:19.710" Score="22" Body="&lt;p&gt;The axiom of choice is used when there is a &lt;em&gt;collection&lt;/em&gt; of &quot;things&quot; and you choose one element for each &quot;thing&quot;. If there is just one thing in the collection, that's not the axiom of choice. In our case we only have one metric space and we are &quot;choosing&quot; a point in it. So that's not the axiom of choice but elimination of existential quantifiers, i.e., we have a hypothesis $\exists x \in A . \phi(x)$ and we say &quot;let $x \in A$ be such that $\phi(x)$&quot;. Unfortunately, people often say &quot;&lt;em&gt;choose&lt;/em&gt; $x \in A$ such that $\phi(x)$&quot;, which then looks like application of the axiom of choice.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For reference, here is a constructive proof of Banach's fixed point theorem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Theorem:&lt;/strong&gt; A contraction on an inhabited complete metric space has a unique fixed point.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Proof.&lt;/em&gt; Suppose $(M,d)$ is an inhabited complete metric space and $f : M \to M$ is a contraction. Because $f$ is a contraction there exists $\alpha$ such that $0 &amp;lt; \alpha &amp;lt; 1$ and $d(f(x), f(y)) \leq \alpha \cdot d(x,y)$ for all $x, y \in M$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose $u$ and $v$ are fixed point of $f$. Then we have $$d(u,v) = d(f(u), f(v)) \leq \alpha d(u,v)$$ from which it follows that $0 \leq d(u,v) \leq (\alpha - 1) d(u,v) \leq 0$, hence $d(u,v) = 0$ and $u = v$. This proves that $f$ has at most one fixed point.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It remains to prove the existence of a fixed point. Because $M$ is inhabited there exists $x_0 \in M$. Define the sequence $(x_i)$ recursively by $$x_{i+1} = f(x_i).$$ We can prove by induction that $d(x_i, x_{i+1}) \leq \alpha^i \cdot d(x_0, x_1)$. From this it follows that $(x_i)$ is a Cauchy sequence. Because $M$ is complete, the sequence has a limit $y = \lim_i x_i$. Since $f$ is a contraction, it is uniformly continuous and so it commutes with limits of sequences: $$f(y) = f(\lim_i x_i) = \lim_i f(x_i) = \lim_i x_{i+1} = \lim_i x_i = y.$$&#xA;Thus $y$ is a fixed point of $f$. QED&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Remarks:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;I was careful not to say &quot;choose $\alpha$&quot; and &quot;choose $x_0$&quot;. It is common to say such things, and they just add to the confusion that prevents ordinary mathematicians from being able to tell what is and isn't the axiom of choice.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;In the uniqeness part of the proof people often assume unnecessarily that there are two different fixed points and derive a contradiction. This way they have only managed to prove that if $u$ and $v$ are fixed points of $f$ then $\lnot\lnot (u = v)$. So now they need excluded middle to get to $u = v$. Even for classical mathematics this is suboptimal and just shows that the author of the proof does not exercise good logical hygiene.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;In the existence part of the proof, the sequence $(x_i)$ depends on the existential witness $x_0$ we get from eliminating the assumption $\exists x \in M . \top$. There is nothing wrong with that. We do that sort of thing all the time. We did not choose anything. Think of it this way: someone else gave us a witness $x_0$ for inhabitedness of $M$, and we are free to do something with it.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Classically, &quot;$M$ is inhabited&quot; ($\exists x \in M . \top$) and &quot;$M$ is non-empty&quot; ($\lnot\forall x \in M . \bot$) are equivalent. Constructively, the former makes more sense and is useful.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Because we showed uniqueness of fixed points we actually get a fixed-point operator $\mathrm{fix}_M$ from contractions on $M$ to points of $M$, rather than just a $\forall\exists$ statement.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Finally, the following fixed-point theorems have constructive versions:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Knaster-Tarski fixed-point theorem for monotone maps on complete lattices&lt;/li&gt;&#xA;&lt;li&gt;Banach's fixed-point theorem for contractions on a complete metric space&lt;/li&gt;&#xA;&lt;li&gt;Knaster-Tarski fixed-point theorem for monotone maps on dcpos (proved by Pataraia)&lt;/li&gt;&#xA;&lt;li&gt;Various fixed-point theorems in domain theory usually have constructive proofs&lt;/li&gt;&#xA;&lt;li&gt;Recursion theorem is a form of fixed-point theorem and it has a constructive proof&lt;/li&gt;&#xA;&lt;li&gt;I proved that Knaster-Tarski fixed-point theorem for monotone maps on &lt;em&gt;chain-complete&lt;/em&gt; posets does &lt;em&gt;not&lt;/em&gt; have a constructive proof. Similarly, the Bourbaki-Witt fixed-point theorem for progressive maps on chain-complete posets fails constructively. The counter-example for the later one comes from the effective topos: in the effective topos ordinals (suitably defined) form a set and the successor maps is progressive and has no fixed points. By the way, the successor map on the ordinals is &lt;em&gt;not&lt;/em&gt; monotone in the effective topos.&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Now that's rather more information than you asked for.&lt;/p&gt;&#xA;" OwnerUserId="705" LastEditorUserId="705" LastEditDate="2011-04-07T09:36:40.337" LastActivityDate="2011-04-07T09:36:40.337" CommentCount="6" ContentLicense="CC BY-SA 2.5" />
  <row Id="5926" PostTypeId="1" CreationDate="2011-04-07T09:05:37.023" Score="0" ViewCount="245" Body="&lt;p&gt;can you please tell me how can I show that there exists an algorithm that can determine for every regular language L, whether or not |L| ≥ 5&lt;/p&gt;&#xA;" OwnerDisplayName="newguy" LastEditorUserId="186" LastEditDate="2011-04-08T08:21:43.557" LastActivityDate="2011-04-08T08:21:43.557" Title="algorithm that can determine for every regular language L" Tags="&lt;computability&gt;&lt;fl.formal-languages&gt;&lt;regular-language&gt;" AnswerCount="0" CommentCount="2" ClosedDate="2011-04-07T09:55:52.740" ContentLicense="CC BY-SA 2.5" />
  <row Id="5927" PostTypeId="1" CreationDate="2011-04-07T09:40:10.283" Score="6" ViewCount="529" Body="&lt;p&gt;What does it mean that some problem is undecidable?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For instance the halting problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does it mean that humans can never invent a new technique that always decides whether a turing machine will halt?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If not, what techniques are allowed such that halting problem is still undecidable?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For instance induction is a good technique, why cant one discover some new technique?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have trouble understanding how some new invention cannot solve the halting problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given some computer and a program, is there really insufficient information stored in it to determine if it will halt?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It seems like a purely mechanical problem&lt;/p&gt;&#xA;" OwnerDisplayName="user4580" LastActivityDate="2011-04-07T09:40:10.283" Title="How fundamental is undecidability?" Tags="&lt;soft-question&gt;&lt;computability&gt;&lt;turing-machines&gt;" AnswerCount="0" CommentCount="4" FavoriteCount="1" ClosedDate="2011-04-07T09:52:53.600" ContentLicense="CC BY-SA 2.5" />
  <row Id="5928" PostTypeId="1" CreationDate="2011-04-07T10:35:53.720" Score="15" ViewCount="371" Body="&lt;p&gt;Some background: Łukasiewicz many-valued logics were intended as modal logics, and Łukasiewicz gave an &lt;em&gt;extensional&lt;/em&gt; definition of the modal operator:&#xA;$\Diamond A =_{def} \neg A \to A$ (which he attributes to Tarski).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This gives a weird modal logic, with some paradoxical, if not seemingly absurd theorems, notably $(\Diamond A\land \Diamond B) \to \Diamond (A\land B)$. Substitute $\neg A$ for $B$ to see why it's been relegated to a footnote in the history of modal logic.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, I've realised that it's less absurd when that definition of a possibility operator is applied to Linear Logic and other substructural logics.&#xA;I have an informal talk about this earlier in the month. A link to the talk is at &lt;a href=&quot;http://www.cs.st-andrews.ac.uk/~rr/pubs/lablunch-20110308.pdf&quot;&gt;http://www.cs.st-andrews.ac.uk/~rr/pubs/lablunch-20110308.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(One of the reasons that I asked about substructural modal logics was to compare the expressiveness of those logics with the use of this operator.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Anyhow, the only non-critical work that I found a reference to is a talk by A. Turquette, &quot;A generalization of Tarski's Möglichkeit&quot; at the Australasian Association for Logic 1997 Annual Conference. The abstract is in the BSL 4 (4),&#xA;&lt;a href=&quot;http://www.math.ucla.edu/~asl/bsl/0404/0404-006.ps&quot;&gt;http://www.math.ucla.edu/~asl/bsl/0404/0404-006.ps&lt;/a&gt; Basically Turquette suggested applications in $m$-valued logics for $m$-state systems. (I've not been able to obtain any notes, slides or other content of this talk, so I would appreciate hearing from anyone who has more information.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is anyone here aware of other articles or papers on this?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(I don't have any applications for it, but I find the properties to be interesting enough to merit a paper.)&lt;/p&gt;&#xA;" OwnerUserId="4494" LastEditorUserId="4494" LastEditDate="2011-04-08T09:04:58.090" LastActivityDate="2012-03-27T20:17:18.410" Title="Looking for papers and articles on the Tarskian Möglichkeit" Tags="&lt;reference-request&gt;&lt;lo.logic&gt;&lt;proof-theory&gt;&lt;linear-logic&gt;&lt;modal-logic&gt;" AnswerCount="1" CommentCount="10" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="5929" PostTypeId="2" ParentId="5920" CreationDate="2011-04-07T12:34:16.330" Score="3" Body="&lt;p&gt;No. Consider the 4-by-4 matrix below.&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt; 0     1     1     1&#xA; 1     0     1     1&#xA; 0     0     0     1&#xA; 1     1     0     1&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;" OwnerUserId="2012" LastActivityDate="2011-04-07T12:34:16.330" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="5930" PostTypeId="2" ParentId="2898" CreationDate="2011-04-07T13:20:58.173" Score="15" Body="&lt;p&gt;Two other papers that might be relevant for your survey...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;M. Gehrke, S. Grigorieff, J.-E. Pin,   A topological approach to recognition, ICALP 2010, Part II, Lecture Notes in Computer Science 6199, Springer Verlag, (2010), 151-162.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;M. Gehrke, S. Grigorieff, J.-E. Pin,   Duality and equational theory of regular languages, Best paper award of ICALP 2008, Track B, ICALP 2008, Part II, Lecture Notes in Computer Science 5126, Springer Verlag, (2008), 246-257. &lt;/p&gt;&#xA;" OwnerUserId="4582" LastActivityDate="2011-04-07T13:20:58.173" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="5931" PostTypeId="2" ParentId="5726" CreationDate="2011-04-07T14:59:31.090" Score="1" Body="&lt;p&gt;See &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.49.9480&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;nofollow&quot;&gt;Random Generation of Finite Sturmian Words&lt;/a&gt; by Berstel and Pocchiola for a proof that the feasible region of your LP has only three or four sides, as well as a simple algorithm for finding the polygon given slope and intercept.  (They are dealing with recognizing Sturmian Words, but the problems are strongly related.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;They also give an explicit enumeration of the polygons, so it may be possible to enumerate the areas of the polygons and the ranges of the slopes, so you may be able to get the expected value of the range of slopes (as well as higher moments)  as an explicit sum.&lt;/p&gt;&#xA;" OwnerUserId="54" LastActivityDate="2011-04-07T14:59:31.090" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5932" PostTypeId="2" ParentId="4846" CreationDate="2011-04-07T15:50:02.027" Score="3" Body="&lt;p&gt;I don't know the specifics of Gentry's scheme, but all other threshold cryptosystems require  two homomorphisms (the third is implied) relating to the public and secret keys:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;${\sf KG}(sk1)\otimes{\sf KG}(sk2)={\sf KG}(sk1\oplus sk2)$&lt;/li&gt;&#xA;&lt;li&gt;$c={\sf Enc}_{pk1}({\sf Enc}_{pk2}(m,r))={\sf Enc}_{pk1\otimes pk2}(m,r)$&lt;/li&gt;&#xA;&lt;li&gt;$m={\sf Dec}_{sk1}({\sf Dec}_{sk2}(c))={\sf Dec}_{sk1\oplus sk2}(c)$&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;(${\sf KG}$ is a function that given the secret key, returns the public key: $pk={\sf KG}(sk)$.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If these conditions hold, for some operations $\oplus$ and $\otimes$, it is trivally possible to make distributed (n-out-of-n) decryption, and it may be possible for threshold (m-out-of-n) if the operation $\oplus$ is, for example, sufficient for interpolating a polynomial. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, in threshold Elgamal, $\oplus$ is addition and this allows interpolation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Even though no one has answered the original question, perhaps someone can answer these questions: (1) Does Gentry's FHE fit the blueprint above (in terms of ${\sf KG}$, ${\sf Enc}$, ${\sf Dec}$). (2) Do such homomorphisms exist between the public and secret keys exist? (3) If so, what are the operations?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, I am not saying these conditions are necessary to have a threshold cryptosystem. The lack of such a homomorphism does not imply (to my knowledge) that threshold decryption is impossible. &lt;/p&gt;&#xA;" OwnerUserId="1792" LastActivityDate="2011-04-07T15:50:02.027" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5933" PostTypeId="2" ParentId="5920" CreationDate="2011-04-07T17:13:45.653" Score="2" Body="&lt;p&gt;Here's a 5-by-5 matrix with a non-integer LU-decomposition.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;blockquote&gt;&#xA;    &lt;p&gt;A    &lt;/p&gt;&#xA;  &lt;/blockquote&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;A =&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt; 1     1     0     1     0&#xA; 1     1     1     0     0&#xA; 1     0     1     1     0&#xA; 1     0     0     1     1&#xA; 0     1     0     1     1&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;blockquote&gt;&#xA;    &lt;p&gt;[L U] = lu(A)&lt;/p&gt;&#xA;  &lt;/blockquote&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;L =&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;1.0000         0         0         0         0&#xA;1.0000         0    1.0000         0         0&#xA;1.0000    1.0000         0         0         0&#xA;1.0000    1.0000   -1.0000   -0.5000    1.0000&#xA;     0   -1.0000    1.0000    1.0000         0&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;U =&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;1.0000    1.0000         0    1.0000         0&#xA;     0   -1.0000    1.0000         0         0&#xA;     0         0    1.0000   -1.0000         0&#xA;     0         0         0    2.0000    1.0000&#xA;     0         0         0         0    1.5000&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Your questions seems related to unimodular and totally unimodular matrices.&lt;/p&gt;&#xA;" OwnerUserId="4585" LastActivityDate="2011-04-07T17:13:45.653" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5934" PostTypeId="1" CreationDate="2011-04-07T18:03:36.537" Score="37" ViewCount="1235" Body="&lt;p&gt;I'm going to ask a quite vague question, since the borderline between theoretical computer science and math is not always easy to distinguish.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;QUESTION:&lt;/strong&gt; Are you aware of any interesting result in CS which &#xA;is either independent of ZFC (i.e. standard set theory),&#xA;or that was originally proven in ZFC (+ some other axiom) and only later proven in ZFC alorne?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm asking because I'm close to finish my PhD thesis, and my main result (the determinacy of a class of games which are used to give &quot;game semantics&quot; to a probabilistic modal $\mu$-calculus) is at the moment proven in ZFC extended with other Axioms (namely the negation of the Continuum hypothesis $\neg CH $ and, Martin's Axiom $MA$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So the setting is clearly Computer Science (the modal $\mu$-calculus is a temporal logic, and I'm extending it to work with probabilistic systems).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would like to cite in my thesis other examples (if you are aware of any) of this kind.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thank you in advance,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;bye&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Matteo &lt;/p&gt;&#xA;" OwnerUserId="4586" LastEditorUserId="186" LastEditDate="2011-04-08T08:14:00.040" LastActivityDate="2012-03-15T07:35:14.767" Title="Results in Theoretical CS independent of ZFC" Tags="&lt;reference-request&gt;&lt;lo.logic&gt;&lt;set-theory&gt;" AnswerCount="5" CommentCount="3" FavoriteCount="14" ContentLicense="CC BY-SA 2.5" />
  <row Id="5936" PostTypeId="1" AcceptedAnswerId="5942" CreationDate="2011-04-07T18:56:29.173" Score="19" ViewCount="646" Body="&lt;p&gt;In 1979, &lt;a href=&quot;http://www.springerlink.com/content/p679q6712h1047jp/&quot;&gt;Freivalds&lt;/a&gt; showed that verifying matrix products over any field can be done in randomized $O(n^2)$ time. More formally, given three matrices A, B, and C, with entries from a field F, the problem of checking whether AB = C has a randomized $O(n^2)$ time algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is interesting because the fastest known algorithm for multiplying matrices is slower than this, so checking if AB = C is faster than computing C.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I want to know what is the most general algebraic structure over which matrix product verification still has an $O(n^2)$ time (randomized) algorithm. Since the original algorithm works over all fields, I guess it works over all integral domains too. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The best answer I could find to this question was in &lt;a href=&quot;http://www.eecs.berkeley.edu/~virgi/tria-mmult-conf.pdf&quot;&gt;Subcubic Equivalences Between Path, Matrix, and Triangle Problems&lt;/a&gt;, where they say &quot;matrix product verification over rings can be done in $O(n^2)$ randomized time [BK95].&quot; ([BK95]: M. Blum and S. Kannan.  &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=73015&quot;&gt;Designing programs that check their work.&lt;/a&gt; J. ACM, 42(1):269–291, 1995.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First, are rings the most general structure on which this problem has an $O(n^2)$ randomized algorithm? Second, I couldn't see how the results of [BK95] show an $O(n^2)$ time algorithm over all rings. Can someone explain how that works?&lt;/p&gt;&#xA;" OwnerUserId="206" LastEditorUserId="80" LastEditDate="2011-04-08T04:01:21.613" LastActivityDate="2011-04-08T04:01:21.613" Title="What is the most general structure on which matrix product verification can be done in $O(n^2)$ time?" Tags="&lt;ds.algorithms&gt;&lt;linear-algebra&gt;&lt;matrix-product&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="5937" PostTypeId="1" AcceptedAnswerId="5946" CreationDate="2011-04-07T19:00:11.463" Score="9" ViewCount="5948" Body="&lt;p&gt;I understand strict and sequential consistency independently fairly well.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Strict C basically enforces the actual order in which the instructions ran on the global clock.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Sequential Consistency basically enforces the order only on one processor.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm having trouble putting together some literature though.&#xA;&lt;a href=&quot;http://www.cs.nmsu.edu/~pfeiffer/classes/573/notes/consistency.html&quot;&gt;http://www.cs.nmsu.edu/~pfeiffer/classes/573/notes/consistency.html&lt;/a&gt; describes sequential  consistency as allowing for memory 'lag'. It may take time for a write to propagate across all processors. But when it does, it reaches all of them at once which is fine. Thus, the following is valid under Sequential Consistency&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;P1:  W(x)1&#xA;-----------------------&#xA;P2:        R(x)0 R(x)1&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;What concerns me now is the following processes, which is something like Dekker's algorithm.&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;P1:  W(x)1  R(y)0&#xA;-----------------&#xA;P2:  W(y)1  R(x)0&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;This should surely NOT be possible under Sequential consistency ( &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=1787234.1787255&quot;&gt;http://portal.acm.org/citation.cfm?id=1787234.1787255&lt;/a&gt; pg 2). There is no total order that can give this result.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But it makes sense from the idea that sequential consistency allows writes to propagate slowly and one thread may not have any idea as to what other processors are up to.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What am I missing here?&lt;/p&gt;&#xA;" OwnerUserId="4283" LastEditorUserId="30" LastEditDate="2011-04-08T14:49:16.067" LastActivityDate="2013-04-22T14:50:56.393" Title="Difference between Strict Consistency and Sequential Consistency" Tags="&lt;pl.programming-languages&gt;&lt;dc.parallel-comp&gt;&lt;concurrency&gt;" AnswerCount="3" CommentCount="3" FavoriteCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="5938" PostTypeId="5" CreationDate="2011-04-07T19:05:42.277" Score="0" Body="" OwnerUserId="-1" LastEditorUserId="-1" LastEditDate="2011-04-07T19:05:42.277" LastActivityDate="2011-04-07T19:05:42.277" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5939" PostTypeId="4" CreationDate="2011-04-07T19:05:42.277" Score="0" Body="Properties and applications of data structures, such as space lower bounds, or time complexity of insertion and deletion of objects." OwnerUserId="284" LastEditorUserId="109" LastEditDate="2014-06-27T17:23:41.703" LastActivityDate="2014-06-27T17:23:41.703" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="5940" PostTypeId="2" ParentId="5622" CreationDate="2011-04-07T20:07:52.433" Score="0" Body="&lt;p&gt;This sounds like it may be a NP-hard problem.&#xA;But perhaps a relatively simple heuristic will give good enough results, something like:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;use some arbitrary clustering algorithm to divide the N locations into k uneven clusters.&#xA;Then repeat:&lt;/li&gt;&#xA;&lt;li&gt;Find the centroid of each cluster.&lt;/li&gt;&#xA;&lt;li&gt;Figure out which clusters have &quot;too many&quot; locations -- more than ceil(N/k).&lt;/li&gt;&#xA;&lt;li&gt;Figure out which clusters have &quot;too few&quot; locations -- less than floor(N/k).&lt;/li&gt;&#xA;&lt;li&gt;grow the clusters with &quot;too few&quot; locations by grabbing locations that are near the centroid of that cluster (but not already part of that cluster), preferentially stealing from clusters that have &quot;too many&quot; locations.&#xA;Repeat until close enough.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I agree that &quot;exactly the same&quot; may not be what you want.&#xA;If slightly more than half of your locations are on one island,&#xA;and slightly less than half are on another distant island,&#xA;and you have 3 employees,&#xA;it's probably better to (somehow) split the larger island among 2 employees&#xA;and give the slightly smaller island to the 3rd employee,&#xA;rather than forcing (at least) one employee to travel long distances over water in order to divide the N locations perfectly evenly among them.&lt;/p&gt;&#xA;" OwnerUserId="4423" LastActivityDate="2011-04-07T20:07:52.433" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="5941" PostTypeId="2" ParentId="5622" CreationDate="2011-04-07T20:12:35.907" Score="1" Body="&lt;p&gt;This sounds like it may be a NP-hard problem. But perhaps a relatively simple heuristic will give good enough results, something like:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Use one of the heuristic approximations to the &lt;a href=&quot;http://en.wikipedia.org/wiki/travelling_salesman_problem&quot; rel=&quot;nofollow&quot;&gt;travelling salesman problem&lt;/a&gt; to find a (relatively) short loop that passes through &lt;em&gt;all&lt;/em&gt; of your N locations.&#xA;Then arbitrary pick some location on that loop as a &quot;starting&quot; point location number 0, and number each location along that path from 0 to (N-1).&#xA;Each employee i (from 0 to k-1) gets the approximately N/k consecutive locations along that loop, from location i*N/k to location (i+1)*N/k - 1.&lt;/p&gt;&#xA;" OwnerUserId="4423" LastActivityDate="2011-04-07T20:12:35.907" CommentCount="0" ContentLicense="CC BY-SA 2.5" />
  <row Id="5942" PostTypeId="2" ParentId="5936" CreationDate="2011-04-07T21:47:25.000" Score="15" Body="&lt;p&gt;Here's a quick argument for why it works over rings. Given matrices $A$, $B$, $C$, we verify $A B = C$ by picking a random bit vector $v$, then checking if $ABv = Cv$. This clearly passes if $AB = C$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose $AB \neq C$ and $ABv = Cv$. Let $D = AB - C$. $D$ is a nonzero matrix for which $Dv = 0$. What's the probability that this occurs? Let $D[i&amp;#39;,j&amp;#39;]$ be a nonzero entry. By assumption, $\sum_{j} D[i&amp;#39;,j] v[j] = 0$. With probability $1/2$, $v[j&amp;#39;] = 1$, so we have &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$D[i&amp;#39;,j&amp;#39;] + \sum_{j\neq j&amp;#39;} D[i&amp;#39;,j] v[j] = 0$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any ring under its addition operation is an additive group, so there is a unique inverse of $D[i&amp;#39;,j&amp;#39;]$, i.e., $-D[i&amp;#39;,j&amp;#39;]$. Now, the probability of the bad event $-D[i&amp;#39;,j&amp;#39;] = \sum_{j\neq j&amp;#39;} D[i&amp;#39;,j] v[j]$ is at most $1/2$. (One way to see this is the &quot;principle of deferred decisions&quot;: in order for the sum to equal $-D[i&amp;#39;,j&amp;#39;]$, at least one other $D[i&amp;#39;,j]$ must be nonzero. So consider the $v[j]$'s corresponding to these other nonzero entries. Even if we set all of these $v[j]$'s except for one of them  &lt;em&gt;optimally&lt;/em&gt;, there is still equal probability for the last one being $0$ or $1$, but still only one of these values could make the final sum equal to $-D[i&amp;#39;,j&amp;#39;]$.)&#xA;So with probability at least $1/4$, we successfully find that $Dv \neq 0$, when $D$ is nonzero. (Note $v[j]$ and $v[j&amp;#39;]$ are independently chosen for $j \neq j&amp;#39;$.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As you see, the above argument depends on subtraction. So it won't work (for example) on arbitrary commutative semirings. Perhaps you could relax the multiplicative properties of the algebraic structure, and still get the result?&lt;/p&gt;&#xA;" OwnerUserId="225" LastEditorUserId="225" LastEditDate="2011-04-07T21:52:53.967" LastActivityDate="2011-04-07T21:52:53.967" CommentCount="2" ContentLicense="CC BY-SA 2.5" />
  <row Id="5943" PostTypeId="2" ParentId="2898" CreationDate="2011-04-07T22:24:36.950" Score="30" Body="&lt;p&gt;Topology is such a mature discipline with varied subfields including geometric, algebraic, metric, point-set and (the self deprecating) pointless topology. Computer science is also fairly broad and has many mathematical sub-areas, so I would expect much applications of topological ideas in CS. Marshall Stone said &quot;always topologize,&quot; and computer scientists with the requisite background often have. Enough blah. A few examples.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;These examples are not just of hard CS problems solved by topology. Sometimes a topological notion transfers very well into a CS setting or gives the basis for a sub area of CS.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;The compactness theorem of propositional logic is a consequence of Tychonoff's theorem. Compactness for first order logic is usually proved differently. Compactness is an important tool in classic model theory.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Stone's representation theorem for Boolean algebras relates models of propositional logic, Boolean algebras and certain topological spaces. Stone-type duality results have been derived for structures used in algebraic logic and programming language semantics.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Nick Pippenger applied Stone's theorem to the Boolean algebra of regular languages and used topology to prove several facts about regular languages. See Jean-Eric Pin's comment for more recent work on topology in language theory. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;In formal methods, there are the notions of safety and liveness property. Every linear-time property can be expressed as the intersection of a safety and a liveness property. The proof uses elementary topology. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Martín Escardó has developed algorithms and written programs to search infinite sets. I believe compactness is a key ingredient of that work.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The work of Polish topologists (such as Kuratowski) gave us closure operators. Closure operators on lattices are a crucial part of the theory of abstract interpretation, which underlies static program analysis.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Closure operators and other topological ideas are the basis of mathematical morphology. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The notion of interior operators also from the Polish school is important in axiomatization of modal logics. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;A lot of computer science is based on graph-based structures. Some applications require richer notions of connectedness and flows than that provided by graphs and topology is the natural next step. This is my reading of van Glabbeek's higher-dimensional automata in concurrency theory and Eric Goubault's application of geometric topology to the semantics of concurrent programs.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Possibly the application that receives the most press is the application of topology (initially algebraic, though more combinatorial presentations also exist) to characterise certain fault-tolerance scenarios in distributed computing. In addition to Herlihy and Shavit mentioned above, Borowsky and Gafni, and Saks and Zaharouglou also gave proosf for the first such breakthrough. The asynchronous computability framework produced more such results.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Brouwer's fixed point theorem has given rise to several problems that we study. Most recently in the study of algorithmic game theory, the complexity class PPAD and the complexity class FixP of fixed point problems.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The Borsuk-Ulam theorem has several applications to graphs and metric embeddings. These are covered in Jiří Matoušek's book. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;These are &lt;em&gt;meagre pickings&lt;/em&gt; at what is out there. Good luck!&lt;/p&gt;&#xA;" OwnerUserId="4155" LastActivityDate="2011-04-07T22:24:36.950" CommentCount="1" ContentLicense="CC BY-SA 2.5" />
  <row Id="5944" PostTypeId="1" AcceptedAnswerId="5966" CreationDate="2011-04-08T00:21:33.417" Score="6" ViewCount="524" Body="&lt;p&gt;The fastest method to compute the connected components of an undirected graph on a PRAM I have found is O(log n loglog n) in the 1993 paper &lt;em&gt;Finding connected components in O(log n loglog n) time on the EREW PRAM&lt;/em&gt;, by K. Chong and T. Lam. Is there an algorithm with a smaller time complexity?&lt;/p&gt;&#xA;" OwnerUserId="4590" LastEditorUserId="74" LastEditDate="2011-04-08T14:46:28.660" LastActivityDate="2011-04-09T09:52:17.913" Title="What algorithm on a PRAM computes the connected components of a graph with least time complexity?" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;graph-algorithms&gt;&lt;dc.parallel-comp&gt;" AnswerCount="2" CommentCount="5" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="5945" PostTypeId="2" ParentId="5937" CreationDate="2011-04-08T04:23:55.663" Score="4" Body="&lt;p&gt;You already have the correct answer.  The second execution is not sequentially consistent because &quot;there is no total order that can give this result&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I guess your confusion comes from this idea:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;the idea that sequential consistency&#xA;  allows writes to propagate slowly and&#xA;  one thread may not have any idea as to&#xA;  what other processors are up to.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;This is correct. The propagation can be slow.  Sequential consistency allows &lt;em&gt;one&lt;/em&gt; thread not being aware of what other processes are up to (for whatever programs).  However, sequential consistency does not allow &lt;em&gt;every&lt;/em&gt; thread not being aware of what other processes are up to (for some programs, including the Dekker's algorithm).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The above phrase &quot;for some programs&quot; comes from this consideration: &#xA;even under sequential consistency, if the threads do not use shared memory, no thread is aware of another thread's behavior.&lt;/p&gt;&#xA;" OwnerUserId="249" LastActivityDate="2011-04-08T04:23:55.663" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="5946" PostTypeId="2" ParentId="5937" CreationDate="2011-04-08T05:15:31.573" Score="8" Body="&lt;p&gt;You are not missing anything :)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Dekker's algorithm will not be sequentially consistent on distributed shared memory hierarchy based multiprocessor but it is very much possible as the memory updates propagate not in step with local memory (cache) update but asynchronously through Cache Coherence protocols like MESI (Weaker memory model).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On a uni-processor on which Dekker's algorithm this is not the case and it will be strictly consistent.&lt;/p&gt;&#xA;" OwnerUserId="3397" LastActivityDate="2011-04-08T05:15:31.573" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="5947" PostTypeId="1" AcceptedAnswerId="5968" CreationDate="2011-04-08T08:28:08.557" Score="17" ViewCount="2353" Body="&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Hypercomputation&quot; rel=&quot;nofollow noreferrer&quot;&gt;Hypercomputation&lt;/a&gt; refers to models of computation that are not possible to simulate using Turing machines.  (Hypercomputers are not necessarily physically realisable!)  Some hypercomputers have access to a resource that allows the &lt;a href=&quot;http://en.wikipedia.org/wiki/Halting_problem&quot; rel=&quot;nofollow noreferrer&quot;&gt;Halting Problem&lt;/a&gt; for standard Turing machines to be solved.  Call this a &quot;superpower&quot;: a hypercomputer with a superpower can decide whether any standard Turing machine terminates.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What kinds of &quot;superpowers&quot; do hypercomputers use?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://ora.ox.ac.uk/objects/uuid:5db40e2c-4a22-470d-9283-3b59b99793dc&quot; rel=&quot;nofollow noreferrer&quot;&gt;Ed Blakey's thesis&lt;/a&gt; sets up a formal framework to classify some of the major kinds of resources used in hypercomputing, but it does not try to provide a comprehensive survey of superpowers.  I am not interested in a list of hypercomputers (there is a nice list in the Wikipedia article), but in understanding what &quot;special sauce&quot; each model uses, perhaps thought of as a unique kind of resource.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This question is inspired by &lt;a href=&quot;https://cstheory.stackexchange.com/questions/5927/how-fundamental-is-undecidability-closed&quot;&gt;How fundamental is undecidability?&lt;/a&gt;.  Also related is &lt;a href=&quot;https://cstheory.stackexchange.com/questions/88/what-would-it-mean-to-disprove-church-turing-thesis&quot;&gt;What would it mean to disprove Church-Turing thesis?&lt;/a&gt; which generated lots of interesting discussion, and &lt;a href=&quot;https://cstheory.stackexchange.com/questions/3498/are-there-any-models-of-computation-currently-being-studied-with-the-possibility&quot;&gt;Are there any models of computation currently being studied with the possibility of being more powerful than Turing Machines?&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="109" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.743" LastActivityDate="2020-03-08T10:42:01.943" Title="How do models of hypercomputation overcome the Halting Problem?" Tags="&lt;computability&gt;&lt;hypercomputation&gt;" AnswerCount="3" CommentCount="3" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="5948" PostTypeId="2" ParentId="5937" CreationDate="2011-04-08T08:39:11.483" Score="3" Body="&lt;p&gt;&lt;a href=&quot;http://portal.acm.org/citation.cfm?id=176576&quot; rel=&quot;nofollow&quot;&gt;This&lt;/a&gt; paper might also help in understanding, as its title suggests about the difference between the two consistencies you mention. (However, it is in large parts about the implementation of SeqCon and StrictCon shared objects in message-passing, which is one way to think about the lag you mentioned.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To answer your specific question: &#xA;Sequential consistency demands that all events happen in some sequential order and that what happens on one process is always consistent with time. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;So the reason why &lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;P1:  W1(x,1)  R2(y)0&#xA;-------------------&#xA;P2:  W2(y,1)  R2(x)0&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;is not possible, is that there has to be some global sequence, e.g. &lt;code&gt;W1(x,1) R1(y)0 W2(y,1) R2(x)?&lt;/code&gt;. In this sequence the last read can clearly not return 0. This sequence does not have to be consistent with real-time though. It is entirely possible (sequential consistency) that in real-time the sequence of events was &lt;code&gt;W1(x,1) W2(y,1) R1(y)0 R2(x)1&lt;/code&gt;. This sequence is illegal for strict consistency (as R1(y) did not return the value of the previous write). &lt;/p&gt;&#xA;" OwnerUserId="4483" LastActivityDate="2011-04-08T08:39:11.483" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="5949" PostTypeId="2" ParentId="5934" CreationDate="2011-04-08T09:12:27.973" Score="19" Body="&lt;p&gt;While I am not aware of any such results, other than your own, I think you could broaden the scope somewhat and ask: what results in TCS have been proved using (any kind of) non-standard axioms. By non-standard here I mean something other than classical logic with ZF (or ZFC).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A beautiful example of the kind of work I have in mind are Alex Simpson's results on properties of programming languages using synthetic domain theory. He uses intuitionistic set theory with axioms that contradict classical logic.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, Alex and I used intuitionistic axioms with anti-classical continuity principles to show results about Banach-Mazur computabilty.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, none of the mentioned examples have an &quot;open&quot; status, like your proofs, because we know that the non-standard axioms we used can be understood simply as working inside a model of intuitionistic mathematics, where the model can be shown to exist in ZFC. So the non-standard setup is really a way of getting things done more elegantly, and in principle they could be done in straight ZFC (although I am afraid to think about how exactly that would go).&lt;/p&gt;&#xA;" OwnerUserId="705" LastActivityDate="2011-04-08T09:12:27.973" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="5951" PostTypeId="2" ParentId="5934" CreationDate="2011-04-08T09:29:39.403" Score="0" Body="&lt;p&gt;A lot of constructive mathematics. See Per Martin-Löf's work on constructive set theory, used as a basis for dependently-typed programming languages.&lt;/p&gt;&#xA;" OwnerUserId="4494" LastActivityDate="2011-04-08T09:29:39.403" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="5953" PostTypeId="2" ParentId="5947" CreationDate="2011-04-08T11:44:57.420" Score="7" Body="&lt;p&gt;So you have discovered that TMs cannot solve every problem! The very first step Turing took and is highly logical (although not trivial if you consider the state of computing at that time) was oracles. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Informally, you are adding to your machine a new black-box module that can &quot;somehow&quot; solve the problem your machine cannot, let's say the halting problem. Of course, oracles are just a mathematical abstraction and there is no secret behind their inner workings. Personally, I don't see any way that an oracle can be used to discover a model that disproves the Church-Turing thesis.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Manipulating time and space&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Since the problem with solving the halting problem is knowing when the machine is going to stop, by running the machine in a spacetime that is different from ours can allow you to solve it. From my sources when I was writing a report on models that can efficiently solved $NP$ , theoretical physicists believe that those conditions are satisfied near the edge of black holes. To do this you must have the computing machine very near the black hole but not into its event horizon (so it doesn't get pulled in). Then you dive in the black hole and you can review the whole infinite timeline of your machine in finite time. This probably means that you get pulled in the black hole, so I guess it's not going to be implemented and tested even if we could reach a black hole.&#xA;This is all informal, you start reading a more theoretical physics approach from the wikipedia article on the &lt;a href=&quot;http://en.wikipedia.org/wiki/Malament-Hogarth_spacetime&quot;&gt;Malament-Hogarth_spacetime&lt;/a&gt;. A helpful citation is also the article &lt;a href=&quot;http://www.springerlink.com/content/twv7p0458360h226/&quot;&gt;Does general relativity allow an observer to view an eternity in a finite time? &lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Zeno's machine could solve any problem in 2 seconds, but it is a mathematical hypothetical construction, where each step takes half the time of that before it and the first time takes 1 second. It doesn't provide a real world solution you could implement.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;There are other models I know of, but I think they simply expand on the ideas I've presented here or are pure mathematical constructions, so they are more like &quot;neat tricks&quot; than something that could disprove the Church-Turing thesis.&lt;/p&gt;&#xA;" OwnerUserId="879" LastActivityDate="2011-04-08T11:44:57.420" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="5954" PostTypeId="1" CreationDate="2011-04-08T16:58:39.350" Score="0" ViewCount="267" Body="&lt;p&gt;Could someone give a brief explanation of the computability &amp;amp; learnability theory &amp;amp; the correspondence betwwen them if any? (pointers to good sources of info. on this other than wikipedia are welcome) &lt;strong&gt;Thank You&lt;/strong&gt;.&lt;/p&gt;&#xA;" OwnerUserId="4480" LastActivityDate="2011-04-10T09:16:21.163" Title="Correspondence between Computability &amp; Learnability Theory" Tags="&lt;computability&gt;&lt;lg.learning&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="5955" PostTypeId="1" AcceptedAnswerId="5969" CreationDate="2011-04-08T17:57:31.727" Score="10" ViewCount="388" Body="&lt;p&gt;Let $G$ be a connected graph $G = (V,E)$ with nodes $V = 1 \dots n$ and edges $E$. Let $w_i$ denote the (integer) weight of graph $G$, with $\sum_i w_i = m$ the total weight in the graph. The average weight per node then is $\bar w = m/n$. Let $e_i = w_i - \bar w$ denote the deviation of node $i$ from the mean. We call $|e_i|$ the &lt;em&gt;imbalance&lt;/em&gt; of node $i$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose that the weight between any two &lt;em&gt;adjacent&lt;/em&gt; nodes can differ by at most $1$, i.e., &#xA;$$ w_i - w_j \le 1\; \forall (i,j) \in E.$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question&lt;/strong&gt;: What is the largest possible imbalance the network can have, in terms of $n$ and $m$? To be more precise, picture the vector $\vec{e} = (e_1, \dots, e_n)$. I'd be equally content with results concerning $||\vec{e}||_1$ or $||\vec{e}||_2$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For $||\vec{e}||_\infty$, a simple bound in terms of the graph diameter can be found: Since all $e_i$ must sum to zero, if there is a large positive $e_i$, there must somewhere be a negative $e_j$. Hence their difference $|e_i - e_j|$ is at least $|e_i|$, but this difference can be at most the shortest distance between nodes $i$ and $j$, which in turn can be at most the graph diameter.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm interested in stronger bounds, preferably for the $1$- or $2$-norm. I suppose it should involve some spectral graph theory to reflect the connectivity of the graph. I tried expressing it as a max-flow problem, to no avail. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT: More explanation.&#xA;I'm interested in the $1$- or $2$-norm as they more accurately reflect the total imbalance. A trivial relation would be obtained from $||\vec{e}||_1 \leq n|||\vec{e}||_\infty$, and $||\vec{e}||_2 \leq \sqrt{n}||\vec{e}||_\infty$. I expect, however, that due to the connectedness of the graph and my constraint in the difference of loads between adjacent nodes, that the $1$- and $2$-norms should be much smaller.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Example: Hypercube of Dimension d, with $n = 2^d$. It has diameter $d = \log_2(n)$. The maximum imbalance is then at most $d$. This suggest as an upper bound for the $1$-norm $nd = n\log_2(n)$. So far, I have been unable to construct a situation where this is actually obtained, the best I can do is something along the lines of $||\vec{e}||_1 = n/2$, where I embed a cycle into the Hypercube and have the nodes have imbalances $0$, $1$, $0$, $-1$ etc. So, here the bound is off by a factor of $\log(n)$, which I consider already too much, as I'm looking for (asymptotically) tight bounds.&lt;/p&gt;&#xA;" OwnerUserId="4497" LastEditorUserId="186" LastEditDate="2011-04-11T06:57:06.663" LastActivityDate="2011-04-11T06:57:06.663" Title="Maximum imbalance in a graph?" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;spectral-graph-theory&gt;" AnswerCount="2" CommentCount="6" FavoriteCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="5956" PostTypeId="1" CreationDate="2011-04-08T18:05:24.663" Score="16" ViewCount="2416" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;Is the case of strongly regular graphs&#xA;  the hardest one for GI testing?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;where &quot;hardest&quot; is used in some &quot;common sense&quot; meaning, or &quot;in average&quot;, so to speak.&lt;br&gt;&#xA;Wolfram MathWorld mentions some &quot;pathologically hard graphs&quot;. What are they?  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;My sample set of 25 pairs of graphs: &lt;a href=&quot;http://funkybee.narod.ru/graphs.htm&quot; rel=&quot;noreferrer&quot;&gt;http://funkybee.narod.ru/graphs.htm&lt;/a&gt; I tested a lot of others but all of the same kind - SRG or RG from &lt;a href=&quot;http://www.maths.gla.ac.uk/~es/srgraphs.html&quot; rel=&quot;noreferrer&quot;&gt;http://www.maths.gla.ac.uk/~es/srgraphs.html&lt;/a&gt; or of genreg.exe. If I generate, say, 1000 graphs then I test all 1000 * (1000 - 1) / 2 pairs. Of course, I don't test obvious (&quot;silly&quot;) cases, e.g., graphs with different sorted vectors of degrees etc. But the process is seemed endless and to some extent smells futile. What testing strategy should I choose? Or is this question almost equal to GI problem itself?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I even re-drew on paper a graph from &lt;strong&gt;thesis_pascal_schweitzer.pdf&lt;/strong&gt;&lt;br&gt;&#xA;(suggested by @5501). Its nice pic: &lt;a href=&quot;http://funkybee.narod.ru/misc/furer.jpg&quot; rel=&quot;noreferrer&quot;&gt;http://funkybee.narod.ru/misc/furer.jpg&lt;/a&gt;&lt;br&gt;&#xA;I'm not sure but seems exactly this kind of graphs &quot;which the k-dimensional&lt;br&gt;&#xA;Weisfeiler-Lehman algorithm cannot distinguish.&quot;&lt;br&gt;&#xA;But, gentlemen, to copy graphs to paper from e-books it's too much even for me.  &lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&#xA;25&#xA;&#xA;0100000000000000000000000&#xA;1010000000000000000000000&#xA;0101000000000000000000100&#xA;0010100000000010000000000&#xA;0001010000001000000000000&#xA;0000101000000000000000000&#xA;0000010100000000000000000&#xA;0000001010000000000000000&#xA;0000000101000000000000000&#xA;0000000010100000000000000&#xA;0000000001010000000000000&#xA;0000000000101000000000100&#xA;0000100000010000000000010&#xA;0000000000000010000001010&#xA;0001000000000101000000000&#xA;0000000000000010100000000&#xA;0000000000000001010000000&#xA;0000000000000000101000000&#xA;0000000000000000010100000&#xA;0000000000000000001010000&#xA;0000000000000000000101000&#xA;0000000000000100000010100&#xA;0010000000010000000001000&#xA;0000000000001100000000001&#xA;0000000000000000000000010&#xA;&#xA;0100000000000000000000000&#xA;1010000000000000000000000&#xA;0101000000000000000000100&#xA;0010100000000010000000000&#xA;0001000000001000000010000&#xA;0000001000000000000001000&#xA;0000010100000000000000000&#xA;0000001010000000000000000&#xA;0000000101000000000000000&#xA;0000000010100000000000000&#xA;0000000001010000000000000&#xA;0000000000101000000000100&#xA;0000100000010000000000010&#xA;0000000000000010000001010&#xA;0001000000000101000000000&#xA;0000000000000010100000000&#xA;0000000000000001010000000&#xA;0000000000000000101000000&#xA;0000000000000000010100000&#xA;0000000000000000001010000&#xA;0000100000000000000100000&#xA;0000010000000100000000100&#xA;0010000000010000000001000&#xA;0000000000001100000000001&#xA;0000000000000000000000010&#xA;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Bounty asking:&lt;/strong&gt;&lt;br&gt;&#xA;&lt;strong&gt;===========&lt;/strong&gt;&lt;br&gt;&#xA;&lt;strong&gt;Could anybody confirm that the 2 last pairs (#34 and #35 in left textarea: &lt;a href=&quot;http://funkybee.narod.ru/graphs.htm&quot; rel=&quot;noreferrer&quot;&gt;http://funkybee.narod.ru/graphs.htm&lt;/a&gt; ) are isomorphic?&lt;/strong&gt;&lt;br&gt;&#xA;The matter is that they are based on this: &lt;a href=&quot;http://funkybee.narod.ru/misc/mfgraph2.jpg&quot; rel=&quot;noreferrer&quot;&gt;http://funkybee.narod.ru/misc/mfgraph2.jpg&lt;/a&gt; from &lt;strong&gt;A Counterexample in Graph Isomorphism Testing&lt;/strong&gt; (1987) by M. Furer but I couldn't get them NON-isomorphic..  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;PS#1&lt;/strong&gt;&lt;br&gt;&#xA;I took 4 (must be even square of some positive number (m^2)) fundamental pieces, dovetailed them in a row, -- so I got the 1st global graph, in its copy I swaped (crisscrossing) 2 central edges in each of 4 pieces - so I got the 2nd global graph. But they are turned to be isomorphic. What did I miss or misunderstand in Furer's fairytale?  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;PS#2&lt;/strong&gt;&lt;br&gt;&#xA;Seems I got it.&lt;br&gt;&#xA;3 pairs #33, #34 and #35 ( the very last 3 pairs on &lt;a href=&quot;http://funkybee.narod.ru/graphs.htm&quot; rel=&quot;noreferrer&quot;&gt;http://funkybee.narod.ru/graphs.htm&lt;/a&gt; ) are really amazing cases.  &lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&#xA;Pair #34:&#xA;        G1 and G2 are non-isomorphic graphs.&#xA;        In G1: edges (1-3),(2-4). In G2: edges (1-4),(2-3).&#xA;        No more diffs in them.&#xA;&#xA;Pair #35:&#xA;        G11 and G22 are isomorphic graphs.&#xA;        G11 = G1 and G22 is a copy of G2, with only one difference:&#xA;        Edges (21-23),(22-24) were swapped like this: (21-24),(22-23)&#xA;        ... and two graphs get isomorphic&#xA;        as if 2 swaps annihilate each other.&#xA;        Odd number of such swaps make the graphs again NON-isomorphic&#xA;&lt;/pre&gt;  &#xA;&#xA;&lt;p&gt;Graph #33 (20 vertices, 26 edges) is still this: &lt;a href=&quot;http://funkybee.narod.ru/misc/mfgraph2.jpg&quot; rel=&quot;noreferrer&quot;&gt;http://funkybee.narod.ru/misc/mfgraph2.jpg&lt;/a&gt;&lt;br&gt;&#xA;Graphs from ##34, 35 were made just by coupling 2 basic graphs (#33) -- each getting 40 vertices and 60 = 26 + 26 + 8 edges. By 8 new edges I connect 2 &quot;halves&quot; of that new (&quot;big&quot;) graph. Really amazing and exactly as Martin Furer says...  &lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&#xA;Case #33: g = h            (&quot;h&quot; is &quot;g with one possible edges swap in its middle&quot;&#xA;                                                  (see the picture))&#xA;&#xA;Case #34: g + g != g + h        (!!!)&#xA;&#xA;&#xA;Case #35: g + g = h + h         (!!!)&#xA;&lt;/pre&gt;&#xA;" OwnerUserId="4527" LastEditorUserId="4527" LastEditDate="2011-04-13T07:12:44.247" LastActivityDate="2017-03-05T10:31:57.020" Title="Hard Instances for graph isomorphism testing" Tags="&lt;ds.algorithms&gt;&lt;graph-isomorphism&gt;" AnswerCount="2" CommentCount="6" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="5957" PostTypeId="2" ParentId="5635" CreationDate="2011-04-08T18:29:13.243" Score="4" Body="&lt;p&gt;I discussed this with some colleagues recently, and after a heated discussion we came up with &lt;strong&gt;tabular call caching&lt;/strong&gt;.&lt;/p&gt;&#xA;" OwnerUserId="3941" LastActivityDate="2011-04-08T18:29:13.243" CommentCount="1" CommunityOwnedDate="2011-04-08T18:29:13.243" ContentLicense="CC BY-SA 3.0" />
  <row Id="5958" PostTypeId="2" ParentId="88" CreationDate="2011-04-08T18:37:34.383" Score="4" Body="&lt;p&gt;The following papers from Selim Akl may be of interest and relevant to the discussion:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Akl, S.G., &quot;Three counterexamples to dispel the myth of the universal computer&quot;, Parallel Processing Letters, Vol. 16, No. 3, September 2006, pp. 381 - 403.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Akl, S.G., &quot;Even accelerating machines are not universal&quot;, International Journal of Unconventional Computing, Vol. 3, No. 2, 2007, pp. 105 - 121.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Nagy, M. and Akl, S.G., &quot;Parallelism in quantum information processing defeats the Universal Computer&quot;, Parallel Processing Letters, Special Issue on Unconventional Computational Problems, Vol. 17, No. 3, September 2007, pp. 233 - 262.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is the abstract of the first one:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is shown that the concept of a Universal Computer cannot be realized. Specifically, instances of a computable function F are exhibited that cannot be computed on any machine U that is capable of only a finite and fixed number of operations per step. This remains true even if the machine U is endowed with an infinite memory and the ability to communicate with the outside world while it is attempting to compute F. It also remains true if, in addition, U is given an indefinite amount of time to compute F. This result applies not only to idealized models of computation, such as the Turing Machine and the like, but also to all known general-purpose computers, including existing conventional computers (both sequential and parallel), as well as contemplated unconventional ones such as biological and quantum computers. Even accelerating machines (that is, machines that increase their speed at every step) cannot be universal.&lt;/p&gt;&#xA;" OwnerUserId="4208" LastActivityDate="2011-04-08T18:37:34.383" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="5959" PostTypeId="2" ParentId="5841" CreationDate="2011-04-08T19:22:16.810" Score="3" Body="&lt;p&gt;If your LTL definition includes the &quot;next&quot; operator, then the following applies. You have two sets of traces $A$ and $B$ . Let $b$ be any finite prefix of a trace in $B$. $b$ must also be a finite prefix of a trace in $A$, because otherwise you can convert this to a formula that is just a series of next-operators that detects the difference. Therefore every finite prefix of a $B$-word needs to be a finite prefix of an $A$-word and vice versa. This means that if $A \not= B$, there needs to be a word in $b$ so that all its finite prefixes appear in $A$ but $b$ in itself does not appear in $A$. If $A$ and $B$ are generated by &lt;em&gt;finite&lt;/em&gt; transition systems I think this is impossible. Assuming infinite transition systems, you can define&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$A = \{a,b\}^\omega$ and $B = A \setminus \{w\}$ where $w$ is e.g. the infinite word $aba^2b^2a^3b^3a^4b^4\cdots$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any LTL formula that holds universally for $A$ will hold universally for $B$ because $B$ is a subset of $A$. Any LTL formula that holds for $B$ also holds for $A$; for the sake of contradiction, assume not, but that $\varphi$ holds for every element of $B$ (i.e. for every element of the universe expect for the word $w$) but not for $w$. Then $\neg\varphi$ evaluates to true on $w$ but not on any other word of the universe (and LTL is closed under negation), and there is no LTL formula that can be true only for $w$ as every Buchi automaton that accepts only one infinite word must be strictly cyclic whereas $w$ is not.&lt;/p&gt;&#xA;" OwnerUserId="4576" LastEditorUserId="4576" LastEditDate="2011-04-10T01:08:47.697" LastActivityDate="2011-04-10T01:08:47.697" CommentCount="10" ContentLicense="CC BY-SA 3.0" />
  <row Id="5960" PostTypeId="2" ParentId="5944" CreationDate="2011-04-08T19:29:05.090" Score="2" Body="&lt;p&gt;As suggested by @Suresh, the following paper provides exact results even though is randomized.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Shay Halperin and Uri Zwick. 1994. An optimal randomized logarithmic time connectivity algorithm for the EREW PRAM (extended abstract). In Proceedings of the sixth annual ACM symposium on Parallel algorithms and architectures (SPAA '94). ACM, New York, NY, USA, 1-10. DOI=10.1145/181014.181017 &lt;a href=&quot;http://doi.acm.org/10.1145/181014.181017&quot; rel=&quot;nofollow&quot;&gt;http://doi.acm.org/10.1145/181014.181017&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;From the abstract: Improving a long chain of works we obtain a randomized EREW PRAM algorithm for finding the connected components of a graph G=(V,E) with n vertices and m edges in O(log n) time using an optimal number of O((m+n)/log n) processors. The result returned by the algorithm is always correct. The probability that the algorithm will not complete in O(log n) time is at most 1/n^c for any desired c &gt; 0. &lt;/p&gt;&#xA;" OwnerUserId="4208" LastActivityDate="2011-04-08T19:29:05.090" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="5961" PostTypeId="1" CreationDate="2011-04-08T20:26:42.550" Score="34" ViewCount="947" Body="&lt;p&gt;In the paper &lt;a href=&quot;http://dx.doi.org/10.1016/S0022-0000%2805%2980084-4&quot;&gt;The Random Oracle Hypothesis Is False&lt;/a&gt;, the authors (Chang, Chor, Goldreich, Hartmanis, Håstad, Ranjan, and Rohatgi) discuss the implications of the &lt;strong&gt;random-oracle hypothesis&lt;/strong&gt;. They argue that we know very little about separations between complexity classes, and most results involve either using &lt;em&gt;reasonable&lt;/em&gt; assumptions, or the random-oracle hypothesis. The most important and widely believed assumption is that PH does not collapse. In their words:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;In one approach, we assume as a working hypothesis that PH has infinitely many levels. Thus, any assumption which would imply that PH is finite is deemed incorrect. For example, &lt;a href=&quot;http://dx.doi.org/10.1145/800141.804678&quot;&gt;Karp and Lipton&lt;/a&gt; showed that if NP ⊆ P/poly, then PH collapses to $\Sigma^P_2$. So, we believe that SAT does not have polynomial sized circuits. Similarly, we believe that the Turing-complete and many-one complete sets for NP are not sparse, because &lt;a href=&quot;http://dx.doi.org/10.1016/0022-0000%2882%2990002-2&quot;&gt;Mahaney&lt;/a&gt; showed that these conditions would collapse PH. One can even &lt;a href=&quot;http://dx.doi.org/10.1137/0204037&quot;&gt;show that&lt;/a&gt; for any k ≥ 0, $P^{\mathrm{SAT}[k]} = P^{\mathrm{SAT}[k+1]}$ implies that PH is finite. Hence, we believe that $P^{\mathrm{SAT}[k]} \ne P^{\mathrm{SAT}[k+1]}$ for all k ≥ 0. Thus, if the polynomial hierarchy is indeed infinite, we can describe many aspects of the computational complexity of NP.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Apart from the assumption about PH not collapsing, there have been many other complexity assumptions. For instance:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://dx.doi.org/10.1109/SFCS.1982.95&quot;&gt;Yao&lt;/a&gt; deems the following assumption plausible:&#xA;$RP \subseteq \bigcap\limits_{\epsilon &amp;gt; 0} DTIME(2^{n^\epsilon})$.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://dx.doi.org/10.1016/S0022-0000%2805%2980043-1&quot;&gt;Nisan and Wigderson&lt;/a&gt; make several assumptions related to derandomization.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;The main idea of this question is what its title says: To be an anthology of complexity-theoretic assumptions. It would be great if the following conventions were adhered to (whenever possible):&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;The assumption itself;&lt;/li&gt;&#xA;&lt;li&gt;The first paper in which the assumption is made;&lt;/li&gt;&#xA;&lt;li&gt;Interesting results in which the assumption is used;&lt;/li&gt;&#xA;&lt;li&gt;If the assumption has ever been refuted / proved, or whether its plausibility has ever been discussed.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;&lt;code&gt;This post is meant to be a community wiki; if an assumption is already cited, please edit the post and add new information rather than making a new post.&lt;/code&gt;&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit (10/31/2011):&lt;/strong&gt; Some cryptographic assumptions and information about them are listed in the following websites:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Wiki of &lt;a href=&quot;http://www.ecrypt.eu.org/wiki/index.php/Main_Page&quot;&gt;Cryptographic Primitives and Hard Problems in Cryptography&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Helger Lipmaa's &lt;a href=&quot;http://www.cs.ut.ee/~lipmaa/crypto/link/public/assumptions.php&quot;&gt;Cryptographic assumptions and hard problems&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="873" LastEditorUserId="873" LastEditDate="2011-10-31T12:49:19.947" LastActivityDate="2015-09-01T18:22:54.913" Title="An Anthology of Complexity Assumptions" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;big-list&gt;&lt;complexity-assumptions&gt;" AnswerCount="3" CommentCount="5" FavoriteCount="21" CommunityOwnedDate="2011-04-08T20:45:20.067" ContentLicense="CC BY-SA 3.0" />
  <row Id="5963" PostTypeId="2" ParentId="5956" CreationDate="2011-04-09T04:05:29.200" Score="17" Body="&lt;p&gt;We don't know of any which are provably difficult (if they were provably difficult, then $GI \not\in P$ and therefore $P \neq NP$).  The only study I know of is &quot;The complexity of McKay’s canonical labeling algorithm.&quot; by T. Miyazaki who found a way of making the program nauty take exponential time on a certain class of graphs.  When digging up that reference, however, I found that subsequent work has been done on that exact class of graphs - &lt;a href=&quot;http://gregtener.com/nishe/&quot;&gt;http://gregtener.com/nishe/&lt;/a&gt; - and so perhaps that class should no longer be considered hard?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any links to other results would be much appreciated.&lt;/p&gt;&#xA;" OwnerUserId="730" LastActivityDate="2011-04-09T04:05:29.200" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="5964" PostTypeId="1" CreationDate="2011-04-09T05:01:48.060" Score="17" ViewCount="287" Body="&lt;p&gt;Is there a data structure for representing sequences that supports the operations:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;concat&lt;/strong&gt; takes two sequences of size $m$ and $n$ and produces a new sequence of size $m+n$ by joining them in time $o(\lg \min(n,m/n))$ (or $o(\lg \min(m,n/m))$ if $n&gt;m$).&lt;/li&gt;&#xA;&lt;li&gt;For some constants $c$ and $N$, &lt;strong&gt;approximate split&lt;/strong&gt; takes a sequence of size $n &amp;gt; N$ and divides it into two contiguous non-overlapping sequences of sizes $p$ and $q$ such that $p+q = n$ and $1/c &amp;lt; p/q &amp;lt; c$ in time $o(\lg n)$&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;singleton&lt;/strong&gt; takes a single element and produces a sequence containing only that element in $O(1)$ time.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;linearize&lt;/strong&gt; takes a sequence of size $n$ and produces an array of size $n$ containing the elements of the sequence in time $O(n)$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I'm really looking for worst-case or expected bounds on the time, but amortized bounds would also be interesting. Results in the word RAM would be interesting as well.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here are some results I am aware of. In this table, &lt;strong&gt;sloppy split&lt;/strong&gt; is like approximate split, but the bounds are $1/c &amp;lt; (\lg p)/(\lg q) &amp;lt; c$.&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&#xA;   structure            |           concat           | approx split | sloppy split&#xA;==================================================================================&#xA;doubly-linked lists     |            O(1)            |     O(n)     |      *&#xA;arrays                  |           O(n+m)           |     O(1)     |      *&#xA;weight balanced trees   |         O(lg (n+m))        |     O(1)     |      *&#xA;treaps and skip lists   |       O(lg min(n,m)) **    |   O(1) **    |     *,**&#xA;functional finger trees |  O(min(lg lg m/n, lg lg n) |   O(lg n)    |     O(1)&#xA;&#xA;*: same as approx split&#xA;**: expected&#xA;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;By functional finger trees I mean &quot;&lt;a href=&quot;http://www.math.tau.ac.il/~haimk/papers/loglog23.ps&quot; rel=&quot;nofollow&quot;&gt;Purely functional representations of catenable sorted lists&lt;/a&gt;&quot; by Kaplan and Tarjan.&lt;/p&gt;&#xA;" OwnerUserId="43" LastEditorUserId="43" LastEditDate="2011-04-09T12:23:22.700" LastActivityDate="2011-04-09T12:23:22.700" Title="Sequences with sublogarithmic concat and approximate split" Tags="&lt;ds.data-structures&gt;" AnswerCount="0" CommentCount="0" FavoriteCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="5965" PostTypeId="2" ParentId="5955" CreationDate="2011-04-09T09:17:37.953" Score="3" Body="&lt;p&gt;For connected graphs, the imbalance is upper bounded by the diameter of the graph. In order to bound the imbalance  $|w_i - 1/n\sum_k w_k|$, we can rewrite each $w_k$ as $w_k - v_1 + v_1 - v_2 + v_2 - ... - v_k + v_k - w_i + w_i$  where $w_k, v_1,...,v_k, w_i$ is the shortest path from $w_i$ to $w_k$.  Define $w_{ki} = w_k - v_1 + v_1 - v_2 + v_2 - ... - v_k + v_k - w_i$.  We can write &#xA;$$|w_i - 1/n\sum_k w_k| = |w_i - 1/n\sum_k (w_{ki} + w_i)| = |\sum_{k\neq i} \frac{w_{ki}}{n}|$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Each $w_{ki}$ is upper bounded by the length of the shortest path from $i$ to $k$ by your assumption that $w_i - w_j \leq 1$ for each $i,j\in E$.  Therefore, we get the trivial bound:&#xA;$$|w_i - 1/n\sum_k w_k| \leq \frac{(n-1)}{n} D$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This might not actually be too far from optimal.  I'm thinking of a complete $k$-ary tree where the nodes on each level have weight one higher than the weight of the previous level.  A large fraction of the graph has the highest weight, $D+1$.  So, the average should be skewed towards the top.  As $k$ and $n$ get larger, I expect $m$ to get closer and closer to $D+1$ which means the imbalance should get closer and closer to $D$.&lt;/p&gt;&#xA;" OwnerUserId="4082" LastEditorUserId="4082" LastEditDate="2011-04-09T11:55:41.497" LastActivityDate="2011-04-09T11:55:41.497" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="5966" PostTypeId="2" ParentId="5944" CreationDate="2011-04-09T09:52:17.913" Score="6" Body="&lt;p&gt;As Jeff suggested, I moved my comment to the answer section: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the CRCW PRAM, achieving  $O(\log n)$ time is fairly easy (see J. v. Leeuwen, Handbook of TCS, Chapter 17). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the EREW PRAM, Chong, Han and Lam (JACM, Vol 48(2), 2001) give an $O(\log n)$ algorithm for MST on an EREW PRAM. This should also solve the CC problem. Alternatively, use Reingold's logspace algorithm for undirected connectivity and standard simulation methods. &lt;/p&gt;&#xA;" OwnerUserId="3980" LastActivityDate="2011-04-09T09:52:17.913" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="5968" PostTypeId="2" ParentId="5947" CreationDate="2011-04-09T20:03:49.350" Score="10" Body="&lt;p&gt;In the paper &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=1440829&quot; rel=&quot;nofollow noreferrer&quot;&gt;On the power of multiplication in random access machines&#xA;&lt;/a&gt; it has been proven by Hartmanis and Simon that, if we add unit cost multiplication instruction in a RAM (called MRAM) then for this model P = NP. In addition the languages decided in polynomial time in the MRAM model are exactly the languages in PSPACE. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;As stated in the paper, this results shows that multiplication have the same complexity as addition iff P = PSPACE.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A more related result I have heard of, is that if we add a division instruction with infinite precision in a RAM then we can solve undecidable problems. However I could not find the paper that proves this result. If anyone is familiar with it please comment and I will update the answer.&lt;/p&gt;&#xA;" OwnerUserId="4242" LastEditorUserId="419" LastEditDate="2020-03-08T10:42:01.943" LastActivityDate="2020-03-08T10:42:01.943" CommentCount="0" ContentLicense="CC BY-SA 4.0" />
  <row Id="5969" PostTypeId="2" ParentId="5955" CreationDate="2011-04-09T20:40:02.350" Score="8" Body="&lt;p&gt;Since $|e_i|$ is bounded by the diameter $d$, the $\ell_1$ norm is going to be trivially bounded by $nd$, likewise for the $\ell_2$ norm, except by $\sqrt{n}d$ (in fact the $\ell_p$ norm is bounded by $n^{1/p}d$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The $\ell_1$ case turns out to be surprisingly easy to analyze.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For a path, it's easy to see that $\|\vec e\|_1$ is $O(n^2)$, so you can't do any better than $O(nd)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For a complete $k$-ary tree, you can divide it in half at the root, setting $w_{\text{root}} = 0$, ascending one side and descending the other until the leaves have $|e_i| = |w_i| = \log_k n$, producing $O(n\log_k n) = O(nd)$ again.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For a clique it doesn't really matter how you distribute the weights, since they'll all be within $1$ of each other, and that will yield $O(n) = O(nd)$ again.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;When you realize that what we're talking about here is a function $e : \mathbb{Z} \to [-d/2,d/2] \subset \mathbb{R}$, and then we're taking its $\ell_1$ norm, as long as you can arbitrarily distribute weights $e_i \in [-d/2,d/2]$ evenly across the range, the bound will be $O(nd)$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The only way to change this is to play games with the mass. For instance, if you have several giant cliques at points that are necessarily balanced, like a giant clique with two paths of equal length jutting out of it, then you can count on a bound of only (for example) $O(d^2)$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This may be true for expanders to some degree as well, but I'm not sure. I could imagine a case where you set $w_1 = 0$ in a regular graph and then let the values increase subsequently from every hop. It seems likely that the mean could possibly have the most mass, but I don't know if it would be enough to affect the bound.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think that you could reason similarly about $\ell_2$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the comments we figured out a (loose) $\ell_2$ bound of $O(|E|/\lambda_2(L))$ using the constraints of the problem and some basic spectral graph theory.&lt;/p&gt;&#xA;" OwnerUserId="284" LastEditorUserId="284" LastEditDate="2011-04-10T18:42:25.970" LastActivityDate="2011-04-10T18:42:25.970" CommentCount="14" ContentLicense="CC BY-SA 3.0" />
  <row Id="5970" PostTypeId="1" CreationDate="2011-04-09T21:27:27.783" Score="7" ViewCount="198" Body="&lt;p&gt;In slightly more down-to-earth terms, this question is sort of about lazy evaluation in functional programming - except that it's more ambitious in general than just seeking what a typical Haskell programmer would consider &quot;least-strict&quot;. If the previous sentence made no sense to you, don't worry, ignore it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In domain theory, we examine posets, and for the purposes of this question we will consider a poset to represent the set of possible partially-specified values of a type in a non-strict programming language, such that two partial values $x$ and $y$ are ordered as $x \sqsubseteq y$ iff $y$ is $x$ &quot;plus zero or more extra bits of information&quot;. In other words, $x \sqsubseteq y$ iff y is a version of $x$ where zero or more of the &quot;holes&quot; or &quot;thunks&quot; (if any) have been filled in.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We can (and do) extend this partial order to Scott-continuous functions, by stipulating that $f \sqsubseteq g$ iff for all $x$, $f(x) \sqsubseteq g(x)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, note that in the case of Scott-continuous functions, $f$ can be $\sqsubseteq$ $g$ even if $g$ is distinguishable from $f$ &lt;em&gt;but does not provide any extra information&lt;/em&gt;. This can be the case if $g$ provides the same information &quot;more parsimoniously&quot; (or &quot;more lazily&quot;, depending on how you want to look at it).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is this: If $f$ is a Scott-continuous computable function, and is &quot;total&quot; (i.e. the elements of its domain are all finite, and it takes &quot;fully-defined&quot; values to &quot;fully-defined&quot; values), have techniques been developed for computing a maximal $h$ such that $f \sqsubseteq h$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course, if the domain of $f$ is a finite set, one can just represent $f$ as a lookup table and then use elementary deduction to compute $h$. It's not necessarily efficient in practice, but it yields the correct answer. But what about functions over infinite domains?&lt;/p&gt;&#xA;" OwnerUserId="2048" LastEditorUserId="186" LastEditDate="2011-04-10T07:54:47.790" LastActivityDate="2015-02-13T11:01:59.493" Title="Prior work on finding domain-theoretic suprema of equivalent total functions?" Tags="&lt;pl.programming-languages&gt;&lt;functional-programming&gt;&lt;domain-theory&gt;" AnswerCount="2" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="5971" PostTypeId="1" CreationDate="2011-04-09T21:46:19.723" Score="6" ViewCount="243" Body="&lt;p&gt;Let $G$ be a directed acyclic graph with $V$ vertices and $E$ edges.  Choose some subset of $n\leq V$  &quot;special&quot; vertices $\{v_i\}_{i=1}^n$. How efficiently can we preprocess $(G, \{v_i\})$ so that we can get $O(1)$ reachability queries between any two special nodes $v_i$ and $v_j$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For $n = V$, this is just the usual reachability problem. I want to focus on the case where $n \ll V$. Using $n$ depth-first searches starting at the special vertices, it is straightforward to obtain an $O(nE)$-time algorithm. Can this be beaten? What if we relax to $O(\log n)$, $O(n)$, or $O(\log V)$ query time?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT (May 3, 2011). One comment points out that bounds like $O(nE/V^\alpha)$, $\alpha &amp;gt; 0$ imply sub-cubic matrix multiplication bounds. On the other hand, a bound like $O(\max(n^2 V, E))$ for the restricted reachability problem would not imply a sub-cubic method, yet would still be quite useful for $n \ll E / V$. &lt;/p&gt;&#xA;" OwnerUserId="3474" LastEditorUserId="3474" LastEditDate="2011-05-04T02:54:44.193" LastActivityDate="2011-05-04T02:54:44.193" Title="Restricted Reachability Problem" Tags="&lt;ds.algorithms&gt;&lt;graph-algorithms&gt;&lt;time-complexity&gt;&lt;directed-acyclic-graph&gt;&lt;transitive-closure&gt;" AnswerCount="0" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="5972" PostTypeId="2" ParentId="5934" CreationDate="2011-04-09T23:45:46.433" Score="13" Body="&lt;p&gt;It depends on your definition of &quot;Computer Science&quot;. Take the example below - does it count?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A &lt;em&gt;coding of the integers&lt;/em&gt; is a uniquely decodable binary code of $\mathbb{N}$. If the length of the codewords is non-decreasing we call the code &lt;em&gt;monotone&lt;/em&gt;. A code $C_1$ is &lt;em&gt;better&lt;/em&gt; than a code $C_2$ if $|C_1(n)| - |C_2(n)| \rightarrow -\infty$. In other words, for every $L$, from some point on the codewords of $C_1$ are at least $L$ bits shorter.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A set of codes $S$ is called &lt;em&gt;cofinal&lt;/em&gt; if for every code $C$ there is a code $D \in S$ which is better than $C$. It is well-ordered if it is well-ordered with respect to &quot;better&quot;. A &lt;em&gt;scale&lt;/em&gt; is a well-ordered cofinal set of codes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here are two properties which are independent of ZFC:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;There exists a scale of codes.&lt;/li&gt;&#xA;&lt;li&gt;There exists a scale of monotone codes (i.e. a well-ordered set of monotone codes which is cofinal in the set of all monotone codes).&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="40" LastActivityDate="2011-04-09T23:45:46.433" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="5973" PostTypeId="2" ParentId="5841" CreationDate="2011-04-10T03:00:41.260" Score="9" Body="&lt;p&gt;Reading Baier and Katoen closely, they are considering both finite and infinite transition systems. See page 20 of that book for definitions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First, take the simple transition system $EVEN$: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/1bvDJ.png&quot; alt=&quot;EVEN&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Lemma: No LTL formula recognizes the language $L_{even} = $Traces$(EVEN)$. A string $c \in L_{even}$ iff $c_i = a$ for even $i$. See &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=1382435.1382735&quot; rel=&quot;nofollow noreferrer&quot;&gt;Wolper '81&lt;/a&gt;. You can prove this by first showing that no LTL formula with $n$ &quot;next-time&quot; operators can distinguish the strings of the form $p^i\neg p p^\omega$ for $i&amp;gt; n$, by a simple induction.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider the following (infinite, non-deterministic) transition system $NOTEVEN$. Note that there are two different initial states: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/MIzoW.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Its traces are precisely $\{a,\neg a\}^\omega - L_{even}$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Corollary to the Lemma: If $NOTEVEN \vDash \phi$ then $EVEN \not\vDash \neg\phi$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, consider this simple transition system $TOTAL$:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/W7rBc.png&quot; alt=&quot;Total TS&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Its traces are clearly $\{a,\neg a\}^\omega$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thus, $NOTEVEN$ and $TOTAL$ are not trace equivalent. Suppose they were LTL inequivalent. Then we would have an LTL formula $\phi$ such that $NOTEVEN \vDash \phi$ and $TOTAL \not\vDash \phi$. But then, $EVEN\vDash \neg\phi$. This is a contradiction.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks to Sylvain for catching a stupid bug in the first version of this answer.&lt;/p&gt;&#xA;" OwnerUserId="319" LastEditorUserId="319" LastEditDate="2011-04-10T21:22:34.023" LastActivityDate="2011-04-10T21:22:34.023" CommentCount="10" ContentLicense="CC BY-SA 3.0" />
  <row Id="5975" PostTypeId="1" CreationDate="2011-04-10T08:08:38.037" Score="7" ViewCount="1243" Body="&lt;p&gt;i try to find if there was an attempt to prove any famous Number Theory conjectures like Goldbach conjecture or Twin Prime conjectures through Graph Theory.&#xA;I have in my mind something like the approach to Fermat Theorem by Andrew Wiles through the Taniyama-Shimura conjecture. &#xA;Is there something like that (succesfull or not) using Graph Theory to attack Number Theory?&lt;/p&gt;&#xA;" OwnerUserId="4616" LastEditorUserId="186" LastEditDate="2011-04-10T08:10:55.990" LastActivityDate="2011-04-11T10:47:06.687" Title="Approaching Number Theory conjectures through Graph Theory" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;big-picture&gt;&lt;nt.number-theory&gt;" AnswerCount="4" CommentCount="4" FavoriteCount="2" CommunityOwnedDate="2011-04-10T17:32:12.743" ContentLicense="CC BY-SA 3.0" />
  <row Id="5976" PostTypeId="2" ParentId="5954" CreationDate="2011-04-10T09:16:21.163" Score="3" Body="&lt;p&gt;Let's stick to the classical PAC (supervised learning) setting.&#xA;The short answer is that if computability is not an issue, then any class of functions with finite VC-dimension is PAC learnable via the Empirical Risk Minimization algorithm (just pick the hypothesis with the minimal sample error).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course, in many cases of interest ERM is computationally hard (e.g., if your class of functions is 3-term DNFs; see &lt;a href=&quot;http://mitpress.mit.edu/catalog/item/default.asp?ttype=2&amp;amp;tid=7334&quot; rel=&quot;nofollow&quot;&gt;book&lt;/a&gt; by Kearns and Vazirani.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As Suresh commented above, the question is too vague and open-ended to give a comprehensive answer, but hopefully the above is a start...&lt;/p&gt;&#xA;" OwnerUserId="1746" LastActivityDate="2011-04-10T09:16:21.163" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="5977" PostTypeId="2" ParentId="1198" CreationDate="2011-04-10T10:26:10.973" Score="8" Body="&lt;p&gt;Just found the following two websites. They were recommended by some folks, but I have not evaluated them yet:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;VideoLectures.net: &lt;a href=&quot;http://videolectures.net/Top/Computer_Science/&quot;&gt;http://videolectures.net/Top/Computer_Science/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;AacademicEarth.org: &lt;a href=&quot;http://academicearth.org/subjects/computer-science/&quot;&gt;http://academicearth.org/subjects/computer-science/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="873" LastActivityDate="2011-04-10T10:26:10.973" CommentCount="0" CommunityOwnedDate="2011-04-10T10:26:10.973" ContentLicense="CC BY-SA 3.0" />
  <row Id="5978" PostTypeId="1" AcceptedAnswerId="5989" CreationDate="2011-04-10T13:09:02.717" Score="16" ViewCount="384" Body="&lt;p&gt;Take a directed graph $G$ where the edges are decorated with a a natural  number. We want the set of all paths $P$ between two vertices $v_1$ and $v_2$ such that each successive edge in the path is decorated with a natural number that is greater than the natural number decorating the previous edge. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;An application for this would be bus or train schedules. If you're trying to determine the different routes between two cities based on transfers between stations. (You can't take a second train scheduled to leave for before the first one arrives.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I've informally been calling this a &quot;scheduled graph&quot;. But I don't know what the name for this in the literature is.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any references to algorithms related to this are of interest as well.&lt;/p&gt;&#xA;" OwnerUserId="4494" LastEditorUserId="1800" LastEditDate="2011-04-10T16:55:36.820" LastActivityDate="2011-04-11T00:13:59.537" Title="What is the name of this type of directed graph problem?" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;graph-algorithms&gt;&lt;terminology&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="5980" PostTypeId="2" ParentId="5975" CreationDate="2011-04-10T16:34:02.773" Score="3" Body="&lt;p&gt;There's &lt;a href=&quot;http://www.proofwiki.org/wiki/Schur%27s_Theorem_%28Ramsey_Theory%29&quot; rel=&quot;nofollow&quot;&gt;Schur's theorem&lt;/a&gt; which is proved using graphical Ramsey theory.&lt;/p&gt;&#xA;" OwnerUserId="40" LastActivityDate="2011-04-10T16:34:02.773" CommentCount="0" CommunityOwnedDate="2011-04-10T16:34:02.773" ContentLicense="CC BY-SA 3.0" />
  <row Id="5981" PostTypeId="2" ParentId="5674" CreationDate="2011-04-10T16:56:55.360" Score="3" Body="&lt;p&gt;It would seem from you definition of &lt;strong&gt;MPostBQP&lt;/strong&gt;, that this is simply &lt;strong&gt;PostBQP&lt;/strong&gt; in fancy dress. Rather than trying to convince you that the measurements can be reordered, perhaps you would find it more convincing to prove &lt;strong&gt;MPostBQP = PP&lt;/strong&gt;, since it is known that &lt;strong&gt;PostBQP = PP&lt;/strong&gt; (see &lt;a href=&quot;http://arxiv.org/abs/quant-ph/0412187&quot; rel=&quot;nofollow&quot;&gt;quant-ph/0412187&lt;/a&gt;). To prove this, we separate it into two tasks: &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;proving that &lt;strong&gt;PP $\subseteq$ MPostBQP&lt;/strong&gt; and &lt;/li&gt;&#xA;&lt;li&gt;proving that &lt;strong&gt;MPostBQP $\subseteq$ PP&lt;/strong&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;The first task is trivial, since &lt;strong&gt;PP=PostBQP=MPostBQP[1] $\subseteq$ MPostBQP&lt;/strong&gt;. The second task is is really the main question here, but is answerable by making a simple adaptation to the proof that &lt;strong&gt;PostBQP = PP&lt;/strong&gt;, given in &lt;a href=&quot;http://arxiv.org/abs/quant-ph/0412187&quot; rel=&quot;nofollow&quot;&gt;quant-ph/0412187&lt;/a&gt; (see the &lt;a href=&quot;http://en.wikipedia.org/wiki/PostBQP&quot; rel=&quot;nofollow&quot;&gt;Wikipedia page on PostBQP&lt;/a&gt; for an outline of the proof). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The following is adapted from the Wikipedia proof sketch for &lt;strong&gt;PostBQP = PP&lt;/strong&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;We can write out the circuit corresponding to any &lt;strong&gt;MPostBQP&lt;/strong&gt; computation as a series of unitary gates and post-selections. Without loss of generality we can assume that once a qubit is post-selected, it is never again acted upon. Thus, the quantum state obtained at the end of the computation is given by&#xA;$|\psi\rangle = \prod_i (P_i^1 \prod_j A^{ij}) |x\rangle$, where $P_i^1$ denotes the projector for qubit $i$ onto the $|1\rangle$ subspace and $A^{ij}$ are the matrices corresponding to elementary gates. Note that without loss of generality we can assume that all the entries in $A^{ij}$ are real at the expense of an additional qubit.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, let $\{p_i\}$ be the set of qubits which are post-selected upon, and let $q$ be the output qubit. We define $\pi_0 = \sum_{w \in S_0} \psi_w^2$ and $\pi_1 = \sum_{w \in S_1} \psi_w^2$, where $S_0$ ($S_1$) is the set of computational basis states for which $p_i = 1 \forall i$ and $q=0$ ($q=1$). The definition of &lt;strong&gt;MPostBQP&lt;/strong&gt; then ensures that either $\pi(1) \geq 2\pi(0)$ or $\pi_0 \geq 2\pi_1$. The idea is then to construct a &lt;strong&gt;PP&lt;/strong&gt; machine to compare $\pi_0$ and $\pi_1$. Expressing $\psi_w$, the part of the final wavesfunction $\psi$ corresponding to a particular computational basis state $w$, as a sum over paths and replacing the indices $i$ and $j$ on $A^{ij}$ with a single index $k$ running from 1 to $G$, we obtain $\psi_w = \sum_{\alpha_1 ... \alpha_G} A^{G}_{w,\alpha_G} A^{G-1}_{\alpha_G,\alpha_{G-1}} ... A^{1}_{\alpha_2,\alpha_1} x_{\alpha_1}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The idea, then, is to construct a &lt;strong&gt;PP&lt;/strong&gt; machine which accepts with probability $\frac{1}{2}(1+C(\pi_1-\pi_0))$ for some $C&amp;gt;0$, since then $x \in L$ would imply that $\frac{1}{2}(1+\pi_1-\pi_0)&amp;gt; \frac{1}{2}$ and $\frac{1}{2}(1+\pi_1-\pi_0) &amp;lt; \frac{1}{2}$ if $x \notin L$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now let $\alpha = \{\alpha_i\}$ and $F(A,w,\alpha,X) = A^{G}_{w,\alpha_G} A^{G-1}_{\alpha_G,\alpha_{G-1}} ... A^{1}_{\alpha_2,\alpha_1} x_{\alpha_1}$. Then $\pi_1 - \pi_0 = \sum_{w \in S_1} \sum{\alpha,\alpha&amp;#39;} F(A,w,\alpha,X)F(A,w,\alpha&amp;#39;,X) - \sum_{w \in S_0} \sum{\alpha,\alpha&amp;#39;} F(A,w,\alpha,X)F(A,w,\alpha&amp;#39;,X)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Such a &lt;strong&gt;PP&lt;/strong&gt; machine can then be defined as follows:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Pick a computational basis state $w$ uniformly at random.&lt;/li&gt;&#xA;&lt;li&gt;If $w \notin S_0 \cup S_1$, then stop and accept with probability $1/2$, and reject otherwise.&lt;/li&gt;&#xA;&lt;li&gt;Pick two sequences $\alpha$ and $\alpha&amp;#39;$ of $G$ computational basis states uniformly at random.&lt;/li&gt;&#xA;&lt;li&gt;Compute $X = F(A,w,\alpha,x)F(A,w,\alpha&amp;#39;,x)$.&lt;/li&gt;&#xA;&lt;li&gt;If $w\in S_1$ then accept with probability $\frac{1+X}{2}$, and reject otherwise. Alternatively, if $w\in S_0$ then accept with probability $\frac{1-X}{2}$, and reject otherwise.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;This then puts &lt;strong&gt;MPostBQP[k] $\subseteq$ PP&lt;/strong&gt;, for all $k$, and hence &lt;strong&gt;MPostBQP&lt;/strong&gt; is no more powerful than &lt;strong&gt;PostBQP&lt;/strong&gt;.&lt;/p&gt;&#xA;" OwnerUserId="204" LastActivityDate="2011-04-10T16:56:55.360" CommentCount="17" ContentLicense="CC BY-SA 3.0" />
  <row Id="5982" PostTypeId="2" ParentId="5975" CreationDate="2011-04-10T17:09:28.167" Score="2" Body="&lt;p&gt;Perhaps start on &lt;a href=&quot;http://en.wikipedia.org/wiki/Additive_number_theory&quot; rel=&quot;nofollow&quot;&gt;this wikipedia entry on additive number theory&lt;/a&gt; and its cited references.&lt;/p&gt;&#xA;" OwnerUserId="233" LastEditorUserId="233" LastEditDate="2011-04-11T10:47:06.687" LastActivityDate="2011-04-11T10:47:06.687" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="5983" PostTypeId="1" CreationDate="2011-04-01T13:13:29.877" Score="23" ViewCount="690" Body="&lt;p&gt;I have a fairly unique problem to solve and I am hoping somebody here can give me some insight into how to best tackle it.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Problem:&lt;/strong&gt; Suppose a list of N numbers is shared among a set of participants in such a way that no single participant actually knows any of the numbers they share. All participants know N (the size of the list of numbers) and the sum of all of the numbers on the list, but nothing more a priori.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By working together, it is possible to compare two shared numbers a and b in such a way that the participants learn whether the statement &quot;a &amp;lt; b&quot; is true, but nothing more. However, this is an extremely expensive thing to do (read: it could take many seconds, perhaps even minutes, to complete a single comparison). See the end of this post for a bit more information on how such a thing is possible.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;At the end of the day, the parties wish to output of which indices in the list correspond to the &quot;top K percent&quot; (the K% which is largest) shared numbers in the list. This can of course be done by sorting, or using a &quot;top K&quot; selection algorithm. However, these tend to use an aweful lot of comparisons, which is to be avoided. (These are either O(n log n) or O(n), with fairly large hidden constants.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another alternative is to &quot;guess&quot; at a number X for which (1-K)% are smaller than X and K% are larger. Then you can compare each element with X and see how many are larger and how many are smaller. If your guess was wrong, revise it using something like a binary search until you converge on a correct solution. This takes far fewer comparisons if your guess is good.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, my question is, &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Given only N and the sum, what is the best way to &quot;predict&quot; X? &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Of course this will depend on the underlying distribution. For different use-cases the underlying distribution will likely be different but will be known, so I am interested in good solutions for all the common ones (normal, uniform, exponential, perhaps a few others). I would also love to hear suggestions regarding how best to do the &quot;binary-like&quot; search to minimize the number of steps given an assumption about the underlying distribution.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;APPENDIX:&lt;/strong&gt; Each value on the list is shared among participants using Shamir's secret sharing scheme. Suppose there are M participants and the list is of length N. Then, the i-th number on the list is represented by a polynomial $f_i$ of degree M-1 over some finite field F. The constant term of $f_i$ is the number that is shared, all other coefficients are chosen uniformly at random from F. The j-th participant's shares are then $f_i(j)$, $1\leq i\leq N$. Given this share, the participant has no information (in an information-theoretic sense) about the number; in fact, no proper subset of participants can combine knowledge to learn any information about the shared numbers. However, using a sophisticated secure multi-party computation technique, it is possible to determine if one shared value is less than another without revealing any more information. This technique involves all participants cooperating, which is why it is so costly to do and should be done the fewest number of times possible.&lt;/p&gt;&#xA;" OwnerDisplayName="ryan" LastEditorUserId="186" LastEditDate="2011-04-11T06:53:49.333" LastActivityDate="2013-04-30T23:01:20.817" Title="Estimating a percentile among distributed nodes without revealing values" Tags="&lt;cr.crypto-security&gt;&lt;dc.distributed-comp&gt;&lt;st.statistics&gt;&lt;privacy&gt;" AnswerCount="1" CommentCount="12" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="5984" PostTypeId="2" ParentId="5983" CreationDate="2011-04-01T13:40:21.773" Score="1" Body="&lt;p&gt;You seem to ask two related questions:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;“which indices in the list correspond to the top”&lt;/li&gt;&#xA;&lt;li&gt;“Estimating a percentile”, “a number X for which … K% are larger”&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;These may need very different numbers of pairwise comparisons.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An other aspect that may have significant impact is what information is shared. Everybody knows the number he received, knows the sum, and the yes/no results of comparisons they have taken part in. However, you also say that “parties wish to output of which indices in the list correspond to the top” thus you suggest that some information about the indices will be shared. Depending on what exactly is shared you may get very different solutions again.&lt;/p&gt;&#xA;" OwnerDisplayName="GaBorgulya" LastActivityDate="2011-04-01T13:40:21.773" CommentCount="3" ContentLicense="CC BY-SA 2.5" />
  <row Id="5985" PostTypeId="1" CreationDate="2011-04-10T19:25:22.720" Score="27" ViewCount="520" Body="&lt;p&gt;I'm looking for error-correcting codes of the following type:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;binary codes with constant rate, &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;decodable from some constant fraction of errors, by a decoder implementable as a Boolean circuit of size $O(N)$, where $N$ is the encoding length.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Some background: &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Spielman, in &lt;a href=&quot;http://tinyurl.com/3ebfd28&quot;&gt;Linear-Time Encodable and Decodable Error-Correcting Codes&lt;/a&gt;, gave codes decodable in $O(N)$ time in the &lt;em&gt;logarithmic-cost RAM model&lt;/em&gt;, and also decodable by $O(N \log N)$-sized circuits.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Guruswami and Indyk gave an improved construction in &lt;a href=&quot;http://tinyurl.com/3gnjeov&quot;&gt;Linear Time Encodable/Decodable Codes with Near-Optimal Rate&lt;/a&gt;.  They don't analyze the resulting circuit complexity, although I believe it is also $\Theta(N \log N)$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Thanks in advance!&lt;/p&gt;&#xA;" OwnerUserId="223" LastEditorUserId="186" LastEditDate="2011-04-13T11:58:53.630" LastActivityDate="2014-06-11T01:16:05.890" Title="Good codes decodable by linear-sized circuits?" Tags="&lt;co.combinatorics&gt;&lt;it.information-theory&gt;&lt;coding-theory&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="5986" PostTypeId="2" ParentId="5975" CreationDate="2011-04-10T20:25:26.297" Score="4" Body="&lt;p&gt;There are some results proven by graph theory, however I am not sure whether those results are good examples you want. Because number theory has offsprings by cross-breeding with some other fields, like arithmetic combinatorics and &lt;a href=&quot;http://en.wikipedia.org/wiki/Additive_number_theory&quot; rel=&quot;nofollow&quot;&gt;additive number theory&lt;/a&gt; &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In number theory, Szemerédi's theorem that was formerly the Erdős–Turán conjecture is a good example proven by graph theory. (Although it is not necessary to prove by graph theory. Other proofs are using different approaches, e.g., Hillel Furstenberg uses ergodic theory, and Timothy Gowers uses both Fourier analysis and combinatorics)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;And this result leads to &lt;a href=&quot;http://en.wikipedia.org/wiki/Green%E2%80%93Tao_theorem&quot; rel=&quot;nofollow&quot;&gt;Green–Tao theorem&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="84" LastActivityDate="2011-04-10T20:25:26.297" CommentCount="0" CommunityOwnedDate="2011-04-10T20:25:26.297" ContentLicense="CC BY-SA 3.0" />
  <row Id="5987" PostTypeId="2" ParentId="5975" CreationDate="2011-04-10T21:30:15.013" Score="1" Body="&lt;p&gt;Riemann Hypothesis is equivalent to a statement about Merten's function, which is in turn gotten by a determinant of a matrix given by RedHeffer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If I recollect correctly, Graph Theory has been used to investigate the eigenvalues of the RedHeffer Matrix (you might find that in papers by Barrett and Jarvis).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Sorry, I don't have a link handy.&lt;/p&gt;&#xA;" OwnerUserId="126" LastActivityDate="2011-04-10T21:30:15.013" CommentCount="0" CommunityOwnedDate="2011-04-10T21:30:15.013" ContentLicense="CC BY-SA 3.0" />
  <row Id="5988" PostTypeId="2" ParentId="5674" CreationDate="2011-04-11T00:09:57.793" Score="5" Body="&lt;p&gt;It seems from the comments that Shaun has in mind something different from what is normally understood by post-selection. I now understand this to mean that the statistics for any measurements made prior to a particular postselection should not be altered by the subsequent postselection. This is akin to having a projection operator where the normalization is carried out over each branch of the wavefunction corresponding to a particular measurement resut, rather than over the wavefunction as a whole.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In this case, the arguments given in other answers by myself and Neil no longer hold. Indeed it is easily seen that $P^{PP[k]}\subseteq$ &lt;strong&gt;MPostBQP&lt;/strong&gt;[k], since &lt;strong&gt;MPostBQP&lt;/strong&gt;$[k]$ can be viewed as a BQP machine which can make $k$ queries to a PP oracle, and hence $P^{\# P}\subseteq$ &lt;strong&gt;MPostBQP&lt;/strong&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So now we have a non-trivial lower bound, what about an upper bound? Well, clearly the problem is in &lt;strong&gt;PSPACE&lt;/strong&gt;, but can we do better? Actually, I think we can.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We can write any computation in &lt;strong&gt;MPostBQP&lt;/strong&gt; as a sequence of layers of the form:&#xA;quantum computation followed by a postselection, followed by a single qubit measurement. Indeed, this might be an alternate way to formulate &lt;strong&gt;MPostBQP&lt;/strong&gt;[k], as a computation composed of $k$ such layers (this is slightly different from Shaun's definition which I believe is intended to count only the number of post-selections), followed by a final layer of classical post-processing. I will use this definition of &lt;strong&gt;MPostBQP&lt;/strong&gt;[k] in the following, as it leads to a more aesthetically pleasing result.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;The below is updated from the original version to fix a hole in the proof.&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First we wish to calculate the outcome of the measurement of the first qubit measured (not post-selected!). To do this we first note that any quantum computation can be expressed using only Hadamard gates and Toffoli gates, and the amplitude $\alpha_w$ of a particular computational basis state $|w\rangle$ in the output can be written as the sum of at most $2^{H}$ terms $a_{j,w}$, where $H$ is the total number of Hadamard gates, each of which corresponds to a unique computational path. Clearly, $a_{j,w} = \pm 2^{-H/2}$. The probability of obtaining a final state $|w\rangle$ is then given by $\alpha_w^2 = (\sum_j a_{j,w})^2 = \sum_{i,j} a_{j,w}a_{i,w}$. We wish to calculate the total probability of measuring a 1. Let $S_0$ be the set of computational basis states which meet the post-selection criteria (i.e. the post-select qubit is 1) and result in 0 for the measured qubit, and let $S_1$ be the set of computational basis states which meet the post-selection criteria and result in 1 for the measured qubit. We can define &#xA;$$\pi_0^\pm = \sum{w \in S_0} \pm \sum_{sign(a_{j,w}a_{i,w}) = \pm} a_{j,w}a_{i,w}$$&#xA;and &#xA;$$\pi_1^\pm = \pm \sum_{w \in S_1} \sum_{sign(a_{j,w}a_{i,w}) = \pm} a_{j,w}a_{i,w}.$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The in this case the probability of measuring a 1 conditioned on a 1 for the post-selected qubit is given by $\frac{\pi_1^+ - \pi_1^-}{\pi_1^+ - \pi_1^-  - \pi_0^- + \pi_0^+}$. As we can determine this with 4 calls to a #P oracle. We use this to produce a random bit $b_1$ which is 1 with probability $X_1$, the same as the quantum measurement. Thus &lt;strong&gt;MPostBQP&lt;/strong&gt;[1] is in $BPP^{\# P[4]}$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Next we calculate the measurement result of the second qubit. To do this, we run the same &lt;strong&gt;#P&lt;/strong&gt; queries as for the first layer, but on the circuit obtained by composing the first two layers, and where we postselect on 1 for each of the post-selected qubits, but also on $b_1$ for the output of measurement 1. Note that although this is postselecting on the states of 3 qubits rather than 1, this is a trivial modification to the $\# P$ queries, by simply adding an ancilla which is set only if all 3 qubits meet the conditions required and post-selecting instead on this ancilla. This then generates the correct conditional output probabilities for the result of the second measured qubit, which we label $b_2$. Note that we have now used 8 calls to the &lt;strong&gt;#P&lt;/strong&gt; oracle.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We repeat this process iteratively, so that at a layer $j$ we postselect on 1 for all the $j$ preceeding post-selected qubits and on $b_{i&amp;lt;j}$ for all the previous measurement, and label the outcome of the corresponding $P^{\# P}$ machine $b_j$. In total this has required $4j$ oracle queries. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thus we have &lt;strong&gt;MPostBQP&lt;/strong&gt;[k] $\subseteq P^{\# P[4k]}$, which combined with the previous result that $P^{PP[k]}\subseteq$ &lt;strong&gt;MPostBQP&lt;/strong&gt;$[k]$, implies that $P^{PP[k]} \subseteq$ &lt;strong&gt;MPostBQP&lt;/strong&gt;[k] $\subseteq BPP^{\# P[4k]}$, and hence &lt;strong&gt;MPostBQP&lt;/strong&gt; $= P^{\# P}$.  &lt;/p&gt;&#xA;" OwnerUserId="204" LastEditorUserId="204" LastEditDate="2011-04-11T14:55:14.413" LastActivityDate="2011-04-11T14:55:14.413" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="5989" PostTypeId="2" ParentId="5978" CreationDate="2011-04-11T00:13:59.537" Score="14" Body="&lt;p&gt;As far as I know, the problem is sometimes called &quot;nondecreasing paths&quot;, and was studied since the 50s.&#xA;See for instance this paper: G. J. Minty. A Variant on the Shortest-Route Problem, Operations Research, 6(6):882–883, 1958.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The version of the problem which asks for the nondecreasing path from $s$ to $t$ with minimum last edge weight is typically referred to as &quot;earliest arrivals&quot; (since the last edge weight is the arrival time in the itinerary application). There's a lot of work in the literature focusing on this version.&lt;/p&gt;&#xA;" OwnerUserId="410" LastActivityDate="2011-04-11T00:13:59.537" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="5991" PostTypeId="1" AcceptedAnswerId="6046" CreationDate="2011-04-11T04:17:57.817" Score="9" ViewCount="595" Body="&lt;p&gt;Here's a problem that has been bugging me for a while. Let's say a &lt;em&gt;string&lt;/em&gt; is a sequence of 1s and 0s, and a &lt;em&gt;wildcard string&lt;/em&gt; is a sequence of 1, 0, and ?s. All strings and wildcard strings have the same length. These are standard UNIX wildcards; 10??1 matches 10011, 10111, etc -- a ? matches a 1 or a 0 in that position. If $v$ and $w$ are wildcard strings, then we write $v \leq w$ if every string matched by $v$ is also matched by $w$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;The problems&lt;/strong&gt;: given a set $S$ of wildcard strings, and a query $v$ (also a wildcard string), does there exist a $w \in S$ such that $v \leq w$? And if not, can we add $v$ to $S$ efficiently?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here's the obvious $O(\frac{k}{m}n)$ solution (where $k$ is the size of the strings, $m$ is the word size of RAM (usually 32 or 64)): go through each element of the list and test the condition (which can be done in 2 or 3 operations using bit-twiddling). Also test if $v \geq w$ holds for any item $w$ while we're scanning. If $v$ fails our test, then add $v$ to the set, and remove the $w$'s we marked.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But that's not fast enough. It'd be really cool if there was a $O(\log n)$ solution, or, in a perfect world, complexity similar to a radix tree ($O(k)$). &lt;strong&gt;It's also OK for the queries to be approximately correct&lt;/strong&gt;: that is, if $v \leq w$, then return yes or no; but if the condition doesn't hold definitely return no. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Although this doesn't help the worst case complexity, you can assume that all elements in $S$ are bounded by a wildcard string; that is, there exists some $v$ such that for all $w \in S$, $v \geq w$.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Ideas I've tried&lt;/h2&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Wildcard strings form a join-semilattice. We could have an n-ary tree that holds wildcard strings; the leaves would be wildcard strings, and the branches would represent the join of all of the children. If the query and the join are incomparable, then we don't have to waste time trying to compare with all of the children of that branch. Furthermore, if we make an update, and the update happens to be greater than a join, we can simply delete the whole branch. Unfortunately, this is still $O(n)$ in the worst case, and we don't always find the &quot;best&quot; joins to make when scanning through the tree to add elements.&lt;/li&gt;&#xA;&lt;li&gt;One could form a radix trie of $S$. We know that $S$ is bounded by some wildcard string; assume that it is ?0?0. Then all of the branches of the trie only have to be on the 1st and 3rd bits of the strings. If the current bit we are branching on of the query is a 1, we have to check the ? and the 1 branches; if it is 0, we check the ? and the 0 branches; if it is ?, we only check the ? branch. Because we have to potentially take multiple branches, this doesn't seem very good (it is hard to update the trie for the same reason). Since matching is a very very quick operation, it hurts in comparison to the naive strategy to do a lot of traversing in a tree (following a bunch of pointers is much more expensive than doing some ORs and ANDs).&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;h2&gt;Related work&lt;/h2&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;In the networking community, this problem manifests as &quot;packet classification&quot;, &lt;a href=&quot;http://www.google.com/url?sa=t&amp;amp;source=web&amp;amp;cd=1&amp;amp;ved=0CB4QFjAA&amp;amp;url=http%3A%2F%2Fciteseerx.ist.psu.edu%2Fviewdoc%2Fdownload%3Fdoi%3D10.1.1.24.861%26rep%3Drep1%26type%3Dpdf&amp;amp;ei=Bn-iTaf_KKTL0QGFrdWaDw&amp;amp;usg=AFQjCNFwaMDw-_NWFxeZALn4RO_7Vmx1xQ&quot;&gt;here is a good survey of the algorithms and data structures known&lt;/a&gt;. Unfortunately, the assumption is almost always made that the wildcard strings only match prefixes, and the query is a tuple of such strings. Of course, we can always convert a general wildcard string to meet these criteria: 1?00?1?? is (1, ?, 0, 0, ?, 1, ?, ?). This would not be efficient, though. The other assumption made is that these tuples are associated with a &quot;color&quot;, and querying should return the color (not just that it matched). This makes the problem much harder, because we have to order the tuples (or else it is ambiguous which of (0, ?) and (?, 1) matches (0, 1)).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;In the algorithms community I've found a lot of results related to finding substrings that match with &quot;don't cares&quot;. This is a considerably harder problem, and I can't really make use of any of the techniques.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;h2&gt;In conclusion&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;Thanks for any help!&lt;/p&gt;&#xA;" OwnerUserId="3062" LastEditorUserId="3062" LastEditDate="2011-04-11T17:05:58.420" LastActivityDate="2011-04-13T14:51:57.047" Title="Deciding if a wildcard string is completely matched by another wildcard string in a set" Tags="&lt;ds.algorithms&gt;&lt;ds.data-structures&gt;&lt;approximation-algorithms&gt;&lt;string-matching&gt;&lt;string-search&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="5992" PostTypeId="2" ParentId="1198" CreationDate="2011-04-11T10:58:20.840" Score="9" Body="&lt;p&gt;&lt;a href=&quot;http://www.youtube.com/user/MIT&quot;&gt;MIT's Youtube channel&lt;/a&gt; might be useful as well.&lt;/p&gt;&#xA;" OwnerUserId="4623" LastEditorUserId="873" LastEditDate="2011-04-11T17:50:54.633" LastActivityDate="2011-04-11T17:50:54.633" CommentCount="2" CommunityOwnedDate="2011-04-11T10:58:20.840" ContentLicense="CC BY-SA 3.0" />
  <row Id="5993" PostTypeId="2" ParentId="5970" CreationDate="2011-04-11T11:31:04.937" Score="5" Body="&lt;blockquote&gt;&#xA;&lt;p&gt;My question is this: If f is a Scott-continuous computable function, and is &amp;quot;total&amp;quot; (i.e. the elements of its domain are all finite, and it takes &amp;quot;fully-defined&amp;quot; values to &amp;quot;fully-defined&amp;quot; values), have techniques been developed for computing a maximal h such that f⊑h?&lt;/p&gt;&#xA;&lt;p&gt;Of course, if the domain of f is a finite set, one can just represent f as a lookup table and then use elementary deduction to compute h. It's not necessarily efficient in practice, but it yields the correct answer. But what about functions over infinite domains?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Scott-continuity rules out the lookup table approach. For a concrete counterexample, let's start with the Sierpinksi domain &lt;span class=&quot;math-container&quot;&gt;$O = \{\bot, \top\}$&lt;/span&gt;, with order &lt;span class=&quot;math-container&quot;&gt;$\bot \sqsubseteq \top$&lt;/span&gt;.&#xA;Intuitively, think of &lt;span class=&quot;math-container&quot;&gt;$\bot$&lt;/span&gt; as nontermination, and &lt;span class=&quot;math-container&quot;&gt;$\top$&lt;/span&gt; as termination. In Haskell terms, think of this as the domain interpreting expressions of type &lt;span class=&quot;math-container&quot;&gt;$()$&lt;/span&gt; -- i.e., you either get back a unit or the expression fails to terminate. We'll also use &lt;span class=&quot;math-container&quot;&gt;$2$&lt;/span&gt;, the booleans, and &lt;span class=&quot;math-container&quot;&gt;$2_\bot$&lt;/span&gt;, the pointed booleans.&lt;/p&gt;&#xA;&lt;p&gt;Now, suppose you have &lt;span class=&quot;math-container&quot;&gt;$f : O \to 2_\bot$&lt;/span&gt;. You can't continuously complete this function, even though there are only a finite number of possible &lt;span class=&quot;math-container&quot;&gt;$f$&lt;/span&gt;'s! The intuitive reason is that when you run &lt;span class=&quot;math-container&quot;&gt;$f(\bot)$&lt;/span&gt;, there's no finite waiting period sufficiently long enough to decide that its return value is bottom -- if there were, then I could give you a function that spins for one second longer, and then returns the opposite of whatever you completed the function to. (Prove that any continuous &lt;span class=&quot;math-container&quot;&gt;$h : (O \to 2_\bot) \to (O \to 2)$&lt;/span&gt; must return a constant function independent of its argument &lt;span class=&quot;math-container&quot;&gt;$f$&lt;/span&gt;.)&lt;/p&gt;&#xA;&lt;p&gt;Don't think of bottom as an extra element of the domain of values. This will lead you astray. Instead, think of elements of the domain as observations of a computation. Really do think of sitting in front of a terminal, waiting for your program to print something. Bottom represents your observation when the program is still running and hasn't printed anything to the screen -- it represents observing nothing.&lt;/p&gt;&#xA;&lt;p&gt;The best book I know for developing the right intuitions is &lt;a href=&quot;https://rads.stackoverflow.com/amzn/click/com/0521576512&quot; rel=&quot;noreferrer&quot; rel=&quot;nofollow noreferrer&quot;&gt;Steve Vickers' &lt;em&gt;Topology via Logic&lt;/em&gt;&lt;/a&gt;. It's a short and easy read, but your domain-fu will go way up for reading it.&lt;/p&gt;&#xA;" OwnerUserId="657" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2011-04-11T11:31:04.937" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="5994" PostTypeId="1" AcceptedAnswerId="5997" CreationDate="2011-04-11T11:49:58.570" Score="23" ViewCount="1065" Body="&lt;p&gt;The Not All Equal $k$-SAT problem (NAE $k$-SAT), given a set $C$ of clauses over a set $X$ of boolean variables such that each clause contains at most $k$ literals, asks whether there exists a truth assignment of the variables such that each clause contains at least one true and at least one false literal.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The PLANAR NAE $k$-SAT problem is the restriction of NAE $k$-SAT to those instances where the incidence bipartite graph of $C$ and $X$ (i.e. the graph of parts $C$ and $X$ with an edge between $x\in X$ and $c\in C$ if and only if $x$ or $\overline{x}$ belongs to $c$), is planar.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is known that NAE 3-SAT is NP-complete (Garey and Johnson, Computers and Intractability; A Guide to the Theory of NP-Completeness), but PLANAR NAE 3-SAT is in P (see &lt;a href=&quot;http://dx.doi.org/10.1145/49097.49099&quot;&gt;Planar NAE3SAT is in P, B. Moret, ACM SIGACT News, Volume 19 Issue 2, Summer 1988&lt;/a&gt; - unfortunately I do not have access to this paper).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is PLANAR NAE $k$-SAT in P for some $k\geq 4$? Is there a value of $k$ for which it has been shown to be NP-complete?&lt;/p&gt;&#xA;" OwnerUserId="1930" LastActivityDate="2011-04-11T15:12:35.963" Title="For which k is PLANAR NAE k-SAT in P?" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;np-hardness&gt;&lt;polynomial-time&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="5995" PostTypeId="1" CreationDate="2011-04-11T12:42:31.813" Score="1" ViewCount="216" Body="&lt;p&gt;The problem of finding a Kemeny optimal aggregation is as follows: Given items $1 \ldots n$ and a list of partial rankings $q_i$ (i.e. permutations of subsets) of these items, find a ranking $r$ of $1\ldots n$ that minimizes $\sum_i d(r, q_i)$. Where $d(r, q)$ is defined as a count of the number of pairs on which $r$ and $q$ agree, scaled so that complete agreement is 1 (i.e. scaled by $k(k-1)/2$ where $k = |q|$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finding a Kemeny-optimal solution is known to be NP-hard in n (not surprising, it's an optimisation problem on a search space of size $n!$). What I'm wondering is if it's in fact NP-complete - if there's an (efficient?) polynomial time algorithm for verifying if a given ranking is in fact Kemeny optimal. I've seen a paper or two claiming it is, but I've not been able to find any papers which prove it. (Possibly because I live and work outside the academic firewall). Any references / ideas?&lt;/p&gt;&#xA;" OwnerUserId="4624" LastEditorUserId="80" LastEditDate="2011-04-11T16:09:03.433" LastActivityDate="2012-03-15T10:49:16.760" Title="Efficient verification of Kemeny-optimal rankings" Tags="&lt;ds.algorithms&gt;&lt;np-hardness&gt;" AnswerCount="1" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="5996" PostTypeId="2" ParentId="189" CreationDate="2011-04-11T13:30:56.360" Score="4" Body="&lt;p&gt;I just learned about a book entitled &lt;a href=&quot;http://www.springerlink.com/content/978-3-642-15327-3/contents/&quot; rel=&quot;nofollow&quot;&gt;Algorithms unplugged&lt;/a&gt;, which seems relevant to this topic.&lt;/p&gt;&#xA;" OwnerUserId="775" LastActivityDate="2011-04-11T13:30:56.360" CommentCount="1" CommunityOwnedDate="2011-04-11T13:30:56.360" ContentLicense="CC BY-SA 3.0" />
  <row Id="5997" PostTypeId="2" ParentId="5994" CreationDate="2011-04-11T15:12:35.963" Score="23" Body="&lt;p&gt;PLANAR NAE $k$-SAT is in P for all values of $k$ . &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Reason is that we can reduce PLANAR NAE $k$-SAT to PLANAR NAE $3$-SAT. Let $\phi$ be an instance of PLANAR NAE $k$-SAT, and suppose $\phi$ contains a clause $C$ with literals $\ell_1, \ell_2, \dots, \ell_k$. Introduce a new variable $v_C$, and replace $C$ with two NAE clauses $C_1$ and $C_2$. $C_1$ contains $3$ literals $\ell_1$, $\ell_2$, and $v_C$, while $C_2$ contains $k-1$ literals $\bar{v}_C, \ell_3, \ell_4, \dots, \ell_k$. It's easy to see that $C$ is satisfiable iff $C_1 \wedge C_2$ is and that the transformation preserves planarity. Now, we can repeatedly apply this procedure on the clauses to eventually obtain an instance $\phi&amp;#39;$ of NAE $3$-SAT as desired.&lt;/p&gt;&#xA;" OwnerUserId="15" LastActivityDate="2011-04-11T15:12:35.963" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="5998" PostTypeId="2" ParentId="5801" CreationDate="2011-04-11T16:24:19.513" Score="9" Body="&lt;p&gt;To add to Dai Le's answer, &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0521884276&quot;&gt;a more recent book by Dubhashi and Panconesi&lt;/a&gt; provides many examples of the use of probability in the analysis of algorithms.&lt;/p&gt;&#xA;" OwnerUserId="233" LastActivityDate="2011-04-11T16:24:19.513" CommentCount="0" CommunityOwnedDate="2011-04-13T12:06:14.607" ContentLicense="CC BY-SA 3.0" />
  <row Id="5999" PostTypeId="1" AcceptedAnswerId="41151" CreationDate="2011-04-11T17:21:37.383" Score="14" ViewCount="496" Body="&lt;p&gt;Let G be an n-node undirected graph, and let T be a node subset of V(G) called &lt;em&gt;terminals&lt;/em&gt;.  A &lt;em&gt;distance preserver&lt;/em&gt; of (G,T) is a graph H satisfying the property &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$d_H(u,v) = d_G(u,v)$$ &lt;/p&gt;&#xA;&#xA;&lt;p&gt;for all nodes u, v in T. (Note that H is NOT necessarily a subgraph of G.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, let G be the following graph (a) and T be the nodes on the external face. Then graph (b) is a distance preserver of (G,T).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/8gs0r.jpg&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Distance preserver with various parameters are known to exist. I'm particularly interested in the one with the following properties:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;G is planar and unweighted (that is, all edges of G has weight one),&lt;/li&gt;&#xA;&lt;li&gt;T has size $O(n^{0.5})$, and&lt;/li&gt;&#xA;&lt;li&gt;H has size (the number of nodes and edges) $o(n)$. (It would be nice if we have $O(\frac{n}{\log\log n})$.)&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Does such a distance preserver exist?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;If one cannot meet the above properties, any kind of relaxations are welcomed.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;References:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.cs.yale.edu/~elkin/src.cam_ready.ps&quot; rel=&quot;noreferrer&quot;&gt;Sparse Source-wise and Pair-wise Distance Preservers&lt;/a&gt;, Don Coppersmith and Michael Elkin, SIDMA, 2006.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.cs.bgu.ac.il/~elkinm/add_sp.jrnl.v2.ps&quot; rel=&quot;noreferrer&quot;&gt;Sparse Distance Preservers and Additive Spanners&lt;/a&gt;, Béla Bollobás, Don Coppersmith, and Michael Elkin, SIDMA, 2005.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.eecs.umich.edu/~pettie/theoryseminar/papers/Thorup-Zwick-sublinear-additive-error.pdf&quot; rel=&quot;noreferrer&quot;&gt;Spanners and emulators with sublinear distance errors&lt;/a&gt;, Mikkel Thorup and Uri Zwick, SODA, 2006.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.almaden.ibm.com/cs/people/dpwoodru/w06b.pdf&quot; rel=&quot;noreferrer&quot;&gt;Lower Bounds for Additive Spanners, Emulators, and More&lt;/a&gt;, David P. Woodruff, FOCS, 2006.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Distance preserver is also known as an &lt;em&gt;emulator&lt;/em&gt;; many related work can be found on internet by searching the term &lt;em&gt;spanner&lt;/em&gt;, which requires H to be a subgraph of G. But in my applications we can use other graphs as well, as long as H preserves the distances between T in G.&lt;/p&gt;&#xA;" OwnerUserId="1800" LastEditorUserId="1800" LastEditDate="2011-04-18T02:50:24.813" LastActivityDate="2018-07-05T13:05:20.547" Title="The existence of planar distance preserver?" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;graph-algorithms&gt;&lt;planar-graphs&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6000" PostTypeId="1" AcceptedAnswerId="6012" CreationDate="2011-04-11T18:48:31.173" Score="5" ViewCount="874" Body="&lt;p&gt;Several hard graph problems remain hard on planar cubic bipartite graphs. They include Hamiltonian cycle problem and perfect P3 matching problem. I'm looking for a reference on interesting subclasses of planar cubic bipartite graphs. An interesting subclass contains infinite number of graphs and excludes infinite number of graphs. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;More importantly, Which hard problems do remain hard on nontrivial subclasses of planar cubic bipartite graphs?&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="1800" LastEditDate="2011-04-12T08:14:52.340" LastActivityDate="2011-11-05T18:18:54.597" Title="Hard problems on subclasses of planar cubic bipartite graphs" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;graph-classes&gt;" AnswerCount="4" CommentCount="0" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="6001" PostTypeId="1" CreationDate="2011-04-11T18:50:14.457" Score="11" ViewCount="1010" Body="&lt;p&gt;I have a problem which is in NEXP$^{\text{NP}}$ and can also be solved by an alternating TM using exponential time and just one alternation (starting in an existential state).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there anything known about NEXP$^{\text{NP}}$? Is it equal to NEXP or some other class? Are there complete problems other than the generic one (given an NEXP$^{\text{NP}}$ machine and a word, does it accept?).&lt;/p&gt;&#xA;" OwnerDisplayName="user4625" LastEditorUserId="1800" LastEditDate="2011-04-12T08:15:34.537" LastActivityDate="2015-09-22T15:09:42.487" Title="Complexity Class NEXP$^\text{NP}$" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;complexity-classes&gt;&lt;nexp&gt;" AnswerCount="4" CommentCount="2" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="6003" PostTypeId="2" ParentId="6000" CreationDate="2011-04-11T19:27:33.217" Score="3" Body="&lt;p&gt;Does subclass mean a class of subgraphs? If yes:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In holographic algorithms, $(2,3)$-regular bipartite graphs are studied, i.e., the nodes on the lefthand side have degree 2 and on the righthand side have degree 3. The &lt;a href=&quot;http://arxiv.org/abs/1001.0464&quot; rel=&quot;nofollow&quot;&gt;dichotomy theorems&lt;/a&gt; by Kowalczyk and Cai (STACS 2010) yield hard problems for such graphs.&lt;/p&gt;&#xA;" OwnerUserId="3980" LastEditorUserId="3964" LastEditDate="2011-09-16T14:53:22.247" LastActivityDate="2011-09-16T14:53:22.247" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6004" PostTypeId="1" AcceptedAnswerId="6005" CreationDate="2011-04-11T19:54:59.453" Score="13" ViewCount="1551" Body="&lt;p&gt;Every time I teach NP-Completeness, students ask &quot;are there any problems that are &lt;strong&gt;known&lt;/strong&gt; to not belong to NP?&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;How would you answer?  I usually give them an undecidable problem as an example, but this often doesn't turn out well: (a) if I give them the Halting Problem they think it's some dumb corner case, and (b) if I give them Diophantine Equations they don't see why it's not in NP (you can check solutions in poly-time... just plug them in!  I have a hard time disabusing them of this approach.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'd like to give them something like QBF as an example, but there is no proven separation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suggestions?&lt;/p&gt;&#xA;" OwnerUserId="3866" LastEditorUserId="186" LastEditDate="2011-04-11T20:40:45.710" LastActivityDate="2011-04-12T02:12:02.473" Title="&quot;Natural&quot; decidable problems known not to be in NP. " Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;teaching&gt;" AnswerCount="6" CommentCount="8" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="6005" PostTypeId="2" ParentId="6004" CreationDate="2011-04-11T20:14:14.437" Score="14" Body="&lt;p&gt;One possibility is a problem that is EXPSPACE-complete. NP is trivially in PSPACE, which is strictly contained in EXPSPACE. One problem that is EXPSPACE-complete is &lt;a href=&quot;http://people.seas.harvard.edu/~salil/cs221/fall02/scribenotes/oct25.ps&quot;&gt;deciding whether a regular expression that allows exponentiation is all of $\Sigma^*$&lt;/a&gt;. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2011-04-11T20:14:14.437" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="6006" PostTypeId="2" ParentId="6004" CreationDate="2011-04-11T20:15:00.453" Score="4" Body="&lt;p&gt;By &lt;a href=&quot;http://en.wikipedia.org/wiki/Time_hierarchy_theorem&quot; rel=&quot;nofollow&quot;&gt;time-hierarchy theorem&lt;/a&gt;, if $g(n)$ is a time-constructible function, and $f(n+1) = o(g(n))$, then:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\operatorname{NTIME}(f(n)) \subsetneq \operatorname{NTIME}(g(n))$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, for example, any NEXP-complete problem is not in NP. Citing from &lt;a href=&quot;http://en.wikipedia.org/wiki/NEXPTIME&quot; rel=&quot;nofollow&quot;&gt;Wikipedia&lt;/a&gt;:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;An important set of NEXPTIME-complete problems relates to succinct circuits. Succinct circuits are simple machines used to describe graphs in exponentially less space. They accept two vertex numbers as input and output whether there is an edge between them. If solving a problem on a graph in a natural representation, such as an adjacency matrix, is NP-complete, then solving the same problem on a succinct circuit representation is NEXPTIME-complete, because the input is exponentially smaller. As one simple example, finding a Hamiltonian path for a graph thus encoded is NEXPTIME-complete.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;See also section &quot;Succinct Problems&quot; on page 492 of &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0201530821&quot; rel=&quot;nofollow&quot;&gt;Papadimitriou's book&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="873" LastEditorUserId="873" LastEditDate="2011-04-11T20:22:13.617" LastActivityDate="2011-04-11T20:22:13.617" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6007" PostTypeId="2" ParentId="6004" CreationDate="2011-04-11T20:25:13.393" Score="11" Body="&lt;p&gt;Any problem complete for $NEXPTIME$ or 2$EXPTIME$ is known not to be in $NP$ (by the time hierarchy theorem). Similarly for $NEXPSPACE$ and $EXPSPACE$ (by space hierarchy + simulation). You can often get &quot;fake&quot; problems by padding, but natural problems complete for these classes don't seem to be quite so common (probably because they're so incredibly hard!), but here are a few:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EXPSPACE:&lt;br&gt;&#xA;Regular expression equivalence with exponentiation operator&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2-EXPTIME:&lt;br&gt;&#xA;Satisfiability for CTL* (a temporal logic)&lt;br&gt;&#xA;Satisfiability for ATL*&lt;br&gt;&#xA;Decision problem for Presburger arithmetic&lt;/p&gt;&#xA;" OwnerUserId="319" LastEditorUserId="319" LastEditDate="2011-04-12T00:18:55.123" LastActivityDate="2011-04-12T00:18:55.123" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6008" PostTypeId="2" ParentId="6001" CreationDate="2011-04-11T20:27:14.613" Score="5" Body="&lt;p&gt;$NEXP^{NP}$ is (probably) bigger than NEXP, as we can ask questions of exponential length from the oracle. That NP in the power is practically a NEXP there, so eg. co-NEXP is contained in $NEXP^{NP}$.&lt;/p&gt;&#xA;" OwnerUserId="419" LastActivityDate="2011-04-11T20:27:14.613" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="6009" PostTypeId="2" ParentId="6004" CreationDate="2011-04-11T20:30:20.897" Score="12" Body="&lt;p&gt;Since you are emphasizing natural problems, Here is a very natural $NEXP$-complete problem that is not in $NP$: Square Tiling Problem: Given a set of finite tiles, Does it tile a square of Size $2^n$ x $2^n$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that when the square size is $n$x$n$ ($n$ is encoded in unary) then the problem becomes $NP$-complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the $NEXP$-completeness of square tiling, check the reference.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] Christos H. Papadimitriou. Computational Complexity. Addison-Wesley, Reading, Massachusetts,&#xA;1994&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2011-04-11T21:37:14.537" LastActivityDate="2011-04-11T21:37:14.537" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="6011" PostTypeId="2" ParentId="6004" CreationDate="2011-04-11T21:08:13.500" Score="2" Body="&lt;p&gt;A channel system is a set of finite automata with communication channels over which they can send messages. A message is a letter from an alphabet. In a lossy channel system, messages can be dropped: a letter sent over a channel can disappear. The reachability problem for lossy channel systems is decidable but non-primitive recursive. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For a gentler example, the reachability problem for vector addition systems is EXPSpace hard. &lt;/p&gt;&#xA;" OwnerUserId="4155" LastActivityDate="2011-04-11T21:08:13.500" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6012" PostTypeId="2" ParentId="6000" CreationDate="2011-04-11T23:55:52.923" Score="10" Body="&lt;p&gt;Hamiltonicity &lt;a href=&quot;http://www.nishizeki.ecei.tohoku.ac.jp/nszk/nishi/sub/j/DVD/PDF_J/J029.pdf&quot;&gt;remains NP-complete&lt;/a&gt; for 2-vertex-connected cubic planar bipartite graphs, but this is not actually a restriction: every cubic planar bipartite graph is 2-connected. It is &lt;a href=&quot;http://en.wikipedia.org/wiki/Barnette%27s_conjecture&quot;&gt;a well-known open problem&lt;/a&gt; whether 3-connected cubic planar bipartite graphs always have Hamiltonian cycles, but if they do not then the problem is NP-complete for them as well.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(&lt;a href=&quot;http://arxiv.org/abs/0912.0537&quot;&gt;One of my recent papers&lt;/a&gt; looked at some related connectivity classes of cubic planar bipartite graphs but not from the point of view of NP-hardness.)&lt;/p&gt;&#xA;" OwnerUserId="95" LastEditorUserId="95" LastEditDate="2011-04-12T01:20:46.343" LastActivityDate="2011-04-12T01:20:46.343" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="6013" PostTypeId="2" ParentId="6004" CreationDate="2011-04-12T00:15:00.017" Score="5" Body="&lt;p&gt;A simple example is the &lt;a href=&quot;http://en.wikipedia.org/wiki/Tetration&quot;&gt;tetration function&lt;/a&gt;, which isn't even in &lt;a href=&quot;http://en.wikipedia.org/wiki/ELEMENTARY&quot;&gt;ELEMENTARY&lt;/a&gt;. You could use some decision version of that.&lt;/p&gt;&#xA;" OwnerUserId="30" LastEditorUserId="873" LastEditDate="2011-04-12T02:12:02.473" LastActivityDate="2011-04-12T02:12:02.473" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6014" PostTypeId="2" ParentId="6001" CreationDate="2011-04-12T07:16:53.187" Score="3" Body="&lt;p&gt;Expanding my comment above a little bit: If you have only one query to the $NP$-oracle (as in your case), then it follows from the work of Hemaspaandra, that your problem is in $P^{NE}$. This means that your problem is Turing reducible to any $NE$-hard problem. I think it is not known whether this is true for all of $NEXP^{NP}$.&lt;/p&gt;&#xA;" OwnerUserId="3980" LastActivityDate="2011-04-12T07:16:53.187" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6016" PostTypeId="2" ParentId="6000" CreationDate="2011-04-12T08:42:39.367" Score="0" Body="&lt;p&gt;Nick Wormald: Models of random regular graphs in Surveys in COmbinatorics, London Math Society&#xA;Lecture Notes Series, 276 Cambridge University Press, 1999, 239-298, 1999&lt;/p&gt;&#xA;" OwnerUserId="4634" LastActivityDate="2011-04-12T08:42:39.367" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6017" PostTypeId="1" AcceptedAnswerId="6018" CreationDate="2011-04-12T09:08:08.163" Score="11" ViewCount="342" Body="&lt;p&gt;Conditional logics are logics which augment traditional logical implication with modal operators corresponding to other notions of condition (for example, the causal conditional $A\; \square\!\!\!\!\to B$ reads &quot;$A$ causes &quot;B&quot;, or probabilistic conditioning &quot;$A|B$&quot;, which reads &quot;$A$ given $B$&quot;). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Typically these logics are studied model-theoretically, but I've wondered about their applications to programming language design (for example, to type imperative actions). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'd appreciate references to their proof theory (ie, sequent calculus/natural deduction), or to programming languages with types based on these kinds of modal operators. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT: The Stanford Encyclopedia of Philosophy has a &lt;a href=&quot;http://plato.stanford.edu/entries/logic-conditionals/&quot; rel=&quot;nofollow&quot;&gt;nice introduction to the subject&lt;/a&gt;. &lt;/p&gt;&#xA;" OwnerUserId="657" LastEditorUserId="186" LastEditDate="2011-04-13T11:42:24.947" LastActivityDate="2011-04-13T11:42:24.947" Title="References to programming languages based on conditional logics" Tags="&lt;reference-request&gt;&lt;lo.logic&gt;&lt;pl.programming-languages&gt;&lt;type-theory&gt;&lt;proof-theory&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6018" PostTypeId="2" ParentId="6017" CreationDate="2011-04-12T10:17:56.700" Score="8" Body="&lt;p&gt;Check these references:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Programming languages CondLP and CondLP+: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Gabbay, Giordano,  Martelli, Olivetti, Sapino, Conditional reasoning in logic programming,  Journal of Logic Programming, Volume 44, Issues 1-3, 1 July 2000, Pages 37-74 &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Claudia, Oliveira, The implementation of CondLP, Lecture Notes in Computer Science, 1996, Volume 1085/1996, 713-715&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Gabbay, Giordano, Martelli, Olivetti, Conditional logic programming, Proc. 11th Int. Conf. on Logic Programming, Santa Margherita Ligure, pages 272–289, 1994.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;References to proof theory:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Olivetti, Pozzato, Schwind, A sequent calculus and a theorem prover for standard conditional logics, Journal ACM Transactions on Computational Logic (TOCL), Volume 8 Issue 4, August 2007 &lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2011-04-12T10:43:51.577" LastActivityDate="2011-04-12T10:43:51.577" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6019" PostTypeId="2" ParentId="5635" CreationDate="2011-04-12T13:12:39.420" Score="4" Body="&lt;p&gt;I'd suggest name &lt;strong&gt;Inductive Programming&lt;/strong&gt; -- as a kind of smth of bridge-like from our times to old good times of Euler, Kepler et al. Or maybe even &lt;strong&gt;Reverse Inductive Programming&lt;/strong&gt;. And yes, for me DP is strongly associated with the Induction, in old good sense of the notion. Memoization, cacheing, tables etc are just elements of technique, not of the core of the approach to crack things.&lt;/p&gt;&#xA;" OwnerUserId="4527" LastEditorUserId="4527" LastEditDate="2011-04-12T14:18:04.413" LastActivityDate="2011-04-12T14:18:04.413" CommentCount="1" CommunityOwnedDate="2011-04-12T13:12:39.420" ContentLicense="CC BY-SA 3.0" />
  <row Id="6020" PostTypeId="1" CreationDate="2011-04-12T14:12:50.023" Score="6" ViewCount="483" Body="&lt;p&gt;Can you recommend a good reference for reading about lexicographic/recursive path orderings?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm currently reading about lpo's in Chapter 2 of the Handbook of Automated Reasoning, 'Resolution Theorem Proving' by Bachmair and Ganzinger, but the presentation is really terse. I would ideally like a more tutorial-like introduction w/ examples.&lt;/p&gt;&#xA;" OwnerUserId="4640" LastEditorUserId="186" LastEditDate="2011-04-13T11:46:02.570" LastActivityDate="2011-04-13T11:46:02.570" Title="reference for lexicographic path ordering" Tags="&lt;reference-request&gt;&lt;lo.logic&gt;&lt;partial-order&gt;&lt;automated-theorem-proving&gt;&lt;term-rewriting-systems&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6021" PostTypeId="2" ParentId="6020" CreationDate="2011-04-12T14:24:50.633" Score="7" Body="&lt;p&gt;Some information at the right level of abstraction can be found in:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Nachum Dershowitz's &lt;a href=&quot;http://www.cs.uiowa.edu/~fleck/181content/taste-fixed.pdf&quot; rel=&quot;nofollow&quot;&gt;A Taste of Rewrite Systems&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;If you are near a library or bookshop, this book has even more details:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Baader and Nipkov's &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0521779200&quot; rel=&quot;nofollow&quot;&gt;Term Rewriting and All That&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="77" LastEditorUserId="77" LastEditDate="2011-04-12T20:14:26.273" LastActivityDate="2011-04-12T20:14:26.273" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6022" PostTypeId="2" ParentId="1198" CreationDate="2011-04-12T14:29:07.733" Score="11" Body="&lt;p&gt;Erik Demaine has the video lectures up from his Fall 2010 course on geometric folding algorithms that follows the textbook he coauthored with Joseph O'Rourke:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://courses.csail.mit.edu/6.849/fall10/lectures/&quot;&gt;http://courses.csail.mit.edu/6.849/fall10/lectures/&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The lectures are great as you'd expect. But what really stands out to me is the production values: Each lecture's web page has embedded slides &lt;em&gt;and&lt;/em&gt; lecture notes that play along in synchrony with the video. It uses high-definition HTML5 video with all the synchronization of slides and lecture notes done in JavaScript. Hopefully this will set a new standard of excellence.&lt;/p&gt;&#xA;" OwnerUserId="1435" LastEditorUserId="1435" LastEditDate="2011-04-12T14:34:37.913" LastActivityDate="2011-04-12T14:34:37.913" CommentCount="0" CommunityOwnedDate="2011-04-12T14:29:07.733" ContentLicense="CC BY-SA 3.0" />
  <row Id="6023" PostTypeId="2" ParentId="2979" CreationDate="2011-04-12T14:44:32.603" Score="3" Body="&lt;p&gt;You could also take a look at the following graduate course on security protocols in Paris (the text is mostly in French):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://mpri.master.univ-paris7.fr/C-2-30.html&quot; rel=&quot;nofollow&quot;&gt;http://mpri.master.univ-paris7.fr/C-2-30.html&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="4640" LastActivityDate="2011-04-12T14:44:32.603" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="6025" PostTypeId="1" AcceptedAnswerId="6032" CreationDate="2011-04-12T18:48:53.860" Score="5" ViewCount="4347" Body="&lt;p&gt;I'm looking for an algorithm to find the longest path between two nodes in a bidirectional, unweighted, cyclic graph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The path must not have repeated vertices (otherwise the path would be infinite of course).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Would someone point me a to a good one (site or explain)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The graph will be sparse.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks for any help!&lt;/p&gt;&#xA;" OwnerUserId="4649" LastEditorUserId="4649" LastEditDate="2015-09-17T14:09:40.910" LastActivityDate="2015-09-18T23:50:22.900" Title="Finding the longest path between two nodes in a bidirectional unweighted graph" Tags="&lt;ds.algorithms&gt;&lt;graph-algorithms&gt;" AnswerCount="4" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6027" PostTypeId="2" ParentId="6025" CreationDate="2011-04-12T20:36:39.023" Score="4" Body="&lt;p&gt;I don't know what &quot;bidirectional&quot; and &quot;cyclic&quot; mean, but I'll assume that they mean &quot;undirected&quot; and &quot;not a DAG or tree&quot;. In that case, the problem is called LONGEST-PATH and is NP-hard because it encodes HAMILTONIAN-PATH&lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2011-04-12T20:36:39.023" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6028" PostTypeId="2" ParentId="6025" CreationDate="2011-04-12T21:07:10.830" Score="6" Body="&lt;p&gt;&lt;a href=&quot;http://dx.doi.org/10.1016/j.ipl.2008.11.004&quot;&gt;Williams (2009)&lt;/a&gt; [&lt;a href=&quot;http://arxiv.org/abs/0807.3026&quot;&gt;arXiv version&lt;/a&gt;] gives a randomized $2^k poly(n)$ time algorithm finding a path of length at least $k$ in a graph on $n$ vertices. The paper contains pointers to previous deterministic and randomized algorithms. Many of these algorithms can probably be modified to find a $k$-path whose endpoints are given in the input.&lt;/p&gt;&#xA;" OwnerUserId="72" LastActivityDate="2011-04-12T21:07:10.830" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6029" PostTypeId="2" ParentId="6001" CreationDate="2011-04-12T21:13:19.007" Score="1" Body="&lt;p&gt;The largest query a $NEXP^{NP}$ machine can make to the oracle is exponential in the length of the input.  The power of the oracle is only polynomial in this, which should also be exponential.  In other words, $poly(2^{n^k})=O(2^{n^{k+1}})$.  Hence, another $NEXP$ machine should be able to simulate your machine as well as the oracle.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edited for parentheses...&lt;/p&gt;&#xA;" OwnerUserId="1836" LastActivityDate="2011-04-12T21:13:19.007" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="6030" PostTypeId="2" ParentId="6025" CreationDate="2011-04-12T21:17:35.867" Score="2" Body="&lt;p&gt;If you are not looking for an algorithm but for an implementation of it and want to solve this problem on an actual graph, this is one of the things Sage (http://sagemath.org/index.html) knows how to do :&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.sagemath.org/doc/reference/sage/graphs/generic_graph.html#sage.graphs.generic_graph.GenericGraph.longest_path&quot; rel=&quot;nofollow&quot;&gt;http://www.sagemath.org/doc/reference/sage/graphs/generic_graph.html#sage.graphs.generic_graph.GenericGraph.longest_path&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then again, as it is NP-Hard and not one of the easiest, don't expect too much :-)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Nathann&lt;/p&gt;&#xA;" OwnerUserId="1209" LastActivityDate="2011-04-12T21:17:35.867" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6031" PostTypeId="2" ParentId="6017" CreationDate="2011-04-12T22:55:29.267" Score="3" Body="&lt;p&gt;&lt;a href=&quot;http://projects.csail.mit.edu/church/wiki/Church&quot; rel=&quot;nofollow&quot;&gt;Church&lt;/a&gt; might be the kind of thing you are looking for -- it is functional (scheme derivative), but is designed with a probabilistic semantics, and implements conditional probabilities using &quot;query&quot; for doing Bayesian inference.  &lt;a href=&quot;http://projects.csail.mit.edu/church/wiki/Conditioning&quot; rel=&quot;nofollow&quot;&gt;Discussion of conditioning in Church&lt;/a&gt;.  This is (as I understand it) more or less the main operation in most Church programs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To Matteo Mio: you might also be interested in Graham Priest's book, &quot;An introduction to non-classical logic&quot;, which is centered around defining different types of conditionals.&lt;/p&gt;&#xA;" OwnerUserId="4652" LastActivityDate="2011-04-12T22:55:29.267" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6032" PostTypeId="2" ParentId="6025" CreationDate="2011-04-12T23:12:55.497" Score="5" Body="&lt;p&gt;You can solve your problem in $O(n^2 2^n)$ on a graph with $n$ vertices by dynamic programming. Let $G=(V,E)$ be an undirected graph with edge weights $d_{uv}$. Let $L(v,S)$ be the length of the longest path from some fixed vertex $s$ to vertex $v$, which visits no vertex in $S$. $L$ satisfies&#xA;$$L(v,S)=\begin{cases}&#xD;&#xA;\max_{w\in N(v)\setminus S} d_{vw}+L(w,S\cup\{w\}) &amp;amp; v\neq s\\&#xD;&#xA;0 &amp;amp; \text{otherwise}&#xD;&#xA;\end{cases}\mathrm{,}$$&#xA;where $N(v)$ is the set of $v$'s neighbors. (Define the empty $\max$ to be $-\infty$.) Then the longest path between $s$ and $v$ has length $L(v,\{v\})$.&lt;/p&gt;&#xA;" OwnerUserId="2150" LastEditorUserId="2150" LastEditDate="2011-04-13T00:26:20.080" LastActivityDate="2011-04-13T00:26:20.080" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="6033" PostTypeId="2" ParentId="2734" CreationDate="2011-04-13T01:07:12.100" Score="5" Body="&lt;p&gt;Not an answer, just a few references.  First, I wrote a paper (long ago!) on the case where&#xA;every point in the given set $V$ must be a polygon corner.  In that case, it is not surprising&#xA;that there is (at most) one polygon, and it is easy to find:&#xA;&quot;Uniqueness of Orthogonal Connect-the-Dots,&quot;&#xA;in &lt;em&gt;Computational Morphology&lt;/em&gt;, Ed. G. T. Toussaint,&#xA;Elsevier, North-Holland, 1988, 97-104.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Second, there is a beautiful update to this work by Maarten Löffler and Elena Mumford,&#xA;in a paper, &#xA;&quot;&lt;a href=&quot;http://www.ics.uci.edu/~mloffler/publications/Connected_Rectilinear_Graphs_on_Point_Sets.html&quot;&gt;Connected Rectilinear Graphs on Point Sets&lt;/a&gt;,&quot;&#xA;&lt;em&gt;Journal of Computational Geometry&lt;/em&gt;,&#xA;2(1), 1–15, 2011.  From their Abstract:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;We study the question whether there exists an orientation such that $V$ is the vertex set of a connected rectilinear graph in that orientation. ... We prove that at most one such orientation can be possible, up to trivial rotations of 90 degrees around some axis. &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="337" LastActivityDate="2011-04-13T01:07:12.100" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6034" PostTypeId="1" CreationDate="2011-04-13T03:33:42.273" Score="22" ViewCount="2552" Body="&lt;p&gt;Does anybody know of an open-source program for computing Tree decomposition of graphs for a fixed &quot;k&quot;(width)? I know that the problem of finding Tree-Decomposition is NP-Hard for variable &quot;k&quot;, but my input instances will be really small (~10 nodes) and &quot;k&quot; is fixed.&lt;/p&gt;&#xA;" OwnerDisplayName="user4654" LastEditorUserId="186" LastEditDate="2011-04-13T12:08:24.120" LastActivityDate="2018-09-25T11:31:22.010" Title="Program for computing Tree decomposition of a graph" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;software&gt;&lt;treewidth&gt;" AnswerCount="5" CommentCount="1" FavoriteCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="6035" PostTypeId="2" ParentId="6034" CreationDate="2011-04-13T04:45:29.017" Score="22" Body="&lt;p&gt;Some of these software might help you. (Not all of them are open-source though.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;*TreeD &lt;a href=&quot;http://www.itu.dk/people/sathi/treed/&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://www.itu.dk/people/sathi/treed/&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;*dlib &lt;a href=&quot;http://dlib.net/&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://dlib.net/&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;*QuickBB &lt;a href=&quot;http://www.cs.washington.edu/homes/vgogate/quickbb.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://www.cs.washington.edu/homes/vgogate/quickbb.html&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;*Hypertree &lt;a href=&quot;http://www.dbai.tuwien.ac.at/proj/hypertree/downloads.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://www.dbai.tuwien.ac.at/proj/hypertree/downloads.html&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;*LibTW &lt;a href=&quot;http://www.treewidth.com/treewidth/&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://www.treewidth.com/treewidth/&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="3825" LastEditorUserId="31660" LastEditDate="2018-09-25T11:31:22.010" LastActivityDate="2018-09-25T11:31:22.010" CommentCount="4" ContentLicense="CC BY-SA 4.0" />
  <row Id="6036" PostTypeId="1" CreationDate="2011-04-13T05:08:09.963" Score="5" ViewCount="275" Body="&lt;p&gt;We have &lt;em&gt;n&lt;/em&gt; people and split them up in groups of size &lt;em&gt;x&lt;/em&gt;. Each group of &lt;em&gt;x&lt;/em&gt; people goes to lunch together. Next time around when the groups are set up people who were in a group last time should not end up in a group together if avoidable. Ideally they also should go out with as few people from the time before that.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I thought about modelling this as a graph problem:&#xA;People are vertices $v \in V$ and going to lunch together creates a edge between those vertices. The edge has a weight on it that's higher the more recent the lunch happened. Now we want to create $\frac{|V|}{x}$ subgraphs with &lt;em&gt;x&lt;/em&gt; vertices each and minimize the sum of the edges connecting the vertices in each subgraph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a name (&lt;em&gt;lunching programmers&lt;/em&gt; ? ;-) ) and associated research for this problem? Or is there a way to map this to another known problem?&lt;/p&gt;&#xA;" OwnerUserId="4656" LastEditorUserId="186" LastEditDate="2011-04-13T11:26:13.453" LastActivityDate="2011-04-15T21:31:42.420" Title="Sending people to lunch together with minimal repetition" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;optimization&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6037" PostTypeId="1" CreationDate="2011-04-13T11:02:46.890" Score="10" ViewCount="360" Body="&lt;p&gt;We know that the log of the rank of a 0-1 matrix is the lower bound of deterministic communication complexity, and the log of the approximate rank is the lower bound of randomized communication complexity. The largest gap between deterministic communication complexity and randomized communication complexity is exponential. So what about the gap between rank and approximate rank of a boolean matrix?&lt;/p&gt;&#xA;" OwnerUserId="4659" LastEditorUserId="1761" LastEditDate="2011-11-28T18:30:23.383" LastActivityDate="2011-11-28T18:30:23.383" Title="What is the largest gap between rank and approximate rank?" Tags="&lt;co.combinatorics&gt;&lt;linear-algebra&gt;&lt;matrices&gt;&lt;communication-complexity&gt;&lt;boolean-matrix&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="6038" PostTypeId="1" CreationDate="2011-04-13T12:16:53.187" Score="2" ViewCount="169" Body="&lt;p&gt;An input to Mathematical Safe problem is represented by the 4-tuple $(L,K,S,X_0)$, where &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$L=[n]$ is the set of locks, &lt;/li&gt;&#xA;&lt;li&gt;$K=(k_1,\dots,k_l,\dots,k_n)$, where $k_l$ is the number of the states of the lock $l$ and each state set of lock $l$ is a set of congruence classes modulo $k_l$ ($\mathbb{Z}_{k_l}$), &lt;/li&gt;&#xA;&lt;li&gt;$S=(S_1,\dots,S_l,\dots,S_n),S_l\subseteq L,l\in S_l,\forall l$,&lt;/li&gt;&#xA;&lt;li&gt;an initial tuple of lock states $X_0=(x_1^0,x_2^0,\dots,x_n^0), x_l^0\in \mathbb{Z}_{k_l},\forall l$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Let $x_l^j$ be the state of lock $l$ after turn $j$. Initially we are given a tuple of states $X_0$. After a single clockwise turn $j$ of the key in a lock $l$ all the locks $l&amp;#39;\in S_l$ pass from a state $x_{l&amp;#39;}^j$ to a state $(x_{l&amp;#39;}^j+1)\bmod k_{l&amp;#39;}$. The solution is the sequence of turns which opens the safe, i.e. brings it to the set of lock states $X=\{0,0,\dots,0\}$. The goal is to find a solution with minimum number of turns.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I know that this problem has been studied in some papers after 2002 year by one author, &lt;a href=&quot;http://scholar.google.com/scholar?q=%22mathematical%20safe%22&amp;amp;hl=en&amp;amp;btnG=Search&amp;amp;as_sdt=1,5&quot; rel=&quot;nofollow&quot;&gt;Donets G.A&lt;/a&gt;. But it seems to me that it was studied before. Am I right in this respect and if so what references are there on this problem?&lt;/p&gt;&#xA;" OwnerUserId="1060" LastEditorUserId="1060" LastEditDate="2011-04-13T23:09:18.330" LastActivityDate="2011-04-13T23:09:18.330" Title="References for the mathematical safe problem ?" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;" AnswerCount="0" CommentCount="14" ContentLicense="CC BY-SA 3.0" />
  <row Id="6039" PostTypeId="1" AcceptedAnswerId="6042" CreationDate="2011-04-13T12:42:32.740" Score="16" ViewCount="1273" Body="&lt;p&gt;We often want to define an object $A \in U$ according to some inference rules. Those rules denote a generating function $F$ which, when it is monotonic, yields a least fixed point $\mu F$. We take $A := \mu F$ to be the &quot;inductive definition&quot; of $A$. Moreover, monotonicity of $F$ allows us to reason with the &quot;principle of induction&quot; to determine when a set contains $A$ (i.e. when a property universally holds on $A$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In Coq this corresponds to writing an $\mathtt{Inductive}$ definition of $A$ with explicit introduction terms. While this definition denotes a particular function $F$, that function is not necessarily monotonic. Coq therefore employs some syntactic checks to guarantee the &quot;well-formedness&quot; of the definition. To some approximation, it rejects occurrences of $A$ in negative positions in the types of the introduction terms.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(If my understanding up to this point is flawed, please correct me!)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First, some questions in the context of Coq:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) Does the syntactic check in Coq merely serve to ensure that the definition of $A$ is &lt;em&gt;predicative&lt;/em&gt;? (If so, is impredicativity the only way in which the definition would be ill-defined?) Or is it checking for monotonicity? (Correspondingly, is non-monotonicity what might kill it?)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) Does such a negative occurrence of $A$ necessarily imply that $A$'s definition is impredicative/non-monotonic? Or is Coq simply unable to verify that it's well-defined in that case?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;And more generally:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;3) What is the relation between predicativity of an inductive definition and monotonicity of that definition's generating function? Are they two sides of the same coin? Are they unrelated? Informally, which one matters more?&lt;/p&gt;&#xA;" OwnerUserId="4107" LastEditorUserId="186" LastEditDate="2011-04-13T23:37:14.453" LastActivityDate="2016-02-26T16:23:15.337" Title="What is the role of predicativity in inductive definitions in type theory?" Tags="&lt;lo.logic&gt;&lt;pl.programming-languages&gt;&lt;type-theory&gt;&lt;proof-assistants&gt;&lt;coq&gt;" AnswerCount="3" CommentCount="0" FavoriteCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="6040" PostTypeId="1" AcceptedAnswerId="10098" CreationDate="2011-04-13T12:58:58.630" Score="1" ViewCount="591" Body="&lt;p&gt;Despite the warning from the StackExchange Question engine that this question appears subjective, I'm going to ask it anyway.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We have a script as part of an application at work which is responsible for sorting items into bins.  (Sounds simple, right?)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are X items and Y bins.  Each Item has a Primary, Secondary and Tertiary preferential bin.  It also has an overall rating which corresponds to the item's overall quality, as well as the bin preference (rating is adjusted by -0.5, -1 for decreasing bin preference).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;All item's ratings are probably different, and this affects the rating of each bin, and also an overall rating of all bins.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The ordering of items and their preferences into according bins is also important, i.e. Bin A containing Item1 and Item2, may have a different rating overall to Bin B containing Item1 and Item2.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Rules:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Each bin can contain between 1 and 3 items.&lt;/li&gt;&#xA;&lt;li&gt;Any one item can only appear once in each bin, and can only appear in one bin.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Initially, we thought it was a knapsack problem, or possibly a multiple knapsack problem, but after researching each, we're not sure that any of the common algorithms for that problem fits our task.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We currently brute force it, but given that the Item pool contains 50 items, and the number of Bins is about 10, the runtime for a single bruteforce run is in the order of tens of seconds.  We'd like to get this down to 0.5s&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So basically, has anyone come across this problem before, and does it have a name (that we can search academic papers with)?&lt;/p&gt;&#xA;" OwnerUserId="4660" LastEditorUserId="186" LastEditDate="2011-04-13T23:28:16.947" LastActivityDate="2012-02-08T09:51:56.507" Title="Bin allocation problem" Tags="&lt;ds.algorithms&gt;&lt;optimization&gt;&lt;terminology&gt;&lt;application-of-theory&gt;" AnswerCount="2" CommentCount="14" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6041" PostTypeId="2" ParentId="6039" CreationDate="2011-04-13T13:04:38.993" Score="6" Body="&lt;p&gt;There is a very deep connection between inductive definitions and impredicativity, but my understanding is that in the context of what you are talking about (im)predicativity is not particularly relevant and the test is purely to guarantee monotonicity, so that fixed point theory can be applied, namely, that the principle of induction is well-defined. (I'm willing to be corrected on this point.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The relationship between impredicativity and inductive definitions is explored in this &lt;a href=&quot;http://www.cse.chalmers.se/~coquand/NARA.pdf&quot;&gt;talk&lt;/a&gt; by Coquand. It goes back to some results from the 50s by G. Takeuti that impredicative definitions can be reduced to inductive definitions. The book&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Proof Theory of Impredicative Subsystems of Analysis - Monographs and Textbooks in Physical Science 2 by W. Buchholz, K. Schutte&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;gives a good analysis of the topic, if you can get your hands on it. These &lt;a href=&quot;http://www.math.tohoku.ac.jp/~y-keita/friday-seminar/friday-seminar/akiyoshi0604.pdf&quot;&gt;slides&lt;/a&gt; give an overview.&lt;/p&gt;&#xA;" OwnerUserId="77" LastActivityDate="2011-04-13T13:04:38.993" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6042" PostTypeId="2" ParentId="6039" CreationDate="2011-04-13T13:19:27.430" Score="14" Body="&lt;p&gt;No, in this case, predicativity and monotonicity are not closely related. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The positivity check in Coq/Adga serves to ensure that you are taking the least fixed point of a monotonic thing, roughly.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here's how to think of inductive types in terms of lattices and monotone operators. Recall that the Knaster-Tarski theorem says that on a complete lattice $L$, every monotone operator $f : L \to L$ has a least fixed point $\mu(f)$. Next, we can think of the types in a type theory as forming a lattice under provability. That is, type $S$ is below $T$ if the truth of $S$ entails that of $T$. Now, what we would like to do is to take a monotone operator $F$ on types, and use Knaster-Tarski to get out an interpretation of the least fixed point of this operator $\mu(F)$.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, types in type theory aren't just a lattice: they form a category. That is, given two types $S$ and $T$, there are potentially &lt;em&gt;many&lt;/em&gt; ways for $S$ to be below $T$, with one way for each proof $e : S \to T$. So a type operator $F$ also has to do something sensible on these proofs. The appropriate generalization of monotonicity is &lt;em&gt;functoriality&lt;/em&gt;. That is, we want $F$ to have an operator on types, and also to have an action on proofs, such that if $e : S \to T$, then $F(e) : F(S) \to F(T)$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, functoriality is preserved by sums and products (ie., if $F$ and $G$ are endofunctors on types, then $F+G$ and $F\times G$ (acting pointwise) are also functors on types (assuming we have sums and products in our algebra of types). However, it is not preserved by the function space, since the exponential bifunctor $F \to G$ is contravariant in its left argument. So when you write an inductive type definition, you are defining a functor to take a least fixed point of. To ensure that it is indeed a functor, you need to rule out occurences of the recursive parameter on the left-hand-side of function spaces --- hence the positivity check.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Impredicativity (in the sense of System F) is generally avoided, because it is a principle that forces you to choose between classical logic and set-theoretic models. You can't interpret types as sets in classical set theory if you have F-style indexing. (See Reynolds' famous &quot;Polymorphism is Not Set-Theoretic&quot;.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Categorically, F-style impredicativity says that the category of types and terms forms a small complete category (that is, homs and objects are both sets, and limits of all small diagrams exist). Classically this forces a category to be a poset.   Many constructivists are constructive because they want their theorems to hold in &lt;em&gt;more&lt;/em&gt; systems than just classical logic, and so they don't want to prove anything that would be classically false. Hence they are leery of impredicative polymorphism.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, polymorphism lets you say many conditions that are classically &quot;large&quot; internally to your type theory -- and positivity is one of them! A type operator $F$ is functorial, if you can produce a polymorphic term:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xD;&#xA;\mathsf{Fmap} : \forall \alpha, \beta.\; (\alpha \to \beta) \to (F(\alpha) \to F(\beta))&#xD;&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See how this corresponds to functoriality? IMO, this would be a very nice option to have in Coq, since it would let you do generic programming much more easily. The syntactic nature of the positivity check is a big hindrance to generic programming, and I would be happy to trade the possibility of classical axioms for more flexible functional programs.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT: The question you are asking about the difference between Prop and Set arises from the fact that the Coq developers want to &lt;em&gt;permit&lt;/em&gt; you think about Coq theorems in naive set-theoretic terms if you want, without &lt;em&gt;forcing&lt;/em&gt; you to do so. Technically, they split Prop and Set, and then prohibit sets from depending on the computational content of Prop. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;So you can interpret Prop as truth values in ZFC, which are the booleans true and false. In this world, all proofs of propositions are equal, and so obviously you should not be able to branch on the proof of a proposition. So the prohibition on sets depending on the computational content of proofs of Prop is totally sensible. Furthermore, the 2-element boolean lattice is obviously a complete lattice, so it should support impredicative indexing, since arbitrary set-valued meets exist. The predicativity restriction on Sets arises from the fact (mentioned above) that F-style indexing is degenerate in classical set-theoretic models.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Coq has other models (it's constructive logic!) but the point is that off the shelf it will never prove anything that a classical mathematician would be puzzled by.&lt;/p&gt;&#xA;" OwnerUserId="657" LastEditorUserId="657" LastEditDate="2011-04-13T18:41:28.277" LastActivityDate="2011-04-13T18:41:28.277" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="6043" PostTypeId="2" ParentId="6040" CreationDate="2011-04-13T13:34:15.573" Score="1" Body="&lt;p&gt;This appears to be a variant of a problem usually called &quot;Bin packing&quot;. It is not clear from your description the goal of your algorithm. Are you interested in maximizing the sum of the ratings of the items in the bins, in maximizing the rating of the bins themselves, in minimizing the number of bins used or something else?&lt;/p&gt;&#xA;" OwnerUserId="4208" LastActivityDate="2011-04-13T13:34:15.573" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="6044" PostTypeId="2" ParentId="5907" CreationDate="2011-04-13T14:24:13.957" Score="16" Body="&lt;p&gt;I think Timothy Chow has it exactly right.  I have my own personal laundry list of ideas involving &quot;smooth&quot; varieties, or concepts like counting connected components or monomials that go with the bottom few rungs of the &quot;cohomology ladder&quot;---all of them shown not to be hardness predicates by (variations on) the Mayr-Meyer construction showing EXPSPACE-completeness of various GCT-related problems.  My one riff on his last paragraph is that I think &lt;em&gt;some&lt;/em&gt; kind of high-powered machinery is needed...!&lt;/p&gt;&#xA;" OwnerUserId="4664" LastActivityDate="2011-04-13T14:24:13.957" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6045" PostTypeId="1" CreationDate="2011-04-13T14:42:15.440" Score="12" ViewCount="795" Body="&lt;p&gt;There are several competing notions of a &quot;sparse graph&quot;.  For instance, a surface-embeddable graph could be considered sparse.  Or a graph with bounded edge density.  Or a graph with high girth.  A graph with large expansion.  A graph with bounded treewidth.  (Even within the subfield of random graphs, it is slightly ambiguous as to what could be called sparse.)  Et cetera.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What notion of &quot;sparse graph&quot; has had the most impact on the design of efficient graph algorithms, and why?  Similarly, what notion of &quot;dense graph&quot; ... ?  (NB: Karpinski has worked a great deal on approximation results for one standard model of dense graphs.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have just seen a talk by J. Nesetril on a program of his (together with P. Ossona de Mendez) to capture measures of sparsity in graphs within a unified (asymptotic) framework.  My question -- yes, maybe quite subjective and I expect different camps -- is motivated by the desire to catch a multi-faceted perspective on the use of sparsity in algorithms (and plug any gaps in my own understanding of the issue).&lt;/p&gt;&#xA;" OwnerUserId="233" LastEditorUserId="186" LastEditDate="2011-04-13T23:05:37.647" LastActivityDate="2011-08-21T17:43:31.710" Title="What is the most important notion of sparsity for the design of efficient graph algorithms?" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;big-picture&gt;" AnswerCount="4" CommentCount="3" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="6046" PostTypeId="2" ParentId="5991" CreationDate="2011-04-13T14:51:57.047" Score="3" Body="&lt;p&gt;How about using a finite-state automaton? The language $S$ is finite and therefore regular. Even after the transformations below it will still be regular. So after the usual steps to convert the regular expression into a deterministic finite-state automaton, you will have a recognizer for what you want that operates in $O(k)$ time. Hopefully this idea will still be workable if there are bugs in what is proposed below.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The wrinkle is how to deal with the wildcard operator: ?. A wildcard in a wildcard string matches a 0 or 1 in a test string. But since we're trying to recognize wildcard strings, a wildcard in a wildcard string matches 0, 1, or ? in another wildcard string. This set is still regular, so we transform every occurrence of ? to the regular expression (0|1|?) where the vertical bar is the usual alternation operator. So if your whole set $S$ is {10??1, 0?1?0}, the resulting regular expression will be (10(0|1|?)(0|1|?)1 | 0(0|1|?)1(0|1|?)0)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As for adding strings to the machine, there's some recent work on changing a finite-state automaton incrementally. See this &lt;a href=&quot;http://www.mitpressjournals.org/doi/abs/10.1162/089120100561601&quot; rel=&quot;nofollow&quot;&gt;paper&lt;/a&gt; by Daciuk et al: &quot;Incremental Construction of Minimal Acyclic Finite-State Automata&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does this help?&lt;/p&gt;&#xA;" OwnerUserId="2406" LastActivityDate="2011-04-13T14:51:57.047" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="6047" PostTypeId="1" AcceptedAnswerId="6053" CreationDate="2011-04-13T15:37:38.710" Score="11" ViewCount="507" Body="&lt;p&gt;I know that the question &quot;does a first order formula $\phi$ have a model&quot; is undecidable in general. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Could anyone give me a link or a book which give the answer for finite models. If I have a first order formula $\phi$, is it decidable whether $\phi$ has a finite model? I am pretty sure that the question is well known, but I do not even know where to begin the search for an answer. (For example, I would have expected it to be in Libkin's &quot;Elements of finite model theory&quot;, but it seems that I can not find it.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The second part of my question is: Are there known restrictions such that the problem is decidable? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, the problem may become decidable for first-order formula with only monadic predicates. Or when we have monadic predicate plus a successor relation. But I cannot imagine an algorithm to decide if there exists a (finite) model over those restrictions.&lt;/p&gt;&#xA;" OwnerUserId="328" LastEditorUserId="186" LastEditDate="2011-04-13T23:14:26.747" LastActivityDate="2016-07-01T06:28:17.113" Title="Finding a finite model" Tags="&lt;reference-request&gt;&lt;lo.logic&gt;&lt;computability&gt;&lt;finite-model-theory&gt;" AnswerCount="4" CommentCount="6" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="6048" PostTypeId="2" ParentId="6045" CreationDate="2011-04-13T15:47:36.373" Score="6" Body="&lt;p&gt;I can't think of any graph property that has had as much impact on the design of efficient algorithms as bounded treewidth, and bidimensionality in general. &lt;/p&gt;&#xA;" OwnerUserId="80" LastEditorUserId="80" LastEditDate="2011-04-13T17:07:10.673" LastActivityDate="2011-04-13T17:07:10.673" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6049" PostTypeId="1" AcceptedAnswerId="6050" CreationDate="2011-04-13T16:23:43.613" Score="-7" ViewCount="440" Body="&lt;p&gt;There is a lot on the internet about quantum computers and how they could factor integers. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, there is a type of computer which also uses the principles of quantum mechanics, which can be used to do much more than this, including solving NP-complete problems in an instant. See &lt;a href=&quot;http://arxiv.org/abs/cs/0507003&quot; rel=&quot;nofollow&quot;&gt;http://arxiv.org/abs/cs/0507003&lt;/a&gt; and &lt;a href=&quot;http://arxiv.org/abs/quant-ph/0605087&quot; rel=&quot;nofollow&quot;&gt;http://arxiv.org/abs/quant-ph/0605087&lt;/a&gt;. These computers have been called &quot;Duality computers&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Why isn't more written about these types of computers? &lt;/p&gt;&#xA;" OwnerUserId="3091" LastActivityDate="2011-04-14T06:30:53.037" Title="Duality computers" Tags="&lt;quantum-computing&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6050" PostTypeId="2" ParentId="6049" CreationDate="2011-04-13T16:36:36.297" Score="14" Body="&lt;p&gt;&lt;em&gt;&lt;strong&gt;Summary.&lt;/em&gt;&lt;/strong&gt; All of these papers misunderstand the notion of quantum superpositions and interference, and lead to analyses which do not conserve probability (&lt;em&gt;i.e.&lt;/em&gt;&amp;nbsp;in which the probabilities of outcomes do not add to one) without specifying an interpretation for this fact. This may be considered to correspond to &lt;em&gt;post-selection&lt;/em&gt; &amp;mdash; conditioning on a particular outcome of a measurement; a subject which has indeed been studied in the context of quantum computing, and which is embodied as the complexity class &lt;a href=&quot;http://en.wikipedia.org/wiki/PostBQP&quot;&gt;PostBQP&lt;/a&gt;. But mostly, I suppose that these articles are ignored because while they propose to extend quantum computation, they seem to display a lack of awareness of fundamentals of quantum computation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;&lt;strong&gt;Details.&lt;/em&gt;&lt;/strong&gt; I've added some elaboration on the failures of the analyses of these articles.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;The article by Shiekh &lt;strong&gt;[cs/0507003]&lt;/strong&gt; describes &quot;adding quantum interference to quantum computers&quot;. This ignores the fact that:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Quantum interference is already a feature of quantum computation (and it is in fact difficult to concieve of how a quantum-mechanical version of computation could &lt;em&gt;avoid&lt;/em&gt; exhibiting it); and&lt;/li&gt;&#xA;&lt;li&gt;The way that quantum interference works is not how Shiekh describes it (in particular, his analysis seems to ignore normalization of probabilities). &lt;br&gt;&lt;br&gt;Shiekh supposes that if you have a superposition such as |000&amp;rang;&amp;nbsp;+&amp;nbsp;|001&amp;rang;&amp;nbsp;+&amp;nbsp;...&amp;nbsp;+&amp;nbsp;|111&amp;rang;, that you can simply make a &quot;second copy&quot; of that superposition with some phases (&lt;em&gt;e.g.&lt;/em&gt;&amp;nbsp;on the standard basis states which are not satisfying solutions to a SAT formula), obtaining a superposition such as &amp;minus;|000&amp;rang;&amp;nbsp;+&amp;nbsp;|001&amp;rang;&amp;nbsp;&amp;minus;&amp;nbsp;...&amp;nbsp;&amp;minus;&amp;nbsp;|111&amp;rang;, and somehow interfere them to obtain a state of the form |001&amp;rang;, cancelling all of the terms with opposing signs. &lt;br&gt;&lt;br&gt; But note that the two superpositions described above are not normalized: this is already a warning sign &amp;mdash; the cancellation should at best yield |001&amp;rang;/2&lt;sup&gt;1&amp;minus;n/2&lt;/sup&gt; if you keep track of the normalization, and allow this alternative &quot;interference&quot; process. That's a probability of 1/2&lt;sup&gt;n&amp;minus;2&lt;/sup&gt; of obtaining the result you want, which is still vanishingly small. But what happens if this result is not realized? Shiekh's analysis doesn't even propose any answer, and so it is incomplete. Worse still, what happens if there are no satisfying solutions at all, and all the terms cancel out? You're left with the zero vector: the system is in no state at all, which could be construed as a contradiction of the concept of &quot;state&quot;, unless you propose that the system has been utterly destroyed (which would presumably affect the state of some other system, &lt;em&gt;e.g.&lt;/em&gt;&amp;nbsp;a&amp;nbsp;detector, which you should be accounting for).&lt;br&gt;&lt;br&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The &lt;a href=&quot;http://www.du.edu/media/documents/nsm/mathematics/preprints/m0604.pdf&quot;&gt;article by Gudder&lt;/a&gt; (which you link to in the comments) describes a &quot;quantum wave divider&quot; D&lt;sub&gt;&lt;strong&gt;p&lt;/strong&gt;&lt;/sub&gt; (in the words of Long's article, see below) which, for a probability distribution &lt;strong&gt;p&lt;/strong&gt;&amp;nbsp;=&amp;nbsp;(&lt;em&gt;p&lt;/em&gt;&lt;sub&gt;1&lt;/sub&gt;&amp;nbsp;,&amp;nbsp;...&amp;nbsp;,&amp;nbsp;&lt;em&gt;p&lt;sub&gt;n&lt;/sub&gt;&lt;/em&gt;), performs a mapping $$\begin{align} |\psi\rangle \mapsto \frac{1}{\|\mathbf p\|_2} \bigoplus_{j=1}^n \; p_j |\psi\rangle \;. \end{align}$$&#xA;Yes, that's the Euclidean norm in the denominator, which effectively replaces the probability distribution &lt;strong&gt;p&lt;/strong&gt; by the Euclidean unit-norm vector &lt;strong&gt;q&lt;/strong&gt;&amp;nbsp;=&amp;nbsp;&lt;strong&gt;p&lt;/strong&gt;&amp;nbsp;/&amp;nbsp;||&lt;strong&gt;p&lt;/strong&gt;||. This &quot;wave splitter&quot; prepares an independent quantum register &lt;em&gt;Q&lt;/em&gt; in a state |&lt;strong&gt;q&lt;/strong&gt;&amp;rang; which is a superposition over |1&amp;rang;&amp;nbsp;,&amp;nbsp;...&amp;nbsp;,&amp;nbsp;|&lt;em&gt;n&lt;/em&gt;&amp;rang;, with coefficients given by &lt;em&gt;q&lt;sub&gt;k&lt;/sub&gt;&lt;/em&gt;&amp;nbsp;=&amp;nbsp;&lt;strong&gt;e&lt;sub&gt;&lt;em&gt;k&lt;/em&gt;&lt;/sub&gt;&lt;/strong&gt;&lt;sup&gt;&amp;dagger;&lt;/sup&gt;&amp;nbsp;&lt;strong&gt;q&lt;/strong&gt;, which is therefore in a tensor product with an input state |&amp;psi;&amp;rang;. So it's no wonder that D&lt;sub&gt;&lt;strong&gt;p&lt;/strong&gt;&lt;/sub&gt; so described is an isometry. &#xA;The adjoint &quot;wave combiner&quot; operation, C&lt;sub&gt;&lt;strong&gt;p&lt;/strong&gt;&lt;/sub&gt;&amp;nbsp;=&amp;nbsp;D&lt;sub&gt;&lt;strong&gt;p&lt;/strong&gt;&lt;/sub&gt;&lt;sup&gt;&amp;dagger;&lt;/sup&gt; effectively describes the effect of trying to project that register &lt;em&gt;Q&lt;/em&gt; back onto the state |&lt;strong&gt;q&lt;/strong&gt;&amp;rang;. So of course it will be isometric on the image of D&lt;sub&gt;&lt;strong&gt;p&lt;/strong&gt;&lt;/sub&gt;&amp;nbsp;; but unless &lt;em&gt;Q&lt;/em&gt; is in the state |&lt;strong&gt;q&lt;/strong&gt;&amp;rang;, this operation is norm-decreasing, and therefore is not probability-conserving. Everyting in that article is fine until he proposes to apply C&lt;sub&gt;&lt;strong&gt;p&lt;/strong&gt;&lt;/sub&gt;&amp;nbsp;; for instance, the block-diagonal unitary operators are perfectly good &lt;em&gt;coherently-controlled&lt;/em&gt; unitary operators conditioned on the register &lt;em&gt;Q&lt;/em&gt;.&lt;br&gt;&lt;br&gt;&#xA;Unfortunately, the operation C&lt;sub&gt;&lt;strong&gt;p&lt;/strong&gt;&lt;/sub&gt; which Gudder &lt;em&gt;actually&lt;/em&gt; describes is not the adjoint of D&lt;sub&gt;&lt;strong&gt;p&lt;/strong&gt;&lt;/sub&gt; &amp;mdash; although he does claim that it is &amp;mdash; but is the adjoint of |1&amp;rang;&amp;nbsp;+&amp;nbsp;...&amp;nbsp;+&amp;nbsp;|&lt;em&gt;n&lt;/em&gt;&amp;rang;, which is a non-normalized version of the uniform superposition over all computational basis states. One can see that this is not actually the adjoint of D&lt;sub&gt;&lt;strong&gt;p&lt;/strong&gt;&lt;/sub&gt; by noting that $$\begin{align} C_{\mathbf p} D_{\mathbf p} |\psi\rangle \;=\; C_{\mathbf p} \left[ \frac{1}{\|\mathbf p\|_2} \bigoplus_{j = 1}^n \; p_j |\psi\rangle \right] \;=\; \sum_{j = 1}^n \;\frac{p_j}{\| \mathbf p \|_2} |\psi\rangle \;=\; \left( \sum_{j = 1}^n \; q_j \right) |\psi\rangle \end{align}$$ which, contrary to his claim in Lemma&amp;nbsp;2.2, is equal to |&amp;psi;&amp;rang; if and only if &lt;strong&gt;p&lt;/strong&gt; is a point-mass function. This result is fact &lt;em&gt;super&lt;/em&gt;-normalized: it enables events with probability &lt;em&gt;greater&lt;/em&gt; than 1. It's not clear what this would mean; and Gudder proposes no such meaning.&lt;br&gt;&lt;br&gt;&#xA;Gudder's article actually has a number of such problems with linear algebra. Some of the mistakes he makes in the context of mixed states are addressed by Long's paper &lt;strong&gt;[quant-ph/0605087]&lt;/strong&gt; (which however does not address the problems with failure to preserve probability, or of what the actual adjoint of D&lt;sub&gt;&lt;strong&gt;p&lt;/strong&gt;&lt;/sub&gt; is).&lt;br&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;So, that's likely why these ideas are not widely studied. Generally, whenever there is an article which claims to generalize quantum computation in some bold new manner, one should check whether probability is conserved (and what significance the authors attribute to it &lt;em&gt;not&lt;/em&gt; being conserved), and whether the algebra is otherwise sound.&lt;/p&gt;&#xA;" OwnerUserId="248" LastEditorUserId="248" LastEditDate="2011-04-14T06:30:53.037" LastActivityDate="2011-04-14T06:30:53.037" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="6051" PostTypeId="2" ParentId="6047" CreationDate="2011-04-13T16:42:04.443" Score="4" Body="&lt;p&gt;I do not know the answer for arbitrary FO fragments. Classical modal logic and its extensions have several decidability properties. By the standard translations, you get fragments of classical logic that share these properties. &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Modal Logic and the bisimulation invariant fragment of two-variable FOL.&lt;/li&gt;&#xA;&lt;li&gt;CTL* and the bisimulation invariant fragment of monadic path logic.&lt;/li&gt;&#xA;&lt;li&gt;The mu-calculus and the bisimulation invariant fragment of Monadic Second Order logic. &lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;All the modal logics above are decidable and have the finite model property. Other logics with robust decidability properties are the guarded fragment of FO, the loosely guarded fragment and guarded fixed point logics. These logics were designed to transfer the essence of well behaved properties of modal logics to a classical logic setting. Guarded fixed point logic is decidable but does not have the finite model property. &lt;/p&gt;&#xA;" OwnerUserId="4155" LastActivityDate="2011-04-13T16:42:04.443" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6052" PostTypeId="1" CreationDate="2011-04-13T16:45:23.617" Score="7" ViewCount="151" Body="&lt;p&gt;In &lt;a href=&quot;https://cstheory.stackexchange.com/questions/5907/cohomological-approach-to-boolean-complexity&quot;&gt;this question&lt;/a&gt;, I learned that complexity theorists had considered using Grothendieck topologies to model Boolean circuits. This has not, apparently, led to any new lower bounds yet, but I'm not so interested in lower bounds, and I am very interested in program structuring techniques involving cool math.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The only related work I know is Fiore's work on lambda-definability for lambda calculus with coproducts, which uses Grothendieck topologies (roughly speaking) to model splitting and pasting the branches of if-statements together as coverings of programs. It's very interesting seeing a related idea arise in complexity theory! However, in this (and the followup work Balat and di Cosmo did with Fiore), they didn't need any serious machinery of algebraic topology, since they were more focused on decidability than efficiency.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, binary decision diagrams (BDDs) (sort of the restriction of this problem to first-order) are extremely focused on efficiency, and I'm curious whether whether the cohomological approach nicely models any of the heuristics people use when building BDD libraries?&lt;/p&gt;&#xA;" OwnerUserId="657" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2011-04-13T16:45:23.617" Title="Does the cohomological approach to Boolean complexity nicely model any BDD heuristics?" Tags="&lt;ds.data-structures&gt;&lt;binary-decision-diagrams&gt;&lt;heuristics&gt;&lt;algebraic-topology&gt;" AnswerCount="0" CommentCount="1" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="6053" PostTypeId="2" ParentId="6047" CreationDate="2011-04-13T17:47:47.210" Score="14" Body="&lt;p&gt;The first part of your question is answered by &lt;a href=&quot;http://en.wikipedia.org/wiki/Trakhtenbrot%27s_theorem&quot;&gt;Trakhtenbrot's Theorem&lt;/a&gt;.&#xA;The second part is quite a large question indeed.  Depending on the relational structure you're working on, multiple solutions can be given.  For instance, if you're interested in formal languages, MSO over word structures corresponds to regular languages, and the matching logic (&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.53.376&quot;&gt;see this&lt;/a&gt;) corresponds to CFL, and thus have their satisfiability problem decidable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You should have a look at Chapter 14 of Libkin, where nice segments of FO are proven to have a decidable satisfiability problem, according to the amount of quantifier alternations allowed.&lt;/p&gt;&#xA;" OwnerUserId="88" LastEditorUserId="88" LastEditDate="2011-04-14T04:09:35.580" LastActivityDate="2011-04-14T04:09:35.580" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="6054" PostTypeId="1" AcceptedAnswerId="6065" CreationDate="2011-04-13T21:00:49.390" Score="7" ViewCount="1979" Body="&lt;p&gt;I have come to a rather startling discovery in regards to a question that has been posed to me a number of times through my now almost 1 year of CS studies.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Solving this problem is of great interest to many people, and if I have indeed done so... What do I do?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I see a few options, but none seem to ensure that my work gets recognized as my own: I could stash away the notes till the time comes for my masters thesis. This would force me to share both work and credit with my supervisor, though. I could attempt to publish it... But who would want to take work from a 9 months old computer scientist?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am at a loss - in attempting to solve a difficult problem I have only given rise to an even more difficult one!&lt;/p&gt;&#xA;" OwnerUserId="4666" LastEditorUserId="186" LastEditDate="2011-04-13T23:11:55.500" LastActivityDate="2014-09-30T14:50:51.703" Title="&quot;The Solution Problem&quot; - How to get credit for your work as an undergrad?" Tags="&lt;soft-question&gt;&lt;research-practice&gt;" AnswerCount="6" CommentCount="9" FavoriteCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="6055" PostTypeId="1" AcceptedAnswerId="6062" CreationDate="2011-04-13T21:14:51.600" Score="15" ViewCount="1124" Body="&lt;p&gt;Two parts of TCS are algorithms and complexity. I'll simplistically say that algorithms is the study of upper bounds, showing that you &lt;em&gt;can&lt;/em&gt; do something (with given restricted resources), and complexity is about showing that you &lt;em&gt;cannot&lt;/em&gt; do it without some minimal resources.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So often an algorithmic problem is stated in a decision model in order to place it in a complexity class.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But something that's always bothered me is that some elementary algorithms are never mentioned outright as belonging to a particular class. One example is (comparison) sorting. Try as I might, a relevant class just seems too deficient (really, is it just checking in logspace that the result is sorted? That just seems too weak, or I'm not getting the decision version right).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is the best/most appropriate/most useful complexity class that comparison sorting lies in?&lt;/p&gt;&#xA;" OwnerUserId="497" LastActivityDate="2011-04-13T23:01:03.890" Title="Complexity class corresponding to sorting" Tags="&lt;cc.complexity-theory&gt;&lt;sorting&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="6056" PostTypeId="2" ParentId="6054" CreationDate="2011-04-13T21:18:30.540" Score="19" Body="&lt;p&gt;It will be impossible to assess the quality of your work without sharing it with anyone. Chances are that your discovery may not be so startling after all. If you were able to provide some hints regarding the problem you have solved, this community may be able to say whether or not it has been solved (or whether it is even interesting).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You could write a paper about your discovery and submit the paper to a journal. But there are standards of &lt;em&gt;writing&lt;/em&gt; and other matters of &lt;em&gt;presentation&lt;/em&gt; that need to be attained, a level which typical undergraduates do not have, irrespective of how startling the discovery is. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In any case, if you were to submit it to a journal, the journal would not know that you were an undergraduate. But you would first need to make the presentation of your discovery convincing, and typically that requires quite some training and interaction with a supervisor.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Related question: &lt;a href=&quot;https://cstheory.stackexchange.com/q/2966/77&quot;&gt;What would you advise someone who wants to do research as a hobby?&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="77" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.743" LastActivityDate="2011-04-13T21:28:44.210" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6057" PostTypeId="2" ParentId="6055" CreationDate="2011-04-13T21:24:51.547" Score="0" Body="&lt;p&gt;I believe &lt;a href=&quot;http://en.wikipedia.org/wiki/FP_%28complexity%29&quot; rel=&quot;nofollow&quot;&gt;FP&lt;/a&gt; is what you're looking for.&lt;/p&gt;&#xA;" OwnerUserId="1501" LastActivityDate="2011-04-13T21:24:51.547" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="6058" PostTypeId="2" ParentId="6054" CreationDate="2011-04-13T21:31:53.643" Score="11" Body="&lt;p&gt;If solving this problem is indeed of great interest to many people, ask one of them ! If you're afraid of your work being scooped, time stamp it on the arxiv.&lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2011-04-13T21:31:53.643" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6059" PostTypeId="2" ParentId="5961" CreationDate="2011-04-13T21:47:12.643" Score="7" Body="&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Assumption:&lt;/strong&gt; &lt;a href=&quot;https://complexityzoo.uwaterloo.ca/Complexity_Zoo:N#nee&quot; rel=&quot;nofollow&quot;&gt;NEE&lt;/a&gt; ≠ &lt;a href=&quot;https://complexityzoo.uwaterloo.ca/Complexity_Zoo:E#ee&quot; rel=&quot;nofollow&quot;&gt;EE&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;First cited in:&lt;/strong&gt; Mihir Bellare and Shafi Goldwasser. 1994. &lt;a href=&quot;http://dx.doi.org/10.1137/S0097539792228289&quot; rel=&quot;nofollow&quot;&gt;The Complexity of Decision Versus Search&lt;/a&gt;. SIAM J. Comput. 23, 1 (February 1994), 97-119.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Use(s):&lt;/strong&gt; If the assumption holds, there exist problems in NP whose search version does not (polynomially) Cook-reduce to their decision version. In other words, under the given assumption, not all languages in NP are &lt;a href=&quot;http://www.wisdom.weizmann.ac.il/~oded/PS/CC/l2.ps&quot; rel=&quot;nofollow&quot;&gt;self reducible&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Status:&lt;/strong&gt; Open.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="873" LastEditorUserId="1812" LastEditDate="2015-09-01T18:22:54.913" LastActivityDate="2015-09-01T18:22:54.913" CommentCount="0" CommunityOwnedDate="2011-04-13T21:47:12.643" ContentLicense="CC BY-SA 3.0" />
  <row Id="6060" PostTypeId="1" AcceptedAnswerId="9650" CreationDate="2011-04-13T21:48:19.210" Score="6" ViewCount="285" Body="&lt;p&gt;Let us define: &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;$U = \left\{ u_j \right\}, 1 \leq j \leq N = 2^{L}$, the set of all different binary sequences of length $L$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;$V = \left\{ v_i \right\}, 1 \leq i \leq M = \binom{L}{k}2^{k}$, the set of all different gapped binary sequences with $k$ known bits and $L-k$ gaps.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;We have a score function $f : V \rightarrow R$, that associates a real number $c_i$ to any of $v_i$'s; i.e. $c_i = f(v_i)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given any pair of $u_j$ and $v_i$, we can count the number of mismatches, by counting the known bits of $v_i$ that are different in $u_j$.  For example given $L=7, k=4$: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\text{diff}(\text{&amp;quot;0001100&amp;quot;}, \text{&amp;quot;01...01&amp;quot;}) = 2$,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;because the second bit and the last bit are different (gaps can match to any value).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We have a weight associated to the number of mismatches. In general, the number of mismatches can be any number between $0$ and $k$. so we have $k+1$ such weights given by $\left \{ w[0],w[1],\ldots,w[k] \right \}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For a given sequence $S$ of $T$ bits, $S = s_0s_1 \ldots s_{T-1}$, we define the total score as the weighted sum of all the $c_i$'s for all the the contiguous $L$-bits subsequences of $S$ weighted by their distance: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$g(S)=\sum_{j=0}^{T-L}\sum_{i=1}^{M} c_i \times w[\text{diff}(v_i, s_js_{j+1} \ldots s_{j+L-1})]$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;the obvious algorithm is as follows: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;g:=0;&#xA;for j:=0 to T-L&#xA;  for i:=0 to M&#xA;    g:=g+c[i]*calcDif(S,j,i) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;where calcDif() takes $O(L)$ to count number of mismatches. so the overall time would be in the order of $T*M*L$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is a better approach to calculate the total score more efficiently? Typical values are: $L=20, k=10, T=2000$? &lt;/p&gt;&#xA;" OwnerUserId="4503" LastEditorUserId="4503" LastEditDate="2011-04-14T03:19:33.697" LastActivityDate="2012-01-07T12:07:50.530" Title="Fast algorithm for scoring a sequence" Tags="&lt;ds.algorithms&gt;&lt;string-matching&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="6061" PostTypeId="1" CreationDate="2011-04-13T22:18:31.163" Score="1" ViewCount="487" Body="&lt;p&gt;I am working on letter recognition program. I have a text and divide it into letters, every single letter is written to separate file. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now I want to apply a clustering algorithm to these images to divide letters into classes. Ideally each cluster would correspond to single letter (this is not possible, because some letter patterns like &quot;ri&quot; or &quot;ff&quot; are classified as one letter by my text-dividing algorithm, but I'll address that later). The images contain some noise, as the text is scanned and also not every letter is at the center of the image: some are slightly shifted. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am quite new to machine learning. Could you advise me on the choice of clustering algorithm? Which would give the best results in this case?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;PS.: I am using python for this project, so any algorithms that have implementation in python (even partial) are of particular interest to me.&lt;/p&gt;&#xA;" OwnerUserId="4629" LastActivityDate="2011-04-13T22:45:19.637" Title="Clustering of letters - what approach would give the best results?" Tags="&lt;machine-learning&gt;&lt;clustering&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="6062" PostTypeId="2" ParentId="6055" CreationDate="2011-04-13T22:33:19.417" Score="17" Body="&lt;p&gt;The sorting problem is actually &lt;em&gt;complete&lt;/em&gt; for &lt;a href=&quot;http://en.wikipedia.org/wiki/TC0&quot;&gt;$\mathsf{TC}^0$&lt;/a&gt; (under $\mathsf{AC}^0$-reduction). A standard source for this is Section 1.4.3 of &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/3642083986&quot;&gt;Vollmer's book&lt;/a&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that $\mathsf{TC}^0$ is the class of decision problems, but we usually think of sorting as a function problem, i.e., we want to output the numbers, say, in nondecreasing order. However, we can also define sorting as a decision problem as follows:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Given a sequence of numbers $a_1,\ldots,a_n$ and two numbers $k,p\in [n]$, we want to decide if $a_k$ is at position $p$ in the sequence we get by sorting $a_1,\ldots,a_n$ in nondecreasing order. Note that to avoid ambiguity, when $a_i=a_j$, we want $a_i$ to precede $a_j$ if $i&amp;lt;j$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="1080" LastEditorUserId="1080" LastEditDate="2011-04-13T23:01:03.890" LastActivityDate="2011-04-13T23:01:03.890" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="6063" PostTypeId="2" ParentId="6061" CreationDate="2011-04-13T22:45:19.637" Score="1" Body="&lt;p&gt;Check my project ImSim at sf.net: &lt;a href=&quot;http://sourceforge.net/projects/imsim&quot; rel=&quot;nofollow&quot;&gt;http://sourceforge.net/projects/imsim&lt;/a&gt; Actually it's just a very short, simple and single script in &lt;strong&gt;Python&lt;/strong&gt;. It can be adjusted for the purpose of clusterizing very easily.&lt;br&gt;&#xA;P.S. Remove resizing from it -- I guess you need not it.&lt;br&gt;&#xA;P.P.S. Surely you know PIL library.&lt;/p&gt;&#xA;" OwnerUserId="4527" LastActivityDate="2011-04-13T22:45:19.637" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="6064" PostTypeId="2" ParentId="6045" CreationDate="2011-04-13T22:50:51.063" Score="8" Body="&lt;p&gt;There do seem to be many &quot;good&quot; notions of sparsity, but there is something of a hierarchy for those structural notions of sparsity that have a model-theoretic flavour.  I think these have had a strong impact on efficient graph algorithms.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Martin Grohe in his in-progress monograph &lt;a href=&quot;http://www2.informatik.hu-berlin.de/~grohe/pub/cap/index.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;&lt;em&gt;Descriptive Complexity, Canonisation, and Definable Graph Structure Theory&lt;/em&gt;&lt;/a&gt; discusses classes of graphs that exclude some minor.  These classes are sparse because they cannot have very dense subgraphs.  Excluded minors generalise many known reasons for tractability, including bounded treewidth (treewidth at most $k$ is achieved by excluding $K_{k+2}$ as a minor).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.cl.cam.ac.uk/~ad260/talks/phdopen/part4.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Anuj Dawar's course notes from November 2010&lt;/a&gt; also discuss locally bounded treewidth, which is incomparable with excluded minors.  Bounded degree clearly defines sparse graphs, and such graphs have bounded local treewidth, but are not definable by a set of excluded minors.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The impact of bounded degree is clear: it is often one of the first restrictions shown to make a hard problem tractable, for instance Luks' algorithm for Graph Isomorphism on bounded-degree graphs.  The impact of excluding a minor is also clear, at least in the guise of bounded treewidth (as Suresh pointed out).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The notion of locally excluding a minor generalises both locally bounded treewidth and excluded minors, so forming the &quot;most general&quot; class in the hierarchy.  However, it is not yet clear how to make use of this property in practical algorithms.  Even the &quot;tractable&quot; case of excluding a minor does not necessarily have good practical algorithms; large constants abound in the model-theoretic algorithms.  I do hope some of these classes will turn out to have practically efficient algorithms in the long run.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See also my answer &lt;a href=&quot;https://cstheory.stackexchange.com/questions/2384/what-is-easy-for-minor-excluded-graphs/2387#2387&quot;&gt;what is easy for minor-excluded graphs?&lt;/a&gt; for further related comments.&lt;/p&gt;&#xA;" OwnerUserId="109" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2011-04-13T22:50:51.063" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6065" PostTypeId="2" ParentId="6054" CreationDate="2011-04-14T00:25:56.187" Score="38" Body="&lt;p&gt;Worrying about someone taking credit for your work is very common among amateurs and people just starting out, but in my experience is far less common with more experienced researchers. I'm not really sure exactly what the reason for this is, but I have encountered this phenomenon numerous times. I would venture that it is perhaps because those with more experience in the field know how uncommon it is for one person to essentially steal another's results. Most people are relatively good, or at worst benign, and wouldn't dream of taking credit for work they haven't contributed to. Couple that with the fact that being caught plagiarizing someone else's work would be career suicide, and you can be pretty confident that no one you talk to is likely to write up your idea and pass it off as their own.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As Suresh says, you could always upload it to the arxiv, but I would be inclined not to do this, as if it turns out that the work is not novel or there is a major error, then you cannot actually delete the paper, but rather will have to post a retraction, and the original will still be there for all to see. Even now, I still ask colleagues to check any paper I consider relatively important before uploading a manuscript.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If I were you, I would be inclined to talk to one of my lecturers in the first instance, as they can probably give you a feel for whether your solution is novel (and correct), and if it meets both of these criteria, they should be able to give you an idea of how best to proceed. Alternatively, you could just post it as a question here, asking if the result was previously known, or if anybody could point you to a good survey paper on the problem. You'd have a time stamp from the post time, so you wouldn't have to worry about that. If you got an encouraging response here (i.e. that it was not currently known), then you could consider how to proceed from there. If on the other hand, it was already known, or there was a flaw, then it wouldn't really matter.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Technically, you could also simply write it up and submit it to a journal. As Dave says, no one involved in the process will actually know your level (the first time, it's kind of a kick when you get the correspondence addressed to you as either Dr. or Professor), unless one of the reviewers happens to know you personally. However, I would not suggest doing so. You need to search the literature to make sure your idea is actually novel, and as Dave mentions, the writing of papers is an art in and of itself. You would probably need to read a lot of journal articles to even get the style right.&lt;/p&gt;&#xA;" OwnerUserId="204" LastEditorUserId="1522" LastEditDate="2011-06-24T01:53:50.697" LastActivityDate="2011-06-24T01:53:50.697" CommentCount="17" ContentLicense="CC BY-SA 3.0" />
  <row Id="6066" PostTypeId="2" ParentId="403" CreationDate="2011-04-14T00:33:02.783" Score="10" Body="&lt;p&gt;More generally, the Immerman-Szelepscényi method gives that $ALTSPACE(a(n),s(n))$ is in $NSPACE(a(n)s(n))$.  The proof idea is: Calculate the number of reachable configurations in the first alternation; from each such reachable state, calculate the number of reachable configurations in the second alternation; and iterate $a(n)$ times backtracking in the &quot;obvious&quot; fashion.  Each iteration uses only $s(n)$ space to store the counts of reachable configurations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Combining this with Savitch's theorem gives the following results:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Corollary: $ALTSPACE(\log n, \log n)$ is in $SPACE((\log n)^4)$.  More generally, a language computable in polylogarithmic space with polylogarithmically many alternations is computable in deterministic polylogarithmic time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Corollary: Similarly, a language computable in polynomial space with polynomially many alternations is in deterministic polynomial space.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I don't know any references for these $ALTSPACE$ results or whether they have been noticed before, or even for the notation.  Leonard Berman[B] used the notation &quot;$STA$&quot; for &quot;Space/Time/Alternation&quot; classes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[B] L. Berman, &quot;The Complexity of Logical Theories&quot;, Theoretical Computer Science 11 (1980)&#xA;71-77.&lt;/p&gt;&#xA;" OwnerUserId="4668" LastActivityDate="2011-04-14T00:33:02.783" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6067" PostTypeId="2" ParentId="6045" CreationDate="2011-04-14T01:08:52.890" Score="16" Body="&lt;p&gt;I think that by any reasonable standard an n &amp;times; n &amp;times; n three-dimensional grid graph would have to be considered sparse, and that rules out most candidate definitions involving surface embeddings or minors. (Sublinear treewidth would still be possible, though.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My current favorite sparsity measure is &lt;a href=&quot;http://en.wikipedia.org/wiki/Degeneracy_%28graph_theory%29&quot;&gt;degeneracy&lt;/a&gt;. The degeneracy of a graph is the minimum, over all linear orderings of the vertices of the graph, of the maximum outdegree in the directed acyclic orientation of the graph formed by orienting each edge from earlier to later vertices in the ordering. Equivalently, it's the maximum, over all subgraphs, of the minimum degree in the subgraph. So for instance planar graphs have degeneracy five because any subgraph of a planar graph has a vertex of degree at most five. Degeneracy is easy to calculate in linear time, and the linear ordering that comes from the definition is &lt;a href=&quot;http://arxiv.org/abs/1006.5440&quot;&gt;useful in algorithms&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Degeneracy is within a constant factor of some other standard measures including arboricity, thickness, and the maximum average degree of any subgraph, but those are I think harder to use.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2011-04-14T01:08:52.890" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="6068" PostTypeId="1" AcceptedAnswerId="6072" CreationDate="2011-04-14T03:01:42.703" Score="15" ViewCount="876" Body="&lt;p&gt;What are good papers/books to better understand the power of Modular Decomposition and its properties?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm particularly interested in algorithmic aspects of Modular Decomposition. I have heard that it is possible to find a Modular Decomposition of a graph in linear time. Is there are an relatively simple algorithm for that? What about a not so efficient but simpler algorithm?&lt;/p&gt;&#xA;" OwnerUserId="282" LastActivityDate="2012-12-12T21:33:39.733" Title="References for Modular Decomposition" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;" AnswerCount="5" CommentCount="4" FavoriteCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="6070" PostTypeId="1" AcceptedAnswerId="6075" CreationDate="2011-04-14T03:54:05.617" Score="14" ViewCount="555" Body="&lt;p&gt;There is a beautiful theorem of Koebe (see &lt;a href=&quot;http://en.wikipedia.org/wiki/Circle_packing_theorem&quot; rel=&quot;nofollow&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;) that states that any planar graph can be drawn as kissing graph of disks (very romantic...). (Putting it somewhat differently, any planar graph can be drawn as the intersection graph of disks.) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Koebe theorem is not very easy to prove. My question: Is there an easier version of this theorem where instead of disks one is allowed to use any fat convex shapes (convexity might be open to negotiations, but not fatness). Note, that every vertex can be a different shape.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Clarification: For a shape $X$, let $R(X)$ be the radius of the smallest enclosing ball of $X$, and let $r(X)$ let me the radius of the largest enclosed ball in $S$. The shape $S$ is &lt;em&gt;$\alpha$-fat&lt;/em&gt; if $R(x) /r(x) \leq \alpha$. (This is not the only definition for fatness, BTW.)&lt;/p&gt;&#xA;" OwnerUserId="9594" LastEditorUserId="9594" LastEditDate="2011-04-16T15:06:21.740" LastActivityDate="2011-04-17T05:39:19.663" Title="Planar graph via the intersection of fat thingies?" Tags="&lt;cg.comp-geom&gt;&lt;planar-graphs&gt;" AnswerCount="6" CommentCount="5" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="6071" PostTypeId="2" ParentId="6070" CreationDate="2011-04-14T04:00:32.147" Score="6" Body="&lt;p&gt;One thing we do know is that you can't recreate Koebe's theorem with rectangles. Contact graphs of rectangles can't capture $K_4$. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2011-04-14T04:00:32.147" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="6072" PostTypeId="2" ParentId="6068" CreationDate="2011-04-14T04:21:45.843" Score="10" Body="&lt;p&gt;You should look at &lt;a href=&quot;http://springerlink.metapress.com/openurl.asp?genre=article&amp;amp;issn=0302-9743&amp;amp;volume=3111&amp;amp;spage=187&quot;&gt;A Simple Linear-Time Modular Decomposition Algorithm for Graphs, Using Order Extension, SWAT 2004&lt;/a&gt; and &lt;a href=&quot;http://dx.doi.org/10.1016/j.dam.2004.02.017&quot;&gt;Linear-time modular decomposition of directed graphs, Disc. Appl. Math. 2005&lt;/a&gt; for the simplest known linear-time algorithms on undirected and directed graph respectively.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem has mainly attracted theoretical interest and the algorithms developed so far are relatively complex. I do not think that has been a sustained effort towards an algorithm that is actually amenable to be implemented (i.e. &quot;not so efficient but simpler&quot;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;FYI, the first linear-time algorithms for undirected graphs have been &lt;a href=&quot;http://dx.doi.org/10.1007/BFb0017474&quot;&gt;A New Linear Algorithm for Modular Decomposition. CAAP 1994&lt;/a&gt; and &lt;a href=&quot;http://doi.acm.org/10.1145/314464.314641&quot;&gt;Linear-Time Modular Decomposition and Efficient Transitive Orientation of Comparability Graphs&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="474" LastEditorUserId="474" LastEditDate="2011-04-14T04:32:42.007" LastActivityDate="2011-04-14T04:32:42.007" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="6073" PostTypeId="1" AcceptedAnswerId="6074" CreationDate="2011-04-14T05:26:05.220" Score="1" ViewCount="290" Body="&lt;p&gt;I am looking for the best known algorithm for the following problem:&#xA;Input: Matrix M with R rows and C cols and values true-false in each position&#xA;Output: Minimum number of cols such that the OR operation between all selected cols results in R trues. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think another form of this problem is: Given C numbers of N bits, get the minimum amount of numbers needed to sum 2^N - 1.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In case this is NP-Complete, then does someone know where can I find the reduction? And is there any pseudo-polynomial algorithm? Maybe using dynamic programming on some bounded variable?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks in advance.&lt;/p&gt;&#xA;" OwnerUserId="2582" LastActivityDate="2011-04-14T08:18:41.327" Title="Best known algorithm for a common problem." Tags="&lt;ds.algorithms&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6074" PostTypeId="2" ParentId="6073" CreationDate="2011-04-14T05:50:45.300" Score="9" Body="&lt;p&gt;This is the &lt;a href=&quot;http://en.wikipedia.org/wiki/Set_cover_problem&quot; rel=&quot;nofollow&quot;&gt;set cover&lt;/a&gt; problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The universe $\mathcal{U}$ corresponds to the rows of the matrix $M$, and each member of $\mathcal{S}$ corresponds to each column. The entry $m_{i,j}$ is true if and only if the $i$-th element of $\mathcal{U}$ belongs to the $j$-th member of $\mathcal{S}$.&lt;/p&gt;&#xA;" OwnerUserId="2955" LastEditorUserId="474" LastEditDate="2011-04-14T08:18:41.327" LastActivityDate="2011-04-14T08:18:41.327" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6075" PostTypeId="2" ParentId="6070" CreationDate="2011-04-14T05:52:55.393" Score="10" Body="&lt;p&gt;You didn't say the fat objects had to be two-dimensional, did you? &lt;a href=&quot;http://www.math.tu-berlin.de/~felsner/Paper/cubes.pdf&quot; rel=&quot;nofollow&quot;&gt;Felsner and Francis prove that it's always possible with axis-parallel cubes in 3d&lt;/a&gt;. But, the proof involves Schramm's generalizations of Koebe-Thurston-Andreev, so it's not exactly a simpler result. They also mention along the way that for four-connected maximal planar graphs it's possible to use parallel-sided equilateral triangles.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2011-04-14T05:52:55.393" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6076" PostTypeId="1" AcceptedAnswerId="6080" CreationDate="2011-04-14T06:11:23.970" Score="8" ViewCount="555" Body="&lt;p&gt;I'm writing a &lt;a href=&quot;http://github.com/jkff/minxmod&quot; rel=&quot;nofollow&quot;&gt;toy modelchecker&lt;/a&gt;, and I'm at the point where it's time to implement LTL to Buchi automata translation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For a variety of obvious reasons, I wish the algorithm to be simple :) e.g. I want the code to remain extremely clear and concise for as long as possible.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I've looked at the &quot;local automata + eventuality automata&quot; approach, described in multiple tutorials, but it seems to be neither simple to implement/understand (the correctness proof is quite large), nor does it yield small automata. So I'm not implementing it until I'm sure I won't regret it :)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, I'd be grateful for references to papers describing simple and efficient algorithms for this translation, or perhaps simple and inefficient ones - then papers on minimization of Buchi automata would be welcome too :)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;...Or perhaps there are interesting alternative approaches to LTL verification?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For reference, here's a genealogy of LTL-to-Buchi translation algorithms &lt;a href=&quot;http://spot.lip6.fr/wiki/LtlTranslationAlgorithms&quot; rel=&quot;nofollow&quot;&gt;http://spot.lip6.fr/wiki/LtlTranslationAlgorithms&lt;/a&gt; . Can anyone say something about these?&lt;/p&gt;&#xA;" OwnerUserId="326" LastEditorUserId="186" LastEditDate="2011-05-08T03:15:12.423" LastActivityDate="2011-05-08T03:15:12.423" Title="What's the simplest to implement of all decent LTL-to-Buchi translation or other LTL verification algorithms?" Tags="&lt;lo.logic&gt;&lt;automata-theory&gt;&lt;model-checking&gt;&lt;program-verification&gt;&lt;linear-temporal-logic&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="6077" PostTypeId="1" AcceptedAnswerId="6089" CreationDate="2011-04-14T07:13:59.973" Score="10" ViewCount="702" Body="&lt;p&gt;Although exponential separations between bounded-error quantum query complexity ($Q(f)$) and deterministic query complexity ($D(f)$) or bounded-error randomized query complexity ($R(f)$) are known, they only apply to certain partial functions. If the partial functions have some &lt;a href=&quot;http://arxiv.org/abs/0911.0996v1&quot;&gt;special structures&lt;/a&gt; then they are also polynomially related with $D(f) = O(Q(f)^9))$. However, I am mostly concerned about total functions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In a &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=502097&quot;&gt;classic paper&lt;/a&gt; it was shown that $D(f)$ is bounded by $O(Q(f)^6)$ for total functions, $O(Q(f)^4)$ for monotone total functions, and $O(Q(f)^2)$ for symmetric total functions. However, no greater than quadratic separations are known for these sort of functions (this separation is achieved by $OR$ for example). As far as I understand, most people conjecture that for total functions we have $D(f) = O(Q(f)^2)$. Under what conditions has this conjecture been proven (apart from symmetric functions)? What is the best current bounds on decision-tree complexity in terms of quantum query complexity for total functions?&lt;/p&gt;&#xA;" OwnerUserId="1037" LastActivityDate="2015-12-31T17:10:16.390" Title="Bounding the gap between quantum and deterministic query complexity" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;quantum-computing&gt;&lt;query-complexity&gt;" AnswerCount="4" CommentCount="0" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="6078" PostTypeId="2" ParentId="5797" CreationDate="2011-04-14T07:41:29.073" Score="7" Body="&lt;p&gt;Currently, the most systematic proof theory that allows many modal logics to be layered upon many substructural logics is Belnap's display logic, which has received a decent treatment at the hands of &lt;a href=&quot;http://wwwhomes.uni-bielefeld.de/mkracht/html/veroeff-math-en.html&quot; rel=&quot;nofollow&quot;&gt;Marcus Kracht&lt;/a&gt; &amp;mdash;see in particular his &lt;em&gt;Power and Weakness of the Modal Display Logic&lt;/em&gt;, 1996&amp;mdash; and Heinrich Wansing, &lt;a href=&quot;http://books.google.de/books?id=zSOvc06waIEC&amp;amp;printsec=frontcover&amp;amp;dq=display+logic+modal+logic+wansing&amp;amp;source=bl&amp;amp;ots=ewcX3mipur&amp;amp;sig=-wPL8U4kfH3mH2vTshl7e8bRKUE&amp;amp;hl=en&amp;amp;ei=CJimTeu5GJCMswaW_JTlAQ&amp;amp;sa=X&amp;amp;oi=book_result&amp;amp;ct=result&amp;amp;resnum=1&amp;amp;ved=0CBMQ6AEwAA&quot; rel=&quot;nofollow&quot;&gt;&lt;em&gt;Displaying Modal Logic&lt;/em&gt;&lt;/a&gt;, 1998.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Display logic has problems handling noncommutative logic, which was one of the motivations behind a couple of MSc theses I supervised some years back, to apply some ideas about representing modalities in the Calculus of Structures, which is very powerful for representing substructural logics, but ran into problems because of the unusual way cut-elimination is proven in that setting.  Robert Hein's work on generating rules for modal logics from families of axioms, summarised in &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.59.3730&quot; rel=&quot;nofollow&quot;&gt;Purity through Unravelling&lt;/a&gt;, 2005, covers most of the usual logics (the most important axioms not covered are B, CR, and L), and there is fairly strong circumstantial evidence to believe the cut-elimination conjecture.  None of this work actually treats substructural logic, but if a stronger kind of cut-elimination theorem were proven for these modalities, the so-called splitting lemma, this would make the logic very modular and cut-elimination should follow easily for all ways of gluing together the logics.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Substructural logic doesn't really have a uniform notion of semantics, but for modal substructural logic we do have a kind of recipe for turning semantics of the base logic into semantics of matching modal logics, by extending a trace-like semantics with a notion of frame or an algebraic/categorical semantics with a notion of operator.  Kracht and Wansing do some work in both of these directions.&lt;/p&gt;&#xA;" OwnerUserId="270" LastEditorUserId="270" LastEditDate="2015-08-28T14:18:15.447" LastActivityDate="2015-08-28T14:18:15.447" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6079" PostTypeId="2" ParentId="5803" CreationDate="2011-04-14T07:49:33.433" Score="5" Body="&lt;p&gt;Look at the survey of proof calculi for modal logic in chapter 3 of Phiniki Stouppa's MSc thesis &lt;a href=&quot;http://www.wv.inf.tu-dresden.de/Publications/Diploma/diplom_stouppa.pdf&quot; rel=&quot;nofollow&quot;&gt;The Design of Modal Proof Theories:&#xA;The case of S5&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;IIRC, she discussed how 11 systems handled the formalisation of S5.&lt;/p&gt;&#xA;" OwnerUserId="270" LastActivityDate="2011-04-14T07:49:33.433" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="6080" PostTypeId="2" ParentId="6076" CreationDate="2011-04-14T08:15:37.077" Score="9" Body="&lt;p&gt;One construction not listed on the &lt;a href=&quot;http://spot.lip6.fr/wiki/LtlTranslationAlgorithms&quot; rel=&quot;noreferrer&quot;&gt;SPOT&lt;/a&gt; website is given in a survey by Demri &amp;amp; Gastin, &lt;em&gt;&lt;a href=&quot;http://www.lsv.ens-cachan.fr/Publis/PAPERS/PDF/DG-iis09.pdf&quot; rel=&quot;noreferrer&quot;&gt;Specification and Verification using Temporal Logics&lt;/a&gt;&lt;/em&gt;, 2009.  The construction is simple and yields reasonably small automata, so it can be carried out by hand for small formulæ, which is good for teaching (which is how I use it), but might also be helpful for debugging an implementation.  I wouldn't bet on it being more efficient than the one used by SPOT though.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;About minimization, there is no canonical minimal Büchi automaton for a given $\omega$-regular language.  In order to get smaller automata, one can quotient the automaton by some simulation relation.  A classical paper on the subject is by Etessami, Wilke &amp;amp; Schuller, &lt;em&gt;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.62.8014&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;noreferrer&quot;&gt;Fair Simulation Relations, Parity Games, and State Space Reduction for Büchi Automata&lt;/a&gt;&lt;/em&gt;, SIAM Journal on Computing 34: 1159--1175, 2005.&lt;/p&gt;&#xA;" OwnerUserId="609" LastActivityDate="2011-04-14T08:15:37.077" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6081" PostTypeId="2" ParentId="6068" CreationDate="2011-04-14T09:09:26.970" Score="17" Body="&lt;p&gt;There is a recent survey &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Habib and Paul (2010). &lt;a href=&quot;http://dx.doi.org/10.1016/j.cosrev.2010.01.001&quot;&gt;A survey of the algorithmic aspects of modular decomposition.&lt;/a&gt; Computer Science Review 4(1): 41-59 (2010)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;that you should check out.&lt;/p&gt;&#xA;" OwnerUserId="72" LastActivityDate="2011-04-14T09:09:26.970" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6082" PostTypeId="2" ParentId="5961" CreationDate="2011-04-14T12:30:55.767" Score="12" Body="&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Assumption:&lt;/strong&gt; &lt;a href=&quot;http://en.wikipedia.org/wiki/Exponential_time_hypothesis&quot;&gt;Exponential time hypothesis&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;First cited in:&lt;/strong&gt; While being folklore, it was first formalized in the following paper: Russell Impagliazzo and Ramamohan Paturi. 1999. &lt;a href=&quot;http://dx.doi.org/10.1109%2FCCC.1999.766282&quot;&gt;The Complexity of k-SAT&lt;/a&gt;. In &lt;em&gt;Proceedings of the Fourteenth Annual IEEE Conference on Computational Complexity&lt;/em&gt; (&lt;em&gt;COCO '99&lt;/em&gt;). IEEE Computer Society, Washington, DC, USA, 237-240.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Use(s):&lt;/strong&gt; It assumes that no NP-complete problem can be decided in sub-exponential time, and therefore implies that P ≠ NP.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Status:&lt;/strong&gt; Open.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="1379" LastActivityDate="2011-04-14T12:30:55.767" CommentCount="4" CommunityOwnedDate="2011-04-14T12:30:55.767" ContentLicense="CC BY-SA 3.0" />
  <row Id="6083" PostTypeId="2" ParentId="5659" CreationDate="2011-04-14T13:09:48.297" Score="8" Body="&lt;p&gt;I just read in a paper of Chalopin and Gonçalves (STOC '09) the following conjecture of West:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Every planar graph is the intersection graph of segments in the plane using only four directions.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Since parallel segments form an independent set in such a representation, this conjecture implies the 4CT, but perhaps is even stronger.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The reference: West, &lt;em&gt;Open problems&lt;/em&gt;. SIAM J Discrete Math Newsletter, 2(1):10-12, 1991.&lt;/p&gt;&#xA;" OwnerUserId="233" LastEditorUserId="233" LastEditDate="2011-04-14T15:33:10.653" LastActivityDate="2011-04-14T15:33:10.653" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6084" PostTypeId="1" AcceptedAnswerId="6086" CreationDate="2011-04-14T14:06:42.380" Score="7" ViewCount="305" Body="&lt;p&gt;Suppose you are given both a graph $G(V,E)$ and the exact number $C$ of vertex covers of $G$. Now suppose that $G$ is subject to a very small perturbation $P$, leading to $G&amp;#39;=P(G)$. More precisely, the perturbation $P$ is restricted to be one of the following:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Addition of $1$ new edge.&lt;/li&gt;&#xA;&lt;li&gt;Addition of $2$ new distinct edges.&lt;/li&gt;&#xA;&lt;li&gt;Removal of $1$ existing edge.&lt;/li&gt;&#xA;&lt;li&gt;Removal of $2$ distinct existing edges.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Question&lt;/strong&gt;&lt;br&gt;&lt;br&gt;&#xA;  Given $G$, $C$, and $P$, how hard is to determine the number $C&amp;#39;$ of vertex covers of $G&amp;#39;=P(G)$? Is it possible to exploit the knowledge of $C$ and the fact that the perturbation is so tiny in order to efficiently determine $C&amp;#39;$?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="947" LastEditorUserId="80" LastEditDate="2011-04-14T15:43:26.833" LastActivityDate="2011-04-28T20:47:57.233" Title="How hard is counting the number of vertex covers after a small perturbation?" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;counting-complexity&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6085" PostTypeId="1" AcceptedAnswerId="6125" CreationDate="2011-04-14T14:28:30.140" Score="27" ViewCount="4371" Body="&lt;p&gt;I'm having a little trouble fully understanding the final steps of Shor's factoring algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given an $N$ we want to factor, we choose a random $x$ which has order $r$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The first step involves setting up the registers and applying the Hadamard operator. The second step a linear operator is applied. The third step the second register is measured (I believe this step can be performed later instead). The fourth step the discrete Fourier transform is applied to the first register. Then we measure the first register.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here's where I'm a little hazy:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We get a measurement in the form $\mid j , x^k \textrm{mod} N \rangle $.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;From this we can find the convergents of the fraction $ \frac{j}{2^q} $ , the convergents are possible values of the order $ r $. Here do we just try all the convergents $ &amp;lt; N $ and if we don't find $ r $ as one of the convergents do we just start again?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also how does the probability for possible values $ j $ differ? They way I see it they should all have the same probability but Shor's paper says this isn't the case?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Just a little confused as some papers seem to say different things.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks.&lt;/p&gt;&#xA;" OwnerUserId="4677" LastEditorUserId="43" LastEditDate="2011-04-14T15:16:15.290" LastActivityDate="2011-11-15T19:24:41.753" Title="Shor's factoring algorithm help" Tags="&lt;quantum-computing&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="6086" PostTypeId="2" ParentId="6084" CreationDate="2011-04-14T14:45:23.607" Score="17" Body="&lt;p&gt;Since counting vertex covers is #P-complete, your problem is unlikely to be in P; otherwise you could count the number of vertex covers starting from the empty graph on $|V|$ vertices, adding edges one by one.&lt;/p&gt;&#xA;" OwnerUserId="2150" LastActivityDate="2011-04-14T14:45:23.607" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6087" PostTypeId="2" ParentId="6070" CreationDate="2011-04-14T15:04:06.883" Score="7" Body="&lt;p&gt;If you use triangles, it can be done.  Perhaps not easier than Koebe though...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://journals.cambridge.org/article_S0963548300001139&quot; rel=&quot;nofollow&quot;&gt;de Fraisseix, Ossona de Mendez and Rosenstiehl. On Triangle Contact Graphs. CPC 3(2): 233-246, 1994.&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="233" LastActivityDate="2011-04-14T15:04:06.883" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6088" PostTypeId="2" ParentId="6070" CreationDate="2011-04-14T15:17:01.610" Score="7" Body="&lt;p&gt;Schramm proved that every planar graph is the contact graph of some set of smooth convex objects in the plane in &lt;a href=&quot;http://arxiv.org/abs/0709.0710&quot; rel=&quot;nofollow&quot;&gt;his PhD thesis (Princeton, 1990)&lt;/a&gt; using Brouwer's Fixed Point Theorem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A nice survey of this and other results related to Koebe's Theorem is in &lt;a href=&quot;http://linkinghub.elsevier.com/retrieve/pii/0012365X93E0068F&quot; rel=&quot;nofollow&quot;&gt;a survey by Sachs&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="233" LastEditorUserId="233" LastEditDate="2011-04-15T08:00:47.787" LastActivityDate="2011-04-15T08:00:47.787" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6089" PostTypeId="2" ParentId="6077" CreationDate="2011-04-14T17:38:01.260" Score="10" Body="&lt;p&gt;As far as I know, the general bounds you state are essentially the best known. Changing the model slightly, Midrijanis has &lt;a href=&quot;http://arxiv.org/abs/quant-ph/0403168&quot; rel=&quot;nofollow&quot;&gt;shown&lt;/a&gt; the bound that $D(f) = O(Q_E(f))^3$, where $Q_E(f)$ is the &lt;i&gt;exact&lt;/i&gt; quantum query complexity of $f$; there are also tighter bounds known in terms of one-sided error (see Section 6 of &lt;a href=&quot;http://arxiv.org/abs/quant-ph/0501142&quot; rel=&quot;nofollow&quot;&gt;this paper&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In terms of more specific, but still general, classes of functions, there is a paper of Barnum and Saks which &lt;a href=&quot;http://arxiv.org/abs/quant-ph/0201007&quot; rel=&quot;nofollow&quot;&gt;shows&lt;/a&gt; that all read-once functions on $n$ variables have quantum query complexity $\Omega(\sqrt{n})$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Although this progress has been limited, there has been considerable progress in lower bounding the quantum query complexity of &lt;i&gt;specific&lt;/i&gt; functions; see &lt;a href=&quot;http://arxiv.org/abs/quant-ph/0509153&quot; rel=&quot;nofollow&quot;&gt;this review&lt;/a&gt; for details (or e.g. the more recent &lt;a href=&quot;http://arxiv.org/abs/0904.2759&quot; rel=&quot;nofollow&quot;&gt;paper&lt;/a&gt; of Reichardt, which proves that the most general version of the ''adversary'' bound characterises quantum query complexity).&lt;/p&gt;&#xA;" OwnerUserId="447" LastActivityDate="2011-04-14T17:38:01.260" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6094" PostTypeId="1" CreationDate="2011-04-14T21:52:17.883" Score="14" ViewCount="2225" Body="&lt;p&gt;I'm interested in implementing SM for LP task, however I've heard about possible pitfalls: Cormen's book says that it is possible to have input data which will make naive implementation to behave in exponential time. I've also heard that naive implementation can loop for some kind of data. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a book/paper/source which explains nuances of practical implementation of SM?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks in advance.&lt;/p&gt;&#xA;" OwnerUserId="4519" LastEditorUserId="186" LastEditDate="2011-04-17T07:47:43.383" LastActivityDate="2017-04-27T17:46:20.197" Title="Best book on Simplex Method implementation?" Tags="&lt;ds.algorithms&gt;&lt;linear-programming&gt;&lt;software&gt;&lt;implementation&gt;&lt;simplex&gt;" AnswerCount="5" CommentCount="1" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="6095" PostTypeId="1" CreationDate="2011-04-14T22:51:10.110" Score="13" ViewCount="747" Body="&lt;p&gt;Consider the following problem -&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given maximal planar graphs $G_1$ and $G_2$, find the graph $G$ with maximum number of edges such that there is a subgraph (not necessarily induced) in both $G_1$ and $G_2$ that is isomorphic to $G$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can this be done in polynomial time? If yes, then how?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's known that if $G_1$ and $G_2$ are general graphs, then the problem is NP-complete (because $G_1$ could be a clique). It's also known that if $G_1$ and $G_2$ are trees, or bounded degree partial k-trees, then the problem can be solved in polynomial time. So what about the maximal planar case? Does anyone know this? Graph isomorphism on two maximal planar graphs is polynomial. Perhaps this helps somehow?&lt;/p&gt;&#xA;" OwnerUserId="262" LastEditorUserId="186" LastEditDate="2011-04-14T23:23:45.060" LastActivityDate="2015-12-11T00:14:51.580" Title="Largest common subgraph of two maximal planar graphs" Tags="&lt;ds.algorithms&gt;&lt;graph-algorithms&gt;&lt;planar-graphs&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="6096" PostTypeId="1" CreationDate="2011-04-14T22:56:18.160" Score="1" ViewCount="369" Body="&lt;p&gt;I have a simple algorithm which I believe it is O(N) in worst case. But I cannot prove it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here's the problem:&#xA;Given a sequence of numbers A[1], A[1], A[2], ... A[N].&#xA;The algorithm computes the array L, in which&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;L[i] = min{k | A[j] &amp;gt;= A[i] for all k &amp;lt;= j &amp;lt;= i}&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;In other words, L[i] is the left most index so that all the numbers from position L[i] to i is not less than A[i].&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The algorithm is as follows.&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;for i = 1 to N&#xA;   k = i&#xA;   while (k &amp;gt;= 0 AND A[k] &amp;gt;= A[i]) &#xA;     L[i] = k&#xA;     k = L[k] - 1  &#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;How to prove this algorithm is O(N), or is there some input that makes it not O(N)?&lt;/p&gt;&#xA;" OwnerUserId="4558" LastActivityDate="2011-04-14T22:56:18.160" Title="Is this algorithm O(N) in worst case?" Tags="&lt;ds.algorithms&gt;" AnswerCount="0" CommentCount="2" ClosedDate="2011-04-14T23:23:02.890" ContentLicense="CC BY-SA 3.0" />
  <row Id="6097" PostTypeId="2" ParentId="6068" CreationDate="2011-04-15T01:46:04.793" Score="7" Body="&lt;p&gt;Philippe Gambette has a &lt;a href=&quot;http://www.lirmm.fr/~gambette/EnsDecompositionModulaireENG.php&quot;&gt;webpag&lt;/a&gt;e about bibliography of modular decomposition algorithms.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;About &quot;A Simple Linear-Time Modular Decomposition Algorithm for Graphs, Using Order Extension&quot;, Fabien de Montgolfier provided an extended version of this paper on &lt;a href=&quot;http://www.liafa.jussieu.fr/~fm/&quot;&gt;his website&lt;/a&gt;. If you are interested in variants or generalizations of MD, you can find some papers about Homogeneous Relations in his website, too.&lt;/p&gt;&#xA;" OwnerUserId="84" LastActivityDate="2011-04-15T01:46:04.793" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6098" PostTypeId="1" AcceptedAnswerId="6099" CreationDate="2011-04-15T02:37:16.693" Score="15" ViewCount="410" Body="&lt;p&gt;A &lt;em&gt;hitting set&lt;/em&gt; of a family $\mathcal{S} = \{S_1, \dots, S_n\}$ is a subset $H$ of $\bigcup_{i=1}^{n} S_i$ such that $H \cap S_i \ne \emptyset$ for $1 \le i \le n$.&#xA;The problem to find a minimum hitting set of a given family is NP-hard in general,&#xA;since it generalizes the vertex cover problem. Now my question is:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Does the hitting set problem remain NP-hard when the elements of $\mathcal{S}$ pairwise intersect?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I am also interested in the approximation hardness (or tractability) of this problem.&lt;/p&gt;&#xA;" OwnerUserId="481" LastEditorUserId="109" LastEditDate="2011-04-15T07:49:25.143" LastActivityDate="2011-04-15T07:49:25.143" Title="Hitting set of pairwise intersecting families" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;&lt;approximation-hardness&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="6099" PostTypeId="2" ParentId="6098" CreationDate="2011-04-15T04:11:06.590" Score="11" Body="&lt;p&gt;The answer is yes - the problem is still NP-Complete. for every set $S_i$ create a fake elements $e_i&amp;#39;, e_i&amp;#39;&amp;#39;$ and create a new sets $S_i&amp;#39; = S_i \cup \{ e_i&amp;#39;\}$ and $S_i&amp;#39;&amp;#39; = S_i \cup \{e_i&amp;#39;&amp;#39;\}$. It is easy to verify that  any hitting set of the old system is a hitting set of the new system. Furthermore, except for the fake elements, every element now hit at least three sets.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Next, for every pair of sets in the new system (lets call them $T_i$ and $T_j$ to avoid confusion), create a fake element $x_{ij}$ and add it to both $T_i$ and $T_j$. Clearly, in the resulting set system all sets pairwise intersect, but the original optimal hitting set is still the optimal hitting set for this newest system. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Without any further restrictions the problem looks as hard as the original problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;BTW, proving that indeed the optimal solution would not use any of the fake elements is not trivial. First, we can assume that a given hitting set for the new system does not include any $e_i&amp;#39;$ or $e_i&amp;#39;&amp;#39;$, since otherwise we can move the elements to the original elements of the sets, and get a hitting set of similar size. It is slightly more subtle to see why the elements $x_{ij}$ are not in the optimal hitting set. Since it is tedious I would just leave a hint: build a graph connecting two sets $S_i$ and $S_j$ in the original system if $x_{ij}$ connects two sets that are derived from these sets. Argue that this graph in the minimal hitting set must be $3$ regular, and as such the number of edges in it strictly exceeds the number of sets present as vertices. As such, one can find a smaller hitting set for these sets.&lt;/p&gt;&#xA;" OwnerUserId="9594" LastEditorUserId="9594" LastEditDate="2011-04-15T04:28:58.570" LastActivityDate="2011-04-15T04:28:58.570" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6100" PostTypeId="1" AcceptedAnswerId="6101" CreationDate="2011-04-15T05:00:24.507" Score="30" ViewCount="1333" Body="&lt;p&gt;The 1980's gave rise to both the &lt;a href=&quot;http://en.wikipedia.org/wiki/Parallel_Random_Access_Machine&quot;&gt;PRAM&lt;/a&gt; and the &lt;a href=&quot;http://en.wikipedia.org/wiki/Bulk_synchronous_parallel&quot;&gt;BSP&lt;/a&gt; models of parallel computation. It seems that both model's heyday were during the late 80s and early 90s.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are these areas still active in terms of research for parallel algorithms? Are there newer more sophisticated models for parallel computation? Are general models still in vogue, or are researchers trying to specialize with GPGPU or Cloud based computation coming in fashion?&lt;/p&gt;&#xA;" OwnerUserId="1501" LastActivityDate="2012-08-01T22:58:49.530" Title="Current parallel models for computation" Tags="&lt;ds.algorithms&gt;&lt;dc.parallel-comp&gt;&lt;dc.distributed-comp&gt;" AnswerCount="10" CommentCount="0" FavoriteCount="15" ContentLicense="CC BY-SA 3.0" />
  <row Id="6101" PostTypeId="2" ParentId="6100" CreationDate="2011-04-15T05:07:23.967" Score="19" Body="&lt;p&gt;There are a number of models floating around, but some of the most salient are:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;The &lt;a href=&quot;http://arxiv.org/abs/cs.CC/0611108&quot;&gt;MUD&lt;/a&gt; and &lt;a href=&quot;http://theory.stanford.edu/~sergei/papers/soda10-mrc.pdf&quot;&gt;Mapreduce&lt;/a&gt; models that are primarily about capturing the MapReduce framework, but more generally can be viewed as parallel-distributed models of computation&lt;/li&gt;&#xA;&lt;li&gt;The various &lt;a href=&quot;http://dimacs.rutgers.edu/Workshops/Parallel/abstracts.html#ramachandran&quot;&gt;multicore models&lt;/a&gt; that have been proposed (but by no means are the standard yet)&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;There was a &lt;a href=&quot;http://dimacs.rutgers.edu/Workshops/Parallel/program.html&quot;&gt;workshop last month at DIMACS&lt;/a&gt; on this topic: perusing the abstracts will give you more pointers. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2011-04-15T05:07:23.967" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="6102" PostTypeId="2" ParentId="6100" CreationDate="2011-04-15T05:51:57.253" Score="8" Body="&lt;p&gt;For message-passing architectures, a model which is quite similar to BSP but easier to deal with and with performance analysis close to what you really get on a real machine is certainly CGM or Coarse Grained Multicomputer. It was proposed by Frank Dehne, and you will find many interesting papers presenting algorithms developed in this context.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;CGM fits coarse-grained architectures assuming p processors, each one with O(n/p) local memory and the size of the input n much larger (orders of magnitude apart) than p, i.e. p≪n. Therefore, the model maps much better than others on current architectures; it has been studied extensively.&#xA;The model is based on the following assumptions: (i) the algorithms execute so-called supersteps, that consist of one phase of local computation and one phase of interprocessor communication with intermediate barrier synchronization, (ii) all of the p processors have access to O(n/p) local memory, (iii) in each superstep, a processor can send and receive at most O(n/p) elements and (iv) the communication network between the processors can be arbitrary. In this model, an algorithm is evaluated w.r.t. its computation time and number of communication rounds.&#xA;Although the model is simple, nevertheless it provides a reasonable prediction of the actual performances of parallel algorithms; indeed, parallel algorithms for CGMs usually have a theoretical complexity analysis very close to the actual times determined experimentally when implementing and benchmarking them.&lt;/p&gt;&#xA;" OwnerUserId="4208" LastActivityDate="2011-04-15T05:51:57.253" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6103" PostTypeId="2" ParentId="6094" CreationDate="2011-04-15T06:35:12.830" Score="12" Body="&lt;p&gt;The simplex algorithm is not in P. CLRS therefore states that, even though in practice it works &quot;well&quot;, there are some inputs causing the algorithm to run in exponential time. This is strictly related to the algorithm, not to its implementation: you will face this independently of how exactly you implement the algorithm. However, LP is in P. This was proved by Khachian in 1979, however his ellipsoid algorithm is not practical. Today, interior points methods are widely used. The first one was discovered by Karmarkar in 1984.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you are interested in practical implementations, take a look at:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;GUROBI, free for academic use, is right now the best optimizer available (both sequential and shared-memory parallel versions):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.gurobi.com&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://www.gurobi.com&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;the GLPK library:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.gnu.org/software/glpk/&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://www.gnu.org/software/glpk/&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;this is an open source project, providing implementations for:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;primal and dual simplex methods&lt;/li&gt;&#xA;&lt;li&gt;primal-dual interior-point method&lt;/li&gt;&#xA;&lt;li&gt;branch-and-cut method&lt;/li&gt;&#xA;&lt;li&gt;translator for GNU MathProg &lt;/li&gt;&#xA;&lt;li&gt;application program interface (API)&lt;/li&gt;&#xA;&lt;li&gt;stand-alone LP/MIP solver&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="4208" LastEditorUserId="4208" LastEditDate="2017-04-27T17:46:20.197" LastActivityDate="2017-04-27T17:46:20.197" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="6104" PostTypeId="2" ParentId="6070" CreationDate="2011-04-15T07:59:00.253" Score="0" Body="&lt;p&gt;Gerd Wegner in &lt;em&gt;his&lt;/em&gt; PhD thesis (Georg-August-Universität, Göttingen, 1967) proved that any graph is the contact graph of a set of three-dimensional convex polytopes (but he credits the first unpublished proof of the result to Grünbaum).  This is a short proof.&lt;/p&gt;&#xA;" OwnerUserId="233" LastActivityDate="2011-04-15T07:59:00.253" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="6105" PostTypeId="2" ParentId="1759" CreationDate="2011-04-15T13:18:45.533" Score="4" Body="&lt;p&gt;Emanuele Viola has published the book &quot;&lt;a href=&quot;http://www.nowpublishers.com/product.aspx?product=TCS&amp;amp;doi=0400000033&quot; rel=&quot;nofollow&quot;&gt;On the Power of Small-Depth Computation&lt;/a&gt;&quot; which includes many results on circuit lower bounds.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A preliminary version of the book can be found &lt;a href=&quot;http://www.ccs.neu.edu/home/viola/papers/shallow.pdf&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="873" LastActivityDate="2011-04-15T13:18:45.533" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6106" PostTypeId="2" ParentId="6100" CreationDate="2011-04-15T14:29:54.307" Score="22" Body="&lt;p&gt;I apologize beforehand for the blog-post format of my answer. I couldn't help myself making a small overview of the parallel computing world.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can categorize parallel programming models in roughly two categories: control-flow and data-flow models.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The &lt;strong&gt;control-flow models&lt;/strong&gt; try to make parallelism work within the context of a explicit-control program, basically every programmable computer today.  The fundamental problem being tackled is that such a 'Von Neumann architecture' was not designed for parallel execution, but efficient sequential computations.  Parallelism in such context is obtained by duplicating parts of the basic modules (memory, control, arithmetic). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Duplicating only arithmetic gives you SIMD instructions, all ALUs share the same Program Counter (PC) and thus always execute the same operation in parallel, albeit on different data. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Duplicating ALU and the PC but keeping the instruction sequencer inside the control unit gives you Out of Order (OoO) execution that yield some pipeline-parallelism. In this category you also have the Very Long Instruction Word (VLWI) and branche-prediction techniques. You rarely see this category at a software level though.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Going a bit further is duplicating the whole 'core' but keeping the memory shared, these are the current multicore processors that give you task (or thread) parallelism.  Sharing memory in this context gives you very, &lt;a href=&quot;http://lambda-the-ultimate.org/node/4211&quot;&gt;very hard and subtle concurrency issues&lt;/a&gt;.  Parallel computations on current multicore are thus completely revolving around synchronization/concurrency problems, the careful balance of performance (no sync) and desired semantics (totally synchronized, sequential execution semantics). Examples of this is the PRAM or more popular these days the &lt;a href=&quot;http://supertech.csail.mit.edu/cilk/&quot;&gt;Cilk&lt;/a&gt; ofshoots such as fork/join (&lt;a href=&quot;http://threadingbuildingblocks.org/&quot;&gt;IntelTBB&lt;/a&gt;, &lt;a href=&quot;http://download.oracle.com/javase/tutorial/essential/concurrency/forkjoin.html&quot;&gt;Java.Utils.Concurrency&lt;/a&gt;). CSP and Actor models are concurrency models, but as mentioned above concurrency and parallelism become blurred in a shared-memory environment. n.b. parallelism is for performance, concurrency to maintain correct semantics.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Duplicating memory too gives you either networked computers that get programmed with MPI and its ilk or just strange non-Von Neumann architectures such as the network-on-a-chip processors (cloud processor, the Transputer, Tilera). Memory models such as &lt;a href=&quot;http://en.wikipedia.org/wiki/Uniform_Memory_Access&quot;&gt;UMA&lt;/a&gt; or &lt;a href=&quot;http://en.wikipedia.org/wiki/Non-Uniform_Memory_Access&quot;&gt;NUMA&lt;/a&gt; try to maintain the illusion of shared memory and can exist on either software or hardware level. MPI maintains the program-level parallelism and only communicates via message passing. Message passing is also used on a hardware level for communication and concurrency (Transputer).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The second category are &lt;strong&gt;data-flow models&lt;/strong&gt;. These were designed at the dawn of the computer age as a way to write down and execute parallel computations, avoiding the Von Neumann design.  These have fallen out of vogue (for parallel computing) by the '80s after sequential performance rose exponentially. However, a lot of parallel programming systems such as Google MapReduce, Microsoft's Dryad or Intel's Concurrent Collections are in fact dataflow computational models.  At some point they represent computations as a graph and use that to guide execution.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By specifying parts of the models you get different categories and semantics for the dataflow model. What do you restrict the shape of the graph to: DAG (CnC, Dryad), tree (mapreduce), digraph?  Are there strict synchronization semantics (&lt;a href=&quot;http://en.wikipedia.org/wiki/Lustre_programming_language&quot;&gt;Lustre&lt;/a&gt;, reactive programming]? Do you disallow recursion to be able to have a static schedule (StreaMIT) or do you provide more expressive power by having a dynamic scheduler (Intel CnC)? Is there a limit on the number of incoming or outgoing edges? Do the firing semantics allow firing the node when a subset of the incoming data is available? Are edges streams of data (stream processing) or single data tokens (static/dynamic single assignment). For related work you could start by looking at the dataflow research work of people like Arvind, K. Kavi, j. Sharp, W. Ackerman, R. Jagannathan, etc.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit: For the sake of completeness.&lt;/strong&gt; I should point out there are also parallel &lt;strong&gt;reduction-driven&lt;/strong&gt; and &lt;strong&gt;pattern-driven&lt;/strong&gt; models. For the reduction strategies you broadly have graph-reduction and string-reduction. Haskell basically uses graph-reduction, which is a very efficient strategy on a sequential shared-memory system. String-reduction duplicates work, but has a private-memory property that makes it better suited to being implicitly parallelized. The pattern-driven models are the parallel logic languages, such as concurrent prolog. The Actor model is also a pattern-driven model, but with private memory characteristics.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;PS. I use the term 'model' broadly, covering abstract machines for both formal and programming purposes.&lt;/p&gt;&#xA;" OwnerUserId="4691" LastEditorUserId="4691" LastEditDate="2011-05-04T11:47:17.917" LastActivityDate="2011-05-04T11:47:17.917" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="6107" PostTypeId="1" AcceptedAnswerId="6377" CreationDate="2011-04-15T16:46:58.997" Score="8" ViewCount="869" Body="&lt;p&gt;I posted this on &lt;a href=&quot;https://mathoverflow.net/questions/61531/complexity-of-finding-disjoint-2-factors-with-equal-cardinality-in-cubic-graphs&quot;&gt;mathoverflow&lt;/a&gt; but with no luck:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finding a connected 2-factor is $NP$-complete since it is equivalent to the Hamiltonian cycle problem. I'm interested in the complexity of finding two vertex-disjoint $(|V|/2)$-cycles in cubic graphs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I suspect that it is $NP$-complete but I'm not able to find a reference. Also, What is the complexity of finding two vertex-disjoint $(|V|/2)$-cycles with equal cardinality in planar cubic bipartite graphs? Is it $NP$-complete?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Providing references is highly appreciated. $NP$-completeness refers to the decision version of the problem.&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2011-05-03T15:38:42.773" Title="Complexity of finding 2 vertex-disjoint $(|V|/2)$-cycles in cubic graphs?" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;graph-theory&gt;&lt;np-hardness&gt;" AnswerCount="2" CommentCount="5" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="6108" PostTypeId="2" ParentId="6094" CreationDate="2011-04-15T17:54:02.430" Score="1" Body="&lt;p&gt;You might check Luenberger, Ye, Linear and Nonlinear Programming, 3rd ed. That seems pretty comprehensive, but I haven't made it far enough yet to say whether it completely answers your question.&lt;/p&gt;&#xA;" OwnerUserId="4692" LastActivityDate="2011-04-15T17:54:02.430" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6109" PostTypeId="1" AcceptedAnswerId="6113" CreationDate="2011-04-15T19:52:59.690" Score="1" ViewCount="222" Body="&lt;p&gt;I am working on complete metric graph (V,d) where shortest distance is used as metric. The question is how large can be the ratio of the sum of weights of all edges to the weight of the MST (minimum spanning tree). Also if anyone of you can post some lecture note or paper links so that i can study these graphs.&lt;/p&gt;&#xA;" OwnerUserId="4529" LastEditorUserId="186" LastEditDate="2011-04-15T21:08:39.043" LastActivityDate="2011-04-15T21:12:13.613" Title="Weighted Metric Graph: ratio of sum of wts of edges to the wt of MST" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;graph-algorithms&gt;&lt;metrics&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6110" PostTypeId="2" ParentId="6100" CreationDate="2011-04-15T20:25:44.743" Score="3" Body="&lt;p&gt;Purely functional programs allow parallel execution of independent expressions.&#xA;Hence, I would count them as parallel models of computation.&lt;/p&gt;&#xA;" OwnerUserId="3049" LastActivityDate="2011-04-15T20:25:44.743" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="6111" PostTypeId="1" AcceptedAnswerId="6117" CreationDate="2011-04-15T20:34:56.387" Score="-1" ViewCount="2697" Body="&lt;p&gt;I would like to be able to map any subset of $S = \{0,..,m-1\}$ to an integer $k$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$m$ will probably be 32 because $|\mathcal{P}(S)| = 2^m$ and i want to use a variable with 32 bits to store this value.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I know that given a set with $l$ elements, ( where each of its elements belongs to $\{0,..,m-1\}$ ) i can map its value between &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\sum_{i=0}^{l-1} \binom{m}{i} $ and $\sum_{i=0}^{l} \binom{m}{i} $&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Which leaves me now with the problem:&#xA;For a set of size $2$ where each element belongs to $\{0,..,m-1\}$, i need a function $f$ which satisfies:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;$B \neq C \Rightarrow f(B) \neq f(C)$&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The amplitude of codomain of $f$ must be  $\binom{m}{2}$&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;$f$ must not need to order the set to calculate the value - that is, &#xA;$ f = a_{1} \circ a_{2} \circ ... \circ a_{n} \Rightarrow \forall i , ( a_{i} \notin \{&amp;lt;,&amp;gt;\} \wedge a_{i}$ satisifies this property $)$ &lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Here is an example of what should be a function like this:&#xA;for $m=4$:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$  f(\{0,3\}) = 3, f(\{0,2\}) = 2 , f(\{0,1\}) = 1$&lt;br&gt;&#xA;$  f(\{1,3\}) = 5, f(\{1,2\}) = 4$&lt;br&gt;&#xA;$  f(\{2,3\}) = 6$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\binom{4}{2} = 6$&lt;/p&gt;&#xA;" OwnerUserId="4649" LastEditorUserId="4649" LastEditDate="2011-04-23T00:54:55.853" LastActivityDate="2014-12-01T22:53:14.897" Title="Minimal perfect hash function from sets of integers to integers" Tags="&lt;co.combinatorics&gt;&lt;hash-function&gt;" AnswerCount="1" CommentCount="13" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6112" PostTypeId="2" ParentId="6100" CreationDate="2011-04-15T20:35:24.233" Score="4" Body="&lt;p&gt;&lt;a href=&quot;http://dx.doi.org/10.1145/1378533.1378573&quot; rel=&quot;nofollow&quot; title=&quot;PEM&quot;&gt;Parallel External Memory (PEM)&lt;/a&gt; is a natural combination of a PRAM-style  shared memory machine with the external memory model.  It focuses on the implications of private caches.&lt;/p&gt;&#xA;" OwnerUserId="3049" LastActivityDate="2011-04-15T20:35:24.233" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6113" PostTypeId="2" ParentId="6109" CreationDate="2011-04-15T21:12:13.613" Score="3" Body="&lt;p&gt;If the weight of the MST is $W$, then the weight of all edges is $\le \binom n 2 \cdot W$, because every edge in the graph is bounded by the unique path in the MST connecting the two nodes of the edge by the triangle inequality.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is tight: Consider a line with edge weights all being equal to $1$ and let the metric be the shortest path metric induced by this line. Then the MST is this line and has weight $n-1$, on the other hand there are $\Omega(n^2)$ pairs of nodes with a distance of $\Omega(n)$.&lt;/p&gt;&#xA;" OwnerUserId="3980" LastActivityDate="2011-04-15T21:12:13.613" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6114" PostTypeId="2" ParentId="6036" CreationDate="2011-04-15T21:31:42.420" Score="3" Body="&lt;p&gt;This is sometimes known as the &lt;a href=&quot;http://www.cs.brown.edu/~sello/golf.html&quot; rel=&quot;nofollow&quot;&gt;Social Golfer&lt;/a&gt; problem (see also &lt;a href=&quot;http://mathworld.wolfram.com/SocialGolferProblem.html&quot; rel=&quot;nofollow&quot;&gt;the Wolfram MathWorld page&lt;/a&gt; and &lt;a href=&quot;http://www.csplib.org/prob/prob010/index.html&quot; rel=&quot;nofollow&quot;&gt;this page from CSPlib&lt;/a&gt;). Probably the most famous instance of this problem is &lt;a href=&quot;http://en.wikipedia.org/wiki/Kirkman%27s_schoolgirl_problem&quot; rel=&quot;nofollow&quot;&gt;Kirkman's Schoolgirl problem&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="751" LastActivityDate="2011-04-15T21:31:42.420" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6115" PostTypeId="1" CreationDate="2011-04-16T11:47:29.667" Score="13" ViewCount="638" Body="&lt;p&gt;&lt;strong&gt;Background&lt;/strong&gt;&lt;br&gt;&#xA;This question is motivated by a board game called 'Dracula'. In this game there is one vampire and four hunters, the purpose of the hunters is to catch the vampire. The game takes place in Europe. The game looks as follows:&lt;br&gt;&#xA; 1. The hunter player puts all hunters in cities. More than one hunter can be placed in the same city.&lt;br&gt;&#xA; 2. The vampire player puts the vampire in a city.&lt;br&gt;&#xA; 3. Players alternately move their creatures to the neighboring cities.&lt;br&gt;&#xA; 4. The hunter player in his turn may move as many hunters as he wants.&lt;br&gt;&#xA; 5. The main difficulty is that the vampire player knows all the time where the hunters are, but the hunter player knows only the starting position of the vampire.&lt;br&gt;&#xA; 6. When a hunter and the vampire meets in a city then the vampire player loses.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question&lt;/strong&gt;&lt;br&gt;&#xA;For a given graph $G$ and numbers $n$ and $k$, is there a strategy that guarantees the hunter player, who controls $n$ hunters, to catch vampire in less than $k$ turns? It may be assumed that $G$ is planar. Has this problem been studied? Some references would be appreciated.&lt;/p&gt;&#xA;" OwnerUserId="1899" LastEditorUserId="186" LastEditDate="2011-04-17T07:38:06.780" LastActivityDate="2014-07-01T14:02:35.957" Title="The Dracula game" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;board-games&gt;&lt;combinatorial-game-theory&gt;" AnswerCount="3" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6116" PostTypeId="1" CreationDate="2011-04-16T14:01:14.463" Score="1" ViewCount="198" Body="&lt;p&gt;If LR(0) condition for a grammar G is formulated as follows:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Every state is either reduction or a shift state and it can't be both at the same time&lt;/li&gt;&#xA;&lt;li&gt;if it is a reduction state, it contains exactly one item&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;and LALR :&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Every reduction candidate has a look-ahead set disjoint from the set of the terminal labels of the arcs leaving the state&lt;/li&gt;&#xA;&lt;li&gt;in case of multiple reduction candidates, their look-ahead sets are disjoint&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;I'm looking for the name (if any) of the LALR subset corresponding to the following conditions:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Every reduction candidate has a look-ahead set disjoint from the set of the terminal labels of the arcs leaving the state&lt;/li&gt;&#xA;&lt;li&gt;Each reduction state contains exactly one reduction candidate&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;which is a hybrid between LR(0) and LALR itself.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thank you.&lt;/p&gt;&#xA;" OwnerUserId="2501" LastEditorUserId="186" LastEditDate="2011-04-17T07:42:56.400" LastActivityDate="2011-04-17T07:42:56.400" Title="LALR grammars subsets" Tags="&lt;reference-request&gt;&lt;fl.formal-languages&gt;&lt;terminology&gt;&lt;grammars&gt;&lt;parsing&gt;" AnswerCount="0" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="6117" PostTypeId="2" ParentId="6111" CreationDate="2011-04-16T15:45:58.587" Score="0" Body="&lt;p&gt;Excuse me if this is a naive answer, I haven't read the problem very carefully and I've just had a beer ;)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Couldn't you just add up every element of the set as a power of two?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I.e. for the subset $\{0,8,3\}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$f(\{0,8,3\}) = 2^0 + 2^8 + 2^3$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This doesn't require you to order the subset ($2^0 + 2^8 + 2^3 = 2^0 + 2^3 + 2^8$) and assigns a unique integer for every possible subset.&lt;/p&gt;&#xA;" OwnerUserId="105" LastEditorUserId="105" LastEditDate="2011-04-16T17:14:38.867" LastActivityDate="2011-04-16T17:14:38.867" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6118" PostTypeId="1" CreationDate="2011-04-16T18:29:08.590" Score="0" ViewCount="311" Body="&lt;p&gt;Let $\#A$ be a counting problem in $FP$ and let $\#B$ a counting problem with unknown complexity.  Suppose there is a polynomial-time, one-to-many reduction from $B$ to $A$, but there is no specific relation between the solutions of $A$ and those of $B$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, $i$ solutions of $A$ could be related to one solution of $B$, and $j$ other solutions of $A$ could be related to a different solution of $B$ and so on. I only know that I can cover all solutions of $B$ via the reduction, and nothing more about solutions of $B$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is it possible to conclude that $\#B$ is in $FP$? Or do I have to find a strict parsimonious reduction or weak parsimonious reduction in a way that I could obtain the exact number of solutions of $B$ (possibly with help from the reduction)?&lt;/p&gt;&#xA;" OwnerUserId="2335" LastEditorUserId="3964" LastEditDate="2013-11-14T14:37:06.173" LastActivityDate="2013-11-14T14:37:06.173" Title="Complexity of counting when there is no parsimonious reduction" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;counting-complexity&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6119" PostTypeId="2" ParentId="5961" CreationDate="2011-04-16T19:03:49.007" Score="9" Body="&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Assumption&lt;/strong&gt;: NP does not have p-measure 0&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;First cited in&lt;/strong&gt;: Jack H. Lutz. &lt;a href=&quot;http://dx.doi.org/10.1137/0219076&quot; rel=&quot;nofollow noreferrer&quot;&gt;Category and measure in complexity classes&lt;/a&gt;. SIAM J. Comput. 19:1100-1131, 1990. &lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Use(s)&lt;/strong&gt;: If $\mu_p(NP) \neq 0$ then $P \neq NP$ and: &#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;There is a language that is $\leq_T^p$-complete for NP but not $\leq_m^p$-complete for NP [1];&lt;/li&gt;&#xA;&lt;li&gt;There is a pair of disjoint languages in NP that are P-inseparable [4];&lt;/li&gt;&#xA;&lt;li&gt;For every $\alpha &amp;lt; 1$, every $\leq_{n^{\alpha}-tt}^p$-hard language for NP is dense [3];&lt;/li&gt;&#xA;&lt;li&gt;Every $\leq_m^p$-complete language for NP has a dense exponential complexity core [2];&lt;/li&gt;&#xA;&lt;li&gt;NP contains a P-bi-immune language [3]; &lt;/li&gt;&#xA;&lt;li&gt;$E \neq NE$ and $EE \neq NEE$ ([1] - see &lt;a href=&quot;https://cstheory.stackexchange.com/questions/5961/an-anthology-of-complexity-assumptions/6059#6059&quot;&gt;this answer&lt;/a&gt; for more consequences of $EE \neq NEE$).&lt;/li&gt;&#xA;&lt;/ol&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;As far as I know, the above consequences are not known to follow merely from the assumption that $P \neq NP$.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Status&lt;/strong&gt;: Open&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;[1] J. Lutz and E. Mayordomo. &lt;a href=&quot;http://dx.doi.org/10.1016/0304-3975(95)00189-1&quot; rel=&quot;nofollow noreferrer&quot;&gt;Cook versus Karp/Levin: separating completeness notions if NP is not small&lt;/a&gt;. Theoret. Comp. Sci. 164:141-163, 1996. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] D. Juedez and J. Lutz. &lt;a href=&quot;http://dx.doi.org/10.1137/S0097539792238133&quot; rel=&quot;nofollow noreferrer&quot;&gt;The complexity and distribution of hard problems&lt;/a&gt;. SIAM J. Comput 24(2):279-295, 1995.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[3] E. Mayordomo. &lt;a href=&quot;http://dx.doi.org/10.1016/0304-3975(94)00023-C&quot; rel=&quot;nofollow noreferrer&quot;&gt;Almost every set in exponential time is P-bi-immune&lt;/a&gt;. Theoret. Comp. Sci. 136:487-506, 1994.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[4] L. Fortnow, J. Lutz, and E. Mayordomo. &lt;a href=&quot;http://www.cs.uchicago.edu/~fortnow/papers/insep.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Inseparability and strong hypotheses for disjoint NP pairs&lt;/a&gt;. In Jean-Yves Marion and Thomas Schwentick, editors, Proceedings of the 27th Symposium on Theoretical Aspects of Computer Science, volume 5 of Leibniz International Proceedings in Informatics (LIPIcs), pages 395-404. Schloss Dagstuhl-Leibniz-Zentrum fuer Informatik, Dagstuhl, Germany, 2010.&lt;/p&gt;&#xA;" OwnerUserId="129" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.743" LastActivityDate="2011-04-16T19:03:49.007" CommentCount="1" CommunityOwnedDate="2011-04-16T19:03:49.007" ContentLicense="CC BY-SA 3.0" />
  <row Id="6120" PostTypeId="2" ParentId="6094" CreationDate="2011-04-16T20:41:26.947" Score="6" Body="&lt;p&gt;It is not only naive implementations that sometimes behave in exponential time. In fact, I think all known deterministic and randomized rules have super-polynomial worst case inputs. Most of the known inputs that produce this worst-case behavior are highly structured, a related question:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/questions/2498/the-structure-of-pathological-instances-for-simplex-algorithms&quot;&gt;The structure of pathological instances for simplex algorithms&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, in practice SM works well. This has been formalized by the introduction of &lt;a href=&quot;http://arxiv.org/abs/cs/0111050v7&quot; rel=&quot;nofollow noreferrer&quot;&gt;smoothed analysis&lt;/a&gt; which is basically worst-case analysis with slightly perturbed inputs. Under this analysis, SM is polytime, in other words, for every input (even the pathological ones) there is a slight perturbation that allows the algorithm to perform well. This insight has been transformed into a &lt;a href=&quot;http://portal.acm.org/citation.cfm?doid=1132516.1132524&quot; rel=&quot;nofollow noreferrer&quot;&gt;randomized algorithm&lt;/a&gt; that performs in polytime. However, as far as I understand, there is still some debate about whether this algorithm qualifies as a 'true' simplex algorithm. I am also unaware if standard packages implement something along the lines of this, but you should be able to find some implementation if you search around, on account of the result being 5+ years old.&lt;/p&gt;&#xA;" OwnerUserId="1037" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2011-04-16T20:41:26.947" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6121" PostTypeId="2" ParentId="6094" CreationDate="2011-04-16T21:57:16.470" Score="9" Body="&lt;p&gt;Vanderbei's Linear Programming &lt;a href=&quot;http://www.princeton.edu/~rvdb/LPbook/&quot; rel=&quot;nofollow noreferrer&quot;&gt;book&lt;/a&gt; goes through many of the low level details... But as the other answers/comments suggested, implementing LP solver is a hard and thankless task. Off the shelf solver is probably the way to go... (There are also some open source LP solvers...)&lt;/p&gt;&#xA;" OwnerUserId="9594" LastEditorUserId="9594" LastEditDate="2017-04-26T20:49:48.773" LastActivityDate="2017-04-26T20:49:48.773" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6122" PostTypeId="1" AcceptedAnswerId="6126" CreationDate="2011-04-17T02:04:38.170" Score="7" ViewCount="556" Body="&lt;p&gt;&lt;strong&gt;Background&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am a biologist. I wrote and am about to submit a manuscript that describes a statistical analysis of computer model; it is a statistical methods and modeling paper.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;After my manuscript was written, a collaborator with a background in CS started to develop the code for their own project. In the process, they substantially improved the code, making it more logical, more readable, more adaptable. However, it still reproduces my original analysis unchanged and the manuscript itself has not changed.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The collaborator has not asked for, and I have not offered, authorship, but another co-author asked me to consider it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am uncertain about whether his contributions merit authorship, and my primary concern is that authorship reflects intellectual contribution.  On the one hand, the manuscript itself has not changed. On the other, the software that was described by and will be released with the paper has changed. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would like to collaborate with this and other computer scientists more in the future, but I would like to better appreciate what constitutes an intellectual contribution.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Both with respect to this case, and more generally, how can I determine when a collaborator's contribution meet both of the two following criteria of authorship (from the &lt;a href=&quot;http://publicationethics.org/files/u2/2003pdf12.pdf&quot; rel=&quot;nofollow&quot;&gt;Committee on publication ethics&lt;/a&gt;):&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;substantial contribution to conception and design, or acquisition of data, or analysis and interpretation of data;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;drafting the article or revising it critically for important intellectual content;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;update&lt;/em&gt;: it is clear from further consideration and the answers in below that the contribution justifies authorship, so I will offer it.&lt;/p&gt;&#xA;" OwnerUserId="4705" LastEditorUserId="4705" LastEditDate="2011-04-18T17:51:35.920" LastActivityDate="2012-02-10T20:12:56.727" Title="What is a substantial contribution to software design, with respect to authorship?" Tags="&lt;soft-question&gt;&lt;research-practice&gt;&lt;writing&gt;&lt;authorship&gt;" AnswerCount="5" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="6123" PostTypeId="2" ParentId="6070" CreationDate="2011-04-17T05:39:19.663" Score="4" Body="&lt;p&gt;There's a &lt;a href=&quot;http://arxiv.org/abs/1104.1482&quot; rel=&quot;nofollow&quot;&gt;new paper on the arxiv&lt;/a&gt; by Duncan, Gansner, Hu, Kaufman and Kobourov on contact graph representations. They show that 6 sided polygons are necessary and sufficient. The hexagons can be convex, but it wasn't clear to me on a first reading whether they were fat as well. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2011-04-17T05:39:19.663" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="6124" PostTypeId="2" ParentId="6122" CreationDate="2011-04-17T05:42:19.207" Score="4" Body="&lt;p&gt;Different CS communities have different processes, and it's hard to make a clear determination with the information given. Based solely on your description of the improvement as &quot;more logical, more readable, more adaptable&quot;, it wouldn't necessarily merit coauthorship in a theoretical paper. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It ultimately depends on how significant the improvements really were, and how nontrivial. I should add that at least in theoretical computer science, authorship tends to be handed out somewhat more liberally than in more experimental subdisciplines. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2011-04-17T05:42:19.207" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6125" PostTypeId="2" ParentId="6085" CreationDate="2011-04-17T06:28:07.450" Score="47" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;From this we can find the convergents&#xA;  of the fraction $j/2^q$ , the convergents&#xA;  are possible values of the order $r.$&#xA;  Here do we just try all the&#xA;  convergents $&amp;lt;N$ and if we don't find $r$&#xA;  as one of the convergents do we just&#xA;  start again?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;You could; the algorithm works fairly fast if you do. If you want to reduce the expected number of quantum steps, you could also do some other tests; for example you should check whether $r$ is a small multiple of one of the convergents. But if you don't find $r$ after these extended tests, you need to start again.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Also how does the probability for&#xA;  possible values $j$ differ? They way I&#xA;  see it they should all have the same&#xA;  probability but Shor's paper says this&#xA;  isn't the case?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I don't know whether I can help you more with this, because you haven't given me enough information for me to tell why you're confused. The probability for each value of $k$ in the fraction $k/r$ is (very nearly) the same. However, depending on exactly where $k/r$ falls between the adjacent values of $j/2^q$ and $(j+1)/2^q$, the probabilities of the specific values of $j$ differ.&lt;/p&gt;&#xA;" OwnerUserId="1677" LastEditorUserId="1677" LastEditDate="2011-11-15T19:24:41.753" LastActivityDate="2011-11-15T19:24:41.753" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="6126" PostTypeId="2" ParentId="6122" CreationDate="2011-04-17T07:34:37.130" Score="5" Body="&lt;p&gt;To me, a substantial contribution to software design may be related to many different things. For instance, rethinking the whole architecture, rethinking algorithms and data structures used, augmenting modularity, making the code easier to maintain and, in particular, applying correctly what in Software Engineering is usually called &quot;design for change&quot;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;According to your description, making the code more logical and adaptable may deserve authorship: it just depends on how much the overall code quality has changed, and it is up to you to judge this. I understand that, being a biologist, this is of course almost impossible to judge correctly on your side. You may ask a CS colleague about.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, making the code more readable is not necessarily so important. Indeed, code written by seasoned professionals programmers (especially in C and C++) is usually more difficult to read (because it is more concise and the typical style adopts statements not immediately understood by the majority of the people) w.r.t. code written by junior programmers and students. Even though every Software Engineering textbook stresses that code readability is important, especially in connection to software maintenance, practice is quite different from theory, at least for professional grade and commercial software.&lt;/p&gt;&#xA;" OwnerUserId="4208" LastActivityDate="2011-04-17T07:34:37.130" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="6127" PostTypeId="5" CreationDate="2011-04-17T07:39:58.167" Score="0" Body="&lt;p&gt;Used for questions in &lt;a href=&quot;http://en.wikipedia.org/wiki/Combinatorial_game_theory&quot; rel=&quot;nofollow&quot;&gt;combinatorial game theory&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2011-04-17T07:39:58.167" LastActivityDate="2011-04-17T07:39:58.167" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6128" PostTypeId="4" CreationDate="2011-04-17T07:39:58.167" Score="0" Body="Combinatorial game theory" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2011-04-17T07:39:58.167" LastActivityDate="2011-04-17T07:39:58.167" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6129" PostTypeId="5" CreationDate="2011-04-17T10:04:27.390" Score="0" Body="" OwnerUserId="-1" LastEditorUserId="-1" LastEditDate="2011-04-17T10:04:27.390" LastActivityDate="2011-04-17T10:04:27.390" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6130" PostTypeId="4" CreationDate="2011-04-17T10:04:27.390" Score="0" Body="Questions about the theory of regular expressions, both in the sense of &#xD;&#xA;Kleene's original definition and of POSIX regular expressions." OwnerUserId="2367" LastEditorUserId="2367" LastEditDate="2011-04-17T10:08:39.387" LastActivityDate="2011-04-17T10:08:39.387" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6132" PostTypeId="2" ParentId="6122" CreationDate="2011-04-17T10:15:29.003" Score="12" Body="&lt;p&gt;My view on this particular case is that the CS colleague's name should not go on the paper for the simple reason that the research had been done and written up before his/her contribution was made. The CS colleague's work made no contribution to your results.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As you said, the CS colleague is going to use the code for his/her own research, so he/she already has something for free. One question you could be asking is whether you should be on his/her subsequent papers based on this software.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In general, people who do the development work do deserve some credit even if their work helps facilitate scientific output, rather than directly contributes to it. For example, if someone wrote a program based on some design that I made, which would then form the basis of my further work, I would definitely give them credit for it, at least on the first instance. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course a lot of factors will influence this decision. Whether the developer is a PhD student, post-doc, professor or a &quot;just a&quot; programmer. Whether the person depends crucially on the publication. Whether the project's evaluation depends on joint publications (to show, for example, interdisciplinary collaboration). Political reasons: will the joint publication create goodwill for future collaborations?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's not a black/white issue and very hard to decide. In general, it's probably best to avoid any possible &lt;em&gt;badwill&lt;/em&gt;, because that can really spoil a (possible) collaboration.&lt;/p&gt;&#xA;" OwnerUserId="77" LastActivityDate="2011-04-17T10:15:29.003" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6133" PostTypeId="2" ParentId="6122" CreationDate="2011-04-17T12:18:45.403" Score="10" Body="&lt;p&gt;My policy includes the following rules: &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;if you remove everything that the person has done, is the paper/work still the same? &#xA;&lt;ul&gt;&#xA;&lt;li&gt;no authorship: the paper/work is the same &lt;/li&gt;&#xA;&lt;li&gt;authorship: if the paper/work is not the same&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;li&gt;Is the software part of the publciation? &#xA;&lt;ul&gt;&#xA;&lt;li&gt;authorship: If the paper+software are released together, and the paper largely describes the software. In this case, the software is just as much part of the publication as the text and figures.&lt;/li&gt;&#xA;&lt;li&gt;no authorship if the software is released separately&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="76" LastEditorUserId="4705" LastEditDate="2012-02-10T20:12:56.727" LastActivityDate="2012-02-10T20:12:56.727" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6134" PostTypeId="2" ParentId="6118" CreationDate="2011-04-17T12:49:35.100" Score="3" Body="&lt;p&gt;I don't think that having a non-parsimonious reduction helps in proving that a counting problem is in FP. Eg. if either 1 or 2 instances are mapped to 1, and which of these depends on something NP-hard, then you do not know anything about the complexity of your problem. Of course, you might have a special reduction from which you get some extra information.&lt;/p&gt;&#xA;" OwnerUserId="419" LastActivityDate="2011-04-17T12:49:35.100" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6135" PostTypeId="2" ParentId="1064" CreationDate="2011-04-17T13:15:23.910" Score="-6" Body="&lt;p&gt;This is software bug only. For FP implementation we have right result:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;MT2GI v 1.4.2.beta&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;blockquote&gt;&#xA;    &lt;p&gt;Algorithm 1 FP (implementation via floating points usage; fast, but may have rounding errors)&#xA;    Input:&#xA;    Graph 1:&#xA;    1-2,1-3,1-5,1-9,1-10,1-14,1-16,1-17,2-3,2-4,2-6,2-10,2-11,2-15,2-17,3-4,3-5,3-7,3-11,&#xA;    3-12,3-16,4-5,4-6,4-8,4-12,4-13,4-17,5-6,5-7,5-9,5-13,5-14,6-7,6-8,6-10,6-14,6-15,7-8,&#xA;    7-9,7-11,7-15,7-16,8-9,8-10,8-12,8-16,8-17,9-10,9-11,9-13,9-17,10-11,10-12,10-14,11-12,&#xA;    11-13,11-15,12-13,12-14,12-16,13-14,13-15,13-17,14-15,14-16,15-16,15-17,16-17&#xA;    Graph 2:&#xA;    1-6,1-8,1-9,1-11,1-13,1-14,1-15,1-16,2-3,2-4,2-5,2-8,2-12,2-13,2-15,2-16,3-5,3-6,3-7,&#xA;    3-11,3-12,3-14,3-15,4-5,4-6,4-8,4-9,4-10,4-15,4-17,5-9,5-10,5-11,5-14,5-16,6-7,6-8,6-10,&#xA;    6-14,6-15,7-8,7-10,7-11,7-12,7-16,7-17,8-9,8-12,8-16,9-11,9-12,9-14,9-17,10-13,10-14,&#xA;    10-16,10-17,11-15,11-16,11-17,12-13,12-14,12-17,13-14,13-15,13-16,13-17,15-17&#xA;    Number of vertices is 17&#xA;    Number of edges is 68&#xA;    GI test: started 15.04.2011 16:50:51&#xA;    GI found:&#xA;    1-1, 2-13, 3-16, 4-2, 5-8, 6-12, 7-7, 8-3, 9-6, 10-14, 11-10, 12-5, 13-4, 14-9, 15-17, &#xA;    16-11, 17-15,&#xA;    GI test: finished 15.04.2011 16:50:51&#xA;    Time is 0 sec.&#xA;    DebugFlag=0&#xA;    End -------------------------------&lt;/p&gt;&#xA;  &lt;/blockquote&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;So, rational number library has a bug. There is email in the paper. So be sure to drop me email if and when you find a bug. The paper was discussed in many Internet forums and I have no time to find such discussions via google. The fact is that nobody found any fatal error in the proof. The objective of this work seems rather theoretical than practical. The program was made for better understanding of suggested approach not more.&lt;/p&gt;&#xA;" OwnerUserId="4710" LastActivityDate="2011-04-17T13:15:23.910" CommentCount="13" ContentLicense="CC BY-SA 3.0" />
  <row Id="6136" PostTypeId="1" CreationDate="2011-04-17T15:41:39.930" Score="47" ViewCount="5849" Body="&lt;p&gt;I am interested in getting a really solid grasp on dependent typing. I've read most of TaPL and read (if not fully absorbed) 'Dependent Types' in &lt;a href=&quot;http://www.cis.upenn.edu/~bcpierce/attapl/&quot;&gt;ATTaPL&lt;/a&gt;. I've also read and skimmed a bunch of articles on dependent typing.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Many type theory discussions seem to focus on adding incremental features to previous type systems, not &quot;what's the next large generalization up from type system X?&quot;. Dependent types seem to be the next large generalization from System F, but I have yet to find the intuitive, canonical dependently typed language. The many references to Calculus of (inductive) Constructions makes me think CoC is that language, but the explanations of the language I have seen don't seem very clear or intuitive to me.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am expecting/guessing such a language would have features like: (and please let me know if anything in particular jumps out as confused or unrealistic)&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Generalized abstraction (can have functions from any domain in the type hierarchy to other, kind -&gt; term, term-&gt;type''' etc.)&lt;/li&gt;&#xA;&lt;li&gt;Has an infinite hierarchy of typing (terms : types : types' : types'' : ...)&lt;/li&gt;&#xA;&lt;li&gt;A minimum number of basic elements. I am imagining that the language only asserts a single element for each level. For example it might assert that (() : Unit : Type : Type' : ...). Other elements are built from these elements. &lt;/li&gt;&#xA;&lt;li&gt;Sum and product types are derivable.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I am also looking for an explanation of that language which ideally would discuss:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The relationship between abstraction and quantification in that language. If they are not unified, then explain why they are not unified.&lt;/li&gt;&#xA;&lt;li&gt;The infinite type hierarchy explicitly&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I am asking this question because I want to learn dependent type theory but also because I want to put together a guide that, assuming a little CS background, teaches the use of and how to understand proof assistants and dependently typed languages.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.reddit.com/r/dependent_types/comments/grzfc/what_is_the_most_intuitive_dependent_type_theory/&quot;&gt;(Cross posted to Reddit)&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="4425" LastEditorUserId="270" LastEditDate="2013-06-06T17:15:32.753" LastActivityDate="2018-10-12T07:42:32.097" Title="What is the most intuitive dependent type theory I could learn?" Tags="&lt;lo.logic&gt;&lt;type-theory&gt;&lt;dependent-type&gt;" AnswerCount="5" CommentCount="0" FavoriteCount="33" ContentLicense="CC BY-SA 3.0" />
  <row Id="6137" PostTypeId="2" ParentId="6136" CreationDate="2011-04-17T16:01:13.633" Score="10" Body="&lt;p&gt;CoC is most likely the way to go.  Just dive into &lt;a href=&quot;http://coq.inria.fr/&quot;&gt;Coq&lt;/a&gt; and work through a nice tutorial like &lt;a href=&quot;http://www.cis.upenn.edu/~bcpierce/sf/&quot;&gt;Software Foundations&lt;/a&gt; (which Pierce of TaPL and ATTaPL is involved in).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Once you get a feel for the practical aspects of the dependent typing, go back to the theoretical sources: they'll make a lot more sense then.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Your list of features sounds basically correct, but seeing how they play out in practice is worth a thousand feature points.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Another, slightly more advanced tutorial is Adam Chlipala's &lt;a href=&quot;http://adam.chlipala.net/cpdt/&quot;&gt;Certified Programming with Dependent Types&lt;/a&gt;)&lt;/p&gt;&#xA;" OwnerUserId="629" LastActivityDate="2011-04-17T16:01:13.633" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="6138" PostTypeId="2" ParentId="6136" CreationDate="2011-04-17T16:33:18.097" Score="35" Body="&lt;p&gt;There are a few different ways of approaching this:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Dependent Type Theory&lt;/strong&gt;.&#xA;This is probably not the easiest way of learning about dependent types, but you could look at the Calculus of Constructions papers and their variants, Pure Type Systems, and Martin Hofmann's article on the Syntax and Semantics of Dependent Types, for example.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Theorem proving&lt;/strong&gt;. Firstly, take a look at my answer to a related question: &lt;a href=&quot;https://cstheory.stackexchange.com/questions/5836/how-would-i-go-about-learning-the-underlying-theory-of-the-coq-proof-assistant&quot;&gt;How would I go about learning the underlying theory of the Coq proof assistant?&lt;/a&gt;. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Programming with dependent types&lt;/strong&gt;. Looking at recent languages with dependent types  such as &lt;a href=&quot;http://en.wikipedia.org/wiki/Epigram_%28programming_language%29&quot; rel=&quot;nofollow noreferrer&quot;&gt;Epigram&lt;/a&gt; or &lt;a href=&quot;http://wiki.portal.chalmers.se/agda/pmwiki.php&quot; rel=&quot;nofollow noreferrer&quot;&gt;Agda&lt;/a&gt; or less recent ones such as &lt;a href=&quot;http://www.cs.bu.edu/~hwxi/DML/DML.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;Dependent ML&lt;/a&gt; and writing some programs will help solidify the ideas. Epigram, for example, is extremely clean in design. Another angle is to see &lt;a href=&quot;https://www.andres-loeh.de/LambdaPi/&quot; rel=&quot;nofollow noreferrer&quot;&gt;how dependent types are implemented&lt;/a&gt;. One practical dependent type theory is &lt;a href=&quot;https://www.andres-loeh.de/PiSigma/PiSigma.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;&lt;span class=&quot;math-container&quot;&gt;$\Pi\Sigma$&lt;/span&gt;: Dependent Types without the sugar.&lt;/a&gt; Several PhD theses are devoted to programming with dependent type theory: &lt;a href=&quot;http://www.google.be/url?sa=t&amp;amp;source=web&amp;amp;cd=3&amp;amp;ved=0CCwQFjAC&amp;amp;url=http://www.cs.cmu.edu/~drl/pubs/thesis/thesis.pdf&amp;amp;ei=bRSrTdawL42gOpC2kYEK&amp;amp;usg=AFQjCNEvdramjks4Sk6aSpep-q03MY6i_w&amp;amp;sig2=hou1HQ24nsUBH7F8gDNmDw&quot; rel=&quot;nofollow noreferrer&quot;&gt;Dan Licata's&lt;/a&gt;, &lt;a href=&quot;http://www.cse.chalmers.se/~nad/publications/danielsson-phd.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Nils Anders Danielsson's&lt;/a&gt;, &lt;a href=&quot;http://www.cse.chalmers.se/~ulfn/papers/thesis.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Ulf Norrel's&lt;/a&gt;, &lt;a href=&quot;http://www.cl.cam.ac.uk/~ss726/papers/thesis.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Susmit Sarkar's&lt;/a&gt;, among others. And of course there's Adam Chlipala's book, given in Marc Hamann's answer.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;I'd be inclined to start with programming, before moving to using theorem proving, then start exploring the more theoretical issues.&lt;/p&gt;&#xA;" OwnerUserId="77" LastEditorUserId="47163" LastEditDate="2018-10-12T07:42:32.097" LastActivityDate="2018-10-12T07:42:32.097" CommentCount="4" ContentLicense="CC BY-SA 4.0" />
  <row Id="6139" PostTypeId="1" CreationDate="2011-04-17T19:08:46.327" Score="15" ViewCount="820" Body="&lt;p&gt;The (generalized) star height of a language is the minimum nesting of Kleene stars required to represent the language by an extended regular expression. Recall that an extended regular expression over a finite alphabet $A$ satisfies the following:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(1) $\emptyset, 1$ and $a$ are extended regular expressions for all $a\in A$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(2) For all extended regular expressions $E,F$; &lt;br/&gt;&#xA; $E\cup F$, $EF$, $E^*$ and $E^c$ are extended regular expressions&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One phrasing of the generalized star height problem is whether there is an algorithm to compute the minimum generalized star height.  With regards to this problem I have a few questions.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Has there been any recent progress (or research interest) concerning this problem? I know a number of years ago that Pin Straubing and Thérien published some papers in this area. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The restricted star height problem was resolved in 1988 by Hashiguchi but the generalized version  (as far as I know) is still open. Does anyone have any intuition as to why this might be the case?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;A link that might be helpful is the following: &lt;a href=&quot;http://www.liafa.univ-paris-diderot.fr/~jep/PDF/StarHeight.pdf&quot; rel=&quot;nofollow&quot;&gt; starheight  &lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="4712" LastEditorUserId="17203" LastEditDate="2015-01-13T14:49:18.283" LastActivityDate="2019-11-05T11:26:24.447" Title="Progress on generalized star-height problem?" Tags="&lt;fl.formal-languages&gt;&lt;lower-bounds&gt;&lt;regular-expressions&gt;" AnswerCount="3" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="6140" PostTypeId="2" ParentId="6122" CreationDate="2011-04-17T22:09:13.653" Score="3" Body="&lt;p&gt;Is the code something that might be useful to other people in a more general sense? If so, then you might try a sort of &quot;best of the both worlds&quot; approach and write a joint application note -type paper with the CS person in addition to your theoretical paper. These are, in my experience, rather common in bioinformatics; see, e.g. the journal Bioinformatics.&lt;/p&gt;&#xA;" OwnerUserId="290" LastActivityDate="2011-04-17T22:09:13.653" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6141" PostTypeId="2" ParentId="6139" CreationDate="2011-04-17T22:17:20.167" Score="9" Body="&lt;p&gt;Regarding your second question, an explanation why the generalized star height problem is less accessible than the star height problem is the following: Already Eggan's seminal paper in 1963 contained languages of (ordinary) star height $k$, for each $k\ge 0$. Only a few years later, McNaughton, and, independently, Déjean and Schützenberger, found examples over binary alphabets. This made clear what the problem &quot;is about&quot;. During the years that followed, there was a more or less steady flow of published results in the area of the ordinary star height problem. This gave an ever increasing body of published examples, counterexamples and phenomena surrounding this problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In contrast, after some fifty years now, we don't know whether there is any regular language of star height at least two. So we do not even know whether there is a need for a decision procedure after all. This &quot;complete lack of examples&quot; indicates that it is extremely difficult to get a grip on this problem. &lt;/p&gt;&#xA;" OwnerUserId="2367" LastActivityDate="2011-04-17T22:17:20.167" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="6143" PostTypeId="1" AcceptedAnswerId="6152" CreationDate="2011-04-17T23:48:54.090" Score="4" ViewCount="914" Body="&lt;p&gt;Is it just that integrality gaps (LP/IP) for specific instances do not give more than 4/3? Thanks in priori.&lt;/p&gt;&#xA;" OwnerUserId="3139" LastEditorUserId="80" LastEditDate="2011-04-18T04:17:02.597" LastActivityDate="2011-04-19T10:01:52.583" Title="Why is Metric TSP's best possible achieved approximation ratio believed to be 4/3?" Tags="&lt;ds.algorithms&gt;&lt;approximation-algorithms&gt;&lt;tsp&gt;&lt;integrality-gap&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="6144" PostTypeId="1" AcceptedAnswerId="6188" CreationDate="2011-04-18T00:12:48.107" Score="6" ViewCount="230" Body="&lt;p&gt;Normally model checking with specifications written in CTL*/CTL  is done over Kripke structures, however there are ways of doing it over somehow simpler Labelled Transition Systems, for instance &lt;a href=&quot;http://www.sciencedirect.com/science?_ob=ArticleURL&amp;amp;_udi=B6V0C-4R335D9-4&amp;amp;_user=10&amp;amp;_coverDate=03%2F15%2F2008&amp;amp;_rdoc=1&amp;amp;_fmt=high&amp;amp;_orig=gateway&amp;amp;_origin=gateway&amp;amp;_sort=d&amp;amp;_docanchor=&amp;amp;view=c&amp;amp;_searchStrId=1721266308&amp;amp;_rerunOrigin=scholar.google&amp;amp;_acct=C000050221&amp;amp;_version=1&amp;amp;_urlVersion=0&amp;amp;_userid=10&amp;amp;md5=178a26820f55526647051e94da181cac&amp;amp;searchtype=a&quot;&gt;ACTL&lt;/a&gt;. Does anyone has any pointer on similar logics/techniques?&lt;/p&gt;&#xA;" OwnerUserId="1378" LastEditorUserId="186" LastEditDate="2011-04-18T08:36:02.027" LastActivityDate="2011-04-20T21:51:04.693" Title="Papers on applying CTL over LTSs" Tags="&lt;reference-request&gt;&lt;lo.logic&gt;&lt;model-checking&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6147" PostTypeId="2" ParentId="6143" CreationDate="2011-04-18T04:13:59.743" Score="3" Body="&lt;p&gt;Yyou have to be careful, since there's &lt;a href=&quot;http://arxiv.org/abs/1101.5586&quot; rel=&quot;nofollow&quot;&gt;at least one result&lt;/a&gt; that improves the Christofides heuristic to 4/3 for cubic-3-edge connected graphs. A good further reference is &lt;a href=&quot;http://personal.vu.nl/r.a.sitters/papers/GraphTsp.pdf&quot; rel=&quot;nofollow&quot;&gt;http://personal.vu.nl/r.a.sitters/papers/GraphTsp.pdf&lt;/a&gt;, which just showed a 7/5 approximation (and lower bound) for subcubic graphs, and &lt;a href=&quot;http://www.stanford.edu/~shayan/Publications_files/tsp.pdf&quot; rel=&quot;nofollow&quot;&gt;this result&lt;/a&gt; that improves Christofides for metrics induced by unweighted graphs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The &lt;a href=&quot;http://personal.vu.nl/r.a.sitters/papers/GraphTsp.pdf&quot; rel=&quot;nofollow&quot;&gt;Boyd et al paper&lt;/a&gt; discusses this matter in its introduction&lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2011-04-18T04:13:59.743" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6148" PostTypeId="1" AcceptedAnswerId="6149" CreationDate="2011-04-18T04:55:13.907" Score="0" ViewCount="588" Body="&lt;p&gt;Lets imagine we have an algorithm made up of a set of operations. Let assume that it has three kind of operations and the time complexity is  $t(n) = An + Bn\log n + Cn^2$. This algorithm has asymptotic performance $O(n^2)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, on a real computer (or a more sophisticated abstract machine that doesn't assume infinite capacity, I guess), I eventually hit issues with the complexity of these operations (e.g. a garbage collector, memory paging, cache, ...) which cause $C$ which is a constant in the abstract model to become itself a function of $n$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a name for this? Is there a framework in which these kinds of issues can be placed?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Obviously from the question and the lack of jargon, I'm a practitioner, not a computer scientist (my PhD was in AI, not CompSci). But the issue is critically important for studying actual algorithm behavior, and so I'd appreciate any help in finding resources that put it into a less ad-hoc context.&lt;/p&gt;&#xA;" OwnerUserId="4717" LastEditorUserId="4717" LastEditDate="2011-04-19T23:00:25.643" LastActivityDate="2011-04-21T12:55:34.367" Title="Practical limits of big-O performance scaling" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;application-of-theory&gt;" AnswerCount="3" CommentCount="15" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6149" PostTypeId="2" ParentId="6148" CreationDate="2011-04-18T04:59:39.440" Score="10" Body="&lt;p&gt;While I'm not entirely sure what you're getting at, there are a number of frameworks that explicitly capture the cost changes that show up when we hit real resource limits. Three examples: &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;the external memory framework that emphasizes the expense of going to disk (idealized by setting main memory reference costs to 0, and disk reference costs to some fixed constant)&lt;/li&gt;&#xA;&lt;li&gt;The cache-oblivious model that assumes an unknown cache size and performance hits for going beyond.&lt;/li&gt;&#xA;&lt;li&gt;The streaming computational model in which only you're only allowed sublinear working storage. &lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Are these along the lines that you're thinking ? &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2011-04-18T04:59:39.440" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="6151" PostTypeId="1" CreationDate="2011-04-18T08:21:21.377" Score="2" ViewCount="196" Body="&lt;p&gt;The Prize-Collecting TSP (PCTSP) is defined as the ordinary TSP with the difference that penalties are added to nodes; so we may avoid visiting a node paying its penalty, which is added to the overall cost. It currently admits a $2-\epsilon$ approximation ratio, where edge costs are considered to satisfy the triangle inequality. Obviously, ordinary TSP is PCTSP where all node penalties are set to inf.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would like to ask, in the case a graph which does not satisfy the triangle inequality is chosen and ALL of its edges are deleted, replaced by 2 new edges connected to a 2-degree new node for each case of deleted edge, where each edge cost is equal to the deleted edge's cost/2 and having Euclidean distance equal to that (so the new graph is metric), don't we get a $(2-\epsilon)$ approximation ratio for the original (general and therefore non-approximable) graph? (Penalties for old nodes are set to inf and to new 2-degree nodes equal to 0).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course, there is a mistake in my thought, since this can't be true, so if somebody finds it, I would be pleased to listen to that. Thank you in priori.&lt;/p&gt;&#xA;" OwnerUserId="3139" LastEditorUserId="80" LastEditDate="2011-04-18T16:03:15.163" LastActivityDate="2011-04-18T19:18:03.947" Title="Question on the Prize-Collecting TSP's ratio related to inapprox. of general TSP" Tags="&lt;ds.algorithms&gt;&lt;approximation-algorithms&gt;&lt;tsp&gt;" AnswerCount="1" CommentCount="12" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6152" PostTypeId="2" ParentId="6143" CreationDate="2011-04-18T10:29:03.413" Score="5" Body="&lt;p&gt;To my knowledge this is the only reason and I am not sure whether everybody in the fields agrees with this. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The optimistic reasoning is: Since there has not been any progress in getting a larger lower bound, $4/3$ is the right bound. And once we know this for sure, we &quot;only&quot; need a polynomial time rounding algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More pessimistic people will view the $4/3$ only as a lower bound. To beat this,&#xA;you need an algorithm that does not &quot;use&quot; the Held-Karp relaxation, even not in a hidden way. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Even more pessimistic people would say that $3/2$ is the right bound, because nobody could improve Christofides algorithm (ignoring some of the recent progresses.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that for metric ATSP, the integrality gap is at least $2 - \epsilon$&#xA;(Charikar, Goemans, Karloff, FOCS 2004)&lt;/p&gt;&#xA;" OwnerUserId="3980" LastEditorUserId="3980" LastEditDate="2011-04-19T10:01:52.583" LastActivityDate="2011-04-19T10:01:52.583" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="6153" PostTypeId="2" ParentId="6151" CreationDate="2011-04-18T10:42:21.867" Score="1" Body="&lt;p&gt;Edited may answer, I hope it becomes clearer now (or I find out what I did not understand):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Your process is as follows: If you have an edge $e = \{u,v\}$ with weight $t$ you replace $e$ by a path of length two with edges $\{u,z_e\}$ and $\{z_e,v\}$. $z_e$ is a new node and each of the two new edges get weight $t/2$. For each edge, we introduce a new node.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So far, we do not have a metric instance, because there is no edge between $u$ and $v$ so far and the distance between $u$ and $v$ is infinite. Therefore, you take the shortest path metric to get these distances. (I suppose that this is what you mean by &quot;having Euclidean distances equal to that&quot;. Otherwise, you should clarify this.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My point is that after adding distances according to the shortest path metric, the distance between $u$ and $v$ might not be $t$ anymore, so you do not get your original instance back:&#xA;Consider a triangle with edge lengths $1$, $1$ and $t$. Let $u$ and $v$ be the nodes of the edge with weight $t$. Apply your construction. The shortest path between $u$ and $v$ is $2$ (it takes the four edges with weight $1/2$) and not $t$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Btw: Euclidean distance should just be distance in the question. &lt;/p&gt;&#xA;" OwnerUserId="3980" LastEditorUserId="3980" LastEditDate="2011-04-18T19:18:03.947" LastActivityDate="2011-04-18T19:18:03.947" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="6154" PostTypeId="1" AcceptedAnswerId="6155" CreationDate="2011-04-18T12:53:19.210" Score="34" ViewCount="1636" Body="&lt;p&gt;As a TCS amateur, I'm reading some popular, very introductory material on quantum computing. Here are the few elementary bits of information I've learned so far:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Quantum computers are not known to solve NP-complete problems in polynomial time.&lt;/li&gt;&#xA;&lt;li&gt;&lt;i&gt;&quot;Quantum magic won't be enough&quot;&lt;/i&gt; (Bennett et al. 1997): if you throw away the problem structure, and just consider the space of $2^n$ possible solutions, then even a quantum computer needs about $\sqrt{2^n}$ steps to find the correct one (using Grover's algorithm)&lt;/li&gt;&#xA;&lt;li&gt;If a quantum polynomial time algorithm for a NP-complete problem is ever found, it &lt;b&gt;must&lt;/b&gt; exploit the problem structure in some way (otherwise bullett 2 would be contradicted).&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;I've some (basic) questions that no one seems to have asked so far on this site (maybe because they are basic). Suppose someone finds a bounded error quantum polynomial time algorithm for $SAT$ (or any other NP-complete problem), thus placing $SAT$ in $BQP$, and implying $NP \subseteq BQP$.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Questions&lt;/strong&gt;  &lt;/p&gt;&#xA;  &#xA;  &lt;ol&gt;&lt;li&gt;Which would be the theoretical consequences of such a discovery? How would the overall picture of complexity classes be affected? Which classes would become equal to which others?&lt;/li&gt;&#xA;  &lt;li&gt;A result like that would seem to suggest that quantum computers had an inherently superior power than classical computers. Which would be the consequences of a result like that on physics? Would it emanate some light on any open problem in physics? Would physics be changed after a similar result? Would the law of physics as we know them be affected?&lt;/li&gt;&#xA;  &lt;li&gt;The possibility (or not) to exploit the problem structure in a general enough (i.e. specific-instance independent) manner seems to be the very core of the P = NP question. Now if a bounded error polynomial time quantum algorithm for $SAT$ is found, and it &lt;b&gt;must&lt;/b&gt; exploit the problem structure, wouldn't its structure-exploitation-strategy  be usable also in the classical scenario? Is there any evidence indicating that such a structure-exploitation may be possible for quantum computers, while remaining impossible for classical ones?&lt;/li&gt;&lt;/ol&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="947" LastEditorUserId="109" LastEditDate="2011-04-19T06:43:20.647" LastActivityDate="2011-04-19T06:43:20.647" Title="Consequences of $SAT \in BQP$" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;quantum-computing&gt;&lt;conditional-results&gt;&lt;physics&gt;" AnswerCount="2" CommentCount="5" FavoriteCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="6155" PostTypeId="2" ParentId="6154" CreationDate="2011-04-18T13:35:32.280" Score="19" Body="&lt;p&gt;I'm not going to try to answer the first question, as someone like Scott Aaronson, Peter Shor or John Watrous can no doubt give you a far more comprehensive answer on that front.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As regards question 2, it is important to note that quantum computers are in fact more powerful than classical computers in many instances:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;There is a rather generic polynomial speed-up gained by quantum computers over classical computers in quite a number of problems. From a complexity point of view, this is perhaps somewhat less interesting than an exponential speed-up, but is something that we can actually prove.&lt;/li&gt;&#xA;&lt;li&gt;Quantum communication complexity can often vary dramatically from classical communications complexity for the same problem. Again, this is something that can be proven (see for example the Mermin-GHZ game).&lt;/li&gt;&#xA;&lt;li&gt;Quantum queries to oracles are very often far more powerful than classical queries to the same oracle (see for example the Deutsch-Josza algorithm).&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;With this is mind, it is already known that quantum computers are fundamentally more powerful than classical computers. I think I would be correct in saying that the majority of physicists who work on such things would already assume that it is not possible to find a classical algorithm to efficiently simulate every quantum system, and so while a result showing that NP was contained in BQP would certainly be surprising, it would not be particularly likely to provide a breakthrough in the understanding of any particular physical phenomenon. Rather it would provide somewhat stronger evidence that quantum physics is hard to simulate.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is no fundamental physics that is dependent on the computational complexity of simulating it, so finding an efficient quantum algorithm for an NP-complete problem would not have fundamental consequences for the correctness of our current understanding of how the universe functions (though I am inclined to agree with Scott Aaronson's suggestion that it is interesting to see if you could have physical laws emerge from computational assumptions).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is extremely tempting to say that this would have consequences for adiabatic evolution of quantum systems (and I guess you might get an answer or two suggesting that), etc., but this would be incorrect, as they are governed by a specific physical process, and so showing that it is in principle possible to solve SAT in polynomial time on a quantum computer, wouldn't say anything about their specific evolution.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As regards your last question, we already have examples where problem structure is exploited to yield a polynomial quantum algorithm, but which do not lead to such a classical algorithm (factoring for example). So, as far as our current understanding goes, a problem with a structure exploitable to yield a polynomial time quantum algorithm does not imply that the structure is exploitable to yield a classical polynomial time algorithm.&lt;/p&gt;&#xA;" OwnerUserId="204" LastEditorUserId="204" LastEditDate="2011-04-18T13:40:41.497" LastActivityDate="2011-04-18T13:40:41.497" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6156" PostTypeId="2" ParentId="6154" CreationDate="2011-04-18T14:51:06.567" Score="19" Body="&lt;p&gt;Scott Aaronson was often fond of pointing out (and probably still is fond of pointing out, assuming he hasn't gotten tired of doing so) that &lt;a href=&quot;http://www.scottaaronson.com/papers/npcomplete.pdf&quot;&gt;physical processes do not always find the global minimum of an energy landscape&lt;/a&gt;. In particular, if you were to formulate an instance of an &lt;strong&gt;NP&lt;/strong&gt;-complete optmization problem as an energy-minimisation problem for a physical system, there is no reason &amp;mdash; either theoretical or empirical &amp;mdash; to believe that such a physical system will &quot;relax&quot; after some time to a solution of the problem (&lt;em&gt;i.e.&lt;/em&gt; &amp;nbsp;an energy configuration which is a global minimum). It will more likely relax to a local minumum: one for which slightly different configurations require more energy, but where a substantially different configuration may have less energy.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, while proving &lt;strong&gt;NP&lt;/strong&gt;&amp;nbsp;&amp;sube;&amp;nbsp;&lt;strong&gt;BQP&lt;/strong&gt; would be a triumph of the first order &amp;mdash; for all complexity theorists, not just for quantum computation theorists &amp;mdash; it would suggest that there is a whole new theory of &quot;physical&quot; models of computation waiting to be discovered. Why? Well, models of computation can be construed as models &lt;em&gt;of physics&lt;/em&gt; (albeit highly specialized ones): namely, what computational resources are physically reasonable. One of the 'slogans' of quantum computation is that &lt;code&gt;Nature isn't classical, [darn] it&lt;/code&gt;&lt;sup&gt;&amp;dagger;&lt;/sup&gt; &amp;mdash; so unless you can simulate quantum mechanics on a classical computer, what you can physically compute efficiently is almost certainly more powerful than &lt;strong&gt;P&lt;/strong&gt;. And yet, we have evidence that it is less powerful than &lt;strong&gt;NP&lt;/strong&gt;; so it would have to be less powerful than &lt;strong&gt;BQP&lt;/strong&gt; as well, if it so happened that &lt;strong&gt;NP&lt;/strong&gt;&amp;nbsp;&amp;sube;&amp;nbsp;&lt;strong&gt;BQP&lt;/strong&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, a proof of &lt;strong&gt;NP&lt;/strong&gt;&amp;nbsp;&amp;sube;&amp;nbsp;&lt;strong&gt;BQP&lt;/strong&gt; would present us with a trilemma: either&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;quantum circuits can be simulated efficiently on a classical computer, proving &lt;strong&gt;NP&lt;/strong&gt;&amp;nbsp;&amp;sube;&amp;nbsp;&lt;strong&gt;BQP&lt;/strong&gt;&amp;nbsp;&amp;sube;&amp;nbsp;&lt;strong&gt;P&lt;/strong&gt;, thereby surpassing every theorist's wildest dreams or nightmares;&lt;/li&gt;&#xA;&lt;li&gt;quantum circuits can't be simulated on a classical computer, but scalable quantum computers can be built to solve problems in &lt;strong&gt;NP&lt;/strong&gt;, giving rise to truly &lt;em&gt;explosive&lt;/em&gt; interest in quantum computing and ensuring that experimental physicists have career security for the forseeable future;&lt;/li&gt;&#xA;&lt;li&gt;there is another model of computation waiting to be discovered, intermediate between &lt;strong&gt;P&lt;/strong&gt; and &lt;strong&gt;BQP&lt;/strong&gt; in power, which describes (or rather, &lt;em&gt;better approximates&lt;/em&gt;) what is efficiently physically computable.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;I suspect that the smart money would be on #3, as fun as either #1 or #2 would be from an academic perspective.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;sup&gt;&amp;dagger;&lt;/sup&gt;&amp;nbsp;With apologies to Feynman, who I suspect did not often mince his curses.&lt;/p&gt;&#xA;" OwnerUserId="248" LastEditorUserId="248" LastEditDate="2011-04-18T19:37:42.490" LastActivityDate="2011-04-18T19:37:42.490" CommentCount="28" ContentLicense="CC BY-SA 3.0" />
  <row Id="6157" PostTypeId="1" AcceptedAnswerId="6159" CreationDate="2011-04-18T14:52:52.177" Score="10" ViewCount="1212" Body="&lt;p&gt;I'm a master student focused on distributed systems but also interested on theoretical computer science. I was wondering if there is a formal representation of a distributed system on top of a turing machine? That is, is it possible to extend (make a variant) the concept of a turing machine to take advantage of distributed computing?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One idea, is to make a shared tape (something similar to &lt;a href=&quot;http://en.wikipedia.org/wiki/Tuple_space&quot;&gt;Tuple Space&lt;/a&gt;) between TM.&lt;/p&gt;&#xA;" OwnerUserId="3104" LastEditorUserId="3104" LastEditDate="2011-04-18T15:09:09.247" LastActivityDate="2011-04-20T12:36:36.163" Title="Distributed Turing Machine?" Tags="&lt;turing-machines&gt;&lt;dc.distributed-comp&gt;" AnswerCount="5" CommentCount="5" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="6158" PostTypeId="2" ParentId="6157" CreationDate="2011-04-18T16:39:00.337" Score="6" Body="&lt;p&gt;You might want to look into Pi-Calculus.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/%CE%A0-calculus&quot;&gt;http://en.wikipedia.org/wiki/%CE%A0-calculus&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Its a processed based calculus designed for reasoning about distributed systems.&lt;/p&gt;&#xA;" OwnerUserId="17228" LastActivityDate="2011-04-18T16:39:00.337" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6159" PostTypeId="2" ParentId="6157" CreationDate="2011-04-18T17:46:50.807" Score="10" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;[Is there] a formal representation of&#xA;  a distributed system on top of a&#xA;  turing machine? &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Regarding this, the discussion (see link posted by Jukka on comments) is the way to look. The way, I see it, how you would formally represent a distributed system largely depends on how you view them, and that depends on &quot;your favourite system assumptions&quot; (i.e., the assumptions on synchrony (i.e., relative timing of actions in the distributed system), on communication (message passing vs. shared memory), on faults (of processes and/or links, benign or Byzantine, etc). As the community does not agree on this point, there is also no agreement on the basic formalism.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;[Is] it&#xA;  possible to extend (make a variant)&#xA;  the concept of a turing machine to&#xA;  take advantage of distributed&#xA;  computing?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I guess it is entirely possible, but no-one (that I know of) has looked into it. &#xA;What I know of are these:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://groups.csail.mit.edu/tds/papers/Kirli/mainfinal.pdf&quot;&gt;Timed IO Automata&lt;/a&gt; also used in Lynch's Distributed Computing book &lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Communicating_sequential_processes&quot;&gt;Communicating Sequential Processes&lt;/a&gt; &lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Temporal_logic_of_actions&quot;&gt;Temporal logic of actions&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/%CE%A0-calculus&quot;&gt;Pi-Calculus&lt;/a&gt; (also already mentioned by Alex)&lt;/li&gt;&#xA;&lt;li&gt;And more (have been and will be mentioned here)...&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="4483" LastActivityDate="2011-04-18T17:46:50.807" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6161" PostTypeId="1" AcceptedAnswerId="6166" CreationDate="2011-04-19T14:43:52.677" Score="6" ViewCount="387" Body="&lt;p&gt;This is more a software engineering question, but my interest is in the mathematical modeling of the problem. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;While there seems to be some literature on the modeling of obfuscation transformation, I'm finding it difficult to locate papers that relates it to code maintenance - guess because they are inherently orthogonal. But its hard to imagine no study has been done by modeling this as an optimization problem. Can anybody point me to any thing that is helpful to get some insight into this?&lt;/p&gt;&#xA;" OwnerUserId="3935" LastEditorUserId="3935" LastEditDate="2011-04-21T20:04:52.007" LastActivityDate="2011-04-21T20:04:52.007" Title="Obfuscation transformation and code maintainability" Tags="&lt;cr.crypto-security&gt;&lt;obfuscation&gt;" AnswerCount="1" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="6162" PostTypeId="2" ParentId="4258" CreationDate="2011-04-19T15:35:42.913" Score="-2" Body="&lt;p&gt;(Similar to Prabu's solution ... but more detailed)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $N(v)$ be the (out) neighbors of $v$ and $reach(v)$ denote the number of vertices reachable from v.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;do a topological sort. (possible in $O(|V|+|E|)$)&lt;/li&gt;&#xA;&lt;li&gt;starting from the end of the list (at a sink-end): &#xA;For each vertex $v$ (starting at the sink-end of the list):&#xA;    $reach(v) = \sum_{n\in N(v)} reach(n)$.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;The second part traverses every edge once, adding another $|E|$, so in total I get $O(|V|+|E|)$.&lt;/p&gt;&#xA;" OwnerUserId="4483" LastActivityDate="2011-04-19T15:35:42.913" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6163" PostTypeId="1" CreationDate="2011-04-19T16:44:14.960" Score="2" ViewCount="260" Body="&lt;p&gt;I'm trying to implement an approximation algorithm for the 0-extension problem&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I found the following paper: &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;a href=&quot;http://citeseer.ist.psu.edu/viewdoc/download;jsessionid=1FBA2D22588CABDAA8ECF73B41BD3D72?doi=10.1.1.100.8049&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;nofollow&quot;&gt;Approximation Algorithms for the&#xA;  0-extension problem&lt;/a&gt; by Gruia&#xA;  Calinescu, Howard Karloff and Yuval&#xA;  rabani.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;On page 5 they explain the algorithm&#xA;but I don't understand it (I'm not English and some words are difficult to understand)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;so can someone explain the algorithm from an implementation standpoint?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As input data (numbers are for illustration), I have a graph with 64 vertexes and a number of connections (no info about the max degree)&#xA;every connection has a &quot;distance&quot; defined&#xA;I want to colour the vertices with 3 colours&#xA;some vertices already have a colour&lt;/p&gt;&#xA;&#xA;&lt;p&gt;How do I do this? I'm pretty advanced software designer so you can use high-level pseudo-code&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;$\delta(u,v) = d(f(u),f(v))$&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;What do they mean with $f(\cdot)$?&#xA;Aren't $d$ and $\delta$ the &quot;distance&quot; functions?&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;minimize $\sum_{uv \in E} c(u,v) \delta(u,v)$&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Where is the $c(\cdot)$ coming from?&#xA;Cost function?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Rounding procedure:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;set $f(t) = t$ for all terminals&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Are the terminals the colors or the vertices or vertices with a color assigned?&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;such that $\delta(u,\sigma_j) \leq \alpha A_u$&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;What is $A_u$?&#xA;What is $\sigma_j$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;edit2&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;ok so i need to compose the equasions and solve them with a LP solver&lt;/p&gt;&#xA;&#xA;&lt;p&gt;lets take this example:&#xA;&lt;a href=&quot;http://i77.photobucket.com/albums/j74/bertyhell/Diagram1.png&quot; rel=&quot;nofollow&quot;&gt;http://i77.photobucket.com/albums/j74/bertyhell/Diagram1.png&lt;/a&gt;&#xA;I want to know what colour to give B and C&#xA;in this case the best solution is to give C the red colour and B a green colour (B and A are furthest from each other)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2 terminals already have a color&#xA;and every edge as a &quot;distance&quot;&#xA;my cost function is: &lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;int c(u,v){&#xA;    if(u.color == undef || v.color == undef){&#xA;        return undef //unknown cost&#xA;    }else if(u.color == v.color){&#xA;        return 90 - &quot;distance&quot;&#xA;    }else{&#xA;        return 0 //no cost&#xA;    }&#xA;}&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;how do I put this in an equation?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;and won't the equation system be undefined if there are to many terminals without a colour?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;and if it isn't undefined, wont the first step solve the whole 0-extension problem?&lt;/p&gt;&#xA;" OwnerUserId="4115" LastEditorUserId="4115" LastEditDate="2011-04-20T09:44:19.273" LastActivityDate="2011-04-20T09:44:19.273" Title="Explain 0-extension algorithm" Tags="&lt;ds.algorithms&gt;&lt;graph-algorithms&gt;&lt;approximation-algorithms&gt;&lt;approximation-hardness&gt;&lt;implementation&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="6166" PostTypeId="2" ParentId="6161" CreationDate="2011-04-19T18:27:11.793" Score="5" Body="&lt;p&gt;From comments ...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Do you mean &lt;em&gt;relation between code obfuscation and code maintenance&lt;/em&gt;?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Obviously good obfuscation means poor maintainability, so an alternate question is: how can a small part of the source code be reobfuscated without having to obfuscate the whole source code again? This leads to: &quot;&lt;em&gt;how can I build an efficient incremental obfuscator&lt;/em&gt;?&quot; ... unfortunately obfuscators heavily depend on the target programming languages, so I don't think there are many academic papers on that subject.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, if you need a more theoretical approach then you can start with a survey on the subject: for example: &lt;a href=&quot;http://pages.cs.wisc.edu/~arinib/writeup.pdf&quot; rel=&quot;nofollow&quot;&gt;Code Obfuscation Literature Survey&lt;/a&gt; (with good references at the end). Or look for papers which cite the negative result of Barak et al.: &lt;a href=&quot;http://www.iacr.org/archive/crypto2001/21390001.pdf&quot; rel=&quot;nofollow&quot;&gt;On the (Im)possibility of Obfuscating Programs&lt;/a&gt; . &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Otherwise - if you are more &quot;code-oriented&quot; - you can search for information (and source code) on how real incremental obfuscators work (.NET obfuscator, ProGuard obfuscator, ...). Some years ago I used ProGuard to obfuscate a Java application (in Netbeans environment); it is an open source project, so you can download the full source code (&lt;a href=&quot;http://proguard.sourceforge.net/&quot; rel=&quot;nofollow&quot;&gt;http://proguard.sourceforge.net/&lt;/a&gt;). Incremental obfuscation is obtained keeping a mapping file that allows to mantain classes/variables/methods/etc.etc. names consistent across subsequent builds.&lt;/p&gt;&#xA;" OwnerUserId="3247" LastActivityDate="2011-04-19T18:27:11.793" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="6167" PostTypeId="2" ParentId="6157" CreationDate="2011-04-19T23:53:05.327" Score="5" Body="&lt;p&gt;I'm surprised that &lt;a href=&quot;http://en.wikipedia.org/wiki/Petri_net&quot;&gt;Petri Nets&lt;/a&gt; have not yet been mentioned! Extensions of Petri Nets like &lt;em&gt;&lt;a href=&quot;http://cs.au.dk/fileadmin/site_files/cs/research_areas/centers_and_projects/sttt2007.pdf&quot;&gt;Coloured Petri Nets&lt;/a&gt;&lt;/em&gt; or &lt;em&gt;Petri Nets with inhibitor arcs&lt;/em&gt; are Turing-complete.&lt;/p&gt;&#xA;" OwnerUserId="1080" LastActivityDate="2011-04-19T23:53:05.327" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="6168" PostTypeId="2" ParentId="6148" CreationDate="2011-04-20T04:11:54.377" Score="0" Body="&lt;p&gt;If 'C' isn't constant in your real-world application, then the abstract model you're apply isn't meaningful anymore.  The abstraction isn't broken; you're just using the wrong one.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The thing about abstractions is that you can make them as precise or as vague as you need them to be for your application. You could say &quot;This algorithm has time complexity of at least 0 and at most never terminates.&quot;  It would be correct, but it's so abstract that it's completely useless. If C is growing with 'n' rather than being constant, then the algorithm you're analyzing is now a new algorithm. Figure out how C is growing in relation to N, drop it into your expression and do the algebra.  Voila; your expression is now more meaningful. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can analyze an algorithm all day long, but if it doesn't represent what's actually happening, then you're not doing yourself any good.  There isn't any special name for this: it's just a matter of garbage-in; garbage-out.  &lt;/p&gt;&#xA;" OwnerUserId="4738" LastActivityDate="2011-04-20T04:11:54.377" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="6170" PostTypeId="5" CreationDate="2011-04-20T06:38:30.807" Score="0" Body="&lt;p&gt;Questions related to &lt;a href=&quot;http://en.wikipedia.org/wiki/Quantum_computer&quot; rel=&quot;nofollow noreferrer&quot;&gt;quantum computing&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See also:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://plato.stanford.edu/entries/qt-quantcomp/&quot; rel=&quot;nofollow noreferrer&quot;&gt;article about quantum computing on SEP&lt;/a&gt; &lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.quantiki.org/wiki/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Quantiki&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://quantumcomputing.stackexchange.com/&quot;&gt;Quantum Computing Stack Exchange&lt;/a&gt;, a Stack Exchange site dedicated to quantum computing.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="186" LastEditorUserId="32711" LastEditDate="2019-02-04T13:40:02.423" LastActivityDate="2019-02-04T13:40:02.423" CommentCount="0" ContentLicense="CC BY-SA 4.0" />
  <row Id="6171" PostTypeId="4" CreationDate="2011-04-20T06:38:30.807" Score="0" Body="Quantum computation and computational issues related to quantum mechanics" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2011-04-20T06:38:30.807" LastActivityDate="2011-04-20T06:38:30.807" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6172" PostTypeId="5" CreationDate="2011-04-20T06:41:20.697" Score="0" Body="&lt;p&gt;This tag is mainly used for questions related to lowerbounds on the amount of computational recourses (like time, space, circuit size, circuit depth, etc.) used by an algorithm or required to solve a problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Typically a lowerbound is a result showing that a problem cannot be computed by certain amount of resources, and demonstrates the difficulty of solving the problem. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A hardness result (a.k.a universality) should not be confused with a lowerbound result. Hardness of a problem for a class means that a problem is as difficult as any other problem in that class, whereas a lowerbound for a problem shows that the problem is outside that class. For hardness results please use &lt;a href=&quot;/questions/tagged/hardness&quot; class=&quot;post-tag&quot; title=&quot;show questions tagged 'hardness'&quot; rel=&quot;tag&quot;&gt;hardness&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This tag is often combined with &lt;a href=&quot;/questions/tagged/cc.complexity-theory&quot; class=&quot;post-tag&quot; title=&quot;show questions tagged 'cc.complexity-theory'&quot; rel=&quot;tag&quot;&gt;cc.complexity-theory&lt;/a&gt; or &lt;a href=&quot;/questions/tagged/co.combinatorics&quot; class=&quot;post-tag&quot; title=&quot;show questions tagged 'co.combinatorics'&quot; rel=&quot;tag&quot;&gt;co.combinatorics&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2013-06-27T02:30:03.557" LastActivityDate="2013-06-27T02:30:03.557" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6173" PostTypeId="4" CreationDate="2011-04-20T06:41:20.697" Score="0" Body="questions about lowerbounds on functions, usually the complexity of an algorithm or a problem" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2013-06-27T02:30:03.557" LastActivityDate="2013-06-27T02:30:03.557" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6174" PostTypeId="2" ParentId="6163" CreationDate="2011-04-20T07:37:34.843" Score="4" Body="&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Page 1 explains how you can go from the $\delta$-based formulation to the $f$-based formulation and back. But it doesn't matter for the algorithm. The first step is to solve the LP, thus obtaining values for the $\delta(i, j)$ values. From a pseudocode standpoint, you solve this by calling your favorite LP solver.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;$c$ is the cost per edge, and is part of the input.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Terminals are the elements of the tree T (also given as part of the input)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;$A_u$ is defined in the line above the text 'Rounding procedure' as the minimum distance between u and elements of T. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;\sigma_j denotes the jth element of T in some random ordering of the elements (basically scramble the array of indices corresponding to T and take the jth element)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="80" LastActivityDate="2011-04-20T07:37:34.843" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="6175" PostTypeId="2" ParentId="6136" CreationDate="2011-04-20T09:45:19.180" Score="15" Body="&lt;p&gt;The $\lambda\pi$ calculus &amp;mdash;which is essentially the core of LF, in turn the most widely reimplemented approach to higher-order logic&amp;mdash; is by far the simplest dependently typed system you can learn, since it consists just of the extension of the type system of the simply typed lambda calculus with dependently typed quantifiers.  So the key intuitions needed to master LF are intuitions you need to master with any theory with dependent types.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Twelf is a good theorem-proving system based on LF.  Looking over the advanced course notes offered by Frank Pfenning are a good introduction to the theory and practice of LF.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;That said, it is perhaps not the best first system to learn if your interest is in constructive mathematics rather than the essentials of type theory: LF means logical framework and it is a system used to axiomatise theories, and is not so often worked in as a target system directly.  Using a system based on Martin-Loef's type theory is probably the best introduction -Dave mentions Agda, among others- is maybe a better starting point if this is your goal, since you can get going with arithmetic and inductive types more quickly in such a framework.&lt;/p&gt;&#xA;" OwnerUserId="270" LastEditorUserId="270" LastEditDate="2011-04-20T09:56:53.163" LastActivityDate="2011-04-20T09:56:53.163" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6177" PostTypeId="2" ParentId="6157" CreationDate="2011-04-20T11:47:14.820" Score="3" Body="&lt;p&gt;Some argue that depending on your view, you could think of distributed systems as something &lt;strong&gt;more&lt;/strong&gt; powerful than a Turing Machine, because of different interpretations of boundedness of non-determinism and fairness. &lt;a href=&quot;http://lambda-the-ultimate.org/node/4140&quot; rel=&quot;nofollow&quot;&gt;This link&lt;/a&gt; has an interesting discussion on the topic. Herlihy/Shavit in their book &quot;The art of multiprocessor programming&quot; argue that Turing computability inherently refers to the notion of a (sequential) algorithm, and are in some sense not appropriate for reasoning about distributed computing. I should mention that this is arguable and controversial so I hope no one throws me stones because I'm saying this.&lt;/p&gt;&#xA;" OwnerUserId="4744" LastActivityDate="2011-04-20T11:47:14.820" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6178" PostTypeId="2" ParentId="6157" CreationDate="2011-04-20T12:36:36.163" Score="5" Body="&lt;p&gt;(&lt;em&gt;Warning: somewhat biased views, oversimplifications, and blatant generalisations ahead.&lt;/em&gt;)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Often the difference between distributed computing and parallel computing can be summarised as follows:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;In &lt;strong&gt;distributed&lt;/strong&gt; computing, the primary complexity measures are related to &lt;strong&gt;communication&lt;/strong&gt; and &lt;em&gt;information flows&lt;/em&gt;: how many communication rounds (&quot;time&quot;); how many bits transmitted.&lt;/li&gt;&#xA;&lt;li&gt;In &lt;strong&gt;parallel&lt;/strong&gt; computing, the primary complexity measures are related to &lt;strong&gt;computation&lt;/strong&gt; and &lt;em&gt;information processing&lt;/em&gt;: how many elementary steps (&quot;time&quot;); how many bits stored.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;If you take this perspective, then it often turns out that in order to model distributed systems, it does not really matter that what kind of &lt;em&gt;computational&lt;/em&gt; power your nodes (or processors or computers) happen to have.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Typically, you can simply assume that each node is just a state machine (often it is enough to have a reasonably small number of possible states, such as $O(n)$). The machine changes its state based on the messages it receives. Usually you are not that interested in &lt;em&gt;how&lt;/em&gt; the machine changes its state. It might be a Turing machine, but this is not really that relevant.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, if you take a (reasonable) graph problem $X$ and study the distributed complexity of solving $X$ (e.g., the number of communication rounds required to solve it), the way you model computation at each node does not usually affect the answer. If you analyse it first by using Turing machines, and then by assuming an arbitrarily powerful oracle, the answer is typically the same. You can add non-uniform advice and it does not change anything.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The &quot;bottleneck&quot; is that you cannot gather information quickly. In $T$ communication rounds, no matter what you do, each node can only have information regarding its own radius-$T$ neighbourhood. You could have an arbitrarily powerful processor at each node, but what good does it do if the processors do not have any information to process!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hence using Turing machines as the &lt;em&gt;starting point&lt;/em&gt; in order to model distributed systems sounds a bit unnatural to me: if this is an irrelevant aspect, why build everything on top of it? On the other hand, in parallel computing this would be natural (except that the model is usually something like PRAM instead of Turing machines).&lt;/p&gt;&#xA;" OwnerUserId="74" LastActivityDate="2011-04-20T12:36:36.163" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6179" PostTypeId="1" AcceptedAnswerId="6206" CreationDate="2011-04-20T13:47:32.243" Score="1" ViewCount="184" Body="&lt;p&gt;First a simple mathematical question: Suppose $n$ train lines service a train station. Each of the $i \in \{1, 2, ... n\}$ lines has trains departing every $x_{i}$ minutes and takes $y_{i}$ minutes to arrive at the destination. If the rider takes the first train on any line, what is the expected journey time (waiting + travel)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Secondly: it may be the case that taking the first train on any line is not optimal. (For example, if one of the train lines takes $y_{j} = 30$ minutes to arrive at the next stop while others take 20 minutes, &lt;em&gt;and&lt;/em&gt; the waiting times are such that it doesn't make sense to take the slower train anyway.) Unfortunately I'm at a total loss for how to compute this algorithmically. Mathematically it's minimizing the expectation over all subsets of $\{1, 2, ... n\}$, but I need to actually compute it so any tips would be helpful.&lt;/p&gt;&#xA;" OwnerUserId="4745" LastEditorUserId="127" LastEditDate="2011-04-20T14:20:34.043" LastActivityDate="2011-04-21T22:20:16.810" Title="Expected travel time for regularly departing trains" Tags="&lt;ds.algorithms&gt;" AnswerCount="1" CommentCount="8" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6180" PostTypeId="2" ParentId="6148" CreationDate="2011-04-20T15:42:03.873" Score="0" Body="&lt;p&gt;&lt;strong&gt;What Big-O Means&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Big-O notation, or &lt;a href=&quot;http://mathworld.wolfram.com/LandauSymbols.html&quot; rel=&quot;nofollow&quot;&gt;Landau Symbols&lt;/a&gt;, are not particular to any model of computation, or even to computer science. When used to illustrate the asymptotic complexity of an algorithm, they are always given relative to some model of an abstract machine, even if that abstraction isn't made explicit.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In texts on algorithms the model used is often a &lt;a href=&quot;http://en.wikipedia.org/wiki/Random_access_machine&quot; rel=&quot;nofollow&quot;&gt;RAM machine&lt;/a&gt;, and usually is used without explicit acknowledgement (see for example the unqualified use of big-O notation on the wikipedia pages for &lt;a href=&quot;http://en.wikipedia.org/wiki/Quicksort&quot; rel=&quot;nofollow&quot;&gt;Quicksort&lt;/a&gt; or &lt;a href=&quot;http://en.wikipedia.org/wiki/Dijkstra%27s_algorithm&quot; rel=&quot;nofollow&quot;&gt;Dijkstra's Algorithm&lt;/a&gt;, or the examples in the &lt;a href=&quot;http://en.wikipedia.org/wiki/Time_complexity#Table_of_common_time_complexities&quot; rel=&quot;nofollow&quot;&gt;Table of Common Time Complexities&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On a different machine model, or on a real machine, the scaling properties will be different. With a suitable model of computation, one could derive the asymptotic performance and state it in big-O notation, and the result may be different to that for the RAM machine and therefore to commonly published big-O values. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example: on a machine with sequential memory (a Turing Machine with a single tape, say), binary search no longer has a running time O(log n) - the commonly cited result for a RAM machine - because traversing the tape requires O(n) time. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;As a second example, &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.86.2225&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;nofollow&quot;&gt;this chapter&lt;/a&gt; shows an explicit computational model described, and used to derive the asymptotic performance of various algorithms.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Realistic Performance Envelopes&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Analysing the asymptotic complexity of an algorithm makes the assumption that the algorithm would still be viable regardless of the problem size. But ultimately, no real machine can cope with infinite size problems. So unless the algorithm is O(1) in time and space, there will always come a point beyond which the performance of the algorithm is limited by the capacity of the machine, rather than the theoretical complexity bound. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It would be perfectly possible to analyse the algorithm (using a realistic model of a resource-limited machine) to determine the maximum solvable problem size. And if the real machine went through different modes of computation at different problem sizes (for example, it stops being able to hold data in cache at a particular size, then stops being able to hold it in RAM, then runs out of disk space, etc), one could work out where these transitions would occur, and give a more detailed characterization of its performance envelope. These kinds of analysis might be important if you need to make guarantees about real-world performance, but are completely unrelated to asymptotic performance analysis.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There isn't a special big-O like notation for those results, you would just give the equations for the performance explicitly. Given that you are now dealing with explicit upper bounds, big-O notation would be inappropriate.&lt;/p&gt;&#xA;" OwnerUserId="4717" LastEditorUserId="4717" LastEditDate="2011-04-21T12:55:34.367" LastActivityDate="2011-04-21T12:55:34.367" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="6181" PostTypeId="1" CreationDate="2011-04-20T15:58:55.237" Score="7" ViewCount="166" Body="&lt;p&gt;I have run into the following problem in the course of trying to solve another problem, and have been unable to come up with a decent answer. This may reduce trivially to a known problem, but if so I am not seeing it, and would be extremely thankful if someone could point me in the right direction.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a set of unique $n \times n$ matrices $\{\lambda^{i}\}$ of the form $\lambda^{i}_{jk} = \delta_{jk} (1-2\delta_{x_i j}-2\delta_{y_i j})$, where $1\leq x_i &amp;lt; y_i \leq n$, is there an efficient way to calculate $N_D$, the number of operators of the form $C_b = \prod_i \left(\lambda^i \right)^{b_i}$ which satisfy $\mbox{Tr}(C_b) = D$? Here $b_i \in \{0,1\}$. I would be interested to know if there is any polynomial time algorithm, or even if it is in &lt;strong&gt;P/poly&lt;/strong&gt;, or alternatively, if this reduces to some more studied open problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As things stand, I can currently obtain $\sum_D N_D$ and $\sum_D N_D D$, but not enough other linearly independent equations to be able to solve individually for each $N_D$.&lt;/p&gt;&#xA;" OwnerUserId="204" LastEditorUserId="204" LastEditDate="2011-04-20T17:16:54.820" LastActivityDate="2013-12-30T15:16:47.787" Title="Complexity of counting products of commuting operators drawn from a specific set." Tags="&lt;cc.complexity-theory&gt;&lt;co.combinatorics&gt;" AnswerCount="1" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="6182" PostTypeId="1" CreationDate="2011-04-20T16:32:43.517" Score="1" ViewCount="283" Body="&lt;p&gt;I'm working to construct a learner than can recognize whether two vertices in a property graph (digraph, vertices and edges can have arbitrary keys/values) modelling a social network in fact represent the same person. I want to use the structure of the graph local to two vertices, compare those structures, and use the similarity as a feature.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I've had trouble finding related work. Light review of the literature leaves me stuck on graph methods - eg, Bayesian networks and graphs-as-learners- as opposed to learning graph-based domains. Are there any good resources I'm missing, or maybe suggested methods?&lt;/p&gt;&#xA;" OwnerUserId="4747" LastEditorUserId="80" LastEditDate="2011-04-22T06:54:15.247" LastActivityDate="2011-04-22T06:54:15.247" Title="Using Graphs/Graph Similarity as Features for a Learner" Tags="&lt;graph-theory&gt;&lt;machine-learning&gt;&lt;network-modeling&gt;" AnswerCount="0" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6183" PostTypeId="2" ParentId="6181" CreationDate="2011-04-20T18:50:39.717" Score="1" Body="&lt;p&gt;For $D$ unrestricted, computing $N_D$ exactly is equivalent to evaluating the Tutte polynomial of a graph: the values $N_D$ determine the weight enumerator of a linear code, also known as the Tutte polynomial of a binary matroid, and your restriction on the $\lambda^i$ corresponds to the linear code being given by a basis of vectors of Hamming weight 2, which is the just the usual cycle matroid of a graph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, we can calculate $N_{n-2k}$ if $k$ is constant in polynomial time as follows. There are $O(n^k)$ diagonal matrices $C$ with $n-k$ ones and $k$ minus-ones. These can be enumerated in polynomial time for fixed $k$. $C$ can be considered as a point in $\mathbb{F}_2^n$ and each $b$ can be considered as a point in $\mathbb{F}_2^m$ where $m$ is the number of $\lambda^i$s. This turns multiplication into addition, so the definition of $C_b$ becomes $C_{b_j}=\sum \lambda^i_{jj} b_i$. In Diestel's book on graph theory the values $b$ such that $\sum \lambda^i_{jj} b_i=0$ are called the cycle space of the graph.&lt;/p&gt;&#xA;" OwnerUserId="636" LastEditorUserId="636" LastEditDate="2011-04-20T21:09:20.410" LastActivityDate="2011-04-20T21:09:20.410" CommentCount="11" ContentLicense="CC BY-SA 3.0" />
  <row Id="6184" PostTypeId="1" CreationDate="2011-04-20T19:00:14.467" Score="5" ViewCount="552" Body="&lt;p&gt;Assuming a rooted tree $T$ with vertices $V$, I am maintaining subsets of $V$, for example $M \subseteq V$ whose vertices are associated with particular labels or values. $V$ is dynamic in that it must be possible to insert leaves as well as internal nodes. Deletion is not needed. $M$ can only grow by adding new vertices as they are inserted into $V$ (no existing vertices of $V$ will be added to $M$ at a later point in time).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I need an algorithm that given any vertex $v \in V$ (not necessarily in $M$), it will find the nearest ancestor $u \in M$ of $v$, with space preferably being not worse than linear in $|V|$ and/or $|M|$ and time being somewhat logarithmic in $|M|$. Also the updates should be efficient.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is known as the Marked Ancestor Problem [1] and also goes under the names of two-dimensional range searching and union-find problems. The problem with [1] is that for once it doesn't support insertion of internal nodes, and also it is extremely abstract and I definitely can't derive an algorithm and an implementation from it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also in my case, a solution involving Informative Labeling [2] would be highly desirable.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;[1] S. Alstrup, T. Husfeldt and T. Rauhe, Marked Ancestor Problems. focs, pp.534, 39th Annual Symposium on Foundations of Computer Science, 1998&lt;/li&gt;&#xA;&lt;li&gt;[2] D. Peleg, Informative labeling schemes for graphs. Mathematical Foundations of Computer Science, pp. 579--588, 2000&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Here is another approach, maybe it can be &quot;fixed&quot;: I can maintain versions of the tree which are linearized by a total order, one using pre-order traversal, the other using post-order traversal, using an approach developed by Dietz [3]. With these two lists I can query in $O(1)$ whether a vertex $u$ is an ancestor of another vertex $v$ in the tree ($u$ must be left of $v$ in the pre-order list and right of $v$ in the post-order list). If I could organize my vertices $M$ in a way that I can find the &lt;em&gt;nearest&lt;/em&gt; ancestor of $v$ in logarithmic or polylogarithmic time, the problem is solved. Right now I can just go through all elements of $M$ and collect the nearest ancestor (closest to $v$ in the lists) in $O(|M|)$...&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;[3] P. Dietz, Maintaining order in a linked list. Proceedings of the fourteenth annual ACM symposium on Theory of computing, pp. 122--127, 1982&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="4757" LastEditorUserId="43" LastEditDate="2011-04-21T16:08:31.147" LastActivityDate="2011-11-11T14:38:33.317" Title="Dynamic Tree Marked Ancestor Queries" Tags="&lt;ds.data-structures&gt;&lt;tree&gt;&lt;total-ordering&gt;&lt;range-searching&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6185" PostTypeId="1" AcceptedAnswerId="6187" CreationDate="2011-04-20T20:14:50.283" Score="3" ViewCount="208" Body="&lt;p&gt;I'm working on a problem and I've come to a point where I need to define the input/output complexity of an algorithm. I don't remember ever studying this systematically like I did time complexity or space complexity, so what are some notable papers that deal with this problem?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note: I'm calling it input/output complexity, but I have no idea what the actual name of this is, that would be helpful to know too! Incase it's unclear I am calling the relationship between a functions input and it's output, &quot;Input/Output Complexity&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Examples: &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;F({1,2,3,4}) = {1,2} //where the relationship is n/2&lt;/li&gt;&#xA;&lt;li&gt;F(some 20 byte input) = 2bytes of header + 10bytes of output //the relationship is 2+n/2&lt;/li&gt;&#xA;&lt;li&gt;F(2 byte header + 10byte data) = 6 bytes output // n3/5 - 2&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;A more concrete example would finding be the average and best input/output complexity of a compression algorithm&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Defining this is out of scope of my paper so I am hoping to find a definition/solution to reference.&lt;/p&gt;&#xA;" OwnerUserId="4387" LastEditorUserId="186" LastEditDate="2011-04-21T23:06:11.907" LastActivityDate="2011-04-21T23:06:11.907" Title="Function input to output size relationship. What is it? Any notable research on it?" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6186" PostTypeId="1" AcceptedAnswerId="6195" CreationDate="2011-04-20T20:35:25.277" Score="3" ViewCount="338" Body="&lt;p&gt;Given graph G = (V,E) I need to solve some problems that are NP-Complete on G. However it could be that G belongs to some class where these problems has polynomial solutions (here is a great resource on graph classes &lt;a href=&quot;http://www.graphclasses.org&quot; rel=&quot;nofollow&quot;&gt;http://www.graphclasses.org&lt;/a&gt;). &#xA;How can I know if G belong to some of these classes? Do I need to read and code algorithms from each paper to check it? Or there exists already an implementation for most of these algorithms?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks in advance.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit: Maybe it is too broad my question but in some sense I want to know if someone is trying to code all these theoretic algorithms.&#xA;As a reformulation of my question: Does exist some project with the goal of unify all this theoretical knowledge in practical application (real code implementation)?&lt;/p&gt;&#xA;" OwnerUserId="2582" LastEditorUserId="186" LastEditDate="2011-04-21T22:58:06.283" LastActivityDate="2011-04-21T22:58:06.283" Title="Are there good implementations for easy subclasses of NP-hard graph problems " Tags="&lt;ds.algorithms&gt;&lt;graph-algorithms&gt;&lt;software&gt;&lt;implementation&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="6187" PostTypeId="2" ParentId="6185" CreationDate="2011-04-20T21:03:50.880" Score="4" Body="&lt;p&gt;I think it's improper to call this measure 'complexity'. A more apt name would be 'input to output size relation'.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that, strictly speaking, this is a property of the problem you are solving, not of the particular algorithm you use to solve the problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the case of the compression problem, if you mean lossless compression of arbitrary binary data, then the average compression ratio is never less than 1 (and it's typically strictly greater than 1).&lt;/p&gt;&#xA;" OwnerUserId="1749" LastActivityDate="2011-04-20T21:03:50.880" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6188" PostTypeId="2" ParentId="6144" CreationDate="2011-04-20T21:51:04.693" Score="5" Body="&lt;p&gt;The meaning of  &lt;em&gt;simpler&lt;/em&gt; in your question is unclear. Kripke structures have a labelling function on states. LTSes have labels on transitions, which can be viewed as a labelling function on transitions. Why is one simpler than the other? In the context of your question, using acronyms like &quot;ACTL&quot; is ambiguous because the &quot;A&quot; could mean &lt;em&gt;all paths&lt;/em&gt; or &lt;em&gt;action-based&lt;/em&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The difference, in my opinion, between Kripke structures and LTSes is based on modelling convenience and not simplicity. There is a lot of work comparing and contrasting the two. Here are a few starting points for chasing down related work. &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;De Nicola and Vaandrager have a few papers on translating between Kripke structures and LTSes and how this affects logical properties. They introduce doubly labelled transition systems to move between the two types of representations and semantic interpretations. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.springerlink.com/content/y13110781p623363/&quot; rel=&quot;nofollow&quot;&gt;Action versus state based logics for transition systems &lt;/a&gt;, De Nicola and Vaandrager, 1990&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://portal.acm.org/citation.cfm?id=201032&quot; rel=&quot;nofollow&quot;&gt;Three logics for branching bisimulation&lt;/a&gt;, De Nicola and Vaandrager, 1995&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;If the goal is verification of event-based systems, one option is to translate the LTS into a Kripke structure and use a Kripke structure model checker. The translation has to preserve the interpretation of CTL over the LTS. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://dx.doi.org/10.1016/0169-7552%2893%2990047-8&quot; rel=&quot;nofollow&quot;&gt;An action-based framework for veryfying logical and behavioural properties of concurrent systems&lt;/a&gt;, De Nicola, Fantesi, Gnesi, Ristori&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Translating between representations involves a blowup. For the case of LTL, there are cases when this blowup can be avoided. Here is a recent paper on the topic. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.springerlink.com/index/npvpeukpe5nt0gjx.pdf&quot; rel=&quot;nofollow&quot;&gt;State/event-based software model checking&lt;/a&gt;, Chaki, Clarke, Ouaknine, Sharygina, Sinha&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="4155" LastActivityDate="2011-04-20T21:51:04.693" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6189" PostTypeId="2" ParentId="5160" CreationDate="2011-04-20T22:12:00.370" Score="16" Body="&lt;p&gt;There is hardly any natural problem which is believed to be in P/poly but not in P. The artificial examples can be adapted to answer your question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assume $E \neq NE$, then there is a unary language L in NP which is not in P -- unary means that all the strings in the language have the form $1^n$ for some n.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then define L' to be the set of all strings x such that $1^{length(x)}$ is in L. This is in NP, it is in P/poly, and it is not in average polynomial time&lt;/p&gt;&#xA;" OwnerUserId="1069" LastActivityDate="2011-04-20T22:12:00.370" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6190" PostTypeId="2" ParentId="4414" CreationDate="2011-04-20T23:21:05.247" Score="3" Body="&lt;p&gt;This can be done in nearly linear time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let the permutation be $\pi = (v_1,\dots,v_m)$, and let $k = k(\pi)$ be the number of steps needed to check a single edge $(u,v)$ against $\pi$.&#xA;It is then enough to check that each of the $M_i$ edges of $G_i$ is compatible with $\pi$, which can be done in $O(kM_i)$ time, or $O(k\sum M_i)$ overall.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By preprocessing $\pi$ one can reduce $k$ down to two lookups in an array containing $m$ entries each of $\log\, m$ size, and a comparison between two $(\log\ m)$-bit entries in the array; the array element $a[w]$ contains the index of $w$ in $\pi$ considered as an ordered list.  This means that $k = O(\log\, m)$ yielding $O((\log\, m)\sum M_i)$ time overall for the upper bound.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As @mjqxxxx points out, every edge of every graph may be relevant.  This creates a lower bound of $\Omega(K\sum M_i)$ steps, where $K$ is the least amount of work that needs to be done for every graph edge; it is possible that some approaches can amortize the cost so that $K = o(\log\, m)$.  This is still going to be $\Omega(\sum M_i)$ at best, so there is not much of a gap left.&lt;/p&gt;&#xA;" OwnerUserId="109" LastEditorUserId="109" LastEditDate="2011-04-23T15:52:42.713" LastActivityDate="2011-04-23T15:52:42.713" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="6192" PostTypeId="1" CreationDate="2011-04-21T12:04:05.627" Score="4" ViewCount="247" Body="&lt;p&gt;Suppose $G = (V, E)$ is a digraph of bounded degree. Suppose each edge in $E$ is labelled with a number from the set $X = \{1, ..., n\}$ and for each vertex $v \in V$ and each $x \in X$ there is at most 1 edge labelled $x$ connecting out of $v$, i.e. there is at most one edge labelled $x$ with tail $v$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $w$ be a word made using elements of $X$ as letters. For a given vertex $v$, $w$ defines a path through G by following the correctly labelled edges (if they exist) starting at $v$. I would like to determine if a $w$ forms a cycle anywhere within G.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there a more efficient way to determine if there is a $v \in V$ such that $w$ forms a cycle when started at $v$ than checking where the path $w$ terminates for every starting vertex? &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="749" LastEditorUserId="186" LastEditDate="2011-04-21T23:02:46.607" LastActivityDate="2011-04-26T13:51:51.633" Title="How to determine if a labelled digraph contains a cycle with given labels?" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;" AnswerCount="1" CommentCount="6" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="6193" PostTypeId="1" AcceptedAnswerId="6196" CreationDate="2011-04-21T12:17:27.383" Score="12" ViewCount="1333" Body="&lt;p&gt;In the &lt;a href=&quot;http://en.wikipedia.org/wiki/Tiny_Encryption_Algorithm&quot;&gt;Tiny Encryption Algorithm&lt;/a&gt;:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Different multiples of a magic constant are used to prevent simple attacks based on the symmetry of the rounds. The magic constant, 2654435769 or 9E3779B9&lt;sub&gt;16&lt;/sub&gt; is chosen to be $2^{32}/ \phi$, where ϕ is the golden ratio.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Which properties does $2^{32}/ \phi$ have that makes it useful in this context?&lt;/p&gt;&#xA;" OwnerDisplayName="user4772" LastEditorUserId="873" LastEditDate="2011-04-22T02:31:09.313" LastActivityDate="2011-04-22T02:31:09.313" Title="What is special about $2^{32}/\phi$ in cryptography?" Tags="&lt;cr.crypto-security&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="6194" PostTypeId="2" ParentId="5900" CreationDate="2011-04-21T12:58:21.867" Score="9" Body="&lt;p&gt;Chapter 2 of the &lt;a href=&quot;http://www.st.ewi.tudelft.nl/sat/handbook/&quot;&gt;Handbook of Satisfiability&lt;/a&gt; surveys the aspects to bear in mind when designing those transformations, as well as a list of references that answer my question. This helped me find a few examples that one can have a look at to familiarise oneself with these transformations:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Chromatic number&lt;/strong&gt;: see &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.45.9473&amp;amp;rep=rep1&amp;amp;type=pdf&quot;&gt;Iyama and Miyazaki&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Clique&lt;/strong&gt;: see &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.45.9473&amp;amp;rep=rep1&amp;amp;type=pdf&quot;&gt;Iyama and Miyazaki&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Hamiltonian circuit&lt;/strong&gt;: see &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.45.9473&amp;amp;rep=rep1&amp;amp;type=pdf&quot;&gt;Iyama and Miyazaki&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;$n$-queens&lt;/strong&gt;: see &lt;a href=&quot;http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=54670&amp;amp;tag=1&quot;&gt;Nadel&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Stable marriage&lt;/strong&gt;: see &lt;a href=&quot;http://www.springerlink.com/index/1JMWPWRJF7X3V29Y.pdf&quot;&gt;Gent et al.&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="775" LastActivityDate="2011-04-21T12:58:21.867" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6195" PostTypeId="2" ParentId="6186" CreationDate="2011-04-21T13:17:07.823" Score="13" Body="&lt;p&gt;I'd be surprised if there existed a graph library recognizing them all (there is &lt;em&gt;a lot&lt;/em&gt; of them), but most of the algorithms you will find in the litterature are focused on a very small amount of classes... For example chordal graphs (easy to recognise), or treewidth-bounded graphs (much harder.. hopefully the algorithms given for these classes are almost useless in practice), planar graphs, ...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In Sage (http://www.sagemath.org/), we are trying to build a large graph library, with recognition algorithms and methods to solve NP-Hard problems. For instance, we have the following methods :&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;g.is_bipartite&#xA;g.is_chordal&#xA;g.is_circular_planar&#xA;g.is_clique&#xA;g.is_drawn_free_of_edge_crossings&#xA;g.is_equitable&#xA;g.is_eulerian&#xA;g.is_even_hole_free&#xA;g.is_forest&#xA;g.is_gallai_tree&#xA;g.is_hamiltonian&#xA;g.is_interval&#xA;g.is_line_graph&#xA;g.is_odd_hole_free&#xA;g.is_overfull&#xA;g.is_perfect&#xA;g.is_planar&#xA;g.is_prime&#xA;g.is_regular&#xA;g.is_split&#xA;g.is_transitively_reduced&#xA;g.is_tree&#xA;g.is_triangle_free&#xA;g.is_vertex_transitive&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;The best is probably to read the (unfortunately) long list of methods related to graphs...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.sagemath.org/doc/reference/graphs.html&quot;&gt;http://www.sagemath.org/doc/reference/graphs.html&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(I wrote a short tutorial there : &lt;a href=&quot;http://www-sop.inria.fr/members/Nathann.Cohen/tut/Graphs/&quot;&gt;http://www-sop.inria.fr/members/Nathann.Cohen/tut/Graphs/&lt;/a&gt; )&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Nathann&lt;/p&gt;&#xA;" OwnerUserId="1209" LastActivityDate="2011-04-21T13:17:07.823" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6196" PostTypeId="2" ParentId="6193" CreationDate="2011-04-21T13:28:11.343" Score="11" Body="&lt;p&gt;AFAIK, such &quot;magic&quot; values have the following two properties:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;They are somehow unique, and look random.&lt;/li&gt;&#xA;&lt;li&gt;They can take part in algebraic operations repeatedly; i.e. even after applying some specific operation (say multiplication or exponentiation) many times, the &quot;magic&quot; value is still able to generate new values.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;You may find a similar case in the &lt;a href=&quot;http://en.wikipedia.org/wiki/MD5&quot; rel=&quot;nofollow&quot;&gt;MD5&lt;/a&gt;. Consider the following line:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;code&gt;k[i] := floor(abs(sin(i + 1)) × (2 pow 32))&lt;/code&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here, &lt;code&gt;sin(i + 1)&lt;/code&gt; is meant to generate magic values; which are unique, random-looking, and can work for a lot of &lt;code&gt;i&lt;/code&gt;'s. (Actually, &lt;code&gt;i&lt;/code&gt; ranges in 0..63).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit:&lt;/strong&gt; Reading the &lt;a href=&quot;http://www.cix.co.uk/~klockstone/tea.pdf&quot; rel=&quot;nofollow&quot;&gt;original paper on TEA&lt;/a&gt;, one understands that the answer given by &quot;Steven Stadnicki&quot; is correct. Note that the magic constant is name delta:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;A different multiple of delta is used in each round so that no bit of the multiple will not change frequently. We suspect the algorithm is &lt;strong&gt;not very sensitive&lt;/strong&gt; to the value of delta and we merely need to avoid a bad value. It will be noted that delta turns out to be odd with truncation or nearest rounding, so no extra precautions are needed to ensure that all the digits of sum change.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Since only 32 multiples of delta is used (one per each round), it is not odd that the algorithm is not very sensitive to any specific delta. (See Steven Stadnicki's answer for more info.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit 2:&lt;/strong&gt; Incidentally, &lt;a href=&quot;http://www.ietf.org/rfc/rfc1320.txt&quot; rel=&quot;nofollow&quot;&gt;MD4&lt;/a&gt; uses square roots of 2 (0x5a827999) and 3 (0x6ed9eba1) as &quot;magic&quot; constants in its operations. Section 5.4.4 of the book &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0130460192&quot; rel=&quot;nofollow&quot;&gt;Network Security: Private Communication in a Public World&lt;/a&gt; explains this well:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;To show that the designers didn't purposely choose a diabolical value of the constant, the constant is based on the square root of 2.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;This explanation is the same as the point made below in a comment by Gilles.&lt;/p&gt;&#xA;" OwnerUserId="873" LastEditorUserId="873" LastEditDate="2011-04-22T02:28:34.103" LastActivityDate="2011-04-22T02:28:34.103" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="6199" PostTypeId="1" AcceptedAnswerId="6325" CreationDate="2011-04-21T16:39:48.680" Score="10" ViewCount="810" Body="&lt;p&gt;Tries allow for efficient storage of lists of elements.  The prefixes are shared so it is space efficient.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am looking for a similar way to efficiently store trees.  I would like to be able to check for membership and to add elements, knowing if a given tree is a subtree of some stored trees or if there exists a stored tree being a subtree of the given tree is also desirable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would typically store about 500 unbalanced binary trees of height less than 50.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My application is some kind of model checker using some sort of memoization. Imagine I have a state $s$ and the following formulae: $f = \phi$ and $g = (\phi \vee \psi)$ with $\phi$ being a complex subformula, and imagine I first want to know if $f$ holds in $s$.  I check if $\phi$ holds and after a lengthy process I obtain that it is the case. Now, I want to know if $g$ holds in $s$. I would like to remember the fact that $f$ holds and to notice that $g \Rightarrow f$ so that I can derive $g$ in $s$ almost instantly.&lt;br&gt;&#xA;Conversely, if I have proved that $g$ does not hold in $t$, then I want to tell that $f$ does not hold in $t$ almost instantly.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We can build a partial order on formulae, and have $g \geq f$ iff $g \Rightarrow f$.  For each state $s$, we store two sets of formulae; $L(s)$ stores the maximal formulae that hold and $l(s)$ stores the minimal formulae that do not hold. Now given a state $s$ and a formula $g$, I can see if $\exists f \in L(s), f \Rightarrow g$, or if $\exists f \in l(s), g \Rightarrow f$ in which case I am done and I know directly whether $g$ holds in $s$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Currently, $L$ and $l$ are implemented as lists and this is clearly not optimal because I need to iterate through all stored formulae individually. If my formulae were sequences, and if the partial order was &quot;is a prefix of&quot; then a trie could prove much faster. Unfortunately my formulae have a tree like structure based on $\neg, \wedge$, a modal operator, and atomic propositions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As @Raphael and @Jack points out, I could sequentialise the trees, but I fear it would not solve the problem because the partial order I am interested in would not correspond to &quot;is a prefix of&quot;.&lt;/p&gt;&#xA;" OwnerUserId="4780" LastEditorUserId="4780" LastEditDate="2011-04-22T23:37:26.347" LastActivityDate="2011-05-11T13:32:50.090" Title="A data structure for sets of trees." Tags="&lt;ds.data-structures&gt;&lt;tree&gt;&lt;model-checking&gt;" AnswerCount="6" CommentCount="4" FavoriteCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="6200" PostTypeId="2" ParentId="4652" CreationDate="2011-04-21T17:41:48.253" Score="3" Body="&lt;p&gt;If I am not mistaken, (4) is called normalized cuts.&lt;/p&gt;&#xA;" OwnerDisplayName="user4783" LastActivityDate="2011-04-21T17:41:48.253" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6201" PostTypeId="1" AcceptedAnswerId="6226" CreationDate="2011-04-21T18:27:43.183" Score="36" ViewCount="4629" Body="&lt;p&gt;This question is targeted at people who assign problems: teachers, student assistants, tutors, etc.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This has happened to me a handful of times in my 12-year career as a professor: I hurriedly assigned some problem from the text thinking &quot;this looks good.&quot;  Then later realized I couldn't solve it.  Few things are more embarrassing.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here's a recent example: &quot;Give a linear-time algorithm that determines if digraph $G$ has an odd-length cycle.&quot;  I assigned this thinking it was trivial, only to later realize my approach wasn't going to work.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question: what do you think is the &quot;professional&quot; thing to do:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Obsess on the problem until you solve it, then say nothing to your students.&lt;/li&gt;&#xA;&lt;li&gt;Cancel the problem without explanation and move on with your life.&lt;/li&gt;&#xA;&lt;li&gt;Ask for help on cstheory.SE (and suffer the response, &quot;is this a homework problem?&quot;)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; I'm looking for practical and level-headed suggestions that I perhaps haven't thought of.  I realize my question has a strong subjective element since handling this situation involves one's own tastes to a large extent, so I understand if readers would prefer to see it not discussed.&lt;/p&gt;&#xA;" OwnerUserId="3866" LastActivityDate="2011-04-28T21:01:56.057" Title="Have you ever realized you can't solve the homework you assigned?" Tags="&lt;soft-question&gt;&lt;teaching&gt;" AnswerCount="6" CommentCount="10" FavoriteCount="10" ContentLicense="CC BY-SA 3.0" />
  <row Id="6202" PostTypeId="2" ParentId="6201" CreationDate="2011-04-21T18:53:35.980" Score="18" Body="&lt;p&gt;I'm not a teacher yet, but as a TA, I once did this.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I didn't find the problem in a textbook; instead, I came up with the problem myself. It turned out that, in spite of looking innocent, the problem had been the subject of a lot of debate back in 1980s, but was settled then.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Well, after knowing that, I announced that solving that problem has extra credit. No one came up with the correct result, but I gave half the (extra) mark to those whose answers were reasonable. Then, in the class, I admitted that this had been indeed a hard problem, and pointed the students to the relevant history.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;PS1:&lt;/strong&gt; The problem was about the DES cipher: Are there a plaintext (P) and a ciphertext (C) such that, for two distinct keys K1 and K2, DES enciphers P to C under both keys? That is, C = DES(P, K1) = DES(P, K2).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The answer seemed to be &quot;NO,&quot; but turned out that was not the case. See the relevant research here: &lt;a href=&quot;http://www.springerlink.com/content/8yh6t8rru264cg4w/&quot;&gt;How easy is collision search? New results and applications to DES&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;PS 2:&lt;/strong&gt; The &lt;a href=&quot;http://en.wikipedia.org/wiki/Immerman%E2%80%93Szelepcs%C3%A9nyi_theorem&quot;&gt;Immerman–Szelepcsényi theorem&lt;/a&gt; has been proved in much the same way! Quoting from &lt;a href=&quot;http://rjlipton.wordpress.com/2009/02/19/we-all-guessed-wrong/&quot;&gt;Lipton's blog&lt;/a&gt;:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;There is one more comment I must add. Robert [Szelepcsényi] was a student when he solved the problem. The legend is that he was given a list of homework problems. Since he missed class he did not know that the last problem of his homework was the famous unsolved LBA question. He turned in a solution to the homework that solved all the problems. I cannot imagine what the instructor thought when he saw the solution. Note, it is rumored that this has happened before in mathematics. Some believe this is how Green’s Theorem was first solved. In 1854 Stoke’s included the “theorem” on an examination. Perhaps we should put P=NP on theory exams and hope ...&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="873" LastEditorUserId="873" LastEditDate="2011-04-22T20:57:19.650" LastActivityDate="2011-04-22T20:57:19.650" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="6203" PostTypeId="2" ParentId="6193" CreationDate="2011-04-21T19:02:46.367" Score="12" Body="&lt;p&gt;One reason that $\varphi$ makes a particularly useful 'magic number' in this context is that the multiples $n\varphi$ are guaranteed to be 'maximally far' from integers (this has to do with the lack of large terms in the continued fraction for $\varphi$), and thus the sequence $\{n\varphi\}$ (or more accurately, its initial segments) is more uniformly distributed mod 1 than the sequence $\{n\alpha\}$ for any other irrational $\alpha$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To give an example: suppose we choose a magic constant $C_\pi = \lfloor {2^{32}/\pi}\rfloor = 1367130551$.  Then $(355C_\pi)\mod {2^{32}} = 41157$, an unexpectedly small result for such a small multiple of our magic constant.  By contrast, if we use the magic constant $C_\varphi = \lfloor {2^{32}/\varphi}\rfloor = 2654435769$, then the smallest $n$ for which $|(nC_\varphi)\mod {2^{32}}| \leq 2^{16}$ (abusing notation a bit) is $n=28657$.  In practice, this can conceivably lead to things like unexpectedly large correlations between the values $X_n$ and $X_{n+k}$ of a linear congruential random number generator for some smallish $k$; for the most part, though, it's folkloreish black magic, based more on the intuition that 'small multiples of this number being small mod $2^{32}$ will be bad' than on any specific theoretical results.&lt;/p&gt;&#xA;" OwnerUserId="1941" LastEditorUserId="1941" LastEditDate="2011-04-21T20:54:58.693" LastActivityDate="2011-04-21T20:54:58.693" CommentCount="11" ContentLicense="CC BY-SA 3.0" />
  <row Id="6205" PostTypeId="2" ParentId="6201" CreationDate="2011-04-21T22:08:03.050" Score="6" Body="&lt;p&gt;I've been on the other side of this I'm sure.. However, sometimes it isn't really necessary for there to be an answer to have students learn. The process of trying many different approaches to solving a problem is often more important than the outcome. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Personally, I would go to class the next day and say I don't expect that many of you got the answers but let's talk about what steps you used to try to figure it out. If that isn't a real world type of question I don't know what is(used by many job interviewers). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;We sometimes get side tracked with learning facts and getting answers that we don't talk about the process which in itself can tell you more about where your students (or even you) are.&#xA;-j&lt;/p&gt;&#xA;" OwnerUserId="4788" LastActivityDate="2011-04-21T22:08:03.050" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6206" PostTypeId="2" ParentId="6179" CreationDate="2011-04-21T22:20:16.810" Score="3" Body="&lt;p&gt;Here's a way you can find the optimal algorithm. Let's assume (for convenience) that all $x_i$ and $y_i$ are distinct.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First, we need to prove two theorems.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(1) If at time $t$, you would get on a train with travel time $y_i$, you would also get on any train with travel time less than $y_i$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(2) If you would get on train $j$ at time $t_j$, you would also get on that train $j$ at any time $t \leq t_j$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For (1), the proof is easy. For (2), the proof is based on the observation that the longer you wait, the higher the probability that any particular train shows up. So if there's some strategy of waiting for trains other than $j$ that has better performance than getting on a train $j$ with travel time $y_j$ at time $t_j$, that same strategy is going to give travel time $\leq y_j$ for all times $t &amp;gt; t_j$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, if train $\alpha$ is the train with minimum $y_\alpha$, then you want to get on this train any time it arrives. Furthermore, if you've waited $x_\alpha - \epsilon$ time for sufficiently small $\epsilon$, your optimal strategy is to wait for train $\alpha$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;What we're going to do now is essentially continuous dynamic programming. If you've waited for time $t$, there are only $n$ possible optimal strategies. That is, get on any train with travel time $\leq y_i$. This optimal strategy changes at $n$ or fewer values of $t$. So, starting with time $x_\alpha$ and the strategy &quot;wait for train $y_\alpha$&quot;, calculate the first time $t &amp;lt; x_\alpha$ where the strategy changes. You can do this by comparing $n$ possible strategies, each of which gives an expected travel time which is a function of $t$. Keep working to the left in this fashion, until you get to time $t= 0$. &lt;/p&gt;&#xA;" OwnerUserId="1677" LastActivityDate="2011-04-21T22:20:16.810" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6207" PostTypeId="2" ParentId="6199" CreationDate="2011-04-21T23:17:11.603" Score="4" Body="&lt;p&gt;A special form of this is &lt;em&gt;persistence&lt;/em&gt;: See papers Making Data Structures Persistent by Driscoll, Sarnak, Sleator, &amp;amp; Tarjan, and Planar Point Location Using Persistent Search Trees by Sarnak &amp;amp; Tarjan, which store families of related trees.&lt;/p&gt;&#xA;" OwnerUserId="4377" LastActivityDate="2011-04-21T23:17:11.603" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="6208" PostTypeId="1" AcceptedAnswerId="6212" CreationDate="2011-04-22T05:54:37.247" Score="14" ViewCount="1190" Body="&lt;p&gt;I'm interested in optimization of data flow and control flow graphs and in particular more computationally complex.&#xA;But it will also be interesting to know about the latest inventions in the field of peephole optimizations.&lt;/p&gt;&#xA;" OwnerUserId="4685" LastEditorUserId="567" LastEditDate="2011-04-22T10:32:09.567" LastActivityDate="2011-12-05T09:19:35.073" Title="What's new in compiler optimization techniques over last few years?" Tags="&lt;optimization&gt;&lt;compilers&gt;" AnswerCount="4" CommentCount="4" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="6211" PostTypeId="1" AcceptedAnswerId="14998" CreationDate="2011-04-22T10:21:56.940" Score="13" ViewCount="336" Body="&lt;h2&gt;Context.&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;I am writing on topics such as the &lt;a href=&quot;http://en.wikipedia.org/wiki/Gottesman%E2%80%93Knill_theorem&quot; rel=&quot;nofollow&quot;&gt;Gottesman-Knill theorem&lt;/a&gt;, using Pauli stabilizer groups, but in the case of &lt;em&gt;d&lt;/em&gt;-dimensional qudits &amp;mdash; where &lt;em&gt;d&lt;/em&gt; may have more than one prime factor. (I emphasize this because the vast majority of literature on stabilizer formalism in &quot;higher dimensions&quot; involves the cases of &lt;em&gt;d&lt;/em&gt; prime or &lt;em&gt;d&lt;/em&gt; a prime power, and makes use of finite fields; I'm considering instead the cyclic groups &amp;#8484;&lt;sub&gt;&lt;em&gt;d&lt;/em&gt;&lt;/sub&gt;&amp;nbsp;.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For any dimension, I characterize a (Pauli) stabilizer group as &lt;em&gt;an abelian subgroup of the Pauli group, in which every operator has a +1 eigenspace&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;I'm writing about a result which is well-known for &lt;em&gt;d&lt;/em&gt;&amp;nbsp;=&amp;nbsp;2 (and easily generalized to &lt;em&gt;d&lt;/em&gt; prime):&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;A stabilizer group stabilizes a unique pure state if and only if it is maximal&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;where by maximality, I mean that any extension either lies outside the Pauli group, or is non-abelian, or contains operators without +1 eigenvalues.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Proofs of such results for &lt;em&gt;d&lt;/em&gt; prime usually rely on the fact that &amp;#8484;&lt;sub&gt;&lt;em&gt;d&lt;/em&gt;&lt;/sub&gt;&lt;sup&gt;2n&lt;/sup&gt; is a vector space (&lt;em&gt;i.e.&lt;/em&gt;&amp;nbsp;that &amp;#8484;&lt;sub&gt;&lt;em&gt;d&lt;/em&gt;&lt;/sub&gt; is a field): this does not hold for &lt;em&gt;d&lt;/em&gt; composite. There are two recourses: generalize the existing proofs in a way that is robust to the existence of zero divisiors (&lt;em&gt;e.g.&lt;/em&gt; using tools such as the &lt;a href=&quot;http://en.wikipedia.org/wiki/Smith_normal_form&quot; rel=&quot;nofollow&quot;&gt;Smith normal form&lt;/a&gt;), or avoid number theory altogether and use ideas such as orthogonality relations of Pauli operators.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;h2&gt;Problem.&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;I actually do have a concise proof of this result already, essentially using no more than orthogonality relations of Pauli operators. But I suspect that I've seen something like it before, and I would like to refer to the prior art if I can (not to mention see if there are better techniques than the one I used, which while not onerous felt less than perfect). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Certainly Knill's papers &lt;a href=&quot;http://arxiv.org/abs/quant-ph/9608048&quot; rel=&quot;nofollow&quot;&gt;[quant-ph/9608048]&lt;/a&gt; and &lt;a href=&quot;http://arxiv.org/abs/quant-ph/9608049&quot; rel=&quot;nofollow&quot;&gt;[quant-ph/9608049]&lt;/a&gt; consider similar subjects and use similar techniques; but I couldn't find the result I was looking for there, or in Gottesman's &lt;a href=&quot;http://arxiv.org/abs/quant-ph/9802007&quot; rel=&quot;nofollow&quot;&gt;[quant-ph/9802007]&lt;/a&gt;. I'm hoping that someone can point me to where such a proof might have been published before. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt; &amp;mdash; the result I'm considering is not one which relates the &lt;em&gt;cardinality&lt;/em&gt; of the group to the dimension of the stabilized space (which is nice, but trivial both to prove and to find references to); I'm concerned specifically with showing that any stabilizer group &lt;em&gt;which cannot be extended&lt;/em&gt; stabilizes a unique state, and vice versa.&#xA;A reference to a proof that any maximal stabilizer group has the same cardinality would be fine; but again, it must not rely on &lt;em&gt;d&lt;/em&gt; being prime or &amp;#8484;&lt;sub&gt;&lt;em&gt;d&lt;/em&gt;&lt;/sub&gt;&lt;sup&gt;2n&lt;/sup&gt; being a vector space.&lt;/p&gt;&#xA;" OwnerUserId="248" LastEditorUserId="248" LastEditDate="2013-01-07T15:34:13.870" LastActivityDate="2013-01-07T15:34:13.870" Title="Reference request: number-theory-free proof that maximal stabilizer groups determine unique states" Tags="&lt;reference-request&gt;&lt;quantum-computing&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="6212" PostTypeId="2" ParentId="6208" CreationDate="2011-04-22T17:49:56.293" Score="8" Body="&lt;p&gt;I'm not sure how novel it is, or if it's too much on the applied side for your interest, but &lt;a href=&quot;http://lambda-the-ultimate.org/node/3557&quot;&gt;Hoopl&lt;/a&gt; shows how a control/data flow optimization can be modularised, with propagation of facts about control-graph vertices being independent of the language and specific optimization.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;They reference a 2002 algorithm of Lerner, Grove and Chambers which composes simple optimizations into a &quot;superoptimization&quot;.&lt;/p&gt;&#xA;" OwnerUserId="2241" LastActivityDate="2011-04-22T17:49:56.293" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6213" PostTypeId="1" CreationDate="2011-04-22T18:41:49.893" Score="-4" ViewCount="1025" Body="&lt;p&gt;I was thinking about the strategy of solving Subset-Sum (with a set of size n and integers having n bits each) by using Dynamic Programming (described here: &lt;a href=&quot;http://en.wikipedia.org/wiki/Subset_sum_problem&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/Subset_sum_problem&lt;/a&gt;) modulo n small primes, 2,3,5,7,11,...,nth prime. The algorithm would then compute the intersection of the sets of answers modulo each prime. The solution to Subset-Sum would be in the intersection, and probably no wrong answers would be in the intersection.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Would such an algorithm be expected to run in polynomial-time? In other words, is it possible to compute the intersection of the sets of answers modulo each prime efficiently in the average case scenario?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Note that in the worst-case scenario, this algorithm would have exponential running-time, since the intersection may have exponential size. I'm only talking about the average-case scenario here when there are only few or no solutions. This question has nothing to do with the P vs. NP problem.)&lt;/p&gt;&#xA;" OwnerUserId="3091" LastEditorUserId="3091" LastEditDate="2011-04-22T20:00:05.617" LastActivityDate="2011-08-24T06:00:35.470" Title="Subset-Sum modulo small primes" Tags="&lt;cc.complexity-theory&gt;" AnswerCount="1" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="6214" PostTypeId="1" CreationDate="2011-04-22T19:37:19.577" Score="17" ViewCount="584" Body="&lt;p&gt;It's well known that if you throw n balls into n bins, the most loaded bin is highly likely to have $O(\log n)$ balls in it. In general, one can ask about $m &amp;gt; n$ balls in $n$ bins. &lt;a href=&quot;http://www.springerlink.com/content/g6ym7nb2y9j16qq0/&quot; rel=&quot;nofollow&quot;&gt;A paper from RANDOM 1998 by Raab and Steger&lt;/a&gt; explores this in some detail, showing that as $m$ increases, the probability of going even a little above the expected value of $m/n$ decreased rapidly. Roughly, setting $r = m/n$, they show that the probability of seeing more than $r + \sqrt{r\log n}$ is $o(1)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This paper appeared in 1998, and I haven't found anything more recent. Are there new and even more concentrated results along these lines, or are there heuristic/formal reasons to suspect that this is the best one can get ? I should add that a &lt;a href=&quot;http://siamdl.aip.org/getpdf/servlet/GetPDFServlet?filetype=pdf&amp;amp;id=SMJCAT000035000006001350000001&amp;amp;idtype=cvips&quot; rel=&quot;nofollow&quot;&gt;related paper on the multiple-choice variant&lt;/a&gt; co-authored by Angelika Steger in 2006 does not cite any more recent work either. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Update&lt;/strong&gt;: In response to Peter's comment, let me clarify the things I'd like to know. I have two goals here. &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Firstly, I need to know which reference to cite, and it does seem like this is the most recent work on this. &lt;/li&gt;&#xA;&lt;li&gt;Secondly, it is true that the result is quite tight in the r = 1 range. I'm interested in the m &gt;&gt; n range, and specifically in the realm where r might be poly log n, or even n^c. I'm trying to slot this result into a lemma I'm proving, and the specific bound on r controls other parts of the overall algorithm. I think (but am not sure) that the range on r provided by this paper might suffice, but I just wanted to make sure there wasn't a tighter bound (that would yield a better result). &lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="80" LastEditorUserId="80" LastEditDate="2011-04-24T04:40:07.483" LastActivityDate="2011-04-28T10:56:08.320" Title="Balls and Bins analysis in the m &gt;&gt; n regime." Tags="&lt;reference-request&gt;&lt;pr.probability&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="6215" PostTypeId="1" CreationDate="2011-04-22T22:01:46.837" Score="4" ViewCount="452" Body="&lt;p&gt;I was thinking of determining the &lt;a href=&quot;https://secure.wikimedia.org/wikipedia/en/wiki/War_%28card_game%29&quot; rel=&quot;nofollow&quot;&gt;game of war&lt;/a&gt;. I could write a fairly simple game that takes two &quot;decks&quot; of cards, and plays them against each other but I do not think this is optimal. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Because in war the order of the cards matter it is also not a question of simply summing up the &quot;power&quot; of the cards. If the decks were Q-Q-J-J and K-K-1-1 then the game would go as follows even though the first player has more power:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Q-K (QJJ, K11)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Q-K (JJ, 11QK)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;J-1 (J, 1QKQK)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;J-1 (1J, QKQK)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1-Q (J1J, KQK)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;J-K (1J, QK1Q)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1-Q (J, QK1QJK)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;J-K (͏∅, K1QJK1Q)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;∅ (͏∅, 1QJK1QJK)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I've been trying to think of a method of determine the winner of the game without going through the entire deck each and every time (and thus possibly going for thousands of iterations.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you could provide me with some pointers to start thinking about this question - that would be great!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I wasn't exactly sure where to ask this question: so if this is off topic here please redirect me.&lt;/p&gt;&#xA;" OwnerUserId="2835" LastActivityDate="2013-11-18T12:07:38.823" Title="Is there a method of solving the game of &quot;war&quot;" Tags="&lt;card-games&gt;&lt;combinatorial-game-theory&gt;" AnswerCount="1" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="6216" PostTypeId="2" ParentId="6213" CreationDate="2011-04-23T00:51:40.477" Score="0" Body="&lt;p&gt;I have been working the exact same idea for a while. What Tsuyoshi Ito said is not necessary correct!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Solving the subset-sum problem is the same as solving the following 0-1 Integer linear program&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$Q$: $a_1 x_1 + \dots + a_n x_n = b$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let's define $Q(P)$ to be the constraint&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$Q(M)$: $a_1 x_1 + \dots + a_n x_n \equiv b\ (\text{mod }M)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $A$ be the set of solutions to $Q$ and $A(M)$ be the set of solutions to $Q(P)$. Correctness of the following lemmas is easy to verify.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Lemma 1: If M is large enough, we have $A(M) = A$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Lemma 2: We can safely assume all $a_i$'s are positive integers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Lemma 3: If all coefficients are positive, for every $M &amp;gt; \sum a_i$, we have $A(M) = A$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Lemma 4: $A(M_1 M_2) = A(M_1) \cap A(M_2)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, let $P = \{2, 3, \dots, P_m\}$ be the set of primes such that $\prod_{p \in P}\ p &amp;gt; A = \sum a_i$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;One can show that $|P| &amp;lt; \log A$, and also $P_m &amp;lt; O(\log A)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So then, computing the DP array of $Q$ ($P_i$) can be done in polynomial time w.r.t input size. And also, it is easy to compute $|A(P_i)|$ in polytime w.r.t. input size.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The next step is to find a $P_i$ s.t. $|A(P_i)|$ is minimal. If the number of solutions in $A(P_i)$ is small (polynomial in size of input), the one can enumerate all such solutions and check if any of them satisfies $Q$ or not.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In &lt;a href=&quot;http://arxiv.org/abs/1104.1479&quot; rel=&quot;nofollow&quot;&gt;http://arxiv.org/abs/1104.1479&lt;/a&gt;, I used a very similar idea to encode ILP-program (PB-constraints) into SAT.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It can be observed that there are many subset-sum instances which can be solved in polynomial time, w.r.t. input using the above approach.&lt;/p&gt;&#xA;" OwnerUserId="1639" LastEditorUserId="3964" LastEditDate="2011-08-24T06:00:35.470" LastActivityDate="2011-08-24T06:00:35.470" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="6217" PostTypeId="1" CreationDate="2011-04-23T05:32:14.930" Score="1" ViewCount="390" Body="&lt;p&gt;Is a local optimum value of a SDP always the global one? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If not, what are the conditions for that?&lt;/p&gt;&#xA;" OwnerUserId="3139" LastEditorUserId="39090" LastEditDate="2018-08-17T11:41:56.917" LastActivityDate="2018-08-18T12:01:28.400" Title="Optimal value of a semidefinite program" Tags="&lt;ds.algorithms&gt;&lt;optimization&gt;&lt;convex-optimization&gt;&lt;semidefinite-programming&gt;" AnswerCount="1" CommentCount="9" FavoriteCount="3" ContentLicense="CC BY-SA 4.0" />
  <row Id="6218" PostTypeId="1" AcceptedAnswerId="6228" CreationDate="2011-04-23T12:20:13.670" Score="2" ViewCount="593" Body="&lt;p&gt;Is there a lower bound (in coding theory or elsewhere) of number of redundant bits necessary to encode a word with certain Hamming distance?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is some known data for parity checks, CRC, Hamming encoding, but is there a theoretical limit?&lt;/p&gt;&#xA;" OwnerUserId="4802" LastEditorUserId="186" LastEditDate="2011-04-24T14:56:42.277" LastActivityDate="2011-07-17T05:54:54.627" Title="Is there a lower bound of number of redundant bits necessary to encode a word with certain Hamming distance?" Tags="&lt;co.combinatorics&gt;&lt;it.information-theory&gt;&lt;coding-theory&gt;" AnswerCount="3" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6219" PostTypeId="2" ParentId="6199" CreationDate="2011-04-23T13:03:30.293" Score="1" Body="&lt;p&gt;This sounds a little bit like a forest (&lt;a href=&quot;http://en.wikipedia.org/wiki/Disjoint-set_data_structure#Disjoint-set_forests&quot; rel=&quot;nofollow&quot;&gt;disjoint-set forests&lt;/a&gt;)...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It amortizes the cost of insertion through a technique called &lt;em&gt;union by rank&lt;/em&gt; and the search operation using &lt;em&gt;path compression&lt;/em&gt;. I know there's also a &lt;a href=&quot;http://research.microsoft.com/en-us/um/people/crusso/ml2007/slides/puf-wml07-slides.pdf&quot; rel=&quot;nofollow&quot;&gt;persistent&lt;/a&gt; version of this structure developed by Sylvain Conchon and Jean-Christophe Filliâtre but I have no idea if this is the same as that which Jack mentions...&lt;/p&gt;&#xA;" OwnerUserId="105" LastActivityDate="2011-04-23T13:03:30.293" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6220" PostTypeId="2" ParentId="3085" CreationDate="2011-04-23T14:00:15.960" Score="5" Body="&lt;p&gt;This was studied and solved by Wolfgang Paul who showed essentially what is discussed holds.&lt;/p&gt;&#xA;" OwnerUserId="2825" LastActivityDate="2011-04-23T14:00:15.960" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6223" PostTypeId="2" ParentId="6201" CreationDate="2011-04-23T21:15:40.220" Score="4" Body="&lt;p&gt;One of my professors in graduate school assigned a problem he later realized he couldn't solve.  He emailed everyone explaining the situation and turning it into an extra credit problem.  It really motivated me to solve it (which took hours), but it was a lot of fun.&lt;/p&gt;&#xA;" OwnerUserId="4807" LastActivityDate="2011-04-23T21:15:40.220" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="6224" PostTypeId="2" ParentId="6201" CreationDate="2011-04-23T23:41:03.730" Score="4" Body="&lt;p&gt;I'm a TA.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think you should &quot;Obsess on the problem until you solve it&quot;. Afterwards, simplify it such that parts of it or hints can be handed out. As one example, the simplification step could be to divide the problem into small subproblems  and these subproblems can be then be given as subquestions to the original. For your example-question that could be as simple as &quot;reduce the problem to another O(n)-problem that we have just taught you how to solve&quot; and &quot;prove that it is a linear time reduction&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;With programming exercises there can often be some boilerplate that they wont learn that much from, which can be handed out as skeleton-code. On an Operating Systems class we recently posed the assignment &quot;Implement a FAT32 driver in your kernel&quot; (which they had created over the previous course-assignments). That required way more code than we expected, so we handed out a lot of code handling FAT access, that actually made some students do it. Such a huge assignment was of course an error, so next year we will probably try with ext2 or MINIX. Those who did the majority of the assignment really enjoyed that it was a realistic file system which they themselves had used. Those who only did parts of it (e.g. only just realised they had to endian-conversion) also got it approved.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So my suggestions are: Hand out subquestions, hints and skeletons. Be lenient when correcting.&lt;/p&gt;&#xA;" OwnerUserId="4809" LastActivityDate="2011-04-23T23:41:03.730" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6225" PostTypeId="1" AcceptedAnswerId="6230" CreationDate="2011-04-24T00:00:18.107" Score="6" ViewCount="342" Body="&lt;p&gt;In &quot;standard&quot; error reduction with an expander, if a randomize algorithm uses $n^d$ random bits, we need $n^d+O(n)$ random bits to achieve $2^{-O(n)}$ error probability.&#xA;Now, if the algorithm has a good error probability to begin with, say 1/n, without expanders we need to run it only O(n/log n) times to achieve the same error and use $n^d\times O(n/\log n)$ random bits.&#xA;If I'm correct with expanders it doesn't help (beside a little in the first step), meaning we still need $n^d+O(n)$ random bits.&#xA;There exist some method, such that a good algorithm does have an affect on it (uses say $n^d+O(n/\log n)$ random bits)? There exist some barrier for achieving such a result?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;*The question refers to the randomized algorithm in a black-box manner. &lt;/p&gt;&#xA;" OwnerUserId="364" LastEditorUserId="567" LastEditDate="2011-04-24T05:13:17.537" LastActivityDate="2019-01-24T02:30:13.317" Title="Error reduction with expanders and derandomization" Tags="&lt;cc.complexity-theory&gt;&lt;randomness&gt;&lt;derandomization&gt;&lt;expanders&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6226" PostTypeId="2" ParentId="6201" CreationDate="2011-04-24T07:06:15.250" Score="28" Body="&lt;p&gt;Yes, sadly, I've done this several times, as well as the &lt;em&gt;slightly&lt;/em&gt; more forgivable sin of assigning a problem that I &lt;em&gt;can&lt;/em&gt; solve, but only later realizing that the solution requires tools that the students haven't seen.  I think the following is the most professional response (at least, it's the response I've settled on after several false starts):&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Immediately and publicly admit the mistake.  Explain steps 2 and 3.&lt;/li&gt;&#xA;&lt;li&gt;Give every student full credit for the problem.  Yes, even if they submit nothing.&lt;/li&gt;&#xA;&lt;li&gt;Grade all submitted solutions normally, but award the resulting points as extra credit.  In particular, give the usual partial credit for partial solutions.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;The first point is both the hardest and the most important.  If you try to cover your ass, you will lose the respect and attention of your students (who are not stupid), which means they won't try as hard, which means they won't learn as well, which means you haven't done your job.  I don't think it's fair to let students twist in the wind with questions I honestly don't think they can answer without some advance warning.  (I regularly include open questions as homework problems in my advanced grad classes, but I warn the students at the start of the semester.)  &lt;em&gt;Educational&lt;/em&gt;, sure, but not fair.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's sometimes useful to give hints or an outline (as @james and @Martin suggest) to make the problem more approachable; otherwise, almost nobody will even try.  Obviously, this is only possible if you figure out the solution first.  On the other hand, sometimes it's appropriate for nobody to even try.  (For example, &quot;Describe a polynomial-time algorithm for X&quot; when X is NP-hard, or if the setting is a timed exam.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you still can't solve the problem yourself after sweating buckets over it, relax.  Probably none of the students will solve it either, but if you're lucky, you'll owe someone a &lt;strong&gt;LOT&lt;/strong&gt; of extra credit and a recommendation letter.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;And if you later realize the solution is easy after all, well, I guess you screwed up twice.  Go to step 1.&lt;/p&gt;&#xA;" OwnerUserId="111" LastActivityDate="2011-04-24T07:06:15.250" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6227" PostTypeId="1" CreationDate="2011-04-24T07:09:13.617" Score="1" ViewCount="193" Body="&lt;p&gt;What is the lowest known lower-bound on the number of NAND gates needed in order to perform an arbitrary deterministic computation with a fixed length input and output?&lt;/p&gt;&#xA;" OwnerUserId="2750" LastEditorUserId="186" LastEditDate="2011-04-24T14:51:19.587" LastActivityDate="2011-04-24T14:51:19.587" Title="Circuit lower bound for NAND based arbitrary deterministic computation" Tags="&lt;cc.complexity-theory&gt;&lt;lower-bounds&gt;&lt;circuit-complexity&gt;" AnswerCount="0" CommentCount="4" ClosedDate="2011-04-24T14:50:13.830" ContentLicense="CC BY-SA 3.0" />
  <row Id="6228" PostTypeId="2" ParentId="6218" CreationDate="2011-04-24T11:16:45.810" Score="10" Body="&lt;p&gt;As Tsuyoshi points out in the comments, there are a number of such bounds. However, for the sake of actually giving you an answer, let me point you to the &lt;a href=&quot;http://en.m.wikipedia.org/wiki/Singleton_bound&quot; rel=&quot;noreferrer&quot;&gt;Singleton bound&lt;/a&gt;, which states that for a $(s,N,d)$-code over $\mathbb{F}_b$ that $N\leq b^{s-d+1}$.&lt;/p&gt;&#xA;" OwnerUserId="204" LastEditorUserId="204" LastEditDate="2011-04-24T19:45:19.697" LastActivityDate="2011-04-24T19:45:19.697" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="6230" PostTypeId="2" ParentId="6225" CreationDate="2011-04-24T16:41:37.233" Score="7" Body="&lt;p&gt;You can't expect this to be true since you can reduce the error of a constant-error algorithm to &lt;span class=&quot;math-container&quot;&gt;$1/n$&lt;/span&gt; using an additional &lt;span class=&quot;math-container&quot;&gt;$O(\log n)$&lt;/span&gt; bits using expanders (and by the way you don't really need even these extra bits to do that). So if an error of &lt;span class=&quot;math-container&quot;&gt;$1/n$&lt;/span&gt; can go down to &lt;span class=&quot;math-container&quot;&gt;$\exp(-n)$&lt;/span&gt; error using only &lt;span class=&quot;math-container&quot;&gt;$O(n/\log n)$&lt;/span&gt; additional bits, then you could always go from constant error to &lt;span class=&quot;math-container&quot;&gt;$\exp(-n)$&lt;/span&gt; error using &lt;span class=&quot;math-container&quot;&gt;$O(\log n)+O(n/\log n)=O(n/\log n)$&lt;/span&gt;.  &lt;/p&gt;&#xA;" OwnerUserId="42" LastEditorDisplayName="user30448" LastEditDate="2019-01-24T02:30:13.317" LastActivityDate="2019-01-24T02:30:13.317" CommentCount="1" ContentLicense="CC BY-SA 4.0" />
  <row Id="6232" PostTypeId="2" ParentId="5779" CreationDate="2011-04-24T18:32:30.683" Score="4" Body="&lt;p&gt;I can't comment on the answer of &lt;a href=&quot;https://cstheory.stackexchange.com/users/612/machinecharmer&quot;&gt;MachineCharmer&lt;/a&gt;. Citations have a bias to older papers. You can't learn the state of the art by those.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would start by some recent prestigious conferences/journals (FOCS, STOC, or whatever is relevant) and I would try to find relevant papers. It also helps to take a look at the most recent papers of researchers in this area.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Choose one paper that is relevant. Print it. Take your pencil and go to an isolated environment. Start reading by noting everything that you think it's important. During the discussion of the subject, you will encounter references which explain some theorems/previous work/ideas/etc. Go back to the references section and note why this reference seems useful. When you have read the initial paper, make a list of what's next and why. Repeat as necessary.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;That's what I do as a student. Most likely, a professor could also ask some of his/her colleagues (or here) in order to find an initial point.&lt;/p&gt;&#xA;" OwnerUserId="401" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2011-04-24T18:32:30.683" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6233" PostTypeId="2" ParentId="6218" CreationDate="2011-04-24T21:14:26.747" Score="9" Body="&lt;p&gt;You may also want to look at &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=1097468&quot; rel=&quot;nofollow&quot;&gt;Delsarte's linear programming bound&lt;/a&gt;, and the &lt;a href=&quot;http://en.wikipedia.org/wiki/Gilbert%E2%80%93Varshamov_bound&quot; rel=&quot;nofollow&quot;&gt;Gilbert-Varshamov bound&lt;/a&gt;. The linear programming bound gives a lower bound on the number of redundant bits necessary. The Gilbert-Varshamov bound gives a non-constructive (randomized) upper bound on the number of redundant bits required.&lt;/p&gt;&#xA;" OwnerUserId="1677" LastActivityDate="2011-04-24T21:14:26.747" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="6234" PostTypeId="1" CreationDate="2011-04-24T21:34:22.127" Score="1" ViewCount="333" Body="&lt;p&gt;How kerberos key distribution protocol prevents replay attack ?&lt;/p&gt;&#xA;" OwnerUserId="2252" LastEditorUserId="1800" LastEditDate="2011-04-25T01:06:39.903" LastActivityDate="2011-04-25T01:06:39.903" Title="How kerberos key distribution protocol prevents replay attack ?" Tags="&lt;cr.crypto-security&gt;&lt;cryptographic-attack&gt;" AnswerCount="0" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="6235" PostTypeId="2" ParentId="5999" CreationDate="2011-04-25T02:20:55.860" Score="2" Body="&lt;p&gt;you may want to look at Klein's planar subset spanner, which preserves distances up to a 1+epsilon factor.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A Subset Spanner for Planar Graphs, with Application to Subset TSP&#xA;&lt;a href=&quot;http://doi.acm.org/10.1145/1132516.1132620&quot; rel=&quot;nofollow&quot;&gt;http://doi.acm.org/10.1145/1132516.1132620&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="4821" LastActivityDate="2011-04-25T02:20:55.860" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="6236" PostTypeId="1" CreationDate="2011-04-25T03:10:39.877" Score="4" ViewCount="426" Body="&lt;p&gt;suppose we have data matrix A m-by-n (&lt;strong&gt;m&lt;/strong&gt; observations and &lt;strong&gt;n&lt;/strong&gt; features) which I want to Apply SVM on it achieving &lt;strong&gt;privacy (Privacy-Preserving SVM)&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;the questions are:-&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1 - Is applying kernel trick considered as &lt;strong&gt;Privacy-Preserving SVM&lt;/strong&gt;?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2 - Is converting the data matrix into D = A.Transpose[A] and learning from *&lt;em&gt;D m-by-m *&lt;/em&gt; considered as Applying a kernel?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;thnq .. :)&lt;/p&gt;&#xA;" OwnerUserId="2713" LastEditorUserId="80" LastEditDate="2011-04-25T16:07:22.037" LastActivityDate="2011-04-25T16:07:22.037" Title="Support Vector Machines and privacy-preservation" Tags="&lt;cr.crypto-security&gt;&lt;machine-learning&gt;&lt;privacy&gt;&lt;svm&gt;" AnswerCount="2" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="6237" PostTypeId="2" ParentId="1168" CreationDate="2011-04-25T05:08:34.853" Score="10" Body="&lt;p&gt;This is a classic!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://dx.doi.org/10.1109/SFCS.1977.24&quot;&gt;Probabilistic Computations: Toward a Unified Measure of Complexity&lt;/a&gt;. Andrew Yao. FOCS'77.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here Yao gives his famous Minmax principle. I read it and is so easy to read and fun. And the proof is just beautiful and the result amazing.&lt;/p&gt;&#xA;" OwnerUserId="135" LastActivityDate="2011-04-25T05:08:34.853" CommentCount="0" CommunityOwnedDate="2011-04-25T05:08:34.853" ContentLicense="CC BY-SA 3.0" />
  <row Id="6240" PostTypeId="2" ParentId="6236" CreationDate="2011-04-25T12:18:01.940" Score="6" Body="&lt;p&gt;Before giving some detail, I'll briefly say: regarding (1), kernel trick is basically the worst thing for privacy, and regarding (2), you have replaced each vector with a vector of kernel products (via the linear kernel), and this is non-equivalent to replacing inner products with kernel products inside the algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some background on (1) for those who asked.  Suppose you want to learn a linear predictor; among those consistent with the data (i.e. correct on all examples), which do you choose?  The SVM solution is to pick the one which maximizes the minimum distance to any example (maximizes the 'margin').  In the case that no consistent predictor exists, small penalization is assigned to margin violations (learning the best linear predictor, in the presence of noise, is NP-hard).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;now say your data is a set of records for some group of people (for instance, each &quot;point&quot; is a vector of medical parameters for some person).  You want to release a predictor (say, a website where someone can put in some info and see if they have some disease or not), but don't want anyone to be able to reconstruct properties of the people in your data set.  Here's an example; let's say I know someone is the only person in some remote part of saskatchewan, and I want to see if they were used to learn this predictor.  And say, one of the attributes in the web form is location.  For privacy ignorant algorithms, I can see how sensitive the algorithm is to queries with this personal data, and infer things about the person in question (for instance, if saying I'm from remote-part-of-saskatchewan but varying all other parameters always says I have the disease (and the answer is sensitive to location), that means that guy has the disease).  Said another way, if I know some unique characteristics of a person, I can see how the algorithm reacts to them in order to determine other properties of that person.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Anyway, here's why the kernel trick is the worst thing for this.  The kernel trick just means you store your predictor as&#xA;$$&#xD;&#xA;p(x) = \sum_{i=1}^m a_ik(v_i, x),&#xD;&#xA;$$&#xA;where $\{v_i\}_1^m$ are your support vectors.  This means the predictor for any kernelized linear classifier (not just SVM) will explicitly store a set of records!  Therefore, if you manage to plug in a support vector for $x$, you can&#xA;expect it to strongly affect the value of the predictor.  Going back to the remote-part-of-saskatchewan example, suppose the kernel is gaussian, and you fix all other parameters, and see the effect of the saskatchewan input.  Since distances are all huge in high dimension, that means, if the guy is in the dataset, the predictor value will be strongly affected by matching the remote-part-of-saskatchewan fields or not.  Thinking geometrically, each support vector plops a gaussian in the space (color them white or black based on their label), and if this guy is really the only person in that remote part of saskatchewan (and if he was a support vector), that means his gaussian will basically entirely control the value of the predictor.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT. I should say that research in privacy preserving learning is all about taking privacy-ignorant algorithms and making them output privacy-secure predictors.  There are definitely strategies to make kernelized algorithms more privacy preserving--for instance, don't let any region of the space be &quot;covered&quot; by just one support vector (some sort of smoothness condition, i.e. how much the predictor is affected by removing or adding in this example); this in turn usually means.. have TONS of support vectors.  Another strategy is to inject perturbations in places, but notice this is delicate--if you just perturb this saskatchewan record, it is still basically the only gaussian in that region of space, so you've done nothing.  Anyway all I am saying is that kernelized algorithms are a difficult starting point for privacy preservation.  (and the &quot;have TONS of support vectors parts&quot; starts to mitigate the benefits of the kernel trick..)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;About (2).. let $A$ contain all points as columns; a linear predictor can be written as&#xA;$$&#xD;&#xA;p(x) = x^\top Av&#xD;&#xA;$$&#xA;where $v$ is a vector of weights (in the linear case, you can &quot;compress&quot; this and just keep weights $w=Av$ around).  (to be explicit, you also check the predicate $p(x)\geq 0$.)  In your case, you have replaced $A$ with $AA^\top$, and also you must map any input vector $x$ to $Ax$, thus your predictor is&#xA;$$&#xD;&#xA;p&amp;#39;(Ax) = x^\top A^\top AA^\top v&amp;#39;.&#xD;&#xA;$$&#xA;For general matrices $A$, it is possible that some choice $v$ does not have a choice $v&amp;#39;$ which makes these equivalent...... thus, this is not the same as simply &quot;kernelizing&quot; the algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;That said, it is reasonable to replace your data with kernel products in this way, but that is a feature selection issue; i've attempted to discuss the math part...........&lt;/p&gt;&#xA;" OwnerUserId="336" LastEditorUserId="336" LastEditDate="2011-04-25T12:26:36.400" LastActivityDate="2011-04-25T12:26:36.400" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6241" PostTypeId="2" ParentId="6236" CreationDate="2011-04-25T15:05:50.590" Score="6" Body="&lt;p&gt;Well, it is important to specify what exactly you mean by &quot;privacy&quot;. If you want a formal guarantee that no attacker will be able to learn very much about any individual, even given the output of your SVM, your best bet is probably to try and guarantee &quot;&lt;a href=&quot;http://research.microsoft.com/apps/pubs/default.aspx?id=116123&quot;&gt;differential privacy&lt;/a&gt;&quot;. This is a strong formal guarantee that the distribution output by your learning algorithm is insensitive to any individual datapoint in your training set. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Luckily for you, it is known how to train SVMs while preserving differential privacy. Here are the two papers you might be interested in:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&quot;&lt;a href=&quot;http://arxiv.org/abs/0912.0071&quot;&gt;Differentially Private Empirical Risk Minimization&lt;/a&gt;&quot; by Chaudhuri, Monteleoni, and Sarwate and...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&quot;&lt;a href=&quot;http://arxiv.org/abs/0911.5708&quot;&gt;Learning in a Large Function Space: Privacy-Preserving Mechanisms for SVM Learning&lt;/a&gt;&quot; by Rubinstein, Bartlett, Huang, and Taft.&lt;/p&gt;&#xA;" OwnerUserId="25" LastActivityDate="2011-04-25T15:05:50.590" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6242" PostTypeId="2" ParentId="6199" CreationDate="2011-04-25T17:54:23.167" Score="1" Body="&lt;p&gt;What about &lt;a href=&quot;http://en.wikipedia.org/wiki/Tree_automaton&quot; rel=&quot;nofollow&quot;&gt;minimal tree automata&lt;/a&gt;?&lt;/p&gt;&#xA;" OwnerUserId="609" LastActivityDate="2011-04-25T17:54:23.167" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6243" PostTypeId="1" AcceptedAnswerId="6246" CreationDate="2011-04-25T19:12:33.690" Score="6" ViewCount="337" Body="&lt;p&gt;In paper &lt;em&gt;Approximation Algorithms for the Chromatic Sum&lt;/em&gt;, page 18, authors state that based on the fact that the Graph Coloring problem is hard to approximate with a ratio less than 2 (under the assumption of $P \neq NP$), it's easy to show that for any constant $k$, there is no approximate algorithm $A$ to Graph Coloring such that $\chi(G) \leq A(G) \leq \chi(G) + k$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But i can't see how to show/prove this. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;As i see, it isn't so direct, because for any $k$, there are graphs such that $\chi(G) \leq k$, so for them $\chi(G) + k \geq 2 \cdot \chi(G)$ and it would be $(2 + \epsilon)$-approximative, for some $\epsilon \geq 0$, for these graphs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So i'm asking for some help/advice on how to show/prove this.&lt;/p&gt;&#xA;" OwnerUserId="52" LastEditorUserId="52" LastEditDate="2011-04-25T20:13:55.220" LastActivityDate="2011-04-25T20:41:18.577" Title="Hardness of additive approximation to Graph Coloring problem." Tags="&lt;approximation-algorithms&gt;&lt;approximation-hardness&gt;&lt;graph-colouring&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="6245" PostTypeId="2" ParentId="6243" CreationDate="2011-04-25T20:34:45.087" Score="2" Body="&lt;p&gt;It is easy to show hardness of additive approximation based on nonconstant multiplicative inapproximability bounds, which are known.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My guess is that they were thinking of the following construction: starting from a graph G that is hard to color, replace every vertex by a k-clique. If it were true that this replacement multiplies the chromatic number by k, then it would be hard to find an additive approximation to the coloring of the larger graph. But, it's not true; e.g. C5 requires three colors but 2xC5 requires only five, not six.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2011-04-25T20:34:45.087" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6246" PostTypeId="2" ParentId="6243" CreationDate="2011-04-25T20:41:18.577" Score="11" Body="&lt;p&gt;Let $G$, with $\chi(G) \geq 3$ (otherwise you have an exact algorithm).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now construct a graph $H$ consisting of $k$ copies $G_1,\ldots,G_k$ of $G$, with all possible edges between $u$ and $v$ for $u \in G_i$, $v \in G_j$, $i\not=j$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now use the additive constant algorithm for the graph $H$, which will find a coloring of, at most, $k\cdot\chi(G) + k$ colors. Since the colors in each copy of $G$ will be distinct, by the Pigeonhole principle, you have one of the copies with at most $\chi(G)+1$ distinct colors, which is better than a 2-approximation.&lt;/p&gt;&#xA;" OwnerUserId="282" LastActivityDate="2011-04-25T20:41:18.577" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6247" PostTypeId="1" AcceptedAnswerId="6251" CreationDate="2011-04-25T20:59:12.580" Score="2" ViewCount="236" Body="&lt;p&gt;Some models of computation are universal in the sense they can compute any arbitrary computable function $f:\mathbb{N} \rightarrow \mathbb{N}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Other models are universal only as far as the input and output are encoded:&lt;br /&gt;&#xA;$\exists$ a set $A$ such that $\forall$ computable functions $f:\mathbb{N} \rightarrow \mathbb{N}$ the model can compute a function $f&amp;#39;:A \rightarrow A$, such that $\forall n \in \mathbb{N},\ f(n)\ = \ d(f&amp;#39;(e(n)))$, for some encoding and decoding functions:&lt;br /&gt;&#xA;$e:\mathbb{N} \rightarrow A$&lt;br /&gt;&#xA;$d:A \rightarrow \mathbb{N}$&lt;br /&gt;&#xA;with suitable constraints on the computability (and possibly the complexity) of these functions.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;What are the names for these two types of universality?&lt;/li&gt;&#xA;&lt;li&gt;Is there any further relevant distinction to be made?&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;If I understand correctly, there are proofs of universality of systems, such as the &lt;a href=&quot;http://en.wikipedia.org/wiki/Wolfram%27s_2-state_3-symbol_Turing_machine&quot; rel=&quot;nofollow&quot;&gt;Wolfram's 2-state 3-symbol Turing machine&lt;/a&gt; which are controversial because of subtleties regarding enconding.&lt;/p&gt;&#xA;" OwnerUserId="1749" LastEditorUserId="186" LastEditDate="2011-04-26T01:18:07.210" LastActivityDate="2011-04-26T04:07:03.037" Title="Terminology for types of universal computation" Tags="&lt;reference-request&gt;&lt;computability&gt;&lt;turing-machines&gt;&lt;terminology&gt;&lt;universal-computation&gt;" AnswerCount="1" CommentCount="6" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="6250" PostTypeId="1" CreationDate="2011-04-26T01:59:52.410" Score="1" ViewCount="138" Body="&lt;p&gt;I would like to ask on the number of different drawings of the unit distance representation of a graph, found through a semidefinite program (see www.cs.elte.hu/~lovasz/semidef.ps , p. 20-22). Since we find the Gram matrix, there should be not just one unique unit distance representation having the SAME dimension and SAME radius of course (after analyzing the Gram matrix in vectors, since one Gram matrix may give many pairs of matrices multiplied together). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, do we have any information on a bound of the possible different drawings of a graph obtained by this SDP? Is it polynomial for example? Thanks&lt;/p&gt;&#xA;" OwnerUserId="3139" LastActivityDate="2011-04-26T01:59:52.410" Title="Unit distance representation of a graph through Semidefinite Programming" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;semidefinite-programming&gt;" AnswerCount="0" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="6251" PostTypeId="2" ParentId="6247" CreationDate="2011-04-26T02:01:31.540" Score="4" Body="&lt;p&gt;The key words you should search for are &quot;naming systems&quot;, &quot;representation&quot;, &quot;notation&quot;, &quot;numbering&quot;, ...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The usual concepts of computability are defined over strings (either unary which is usually stated as $\mathbb{N}$ or binary which is state as computability over $\Sigma^*$ where $\Sigma = \{ 0,1 \} $). (They can be extended to $\Sigma^\omega$ but here I will stick to the countable case.) A model of computation is called universal if it is Turing-complete (i.e. it can compute any Turing computable function).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we want to talk about computability over other sets, then we need a naming system. A naming system for $M$ is a partial function from $\Sigma^*$ onto $M$. If we have two sets $Y$ and $M$, and a naming system for each of them, then we can talk about computability of functions from $Y$ to $M$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;One can define a partial order over naming systems of a set $M$. $\gamma \leq \gamma&amp;#39;$ iff some computable function can translate $\gamma$-names of objects in $M$ to $\gamma&amp;#39;$-names of them.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let me give a simple example. Assume that $M$ is the set of Turing machines, and $\gamma$ is one of the common ways of encoding Turing machines as explained in computability/complexity books. Let $\gamma&amp;#39;$ be defined by adding a bit to the names telling if the corresponding TM halts. Then $\gamma&amp;#39;$-names can be translated to $\gamma$-names by a computable function but not vice versa. $\gamma&amp;#39;$-names contain more information. If fact, we we can solve the halting problem for Turing machines if we use $\gamma&amp;#39;$ as our encoding.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Obviously we don't want to have non-computable information coded inside the names of objects as above, so we use names which have the least amount of information in computability (assuming that they exist). (In complexity, the complexity of a problem can depend on the naming system that is used for the inputs, and different naming systems can be more suitable for different purposes. There is no least if we change the requirement for translation from being computable to say poly-time computable as is shown by padding arguments.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;After defining the computability over other sets using naming systems, one can talk about a universal model of computation over them w.r.t. fixed naming systems.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, if the names in a naming system contain non-trivial information, then it is not very interesting for a machine to be universal w.r.t. that naming system anymore.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For further information:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Yuri L. Ershov, Sergei S. Goncharov, Anil Nerode, &quot;Handbook of Recursive Mathematics&quot;, vol I and II, 1998&lt;/li&gt;&#xA;&lt;li&gt;Klaus Weihrauch, &quot;Computable Analysis&quot;, 2000&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2011-04-26T04:07:03.037" LastActivityDate="2011-04-26T04:07:03.037" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="6252" PostTypeId="2" ParentId="1168" CreationDate="2011-04-26T02:50:06.720" Score="13" Body="&lt;p&gt;&lt;a href=&quot;https://academic.oup.com/comjnl/article/6/4/308/375725&quot; rel=&quot;nofollow noreferrer&quot;&gt;The mechanical evaluation of expressions&lt;/a&gt; by Peter J. Landin&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Introduced:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;the lambda calculus as a basis for defining a programming language,&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;abstract syntax,&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;the idea of meta-language to explain other languages,&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;imperative constructs to the lambda calculus.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="2219" LastEditorUserId="52022" LastEditDate="2020-02-15T16:45:27.577" LastActivityDate="2020-02-15T16:45:27.577" CommentCount="0" CommunityOwnedDate="2011-04-26T02:50:06.720" ContentLicense="CC BY-SA 4.0" />
  <row Id="6253" PostTypeId="1" AcceptedAnswerId="6254" CreationDate="2011-04-26T04:13:51.497" Score="24" ViewCount="4247" Body="&lt;p&gt;Have you come across an occasion like that in the past? Well, there is a possibility for everything but I would like to know how realistic this incidence can be. I am referring to serious mistakes altering the target of the paper and not minor mistakes, of course. Thanks&lt;/p&gt;&#xA;" OwnerUserId="3139" LastEditorUserId="186" LastEditDate="2011-04-26T05:28:40.953" LastActivityDate="2011-04-27T09:05:34.937" Title="Major mistakes in accepted FOCS/STOC papers" Tags="&lt;soft-question&gt;&lt;big-list&gt;&lt;paper-review&gt;" AnswerCount="1" CommentCount="14" FavoriteCount="7" ClosedDate="2011-04-27T16:39:00.343" CommunityOwnedDate="2011-04-26T05:15:52.453" ContentLicense="CC BY-SA 3.0" />
  <row Id="6254" PostTypeId="2" ParentId="6253" CreationDate="2011-04-26T06:40:09.047" Score="10" Body="&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;One case is Blum-Feldman-Micali's &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=62222&quot; rel=&quot;nofollow noreferrer&quot;&gt;STOC '88 paper&lt;/a&gt;. The flaw was pointed to them by Mihir Bellare (private communication). You can find the relevant discussion &lt;a href=&quot;https://cstheory.stackexchange.com/q/2121/873&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The &lt;em&gt;Petri net reachability&lt;/em&gt; problem has a rich history where incomplete or flawed proofs later lead to new results.  G.S. Sacerdote and R.L. Tenney presented an incomplete decidability proof at &lt;a href=&quot;http://dx.doi.org/10.1145/800105.803396Z&quot; rel=&quot;nofollow noreferrer&quot;&gt;STOC '77&lt;/a&gt;, which was however instrumental in the later proof of E.W. Mayr at &lt;a href=&quot;http://dx.doi.org/10.1145/800076.802477&quot; rel=&quot;nofollow noreferrer&quot;&gt;STOC '81&lt;/a&gt; and its improvement by S.R. Kosaraju at &lt;a href=&quot;http://dx.doi.org/10.1145/800070.802201&quot; rel=&quot;nofollow noreferrer&quot;&gt;STOC '82&lt;/a&gt;.  These decidability proofs did not come with complexity upper bounds (they employ &lt;a href=&quot;http://en.wikipedia.org/wiki/Well-quasi-ordering&quot; rel=&quot;nofollow noreferrer&quot;&gt;well quasi-orderings&lt;/a&gt; for termination).  Z. Bouziane later claimed to have found a 2ExpSpace algorithm at &lt;a href=&quot;http://dx.doi.org/10.1109/SFCS.1998.743436&quot; rel=&quot;nofollow noreferrer&quot;&gt;FOCS '98&lt;/a&gt;.  A flaw was pointed by P. Jančar (and finally published in a &lt;a href=&quot;http://dx.doi.org/10.1016/j.ic.2008.06.003&quot; rel=&quot;nofollow noreferrer&quot;&gt;note&lt;/a&gt;), but Bouziane's work has helped renewing the interest into this old question.  Although there are still no known upper bounds on the complexity of this problem, J. Leroux has recently presented a new decidability proof at &lt;a href=&quot;http://dx.doi.org/10.1145/1926385.1926421&quot; rel=&quot;nofollow noreferrer&quot;&gt;POPL '11&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Not in STOC/FOCS:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Another case happened in Structure in Complexity Theory (1988) conference (If I'm not mistaken, it's now called Conference on Computational Complexity.) The paper's title was &lt;a href=&quot;http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=5275&quot; rel=&quot;nofollow noreferrer&quot;&gt;On the power of multi-power interactive protocols&lt;/a&gt;. Two years later, the authors (Fortnow, Rompel, and Sipser) published a two-page paper &quot;Errata for On the Power of Multi-Prover Interactive Protocols&quot; in the same conference. Unfortunately, IEEE does not offer this paper for download.&lt;/p&gt;&#xA;" OwnerUserId="873" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2011-04-27T09:05:34.937" CommentCount="10" CommunityOwnedDate="2011-04-26T06:40:09.047" ContentLicense="CC BY-SA 3.0" />
  <row Id="6255" PostTypeId="1" CreationDate="2011-04-26T08:46:36.210" Score="19" ViewCount="1266" Body="&lt;p&gt;It seems to be known that to find an answer to a query &lt;span class=&quot;math-container&quot;&gt;$Q$&lt;/span&gt; over a relational database &lt;span class=&quot;math-container&quot;&gt;$D$&lt;/span&gt;, one needs time &lt;span class=&quot;math-container&quot;&gt;$|D|^{|Q|}$&lt;/span&gt;, and one cannot get rid of the exponent &lt;span class=&quot;math-container&quot;&gt;$|Q|$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;p&gt;As &lt;span class=&quot;math-container&quot;&gt;$D$&lt;/span&gt; can be very large, we wonder why databases work at all in practice.&lt;/p&gt;&#xA;&lt;p&gt;Is it just a matter of the usual queries not being large at all in the real-world applications? (Then it is interesting to know what the usual size of the queries posed to relational database systems is, and &lt;a href=&quot;https://stackoverflow.com/questions/6087275/what-is-the-maximal-size-complexity-of-a-db-query-that-is-tractable-in-practi&quot;&gt;what the &amp;quot;maximal&amp;quot; size of the queries that are expected to be effectively answerable by a DB system in practice is&lt;/a&gt;.)&lt;/p&gt;&#xA;&lt;h3&gt;Notes on the exponent &lt;span class=&quot;math-container&quot;&gt;$|Q|$&lt;/span&gt; not `removable'&lt;/h3&gt;&#xA;&lt;p&gt;To show that the exponent &lt;span class=&quot;math-container&quot;&gt;$|Q|$&lt;/span&gt; is not removable, one can use a query asking whether there exists a clique of size &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt; in the graph given by the database. To check whether a graph has an &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt;-clique is an NP-complete problem. Moreover, it is not fixed-parameter tractable, with parameter &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt;. Details can be found in, e.g., &lt;br /&gt;&#xA;Libkin, L.: Elements Of Finite Model Theory. Springer (2004)&lt;br /&gt;&#xA;or&lt;br /&gt;&#xA;Papadimitriou, C.H., Yannakakis, M.: On the complexity of database queries. J.&#xA;Comput. Syst. Sci. 58(3), 407–427 (1999)&lt;/p&gt;&#xA;" OwnerUserId="3551" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2014-11-24T09:43:52.083" Title="Why do relational databases work at all, given the theoretical exponential complexity of answer finding (in the size of the query)?" Tags="&lt;cc.complexity-theory&gt;&lt;time-complexity&gt;&lt;descriptive-complexity&gt;&lt;db.databases&gt;" AnswerCount="5" CommentCount="10" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="6256" PostTypeId="1" AcceptedAnswerId="6266" CreationDate="2011-04-26T09:04:34.080" Score="25" ViewCount="3558" Body="&lt;p&gt;As there was &lt;a href=&quot;http://lambda-the-ultimate.org/node/4232&quot;&gt;no response at Lambda the Ultimate&lt;/a&gt; I try it here again: &lt;em&gt;term rewriting systems&lt;/em&gt; are used for instance in automated theorem proving a symbolic calculation, and of course to define formal grammars. There are some programming languages based in term rewriting, but as far as I understand the concept is more known as &lt;em&gt;pattern matching&lt;/em&gt;. Pattern matching is used a lot in &#xA;functional languages. &lt;a href=&quot;http://lambda-the-ultimate.org/node/3695&quot;&gt;Barry Jay has created&lt;/a&gt; a whole theory called &lt;em&gt;pattern calculus&lt;/em&gt;, but he only mentions term rewriting in brief. I have the feeling that they all refer to the same basic idea, so can you use &lt;em&gt;term rewriting&lt;/em&gt; and &lt;em&gt;pattern matching&lt;/em&gt; synonymously?&lt;/p&gt;&#xA;" OwnerUserId="758" LastActivityDate="2014-11-04T16:32:01.903" Title="What's the difference between term rewriting and pattern matching?" Tags="&lt;pl.programming-languages&gt;&lt;terminology&gt;&lt;term-rewriting-systems&gt;" AnswerCount="3" CommentCount="0" FavoriteCount="11" ContentLicense="CC BY-SA 3.0" />
  <row Id="6257" PostTypeId="2" ParentId="6255" CreationDate="2011-04-26T12:19:34.283" Score="6" Body="&lt;p&gt;One can use queries Q_n to check whether a graph, represented as a database, contains a clique with n elements. To check whether a graph has a clique is an NP-complete problem. Moreover, it is not fixed-parameter tractable, with parameter n (which means D^n). &lt;/p&gt;&#xA;" OwnerUserId="4837" LastActivityDate="2011-04-26T12:19:34.283" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="6258" PostTypeId="2" ParentId="6256" CreationDate="2011-04-26T12:30:51.303" Score="11" Body="&lt;p&gt;I don't think it's correct to call them synonyms; there is some overlap in terms of research and implementation. I'm not familiar at all with Jay's work, and I'm only somewhat familiar with term rewriting systems, so I may be missing something too.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Pattern matching in general deals with the following problem: you have some structure (a tree or a list or a multiset) and you want to check whether the structure matches a pattern (or one of a number of patterns). This question is certainly relevant to term rewriting, because in term rewriting systems the fact that a term matches a pattern means that the term can be rewritten to a different term, but it's not synonymous term rewriting. (There may be a formulation of pattern matching as rewriting: &quot;Given a term, can you rewrite it to match pattern?&quot; but I've never seen this.) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Pattern matching in a functional programming language has a logical interpretation in terms of focusing (see &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=1480927&quot;&gt;Krishnaswami's &quot;Focusing on Pattern Matching&quot;&lt;/a&gt;, for example). Term rewriting systems, on the other hand, often do matching modulo some equational properties, which isn't present in most functional programming languages (you can't match against a multiset in ML or Haskell). There's no fundamental reason why matching modulo equational properties shouldn't be present in functional languages, however. &lt;/p&gt;&#xA;" OwnerUserId="1024" LastActivityDate="2011-04-26T12:30:51.303" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="6259" PostTypeId="2" ParentId="6192" CreationDate="2011-04-26T13:51:51.633" Score="1" Body="&lt;p&gt;The following suggestion may speed up your solution if you need to answer queries for many different words.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Define the set $U_i^w$ to be a set of pairs $(v, A)$ where $A \subseteq V$ and $v$ is reached by some vertex in $A$ after traversing the first $i$ labels of the word $w$.  Then to check if $w$ forms a cycle in the graph, loop through all $(v, A) \in U_{|w|}^w$ and if ever $v \in A$, then a cycle does exist.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that if the first $i$ elements of $w$ and $w&amp;#39;$ are the same, then $U_i^w = U_i^{w&amp;#39;}$.  Also, $U_0^w = \{(v, \{v \} ) | v \in V \} $.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As you process queries, dynamically construct a &lt;a href=&quot;http://en.wikipedia.org/wiki/Trie&quot; rel=&quot;nofollow&quot;&gt;trie&lt;/a&gt; such that each node (including the inner nodes) stores $U_i^w$ for some $i$ and $w$.  This way, if $w$ and $w&amp;#39;$ have the same first $k$ elements and $w$ is processed before $w&amp;#39;$, then $U_k^{w&amp;#39;}$ can be quickly retrieved by traversing the first $k$ nodes of the trie.&lt;/p&gt;&#xA;" OwnerUserId="4765" LastActivityDate="2011-04-26T13:51:51.633" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="6260" PostTypeId="2" ParentId="6255" CreationDate="2011-04-26T15:23:14.307" Score="16" Body="&lt;p&gt;There are large classes of queries which are &quot;easy&quot;, even in the worst case.  In particular, if the class of queries contains conjunctive queries only and each query has bounded width (for instance treewidth, treewidth of its incidence graph, fractional hypertree width, or submodular width) then the query can be answered by using something like a join tree, together with brute force enumeration for the local parts of the query that deviate from the tree.  This requires polynomial time, with the degree of the polynomial determined by the width parameter.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It seems that many queries encountered in practice are both conjunctive and have small width.  So the polynomial runtime has low degree in this case.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Dániel Marx presented a paper at STOC 2010 on submodular width recently, the full version of which includes a nice summary of the various notions of width and how the CSP formulation relates to the database formalism (the conference version lacks this).&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Dániel Marx, &lt;em&gt;Tractable hypergraph properties for constraint satisfaction and conjunctive queries&lt;/em&gt;, 2010. arxiv:&lt;a href=&quot;http://arxiv.org/abs/0911.0801&quot;&gt;0911.0801&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;This is not a complete answer, since it does not deal with the &quot;typical&quot; complexity of database queries, but even with worst-case analysis there are easy queries.&lt;/p&gt;&#xA;" OwnerUserId="109" LastEditorUserId="109" LastEditDate="2011-04-26T21:42:41.867" LastActivityDate="2011-04-26T21:42:41.867" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6261" PostTypeId="1" CreationDate="2011-04-26T15:48:44.267" Score="4" ViewCount="181" Body="&lt;p&gt;Let $(X,d)$ be a metric space, and define $\rho$ to be the largest distance of any $x\in X$ to its nearest neighbor.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Formally,&#xA;$$ \rho = \sup_{x \in X}~ d(x, X \setminus \{x\}). $$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does this quantity have a name? It's zero in continuous spaces and is only interesting in discrete ones.&lt;/p&gt;&#xA;" OwnerUserId="1746" LastEditorUserId="80" LastEditDate="2011-04-26T16:58:03.203" LastActivityDate="2011-04-26T17:47:45.717" Title="Need a term for a graph-theoretic/metric concept" Tags="&lt;terminology&gt;&lt;metric-spaces&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="6263" PostTypeId="2" ParentId="6261" CreationDate="2011-04-26T17:47:45.717" Score="2" Body="&lt;p&gt;Sloan calls this the &quot;covering radius&quot; when distributing points on a sphere.  &lt;a href=&quot;http://www2.research.att.com/~njas/coverings/&quot; rel=&quot;nofollow&quot;&gt;http://www2.research.att.com/~njas/coverings/&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="4377" LastActivityDate="2011-04-26T17:47:45.717" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6266" PostTypeId="2" ParentId="6256" CreationDate="2011-04-26T20:28:30.137" Score="26" Body="&lt;p&gt;One way of looking at these two concepts is to say that pattern matching is &lt;i&gt;a feature of programming languages&lt;/i&gt; for combining discrimination on constructors and destructing terms (while at the same time selecting and locally naming term fragments) safely, compactly and efficiently. Research on pattern matching typically focusses on implementation efficiency, e.g. on how to minimise the number of comparisons the matching mechanism has to do. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In contrast, term rewriting is a general &lt;i&gt;model of computation&lt;/i&gt; that investigates a wide range of (potentially non-deterministic) methods of replacing subterms of syntactic expressions (more precisely an element of a term-algebra over some set of variables) with other terms. Research on term rewriting systems is usually about abstract properties of rewriting systems such as confluence, determinism and termination, and more specifically about how such properties are or are not preserved by algebraic operations on rewrite systems, i.e. to what extent these properties are compositional.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Clearly there are conceptual overlaps between both, and the distinction is to a degree traditional, rather than technical. A technical difference is that term rewriting happens under arbitrary contexts (i.e. a rule $(l, r)$ induces rewrites $C[l\sigma] \rightarrow C[r\sigma]$ for arbitrary contexts $C[.]$ and substitutions $\sigma$), while pattern matching in modern languages like Haskell, OCaml or Scala provides only for rewriting 'at the top' of a term. This restriction is also, I think, imposed in Jay's pattern calculus.&#xA;Let me explain what I mean by this restriction. With pattern matching in the OCaml, Haskell, Scala sense, you cannot say something like&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;match M with&#xA;   | C[ x :: _ ]  -&amp;gt; printf &quot;%i ...\n&quot; x&#xA;   | C[ [] ] -&amp;gt; printf &quot;[]&quot;&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;What is &lt;code&gt;C[.]&lt;/code&gt; here? It's supposed to be a&#xA;variable that ranges over one-holed contexts.  But languages like&#xA;OCaml, Haskell or Scala don't give programmers variables that&#xA;range over arbitrary (one-holed) contexts, only variables that range&#xA;over values.  In other words, in such languages you cannot pattern&#xA;match at an arbitrary position in a term. You always have to specify&#xA;the path from the root of the pattern to the parts that you are&#xA;interested in.  I guess the key reason for imposing this restriction&#xA;is that otherwise pattern matching would be non-deterministic, because&#xA;a term might match a pattern in more than one way. For example the&#xA;term &lt;code&gt;(true, [9,7,4], &quot;hello&quot;, 7)&lt;/code&gt; matches the&#xA;pattern &lt;code&gt;C[7]&lt;/code&gt; in two ways, assuming &lt;code&gt;C[.]&lt;/code&gt;&#xA;ranged over such contexts.&lt;/p&gt;&#xA;" OwnerUserId="898" LastEditorUserId="898" LastEditDate="2013-12-27T14:43:31.250" LastActivityDate="2013-12-27T14:43:31.250" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6269" PostTypeId="1" AcceptedAnswerId="6272" CreationDate="2011-04-27T01:00:39.907" Score="15" ViewCount="815" Body="&lt;p&gt;I am trying to understand some concepts about &lt;a href=&quot;http://en.wikipedia.org/wiki/Modular_decomposition&quot; rel=&quot;nofollow&quot;&gt;Modular decomposition&lt;/a&gt; and &lt;a href=&quot;http://en.wikipedia.org/wiki/Clique-width&quot; rel=&quot;nofollow&quot;&gt;Clique-width&lt;/a&gt; graphs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In &lt;a href=&quot;http://www.google.com.ar/url?sa=t&amp;amp;source=web&amp;amp;cd=3&amp;amp;ved=0CCsQFjAC&amp;amp;url=http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.39.9595&amp;amp;rep=rep1&amp;amp;type=pdf&amp;amp;ei=3GO3TeirKuaU0QG-9cwC&amp;amp;usg=AFQjCNH99pd-_t1xrWnl8HS8MVbay7Fnxg&amp;amp;sig2=QBJt04PlszMXGgLq698Ryw&quot; rel=&quot;nofollow&quot;&gt;this paper&lt;/a&gt; (&quot;On P4-tidy graphs&quot;), there is a proof of how to solve optimization problems like clique-number or chromatic-number using Modular decomposition.&#xA;Solving these problems by composing (using disjoint sum or disjoint union) two graphs G1,G2 is easy when you know the answer for G1 and G2. Since the prime-graphs on the decomposition of P4-tidy graphs are bounded graphs (i.e. C5,P5,etc.), it is easy to solve it for these &quot;base case&quot; and then solve it for compositions. &#xA;Hence by using the decomposition tree it is possible to solve these problems in linear time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But it seems that this technique would work with any graph class such that graph-primes are bounded.&#xA;Then I found &lt;a href=&quot;http://perso.ens-lyon.fr/eric.thierry/Graphes2007/cmr00.pdf&quot; rel=&quot;nofollow&quot;&gt;this paper&lt;/a&gt; &quot;Linear Time Solvable Optimization Problems on Graphs of Bounded Clique Width&quot; which seems to make the generalization I was looking for but I couldn't understand it very well.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;My question are:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;1-&lt;/strong&gt; Is equivalent to say that prime-graphs of the decomposition tree are bounded (like in the P4-tidy graphs case) and say that a graph has the property &quot;Clique-Width&quot; bounded?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;2-&lt;/strong&gt; In case the answer for &lt;strong&gt;1&lt;/strong&gt; is NO, then: Does exists any result about classes of graphs with graph-primes bounded (like in P4-tidy graphs) and thus optimization problems like clique-number solvable on linear time on all these classes?&lt;/p&gt;&#xA;" OwnerUserId="2582" LastEditorUserId="5693" LastEditDate="2014-10-02T12:24:54.747" LastActivityDate="2014-10-02T12:24:54.747" Title="Modular Decomposition and Clique-width" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;cliquewidth&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="6271" PostTypeId="2" ParentId="5427" CreationDate="2011-04-27T07:48:49.683" Score="6" Body="&lt;p&gt;I'd say that the two concepts are somewhat vague. Both are about binary relations of computational mechanisms which somehow embody a notion of equality. Logical relations are defined by induction of type-structure, while simulations can be defined however you want, but the term alludes to coinduction.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is misleading to say that logical relations are restrictied to lambda-calculi or sequential languages, although that's where logical relations originated. For example in our &lt;a href=&quot;http://www.informatics.sussex.ac.uk/users/mfb21/publications/fossacs03/index.html&quot;&gt;work on fully abstract models for System F&lt;/a&gt;, we defined logical relations for typed $\pi$-calculi.&lt;/p&gt;&#xA;" OwnerUserId="898" LastActivityDate="2011-04-27T07:48:49.683" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="6272" PostTypeId="2" ParentId="6269" CreationDate="2011-04-27T10:14:31.927" Score="18" Body="&lt;p&gt;you will find an introductory text on clique-width (cwd for short) here: Upper bounds to the clique-width of graphs (B. Courcelle and S. Olariu, DAM 101). You can find more recent results in this survey: Recent developments on graphs of bounded clique-width (M. Kaminski, V. Lozin, M. Milanic, DAM 157(12): 2747-2761 (2009))&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Cwd is a complexity measure based on graph operations that generalise word concatenation. Infinite countable graphs can have bounded cwd. You will say that a set (possibly infinite) of graphs (finite or countable) has bounded cwd if there exists a constant k such that any graph in this set has cwd at most k. For instance, complete graphs have cwd 2, distance hereditary graphs cwd at most 3, ... &lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) The link between cwd and modular-dec is the following: cwd(G) = max {cwd(H) | H prime in the modular dec of G}. Hence, you can say that cwd generalises the fact that &quot;prime graphs has bounded size&quot;. You can have graphs with prime-graphs of unbounded size but with bounded cwd.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) if the size of prime-graphs is bounded, the cwd is bounded. The results in the paper you cite says that any problem expressible in MSOL can be solved efficiently in graph classes of bounded cwd. This set of problems include many NP-complete problems: clique-number, stable number, 3-colorability, ...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some algorithmic aspects of  modular dec are studied here &quot;A survey of the algorithmic aspects of modular decomposition&quot; (M. Habib and C. Paul, Computer Science Review 4(1): 41-59 (2010))&lt;/p&gt;&#xA;" OwnerUserId="4854" LastActivityDate="2011-04-27T10:14:31.927" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="6273" PostTypeId="2" ParentId="6107" CreationDate="2011-04-27T10:40:27.230" Score="4" Body="&lt;p&gt;I don't know about a reference, but if your cubic graph is connected, then such a decomposition yields a Hamiltonian path: since the graph is connected, there is at least one edge connecting the two cycles, so obtaining a Hamiltonian path in that way is straightforward. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The other direction seems trickier however; since there are graphs for which you can easily find a Hamiltonian path but no decomposition with respect to your criteria (see e.g. $K_{ 3,3}$), you need additional conditions on your input graph.&lt;/p&gt;&#xA;" OwnerUserId="775" LastEditorUserId="775" LastEditDate="2011-05-02T13:04:55.373" LastActivityDate="2011-05-02T13:04:55.373" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6274" PostTypeId="2" ParentId="5043" CreationDate="2011-04-27T11:41:14.957" Score="2" Body="&lt;p&gt;Not a full answer but maybe helpful.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Caveat: It only works well if the supports of the $p_i^2$ are small. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For a polynomial $q = a_0 + a_1x + \dots +a_nx^n$, let $S_q = \{i \mid a_i \not= 0\}$ be its support and $s_q = |S_q|$ be the size of the support.&#xA;Most of the $p_i$ will be sparse, i.e, will have a small support.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are algorithms to multiply sparse polynomials $a$ and $b$ &#xA;in quasi-linear time in the size of the support of the product $a b$,&#xA;see e.g. &lt;a href=&quot;http://arxiv.org/abs/0901.4323&quot; rel=&quot;nofollow&quot;&gt;http://arxiv.org/abs/0901.4323&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The support of $ab$ is (contained in) $S_a + S_b$, where the sum of two sets $S$ and $T$ is defined as $S + T := \{s + t \mid s \in S, t \in T\}$. If the supports of all products are small, say, linear in $n$ in total, then one can just compute the products and add up all monomials. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is however very easy to find polynomials $a$ and $b$ such that the size of the support of $ab$ is quadratic in the sizes of the support of $a$ and $b$.&#xA;In this particular application, we are squaring polynomials. So the question is how much larger $S + S$ compared to $S$.&#xA;The usual measure for this is the doubling number $|S + S|/|S|$.&#xA;There are sets with unbounded doubling number. &#xA;But if you can exclude sets with large doubling number as supports of the $p_i$, then you can get a fast algorithm for your problem.   &lt;/p&gt;&#xA;" OwnerUserId="3980" LastEditorUserId="3980" LastEditDate="2011-04-28T12:57:16.187" LastActivityDate="2011-04-28T12:57:16.187" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="6276" PostTypeId="2" ParentId="6214" CreationDate="2011-04-27T22:47:30.923" Score="8" Body="&lt;p&gt;Not really a full answer (nor a useful reference), but just a rather an extended comment. For any given bin, the probability of having exactly $B$ balls in the bin will be given by $p_B = \binom{m}{B} \left(\frac{1}{n}\right)^B \left(\frac{n-1}{n}\right)^{m-B}$. We can use an inequality due to Sondow, $\binom{(b+1)a}{a}&amp;lt;\left(\frac{(b+1)^{b+1}}{b^b}\right)^a$, to yield $p_B &amp;lt; \left(\frac{(r+1)^{r+1}}{r^r}\right)^B \left(\frac{1}{n}\right)^B \left(\frac{n-1}{n}\right)^{m-B}$, where $r=\frac{m}{B}-1$. Note that this bound is fairly tight, since a $\binom{(b+1)a}{a}&amp;gt;\frac{1}{4ab}\left(\frac{(b+1)^{b+1}}{b^b}\right)^a$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thus we have $p_B &amp;lt; e^{B(r+1)\ln(r+1) - Br\ln r - m\ln n + (m-B)\ln (n-1)}$. Now, since you are interested in the probability of finding $B$ or more balls in a bin we can consider $p_{\geq B} = \sum_{b=B}^{m} p_b &amp;lt; \sum_{b=B}^{m} e^{b(r+1)\ln(r+1) - br\ln r - m\ln n + (m-b)\ln (n-1)}$. Rearranging the terms, we get $$p_{\geq B} &amp;lt; e^{-m\ln \frac{n}{n-1}} \times e^{B(r+1)\ln(r+1) - Br\ln r - B\ln (n-1)} \sum_{b=0}^{m-B} e^{b(r+1)\ln(r+1) - br\ln r - b\ln (n-1)}.$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note the summation above is merely a geometric series, so we can simplify this to give $$p_{\geq B} &amp;lt; e^{-m\ln \frac{n}{n-1}} \times e^{B(r+1)\ln(r+1) - Br\ln r - B\ln (n-1)} \times \frac{1-\left(\frac{(r+1)^{r+1}}{r^r (n-1)}\right)^{m-B+1}}{1-\left(\frac{(r+1)^{r+1}}{r^r (n-1)}\right)}.$$ If we rewrite $\frac{(r+1)^{r+1}}{r^r (n-1)}$ terms using exponentials, we get &#xA;$$p_{\geq B} &amp;lt; e^{-m\ln \frac{n}{n-1}} \times e^{B(r+1)\ln(r+1) - Br\ln r - B\ln (n-1)} \times \frac{1-\left(e^{(r+1)\ln (r+1) - r \ln r - \ln(n-1)}\right)^{m-B+1}}{1-e^{(r+1)\ln (r+1) - r \ln r - \ln(n-1)}},$$ which then becomes $$p_{\geq B} &amp;lt; \frac{e^{-m\ln \frac{n}{n-1}} \times \left(e^{B((r+1)\ln(r+1) - r\ln r - \ln (n-1))} -e^{(m+1)((r+1)\ln (r+1) - r \ln r - \ln(n-1))}\right)}{1-e^{(r+1)\ln (r+1) - r \ln r - \ln(n-1)}}.$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, I take it you care about finding some $B$ such that $p_{\geq B} &amp;lt; \frac{C}{n}$ for some constant $C$, since this gives the total probability of any bin having $B$ or more balls as bounded from above by $C$. This criteria is satisfied by taking $$\frac{e^{-m\ln \frac{n}{n-1}} \times \left(e^{B((r+1)\ln(r+1) - r\ln r - \ln (n-1))} -e^{(m+1)((r+1)\ln (r+1) - r \ln r - \ln(n-1))}\right)}{1-e^{(r+1)\ln (r+1) - r \ln r - \ln(n-1)}} = \frac{C}{n},$$ which can be rewritten as $$B = \frac{\ln\left(\frac{C}{n} e^{m\ln \frac{n}{n-1}} \left(1-e^{(r+1)\ln (r+1) - r \ln r - \ln(n-1)}\right) + e^{(m+1)((r+1)\ln (r+1) - r \ln r - \ln(n-1))}\right)}{(r+1)\ln(r+1) - r\ln r - \ln (n-1)}.$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm not entirely sure how useful this comment will be to you (it's entirely possible I've made a mistake somewhere), but hopefully it can be of some use.&lt;/p&gt;&#xA;" OwnerUserId="204" LastEditorUserId="204" LastEditDate="2011-04-28T10:56:08.320" LastActivityDate="2011-04-28T10:56:08.320" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="6277" PostTypeId="1" AcceptedAnswerId="6290" CreationDate="2011-04-28T04:40:14.060" Score="13" ViewCount="712" Body="&lt;p&gt;In Manuel Blum's &quot;&lt;a href=&quot;http://www.cs.cmu.edu/~mblum/research/pdf/grad.html&quot;&gt;Advice to a Beginning Graduate Student&lt;/a&gt;&quot;:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;LEONID LEVIN believes as I do that whatever the answer to the P=NP? problem, it won't be like anything you think it should be. And he has given some wonderful examples. &#xA;  For one, he has given a FACTORING ALGORITHM that is proVably optimal, up to a multiplicative constant. &#xA;  He proves that if his algorithm is exponential, &#xA;  then every algorithm for FACTORING is exponential. &#xA;  Equivalently, if any algorithm for factoring is poly-time, &#xA;  then his algorithm is poly-time. &#xA;  But we haven't been able to tell the running time of his algorithm because, in a strong sense, it's running time is unanalyzable. &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Levin's publications page returns a 404, DBLP shows nothing related to factoring, and a search for &quot;leonid levin factoring&quot; on Google Scholar returns nothing of interest that I could find. AFAIK the generalized sieve is the fastest algorithm known for factoring. What is Manuel Blum talking about? Can anyone link me to a paper?&lt;/p&gt;&#xA;" OwnerUserId="3062" LastEditorUserId="1800" LastEditDate="2011-04-28T15:46:57.173" LastActivityDate="2011-04-28T15:46:57.173" Title="Reference for Levin's optimal factoring algorithm  ?" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;factoring&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="6278" PostTypeId="1" AcceptedAnswerId="6291" CreationDate="2011-04-28T04:48:50.387" Score="11" ViewCount="1109" Body="&lt;p&gt;I would like to ask whether there is an already published result on that:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We take all possible different paths between &lt;em&gt;each pair of nodes&lt;/em&gt; of two connected regular (with degree $d$ let's say, and number of nodes $n$) graphs and write down their lengths. Of course this number of distinct paths is exponential. My  question is, if we sort the lengths and compare them (the lists obtained by the two graphs) and they are exactly the same, can we say that the two graphs are isomorphic?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course, even if this is a result we cannot use it to reply for Graph Isomorphism, since the number of distinct paths is exponential, as said&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By &lt;em&gt;distinct paths&lt;/em&gt;, I refer to paths having at least one different node, obviously.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks in priori for your help.&lt;/p&gt;&#xA;" OwnerUserId="3139" LastEditorUserId="186" LastEditDate="2011-04-28T16:25:57.630" LastActivityDate="2011-04-28T16:25:57.630" Title="Regular Graphs and Isomorphism" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;graph-algorithms&gt;&lt;graph-isomorphism&gt;" AnswerCount="3" CommentCount="2" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="6279" PostTypeId="2" ParentId="6277" CreationDate="2011-04-28T05:28:30.937" Score="4" Body="&lt;p&gt;I am not sure if this is what Blum was talking about, but it is easy to make an optimal algorithm up to a constant factor for almost any $NP \cap coNP$ problem. Here is an sketch for factoring in particular.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a number we want to factor N.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is N prime? If so output 'PRIME' else:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For $i = 1...\infty$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For $P = 1...i$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Run program P for i steps with input N&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If P outputs two integers (L,M) and $L \neq 1$ and $M \neq 1$ and $N = L*M$ then output $(L,M)$&lt;/p&gt;&#xA;" OwnerUserId="1037" LastActivityDate="2011-04-28T05:28:30.937" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="6286" PostTypeId="2" ParentId="6278" CreationDate="2011-04-28T10:23:48.460" Score="-2" Body="&lt;pre&gt;&#xA;36&#xA;011111111111111100000000000000000000&#xA;101111110000000011111111000000000000&#xA;110111001100000011000000111111000000&#xA;111000101011000010110000110000111000&#xA;111000101010100000001110001110000110&#xA;111000010110010001001001001001110001&#xA;110110001000011000100101000100101101&#xA;110001000101101010000111100000010011&#xA;101110100000010100000010100011011011&#xA;101001010001100110100000000111100101&#xA;100111000001110000011000011000110110&#xA;100100010110001110101000101000001110&#xA;100010010110001100010110010110110000&#xA;100001101010001101010001010001000111&#xA;100000110001110101000101111100001000&#xA;100000001101111001111010000011001000&#xA;011100010101000001010100010010001111&#xA;011001000000011110011010011100001001&#xA;010100100101000100011011100101100100&#xA;010100000010110111100011010010100010&#xA;010011000011000101100110001001011100&#xA;010010110000101010001001010011011100&#xA;010010011000100101111000100100010011&#xA;010001110000011000110100101011100010&#xA;001100011001001000100011011101010010&#xA;001100000010111011010100100101010100&#xA;001011000011001001001001100110101010&#xA;001010100100101001100010111000100101&#xA;001010001100100110010101001001101010&#xA;001001001100010100101101110010010100&#xA;000101100110100000110001001110011001&#xA;000101011010100000001110110001101001&#xA;000100101001001111001100001010110001&#xA;000010100111010010101100010101000011&#xA;000010011011010010010011101010000101&#xA;000001111100010011000010000100111110&#xA;&#xA;011111111111111100000000000000000000&#xA;101111110000000011111111000000000000&#xA;110111001100000011000000111111000000&#xA;111000101011000010110000110000111000&#xA;111000101010100001001100001100000111&#xA;111000010110010000100011100011000110&#xA;110110001000011000011010000010110101&#xA;110001000101101010011001000001001011&#xA;101110100000010100000001011001101011&#xA;101001010001100110000010011010010101&#xA;100111000001110000100100100100011110&#xA;100100010110001110010100010100100110&#xA;100010010110001101101000101000011001&#xA;100001101010001100000111000111011000&#xA;100000110001110101011000100111100000&#xA;100000001101111001100111011000100000&#xA;011100010101000000001101001110111000&#xA;011010000000101100110101110110000001&#xA;010101000010100101010011101000110010&#xA;010100110001001001100010010101010011&#xA;010010110000101010000110101001101100&#xA;010010000011010111001011010100001100&#xA;010001100100010100111100011001010100&#xA;010001011000010111100100000010101011&#xA;001101000010101001101000010011101100&#xA;001100001101000101010110100001001101&#xA;001010001100100110101010000101110010&#xA;001010000011011011010100001011010010&#xA;001001100100011011000001100100110101&#xA;001001011000011000011010111100001010&#xA;000100101001001110101001101010000110&#xA;000100100110110010110010001110001001&#xA;000100011010110010001101110001010001&#xA;000011100111000000001110110010100011&#xA;000011011011000000110001001101100101&#xA;000010111100100001010001010010011110&#xA;&#xA;36&#xA;011111111111111100000000000000000000&#xA;101111110000000011111111000000000000&#xA;110111001100000011000000111111000000&#xA;111000101011000010110000110000111000&#xA;111000101010100001001100001100000111&#xA;111000010010011000100011101011000100&#xA;110110001000010100011010000010110110&#xA;110001000001101110001011110000000011&#xA;101110100000011000000001010101101011&#xA;101000000001111111010100000111010000&#xA;100111000001110000100100101000011101&#xA;100100010110001110010100011000100101&#xA;100010010110001101101000100100011010&#xA;100001101110000100000111000011011001&#xA;100001011101100000110001000101100110&#xA;100000110101110001001010011010101000&#xA;011100010101000000001101100110110001&#xA;011010000100100100110101011010001010&#xA;010101000010101001010011001100111000&#xA;010100100101001001100110010001010110&#xA;010010110000100110000110100101101100&#xA;010010000111010011011001000001001101&#xA;010001110000010100111000011101010001&#xA;010001011000011011100100000010101011&#xA;001101010010100010001000010011011110&#xA;001100011001000101010010101001001011&#xA;001011000011000101100010010110100101&#xA;001010001100101010101010001001110001&#xA;001001100100010111000001101000110110&#xA;001001001100011000011110110100001100&#xA;000100101001001110101001001110001100&#xA;000100100110110010110010100110000011&#xA;000100001010110101101101110001100000&#xA;000011100011001000011100101011100010&#xA;000010111000101001010001110010010101&#xA;000010011011010010000111011100010010&#xA;&#xA;011111111111111100000000000000000000&#xA;101111110000000011111111000000000000&#xA;110111001100000011000000111111000000&#xA;111000101011000010110000110000111000&#xA;111000101010100001001100001100000111&#xA;111000010110010000100011001011100100&#xA;110110001000011000011010000010011110&#xA;110001000001101110010011001100100010&#xA;101110100000010100000001100101110011&#xA;101001000001101101101000100011010100&#xA;100111000001110000100100011000101101&#xA;100100010110001110010100101000010101&#xA;100010010110001101101000010100101010&#xA;100001101010001100000111010011001001&#xA;100000110101110001010010010110010001&#xA;100000011101110010001101100001001010&#xA;011100010001000100001101011110011000&#xA;011010000100101000110101110010000011&#xA;010101000110100001011001000001111001&#xA;010100110001001001100010101001001011&#xA;010010100100100110100110000101011100&#xA;010010000011010111001011110000000101&#xA;010001110000011000011100110101100100&#xA;010001011000010111100100000010110011&#xA;001100001101000101010110010001100110&#xA;001100000010111011000110100110101000&#xA;001011010011000010010000000111001111&#xA;001010011000101010001010011001110001&#xA;001001100100011011000001011000011110&#xA;001001001100010100111010101100001001&#xA;000101011010100000100011110100010110&#xA;000100101101001010101001000110100101&#xA;000100100010110110111000011011000010&#xA;000011100111000000001110101010110010&#xA;000010111000100101010001101010101100&#xA;000010001011011001110101001101010000&#xA;&#xA;36&#xA;011111111111111100000000000000000000&#xA;101111110000000011111111000000000000&#xA;110111001100000011000000111111000000&#xA;111000101011000010110000110000111000&#xA;111000101010100001001100001100000111&#xA;111000010010011000100011101011000100&#xA;110110001000010100011010000010110110&#xA;110001000001101110011001100001000011&#xA;101110100000011000000001010101101011&#xA;101000000001111111000110010110010000&#xA;100111000001110000100100101000011101&#xA;100100010110001110010100011000100101&#xA;100010010110001101101000100100011010&#xA;100001101110000100000111000011011001&#xA;100001011101100000100011010100100110&#xA;100000110101110001011000001011101000&#xA;011100010101000000001101100110110001&#xA;011010000100100100110101011010001010&#xA;010101000010101001001011011000111000&#xA;010100110001000101000110110001001110&#xA;010010110000100110100010001101110001&#xA;010010000111010011010011000100001101&#xA;010001100100011000111100010101010100&#xA;010001011000011011100100000010101011&#xA;001101010010100010010000000111011110&#xA;001100001101001001110010001001010011&#xA;001011000011000101101000010011100101&#xA;001010001100101010001110100001101100&#xA;001001100100010111000001101000110110&#xA;001001011000010100011010111100001001&#xA;000100101001001110101001001110001100&#xA;000100100110110010101010110010000011&#xA;000100001010110101110101100101100000&#xA;000011100011001000010110101110100010&#xA;000010111000101001010001110010010101&#xA;000010011011010010001101011001010010&#xA;&#xA;011111111111111100000000000000000000&#xA;101111110000000011111111000000000000&#xA;110111001100000011000000111111000000&#xA;111000101011000010110000110000111000&#xA;111000101010100001001100001100000111&#xA;111000010010011000100011101011000100&#xA;110110001000010100011010000010110110&#xA;110001000001101101011001100001100001&#xA;101110100000011000000001010101101011&#xA;101000000001111111000110010110010000&#xA;100111000001110000100100101000011101&#xA;100100010110001110010100011000100101&#xA;100010010110001101101000100100011010&#xA;100001101110000100000111000011011001&#xA;100001011101100000100011010100100110&#xA;100000110101110010011000001011001010&#xA;011100000101000100101101001110101000&#xA;011010010100100000010101110010010011&#xA;010101000010101010001011011000011010&#xA;010100110001000101000110110001001110&#xA;010010110000100110100010001101110001&#xA;010010000111010011010011000100001101&#xA;010001100100011000111100010101010100&#xA;010001011000011011100100000010101011&#xA;001101010010100001010000000111111100&#xA;001100001101001001110010001001010011&#xA;001011000011000110101000010011000111&#xA;001010001100101010001110100001101100&#xA;001001100100010111000001101000110110&#xA;001001011000010100011010111100001001&#xA;000100111001001010001001100110010101&#xA;000100100110110001101010110010100001&#xA;000100001010110110110101100101000010&#xA;000011100011001000010110101110100010&#xA;000010101000101101110001011010001100&#xA;000010011011010001001101011001110000&#xA;&lt;/pre&gt;&#xA;" OwnerUserId="4527" LastActivityDate="2011-04-28T10:23:48.460" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="6288" PostTypeId="1" CreationDate="2011-04-28T13:38:53.923" Score="4" ViewCount="261" Body="&lt;p&gt;It is well-known that different variants of Multicommodity flow problem are NP-complete. What is the complexity of the following variant, that is, the &lt;em&gt;integral k-multicommodity flow problem with demands on acyclic digraphs with maximum outdegree two&lt;/em&gt;:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;INSTANCE:&lt;/strong&gt; An acyclic directed graph&#xA;  $G=\left(V,E\right)$ with maximum&#xA;  outdegree two, a capacity function $c: E \rightarrow N$, $k$ pairs of&#xA;  vertices $(s_i,t_i)$ and a demand&#xA;  function $d:\{1,\ldots, k\} \rightarrow N$.&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;&lt;strong&gt;SOLUTION:&lt;/strong&gt; A flow $f_i\geq d_i$ for&#xA;  each pair $(s_i,t_i)$ with $f_i \in N$&#xA;  such that for each $e\in E$,&#xA;  $$\sum_{i=1}^k f_i(e) \leq c(e) \text.$$&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="604" LastEditorUserId="1800" LastEditDate="2011-04-28T15:43:34.493" LastActivityDate="2011-04-28T15:43:34.493" Title="Integral k-multicommodity flow with demands on acyclic digraphs wirh maximum outdegree two" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;graph-algorithms&gt;&lt;max-flow&gt;" AnswerCount="0" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6290" PostTypeId="2" ParentId="6277" CreationDate="2011-04-28T14:13:00.113" Score="11" Body="&lt;p&gt;Manuel Blum is talking about applying Levin's universal search algorithm to the Integer Factorization problem. The idea of Levin's Universal search algorithm is equally applicable to any problem in $NP$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is a quote from &lt;a href=&quot;http://www.cs.cmu.edu/~hopper/cs827-f01/lec4.txt&quot;&gt;lectures notes&lt;/a&gt; given by Blum on SECURITY and CRYPTOGRAPHY:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Leonid LEVIN's OPTIMAL NUMBER-SPLITTING (FACTORING) ALGORITHM.&#xA;  Let SPLIT denote any algorithm that computes&#xA;  INPUT:  a positive composite (i.e. not prime) integer n.&#xA;  OUTPUT: a nontrivial factor of n.&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;THEOREM: There exists an &quot;optimal&quot; number-splitting algorithm, which we&#xA;  call OPTIMAL-SPLIT. This algorithm is OPTIMAL in the sense that: &#xA;   for every number-splitting Algorithm SPLIT&#xA;   there is a (quite large but fixed) constant C such that &#xA;   for every positive composite integer input n, &#xA;  the &quot;running time&quot; of OPTIMAL-SPLIT on input n is at most C times the&#xA;  running time of SPLIT on input n.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Here is &lt;a href=&quot;http://www.cs.cmu.edu/~hopper/cs827-f01/lec4.txt&quot;&gt;Levin's optimal factoring algorithm&lt;/a&gt;:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;The OPTIMAL-SPLIT ALGORITHM:&#xA;  BEGIN&#xA;   Enumerate all algorithms in order of size, lexicographically within each size.&#xA;   Run all algorithms so that at any moment in time, t, the ith algorithm&#xA;  gets  [1/(2^i)] fraction of the time to execute.&#xA;   Wnenever an algorithm halts with some output integer m in the range 1 &amp;lt; m&#xA;  &amp;lt; n, check if m divides n (i.e. if n mod m = 0).&#xA;  If so, return m. &#xA;  END&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2011-04-28T14:23:48.257" LastActivityDate="2011-04-28T14:23:48.257" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="6291" PostTypeId="2" ParentId="6278" CreationDate="2011-04-28T14:15:37.470" Score="6" Body="&lt;p&gt;I believe the answer to your question is &quot;no&quot; because an equivalent condition would imply a polynomial time solution to GI.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For $A$, the adjacency matrix of the graph $G$, note that the number of paths from $i$ to $j$ of length $k$ is $(A^k)_{i, j}$ (with repetition of vertices and edges allowed).  For two graphs $G_1$ and $G_2$ (with adjacency matrices $A_1$ and $A_2$) and $k \ge 1$, if you sorted the elements of $A_1^k$ and $A_2^k$ then in order for $G_1$ to be isomorphic to $G_2$, it is a necessary condition that the lists be identical for all $k$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I believe your conjecture is equivalent to:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If the sorted lists of elements of $A_1^k$ and $A_2^d$ are identical for $k = 1$ to $n - 1$ (upperbound on the longest path with non-repeating vertices) then $G_1$ and $G_2$ are isomorphic.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So to solve GI, one only has to perform $n - 1$ multiplications of $n \times n$ matrices (and a little extra time to sort and compare $n^2$ elements).  This would take less than $n^4$ time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I admit two possible flaws in my argument.  First, it is totally possible that GI has a polynomial time algorithm and that we just discovered it together, just now (hooray, we're famous!).  I find this highly unlikely.  Second (and much more probable), what I've proposed is not actually equivalent to your conjecture.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Final thought.  Have you tried this out for all, say, 3-regular graphs for size 8 or so?  I would think that if your conjecture is false, that there should be a counter example in 3-regular graphs of fairly small size.&lt;/p&gt;&#xA;" OwnerUserId="4765" LastActivityDate="2011-04-28T14:15:37.470" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="6294" PostTypeId="2" ParentId="6278" CreationDate="2011-04-28T15:04:43.590" Score="6" Body="&lt;p&gt;Since you're only comparing the lengths of the paths (and in the meantime forgetting what pair of nodes they correspond to if I understood you well), I think that very similar graphs should provide a counterexample : in the end you're just counting the number of paths of a fixed length and independently of the vertices they link. For example I think these graphs are a counterexample : &lt;a href=&quot;http://www.mathe2.uni-bayreuth.de/markus/REGGRAPHS/GIF/06_3_3-2.gif&quot; rel=&quot;nofollow&quot;&gt;http://www.mathe2.uni-bayreuth.de/markus/REGGRAPHS/GIF/06_3_3-2.gif&lt;/a&gt; and &lt;a href=&quot;http://www.mathe2.uni-bayreuth.de/markus/REGGRAPHS/GIF/06_3_3-1.gif&quot; rel=&quot;nofollow&quot;&gt;http://www.mathe2.uni-bayreuth.de/markus/REGGRAPHS/GIF/06_3_3-1.gif&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If I'm not mistaken (counting paths is tedious), they both have 9 paths of length 1, 18 paths of length 2, 48 paths of length 3, 30 paths of length 4 and 36 paths of length 5&lt;/p&gt;&#xA;" OwnerUserId="4871" LastActivityDate="2011-04-28T15:04:43.590" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="6296" PostTypeId="1" CreationDate="2011-04-28T17:01:32.350" Score="0" ViewCount="212" Body="&lt;p&gt;I am looking for a formal definition of so-called &quot;flowcharts&quot; used as representation of programs or business processes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there some good one around ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thx&#xA;JCLL&lt;/p&gt;&#xA;" OwnerDisplayName="user4877" LastEditorUserId="567" LastEditDate="2011-04-28T22:01:49.227" LastActivityDate="2011-04-28T22:01:49.227" Title="formal definition of &quot;flowcharts&quot;" Tags="&lt;reference-request&gt;&lt;automata-theory&gt;&lt;terminology&gt;&lt;formal-methods&gt;" AnswerCount="0" CommentCount="10" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6297" PostTypeId="1" AcceptedAnswerId="6326" CreationDate="2011-04-28T19:16:55.003" Score="9" ViewCount="1831" Body="&lt;p&gt;I am wondering if the following problem has a name, or any results related to it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $G = (V,w)$ be a weighted graph where $w(u,v)$ denotes the weight of the edge between $u$ and $v$, and for all $u,v \in V$, $w(u,v) \in [-1,1]$. The problem is to find a subset of vertices that maximizes the sum of the weights of the edges adjacent to them:&#xA;$$\max_{S \subseteq V} \sum_{(u,v) : u \in S\ \textrm{or}\ v\in S} w(u,v)$$&#xA; Note that I am counting edges both that are inside the subset and that are outside the subset, which is what distinguishes this problem from max-cut. However, even if both $u$ and $v$ are in $S$, I only want to count the edge $(u,v)$ once (rather than twice), which is what distinguishes the objective from merely being the sum of the degrees.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that the problem is trivial if all edge weights are non-negative -- simply take the whole graph!&lt;/p&gt;&#xA;" OwnerUserId="25" LastEditorUserId="1929" LastEditDate="2012-11-09T00:42:40.970" LastActivityDate="2012-11-09T00:42:40.970" Title="Maximizing sum edge weights" Tags="&lt;reference-request&gt;&lt;graph-theory&gt;&lt;approximation-algorithms&gt;&lt;terminology&gt;&lt;approximation-hardness&gt;" AnswerCount="2" CommentCount="7" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6298" PostTypeId="1" CreationDate="2011-04-28T19:20:49.570" Score="1" ViewCount="223" Body="&lt;p&gt;I'm not sure if this is the right place to ask, but I suppose you'll tell me.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm writing a program that produces a series of points on a map, and I need to put the points in some linear order so that adjacent points in the list are usually near each other. I just want to tack this on as a minor feature, so I need a simple algorithm that won't be hard to implement, and won't take more than O(N&lt;sup&gt;2&lt;/sup&gt;) time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I don't need much accuracy so maybe &lt;a href=&quot;http://en.wikipedia.org/wiki/Z-order_curve&quot; rel=&quot;nofollow&quot;&gt;Z-order&lt;/a&gt; or &lt;a href=&quot;http://en.wikipedia.org/wiki/Hilbert_curve&quot; rel=&quot;nofollow&quot;&gt;Hilbert order&lt;/a&gt; would suffice, but the points are floating-point, and I only know how to implement Z-order for integer coordinates.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, what algorithm would you suggest?&lt;/p&gt;&#xA;" OwnerUserId="4878" LastEditorUserId="186" LastEditDate="2011-04-28T19:31:55.520" LastActivityDate="2011-04-29T22:43:51.137" Title="Simple spatial ordering or TSP algorithms?" Tags="&lt;ds.algorithms&gt;&lt;application-of-theory&gt;&lt;tsp&gt;" AnswerCount="3" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6300" PostTypeId="2" ParentId="6084" CreationDate="2011-04-28T20:47:57.233" Score="2" Body="&lt;p&gt;I describe a method for adding edges to a graph one at a time and computing the number of vertex covers. &lt;a href=&quot;http://www.mathkb.com/Uwe/Forum.aspx/math/77614/3SAT-A-Better-2SAT-Approximation&quot; rel=&quot;nofollow&quot;&gt;http://www.mathkb.com/Uwe/Forum.aspx/math/77614/3SAT-A-Better-2SAT-Approximation&lt;/a&gt; . Using my method, you can approximate the number of vertex covers in polynomial time, but computing the exact effect of adding even one edge can be exponential. You can efficiently compute the effect of adding an edge if you know something about the existing graph. For example, adding an edge that is disjoint from the existing graph is easily computable. Other examples woud include adding an edge to a chain or a complete graph.&lt;/p&gt;&#xA;" OwnerUserId="4881" LastActivityDate="2011-04-28T20:47:57.233" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6301" PostTypeId="2" ParentId="6201" CreationDate="2011-04-28T21:01:56.057" Score="4" Body="&lt;p&gt;This answer is possibly as useful as a stable door, but it's for this reason that I have a rule never to set homework exercises that I haven't already solved myself.  This is not only so that I know it's solvable, but also to check that it's the right length and level - I implemented this rule after once or twice getting caught with setting questions that were too hard or required things that the students hadn't done yet.&lt;/p&gt;&#xA;" OwnerUserId="4882" LastActivityDate="2011-04-28T21:01:56.057" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6302" PostTypeId="1" AcceptedAnswerId="6313" CreationDate="2011-04-28T21:49:05.433" Score="19" ViewCount="1170" Body="&lt;p&gt;I am interested in models of random graphs which are similar to the graphs of real computer networks. I am not sure if the common well-studied $G(n,p)$ model ($n$ vertices, each possible edge is selected with probability $p$) is good for studying real computer networks (is it?).&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;what models of random graphs are useful for understanding computer networks araising in practice?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;More generally, what other models of finite random graphs (other than those equivalent to the $G(n,p)$ model) have been studied in the literature? (An ideal answer would be a pointer to a survey for studied models of finite random graphs.)&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2011-04-28T22:06:53.263" LastActivityDate="2013-01-18T16:36:30.170" Title="Models of random graphs, for real computer networks" Tags="&lt;reference-request&gt;&lt;graph-theory&gt;&lt;co.combinatorics&gt;" AnswerCount="11" CommentCount="4" FavoriteCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="6303" PostTypeId="2" ParentId="6298" CreationDate="2011-04-28T22:04:32.563" Score="1" Body="&lt;p&gt;A relatively simple way of implementing this would be to simply divide your map recursively into a quad-tree until every node of the quad-tree is either empty or contains at most one point.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now simply apply your Z-ordering to the nodes of the quad-tree.&lt;/p&gt;&#xA;" OwnerUserId="105" LastActivityDate="2011-04-28T22:04:32.563" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6304" PostTypeId="2" ParentId="5659" CreationDate="2011-04-28T22:21:17.313" Score="3" Body="&lt;p&gt;As  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;L.H. Kauffman, &lt;a href=&quot;http://www.math.uic.edu/~kauffman/MapReform.pdf&quot; rel=&quot;nofollow&quot;&gt;Reformulating the map color theorem&lt;/a&gt;, Discrete Mathematics 302 (2005) 145–172&lt;/p&gt;&#xA;&#xA;&lt;p&gt;points out, the &lt;em&gt;Primality Principle&lt;/em&gt; due to G. Spencer-Brown as well as the &lt;em&gt;Eliahou–Kryuchkov conjecture&lt;/em&gt; are equivalent reformulations of the FCT.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;S. Eliahou, Signed diagonal flips and the four color theorem, European J. Combin. 20 (1999) 641–646.&lt;/li&gt;&#xA;&lt;li&gt;S. I. Kryuchkov, The four color theorem and trees, I. V. Kruchatov, Institute of Atomic Energy, Moscow, 1992, IAE-5537/1.&lt;/li&gt;&#xA;&lt;li&gt;G. Spencer-Brown, Laws of Form, Gesetze der Form, Bohmeier Verlag, 1997.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="2367" LastActivityDate="2011-04-28T22:21:17.313" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6305" PostTypeId="2" ParentId="6302" CreationDate="2011-04-28T22:37:13.577" Score="7" Body="&lt;p&gt;A very common network model has been proposed by Waxman (1988): choose $n$ vertices in the plane and connect vertices $u$ and $v$ with probability $\beta e^{-d/(L\alpha)}$, where $d$ is their Euclidean distance, and $L$ the maximum distance between any pair of vertices. Zegura et al. (1996) compare Waxman graph to several other network models.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Waxman, &lt;a href=&quot;http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?reload=true&amp;amp;arnumber=12889&quot;&gt;&lt;em&gt;Routing of multipoint connections&lt;/em&gt;&lt;/a&gt;, IEEE J. Select. Areas Commun. 6(9), 1617-1622, 1988.&#xA;Zegura, Calvert, Bhattacharjee, &lt;a href=&quot;http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?reload=true&amp;amp;arnumber=493353&quot;&gt;&lt;em&gt;How to Model an Internetwork&lt;/em&gt;&lt;/a&gt;, Proc. IEEE INFOCOM '96, 1996.&lt;/p&gt;&#xA;" OwnerUserId="2150" LastActivityDate="2011-04-28T22:37:13.577" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6306" PostTypeId="2" ParentId="5659" CreationDate="2011-04-28T22:42:40.737" Score="6" Body="&lt;p&gt;A &lt;em&gt;snark&lt;/em&gt; is a connected, bridgeless cubic graph that is not 3-edge-colorable. Following wikipedia, the &lt;a href=&quot;http://en.wikipedia.org/wiki/Snark_%28graph_theory%29&quot;&gt;snark conjecture&lt;/a&gt;, generalizing the 4CT, is as follows: &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Every snark has a subgraph that can be formed from the Petersen graph by subdividing some of its edges.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Again according to wikipedia, a proof of this conjecture was announced in 2001 by Robertson, Sanders, Seymour and Thomas. &lt;/p&gt;&#xA;" OwnerUserId="2367" LastEditorUserId="1800" LastEditDate="2011-05-04T05:20:58.810" LastActivityDate="2011-05-04T05:20:58.810" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="6307" PostTypeId="2" ParentId="6302" CreationDate="2011-04-28T22:52:47.310" Score="5" Body="&lt;p&gt;Walter Willinger has built a career on the use of scale-free graphs to model networks. There's too much to cite, so I'll point you to &lt;a href=&quot;http://www.informatik.uni-trier.de/~ley/db/indices/a-tree/w/Willinger%3aWalter.html&quot;&gt;his DBLP entry&lt;/a&gt;. The key point in these models is that they have properties similar to &quot;real&quot; networks that are not captured by G(n,p). &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2011-04-28T22:52:47.310" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6308" PostTypeId="2" ParentId="6302" CreationDate="2011-04-28T23:04:09.243" Score="10" Body="&lt;p&gt;This survey, &lt;a href=&quot;http://www-personal.umich.edu/~mejn/courses/2004/cscs535/review.pdf&quot;&gt;The structure and function of complex networks&lt;/a&gt; by Newman, reviews techniques and models for real complex networks including concepts such as small-world effect, degree distributions, and random graph models. Also, the same author has a nice paper, &lt;a href=&quot;http://www.santafe.edu/media/workingpapers/02-02-005.pdf&quot;&gt;Random graphs as models of networks&lt;/a&gt;, about adaptations of random graphs to model real networks.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;References:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) Random graphs as models of networks, M. E. J. Newman, in Handbook of Graphs and Networks, S. Bornholdt and H. G. Schuster (eds.), Wiley-VCH, Berlin (2003)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) The structure and function of complex networks, M. E. J. Newman, SIAM Review 45, 167-256 (2003)&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2011-04-29T08:10:00.950" LastActivityDate="2011-04-29T08:10:00.950" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="6309" PostTypeId="2" ParentId="3004" CreationDate="2011-04-28T23:18:27.347" Score="4" Body="&lt;p&gt;I was using LaTeX files plus &lt;a href=&quot;http://en.wikipedia.org/wiki/Apache_Subversion&quot; rel=&quot;nofollow noreferrer&quot;&gt;SVN&lt;/a&gt; to keep track of my notes. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;But recently I have stated using &lt;a href=&quot;http://en.wikipedia.org/wiki/Apache_Subversion&quot; rel=&quot;nofollow noreferrer&quot;&gt;SVN&lt;/a&gt; with a personal Wiki &lt;a href=&quot;http://www.tiddlywiki.com/&quot; rel=&quot;nofollow noreferrer&quot;&gt;TiddlyWiki&lt;/a&gt; (that Artem Kaznatcheev has mentioned above)&#xA;with a &lt;a href=&quot;http://bob.mcelrath.org/tiddlyjsmath-2.0.3.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;plug-in&lt;/a&gt; for &lt;a href=&quot;http://www.math.union.edu/~dpvc/jsMath/&quot; rel=&quot;nofollow noreferrer&quot;&gt;jsMath&lt;/a&gt; so I can use LaTeX in my notes. It is quite easy to setup and use (it is a single html file). TiddlyWiki has tagging and search functionalities.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Typing in usual LaTeX allows copying those notes directly without modification to a LaTeX file. There also lots other plug-ins that you can find by Googling, e.g. this &lt;a href=&quot;http://tiddlyvault.tiddlyspot.com/&quot; rel=&quot;nofollow noreferrer&quot;&gt;TiddlyVault&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The really nice thing is that you can have a copy of your notes on your laptop (so you can work with them off-line), and another one on your webpage (so you can work with them online from any place) and keep them in sync using SVN. You can also use it in a collaborative manner.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The idea came to me while reading &lt;a href=&quot;https://mathoverflow.net/questions/1785/how-do-you-keep-your-research-notes-organized&quot;&gt;this&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.530" LastActivityDate="2011-04-28T23:18:27.347" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="6311" PostTypeId="1" CreationDate="2011-04-29T01:24:13.737" Score="4" ViewCount="1318" Body="&lt;p&gt;Given a B-tree, determine what order the keys were inserted in.  There may be multiple answers: I'd like to generate them all.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there any known method for this?  Or similar problems?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Clarification:&lt;/strong&gt; As the comments mentioned, enumerating them all may be intractable.  I'd like to do two things:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Create a partial ordering. Node 7 was inserted before Node 4, but cannot be compared to Node 20.  (I've done this successfully for a binary search tree, and am wondering if this can be applied to B-tree as well. For BSTs, it seems to be simple: Node A &amp;lt; Node B iff Node A is an ancestor of Node B, assuming no deletions.)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Create what I call a probabilistic partial ordering.  For example: Out of &lt;em&gt;x&lt;/em&gt; possible orderings, &lt;em&gt;y&lt;/em&gt; have Node 4 inserted before Node 20, and &lt;em&gt;1 - y&lt;/em&gt; have Node 4 after Node 20.  I still am working on this even for binary search trees, so perhaps it's better to ask this question there first.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;I'm also working on expanding the model to include deletions (probablisticly), but that will come later.&lt;/p&gt;&#xA;" OwnerUserId="4888" LastEditorUserId="4888" LastEditDate="2011-04-29T16:50:06.327" LastActivityDate="2012-03-05T17:07:40.037" Title="Given a B-Tree, determine the order keys were inserted" Tags="&lt;ds.data-structures&gt;&lt;tree&gt;" AnswerCount="1" CommentCount="9" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="6312" PostTypeId="2" ParentId="6302" CreationDate="2011-04-29T03:38:24.793" Score="8" Body="&lt;p&gt;Real computer networks at what layer?  The Internet is, at the AS level (arguably the topmost level), a small-world network with some extremely high-degree nodes.  As the layers get closer to actual wires, the graph becomes more linked to geography and less linked to the social layer (social is kind of the wrong word - is it really a social network when the entities being &quot;friends&quot; are multinational corporations?).  In the extreme case, a local ethernet is a logical tree that is (probably) a subgraph of the physical pattern of wire connections, and that pattern of wire connections is probably not too many wires more than a tree.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&quot;Real computer networks&quot; come in lots of flavors and layers.  Some of them look like social networks, some don't.  For more on this, I immodestly refer you to chapter 2 of my dissertation - &lt;a href=&quot;http://home.manhattan.edu/~peter.boothe/thesis.pdf&quot;&gt;http://home.manhattan.edu/~peter.boothe/thesis.pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="730" LastEditorUserId="730" LastEditDate="2011-04-29T15:39:57.367" LastActivityDate="2011-04-29T15:39:57.367" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="6313" PostTypeId="2" ParentId="6302" CreationDate="2011-04-29T03:48:19.200" Score="10" Body="&lt;p&gt;In the last few years, the study of random graphs with &quot;natural&quot; structural constraints has gained traction. For example, one can consider a planar graph drawn u.a.r. from the class of all planar graphs with $n$ vertices and study how it behaves as $n \rightarrow \infty$. Unlike the Erdős-Rényi random graphs or other similar models, the edges in these graphs are highly dependent, so one of the pseudo-motivations for studying such distributions is to analyze network models with very limited independence between edges. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, perhaps at present this goal seems quite far away as the limited independence makes it a lot harder to analyze the properties of such graphs. In fact, several basic questions which are very easily answered for $G(n, p)$, like the distribution of the degree sequence have only been resolved for random planar graphs very recently. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For a definitive reference, see the papers by &lt;a href=&quot;http://www.mpi-inf.mpg.de/~kpanagio/&quot;&gt;Konstantinos Panagiotou&lt;/a&gt; and the citations contained therein. For convenience, here is a small sample of some relevant papers :&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.mpi-inf.mpg.de/~kpanagio/DegreeSequencePlanar.pdf&quot;&gt;&lt;strong&gt;On the Degree Distribution of Random Planar Graphs&lt;/strong&gt;&lt;/a&gt;. &lt;em&gt;Konstantinos Panagiotou and Angelika Steger&lt;/em&gt;. To appear in the Proceedings of the 22nd Annual ACM-SIAM Symposium on Discrete Algorithms (SODA '11).&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;On Properties of Random Dissections and Triangulations&lt;/strong&gt;. &lt;em&gt;Nicla Bernasconi, Konstantinos Panagiotou and Angelika Steger&lt;/em&gt;. In Proceedings of the 19th Annual ACM-SIAM Symposium on Discrete Algorithms (SODA '08), p. 132-141. [http://www.mpi-inf.mpg.de/~kpanagio/Dissections.pdf]&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;On the Degree Sequences of Random Outerplanar and Series-Parallel Graphs&lt;/strong&gt;. &lt;em&gt;Nicla Bernasconi, Konstantinos Panagiotou and Angelika Steger&lt;/em&gt;. In Proceedings of the 12th International Workshop on Randomized Techniques in Computation (RANDOM'08), p. 303-316. [http://www.mpi-inf.mpg.de/~kpanagio/OPSP.pdf]&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="4890" LastActivityDate="2011-04-29T03:48:19.200" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6315" PostTypeId="2" ParentId="6302" CreationDate="2011-04-29T11:04:18.543" Score="5" Body="&lt;p&gt;You might want to check out &lt;a href=&quot;http://www.math.cornell.edu/~durrett/RGD/RGD.html&quot;&gt;Durrett's book&lt;/a&gt;.  I believe you have a lot of reading to do.&lt;/p&gt;&#xA;" OwnerUserId="233" LastActivityDate="2011-04-29T11:04:18.543" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6316" PostTypeId="1" CreationDate="2011-04-29T16:27:10.030" Score="4" ViewCount="513" Body="&lt;p&gt;Given an undirected weighted graph where an edge exists between every pair of nodes (n1,n2) with cost C(n1,n2), find the shortest path (possibly revisiting nodes, possibly revisiting edges) through the graph that visits each node.  Algo can pick any source node it wants.  No need for the path to terminate back at the source node.  Path cost is cumulative over all edge visits, so, if you traverse an edge with cost 5 and then traverse it again later it costs you 10 (i.e. re-traversing an already explored edge isn't free!)&lt;/p&gt;&#xA;" OwnerUserId="4894" LastEditorUserId="186" LastEditDate="2011-04-29T17:47:28.990" LastActivityDate="2011-05-01T11:42:54.113" Title="Does this graph problem have a formal name?" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;terminology&gt;" AnswerCount="1" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="6317" PostTypeId="2" ParentId="6298" CreationDate="2011-04-29T17:03:26.453" Score="1" Body="&lt;p&gt;A naive solution is to multiply the coordinates by the LCM of the denominators and apply your Z-ordering. The relative order of points will be preserved.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If this will carry you over the word size, you can use a simple $\varepsilon$-net technique. Round each coordinate to within the nearest multiple of $\varepsilon$, for some $\varepsilon$ you pick. I assume you have 2-dimensional points, so this rounding distorts each distance by at most $\pm \sqrt{2}\varepsilon$. This implies that, given a point $p$, if you order the remaining points $P = \{p_1, \ldots, p_n\}$ by their distance from $p$, the rounding will only swap pairs of points $p_i, p_j$ such that $|\|p - p_i\| - \|p - p_j\|| \leq \sqrt{2}\varepsilon$. That is the relative order of points will be preserved unless the points are very close. Then multiply all coordinates by $1/\varepsilon$ and you have integers which are no bigger than $1/\varepsilon$ times the integer parts of the original coordinates.&lt;/p&gt;&#xA;" OwnerUserId="4896" LastActivityDate="2011-04-29T17:03:26.453" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="6318" PostTypeId="2" ParentId="6316" CreationDate="2011-04-29T17:29:04.507" Score="16" Body="&lt;p&gt;The TSP problem, given a graph and an edge-weight function, asks to find a tour visiting each vertex exactly once having minimum length.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think your problem is equivalent to the &lt;a href=&quot;http://en.wikipedia.org/wiki/Travelling_salesman_problem#Metric_TSP&quot;&gt;Metric TSP problem&lt;/a&gt;, that is the TSP problem on the complete graph where the weight of each edge $uv$ is the length of a path between $u$ and $v$ with minimum weight in your original graph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Indeed, a minimum walk on your original graph corresponds to a minimum tour in the newly defined clique, and vice-versa.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the first side, consider a minimum walk in the original graph. If some node is repeated (say $v$ is repeated: $\ldots, v, \ldots, u, v, w, \ldots$) one can get rid of the repetition by replacing the portion $u,v,w$ by $u,w$ in the shortest path graph. Doing this for each repetition one gets a tour in the shortest path graph having the same length as the original walk. Since the walk was optimal the tour is optimal too.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the other side, given an optimal tour of the new graph, replace each edge $uv$ of the tour by a shortest weighted path from $u$ to $v$ is the original graph. This walk may contain some repetitions, but has now the same length as the tour, and it is optimal. &lt;/p&gt;&#xA;" OwnerUserId="1930" LastEditorUserId="1930" LastEditDate="2011-05-01T11:42:54.113" LastActivityDate="2011-05-01T11:42:54.113" CommentCount="12" ContentLicense="CC BY-SA 3.0" />
  <row Id="6319" PostTypeId="2" ParentId="6302" CreationDate="2011-04-29T17:29:10.597" Score="5" Body="&lt;p&gt;Instead of laboriously finding, justifying and analysing a specific model, you might want to use what real life data you have (if you have any). That means defining a generic probabilistic model and training its parameters given your data (e.g. by maximum likelihood estimation).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, you can describe an SCFG for trees (e.g. $S \rightarrow p_1 : (S)S \mid p_2 : \varepsilon$) and assign probabilities ($p_1, p_2$) based on relative occurrences in your real life data set, which provably yields an MLE. You can even train probabilities using the inside-outside algorithm. As a bonus, you even have a concise description for your model which can be used in a variety of analyses.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Obviously, the specific grammar can (and should!) use domain knowledge. Consider e.g. different grammars used for RNA secondary structure prediction in &lt;a href=&quot;http://www.biomedcentral.com/1471-2105/5/71&quot; rel=&quot;nofollow&quot;&gt;Dowell, Eddy (2004)&lt;/a&gt; for a taste.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Find some details on this technique in &lt;a href=&quot;http://wwwagak.informatik.uni-kl.de/staff/nebel/www_nonuniform_random/NonUniformRandomGeneration.pdf&quot; rel=&quot;nofollow&quot;&gt;Weinberg, Nebel (2010)&lt;/a&gt;. I do not know how (well) it can be applied to general graphs, though.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you need more power you can move to stuff like multidimensional (S)CFG (e.g. &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=1522686&quot; rel=&quot;nofollow&quot;&gt;Seki, Kato (2008)&lt;/a&gt;) or length-/position-dependent SCFG (&lt;a href=&quot;http://wwwagak.informatik.uni-kl.de/research/publications/www_lSCFG/lscfg.pdf&quot; rel=&quot;nofollow&quot;&gt;Weinberg, Nebel (2010)&lt;/a&gt;).&lt;/p&gt;&#xA;" OwnerUserId="1546" LastEditorUserId="1546" LastEditDate="2011-05-01T14:09:18.107" LastActivityDate="2011-05-01T14:09:18.107" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="6320" PostTypeId="2" ParentId="1920" CreationDate="2011-04-29T18:58:00.813" Score="4" Body="&lt;p&gt;Kahn and Kim's application of graph entropy to to sorting under partial information (http://portal.acm.org/citation.cfm?id=129731). They gave the first polynomial time algorithm that performs the information theoretically optimal (up to constants) number of comparisons. The paper is a small field trip in mathematics, using some classical combinatorial arguments, together with convex geometry, graph entropy, and convex programming. There is a more recent simpler algorithm, but we still do now know how to analyze it without graph entropy.&lt;/p&gt;&#xA;" OwnerUserId="4896" LastActivityDate="2011-04-29T18:58:00.813" CommentCount="0" CommunityOwnedDate="2011-04-29T18:58:00.813" ContentLicense="CC BY-SA 3.0" />
  <row Id="6321" PostTypeId="1" CreationDate="2011-04-29T21:16:06.740" Score="2" ViewCount="139" Body="&lt;p&gt;Suppose that we have an EU-CMA or sEU-CMA signature scheme without &lt;a href=&quot;http://en.wikipedia.org/wiki/Random_oracle&quot; rel=&quot;nofollow&quot;&gt;random oracles&lt;/a&gt;. My question is if messages to be signed are in the form H(m), where H is a hash function (doesn't belong to the signature parameters). Does this affect the security of the scheme?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EU-CMA:&lt;/strong&gt; existentially unforgeable under chosen message attack.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;sEU-CMA:&lt;/strong&gt; Strongly EU-CMA.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See &lt;a href=&quot;http://en.wikipedia.org/wiki/Digital_signature_forgery&quot; rel=&quot;nofollow&quot;&gt;digital signature forgery&lt;/a&gt; for more info.&lt;/p&gt;&#xA;" OwnerUserId="4899" LastEditorUserId="873" LastEditDate="2011-04-30T01:58:16.590" LastActivityDate="2011-05-11T08:39:32.517" Title="signature scheme without random oracles" Tags="&lt;cr.crypto-security&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="6322" PostTypeId="2" ParentId="1920" CreationDate="2011-04-29T21:47:52.520" Score="4" Body="&lt;p&gt;Number theory was used to develop RSA and other public-key cryptographic schemes.&lt;/p&gt;&#xA;" OwnerUserId="1749" LastActivityDate="2011-04-29T21:47:52.520" CommentCount="0" CommunityOwnedDate="2011-04-29T21:47:52.520" ContentLicense="CC BY-SA 3.0" />
  <row Id="6323" PostTypeId="2" ParentId="6298" CreationDate="2011-04-29T22:34:45.310" Score="0" Body="&lt;p&gt;I decided to try for a Hilbert ordering by (1) computing a &lt;em&gt;square&lt;/em&gt; bounding box of all points, (2) converting each point to a fraction (0..1, 0..1) within that bounding box, (3) multiplying the fractional coordinates by a large integer, (4) convert the coordinates to a pair of integers, (5) computing a Hilbert value and (6) sorting by it. Actually computing the Hilbert number proved very tricky to get right. Here's my method for doing so (C#).&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;ulong ToHilbertOrder(uint x, uint y)&#xA;{&#xA;    ulong result = 0;&#xA;&#xA;    for (int i = 31; i &amp;gt;= 0; i--)&#xA;    {&#xA;        uint mask = (1u &amp;lt;&amp;lt; i) - 1;&#xA;        uint xb = x &amp;gt;&amp;gt; i;&#xA;        uint yb = y &amp;gt;&amp;gt; i;&#xA;        uint distance = (xb &amp;lt;&amp;lt; 1) ^ (xb ^ yb);&#xA;        x &amp;amp;= mask;&#xA;        y &amp;amp;= mask;&#xA;        result = (result &amp;lt;&amp;lt; 2) + distance;&#xA;&#xA;        if (yb == 0) {&#xA;            // Transpose \&#xA;            G.Swap(ref x, ref y);&#xA;            if (xb != 0) {&#xA;                // Transpose /&#xA;                x = mask - x;&#xA;                y = mask - y;&#xA;            }&#xA;        }&#xA;    }&#xA;    return result;&#xA;}&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Despite the embarrassing amount of time it took to write that code, I'm still not really happy with the Hilbert order, because if the points are not uniformly distributed (or fairly one-dimensional), there are often several long-distance jumps in the resulting order.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Oh well, I suppose it's good enough for now. I can't really afford to spend any more time on it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If I'm not mistaken, the simpler Z-order is achieved simply by interleaving bits, which is &lt;a href=&quot;http://graphics.stanford.edu/~seander/bithacks.html#InterleaveBMN&quot; rel=&quot;nofollow&quot;&gt;a much simpler task&lt;/a&gt;. I decided it was not a very good ordering because adjacent Z-order numbers are sometimes separated by large distances (I didn't actually experiment with it though).&lt;/p&gt;&#xA;" OwnerUserId="4878" LastEditorUserId="4878" LastEditDate="2011-04-29T22:43:51.137" LastActivityDate="2011-04-29T22:43:51.137" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6324" PostTypeId="1" AcceptedAnswerId="6327" CreationDate="2011-04-29T23:26:44.783" Score="11" ViewCount="554" Body="&lt;p&gt;Is it accurate to call the &lt;a href=&quot;http://en.wikipedia.org/wiki/MapReduce&quot;&gt;mapReduce&lt;/a&gt; framework a type of &lt;a href=&quot;http://en.wikipedia.org/wiki/Bulk_Synchronous_Parallel&quot;&gt;bulk synchronous parallel&lt;/a&gt; programming framework with no local memory retention within processors between synchronizations? If not, what parallel programming model most accurately encapsulates the mapReduce framework?&lt;/p&gt;&#xA;" OwnerUserId="4590" LastActivityDate="2011-04-30T22:18:23.063" Title="Is the MapReduce framework a type of BSP?" Tags="&lt;dc.parallel-comp&gt;&lt;machine-models&gt;" AnswerCount="3" CommentCount="3" FavoriteCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="6325" PostTypeId="2" ParentId="6199" CreationDate="2011-04-30T01:43:24.803" Score="5" Body="&lt;p&gt;You might want to check out &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=1774422&amp;amp;dl=ACM&quot;&gt;g-tries&lt;/a&gt;. This is essentially the data structure you're looking for, but designed for use with general graphs instead of just trees. As such, I'm not sure that g-tries have good theoretical guarantees -- I think they use a graph canonization algorithm as a subroutine -- but in practice they seem to work well.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Don't be scared that the linked paper is about &quot;network motifs in biological networks&quot;: the g-trie is a perfectly good abstract data structure for graphs.)&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2011-04-30T01:43:24.803" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6326" PostTypeId="2" ParentId="6297" CreationDate="2011-04-30T03:54:32.303" Score="3" Body="&lt;p&gt;Not really a solution but some observations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is a special case of the following problem: given a universe $U = \{1, \ldots, m\}$, and a collection of sets $S_1, \ldots, S_n \subseteq U$, and a weight function $w:U \rightarrow [-1, 1]$, find the set $I \subseteq [n]$ such that $w(\bigcup_{i \in I}{S_i})$ is maximized (the weight of a set is the total weight of its elements). Your problem corresponds to the case where each element of $U$ appears in exactly two sets (but I am not sure how to exploit this restriction, although it might help).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is a coverage problem: similar to Max-k-Set-Cover, but without the restriction to use $k$ sets and with negative weights allowed. The greedy approximation of Max-k-Set-Cover (at each step output the set that has the largest weight of uncovered elements so far) outputs a sequence of sets such that the first $k$ sets are a $1 + 1/e$ approximation to the optimum (so this is a simultaneous approximation for all $k$). Unfortunately, as usual, there is a problem with analyzing it when weights could be negative. The basic observation of the analysis of the greedy algorithm is that if $S_1$ is the first set that is output, then $w(S_1) \geq OPT_k/k$ ($OPT_k$ being the maximum weight covered by $k$ sets), because $OPT_k$ is less than the sum of the weights of the $k$ sets in the optimal solution, and each of them has weight less than $w(S_1)$. However, with negative weights it's no longer true that $OPT_k$ is less than the sum of the weights in the optimal solution. In general, a union bound is no longer true.&lt;/p&gt;&#xA;" OwnerUserId="4896" LastActivityDate="2011-04-30T03:54:32.303" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6327" PostTypeId="2" ParentId="6324" CreationDate="2011-04-30T04:01:39.913" Score="11" Body="&lt;p&gt;In section 2 of &lt;a href=&quot;http://arxiv.org/abs/1101.1902&quot;&gt;http://arxiv.org/abs/1101.1902&lt;/a&gt;, the authors define a model of MapReduce that is intentionally structured like BSP. They prove simulation theorems as well. May be a good place to start.&lt;/p&gt;&#xA;" OwnerUserId="4896" LastActivityDate="2011-04-30T04:01:39.913" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6328" PostTypeId="1" CreationDate="2011-04-30T05:49:57.330" Score="9" ViewCount="337" Body="&lt;p&gt;Since it's Friday, it's time for a CW question. I'm looking for heuristics that have wide use in optimization problems. To limit the scope to more 'theory-friendly' heuristics, here are the rules (some arbitrary, some not)&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;It should be a well defined method without numerous parameters, and with a concrete running time (maybe per iteration)&lt;/li&gt;&#xA;&lt;li&gt;It should have some known theoretical results associated with it (rate of convergence, approximation bounds if any, stationary properties, and so on)&lt;/li&gt;&#xA;&lt;li&gt;It should have wide applicability and at least one flagship application where it's either the method of choice or one of a few.&lt;/li&gt;&#xA;&lt;li&gt;it should not be inspired by nature (while this seems like a frivolous objection, I'm trying to exclude genetic algorithms, ant colony optimization and the like). &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Answers should ideally be in the following format: here's an example. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Name&lt;/strong&gt;: Alternating optimizaton&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Goal&lt;/strong&gt;: Minimize a (generally nonconvex) function $f(x,y)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Conditions&lt;/strong&gt;: The associated functions $g(x) = \min_y f(x,y)$ and $h(y) = \min_x f(x,y)$ are convex&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Algorithm&lt;/strong&gt;: $i^{\text{th}}$ iteration starts with $x_i, y_i$. &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;$x_{i+1} \leftarrow \arg \min_x f(x, y_i)$&lt;/li&gt;&#xA;&lt;li&gt;$y_{i+1} \leftarrow \arg\min_y f(x_{i+1}, y)$&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Best known app&lt;/strong&gt;: $k$-means, iterated closest pair. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Theory&lt;/strong&gt;: Known results on $k$-means, &lt;a href=&quot;http://geomblog.blogspot.com/2008/01/important-heuristics-alternating.html&quot; rel=&quot;nofollow&quot;&gt;general sufficient conditions for global optimality of framework&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;p.s You might find that your answer ends up as a lecture in an algorithms seminar I'm planning :)&lt;/p&gt;&#xA;" OwnerUserId="80" LastEditorUserId="186" LastEditDate="2011-05-02T16:55:52.163" LastActivityDate="2011-05-02T16:55:52.163" Title="Heuristics for Optimization" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;optimization&gt;&lt;heuristics&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="3" CommunityOwnedDate="2011-04-30T05:50:12.353" ContentLicense="CC BY-SA 3.0" />
  <row Id="6329" PostTypeId="2" ParentId="6324" CreationDate="2011-04-30T06:15:55.433" Score="2" Body="&lt;p&gt;Since in MapReduce there is a simple and structured graph underlying the computation, this can IMHO classified as a data-flow model.&lt;/p&gt;&#xA;" OwnerUserId="4208" LastActivityDate="2011-04-30T06:15:55.433" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6330" PostTypeId="1" AcceptedAnswerId="6349" CreationDate="2011-04-30T07:21:25.983" Score="6" ViewCount="617" Body="&lt;p&gt;N items have been placed at specific points on a map. A prize is awarded to the first person who turns in a list with the location of all N items. The location of each item must fall with a distance error of E.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Player 1 has J locations where $$J &amp;lt; N$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Player 2 has K locations where $$K &amp;lt; N$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;And for this problem we assume $$(J + K) &amp;gt; N$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Players 1 and 2 agree to pool their locations to win the prize, but not before they each determine that they have the location of all N items. i.e. $$ J \bigcup K = N $$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Each player wants proof that the other player has some number of locations which they themselves do not have.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is it possible for a player to prove to the other that they have a location that the other player does not have without disclosing that location?&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;I call my best guess the triangle game (or sub-game if your prefer)&#xA;Here is one round of Player 1 trying to prove a location to player 2.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Player 1 picks a point on the map x1,y1 &lt;/li&gt;&#xA;&lt;li&gt;Player 2 picks a point on the map x2,y2 and a condition 'player 1's point will be in the triangle formed by x1,y1 x2,y2 and x3,y3' &lt;/li&gt;&#xA;&lt;li&gt;Player 1 picks a point on the map x3,y3 for which at least one his points falls inside the triangle&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;The condition in step 2 may also be 'player 1's point will not be in the triangle formed by x1,y1 x2,y2 and x3,y3'.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Player 2 will try to pick a point and a condition such that he can confirm that Player 1's point is not one of his K points.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The players may have to play this triangle game many rounds in order to verify a point. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This problem is based on the &lt;a href=&quot;https://networkchallenge.darpa.mil/Default.aspx&quot; rel=&quot;nofollow&quot;&gt;DARPA Network Challenge&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;N items=10 red balloons&#xA;map=the continental United States&#xA;prize=$40,000 &#xA;distance error of E &amp;lt; 1.0 mile&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;" OwnerUserId="4903" LastEditorUserId="186" LastEditDate="2011-05-01T19:10:00.513" LastActivityDate="2011-05-01T19:10:00.513" Title="Existence of zero-knowledge proof for location" Tags="&lt;cr.crypto-security&gt;&lt;communication-complexity&gt;&lt;it.information-theory&gt;&lt;zero-knowledge&gt;" AnswerCount="1" CommentCount="7" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6332" PostTypeId="2" ParentId="6302" CreationDate="2011-04-30T13:06:33.373" Score="2" Body="&lt;p&gt;There are several books about random graphs, like Bollobás' Book and there are several models of random graphs like small-world &lt;a href=&quot;http://en.wikipedia.org/wiki/Small-world_network&quot; rel=&quot;nofollow&quot;&gt;wikipedia's link&lt;/a&gt; or preferential attachment &lt;a href=&quot;http://en.wikipedia.org/wiki/Scale-free_network&quot; rel=&quot;nofollow&quot;&gt;wikipedia's link&lt;/a&gt;, to model networks with small distances between computers or the ones with degree distribution following a power law, respectively.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think there is no easy way to model a real computer network, but I'm pretty sure that G(n,p) would not model it very well. Unless you are working with a very specific organized network.&lt;/p&gt;&#xA;" OwnerUserId="4908" LastActivityDate="2011-04-30T13:06:33.373" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6333" PostTypeId="2" ParentId="6302" CreationDate="2011-04-30T13:25:53.323" Score="2" Body="&lt;p&gt;My recommendation is the survey paper written by the inventors of the R-MAT random graph generator.  &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=1132954&quot; rel=&quot;nofollow&quot;&gt;http://portal.acm.org/citation.cfm?id=1132954&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The R-MAT random graph generator is very simple and widely used.  For example, this generator is adopted in the Graph500 benchmark ( &lt;a href=&quot;http://www.graph500.org/&quot; rel=&quot;nofollow&quot;&gt;http://www.graph500.org/&lt;/a&gt; ).&lt;/p&gt;&#xA;" OwnerUserId="3825" LastEditorUserId="3825" LastEditDate="2011-04-30T13:38:57.967" LastActivityDate="2011-04-30T13:38:57.967" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6334" PostTypeId="2" ParentId="6068" CreationDate="2011-04-30T13:36:31.040" Score="0" Body="&lt;p&gt;I like the &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0198532105&quot; rel=&quot;nofollow&quot;&gt;Diestel's book&lt;/a&gt;. It explains how modular decomposition works and how to apply it. In this book there is also a lot of information about convexity in a graph.&lt;/p&gt;&#xA;" OwnerUserId="4908" LastActivityDate="2011-04-30T13:36:31.040" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6336" PostTypeId="2" ParentId="2562" CreationDate="2011-04-30T17:12:46.983" Score="6" Body="&lt;p&gt;You can get a $O(\lg n)$ (amortized) slowdown if, after many $push$es and no $pop$s, when you see a $pop$ you perform a sequence of perfect shuffles using the two queues.  It was proven by Diaconis, Graham and Cantor in &quot;The Mathematics of Perfect Shuffles&quot; in 1983 that with $O(\lg n)$ perfect shuffles one can reorder the &quot;deck&quot; into any order.  Therefore, you could maintain one queue as the &quot;input queue&quot; and one queue as the &quot;output queue&quot; (similar to the two stacks case) and then when a $pop$ is requested and the output queue is empty, you perform a sequence of perfect shuffles to reverse the input queue and store it in the output queue.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The only remaining question is whether the particular pattern of perfect shuffles required is regular enough to not require more than $O(1)$ memory.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As far as I know, this is a new idea...&lt;/p&gt;&#xA;" OwnerUserId="730" LastActivityDate="2011-04-30T17:12:46.983" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="6337" PostTypeId="2" ParentId="3253" CreationDate="2011-04-30T17:21:07.147" Score="12" Body="&lt;p&gt;&lt;strong&gt;Graph Theory&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For introduction to graph theory:&#xA;&lt;a href=&quot;http://www.math.uiuc.edu/~west/igt/&quot; rel=&quot;noreferrer&quot;&gt;Introduction to Graph Theory by West&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More about graph theory:&#xA;&lt;a href=&quot;http://www.math.jussieu.fr/~jabondy/&quot; rel=&quot;noreferrer&quot;&gt;Graph Theory by Bondy and Murty&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The comprehensive book which contains new developments as well as old classic results in graph theory :&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://diestel-graph-theory.com/&quot; rel=&quot;noreferrer&quot;&gt;Graph theory : Reinhard Diestel&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For graphs on surfaces with combinatorial approach:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0801866898&quot; rel=&quot;noreferrer&quot;&gt;Graphs On Surfaces&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;And for digraphs:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.cs.rhul.ac.uk/books/dbook/&quot; rel=&quot;noreferrer&quot;&gt;Digraphs: Theory, Algorithms and Applications&lt;/a&gt; &lt;/p&gt;&#xA;" OwnerUserId="4908" LastEditorUserId="1846" LastEditDate="2015-07-15T10:28:54.443" LastActivityDate="2015-07-15T10:28:54.443" CommentCount="1" CommunityOwnedDate="2011-04-30T17:21:07.147" ContentLicense="CC BY-SA 3.0" />
  <row Id="6338" PostTypeId="2" ParentId="3253" CreationDate="2011-04-30T17:55:08.880" Score="21" Body="&lt;h2&gt;Distributed algorithms&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/1558603484&quot;&gt;Distributed Algorithms&lt;/a&gt; by Nancy Lynch&#xA;This is a classic text written by a pioneer of distributed computing; &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0521794838&quot;&gt;Introduction to Distributed Algorithms&lt;/a&gt; by Gerard Tel&#xA;Very good introduction, also suitable for undergraduate level courses; focused on the message-passing model&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0471453242&quot;&gt;Distributed Computing: Fundamentals, Simulations, and Advanced Topics&lt;/a&gt; by Hagit Attiya and Jennifer Welch&#xA;This contains advanced materials, suitable for PhD level courses; both message-passing and shared-memory models are discussed&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0471719978&quot;&gt;Design and Analysis of Distributed Algorithms&lt;/a&gt; By Nicola Santoro&#xA;A relatively recent book, may be used both at the undergraduate and PhD level; materials are presented with an emphasis on protocol design&lt;/p&gt;&#xA;" OwnerUserId="4208" LastEditorUserId="1037" LastEditDate="2012-10-24T19:03:23.530" LastActivityDate="2012-10-24T19:03:23.530" CommentCount="0" CommunityOwnedDate="2011-04-30T17:55:08.880" ContentLicense="CC BY-SA 3.0" />
  <row Id="6340" PostTypeId="2" ParentId="6324" CreationDate="2011-04-30T22:18:23.063" Score="5" Body="&lt;p&gt;Yes, my opinion is that classical MapReduce is a BSP model (and therefore has its inherent limitations on the maximum possible parallel performance that can be achieved).  However, newer work on MapReduce seems to be focused on looser notions of synchronization, which would take this &quot;generalized MapReduce&quot; out of the strict BSP framework.  In particular, if one replicates some of the data then the synchronization structure can be relaxed, yielding performance gains.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See for instance work by Foto Afrati and Jeff Ullman: &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=1739041.1739056&quot;&gt;&lt;em&gt;Optimizing joins in a map-reduce environment&lt;/em&gt;&lt;/a&gt;, EDBT 2010. (&lt;a href=&quot;http://infolab.stanford.edu/~ullman/pub/join-mr.pdf&quot;&gt;preprint&lt;/a&gt;)&lt;/p&gt;&#xA;" OwnerUserId="109" LastActivityDate="2011-04-30T22:18:23.063" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6341" PostTypeId="1" AcceptedAnswerId="6346" CreationDate="2011-04-30T22:46:52.083" Score="7" ViewCount="167" Body="&lt;p&gt;From &lt;a href=&quot;http://perso.ens-lyon.fr/eric.thierry/Graphes2007/cmr00.pdf&quot; rel=&quot;nofollow&quot;&gt;&quot;Linear Time Solvable Optimization Problems on Graphs of Bounded Clique Width&quot; (B. Courcelle et al)&lt;/a&gt;  we know that any problem that can be written on MSOL (Monadic Second Order Logic) has a linear algorithm that solves it on graphs with bounded &lt;a href=&quot;http://en.wikipedia.org/wiki/Clique-width&quot; rel=&quot;nofollow&quot;&gt;clique-width&lt;/a&gt;. However the algorithm takes as input the K-expression of the graph and obtaining it is NP-Complete if K is not fixed.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In a later paper &lt;a href=&quot;http://lita.sciences.univ-metz.fr/~kratsch/publications/bottleneck.ps&quot; rel=&quot;nofollow&quot;&gt;&quot;Improved bottleneck domination algorithms&quot; (T. Kloks et al)&lt;/a&gt;, there is a description of several bottleneck problems, including the Bottleneck Independent Dominating Set (BIDS) which asks for an &lt;strong&gt;independent dominating set&lt;/strong&gt; &lt;em&gt;D&lt;/em&gt; such that maximum weight over the vertices in &lt;em&gt;D&lt;/em&gt; is as small as possible.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In section 4.4 they give an algorithm with complexity $O(5^kk^3n)$ for the BIDS problem on graphs with clique-width bounded and where the k-expression is given.&#xA;As far as I know this problem can be written in MSOL and hence the first paper (which is earlier) gives a better result for the same problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Am I wrong? Is there any technical detail or concept that I am missing?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks in advance&lt;/p&gt;&#xA;" OwnerUserId="2582" LastEditorUserId="77" LastEditDate="2011-05-01T07:08:28.893" LastActivityDate="2011-05-01T09:36:22.633" Title="Using MSOL for solving BIDS problem" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;lo.logic&gt;&lt;descriptive-complexity&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6342" PostTypeId="2" ParentId="3253" CreationDate="2011-05-01T00:14:07.957" Score="8" Body="&lt;p&gt;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0195125169&quot; rel=&quot;noreferrer&quot;&gt;Fundamental Algorithms in Algorithmic Algebra&lt;/a&gt; by Chee Yap (available online &lt;a href=&quot;http://www.cs.nyu.edu/yap/book/berlin/&quot; rel=&quot;noreferrer&quot;&gt;here&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This text covers (fast) integer multiplication, polynomial root finding, integer polynomial factorization, lattice reduction techniques (specifically LLL), elimination theory, Grobner bases and continued fractions, all from an algorithmic perspective.  I found this text indispensable when learning about lattice reduction.&lt;/p&gt;&#xA;" OwnerUserId="834" LastActivityDate="2011-05-01T00:14:07.957" CommentCount="0" CommunityOwnedDate="2011-05-01T00:14:07.957" ContentLicense="CC BY-SA 3.0" />
  <row Id="6344" PostTypeId="2" ParentId="6328" CreationDate="2011-05-01T04:24:28.583" Score="2" Body="&lt;p&gt;Name: iterated reweighted least square&#xA;&lt;br&gt;&#xA;Goal: minimize function of the form $ \sum w(\theta)F(\theta)^2$, $\theta\in R^n$, $F(\theta) \in R^m$, $w(\theta)\in R$&#xA;&lt;br&gt;&#xA;Conditions:  depend on case&#xA;&lt;br&gt;&#xA;Algorithm: obvious - fix weights, solve quadratic problem, recalculate weights&#xA;&lt;br&gt;&#xA;Best known app: geometric median,  M-estimators,$L_p$ norm, compressed sensing&#xA;&lt;br&gt;&#xA;Theory:  proven on-case-to-case basis&lt;/p&gt;&#xA;" OwnerUserId="4918" LastEditorUserId="4918" LastEditDate="2011-05-01T05:42:14.357" LastActivityDate="2011-05-01T05:42:14.357" CommentCount="0" CommunityOwnedDate="2011-05-01T04:24:28.583" ContentLicense="CC BY-SA 3.0" />
  <row Id="6345" PostTypeId="2" ParentId="3253" CreationDate="2011-05-01T08:44:15.913" Score="11" Body="&lt;h2&gt;Proof Theory&lt;/h2&gt;&#xA;&lt;p&gt;Troelstra and Schwichtenberg's book &lt;a href=&quot;http://books.google.com/books?id=x9x6F_4mUPgC&quot; rel=&quot;nofollow noreferrer&quot;&gt;Basic Proof Theory&lt;/a&gt; is the de facto text on the topic now.&lt;/p&gt;&#xA;&lt;p&gt;Girard, Taylor &amp;amp; LaFont's &lt;a href=&quot;http://books.google.com/books?id=6JOEQgAACAAJ&quot; rel=&quot;nofollow noreferrer&quot;&gt;Proofs and Types&lt;/a&gt; is a shorter&#xA;book on the subject, and a version of it is available for download at &lt;a href=&quot;http://www.paultaylor.eu/stable/Proofs%2BTypes.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://www.paultaylor.eu/stable/Proofs%2BTypes.html&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="4494" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2013-09-26T22:12:28.180" CommentCount="0" CommunityOwnedDate="2011-05-01T08:44:15.913" ContentLicense="CC BY-SA 3.0" />
  <row Id="6346" PostTypeId="2" ParentId="6341" CreationDate="2011-05-01T09:36:22.633" Score="8" Body="&lt;p&gt;The $O(5^kk^3n)$ is linear in $n$ as well and $O(n)$ for bounded $k$.&#xA;The Courcelle, Makowski, Rotics paper does not give explicit/good upper bounds for the contants hidden in the big-O.  If you want to make the dependency on $k$ explicit as in $O(f(k)n)$, then additional work is required.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See &quot;&lt;a href=&quot;http://www.springerlink.com/index/10.1007/978-3-642-15155-2_17&quot; rel=&quot;nofollow&quot;&gt;Faster Algorithms on Clique and Branch Decompositions&lt;/a&gt;&quot; by&#xA;Bodlaender et al (MFCS 2010)  for recent algorithms for domination-style algorithms.&lt;/p&gt;&#xA;" OwnerUserId="4920" LastActivityDate="2011-05-01T09:36:22.633" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="6347" PostTypeId="1" AcceptedAnswerId="6352" CreationDate="2011-05-01T10:41:30.393" Score="11" ViewCount="310" Body="&lt;p&gt;Matrix $A$ has dimension $n \times n(n-1)$. We want to fill $A$ using integers between $1$ and $n$, inclusive.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Requirements:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Each column of $A$ is a permutation of $1, \dots, n$.&lt;/li&gt;&#xA;&lt;li&gt;Any submatrix formed by two rows of $A$ cannot have identical columns.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Question:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is it possible to fill the matrix satisfying the requirements?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Relation to cryptography:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Each row number corresponds to a plaintext. Each column corresponds to a key. Since a key defines an injection, each column must be a permutation. The second requirement is for perfect secrecy for two messages.&lt;/p&gt;&#xA;" OwnerUserId="4471" LastEditorUserId="186" LastEditDate="2011-05-01T19:06:27.040" LastActivityDate="2011-05-02T01:06:35.957" Title="Solvability of matrix filling" Tags="&lt;co.combinatorics&gt;&lt;cr.crypto-security&gt;&lt;coding-theory&gt;" AnswerCount="2" CommentCount="4" FavoriteCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6348" PostTypeId="2" ParentId="6347" CreationDate="2011-05-01T11:24:52.793" Score="11" Body="&lt;p&gt;This is a partial solution.  Such a matrix exists if &lt;i&gt;n&lt;/i&gt; is a prime power.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let &lt;i&gt;F&lt;/i&gt; be the finite field of order &lt;i&gt;n&lt;/i&gt;.  We construct an &lt;i&gt;n&lt;/i&gt;×&lt;i&gt;n&lt;/i&gt;(&lt;i&gt;n&lt;/i&gt;−1) matrix whose rows are labeled by &lt;i&gt;F&lt;/i&gt;, whose columns are labeled by (&lt;i&gt;F&lt;/i&gt;∖{0})×&lt;i&gt;F&lt;/i&gt;, and whose entries are in &lt;i&gt;F&lt;/i&gt; as follows: the &lt;i&gt;i&lt;/i&gt;-th row of the column labeled (&lt;i&gt;a&lt;/i&gt;, &lt;i&gt;b&lt;/i&gt;) is given by &lt;i&gt;ai&lt;/i&gt;+&lt;i&gt;b&lt;/i&gt;.  In words, each column corresponds to a degree-one polynomial in &lt;i&gt;F&lt;/i&gt;.  Then each column contains each element of &lt;i&gt;F&lt;/i&gt; exactly once, and no two columns have equal entries in more than one row because the values of two distinct degree-one polynomials can coincide at at most one point.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(If you want a matrix whose entries are in {1,…,&lt;i&gt;n&lt;/i&gt;} instead of in &lt;i&gt;F&lt;/i&gt;, replace the elements of &lt;i&gt;F&lt;/i&gt; with {1,…,&lt;i&gt;n&lt;/i&gt;} arbitrarily.)&lt;/p&gt;&#xA;" OwnerUserId="567" LastEditorUserId="567" LastEditDate="2011-05-01T13:10:13.260" LastActivityDate="2011-05-01T13:10:13.260" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="6349" PostTypeId="2" ParentId="6330" CreationDate="2011-05-01T12:41:26.430" Score="10" Body="&lt;p&gt;I think part of the problem you are having finding a solution is that you are using the wrong name for this concept. While it is indeed closely related to the idea of a zero knowledge proof, this type of protocol, accepting input from multiple parties, is known as either Secure Function Evaluation or &lt;a href=&quot;http://en.wikipedia.org/wiki/Secure_multi-party_computation&quot;&gt;Secure Multi-Party Computation&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let's first simplify the game and assume it is played on a lattice, so that the points are discrete. It seems to me that you simply wish to compute $|J \cup K|$. Trivially, this is equal to $|J \cup K| = |J| + |K| - |J \cap K|$. Now, I assume you do not mind each party learning the number of locations the other party holds. In this case, $|J|$ and $|K|$ are public. In this case all that is required to determine $|J \cup K|$ is $|J \cap K|$. Now, if we think of the inputs of Player 1 (henceforth Alice) and Player 2 (henceforth Bob) as being a vector of length equal to the total number of locations possible, with zeros everywhere except for the location that player holds (which is set to 1). In this case $|J \cap K|$ is simply the inner product of their two vectors. Fortunately there are SFE protocols for exactly this inner product computation (see &lt;a href=&quot;http://ieeexplore.ieee.org/Xplore/login.jsp?url=http://ieeexplore.ieee.org/iel5/4035458/4035896/04036100.pdf?arnumber=4036100&amp;amp;authDecision=-203&quot;&gt;here&lt;/a&gt; for example). So Alice and Bob simply calculate $|J \cup K|$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, what about the case you give, where the locations are not discrete, but are rather parameterised by a pair of real numbers which have some range associated with them? In this case it is not sufficient to determine whether two points exactly coincide, but we need to also determine which points are close enough to one another to overlap in the area covered. This can be done fairly easily: The first step is to discretize the set of possible locations, hence imposing some fixed resolution on the problem (in practice you only need the range covered by each location to extend a few pixels in each direction). Once you have done this, the protocol would proceed as follows: Bob prepares a register equal in size to the total number of possible discretized locations. Everywhere is zero, unless that location is within distance $D=2E$ of one of his locations in which case it is set to 1. Alice prepares her vector as before, with a 1 at only her discretized locations. Then Alice and Bob run the secure dot product protocol. The number returned by this is simply the number of locations held by Alice such that the area covered by that point overlaps with the area covered by some location held by Bob. (Adjusting the $D$ parameter can be done to set some minimum overlap if desired). In this way, Alice and Bob can count the number of points where the overlap exceeds some threshold, and the total number of distinct locations they would hold between them.&lt;/p&gt;&#xA;" OwnerUserId="204" LastEditorUserId="204" LastEditDate="2011-05-01T12:49:53.250" LastActivityDate="2011-05-01T12:49:53.250" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="6350" PostTypeId="1" AcceptedAnswerId="6351" CreationDate="2011-05-01T14:31:37.510" Score="11" ViewCount="272" Body="&lt;p&gt;All of the computer-related museums and exhibits I'm aware of seem to only cover the history of computing machinery, but nothing on topics of computer science.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You are involved in the creation of a new Museum of Computing, chartered to educate, entertain, and inspire the general public in a wide variety of computing/computer science/communication/mathematics topics.  Though history and celebrity can be part of the exhibits, this is not a history museum.  Instead, visitors learn about timeless concepts that enable computing, from the hardware layer on up.  Budget is not specified but ideas should be durable and practical for high volumes of visitors in permanent installations, with minimal staffing/disposable materials similar to the world's best science centers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What exhibits would you include?&lt;/p&gt;&#xA;" OwnerUserId="509" LastEditorUserId="186" LastEditDate="2011-05-01T19:00:22.133" LastActivityDate="2011-05-04T12:18:07.603" Title="Exhibits for a Museum of Computing" Tags="&lt;soft-question&gt;&lt;big-list&gt;&lt;ho.history-overview&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="2" CommunityOwnedDate="2011-05-02T02:10:39.573" ContentLicense="CC BY-SA 3.0" />
  <row Id="6351" PostTypeId="2" ParentId="6350" CreationDate="2011-05-01T15:15:51.797" Score="8" Body="&lt;p&gt;Scott Aaronson addresses this particular question on his blog Shtetl-Optimized when considering the timeline of Computer Science. The relevant posts in chronological order:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.scottaaronson.com/blog/?p=524&quot;&gt;Timeline of Computer Science&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.scottaaronson.com/blog/?p=582&quot;&gt;Top 150 computer science events to be decided once and for all&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.scottaaronson.com/blog/?p=608&quot;&gt;CS timeline voting: the results are in!&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Most of the events in his list would make good exhibits, although it might be difficult to figure out how to present some of them physically.&lt;/p&gt;&#xA;" OwnerUserId="1037" LastActivityDate="2011-05-01T15:15:51.797" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6352" PostTypeId="2" ParentId="6347" CreationDate="2011-05-01T16:00:31.437" Score="11" Body="&lt;p&gt;Tsuyoshi, great observation in your comment! I think this nearly solves the problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider the following two questions&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Do there exist $k$ rows of length&#xA;$n(n-1)$ so that no number appears&#xA;twice in any column, and for each&#xA;pair of rows all ordered pairs given&#xA;by the columns are distinct?&lt;/li&gt;&#xA;&lt;li&gt;Do there exist $k$ rows of length&#xA;$n^2$ so that for each pair of rows,&#xA;all ordered pairs given by the&#xA;columns are distinct?&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Tsuyoshi's observation in his comment shows that if you can achieve some value $k$ for question (1), you can achieve the same value $k$ for question (2). We now show that if we can achieve some value $k$ for question (2), we can achieve the value $k-1$ for question (1). Thus, the answer to these two questions are nearly the same.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The construction goes as follows: Ignore the first row, except put all the $1$'s in the first $n$ positions. You can now apply a permutation of the values $\lbrace 1, 2, \ldots, n \rbrace$ to each of the $k-1$ remaining rows so that, except for the first entry, each of the first $n$ columns contains identical values, and by Tsuyoshi's observation in the comment, this gives you a set of $k-1$ rows satisfying your condition. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, if you have a set of $k$ rows of length $n^2$ with every pair of rows containing all ordered pairs in each column, then this is equivalent to a set of $k-2$ &lt;a href=&quot;http://en.wikipedia.org/wiki/Graeco-Latin_square#Mutually_orthogonal_Latin_squares&quot; rel=&quot;nofollow&quot;&gt;orthogonal Latin squares&lt;/a&gt;. Each of the rows $3$, $4$, $\ldots$, $k$ gives a Latin square. To get the Latin square associated with row $j$, put the value in the $i$'th column of row $j$ in the cell whose coordinates are given by the ordered pair in the $i$'th column in the first two rows. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $n$ is not a prime power, how many mutually orthogonal Latin squares of order $n$ exist is a famous open problem, and I do not believe any set of $n-2$ orthogonal Latin squares is known to exist for $n$ not a prime power; the general consensus is that such sets do not exist. &#xA;The only result proven so far is that such a set does not exist for $n=6$. What is known is that the number $k$ of possible rows grows at least as $k=\Omega(n^c)$ for some $c$. I believe whether there are 8 orthogonal Latin squares of order 10 is still open. (It is known that there are not 9, but because of the possible difference of $1$ in the answer to the two questions, this doesn't tell us anything about the original problem.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For $n=6$, the maximum $k$ you can get is 3, and it turns out you can obtain three rows for problem (1) by looking at any $6\times 6$ Latin square with a transversal, of which there are many non-equivalent examples. For $n=10$, there are known constructions giving two orthogonal Latin squares. If these squares have a common transversal, then you can get $k=4$ for problem (1).&lt;/p&gt;&#xA;" OwnerUserId="1677" LastEditorUserId="1677" LastEditDate="2011-05-02T01:06:35.957" LastActivityDate="2011-05-02T01:06:35.957" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="6353" PostTypeId="1" AcceptedAnswerId="6354" CreationDate="2011-05-01T20:44:47.807" Score="3" ViewCount="3154" Body="&lt;p&gt;I would like to find (all) cliques in a given graph with 8,568 vertices and 12,726,708 edges. The vertex with the lowes degree has 2000, the vertext with the highest degree has 4007.&#xA;The cliques should have exactly 17 vertices.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The algorithm should be fast, because of the size of the graph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I had the following idea:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Delete all vertices with a degree of 16 or less.&lt;/li&gt;&#xA;&lt;li&gt;Iterate over every vertex&#xA;&lt;ul&gt;&#xA;&lt;li&gt;try to add another vertex:&#xA;&lt;ul&gt;&#xA;&lt;li&gt;If the clique has exactly 17 vertices: Add it to a list&lt;/li&gt;&#xA;&lt;li&gt;Else: Keep trying to add vertices&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;li&gt;If no more vertices can be added: go back to the latest point where you had the choice to add some vertices and add one of those that could not be added before.&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I didn't implement this algorithm, because I think it will be quite slow. Do you know better ones?&lt;/p&gt;&#xA;" OwnerUserId="4149" LastEditorUserId="186" LastEditDate="2011-05-02T16:56:14.707" LastActivityDate="2011-05-02T16:56:14.707" Title="Finding cliques in a big graph" Tags="&lt;ds.algorithms&gt;&lt;graph-algorithms&gt;&lt;exp-time-algorithms&gt;&lt;clique&gt;" AnswerCount="4" CommentCount="2" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="6354" PostTypeId="2" ParentId="6353" CreationDate="2011-05-01T21:20:45.267" Score="10" Body="&lt;p&gt;These kind of problems are in general very hard with the decission version of a problem often being NP-hard, so I doubt you will find an algorithm fast enough, unless your graph has some peculiarity which allows you to discard a large number of vertices.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since you restrict it to cliques of exactly 17 vertices then trivially there is an $O(n^{17})$ algorithm, but I'd hardly call this fast. To do this simply step through all subsets of 17 vertices in lexicographical order and check whether they form a clique. Note that this is exactly $\binom{n}{17}$ subsets. Note however, that for an input graph which is itself a clique, there are $\binom{n}{17}$ cliques of comprised of 17 vertices, and hence this trivial algorithm is optimal if we consider only worst case scaling, since simply reading a list of all such cliques takes $\binom{n}{17}$ steps. In order to do better than this, you need a graph with some structure.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So for your specific case of $n=8568$ you potentially have $2 \times 10^{52}$ cliques of 17 vertices. Further since you have more than 12 million edges, this is enough for a maximally connected graph of 5000 vertices, which would have approximately $2 \times 10^{48}$ unique subsets 17 vertices which form cliques, so for the parameters you have listed it is entirely possible that you simply cannot enumerate cliques fast enough to give you a reasonable run time.&lt;/p&gt;&#xA;" OwnerUserId="204" LastEditorUserId="204" LastEditDate="2011-05-01T22:26:07.897" LastActivityDate="2011-05-01T22:26:07.897" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="6355" PostTypeId="2" ParentId="6302" CreationDate="2011-05-01T23:01:06.513" Score="3" Body="&lt;p&gt;The problem with using Erdos-Renyi random graphs ($G(n,p)$ or $G(n,m)$) is that they follow a Poisson degree distribution, which gives them finite second moment.  Many real world graphs, including the &quot;Web graph&quot; or the &quot;Internet Graph&quot;, tend to not follow this degree distribution in favor of a degree distribution that has much more variability in it's second moment.  In my opinion, one of the biggest differences is the power law degree distribution that many of them have.  See &lt;a href=&quot;http://www.barabasilab.com/pubs/CCNR-ALB_Publications/199910-15_Science-Emergence/199910-15_Science-Emergence.pdf&quot; rel=&quot;nofollow&quot;&gt;Emergence of Scaling in Random Networks&lt;/a&gt; for example.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As you probably know, there appears to be a difference between the connectivity graph for the World Wide Web and opposed the connectivity graph for the Internet infrastructure.  I certainly don't claim to be an expert, but I've seen Li, Alderson, Tanaka, Doyle and Willinger's paper &lt;a href=&quot;http://arxiv.org/pdf/cond-mat/0501169&quot; rel=&quot;nofollow&quot;&gt;&quot;Towards a Theory of Scale-Free Graphs: Definition, Properties, and Implications&quot;&lt;/a&gt; who introduce an 's-metric' to measure the 'scale-freeness' of a graph (with the definition of &lt;a href=&quot;http://en.wikipedia.org/wiki/Scale-free_network&quot; rel=&quot;nofollow&quot;&gt;scale-free graphs&lt;/a&gt; still under debate as far as I know) that claim to have a graph model that creates graphs that are similar to the internet connectivity at a router level.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here are a few more generative models that might be of interest:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Berger, Borgs, Chayes, D'Souza and Kleinberg's paper &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.126.9405&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;nofollow&quot;&gt;&quot;Competition-Induced Preferential Attachement&quot;&lt;/a&gt; &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Carlson and Doyle's &lt;a href=&quot;http://www.cds.caltech.edu/~doyle/CmplxNets/PRE01412.pdf&quot; rel=&quot;nofollow&quot;&gt;Highly Optimized Tolerance: A Mechanism for Power Laws in Designed Systems&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Molloy and Reed's &lt;a href=&quot;http://www.cs.toronto.edu/~molloy/webpapers/gc2.ps&quot; rel=&quot;nofollow&quot;&gt;A Critical Point for Random Graphs with a Given Degree Sequence&lt;/a&gt; which introduces the &quot;Erased Configuration Model&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Newman's &lt;a href=&quot;http://arxiv.org/pdf/cond-mat/0104209&quot; rel=&quot;nofollow&quot;&gt;Clustering and preferential attachment in growing networks&lt;/a&gt; (which has been mentioned already)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One could also explicitly generate a degree distribution and create a graph this way, but it's unclear to me how close this models the internet graph at a router level.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is, of course, much more literature on the subject and I've only given a few of (what I consider to be) the highlights.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As far as I understand, many results that worked for the Erdos-Renyi models of random graphs ($G(n,p)$ or $G(n,m)$) do not work precisely because the scale-free or power law degree distributed random graphs diverging second moment in the degree distribution.  I don't claim to know enough about to the subject to categorically make claims about &quot;most&quot; proofs, but from what I've seen, one of the first few lines of proofs for properties on Erdos-Renyi random graphs explicitly assumes a finite second moment in the degree distribution.  From my point of view, this makes sense as a finite second moment makes Erdos-Renyi graphs much more locally tree-like (see Mertens and Montanari's &lt;a href=&quot;http://www.ens-lyon.fr/PHYSIQUE/Peyresq08/documents/Mezard_Peyresq.pdf&quot; rel=&quot;nofollow&quot;&gt;Information, physics, and computation&lt;/a&gt;) which effectively gives properties/paths/structures independence.  Since power-law degree distributed random graphs have a diverging second moment, this local tree-like structure is destroyed (and thus requires different proof techniques?).  I would be happy to have this intuition invalidated if someone with more knowledge or insight were to show why this is not so.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hope that helps.&lt;/p&gt;&#xA;" OwnerUserId="834" LastActivityDate="2011-05-01T23:01:06.513" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6356" PostTypeId="1" CreationDate="2011-05-02T00:01:08.940" Score="143" ViewCount="18433" Body="&lt;p&gt;Suppose Mario is walking on the surface of a planet.  If he starts walking from a known location, in a fixed direction, for a predetermined distance, how quickly can we determine where he will stop?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://i.stack.imgur.com/hvaiP.jpg&quot; rel=&quot;noreferrer&quot;&gt;&lt;img src=&quot;https://i.stack.imgur.com/hvaiP.jpg&quot; alt=&quot;enter image description here&quot;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More formally, suppose we are given a convex polytope $P$ in 3-space, a starting point $s$ on the surface of $P$, a direction vector $v$ (in the plane of some facet containing $p$), and a distance $\ell$.  How quickly can we determine which facet of $P$ Mario will stop inside?  (As a technical point, assume that if Mario walks into a vertex of $P$, he immediately explodes; fortunately, this &lt;a href=&quot;http://en.wikipedia.org/wiki/Almost_never&quot; rel=&quot;noreferrer&quot;&gt;almost never&lt;/a&gt; happens.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Or if you prefer: suppose we are given the polytope $P$, the source point $s$, and the direction vector $v$ in advance.  After preprocessing, how quickly can we answer the question for a given distance $\ell$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's easy to simply trace Mario's footsteps, especially if $P$ has only triangular facets.  Whenever Mario enters a facet through one of its edges, we can determine in $O(1)$ time which of the other two edges he must leave through.  Although the running time of this algorithm is only linear in the number of edge-crossings, it's &lt;em&gt;unbounded&lt;/em&gt; as a function of the input size, because the distance $\ell$ could be arbitrarily larger than the diameter of $P$.  Can we do better? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;(In practice, the path length isn't actually unbounded; there is a global upper bound in terms of the number of bits needed to represent the input.  But insisting on integer inputs raises some rather nasty numerical issues — How do we compute &lt;em&gt;exactly&lt;/em&gt; where to stop? — so let's stick to real inputs and exact real arithmetic.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is anything nontrivial known about the complexity of this problem?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt; In light of julkiewicz's comment, it seems clear that a real-RAM running time bounded purely in terms of $n$ (the complexity of the polytope) is impossible.  Consider the special case of a two-sided unit square $[0,1]^2$, with Mario starting at $(0,1/2)$ and walking in direction $(1,0)$.  Mario will stop on the front or the back of the square depending on the parity of the integer $\lfloor \ell \rfloor$.  We can't compute the floor function in constant time on the real RAM, unless we're happy &lt;a href=&quot;http://www.computational-geometry.org/mailing-lists/compgeom-announce/2003-December/000852.html&quot; rel=&quot;noreferrer&quot;&gt;equating PSPACE and P&lt;/a&gt;.  But we can compute $\lfloor \ell \rfloor$ in $O(\log \ell)$ time by exponential search, which is an exponential improvement over the naive algorithm.  &lt;strong&gt;Is time polynomial in $n$ and $\log \ell$ always achievable?&lt;/strong&gt;&lt;/p&gt;&#xA;" OwnerUserId="111" LastEditorUserId="-1" LastEditDate="2017-05-17T07:38:56.803" LastActivityDate="2017-05-17T07:38:56.803" Title="Super Mario Galaxy problem" Tags="&lt;ds.algorithms&gt;&lt;cg.comp-geom&gt;" AnswerCount="2" CommentCount="29" FavoriteCount="52" ContentLicense="CC BY-SA 3.0" />
  <row Id="6357" PostTypeId="2" ParentId="6353" CreationDate="2011-05-02T01:31:56.203" Score="10" Body="&lt;p&gt;Eppstein and Strash (2011) show that for a graph &lt;span class=&quot;math-container&quot;&gt;$G$&lt;/span&gt; with degeneracy &lt;span class=&quot;math-container&quot;&gt;$d$&lt;/span&gt; all maximal cliques can be listed in time &lt;span class=&quot;math-container&quot;&gt;$O(dn3^{d/3})$&lt;/span&gt;, where the degeneracy is the smallest number such that every subgraph of &lt;span class=&quot;math-container&quot;&gt;$G$&lt;/span&gt; contains at least one vertex of degree &lt;span class=&quot;math-container&quot;&gt;$d$&lt;/span&gt;. The degeneracy is usually small, and in their paper they provide experimental results on graphs of comparable size, so you may be able to solve your problem using their algorithm.&lt;/p&gt;&#xA;&lt;p&gt;D. Eppstein, D. Strash, &lt;a href=&quot;http://arxiv.org/abs/1103.0318&quot; rel=&quot;nofollow noreferrer&quot;&gt;&lt;em&gt;Listing All Maximal Cliques in Large Sparse Real-World Graphs&lt;/em&gt;&lt;/a&gt;, 10th International Conference on Experimental Algorithms, 2011.&lt;/p&gt;&#xA;" OwnerUserId="2150" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2011-05-02T01:31:56.203" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="6358" PostTypeId="1" AcceptedAnswerId="6383" CreationDate="2011-05-02T03:35:00.890" Score="18" ViewCount="851" Body="&lt;p&gt;My 8-yr old has gotten bored creating conventional mazes, and has taken to creating variants that look like this:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/yc37l.jpg&quot; alt=&quot;Number Hopper Sample&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The idea is to start from x and reach o via the normal rules.  Additionally, you can &quot;hop&quot; from any integer $a$ to any other integer $b$, but you must pay $|a-b|$ dollars for the privilege.  The goal is to solve the maze for the least cost.  In the example above, we could go from x to o via x-14-18-27-28-o at cost 5, but it's cheaper to go x-13-11-9-8-29-28-o for only 4.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So here is my question: what is the best solution (in terms of asymptotic running time) you can think of for solving this?  You may make any reasonable assumptions about the input format.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; I am using the &quot;puzzles&quot; tag here because I have an $O(n^2)$ answer in mind, but I'm not sure it's optimal and would like to see if someone else can improve my solution.  (Here $n$ is the number of integers in the maze.)&lt;/p&gt;&#xA;" OwnerUserId="3866" LastEditorUserId="186" LastEditDate="2011-05-02T16:51:03.510" LastActivityDate="2011-05-03T18:26:12.313" Title="Solving a Number-Hopper Maze" Tags="&lt;ds.algorithms&gt;&lt;optimization&gt;&lt;puzzles&gt;" AnswerCount="2" CommentCount="10" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="6359" PostTypeId="2" ParentId="6358" CreationDate="2011-05-02T04:10:41.667" Score="4" Body="&lt;p&gt;I feel like $O(n^2)$ might be the best you can get.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It seems natural to convert this into the shortest path problem with a special starting node (x) and ending node (0).  There would also be one other node for each of the numbers.  Both x and 0 have edges of weight 0 to all number nodes which are reachable in the maze.  All number nodes are connected with either weight 0 (if the numbers are maze reachable) or with the difference between the numbers (if not maze reachable).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Shortest path in this graph cannot be solved in less than $O(n^2)$ because the graph has roughly $n^2$ edges and, in the worst case, one would have to view every case once.  As such, Dijkstra'a algorithm for shortest path takes $O(n^2)$ time and is worst-case optimal.&lt;/p&gt;&#xA;" OwnerUserId="4765" LastActivityDate="2011-05-02T04:10:41.667" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="6360" PostTypeId="2" ParentId="6353" CreationDate="2011-05-02T04:17:20.103" Score="-3" Body="&lt;p&gt;I'm not seeing why the CLRS (p. 617) version of Strongly-Connected-Components() doesn't solve your problem. And it's just 2 DFS's to find all cliques of any size. So, when you're done, you just restrict the result set to those cliques with 17 vertices. That's just O(n + k) because DFS is the limiting factor.&#xA;The structure of your graph might also make your idea of deleting vertices of degree 16 a nice way to speed things up.&#xA;2 DFS's on 12.8M edges certainly is likely not going to be blazingly fast, but I would think it would be doable in a reasonable amount of time. I'm unfortunately not seeing how you could multi-thread it.&#xA;I've got some Java code that does a DFS and stronglyConnectedComponents() if you think it might be of use to you (my email: info@marshallfarrier.com; and please do email me if you're interested, as I'd be interested to see how my code works on something that big!).&#xA;Or am I misunderstanding the problem altogether? (if so, my apologies)&lt;/p&gt;&#xA;" OwnerUserId="4692" LastActivityDate="2011-05-02T04:17:20.103" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="6361" PostTypeId="2" ParentId="6353" CreationDate="2011-05-02T05:39:39.823" Score="7" Body="&lt;p&gt;Give Cliquer a try. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://users.tkk.fi/pat/cliquer.html&quot;&gt;http://users.tkk.fi/pat/cliquer.html&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's true your graph is huge, but sometimes it works. And it doesn't take long to try it as this software is already (and well) coded :-)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Nathann&lt;/p&gt;&#xA;" OwnerUserId="1209" LastActivityDate="2011-05-02T05:39:39.823" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6362" PostTypeId="1" AcceptedAnswerId="6363" CreationDate="2011-05-02T10:22:10.727" Score="9" ViewCount="408" Body="&lt;p&gt;It seems that in popular query languages for relational databases, it is possible to create queries that will require a lot of resources to answer. In practice, database admins manage this by limiting the amount of &lt;a href=&quot;https://stackoverflow.com/questions/4968077/are-there-way-to-controll-the-memory-usage-per-user-in-mysql-myisam/4968144#4968144&quot;&gt;memory per query&lt;/a&gt;, and checking for any long-running queries if there is a slowdown in the database. This seems rather ad-hoc, is there a TCS solution to this?&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Are there query languages that can&#xA;  only implement efficient queries?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;If there are no such languages, is there a theoretical reason for this?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some reasons why I might expect these sort of things to exist or atleast make sense:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;we have programming languages that are specifically designed to only implement efficient computations (usually by having some restrictive logic in their type system) &lt;/li&gt;&#xA;&lt;li&gt;popular query languages (such as SQL) are already inspired by logic, so it does not seem as a stretch for database users to consider more restrictive logics.&lt;/li&gt;&#xA;&lt;li&gt;a non-malicious database user already tries to prepare queries that execute quickly, so we should expect these more restrictive query languages to only hamper malicious users. &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;This question is inspired by the intersection of two previous questions:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/questions/5120/programming-languages-for-efficient-computation&quot;&gt;Programming languages for efficient computation&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/questions/6255/why-do-relational-databases-work-at-all-given-the-theoretical-exponential-comple&quot;&gt;Why do relational databases work at all, given the theoretical exponential complexity of answer finding (in the size of the query)?&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="1037" LastEditorUserId="-1" LastEditDate="2017-05-23T12:40:09.333" LastActivityDate="2011-07-09T20:01:31.523" Title="Database query languages for efficient queries" Tags="&lt;cc.complexity-theory&gt;&lt;pl.programming-languages&gt;&lt;db.databases&gt;&lt;finite-model-theory&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="6363" PostTypeId="2" ParentId="6362" CreationDate="2011-05-02T13:19:58.537" Score="7" Body="&lt;p&gt;One way of looking at database query languages is through the lens of &lt;em&gt;deductive databases&lt;/em&gt;, where queries are represented as logic programs. In this setting, the most relevant work related to your question is McAllester's &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=581774&quot;&gt;On the complexity analysis of static analyses&lt;/a&gt;, which observed that you can reason about the running time of a query by reasoning about the number of &quot;prefix firings&quot; in the rules of your program. What a &quot;prefix firing&quot; is isn't terribly complicated, but I'll refer you to the paper for that.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the functional programming world, this sort of thing is called a &lt;em&gt;cost semantics&lt;/em&gt;: it doesn't mean you can only implement efficient queries (programs), but it means that you can reason about the asymptotic complexity of your declarative program in a reasonable way.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some later work on implementations of McAllester's ideas include &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=1552311&quot;&gt;From datalog rules to efficient programs with time and space guarantees&lt;/a&gt; (Liu and Stoller) and &lt;a href=&quot;http://www.eecs.berkeley.edu/Pubs/TechRpts/2009/EECS-2009-173.html&quot;&gt;Dedalus: Datalog in Time and Space&lt;/a&gt; (Alvaro, Marczak, Conway, Hellerstein, Maier, and Sears). I admit I haven't yet read the latter of those two papers, however.&lt;/p&gt;&#xA;" OwnerUserId="1024" LastActivityDate="2011-05-02T13:19:58.537" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6364" PostTypeId="1" AcceptedAnswerId="6374" CreationDate="2011-05-02T13:58:56.263" Score="9" ViewCount="547" Body="&lt;p&gt;We have a set, $L$, of lists of elements from the set $N = \{ 1, 2, 3, ..., n \}$.  Each element from $N$ appears in a single list in $L$.  I am looking for a data structure which can perform the following updates:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;$concat(x, y)$ : concatenates the list containing $y$ onto the end of the list containing $x$&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;$split(x)$ : splits the list containing $x$ directly after $x$&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;It also needs to perform the following queries:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;$follows(x, y)$ : returns $true$ if $x$ and $y$ are in the same list and $y$ comes after $x$ (but is not necessarily adjacent to $x$)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;$first(x)$ : returns the first element of the list containing $x$&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;$next(x)$ : returns the the next element after $x$ in the list containing $x$&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;I have already come up with a data structure which performs these updates in $O(lg^2 (n))$ and queries in $O(lg (n))$ time.  I'm mostly interested in whether or not there is already a data structure which can do this (hopefully faster?).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Motivation: rooted directed forests can be represented with two of these list sets and they allow quick calculation of reachability in such forests.  I want to see what else they can be used for and if all of this is already known.&lt;/p&gt;&#xA;" OwnerUserId="4765" LastActivityDate="2011-05-04T07:11:36.963" Title="Does there exist a data structure for quick list manipulation and order queries?" Tags="&lt;ds.algorithms&gt;&lt;graph-algorithms&gt;&lt;ds.data-structures&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="6365" PostTypeId="1" CreationDate="2011-05-02T14:17:43.203" Score="7" ViewCount="444" Body="&lt;p&gt;I hope this question is not too vague.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For classical bit generators there is the classical statistical definition which (informally) states that a source is ideally random if its output $X_1,X_2,\ldots$ is a sequence of uniform i.i.d. bits.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is also the alternative Kolmogorov Complexity definition in which an individual string's complexity (informally analogous to randomness) is expressed by its compressibility which is defined as the length of the shortest computer program (w.r.t. a Universal Turing Machine) which will generate the string.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another definition relates the randomness of the string to the computational complexity of predicting it. This is used, e.g., in the Blum-Blum-Shub generator, where it can be shown that its next output bit can be predicted with probability $(1/2 + \varepsilon)$&#xA;for some $\varepsilon&amp;gt;0$ if and only if the RSA problem (given 2 randomly chosen n bit primes $p,q$, form their product $N=pq$ and erase $p$ and $q$; how difficult is it to obtain $p$ and $q$ from $N$?) has an efficient solution polynomial in $n.$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think some quantum randomness generators use photonic processes to generate bits at their output. However, what is the standard (if any) definition of quantum randomness? I don't know much about quantum theory, but if a quantum system is undergoing the normal Hermitian evolution it seems to me that the output obtained from such a system will not be very random.&lt;/p&gt;&#xA;" OwnerUserId="4938" LastActivityDate="2011-05-03T06:23:48.923" Title="Is there a standard definition of Quantum Randomness?" Tags="&lt;quantum-computing&gt;&lt;it.information-theory&gt;" AnswerCount="4" CommentCount="2" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="6366" PostTypeId="2" ParentId="6365" CreationDate="2011-05-02T14:52:42.380" Score="7" Body="&lt;p&gt;The randomness used in quantum computing comes from quantum mechanics and is postulated to be an &lt;a href=&quot;http://en.wikipedia.org/wiki/Quantum_indeterminacy&quot;&gt;inherent 'randomness' of nature&lt;/a&gt; (and one of the problems Einstein, for instance, had with QM). If you take a state like&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$|+\rangle = \frac{|0\rangle + |1\rangle}{\sqrt{2}}$ &lt;/p&gt;&#xA;&#xA;&lt;p&gt;and measure it in the computational basis, there is absolutely nothing you can do to predict the result (assuming our standard pictures of QM is not horribly wrong). Half the time you will measure $0$ and half the time you will measure $1$. Of course, if you measure in the Hadamard ($|+\rangle$, $|-\rangle$) basis, then your result will always be $+$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I don't think there is a standard notion of quantum randomness, mostly because how random a state looks depends on your choice of measurement. Once you choose a particular basis to measure in, then you might as well start talking about the classical probabilities associated with the results and then you can do your standard classical tests of randomness.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Usually when someone talks about the 'quantumness' of a state, they try to capture ideas like entanglement.&lt;/p&gt;&#xA;" OwnerUserId="1037" LastActivityDate="2011-05-02T14:52:42.380" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6367" PostTypeId="2" ParentId="6365" CreationDate="2011-05-02T15:05:36.283" Score="6" Body="&lt;p&gt;In quantum mechanics, the state of the system is given by a vector $v$ such that $v^\dagger v = 1$. For a closed system the evolution is unitary, and for a constant Hamiltonian (the total energy function for the system) is given by $U(t) = e^{-\frac{i H t}{\hbar}}$. Note that it is the Hamiltonian, rather than the time evolution operator that is Hermitian.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So this is all well and good, and we have deterministic evolution of $v$, since $v(t) = e^{-\frac{i H t}{\hbar}} v(0)$. What brings randomness into the picture is the fact that when you measure a quantum system, you do not get to learn the entire state of the system (i.e. $v$). Instead, for the simplist kind of measurements (known as projective measurements) when you make a measurement on the system, you are effectively imposing an orthonormal basis on the system. For some a given orthonormal measurement basis $\{b_i\}$, the outcome of the measurement is $b_j$ randomly with probability $|b_j^\dagger v|^2$. After such an outcome, the state of the measured system is then $b_j$, and any further information about $v$ is lost.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To give a concrete example, we can consider a qubit (a two-state quantum system) which is originally prepared in state $|0\rangle$ (this is just a notation used by physicists to denote vectors representing quantum states, in this case 0 is equivalent to the bit value 0). Next, we consider what happens when the qubit is exposed to a Hamiltonian $H=[0 ~-i; i ~~0]$ for time $t=\hbar \pi/4$. In this case, we have $v_{final} = e^{-\frac{i H t}{\hbar}} |0\rangle = \frac{1}{\sqrt{2}}\left(|0\rangle - |1\rangle\right)$. So, up to here the evolution has been entirely deterministic. Now, the question is what happens when we choose our measurement basis as $\{|0\rangle,|1\rangle\}$. In this case, we see that the result is either 0 or 1 random with equal probability (0.5). So the resuting bit is uniformly random. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A photon passing through a beam splitter is undergoing a very similar process, though quantum optics are a little more time consuming to explain explicitly.&lt;/p&gt;&#xA;" OwnerUserId="204" LastActivityDate="2011-05-02T15:05:36.283" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6368" PostTypeId="2" ParentId="6365" CreationDate="2011-05-02T15:32:02.217" Score="4" Body="&lt;p&gt;&quot;Quantum randomness&quot; is just the concept that measurement outcomes in quantum mechanics (and quantum computation) may not be deterministic for a given choice of measurement which you perform on the system. Of course, this actually has deep implications for physics (our understanding of radioactive decay is rooted in this concept, for instance, and is well-modelled as a Poisson process).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We have a perfectly good mathematical formalism, which Joe describes in his answer, for determining &lt;em&gt;what&lt;/em&gt; probability distributions arise for a given measurement, having prepared a system in a particular state. However, it does not describe &lt;em&gt;why&lt;/em&gt; it should be in a given probability distribution, beyond just the mathematical formalism of &lt;em&gt;e.g.&lt;/em&gt;&amp;nbsp;the Schr&amp;ouml;dinger equation. &quot;Why&quot;-answers usually amount to &lt;a href=&quot;http://en.wikipedia.org/wiki/Interpretations_of_quantum_mechanics&quot; rel=&quot;nofollow&quot;&gt;interpretations of quantum mechanics&lt;/a&gt;, which is in principle a branch of philosophy at the foundations of physics.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But for any measure of randomness that you can name &amp;mdash; Kolmogorov complexity of measurement outcomes, for instance &amp;mdash; you can apply that same measure to the outcomes of measurements. For instance, the example provided by Artem would be a random variable which is uniformly randomly distributed (with multiple trials giving independent results in principle).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You &lt;em&gt;can&lt;/em&gt; view the formalism of quantum mechanics (Hilbert space, Schr&amp;ouml;dinger equation, and all) as describing a new kind of &quot;quantum randomness&quot;, if you like, and explore topics such as &lt;a href=&quot;http://en.wikipedia.org/wiki/Quantum_logic&quot; rel=&quot;nofollow&quot;&gt;quantum logic&lt;/a&gt; in order to describe the foundations of a new probability theory. But as far as the measurement outcomes themselves are concerned, it's perfectly valid to regard the &quot;randomness&quot; of quantum mechanics as being good-old 'classical' randomness, which just happens to arise through what you may regard as 'peculiar' physical processes &amp;mdash; such as those on which the transistors in modern electronics depend.&lt;/p&gt;&#xA;" OwnerUserId="248" LastEditorUserId="248" LastEditDate="2011-05-02T15:37:25.117" LastActivityDate="2011-05-02T15:37:25.117" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6370" PostTypeId="2" ParentId="633" CreationDate="2011-05-02T17:12:06.053" Score="4" Body="&lt;p&gt;Another relaxation of $\ell_1$ dimension reduction is to require that $S$ lies in a $c$-dimensional subspace of $\mathbb{R}^d$ and make $k$ depend on $c$. Talagrand &lt;a href=&quot;http://www.jstor.org/pss/2048283&quot; rel=&quot;nofollow&quot;&gt;proved&lt;/a&gt; that given a $c$-dimensional subspace $V$ of $\ell_1^d$ (he even proves it for $L_1$), there exists a map $f:\ell_1^d \rightarrow \ell_1^k$ for $k = O(\epsilon^{-2}c\log c)$ such that for all $x, y \in V$, $(1-\epsilon)\|f(x) - f(y)\|_1 \leq \|x - y\|_1 \leq (1+\epsilon)\|f(x) - f(y)\|_1$. His embedding is a simple randomized procedure, but it proceeds in steps and each step succeeds with constant probability; after each step you need to check that the step indeed has been successful and repeat if it hasn't. So Talagrand's embedding lacks a crucial feature of JLT: the fact that $f$ can be picked from a distribution that is independent of $S$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Very recently, &lt;a href=&quot;http://www.almaden.ibm.com/cs/people/dpwoodru/sw.pdf&quot; rel=&quot;nofollow&quot;&gt;Woodruff and Sohler&lt;/a&gt; have proved a result analogous to Talagrand's, but with the added feature that $f$, just like in JLT, is a linear mapping picked from a distribution independent of $S$: you need to pick a $k \times d$ matrix where each entry is an iid Cauchy random variable. This is in the spirit of Indyk's stable projections: Cauchy is 1-stable.  &lt;/p&gt;&#xA;" OwnerUserId="4896" LastActivityDate="2011-05-02T17:12:06.053" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6371" PostTypeId="1" CreationDate="2011-05-02T21:28:25.033" Score="6" ViewCount="358" Body="&lt;p&gt;Adding extensions to automata has always been a fruitful domain.  But usually, one wants to add weak capabilities, as undecidability comes quickly into the picture.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Take FSM with added stacks.  It is easily seen that two stacks can simulate a Turing machine's tape, and the state control of the TM is taken care of by the FSM.  Thus, such machines recognize Turing-recognizable languages.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The implicit assumption made here is that the FSM is not only non-deterministic but has $\varepsilon$-transitions, which are used to &quot;wait&quot; for the TM to halt.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is thus: what (minimal) capabilities should one add to $\varepsilon$-transition-free automata in order to make them recognize undecidable (or non-context-sensitive) languages.  I'm searching for something else than an oracle for a specific language, of course!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Nota: Requiring no-$\varepsilon$-transition means that a word of length $n$ is read taking $n$ transitions.  This may mean that the added power ought to be undecidable / of large space complexity by nature.&lt;/p&gt;&#xA;" OwnerUserId="88" LastEditorUserId="186" LastEditDate="2011-05-04T21:31:56.403" LastActivityDate="2012-02-21T14:23:33.023" Title="Automata model with undecidable (or non-context-sensitive) languages and no $\varepsilon$-transitions." Tags="&lt;computability&gt;&lt;fl.formal-languages&gt;&lt;automata-theory&gt;" AnswerCount="2" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="6374" PostTypeId="2" ParentId="6364" CreationDate="2011-05-03T02:56:28.887" Score="11" Body="&lt;p&gt;Keep your integers in skip lists. Normal skip lists are ordered by key, but we will just use them as a representation of sequences. Additionally, maintain an array of pointers of size $n$. Each element of the array should point to a node in a skip list. I believe this supports $next$ in $O(1)$ and all other operations in $O(\lg n)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Specifically:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$concat$ing or $split$ting two skip lists takes $O(\lg n)$ time and therefore invalidates at most $O(\lg n)$ pointers.&lt;/li&gt;&#xA;&lt;li&gt;$next$ just follows the forward pointer at the leaf level, taking $O(1)$ time.&lt;/li&gt;&#xA;&lt;li&gt;$first$ takes $O(\lg n)$ time: follow up pointers until you get stuck, then follow a left pointer. When you can't follow any more left pointers, you're at the head pointer of your skip list. Follow down pointers to the leaf, then one forward pointer. This is the first element in the list.&lt;/li&gt;&#xA;&lt;li&gt;$follows$ is somewhat trickier. Proceed as in $first$ for $y$, but record a list of the values where you get stuck (that is, where you can't follow up pointers any more). We'll call this list you record a &quot;trace&quot;. Do the same for $x$, but follow right pointers when you get stuck, not left. If $x$ precedes $y$, their traces will intersect. The traces are of size $O(\lg n)$. If each element in the trace is annotated with the stuck level, we can check for an intersection in time $O(\lg n)$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;$next$ is worst-case $O(1)$, all others are $O(\lg n)$ &lt;a href=&quot;http://www.google.com/search?q=%22with+high+probability%22&quot;&gt;with high probability&lt;/a&gt;. They can be made worst-case by using deterministic skip lists.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think $concat$ can be made $O(\lg \lg n)$ by using leaf-level-linked (2,5) trees and boostrapping the spines. For the bootstrapping trick, see &quot;&lt;a href=&quot;http://www.math.tau.ac.il/~haimk/papers/loglog23.ps&quot;&gt;Purely functional representations of catenable sorted lists&lt;/a&gt;&quot; by Kaplan and Tarjan.&lt;/p&gt;&#xA;" OwnerUserId="43" LastActivityDate="2011-05-03T02:56:28.887" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="6375" PostTypeId="2" ParentId="6365" CreationDate="2011-05-03T06:23:48.923" Score="3" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;I think some quantum randomness generators use photonic processes to generate bits at their output. However, what is the standard (if any) definition of quantum randomness? I don't know much about quantum theory, but if a quantum system is undergoing the normal Hermitian evolution it seems to me that the output obtained from such a system will not be very random.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Other people have already explained quantum randomness well, so I will point out that even classically, your final sentence is not quite the right.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You are of course perfectly correct that the volume of phase space is invariant under the action of the Hamiltonian. However, the result of a classical process can still be random! Intuitively, while Liouville's theorem ensures that the volume of phase space will be preserved, it cannot guarantee that this volume will not become very wiggly and stretched out through the whole phase space. Then if your measurement apparatus has any limits to its resolution, it will look like the size of the phase space is growing. (This can happen very fast, with mixing happening in time logarithmic with your measurement apparatus's resolution.) This is called &quot;Hamiltonian chaos&quot;, or more familiarly the second law of thermodynamics.&lt;/p&gt;&#xA;" OwnerUserId="657" LastActivityDate="2011-05-03T06:23:48.923" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="6377" PostTypeId="2" ParentId="6107" CreationDate="2011-05-03T07:50:38.837" Score="7" Body="&lt;p&gt;I assume, as stated in the comments, that the problem is to find a 2-factor with two cycles of length $|V|/2$ each in a cubic graph.&#xA;This problem is NP-complete:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) HC in cubic graphs is NP-complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) The following problem HC' is also NP-complete: Given a cubic graph $G$ and an edge $e$&#xA;in $G$, is there a Hamiltonian cycle through $e$. We can reduce HC to it: Given a graph $G$, replace one arbitrary vertex (left hand side) by a triangle with another vertex in it (right hand side):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/bacge.jpg&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Call this new graph $G'$.&#xA;$G'$ is Hamiltonian iff $G$ is. Furthermore, if $G'$ is Hamiltonian, then for any red edge, there is a Hamiltonian cycle that contains this red edge. (Without the vertex in the middle, every Hamiltonian cycle contains two green edges and any green edge can then be replaced by two red ones.) The reduction from HC to HC' maps a cubic graph $G$ to $G'$ together with any red ege.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;3) Finally, we reduce HC' to the problem of the question. Given an instance&#xA;$(G,e)$, we create two copies of $G$, subdivide $e$ in each copy and connected the two vertices that subdivide the two copies by a new edge $f$. This edge $f$ is a bridge in the new graph. If $G$ has a Hamiltonian cycle through $e$, then the new graph has a 2-factor consisting of two cycles of the same size.&#xA;Conversely, if the new graph has such a 2-factor, then it cannot use $f$. Therefore, it splits into two Hamiltonian cycles of the two copies. Since in these copies, the vertex subdividing $e$ has degree two, we get a Hamiltonian cycle of $G$ that contains $e$.&lt;/p&gt;&#xA;" OwnerUserId="3980" LastActivityDate="2011-05-03T07:50:38.837" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="6379" PostTypeId="1" CreationDate="2011-05-03T13:57:45.753" Score="0" ViewCount="279" Body="&lt;p&gt;Given set $S = \{0,1\}^n$, consider a subset $S&amp;#39; \subseteq S$. By &lt;em&gt;determine&lt;/em&gt; we mean there is a deterministic TM $A_{S&amp;#39;}$ which always halts and defines a mapping $\{0,1\}^n \rightarrow {0,1}$ such that $A_{S&amp;#39;}(x) = 1$ iff $x \in S&amp;#39;$.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;If $S_1&amp;#39;$ contains all even numbers in $S$, $\forall x \in S$, we can determine whether $x \in S_1&amp;#39;$ in polynomial time.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;If $S_2&amp;#39;$ contains all numbers in $S$ which are smaller than $2^{n-1}$, $\forall x \in S$, we can determine whether $x \in S_2&amp;#39;$ in polynomial time.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;If $S_3&amp;#39;$ contains $2^{n-1}$ randomly chosen numbers in $S$, $\forall x \in S$, intuitively, it may not be possible to determine whether $x \in S_3&amp;#39;$ in polynomial time using a polynomial-size TM.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Note that the set $S&amp;#39;$ itself is not part of the input. In this way the running time of $A_{S&amp;#39;}$ doesn't depend on the size of $S&amp;#39;$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Intuitively, the size and running time (which have some trade-off) of the most efficient TM $A_{S&amp;#39;}$ (that can determine whether $x \in S&amp;#39;$ correctly) can be viewed as the &lt;strong&gt;indistinguishability complexity&lt;/strong&gt; (defined by me) of the subset $S&amp;#39;$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Question:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Is there any formal theory that exactly defines this idea?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;How to measure this trade-off between the size and the running time?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;For $S = \{0,1\}^{n}$, what is the subset $S&amp;#39;$ that has the largest indistinguishability complexity?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="4471" LastEditorUserId="4471" LastEditDate="2011-05-07T17:55:39.900" LastActivityDate="2011-06-07T01:55:27.960" Title="Indistinguishability complexity of a subset" Tags="&lt;cc.complexity-theory&gt;" AnswerCount="2" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6380" PostTypeId="2" ParentId="6379" CreationDate="2011-05-03T15:03:26.543" Score="1" Body="&lt;p&gt;I assume $S&amp;#39;$ is parametrized by $n$, i.e.~it is not defined only for a single $n$ but for infinitely many $n$ (otherwise statements like &quot;polynomial time&quot; do not make sense). If so, you are merely defining the fundamental problem of the complexity of deciding membership in a language (i.e. &lt;strong&gt;the&lt;/strong&gt; problem of complexity theory). I am not sure what you mean by &quot;uniform&quot;: if you mean that there could be a different algorithm for different $n$, then this is the usual non-uniform complexity.&lt;/p&gt;&#xA;" OwnerUserId="4896" LastActivityDate="2011-05-03T15:03:26.543" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="6383" PostTypeId="2" ParentId="6358" CreationDate="2011-05-03T17:43:17.470" Score="15" Body="&lt;p&gt;You can solve this in $O(n\log n)$ time using a variation of Dijkstra's algorithm. We can get away with not performing all distance updates when we visit a new node. If we visit a node $y$, we need only to update the distances of everything walkable from $y$ to 0, and to update the distances to the two nodes $y_-$ and $y_+$ with the closest values to $y$ less and greater than $y$ which have not been picked yet.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;These updates are sufficient to keep the heap returning the minimum element because any closest node you jump to must have been numerically just above or just below an already visited node.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Each node gets updated to 0 at most once (if we pop out all zero distance nodes from the queue to avoid quadratic behavior), and each time we add a node, we only do O(1) other updates. Finding the values $y_-$ and $y_+$ can be done in linear time if we also keep an ordered doubly-linked list of all the nodes, sorted by their integer values. Building this doubly-linked list takes $O(n \log n)$ time, and finally the $O(n)$ updates to and pops from the heap take $O(n \log n)$ time, for a total runtime of $O(n \log n)$&lt;/p&gt;&#xA;" OwnerUserId="1560" LastEditorUserId="1560" LastEditDate="2011-05-03T18:26:12.313" LastActivityDate="2011-05-03T18:26:12.313" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="6384" PostTypeId="2" ParentId="79" CreationDate="2011-05-03T18:14:13.643" Score="9" Body="&lt;p&gt;A graph $G = (V,E)$ is said to be labeled by $f$ if each vertex $v\in V$ is assigned a non-negative integer value $f(v)$ and each edge $e = uv\in E$ is assigned the value $|f(u) − f(v)|$. The labeling is graceful if $f : V\rightarrow \{0, 1, 2,\dots, |E|\}$ is an injection and if all edges of G have distinct labels from $\{1, 2,..., |E|\}$. A graph is said to be graceful if it admits a graceful labeling. The computational complexity of deciding whether a graph is graceful is not known.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;J.A. Gallian. A dynamic survey of graph labeling. The Electronic Journal of Combinatorics, 2009. &lt;/li&gt;&#xA;&lt;li&gt;D.S. Johnson. The NP-completeness column: An ongoing guide. J. Algorithms, 4(1):87–100, 1983.&lt;/li&gt;&#xA;&lt;li&gt;D.S. Johnson. The NP-completeness column. ACM Transactions on Algorithms, 1(1):160–176, 2005.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="1060" LastActivityDate="2011-05-03T18:14:13.643" CommentCount="0" CommunityOwnedDate="2011-05-03T18:14:13.643" ContentLicense="CC BY-SA 3.0" />
  <row Id="6386" PostTypeId="1" CreationDate="2011-05-04T03:36:02.090" Score="4" ViewCount="253" Body="&lt;p&gt;What would be a good source for open problems for (weak) epsilon nets? Is there a good survey/article that summarizes the recent advancements on the topic?&lt;/p&gt;&#xA;" OwnerUserId="4958" LastEditorUserId="1800" LastEditDate="2011-05-04T04:05:49.720" LastActivityDate="2011-05-04T04:05:49.720" Title="Open problems on epsilon nets" Tags="&lt;reference-request&gt;&lt;co.combinatorics&gt;&lt;cg.comp-geom&gt;&lt;lg.learning&gt;&lt;epsilon-nets&gt;" AnswerCount="0" CommentCount="2" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="6387" PostTypeId="1" AcceptedAnswerId="6393" CreationDate="2011-05-04T06:12:10.360" Score="32" ViewCount="1636" Body="&lt;p&gt;Looking at questions through the &lt;a href=&quot;http://egtheory.wordpress.com/2013/09/15/algorithmic-lens/&quot; rel=&quot;nofollow&quot;&gt;algorithmic lens&lt;/a&gt; (i.e. from an algorithmic or complexity point of view) has become useful in disciplines outside of the 'standard domain' of computer science. In particular CS has made an impact on biology through computational biology, on physics through quantum information processing, and AI and complexity theory seem to regularly interact with neuroscience. The natural sciences seem relatively comfortable with TCS.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thus, my question is in regard to the impact of TCS on the &lt;a href=&quot;http://en.wikipedia.org/wiki/Social_sciences&quot; rel=&quot;nofollow&quot;&gt;social sciences&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What novel and important insights into the social sciences has TCS provided?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I am vaguely aware of the impact of algorithmic thinking on economics (through game theory). In fact algorithmic game theory is now a part of the 'standard domain' of TCS, so lets exclude AGT answers unless they specifically altered existing theories in the social sciences. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another example I recall is from linguistics in the learnability vs. innateness of grammar (i.e. &lt;a href=&quot;http://en.wikipedia.org/wiki/Poverty_of_stimulus&quot; rel=&quot;nofollow&quot;&gt;poverty of the stimulus&lt;/a&gt;) debate. Gold's theorem about the unlearnability of context free grammars provided a strong argument for innate-ness and helped convince some skeptics (I am not sure if this is still valid, since SCFG seem to be learnable). I am more interested in examples of this type, where TCS thinking helped change or shape existing theories in the social sciences.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;References to books/surveys are appreciated.&lt;/p&gt;&#xA;" OwnerUserId="1037" LastEditorUserId="495" LastEditDate="2014-02-11T13:14:57.037" LastActivityDate="2014-02-11T13:14:57.037" Title="Algorithmic lens in the social sciences" Tags="&lt;reference-request&gt;&lt;soft-question&gt;&lt;big-picture&gt;&lt;social-sciences&gt;&lt;algorithmic-lens&gt;" AnswerCount="7" CommentCount="2" FavoriteCount="12" ContentLicense="CC BY-SA 3.0" />
  <row Id="6388" PostTypeId="2" ParentId="6387" CreationDate="2011-05-04T06:42:41.130" Score="18" Body="&lt;p&gt;This example is from social choice theory, and elections in particular. We know that &lt;a href=&quot;http://en.wikipedia.org/wiki/Arrow%27s_impossibility_theorem&quot;&gt;Arrow's theorem&lt;/a&gt; (and the &lt;a href=&quot;http://en.wikipedia.org/wiki/Gibbard%E2%80%93Satterthwaite_theorem&quot;&gt;Gibbard-Satterthwaite theorem&lt;/a&gt; in general) rule out the possibility of elections that are fair, non-manipulatable and without other bizarre consequences. But a seminal paper by &lt;a href=&quot;http://www.cs.huji.ac.il/~arielpro/mfai_papers/BTT89.pdf&quot;&gt;Bartholdi, Tovey and Trick&lt;/a&gt; showed that finding the desired 'hack' to break a voting scheme was NP-hard, and there's been a large body of work by many researchers on the complexity of problems in the realm of election design. There's a nice survey by &lt;a href=&quot;http://cacm.acm.org/magazines/2010/11/100640-using-complexity-to-protect-elections/fulltext&quot;&gt;Faliszewski, Hemaspaandra, and Hemaspaandra&lt;/a&gt; on this topic.  &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2011-05-04T06:42:41.130" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="6389" PostTypeId="2" ParentId="1886" CreationDate="2011-05-04T06:57:30.940" Score="3" Body="&lt;p&gt;Hopefully this is not too off-topic of an answer, since it looks at this question from the point of evolutionary game theory (EGT), instead of AGT. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Game theory as originally formulated by von Neumann and Morgenstern was a static theory. Hence, many of the popular equilibria concepts (Nash, Correlated, etc) are inherently static. To talk about non-static equilibria, we have to introduce some sort of dynamics. AGT often does this by considering specific reasoning (algorithms) agents might use to arrive at their decisions. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;An alternative approach, and one embraced by EGT, is to consider the population dynamics of a large number of agents with very simple decision making. This usually creates non-linear dynamics in the population and places EGT as part of dynamic systems. Hence, you start to see all the crazy equilibria concepts of dynamic systems such as limit cycles or chaotic attractors pop-up as equilibrium concepts. These non-stationary equilibria are well studied in EGT, although often the analysis is purely from dynamic systems and not algorithmic. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you are interested in EGT, then a standard (and accessible) starting point is Hofbauer and Sigmund's 2003 survey &quot;&lt;a href=&quot;http://www.ams.org/journals/bull/2003-40-04/S0273-0979-03-00988-1/S0273-0979-03-00988-1.pdf&quot; rel=&quot;nofollow&quot;&gt;Evolutionary game dynamics&lt;/a&gt;&quot;&lt;/p&gt;&#xA;" OwnerUserId="1037" LastActivityDate="2011-05-04T06:57:30.940" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6390" PostTypeId="2" ParentId="6364" CreationDate="2011-05-04T07:11:36.963" Score="1" Body="&lt;p&gt;The &lt;em&gt;least common ancestor&lt;/em&gt; problem can be used to solve the reachability problem in dynamic rooted trees, so I imagine you will also be interested in the following: &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.52.783&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;nofollow&quot;&gt;Optimal Algorithms for Finding Nearest Common Ancestors in Dynamic Trees&lt;/a&gt;, by Alstrup and Thorup. This paper gives a time bound of $O(n + m \log \log n)$ for $n$ links and $m$ nca queries on a pointer machine.  &lt;/p&gt;&#xA;" OwnerUserId="3474" LastActivityDate="2011-05-04T07:11:36.963" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6391" PostTypeId="1" CreationDate="2011-05-04T09:55:06.043" Score="15" ViewCount="442" Body="&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Defunctionalization&quot;&gt;Defunctionalization&lt;/a&gt; is a program transformation that converts higher-order programs into first-order programs. The idea is that given a program, there are only finitely many lambda-abstractions, so you can replace each lambda with an id, and each function application with a call to an apply procedure which branches on that id.  This is &lt;a href=&quot;http://mlton.org&quot;&gt;sometimes&lt;/a&gt; &lt;a href=&quot;http://repetae.net/computer/jhc/&quot;&gt;used&lt;/a&gt; in compilers for functional languages, but its applicability is limited by the fact that defunctionalization is a whole-program transformation (you must statically know all of the functions in the program), and so only whole-program compilers make use of it. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, &lt;a href=&quot;http://cristal.inria.fr/~fpottier/biblio/pottier_abstracts.html#pottier-gauthier-hosc&quot;&gt;Pottier and Gauthier&lt;/a&gt; have a given a polymorphic typed defunctionalization algorithm using a more sophisticated typing involving GADTs. Now, given their encoding, it's possible to add a catch-all case to their lambda datatype that isn't a tag, but which contains a higher-order function. This means that it should be possible to use their encoding to defunctionalize on a module-by-module basis. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Has anyone done this, and point me to a compiler using this idea? (Toy compilers are okay, and in fact preferred.)&lt;/p&gt;&#xA;" OwnerUserId="657" LastActivityDate="2017-06-13T01:39:19.833" Title="Has anyone used Pottier and Gauthier's polymorphic defunctionalization in a modular compiler?" Tags="&lt;pl.programming-languages&gt;&lt;compilers&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="6392" PostTypeId="1" AcceptedAnswerId="6424" CreationDate="2011-05-04T10:33:17.820" Score="8" ViewCount="1008" Body="&lt;p&gt;please can you provide either a reference, or give particular examples of PSPACE-complete problems which are solvable in pseudo-polynomial time?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Additonal Notes:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Definition of pseudo-polynomial time: &lt;a href=&quot;http://en.wikipedia.org/wiki/Pseudo-polynomial_time&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://en.wikipedia.org/wiki/Pseudo-polynomial_time&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In reply to some comments mentioned earlier. I have asked earlier if there were any problems which were PSPACE-complete which had an FPTAS. The surprizing answer was YES! &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/questions/2647/does-there-exist-a-particular-pspace-complete-problem-which-has-a-fptas-algorithm&quot;&gt;Does There exist a particular PSPACE Complete Problem which has a FPTAS algorithm?&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is therefore a follow-up question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Note that the EXP conjecture apply to the complexity class NP, yet there exists NP-complete problems which are solvable in psuedo-polynomial time!) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Addendum...&#xA;Sasho Nikolov asked about FPT and Pspace. I know that there are FPT problems which are Pspace , Exp, Exp Space complete etc... Unfortunately I do not have references... Will correct when I remember&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks!!!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Zelah &lt;/p&gt;&#xA;" OwnerUserId="10136" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2012-09-04T11:31:04.003" Title="What are the known pseudo-polynomial PSPACE-complete problems?" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;" AnswerCount="3" CommentCount="6" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="6393" PostTypeId="2" ParentId="6387" CreationDate="2011-05-04T11:12:39.000" Score="16" Body="&lt;p&gt;&lt;a href=&quot;http://www.cs.cornell.edu/home/kleinber/networks-book/&quot;&gt;Networks, Crowds, and Markets: Reasoning About a Highly Connected World&lt;/a&gt;, by Easley and Kleinberg probably should be mentioned here. It is rather elementary, but gives a wide selection of social sciences topics that have been considered from a CS point of view and provides a lot of references. Someone with more experience in the field can perhaps tell us how close the book is to the current state of the art in the field?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As a more particular answer, with the proliferation of various social networking sites, computer science has become quite relevant in analysing the huge social network data sets from such sites.&lt;/p&gt;&#xA;" OwnerUserId="290" LastEditorUserId="290" LastEditDate="2011-05-04T18:49:38.820" LastActivityDate="2011-05-04T18:49:38.820" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="6394" PostTypeId="2" ParentId="6350" CreationDate="2011-05-04T12:18:07.603" Score="0" Body="&lt;p&gt;I'd put in an exhibit showing how electronic relays, as a more visible alternative to transistors, can be assembled to form computing machines.  A progression of complexity, starting with a single relay, then a chain of relays to demonstrate propagation, then a single NAND gate, then a 1-bit Full Adder (18 NAND gates for this should still be manageable, visually), maybe even an interactive 4-bit Full Adder.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;From there, a feature on clocked circuits, latches, memories.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;All components could be exaggerated in size, slowed intentionally, or highlighted with light-guides for clarity.&lt;/p&gt;&#xA;" OwnerUserId="509" LastActivityDate="2011-05-04T12:18:07.603" CommentCount="0" CommunityOwnedDate="2011-05-04T12:18:07.603" ContentLicense="CC BY-SA 3.0" />
  <row Id="6395" PostTypeId="2" ParentId="6371" CreationDate="2011-05-04T14:54:10.583" Score="1" Body="&lt;p&gt;I do not think it is possible at all. Either such automata cannot be recursively defined, or have to make local non-recursive decisions at nodes. The first case is obviously uninteresting, and the latter is equivalent to having undecidable oracles at nodes.&lt;/p&gt;&#xA;" OwnerUserId="4953" LastActivityDate="2011-05-04T14:54:10.583" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6397" PostTypeId="1" AcceptedAnswerId="6398" CreationDate="2011-05-04T16:27:41.317" Score="2" ViewCount="523" Body="&lt;p&gt;I'm writing a framework for some graph theorical tasks and am unsure about some definitions regarding &lt;strong&gt;mixed graphs&lt;/strong&gt;. Degrees and connectivity in particular.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Mixed_graph#Mixed_graph&quot; rel=&quot;nofollow noreferrer&quot;&gt;A mixed graph G is a graph in which&#xA;  some edges may be directed and some&#xA;  may be undirected.&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I couldn't find any comprehensive definitions for mixed graphs on the web and am kind of stuck here as I don't want to unintentionally contradict general graph theoretical principles by just following my gut feelings of what feels right for me.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;One of those uncertainties being:&lt;br&gt;&#xA;How is in-degree (and out-degree respectively) defined in mixed graphs?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is it this?:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;inDegree():&#xA;    directedEdgeCount = count(incoming directed incident edges)&#xA;    #undirected edges being ignored&#xA;    return directedEdgeCount&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;…or is it this?:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;inDegree():&#xA;    directedEdgeCount = count(incoming directed incident edges)&#xA;    undirectedEdgeCount = count(undirected incident edges)&#xA;    return directedEdgeCount + undirectedEdgeCount&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;I found some general graph definitions saying that:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;degree():&#xA;    return inDegree() + outDegree()&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Which makes perfect sense for &lt;strong&gt;strictly directed/undirected graphs&lt;/strong&gt; if &lt;strong&gt;first version&lt;/strong&gt; of &lt;code&gt;inDegree()&lt;/code&gt; was to be used. It would &lt;strong&gt;count undirected edges twice&lt;/strong&gt; though, if &lt;strong&gt;second version&lt;/strong&gt; of &lt;code&gt;inDegree()&lt;/code&gt; was to be used.&lt;br&gt;&#xA;My gut says that &lt;strong&gt;undirected edges&lt;/strong&gt; lacking any direction &lt;strong&gt;basically allow flow in both directions&lt;/strong&gt; and thus should be included in &lt;code&gt;inDegree()/outDegree()&lt;/code&gt;, shouldn't they?&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;And coming from the above I have to ask:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If this is correct:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;isDirectNeighborOf(other):&#xA;    return (self has any edge connecting it to/from/between other)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;…which it is, from my understanding.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then which one of these is correct? Is it this?:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;isDirectPredecessorOf(other):&#xA;    #ignoring undirected edges&#xA;    return (self has outgoing directed edge to other)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;…or this?:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;isDirectPredecessorOf(other):&#xA;    return (self has outgoing directed or undirected edge to other)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Concrete example:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/acqHj.gif&quot; alt=&quot;multigraph&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;What is the &lt;strong&gt;in-degree of B&lt;/strong&gt;? &lt;em&gt;(my gut says &lt;strong&gt;&lt;code&gt;3&lt;/code&gt;&lt;/strong&gt;)&lt;/em&gt;&lt;/li&gt;&#xA;&lt;li&gt;What is the &lt;strong&gt;out-degree of C&lt;/strong&gt;? &lt;em&gt;(my gut says &lt;strong&gt;&lt;code&gt;3&lt;/code&gt;&lt;/strong&gt;)&lt;/em&gt;&lt;/li&gt;&#xA;&lt;li&gt;What is the &lt;strong&gt;in-degree of D&lt;/strong&gt;? &lt;em&gt;(my gut says &lt;strong&gt;&lt;code&gt;2&lt;/code&gt;&lt;/strong&gt;)&lt;/em&gt;&lt;/li&gt;&#xA;&lt;li&gt;What is the &lt;strong&gt;out-degree of D&lt;/strong&gt;? &lt;em&gt;(my gut says &lt;strong&gt;&lt;code&gt;2&lt;/code&gt;&lt;/strong&gt;)&lt;/em&gt;&lt;/li&gt;&#xA;&lt;li&gt;Is &lt;strong&gt;D direct predecessor of B&lt;/strong&gt;? &lt;em&gt;(my gut says &lt;strong&gt;&lt;code&gt;YES&lt;/code&gt;&lt;/strong&gt;)&lt;/em&gt;&lt;/li&gt;&#xA;&lt;li&gt;Is &lt;strong&gt;D direct successor of B&lt;/strong&gt;? &lt;em&gt;(my gut says &lt;strong&gt;&lt;code&gt;YES&lt;/code&gt;&lt;/strong&gt;)&lt;/em&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Does anybody here happen to have a comprehensive set&lt;br&gt;&#xA;of definitions regarding mixed graphs?&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As with many graph types the theoretical sonstruct &lt;strong&gt;mixed graph&lt;/strong&gt; is ambiguously used.&lt;br&gt;&#xA;Hence I'm &lt;strong&gt;not so much&lt;/strong&gt; searching for a &lt;strong&gt;universally accepted definition&lt;/strong&gt;, but rather &lt;strong&gt;looking for any at all&lt;/strong&gt;.&lt;/p&gt;&#xA;" OwnerUserId="4719" LastEditorUserId="1800" LastEditDate="2011-06-30T17:42:28.667" LastActivityDate="2011-06-30T17:42:28.667" Title="General definitions for mixed graphs? (degrees, connectivity, etc)" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;" AnswerCount="2" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="6398" PostTypeId="2" ParentId="6397" CreationDate="2011-05-04T17:54:23.210" Score="2" Body="&lt;p&gt;The definition I found in &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=1414237&quot; rel=&quot;nofollow&quot;&gt;Zhang, On the completeness of orientation rules for causal discovery in the presence of latent confounders and selection bias&lt;/a&gt; (Section 2.1) is:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;A &lt;strong&gt;mixed graph&lt;/strong&gt; is a vertex-edge&#xA;  graph that can contain three kinds of&#xA;  edges: directed ($\rightarrow$), bi-directed&#xA;  ($\leftrightarrow$) and undirected ($-$), and at most&#xA;  one edge between any two vertices.&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;...&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;Two vertices are said to be&#xA;  &lt;strong&gt;adjacent&lt;/strong&gt; in a mixed graph if there is an edge (of any kind) between them.&#xA;  Given a mixed graph $G$ and two&#xA;  adjacent vertices A,B therein, A is a&#xA;  &lt;strong&gt;parent&lt;/strong&gt; of B and B is a &lt;strong&gt;child&lt;/strong&gt; of A if A $\rightarrow$ B is in $G$; A is called&#xA;  a &lt;strong&gt;spouse&lt;/strong&gt; of B (and B a spouse of&#xA;  A) if A $\leftrightarrow$ B is in $G$; A is called a&#xA;  &lt;strong&gt;neighbor&lt;/strong&gt; of B (and B a neighbor of A) if A $-$ B is in $G$. &lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;...&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;A &lt;strong&gt;directed path from&lt;/strong&gt; $V_{0}$&#xA;  &lt;strong&gt;to&lt;/strong&gt; $V_{n}$ in $G$ is a sequence of distinct vertices&#xA;   such that for 0&#xA;  $\leq$ i $\leq$ n-1, $V_{i}$ is a parent of&#xA;  $V_{i+1}$ in $G$. A is called an&#xA;  &lt;strong&gt;ancestor&lt;/strong&gt; of B and B a &lt;strong&gt;descendant&lt;/strong&gt; of A if A = B or there is a directed path from A to B.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Richardson and Spirtes give another nice and simple definition of mixed graphs in &lt;a href=&quot;http://www.google.gr/url?sa=t&amp;amp;source=web&amp;amp;cd=2&amp;amp;ved=0CCYQFjAB&amp;amp;url=http://www.hss.cmu.edu/philosophy/spirtes/annals2002.pdf&amp;amp;rct=j&amp;amp;q=ancestral%20graph%20markov%20models&amp;amp;ei=QpDBTbybJ87usgb_48nDBQ&amp;amp;usg=AFQjCNEDu4LLo95EYuE4qIXO-HtUmT6RJw&amp;amp;sig2=JbvEH9C5wc3b2jxhS5lKvg&amp;amp;cad=rja&quot; rel=&quot;nofollow&quot;&gt;Ancestral Graph Markov Models&lt;/a&gt; (Section 2.2).&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Note that the three edge types should be considered as distinct symbols, and in particular &lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;A $-$ B $\neq$ A $\leftrightarrows$ B $\neq$ A $\leftrightarrow$ B.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;However, none of them defines in and out degree.&lt;/p&gt;&#xA;" OwnerUserId="1657" LastActivityDate="2011-05-04T17:54:23.210" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="6399" PostTypeId="1" CreationDate="2011-05-04T19:58:08.517" Score="55" ViewCount="2351" Body="&lt;p&gt;There are some counting problems which involve counting exponentially many things (relative to the size of the input), and yet have surprising polynomial-time exact, deterministic algorithms. Examples include:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Counting perfect matchings in a planar graph (the &lt;a href=&quot;http://en.wikipedia.org/wiki/FKT_algorithm&quot;&gt;FKT algorithm&lt;/a&gt;), which is the basis for how &lt;a href=&quot;http://en.wikipedia.org/wiki/Holographic_algorithm&quot;&gt;holographic algorithms&lt;/a&gt; work.&#xA;&lt;li&gt; Counting spanning trees in a graph (via &lt;a href=&quot;http://en.wikipedia.org/wiki/Kirchhoff%27s_theorem&quot;&gt;Kirchhoff's matrix tree theorem&lt;/a&gt;).&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;A key step in both of these examples is reducing the counting problem to computing the determinant of a certain matrix. A determinant is itself, of course, a sum of exponentially many things, yet can surprisingly be computed in polynomial time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is: are there any &quot;surprisingly efficient&quot; exact and deterministic algorithms known for counting problems which do &lt;strong&gt;not&lt;/strong&gt; reduce to computing a determinant?&lt;/p&gt;&#xA;" OwnerUserId="447" LastEditorUserId="447" LastEditDate="2011-05-04T20:14:26.563" LastActivityDate="2011-05-17T15:06:24.873" Title="Surprising algorithms for counting problems" Tags="&lt;cc.complexity-theory&gt;&lt;counting-complexity&gt;&lt;big-picture&gt;" AnswerCount="3" CommentCount="1" FavoriteCount="23" ContentLicense="CC BY-SA 3.0" />
  <row Id="6400" PostTypeId="1" CreationDate="2011-05-04T20:50:00.217" Score="17" ViewCount="541" Body="&lt;p&gt;I have been told that there are some good polynomial time algorithms for approximating the number of simple paths in an directed graph from given starting vertex $s$ to given ending vertex $t$. Does anyone know of a good reference on this subject?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Background: counting the exact number of paths in a general graph is #P-complete but there may exist polynomial time approximations for the problem. I'm especially interested in random approximations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks in advance.&lt;/p&gt;&#xA;" OwnerUserId="4765" LastEditorUserId="186" LastEditDate="2011-05-04T22:06:54.160" LastActivityDate="2019-04-12T05:44:19.653" Title="Approximation for counting the number of simple $s$-$t$ paths in a general graph" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;graph-algorithms&gt;&lt;approximation-algorithms&gt;&lt;counting-complexity&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="6401" PostTypeId="1" CreationDate="2011-05-04T21:27:09.250" Score="8" ViewCount="457" Body="&lt;p&gt;Question is whether it is possible to model in linear logic&#xA;two modes of access to a resource. I know that two modes&#xA;of resources are possible, i.e:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$!r \vdash$      r is infinitely available&lt;br&gt;&#xA;$r \vdash \quad$       r is only once available&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But what if I don't want to decide whether r is infinitely or&#xA;only once available. And the query, i.e access, should &#xA;decide, so:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$*r \vdash r \quad \quad \quad \quad \quad \quad$ r is only checked (like it were !r)&lt;br&gt;&#xA;$*r \vdash consume(r)$  r is consumed (like it were r alone)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can I model a consume(r) and a normal r access in linear logic?&#xA;Similarly I would like to have produce(r) operator, which then&#xA;asserts the form *r of a resource.&lt;/p&gt;&#xA;" OwnerDisplayName="user4258" LastEditorUserId="186" LastEditDate="2011-10-21T14:35:23.377" LastActivityDate="2011-10-21T14:35:23.377" Title="Can consume/produce be modeled in linear logic?" Tags="&lt;lo.logic&gt;&lt;linear-logic&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6402" PostTypeId="2" ParentId="6399" CreationDate="2011-05-04T21:34:48.563" Score="11" Body="&lt;p&gt;I don't know if the following problems reduce or not to computing the determinant, but I will list anyway:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) Counting the number of paths in a DAG from a node $v_0$ to a node $v_f$. &#xA;But this is not surprising. Simply determining whether $v_f$ is reachable from $v_0$ is in NL, and thus in &lt;a href=&quot;http://qwiki.stanford.edu/index.php/Complexity_Zoo%3aD#det&quot;&gt;DET&lt;/a&gt;. I have no idea about the counting version.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) Counting the number of solutions of problems definable in MSO-logic in structures of bounded Tree width.  See for example &lt;a href=&quot;http://www.dbai.tuwien.ac.at/proj/tractability/JaklPRW08b.pdf&quot;&gt;the paper which buids on works of Courcelle, Arnborg and others&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;3) If you have a function $f:\{0,1\}^{n}\rightarrow \{0,1\}$, that can be expressed by a bolean circuit of logarithmic tree width, than you can &#xA;count the number of inputs $x$ such that $f(x)=1$ by devising a quantum &#xA;circuit $U_f$ which sends $|x\rangle|0\rangle$ to $|x\rangle|f(x)\rangle$, &#xA;and classically simulating the probability of measuring $|1\rangle$ in the &#xA;second register after the application of $U_fH^{\otimes n}|0\rangle|0\rangle$ &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.128.9165&quot;&gt;using these results&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="4237" LastEditorUserId="80" LastEditDate="2011-05-05T14:50:02.173" LastActivityDate="2011-05-05T14:50:02.173" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="6404" PostTypeId="1" AcceptedAnswerId="6473" CreationDate="2011-05-05T00:07:57.783" Score="23" ViewCount="1077" Body="&lt;p&gt;Can anyone suggest a good and recent survey on counting problems and/or problems that are #P. &lt;/p&gt;&#xA;" OwnerUserId="1590" LastEditorUserId="186" LastEditDate="2011-05-05T18:55:16.260" LastActivityDate="2012-08-13T12:24:17.383" Title="Survey on #P and/or counting problems" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;counting-complexity&gt;" AnswerCount="4" CommentCount="1" FavoriteCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="6405" PostTypeId="1" CreationDate="2011-05-05T02:54:09.530" Score="12" ViewCount="3741" Body="&lt;p&gt;I am looking for a highly efficient data structure for storage of data similar to the following.&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&#xA;Id    Tags   Order1 Order2 &#xA;--------------------------&#xA;1     1,2     1      1&#xA;2     2,5     2      3&#xA;3     1,7     4      7&#xA;4     6       3      0&#xA;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;I need to be able to query this structure in such a way that it would give me a list of all ids containing an expression of tags - supporting &lt;code&gt;AND&lt;/code&gt; and &lt;code&gt;OR&lt;/code&gt; and &lt;code&gt;NOT&lt;/code&gt; operations. Eg. ((1 or 2) and not 7)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I also need to be able to specify the ordering of the results (Order1 or Order2) and be able to specify maximum rows returned with an optional offset. Performance for the fetch of the first 30-100 results is key. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, I need a cheap way to lookup &quot;tag relations&quot; for example I want to know which tags &quot;relate&quot; to tags (1 OR 2) and in what frequency. Meaning which tags appear in the same set as 1 OR 2 ... ordered by frequency. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any idea of what data structure (or set of structures) would be highly efficient for this kind of work?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(I would like to use this as a proof of concept for redesigning the &lt;a href=&quot;https://cstheory.stackexchange.com/questions/tagged/cc.complexity-theory&quot;&gt;tagged&lt;/a&gt; pages of the SE family of sites) &lt;/p&gt;&#xA;" OwnerUserId="220" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2011-05-06T20:22:04.623" Title="Data structure that allow efficient tag based lookups" Tags="&lt;ds.data-structures&gt;&lt;application-of-theory&gt;&lt;db.databases&gt;" AnswerCount="2" CommentCount="13" FavoriteCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="6406" PostTypeId="2" ParentId="5443" CreationDate="2011-05-05T04:41:53.660" Score="1" Body="&lt;p&gt;It seems that because you are only using the counts for number of cycles in a graph to randomly choose a cycle, that if you had a random approximation for this number, then you could still choose a cycle approximately uniformly.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that the number of cycles in a graph $G$, which contains edge $(u, v)$, equals the number of cycles in $G - (u, v)$ plus the number of simple paths from $u$ to $v$ in $G - (u, v)$.  Thus, with a polynomial time approximation for the number of $u$-$v$ paths, the a polynomial time approximation can be achieved by incrementally building up to $G$ one edge at a time, approximating as you go.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I actually think that there's a more straightforward method for choosing a cycle.  Let $G$ be the entire graph of edges around the $n \times n$ grid of squares. For each edge $(u, v)$ find the number of cycles containing that edge (which is the number of $u$-$v$ paths in $G$ - $(u, v)$). Then randomly choose an edge weighted by the number of cycles that contain it.  This will be the first edge in your randomly chosen cycle. All other edges will be chosen by extending one edge at a time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assume that you have chosen a path which is part of your random cycle.  Let the set of vertices on this path be $C$ and let $v_s$ and $v_e$ be the endvertices of the path.  Also let $N$ be the set of neighbors of $v_e$ which are not in $C$ (note that there are only up to 3 in this particular graph).  For each $u \in N$ count the number of $u$-$v_s$ paths in the induced graph $G[V - (C - \{v_s, v_e \} ) ]$. Then choose a neighbor, $u$, of $v_e$ weighted on the paths just counted. Add the edge $(v_e, u)$ to your chosen path, extending it by one. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In this way, a polynomial number of edges are chosen, each requiring a small number of calculations of a polynomial time approximation algorithm.  Thus, a cycle can be uniformly chosen.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I currently have a &lt;a href=&quot;https://cstheory.stackexchange.com/questions/6400/approximation-for-counting-the-number-of-simple-s-t-paths-in-a-general-graph&quot;&gt;stackexchange question&lt;/a&gt; requesting references for fast path count approximation algorithms. I've read in a few places that these algorithms exist but haven't yet found them.&lt;/p&gt;&#xA;" OwnerUserId="4765" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2011-05-05T04:41:53.660" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6408" PostTypeId="2" ParentId="6401" CreationDate="2011-05-05T08:24:45.877" Score="5" Body="&lt;p&gt;With non-commutative linear logic (cf. Retoré 1997, for pomset logic), you can model the sequentiality of checking resources and avoid having the resource checking occur within the scope of whatever choice operator you want to use.&lt;/p&gt;&#xA;&lt;p&gt;For example, you could model your query so:&lt;/p&gt;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$$(r; a \vee b) \multimap (c; r)$$&lt;/span&gt;&lt;/p&gt;&#xA;&lt;p&gt;You might interpret this as saying: if I can take &lt;span class=&quot;math-container&quot;&gt;$r$&lt;/span&gt; and then consume &lt;span class=&quot;math-container&quot;&gt;$a \vee b$&lt;/span&gt;, then I can provide &lt;span class=&quot;math-container&quot;&gt;$c$&lt;/span&gt; and then free &lt;span class=&quot;math-container&quot;&gt;$r$&lt;/span&gt;.  Is that the semantics you want?&lt;/p&gt;&#xA;&lt;p&gt;It looks, unfortunately, like you can't combine non-commutative linear logic with usual linear logic in the sequent calculus and maintain the needed proof-theoretic properties to model planning via proof search.  You can do this is the Calculus of Structures, see (Strassburger, 2003), which has been used for planning (Kahramanogullari 2009).&lt;/p&gt;&#xA;&lt;p&gt;If you want to go the route of having a modality decorating just &lt;span class=&quot;math-container&quot;&gt;$t$&lt;/span&gt;, well that might be tricky because you essentially want to be able to look at &lt;span class=&quot;math-container&quot;&gt;$r$&lt;/span&gt; without consuming it, and without having it available for unlimited use, which is not a propositional attitude of regular linear logic.  You can try to see if&lt;/p&gt;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$$((?r \otimes a) \vee (?r \otimes b)) \multimap c$$&lt;/span&gt;&lt;/p&gt;&#xA;&lt;p&gt;works for you, but it probably won't, because &lt;span class=&quot;math-container&quot;&gt;$?r$&lt;/span&gt; is cheaper than &lt;span class=&quot;math-container&quot;&gt;$r$&lt;/span&gt; — it is a bit like having a reference ro &lt;span class=&quot;math-container&quot;&gt;$r$&lt;/span&gt;; and so does not actually ensure that you can put your hands on &lt;span class=&quot;math-container&quot;&gt;$r$&lt;/span&gt;.  &lt;span class=&quot;math-container&quot;&gt;$?!r$&lt;/span&gt; might work better, and is the basis for the two encodings used to model classical logic in linear logic, but to have &lt;span class=&quot;math-container&quot;&gt;$r$&lt;/span&gt; doesn't mean you can provide &lt;span class=&quot;math-container&quot;&gt;$?!r$&lt;/span&gt;.  Looking at one of the various weak exponentials for linear logic might help here.&lt;/p&gt;&#xA;&lt;h3&gt;References&lt;/h3&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Retoré 1997, &lt;a href=&quot;http://www.springerlink.com/index/H610M8U87458587X.pdf&quot; rel=&quot;noreferrer&quot;&gt;Pomset logic: a non-commutative extension of classical linear logic&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Strassburger 2003, &lt;a href=&quot;http://www.lix.polytechnique.fr/%7Elutz/papers/dissvonlutz.pdf&quot; rel=&quot;noreferrer&quot;&gt;Linear Logic and Noncommutativity in the Calculus of Structures&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Kahramanogullari 2009, On Linear Logic Planning and Concurrency,&#xA;&lt;em&gt;Information and Computation&lt;/em&gt; 207:1229 - 1258.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="270" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2011-05-05T08:24:45.877" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6409" PostTypeId="2" ParentId="6404" CreationDate="2011-05-05T08:44:35.063" Score="12" Body="&lt;p&gt;Try &lt;a href=&quot;http://www.springer.com/birkhauser/applied+probability+and+statistics/book/978-3-7643-6946-0&quot;&gt;Mark Jerrum's ETH lecture notes&lt;/a&gt;.  A free version is available from his website &lt;a href=&quot;http://www.maths.qmul.ac.uk/~mj/pubs.html&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="233" LastEditorUserId="233" LastEditDate="2011-05-05T22:08:09.590" LastActivityDate="2011-05-05T22:08:09.590" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6411" PostTypeId="1" AcceptedAnswerId="6496" CreationDate="2011-05-05T10:23:14.453" Score="5" ViewCount="660" Body="&lt;p&gt;I'm looking for an accepted, formal definition of a parser as function $f$ returning an AST, but I cannot find any reference in literature; all I can find is the definition of a recognizer as a function $f:\Sigma^*\to \{0,1\}$ with obviously $f(w)=1$ when $w\in L(G)$ and $0$ otherwise ($G$ being a grammar and $L(G)$ the generated language).&lt;/p&gt;&#xA;" OwnerUserId="2501" LastActivityDate="2013-09-22T01:06:57.717" Title="Formal definition of parser?" Tags="&lt;fl.formal-languages&gt;&lt;automata-theory&gt;&lt;parsing&gt;" AnswerCount="3" CommentCount="2" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="6412" PostTypeId="1" AcceptedAnswerId="6414" CreationDate="2011-05-05T17:41:34.383" Score="7" ViewCount="146" Body="&lt;p&gt;Suppose I have several Bernoulli random variables, $\{X_1, \ldots, X_k\}$, each of which has a fixed probability $p_i$ of equaling 1 for each sample. Further suppose each $p_i$ is randomly distributed according to some known distribution, but we do not know the actual values of $p_i$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, suppose I am going to take $n$ samples in total from these variables and want to maximize the expected sum of the resulting samples. What is the best algorithm for choosing variables to sample? Obviously, if we knew which had the highest probability, we would always choose that variable, but if $n$ isn't very large, we have to be careful about balancing choosing the variable we believe has the highest $p_i$ value and sampling other variables to possibly find one with a higher $p_i$ value.&lt;/p&gt;&#xA;" OwnerUserId="2422" LastActivityDate="2011-05-05T22:12:24.090" Title="Optimal payoff from sampling from a collection of Bernoulli random variables?" Tags="&lt;machine-learning&gt;&lt;optimization&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6413" PostTypeId="2" ParentId="6411" CreationDate="2011-05-05T18:01:00.657" Score="10" Body="&lt;p&gt;There is more in recognition that appears at the first sight. It is naturally generalized into recognizing all the substrings of a given string so that the output is a matrix &lt;code&gt;A&lt;/code&gt; where matrix element &lt;code&gt;A[i,j)&lt;/code&gt; corresponding to semiopen interval/segment &lt;code&gt;[i,j)&lt;/code&gt; contains all the symbols derived for the substring cut by this interval. For example, given a grammar&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;S → S + M&#xA;   | M&#xA;M → M * T&#xA;   | T&#xA;T → number&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;and an input&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;6 + 7 * 8&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;we have&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;A[2,5) = {M,S}&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;i.e. the symbols &lt;code&gt;M&lt;/code&gt; and &lt;code&gt;S&lt;/code&gt; were derived for the substring &lt;code&gt;7 * 8&lt;/code&gt; at the interval &lt;code&gt;[2,5)&lt;/code&gt;. It is essentially a table used by CYK parser. &lt;em&gt;“Principles and Implementation of Deductive Parsing”&lt;/em&gt; by Shieber, Schabes, Pereira describes how Earley parsing fits into this framework as well. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a parsing matrix, one can recover a parse tree (and contrary to what wikipedia CYK page says, one doesn't have to store backpointers), but the takeout message here is that parsing matrix is more fundamental than the parse tree; in particular, it is well defined even for ambiguous derivation.  &lt;/p&gt;&#xA;" OwnerUserId="3213" LastEditorUserId="3213" LastEditDate="2011-05-05T20:40:02.583" LastActivityDate="2011-05-05T20:40:02.583" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6414" PostTypeId="2" ParentId="6412" CreationDate="2011-05-05T18:11:03.187" Score="9" Body="&lt;p&gt;This is called the explore/exploit trade-off in machine learning.  This scenario is precisely captured by the multi-armed bandit problem with i.i.d. payoffs.  Algorithms such as &lt;a href=&quot;http://webdocs.cs.ualberta.ca/~games/go/seminar/notes/2007/slides_ucb.pdf&quot;&gt;UCB&lt;/a&gt; and &lt;a href=&quot;http://www.cs.princeton.edu/~schapire/uncompress-papers.cgi/AuerCeFrSc01.ps&quot;&gt;Exp3&lt;/a&gt; will get you an expected payoff within $\tilde{O}(\sqrt{Kn})$ of the optimal, and you asymptotically &lt;a href=&quot;http://www.cs.princeton.edu/~schapire/uncompress-papers.cgi/AuerCeFrSc01.ps&quot;&gt;cannot do better&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="123" LastEditorUserId="123" LastEditDate="2011-05-05T22:12:24.090" LastActivityDate="2011-05-05T22:12:24.090" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6415" PostTypeId="2" ParentId="5099" CreationDate="2011-05-05T18:24:08.753" Score="8" Body="&lt;p&gt;Let $L_G$ be the &lt;a href=&quot;http://en.wikipedia.org/wiki/Laplacian_matrix&quot;&gt;Laplacian matrix&lt;/a&gt; of an undirected weighted graph $G = (V,E,w)$.  A sparsifier of a graph $G$ is a graph $H$ such that for every $x \in R^V$ the following holds:&#xA;$$ x^T L_H x (1-\epsilon) \le x^T L_G x \le x^T L_H x (1+\epsilon).$$&#xA;Using spectral methods, &lt;a href=&quot;http://arxiv.org/PS_cache/arxiv/pdf/0808/0808.0163v3.pdf&quot;&gt;Batson et al.&lt;/a&gt; show how to construct these sparisifiers using $O(n/\epsilon^2)$ edges.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Even though the statement of the theorem is debatably not &quot;inherently spectral,&quot; I do not think it is known how one can get this result or a result like it without using spectral techniques.&lt;/p&gt;&#xA;" OwnerUserId="123" LastEditorUserId="123" LastEditDate="2011-05-06T01:36:17.953" LastActivityDate="2011-05-06T01:36:17.953" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="6416" PostTypeId="1" AcceptedAnswerId="6417" CreationDate="2011-05-05T18:54:31.087" Score="5" ViewCount="402" Body="&lt;p&gt;In quantum computation there is a fair amount of interest in the task of simulating quantum physics. One instance of this is the problem of simulating the evolution of a system under the action of some general Hamiltonian $H$, which will be given by $e^{-iHt}$. If $H$ is sparse, and the entries of $H$ are available via some blackbox function then there are efficient algorithms to simulate this evolution operator to within some constant distance $\epsilon$ in the trace norm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;According to &lt;a href=&quot;http://www.springerlink.com/content/hk7484445j37r228/&quot; rel=&quot;nofollow&quot;&gt;Berry, Ahokas, Cleve and Sanders, Commun. Math. Phys. 270, 359–371 (2007)&lt;/a&gt; 1-sparse Hamiltonians can be simulated efficiently using only 2 black box queries. However, the citations that go with this are to a masters thesis which does not appear to be online and to a &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=780552&quot; rel=&quot;nofollow&quot;&gt;STOC 03 paper&lt;/a&gt; on quantum random walks by Childs, Cleve, Deotto, Fahri, Gutmann and Spielman which seems to only deal with a specific subset of such Hamiltonians.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I guess that this is in fact true for all 1-sparse Hamiltonians, as the paper seems to indicate, but there is obviously something I'm missing (which is probably in the unobtainable thesis). I would be very grateful if someone could tell me whether or not this is true in general, and if so explain how it can be done (or point to a paper which contains it).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For what it's worth, I am specifically interested in the case of simulating diagonal Hamiltonians.&lt;/p&gt;&#xA;" OwnerUserId="204" LastEditorUserId="204" LastEditDate="2011-05-05T21:32:55.667" LastActivityDate="2011-05-06T00:47:44.227" Title="How efficiently can a 1-sparse Hamiltonian be simulated (quantum mechanically)?" Tags="&lt;cc.complexity-theory&gt;&lt;quantum-computing&gt;&lt;physics&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6417" PostTypeId="2" ParentId="6416" CreationDate="2011-05-06T00:47:44.227" Score="7" Body="&lt;p&gt;Diagonal Hamiltonians are easy to simulate with 2 queries. It's very well explained (with a circuit diagram!) in &lt;a href=&quot;http://dx.doi.org/1721.1/16663&quot; rel=&quot;nofollow&quot;&gt;Andrew Childs' PhD thesis&lt;/a&gt; on page 18, Rule 1.6. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The main idea is to observe that if H is the Hamiltonian with diagonal entries d(j), then simulating H for time t maps the basis state $|j\rangle$ to $e^{-id(j)t}|j\rangle$. This is performed as follows: $|j, 0\rangle \rightarrow |j, d(j)\rangle$ (this uses 1 query), then $|j, d(j)\rangle \rightarrow e^{-id(j)t}|j, d(j)\rangle$ (this is a controlled phase flip on the first register controlled by the second), and then $e^{-id(j)t}|j, d(j)\rangle \rightarrow e^{-id(j)t}|j, 0\rangle$ (this uncomputes the answer using another query). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Indeed, all 1-sparse Hamiltonians can be simulated with 2 queries. This is also explained in Andrew's thesis, towards the end of page 20. It might be a bit hard to understand since it's explained in the context of simulating a d-sparse Hamiltonian using edge coloring. But the essential idea is to reduce a d-sparse Hamiltonian to a sum of 1-sparse Hamiltonians and then simulate the 1-sparse Hamiltonian.&lt;/p&gt;&#xA;" OwnerUserId="206" LastActivityDate="2011-05-06T00:47:44.227" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6418" PostTypeId="2" ParentId="6392" CreationDate="2011-05-06T08:24:28.190" Score="1" Body="&lt;p&gt;Isn't this just a matter of interpretation? Let $x \in \{0,1\}^*$ be an encoding of an instance of QBF. We can interpret $w = 1x$ as a number. If $w$ is given in binary, then this problem is essentially QBF. If we get $w$ in unary, then we&#xA;have enough time to simulate the PSPACE machine for QBF. (We might need to pad with a polynomial number of bits, e.g. $w = 10...01x$.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Even works for EXP.&lt;/p&gt;&#xA;" OwnerUserId="3980" LastActivityDate="2011-05-06T08:24:28.190" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="6420" PostTypeId="1" CreationDate="2011-05-06T13:38:56.620" Score="3" ViewCount="349" Body="&lt;p&gt;Are grammars programs? That is, are languages for grammar specification programming languages?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Update.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Motivation&lt;/strong&gt; for the question is follows:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;To know whether languages for grammars are programming languages.&lt;/li&gt;&#xA;&lt;li&gt;Desire to know what words I use mean. Since no precise definition of term &quot;programming language&quot; exists we may bring it close to being by figuring out answers for such a tricky questions.&lt;/li&gt;&#xA;&lt;li&gt;Which programs can and which can't be written as grammars? (idea by Rehno Lindeque) &lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Update.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Observation&lt;/strong&gt; that caused a question was:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Language of grammars has executable semantics like a programming language: every grammar relates input to output (sequence of characters of given alphabet to boolean or AST, depends on implementation), deterministically or not. For example, grammars written in PEG are deterministic &quot;programs&quot; while in BNF are not. CFGs are not Turing complete while unrestricted grammars are.&lt;/li&gt;&#xA;&lt;li&gt;Grammar can be designed to carry out a computation on a computer -- actually a parser. &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="491" LastEditorUserId="491" LastEditDate="2011-05-07T08:23:18.297" LastActivityDate="2011-05-07T08:23:18.297" Title="Are grammars programs?" Tags="&lt;fl.formal-languages&gt;&lt;terminology&gt;" AnswerCount="0" CommentCount="44" FavoriteCount="5" ClosedDate="2011-05-06T16:37:57.050" ContentLicense="CC BY-SA 3.0" />
  <row Id="6422" PostTypeId="2" ParentId="6405" CreationDate="2011-05-06T14:56:12.937" Score="6" Body="&lt;p&gt;This is not exactly an answer of an efficient data structure, but rather an elaboration on the comments of @bbejot and @Kaveh giving a hand-waving argument for why given the current question we should not expect something that does a lot better than searching the whole database. The argument is based on a reduction from SAT, the &lt;a href=&quot;http://en.wikipedia.org/wiki/Exponential_time_hypothesis&quot;&gt;exponential time hypothesis&lt;/a&gt;, and a lot of hand-waving.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assume we have upto $n$ different tags, then we can think of each id as being associated with a bitvector $x$ of length $|x| = n$ where $x_j = 1$ if we have the $j$-th tag, and $x_j = 0$ otherwise. Since there is no real restrictions on what the database looks like, I can assume it has ids $1$ through $2^n$ with the $k$-th id having an associated tag vector of $k$ written in binary. The order fields can be arbitrary, since they only make the problem harder. Now, if we are given an arbitrary query of $AND$, $OR$, and $NOT$s then this is just asking a SAT question on $n$ variables. By the exponential time hypothesis, we can't expect this to be much faster than $2^n$... or in other words, we can't expect this to be much faster than searching the whole database.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We shouldn't expect efficient search in the length of the query (by reduction to SAT). We also shouldn't expect much better than looking at all the items in the database by the exponential time hypothesis.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To hope for an efficient data-structure for this question, we will have to make some serious assumptions on the structure of the database that are not made in this question. For instance, if we assume a special structure on the queries (such as CNF) then we can hope for something more efficient. An alternative assumption is on the structure of the database. We could probably assume that given $n$ tags, only a small fraction of the tags will be present on any given id (say a logarithmicly few $1$s). This is not an unreasonable assumption given the application of tagged questions (what use are tags if almost every single tag is used for a question).&lt;/p&gt;&#xA;" OwnerUserId="1037" LastActivityDate="2011-05-06T14:56:12.937" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="6423" PostTypeId="1" CreationDate="2011-05-06T15:37:47.757" Score="0" ViewCount="210" Body="&lt;p&gt;I've began studying some CS recently, and I've faced the TSP.&#xA;The decision problem version of the TSP is NP-complete, right?&#xA;I've noticed (and elaborated myself) that there exists several polynomial time&#xA;approximations for the TSP. Combined with the decision problem, this &quot;lowers&quot;&#xA;the complexity of the algorithm for some values given for the decision, because&#xA;those values may lie outside of the estimation: say the decision asks for a path no longer&#xA;than 50 and we find a path of 150 which is at most 2x the minimum path, then we would &#xA;only need polynomial time for evaluating it. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;So my question is as follows: is it&#xA;possible to assemble algorithms with polynomial time (with any polynomial order) that&#xA; approximate the TSP to a given ratio? Because then, I could be able to add a series&#xA;of algorithms before the actual non-polynomial time algorithm to progressively lower it's&#xA;complexity. Assembling this series of algorithms to find the exact solution would probably require an infinite series of polynomial time, which cannot have polynomial time as a whole. But I think it is possible to use tricks to limit this to a finite number, which would result in a total polynomial time for any given decision value. Think about it: the&#xA;worst case of this problem is when the decision parameter is exactly the TSP solution - &#xA;we thus have some information about it. Since P probably differs from NP, I guess there are no such algorithms?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Sorry If I sound a bit confusing, I don't know If my thoughts make much sense&#xA;mathematically.&lt;/p&gt;&#xA;" OwnerUserId="4979" LastEditorUserId="1800" LastEditDate="2011-05-06T17:48:11.023" LastActivityDate="2011-05-06T17:48:11.023" Title="Is there a series of algorithms for approximating TSP polynomially?" Tags="&lt;cc.complexity-theory&gt;&lt;tsp&gt;" AnswerCount="0" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6424" PostTypeId="2" ParentId="6392" CreationDate="2011-05-06T18:49:11.243" Score="4" Body="&lt;p&gt;Consider Subset Sum. A standard reduction from 3-SAT produces an instance with values $x_0,\ldots,x_{2n+1}$, where if there is a subset with the target sum, that set contains exactly one of $x_{2i},x_{2i+1}$ for each $i$. Furthermore, choosing $x_{2i}$ corresponds to setting the $i$th variable in the 3-SAT instance to true, and choosing $x_{2i+1}$ corresponds to setting it false. You can use this same reduction to reduce from quantified 3-SAT to result in a PSPACE-complete quantified version of subset sum, $\exists y_0 \forall y_1 \cdots \sum_{i}y_i = k$, where $y_i$ is equal to either $x_{2i}$ or $x_{2i+1}$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can use the same pseudo-polynomial time algorithm for subset sum on this quantified version with some minor modifications. We simply fill in a table of all sums $k$ such that $Q_iy_iQ_{i+1}y_{i+1}\cdots Q_ny_n\sum_{j=i}^{n}y_j = k$ (where each $Q_j$ is either $\exists$ or $\forall$). This table has only polynomial size if all the values are polynomially bounded, and it's not hard to see how to fill it in for $i-1$ given the values for $i$ - simply add $x_{2(i-1)}$ and $x_{2i-1}$ to all the values for $i$, and take either the union or intersection of these sets (for $\exists$ and $\forall$ quantifiers, respectively).&lt;/p&gt;&#xA;" OwnerUserId="1560" LastActivityDate="2011-05-06T18:49:11.243" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6425" PostTypeId="2" ParentId="6405" CreationDate="2011-05-06T20:22:04.623" Score="5" Body="&lt;p&gt;This is a pretty straightforward answer, but I think effective:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A suggestive type for your datastructure: &lt;code&gt;Map Tag ([Id],[Id])&lt;/code&gt; where the two lists of Ids are ordered by order1 and order2 respectively. Maintaining and generating this structure has a cost, but queries on a single tag should be $O(log (n))$ in the number of tags. Storing the length of the lists with the lists would help with query optimization, and much better than an actual list would be a lazy bitvector which would make negation extremely cheap as well.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you thrown in another map of type &lt;code&gt;Map Id (Set Tag)&lt;/code&gt; then generating the related frequencies given a list of &lt;code&gt;Id&lt;/code&gt;s should be $O(n * log (m))$ in the size of the list and the size of the sets of tags.&lt;/p&gt;&#xA;" OwnerUserId="351" LastActivityDate="2011-05-06T20:22:04.623" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6426" PostTypeId="2" ParentId="6100" CreationDate="2011-05-06T20:54:20.153" Score="3" Body="&lt;p&gt;I prefer the &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.53.22&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;nofollow&quot;&gt;Bader-Jaja approach&lt;/a&gt; (see section 2.1). You model complexity as a message passing problem. For each message sent there is both a variable for latency to initiate the communication and a variable for bandwidth.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $t$ be latency, $u$ be bandwidth, $m$ be the message size, and $p$ be the number of processors. For most scalable networks the cost of broadcast is  O(($t$+$u$*$m$) log $p$).&lt;/p&gt;&#xA;" OwnerUserId="2021" LastEditorUserId="2021" LastEditDate="2011-05-06T21:03:16.853" LastActivityDate="2011-05-06T21:03:16.853" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6427" PostTypeId="1" AcceptedAnswerId="6435" CreationDate="2011-05-06T21:02:32.880" Score="8" ViewCount="780" Body="&lt;p&gt;We are given $n$ stacks which hold &quot;items&quot; of different colour and a machine that can process multiple items of the same colour in one go. At each step, we can remove &lt;em&gt;one&lt;/em&gt; item from the &lt;em&gt;top&lt;/em&gt; of each stack and put it into our machine (so effectively the machine can process at most $n$ items in one step - for that to happen, all stacks must have items of the same colour on top). The goal is to process all items in minimal time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Example input:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/wH4I4.png&quot; width=&quot;100&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One possible solution is a greedy algorithm: at each step, just take as much items as possible and stuff them all into the machine. Unfortunately, the greedy algorithm is not optimal - it produces the following schedule for the example input:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/Izs0t.png&quot; width=&quot;100&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The optimal schedule is the following:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/xs3Tp.png&quot; width=&quot;100&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I plan to go with some form of state space search, but maybe there is a more problem-specific and efficient approach? Links to relevant literature appreciated.&lt;/p&gt;&#xA;" OwnerUserId="792" LastEditorUserId="186" LastEditDate="2011-05-07T04:05:07.343" LastActivityDate="2011-05-07T11:12:43.913" Title="Is this a known combinatorial optimization/scheduling problem?" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;scheduling&gt;" AnswerCount="2" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6429" PostTypeId="2" ParentId="6387" CreationDate="2011-05-06T21:22:14.450" Score="5" Body="&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Noam_Chomsky_bibliography&quot;&gt;Chomsky&lt;/a&gt;? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For more modern examples &lt;a href=&quot;http://computationallegalstudies.com/&quot;&gt;Computational Legal Studies Blog&lt;/a&gt; has some great work. They predicted the nomination of U.S. Supreme Court Justice Sotmayor by &lt;a href=&quot;http://computationallegalstudies.com/2009/05/04/judge-sonia-sotomayor-justice-sotomayor/&quot;&gt;using graph theory&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="2021" LastActivityDate="2011-05-06T21:22:14.450" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6430" PostTypeId="1" AcceptedAnswerId="14663" CreationDate="2011-05-06T21:25:37.523" Score="15" ViewCount="752" Body="&lt;h2&gt;Background&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;Functions in $AC^0$ are PAC learnable in quasipolynomial time with a classical algorithm that requires $O(2^{log(n)^{O(d)}})$ randomly chosen queries to learn a circuit of depth d [1]. If there is no $2^{n^{o(1)}}$ factoring algorithm then this this is optimal [2]. Of course, on a quantum computer we know how to factor, so this lower bound does not help. Further, the optimal classical algorithm uses the Fourier spectrum of the function thus screaming &quot;quantumize me!&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] N. Linial, Y. Mansour, and N. Nisan. [1993] &quot;Constant depth circuits, Fourier transform, and learnability&quot;, Journal of the ACM 40(3):607-620.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] M. Kharitonov. [1993] &quot;Cryptographic hardness of distribution-specific learning&quot;, Proceedings of ACM STOC'93, pp. 372-381.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In fact, 6 years ago, Scott Aaronson put the learnability of $AC^0$ as one of his &lt;a href=&quot;http://www.scottaaronson.com/writings/qchallenge.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;Ten Semi-Grand Challanges for Quantum Computing Theory&lt;/a&gt;. &lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;h2&gt;Question&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;My question is three-fold:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) Are there examples of natural function families that quantum computers can learn faster than classical computers given cryptographic assumptions?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) Has there been any progress on the learnability of $AC^0$ in particular? (or the slightly more ambitious $TC^0$)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;s&gt;3) In regards to the learnability of $TC^0$, Aaronson comments: &quot;then quantum computers would have an enormous advantage over classical computers in learning close-to-optimal weights for neural networks.&quot; Can somebody provide a reference on how weight updating for neural nets and $TC^0$ circuits relate? (apart from the fact that threshold gates look like sigmoid neurons)&lt;/s&gt; (This question was asked and answered &lt;a href=&quot;https://cstheory.stackexchange.com/q/2698/1037&quot;&gt;already&lt;/a&gt;)&lt;/p&gt;&#xA;" OwnerUserId="1037" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2012-12-08T06:51:25.320" Title="Quantum PAC learning" Tags="&lt;quantum-computing&gt;&lt;lg.learning&gt;&lt;machine-learning&gt;&lt;open-problem&gt;&lt;ne.neural-evol&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6431" PostTypeId="2" ParentId="6391" CreationDate="2011-05-06T21:36:14.380" Score="4" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;Now, given their encoding, it's possible to add a catch-all case to their lambda datatype that isn't a tag, but which contains a higher-order function. This means that it should be possible to use their encoding to defunctionalize on a module-by-module basis. &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Could you elaborate a bit more on what you mean here? I don't understand how adding a base case (would that be to the datatype, to the pattern-matching of the dispatching function, or both?) helps modularity in the way you described; by the way, why do you mean exactly by &quot;module by module&quot; basis?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I can imagine a &quot;base case&quot; being used, inside a given module/program, for &lt;em&gt;selective&lt;/em&gt; defunctionalization: you would have an additional constructor to your reified function type that is not a tag, but simply embeds all &lt;code&gt;'a -&amp;gt; 'b&lt;/code&gt; functions, so that packing a function in this constructor, instead of giving it a reified tag, would prevent its defunctionalization.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A different approach at the problem would be to consider that each module can define its own &quot;defunctionalized functions&quot; type and dispatcher/handler. Functions from module &lt;code&gt;M1&lt;/code&gt; would have type &lt;code&gt;M1.arrow&lt;/code&gt; and be applied using &lt;code&gt;M1.apply&lt;/code&gt;, etc. While that works well for first-order uses of the functions, I don't quite well see how you could extend it to higher-order function (which shouldn't have to know where their functional argument come from): if you bundle a function with its dispatcher, you're re-entering the realm of indirect function calls.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, there is in the paper you referenced a quick mention of the whole-program vs. modular approach, but I don't see how it relates to your proposal. What they describe is expressed in terms of &quot;open extensions&quot; of both functions and data types (functions and types that could be defined across several independent modules). This is mostly a ML-way to describe the fact that you may defer the combination of analysis/transformations of independent modules at link-time, relaxing the necessity of whole-program transformation.&lt;/p&gt;&#xA;" OwnerUserId="4984" LastActivityDate="2011-05-06T21:36:14.380" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6432" PostTypeId="2" ParentId="6430" CreationDate="2011-05-06T21:45:15.640" Score="6" Body="&lt;p&gt;This is certainly not a full answer to your question, but hopefully helps with the first part. There seems to have been quite an amount of interest in using quantum algorithms to identify unknown oracles. One example of this is a recent paper from Floess, Andersson and Hillery (&lt;a href=&quot;http://arxiv.org/abs/1006.1423&quot;&gt;arXiv:1006.1423&lt;/a&gt;) which adapts the Bernstein-Vazirani algorithm to identify Boolean functions which depend on only a small subset of the input variables (juntas). They use this approach to determine the oracle function for low-degree polynomials (they explicitly deal with linear, quadratic and cubic cases).&lt;/p&gt;&#xA;" OwnerUserId="204" LastActivityDate="2011-05-06T21:45:15.640" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6433" PostTypeId="2" ParentId="6208" CreationDate="2011-05-06T21:45:59.617" Score="8" Body="&lt;p&gt;I suppose the &lt;a href=&quot;http://cseweb.ucsd.edu/~ztatlock/eqsat/&quot;&gt;Equality Saturation&lt;/a&gt; technique, as a different approach to the problem of optimization passes ordering, would be relevant. To my knowledge, it has however not yet been proved practical by a concrete implementation in a full-fledged compiler. The following &lt;a href=&quot;http://cseweb.ucsd.edu/~lerner/papers/popl10.html&quot;&gt;Generating Compiler Optimizations from Proofs&lt;/a&gt; may also be of interest.&lt;/p&gt;&#xA;" OwnerUserId="4984" LastActivityDate="2011-05-06T21:45:59.617" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6434" PostTypeId="2" ParentId="6208" CreationDate="2011-05-06T21:55:44.187" Score="5" Body="&lt;p&gt;Recognizing that baz[i] += force(foo[i],foo[j]) in a double FOR loop has independent results for (i,j) and reordering the calls into a space filling curve on (i,j) to cut down on cache misses.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Not quite &quot;peephole&quot; but getting cache oblivious behavior for &quot;free&quot; is nice. &lt;/p&gt;&#xA;" OwnerUserId="2021" LastEditorUserId="2021" LastEditDate="2011-11-30T19:45:41.537" LastActivityDate="2011-11-30T19:45:41.537" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6435" PostTypeId="2" ParentId="6427" CreationDate="2011-05-06T23:39:29.407" Score="7" Body="&lt;p&gt;Your problem is equivalent to &lt;em&gt;Shortest Common Supersequence&lt;/em&gt; (SCS) and was considered in $[1]$ by the name &lt;em&gt;Scheduling on batch machines with precedence constraints as chains and compatibilities&lt;/em&gt;. If items in the problem are of the same color then such problem is in P and can be solved in $O(n^2)$  $[2]$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What concerns approximability a good source is &lt;em&gt;&lt;a href=&quot;http://www.csc.kth.se/~viggo/wwwcompendium/node165.html&quot; rel=&quot;nofollow&quot;&gt;A compendium of NP optimization problems&lt;/a&gt;&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The lastest results on SCS can be found in $[3,4]$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For practical algorithms see $[5]$ whose author states that &quot;Hybrid MA-BS is a current state-of-the-art technique for the SCSP $[6]$ &quot;.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Brauner N., Naves G. &lt;a href=&quot;http://hal.archives-ouvertes.fr/hal-00264402/&quot; rel=&quot;nofollow&quot;&gt;Scheduling chains of operations on a batching machine with disjoint sets of operation compatibility&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Brucker P. Scheduling algorithms (Chapter 8. Batching Problems).&lt;/li&gt;&#xA;&lt;li&gt;Timkovsky V. G. &lt;a href=&quot;http://www.springerlink.com/index/V66860723U565178.pdf&quot; rel=&quot;nofollow&quot;&gt;Some Approximations for Shortest Common Nonsubsequences and Supersequences&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Gotthilf Z. and Lewenstein M. &lt;a href=&quot;http://www.springerlink.com/index/44161t5537771447.pdf&quot; rel=&quot;nofollow&quot;&gt;Improved Approximation Results on the Shortest Common Supersequence Problem&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Kubalik J. &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=1830529&quot; rel=&quot;nofollow&quot;&gt;Efficient stochastic local search algorithm for solving the shortest common supersequence problem&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Blum, C., Cotta, C., Fernandez, A. J., Gallardo, J. E. &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.75.9732&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;nofollow&quot;&gt;A Probabilistic Beam Search Approach to the Shortest Common Supersequence Problem&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="1060" LastEditorUserId="1060" LastEditDate="2011-05-07T11:12:43.913" LastActivityDate="2011-05-07T11:12:43.913" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6436" PostTypeId="2" ParentId="6427" CreationDate="2011-05-07T01:54:24.873" Score="2" Body="&lt;p&gt;The optimization problems seems to be equivalent to shortest common supersequence as well. The two results I found related to approximating this problem (it is NP-hard in general) are &lt;a href=&quot;http://epubs.siam.org/sicomp/resource/1/smjcat/v24/i5/p1122_s1&quot; rel=&quot;nofollow&quot;&gt;this&lt;/a&gt; and &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=642130&quot; rel=&quot;nofollow&quot;&gt;this&lt;/a&gt;. There are some inapproximability results and much weaker approximation results it seems. The &lt;a href=&quot;http://epubs.siam.org/sicomp/resource/1/smjcat/v24/i5/p1122_s1&quot; rel=&quot;nofollow&quot;&gt;first paper&lt;/a&gt; shows $\Omega(\log^\delta n)$ hardness of approximation and a polynomial factor approximation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is a simple fact (I will use your terminology instead of the shortest common supersequence terminology): if there are $k$ colors, then the greedy algorithm (take the items from the color class that has the most available balls) is a $k$ approximation. Say at some step of the optimal  we take a set $X$ of $|X| = x$ items, and consider the time step in the algorithm when we first took items from $X$. At that time step in the algorithm there were at least $x$ nonempty stacks (since not all $x$ items from $X$ are taken yet) and by averaging the algorithm took at least $x/k$ items. So the problem has a polytime dynamic programming solution when there are constantly many stacks, and a constant greedy approximation when there are constantly many color classes. &lt;/p&gt;&#xA;" OwnerUserId="4896" LastActivityDate="2011-05-07T01:54:24.873" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6437" PostTypeId="1" CreationDate="2011-05-07T09:26:36.557" Score="18" ViewCount="1162" Body="&lt;p&gt;This is a reformulation of &lt;a href=&quot;https://cstheory.stackexchange.com/questions/6420/are-grammars-programs&quot;&gt;Are grammars programs?&lt;/a&gt; previous asked by &lt;a href=&quot;https://cstheory.stackexchange.com/users/491/vag&quot;&gt;Vag&lt;/a&gt; and with many suggestions from the commenters.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In what way can a grammar be seen as specifying a model of computation?&#xA;If, for example, we take a simple context-free grammar such as&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;G ::= '1' -&amp;gt; '0' '+' '1'&#xA;      '1' -&amp;gt; '1' '+' '0'&#xA;      '2' -&amp;gt; '2' '+' '0'&#xA;      '2' -&amp;gt; '1' '+' '1'&#xA;      '2' -&amp;gt; '0' '+' '2'&#xA;      '3' -&amp;gt; '3' '+' '0'&#xA;      '3' -&amp;gt; '2' '+' '1'&#xA;      '3' -&amp;gt; '1' '+' '2'&#xA;      '3' -&amp;gt; '1' '+' '2'&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Assuming that the parser does not differentiate between &lt;em&gt;terminal&lt;/em&gt; and &lt;em&gt;nonterminal&lt;/em&gt; symbols as I've demonstrated here, then it is possible to perform simple arithmetic for numbers up to 3.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, take the string &lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;&quot;2 + 0 + 1&quot;&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Running a LR(1) parser on this string should give us the following &lt;em&gt;concrete syntax tree&lt;/em&gt; where the result of the computation is stored at the root of the tree:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;           '3'&#xA;         /  |  \&#xA;        /   |   \&#xA;      '2'  '+'  '1'&#xA;     / | \&#xA;    /  |  \&#xA;  '2' '+' '0' &#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Thus, if we take a grammar to be a &lt;em&gt;program&lt;/em&gt; and a parser generator to be a &lt;em&gt;compiler&lt;/em&gt;, could we see the grammar specification language as a &lt;em&gt;programming language&lt;/em&gt;?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Furthermore, could we build Turing-complete programs by specifying grammars similar to how you could build turing complete programs with &lt;a href=&quot;http://en.wikipedia.org/wiki/Rule_110&quot; rel=&quot;nofollow noreferrer&quot;&gt;celullar automata&lt;/a&gt; or the &lt;a href=&quot;http://en.wikipedia.org/wiki/Lambda_calculus&quot; rel=&quot;nofollow noreferrer&quot;&gt;lambda calculus&lt;/a&gt;?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In other words, it is known that in the sense of &lt;strong&gt;recognizing&lt;/strong&gt; a language, &lt;em&gt;regular languages&lt;/em&gt; correspond to &lt;em&gt;finite state automata&lt;/em&gt;, &lt;em&gt;context-free languages&lt;/em&gt; correspond to &lt;em&gt;push down automata&lt;/em&gt;, and &lt;em&gt;context-sensitive languages&lt;/em&gt; correspond to &lt;em&gt;linear bounded automata&lt;/em&gt;. However, if we look at grammars as &lt;em&gt;computational devices&lt;/em&gt; (i.e. &lt;em&gt;programs&lt;/em&gt; in the sense of the example above), then how do we classify the &lt;strong&gt;computational strength&lt;/strong&gt; of each class of grammars in the Chomsky hierarchy?&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Regular_grammar&quot; rel=&quot;nofollow noreferrer&quot;&gt;Regular grammars&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Context-free_grammar&quot; rel=&quot;nofollow noreferrer&quot;&gt;Context-free grammars&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Context-sensitive_grammar&quot; rel=&quot;nofollow noreferrer&quot;&gt;Context-sensitive grammars&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Unrestricted_grammar&quot; rel=&quot;nofollow noreferrer&quot;&gt;Unrestricted grammars&lt;/a&gt; (for &lt;a href=&quot;http://en.wikipedia.org/wiki/Recursively_enumerable_language&quot; rel=&quot;nofollow noreferrer&quot;&gt;recursively enumerable languages&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Also, how about the lesser known subclasses of grammars such as &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Deterministic_context-free_grammar&quot; rel=&quot;nofollow noreferrer&quot;&gt;Deterministic context-free grammars&lt;/a&gt; (also &lt;a href=&quot;http://en.wikipedia.org/wiki/LR_parser&quot; rel=&quot;nofollow noreferrer&quot;&gt;LR(k)&lt;/a&gt;/&lt;a href=&quot;http://en.wikipedia.org/wiki/LL_parsing&quot; rel=&quot;nofollow noreferrer&quot;&gt;LL(k)&lt;/a&gt;/&lt;a href=&quot;http://en.wikipedia.org/wiki/Simple_LR_parser&quot; rel=&quot;nofollow noreferrer&quot;&gt;SLR&lt;/a&gt;/&lt;a href=&quot;http://en.wikipedia.org/wiki/LALR_parser&quot; rel=&quot;nofollow noreferrer&quot;&gt;LALR&lt;/a&gt; etc)&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Nested_word&quot; rel=&quot;nofollow noreferrer&quot;&gt;Nested word grammars&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Tree-adjoining_grammar&quot; rel=&quot;nofollow noreferrer&quot;&gt;Tree adjoining grammars&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Indexed_grammar&quot; rel=&quot;nofollow noreferrer&quot;&gt;Indexed grammars&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT:&lt;/strong&gt; By the way, this is a nitpick on my own question but I didn't mention that I gave no starting symbol for the example grammar and hand-waved at the need to distinguish between terminals and nonterminals. Technically or traditionally I think the grammar would probably have to be written in a more complicated form like this one (where S is the starting symbol and the \$ represents the end-of-stream terminal):&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;G ::= S -&amp;gt; R0 '$'&#xA;      S -&amp;gt; R1 '$'&#xA;      S -&amp;gt; R2 '$'&#xA;      R0 -&amp;gt; '0'&#xA;      R0 -&amp;gt; R0 '+' '0'&#xA;      R1 -&amp;gt; '1'&#xA;      R1 -&amp;gt; R0 '+' '1'&#xA;      R1 -&amp;gt; '1' '+' R0&#xA;      R1 -&amp;gt; R0 '+' '1' '+' R0&#xA;      R2 -&amp;gt; '2'&#xA;      R2 -&amp;gt; R0 '+' '2'&#xA;      R2 -&amp;gt; '2' '+' R0&#xA;      R2 -&amp;gt; R0 '+' '2' '+' R0&#xA;      R2 -&amp;gt; R1 '+' '1'&#xA;      R2 -&amp;gt; R1 '+' '1' '+' R0&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;...not that it really changes anything, but I thought I should mention it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT:&lt;/strong&gt; Something else that came to mind when I read gasche's answer is that each branch in the tree in my example represents a sub-computation. If you look at each production rule as a function where the LHS represents the result and the RHS represents its arguments, then the structure of the grammar determines how functions are composed.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In other words the context of the parser together with its lookahead mechanism helps to determine not only which functions to apply ('kinda' like parametric polymorphism) but how they should be composed together to form new functions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;At least, I guess you could look at it this way for unambiguous CFG's, for other grammars the mental gymnastics is a little bit too much for me right now.&lt;/p&gt;&#xA;" OwnerUserId="105" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2014-09-23T13:26:34.523" Title="Which models of computation can be expressed through grammars?" Tags="&lt;fl.formal-languages&gt;&lt;pl.programming-languages&gt;&lt;grammars&gt;&lt;universal-computation&gt;" AnswerCount="6" CommentCount="16" FavoriteCount="13" ContentLicense="CC BY-SA 3.0" />
  <row Id="6438" PostTypeId="1" AcceptedAnswerId="6439" CreationDate="2011-05-07T10:17:23.593" Score="0" ViewCount="2110" Body="&lt;p&gt;Given a LL(2) grammar , how can i determine if it is strong ?&lt;/p&gt;&#xA;" OwnerUserId="4989" LastActivityDate="2015-11-20T02:38:36.707" Title="Determine if a LL(2) grammar is strong" Tags="&lt;fl.formal-languages&gt;&lt;grammars&gt;" AnswerCount="2" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="6439" PostTypeId="2" ParentId="6438" CreationDate="2011-05-07T11:56:21.903" Score="4" Body="&lt;p&gt;From &lt;a href=&quot;http://slkpg.com/llkparse.html&quot; rel=&quot;nofollow&quot;&gt;http://slkpg.com/llkparse.html&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;Definition:  A grammar G = ( N, T, P, S ) is said to be strong&#xA;LL(k) for some fixed natural number k if for all&#xA;nonterminals A, and for any two distinct A-productions in the grammar&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;$A \rightarrow \alpha$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$A \rightarrow \beta$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$FIRST_k ( \alpha \,\, FOLLOW_k (A) ) \cap  FIRST_k ( \beta \,\, FOLLOW_k (A) ) = \emptyset$&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;That is, each parsing decision is based only on the next k tokens of the&#xA;input for the current nonterminal that is being expanded.&lt;/pre&gt;&#xA;" OwnerUserId="105" LastEditorUserId="6290" LastEditDate="2015-11-20T02:38:36.707" LastActivityDate="2015-11-20T02:38:36.707" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6440" PostTypeId="1" CreationDate="2011-05-07T12:16:04.037" Score="1" ViewCount="1311" Body="&lt;p&gt;The subset sum problem is NP Complete. I was wondering if the following variation can be proved to be NP Complete :&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The cardinality of set of integers is $m$.&#xA;And each element of the set is between $1$ and $m^2$. Repetitions are allowed.&#xA;The objective is to find a subset that would sum up to a given sum.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This seems to be as hard as the subset sum itself, but i cant come up with a reduction that would prove my conjecture.&lt;/p&gt;&#xA;" OwnerUserId="4991" LastEditorUserId="186" LastEditDate="2011-05-07T20:37:04.343" LastActivityDate="2011-05-07T20:37:04.343" Title="A variation of the subset sum problem" Tags="&lt;ds.algorithms&gt;&lt;np-hardness&gt;" AnswerCount="0" CommentCount="4" ClosedDate="2011-05-07T20:39:30.677" ContentLicense="CC BY-SA 3.0" />
  <row Id="6441" PostTypeId="1" AcceptedAnswerId="6443" CreationDate="2011-05-07T15:19:29.890" Score="2" ViewCount="249" Body="&lt;p&gt;I would like to know if there exists a polytime probablistic algorithm for the problem described below. It is relevant for construction of a crossvalidation-partitioning in statistics, fulfilling certain constraints.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Or is it maybe NP-complete? I don't see any direct connections to any NP-complete problem I know of.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Input:&lt;/strong&gt; $(N,K, (\phi_1, \ldots, \phi_l))$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Informal description:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $ \{1 \ldots N\}$ be partitioned according to functions $\phi_1, \ldots, \phi_l$. Find a random partition $\Phi : \{1\ldots N\} \rightarrow \{1\ldots K\}$ s.t. for all $i$, elements with the same value under $\phi_i$, will get at least 2 different values under $\Phi$. Furthermore, the new partitioning should be balanced.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If no solution exists, halt with error.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Formal description:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $N, K \in \mathbb N$, and $\phi_i : \{1 \ldots N\} \rightarrow \{1 \ldots m_i\}$ be given for $i \in \{1 \ldots l\}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Find a random $\Phi : \{1\ldots N\} \rightarrow \{1\ldots K\}$ s.t. &#xA;$$&#xD;&#xA;\forall i\in \{1 \ldots l\} :\forall v \in \{1\ldots  m_i\} : |\Phi( \phi_i^{-1}(v) )| \geq 2&#xD;&#xA;$$&#xA;$$&#xD;&#xA;\forall v \in \{1\ldots K\} :\left\lfloor \frac{N}{K} \right\rfloor \leq |\Phi^{-1}(v)| \leq \left\lceil \frac{N}{K} \right\rceil&#xD;&#xA;$$&lt;/p&gt;&#xA;" OwnerUserId="4992" LastEditorUserId="186" LastEditDate="2011-05-07T20:45:50.760" LastActivityDate="2011-05-07T20:45:50.760" Title="Does there exist polytime algorithm for this partitioning problem?" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;&lt;application-of-theory&gt;&lt;randomized-algorithms&gt;" AnswerCount="1" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="6443" PostTypeId="2" ParentId="6441" CreationDate="2011-05-07T16:50:52.277" Score="6" Body="&lt;p&gt;&lt;em&gt;(This is about the problem in which $|\phi(\Phi^{-1}(i))|\geq 2$ instead of $|\Phi(\phi^{-1}(i))|\geq 2$. Read it too fast. On the bright side Dave fixes it in a comment to this message )&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What about saying it computes a proper edge coloring of a regular graph ? This problem is NP-Complete, and amounts, given a graph as an entry, to find a partition of its edges into matchings.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Vizing's theorem says that to do that Delta (the maximum degree of your graph) or Delta + 1 colors are required, though deciding which is NP-hard.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In your case, I think setting $N$ to the be number of edges, and setting K to Delta would do the trick. You then want to split your $N$ edges into $K=\Delta$ classes, and N is a multiple of Delta (for example in 3-regular graphs, for which the problem is still NP-hard).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In order to ensure that the answer is a proper edge coloring, one can let $\phi_v$ (for each vertex $v$) be the function equal to $0$ when edge $e\in [N]$ is adjacent to $v$, and 1 otherwise. If each color class has at least two different images for each $\phi_v$, it means that each color class contains a edge incident to each vertex. As the graph is Delta-regular, it also means that all the edges around a vertex have different colors as there are only Delta edges around each vertex, and if a class had two it means one would have none.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If it's true it would mean that finding one answer to your question is hard, and sampling solutions too :-)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Nathann &lt;/p&gt;&#xA;" OwnerUserId="1209" LastEditorUserId="1209" LastEditDate="2011-05-07T18:24:37.720" LastActivityDate="2011-05-07T18:24:37.720" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="6445" PostTypeId="2" ParentId="6437" CreationDate="2011-05-07T17:57:33.910" Score="6" Body="&lt;p&gt;My answer is not intented to be formal, precise and absolutely in-topic. I think Marc Hamman's answer is rock solid, but your question made me think of a related topic.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Grammars may be considered special cases of deductive systems: the input is a judgement, and the parse tree is a &lt;em&gt;derivation&lt;/em&gt; of the judgement, or &lt;em&gt;proof&lt;/em&gt; that the judgement is valid according to the (grammatical) rules.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In that sense, your question could be related to the approach of some part of the logic programming / proof search community (I'm thinking of &lt;a href=&quot;http://www.lix.polytechnique.fr/~dale/&quot;&gt;Dale Miller&lt;/a&gt; for example), which is that proof &lt;em&gt;search&lt;/em&gt; has computational content, as opposed to the more classic type/proof theory point of view where computation is proof &lt;em&gt;normalization&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Remark: re-reading my answer, I think the idea that &quot;parse-tree construction is proof search&quot; is a bit far-fetched here. Proof search rather flows in the other direction: one start from a given, rather complex judgement and, by the repeated use of inference rules working on the structure of the proof, one hopefully attain simpler axioms that do not need to be proved further. So it would be more natural to see, in grammar terms, complex judgements as non-terminals, atoms as terminals, and the proof search as a word generation problem, or non-emptiness test.&lt;/p&gt;&#xA;" OwnerUserId="4984" LastEditorUserId="4984" LastEditDate="2011-05-07T19:36:27.980" LastActivityDate="2011-05-07T19:36:27.980" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6446" PostTypeId="2" ParentId="6437" CreationDate="2011-05-07T20:12:43.930" Score="11" Body="&lt;p&gt;There is a one-to-one correspondence between &lt;a href=&quot;http://en.wikipedia.org/wiki/Unrestricted_grammar&quot; rel=&quot;noreferrer&quot;&gt;Chomsky Type-0 grammars&lt;/a&gt; and Turing machines.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is exploied in the &lt;a href=&quot;http://en.wikipedia.org/wiki/Thue_%28programming_language%29&quot; rel=&quot;noreferrer&quot;&gt;Thue programing language&lt;/a&gt; which allows you to write Turing-complete programs specified by an initial string and a set of string-rewriting rules (a &lt;a href=&quot;http://en.wikipedia.org/wiki/Semi-Thue_grammar&quot; rel=&quot;noreferrer&quot;&gt;semi-Thue grammar&lt;/a&gt;, which is equivalent to a type-0 grammar).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;UPDATE:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Other than esoteric &quot;Turing tar-pit&quot; languages like Thue, various general purpose languages that allow the programmer to extend their own syntax can be used to perform Turing-complete computation during the parsing-compilation stage.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Languages in the &lt;a href=&quot;http://en.wikipedia.org/wiki/Lisp_%28programming_language%29&quot; rel=&quot;noreferrer&quot;&gt;Lisp&lt;/a&gt; family, in particular &lt;a href=&quot;http://en.wikipedia.org/wiki/Common_Lisp&quot; rel=&quot;noreferrer&quot;&gt;Common Lisp&lt;/a&gt;, are probably the most obvious examples, but also, broadly speaking, languages with static type checking that doesn't always need to halt, such as &lt;a href=&quot;http://en.wikipedia.org/wiki/Template_metaprogramming&quot; rel=&quot;noreferrer&quot;&gt;C++ with templates&lt;/a&gt;, &lt;a href=&quot;http://en.wikipedia.org/wiki/Scala_%28programming_language%29&quot; rel=&quot;noreferrer&quot;&gt;Scala&lt;/a&gt; and &lt;a href=&quot;http://en.wikipedia.org/wiki/Qi_%28programming_language%29&quot; rel=&quot;noreferrer&quot;&gt;Qi&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="1749" LastEditorUserId="1749" LastEditDate="2011-05-08T13:56:51.707" LastActivityDate="2011-05-08T13:56:51.707" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="6447" PostTypeId="2" ParentId="6076" CreationDate="2011-05-07T21:26:10.670" Score="2" Body="&lt;p&gt;I would consider the translation that goes through an alternating automata. (See Vardi's paper &quot;Alternating Automata and program verification&quot;). It's a very elegant translation from LTL to alternating automata and then you can use Mihano Ayashi (which is also elegant - it's a double subset construction) to reach a non deterministic Buchi automata. &lt;/p&gt;&#xA;" OwnerUserId="1536" LastActivityDate="2011-05-07T21:26:10.670" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6448" PostTypeId="1" CreationDate="2011-05-07T23:12:44.557" Score="61" ViewCount="4268" Body="&lt;p&gt;Often, when we take part in TCS conferences, we notice some little details that we wish the conference organisers would have taken care of. And when we are organising conferences, we have already forgotten it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hence the question: &lt;strong&gt;Which small steps we could easily take to improve TCS conferences&lt;/strong&gt;?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hopefully, this question could become a resource that we could double-check whenever we are organising conferences, to make sure that we do not repeat the same mistakes again and again...&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;I am here interested in relatively &lt;strong&gt;small and inexpensive&lt;/strong&gt; details – something that conference organisers could have easily done if only they had thought about it in time. For example, it might be a useful piece of information that could be put on the conference web page well in advance; a five-dollar gadget that may save the day; something to consider when choosing the restaurant for the banquet; the best timing of the coffee breaks; or your ideal design of the conference badges.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We can cover here &lt;strong&gt;all aspects of conference arrangements&lt;/strong&gt; (including paper submissions, program committees, reviews, local arrangements, etc.).&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;This is a community wiki question. Please post &lt;strong&gt;one idea&lt;/strong&gt; per answer, and please vote other answers up or down depending on how important they are in your opinion.&lt;/p&gt;&#xA;" OwnerUserId="74" LastEditorUserId="74" LastEditDate="2011-05-07T23:52:40.183" LastActivityDate="2016-02-16T06:58:49.403" Title="Small steps for better TCS conferences?" Tags="&lt;soft-question&gt;&lt;big-list&gt;&lt;research-practice&gt;&lt;conferences&gt;" AnswerCount="33" CommentCount="3" FavoriteCount="20" CommunityOwnedDate="2011-05-07T23:51:16.083" ContentLicense="CC BY-SA 3.0" />
  <row Id="6449" PostTypeId="2" ParentId="6379" CreationDate="2011-05-07T23:29:55.737" Score="1" Body="&lt;p&gt;It looks similar to &lt;a href=&quot;http://scholar.google.com/scholar?hl=en&amp;amp;q=time-bounded+kolmogorov+complexity&amp;amp;as_sdt=1,5&amp;amp;as_ylo=&amp;amp;as_vis=0&quot; rel=&quot;nofollow&quot;&gt;time-bounded Kolmogorov complexities&lt;/a&gt; of your &quot;$S'$&quot; sets. A definition is given in, for example, M.Sipser &quot;A complexity theoretic approach to randomness&quot; 1983.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A time-bounded Kolmogorov complexity aims to capture the &quot;trade-off&quot; between the size of the description of a string and the time the generator/recognizer needs. It is an important detail what kind of &quot;descriptions&quot; you want to consider; as it is said in the paper by Sipser:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;The intuition is that while   $K(s)$  is&#xA;  the length of the shortest program&#xA;  &lt;em&gt;generating&lt;/em&gt; $s$, $KD(s)$   is the length&#xA;  of the shortest program which &lt;em&gt;accepts&lt;/em&gt;&#xA;  only  $s$.  In pure Kolmogorov&#xA;  complexity these two measures differ&#xA;  by only an additive constant.   In the&#xA;  time restricted complexity they appear&#xA;  to be quite different...&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Your setting differs in that you are interested neither in--informally speaking--$K(S')$ nor in $KD(S&amp;#39;)$ (regarding $S&amp;#39;$ as a whole finite object represented as a string), but you want to regard $S&amp;#39;$ as a set and measure the sizes and running times of programs that accept the elements of $S&amp;#39;$. Your setting must be closely related to the research on time-bounded Kolmogorov complexity, but I'm not an expert in this field to tell you definitely whether it has been explored and what the results are, how the connection between your measure and the time-bounded variant of $KD(\cdot)$ can be characterized.&lt;/p&gt;&#xA;" OwnerUserId="3551" LastEditorUserId="3551" LastEditDate="2011-05-08T01:04:25.907" LastActivityDate="2011-05-08T01:04:25.907" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6450" PostTypeId="2" ParentId="6448" CreationDate="2011-05-07T23:55:01.133" Score="27" Body="&lt;p&gt;&lt;strong&gt;Abstract booklets.&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Problem&lt;/strong&gt;: proceedings are now mostly online (a good thing) and I don't feel like uncorking my laptop to see the topic of a paper. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Solution&lt;/strong&gt;: Supply abstract booklets (some conferences are already doing this). It's a small booklet that lists abstracts in order of presentation and is an easy reference to decide what a talk is about. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note: this is an interim solution till we all carry around IPads :), but even then having all abstracts summarized in one place is very convenient. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2011-05-07T23:55:01.133" CommentCount="1" CommunityOwnedDate="2011-05-07T23:55:01.133" ContentLicense="CC BY-SA 3.0" />
  <row Id="6451" PostTypeId="1" CreationDate="2011-05-08T03:36:31.907" Score="0" ViewCount="2004" Body="&lt;p&gt;There is a step in &lt;a href=&quot;http://en.wikipedia.org/wiki/Bron%E2%80%93Kerbosch_algorithm&quot; rel=&quot;nofollow noreferrer&quot;&gt;Bron–Kerbosch algorithm&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;for each vertex v in a degeneracy ordering of G:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;what is &quot;a degeneracy ordering of G&quot;?  For example what is vertex in a degeneracy ordering  in &lt;/p&gt;&#xA;&#xA;&lt;p&gt;this graph &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://upload.wikimedia.org/wikipedia/commons/5/5b/6n-graf.svg&quot; width=&quot;300&quot; height=&quot;200&quot;&gt;&lt;/p&gt;&#xA;" OwnerUserId="5001" LastEditorUserId="-1" LastEditDate="2017-03-09T18:04:14.443" LastActivityDate="2011-05-08T12:50:48.303" Title="vertex in a degeneracy ordering of a undirected graph" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;terminology&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6452" PostTypeId="2" ParentId="6448" CreationDate="2011-05-08T04:51:28.780" Score="27" Body="&lt;p&gt;&lt;strong&gt;Calendar for conference activities&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Problem&lt;/strong&gt;: It's hard to keep track of multiple sessions, and often in a large conference I don't want to attend all the talks, or would like to maintain a special list of talks I'm going to.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Solution&lt;/strong&gt;: The conference should at a minimum provide a calendar file that can be slotted into google calendar or whatever calendaring app you have on a phone/laptop. The ICS format is pretty standard. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note: Conferences can go much further - at KDD you logged into a social networking site associated with the conference and could export a customized calendar based on what talks you're interested in. But that requires more infrastructure and money, and is not within the scope of this question. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2011-05-08T04:51:28.780" CommentCount="0" CommunityOwnedDate="2011-05-08T04:51:28.780" ContentLicense="CC BY-SA 3.0" />
  <row Id="6453" PostTypeId="2" ParentId="6448" CreationDate="2011-05-08T06:19:11.133" Score="35" Body="&lt;p&gt;&lt;strong&gt;Give away USB sticks as proceedings&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Yes, the papers are online, but conferences rarely have working wireless in the conference rooms or nearby public areas.  CD-ROMs are the current electronic medium of hoice, but a large fraction of people have tablets and netbooks without CD drives.  USB drives cost less than dirt, and they work with almost any computer whose name doesn't match the regexp &quot;iP*&quot;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you don't want to pre-fill each USB stick with the electronic proceedings, let people fill their own sticks with the electronic proceedings, either from a PC (or three) at the registration desk, or from a colleague who already dumped their stick onto some other device.&lt;/p&gt;&#xA;" OwnerUserId="111" LastActivityDate="2011-05-08T06:19:11.133" CommentCount="7" CommunityOwnedDate="2011-05-08T06:19:11.133" ContentLicense="CC BY-SA 3.0" />
  <row Id="6454" PostTypeId="1" AcceptedAnswerId="6490" CreationDate="2011-05-08T07:02:14.703" Score="10" ViewCount="332" Body="&lt;p&gt;Update: It seems this problem has been studied and solved recently, see this wiki article: &lt;a href=&quot;http://en.wikipedia.org/wiki/Tree_walking_automaton&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://en.wikipedia.org/wiki/Tree_walking_automaton&lt;/a&gt;&#xA;And also this survey:&#xA;&lt;a href=&quot;http://www.mimuw.edu.pl/~bojan/papers/twasurvey.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://www.mimuw.edu.pl/~bojan/papers/twasurvey.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose that instead of the usual set of words, {0,1}*, our words are not linear but rather given on some tree structure. To prevent our machines from &quot;getting lost&quot;, define our words as the set of binary, embedded arborescences. (So every word is a tree, where every edge is directed away from a given a root that has degree two, every other non-leaf vertex has degree three, and every edge is labeled left or right such that any two edges starting from the same vertex have different labels.) A language is a set of such trees. (Note that there is no need to write zeros and ones on the vertices as they can be anyhow simulated by locally modifying the trees.) When a machine is &quot;reading a tree&quot;, it starts from the root, it can sense if a given vertex is the root, a leaf or a degree three vertex and can decide if in the next step it wants to go to the parent of the vertex, or on the edge labeled left or right.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is it true in this model that any language that can be recognized by a non-deterministic finite state automaton can also be recognized by a deterministic finite state automaton?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that when the tape is the usual linear tape, this is true, as any 2-NFA can be simulated with a 2-DFA (even with a DFA). I already asked a special instance of the problem &lt;a href=&quot;https://cstheory.stackexchange.com/questions/3981/is-the-balanced-boolean-formula-problem-solvable-in-sublogarithmic-space-if-the-i&quot;&gt;here&lt;/a&gt; that was solved by &lt;a href=&quot;https://cstheory.stackexchange.com/users/313/kristoffer-arnsfelt-hansen&quot;&gt;Kristoffer&lt;/a&gt;. The motivation would be to solve &lt;a href=&quot;https://cstheory.stackexchange.com/questions/3963/does-loglog-nloglog&quot;&gt;this&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="419" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2011-05-09T13:49:39.397" Title="Are non-deterministic tree-walking automata stronger than deterministic ones?" Tags="&lt;cc.complexity-theory&gt;&lt;automata-theory&gt;&lt;space-bounded&gt;&lt;dfa&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="6455" PostTypeId="2" ParentId="6451" CreationDate="2011-05-08T07:13:26.880" Score="2" Body="&lt;p&gt;See &lt;a href=&quot;http://en.wikipedia.org/wiki/Degeneracy_(graph_theory&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/Degeneracy_(graph_theory&lt;/a&gt;)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Essentially, a degeneracy ordering is an ordering on the vertices that you get from repeatedly removing a vertex of minimum degree in the remaining subgraph. The degeneracy of the graph is the smallest number d such that every vertex has at most d neighbors that are later than it in the ordering. Among all possible orderings, the degeneracy orderings minimize this number.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2011-05-08T07:13:26.880" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6456" PostTypeId="2" ParentId="6454" CreationDate="2011-05-08T08:17:55.997" Score="6" Body="&lt;p&gt;For tree automata, you have the following results:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Deterministic bottom-up tree automata have the same expressive power as non-deterministic bottom-up tree automata. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Deterministic top-down tree automata are weaker than non-deterministic top-down tree automata.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;More details can be found in the &lt;a href=&quot;http://tata.gforge.inria.fr/&quot; rel=&quot;nofollow&quot;&gt;Tree Automata&lt;/a&gt; book.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It seems that you are interested in top-down tree automata, so the answer to your question is &lt;strong&gt;no&lt;/strong&gt;. You will of course have to check whether top-down tree automata are in fact what you are interested in.&lt;/p&gt;&#xA;" OwnerUserId="77" LastEditorUserId="77" LastEditDate="2011-05-08T08:41:03.030" LastActivityDate="2011-05-08T08:41:03.030" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6457" PostTypeId="2" ParentId="6448" CreationDate="2011-05-08T09:02:33.280" Score="49" Body="&lt;ol&gt;&#xA;&lt;li&gt;&lt;strong&gt;Keep prices down&lt;/strong&gt;: you can get lovely hors d'oeuvres at a &lt;code&gt;$750&lt;/code&gt;-per-seat hotel-hosted conference, it is true, but it tends to detract from the intellectual atmosphere you can get with a &lt;code&gt;$100&lt;/code&gt;-per-seat university-hosted conference.  Also, you don't just get the people attending who deliver talks.  Allow students at the university to attend for free;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Space parallel sessions&lt;/strong&gt;, so that people can really move between them;&lt;/li&gt;&#xA;&lt;li&gt;But also &lt;strong&gt;encourage interaction between speakers and attendees at parallel sessions&lt;/strong&gt; beforehand, so that parallel sessions are also autonomous communities.  This encourages interaction, and the sense that parallel sessions are moving the discussion in their subfield forward.  Some conferences (e.g., the German linguistics conference, DGfS) have taken this to the conclusion of having all parallel sessions be independent workshops.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="270" LastEditorUserId="270" LastEditDate="2016-02-16T06:58:49.403" LastActivityDate="2016-02-16T06:58:49.403" CommentCount="8" CommunityOwnedDate="2011-05-08T09:02:33.280" ContentLicense="CC BY-SA 3.0" />
  <row Id="6459" PostTypeId="2" ParentId="6448" CreationDate="2011-05-08T09:07:09.767" Score="-1" Body="&lt;p&gt;&lt;strong&gt;Discourage audience laptop usage during presentations.&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course I cannot say for sure which laptop users are listening to the talk and which ones are reading email, but I always find it discouraging (if not rude) as a speaker to be speaking to a wall of heads buried in laptops. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Naturally some people are looking up definitions or related work and so forth, to enhance their listening experience. But having I seen plenty of people reading email or facebooking, I really wonder why they are even in the room.&lt;/p&gt;&#xA;" OwnerUserId="77" LastEditorUserId="77" LastEditDate="2011-05-13T17:07:53.923" LastActivityDate="2011-05-13T17:07:53.923" CommentCount="7" CommunityOwnedDate="2011-05-08T09:07:09.767" ContentLicense="CC BY-SA 3.0" />
  <row Id="6460" PostTypeId="2" ParentId="6448" CreationDate="2011-05-08T09:08:25.320" Score="11" Body="&lt;p&gt;Use specialised software to manage submission of papers, assignment of referees, receipt of referee reports, gathering PC member assessment of reviews, and communication of outcomes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://edutechwiki.unige.ch/en/Conference_management_software&quot; rel=&quot;nofollow&quot;&gt;Conference management software&lt;/a&gt; on the Edutech wiki lists some options.&lt;/p&gt;&#xA;" OwnerUserId="270" LastActivityDate="2011-05-08T09:08:25.320" CommentCount="3" CommunityOwnedDate="2011-05-08T09:08:25.320" ContentLicense="CC BY-SA 3.0" />
  <row Id="6461" PostTypeId="1" CreationDate="2011-05-08T10:12:51.547" Score="4" ViewCount="226" Body="&lt;p&gt;I am trying to understand how word sizes in a problem affects complexity. The question could be a simple technicality I am trying to clarify since I am not from mainstream CS. Let $V$ be an $n \times n$ fixed Vandermonde matrix and $A$ an $n \times 1$ arbitrary vector. Both $V$ and $ A$ have entries in $\mathbb{Z}$. Both $VA$ and $V^{T}A$ can be calculated in $O(n\log^{a}n)$ multiplications and additions on a fixed word machine ($a$ is a positive constant).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www2.cs.uh.edu/~ooo00a/reading/fast_algorithms_with_preprocessing_for_matrix-vector_multiplication_problems.pdf&quot; rel=&quot;nofollow&quot;&gt;http://www2.cs.uh.edu/~ooo00a/reading/fast_algorithms_with_preprocessing_for_matrix-vector_multiplication_problems.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does the above complexity result hold when $V$ is generated by a number of size $O(\log^{b}{n})$ bits where $b$ is a positive constant? In this case, the highest number in $V$ is of size $O(n\log^{b}{n})$ bits. Shouldn't this have an impact?&lt;/p&gt;&#xA;" OwnerUserId="1812" LastEditorUserId="1812" LastEditDate="2011-05-10T10:28:22.270" LastActivityDate="2011-05-10T10:28:22.270" Title="Question on size of words in Vandermonde Matrix - Vector multiplication complexity" Tags="&lt;cc.complexity-theory&gt;&lt;matrix-product&gt;" AnswerCount="0" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6462" PostTypeId="2" ParentId="6448" CreationDate="2011-05-08T11:52:21.117" Score="19" Body="&lt;p&gt;&lt;strong&gt;Conference submission = arXiv ID.&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Nowadays, a conference submission is usually a PDF file. Instead of asking people to submit PDF files, we could easily ask them to just enter the arXiv identifier of the work that they want to submit.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[Of course the arXiv paper must be formatted like a conference submission: approx. 10 pages of text + all missing details in an appendix.]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This would be relatively straightforward to implement, and it would have numerous benefits:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;If a paper is accepted, this way it is guaranteed that a &lt;strong&gt;version with full proofs is permanently available somewhere&lt;/strong&gt;. We would never again have the typical situation that a conference paper claims a result and refers to a future journal version that will never appear.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;All results would be &lt;strong&gt;made public much earlier&lt;/strong&gt;. We could have a faster advancement of TCS, as others could more quickly build on top of earlier work, and less risk of reinventing the wheel many times in parallel. ArXiv gives reliable timestamps, so there is no question of anyone stealing someone else's work.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Reviewing&lt;/strong&gt; would more interesting, and there would be fewer ethical issues. Now you would be reviewing something that is already made public. You can perfectly well already start to think how to use the results in your own work, how to improve them, etc.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;When the &lt;strong&gt;list of accepted papers&lt;/strong&gt; is published, it would be trivial to add arXiv links to all accepted papers. This way people could already have a look at the papers that look interesting well in advance before the conference.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Obviously there are some drawbacks, too. Posting your paper on arXiv takes some time. You would actually have to first submit to arXiv, then sleep on it, and finish your conference submission on the following day (if it still looks like a good idea). But I don't think this would necessarily be a bad thing...&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;(Of course, now it would also be obvious that there would be very little need for any printed proceedings or commercial publishers. After all, the list of accepted papers with arXiv links is, in essence, everything that we need. If someone really wants to get a fancy proceedings book, a local university press could handle it at a low cost. But this is getting off-topic – getting rid of publishers is not a &lt;em&gt;small&lt;/em&gt; change that people could implement easily.)&lt;/p&gt;&#xA;" OwnerUserId="74" LastActivityDate="2011-05-08T11:52:21.117" CommentCount="22" CommunityOwnedDate="2011-05-08T11:52:21.117" ContentLicense="CC BY-SA 3.0" />
  <row Id="6463" PostTypeId="2" ParentId="6448" CreationDate="2011-05-08T12:15:06.387" Score="24" Body="&lt;p&gt;&lt;strong&gt;Recommend a few good hotels to conference participants&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I've been to conferences where the recommended list of hotels had 10+ hotels (or none, with the message &quot;this is a large city with many hotels, feel free to pick any&quot;).  While it's nice to have so much choice, first it means that someone who doesn't know the city will have to pick which one is optimal for them. Second, this greatly reduces the chance of being in the same hotel as a lot of other conference attendees. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Instead, conference organizers, who are locals and can evaluate hotel optimality much better than attendees, can recommend something like 3 or 4 hotels at most, based on their price. There should be a cheap option for students and people on a low budget, and another one for those without funding constraints.  That way a lot of attendees will end up at the same hotel and have the chance to interact during breakfast, commute to and from the conference together, etc.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Sometimes this suggestion is not feasible when the hotels in the area are small and will get full really fast. I mean to direct this suggestion to conferences where it is feasible to make such recommendations.&lt;/p&gt;&#xA;" OwnerUserId="206" LastActivityDate="2011-05-08T12:15:06.387" CommentCount="3" CommunityOwnedDate="2011-05-08T12:15:06.387" ContentLicense="CC BY-SA 3.0" />
  <row Id="6464" PostTypeId="2" ParentId="6399" CreationDate="2011-05-08T13:38:20.227" Score="11" Body="&lt;p&gt;&lt;a href=&quot;http://mor.journal.informs.org/cgi/content/abstract/19/4/769&quot;&gt;Counting the number of lattice points in a rational polytope (when the dimension is constant) in polynomial time&lt;/a&gt;, due to Alexander Barvinok.&lt;/p&gt;&#xA;" OwnerUserId="2955" LastActivityDate="2011-05-08T13:38:20.227" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="6465" PostTypeId="2" ParentId="6437" CreationDate="2011-05-08T15:28:50.033" Score="6" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;Furthermore, could we build Turing-complete programs by specifying grammars…?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I'm not sure if I correctly understood your question, but if you're looking for a programming language based on a kind of string rewriting system, you probably would be intersted in &lt;a href=&quot;http://en.wikipedia.org/wiki/Refal&quot;&gt;Refal&lt;/a&gt;, which is based on &lt;a href=&quot;http://en.wikipedia.org/wiki/Markov_algorithm&quot;&gt;Markov algorithm&lt;/a&gt; formalism (a Turing-comlete formalism which is also a grammar-like string rewriting system).&lt;/p&gt;&#xA;" OwnerUserId="869" LastActivityDate="2011-05-08T15:28:50.033" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="6466" PostTypeId="2" ParentId="6448" CreationDate="2011-05-08T16:15:52.323" Score="9" Body="&lt;p&gt;Make conference T-shirts using a large collection of figures from the papers. &#xA;(ACM SCG has done this twice in its 25 years; know any other conferences that have?) &lt;/p&gt;&#xA;" OwnerUserId="4377" LastActivityDate="2011-05-08T16:15:52.323" CommentCount="5" CommunityOwnedDate="2011-05-08T16:15:52.323" ContentLicense="CC BY-SA 3.0" />
  <row Id="6467" PostTypeId="1" CreationDate="2011-05-08T16:18:33.273" Score="29" ViewCount="915" Body="&lt;p&gt;I'm looking to build notations for large countable ordinals in a &quot;natural way&quot;.  By &quot;natural way&quot; I mean that given an inductive data type X, that equality should be the usual recursive equality (the same that &lt;code&gt;deriving Eq&lt;/code&gt; in Haskell would produce) and the order should be the usual recursive lexicographical order (the same that &lt;code&gt;deriving Ord&lt;/code&gt; in Haskell would produce), and there is a decidable predicate that determines if a member of X is a valid ordinal notation or not.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, ordinals less than &amp;epsilon;&lt;sub&gt;0&lt;/sub&gt; can be represented by hereditarily finite sorted lists and satisfies these requirements. Define X to be &amp;mu;&amp;alpha;.&amp;nbsp;&amp;mu;&amp;beta;.&amp;nbsp;1&amp;nbsp;+&amp;nbsp;&amp;alpha;&amp;times;&amp;beta;, a.k.a. hereditarily finite lists.  Define &lt;code&gt;isValid&lt;/code&gt; to check that X is sorted and all members of X are &lt;code&gt;isValid&lt;/code&gt;.  The valid members of X are all ordinals less than &amp;epsilon;&lt;sub&gt;0&lt;/sub&gt; under the usual lexicographical order. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I conjecture that &amp;mu;&amp;alpha;&lt;sub&gt;0&lt;/sub&gt;.&amp;hellip;&amp;nbsp;&amp;mu;&amp;alpha;&lt;sub&gt;n&lt;/sub&gt;.&amp;nbsp;1&amp;nbsp;+&amp;nbsp;&amp;alpha;&lt;sub&gt;0&lt;/sub&gt;&amp;times;&amp;hellip;&amp;times;&amp;alpha;&lt;sub&gt;n&lt;/sub&gt; can be used to define ordinals less than &amp;phi;&lt;sub&gt;n&amp;nbsp;+&amp;nbsp;1&lt;/sub&gt;(0), where &amp;phi; is the Veblen function, in a similar way.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As you can see I run out of &amp;mu; quantifiers at &amp;phi;&lt;sub&gt;&amp;omega;&lt;/sub&gt;(0). Can I build larger ordinal notations satisfying my requirements?  I was hoping to get as far as &amp;Gamma;&lt;sub&gt;0&lt;/sub&gt;.  Can I get larger ordinals if I drop my decidability requirement on my validity predicate?&lt;/p&gt;&#xA;" OwnerUserId="4122" LastEditorUserId="4122" LastEditDate="2011-05-10T19:33:22.937" LastActivityDate="2012-08-22T07:59:36.437" Title="Inductive types for large countable ordinal notations." Tags="&lt;lo.logic&gt;&lt;type-theory&gt;&lt;proof-theory&gt;" AnswerCount="1" CommentCount="9" FavoriteCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="6468" PostTypeId="2" ParentId="6437" CreationDate="2011-05-08T16:28:57.993" Score="6" Body="&lt;p&gt;(Just some trivial considerations. Could be a comment, but too long.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In fact, &lt;strong&gt;what you describe looks in effect as the very natural view on what a language is&lt;/strong&gt; (in the human understanding of &quot;language&quot;, its purpose) and how a grammar defines a language.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A language comprises (infinitely many) correct syntactic forms which are &lt;strong&gt;interpreted to give the semantic values&lt;/strong&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If the interpretation is computable, then the syntactic forms of a language can be viewed as programs that compute the semantic values.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we assume that a language is implemented as a finite device, we can call this finite representation of a language a &quot;grammar&quot;. According to this understanding, a grammar cares about syntax, but also about the semantics, i.e., how to compute the semantic value of a whole expression from the values of its parts (the atomic parts and their values are stored in a &quot;lexicon&quot;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some theories of natural language have such a form (the form that is consistent with the above considerations; it was already mentioned in @gasche's answer here): a &lt;strong&gt;deductive system&lt;/strong&gt; that searches for a derivation of the input (coupled with the computation of the semantic value, or the building of the proof term; cf. Curry-Horward correspondence). So, if we look at systems like that and consider them grammars, &lt;strong&gt;then your question is trivial&lt;/strong&gt;: these systems are exactly devised to perform computations in the manner you describe.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;But what traditionally is called &quot;formal languages&quot; and &quot;formal grammars&quot; lack the semantic side&lt;/strong&gt; of this view on languages and grammars. So, your question becomes interesting: to what extent can the semantic side (computation) be &quot;simulated&quot; in the syntax? What are the computational powers of each of the known classes of formal grammars (if the computation is to be understood as the bottom-up parsing: &lt;strong&gt;a function $f$ is computed by a grammar $G$ in the sense of your question if&lt;/strong&gt; for any valid input $I$ $f(I)=S$ iff $I$ is parsed as the symbol $S$ according to $G$)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(In fact, the real compilers for programming languages look more like a system with both syntax and semantics: they transform the syntactic form of a program into an executable, which is the semantic meaning of the program, and rather not merely to a starting symbol of the grammar.)&lt;/p&gt;&#xA;" OwnerUserId="3551" LastEditorUserId="3551" LastEditDate="2011-05-10T22:00:00.783" LastActivityDate="2011-05-10T22:00:00.783" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6469" PostTypeId="2" ParentId="5919" CreationDate="2011-05-08T16:41:15.497" Score="1" Body="&lt;p&gt;I think this is at least as hard as sorting a set of integers $S \subseteq [n]$ with &quot;random advice&quot; of size polynomial in $n$. By random advice I mean that for any $n$ there is a fixed distribution ${\cal D}_n$ (depending &lt;em&gt;only&lt;/em&gt; on $n$) over strings of size poly($n$)  and our algorithm (modeled by a RAM machine) is given random access to a single sample from ${\cal D}_n$. ${\cal D}_n$ is the (randomized) data structure after pushing $[n]$ in order, together with a hash table that maps integers to identifiers in expected $O(1)$ time. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given that setup, for an instance $S \subseteq [n]$ of the integer sorting problem, we can issue extract($S$) (actually we need the identifiers of $S$ but this mapping can be done in $O(1)$ time per item using the hash table that is part of the advice) and the input will be sorted in the time it takes to execute extract. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, the message is that, unless some &quot;free&quot; side information that depends &lt;em&gt;only on the upper bound of the integers&lt;/em&gt; can make integer sorting easier, extract is as hard as integer sorting.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does this imply a relation between the two problems without the weird model? Is this notion of random advice something known? This is sort of like a MA protocol, but Merlin's message is not allowed to depend on the input and we care about Arthur's running time.&lt;/p&gt;&#xA;" OwnerUserId="4896" LastEditorUserId="4896" LastEditDate="2011-05-08T18:34:44.457" LastActivityDate="2011-05-08T18:34:44.457" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="6470" PostTypeId="2" ParentId="6448" CreationDate="2011-05-08T17:25:32.773" Score="33" Body="&lt;p&gt;&lt;strong&gt;Don't schedule talks about similar topics at the same time.&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Self-explanatory. There's no excuse for it.&lt;/p&gt;&#xA;" OwnerUserId="4494" LastActivityDate="2011-05-08T17:25:32.773" CommentCount="1" CommunityOwnedDate="2011-05-08T17:25:32.773" ContentLicense="CC BY-SA 3.0" />
  <row Id="6471" PostTypeId="2" ParentId="6448" CreationDate="2011-05-08T17:52:59.340" Score="11" Body="&lt;p&gt;Do not restrict the length of submissions. Instead, ask authors to make their points within X pages, and inform them of the length of camera-ready versions.&#xA;While some recent PC have courageously done so, this does not yet seem standard.&lt;/p&gt;&#xA;" OwnerUserId="259" LastActivityDate="2011-05-08T17:52:59.340" CommentCount="4" CommunityOwnedDate="2011-05-08T17:52:59.340" ContentLicense="CC BY-SA 3.0" />
  <row Id="6472" PostTypeId="2" ParentId="6448" CreationDate="2011-05-08T18:25:18.347" Score="39" Body="&lt;p&gt;&lt;strong&gt;A limited number of tables/desks in a quiet room&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Problem&lt;/strong&gt;: Not everybody will attend every session, nor will everybody be staying at the hotel to/in which the conference is nearest/held.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Solution&lt;/strong&gt;: A few tables, desks, chairs in a quiet room for undisturbed reading, writing, typing, browsing, possibly with power outlets.&lt;/p&gt;&#xA;" OwnerUserId="233" LastActivityDate="2011-05-08T18:25:18.347" CommentCount="2" CommunityOwnedDate="2011-05-08T18:25:18.347" ContentLicense="CC BY-SA 3.0" />
  <row Id="6473" PostTypeId="2" ParentId="6404" CreationDate="2011-05-08T18:44:33.887" Score="13" Body="&lt;p&gt;L. Fortnow. &lt;a href=&quot;http://people.cs.uchicago.edu/~fortnow/papers/counting.pdf&quot;&gt;Counting complexity&lt;/a&gt;. In L. Hemaspaandra and A. Selman, editors, Complexity Theory Retrospective II, pages 81-107. Springer, 1997&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This gives more of the structural complexity point of view (complexity classes, oracles, etc.), and discusses other classes related to #P. Although it's from almost 15 years ago, it's really not &lt;em&gt;that&lt;/em&gt; out of date in terms of results.&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2011-05-08T18:44:33.887" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6474" PostTypeId="1" AcceptedAnswerId="10275" CreationDate="2011-05-08T20:39:49.097" Score="8" ViewCount="907" Body="&lt;p&gt;As we know Graph Isomorphism is in NP but it is not known to be NP-Complete or P-Complete. I was wondering if there are any problems that are known to be in PSPACE but not known to be PSPACE-Complete and not lie in PH? &lt;/p&gt;&#xA;" OwnerUserId="1590" LastEditorUserId="1590" LastEditDate="2011-05-09T22:39:47.807" LastActivityDate="2012-02-20T15:43:24.787" Title="A problem that is in PSPACE but not known to be in PH?" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;" AnswerCount="5" CommentCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="6475" PostTypeId="2" ParentId="6448" CreationDate="2011-05-08T20:40:10.680" Score="30" Body="&lt;p&gt;&lt;strong&gt;Make sure that WLAN actually works&lt;/strong&gt;, even if all conference participants log on to it simultaneously during a coffee break.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Further reading:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.joelonsoftware.com/items/2009/10/08.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;The “WiFi At Conferences” Problem&lt;/a&gt;, by Joel Spolsky.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://serverfault.com/questions/72767/why-is-internet-access-and-wi-fi-always-so-terrible-at-large-tech-conferences&quot;&gt;Why is Internet access and Wi-Fi always so terrible at large tech conferences?&lt;/a&gt; @ Server Fault.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="74" LastEditorUserId="-1" LastEditDate="2017-04-13T12:14:55.623" LastActivityDate="2011-05-08T20:40:10.680" CommentCount="0" CommunityOwnedDate="2011-05-08T20:40:10.680" ContentLicense="CC BY-SA 3.0" />
  <row Id="6476" PostTypeId="2" ParentId="6448" CreationDate="2011-05-08T20:58:20.317" Score="35" Body="&lt;p&gt;On the conference web site, post &lt;strong&gt;simple but detailed instructions for getting from the airport to the conference hotel by public transportation&lt;/strong&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Don't give dozens of options – just one or two routes that are straightforward and easy to follow. Tell what kind of tickets to buy, from where, how, and how much it should cost. Make sure that the information that you post is actually up-to-date and valid, especially if the conference takes place in summer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(It might be a good idea to have a look at a Lonely Planet guide book to get a good idea of what information is useful for someone who is visiting the town for the first time.)&lt;/p&gt;&#xA;" OwnerUserId="74" LastActivityDate="2011-05-08T20:58:20.317" CommentCount="2" CommunityOwnedDate="2011-05-08T20:58:20.317" ContentLicense="CC BY-SA 3.0" />
  <row Id="6477" PostTypeId="2" ParentId="6448" CreationDate="2011-05-08T21:07:03.257" Score="20" Body="&lt;p&gt;&lt;strong&gt;Don't have multiple web sites for the conference.&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If there are many possible URLs, make sure that all of them &lt;strong&gt;redirect to the same place&lt;/strong&gt;. Don't try to maintain multiple sites by manually copying information from one place to another.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This may sound ridiculous – why would anyone set up multiple web sites with different content – but for some reason it seems to be happening all the time. There is the &quot;official&quot; web site with a cool domain name and a fancy layout, but it is too difficult to update it; then another web site is set up, and soon nobody knows which site to check for the latest information.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;People don't need fancy web sites; they want to find &lt;em&gt;information&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;(If you haven't seen this before, here is a recent example: &lt;a href=&quot;http://www.wads.org/&quot; rel=&quot;nofollow&quot;&gt;1&lt;/a&gt;, &lt;a href=&quot;http://wads.poly.edu/&quot; rel=&quot;nofollow&quot;&gt;2&lt;/a&gt;.)&lt;/p&gt;&#xA;" OwnerUserId="74" LastActivityDate="2011-05-08T21:07:03.257" CommentCount="0" CommunityOwnedDate="2011-05-08T21:07:03.257" ContentLicense="CC BY-SA 3.0" />
  <row Id="6478" PostTypeId="2" ParentId="6474" CreationDate="2011-05-08T22:47:59.030" Score="19" Body="&lt;p&gt;Any &lt;a href=&quot;http://en.wikipedia.org/wiki/PP_%28complexity%29&quot;&gt;PP&lt;/a&gt;-complete problem is trivially in PSPACE, but of course not known  to be PSPACE-complete. We also don't know whether or not PP is contained in PH either, though it follows from &lt;a href=&quot;http://en.wikipedia.org/wiki/Toda%27s_theorem&quot;&gt;Toda's theorem&lt;/a&gt; that PH is contained in P$^\text{PP}$. I believe the same also applies for &lt;a href=&quot;http://en.wikipedia.org/wiki/Sharp-P&quot;&gt;#P&lt;/a&gt;-complete problems.&lt;/p&gt;&#xA;" OwnerUserId="1080" LastEditorUserId="1080" LastEditDate="2011-05-09T22:14:39.797" LastActivityDate="2011-05-09T22:14:39.797" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6479" PostTypeId="2" ParentId="6474" CreationDate="2011-05-08T22:51:28.233" Score="23" Body="&lt;p&gt;The &lt;a href=&quot;http://en.wikipedia.org/wiki/Existential_theory_of_the_reals&quot; rel=&quot;noreferrer&quot;&gt;existential theory of the reals&lt;/a&gt; is known to be contained in PSPACE, but it is not known whether it is contained in PH. So take the existential theory of the reals, or any of the many equivalent problems.&lt;/p&gt;&#xA;" OwnerUserId="1677" LastEditorUserId="873" LastEditDate="2012-02-20T15:43:24.787" LastActivityDate="2012-02-20T15:43:24.787" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="6480" PostTypeId="2" ParentId="6448" CreationDate="2011-05-08T23:46:42.570" Score="25" Body="&lt;p&gt;&lt;b&gt;Get rid of 2-column format, and generally streamline paper preparation&lt;/b&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Right now the typical TCS paper has 4 different versions:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) A preliminary full version - this is the version with full proofs you work on before the conference submission, and the one many people post online around the same time as submission.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) A submission version - this is a version, hastily prepared a couple of days before the deadline, where we convert a nice 30 page paper into a less readable 10 page paper + 20 page appendix by copy/pasting proofs into appendices.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;3) Camera-ready version - this is the version in the two column format that actually gets published in the conference. This is obtained by incorporating reviewer feedback and insights we obtained in the meantime into the submission or preliminary full version, and then working to make it compatible with the ugly 2-column format template provided by the conference. (I think there's more or less universal agreement that the 2-column format is ugly, and the only reason it exists is as a remnant from the not so long ago days of printed proceedings.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;4) Journal version - this is a full version that also contains the above feedback and insights, as well as the result of another pass that we submit to a journal. For technical reasons, it's often hard to maintain the same tex file for versions 3 and 4, which means that one needs to duplicate the work in creating these two versions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given this, perhaps it's not surprising that many papers don't make it to stage 4, and the most mature version that remains is this ugly 2-column format.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'd suggest the following changes:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) As Emanuelle said, submit a full preliminary paper (i.e., version 1) to the conference, with the understanding that the PC is not obligated to read beyond the first 10 pages, and that they generally can use their judgment to skip technical details of the proofs.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This makes it easier for the authors (one less version) and also for the PC, since if they actually want to see the proofs, they don't have to hunt for them in the appendices, and they can always simulate the current situation by just printing the first 10 pages of the submission and ignoring the rest. (Russell Impagliazzo once said that a submission should have no page limit, but just an instruction that for  x=1,2,4,8,... reading the first x pages should make the reviewer want to read the next x ones.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) For the camera-ready version, use a 1-column format with a minimally intrusive latex template, that will make it easier to keep working with the same file.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In fact, what I would suggest (though it's a bigger change) is to make the camera-ready version a true &quot;extended abstract&quot; by restricting it to 10 pages of single column. Given that your paper is already accepted, and that a version with the full details should be available online, you don't have to waste space in these 10 pages on explaining more details or enumerating all arguments why your paper is great, and you can focus on trying to explain in the simplest possible way the main ideas behind your work. I think a paper in this format will actually be a valuable resource and will justify having one more version on top of the full/journal version. Also, I think the fact that the conference version will be necessarily be without proof details will encourage people to submit to journals.&lt;/p&gt;&#xA;" OwnerUserId="1202" LastEditorUserId="191" LastEditDate="2011-11-26T20:42:58.800" LastActivityDate="2011-11-26T20:42:58.800" CommentCount="8" CommunityOwnedDate="2011-05-08T23:46:42.570" ContentLicense="CC BY-SA 3.0" />
  <row Id="6481" PostTypeId="2" ParentId="6474" CreationDate="2011-05-09T01:32:43.193" Score="18" Body="&lt;p&gt;Copying my comment:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you meant to ask for a problem analogous to GI, then perhaps you're asking for a problem that's not in PH and not PSPACE-complete. Problems complete for any class not known to be contained in PH, but contained in PSPACE, will work as an example. So take any problem complete for BQP, QMA, PP, etc. &lt;/p&gt;&#xA;" OwnerUserId="206" LastActivityDate="2011-05-09T01:32:43.193" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6482" PostTypeId="1" CreationDate="2011-05-09T03:38:30.920" Score="28" ViewCount="2443" Body="&lt;p&gt;One of the nice things about having evolved in a universe with three spatial dimensions is that we have developed problem solving skills pertaining to objects in space. Thus, for example, we can think of a triplet of numbers as a point in 3-d and hence computation about triplets of numbers as computation about points in 3-d, which can then be solved using our intuition about space. This seems to suggest that it should be possible at times to solve a completely non-geometric problem using techniques from geometry. Does anyone know of such examples?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course, the terms 'geometric' and 'non-geometric' are slightly vague here. One can argue that any geometric problem is actually non-geometric if you replace all points with their co-ordinates. But intuitively, the definition is clear. Let's just say that we call something geometric if we would consider sending a paper about it to SoCG.&lt;/p&gt;&#xA;" OwnerUserId="262" LastEditorUserId="186" LastEditDate="2011-05-10T00:39:52.493" LastActivityDate="2017-02-10T11:59:32.940" Title="Examples where insight from geometry was useful for solving something completely non-geometric" Tags="&lt;big-list&gt;&lt;cg.comp-geom&gt;&lt;big-picture&gt;" AnswerCount="17" CommentCount="2" FavoriteCount="11" CommunityOwnedDate="2014-03-18T05:22:24.057" ContentLicense="CC BY-SA 3.0" />
  <row Id="6483" PostTypeId="2" ParentId="6482" CreationDate="2011-05-09T04:26:19.327" Score="11" Body="&lt;p&gt;There's a relatively recent paper &lt;a href=&quot;http://people.csail.mit.edu/mip/papers/arboral/paper.pdf&quot;&gt;by Demaine et al&lt;/a&gt; that uses a geometric representation of binary search trees to advance the state of the art on dynamic optimality. I'm being a little vague here because they don't resolve the DO conjecture: but they do strengthen some bounds and give some new insights that appear to come from the geometric formulation. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2011-05-09T04:26:19.327" CommentCount="0" CommunityOwnedDate="2014-03-18T05:22:24.057" ContentLicense="CC BY-SA 3.0" />
  <row Id="6484" PostTypeId="2" ParentId="6482" CreationDate="2011-05-09T04:26:27.533" Score="12" Body="&lt;p&gt;Those were mentioned somewhere else too, but an example I like is this: sorting with partial information is the problem of finding a fixed unknown linear extension of a poset, given the poset and using number of comparison queries as close as possible to the information theoretic lower bound (this is just sorting when the number of comparisons is the critical complexity measure and some comparisons are given for free). The existence of optimal (up to a constant) comparison strategies was proven by &lt;a href=&quot;http://dl.acm.org/citation.cfm?doid=800057.808694&quot; rel=&quot;nofollow&quot;&gt;Saks and Kahn&lt;/a&gt; using the properties of the order polytope, a special polytope associated with a poset (you can find a great exposition in Matousek's Lectures on Discrete Geometry book). The &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S002200008571077X&quot; rel=&quot;nofollow&quot;&gt;first polynomial time algorithm&lt;/a&gt; (by Kahn and Kim) that computes an optimal (up to a constant)  comparison strategy again used the properties of the order polytope as well as the stable set polytope of the incomparability graph of the input poset.&lt;/p&gt;&#xA;" OwnerUserId="4896" LastEditorUserId="4896" LastEditDate="2014-03-18T00:49:33.283" LastActivityDate="2014-03-18T00:49:33.283" CommentCount="0" CommunityOwnedDate="2014-03-18T05:22:24.057" ContentLicense="CC BY-SA 3.0" />
  <row Id="6485" PostTypeId="2" ParentId="6482" CreationDate="2011-05-09T04:28:07.503" Score="15" Body="&lt;p&gt;Of course a &lt;em&gt;much&lt;/em&gt; better answer than my previous one is the use of metric embedding theory for solving sparsest cut. A key step in the solution to the sparsest cut problem was &lt;a href=&quot;http://link.springer.com/article/10.1007/BF01200757#page-1&quot; rel=&quot;nofollow&quot;&gt;the realization that it could be approximated by finding a good embedding of a general metric into an $\ell_1$-normed space&lt;/a&gt;. &lt;/p&gt;&#xA;" OwnerUserId="80" LastEditorUserId="80" LastEditDate="2014-03-18T00:10:37.700" LastActivityDate="2014-03-18T00:10:37.700" CommentCount="2" CommunityOwnedDate="2014-03-18T05:22:24.057" ContentLicense="CC BY-SA 3.0" />
  <row Id="6486" PostTypeId="1" AcceptedAnswerId="6488" CreationDate="2011-05-09T05:31:52.213" Score="5" ViewCount="2474" Body="&lt;p&gt;I would like to ask how can we transform an adjacency matrix of a graph into a positive semidefinite matrix. Of course, we could set self loops, but I do not know of any result indicating how we can find on which nodes to set self-loops and how many of those.&lt;/p&gt;&#xA;" OwnerUserId="3139" LastEditorUserId="39090" LastEditDate="2018-08-17T19:04:17.120" LastActivityDate="2018-08-17T19:04:17.120" Title="Making an adjacency matrix positive semidefinite" Tags="&lt;graph-theory&gt;&lt;matrices&gt;&lt;spectral-graph-theory&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="2" ContentLicense="CC BY-SA 4.0" />
  <row Id="6487" PostTypeId="2" ParentId="6482" CreationDate="2011-05-09T05:43:43.503" Score="8" Body="&lt;p&gt;In networking, routers use TCAMs (ternary content-addressable memories -- in other words, content addressable memory with a don't care bit) to classify traffic. Entries in a TCAM are often multidimensional prefix-match rules: for instance, (101*, 11*, 0*) matches any packet where the first header field starts with 101 and the second header field starts with 11 (and etc.) If a packet doesn't match the first rule, it goes on to the second, and so on until a matching rule is found.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The geometric interpretation is that rules on packets with $d$ header fields can be mapped to hyperplanes in $R^{d+1}$. The $d+1$th dimension is the priority of the rule. A packet is a line in $R^{d+1}$, where the first $d$ dimensions are fixed according to the packet's headers, and the $d+1$th dimension may vary. Packet matching is then an optimization problem: we want to find the hyperplane (rule) with the maximum priority dimension that is intersected by the line (packet).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For networking people, this interpretation is useful for understanding what a specific set of rules does. For theorists, there are other interesting uses. According to &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.24.861&amp;amp;rep=rep1&amp;amp;type=pdf&amp;amp;rct=j&amp;amp;q=algorithms%20for%20packet%20classification&amp;amp;ei=tnzHTfjEGYfe0QG97KmBCA&amp;amp;usg=AFQjCNFwaMDw-_NWFxeZALn4RO_7Vmx1xQ&quot;&gt;Algorithms for Packet Classification&lt;/a&gt; by Gupta and McKeown, the geometric interpretation allowed us to quickly establish lower and upper bounds for the problem of packet classification. I know work on TCAM rule minimization (finding the smallest number of rules that preserves semantics) has also benefited from a geometric approach. There are tons of references I could give for this, but the one that may be of the most use to you is Applegate, et al.'s SODA 2007 paper &lt;a href=&quot;http://www.cs.cornell.edu/~katrina/papers/acl.pdf&quot;&gt;Compressing rectilinear pictures and minimizing access control lists&lt;/a&gt;. They prove that minimizing a more general variant of the prefix-matching rules above is NP-hard, and connect it (again) to pretty pictures of rectangles to solve the problem!&lt;/p&gt;&#xA;" OwnerUserId="3062" LastActivityDate="2011-05-09T05:43:43.503" CommentCount="0" CommunityOwnedDate="2014-03-18T05:22:24.057" ContentLicense="CC BY-SA 3.0" />
  <row Id="6488" PostTypeId="2" ParentId="6486" CreationDate="2011-05-09T05:47:31.560" Score="6" Body="&lt;p&gt;Your question is too imprecise.  What does it mean to &quot;transform a matrix&quot;?  Are you asking whether there is an algorithm that takes as input a symmetric matrix and finds the minimal total weight that can be added to diagonal entries so as to make the new matrix positive semi-definite?  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If this is your question, the answer is yes, since it is an SDP.  If you restrict to adding integer values to diagonal elements (&quot;self loops&quot;), then I do not know the complexity of finding the minimum number of self loops needed.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;You might want to look into &lt;a href=&quot;http://en.wikipedia.org/wiki/Gershgorin_circle_theorem&quot; rel=&quot;noreferrer&quot;&gt;Gershgorin's circle theorem&lt;/a&gt; if you are trying to do this by hand.  &lt;/p&gt;&#xA;" OwnerUserId="5009" LastActivityDate="2011-05-09T05:47:31.560" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="6489" PostTypeId="2" ParentId="6482" CreationDate="2011-05-09T05:49:46.613" Score="-1" Body="&lt;p&gt;Support vector machine in machine learning probably qualifies.&lt;/p&gt;&#xA;" OwnerUserId="4918" LastEditorUserId="32711" LastEditDate="2017-02-04T15:26:28.613" LastActivityDate="2017-02-04T15:26:28.613" CommentCount="0" CommunityOwnedDate="2014-03-18T05:22:24.057" ContentLicense="CC BY-SA 3.0" />
  <row Id="6490" PostTypeId="2" ParentId="6454" CreationDate="2011-05-09T05:49:49.833" Score="5" Body="&lt;p&gt;Yes/No = Non-deterministic automata are stronger: &lt;a href=&quot;http://www.mimuw.edu.pl/~bojan/papers/dtwa.pdf&quot; rel=&quot;noreferrer&quot;&gt;http://www.mimuw.edu.pl/~bojan/papers/dtwa.pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="419" LastActivityDate="2011-05-09T05:49:49.833" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6491" PostTypeId="2" ParentId="6482" CreationDate="2011-05-09T06:04:35.633" Score="11" Body="&lt;p&gt;I dont think there are any examples of such things. Except for linear programming, semi-definite programming, complex numbers, large fractions of machine learning, etc.  The real question is &lt;a href=&quot;http://www.youtube.com/watch?v=ExWfh6sGyso&quot;&gt;http://www.youtube.com/watch?v=ExWfh6sGyso&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="9594" LastActivityDate="2011-05-09T06:04:35.633" CommentCount="1" CommunityOwnedDate="2014-03-18T05:22:24.057" ContentLicense="CC BY-SA 3.0" />
  <row Id="6492" PostTypeId="2" ParentId="6482" CreationDate="2011-05-09T07:42:22.303" Score="7" Body="&lt;p&gt;Probably there are too, too many examples to list, but one classical example (it is highlighted by Aigner and Ziegler as a &quot;&lt;a href=&quot;http://en.wikipedia.org/wiki/Proofs_from_THE_BOOK&quot;&gt;Proof from the Book&lt;/a&gt;&quot;) is the use by Lovász of a geometric representation to solve a problem in Shannon capacity.  Though the proof was published in 1979 and solved an open question from 1956, this remains state-of-the-art.&lt;/p&gt;&#xA;" OwnerUserId="233" LastActivityDate="2011-05-09T07:42:22.303" CommentCount="0" CommunityOwnedDate="2014-03-18T05:22:24.057" ContentLicense="CC BY-SA 3.0" />
  <row Id="6493" PostTypeId="2" ParentId="6482" CreationDate="2011-05-09T08:01:46.873" Score="4" Body="&lt;p&gt;Lattice reduction techniques, such as &lt;a href=&quot;http://en.wikipedia.org/wiki/Lenstra%E2%80%93Lenstra%E2%80%93Lov%C3%A1sz_lattice_basis_reduction_algorithm&quot; rel=&quot;nofollow&quot;&gt;LLL&lt;/a&gt; or &lt;a href=&quot;http://mathworld.wolfram.com/PSLQAlgorithm.html&quot; rel=&quot;nofollow&quot;&gt;PSLQ&lt;/a&gt;, are highly geometric and solve problems of pure number theory, such as linear Diophantine approximation and integer relation detection.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.math.elte.hu/~lovasz/scans/lll.pdf&quot; rel=&quot;nofollow&quot;&gt;LLL&lt;/a&gt;  was used to provide a polynomial time algorithm to factor (univariate) polynomials over $\mathbb{Z}$ whose co-efficients are drawn from $\mathbb{Z}$.&lt;/p&gt;&#xA;" OwnerUserId="834" LastActivityDate="2011-05-09T08:01:46.873" CommentCount="0" CommunityOwnedDate="2014-03-18T05:22:24.057" ContentLicense="CC BY-SA 3.0" />
  <row Id="6495" PostTypeId="2" ParentId="6482" CreationDate="2011-05-09T08:49:27.897" Score="9" Body="&lt;p&gt;There was a nice paper at POPL last year, &lt;a href=&quot;http://matt.might.net/papers/prabhu2011eigencfa.pdf&quot;&gt;EigenCFA: Accelerating flow analysis with GPUs&lt;/a&gt;, which represented lambda-terms as matrices and then used GPUs to rapidly perform dataflow analysis on them. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The paper didn't point this out explicitly, but what they were basically doing was exploiting the categorical structure of vector spaces to represent trees. That is, in ordinary set theory, a tree (of some fixed height) is a nested disjoint union of cartesian products. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, vector spaces also have direct products and sums, so you can represent a tree as an element of a suitable vector space, as well. Moreover, direct products and direct sums coincide for vector spaces -- i.e., they have the same representation. This opens the door to parallel implementations: since the physical representations are the same, a lot of branching and pointer-chasing can be eliminated. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It also explains why dataflow analysis is cubic-time: it's computing eigenvectors!&lt;/p&gt;&#xA;" OwnerUserId="657" LastActivityDate="2011-05-09T08:49:27.897" CommentCount="2" CommunityOwnedDate="2014-03-18T05:22:24.057" ContentLicense="CC BY-SA 3.0" />
  <row Id="6496" PostTypeId="2" ParentId="6411" CreationDate="2011-05-09T08:53:07.983" Score="8" Body="&lt;p&gt;A reasonable formal definition of (context-free) parsing is thus: given $\langle \mathcal{G},w\rangle$ a context-free grammar over some alphabet $\Sigma$ and an input word in $\Sigma^\ast$, return the &lt;em&gt;set of parse trees&lt;/em&gt; of $w$ in $\mathcal{G}$ (note that the grammar might be ambiguous, which means that this is indeed a set, which might even be infinite if the grammar is cyclic).  Recognition then consists in finding out whether this set is empty or not.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A very elegant way of solving the parsing problem is known as &lt;em&gt;parsing as intersection&lt;/em&gt;: context-free languages are effectively closed under intersection with regular languages, i.e. given $\langle \mathcal{G},\mathcal{A}\rangle$ where $\mathcal{G}$ is context-free and $\mathcal{A}$ is a finite-state automaton (a NFA), we can construct $\mathcal{G}&amp;#39;$ a context-free grammar such that $L(\mathcal{G}&amp;#39;)=L(\mathcal{G})\cap L(\mathcal{A})$ and furthermore the set of derivation trees of $\mathcal{G}&amp;#39;$ is (a relabelling of) the set of parse trees of all the words in $L(\mathcal{A})$.  Of course a single word $w$ can be recognized by a NFA.  This construction is almost as old as context-free grammars; see&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Bar-Hillel, Perles, and Shamir, On formal properties of simple phrase-structure grammars, &lt;em&gt;Zeitschrift für Phonetik, Sprachwissenschaft, und Kommunikations-forschung&lt;/em&gt; 14:143--172, 1961,&lt;/li&gt;&#xA;&lt;li&gt;Lang, &lt;a href=&quot;http://pauillac.inria.fr/~lang/papers/harder/harder.pdf&quot;&gt;Recognition can be harder than parsing&lt;/a&gt;, &lt;em&gt;Computational Intelligence&lt;/em&gt; 10(4):486--494, 1994, &lt;a href=&quot;http://dx.doi.org/10.1111/j.1467-8640.1994.tb00011.x&quot;&gt;doi: 10.1111/j.1467-8640.1994.tb00011.x&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Formally, let $\mathcal{G}=\langle N,\Sigma,P,S\rangle$ with nonterminal alphabet $N$, terminal alphabet $\Sigma$, finite set of productions $P\subseteq N\times (N\cup\Sigma)^\ast$, and start symbol $S\in N$.  For the automaton, let $\mathcal{A}=\langle Q,\Sigma,\delta,I,F\rangle$ with state set $Q$, input alphabet $\Sigma$, transition relation $\delta\subseteq Q\times\Sigma\times Q$, initial states $I\subseteq Q$, and final states $F\subseteq Q$.  Construct $\mathcal{G}&amp;#39;=\langle N&amp;#39;,\Sigma,P&amp;#39;,S&amp;#39;\rangle$ where&#xA;$$\begin{align*}&#xD;&#xA;  N&amp;#39;&amp;amp;=(Q\times (N\cup\Sigma)\times Q)\uplus \{S&amp;#39;\}\\&#xD;&#xA;  P&amp;#39;&amp;amp;=\{S&amp;#39;\to (q,S,q&amp;#39;)\mid q\in I, q&amp;#39;\in F\}\\&#xD;&#xA;    &amp;amp;\:\cup\;\{(q_0,A,q_m)\to (q_0,X_1,q_1)(q_1,X_2,q_2)\cdots(q_{m-1},X_m,q_m)\\&amp;amp;\qquad\qquad\qquad\qquad\qquad\qquad\mid A\to X_1X_2\cdots X_m\in P\wedge q_0,\ldots,q_m\in Q\}\\&#xD;&#xA;    &amp;amp;\:\cup\;\{(q,a,q&amp;#39;)\to a\mid (q,a,q&amp;#39;)\in\delta\}\;.&#xD;&#xA;\end{align*}$$&#xA;The intuition behind this construction is that a nonterminal $(q,X,q&amp;#39;)$ in $Q\times(N\cup\Sigma)\times Q$ derives the intersection of the language of the symbol $X$ with the language of $\mathcal{A}$ restricted to paths from $q$ to $q&amp;#39;$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The beauty of it is that the construction of $\mathcal{G}&amp;#39;$ is asymptotically efficient: it has size $$O(|\mathcal{G}|\cdot |Q|^{m+1})$$ with $m$ the maximal length of a production right-hand side.  Since without loss of generality we can &quot;binarize&quot; $\mathcal{G}$ so that $P\subseteq N\times(N\cup\Sigma)^{\leq 2}$ at the expense of a linear blowup in the grammar size (this is &lt;em&gt;not&lt;/em&gt; the Chomsky normal form, which would forbid $\varepsilon$ and unit productions, and would induce a quadratic blow-up), we obtain an $$O(|\mathcal{G}|\cdot |Q|^3)$$ parsing complexity.  As context-free grammar emptiness can be solved in linear time, the recognition problem is also in $O(|\mathcal{G}|\cdot |Q|^3)$, which matches the complexity of the CKY and Earley algorithms since an automaton for $w$ has $|w|+1$ states.&lt;/p&gt;&#xA;" OwnerUserId="609" LastEditorUserId="609" LastEditDate="2011-05-10T08:33:46.153" LastActivityDate="2011-05-10T08:33:46.153" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="6497" PostTypeId="2" ParentId="6448" CreationDate="2011-05-09T09:18:02.033" Score="21" Body="&lt;p&gt;Keep prices down, but try to &lt;strong&gt;include the conference banquet in the student registration fees&lt;/strong&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It seems to be all too common that students miss the banquet for a technical reason: the registration fee does not include the banquet. Their instructors and/or universities would be happy to pay the registration fee – whatever it is, and no matter what it includes – but for some reason they refuse to cover any &quot;extra&quot; costs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A conference banquet could be a great opportunity for students to get to know people, and I feel sorry for the students whenever they miss this opportunity. The extra cost (on top of flights, hotels, registration fees, etc.) would be usually insignificant, so it is mostly just a matter of bureaucracy.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To keep the registration fees reasonable, it is possible to save money somewhere else – things like conference bags are much less important. You can also try to find a company to sponsor the dinner for the students. And the banquet does not need to be that fancy – great food and an amazing location would be a nice extra, but in the end the social aspect is what matters most.&lt;/p&gt;&#xA;" OwnerUserId="74" LastActivityDate="2011-05-09T09:18:02.033" CommentCount="2" CommunityOwnedDate="2011-05-09T09:18:02.033" ContentLicense="CC BY-SA 3.0" />
  <row Id="6500" PostTypeId="1" AcceptedAnswerId="6506" CreationDate="2011-05-09T12:59:33.933" Score="8" ViewCount="332" Body="&lt;p&gt;An $\varepsilon$-net for a range space $(X,\mathcal{R})$ is a subset $N$ of $X$ such that $N\cap R$ is nonempty for all $R\in \mathcal{R}$ such that $|X\cap R| \ge \varepsilon |X|$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a range space $(X,R)$ of VC-dimension $d$, an $\varepsilon$-net of size $O\left(\frac{d}{\varepsilon}\log\left(\frac{d}{\varepsilon}\right)\right)$ can be computed in time $O(d)^{3d}\left(\frac{1}{\varepsilon^2}\log\left(\frac{d}{\varepsilon}\right)\right)^d|X|$ (see [1], Thm 4.6).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To what extent is the $O(d)^{3d}$ term intrinsic to this problem?  Specifically, can it be improved to $2^{O(d)}$?  Are there lower bounds known?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A related question: are there general conditions on $(X,R)$ for which such an improvement is known to exist?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] Bernard Chazelle.  The Discrepancy Method.  2000.&lt;/p&gt;&#xA;" OwnerUserId="4952" LastEditorUserId="77" LastEditDate="2011-05-09T13:01:42.547" LastActivityDate="2011-05-09T18:39:15.943" Title="How intrinsic is the $d^d$ term in the running time for constructing $\varepsilon$-nets in range spaces of VC-dimension d?" Tags="&lt;ds.algorithms&gt;&lt;cg.comp-geom&gt;&lt;vc-dimension&gt;&lt;epsilon-nets&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6501" PostTypeId="2" ParentId="6482" CreationDate="2011-05-09T14:02:13.697" Score="8" Body="&lt;p&gt;I'm surprised nobody has said the &lt;a href=&quot;http://en.wikipedia.org/wiki/Euclidean_algorithm&quot;&gt;Euclidean Algorithm&lt;/a&gt; for finding the greatest common factor between two numbers. You can deal with the problem by drawing an a x b rectangle, then subdivide the rectangle by the square created by the smallest side, repeat for the leftover rectangle, keep repeating for leftover rectangles until you find a square that can evenly divide a remaining rectangle (see animated gif on the Euclidean Algorithm page).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Pretty elegant way of trying to figure out how the thing works, IMO.&lt;/p&gt;&#xA;" OwnerUserId="5014" LastActivityDate="2011-05-09T14:02:13.697" CommentCount="1" CommunityOwnedDate="2014-03-18T05:22:24.057" ContentLicense="CC BY-SA 3.0" />
  <row Id="6502" PostTypeId="2" ParentId="6482" CreationDate="2011-05-09T14:07:32.933" Score="3" Body="&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Gerard_Salton&quot; rel=&quot;nofollow&quot;&gt;Gerard Salton&lt;/a&gt; came up with this idea of using the cosine of the angle between vectors (cosine similarity) for information retrieval systems.  This was used to compute &lt;a href=&quot;http://en.wikipedia.org/wiki/Tf-idf&quot; rel=&quot;nofollow&quot;&gt;term frequency–inverse document frequency.&lt;/a&gt;  I consider this to be the predecessor of modern day search engines. See also &lt;a href=&quot;http://en.wikipedia.org/wiki/Vector_space_model&quot; rel=&quot;nofollow&quot;&gt;Vector space model.&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="5015" LastActivityDate="2011-05-09T14:07:32.933" CommentCount="0" CommunityOwnedDate="2014-03-18T05:22:24.057" ContentLicense="CC BY-SA 3.0" />
  <row Id="6503" PostTypeId="1" AcceptedAnswerId="6515" CreationDate="2011-05-09T14:34:30.730" Score="10" ViewCount="238" Body="&lt;p&gt;We know that finding the convex hull of &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt; points on a plane has a lower bound of &lt;span class=&quot;math-container&quot;&gt;$\Omega(n\log n)$&lt;/span&gt; on its running time. However, if the points are given in the order in which they occur along some simple polygon that has those points as its vertices, then their convex hull can be found in linear time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I find this intriguing because there are probably too many simple polygons that have the given points as their vertices and therefore, intuitively, the order along one of them sounds like a very useless piece of information. And yet, it helps.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So my question is, are there other places where the same information helps in bringing down the running time of an algorithm?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As a side, I also want to know bounds on the number of permutations of a given set of points on a plane for which there is a simple polygon with those points as its vertices so that the order in which the points occur along the polygon is the same as the order in the permutation. What's known about this?&lt;/p&gt;&#xA;" OwnerUserId="262" LastEditorUserId="1993" LastEditDate="2019-06-09T06:13:46.803" LastActivityDate="2019-06-09T06:13:46.803" Title="Places where the order of points along a simple polygon passing through them is useful" Tags="&lt;cg.comp-geom&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 4.0" />
  <row Id="6504" PostTypeId="1" AcceptedAnswerId="6509" CreationDate="2011-05-09T17:10:40.150" Score="6" ViewCount="360" Body="&lt;p&gt;If $t$ is a time constructible function then we can define the &lt;strong&gt;time-bounded Kolmogorov complexity&lt;/strong&gt; of a string $x$ as:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$C^t(x)$ = the size of the smallest program p that generates $x$ in $t(|x|)$ steps&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We can also extend the &lt;strong&gt;incompressibility&lt;/strong&gt; notion: a string $x$ is incompressible if $C^t(x) \ge |x|$ (otherwise $x$ is &lt;strong&gt;compressible&lt;/strong&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now we can define the function:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$f^t(n) = | \{ x \text{ : } |x|=n \text{ and } x \text{ is compressible with respect to } C^t \} |$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;( $f^t(n)$ is the total number of compressible strings of length n ).&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;What is the relation (if any) between $t$ and the rate of growth of $f$? Can we say something about it?&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT:&lt;/strong&gt;&#xA;For example, can we choose $t$ to make $f$ grow polynomially? ... &lt;strong&gt;NO&lt;/strong&gt;&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2011-05-10T08:28:28.357" LastActivityDate="2011-05-10T08:28:28.357" Title="Time-bounded Kolmogorov complexity and non-random strings" Tags="&lt;cc.complexity-theory&gt;&lt;kolmogorov-complexity&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="6505" PostTypeId="2" ParentId="6482" CreationDate="2011-05-09T18:26:57.467" Score="-2" Body="&lt;p&gt;There exist computational geometry techniques to solve linear programming.&#xA;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/3642096816&quot; rel=&quot;nofollow&quot;&gt;Computational geometry: algorithms and applications&lt;/a&gt; has a nice and simple chapter about that. &lt;/p&gt;&#xA;" OwnerUserId="2283" LastActivityDate="2011-05-09T18:26:57.467" CommentCount="1" CommunityOwnedDate="2014-03-18T05:22:24.057" ContentLicense="CC BY-SA 3.0" />
  <row Id="6506" PostTypeId="2" ParentId="6500" CreationDate="2011-05-09T18:39:15.943" Score="10" Body="&lt;p&gt;If you are ok with a randomized algorithm, then you can just randomly sample $O((d/\epsilon) \log (d/\epsilon \delta))$ points, and this will be an $\epsilon$-net with probability at least $1-\delta$.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the deterministic algorithm, I believe the $d^{O(d)}$ term comes from the following reason.  You first partition your full set into subsets of size about $s = O((d/\epsilon) \log (d/\epsilon))$ where $s$ is the size of the $\epsilon$-net you hope to get in the end.  Then you merge two such subsets and reduce to half that size.  (Basically, this is repeated until one set is left.)  The reduction step essentially considers all interesting ranges of the merged set of size $2s$.  By VC-bounds there are about $O((2s)^d)$ ranges, and you need to &quot;check&quot; each of these to see if it has been hit.  The $s^d$ has a $d^{O(d)}$ in it.  The $d$ in the $s$ term is needed.  So to reduce this bound, using this deterministic framework, you would somehow need to implicitly &quot;check&quot; all ranges without explicitly enumerating them.   This seems difficult to do deterministically, but I am not sure I know an explicit lower bound - most work in this arena assumes $d$ is constant and abuses this heavily.  &lt;/p&gt;&#xA;" OwnerUserId="1173" LastActivityDate="2011-05-09T18:39:15.943" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6508" PostTypeId="2" ParentId="6482" CreationDate="2011-05-09T20:17:45.400" Score="6" Body="&lt;p&gt;Relation of error correction codes with lattices, sphere packing etc. (e.g., Conway and Sloane book). Yet the relation is so strong, that it is not quite clear, if I should call error correction codes “completely not geometric” after that ...&lt;/p&gt;&#xA;" OwnerUserId="4915" LastActivityDate="2011-05-09T20:17:45.400" CommentCount="0" CommunityOwnedDate="2014-03-18T05:22:24.057" ContentLicense="CC BY-SA 3.0" />
  <row Id="6509" PostTypeId="2" ParentId="6504" CreationDate="2011-05-09T22:53:02.397" Score="3" Body="&lt;p&gt;I suspect that there is something that can be said generally, but off the cuff, the best I can see is that as $t$ increases, the number of compressible strings increases as well.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, we certainly cannot pick a $t$ such that $f$ is polynomial.  Notice that if $t(|x|)&amp;lt;|x|$, then there isn't enough time to write anything.  On the other hand, strings of the form $yyz$ can be generated by programs of length $|y|+|z|&amp;lt;|x|$ and there are at least $2^{|x|/2}$ of those.  So by monotonicity, $f$ will always be at least this large.&lt;/p&gt;&#xA;" OwnerUserId="1836" LastActivityDate="2011-05-09T22:53:02.397" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6510" PostTypeId="1" CreationDate="2011-05-10T03:08:18.580" Score="2" ViewCount="304" Body="&lt;p&gt;I'm looking for a simple data structure that will let me compute arbitrary approximate quantiles, within a percent or two error, on a stream of 64-bit integers (think of $n$ as being potentially as high as a trillion or so).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In order of importance, it would have the following desired traits:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) Fast update time, at most a few hundred cycles per element in the stream, but even lower is better&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) Memory usage of at most a few hundred bytes per stream&lt;/p&gt;&#xA;&#xA;&lt;p&gt;3) Simplicity of implementation. Hopefully no more than a few hours to implement. Properties 1 and 2 are essential, but this one is also very important as well.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I encountered the following &lt;a href=&quot;http://www.cs.ucsb.edu/~suri/psdir/ency.pdf&quot; rel=&quot;nofollow&quot;&gt;paper&lt;/a&gt;, which suggests that Q-Digest may be a good option. Is this true, and are there any other possibilities I should be aware of?&lt;/p&gt;&#xA;" OwnerUserId="2422" LastActivityDate="2011-05-10T03:08:18.580" Title="Simple to implement approximate quantile data structure for a stream of integers?" Tags="&lt;ds.algorithms&gt;&lt;ds.data-structures&gt;&lt;data-streams&gt;" AnswerCount="0" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="6511" PostTypeId="2" ParentId="5031" CreationDate="2011-05-10T04:30:23.610" Score="0" Body="&lt;p&gt;Well, a function is computable if it accepts inputs that are formed or generated by a specific pattern. A specific pattern means all inputs should have a relation, a particular input can be generated by it previous or next input. If the inputs do not have this type of sequence, then there is no possibility to develop a model or function that can accept. One thing more i want to say that is that there is a basic difference between a machine and a human being. A machine could not be formed for non-sequential inputs but humans are. Also this is big interruption of making actual human behaving robots.       &lt;/p&gt;&#xA;" OwnerUserId="5013" LastEditorUserId="4155" LastEditDate="2012-12-26T00:44:14.100" LastActivityDate="2012-12-26T00:44:14.100" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6512" PostTypeId="1" CreationDate="2011-05-10T09:56:33.747" Score="0" ViewCount="171" Body="&lt;p&gt;I'm trying to find a way to store my data with fast access (better than O(n)).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My database consists of data (4096 byte strings) that represents some information about some items.&lt;br&gt;&#xA;The problem is, that the query is never exact. I get one Item, and then need to find the closest match using a function &lt;code&gt;F(a,b)&lt;/code&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;just an example:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;1234&#xA;3456&#xA;6466&#xA;F(a,b) = return % of similar digits  &#xA;&#xA;GetClosest(1233,F) = 1234&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;The problem is that F(a,b) is a complicated algorithm, (not a proper metric).  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;What I have now is just go over the whole database to search for the best match.&lt;br&gt;&#xA;Is there a kind of tree or other cluster database type that can give me faster finding complexity ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;More information:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;F gives back a similarity value in %percentage. where 100% is a perfect match. &lt;/p&gt;&#xA;" OwnerUserId="4207" LastEditorUserId="4207" LastEditDate="2011-05-10T11:28:48.200" LastActivityDate="2011-05-12T14:02:18.917" Title="How do I store data with a query that's a approximated ?" Tags="&lt;ds.data-structures&gt;" AnswerCount="1" CommentCount="7" FavoriteCount="2" ClosedDate="2011-05-12T18:36:55.700" ContentLicense="CC BY-SA 3.0" />
  <row Id="6514" PostTypeId="2" ParentId="5659" CreationDate="2011-05-10T13:34:20.373" Score="19" Body="&lt;p&gt;I have talked about this on my blog and our insight is: for example Tait's condition can be weaken to there is a coloring that has at most o(n) errors. See here: &lt;a href=&quot;http://rjlipton.wordpress.com/2009/04/24/the-four-color-theorem/&quot;&gt;http://rjlipton.wordpress.com/2009/04/24/the-four-color-theorem/&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="2825" LastActivityDate="2011-05-10T13:34:20.373" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6515" PostTypeId="2" ParentId="6503" CreationDate="2011-05-10T13:58:30.433" Score="10" Body="&lt;p&gt;Your comment that &quot;there are probably too many simple polygons&quot; is the key, because actually there aren't that many.  $n$ points have $n!$ paths (permutations) and $(n-1)!/2$ polygons if we allow self intersections -- that is, $2^{\Theta(n \log n)}$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The numbers of paths or polygons without self intersections are $2^{\Theta(n)}$, easiest observed from the fact such paths and polygons can be completed to triangulations, the number of triangulations of a given point set in the plane is $&amp;lt;30^n$ [Sharir-Sheffer'09, latest in a long history], and the number of proper subsets of edges of each triangulation is $&amp;lt;2^{3n-6}$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The convex hull of simple polygons has been one of my favorite things since using it to find and/or formulae for polygons in SIGGRAPH'88 &lt;a href=&quot;http://dx.doi.org/10.1145/54852.378472&quot; rel=&quot;noreferrer&quot;&gt;http://dx.doi.org/10.1145/54852.378472&lt;/a&gt; &lt;/p&gt;&#xA;" OwnerUserId="4377" LastActivityDate="2011-05-10T13:58:30.433" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6518" PostTypeId="1" CreationDate="2011-05-10T15:44:32.933" Score="0" ViewCount="108" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Possible Duplicate:&lt;/strong&gt;&lt;br&gt;&#xA;  &lt;a href=&quot;https://cstheory.stackexchange.com/questions/6517/producing-more-functional-dependencies-fds-from-a-list-of-functional-dependenci&quot;&gt;Producing more functional dependencies (FDs) from a list of functional dependencies (FDs)&lt;/a&gt;  &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&#xA;&#xA;&lt;p&gt;I am currently trying to understand functional dependencies and their properties. I am looking at an example, but when I try to apply the rules I can't see to get the same answers. The question is:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Question: Given a relation T(A,B, C,D)&#xA;  and functional dependencies AB -&gt; C,&#xA;  BC -&gt; D,CD -&gt; A AD -&gt; B What FD’s&#xA;  follow from the given FD’s?&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;Answer: AD -&gt; CD,AD -&gt; BC,CD -&gt; AB.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;When applying the properties of functional dependencies I can't even see how they get the first answer (AD -&gt; CD). If anyone could give me an idea of how we get to the first answer, maybe I can solve the rest myself.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;PS: This is NOT homework (as I already have the answer!), but I am revising for an important exam and I need to understand these concepts.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks!&lt;/p&gt;&#xA;" OwnerUserId="2137" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2011-05-10T15:44:32.933" Title="Producing more functional dependencies (FDs) from a list of functional dependencies (FDs)" Tags="&lt;db.databases&gt;" AnswerCount="0" CommentCount="4" ClosedDate="2011-05-10T16:47:05.737" ContentLicense="CC BY-SA 3.0" />
  <row Id="6519" PostTypeId="1" AcceptedAnswerId="6520" CreationDate="2011-05-10T16:15:27.113" Score="25" ViewCount="1392" Body="&lt;p&gt;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0262162091&quot;&gt;Types and Programming Languages&lt;/a&gt; focuses quite a bit on subtyping, but as far as I can tell, subtyping doesn't seem especially fundamental. Does subtyping give you anything more than dependent types do? Working with dependent types is bound to be more work, so I can understand why subtypes might be useful in practice. However, I am more interested in type theory as a foundation for mathematics than as a basis for programming languages, should I pay much attention to subtyping? &lt;/p&gt;&#xA;" OwnerUserId="4425" LastEditorUserId="186" LastEditDate="2011-05-11T01:40:35.127" LastActivityDate="2011-05-11T01:40:35.127" Title="Do dependent types give you everything subtyping does?" Tags="&lt;lo.logic&gt;&lt;pl.programming-languages&gt;&lt;type-theory&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="6520" PostTypeId="2" ParentId="6519" CreationDate="2011-05-10T16:51:33.173" Score="23" Body="&lt;p&gt;Subtyping and dependent types are orthogonal concepts. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Subtyping is typically equipped with a notion of subsumption, whereby an expression of one type can appear in place where a supertype is expected.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Subtyping is more likely to be decidable and is more simply to manage in implementation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Dependent typing is vastly more expressive. But if you ever want to consider a group to also be a monoid, then you need a notion of subsumption to forget the extra structure. Often, such as when using Coq, a trivial proof obligation is generated to deal with this kind of coercion, so in practice subtyping may not add anything. What's more important is having ways of packaging together various theories to make them reusable, such as reusing the theory of monoids when talking about groups. Type classes in Coq are a recent innovation for doing such things. Modules are an older approach.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you do a quick google of &quot;subtyping dependent types&quot; you find a bunch of work adding subtyping to dependent types, mostly from around the year 2000. I imagine that the meta-theory is really challenging, so no subtyping of dependent types appears in proof assistants.&lt;/p&gt;&#xA;" OwnerUserId="77" LastEditorUserId="77" LastEditDate="2011-05-10T17:03:29.967" LastActivityDate="2011-05-10T17:03:29.967" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="6521" PostTypeId="2" ParentId="1290" CreationDate="2011-05-10T17:19:16.037" Score="3" Body="&lt;p&gt;Sorry to be necromancing on this, but I thought you might want to look at some work on distributed continuous monitoring on streams, where you are given several streams and the goal is to monitor some aggregate statistic at a central monitoring site while minimizing communication. The model sounds to me closely related to your motivation. Look at the references in &lt;a href=&quot;http://books.google.com/books?id=415loiMd_c0C&amp;amp;lpg=PA1&amp;amp;ots=Jw1evzIjNh&amp;amp;lr&amp;amp;pg=PA99#v=onepage&amp;amp;q&amp;amp;f=false&quot; rel=&quot;nofollow&quot;&gt;Muthu's book&lt;/a&gt;. One paper is &lt;a href=&quot;http://dx.doi.org/10.1145/1066157.1066161&quot; rel=&quot;nofollow&quot;&gt;this&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Ganguly's paper is very interesting, too.&lt;/p&gt;&#xA;" OwnerUserId="4896" LastActivityDate="2011-05-10T17:19:16.037" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6522" PostTypeId="2" ParentId="6448" CreationDate="2011-05-10T17:21:00.140" Score="20" Body="&lt;p&gt;&lt;strong&gt;Have student reps&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To address Jukka's supplementary request made in a comment to the question:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Enlist two (or more) people -- one an energetic young researcher (student or post-doc) and one an engaging and extremely experienced academic (professor) -- to co-ordinate activities for early-stage researchers.  The former would be responsible for planning drinks and other social events, while the latter can provide careers and research advice, perhaps in a special-purpose session of the conference or possibly at said drinks.  (An optional third person could be an industrial contact.)&lt;/p&gt;&#xA;" OwnerUserId="233" LastActivityDate="2011-05-10T17:21:00.140" CommentCount="1" CommunityOwnedDate="2011-05-10T17:21:00.140" ContentLicense="CC BY-SA 3.0" />
  <row Id="6523" PostTypeId="1" CreationDate="2011-05-10T17:28:07.190" Score="8" ViewCount="338" Body="&lt;p&gt;&lt;strong&gt;Background:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In quantum information theory, a wide class of processes acting on stochastic quantum states can be described using the formalism of &lt;em&gt;Quantum Channels&lt;/em&gt;:&lt;br&gt;&#xA;A quantum channel is a linear, completely positive, trace preserving map&lt;br&gt;&#xA;$\Phi:\Theta(\mathcal{H}_{in}) \to \Theta(\mathcal{H}_{out})$ &lt;br&gt;&#xA;where $\mathcal{H}_{in}$ and $\mathcal{H}_{out}$ are respectively the input and output Hilbert spaces, and $\Theta(\mathcal{H})$ is the set of &lt;em&gt;density operators&lt;/em&gt; (i.e. stochastic states) over the Hilbert space of pure states $\mathcal{H}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In particular, if the input and output spaces are finte dimensional, and they concide, then $\mathcal{H}_{in} \equiv \mathcal{H}_{out} \equiv \mathcal{H} \equiv \mathbb{C}^n$, and $\Theta(\mathcal{H})$ is the set of $\mathbb{C}^{n\times n}$ Hermitian, positive semi-definite matrices of trace one.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Various standard representations exist for any quantum channel. For instance, the &lt;em&gt;Kraus representation&lt;/em&gt;, also known as &lt;em&gt;operator-sum representation&lt;/em&gt;:&lt;br&gt;&#xA;$\Phi(\rho) = \sum_{k}V_{k}\rho V_{k}^{\dagger}$ &lt;br&gt;&#xA;where $V_{k}$ are the Kraus operators of the channel, subject to the constraint:&lt;br&gt;&#xA;$\sum_{k}V_{k}^{\dagger} V_{k}=I$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given two quantum channels $\Phi_1,\,\Phi_2$ defined on the same space, various distance measures $d(\Phi_1,\,\Phi_2)$ can be defined. See, for instance, &lt;a href=&quot;http://arxiv.org/abs/quant-ph/0408063&quot; rel=&quot;nofollow noreferrer&quot;&gt;arXiv:quant-ph/0408063&lt;/a&gt;, or &lt;a href=&quot;https://cstheory.stackexchange.com/questions/4885/is-there-any-connection-between-the-diamond-norm-and-the-distance-of-the-associat&quot;&gt;this question&lt;/a&gt; by Joe Fitzsimons.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would like to know how to define a low-dimension approximation of a finite-dimension channel. More specifically: &lt;br&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $C_{n}$ the set of all channels of finite-dimension $n$:&lt;br&gt;&#xA;$C_{n}\equiv \left \{ \Phi | \Phi:\Theta(\mathbb{C}^n) \right \}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given two space dimensionalities $n$ and $m &amp;lt; n$, define an &lt;em&gt;Abstraction operator&lt;/em&gt;:&lt;br&gt;&#xA;$\mathcal{A}:C_{n} \to C_{m}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;and a &lt;em&gt;Concretization operator&lt;/em&gt;:&lt;br&gt;&#xA;$\mathcal{A}^{inv}:C_{m} \to C_{n}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;such that their compositions yields an optimal approximation of any channel:&lt;br&gt;&#xA;$\forall \Phi \in C_{n},$&lt;br&gt;&#xA;Let $\Phi_{\mathcal{B},\,\mathcal{B}^{inv}} \equiv \mathcal{B}^{inv}(\mathcal{B}(\Phi))$ &lt;br&gt;&#xA;Let $\widetilde{\Phi} \equiv \Phi_{\mathcal{A},\,\mathcal{A}^{inv}}$&lt;br&gt;&#xA;then $d(\Phi\,\widetilde{\Phi}) = \min_{\mathcal{B}\,\mathcal{B}^{inv}}(d(\Phi\,\Phi_{\mathcal{B}\,\mathcal{B}^{inv}}))$&lt;br&gt;&#xA;where $\mathcal{B},\,\mathcal{B}^{inv}$ are arbitrary operators between channels of suitable dimension:&lt;br&gt;&#xA;$\mathcal{B}:C_{n} \to C_{m}\,\ \mathcal{B}^{inv}:C_{m} \to C_{n}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm not sure what distance measure $d(.,\,.)$ is the most appropriate to use here. I was thinking of the diamond distance.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, it would be very nice if the Abstraction operator was defined compositionally with respect to the Kraus representation. That is, given the channel:&lt;br&gt;&#xA;$\Phi(\rho) = \sum_{k}V_{k}\rho V_{k}^{\dagger}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It should hold that:&lt;br&gt;&#xA;$\mathcal{A}(\Phi)(\rho) = \sum_{k}\hat{A}(V_{k})\rho \hat{A}(V_{k})^{\dagger}$ &lt;br&gt;&#xA;for some function $\hat{A}(.)$. (Of course this representation would not be minimal in the number of Kraus operators).&lt;/p&gt;&#xA;" OwnerUserId="1749" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2012-05-07T14:31:29.900" Title="Approximation of Quantum Channels" Tags="&lt;quantum-computing&gt;&lt;it.information-theory&gt;&lt;quantum-information&gt;" AnswerCount="0" CommentCount="13" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="6524" PostTypeId="2" ParentId="6482" CreationDate="2011-05-10T18:06:23.207" Score="24" Body="&lt;p&gt;A few more examples:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Sleator, Thurston and Tarjan used a geometric representation of trees as partitions of polygons, and hyperbolic geometry, to prove &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=12143&quot;&gt;lower bounds for binary tree rotation&lt;/a&gt;. (Also, I believe the &lt;em&gt;history&lt;/em&gt; of a dynamic binary search tree can be represented as a tetrahedralization.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The reduction of &lt;a href=&quot;http://en.wikipedia.org/wiki/Lowest_common_ancestor&quot;&gt;least common ancestor to range minimum queries&lt;/a&gt;, due to Berkman and Vishkin, relates a data structures problem on trees to an arguably-geometric problem. (and thanks for the article David)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The reduction of a scheduling problem to max weight independent set of axis-parallel rectangles [1] or the reduction of a different scheduling problem to geometric set cover [2] might qualify.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The reduction of the largest common subsequence problem to finding layers of maxima is well-known (meaning, I'm too lazy to look up who actually thought of it).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] (Liane Lewin-Eytan, Joseph Seffi Naor and Ariel Orda)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] Nikhil Bansal, Kirk Pruhs. The Geometry of Scheduling, FOCS 2010.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[later edit] A couple more cases where a &quot;geometric&quot; view seemed surprising (though the &quot;submission to SoCG&quot; or &quot;makes something to visualize&quot; standards are probably not met):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.47.5749&quot;&gt;algebraic topology applied to lower bounds for distributed computing&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Effective_dimension&quot;&gt;incorporating computability into Hausdorff dimension&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.ams.org/jams/2010-23-03/S0894-0347-09-00658-4/S0894-0347-09-00658-4.pdf&quot;&gt;defining a notion of distance for groups, then volume, then growth of volume as a function of distance, then using &quot;polynomial growth&quot;&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="5032" LastEditorUserId="5032" LastEditDate="2011-05-11T17:12:11.230" LastActivityDate="2011-05-11T17:12:11.230" CommentCount="5" CommunityOwnedDate="2014-03-18T05:22:24.057" ContentLicense="CC BY-SA 3.0" />
  <row Id="6525" PostTypeId="2" ParentId="6519" CreationDate="2011-05-10T18:38:42.050" Score="22" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;However, I am more interested in type theory as a foundation for mathematics than as a basis for programming languages, should I pay much attention to subtyping? &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;One extra thing subtyping gives you is that subsumption implies that lots of coherence properties hold. A dependent type theory also needs a notion of proof irrelevance to model everything you can do with subtypes. For example, in dependent type theory you can approximate forming a subset with a dependent record: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xD;&#xA;\{x \in S \;|; P(x)\} \mbox{ vs. } \Sigma x:S.\;P(x)&#xD;&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, note that the cardinality of the subset will be smaller than $S$, whereas the dependent record can have a bigger cardinality (since there can be many possible proofs of $P(x)$ for each $x:$). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;To faithfully represent subtyping (which says that if $X &amp;lt;: Y$, and $x:X$ then $x:Y$), you need $P(x)$ to be &lt;em&gt;proof-irrelevant&lt;/em&gt; -- that is, for there to be at most one inhabitant of the type $P(x)$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Once you have that, you can systematically elaborate subtyping into dependent type theory. See &lt;a href=&quot;http://cs.cmu.edu/~wlovas&quot;&gt;William Lovas&lt;/a&gt;'s thesis for an example of adding subtyping to a dependent type theory (in this case, Twelf).  &lt;/p&gt;&#xA;" OwnerUserId="657" LastActivityDate="2011-05-10T18:38:42.050" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6526" PostTypeId="1" CreationDate="2011-05-10T20:54:22.680" Score="11" ViewCount="326" Body="&lt;p&gt;The completeness and soundness in &lt;a href=&quot;http://en.wikipedia.org/wiki/Interactive_proof_system&quot; rel=&quot;nofollow&quot;&gt;interactive proof systems&lt;/a&gt; are informally defined as:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Completeness:&lt;/strong&gt; If a statement is true, the &lt;em&gt;honest&lt;/em&gt; prover can convince the &lt;em&gt;honest&lt;/em&gt; verifier of this fact &lt;a href=&quot;http://www.acronymfinder.com/With-High-Probability-%28WHP%29.html&quot; rel=&quot;nofollow&quot;&gt;w.h.p&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Soundness:&lt;/strong&gt; If a statement is false, the &lt;em&gt;cheating&lt;/em&gt; prover cannot convince the &lt;em&gt;honest&lt;/em&gt; verifier (of the validity of the false statement) w.h.p.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The term &quot;w.h.p.&quot; is either interpreted as &quot;with probability greater than (say) 2/3,&quot; or &quot;with probability greater than the reciprocal of any polynomial.&quot; It seems immaterial to the following discussion as what interpretation of &quot;w.h.p.&quot; to choose.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The tricky part is how the probability is computed: In some sources, the probability is taken over the random coins of &lt;strong&gt;both&lt;/strong&gt; the prover and the verifier. In other sources, the probability is only computed over the random coins of the verifier. The latter is usually justified as: &quot;whatever the random coins of the prover are, the verifier makes the right decision.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To me, both definitions of probability seem equivalent; yet I can't prove this. Am I right? Can you prove them equivalent?&lt;/p&gt;&#xA;" OwnerUserId="1379" LastActivityDate="2011-05-25T02:20:52.587" Title="The Equivalency of Two Definitions of Completeness &amp; Soundness in Interactive Proof Systems" Tags="&lt;cc.complexity-theory&gt;&lt;interactive-proofs&gt;" AnswerCount="1" CommentCount="6" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="6527" PostTypeId="2" ParentId="6199" CreationDate="2011-05-10T20:58:03.480" Score="0" Body="&lt;p&gt;In &quot;Purely Functional Data Structures&quot; (1998), Chris Okasaki proposes tries of binary trees using type aggregation (10.3.2). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I don't know wether this is immediately helps; the solution given there might not be implementable directly.&lt;/p&gt;&#xA;" OwnerUserId="1546" LastActivityDate="2011-05-10T20:58:03.480" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6528" PostTypeId="1" CreationDate="2011-05-11T03:17:18.720" Score="27" ViewCount="1302" Body="&lt;p&gt;I am a computer scientist taking a course on Topology (a sprinkling of point-set topology heavily flavored with continuum theory). I have become interested in decision problems testing a description of a space (by simplices) for topological properties; those preserved up to homeomorphism.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is known, for example, that determining the genus of a knot is in PSPACE and is NP-Hard. (Agol 2006; Hass, Lagarias, Pippenger 1999)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Other results have more a more general feel: A. A. Markov (the son of &lt;em&gt;the&lt;/em&gt; Markov) showed in 1958 that testing two spaces for a homeomorphism in dimensions $5$ or higher is undecidable (by showing the undecidability for 4-manifolds). Unfortunately, this last example is not a perfect exemplar of my question, as it deals with the homeomorphy problem itself rather than properties preserved under homeomorphism.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There seems to be a large amount of work in &quot;low dimensional topology&quot;: knot and graph theory. I am definitely interested in results from low dimensional topology, but am more interested in generalized results (these seem to be rare).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am most interested in problems which are NP-Hard on average, but feel encouraged to list problems not known to be so.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What results are known about the computational complexity of topological properties?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="3624" LastEditorUserId="3624" LastEditDate="2011-05-11T04:04:48.763" LastActivityDate="2014-04-11T01:07:50.770" Title="Complexity of Topological Properties." Tags="&lt;cc.complexity-theory&gt;&lt;big-list&gt;&lt;topology&gt;" AnswerCount="2" CommentCount="8" FavoriteCount="10" ContentLicense="CC BY-SA 3.0" />
  <row Id="6529" PostTypeId="1" AcceptedAnswerId="6576" CreationDate="2011-05-11T04:28:33.297" Score="9" ViewCount="333" Body="&lt;p&gt;One of the main problems in graph enumeration is determining the 'shape' of a graph, e.g. the isomorphism class of any particular graph. I am fully aware that every graph can be represented as a symmetric matrix. However, to get it's shape, you'd need a collection of row/column permutations, which makes a matrix a little less suited. It's also a bit harder to 'see' the graph, once it's in that form.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is: Are there any 'graphical' algebras that can describe the 'shape' of graphs?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What I'm thinking of is what kinds of formal systems that algebraic topologists tend to come up with. In particular, things like the algebra for knot invariants, or notational systems like operads or &lt;a href=&quot;http://www.loria.fr/~guiraudy/recherche/erm.pdf&quot; rel=&quot;noreferrer&quot;&gt;polygraphs&lt;/a&gt;. These kind of 'doodle algebras' are not nearly as well developed, so perhaps there is a reason to believe that no such algebra exists for graphs, but I'd though I'd ask before assuming otherwise.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;UPDATE:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is probably very narrow and not immediately answerable with a 'yes', so if the moderators don't mind, I'll broaden it by asking:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there any existing systems (the kind I describe above) that could be adapted (easily or otherwise) to create such a system? If there's more than one, feel free to mention all of them. And throw in the ones already mentioned as well.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Motivation&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My motivation for such a question is actually about classifying asymmetric graphs. I'm only an undergrad, so my review of the current state of algebraic graph theory is pretty thin. But I've yet to see much, if any, work in trying to systematically describe all graphs in an algebraic way, and in particular, one that uses visual metaphors over symbolic ones.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Practical example where such a system would be useful&lt;/strong&gt; &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose one wants to describe a proof that all Eulerian graphs must have vertices of even degree. A standard proof usually uses arguments about even and odd degrees, without mentioning the actual edges used. A typical student would find such a proof for the first time, and probably begin drawing graphs, attempting to convince himself of the argument. But perhaps a better tool than the pure 'logical' argument, would be to show that any collection of 'symbols' from such a language could not satisfy some 'completeness' condition.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Yeah, I know, I'm being hand-wavy at this last part.. If I wasn't, though I'd probably start creating such a system myself!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But ignoring my vagueness for a moment, I get a sense that many of the old and well known theorems in graph theory are not difficult but require some conceptualization that a really good framework could 'tie up' and 'package' into a unified view.&lt;/p&gt;&#xA;" OwnerUserId="5035" LastEditorUserId="186" LastEditDate="2011-05-12T01:29:42.907" LastActivityDate="2018-02-03T08:30:03.360" Title="Are there any 'graphical' algebras that can describe the 'shape' of graphs?" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;algebra&gt;" AnswerCount="2" CommentCount="9" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="6530" PostTypeId="2" ParentId="6528" CreationDate="2011-05-11T06:33:38.633" Score="27" Body="&lt;p&gt;Computational topology encompasses an &lt;em&gt;enormous&lt;/em&gt; body of research.  A complete summary of every complexity result would be impossible.  But to give you a small taste, let me expand on your example.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In 1911, Max Dehn posed the &lt;a href=&quot;http://en.wikipedia.org/wiki/Word_problem_for_groups&quot; rel=&quot;nofollow&quot;&gt;word problem&lt;/a&gt; for &lt;a href=&quot;http://en.wikipedia.org/wiki/Presentation_of_a_group&quot; rel=&quot;nofollow&quot;&gt;finitely presented groups&lt;/a&gt;: Given a string over the generator alphabet, does it represent the identity element?  One year later, Dehn described an algorithm for the word problem in &lt;a href=&quot;http://en.wikipedia.org/wiki/Fundamental_group&quot; rel=&quot;nofollow&quot;&gt;fundamental groups&lt;/a&gt; of orientable surfaces; equivalently, Dehn described how to decide whether a given cycle on a given orientable surface is contractible.  Properly implemented, &lt;a href=&quot;http://en.wikipedia.org/wiki/Dehn%27s_algorithm#Dehn.27s_algorithm&quot; rel=&quot;nofollow&quot;&gt;Dehn's algorithm&lt;/a&gt; runs in $O(n)$ time.  In the same 1912 paper, Dehn opined that “Solving the word problem for all groups may be as impossible as solving all mathematical problems.”&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In 1950, Turing proved that the word problem in finitely presented &lt;a href=&quot;http://en.wikipedia.org/wiki/Semigroups&quot; rel=&quot;nofollow&quot;&gt;semigroups&lt;/a&gt; is undecidable, by reduction from the halting problem (surprise, surprise).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Building on Turing's result, Markov proved in 1951 that every nontrivial property of finitely-presented semigroups is undecidable.  A property of groups is nontrivial if some group has the property and some other group does not.  Theoretical computer scientists know the similar result about partial functions as &quot;Rice's Theorem&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In 1952, Novikov proved that the word problem in finitely presented &lt;em&gt;groups&lt;/em&gt; is undecidable, thereby proving that Dehn's intuition was correct.  The same result was independently proved by Boone in 1954 and Britton in 1958.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In 1955, Adyan proved that every nontrivial property of finitely-presented &lt;em&gt;groups&lt;/em&gt; is undecidable.  The same result was proved independently by Rabin in 1956.  (Yes, &lt;em&gt;that&lt;/em&gt; Rabin.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, in 1958, Markov described algorithms to construct 2-dimensional cell complexes and 4-dimensional manifolds with any desired fundamental group, given the group presentation as input.  This result immediately implied that a huge number of topological problems are undecidable, including the following:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Is a given cycle in a given 2-dimensional complex contractible? (This is the word problem.)&lt;/li&gt;&#xA;&lt;li&gt;Is a given 2-complex simply connected?  (&quot;Is this group trivial?&quot;)&lt;/li&gt;&#xA;&lt;li&gt;Is a given cycle in a given 4-manifold contractible?&lt;/li&gt;&#xA;&lt;li&gt;Is a given 4-manifold contractible?&lt;/li&gt;&#xA;&lt;li&gt;Is a given 4-manifold homeomorphic to a particular 4-manifold (constructed by Markov)?&lt;/li&gt;&#xA;&lt;li&gt;Is a given 5-manifold homeomorphic to the 5-sphere (or any other fixed 5-manifold you choose)?&lt;/li&gt;&#xA;&lt;li&gt;Is a given 6-complex a manifold?&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;My favorite corollary of these results is more recent and more subtle: &lt;strong&gt;It is undecidable whether a given finitely-presented group is the fundamental group of a 3-manifold.&lt;/strong&gt;  Perelman's recent proof of Thurston's geometrization conjecture implies the existence of an algorithm to determine whether a given 3-manifold has a trivial fundamental group.  (As @SamNead points out, results of Rubenstein and Casson imply an algorithm that runs in exponential time.)  If a given group $G$ is not a 3-manifold group, then $G$ cannot be trivial, because $\pi_1(S^3)$ is trivial.  Thus, if you could decide whether $G$ is a 3-manifold group, you could decide whether $G$ is trivial, which is impossible.&lt;/p&gt;&#xA;" OwnerUserId="111" LastEditorUserId="111" LastEditDate="2014-04-11T01:07:50.770" LastActivityDate="2014-04-11T01:07:50.770" CommentCount="10" ContentLicense="CC BY-SA 3.0" />
  <row Id="6531" PostTypeId="2" ParentId="6321" CreationDate="2011-05-11T08:39:32.517" Score="1" Body="&lt;p&gt;If the hash function is collision-resistant, it doesn't affect security.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another way to put it: it affects security, in the sense that you are now reliant upon the security of the hash function to resist collisions.  But if it is infeasible to find collisions in the hash function, and if the underlying signature scheme is secure, then signing a hash of the message is also secure.&lt;/p&gt;&#xA;" OwnerUserId="5038" LastActivityDate="2011-05-11T08:39:32.517" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6532" PostTypeId="2" ParentId="3732" CreationDate="2011-05-11T09:01:11.057" Score="1" Body="&lt;p&gt;Are you interested in implementing a PRNG?  If so, your best bet is not to design one yourself, but just use a standard one.  /dev/urandom is the right answer on most platforms.  If /dev/urandom doesn't exist, generating a random AES key with /dev/random and then running AES-CTR mode to generate lots of pseudorandom numbers is another reasonable approach.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I recommend that you read Cryptography Engineering, by Ferguson, Schneier, and Kohno.  It is an excellent book.  It will teach you a lot about how to design and build real cryptosystems.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you actually have to build a system that will be deployed in practice, I recommend that you do not take your guidance from the theoretical CS community, but rather from the community of practitioners and practice-oriented researchers.  Much of the theoretical CS work will not be very relevant, or potentially even misleading, to practical implementation of a secure PRNG.  I also encourage you to look at the IT Security stack exchange for those kinds of questions.&lt;/p&gt;&#xA;" OwnerUserId="5038" LastActivityDate="2011-05-11T09:01:11.057" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6533" PostTypeId="2" ParentId="3023" CreationDate="2011-05-11T09:07:06.710" Score="-3" Body="&lt;p&gt;You can tell that a scheme is using the random oracle model if its proof of security is in the random oracle model.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Contrariwise, if it has a proof of security in the plain model, with no random oracles, then it is not using the random oracle model.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This may seem tautological.  If so, that's because it is.  (In other words: if you are unhappy with a tautological answer, it means that your question was not framed clearly or precisely enough.)&lt;/p&gt;&#xA;" OwnerUserId="5038" LastActivityDate="2011-05-11T09:07:06.710" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6534" PostTypeId="1" AcceptedAnswerId="6537" CreationDate="2011-05-11T11:57:50.687" Score="9" ViewCount="809" Body="&lt;p&gt;Even if it isn't a crucial point, I don't see any literature around this question. Are there relativisation results ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Wouldn't it be quite straightforward to prove strict inclusion by adapting non-deterministic time hierarchy theorem by exploring all possible paths of the NP machine ?&lt;/p&gt;&#xA;" OwnerUserId="378" LastEditorUserId="80" LastEditDate="2011-05-11T17:34:15.560" LastActivityDate="2015-09-09T14:52:44.710" Title="Literature around NP vs EXPTIME" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="6535" PostTypeId="2" ParentId="6199" CreationDate="2011-05-11T13:32:50.090" Score="0" Body="&lt;p&gt;In programmer lingo:&#xA;If you create the trees from common sub-expressions/trees/DAGs, you would have a nice compact model. So Directed Acyclic Graphs.&#xA;Then a set of trees would suffice.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;public class Tree {&#xA;    String operation;&#xA;    Tree[] subtrees;&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;public int compareTo(Tree rhs) {&#xA;    if (rhs == null) return false;&#xA;    int cmp = operation.compareTo(rhs.operation);&#xA;    if (cmp == 0) {&#xA;        cmp = Arrays.compareTo(subtrees, rhs.subtrees);&#xA;    }&#xA;    return cmp;&#xA;}&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;...&#xA;}&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Map commonSubExpressions = new HashMap();&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Tree get(String expressionSyntax) {&#xA;  Tree t = new Tree();&#xA;  t.operation = ...;&#xA;  t.subtrees = ... recursive call to get on subexpressions;&#xA;  Tree t2 = commonSubExpressions.get(t);&#xA;  if (t2 == null) {&#xA;    t2 = t;&#xA;    commonSubExpressions.put(t2, t2);&#xA;  }&#xA;  return t2;&#xA;}&#xA;}&lt;/p&gt;&#xA;" OwnerUserId="5041" LastActivityDate="2011-05-11T13:32:50.090" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6536" PostTypeId="1" CreationDate="2011-05-11T16:01:15.997" Score="2" ViewCount="373" Body="&lt;p&gt;i'm trying to find an algorithm&#xA;that will divide my graph in 2 parts by telling me what connections should be broken&#xA;but the 2 parts should contain about the same number of nodes&lt;/p&gt;&#xA;&#xA;&lt;p&gt;its for a practical problem that i'm implementing. the graph will never have more then 64 nodes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;edit&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;this will be applied to a 64 nodes graph every time the program runs. &#xA;the connections have distances from 0-90, where 90 is far apart&lt;/p&gt;&#xA;&#xA;&lt;p&gt;the described algorithm sounds good&#xA;is it an existing one? can you get a link to pseudo code?&#xA;or should i try implementing it myself ^^&lt;/p&gt;&#xA;" OwnerUserId="4115" LastEditorUserId="4115" LastEditDate="2011-05-13T07:07:22.023" LastActivityDate="2015-09-09T13:00:31.477" Title="Heuristics for graph bisection" Tags="&lt;ds.algorithms&gt;&lt;graph-algorithms&gt;&lt;heuristics&gt;" AnswerCount="3" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="6537" PostTypeId="2" ParentId="6534" CreationDate="2011-05-11T17:40:28.350" Score="10" Body="&lt;p&gt;The &lt;a href=&quot;https://complexityzoo.uwaterloo.ca/Complexity_Zoo:E#exp&quot; rel=&quot;nofollow&quot;&gt;Complexity Zoo&lt;/a&gt; says: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;... There exist oracles relative to which $EXP=NP=ZPP$ [Hel84a], [Hel84b], [Kur85], [Hel86],....&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See for example &lt;a href=&quot;http://people.cs.uchicago.edu/~fortnow/papers/nexp.ps&quot; rel=&quot;nofollow&quot;&gt;Two oracles that force a big crunch&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Perhaps the original oracle used by Dekhtyar is &lt;em&gt;less powerful&lt;/em&gt; (and simpler): &lt;em&gt;On the relativization of deterministic and nondeterministic complexity classes&lt;/em&gt; in &lt;em&gt;Proc. Mathematical Foundations of CS&lt;/em&gt; 1977 ... but I don't have his paper.&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="7030" LastEditDate="2015-09-09T14:52:44.710" LastActivityDate="2015-09-09T14:52:44.710" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6538" PostTypeId="2" ParentId="3023" CreationDate="2011-05-11T18:13:20.863" Score="2" Body="&lt;p&gt;Let us first step back and say more precisely (mathematically) what &quot;the Random Oracle Model (ROM)&quot; is, because it is fundamentally different from an &quot;assumption&quot; as they are thought of in cryptography.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One way to formalize the ROM is to see it as &lt;em&gt;alternative model of computation&lt;/em&gt;.  In particular, algorithms in this model of computation have a extra distinguished state (or subroutine, or circuit gate, whatever), that computes some function $H:\{0,1\}^\ast\to\{0,1\}^n$, where n is the security parameter.  An algorithm A is executed in this model by picking $H$ at random from all possible functions, and then running $A$ with its $H$ subroutine set to compute that function.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;When we &quot;analyze a protocol in the ROM&quot;, we mean first define the protocol via algorithms that have access to $H$, and then we prove a theorem about the protocol when it is attacked by adversaries that also have access to $H$.  The theorem will say that something happens with high probability, where the probability is over the choice of $H$, amongst other things.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This model of computation is not realistic, however, because we do not all have access to a truly random function.  So instead we take our algorithms (which were defined in the ROM) and set $H$ to something efficiently computable, like SHA-256.  Of course, the theorem does not actually cover such usage, but this approach is remarkably effective for avoiding wide classes of attacks against protocols.  We just hope (&quot;assume&quot;) that things will work out for the protocols under consideration, but in general this assumption is &lt;em&gt;false&lt;/em&gt;[1].  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A cryptographic assumption, on the other hand, say something about the limitations of the &quot;standard model of computation&quot;, i.e. Turing machines, circuit families, etc.  A distinguishing feature here is that &lt;em&gt;assumptions might true, but the ROM will never &quot;true&quot;&lt;/em&gt;.  This holds even for interactive assumptions that involve weird oracles - even a random oracle.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Things brings us to the point of confusion:  When you're sitting down to design a protocol (algorithm) and prove it secure in the standard model under an assumption, you can't assume that your algorithm has access to any oracles, because it needs to be an algorithm in the usual sense.  Even if your assumption has a random oracles represented somewhere in it, you still need to give a well-defined algorithm or protocol.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] See &quot;The random oracle methodology, revisited&quot; by Ran Canetti, Oded Goldreich and Shai Halevi.&lt;/p&gt;&#xA;" OwnerUserId="724" LastActivityDate="2011-05-11T18:13:20.863" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6539" PostTypeId="1" CreationDate="2011-05-12T01:13:59.073" Score="41" ViewCount="2248" Body="&lt;p&gt;Does anyone know of interesting applications of &lt;a href=&quot;http://en.wikipedia.org/wiki/Gr%C3%B6bner_basis&quot;&gt;Gröbner bases&lt;/a&gt; to theoretical computer science?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Gröbner bases are used to solve multi-variate polynomial equations, an NP-hard problem in general. I was wondering whether some tractable special cases were used to provide efficient algorithms/constructions/proofs in TCS or TCS-related areas (combinatorics, coding theory).&lt;/p&gt;&#xA;" OwnerUserId="1621" LastEditorUserId="5385" LastEditDate="2011-09-15T03:41:01.493" LastActivityDate="2015-06-29T21:56:16.013" Title="Gröbner bases in TCS?" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;algebra&gt;&lt;polynomials&gt;" AnswerCount="12" CommentCount="7" FavoriteCount="14" ContentLicense="CC BY-SA 3.0" />
  <row Id="6540" PostTypeId="2" ParentId="5195" CreationDate="2011-05-12T02:22:48.297" Score="2" Body="&lt;p&gt;&lt;a href=&quot;http://www.zib.de/Publications/Reports/ZR-06-22.pdf&quot; rel=&quot;nofollow&quot;&gt;On the Bottleneck Shortest Path Problem&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="4501" LastActivityDate="2011-05-12T02:22:48.297" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="6542" PostTypeId="2" ParentId="6536" CreationDate="2011-05-12T04:14:00.117" Score="6" Body="&lt;p&gt;&lt;em&gt;(transferred from a comment above)&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem you want to solve is called Graph Bisection and is NP-hard. A simple heuristic that might work well in your case is to find two nodes that are as far apart as possible, and then grow out their neighborhoods till you get roughly equal sizes on both. Another local improvement heuristic is to take a candidate solution, and find two vertices to swap that will reduce the cut size.&lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2011-05-12T04:14:00.117" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6543" PostTypeId="1" CreationDate="2011-05-12T04:28:53.750" Score="10" ViewCount="436" Body="&lt;p&gt;This was an assignment problem in a course on analytics combinatorics that I had taken this semester. Here is the problem:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $\mathbf{F}$ be the set of boolean functions, $f: \{0,1\}^n \rightarrow \{0,1\}$, and let $U_k(f)$ denote the $k^{th}$ Gowers norm of $f$, which is defined as &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$U_k(f) = (\mathbb{E}_{x,y_1,y_2,\ldots,y_k \in \mathbb{F}_2^n} (-1)^{\Delta_{y_1,y_2 \ldots y_k} f(x)})^\frac{1}{2^k} \text.$$ &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here $\Delta$ is the discrete derivative : $\Delta_{y} {f(x)} = f(x) + f(x+y)$.&#xA;Give an estimate of the quantity $\mathbb{E}_{f \in \mathbf{F}} U_k(f)$, for $1 \le k \le 3$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Intuitively, to me, it seems that this quantity should be vanishingly small (not lower-bounded by a constant which is independent of $n$) since the above expression is the Gowers norm of a &lt;em&gt;random&lt;/em&gt; function, which cannot have a good correlation with low-degree polynomials.&#xA;Is my line of thought is correct, and can someone can give a quantitative estimate of the above expression for $k = 1,2,3$.&lt;/p&gt;&#xA;" OwnerDisplayName="user1694" LastEditorUserId="186" LastEditDate="2011-05-12T18:05:00.447" LastActivityDate="2011-05-12T18:05:00.447" Title="Expectation of Gowers norm" Tags="&lt;co.combinatorics&gt;&lt;boolean-functions&gt;&lt;pseudorandomness&gt;" AnswerCount="0" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="6544" PostTypeId="2" ParentId="6539" CreationDate="2011-05-12T07:49:10.983" Score="9" Body="&lt;p&gt;The following paper can be seen as one application.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Gunnar Carlsson, Gurjeet Singh, Afra Zomorodian: Computing Multidimensional Persistence. Journal of Computational Geometry, 1(1) 2010, pages 72-100. &lt;a href=&quot;http://jocg.org/index.php/jocg/article/view/19&quot;&gt;http://jocg.org/index.php/jocg/article/view/19&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I see the authors use Buchberger's algorithm as a subroutine, and exploit the structure of their problem to prove that the running time is polynomially bounded.&lt;/p&gt;&#xA;" OwnerUserId="2955" LastActivityDate="2011-05-12T07:49:10.983" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6545" PostTypeId="2" ParentId="6539" CreationDate="2011-05-12T08:12:55.240" Score="7" Body="&lt;p&gt;Alekseyev and Pevzner use them in &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.142.3719&amp;amp;rep=rep1&amp;amp;type=pdf&quot;&gt;this paper&lt;/a&gt; to compute the $k$-break distance between two genomes in linear time. Loosely speaking, that distance is defined as the minimum number of times you need to cut a given genome into $k$ pieces and rearrange them in order to transform that genome into another given one.&lt;/p&gt;&#xA;" OwnerUserId="775" LastActivityDate="2011-05-12T08:12:55.240" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6546" PostTypeId="2" ParentId="6539" CreationDate="2011-05-12T08:17:32.587" Score="25" Body="&lt;p&gt;Gröbner basis computation, while EXPSPACE-complete in general, are in PSPACE over Boolean rings. This has applications in model-checking to replace BDDs: Quoc-Nam Tran, &quot;A PSPACE Algorithm for Groebner Bases Computation in Boolean Rings&quot;, Proc. WASET, Vol. 35, Nov. 2008, ISSN 2070-3740&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;[NOTE]&lt;/strong&gt; The result stating that Groebner basis computation is in PSPACE over Boolean rings seems wrong, see Mark van Hoeij, &lt;strong&gt;Gröbner basis in Boolean rings is not P-SPACE&lt;/strong&gt;, arXiv:&lt;a href=&quot;http://arxiv.org/abs/1502.07220&quot;&gt;1502.07220&lt;/a&gt;, 2015.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;[NOTE]&lt;/strong&gt; The claim that the result stating that Groebner basis computation is in PSPACE over Boolean rings seems wrong, is wrong. The author confuses PSPACE-computability with having a polynomial size. A PSPACE function may well have exponentially long output.&lt;/p&gt;&#xA;" OwnerUserId="121" LastEditorUserId="6959" LastEditDate="2015-02-26T10:30:23.380" LastActivityDate="2015-02-26T10:30:23.380" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6547" PostTypeId="2" ParentId="6482" CreationDate="2011-05-12T11:51:48.297" Score="-3" Body="&lt;p&gt;A &lt;a href=&quot;http://en.wikipedia.org/wiki/Integral&quot; rel=&quot;nofollow&quot;&gt;Definite Integral&lt;/a&gt; of a function can be represented as the signed area of the region bounded by its graph.&lt;/p&gt;&#xA;" OwnerUserId="5048" LastActivityDate="2011-05-12T11:51:48.297" CommentCount="1" CommunityOwnedDate="2014-03-18T05:22:24.057" ContentLicense="CC BY-SA 3.0" />
  <row Id="6549" PostTypeId="2" ParentId="6539" CreationDate="2011-05-12T13:00:35.847" Score="9" Body="&lt;p&gt;&lt;a href=&quot;http://homepages.inf.ed.ac.uk/s0793114/publications.html&quot;&gt;Grant Passmore&lt;/a&gt; and others write about them in the context of SMT solvers. I'm not an expert in Groebner bases nor in SMT solvers, so it's hard for me to evaluate how well this reference answers your question.&lt;/p&gt;&#xA;" OwnerUserId="142" LastEditorUserId="142" LastEditDate="2011-05-12T14:59:28.653" LastActivityDate="2011-05-12T14:59:28.653" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6550" PostTypeId="2" ParentId="6512" CreationDate="2011-05-12T13:51:10.233" Score="3" Body="&lt;p&gt;You should explain how F works ... however I try to give you some tips.&lt;/p&gt;&#xA;&#xA;&lt;h3&gt;Suggestion 1&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;The standard &lt;strong&gt;information retrieval&lt;/strong&gt; approach may help you:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;split each &quot;&lt;em&gt;item&lt;/em&gt;&quot; in small size &lt;em&gt;words&lt;/em&gt; (for example 4 digits), and build an &lt;strong&gt;inverted index&lt;/strong&gt;, i.e. a table that maps each word to the items that contains it:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;word1 -&amp;gt; item1, item2, item5, ...&#xA;word2 -&amp;gt; item2, item3, item6, ...&#xA;...&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Then if you must find items similar (closer) to item &lt;strong&gt;X&lt;/strong&gt;:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;split &lt;strong&gt;X&lt;/strong&gt; in words w1 w2 w3 ... w4&lt;/li&gt;&#xA;&lt;li&gt;easily (and quickly) retrieve items that contains those words&lt;/li&gt;&#xA;&lt;li&gt;order the retrieved items according to your F (weighting each item using the number of  common words also contained in &lt;strong&gt;X&lt;/strong&gt;)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;You can also expand the inverted index to include the &lt;strong&gt;word positions&lt;/strong&gt; if required by your function (w1#1 -&gt; item1, item4; w1#2 -&gt; item3, item6; ...).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Obviously, this approach works only if your F can be rearranged and calculated only using the word co-occurences.&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The inverted index can be very large if the choosen word size is small. &lt;/p&gt;&#xA;&#xA;&lt;h3&gt;Suggestion 2&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;Perhaps you can try to &quot;fit&quot; your data in a &lt;strong&gt;compressed prefix tree&lt;/strong&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the paper &lt;a href=&quot;http://www.informatik.hu-berlin.de/forschung/gebiete/wbi/research/publications/2010/ssdbm_final.pdf&quot; rel=&quot;nofollow&quot;&gt;Prefix Tree Indexing for Similarity Search and&#xA;Similarity Joins on Genomic Data&lt;/a&gt; the authors combine several techniques and implement similarity searches (and joins) on a prefix tree. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;We present PETER, a prefix tree based indexing algorithm supporting&#xA;approximate search and approximate joins. Our tool supports Hamming&#xA;and edit distance as similarity measure and is available as C++ library,&#xA;as Unix command line tool, and as cartridge for a commercial database.&#xA;It combines an efficient implementation of compressed prefix trees with&#xA;advanced pre-filltering techniques that exclude many candidate strings&#xA;early.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;...Our experiments reveal that PETER is faster by orders of magnitudes compared to the command-line tools. Compared to RDBMS, it computes similarity joins in minutes for which UDFs did not finish within a day and outperforms the built-in join methods even&#xA;in the exact case.&lt;/em&gt;&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2011-05-12T14:02:18.917" LastActivityDate="2011-05-12T14:02:18.917" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6551" PostTypeId="1" CreationDate="2011-05-12T14:55:39.020" Score="2" ViewCount="410" Body="&lt;p&gt;Bounded Post Correspondence Problem is defined as follows:&#xA;given list of pairs of words $ (x_1,y_1), \ldots, (x_n, y_n) $ and $K$ find sequence of indexes $i_1, \ldots, i_k$, $k \leq K$ so that $x_{i_1} \ldots x_{i_k} = y_{i_1} \ldots y_{i_k}$. It is obviously NP-complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider another constraint: the indexes has to be unique, which each pair may appear at most once in the concatenation. &#xA;I have constructed simple reduction from 3-PARTITION. The 3-PARTITION instance is given by number $B$ and list $A=(a_1, \ldots ,a_{3m})$ of $3m$ integers. The problem is to find 3-element disjoint subsets $S_1, \ldots, S_m$ such, that the sum of the numbers in each subset is equal $B$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The reduction to 3-PARTITION is to construct following pairs:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;$(0,0\{\#^{B}1\}^{m} )$&lt;/li&gt;&#xA;&lt;li&gt;$m$ pairs of form: $(1,2)$&lt;/li&gt;&#xA;&lt;li&gt;$( \# ^{a_i},* ) $ for each $a_{i} \in  A$&lt;/li&gt;&#xA;&lt;li&gt;$(\{ *** 2\}^{m} 0,0)$&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;So the numbers from A are coded in unary form. We may do so, since 3-PARTITION is NP-complete in the strong sense.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is supposed to work as follows: first the (1) block is used. Then for some subset $S_l=(a_i,a_j,a_k)$ the corresponding (3) blocks are added and the separator block (2) next. After all subsets are used, the ending (4) block has to be added.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose now, that the index sequence is found. Using it we can construct solution of the 3-PARTITION since the pairs corresponding to element of A must form 3-element groups and all of them must be used to 'fill' the (1) block.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there any simple connection between the standard and the modified PCP?&#xA;Is there any simple reduction from the modified to the standard problem?&#xA;Can we say that the modified version is in some sense a special case of the standard problem?&lt;/p&gt;&#xA;" OwnerUserId="4230" LastEditorUserId="4230" LastEditDate="2011-05-14T11:28:24.390" LastActivityDate="2016-11-29T09:26:05.933" Title="Post Correspondence Problem &quot;binary&quot; variant" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;&lt;partition-problem&gt;&lt;post-correspondence&gt;" AnswerCount="0" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="6552" PostTypeId="1" AcceptedAnswerId="6553" CreationDate="2011-05-12T17:24:30.200" Score="5" ViewCount="325" Body="&lt;p&gt;I was puzzled by a seeming simple inference in rewriting theory:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;if $y_1 \overset{*}{\leftarrow} x \overset{*}{\rightarrow} y_2$ then $y_1 \overset{*}{\leftrightarrow} y_2$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I don't understand how could the consequence be inferred. For example, given $b_2 \leftarrow b_1 \leftarrow a \rightarrow c_1 \rightarrow c_2$, how could you say that $b_2$ and $c_2$ can reduce to each other?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;&lt;strong&gt;EDIT&lt;/em&gt;&lt;/strong&gt;:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;After reading Ohad's answer, in particular&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;a sequence of reverse rewrites followed by a sequence of direct rewrites is indeed a sequence of (either direction) rewrites.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I suddenly realized that the inference is &lt;em&gt;indeed&lt;/em&gt; immediate, because $\rightarrow$ represents a (rewriting) &lt;strong&gt;relation&lt;/strong&gt;, which means it's just a set of pairs. Its reflexive closure ($\overset{=}{\rightarrow}$), symmetric closure ($\leftrightarrow$), transitive closure ($\overset{+}{\rightarrow}$) are all defined as a superset of it. In particular, its reflexive, transitive and symmetric closure ($\overset{*}{\leftrightarrow}$) also contains it. In other words, we have $\rightarrow\;\subset \overset{*}{\leftrightarrow}$, &lt;s&gt;then recall that a subset relation can be read as an inference which is exactly the statement that puzzled me.&lt;/s&gt; [&lt;em&gt;EDIT:&lt;/em&gt; this reading doesn't help here!] Take the example I gave, $\rightarrow = \{(a, b_1), (b_1, b_2), (a, c_1), (c_1, c_2)\}$, its reflexive, transitive and symmetric closure $\overset{*}{\leftrightarrow} = \{(a, b_1), (b_1, b_2), (a, c_1), (c_1, c_2), (a, b_2), (a, c_2), (b_2, b_1), (b_1, a), (c_2, c_1), (c_1, a)\}$, the subset relation definitely holds. I hope this may also help others.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;*&lt;strong&gt;EDIT&lt;/strong&gt;*${}^2$:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I just realized that back then, I forgot to give the context of the inference.  The inference is formed via transitivity of logical inference from two others:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;$y_1 \overset{*}{\leftarrow} x \overset{*}{\rightarrow} y_2 \Rightarrow y_1 \downarrow y_2$&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;$y_1 \downarrow y_2 \Rightarrow y_1 \overset{*}{\leftrightarrow} y_2$&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;where $y_1 \downarrow y_2$ means $\exists z . y_1 \overset{*}{\rightarrow} z \overset{*}{\leftarrow} y_2$ and the first is known to be the &lt;strong&gt;confluence&lt;/strong&gt;.&lt;/p&gt;&#xA;" OwnerUserId="656" LastEditorUserId="656" LastEditDate="2013-09-21T17:04:54.667" LastActivityDate="2013-09-21T17:04:54.667" Title="A simple inference in rewriting theory" Tags="&lt;lo.logic&gt;&lt;term-rewriting-systems&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6553" PostTypeId="2" ParentId="6552" CreationDate="2011-05-12T17:46:08.750" Score="9" Body="&lt;p&gt;The relation $\overset{*}{\leftrightarrow}$ is defined as $(\leftrightarrow)^*$, the reflexive-transitive closure of $\leftrightarrow$, and $\leftrightarrow$ is defined as $\leftarrow \cup \rightarrow$, the symmetric closure of $\rightarrow$.  This means that $\overset{*}{\leftrightarrow}$ is: a sequence of rewrites going in &lt;strong&gt;either&lt;/strong&gt; direction.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now the inference is immediate: a sequence of reverse rewrites followed by a sequence of direct rewrites is indeed a sequence of (either direction) rewrites.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another way to view it, is that $a \rightarrow b$ stands for $a = b$ in some semantical sense, but $b$ is somewhat simpler than $a$. The relation $\overset{*}{\leftrightarrow}$ is then simply the underlying, semantical, equality.&lt;/p&gt;&#xA;" OwnerUserId="142" LastEditorUserId="142" LastEditDate="2011-05-12T18:40:24.033" LastActivityDate="2011-05-12T18:40:24.033" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="6554" PostTypeId="1" AcceptedAnswerId="6556" CreationDate="2011-05-12T22:27:41.220" Score="1" ViewCount="286" Body="&lt;p&gt;Consider an unweighted undirected bi-connected planar graph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $l_{v,u}$ be the length of the shortest path between nodes $v$ and $u$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $l_{max}$ be the length of the longest shortest path from any node to any other node.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The question is:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Are there any known non-trivial upper/lower bounds for $l_{max}$?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;It would also help if the bounds are for more general types of graphs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another interesting way of looking at the problem is:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$l_{max}$ is the maximal number of hops it takes to send a packet in a network from any terminal to any other, when using the shortest possible path.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Please post any link/reference that might be relevant, even if it does not directly solve the problem.&#xA;Thanks in advance!&lt;/p&gt;&#xA;" OwnerUserId="1657" LastEditorUserId="186" LastEditDate="2011-05-15T05:40:06.360" LastActivityDate="2011-05-15T05:40:06.360" Title="Longest path among all pairwise shortest paths in unweighted undirected biconnected planar graphs" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6555" PostTypeId="1" AcceptedAnswerId="6557" CreationDate="2011-05-12T22:38:22.120" Score="4" ViewCount="465" Body="&lt;p&gt;This may sound like theoretically void question, because certainly permutation is expressible even on the lowest level of Chomsky hierarchy:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;P -&amp;gt; a b c&#xA;  |  a c b&#xA;  |  b a c&#xA;  |  b c a&#xA;  |  c a b&#xA;  |  c b a&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;In practice, however, proposition that the only way to describe SQL syntax is permuting &quot;&lt;em&gt;where&lt;/em&gt;&quot;, &quot;&lt;em&gt;group by&lt;/em&gt;&quot;, &quot;&lt;em&gt;having&lt;/em&gt;&quot; (and many more similar clauses in some SQL dialects) is silly.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Boolean grammars allow succinct expression for permutation &lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;X -&amp;gt; a&#xA;   | b&#xA;   | c&#xA;&#xA;Y -&amp;gt; &#xA;   | X&#xA;&#xA;P -&amp;gt; X X X &amp;amp; - Y a Y a Y &amp;amp; - Y b Y b Y &amp;amp; - Y c Y c Y&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;but perhaps there is a way to do it in the context free realm too?  &lt;/p&gt;&#xA;" OwnerUserId="3213" LastEditorUserId="3213" LastEditDate="2011-05-12T22:44:24.363" LastActivityDate="2011-05-13T05:06:08.767" Title="compact context free expression for permutation" Tags="&lt;fl.formal-languages&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6556" PostTypeId="2" ParentId="6554" CreationDate="2011-05-13T01:24:32.953" Score="6" Body="&lt;p&gt;$l_{max}$ is called &lt;a href=&quot;http://mathworld.wolfram.com/GraphDiameter.html&quot;&gt;diameter of a graph&lt;/a&gt;.&#xA;I hope &lt;a href=&quot;http://dcg.epfl.ch/files/content/shared/files/diam.pdf&quot;&gt;this&lt;/a&gt; paper will be helpful&lt;/p&gt;&#xA;" OwnerUserId="5056" LastActivityDate="2011-05-13T01:24:32.953" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6557" PostTypeId="2" ParentId="6555" CreationDate="2011-05-13T05:06:08.767" Score="7" Body="&lt;p&gt;Using the method in &lt;a href=&quot;https://cstheory.stackexchange.com/questions/4962/do-there-exists-polynomial-size-cfg-that-describe-this-finite-language/4969#4969&quot;&gt;this answer&lt;/a&gt; one can show that the smallest context-free grammar for all permutation of $n$ symbols has exponential size in $n$.&lt;/p&gt;&#xA;" OwnerUserId="40" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2011-05-13T05:06:08.767" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6558" PostTypeId="2" ParentId="6536" CreationDate="2011-05-13T08:00:50.007" Score="5" Body="&lt;p&gt;Take a look at the &lt;a href=&quot;http://en.wikipedia.org/wiki/Kernighan%E2%80%93Lin_algorithm&quot;&gt;Kerninghan-Lin&lt;/a&gt; heuristic algorithm.&lt;/p&gt;&#xA;" OwnerUserId="313" LastActivityDate="2011-05-13T08:00:50.007" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="6559" PostTypeId="2" ParentId="6448" CreationDate="2011-05-13T09:53:49.197" Score="12" Body="&lt;p&gt;&lt;strong&gt;Publish Information about Grants, and Try to Allocate them at Registration&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It would be nice to know what grants are available to students, new postdocs, etc., before registering for the conference and purchasing flights. (There's nothing more frustrating than finding out that you've been offered a grant to pay for attendance and accommodation for an entire week after you've planned to attend for a single day and booked flights and hotels accordingly.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Similarly, it would be nice to get a grant at registration time, if possible, rather than to be given a cheque or cash upon arriving to the conference, or worse, waiting weeks after the conference to receive a cheque. Anti-bonus points for a conference in another country with a different currency.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(I've been to one conference where they didn't process registration payments until the day of the conference, and handed back cheques to those who received grants, so there are alternative ways of handling this.)&lt;/p&gt;&#xA;" OwnerUserId="4494" LastActivityDate="2011-05-13T09:53:49.197" CommentCount="0" CommunityOwnedDate="2011-05-13T09:53:49.197" ContentLicense="CC BY-SA 3.0" />
  <row Id="6560" PostTypeId="1" AcceptedAnswerId="6562" CreationDate="2011-05-13T11:23:03.297" Score="3" ViewCount="189" Body="&lt;p&gt;I'm interested in an external memory data structure able to support the following operations on variable length binary sequences: (1) Insert such a sequence. (2) Given a query sequence, find the longest sequence previously inserted which is a prefix of the query sequence, provided one exists.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In particular, do we need $O(n)$ I/O's for an operation with a sequence of length $n$? (Say, by directly implementing a radix tree in external memory.) Or is there something nice, where we can get $O(n/B)$ I/O's?&lt;/p&gt;&#xA;" OwnerUserId="3474" LastActivityDate="2011-05-14T05:16:59.737" Title="Prefix Dictionary Problem in External Memory" Tags="&lt;ds.data-structures&gt;&lt;machine-models&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="6561" PostTypeId="2" ParentId="6448" CreationDate="2011-05-13T14:57:23.943" Score="11" Body="&lt;p&gt;During talks, display &lt;em&gt;electronically&lt;/em&gt; the time left to the speaker (see videos of TED talks for an example). I used a simple java application in full screen to do so at the last conference I chaired: it would have felt stupid to do it &quot;by hand&quot;, keeping an eye on the clock and using papers with &quot;10mns left&quot;, &quot;5mns left&quot;, &quot;1mn left&quot;, &quot;FINISH NOW&quot; written on it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Bonus: display the overspent time in color flashing after the timer is done. &lt;/p&gt;&#xA;" OwnerUserId="191" LastEditorUserId="191" LastEditDate="2011-11-26T20:34:07.977" LastActivityDate="2011-11-26T20:34:07.977" CommentCount="6" CommunityOwnedDate="2011-05-13T14:57:23.943" ContentLicense="CC BY-SA 3.0" />
  <row Id="6562" PostTypeId="2" ParentId="6560" CreationDate="2011-05-13T15:16:23.987" Score="3" Body="&lt;p&gt;You might store $\Theta(B)$ children in every node of a trie with alphabet size $\Theta(B)$ by treating your binary sequences as strings over an alphabet each letter of which takes $\Theta(\lg B)$ bits. This will waste space if your string set is sparse, but I think inserts and prefix searches require $(n/\lg B)$ I/Os in the worst case where $n$ is the length of the longest unique prefix (in the case of insert) or the length of the prefix searched for. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;To find the longest sequence with a certain prefix, store with each child pointer the length of the longest descendant string.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If the number of strings you plan to store is $o(2^n)$, you might also be interested in the &lt;a href=&quot;http://www.cib.espol.edu.ec/Digipath/D_Papers/41662.pdf&quot; rel=&quot;nofollow&quot;&gt;string B-tree&lt;/a&gt;. Insert takes $O(n/B + \log_B k)$ I/Os in the worst-case for a string of length $n$ in a tree containing $k$ strings. Prefix search takes $O((p + occ)/B + \log_B k)$ I/Os in the worst-case, where $p$ is the length of the prefix to search and $occ$ is the number of results of the search. These are both larger than your requested bound ($O(p/B)$ or $O(n/B)$ in this notation), and prefix search isn't exactly what you're looking for, it sounds like, but I think storing the longest descendant length will work in this case.&lt;/p&gt;&#xA;" OwnerUserId="43" LastEditorUserId="43" LastEditDate="2011-05-14T05:16:59.737" LastActivityDate="2011-05-14T05:16:59.737" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="6563" PostTypeId="1" AcceptedAnswerId="6581" CreationDate="2011-05-13T17:43:47.667" Score="9" ViewCount="12663" Body="&lt;p&gt;The basic idea of backwards induction is to start with all the possible final positions of a game in which player X wins. So for chess, look at all the ways White can checkmate Black. Now work backwards to all the possible moves/positions that would allow White to move in to one of those positions. If White ever found herself in such a position she could win by moving to the relevant checkmating move. Now we work backwards another step and so on. Eventually we get back to all the possible first moves White could make. The point is, once we've done this, we know that we have White's best response to any move Black makes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Recently (last five years or so) Checkers was &quot;solved&quot; in this way. Obviously Noughts and Crosses (what the colonials might call &quot;Tic-Tac-Toe&quot;) has been solved for ages. At the very least since this &lt;a href=&quot;http://xkcd.com/832/&quot;&gt;xkcd&lt;/a&gt; but presumably long before.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So the question is: what factors does this sort of procedure depend on? The number of possible legal positions, presumably. But also perhaps the number of legal moves at any given node... And given this, how complex is this sort of problem?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Bonus question: how long before a $2000 PC can solve checkers in a day? Chess? Go? (Of course for this you also have to take into account increasing speed of home computers...)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I've added the &lt;a href=&quot;/questions/tagged/graph-algorithms&quot; class=&quot;post-tag&quot; title=&quot;show questions tagged 'graph-algorithms'&quot; rel=&quot;tag&quot;&gt;graph-algorithms&lt;/a&gt; tag because you can represent these games as trees, but if I'm abusing the tag please add something more appropriate&lt;/p&gt;&#xA;" OwnerUserId="1622" LastEditorUserId="186" LastEditDate="2011-05-15T06:06:15.360" LastActivityDate="2017-05-08T19:29:29.320" Title="What is the computational complexity of &quot;solving&quot; chess?" Tags="&lt;cc.complexity-theory&gt;&lt;graph-algorithms&gt;&lt;board-games&gt;" AnswerCount="4" CommentCount="4" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="6564" PostTypeId="2" ParentId="6539" CreationDate="2011-05-13T17:51:10.953" Score="12" Body="&lt;p&gt;Gröbner bases have been applied to constraint satisfaction problems (see this &lt;a href=&quot;http://gow.epsrc.ac.uk/ViewGrant.ASPx?Grant=EP/D032636/1&quot; rel=&quot;nofollow&quot;&gt;grant&lt;/a&gt;).  At this point Gröbner basis techniques do not appear to be useful for the applications of constraint satisfaction, since they are competing with mature search heuristics, consistency enforcement techniques, and efficient special purpose propagators -- not to mention good general-purpose SAT solvers.  However, I think there are definitely theoretical uses waiting to be discovered, specifically when the Gröbner basis has reasonable size.  See also the paper by &lt;a href=&quot;http://www-spiral.lip6.fr/MACIS2007/Papers/submission_7.pdf&quot; rel=&quot;nofollow&quot;&gt;Jefferson, Jeavons, Green, and van Dongen&lt;/a&gt;, presented at MACIS 2007 (journal version: AMAI &lt;strong&gt;67&lt;/strong&gt; 359–382, 2013, doi:&lt;a href=&quot;http://dx.doi.org/10.1007/s10472-013-9365-7&quot; rel=&quot;nofollow&quot;&gt;10.1007/s10472-013-9365-7&lt;/a&gt;), which discusses some of the issues.&lt;/p&gt;&#xA;" OwnerUserId="109" LastEditorUserId="109" LastEditDate="2014-02-28T18:06:29.230" LastActivityDate="2014-02-28T18:06:29.230" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6565" PostTypeId="2" ParentId="6563" CreationDate="2011-05-13T18:23:58.423" Score="8" Body="&lt;p&gt;There are actually a couple of different questions here: (a) how much computing power does it take to do tree search for games, and (b) what's the computational complexity of these problems?  The best all-purpose resource for this sort of thing is probably &lt;a href=&quot;http://en.wikipedia.org/wiki/Game_complexity&quot;&gt;the Wikipedia page on Game Complexity&lt;/a&gt;, but to go into a bit more detail:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For (a), there are a lot of different practical algorithms that come into play, but they all boil down to some form of the tree search you noted; the biggest optimization that's generally used for the tree search itself is known as &lt;a href=&quot;http://en.wikipedia.org/wiki/Alpha-beta_pruning&quot;&gt;Alpha-Beta&lt;/a&gt;, which prunes branches of the tree once it's known that they can't be better than the best option already discovered.  This is useful for evaluating positions 'on the fly' for chess (particularly with smart heuristics for ordering moves), because there are good estimates of the 'value' of a position; it generally gets a lot worse when having to compute a precise result for a position just because those heuristics don't hold.  In general, if the tree has depth $d$ and a branching factor of $b$, then alpha-beta pruning cuts the number of nodes that need to be examined to roughly $b^{d/2}$ (from the naive value of $b^d$) - but even with this optimization, that's obviously a huge factor; consider that for the opening position of chess, $d$ is on the order of 60-100, and the branching factor $b$ is estimated to be in the range of 30-40.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In practice, pure tree search is supplemented by a bottom-up dictionary; for instance, the results of all 6-piece chess endgames are known, and many 7-piece endgames have been analyzed (see &lt;a href=&quot;http://en.wikipedia.org/wiki/Endgame_tablebase&quot;&gt;http://en.wikipedia.org/wiki/Endgame_tablebase&lt;/a&gt;), so the result of a game branch can be looked up in the 'dictionary' (a huge database of positions) once the position has been reduced to few enough pieces, shortcutting a lot of extra tree search that would otherwise be needed.  This is what was done with checkers - databases were built up of all endgames with sufficiently few pieces, then extended to add more pieces and more, until the results of all 10-piece endgames were known; then tree search was used from the initial position, and essentially the two met in the middle.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Beyond these practical approaches, though, there's the (b) side of the question: what is the computational complexity of these sorts of problems?  Abstractly, most problems of this ilk tend to fall into a couple of categories; they're either PSPACE-complete - which roughly means 'if you can solve this, you can solve any problem that takes polynomially much space' - or EXPTIME-complete (which roughly means 'if you can solve this, you can solve any problem that takes exponentially much time'), depending on how long the game can last; again, &lt;a href=&quot;http://en.wikipedia.org/wiki/EXPTIME-complete&quot;&gt;the Wikipedia page on EXPTIME-completeness&lt;/a&gt; has a pretty good discussion of the issues involved and what differentiates different games on this front.&lt;/p&gt;&#xA;" OwnerUserId="1941" LastActivityDate="2011-05-13T18:23:58.423" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6566" PostTypeId="1" CreationDate="2011-05-13T22:32:55.420" Score="19" ViewCount="660" Body="&lt;p&gt;&lt;strong&gt;Reversible computing&lt;/strong&gt; is a computational model that only allows&#xA;thermodynamically reversible operations.  According to Landauer's&#xA;principle, which states that erasing a bit of information releases $kT &#xD;&#xA;\ln(2)$ joules of heat, this rules out transition functions that are not&#xA;one-to-one (e.g., the Boolean AND and OR operators).  It is well known&#xA;that quantum computation is inherently reversible because the allowed&#xA;operations in quantum computation are represented by unitary matrices.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This question is about cryptography.  Informally, the notion of &quot;reversibility&quot; seems anathema to the fundamental goals of cryptography, thus suggesting the question: &quot;Does cryptography have an inherent thermodynamic cost?&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I believe that this is a different question than, &quot;Can everything be done in quantum?&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In his &lt;a href=&quot;http://www.theory.caltech.edu/people/preskill/ph229/notes/chap6.ps&quot; rel=&quot;noreferrer&quot;&gt;lecture notes&lt;/a&gt;, Dr. Preskill states,  &quot;There is a general strategy for simulating an irreversible computation on a reversible computer. Each irreversible gate can be simulated by a Toffoli gate by fixing inputs and ignoring outputs.  We accumulate and save all 'garbage' output bits that are needed to reverse the steps of the computation.&quot;  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This suggests that these reversible quantum simulations of irreversible operations take an input as well as some &quot;scratch&quot; space. Then, the operation generates output along with some &quot;dirty&quot; scratch bits. The operations are all reversible with respect to the output plus garbage bits, but at some point, the garbage bits are &quot;thrown away&quot; and not considered further.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since cryptography depends on the existence of trapdoor one-way&#xA;functions, an alternative statement of the question might be, &quot;Are&#xA;there any trapdoor one-way functions that can be implemented using&#xA;only reversible logical operations, without additional scratch space?&quot;  If so, is it also possible to COMPUTE an arbitrary trapdoor one-way function using only reversible operations (and no scratch space)?&lt;/p&gt;&#xA;" OwnerUserId="2173" LastEditorUserId="7286" LastEditDate="2012-05-07T14:31:21.070" LastActivityDate="2012-05-07T14:31:21.070" Title="Does cryptography have an inherent thermodynamic cost?" Tags="&lt;cr.crypto-security&gt;&lt;quantum-computing&gt;&lt;big-picture&gt;&lt;physics&gt;&lt;quantum-information&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="6567" PostTypeId="2" ParentId="6563" CreationDate="2011-05-13T23:13:14.967" Score="12" Body="&lt;p&gt;This probably isn't a terribly useful answer, but I think it is worth pointing out that chess has a maximum number of moves, and hence there is a finite number of possible games. The &lt;a href=&quot;http://en.wikipedia.org/wiki/Fifty-move_rule&quot; rel=&quot;noreferrer&quot;&gt;fifty move rule&lt;/a&gt; allows either player to claim a draw if 50 or more moves take place without movement of a pawn. We can reasonably assume that this is always used, since if there is any objective measure of the strength of each players positions then the weaker one will claim the draw. Further, the rules of chess require that whenever a pawn is moved it advances one square towards the opponents side of the board (whether moving directly forward, or taking diagonally), and hence each pawn can move at most 6 times. As there are 16 pawns in total, this puts the maximum number of moves at $50\times (16 \times6 + 1) + 1 = 4851$. In each move, the player moves one of at most 16 pieces. For a pawn there are at most 3 moves, 14 for a rook, 8 for a knight, 14 for a bishop, 28 for a queen and 8 for a king, for a total of 132 possible moves. This gives an upper bound of $132^{4851}$ on the total number of chess games. So, while this is a truely enormous number (approx $2^{34172}$), it does mean that the complexity is trivially $O(1)$. On the other hand, with such a naive approach would take approximately fifty thousand years for the problem to become tractable, assuming Moore's law continued indefinitely.&lt;/p&gt;&#xA;" OwnerUserId="204" LastEditorUserId="204" LastEditDate="2011-05-15T19:23:44.930" LastActivityDate="2011-05-15T19:23:44.930" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="6568" PostTypeId="2" ParentId="6566" CreationDate="2011-05-13T23:30:59.677" Score="14" Body="&lt;p&gt;As I mentioned in my comment above, and as you allude to in the question, every computation can be made reversible, and by simply retaining the extra bits, there is no inherent thermodynamic cost.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Every circuit generated by using Toffoli gates and ancillas to replace irreversible gates becomes as efficient to reverse as it is to compute assuming you have access to all output bits. This is clearly not the case for the functions considered in cryptography, since many ancillae are used and discarded. It is by keeping secret this extra bits that makes the computation hard to reverse.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, by computing the function reversibly, making a copy of the subset of bits corresponding to the output, and then inverting the function the total energy cost for computing and inverting the function will be zero, while the only cost incurred will be in making the copy of the output bits, which depends only on the number of output bits and not the function being computed. This is clearly the best you can do, since it costs the same energy as simply writing the output string to an empty register.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Turning to your restated question:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&quot;Are there any trapdoor one-way&#xA;  functions that can be implemented&#xA;  using only reversible logical&#xA;  operations, without additional scratch&#xA;  space?&quot;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The answer is trivially no. If you apply the inverse of each gate in reverse order you compute the inverse of the function. Assuming a model where gates act on a fixed number of qubits at a time, then the inverse of each elementary reversible gate can be applied in constant time. Hence such a function is as easy to invert as to compute (up to a multiplicative constant), and hence is not a trapdoor function.&lt;/p&gt;&#xA;" OwnerUserId="204" LastEditorUserId="204" LastEditDate="2011-05-14T12:14:02.167" LastActivityDate="2011-05-14T12:14:02.167" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="6569" PostTypeId="1" AcceptedAnswerId="6582" CreationDate="2011-05-13T23:39:52.840" Score="17" ViewCount="1032" Body="&lt;p&gt;I have two partitions of $[1 \ldots n]$ and am looking for the edit distance between them. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;By this, I want to find the minimal number of single transitions of a node into a different group that are necessary to go from partition A to partition B.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example the distance from &lt;code&gt;{0 1} {2 3} {4}&lt;/code&gt; into &lt;code&gt;{0} {1} {2 3 4}&lt;/code&gt; would be two&lt;/p&gt;&#xA;&#xA;&lt;p&gt;After searching I came across &lt;a href=&quot;http://www.cs.washington.edu/research/edtech/publications/daa05-cardsort.pdf&quot;&gt;this&lt;/a&gt; paper, but a) I am not sure if they are taking into account the ordering of the groups (something I don't care about) in their distance b) I am not sure how it works and c) There are no references.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any help appreciated&lt;/p&gt;&#xA;" OwnerUserId="4501" LastEditorUserId="186" LastEditDate="2011-05-15T06:07:32.910" LastActivityDate="2011-08-30T08:55:51.790" Title="Edit distance between two partitions" Tags="&lt;ds.algorithms&gt;&lt;edit-distance&gt;&lt;lattice&gt;" AnswerCount="3" CommentCount="5" FavoriteCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="6570" PostTypeId="2" ParentId="6448" CreationDate="2011-05-14T00:19:35.253" Score="7" Body="&lt;p&gt;&lt;strong&gt;Have sensible deadlines:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Submission deadlines&lt;/strong&gt;: I understand that there are different reasons for different submission deadlines, such as flaky servers that need personal attention.  Whatever the deadline is, though, post it clearly and convert it to a familiar time zone for most of your submitters (such as Eastern time, or ET, in the US).  A good philosophy for conference websites is that if you can save n people each 1 search query, then please do!  &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Registration deadlines:&lt;/strong&gt; For early registration deadlines , the only rational deadline is the end of the day, in any time zone.  That is what is announced on blogs and gets put in calendars.  There is no reason to make it 3pm ET (ahem).  &lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="5071" LastActivityDate="2011-05-14T00:19:35.253" CommentCount="0" CommunityOwnedDate="2011-05-14T00:19:35.253" ContentLicense="CC BY-SA 3.0" />
  <row Id="6571" PostTypeId="2" ParentId="6448" CreationDate="2011-05-14T06:48:22.447" Score="20" Body="&lt;p&gt;&lt;strong&gt;Post a printed program near the door of the session room(s).&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Sounds like a basic thing, but for some reason most conferences do not do this. It costs nothing, but would be very helpful for answering quick questions such as &quot;Is this the session where I want to go?&quot;, &quot;What time the coffee break ends?&quot; without looking at the abstract booklet.&lt;/p&gt;&#xA;" OwnerUserId="3189" LastActivityDate="2011-05-14T06:48:22.447" CommentCount="2" CommunityOwnedDate="2011-05-14T06:48:22.447" ContentLicense="CC BY-SA 3.0" />
  <row Id="6572" PostTypeId="1" AcceptedAnswerId="6573" CreationDate="2011-05-14T08:22:52.543" Score="9" ViewCount="318" Body="&lt;p&gt;I was wondering if the order of declarations of an inductive type can matter.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example in Coq you can define &lt;code&gt;Nat&lt;/code&gt; either by:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;Inductive Nat :=&#xA;  | O : Nat&#xA;  | S : Nat -&amp;gt; Nat.&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;or&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;Inductive Nat :=&#xA;  | S : Nat -&amp;gt; Nat&#xA;  | O : Nat.&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;This will perhaps change the order of the parameters in the automatically generated eliminator, but that’s not a big deal.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What I’m wondering is if it is possible to write a declaration like&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;Inductive typewhereordermatters :=&#xA;  | cons1 : type1&#xA;  | cons2 : type2.&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;where &lt;code&gt;type2&lt;/code&gt; is a dependent type, depending on &lt;code&gt;cons1&lt;/code&gt;? (and in this case, write the declarations in the other order would not have any meaning, because &lt;code&gt;type2&lt;/code&gt; would be referring to &lt;code&gt;cons1&lt;/code&gt; which does not exists yet).&lt;/p&gt;&#xA;" OwnerUserId="5072" LastEditorUserId="186" LastEditDate="2011-05-15T05:46:30.520" LastActivityDate="2011-10-05T09:46:43.507" Title="Does the order of declarations in an inductive type matter?" Tags="&lt;lo.logic&gt;&lt;type-theory&gt;&lt;coq&gt;&lt;dependent-type&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="6573" PostTypeId="2" ParentId="6572" CreationDate="2011-05-14T08:38:45.337" Score="10" Body="&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;The order does not matter. I cannot think of a case where it would. As &lt;a href=&quot;https://cstheory.stackexchange.com/users/705/andrej-bauer&quot;&gt;Andrej Bauer&lt;/a&gt; points out in a comment, &lt;em&gt;if you change the order the result is canonically isomorphic to the original&lt;/em&gt;. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;One case cannot depend on another case. The elements of the sum represent a choice, so it doesn't make sense that the choice taken depends upon a choice that is not taken.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="77" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2011-05-14T08:53:47.243" CommentCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="6574" PostTypeId="1" CreationDate="2011-05-14T09:27:43.330" Score="14" ViewCount="438" Body="&lt;p&gt;Is there anything known about the following problem? &#xA;Does it make sense at all?&#xA;What is it called?&#xA;Is it trivially equivalent to some other problem?&#xA;What is the time-complexity?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given an undirected (general/planar/bounded-degree/etc.) graph G=(V,E), find a maximum subset of edges E', such that G'=(V,E-E') is connected and for every edge e in E' there is an odd length cycle in G containing e, that contains no other edge in E'. (I consider simple cycles only, i.e. no vertex appears twice)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This seems similar to bipartization, but the results I have seen there are about the minimum number of vertices/edges needing to be removed, whereas I want the maximum number of edges that can be removed.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, the following graph:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;  * - * - * &#xA; /         \&#xA;* - * - * - *&#xA; \         /&#xA;  * - * - *&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;We could cut one of the edges on the path in the middle, thus removing all odd cycles. However, we can do better by removing two edges, one in the top branch and one in the lower one. &lt;/p&gt;&#xA;" OwnerUserId="1609" LastEditorUserId="186" LastEditDate="2011-05-15T06:03:10.480" LastActivityDate="2011-05-15T15:20:58.927" Title="Hitting odd cycles" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="6575" PostTypeId="1" AcceptedAnswerId="6587" CreationDate="2011-05-14T09:58:07.390" Score="12" ViewCount="843" Body="&lt;p&gt;I don't remember having seen a class separation not based on diagonalization and relativization results.  Diagonalization could still be used to separate remaining known classes, because non-relativizing arguments might still be used in the diagonalization conclusion, or in the diagonalized Turing machine construction.  Here are some related questions:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Are there class separation proofs not based on diagonalization?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;And if so&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Can we find a self-reference mechanism behind them ?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Further,&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;does every class separation have a &quot;canonical natural&quot; proof (in an informal sense)?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;If so, we should try to find non-relativizing arguments, rather than other proof schemes for open questions.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Can every non-diagonal proof be rewritten into a diagonal one ?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="378" LastEditorUserId="186" LastEditDate="2011-05-15T06:00:31.947" LastActivityDate="2011-05-16T10:11:49.693" Title="Does diagonalization captures the essence of class separation ?" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;relativization&gt;&lt;barriers&gt;" AnswerCount="4" CommentCount="3" FavoriteCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="6576" PostTypeId="2" ParentId="6529" CreationDate="2011-05-14T12:34:17.703" Score="6" Body="&lt;p&gt;Many people have tried to find an algebraic language to describe the shape of a graph.  This question is essentially the one that motivates &lt;em&gt;structural graph theory&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;At the heart of this area of discrete mathematics is the study of graph decompositions.  Some of the people working in this area are Neil Robertson, Paul Seymour, Robin Thomas, Maria Chudnovsky, Kristina Vušković, and their collaborators, although this list is biased by my own research interests.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Particular kinds of graph decompositions have led to some of the most general results in graph theory.  For instance, one of the main technical tools developed for the graph minors project, which led to the &lt;a href=&quot;http://en.wikipedia.org/wiki/Robertson%E2%80%93Seymour_theorem&quot; rel=&quot;noreferrer&quot;&gt;Robertson-Seymour theorem&lt;/a&gt;, is the &lt;a href=&quot;http://en.wikipedia.org/wiki/Graph_structure_theorem&quot; rel=&quot;noreferrer&quot;&gt;graph structure theorem&lt;/a&gt;.  This shows that classes of graphs that exclude some minor can be built up from simpler graphs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the &lt;a href=&quot;http://www.columbia.edu/~mc2775/perfect.pdf&quot; rel=&quot;noreferrer&quot;&gt;proof of the Strong Perfect Graph theorem&lt;/a&gt; a somewhat different decomposition was used.  The key result is: &lt;em&gt;For every Berge graph $G$, either $G$ is basic, or one of $G, \overline{G}$ admits a proper 2-join, or $G$ admits a balanced skew partition.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The decompositions studied to date are in some sense non-algebraic.  My personal intuition is that there are indications that there is no &quot;nice&quot; system such as the one you seek.  Making this glib statement precise would likely require a nontrivial enterprise in finite model theory, but I suspect it could also lead to interesting new results in graph theory (whether successful or not).&lt;/p&gt;&#xA;" OwnerUserId="109" LastActivityDate="2011-05-14T12:34:17.703" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6577" PostTypeId="2" ParentId="6575" CreationDate="2011-05-14T14:16:43.087" Score="5" Body="&lt;p&gt;Since diagonalization relativizes, any complexity result implying contradictory relativizations cannot be based on diagonalization. Quoting &lt;a href=&quot;http://www.cs.princeton.edu/theory/complexity/diagchap.pdf&quot; rel=&quot;noreferrer&quot;&gt;Arora-Barak&lt;/a&gt;:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Results proven solely using diagonalization relativize in the sense that they hold also for TM’s with oracle access to $O$, for every oracle $O \subseteq \{0, 1\}^*$ . We can use this to show the limitations of such methods. In particular, relativizing methods alone cannot resolve the P vs. NP question.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;One major separation technique that does not relativize is proving circuit lower bounds. For instance, we know that all problems in $P$ have polynomial circuits. On the other hand, if we prove that an $NP$ problem has super-polynomial circuit (i.e. showing a super-polynomial lower bound), then $P\ne NP$. Unfortunately, Razborov and Rudich showed that this technique is unlikely to solve the P vs. NP problem. (See &lt;a href=&quot;http://en.wikipedia.org/wiki/Natural_proof&quot; rel=&quot;noreferrer&quot;&gt;natural proof&lt;/a&gt;). A recent breakthrough in class separations based on proving circuit lower bounds is discussed in &#xA;&lt;a href=&quot;http://lucatrevisan.wordpress.com/2010/11/08/a-circuit-lower-bound-breakthrough/&quot; rel=&quot;noreferrer&quot;&gt;[1]&lt;/a&gt; and &lt;a href=&quot;http://blog.computationalcomplexity.org/2010/11/breakthrough-circuit-lower-bound.html&quot; rel=&quot;noreferrer&quot;&gt;[2]&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another major technique which does not relativize is arithmetization. The technique was first used to prove that $P^{PH} \subseteq IP$ (&lt;a href=&quot;http://portal.acm.org/citation.cfm?id=146605&quot; rel=&quot;noreferrer&quot;&gt;Lund &lt;em&gt;et al.&lt;/em&gt;&lt;/a&gt;), and later to prove &lt;a href=&quot;http://en.wikipedia.org/wiki/IP_%28complexity%29#Proof_that_IP_.3D_PSPACE&quot; rel=&quot;noreferrer&quot;&gt;IP = PSPACE&lt;/a&gt;. This technique was proved to be insufficient to resolve P vs NP by &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=1374481&quot; rel=&quot;noreferrer&quot;&gt;Aaronson and Wigderson&lt;/a&gt; (termed &lt;em&gt;algebrization barrier&lt;/em&gt;).&lt;/p&gt;&#xA;" OwnerUserId="873" LastEditorUserId="873" LastEditDate="2011-05-14T17:34:40.283" LastActivityDate="2011-05-14T17:34:40.283" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="6579" PostTypeId="2" ParentId="685" CreationDate="2011-05-14T17:43:20.357" Score="8" Body="&lt;p&gt;Interestingly there is a connection between cut-elimination and the interpolation theorem. First of all the interpolation theorem looks like a reverse of the mix rule elimination used during cut-elimination. This elimination says:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;If G |- A and D, A |- B are cut-free proofs,  &#xA;then there is a cut-free proof G, D |- B&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Now one form of interpolation theorem based on cut-free proofs, can be done as follows. Its the upside down version of the elimination. It starts with G, D |- B and gives G |- A and D, A |- B:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;If G; D |- B is a cut free proof,  &#xA;then there is a formula A (the interpolant) &#xA;and cut free proofs G |- A and D, A |- B,  &#xA;and A uses only propositions simultaneously from G and D&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;I put on purpose a semicolon between the premisses G and D. This is where we draw the line, which premisses we want to see as delivering the interpolant, and which premisses we want to see using the interpolant.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;When the input is a cut free proof, the effort of the algroithm is proportional&#xA;to the number of nodes of the cut free proof. So its practical a method linear&#xA;in the input. With each proof step of the cut free proof, the algorithm assembles &#xA;the interpolant by introducing a new connective.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The above observation holds for the simple interpolation construction, where&#xA;we only require that the interpolant has propositions simultaneously from G &#xA;and D. Interpolants with a variable condition require a little bit more steps,&#xA;since some variable hinding needs also to be done.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Probably there is a connection between the minimality of the cut-free proof and&#xA;the size of the interpolant. Not all cut-free proofs are minimal. For example &#xA;uniform proofs are often shorter than cut-free proofs. The lemma for uniform&#xA;proofs is quite simple, a rule application of the form:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt; G |- A       G, B |- C&#xA; ----------------------&#xA;     G, A -&amp;gt; B |- C&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Can be avoided, when B is not used in the proof of C. When B is not used in&#xA;the proof of C, we have already G |- C, and thus by weakening G, A -&gt; B |- C.&#xA;The interpolation algorithm mentioned here, will not pay attention on this.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Best Regards&lt;/p&gt;&#xA;&#xA;&lt;p&gt;References:&#xA;Craig’s Interpolation Theorem formalised and mechanised in Isabelle/HOL, &#xA;Tom Ridge, University of Cambridge, 12 Jul 2006&#xA;&lt;a href=&quot;http://arxiv.org/abs/cs/0607058v1&quot; rel=&quot;nofollow&quot;&gt;http://arxiv.org/abs/cs/0607058v1&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The above refence does not exactly show the same interpolation, since&#xA;it uses multi-sets in the conclusion part of a sequent. Also it does not&#xA;make use of implication. But it is interesting since it supports my complexity&#xA;claim, and since it shows a mechanized verification.&lt;/p&gt;&#xA;" OwnerDisplayName="user4258" LastEditorDisplayName="user4258" LastEditDate="2011-05-16T18:35:21.253" LastActivityDate="2011-05-16T18:35:21.253" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6580" PostTypeId="2" ParentId="6539" CreationDate="2011-05-14T22:03:07.077" Score="15" Body="&lt;p&gt;There is an interesting Springer volume on applications of Gröbner bases in coding and cryptography:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.springer.com/mathematics/algebra/book/978-3-540-93805-7&quot;&gt;Gröbner Bases, Coding, and Cryptography&lt;/a&gt;, / Sala, M.; Mora, T.; Perret, L.; Sakata, S.; Traverso, C. (Eds.).&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Personally I'm doing my research in the algorithms for computing ideals of error locator polynomials (quite well-known concept in coding theory, especially syndrome decoding). In the case of codes from algeraic geometry error locators ideal is usually an ideal of polynomial from several variables — that's the place, where Gröbner Bases play central role. In the abovementioned volume most interesting part for me is the S. Sakata's description of BMS-algorithm and a survey of its applications for decoding algebraic geometry codes.&lt;/p&gt;&#xA;" OwnerUserId="869" LastActivityDate="2011-05-14T22:03:07.077" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6581" PostTypeId="2" ParentId="6563" CreationDate="2011-05-14T22:57:24.347" Score="27" Body="&lt;p&gt;As @Joe points out, chess is trivial to solve in $O(1)$ time using a lookup table.  (An actual implementation of this algorithm would require a universe significantly larger than the one we live in, but this is a site for &lt;em&gt;theoretical&lt;/em&gt; computer science.  The &lt;em&gt;size&lt;/em&gt; of the constant is irrelevant.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is obviously no canonical $n\times n$ generalization of chess, but several variants have been considered; their complexity depends on how the rules about &lt;a href=&quot;http://en.wikipedia.org/wiki/Fifty-move_rule&quot;&gt;moves without captures&lt;/a&gt; and &lt;a href=&quot;http://en.wikipedia.org/wiki/Threefold_repetition&quot;&gt;repeating positions&lt;/a&gt; are generalized.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If a draw is declared after a polynomial number of capture-free moves, or after any position repeats a polynomial number of times, then any $n\times n$ chess game ends after a polynomial number of moves, so the problem is clearly in PSPACE.  &lt;a href=&quot;http://dx.doi.org/10.1016/0022-0000(83)90030-2&quot;&gt;Storer&lt;/a&gt; proved that this variant is PSPACE-hard.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the variant with no limits on repeated positions or capture-free moves, the number of legal $n\times n$ chess positions is exponential in $n$, so the problem is clearly in EXPTIME.  &lt;a href=&quot;http://dx.doi.org/10.1016/0097-3165(81)90016-9&quot;&gt;Fraenkel and Lichtenstein&lt;/a&gt; proved that this variant is EXPTIME-hard. &lt;/p&gt;&#xA;" OwnerUserId="111" LastActivityDate="2011-05-14T22:57:24.347" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="6582" PostTypeId="2" ParentId="6569" CreationDate="2011-05-15T04:05:27.257" Score="21" Body="&lt;p&gt;This problem can be transformed into the &lt;a href=&quot;http://en.wikipedia.org/wiki/Assignment_problem&quot;&gt;assignment problem&lt;/a&gt;, also known as maximum weighted bipartite matching problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note first that the edit distance equals the number of elements which need to change from one set to another.  This equals the total number of elements minus the number of elements which do not need to change.  So finding the minimum number of elements which do not change is equivalent to finding the maximum number of vertices that do not change.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $A = \{ A_1, A_2, ..., A_k \}$ and $B = \{ B_1, B_2, ..., B_l \}$ be partitions of $[1, 2, ..., n]$.  Also, without loss of generality, let $k \ge l$ (allowed because $edit(A, B) = edit(B, A)$).  Then let $B_{l+1}$, $B_{l+2}$, ..., $B_k$ all be the empty set.  Then the maximum number of vertices that do not change is:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\max_f \sum_{i=1}^k |A_i \cap B_{f(i)} |$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where $f$ is a permutation of $[1, 2, ..., k]$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is exactly the assignment problem where the vertices are $A_1$, ..., $A_k$, $B_1$, ..., $B_k$ and the edges are pairs $(A_i, B_j)$ with weight $|A_i \cap B_j|$.  This can be solved in $O(|V|^2 \log |V| + |V||E|)$ time.&lt;/p&gt;&#xA;" OwnerUserId="4765" LastActivityDate="2011-05-15T04:05:27.257" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="6583" PostTypeId="2" ParentId="6574" CreationDate="2011-05-15T07:21:35.530" Score="7" Body="&lt;p&gt;An upper bound on $|E&amp;#39;|$ is the sum of the cycle ranks of the non-bipartite 2-vertex-connected components, since the cycles for the edges in $E&amp;#39;$ are necessarily linearly independent. But I think this is not tight: the 3-sun (a six-vertex maximal outerplanar graph formed from a 6-cycle by connecting three of its vertices in a triangle) has cycle rank four but the maximum size of $E&amp;#39;$ appears to be three.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2011-05-15T07:21:35.530" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6584" PostTypeId="2" ParentId="6569" CreationDate="2011-05-15T09:59:52.007" Score="1" Body="&lt;p&gt;Cranky Sunday morning idea that might or might not be correct: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Wlog, let $P_1$ be the partition with more sets, $P_2$ the other. First, assign pairwise different names $n_1(S) \in \Sigma$ to your sets $P_1$. Then, find a best naming $n_2(S)$ for the sets $P_2$ by the following rules:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$n_2(S) := n_1(S&amp;#39;)$ for $S \in P_2$ with $S \cap S&amp;#39;$ maximal amongst all $S&amp;#39; \in P_1$; pick the one creating the least conflicts if multiple choices are possible.&lt;/li&gt;&#xA;&lt;li&gt;If now $n_2(S) = n_2(S&amp;#39;)$ for some $S \neq S&amp;#39;$, assign the one that shares less elements with $S&amp;#39;&amp;#39;, n_1(S&amp;#39;&amp;#39;) = n_2(S)$, the name of the set in $P_1$ it shares the second most elements with, i.e. have it compete for that set's name.&lt;/li&gt;&#xA;&lt;li&gt;If the former rule can not be applied, check for both sets wether they can compete for the name of other sets they share less elements with (they might still have more elements from some $S&amp;#39;&amp;#39; \in P_1$ than the sets that got assigned its name!). If so, assign that name to the one of $S, S&amp;#39;$ that shares more elements with the respective set whose name they can compete for; the other keeps the formerly conflicting name.&lt;/li&gt;&#xA;&lt;li&gt;Iterate this procedure until all conflicts are resolved. Since $P_1$ does not have less sets than $P_2$, there are enough names.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Now, you can consider the bit strings of your elements wrt either partition, i.e. $w_1 = n_1(1) \cdot \dots \cdot n_1(n)$ and $w_2 = n_2(1) \cdot \dots \cdot n_2(n)$ (with $n_j(i) = n_j(S), i \in S \in P_j$). Then, the desired quantity is $d_H(w_1, w_2)$, i.e. the Hamming distance between the bit strings.&lt;/p&gt;&#xA;" OwnerUserId="1546" LastActivityDate="2011-05-15T09:59:52.007" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6586" PostTypeId="2" ParentId="2257" CreationDate="2011-05-15T17:56:15.937" Score="2" Body="&lt;p&gt;I've been &lt;em&gt;toying&lt;/em&gt; with a combination of &lt;a href=&quot;http://www.r-project.org/&quot; rel=&quot;nofollow&quot;&gt;R&lt;/a&gt;, to do the analysis and some visualisation,&#xA;and &lt;a href=&quot;http://gephi.org/&quot; rel=&quot;nofollow&quot;&gt;gephi&lt;/a&gt;, for visualisation. R seems very powerful, with the right abstractions for doing statistical manipulations. It has three packages (at least) for doing social network analysis, &lt;code&gt;sna&lt;/code&gt;, &lt;code&gt;igraph&lt;/code&gt;, and &lt;code&gt;network&lt;/code&gt;. Gephi has a nice feature for drawing dynamic social networks, but I haven't fully explored its capabilities yet.&lt;/p&gt;&#xA;" OwnerUserId="77" LastEditorUserId="77" LastEditDate="2011-05-15T19:24:23.457" LastActivityDate="2011-05-15T19:24:23.457" CommentCount="0" CommunityOwnedDate="2011-05-15T17:56:15.937" ContentLicense="CC BY-SA 3.0" />
  <row Id="6587" PostTypeId="2" ParentId="6575" CreationDate="2011-05-15T21:10:49.740" Score="15" Body="&lt;p&gt;Depends on how you formalize diagonalization. Kozen has a &lt;a href=&quot;http://dx.doi.org/10.1016/0304-3975%2880%2990017-1&quot;&gt;paper&lt;/a&gt; that shows any complexity class separation must be a diagonalization proof. &lt;/p&gt;&#xA;" OwnerUserId="550" LastActivityDate="2011-05-15T21:10:49.740" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6588" PostTypeId="2" ParentId="6575" CreationDate="2011-05-15T23:21:10.530" Score="5" Body="&lt;p&gt;To add to Fortnow's answer, continuing Kozen's work, &lt;a href=&quot;http://www.computer.org/portal/web/csdl/abs/proceedings/complexity/2003/1879/00/18790337abs.htm&quot; rel=&quot;noreferrer&quot;&gt;Nash, Impagliazzo, and Remmel&lt;/a&gt; formalized a notion of strong diagonalization and gave some evidence that it does not relativize. To partially answer your first question, their results show that some class separation proofs can not be based on strong diagonalization. Here is the abstract:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;We define and study strong diagonalization and compare it to weak diagonalization, implicit in [7]. Kozen's result in [7] shows that virtually every separation can be recast as weak diagonalization. We show that there are classes of languages which can not be separated by strong diagonalization and provide evidence that strong diagonalization does not relativize. We also define two kinds of indirect diagonalization and study their power.&lt;/p&gt;&#xA;&lt;p&gt;Since we define strong diagonalization in terms of universal languages, we study their complexity. We distinguish and compare weak and strict universal languages. Finally we analyze some apparently weaker variants of universal languages, which we call pseudouniversal languages, and show that under weak closure conditions they easily yield universal languages.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;1-Nash, A., Impagliazzo, R., Remmel; J. &amp;quot;Universal Languages and the Power of&#xA;Diagonalization.&amp;quot; 18th Annual IEEE Conference on Computational Complexity&#xA;(CCC'03), p. 337, 2003.&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2011-05-15T23:28:12.893" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6589" PostTypeId="1" CreationDate="2011-05-16T01:55:42.820" Score="60" ViewCount="2687" Body="&lt;p&gt;What are general guidelines for checking your proofs? I believe this is important for graduate students like me. I already know what we need to do to prove something, but you always have to check everything before you send it out. Even to your own advisor.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I've developed myself some strategies by trial and error, and got a lot of advice from my advisor. But this is always a very tedious work. Normally, when you finish with something, you just want to go on to the next problem, but you still have to stick to the current problem until everything is perfect. Here I present an example of my own list of tricks:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Fill in the details. A lot of mistakes are in places were you write &quot;it is clear that...&quot;, &quot;without loss of generality...&quot;, etc.&lt;/li&gt;&#xA;&lt;li&gt;Try some numbers. Try extreme cases, like &quot;what happens when I set $n=1$ or $n=1000$&quot;.&lt;/li&gt;&#xA;&lt;li&gt;Keep a clean notebook. Write every day on it, and compare it with your rough notes. I try to write also in latex, I've found many mistakes this way.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;What are the general strategies that you apply for checking your proofs?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The objective of this question is to make it a community-wiki.&lt;/p&gt;&#xA;" OwnerUserId="135" LastEditorUserId="5146" LastEditDate="2011-05-20T10:38:34.947" LastActivityDate="2016-03-15T09:38:30.700" Title="How to shoot down your proofs" Tags="&lt;soft-question&gt;&lt;research-practice&gt;&lt;writing&gt;" AnswerCount="7" CommentCount="5" FavoriteCount="27" CommunityOwnedDate="2011-05-16T16:12:12.957" ContentLicense="CC BY-SA 3.0" />
  <row Id="6591" PostTypeId="2" ParentId="6589" CreationDate="2011-05-16T04:18:46.163" Score="23" Body="&lt;p&gt;There is a very good paper by Leslie Lamport (&lt;a href=&quot;http://research.microsoft.com/en-us/um/people/lamport/pubs/pubs.html#lamport-how-to-write&quot; rel=&quot;nofollow noreferrer&quot;&gt;How to write a proof&lt;/a&gt;). It is actually a proposal by him on a style of writing detailed proofs in such a way that:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(1) Allows detecting errors in a straight-forward way &lt;/p&gt;&#xA;&#xA;&lt;p&gt;(2) Makes it clear which assumptions and theorems used in which parts, which makes it pretty easy to see what happens if you want to (for instance) use weaker assumptions&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is also some &lt;a href=&quot;https://mathoverflow.net/questions/35727/community-experiences-writing-lamports-structured-proofs&quot;&gt;community experience&lt;/a&gt; and inspiring commentary on this technique on MO which shows positive experience in general (and some other resources as well). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Update: there is a new version &lt;a href=&quot;http://research.microsoft.com/en-us/um/people/lamport/pubs/proof.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;How to write a 21st century proof&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="201" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2016-03-15T09:38:30.700" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="6593" PostTypeId="2" ParentId="6589" CreationDate="2011-05-16T09:06:05.377" Score="11" Body="&lt;p&gt;I think one of the safest approaches is to come up with multiple independent proofs. Then you can be confident that your main result is correct, even if you have a mistake in some details of a proof.&lt;/p&gt;&#xA;" OwnerUserId="74" LastActivityDate="2011-05-16T09:06:05.377" CommentCount="0" CommunityOwnedDate="2011-05-16T19:45:24.510" ContentLicense="CC BY-SA 3.0" />
  <row Id="6594" PostTypeId="2" ParentId="6448" CreationDate="2011-05-16T09:23:40.277" Score="16" Body="&lt;p&gt;I summarised a few thoughts after arranging ALGO 2009, see &lt;a href=&quot;http://thorehusfeldt.net/2009/09/24/post-algo-post-etiquettes-and-etiquette/&quot;&gt;Post ALGO post: etiquettes and etiquette&lt;/a&gt;. If I have to highlight only one idea (not already mentioned on this wonderful thread): &lt;b&gt;visible, legible name tags&lt;/b&gt;, together with repeated, strong signals from the organisers to &lt;i&gt;actually wear them&lt;/i&gt;. In particular, I think the organisers can ask the bigwigs in the programme committee, the invited speakers, and the steering committee to do so.&lt;/p&gt;&#xA;" OwnerUserId="5095" LastActivityDate="2011-05-16T09:23:40.277" CommentCount="1" CommunityOwnedDate="2011-05-16T09:23:40.277" ContentLicense="CC BY-SA 3.0" />
  <row Id="6595" PostTypeId="2" ParentId="6575" CreationDate="2011-05-16T09:41:09.473" Score="5" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;Are there class separation proofs not based on diagonalization?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Yes, there are, but not for uniform complexity classes. We don't have an argument to rule out such proofs but so far all separations between uniform complexity classes seem to use diagonalization at some place.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Can we find a self-reference mechanism behind them?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I don't think the nonuniform complexity class separations can be turned into &quot;self-reference&quot; arguments because they are not uniform classes and cannot be enumerated, and for a self-reference argument we need to enumerate the members of the class.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;does every class separation have a &quot;canonical natural&quot; proof (in an informal sense)?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Depends on what you mean by &quot;canonical&quot;. AFAIK, there is not any consensus on the answers to the question &quot;when two proofs are identical in essence?&quot;.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;If so, we should try to find non-relativizing arguments, rather than other proof schemes for open questions.&#xA;  Can every non-diagonal proof be rewritten into a diagonal one ?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;As others have pointed out, the answer depends on what you mean by a diagonalization. In the more general sense (Kozen's paper linked by Lance), the answer is yes for any two different &quot;complexity classes&quot; (as defined in Kozen's paper). You can turn the argument into a &quot;diagonalization&quot; argument. But:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;this does not apply to complexity classes which does not satisfy the requirements stated in Kozen's paper (i.e. are not Kozen &quot;complexiy classes&quot;).&lt;/li&gt;&#xA;&lt;li&gt;it is a &lt;em&gt;very&lt;/em&gt; general kind of diagonalization. Kozen shows in the same paper that there are not &quot;diagonalizations&quot; which would satisfy some expected conditions for separating the classes like $P$ and $PSpace$. There are results by Lance Fornow and others (e.g. time-space trade off results) (including some of Ryan William's work) where diagonalization is used in an indirect way. This can be turned into direct &quot;diagonalization&quot; but it will not satisfy the nice properties that one might expect (like independence of counterexample for a set in the smaller class from the codes of the machines for that class, and it seems that is the reason they don't relativize). &lt;/li&gt;&#xA;&lt;li&gt;the important thing is that &lt;em&gt;the more general a method is, the more limited its applications are&lt;/em&gt; (if it is used by itself) because the method needs to work for more cases and this is a restriction on the method, we can not use the specific information we have about the problem if it is not shared or cannot be replaced by something similar for other problems that we want to apply the method to them. &lt;/li&gt;&#xA;&lt;li&gt;We can turn the separation arguments into &quot;diagonalization&quot; arguments (considering the restriction I mentioned above), but the fact that &quot;the diagonalizing function really separates the classes&quot; itself needs a proof. Kozen's paper show that there &lt;em&gt;exists&lt;/em&gt; a diagonalizing function if the classes are different, but how can we &lt;em&gt;know&lt;/em&gt; that a given function is really diagonalizing? We need a proof! And the paper (AFAIU) doesn't give us any idea on how to come up with those proofs. If we have a separation argument we can turn it into a diagonalization proof, but that is only &lt;em&gt;after&lt;/em&gt; having a proof. The original proof will serve as a part of the new diagonalization proof, it will show that the function is really diagonalizing. (And in a sense, the diagonalization proof constructed from Kozen's paper will not be &quot;canonical&quot; since it will be completely dependent on the original argument.)&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2011-05-16T10:11:49.693" LastActivityDate="2011-05-16T10:11:49.693" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="6596" PostTypeId="1" AcceptedAnswerId="6597" CreationDate="2011-05-16T10:19:38.873" Score="38" ViewCount="6979" Body="&lt;p&gt;So, &lt;a href=&quot;http://en.wikipedia.org/wiki/Bloom_filter&quot;&gt;Bloom filters&lt;/a&gt; are pretty cool -- they are sets that support membership checking with no false negatives, but a small chance of a false positive. Recently though, I've been wanting a &quot;Bloom filter&quot; that guarantees the opposite: no false positives, but potentially false negatives. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;My motivation is simple: given a huge stream of items to process (with duplicates), we'd like to avoid processing items we've seen before. It doesn't hurt to process a duplicate, it is just a waste of time. Yet, if we neglected to process an element, it would be catastrophic. With a &quot;reverse Bloom filter&quot;, one could store the items seen with little space overhead, and avoid processing duplicates with high probability by testing for membership in the set.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Yet I can't seem to find anything of the sort. The closest I've found are &quot;&lt;a href=&quot;http://www.google.com/url?sa=t&amp;amp;source=web&amp;amp;cd=4&amp;amp;ved=0CDEQFjAD&amp;amp;url=http%3A%2F%2Farxiv.org%2Fpdf%2Fcs%2F0607038&amp;amp;ei=TfnQTbSQLIy5tweI-_X2DQ&amp;amp;usg=AFQjCNH6cpseQMqDrkFsTOwMAaedZyUoKQ&quot;&gt;retouched Bloom filters&lt;/a&gt;&quot;, which allow one to trade selected false positives for a higher false negative rate. I don't know how well their data structure performs when one wants to remove &lt;em&gt;all&lt;/em&gt; false positives, however. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Anyone seen anything like this? :)&lt;/p&gt;&#xA;" OwnerUserId="3062" LastEditorUserId="186" LastEditDate="2011-05-18T03:39:10.290" LastActivityDate="2015-09-02T17:52:06.843" Title="A probabilistic set with no false positives?" Tags="&lt;ds.data-structures&gt;" AnswerCount="6" CommentCount="6" FavoriteCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="6597" PostTypeId="2" ParentId="6596" CreationDate="2011-05-16T12:12:41.663" Score="28" Body="&lt;p&gt;One answer is to use a big hash table and when it fills up start replacing elements in it rather than finding (nonexistent) empty slots elsewhere for them. You don't get the nice fixed-rate of false answers that you do with Bloom filters, but it's better than nothing. I believe this is standard e.g. in chess software for keeping track of positions that have already been searched.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2011-05-16T12:12:41.663" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="6599" PostTypeId="2" ParentId="6596" CreationDate="2011-05-16T15:29:44.403" Score="14" Body="&lt;p&gt;You just want a &lt;a href=&quot;http://en.wikipedia.org/wiki/Cache&quot;&gt;cache&lt;/a&gt;, but are thinking about it in a weird way.&lt;/p&gt;&#xA;" OwnerUserId="4967" LastActivityDate="2011-05-16T15:29:44.403" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="6600" PostTypeId="2" ParentId="6589" CreationDate="2011-05-16T15:43:36.023" Score="40" Body="&lt;p&gt;Software engineers have a notion they call &quot;&lt;a href=&quot;http://en.wikipedia.org/wiki/Code_smell&quot;&gt;&lt;strong&gt;code smells&lt;/strong&gt;&lt;/a&gt;&quot;.  These are symptoms in the code that may indicate a deeper problem.  Software engineers collect mental lists of smells to be aware of (i.e. excessively long methods or too many parameters).  It does not necessarily mean there is a problem, but simply indicate that the writer might want to double check.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I propose that we ought to also consider &lt;strong&gt;&quot;proof smells&quot;&lt;/strong&gt;.  This will not give you an algorithm for checking your proofs but it gives a language and a metaphor for recognizing possible problems in proofs.  Some examples of proofs smells:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;The adverbs &quot;Clearly&quot;, &quot;Obviously&quot;, etc.&lt;/li&gt;&#xA;&lt;li&gt;Reference to the proof of a previous result instead of a reference to the result itself.&lt;/li&gt;&#xA;&lt;li&gt;Flippant use of a result with many technical preconditions.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;There are also more subtle smells.  For example, if a proof uses the binomial theorem to expand an expression and then later uses the binomial theorem to return to a closed form, then maybe there is a direct manipulation on the closed form that gives the same result. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;My suggestion is to collect a (mental or written) list of such smells and check for them as you read through your work.  The nice side effect of this approach is that it will also make you a better reader.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Note: My hope in this answer was to give intuitive side to the rigorous answer supplied by Lamport's How to Write a Proof referenced in M. Alaggan's answer.&lt;/em&gt;&lt;/p&gt;&#xA;" OwnerUserId="4952" LastEditorUserId="2241" LastEditDate="2011-11-02T16:37:17.637" LastActivityDate="2011-11-02T16:37:17.637" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="6601" PostTypeId="2" ParentId="6589" CreationDate="2011-05-16T15:59:20.227" Score="6" Body="&lt;p&gt;I always re-check my proofs with a proof-checker like &lt;a href=&quot;http://en.wikipedia.org/wiki/Coq&quot; rel=&quot;nofollow&quot;&gt;COQ&lt;/a&gt; or &lt;a href=&quot;http://en.wikipedia.org/wiki/Isabelle_%28proof_assistant%29&quot; rel=&quot;nofollow&quot;&gt;ISABELLE&lt;/a&gt;. If you can prove your proof in any of these programming language, you can be sure your proof is correct. As simple as a lambda-term ;).&lt;/p&gt;&#xA;" OwnerUserId="4873" LastEditorUserId="17082" LastEditDate="2014-02-19T10:01:43.570" LastActivityDate="2014-02-19T10:01:43.570" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="6602" PostTypeId="2" ParentId="6589" CreationDate="2011-05-16T16:18:32.483" Score="15" Body="&lt;p&gt;Dick Lipton has a nice article titled '&lt;a href=&quot;http://rjlipton.wordpress.com/2010/07/11/proving-a-proof-is-a-proof/&quot;&gt;How to Prove a proof is a proof&lt;/a&gt;'&lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2011-05-16T16:18:32.483" CommentCount="0" CommunityOwnedDate="2011-05-16T16:18:32.483" ContentLicense="CC BY-SA 3.0" />
  <row Id="6603" PostTypeId="2" ParentId="6596" CreationDate="2011-05-16T17:40:49.253" Score="2" Body="&lt;p&gt;DISCLAIMER: I am not an expert in caches so this might be a naïve idea, and also may be a known idea which I've never heard of before. So excuse me if I fail to cite its reference (if it exists); and please inform me if there is a reference for it to edit the post and add it. (I am suspecting it might have a reference because it is so intuitive).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A quick solution after being inspired by Strilanc maybe to just keep a associative map of maximum $c$ entries (where $c$ is some constant) associating an item with the number of times it has has been seen. When the associative map is full and you meet a new item not in the map, flip a coin to add it or not. If you are to add it, then remove an item with probability inversely proportional to how many times it has been seen so far.&lt;/p&gt;&#xA;" OwnerUserId="201" LastActivityDate="2011-05-16T17:40:49.253" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6604" PostTypeId="2" ParentId="6539" CreationDate="2011-05-16T20:17:39.503" Score="14" Body="&lt;p&gt;&lt;em&gt;Just heard during the 8F workshop&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.mit.edu/~medard/mpapers/An%20AlgebraicApproach.pdf?tp=&amp;amp;arnumber=1019253&quot;&gt;The original proof&lt;/a&gt; that network coding can be implemented in a flow network uses Gröbner bases.&lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2011-05-16T20:17:39.503" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6605" PostTypeId="2" ParentId="6539" CreationDate="2011-05-17T01:23:12.587" Score="5" Body="&lt;p&gt;Gröbner bases have been successfully used to solve important problems in multiple view geometry in &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.61.9247&amp;amp;rep=rep1&amp;amp;type=pdf&quot;&gt;computer vision&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="4033" LastActivityDate="2011-05-17T01:23:12.587" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6606" PostTypeId="2" ParentId="6596" CreationDate="2011-05-17T01:30:36.887" Score="0" Body="&lt;p&gt;I've used AVL (and sometimes red-black) trees with partial items to act as as a filter with no false negatives. Use only the the first X bytes of the item when inserting or querying the tree. Because the data structure isn't probabilistic in form, there isn't the risk of a false-positive by bit collision. And unlike caching the entire item, this approach gives you a calculable maximum space. You can tune the rate of false positives by considering different prefix lengths / tree-depths in comparison to the cost of false positives and space.&lt;/p&gt;&#xA;" OwnerUserId="5103" LastActivityDate="2011-05-17T01:30:36.887" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6607" PostTypeId="1" AcceptedAnswerId="6613" CreationDate="2011-05-17T05:31:23.110" Score="30" ViewCount="2011" Body="&lt;p&gt;Other than ACM, IEEE computer Society, Google Scholar which is the best site to get bibtex entries for computer science related articles ?&lt;/p&gt;&#xA;" OwnerUserId="3162" LastEditorUserId="80" LastEditDate="2011-05-18T14:11:33.347" LastActivityDate="2012-01-04T19:16:48.303" Title="What is the best place to get BibTeX entries for computer science articles ?" Tags="&lt;soft-question&gt;&lt;research-practice&gt;&lt;paper-review&gt;&lt;bibliography&gt;" AnswerCount="9" CommentCount="5" FavoriteCount="17" ContentLicense="CC BY-SA 3.0" />
  <row Id="6608" PostTypeId="2" ParentId="6607" CreationDate="2011-05-17T05:48:55.100" Score="4" Body="&lt;p&gt;I don't know if these are the &lt;em&gt;best&lt;/em&gt; option, but you can give them a try:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;CiteSeer has some BibTeX entries. Moreover, specific publishers (such as Springer or ScienceDirect) offer an &quot;Export Citation&quot; option, in which you may choose different formats (BibTeX, EndNote, etc.) to  export the citation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here's an example:&#xA;&lt;a href=&quot;http://www.springerlink.com/content/pleucejg0nlfna9m/export-citation&quot; rel=&quot;nofollow&quot;&gt;http://www.springerlink.com/content/pleucejg0nlfna9m/export-citation&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One more note: Google Scholar does not let you to export the citation &lt;strong&gt;by default&lt;/strong&gt;. You have to set the option in the Google Scholar &lt;strong&gt;preferences&lt;/strong&gt;.&lt;/p&gt;&#xA;" OwnerUserId="873" LastActivityDate="2011-05-17T05:48:55.100" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6609" PostTypeId="2" ParentId="6607" CreationDate="2011-05-17T06:23:53.740" Score="4" Body="&lt;p&gt;There are collected bibliographies like:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;ECCC &lt;a href=&quot;http://eccc.hpi-web.de/static/links/bibliography_data_bases/&quot; rel=&quot;nofollow&quot;&gt;Bibliography Data Bases&lt;/a&gt; page,&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://liinwww.ira.uka.de/bibliography/&quot; rel=&quot;nofollow&quot;&gt;The Collection of Computer Science Bibliographies&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="186" LastActivityDate="2011-05-17T06:23:53.740" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6610" PostTypeId="2" ParentId="6607" CreationDate="2011-05-17T07:50:39.660" Score="5" Body="&lt;p&gt;If you are looking for BibTex entries for articles/papers whose titles and/or authors are already known to you (i.e., you just need the BibTex entry), DBLP is my favorite choice and very convenient&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.informatik.uni-trier.de/~ley/db/&quot;&gt;http://www.informatik.uni-trier.de/~ley/db/&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See, e.g., &lt;a href=&quot;http://www.informatik.uni-trier.de/~ley/db/journals/jacm/jacm58.html&quot;&gt;http://www.informatik.uni-trier.de/~ley/db/journals/jacm/jacm58.html&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="5106" LastActivityDate="2011-05-17T07:50:39.660" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6611" PostTypeId="2" ParentId="6607" CreationDate="2011-05-17T08:12:21.853" Score="2" Body="&lt;p&gt;&lt;a href=&quot;http://www.ams.org/mathscinet/&quot; rel=&quot;nofollow&quot;&gt;MathSciNet&lt;/a&gt; and the &lt;a href=&quot;http://apps.isiknowledge.com&quot; rel=&quot;nofollow&quot;&gt;SCI&lt;/a&gt; are fairly standard resources (but are behind paywalls).&lt;/p&gt;&#xA;" OwnerUserId="233" LastActivityDate="2011-05-17T08:12:21.853" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6612" PostTypeId="1" CreationDate="2011-05-17T08:18:36.097" Score="2" ViewCount="254" Body="&lt;p&gt;I am about to choose a project regarding &quot;Reversible logic circuit synthesis&quot;. I've studied well about &quot;Switching circuits and Logic design&quot; and I found it very intriguing but I've got no idea about the other topic. Can someone please elaborate it and explain what it refers or point some sources. Thank you guys in advance. :)&lt;/p&gt;&#xA;" OwnerUserId="5017" LastEditorUserId="186" LastEditDate="2011-05-18T03:09:52.083" LastActivityDate="2011-05-18T03:09:52.083" Title="Reversible Logic Circuit Synthesis" Tags="&lt;reference-request&gt;&lt;lo.logic&gt;&lt;circuit-families&gt;&lt;project-topic&gt;" AnswerCount="2" CommentCount="3" FavoriteCount="1" ClosedDate="2011-05-18T02:57:29.827" ContentLicense="CC BY-SA 3.0" />
  <row Id="6613" PostTypeId="2" ParentId="6607" CreationDate="2011-05-17T08:19:44.203" Score="36" Body="&lt;p&gt;You don't get correct TCS Bibtex entries from anywhere.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;CiteSeer, Google Scholar, etc.: the Bibtex entries are garbage, worse than useless.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Examples: Many conference papers in Google Scholar are exported as an &lt;code&gt;@article&lt;/code&gt;, with (some version of) the title of the book in the &lt;code&gt;journal&lt;/code&gt; field. Google Scholar abbreviates the first names of the authors. And then of course we have ridiculous things like &lt;code&gt;author = {Submission, H.C.F.}&lt;/code&gt; – Google Scholar populates the fields by picking some words from the cover page of the paper.&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Publishers: the entries are a bit better, but you cannot rely on them – you must check every single field manually anyway. IEEE tends to be worst, ACM and Springer are little bit better, but even with the latter, you need to do manual editing and cross-checking. Springer has a strange idea of what is the title of a proceedings book. ACM gives book titles in a strange mixture of upper-case and lower-case letters. And, as usual, if there are accents in the authors' names, or any math in the title, all bets are off.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Examples of &lt;code&gt;booktitle&lt;/code&gt; fields for conference papers: Springer might produce something like &lt;code&gt;booktitle = {Distributed Computing}&lt;/code&gt; for a proceedings volume – it requires a lot of imagination to figure out that it actually means &quot;Proc. 23rd International Symposium on Distributed Computing (DISC 2009)&quot;. IEEE exports unreadable titles such as &lt;code&gt;booktitle = {Sensor, Mesh and Ad Hoc Communications and Networks, 2007. SECON '07. 4th Annual IEEE Communications Society Conference on}&lt;/code&gt;. ACM is usually fairly good, but you need to fix the mixture of upper and lower case letters: &lt;code&gt;booktitle = {Proceedings of the twenty-first annual symposium on Parallelism in algorithms and architectures}&lt;/code&gt;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Examples of titles with math: ACM might produce &lt;code&gt;(\&amp;amp;\#948;+1)&lt;/code&gt; instead of &lt;code&gt;{$(\Delta+1)$}&lt;/code&gt;. IEEE might produce &lt;code&gt;Otilde(radic(log n))&lt;/code&gt; instead of &lt;code&gt;{$\tilde{O}(\sqrt{\log n})$}&lt;/code&gt;. I am not kidding you.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;MathSciNet: high-quality Bibtex entries for journal articles, but the coverage of TCS is poor, and conference papers are not necessarily that well indexed.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&quot;Core TCS&quot; conferences such as FOCS, STOC, and SODA seem to be covered fairly well, but anything else is more patchy. For example, there seem to be few papers indexed from PODC or SPAA.&lt;/li&gt;&#xA;&lt;li&gt;The entries of the conference papers are not perfect. You can find something like &lt;code&gt;@incollection&lt;/code&gt; instead of &lt;code&gt;@inproceedings&lt;/code&gt;, or proceeding books such as &lt;code&gt;BOOKTITLE = {Distributed computing}&lt;/code&gt;.&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;DBLP: reasonably good, but once again, a lot of data comes from the publishers, and you need to double-check it anyway (beware of accents).&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Examples of accents: &lt;code&gt;Michal Hanckowiak&lt;/code&gt; instead of &lt;code&gt;Micha{\l} Ha{\'n}{\'c}kowiak&lt;/code&gt;.&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;As JɛﬀE pointed out in the comments, the &lt;em&gt;correct&lt;/em&gt; title of a conference volume is a matter of taste (and a matter of interpretation). For example, LNCS volumes may have useless main titles and ridiculously long subtitles; therefore even if you had pedantically correct bibliographic entries, you most likely would like to edit some of them slightly, for readability and for consistency.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But as soon as you start to tweak the titles of the conference volumes, it becomes obvious that even for &lt;em&gt;your own purposes&lt;/em&gt;, there are many possible right answers. When you are running out of space, you might prefer &quot;Proc. STOC 2010&quot; to &quot;Proceedings of the 42th ACM Symposium on Theory of Computing (STOC, Cambridge, MA, USA, June 2010)&quot;. &lt;a href=&quot;https://tex.stackexchange.com/questions/4456/how-do-you-cite-conference-proceedings/4460#4460&quot;&gt;This answer&lt;/a&gt; at the TeX site gives one example of how to deal with multiple versions of the titles, so that you can easily switch between different variants.&lt;/p&gt;&#xA;" OwnerUserId="74" LastEditorUserId="-1" LastEditDate="2017-04-13T12:36:12.330" LastActivityDate="2011-05-18T10:16:47.530" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="6614" PostTypeId="1" AcceptedAnswerId="6626" CreationDate="2011-05-17T08:56:03.373" Score="2" ViewCount="458" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Possible Duplicate:&lt;/strong&gt;&lt;br&gt;&#xA;  &lt;a href=&quot;https://cstheory.stackexchange.com/questions/739/data-for-testing-graph-algorithms&quot;&gt;Data for testing graph algorithms&lt;/a&gt;  &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&#xA;&#xA;&lt;p&gt;I recently developed a parallel algorithm to solve the vertex cover problem.&lt;br&gt;&#xA;now i need some graphs so i can test the speed of my algorithm vs the sequential code.&lt;br&gt;&#xA;where can i find graphs? i am looking for something similar to this text file:  &lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;3 3&#xA;1 0&#xA;1 2&#xA;0 2&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;the first 2 numbers (3 and 3) states that there are 3 vertices and 3 edges in the graph. following this line is 3 edges.&lt;/p&gt;&#xA;" OwnerUserId="5108" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2011-05-23T13:45:46.127" Title="Graphs to download" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;graph-algorithms&gt;&lt;data-sets&gt;" AnswerCount="3" CommentCount="7" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="6618" PostTypeId="2" ParentId="6612" CreationDate="2011-05-17T11:01:16.793" Score="1" Body="&lt;p&gt;I am not an expert on the topic.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Googling &quot;reversible logic circuit synthesis&quot; spews up a &lt;a href=&quot;http://arxiv.org/abs/quant-ph/0207001&quot; rel=&quot;nofollow&quot;&gt;paper&lt;/a&gt; with the same title, by Shende et al., although in the quantum computing setting.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, page 3 of the paper contains a short review on classical reversible circuits, which points at better sources of information.&lt;/p&gt;&#xA;" OwnerUserId="142" LastActivityDate="2011-05-17T11:01:16.793" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6619" PostTypeId="2" ParentId="6614" CreationDate="2011-05-17T11:12:13.593" Score="3" Body="&lt;p&gt;You can check out the graphs at &lt;a href=&quot;http://netwiki.amath.unc.edu/SharedData/SharedData&quot; rel=&quot;nofollow&quot;&gt;NetWiki&lt;/a&gt;.  Of course, you'll have to sort out the formatting yourself.&lt;/p&gt;&#xA;" OwnerUserId="196" LastActivityDate="2011-05-17T11:12:13.593" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6621" PostTypeId="1" CreationDate="2011-05-17T13:05:47.473" Score="9" ViewCount="285" Body="&lt;p&gt;For a graph $G$, let its Laplacian be $\Delta =I − D^{−1/2}AD^{−1/2}$, where &#xA;$A$ is the adjacency matrix, $I$ is the  identity matrix and $D$ is the diagonal matrix with vertex degrees. I'm interested in the spectral gap of &#xA;$G$, i.e. the first nonzero eigenvalue of $\Delta$, denoted by $\lambda_2(G)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is it true that a randomly chosen (with uniform distribution) $d$-regular bipartite graph on $(n,n)$ vertices (with multiple edges allowed) has, with probability approaching $1$ as $n \to \infty$, $\lambda_2$ arbitrarily close to &#xA;$1$ (i.e. $d$ is fixed and we may take it large enough so that asymptotically most graphs will have $\lambda_2 &amp;gt; 1 - \epsilon$, where $\epsilon$ depends on $d$)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If yes, is there a reference for this fact?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Proofs of expanding properties for random regular graphs which I have found in the literature usually give the probability only bounded from below by a constant, i. e. $1/2$, although I imagine that actually  almost all bipartite random graphs have good spectral gap.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note: by $d$-regular bipartite graph I mean a graph in which each vertex (on the left and on the right) has degree $d$.&lt;/p&gt;&#xA;" OwnerUserId="2083" LastEditorUserId="186" LastEditDate="2011-05-18T03:42:45.797" LastActivityDate="2011-05-18T03:42:45.797" Title="Spectral gap for random bipartite regular graphs" Tags="&lt;reference-request&gt;&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;spectral-graph-theory&gt;" AnswerCount="0" CommentCount="2" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="6622" PostTypeId="2" ParentId="6612" CreationDate="2011-05-17T13:07:44.320" Score="2" Body="&lt;p&gt;I'm not very familiar with the field, but my advisor &lt;a href=&quot;http://www.ngc.is.ritsumei.ac.jp/~ger/index-e.html&quot; rel=&quot;nofollow&quot;&gt;Shigeru Yamashita&lt;/a&gt; is. I recommend you to check his home page. Here are some interesting papers he has:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://portal.acm.org/citation.cfm?doid=1118299.1118368&quot; rel=&quot;nofollow&quot;&gt;A transduction-based framework to synthesize RSFQ circuits&lt;/a&gt;. Shigeru Yamashita, Katsunori Tanaka, Hideyuki Takada, Koji Obata, Kazuyoshi Takagi. In ASP-DAC 2006.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://portal.acm.org/citation.cfm?doid=513918.514026&quot; rel=&quot;nofollow&quot;&gt;Transformation rules for designing CNOT-based quantum circuits&lt;/a&gt;. Kazuo Iwama, Yahiko Kambayashi, Shigeru Yamashita. DAC 2002.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.jstage.jst.go.jp/article/transfun/E91.A/12/E91.A_3793/_article&quot; rel=&quot;nofollow&quot;&gt;DDMF: An Efficient Decision Diagram Structure for Design Verification of Quantum Circuits under a Practical Restriction&lt;/a&gt;. Shigeru YAMASHITA, Shin-ichi MINATO and D. Michael MILLER. IEICE Transactions on Fundamentals of Electronics, Communications and Computer Sciences E91.A (2008) , No. 12 pp.3793-3802.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Other people that you should check their home pages are &lt;a href=&quot;http://www.eecs.umich.edu/~imarkov/&quot; rel=&quot;nofollow&quot;&gt;Igor Markov&lt;/a&gt; and &lt;a href=&quot;http://www.iqc.ca/~dmaslov/&quot; rel=&quot;nofollow&quot;&gt;Dimitri Maslov&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="135" LastActivityDate="2011-05-17T13:07:44.320" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6623" PostTypeId="2" ParentId="6448" CreationDate="2011-05-17T13:17:55.250" Score="12" Body="&lt;p&gt;Reduce the number of sequential talks.  Three half-hour highly technical talks following immediately after one another is hopeless.  Nobody can concentrate for that long without a break.  Ideally there should be a break after every talk.&lt;/p&gt;&#xA;" OwnerUserId="375" LastActivityDate="2011-05-17T13:17:55.250" CommentCount="2" CommunityOwnedDate="2011-05-17T13:17:55.250" ContentLicense="CC BY-SA 3.0" />
  <row Id="6624" PostTypeId="2" ParentId="6399" CreationDate="2011-05-17T14:51:46.183" Score="11" Body="&lt;p&gt;In the Holant framework, there are several cases that are tractable (for non-trivial) reasons other than via matchgates in planar graphs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) &lt;a href=&quot;http://pages.cs.wisc.edu/~jyc/papers/fibonacci.pdf&quot;&gt;Fibonacci Gates&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) Any set of &lt;a href=&quot;http://pages.cs.wisc.edu/~jyc/papers/cw-csp.pdf&quot;&gt;affine signatures&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;3) &lt;a href=&quot;http://pages.cs.wisc.edu/~jyc/papers/weighted-CSP.pdf&quot;&gt;Non-negative weighted #CSPs&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;...to name a few.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, the &lt;a href=&quot;http://en.wikipedia.org/wiki/BEST_theorem&quot;&gt;BEST Theorem&lt;/a&gt; gives a polynomial time algorithm for counting the number of Eulerian circuits in a directed graph, though part of the algorithm does use a determinant calculation.&lt;/p&gt;&#xA;" OwnerUserId="3964" LastEditorUserId="3964" LastEditDate="2011-05-17T15:06:24.873" LastActivityDate="2011-05-17T15:06:24.873" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6625" PostTypeId="1" AcceptedAnswerId="6658" CreationDate="2011-05-17T16:48:03.773" Score="3" ViewCount="769" Body="&lt;p&gt;My problem is as follows:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have $n$ customers, each with a predetermined location in the plane, i.e. $(x,y)\in\mathbb{R}^2$. I have $k$ facilities I want to distribute such that each one of them can serve up to $m$ customers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm struggling with how I should formulate the cost function so I can solve it with non-linear programming (I'm going to start off by using &lt;a href=&quot;http://abel.ee.ucla.edu/cvxopt/&quot; rel=&quot;nofollow&quot;&gt;http://abel.ee.ucla.edu/cvxopt/&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have also though about just using a modified $k$-means method if everything else fails but I really want to try the other option first.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit:&lt;/strong&gt; If the task above is too hard I could consider skipping the requirement that each facility can only serve $m$ customers and that I only have to distribute the facilities to minimize distance to their customers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit 2 (&lt;em&gt;real scenario to explain the reason for this formulation&lt;/em&gt;):&lt;/strong&gt; A company has location information for all their customers, the company is going to open $k$ facilities (e.g. shops). Each facility can serve up to $m$ customers, how should we place the facilities such that the total distance to the customers they serve is minimized?&lt;/p&gt;&#xA;" OwnerUserId="5112" LastEditorUserId="5112" LastEditDate="2011-05-18T16:44:17.150" LastActivityDate="2011-05-19T10:23:12.377" Title="Facility Location problem, multiple facilities with no specific locations" Tags="&lt;ds.algorithms&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6626" PostTypeId="2" ParentId="6614" CreationDate="2011-05-17T16:48:16.580" Score="8" Body="&lt;p&gt;If you want &lt;em&gt;challenging&lt;/em&gt; instances for the vertex cover problem:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.nlsde.buaa.edu.cn/~kexu/benchmarks/graph-benchmarks.htm&quot; rel=&quot;nofollow&quot;&gt;http://www.nlsde.buaa.edu.cn/~kexu/benchmarks/graph-benchmarks.htm&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="74" LastActivityDate="2011-05-17T16:48:16.580" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6627" PostTypeId="2" ParentId="6047" CreationDate="2011-05-17T21:09:31.800" Score="1" Body="&lt;p&gt;What follows should not be taken as any magisterial textbook truth but merely suggestions for your own further research. Editors are welcome to make corrections as they see fit.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First, your question is apparently of interest to the Automated Deduction community. William McCune has a program called &lt;a href=&quot;http://www.cs.unm.edu/~mccune/prover9/&quot; rel=&quot;nofollow&quot;&gt;Mace4&lt;/a&gt; which searches for finite models. You might want to read the documentation that describes how it's done.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As for specific decidable restrictions, you may want to look at the following:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Cases where the &lt;a href=&quot;http://mathworld.wolfram.com/HerbrandUniverse.html&quot; rel=&quot;nofollow&quot;&gt;Herbrand Universe&lt;/a&gt; is finite. One mechanical way of checking for a subset of these cases is to check whether the formula has any function symbols. If it doesn't, the Herbrand Universe is finite.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Cases where &lt;a href=&quot;http://mathworld.wolfram.com/QuantifierElimination.html&quot; rel=&quot;nofollow&quot;&gt;Quantifier Elimination&lt;/a&gt; is possible: theory.stanford.edu/~tingz/talks/qe.ps&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="2406" LastActivityDate="2011-05-17T21:09:31.800" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6628" PostTypeId="2" ParentId="6589" CreationDate="2011-05-17T22:10:04.807" Score="14" Body="&lt;p&gt;I seem to remember reading a popular account long ago of how physicists deal with an analogous problem. Who knows how accurate the following version of it is; corrections are welcome. But I found the underlying strategy quite remarkable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;They explained how they came to believe in black holes. Black holes were initially purely mathematical constructs, like other strange objects in physics like wormholes. Their strategy was striking: they would mathematically throw other objects at the object to be tested. Wormholes failed their tests because they found that the wormhole would collapse even in the presence of a normal physical object, maybe an asteroid. But black holes passed this test: the black hole would survive having an asteroid thrown at it. So they tried throwing a star at it. Same result. Finally, they threw another black hole at the black hole and it survived. As a result of this, they grew confident enough in the existence of black holes to actually start looking for them in the real universe.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So the relevance and application of the strategy above is to start throwing things at your proof. Does it survive &lt;a href=&quot;http://www.scottaaronson.com/blog/?p=458&quot;&gt;sanity checks&lt;/a&gt;? If you remove a necessary assumption, does it collapse as it should? Does it collapse as it should when it's applied to cases outside its scope? Does it withstand reasonable generalizations and specializations? Have a look at the &lt;a href=&quot;http://en.wikipedia.org/wiki/How_to_Solve_It#Heuristics&quot;&gt;list of heuristics&lt;/a&gt; in Polya's &lt;i&gt;How to Solve It&lt;/i&gt;. Try mutating your proof with these heuristics and see if it stands and falls as it should. &lt;/p&gt;&#xA;" OwnerUserId="2406" LastActivityDate="2011-05-17T22:10:04.807" CommentCount="1" CommunityOwnedDate="2011-05-17T22:10:04.807" ContentLicense="CC BY-SA 3.0" />
  <row Id="6629" PostTypeId="5" CreationDate="2011-05-18T03:04:50.167" Score="0" Body="&lt;p&gt;Questions asking for help about choosing a project/thesis topic.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Please read &lt;a href=&quot;http://meta.cstheory.stackexchange.com/q/802/&quot;&gt;cstheory's policy regarding topic questions&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2015-09-20T14:13:53.183" LastActivityDate="2015-09-20T14:13:53.183" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6630" PostTypeId="4" CreationDate="2011-05-18T03:04:50.167" Score="0" Body="topic for a project/thesis" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2011-05-18T03:04:50.167" LastActivityDate="2011-05-18T03:04:50.167" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6631" PostTypeId="1" AcceptedAnswerId="6654" CreationDate="2011-05-18T03:39:35.390" Score="10" ViewCount="800" Body="&lt;p&gt;&lt;em&gt;Greedy&lt;/em&gt; is a non-formal term, but it could be (not sure, that's why I'm asking) that for certain problems, greediness can be mathematically formulated and thus be proven that no optimal greedy algorithm exist. Is this possible?&lt;/p&gt;&#xA;" OwnerUserId="503" LastEditorUserId="186" LastEditDate="2011-05-19T06:01:25.647" LastActivityDate="2017-07-27T12:28:31.217" Title="Is it possible to prove that, for a given problem, no optimal greedy algorithms exist?" Tags="&lt;ds.algorithms&gt;&lt;greedy-algorithms&gt;" AnswerCount="3" CommentCount="1" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="6632" PostTypeId="2" ParentId="6631" CreationDate="2011-05-18T08:46:46.543" Score="10" Body="&lt;p&gt;Yes, there is such work. Allan Borodin with coauthors developed a theory where they formalize the notion of greediness and obtain results which approximation ratios can be reached with them. They introduce a class of priority algorithms, which generalizes greedy algorithms. Their first work on this topic is &#xA;the paper &quot;&lt;a href=&quot;http://scholar.google.com/scholar?q=%22%28Incremental%29%20Priority%20Algorithms%22&amp;amp;hl=en&amp;amp;btnG=Search&amp;amp;as_sdt=1,5&quot;&gt;(Incremental) Priority Algorithms&lt;/a&gt;&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;P.S. The previous paragraph answers on a different question: Is it possible to prove that, for a given problem, no greedy algorithms exist with approximation ratio less than some $1+\epsilon$? What concerns the question I suppose it is assumed there that optimal means exact so the question relates to problems in P (I assume greedy algorithms have polynomial complexity though I guess this is not necessary) which are known to have solution by other methods than greedy ones. And I don't know the answer on this question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To ivotron: if you didn't mean my first interpretation I will delete this answer.&lt;/p&gt;&#xA;" OwnerUserId="1060" LastEditorUserId="1060" LastEditDate="2011-05-18T11:54:38.847" LastActivityDate="2011-05-18T11:54:38.847" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6633" PostTypeId="2" ParentId="6631" CreationDate="2011-05-18T09:00:22.320" Score="1" Body="&lt;p&gt;See this also:&#xA;&lt;a href=&quot;http://en.wikipedia.org/wiki/Greedoid&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/Greedoid&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="1609" LastActivityDate="2011-05-18T09:00:22.320" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6634" PostTypeId="1" AcceptedAnswerId="6635" CreationDate="2011-05-18T11:09:08.933" Score="6" ViewCount="614" Body="&lt;p&gt;We know that there exist two oracles $A$ and $B$ such that $P^A=NP^A$ and $P^B\neq NP^B$, this implies the obstacle of proving $P\neq NP$ using diagonalization.  I just wonder if there exist two complexity classes, say $A$ and $B$ and oracle $O$ such that $A=B$ but $A^O\neq B^O$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am not sure if it is a research-level problem. So don't hesitate to close it if not.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks.&lt;/p&gt;&#xA;" OwnerUserId="4659" LastEditorUserId="80" LastEditDate="2011-05-18T14:09:32.100" LastActivityDate="2011-05-18T14:09:32.100" Title="Is there an oracle that separates two complexity classes known to be equal?" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;oracles&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6635" PostTypeId="2" ParentId="6634" CreationDate="2011-05-18T13:01:48.283" Score="18" Body="&lt;p&gt;We have IP = PSPACE = PPSPACE, where PPSPACE is the &quot;probabilistic polynomial space,&quot; as defined by Papadimitriou's &lt;a href=&quot;http://linkinghub.elsevier.com/retrieve/pii/0022000085900455&quot; rel=&quot;noreferrer&quot;&gt;Games Against Nature&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, relative to a random oracle O, we have IP&lt;sup&gt;O&lt;/sup&gt; ≠ PSPACE&lt;sup&gt;O&lt;/sup&gt; = PPSPACE&lt;sup&gt;O&lt;/sup&gt; with probability 1. (See &lt;a href=&quot;http://www.cs.umbc.edu/~chang/papers/roh/&quot; rel=&quot;noreferrer&quot;&gt;The Random Oracle Hypothesis is False&lt;/a&gt;.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another example: let the assumption be false; that is, if A=B the A&lt;sup&gt;O&lt;/sup&gt; = B&lt;sup&gt;O&lt;/sup&gt; for &lt;strong&gt;any&lt;/strong&gt; oracle O and &lt;strong&gt;all&lt;/strong&gt; complexity classes A and B. The contrapositive will say: If A&lt;sup&gt;O&lt;/sup&gt; ≠ B&lt;sup&gt;O&lt;/sup&gt;, then A ≠ B. Specially, since there exists an oracle O such that P&lt;sup&gt;O&lt;/sup&gt; ≠ NP&lt;sup&gt;O&lt;/sup&gt;, then P ≠ N, and a long-standing problem is solved!!!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Obviously, this reasoning has no basis, and I believe it can be refuted as such.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;PS:&lt;/strong&gt; When we use the &quot;=&quot; sign with respect to sets, we mean that every element of one set is also a member of the other set, and vice versa. However, the sets might have totally different definitions. In the axiomatic set theory, this is called the &lt;a href=&quot;http://en.wikipedia.org/wiki/Axiom_of_extensionality&quot; rel=&quot;noreferrer&quot;&gt;axiom of extensionality&lt;/a&gt;. The reason of &quot;IP = PSPACE but IP&lt;sup&gt;O&lt;/sup&gt; ≠ PSPACE&lt;sup&gt;O&lt;/sup&gt; with probability 1 for a random oracle O&quot; is exactly this: While IP and PSPACE are externally identical, their internal structure is quite different.&lt;/p&gt;&#xA;" OwnerUserId="873" LastEditorUserId="873" LastEditDate="2011-05-18T13:11:26.440" LastActivityDate="2011-05-18T13:11:26.440" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6636" PostTypeId="1" AcceptedAnswerId="6645" CreationDate="2011-05-18T14:01:31.840" Score="5" ViewCount="252" Body="&lt;p&gt;Let a quantum channel $\Phi(\cdot)$ between two Hilbert spaces $\mathcal{H}_{in}$ and $\mathcal{H}_{out}$.&#xA;What is the quantum channel $\Phi_{inv}(\cdot)$ that best reverses $\Phi(\cdot)$ ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\forall $ states $\rho$, the state $\widetilde{\rho} \equiv \Phi_{inv}(\Phi(\rho))$ should be the best approximation of $\rho$ (according to some appropriate distance measure).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we assume that the input state comes from a known probability distribution, according to the quantum data processing inequality there are cases, depending on the source entropy and the channel properties that allow for perfect decoding.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, how do you perform decoding in cases where perfect decoding is not possible, and in particular if no source distribution is known (so you can't assume that the state has been encoded with an error-correcting code)? I presume somebody has already thought about this, but I can't find it in the literature.&lt;/p&gt;&#xA;" OwnerUserId="1749" LastEditorUserId="7286" LastEditDate="2012-05-07T14:32:15.017" LastActivityDate="2012-05-07T14:32:15.017" Title="Quantum Channel Decoding" Tags="&lt;reference-request&gt;&lt;quantum-computing&gt;&lt;it.information-theory&gt;&lt;quantum-information&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="6637" PostTypeId="1" CreationDate="2011-05-18T14:15:28.047" Score="-3" ViewCount="455" Body="&lt;p&gt;I've read &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0814758169&quot; rel=&quot;nofollow&quot;&gt;Gödel's Proof&lt;/a&gt; by Nagel &amp;amp; Newman and I feel confused about there philosophical remarks on impossibility of computer to emulate human's mind. I don't understand how does that really follows from Gödel theorems. Of course I can see direct similarities of tools Gödel used in his proof with ideas which forms fundament of todays computer science: reccurent functions, encoding and calculation of formulas as strings, etc. But what are the real conclusions of Godel's incompletness theorem in terms of computability? Can one really say that since the Theorem was prooved we know now that something can be calculated and something not?&lt;/p&gt;&#xA;" OwnerUserId="4519" LastActivityDate="2011-05-18T15:26:03.687" Title="What meaning (value) does Gödel's Incompleteness Theorems have for computation theory?" Tags="&lt;computability&gt;" AnswerCount="1" CommentCount="8" ClosedDate="2011-05-19T03:09:57.987" ContentLicense="CC BY-SA 3.0" />
  <row Id="6638" PostTypeId="2" ParentId="6607" CreationDate="2011-05-18T14:17:23.777" Score="3" Body="&lt;p&gt;Collaborative bibliography managers such as &lt;a href=&quot;http://www.mendeley.com/&quot; rel=&quot;nofollow&quot;&gt;Mendeley&lt;/a&gt; and &lt;a href=&quot;http://www.citeulike.org/&quot; rel=&quot;nofollow&quot;&gt;CiteULike&lt;/a&gt; have been around for several years, but have not yet caught on in the theory community (at least, they include a vanishingly low proportion of the papers I would like to cite).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Note:&lt;/em&gt; I am listing these services in a spirit of completeness.  They are relevant to the question, but I do not endorse any collaborative bibliography manager.&lt;/p&gt;&#xA;" OwnerUserId="109" LastEditorUserId="109" LastEditDate="2011-05-19T14:06:36.717" LastActivityDate="2011-05-19T14:06:36.717" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6639" PostTypeId="1" AcceptedAnswerId="6640" CreationDate="2011-05-18T14:36:08.380" Score="1" ViewCount="151" Body="&lt;p&gt;I am looking for an algorithm that will split a set $A = \{ a_1, a_2, ..., a_N \}$ into (possibly) multiple subsets based on a given criterion. In my case, the criterion is spatial overlap of the elements in the set, but it could be any criterion really. Let's define a function $crit(a_1, a_2)$ which takes as input two elements of $A$ and outputs a boolean indicating whether those two elements overlap.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $crit(a_i, a_j) = false$ for all $a_i, a_j \in A$, then the output of the algorithm should be a single set containing all of the elements of $A$. If $crit(a_i, a_j) = true$ for a single pair of elements $a_i, a_j \in A$, then the output of the algorithm should be two sets, one set containing all elements except for $a_i$, and one set containing all elements except for $a_j$. We continue this pattern until we reach the other extreme case, in which $crit(a_i, a_j) = true$ for all $a_i, a_j \in A$, in which case the output of the algorithm should be a partition of $A$: $N$ sets, each containing a single element from $A$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would be surprised if this problem has not been formalized before. Is there an efficient algorithm for solving this problem?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit:&lt;/strong&gt; For clarification, it is ok if an element ends up in multiple sets in the output. In fact, an element should be in every set that does not contain an element that overlaps with it. For example, if $A = \{ w,x,y,z\}$, $crit(w, x) = true$, $crit(w, y) = false$, $crit(w, z) = true$, $crit(x, y) = false$, $crit(x, z) = false$, $crit(y, z) = false$, then the output should be $A&amp;#39; = \{ \{ w, y \}, \{ x, y, z \} \}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Another edit&lt;/strong&gt;: based on bbejot's response, I did a bit more looking and it does appear that I can reduce my problem to enumerating all maximal cliques of the graph represented by the adjacency matrix bbejot describes in his response. In response to my original question, there is no &lt;em&gt;efficient&lt;/em&gt; algorithm for solving this problem, but the &lt;a href=&quot;http://en.wikipedia.org/wiki/Bron%E2%80%93Kerbosch_algorithm&quot; rel=&quot;nofollow&quot;&gt;Bron–Kerbosch algorithm&lt;/a&gt; seems to be pretty standard.&lt;/p&gt;&#xA;" OwnerUserId="5123" LastEditorUserId="186" LastEditDate="2011-05-19T06:53:04.903" LastActivityDate="2011-05-19T06:53:04.903" Title="Splitting set into subsets by criterion" Tags="&lt;ds.algorithms&gt;" AnswerCount="1" CommentCount="9" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6640" PostTypeId="2" ParentId="6639" CreationDate="2011-05-18T15:07:04.413" Score="2" Body="&lt;p&gt;I believe there are two interpretations of your criterion.  One interpretation is easily solvable, and the other is NP-Complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First, a greedy algorithm for what you describe:&#xA;Let $A_1$, $A_2$, ..., $A_N$ all start as the empty set.&lt;br&gt;&#xA;Loop through each $a_i \in A$.&lt;br&gt;&#xA;Put $a_i$ in the first $A_k$ such that for each $a_j$ already in $A_k$,&#xA;$crit(a_i, a_j) = false$.&lt;br&gt;&#xA;After looping through all the elements of $A$, disregard any $A_i$ which is still empty.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This greedy algorithm holds in the three examples you give.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A second interpretation is: &quot;Let the set $A_i$ be as large as possible but not including any elements from $A_1$ to $A_{i-1}$&quot;.  Let $A&amp;#39;$ be an $N \times N$ matrix where $A_{i, j}&amp;#39;$ is 1 if $crit(a_i, a_j) = false$ and 0 otherwise.  Then finding $A_1$ is exactly finding the maximum clique of a digraph with adjacency matrix $A&amp;#39;$.  This, of course, makes the problem NP-Hard.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let's hope you only need the first.&lt;/p&gt;&#xA;" OwnerUserId="4765" LastActivityDate="2011-05-18T15:07:04.413" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="6641" PostTypeId="2" ParentId="6637" CreationDate="2011-05-18T15:26:03.687" Score="3" Body="&lt;p&gt;I wish I could add this as a comment instead but I don't have the privilege! &#xA;A good paper related to this subject is &quot;Forbidden Information&quot; by Leonid Levin (tough to read but it's worth the pain :-))  &lt;/p&gt;&#xA;" OwnerUserId="3945" LastActivityDate="2011-05-18T15:26:03.687" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6642" PostTypeId="1" CreationDate="2011-05-18T15:27:51.133" Score="39" ViewCount="5653" Body="&lt;p&gt;Is anyone familiar with Yijie Han's $O(n \log\log n)$, linear space, integer sorting algorithm?  This result appears in a fairly short paper (&lt;a href=&quot;http://dx.doi.org/10.1016/j.jalgor.2003.09.001&quot;&gt;Deterministic sorting in $O(n \log\log n)$ time and linear space&lt;/a&gt;. J. Alg. 50:96–105, 2004) which basically glues together a lot of earlier results, with suitable adaptations.  My problem is that it's written in a rather hand-wavingly manner without going very deep into any specifics.  It relies heavily on previous papers, prominent among them  another paper by Han (&lt;a href=&quot;http://dx.doi.org/10.1006/inco.2001.3053&quot;&gt;Improved fast integer sorting in linear space&lt;/a&gt;. Information and Computation 170(1):81–94) written in much the same style.  I am having significant difficulties in understanding these two papers, particularly the way in which they adapt and use previous results.  I would appreciate any help.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is of course too broad and vague to be considered a proper question, but I am hoping to develop a discussion across several focused well defined questions and answers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To lead off, here is my first specific question.  In Lemma 2 of the Info. Comp. paper there is a recursive $O(n/k \log k)$ time algorithm for finding the mth smallest integer in a set of $n$ small integers packed $k$ each into RAM words.  The description of the algorithm fails to mention how the base case $k=O(n)$ is handled.  In this case it is required to do the selection in $O(\log k)$ time.  How can this be done?&lt;/p&gt;&#xA;" OwnerUserId="5124" LastEditorUserId="74" LastEditDate="2011-05-18T15:46:19.987" LastActivityDate="2012-03-19T05:35:41.107" Title="Han's $O(n \log\log n)$ time, linear space, integer sorting algorithm" Tags="&lt;ds.algorithms&gt;&lt;sorting&gt;" AnswerCount="2" CommentCount="6" FavoriteCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="6644" PostTypeId="2" ParentId="5004" CreationDate="2011-05-18T17:17:27.983" Score="-3" Body="&lt;p&gt;The solution from Viola can be generalized to any running time (beyond poly): You can reduce the halting problem to it as follows. Given an instance (M,x) of the halting problem, construct a new machine M′ that works as follows: on inputs of length n, it simulates M on x for f(n) steps or until M halts, where f(n) is any arbitrary increasing function (greater than constant) of n. (Obs.: M′ reads gradually the input, in order to avoid wasting linear time [O(n)] just to read needlessly all the input, if it is large enough and M halts.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If M halts on x it does so in T=O(1) steps, so the run time of M′ would be O(1). If M never halts then the run time of M′ is O(n^2*f(n)).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hence you can decide if M accepts x by deciding if the run time of M′ is O(1) or O(n^2*f(n)).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then, the auxiliary code from Raphael can be generalized accordingly by:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let (M,x) be any instance of the Halting Problem, that is we have to decide whether M halts on x. Construct a deterministic Turing Machine (DTM) M* that works as follows:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;M*(input) = {&lt;/li&gt;&#xA;&lt;li&gt;n := 0&lt;/li&gt;&#xA;&lt;li&gt;Read the first symbol from the input&lt;/li&gt;&#xA;&lt;li&gt;Loop: &lt;/li&gt;&#xA;&lt;li&gt;n := n+1&lt;/li&gt;&#xA;&lt;li&gt;Simulate M(x) for f(n) steps or until M(x) halts&lt;/li&gt;&#xA;&lt;li&gt;Read the next symbol from the input&lt;/li&gt;&#xA;&lt;li&gt;Loop until end_of_input or until M(x) has halted&lt;/li&gt;&#xA;&lt;li&gt;}&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Now we observe the following implications:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;M halts on x after at most k (constant) steps =&gt; T(M*) = O(1) and&lt;/p&gt;&#xA;&#xA;&lt;p&gt;M never halts on x =&gt; T(M*) = O(n^2*f(n))&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Therefore, even deciding whether the running time of an arbitrary DTM is simply greater than constant is as hard as Halting Problem. □&lt;/p&gt;&#xA;" OwnerUserId="5128" LastEditorUserId="5128" LastEditDate="2011-07-12T17:22:27.480" LastActivityDate="2011-07-12T17:22:27.480" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="6645" PostTypeId="2" ParentId="6636" CreationDate="2011-05-18T19:14:23.397" Score="13" Body="&lt;p&gt;First, your two criteria (that it is a quantum channel and that for all input states, the inverse channel gives the best approximation of the input state) aren't compatible. If they were, then the optimal inverse channel would be independent of whether you choose to optimize the worst-case fidelity or the average-case fidelity. It's not. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are quite a few papers on this question. &lt;a href=&quot;http://pra.aps.org/abstract/PRA/v75/i1/e012338&quot; rel=&quot;noreferrer&quot;&gt;Here's one&lt;/a&gt; Andrew Fletcher, Moe Win, and I wrote. It shows you can use a semidefinite program to optimize the recovery channel when the criterion to be optimized is the entanglement fidelity, and you assume a specific entangled input state and a specific channel $\Phi$. You should be able to find other papers by looking at our bibliography and using some forward citation tool. &lt;/p&gt;&#xA;" OwnerUserId="1677" LastEditorUserId="1677" LastEditDate="2011-05-18T19:21:50.570" LastActivityDate="2011-05-18T19:21:50.570" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="6650" PostTypeId="2" ParentId="3681" CreationDate="2011-05-19T00:21:41.030" Score="3" Body="&lt;p&gt;The two topics are, as mentioned, quite different. The $\mu$-recursive functions occur in computability theory. The $\mu$-calculus is a logic. Here is a very simple (I hope) description, in keeping with your request. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Regarding $\mu$-recursion: you can ask, if we viewed Turing machines as defining mathematical functions, what kind of functions do you have? The machine has a value $x$ on its input tape and writes a value $f(x)$ on its output tape. A Turing machine is not guaranteed to terminate. What does this mean for the function represented? It means that Turing machines encode partial functions. Which class of partial functions? Do they have a nice inductive definition, built up from simpler functions and composition operations? The answer to both these questions is given by the class of $\mu$-recursive functions. I assume most computability textbooks will contain details. The book by Boolos Burgess and Jeffrey worked for me. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now for the $\mu$-calculus. Think of the behaviour of a discrete dynamic system like a program or any computing device. The device has a state consisting of the current control location and the contents of various data storage mechanisms. The behaviour of the device is encoded by a transition relation between states. This is exactly the transition relation, if you have a finite automation. For more complex devices, it is the relation between two states when the device makes a step. Suppose you want to logically specify the behaviour of such a device. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;One way to think of this is to label states. For example, if you have a pushdown automaton and are interested in states where a symbol $a$ is on top of the stack, you could label such states &quot;$aTop$&quot;. Say you want to logically express the set of states from which you can reach a state with $a$ on top of the stack. Modal logic has an operator $\Diamond$, pronounced &quot;next&quot;. The formula $\Diamond \theta$  is true in a state $s$ if $s$ has a successor satisfying $\theta$. &#xA;The set of states that in up to $2$ steps lead to $a$ on top of the stack are &#xA;$(aTop \vee \Diamond aTop \vee \Diamond \Diamond aTop)$. You can keep nesting formulae to express reaching a state with $a$ on top in $k$ steps. To capture all such states, one introduces recursion and writes: $\mu X. (aTop \vee \Diamond X)$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;A $\mu$-calculus&lt;/em&gt; is a system of function symbols with fixed point operators. The most popular $\mu$-calculus is the modal $\mu$-calculus, an extension of modal logic with fixed point operators. The &lt;a href=&quot;http://homepages.inf.ed.ac.uk/jcb/Research/bradfield-stirling-HPA-mu-intro.ps.gz&quot; rel=&quot;nofollow&quot;&gt;survey&lt;/a&gt; by Bradfield and Stirling is a good introduction. &lt;/p&gt;&#xA;" OwnerUserId="4155" LastActivityDate="2011-05-19T00:21:41.030" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6651" PostTypeId="1" AcceptedAnswerId="6657" CreationDate="2011-05-19T06:41:48.067" Score="10" ViewCount="441" Body="&lt;p&gt;In Bernstein and Vazirani's seminal paper &quot;Quantum Complexity Theory&quot;, they show that a $d$-dimensional unitary transformation can be efficiently approximated by a product of what they call &quot;near-trivial rotations&quot; and &quot;near-trivial phase shifts&quot;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&quot;Near-trivial rotations&quot; are $d$-dimensional unitary matrices that act as the identity on all but 2 dimensions, but act as a rotation in the plane spanned by those two dimensions (i.e. has a 2x2 submatrix of the form:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$&#xD;&#xA; \begin{pmatrix}&#xD;&#xA;  \cos{\theta} &amp;amp; -\sin{\theta} \\&#xD;&#xA;  \sin{\theta} &amp;amp; \cos{\theta} \\&#xD;&#xA; \end{pmatrix}&#xD;&#xA;$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;for some $\theta$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&quot;Near-trivial phase shifts&quot; are $d$-dimensional unitary matrices that act as the identity on all but 1 dimension, but apply a factor of $e^{i\theta}$ for some $\theta$ to that one dimension.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Furthermore, they show that only one rotation angle is needed (for both the rotation and phase shift unitaries), given that the angle is an irrational multiple of $2\pi$ (BV set the angle to $2\pi\sum_{j=1}^{\infty}{2^{-2^j}}$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Subsequent papers on quantum complexity theory (like that by Adleman et al or Fortnow and Rogers) claim that the B-V result implies that universal quantum computation can be accomplished with unitary operators whose entries are in $\mathbb{R}$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;How does this follow? I can understand that a product of near-trivial rotation matrices will give you a unitary matrix with real entries, but what about the phase shift matrices?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;That is: if you are only able perform near-trivial rotations, and phase shift matrices where the entries of the matrix are either $0,\pm 1$, can we efficiently approximate all other phase shift matrices? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I suspect that this implication is not immediately obvious, and the proper proof for it would resemble the proof that Deutsch's Toffoli-like gate is universal - or am I missing something very obvious?&lt;/p&gt;&#xA;" OwnerUserId="170" LastEditorUserId="80" LastEditDate="2011-05-22T19:58:18.647" LastActivityDate="2011-05-22T19:58:18.647" Title="Restricting entries of unitary operators to real numbers and universal gate sets" Tags="&lt;quantum-computing&gt;&lt;linear-algebra&gt;&lt;universal-computation&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="6652" PostTypeId="5" CreationDate="2011-05-19T06:48:05.467" Score="0" Body="&lt;p&gt;This tag is used for question about &lt;a href=&quot;http://en.wikipedia.org/wiki/Set_theory&quot; rel=&quot;nofollow&quot;&gt;set theory&lt;/a&gt; branch of logic. See also &lt;a href=&quot;http://plato.stanford.edu/&quot; rel=&quot;nofollow&quot;&gt;SEP&lt;/a&gt;'s &lt;a href=&quot;http://plato.stanford.edu/entries/set-theory/&quot; rel=&quot;nofollow&quot;&gt;set theory article&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2011-05-19T06:48:05.467" LastActivityDate="2011-05-19T06:48:05.467" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6653" PostTypeId="4" CreationDate="2011-05-19T06:48:05.467" Score="0" Body="Questions about set theory" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2011-05-19T06:48:05.467" LastActivityDate="2011-05-19T06:48:05.467" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6654" PostTypeId="2" ParentId="6631" CreationDate="2011-05-19T06:58:51.030" Score="9" Body="&lt;p&gt;The simplest thing to do would be to set up the greedy algorithm for the problem, and then look for a counter-example. If you find one, you've got your answer. Otherwise there are &lt;a href=&quot;http://www.idi.ntnu.no/~mlh/algkon/greedy.pdf&quot; rel=&quot;nofollow noreferrer&quot; title=&quot;Proof methods and greedy algorithms&quot;&gt;many ways of proving that greed works&lt;/a&gt;. There are some issues with this, of course (such as how specifically to formulate the greedy algorithm). As for characterizing which problems can and which problems can't be solved greedily, there is a general answer to that, too.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In fact, in their paper &lt;a href=&quot;http://dx.doi.org/10.1137/0406021&quot; rel=&quot;nofollow noreferrer&quot; title=&quot;An Exact Characterization of Greedy Structures&quot;&gt;“An Exact Characterization of Greedy Structures”&lt;/a&gt; (&lt;em&gt;SIAM J. Discrete Math&lt;/em&gt;. &lt;strong&gt;6&lt;/strong&gt;, pp. 274-283), Helman, Moret and Shapiro gave a formal description of just this (called a &lt;a href=&quot;http://en.wikipedia.org/w/index.php?title=Matroid_embedding&amp;amp;oldid=291417382&quot; rel=&quot;nofollow noreferrer&quot; title=&quot;Matroid Embedding&quot;&gt;matroid embedding&lt;/a&gt;, which generalizes both matroids and greedoids). From the abstract: “The authors present exact characterizations of structures on which the greedy algorithm produces optimal solutions.”&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In general, the greedy algorithm can be formulated in terms of weighted set systems $(E,\mathcal{F},w)$. You have a set $E$ (for example, the edges, in the case of minimum spanning trees), and you have a set $\mathcal{F}\subseteq 2^E$ of subsets of $E$ (think partial spanning forests, for the problem of minimum spanning trees). $\mathcal{F}$ represents the valid partial solutions constructed by combining elements from $E$. There is also the weight function, $w$, which gives you the weight or cost of any element in $\mathcal{F}$. We usually assume this to be linear—i.e., each element in $E$ has a weight, and the weights of the (partial) solutions are just the sum of the element weights. (For example, the weight of a spanning tree is the sum of its edge weights.) In this context, Helman et al. showed that the following are equivalent:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;For every linear objective function, $(E,\mathcal{F})$ has an optimal basis.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;$(E,\mathcal{F})$ is a matroid embedding.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;For every linear objective function, the greedy bases of $(E,\mathcal{F})$ are exactly its optimal bases.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;In other words: For structures such as these (which basically embody the kind of structures usually thought of when working with greed), exactly the set of matroid embeddings can be solved greedily.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The definition of a matroid embedding isn't all that hard, so proving that a given problem is or is not a matroid embedding is certainly feasible. The &lt;a href=&quot;http://en.wikipedia.org/w/index.php?title=Matroid_embedding&amp;amp;oldid=291417382&quot; rel=&quot;nofollow noreferrer&quot; title=&quot;Matroid Embedding&quot;&gt;Wikipedia entry&lt;/a&gt; gives the definition quite clearly. (Understanding the proof why these are the exact structures solvable by greed—that’s another matter entirely…)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If your problem can be formulated in terms of selection from a weighted set system with a linear objective function, and if you can show that it is &lt;em&gt;not&lt;/em&gt; a matroid embedding, then you have showed that it cannot be solved greedily, even if you haven't been able to find a counter-example. (Although I suspect finding a counter-example would be quite a bit easier.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This approach isn't entirely without problems, I suppose. As you say, the general idea of greed is rather informal, and it might well be possible to tweak it in such a way that the formalism of linearly weighted set systems doesn't apply.&lt;/p&gt;&#xA;" OwnerUserId="901" LastEditorUserId="901" LastEditDate="2017-07-27T12:28:31.217" LastActivityDate="2017-07-27T12:28:31.217" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6655" PostTypeId="1" AcceptedAnswerId="6659" CreationDate="2011-05-19T07:29:20.487" Score="7" ViewCount="867" Body="&lt;p&gt;Is there a simple way to translate programs written in a basic &quot;While&quot; language (such as Winskels Imp)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I know about Church numerals and booleans, and I can see how if and while statements can be translated as&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\mbox{if}~t_c~\mbox{then}~t_t~\mbox{else}~t_f\qquad\rightarrow\qquad(t_c t_t)t_f$$ and $$\mbox{while}~t_c~\mbox{do}~t_l \qquad\rightarrow\qquad \omega(\lambda r.(t_c (t_l; \omega r) I))$$ (with suitable definitions for $\omega$ and $I$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assignment however puzzles me.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One example translation of the following program&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;x := foo;&#xA;if x then t_1 else t_2&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;would be&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$(\lambda x.(x t_1)t_2)~foo$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But I can't seem to find a general rule for it. How would for instance this program translate:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;x := true;&#xA;y := false;&#xA;while x do&#xA;    x := y&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;" OwnerUserId="5137" LastEditorUserId="186" LastEditDate="2011-05-20T01:49:30.977" LastActivityDate="2011-06-22T17:38:13.053" Title="Translation from basic While-language to $\lambda$-calculus" Tags="&lt;pl.programming-languages&gt;&lt;lambda-calculus&gt;" AnswerCount="2" CommentCount="4" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="6656" PostTypeId="2" ParentId="6655" CreationDate="2011-05-19T08:45:51.080" Score="5" Body="&lt;p&gt;I would encode these side effects in a state monad [1] (or even an environment monad to be more precise). I cannot see how to do it without adding an equality predicate on binders.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] &lt;a href=&quot;http://en.wikipedia.org/wiki/Monad_(functional_programming)#State_monads&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/Monad_(functional_programming)#State_monads&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="5097" LastActivityDate="2011-05-19T08:45:51.080" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="6657" PostTypeId="2" ParentId="6651" CreationDate="2011-05-19T08:46:40.497" Score="14" Body="&lt;p&gt;There is &lt;a href=&quot;http://arxiv.org/abs/quant-ph/0301040&quot; rel=&quot;noreferrer&quot;&gt;A Simple Proof that Toffoli and Hadamard are Quantum Universal&lt;/a&gt; by Dorit Aharonov which first shows how complex amplitudes can be simulated by real amplitudes over a larger Hilbert space with one more qubit. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&quot;This is done by adding one extra qubit&#xA;to the circuit, the state of which indicates whether&#xA;the system’s state is in the real or imaginary part of&#xA;the Hilbert space, and replacing each complex gate&#xA;$U$ operating on $k$ qubits by its &lt;em&gt;real version&lt;/em&gt;, denoted&#xA;$\tilde{U}$, which operates on the same $k$ qubits plus the&#xA;extra qubit. $\tilde{U}$ is defined by:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\tilde{U}|i\rangle |0\rangle = [Re(U)|i\rangle]|0\rangle + [Im(U)|i\rangle]|1\rangle$&lt;br&gt;&#xA;$\tilde{U}|i\rangle |1\rangle = -[Im(U)|i\rangle]|0\rangle + [Re(U)|i\rangle]|1\rangle$&quot;&lt;br&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Secondly, she proofs the universality of the {Hadamard,Toffoli} gate set, which has only real amplitudes $\{0,1,\pm\frac{1}{\sqrt{2}}\}$.&lt;/p&gt;&#xA;" OwnerUserId="121" LastEditorUserId="121" LastEditDate="2011-05-19T08:57:04.143" LastActivityDate="2011-05-19T08:57:04.143" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="6658" PostTypeId="2" ParentId="6625" CreationDate="2011-05-19T10:23:12.377" Score="4" Body="&lt;p&gt;What you're talking about is, I believe, called the Capacitated Facility Location Problem.  Searching for that should give you plenty of papers to read.  It appears the problem is NP-hard, but in Euclidean space a simple search procedure gives you a 6-approximation &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.84.1704&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;nofollow&quot;&gt;[PDF]&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="196" LastActivityDate="2011-05-19T10:23:12.377" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="6659" PostTypeId="2" ParentId="6655" CreationDate="2011-05-19T11:51:14.640" Score="12" Body="&lt;p&gt;Here is the toy language I am going to use. Note that locations are numbered. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$    A := n \quad | \quad x_k \quad | \quad A_1 + A_2 \quad | \quad  ... \text{ (where $n,k ∈ \mathbb{N})$ } $$&#xD;&#xA;$$    B := A_1 = A_2 \quad | \quad  ...  $$ &#xD;&#xA;$$    C := \quad  C_1 ; C_2 \quad |\quad  x_k := A\quad  | \quad  skip \quad |\quad \mathop{if}~B~\mathop{then}~C_1~\mathop{else}~C_2 \quad | \quad  ...  $$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First, you have to encode states. &#xA;What's a state ? It's map from your set $L$ of locations &#xA;to your set $V$ of values. Here I choose to implement them&#xA;by a function $σ : \mathbb{N} → \mathbb{N}$. We'll call &#xA;$Σ$ the set of states. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are two common operation over states : &#xA;$$\mathop{get} : Σ → L → V$$&#xA;$$\mathop{get} = λs.λx.(s~x)$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\mathop{set} : Σ → L → V → Σ$$&#xA;$$\mathop{set} = λs.λx.λv.\left(λk.\mathop{equal}~k~x~v~(s~k)\right)$$&#xA;where $equal$ is a λ-term representing equality between Church numerals. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then we have to encode arithmetical expressions as function from $Σ$ to $V$ &#xA;$$⟦n⟧ = λs.\lceil n \rceil$$&#xA;$$⟦x_k⟧ = λs.get~s~\lceil k \rceil$$&#xA;$$⟦A_1 + A_2⟧ = λs.\mathop{plus}~(⟦A₁⟧~s)~(⟦A₂⟧~s)$$&#xA;$$\vdots$$&#xA;where $\mathop{plus}$ is a λ-term representing addition over Church numerals and &#xA;$\lceil n \rceil$ is the $n$-th Church numeral. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;And boolean expressions as functions from $Σ$ to booleans: &#xA;$$⟦A₁ = A₂⟧ = λs.\mathop{equal}~(⟦A₁⟧~s)~(⟦A₂⟧~s)$$&#xA;$$\vdots$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally you encode your commands as &quot;state transformers&quot; from $Σ$ to $Σ$. &#xA;$$ ⟦skip⟧ = λs.s $$&#xA;$$ ⟦x_k := A⟧ = λs.\mathop{set}~s~\lceil k \rceil~(⟦A⟧~s) $$&#xA;$$ ⟦C₁;C₂⟧ = ⟦C_2⟧ ∘ ⟦C_1⟧ = λs.⟦C_2⟧~(⟦C_1⟧~s)$$&#xA;$$ ⟦\mathop{if}~B~\mathop{then}~C_1~\mathop{else}~C_2⟧ = &#xD;&#xA;   λs.⟦B⟧~s~(⟦C₁⟧~s)~(⟦C₂⟧~s) $$&#xA;$$\vdots$$&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Exercise 1: Prove the correctness of this compilation wrt to a standard operational semantics.  &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Exercise 2: Check that everything works in a typed context (you will however need some kind of fixpoint operator to translate the while construction). &lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="1073" LastEditorUserId="1073" LastEditDate="2011-06-22T17:38:13.053" LastActivityDate="2011-06-22T17:38:13.053" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="6660" PostTypeId="1" AcceptedAnswerId="6661" CreationDate="2011-05-19T12:03:37.647" Score="66" ViewCount="8334" Body="&lt;p&gt;Do you know sensible algorithms that run in polynomial time in (Input length + Output length), but whose asymptotic running time in the same measure has a really &lt;em&gt;huge&lt;/em&gt; exponent/constant (at least, where the proven upper bound on the running time is in such a way)?&lt;/p&gt;&#xA;" OwnerUserId="4290" LastEditorUserId="186" LastEditDate="2012-12-06T19:36:19.820" LastActivityDate="2018-01-22T00:44:16.977" Title="Polynomial-time algorithms with huge exponent/constant" Tags="&lt;ds.algorithms&gt;&lt;big-list&gt;" AnswerCount="17" CommentCount="7" FavoriteCount="25" CommunityOwnedDate="2012-12-06T19:38:01.160" ContentLicense="CC BY-SA 3.0" />
  <row Id="6661" PostTypeId="2" ParentId="6660" CreationDate="2011-05-19T15:33:52.000" Score="42" Body="&lt;p&gt;Algorithms based on the regularity lemma are good examples for polynomial-time algorithms with terrible constants (either in the exponent or as leading coefficients).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The regularity lemma of Szemeredi tells you that in any graph on $n$ vertices you can partition the vertices into sets where the edges between pairs of sets are &quot;pseudo-random&quot; (i.e., densities of sufficiently large subsets look like densities in a random graph). This is a structure that is very nice to work with, and as a consequence there are algorithms that use the partition.&#xA;The catch is that the number of sets in the partition is an exponential tower in the parameter of pseudo-randomness (See here: &lt;a href=&quot;http://en.wikipedia.org/wiki/Szemer%C3%A9di_regularity_lemma&quot;&gt;http://en.wikipedia.org/wiki/Szemer%C3%A9di_regularity_lemma&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For some links to algorithms that rely on the regularity lemma, see, e.g.:&#xA;&lt;a href=&quot;http://www.cs.cmu.edu/~ryanw/regularity-journ.pdf&quot;&gt;http://www.cs.cmu.edu/~ryanw/regularity-journ.pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="1621" LastActivityDate="2011-05-19T15:33:52.000" CommentCount="3" CommunityOwnedDate="2012-12-06T19:38:01.160" ContentLicense="CC BY-SA 3.0" />
  <row Id="6662" PostTypeId="2" ParentId="6660" CreationDate="2011-05-19T15:54:54.533" Score="25" Body="&lt;p&gt;There exists a class of problems, whose solutions are hard to compute, but approximating them to any accuracy is &lt;em&gt;easy&lt;/em&gt;, in the sense that there are polynomial-time algorithms that can approximate the solution to within $(1+\epsilon)$ for any constant ε &gt; 0. &#xA;However, there's a catch: the running time of the approximators may depend on $1/\epsilon$ quite badly, e.g., be $O(n^{1/\epsilon})$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See more info here: &lt;a href=&quot;http://en.wikipedia.org/wiki/Polynomial-time_approximation_scheme&quot;&gt;http://en.wikipedia.org/wiki/Polynomial-time_approximation_scheme&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="873" LastEditorUserId="1621" LastEditDate="2011-05-25T19:39:02.330" LastActivityDate="2011-05-25T19:39:02.330" CommentCount="0" CommunityOwnedDate="2012-12-06T19:38:01.160" ContentLicense="CC BY-SA 3.0" />
  <row Id="6663" PostTypeId="2" ParentId="6642" CreationDate="2011-05-19T17:18:50.980" Score="1" Body="&lt;p&gt;im not sure about the answer (haven't gone through paper) but i think this should help. The  numbers are packed into a single word, so operations on a single word take O(1) time. If there are, say, k numbers of h bits each then word size depends on k,h which in turn also depends on the range of numbers. So we use range reduction techniques that can reduce the range of numbers so that many numbers can fit in a single word. Then creating proper bit masks, we can find separate larger integers from the shorter ones considering two words at a time. This can be done in O(1) time. (Ontuition: for this each number stored in word has a flag bit associated with it and then we subtract two words... if the flag bit goes then it's smaller a number).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Similarly using above we can also sort any word containing k numbers in O(log k) time (bitonic sort). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit:&#xA;Algorithm to sort 2k numbers in the range 0 to m-1 packed in a word where each number takes size L of = log(m+k)+2. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$K_1$ be 1:000000 1:000000 1:000000 1:000000....... so on where the bit before colon is also called flag bit and each sequence is L bits long and is repeated 2k times in the word K_1.(Colon is only for understanding)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$K_2$ is (2k-1)(2k-2)....1 written in binary.&#xA;Sketch of algorithm:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Repeat for t=log k to 0. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Part 1 - separate the original word Z into two words A and B.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Let T be obtained by shifting $K_2$, (L-1-t positions) to the left and ANDing the result with $K_1$. Let M=T-(T shifted L-1 places).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;And Z with M and shift the result ($2^t L$) places to right. This gives A.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;B=Z-(Z&amp;amp;M).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Part 2&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;M=((A OR $K_1$)-B)&amp;amp; $K_1$&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;M=M-(M shifted left L-1 places).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;MIN=(B&amp;amp;M) OR (A-(A&amp;amp;M))&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;MAX=(A&amp;amp;M) OR (B-(B&amp;amp;M))&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;MAX is shifted by $2^t L$ places.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Finally appropriately ORing MAX and MIN we get back Z.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;I have given the sketch, hope you can fill up necessary details required.&lt;/p&gt;&#xA;" OwnerUserId="4529" LastEditorUserId="4529" LastEditDate="2011-05-24T08:02:55.277" LastActivityDate="2011-05-24T08:02:55.277" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="6665" PostTypeId="1" AcceptedAnswerId="6691" CreationDate="2011-05-20T06:57:52.850" Score="4" ViewCount="625" Body="&lt;p&gt;I would like to learn about the following search problem, in particular, which kind of algorithms exist for it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose we have a huge search space $S$. For each element $s \in S$, we have the weight function $w(s)$. We start at some element $s_0 \in S$ and want to find an element with very low $w$-value.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;How can we traverse this search space? For each element $s_1 \in S$, there exists a set of keys $K_S$, and we have some function $a : S \times K_S \rightarrow S$, that computes a new element $s_2 = a(s_1,k)$ for some $k \in K_S$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We can evaluate the weight of some element $s$ only once it is given. But computing the weight is expensive, and should be minimalized. In order to find a good choice how to traverse throughout this graph, we are given a heuristic $h(s)$, that is supposed to compute a &quot;good&quot; key.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We know for small changes of the key (say, in Hamming distance), the weight of $w(s)$ does not change to much.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question:&lt;/strong&gt; Is such a problem known in theoretical computer science, and does there exist theory for it? In particular I am looking for algorithms for problems like these, and conditions on the heuristic $h$ to provide a &quot;good&quot; heuristic. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The description is deliberately vague, in order to allow for wider range of answers. I think many search algorithms do not apply, because they are too generous with search space evaluation. Maybe the problem is even too ill-posed to be accessible to CST tools.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thank you very much!&lt;/p&gt;&#xA;" OwnerUserId="4346" LastEditorUserId="186" LastEditDate="2011-05-24T02:34:21.787" LastActivityDate="2015-12-01T17:47:57.980" Title="A search problem and no algorithm for it" Tags="&lt;ds.algorithms&gt;&lt;optimization&gt;&lt;heuristics&gt;&lt;search-problem&gt;" AnswerCount="4" CommentCount="2" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="6666" PostTypeId="2" ParentId="6665" CreationDate="2011-05-20T09:00:22.577" Score="0" Body="&lt;p&gt;I think that the description is a bit too vague. You have to assume that $w(s)$ is sufficiently smooth to make efficient optimization feasible.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Anyway, I don't know about any particular theory for this kind of problems, but the obvious algorithm that comes into my mind is to expand the successors of each element starting from the one computed from the heuristic key and then use some scheme to consider the other key in order of increasing distance form the heuristic one (either exhaustive or random sampling).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More generally, you could convert the problem into a more conventional optimization problem by considering an extended search space:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\forall s$ consider a set $\left \{ s_d \right \}$ elements.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$s_0$ corresponds to $s$ and has as successors only $s_1$ and the element reached by the heuristic key. $s_1$ has as successors only $s_2$ and the elements reached by keys at distance $1$ from the heuristic key, and so on.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Note however that $s_{d_{MAX}/2}$ has exponentially many successors).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You could assign the weight $w(s_d)$ equal to $w(s)$ plus some penalty (additive or multiplicative) based on distance $d$. This will drive the optimization algorithm to expand low-distance nodes first.&lt;/p&gt;&#xA;" OwnerUserId="1749" LastActivityDate="2011-05-20T09:00:22.577" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6668" PostTypeId="2" ParentId="6665" CreationDate="2011-05-20T12:30:54.160" Score="-1" Body="&lt;p&gt;It sounds like what you need is the &lt;a href=&quot;http://en.wikipedia.org/wiki/A_star&quot; rel=&quot;nofollow&quot;&gt;A* algorithm&lt;/a&gt;.  This is a good algorithm for traversing a graph using a heuristic to estimate the &quot;distance&quot; each node is from the destination.  In your case, the destination is any node which has a low weight.  The heuristic for &quot;distance from a low weight node&quot; would then be a guess as to how close a node is from a low weight node (it sounds like you already know this).  I would check out the wikipedia page I posted above for this algorithm and others like it.&lt;/p&gt;&#xA;" OwnerUserId="4765" LastActivityDate="2011-05-20T12:30:54.160" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6669" PostTypeId="1" CreationDate="2011-05-20T12:40:30.580" Score="2" ViewCount="460" Body="&lt;p&gt;Let $P$ be the class of formal languages that have polynomial-time decider, i.e. for each $L\in P$ there exists a Turing-machine $T$ such that for each $w\in L$ machine $T$ decides if $w\in L$ in polynomial time wrt the length of $w$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is it possible to define a grammar (in any &quot;reasonable&quot; sense) that could be used to define exactly the languages in $P$? &lt;/p&gt;&#xA;" OwnerDisplayName="user3355" LastActivityDate="2011-05-22T23:13:09.583" Title="A formal grammar for P?" Tags="&lt;cc.complexity-theory&gt;&lt;fl.formal-languages&gt;&lt;grammars&gt;" AnswerCount="2" CommentCount="6" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="6670" PostTypeId="1" CreationDate="2011-05-20T13:34:41.680" Score="24" ViewCount="10818" Body="&lt;p&gt;What applications does the &lt;a href=&quot;http://en.wikipedia.org/wiki/Vertex_cover&quot;&gt;Vertex Cover Problem&lt;/a&gt; have in the real world?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Which industry or research projects use actually implemented software that is based on theoretical results for the Vertex Cover problem? In particular, are any of the following theoretical results implemented in used software?&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Approximation algorithms for Vertex Cover&lt;/li&gt;&#xA;&lt;li&gt;Exponential-time algorithms for Vertex Cover&lt;/li&gt;&#xA;&lt;li&gt;Fixed-parameter tractable algorithms for Vertex Cover&lt;/li&gt;&#xA;&lt;li&gt;Kernelization algorithms for Vertex Cover&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="5108" LastEditorUserId="239" LastEditDate="2011-06-16T15:47:43.353" LastActivityDate="2019-10-12T13:58:57.887" Title="Vertex Cover applications in the real world" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;" AnswerCount="5" CommentCount="9" FavoriteCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="6672" PostTypeId="2" ParentId="6670" CreationDate="2011-05-20T15:24:51.207" Score="10" Body="&lt;p&gt;An example might be that the edges of the graph represent roads while the vertices represent the crossroads.&#xA;The task is to place security cameras at the crossroads in a way that will let you see the whole city but it is desirable to use as less cameras as possible in order to save money.&lt;/p&gt;&#xA;" OwnerUserId="5152" LastActivityDate="2011-05-20T15:24:51.207" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="6675" PostTypeId="1" CreationDate="2011-05-20T16:39:02.697" Score="1" ViewCount="172" Body="&lt;p&gt;I'm a bit new to the practical use of memristors in general, but I'm starting to see it as a (3D stacked) grid of components that could be treated as transistors or flip-flops on demand (which may be completely wrong, I'm not sure). It seems like the usual Von Neumann architecture wouldn't be ideal at all (of course you could emulate it, but it doesn't seem like a good idea). Does anyone know of any models that are better suited? I'm trying to get my brain to move past a model that would create variable &quot;cores&quot; that scale with size as the program runs in the memristive space (I've been poisoned by the current models) and more of one where the &quot;core&quot; and memory is combined (no independent TLB/cache/RAM).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit:&lt;/strong&gt; As to what I mean by memristive grid -- So, lets say you have a 3 dimensional hypercube with &quot;nodes&quot; at each discrete x,y,z coordinate. Each one of these nodes is addressable. When you address a node, you can tell it to become a bit of memory or a gate (just like an FPGA gate). After you tell all of the nodes what they are, you can then perform computation in the hypercube using the landscape of memory and gates that you designed. It's kinda like a processor with bits of memory sitting right next to the transistors, but you can reconfigure it as you go (under a nanosecond for each reconfiguration), possibly after each instruction that you execute in the landscape.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit:&lt;/strong&gt; One of the things that got me interested in thinking about this problem is the idea that you can calculate Hilbert integers for a space filling curve and transpose the hypercube into a linear space using reflected binary codes -- it might lead into some interesting memory arrangements when you try to optimize the clustering of memristive memory and computation.&lt;/p&gt;&#xA;" OwnerUserId="3415" LastEditorUserId="186" LastEditDate="2011-05-24T03:19:45.230" LastActivityDate="2011-05-24T03:19:45.230" Title="What is the the optimal computational model for memristive style CMOS?" Tags="&lt;computability&gt;&lt;machine-models&gt;" AnswerCount="0" CommentCount="7" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="6678" PostTypeId="1" AcceptedAnswerId="6681" CreationDate="2011-05-20T19:37:05.443" Score="10" ViewCount="502" Body="&lt;p&gt;There has been a fair amount of work on computational problems for partial orders (e.g., recognition, jump number, comparability graph recognition, etc...).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am curious what work specific to lattices has been done. I have searched around and not found much similar work for lattices. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In particular, I am interested in whether the following lattice problems have been investigated:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Lattice recognition: given a DAG or a partial order is it in fact a lattice?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Lattice comparability graph recognition: given a undirected graph G, can the edges of G be oriented such that the resulting orientation is a lattice?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Determining/counting the join irreducible elements of a lattice&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Determining if a given lattice is distributed/modular&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="482" LastEditorUserId="80" LastEditDate="2011-05-23T07:00:13.623" LastActivityDate="2019-08-19T17:24:53.890" Title="Lattice problems" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;graph-algorithms&gt;&lt;partial-order&gt;&lt;order-theory&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="6680" PostTypeId="2" ParentId="6669" CreationDate="2011-05-20T20:24:39.973" Score="2" Body="&lt;p&gt;If you have notions of linear logic, you might want to have a look at the article &lt;em&gt;Soft Linear Logic and Polynomial Time&lt;/em&gt; [1] that describes a variant of linear logic (some of the deduction rules have been modified) whose formulas are only provable by proof that are polynomial-time algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.6.1196&quot; rel=&quot;nofollow&quot;&gt;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.6.1196&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Abstract:&lt;/strong&gt; We present a subsystem of second order Linear Logic with restricted rules for exponentials so that proofs correspond to polynomial time algorithms, and vice-versa.&lt;/p&gt;&#xA;" OwnerUserId="5097" LastActivityDate="2011-05-20T20:24:39.973" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6681" PostTypeId="2" ParentId="6678" CreationDate="2011-05-21T03:12:25.863" Score="16" Body="&lt;p&gt;Re your questions (2+4): an undirected graph G is the covering graph (not the comparability graph!) of a distributed lattice iff it is a &lt;a href=&quot;http://en.wikipedia.org/wiki/Median_graph&quot; rel=&quot;noreferrer&quot;&gt;median graph&lt;/a&gt; and it has two vertices that are complementary (on opposite sides of each Djokovic equivalence class of edges); see Duffus, Dwight; Rival, Ivan (1983), &quot;Graphs orientable as distributive lattices&quot;, Proc. AMS 88 (2): 197–200. This can be turned into an efficient algorithm by combining a median graph recognition algorithm (see the Wikipedia article) with an algorithm for finding complementary pairs of vertices (see theorem 3 of &lt;a href=&quot;http://arxiv.org/abs/cs.DS/0206033&quot; rel=&quot;noreferrer&quot;&gt;arxiv:cs.DS/0206033&lt;/a&gt;).&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2011-05-21T03:12:25.863" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6682" PostTypeId="1" CreationDate="2011-05-21T09:19:47.893" Score="4" ViewCount="648" Body="&lt;p&gt;Are there any results on the existence of synchronizing sequences for a standard 3x3 rubik's cube? Like a proof that there are none? My google-skills failed me... &lt;/p&gt;&#xA;" OwnerUserId="5160" LastEditorUserId="186" LastEditDate="2011-05-24T03:15:06.493" LastActivityDate="2011-05-24T20:02:36.690" Title="Synchronizing sequences for rubik's cube?" Tags="&lt;co.combinatorics&gt;&lt;automata-theory&gt;&lt;puzzles&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6683" PostTypeId="2" ParentId="6682" CreationDate="2011-05-21T10:05:23.830" Score="12" Body="&lt;p&gt;&lt;strong&gt;Synchronizing sequence&lt;/strong&gt; over a finite state machine: a sequence of state transitions that leads the machine to a known unique final state independently of the (unknown) initial state.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the Rubik's cube there are obviously no &quot;self stopping&quot; configurations: every move leads to a new configuration, so you are forced to look at the current configuration in order to decide the next move. This implies that a &lt;em&gt;synchronizing sequence&lt;/em&gt; (as usually defined) cannot exist.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A trivial demonstration: suppose that $SSEQ = m_1 m_2 m_3 ... m_n$ is a synchronizing sequence of moves that leads to a solved Rubik's cube independently of the initial configuration. Now pick a wrong configuration and apply the reverse sequence $m^{-1}_n m_{n-1}^{-1} ... m_1^{-1}$ where $m_i^{-1}$ is the inverse of move $m_i$ (and is well defined because if you apply the same move to two different cube configurations you cannot obtain the same configuration). This reverse sequence leads to a unique configuration $c_0$. If you apply sequence $SSEQ$ to $c_0$ you obviously don't end to a solved Rubik's cube.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What you can do is to allow to stop every &lt;em&gt;subsequence&lt;/em&gt; looking at the content of a particular cube's coordinate. For example run subsequence 1 until corner at (0,0,0) contains the red+yellow+blue block, then proceed to subsequence 2 (which will correctly position another block, and so on. In this case you can reach a known final configuration running a fixed sequence of moves made of &lt;em&gt;subsequences&lt;/em&gt; that can stop looking at the content of a fixed sequence of blocks. This is very similar to what is usually called an &lt;strong&gt;homing sequence&lt;/strong&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Perhaps another nice question is &quot;What is the shortest sequence of moves and monitored coordinates that leads to a known final configuration in this &lt;strong&gt;modified homing version&lt;/strong&gt;?&quot;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example to put a known block at monitored coordinate (0,0,0) (asterisk * in the figure), the length of the first trivial subsequence must be 28&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;F1.rotate, F1.rotate, F1.rotate &#xA;R4.shiftL, R6.shiftL, F1.rotate, F1.rotate, F1.rotate&#xA;R4.shiftL, R6.shiftL, F1.rotate, F1.rotate, F1.rotate&#xA;R4.shiftL, R6.shiftL, F1.rotate, F1.rotate, F1.rotate&#xA;C4.shiftDown, C6.shiftDown, F1.rotate, F1.rotate, F1.rotate&#xA;C4.shiftDown, C6.shiftDown, F1.rotate, F1.rotate, F1.rotate&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/LzMGx.jpg&quot; alt=&quot;Rubik&amp;#39;s cube&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT:&lt;/strong&gt;&#xA;Another interesting question (suggested by Tsuyoshi and Kaveh in the comments) arise if we consider the case in which the sequence of moves automatically stops when the cube is solved: if no information is gathered/stored during the moves then we must scan all cube's configurations (similar configurations obtained rotating the whole cube should be grouped in equivalence classes).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But what is the shortest sequence that scans all cube's configurations, or better &lt;strong&gt;does the configuration graph of the cube have a Hamiltonian path?&lt;/strong&gt;.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;This is a special case of a more general unsolved problem: for an arbitrary permutation group with a given generating set, is its Cayley graph Hamiltonian?&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;There are some good info available online, I cite the book: &lt;em&gt;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0801869471&quot; rel=&quot;nofollow noreferrer&quot;&gt;Adventures in Group Theory: Rubik's Cube, Merlin's Machine, and Other Mathematical Toys&lt;/a&gt;&lt;/em&gt; and the lecture notes by W.D.Joyner: &lt;em&gt;&lt;a href=&quot;http://www.permutationpuzzles.org/rubik/webnotes/rubik.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Mathematics of the Rubik's cube&lt;/a&gt;&lt;/em&gt; (downloadable in pdf format).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Chapter 6 of the lecture notes is devoted to &lt;em&gt;Cayley graphs&lt;/em&gt; and &lt;em&gt;God's algorithm&lt;/em&gt;.&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2011-05-24T20:02:36.690" LastActivityDate="2011-05-24T20:02:36.690" CommentCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="6684" PostTypeId="1" CreationDate="2011-05-21T11:51:33.787" Score="5" ViewCount="474" Body="&lt;p&gt;From time to time, I have to read a paper with &lt;em&gt;unclear typesetting&lt;/em&gt;. By this, I mean:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;very small fonts; sometimes 8pt or smaller.&lt;/li&gt;&#xA;&lt;li&gt;very bad scan;&lt;/li&gt;&#xA;&lt;li&gt;Using &lt;a href=&quot;http://en.wikipedia.org/wiki/Computer_font#Bitmap_fonts&quot;&gt;bitmap fonts&lt;/a&gt; instead of vector ones.&lt;/li&gt;&#xA;&lt;li&gt;too old formatting (usually dating back to 1970s or the beginning of 1980s.)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;In these cases, one might prefer to read a more clear version submitted to the authors' home page. Unfortunately, the author version is not always available; and even in that case, they might be very lengthy (the so-called &lt;em&gt;full version&lt;/em&gt; of the paper).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the case of bitmap fonts, I found a good strategy: Find the postscript (PS) version of the paper, and convert the bitmap fonts to their vector counterparts using &lt;a href=&quot;http://www.ctan.org/pkg/pkfix&quot;&gt;pkfix&lt;/a&gt; or a combination of &lt;a href=&quot;http://www.ctan.org/tex-archive/support/pkfix-helper&quot;&gt;pkfix-helper&lt;/a&gt; + pkfix, whichever applies (read the documentation).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, I still can't find a workaround for other problems. Specially, small-font papers bother me a lot. My best bet is to use a &lt;strong&gt;desk lamp&lt;/strong&gt;: I don't know why, but magically the words seem  larger under its light!&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;How do you read a paper whose typesetting is unclear? Specially, what do you do when the font is too small to read?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;PS: Some months ago, I found an application which &quot;splited&quot; a PDF into several segments, so that they were easy to read on an iPhone or the like. (Sorry, I don't recall the name of that app.) However, the output was downgraded to fit the iPhone small screen, and therefore it wasn't apt for computer screen or printer.&lt;/p&gt;&#xA;" OwnerUserId="873" LastActivityDate="2013-01-17T22:29:22.143" Title="Reading Papers with Unclear Typesetting" Tags="&lt;soft-question&gt;&lt;advice-request&gt;" AnswerCount="2" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="6687" PostTypeId="1" AcceptedAnswerId="6689" CreationDate="2011-05-21T22:47:25.307" Score="6" ViewCount="501" Body="&lt;p&gt;By this I mean to ask, is it a bad idea to have all type constructor term expressions abstracted with $\mu$ just in case they need to be recursive? For example,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$Bool : Type;$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$Bool = (\mu Bool&amp;#39; . (Unit \lor Unit));$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The value constructors would still just be $(inj_0 unit)$ and $(inj_1 unit)$ in a system with equirecursive types, right? It seems like it would just be $O(x + 1)$ for an $O(x)$ type checking algorithm using unification, or maybe not even that.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I understand why $Bool$ is not written this way by default, especially considering recursive types are usually added to a theory after-the-fact and therefore the value constructors would differ depending on the variant of the recursive type theory. It's much less intuitive to read $(\mu X . \tau)$ than just $\tau$ when programming or proving theorems but are there any reasons of real consequence for not doing this? I can't find any.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The reason I ask this question is because I am writing a program to translate a functional programming language into a core dependent type theory with equirecursive types.&lt;/p&gt;&#xA;" OwnerUserId="5167" LastActivityDate="2011-05-22T07:09:54.990" Title="With equirecursive types are there downsides to making all types potentially recursive?" Tags="&lt;type-theory&gt;&lt;functional-programming&gt;&lt;type-inference&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="6688" PostTypeId="2" ParentId="6687" CreationDate="2011-05-22T04:09:37.807" Score="5" Body="&lt;p&gt;You can put the fixed point operator in front of whatever you want if you don't use the formal parameter (just like you can add and remove for alls and exists arbitrarily in logic if their formal parameter isn't used). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is (in my opinion, not knowing your application that well) no advantage or disadvantage to always including a dummy fixed point in a system with equirecursive types. The theory doesn't change, and in practice nothing changes either because you can syntactically check if the formal parameter is used, and if not, special case the logic to be faster/use less memory/whatever.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;edit&lt;/strong&gt;: I had a bit of trouble understanding this question. If you want to know if you should restrict the syntax of types to always have a fixed point, I think you should not: types with forced irrelevant fixed points are unnecessarily ugly/complicated/nonstandard for no good reason. &lt;/p&gt;&#xA;" OwnerUserId="3062" LastEditorUserId="3062" LastEditDate="2011-05-22T04:16:19.137" LastActivityDate="2011-05-22T04:16:19.137" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6689" PostTypeId="2" ParentId="6687" CreationDate="2011-05-22T07:09:54.990" Score="10" Body="&lt;p&gt;My advice would be to make sure that your translation function is  &lt;em&gt;compositional&lt;/em&gt; and &lt;em&gt;straightforward&lt;/em&gt;, i.e., for a typical construct $A * B$ the translation function $t$ should have the form $t(A * B) = s(t(A), t(B))$, where $s$ is the translation of $*$. Thus the translation should follow the syntax of the input language. If you want to perform any &quot;optimizations&quot;, those should come as convinient tactics that get used &lt;em&gt;after&lt;/em&gt; the translation phase. This will make it easier to pove that your translation works correctly.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Concretely, if your input language has a construct for defining recursive types, such as &lt;code&gt;data&lt;/code&gt; in Haskell, then you should translate those to $\mu \cdots$ even if they are not actually using the recursion, because that is what they are. You can always have a simple lemma afterwards which shows that $\mu$ can be omitted in certain cases. If you set up your tactics the right way, the theorem prover will simplify things by itself (and do much more if needed). But you should not put $\mu$ in front of a definition that cannot be recursive, such as &lt;code&gt;newtype&lt;/code&gt;. In other languages, for example in Ocaml, the only way to introduce a new type is with &lt;code&gt;type&lt;/code&gt;, which may be recursive, so there you'd put $\mu$ in front of everything.&lt;/p&gt;&#xA;" OwnerUserId="705" LastActivityDate="2011-05-22T07:09:54.990" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="6691" PostTypeId="2" ParentId="6665" CreationDate="2011-05-22T15:02:11.497" Score="6" Body="&lt;p&gt;Your description is a bit vague, but the problem you describe seems very similar to the canonical problem defining the complexity class PLS (&lt;a href=&quot;http://en.wikipedia.org/wiki/PLS_%28complexity%29&quot;&gt;http://en.wikipedia.org/wiki/PLS_(complexity)&lt;/a&gt;). Problems in PLS can be described by an exponentially sized graph that you have access to using two polynomial time algorithms: one for evaluating the weight of a current vertex, and one for directing you to the neighbors of a current vertex. The goal is to find a local-minimum in the graph: any vertex such that none of its neighbors have lower weight. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Complete problems for this class include computing pure strategy Nash equilibria in congestion games (See e.g. &lt;a href=&quot;http://www.cs.berkeley.edu/~christos/games03/pls.ps&quot;&gt;here&lt;/a&gt;), and no polynomial time algorithms for such problems are known. &lt;/p&gt;&#xA;" OwnerUserId="25" LastActivityDate="2011-05-22T15:02:11.497" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6692" PostTypeId="1" CreationDate="2011-05-22T15:03:10.200" Score="7" ViewCount="335" Body="&lt;p&gt;Is there a simple and intuitive explanation for the fact that the following parsing expression (where &lt;code&gt;S&lt;/code&gt; is the starting symbol, &lt;code&gt;$&lt;/code&gt; denotes end-of-string and &lt;code&gt;/&lt;/code&gt; is ordered choice)&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;S &amp;lt;- X $&#xA;X &amp;lt;- 'a' X 'a' / 'aa'&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;only matches strings of 'a's with a length that is a &lt;strong&gt;power&lt;/strong&gt; of 2? (The same grammar interpreted as a CFG would match strings of 'a's with a length that is a &lt;strong&gt;multiple&lt;/strong&gt; of two.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;And how can PEGs be suitable for the specification of computer languages if ordered choice makes the language defined by a PEG that unintuitive to understand?&lt;/p&gt;&#xA;" OwnerUserId="5171" LastEditorUserId="5171" LastEditDate="2011-05-22T15:11:05.893" LastActivityDate="2011-05-22T15:11:05.893" Title="The semantics of Parsing Expression Grammars" Tags="&lt;fl.formal-languages&gt;&lt;grammars&gt;&lt;semantics&gt;&lt;parsing&gt;" AnswerCount="0" CommentCount="3" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="6693" PostTypeId="2" ParentId="6651" CreationDate="2011-05-22T15:47:45.700" Score="9" Body="&lt;p&gt;In addition to the paper Martin pointed you to, there was an earlier paper by Terry Rudolph and Lov Grover showing that a 2 rebit gate is universal for quantum computing (see &lt;a href=&quot;http://arxiv.org/abs/quant-ph/0210187&quot; rel=&quot;noreferrer&quot;&gt;quant-ph/0210187&lt;/a&gt;). The gate has all real enteries, and in case you are unaware rebits are qubits where the amplitudes are restricted to real numbers. This may be the source of the claim. The gate in question described in the paper is a controlled Y rotation. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is worth noting that such a controlled-Y gate can be created from Y-rotations and controlled-Z gates as follows: $G(\theta) = Y_2(\frac{\theta}{2}) CZ_{12} Y_2(\frac{\theta}{2}) CZ_{12}$. Note that a Y-rotation is exactly the type of rotation described in your question, while controlled-Z gates has entries only +1 and -1.&lt;/p&gt;&#xA;" OwnerUserId="204" LastActivityDate="2011-05-22T15:47:45.700" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6694" PostTypeId="2" ParentId="5801" CreationDate="2011-05-22T17:57:56.753" Score="4" Body="&lt;p&gt;An excellent introductory probability book for computer science people is Henk Tijms, Understanding Probability, Cambridge University Press, 2nd ed., 2007. This book distinguishes itself from other introductory probability texts by its emphasis on why probability works and how to apply it.&lt;/p&gt;&#xA;" OwnerUserId="5173" LastActivityDate="2011-05-22T17:57:56.753" CommentCount="0" CommunityOwnedDate="2011-05-22T17:57:56.753" ContentLicense="CC BY-SA 3.0" />
  <row Id="6695" PostTypeId="2" ParentId="6670" CreationDate="2011-05-22T21:15:48.193" Score="14" Body="&lt;p&gt;Some problems in the area of computational biology seem suitable for practical applications that are not artificial - or at least not as artificial as the problems mentioned by Jukka Suomela.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For instance, people often mention the work by F. Abu-Khzam, R. Collins, M. Fellows, M. Langston, W. Suters C. Symons, &lt;em&gt;Kernelization Algorithms for the Vertex Cover Problem: Theory and Experiments&lt;/em&gt;, Proceedings of the 6th Workshop on Algorithm Engineering and Experiments (ALENEX), ACM/SIAM, Proc. Applied Mathematics 115, 2004.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As the authors state, &quot;One of the applications to which we have applied our methods involves finding phylogenetic trees based on protein domain information, ...&quot; (section 8 of above paper).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A subset of the authors have similar papers on this topic, see, e.g., Faisal N. Abu-Khzam, Michael A. Langston, Pushkar Shanbhag and Christopher T. Symons, &lt;em&gt;Scalable Parallel Algorithms for FPT Problems&lt;/em&gt;, Algorithmica, Volume 45, Number 3, 269-284.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm not sure whether the instances used in the experiments were real-world instances or artificial, but I hope the two references give you a good starting point.&lt;/p&gt;&#xA;" OwnerUserId="4920" LastActivityDate="2011-05-22T21:15:48.193" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6696" PostTypeId="2" ParentId="6669" CreationDate="2011-05-22T23:13:09.583" Score="2" Body="&lt;p&gt;If you are not talking about &quot;a grammar&quot;, but rather a grammar formalism, or class of grammars, then this might be useful: &lt;strong&gt;the class of languages generated by Range Concatenation Grammars (RCG) is exactly PTIME&lt;/strong&gt; (for a proof, see &lt;a href=&quot;http://www.google.com/url?sa=t&amp;amp;source=web&amp;amp;cd=11&amp;amp;ved=0CBYQFjAAOAo&amp;amp;url=ftp://ftp.dfki.uni-sb.de/papers/local/nederhof01c.ps.gz&amp;amp;rct=j&amp;amp;q=range%20concatenation%20grammars%20%22ptime%22&amp;amp;ei=zZbZTdDKBYyZOqLyxOEP&amp;amp;usg=AFQjCNGfY3BbaLPjJjTrxNitJ0o7BW1wQQ&quot; rel=&quot;nofollow&quot;&gt;Bertsch and Nederhof&lt;/a&gt;; for an introduction to RCG, see various papers by Boullier or the &lt;a href=&quot;http://en.wikipedia.org/wiki/Range_concatenation_grammars&quot; rel=&quot;nofollow&quot;&gt;Wikipedia article&lt;/a&gt;).&lt;/p&gt;&#xA;" OwnerUserId="977" LastActivityDate="2011-05-22T23:13:09.583" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6697" PostTypeId="2" ParentId="791" CreationDate="2011-05-23T00:24:53.603" Score="-4" Body="&lt;p&gt;This is Bill Bouris. Hi, Dan. I'm working on a program that searches for a suitable 17x17 matrix which exhibits no-4-coloring according to Ramsey's Theory. I use a positional matrix depicting all connections between points and fix the main diagonal and allow the top row of the matrix to run through all of the possible 16choose8 combinations; I capture only the matrices that pass regarding the following criteria... no-XRRR, no-RXRR, no-RRXR, no-RRRX, no-XBBB, no-BXBB, etc., then I sweep through the matrix using the next weakest criteria... no-XBRR, noBXRR, no-BBXR, no-BBRX, no-XRBB, no-RXBB, etc. for a total of 32 sweeps until the computer fills in the coloring automatically. I've noticed that there's a possible candidate per every 400 matrices out of a total 12780, and it takes .95 hours to find the candidate or 1 per every 8.644 seconds. It's coming along, but I don't have much time to program it... as I work full-time. We should work together... I could use the $289.00!&lt;/p&gt;&#xA;" OwnerUserId="5179" LastActivityDate="2011-05-23T00:24:53.603" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="6699" PostTypeId="2" ParentId="6660" CreationDate="2011-05-23T04:53:36.223" Score="11" Body="&lt;p&gt;The solution of &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/0095895682900582&quot;&gt;Annihilation Games&lt;/a&gt; (Fraenkel and Yesha) has complexity $O(n^6)$.&lt;/p&gt;&#xA;" OwnerUserId="40" LastActivityDate="2011-05-23T04:53:36.223" CommentCount="0" CommunityOwnedDate="2012-12-06T19:38:01.160" ContentLicense="CC BY-SA 3.0" />
  <row Id="6700" PostTypeId="2" ParentId="6660" CreationDate="2011-05-23T11:51:23.187" Score="18" Body="&lt;p&gt;Although the run-time for such algorithms has been subsequently improved, the original algorithm for sampling a point from a convex body had run time $\tilde{O}(n^{19})$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Dyer, Frieze, and Kannan: &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=102783&quot;&gt;http://portal.acm.org/citation.cfm?id=102783&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="25" LastActivityDate="2011-05-23T11:51:23.187" CommentCount="0" CommunityOwnedDate="2012-12-06T19:38:01.160" ContentLicense="CC BY-SA 3.0" />
  <row Id="6701" PostTypeId="2" ParentId="6614" CreationDate="2011-05-23T13:45:46.127" Score="2" Body="&lt;p&gt;Here's a collection of graphs that we used for analyzing a vertex cover heuristic:&#xA;&lt;a href=&quot;http://www.ru.is/kennarar/eyjo/vertexcover.html&quot; rel=&quot;nofollow&quot;&gt;http://www.ru.is/kennarar/eyjo/vertexcover.html&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can download a zipfile containing all the graphs here:&#xA;&lt;a href=&quot;http://www.ru.is/kennarar/eyjo/vertexcover/graphs.zip&quot; rel=&quot;nofollow&quot;&gt;http://www.ru.is/kennarar/eyjo/vertexcover/graphs.zip&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The format is not exactly as you specified but it's close enough.&lt;/p&gt;&#xA;" OwnerUserId="5184" LastActivityDate="2011-05-23T13:45:46.127" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6702" PostTypeId="2" ParentId="6607" CreationDate="2011-05-23T17:11:33.080" Score="2" Body="&lt;p&gt;I attended a talk by Sebastian Lindner in early April this year. He works for &lt;a href=&quot;http://www.springermaterials.com/&quot; rel=&quot;nofollow&quot;&gt;Springer Materials&lt;/a&gt; working on normalising citation data (can't find a reference, sadly). This is still work in progress, but we will hopefully see some significant improvement.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;From what I remember of the talk, &lt;em&gt;authors&lt;/em&gt; can help a lot by adhering to some standards, wherever they take them from.&lt;/p&gt;&#xA;" OwnerUserId="1546" LastActivityDate="2011-05-23T17:11:33.080" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6704" PostTypeId="1" AcceptedAnswerId="6777" CreationDate="2011-05-24T04:35:38.180" Score="39" ViewCount="3278" Body="&lt;p&gt;&lt;em&gt;This is a cross-post from &lt;a href=&quot;https://math.stackexchange.com/questions/40971/is-the-factorization-problem-harder-than-rsa-factorization-n-pq&quot; title=&quot;math.SE&quot;&gt;math.stackexchange.&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;&#xA;&lt;hr /&gt;&#xA;&lt;p&gt;Let FACT denote the integer factoring problem: given &lt;span class=&quot;math-container&quot;&gt;$n \in \mathbb{N},$&lt;/span&gt; find primes &lt;span class=&quot;math-container&quot;&gt;$p_i \in \mathbb{N},$&lt;/span&gt; and integers &lt;span class=&quot;math-container&quot;&gt;$e_i \in \mathbb{N},$&lt;/span&gt; such that &lt;span class=&quot;math-container&quot;&gt;$n = \prod_{i=0}^{k} p_{i}^{e_i}.$&lt;/span&gt;&lt;/p&gt;&#xA;&lt;p&gt;Let RSA denote the special case of factoring problem where &lt;span class=&quot;math-container&quot;&gt;$n = pq$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$p,q$&lt;/span&gt; are primes. That is, given &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt; find primes &lt;span class=&quot;math-container&quot;&gt;$p,q$&lt;/span&gt; or NONE if there is no such factorization.&lt;/p&gt;&#xA;&lt;p&gt;Clearly, RSA is an instance of FACT. Is FACT harder than RSA? Given an oracle that solves RSA in polynomial time, could it be used to solve FACT in polynomial time?&lt;/p&gt;&#xA;&lt;p&gt;(A pointer to literature is much appreciated.)&lt;/p&gt;&#xA;&lt;hr /&gt;&#xA;&lt;p&gt;&lt;em&gt;Edit 1: Added the restriction on computational power to be polynomial time.&lt;/em&gt;&lt;/p&gt;&#xA;&lt;hr /&gt;&#xA;&lt;p&gt;&lt;em&gt;Edit 2: As pointed out in &lt;a href=&quot;https://cstheory.stackexchange.com/questions/6704/is-the-integer-factorization-problem-harder-than-rsa-factorization-n-pq/6777#6777&quot;&gt;the answer by Dan Brumleve&lt;/a&gt;, there are papers arguing for and against RSA being harder (or easier) than FACT. I found the following papers so far:&lt;/em&gt;&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;D. Boneh and R. Venkatesan. Breaking RSA may be easier than factoring. EUROCRYPT 1998. &lt;a href=&quot;http://crypto.stanford.edu/%7Edabo/papers/no_rsa_red.pdf&quot; rel=&quot;noreferrer&quot;&gt;http://crypto.stanford.edu/~dabo/papers/no_rsa_red.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;D. Brown: Breaking RSA may be as difficult as factoring. Cryptology ePrint Archive, Report 205/380 (2006) &lt;a href=&quot;http://eprint.iacr.org/2005/380.pdf&quot; rel=&quot;noreferrer&quot;&gt;http://eprint.iacr.org/2005/380.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;G. Leander and A. Rupp. On the Equivalence of RSA and Factoring regarding Generic Ring Algorithms. ASIACRYPT 2006. &lt;a href=&quot;http://www.iacr.org/archive/asiacrypt2006/42840239/42840239.pdf&quot; rel=&quot;noreferrer&quot;&gt;http://www.iacr.org/archive/asiacrypt2006/42840239/42840239.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;D. Aggarwal and U. Maurer. Breaking RSA Generically Is Equivalent to Factoring. EUROCRYPT 2009. &lt;a href=&quot;http://eprint.iacr.org/2008/260.pdf&quot; rel=&quot;noreferrer&quot;&gt;http://eprint.iacr.org/2008/260.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;&lt;em&gt;I have to go through them and find a conclusion. Is someone aware of these results, who can provide a summary?&lt;/em&gt;&lt;/p&gt;&#xA;" OwnerDisplayName="user17" LastEditorUserId="-1" LastEditorDisplayName="user17" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2020-06-16T08:39:04.667" Title="Is the integer factorization problem harder than RSA factorization: $n = pq$?" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;np-hardness&gt;&lt;cr.crypto-security&gt;&lt;factoring&gt;" AnswerCount="3" CommentCount="12" FavoriteCount="12" ContentLicense="CC BY-SA 4.0" />
  <row Id="6705" PostTypeId="1" CreationDate="2011-05-24T12:41:12.697" Score="5" ViewCount="329" Body="&lt;p&gt;Given a directed graph $(V,E)$ with $E\subseteq V\times V$, a source vertex $v_0\in V$ from which all other vertices are reachable, and a set $I$ of unique identifiers for the edges in $E$ (i.e., there is a bijection $I \rightarrow E$), we can construct a set $M\subseteq V \times \mathcal{P}(I)$ containing exactly those $(v,S)$ such that there is a path from $v_0$ to $v$ using exactly the edges represented by $S$ (in any order and repetition).&#xA;For example, the graph $(\{A,B\},\{(A,B),(B,A)\})$ with $v_0=A$ and $I(a)=(A,B), I(b)=(B,A)$ would be represented as $\{(A,\emptyset),(B,\{a\}),(A,\{a,b\}),(B,\{a,b\})\}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I wonder under which conditions the inverse construction is possible: assuming $M$ is &quot;consistent&quot; (there is at least one graph satisfying it), what conditions are needed for $M$ to represent a unique graph? Certainly $M$ has to satisfy some kind of &quot;closure&quot; property, like: for every $(v,S)\in M$ (with $S\neq\emptyset$), there exists $(u,P)\in M$ such that $|S|=|P|+1$.&#xA;Then a (hopefully deterministic) algorithm would construct $G$ by picking elements from $M$ in order of increasing cardinality.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit: of course the closure property should be that for every $(v,S)\in M$ (with $S\neq\emptyset$), there exists $(u,P)\in M$ such that $S= P\uplus\{x\}$.&#xA;But this is not strong enough if self-loops are allowed: $\{(A,\emptyset),(B,\{a\}),(B,\{a,b\})\}$ represents two non-isomorphic graphs (one with $b=(B,A)$, the other with $b=(B,B)$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit: I just noticed that there are counter-examples even without self-loops: $M=\{(A,\emptyset),(B,\{a\}),(C,\{a,b\}),(C,\{a,b,c\})\}$ may imply $c=(C,B)$ or $c=(C,A)$ (or $c=(C,C)$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Has somebody worked on this kind of problem?&lt;/p&gt;&#xA;" OwnerUserId="3102" LastEditorUserId="3102" LastEditDate="2011-06-03T14:32:16.660" LastActivityDate="2011-06-03T14:32:16.660" Title="Graph representation using edge sets" Tags="&lt;reference-request&gt;&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;graph-algorithms&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="6706" PostTypeId="1" AcceptedAnswerId="6742" CreationDate="2011-05-24T14:46:12.150" Score="4" ViewCount="459" Body="&lt;p&gt;I'm looking for a declarative formalism to describe the transformation of an abstract syntax tree generated by the parsing of one formal language into second formal language. An example of a transformation that it would have to describe is to transform following,&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;type Bool : Type {&#xA;    value false : Bool;&#xA;    value true : Bool;&#xA;};&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;into the following,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$Bool : Type;$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$Bool = (Unit \lor Unit);$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$true : Bool;$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$true = (inj_0 unit);$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$false : Bool;$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$false = (inj_1 unit);$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The only thing I can think of is defining piecewise-defined recursive function with nodes of the abstract syntax tree of the original language as input. Is there not a more concise way of declaring the transformation?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I've already implemented such transformations straightforwardly and compositionally in the programming language &lt;em&gt;Haskell&lt;/em&gt; but I'm not doing so well on formalising the tranformation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, to be clear I am &lt;em&gt;not&lt;/em&gt; talking about attaching semantic actions t the original grammar (or an attribute grammar) because I assume an abstract syntax tree has already been generated by parsing the first formal language because other analysis and rewriting needs to be done on such a tree.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that I have no interest in algorithmic efficiency of such a formalism, I only want to show that a injective function from the original formal language to the second formal language exists.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I know I must have read about this in the formal language literature but I can't think of anything specific. I've probably forgotten something really obvious...&lt;/p&gt;&#xA;&#xA;&lt;h3&gt;Edit:&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;What about natural deduction style? How could such translations be represented in natural deduction? I'll have to think about that...&lt;/p&gt;&#xA;" OwnerUserId="5167" LastEditorUserId="77" LastEditDate="2011-05-26T08:48:38.120" LastActivityDate="2011-05-28T08:46:55.970" Title="What formalisms exist to describe the translation of an abstract syntax tree into another formal language?" Tags="&lt;fl.formal-languages&gt;&lt;pl.programming-languages&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="6710" PostTypeId="2" ParentId="1168" CreationDate="2011-05-24T17:03:15.757" Score="4" Body="&lt;p&gt;Fischer Black and Myron Scholes, The Pricing of Options and Corporate Liabilities&#xA;&lt;a href=&quot;http://www.cs.princeton.edu/courses/archive/fall09/cos323/papers/black_scholes73.pdf%22The%20Pricing%20of%20Options%20and%20Corporate%20Liabilities%22&quot; rel=&quot;nofollow&quot;&gt;http://www.cs.princeton.edu/courses/archive/fall09/cos323/papers/black_scholes73.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This paper is still one of the clearest descriptions of the options pricing problem and its closed-form solution.  More fundamentally, it addresses how to price risk by convolving a probability distribution with a non-smooth payoff curve.&lt;/p&gt;&#xA;" OwnerUserId="5198" LastActivityDate="2011-05-24T17:03:15.757" CommentCount="1" CommunityOwnedDate="2011-05-24T17:03:15.757" ContentLicense="CC BY-SA 3.0" />
  <row Id="6711" PostTypeId="1" CreationDate="2011-05-24T17:54:15.433" Score="30" ViewCount="2657" Body="&lt;p&gt;To my surprise, I was not able to find papers about this - probably searched the wrong keywords.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, we've got an array of anything, and a function $f$ on its indices; $f$ is a permutation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;How do we reorder the array according to $f$ with memory and runtime as close to $O(1)$ and $O(n)$ as possible?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there any additional conditions when this task becomes easier? E.g. when we explicitly know a function $g$ is the inverse of $f$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I know of an algorithm that follows cycles and traverses a cycle for each index to check if it's the least in its cycle, but again, it has worst-case $O(n^2)$ run time, though on average it seems to behave better...&lt;/p&gt;&#xA;" OwnerUserId="326" LastEditorUserId="74" LastEditDate="2011-05-25T09:27:17.210" LastActivityDate="2014-01-21T23:28:29.163" Title="Complexity of applying a permutation in-place" Tags="&lt;ds.algorithms&gt;&lt;co.combinatorics&gt;&lt;permutations&gt;" AnswerCount="4" CommentCount="4" FavoriteCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="6713" PostTypeId="1" AcceptedAnswerId="6726" CreationDate="2011-05-24T19:34:00.970" Score="14" ViewCount="693" Body="&lt;p&gt;Greg Egan in his fiction &quot;Dark Integers&quot; (story about two universes with two different mathematics communicating by means of proving theorems around of inconsistence in arithmetic) claims that it is possible to build general purpose computer solely on existing internet routers using only its basic functionality of packet switching (and checksum correction, to be precise).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is this possible, in principle?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Update.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To make the question more precise:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is an absolutely minimal set(s) of properties the router network must have that it will be possible to build general purpose computer on top of it?&lt;/p&gt;&#xA;" OwnerUserId="491" LastEditorUserId="491" LastEditDate="2011-05-25T08:04:48.887" LastActivityDate="2011-05-25T08:23:55.640" Title="Dark Integers: General Purpose Computations on Internet Routers" Tags="&lt;computability&gt;&lt;universal-computation&gt;" AnswerCount="2" CommentCount="12" FavoriteCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="6714" PostTypeId="2" ParentId="6713" CreationDate="2011-05-24T19:46:13.437" Score="17" Body="&lt;p&gt;One approach for using internet routers etc as a computer was published in a&#xA; &lt;a href=&quot;http://www.nd.edu/~parasite/nature.pdf&quot;&gt;letter&lt;/a&gt; in Nature by Albert-Laszlo Barabasi, Vincent   W.  Freeh,  Hawoong Jeong&#xA;&amp;amp; Jay B. Brockman. They called the idea &lt;a href=&quot;http://en.wikipedia.org/wiki/Parasitic_computing&quot;&gt;Parasitic Computing&lt;/a&gt;. Their idea is to use the checks performed in the TCP protocols to perform calculations and solve NP-complete problems off-line, albeit on-line. The work has been extended &lt;a href=&quot;http://www.szene.ch/parasit/&quot;&gt;here&lt;/a&gt; to a fully functioning virtual machine. Plenty of documentation (in German) and even the source code is provided.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The book &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/1593270461&quot;&gt;Silence on the Wire&lt;/a&gt; provides a description of how this idea can be extended to use the packets floating around the internet as  RAM by sending ill-formed packets containing data which subsequently get bounced back. The amount of RAM is equal to the number of packets sent out times the size of the packets. &lt;/p&gt;&#xA;" OwnerUserId="77" LastEditorUserId="77" LastEditDate="2011-05-25T08:23:55.640" LastActivityDate="2011-05-25T08:23:55.640" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="6715" PostTypeId="2" ParentId="5143" CreationDate="2011-05-24T19:56:40.780" Score="3" Body="&lt;p&gt;In fact, it can be shown that if an ordering $\pi$ yields an ROBDD of $O(poly(n))$ size then at least $2^{\lfloor {n/2} \rfloor}$ orderings will also lead to ROBDDs of $O(poly(n))$ size, specifically the orderings obtained from $\pi$ after applying any subset of transpositions $\{(x_{\pi(2i-1)}, x_{\pi(2i)}):0 &amp;lt; 2i \leq n\}$.&lt;/p&gt;&#xA;" OwnerUserId="5241" LastActivityDate="2011-05-24T19:56:40.780" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6716" PostTypeId="2" ParentId="6711" CreationDate="2011-05-24T20:30:28.153" Score="-2" Body="&lt;p&gt;Any permutation of N items can be converted to any other permutation using N-1 or fewer exchanges. Worst case for this method can require O(n^2) calls to the your oracle, F(). Start from the least position. Let x be the position we are currently swapping.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If F(x) &gt;= x then swap positions x and F(x). Else, we must find where the item that was in position F(x) is currently in the list. We can do this with the following iteration. Let y=F(x). Do until y&gt;=x: y=F(y): End Do. Now exchange positions x and y.&lt;/p&gt;&#xA;" OwnerUserId="4881" LastEditorUserId="4881" LastEditDate="2011-05-25T02:09:37.870" LastActivityDate="2011-05-25T02:09:37.870" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="6717" PostTypeId="1" CreationDate="2011-05-24T20:53:20.620" Score="10" ViewCount="639" Body="&lt;p&gt;Given a directed graph $G = (V,E)$ and two vertices $s,t \in V$. A pair of simple paths $p_1,p_2$ from $s$ to $t$ is edge disjoint if they don't share an edge. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Using max flow, it is easy to decide if there is a pair of edge disjoint paths from $s$ to $t$. Now, is there a polynomial time delay algorithm to enumerate all pairs of edge disjoint path from $s$ to $t$? &lt;/p&gt;&#xA;" OwnerUserId="5253" LastEditorUserId="1800" LastEditDate="2011-05-25T04:19:51.310" LastActivityDate="2013-04-03T22:59:51.543" Title="Enumerating all pairs of disjoint paths" Tags="&lt;cc.complexity-theory&gt;&lt;graph-algorithms&gt;" AnswerCount="3" CommentCount="4" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="6718" PostTypeId="1" CreationDate="2011-05-24T22:04:49.050" Score="0" ViewCount="81" Body="&lt;p&gt;To prove unforgeability of threshold signatures TSig =(TKeyGen, TSign, Verify), it is sufficient to prove that the underlying signature scheme Sig=(KeyGen, Sign, Verify)&#xA;is secure and TSig is simulatable.&#xA;My question is what's the intuition behind defining the security of threshold blind signatures the same way, and is it applicable for signatures on committed messages.&lt;/p&gt;&#xA;" OwnerUserId="4899" LastActivityDate="2011-05-24T22:04:49.050" Title="Security of threshold blind signatures" Tags="&lt;cr.crypto-security&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="6719" PostTypeId="2" ParentId="1168" CreationDate="2011-05-25T01:51:01.547" Score="-1" Body="&lt;p&gt;The Base Rate Fallacy and its implications for the Difficulty of Intrusion Detection&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Stefan Axelsson, &quot;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.11.432&quot; rel=&quot;nofollow&quot;&gt;The Base-Rate Fallacy and its Implications for the Difficulty Of Intrusion&lt;/a&gt;&quot;, 1999 &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For those poor saps stuck waiting for IDS alerts, this shows that even if you're signature is 99% accurate, if it's a packet based IDS then you will still be overrun with false positives.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Comment&lt;/em&gt; - More generally an understanding of how Bayes rule applies to probabilistic inference, and how probabilistic graphical models are used illuminates many fallacies that arise in working with statistical data. &lt;/p&gt;&#xA;" OwnerUserId="5283" LastEditorUserId="186" LastEditDate="2012-06-27T23:28:24.410" LastActivityDate="2012-06-27T23:28:24.410" CommentCount="1" CommunityOwnedDate="2011-05-25T01:51:01.547" ContentLicense="CC BY-SA 3.0" />
  <row Id="6721" PostTypeId="1" AcceptedAnswerId="6754" CreationDate="2011-05-25T02:09:56.200" Score="5" ViewCount="160" Body="&lt;p&gt;Let C={C&lt;sub&gt;n&lt;/sub&gt;} be a family of &lt;strong&gt;uniform&lt;/strong&gt; boolean circuits, whose size and depth are bounded by functions s(n) and d(n).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is the upper bound on the running time of a Turing machine M that evaluates C? How tight is this upper bound?&lt;/p&gt;&#xA;" OwnerUserId="1379" LastActivityDate="2011-05-27T04:12:01.287" Title="A notion of time for uniform circuits" Tags="&lt;cc.complexity-theory&gt;&lt;turing-machines&gt;&lt;circuit-complexity&gt;&lt;time-complexity&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6723" PostTypeId="2" ParentId="6526" CreationDate="2011-05-25T02:20:52.587" Score="6" Body="&lt;p&gt;The prover is &quot;all-powerful and possesses unlimited computational resources&quot; so it has no need of random bits. Thus the only randomness is the randomness of the verifier.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If the prover uses random bits, it should replace them with the random bit string that is most likely to make the verifier accept (this is true for both the honest and any dishonest prover). Furthermore, the prover can determine this optimal bit string because the prover is &quot;all-powerful&quot;.&lt;/p&gt;&#xA;" OwnerUserId="3964" LastActivityDate="2011-05-25T02:20:52.587" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="6724" PostTypeId="2" ParentId="6705" CreationDate="2011-05-25T03:49:58.983" Score="1" Body="&lt;p&gt;I think you can build $G$ in iterations: &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$M$ contains all $(v, \{e\})$ where $v \in \Gamma(v_0)$ ($\Gamma$ being neighborhood); so you can identify all edges to nodes that are distance 1 from $v_0$, as well as the nodes themselves; you can also identify the edges between nodes in $\Gamma(v_0)$ by looking for pairs $(v, \{e_1, e_2\})$, where $v \in \Gamma(v_0)$ and $e_1$ is an edge between $v_0$ and some $u \in \Gamma(v_0)$.&lt;/li&gt;&#xA;&lt;li&gt;then, iteratively, you can identify all edges and nodes in the subgraph of $G$ induced on the vertices which are distance at most $i$ to $v_0$ (call it $G_{i}$), using $G_{i-1}$. The idea is the same as above: you look for pairs $(v, S)$, where all but one edges in $S$ are in $G_{i-1}$; this gives $V(G_i \setminus G_{i-1})$. Then you can identify edges between vertices $u, v \in V(G_i \setminus G_{i-1})$ by looking for pairs $(v, S)$, where $S = S&amp;#39; \cup \{e_1\} \cup \{e_2\}$, such that $S&amp;#39; \subseteq E(G_{i-1})$, and $e_1$ has one point in $G_{i-1}$ and the other point is $u$; $e_2$ is the edge $(u, v)$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Are you aware of the reconstruction and edge reconstruction conjectures? They have the same spirit as your probelm and, as far as I know, are open. Check out &lt;a href=&quot;http://157.181.226.4/~lovasz/scans/line-reconstruction.pdf&quot; rel=&quot;nofollow&quot;&gt;this&lt;/a&gt; beautiful half page proof by Lovasz that the edge reconstruction conjecture is true for any graph that has more edges than its compliment.&lt;/p&gt;&#xA;" OwnerUserId="4896" LastEditorUserId="4896" LastEditDate="2011-05-25T04:00:35.687" LastActivityDate="2011-05-25T04:00:35.687" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="6725" PostTypeId="2" ParentId="6717" CreationDate="2011-05-25T04:12:53.913" Score="5" Body="&lt;p&gt;This is the first time I have read about polynomial delay algorithms, so I am not 100% sure of my answer, but I think something like the following should work.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Pick some convention for representing paths that has a natural total ordering $&amp;lt;$ defined on it. (One example would be just to list the vertexes of the path and order lexicographically). Pick your favorite in-place data-structure $D$ that supports logarithmic search and insert (say a red-black tree). Let $G$ be your graph&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Define an algorithm $F$:&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;$F(s,t,G, ^*D)$:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(here $^*D$ means a reference to an inplace datastructure $D$)&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;run your poly-time algorithm for returning a pair of edge-disjoint paths $(P,Q)$ with $P &amp;lt; Q$ from $s$ to $t$.&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;If $(P,Q)$ is not in $D$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2.1. Insert $(P,Q)$ into $D$ (and output if you are suppose to output as the algorithm runs).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2.2. For each edge $uv \in E(P\cup Q)$ run $F(s,t,G - \{uv\}, ^*D)$&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Now, to enumerate all your paths, create an empty $D$ and for each pair $s,t \in V(G)$ with $s &amp;lt; t$ (if the graph is undirected, $s \neq t$ otherwise) run $F(s,t,G,*D)$. You will output every path the first time you see them, and you will also have a nice searchable data-structure that contains all paths when you are done. Note that this algorithm also runs in polynomial time in the size of the input + output (just like any polynomial delay algorithm would).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I doubt that this is the best way to do this, in particular this approach is not in $PSPACE$ (in size of the input). I think by thinking carefully you could find something that runs in $PSPACE$, although it won't be able to build the data-structure as it goes along.&lt;/p&gt;&#xA;" OwnerUserId="1037" LastEditorUserId="1037" LastEditDate="2011-05-25T11:50:39.937" LastActivityDate="2011-05-25T11:50:39.937" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6726" PostTypeId="2" ParentId="6713" CreationDate="2011-05-25T08:16:48.727" Score="21" Body="&lt;p&gt;This can be helpful:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Parasitic_computing&quot;&gt;Parasitic computing&lt;/a&gt;&lt;/strong&gt; is an example of a potential technology that could be viewed simultaneously as a threat or healthy addition to the online universe. On the Internet, reliable communication is guaranteed by a standard set of protocols, used by all computers. &lt;em&gt;These protocols can be exploited to compute with the communication infrastructure, transforming the Internet into a distributed computer in which servers unwittingly perform computation on behalf of a remote node&lt;/em&gt;. In this model, one machine forces target computers to solve a piece of a complex computational problem merely by engaging them in standard communication.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the &lt;a href=&quot;http://www.nd.edu/~parasite/&quot;&gt;parasitic computing site&lt;/a&gt; you can detailed information on &lt;strong&gt;how you can solve a 3-SAT problem using the checksum of TCP packets&lt;/strong&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Other useful links:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.scribd.com/doc/54525145/23496433-Parasitic-Computing&quot;&gt;Seminar report on parasitic computing&lt;/a&gt; by K.K.Maharana&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.nd.edu/~parasite/nature.pdf&quot;&gt;Nature's article on parasitic computing&lt;/a&gt; (Aug 2001)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="3247" LastActivityDate="2011-05-25T08:16:48.727" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6727" PostTypeId="1" AcceptedAnswerId="6743" CreationDate="2011-05-25T08:22:20.240" Score="4" ViewCount="588" Body="&lt;p&gt;This problem originates from the tiling lowerbound method for communication complexity. In that method, there is a 0-1 matrix $M_{n \times n}$. A &lt;strong&gt;rectangle&lt;/strong&gt; is defined as a submatrix $A \times B$ where $A \subseteq \{0,1\}^n$ and $B \subseteq \{0,1\}^n$. A rectangle is said to be &lt;strong&gt;monochromatic&lt;/strong&gt; if all its elements are 0 (or all are 1). Define the minimum number of monochromatic rectangles needed to tile the whole matrix $M$ as $\chi$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But the tiling defined as above might be difficult to visualize. For example, consider&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\begin{bmatrix}&#xD;&#xA;1 0 1 0 \\&#xD;&#xA;0 0 0 0 \\&#xD;&#xA;1 0 1 0 \\&#xD;&#xA;0 0 0 0&#xD;&#xA;\end{bmatrix}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;At first glance it might be that $\chi$ is very large. But after permuting the second and third row/column, we have&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\begin{bmatrix}&#xD;&#xA;1 1 0 0 \\&#xD;&#xA;1 1 0 0 \\&#xD;&#xA;0 0 0 0 \\&#xD;&#xA;0 0 0 0&#xD;&#xA;\end{bmatrix}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;then $\chi$ is easily seen to be 3 (since permutation doesn't change $\chi$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To ease visulization, we define a &lt;strong&gt;contiguous rectangle&lt;/strong&gt; as a rectangle with additional requirement that both $A$ and $B$ are contiguous. (For ex. $\{1,2,3\}$ is contiguous but $\{1,3,4\}$ isn't.) Assume $M&amp;#39;$ is formed from $M$ by a row/column permutation (which means you can permute any rows and any columns of $M$). Define $\chi&amp;#39;(M&amp;#39;)$ as the mininum number of contiguous rectangles needed to tile $M&amp;#39;$. Define $\chi&amp;#39; = \min\{\chi&amp;#39;(M&amp;#39;)$ | for any $M&amp;#39;\}$. The question is:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is $\chi$ = $\chi&amp;#39;$?&lt;/p&gt;&#xA;" OwnerUserId="4471" LastEditorUserId="186" LastEditDate="2011-05-26T04:14:15.457" LastActivityDate="2011-05-26T17:25:34.823" Title="Monochromatic Rectangle Tiling" Tags="&lt;co.combinatorics&gt;&lt;communication-complexity&gt;" AnswerCount="1" CommentCount="6" FavoriteCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6728" PostTypeId="2" ParentId="2074" CreationDate="2011-05-25T08:38:47.007" Score="10" Body="&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Force-based_algorithms_%28graph_drawing%29&quot;&gt;Force-based graph drawing algorithms&lt;/a&gt; are another example. The idea is to consider each edge to be a spring and the layout of the nodes of the graph corresponds to finding equilibrium in the collection of springs.&lt;/p&gt;&#xA;" OwnerUserId="77" LastActivityDate="2011-05-25T08:38:47.007" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="6729" PostTypeId="2" ParentId="6437" CreationDate="2011-05-25T11:12:46.517" Score="4" Body="&lt;p&gt;Just to add:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;A pure logic program has declarative reading and procedural reading. This report discusses the idea that these can be complemented by a grammatical reading, where the clauses are considered to be rewrite rules of a grammar. The objective is to show that this point of view facilitates transfer of expertise from logic programming to other research on programming languages and vice versa. Some examples such a transfer are discussed. On the other hand the grammatical view presented justifies some ad hoc extensions to pure logic programming and facilitates development of theoretical foundations for such extensions.&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;&lt;a href=&quot;http://hal.archives-ouvertes.fr/docs/00/07/56/71/PDF/RR-0883.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;A Grammatical View of Logic Programming&lt;/a&gt; by Pierre Deransart and Jan Maluszynski.&lt;/p&gt;&#xA;" OwnerUserId="491" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2011-05-25T11:12:46.517" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6731" PostTypeId="2" ParentId="1168" CreationDate="2011-05-25T12:51:17.827" Score="5" Body="&lt;p&gt;Allen Newell and Herbert A. Simon’s &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.104.2482&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;noreferrer&quot;&gt;“Computer Science as Empirical Inquiry: Symbols and Search”&lt;/a&gt; (direct PDF link).  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This quote summarizes it:  &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;“We come now to the evidence for the&#xA;  hypotesis that physical symbol systems&#xA;  are capable of intelligent action, and&#xA;  that general intelligent action calls&#xA;  for a physical symbol system”&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;It's also very readable!&lt;/p&gt;&#xA;" OwnerUserId="3036" LastActivityDate="2011-05-25T12:51:17.827" CommentCount="0" CommunityOwnedDate="2011-05-25T12:51:17.827" ContentLicense="CC BY-SA 3.0" />
  <row Id="6732" PostTypeId="1" CreationDate="2011-05-25T13:54:28.047" Score="3" ViewCount="1325" Body="&lt;blockquote&gt;&#xA;&lt;p&gt;MergeSort is a divide-and-conquer algorithm that divides the input into several parts and solves the parts recursively.&lt;/p&gt;&#xA;&lt;p&gt;...There are several approaches for the split function. One way is to split down the middle. That approach has some nice properties, however, we'll focus on a method that's a little bit faster: even-odd split. The idea is to put every even-position element in one list, and every odd-position in another.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;This is straight from my lecture notes. Why exactly is it the case that the even-odd split is faster than down the middle of the array?&lt;/p&gt;&#xA;&lt;p&gt;I'm speculating it has something to do with the list being passed into MergeSort and having the quality of already sorted, but I'm not entirely sure.&lt;/p&gt;&#xA;&lt;p&gt;Could anyone shed some light on this?&lt;/p&gt;&#xA;" OwnerUserId="5315" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2011-06-26T15:04:11.120" Title="Why is an even-odd split 'faster' for MergeSort?" Tags="&lt;ds.algorithms&gt;&lt;sorting&gt;" AnswerCount="1" CommentCount="6" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6733" PostTypeId="2" ParentId="6704" CreationDate="2011-05-25T15:15:38.727" Score="19" Body="&lt;p&gt;As far as I can see, an efficient algorithm for factoring semiprimes (RSA) does not automatically translate into an efficient algorithm for factoring general integers (FACT). However, in practice, semiprimes are the hardest integers to factor. One reason for this is that the maximum size of the smallest prime is dependent on the number of factors. For an integer $N$ with $f$ prime factors, the maximum size of the smallest prime factor is $\lfloor N^\frac{1}{f} \rfloor$, and so (via the &lt;a href=&quot;http://en.wikipedia.org/wiki/Prime_number_theorem&quot;&gt;prime number theorem&lt;/a&gt;) there are approximately $\frac{f N^\frac{1}{f}}{\log(N)}$ possibilities for this. Thus increasing $f$ decreases the number of possibilities for the smallest prime factor. Any algorithm which works be successively reducing this space of probabilities will then work best for large $f$ and worst for $f=2$. This is borne out in practice, as many classical factoring algorithms are much faster when the number being factored has more than 2 prime factors.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Further the &lt;a href=&quot;http://en.wikipedia.org/wiki/General_number_field_sieve&quot;&gt;General Number Field Sieve&lt;/a&gt;, the fastest known classical factoring algorithm, and &lt;a href=&quot;http://en.wikipedia.org/wiki/Shor%27s_algorithm&quot;&gt;Shor's algorithm&lt;/a&gt;, the polynomial time quantum factoring algorithm, work equally well for non-semiprimes. In general, it seems much more important that the factors by &lt;a href=&quot;http://en.wikipedia.org/wiki/Coprime&quot;&gt;coprime&lt;/a&gt; than that they be prime.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think part of the reason for this is the decision version of factoring co-primes is most naturally described as a &lt;a href=&quot;http://en.wikipedia.org/wiki/Promise_problem&quot;&gt;promise problem&lt;/a&gt;, and any way of removing the promise of the input being semiprime is to either&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;introduce an indexing on the semiprimes (which in itself I suspect is as hard as factoring them), or&lt;/li&gt;&#xA;&lt;li&gt;by generalising the problem to include non-semiprimes. &lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;It seems likely that in the latter case the most efficient algorithm would solve FACT as well as RSA, though I have no proof of this. However, a proof is a little to much to ask for, since given an oracle for RSA proving that this cannot efficiently solve FACT amounts to proving that $P\neq NP$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Lastly it is worth pointing out that RSA (the cryptosystem, not the factoring problem you defined above) trivially generalizes beyond semi-primes.&lt;/p&gt;&#xA;" OwnerUserId="204" LastEditorUserId="204" LastEditDate="2011-06-03T22:47:50.037" LastActivityDate="2011-06-03T22:47:50.037" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="6734" PostTypeId="2" ParentId="6717" CreationDate="2011-05-25T15:33:00.310" Score="6" Body="&lt;p&gt;I believe Artem Kaznatcheev's answer is correct, but it does not give polynomial space. So here's a different approach that should work a little better in that respect.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Using max flow it is possible to solve a slightly more general problem: find a pair of edge disjoint paths from some two vertices {s1,s2} to some other pair of vertices {t1,t2}, but without controlling which source vertex is connected to which destination vertex.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose we have a graph G and vertices s1,s2,t1,t2 for which we want to list all pairs of paths. Find a single pair of paths P1,P2, and let e = (s1,v) be the first edge on one of those paths. Then we can split the problem space into two subproblems: the pairs of paths that use e are the same as the paths from {v,s2} to {t1,t2} in G-s1, and the pairs of paths that do not use e are the same as the paths from {s1,s2} to {t1,t2} in G-e. Recurse in both of these two subproblems, and (to avoid duplication) only report a path when you're at the bottom of the recursion.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2011-05-25T15:33:00.310" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="6735" PostTypeId="1" AcceptedAnswerId="7025" CreationDate="2011-05-25T18:30:21.427" Score="13" ViewCount="14961" Body="&lt;p&gt;I already read examples of formulas in CTL but not in LTL and vice-versa, but I'm having trouble gaining a mental grasp on LTL formulas and &lt;em&gt;really&lt;/em&gt; what, at the heart, is the difference.&lt;/p&gt;&#xA;" OwnerUserId="7104" LastEditorUserId="4155" LastEditDate="2013-01-18T06:49:34.410" LastActivityDate="2018-01-12T09:22:29.857" Title="What is the difference between LTL and CTL?" Tags="&lt;lo.logic&gt;&lt;model-checking&gt;&lt;temporal-logic&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="10" ContentLicense="CC BY-SA 3.0" />
  <row Id="6736" PostTypeId="2" ParentId="6735" CreationDate="2011-05-25T19:05:58.023" Score="1" Body="&lt;p&gt;If given one object (e.g. trace in case of LTL), you consider only &lt;em&gt;one&lt;/em&gt; future for every point in time, in CTL you have a plethora of them.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In particular, &lt;code&gt;next&lt;/code&gt; gives a unique action in LTL but (potentially) a whole set in CTL.&lt;/p&gt;&#xA;" OwnerUserId="1546" LastEditorUserId="1546" LastEditDate="2011-06-03T12:25:59.893" LastActivityDate="2011-06-03T12:25:59.893" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="6737" PostTypeId="1" CreationDate="2011-05-25T20:26:32.713" Score="4" ViewCount="2492" Body="&lt;p&gt;Wikipedia lists &lt;a href=&quot;http://en.wikipedia.org/wiki/Graph_coloring#Exact_algorithms&quot; rel=&quot;nofollow&quot;&gt;several exact algorithms for graph vertex coloring&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there any exact algorithms that are designed specifically for graph &lt;em&gt;edge&lt;/em&gt; coloring?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;edit:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Just came across my mind, i think it should be ok (pure bruteforce). I didnt try to implement this yet. Please comment if you see something wrong. Just to say again - algorithm should check whether graph is edge colorable with d or d+1 colors where d is max degree of all vertices in given simple graph, and to find one coloring...&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;colorEdge(edge, color, extra) {&#xA;    if (edge colored) return;  //if already colored, return&#xA;    if (can be colored in color) color it; //if color can be applied, apply it&#xA;    else {&#xA;        //else, 'd+1'-st color neded, so color it with that color, continue finding &#xA;        //coloring with d+1 colors&#xA;        extra = !extra; &#xA;        color it in color extra;&#xA;    }&#xA;&#xA;    //recursivly try to color adjacent edges with available colors&#xA;    for each color c' from set of d colors {&#xA;        for each edge k adjacent to current {&#xA;            colorE(k, c', extra)&#xA;        }&#xA;    }&#xA;}&#xA;&#xA;//main&#xA;bool extra = false;&#xA;for each color b from set of d colors {&#xA;    colorEdge(some starting edge, b, extra)&#xA;    if (!extra) break;&#xA;}&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;" OwnerUserId="5332" LastEditorUserId="186" LastEditDate="2011-05-26T04:31:00.937" LastActivityDate="2011-05-26T07:22:05.680" Title="Exact algorithm for edge coloring" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;" AnswerCount="3" CommentCount="6" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6738" PostTypeId="2" ParentId="6737" CreationDate="2011-05-25T23:14:58.130" Score="2" Body="&lt;p&gt;How about creating the &lt;a href=&quot;http://en.wikipedia.org/wiki/Line_graph&quot; rel=&quot;nofollow&quot;&gt;line graph&lt;/a&gt; and feeding this to the node-coloring algorithm? Each node in the line graph is defined to correspond to an edge in the original graph, and these &quot;nodes&quot; are joined if the correspond edges in the original graph are adjacent.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I don't know about the speed of this. Perhaps a specialized edge-coloring algorithm would be faster.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Perhaps you already considered this?&lt;/p&gt;&#xA;" OwnerUserId="5334" LastActivityDate="2011-05-25T23:14:58.130" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6739" PostTypeId="2" ParentId="6737" CreationDate="2011-05-26T06:42:03.147" Score="10" Body="&lt;p&gt;You &lt;em&gt;can&lt;/em&gt; edge color faster than applying the fastest vertex coloring algorithm to the line graph: see &lt;a href=&quot;http://arxiv.org/abs/1007.1161&quot;&gt;http://arxiv.org/abs/1007.1161&lt;/a&gt; for one such algorithm. What interests me is why can't we find something that is much faster... &lt;/p&gt;&#xA;" OwnerUserId="679" LastActivityDate="2011-05-26T06:42:03.147" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6740" PostTypeId="2" ParentId="6737" CreationDate="2011-05-26T07:22:05.680" Score="4" Body="&lt;p&gt;You main gain significant time by first computing the fractional chromatic index, which would tell quickly if your graph is class 2. Then Vizing's algorithm would probably do.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In Sage -- even though that's probably not the best solution -- we solve it by LP. If you guys have anything that could help us to solve edge coloring, please please tell me :-)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.sagemath.org/doc/reference/sage/graphs/graph_coloring.html#sage.graphs.graph_coloring.edge_coloring&quot; rel=&quot;nofollow&quot;&gt;http://www.sagemath.org/doc/reference/sage/graphs/graph_coloring.html#sage.graphs.graph_coloring.edge_coloring&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The function computing the Fractional Chromatic Index will be available in the next release.&lt;/p&gt;&#xA;" OwnerUserId="1209" LastActivityDate="2011-05-26T07:22:05.680" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="6741" PostTypeId="2" ParentId="1825" CreationDate="2011-05-26T07:33:30.150" Score="-4" Body="&lt;p&gt;If the relation between the three restrictions is &quot;OR&quot;, then the language is CFL.&#xA;The solution uses the fact that CFLs are closed under union.&#xA;Clearly, the following are CFLs:&#xA;$L_1=\{a^ib^jc^k \mid i\ne j,\ k\ge 0\}$, &#xA;$L_2=\{a^ib^jc^k \mid i\ne k,\ j\ge 0\}$,&#xA;$L_3=\{a^ib^jc^k \mid j\ne k,\ i\ge 0\}$&#xA;(if one is not convinced, one can look on $L_i$ as concatenation of CFL and regular language. For instance, $L_1$ is $\{a^ib^j\mid i\ne j \}$ concatenated to $\{c\}^*$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The desired language is the union of the above $L=L_1\cup L_2\cup L_3$.&#xA;So, it is CFL.&lt;/p&gt;&#xA;" OwnerUserId="5340" LastActivityDate="2011-05-26T07:33:30.150" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="6742" PostTypeId="2" ParentId="6706" CreationDate="2011-05-26T08:21:16.647" Score="6" Body="&lt;p&gt;Look at Bob Harper's &lt;a href=&quot;http://www.cs.cmu.edu/~rwh/plbook/book.pdf&quot;&gt;book&lt;/a&gt;. It provides loads of declarative formalisms for specifying programming language semantics and so forth. Chapter 6 describes declaratively how to translate concrete into abstract syntax. You could use the same ideas to translate one language into another.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Following Harper (and many others), you could write rules defined inductively on the structure of your source syntax, as follows:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\begin{array}{c}&#xD;&#xA;a \leadsto e \qquad b \leadsto f \qquad x=foo(a,b,e,f) \\&#xD;&#xA;\hline&#xD;&#xA;\mathsf{K}~a~b \leadsto \mathsf{S}~e~f~x&#xD;&#xA;\end{array}&#xD;&#xA;$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here $\mathsf{K}$ is a constructor in your source language and $\mathsf{S}$ is in your target language. $foo$ is some function which may compute other required information (it too could be defined as a set of rules).&#xA;The translation function/relation essentially inductively decomposes your source syntax and produces a term in your target. You can also thread through additional information to help with the translation process. For example, your rule could look like:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\begin{array}{c}&#xD;&#xA;E&amp;#39;\vdash a \leadsto e \qquad E&amp;#39;&amp;#39;\vdash b \leadsto f \qquad x=foo(E,E&amp;#39;,E&amp;#39;&amp;#39;,a,b,e,f) \qquad E&amp;#39; = \cdots&#xD;&#xA;\qquad E&amp;#39;&amp;#39;=\cdots \\&#xD;&#xA;\hline&#xD;&#xA;E\vdash \mathsf{K}~a~b \leadsto \mathsf{S}~e~f~x&#xD;&#xA;\end{array}&#xD;&#xA;$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here $E$ can store any information that needs to be threaded through.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that such specifications differ very little from a standard recursive function defined inductively in the program syntax. But they may be easier to read, and they may actually define a relation, rather than a function, by allowing a little nondeterminism.&lt;/p&gt;&#xA;" OwnerUserId="77" LastEditorUserId="77" LastEditDate="2011-05-26T08:43:28.260" LastActivityDate="2011-05-26T08:43:28.260" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6743" PostTypeId="2" ParentId="6727" CreationDate="2011-05-26T09:33:19.187" Score="6" Body="&lt;p&gt;As can be seen in the comments, Jukka provides a $2 \times 4$ counter example, which is further generalized by Peter to $4 \times 4$ to meet the requirements. Both analysis and program verification (use dynamic programming to calculate $\chi'$) can be performed to make sure $\chi \neq \chi&amp;#39;$ is possible when $n = 4$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Actually Peter's generalization can be used to show there is an $n \times n$ matrix s.t. $\chi \neq \chi&amp;#39;$ for any $n$. The counter example is shown below:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\begin{bmatrix}&#xD;&#xA;1 1 0 0 0 \cdots 0 \\&#xD;&#xA;0 1 1 0 0 \cdots 0 \\&#xD;&#xA;0 0 0 0 0 \cdots 0 \\&#xD;&#xA;0 0 0 0 0 \cdots 0 \\&#xD;&#xA;\vdots \\&#xD;&#xA;0 0 0 0 0 \cdots 0&#xD;&#xA;\end{bmatrix}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There's a unique column with two 1's. At least one continuous rectangle is needed to cover the 0's in this column. And this continuous rectangle doesn't cover any elements in the two rows corresponding to the two 1's. Remove this continuous rectangle and the rest will be a $2 \times n$ matrix:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\begin{bmatrix}&#xD;&#xA;1 1 0 0 0 \cdots 0 \\&#xD;&#xA;0 1 1 0 0 \cdots 0&#xD;&#xA;\end{bmatrix}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;which needs at least 5 continuous rectangles to cover. So $\chi&amp;#39; \geq 6$. However, it is easy to see $\chi \leq 5$. So $\chi \neq \chi&amp;#39;$.&lt;/p&gt;&#xA;" OwnerUserId="4471" LastEditorUserId="4471" LastEditDate="2011-05-26T09:38:34.300" LastActivityDate="2011-05-26T09:38:34.300" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="6744" PostTypeId="2" ParentId="6711" CreationDate="2011-05-26T14:58:59.770" Score="-2" Body="&lt;p&gt;This method uses the inverse of F and requires n bits of storage. If x is the position of an item in the original array, let G(x) be the position of the item in the sorted array. Let B be an n bit array. Set all n bits of B to 0.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;FOR x=1 to n-1: IF B(x)==0 THEN: y=G(x): DO UNTIL x==y: Swap positions x and y: B(y)=1: y=G(y): LOOP: ENDIF: NEXT X&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This method keeps swapping the item currently in position x to item's final position. The inner loop ends when the correct item gets swapped into position x. Since each swap moves at least one item to the item's final position, the inner Do loop can't excute more than n-1 times during the run. I think this method is O(n) time and space.&lt;/p&gt;&#xA;" OwnerUserId="4881" LastActivityDate="2011-05-26T14:58:59.770" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6746" PostTypeId="2" ParentId="4643" CreationDate="2011-05-26T19:32:07.163" Score="6" Body="&lt;p&gt;For linear recurrences, you may find interesting this recent work:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Adrian Nistor, Wei-Ngan Chin, Tiow-Seng Tan, and Nicolae Tapus. 2009. Optimizing the parallel computation of linear recurrences using compact matrix representations. J. Parallel Distrib. Comput. 69, 4 (April 2009), 373-381. DOI=10.1016/j.jpdc.2009.01.004 &lt;a href=&quot;http://dx.doi.org/10.1016/j.jpdc.2009.01.004&quot;&gt;http://dx.doi.org/10.1016/j.jpdc.2009.01.004&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A discussion of the parallel complexity of solving recurrences is available in&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Oscar H. Ibarra and Nicholas Q. Tr\&amp;amp;#226;n. 1994. On the Parallel Complexity of Solving Recurrence Equations. In Proceedings of the 5th International Symposium on Algorithms and Computation (ISAAC '94), Ding-Zhu Du and Xiang-Sun Zhang (Eds.). Springer-Verlag, London, UK, 469-477.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hope this helps.&lt;/p&gt;&#xA;" OwnerUserId="4208" LastActivityDate="2011-05-26T19:32:07.163" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6747" PostTypeId="1" CreationDate="2011-05-26T21:04:28.260" Score="1" ViewCount="112" Body="&lt;p&gt;This question stems from this other question: &lt;a href=&quot;https://cstheory.stackexchange.com/questions/791/grid-k-coloring-without-monochromatic-rectangles&quot;&gt;Grid $k$-coloring without monochromatic rectangles&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a grid coloring, I want to determine the least amount of rectangles you have to leave uncolored to remove all monochromatic rectangles from the coloring. This would give a lower bound on the number of changes you have to make to the coloring to reach a coloring that has no monochromatic rectangles. As a heuristic for A*, it would be admissible and monotonic.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;How would you calculate this number? My first attempt, a greedy algorithm that uncolors one of the cells which is involved in the most rectangles until there are no rectangles left, sometimes overestimates.&lt;/p&gt;&#xA;" OwnerUserId="5174" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2011-05-26T21:04:28.260" Title="Lower bound on distance from k-coloring a grid without monochromatic rectangles" Tags="&lt;co.combinatorics&gt;" AnswerCount="0" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="6748" PostTypeId="1" AcceptedAnswerId="6769" CreationDate="2011-05-26T21:09:55.000" Score="30" ViewCount="1249" Body="&lt;p&gt;In one sentence: would the existence of a hierarchy for $\mathsf{BPTIME}$ imply any derandomization results? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A related but vaguer question is: does the existence of a hierarchy for $\mathsf{BPTIME}$ imply any difficult lower bounds? Does the resolution of this problem hit against a known barrier in complexity theory?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My motivation for this question is to understand the relative difficulty (with respect to other major open problems in complexity theory) of showing a hierarchy for $\mathsf{BPTIME}$. I am assuming that everyone believes that such a hierarchy exists, but please correct me if you think otherwise.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Some background&lt;/strong&gt;: $\mathsf{BPTIME}(f(n))$ contains those languages whose membership can be decided by a probabilistic Turning machine in time $f(n)$ with bounded probability of error. More precisely, a language $L \in \mathsf{BPTIME}(f(n))$ if there exists a probabilistic Turing machine $T$ such that for any $x \in L$ the machine $T$ runs in time $O(f(|x|))$ and accepts with probability at least $2/3$, and for any $x \not \in L$, $T$ runs in time $O(f(|x|))$ and rejects with probability at least $2/3$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Unconditionally, it is open whether $\mathsf{BPTIME}(n^c) \subseteq \mathsf{BPTIME}(n)$ for all $c &amp;gt; 1$. Barak showed that there exists a strict hierarchy for $\mathsf{BPTIME}$ for machines with $O(\log n)$ advice. Fortnow and Santhanam improved this to 1 bit of advice. This leads me to think that a proving the existence of a probabilistic time hierarchy is not that far off. On the other hand, the result is still open and I cannot find any progress after 2004. References, as usual, can be found in the &lt;a href=&quot;http://qwiki.stanford.edu/index.php/Complexity_Zoo%3aB#bptime&quot;&gt;Zoo&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The relation to derandomization comes from Impagliazzo and Wigderson's results: they showed that under a plausible complexity assumption, $\mathsf{BPTIME}(n^d) \subseteq \mathsf{DTIME}(n^c)$ for any constant $d$ and some constant $c$. By the classical time-hierarchy theorems for deterministic time, this implies a time hierarchy for probabilistic time. I am asking the converse question: does a probabilistic hiearchy hit against a barrier related to proving derandomization results?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;hr&gt;&#xA;&lt;strong&gt;EDIT:&lt;/strong&gt; I am accepting Ryan's answer as a more complete solution.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If anyone has observations about what stands between us and proving the existence of a hierarchy for probabilistic time, feel free to answer/comment. Of course, the obvious answer is that $\mathsf{BPTIME}$ has a semantic definition that defies classical techniques. I am interested in less obvious observations.&lt;/p&gt;&#xA;" OwnerUserId="4896" LastEditorUserId="4896" LastEditDate="2011-05-27T17:49:04.370" LastActivityDate="2011-05-27T17:49:04.370" Title="Hierarchy for BPP vs derandomization" Tags="&lt;cc.complexity-theory&gt;&lt;randomness&gt;&lt;derandomization&gt;&lt;time-hierarchy&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="6751" PostTypeId="2" ParentId="6660" CreationDate="2011-05-27T03:03:22.960" Score="56" Body="&lt;p&gt;Here are two screenshots from &lt;a href=&quot;http://graphics.eecs.berkeley.edu/papers/Cantarella-AED-2004-06/&quot; rel=&quot;noreferrer&quot;&gt;An Energy-Driven Approach to Linkage Unfolding&lt;/a&gt; by Jason H. Cantarella, Erik D. Demaine, Hayley N. Iben,  James F. O’Brien, SOCG 2004:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/Q2BCV.png&quot; alt=&quot;Corollary 1. The number of steps in our algorithm is at most $1752484608000 n^{79}L^{25}/D^{26}(\Theta_0)$&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/YsEoD.png&quot; alt=&quot;Corollary 2. The number of steps in our algorithm is at most $117607251220365312000 n^{79}(\ell_{\max}/d_{\min}(\Theta_0))^{26}$]&quot;&gt;&lt;/p&gt;&#xA;" OwnerUserId="111" LastActivityDate="2011-05-27T03:03:22.960" CommentCount="4" CommunityOwnedDate="2012-12-06T19:38:01.160" ContentLicense="CC BY-SA 3.0" />
  <row Id="6752" PostTypeId="2" ParentId="6660" CreationDate="2011-05-27T03:43:14.157" Score="12" Body="&lt;p&gt;The &quot;convex skull&quot; problem is to find the maximum-area convex polygon inside a given simple polygon.  The fastest algorithm known for this problem runs in $O(n^7)$ time [Chang and Yap, &lt;em&gt;DCG&lt;/em&gt; 1986].&lt;/p&gt;&#xA;" OwnerUserId="111" LastActivityDate="2011-05-27T03:43:14.157" CommentCount="0" CommunityOwnedDate="2012-12-06T19:38:01.160" ContentLicense="CC BY-SA 3.0" />
  <row Id="6753" PostTypeId="1" AcceptedAnswerId="6759" CreationDate="2011-05-27T04:00:21.547" Score="21" ViewCount="914" Body="&lt;p&gt;$\mathsf{NC}$ captures the idea of efficiently parallelizable, and one interpretation of it is problems that are solvable in time $O(\log^c n)$ using $O(n^k)$ parallel processors for some constants $c$, $k$. My question is if there is an analogous complexity class where time is $n^c$ and number of processors is $2^{n^k}$. As a fill-in-the-blank question:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;$\mathsf{NC}$ is to $\mathsf{P}$ as &lt;em&gt;_&lt;/em&gt;_ is to $\mathsf{EXP}$&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;In particular, I am interested in a model where we have an exponential number of computers arranged in a network with polynomially bounded degree (lets say the network is independent of the input/problem or atleast somehow easy to construct, or any other reasonable uniformity assumption). At each time step:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Every computer reads the polynomial number of polynomial sized messages it received in the previous time step.&lt;/li&gt;&#xA;&lt;li&gt;Every computer runs some polytime computation that can depend on these messages.&lt;/li&gt;&#xA;&lt;li&gt;Every computer passes a message (of polylength) to each of its neighbours.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;What is the name of a complexity class corresponding to these sort of models? What is a good place to read about such complexity classes? Are there any complete-problems for such a class?&lt;/p&gt;&#xA;" OwnerUserId="1037" LastEditorUserId="80" LastEditDate="2011-05-27T07:16:16.410" LastActivityDate="2011-05-27T21:11:04.907" Title="What is the big version of NC?" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;complexity-classes&gt;&lt;circuit-complexity&gt;&lt;dc.parallel-comp&gt;" AnswerCount="2" CommentCount="5" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="6754" PostTypeId="2" ParentId="6721" CreationDate="2011-05-27T04:12:01.287" Score="3" Body="&lt;p&gt;I am assuming that we are talking about bounded fan-in circuits. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If a language can be decided by a deterministic Turing machine in time $t_n$ and space $s_n$, then it can be computed by a circuit of size $O(t_n\log s_n)$. The depth can be reduced to $d_n = l_n \log t_n = O(l^2_n)$ where $l_n = \max (s_n,\log n)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the non-uniform circuit case and non-uniform TMs (NU-TM)  (when the space used by a TM includes the log of space used on the oracle tape containing the advice), if the language has circuits of size $c_n = \Omega(n)$, then it can be decided by an NU-TM where time $t_n = O(c^2_n)$ and space $s_n = O(c_n)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Similarly for depth $d_n = \Omega(\log n)$, we get an NU-TM with time $t_n = O(n2^{d_n})$ and space $s_n = O(d_n)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Form these results we get:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$Size(T^{O(1)}) = NU\text{-}Time(T^{O(1)})$ if $T(n) = \Omega(n)$,&lt;/li&gt;&#xA;&lt;li&gt;$Depth(S^{O(1)}) = NU\text{-}Space(S^{O(1)})$ if $S(n) = \Omega(\log n)$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I think we can extend this to uniform classes if we use appropriate uniformity conditions on both sides.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See also chapter 9 of Wegener's book &quot;The Complexity of Boolean Functions&quot; for more details.&lt;/p&gt;&#xA;" OwnerUserId="186" LastActivityDate="2011-05-27T04:12:01.287" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6755" PostTypeId="1" AcceptedAnswerId="6756" CreationDate="2011-05-27T05:16:48.543" Score="33" ViewCount="4742" Body="&lt;p&gt;Scott Aaronson's &lt;a href=&quot;http://www.scottaaronson.com/blog/?p=663&quot;&gt;blog post&lt;/a&gt; today gave a list of interesting open problems/tasks in complexity. One in particular caught my attention:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Build a public library of 3SAT instances, with as few variables and clauses as possible, that would have noteworthy consequences if solved.  (For example, instances encoding the RSA factoring challenges.)  Investigate the performance of the best current SAT-solvers on this library.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;This triggered my question: What's the standard technique for reducing RSA/factoring problems to SAT, and how fast is it? Is there such a standard reduction?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Just to be clear, by &quot;fast&quot; I don't mean polynomial time. I'm wondering whether we have tighter upper bounds on the reduction's complexity. For example, is there a known cubic reduction?&lt;/p&gt;&#xA;" OwnerUserId="969" LastEditorUserId="186" LastEditDate="2011-05-27T05:51:18.180" LastActivityDate="2020-08-04T16:14:29.183" Title="Fast Reduction from RSA to SAT" Tags="&lt;cc.complexity-theory&gt;&lt;cr.crypto-security&gt;&lt;sat&gt;&lt;reductions&gt;&lt;factoring&gt;" AnswerCount="5" CommentCount="0" FavoriteCount="17" ContentLicense="CC BY-SA 3.0" />
  <row Id="6756" PostTypeId="2" ParentId="6755" CreationDate="2011-05-27T06:24:13.503" Score="29" Body="&lt;p&gt;One approach to encode Factoring (RSA) to SAT is to use multiplicator circuits (every circuit can be encoded as CNF).&lt;/p&gt;&#xA;&lt;p&gt;Let's assume we are given an integer &lt;span class=&quot;math-container&quot;&gt;$C$&lt;/span&gt; with &lt;span class=&quot;math-container&quot;&gt;$2n$&lt;/span&gt; bits, &lt;span class=&quot;math-container&quot;&gt;$C=(c_1,c_2,\cdots,c_{2n})_2$&lt;/span&gt;. We are interested in finding two &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt;-bit integers &lt;span class=&quot;math-container&quot;&gt;$A=(a_1,\cdots,a_n)$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$B=(b_1,\cdots,b_n)$&lt;/span&gt; whose product is &lt;span class=&quot;math-container&quot;&gt;$C=A*B$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;p&gt;The most naive encoding can be something like this; we know that:&lt;/p&gt;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$$c_{2n}= a_n \land b_n$$&lt;/span&gt;&#xA;&lt;span class=&quot;math-container&quot;&gt;$$c_{2n-1}= (a_n\land b_{n-1}) xor (a_{n-1}\land b_n)$$&lt;/span&gt;&#xA;&lt;span class=&quot;math-container&quot;&gt;$$Carry:d_{2n-1}= (a_n\land b_{n-1}) \land (a_{n-1}\land b_n)$$&lt;/span&gt;&#xA;&lt;span class=&quot;math-container&quot;&gt;$$c_{2n-2}= (a_n\land b_{n-2}) xor (a_{n-1}\land b_{n-1}) xor (a_{n-2}\land b_{n}) xor d_{2n-1}$$&lt;/span&gt;&#xA;...&lt;/p&gt;&#xA;&lt;p&gt;Then using Tseitin transformation, the above encoding can be translated into CNF.&lt;/p&gt;&#xA;&lt;p&gt;This approach produces a relatively small CNF. But this encoding does not support &amp;quot;Unit Propagation&amp;quot; and so, the performance of SAT Solvers are really bad.&lt;/p&gt;&#xA;&lt;p&gt;There are other circuit for multiplication which can be used for this purpose, but they produce a larger CNF.&lt;/p&gt;&#xA;" OwnerUserId="1639" LastEditorUserId="8665" LastEditDate="2020-08-04T16:14:29.183" LastActivityDate="2020-08-04T16:14:29.183" CommentCount="5" ContentLicense="CC BY-SA 4.0" />
  <row Id="6757" PostTypeId="2" ParentId="6755" CreationDate="2011-05-27T07:11:22.140" Score="20" Body="&lt;p&gt;Extending what @Amir wrote, I came across the following nice web page which hosts a &lt;a href=&quot;http://cgi.cs.indiana.edu/~sabry/cnf.html&quot;&gt;CNF generator for factoring circuits&lt;/a&gt; that one could e.g. run on some of the (now inactive) &lt;a href=&quot;http://en.wikipedia.org/wiki/RSA_Factoring_Challenge&quot;&gt;RSA Factoring Challenge&lt;/a&gt; &lt;a href=&quot;http://en.wikipedia.org/wiki/RSA_numbers&quot;&gt;numbers&lt;/a&gt;. The generated instances are in &lt;a href=&quot;http://www.satlib.org/Benchmarks/SAT/satformat.ps&quot;&gt;DIMACS&lt;/a&gt; format that can directly be fed to any one of the current competitors in the annual &lt;a href=&quot;http://www.satcompetition.org/2011/&quot;&gt;SAT&lt;/a&gt; &lt;a href=&quot;http://baldur.iti.uka.de/sat-race-2010/&quot;&gt;solver&lt;/a&gt; &lt;a href=&quot;http://www.satcompetition.org/&quot;&gt;competition&lt;/a&gt;. Regarding hard SAT instances in general, the benchmark problems given at the SAT competition site appear to be quite useful, also the classification into random/crafted/industrial is nice. &lt;/p&gt;&#xA;" OwnerUserId="121" LastEditorUserId="121" LastEditDate="2011-05-27T08:34:01.477" LastActivityDate="2011-05-27T08:34:01.477" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="6758" PostTypeId="1" AcceptedAnswerId="6762" CreationDate="2011-05-27T08:34:59.667" Score="1" ViewCount="231" Body="&lt;p&gt;Is there a sorting network of depth $\text{O}(\log n)$ for selecting the $i$th order statistic?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Remark: I've already asked a related question in a &lt;a href=&quot;https://cstheory.stackexchange.com/questions/6642/hans-on-log-log-n-time-linear-space-integer-sorting-algorithm&quot;&gt;different context&lt;/a&gt;.  Although the two questions are related, this is not a duplicate of the other one.&lt;/p&gt;&#xA;" OwnerUserId="5124" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.743" LastActivityDate="2011-10-13T17:05:37.623" Title="Selection algorithm on depth-$\text{O}(\log n)$ sorting network" Tags="&lt;dc.parallel-comp&gt;&lt;sorting&gt;&lt;sorting-network&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="6759" PostTypeId="2" ParentId="6753" CreationDate="2011-05-27T08:55:40.880" Score="27" Body="&lt;p&gt;I believe the class you are looking for is $PSPACE$. Suppose you have $exp(n^k) = 2^{O(n^k)}$ processors fitting the requirements:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;ol&gt;&#xA;  &lt;li&gt;Every computer reads the polynomial number of polynomial sized messages it received in  the previous time step.&lt;/li&gt;&#xA;  &lt;li&gt;Every computer runs some polytime computation that can depend on these messages.&lt;/li&gt;&#xA;  &lt;li&gt;Every computer passes a message (of polylength) to each of its neighbours.&lt;/li&gt;&#xA;  &lt;/ol&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;This can be modeled by having a circuit with $poly(n)$ layers, where each layer has $exp(n^k)$ &quot;gates&quot;, and each &quot;gate&quot; does a polynomial time computation (satisfying part 2) with polynomial fan-in (satisfying part 1), and has polynomial fan-out (satisfying part 3).  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since each gate computes a polynomial time function, they each can be replaced by a polynomial size circuit (with AND/OR/NOT) in the usual way. Note the polynomial fan-ins and fan-outs can be made to be 2, by only increasing the depth by a $O(\log n)$ factor. What remains is a $poly(n)$ depth uniform circuit with $exp(n^k)$ AND/OR/NOT gates. This is precisely alternating polynomial time, which is precisely $PSPACE$.&lt;/p&gt;&#xA;" OwnerUserId="225" LastActivityDate="2011-05-27T08:55:40.880" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="6761" PostTypeId="1" AcceptedAnswerId="11910" CreationDate="2011-05-27T09:34:29.327" Score="4" ViewCount="524" Body="&lt;p&gt;Motivated by these posts, &lt;a href=&quot;https://cstheory.stackexchange.com/q/4769/495&quot;&gt;An NP-complete variant of factoring&lt;/a&gt; and &lt;a href=&quot;https://cstheory.stackexchange.com/q/871/495&quot;&gt;Relationship between symmetry and computational intractability&lt;/a&gt;, It seems to be worthwhile to investigate the different factors that increase the hardness of problems in $NPI$ from an intermediate complexity to full $NP$-completeness. I'm interested in other $NP$-complete variants of $NPI$ problems. Ideally, a recent survey paper of $NP$-complete variants of $NPI$ problems would be the best answer?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT July 1st, 2012&lt;/strong&gt; The bounty will be awarded to the person that lists the maximum number of such problems.&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2012-07-01T23:25:12.123" Title="NP-complete variants of NPI problems" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="6762" PostTypeId="2" ParentId="6758" CreationDate="2011-05-27T10:40:01.913" Score="5" Body="&lt;p&gt;You can construct selection networks of depth O(log n) using graph expanders or using variants of the AKS sorting network.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;S. Jimbo and A. Maruoka, A Method of Constructing Selection Networks with $O(\log n)$ Depth,SIAM J. Comput. 25, pp. 709-739, &lt;a href=&quot;http://dx.doi.org/10.1137/S0097539793248329&quot; rel=&quot;nofollow&quot;&gt;http://dx.doi.org/10.1137/S0097539793248329&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="4208" LastActivityDate="2011-05-27T10:40:01.913" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="6763" PostTypeId="2" ParentId="6748" CreationDate="2011-05-27T12:03:34.037" Score="20" Body="&lt;p&gt;It is not hard to derive a probabilistic time hierarchy if BPP = EXP, the extreme case of no derandomization. &lt;/p&gt;&#xA;" OwnerUserId="550" LastActivityDate="2011-05-27T12:03:34.037" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="6764" PostTypeId="2" ParentId="6732" CreationDate="2011-05-27T13:29:52.123" Score="2" Body="&lt;p&gt;Looking at the &lt;a href=&quot;http://en.wikipedia.org/wiki/Batcher_odd-even_mergesort&quot; rel=&quot;nofollow&quot;&gt;graphing network on Wikipedia&lt;/a&gt; and &lt;a href=&quot;http://www.inf.fh-flensburg.de/lang/algorithmen/sortieren/networks/oemen.htm&quot; rel=&quot;nofollow&quot;&gt;this page&lt;/a&gt; for even-odd merge sort it appears that it has a higher complexity than traditional merge-sort. However, at the cost of more operations, notice how the operations remain independent of one another.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;That is to say, where as in merge sort you eventually end up merging 4 lists and then 2 lists, which cannot be done in parallel, even-odd merge sort allows you to operate in parallel until the end of the algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The Wikipedia article also points out that it is reasonably fast for doing sort in graphics hardware. I suspect this is because where as merge sort your inputs to compare-and-swap depend on which previous element was merged, the inputs to compare-and-swap in even-odd-merge-sort are &lt;em&gt;always&lt;/em&gt; the same.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hope that helps! &lt;/p&gt;&#xA;" OwnerUserId="5369" LastEditorUserId="43" LastEditDate="2011-05-27T14:51:09.187" LastActivityDate="2011-05-27T14:51:09.187" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6767" PostTypeId="1" AcceptedAnswerId="6768" CreationDate="2011-05-27T16:05:38.950" Score="4" ViewCount="461" Body="&lt;p&gt;let $A = [ a_1 \dots a_n ]$ be a &lt;em&gt;sorted&lt;/em&gt; list of integers of length $n$. By a simple algorithm that works in-place and in linear time we can remove all duplicates and output a sorted list of unique integers that are precisely the integers which appear .&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More generally, it suffices to have a list with the promise that all identical integers are merely grouped to apply the same idea.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now let $A$ be a list of integers, neither sorted nor even grouped as above. Let us call the problem of outputting a not-necessesarily sorted list of integers that are precisely the integers appearing $A$ by the term &quot;uniquing problem&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An algorithm to solve the &quot;uniqueing problem&quot; might sort the list and remove multiple entries in the obvious way, thus requireing a running time of O( n log(n) ). Can we do better? I don't think so, although there might be a speed up because we actually do not require any sorting on the output list, so this algorithm performs actually too much.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Best, &#xA;Martin&lt;/p&gt;&#xA;" OwnerUserId="4346" LastEditorUserId="77" LastEditDate="2011-05-27T16:19:56.873" LastActivityDate="2011-05-29T01:43:37.133" Title="'Uniqueing' an unsorted list of integers" Tags="&lt;ds.algorithms&gt;" AnswerCount="3" CommentCount="3" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="6768" PostTypeId="2" ParentId="6767" CreationDate="2011-05-27T16:37:22.610" Score="2" Body="&lt;p&gt;Not possible in a comparison based setting. You can easily reduce the problem of finding repeated elements to uniqueing. Since the former has a lower bound of $n \log n$ by &lt;a href=&quot;http://www.ecommons.cornell.edu/bitstream/1813/6345/1/82-505.pdf&quot; rel=&quot;nofollow&quot;&gt;Misra &amp;amp; Gries '82&lt;/a&gt;, it ain't gonna happen. There may be solutions that exploit the fact that you are using integers, but my intuition says this isn't true.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit&lt;/strong&gt;: sorry, I meant that I didn't think there was &lt;em&gt;linear time&lt;/em&gt; algorithm for uniqueing integers (in the general case). There is clearly a $o(n \log n)$ algorithm for uniqueing integers by Han's integer sorting routine. I could have sworn linear time was mentioned in the question, but I guess it wasn't.&lt;/p&gt;&#xA;" OwnerUserId="3062" LastEditorUserId="3062" LastEditDate="2011-05-29T01:23:32.077" LastActivityDate="2011-05-29T01:23:32.077" CommentCount="14" ContentLicense="CC BY-SA 3.0" />
  <row Id="6769" PostTypeId="2" ParentId="6748" CreationDate="2011-05-27T17:07:33.117" Score="24" Body="&lt;p&gt;Let PTH be the hypothesis that there exists a probabilistic time hierarchy. Suppose the answer to your question is true, i.e., &quot;PTH implies $BPP \subseteq TIME[2^{n^{c}}]$&quot; for some fixed $c$. Then, $EXP \neq BPP$ would be unconditionally true. Consider two cases:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;If PTH is false, then $EXP \neq BPP$. This is the contrapositive of what Lance noted.&lt;/li&gt;&#xA;&lt;li&gt;If PTH is true, then &quot;PTH implies $BPP \subseteq TIME[2^{n^{c}}]$&quot; so again $EXP \neq BPP$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;In fact, even an infinitely-often derandomization of BPP under PTH would entail $EXP \neq BPP$ unconditionally. So whatever barriers apply to proving $EXP \neq BPP$, they apply to proving statements of the kind &quot;PTH implies derandomization&quot;.&lt;/p&gt;&#xA;" OwnerUserId="225" LastActivityDate="2011-05-27T17:07:33.117" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6770" PostTypeId="1" AcceptedAnswerId="6788" CreationDate="2011-05-27T17:59:46.207" Score="9" ViewCount="2903" Body="&lt;p&gt;In some research area in CS we got some very interesting results. Now we are thinking about publishing them. In the group we are, the philosophy is to publish inmediately small things in conference papers, which is ok but not the best. Now I am thinking about collecting more of these &quot;small things&quot; and publish in a JCR paper, impact factor more than 2. My question here is how would you decide when you have enough material to prepare a decent paper in a JCR journal? And furthermore, once you think this is ok, how would you decide to which journal you submit the paper to?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;PS:&lt;/strong&gt; JCR refers to &lt;a href=&quot;http://thomsonreuters.com/products_services/science/science_products/a-z/journal_citation_reports/&quot; rel=&quot;noreferrer&quot;&gt;Journal Citation Reports&lt;/a&gt;, an extensive list that collects info about the most representative and relevant journals in all scientific areas along with their impact factors, so they are usually refereed and no conference papers there&lt;/p&gt;&#xA;" OwnerUserId="5375" LastEditorUserId="873" LastEditDate="2011-05-29T20:17:31.187" LastActivityDate="2011-05-30T07:20:06.727" Title="How do you decide when you have enough research results to write a paper and to which journal you submit the paper" Tags="&lt;soft-question&gt;&lt;research-practice&gt;&lt;writing&gt;&lt;paper-review&gt;&lt;conferences&gt;" AnswerCount="5" CommentCount="17" FavoriteCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="6771" PostTypeId="1" AcceptedAnswerId="6774" CreationDate="2011-05-27T18:07:15.907" Score="2" ViewCount="457" Body="&lt;p&gt;First off, please forgive my ignorance because I am not as well versed in cryptography and mathematics as I would like to be. I may say something obviously wrong/dumb; please point it out!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there any technique which may reduce the difficulty of recovering plain text from a &lt;a href=&quot;http://en.wikipedia.org/wiki/Cryptographic_hash_function&quot; rel=&quot;nofollow&quot;&gt;hash&lt;/a&gt; if the attacker knows part of the plain text?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is an example.&#xA;Alice writes this letter:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;Dear Bob,&#xA;   Run!&#xA;Yours Truly,&#xA;Alice&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Alice sends the plaintext to Bob over channel X and the hash over channel Y.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Eve intercepts the hash but not the plaintext.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Eve knows Alice starts the message with &quot;Dear Bob,&quot; and ends with &quot;Yours Truly, Alice&quot;.&#xA;Eve also knows that Alice sends messages in fixed blocks and will pad the body content with whitespace to meet the required block length.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can Eve use her knowledge of &lt;strong&gt;1)fixed message size&lt;/strong&gt; and &lt;strong&gt;2)partial plaintext knowledge&lt;/strong&gt; to reduce the computational difficulty of reversing the hash?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would appreciate any help on this topic, even if your answer is just &quot;read this whitepaper&quot;.&lt;/p&gt;&#xA;" OwnerUserId="1551" LastEditorUserId="186" LastEditDate="2011-05-29T07:27:27.287" LastActivityDate="2011-05-29T07:27:27.287" Title="Can one reverse a hash with partial plaintext knowledge?" Tags="&lt;cr.crypto-security&gt;&lt;hash-function&gt;&lt;cryptographic-attack&gt;" AnswerCount="2" CommentCount="5" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6772" PostTypeId="2" ParentId="6767" CreationDate="2011-05-27T18:25:42.667" Score="3" Body="&lt;p&gt;On the other hand there exists a relatively simple linear-time algorithm for well-bounded integers. The algorithm that does do more than compare elements: it uses bit manipulations and radix sort.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $a_i$ are polynomially bounded, then there exists an in-place version of radix sort that works in $O(n)$ time: &lt;a href=&quot;http://www.cs.rutgers.edu/~muthu/soradix.pdf&quot; rel=&quot;nofollow&quot;&gt;FMP&lt;/a&gt;. They have various improvements (stability, etc.), but the basic idea is easy to describe. First you sort the first $n/\log n$ numbers using in-place mergesort in time $O(n)$. Then, the sorted integers can be compressed to free-up $\Omega(n)$ bits: the intuitive reason for this is that the binary entropy of sorted sequences is smaller than the entropy of arbitrary sequences. The details of how to do the compression in-place in linear time are not very hard: the technique is an extension of the idea that in a sorted array you can remove the most significant bit of every integer and just remember the index of the smallest integer that has a most significant bit 1. That's not quite enough, but they can remove the most significant $\log (n/3)$ bits, and that gives enough savings.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The next step is the obvious thing: use the usual radix sort with the freed-up space to sort the remainder of the array.&lt;/p&gt;&#xA;" OwnerUserId="4896" LastEditorUserId="4896" LastEditDate="2011-05-27T19:55:29.513" LastActivityDate="2011-05-27T19:55:29.513" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6773" PostTypeId="2" ParentId="6770" CreationDate="2011-05-27T18:26:08.307" Score="1" Body="&lt;p&gt;Here you are a few guidelines I follow.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Pick an interesting problem. If it has been already solved, find the current state of the art solution and try to improve it. If you are able to improve it, then you can publish it unless the improvement is really trivial. If the problem is open, try to find a solution and if you come up with a clever one, then you can publish it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is not a question related to how much material you have; rather it is strictly related to its quality.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In order to find the proper journal, you must know the relevant scientific community. People with the same scientific interests usually (with some exceptions) publish their results in the same set of journals. Otherwise, hunt for a set of papers dealing with a topic close to the one you are investigating, and discover where they have been published.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course, once you know potential journal candidates, you decide on the basis of additional factors. These include impact factor, number of issues per year and total number of articles published per year, etc. I always try to balance impact factor with a decent number of articles published per year. Another factor I take into account is the average time from initial submission to actual publishing of the paper. Unfortunately, there are not official data available for this, and you will have to estimate this by yourself by downloading some papers and averaging this data.&lt;/p&gt;&#xA;" OwnerUserId="4208" LastActivityDate="2011-05-27T18:26:08.307" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="6774" PostTypeId="2" ParentId="6771" CreationDate="2011-05-27T18:43:03.897" Score="8" Body="&lt;p&gt;For an ideal hash function, the fastest way to compute a first or second &lt;a href=&quot;http://en.wikipedia.org/wiki/Preimage_attack&quot; rel=&quot;nofollow&quot;&gt;preimage&lt;/a&gt; is through a brute-force attack. That is, if there's no structural weaknesses in the design of the hash function, your best bet is to mount a brute-force attack.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The knowledge of the message size (n bits) and some parts of it (m bits) will certainly reduce the complexity of finding a preimage under the brute force attack: The worst-case complexity will reduce from 2&lt;sup&gt;n&lt;/sup&gt; to 2&lt;sup&gt;n-m&lt;/sup&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A space-time trade-off over the brute-force attack is by exploiting &lt;a href=&quot;http://en.wikipedia.org/wiki/Rainbow_table&quot; rel=&quot;nofollow&quot;&gt;rainbow tables&lt;/a&gt;. I believe  the partial knowledge of the preimage may prove useful in mounting this attack too.&lt;/p&gt;&#xA;" OwnerUserId="873" LastActivityDate="2011-05-27T18:43:03.897" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="6775" PostTypeId="2" ParentId="6753" CreationDate="2011-05-27T21:11:04.907" Score="22" Body="&lt;p&gt;As Ryan says, this class is PSPACE. This class is often called NC(poly) in the literature. Here is a direct quote from the &lt;a href=&quot;http://dx.doi.org/10.1145/1859204.1859231&quot;&gt;QIP = PSPACE&lt;/a&gt; paper:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;We consider a scaled-up variant of NC, which is the complexity class NC(poly) that consists of all functions computable by polynomial-space uniform families of Boolean circuits having&#xA;  polynomial-depth. (The notation NC(2&lt;sup&gt;poly&lt;/sup&gt;) has also previously been used for this class [11].) For decision problems, it is known that NC(poly) = PSPACE [10]. &lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;[10]  A. Borodin. On relating time and space to size and depth. SIAM Journal on Computing, 6:733–&#xA;  744, 1977.&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;[11]  A. Borodin, S. Cook, and N. Pippenger.  Parallel computation for well-endowed rings and space-bounded probabilistic machines. Information and Control, 58:113–136, 1983.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;One way to see this is to prove both inclusions directly. To see that NC(poly) is in PSPACE, note that we can compute the output of the final gate recursively, and we'll only require a stack of size equal to the depth of the circuit, which is polynomial. To show that PSPACE is in NC(poly), note that QBF, which is PSPACE-complete, can be written as a polynomial depth circuit with exponentially many gates in the usual way -- the exists quantifier is an OR gate, the forall quantifier is an AND gate. Since there are only polynomially many quantifiers, this is a polynomial depth circuit.&lt;/p&gt;&#xA;" OwnerUserId="206" LastActivityDate="2011-05-27T21:11:04.907" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6776" PostTypeId="1" CreationDate="2011-05-27T22:59:51.663" Score="9" ViewCount="163" Body="&lt;p&gt;Define a mesh in 3D as a connected collection of tetrahedra with disjoint interiors (so tetrahedra share only k-faces, $k \le 2$). Given an arbitrary graph, is there an efficient procedure to test if it can be embedded as a mesh ? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here, an embedding is a mapping of vertices of the graph to points in $R^3$ and edges to straight lines such that edges only intersect at vertices, and faces only intersect at edges, and no two faces intersect in their interior.&lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2011-06-03T19:35:58.827" Title="Embedding a graph as a collection of interior-disjoint tetrahedra" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;" AnswerCount="1" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="6777" PostTypeId="2" ParentId="6704" CreationDate="2011-05-28T01:34:54.467" Score="13" Body="&lt;p&gt;I found this paper entitled &lt;a href=&quot;http://crypto.stanford.edu/~dabo/papers/no_rsa_red.pdf&quot; rel=&quot;nofollow&quot;&gt;Breaking RSA May Be Easier Than Factoring&lt;/a&gt;.  They argue that computing $e$th roots modulo $n=pq$ might be easier than factoring $n=pq$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, they don't address the question you asked about: they don't consider whether or not factoring integers of the form $n=pq$ might be easier than factoring arbitrary integers.  As a result, this answer is pretty much irrelevant to your particular question.&lt;/p&gt;&#xA;" OwnerUserId="5191" LastEditorUserId="5038" LastEditDate="2014-11-20T02:32:31.827" LastActivityDate="2014-11-20T02:32:31.827" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="6778" PostTypeId="2" ParentId="6771" CreationDate="2011-05-28T04:47:33.027" Score="2" Body="&lt;p&gt;If the &lt;a href=&quot;http://www.senderek.com/SDLH/&quot; rel=&quot;nofollow&quot;&gt;hash function is secure&lt;/a&gt; then it won't help beyond reducing the brute-force search-space.  This assumes the existence of &lt;a href=&quot;http://en.wikipedia.org/wiki/One-way_function&quot; rel=&quot;nofollow&quot;&gt;one-way functions&lt;/a&gt;.  If the &lt;a href=&quot;http://en.wikipedia.org/wiki/MD5&quot; rel=&quot;nofollow&quot;&gt;hash function is not secure&lt;/a&gt;, then there are &lt;a href=&quot;http://en.wikipedia.org/wiki/Differential_cryptanalysis&quot; rel=&quot;nofollow&quot;&gt;various&lt;/a&gt; &lt;a href=&quot;http://en.wikipedia.org/wiki/Rainbow_table&quot; rel=&quot;nofollow&quot;&gt;methods&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="5191" LastEditorUserId="5191" LastEditDate="2011-05-28T04:53:06.457" LastActivityDate="2011-05-28T04:53:06.457" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6780" PostTypeId="1" CreationDate="2011-05-28T08:07:30.840" Score="3" ViewCount="154" Body="&lt;p&gt;It seems that Goemans and Williamson give a unique representation for each graph of the semidefinite relaxation (elements $y_{ij}$ of Y). However, semidefinite programming may give the same maximum value of the objective function for different matrices Y, if I am correct. This means that you may get up to more than one unique representation in n dimensions of a graph. Can somebody tell me if this is correct please?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;PS: the Cholesky decomposition we do, gives a unique set of n vectors after finding Y, however I believe that Y is not necessarily unique, so you may get many different sets of vectors $v_{ij}$.&lt;/p&gt;&#xA;" OwnerUserId="3139" LastEditorUserId="186" LastEditDate="2011-05-29T09:08:15.197" LastActivityDate="2011-05-29T09:08:15.197" Title="Gram matrix of Max-Cut relaxation" Tags="&lt;ds.algorithms&gt;&lt;max-cut&gt;&lt;semidefinite-programming&gt;" AnswerCount="0" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6781" PostTypeId="2" ParentId="6706" CreationDate="2011-05-28T08:46:55.970" Score="3" Body="&lt;p&gt;You can use &lt;a href=&quot;http://en.wikipedia.org/wiki/Attribute_grammar&quot; rel=&quot;nofollow&quot;&gt;attribute grammars&lt;/a&gt;. They give a formal framework for describing transformation of trees but are also in practical use, e.g. in ANTLR where you can define compiler from trees to trees (or code) using tree grammars .&lt;/p&gt;&#xA;" OwnerUserId="1546" LastActivityDate="2011-05-28T08:46:55.970" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6783" PostTypeId="2" ParentId="6448" CreationDate="2011-05-28T13:59:17.660" Score="13" Body="&lt;p&gt;Record the talks/lectures and make the videos available online.&lt;/p&gt;&#xA;" OwnerUserId="186" LastActivityDate="2011-05-28T13:59:17.660" CommentCount="3" CommunityOwnedDate="2011-05-28T13:59:17.660" ContentLicense="CC BY-SA 3.0" />
  <row Id="6784" PostTypeId="2" ParentId="6448" CreationDate="2011-05-28T14:32:48.757" Score="-1" Body="&lt;p&gt;If a submission is (essentially) a resubmission of a previosuly-rejected paper, the authors should copy and paste &lt;strong&gt;previous reviews&lt;/strong&gt; (in a text box on the submission server), together with a very brief statement on the main changes (if any).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This would make the whole process more transparent, and spare the pc the need to fish out the old reviews by themselves. Of course the pc should be wise enough to give the paper a second chance without being biased by a previous strong negative review.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Personally, this is something I almost did a few times, but in the end didn't out of fear it would bias the PC negatively since nobody else seems to do it.)&lt;/p&gt;&#xA;" OwnerUserId="259" LastActivityDate="2011-05-28T14:32:48.757" CommentCount="4" CommunityOwnedDate="2011-05-28T14:32:48.757" ContentLicense="CC BY-SA 3.0" />
  <row Id="6785" PostTypeId="2" ParentId="1168" CreationDate="2011-05-28T16:07:27.640" Score="18" Body="&lt;p&gt;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.72.2622&amp;amp;rep=rep1&amp;amp;type=pdf&quot;&gt;&quot;Can Programming Be Liberated from the von Neumann Style?&lt;/a&gt; A Functional Style and Its Algebra of Programs&quot; by John Backus. This is the 1977 ACM Turing Award Lecture in which Backus introduces functional programming to the world. ACM honored Backus with this award for his seminal work on FORTRAN and for being the B in BNF notation used for describing programming language syntax. I found this work to be really inspiring. It caused me to look at computers and programming languages in a whole new way. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It also represents the kind of paper I wish there were more of. It exposes the inspiration and thought processing behind a nest of ideas without the rigorous but limiting tone of a research paper. It is a shame that researchers have to wait for an opportunity like the ACM Turing Award to be able to express themselves in this mode. Of course, few researchers can write like John Backus. This papers clarity of vision amazes me.&lt;/p&gt;&#xA;" OwnerUserId="5394" LastActivityDate="2011-05-28T16:07:27.640" CommentCount="0" CommunityOwnedDate="2011-05-28T16:07:27.640" ContentLicense="CC BY-SA 3.0" />
  <row Id="6786" PostTypeId="2" ParentId="6776" CreationDate="2011-05-28T16:49:17.417" Score="4" Body="&lt;p&gt;In &lt;a href=&quot;http://www.siam.org/proceedings/soda/2009/SODA09_093_matousekj.pdf&quot; rel=&quot;nofollow&quot;&gt;Hardness of embedding simplicial complexes in $\mathbb{R}^d$&lt;/a&gt; it is stated that $\mbox{EMBED}_{3\rightarrow3}$ is at least as hard as recognizing a 3-sphere, which is known to be in NP, but not known to be in P. They continue to say that for all we know, the problem may be undecidable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT: Update. Actually, my answer applies to PL embeddings. For linear embeddings the problem is known to be in PSPACE. I don't know if anything else is known.&lt;/p&gt;&#xA;" OwnerUserId="3474" LastEditorUserId="3474" LastEditDate="2011-06-03T19:35:58.827" LastActivityDate="2011-06-03T19:35:58.827" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="6788" PostTypeId="2" ParentId="6770" CreationDate="2011-05-28T21:56:09.687" Score="16" Body="&lt;p&gt;JCR is part of the ISI Science Citation Index family of databases, which is not especially reliable in its measurement of computer science impact. See for instance &lt;a href=&quot;http://www.informatics-europe.org/docs/research-eval.php&quot; rel=&quot;nofollow&quot;&gt;this report from Informatics Europe&lt;/a&gt; which specifically warns against using ISI databases to measure the impact of computer scientists.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In any case, if you want your papers to get attention from other computer scientists, publication in selective conferences is still the way to go. We can argue whether it should be, but that's what it is. Some conferences (e.g. SIGGRAPH) count as a journal directly (their proceedings are published as a special issue of a journal), others (e.g. FOCS/STOC/SODA) expect their authors to later turn the same material into an expanded and more polished journal paper, but the conference is to a large extent how to signal other researchers that your work is worth paying attention to. If you're not familiar with the conferences in the area, choosing one sponsored by ACM or IEEE over one that isn't is a good rule of thumb, as is choosing one that calls itself a &quot;symposium&quot; over one that calls itself a &quot;workshop&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, that doesn't mean that you have to partition your work into least publishable units as you describe your coworkers doing, and it also doesn't mean that saving up multiple small results into a single paper is a good way of making your papers stronger. It's certainly possible to publish papers like that but to my mind the better ones are often the ones that have a single strong main result, perhaps with additional results on the side not to strengthen the paper but rather to provide more complete coverage of its subject.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2011-05-28T21:56:09.687" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6789" PostTypeId="2" ParentId="5379" CreationDate="2011-05-28T22:00:36.753" Score="-1" Body="&lt;p&gt;If you give a human a pencil and paper she can solve nearly any problem, by acting like a machine.  So I think this can't be the point.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Imho what makes human thinking is abstraction, i.e. humans don't run things (in the first place), they create views on stuff.  Although, as I must admit, I cannot provide any nearly ready to use theory for abstraction.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;|=&lt;/p&gt;&#xA;" OwnerUserId="5398" LastEditorUserId="5398" LastEditDate="2011-05-28T22:05:47.357" LastActivityDate="2011-05-28T22:05:47.357" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6790" PostTypeId="2" ParentId="6767" CreationDate="2011-05-29T01:43:37.133" Score="7" Body="&lt;p&gt;In practice you can solve this problem easily in linear expected time with a hash table: just hash everything and eliminate the duplicates when they collide with each other. See, e.g. &lt;a href=&quot;http://code.activestate.com/recipes/52560-remove-duplicates-from-a-sequence/&quot; rel=&quot;nofollow&quot;&gt;this Python recipe&lt;/a&gt; which primarily uses hashing but falls back on other strategies for objects that can't be hashed.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Whether you accept this as an acceptable theoretical answer depends somewhat on your model of computation.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2011-05-29T01:43:37.133" CommentCount="4" CommunityOwnedDate="2011-05-29T06:06:13.740" ContentLicense="CC BY-SA 3.0" />
  <row Id="6791" PostTypeId="1" CreationDate="2011-05-29T06:16:24.370" Score="1" ViewCount="149" Body="&lt;p&gt;I was wondering if the following problem has been studied/has a name:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a matrix of numbers (may assume to be integers), find the smallest number of rules which define the matrix. Three kinds of rules may be used:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;row rules:     row[i, x] - the value of any cell in row i is x&lt;/li&gt;&#xA;&lt;li&gt;column rules:  col[j, x] - the value of any cell in column j is x&lt;/li&gt;&#xA;&lt;li&gt;cell rules:    cell[i, j, x] - the value of cell at [i,j] is x&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The rules have a precedence order: first cell rules are considered, then row rules, then column rules.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Example:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given the 3 x 3 matrix:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;2 2 2&#xA;1 2 3&#xA;1 3 3&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;one set of rules which describe the matrix is:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;row[1,2], col[3,3], col[1,1], cell[2,2,2], cell[3,2,3]&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Edit: I would be interested in getting opinions on what the complexity is of this problem. I have a polynomial time algorithm which does well enough for my use cases, but it would nice to know if the general case is not in P.&lt;/p&gt;&#xA;" OwnerUserId="5402" LastEditorUserId="5402" LastEditDate="2011-05-29T15:07:36.650" LastActivityDate="2011-05-30T08:11:10.470" Title="Row/column overlay problem for filling in a matrix" Tags="&lt;ds.algorithms&gt;&lt;optimization&gt;&lt;matrices&gt;" AnswerCount="0" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6792" PostTypeId="1" AcceptedAnswerId="6793" CreationDate="2011-05-29T08:54:34.850" Score="6" ViewCount="3532" Body="&lt;p&gt;After reading &lt;a href=&quot;https://cstheory.stackexchange.com/questions/6770/how-do-you-decide-when-you-have-enough-research-results-to-write-a-paper-and-to-w&quot;&gt;this question&lt;/a&gt; and David's answer I thought a more general question asking for tips would be useful. So&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;how can authors make (and write) a paper stronger?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="186" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2011-05-30T14:47:04.013" Title="How to make a paper stronger?" Tags="&lt;soft-question&gt;&lt;advice-request&gt;&lt;research-practice&gt;" AnswerCount="5" CommentCount="11" FavoriteCount="6" CommunityOwnedDate="2011-05-29T08:56:03.507" ContentLicense="CC BY-SA 3.0" />
  <row Id="6793" PostTypeId="2" ParentId="6792" CreationDate="2011-05-29T15:59:12.573" Score="18" Body="&lt;p&gt;This is sort of an unserious answer in that it's not what I consciously do most of the time, but:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Think about what the next paper after yours might be — not the next paper that takes some small follow-on problem from your paper and solves that too, but the next paper that takes it to another level, finds tight upper and lower bounds, shows that it's an instance of a more general phenomenon, and generally makes your paper obsolete. Then write about the results in that paper instead of the ones you already have.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2011-05-29T15:59:12.573" CommentCount="0" CommunityOwnedDate="2011-05-29T15:59:12.573" ContentLicense="CC BY-SA 3.0" />
  <row Id="6794" PostTypeId="1" CreationDate="2011-05-29T18:05:15.910" Score="2" ViewCount="236" Body="&lt;p&gt;Let's suppose that a language $L \in$ NSPACE($f(n)$) where $f(n)$ is $O(\log n)$. And now let's suppose that I have a probabilistic Turing machine. Can this machine run in $O(f(n))$ space and answer yes when $x \in L$ with $\Pr(yes) &amp;gt; 1/2$ and answer no when $x \not\in L$ with $\Pr(no) = 1$? Let's suppose I dont care about time as long as the machine halts.&lt;/p&gt;&#xA;" OwnerUserId="5407" LastEditorUserId="80" LastEditDate="2011-05-29T23:03:01.653" LastActivityDate="2011-05-29T23:03:01.653" Title="Simulating nondeterministic space-bounded computation using randomness" Tags="&lt;cc.complexity-theory&gt;&lt;randomness&gt;&lt;space-bounded&gt;&lt;nondeterminism&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6795" PostTypeId="2" ParentId="6792" CreationDate="2011-05-29T19:11:48.930" Score="5" Body="&lt;ol&gt;&#xA;&lt;li&gt;Improving the writing always helps.&lt;/li&gt;&#xA;&lt;li&gt;Better, more intuitive examples.   Are the ones you first thought of the best ones?&lt;/li&gt;&#xA;&lt;li&gt;Adding/improving empirical&#xA;validation, including an&#xA;implementation with performance&#xA;evaluation or user studies, if&#xA;applicable. On the other hand, if the paper is empirical in nature, strengthening the&#xA; theory will improve the story. (Maybe this isn't so relevant for TCS papers.)&lt;/li&gt;&#xA;&lt;li&gt;Ensure that your notation is consistent, both internally and with the &quot;standards&quot; of the community. &lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="77" LastEditorUserId="77" LastEditDate="2011-05-30T12:21:32.963" LastActivityDate="2011-05-30T12:21:32.963" CommentCount="1" CommunityOwnedDate="2011-05-29T19:11:48.930" ContentLicense="CC BY-SA 3.0" />
  <row Id="6796" PostTypeId="2" ParentId="6770" CreationDate="2011-05-29T19:33:08.913" Score="13" Body="&lt;p&gt;Write a paper that you're proud of and that your target audience will be eager to read.  (This requires knowing what your target audience cares about.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are roughly three classes of journals:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Elite journals.  These are the rare venues that make people stand up and take notice.  There's roughly one in every major field, but remember that a journal that is elite for one field may be considered marginal by others.  For example, the rare computer science papers in &lt;em&gt;Science&lt;/em&gt; and &lt;em&gt;Nature&lt;/em&gt; are usually crap (cough D-Wave cough).  If such a category even exists in computer science, it essentially means &lt;em&gt;JACM&lt;/em&gt; and nothing else (except in graphics, where it means &lt;em&gt;SIGGRAPH&lt;/em&gt; and nothing else). &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Good journals.  As a good rule of thumb, these are the journals that the top people in your target audience publishes in, and that publish the papers that the top people in your field actually cite.  Again, which journals are &quot;good&quot; depends on your field.  I suppose this is what &quot;JCR&quot; is a proxy for.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Write-only journals.  Thousands of pages, costing thousands of dollars, that almost nobody reads or cites.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Finer distinctions between these categories are pointless.  Other metrics like the number of issues/articles per year, are &lt;em&gt;utterly&lt;/em&gt; irrelevant.  A long time to publication is frustrating, but also ultimately irrelevant; this is only an issue of latency, not throughput.  Assume it will take a year and plan accordingly.  Meanwhile, you're already published your results in a good conference, &lt;em&gt;right&lt;/em&gt;?  And you've put a full version of your paper on the web, &lt;em&gt;right&lt;/em&gt;?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Ultimately, your work is not going to be judged on the venue in which it's published, but rather on the impact it has on the research community.  There are crap papers in JACM, and there are groundbreaking papers in write-only journals.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So where should you aim your paper?  Be respectful but brutally honest with yourself.  If you really have a once-in-a-lifetime breakthrough result, send it to an elite journal.  If you have a good paper that will be interesting to a large segment of some intellectual community, send it to a good journal.  If you have some decent results that could be published somewhere but only a handful of people would care about, I suppose you could send it to a write-only journal, but why bother?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In other words, stop worrying about how to play the game and just do good science.&lt;/p&gt;&#xA;" OwnerUserId="111" LastActivityDate="2011-05-29T19:33:08.913" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="6797" PostTypeId="2" ParentId="6792" CreationDate="2011-05-29T19:35:13.420" Score="10" Body="&lt;p&gt;Have better things to write about.  Write about them better.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Stephen King's advice for writers is surprisingly relevant: &#xA;&lt;a href=&quot;http://lookingforlola.wordpress.com/2009/05/05/stephen-kings-advice-for-writers/&quot; rel=&quot;nofollow&quot;&gt;http://lookingforlola.wordpress.com/2009/05/05/stephen-kings-advice-for-writers/&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="111" LastEditorUserId="111" LastEditDate="2011-05-29T19:53:38.357" LastActivityDate="2011-05-29T19:53:38.357" CommentCount="1" CommunityOwnedDate="2011-05-29T19:35:13.420" ContentLicense="CC BY-SA 3.0" />
  <row Id="6798" PostTypeId="2" ParentId="6792" CreationDate="2011-05-29T19:58:41.943" Score="13" Body="&lt;p&gt;Illustrations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/p4PE5.png&quot; alt=&quot;An illustration&quot;&gt;&lt;/p&gt;&#xA;" OwnerUserId="74" LastActivityDate="2011-05-29T19:58:41.943" CommentCount="1" CommunityOwnedDate="2011-05-29T19:58:41.943" ContentLicense="CC BY-SA 3.0" />
  <row Id="6799" PostTypeId="2" ParentId="6770" CreationDate="2011-05-29T20:44:36.567" Score="0" Body="&lt;p&gt;How to decide when you have enough research results to write a journal paper:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As soon as you have matching upper and lower bounds.&lt;/p&gt;&#xA;" OwnerUserId="74" LastActivityDate="2011-05-29T20:44:36.567" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6800" PostTypeId="2" ParentId="6794" CreationDate="2011-05-29T20:53:27.840" Score="5" Body="&lt;p&gt;My comment was incorrect, and in fact the answer to your question is YES. From &lt;a href=&quot;http://en.wikipedia.org/wiki/NL_%28complexity%29&quot;&gt;Wikipedia&lt;/a&gt;: &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Suppose C is the complexity class of&#xA;  problems solvable in logarithmithic&#xA;  space with probabilistic Turing&#xA;  machines that never accept incorrectly&#xA;  but are allowed to reject incorrectly&#xA;  less than 1/3 of the time; this is&#xA;  called one-sided error. The constant&#xA;  1/3 is arbitrary; any x with 0 ≤ x &amp;lt;&#xA;  1/2 would suffice.&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;It turns out that C = NL. Notice that&#xA;  C, unlike its deterministic&#xA;  counterpart L, is not limited to&#xA;  polynomial time, because although it&#xA;  has a polynomial number of&#xA;  configurations it can use randomness&#xA;  to escape an infinite loop. If we do&#xA;  limit it to polynomial time, we get&#xA;  the class RL, which is contained in&#xA;  but not known or believed to equal NL.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="80" LastActivityDate="2011-05-29T20:53:27.840" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="6801" PostTypeId="1" CreationDate="2011-05-30T02:02:40.183" Score="5" ViewCount="774" Body="&lt;p&gt;It's well known that a regular expression can be converted to a non-deterministic finite state automaton, which can in turn be converted in to a deterministic finite state automaton. These DFAs can then be compiled directly into code as in e.g. &lt;a href=&quot;http://re2c.org/&quot; rel=&quot;nofollow&quot;&gt;re2c&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, most libraries for regular expressions allow for captures - where the portion of the string representing a certain portion of the regex is saved for further analysis. With captures things get more complex - a state node passed in an early match may not be able to commit to a capture, as whether the capture is correct or not depends on later nodes. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Although a turing machine can obviously handle such expressions by treating the regex as a NDFA, and maintaining a stack of non-deterministic state transitions (ie backtracking), it's desirable to avoid the unbounded additional memory/CPU usage and allocations this entails.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So: Is it possible to compile a regular expression with a bounded number of captures $(&amp;lt; k)$ into a DFA, allowing $O(1)$ additional processing at each node, and $O(k)$ additional storage?&#xA;If not, is there a proof to this effect?&lt;/p&gt;&#xA;" OwnerUserId="1479" LastEditorUserId="3964" LastEditDate="2011-05-31T13:44:08.887" LastActivityDate="2013-11-01T05:37:05.200" Title="Is it possible to represent a regular expression with bounded captures using a DFA and O(1) additional processing?" Tags="&lt;fl.formal-languages&gt;&lt;regular-expressions&gt;&lt;dfa&gt;" AnswerCount="5" CommentCount="3" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="6802" PostTypeId="2" ParentId="6801" CreationDate="2011-05-30T05:59:46.877" Score="2" Body="&lt;p&gt;Maybe related: &lt;a href=&quot;http://www.tks.informatik.uni-frankfurt.de/getpdf?id=686&quot; rel=&quot;nofollow&quot;&gt;Extended regular expressions: Succinctness and decidability&lt;/a&gt; (Freydenberger, 2011)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In this paper, it is shown that for every Turing machine, there is an extended regular expression (where extended means with captures if I understand you right) for the language of non-accepting computations.&lt;/p&gt;&#xA;" OwnerUserId="1546" LastActivityDate="2011-05-30T05:59:46.877" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6803" PostTypeId="1" CreationDate="2011-05-30T07:19:42.110" Score="3" ViewCount="872" Body="&lt;p&gt;I am facing this problem for a long time, I wish I can find some help in here. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let's consider a graph $G(V,E)$ such that an edge between a pair of node $u$ and $v$ exist with probability $p \in O(1)$. Let's assign identifiers for the vertices from 1 to $n$, where $n = |V|$. Now, direct each edge $(u,v)$ towards $v$ if $u &amp;gt; v$. We have what we call a &lt;em&gt;random graph order&lt;/em&gt; $P$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;We define $L = (x_1, x_2, \ldots, x_m)$ as the longest directed path in $P$. That is, $x_i &amp;gt; x_{i+1}$ for all $1 \leq i &amp;lt; k$.  It is known that $|L| = \Theta(n)$. Define $\textit{rank}(x_i)$ as the position of $x_i$ in the set ${1, ..., n}$ (that is, the first, the second, ..., the $n$-th element in the total order constructed from the identifiers of $V$).&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Question.&lt;/strong&gt; If we take any $x_i \in L$, what is expected rank of $x_i$?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;My solution was to assume that $|L| = \frac{n}{t}$, and to assume that the path $L$ partitions the graph $G$ into $|L|$ layers. Thus, for the path $L = (x_1, \ldots, x_m)$ the expected rank of $x_i = (n - (t * i)) + \frac{1}{2} * t$. What do you think?&lt;/p&gt;&#xA;" OwnerUserId="5411" LastEditorUserId="3964" LastEditDate="2011-05-30T19:50:01.787" LastActivityDate="2011-05-30T19:50:01.787" Title="The rank of nodes in the longest directed path of a random DAG" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;" AnswerCount="0" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="6804" PostTypeId="2" ParentId="6770" CreationDate="2011-05-30T07:20:06.727" Score="0" Body="&lt;p&gt;Then how do you define not enough research results for publication? &#xA;I'd advice to talk to your supervisor (if you have one)&#xA;or &#xA;Just write your papers (you will feel which area is weak and which area is not)&#xA;Most importantly, you can then submit to conferences/journals to see what comments there are for you to make your experiment/algorithm better.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Who else could say they have enough research results until they see the word 'accepted' ? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A big part of scientific research is about doing, trying, failing, and accepting.&lt;/p&gt;&#xA;" OwnerUserId="5364" LastActivityDate="2011-05-30T07:20:06.727" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6805" PostTypeId="1" AcceptedAnswerId="6810" CreationDate="2011-05-30T07:59:12.847" Score="5" ViewCount="279" Body="&lt;p&gt;I have asked similar questions on stackoverflow; as i couldn't post the very same question in this part of stackexchange.  However, i would still like to receive recommendations / advice from this side of stackexchange, so forgive me and correct me if this is not the right place to ask such question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The image can be seen here!&lt;br&gt;&#xA;&lt;img src=&quot;https://i.stack.imgur.com/aODQR.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Problem Scenario&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have a set of images that look like what you see on the left hand column as shown in the above picture.  What I am trying to detect/locate is actually the two endpoints that are shown on the right hand column in the above picture.  It's quite like locating the &quot;two ends points&quot; of the 'bridge'.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I sincerely would like to seek for your advice and recommendation to achieve such goals.  I have applied some basic morphological operations; however, either im doing it wrong or those basic morpological operations aren't working in this scenario.  (i have tried making it into skeletons; however, once the skeletons are formed, I can't seem to detect the cross with 3 edges).  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, would Graph Theory be applicable in this case?  If so, how do i detect the end points using Graph Theory?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks very much.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Edits&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;It looks like the original sets of images cannot be completely generalized like what i'd previously drawn.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;i have attached the latest updates to this question. Below is a more detailed representation that includes the original segmented regions and the corresponding images that'd undergone a &quot;thinning&quot; morphological operation. Again, the left side is the originally segmented region; while on the right would be the points to be detected.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/lOLuo.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;" OwnerUserId="5364" LastEditorUserId="5364" LastEditDate="2011-05-31T07:21:13.030" LastActivityDate="2011-06-01T10:46:29.363" Title="Detecting/Locating endpoints of a bridge-like structure in images using Graph Theory" Tags="&lt;cg.comp-geom&gt;&lt;application-of-theory&gt;&lt;image-processing&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6807" PostTypeId="2" ParentId="6801" CreationDate="2011-05-30T09:10:53.373" Score="-1" Body="&lt;p&gt;&lt;a href=&quot;http://perl.plover.com/NPC/NPC-3SAT.html&quot; rel=&quot;nofollow&quot;&gt;Implementation of backreferences in regular expressions is equivalent to 3SAT, and therefore NP-complete.&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, &lt;a href=&quot;http://swtch.com/~rsc/regexp/regexp3.html&quot; rel=&quot;nofollow&quot;&gt;simple submatch extraction is possible using only a DFA, even though the majority of implementations do not&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerDisplayName="user5413" LastActivityDate="2011-05-30T09:10:53.373" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="6808" PostTypeId="2" ParentId="6801" CreationDate="2011-05-30T09:18:15.477" Score="7" Body="&lt;p&gt;I have no direct answer, but some additional remarks regarding on the topicality of my paper from this year's STACS which Raphael  mentioned in his answer. (Due to space reasons, I opted for a new answer, instead of a comment.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As far as I understand the question, the classes of regular expressions with $\leq k$ captures corresponded to the classes RegEx(k) of extended regular expressions with at most $k$ variables in my paper. Among the results in the paper, the ones that are probably most relevant to the question are that, even with one variable (the class RegEx(1)),&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) there is no effective way of converting expressions from RegEx(1) to &quot;proper&quot; regular expressions, even if the problem is restricted to those expressions that describe regular languages,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) even if one is able to convert these expressions with one variable to proper regular expressions (or any other description mechanism for the class of regular languages), the resulting blowup in size is not bounded by any computable function,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;3) given an expression $\alpha\in RegEx(1)$, universality (the question whether $L(\alpha)=\Sigma^*$) is not decidable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This does not directly answer the question, but imposes some limits on possible conversion procedures. For example, if the universality problem for the class of resulting DFAs with extra storage is decidable, such a conversion procedure cannot exist. (On the other hand, although the automata model that is described in the question appears to be underspecified regarding the storage and storage operations, I am under the impression that this problem should be undecidable for the resulting class of automata.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Among the few papers that deal with regular expressions with variables/backreferences/captures, I know of only two other works that consider something in the direction of limiting the number of variables: Aho's chapter on string matching in the Handbook of TCS (Vol. A), which contains a sketch of a proof that extended regular expressions with at most $k$ backreferences can be matched in time $O(n^{2k})$, and the &lt;a href=&quot;https://dspace.lboro.ac.uk/dspace-jspui/handle/2134/7957&quot; rel=&quot;noreferrer&quot;&gt;paper&lt;/a&gt; by Reidenbach and Schmid from CIAA 2010, which gives a polynomial time matching algorithm for a larger class of extended regular expressions. &lt;/p&gt;&#xA;" OwnerUserId="924" LastActivityDate="2011-05-30T09:18:15.477" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6809" PostTypeId="2" ParentId="6801" CreationDate="2011-05-30T11:53:57.710" Score="6" Body="&lt;p&gt;You may find Ville Laurikari's masther thesis interesting: &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.23.6717&quot;&gt;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.23.6717&lt;/a&gt; .&lt;/p&gt;&#xA;&#xA;&lt;p&gt;He uses &quot;tagged automata&quot; to identify the address where the &quot;capture&quot; is found. From the abstract:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;The resulting algorithm makes a single&#xA;  pass over the input string, always&#xA;  using time linearly proportional to&#xA;  the input. Space consumption depends&#xA;  only on the used regular expression,&#xA;  and not on the input string.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;There is also an implementation (named TRE) at: &lt;a href=&quot;http://laurikari.net/tre&quot;&gt;http://laurikari.net/tre&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="823" LastActivityDate="2011-05-30T11:53:57.710" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="6810" PostTypeId="2" ParentId="6805" CreationDate="2011-05-30T13:10:45.613" Score="8" Body="&lt;p&gt;I extend my comment adding an image produced with an (old) piece of software I made to automatically fill a figure with a colored gel.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/wV69p.jpg&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The steps are:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;reduce colors to black and white (1 bit)&lt;/li&gt;&#xA;&lt;li&gt;reduce DPI&lt;/li&gt;&#xA;&lt;li&gt;remove noise&lt;/li&gt;&#xA;&lt;li&gt;apply a standard thinning algorithm&lt;/li&gt;&#xA;&lt;li&gt;remove edges shorter than a fixed amount (based on the whole figure size)&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;I was interested in finding the center of each zone; if you are interested in the exact length of the &lt;strong&gt;bridge&lt;/strong&gt; you can use various techniques.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;add a &quot;growing&quot; white circle at the two endpoints of the longest segment found and reapply the algorithm, until the graph becomes disconnected, or&lt;/li&gt;&#xA;&lt;li&gt;scan the longest segment with an orthogonal line and calculate the length of its intersection with the original image;  cut the bridge when you find a fast change in the length of the intersection&lt;/li&gt;&#xA;&lt;li&gt;...&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In order to transform the image into a graph, you must scan the 1bit bitmap produced with the thinning algorithm (the skeleton).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The algorithmm I used in my program, generates at most 3 neighbours (out of 8) for each pixel. So the graph construction can be done in this way:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;1. start from top left pixel P=(x,y), create a starting node N_0=(x,y)&#xA;2. mark P as processed&#xA;3. count the unprocessed neighbours neig_num of P &#xA;   3.1 if neig_num = 0 then P is an endpoint of an edge&#xA;       - check if one of its neighbours is an already created node N&#xA;       - otherwise create a new node N=(x,y)&#xA;       - add an edge from N to the last node found LASTN&#xA;   3.2 if neig_num = 1 then P is an inner point of an edge, do nothing&#xA;   3.3 if neig_num = 2 then P is a node of degree 3&#xA;       - create a new node N=(x,y)&#xA;       - add an edge from N to the last node found LASTN&#xA;6. for each unprocessed neighbour P' of P recursively call 2 (passing P as LASTN).&#xA;7. stop when all pixels have been processed&#xA;8. do some clean up stuff: merge closer nodes, remove short edges,&#xA;   check if N_0 has degree 2 (we started on an edge in a closed path)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2011-06-01T10:46:29.363" LastActivityDate="2011-06-01T10:46:29.363" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6811" PostTypeId="1" AcceptedAnswerId="6818" CreationDate="2011-05-30T13:59:08.670" Score="1" ViewCount="1183" Body="&lt;p&gt;I want to compute Euclidian distance between similar vectors in a database (SQLite).&#xA;So each column in the database is a value from my vector.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The first problem appears, I have a large number of values that I first need to reduce to fit a reasonable number of rows (&amp;lt;50) since the original data have thousands of columns.&#xA;I have also thought of storing a blob, load it in memory and do my computations ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since I am trying to find the best matches (similarity mesure), I am currently filtering the database by applying a threshold for each value. Applying a filter for a small number of column is feasible, doing this for many columns is too time consuming.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Sqlite has a RTree module limited to 5 dimensions (11 columns). But it is not the filtering that I want.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is the best compromise or technique/algorithm to sort and compare vectors using a database ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thank you&lt;/p&gt;&#xA;" OwnerUserId="5416" LastEditorUserId="80" LastEditDate="2011-05-30T20:25:36.417" LastActivityDate="2011-05-30T20:25:36.417" Title="Compare similar N-Dimensional vector in a database" Tags="&lt;ds.algorithms&gt;&lt;cg.comp-geom&gt;&lt;near-neighbors&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6812" PostTypeId="1" AcceptedAnswerId="6815" CreationDate="2011-05-30T14:14:15.367" Score="3" ViewCount="1281" Body="&lt;p&gt;I am a physicist working in TCS in a new group. I would like to know, given a conference (imagine your favorite ones),  how can I know the quality of this conference and also the quality of the journal where the proceedings will be pusblished (in case they are). I heard something about CORE classification but found no link or more information about. Thanks&lt;/p&gt;&#xA;&#xA;&lt;p&gt;P.S.: I find TCS stack exchange very interesting for TCS discussions (obviously). I just wonder if there is any similar stack exchange academic site for physics/chemistry. I found physics.stackexchange, but some questions related with journals were instantly classified as offtopic&lt;/p&gt;&#xA;" OwnerUserId="5375" LastEditorUserId="186" LastEditDate="2011-05-30T23:19:29.543" LastActivityDate="2011-06-01T12:11:55.880" Title="Quality of a conference" Tags="&lt;soft-question&gt;&lt;conferences&gt;" AnswerCount="5" CommentCount="6" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6813" PostTypeId="2" ParentId="6812" CreationDate="2011-05-30T14:22:24.980" Score="9" Body="&lt;p&gt;One possible ranking scheme is the so-called Australian Ranking of Computer Science Conferences: At the bottom of &lt;a href=&quot;http://core.edu.au/index.php/categories/conference%20rankings/1&quot; rel=&quot;nofollow&quot;&gt;this page&lt;/a&gt; you'll find various lists containing the data organised in different ways. For example, this &lt;a href=&quot;http://core.edu.au/cms/images/downloads/conference/08sort%20acronymERA2010_conference_list.pdf&quot; rel=&quot;nofollow&quot;&gt;one&lt;/a&gt; is ordered by acronym, and is probably the most useful. If the conference is not in the list, it is probably new and thus neither established or necessarily high quality. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Regarding the quality of the publication, the &lt;a href=&quot;http://en.wikipedia.org/wiki/Science_Citation_Index&quot; rel=&quot;nofollow&quot;&gt;SCI index&lt;/a&gt; can tell you that sort of information. But this is unreliable for conferences published in LNCS, as some volumes are included and some are not. (There are tools and websites providing SCI data.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Other things to look for are the number of editions the conference has had, whether it is a conference, symposium or workshop, whether it has ACM, IEEE, or other such sponsorship. None of these are particularly reliable metrics, though.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, ask your colleagues in the field. &lt;/p&gt;&#xA;" OwnerUserId="77" LastActivityDate="2011-05-30T14:22:24.980" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6814" PostTypeId="2" ParentId="6792" CreationDate="2011-05-30T14:47:04.013" Score="2" Body="&lt;p&gt;&lt;em&gt;Concerning technical writing&lt;/em&gt;: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Check spell your paper, review your notations (even though an index of notation cannot be included in a conference submission in general, doing it early helps for later, longer versions, and for the clarity of the early versions), have someone else than those involved in the writing  to read it and check it is understandable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Concerning content&lt;/em&gt;: Justify &lt;em&gt;all&lt;/em&gt; your choices. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;When you have several related results, find what they have in common, describe it as a question, and explore alternative answers to this questions that you did not consider before, eventually adding new (minor?) results or justification for discarding alternate answer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;When you have a single result, a single answer to one specific problem, describe what are the other possible answers to this problem, in the literature or based on futuristic results.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Do not limit your paper to &quot;I did this, and look, it works!&quot;. Explain why it works and why or how other choices would work worse or would not work.&lt;/p&gt;&#xA;" OwnerUserId="191" LastActivityDate="2011-05-30T14:47:04.013" CommentCount="1" CommunityOwnedDate="2011-05-30T14:47:04.013" ContentLicense="CC BY-SA 3.0" />
  <row Id="6815" PostTypeId="2" ParentId="6812" CreationDate="2011-05-30T15:49:39.770" Score="11" Body="&lt;p&gt;Usually, you should be able to figure out who are the leading researchers or research groups in your research area.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Everything else is then usually fairly straightforward: just find out in which conferences the leading researchers publish their work, and in which conferences they serve in programme committees, etc. Most likely those would be the most relevant conferences for your work as well.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The same applies to journals as well.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Note that the most relevant conference is not necessarily the same as the most prestigious conference, but it might be a good idea to start with relevant conferences... Your work might have much more impact that way, even if it does not look that impressive in your CV.)&lt;/p&gt;&#xA;" OwnerUserId="74" LastActivityDate="2011-05-30T15:49:39.770" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6817" PostTypeId="2" ParentId="6812" CreationDate="2011-05-30T16:33:30.247" Score="-2" Body="&lt;p&gt;I recommend &lt;a href=&quot;http://academic.research.microsoft.com&quot; rel=&quot;nofollow&quot;&gt;Microsoft Academic Search&lt;/a&gt;.  See for example: &lt;a href=&quot;http://academic.research.microsoft.com/RankList?entitytype=3&amp;amp;topDomainID=2&amp;amp;subDomainID=1&amp;amp;last=0&amp;amp;start=1&amp;amp;end=100&quot; rel=&quot;nofollow&quot;&gt;a ranking list for TCS conferences&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="3825" LastActivityDate="2011-05-30T16:33:30.247" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="6818" PostTypeId="2" ParentId="6811" CreationDate="2011-05-30T19:18:08.113" Score="5" Body="&lt;p&gt;What you're looking for is a procedure to do near-neighbor searching in a high dimensional Euclidean space, or do dimensionality reduction prior to doing such a near neighbor search. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are two approaches that are likely to help:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Use a native near-neighbor search procedure that works in high dimensions. &lt;a href=&quot;http://en.wikipedia.org/wiki/Locality-sensitive_hashing&quot;&gt;Locality-sensitive hashing&lt;/a&gt; is a popular choice in this regard. &lt;/li&gt;&#xA;&lt;li&gt;Apply dimensionality reduction, and then use a technique that works for fewer dimensions. In this case, you should look at the &lt;a href=&quot;http://www.cs.umd.edu/~mount/ANN/&quot;&gt;ANN near-neighbor library&lt;/a&gt;, and also look into using the &lt;a href=&quot;http://en.wikipedia.org/wiki/Johnson%E2%80%93Lindenstrauss_lemma&quot;&gt;Johnson-Lindenstrauss transform&lt;/a&gt; for dimensionality reduction (or possibly even PCA to reduce dimensions). &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;(warning - self promotion alert: &lt;a href=&quot;http://www.cs.utah.edu/~suresh/papers/jlx/jlx.pdf&quot;&gt;I have a paper&lt;/a&gt; that describes different implementations of Johnson-Lindenstrauss and how they compare)&lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2011-05-30T19:18:08.113" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6819" PostTypeId="2" ParentId="6812" CreationDate="2011-05-31T03:53:23.933" Score="10" Body="&lt;p&gt;See &lt;a href=&quot;https://cstheory.stackexchange.com/questions/6770/how-do-you-decide-when-you-have-enough-research-results-to-write-a-paper-and-to-w/6796#6796&quot;&gt;my previous answer about journals&lt;/a&gt;.  Same thing.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Different communities withinin theory (like in every other subject) have &lt;em&gt;vastly&lt;/em&gt; different opinions about the relative quality of publication venues.  The only way to judge the quality of a conference is to judge the quality of the research that is presented and published there, &lt;strong&gt;as viewed by the sub-community you want to impress&lt;/strong&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If the only community you're trying to impress is a hiring/promotion committee, you're doing it wrong.  To get hired/promoted, you need strong letters from experts in your field that are recognized as such by hiring/promotion committees.  Figure out who &lt;em&gt;those&lt;/em&gt; people are, and then go kick ass on &lt;em&gt;their&lt;/em&gt; home turf.&lt;/p&gt;&#xA;" OwnerUserId="111" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2011-05-31T22:01:11.273" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6820" PostTypeId="1" CreationDate="2011-05-31T07:38:57.443" Score="7" ViewCount="561" Body="&lt;p&gt;Is there any known problem which is in $\mathsf{AWPP}$ but conjectured to be not in $\mathsf{BQP}$? What about relative to an oracle?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there any known problem in $\mathsf{MQ^2}$ which is conjectured to be not in $\mathsf{BQP}$?&lt;/p&gt;&#xA;" OwnerUserId="5422" LastEditorUserId="1800" LastEditDate="2011-05-31T07:53:15.450" LastActivityDate="2015-04-17T16:44:34.123" Title="Is there any problem which is in AWPP but conjectured to be not in BQP?" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;quantum-computing&gt;" AnswerCount="1" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="6822" PostTypeId="1" AcceptedAnswerId="6827" CreationDate="2011-05-31T19:00:45.987" Score="9" ViewCount="1397" Body="&lt;p&gt;I'd appreciate any pointers or terms that could get me started in the right direction.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We have a directed graph $G=(V,E)$ and lengths $l_{ij}$ for each edge $ij$ that can be assumed positive.  There is a special start node $s$ and end node $t$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For each edge $ij$, we'd like to compute the length of the shortest path from $s$ to $t$ that does not use edge $ij$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A simple brute force algorithm is to run a shortest path algorithm for each edge, each time removing a different edge from the original graph.  Is there a more efficient algorithm that takes advantage of the fact that there is a lot of repeated computation happening in this brute force algorithm?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks in advance.&lt;/p&gt;&#xA;" OwnerUserId="144" LastEditorUserId="74" LastEditDate="2011-06-01T09:41:14.913" LastActivityDate="2011-06-01T09:41:14.913" Title="Shortest paths disallowing each edge" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;graph-algorithms&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="6824" PostTypeId="2" ParentId="6822" CreationDate="2011-05-31T19:36:26.310" Score="8" Body="&lt;p&gt;If you want to associate to each edge the length of a shortest path between $s$ and $t$, you can begin with computing a shortest path in the whole graph, and associate to each edge &lt;em&gt;not in the shortest path you just computed&lt;/em&gt; the length of the current shortest path. After that, you have at most $n-1$ edges left for which you do not know the answer.&lt;/p&gt;&#xA;" OwnerUserId="1209" LastEditorUserId="3964" LastEditDate="2011-05-31T21:31:07.810" LastActivityDate="2011-05-31T21:31:07.810" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6825" PostTypeId="2" ParentId="6077" CreationDate="2011-05-31T21:09:18.737" Score="5" Body="&lt;p&gt;I like Ashley Montanaro's answer, but I thought I would also include a set of functions for which the conjecture is known.&lt;/p&gt;&#xA;&lt;p&gt;A set of functions which is often of interest is functions with constant-sized 1-certificates. This class of problems includes things like &lt;span class=&quot;math-container&quot;&gt;$OR$&lt;/span&gt;, distinctness, collision, triangle-finding and many other problems (not in the HSP-family) which have been shown to have query complexity separations.&lt;/p&gt;&#xA;&lt;p&gt;For a constant-sized 1-certificate total function &lt;span class=&quot;math-container&quot;&gt;$f$&lt;/span&gt;, we have &lt;span class=&quot;math-container&quot;&gt;$D(f) = O(Q(f)^2)$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;hr /&gt;&#xA;&lt;h3&gt;Details:&lt;/h3&gt;&#xA;&lt;p&gt;A certificate for an input &lt;span class=&quot;math-container&quot;&gt;$x$&lt;/span&gt; is a subset of bits &lt;span class=&quot;math-container&quot;&gt;$S \subseteq \{1,...,n\}$&lt;/span&gt; such that for all inputs &lt;span class=&quot;math-container&quot;&gt;$y$&lt;/span&gt;, &lt;span class=&quot;math-container&quot;&gt;$(\forall i \in S \quad y_i = x_i) \rightarrow f(y) = f(x)$&lt;/span&gt;. Then &lt;span class=&quot;math-container&quot;&gt;$C_x(f)$&lt;/span&gt; is the minimum size of a certificate for input &lt;span class=&quot;math-container&quot;&gt;$x$&lt;/span&gt; and the 1-certificate complexity &lt;span class=&quot;math-container&quot;&gt;$C_1(f) = \max_{x | f(x) = 1} C_x(f)$&lt;/span&gt; (The 0-certificate complexity is the same but restricted to &lt;span class=&quot;math-container&quot;&gt;$f(x) = 0$&lt;/span&gt;).&lt;/p&gt;&#xA;&lt;p&gt;You can &lt;a href=&quot;http://www.cs.mcgill.ca/%7Eakazna/Kaznatcheev20110419.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;show&lt;/a&gt; that &lt;span class=&quot;math-container&quot;&gt;$Q(f) \geq \sqrt{bs(f)} \geq 2C_0(f)/2^{C_1(f)} + 1$&lt;/span&gt;. Then you can use the algorithm presented in Buhrman and de Wolf's &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S030439750100144X&quot; rel=&quot;nofollow noreferrer&quot;&gt;survey&lt;/a&gt; to show that: &lt;span class=&quot;math-container&quot;&gt;$D(f) \leq C_1(f)bs(f) \leq C_0(f)C_1(f)$&lt;/span&gt;&lt;/p&gt;&#xA;" OwnerUserId="1037" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2011-05-31T21:09:18.737" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6827" PostTypeId="2" ParentId="6822" CreationDate="2011-05-31T21:35:07.317" Score="18" Body="&lt;p&gt;The problem you mention is called &quot;replacement paths&quot;.&#xA;Here are a few references:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;em&gt;Gotthilf and Lewenstein, Improved algorithms&#xA;for the k simple shortest paths and the&#xA;replacement paths problems. Inf. Proc. Letters,&#xA;109(7):352–355, 2009.&lt;/em&gt; This paper gives the fastest to date exact algorithm for the replacement paths problem, running in time $O(mn+n^2\log\log n)$ time in graphs with $n$ nodes and $m$ edges.&lt;/li&gt;&#xA;&lt;li&gt;&lt;em&gt;A. Bernstein. A nearly optimal algorithm for approximating&#xA;replacement paths and k shortest simple&#xA;paths in general graphs. In Proc. SODA, pages&#xA;742–755, 2010.&lt;/em&gt; This paper amazingly gives a quasilinear time approximation scheme for the problem.&lt;/li&gt;&#xA;&lt;li&gt;&lt;em&gt;J. Hershberger, S. Suri, and A. Bhosle. On the&#xA;difficulty of some shortest path problems. In Proc.&#xA;STACS, pages 343–354, 2003.&lt;/em&gt; This paper shows that any &lt;em&gt;path-comparison&lt;/em&gt; algorithm solving the replacement paths problem exactly must take at least $\Omega(m\sqrt{n})$ time.&lt;/li&gt;&#xA;&lt;li&gt;&lt;em&gt;V.Vassilevska W., R. Williams. Subcubic Equivalences between Path, Matrix and Triangle Problems. In Proc. FOCS, pages 645-654, 2010.&lt;/em&gt; We show that if you obtain an $O(n^{3-\varepsilon})$ time exact algorithm for replacement paths for any constant $\varepsilon&amp;gt;0$, then this can be converted to an $O(n^{3-\varepsilon&amp;#39;})$ time algorithm for all pairs shortest paths for constant $\varepsilon&amp;#39;&amp;gt;0$. Such a truly subcubic algorithm for all pairs shortest paths is a longstanding open problem.&lt;/li&gt;&#xA;&lt;li&gt;&lt;em&gt;O. Weimann, R. Yuster. Replacement Paths via Fast Matrix Multiplication. In Proc. FOCS, pages 655-662, 2010.&lt;/em&gt; and &lt;em&gt;V. Vassilevska W. Faster Replacement Paths. In Proc. SODA, pages 1337-1346, 2011.&lt;/em&gt; These papers show how to use fast matrix multiplication to find replacement paths in graphs with integer edge weights in the interval $\{-M,\ldots, M\}$. The latter paper gives the best known runtime so far, $\tilde{O}(Mn^\omega)$.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="410" LastActivityDate="2011-05-31T21:35:07.317" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6828" PostTypeId="2" ParentId="6448" CreationDate="2011-05-31T21:48:37.910" Score="17" Body="&lt;p&gt;Do not require &quot;One Full Registration Per Paper.&quot; This forbids students from paying student registration if they have a student-authored paper. It seriously offends many, especially since this policy is usually announced after paper acceptance.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Conferences that have done this recently include ISAAC, IWOCA, and COCOA.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I imagine the reason for doing this, particularly in a conference not backed by a professional society, is to guarantee a certain revenue amount. But, it is really the organizer's responsibility to figure out reasonable projections of the student/faculty mix and set registration accordingly.&lt;/p&gt;&#xA;" OwnerUserId="5431" LastActivityDate="2011-05-31T21:48:37.910" CommentCount="3" CommunityOwnedDate="2011-05-31T21:48:37.910" ContentLicense="CC BY-SA 3.0" />
  <row Id="6830" PostTypeId="1" CreationDate="2011-05-31T23:37:16.827" Score="-1" ViewCount="382" Body="&lt;p&gt;I have the LP formulation at the link below for the following problem:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.cs.utsa.edu/~btas/lpformulation.png&quot; rel=&quot;nofollow&quot;&gt;my lp formulation&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Minimize:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$\sum_{i=1}^{N_1} \sum_{j=1}^{N_2} x_{ij}$&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Subject to:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$\sum_{i=m}^{m+a-1} \sum_{j=n}^{n+b-1} x_{ij} \ge k$&lt;/li&gt;&#xA;&lt;li&gt;$x_{ij} \in \{0,1\}$&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;where&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$\forall m, 1 \le m \le N_1 - a + 1 \wedge$&lt;/li&gt;&#xA;&lt;li&gt;$\forall n, 1 \le n \le N_2 - b + 1$&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;We have a $N_1 \times N_2$ grid. Each cell of the grid can have the&#xA;value either 0 or 1. Assume that we have $a \times b$ windows as&#xA;the subset of the $N_1 \times N_2$ grid where $a &amp;lt; N_1$ and $b &amp;lt; N_2$,&#xA;and we want to have at least $k$ of the cells in each window&#xA;have the value 1. We want to minimize the number of &#xA;cells having the value 1.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$x_{ij}$, in the formulation, represents the cell at $i$th column&#xA;and $j$th row.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Actually, this problem is a reduction from the problem, &#xA;Hitting Set.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, I want to add another set of constraints which guarantees that&#xA;the pairs that will be formed out of the cells (having value 1, and &#xA;location $(i,j)$) of the $N_1 \times N_2$ grid&#xA;will have unique slope values. I've been thinking on this, but couldn't figure out if&#xA;it is doable or not using LP.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any ideas, suggestions?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks, &lt;/p&gt;&#xA;" OwnerUserId="5433" LastEditorUserId="3964" LastEditDate="2011-06-01T05:29:29.680" LastActivityDate="2011-06-02T00:13:35.723" Title="linear programming (is this doable?)" Tags="&lt;ds.algorithms&gt;&lt;linear-programming&gt;" AnswerCount="1" CommentCount="3" ClosedDate="2011-06-01T06:03:19.340" ContentLicense="CC BY-SA 3.0" />
  <row Id="6831" PostTypeId="2" ParentId="6830" CreationDate="2011-06-01T01:43:50.967" Score="1" Body="&lt;p&gt;BTW you have an IP. You'd have an LP if you relax the $x_{ij} \in \{0, 1\}$ constraint to $0\leq x_{ij} \leq 1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For your question: for two pairs of cells $\{(i, j), (i + u, j + v)\}$ and $\{(k, l), (k + u, l + v)\}$, you can add a constraint: $x_{ij} + x_{i + u, j + v} + x_{kl} + x_{k + u, l + v} \leq 3$. In the IP this should enforce your condition: it implies that for any two pairs of points &quot;with the same slope&quot;, at least one point has value 0. There will be $O(N^3)$ such constraints, where $N = N_1 N_2$.&lt;/p&gt;&#xA;" OwnerUserId="4896" LastEditorUserId="4896" LastEditDate="2011-06-02T00:13:35.723" LastActivityDate="2011-06-02T00:13:35.723" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="6833" PostTypeId="1" CreationDate="2011-06-01T10:43:50.297" Score="31" ViewCount="931" Body="&lt;p&gt;I am rather confused by the continuous optimization literature and TCS literature about which types of (continuous) mathematical programs (MPs) can be solved efficiently, and which cannot. The continuous optimization community seems to claim that all convex programs can be solved efficiently, but I believe their definition of &quot;efficient&quot; does not coincide with the TCS definition.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This question has been bothering me a lot in the last few years, and I can not seem to find a clear answer to it. I hope you could help me settle this once and for all: Which classes of MPs can be solved exactly in polynomial time, and by which means; and what is known about approximating the optimal solution of MPs that we can not solve exactly in polynomial time? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Below, I give an incomplete answer to this question that is also possibly incorrect at some places, so I hope you could verify and correct me at the points where I'm wrong. It also states some questions that I cannot answer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We all know that linear programming can be solved exactly in polynomial time, by running the ellipsoid method or an interior point method, and subsequently running some rounding procedure. Linear programming can even be solved in time polynomial in the number of variables when facing a family of LPs with any super large amount of linear constraints, as long as one can provide a &quot;separation oracle&quot; for it: an algoritm that, given a point, either determines whether that point is feasible or outputs a hyperplane that separates the point from the polyhedron of feasible points. Similarly, linear programming in time polynomial in the number of constraints when facing a family of LPs with any super large amount of variables, if one provides a separation algorithm for the duals of these LPs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The ellipsoid method is also able to solve quadratic programs in polynomial time, in case the matrix in the objective function is positive (semi?)definite. I suspect that, by using the separation oracle trick, we can in some cases also do this if we are dealing with an incredible number of constraints. Is that true?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Lately semidefinite programming (SDP) has gained a lot of popularity in the TCS community. One can solve them up to arbitrary precision by using interior point methods, or the ellipsoid method. I think, SDPs cannot be solved exactly due to the problem that square roots can not be computed exactly. (?) Would it then be correct if I say there is an FPTAS for SDP? I have not seen that stated anywhere, so that's probably not right. But why?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We can solve LPs exactly and SDPs up to arbitrary precision. What about other classes of conic programs? Can we solve second-order cone programs up to arbitrary precision, using the ellipsoid method? I don't know. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;On which classes of MPs can we use the ellipsoid method? What properties does such an MP need to satisfy such that an answer can be given up to arbitrary precision, and what additional properties do we need in order to be able to obtain an exact solution in polynomial time? Same questions for interior point methods. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Oh, and finally, what is it that causes continuous optimizers to say that convex programs can be solved efficiently? Is it true that an arbitrary-precision answer to a convex program can be found in polynomial time? I believe not, so in what aspects does their definition of &quot;efficient&quot; differ from ours?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any contribution is appreciated! Thanks in advance.&lt;/p&gt;&#xA;" OwnerUserId="5427" LastEditorUserId="186" LastEditDate="2011-06-02T02:05:26.413" LastActivityDate="2012-04-23T15:15:35.927" Title="What classes of mathematical programs can be solved exactly or approximately, in polynomial time?" Tags="&lt;ds.algorithms&gt;&lt;optimization&gt;&lt;linear-programming&gt;&lt;semidefinite-programming&gt;&lt;polynomial-time&gt;" AnswerCount="2" CommentCount="5" FavoriteCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="6835" PostTypeId="2" ParentId="6812" CreationDate="2011-06-01T12:11:55.880" Score="2" Body="&lt;p&gt;Although not strictly a measure of quality, one easy way to judge the &lt;em&gt;perceived&lt;/em&gt; quality of a conference is to look at its historical acceptance rate.  In Computer Science, many conference publications are considered terminal because they are so competitive.  The idea is that the &quot;better&quot; the conference, the more desirable it is to submit one's work, thus the more submissions it receives, thus lowering its acceptance rate. It is common for some highly competitive conferences to have acceptance rates well below 20%.  If we believe in the efficacy of peer review (&lt;a href=&quot;https://skeptics.stackexchange.com/questions/2992/do-peer-reviewed-journals-enhance-the-quality-of-scientific-research&quot;&gt;which may be a big &quot;if&quot;&lt;/a&gt;), then the lower acceptance rate should correlate with &quot;better&quot; papers.&lt;/p&gt;&#xA;" OwnerUserId="1359" LastEditorUserId="-1" LastEditDate="2017-04-13T12:46:46.700" LastActivityDate="2011-06-01T12:11:55.880" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6836" PostTypeId="1" CreationDate="2011-06-01T15:41:44.940" Score="9" ViewCount="412" Body="&lt;p&gt;&lt;i&gt;Since no answer was given, a flag has been set requesting that this question be  converted to a community wiki.&lt;/i&gt;&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;The comments by Aaron Sterling, Sasho Nikolov, and Vor have been synthesized into the following resolution, which is open for community wiki discussion:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Resolved:&lt;/strong&gt;&amp;nbsp;&amp;nbsp; With respect to classical algorithms that output numbers, samples, or simulation trajectories, strict mathematical logic requires that either all four of the following propositions be accepted, or none of them:&lt;/p&gt;&#xA;  &#xA;  &lt;ol&gt;&#xA;  &lt;li&gt;&lt;em&gt;We can rule out a polynomial-time classical algorithm to generate random numbers.&lt;/em&gt;&amp;nbsp;&lt;a href=&quot;http://ieeexplore.ieee.org/iel5/18/22641/01054210.pdf?arnumber=1054210&quot; rel=&quot;nofollow noreferrer&quot;&gt;[1]&lt;/a&gt;&lt;/li&gt;&#xA;  &lt;li&gt;&lt;em&gt;“We can rule out a polynomial-time classical algorithm to sample the output distribution of a quantum computer, under the sole assumption that the polynomial hierarchy is infinite.”&lt;/em&gt;&amp;nbsp;&lt;a href=&quot;http://arxiv.org/abs/1009.5104&quot; rel=&quot;nofollow noreferrer&quot;&gt;[2]&lt;/a&gt;&lt;/li&gt;&#xA;  &lt;li&gt;&lt;em&gt;&quot;We can't simulate [a quantum mechanical trajectory] $\psi(t)$ in the usual way&amp;nbsp;&amp;hellip; there're too many variables.&quot;&lt;/em&gt;&amp;nbsp;&lt;a href=&quot;http://citeseer.ist.psu.edu/viewdoc/summary?doi=10.1.1.45.9310&quot; rel=&quot;nofollow noreferrer&quot;&gt;[3]&lt;/a&gt;&lt;/li&gt;&#xA;  &lt;li&gt;&lt;em&gt;The extended Church-Turing-Thesis (E-C-T) is ruled out, for the rigorous reason  that classical algorithms cannot generate random numbers.&lt;/em&gt;&amp;nbsp;&lt;a href=&quot;http://rjlipton.wordpress.com/2011/06/06/types-of-papers/#comment-12070&quot; rel=&quot;nofollow noreferrer&quot;&gt;[4]&lt;/a&gt;&lt;/li&gt;&#xA;  &lt;/ol&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;To initiate discussion, here are affirmative and negative responses that, although each defensible, are deliberately over-stated.  A strongly affirmative argument might be:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;b&gt;Affirmative:&lt;/b&gt;&amp;nbsp;&amp;nbsp;These four statements reflect theorems that, to respect rigor, require us never to speak of classical algorithms that generate random numbers, random samples, or quantum simulations, but rather to speak only of classical algorithms that generate pseudo-random numbers and (by extension) pseudo-random samples, and pseudo-quantum simulations.&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;This being understood, all four statements are true.  Moreover, to avoid ambiguity and prevent confusion, mathematicians should encourage scientists and engineers to affix the prefix &quot;pseudo-&quot; to almost all usages of &quot;random&quot;, &quot;sample&quot;, and &quot;quantum simulation&quot;.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;A strongly negative argument might be:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;b&gt;Negative:&lt;/b&gt;&amp;nbsp;&amp;nbsp;These statements (and their associated formal theorems) are sign-posts that direct us to a &lt;a href=&quot;http://rjlipton.wordpress.com/2011/06/06/types-of-papers/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Lakatos-style&lt;/a&gt; “red-light” district of mathematics where we are beckoned to enthusiastically embrace (what might be called) the disciplines of pseudo-randomness, pseudo-sampling, and pseudo-simulation&amp;nbsp;&amp;hellip; mathematical practices that are fun for a deliciously sinful reason: they achieve mathematical effects that formal logic says are impossible.  Therefore, what could be more magical, and more fun, than this conclusion: the resolution's four statements each are formally true, but practically false?  &lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;This being understood, all four statements are false.  Moreover, since most practical embraces of &quot;randomness&quot;, &quot;sampling&quot;, and &quot;quantum simulation&quot; occur in this magical environment&amp;mdash;in which issues associated to Kolmogorov complexity and oracular assessments are willfully overlooked&amp;mdash;it is mathematicians who should alter their usage.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Realistically, though, how &lt;em&gt;should&lt;/em&gt; complexity theorists phrase their findings relating to randomness, sample, and simulation&amp;nbsp;&amp;hellip;  on the one hand, with a view toward sustaining a reasonable balance of clarity, concision, and rigor&amp;nbsp;&amp;hellip; and on the other hand, with a view toward sustaining low-noise communication with other STEM disciplines?  The latter goal is especially important, as practical capabilities steadily increase in fields like cryptography, statistical testing, machine learning, and quantum simulation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It would very helpful (and enjoyable too) to read well-reasoned answers, either affirmative or negative.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;The question asked is&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What is/are the generally accepted role(s) of verification in the complexity-theoretic definitions associated to sampling, simulation, and testing the extended-Church-Turing (E-C-T) thesis?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The preferred answer is references to articles, monographs, or textbooks that discuss these issues in-depth.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Should this literature prove to be sparse or otherwise unsatisfactory, then (after two days) I will convert this question to a community wiki asking:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What is/are &lt;i&gt;reasonable and proper&lt;/i&gt; role(s) of verification in the complexity-theoretic definitions associated to sampling, simulation, and testing the extended-Church-Turing (E-C-T) thesis?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;b&gt;Background&lt;/b&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The question asked is motivated by the recent thread &lt;a href=&quot;https://cstheory.stackexchange.com/q/88/1519&quot;&gt;&quot;What would it mean to disprove Church-Turing thesis?&quot;&lt;/a&gt;, specifically the (excellent IMHO) answers given by &lt;a href=&quot;https://cstheory.stackexchange.com/questions/88/what-would-it-mean-to-disprove-church-turing-thesis/886#886&quot;&gt;Gil Kalai&lt;/a&gt; and by &lt;a href=&quot;https://cstheory.stackexchange.com/questions/88/what-would-it-mean-to-disprove-church-turing-thesis/4838#4838&quot;&gt;Timothy Chow&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the question asked, the phrase &lt;em&gt;&quot;proper and/or accepted complexity-theoretic definitions&quot;&lt;/em&gt; is to be construed as restraining Alice from implausible claims like the following:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;b&gt;Alice:&lt;/b&gt;&amp;nbsp;&amp;nbsp;Here is my experimental sample of truly random binary digits computed by my (one-photon) linear optical network.&lt;br&gt;&lt;br&gt;&lt;b&gt;Bob:&lt;/b&gt;&amp;nbsp;&amp;nbsp;Here is my simulated sample of pseudo-random digits computed by a classical Turing machine.&lt;br&gt;&lt;br&gt;&lt;b&gt;Alice:&lt;/b&gt;&amp;nbsp;&amp;nbsp;Sorry Bob ... your sample is algorithmically compressible, and mine isn't. Therefore my experimental data demonstrate that the E-C-T is false!&quot; &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;In the absence of any association of verification to sampling, Alice's reasoning is impeccable. In&amp;nbsp;other&amp;nbsp;words, should complexity theorists regard the E-C-T as having &lt;i&gt;already&lt;/i&gt; been formally disproved&amp;nbsp;&amp;hellip; decades ago?  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;From a practical point of view, simulation methods associated to &lt;a href=&quot;http://faculty.washington.edu/sidles/ENC_2011/#forGilKalai&quot; rel=&quot;nofollow noreferrer&quot;&gt;quantum trajectory sampling on varietal state-spaces&lt;/a&gt; are coming into widespread use in many disciplines of science and engineering.  That is why complexity-theoretic definitions of sampling that respect the central role of verification (which is inseparable from replicability) in science and engineering would be very welcome to practicing scientists and engineers&amp;nbsp;&amp;hellip; especially if these definitions were accompanied by theorems describing the computational complexity of verified sampling. &lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Added Edit:&lt;/strong&gt;  Thanks to a collaboration between the University of Geneva and the company &lt;em&gt;id Quantique&lt;/em&gt;, it is perfectly feasible to complete this exercise in reality.   &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here are 1024 random bits that are &lt;a href=&quot;http://www.randomnumbers.info/content/Download.htm&quot; rel=&quot;nofollow noreferrer&quot;&gt;certified by &lt;em&gt;id Quantique&lt;/em&gt;&lt;/a&gt; as being algorithmically incompressible:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;0110001000010111111100010111001000101110110001001100000010010110&#xA;0101000110100011101001110110000001010110011101111110101010110100&#xA;1001001110001110101000001110000101000110000001010001101001000000&#xA;0110101010110000110101001110011010010101000000110000010000010111&#xA;0100110110001011011101110000010110000100110001001110011000000011&#xA;1111010100010110110010011000110110110010101101010000010010001111&#xA;1101111000111101111010000110100110011000101101010110110110000101&#xA;1110111100000111000111101111110011101101110111101001001111111110&#xA;1000001011001000011101001000001110101110101010000111100000111010&#xA;1010011001110111101001100010110000101101100100101100000110111111&#xA;1000001101111001111011100011110101011010010100000010100101100010&#xA;0011101000111100000001101100111110100100010100100010011000001000&#xA;0000001001110101010111110001010010000111010011000100001101101000&#xA;1011111010001000110101110101111101010111111011011111110010010111&#xA;0111000010000111000100110110010101110100000110101001111010101001&#xA;0100011110011101000011000100110110010000100001111100101001010011 &#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Should we now accept the claim: &quot;The E-C-T thesis is disproved&quot;?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If not, what grounds should we give?&lt;/p&gt;&#xA;" OwnerUserId="1519" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2015-05-17T15:45:21.837" Title="What is the proper role of verification in quantum sampling, simulation, and extended-Church-Turing (E-C-T) testing?" Tags="&lt;quantum-computing&gt;&lt;program-verification&gt;&lt;sample-complexity&gt;" AnswerCount="1" CommentCount="11" FavoriteCount="2" CommunityOwnedDate="2011-06-07T15:53:52.673" ContentLicense="CC BY-SA 3.0" />
  <row Id="6838" PostTypeId="2" ParentId="6755" CreationDate="2011-06-01T18:59:27.333" Score="13" Body="&lt;p&gt;Here's a paper on generating SAT instances from factoring:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Horie, S. &amp;amp; Watanabe, O. [1997] &quot;&lt;a href=&quot;http://www.springerlink.com/content/n0280u3767nl14w4/&quot;&gt;Hard instance generation for SAT&lt;/a&gt;&quot; &lt;em&gt;Algorithms and Computation&lt;/em&gt; 1350:22-31 (&lt;a href=&quot;http://arxiv.org/pdf/cs/9809117&quot;&gt;pdf&lt;/a&gt;)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's worse than linear, but better than $n^2$.  A 512-bit RSA challenge type number generates an instance with 63,652 variables and 406,860 clauses.&lt;/p&gt;&#xA;" OwnerUserId="5445" LastEditorUserId="1037" LastEditDate="2012-07-22T00:53:20.140" LastActivityDate="2012-07-22T00:53:20.140" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6839" PostTypeId="2" ParentId="6833" CreationDate="2011-06-01T22:58:35.770" Score="18" Body="&lt;p&gt;I can answer this part:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Would it then be correct if I say there is an FPTAS for SDP?  I have not seen that stated anywhere, so that's probably not right.  But why?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The statement is correct, but we do not often see it because a stronger statement holds and is more important than this weaker statement.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An FPTAS is a polynomial-time algorithm which, given a problem and an accuracy parameter 1&lt;sup&gt;&lt;i&gt;k&lt;/i&gt;&lt;/sup&gt;, outputs a (1+1/&lt;i&gt;k&lt;/i&gt;)-approximate solution.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But for SDP, the ellipsoid method and the interior-point method provide polynomial-time algorithms which, given a problem and an accuracy parameter 1&lt;sup&gt;&lt;i&gt;k&lt;/i&gt;&lt;/sup&gt;, output a (1+2&lt;sup&gt;−&lt;i&gt;k&lt;/i&gt;&lt;/sup&gt;)-approximate solution.  Note that the approximation factor is much better than what is required for an FPTAS.&lt;/p&gt;&#xA;" OwnerUserId="567" LastActivityDate="2011-06-01T22:58:35.770" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="6841" PostTypeId="1" CreationDate="2011-06-02T11:18:18.467" Score="12" ViewCount="372" Body="&lt;p&gt;I am looking for modal logics, which are axiomatised by a finite set of axioms of modal nesting depth one, and whose satisfiability / derivability problem is unlikely to be in PSPACE. Without the restriction on the modal nesting depth this is not a problem, see for example PDL. But it seems that in proving for example EXPTIME-hardness by reduction to some kind of tiling problem or acceptance problem for Turing machines, one would need some kind of transitivity, which is axiomatised in depth two. There are also undecidable logics with a binary modality (Kurucz et al.: &lt;em&gt;Decidable and undecidable logics with a binary modality&lt;/em&gt;, 1995), but these typically require associativity, which is depth two as well. In Conditional Logic, again it seems that we need depth two for EXPTIME-hardness (Friedman, Halpern: &lt;em&gt;On the Complexity of Conditional Logics&lt;/em&gt;, 1994). &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Can we get EXPTIME-hardness with&#xA;  axioms of nesting depth one?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Background:&lt;/strong&gt; We are trying to find generic decision procedures of a good complexity for logics axiomatised with nesting depth one.&lt;/p&gt;&#xA;" OwnerUserId="5487" LastEditorUserId="80" LastEditDate="2011-06-02T16:58:39.630" LastActivityDate="2011-08-08T07:44:09.690" Title="Modal logics axiomatised with nesting depth one which are unlikely to be in PSPACE?" Tags="&lt;cc.complexity-theory&gt;&lt;lo.logic&gt;&lt;modal-logic&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="6842" PostTypeId="1" CreationDate="2011-06-02T13:29:13.737" Score="6" ViewCount="1024" Body="&lt;p&gt;While looking looking for an efficient and simple algorithm for directed acyclic graph isomorphism, I stumbled upon this which points out the similarity between DAG isomorphism and unification.  After learning a bit on the subject, I still have many questions about the relationships between the subjects.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Unification is said to be efficient on first order logic term. How efficient is it, exactly?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;In my first analysis, it seems like DAG isomorphism should be reducible to unification, yet unification is efficient and DAG isomorphism is not. What am I missing? (I am of course assuming that every DAG can be transformed &quot;efficiently&quot; into a valid set of first order logic &quot;expressions&quot;... Is that correct?)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Is there a reference where the relationship between the subjects are explored?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;How far can semantic unification go while staying efficient? Associations? Commutativity? Something else? Are there any papers on a real word application?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;To give some context, the DAGs I am looking into are basic blocks DAGs from MIPS assembly language (or something close). I am working on the custom instruction selection problem where the goal is pretty much to identify subgraphs of the basic block DAG which should be implemented in hardware. I need to check for isomorphism to avoid having two separate hardware units performing the same operation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given my use-case, can someone point me in the direction of the best &quot;isomorphism framework&quot; (DAG isomorphism, unification, something else, etc...) to use?&lt;/p&gt;&#xA;" OwnerUserId="5454" LastEditorUserId="-1" LastEditDate="2014-09-10T00:27:23.310" LastActivityDate="2014-09-10T00:27:23.310" Title="Questions on unification theory (and its application to DAG isomorphism )" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;graph-isomorphism&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6843" PostTypeId="2" ParentId="6842" CreationDate="2011-06-02T14:44:41.000" Score="9" Body="&lt;p&gt;An excellent starting point for information on unification theory&#xA;with some information on unification of term dags is the survey &#xA;by Baader and Snyder.&#xA;&lt;a href=&quot;http://www.cs.bu.edu/~snyder/publications/UnifChapter.pdf&quot;&gt;http://www.cs.bu.edu/~snyder/publications/UnifChapter.pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="5455" LastActivityDate="2011-06-02T14:44:41.000" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6845" PostTypeId="2" ParentId="6448" CreationDate="2011-06-02T15:32:16.480" Score="9" Body="&lt;p&gt;&lt;b&gt;If you use conference bags, make them recyclable or reusable:&lt;/b&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you need a bag to give registrants, then you are giving out too much stuff---everyone just throws it away and often hotels do not even have paper recycling!  Still, if you do use a cloth bag then choose a useful design, for example a grocery shopping bag.  If you use a plastic bag, then ask the hotel for plastic recycling bins.  &lt;/p&gt;&#xA;" OwnerUserId="5071" LastActivityDate="2011-06-02T15:32:16.480" CommentCount="0" CommunityOwnedDate="2011-06-02T15:32:16.480" ContentLicense="CC BY-SA 3.0" />
  <row Id="6846" PostTypeId="1" CreationDate="2011-06-02T18:51:17.017" Score="1" ViewCount="388" Body="&lt;p&gt;This is a very simple question, but I couldn't find a reference and I just wanted to check my facts. I was looking for a state machine similar to pushdown automata but where the stack is restricted to one element (i.e. a register).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It occurred to me that if the register has an infinite alphabet (of possible values) it will basically be equivalent to a PDA. Every configuration of the stack could be represented by a single element of the register's alphabet. (E.g. let's say that the register's alphabet is the set of natural numbers). Is this correct?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Furthermore, a DFSM is equivalent in strength to a NFSM. However, I assume that (DFSM + 1 register) would not be equivalent to a (NFSM + 1 register) since DPDA and NPDA are not equivalent?&lt;/p&gt;&#xA;" OwnerUserId="105" LastEditorUserId="186" LastEditDate="2011-06-03T02:48:14.650" LastActivityDate="2014-02-19T16:45:32.433" Title="Are finite state automata with one register storage equivalent to push down automata?" Tags="&lt;reference-request&gt;&lt;fl.formal-languages&gt;&lt;automata-theory&gt;" AnswerCount="1" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="6847" PostTypeId="2" ParentId="3168" CreationDate="2011-06-03T17:55:06.003" Score="4" Body="&lt;p&gt;I think perhaps you may be over-reaching. As you point out your self, the construction of the computer itself could be made reversible, and so the energy investment in construction won't yield an interesting lower bound. Considering the ancillary register is an interesting idea, but I don't think it is quite as straight forward as you make it sound. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In particular, it is not necessary to initialise ever bit or qubit in the ancillary register. We can use a fault-tolerant construction to ensure that the probability of obtaining an incorrect result is bounded. Von Neumann provided such a construction for classical computing using majority gates which has a threshold of $\frac{5}{6}$ for the probability of obtaining the correct output from a gate, and in quantum computing this is a very active research area, where the best error thresholds are on the order of a few percent. This gives a threshold in terms of the polarization of the system (assuming the gates themselves are noiseless). However, if the decoding circuit is noisless, then the classical threshold moves to $\frac{1}{2}$, which seems to indicate that a large noisy ancillary system can be exploited by using the input/output system for decoding, independant of the polarization of the system.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In fact, there is a model of computation where the system is composed of a single quantum bit (qubit) together with an ancilla system which is not polarized (i.e. in a uniformly random state, which can be seen as the infinite temperature thermal state). Note that you can prepare such a state at finite temperature. This is known as the one clean qubit model. What's interesting is that this model is far from trivial, being believed to be sufficient to solve some classically intractable problems, while not being as powerful as a universal quantum computer. An example of this is this paper (&lt;a href=&quot;http://arxiv.org/abs/0707.2831v3&quot; rel=&quot;nofollow&quot;&gt;arXiv:0707.2831&lt;/a&gt;) by Peter Shor and Stephen Jordan, showing that estimating Jones polynomials is complete for the model.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;With this in mind, in general the ancilla system does not seem to need to be initialised to provide a computational advantage, which seems to undermine the key assumption you make. As such, I believe your conjecture is false.&lt;/p&gt;&#xA;" OwnerUserId="204" LastActivityDate="2011-06-03T17:55:06.003" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="6848" PostTypeId="1" CreationDate="2011-06-03T20:42:27.237" Score="8" ViewCount="106" Body="&lt;p&gt;Put a uniform distribution on the integers $\{1,\cdots, M\}$. Draw $N$ samples, and sort them as $x_1 \leq \cdots \leq x_N$. A &lt;em&gt;rank query&lt;/em&gt; calculates $rank(j) = \mbox{card} \{ i : x_i \leq x_j \}$ for any $1 \leq j \leq N$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is the most space-efficient data structure that can handle rank queries in constant time (or perhaps $O(\log\log N)$ time)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think that for $M = N$ it is possible to use an Elias-Fano representation to obtain the structure with $2N + o(N)$ bits of space. Can one exploit the uniform distribution assumption to do better? I am also very interested in the $M &amp;gt; N^2$ case, which is the transition where &quot;birthday collisions&quot; $x_i = x_j, i \neq j$ are no longer expected.&lt;/p&gt;&#xA;" OwnerUserId="3474" LastEditorUserId="3474" LastEditDate="2011-06-03T20:55:57.727" LastActivityDate="2011-06-03T20:55:57.727" Title="Rank Queries of Uniformly Drawn Order Statistics" Tags="&lt;ds.data-structures&gt;" AnswerCount="0" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6849" PostTypeId="1" AcceptedAnswerId="6910" CreationDate="2011-06-03T21:04:46.287" Score="4" ViewCount="163" Body="&lt;p&gt;The continuous max flow problem is posed as follows : &lt;/p&gt;&#xA;&#xA;&lt;p&gt;sup $\int_\Omega  p_s(x)dx$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;subject to : &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$|p(x)| \le C(x);  \forall x \in \Omega $&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$p_s(x) \le C_s(x);  \forall x \in \Omega $&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$p_t(x) \le C_t(x);  \forall x \in \Omega $&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\nabla \cdot p(x) - p_s(x) + p_t(x) = 0;  \forall x \in \Omega $&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here $p(x)$ is a field vector and is analogous to the flow in the discrete domain. $\nabla \cdot p$ is the divergence of the field p.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;How do i find out the dual of this maximization problem using the lagrangian dual technique, i.e. the equivalent min cut formulation of the problem in the continuous domain.&lt;/p&gt;&#xA;" OwnerUserId="4991" LastEditorUserId="4991" LastEditDate="2011-06-04T00:17:28.593" LastActivityDate="2011-06-07T19:22:18.717" Title="Primal Dual model in the continuous domain" Tags="&lt;ds.algorithms&gt;&lt;max-flow-min-cut&gt;&lt;primal-dual&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6850" PostTypeId="2" ParentId="4654" CreationDate="2011-06-03T22:59:59.213" Score="-5" Body="&lt;p&gt;SVN is the tool developed for this purpose.  I would put in the effort to learn it.   It is not more complicated than learning to use say the algorithm2e Latex package or one of the pdf slide creator Latex packages.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Having said that, I use CVS instead of SVN.  There is better support from the CS admins at our institution (the SVN server is more user managed).  Plus, I appreciate that the underlying version files are still there and editable if something goes very-very wrong.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are 2 drawbacks when compared to SVN.  File renames are not as nice, but I can live with that (pick a good name first time).  The second problem is that one needs a local CS account to access the repository.  Therefore from another institution access is only possible if an account is created first.  Of course I do not expect this to be a real problem anywhere; a local department member can probably sponsor that account.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The local access restriction is due to the fact that the admins do not want to support a pserver.  (Harder to secure etc.)&lt;/p&gt;&#xA;" OwnerUserId="5470" LastActivityDate="2011-06-03T22:59:59.213" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6851" PostTypeId="2" ParentId="3390" CreationDate="2011-06-04T02:17:06.743" Score="-5" Body="&lt;pre&gt;&lt;code&gt;A = 0x4F1BBCDD&#xA;B = 0x314EFB75&#xA;A*B = 1 &#xA;N = size of set before addition/removal&amp;lt;P&amp;gt;&#xA;Add X&#xA;H = (H-N)*B&#xA;U = H &amp;gt;&amp;gt; 16&#xA;V = H &amp;amp; 0xFFFF&#xA;H = (((U+X)&amp;amp;M)&amp;lt;&amp;lt;16) + ((V^X)&amp;amp;M)&#xA;H *= A&#xA;H += N+1&#xA;&#xA;Remove X&#xA;H = (H-N)*B&#xA;U = H &amp;gt;&amp;gt; 16&#xA;V = H &amp;amp; 0xFFFF&#xA;H = (((U-X)&amp;amp;M)&amp;lt;&amp;lt;16) + ((V^X)&amp;amp;M)&#xA;H *= A&#xA;H += N-1&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;the sum allows us to have multiple occurrences of the same value&lt;br&gt;&#xA; the xor allows us to have sets that sum to the same amount&lt;/p&gt;&#xA;" OwnerUserId="5472" LastEditorUserId="27420" LastEditDate="2017-01-19T22:37:14.970" LastActivityDate="2017-01-19T22:37:14.970" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6852" PostTypeId="1" CreationDate="2011-06-04T11:07:55.303" Score="5" ViewCount="1187" Body="&lt;p&gt;I am looking for efficient and easy in implementation algorithm for incremental parsing of expressions with brackets.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider the example with expression like &quot;((1)())(2)&quot;. Parse tree for that expression is:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;((1)())(2)&#xA;    ((1)())&#xA;        (1)&#xA;            1&#xA;        ()&#xA;    (2)&#xA;        2&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Lets assume we inject additional symbols &quot;)(&quot; in the middle of the expression: &quot;((1)(&lt;strong&gt;)(&lt;/strong&gt;))(2)&quot;. My question is how to apply changes in the parse tree without reparsing of the whole input?&lt;/p&gt;&#xA;" OwnerUserId="5475" LastEditorUserId="186" LastEditDate="2011-06-05T09:30:18.250" LastActivityDate="2012-12-26T19:00:14.867" Title="Brackets expression incremental parsing algorithm" Tags="&lt;fl.formal-languages&gt;&lt;online-algorithms&gt;&lt;parsing&gt;&lt;compilers&gt;" AnswerCount="2" CommentCount="5" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="6853" PostTypeId="2" ParentId="6039" CreationDate="2011-06-04T12:09:53.097" Score="4" Body="&lt;p&gt;Just to complete the excellent explanation by Neil, impredicativity has a &quot;soft&quot; sense: the definition of sets or collections by using a reference to themselves. In that sense:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;Inductive Lam : Set :=&#xA;| Var : Nat -&amp;gt; Lam&#xA;| App : Lam -&amp;gt; Lam -&amp;gt; Lam&#xA;| Abs : (Lam -&amp;gt; Lam) -&amp;gt; Lam&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;is an impredicative definition, as it defines an inductive type, Lam using a function space (Lam -&gt; Lam) which refers to the collection itself. In this situation, impredicativity is &lt;em&gt;harmful&lt;/em&gt;: it is possible to use Cantor's theorem to prove False. In fact this is the same brand of impredicativity which discounts naive Set Theory as a consistent foundation for mathematics. It is therefore disallowed in Coq. &lt;em&gt;Another&lt;/em&gt; form of impredicativity &lt;em&gt;is&lt;/em&gt; allowed, as you are aware:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;Definition Unit : Prop := forall X:Prop, X -&amp;gt; X&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;The definition of Unit as a proposition makes reference to the collection of all Propositions of which it is a member. However, for reasons somewhat obscure to me, this impredicativity is &lt;em&gt;not&lt;/em&gt; harmful as it is present in ZFC (in the form of &lt;em&gt;unbounded comprehension&lt;/em&gt;) which is not known to be inconsistent.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In conclusion, negative occurences of inductive types in definitions is a form of impredicativity, but not the one usually referred to when speaking of CoC as an &lt;em&gt;impredicative framework&lt;/em&gt;.&lt;/p&gt;&#xA;" OwnerUserId="3984" LastEditorUserId="3984" LastEditDate="2016-02-26T16:23:15.337" LastActivityDate="2016-02-26T16:23:15.337" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="6854" PostTypeId="2" ParentId="6841" CreationDate="2011-06-04T13:49:44.890" Score="0" Body="&lt;p&gt;I would suggest reading Blackburn, de Rijke and Venema's book &lt;a href=&quot;http://www.mlbook.org/&quot; rel=&quot;nofollow&quot;&gt;Modal Logic&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="4494" LastActivityDate="2011-06-04T13:49:44.890" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="6855" PostTypeId="1" CreationDate="2011-06-04T19:08:39.997" Score="4" ViewCount="157" Body="&lt;p&gt;Suppose I'm given a CNF formula with $m$ clauses (and $k$ literals in each clause), with a total of $n$ variables in the formula, where each variable is in at most $c$ clauses, along with a satisfying assignment to this formula. I change the value of each variable to the other possible value (from the one in the given assignment) with constant probability $p \leq \frac{1}{2}$ independently of the other variables. I want to show that with probability at least $1-exp\left(-\frac{p^2n}{2c^2}\right)$, the new assignment satisfies at least $\left(1-\left(c+1\right)p\right)m$ clauses.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It seems I should use here martingales (Azuma's inequality) or large deviation inequalities, however I didn't manage to get any meaningful results using these methods, so that may not be the case.&lt;/p&gt;&#xA;" OwnerUserId="5476" LastEditorUserId="186" LastEditDate="2011-06-05T09:26:35.100" LastActivityDate="2011-06-05T09:26:35.100" Title="Adding noise to an assignment" Tags="&lt;co.combinatorics&gt;&lt;pr.probability&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="6856" PostTypeId="1" AcceptedAnswerId="6858" CreationDate="2011-06-04T22:08:32.970" Score="7" ViewCount="345" Body="&lt;p&gt;Please help me understand some type theory research.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As suggested in &quot;Type Checking with Universes&quot; by Robert Harper and Robert Pollack, we can add the following rule to our otherwise standard COC or PTS type inference rules.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xD;&#xA;\frac{\Gamma \vdash M : \text{Type}_{i}}{\Gamma \vdash M : \text{Type}_{i+1}} \text{(Cumulativity)}&#xD;&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Doesn't that mean that if I declare Boolean : Type₀ that Boolean is implicitly of type Type₁, Type₂, and so on? And doesn't that mean that Typeᵢ ≡ Type₍ᵢ₊₁₎ and furthmore that ∀ i, j . Typeᵢ ≡ Typeⱼ by equational reasoning?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;How does this differ from a predicative type theory where Type : Type?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Furthermore, this allows us to have dependent types even if our Π-formation rule is written as follows&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xD;&#xA;\frac{\Gamma \vdash \alpha : s \hspace{3em} \Gamma,x :a \vdash \beta : s}{\Gamma \vdash (\Pi x : \alpha . \beta) : s} \text{(}\Pi\text{-formation)}&#xD;&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where the types of α, β and the resulting formation are (implicitely) required to be equivalent, right?&lt;/p&gt;&#xA;" OwnerUserId="5167" LastEditorUserId="4196" LastEditDate="2011-06-16T13:18:10.770" LastActivityDate="2011-06-16T13:18:10.770" Title="Implications of the rule of cumulativity in the Calculus of Constructions" Tags="&lt;lo.logic&gt;&lt;type-theory&gt;&lt;functional-programming&gt;&lt;type-inference&gt;&lt;dependent-type&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="6857" PostTypeId="1" CreationDate="2011-06-04T22:29:03.067" Score="5" ViewCount="135" Body="&lt;p&gt;In Luca Trevisan's paper &quot;Psuedorandomness and Combinatorial Constructions&quot;, he says that in a graph drawn from $G_{n,1/2}$, for every two disjoint sets A and B there are $(1/2 + o_n(1)) |A||B|$ edges between A and B. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm confused as to the exact meaning of this statement. Is it saying that given two disjoint subsets of n vertices selected at random, that's the expected value of the number of edges between them? If so, then doesn't linearity of expectation give |A||B|/2? What is this extra factor of o(1)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks!&lt;/p&gt;&#xA;" OwnerUserId="5479" LastEditorUserId="186" LastEditDate="2011-06-05T09:25:36.050" LastActivityDate="2011-06-05T09:25:36.050" Title="Size of cuts in graphs drawn from $ G_{n,1/2}$" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6858" PostTypeId="2" ParentId="6856" CreationDate="2011-06-04T22:35:29.333" Score="8" Body="&lt;p&gt;Just because you can always embed a lower-order type into the higher-order universe doesn't imply that the reverse is true.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The higher-order universe is always strictly larger than the lower-order one, so there is no problem with respect to predicativity.&lt;/p&gt;&#xA;" OwnerUserId="629" LastActivityDate="2011-06-04T22:35:29.333" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="6859" PostTypeId="2" ParentId="6857" CreationDate="2011-06-05T01:29:23.583" Score="8" Body="&lt;p&gt;Perhaps what's implicit after &quot;there are&quot; is &quot;asymptotically almost surely&quot;, which means that the property holds with probability tending to 1 as n tends to infinity; this is stronger than &quot;in expectation&quot;.  You might want to check out a standard textbook on random graphs (e.g. by Alon-Spencer, Bollobas, or Janson-Luczak-Rucinski).&lt;/p&gt;&#xA;" OwnerUserId="233" LastActivityDate="2011-06-05T01:29:23.583" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6861" PostTypeId="1" AcceptedAnswerId="6862" CreationDate="2011-06-05T10:03:20.323" Score="3" ViewCount="332" Body="&lt;p&gt;Say there's a public encryption scheme whose public key is $p_k$ and secret key is $s_k$. Prover $P$ wants to convince verifier $V$ that he knows $s_k$. The protocol is:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;$V$ uniformly generates $m$ and sends $c = Enc_{p_k}(m)$ to $P$&lt;/li&gt;&#xA;&lt;li&gt;$P$, receiving $c$, sends $m&amp;#39; = Dec_{s_k}(c)$ to $V$&lt;/li&gt;&#xA;&lt;li&gt;$V$ checks whether $m = m&amp;#39;$. If so, accept. Else, reject.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Completeness and soundness are obvious. Intuitively decryption shouldn't leak information about the secret key $s_k$ if this scheme is CCA-secure. But I just haven't come up with a proper simulator to argue this. If $V$ cheats, it's hard to get the correct plaintext without knowledge of $s_k$. If the simulator just guess, the probability is so low that exponentially many rounds are required. So the question is:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is this protocol really zero knowledge? If so, how to construct the simulator?&lt;/p&gt;&#xA;" OwnerUserId="4471" LastActivityDate="2011-07-10T05:56:42.280" Title="Zero knowledgeness of a simple protocol" Tags="&lt;cr.crypto-security&gt;&lt;zero-knowledge&gt;" AnswerCount="2" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6862" PostTypeId="2" ParentId="6861" CreationDate="2011-06-05T10:32:09.633" Score="6" Body="&lt;p&gt;First, I think the CCA-security is not enough, and the encryption scheme must be at least IND-CCA2-secure.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Second, I believe the protocol is not zero-knowledge, at least in the auxiliary-input model. The reasoning is as follows: Let z be the auxiliary input to the malicious verifier V*. It's safe to assume that $z = Enc_{p_k}(m)$, where m is unknown to V*. Then, V* can deviate from the original protocol: Instead of choosing a random m and computing c (as prescribed in the protocol), she lets c = z, and sends c to the prover. This way, V* exploits P as a &quot;decryption oracle,&quot; and obtains knowledge beyond what she could possibly compute.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One piece of advice: Read the paper &lt;a href=&quot;http://www.springerlink.com/content/pecu04f221rn4p0r/&quot; rel=&quot;nofollow&quot;&gt;Towards Practical Public Key Systems Secure Against Chosen Ciphertext Attacks&lt;/a&gt;, specially section 4. It suggests a protocol similar to yours; one which has never been realized. It also proposes the now-famous &quot;knowledge-of-exponent&quot; assumption (KEA), one which was later used to construct a non-black-box ZK protocol. (The reason why you can't find a simulator, beyond the line of reasoning above, is that you try to imagine a black-box simulator. That's impossible by the result of &lt;a href=&quot;http://dx.doi.org/10.1137/S0097539791220688&quot; rel=&quot;nofollow&quot;&gt;Goldreich and Krawczyk&lt;/a&gt;). For more info on the use of the KEA in constructing non-black-box ZK, see [&lt;a href=&quot;http://eprint.iacr.org/1999/009.ps.gz&quot; rel=&quot;nofollow&quot;&gt;Hada and Tanaka&lt;/a&gt;] and the more recent [&lt;a href=&quot;http://cseweb.ucsd.edu/~mihir/papers/eka.ps&quot; rel=&quot;nofollow&quot;&gt;Bellare and Palacio&lt;/a&gt;].&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;--Edit--&lt;/strong&gt; @cyker: I'm working on a similar issue as (presumably) you're doing: The (right) definition of simulators. A partial result of mine, closely related to the protocol you offered, can be found at &lt;a href=&quot;http://eprint.iacr.org/2010/150&quot; rel=&quot;nofollow&quot;&gt;http://eprint.iacr.org/2010/150&lt;/a&gt;. The latest results are submitted but not published online yet.&lt;/p&gt;&#xA;" OwnerUserId="873" LastEditorUserId="873" LastEditDate="2011-06-06T07:11:14.493" LastActivityDate="2011-06-06T07:11:14.493" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="6863" PostTypeId="2" ParentId="6852" CreationDate="2011-06-05T13:23:56.830" Score="4" Body="&lt;p&gt;Take a look at Tim Wagner and Susan Graham's 1998 TOPLAS paper, &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.83.7015&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;nofollow&quot;&gt;&quot;Efficient and Flexible Incremental Parsing&quot;&lt;/a&gt;, which extends LR parsing to support incremental  update of the document. &lt;/p&gt;&#xA;" OwnerUserId="657" LastActivityDate="2011-06-05T13:23:56.830" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6864" PostTypeId="1" AcceptedAnswerId="6891" CreationDate="2011-06-05T18:59:37.673" Score="65" ViewCount="30289" Body="&lt;p&gt;I've come across the polynomial algorithm that solves 2SAT. I've found it boggling that 2SAT is in P where all (or many others) of the SAT instances are NP-Complete. What makes this problem different? What makes it &lt;em&gt;so&lt;/em&gt; easy (NL-Complete - even easier than P)? &lt;/p&gt;&#xA;" OwnerUserId="1536" LastEditorUserId="1800" LastEditDate="2011-06-06T15:59:42.213" LastActivityDate="2011-06-09T08:06:48.293" Title="Why is 2SAT in P?" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;&lt;big-picture&gt;&lt;polynomial-time&gt;" AnswerCount="4" CommentCount="9" FavoriteCount="30" ContentLicense="CC BY-SA 3.0" />
  <row Id="6865" PostTypeId="2" ParentId="6864" CreationDate="2011-06-05T20:05:11.460" Score="31" Body="&lt;p&gt;Consider resolution on a 2-SAT formula. Any resolvent is of size at most 2 (note that $n + m -2 \le 2$ if $n, m \le 2$ for clauses of length $n$ and $m$ resp). The number of clauses of size 2 is quadratic in the number of variables. Therefore, the resolution algorithm is in P.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Once you get to 3-SAT you can get bigger and bigger resolvents, so it all goes pear-shaped :).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Try translating a problem into 2-SAT. As you can't have clauses of size 3, you can't (in general) encode implications involving 3 variables or more, for instance that one variable is the result of a binary operation on two others. This is a huge restriction.&lt;/p&gt;&#xA;" OwnerUserId="5195" LastEditorUserId="5195" LastEditDate="2011-06-08T05:52:23.883" LastActivityDate="2011-06-08T05:52:23.883" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="6866" PostTypeId="1" CreationDate="2011-06-05T20:35:12.987" Score="-4" ViewCount="349" Body="&lt;p&gt;I've being studying some topics of Discrete Mathematics, and I found only a few examples of problems with uncommon asymptotic costs, like Θ(sqrt(n)) or Θ(log(n)) beyond the obvious ones (binary search, for example).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In daily programming, it's common to find linear problems to solve. Doing something to every element of a list, for example.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I can't think in any problems like these that costs sqrt(n) or more examples of Θ(log(n)). Also, I never saw an algorithm with Θ(log(log(n))) time complexity. Can you give me some examples?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks in advance.&lt;/p&gt;&#xA;" OwnerUserId="5488" LastEditorUserId="186" LastEditDate="2011-06-06T01:06:59.383" LastActivityDate="2014-12-10T07:33:49.170" Title="Examples of uncommon problems with different asymptotic costs?" Tags="&lt;ds.algorithms&gt;&lt;time-complexity&gt;" AnswerCount="2" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6867" PostTypeId="2" ParentId="6866" CreationDate="2011-06-05T20:50:52.133" Score="3" Body="&lt;p&gt;A very old algorithm for integer multiplication due to Karatsuba runs in time $O(n^{\log_2 3})$ which is roughly $n^{1.58}$. It's also a very natural algorithm. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you want something sublinear, then the classic union-find data structure takes &quot;on average&quot; $\alpha(n)$ time to process an update, where $\alpha(n)$ is one version of an inverse Ackermann function. Again, a very natural algorithm. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The &lt;a href=&quot;http://en.wikipedia.org/wiki/Van_Emde_Boas_tree&quot; rel=&quot;nofollow&quot;&gt;Van Emde Boas data structure&lt;/a&gt; can do search in time $O(\log \log U)$ where $U$ is the size of the universe. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2011-06-05T20:50:52.133" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6869" PostTypeId="5" CreationDate="2011-06-06T01:24:10.387" Score="0" Body="&lt;p&gt;This is a temporary tag for questions coming from &lt;a href=&quot;http://www.acm.org/fcrc/&quot; rel=&quot;nofollow&quot;&gt;FCRC&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See &lt;a href=&quot;http://meta.cstheory.stackexchange.com/questions/1045/promoting-tcs-se-at-fcrc/1047#1047&quot;&gt;this meta post&lt;/a&gt; for further information.&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2011-06-06T01:24:10.387" LastActivityDate="2011-06-06T01:24:10.387" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6870" PostTypeId="4" CreationDate="2011-06-06T01:24:10.387" Score="0" Body="Questions from Federated Computing Research Conference (FCRC) 2011" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2011-06-06T01:24:10.387" LastActivityDate="2011-06-06T01:24:10.387" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6874" PostTypeId="2" ParentId="6467" CreationDate="2011-06-06T05:42:43.430" Score="4" Body="&lt;p&gt;Hermann Ruge Jervel has a nice system that goes all the way to the Bachmann-Howard ordinal based on labelled trees.  See: &lt;a href=&quot;http://folk.uio.no/herman/logsem.pdf&quot; rel=&quot;nofollow&quot;&gt;http://folk.uio.no/herman/logsem.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I also like his book on proof theory, which discusses this system: &lt;a href=&quot;http://folk.uio.no/herman/bevisteori.ps&quot; rel=&quot;nofollow&quot;&gt;http://folk.uio.no/herman/bevisteori.ps&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="5492" LastActivityDate="2011-06-06T05:42:43.430" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="6875" PostTypeId="2" ParentId="6136" CreationDate="2011-06-06T05:53:08.387" Score="3" Body="&lt;p&gt;I thought this article helped demystify the concept at an elementary level: &lt;a href=&quot;http://golem.ph.utexas.edu/category/2010/03/in_praise_of_dependent_types.html&quot; rel=&quot;nofollow&quot;&gt;http://golem.ph.utexas.edu/category/2010/03/in_praise_of_dependent_types.html&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="5492" LastActivityDate="2011-06-06T05:53:08.387" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6876" PostTypeId="1" AcceptedAnswerId="6878" CreationDate="2011-06-06T07:21:58.337" Score="3" ViewCount="1096" Body="&lt;p&gt;Below is a short informal proof that NP=co-NP implies NP=PSPACE. What's wrong with the proof? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assuming NP=co-NP, an instance F of TQBF can be solved by a polynomial NDTM this way:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Non-deterministically guess the values for all the variables corresponding to existential quantifiers in F.&#xA;  The resulting formula F1 (with the guessed values substituted in the formula) will only have universal quantifiers, which makes F1 a Co-NP problem instance.&#xA;  Since NP=co-NP, there's a short certificate to verify F1's truth.&#xA;  Guess this short certificate too.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;That is, the NDTM non-deterministically guesses two things: The values for all the variables corresponding to existential quantifiers in F, and the short certifcate for the intermediate (co-NP) instance F1.&lt;/p&gt;&#xA;" OwnerUserId="1159" LastEditorUserId="1800" LastEditDate="2011-06-06T15:59:00.607" LastActivityDate="2011-06-07T03:30:56.327" Title="What's wrong with this proof that NP=Co-NP implies NP=PSPACE" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;proofs&gt;" AnswerCount="3" CommentCount="1" FavoriteCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6877" PostTypeId="2" ParentId="6876" CreationDate="2011-06-06T09:22:20.727" Score="3" Body="&lt;p&gt;The problem is the part which you deduce &quot;an instance F of TQBF can be solved by a polynomial NDTM&quot; from &quot;NP=co-NP.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that NP=co-NP means that you can solve the TAUTOLOGY problem using a polynomial-time NDTM, where the TAUTOLOGY problem is the following: Given a &lt;strong&gt;propositional&lt;/strong&gt; formula φ, is it always satisfiable?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The TAUTOLOGY problem has nothing to do with solving the &lt;strong&gt;first-order&lt;/strong&gt; formulae (such as TQBF). Even if NP=co-NP, you may not be able to solve TQBF in the way stated in the question.&lt;/p&gt;&#xA;" OwnerUserId="873" LastActivityDate="2011-06-06T09:22:20.727" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6878" PostTypeId="2" ParentId="6876" CreationDate="2011-06-06T09:32:55.597" Score="9" Body="&lt;p&gt;A totally quantified boolean formula consists of an alternating sequence of quantifiers. This sequence is not of length 2, but arbitrarily long. That is the mistake you're making: an instance can be represented as a pair (P, phi) where phi is a propositional formula and L = (X_1, ..., X_k) is a partition of the set of variables occuring in phi, such that X_i are the variables in the i'th quantifier (which is an existential one if i is odd, and universal otherwise). You are assuming that this instance is equivalent to (L', phi), L' = (X_1', X_2') where X_1' is the union of the odd-indexed X_i, and X_2' is the union of the even-indexed X_i. Please verify for yourself that this is not necessarily true. &lt;/p&gt;&#xA;" OwnerUserId="5427" LastActivityDate="2011-06-06T09:32:55.597" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6883" PostTypeId="1" CreationDate="2011-06-06T14:27:53.303" Score="6" ViewCount="208" Body="&lt;p&gt;A subspace $S$ of a metric space $A$ is compact if it is complete and totally bounded. Here, complete means that every Cauchy sequence in $S$ has a limit also in $S$. For $S$ to be totally bounded,  we must have for every radius $r$, that there is a finite set $U$ of open balls of radius $r$ whose union covers $S$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would like to know if anyone has studied spaces where the size of $U$ is bounded by a function of $r$ -- for example, where $U(r)$ is $O(\frac{1}{r}^k)$ for some $k$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The reason I am curious is that I am investigating models of reactive programming (ie, stream functions), where boolean streams are given the Cantor metric (two streams have a distance of $2^{-n}$ when the first position at which they differ at time $n$), and programs between streams are interpreted by functions continuous with respect to this metric. While the continuity requirement functions nicely capture causality requirements very well, it unfortunately also permits stream functions to require their whole history to compute a value (that is, functions $f(x)$ may require their whole history $x_0, \ldots, x_n$ to compute $f(x)$ at time $n$). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;One idea I have for understanding this phenomenon is that the Cantor space is compact, and that at radius $2^{-n}$ you need $2^n$ balls to cover the space -- that is, there are $2^n$ length-$n$ binary sequences. So I have a vague idea that if somehow there were a way of equipping the Cantor space with an even coarser metric, I could model computations which are permitted to remember less of their input. (Eg, a polynomial bound would permit you to use space logarithmic in the elapsed time.) &lt;/p&gt;&#xA;" OwnerUserId="657" LastEditorUserId="186" LastEditDate="2011-06-07T00:47:02.100" LastActivityDate="2011-06-07T00:47:02.100" Title="Has anyone studied &quot;polynomially compact&quot; metric spaces?" Tags="&lt;pl.programming-languages&gt;&lt;denotational-semantics&gt;&lt;metric-spaces&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="6886" PostTypeId="2" ParentId="6883" CreationDate="2011-06-06T16:02:01.130" Score="4" Body="&lt;p&gt;The notion of bounded doubling dimension appears to be related. Specifically, assume your region S is a ball of radius \rho in the metric space. Then the space is said to have bounded doubling dimension $k$ if any such S can be covered by at most $(1/\epsilon)^k$ balls of radius $\epsilon \rho$. The difference between your definition and this one is the limitation of $S$ to be a ball though. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In essence, your parameter $k$ is acting like a kind of dimension of the space. A worthwhile reference is &lt;a href=&quot;http://www.almaden.ibm.com/u/kclarkson/nn_survey/p.pdf&quot; rel=&quot;nofollow&quot;&gt;Ken Clarkson's review of different notions of metric space dimension&lt;/a&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Separately, I'm a little confused about your definition, since it appears to require a bound unrelated to the size of $S$. This is odd, because $S$ could grow arbitrarily large. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2011-06-06T16:02:01.130" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="6887" PostTypeId="1" CreationDate="2011-06-06T18:38:36.027" Score="9" ViewCount="610" Body="&lt;p&gt;In the &lt;strong&gt;Capacitated Facility Location Problem (CFLP)&lt;/strong&gt;, we are given a&#xA;set of clients $C$ and a set of potential facilities $F$. Each client $j \in C$ has a demand $d_j$ that must be served by one or more open facilities. Each facility $i \in F$ has an opening cost $f_i$ and has a capacity $u_i$, which is the maximum demand that facility $i$ can serve. The cost of serving one unit demand of client $j$ in facility $i$ is $c_{ij}$. We want to open a subset of facilities and assign demand of clients to open facilities such that the demands of all the clients are met, no capacity constraint violated and the total cost of opening facilities and servicing clients is minimized. Service costs are nonnegative, symmetric, and satisfy the triangle inequality.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Arora in [&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.85.4732&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;nofollow&quot;&gt;1&lt;/a&gt;, page 21] states that &quot;Arora, Raghavan and Rao [&lt;a href=&quot;http://www.cs.princeton.edu/~arora/pubs/facility.ps&quot; rel=&quot;nofollow&quot;&gt;2&lt;/a&gt;] give a PTAS for the geometric case. They extend the algorithm to the capacitated case but the final solution may violate capacity constraints by small amount.&quot; &lt;strong&gt;&lt;em&gt;What does he mean by &quot;small amount&quot;? I guess it means they give a PTAS that violates capacity constraints within factor $(1+\epsilon)$ for an arbitrary $\epsilon &amp;gt; 0$. Is this right?&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;When I looked in [&lt;a href=&quot;http://www.cs.princeton.edu/~arora/pubs/facility.ps&quot; rel=&quot;nofollow&quot;&gt;2&lt;/a&gt;], the only related result that I found was a $n^{O(\log^2 (n / \epsilon))}$ time algorithm for finding a $(1+\epsilon)$-approximate solution for the Capacitated $k$-median problem when we have uniform capacities. &lt;strong&gt;&lt;em&gt;Does Arora refer to above result in [&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.85.4732&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;nofollow&quot;&gt;1&lt;/a&gt;]?&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.85.4732&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;nofollow&quot;&gt;1&lt;/a&gt;] S. Arora. &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.85.4732&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;nofollow&quot;&gt;Approximation schemes for NP-hard geometric optimization problems: A survey.&lt;/a&gt; In Math. Programming, Ser. B, vol. 97, pp 43-69, 2003. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;[&lt;a href=&quot;http://www.cs.princeton.edu/~arora/pubs/facility.ps&quot; rel=&quot;nofollow&quot;&gt;2&lt;/a&gt;] S. Arora, P. Raghavan, and S. Rao. &lt;a href=&quot;http://www.cs.princeton.edu/~arora/pubs/facility.ps&quot; rel=&quot;nofollow&quot;&gt;Approximation schemes for the Euclidean&#xA;k-medians and related problems.&lt;/a&gt; In Proc. 30th ACM Symposium on Theory&#xA;of Computing, pp 106–113, 1998.&lt;/p&gt;&#xA;" OwnerUserId="3495" LastEditorUserId="3495" LastEditDate="2012-03-01T20:13:25.780" LastActivityDate="2012-03-02T04:37:14.837" Title="Euclidean Capacitated Facility Location Problem" Tags="&lt;ds.algorithms&gt;&lt;cg.comp-geom&gt;&lt;approximation-algorithms&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6888" PostTypeId="2" ParentId="6755" CreationDate="2011-06-06T19:12:28.473" Score="10" Body="&lt;p&gt;&lt;a href=&quot;http://toughsat.appspot.com/&quot;&gt;ToughSat&lt;/a&gt; by Henry Yuen and Joseph Bebel is another tool similar to the one linked by @Martin, which generates CNF formulas that encode instances of factoring and other hard problems.&lt;/p&gt;&#xA;" OwnerUserId="1542" LastActivityDate="2011-06-06T19:12:28.473" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6889" PostTypeId="1" AcceptedAnswerId="6890" CreationDate="2011-06-06T19:51:22.477" Score="0" ViewCount="289" Body="&lt;p&gt;I would like to know how much it would cost to factor a large integer. The cost can be given computer operations, time to process it or even monetary value. I know there are people that factored 200 bit RSA keys, but Wikipedia doesn't say how long it would take in modern CPUs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;-- Background --&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am designing a virtual roulette game where the ball is spun (the number is chosen) before the player bets. As a proof of that but I show the player the product of two primes, one of them is used as the random number seed.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would like to know what is the minimum suitable size for this number such as the cost of factoring it will be greater than the maximum prize I offer.&lt;/p&gt;&#xA;" OwnerUserId="715" LastEditorUserId="715" LastEditDate="2011-06-06T19:59:28.313" LastActivityDate="2011-06-06T21:29:39.983" Title="How to calculate the cost of factoring a large integer?" Tags="&lt;cc.complexity-theory&gt;&lt;cr.crypto-security&gt;&lt;nt.number-theory&gt;&lt;factoring&gt;&lt;primes&gt;" AnswerCount="2" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6890" PostTypeId="2" ParentId="6889" CreationDate="2011-06-06T20:47:06.503" Score="4" Body="&lt;p&gt;Instead of reinventing the wheel, I recommend that you use the cryptographic concept of a &lt;a href=&quot;http://en.wikipedia.org/wiki/Commitment_scheme&quot; rel=&quot;nofollow&quot;&gt;commitment scheme&lt;/a&gt;. Pick your needed randomness as you normally would, commit to it, and then reveal your committed randomness after betting.&lt;/p&gt;&#xA;" OwnerUserId="3964" LastActivityDate="2011-06-06T20:47:06.503" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="6891" PostTypeId="2" ParentId="6864" CreationDate="2011-06-06T20:58:07.457" Score="95" Body="&lt;p&gt;Here is a further intuitive and unpretentious explanation along the lines of MGwynne's answer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;With $2$-SAT, you can only express implications of the form $a \Rightarrow b$, where $a$ and $b$ are literals. More precisely, every $2$-clause $l_1 \lor l_2$ can be understood as a pair of implications: $\lnot l_1 \Rightarrow l_2$ and $\lnot l_2 \Rightarrow l_1$. If you set $a$ to true, $b$ must be true as well. If you set $b$ to false, $a$ must be false as well. Such implications are straightforward: there is no choice, you have only $1$ possibility, there is no room for case-multiplication. You can just follow every possible implication chain, and see if you ever derive both $\lnot l$ from $l$ and $l$ from $\lnot l$: if you do for some $l$, then the 2-SAT formula is unsatisfiable, otherwise it is satisfiable. It is the case that the number of possible implication chains is polynomially bounded in the size of the input formula.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;With $3$-SAT, you can express implications of the form $a \Rightarrow b \lor c$, where $a$, $b$ and $c$ are literals. Now you are in trouble: if you set $a$ to true, then either $b$ or $c$ must be true, but which one? You have to make a choice: you have 2 possibilities. Here is where case-multiplication becomes possible, and where the combinatorial explosion arises.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In other words, $3$-SAT is able to express the presence of more than one possibility, while $2$-SAT doesn't have such ability. It is precisely such presence of more than one possibility ($2$ possibilities in case of $3$-SAT, $k-1$ possibilities in case of $k$-SAT) that causes the typical combinatorial explosion of NP-complete problems. &lt;/p&gt;&#xA;" OwnerUserId="947" LastEditorUserId="947" LastEditDate="2011-06-07T05:44:12.847" LastActivityDate="2011-06-07T05:44:12.847" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="6894" PostTypeId="2" ParentId="6889" CreationDate="2011-06-06T21:29:39.983" Score="6" Body="&lt;p&gt;To turn the question around, one could equivalently ask: &quot;How large must my prime be in order to be secure until year X against the resource plausibly available to a potent (e.g. government-funded) attacker?&quot; This question is being regularly reassessed in various studies yielding recommended key lengths for crypto systems. A regularly updated web page summarizing these reports can be found &lt;a href=&quot;http://www.keylength.com/&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;. &lt;/p&gt;&#xA;" OwnerUserId="121" LastActivityDate="2011-06-06T21:29:39.983" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6895" PostTypeId="2" ParentId="6864" CreationDate="2011-06-06T23:10:25.673" Score="20" Body="&lt;p&gt;As Walter says, clauses of 2-SAT have a special form.  This can be exploited to find solutions quickly.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are actually several classes of SAT instances that can be decided in polynomial time, and 2-SAT is just one of these &lt;em&gt;tractable classes&lt;/em&gt;.  There are three broad kinds of reasons for tractability:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;(Structural tractability) Any class of SAT instances where the variables interact in a tree-like fashion can be solved in polynomial time.  The degree of the polynomial depends on the maximum &lt;em&gt;width&lt;/em&gt; of instances in the class, where the width measures how far an instance is from being a tree.  More precisely, Marx showed that if the instances have bounded submodular width, then the class can be decided in polynomial time using a divide-and-conquer approach.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;(Language tractability) Any class of SAT instances where the pattern of true-false variables is &quot;nice&quot;, can be solved in polynomial time.  More precisely, the pattern of literals defines a language of relations, and Schaefer classified the six languages that lead to tractability, each with its own algorithm.  2-SAT forms one of the six Schaefer classes.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;(Hybrid tractability) There are also some classes of instances that do not fall into the other two categories, but which can be solved in polynomial time for other reasons.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Dániel Marx, &lt;em&gt;Tractable hypergraph properties for constraint satisfaction and conjunctive queries&lt;/em&gt;, STOC 2010. (&lt;a href=&quot;http://dx.doi.org/10.1145/1806689.1806790&quot;&gt;doi&lt;/a&gt;, &lt;a href=&quot;http://arxiv.org/abs/0911.0801&quot;&gt;preprint&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;li&gt;Thomas J. Schaefer, &lt;em&gt;The complexity of satisfiability problems&lt;/em&gt;, STOC 1978. (&lt;a href=&quot;http://dx.doi.org/10.1145/800133.804350&quot;&gt;doi&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="109" LastActivityDate="2011-06-06T23:10:25.673" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="6896" PostTypeId="1" AcceptedAnswerId="6899" CreationDate="2011-06-06T23:59:21.023" Score="3" ViewCount="405" Body="&lt;p&gt;Consider a boolean function $f : V \rightarrow \{0,1\}$ with $m$ true points. Are there any non-trivial bounds in $m$ on the size of the smallest decision tree for $f$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It seems to me that assuming $f$ has $n$ variables and $m$ true points then any minimal decision tree has at most $$ 2^{\lceil{\log_2 m}\rceil}−m+m⋅(n−\lceil{\log_2 m}\rceil) $$ 0-leaves (obviously, one can take the dual as well). I am wondering if whether this sort of thing has been covered before (I presume it has somewhere).&lt;/p&gt;&#xA;" OwnerUserId="5195" LastEditorUserId="5195" LastEditDate="2011-06-07T11:16:13.043" LastActivityDate="2011-06-07T11:16:13.043" Title="Bounds on the size of smallest decision tree for a boolean function?" Tags="&lt;cc.complexity-theory&gt;&lt;sat&gt;&lt;boolean-functions&gt;&lt;binary-decision-diagrams&gt;&lt;decision-trees&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="6897" PostTypeId="2" ParentId="6876" CreationDate="2011-06-07T01:43:08.117" Score="2" Body="&lt;p&gt;The other answers point out correctly that you are not dealing with $TQBF$ but just a quantified boolean formula with just one alternation, i.e. the second level of polynomial hierarchy. That is not (known to be) complete for $PSpace$. But let's assume that you were doing it repeatedly, as many times as needed. It still won't work for the following reason:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let's assume that $NP=coNP$, say $TAUT\in coNTime(p(n))$ (and $SAT\in NTime(p(n))$), where $n$ is the input size. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;What you are doing is replacing the innermost quantifier and the quantifier-free part with the opposite quantifier and a new quantifier part. The size of the quantifier free part and the size of the bound on the inner most quantifier grows each time you perform the replacement. If the size of the formula and the bound on the innermost quantifier were $m$ they will become $p(m)$ after the replacement. If you repeat this $k$ times this will increase those values to $p^k(m)$ ($k$ composition of the polynomial $p$). Let $k$ be the number of times that you need to perform this replacement.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I will assume that $p$ grows faster than $n$, i.e. $\lim_{n \to \infty} \frac{p(n)}{n} &amp;gt; 1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $k$ is constant the result will be a polynomial in $p$ and the resulting formula will be in $NP$, this is the case for the levels of polynomial hierarchy. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $k$ grows with $n$, the result is no longer a polynomial in $n$ and therefore the resulting formula is not in $NP$. For $PSpace$, the $k$ is polynomial in $n$ so the proof will give a formula which is in $NExp$, not a formula in $NP$.&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2011-06-07T03:30:56.327" LastActivityDate="2011-06-07T03:30:56.327" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6899" PostTypeId="2" ParentId="6896" CreationDate="2011-06-07T10:10:38.977" Score="7" Body="&lt;p&gt;I think the number of true points isn't a good measure to say anything about the size of the smallest decision tree.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is a chapter in &lt;a href=&quot;http://books.google.de/books?id=wu6HG2w_FQ8C&amp;amp;lpg=PP1&amp;amp;pg=PP1#v=onepage&amp;amp;q&amp;amp;f=false&quot; rel=&quot;nofollow&quot; title=&quot;Branching programs and binary decision diagrams: theory and applications&quot;&gt;Branching programs and binary decision diagrams: theory and applications&lt;/a&gt; by Ingo Wegener about the size of decision trees for boolean functions. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The size of the smallest DT is determined up to constant factors by the number of leaves of the tree. There is a lemma in the book that says: If you have a DT for a function $f$ with $s_0$ 0-leaves and $s_1$ 1-leaves then $f$ can be represented by a DNF with $s_1$ monomials and a CNF with $s_0$ clauses. So even if you have a function with only a small number of true points, the size of the smallest DT could be very large. So you need small size of CNF and DNF to have a small DT size.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is a upper bound of the DT size with respect to the sum of the minimal number of monomials of $f$ and the minimal number of monomials of $\overline{f}$. Lets call this sum $DCNF(f)$. Then you have the following upper bound for the number of leaves $DT(f)$ of the smallest DT for the function $f: \lbrace 0,1 \rbrace^n \rightarrow \lbrace 0,1 \rbrace$&#xA;$$ DT(f) \leq n^{O(log^2 DCNF(f))}. $$&lt;/p&gt;&#xA;" OwnerUserId="2517" LastActivityDate="2011-06-07T10:10:38.977" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6900" PostTypeId="1" CreationDate="2011-06-07T11:09:56.600" Score="7" ViewCount="844" Body="&lt;p&gt;This question compares &quot;strict&quot; polynomial time, as opposed to &quot;expected&quot; polynomial time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $S = \{1,2,…,n\}$, and let $O$ be an ordering on elements of $S$ (the number of orderings is $n!$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A probabilistic algorithm can easily select a random ordering in &quot;strict&quot; polynomial time (in $1^n$), as follows:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&#xA;Let O = {}, T = S&#xA;For i = 1 To n&#xA;    Let e be a random element from T&#xA;    Let T = T - {e}&#xA;    Let O = O ∪ {(i,e)}&#xA;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;The algorithm assumes that sampling a random element from $T$ can be performed in strict polynomial time. (More precisely, we assume that in strict polynomial time, we can uniformly sample from any set whose size is polynomial in $n$.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now let's consider the following problem:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Choose $m$ &lt;strong&gt;distinct&lt;/strong&gt; random permutations over $S$, where $m$ = poly($n$) &amp;lt; $n!$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;One naive way of doing this is to repeat the above algorithm, keep a record of permutations selected thus far. If the algorithm returns a &quot;redundant&quot; permutation, throw it away, and start over.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The above approach works in &quot;expected&quot; polynomial time, rather than &quot;strict&quot; polynomial time.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there a strict polynomial time which does the job?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Edit: Here's a reference for those who want to know more on &quot;strict vs. expected&quot; issue:&#xA;&lt;a href=&quot;http://www.springerlink.com/content/el2w655g5563x64g/&quot; rel=&quot;nofollow&quot;&gt;On Expected Probabilistic Polynomial-Time Adversaries: A Suggestion for Restricted Definitions and Their Benefits&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="1564" LastEditorUserId="1564" LastEditDate="2016-03-22T17:29:30.657" LastActivityDate="2016-03-23T05:44:43.217" Title="Choosing random permutations in &quot;strict&quot; polynomial time" Tags="&lt;ds.algorithms&gt;&lt;permutations&gt;&lt;polynomial-time&gt;" AnswerCount="3" CommentCount="10" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="6903" PostTypeId="1" AcceptedAnswerId="6970" CreationDate="2011-06-07T14:11:00.073" Score="20" ViewCount="1200" Body="&lt;p&gt;This question is primarily related to a practical software-engineering problem, but I would be curious to hear if theoreticians could provide more insight in it.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Put simply, I have a Monte Carlo simulation that uses a pseudorandom number generator, and I would like to parallelise it so that there are 1000 computers running the same simulation in parallel. Therefore I need 1000 independent streams of pseudorandom numbers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can we have 1000 parallel streams with the following properties? Here $X$ should be a very well-known and widely-studied PRNG with all kinds of nice theoretical and empirical properties.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;The streams are provably as good as what I would get if I simply used $X$ and split the stream generated by $X$ into 1000 streams.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Generating the next number in any stream is (almost) as fast as generating the next number with $X$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Put otherwise: can we get multiple independent streams &quot;for free&quot;?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course if we simply used $X$, always discarding 999 numbers and picking 1, then we certainly would have property 1, but we would lose in the running time by factor 1000.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A simple idea would be to use 1000 copies of $X$, with seeds 1, 2, ..., 1000. This certainly would be fast, but it is not obvious if the streams have good statistical properties.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;After some Googling, I have found, for example, the following:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;The &lt;a href=&quot;http://sprng.cs.fsu.edu/&quot; rel=&quot;nofollow noreferrer&quot;&gt;SPRNG&lt;/a&gt; library seems to be designed for exactly this purpose, and it supports &lt;a href=&quot;http://sprng.cs.fsu.edu/Version4.0/generators.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;multiple PRNGs&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Mersenne_twister&quot; rel=&quot;nofollow noreferrer&quot;&gt;Mersenne twister&lt;/a&gt; seems to be a popular PRNG nowadays, and I found some references to a variant that is able to produce multiple streams in parallel.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;But all this is so far from my own research areas, that I couldn't figure out what is really the state-of-the-art, and which constructions work well not only in theory but also in practice.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Some clarifications: I do not need any kind of cryptographic properties; this is for scientific computation. I will need billions of random numbers, so we can forget any generator with a period of $&amp;lt; 2^{32}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit:&lt;/strong&gt; I cannot use a true RNG; I need a deterministic PRNG. Firstly, it helps a lot with debugging and makes everything repeatable. Secondly, it allows me to do, e.g., median-finding very efficiently by exploiting the fact that I can use the multi-pass model (see &lt;a href=&quot;https://cstheory.stackexchange.com/questions/2360/storage-requirements-for-median-selection-two-passes-algorithms&quot;&gt;this question&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit 2:&lt;/strong&gt; There is a closely related question @ StackOverflow: &lt;a href=&quot;https://stackoverflow.com/questions/6367058/pseudo-random-number-generator-for-cluster-environment&quot;&gt;Pseudo-random number generator for cluster environment&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="74" LastEditorUserId="-1" LastEditDate="2017-05-23T12:40:09.333" LastActivityDate="2012-08-11T01:01:29.473" Title="Parallel pseudorandom number generators" Tags="&lt;cr.crypto-security&gt;&lt;dc.parallel-comp&gt;&lt;pseudorandom-generators&gt;" AnswerCount="6" CommentCount="8" FavoriteCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="6904" PostTypeId="2" ParentId="6903" CreationDate="2011-06-07T14:40:56.840" Score="1" Body="&lt;p&gt;You can just use 1000 instances of the Mersenne Twister initialized with different seeds.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can sample the seeds from another Mersenne Twister, or, to be surer of their independence, from the OS cryptographic pseudorandom number generator (/dev/urandom in Linux).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The Mersenne Twister always operates on the same cyclic sequence, the seed controls where you start generating it. With indepenently sampled seeds, each generator will start at different, typically very far points, with a very small probability of intersection.&lt;/p&gt;&#xA;" OwnerUserId="1749" LastActivityDate="2011-06-07T14:40:56.840" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="6905" PostTypeId="2" ParentId="6903" CreationDate="2011-06-07T15:49:48.040" Score="12" Body="&lt;p&gt;There seem to be many ways to tackle this problem, but one simple way would be to use the &lt;a href=&quot;http://en.wikipedia.org/wiki/Blum_Blum_Shub&quot; rel=&quot;nofollow&quot;&gt;Blum Blum Shub&lt;/a&gt; PRNG. This PRNG is defined by the recurrance relation $x_{i+1} = x_i^2 \mbox{ mod }N$, where $N$ is a semiprime. To get a random bit out of this you can simply take the bit parity of $x_i$. What's nice about this is that since $x_{i+k} = x_i^{2^k}\mbox{ mod }N = x_i^{2^k \mbox{ mod } \lambda(N)}\mbox{mod }N$ you can directly calculate any step in time constant in $k$ (i.e. $O(\log(N)^3)$ or faster depending on which multiplication algorithm you use for the modular exponential). Thus is you have $M$ machines, then for the machine indexed by $y$ you can use the generator $x_{i+1,y} = x_i^{2^M \mbox{mod }\lambda(N)}\mbox{ mod }N$, where $x_{0,y} = x_0^{2^y \mbox{ mod }\lambda(N)}\mbox{ mod }N$, where $x_0$ is your seed. Conveniently this generates exactly the same stream of numbers as if you used a single stream and distributed it's output to each of the machines in turn.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This isn't the fastest of PRNGs, though, so it will only be useful if the overhead of whatever you are doing in the simulation is significantly more than the cost of the PRNG. However it is worth pointing out that it will be much faster for certain combinations of $M$ and $N$ than others, particularly if the binary representation of $2^M \mbox{ mod }\lambda(N)$ contains few 1s or is small.&lt;/p&gt;&#xA;" OwnerUserId="204" LastEditorUserId="204" LastEditDate="2011-06-08T02:01:30.577" LastActivityDate="2011-06-08T02:01:30.577" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="6906" PostTypeId="1" AcceptedAnswerId="6925" CreationDate="2011-06-07T15:59:43.777" Score="16" ViewCount="1662" Body="&lt;p&gt;Can you please point out how to build Ackerman function (actually I'm interested in a version proposed by Rózsa Péter and Raphael Robinson) via standard mu-recursive operators? I tried original papers by Péter and Robinson, but Péter's paper use a language different from English and Robinson's papers “Recursion and Double Recursion” and “Primitive Recursive Functions” also don't help: first of them seems more relevant, but is uses so called double recursion operator to define Ackerman function, so in this case explicit definition of the operator in mu-recursive terms is seeked.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Most closely to the answer goes P. Smith in “An introduction to Godel's theorems” (CUP, 2007) (29.4 The Ackermann-Peter function is μ-recursive), but he comes up with the following: “making the argument watertight is pretty tedious though not difficult. There’s nothing to be learnt from spelling out the details here: so we won’t.”&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I also tried Rózsa Péter's book “Recursive functions” (1967, Academic press). There are plenty of variants for recursion operators given there. Usually one reduces to other. I believe that there is a type of recursion operator which fit for definition of Ackerman function and sequence of steps which reduce it to primitive redursion and minimisation operators, but I found myself unable to investigate the whole way down.&lt;/p&gt;&#xA;" OwnerUserId="869" LastActivityDate="2011-06-09T12:10:46.377" Title="Explicit mu-recursive expression for Ackerman function" Tags="&lt;computability&gt;" AnswerCount="2" CommentCount="4" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="6907" PostTypeId="2" ParentId="6900" CreationDate="2011-06-07T17:40:08.563" Score="9" Body="&lt;p&gt;I believe the answer is that it is possible in polynomial time as follows:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Each permutation of $N$ can be expressed as a function $f(x)$ which maps an input index to the corresponding output index. Each such function can be expressed as a string $f(1) + f(2) + f(3) + ... + f(N)$, where $+$ is the concatentaion operator. Thus there is a natural lexicographic ordering on the permutations. The idea is to pick the permutations in lexicographic order. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The probability $p_{i,1}$ that permutation $P_i$ will be the first permutation (in lexicographic order) from a set of $M$ permutations of $N$ elements chosen uniformly at random will be $$p_{i,1} = \frac{\binom{N-i}{M-1}}{\binom{N}{M}}.$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By making a random choice from this probability distribution we determine the first permutation in our set. Let's assume that this permutation is indexed by $x_1$. We now need to choose the permutation which is second lowest in lexicographic order. Clearly, this is the same problem as before, but now we need to choose according to the probability distribution $$p_{i,2} = \frac{\binom{N-x_1-i}{M-2}}{\binom{N-x_1}{M-1}}.$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For an arbitrary ranking $k$ the probability distribution will be given by $$p_{i,k} = \frac{\binom{N-i-\sum_{j=1}^{k-1} x_j}{M-k}}{\binom{N-\sum_{j=1}^{k-1}x_j}{M-k+1}}.$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This process is repeated until we have chosen all $M$ permutations. As there is no possibility of collision, the process terminates after exactly $M$ such choices, and hence is an exact polynomial time computation assuming the random choice can be made in time $\mbox{poly}(N)$.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;UPDATE: Kaveh points out in the comments below that I have not shown how to find the $i$th permutation in time polynomial in $n$, so here is one way.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We can turn an permutation into an integer by taking $I_P = \sum_{k=0}^{n-1} \frac{n!}{(n-i)!} (y_k-1)$. Here $y_k$ is defined as follows: Let $S_0$ be the set of integers from 1 to $N$, and take $S_k = S_0 / \{f(x)\}_{x=1}^k$. Then $y_k$ is the lexicographic index of $f(k+1)$ in $S_k$. Note that $y_k$ is always an integer between 1 and $n-k$. Thus you obtain a unique integer between 0 and $n!-1$ for every permutation. To reverst this and find the $i$th permutation is trivial, since $y_0 = (I_P \mbox{ mod } n)+1$, $y_1 = ((I_P-y_0)/n \mbox{ mod } n)+1$ etc., and once all $y_k$ have been calculated, $f(x)$ can be calculated by taking $f(1) = y_0$, which allows you to calculate $S_1$, which in turn gives you $f(2)$, etc.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thus you have a polynomial time algorithm for converting a permutation of $n$ items into a unique integer between $0$ and $n!-1$ and back.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;This answer makes an assumption that it is possible to generate probabilities of the necessary form, which is not necessarily granted in the question. See the answer for Peter Shor for why this can be a problem.&lt;/p&gt;&#xA;" OwnerUserId="204" LastEditorUserId="204" LastEditDate="2016-03-23T05:43:22.650" LastActivityDate="2016-03-23T05:43:22.650" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="6908" PostTypeId="1" AcceptedAnswerId="6913" CreationDate="2011-06-07T19:12:27.760" Score="3" ViewCount="1406" Body="&lt;p&gt;I am looking for a linear programming formulation for the max-cut problem. My interest is to know about the primal - dual algorithm for max-cut. It would be nice if someone can tell me that what is the best ratio achieved via this approach. Please mention the formulation along with the integrality gap. Any other information/comments are invited. My primary interest includes to know about the alternate ways that lead to 0.8 approximation for max-cut or near to it (preferably via primal dual scheme).&lt;/p&gt;&#xA;" OwnerUserId="4529" LastEditorUserId="4529" LastEditDate="2011-06-08T08:07:37.003" LastActivityDate="2011-06-08T08:07:37.003" Title="Max-cut via linear programming or sdp" Tags="&lt;ds.algorithms&gt;&lt;approximation-algorithms&gt;&lt;linear-programming&gt;&lt;max-cut&gt;&lt;integrality-gap&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="6909" PostTypeId="1" CreationDate="2011-06-07T19:13:52.840" Score="5" ViewCount="127" Body="&lt;p&gt;Assume $A$ is a $n$-dimensional matrix of real numbers. The diagonal entries are non-negative, and all other entries are non-positive. I would like to find a subset $I \subseteq \{1, 2, \ldots n\}$ of maximum size such that the sub-matrix of $A$ defined by $I$ has positive row sums, for every row. The sub-matrix of course only includes entries $A_{ij}$ such that $i, j \in I$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, this problem generalizes max independent set, so I am not expecting anything great. Just wondering if anything at all, algorithmically, is known about this problem. Even special cases.&lt;/p&gt;&#xA;" OwnerUserId="360" LastEditorUserId="1800" LastEditDate="2011-06-08T01:43:27.863" LastActivityDate="2011-06-08T01:43:27.863" Title="Finding an index set so that row sums are positive" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;approximation-algorithms&gt;" AnswerCount="0" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6910" PostTypeId="2" ParentId="6849" CreationDate="2011-06-07T19:22:18.717" Score="1" Body="&lt;p&gt;Your question may be answered in the following paper:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;@article{strang1983maximal,&#xA;  title={Maximal flow through a domain},&#xA;  author={Strang, G.},&#xA;  journal={Mathematical Programming},&#xA;  volume={26},&#xA;  number={2},&#xA;  pages={123--143},&#xA;  year={1983},&#xA;  publisher={Springer}&#xA;}&lt;/p&gt;&#xA;" OwnerUserId="5509" LastActivityDate="2011-06-07T19:22:18.717" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6911" PostTypeId="1" AcceptedAnswerId="6926" CreationDate="2011-06-07T21:43:42.223" Score="6" ViewCount="659" Body="&lt;p&gt;Consider the following version of the Bin Packing problem:&#xA;We are given $k$ unit-size bins and $n$ items with sizes $\epsilon &amp;lt; a_i \le 1$ for $1 \le i \le n$. Is it possible to pack items in bins?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is two simple observations:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;When $\epsilon \le \frac{1}{4}$, this problem is strongly NP hard by a reduction from the &lt;a href=&quot;http://en.wikipedia.org/wiki/3-partition_problem&quot; rel=&quot;nofollow&quot;&gt;3-partition problem&lt;/a&gt; (Garey and Johnson: SP15).&lt;/li&gt;&#xA;&lt;li&gt;When $\epsilon \ge \frac{1}{3}$, this problem is in P: place each item with size greater than $\frac{1}{2}$ in a separate bin. Assign maximum number of items left to non-empty bins. Arbitrarily, pair items still unassigned. If the number of these pairs is not more than the number of empty bins, assign these pairs to empty bins. Otherwise, it's impossible to pack the items in $k$ bins. It's not hard to see that you can generalized this even to the case that $\frac{1}{3} \le a_i$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Is there any complexity result for the case that $\frac{1}{4} &amp;lt; \epsilon &amp;lt; \frac{1}{3}$?&lt;/strong&gt;  &lt;/p&gt;&#xA;" OwnerUserId="3495" LastEditorUserId="3495" LastEditDate="2011-06-07T23:00:15.607" LastActivityDate="2011-06-08T18:09:28.533" Title="Bin Packing with uniform size constraints" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;packing&gt;" AnswerCount="2" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="6912" PostTypeId="1" AcceptedAnswerId="6915" CreationDate="2011-06-07T22:12:52.957" Score="17" ViewCount="842" Body="&lt;p&gt;What should I read to understand this problem?&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;The power of small-depth quantum&#xA;  circuits. Is $BQP = BPP^{BQNC}$? In other&#xA;  words, can the &quot;quantum&quot; part of any&#xA;  quantum algorithm be compressed to&#xA;  polylog(n) depth, provided we're&#xA;  willing to do polynomial-time&#xA;  classical postprocessing? (This is&#xA;  known to be true for Shor's&#xA;  algorithm.) If so, building a&#xA;  general-purpose quantum computer would&#xA;  be much easier than is generally&#xA;  believed! Incidentally, it's not hard&#xA;  to give an oracle separation between&#xA;  $BQP$ and $BPP^{BQNC}$, but the question is&#xA;  whether there's any concrete function&#xA;  &quot;instantiating&quot; such an oracle. --Scott Aaronson&#xA;  &lt;a href=&quot;http://www.scottaaronson.com/writings/qchallenge.html&quot;&gt;http://www.scottaaronson.com/writings/qchallenge.html&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="5385" LastEditorUserId="5385" LastEditDate="2011-07-05T13:53:56.200" LastActivityDate="2011-07-05T13:53:56.200" Title="Reading up on $BQP = BPP^{BQNC}$" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;quantum-computing&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="6913" PostTypeId="2" ParentId="6908" CreationDate="2011-06-08T01:06:16.323" Score="8" Body="&lt;p&gt;Did you try to look this up? Max Cut might be the most well studies problem out there, with tons of information on it on the web.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The &lt;a href=&quot;http://books.google.com/books?id=Mhf4Zmq1Q3cC&amp;amp;lpg=PA181&amp;amp;dq=max%20cut%20poljak&amp;amp;pg=PA181#v=onepage&amp;amp;q&amp;amp;f=false&quot; rel=&quot;noreferrer&quot;&gt;survey&lt;/a&gt; by Poljak from '95 has a lot on different LP relaxations of Max Cut and the relationships between them. He considers special cases in which the relaxations are integral or almost integral. There are numerous other bounds on Max Cut, as well as non-polyhedral relaxations. This survey is very old, but all known LPs for Max Cut have been known to be dead ends for many years: every known LP relaxation of Max Cut, including the ones mentioned by Poljak, has integrality gap 2. So they are no better starting point than the trivial randomized or greedy algorithms. LPs for Max Cut have been out of fashion at least since Goemans and Williamson's SDP paper.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some newer results: de la Vega and Mathieu show that adding any constraints with bounded support to the standard LP relaxation leaves the integrality gap at 2 (http://portal.acm.org/citation.cfm?id=1283390). The same is true for $n^\delta$ rounds of the Sherali-Adams hierarchy (http://portal.acm.org/citation.cfm?id=1536455). So in a very strong sense LPs are no help for Max Cut.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand there is work on primal-dual algorithms for Max Cut based on the GW SDP. Klein and Lu gave a fast approximation for MaxCut that matches Goemans-Williamson: &lt;a href=&quot;http://dx.doi.org/10.1145/237814.237980&quot; rel=&quot;noreferrer&quot;&gt;http://dx.doi.org/10.1145/237814.237980&lt;/a&gt; (they use what is now known as the multiplicative weights method to solve the SDP). I don't know the details, but I know that Luca's approximation of Max Cut using eigenvectors is in some sense a dual of the GW SDP (http://arxiv.org/abs/0806.1978). The latest combinatorial random-walk based algorithm is based on Luca's: &lt;a href=&quot;http://arxiv.org/abs/1008.3938&quot; rel=&quot;noreferrer&quot;&gt;http://arxiv.org/abs/1008.3938&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="4896" LastEditorUserId="4896" LastEditDate="2011-06-08T04:13:45.593" LastActivityDate="2011-06-08T04:13:45.593" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="6914" PostTypeId="1" AcceptedAnswerId="6920" CreationDate="2011-06-08T02:52:26.643" Score="5" ViewCount="561" Body="&lt;p&gt;I am looking for explicit examples where permanent of a given matrix $A$ is given by a determinant of a larger matrix $B$ (projection in the sense of Valiant). Is there any reference where I can find such an example for $n \times n$ matrix $A$ for say $n \le 5$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also are there examples where permanent of a given matrix $A$ is given by permanent of a larger matrix $A$? Again any explicit example for $n \times n$ matrix $A$ for say $n \le 5$ would help.&lt;/p&gt;&#xA;" OwnerUserId="5511" LastEditorUserId="5511" LastEditDate="2011-06-08T19:44:35.497" LastActivityDate="2011-06-08T21:08:17.983" Title="Permanent as projection of determinant and another permanent" Tags="&lt;cc.complexity-theory&gt;&lt;algebraic-complexity&gt;&lt;permanent&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6915" PostTypeId="2" ParentId="6912" CreationDate="2011-06-08T04:08:37.407" Score="20" Body="&lt;p&gt;This was conjectured by R. Jozsa in Section 8 of &lt;a href=&quot;http://arxiv.org/abs/quant-ph/0508124&quot;&gt;arXiv:quant-ph/0508124&lt;/a&gt;. If you are already familiar with quantum computing and quantum complexity theory, you can start by reading that section.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An important reading is &lt;a href=&quot;http://arXiv.org/abs/quant-ph/0006004&quot;&gt;arXiv:quant-ph/0006004&lt;/a&gt;, where Cleve and Watrous show that Shor's algorithm is in that class. &lt;/p&gt;&#xA;" OwnerUserId="1542" LastActivityDate="2011-06-08T04:08:37.407" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6916" PostTypeId="2" ParentId="6903" CreationDate="2011-06-08T09:57:45.357" Score="5" Body="&lt;p&gt;How about a preprocessing phase? Given a random seed $s$ (of size $n$), run $X$ to get a pseudorandom stream of size $1000n$. Denote this stream by $s_1,s_2,\ldots,s_{1000}$, where for $1\le i \le 1000$, $s_i$ is a contiguous portion of the stream of size $n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This preprocessing phase can be done with a very low overhead, given the fact that $X$ is an efficient PRNG (today, we have very fast PRNG's).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, give $s_i$ as the seed to the $i$th machine, which uses $X$ to generate its own pseudorandom stream.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given the nice properties of $X$, unless $s$ is known, for any $1 \le i &amp;lt; j \le 1000$, the seeds $s_i$ and $s_j$ are computationally independent. Moreover, you only have to generate and save one small seed (i.e. $s$); therefore, this approach does not need a great deal of true randomness or storage.&lt;/p&gt;&#xA;" OwnerUserId="873" LastActivityDate="2011-06-08T09:57:45.357" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="6917" PostTypeId="1" AcceptedAnswerId="6918" CreationDate="2011-06-08T11:14:13.907" Score="5" ViewCount="743" Body="&lt;p&gt;What can be the upper bound on the number of edges in a graph of $n$ vertices such that the graph does not have $K_4$ as a minor? Is there some relevant paper/book that I can look into it or it would be kind if some one can give intuition or some proof of some kind along with the bound.&lt;/p&gt;&#xA;" OwnerUserId="4529" LastEditorUserId="1800" LastEditDate="2011-06-08T15:49:04.957" LastActivityDate="2011-06-10T02:33:54.493" Title="Number of edges in $K_4$-free graphs" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;upper-bounds&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6918" PostTypeId="2" ParentId="6917" CreationDate="2011-06-08T11:51:33.370" Score="18" Body="&lt;p&gt;I think $K_4$-minor-free graphs have at most $2n - 3$ edges for $n \geq 2$, and this is tight. Here's one way of looking at it. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is well-known that the $K_4$-minor-free graphs are exactly the graphs of treewidth at most two, see &lt;a href=&quot;http://en.wikipedia.org/wiki/Forbidden_graph_characterization&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/Forbidden_graph_characterization&lt;/a&gt; . Standard theory on treewidth tells us that a graph of treewidth at most 2 is 2-degenerate (see &lt;a href=&quot;http://en.wikipedia.org/wiki/Degeneracy_%28graph_theory%29&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/Degeneracy_%28graph_theory%29&lt;/a&gt; ), which means that all induced subgraphs have a vertex of degree at most two. So to count the number of edges in a $K_4$-minor-free graph, we can do the following: we find a vertex of degree at most two, and delete it. We remove one vertex, and at most two edges. What we're left with is still $K_4$-minor-free (since minor-freeness is preserved when deleting vertices), so if the graph is not yet empty then we know it is 2-degenerate, and has another vertex of degree at most two. If we keep removing vertices of degree at most two then we delete $n$ vertices until the graph is empty, and for each removed vertex we delete at most two edges. Hence the number of edges is at most $2n$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now observe that when removing the second-to-last vertex, there are only two vertices left so there can be only one edge that is removed in that step. Similarly, when we've removed all but one of the vertices then there can be no edges left, so in the last step we don't remove any edges. This shows that the number of edges is at most $2n - 3$ because we save 1 in the second-to-last step, and 2 in the last step.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To see that this is tight, start with a graph on two vertices and one edge. Now repeatedly select two adjacent vertices, and add a new vertex with edges to the selected two. The constructed graph will have treewidth two (since it is a 2-tree, see &lt;a href=&quot;http://en.wikipedia.org/wiki/K-tree&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/K-tree&lt;/a&gt; ) and will therefore be $K_4$-minor-free, and the number of edges you build in this way is $2n-3$.&lt;/p&gt;&#xA;" OwnerUserId="122" LastEditorUserId="3964" LastEditDate="2011-06-08T13:31:39.647" LastActivityDate="2011-06-08T13:31:39.647" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6920" PostTypeId="2" ParentId="6914" CreationDate="2011-06-08T13:41:30.240" Score="4" Body="&lt;p&gt;A way to have such an explicit example is the following: Consider a matrix $A$ full of indeterminates (you can specialize the entries if you wish). Then use some formula for the permanent of this matrix (Ryser's or Glynn's for example). From this formula, you can build another matrix $B$, of quite huge dimensions, whose determinant equals the formula, thus the permanent of $A$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another thing you can do is to consider a matrix A whose determinant and permanent are the same (adjacency matrix of a graph whose cycles are of odd length). Then you can use different constructions to build a new matrix B with the same determinant. For instance, in our paper &lt;a href=&quot;http://arxiv.org/abs/1007.3804&quot; rel=&quot;nofollow&quot; title=&quot;arXiv:1007.3804&quot;&gt;Symmetric Determinantal Representation of Formulas and Weakly-Skew Circuits&lt;/a&gt;, we give an algorithm that given a matrix $A$ builds a symmetric matrix $B$ such that $\det A=\det B$ (Section 3.2).  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can have a look at our paper for the classical techniques to do what you want (if I am not mistaken). For the second part, it is easy to change the constructions giving a matrix $B$ whose determinant equals some other determinant or formula, in such a way that you obtain another matrix $C$ such that $\operatorname{per} C=\det B$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A last word to be more explicit:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\operatorname{per}\begin{pmatrix} x&amp;amp;y\\ 1&amp;amp;1\end{pmatrix}&#xD;&#xA;   = \det\begin{pmatrix} x&amp;amp;0&amp;amp;0&amp;amp;1 \\ 0&amp;amp;y&amp;amp;0&amp;amp;1 \\ 0&amp;amp;0&amp;amp;1&amp;amp;0 \\ 1&amp;amp;1&amp;amp;0&amp;amp;0\end{pmatrix}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I hope this helps, even though I am not quite sure to exactly understand what you mean by &quot;explicit example&quot;. If you are looking for an explicit example where for some $(n\times n)$ matrix $A$, the smallest matrix $B$ such that $\operatorname{per} A=\det B$ has dimensions $&amp;gt;n$, then you should look at Mignon &amp;amp; Ressayre's paper &quot;A quadratic bound for the determinant and permanent problem&quot; or subsequent works by &lt;a href=&quot;http://pages.cs.wisc.edu/~jyc/papers/per-det.pdf&quot; rel=&quot;nofollow&quot;&gt;Jin-Yi Cai and coauthors&lt;/a&gt;. &lt;/p&gt;&#xA;" OwnerUserId="976" LastEditorUserId="3964" LastEditDate="2011-06-08T21:08:17.983" LastActivityDate="2011-06-08T21:08:17.983" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="6924" PostTypeId="2" ParentId="6900" CreationDate="2011-06-08T14:48:17.480" Score="5" Body="&lt;p&gt;Here is a much simpler solution to the one posted in my previous answer, inspired by Kaveh's comment, which reuses the trick of changing a permutation to a unique integer and back which I quote below (in case an edit to the other answer removes or changes it). Conveniently this new approach does not require you to specify $m$ ahead of time.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;We can turn a permutation into an integer by taking $I_P = \sum_{k=0}^{n-1} \frac{n!}{(n-k)!} (y_k-1)$. Here $y_k$ is defined as follows: Let $S_0$ be the set of integers from 1 to $N$, and take $S_k = S_0 / \{f(x)\}_{x=1}^k$. Then $y_k$ is the lexicographic index of $f(k+1)$ in $S_k$. Note that $y_k$ is always an integer between 1 and $n-k$. Thus you obtain a unique integer between 0 and $n!-1$ for every permutation. To reverse this and find the $i$th permutation is trivial, since $y_0 = (I_P \mbox{ mod } n)+1$, $y_1 = ((I_P-y_0)/n \mbox{ mod } n)+1$ etc., and once all $y_k$ have been calculated, $f(x)$ can be calculated by taking $f(1) = y_0$, which allows you to calculate $S_1$, which in turn gives you $f(2)$, etc.&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;Thus you have a polynomial time algorithm for converting a permutation of $n$ items into a unique integer between $0$ and $n!-1$ and back.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;To pick a new permutation $P_j$, pick a uniformly random integer $x_j$ between $0$ and $n! - j$. Let $A_j = S_0 / \{P_i\}_{i=1}^{j-1}$. Take $P_j$ to be the permutation indexed by the $x_j$ in $A_j$. Repeat as often as necessary (i.e. $m$ times). As $A_j$ only includes the remaining non-redundent permutations, and each permutation is drawn uniformly at random from it, this produces the desired stream of random non-redundent permutations in exact polynomial time.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;This answer makes an assumption that it is possible to generate probabilities of the necessary form, which is not necessarily granted in the question. See the answer for Peter Shor for why this can be a problem.&lt;/p&gt;&#xA;" OwnerUserId="204" LastEditorUserId="204" LastEditDate="2016-03-23T05:44:43.217" LastActivityDate="2016-03-23T05:44:43.217" CommentCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="6925" PostTypeId="2" ParentId="6906" CreationDate="2011-06-08T14:58:28.273" Score="14" Body="&lt;p&gt;Breaking the Ackermann function all the way down to the elementary operators would really be quite lengthy, but here is a sketch:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that when computing $A(m,x)$ recursively, at any point of the computation you are dealing with an expression of the form $A(m_1,A(m_2,\dots,A(m_k,z)\dots)$. Given a bijective pairing function $p$ with inverse $(\pi_1,\pi_2)$, we can encode this state as $p(z,p(k,p(m_k,\dots,p(m_2,m_1)\dots)$ (just $p(z,0)$ in case $k=0$). We then can define the one-step evaluation function, given a state:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$e(p(z,0)) = p(z,0)$;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$e(p(z,p(k,p(0,c)))) = p(z+1,p(k-1,c))$;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$e(p(0,p(k,p(m+1,c)))) = p(1,p(k,p(m,c)))$;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$e(p(z+1,p(k,p(m+1,c)))) = p(z,p(k+1,p(m+1,p(m,c))))$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You then get the n-step evaluation function using primitive recursion:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$E(0,m,x) = p(x,p(1,m))$ and $E(n+1,m,x) = e(E(n,m,x))$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, wrap $\mu$-recursion around $E$ to find the point where we get to a state of the form $p(z,0)$  - $z$ will be $A(m,x)$.&lt;/p&gt;&#xA;" OwnerUserId="5183" LastEditorUserId="5183" LastEditDate="2011-06-09T12:10:46.377" LastActivityDate="2011-06-09T12:10:46.377" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="6926" PostTypeId="2" ParentId="6911" CreationDate="2011-06-08T16:00:52.860" Score="5" Body="&lt;p&gt;As Peter pointed out, the 3-partition problem is NP-hard even when the sizes are between $1/3-\delta$ and $1/3+\delta$ for any constant $\delta&amp;gt;0$. Therefore, by a simple reduction from the 3-partition problem, for any constant $\delta&amp;gt;0$, the Bin Packing problem is NP-hard when $1/3-\delta &amp;lt; a_i$ for all $i$.&lt;/p&gt;&#xA;" OwnerUserId="3495" LastActivityDate="2011-06-08T16:00:52.860" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6927" PostTypeId="2" ParentId="6911" CreationDate="2011-06-08T17:41:19.860" Score="2" Body="&lt;p&gt;On the positive side, there is a $\mathsf{OPT} + O(\log n)$ approximation (as opposed to the $\mathsf{OPT} + O(\log^2 n)$ approximation known for general bin-packing): either using the Karmakar-Karp rounding of the Gilmore-Gomory relaxation of bin packing (check David Williamson's book), or, more recently, using the &lt;a href=&quot;http://arxiv.org/abs/1007.2170&quot; rel=&quot;nofollow&quot;&gt;connection&lt;/a&gt; with discrepancy of permutations and the $O(\log n)$ constructive upper bound on the discrepancy of 3 permutations of &lt;a href=&quot;http://onlinelibrary.wiley.com/doi/10.1002/rsa.3240010208/abstract&quot; rel=&quot;nofollow&quot;&gt;Bohus&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="4896" LastEditorUserId="4896" LastEditDate="2011-06-08T18:09:28.533" LastActivityDate="2011-06-08T18:09:28.533" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6928" PostTypeId="1" AcceptedAnswerId="6931" CreationDate="2011-06-08T19:48:21.380" Score="9" ViewCount="608" Body="&lt;p&gt;Let $A$ be a $3 \times 3$ or a $4 \times 4$ matrix with entries $a_{ij}$. Can someone provide me a matrix $B$ so that $\operatorname{per}(A) = \det(B)$? What is the smallest explicit $B$ that is known such that $\operatorname{per}(A) = \det(B)$? Any references on this with explicit examples?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some restrictions could be the following cases:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Case $(1)$ Only linear functionals are allowed as entries of $B$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Case $(2)$ Non-linear functionals are allowed provided each term has atmost $O(log(n))$ degree (degree is sum of degree of variables) where $n$ is the size of the matrix involved. In our case, upto degree $2$.&lt;/p&gt;&#xA;" OwnerUserId="5511" LastEditorUserId="5511" LastEditDate="2011-06-09T23:40:10.060" LastActivityDate="2011-07-13T23:05:42.123" Title="Permanent of a $3 \times 3$ and $4 \times 4$ matrix from determinants" Tags="&lt;cc.complexity-theory&gt;&lt;algebraic-complexity&gt;&lt;permanent&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="6929" PostTypeId="2" ParentId="6866" CreationDate="2011-06-08T20:02:02.123" Score="0" Body="&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Time_complexity#Sub-linear_time&quot; rel=&quot;nofollow&quot;&gt;Sublinear time algorithms&lt;/a&gt; are rare &quot;in daily programming&quot; for several reasons. Daily programming involves classic, deterministic, sequential computation on small inputs without strong assumptions on the input structure/distribution and must always return the correct answer. In contrast, sublinear time algorithms are often&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Quantum_algorithm&quot; rel=&quot;nofollow&quot;&gt;quantum&lt;/a&gt; (such as &lt;a href=&quot;http://en.wikipedia.org/wiki/Grover%27s_algorithm&quot; rel=&quot;nofollow&quot;&gt;Grover's algorithms&lt;/a&gt;),&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Parallel_algorithm&quot; rel=&quot;nofollow&quot;&gt;parallel&lt;/a&gt; (such as &lt;a href=&quot;http://en.wikipedia.org/wiki/Bitonic_sorter&quot; rel=&quot;nofollow&quot;&gt;bitonic mergesort&lt;/a&gt;),&lt;/li&gt;&#xA;&lt;li&gt;an &lt;a href=&quot;http://en.wikipedia.org/wiki/Approximation_algorithm&quot; rel=&quot;nofollow&quot;&gt;approximation&lt;/a&gt; (for such problems as &lt;a href=&quot;http://www.google.com/search?&amp;amp;q=sublinear%20time%20approximation%20algorithms&quot; rel=&quot;nofollow&quot;&gt;vertex cover and bin packing&lt;/a&gt;),&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Randomized_algorithm&quot; rel=&quot;nofollow&quot;&gt;randomized&lt;/a&gt; with a small chance of failure/error (such as &lt;a href=&quot;http://www.math.ias.edu/~avi/PUBLICATIONS/MYPAPERS/SW86/SW86.pdf&quot; rel=&quot;nofollow&quot;&gt;evaluating a balanced NAND tree&lt;/a&gt; or algorithms for &lt;a href=&quot;http://en.wikipedia.org/wiki/Property_testing&quot; rel=&quot;nofollow&quot;&gt;property testing&lt;/a&gt; when the input is exceedingly large), or&lt;/li&gt;&#xA;&lt;li&gt;using strong assumptions about input structure/distribution (such as binary search).&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;In addition to algorithms, many &lt;a href=&quot;http://en.wikipedia.org/wiki/Data_structure&quot; rel=&quot;nofollow&quot;&gt;data structures&lt;/a&gt; have sublinear time operations (relative to the number of elements currently stored). My two favorites are the&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Disjoint-set_data_structure&quot; rel=&quot;nofollow&quot;&gt;union-find data structure&lt;/a&gt;, which, as Suresh Venkat already mentioned, takes &quot;on average&quot; $\alpha(n)$ time for both the &lt;em&gt;union&lt;/em&gt; and &lt;em&gt;find&lt;/em&gt; operations (where $\alpha(n)$ is one version of an inverse &lt;a href=&quot;http://en.wikipedia.org/wiki/Ackermann_function&quot; rel=&quot;nofollow&quot;&gt;Ackermann function&lt;/a&gt;), and the&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Soft_heap&quot; rel=&quot;nofollow&quot;&gt;soft heap&lt;/a&gt;, which is a deterministic data structure with all constant time &quot;on average&quot; operations but only has to return items close to the minimum.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="3964" LastEditorUserId="969" LastEditDate="2014-12-10T07:33:49.170" LastActivityDate="2014-12-10T07:33:49.170" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6931" PostTypeId="2" ParentId="6928" CreationDate="2011-06-08T21:06:13.597" Score="18" Body="&lt;p&gt;&lt;strong&gt;[EDIT]&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;For consistency, I switched the notations from $c(n)$ to $dc(n)$.&lt;/li&gt;&#xA;&lt;li&gt;It was asked by &lt;a href=&quot;https://cstheory.stackexchange.com/users/5511/v-s&quot;&gt;v s&lt;/a&gt; in the comments whether my answer generalize to higher dimensions. It does and gives an upper bound over any field:&#xA;$$dc(n)\le 2^n-1.$$&#xA;See my draft on this: &lt;a href=&quot;http://perso.ens-lyon.fr/bruno.grenet/publis/UpperBound.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;An Upper Bound for the Permanent versus Determinant Problem&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;[/EDIT]&lt;/strong&gt; &lt;/p&gt;&#xA;&#xA;&lt;p&gt;[A side comment: I think you could edit your previous question instead of creating a new one.]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have the following answer for you: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\operatorname{per}\begin{pmatrix} a&amp;amp;b&amp;amp;c\\d&amp;amp;e&amp;amp;f\\g&amp;amp;h&amp;amp;i\end{pmatrix}=&#xA;    \det\begin{pmatrix}&#xA;    0 &amp;amp; a &amp;amp; d &amp;amp; g &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 \\&#xA;    0 &amp;amp; 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; i &amp;amp; f &amp;amp; 0 \\&#xA;    0 &amp;amp; 0 &amp;amp; 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; c &amp;amp; i \\&#xA;    0 &amp;amp; 0 &amp;amp; 0 &amp;amp; 1 &amp;amp; c &amp;amp; 0 &amp;amp; f \\&#xA;    e &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; 1 &amp;amp; 0 &amp;amp; 0 \\&#xA;    h &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; 1 &amp;amp; 0 \\&#xA;    b &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; 1&#xA;    \end{pmatrix}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that looking for such references about explicit examples, I could'nt find any and thus the example I give you is an example I built.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This question you are asking is commonly called the &quot;Permanent vs Determinant problem&quot;. Suppose we are given an $(n\times n)$ matrix $A$, and we want the smallest matrix $B$ such that $\operatorname{per} A=\det B$. Let us denote by $dc(n)$ the dimensions of the smallest such $B$. Here are historical results:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;[Szegö 1913] $dc(n)\ge n+1$ &lt;/li&gt;&#xA;&lt;li&gt;[von zur Gathen 1986] $dc(n)\ge n\sqrt 2-6\sqrt n$&lt;/li&gt;&#xA;&lt;li&gt;[Cai 1990] $dc(n)\ge n\sqrt 2$&lt;/li&gt;&#xA;&lt;li&gt;[Mignon &amp;amp; Ressayre 2004] $dc(n)\ge n^2/2$ in characteristic $0$&lt;/li&gt;&#xA;&lt;li&gt;[Cai, Chen &amp;amp; Li 2008] $dc(n)\ge n^2/2$ in characteristic $\neq 2$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;This shows that $5\le dc(3)\le 7$ (the upper bound is the matrix given above). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;As I am lazy, I just give you one reference where you can find the other ones. It is the most recent paper I cited, by Cai, Chen and Li: &lt;a href=&quot;http://pages.cs.wisc.edu/~jyc/papers/per-det.pdf&quot; rel=&quot;nofollow noreferrer&quot; title=&quot;PDF file&quot;&gt;A quadratic lower bound for the permanent and determinant problem over any characteristic $\neq 2$&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you read French, you can also have a look to my slides on this subject: &lt;a href=&quot;http://perso.ens-lyon.fr/bruno.grenet/publis/talk_ejc11.pdf&quot; rel=&quot;nofollow noreferrer&quot; title=&quot;PDF file&quot;&gt;Permanent versus Déterminant&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="976" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2011-07-13T23:05:42.123" CommentCount="20" ContentLicense="CC BY-SA 3.0" />
  <row Id="6932" PostTypeId="1" CreationDate="2011-06-08T23:30:00.077" Score="8" ViewCount="2929" Body="&lt;p&gt;Can you do quantum computing in a von neuman architecture? If not, why? What is the constraint? If you control a qbit, can a quantum computer use the von neuman architecture?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks.&lt;/p&gt;&#xA;" OwnerUserId="5465" LastEditorUserId="80" LastEditDate="2011-06-14T09:54:20.123" LastActivityDate="2011-09-22T11:19:43.660" Title="Von Neumann architectures and quantum computing" Tags="&lt;quantum-computing&gt;" AnswerCount="4" CommentCount="1" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="6935" PostTypeId="2" ParentId="6932" CreationDate="2011-06-09T00:34:39.660" Score="24" Body="&lt;p&gt;What do you mean by von Neumann architecture? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'll use the Wikipedia definition, and say that it's a computer which keeps its program and its data in the same random-access memory. This works well as a theoretical model of a quantum computer, but there are severe drawbacks to implementing such a device. In particular, for a quantum computer, the data has to be quantum. If the data and program are stored in the same memory device, this would imply that the program has to be quantum, as well. So the computer would then have to be able to implement a superposition of instructions in its instruction set. This is orders of magnitude more difficult experimentally than just having the memory in superposition.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In fact, even indirect memory retrieval, including RAM, pointers, and so forth, appears to be quite difficult to implement experimentally. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This has resulted in the default model of a quantum computer being the &lt;em&gt;uniform quantum circuit model,&lt;/em&gt; which is both easier to imagine implementing experimentally and tractable to deal with theoretically from a TCS perspective. The circuit model is able to simulate the von Neumann architecture with only a polynomial slowdown, so quantum complexity classes are not changed by this change of model.&lt;/p&gt;&#xA;" OwnerUserId="1677" LastActivityDate="2011-06-09T00:34:39.660" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="6936" PostTypeId="1" AcceptedAnswerId="6951" CreationDate="2011-06-09T01:11:03.353" Score="5" ViewCount="1054" Body="&lt;p&gt;For those doesn't know about linear datalog, linear datalog is a datalog rule in which the number of IDB predicate in each rule is less or equal than one.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is, why is this interesting? What differ this with the &quot;normal&quot; datalog program?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;NB: I put this question also in math.stackexchange. According to my experience, I am afraid that this question shouldn't be in this site, but I don't see any reason why I should put  deductive database question in math section.&lt;/p&gt;&#xA;" OwnerUserId="3714" LastActivityDate="2011-07-22T02:12:51.547" Title="why is Linear Datalog interesting?" Tags="&lt;lo.logic&gt;&lt;terminology&gt;&lt;db.databases&gt;" AnswerCount="3" CommentCount="2" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="6937" PostTypeId="1" AcceptedAnswerId="6942" CreationDate="2011-06-09T02:22:00.293" Score="9" ViewCount="367" Body="&lt;p&gt;I would like to have a bound on the cardinality of the set of unit disk graphs with $N$ vertices. It is known that checking whether a graph is a member of this set is NP-hard. Does this lead to any lower bound on the cardinality, assuming P $\neq$ NP? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, suppose there is an ordering on all graphs with $N$ vertices. Would NP-hardness then imply the cardinality exceeds $2^N$, in that otherwise you could test for membership in polynomial time by doing a binary search through the set? I think this would assume that you have somehow stored the set in memory... Is this allowed? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Defintion: A graph is a unit disk graph if each vertex can be associated with a unit disk in the plane, such that vertices are connected whenever their disks intersect.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is a reference on NP-hardness of membership testing for unit disk graphs:&#xA;&lt;a href=&quot;http://disco.ethz.ch/members/pascal/refs/pos_1998_breu.pdf&quot; rel=&quot;nofollow&quot;&gt;http://disco.ethz.ch/members/pascal/refs/pos_1998_breu.pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="4002" LastEditorUserId="1800" LastEditDate="2011-06-09T04:26:31.903" LastActivityDate="2011-06-09T19:51:47.443" Title="Can I bound the cardinality of a set if testing for membership in it is known to be NP-complete?" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="6938" PostTypeId="2" ParentId="6936" CreationDate="2011-06-09T06:12:10.603" Score="1" Body="&lt;p&gt;I think intuitively the main difference is that the proof trees of linear datalog programs are simply paths - hence the name. This often makes life easier (eg whenever you need tree automata for unconstrained datalog, you can use regular word automata for linear datalog). &#xA;This might be more a comment than a answer.&lt;/p&gt;&#xA;" OwnerUserId="1739" LastEditorUserId="1739" LastEditDate="2011-06-10T10:16:03.200" LastActivityDate="2011-06-10T10:16:03.200" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="6939" PostTypeId="2" ParentId="6937" CreationDate="2011-06-09T06:26:27.697" Score="13" Body="&lt;p&gt;Mahaney’s Theorem states that sparse NP-complete sets exist iff P=NP. Therefore, assuming $P \neq NP $ implies a super-polynomial lower bound on the number of instances of size $n$ in $NP$-complete sets, for infinitely many $n$. That is, if $P \neq NP$, then any $NP$-complete set must have some $\epsilon \gt 0$ such that for infinitely-many integers $n\ge 0$, the set contains &#xA;at least $2^{n^{\epsilon}}$ strings of  length $n$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;H. Buhrman and J. M. Hitchcock proved the lower bound ($2^{n^{\epsilon}}$) is tight, unless the polynomial hierarchy collapses. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] H. Buhrman and J. M. Hitchcock, NP-Hard Sets are Exponentially Dense Unless coNP ⊆ NP/poly, In IEEE&#xA;Conference on Computational Complexity, pages 1–7, 2008&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] Eric Allender, A Status Report on the P Versus NP Question, Advances in Computers, Volume 77, 2009, Pages 117-147&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="4377" LastEditDate="2011-06-09T19:51:47.443" LastActivityDate="2011-06-09T19:51:47.443" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="6941" PostTypeId="2" ParentId="6864" CreationDate="2011-06-09T08:06:48.293" Score="10" Body="&lt;p&gt;If you understand the algorithm for 2SAT, you already know why it's in P - this is precisely what the algorithm demonstrates. I think &lt;a href=&quot;http://www.smbc-comics.com/index.php?db=comics&amp;amp;id=1914#comic&quot;&gt;this comic&lt;/a&gt; illustrates my point. As you already know why 2SAT is in P, what you probably want to know is why 2SAT isn't NP-hard.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To understand why 2SAT isn't NP-hard, you have to consider how easy it is to reduce other problems in NP to it. To get an intuitive understanding of this, look at how SAT can be reduced to 3SAT and try to apply the same techniques to reduce SAT to 2SAT. 2SAT is just not as expressive as 3SAT and other SAT variants.&lt;/p&gt;&#xA;" OwnerUserId="1560" LastActivityDate="2011-06-09T08:06:48.293" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6942" PostTypeId="2" ParentId="6937" CreationDate="2011-06-09T08:30:43.487" Score="11" Body="&lt;p&gt;I'm not sure if you're asking this question for the technique or for the answer, but there is a recent paper by McDiarmid and Mueller where they show the number of (labeled) unit-disk graphs on $n$ vertices is $2^{(2 + o(1))n}$; see &lt;a href=&quot;http://homepages.cwi.nl/~mueller/Papers/countingDGs.pdf&quot;&gt;http://homepages.cwi.nl/~mueller/Papers/countingDGs.pdf&lt;/a&gt; .&lt;/p&gt;&#xA;" OwnerUserId="122" LastActivityDate="2011-06-09T08:30:43.487" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6943" PostTypeId="2" ParentId="6932" CreationDate="2011-06-09T09:05:12.117" Score="5" Body="&lt;p&gt;There is a Nielsen and Chuang result about programmable quantum gate arrays due to that states of program should be orthogonal (if it is deterministic case, but stochastic case is other long story). So you may store both program and data in the same place, but formally the program is “quasi-classical,” because you should not use superpositions (despite the fact, that you could do it, in principle). I think it better should be called a “modified Harvard” architecture, despite I myself called that von Neumann architecture of quantum computer sometimes.&lt;/p&gt;&#xA;" OwnerUserId="4915" LastEditorUserId="4915" LastEditDate="2011-06-09T09:25:38.080" LastActivityDate="2011-06-09T09:25:38.080" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6944" PostTypeId="2" ParentId="6903" CreationDate="2011-06-09T09:40:16.720" Score="2" Body="&lt;p&gt;You could use a pseudorandom function $f$ such as &lt;a href=&quot;http://en.wikipedia.org/wiki/Advanced_Encryption_Standard&quot; rel=&quot;nofollow&quot;&gt;AES&lt;/a&gt; or &lt;a href=&quot;http://cr.yp.to/chacha.html&quot; rel=&quot;nofollow&quot;&gt;ChaCha&lt;/a&gt; with a single random key, encrypting a counter.  Assign each of the $M = 1000$ parallel processes a unique starting value in $\{ 0, 1, \ldots, M - 1 \}$, and then compute the $j$th random block of bits for process $i$ as $f(i + jM)$, i.e. increment the counter in each process by $M$ for every subsequent block of random bits.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This will give you a cryptographic RNG on every process, but it does not necessarily come with a performance cost.  AES is fast if you have hardware that supports it, and ChaCha is fast regardless.  Of course, you'll want to measure this in your specific setting to be sure.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Both desired properties 1 and 2 are directly satisfied by this.  It's moreover convenient that the behavior of the entire system of parallel tasks is controlled by a single &quot;seed&quot; (the key for $f$).&lt;/p&gt;&#xA;" OwnerUserId="4350" LastEditorUserId="4350" LastEditDate="2011-06-09T09:46:50.487" LastActivityDate="2011-06-09T09:46:50.487" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6945" PostTypeId="2" ParentId="6906" CreationDate="2011-06-09T11:20:11.913" Score="8" Body="&lt;p&gt;This is a variant of the idea posted by Kaveh, but I am posting anyway since it allows you to sweep many nasty details under the rug without actually doing any handwaving.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The key fact is that the &lt;em&gt;graph&lt;/em&gt; of the Ackermann function is primitive recursive. It's not that hard to find a very crude primitive recursive bound $B(m,n,w)$ on the code for the table of Ackermann values needed to verify that $A(m,n) = w$. Don't try to get sharp bounds &amp;mdash; the cruder the easier! Something like $B(m,n,w) = 2^{mw^w}$ should be good enough, but that depends on your choice of coding scheme. Since the verification of the table values can be described by a bounded formula, it is primitive recursive.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Once you have a primitive recursive definition for the graph $G(m,n,w)$ of the Ackermann function, simply define $A(m,n) = \mu w\,G(m,n,w)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Sadly, this strategy doesn't work for all functions defined by double (or multiple) recursion. The reason it works for the Ackermann function &amp;mdash; as you will see when trying to figure out a good $B(m,n,w)$ &amp;mdash; is that it grows very monotonically. For the general case, you must use Kaveh's idea and have $\mu$ look for the appropriate table of values. This is basically the same reason why the &lt;a href=&quot;http://en.wikipedia.org/wiki/%CE%9C-recursive_function#Normal_form_theorem&quot;&gt;Kleene's Normal Form Theorem&lt;/a&gt; needs to do a projection after applying the $\mu$ operator.&lt;/p&gt;&#xA;" OwnerUserId="341" LastActivityDate="2011-06-09T11:20:11.913" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="6946" PostTypeId="2" ParentId="874" CreationDate="2011-06-09T13:05:31.840" Score="5" Body="&lt;p&gt;You can add arbitrary (positive) inductive types to system F, and show that the system with appropriate eliminators is SN. This is treated in Mendler's thesis &lt;a href=&quot;http://www.cs.cornell.edu/info/Projects/Nuprl/documents/Mendler/InductiveDefinition.html&quot; rel=&quot;noreferrer&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="3984" LastActivityDate="2011-06-09T13:05:31.840" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6947" PostTypeId="1" AcceptedAnswerId="6950" CreationDate="2011-06-09T13:29:18.387" Score="12" ViewCount="2084" Body="&lt;p&gt;Is it possible to construct an algorithm which takes as input a pushdown automaton $M$ along with the promise that the language accepted by this automaton $L(M)$ is a deterministic context-free language and outputs a deterministic pushdown automaton $N$ which accepts precisely the language accepted by $M$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An equivalent problem would be to construct an algorithm which takes as input a pushdown automata $M$ (with the promise that $L(M)$ is deterministic, as above) and a deterministic pushdown automata $N$. The output would be &lt;em&gt;yes&lt;/em&gt; if $L(M) = L(N)$ and &lt;em&gt;no&lt;/em&gt; if $L(M)\neq L(N)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I believe that an algorithm solving the first would give an algorithm solving the second by the decidability of equivalence of deterministic pushdown automata. I think a solution to the second would imply a solution to the first as we enumerate all deterministic pushdown automata and run the algorithm on them one by one, once we get a yes instance we output that automaton.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I wonder if anyone knows anything about this? Maybe it's a known problem and/or has a known solution? As an aside, I believe it is decidable if you introduce the restriction which says that the language generated by the PDA is the word problem of a group.&lt;/p&gt;&#xA;" OwnerUserId="5531" LastEditorUserId="3964" LastEditDate="2011-06-09T14:52:23.680" LastActivityDate="2018-10-30T14:45:37.900" Title="Given a PDA M such that L(M) is in DCFL construct a DPDA N such that L(N) = L(M)" Tags="&lt;reference-request&gt;&lt;computability&gt;&lt;fl.formal-languages&gt;&lt;automata-theory&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="6948" PostTypeId="1" AcceptedAnswerId="6949" CreationDate="2011-06-09T14:04:06.407" Score="5" ViewCount="290" Body="&lt;p&gt;I know that the equivalence problem for deterministic one counter automata is decidable, however does anyone know whether it is decidable for all one counter automata or just the deterministic ones?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any information would be useful, I don't know if this is an open problem or if it has a solution. If there is a known proof (of either decidability or undecidability) then a reference would be greatly appreciated.&lt;/p&gt;&#xA;" OwnerUserId="5531" LastActivityDate="2014-02-19T16:37:08.407" Title="Equivalence problem for one-counter automata" Tags="&lt;reference-request&gt;&lt;computability&gt;&lt;fl.formal-languages&gt;&lt;automata-theory&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6949" PostTypeId="2" ParentId="6948" CreationDate="2011-06-09T14:59:27.570" Score="4" Body="&lt;p&gt;I have no time to check the references in detail, but Ibarra states in &lt;a href=&quot;http://dx.doi.org/10.1007/BF01744294&quot; rel=&quot;nofollow&quot;&gt;http://dx.doi.org/10.1007/BF01744294&lt;/a&gt; that, according to &#xA;&lt;a href=&quot;http://portal.acm.org/citation.cfm?id=321503&quot; rel=&quot;nofollow&quot;&gt;Greibach&lt;/a&gt;and &lt;a href=&quot;http://dx.doi.org/10.1016/S0022-0000(74)80027-9&quot; rel=&quot;nofollow&quot;&gt;Baker and Book&lt;/a&gt;, the universe problem (is the language $\Sigma^*$?) for non-deterministic one-counter machines with at most one counter reversal is undecidable. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In addition to this, Ibarra considers even more restricted classes for which this problem is undecidable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hence, even a subproblem of equivalence is undecidable for a subclass of non-deterministic one-counter machines.&lt;/p&gt;&#xA;" OwnerUserId="924" LastEditorUserId="13649" LastEditDate="2014-02-19T16:37:08.407" LastActivityDate="2014-02-19T16:37:08.407" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6950" PostTypeId="2" ParentId="6947" CreationDate="2011-06-09T18:11:57.680" Score="9" Body="&lt;p&gt;Take a deterministic TM &lt;span class=&quot;math-container&quot;&gt;$M$&lt;/span&gt; and a word &lt;span class=&quot;math-container&quot;&gt;$w$&lt;/span&gt;. Consider its &lt;a href=&quot;http://en.wikipedia.org/wiki/Computation_history#Decidability_results&quot; rel=&quot;nofollow noreferrer&quot;&gt;computation histories&lt;/a&gt; for the word &lt;span class=&quot;math-container&quot;&gt;$w$&lt;/span&gt;. Let &lt;span class=&quot;math-container&quot;&gt;$L$&lt;/span&gt; be invalid histories (those which don't start with &lt;span class=&quot;math-container&quot;&gt;$w$&lt;/span&gt;, don't end with acceptance or are invalid). Either &lt;span class=&quot;math-container&quot;&gt;$L = A^{\ast}$&lt;/span&gt; (&lt;span class=&quot;math-container&quot;&gt;$M$&lt;/span&gt; doesn't accept &lt;span class=&quot;math-container&quot;&gt;$w$&lt;/span&gt;) or &lt;span class=&quot;math-container&quot;&gt;$L = A^{\ast} - \{h\}$&lt;/span&gt; for some string &lt;span class=&quot;math-container&quot;&gt;$h$&lt;/span&gt; (&lt;span class=&quot;math-container&quot;&gt;$M$&lt;/span&gt; accepts &lt;span class=&quot;math-container&quot;&gt;$w$&lt;/span&gt; with computation history &lt;span class=&quot;math-container&quot;&gt;$h$&lt;/span&gt;). First of all, &lt;span class=&quot;math-container&quot;&gt;$L$&lt;/span&gt; is effective CFL, in the sense that you can build a grammar/PDA recognising it. Moreover, &lt;span class=&quot;math-container&quot;&gt;$L$&lt;/span&gt; is a (noneffective) DCFL, but you can't show a DPDA for it effectively. Even more, &lt;span class=&quot;math-container&quot;&gt;$L$&lt;/span&gt; is (noneffective) regular.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Small clarification:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You asked if the following problem is decidable:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;given PDA &lt;span class=&quot;math-container&quot;&gt;$M$&lt;/span&gt; promised that &lt;span class=&quot;math-container&quot;&gt;$L(M)$&lt;/span&gt; is a DCFL, and a DPDA &lt;span class=&quot;math-container&quot;&gt;$N$&lt;/span&gt; determine if &lt;span class=&quot;math-container&quot;&gt;$L(M) = L(N)$&lt;/span&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The answer is no, and in fact the following stronger fact holds: The following problem is undecidable:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;given PDA &lt;span class=&quot;math-container&quot;&gt;$M$&lt;/span&gt; promised that &lt;span class=&quot;math-container&quot;&gt;$L(M)$&lt;/span&gt; is regular, determine if &lt;span class=&quot;math-container&quot;&gt;$L(M)=A^{\ast}$&lt;/span&gt;.&lt;/p&gt;&#xA;" OwnerUserId="1886" LastEditorUserId="47993" LastEditDate="2018-10-30T14:45:37.900" LastActivityDate="2018-10-30T14:45:37.900" CommentCount="11" ContentLicense="CC BY-SA 4.0" />
  <row Id="6951" PostTypeId="2" ParentId="6936" CreationDate="2011-06-09T18:31:19.643" Score="11" Body="&lt;p&gt;Linear Datalog has a lot of connections with the complexity of constraint satisfaction and logic. Like @ian said, the intuitive way to view a linear Datalog program is a Datalog program who's proof trees are basically paths.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In constraint satisfaction, we are interested in problems of the following form. Let $\mathbf{B} = (B, R_1^{\mathbf{B}}, R_2^{\mathbf{B}}, \ldots, R_n^{\mathbf{B}})$ be a relational structure (that is, a domain $B$ with a family of relations over that domain). We ask, what relational structures $\mathbf{A} = (A, R_1^\mathbf{A}, R_2^\mathbf{A}, \ldots, R_n^\mathbf{A})$ admit a homomorphism to $\mathbf{B}$ (i.e. a function $f: A \rightarrow B$ such that if $(a_1, a_2, \ldots, a_n) \in R_i^{\mathbf{A}}$ then $(f(a_1), f(a_2), \ldots, f(a_n)) \in R_i^\mathbf{B}$)? We will denote this decision problem by CSP($\mathbf{B}$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It turns out that the complexity of CSP($\mathbf{B}$) can be neatly characterized by linear Datalog. Namely, if co-CSP($\mathbf{B}$) can be expressed in linear Datalog, then CSP($\mathbf{B}$) is in $\mathsf{NL}$. This characterization of the expressibility of the complement problem in linear Datalog is equivalent to a number of different properties, such as $\mathbf{B}$ having bounded pathwidth duality, a winning strategy in a certain kind of pebble game, and expressibility in certain fragments of infinitary logic (logics extended with infinite conjunctions).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For more information, see&lt;/p&gt;&#xA;&#xA;&lt;p&gt;V. Dalmau. &lt;em&gt;Linear Datalog and Bounded Path Duality of Relational Structures&lt;/em&gt;. Available at Logical Methods in Computer Science (&lt;a href=&quot;http://www.lmcs-online.org/ojs/viewarticle.php?id=30&amp;amp;layout=CoRR&amp;amp;format=pdf&quot;&gt;here&lt;/a&gt;), 2005.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another good survey paper with a section devoted to this would be&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A. Bulatov, A. Krokhin, B. Larose. &lt;em&gt;Dualities for Constraint Satisfaction Problems&lt;/em&gt;. Lecture Notes in Computer Science, Vol. 5250:93-124, 2008. &lt;a href=&quot;http://www.dur.ac.uk/andrei.krokhin/papers/dualsurvey.pdf&quot;&gt;Available here&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="2652" LastActivityDate="2011-06-09T18:31:19.643" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6952" PostTypeId="1" AcceptedAnswerId="6961" CreationDate="2011-06-09T20:52:43.403" Score="16" ViewCount="701" Body="&lt;p&gt;Is the following manuscript publically available?&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Dana Scott, 1969, &lt;em&gt;A theory of computable functions of higher type&lt;/em&gt;. Unpublished seminar notes, 7 pages, University of Oxford.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;There is a discussion of this paper in section 8.1.2, &lt;em&gt;Types as sets&lt;/em&gt;, in Cardone &amp;amp; Hindley, 2006 &lt;a href=&quot;http://www-maths.swan.ac.uk/staff/jrh/papers/jrhhislamweb.pdf&quot;&gt;History of Lambda-calculus and Combinatory Logic&lt;/a&gt;; additionally section 10.1, &lt;em&gt;Domain theory&lt;/em&gt;, traces back to this manuscript some crucial order-theoretic insights.&lt;/p&gt;&#xA;" OwnerUserId="270" LastEditorDisplayName="user5513" LastEditDate="2011-06-09T23:38:09.330" LastActivityDate="2011-06-10T18:04:13.110" Title="Seeking Scott's original LCF paper" Tags="&lt;reference-request&gt;&lt;lo.logic&gt;&lt;type-theory&gt;&lt;domain-theory&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="6954" PostTypeId="1" AcceptedAnswerId="11184" CreationDate="2011-06-10T02:12:42.213" Score="21" ViewCount="5918" Body="&lt;p&gt;The &lt;a href=&quot;http://en.wikipedia.org/wiki/Pumping_lemma_for_regular_languages&quot;&gt;pumping lemma for regular languages&lt;/a&gt; can be proved by considering a finite state automaton which recognizes the language studied, picking a string with a length greater than its number of states, and applying the pigeonhole principle. The &lt;a href=&quot;http://en.wikipedia.org/wiki/Pumping_lemma_for_context-free_languages&quot;&gt;pumping lemma for context-free languages&lt;/a&gt; (as well as Ogden's lemma which is slightly more general), however, is proved by considering a context-free grammar of the language studied, picking a sufficiently long string, and looking at the parse tree.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given the similarity of the two pumping lemmas, you would expect that the context-free one can also be proved in a similar way to the regular one by considering a pushdown automaton which recognizes the language, rather than a grammar. However, I didn't manage to find any reference to such a proof.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hence my question: is there a proof of the pumping lemma for context-free languages which only involves pushdown automata and not grammars?&lt;/p&gt;&#xA;" OwnerUserId="4795" LastEditorUserId="4795" LastEditDate="2012-04-25T11:38:15.487" LastActivityDate="2018-01-20T13:55:29.987" Title="Proof of the pumping lemma for context-free languages using pushdown automata" Tags="&lt;fl.formal-languages&gt;&lt;automata-theory&gt;&lt;proofs&gt;&lt;grammars&gt;" AnswerCount="4" CommentCount="0" FavoriteCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="6955" PostTypeId="2" ParentId="6917" CreationDate="2011-06-10T02:33:54.493" Score="2" Body="&lt;p&gt;In general, the number of edges in a $K_m$-minor-free graph is bounded linearly in the number of vertices. The first non-trivial case is $m=3$, i.e. forests where $|E|\le|V|-1$. Here, I'll show that $|E|\leq(2^{m-2}-1)|V|$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $G$ be a minimal counterexample. Select any vertex $v$. Let $H$ be the subgraph induced by the neighbours of $v$. The idea is to find a vertex $u$ in $H$ whose degree in $H$ is small, so that contracting the edge $uv$ destroys a small number of edges and gives a smaller counterexample.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that $H$ contains no $K_{m-1}$ minor and is not a counterexample, so we may select a vertex $u$ in $H$ with $deg_H(u)\le 2^{m-2}-2$. Contracting the edge $uv$ then decreases $|E|$ by at most $2^{m-2} - 1$ and decreases $|V|$ by one, so we have a smaller counterexample.&lt;/p&gt;&#xA;" OwnerUserId="5057" LastActivityDate="2011-06-10T02:33:54.493" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6958" PostTypeId="1" CreationDate="2011-06-10T15:10:36.407" Score="5" ViewCount="343" Body="&lt;p&gt;Sassone, V., Nielsen, M. and Winskel, G. (1996) &lt;a href=&quot;http://eprints.ecs.soton.ac.uk/11819/&quot; rel=&quot;nofollow&quot;&gt;Models for Concurrency: Towards a Classification&lt;/a&gt;. Theoretical Computer Science, 170 (1-2). pp. 297-348., p. 307:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Given a tree $S$, define … $\#$ is the&#xA;  least hereditary, symmetric,&#xA;  irreflexive relation on $Tran_S$ such&#xA;  that $(s,a,s&amp;#39;)\#(s,b,s&amp;#39;&amp;#39;)$ if $s&amp;#39;\neq s&amp;#39;&amp;#39;$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;What is a hereditary relation? If I replace in the quote “the least hereditary, symmetric, irreflexive relation” with “the least hereditary relation”, do I get the equivalent statement?&lt;/p&gt;&#xA;" OwnerUserId="1720" LastEditorUserId="80" LastEditDate="2011-06-14T11:20:58.567" LastActivityDate="2011-06-14T11:22:28.300" Title="Definition of a hereditary relation" Tags="&lt;terminology&gt;&lt;dc.parallel-comp&gt;&lt;concurrency&gt;&lt;relational-structures&gt;" AnswerCount="1" CommentCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="6959" PostTypeId="1" AcceptedAnswerId="6972" CreationDate="2011-06-10T15:28:35.430" Score="38" ViewCount="2752" Body="&lt;p&gt;It is sometimes claimed that Ketan Mulmuley's Geometric Complexity Theory is the only plausible program for settling the open questions of complexity theory like P vs. NP question. There has been several positive commentaries from famous complexity theorists about the program. According to Mulmuley it will take a long time to achieve the desired results.  Entering the area is not easy for general complexity theorists and needs considerable efforts to get a handle on algebraic geometry and representation theory.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Why is GCT considered to be capable of settling P vs. NP? What is the value of the claim if it is expected to take more than 100 years to reach there? What are its advantages to other current approaches and those that may rise in the next 100 years?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;What is the current state of the program?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;What is the next target of the program?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Has there been any fundamental criticism of the program?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;I would prefer answers that are understandable by a general complexity theorist with the minimum background from algebraic geometry and representation theory assumed.&lt;/p&gt;&#xA;" OwnerUserId="14197" LastEditorUserId="14197" LastEditDate="2013-11-15T18:47:10.420" LastActivityDate="2013-11-15T18:47:10.420" Title="Mulmuley's GCT program" Tags="&lt;cc.complexity-theory&gt;&lt;big-picture&gt;&lt;algebraic-complexity&gt;&lt;p-vs-np&gt;&lt;gct&gt;" AnswerCount="2" CommentCount="17" FavoriteCount="13" ContentLicense="CC BY-SA 3.0" />
  <row Id="6961" PostTypeId="2" ParentId="6952" CreationDate="2011-06-10T18:04:13.110" Score="36" Body="&lt;p&gt;Published as:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Scott, D. A Type-Theoretical Alternative to ISWIM, CUCH, OWHY.&#xA;   Theoretical Computer Science, vol. 121 (1993), pp. 411 - 440.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See also:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Scott, D. Some Reflections on Strachey and his Work. in: A Special Issue&#xA;   Dedicated to Christopher Strachey, edited by O. Danvy and&#xA;   C. Talcott.  Higer-Order and Symbolic Computation, vol. 13 (2000),&#xA;   pp. 103-114.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;and:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Gordon D. Plotkin, Set-theoretical and other elementary models of the λ-calculus,&#xA;   Theoretical Computer Science, vol. 121 (1993), pp. 351-409.&lt;/p&gt;&#xA;" OwnerUserId="5545" LastActivityDate="2011-06-10T18:04:13.110" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="6962" PostTypeId="1" CreationDate="2011-06-11T00:52:58.570" Score="0" ViewCount="187" Body="&lt;p&gt;I've got a specific problem, but I'm not sure where to look to solve it:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the context of my application, there are critical services, non-critical services, and agents which provide exactly one critical service and one or more non-critical services. I must choose from the collection of all agents (with replacement) a finite number of agents, such that each critical service is provided by a certain number of agents. This is straightforward. However, I have the secondary objective that I would like the set I choose to also provide as many different non-critical services as possible.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm sure this can be done via SAT, but I don't really want to mess around with NP-complete solvers. The goal for either kind (critical or not) of the services could be constructed as a network flow problem and solved in a straightforward way, but I can't seem to merge them, even as a multi-commodity network flow.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Has anyone seen this problem before, or something embarrassingly similar? I'd really appreciate a pointer to where I could start looking for solutions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;-- David&lt;/p&gt;&#xA;" OwnerUserId="5546" LastActivityDate="2011-06-12T15:47:22.163" Title="Name this satisfiability problem?" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="6964" PostTypeId="1" CreationDate="2011-06-11T13:57:51.560" Score="4" ViewCount="278" Body="&lt;p&gt;I was trying to understand the underlying difficulty of coloring 3 colorable graphs with as least number of colors as possible. Though i am aware of hardness result of coloring it with 4 colors, i couldn't characterize these graphs much. My question is:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What are the different characteristics of 3 colorable graph? Also what makes them different from 4 colorable graphs (or others), apart from the fact the 3 colorable graphs may not necessarily have $K_4$ as minor whereas 4 colorable graphs will have?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I have tried to work on these but couldn't come with some argument of my own and the materials i got discussed algorithms like $n^{\epsilon}$-approximation through SDP which i have read but still i feel i am lacking the insight to the problem.&lt;/p&gt;&#xA;" OwnerUserId="4529" LastEditorUserId="1800" LastEditDate="2011-06-11T14:40:13.193" LastActivityDate="2011-06-11T17:03:03.913" Title="3 colorable graphs" Tags="&lt;ds.algorithms&gt;&lt;graph-algorithms&gt;&lt;approximation-algorithms&gt;&lt;graph-colouring&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6965" PostTypeId="2" ParentId="6964" CreationDate="2011-06-11T17:03:03.913" Score="4" Body="&lt;p&gt;A triangle free planar graph can be 3-colored in linear time. Here is the URL of a paper with this result: &lt;a href=&quot;http://people.math.gatech.edu/~thomas/PAP/lingrotpaper.pdf&quot; rel=&quot;nofollow&quot;&gt;http://people.math.gatech.edu/~thomas/PAP/lingrotpaper.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If triangles are allowed the problem of testing a graph for 3 colorability becomes NP hard. So the difficulty seems to come from the presence of 3 cycles. &lt;/p&gt;&#xA;" OwnerUserId="905" LastActivityDate="2011-06-11T17:03:03.913" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6966" PostTypeId="1" AcceptedAnswerId="6967" CreationDate="2011-06-11T18:02:09.907" Score="2" ViewCount="238" Body="&lt;p&gt;Hi. I have a problem but not sure if there is some literature on it or whether it has a standard name. Please let me know some reference from where I can begin.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given undirected graph along with some pairs of nodes $s_i$ and $t_i$, we want to connect as many pairs in the graph as possible such that paths are edge disjoint. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Please comment on approximation and hardness results if any.&lt;/p&gt;&#xA;" OwnerUserId="5153" LastEditorDisplayName="user5513" LastEditDate="2011-06-12T11:12:37.390" LastActivityDate="2011-06-12T19:23:44.897" Title="Connectivity Problem" Tags="&lt;ds.algorithms&gt;&lt;graph-algorithms&gt;&lt;approximation-algorithms&gt;&lt;approximation-hardness&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6967" PostTypeId="2" ParentId="6966" CreationDate="2011-06-11T18:12:50.487" Score="8" Body="&lt;p&gt;Maximize Edge Disjoint Paths (EDP)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem is NP Hard and here are some results:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) It accepts $O(\sqrt{m})$ approximation by Kleinberg in 96 in general graphs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) The above is tight for directed graphs (Guruswami et. al.).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;3) Inapproximation result by Andrews, Zhang : O($log ^{\frac{1}{2}-\epsilon}n$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;4) For planar graphs, Chekuri et. al. has found a O(1) approx with any edge being in O(1) paths. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I will update with references later but you can google out.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT: There is a recent paper by Chekuri in 06 which has improvised it to $O(\sqrt(n))$ in undirected graphs. You will get the above references in that paper. The paper is at &lt;/p&gt;&#xA;&#xA;&lt;p&gt;theoryofcomputing.org/articles/v002a007/v002a007.ps.gz&lt;/p&gt;&#xA;" OwnerUserId="4529" LastEditorUserId="4529" LastEditDate="2011-06-12T19:23:44.897" LastActivityDate="2011-06-12T19:23:44.897" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6968" PostTypeId="2" ParentId="6959" CreationDate="2011-06-11T20:39:19.263" Score="5" Body="&lt;p&gt;I think this article by  Ketan D. Mulmuley will answer at least question #1  (possibly 2) &lt;a href=&quot;http://ramakrishnadas.cs.uchicago.edu/gctexplicit.pdf&quot;&gt;On P vs. NP and Geometric Complexity Theory&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="5385" LastActivityDate="2011-06-11T20:39:19.263" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6970" PostTypeId="2" ParentId="6903" CreationDate="2011-06-11T23:12:00.937" Score="7" Body="&lt;p&gt;You can use an evolution of the Mersenne Twister algorithm developed by Saito and Matsumoto:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/SFMT/index.html&quot;&gt;SIMD-oriented Fast Mersenne Twister (SFMT)&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;SFMT is a Linear Feedbacked Shift Register (LFSR) generator that generates a 128-bit pseudorandom integer at one step. SFMT is designed with recent parallelism of modern CPUs, such as multi-stage pipelining and SIMD (e.g. 128-bit integer) instructions. It supports 32-bit and 64-bit integers, as well as double precision floating point as output. SFMT is much faster than MT, in most platforms. Not only the speed, but also the dimensions of equidistributions at v-bit precision are improved. In addition, recovery from 0-excess initial state is much faster. &lt;a href=&quot;http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/SFMT/M062821.pdf&quot;&gt;See Master's Thesis of Mutsuo Saito for detail&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The period varies from $2^{607}-1$ to $2^{216091}-1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Using one same pesudorandom number generator for generating multiple independent streams by changing the initial values may cause a problem (with negligibly small probability). To avoid the problem, using different parameters for each generation is preferred. This technique is called &lt;strong&gt;dynamic creation&lt;/strong&gt; of the MT parameters.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the SFMT source code you can find some examples of parameter sets (of variable periods) and an awk script to convert a CSV file to a compilable parameter set. There is also a  tool called &quot;&lt;a href=&quot;http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/DC/dc.html&quot;&gt;Dynamic Creation of Mersenne Twister generators&lt;/a&gt;&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The authors recently developed another modified version of the Mersenne Twister - &lt;a href=&quot;http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/MTGP/index.html&quot;&gt;Mersenne Twister for Graphic Processors&lt;/a&gt; - designed to run in GPUs and take advantage of their native parallel execution threads. The key feature is speed: $5 \times 10^7$ random integers every 4.6ms on a GeForce GTX 260.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The periods of generated sequence are $2^{11213}-1$ , $2^{23209}-1$ and $2^{44497}-1$ for 32-bit version, and $2^{23209}-1$, $2^{44497}-1$, $2^{110503}-1$ for 64-bit version. It It support 128 parameter sets for each period, in other words, it can generate 128 independent pseudorandom number sequences for each period. &lt;strong&gt;We have developed Dynamic Creator for MTGP, which generates more parameter sets&lt;/strong&gt; &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Indeed they provide a &lt;em&gt;MTGPDC tool&lt;/em&gt; to create up to $2^{32}$ parameter sets (i.e. independent streams).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The algorithm passes the main randomness tests like Diehard and NIST.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A preliminary paper is also availbale on arXiv: &lt;em&gt;&lt;a href=&quot;http://arxiv.org/abs/1005.4973&quot;&gt;A Variant of Mersenne Twister Suitable for Graphic Processors&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2011-06-17T14:46:53.123" LastActivityDate="2011-06-17T14:46:53.123" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="6972" PostTypeId="2" ParentId="6959" CreationDate="2011-06-12T01:01:00.193" Score="23" Body="&lt;p&gt;As pointed out by many others, much has already been said on many of these questions by Mulmuley, Regan, and others. I will offer here just a brief summary of what I think are some key points that haven't yet been mentioned in the comments.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;As to why GCT is considered plausibly capable of showing $P \neq NP$ many answers have already been given elsewhere and in the comments above, though I think no one has yet mentioned that it appears to avoid the known barriers (relativization, algebrization, natural proofs). As to its value - I think even if it takes us 100 years, we will learn something new about complexity along the way by studying it from this angle.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Some progress is being made on understanding the algebraic varieties, the representations, and the algorithmic questions that arise in GCT. The principal researchers I know of who have done work on this are (in no particular order): P. Burgisser, C. Ikenmeyer, M. Christandl, J. M. Landsberg, K. V. Subrahmanyan, J. Blasiak, L. Manivel, N. Ressayre, J. Weyman, V. Popov, N. Kayal, S. Kumar, and of course K. Mulmuley and M. Sohoni.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;More concretely, Burgisser and Ikenmeyer just presented (STOC 2011) some modest lower bounds on matrix multiplication using the GCT approach ($n^2 + 2$, compared to the currently best known $\frac{3}{2}n^2 +O(n)$). Although these lower bounds are not new bounds, they at least give some proof-of-concept, in that the representation-theoretic objects hypothesized to exist in GCT do exist for these modest lower bounds on this model problem. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;N. Kayal has a couple papers on the algorithmic question of testing when one polynomial is in the orbit of another or is a projection of another. He shows that in general these problems are NP-hard but that for special functions like permanent, determinant, and elementary symmetric polynomials, these problems are decidable in P. This is a step towards some of Mulmuley's conjectures (that certain harder problems - deciding orbit &lt;em&gt;closure&lt;/em&gt; - are in P for special functions such as determinant). &lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;I don't have much more specific to say on this than the answer to 2.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;As far as I know there has not been &lt;em&gt;fundamental&lt;/em&gt; criticism, in the sense that I have not seen any criticism which really discredits the program in any way. There has certainly been discussion about why such techniques should be necessary, the value of the program given the long time horizons expected, etc., but I would characterize these more as healthy discussion than fundamental criticism.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="129" LastActivityDate="2011-06-12T01:01:00.193" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6974" PostTypeId="1" AcceptedAnswerId="6986" CreationDate="2011-06-12T12:35:55.100" Score="5" ViewCount="4338" Body="&lt;p&gt;Consider an connected undirected graph $G$ with $n$ vertices and maximum degree $\Delta$. Assume $G$ contains a maximum independent set of size $k$. Is there any relation between the chromatic number $\chi(G)$ and $k$? Say of the form $\chi(G)\le f(\Delta)\frac{n}{k}$ for some function $f$?&lt;/p&gt;&#xA;" OwnerUserId="553" LastEditorUserId="553" LastEditDate="2011-06-13T13:01:30.140" LastActivityDate="2015-04-18T08:15:16.723" Title="Any relation between the size of maximum independent set and the chromatic number on graph of bounded degree?" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;graph-colouring&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="6975" PostTypeId="1" CreationDate="2011-06-12T12:24:53.523" Score="-1" ViewCount="330" Body="&lt;p&gt;I have two questions.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;My book: &quot;We must ensure that the total amortized cost of a sequence of operations provides an upper bound on the total actual cost of the sequence. This must hold for all sequences of operations.&quot;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;My question is: &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Why is this important? (I know it maybe stupid, but I really would like to understand this.)&lt;/li&gt;&#xA;&lt;li&gt;And does amortized analysis only include sequences of data-structure operations?&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerDisplayName="Guestt" LastEditorUserId="1800" LastEditDate="2011-06-12T16:46:19.240" LastActivityDate="2011-06-12T17:02:29.000" Title="Amortized Analysis" Tags="&lt;ds.algorithms&gt;&lt;ds.data-structures&gt;&lt;amortized-analysis&gt;" AnswerCount="1" CommentCount="1" ClosedDate="2011-06-13T11:33:09.637" ContentLicense="CC BY-SA 3.0" />
  <row Id="6978" PostTypeId="2" ParentId="6962" CreationDate="2011-06-12T15:47:22.163" Score="2" Body="&lt;p&gt;Let $k$ be the finite number of agents you're allowed to choose. If there are no critical services, finding the set of $k$ agents that maximize the number of non-critical services provided is equivalent to Max-$k$-Cover, which can't be approximated better than $1-1/e$ unless P=NP. So for an exact solution, you'll have to use something capable of solving NP-hard problems.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you'd be happy with an approximation, you're in luck. The constraint that you have to choose $k$ agents such that there are sufficiently many of them providing each service is a matroid constraint. &lt;a href=&quot;http://www.google.com/url?sa=t&amp;amp;source=web&amp;amp;cd=1&amp;amp;ved=0CBsQFjAA&amp;amp;url=http://www.cs.uiuc.edu/~chekuri/papers/submod_max.pdf&amp;amp;rct=j&amp;amp;q=maximizing%20a%20submodular%20function%20under%20matroid%20constraints&amp;amp;ei=-dT0TenSBcTiiALE9ciCBw&amp;amp;usg=AFQjCNFyszXBfqqx-5JpRg2PvBFYjzsMsg&amp;amp;cad=rja&quot; rel=&quot;nofollow&quot;&gt;This paper&lt;/a&gt; shows how to achieve a $1-1/e$ approximation on set cover problems under a matroid constraint.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you want something simpler to implement, the matroid greedy algorithm gives a $1/2$ approximation on submodular set functions. So you just need to repeatedly choose the agent that provides the most new non-critical services, after at each step removing from consideration any agent whose choice would prevent you from providing enough of each critical service before reaching $k$ agents. If each agent provides unique non-critical services, you're just maximizing a weight function over a matroid, so the greedy algorithm gives an exact solution.&lt;/p&gt;&#xA;" OwnerUserId="1560" LastActivityDate="2011-06-12T15:47:22.163" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="6979" PostTypeId="2" ParentId="6975" CreationDate="2011-06-12T16:56:11.047" Score="3" Body="&lt;p&gt;I am again restating what has been said.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The amortized analysis formally introduced by Robert Tarjan involves considering the whole sequence of operation throughout the algorithm. The analysis is based on a simple practical phenomenon that when we run any algorithm there are some operations which are cheap and some are costly but overall the costly operations do not force the algorithm to perform very badly. There is simple charging argument involved that there are enough cheap operations that account for the extra cost paid for the costly operations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An easy example includes when you are simulating a queue using two stacks.&#xA;A little involved analysis comes in disjoint set union problem using path compression which has inverse ackermann funtion complexity on an average.   &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is important to note that it is not same as average case complexity analysis or the probabilistic analysis. In this we consider the worst case analysis of the algorithm as a whole (instead of each operation separately). Now since we are talking of worst case complexity, the analysis becomes important to prove the algorithm efficiency as the algorithm's performance will be upper bounded by the amortized complexity. However if we do take each operation's worst case analysis separately then our analysis might be quite loose as a whole.&lt;/p&gt;&#xA;" OwnerUserId="4529" LastEditorUserId="4529" LastEditDate="2011-06-12T17:02:29.000" LastActivityDate="2011-06-12T17:02:29.000" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="6981" PostTypeId="1" CreationDate="2011-06-12T22:25:25.433" Score="5" ViewCount="546" Body="&lt;p&gt;I have Googled myself to death, but have been unable to find the following articles:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Breen, E., Monro, D., 1994. An evaluation of priority queues for &#xA;mathematical morphology.&lt;/li&gt;&#xA;&lt;li&gt;R. Beare and H. Talbot., 1999 Exact seeded region growing for image &#xA;segmentation.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;These articles are well known, important and often cited by others, but they seem to be impossible to find. Does anyone know where I could find these or maybe someone could point me in the right direction?&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;More generally,&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What should I do when I cannot find an online copy of an article?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="5561" LastEditorUserId="5385" LastEditDate="2011-09-06T04:42:32.877" LastActivityDate="2011-09-06T04:42:32.877" Title="How can I obtain famous articles which are not available online?" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;soft-question&gt;&lt;research-practice&gt;" AnswerCount="2" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="6982" PostTypeId="1" CreationDate="2011-06-12T22:55:21.427" Score="6" ViewCount="209" Body="&lt;p&gt;What is the best known lowerbound for the worst case complexity of in-situ permutation (also called in-place rearrangement)? Has there been any reported progress after the 1970's article by Knuth (which also appears as Chapter 1 of his book &quot;Selected Papers on Analysis of Algorithms&quot;)?&lt;/p&gt;&#xA;" OwnerUserId="173" LastActivityDate="2011-06-12T22:55:21.427" Title="Lowerbounds for in-situ permutation" Tags="&lt;ds.algorithms&gt;&lt;lower-bounds&gt;&lt;permutations&gt;" AnswerCount="0" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6983" PostTypeId="2" ParentId="6954" CreationDate="2011-06-13T02:42:35.547" Score="7" Body="&lt;p&gt;Yes it is possible. We could use the notion of surface configurations; they were introduced by Cook a long time back.  With this it should be  quite easy to get a version of pumping lemma out. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;As to surface configurations, almost any paper on LogCFL should carry its definition. Here is a &lt;a href=&quot;http://eccc.hpi-web.de/report/2010/158/revision/1/download/&quot;&gt;recent paper&lt;/a&gt; and here is a &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.107.9170&amp;amp;rep=rep1&amp;amp;type=pdf&quot;&gt;thesis&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Maybe someone more energetic can spell out the details!&lt;/p&gt;&#xA;" OwnerUserId="1449" LastActivityDate="2011-06-13T02:42:35.547" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6985" PostTypeId="2" ParentId="6958" CreationDate="2011-06-13T10:51:56.847" Score="6" Body="&lt;p&gt;In Definition 2.1 of &lt;a href=&quot;http://www.math.unipd.it/~baldan/Papers/Soft-copy-pdf/aes-ic.pdf&quot; rel=&quot;nofollow&quot;&gt;Contextual Petri Nets, Asymmetric Event Structures, and Processes&lt;/a&gt;, Baldan, Corradini and Montanari are working in the setting of &lt;em&gt;prime event structures&lt;/em&gt;, which consist of a set of events $E$ along with binary relations $\#$ and $\le$ on $E$, known as the &lt;em&gt;conflict&lt;/em&gt; and &lt;em&gt;causality&lt;/em&gt; relations, respectively. This is the close to what is going on in your your setting. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In this context, they state that the relation $\#$ is &lt;em&gt;hereditary with respects to $\le$&lt;/em&gt; whenever for all $e_0,e_1,e_2\in E$, if $e_0\#e_1$ and $e_1\le e_2$, then $e_0\#e_2$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It does not make sense to say that a relation is hereditary on its own; it is always taken with respect to another relation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In general, saying that a relation is the least hereditary relation is not equivalent to saying that it is the least hereditary, symmetry, irreflexive relation, as the definition of hereditary does not imply that the relation is symmetric.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the specific case you mention, it does seem to be the case – after going into the details of the paper a little more – that one need not specify that the relation is symmetric or irreflexive, as these come for free from the context. Well spotted!!&lt;/p&gt;&#xA;" OwnerUserId="77" LastEditorUserId="77" LastEditDate="2011-06-14T11:22:28.300" LastActivityDate="2011-06-14T11:22:28.300" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="6986" PostTypeId="2" ParentId="6974" CreationDate="2011-06-13T12:05:24.483" Score="11" Body="&lt;p&gt;Obviously if $f(\Delta)=2\Delta$ then the bound holds.  However, I doubt this is what you meant.  Perhaps you meant $\chi(G) \leq f(\frac n k)$, in which case the answer is &lt;em&gt;no&lt;/em&gt;, there is no such function.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $\alpha$ be the size of a maximum independent set in $G$.  Then it is easy to see that the fractional chromatic number satisfies the bound $\chi_f(G)\geq \frac n \alpha$.  One such example is the Kneser graph $K_{kb:b}$ for fixed integers $k$ and $b$.  This graph has fractional chromatic number $k = \frac n\alpha$, and chromatic number $(k-2)b+2$.  So for fixed $k$ and large $b$ the answer is no.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(See Section 3.1 of my thesis for more details. &lt;a href=&quot;http://www.columbia.edu/~ak3074/papers/phdthesis-compact.pdf&quot;&gt;http://www.columbia.edu/~ak3074/papers/phdthesis-compact.pdf&lt;/a&gt;)&lt;/p&gt;&#xA;" OwnerUserId="1929" LastActivityDate="2011-06-13T12:05:24.483" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="6990" PostTypeId="1" CreationDate="2011-06-13T15:06:18.930" Score="3" ViewCount="204" Body="&lt;p&gt;Let $G$ and $H$ be graphs with the following relationship: for some $k$, after you perform at least $k$ arbitrary subdivisions of the edges of $G$ (or the edges produced through subdivision), $H$ must be a minor. What do you call the relationship between $G$ and $H$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, consider a claw with each edge subdivided once and a claw with one edge subdivided twice. You can subdivide any edge of the former to produce a graph for which the latter is a minor $(k = 1)$. Is anyone writing about this or has it been given a name?&lt;/p&gt;&#xA;" OwnerUserId="4014" LastEditorUserId="1800" LastEditDate="2011-06-15T07:11:34.063" LastActivityDate="2011-06-15T07:11:34.063" Title="Name for relationship where one graph is a minor usually implies another is?" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;terminology&gt;&lt;graph-minor&gt;" AnswerCount="0" CommentCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="6991" PostTypeId="1" CreationDate="2011-06-14T00:04:50.190" Score="10" ViewCount="906" Body="&lt;p&gt;&lt;strong&gt;NOTE&lt;/strong&gt;: The question has been restated in my answers: Assuming now that we can find the lowest sibling ancestors in $O(1)$ time, can the ANN be really performed in $O(\log n)$?&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Quadtrees are efficient spatial indices. I have a puzzle with the implementation of a nearest neighbour search in a compressed quadtree structure as described in [2]. (Without going into details, the search is going top-down along so-called equidistant squares, ending in the tail node of an equidistant path. In the attached image this might be any of the nodes in the southeast filled with points.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For their algorithm to work, one must maintain for each node -- a square with at least two non-empty quadrants -- pointers for each lowest (closest in the hierarchy) ancestor node in each of the four directions (north, west, south, east). These are indicated by the green arrows for the nodes' westward ancestor (the arrow points at the ancestor square's centre).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The paper claims these pointers can be updated in O(1) during point insertions and deletions. However when looking at the insertion of the green point, it seems I need to update any arbitrary number of pointers, in this case six of them.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am hoping for a trick to do this pointer update in constant time. Maybe there is a form of indirection that can be exploited?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/4JFXX.png&quot; alt=&quot;quadtree before (left) and after (right) point insertion&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The relevant section from the paper is 6.3, where it reads: &quot;if the path has bends, then in addition to the $log(c/ε)$ lowest ancestors of $q$, we should also consider for each of the $2^d$ directions the lowest ancestor of $q$ that goes towards that direction [...] Finding these squares from $q$ can be done in $O(1)$ time per square if we associate additional $2^d$ pointers to each square in $Q_0$ pointing to its closest ancestors for each direction. These pointers can also be updated in $O(1)$ time during an insertion or deletion of a point.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2]: Eppstein, D. and Goodrich, M.T. and Sun, J.Z., “The Skip Quadtree: A Simple Dynamic Data Structure for Multidimensional Data,” in Proceedings of the twenty-first annual symposium on Computational geometry, pp. 296—305, 2005.&lt;/p&gt;&#xA;" OwnerUserId="4757" LastEditorUserId="4757" LastEditDate="2013-04-20T16:58:12.860" LastActivityDate="2013-04-22T02:38:36.567" Title="Costs of performing approx. nearest neighbor search in a skip quadtree" Tags="&lt;ds.algorithms&gt;&lt;ds.data-structures&gt;&lt;range-searching&gt;&lt;near-neighbors&gt;" AnswerCount="4" CommentCount="4" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="6992" PostTypeId="2" ParentId="6932" CreationDate="2011-06-14T02:42:08.077" Score="2" Body="&lt;p&gt;The Von Neumann architecture relies heavily on memory. One of the biggest challenge in implementation of qubits being coherence time, that is, the time for which a qubit can maintain its state before being flipped, which it is very short. Also, every operation done in a quantum computer has to be reversible, this is not the case in classical computing architectures. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Most of the quantum algorithms designed thus far are ad hoc. There is not yet a &lt;em&gt;universal&lt;/em&gt; quantum computer, to which you give code and it executes it as in everyday computers. From a quantum algorithm, we can design a circuit that implements it, which can even depend on the size of the instance of the problem to be solved (i.e. you could have to initialize log(n) qubit registers for a problem of size n). This most likely implies that there will always be classical computers that will be required to run quantum computers as a subroutine.&lt;/p&gt;&#xA;" OwnerUserId="507" LastActivityDate="2011-06-14T02:42:08.077" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="6993" PostTypeId="2" ParentId="3540" CreationDate="2011-06-14T07:56:42.800" Score="7" Body="&lt;p&gt;&lt;a href=&quot;http://web4.cs.ucl.ac.uk/staff/D.Barber/pmwiki/pmwiki.php?n=Main.Textbook&quot;&gt;Bayesian Reasoning and Machine Learning&lt;/a&gt;, by David Barber.&lt;/p&gt;&#xA;" OwnerUserId="775" LastActivityDate="2011-06-14T07:56:42.800" CommentCount="0" CommunityOwnedDate="2011-06-14T07:56:42.800" ContentLicense="CC BY-SA 3.0" />
  <row Id="6994" PostTypeId="2" ParentId="3540" CreationDate="2011-06-14T09:08:44.670" Score="10" Body="&lt;p&gt;There is an online draft of the new book &quot;Iterative Methods in Combinatorial Optimization&quot; by Lap Chi Lau, R. Ravi, and Mohit Singh:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.cs.mcgill.ca/~mohit/book/book.html&quot;&gt;http://www.cs.mcgill.ca/~mohit/book/book.html&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is about the iterative rounding method: a new techhnique that can be used to design approximation algorithms for many problems.&lt;/p&gt;&#xA;" OwnerUserId="5427" LastActivityDate="2011-06-14T09:08:44.670" CommentCount="0" CommunityOwnedDate="2011-06-14T09:08:44.670" ContentLicense="CC BY-SA 3.0" />
  <row Id="6995" PostTypeId="1" CreationDate="2011-06-14T09:40:50.127" Score="10" ViewCount="493" Body="&lt;p&gt;It is well-known that for classical PAC learning, $\Omega(d/\varepsilon)$ examples are necessary in order to acheive an error bound of $\varepsilon$ w.h.p., where $d$ is the VC-dimension of the concept class.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is it known that $\Omega(d/\varepsilon^2)$ examples are needed in the agnostic case?&lt;/p&gt;&#xA;" OwnerUserId="1746" LastEditorUserId="3964" LastEditDate="2011-06-14T12:47:27.570" LastActivityDate="2018-10-24T19:35:44.773" Title="Agnostic PAC sampling lower bound" Tags="&lt;lg.learning&gt;&lt;machine-learning&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6996" PostTypeId="2" ParentId="3523" CreationDate="2011-06-14T09:43:08.410" Score="6" Body="&lt;p&gt;Alas, you can't force people to do what the protocol says they should do.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Even well-meaning people who intended to follow the protocol occasionally make mistakes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There seem to be at least 3 approaches:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;crypto theory: assume &quot;good&quot; agents always follow the protocol, while &quot;malicious&quot; agents try to subvert the protocol. Design the crypto protocol such that good agents get what they need, while malicious agents get nothing.&lt;/li&gt;&#xA;&lt;li&gt;game theory: assume every agent looks out only for his own individual interest. Use mechanism design to maximize the total benefit to everyone.&lt;/li&gt;&#xA;&lt;li&gt;distributed fault-tolerant network: assume every agent makes an occasional mistake, and a few 'bot agents spew out many maliciously-crafted messages. Detect and isolate the 'bot nodes until they are fixed; use error detection and correction (EDAC) to fix the occasional mistake; use &lt;a href=&quot;http://en.wikipedia.org/wiki/Convergence_%28routing%29&quot;&gt;convergent protocols&lt;/a&gt; that eventually settle into a useful state no matter what initial mis-information is stored in the routing tables.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;mechanism design&lt;/strong&gt;&#xA;In game theory, designing a situation (such as setting up the rules of an auction) such that people who are selfishly looking out only for their own individual interests end up doing what the designer wants them to do is called &lt;a href=&quot;http://en.wikipedia.org/wiki/Mechanism_design&quot;&gt;&quot;mechanism design&quot;&lt;/a&gt;.&#xA;In particular, using &lt;a href=&quot;http://en.wikipedia.org/wiki/Implementation_theory&quot;&gt;implementation theory&lt;/a&gt;, situations can be designed such that the final outcome maximizes the total benefit to everyone, avoiding poorly-designed situations such as the &quot;tragedy of the commons&quot; or &quot;prisoner's dilemma&quot; where things happen that are not in anyone's long-term interest.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some of the most robust such processes are designed to be &lt;a href=&quot;http://en.wikipedia.org/wiki/Incentive_compatibility&quot;&gt;incentive compatible&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The game theory typically makes the simplifying assumption that all relevant agents are &quot;rational&quot;.&#xA;In game theory, &quot;rational&quot; means that an agent prefers some outcomes to other outcomes, is willing and able to change his actions in a way that he expects (given the information available to him) will result in a more preferred outcome (his own narrow self-interest), and he is smart enough to realize that other rational agents will act similarly to try to obtain the outcome that is most preferred out of all the possible outcomes that might result from that choice of action.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A designer may temporarily make the simplifying assumption that all people only act according to their own narrow self-interest.&#xA;That assumption makes it easier to design a situation using implementation theory.&#xA;However, after the design is finished,&#xA;it doesn't matter whether people act according to their own narrow self-interest ( &quot;&lt;a href=&quot;http://en.wikipedia.org/wiki/Homo_economicus&quot;&gt;Homo economicus&lt;/a&gt;&quot; ),&#xA;or whether they are altruistic and want to maximize the total net benefit to everyone -- in a properly designed situation, both kinds of people make exactly the same choices and the final outcome maximizes the total benefit to everyone.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;convergent protocols&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;When designing a &lt;a href=&quot;http://en.wikipedia.org/wiki/Routing_protocol&quot;&gt;routing protocol&lt;/a&gt;,&#xA;each node in the network sends messages to its neighbors passing on information about what other nodes are reachable from that node.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Alas, occasionally these messages have errors.&#xA;Worse, sometimes a node is mis-configured and spews out many misleading and perhaps even maliciously-crafted messages.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Even though we humans know the message might be incorrect, we typically design the protocol so that a properly-functioning node trusts every message and stores the information in its routing table, and makes its decisions as if it believes that information to be entirely true.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Once some human turns off a bad node (or disconnects it from the network), we typically design the protocol to rapidly pass good information to flush out the corrupt information, and so quickly converge on a useful state.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;combined approaches&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Algorithmic_mechanism_design&quot;&gt;Algorithmic mechanism design&lt;/a&gt;&#xA;seems to try to combine the fault-tolerant network approach and the game-theory mechanism approach.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;@Yoichi Hirai and Aaron, thank you for pointing out some interesting attempts to combine game theory and cryptography.&lt;/p&gt;&#xA;" OwnerUserId="4423" LastActivityDate="2011-06-14T09:43:08.410" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="6999" PostTypeId="2" ParentId="6991" CreationDate="2011-06-14T17:22:42.913" Score="1" Body="&lt;p&gt;I also intuitively feel that one could live without those pointers, and as I need to persist all the nodes to harddisk at some point, any reductions in pointers is great.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My idea is roughly as follows: Apart from the best candidate point (leaf) $l_{best}$, we also keep track of the worst distance in each round, $r_{max}$. A worst distance ${dist}'(v,q)$ would be the maximum of the distances of all corners of a node $q$ to the query point $v$, no matter if $v$ is inside a square or outside.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A round is like this: If $P$ is empty, return the $l_{best}$, if there was any. Otherwise delete-min gives the current $p_0$ in $Q_0$. Initialize $r_{max}$ to $l_{best}$ (or set it to $\infty$ if no best candidate had been observed yet). First, test each non-empty child of $p_0$ in $Q_0$. If this child $q$ is a leaf, update the $l_{best}$ and $r_{max}$ if necessary. If $q$ is a node, calculate ${dist}'(q,v)$ and ${dist}(q,v)$, the latter being the best distance: Either zero, if $v$ lies inside $q$, or the shortest distance of all corners of $q$ to $v$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If ${dist}(q,v) &amp;gt; r_{max}$, forget $q$, otherwise keep it. If the number of nodes kept is $\geq 2$, push those nodes onto $P$. End of round.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Otherwise, proceed similar to the original search: Find $q$, the corresponding node to $p_0$ in the highest possible $Q_j$, and begin from there: Again, instead of asking for an equidistant child to descend to, test all the children according to the previous procedure, that is, skip those whose best distance exceeds $r_{max}$. If after this test a child remained, descend to it and repeat. If no child remained, go to $Q_{j-1}$ and repeat. If the test was performed in $Q_0$, the round is finished.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;At this moment, I know neither if this guarantees to find the nearest neighbour in every possible case, nor that it performs as good as the original algorithm. Also if the initialization of $r_{max}$ is sufficient or not. And what should be the priority in $P$ -- still the best distance?&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT&lt;/strong&gt; (April 2013)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have now conducted more experiments with a clarification of the above algorithm which uses a definition of 'equipotent' nodes instead of equistabbing nodes, based on the property that descending to such a node does not change the area covered by the current query shape of extent $r_{max}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Unfortunately, one can construct pathological cases (see image below; query point is bottom centre) where performance degrades to $O(\sqrt n)$ rounds.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/uLzqJ.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;" OwnerUserId="4757" LastEditorUserId="4757" LastEditDate="2013-04-19T15:36:04.150" LastActivityDate="2013-04-19T15:36:04.150" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7000" PostTypeId="2" ParentId="5014" CreationDate="2011-06-14T18:34:24.207" Score="12" Body="&lt;p&gt;A kind reviewer sent me a paper which proves exactly the same lower bound I do, in exactly the same way. The paper is&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;K. Ellul, B. Krawetz, J. Shallit, M.-w. Wang, &lt;em&gt;Regular expressions: new results and open problems&lt;/em&gt;, J. Autom. Lang. Comb. &lt;strong&gt;10&lt;/strong&gt; (2005), 407–432.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The result is Theorem 30 in the paper.&lt;/p&gt;&#xA;" OwnerUserId="40" LastActivityDate="2011-06-14T18:34:24.207" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7001" PostTypeId="1" CreationDate="2011-06-14T21:48:29.247" Score="4" ViewCount="262" Body="&lt;p&gt;Is there an algorithm to transform an arbitrary &lt;a href=&quot;http://en.wikipedia.org/wiki/Linear_programming#Integer_unknowns&quot; rel=&quot;nofollow&quot;&gt;Mixed Integer Programming&lt;/a&gt; problem into the corresponding formulation for &lt;a href=&quot;http://en.wikipedia.org/wiki/Particle_swarm_optimization&quot; rel=&quot;nofollow&quot;&gt;Particle Swarm Optimization&lt;/a&gt;? I have found some information related to the use of penalty functions to avoid violation of constraints, but not a well defined procedure to convert the objective function and each of the constraints as required for a PSO solution. &lt;/p&gt;&#xA;" OwnerUserId="4208" LastEditorUserId="186" LastEditDate="2011-06-19T15:31:30.580" LastActivityDate="2011-06-23T15:18:33.437" Title="Algorithm to transform an arbitrary MIP problem into the corresponding formulation for PSO" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;optimization&gt;&lt;linear-programming&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7002" PostTypeId="2" ParentId="3253" CreationDate="2011-06-15T00:30:12.860" Score="8" Body="&lt;p&gt;I've got to answer this question, even though it already has 30+ answers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://cs.nyu.edu/shasha/outofmind.html&quot; rel=&quot;noreferrer&quot;&gt;Out of Their Minds&lt;/a&gt; really is a must read for all computer scientists or people with a general interest in computer science. It introduces the reader to the life and work of 15 very important computer scientists, 8 of whom have won a Turing Award. I had read this book after it was recommended in my first university computer science course (almost two years ago now) and have since then skimmed through it again for 2 times. It is just brilliant.&lt;/p&gt;&#xA;" OwnerUserId="5548" LastActivityDate="2011-06-15T00:30:12.860" CommentCount="0" CommunityOwnedDate="2011-06-15T00:30:12.860" ContentLicense="CC BY-SA 3.0" />
  <row Id="7003" PostTypeId="1" CreationDate="2011-06-15T00:49:20.003" Score="2" ViewCount="886" Body="&lt;p&gt;I have gained some interest in quantum computing ever since I have been reading Scott Aaronson's blog. The fact that using this computational model, you would be able to factor integers in polynomial time just amazes me.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The only real knowledge I have about the model is stuff I picked up from the blog and from recent &lt;a href=&quot;http://www.youtube.com/watch?v=SczraSQE3MY&quot; rel=&quot;nofollow&quot;&gt;youtube&lt;/a&gt; video's where Aaronson discusses the subject. I have also recently &lt;a href=&quot;http://bigthink.com/ideas/38695&quot; rel=&quot;nofollow&quot;&gt;read&lt;/a&gt; that the first quantum computer was sold.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now I am wondering, and I hope this is not a stupid question, is quantum computing a turing complete computational model?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, how come there is an efficient factoring algorithm and not, say, an efficient algorithm for the graph isomorphism problem? What are the boundaries?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I hope answers will give me a more clear image of quantum computing.&lt;/p&gt;&#xA;" OwnerUserId="5548" LastEditorUserId="186" LastEditDate="2011-06-15T00:57:38.677" LastActivityDate="2011-06-15T00:57:38.677" Title="Are quantum computers turing complete?" Tags="&lt;computability&gt;&lt;quantum-computing&gt;" AnswerCount="0" CommentCount="5" ClosedDate="2011-06-15T00:57:54.200" ContentLicense="CC BY-SA 3.0" />
  <row Id="7004" PostTypeId="1" AcceptedAnswerId="7008" CreationDate="2011-06-15T05:43:40.987" Score="4" ViewCount="733" Body="&lt;p&gt;To put it straight - are qubits fermions, bosons or else?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, the Bell states that are frequently used in quantum computations have different symmetry (00 + 11 is symmetric, 10 - 01 is antisymmetric). Indistinguishable physical particles in a real world are either bosons (symmetric) or fermions (antisymmetric), not both.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Should we take into account permutation symmetry while discussing multiple qubit states?&lt;/p&gt;&#xA;" OwnerUserId="5579" LastEditorUserId="5579" LastEditDate="2011-06-15T06:07:37.527" LastActivityDate="2011-06-15T08:35:26.377" Title="Qubits and permutation symmetry" Tags="&lt;quantum-computing&gt;" AnswerCount="1" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="7005" PostTypeId="1" AcceptedAnswerId="7007" CreationDate="2011-06-15T06:22:33.653" Score="2" ViewCount="150" Body="&lt;p&gt;Suppose you are given an $n$-dimensional simplex&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;S = [ 0 1 ... n ]&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;which for the time being we think of as an ascending array of numbers from $0$ to $n$. Given $1 \leq k \leq n$, how can we enumerate the $k$-faces of S, i.e. the $k$-dimensional subsimplices? - In less geometric words, we want a complete and multiples-free list of all $k$-sized strictly ascending sequences of numbers between in $\{ 0, \dots , n \}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The straight-forward algorithm is to create the list of all $k$-sized tuples of numbers between $0$ and $n$, and pop out those that are not strictly ascending or contain duplicates. This can be done in space and time $O(n^3)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But can we do better? We do not impose restrictions on a particular ordering of the output.&lt;/p&gt;&#xA;" OwnerUserId="4346" LastActivityDate="2011-06-15T07:53:09.113" Title="List the $k$-faces of an $n$-dimensional simplex" Tags="&lt;cg.comp-geom&gt;&lt;permutations&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="7007" PostTypeId="2" ParentId="7005" CreationDate="2011-06-15T07:53:09.113" Score="3" Body="&lt;p&gt;See chapter 3 of Nijenhuis and Wilf, &quot;&lt;a href=&quot;http://www.math.upenn.edu/~wilf/website/CombAlgDownld.html&quot; rel=&quot;nofollow&quot;&gt;Combinatorial Algorithms&lt;/a&gt;&quot; (the entire book is available free online and despite its age contains many useful algorithms).&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2011-06-15T07:53:09.113" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7008" PostTypeId="2" ParentId="7004" CreationDate="2011-06-15T08:35:26.377" Score="7" Body="&lt;p&gt;In general, a state of $n$ qubits is a state of $n$ distingushable particles. Eg. &#xA;$|01\rangle$ means that the first particle is in the state $|0\rangle$, and the second is in the state $|1\rangle$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;How can be elementary particles distinguishable? Place two particles in different places. Eg. two electrons are in the positions $x_1$ and $x_2$, respectively. (Or two photons in two consecutive pulses, one in each.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, you can make the qubits indistinguishable by imposing a permutation symmetry, i.e. symmetrization and antisymmetrization.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;And $n$ photons in the same place gives 'automatically' symmetrized state. &lt;/p&gt;&#xA;" OwnerUserId="5582" LastActivityDate="2011-06-15T08:35:26.377" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="7010" PostTypeId="1" CreationDate="2011-06-15T16:44:42.243" Score="9" ViewCount="1096" Body="&lt;p&gt;Chart parsers can be implemented based on Chomsky normal form or&#xA;directly based on production rules. Lets for the moment assume&#xA;we have a CYK chart parser that uses Chomsky normal form. The&#xA;binarization is not uniquely defined. Does this impact the &#xA;performance of the CYK chart parse. Can this be exploited to &#xA;improve the performance of a CYK chart parser?&lt;/p&gt;&#xA;" OwnerDisplayName="user4258" LastEditorUserId="186" LastEditDate="2011-10-21T14:34:06.173" LastActivityDate="2014-10-20T14:31:08.880" Title="Chomsky normal form method: CYK parser performance implications?" Tags="&lt;fl.formal-languages&gt;&lt;parsing&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="7011" PostTypeId="1" CreationDate="2011-06-15T16:51:55.207" Score="1" ViewCount="467" Body="&lt;p&gt;I've come to an interesting problem. Let's have a 2D scalar function F and make some assumptions on it:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;it has compact support (region where it is defined and non-zero)&lt;/li&gt;&#xA;&lt;li&gt;its support consists of at most one continuous region (not several parts)&lt;/li&gt;&#xA;&lt;li&gt;its support is continuous&lt;/li&gt;&#xA;&lt;li&gt;at the border of the support there there might be discontinuities (steep cliffs) of the function F&lt;/li&gt;&#xA;&lt;li&gt;the support might not be convex&lt;/li&gt;&#xA;&lt;li&gt;the support is subset of a finite rectangle A parametrizable as [0;1]^2 topologically equavalent to cylinder without caps (left and right sides are wrapped around)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;An example of such function might be an analogy to 2D box function where the support is hexagon-shaped, star-shaped or crescent-shaped.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We can also work with the characteristic function X of the F's support&#xA;(which indicates true iff the point is within the support).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem is to find an axis-oriented 2D bounding box (BB) of the support - either exact or approximate (slightly larger). The bounding box must contain the whole region and if possible should not miss any part of it. One goal is to make the bounding box embrace the support as tightly as possible. Second goal is to make the computation as fast as possible, even at the cost of geting just an slightly larger approximate bounding box.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also the computation will be performed many times in succession on functions of very similar support, just moving around and slightly changing their shape.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I've thought about the possible solutions to the problem, but still haven't found a solution which would be elegant and robust. The possibilities are:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(1)&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;sample the rectangle A with some random points&lt;/li&gt;&#xA;&lt;li&gt;mark each point with the characteristic function X as being either inside or outside the support&lt;/li&gt;&#xA;&lt;li&gt;sort the X and Y coordinates of the sampled points&lt;/li&gt;&#xA;&lt;li&gt;take the maximum outside X less or equal than the minimum inside X -&gt; left BB side&lt;/li&gt;&#xA;&lt;li&gt;take the minumum outside X greater or equal than the maximum inside X -&gt; right BB side&lt;/li&gt;&#xA;&lt;li&gt;(...and analogously for Y)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I'm not sure if this algorithm can guarantee that no parts of the support will be missed. It would probably converge to the right BB, but from the inside, not from outside.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We could always extend the computed BB by some percent, but it seems a bit ugly to me.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(2)&#xA;To save generating of some random points we might incrementally build the BB from inside and not generate any more random points inside the BB as their information is useless (they can't extend the BB).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(3)&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;find a &quot;seed&quot; which is inside the support&#xA;&lt;ul&gt;&#xA;&lt;li&gt;eg. generate some random points within rectangle A &lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;li&gt;go linearly or by binary searching in one direction to find the boundary of the support&lt;/li&gt;&#xA;&lt;li&gt;trace the boundary around and find minima and maxima in each coordinate&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;As the support might be non-convex the might be more than one extreme which would touch the bounding box.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(4)&#xA;If we assume that the support do not contain any slim parts going outside less than some size we could divide the rectangle into a raster and find the rasterized border eg. with contour tracing. The possible error caused by rasterization could be compensated by enlarging the resulting BB by a pixel or so.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This wouldn't be much efficient for larger supports.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(5)&#xA;When computing BB's of several similar functions in a sequence as the initial seed could be used the barycenter of the previous resulting BB, possibly shifted by gradient of this quantity.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What do you think about such a problem? Does anybody have an experience with something similar or could recommend a particular technique useful in this context. Any help is appreciated! Thank you very much!&lt;/p&gt;&#xA;" OwnerUserId="5585" LastEditorUserId="80" LastEditDate="2011-06-17T17:50:42.287" LastActivityDate="2011-06-17T17:50:42.287" Title="How to efficiently compute a bounding box of a 2D compact function support?" Tags="&lt;ds.algorithms&gt;&lt;cg.comp-geom&gt;" AnswerCount="0" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7012" PostTypeId="2" ParentId="6991" CreationDate="2011-06-15T17:41:57.760" Score="11" Body="&lt;p&gt;Like David, I don't know why Jonathan put in that remark about the 2^d pointers. They are not needed. As David mentioned above, the essential property is that when we are doing a point location to a leaf v in Q_0, it is sufficient to remember the sibling nodes (and their boxes) in the skip quadtree. When we process a box from P, we do a point location for the leaf box closest to our query point, inserting the sibling boxes as we go down. It sounds like this would be more or less the same as your answer. In addition, this procedure is very similar, for instance, to how approximate point location is done in the following paper:&#xA;Arya, Sunil and Mount, David M. and Netanyahu, Nathan S. and Silverman, Ruth and Wu, Angela Y., &quot;An optimal algorithm for approximate nearest neighbor searching fixed dimensions&quot;, JACM, 1998.&#xA;Indeed, the skip quadtree (without those extra pointers) satisfies their conditions (a)-(e) that allow for fast approximate nearest-neighbor searching.&lt;/p&gt;&#xA;" OwnerUserId="5589" LastActivityDate="2011-06-15T17:41:57.760" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="7013" PostTypeId="2" ParentId="2988" CreationDate="2011-06-15T21:28:52.453" Score="5" Body="&lt;p&gt;I'd like to clarify Aaron's response slightly. Nearly every agnostic algorithm (once again, except for anything that uses Gaussian elimination) can be made to work in the SQ model. Naturally, agnostic learning is harder than non-agnostic learning, but this is an independent question.&lt;/p&gt;&#xA;" OwnerUserId="5591" LastActivityDate="2011-06-15T21:28:52.453" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7014" PostTypeId="2" ParentId="2386" CreationDate="2011-06-15T21:44:19.207" Score="2" Body="&lt;p&gt;In the Algorithms in the Field workshop a month ago in DIMACS, Graham Cormode was arguing in favor of teaching sketching techniques from streaming algorithms to undergraduates. Moses Charikar said that they do teach them in Princeton, I think @Suresh Venkat also mentioned he teaches things like the Misra-Gries algorithm for heavy hitters. I think some basic streaming results would be great for high school students too: they rely on basic but important math tricks, the problem formulations are like puzzles, and the solutions feel like magic, and magic is a great way to inspire high school students. You can make sure to emphasize the dramatic difference between the scale of the problem and the amount of resources you can use. A silly example: suppose that you can ask every person entering or leaving JFK airport their zipcode. Can you keep track how many different zipcodes have been represented in JFK during month, only using a notepad?&lt;/p&gt;&#xA;" OwnerUserId="4896" LastActivityDate="2011-06-15T21:44:19.207" CommentCount="1" CommunityOwnedDate="2011-06-15T21:44:19.207" ContentLicense="CC BY-SA 3.0" />
  <row Id="7015" PostTypeId="1" AcceptedAnswerId="7019" CreationDate="2011-06-16T05:03:37.457" Score="9" ViewCount="319" Body="&lt;p&gt;I'm interesting in learning more about cache-oblivious algorithms and data structures, but there are so many papers out there that I honestly don't know where to start.  I've found Prokup's original thesis on the subject, which seems like a good starting point, but if there's a simple and accessible introduction to the subject I'd much rather start there.  Is there a standard &quot;go-to&quot; reference on the subject?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks!&lt;/p&gt;&#xA;" OwnerUserId="4354" LastEditorUserId="1800" LastEditDate="2011-06-16T05:38:43.887" LastActivityDate="2011-06-16T14:32:30.450" Title="Starting point for cache-oblivious algorithms?" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;cache-oblivious&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="7016" PostTypeId="2" ParentId="7015" CreationDate="2011-06-16T06:19:30.547" Score="6" Body="&lt;p&gt;I enjoyed the &lt;a href=&quot;http://www.cs.au.dk/~gerth/pub/cacheoblivious05.html&quot;&gt;chapter on cache-oblivious data structures&lt;/a&gt; in the Handbook of Data Structures and Applications.&lt;/p&gt;&#xA;" OwnerUserId="43" LastActivityDate="2011-06-16T06:19:30.547" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7017" PostTypeId="2" ParentId="2476" CreationDate="2011-06-16T10:40:11.207" Score="0" Body="&lt;p&gt;The difficulty of reverse-engineering the algorithm seems to depend on how much of the keyspace has already been expired.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Say the algorithm of Mr. X is very restricted, so there are (say) only 10,000 potentially valid keys.&#xA;If Mr. X only recently started this company, so there are very few expired keys -- and hence few &quot;false negatives&quot; -- then reverse-engineering the algorithm may be relatively easy.&#xA;If Mr. X has already expired 9,000 of the potentially valid keys, and so we have 9 out of 10 &quot;false negatives&quot;, then reverse-engineering the algorithm seems to be much more difficult.&#xA;And, of course, if Mr. X has already expired every potentially valid key except for the ones that Mr. Y and his collaborators already know, then the &quot;taciturn oracle&quot; will give him zero new information.&lt;/p&gt;&#xA;" OwnerUserId="4423" LastActivityDate="2011-06-16T10:40:11.207" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7018" PostTypeId="1" CreationDate="2011-06-16T13:02:22.557" Score="8" ViewCount="399" Body="&lt;p&gt;In the degree reduction step of Dinur's proof, the input graph $G$ is transformed into a graph $G&amp;#39;$ by replacing each vertex $v \in V(G)$ by a set of vertices, $cloud(v)$, such that $|cloud(v)| = degree_G(v)$, and imposing a degree d expander graph on $cloud(v)$ for all $v \in V(G)$. This makes $G&amp;#39;$ a d+1 regular graph, and the construction ensures that the gap reduces only by a constant factor. I was wondering what would happen if we impose a cycle on each cloud instead? I tried bounding the drop in the gap, but was not able to do so. So, does the proof break down at this step?&lt;/p&gt;&#xA;" OwnerDisplayName="user1694" LastEditorUserId="1800" LastEditDate="2011-06-16T15:49:11.837" LastActivityDate="2011-06-16T16:14:01.420" Title="Degree reduction step in Dinur's proof of the PCP theorem" Tags="&lt;cc.complexity-theory&gt;&lt;pcp&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7019" PostTypeId="2" ParentId="7015" CreationDate="2011-06-16T14:32:30.450" Score="7" Body="&lt;p&gt;I still find one of the &lt;a href=&quot;http://ieeexplore.ieee.org/iel5/6604/17631/00814600.pdf?arnumber=814600&quot;&gt;original articles&lt;/a&gt; (I could also find it in Google Scholar) quite interesting and clear... in this case it is not extremely &quot;scientific-y&quot;:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;M. Frigo, C.E. Leiserson, H. Prokop, and S. Ramachandran. Cache-oblivious algorithms. In Proceedings of the 40th IEEE Symposium on Foundations of Computer Science (FOCS 99), p.285-297. 1999. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, &lt;a href=&quot;http://curiousreef.com/class/introduction-to-algorithms-mit-604/lesson/15/&quot;&gt;here&lt;/a&gt; are Erik Demaine's video lectures on c-o algos, which are also very good.&lt;/p&gt;&#xA;" OwnerUserId="5599" LastActivityDate="2011-06-16T14:32:30.450" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7020" PostTypeId="2" ParentId="7018" CreationDate="2011-06-16T16:14:01.420" Score="14" Body="&lt;p&gt;It is essential to the construction to have an expander between the copies of a vertex (the &quot;cloud&quot; of the vertex).&#xA;Otherwise, you won't be able to argue that the adversary assigning values to the vertices is better off assigning those vertices the same value.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In particular, if instead of an expander you have a cycle, the prover can assign one half-cycle one value, and the other half-cycle another value. This way with good probability the verifier won't catch the inconsistency between the vertices, but you can't appeal to the soundness of the original graph to prove soundness for the new graph (it's like allowing the prover in the original graph to use two different assignments for the vertex).&lt;/p&gt;&#xA;" OwnerUserId="1621" LastActivityDate="2011-06-16T16:14:01.420" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="7021" PostTypeId="2" ParentId="2476" CreationDate="2011-06-16T17:50:59.047" Score="0" Body="&lt;p&gt;It appears that only finitely many valid passwords can in fact be used. If the password language is finite, then there is no hope (as in this case, all of the valid passwords may be used, in which case the oracle always returns FALSE). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Otherwise, simply restrict the learning process to sufficiently large samples. As this is a finite requirement, it does not change the complexity of the problem.&#xA;You can use an exponential strategy to search for $N$ for sufficiently large. Try learning on queries $&amp;gt; 2^n$; if the learning algorithms fails increment $n$.&lt;/p&gt;&#xA;" OwnerUserId="5538" LastActivityDate="2011-06-16T17:50:59.047" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7023" PostTypeId="1" AcceptedAnswerId="7024" CreationDate="2011-06-17T01:56:34.167" Score="7" ViewCount="309" Body="&lt;p&gt;Several NP-hard graph problems get easy if we consider &lt;a href=&quot;http://en.wikipedia.org/wiki/Interval_graph&quot;&gt;interval graphs&lt;/a&gt;. There is a greedy algorithm to color optimally an interval graph. Just sort the intervals according their left endpoints and color each interval with the last freed color.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Every coloring algorithm especially every efficient parallel algorithm I see, use the endpoints of intervals to get an optimal coloring. With &quot;efficient parallel&quot; I mean that the problem is in the complexity class NC. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is a possibility to use only the structure of the graph to color the interval graph but this uses a maximum matching in a bipartite graph which isn't known to be in NC.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there any efficient parallel algorithm that doesn't use the endpoints of the intervals and just uses the structure of the graph to color an interval graph?&lt;/p&gt;&#xA;" OwnerUserId="2517" LastEditorUserId="1800" LastEditDate="2011-06-17T02:37:41.220" LastActivityDate="2011-06-17T02:37:41.220" Title="Parallel algorithms to color interval graphs" Tags="&lt;ds.algorithms&gt;&lt;graph-algorithms&gt;&lt;dc.parallel-comp&gt;&lt;graph-colouring&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7024" PostTypeId="2" ParentId="7023" CreationDate="2011-06-17T02:36:42.250" Score="6" Body="&lt;p&gt;I'm not really familiar with the topic, but with some searching there are some results.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, &lt;a href=&quot;http://www.springerlink.com/content/y2246h381337w01t/&quot;&gt;Efficient parallel algorithms on interval graphs&lt;/a&gt; by Das and Chen, and &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/002001909390267D&quot;&gt;A simple optimal parallel algorithm for the minimum coloring problem on interval graphs&lt;/a&gt; by Yu and Yang both gave an algorithm with $O(\log n)$ time and $O(n)$ processors on the EREW PRAM model. Even for the chordal graphs (which is a superclass of the interval graphs) there is an algorithm with $O(\log^2 n)$ time and $O(n)$ processors on the CRCW PRAM model, in the paper &lt;a href=&quot;http://www.cs.brown.edu/research/pubs/pdfs/1996/Klein-1996-EPA.pdf&quot;&gt;Efficient parallel algorithms for chordal graphs&lt;/a&gt; by Klein. Maybe you can take a look at the papers and references, to make sure if there are any additional assumptions, like whether the interval representations are given or not.&lt;/p&gt;&#xA;" OwnerUserId="1800" LastActivityDate="2011-06-17T02:36:42.250" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7025" PostTypeId="2" ParentId="6735" CreationDate="2011-06-17T04:05:26.767" Score="22" Body="&lt;p&gt;To really understand the difference between LTL and CTL you have to study the semantics of both languages. LTL formulae denote properties that will be interpreted on each execution of a program. For each possible execution (a run), which can be see as a sequence of events or states on a line — and this is why it is named &quot;linear time&quot; — satisfiability is checked on the run with no possibility of switching to another run during the checking. On the other hand, CTL semantics checks a formula on all possible runs and will try either all possible runs (&lt;strong&gt;A&lt;/strong&gt; operator) or only one run (&lt;strong&gt;E&lt;/strong&gt; operator) when facing a branch. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In practice this means that some formulae of each language cannot be stated in the other language. For example, the reset property (an important reachability property for circuit design) states that there is always a &lt;em&gt;possibility&lt;/em&gt; that a state can be reached during a run, even if it is never actually reached (&lt;em&gt;AG EF reset&lt;/em&gt;). LTL can only state that the &lt;em&gt;reset&lt;/em&gt; state is actually reached and not that it can be reached. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, the LTL formula $\Diamond\Box s$ cannot be translated into CTL. This formula denotes the property of stability : in each execution of the program, &lt;em&gt;s&lt;/em&gt; will finally be true until the end of the program (or forever if the program &lt;em&gt;never&lt;/em&gt; stops). CTL can only provide a formula that is too strict (&lt;em&gt;AF AG s&lt;/em&gt;) or too permissive (&lt;em&gt;AF EG s&lt;/em&gt;). The second one is clearly wrong. It is not so straightforward for the first. But &lt;em&gt;AF AG s&lt;/em&gt; is erroneous. Consider a system that loops on &lt;em&gt;A1&lt;/em&gt;, can go from &lt;em&gt;A1&lt;/em&gt; to &lt;em&gt;B&lt;/em&gt; and then will go to &lt;em&gt;A2&lt;/em&gt; on the next move. Then the system will stay in &lt;em&gt;A2&lt;/em&gt; state forever. Then &quot;the system will finally stay in a &lt;em&gt;A&lt;/em&gt; state&quot; is a property of the type $\Diamond\Box s$. It is obvious that this property holds on the system. However, &lt;em&gt;AF AG s&lt;/em&gt; cannot capture this property since the opposite is true : there is a run in which the system will always be in the state from which a run finally goes in a non &lt;em&gt;A&lt;/em&gt; state.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I don't know if this answers to your question, but I would like to add some comments.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is a lot of discussion of the best logic to express properties for software verification... but the real debate is somewhere else. LTL can express important properties for software system modelling (fairness) when the CTL must have a new semantics (a new satisfiability relation) to express them. But CTL algorithms are usually more efficient and can use BDD-based algorithms. So... there is no best solution. Only two different approaches, so far.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One of the commenters suggests Vardi's paper &lt;a href=&quot;https://www.researchgate.net/profile/Moshe_Vardi/publication/225174169_Branching_vs_Linear_Time_Final_Showdown/links/0912f511f7ee781586000000.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;&quot;Branching versus Linear Time: Final Showdown&quot;&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="5608" LastEditorUserId="48200" LastEditDate="2018-01-12T09:22:29.857" LastActivityDate="2018-01-12T09:22:29.857" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="7026" PostTypeId="1" AcceptedAnswerId="7120" CreationDate="2011-06-17T04:37:22.737" Score="2" ViewCount="155" Body="&lt;p&gt;I'm interested in a data structure (let's call it a &lt;em&gt;DMV queue&lt;/em&gt;, or &lt;em&gt;DMV&lt;/em&gt; for short) over keys (say, strings) with the following operations:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;empty&lt;/strong&gt; is a DMV containing no keys.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;enqueue(q,k)&lt;/strong&gt; adds the key k to the back of the DMV q, unless k is already in q, in which case it does nothing.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;dequeue(q)&lt;/strong&gt; deletes the key at the front of the DMV q, if one exists, and returns it.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;delete(q,k)&lt;/strong&gt; removes the key k from the DMV q.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;depth(q,k)&lt;/strong&gt; returns an natural number indicating the &lt;em&gt;approximate&lt;/em&gt; number of keys between the key k and the front of the DMV q. Let $k_q$ denote the &lt;em&gt;exact&lt;/em&gt; number of keys between k and the front of q. Then there must be some c such that for all k and q, $k_q/c$ &amp;lt; depth(q,k) &amp;lt; $ck_q$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I think I know how to provide the queue operations in $\Theta(1)$ time and delete and depth in $\Theta(\lg n)$ time (all expected amortized). Is it possible to do better?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My proposed solution is as follows: Maintain a balanced tree with $O(1)$ operations at the ends. Nearly any finger tree will do. This tree will store the keys in queue order at its nodes. Also, annotate every non-spine node with its number of descendants.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Keep a hash table mapping keys to pointers to nodes in the tree.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To &lt;strong&gt;enqueue&lt;/strong&gt; a key k, add k to the back of the tree. This invalidates $O(1)$ node pointers and creates $O(1)$ new node pointers, so we need only perform $O(1)$ hash table operations. &lt;strong&gt;Dequeue&lt;/strong&gt; is similar.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To &lt;strong&gt;delete&lt;/strong&gt; a key, we look it up in the hash table and find its location in the tree, then delete it from the tree. This takes $O(\lg n)$ time in the tree, and invalidates $O(\lg n)$ slots in the hash table. We must also maintain non-spine node size annotations in the tree, but this also only takes logarithmic time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To find the &lt;strong&gt;depth&lt;/strong&gt; of a key, we first annotate the spine nodes of the tree with their number of descendants. This takes $O(\lg n)$ time. We then look up the key in the hash table and find its location in the tree. We then follow parent pointers until we reach the root, summing the annotations at left siblings. Note that this is the &lt;em&gt;exact&lt;/em&gt; depth.&lt;/p&gt;&#xA;" OwnerUserId="43" LastActivityDate="2011-07-23T05:31:11.323" Title="Keyed queues with depth queries and delete" Tags="&lt;ds.data-structures&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="7027" PostTypeId="1" AcceptedAnswerId="7039" CreationDate="2011-06-17T16:21:45.807" Score="15" ViewCount="19672" Body="&lt;p&gt;Lately I've been dealing with compression-related algorithms, and I was wondering which is &lt;strong&gt;the best compression ratio that can be achievable by lossless data compression.&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So far, the only source I could find on this topic was the Wikipedia:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Lossless compression of digitized data&#xA;  such as video, digitized film, and&#xA;  audio preserves all the information,&#xA;  but &lt;strong&gt;can rarely do much better than 1:2 &#xA;  compression&lt;/strong&gt; because of the intrinsic&#xA;  entropy of the data.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Unfortunately, &lt;a href=&quot;http://en.wikipedia.org/wiki/Data_compression_ratio&quot;&gt;Wikipedia's article&lt;/a&gt; doesn't contain a reference or citation to support this claim. I'm not a data-compression expert, so I'd appreciate any information you can provide on this subject, or if you could point me to a more reliable source than Wikipedia.&lt;/p&gt;&#xA;" OwnerUserId="5616" LastEditorUserId="1800" LastEditDate="2011-06-17T16:31:25.460" LastActivityDate="2011-06-19T04:17:36.747" Title="Which is the limit of lossless compression data? (if there exists such a limit)" Tags="&lt;it.information-theory&gt;&lt;data-streams&gt;" AnswerCount="5" CommentCount="8" FavoriteCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="7028" PostTypeId="2" ParentId="7027" CreationDate="2011-06-17T17:29:27.353" Score="17" Body="&lt;p&gt;Do you already know about &lt;a href=&quot;http://en.wikipedia.org/wiki/Shannon_noiseless_coding_theorem&quot;&gt;Shannon's noiseless coding theorem&lt;/a&gt;? This theorem establistes theoretical limits on lossless compression. Some of the comments from the others seem to assume you know about this theorem, but from the question, I think it may be the answer you are looking for.&lt;/p&gt;&#xA;" OwnerUserId="204" LastActivityDate="2011-06-17T17:29:27.353" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="7029" PostTypeId="1" AcceptedAnswerId="7032" CreationDate="2011-06-17T18:45:29.700" Score="4" ViewCount="933" Body="&lt;p&gt;I wonder why computer scientist have chosen recursor instead of iterator (or tail recursor if you like) in primitive recursion, given that function defined in terms of iteration behaves more efficiently than that in terms of recursion.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;EDIT:&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let us go further, do you think iteration would be better than recursion to complexity?&lt;/p&gt;&#xA;" OwnerUserId="656" LastEditorUserId="656" LastEditDate="2011-06-18T18:05:29.953" LastActivityDate="2011-06-18T18:05:29.953" Title="Why have computer scientists chosen recursor instead of iterator in primitive recursion?" Tags="&lt;cc.complexity-theory&gt;&lt;computability&gt;&lt;pl.programming-languages&gt;&lt;ho.history-overview&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7030" PostTypeId="1" AcceptedAnswerId="7038" CreationDate="2011-06-17T19:38:22.927" Score="6" ViewCount="791" Body="&lt;p&gt;I've looked in the &lt;a href=&quot;http://qwiki.stanford.edu/index.php/Complexity_Zoo%3aP#pp&quot;&gt;Zoo&lt;/a&gt; and it seems it is not true because $PH \subseteq P^{PP}$. Nonetheless I've passed by a paper that appears to have used a positive result. It was in the context that $f : \{0,1\}^* \mapsto \{0,1\}^*$ is a function, computable by probabilistic polynomial time oracle machine $M$ with access to an arbitrary oracle $A$. The authors say and I quote: &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Its also immediate that $G^f$ ≡&#xA;  $G^{M^A}$ is computable by a&#xA;  probabilistic polynomial time oracle&#xA;  machine with access to $A$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;where $G$ is a probabilistic polynomial time oracle machine.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;They do it again also for $S^{N^A,M^A}$, $S,N$ being other probabilistic polynomial time oracle machine.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Update: the paper is &quot;&lt;a href=&quot;http://springerlink.com/content/q3jp67gnpkhkn38q&quot;&gt;Notions of reducibility between cryptographic primitives&lt;/a&gt;&quot; - 2004. It was in the proof of Lemma 1 of the part that &quot;If there exists a fully-black-box reduction from a cryptographic primitive P to cryptographic primitive Q then there exists a relativizing reduction from P to Q as well.&quot; The definitions of fully-black-box and relativizing reduction is in the paper. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The question now, according to Lance Fortnow's answer that they are not equal, does that mean that this is a gap in the proof ?&lt;/p&gt;&#xA;" OwnerUserId="201" LastEditorUserId="201" LastEditDate="2011-06-18T19:06:02.303" LastActivityDate="2011-06-18T19:06:02.303" Title="Is $PP^{(PP^A)} = PP^A$ ?" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;oracles&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7031" PostTypeId="1" CreationDate="2011-06-18T01:29:49.893" Score="6" ViewCount="452" Body="&lt;p&gt;Have results from the &lt;a href=&quot;http://en.wikipedia.org/wiki/Calculus_of_variations&quot; rel=&quot;nofollow&quot;&gt;calculus of variations&lt;/a&gt; been used previously in TCS? &lt;/p&gt;&#xA;" OwnerUserId="15" LastEditorUserId="15" LastEditDate="2011-06-19T00:42:10.557" LastActivityDate="2011-06-19T00:42:10.557" Title="Use of calculus of variations" Tags="&lt;reference-request&gt;&lt;ho.history-overview&gt;" AnswerCount="0" CommentCount="4" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="7032" PostTypeId="2" ParentId="7029" CreationDate="2011-06-18T06:18:05.653" Score="30" Body="&lt;p&gt;Iterators of any kind are just a form of recursion, i.e., a thing &quot;using itself&quot;. For example, the basic equation governing the while loop is&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;code&gt;(while b do C)&lt;/code&gt;  =  &lt;code&gt;(if b then (C; while b do C))&lt;/code&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;You may think I am doing something exotic, but as soon as you try to explain what recursion and iteration mean, you will end up writing such equations. For example, people tend to explain the &lt;code&gt;while&lt;/code&gt; loop by saying things like &quot;and so on&quot; (imprecise) or &quot;do &lt;code&gt;C&lt;/code&gt; while &lt;code&gt;b&lt;/code&gt;&quot; (not explaining anything), or &quot;keep doing&quot; (circular explanation). The above equation tells you everything there is to know about the &lt;code&gt;while&lt;/code&gt; loop. Similar arguments can be made about other forms of iteration.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The above equation is &lt;em&gt;recursive&lt;/em&gt;, as the defined term appears on both sides. The general form is $$x = \phi(x),$$ which of course is just a general recursive definition of $x$. In this sense &lt;em&gt;iteration is just a special form of recursion&lt;/em&gt;. So as far as theory is concerned, there is pratically no difference between recursion and iteration, except that the latter is a special case of the former. And both concepts are special cases of fixed point equations, a very important and general mathematical concept. This answers why &quot;they chose recursor instead of iterator&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Your claim that iteration is more efficient than recursion is bogus. Modern programming languages are quite efficient at both of these tasks. In any case, it is not the job of humans to think about low-level details of execution of programs (maybe that was the case in the 1960's when the total amount of CPU power and memory on the planet was comparable to what kids carry in their pockets these days). We have better things to do as programmers, such as how to write programs most efficiently and how to make sure they are actually correct.&lt;/p&gt;&#xA;" OwnerUserId="705" LastEditorUserId="705" LastEditDate="2011-06-18T06:26:53.637" LastActivityDate="2011-06-18T06:26:53.637" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="7034" PostTypeId="2" ParentId="7027" CreationDate="2011-06-18T10:13:21.557" Score="7" Body="&lt;p&gt;(just an extension of my comment)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(As pointed out by Joe in his answer) Shannon - in his 1948 paper, &quot;&lt;a href=&quot;http://cm.bell-labs.com/cm/ms/what/shannonday/shannon1948.pdf&quot; rel=&quot;noreferrer&quot;&gt;A Mathematical Theory of Communication&lt;/a&gt;&quot;  formulated the theory of data compression and established that there is a fundamental limit to lossless data compression. This limit, called the entropy rate, is denoted by H. The exact value of H depends on the information source --- more specifically, the statistical nature of the source. It is possible to compress the source, in a lossless manner, with compression rate close to H. It is mathematically impossible to do better than H. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;However some class of images (for example medical grayscale images) without high-contrast edges and with smooth level transitions can be compressed (not so efficiently).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;JPEG-LS&lt;/strong&gt; and &lt;strong&gt;JPEG2000&lt;/strong&gt; seem to be the standards for lossless storage of medical images. See this table for a comparison of &lt;a href=&quot;http://www.accusoft.com/picmedxfeatures.htm&quot; rel=&quot;noreferrer&quot;&gt;compression ratios&lt;/a&gt; (the JPEG-LS achieves a slightly better compression).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Using &quot;lossless medical image compression&quot; I found the following articles that may help you:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A recent (2011) survey on medical image compression techniques: &lt;a href=&quot;http://www.icgst.com/gvip/Volume11/Issue1/P1151026155.pdf&quot; rel=&quot;noreferrer&quot;&gt;Two Dimensional Medical Image Compression Techniques - A Survey&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;... This paper presents overview of various compression techniques based&#xA;on DCT, DWT, ROI and Neural Networks for two dimensional (2D) still medical images.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A detailed presentation of two standard lossless compression algorithms: JPEG-LS and JPG2000 in lossless mode: &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.34.4801&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;noreferrer&quot;&gt;Lossless Compression of Grayscale Medical Images - Effectiveness of Traditional and State of the Art Approaches&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;... Three thousand, six hundred and seventy-nine (3,679) single frame grayscale images from multiple anatomical regions,modalities and vendors, were tested. ...&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another survey: &lt;a href=&quot;http://kanchan-iitg.tripod.com/sitebuildercontent/sitebuilderfiles/imagecompression.pdf&quot; rel=&quot;noreferrer&quot;&gt;A Survey of Contemporary Medical Image Compression Techniques&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Perhaps you are still wondering &quot;What the hell is the entropy of an image?&quot; ... OK, it's the &lt;em&gt;amount of information contained in the image&lt;/em&gt; ... but to better understand it, you should read something about the 3 phases usually used in &lt;strong&gt;image compression&lt;/strong&gt;:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;transformation (for example Discrete Wavelet Transformation)&lt;/li&gt;&#xA;&lt;li&gt;quantization&lt;/li&gt;&#xA;&lt;li&gt;entropy encoding&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;You can use Google to search for a tutorial or book on Image compression (for example &lt;a href=&quot;http://www.debugmode.com/imagecmp/index.htm&quot; rel=&quot;noreferrer&quot;&gt;a quick tutorial&lt;/a&gt;), or try to watch an online technical video (for example &lt;a href=&quot;http://www.youtube.com/watch?v=SnstUsMJ4V4&quot; rel=&quot;noreferrer&quot;&gt;Lecture 16 - Introduction to Image and Video coding&lt;/a&gt;).&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2011-06-18T11:32:27.087" LastActivityDate="2011-06-18T11:32:27.087" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7035" PostTypeId="2" ParentId="7027" CreationDate="2011-06-18T11:41:09.093" Score="11" Body="&lt;p&gt;Compression is just an &lt;em&gt;opportunistic&lt;/em&gt; way of encoding things, and when asking for &quot;the best compression ratio that can be achievable by lossless data compression&quot;, you need to be more specific about the context of the compression: the compression ratio is the ratio between the size of the compression and the size of a &quot;raw&quot; encoding, but the size of the &quot;raw&quot; encoding depends of the hypothesis on your object (i.e. the size of its domain, or the &quot;size of the bag from which it comes&quot;). As a simplistic example, consider the task of encoding a positive integer $n&amp;gt;0$: &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;You might use only one bit, if $n$ is the only integer you will ever encode, and you need only to remember that you encoded it.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The common practical solution is to use 8 bits, if the only integers you will ever encode are all between 1 and 256 (generalize to 16, 32 and 64 bits if you want).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;If you do not have any hypothesis about the range in which falls the integer you will have to encode, a naive solution is to use $n+1$ bits ($n$ zeros followed by a one) to encode it in unary. This might not look yet as a compression, but it has the opportunistic aspect of compression: the smaller the value of $n$, the smaller the size of its unary encoding.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;A more serious, general purpose, encoding scheme of integers is the &lt;em&gt;gamma&lt;/em&gt; code: encode the value of $\lceil\log_2 n\rceil$ in unary using  $\lceil\log_2 n\rceil+1$ bits, followed by  $n$ in binary, using $\lceil\log_2 n\rceil-1$ (you do not need the leftmost bit, which is always one, since you already know the value of $\lceil\log_2 n\rceil$). This encoding uses in total $2\lceil\log_2 n\rceil-1$ bits, and is a useful compression of $n$, often use in practice. (Note that in the litterature you will find those results noted $\lg n=\max(1,\lceil\log_2 n\rceil)$ to make notations shorter.)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The gamma code is not &lt;em&gt;optimal&lt;/em&gt;, in the sense that there are other codes which use less space for arbitrarily many integers, and more for only a finite amount. A very good reading on the topic is &quot;An almost optimal algorithm for unbounded searching&quot; by Jon Louis Bentley and Andrew Chi-Chih Yao from 1976 (I like in particularly their link between the complexity of search algorithms and the size of integer encodings: I find it one of the most simple and beautiful TCS results I know). The bottom line is that $2\lceil\log_2 n\rceil-1$ bits is within a factor of two of the optimal, which most agree is enough in practice given the complexity of better solutions.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Yet, taking the &quot;opportunistic&quot; approach to its limit, there is an infinite number of compression schemes taking advantage of various hypotheses. One way to deal with this infinity of opportunistic encodings (i.e. compression scheme) is to require the encoding of the hypothesis itself, and to take into account the size of the encoding of the hypothesis in the total compression size. Formally, this corresponds to encode both the compressed data &lt;em&gt;and the decoder&lt;/em&gt;, or more generally to encode a program which, when executed, outputs the uncompressed object: the smallest size of such a program is called the &lt;em&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Kolmogorov_complexity&quot;&gt;Kolmogorov's complexity&lt;/a&gt;&lt;/em&gt; $K$. This is a very theoretical construct in the sense that, without a bound on the execution time of the program, $K$ is not computable. An easy workaround around this notion is given by &lt;a href=&quot;http://en.wikipedia.org/wiki/Leonid_Levin&quot;&gt;Levin&lt;/a&gt;'s self-delimiting programs, where you consider only programs with a bounded execution time (for instance, within a constant factor of the length of the original instance, which is a lower bound on the complexity of the algorithm which needs to write each symbol).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;There is a whole community working about Kolmogorov's complexity and its variants, and another community working on loss-less compression (the example on integers that I used has equivalent on many other data types), I barely scratched the surface, and others might add precisions (Kolmogorov is really not my specialty), but I hope that this might help you clarify your question, if not necessarily give you the answer you were hoping for :)&lt;/p&gt;&#xA;" OwnerUserId="191" LastEditorUserId="191" LastEditDate="2011-06-19T04:17:36.747" LastActivityDate="2011-06-19T04:17:36.747" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7036" PostTypeId="2" ParentId="7030" CreationDate="2011-06-18T14:17:35.810" Score="2" Body="&lt;p&gt;The question appears to be related to the question of whether there exists an oracle relative to which the counting hierarchy &lt;a href=&quot;http://qwiki.stanford.edu/index.php/Complexity_Zoo%3aC#ch&quot; rel=&quot;nofollow&quot;&gt;CH&lt;/a&gt; is infinite or not. This is an open problem according to the Zoo.&lt;/p&gt;&#xA;" OwnerUserId="121" LastActivityDate="2011-06-18T14:17:35.810" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="7037" PostTypeId="2" ParentId="7027" CreationDate="2011-06-18T15:08:35.817" Score="8" Body="&lt;p&gt;Think of a file as a string.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can never do better than the Kolmogorov complexity of a string (this is by the definition of Komogorov complexity).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Fix a string length. So now we're only looking at strings of length n.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Half of all such strings can be compressed by at most 1 bit. 1/4 of all strings can be compressed by at most 2 bits. 1/8 of all such strings can be compressed by at most 3 bits.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So what fraction of strings (images, files, etc.) can be compressed at the ratio of 2:1 -- very, very few. So why does compression ever work? Because almost all data that real people are actually trying to compress is highly structured -- it doesn't look like a random file. The more random looking the data, the harder to compress. They go hand in hand. Most strings look random.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To see this in action, generate a random file using some random process. I mean a really, really random file. Now try to compress it using your favorite compression algorithm. It will either stay the same size or get bigger, almost all of the time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the flip side, there are highly compressible strings. Take the following string:&#xA;100000..000 (1 followed by a million zeros). The description of it fits in the previous sentence, and a computer could reconstruct it from that description (or one very much like it). Yet that description is nowhere near a million digits long.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The fact is that strings with that property (of being highly compressible) are extremely rare among all possible strings. The secondary fact is that almost all human-generated data is super, super compressible because it is so structured.&lt;/p&gt;&#xA;" OwnerUserId="5622" LastActivityDate="2011-06-18T15:08:35.817" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7038" PostTypeId="2" ParentId="7030" CreationDate="2011-06-18T17:30:18.207" Score="12" Body="&lt;p&gt;Richard Beigel &lt;a href=&quot;http://www.springerlink.com/content/u57567564x383634/&quot; rel=&quot;nofollow&quot;&gt;gives an oracle&lt;/a&gt; $A$ where $P^{NP^A}\not\subseteq PP^A$ which immediately gives $PP^{PP^A}\neq PP^A$.&lt;/p&gt;&#xA;" OwnerUserId="550" LastActivityDate="2011-06-18T17:30:18.207" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7039" PostTypeId="2" ParentId="7027" CreationDate="2011-06-18T20:06:29.373" Score="28" Body="&lt;p&gt;I am not sure if anyone has yet explained why the magical number seems to be exactly 1:2 and not, for example, 1:1.1 or 1:20.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One reason is that in many typical cases &lt;em&gt;almost half of the digitised data is &lt;strong&gt;noise&lt;/em&gt;&lt;/strong&gt;, and noise (by definition) cannot be compressed.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I did a very simple experiment:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;I took a &lt;a href=&quot;http://en.wikipedia.org/wiki/Gray_card&quot; rel=&quot;noreferrer&quot;&gt;grey card&lt;/a&gt;. To a human eye, it looks like a plain, neutral piece of grey cardboard. In particular, there is &lt;strong&gt;no information&lt;/strong&gt;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;And then I took a normal scanner – exactly the kind of device that people might use to digitise their photos.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;I scanned the grey card. (Actually, I scanned the grey card together with a postcard. The postcard was there for sanity-checking so that I could make sure the scanner software does not do anything strange, such as automatically add contrast when it sees the featureless grey card.)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;I cropped a 1000x1000 pixel part of the grey card, and converted it to greyscale (8 bits per pixel).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;What we have now should be a fairly good example of what happens when you study a &lt;em&gt;featureless part of a scanned black &amp;amp; white photo&lt;/em&gt;, for example, clear sky. In principle, there should be exactly nothing to see.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, with a larger magnification, it actually looks like this:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/IOIux.png&quot; alt=&quot;30x30 crop, magnified by factor 10&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is no clearly visible pattern, but it does not have a uniform grey colour. Part of it is most likely caused by the imperfections of the grey card, but I would assume that most of it is simply noise produced by the scanner (thermal noise in the sensor cell, amplifier, A/D converter, etc.). Looks pretty much like Gaussian noise; here is the histogram (in &lt;em&gt;logarithmic&lt;/em&gt; scale):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/Kt00F.png&quot; alt=&quot;histogram&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now if we &lt;em&gt;assume&lt;/em&gt; that each pixel has its shade picked i.i.d. from this distribution, how much entropy do we have? My Python script told me that we have as much as &lt;strong&gt;3.3 bits of entropy per pixel&lt;/strong&gt;. And that's a lot of noise.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If this really was the case, it would imply that no matter which compression algorithm we use, the 1000x1000 pixel bitmap would be compressed, in the best case, into a 412500-byte file. And what happens in practice: I got a 432018-byte PNG file, pretty close.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;If we over-generalise slightly, it seems that no matter which black &amp;amp; white photos I scan with this scanner, I will get the sum of the following:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&quot;useful&quot; information (if any),&lt;/li&gt;&#xA;&lt;li&gt;noise, approx. 3 bits per pixel.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Now even if your compression algorithm squeezes the useful information into &amp;lt;&amp;lt; 1 bits per pixel, you will still have as much as 3 bits per pixel of incompressible noise. And the uncompressed version is 8 bits per pixel. So the compression ratio will be in the ballpark of 1:2, no matter what you do.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Another example, with an attempt to find over-idealised conditions:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;A modern DSLR camera, using the lowest sensitivity setting (least noise).&lt;/li&gt;&#xA;&lt;li&gt;An out-of-focus shot of a grey card (even if there was some visible information in the grey card, it would be blurred away).&lt;/li&gt;&#xA;&lt;li&gt;Conversion of the RAW file into a 8-bit greyscale image, without adding any contrast. I used typical settings in a commercial RAW converter. The converter tries to reduce noise by default. Moreover, we are saving the end result as an 8-bit file – we are, in essence, &lt;em&gt;throwing away the lowest-order bits&lt;/em&gt; of the raw sensor readings!&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;And what was the end result? It looks much better than what I got from the scanner; the noise is less pronounced, and there is exactly nothing to be seen. Nevertheless, the Gaussian noise is there:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/dmXqk.png&quot; alt=&quot;30x30 crop, magnified by factor 10&quot;&gt;&#xA;&lt;img src=&quot;https://i.stack.imgur.com/oudH2.png&quot; alt=&quot;histogram&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;And the entropy? &lt;strong&gt;2.7 bits per pixel&lt;/strong&gt;. File size in practice? 344923 bytes for 1M pixels. In a truly best-case scenario, with some cheating, we pushed the compression ratio to 1:3.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Of course all of this has exactly nothing to do with TCS research, but I think it is good to keep in mind what &lt;em&gt;really&lt;/em&gt; limits the compression of real-world digitised data. Advances in the design of fancier compression algorithms and raw CPU power is not going to help; if you want to save all the noise losslessly, you cannot do much better than 1:2.&lt;/p&gt;&#xA;" OwnerUserId="74" LastEditorUserId="74" LastEditDate="2011-06-18T21:05:44.633" LastActivityDate="2011-06-18T21:05:44.633" CommentCount="10" ContentLicense="CC BY-SA 3.0" />
  <row Id="7040" PostTypeId="2" ParentId="1295" CreationDate="2011-06-19T07:37:39.293" Score="7" Body="&lt;p&gt;The MBound Solver given here &lt;a href=&quot;http://www.cs.cornell.edu/~sabhar/&quot;&gt;http://www.cs.cornell.edu/~sabhar/&lt;/a&gt; can give model counts with probabilistic guarantees. It's much faster than enumerating all solutions.&lt;/p&gt;&#xA;" OwnerUserId="24" LastActivityDate="2011-06-19T07:37:39.293" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7042" PostTypeId="1" CreationDate="2011-06-19T11:17:00.867" Score="7" ViewCount="7410" Body="&lt;p&gt;I`m referring to the notion described here: &lt;a href=&quot;http://en.wikipedia.org/wiki/Spaghetti_sort&quot; rel=&quot;noreferrer&quot;&gt;http://en.wikipedia.org/wiki/Spaghetti_sort&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the analysis section the author admits that considering it to be O(n) requires the assumption that the act of identifying and then removing the longest spaghetti rod which&#xA;has stopped your hand from descending further is an O(1)  rather than an O(n) or O(logn) operation - this seems to me a rather unreasonable assumption especially if many rodes of relatively simillar height exist. &#xA;Alternatively it seems equivalent to assuming that one can pick the longest rode from a heap of rodes arbitrarily spread on a table at O(1) without going through the &quot;leveling&quot; procedure at all.&lt;/p&gt;&#xA;" OwnerUserId="5644" LastEditorUserId="5644" LastEditDate="2011-06-19T15:12:56.417" LastActivityDate="2015-06-09T15:25:03.120" Title="is &quot;spaghetti sort&quot; really O(n) (even as a thought experiment) ?" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;sorting&gt;" AnswerCount="5" CommentCount="2" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="7043" PostTypeId="1" AcceptedAnswerId="7045" CreationDate="2011-06-19T12:47:41.627" Score="11" ViewCount="384" Body="&lt;p&gt;In 1975, &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0022000076800438&quot; rel=&quot;nofollow noreferrer&quot;&gt;Miller has shown&lt;/a&gt; how to reduce the factorization of integer $N$ to finding the period $r$ of a function $f(x)=a^x\;\bmod\;N$ such that $f(x+r)=f(x)$ with some randomly chosen $a&amp;lt;N$. It is well known that Shor's algorithm can find $r$ efficiently on a quantum computer, whereas it is believed to be intractable for a classical computer to find $r$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question now is: Are there any known lower bounds on $r$ for random $N$? Are there any bounds on $r$ given $N=pq$ is chosen as in RSA? Clearly, $r$ must be $\Omega(\log(N))$ as otherwise one could just evaluate $f(x)$ on $O(\log(N))$ successive points to figure out $r$ classically. Would it suffice to break RSA if there was a classical factoring algorithm which only works under some assumption on the distribution of $r$, e.g. $r \in \Theta(N/\log(N))$ or $r \in \Theta(\sqrt{N})$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A presentation of Carl Pomerance on &quot;&lt;a href=&quot;http://www.math.dartmouth.edu/~carlp/PDF/ordertalk.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;The multiplicative order mod $n$ on average&lt;/a&gt;&quot; cites evidence that $r$ is $O(N/\log(N))$ on average over all $N$, yet I'm not sure whether a classical algorithm which can factor $N$ under the hypothesis of $r \in O(N/\log(N))$ would conclusively break RSA. Can $N$ be adverserially chosen to have $r \in O(N))$ or $r \in O(\sqrt{N})$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Note: There is a &lt;a href=&quot;https://cstheory.stackexchange.com/questions/6704/is-the-integer-factorization-problem-harder-than-rsa-factorization-n-pq&quot;&gt;related question&lt;/a&gt; on generic factoring vs. RSA factoring)&lt;/p&gt;&#xA;" OwnerUserId="121" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2011-06-19T20:53:53.643" Title="Lower bounds on the period in integer factorization?" Tags="&lt;cc.complexity-theory&gt;&lt;cr.crypto-security&gt;&lt;factoring&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="7044" PostTypeId="2" ParentId="7042" CreationDate="2011-06-19T13:26:04.163" Score="3" Body="&lt;p&gt;I disagree (i.e., I agree with Wikipedia). The leveling procedure assures that in order to remove the longest rod, you just need to lower your hand until you touch something. I can't see why this would take longer if there are more spaghetti, or if you touch more than one at once; of course, for larger amounts of rods, you would need larger hands, but I think that's a reasonable assumption in the quantum computing analogue.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, without leveling you would have to look at the spaghetti to pick to longest one; that of course takes much longer as the number of rods grows.&lt;/p&gt;&#xA;" OwnerUserId="3467" LastActivityDate="2011-06-19T13:26:04.163" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="7045" PostTypeId="2" ParentId="7043" CreationDate="2011-06-19T14:43:00.320" Score="17" Body="&lt;p&gt;If $N=pq$, the period $r$ will always be a divisor of $\phi(N)=\mathrm{lcm}(p-1,q-1)$. If you choose $p-1=2p&amp;#39;$ and $q-1=2q&amp;#39;$ for $p&amp;#39;,q&amp;#39;$ prime, then unless you are incredibly lucky, we will have $r \geq p&amp;#39;q&amp;#39; \approx N/4$. I also believe that we can efficiently find primes $p$ with $p=2p&amp;#39;+1$ by choosing candidates randomly and testing them (this is true if the events that $p$ and $p&amp;#39;$ are prime are roughly independent; I don't know whether this has been proven). Thus, by carefully choosing your primes, RSA will still be secure against attacks even with the additional hypothesis about easy factoring.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I suspect random numbers $N$ or random $N=pq$ are extremely unlikely to have $r \in O(\sqrt{N})$, but I don't have a proof of this offhand. The hypothesis $r\in O(\sqrt{N})$ is extremely strong, and I wouldn't be surprised if an efficient factoring algorithm were already known for this case.&lt;/p&gt;&#xA;" OwnerUserId="1677" LastActivityDate="2011-06-19T14:43:00.320" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7047" PostTypeId="1" AcceptedAnswerId="7054" CreationDate="2011-06-20T03:12:10.190" Score="4" ViewCount="522" Body="&lt;p&gt;I have a graph (say, about a million vertices) where the degree of every vertex is somewhat large (about 100 000). We want to find the shortest path between two vertices -- but we know the graph is such that there is a very small upper limit (say, 10) for the shortest path length. There are no edge weights (or consider them 1).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit: also, I probably need to run this several times on different pairs. What data structure could be used to speed this up?&lt;/p&gt;&#xA;" OwnerUserId="5630" LastEditorUserId="1800" LastEditDate="2011-06-20T03:24:38.797" LastActivityDate="2011-06-20T11:49:54.520" Title="Shortest Path Algorithm for large graph but short paths" Tags="&lt;ds.algorithms&gt;&lt;graph-algorithms&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="7049" PostTypeId="2" ParentId="7042" CreationDate="2011-06-20T05:45:10.613" Score="24" Body="&lt;p&gt;The folklore analysis of spaghetti sort &lt;em&gt;assumes&lt;/em&gt; a model where one can extract the longest noodle &lt;em&gt;in constant time&lt;/em&gt;, perhaps by lowering a horizontal plate (&quot;hand&quot;) over the vertical noodles until it stops, and then extracting the noddle touching the plate.  (Apparently the plate is pastamagnetic.)  Within this perfectly well-defined theoretical model, the analysis is clean and obviously correct.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So is the pastamagnetic-plate model reasonable?  For up to a few hundred strands of spaghetti, sure.  Beyond that, obviously not.  So should we make the model more reasonable by taking the physical costs of moving the plate, sensing collisions, or  choosing the right noodle?  What about the (nonzero!) physical cost of keeping all the noddles vertical (or at least parallel), and keeping the sensing plate and the table horizontal (or at least parallel to each other but not the noodles)?  Should we worry about the measuring process causing micro-fractures that change the exact length of the noddles, or the implication from quantum mechanics that there is no such thing as &quot;exact length&quot;?  Holy crap, is the spaghetti-sorting problem even well-defined?!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;No, this way lies madness.  The original theoretical analysis is predictive within the context for which the algorithm was designed — manually sorting a handful of pasta #8.  That the analysis does not generalize to significantly larger values of $n$ or other types of pasta does not make the analysis &quot;incorrect&quot;.  It merely limits its scope.&lt;/p&gt;&#xA;" OwnerUserId="111" LastActivityDate="2011-06-20T05:45:10.613" CommentCount="12" ContentLicense="CC BY-SA 3.0" />
  <row Id="7050" PostTypeId="2" ParentId="7047" CreationDate="2011-06-20T06:09:25.667" Score="1" Body="&lt;p&gt;Well, for example did you try sorting the list of outneighrs of each vertex according to their degree ? Sort them once and for all, then each time you do a BFS it will use this ordering, which may be a &quot;good enough&quot; heuristic.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I don't think the key lies in a data structure. I tried to optimise this kind of algorithm for a while, and it turns out that efficiency-speaking, storing the list of neighbors is a &quot;good data structure&quot; to compute BFS often.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In which language are you coding, and how is your graph structure implemented ? How much BFS do you want to run ? What is your current computing time ? How large is the graph in memory ? Is memory the key problem ? Do you compute BFS between random vertices, or do specific ones appear more often than others ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Nathann&lt;/p&gt;&#xA;" OwnerUserId="1209" LastActivityDate="2011-06-20T06:09:25.667" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7052" PostTypeId="2" ParentId="482" CreationDate="2011-06-20T09:49:09.400" Score="2" Body="&lt;p&gt;Besides his standard text with Chuang, Michael Nielsen has a series of video lectures on Youtube called &lt;a href=&quot;http://www.youtube.com/watch?v=X2q1PuI2RFI&amp;amp;feature=BFa&amp;amp;list=PL1826E60FD05B44E4&amp;amp;index=1&quot; rel=&quot;nofollow&quot;&gt;Quantum Computing for the Determined&lt;/a&gt; which so far gives an overview of the computational model. The videos are very watchable for anyone with a little understanding of computer science and linear algebra.&lt;/p&gt;&#xA;" OwnerUserId="2241" LastActivityDate="2011-06-20T09:49:09.400" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7053" PostTypeId="2" ParentId="6054" CreationDate="2011-06-20T10:18:21.043" Score="3" Body="&lt;p&gt;I wouldn't worry about some one stealing your work,&#xA;or sharing your credit.&#xA;If they're sharing your credit then it can be clearly indicated their role.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As to stealing your work:&#xA;&lt;em&gt;In the Old traditions of accadimia, claiming something as your intellectual property (copy right, patent etc) was considered &quot;Ungentlemanly&quot;.&lt;/em&gt;&#xA;&lt;br/&gt;The first example of a patented accademic result that comes to mind is RSA, and they were  aggressive when it came to defending it. (I would suggest reading into it's history).&#xA;Though I'm sure there are plenty of counter examples, JɛﬀE suggests one such: Newton v. Leibniz?&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Most Australian universities still uphold the tradition that an&#xA;  academic's work is performed for the greater public good, and that it&#xA;  is therefore necessary to donate back at least the copyright in the&#xA;  academic's scholarly work to the academic, so that the work may be&#xA;  freely disseminated.&quot; &lt;a href=&quot;http://deakin.edu.au/buslaw/law/dlr/docs/vol9-iss2/vol9-2-18.pdf&quot; rel=&quot;nofollow&quot;&gt;Source&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Source refereed to Australian Universities, but it is referencing to older international academic traditions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I suggest talking over your work with a professor your on good terms with.&#xA;If your work is novel or interesting then they'll be able to tell you, &#xA;and will help you get on the way to having it published.&#xA;You'll most likely have to credit them as checking your result, but honestly a paper getting published without having credited anyone with checking their result,&#xA;quiet likely has mistakes. (If I were a Journal editor, I wouldn't waste the time of the people I employ checking your work, if no one has checked it already. (would ask for resubmission once someone has validated it))&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you really must be paranoid, then my suggestion (and this is without any experience as to it's effectiveness)&#xA;is to attach a footer/appendix your paper, making it a statutory declaration,&#xA;declaring that it is your own work, as prepared by you alone by this date.&#xA;And then sign and date it in front of a valid witness under your countries law.&#xA;(The witness for stat dec normally include University Professors, doctors, post office workers, and about a dozen others, most of whom wouldn't be able to understand you paper.)&#xA;The purpose of the witness is not to validate the truth of your declaration, its to validate the &lt;strong&gt;date&lt;/strong&gt; you declare it.&#xA;This can be done even if your work is incomplete or wrong, to prove the date of you having a partial solution.&lt;/p&gt;&#xA;" OwnerUserId="5636" LastEditorUserId="5636" LastEditDate="2014-09-30T14:50:51.703" LastActivityDate="2014-09-30T14:50:51.703" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="7054" PostTypeId="2" ParentId="7047" CreationDate="2011-06-20T11:49:54.520" Score="5" Body="&lt;p&gt;Assuming that you’re using BFS — or, more likely, a &lt;a href=&quot;http://en.wikipedia.org/wiki/Bidirectional_search&quot; rel=&quot;nofollow&quot;&gt;bidirectional BFS&lt;/a&gt; — and that you have no guiding heuristic (for an A* search or the like), what you’d probably like to optimize is the time it takes to consider the neighbors of each newly discovered node. After all, if each node has 100&amp;nbsp;000 neighbors, but there are only about 1&amp;nbsp;000&amp;nbsp;000 nodes in total, most nodes will be irrelevant (i.e., already visited) &lt;em&gt;really&lt;/em&gt; fast.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The “normal” approach would be to have, say, adjacency lists for every node, and some global set data structure (e.g., a hash) for determining whether you’ve already seen a given node. This would keep the “already visited” checks fast, but you’d have to wade through lots of irrelevant neighbors.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One alternative would be to do it the other way around. Keep a global structure (like a linked list) that lets you iterate over the remaining relevant nodes (and remove the ones you visit), and then have a lookup-table for every node instead. If the node you’re looking at in the global list is found in the local lookup-table, you add it to your queue and remove it from the global list. That way, the number of potential nodes you’d look at would (probably) decrease quite a bit.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This approach would only help after a while, though; at least in the first iteration, it would be better to iterate over the neighbors of a given node, and to look them up in a global look-up table. You can do both, however…&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the local tables, you could use some compact (possibly &lt;a href=&quot;http://en.wikipedia.org/wiki/Perfect_hash_function&quot; rel=&quot;nofollow&quot;&gt;perfect&lt;/a&gt;) hash tables that would let you efficiently check for membership, as well as iterate over the neighbors in linear time. Or, if you’d like to keep things simple (probably a good idea in this case), just keep the neighbor IDs in a sorted array, and use bisection for lookup checks.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the global list/table you need something more, however. You’d like the structure to do several things:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Let you look up membership efficiently;&lt;/li&gt;&#xA;&lt;li&gt;Iterate over the members in linear time (as a function of the number of remaining members);&lt;/li&gt;&#xA;&lt;li&gt;Remove members efficiently; and&lt;/li&gt;&#xA;&lt;li&gt;Reset the table efficiently, for running multiple searches.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;I’m sure there are several ways of dealing with this, but one I’ve come up with for my current research code lets you do 1., 3. and 4. in constant time with a really small memory overhead. The structure assumes that every member is represented by an integer $0\ldots n-1$, and that you have two tables of size $n$ that can accomodate such integers; let's call these $\pi$ and $\pi^{-1}$. You can then use these to represent a &lt;em&gt;permutation&lt;/em&gt; of the members — as well as the inverse permutation. Basically, the inverse permutation $\pi^{-1}$ is simply an array of members (answering the question “Which member is in position $k$?”), while the permutation ($\pi$) gives you the location of any given member. In addition, you store the number of remanining members, $m$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Initially, you need to fill these two arrays so that $\pi = \pi^{-1} = \langle 0, 1, 2, \ldots, n-1\rangle$, as well as set $m=n$. To reset it, though, you only need to set $m=n$ (constant time).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Adding and removing elements only requires you to swap the given member into the position just inside/outside the “cutoff point” given by $m$ (updating both $\pi$ and $\pi^{-1}$), and then to increment or decrement $m$, as needed.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To make best use of this setup, you would only have to compare $m$ to size of the neighbor array of the current node in your BFS. Iterate over whichever is smaller, and do the lookups in the other one.&lt;/p&gt;&#xA;" OwnerUserId="901" LastActivityDate="2011-06-20T11:49:54.520" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="7056" PostTypeId="1" CreationDate="2011-06-20T15:08:14.847" Score="6" ViewCount="429" Body="&lt;p&gt;I have a question about binary strings with a certain property:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given an integer $n$-bit integer $p$, that is not a perfect power of $2$. Count the number of $(p+n-2)$-bit strings that have the property that they start with $\underbrace{00...01}_{n-bit}$&#xA;and end with $\underbrace{100...0}_{n-\mathrm{bit}}$ and each $n$-bit substring occurs exactly once. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;E.g., for $n=3$, $p=7$ there are $001 01 100$ and $001 10 100$, which are the only ones for the pair $(n,p)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Further examples are: $n=5$ and $p=29$: $00001 0001101001111011100101 10000$ &lt;/p&gt;&#xA;&#xA;&lt;p&gt;and $n=5$ and $p=19$: $00001 101011110010 10000$.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I searched for related work and found papers about incompressible strings and Kolmogorov complexity. However, they did not helped me out. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does there exists a combinatorial approach to count the number of solutions? Or is there an heuristic argument that gives a good approximation?&lt;/p&gt;&#xA;" OwnerUserId="5641" LastActivityDate="2011-06-20T18:08:03.530" Title="Number of strings with unique substrings" Tags="&lt;co.combinatorics&gt;&lt;string-search&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7057" PostTypeId="2" ParentId="7056" CreationDate="2011-06-20T18:08:03.530" Score="8" Body="&lt;p&gt;You mean that each nonzero n-bit substring occurs once, and the all-zero n-bit substring occurs no times, right? Essentially, what you are looking for is a &lt;a href=&quot;http://en.wikipedia.org/wiki/De_Bruijn_sequence&quot; rel=&quot;nofollow&quot;&gt;De Bruijn sequence&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The number of de Bruijn sequences should be in OEIS somewhere but I'm having trouble finding it. My guess is that it grows doubly exponentially, since it is the number of Hamiltonian cycles in an exponential sized graph (the de Bruijn graph) and graphs tend to have exponentially many such cycles when they have any.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2011-06-20T18:08:03.530" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7058" PostTypeId="1" AcceptedAnswerId="7075" CreationDate="2011-06-20T18:24:53.413" Score="10" ViewCount="483" Body="&lt;p&gt;I'm curious if someone could recommend some supplementary material for gaining a deeper understanding of the paper : &quot;&lt;a href=&quot;http://www.tau.ac.il/~tsirel/download/hadron.html&quot; rel=&quot;nofollow&quot;&gt;Some Results and Problems on Quantum Bell-Type Inequalities - Tsirelson&lt;/a&gt;&quot;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Specifically something that may elaborate a tad more on the geometric interpretation of Bell-Type inequalities. Perhaps a primer paper or relevant textbook that goes into more detail on these matters. I'd appreciate any/all feedback. Thanks again.    &lt;/p&gt;&#xA;" OwnerUserId="878" LastEditorUserId="7286" LastEditDate="2012-05-07T14:32:13.440" LastActivityDate="2012-05-07T14:32:13.440" Title="Quantum Bell-Type Inequalities" Tags="&lt;reference-request&gt;&lt;quantum-computing&gt;&lt;quantum-information&gt;" AnswerCount="4" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="7059" PostTypeId="1" CreationDate="2011-06-20T18:31:12.473" Score="20" ViewCount="1837" Body="&lt;p&gt;Five linked questions are asked, and a single integrated answer is hoped-for:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;ul&gt;&#xA;  &lt;li&gt;&lt;b&gt;Q1:&lt;/b&gt; Do there exist languages $L$ that are recognized &lt;strong&gt;solely&lt;/strong&gt; by those Turing machines in&amp;nbsp;$P$ whose &lt;a href=&quot;https://cstheory.stackexchange.com/questions/5004/are-runtime-bounds-in-p-decidable-answer-no/5006#5006&quot;&gt;runtime exponents are undecidable&lt;/a&gt;? &lt;/li&gt;&#xA;  &lt;li&gt;&lt;b&gt;Q2:&lt;/b&gt; Can examples of these Turing machines be finitely constructed? &lt;/li&gt;&#xA;  &lt;li&gt;&lt;b&gt;Q3:&lt;/b&gt; Can these Turing machines be concretely instantiated? (&lt;i&gt;e.g.&lt;/i&gt;, by oracles that &quot;guess&quot; them rather than finitely construct them).&lt;/li&gt;&#xA;  &lt;li&gt;&lt;b&gt;Q4:&lt;/b&gt; What other attributes of &lt;em&gt;P&lt;/em&gt; (besides runtime exponents) are presently known to be undecidable? For what attributes of $P$ is this question open?&lt;/li&gt;&#xA;  &lt;li&gt;&lt;b&gt;Q5:&lt;/b&gt; Do the undecidable attributes of $P$ pose an obstruction to &lt;a href=&quot;http://www.blogger.com/comment.g?blogID=3722233&amp;amp;postID=5334459752981812402&quot; rel=&quot;nofollow noreferrer&quot;&gt;the decidability of $P \ne NP$&lt;/a&gt;?&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Note carefully the word &quot;solely&quot; in &lt;strong&gt;Q1&lt;/strong&gt; (which excludes Lance Fortnow's suggested answer).&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Conclusions and Conversion to Community Wiki&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;The question asked, &quot;Do the undecidable attributes of P pose an obstruction to deciding P versus NP?&quot;, is open and believed to be difficult, as are numerous specific questions (like&amp;nbsp;Q1&amp;ndash;4 above) that are naturally associated to it.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Juris Hartmanis' 1978 monograph &lt;em&gt;Feasible Computations and Provable Complexity Properties&lt;/em&gt; provides a good entr&amp;eacute; into the literature and (apparently) there has been no review published since Hartmanis'.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;This class of questions is sufficiently unexplored that the challenge of finding rigorous proofs is intimately admixed with the challenge of choosing good starting definitions. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The thoughtful remarks and insightful proof sketches provided by Travis Service and Alex ten Brink are acknowledged and appreciated.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Because the question is open, and because it is being discussed on multiple mathematical weblog threads (&lt;a href=&quot;http://blog.computationalcomplexity.org/2011/06/i-am-conducing-new-poll-on-p-vs-np.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;1&lt;/a&gt;,&lt;a href=&quot;http://rjlipton.wordpress.com/2011/06/24/polls-and-predictions-and-pnp/&quot; rel=&quot;nofollow noreferrer&quot;&gt;2&lt;/a&gt;,&lt;a href=&quot;http://www.scottaaronson.com/blog/?p=686&quot; rel=&quot;nofollow noreferrer&quot;&gt;3&lt;/a&gt;,&lt;a href=&quot;http://www.scottaaronson.com/blog/?p=690&quot; rel=&quot;nofollow noreferrer&quot;&gt;4&lt;/a&gt;,&lt;a href=&quot;http://www.scottaaronson.com/blog/?p=697&quot; rel=&quot;nofollow noreferrer&quot;&gt;5&lt;/a&gt;,&lt;a href=&quot;http://rjlipton.wordpress.com/2011/07/04/getting-on-base-with-pnp/&quot; rel=&quot;nofollow noreferrer&quot;&gt;6&lt;/a&gt;), this question has been flagged for conversion to Community Wiki.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Update II and Summary&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have become aware that Juris Harmanis’ 1978 monograph &lt;a href=&quot;http://books.google.com/books?id=DTMrTZJH1NYC&quot; rel=&quot;nofollow noreferrer&quot;&gt;&lt;i&gt;Feasible Computations and Provable Complexity Properties&lt;/i&gt;&lt;/a&gt; can be read as an in-depth response to &lt;b&gt;Q1&amp;ndash;5&lt;/b&gt;. Moreover, the (excellent) &lt;b&gt;Q1&lt;/b&gt; and &lt;b&gt;Q4&lt;/b&gt; proof sketches provided below by &lt;a href=&quot;https://cstheory.stackexchange.com/questions/7059/do-the-undecidable-attributes-of-p-pose-an-obstruction-to-deciding-p-versus-np/7064#7064&quot;&gt;Travis Service&lt;/a&gt; and by &lt;a href=&quot;https://cstheory.stackexchange.com/questions/7059/do-the-undecidable-attributes-of-p-pose-an-obstruction-to-deciding-p-versus-np/7077#7077&quot;&gt;Alex ten Brink&lt;/a&gt; provide a modern affirmation and extension of Hartmanis' overall conclusions that:&lt;blockquote&gt;&lt;i&gt;Results about the complexity of computations change quite radically if we consider only properties of computations which can be proven formally&lt;/i&gt; (emphasis by Hartmanis)&amp;nbsp;... &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thus we should expect that the results about the optimality of all programs computing the same function as a given program will differ from the optimality results about all programs which can be formally proven to be equivalent to the given program.&amp;nbsp;... &lt;/p&gt;&#xA;&#xA;&lt;p&gt;We [should] consider the possibility that this famous problem [$P\overset{?}{=}NP$] may not be solvable in a formalized mathematical theory, such as set theory.&lt;/blockquote&gt;Eventually I hope to post, as a formal &lt;i&gt;TCS StackExchange&lt;/i&gt; &quot;answer&quot;, further quotations from Hartmanis' (remarkably foresighted) monograph.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's evident from both Hartmanis' monograph and from the answers provided by Travis and Alex, that &lt;b&gt;Q1&amp;ndash;5&lt;/b&gt; are considerably beyond the present state-of-the-art in complexity theory.  Moreover these questions/answers evidently are sufficiently subtle as to require careful definitional adjustments and justify monograph-length expositions&amp;nbsp;&amp;hellip; which I hope will not discourage people from posting further answers. :)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For further technical discussion, see Joel David Hamkins' answer on &lt;i&gt;MathOverflow&lt;/i&gt; to the question &lt;a href=&quot;https://mathoverflow.net/questions/48014/can-a-problem-be-simultaneously-polynomial-time-and-undecidable/48031#48031&quot;&gt;Can a problem be simultaneously polynomial time and undecidable?&lt;/a&gt; (recommended by Alex ten Brink). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If in Hartmanis’ monograph one substitutes for “computation of functions” the phrase “simulation of dynamics”, the result can be read as a treatise on the complexity-theoretic limits to systems engineering&amp;nbsp;&amp;hellip; this is the practical reason why we engineers care about these issues.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A contrasting opinion to Hartmanis' was recently voiced by Oded Goldreich in a &lt;a href=&quot;http://www.wisdom.weizmann.ac.il/~oded/on-cc.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;letter to the CACM editor&lt;/a&gt; titled &lt;em&gt;&quot;On Computational Complexity&quot;&lt;/em&gt;:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Unfortunately, we currently lack good theoretical answers to most natural questions regarding efficient computation. This is the case not because we ask the wrong questions, but rather because these questions are very hard.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;It is (of course) perfectly conceivable that both Hartmanis' and Goldreich's opinions will prove to be correct, for example, a formal proof of the undecidability of the separability of PvsNP could reasonably be regarded as validating both points-of-view.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Update I&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thoughtful comments (below) by Travis Service and Alex ten Brink suggest (in effect) that in &lt;strong&gt;Q1&lt;/strong&gt; the phrase &quot;undecidable&quot; is not synonymous with &quot;not verifiably decidable&quot; and that the answers to  &lt;strong&gt;Q2&amp;ndash;5&lt;/strong&gt; may depend upon this distinction.  It is not at all clear (to me) which definitional choice would lead to the strongest  theorems, and also, best capture our intuition of the class P.   Answers and comments that address this question are welcome.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A remark by Felix Klein in his &lt;em&gt;Elementary Mathematics from an Advanced Standpoint: Geometry&lt;/em&gt; (1939) comes to mind:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Another example of a concept which occurs with more or less precision in the naive perception of space, which we must add as a supplement to our system of geometry, is the &lt;em&gt;notion of an (arbitrary) curve&lt;/em&gt;.  Every person believes that he knows what a curve is until he has learned so much mathematics that the countless possible abnormalities confuse them.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;As with curves, so with the languages accepted by Turing machines in $P$&amp;nbsp;&amp;hellip; what once seemed (to me) like the simplest and most natural of all complexity classes now confuses me by the (countless?) unverifiable and/or undecidable attributes of its members.  The broad motivation in asking &lt;strong&gt;Q1&amp;ndash;5&lt;/strong&gt; was to find a path through this confusing thicket, but the answers given so far (by Travis Service and Alex ten Brink) have provided further grounds for confusion!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Klein's generation of mathematicians labored mightily to find good definitions for curves and other fundamental elements of set theory, geometry and analysis.  An elementary-level overview can be found in the Wikipedia discussion of the &lt;a href=&quot;http://en.wikipedia.org/wiki/Alexander_horned_sphere&quot; rel=&quot;nofollow noreferrer&quot;&gt;Alexander Horned Sphere&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;img src=&quot;https://i.stack.imgur.com/Z2mfM.png&quot; alt=&quot;Image of Alexander&amp;#39;s Horned Sphere&quot;&gt;&lt;br&gt;&#xA;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;i&gt;An embedding of a sphere in R3&lt;/i&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;During the 20th century, analysis of &quot;wild manifolds&quot; like the Alexander sphere helped clarify the distinctions between topological manifolds, piecewise-continuous manifolds, and differential manifolds.  Similarly in the 21st century, perhaps refinements of the definitions associated to $P$ will help tame $P$'s wild languages and wild Turing machines&amp;nbsp;&amp;hellip; although specifying suitable refinements will be no easy task.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Background&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;These linked questions arise from the &lt;i&gt;MathOverflow&lt;/i&gt; community wiki questions &quot;&lt;a href=&quot;https://mathoverflow.net/questions/11540/what-are-the-most-attractive-turing-undecidable-problems-in-mathematics&quot;&gt;What are the most attractive Turing undecidable problems in mathematics?&lt;/a&gt;&quot; and &quot;&lt;a href=&quot;https://mathoverflow.net/questions/56677/what-notions-are-used-but-not-clearly-defined-in-modern-mathematics&quot;&gt;What notions are used but not clearly defined in modern mathematics?&lt;/a&gt;&quot; In particular, &lt;a href=&quot;https://mathoverflow.net/questions/56677/what-notions-are-used-but-not-clearly-defined-in-modern-mathematics/57123#57123&quot;&gt;Colin Tan requested&lt;/a&gt; that the question asked above be posted as a separate question. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For technical background see the &lt;i&gt;TCS StackExchange&lt;/i&gt; question &quot;&lt;a href=&quot;https://cstheory.stackexchange.com/questions/5004/are-runtime-bounds-in-p-decidable-answer-no&quot;&gt;Are runtime bounds in P decidable?&lt;/a&gt;&quot;, in particular &lt;a href=&quot;https://cstheory.stackexchange.com/questions/5004/are-runtime-bounds-in-p-decidable-answer-no/5006#5006&quot;&gt;Emanuele Viola's concise proof&lt;/a&gt; that the answer is &quot;no&quot;.  Note also that similar results are proved by Juris Hartmanis in his monograph &lt;i&gt;Feasible computations and provable complexity properties&lt;/i&gt; (1978).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This week's Lance Fortnow/Bill GASARCH weblog &lt;em&gt;Computational Complexity&lt;/em&gt; is hosting their decadal poll &lt;em&gt;&quot;&lt;a href=&quot;http://www.blogger.com/comment.g?blogID=3722233&amp;amp;postID=5334459752981812402&quot; rel=&quot;nofollow noreferrer&quot;&gt;Does $P=NP$ or Not?&lt;/a&gt;&quot;&lt;/em&gt; -- the fifth and final question asked invites commentary upon the Fortnow/GASARCH question.&lt;/p&gt;&#xA;" OwnerUserId="1519" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2011-07-08T17:38:14.880" Title="Do the undecidable attributes of P pose an obstruction to deciding P versus NP? (answer: maybe)" Tags="&lt;cc.complexity-theory&gt;" AnswerCount="4" CommentCount="9" FavoriteCount="10" CommunityOwnedDate="2011-06-29T11:34:18.083" ContentLicense="CC BY-SA 3.0" />
  <row Id="7060" PostTypeId="2" ParentId="7059" CreationDate="2011-06-20T19:54:03.673" Score="13" Body="&lt;p&gt;Yes you can build a machine that takes time DTIME($n^{i+1}$)-DTIME($n^i$) where $i$ is the number of steps taken by a specific Turing machine to halt on blank tape. Easy to construct and similar constructions hold for just about any non-trivial aspect of P. Tells us little about whether P v NP is undecidable: No problem proving P $\neq$ EXP despite the same issues. &lt;/p&gt;&#xA;" OwnerUserId="550" LastActivityDate="2011-06-20T19:54:03.673" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="7062" PostTypeId="2" ParentId="7058" CreationDate="2011-06-20T20:36:07.040" Score="4" Body="&lt;p&gt;I haven't read the paper you linked to but a must must read paper on Bell Inequalities is &#xA;&lt;a href=&quot;http://rmp.aps.org/abstract/RMP/v65/i3/p803_1&quot; rel=&quot;nofollow&quot;&gt;&lt;strong&gt;Hidden variables and the two theorems of John Bell &lt;em&gt;by N. David Mermin&lt;/em&gt;&lt;/strong&gt;&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;He has written &lt;a href=&quot;http://scholar.google.co.in/scholar?client=ubuntu&amp;amp;channel=cs&amp;amp;q=n%20david%20mermin&amp;amp;um=1&amp;amp;ie=UTF-8&amp;amp;sa=N&amp;amp;hl=en&amp;amp;tab=ws&quot; rel=&quot;nofollow&quot;&gt;a lot on Bell Inequalities&lt;/a&gt;. &lt;/p&gt;&#xA;" OwnerUserId="612" LastActivityDate="2011-06-20T20:36:07.040" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7064" PostTypeId="2" ParentId="7059" CreationDate="2011-06-20T21:08:49.053" Score="15" Body="&lt;p&gt;For question 1 the answer is no. Let $L$ a language in $P$ and let $M$ be any polynomial time Turing machine recognizing $L$ (whose runtime is assumed to be undecidable). For each $k \in \mathbb{N}$ let $M_k$ be the Turing machine that on input $x$ of length $n$ first loops for $n^k$ steps then runs $M$ on $x$ for $n^k + k$ steps and accepts if $M$ accepts $x$ (within those $n^k + k$ steps) and rejects otherwise. The runtime of $M_k$ is $\Theta(n^k)$ for each $k$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since $M$ runs in polynomial time there is some $k&amp;#39; \in \mathbb{N}$ such that $M$ runs in $O(n^{k&amp;#39;})$ (even if we don't know what $k&amp;#39;$ is) and hence for all $k$ large enough $M_k$ recognizes $L$ and has a decidable runtime.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think the following answer is more in spirit of what the original poster had intended with question 1. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Theorem:&lt;/strong&gt; There exists a language $L \in P$ such that if $N$ is any Turing Machine which decides $L$ then at least one of the following is true:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) There does not exist a proof that $N$ accepts $L$, or&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) There does not exist a proof that $N$ halts in $f(n)$ steps (for any function $f(n)$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Proof Sketch:&lt;/strong&gt;&#xA;Let $M$ be a Turing Machine that does not halt on the blank tape and for which there does not exist a proof that $M$ does not halt on the blank tape (Independence results in Computer Science by Hartmanis and Hopcroft shows such an $M$ can be effectively found).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $L = \{ n : \exists n&amp;#39; \geq n \mbox{ s.t. } M \mbox{ halts in } n&amp;#39; \mbox{ steps when run blank tape}\}$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since $M$ does not halt, $L$ is in fact the empty language but there is no proof of that (as that would prove that $M$ does not halt).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $N$ be any Turing Machine. If there exists both a proof that $N$ decides $L$ and a proof that $N$ runs in $f(n)$ steps then the execution of $N$ when run on input $1$ provides either a proof that $M$ halts (i.e., if $N$ accepts) or that $M$ does not halt (i.e., if $N$ rejects). Thus, if $N$ provably decides $L$ then $N$'s runtime is not decidable and vice versa.&lt;/p&gt;&#xA;" OwnerUserId="482" LastEditorUserId="482" LastEditDate="2011-06-22T20:30:46.333" LastActivityDate="2011-06-22T20:30:46.333" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="7066" PostTypeId="2" ParentId="7059" CreationDate="2011-06-20T22:15:34.083" Score="4" Body="&lt;p&gt;I can answer your &lt;strong&gt;Q1&lt;/strong&gt; in the negative, thereby also answering &lt;strong&gt;Q2&lt;/strong&gt; and &lt;strong&gt;Q3&lt;/strong&gt; in the negative. I'm not sure about &lt;strong&gt;Q4&lt;/strong&gt; or &lt;strong&gt;Q5&lt;/strong&gt; though.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;ul&gt;&#xA;  &lt;li&gt;&lt;strong&gt;Q1:&lt;/strong&gt; Do there exist languages $L$ that are recognized &lt;strong&gt;solely&lt;/strong&gt; by those Turing machines in $P$ whose &lt;a href=&quot;https://cstheory.stackexchange.com/questions/5004/are-runtime-bounds-in-p-decidable-answer-no/5006#5006&quot;&gt;runtime exponents are undecidable&lt;/a&gt;?&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;It seems you misunderstood exactly what Emanuele Viola proved in &lt;a href=&quot;https://cstheory.stackexchange.com/questions/5004/are-runtime-bounds-in-p-decidable-answer-no/5006#5006&quot;&gt;his brilliant proof&lt;/a&gt; you linked. He showed that there is no &lt;em&gt;single&lt;/em&gt; Turing Machine $M$ capable of computing the runtime exponent for &lt;em&gt;any&lt;/em&gt; Turing Machine $T$ presented to $M$, even under the promise that $T$ runs in polynomial time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, for any given Turing Machine $T$ running in polynomial time, there exists some $k$ such that $T$ has a running time of $O(n^k)$, and hence the Turing Machine $M$ returning $k$ (and nothing more) is able to 'tell' the running time exponent of $T$, even without having to look at $T$! Hence, &lt;em&gt;M&lt;/em&gt; decides (in constant time even) what $k$ is &lt;em&gt;for this given Turing Machine&lt;/em&gt; $T$. We may not know which Turing Machine decides it, but we know one exists.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Coming back to your question, if we are given a language $L$ in $P$, then there is some Turing Machine $T$ running in $O(n^k)$ for some $k$ that decides $L$, and hence there is the Turing Machine $M$ returning $k$ that decides the runtime exponent for $T$. This answers your question in the negative.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You might instead wonder about a different problem for a given language $L$ in $P$: given Turing Machine $T$ promised to run in polynomial time and promised to decide $L$, is it decidable to find the runtime exponent of $T$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Unfortunately, this is also undecidable. Suppose we are given a language $L$ in $P$ and a TM (Turing Machine) $M$ capable of deciding for a given TM $T$ promised to run in polynomial time and promised to decide $L$, what the runtime exponent of $T$ is. We can prove this to be undecidable in a very similar way to what Emanuele Viola did: we use the exact TM he defined, and change it slightly: we now want this TM to decide $L$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since $L$ is in $P$, there is some TM deciding $L$ in $O(n^k)$ time. Our new TM $M$ first starts exactly as in Emanuele Viola's proof, running the (Halting Problem) TM for $n$ steps. It then loops either for $n^{k+1}$ steps or $n^{k+2}$ steps similarly to Emanuele Viola's TM. Finally, it solves $L$ on the given input and returns the answer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$M$ is in $P$, decides $L$, and if we know the runtime exponent, we can decide the Halting Problem, so the above problem is also undecidable (for any language $L$). Note that we do not need to know $k$, we don't actually have to construct $M$, all we have to do is know it exists!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This kind of thinking about undecidability is quite common apparently, I remember a (blog?) post about a very similar issue: the question was &quot;is it decidable whether Pi has a 'last zero'&quot;, so whether Pi stops having zeroes in its decimal representation if you go down far enough that representation. We currently don't know whether this is the case. We might not even be able to prove it, ever, or it might even be independent from our axiom systems (and thereby unprovable). But, since the answer is either true or false, a TM returning true and a TM returning false decide the issue either case and therefore the problem is decidable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'll see if I can find that post on the internet somewhere.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I found it on &lt;a href=&quot;https://mathoverflow.net/questions/48014/can-a-problem-be-simultaneously-polynomial-time-and-undecidable/48031#48031&quot;&gt;Mathoverflow&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="988" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2011-06-27T17:33:14.403" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="7068" PostTypeId="1" AcceptedAnswerId="7076" CreationDate="2011-06-21T00:05:53.597" Score="-1" ViewCount="411" Body="&lt;p&gt;Does anybody have information on whether the problem of determining whether 2 polyhedra in d dimensions are the same, is polynomial or NP-complete, if so?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks&lt;/p&gt;&#xA;" OwnerUserId="3139" LastActivityDate="2011-06-21T18:02:31.693" Title="comparing polyhedra (or even more specifically convex hulls) in d dimensions" Tags="&lt;cg.comp-geom&gt;" AnswerCount="1" CommentCount="10" ContentLicense="CC BY-SA 3.0" />
  <row Id="7069" PostTypeId="1" AcceptedAnswerId="7070" CreationDate="2011-06-21T03:45:00.477" Score="7" ViewCount="94" Body="&lt;p&gt;&lt;strong&gt;Brief Background&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In &lt;em&gt;Multi-Party Protocols&lt;/em&gt; by Chandra, Lipton, and Furst [&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.62.5475&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;nofollow&quot;&gt;CFL83&lt;/a&gt;], a Ramsey-theoretic proof is used to show a lower bound (and later, a matching upper bound) for the predicate Exactly-$n$ in the NOF multiparty communication complexity model. From the paragraph at the top of the second column of Page 1, we can see that they define the model such that the communication is strictly cyclic: e.g., for parties $P_0, P_1, P_2$, $P_0$ broadcasts at time $t=0$, $P_1$ broadcasts at time $t=1$, $P_2$ broadcasts at time $t=2$, then $P_0$ broadcasts at time $t=3$, and so on.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In most other papers, this cyclic ordering restriction is not made. For (arbitrary) example, in &lt;em&gt;Separating Deterministic from Nondeterministic NOF Multiparty Communication Complexity&lt;/em&gt; by Beame, David, Pitassi, and Woelfel [&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.133.9866&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;nofollow&quot;&gt;BDPW07&lt;/a&gt;], a counting argument over protocols separates $\bf{RP}^{cc}_k$ from $\bf{P}^{cc}_k$. By their definition, &quot;a &lt;em&gt;protocol&lt;/em&gt; specifies, for every possible [public] blackboard contents [i.e., broadcast history] whether or not the communication is over, the output if over &lt;strong&gt;and the next player to speak if not&lt;/strong&gt;.&quot; (&lt;em&gt;emphasis added&lt;/em&gt;)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Importantly, the proof technique in [CFL83] appears (to my eyes) to crucially depend on the parties speaking in a cyclic/modular fashion.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Allow me to play Devil's Advocate:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Doesn't the lower bound proof of [CFL83] break if we allow the parties to speak in an ordering specified by the protocol? More specifically, is it possible there could there be a protocol with a different communication pattern than cyclic for Exactly-$n$ in the NOF model that costs less than the $\log(\chi_k(n))$ lower bound given in the paper?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Or more generally -- what's going on here? Why is one (highly cited) paper (I use the following very liberally) &quot;allowed&quot; to restrict the possible protocols to round-robin communication patterns only?&lt;/p&gt;&#xA;" OwnerUserId="108" LastEditorUserId="108" LastEditDate="2011-06-21T03:52:22.050" LastActivityDate="2011-06-21T03:56:33.370" Title="Effect of protocol ordering on multiparty comm. complexity" Tags="&lt;communication-complexity&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7070" PostTypeId="2" ParentId="7069" CreationDate="2011-06-21T03:56:33.370" Score="5" Body="&lt;p&gt;Any protocol $\pi$ can be modified into an equivalent protocol $\hat\pi$ that has the special &quot;round-robin&quot; communication pattern. The modification is as follows: Whenever party $i$ generates an output in $\pi$, it holds it in a buffer until party $i-1$ has spoken. After party $i-1$ speaks, party $i$ either releases its buffer or broadcasts a &quot;dummy&quot; (or empty) message if there is nothing in the buffer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The conversion of $\pi$ into $\hat\pi$ is without loss of generality, with respect to the correctness and security properties of the protocol. Whether it incurs a loss of generality with respect to &lt;em&gt;communication complexity&lt;/em&gt; depends on whether the model allows &quot;empty&quot; messages. You should see whether the proof technique in this paper assumes that parties can broadcast only non-empty messages. If empty messages are allowed, then $\hat\pi$ has the same communication complexity as $\pi$.&lt;/p&gt;&#xA;" OwnerUserId="149" LastActivityDate="2011-06-21T03:56:33.370" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7071" PostTypeId="2" ParentId="7058" CreationDate="2011-06-21T10:05:53.297" Score="5" Body="&lt;p&gt;I'd mention a recent review &quot;From Bell Inequalities to Tsirelson's Theorem: A Survey&quot; by David Avis, Sonoko Moriyama, Masaki Owari, IEICE Trans. Fund. Electron. Comm. Comput. Sci., vol. E92-A, No.5, pp.1254-1267, 2009 (&lt;a href=&quot;http://arxiv.org/abs/0812.4887&quot;&gt;here&lt;/a&gt;).&lt;/p&gt;&#xA;" OwnerUserId="4915" LastEditorUserId="4915" LastEditDate="2011-06-21T12:56:24.287" LastActivityDate="2011-06-21T12:56:24.287" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7072" PostTypeId="2" ParentId="7058" CreationDate="2011-06-21T15:13:20.940" Score="6" Body="&lt;p&gt;&lt;a href=&quot;http://arxiv.org/abs/quant-ph/0404097&quot; rel=&quot;nofollow&quot;&gt;This paper&lt;/a&gt; by Barrett et al. gives a fairly intuitive description of non-signalling correlations (what Tsirelson calls non-interacting systems). Sections II.A. and II.B.1. are the most useful and easy to read, the rest is more heavy stuff.&lt;/p&gt;&#xA;" OwnerUserId="507" LastActivityDate="2011-06-21T15:13:20.940" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7075" PostTypeId="2" ParentId="7058" CreationDate="2011-06-21T17:46:36.147" Score="6" Body="&lt;p&gt;Werner and Wolf's paper &quot;Bell inequalities and entanglement&quot; (http://arxiv.org/abs/quant-ph/0107093) gives a brief and readable introduction and discussion of Bell inequalities as faces of correlation polytopes.&lt;/p&gt;&#xA;" OwnerUserId="2083" LastActivityDate="2011-06-21T17:46:36.147" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7076" PostTypeId="2" ParentId="7068" CreationDate="2011-06-21T18:02:31.693" Score="3" Body="&lt;p&gt;I will hang on the phrase &quot;more specifically convex hulls&quot; in your question title. The convex hull of $n$ points is a convex polyhedron and as such is completely specified by its vertices: two convex polyhedrons are congruent if and only if their vertex sets are congruent.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If the vertices are in the input, that version of your problem reduces to determining if two sets $A$ and $B$ of $n$ points each are congruent. A classical reference is &lt;a href=&quot;http://www.springerlink.com/content/70001978171672p1/&quot; rel=&quot;nofollow&quot;&gt;this paper from 1988&lt;/a&gt;, which achieves running time $\tilde{O}(n^{d-2})$. &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0925772197000102&quot; rel=&quot;nofollow&quot;&gt;Akutsu&lt;/a&gt; improves that to $O(n^{d/4 + O(1)})$ and shows that if $d$ is unbounded, then a polynomial time algorithm implies a polynomial time algorithm for graph isomorphism.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=1314836&quot; rel=&quot;nofollow&quot;&gt;paper from 2008&lt;/a&gt; looks at the parametrized complexity of the problem when one set is smaller than the other. This version of the problem is known as point set matching. Different approximate versions of the two problems have been widely studied (since the problems are motivated by computer vision, it's important for practice to have a robust version of congruence).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In case you have in mind a problem which does not reduce to congruence of point sets, please specify the full input to the problem.&lt;/p&gt;&#xA;" OwnerUserId="4896" LastActivityDate="2011-06-21T18:02:31.693" CommentCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="7077" PostTypeId="2" ParentId="7059" CreationDate="2011-06-21T19:51:10.323" Score="8" Body="&lt;p&gt;After thinking more on the subject, I think I found a (possible) answer for your &lt;strong&gt;Q4&lt;/strong&gt;.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;ul&gt;&#xA;  &lt;li&gt;&lt;b&gt;Q4:&lt;/b&gt; What other attributes of $P$ (besides runtime exponents) are presently known to be undecidable? For what attributes of $P$ is this question open?&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I proved a variation on &lt;a href=&quot;http://en.wikipedia.org/wiki/Rice%27s_theorem&quot; rel=&quot;nofollow&quot;&gt;Rice's theorem&lt;/a&gt; that answers your question for most properties. I'll try to explain myself clearer this time (Travis Service's answer was much clearer and more general than my previous answer).&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Theorem:&lt;/strong&gt; For any property holding on some nonempty set of decidable infinite languages (but on no finite languages), it is undecidable whether a given Turing Machine $E$ decides a language with that property, when promised that $E$ always halts in $O(f(n))$ time, where $f(n)=\Omega(n \log n)$ and $f(n)=\Omega(g(n))$, where $g(n)$ is the running time for some Turing Machine deciding some language with that property.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Recall that a Turing Machine (TM from now on) decides a language if it accepts all strings in the language and rejects all strings outside the language. Note that we can take $f(n)$ to be something other than a polynomial, so the theorem is more general than just $P$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We formalise the notion of a 'property' as some freely selectable set of languages $S$ 'with that property'. Deciding whether a language has the property is then equivalent to deciding whether the language is a member of $S$. Just like in Rice's theorem, we investigate if we can decide whether the language decided by the input TM has the specified property, and so is in $S$. Note that we require $S \subseteq R$, ie, that $S$ contains only decidable languages.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Please note that we are talking about properties of &lt;em&gt;languages&lt;/em&gt;, not of TMs. Your question about runtime exponents is not a special case of this theorem. Properties of, say, $P$, studyable by taking $S \subseteq P$, may interest you more than properties of TMs running in polynomial time. You can do all sorts of cruel stuff to a TM, while retaining its correctness and running time, but you can't do the same to languages.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The requirement that all languages in $S$ have to be infinite is a technicality needed for the proof, but since all finite languages are decidable in constant time and are therefore usually uninteresting, I don't think it's a major one. I expect the generalised version that also allows finite languages to be true as well.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Proof of the theorem&lt;/strong&gt;. Assume we are given some TM $P(E)$ with a TM $E$ as parameter, such that $P$ always halts and accepts iff $E$ decides some language in $S$, and where $E$ is promised to always halt with running times as above. Let $(A, i)$ be an instance for the Halting Problem, ie, $A$ is a TM and $i$ is an input for $A$, and we now want to decide whether $A$ halts on $i$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since we assumed $S$ was nonempty, we have some $s \in S$. Since $S$ contains only decidable languages, there exists some TM $C$ deciding $s$. In particular, we choose the $C$ with running time $g(n)$ as assumed in the theorem. We now consider the following TM:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;function H(x)&#xA;h := simulate A on i for |X| steps and return whether it halted&#xA;if h == 'halted' then&#xA;    reject&#xA;else&#xA;    if C(x) accepts then&#xA;        accept&#xA;    else&#xA;        reject&#xA;    fi&#xA;fi&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;It is easily seen that the running time of this TM meets the requirements for the theorem, since TMs can be simulated in $O(n \log n)$ time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We claim that $P(H)$ returns &lt;em&gt;no&lt;/em&gt; iff $A$ halts on $i$. Assume $A$ halts on $i$ after $t$ steps. $H$ therefore rejects any $X$ with $|X| \geq t$. We therefore decide at most a finite language, and hence $H$ decides no language in $S$ and $P(H)$ will therefore return &lt;em&gt;no&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now assume $A$ does not halt on $i$. Then the variable &lt;em&gt;halt&lt;/em&gt; will never get the value 'halted', so we decide the same language as $C$, which is exactly $s \in S$, so $P(H)$ will return true. This proves that $P(H)$ can solve the Halting Problem, which in turn proves the theorem.&lt;/p&gt;&#xA;" OwnerUserId="988" LastEditorUserId="988" LastEditDate="2011-06-22T12:28:06.930" LastActivityDate="2011-06-22T12:28:06.930" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="7078" PostTypeId="1" AcceptedAnswerId="41289" CreationDate="2011-06-21T23:55:00.533" Score="11" ViewCount="872" Body="&lt;p&gt;Let we fix $0&amp;lt;E&amp;lt;1$ and an integer $t&amp;gt;0$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;for any $n$ and for any vector $\bar{c} \in [0,1]^n$ such that $\sum_{i\in [n]} c_i \geq E \times n$&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;$A_{\bar{c}} :=|\{ S \subseteq [n] : \sum_{i \in S}~ c_i \geq E \times t \}| \geq \binom{ E \times n}{ t }$&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I don't know if the statament is true o false. &#xA;I think it's true.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My intuition come from the observation that for the vectors $\bar{c} \in \{0,1\}^n$ (with the desidered property about the sum) we have $A_{\bar{c}}= \binom{ E \times n}{t}$; in this case we can only select subset from the set $\{ i ~|~ c_i = 1 \}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the others case we can create good subset (s.t. the sum is greater then $E \times t$) using the coordinate in $\{ i ~|~ c_i &amp;gt; E \}$ but also, maybe, using few coordinate from the set $\{ i ~|~ c_i \leq E \}$ we could create other good set!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So,Prove it or find the bug! hoping that it could be a funny game for you!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Motivation of the question&lt;/strong&gt;:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose you have a random variable $X\in \{0,1\}^n$, a typical measure of &quot;how much randomness&quot; there is in $X$ is the min-entropy&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$H_{\infty}(X) = min_{x} \{ -log(Pr[X = x]) \}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In some intuitive sense the min-entropy is the &lt;em&gt;worst case&lt;/em&gt; of the famous Shannon Entropy (that is the &lt;em&gt;average case&lt;/em&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We are interested to lowerbound the min-entropy of the random variable $(Z=X \wedge Y| Y)$ where $Y$ is uniformely distributed over the set $\{ y ~|~ \sum_i y_i = t\}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Loosely speaking if we are lucky we can catch the bits of $X$ that have &quot;good entropy&quot; and so we if $H_{\infty}(X)\geq En$ then  $H_{\infty}(Z|Y)\geq Et$&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What is the probability that we are lucky?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The problem is well-studied one and there exists a lot of literature,&#xA;for example see Lemma A.3. in Leakage-Resilient Public-Key Cryptography in the Bounded-Retrieval Model&lt;/p&gt;&#xA;" OwnerUserId="3847" LastEditorUserId="3847" LastEditDate="2011-06-25T18:54:50.973" LastActivityDate="2018-07-30T14:53:22.433" Title="A simple(?) funny combinatorial problem!" Tags="&lt;co.combinatorics&gt;&lt;it.information-theory&gt;" AnswerCount="1" CommentCount="7" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="7080" PostTypeId="1" AcceptedAnswerId="44488" CreationDate="2011-06-22T10:18:03.297" Score="2" ViewCount="3026" Body="&lt;p&gt;I'm exploring some graph algorithms, and would like to animate the graph change over time (e.g. when adding a heap node or balancing a tree).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a nice way to animate a sequence of &lt;a href=&quot;http://www.graphviz.org/Gallery.php&quot; rel=&quot;nofollow&quot;&gt;&lt;code&gt;graphviz&lt;/code&gt;&lt;/a&gt; graphs?&lt;/p&gt;&#xA;" OwnerUserId="5526" LastActivityDate="2019-09-07T06:31:09.103" Title="Animate a graphviz graph" Tags="&lt;graph-theory&gt;" AnswerCount="3" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="7081" PostTypeId="2" ParentId="7080" CreationDate="2011-06-22T10:47:12.097" Score="6" Body="&lt;p&gt;I'm not sure this question is on-topic here, and would suggest &lt;a href=&quot;https://stackoverflow.com/&quot;&gt;StackOverflow&lt;/a&gt; instead. For what it's worth, I never heard that what you are asking for is possible, but you might obtain better-looking results with &lt;a href=&quot;http://www.ubietylab.net/ubigraph/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Ubigraph&lt;/a&gt; (check out the &lt;a href=&quot;http://www.ubietylab.net/ubigraph/content/Demos/index.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;demos&lt;/a&gt;, they are amazing).&lt;/p&gt;&#xA;" OwnerUserId="775" LastEditorUserId="-1" LastEditDate="2017-05-23T12:40:09.333" LastActivityDate="2011-06-22T10:47:12.097" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7082" PostTypeId="2" ParentId="4326" CreationDate="2011-06-22T14:10:27.867" Score="3" Body="&lt;p&gt;In logic, the order is roughly the number of collections over which you can use quantification. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, the first-order logic suppose that you have a lone &quot;container&quot; of elements, called Universe, over which you can quantified universally (&lt;em&gt;for all&lt;/em&gt; or $\forall$) or existentially (&lt;em&gt;there exists&lt;/em&gt; or $\exists$). The set theory ZF use only one order of quantification : all elements in the Universe are set. You cannot speak about another &quot;type&quot; of element. This is why you must use schemas to provide a &quot;set&quot; (in the usual meaning) of axioms. The axiom schema of restricted comprehension is one of them :&#xA;$$ \forall y \exists z \forall x (x\in z \Leftrightarrow (x\in y \wedge \phi(x)) $$&#xA;for all well-formed formulae $\phi$.&#xA;Here, you can see that we do not write &#xA;$$ \forall\phi\forall y \exists z \forall x (x\in z \Leftrightarrow (x\in y \wedge\phi(x)) $$&#xA;You can wonder why we use the literate formulation &quot;for all well-formed formulae $\phi$&quot; instead. This is because, quantifiers $\forall$ and $\exists$ only apply to set. There is no quantifier that can be apply on formulae.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we really want them, we have to provide some new quantifiers that can be applied on another &quot;collection&quot; of elements; namely the well-formed formulae. These quantifier will be named &quot;second-order quantifiers&quot; and the language needed to express the new formulae will be referred as a second-order language. It is needed to be able to distinguish both order of quantification and the usage is to write the new operators with $\forall^2$ and $\exists^2$. Considering this, the second-order formula over sets and well-written first-order formulae would have been written as&#xA;$$ \forall^2\phi\forall y \exists z \forall x (x\in z \Leftrightarrow (x\in y \wedge\phi(x)) $$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is some problems that can spawned from using quantifier over formulae (circular definitions for examepl) this is why it is not achieve this way, and why the literate formulation is preferred. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, there exist other examples of second-order language. To keep logic examples, we can talk about &lt;a href=&quot;http://en.wikipedia.org/wiki/Von_Neumann-Bernays-G%C3%B6del_set_theory&quot; rel=&quot;nofollow&quot;&gt;von Neumann–Bernays–Gödel set theory&lt;/a&gt; that uses quantifications over set and proper classes, or &lt;a href=&quot;http://en.wikipedia.org/wiki/Computation_tree_logic&quot; rel=&quot;nofollow&quot;&gt;Computation Tree Logic (CTL)&lt;/a&gt; that uses quantification over paths and states. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hope this is helping you.&lt;/p&gt;&#xA;" OwnerUserId="5608" LastActivityDate="2011-06-22T14:10:27.867" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7083" PostTypeId="1" AcceptedAnswerId="7090" CreationDate="2011-06-22T14:38:47.480" Score="10" ViewCount="1678" Body="&lt;p&gt;In the &lt;a href=&quot;http://research.microsoft.com/en-us/um/people/tharris/papers/2002-disc.pdf&quot; rel=&quot;nofollow&quot;&gt;paper&lt;/a&gt; with the same title as that of this question, the authors describe how to build a &lt;a href=&quot;http://en.wikipedia.org/wiki/Non-blocking_algorithm&quot; rel=&quot;nofollow&quot;&gt;nonblocking&lt;/a&gt; &lt;a href=&quot;http://en.wikipedia.org/wiki/Linearizability&quot; rel=&quot;nofollow&quot;&gt;linearizable&lt;/a&gt; &lt;a href=&quot;http://en.wikipedia.org/wiki/Compare-and-swap&quot; rel=&quot;nofollow&quot;&gt;multi-word CAS&lt;/a&gt; operation using only a single-word CAS. They first introduce the double-compare-single-swap operation - RDCSS, as follows:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;word_t RDCSS(RDCSSDescriptor_t *d) {&#xA;  do {&#xA;    r = CAS1(d-&amp;gt;a2, d-&amp;gt;o2, d);&#xA;    if (IsDescriptor(r)) Complete(r);&#xA;  } while (IsDescriptor(r));&#xA;  if (r == d-&amp;gt;o2) Complete(d); // !!&#xA;  return r;&#xA;}&#xA;&#xA;void Complete(RDCSSDescriptor_t *d) {&#xA;  v = *(d-&amp;gt;a1);&#xA;  if (v == d-&amp;gt;o1) CAS1(d-&amp;gt;a2, d, d-&amp;gt;n2);&#xA;  else CAS1(d-&amp;gt;a2, d, d-&amp;gt;o2);&#xA;}&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;where the &lt;code&gt;RDCSSDescriptor_t&lt;/code&gt; is a structure with the following fields:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;a1&lt;/code&gt; - address of the first condition&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;o1&lt;/code&gt; - value expected at the first address&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;a2&lt;/code&gt; - address of the second condition&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;o2&lt;/code&gt; - value expected at the second address&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;n2&lt;/code&gt; - the new value to be written at the second address&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;This descriptor is created and initialized once in a thread which initiates the RDCSS operation - no other thread has a reference to it until the first CAS1 in the function &lt;code&gt;RDCSS&lt;/code&gt; succeeds, making the descriptor reachable (or &lt;em&gt;active&lt;/em&gt; in the terminology of the paper).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The idea behind the algorithm is the following - replace the second memory location with a descriptor saying what you want to do. Then, given that the descriptor is present, check the first memory location to see if its value changed. If it hasn't, replace the descriptor at the second memory location with the new value. Otherwise, set the second memory location back to the old value.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The authors do not explain why the line with the &lt;code&gt;!!&lt;/code&gt; comment is necessary within the paper. It seems to me that the &lt;code&gt;CAS1&lt;/code&gt; instructions in the &lt;code&gt;Complete&lt;/code&gt; function will always fail after this check, provided that there is no concurrent modification. And if there was a concurrent modification between the check and the CAS in &lt;code&gt;Complete&lt;/code&gt;, then the thread doing the check should still fail with its CAS in &lt;code&gt;Complete&lt;/code&gt;, since the concurrent modification should not use the same descriptor &lt;code&gt;d&lt;/code&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is: Can the check in the function &lt;code&gt;RDCSSS&lt;/code&gt;, &lt;code&gt;if (r == d-&amp;gt;o2)...&lt;/code&gt; be omitted, with RDCSS still maintaining the semantics of a double compare, single swap instruction which is &lt;strong&gt;linearizable&lt;/strong&gt; and &lt;strong&gt;lock-free&lt;/strong&gt;?  (line with &lt;code&gt;!!&lt;/code&gt; comment)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If not, can you describe the scenario where this line is actually necessary to ensure correctness?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thank you.&lt;/p&gt;&#xA;" OwnerUserId="4246" LastEditorUserId="77" LastEditDate="2011-06-23T06:22:46.970" LastActivityDate="2011-06-23T22:52:55.417" Title="A practical multi-word compare-and-swap operation" Tags="&lt;dc.parallel-comp&gt;&lt;concurrency&gt;" AnswerCount="1" CommentCount="7" FavoriteCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="7084" PostTypeId="1" AcceptedAnswerId="7087" CreationDate="2011-06-22T20:07:30.577" Score="10" ViewCount="724" Body="&lt;p&gt;A monotone CNF formula with m terms on n variables ($x_1,\ldots,x_n$) is a formula of the form $f(x_1,\ldots,x_n) = \bigwedge C_i$, where each $C_i$ is an OR of some subset of the variables $x_1,\ldots,x_n$, and $i$ ranges from $1$ to $m$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, $(x_1 \vee x_3 \vee x_4) \wedge (x_2 \vee x_4)$ is a monotone CNF formula with 2 terms on 4 variables.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm looking for the shortest formula (not necessarily monotone, not necessarily CNF, any formula will do!) on the same set of variables that represents the same function as a given monotone CNF formula on n variables with n terms. (Note that the number of terms and variables is the same.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One obvious way to construct a formula is to expand out the given CNF definition, which will give us a formula of size $O(n^2)$. (Let's define the size of a formula to be the length of the formula when it is written down as a string.) I want to know if this is the most efficient general construction or if for every n-term monotone CNF there exists a formula of size $o(n^2)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I just want to know whether this is possible, I'm not really interested in an algorithm. If this is not possible, a function that serves as a counterexample would be great. Pointers to where I can find an answer in the literature are also appreciated.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT: I'm adding an example to make thins clearer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Say the input formula is $f = (x_1 \vee x_2) \wedge (x_1 \vee x_3) \wedge \ldots \wedge (x_1 \vee x_n)$. This is a monotone CNF formula. A shorter formula which represents the same function is the following: $x_1 \vee (x_2 \wedge x_3 \wedge \ldots \wedge x_n)$.&lt;/p&gt;&#xA;" OwnerUserId="206" LastEditorUserId="206" LastEditDate="2011-06-23T13:05:50.243" LastActivityDate="2011-06-23T13:28:43.513" Title="Shortest formula for an n-term monotone CNF" Tags="&lt;cc.complexity-theory&gt;&lt;circuit-complexity&gt;&lt;formulas&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7085" PostTypeId="2" ParentId="7080" CreationDate="2011-06-23T01:45:43.827" Score="0" Body="&lt;p&gt;Not really, unfortunately.  A few years ago it looked like a graph animation tool was going to be added to the Graphviz package, but it was removed because it never quite worked.&lt;/p&gt;&#xA;" OwnerUserId="730" LastActivityDate="2011-06-23T01:45:43.827" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7086" PostTypeId="2" ParentId="7084" CreationDate="2011-06-23T06:27:50.307" Score="2" Body="&lt;p&gt;Consider that for any CNF you can compute the set of prime implicates (of which any minimum must be a subset) by taking the closure under resolution, and applying subsumption elimination.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, in the case of any monotone CNF $F$, the resolution closure of $F$ is $F$ (as there are no negative literals, there is no resolution possible). Therefore, the minimum CNF is the set of prime implicates, which is precisely the formula you already have. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course, I'm assuming you don't want to introduce new variables.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you want to ensure that you have some formula which has $n$ terms, then as you suggest, the only way to get that is to expand some of the clauses by adding missing variables. Any such CNF should have the same number of literals (the size measure you suggest I believe) for a fixed $f$ and $n$.&lt;/p&gt;&#xA;" OwnerUserId="5195" LastEditorUserId="5195" LastEditDate="2011-06-23T12:14:08.793" LastActivityDate="2011-06-23T12:14:08.793" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="7087" PostTypeId="2" ParentId="7084" CreationDate="2011-06-23T13:28:43.513" Score="11" Body="&lt;p&gt;You can get an $\Omega(n^2/\log n)$ lower bound using a counting argument: there are $exp(n^2)$ $n$-term CNFs on $n$ variables (this is easy but requires just a little care as to make sure that there is no over-counting), but there are $exp(s \log s)$ formulae (or even circuits) of size at most $s$.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It seems that winning the last $\log n$ factor will be hard since it would require proving a quadratic lower bound on formula size, and my guess is that the few existing techniques for this don't suffice.  $O(n^2/\log n)$ may even be the right answer -- at least for circuit size -- using some &lt;a href=&quot;http://en.wikipedia.org/wiki/Method_of_Four_Russians&quot;&gt;four-Russian-like technique&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="42" LastActivityDate="2011-06-23T13:28:43.513" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7088" PostTypeId="2" ParentId="7001" CreationDate="2011-06-23T15:06:43.057" Score="2" Body="&lt;p&gt;Ok, I have found how to do this by reading &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/1904602827&quot; rel=&quot;nofollow&quot;&gt;Introduction to Mathematical Optimization: From Linear Programming to Metaheuristics&lt;/a&gt;. Chapters 7 and 10 clearly explain the possibilities, essentially the penalty method and the use of Lagrange multipliers coupled with Kuhn-Tucker conditions if necessary.&lt;/p&gt;&#xA;" OwnerUserId="4208" LastEditorUserId="4208" LastEditDate="2011-06-23T15:18:33.437" LastActivityDate="2011-06-23T15:18:33.437" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7089" PostTypeId="2" ParentId="7042" CreationDate="2011-06-23T17:00:26.207" Score="0" Body="&lt;p&gt;The key sticking point is that analysis of algorithms is about the evolution of abstract machines with respect to data. It does NOT apply to the evolution of physical systems. In the latter case, there is not really any systematic treatment of asymptotic cost with respect to the asymptotic size of the problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This in fact gets to the heart of the strong Church-Turing thesis, which equates the class of &quot;efficiently computable physical processes&quot; with the class of polynomial-time turing machines To formalize this, one would have to show that the evolution of any physical system is polynomial-time in the &quot;size&quot; of the system. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, to return to the question of Spaghetti sort --- given a physical system with $n$ pasta, what is the time complexity of computably simulating the evolution of such a system? The number of particles in the simulation is $O(n)$ (to model the pasta), possibly more (depending on the number of particles needed to model the plate), there are at least $O(n)$ time steps (at the least, one time step is needed for each pasta removed), and each the number of interactions in each time-slice will be probably $O(n)$ or $O(n^2)$. So I would estimate that simulating this system will be at least $O(n^3)$, probably much more.&lt;/p&gt;&#xA;" OwnerUserId="5538" LastEditorUserId="5538" LastEditDate="2011-06-24T00:49:57.550" LastActivityDate="2011-06-24T00:49:57.550" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7090" PostTypeId="2" ParentId="7083" CreationDate="2011-06-23T17:05:11.583" Score="9" Body="&lt;p&gt;In a concurrent runtime environment simple things can seem weird ... hope this can help.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We have a &lt;strong&gt;BUILT-IN ATOMIC CAS1&lt;/strong&gt; having this semantic:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;int CAS1(int *addr, int oldval, int newval) {&#xA;  int currval = *addr;&#xA;  if (currval == oldval) *addr = newval;&#xA;  return currval;&#xA;}&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;We need to define an &lt;strong&gt;ATOMIC RDCSS function&lt;/strong&gt; using &lt;strong&gt;CAS1&lt;/strong&gt; and having the following semantic:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;int RDCSS(int *addr1, int oldval1, int *addr2, int oldval2, int newval2) {&#xA;  int res = *addr;&#xA;  if (res == oldval2 &amp;amp;&amp;amp; *addr1 == oldval1) *addr2 = newval2;&#xA;  return res;&#xA;}&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Intuitively: we need to CONCURRENTLY change the value at addr2 only if *addr1 == oldval1 ... if another thread is changing it we can help the other thread to complete the operation, then we can retry.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;RDCSS&lt;/strong&gt; function will be used (see article) to define CASN. Now, we define a &lt;strong&gt;RDCSS Descriptor&lt;/strong&gt; in the following way:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;RDCSSDESCRI&#xA;int *addr1   &#xA;int oldval1&#xA;int *addr2   &#xA;int oldval2&#xA;int newval2&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Then we implement RDCSS in the following way:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;int RDCSS( RDCSSDESCRI *d ) {&#xA;  do {&#xA;    res = CAS1(d-&amp;gt;addr2, d-&amp;gt;oldval2, d);  // STEP1&#xA;    if (IsDescriptor(res)) Complete(res); // STEP2&#xA;  } while (IsDescriptor(res);             // STEP3&#xA;  if (res == d-&amp;gt;oldval2) Complete(d);     // STEP4&#xA;  return res;&#xA;}&#xA;&#xA;void Complete( RDCSSDESCRI *d ) {&#xA;  int val = *(d-&amp;gt;addr1);&#xA;  if (val == d-&amp;gt;oldval1) CAS1(d-&amp;gt;addr2, d, d-&amp;gt;newval2);&#xA;    else CAS1(d-&amp;gt;addr2, d, d-&amp;gt;oldval2);  &#xA;}&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;STEP1: first we try to change the value of *addr2 to our (own) descriptor d, if CAS1 succeeds then res == d-&gt;oldval2 (i.e. res is NOT a descriptor)&lt;/li&gt;&#xA;&lt;li&gt;STEP2: check if res is a descriptor i.e. STEP1 failed (another thread changed addr2) ... help another thread completing the operation&lt;/li&gt;&#xA;&lt;li&gt;STEP3: retry the STEP1 if we didn't succeed in storing our descriptor d&lt;/li&gt;&#xA;&lt;li&gt;STEP4: if we fetched our expected value from addr2 then we succeeded in storing our descriptor (pointer) in addr2 and &lt;strong&gt;we can complete our task storing newval2 to *addr2 iif *addr1 == oldval1&lt;/strong&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;ANSWER TO YOUR QUESTION&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we omit STEP4 then the &lt;strong&gt;if(... &amp;amp;&amp;amp; *addr1==oldval1) *addr2=newval2&lt;/strong&gt; part of the RDCSS semantic will never be executed (... or better: it can be executed in an umpredictable way by other threads helping the current one).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As pointed out by you in your comment the condition &lt;em&gt;if(res == d1-&gt;oldval2)&lt;/em&gt; at STEP4 is unnecessary: even if we omit it, both CAS1 in Complete() will fail because *(d-&gt;addr2)!=d. Its only purpouse is avoid a function call.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Example T1=thread1, T2=thread2:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;remember that addr1 / addr2 are in a shared data zone !!!&#xA;&#xA;T1 enter RDCSS function&#xA;T2 enter RDCSS function&#xA;T2 complete STEP1 (and store the pointer to its descriptor d2 in addr2)&#xA;T1 at STEP1 the CAS1 fails and res = d2&#xA;T2 or T1 completes *(d2-&amp;gt;addr2)=d2-&amp;gt;newval2 (suppose that *(d2-&amp;gt;addr1)==d2-&amp;gt;oldval1)&#xA;T1 execute STEP1 and now CAS1 can fail because *addr2 == d2-&amp;gt;newval2&#xA;   and maybe d2-&amp;gt;newval2 != d1-&amp;gt;oldval2, in every case at the end &#xA;   res == d2-&amp;gt;newval2 (fail) or&#xA;   res == d1-&amp;gt;oldval2 (success)&#xA;T1 at STEP2 skips the call to Complete() (because now res is not a descriptor)&#xA;T1 at STEP3 exits the loop (because now res is not a descriptor)&#xA;T1 at STEP4 T1 is ready to store d1-&amp;gt;newval2 to addr2, but only if&#xA;   *(d1-&amp;gt;addr2)==d (we are working on our descriptor) and *(d1-&amp;gt;addr1)==d1-&amp;gt;oldval1&#xA;   ( Custom() function)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2011-06-23T22:52:55.417" LastActivityDate="2011-06-23T22:52:55.417" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="7091" PostTypeId="1" AcceptedAnswerId="7096" CreationDate="2011-06-23T17:33:55.193" Score="11" ViewCount="552" Body="&lt;p&gt;I'm currently on the look out for some good reference material relating non-local games with beneficial aspects in quantum communication. For instance, I am aware that non-local games are good at lower bounding communication complexity as well as ensuring the security of QKD protocols. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;What I'd like to know is, what are some of the big papers in regard to non-local games in quantum communication? Have there been any recent advancements in this field that have been exceptionally important? Are there any good video abstracts/lectures/presentations on the web that parallel this material? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Specifically finding some material that relates quantum communication and the CHSH game would be of specific interest to myself as well.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any feedback on this for any one of my questions would be very much appreciated. Thanks!&lt;/p&gt;&#xA;" OwnerUserId="878" LastEditorUserId="7286" LastEditDate="2012-05-07T14:31:47.893" LastActivityDate="2012-05-07T14:31:47.893" Title="Nonlocal Games and Quantum Communication" Tags="&lt;reference-request&gt;&lt;quantum-computing&gt;&lt;communication-complexity&gt;&lt;quantum-information&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="7092" PostTypeId="2" ParentId="7091" CreationDate="2011-06-23T19:59:45.050" Score="11" Body="&lt;p&gt;What about &quot;&lt;a href=&quot;http://arxiv.org/abs/quant-ph/0404076&quot;&gt;Consequences and Limits of Nonlocal Strategies&lt;/a&gt;&quot; by Cleve, Hoyer, Toner and Watrous? It gives a pretty good introduction and then you can check e.g. other paper by Watrous&lt;/p&gt;&#xA;" OwnerUserId="2083" LastEditorUserId="30" LastEditDate="2011-06-23T20:00:55.457" LastActivityDate="2011-06-23T20:00:55.457" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="7094" PostTypeId="2" ParentId="6215" CreationDate="2011-06-23T20:25:00.350" Score="4" Body="&lt;p&gt;I've been working on war for the past couple of days.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In particular I've been interested in the longest possible game, given no cycles. By backtracking, starting from the end position, I managed to avoid anything that goes into cycles. I used a dynamic greater-than relation to avoid having to decide what cards had what value from the start.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Even with those optimizations, I've only managed to create the following table, where the left column is the number of cards in play, and the right column is the length of the longest possible game:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;1   0       13  62&#xA;2   1       14  467&#xA;3   3       15  85&#xA;4   7       16  261&#xA;5   9       17  107&#xA;6   17      18  &amp;gt;=935&#xA;7   17      19  137&#xA;8   29      21  168&#xA;9   31      23  209&#xA;10  53          &#xA;11  45          &#xA;12  79          &#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Interestingly I found, that odd number of cards, give a much larger chance of cycles. This makes it much easier to find the longest game, as there are far fewer positions to consider. The maximum length of these games is ery close to a second order polynomial.&lt;/p&gt;&#xA;" OwnerUserId="4310" LastEditorUserId="4310" LastEditDate="2013-11-18T12:07:38.823" LastActivityDate="2013-11-18T12:07:38.823" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7095" PostTypeId="1" AcceptedAnswerId="7102" CreationDate="2011-06-23T20:28:59.457" Score="3" ViewCount="6460" Body="&lt;p&gt;In solving a certain game, I've ended up with a set of equalities like these:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;a == Max[b,c]/2+Max[d,e]/2&#xA;b == Min[f,g]/2+Min[h,i]/2&#xA;...&#xA;o == (1-d)/2+r/2&#xA;p == (1-d)/2&#xA;q == s/2+1/2&#xA;r == Max[1-h,1-i]/2+Max[t,u]/2&#xA;...&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;I create &lt;code&gt;2^N&lt;/code&gt; different equation sets, where &lt;code&gt;N&lt;/code&gt; is the number of Max statements, and try to solve them individually using gaussian elimination or something like that. That would be something like $O(2^N*n^3)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By considering disjoin cycles and other heuristics, I could perhaps get it a bit faster, but I would still only be able to solve very simple games.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are you aware of any algorithms, deterministic or approximate, that could make the above problem feasible for 30-50 or maybe even more Max statements?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Each equation is a simple linear combination of variables, constants and Max/Mins of two (or more) variables. The number of terms in each equation is constant&lt;/li&gt;&#xA;&lt;li&gt;It is known, that there is an unique solution {a,b,c,...}&lt;/li&gt;&#xA;&lt;li&gt;All variables are fractions in &lt;code&gt;(0,1)&lt;/code&gt;.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I can reduce the system by using &lt;code&gt;Max[a,b] = (a+b-|a-b|)/2&lt;/code&gt; and Snowie showed how to eliminate &lt;code&gt;Max[a,b]&lt;/code&gt; by adding two inequalities and a binary variable. The complexity still seams to be &lt;code&gt;O(2^N)&lt;/code&gt;.&lt;/p&gt;&#xA;" OwnerUserId="4310" LastEditorUserId="4310" LastEditDate="2011-06-24T12:01:22.553" LastActivityDate="2021-01-03T10:34:30.030" Title="Solving a Min/Max equation set" Tags="&lt;optimization&gt;&lt;linear-programming&gt;&lt;gt.game-theory&gt;" AnswerCount="2" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="7096" PostTypeId="2" ParentId="7091" CreationDate="2011-06-24T01:49:58.317" Score="10" Body="&lt;p&gt;There was a talk at last year's AQIS'10 (Asian Quantum Information Science Conference) by Harry Buhrman, which dealt exactly on what your asking. The title was &lt;em&gt;Quantum Non-locality, Communication Complexity, and Grothendieck Inequalities&lt;/em&gt;. I have the proceedings with me, and sadly there is only a 1-page abstract of his talk. However, the references give a good account of what you should check. I'll transcribe it below:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Job Briet, Harry Buhrman, Troy Lee, and Thomas Vidick. &lt;a href=&quot;http://arxiv.org/abs/0911.4007&quot; rel=&quot;nofollow&quot;&gt;Multi-player xor games with clique-wise entanglement&lt;/a&gt;. &lt;/li&gt;&#xA;&lt;li&gt;Jop Briet, Harry Buhrman, and Ben Toner. &lt;a href=&quot;http://arxiv.org/abs/0901.2009&quot; rel=&quot;nofollow&quot;&gt;A generalized grothendieck inequality and entanglement in xor games&lt;/a&gt;. link&lt;/li&gt;&#xA;&lt;li&gt;R. Cleve, P. Hoyer, B. Toner, and J. Watrous. Same as the link given in Marcin Kotowski's answer.&lt;/li&gt;&#xA;&lt;li&gt;B.S. Tsirelson. Some results and problems on quantum Bell-type inequalities. &lt;em&gt;Hadronic J. Suppl. 8(4):329-345&lt;/em&gt;, 1993.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Luckily, there is a video of a lecture given by Troy Lee about exactly the same subject. &lt;a href=&quot;http://video.ias.edu/csdm/grothendieck&quot; rel=&quot;nofollow&quot;&gt;Grothendieck Inequalities, XOR Games, and Communication Complexity&lt;/a&gt;, presented at the Institute of Advance Study in 2009. This was a great talk!&lt;/p&gt;&#xA;" OwnerUserId="135" LastActivityDate="2011-06-24T01:49:58.317" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7097" PostTypeId="2" ParentId="7095" CreationDate="2011-06-24T05:15:44.000" Score="2" Body="&lt;p&gt;Removing the min/max operations in your problem, you can write your problem in a standard mixed integer programming.  If your problem contains $N$ min/max operations, then your problem can be solved in $O(2^N)$ time, ignoring polynomial factors.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The removal of the min/max operation is easy.  For example, let us remove Max[b,c].  First, add a variable x such that x = Max[b,c], and replace Max[b,c] with x.  The relation x = Max[b,c] can be written as the following inequalities adding another binary variable y (i.e, y=0 or y=1):&lt;br&gt;&#xA;x &gt;= b&lt;br&gt;&#xA;x &gt;= c&lt;br&gt;&#xA;x &amp;lt;= by + c(1-y)&lt;br&gt;&#xA;You can remove the min operations in a similar way, and you'll obtain a standard mixed integer programming formulation.&lt;/p&gt;&#xA;" OwnerUserId="3825" LastActivityDate="2011-06-24T05:15:44.000" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="7098" PostTypeId="2" ParentId="7042" CreationDate="2011-06-24T09:00:59.160" Score="2" Body="&lt;h3&gt;Just to continue the joke ...&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;... we can simplify the spaghetti sort if we consider a 2D section of the &lt;em&gt;kitchen&lt;/em&gt; (&lt;em&gt;spaghetti&lt;/em&gt; are a bunch of $N$ segments, the &lt;em&gt;table&lt;/em&gt; is a segment of length $W$, the &lt;em&gt;hand&lt;/em&gt; is a segment, the &lt;em&gt;kitchen&lt;/em&gt; is a $W \times W$ square box, $W \gg N$ ... and it is supposed to be large enough to contain the longest spaghetto). We start with an empty kitchen and we end with an ordered sequence of spaghetti ... the system evolves in this manner:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;A) we put a table in the kitchen (an horizontal segment in the box)&#xA;B) we hold the spaghetti over the table (a sequence of vertical segments across the&#xA;   hand segment)&#xA;C) we let them fall on the table (here gravity + the table do some magic)&#xA;D) we start move the hand downward&#xA;E) when our hand touch a spaghetto it picks it up, and move it on the left&#xA;F) repeat D-E until the hand touches the table&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/0YaTZ.jpg&quot; alt=&quot;Spaghetti sort in 2D&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose we start measuring time from step B ...&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&lt;b&gt;what is the REAL time complexity of the spaghetti sort&lt;/b&gt;?&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Let $H = \frac{W}{2}$ be half of the kitchen width. Suppose we start with our hand at height $H$ over the table, suppose that the spaghetti are &quot;stored&quot; at distance $H$ on the table during the sort, and finally suppose that our hand moves at the speed of light $c$ (a good approximation for a cook!!!).&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$B \rightarrow C$ (the table+gravity parallel sort) takes roughly $T_1 = \sqrt{ \frac{2H}{g}}$&lt;/li&gt;&#xA;&lt;li&gt;the hand takes $T_2 = \frac{H}{c}$ to reach the table&lt;/li&gt;&#xA;&lt;li&gt;each &quot;spaghetti pick&quot; takes $T_3 = \frac{2H}{c}$ &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;So the total time of the spaghetti sort is:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$T = \sqrt{ \frac{2H}{g}} + \frac{H}{c} + N \times \frac{2H}{c}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we switch to the turing machine world, we can simulate the kitchen using a bidemensional array ...&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;suppose $W$ = 3 meters = 3000 millimeters ... 3000 / 8bits = 250 ... ok, a &lt;strong&gt;375x375 byte array is enough&lt;/strong&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;... now we need a fast computer ... that can scan 375 bytes in:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;(3 meters) / (300000000 meters/sec) = 0,00000001 sec ... ok an old 100Mhz &lt;strong&gt;Intel486 is enough&lt;/strong&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2011-06-24T09:14:58.213" LastActivityDate="2011-06-24T09:14:58.213" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7100" PostTypeId="1" AcceptedAnswerId="7103" CreationDate="2011-06-24T11:54:10.383" Score="16" ViewCount="1095" Body="&lt;p&gt;There is &lt;a href=&quot;http://rjlipton.wordpress.com/2009/08/17/on-the-intersection-of-finite-automata/&quot;&gt;theoretical evidence&lt;/a&gt; that the naive cartesian-product construction for the intersection of DFAs is &quot;the best we can do&quot;. What about the concatenation of two DFAs? The trivial construction involves converting each DFA into an NFA, adding an epsilon-transition and determinizing the resulting NFA. Can we do better? Is there a known bound on the size of the minimal concatenation DFA (in terms of the sizes of the &quot;prefix&quot; and &quot;suffix&quot; DFAs)?&lt;/p&gt;&#xA;" OwnerUserId="1746" LastActivityDate="2011-06-24T19:39:17.870" Title="Efficient concatenation of DFAs?" Tags="&lt;cc.complexity-theory&gt;&lt;fl.formal-languages&gt;&lt;automata-theory&gt;&lt;dfa&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="7101" PostTypeId="1" CreationDate="2011-06-24T12:25:55.410" Score="14" ViewCount="487" Body="&lt;p&gt;My question relates to bi-partite expander graphs, defined as bi-partite graphs on $n$ left vertices, $m$ right vertices, constant left-degree $k$, such that &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;For any linear-sized subset $S$ of the left vertices of size $|S| = O(\gamma n)$ (where $\gamma$ is some constant), the set of right neighbors is close to full-expansion, i.e. $k (1-\epsilon) |S|$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;My question is:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What is known about the degrees of the right vertices? &#xA;  Is there a phenomenon, where some vertices have a very high degree,&#xA;  while others have a very small degree?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Below, is a proof that assuming that for every such expander all right vertices have degrees at most sublinear in $n$ implies some contradiction to a&#xA;theorem by &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=510003&quot;&gt;Capalbo, Reingold, Vadhan and Wigderson&lt;/a&gt;.&#xA;This theorem states that for any $n,m,\epsilon$ there exists some $k = \mathrm{polylog}(n/m)$, $\gamma=g(n,m,\epsilon)$ for which there exists such a bi-partite expander.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $G$ be such a bi-partite expander.&#xA;Let $q$ be some right vertex, and let $S_q$ be the set of left vertices adjacent to $q$.  Suppose on the negative that each $|S_q|$ is of some bounded small size, and so it must abide by the expansion property.&#xA;So the number of neighbors of $S_q$ is at least $|S_q|k(1-\epsilon)$.&#xA;Yet, we know that since all vertices of $S_q$ share $q$ then the number of neighbors is upper-bounded by $|S_q|(k-1)+1$, and so&#xA;$ |S_q|k(1-\epsilon)&amp;lt; |S_q|(k-1) + 1$.&#xA;Hence, $$|S_q| &amp;lt; \frac{1}{1-\epsilon k} \text.$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, the number of edges is $nk$ and so there exists a right vertex of degree at least $\frac{nk}{m}$, and so there exists some $q$ for which&#xA;$|S_q| &amp;gt; \frac{nk}{m}$, and we have $\frac{nk}{m}&amp;lt; \frac{1}{1-\epsilon k}$.&#xA;This implies the following quadratic equation in variable $k$:&#xA;$$ \frac{n \epsilon}{m}k^2 - \frac{n}{m}k + 1 &amp;gt;0 $$ &#xA;which, for sufficiently small $\epsilon$ and $n&amp;gt;m$ forces $k&amp;gt;\frac{1}{\epsilon}$ (or $k&amp;lt;0$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Yet, by the theorem $k&amp;lt; (\frac{n}{m})^t$ for some constant $t$&#xA;so $\frac{1}{\epsilon}&amp;lt; (\frac{n}{m})^t$.&#xA;But one can easily choose $n,m,\epsilon$ which do not hold the above, by contradiction.&lt;/p&gt;&#xA;" OwnerUserId="6238" LastEditorUserId="1800" LastEditDate="2011-06-28T03:03:47.033" LastActivityDate="2011-06-28T03:03:47.033" Title="Bi-partite expander graphs" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;expanders&gt;" AnswerCount="0" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7102" PostTypeId="2" ParentId="7095" CreationDate="2011-06-24T12:53:22.587" Score="5" Body="&lt;p&gt;To follow up on Snowie's post:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For each term max(v1, v2) introduce a new variable $x_i$, subject to the constraints $x_i \geq v_1, x \geq v_2$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For each term min(v1,v2) introduce a variable $y_i$ subject to $y_i \leq v_1, y_i \leq v_2$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Next, minimize the linear constraint $l = \sum x_i - \sum y_i$&#xA;subject to the inequations $x \geq v, y \geq v$, the linear equations $0 \leq v \leq 1$, AND the original linear system of equations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is a linear program, hence solvable in polynomial time. As the number of such constraints is polynomial, the entire system is solved in polynomial time.&lt;/p&gt;&#xA;" OwnerUserId="5538" LastActivityDate="2011-06-24T12:53:22.587" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="7103" PostTypeId="2" ParentId="7100" CreationDate="2011-06-24T15:06:32.893" Score="20" Body="&lt;p&gt;Yes - it is known that there exist DFA's of $m$ and $n$ states, respectively, such that the minimal DFA for the concatenation of the corresponding languages has $m*2^n - 2^{n-1}$ states, which matches the known upper bound.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This was first observed by Maslov in 1970, and rediscovered by Yu, Zhuang, and K. Salomaa in their paper, &quot;The state complexities of some basic operations on regular languages&quot;, TCS 125 (1994), 315-328.&lt;/p&gt;&#xA;" OwnerUserId="3227" LastEditorUserId="77" LastEditDate="2011-06-24T19:39:17.870" LastActivityDate="2011-06-24T19:39:17.870" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="7104" PostTypeId="1" AcceptedAnswerId="7128" CreationDate="2011-06-25T09:46:38.367" Score="6" ViewCount="347" Body="&lt;p&gt;I recently became very interested in Kolmogorov complexity and the incompressibility method especially in the context of average-case analysis. The &quot;standard&quot; book by Li &amp;amp; Vitanyi showcases many examples, although only two of them are about average-case analysis (heapsort and shellsort). I also found &lt;a href=&quot;http://www.cs.toronto.edu/~blucier/misc/QS.pdf&quot; rel=&quot;nofollow&quot;&gt;a paper&lt;/a&gt; analyzing the average-case of quicksort using incompressibility.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This got me wondering: is there some reason exactly these algorithms were analyzed? More generally, is there something in the nature of an algorithm that makes it suitable (or not at all suitable) for analysis using the incompressibility method?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In addition, does anyone know of any other papers/resources that show even trivial average-analysis of different kind of algorithms, perhaps other than sorting algorithms using the method?&lt;/p&gt;&#xA;" OwnerUserId="5693" LastEditorUserId="1800" LastEditDate="2011-06-26T14:51:54.903" LastActivityDate="2011-06-26T14:54:08.410" Title="Average-case analysis of algorithms using the incompressibility method" Tags="&lt;cc.complexity-theory&gt;&lt;kolmogorov-complexity&gt;&lt;average-case-complexity&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="7105" PostTypeId="1" CreationDate="2010-10-07T21:40:19.210" Score="12" ViewCount="219" Body="&lt;p&gt;&lt;strong&gt;Summary&lt;/strong&gt;: if we are trying to use combinator logic to solve first-order logic type problems, is the best method to feed in free variables and use the standard first-order unification algorithm?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In standard first-order logic, consider the problem of deducing that the following is a contradiction&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;p(x)&#xA;~p(5)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;By the rule that we can substitute specific for general, we can derive&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;p(5)&#xA;~p(5)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;and q &amp;amp; ~q =&gt; false.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The particular choice of the constant 5 to substitute for x is obtained using the standard unification algorithm, which in the case of first-order logic is computable (and indeed quite efficient).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Translating this into combinator logic gives&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;p = K true&#xA;~(p 5)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Substituting the value of p gives&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;~(K true 5)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Evaluating gives&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;~true&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Which is false, QED.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But it doesn't look so good when we try a more complex expression&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;p(f(f(x)))&#xA;~p(f(f(5)))&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;In standard first-order logic, unification works just as well here as for the simpler case. The translation to CL, however, is&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;S (K p) (S (K f) f) = K true&#xA;~(p (f (f 5)))&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;This isn't a problem we can solve with simple substitution. One approach we could try is to feed both sides of an equation the same value; if we take the number 5 as a value, the left-hand side of the equation evaluates as&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;S (K p) (S (K f) f) 5&#xA;K p 5 (S (K f) f 5)&#xA;p (S (K f) f 5)&#xA;p (S (K f) f 5)&#xA;p (K f 5 (f 5))&#xA;p (f (f 5))&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;So we have&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;p (f (f 5)) = K true 5&#xA;p (f (f 5)) = true&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Substituting into the second expression from the original problem gives&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;~true&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;So we have solved the problem, but we did it by guessing the correct value to feed both sides of the equation, by inspection. Is there a general method that could be used?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One that suggests itself is to feed in a variable, which would give&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;p (f (f x)) = true&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;From which the standard first-order unification algorithm could be used.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Have we just established that the only way to solve problems in CL is to convert them back into standard logic? Perhaps it's not that bad; at least we have eliminated lambda and the other quantifiers, and their associated bound variables, leaving only free variables.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Still, is there a better method that I'm missing?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(I'm omitting consideration of types here; because combinator logic is Turing complete, presumably type checking will also be needed to avoid the paradoxes of the sort that make simple untyped lambda calculus unsound.)&lt;/p&gt;&#xA;" OwnerUserId="1275" OwnerDisplayName="rwallace" LastActivityDate="2011-06-25T11:06:31.623" Title="Combinator logic and unification" Tags="&lt;lo.logic&gt;" AnswerCount="0" CommentCount="4" FavoriteCount="4" ContentLicense="CC BY-SA 2.5" />
  <row Id="7107" PostTypeId="1" CreationDate="2011-06-25T13:07:36.127" Score="1" ViewCount="6349" Body="&lt;p&gt;I am trying to improve my algorithmic knowledge during the summer break and i found this problem in a book.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We have an undirected graph $G=(V,E$) with starting node $s\in V$ and last node $t \in V$ where weight of every edge $(u,v) \in E$ is a positive number ($w(u,v)&gt;0$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Actually it asks to prove that finding the shortest path from $s$ to $t$ is equivalent with finding a max flow $f$ from $s$ to $t$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$f$ minimizes the amount of $Σ_{(u,v)\in E} f(u,v)w(u,v)$ and has the value of $|f|=1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It seems that i am missing something. Can anyone help me with this cause i really hate leaving unsolved exercises when reading a book.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks.&lt;/p&gt;&#xA;" OwnerUserId="5699" LastEditorUserId="901" LastEditDate="2011-06-25T15:32:23.067" LastActivityDate="2018-06-14T11:29:55.957" Title="shortest path &amp; max flow" Tags="&lt;graph-algorithms&gt;&lt;linear-programming&gt;&lt;max-flow&gt;" AnswerCount="3" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7108" PostTypeId="2" ParentId="7107" CreationDate="2011-06-25T13:36:21.323" Score="1" Body="&lt;p&gt;Shortest path costs $O(E)$ using breadth-first search&#xA;The best algorithms for max-flow are something like $O(EV)$ (plus some logarithmic factors).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So I do not know in what sense they are equivalent (other than they are both polynomial time)&lt;/p&gt;&#xA;" OwnerUserId="5538" LastActivityDate="2011-06-25T13:36:21.323" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="7110" PostTypeId="1" CreationDate="2011-06-25T13:54:55.323" Score="2" ViewCount="175" Body="&lt;p&gt;(Feel free to suggest a better title) (same with tags, none of relevant tags exist yet, and I only have 101)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let's say I have a perceptron with an optimal number of layers and optimal number of neurons, which I have taught to recognize an alphabet which was printed in a certain font, with the same settings and resolution. Now if I feed it a symbol from that set, but say, printed in another (but similar) font, or with the same font, but rotated 5 degrees, or shifted 2 pixels to the left, or scaled a 5 percent, and so on, will this system recognize this modified symbol, or at least have an easier time learning to recognize this symbol? (than a system without any prior learning)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Basically, what is the point of back-propagating neural networks? Is it&#xA;1) a way to recognize &lt;em&gt;shapes&lt;/em&gt;, and effectively filter noise in images of those shapes, in form of different rotations, scales and other disortions&#xA;or&#xA;2) just a relatively simple and fast way to recognize a limited number of bitmaps of those shapes, and not being able to recognize the shape in another bitmap if that particular bitmap was never taught to the network.&lt;/p&gt;&#xA;" OwnerUserId="5698" LastActivityDate="2011-06-26T08:49:50.767" Title="Does a multilayer perceptron taught by simple backprop learn the shape of a character or the exact image of a character?" Tags="&lt;machine-learning&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7111" PostTypeId="2" ParentId="7107" CreationDate="2011-06-25T15:00:48.567" Score="4" Body="&lt;p&gt;What you're describing, where you minimize the sum of $f(u,v)w(u,v)$ with a given flow value $|f|$ isn't, in fact, the max-flow problem—it's the &lt;a href=&quot;http://en.wikipedia.org/wiki/Minimum-cost_flow_problem&quot; rel=&quot;nofollow&quot;&gt;min-cost flow problem&lt;/a&gt;. If you constrain the flow value to be 1, and all capacities are set to 1, it's pretty clear that this problem is equivalent to finding the shortest path.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Basically, unit-capacity flow problems find edge-disjoint paths. If you set the flow value to be 1, you'll find only a single path. If you're working with min-cost flow, that path will necessarily be the shortest path (and, therefore, the cheapest flow).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If this is &lt;em&gt;not&lt;/em&gt; what the book is asking, and it's really asking you about max-flow, I suspect there must be some details missing from your description. (For example, you could easily have a single node $t&amp;#39;$ before $t$, with $c(t&amp;#39;,t)=1$, so max-flow would have a flow value of 1, yielding a single path; however, that would still ignore the edge costs, and would just find any path, &lt;em&gt;unless&lt;/em&gt; you're specifically using the Edmonds-Karp algorithm, which uses BFS to find its augmenting paths; in that case, you would, at least, find the shortest &lt;em&gt;unweighted&lt;/em&gt; path.)&lt;/p&gt;&#xA;" OwnerUserId="901" LastEditorUserId="901" LastEditDate="2011-06-25T15:07:53.057" LastActivityDate="2011-06-25T15:07:53.057" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7112" PostTypeId="1" AcceptedAnswerId="7125" CreationDate="2011-06-25T15:17:14.783" Score="8" ViewCount="951" Body="&lt;p&gt;I'm planning on running an “experiment” when teaching my algorithms class this fall, with one very old, limited computer (main limiting factor is probably memory—possibly as low as 16KB) and one modern/standard one. The idea being to solve a problem with a polynomial one, running on the slow computer, and an exponential one on the fast one (and, of course, have the slow one win).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem is finding a suitable problem—one where the running times will be really different for instances of very limited size (and, preferably, where the data structures are quite simple; the primitive computer is … primitive). I originally thought about sorting algorithms (e.g., quadratic vs. linear), but that would require far too large instances (unless I went with bogosort, for example).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;At the moment, the only (rather boring) example I've thought of is computing Fibonacci numbers the smart and the stupid way. It would be nice to have something a little less tired/overused, and preferably something (semi-)obviously useful. Any ideas/suggestions?&lt;/p&gt;&#xA;" OwnerUserId="901" LastActivityDate="2011-06-26T12:05:29.893" Title="Example problems with polynomial and exponential solutions, and tiny footprint?" Tags="&lt;ds.algorithms&gt;&lt;teaching&gt;" AnswerCount="4" CommentCount="2" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="7113" PostTypeId="2" ParentId="7112" CreationDate="2011-06-25T17:15:35.833" Score="5" Body="&lt;p&gt;Try counting perfect matchings in planar graphs, a problem that should be easy to explain. In the planar case, the &lt;a href=&quot;http://en.wikipedia.org/wiki/FKT_algorithm&quot; rel=&quot;nofollow noreferrer&quot;&gt;Fisher-Kastelyen-Temperley algorithm&lt;/a&gt; solves it in polynomial time, whereas for general graphs the problem is #P-complete, i.e. probably no faster way than to do brute force counting. Simply run FKT on the slow machine and brute force counting on the fast one.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(&lt;a href=&quot;https://cstheory.stackexchange.com/questions/6399/surprising-algorithms-for-counting-problems&quot;&gt;This&lt;/a&gt; is also a related question.)&lt;/p&gt;&#xA;" OwnerUserId="121" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2011-06-25T17:48:11.513" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7114" PostTypeId="1" CreationDate="2011-06-25T19:01:18.130" Score="11" ViewCount="491" Body="&lt;p&gt;I'm reading Watrous's excellent survey paper on paper on quantum complexity theory. In it he states that it would be surprising if a QMA -complete problem were found to have a vacuous promise (I.e. Be a language). Why is this so?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does it have to do with the fact that the k-local Hamiltonian problem is a promise problem?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, this leads me to a related question: are there QMA-complete problems that aren't inherently &quot;quantum&quot; in nature?&lt;/p&gt;&#xA;" OwnerUserId="170" LastActivityDate="2011-06-29T00:17:26.013" Title="Why must QMA complete problems be promise problems?" Tags="&lt;cc.complexity-theory&gt;&lt;quantum-computing&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7115" PostTypeId="2" ParentId="7114" CreationDate="2011-06-25T19:33:18.583" Score="6" Body="&lt;p&gt;On the second question: &lt;a href=&quot;http://arxiv.org/abs/0905.4755v2&quot; rel=&quot;nofollow&quot;&gt;http://arxiv.org/abs/0905.4755v2&lt;/a&gt; gives a classical QMA-complete eigenvalue problem related Markov chains.&lt;/p&gt;&#xA;" OwnerUserId="121" LastEditorUserId="121" LastEditDate="2011-06-25T20:43:51.830" LastActivityDate="2011-06-25T20:43:51.830" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7117" PostTypeId="1" CreationDate="2011-06-25T20:56:29.683" Score="7" ViewCount="150" Body="&lt;p&gt;&lt;a href=&quot;http://portal.acm.org/citation.cfm?id=331526&quot; rel=&quot;nofollow&quot;&gt;Leighton, Rao&lt;/a&gt; presented an $O(\log n)$ approximation algorithm for directed and undirected balanced vertex separator. &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=1060590.1060675&amp;amp;coll=DL&amp;amp;dl=GUIDE&amp;amp;CFID=28694540&amp;amp;CFTOKEN=81623558&quot; rel=&quot;nofollow&quot;&gt;Agarwal, Charikar, Makarychev, Makarychev&lt;/a&gt; improved this approximation factor of directed balanced vertex separator to $O(\sqrt{\log n})$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there an $O(\log \mathsf{opt})$ approximation algorithm for directed balanced vertex separator, where $\mathsf{opt}$ is the optimal size of the directed balanced vertex separator ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would appreciate any references/pointers.&lt;/p&gt;&#xA;" OwnerUserId="55" LastEditorUserId="1800" LastEditDate="2011-06-26T14:50:06.997" LastActivityDate="2011-06-26T14:50:06.997" Title="log(OPT) approximation for directed balanced vertex separator" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;approximation-algorithms&gt;" AnswerCount="0" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7120" PostTypeId="2" ParentId="7026" CreationDate="2011-06-25T21:57:17.347" Score="2" Body="&lt;p&gt;Your solution can be modified to do everything in $O(1)$ amortized time. Instead of maintaining a balanced tree, just keep track of the number of successful enqueue operations (those in which something was actually added to the back of the queue) and attach that number to queue along with the item during a successful enqueue operation. To find the depth of a key, just take the difference between the number of successful enqueues when it was enqueued, and the number of successful enqueues when the item currently at the front of the queue was enqueued. Note that this gives exact depth.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you're worried about storing excessively large values after many enqueue and dequeue operations, you can also keep track of the size of the queue and whenever the size is less than half the number of enqueues, re-number the number of enqueues for each entry to 1 through the size, and reset the number of enqueues to the size. Everything takes constant amortized time and each key takes at most one more bit than necessary to represent its depth at insertion.&lt;/p&gt;&#xA;" OwnerUserId="1560" LastActivityDate="2011-06-25T21:57:17.347" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="7121" PostTypeId="2" ParentId="7112" CreationDate="2011-06-25T23:24:28.350" Score="9" Body="&lt;p&gt;You could do regular expression matching. A naive backtracking matcher can easily be pushed into exponential behavior on inputs that a smarter matcher can handle in linear time. &lt;/p&gt;&#xA;" OwnerUserId="657" LastActivityDate="2011-06-25T23:24:28.350" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7122" PostTypeId="1" CreationDate="2011-06-26T00:04:37.503" Score="7" ViewCount="183" Body="&lt;blockquote&gt;&#xA;&lt;p&gt;Is there an oracle such that in the relativized world, bd-Frege (bounded depth Frege propositional proof system) has FIP (feasible interpolation property) but Frege does not have FIP?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Such an oracle will need to satisfy the following condition about DDH:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Is there an oracle such that in the world relativized to it, DDH&lt;span class=&quot;math-container&quot;&gt;$_n$&lt;/span&gt; has subexponential &lt;span class=&quot;math-container&quot;&gt;$2^{O(n^{1 \over d})}$&lt;/span&gt; size circuits but does not have polynomial ones?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;hr /&gt;&#xA;&lt;h3&gt;Motivation:&lt;/h3&gt;&#xA;&lt;p&gt;We were talking with &lt;a href=&quot;http://www.cs.toronto.edu/%7Eyuvalf/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Yuval&lt;/a&gt; about the possibility of reducing FIP for Frege to FIP for bd-Frege. Up to cryptographic assumption about hardness of DDH (&lt;a href=&quot;http://en.wikipedia.org/wiki/Decisional_Diffie%E2%80%93Hellman_assumption&quot; rel=&quot;nofollow noreferrer&quot;&gt;Decisional Diffie–Hellman&lt;/a&gt; problem) neither satisfies FIP. The hardness condition on DDH is (exponentially) stronger in the case of bd-Frege [BPR'00,BDGMP'04]. We wanted to see if we can weaken the hardness condition on DDH in the bd-Frege case to the same condition in the Frege case.&lt;/p&gt;&#xA;&lt;p&gt;Note that the FIP for Frege would trivially imply the FIP for bounded-depth Frege since the former p-simulates the later. There are sub-exponential simulation results in the other direction [FPS'11], but it is not clear if one can obtain FIP for Frege implies FIP for bd-Frege.&lt;/p&gt;&#xA;&lt;p&gt;On the other hand, for FIP it seems that we need to find the interpolant for cut rules in the proof which is close to finding a satisfying witness for a formula. The formula is of bounded depth in the case of bd-Frege, but the problem of finding a satisfying assignment is not easier than the general case of an arbitrary formula (the Frege case), both are &lt;span class=&quot;math-container&quot;&gt;$\mathsf{NP\text{-}complete}$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;hr /&gt;&#xA;&lt;h3&gt;Background:&lt;/h3&gt;&#xA;&lt;p&gt;One of the main problems in &lt;a href=&quot;http://en.wikipedia.org/wiki/Proof_complexity&quot; rel=&quot;nofollow noreferrer&quot;&gt;proof complexity&lt;/a&gt; is showing superpolynomial lowerbounds for &lt;a href=&quot;http://en.wikipedia.org/wiki/Propositional_proof_system&quot; rel=&quot;nofollow noreferrer&quot;&gt;propositional proof systems&lt;/a&gt;. If every propositional proof system has a family of formulas with superpolynomial proof size lowerbound, then it follows &lt;span class=&quot;math-container&quot;&gt;$\mathsf{NP} \neq \mathsf{coNP}$&lt;/span&gt;. So proving lowerbounds for propositional proof systems is similar to proving lowerbounds for circuit families (with the ultimate goal of showing a (general circuit) superpolynomial size lowerbound for some explicit function and separating &lt;span class=&quot;math-container&quot;&gt;$\mathsf{NP}$&lt;/span&gt; from &lt;span class=&quot;math-container&quot;&gt;$\mathsf{P}/\mathsf{poly}$&lt;/span&gt;).&lt;/p&gt;&#xA;&lt;p&gt;There is a nice correspondence between many propositional proof systems and circuit complexity classes: restrict the lines in the proof to circuits from the corresponding class.&lt;/p&gt;&#xA;&lt;p&gt;But proving lowerbounds for propositional proof systems seems to be even more difficult than proving circuit lowerbounds, for example we still don't have a lowerbound for the propositional proof system with &lt;span class=&quot;math-container&quot;&gt;$AC^0[ 2 ]$&lt;/span&gt; lines where as subexponential size lowerbound are known for &lt;span class=&quot;math-container&quot;&gt;$AC^0[ 2 ]$&lt;/span&gt; circuits computing &lt;span class=&quot;math-container&quot;&gt;$\mod 3$&lt;/span&gt;. Therefore transferring the results from circuit complexity to proof complexity is not straightforward.&lt;/p&gt;&#xA;&lt;p&gt;One of the few methods for proving proof complexity lowerbounds is showing that the proof system has FIP, and then use it to extract a reasonably small size circuit from the propositional proof of a formula coming from circuit complexity such that we know (or conjecture) the function computed by the interpolant is hard.&lt;/p&gt;&#xA;&lt;p&gt;FIP for a propositional proof system &lt;span class=&quot;math-container&quot;&gt;$P$&lt;/span&gt; means that if &lt;span class=&quot;math-container&quot;&gt;$P$&lt;/span&gt; proves a disjunction &lt;span class=&quot;math-container&quot;&gt;$\varphi(\vec{x},\vec{y}) \lor \psi(\vec{x},\vec{z})$&lt;/span&gt; then there is a small circuit that given values for &lt;span class=&quot;math-container&quot;&gt;$\vec{x}$&lt;/span&gt;, tell us which disjunct is true (think of each disjunct as a &lt;span class=&quot;math-container&quot;&gt;$\mathsf{coNP}$&lt;/span&gt; set in input &lt;span class=&quot;math-container&quot;&gt;$\vec{x}$&lt;/span&gt;, and their union covers all possible values of &lt;span class=&quot;math-container&quot;&gt;$\vec{x}$&lt;/span&gt;, or equivalently the task is separating two &lt;em&gt;provably&lt;/em&gt; disjoint &lt;span class=&quot;math-container&quot;&gt;$\mathsf{NP}$&lt;/span&gt; sets using polynomial size circuits).&lt;/p&gt;&#xA;&lt;p&gt;But unfortunately this doesn't work for even relatively weak systems like bd-Frege because up to cryptographic hardness assumptions mentioned above, these systems do not have FIP (they can prove cryptographic results such that an interpolant for the proof would break the cryptographic primitive).&lt;/p&gt;&#xA;&lt;hr /&gt;&#xA;&lt;h3&gt;References:&lt;/h3&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Y. Filmus, T. Pitassi, R. Santhanam, &lt;a href=&quot;http://www.cs.toronto.edu/%7Eyuvalf/FPS.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Exponential lower bounds for AC0-Frege imply polynomial Frege lower bounds&lt;/a&gt;, ICALP 2011&lt;/li&gt;&#xA;&lt;li&gt;M.L. Bonet, T. Pitassi, and R. Raz, &lt;a href=&quot;http://www.cs.toronto.edu/%7Etoni/Papers/bdgmp.ps&quot; rel=&quot;nofollow noreferrer&quot;&gt;On interpolation and automatization&#xA;for Frege systems&lt;/a&gt;, SIAM Journal on Computing, 2000.&lt;/li&gt;&#xA;&lt;li&gt;M.L. Bonet, C. Domingo, R. Gavalda, A. Maciel, and T.&#xA;Pitassi, &lt;a href=&quot;http://www.cs.toronto.edu/%7Etoni/Papers/interp.ps&quot; rel=&quot;nofollow noreferrer&quot;&gt;Non-automatizability of bounded-depth Frege proofs&lt;/a&gt;, Computational&#xA;Complexity, 2004.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;hr /&gt;&#xA;&lt;p&gt;Cross posted on &lt;a href=&quot;https://mathoverflow.net/questions/70486&quot;&gt;MO&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2011-07-17T10:50:31.553" Title="Oracle sparating FIP for bounded-depth Frege from FIP for Frege (and hardness conditions on DDH)" Tags="&lt;cc.complexity-theory&gt;&lt;cr.crypto-security&gt;&lt;oracles&gt;&lt;proof-complexity&gt;&lt;feasible-interpolation&gt;" AnswerCount="0" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7123" PostTypeId="2" ParentId="7110" CreationDate="2011-06-26T08:49:50.767" Score="1" Body="&lt;p&gt;I would be very surprised if a backpropagation-trained multilayer FFN spontaneously learned concepts of shape. It's not that the notion of &quot;shape&quot; isn't representable by a FFN (given enough layers, &lt;em&gt;anything&lt;/em&gt; is). It may even be the case that the globally optimal configuration &lt;em&gt;does&lt;/em&gt; capture something about shape. But there must be a strong local minimum about the exact-image replicator, meaning that typical backpropagation (i.e., gradient descent) algorithms will get stuch in such local minima. Unless you've specifically primed your FFN to learn shape, I would be very surprised if it did.&lt;/p&gt;&#xA;" OwnerUserId="1746" LastActivityDate="2011-06-26T08:49:50.767" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="7125" PostTypeId="2" ParentId="7112" CreationDate="2011-06-26T11:15:32.133" Score="6" Body="&lt;p&gt;An answer that somewhat generalizes Neel's comment is to look in the area of search and dynamic programming, which is full of wonderful algorithms that perform great if you memoize and terribly if you do not - even the boring factorial function you were thinking of falls in this category. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course, you will be limited by the memory ceiling on the slow computer, but I think that just means you have to be careful that you're sufficiently &quot;mean&quot; to the fast computer. Here are some specific ideas:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Given a large undirected graph, find a path between two points. The fast computer implements a (fair, or it might not terminate!) randomized search through the graph, whereas the slow computer calmly performs a breadth-first or depth-first search. You'd probably need to run this on multiple trials to ensure that the performance difference is noticable.&lt;/li&gt;&#xA;&lt;li&gt;Get a directed graph and try to find the shortest path between two points: fast computer enumerates all acyclical paths (using the tortoise-and-hare cycle detection algorithm at every step, bwahahahaha) first, and the slow computer patiently runs single-source shortest path.&lt;/li&gt;&#xA;&lt;li&gt;The edit distance algorithm? Any more-naive-than-dynamic-programming algorithm is probably going to completely choke here.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;One last idea is that you could try some algorithms in Prolog with and without an (unnecessary) occurs-check. But if you show those students how wonderful it is that Prolog without a semantically meaningful occurs-check is faster, I will cry. Also, this is usually a linear-vs-quadratic not polynomial-versus-exponential.&lt;/p&gt;&#xA;" OwnerUserId="1024" LastActivityDate="2011-06-26T11:15:32.133" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7126" PostTypeId="2" ParentId="7010" CreationDate="2011-06-26T11:58:49.070" Score="6" Body="&lt;p&gt;While the obvious answer is that the fundamental complexity can't change, there may be better or worse algorithms for parsing the strings you're actually going to encounter. However, it seems like the issue is less the relative frequency of individual grammar productions (the A's, B's, and C's in the question) and more an issue of the &lt;i&gt;unused, dead end&lt;/i&gt; parses that one binarization versus another may produce.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;With a bit of searching I found &lt;a href=&quot;http://academic.research.microsoft.com/Publication/4751634/better-binarization-for-the-cky-parsing&quot; rel=&quot;nofollow&quot;&gt;Better Binarization for the CKY Parsing&lt;/a&gt; (Song, Ding, and Lin, EMNLP 2008), which seems to definitively conclude that you &lt;i&gt;can&lt;/i&gt; pick a &quot;better&quot; or &quot;worse&quot; binarization relative to the strings you actually expect to have to parse. Their name for the &quot;dead end parses&quot; that one would hope to minimize in practice seems to be &lt;i&gt;incomplete constituents&lt;/i&gt;, and there is a good example on the first page.&lt;/p&gt;&#xA;" OwnerUserId="1024" LastEditorUserId="1024" LastEditDate="2011-06-26T12:04:52.657" LastActivityDate="2011-06-26T12:04:52.657" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7127" PostTypeId="2" ParentId="7112" CreationDate="2011-06-26T12:05:29.893" Score="1" Body="&lt;p&gt;If you are teaching algorithms I think you should do something simple, that illustrates the idea. I think that your sorting algorithm idea is a very good one and probably work if you try non-recursive algorithms in the primitive computer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm currently comparing sorting algorithms and I have Heap Sort running with 17,000 elements on a computer with 32kb ram.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would try insertion sort vs Heap Sort.&lt;/p&gt;&#xA;" OwnerUserId="5708" LastActivityDate="2011-06-26T12:05:29.893" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7128" PostTypeId="2" ParentId="7104" CreationDate="2011-06-26T14:54:08.410" Score="10" Body="&lt;p&gt;I think that the recent constructive proof of the Lovasz Local Lemma (http://blog.computationalcomplexity.org/2009/06/kolmogorov-complexity-proof-of-lov.html) and Patrascu's analysis of the component size in cuckoo hashing might both qualify.  These are both stated in terms of random strings, but would also work with Kolmogorov random strings (http://infoweekly.blogspot.com/2010/02/cuckoo-hashing.html).&lt;/p&gt;&#xA;" OwnerUserId="5713" LastActivityDate="2011-06-26T14:54:08.410" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7129" PostTypeId="1" AcceptedAnswerId="7132" CreationDate="2011-06-26T15:02:10.140" Score="18" ViewCount="1905" Body="&lt;p&gt;&lt;em&gt;This may be considered a stupid question. I am not a computer science major (and I'm not a mathematics major yet, either), so please excuse me if you think that the following questions display some major erroneous assumptions.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;While there are plans to formalize Fermat's Last Theorem (see this &lt;a href=&quot;http://www.win.tue.nl/diamant/symposium0711/slides/oosterhuisbackup.pdf&quot;&gt;presentation&lt;/a&gt;), I have never read or heard that a computer can prove even a &quot;simple&quot; theorem like Pythagoras'. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Why not? What is (/are) the main difficulty(/ies) behind establishing a fully autonomous proof by a computer, aided only by some &quot;built-in axioms&quot;? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A second question I would like to ask is the following: Why are we able to formalize many proofs, while it is currently impossible for a computer to prove a theorem on its own? Why is that &quot;harder&quot; ?&lt;/p&gt;&#xA;" OwnerUserId="5712" LastActivityDate="2011-06-26T21:53:34.027" Title="Why is it so difficult for a computer to prove something?" Tags="&lt;automated-theorem-proving&gt;" AnswerCount="2" CommentCount="10" FavoriteCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="7130" PostTypeId="2" ParentId="7129" CreationDate="2011-06-26T15:32:23.090" Score="18" Body="&lt;p&gt;Two main difficulties. Incompleteness (see Gödel's Incompleteness Theorems) and the vast size of the search space (there are vastly more uninteresting theorems than interesting ones). Considerable progress has been made using proof assistants (&lt;a href=&quot;http://coq.inria.fr/&quot;&gt;Coq&lt;/a&gt;, Isabelle, Agda, etc). With these the mathematician writes the theorems and lemmas and the proof assistant helps finding proofs and ensures that the proofs are logically valid.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One simple way a computer could prove a new theorem is to take two existing theorems, $P$  and $Q$ and combine them to make the theorem $P\wedge Q$. Of course, if the search procedure is more clever, then you can discover more clever things, but to find something truly interesting and original would require a lot of intelligent tricks and techniques on the part of the programmer. Gödel's incompleteness theorems are relevant here because they place a fundamental limit on what can be discovered within any proof system: a computer could never discover the proof of the consistency of its own logic.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This &lt;a href=&quot;http://www.research.microsoft.com/en-us/um/people/gonthier/4colproof.pdf&quot;&gt;paper&lt;/a&gt; describes how the proof assistant Coq is used to prove the four colour theorem. Mechanized mathematics (&lt;a href=&quot;http://www.cas.mcmaster.ca/~carette/publications/JLM_May29_09.pdf&quot;&gt;overview&lt;/a&gt; ) is one area of TCS devoted to (semi)automatically proving theorems (and in general using computers to help mathematicians). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;One area where automated theorem proving (of sorts) is making an impact is in model checking and model finding. Model checking deals with determining whether a given system satisfies a given property, whereas model finding finds a system to satisfy a given collection of properties. The tool &lt;a href=&quot;http://alloy.mit.edu/community/&quot;&gt;Alloy&lt;/a&gt; employs model checking and model finding to good effect, and it's quite usable.&lt;/p&gt;&#xA;" OwnerUserId="77" LastEditorUserId="77" LastEditDate="2011-06-26T17:34:58.100" LastActivityDate="2011-06-26T17:34:58.100" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="7131" PostTypeId="1" AcceptedAnswerId="14138" CreationDate="2011-06-26T20:14:15.737" Score="39" ViewCount="1805" Body="&lt;p&gt;Are there any known comparison sorting algorithms that do not reduce to sorting networks, such that each element is compared $O(\log n)$ times?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As far as I know, the only way to sort with $O(\log n)$ comparison on each element is to construct an AKS sorting network for $n$ inputs, and run the input on the sorting network.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;AKS is not easy to implement and has an impractical constant factor, so there are motivations to search for other algorithms.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An algorithm with $O(\log^2 n)$ comparisons per item which does not seem to imply a sorting network is presented &lt;a href=&quot;http://www.reddit.com/comments/9jqsi/how_to_merge_sorted_lists_with_olog_n_comparisons/&quot;&gt;here&lt;/a&gt;. (iirc, this was first presented by &lt;a href=&quot;http://www.cs.sunysb.edu/~rob/&quot;&gt;Rob Johnson&lt;/a&gt; at Stony Brook's algorithm seminar).&lt;/p&gt;&#xA;" OwnerUserId="314" LastEditorUserId="74" LastEditDate="2011-10-13T17:05:04.723" LastActivityDate="2012-11-01T21:02:59.983" Title="Sorting algorithm, such that each element is compared $O(\log n)$ times, and doesn't depend on a sorting network" Tags="&lt;ds.algorithms&gt;&lt;sorting&gt;&lt;sorting-network&gt;" AnswerCount="1" CommentCount="14" FavoriteCount="13" ContentLicense="CC BY-SA 3.0" />
  <row Id="7132" PostTypeId="2" ParentId="7129" CreationDate="2011-06-26T21:53:34.027" Score="23" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;While there are plans to formalize Fermat's Last Theorem (see this presentation), I have never read or heard that a computer can prove even a &quot;simple&quot; theorem like Pythagoras'. &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;In 1949 Tarski proved that almost everything in &lt;em&gt;The Elements&lt;/em&gt; lies within a decidable fragment of logic, when he showed the decidability of the first-order theory of real closed fields. So the Pythagorean theorem in particular is not talked about much because it's not especially hard. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In general, the thing that makes theorem proving hard is induction. First-order logic without induction has a very useful property called the subformula property: true formulas $A$ have proofs involving only the subterms of $A$. This means that it's possible to build theorem provers which can decide what to prove next based on an analysis of the theorem they are instructed to prove. (Quantifier instantiation can make the right notion of subformula a bit more subtle, but we have reasonable techniques to cope with this.) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, the addition of the induction schema to the axioms breaks this property. The only proof of a true formula $A$ may require doing a proof $B$ which is not syntactically a subformula of $A$. When we run into this in a paper proof, we say we have to &quot;strengthen the induction hypothesis&quot;. This is quite hard for a computer to do, because the appropriate strengthening can require both significant domain-specific information, and an understanding of &lt;em&gt;why&lt;/em&gt; you're proving a particular theorem. Without this information, truly relevant generalizations can get lost in a forest of irrelevant ones. &lt;/p&gt;&#xA;" OwnerUserId="657" LastActivityDate="2011-06-26T21:53:34.027" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7137" PostTypeId="1" AcceptedAnswerId="7138" CreationDate="2011-06-27T08:48:22.253" Score="8" ViewCount="3898" Body="&lt;p&gt;I have a DAG of dependencies that contains lots of redundant edges (see example below). I want a &quot;quick&quot; algorithm (ie. can handle a graph with several thousands of nodes/edges) that finds a minimal sub graph. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;A -&amp;gt; B -&amp;gt; C&#xA;A -&amp;gt; C&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;in words A is prerequisite to B, and B is prerequisite to C, and also A is prerequisite to C. In this case A -&gt; C is redundant (since B is already necessary to reach C, and A is necessary to reach B).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Its been a while since I studied algorithms, and I'm not sure where to start.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By the way, its not critical that the algorithm finds the global minimum, local minimum is fine (the edge reduction is only a runtime optimization for next stage of processing).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, I realize this is a CS QA and not programming, but my program is written in Python, so I would be extra happy to learn of a python module or open source for doing this reduction, just in case you know of it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;thanks in advance!&lt;/p&gt;&#xA;" OwnerUserId="5725" LastEditorUserId="1800" LastEditDate="2011-06-30T17:34:08.767" LastActivityDate="2011-06-30T17:34:08.767" Title="Reducing redundant edges from a dependency graph" Tags="&lt;ds.algorithms&gt;&lt;graph-algorithms&gt;&lt;transitive-reduction&gt;" AnswerCount="2" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7138" PostTypeId="2" ParentId="7137" CreationDate="2011-06-27T09:19:58.270" Score="13" Body="&lt;p&gt;&lt;a href=&quot;http://epubs.siam.org/sicomp/resource/1/smjcat/v1/i2/p131_s1?isAuthorized=no&quot; rel=&quot;nofollow noreferrer&quot;&gt;The Transitive Reduction of a Directed Graph&#xA;A. V. Aho, M. R. Garey, and J. D. Ullman&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;According to &lt;a href=&quot;http://en.wikipedia.org/wiki/Transitive_reduction#Graph_algorithms_for_transitive_reduction&quot; rel=&quot;nofollow noreferrer&quot;&gt;wikipedia&lt;/a&gt;, this algorithm is used by &lt;code&gt;tred&lt;/code&gt; which is tool for transitive reduction available in GraphViz package. You can run it on your graph and get reduced graph. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This question is duplicate of &lt;a href=&quot;https://stackoverflow.com/q/510277/58737&quot;&gt;this stackoverflow question&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.google.com/codesearch#pFm0LxzAWvs/darwinsource/tarballs/other/graphviz-622.tar.gz%7C8x16qTtM0ig/graphviz-622/graphviz/tools/src/tred.c&amp;amp;type=cs&amp;amp;l=49&quot; rel=&quot;nofollow noreferrer&quot;&gt;code here&lt;/a&gt; &lt;code&gt;graphviz/tools/src/tred.c&lt;/code&gt; &lt;strong&gt;does&lt;/strong&gt; use DFS. ;-)&lt;/p&gt;&#xA;" OwnerUserId="612" LastEditorUserId="-1" LastEditDate="2017-05-23T11:33:33.907" LastActivityDate="2011-06-27T09:52:25.683" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="7139" PostTypeId="1" CreationDate="2011-06-27T13:26:58.760" Score="10" ViewCount="251" Body="&lt;p&gt;Does there exist a w-bit word-RAM data structure with O(1) time per operation for the following problem?:  Maintain a set of w-bit non-negative integers that supports the operations&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;add(x) : add x to the set&lt;/li&gt;&#xA;&lt;li&gt;remove(x) : remove x from the set&lt;/li&gt;&#xA;&lt;li&gt;fingerprint() : return a fingerprint of the set.  This w-bit fingerprint has  the property that two sets that are identical have the same fingerprint while two sets that are different probably have different fingerprints&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;All operations should run in constant time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The Rabin-Karp fingerprinting scheme, where $$f(S) = \left(\sum_{x\in S} 2^x\right) \bmod p$$ where p is a random w-bit prime almost works.  The problem is with the update time, since computing $$2^x \bmod p$$ takes more than constant time.  Using repeated squaring, this can be done in O(log w) time. The fastest modular exponentiation algorithm I could find does something like (log w)/(loglog w) arithmetic operations.&lt;/p&gt;&#xA;" OwnerUserId="5728" LastActivityDate="2014-12-24T15:45:45.083" Title="Fingerprinting for dynamic sets" Tags="&lt;ds.data-structures&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="7140" PostTypeId="2" ParentId="593" CreationDate="2011-06-27T14:21:35.363" Score="17" Body="&lt;p&gt;The Bently-Saxe method gives a fairly natural stable priority queue.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Store your data in a sequence of sorted arrays $A_0,\ldots,A_k$.  $A_i$ has size $2^i$.  Each array also maintains a counter $c_i$. The array entries $A_i[c_i],\ldots,A_i[2^i-1]$ contain data.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For each $i$, all elements in $A_i$ were added more recently than those in $A_{i+1}$ and within each $A_i$ elements are ordered by value with ties being broken by placing older elements ahead of newer elements.  Note that this means we can merge $A_i$ and $A_{i+1}$ and preserve this ordering.  (In the case of ties during the merge, take the element from $A_{i+1}$.) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;To insert a value $x$, find the smallest $i$ such that $A_i$ contains 0 elements, merge $A_0,\ldots,A_{i-1}$ and $x$, store this in $A_i$ and set $c_0,\ldots,c_i$ appropriately.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To extract the min, find the largest index $i$ such that the first element in $A_i[c_i]$ is minimum over all $i$ and increment $c_i$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By the standard argument, this gives $O(\log n)$ amortized time per operation and is stable because of the ordering described above.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For a sequence of $n$ insertions and extractions, this uses $n$ array entries (don't keep empty arrays) plus $O(\log n)$ words of bookkeeping data.  It doesn't answer Mihai's version of the question, but it shows that the stable constraint doesn't require a lot of space overhead.  In particular, it shows that there is no $\Omega(n)$ lower-bound on the extra space needed.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt; Rolf Fagerberg points out that if we can store null (non-data) values, then this whole data structure can be packed into an array of size $n$, where $n$ is the number of insertions so far.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First, notice that we can pack the $A_k,\ldots,A_0$ into an array in that order (with $A_k$ first, followed by $A_{k-1}$ if it's non-empty, and so on).  The structure of this is completely encoded by the binary representation of $n$, the number of elements inserted so far.  If the binary representation of $n$ has a 1 at position $i$, then $A_i$ will occupy $2^i$ array location, otherwise it will occupy no array locations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;When inserting, $n$, and the length of our array, increase by 1, and we can merge $A_0,\ldots,A_i$ plus the new element using existing in-place stable merging algorithms.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, where we use null values is in getting rid of the counters $c_i$.  In $A_i$, we store the first value, followed by $c_i$ null values, followed by the remaining $2^i-c_i-1$ values.  During an extract-min, we can still find the value to extract in $O(\log n)$ time by examining $A_0[0],\ldots,A_k[0]$.  When we find this value in $A_i[0]$ we set $A_i[0]$ to null and then do binary search on $A_i$ to find the first non-null value $A_i[c_i]$ and swap $A_i[0]$ and $A_i[c_i]$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The end result: The entire structure can be implemented with one array whose length is increment with each insertion and one counter, $n$, that counts the number of insertions.&lt;/p&gt;&#xA;" OwnerUserId="5728" LastEditorUserId="5728" LastEditDate="2011-06-29T18:07:51.577" LastActivityDate="2011-06-29T18:07:51.577" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7141" PostTypeId="2" ParentId="3888" CreationDate="2011-06-27T16:41:54.960" Score="21" Body="&lt;p&gt;The folklore answer is that factoring is &quot;structured&quot; in a way that general NP-complete problems aren't, and this is why we have only been able to find quantum advantage for intermediate problems.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Arguably a simpler version of your question is to look not at computational complexity, but at the query complexity of boolean functions.  Here we can say some things provably, such as the fact that superpolynomial speedups are possible only for &lt;em&gt;partial functions&lt;/em&gt; (proved in &lt;a href=&quot;http://arxiv.org/abs/quant-ph/9802049&quot;&gt;http://arxiv.org/abs/quant-ph/9802049&lt;/a&gt;) and not for functions that are symmetric in their inputs and outputs (proved in &lt;a href=&quot;http://arxiv.org/abs/0911.0996&quot;&gt;http://arxiv.org/abs/0911.0996&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;These results do not directly shed light on the BQP vs NP question, but are I think meaningful steps towards determining where there is quantum advantage.&lt;/p&gt;&#xA;" OwnerUserId="886" LastActivityDate="2011-06-27T16:41:54.960" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7142" PostTypeId="2" ParentId="593" CreationDate="2011-06-27T23:52:02.983" Score="-1" Body="&lt;p&gt;I don't think that's possible&lt;/p&gt;&#xA;&#xA;&lt;p&gt;concrete case:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;       x&#xA;    x    x&#xA;  x  x  1  x&#xA;1  x  &#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;min heap with all x &gt; 1&lt;/p&gt;&#xA;&#xA;&lt;p&gt;heapifying will eventually give something a choice like so&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;       x&#xA;    1    1&#xA;  x  x  x  x&#xA;x  x  &#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;now which 1 to propagate to root?&lt;/p&gt;&#xA;" OwnerUserId="5737" LastActivityDate="2011-06-27T23:52:02.983" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7143" PostTypeId="1" AcceptedAnswerId="7146" CreationDate="2011-06-28T00:52:58.003" Score="6" ViewCount="410" Body="&lt;p&gt;Is there any standard style for adding author information in research papers? I see different papers use different styles. Some have affiliation and contact address only. Some have affiliation, email, contact address in full. Some include designation also. So what is the best style one should follow? I am preparing a paper for a Springer Conference. &lt;/p&gt;&#xA;" OwnerUserId="3162" LastEditorDisplayName="user30448" LastEditDate="2019-01-23T08:24:26.517" LastActivityDate="2019-01-23T08:24:26.517" Title="How to format author information in research papers?" Tags="&lt;soft-question&gt;&lt;writing&gt;&lt;paper-review&gt;&lt;authorship&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="3" ContentLicense="CC BY-SA 4.0" />
  <row Id="7145" PostTypeId="1" CreationDate="2011-06-28T08:58:08.873" Score="18" ViewCount="2546" Body="&lt;p&gt;A recent approach to creating a decentralized online currency, called &lt;a href=&quot;http://www.bitcoin.org/bitcoin.pdf&quot; rel=&quot;noreferrer&quot;&gt;Bitcoin&lt;/a&gt;, has been generating some interest. The goal is to have a way to transfer currency without a central authority and without double spending or counterfeiting. Their approach is to have all the nodes in the network try to verify a transaction by doing a proof-of-work computation and then the transactions with the most verification are considered official. If an attacker wants to forge the official record (to reverse their first spending and use the coin again), then they must have the majority of the computing power in the network. The biggest downside is that in this scheme, the record of all transactions must be public, which the author assumes is a must:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;The only way to confirm the absence of a transaction is to be aware of all transactions. In the mint based model, the mint was aware of all transactions and decided which arrived first.  To accomplish this without a trusted party, transactions must be publicly announced&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Is it obvious that all transactions must be publicly known in any such scheme? More broadly: is there any cstheory/crypto research on decentralized digital currencies or related ideas?&lt;/p&gt;&#xA;&lt;h3&gt;Notes&lt;/h3&gt;&#xA;&lt;p&gt;I &lt;a href=&quot;https://crypto.stackexchange.com/q/508/617&quot;&gt;cross-posted to crypto.SE&lt;/a&gt; after a &lt;a href=&quot;https://cstheory.meta.stackexchange.com/q/1293/1037&quot;&gt;meta discussion&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="1037" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2011-08-25T10:29:07.690" Title="Bitcoin and preventing double spending in decentralized digital currencies" Tags="&lt;reference-request&gt;&lt;cr.crypto-security&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="7146" PostTypeId="2" ParentId="7143" CreationDate="2011-06-28T10:02:00.210" Score="14" Body="&lt;p&gt;I think you should keep in mind how people are going to &lt;em&gt;use&lt;/em&gt; this information and for what purpose.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;You use it to advertise yourself and your identity. You hope that little by little, people learn to recognise your name and know what kind of work you do.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Other researchers will use the information to find more information about you and your work. If they find a relevant paper written by you, they might want to find your home page and see if you have done more recent research on the same topic. Or they might want to contact you and ask more about your work.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Various organisations will use it to construct bibliography databases (DBLP, ACM Portal, MathSciNet, etc.) and to come up with all kinds of statistics (how many papers were published by university X). The editors of the bibliography databases typically want to figure out which papers are written by the same person (far from trivial, as the names are not unique).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Some advice based on the above use cases:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Please try to include your &lt;strong&gt;full name&lt;/strong&gt;. Do not abbreviate your first name. Use the same version of your name in all research papers, and use the same version on your home page. For example, if you decide to use middle initials, do it consistently.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;An &lt;strong&gt;email address&lt;/strong&gt; might be a good idea (at least if you are not worried about spam email). Not that I would ever send email blindly to an address that I see in a paper, but &lt;em&gt;googling&lt;/em&gt; for the email address might be much faster than googling for your name if you happen to have lots of namesakes.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Affiliations&lt;/strong&gt; (the names of the universities, departments, institutes, and/or companies) are a must to keep your employers happy... They also help with disambiguation if you happen to have lots of namesakes. (Unfortunately people change universities often or have double-affiliations, and this will also &lt;em&gt;create&lt;/em&gt; some confusion in the bibliography databases.)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I have no idea who would ever use your full postal address for anything nowadays – if they need it, they can google for up-to-date information. However, it might be nice to include the town and country, especially if your university does not happen to be named after (a well-known) city.&lt;/p&gt;&#xA;" OwnerUserId="74" LastActivityDate="2011-06-28T10:02:00.210" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="7147" PostTypeId="1" CreationDate="2011-06-28T13:50:38.800" Score="9" ViewCount="422" Body="&lt;p&gt;I have a large dataset of trees and I would like to search it by specifying a &lt;em&gt;treelet&lt;/em&gt; (connected subgraph). The query should return all the occourrences of the treelet in the dataset.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there efficient algorithms to do so?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I was thinking of something like suffix arrays, however, naively encoding the trees as strings (by a fixed traversal ordering of their nodes) won't work, since the search treelet can be of any arbitrary shape. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;UPDATE:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some details about the typical instances I expect:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The dataset will consist in at least tens of thousands trees, each consisting in about twenty to thirty nodes.&#xA;The trees will not be not binary, but the typical children number per node will be small (usually no larger than four or five, although in some degenerate cases it can reach about thirty). The number of labels will be in the tens of thousands.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I need that for NLP applications: each tree will be the dependency parse of a sentence, each node representing a word occourrence and each label a dictionary word (with some decoration).&lt;/p&gt;&#xA;" OwnerUserId="1749" LastEditorUserId="1749" LastEditDate="2011-07-02T20:34:47.790" LastActivityDate="2014-10-07T23:39:20.497" Title="Efficient algorithms for searching a collection of trees" Tags="&lt;graph-algorithms&gt;&lt;ds.data-structures&gt;&lt;tree&gt;&lt;graph-isomorphism&gt;&lt;string-search&gt;" AnswerCount="2" CommentCount="11" ContentLicense="CC BY-SA 3.0" />
  <row Id="7148" PostTypeId="1" CreationDate="2011-06-28T14:25:28.013" Score="2" ViewCount="269" Body="&lt;p&gt;I have a number of sets, each containing items with a numerical value and a string.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I want to choose one item out of each set, so that:&#xA;1. the strings of the chosen items form a set (i.e. the strings are not equal to any of the strings from the other chosen items)&#xA;2. the numerical values of the chosen items are as high as possible&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is not always possible to satisfy 1., e.g. two sets may contain only one item each, both with the same string. When not possible to satisfy 1., the optimal solution is the one that is closest to satisfy 1., 2. is not as important.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;How do I find the optimal solution? Are there any widely known algorithms for performing this or something similar?&lt;/p&gt;&#xA;" OwnerUserId="4228" LastEditorUserId="1800" LastEditDate="2011-06-28T14:41:46.393" LastActivityDate="2011-07-04T16:11:19.770" Title="Algorithm for choosing unique items from a collection of sets of items" Tags="&lt;ds.algorithms&gt;&lt;graph-algorithms&gt;" AnswerCount="0" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="7149" PostTypeId="1" CreationDate="2011-06-28T14:49:05.703" Score="2" ViewCount="479" Body="&lt;p&gt;I'm currently thinking about a problem I'd like to manage in one of my applications.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is a set of objects $\{A, B, C, D, \ldots\}$. Every object has the same attributes with different values. For example, $A$'s attribute $a_1$ has the value $A(a_1)$, $B$'s attribute $a_1$ has the value $B(a_1)$ and so on.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now I want to pass a number $x$ which represents the maximum number of objects to selected from the set. For example, $x = 2$ would mean that any combination of at most 2 objects are allowed to be selected from the set.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given this table of attributes and the number $x$, the algorithm should return at most $x$ objects which, in summation, own the largest attributes. Only the greater one counts.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example: $A,B,C$ with attributes $a_1,a_2,a_3$ and $x = 2$:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\begin{array}{|c|c|c|c|}&#xD;&#xA;   &amp;amp; a_1 &amp;amp;  a_2 &amp;amp;  a_3\\\hline&#xD;&#xA; A &amp;amp;   1 &amp;amp; -100 &amp;amp;   -1\\\hline&#xD;&#xA; B &amp;amp;  -2 &amp;amp;    2 &amp;amp; -200\\\hline&#xD;&#xA; C &amp;amp; -20 &amp;amp;  -10 &amp;amp;   10\\\hline&#xD;&#xA;\end{array}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The algorithm should return $A$ and $B$ since $A(a_1) + A(a_2) + B(a_3)$ serve the maximum when at most 2 objects from the set are allowed to be selected.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If I'd use brute-force, I simply would test all $\binom{n}{x}$ combinations and calculate the overall sum.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a faster way to do this?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks!&lt;/p&gt;&#xA;" OwnerDisplayName="kuq" LastEditorUserId="80" LastEditDate="2011-06-28T20:11:21.520" LastActivityDate="2011-06-28T22:49:45.483" Title="Complexity of a weighted subset selection problem." Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;" AnswerCount="2" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7151" PostTypeId="2" ParentId="7149" CreationDate="2011-06-28T17:08:39.833" Score="7" Body="&lt;p&gt;I'm going to assume your problem is equivalent to what this computes:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;max map SubsetsOfSize(N) \S (sum map attributes \A (max map S \e A[e]))&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;In other words, find the best set of items such that picking the best available item attribute values gives the largest sum.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Yes, it's NP-Complete. You can encode 3-Sat into it. Each variable becomes a true-row and false-row. Each clause becomes a column with a 1 in the rows corresponding to its satisfying assignments. You prevent true-row and false-rows from being selected simultaneously by adding columns with huge values in those two rows (0 everywhere else) and requiring that exactly half the rows be selected (thus the optimal solution will require each huge value, and picking a true and false will lose a huge value somewhere else). The 3-sat instance being satisfiable is equivalent to being able to select items for a total score of HugeValue*NumVariables + NumClauses.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Example transformation:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;(A or B or C) and (not A or B or not C)&#xA;&#xA;   uA uB uC  C1 C2&#xA;+A  9  0  0  1  0&#xA;-A  9  0  0  0  1&#xA;+B  0  9  0  1  1&#xA;-B  0  9  0  0  0&#xA;+C  0  0  9  1  0&#xA;-C  0  0  9  0  1&#xA;N = 3&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;" OwnerUserId="4967" LastActivityDate="2011-06-28T17:08:39.833" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="7152" PostTypeId="2" ParentId="7149" CreationDate="2011-06-28T18:01:38.553" Score="4" Body="&lt;p&gt;If you rewrite this as the (I think) equivalent problem&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$ \begin{eqnarray} \text{maximize } \sum _j \sum _i x_{i j}A_i(a_j) \end{eqnarray} $$&#xA;$\text{subject to:}$&#xA;$$\sum_j x_{i j} \le x$$&#xA;$$\sum_i x_{i j} = 1 $$&#xA;$$x_{i j} \in \left\{0,1\right\}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;this is a &lt;a href=&quot;http://en.wikipedia.org/wiki/Integer_programming&quot; rel=&quot;nofollow&quot;&gt;linear integer programming problem&lt;/a&gt;. In fact, I think all the variables are binary. This shows that your problem is an instance of BILP (Binary Integer Linear Programming) but doesn't prove it is NP-hard or complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Luckily, this of course means you can use any of the &lt;a href=&quot;http://en.wikipedia.org/wiki/Linear_programming#Solvers_and_scripting_.28programming.29_languages&quot; rel=&quot;nofollow&quot;&gt;awesome integer programming libraries&lt;/a&gt; out there to try to find an answer with minimal work from your part.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, I'd just like to note that if the parameter $x$ is fixed then $\binom{n}{x}\in O(n^x)$ which makes the brute force polynomial time. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hopefully, I've given you a possible answer to your question &#xA;&quot;Is there a faster way to do this?&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you are more interested in the proof of NP-completeness see the other answer's reduction.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;PS. Does anyone know how to do an equation array in this latex? I can't seem to get &lt;code&gt;\\&lt;/code&gt; to work&lt;/p&gt;&#xA;" OwnerUserId="1169" LastEditorUserId="1169" LastEditDate="2011-06-28T22:49:45.483" LastActivityDate="2011-06-28T22:49:45.483" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="7154" PostTypeId="1" CreationDate="2011-06-28T19:56:53.217" Score="0" ViewCount="123" Body="&lt;p&gt;There are $n$ bins and $m$ balls, $b_i$ where $0&amp;lt;i\le m$. Balls are with different weights $w_i$ and have dependency between them. ball $b_1$ depends on $b_2$, $b_2$ depends on $b_3$, and so on. It means that $b_1$ can be assigned with $b_3$ only when $b_2$ is assigned to the same bin. Is there an algorithm that assigns balls into $x&amp;lt;n$ bins so that maximal load of these bins is minimized.&lt;/p&gt;&#xA;" OwnerUserId="5742" LastEditorUserId="77" LastEditDate="2011-06-28T20:01:22.537" LastActivityDate="2011-06-28T20:01:22.537" Title="On algorithms that minimizes maximal load of bins" Tags="&lt;ds.algorithms&gt;&lt;optimization&gt;&lt;packing&gt;" AnswerCount="0" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="7156" PostTypeId="1" AcceptedAnswerId="7211" CreationDate="2011-06-28T22:59:38.527" Score="25" ViewCount="1621" Body="&lt;p&gt;&lt;strong&gt;Question:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What is the best known formula size lower bound for an explicit function in AC&lt;sup&gt;0&lt;/sup&gt;? Is there an explicit function with an $\Omega(n^2)$ lower bound?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Background:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Like most lower bounds, formula size lower bounds are hard to come by. I am interested in formula size lower bounds over the standard universal gate set {AND, OR, NOT}.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The best known formula size lower bound for an explicit function over this gate set is $\Omega(n^{3-o(1)})$ for a function defined by Andreev. This bound was shown by Håstad, improving Andreev's lower bound of $\Omega(n^{2.5-o(1)})$. &#xA;Another explicit lower bound is Khrapchenko's $\Omega(n^2)$ lower bound for the parity function.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, these two functions are not in AC&lt;sup&gt;0&lt;/sup&gt;. I'm wondering if we know an explicit function in AC&lt;sup&gt;0&lt;/sup&gt; with a quadratic (or better) lower bound. The best bound I am aware of is the $\Omega(n^2/\log n)$ lower bound for the Element Distinctness function, as shown by Nechiporuk. Note that the element distinctness function is in AC&lt;sup&gt;0&lt;/sup&gt;, so I'm looking for a lower bound for an explicit AC&lt;sup&gt;0&lt;/sup&gt; function that is better than $\Omega(n^2/\log n)$, preferably $\Omega(n^2)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Further reading:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An excellent resource on the topic is &quot;Boolean Function Complexity: Advances and Frontiers&quot; by Stasys Jukna. A draft of the book is available for free on his website.&lt;/p&gt;&#xA;" OwnerUserId="206" LastEditorUserId="206" LastEditDate="2011-06-30T00:16:26.833" LastActivityDate="2011-07-09T16:15:30.330" Title="Formula size lower bounds for AC0 functions" Tags="&lt;cc.complexity-theory&gt;&lt;lower-bounds&gt;&lt;circuit-complexity&gt;&lt;formulas&gt;" AnswerCount="2" CommentCount="4" FavoriteCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="7159" PostTypeId="1" AcceptedAnswerId="7194" CreationDate="2011-06-29T00:59:23.243" Score="1" ViewCount="72" Body="&lt;p&gt;Let there be two sets of points $S$ and $S&amp;#39;$ in $R^d$. $|S| = |S&amp;#39;|$, and for each point $s_i$ in $S$ it exists exactly one corresponding point $s&amp;#39;_i$ in $S&amp;#39;$, such that the ordering of $S$ equals the ordering of $S&amp;#39;$ with respect to any axis of $R^d$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there any term that describes this relationship or 'morphism' between $S$ and $S&amp;#39;$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;E.g. in $R^2$, if $x_{s_i} &amp;lt; x_{s_j}$ then $x_{s&amp;#39;_i} &amp;lt; x_{s&amp;#39;_j}$, or if $y_{s_i} \ge y_{s_j}$ then $y_{s&amp;#39;_i} \ge y_{s&amp;#39;_j}$, etc.&lt;/p&gt;&#xA;" OwnerUserId="4757" LastActivityDate="2011-07-01T20:29:25.460" Title="Term for a correspondence of two point sets regarding their ordering in each dimension" Tags="&lt;cg.comp-geom&gt;&lt;terminology&gt;&lt;metric-spaces&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="7160" PostTypeId="2" ParentId="783" CreationDate="2011-06-29T01:12:49.557" Score="21" Body="&lt;p&gt;A new &lt;a href=&quot;http://arxiv.org/abs/1106.5736&quot;&gt;paper&lt;/a&gt; by Demaine, Demaine, Eisenstat, Lubiw, and Winslow makes partial progress on this question---it gives a polynomial-time algorithm for optimally solving $n \times O(1) \times O(1)$ cubes, and shows $\mathsf{NP}$-hardness for optimally solving what you might call &quot;partially-colored&quot; cubes.&#xA;It also shows that the $n \times n \times n$ cube's configuration space has diameter $\Theta(n^2/\log n)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Sweet!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One possible next question that their work seems to suggest: is there a &lt;em&gt;fixed&lt;/em&gt; family of partially-colored $n \times n \times n$ cubes, one for each value of $n$, such that optimally solving from a given configuration is $\mathsf{NP}$-hard?&lt;/p&gt;&#xA;" OwnerUserId="223" LastEditorUserId="223" LastEditDate="2011-06-29T16:01:48.653" LastActivityDate="2011-06-29T16:01:48.653" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="7161" PostTypeId="2" ParentId="7137" CreationDate="2011-06-29T07:26:55.317" Score="-1" Body="&lt;p&gt;I ended up solving it this way:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My data structure is made of &lt;code&gt;dependends&lt;/code&gt; dictionary, from a node id to a list of nodes that depend on it (ie. its followers in the DAG).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I haven't calculated the exact complexity of it, but it swallowed my graph of several thousands in a split second.&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;_transitive_closure_cache = {}&#xA;def transitive_closure(self, node_id):&#xA;    &quot;&quot;&quot;returns a set of all the nodes (ids) reachable from given node(_id)&quot;&quot;&quot;&#xA;    global _transitive_closure_cache&#xA;    if node_id in _transitive_closure_cache:&#xA;        return _transitive_closure_cache[node_id]&#xA;    c = set(d.id for d in dependents[node_id])&#xA;    for d in dependents[node_id]:&#xA;        c.update(transitive_closure(d.id))  # for the non-pythonists - update is update self to Union result&#xA;    _transitive_closure_cache[node_id] = c&#xA;    return c&#xA;&#xA;def can_reduce(self, source_id, dest_id):&#xA;    &quot;&quot;&quot;returns True if the edge (source_id, dest_id) is redundant (can reach from source_id to dest_id without it)&quot;&quot;&quot;&#xA;    for d in dependents[source_id]:&#xA;        if d.id == dest_id:&#xA;            continue&#xA;        if dest_id in transitive_closure(d.id):&#xA;            return True # the dest node can be reached in a less direct path, then this link is redundant&#xA;    return False&#xA;&#xA;# Reduce redundant edges:&#xA;for node in nodes:      &#xA;    dependents[node.id] = [d for d in dependents[node.id] if not can_reduce(node.id, d.id)]&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;" OwnerUserId="5725" LastActivityDate="2011-06-29T07:26:55.317" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7163" PostTypeId="2" ParentId="6397" CreationDate="2011-06-29T09:34:33.790" Score="2" Body="&lt;p&gt;A consistent and quite usable definition of mixed graphs, which I call&#xA;general graphs, can be found in G.Stiege, General Graphs. &#xA;A report is obtainable from&#xA;&lt;a href=&quot;http://www-bvs.informatik.uni-oldenburg.de/Literatur/Berichte/oib07-02.html&quot; rel=&quot;nofollow&quot;&gt;http://www-bvs.informatik.uni-oldenburg.de/Literatur/Berichte/oib07-02.html&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="5761" LastActivityDate="2011-06-29T09:34:33.790" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7164" PostTypeId="1" AcceptedAnswerId="7225" CreationDate="2011-06-29T12:33:02.623" Score="10" ViewCount="792" Body="&lt;p&gt;Loosely speaking, permutation pattern matching deals with problems of the following kind: &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Given permutations $\pi$ in $S_n$ and $\sigma$ in $S_m$, with $m\leq n$, does $\pi$ contain a &lt;a href=&quot;http://en.wikipedia.org/wiki/Subsequence&quot;&gt;subsequence&lt;/a&gt; $\tau$ of length $m$ whose elements are ordered according to $\sigma$?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;For example, if $\pi=\langle 3\ 1\ 5\ 4\ 2\ 8\ 6\ 7\rangle$ and $\sigma=\langle 2\ 1\ 3\rangle$, then the subsequence $3\ 1\ 4$ matches $\sigma$. As you can see, we're not looking here for an exact match, but rather for something that &quot;looks like&quot; the specified pattern.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does anyone know whether work has been conducted on extending permutation pattern matching problems to strings? Google unfortunately did not help, since the well-known pattern matching problem on strings has nothing to do with this.&lt;/p&gt;&#xA;" OwnerUserId="775" LastActivityDate="2014-02-12T05:29:14.963" Title="Permutation pattern matching in strings" Tags="&lt;permutations&gt;&lt;string-matching&gt;" AnswerCount="3" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7165" PostTypeId="2" ParentId="7164" CreationDate="2011-06-29T13:35:24.323" Score="0" Body="&lt;p&gt;You should start from &#xA;Revital Eres, Gad M. Landau, Laxmi Parida: &lt;a href=&quot;http://dx.doi.org/10.1089/cmb.2004.11.1050&quot; rel=&quot;nofollow&quot;&gt;Permutation Pattern Discovery in Biosequences&lt;/a&gt;. Journal of Computational Biology 11(6): 1050-1060 (2004).&lt;/p&gt;&#xA;" OwnerUserId="474" LastActivityDate="2011-06-29T13:35:24.323" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="7166" PostTypeId="2" ParentId="7164" CreationDate="2011-06-29T13:38:26.100" Score="3" Body="&lt;p&gt;Baars, Löh, and Swierstra implemented &lt;a href=&quot;http://journals.cambridge.org/action/displayAbstract?fromPage=online&amp;amp;aid=254709&amp;amp;fulltextType=RL&amp;amp;fileId=S0956796804005143&quot; rel=&quot;nofollow&quot;&gt;&lt;em&gt;Permutation Parsers&lt;/em&gt;&lt;/a&gt; for Haskell (Journal of Functional Programming / Volume 14 / Issue 06, pp 635 - 646). These can be used to specify the permutation of a collection of parsers. If each of these parsers is an optional parser for a single character (that is, matches the character or nothing), then you'd have the ingredients you are looking for. I believe that their library is available with GHC.&lt;/p&gt;&#xA;" OwnerUserId="77" LastActivityDate="2011-06-29T13:38:26.100" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7168" PostTypeId="1" AcceptedAnswerId="7174" CreationDate="2011-06-30T00:39:33.427" Score="8" ViewCount="301" Body="&lt;p&gt;I'm considering the problem of recognizing a language (over alphabet 0-9 and space) containing strings like &quot;1 2 3 4 5 6&quot; and &quot;14 15 16 17&quot; but not &quot;1 3&quot;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This came up while working on a common parsing task where elements needed to be in an ordered list.  It struck me that while parsing the rest of that language was regular, this part was clearly irregular -- it can recognize, for example, the language A1A2 where A is an arbitrary string 0-9.  In fact it seems to be content-sensitive (and not context-free by the pumping lemma).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My first question: is there a (reasonably well-known, i.e. not defined just for this problem) class of languages between context-sensitive and context-free that describes its expressive power better?  I've read about Aho's indexed languages, but it's not obvious (to me!) that these are even in that class, powerful though it is.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My second question is informal.  It seems that this language is easy to parse, and yet it is very high on the hierarchy. Is it common to come across similar examples and is there a standard way of dealing with them?  Is there an alternate grouping of classes of languages that is incompatible with inclusion on the 'usual' ones?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My reason for thinking this is easy: the language can be parsed deterministically, by reading until you get to the end of the first number, checking if the next number follows, and so forth. In particular it can be parsed in O(n) time with O(n) space; the space can be reduced to $O(\sqrt n)$ without too much trouble, I think.  But it's hard enough to get that kind of performance with regular languages, let alone context-free.&lt;/p&gt;&#xA;" OwnerUserId="962" LastEditorUserId="962" LastEditDate="2011-07-01T04:34:10.473" LastActivityDate="2011-07-01T04:34:10.473" Title="What kind of language is needed to recognize an ordered list? [multihead automata, apparently]" Tags="&lt;fl.formal-languages&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="7169" PostTypeId="1" AcceptedAnswerId="7191" CreationDate="2011-06-30T04:25:56.947" Score="6" ViewCount="364" Body="&lt;p&gt;In literature, the biggest class I have seen proven to be in $PP$ is $NP$ (and $coNP$ of course as $PP$ is closed under complementation).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, if we use the following results :&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$PP^{RP} = PP$  (in fact $PP^{BQP} = PP$)&lt;/li&gt;&#xA;&lt;li&gt;There exists a RP-reduction from $SAT$ to $USAT$&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Where $USAT$ is the promise class of boolean formulae such that&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;if $F \in USAT$ then $F$ has a unique solution.&lt;/li&gt;&#xA;&lt;li&gt;if $F \not \in USAT$ then $F$ is not satisfiable.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;It seems quite straightforward to prove that $\Pi_2^P \subseteq PP$ (hence $\Sigma_2^P \subseteq PP$).&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Construction:&lt;/strong&gt;&#xA;  Let $\mathcal{M}\ $ be the following $PP^{RP}$  Turing Machine :&lt;/p&gt;&#xA;  &#xA;  &lt;ul&gt;&#xA;  &lt;li&gt;Input: $\forall x_1, \dots, x_m, \exists y_1, \dots y_n, F$&lt;/li&gt;&#xA;  &lt;li&gt;&lt;p&gt;Computation: &lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;Choose uniformely $x_1, \dots, x_m$.&#xA;  We obtain then an existential formula.&#xA;  Use the Valiant-Vazirani theorem to obtain an USAT formula $\exists! z_1, \cdots z_o G$.&#xA;  We choose uniformly $z_1, \dots, z_o$, and if $G$ is satisfied, accept, otherwise, reject with probability $\frac{1}{2}$.&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;Modify the previous TM by adding $2^n-1$ rejecting paths. (I know I'm going a bit fast, but we can manage that by adjusting rejecting probabilities after having tested G)&lt;/p&gt;&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;  &#xA;  &lt;p&gt;&lt;strong&gt;Validity:&lt;/strong&gt;&lt;/p&gt;&#xA;  &#xA;  &lt;ul&gt;&#xA;  &lt;li&gt;if $\forall \dots \exists \dots F$ is true, then $\mathcal{M}\ $ has $2^n$ accepting paths + $2^{n-1}$ rejecting paths + an equal number of accepting and rejecting paths, and then $\mathcal{M}\ $ accepts.&lt;/li&gt;&#xA;  &lt;li&gt;if $\forall \dots \exists \dots F$ is false, then $\mathcal{M}\ $ has less than $2^n$ accepting paths + $2^n-1$ rejecting maths + more rejecting paths than accepting paths. then $\mathcal{M}\ $ rejects.&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Moreover, if we extend Valiant-Vazirani theorem to $RP$-reduce $PH$ to $UPH$ (alternation of forall and unique existentials), then by modifying a bit previous construction we would prove that $PH \subseteq PP$.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is the previous construction correct ?&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;Is there any known litterature around $UPH$ ? (It may not be called $UPH$)&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="378" LastEditorUserId="1800" LastEditDate="2011-06-30T17:32:24.133" LastActivityDate="2011-07-01T14:42:03.607" Title="$\mathsf{UPH}$, $\Pi_2^{\mathsf{P}}$ and $\mathsf{PP}$" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;" AnswerCount="1" CommentCount="7" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7173" PostTypeId="1" CreationDate="2011-06-30T08:50:37.783" Score="4" ViewCount="447" Body="&lt;p&gt;Unfortunately, I can't find any &lt;em&gt;freely available&lt;/em&gt; text with an estimation of exact upper bound of (external) fragmentation overhead for (binary) buddy memory allocator. Estimation  $M(1+ \log 2 m)$ (where $M$ is total memory size need to allocate and $m$ is the longest allocated block) seems too pessimistic.  I'm almost sure that for $m=2$ the bound is about $M*(3/2)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I guess the answer is contained in the article:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Errol L. Lloyd and Michael C. Loui&#xA;On the worst case performance of buddy systems&#xA;Acta Informatica&#xA;Volume 22, Number 4, 451-473, DOI: 10.1007/BF00288778&lt;/p&gt;&#xA;&#xA;&lt;p&gt;but I wouldn't want to pay EUR 34.95 for my &quot;general interest&quot; :)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[this question is actually repost from stackoverflow.com&#xA;&lt;a href=&quot;https://stackoverflow.com/questions/6295558/worst-case-external-fragmentation-in-buddy-memory-systems&quot;&gt;https://stackoverflow.com/questions/6295558/worst-case-external-fragmentation-in-buddy-memory-systems&lt;/a&gt;&#xA;where I got an answer about  $M(1+\log 2 m)$ formula;&#xA;but I still don't know the exact bound]&lt;/p&gt;&#xA;" OwnerUserId="5771" LastEditorUserId="-1" LastEditDate="2017-05-23T12:40:09.333" LastActivityDate="2015-04-13T10:51:55.170" Title="worst case external fragmentation in buddy memory systems" Tags="&lt;ds.algorithms&gt;&lt;ds.data-structures&gt;" AnswerCount="0" CommentCount="4" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="7174" PostTypeId="2" ParentId="7168" CreationDate="2011-06-30T11:19:15.700" Score="7" Body="&lt;p&gt;It sounds like what you are looking for are multihead automata (in your case, 1-way 2-head deterministic finite automata should suffice). I'm not really an expert on these, but google turns up some interesting surveys on this language hierarchy, such as&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Marek Chrobak: Hierarchies of one-way multihead automata, &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/0304397586900939&quot; rel=&quot;nofollow&quot;&gt;http://www.sciencedirect.com/science/article/pii/0304397586900939&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This also gives one answer to your second question: The hierarchy of n-head automata lies &quot;across&quot; the Chomsky hierarchy.&lt;/p&gt;&#xA;" OwnerUserId="5183" LastActivityDate="2011-06-30T11:19:15.700" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="7176" PostTypeId="1" CreationDate="2011-06-30T12:38:45.860" Score="6" ViewCount="692" Body="&lt;p&gt;PP was proved greater than QMA in by Kitaev and Watrous 2000 -&#xA;Parallelization, Amplification, and Exponential Time Simulation of Quantum Interactive Proof Systems.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Later Aaronson proved that PostBQP was equal to PP in his PHD 2004.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It has been stated that the knowledge that PostBQP = PP makes proving PP is greater than or equal to QMA a lot easier. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a short explanation of this. Or if not could someone provide a reference detailing this fact?&lt;/p&gt;&#xA;" OwnerUserId="10136" LastEditorUserId="1621" LastEditDate="2011-07-01T13:21:17.280" LastActivityDate="2011-07-01T13:21:17.280" Title="Why does the Complexity Class PostBQP makes proving PP greater than or equal to QMA easier?" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;quantum-computing&gt;" AnswerCount="3" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7177" PostTypeId="1" AcceptedAnswerId="7236" CreationDate="2011-06-30T13:04:04.453" Score="4" ViewCount="379" Body="&lt;p&gt;My &lt;strong&gt;questions&lt;/strong&gt; are:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;[Solved by Dave] Given a learner N, can you design a learner M that behaves differently from N? No.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;and&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;[Solved by Dave] Given a learner N, can you design a learner M that is more powerful than N? No.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;and&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;[Solved by Dave] Given a learner N that always halts, can you design a learner M and a set of natural numbers L, such that (a) for every text T that contains exactly L, M converges on T and (b) there exists a text T' that contains exactly L, such that N diverges on T'? No.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;and especially&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;[Open] Given a learner N that is prudent and always halts, can you effectively design a learner M such that there exists a set of natural numbers L such that&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;for every text T that contains exactly L, M converges on T and&lt;/li&gt;&#xA;&lt;li&gt;there exists a text S that contains exactly L, such that N diverges on S?&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Note that the difference between the fourth and the third questions is that N is required to be prudent. But M is not required. So N can't simulate M and follow exactly what M does -- M may conjecture a set it does not always converge on.&lt;/p&gt;&#xA;&lt;p&gt;Also note that a yes answer to the open problem (discussed below) will imply a no answer to the fourth question. I'm saying this because, if you follow Dave's line of thought, you are solving the open problem, which is a stronger statement than (a negative answer to) my question.&lt;/p&gt;&#xA;&lt;p&gt;And a yes answer to the fourth problem implies a no answer to the open question.&lt;/p&gt;&#xA;&lt;p&gt;Now come the &lt;strong&gt;definitions&lt;/strong&gt;.&lt;/p&gt;&#xA;&lt;p&gt;A &lt;em&gt;learner&lt;/em&gt; is a Turing machine that, when the input is a (finite) sequence of natural numbers, outputs a program that enumerates a subset of natural numbers.&lt;/p&gt;&#xA;&lt;p&gt;A &lt;em&gt;text&lt;/em&gt; is an infinite sequence of natural numbers.&lt;/p&gt;&#xA;&lt;p&gt;A learner is said to &lt;em&gt;converge&lt;/em&gt; on a text if, when feeding successively longer initial segments of the text, there exists a point after which the learner outputs the same enumeration procedure that enumerates exactly the elements in the text.&lt;/p&gt;&#xA;&lt;p&gt;A learner &lt;em&gt;diverges&lt;/em&gt; on a text if it does not converge on it.&lt;/p&gt;&#xA;&lt;p&gt;Learner A is said to &lt;em&gt;behave differently&lt;/em&gt; from learner B if there exists a text on which A converges but B diverges or A diverges but B converges.&lt;/p&gt;&#xA;&lt;p&gt;Learner A is said to be &lt;em&gt;more powerful&lt;/em&gt; than learner B if A converges on (strictly) more texts than B.&lt;/p&gt;&#xA;&lt;p&gt;A learner M is &lt;em&gt;prudent&lt;/em&gt; iff, if on some initial segment of some text it conjectures a set S, it converges on all texts for S.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Discussion&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;The background of these problems is the open question whether there exists a program that when given a learner outputs a prudent learner that converges on a superset of texts. Mark Fulk proved that the prudent learner exists (in Theorem 15 of the article &amp;quot;Prudence and other conditions on formal language learning&amp;quot;), but his proof is non-constructive because it has a seemingly undecidable case distinction. The open problem is to give a constructive proof of this theorem.&lt;/p&gt;&#xA;" OwnerUserId="2938" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2011-07-08T08:20:14.570" Title="Can you make a different learner?" Tags="&lt;machine-learning&gt;" AnswerCount="2" CommentCount="5" FavoriteCount="1" CommunityOwnedDate="2011-07-05T09:28:35.830" ContentLicense="CC BY-SA 3.0" />
  <row Id="7179" PostTypeId="1" AcceptedAnswerId="20646" CreationDate="2011-06-30T13:59:30.990" Score="16" ViewCount="915" Body="&lt;p&gt;I actually have two questions:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Who first used logical relations to relate semantics?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I traced them back to Reynold's &quot;&lt;a href=&quot;http://repository.cmu.edu/cgi/viewcontent.cgi?article=2287&amp;amp;context=compsci&quot;&gt;On the Relation Between Direct and Continuation Semantics&lt;/a&gt;&quot;, but I can't claim to have made an exhaustive search.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have found references to logical relations dating earlier (Tait, '67), but not for relating semantics. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;What is the best current introduction for logical relations? &lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;I know of Mitchell's &quot;&lt;a href=&quot;http://portal.acm.org/citation.cfm?id=114899&quot;&gt;Type Systems for Programming Languages&lt;/a&gt;&quot; from the Handbook of TCS. What other expositions are there?&lt;/p&gt;&#xA;" OwnerUserId="142" LastActivityDate="2014-02-06T16:38:18.400" Title="What is the origin of logical relations?" Tags="&lt;reference-request&gt;&lt;pl.programming-languages&gt;&lt;denotational-semantics&gt;&lt;logical-relations&gt;" AnswerCount="2" CommentCount="3" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="7181" PostTypeId="2" ParentId="7176" CreationDate="2011-06-30T16:38:05.353" Score="0" Body="&lt;p&gt;I assume by &quot;greater or equal to&quot; you mean &quot;contains&quot;. Well, one facile answer to this question is that PostBQP is inherently a quantum complexity class, whereas PP is defined in terms of classical nondeterministic Turing Machines. If one were to try to show that QMA (another quantum complexity class) is contained in PP, it SEEMS that it would be easier to show that QMA is contained in PostBQP, simply because the models of computation that define each class &quot;line up&quot; - you don't have to spend extra effort &quot;translating&quot; from quantum polynomial time to classical nondeterministic polynomial time. &lt;/p&gt;&#xA;" OwnerUserId="170" LastEditorUserId="170" LastEditDate="2011-06-30T16:59:53.157" LastActivityDate="2011-06-30T16:59:53.157" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7182" PostTypeId="2" ParentId="7176" CreationDate="2011-06-30T16:44:17.703" Score="4" Body="&lt;p&gt;The shortest proof for me is this: By definition of $PostBQP$, $PP=PostBQP$ implies that quantum circuits with deterministic projections onto a measurement outcome can be simulated in $PP$. Following &lt;a href=&quot;http://prl.aps.org/abstract/PRL/v98/i14/e140506&quot; rel=&quot;nofollow&quot;&gt;Schuch et al.&lt;/a&gt;, a projection onto the ground state $|\psi_0\rangle$ of a $k$-local poly-gapped Hamiltonian $H$ can be achieved by imaginary time evolution of a random state $|\chi\rangle$, i.e. by applying $|\psi_0\rangle \approx \exp[-\beta H]|\chi\rangle$ which suppresses high energy levels exponentially fast. The imaginary time evolution can in turn be approximated using the Trotter decomposition, which only requires operations $\exp[-\beta/NH_i]$ acting on finitely many spins. Since those operations are linear, they can be implemented using postselection, and we see that postselection can be used to cool into the ground state. Phase estimation can then be applied to determine the groundstate energy of the $k$-local Hamiltonian, which is the prototypical $QMA$-complete problem. Thus, $QMA \subseteq PostBQP = PP$.&lt;/p&gt;&#xA;" OwnerUserId="121" LastEditorUserId="121" LastEditDate="2011-06-30T18:21:27.633" LastActivityDate="2011-06-30T18:21:27.633" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="7183" PostTypeId="2" ParentId="7177" CreationDate="2011-06-30T17:28:57.857" Score="2" Body="&lt;p&gt;Here's an answer to your second question. Consider a learner $M$ which always produces a machine that enumerates every natural number. This converges on any text which contains every natural number. In the next paragraph, we will show that there is a one-to-one mapping from the set of all texts to the texts on which $M$ converges. Therefore, $M$ converges on as many texts as there are. It is more powerful than any text which converges on a set of smaller cardinality, and no learner can converge on more sets. So either $M$ is more powerful than $N$, or no learner is.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $T$ be a text. Consider the representation $T_b$ of $T$ in binary. We match this with a text $f(T)$ which we construct as follows. If bit $i$ of $T_b$ is equal to 0, then positions $2i-1$ and $2i$ of $f(T)$ are $2i-1$ and $2i$, in order. If bit $i$ is 0, then positions $2i-1$ and $2i$ of $f(T)$ are $2i$ and $2i-1$, reversing the order. For example, if $T_b$ begins $01100$, then $f(T)$ begins $1,2,4,3,6,5,7,8,9,10$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If two texts $T,T&amp;#39;$ are such that $f(T) = f(T&amp;#39;)$, then they have identical binary representations, so $T=T&amp;#39;$. Thus, this mapping is one-to-one, so the cardinality of the set of texts on which $M$ converges is the same as that of the set of all texts.&lt;/p&gt;&#xA;" OwnerUserId="1560" LastEditorUserId="1560" LastEditDate="2011-07-02T02:23:33.217" LastActivityDate="2011-07-02T02:23:33.217" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="7184" PostTypeId="2" ParentId="7176" CreationDate="2011-06-30T18:36:06.310" Score="8" Body="&lt;p&gt;I think the reason PostBQP contained in PP makes it easier to show QMA in PP is that it's easy to show QMA in PostBQP. (Note that we don't really need PostBQP contains PP, we only need the reverse containment, which is easier to show.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;QMA can be shown to be in PostBQP in exactly the same way that one would show MA is in PostBPP (also known as BPP&lt;sub&gt;path&lt;/sub&gt;). First use error amplification to reduce the error of the MA machine to something more than exponentially small in the size of the witness. Now if you use a random witness, in the yes case there will be some probability of it being accepted (although exponentially small), whereas in the no case the probability of acceptance will be even lower. In the quantum case, we choose the maximally mixed state as the witness and use strong error amplification for QMA. (Both of these ideas are explained in John Watrous' survey on quantum complexity theory.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now we need to use the power of post-selection to distinguish these two cases. This is not too hard, but it might sound complicated when I explain it. If you have a machine that accepts yes instances with probability $1/2^k$ (say) and no instances with probability $1/2^{k+4}$. Let our machine with the power of post-selection do the following: With probability $1/2^{k+2}$ just set the post-selection bit (let's call this the PSB) to 1 and the output bit to 0 and end the computation. Otherwise just run the previous machine and set the PSB and the answer bit equal to the output of the computation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now in the yes case, with probability $1/2^{k+2}$ the machine with have the PSB equal to 1 and answer bit equal to 0, and with probability at least $1/2^k$ it will have the PSB equal to 1 and answer bit equal to 1. So conditioned on the PSB being 1, there's a much higher chance that it accepts than rejects. Similarly, in the no case, conditioned on the PSB being set to 1 there will be a higher chance of rejecting than accepting.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You might have to tweak the constants a bit to make this idea work exactly, but I think it contains all the ideas needed to make the proof go through.&lt;/p&gt;&#xA;" OwnerUserId="206" LastActivityDate="2011-06-30T18:36:06.310" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7185" PostTypeId="1" AcceptedAnswerId="7193" CreationDate="2011-06-30T21:57:52.143" Score="14" ViewCount="1238" Body="&lt;p&gt;Given an undirected, regular graph $G=(V,E)$, what is the relationship between its diameter - defined as the largest distance between two nodes - and its conductance, defined as $$\min_{S \subset V} ~\frac{e(S,S^c)}{\min(|S|,|S^c|)},$$ where $e(S,S^c)$ is the number of edges crossing between $S$ and $S^c$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;More concretely suppose I know the diameter is at least (or at most) $D$. What does this tell me about the conductance, if anything? And, conversely, suppose I know the conductance is at most (or at least) $\alpha$. What does this tell me about the diameter, if anything?&lt;/p&gt;&#xA;" OwnerUserId="5773" LastEditorUserId="1800" LastEditDate="2011-07-01T17:22:43.903" LastActivityDate="2012-11-06T17:04:31.507" Title="Conductance and diameter in regular graphs" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;expanders&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="7186" PostTypeId="1" AcceptedAnswerId="7187" CreationDate="2011-07-01T03:15:24.193" Score="6" ViewCount="2585" Body="&lt;p&gt;This is related to a math.SE question I asked, but I've realized I want a slightly different form and it's probably more of an algorithms question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Fix an alphabet $\Sigma$.  Let $P(n)$ be all length-$n$ strings over $\Sigma$.  What is the shortest string $S$ such that every $s \in P(n)$ is a substring of $S$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, let $\Sigma = \{a\}$ and $n=1$; then clearly $S=a$ is minimal.  If instead $\Sigma = {a,b}$ and $n=2$, $P(2) = {aa, ab, ba, bb}$ and $S = aabba$ is minimal.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Clearly we are solving &quot;shortest common superstring&quot; over $P(n)$, and it's known to be MaxSNP hard. I'm wondering if this special form, with $P(n)$ containing all substrings of $\Sigma$ might be easy?!&lt;/p&gt;&#xA;" OwnerUserId="3866" LastEditorUserId="2367" LastEditDate="2011-07-06T19:00:44.980" LastActivityDate="2011-07-21T12:00:43.533" Title="Shortest string containing all fixed-length substrings" Tags="&lt;ds.algorithms&gt;&lt;co.combinatorics&gt;&lt;fl.formal-languages&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="7187" PostTypeId="2" ParentId="7186" CreationDate="2011-07-01T04:36:12.303" Score="29" Body="&lt;p&gt;This is called a de Bruijn sequence ( &lt;a href=&quot;http://en.wikipedia.org/wiki/De_Bruijn_sequence&quot;&gt;http://en.wikipedia.org/wiki/De_Bruijn_sequence&lt;/a&gt; ).  You can generate it by taking an Euler tour of a de Bruijn graph, but there are also other ways.  You can use de Bruijn sequences to break into 1990s-era cars efficiently ( &lt;a href=&quot;http://everything2.com/title/Weak+security+in+our+daily+lives&quot;&gt;http://everything2.com/title/Weak+security+in+our+daily+lives&lt;/a&gt; ) among many other applications. &lt;/p&gt;&#xA;" OwnerUserId="730" LastActivityDate="2011-07-01T04:36:12.303" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7188" PostTypeId="2" ParentId="7179" CreationDate="2011-07-01T09:44:46.457" Score="14" Body="&lt;p&gt;Plotkin used logical relations in his unpublished but nevertheless widely circulated and influential 1973 paper &quot;Lambda Definability and Logical Relations&quot;. I have a &lt;a href=&quot;http://www.cs.cmu.edu/~neelk/plotkin-logical-relations.pdf&quot;&gt;copy of this note&lt;/a&gt; on my webpage.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I used to think that this is where the name came from, but when I asked Rick Statman about this, he told me that Mike Gordon coined the term logical relation to describe Tait's method, and that he and Gordon Plotkin picked it up from him. I think this is how it entered programming language jargon, though you could make sure by asking Plotkin. &lt;/p&gt;&#xA;" OwnerUserId="657" LastEditorUserId="657" LastEditDate="2011-07-01T10:29:28.167" LastActivityDate="2011-07-01T10:29:28.167" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="7190" PostTypeId="1" AcceptedAnswerId="7192" CreationDate="2011-07-01T14:33:46.400" Score="13" ViewCount="486" Body="&lt;p&gt;&lt;strong&gt;Disclaimer&lt;/strong&gt;: while I care about type theory, I don't consider myself an expert on type theory.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the simply typed lambda calculus, the &lt;strong&gt;zero type&lt;/strong&gt; has no constructors and a unique eliminator:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\frac{\Gamma \vdash M \colon 0}{\Gamma \vdash initial (M) \colon A}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;From a denotational point of view, the equation &#xA;$initial (M_1) = initial(M_2)$ is obvious (when the types make sense).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, from that perspective I can also deduce that, when $M,M&amp;#39; \colon 0$, then : $M = M&amp;#39;$. This deduction seems stronger, although a particular model that shows it eludes me.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(I have some proof-theoretic intuition though: it doesn't matter which contradiction you use to obtain an inhabitant, but there might be different contradiction proofs.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So my questions are: &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;What are the standard equational laws for zero types? &lt;/li&gt;&#xA;&lt;li&gt;Are any of them classified as $\eta$ or $\beta$ laws? &lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="142" LastActivityDate="2011-07-28T07:31:42.320" Title="What are the equational laws for zero types?" Tags="&lt;pl.programming-languages&gt;&lt;type-theory&gt;&lt;lambda-calculus&gt;&lt;semantics&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="7191" PostTypeId="2" ParentId="7169" CreationDate="2011-07-01T14:42:03.607" Score="12" Body="&lt;p&gt;Your proof must be wrong. All your techniques (including VV) relativize and Beigel has an &lt;a href=&quot;http://www.springerlink.com/content/u57567564x383634/&quot; rel=&quot;noreferrer&quot;&gt;oracle&lt;/a&gt; where $P^{NP}$ is not contained in $PP$. I'm guessing you aren't using VV properly.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also UPH=PH because you can make an existential unique by requiring the lexicographical least witness (using an extra universal quantifier to eliminate the others). &lt;/p&gt;&#xA;" OwnerUserId="550" LastActivityDate="2011-07-01T14:42:03.607" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7192" PostTypeId="2" ParentId="7190" CreationDate="2011-07-01T16:01:37.623" Score="12" Body="&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;The standard equational rules for the empty type is, as you surmise, $\Gamma \vdash e = e&amp;#39; : 0$. Think of the standard set-theoretic model, where sets are interpreted by types: sum types are disjoint unions, and the empty type is the empty set. So any two functions $e,e&amp;#39; : \Gamma \to 0$ must also be equal, since they have a common graph (namely, the empty graph). .&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The empty type has no $\beta$ rules, since there are no introduction forms for it. Its only equational rule is an $\eta$-rule. However, depending on how strictly you wish to interpret what an eta-rule is, you may wish break this down into an $\eta$ plus a commuting conversion. The strict $\eta$-rule is: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$e = \mathrm{initial}(e)$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The commuting coversion is: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$C[\mathrm{initial}(e)] = \mathrm{initial}(e)$$&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;EDIT: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here's why distributivity at the zero type implies the equality of all maps $A \to 0$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;To fix notation, let's write $!_A : 0 \to A$ to be the unique map from $0$ to $A$, and let's&#xA;write $e : A \to 0$ to be some map from $A$ to $0$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, the distributivity condition says that there's an isomorphism $i : 0 \simeq A \times 0$. &#xA;Since initial objects are unique up to isomorphism, this means that $A \times 0$ is itself a&#xA;initial object. We can now use this to show that $A$ itself is an initial object. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since $A \times 0$ is an initial object, we know the maps $\pi_1 : A&#xD;&#xA;\times 0 \to A$ and $!_A \circ \pi_2$ are equal.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, to show that $A$ is an initial object, we need to show an&#xA;isomorphism between it and $0$.  Let's choose $e : A \to 0$ and $!_A :&#xD;&#xA;0 \to A$ as the components of the isomorphism.  We want to show that&#xA;$e \circ !_A = id_0$ and $!_A \circ e = id_A$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Showing that $e \circ !_A = id_0$ is immediate, since there is only&#xA;one map of type $0 \to 0$, and we know that there is always an&#xA;identity map.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To show the other direction, note&#xA;$$&#xA;\begin{array}{lcll}&#xA;  id_A &amp;amp; = &amp;amp; \pi_1 \circ (id_A, e) &amp;amp; \mbox{Product equations} \\&#xA;       &amp;amp; = &amp;amp; !_A \circ \pi_2 \circ (id_A, e) &amp;amp; \mbox{Since $A\times 0$ is initial} \\&#xA;       &amp;amp; = &amp;amp; !_A \circ e &amp;amp; \mbox{Product equations} &#xA;\end{array}&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hence we have an isomorphism $A \simeq 0$, and so $A$ is an initial object. Therefore maps $A \to 0$ are unique, and so if you have $e,e&amp;#39; : A \to 0$, then $e = e&amp;#39;$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT 2: It turns out the situation is prettier than I originally thought. I learned from Ulrich Bucholz that it's obvious (in the mathematical sense of &quot;retrospectively obvious&quot;) that every biCCC is distributive. $\newcommand{\Hom}{\mathrm{Hom}}$ Here's a cute little proof:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xD;&#xA;\begin{array}{lcl}&#xD;&#xA;   \Hom((A + B) \times C, (A + B) \times C) &#xD;&#xA;   &amp;amp; \simeq &amp;amp; \Hom((A + B) \times C, (A + B) \times C) \\&#xD;&#xA;   &amp;amp; \simeq &amp;amp; \Hom((A + B), C \to (A + B) \times C) \\&#xD;&#xA;   &amp;amp; \simeq &amp;amp; \Hom(A , C \to (A + B) \times C) \times \Hom(B, C \to (A + B) \times C) \\&#xD;&#xA;   &amp;amp; \simeq &amp;amp; \Hom(A \times C, (A + B) \times C) \times \Hom(B \times C, (A + B) \times C) \\&#xD;&#xA;   &amp;amp; \simeq &amp;amp; \Hom((A \times C) + (B \times C), (A + B) \times C)&#xD;&#xA;\end{array}&#xD;&#xA;$$&lt;/p&gt;&#xA;" OwnerUserId="657" LastEditorUserId="657" LastEditDate="2011-07-28T07:31:42.320" LastActivityDate="2011-07-28T07:31:42.320" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="7193" PostTypeId="2" ParentId="7185" CreationDate="2011-07-01T17:09:21.933" Score="13" Body="&lt;p&gt;As Hsieh notes, your definition of conductance is off from the one I know by a factor of $d$, where $d$ is the degree of the regular graph. This is also known as edge expansion for regular graphs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A relationship between edge expansion and diameter is quite easy to show. Intuitively, an expander is &quot;like&quot; a complete graph, so all vertices are &quot;close&quot; to each other. More formally, let &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;\min_{S \subseteq V}\ { \frac{ e(S, S^c) }{ d \cdot \min\{|S|, |S^c|\} }} \geq \alpha&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Take any set of vertices $S$ with $|S| \leq |V|/2$. There are at least $\alpha d |S|$ edges coming out of $S$ and since $G$ is $d$-regular, the neighborhood of $S$ (including $S$ itself) is of size at least $(1+\alpha)|S|$. Applying this claim inductively, starting from $S = \{u\}$ for any vertex $u$, we see that for some $t = O(\log_{1 + \alpha } |V|)$, $u$'s $t$-hop neighborhood has size at least $|V|/2$. Therefore, the $t+1$-hop neighborhood of any vertex $v$ has to intersect the $t$-hop neighborhood of $u$, or the graph would have more than $|V|$ vertices, a contradiction. So you have &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$ &#xA;D = O\left(\frac{\log |V|}{\log (1 + \alpha)}\right)&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course, it also follows that having a lower bound on the diameter implies an upper bound on edge expansion.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I don't think small diameter implies conductance. If you don't insist on regular graphs (and use Hsieh's definition), then two complete graphs connected by a single edge provides a counterexample.&lt;/p&gt;&#xA;" OwnerUserId="4896" LastEditorUserId="4896" LastEditDate="2012-11-06T17:04:31.507" LastActivityDate="2012-11-06T17:04:31.507" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="7194" PostTypeId="2" ParentId="7159" CreationDate="2011-07-01T20:29:25.460" Score="1" Body="&lt;p&gt;Associate with $S$ and $S&amp;#39;$ the posets $P = (\leq, S)$ and $P&amp;#39; = (\leq, S&amp;#39;)$, where $\leq$ is the &lt;a href=&quot;http://mathworld.wolfram.com/Dominance.html&quot; rel=&quot;nofollow&quot;&gt;dominance order&lt;/a&gt; in $\mathbb{R}^d$. The function you describe is an &lt;a href=&quot;http://mathworld.wolfram.com/IsomorphicPosets.html&quot; rel=&quot;nofollow&quot;&gt;isomorphism&lt;/a&gt; between $P$ and $P&amp;#39;$. &lt;/p&gt;&#xA;" OwnerUserId="4896" LastActivityDate="2011-07-01T20:29:25.460" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7195" PostTypeId="2" ParentId="7190" CreationDate="2011-07-01T21:43:10.363" Score="8" Body="&lt;p&gt;The equation $e = e&amp;#39; : 0$ only captures the fact that $0$ has at most one element so I don't think Neel is capturing the whole story. I would axiomatize the empty type $0$ as follows.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are no introduction rules. The elimination rule is $$\frac{e : 0}{\mathtt{magic}_\tau(e) : \tau}.$$ The equation is $$\mathtt{magic}_\tau(e) = e&amp;#39; : \tau$$ where $e : 0$ and $e&amp;#39; : \tau$. Throughout $\tau$ is any type. The equation is motivated as follows: if you managed to form the term $\mathtt{magic}_\tau(e)$ then $0$ is inhabited by $e$, but this is absurd so all equations hold. So another way of achieving the same effect would be to pose the equation $$x : 0, \Gamma \vdash e_1 = e_2 : \tau$$ which is perhaps not so nice because it fiddles with the context. On the other hand, it shows more clearly that we are stating the fact that any two morphisms from $0$ to $\tau$ are equal (the $\Gamma$ is a distraction in a CCC).&lt;/p&gt;&#xA;" OwnerUserId="705" LastEditorUserId="705" LastEditDate="2011-07-01T21:51:39.153" LastActivityDate="2011-07-01T21:51:39.153" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="7196" PostTypeId="1" AcceptedAnswerId="7197" CreationDate="2011-07-01T21:47:15.843" Score="2" ViewCount="160" Body="&lt;p&gt;Introductory books to theoretical computer science usually introduce a the Turing machine and some of its variants, as well as the Random Access machine as computational models. Sometimes more specialized or even exotic systems (such as quantum computers) can be found briefly sketched.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The equivalence of these models ( say two models A and B ) is usually proven by mimicing the mechanics of A with the &quot;gears&quot; of B and then providing &quot;cheap&quot; conversion functions which convert input of A to input B and output of B back to output A - the same is then done for A and B reversed.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Whereas proofs provide valid statements about well-defined mathematical objects, I don't think they prove what is ought to be proved, namely the equivalance of two computational models, because that question is non mathematically defined. I doubt that this can be done.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First of all, the conversion functions between the different input/output formats cannot necessarily be formalized as computations, because they act in &quot;both worlds&quot; (say binary strings and a cell setting in the game of life), and thus require a new computational model for themselves. Hence at least two further computational models are introduced. The triviality of the conversion functions doesn't seem be formalized. - One might argue that the conversions are the most vital part of the proof, because the &quot;mimicry&quot; of one model A within another model B has no mathematicly well-defined relation with the model A.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Second, I wonder whether the &quot;class&quot; of computational models can be formalized. I don't think it is a set, because, for example, you could build several Turing machines with 0 and 1 represented by arbitrary inequal sets. - One might define a category of computational models, with the arrows, say from object A to object B, present when A can be simulated by B. This raises the question what we would want the objects to be. I do not know.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I regard these points, (i) non having a formal definition for the conversion functions to be trivial, (ii) having no definition of a (Turing-equivalent) model of computation as unsatisfying.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does anybody know whether and how this has been treated in literature so far? I am aware this touches what to understand the question of what to call &quot;computation&quot;, but so do the usual practices in computer science anyway, in my opinion.&lt;/p&gt;&#xA;" OwnerUserId="4346" LastActivityDate="2011-07-02T05:13:21.060" Title="how to formalize the class(?) of computational models and their equivalence" Tags="&lt;reference-request&gt;&lt;lo.logic&gt;&lt;computability&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="7197" PostTypeId="2" ParentId="7196" CreationDate="2011-07-01T22:00:37.663" Score="8" Body="&lt;p&gt;I recommend that you look at realizability theory. In realizability computational models are known as &lt;em&gt;partial combinatory algebras (PCA)&lt;/em&gt;. They cover a wide range of computational models. There is a 2-category of PCAs in which we can speak not only of equivlence, but also about general morphisms from one computational model to another.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some references:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.staff.science.uu.nl/~ooste110/boekkaft.pdf&quot; rel=&quot;nofollow&quot;&gt;Jaap van Oosten's book on realizability.&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.lfcs.inf.ed.ac.uk/reports/95/ECS-LFCS-95-332/index.html&quot; rel=&quot;nofollow&quot;&gt;John Longley's Ph.D. thesis.&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;John's Ph.D. is probably the best source to read about comparison of PCAs. An abridged version can be found in my Ph.D. thesis.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I should point out that realizability theory is just one way of organizing and structuring the world of computational models in a mathematically precise way. Nevertheless, it is a very sophisticated machinery which shows what can be done.&lt;/p&gt;&#xA;" OwnerUserId="705" LastActivityDate="2011-07-01T22:00:37.663" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7199" PostTypeId="1" AcceptedAnswerId="7234" CreationDate="2011-07-02T00:06:25.803" Score="24" ViewCount="565" Body="&lt;p&gt;I'm considering graph classes that can be characterized by forbidden subgraphs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If a graph class has a finite set of forbidden subgraphs, then there is a trivial polynomial time recognition algorithm (one can just use brute force). But an infinite family of forbidden subgraphs does not imply hardness: there are some classes with infinite list of forbidden subgraphs such that the recognition can also be tested in polynomial time. Chordal and Perfect graphs are examples but, in those cases, there is a &quot;nice&quot; structure on the forbidden family.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there any know relation between the hardness of the recognition of a class and the &quot;bad behavior&quot; of the forbidden family? Such a relation should exist? This &quot;bad behavior&quot; has been formalized somewhere?&lt;/p&gt;&#xA;" OwnerUserId="282" LastEditorUserId="495" LastEditDate="2011-07-25T21:33:47.563" LastActivityDate="2011-07-25T21:33:47.563" Title="Relation between hardness of recognition of a graph class and forbidden subgraph characterization" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;&lt;np-hardness&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="7203" PostTypeId="1" AcceptedAnswerId="7205" CreationDate="2011-07-02T03:47:25.080" Score="16" ViewCount="485" Body="&lt;p&gt;Worst-case and average case analysis are well-known measures for the complexity of an algorithm. Recently smoothed analysis has emerged as another paradigm to explain why some algorithms which are exponential in the worst-case work so well in practice, for instance the simplex algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is - are there any other paradigms to measure the complexity of an algorithm? I'm particularly interested in ones that attempt to explain why some algorithms which have bad worst-case complexity work well in practice. &lt;/p&gt;&#xA;" OwnerUserId="24" LastEditorUserId="1800" LastEditDate="2011-07-04T02:05:29.153" LastActivityDate="2011-07-04T15:40:15.187" Title="Paradigms for complexity analysis of algorithms" Tags="&lt;cc.complexity-theory&gt;&lt;average-case-complexity&gt;&lt;smoothed-analysis&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="7204" PostTypeId="2" ParentId="7196" CreationDate="2011-07-02T05:04:11.910" Score="3" Body="&lt;p&gt;We have to first decide about the domain of inputs and outputs, and how they are represented by what is given to the machine and what machine outputs. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;AFAIU, your questions is essentially about what is considered a reasonable representations of elements of a structure using inputs and outputs of the machines in the model (strings in TM case, natural numbers in RAM case, ...). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is considerable amount of literature on this, search for &quot;naming systems&quot;, &quot;representations&quot;, etc. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;After we agree on what is a reasonable way of coding/representing the objects in a structure using the input and output objects of the machine model the rest can be done complete mathematical rigor.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As an example, consider partial functions from natural numbers to natural numbers, and TM and RAM model. RAM model gets its inputs as integer variables, TM model gets them as strings over $\{0,1,b \}$. We have to first agree on how we are encoding the natural numbers in each model. For RAM let's take the trivial encoding, for TM the binary encoding of the natural numbers. After we agree on the encodings the rest is completely formal, any partial function over natural numbers computable in the RAM model is computable in the TM model using the above encodings.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;All of this can be state clearly but many think that getting into these encoding stuff will distract and take unnecessary time from the main topics of an undergrad course in computability/complexity, when students intuition about these is good enough to deal with the main topics of the course there is not a need to complicate things by mentioning encodings, numberings, representations, naming systems, etc.&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2011-07-02T05:13:21.060" LastActivityDate="2011-07-02T05:13:21.060" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="7205" PostTypeId="2" ParentId="7203" CreationDate="2011-07-02T05:09:13.387" Score="21" Body="&lt;p&gt;There are natural variants of worst-case analysis that are also useful. Perhaps the most famous one is parametrized complexity. Here, we consider a &quot;two-dimensional&quot; measure: the usual input length $n$ and some additional non-negative integer $k$, the parameter. Even though an algorithm may run horribly in the worst case (for all values of $n$ and $k$), it could be that all the cases in one's application that needs to be solved, this parameter $k$ happens to be low, so the algorithm runs well on those instances.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, suppose you want to solve Maximum Independent Set on some class of graphs, and develop an interesting algorithm that is surprisingly fast. Investigating further into the class of graphs themselves, you find that all the graphs you examine just happen to have treewidth at most $10$. Well, Bodlaender (cf. Neidermeier [1]) showed that when the treewidth is k, Max Independent Set is &lt;em&gt;fixed parameter tractable&lt;/em&gt;: it can be solved in $O(2^k (|E|+|V|))$ time. This gives some explanation as to why your algorithm works well.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] R. Niedermeier, Invitation to fixed-parameter algorithms. Oxford Lecture Series in Mathematics and its Applications, Oxford University Press, Oxford, 2006.&lt;/p&gt;&#xA;" OwnerUserId="225" LastActivityDate="2011-07-02T05:09:13.387" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7206" PostTypeId="1" CreationDate="2011-07-02T13:45:55.177" Score="0" ViewCount="140" Body="&lt;p&gt;Let's denote $F$ a Boolean formula (in CNF if you wish) and $F_{a}$ the same formula where literal $a$ was assigned and propagated (using &lt;a href=&quot;http://en.wikipedia.org/wiki/Unit_propagation&quot; rel=&quot;nofollow&quot;&gt;unit propagation&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $F_{a} \rightarrow b$ (b is propagated from a) and $F_{\neg a} \rightarrow b$ then I can imply $b$ ($\neg a \rightarrow b \land a \rightarrow b \Rightarrow b $). In other words, any satisfying assignment for $F$ must have $b$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $F_{a} \rightarrow b$ and $F_{\neg a}$ is independent of $b$, is there always a satisfying assignment for $F$ that has $b$ when $F$ can be satisfied?&lt;/p&gt;&#xA;" OwnerUserId="10" LastEditorUserId="77" LastEditDate="2011-07-02T18:06:14.773" LastActivityDate="2011-07-03T08:24:35.540" Title="Does assigning missing literals after unit propagation keep a Boolean formula satisfiable?" Tags="&lt;sat&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="7207" PostTypeId="1" AcceptedAnswerId="7212" CreationDate="2011-07-02T14:23:37.197" Score="28" ViewCount="8689" Body="&lt;p&gt;Being a software engineer for the most part of my life I have absolutley no idea how to start with publishing an &quot;academic&quot; kind of paper. During my latest research I've found an interesting algorithm for the task I've been solving (related to some calculations on financial markets). It's not some great result but I think it can be interesting for people doing the similar tasks and I'd like to publish it. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm of course familar with a style of research papers since I use them extensivly at my job (thanks to Google Scholar and all the good people out there) and I'm able to google for free manuals on academic writing style and how to use LaTeX and I have a lot of friends mathematicians who will check my paper and help to make it look ok. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;But I have absolutely no idea what to do next! I don't belong to any academic institution or recognizable research entity, I work in a small local company, which will be happy to have its name on some paper published but this name will say nothing to anybody. I don't know anybody who is doing research in this area, I mean I've never communicated with anybody. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;How can I found the right place to send paper to? Do I need some sort of recommendation or review and how and where can I try to get them? What are my steps?.. I realize that all these are absolutely obvious things for you if you are a professional sceintist but I have no idea where to start :)&lt;/p&gt;&#xA;" OwnerUserId="4519" LastEditorUserId="74" LastEditDate="2011-07-02T21:33:17.750" LastActivityDate="2011-07-02T21:33:17.750" Title="How to publish a paper?" Tags="&lt;soft-question&gt;&lt;research-practice&gt;&lt;paper-review&gt;" AnswerCount="2" CommentCount="5" FavoriteCount="19" ContentLicense="CC BY-SA 3.0" />
  <row Id="7209" PostTypeId="2" ParentId="7207" CreationDate="2011-07-02T17:25:36.650" Score="24" Body="&lt;p&gt;First, you should write up your result so it's comprehensible as you can make it, and send it to a journal. If your write-up looks like it is a real research paper, your paper should be sent out for review and possible publication. How to choose a journal? Look for other papers which are on roughly the same subject matter and around the same quality as yours, and see where they got published. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Don't publish in a fourth-tier journal; if you do, it will never be read; these seem to exist only for the purpose of increasing the number of researcher's publications, and are not subscribed to by many academic libraries. To make sure you're not choosing one of these, check the online databases of a few good academic libraries, and make sure most of them subscribe to the journal you have picked. &lt;/p&gt;&#xA;" OwnerUserId="1677" LastActivityDate="2011-07-02T17:25:36.650" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7211" PostTypeId="2" ParentId="7156" CreationDate="2011-07-02T19:24:25.867" Score="15" Body="&lt;p&gt;A nice question! Khrapchenko can definitely not give quadratic lower bounds for $AC^0$ functions. His lower bound is in fact at least square of average sensitivity. And all functions in $AC^0$ have poly-logarithmic average sensitivity. Subbotovskaya-Andreev can apparently also not give such a function because the argument they use (random restriction results in much smaller formulas) is exactly the reason forcing large $AC^0$ circuit size; Hastad's Switching Lemma (am not quite sure, just an intuition). The only hope is Nechiporuk. But his argument cannot give more than $n^2/\log n$, by information theoretic reasons. So, can it be that everything in $AC^0$ has formulas of quadratic (or even smaller) size? I don't believe in it, but couldn't quickly find a counterexample.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Actually, the Allender-Koucky phenomenon arises also in other context - in graph complexity. Say that a circuit of $2n$ variables &lt;i&gt;represents&lt;/i&gt; a bipartite $n\times n$ graph $G$ on vertices $V=\{1,\ldots,2n\}$ if for every input vector $a$ with exactly two 1s is, say, positions $i$ and $j$ ($i\leq n$, $j&gt;n$) the circuit accepts $a$ iff vertices $i$ and $j$ are adjacent in $G$. Problem: exhibit an explicit graph $G$ requiring at least $n^{\epsilon}$ gates to be represented by a &lt;b&gt;monotone&lt;/b&gt; $\Sigma_3$-circuit. Seems like an innocent question (since most graphs require about $n^{1/2}$ gates. But any such graph would give us a boolean function of $2m=2\log n$ variables requiring &lt;b&gt;non-monotone&lt;/b&gt; log-depth circuits of superlinear size (by results of Valiant). Thus, even proving $n^{\epsilon}$ lower bounds for depth-3 circuits may be a challenge.   &lt;/p&gt;&#xA;" OwnerUserId="5788" LastActivityDate="2011-07-02T19:24:25.867" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="7212" PostTypeId="2" ParentId="7207" CreationDate="2011-07-02T21:32:35.080" Score="19" Body="&lt;p&gt;Something to consider: try to figure out if you want to present your work at a scientific &lt;strong&gt;conference&lt;/strong&gt;, or if you would prefer to publish it in a scientific &lt;strong&gt;journal&lt;/strong&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Pros of conferences:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;A conference talk will typically get more &lt;strong&gt;visibility&lt;/strong&gt; than a journal paper, at least in short term. I guess fairly few researchers read journals regularly, but many of them take part in the main conferences of the field almost every year. At a conference you can also more easily discuss your work with other researchers.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Pros of journals:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Journal &lt;strong&gt;reviews&lt;/strong&gt; are usually much more thorough than conference reviews. If you submit to a journal, you will get useful feedback on your work, regardless of whether it is accepted for publication. If you submit to a conference, this is not necessarily the case.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;A conference talk will also mean a nontrivial amount of &lt;strong&gt;expenses&lt;/strong&gt;: flights, hotels, conference registration fees, per diem allowances, etc. can easily be in the ballpark of 1000-2000 EUR, and it might be a good idea to first check if your company is willing to support you. Submitting to a journal is much easier from that perspective: typically, it is 100% free.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="74" LastActivityDate="2011-07-02T21:32:35.080" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7213" PostTypeId="1" AcceptedAnswerId="7215" CreationDate="2011-07-03T08:03:28.437" Score="21" ViewCount="28502" Body="&lt;p&gt;Here the goal is to reduce an arbitrary SAT problem to 3-SAT in polynomial time using the fewest number of clauses and variables.   My question is motivated by curiosity.  Less formally, I would like to know: &quot;What is the 'most natural' reduction from SAT to 3-SAT?&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now the reduction that I've always seen in text books goes something like this:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;First take your instance of SAT and apply the Cook-Levin theorem to reduce it to circuit SAT.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Then you finish the job by the standard reduction of circuit SAT to 3-SAT by replacing gates with clauses.  &lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;While this works, the resulting 3-SAT clauses end up looking almost nothing like the SAT clauses you started with, due to the initial application of the Cook-Levin theorem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can anyone see how to do the reduction more directly, skipping the intermediate circuit step and going directly to 3-SAT?  I would even be happy with a direct reduction in the special case of n-SAT.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(I would guess that there are some trade-offs between computation time and the size of the output.  Clearly a degenerate -- though fortunately inadmissible unless P=NP -- solution would be to just solve the SAT problem, then emit a trivial 3-SAT instance...)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT:  Based on ratchet's answer it is clear now that the reduction to n-SAT is somewhat trivial (and that I really should have thought that one through a bit more carefully before posting).  I'm leaving this question open for a bit in case someone knows the answer to the more general situation, otherwise I will simply accept ratchet's answer.&lt;/p&gt;&#xA;" OwnerUserId="559" LastEditorUserId="1800" LastEditDate="2011-07-04T02:04:21.090" LastActivityDate="2020-06-12T15:03:42.203" Title="Direct SAT to 3-SAT reduction" Tags="&lt;cc.complexity-theory&gt;&lt;sat&gt;&lt;reductions&gt;" AnswerCount="5" CommentCount="1" FavoriteCount="11" ContentLicense="CC BY-SA 3.0" />
  <row Id="7214" PostTypeId="2" ParentId="7206" CreationDate="2011-07-03T08:24:35.540" Score="1" Body="&lt;p&gt;If &quot;independent&quot; means &quot;not inferred by unit propagation&quot;, then the answer is &quot;no&quot;. Eg. &#xA;$$ &#xD;&#xA;\lnot a \lor b, x\lor \lnot b,\lnot x\lor \lnot b&#xD;&#xA;$$.&lt;/p&gt;&#xA;" OwnerUserId="4506" LastActivityDate="2011-07-03T08:24:35.540" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="7215" PostTypeId="2" ParentId="7213" CreationDate="2011-07-03T13:24:04.527" Score="32" Body="&lt;p&gt;Each SAT clause has 1, 2, 3 or more variables. The 3 variable clause can be copied with no issue&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The 1 and 2 variable clauses &lt;code&gt;{a1}&lt;/code&gt; and &lt;code&gt;{a1,a2}&lt;/code&gt; can be expanded to &lt;code&gt;{a1,a1,a1}&lt;/code&gt; and &lt;code&gt;{a1,a2,a1}&lt;/code&gt; respectively.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The clause with more than 3 variables  &lt;code&gt;{a1,a2,a3,a4,a5}&lt;/code&gt; can be expanded to &lt;code&gt;{a1,a2,s1}{!s1,a3,s2}{!s2,a4,a5}&lt;/code&gt; with &lt;code&gt;s1&lt;/code&gt; and &lt;code&gt;s2&lt;/code&gt; new variables whose value will depend on which variable in the original clause is true&lt;/p&gt;&#xA;" OwnerUserId="5737" LastEditorUserId="-1" LastEditDate="2017-11-27T07:35:53.387" LastActivityDate="2017-11-27T07:35:53.387" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="7216" PostTypeId="2" ParentId="7156" CreationDate="2011-07-03T14:42:24.397" Score="12" Body="&lt;p&gt;Thanks, Kaveh, for wishing to look at chapters on proof complexity!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Concerning Robin's question, first that note $AC^0$ &lt;b&gt;contains&lt;/b&gt; functions requiring formulas (and even circuits) of size $n^k$ for any constant $k$. This follows, say, from a simple fact that $AC^0$ contains all DNFs with constantly long monomials. Thus, $AC^0$ contains at least $\exp(n^k)$ distinct functions, for any $k$. On the other hand, we have at most about $\exp(t\log n)$ functions computable by formulas of size $t$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I shortly discussed the issue of getting &lt;b&gt;explicit&lt;/b&gt; lower bounds of $n^2$ or larger with Igor Sergeev (from Moscow university). One possibility could be to use Andreev's method, but applied to some another, easier computable function instead of Parity. That is, consider a function of $n$ variables of the form $F(X)=f(g(X_1),\ldots,g(X_b))$ where $b=\log n$ and $g$ is a function in $AC^0$ of $n/b$ variables; $f$ is some most complex function of $b$ variables (mere existence of $f$ is enough). We only need that the function $g$ cannot be &quot;killed&quot; in the following sense: if we fix all but $k$ variables in $X$, then it must be possible to fix all but one of the remaining variables of $g$ so that the obtained subfunction of $g$ is a single variable. Then applying Andreev's argument and using Hastad's result that the shrinking constant is at least $2$ (not just $3/2$ as earlier shown by Sybbotovskaya), the resulting lower bound for $F(X)$ will be about $n^3/k^2$. Of course, we know that every function in $AC^0$ &lt;b&gt;can&lt;/b&gt; be killed by fixing all but $n^{1/d}$ variables, for some constant $d\geq 2$. But to get a $n^2$ lower bound it would be enough to find an explicit function in $AC^0$ which cannot be killed by fixing all but, say, $n^{1/2}$ variables. One should search for such a function in depth larger than two.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Actually, for the function $F(X)$ as above, one can obtain lower bounds about $n^2/\log n$ via simple greedy argument, no Nechiporuk, no Subbotovskaya and no random restrictions! For this, it is merely enough that the &quot;inner function&quot; g(Y) is non-trivial (depends on all its $n/b$ variables). Moreover, the bound holds for any basis of constant fanin-gates, not just for De Morgan formulas.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Proof: Given a formula for $F(X)$ with $s$ leaves, select in each block $X_i$ a variable which appears the &lt;b&gt;smallest&lt;/b&gt; number of times as a leaf. Then set all remaining variables to the corresponding constants so that each $g(X_i)$ turns to a variable or its negation. The obtained formula will then be at least $n/b$ times &lt;b&gt;smaller&lt;/b&gt; than the original formula. Thus, $s$ is at least $n/b=n/\log n$ times the formula size $2^b/\log b=n/\log\log n$ of $f$, that is, $s\geq n^{2-o(1)}$. Q.E.D.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To get $n^2$ or more, one has to incorporate Subbotovskaya-Hastad shrinking effect under random restrictions. A possible candidate could be some version of Sipser's function used by Hastad to show that depth-$(d+1)$ circuits are more powerful than those of depth $d$. &lt;/p&gt;&#xA;" OwnerUserId="5788" LastEditorUserId="5788" LastEditDate="2011-07-09T16:15:30.330" LastActivityDate="2011-07-09T16:15:30.330" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7217" PostTypeId="2" ParentId="7203" CreationDate="2011-07-03T18:18:19.730" Score="15" Body="&lt;p&gt;There is amortized complexity -- why some operations can be costly in the worst-case, but if you consider many operations, the average cost per operation is good.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A classic example is a data structure that empties itself when it is full by copying all its elements to some storage. The copying operation can be expensive, but it doesn't happen often -- you have to insert enough elements to the data structure to provoke it.&lt;/p&gt;&#xA;" OwnerUserId="1621" LastEditorUserId="1621" LastEditDate="2011-07-04T15:40:15.187" LastActivityDate="2011-07-04T15:40:15.187" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7218" PostTypeId="2" ParentId="7213" CreationDate="2011-07-03T18:27:23.207" Score="21" Body="&lt;p&gt;If you need a reduction from k-SAT to 3-SAT, then ratchet's answer works fine.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you want a direct reduction from &lt;strong&gt;generic propositional formula to CNF (and to 3-SAT)&lt;/strong&gt; then - at least from the &quot;SAT solvers perspective&quot; - I think that the answer to your question &lt;em&gt;What is the 'most natural' reduction ...?&lt;/em&gt;, is: &lt;strong&gt;There is no 'natural' reduction&lt;/strong&gt;!.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;From the conclusions of &lt;em&gt;Chapter 2 - &quot;CNF Encodings&quot;&lt;/em&gt; of the (very good) book: &lt;a href=&quot;http://www.st.ewi.tudelft.nl/sat/handbook/&quot;&gt;Handbook of Satisfiability&lt;/a&gt;:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;...&lt;br&gt;&#xA;There are usually many ways to model a given problem in CNF, and few guidelines&#xA;are known for choosing among them. There is often a choice of problem features to&#xA;model as variables, and some might take considerable thought to discover. Tseitin&#xA;encodings are compact and mechanisable but in practice do not always lead to&#xA;the best model, and some subformulae might be better expanded. Some clauses&#xA;may be omitted by polarity considerations, and implied, symmetry breaking or&#xA;blocked clauses may be added. Different encodings may have different advantages&#xA;and disadvantages such as size or solution density, and what is an advantage for&#xA;one SAT solver might be a disadvantage for another. &lt;strong&gt;In short, CNF modelling&#xA;is an art and we must often proceed by intuition and experimentation.&lt;/strong&gt;&#xA;&lt;br&gt;...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The most known algorithm is the &lt;strong&gt;Tseitin algorithm&lt;/strong&gt; (G. Tseitin. &lt;em&gt;On the complexity of derivation in propositional calculus.&lt;/em&gt; Automation of Reasoning: Classical Papers in Computational Logic, 2:466–483, 1983. Springer-Verlag.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For a good introduction to CNF encodings read the suggested book &lt;em&gt;Handbook o Satisfiability&lt;/em&gt;. You can also read some recent works and look at the references; for example: &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;P. Jackson and D. Sheridan. Clause form conversions for Boolean circuits. In&#xA;H. H. Hoos and D. G. Mitchell, editors, &lt;em&gt;Theory and Applications of Satisfiability&#xA;Testing, 7th International Conference, SAT 2004&lt;/em&gt;, volume 3542 of LNCS, pages&#xA;183–198. Springer, 2004. (which aims to reduce the number of clauses)&lt;/li&gt;&#xA;&lt;li&gt;P. Manolios, D. Vroon, Efficient Circuit to CNF Conversion. In &lt;em&gt;Theory and Applications of Satisfiability Testing – SAT 2007 (2007), pp. 4-9&lt;/em&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="3247" LastActivityDate="2011-07-03T18:27:23.207" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7219" PostTypeId="2" ParentId="1295" CreationDate="2011-07-03T18:45:10.093" Score="5" Body="&lt;p&gt;I wrote a small &lt;a href=&quot;http://sat.inesc-id.pt/~mikolas/sw/pienum/&quot; rel=&quot;noreferrer&quot; title=&quot;enumerator&quot;&gt;model/prime implicant enumerator&lt;/a&gt;. This can already be used for model counting with the model enumeration but that's not very practical. If anybody's interested, I can extend it so it counts models from prime implicants.&lt;/p&gt;&#xA;" OwnerUserId="4506" LastActivityDate="2011-07-03T18:45:10.093" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7220" PostTypeId="1" AcceptedAnswerId="7221" CreationDate="2011-07-03T21:27:04.633" Score="8" ViewCount="355" Body="&lt;p&gt;I moved somehow from biophysics to a mixed team where we usually publish in TCS journal / conferences. For getting funding, in the European country where I live, it is advisable to show in your CV that I have refereed papers or conferences on these fields. I have more than 30 publications but never really thought about this. So my question goes, how can I become referee in these cases? &lt;/p&gt;&#xA;" OwnerUserId="5375" LastActivityDate="2011-07-03T21:39:56.753" Title="How to become referee for TCS papers and conferences" Tags="&lt;paper-review&gt;&lt;conferences&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7221" PostTypeId="2" ParentId="7220" CreationDate="2011-07-03T21:34:01.437" Score="13" Body="&lt;p&gt;Generally, you are invited to be a referee because the editor knows you or your work or he/she finds you because the paper under review cites your work or is in the same field as your work (perhaps via a google search).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course, if you are on the PC of a conference, you get to review loads of papers. You get on the PC by being invited, generally because you are either an old hand in the field or an up and coming star (or a friend/(ex-)colleague of the PC chair).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you are a student or post-doc, then you should get to do some reviewing if your supervisor/boss/colleague/etc is on the PC of a conference.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In short, you need to be known or linked with someone who is known. Or alternatively you could ask a colleague whether you could review some papers for him/her next time he/she is on a PC.&lt;/p&gt;&#xA;" OwnerUserId="77" LastEditorUserId="77" LastEditDate="2011-07-03T21:39:56.753" LastActivityDate="2011-07-03T21:39:56.753" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="7222" PostTypeId="1" CreationDate="2011-07-03T23:29:02.303" Score="18" ViewCount="852" Body="&lt;p&gt;$(n + 1)$ points are required to uniquely determine a polynomial of degree $n$; for instance, two points in a plane determine exactly one line.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;How many points are required to uniquely determine a computable function $f : N \rightarrow N$, given the length of a program that computes $f$ in a fixed language? (i.e. a bound on the Kolmogorov complexity of $f$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The idea is that, at least theoretically, one could prove the correctness of a program by making enough tests.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If one has a program $P$ of length $L$ that computes $f$, there is a bound on the number of functions that can be computed with a source length of at most $L$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Therefore one would &quot;only&quot; need to prove that:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$f$ &lt;strong&gt;can&lt;/strong&gt; be computed with a source length $\leq L$&lt;/li&gt;&#xA;&lt;li&gt;$P$ does not compute any other function computable in $L$ bytes or less (by testing)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;This idea has probably no practical consequences (the bounds are surely bound to be exponential).&lt;/p&gt;&#xA;" OwnerUserId="5796" LastEditorUserId="3964" LastEditDate="2011-07-06T14:56:38.587" LastActivityDate="2013-06-15T00:54:21.857" Title="Can testing show the absence of bugs?" Tags="&lt;cc.complexity-theory&gt;&lt;computability&gt;" AnswerCount="4" CommentCount="9" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="7223" PostTypeId="1" CreationDate="2011-07-04T01:57:18.047" Score="1" ViewCount="272" Body="&lt;p&gt;What are good measures of tree-like-ness of a graph and algorithms for calculating them?&lt;/p&gt;&#xA;" OwnerUserId="5798" LastEditorUserId="1800" LastEditDate="2011-07-04T02:05:02.353" LastActivityDate="2011-07-04T02:05:02.353" Title="How to quantify the tree-like-ness of a graph?" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;graph-algorithms&gt;&lt;tree&gt;" AnswerCount="0" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="7224" PostTypeId="1" AcceptedAnswerId="7330" CreationDate="2011-07-04T05:02:34.557" Score="1" ViewCount="307" Body="&lt;p&gt;Are there any good examples of branching efficiency / prediction in quantum algorihms? Specifically suppose I have a set of CNOT gates one after the other that have the control line on the same line as the output of the CNOT gate?&lt;/p&gt;&#xA;" OwnerUserId="5385" LastActivityDate="2011-07-11T14:08:11.980" Title="Branch prediction in quantum algorithms" Tags="&lt;reference-request&gt;&lt;quantum-computing&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7225" PostTypeId="2" ParentId="7164" CreationDate="2011-07-04T08:33:12.420" Score="5" Body="&lt;p&gt;I finally managed to dig out &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.87.9739&amp;amp;rep=rep1&amp;amp;type=pdf&quot;&gt;a nice survey by Kitaev and Mansour&lt;/a&gt;, which gives pointers to the literature related to permutation pattern matching on  &quot;usual&quot;/signed/coloured permutations and words.&lt;/p&gt;&#xA;" OwnerUserId="775" LastActivityDate="2011-07-04T08:33:12.420" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7228" PostTypeId="2" ParentId="7213" CreationDate="2011-07-04T12:12:02.587" Score="29" Body="&lt;p&gt;This is probably beyond the scope of the question, but I wanted to post it anyway. Using techniques from parameterized complexity it has been proven that, assuming the polynomial hierarchy doesn't collapse to its third level, there is no polynomial-time algorithm which takes an instance of CNF-SAT on n variables with unbounded clause length, and outputs an instance of k-CNF-SAT (no clauses of length more than k) on n' variables where $n&amp;#39;$ is polynomial in $n$. This follows from work of &lt;a href=&quot;http://dx.doi.org/10.1016/j.jcss.2010.06.007&quot;&gt;Fortnow and Santhanam&lt;/a&gt;, see also follow-up work by &lt;a href=&quot;http://www2.informatik.hu-berlin.de/~dell/papers/dvm10sparsification.pdf&quot;&gt;Dell and van Melkebeek&lt;/a&gt;. So roughly speaking, the number of variables in the k-CNF-SAT instance will always depend on the number of clauses in your CNF-SAT formula.&lt;/p&gt;&#xA;" OwnerUserId="122" LastActivityDate="2011-07-04T12:12:02.587" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7234" PostTypeId="2" ParentId="7199" CreationDate="2011-07-04T17:27:50.200" Score="33" Body="&lt;p&gt;Although it seems intuitive that the list of forbidden (induced) subgraphs for a class $\mathscr{C}$ of graphs which has NP-hard recognition &lt;em&gt;should&lt;/em&gt; possess some &quot;intrinsic&quot; complexity, I have recently found some striking negative evidence to this intuition in the literature.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Perhaps the simplest to describe is the following, taken from &lt;a href=&quot;http://dx.doi.org/10.1016/j.dam.2009.02.015&quot;&gt;an article by B. Lévêque, D. Lin, F. Maffray and N. Trotignon&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $F$ be the family of graphs which are composed of a cycle of length at least four, plus three vertices: two adjacent to the same vertex $u$ of the cycle, and one adjacent to a vertex $v$ of the cycle, where $u$ and $v$ are not consecutive in the cycle (and no other edges).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now let $F&amp;#39;$ be the family of graphs which are composed exactly the same way, except that you add &lt;em&gt;four&lt;/em&gt; vertices: two adjacent to the same vertex $u$ of the cycle (as before), but now &lt;em&gt;two&lt;/em&gt; adjacent to the same vertex $v$ of the cycle, where again $u$ and $v$ are not consecutive.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then the class of graphs which has $F$ as the forbidden induced subgraphs has polynomial-time recognition, whereas the recognition of the class which has $F&amp;#39;$ as the forbidden induced subgraphs is NP-hard.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Therefore, I find it hard to conceive of any &lt;em&gt;general&lt;/em&gt; condition that a list of forbidden induced subgraphs has to satisfy when it results in a class with (NP-) hard recognition, considering that such a condition will have to separate the &quot;very similar&quot; $F$ and $F&amp;#39;$ above.&lt;/p&gt;&#xA;" OwnerUserId="5808" LastActivityDate="2011-07-04T17:27:50.200" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="7236" PostTypeId="2" ParentId="7177" CreationDate="2011-07-04T23:18:06.640" Score="4" Body="&lt;p&gt;Answer to questions 1 and 2: No. This is also the answer to 3 if $M$ is required to always halt (isn't this implied by the definition of a learner, or do you mean the program produced by $M$ must always halt?). Here's a proof for 1 (2 and 3 work pretty much the same way)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose there's an algorithm $A$ which takes the description of a learner $N$ and outputs a learner $M$ which behaves differently. Let $N$ be a learner which runs $A$ on its own description, then runs the output $A(N) = M$ on the input text to produce a program that enumerates some set. By definition of $A$, $N$ and $M$ behave differently, but by construction they behave identically, contradicting the existence of $A$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This same argument can be pretty easily modified to show that 2 is impossible. It can also be used to show that 3 is impossible if $M$ must always halt.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Not a real answer for question 4, but you might find this helpful: A prudent learner cannot converge on both every text for a finite set and on every text for the set of all natural numbers. Let $N$ be a learner that converges on every text for a finite set. Now, consider the following text for the set of all natural numbers. It contains all numbers in order, separated by differing numbers of 1s. After $i$, it contains enough 1s that $N$ will return a program which enumerates the set $1,\ldots,i$. $N$ will do this because it converges on every finite set. Because it will return a program enumerating a finite set after every prefix of this text, it does not converge on this text.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So if you let $M_1$ be the learner which converges on all finite sets and $M_2$ be the learner which converges on all texts for the set of all natural numbers, at least one of $M_1,M_2$ satisfies the criteria in question 4. You can extend this to a countably infinite set of learners in which at least all but one learner satisfies the criteria in question 4 by producing a machine $M_i$ for each natural number $i$ which converges on all finite sets which don't contain powers of the $i$th prime and also converges on the set of all powers of the $i$th prime. By similar logic as above, $N$ can't converge on all sets that any two of these converge on.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can use this set of learners to find an $M$ satisfying 4 with arbitrarily high probability.&lt;/p&gt;&#xA;" OwnerUserId="1560" LastEditorUserId="1560" LastEditDate="2011-07-08T08:20:14.570" LastActivityDate="2011-07-08T08:20:14.570" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="7240" PostTypeId="1" AcceptedAnswerId="7244" CreationDate="2011-07-05T16:28:08.453" Score="5" ViewCount="321" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;Can anyone recommend a good book(s) or journal article(s) on object-oriented program design patterns/principles and simulation modeling of diseases?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I received the above question this morning by email.  It was sent to a SIAM list service I belong to.  I don't know the asker, and I don't know a good answer either.  I figured, though, if some people here had good suggestions, either theoretical or practical, I could send him the link to this question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit: I sent the asker a copy of this question, with Artem K's answer visible.  He responded, saying thanks.&lt;/p&gt;&#xA;" OwnerUserId="30" LastEditorUserId="30" LastEditDate="2011-07-06T19:27:42.460" LastActivityDate="2011-07-06T19:48:10.833" Title="Simulation modeling of diseases" Tags="&lt;reference-request&gt;&lt;formal-modeling&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7241" PostTypeId="1" CreationDate="2011-07-05T19:22:59.060" Score="7" ViewCount="261" Body="&lt;p&gt;Given edge weighted undirected graph the problem asks to output a spanning tree $T$ of minimum weight such that the path between any two vertices in the tree $T$ is bounded by the input $k$. One of the related paper is at &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0166218X99001110&quot;&gt;http://www.sciencedirect.com/science/article/pii/S0166218X99001110&lt;/a&gt; .&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However i could not find other relevant results which improvised over it in general case. Can anyone please refer me the state of the art in this problem. I am also looking for results on unweighted undirected graphs which i couldn't get. I tried to google out and follow the citations but couldn't get what i wanted.&lt;/p&gt;&#xA;" OwnerUserId="5153" LastEditorUserId="5153" LastEditDate="2011-07-05T19:29:09.087" LastActivityDate="2011-07-05T19:29:09.087" Title="Results regarding Bounded Diameter Minimum Spanning Tree" Tags="&lt;reference-request&gt;&lt;approximation-algorithms&gt;&lt;approximation-hardness&gt;" AnswerCount="0" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="7242" PostTypeId="2" ParentId="1794" CreationDate="2011-07-05T20:50:47.753" Score="11" Body="&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Actually, there were attempts to prove lower bounds for circuits working over larger domains than $\{0,1\}$. Say, Tkachov [Vestnik of Moscow University, Nr. 1, 1977, in Russian] considered circuits working with input vectors $a$ in $Z_3^n=\{0,1,2\}^n$. As gates he allowed $\min(x,y)$ and $xy\mod{2}$. He considered the following function: $f(a)=0$ if $a$ contains a $0$ or the number of $2$'s in $a$ is at least the number of $1$'s. He shows that any circuit (over that MIN/XOR) basis requires about $2^n/\sqrt{n}$ gates to compute $f$. But that was! I am not aware of any further results in a similar favor (going to larger, but still finite,  domains)except, of course, the stuff of arithmetic circuits. But only for circuits - for branching program going to larger domains makes the task of lower bounds somewhat easier.   &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;On circuits with XOR gates. Here even the case of depth $2$ is widely open. The highest lower bounds for explicit linear transformations $y=Ax$ over $GF(2)$ have the form $n\log^{3/2}n$. To prove a bound like $n^{1+c}$ for a constant $c&amp;gt;0$, even in depth $2$ and even if only XOR gates are allowed,  is a challenge. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="5788" LastActivityDate="2011-07-05T20:50:47.753" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="7243" PostTypeId="2" ParentId="1168" CreationDate="2011-07-06T01:07:52.477" Score="2" Body="&lt;p&gt;Not specifically a topic in theoretical computer science, but I think an area that is fundamental to much of the work in data analysis and machine learning is a foundational paper in what are currently known as Graphical Models:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Lauritzen, Steffen L. and Spiegelhalter, David J., ( 1988) &quot;&lt;a href=&quot;https://www.jstor.org/stable/2345762?seq=1#metadata_info_tab_contents&quot; rel=&quot;nofollow noreferrer&quot;&gt;Local Computations with Probabilities on Graphical Structures and their Application to Expert Systems&lt;/a&gt;&quot;, Journal of the Royal Statistical Society, Series B (Methodological)&quot;, 50(2) pp 157--224.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The way they solve the probability updating problem harkens back to earlier work on optimizing elimination orders for linear systems, and, subsequently is expanded on by Lauritzen to a larger class of dynamic programming style problems. &lt;/p&gt;&#xA;" OwnerUserId="5821" LastEditorUserId="52310" LastEditDate="2019-09-20T08:46:00.020" LastActivityDate="2019-09-20T08:46:00.020" CommentCount="0" CommunityOwnedDate="2011-07-06T01:07:52.477" ContentLicense="CC BY-SA 4.0" />
  <row Id="7244" PostTypeId="2" ParentId="7240" CreationDate="2011-07-06T01:57:23.260" Score="6" Body="&lt;p&gt;My answer addresses the general theory of disease (and similar) modelling and only briefly touches on the implementations. For simulations (as opposed to analytic work, which usually uses evolutionary game theory or &lt;a href=&quot;http://mathworld.wolfram.com/SIRModel.html&quot; rel=&quot;noreferrer&quot;&gt;SIR models&lt;/a&gt;) the popular paradigm is agent-based modeling (ABM). A good recent book on agent-based modelling from a CS perspective is:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Yoav Shoham and Kevin Leyton-Brown&#xA;  [2009], &quot;Multiagent systems:&#xA;  algorithmic, game-theoretic, and&#xA;  logical foundations&quot;, Cambridge&#xA;  University press.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;A big general conference of agent-based modeling is AAMAS (links to &lt;a href=&quot;http://www.aamas2011.tw/index.html&quot; rel=&quot;noreferrer&quot;&gt;2011&lt;/a&gt; and &lt;a href=&quot;http://aamas2012.webs.upv.es/&quot; rel=&quot;noreferrer&quot;&gt;2012&lt;/a&gt;). They don't specialize in disease modeling in particular, but a lot of the techniques they use can be applied there.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In terms of software for doing rapid prototyping of ABMs, a popular one is &lt;a href=&quot;http://ccl.northwestern.edu/netlogo/&quot; rel=&quot;noreferrer&quot;&gt;NetLogo&lt;/a&gt;. This seems to be particularly popular in the social sciences, where they do slight variations of standard epidemic models to describe certain social processes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Currently, it seems like the focus of theoretical work in this field (and this is obviously biased by my own interests) is to consider environments where agents are limited in their interactions. If you just have agents meet randomly, then ABMs are usually overkill and things can be done analytically. However, if there is some interesting network structure (fixed or dynamic) to the interactions (as there often is in real life) then ABMs become an essential tool. A fun recent book that discusses some of these ideas (once again from a CS perspective) is:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;David Easley and Jon Kleinberg [2010],&#xA;  &quot;Networks, crowds, and markets:&#xA;  Reasoning about a highly connected&#xA;  world,&quot; Cambridge University press. (a&#xA;  draft is &lt;a href=&quot;http://www.cs.cornell.edu/home/kleinber/networks-book/networks-book.pdf&quot; rel=&quot;noreferrer&quot;&gt;available&#xA;  online&lt;/a&gt;)&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="1037" LastActivityDate="2011-07-06T01:57:23.260" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7246" PostTypeId="2" ParentId="1168" CreationDate="2011-07-06T06:24:24.670" Score="6" Body="&lt;p&gt;I guess this question will be searched by some amateurs like me. While everybody proficient in the field will most likely know it, I found Donald Knuth's paper &lt;a href=&quot;http://www-cs-faculty.stanford.edu/~uno/papers/dancing-color.ps.gz&quot; rel=&quot;noreferrer&quot;&gt;Dancing Links&lt;/a&gt; a very interesting read. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It doesn't require too much theoretical background and still gives an interesting impression on how we can find new ways to solve well known problems with some creative thinking. And it directly leads to the &lt;a href=&quot;http://en.wikipedia.org/wiki/Exact_cover&quot; rel=&quot;noreferrer&quot;&gt;exact cover problem&lt;/a&gt; which again provided some interesting insights. This especially for everybody who may try his skills in areas like solving Sudokus or the N queens problem.&lt;/p&gt;&#xA;" OwnerUserId="3487" LastActivityDate="2011-07-06T06:24:24.670" CommentCount="0" CommunityOwnedDate="2011-07-06T06:24:24.670" ContentLicense="CC BY-SA 3.0" />
  <row Id="7247" PostTypeId="1" AcceptedAnswerId="7259" CreationDate="2011-07-06T08:22:07.243" Score="12" ViewCount="481" Body="&lt;p&gt;We can think of Kolmogorov complexity of a string $x$ as the length of the shortest program $P$ and input $y$ such that $x = P(y)$. Usually these programs are drawn from some Turing-complete set (like $P$ might be the description of a Turing machine, or it could be a program in LISP or C). Even when we look at resource-bounded Kolmogorov complexity, we still look at Turing machines but with some bounds on their runtime or space usage. One of the consequences of this, is that the complexity of a string is undecidable. This seems like an awkward feature.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What happens if we use non-Turing complete models of computation to define Kolmogorov complexity?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;If we pick a restrictive enough model (say our model can only implement the identity), then the complexity of a string becomes decidable, although we also lose the invariance theorem. Is it possible to have a model strong enough to have complexity equal (upto a constant offset, or even a multiplicative factor) to the Turing-complete model, but weak enough to still allow the complexity of a string to be decidable? Is there a standard name for Kolmogorov complexity with non-Turing complete models of computation? Where could I read more about this?&lt;/p&gt;&#xA;" OwnerUserId="1037" LastActivityDate="2013-11-07T16:03:07.807" Title="Kolmogorov complexity with weak description languages" Tags="&lt;reference-request&gt;&lt;computability&gt;&lt;kolmogorov-complexity&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="7248" PostTypeId="1" AcceptedAnswerId="7250" CreationDate="2011-07-06T08:53:06.057" Score="12" ViewCount="841" Body="&lt;p&gt;Given a sequence of $n$ numbers, can it be sorted with $O(n \ln n)$ comparisons and $O(n)$ swaps/moves? Any pointer to publications on that matter or counterarguments showing a $\Omega(n \ln n)$ lower bound would help.&lt;/p&gt;&#xA;" OwnerUserId="5564" LastActivityDate="2011-07-06T10:10:15.747" Title="Optimal sort algorithm in number of swaps" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7249" PostTypeId="1" CreationDate="2011-07-06T09:12:25.727" Score="5" ViewCount="276" Body="&lt;p&gt;Is there a setting in which finding eigenvalues/eigenvectors is computationally hard? Or at least, not known to be computationally easy?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, how computationally hard or easy is it to find eigenvalues/eigenvectors of matrices over finite fields?  Suppose the field has size exponential in the dimension.  (Does the QR algorithm still converge?)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;How about finding eigenvalues/eigenvectors of sparse matrices? &lt;/p&gt;&#xA;" OwnerUserId="5828" LastActivityDate="2011-07-06T09:12:25.727" Title="Hardness of finding eigenvalues?" Tags="&lt;linear-algebra&gt;" AnswerCount="0" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="7250" PostTypeId="2" ParentId="7248" CreationDate="2011-07-06T10:10:15.747" Score="15" Body="&lt;p&gt;There exists a stable in-place sorting algorithm with $O(n \log n)$ comparisons and $O(n)$ moves.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See:&#xA;Gianni Franceschini: Sorting Stably, in Place, with $O(n \log n)$ Comparisons and $O(n)$ Moves. Theory Comput. Syst. 40(4): 327-353 (2007)&lt;br&gt;&#xA;&lt;a href=&quot;http://www.springerlink.com/content/d7348168624070v7/&quot; rel=&quot;nofollow&quot;&gt;http://www.springerlink.com/content/d7348168624070v7/&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="3825" LastActivityDate="2011-07-06T10:10:15.747" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7251" PostTypeId="2" ParentId="7222" CreationDate="2011-07-06T10:42:06.600" Score="0" Body="&lt;p&gt;You can make the program arbitrarily long. So given any program, you can decide whether its language is equivalent to that of this program. You can't do that by Rice's theorem.&lt;/p&gt;&#xA;" OwnerUserId="2938" LastActivityDate="2011-07-06T10:42:06.600" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7252" PostTypeId="2" ParentId="7145" CreationDate="2011-07-06T14:22:18.450" Score="5" Body="&lt;p&gt;There has been a lot of work done in this area. A good survey is the first chapter of &quot;Handbook of Financial Cryptography and Security&quot; (for the crypto) and the seventh chapter (for a survey of technologies). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The first scheme to prevent double spending and not require a public global transcript is, to my knowledge, by Chaum, Fiat and Naor [Crypto 88]. In their model, users obtain digital cash that is unlinkable to their identity but if they double spend the coin, then with high probability it will reveal their identity when the coins are eventually returned to the bank. CFN is very inefficient and there has been much work on improving it.&lt;/p&gt;&#xA;" OwnerUserId="1792" LastActivityDate="2011-07-06T14:22:18.450" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="7253" PostTypeId="1" AcceptedAnswerId="7254" CreationDate="2011-07-06T14:58:41.783" Score="-6" ViewCount="422" Body="&lt;p&gt;Is it theoretically possible to reconstruct the contents of a file from its id using evolutionary computing? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A file in this case can be a text, image, video or audio file.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The 'id' in this case, refers to any string that uniquely identifies that file. For instance, an md5 checksum or a sha1 hash...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;And evolutionary computing here can refer to genetic programming, genetic algorithms, annealing....&lt;/p&gt;&#xA;" OwnerUserId="5831" LastEditorUserId="186" LastEditDate="2011-08-25T02:21:45.130" LastActivityDate="2012-03-21T13:39:21.200" Title="Genetic algorithms" Tags="&lt;ne.neural-evol&gt;&lt;genetic-algorithms&gt;&lt;genetic-programming&gt;" AnswerCount="2" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="7254" PostTypeId="2" ParentId="7253" CreationDate="2011-07-06T15:12:23.100" Score="6" Body="&lt;p&gt;No.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First off, note that there isn't nearly enough information in a hashed value to reconstruct any reasonable representation of content. Trivially, you could simply use the hash as an index into a lookup table, but presumably that isn't what you're asking.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If the question is can an evolutionary algorithm learn to match a hash with the specific video it was generated from (as opposed to constructing the video from scratch), then the answer is still &quot;no&quot;, but for a more interesting reason. Search algorithms like GAs exploit structure inherent in a problem to find solutions without having to exhaustively search the space. Hash functions like sha1 or md5 are specifically designed to not possess this sort of smooth structure. Change one bit in a file, and the hash of the file changes arbitrarily. From the view of an optimization algorithm, the function it's being asked to learn is essentially random. With no structure to exploit, everything degenerates to random search.&lt;/p&gt;&#xA;" OwnerUserId="5832" LastActivityDate="2011-07-06T15:12:23.100" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7255" PostTypeId="1" AcceptedAnswerId="7278" CreationDate="2011-07-06T15:32:40.070" Score="2" ViewCount="148" Body="&lt;p&gt;This question is posted on behalf of my friend, who is a networks engineer handling massive data (so not a toy problem). He needs to maintain a lookup/insertion/deletion structure storing nodes with multiple attributes. That is, there is a set of $k$ global properties, or key/value fields, where each node may maintain only a subset of them. E.g, $A$ is ($x=1$), $B$ is ($x=1$,$y=4$), $C$ is ($x=1$,$z=5$), where $x$, $y$, and $z$ are attributes. There should be no repetition of nodes, although one may be a subset of another in it's filled values. For example, here node $A$ is a subset of $B$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The structure would initially be constructed from a large amount of nodes &quot;on disk&quot; (let us call this parameter $n$) in preprocessing and then would go in live query mode. Whenever a new query $Q$ comes in, the query $Q$ will also have between 1 to $k$ of the key/value pairs filled. The structure has to specify ALL matching nodes of the structure (e.g, $A(x=1)$, $B(y=4)$, $C(x=1,y=4)$ all would match $Q(x=1,y=4)$) and if $Q$ does not already exist in the structure, it has to be inserted. Given a query node, $Q$, a matching node $M$ is defined to be such that it's filled key-value pairs are a superset of those of $Q$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Which data structure would produce such a result in optimal insertion/lookup/deletion time, and of course, linear storage? Both amortized and worst case guarantees would be interesting, since this structure will handle a large number of queries. A link to relevant papers or literature would also help.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I thought about posting this on stackoverflow, but in this case the engineer is looking for a sound algorithm, not code, and preferably with theoretical performance guarantees. Apologies if it is fairly trivial for someone well-versed in data structures.&lt;/p&gt;&#xA;" OwnerUserId="2302" LastEditorUserId="2302" LastEditDate="2011-07-08T04:51:35.047" LastActivityDate="2011-07-28T07:02:31.870" Title="Maintaining multiple field dynamic values" Tags="&lt;ds.data-structures&gt;" AnswerCount="2" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="7256" PostTypeId="1" CreationDate="2011-07-06T15:49:27.280" Score="9" ViewCount="527" Body="&lt;p&gt;[Edit 21 July 2011: I edited the question to ask for more examples]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This question is asking for documented discussion of or more examples of a heuristic observation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some mathematical problems that admit efficient algorithms appear to be convex in nature. I'm thinking of linear and semi-definite programs and various combinatorial problems that reduce to these. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;First, are there other families of problems that admit efficient algorithms for the convex/conjunctive case? (I would be particularly grateful for examples of  decision procedures for logical theories) Second, I would appreciate pointers to articles or sections of articles that discuss an opinion such as &quot;lurking under a lot of efficient algorithms is a convex structure.&quot; &lt;/p&gt;&#xA;&#xA;&lt;p&gt;[Edit, 21 July 2011: Added the following.]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would like to add some clarifications. I'm sorry I didn't include them earlier. I am interested in logical decision problems. It appears to me that efficient decision procedures exist for the conjunctive fragment of several logical problems. Here are two examples. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Efficient solvers for quantifier-free first order theories (such as SMT solvers for equality, equality with uninterpreted functions, difference arithmetic, etc.) typically have an efficient solver for the conjunctive fragment and use various techniques to cope with disjunction and negation. In static analysis of programs, the commonly used (and efficient) abstractions are based on integer intervals, affine equalities, octagons or polyhedra. In predicate-based abstraction and program verification, there is something called the Cartesian abstraction, which is intuitively about having conjunctions of predicates rather than arbitrary Boolean combinations. All these cases appear to me to be about gaining efficiency by exploiting the conjunctive fragment of the problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The conjunctive fragment of the first order theory of linear, real arithmetic can express convex polyhedra. This is why I originally asked about convex programming.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am interested to know of other problems or examples where efficient solutions (in the theoretical or practical sense) are based on a convex or conjunctive sub-problem. If there is another general condition (Suresh mentioned sub-modularity) please mention it and problems whose solutions exploit that condition. &lt;/p&gt;&#xA;" OwnerUserId="4155" LastEditorUserId="4155" LastEditDate="2011-07-21T00:16:01.697" LastActivityDate="2011-07-21T00:16:01.697" Title="Convexity and efficient algorithms." Tags="&lt;ds.algorithms&gt;&lt;convex-optimization&gt;&lt;philosophy&gt;" AnswerCount="1" CommentCount="8" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="7258" PostTypeId="2" ParentId="1982" CreationDate="2011-07-06T19:03:46.300" Score="11" Body="&lt;p&gt;To the question of Kaveh &quot;Can non-uniformity help us in computing natural uniform problems?&quot; &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think the answer is &quot;yes&quot;, sometimes. Consider, for example, the Subset-Sum problem: given a sequence of $n$ positive real numbers, decide whether some subset of them sums up to $1$. This is an NP-hard problem even if restricted to positive integers (Knapsack). But Friedhelm Meyer auf der Heide (1984) has shown that, for any $n$, the problem can be solved by a linear decision tree of depth smaller than $n^5$. In such a tree tests are of the form: is a linear combination of input variables larger than some threshold. Non-uniformity here is important: for every $n$ we may have entirely different algorithm (decision tree). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;References:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Friedhelm Meyer auf der Heide, &quot;&lt;a href=&quot;http://doi.acm.org/10.1145/828.322450&quot; rel=&quot;nofollow noreferrer&quot;&gt;A Polynomial Linear Search Algorithm for the n-Dimensional Knapsack Problem&lt;/a&gt;&quot;, 1984&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="5788" LastEditorUserId="32387" LastEditDate="2017-04-03T17:01:43.187" LastActivityDate="2017-04-03T17:01:43.187" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="7259" PostTypeId="2" ParentId="7247" CreationDate="2011-07-06T19:39:39.353" Score="5" Body="&lt;p&gt;Let's assume there exists some &quot;decidable&quot; complexity $D(s)$ differs from Kolmogorov complexity $K(s)$ by shift, by factor or, more generally, by any decidable monotonic unbounded numerical function $f(n)$ such that $K(s) &amp;gt; f(D(s))$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As $D(s)$ is decidable, it is possible to choose (effectively) a sequence of strings $s_n$ such  that $f(D(s_n))&amp;gt; \mathrm{vff}(n)$ where $\mathrm{vff}$ is some &quot;very very fast growing function&quot; such as $\exp(\exp(\exp(n)))$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose that we have $K(s_n) &amp;gt; \mathrm{vff}(n)$, i.e. Kolmogorov complexity of string $s(n)$ grows fast with $n$. But index $n$ also identifies the string $s(n)$ and, therefore, may be treated as upper bound of $K(s_n)$ (with some const shift). Any number $n$ needs only $\log(n)$ bits to represent it, and this contradicts with fast growing of complexity of $K(s_n)$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thus for any decidable monotonic unbounded numerical function $f$, there exists strings $s$ such that $K(s) \not&amp;gt; f(D(s))$.&lt;/p&gt;&#xA;" OwnerUserId="5771" LastEditorUserId="1037" LastEditDate="2013-11-07T16:03:07.807" LastActivityDate="2013-11-07T16:03:07.807" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7260" PostTypeId="2" ParentId="7240" CreationDate="2011-07-06T19:48:10.833" Score="2" Body="&lt;p&gt;If the disease you are interested in is zombie-ism, then you can look at the seminal paper:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://mysite.science.uottawa.ca/rsmith43/Zombies.pdf&quot; rel=&quot;nofollow&quot;&gt;When zombies attack!: Mathematical modelling of an outbreak of zombie infection&lt;/a&gt; by &#xA;Philip Munz, Ioan Hudea, Joe Imad, and Robert J. Smith?. (And yes, the ? is part of his name).&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The conclusion, jumping to the punchline, is that if a zombie infection ever occurs, we're screwed.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An agent-based framework for performing such simulations has also been published:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.doc.mmu.ac.uk/STAFF/M.Amos/Docs/simzombie.pdf&quot; rel=&quot;nofollow&quot;&gt;SimZombie: A Case-Study in Agent-Based Simulation Construction&lt;/a&gt; by Matthew Crossley and Martyn Amos &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Perhaps more interestingly, though I can hardly imagine, are the references in these papers. They point to many varied techniques for simulating zombie and other infections.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is also a lot of work on viruses spreading through social networks (which surprisingly enough is applicable to computer viruses spreading through online social networking sites).  Two of many papers available on Arxiv are &lt;a href=&quot;http://arxiv.org/pdf/1105.3316&quot; rel=&quot;nofollow&quot;&gt;Affinity Paths and Information Diffusion in Social Networks&lt;/a&gt; and &lt;a href=&quot;http://arxiv.org/pdf/1105.3316&quot; rel=&quot;nofollow&quot;&gt;Viral Processes by Random Walks on Random Graphs&lt;/a&gt;. The book cited by the other reference and a similar one called &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0199206651&quot; rel=&quot;nofollow&quot;&gt;Networks&lt;/a&gt; by Mark Newman have chapters covering the topic too, though without the zombies.&lt;/p&gt;&#xA;" OwnerUserId="77" LastActivityDate="2011-07-06T19:48:10.833" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="7262" PostTypeId="2" ParentId="7247" CreationDate="2011-07-06T21:47:34.900" Score="2" Body="&lt;p&gt;Uncomputability of general KC is a consequence of undecidability of halting problem over the class of machines used for KC. If we can decide the halting problem over the class of the machines then we can compute the KC of a given string according to them. Just run all machine and input pairs that halt up to the first one that outputs $x$, and then pick the shortest one.&lt;/p&gt;&#xA;" OwnerUserId="186" LastActivityDate="2011-07-06T21:47:34.900" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7267" PostTypeId="1" CreationDate="2011-07-07T14:11:21.840" Score="-4" ViewCount="125" Body="&lt;p&gt;What algorithms do you know regarding text analyze/processing? Detailed, I need to &quot;find out&quot; the most used words, sentences, words' combinations, their category etc (these are just examples, moreover I need very strong mechanism to process a large text). Also need an intellectual searching by text &quot;meaning&quot;, if that's possible.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Have you ever met with such kind problems, can you advice me and provide information to look for to find out/investigate more about this?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thank you.&lt;/p&gt;&#xA;" OwnerUserId="5716" LastActivityDate="2011-07-07T16:25:36.017" Title="Text Analyze and Processing" Tags="&lt;string-matching&gt;&lt;string-search&gt;" AnswerCount="3" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7268" PostTypeId="2" ParentId="7267" CreationDate="2011-07-07T14:57:43.550" Score="2" Body="&lt;p&gt;I think that  &lt;a href=&quot;https://www.amazon.co.uk/Algorithms-Strings-Trees-Sequences-Computational/dp/0521585198/ref=sr_1_1?ie=UTF8&amp;amp;qid=1306332168&amp;amp;sr=8-1&quot; rel=&quot;nofollow&quot;&gt;Gusfield's book&lt;/a&gt; gives a very nice and complete overview of problems and solutions related to string matching. If you're interested in meaning too, you should have a look at what natural language processing has to offer (I cannot recommend a specific reference in that field, but Google will certainly help you).&lt;/p&gt;&#xA;" OwnerUserId="775" LastActivityDate="2011-07-07T14:57:43.550" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7269" PostTypeId="2" ParentId="7267" CreationDate="2011-07-07T16:04:41.587" Score="0" Body="&lt;p&gt;Perhaps Apache's Lucene?  &lt;a href=&quot;http://lucene.apache.org/java/docs/features.html&quot; rel=&quot;nofollow&quot;&gt;http://lucene.apache.org/java/docs/features.html&lt;/a&gt;  It must implement the algorithms you are looking for and in a way that scales.&lt;/p&gt;&#xA;" OwnerUserId="5843" LastActivityDate="2011-07-07T16:04:41.587" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="7270" PostTypeId="2" ParentId="7267" CreationDate="2011-07-07T16:25:36.017" Score="1" Body="&lt;p&gt;In terms of searching by text meaning, arguably the most advanced search apparatus is IBM's Watson.  There is a lot of information &lt;a href=&quot;http://www-03.ibm.com/innovation/us/watson/?cn=agus_watson-20100712&amp;amp;cm=k&amp;amp;csr=google&amp;amp;cr=ibm_watson&amp;amp;ct=USJWK002&amp;amp;S_TACT=USJWK002&amp;amp;ck=ibm_watson&amp;amp;cmp=00000&amp;amp;mkwid=s2pC4lYkI_9199313973_432n0d3749&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;.  They don't keep a databse of meanings.  Rather, they search for answers to questions where the information of the answer is arranged so that it has a high probability of corresponding to the information of the question.  So they don't assume they know the meaning of either the question or the answer; the objective is to look for a likely connection.&lt;/p&gt;&#xA;" OwnerUserId="30" LastActivityDate="2011-07-07T16:25:36.017" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7274" PostTypeId="1" CreationDate="2011-07-07T22:20:33.743" Score="1" ViewCount="114" Body="&lt;p&gt;I have a sparse set of points with unpredictable locations. I need a way of &quot;scoring&quot; each set of points such that clustering is rewarded. My working case is actually one dimensional, but a two dimensional use case may come up later.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here's an example:&#xA;Data A contains points at -2, 1, 5, 7. Data B has points at -10, 0, 20, 6. A and B are independent of each other and have not had clustering applied. Ideally, after clustering, A would have clusters (-2, 1) and (5, 7). There is more clustering in A so I would like it scored higher. Bonus points if the algorithm allows the points to have variable values so that in some cases, if points are 100 units apart but each of the points has a high value, that set of points will rate higher than a set of points 10 units apart with much lower values.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT: My current idea is to use a clustering algorithm to figure out the center of each cluster and it figure out which points occupy the cluster. I would then score each cluster finding the mean of the distances squared (EDIT: Apparently this is called &quot;variance.&quot;). &lt;/p&gt;&#xA;" OwnerUserId="5847" LastEditorUserId="5847" LastEditDate="2011-07-11T12:41:23.183" LastActivityDate="2011-07-11T12:41:23.183" Title="Scoring set of points based on clustering" Tags="&lt;clustering&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7276" PostTypeId="2" ParentId="7256" CreationDate="2011-07-07T23:08:01.643" Score="10" Body="&lt;p&gt;Regarding Question 1.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The examples you gave, linear programs and SDPs (both of which are linear programs over convex cones), can be generalized to convex programs: minimization of a convex function over a convex feasible set.  Since you are looking for 'other families of problems' that are efficient thanks to the presence of convexity, the natural thing to drop is the convex function part, and just look at convex sets.  This is the realm of convex geometry, and here there are lots of algorithms.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One of the standard favorites is:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Martin Dyer,  Alan Frieze,  Ravi Kannan. &lt;I&gt;A Random Polynomial Time Algorithm For Approximating The Volume Of Convex Bodies&lt;/I&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The difficulty here is that the dimension is (at it should be) a part of the input; on the other hand, a naive algorithm samples points on the grid, which sticks the dimension in the exponent of the running time.  The reason why convexity helps is intuitive: convexity gives separation results, things like Farkas's lemma which say that a point is either in a closed convex cone, or you can separate them with a hyperplane.  The relevance here is say that you know some point is in the convex body, whereas some constellation of points around it is not in the body: from here you can lop off a huge piece of the input and never bother sampling from it.  Perhaps I should clarify that the above paper does the estimation by producing a nice sampling algorithm within the body (both of which are useful).  Last I checked, there is still no deterministic analog to this; I just googled to see if the status has changed (seems not), and was fed these notes that have a few references which may interest you: &lt;a href=&quot;http://www.cs.berkeley.edu/~sinclair/cs294/n16.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://www.cs.berkeley.edu/~sinclair/cs294/n16.pdf&lt;/a&gt; .  I never took this class and only looked briefly, so my apologies if there are some problems, but the references there at least seem to have value to you.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For more examples of algorithms exploiting convex geometry, one place to look is the 'Bibliography and Remarks' subsections concluding each section (of each chapter!) of Jiri Matousek's book &quot;Lectures on Discrete Geometry&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another thing that gets cited a lot, and which seems to have topics for you (but I've never looked beyond the table of contents myself; Matousek on the other hand is .. in my other hand), is &quot;Geometric algorithms and combinatorial optimization&quot; by Grotschel, Lovasz, and Schrijver. (Yes, &lt;i&gt;that&lt;/i&gt; Lovasz.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think these references have a lot for you so I'll move onto the next question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Regarding Question 2.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;While it is definitely true that convexity is powerful, I have not seen a comment like the one you seek, and I think people are very careful to communicate such a sentiment.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have an anecdote on this.  One way people 'inject' convexity into problems is to simply.. approximate/model them with something convex.  (For example: replacing rank constraints with norms on the matrix, replacing integers (nonconvex and not even connected) with convex sets of reals.)  A go-to text for this stuff is Boyd &amp;amp; Vandenberghe's &quot;Convex Optimization&quot;.  But once I was watching Boyd's videos, and someone gave him the &quot;is convex = efficient&quot; question, and he immediately said SVD.  Note that SVD can be written as a rank constrained minimization problem.  Anyway, my point is that even Boyd is very quick to correct a comment like this.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;That said, I have a desire to share two places where I was personally surprised by convex structures (experts can roll their eyes and doze here).  The first are so called 'sum of squares' problems, which are minimization problems over &lt;em&gt;nonconvex&lt;/em&gt; polynomials.  Thanks to the interpolation properties of polynomials, you can rewrite these as SDPs.  There are some beautiful course notes on this topic by Pablo Parrilo; you can find that and more info on his web page and some other info in this MO post by Noah Stein:&#xA;&lt;a href=&quot;https://mathoverflow.net/questions/32533/is-all-non-convex-optimization-heuristic/32634#32634&quot;&gt;https://mathoverflow.net/questions/32533/is-all-non-convex-optimization-heuristic/32634#32634&lt;/a&gt; .&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another beautiful place is in exponential families.  Now, this is all &quot;obvious&quot; once you realize these are solutions to max entropy (a convex optimization problem), but it's amazing how much convex structure informs the behavior of exponential families (a reference I like here is Wainwright and Jordan's book on graphical models).  This in turn gives one justification for some of the things people do with this sort of modeling.&lt;/p&gt;&#xA;" OwnerUserId="336" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2011-07-07T23:08:01.643" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="7277" PostTypeId="2" ParentId="7274" CreationDate="2011-07-08T04:22:09.990" Score="2" Body="&lt;p&gt;For the one dimensional case, you can use the &lt;a href=&quot;http://en.wikipedia.org/wiki/Variance&quot; rel=&quot;nofollow&quot;&gt;variance&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the higher dimensions, you can generalize the variance by first computing a mean point and then computing the sum of the square of the distance between each point and the mean squared followed by a division the sum by the number of points. This division by the number of points (which also happens in the variance) is the difference between the solution you have suggested and what I am recommending.  This division allows for a fair comparison of clustering between sets of points of different sizes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For $n$ points with mean point $m$, the computation is $\frac{1}{n} \sum_{i=1}^n \operatorname{dist}(m, p_i)^2$.&lt;/p&gt;&#xA;" OwnerUserId="3964" LastEditorUserId="3964" LastEditDate="2011-07-08T12:24:16.023" LastActivityDate="2011-07-08T12:24:16.023" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="7278" PostTypeId="2" ParentId="7255" CreationDate="2011-07-08T04:54:11.910" Score="5" Body="&lt;p&gt;One possibility (that depends on the relative size of the attribute set and the record set) is to use an inverted index, which is a wildly successful structure for use in text searching. Rather than storing the documents and doing a search, you store a list of which documents contain which value of which attribute for each attribute value pair (again, this only works if the number of attribute-value pairs is not large). Then processing a query requires an intersection of the resulting lists. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2011-07-08T04:54:11.910" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7279" PostTypeId="2" ParentId="4131" CreationDate="2011-07-08T05:05:14.597" Score="9" Body="&lt;p&gt;It is possible for a financially secure professor to get the mindset of &quot;money doesn't matter&quot;, and indeed beyond a certain subsistence level, it is irrelevant. I will comment, that most of us aspiring researchers would indeed prefer a research job to a non-research one paying twice as much - beyond the minimum living costs and odd luxuries.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I will note that the renowned Topologist and Fields Medal winner, Stephen Smale once commented that he did his best research on &quot;the beaches of Rio&quot;. The ensuing controversy cased him to lose his NSA funding temporarily, but I believe his point is valid. Security, travel and some degree of comfort/diversion does benefit the best minds.Not that 99% of us would be comparable to Stephen Smale of course, even with a million dollars.&lt;/p&gt;&#xA;" OwnerUserId="2302" LastEditorUserId="2302" LastEditDate="2011-07-08T05:11:58.880" LastActivityDate="2011-07-08T05:11:58.880" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7280" PostTypeId="2" ParentId="5361" CreationDate="2011-07-08T07:47:08.793" Score="8" Body="&lt;p&gt;This might have been asked sometime ago already, however I have always felt strongly about this so I will give my two cents. I have worked for years (not anymore) within the SAT community. Most researchers rarely publish their code. The paper is published along with the algorithm but it is very rare to see the actual code of the SAT solver (MAXSAT solver) etc, published along with the paper. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;And the reality is that with the just the code published in the paper you will &lt;strong&gt;never&lt;/strong&gt; have the chance to reproduce the author's experiments. Not only because the published code is not complete (of course) but also because even the published pseudo-code rarely translates semi-directly into what is actually implemented.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The reason behind this is hard to know and it might depend from researcher to researcher but mostly it is two fold.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;First, the researcher tends to work continually in a single solver publishing papers after papers on the same solver and incrementally adding new features which translate to new versions of the solver. There is an unhealthy obsession that competition will use &lt;em&gt;your&lt;/em&gt; solver to further their careers by extending it and publishing papers without giving you due credit (meaning, co-authorship).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Secondly, some code really is (as with all software) written in a rush. Half-baked scripts. Untested features, etc. By publishing this code the researcher would feel he would be embarrassing themselves and damaging their reputation. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I leave you with a recent reference on this from ACM:&#xA;&lt;a href=&quot;http://cacm.acm.org/magazines/2011/5/107698-the-importance-of-reviewing-the-code/fulltext&quot;&gt;http://cacm.acm.org/magazines/2011/5/107698-the-importance-of-reviewing-the-code/fulltext&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="5850" LastActivityDate="2011-07-08T07:47:08.793" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7281" PostTypeId="1" CreationDate="2011-07-08T12:48:12.913" Score="0" ViewCount="421" Body="&lt;p&gt;What is the time complexity of computing betweenness centrality if we are given the shortest path predecessor matrix of a graph?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Predecessor matrix cells look like this:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If node $i$ and node $j$ are directly connected then the value in the cell is $0$;&#xA;if node $i$ and node $j$ are not connected then value in the cell is $-1$;&#xA;else the cell contains $\operatorname{predecessor}(j)$ (this can be only one predecessor if there is a single shortest path or an array of predecessors if there are more than one shortest paths between $i$ and $j$).&lt;/p&gt;&#xA;" OwnerUserId="5851" LastEditorUserId="1800" LastEditDate="2011-07-09T17:06:50.287" LastActivityDate="2011-07-09T17:06:50.287" Title="Predecessor matrix storing" Tags="&lt;ds.algorithms&gt;&lt;graph-algorithms&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="7282" PostTypeId="1" CreationDate="2011-07-08T13:23:29.983" Score="9" ViewCount="456" Body="&lt;p&gt;Do CSP solvers have any fundamental advantages over SMT/SAT solvers, in terms of performance?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The answer is going to be problem dependent, so I should also ask: what does a problem need to contain in order for CSP to be faster than SMT/SAT ?&lt;/p&gt;&#xA;" OwnerUserId="5852" LastActivityDate="2011-07-08T13:23:29.983" Title="When is CSP faster than SMT/SAT?" Tags="&lt;sat&gt;&lt;csp&gt;" AnswerCount="0" CommentCount="3" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="7283" PostTypeId="1" AcceptedAnswerId="7367" CreationDate="2011-07-08T16:22:42.870" Score="3" ViewCount="524" Body="&lt;p&gt;Note: much more basic than: &lt;a href=&quot;https://cstheory.stackexchange.com/questions/7145/bitcoin-and-preventing-double-spending-in-decentralized-digital-currencies&quot;&gt;Bitcoin and preventing double spending in decentralized digital currencies&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm trying to understand the concern that bitcoin's chain of blocks technique tries to solve (see &lt;a href=&quot;http://www.bitcoin.org/bitcoin.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://www.bitcoin.org/bitcoin.pdf&lt;/a&gt;). Warning: not a crypto-dude, be tolerant.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I understand that basically we're worried about &quot;double spending&quot;. I'm able to grasp this idea when talking about discrete, indivisible coins. E.g. there are only 3 coins in the world, which cant be divided to cents, and we need to track the history of all 3, and to make sure that each payer really had the coin he claimed to have while paying with it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;While I'm able to see how this concept extends to millions of coins, I can't get how does it extend to fractions of coins. How does a &quot;double spending&quot; attack scenario actually looks like? how do the honest nodes scrutinize a nominated new block, after some node proposes it as the new head node? please provide me with some illustrative examples...&lt;/p&gt;&#xA;" OwnerUserId="5853" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2011-08-24T15:39:37.870" Title="A basic question about bitcoin's anti double spending mechanism" Tags="&lt;cr.crypto-security&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7284" PostTypeId="1" AcceptedAnswerId="7285" CreationDate="2011-07-08T20:51:15.957" Score="6" ViewCount="293" Body="&lt;p&gt;I am aware that quantum entanglement cannot increase the asymptotic capacity of a noiseless classical channel. However, can anyone provide some type of reference in the literature that contains a proof of this particular feature of quantum communication? Very much appreciated.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks.&lt;/p&gt;&#xA;" OwnerUserId="878" LastEditorUserId="7286" LastEditDate="2012-05-07T14:32:17.793" LastActivityDate="2020-05-09T12:12:24.010" Title="Proof that Entanglement Cannot Increase the Capacity of a Noiseless Classical Channel" Tags="&lt;reference-request&gt;&lt;quantum-computing&gt;&lt;quantum-information&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="7285" PostTypeId="2" ParentId="7284" CreationDate="2011-07-08T21:01:38.460" Score="11" Body="&lt;p&gt;It follows directly from our &lt;a href=&quot;http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=1035117&quot; rel=&quot;nofollow&quot;&gt;formula for entanglement-assisted capacity&lt;/a&gt;. An alternate proof uses the classical reverse Shannon theorem and the fact that entanglement does not increase the capacity of a noiseless classical channel. This last fact can be proved by showing that if it did, you could use entanglement to transmit information with no communication. I don't remember whether the alternate proof is in the linked reference or not.&lt;/p&gt;&#xA;" OwnerUserId="1677" LastActivityDate="2011-07-08T21:01:38.460" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="7286" PostTypeId="1" CreationDate="2011-07-09T06:52:30.117" Score="15" ViewCount="1086" Body="&lt;p&gt;I use the title term in a very loose sense.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is a significant amount of work on evolutionary game theory, including its mathematical foundations. I was recommended &quot;Evolutionary Games and Population Dynamics&quot; but haven't delved into it yet.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is also a significant amount of work on algorithmic game theory, which is a popular topic on this site.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What I'd like to see is work that makes computational complexity or convergence statements about certain evolutionary dynamics.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Examples (phrased very loosely):&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Given a population and an evolutionary scheme, can we give a probabilistic regret bound for the long-term population optimality (compared to the best individual produced?). This seems to relate strongly to ensembles of experts and bandit problems. What about in nonstationary settings? &lt;/li&gt;&#xA;&lt;li&gt;Given a set of populations of different species that interact in their environment, playing pretty much any sort of multi-player game, what statements can we make about the eventual stability of their strategies or strategy distributions, given their evolutionary strategies.&lt;/li&gt;&#xA;&lt;li&gt;In any sort of environment with many &quot;niches&quot; (an overbroad way of phrasing it, I understand), either in terms of direct relationship with the environment or in terms of relationships with other species, what statements can we make about how populations will distribute across these niches.&lt;/li&gt;&#xA;&lt;li&gt;Any problem I haven't asked but should - I'm coming at this with little AGT, TCS, Genetic Algorithms, evolutionary game theory or population biology background; I'm asking my questions from an optimization/machine learning/stats point of view, which may be the wrong one or incomplete.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="3337" LastEditorUserId="1037" LastEditDate="2012-04-29T15:31:42.373" LastActivityDate="2013-10-10T20:57:42.057" Title="Sources for Algorithmic Evolutionary Game Theory" Tags="&lt;reference-request&gt;&lt;gt.game-theory&gt;&lt;genetic-algorithms&gt;&lt;evolutionary-game-theory&gt;" AnswerCount="3" CommentCount="0" FavoriteCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="7289" PostTypeId="1" CreationDate="2011-07-09T14:02:58.660" Score="1" ViewCount="166" Body="&lt;p&gt;I have two decision problems (function problems, actually) that are closely linked.  The first one consists in finding a variable assignment to $x$ Boolean variables so that a specification $A$ is met.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The whole problem can be reduced to FSAT and vice versa, making it FNP-Complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now there's a second problem related to the first, which is to determine &lt;em&gt;all&lt;/em&gt; variable assignments to the $x$ variables, for which $A$ is met.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is the computational complexity of this problem?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It can be solved by applying SAT $2^x$ (i.e., an exponential number of) times; so that is not a valid reduction.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is like finding all satisfying assignments to a SAT problem.  Strangely I did not find much on this in Papadimitriou's book.&lt;/p&gt;&#xA;" OwnerUserId="5859" LastActivityDate="2011-07-09T18:54:25.873" Title="Complexity of problem that can be solved by exponentially many SATs" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;sat&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="7290" PostTypeId="1" AcceptedAnswerId="7331" CreationDate="2011-07-09T14:48:37.140" Score="12" ViewCount="1465" Body="&lt;p&gt;If $G$ is a graph with maximum degree 3 and is a minor of $H$, then $G$ is a topological minor of $H$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Wikipedia cites this result from Diestel's &quot;Graph Theory&quot;. It's listed as Prop 1.7.4 in the latest version of the book. The book lacks proof or citation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are the whereabouts known for an (original) proof of this?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Furthermore, is there a reference proving that if $G$ is a path or a subdivision of a claw and is a minor of $H$ then $G$ is a subgraph of $H$? It's mentioned &lt;a href=&quot;https://mathoverflow.net/questions/34060/when-does-graph-minor-containment-imply-subgraph-containment&quot;&gt;here&lt;/a&gt; briefly but lacks reference.&lt;/p&gt;&#xA;" OwnerUserId="4014" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.530" LastActivityDate="2011-07-12T00:56:11.180" Title="Citation showing minors are topological minors for subcubic graphs" Tags="&lt;reference-request&gt;&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;graph-minor&gt;" AnswerCount="1" CommentCount="10" ContentLicense="CC BY-SA 3.0" />
  <row Id="7291" PostTypeId="1" CreationDate="2011-07-09T18:29:05.987" Score="22" ViewCount="339" Body="&lt;p&gt;In a Science paper from 2002, Mezard, Parisi and Zecchina put forward the &lt;em&gt;belief propagation&lt;/em&gt; heuristic for random 3SAT. Experiments indicate that the heuristic works well for ratios of constraints-per-variable for which a satisfying assignment is likely to exist.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My questions are:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(1) What if you consider random 3LIN instead of random 3SAT? (each constraint is a random linear equation over GF(2))&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(2) What if you consider random &lt;em&gt;approximate&lt;/em&gt; real 3LIN? Is it conceivable that the performance of (an appropriately adapted) belief propagation heuristic would be easier to analyze in this case? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The approximate version, defined in a recent work with Subhash Khot, is as follows: the variables can assume real values and not just binary values. We consider only assignments of norm 1. &#xA;Each equation is of the form $c_1 x_1 + c_2 x_2 + c_3 x_3 = 0$, where $c_1,c_2,c_3$ are normally distributed, and $x_1,x_2,x_3$ are chosen uniformly from the set of variables. An equation is satisfied if $|c_1 x_1 + c_2 x_2 + c_3 x_3|\leq \epsilon$, and not just if there is an exact equality.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The intuition is that in the approximate version, changes to the belief (what should be the assignment of a variable) could happen in a continuous/incremental way.&lt;/p&gt;&#xA;" OwnerUserId="1621" LastEditorUserId="1621" LastEditDate="2011-08-05T03:25:43.547" LastActivityDate="2011-09-11T23:58:08.200" Title="Belief propagation for approximate real 3LIN?" Tags="&lt;ds.algorithms&gt;&lt;randomness&gt;&lt;linear-equations&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="7292" PostTypeId="2" ParentId="7289" CreationDate="2011-07-09T18:54:25.873" Score="1" Body="&lt;p&gt;The problem you defined is not in FNP as by definition the length of the answer should be polynomial in the length of its input.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Even if we are guaranteed that the length of &quot;y&quot; (output of the function) is polynomial in length of formula (i.e., there are at most polynomially many answer), this problem is not FNP except P= CoNP.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Proof:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\hspace{-1cm}  F(\phi)= y \Leftrightarrow  \forall A: $$&#xA;$$\hspace{5cm}                 {\huge(} A\models \phi \Rightarrow M(A,y) \land $$&#xA;$$\hspace{5cm}       A\not\models \phi \Rightarrow \lnot M(A,y){\huge )} $$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Where $M(A,y)$ is a polynomial time computable function returning true iff assignment $A$ is in the set of assignments $y$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Definition of FNP requires us to have a polynomial time function $P$ given $\phi$ and $y$,  returns true iff $F(\phi)=y$. That is, deciding if the following formula is tautology or not should be verifiable in P:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\Phi (A)= {\huge(} \left(A\models \phi \Rightarrow M(A,y)\right) \land     \left(A\not\models \phi \Rightarrow \lnot M(A,y)\right){\huge )} $$&lt;/p&gt;&#xA;" OwnerUserId="1639" LastActivityDate="2011-07-09T18:54:25.873" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7293" PostTypeId="1" CreationDate="2011-07-09T19:12:33.407" Score="7" ViewCount="123" Body="&lt;p&gt;Given a set of $n$ linear inequalities in $d$ variables where the coefficients are integers of size bounded by $O(\log{n})$ is there a known deterministic parallel algorithm that runs in time $(d\log{n})^{O(1)}$ time using $2^{O(d)}n^{O(1)}$ or  even $2^{d^{O(1)}}n^{O(1)}$ number of processors?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Notice, that I am not interested in the sequential complexity of this problem which is well studied with polynomial in $n$ (and exponential in $d$) algorithms known.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, Lin-Kriz and Pan prove that the problem is $\mathsf{NC}$ equivalent to Euclidean GCD (and therefore not known or expected to be in $\mathsf{NC}$) but I think their reduction from EGCD to this problem uses large numbers while I stipulate that the coefficients are small integers.&lt;/p&gt;&#xA;" OwnerUserId="214" LastEditorUserId="214" LastEditDate="2011-07-13T16:35:41.210" LastActivityDate="2011-07-13T16:35:41.210" Title="Deterministic Parallel Algorithm for ILP with small number of variables and small coefficients" Tags="&lt;cc.complexity-theory&gt;&lt;circuit-complexity&gt;&lt;optimization&gt;&lt;dc.parallel-comp&gt;&lt;integer-programming&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7295" PostTypeId="2" ParentId="6861" CreationDate="2011-07-10T05:56:42.280" Score="1" Body="&lt;p&gt;This protocol is &quot;honest-verifier&quot; ZK, just like the classic two-move graph isomorphism protocol:  The simulator (acting on behalf of the honest verifier) picks m at random, encrypts it, and then &quot;simulates&quot; sending m back to itself.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, just like with all known ZK protocols, to get the ZK property to hold against cheating verifiers, one has to some kind of simulation trick.  A typical such trick is to have the verifier provide some kind of proof of knowledge of the message m, that the simulator could &quot;break&quot; and use to extract the message m.&lt;/p&gt;&#xA;" OwnerUserId="5864" LastActivityDate="2011-07-10T05:56:42.280" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7296" PostTypeId="2" ParentId="7286" CreationDate="2011-07-10T06:33:52.150" Score="11" Body="&lt;p&gt;This is one of the topics where I have been looking for connections for a while. However, they don't seem all the prevalent. The folks working on theoretical biology and economics that use EGT, usually stick to dynamic systems theory and don't don the algorithmic lens. Thus, most results are of the AMath/Physics style, and not of the algorithms and discrete math style. If you are willing to pursue the dynamic systems approach, then there a &lt;a href=&quot;http://www.ams.org/journals/bull/2003-40-04/S0273-0979-03-00988-1/S0273-0979-03-00988-1.pdf&quot; rel=&quot;noreferrer&quot;&gt;survey&lt;/a&gt; by Hofbauer and Sigmund which is shorter and more recent than their book (I mention it and some passing comments in a &lt;a href=&quot;https://cstheory.stackexchange.com/questions/1886/algorithmic-game-theory-nonstandard-equilibrium-concepts/6389#6389&quot;&gt;previous answer&lt;/a&gt;).&lt;/p&gt;&#xA;&lt;p&gt;One of the places replicator dynamics have been used in complexity related results, is by Marcello Pelillo and co-authors as a heuristic for solving max-clique (reduce max-clique to quadratic programming, solve quadratic programming by using replicator dynamics as your heuristic):&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;[1] Immanuel M. Bomze, and Marcello Pelillo [2000]. &amp;quot;Approximating the Maximum Weight Clique Using Replicator Dynamics.&amp;quot; IEEE Transactions on Neural Networks 11(6)&lt;/p&gt;&#xA;&lt;p&gt;[2] Marcello Pelillo, and Andrea Torsello [2006]. &amp;quot;Payoff-Monotonic Game Dynamics and the Maximum Clique Problem.&amp;quot; Neural Computation 18: 1215-1258.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;You can use their results to show that many natural question associated with evolutionary stable strategies are NP-hard (this kind of addresses question 2). In fact, Etessami &amp;amp; Lochbihler showed that it is worse than that and the question of ESS existence is both NP and coNP-hard, but in &lt;span class=&quot;math-container&quot;&gt;$\Sigma^P_2$&lt;/span&gt;. Recently, Conitzer tightened this to show that &amp;quot;does an ESS exist?&amp;quot; is a &lt;span class=&quot;math-container&quot;&gt;$\Sigma^P_2$&lt;/span&gt;-complete problem.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;[3] Kousha Etessami, and Andreas Lochbihler [2008] &amp;quot;The computational complexity of evolutionarily stable strategies&amp;quot;. &lt;em&gt;International Journal of Game Theory&lt;/em&gt;, 37(1): 93-113. (First available in 2004 as ECCC tech report TR04-055).&lt;/p&gt;&#xA;&lt;p&gt;[4] Vincent Conitzer [2013] &amp;quot;The exact computational complexity of evolutionarily stable strategies&amp;quot;. &lt;em&gt;The 9th Conference on Web and Internet Economics (WINE)&lt;/em&gt;. (&lt;a href=&quot;https://www.cs.duke.edu/%7Econitzer/ess.pdf&quot; rel=&quot;noreferrer&quot;&gt;pdf&lt;/a&gt;).&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;A lot of the interesting EGT questions today are about games on graphs, and although there are some cool dynamic system results, like (also see &lt;a href=&quot;https://cstheory.stackexchange.com/q/11229/1037&quot;&gt;this question&lt;/a&gt; for extensions of this approach):&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;[5] Hisashi Ohtsuki, and Martin Nowak [2006] &amp;quot;The replicator equation on graphs.&amp;quot; _ Journal of Theoretical Biology_, 243 (1), 86-97 (&lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0022519306002426&quot; rel=&quot;noreferrer&quot;&gt;link&lt;/a&gt;, &lt;a href=&quot;http://egtheory.wordpress.com/2012/10/25/ohtsuki-nowak-transform/&quot; rel=&quot;noreferrer&quot;&gt;blog post&lt;/a&gt;)&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Most of the work goes through agent-based modeling (see &lt;a href=&quot;https://cstheory.stackexchange.com/questions/7240/simulation-modeling-of-diseases/7244#7244&quot;&gt;this answer&lt;/a&gt; for a spread-of-disease modeling context). These models are usually much more welcoming to complexity and convergence statements. Look at the following book for more:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;[6] Yoav Shoham and Kevin Leyton-Brown [2009], &amp;quot;Multiagent systems: algorithmic, game-theoretic, and logical foundations&amp;quot;, Cambridge University press.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;I think machine learning is a pretty straightforward way to approach EGT, since it is a natural halfway point between the relevant physics (statistical mechanics) and computer science. This has definitely been done, it would take me a bit to find a good reference, but a random reference (which also shows that EGT folks have considered other popular equilibrium concepts, like correlated equilibrium):&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;[7] Sergiu Hart and Andreu Mas-Colell [2000], &amp;quot;A simple adaptive procedure leading to correlated equilibrium&amp;quot;, Econometrica 68(5): 1127-1150&lt;/p&gt;&#xA;&lt;p&gt;[8] Antonella Ianni [2001], &amp;quot;Learning correlated equilibria in population games&amp;quot;, Mathematical Social Sciences 42(3): 271-294.&lt;/p&gt;&#xA;&lt;p&gt;[9] Ludek Cigler and Boi Faltings [2011], &amp;quot;Reaching Correlated Equilibria Through Multi-agent Learning&amp;quot;, AAMAS 2011: 509-516&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;I definitely hope others give more specific answers, since this is a question I've always wanted to know more about.&lt;/p&gt;&#xA;" OwnerUserId="1037" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2013-10-10T05:01:56.390" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7298" PostTypeId="2" ParentId="7283" CreationDate="2011-07-10T08:47:24.873" Score="6" Body="&lt;p&gt;Here is a basic sketch of how I understand the theoretical working of bitcoin of as explained in the whitepaper. Keep in mind, I have not looked closely at the implementations, so this is (1) a high-level sketch, and (2) might differ a bit from the implementation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Everything in the bitcoin world is done in terms of things called 'blocks'. Blocks are basically long lists of transactions with specific coin. Coins are created at a constant rate in the network (by solving a proof-of-work problem) by creating an initial block. The creation of an initial block creates 50 units of bitcoin (this number decreases for newer and newer blocks for economic reasons and is included in the header of the block, but lets say it is always 50 for now). When the initial block of a coin is created, it basically says something like &quot;this coin is created by account X&quot; plus the proper crypto stuff for security.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;After the initial block of a coin is created, account X has gained 50 units of bitcoin. It can now use these to pay other users. Paying amounts to adding a transaction saying something like &quot;0.1337 bitcoins can be claimed by user Y&quot; as part of a new block to this coin. The block is then distributed to the whole network, and they do a proof-of-work computation to verify it, and make it cannon. Thus, no actual stuff is transferred from user X to user Y, just a transactionis added to an appropriate block. User Y notices new coins they can claim.  The denomination transferred can be arbitrarily low (up to the limit of the precision of the datastructure used to represent value; float or double or whatever). Thus, to know how much money an account has, you have to look at every single unclaimed coin in the network, see which can be claimed by that account, and sum them.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For instance, if users Y wants to give user Z 2011 units of bitcoins, then they will usually need to use more than one coin (since in each coin, there is a max of 50 units of bitcoins available to Y, and probably her funds are distributed over many many coins). Thus, user Y would create a transaction that claims funds from many transactions to form a a transaction that transfers funds user Z. Only whole transaction outputs can be claimed, so the transaction may claim a bit more than the 2011 bitcoins user Y needs to give to user Z. So the transaction can have another output sending the 'change' back to user Y.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To validate a transaction, all the coins pulled into that transaction are verified all the way back to when they were first created as the 50 bitcoin award for mining a block. Oversimplifying slightly, every bitcoin ever mined must currently exist as one and only one claimable transaction output.&lt;/p&gt;&#xA;" OwnerUserId="1037" LastEditorUserId="-1" LastEditDate="2011-08-24T15:39:37.870" LastActivityDate="2011-08-24T15:39:37.870" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7299" PostTypeId="2" ParentId="453" CreationDate="2011-07-10T09:37:50.493" Score="8" Body="&lt;p&gt;Unlike the other answers, this is more along the lines of &amp;quot;things we should worry about when saying something is 'provably secure'&amp;quot; as opposed to places where TCS has been used in security. Thus, it addresses the first question of security concerns when working with theory.&lt;/p&gt;&#xA;&lt;p&gt;As hackers say, theoretical results are often tangential to real-world security. This sort of argument has been made more theoretical, scientific, and precise by Alfred Menezes and Neal Koblitz in their series of '&lt;a href=&quot;http://anotherlook.ca/&quot; rel=&quot;noreferrer&quot;&gt;Another Look&lt;/a&gt;' papers (warning: the site seems a little confrontational to me, but I think the basic idea of questioning assumptions is very important).  They point out weaknesses in standard assumptions in cryptography, even in seminal papers.&lt;/p&gt;&#xA;&lt;p&gt;Some examples (quoting/paraphrasing a few points from their site):&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;A security theorem is conditional — it assumes the intractability of some mathematical problem.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Often the intractability assumption is made for a complicated and contrived problem: in some cases the problem is trivially equivalent to the cryptanalysis problem for the protocol whose security is being &amp;quot;proved&amp;quot;.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Sometimes a proof has a large tightness gap, but parameter sizes are still recommended as if the proof had been tight. In such cases the proof usually gives a useless lower bound on the running time of a successful attack. Further, an asymptotic result does not necessarily provide any assurance of security for parameters in the range used in practice.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;A security theorem uses a certain model of security. Certain attacks — especially side-channel attacks — are very hard to model, and the models that have been proposed are woefully inadequate.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="1037" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2011-07-10T09:37:50.493" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7301" PostTypeId="1" CreationDate="2011-07-10T10:02:49.013" Score="4" ViewCount="830" Body="&lt;p&gt;There are many ways of representing binary trees as strings.  For example, I could encode a tree as either nil or a pair of trees, such as&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;(nil, ((nil, nil), nil))&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;This representation has a simple CFG:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;S -&amp;gt; nil&#xA;S -&amp;gt; (S, S)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;My question is whether there exists some representation of binary trees as a string such that the set of all binary tree encodings is a regular language.  I have a suspicion that this cannot be done due to some pumping-lemma-based argument, but I have no idea how to go about showing this.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does such a representation exist?&lt;/p&gt;&#xA;" OwnerUserId="4354" LastActivityDate="2011-07-11T06:34:35.777" Title="Encoding of binary trees as a regular language?" Tags="&lt;ds.data-structures&gt;&lt;fl.formal-languages&gt;" AnswerCount="2" CommentCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="7303" PostTypeId="1" CreationDate="2011-07-10T12:28:22.260" Score="42" ViewCount="4474" Body="&lt;p&gt;I am currently writing a survey on hierarchy theorems on TCS. Searching for related papers I noticed that hierarchy is a fundamendal concept not only in TCS and mathematics, but in numerous sciences, from theology and sociology to biology and chemistry. Seeing that the amount of information is vast, I hope that I could ask for some help by this community. Of course, I don't want you to do a bibliographic search for me, but rather I am asking for two kinds of information:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Hierarchies and hierarchy theorems that are the result of your work or the work of your colleagues or other people you are familiar with and you think that are not that well known. This could be for example a hierarchy theorem for an obscure computation model that you're interested in or a hierarchy of specific classes, e.g. related with game theory.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Hierarchies and hierarchy theorems that you deem absolutely necessary to be included in a survey of this kind. This would probably be known to me already, but it would be useful to see what hierarchies you consider more important and why. This could be that of the kind &quot;I deem $PH$ very important because without it we wouldn't be able to do this kind of research&quot; or &quot;Although not so well known, in logic-based TCS we constantly use this hierarchy and I deem it an important tool.&quot; . And yes I do believe that people from logic have a lot of hierarchies to mention, however keep in mind we are talking about hierarchies of problems.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;I will keep an updated list here:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$DTIME$ Hierarchy&lt;/li&gt;&#xA;&lt;li&gt;$NTIME$ Hierarchy&lt;/li&gt;&#xA;&lt;li&gt;$SPACE$ Hierarchy &lt;/li&gt;&#xA;&lt;li&gt;Arithmetical (also known as Kleene) Hierarchy &lt;/li&gt;&#xA;&lt;li&gt;Hyperarithmetical Hierarchy &lt;/li&gt;&#xA;&lt;li&gt;Analytical Hierarchy &lt;/li&gt;&#xA;&lt;li&gt;Chomsky&#xA;Hierarchy &lt;/li&gt;&#xA;&lt;li&gt;Grzegorczyk hierarchy&#xA;and the related: Wainer hierarchy&#xA;(fast-growing) , Hardy hierarchy&lt;br&gt;&#xA;(slow-growing) and the Veblen&#xA;hierarchy &lt;/li&gt;&#xA;&lt;li&gt;Ritchie's hierarchy&lt;/li&gt;&#xA;&lt;li&gt;Axt's hierarchy (as defined in &lt;a href=&quot;http://onlinelibrary.wiley.com/doi/10.1002/malq.19630090106/abstract&quot; rel=&quot;noreferrer&quot;&gt;Axt63&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The Loop Hierarchy (defined in &lt;a href=&quot;http://www.google.com/url?sa=t&amp;amp;source=web&amp;amp;cd=1&amp;amp;ved=0CBgQFjAA&amp;amp;url=http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.133.9311&amp;amp;rep=rep1&amp;amp;type=pdf&amp;amp;rct=j&amp;amp;q=%22the%20complexity%20of%20loop%20programs%22&amp;amp;ei=U5IpTqznI46q-ga068C-Bg&amp;amp;usg=AFQjCNEX1Eg1Cl4IRfhAeiOtyvxRuttJdQ&amp;amp;sig2=PPOj0_BQFyEJt9tZ890bAw&amp;amp;cad=rja&quot; rel=&quot;noreferrer&quot;&gt;MR67&lt;/a&gt;)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;$NC$ ($AC$,$ACC$) Hierarchy  &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;The depth hierarchy, as defined in &lt;a href=&quot;http://dx.doi.org/10.1145/800061.808733&quot; rel=&quot;noreferrer&quot;&gt;Sipser83&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Polynomial Hierarchy ($PH$) and the less refined Meyer-Stockmeyer hierarchy (no dinstinction between quantifiers)&lt;/li&gt;&#xA;&lt;li&gt;Exponential Hierarchy ($ELEMENTARY$)&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;$NP$-Intermediate hierarchy&#xA;(Ladner's theorem)  &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The not-so-sturdy $AM$ (Arthur-Merlin)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;The $W$ (Nondeterministic Fixed-Parameter) hierarchy and the related Alternating W hierarchy ($AW$-hierarchy) and $W^{*}$-hierarchy (W with Parameter-Dependent Depth)&lt;/li&gt;&#xA;&lt;li&gt;Counting Hierarchy&lt;/li&gt;&#xA;&lt;li&gt;Fourier Hierarchy&lt;/li&gt;&#xA;&lt;li&gt;Boolean Hierarchy (over $NP$) , also equal to the Query Hierarchy (over $NP$)&lt;/li&gt;&#xA;&lt;li&gt;Hierarchies for property testing, as seen in &lt;a href=&quot;http://www.springerlink.com/content/v633u5471twm0640/&quot; rel=&quot;noreferrer&quot;&gt;GoldreichKNR09&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;The dot-depth hierarchy of star-free regular languages&lt;/li&gt;&#xA;&lt;li&gt;$BP_{d}(P)$ : The classes solvable by polynomial size branching programs, with the additional condition that each bit of the input is tested at most d times, form a hierarchy for different values of $d$&lt;/li&gt;&#xA;&lt;li&gt;The time hierarchy for Circuit Complexity&lt;/li&gt;&#xA;&lt;li&gt;The polynomial hierarchy in communication complexity&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Note: If you do not want to be mentioned exclusively, please say so. As a rule of thumb, I will mention both the community and also the specific person that brings new information to light.&lt;/p&gt;&#xA;" OwnerUserId="879" LastEditorUserId="2367" LastEditDate="2019-12-16T07:02:17.567" LastActivityDate="2019-12-16T07:02:17.567" Title="What hierarchies and/or hierarchy theorems do you know?" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;big-list&gt;&lt;survey&gt;&lt;hierarchy-theorems&gt;" AnswerCount="22" CommentCount="6" FavoriteCount="26" CommunityOwnedDate="2011-07-10T21:26:24.583" ContentLicense="CC BY-SA 3.0" />
  <row Id="7304" PostTypeId="2" ParentId="7303" CreationDate="2011-07-10T12:49:33.537" Score="11" Body="&lt;p&gt;&lt;a href=&quot;http://pages.cs.wisc.edu/~dieter/&quot;&gt;Dieter van Melkebeek&lt;/a&gt; and coauthors have time and space hierarchies for semantic models with advice, including randomization.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Dieter van Melkebeek, Konstantin Pervyshev: &lt;a href=&quot;http://pages.cs.wisc.edu/~dieter/Papers/t-hierarchy-ccc06.ps&quot;&gt;A Generic Time Hierarchy with One Bit of Advice&lt;/a&gt;. Computational Complexity 16(2): 139-179 (2007)&lt;/li&gt;&#xA;&lt;li&gt;Jeff Kinne, Dieter van Melkebeek: &lt;a href=&quot;http://pages.cs.wisc.edu/~dieter/Papers/s-hierarchy-full.pdf&quot;&gt;Space Hierarchy Results for Randomized and other Semantic Models&lt;/a&gt;. Computational Complexity 19(3): 423-475 (2010)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="3964" LastActivityDate="2011-07-10T12:49:33.537" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7305" PostTypeId="2" ParentId="7303" CreationDate="2011-07-10T13:23:18.890" Score="17" Body="&lt;p&gt;Goldreich et. al. have hierarchy theorems for property testing:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Oded Goldreich, Michael Krivelevich, Ilan Newman, Eyal Rozenberg:&#xA;&lt;a href=&quot;http://www.wisdom.weizmann.ac.il/~oded/PDF/testHT2.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Hierarchy Theorems for Property Testing.&#xA;Property Testing&lt;/a&gt;, Lecture Notes in Computer Science, Vol. 6390, pp. 289-294, Springer, 2010.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Also on the &lt;a href=&quot;http://eccc.hpi-web.de/report/2008/097/&quot; rel=&quot;nofollow noreferrer&quot;&gt;ECCC&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="5835" LastEditorUserId="52310" LastEditDate="2019-09-23T08:02:39.090" LastActivityDate="2019-09-23T08:02:39.090" CommentCount="1" ContentLicense="CC BY-SA 4.0" />
  <row Id="7306" PostTypeId="2" ParentId="7301" CreationDate="2011-07-10T13:42:46.493" Score="3" Body="&lt;p&gt;Here is what I think is a legitimate encoding of binary trees as strings in $\Sigma^*$ (which is a regular language). Consider a breadth-first enumeration of the nodes in the infinite binary tree. Each node is labeled as a letter or as NIL. The nodes with letters belong to the tree, those labeled NIL do not. The caveat is that a subword of NIL's longer than the prefix preceding it terminates the tree -- meaning that this encoding is not a bijection.&#xA;For example, the string abc00de encodes the 5-node tree&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;&lt;pre&gt;&lt;code&gt;    a&#xA;   / \&#xA;  b   c&#xA; / \ / \&#xA;0  0 d e&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;but the sequence a00bcde encodes the 1-node tree&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;&lt;pre&gt;&lt;code&gt;    a&#xA;   / \&#xA;  0   0&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;(because 0/NIL cannot have children). Is this what you had in mind?&lt;/p&gt;&#xA;" OwnerUserId="1746" LastActivityDate="2011-07-10T13:42:46.493" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="7308" PostTypeId="2" ParentId="7303" CreationDate="2011-07-10T17:18:56.633" Score="17" Body="&lt;p&gt;Sipser showed a depth hierarchy within $AC^0$, that is, that depth $d+1$ circuits of poly size are more powerful than depth $d$ circuits of poly size:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Sipser, M. &lt;a href=&quot;http://dx.doi.org/10.1145/800061.808733&quot;&gt;Borel sets and circuit complexity&lt;/a&gt;. STOC 1983.&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2011-07-10T17:18:56.633" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7309" PostTypeId="1" CreationDate="2011-07-10T19:07:51.627" Score="1" ViewCount="171" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Possible Duplicate:&lt;/strong&gt;&lt;br&gt;&#xA;  &lt;a href=&quot;https://cstheory.stackexchange.com/questions/529/does-vp-neq-vnp-imply-p-neq-np&quot;&gt;Does $VP \neq VNP$ imply $P \neq NP$?&lt;/a&gt;  &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&#xA;&#xA;&lt;p&gt;In his GCT papers Mulmuley first starts with the #P/NC question. And then gets into setting up a roadmap for how to show obstructions ( some sort of Weyl modules I gathered, if they can be constructed) could potentially rule out embedding of a class variety into another. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is it clear, and almost obvious how that chain of argument ( if and when fleshed out) will automatically extend for P/NP separation? I am not a TCS expert - so I wonder if I am missing something obvious.&lt;/p&gt;&#xA;" OwnerUserId="5868" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2011-07-10T19:07:51.627" Title="From Determinant-Permanent to P-NP" Tags="&lt;gct&gt;" AnswerCount="0" CommentCount="2" FavoriteCount="1" ClosedDate="2011-07-10T21:27:23.820" ContentLicense="CC BY-SA 3.0" />
  <row Id="7310" PostTypeId="2" ParentId="7303" CreationDate="2011-07-10T20:36:25.713" Score="10" Body="&lt;p&gt;There is the Zheng-Weihrauch hierarchy for real numbers&lt;/p&gt;&#xA;&#xA;&lt;p&gt;X. Zheng and K. Weihrauch.    &lt;a href=&quot;https://link.springer.com/chapter/10.1007/3-540-48340-3_3&quot; rel=&quot;nofollow noreferrer&quot;&gt;The arithmetical hierarchy of real numbers&lt;/a&gt;. Mathematical Logic Quarterly.Vol. 47(2001), no.1 51 - 65.&lt;/p&gt;&#xA;" OwnerUserId="5870" LastEditorUserId="52310" LastEditDate="2019-09-23T08:02:06.027" LastActivityDate="2019-09-23T08:02:06.027" CommentCount="0" ContentLicense="CC BY-SA 4.0" />
  <row Id="7313" PostTypeId="2" ParentId="7303" CreationDate="2011-07-10T21:40:00.890" Score="17" Body="&lt;p&gt;The Complexity Zoo gives you some &lt;a href=&quot;http://qwiki.stanford.edu/index.php/Complexity_Zoo:List_of_Hierarchies&quot; rel=&quot;nofollow noreferrer&quot;&gt;hierarchies&lt;/a&gt;. Amongst them, the Counting Hierarchy and the Boolean Hierarchy were not already cited.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;[EDIT]&lt;/strong&gt; To make my answer more informative, a quick definition of the Counting Hierarchy.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;span class=&quot;math-container&quot;&gt;${\sf C_0P} = {\sf P}$&lt;/span&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;span class=&quot;math-container&quot;&gt;${\sf C_1P} = {\sf PP}$&lt;/span&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;span class=&quot;math-container&quot;&gt;${\sf C_{k+1}P} = {\sf PP^{C_kP}}$&lt;/span&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Then, as for the polynomial hierarchy, &lt;span class=&quot;math-container&quot;&gt;$\sf CH$&lt;/span&gt; is defined as &lt;span class=&quot;math-container&quot;&gt;$\bigcup_k {\sf C_kP}$&lt;/span&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The counting hierarchy was defined by Wagner [Wag86]. Links to the theory of threshold circuits were discovered by Allender &amp;amp; Wagner [AW93]. Much more recently, Bürgisser [Bür09] also used the counting hierarchy to relate Valiant's model to the &lt;span class=&quot;math-container&quot;&gt;$\tau$&lt;/span&gt;-conjecture of Shub and Smale. In particular, he proved that the &lt;span class=&quot;math-container&quot;&gt;$\tau$&lt;/span&gt;-conjecture implies a superpolynomial lower bound for the permanent.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;[Wag86]&lt;/strong&gt; K.W. Wagner. &lt;a href=&quot;https://link.springer.com/article/10.1007/BF00289117&quot; rel=&quot;nofollow noreferrer&quot;&gt;The complexity of combinatorial problems with succinct input representation&lt;/a&gt;. &lt;em&gt;Acta Mathematica&lt;/em&gt; 23(3), 325-356, 1986.&lt;br&gt;&#xA;&lt;strong&gt;[AW93]&lt;/strong&gt; E. Allender &amp;amp; K.W. Wagner. &lt;a href=&quot;https://www.worldscientific.com/doi/abs/10.1142/9789812794499_0035&quot; rel=&quot;nofollow noreferrer&quot;&gt;Counting hierarchies: polynomial time and constant-depth circuits&lt;/a&gt;. &lt;em&gt;Current Trends in Computer Science&lt;/em&gt;, 469-483, 1993.&lt;br&gt;&#xA;&lt;strong&gt;[Bür09]&lt;/strong&gt; P. Bürgisser. &lt;a href=&quot;https://www3.math.tu-berlin.de/algebra/work/6dich.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;On defining integers and proving arithmetic circuit lower bound&lt;/a&gt;. &lt;em&gt;Computational Complexity&lt;/em&gt; 18(1), 81-103, 2009.&lt;/p&gt;&#xA;" OwnerUserId="976" LastEditorUserId="52310" LastEditDate="2019-09-23T08:02:30.230" LastActivityDate="2019-09-23T08:02:30.230" CommentCount="0" CommunityOwnedDate="2011-07-10T21:40:00.890" ContentLicense="CC BY-SA 4.0" />
  <row Id="7314" PostTypeId="2" ParentId="7303" CreationDate="2011-07-10T22:03:09.290" Score="19" Body="&lt;p&gt;-- Along the lines of &quot;anti-hierarchies&quot;, &lt;a href=&quot;http://en.wikipedia.org/wiki/Gap_theorem&quot;&gt;Borodin's gap theorem&lt;/a&gt; might be worth mentioning.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Theorem.&lt;/strong&gt; For every total computable function $f : {\mathbb N} \rightarrow {\mathbb N}$ such that $f(n) = \Omega(n)$, there is a total computable $g : {\mathbb N} \rightarrow {\mathbb N}$ such that ${\sf TIME}[g(n)] = {\sf TIME}[f(g(n))]$. &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;This would contradict the time hierarchy theorem except that $g$ is not time constructable (indeed this is why we must have constructability assumptions in the statements of most complexity hierarchies).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;-- There are also interesting strengthenings of the usual time hierarchies, such as:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$${\sf TIME}[n^k] \not\subseteq i.o.{\sf -TIME}[n^{k-1}]/(n-\log n)$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(there are problems in time $n^k$ cannot be successfully solved by any time $n^{k-1}$ time machine using $n-\log n$ bits of advice, even for on just infinitely many input lengths). The proof is easy: let $\{M_i\}$ list the $n^{k-1}$ time machines that take $n-\log n$ bits of advice as a second input. Define $M&amp;#39;(x)$ which splits $x$ into $x=yz$ where $|z|=\log |x|$, runs $M_z(x,y)$, and outputs the opposite answer. Then $L(M&amp;#39;) \notin i.o.{\sf -TIME}[n^{k-1}]/(n-\log n)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;-- The lack of known time hierarchies in certain situations should be considered (as open problems). For example, is ${\sf BPTIME}[n] = {\sf BPP}$?&lt;/p&gt;&#xA;" OwnerUserId="225" LastEditorUserId="225" LastEditDate="2011-08-06T16:08:18.953" LastActivityDate="2011-08-06T16:08:18.953" CommentCount="2" CommunityOwnedDate="2011-07-10T22:03:09.290" ContentLicense="CC BY-SA 3.0" />
  <row Id="7315" PostTypeId="1" CreationDate="2011-07-11T00:07:35.737" Score="5" ViewCount="75" Body="&lt;p&gt;In the paper &quot;&lt;a href=&quot;http://dx.doi.org/10.1007/978-3-642-13731-0_38&quot; rel=&quot;nofollow&quot;&gt;Improved Algorithm for Degree Bounded Survivable Network Design Problem&lt;/a&gt;&quot;, by N. Vishnoi and A Louis,  have used the iterated rounding approach in a similar as by Jain in designing the approximation algorithm for the steiner network and recently by Mohit Singh et al for the degree bounded case steiner network. The paper improves on the result by Mohit Singh and may however be not optimal.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My query is very specific to the paper i have referred above:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) In the proof of the main lemma: base case where we have a tight vertex $v$. If we say that degree of vertex $v$ is at least $4$, then it seems to me that the arguments still hold as follows. If there are no heavy edge then everything is good. In case we have a heavy edge e which the paper considers, then since $x_e$ is strictly less than $1$, we again will have at least $4$ other edges(including one light edge) and can get $4$ tokens.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am interpreting that a tight vertex of degree $4$ has to have edges incident on it whose sum of $x_e$ is $4$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) In the induction part, the fact used is that we are maintaining $b(v)$ greater than or equal to $3/2$. Where else are we using this fact? Why cant be $2$ if we are not using anywhere else. (and accordingly changing the algorithm)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am quite new to approximation algorithm and particularly to this technique. In order to find the underlying hardness, i was playing with the proof and ended up with above 2 things. I am sorry for the fact that the question is heavily dependent on the paper (both the context and notations). Any other suggestion or comment is appreciated.&lt;/p&gt;&#xA;" OwnerUserId="4529" LastEditorUserId="186" LastEditDate="2011-07-11T01:57:40.947" LastActivityDate="2011-07-11T01:57:40.947" Title="A question regarding Improved Algorithm for Degree Bounded Survivable Network Design Problem" Tags="&lt;approximation-algorithms&gt;&lt;iterated-rounding&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7316" PostTypeId="5" CreationDate="2011-07-11T00:14:21.910" Score="0" Body="&lt;p&gt;An approximation algorithm by Jain for steiner network has used this technique in a quite novel way. Following which there are series of results which uses this result. A book by Mohit singh et al captures the technique quite beautifully. &lt;/p&gt;&#xA;" OwnerUserId="4529" LastEditorUserId="4529" LastEditDate="2011-07-11T05:08:48.450" LastActivityDate="2011-07-11T05:08:48.450" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7317" PostTypeId="4" CreationDate="2011-07-11T00:14:21.910" Score="0" Body="Iterated rounding technique has been recently used in approximation algorithms and can be used to design even the exact algorithms. This technique exploits the structural nature of the optimal extreme solutions of the linear programming formulation." OwnerUserId="4529" LastEditorUserId="4529" LastEditDate="2011-07-11T05:08:52.333" LastActivityDate="2011-07-11T05:08:52.333" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7318" PostTypeId="1" CreationDate="2011-07-11T00:44:00.323" Score="9" ViewCount="518" Body="&lt;p&gt;What is the implication of $VNP = VP$ to cryptography schemes such as Elliptic curve/Abelian Variety/Arithmetic Geometry based cryptography? Are there any papers or books that talk about sophisticated encryption techniques and the possible complexity classes they belong to?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There seems to be a negative implication for &lt;strong&gt;RSA&lt;/strong&gt; if $VNP = VP$. On the other hand no &lt;strong&gt;OWF&lt;/strong&gt; should exist if $VNP = VP$. However relatively nothing is known about frailty of candidate &lt;strong&gt;OWF&lt;/strong&gt; from Arithmetic Geometry if $VNP = VP$. Will these be safe?&lt;/p&gt;&#xA;" OwnerUserId="5511" LastEditorUserId="5511" LastEditDate="2011-07-12T08:32:17.437" LastActivityDate="2011-07-12T08:32:17.437" Title="VNP = VP versus complexity classes in Arithmetic Geometry" Tags="&lt;cc.complexity-theory&gt;&lt;cr.crypto-security&gt;&lt;conditional-results&gt;&lt;one-way-function&gt;" AnswerCount="0" CommentCount="10" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="7319" PostTypeId="2" ParentId="7303" CreationDate="2011-07-11T02:36:55.173" Score="10" Body="&lt;p&gt;Here are more hierarchies for semantic classes with advice. Specifically, for ZPTIME and RTIME.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Lance Fortnow, Rahul Santhanam, Luca Trevisan. &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=1060590.1060642&quot;&gt;Hierarchies for Semantic Clases&lt;/a&gt;. In STOC'05.&lt;/p&gt;&#xA;" OwnerUserId="135" LastActivityDate="2011-07-11T02:36:55.173" CommentCount="0" CommunityOwnedDate="2011-07-11T02:36:55.173" ContentLicense="CC BY-SA 3.0" />
  <row Id="7320" PostTypeId="2" ParentId="7303" CreationDate="2011-07-11T03:17:36.450" Score="22" Body="&lt;p&gt;The Fourier Hierarchy as defined in &quot;&lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0304397505001878&quot; rel=&quot;nofollow noreferrer&quot;&gt;Yaoyun Shi, Quantum and classical tradeoffs&lt;/a&gt;.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;From the &lt;a href=&quot;http://qwiki.stanford.edu/index.php/Complexity_Zoo:F#fh&quot; rel=&quot;nofollow noreferrer&quot;&gt;complexity zoo&lt;/a&gt;:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$\mathsf{FH}_k$&lt;/span&gt; is the class of problems solvable by a uniform family of polynomial-size quantum circuits, with &lt;span class=&quot;math-container&quot;&gt;$k$&lt;/span&gt; levels of Hadamard gates and all other gates preserving the computational basis.&lt;/p&gt;&#xA;  &#xA;  &lt;ul&gt;&#xA;  &lt;li&gt;&lt;span class=&quot;math-container&quot;&gt;$\mathsf{FH}_0 = \mathsf{P}$&lt;/span&gt;&lt;/li&gt;&#xA;  &lt;li&gt;&lt;span class=&quot;math-container&quot;&gt;$\mathsf{FH}_1 = \mathsf{BPP}$&lt;/span&gt;&lt;/li&gt;&#xA;  &lt;li&gt;&lt;span class=&quot;math-container&quot;&gt;$\mathsf{FH}_2$&lt;/span&gt; contains factoring because of &lt;a href=&quot;https://people.eecs.berkeley.edu/~vazirani/s09quantum/notes/lecture6.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Kitaev's phase estimation algorithm&lt;/a&gt;.&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;  &#xA;  &lt;p&gt;It is an open problem to show that the Fourier hierarchy is infinite relative to an oracle (that is, &lt;span class=&quot;math-container&quot;&gt;$\mathsf{FH}_k$&lt;/span&gt; is strictly contained in &lt;span class=&quot;math-container&quot;&gt;$\mathsf{FH}_{k+1}$&lt;/span&gt;). &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="206" LastEditorUserId="52310" LastEditDate="2019-09-23T08:02:00.437" LastActivityDate="2019-09-23T08:02:00.437" CommentCount="0" CommunityOwnedDate="2011-07-11T03:17:36.450" ContentLicense="CC BY-SA 4.0" />
  <row Id="7321" PostTypeId="2" ParentId="7303" CreationDate="2011-07-11T06:05:23.493" Score="7" Body="&lt;p&gt;Not sure if this fits your criteria, but there is the &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/0022000078900491&quot;&gt;dot-depth hierarchy&lt;/a&gt; of star-free regular languages.&lt;/p&gt;&#xA;" OwnerUserId="751" LastActivityDate="2011-07-11T06:05:23.493" CommentCount="0" CommunityOwnedDate="2011-07-11T06:05:23.493" ContentLicense="CC BY-SA 3.0" />
  <row Id="7322" PostTypeId="2" ParentId="7301" CreationDate="2011-07-11T06:28:21.100" Score="9" Body="&lt;p&gt;As Peter Shor mentions in a comment, the number of full binary trees with $n+1$ leaves is given by the $n$-th Catalan number $C_n$. It is known that the Catalan numbers have generating function&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$C(x) = \frac{1-\sqrt{1-4x}}{2x}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, it is known (Chomsky, Schützenberger; 1963) that regular languages have &lt;em&gt;rational&lt;/em&gt; generating functions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Clearly, $C$ is not rational. This implies that there is no regular encoding of full binary trees where each tree has a unique representation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Note that the generating function of arbitrary binary trees is not rational, either.)&lt;/p&gt;&#xA;" OwnerUserId="1546" LastEditorUserId="1546" LastEditDate="2011-07-11T06:34:35.777" LastActivityDate="2011-07-11T06:34:35.777" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="7323" PostTypeId="1" CreationDate="2011-07-11T07:23:32.707" Score="2" ViewCount="238" Body="&lt;p&gt;I have had 10 days to read up on Computational Logic but the books I am following are only succeeding in confusing me. I find most of text's ( Niehuys-Cheng &amp;amp; de Wolf 1997, De Raedt 2008, Lloyd 1987 ) very wordy. None of them provide will worked out examples for, say, SLD-resolution. So I was wondering if anyone knows of a good book with nice examples which explain first order logic in an intuitive manner ? Thanks in advance.&lt;/p&gt;&#xA;" OwnerUserId="4163" LastActivityDate="2011-08-10T08:21:46.420" Title="Recommendation for a good book on first order logic w.r.t inductive logic programming" Tags="&lt;books&gt;&lt;advice-and-nonuniformity&gt;&lt;logic-programming&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7324" PostTypeId="2" ParentId="7323" CreationDate="2011-07-11T07:41:19.683" Score="2" Body="&lt;p&gt;How about &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0262121654&quot; rel=&quot;nofollow&quot;&gt;foundations of disjunctive logic programming&lt;/a&gt;? While rather old (1992), it has over 100 examples. For instance, SLI and SLD resolutions are discussed and exemplified in section 4.2.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;PS: You may read some parts of that section on &lt;a href=&quot;http://books.google.com/books?id=kCC4j6hUTgYC&amp;amp;pg=PA72#v=onepage&amp;amp;q&amp;amp;f=false&quot; rel=&quot;nofollow&quot;&gt;Google Books&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="873" LastActivityDate="2011-07-11T07:41:19.683" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7325" PostTypeId="1" AcceptedAnswerId="7328" CreationDate="2011-07-11T07:57:27.577" Score="2" ViewCount="561" Body="&lt;p&gt;Let's say you submit a paper to a TCS conference and it is accepted. Then you go there and give a talk. When you put this information in your CV;&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;do you write it as two items in different sections; first in conferences and second the published paper or just as one single thing?&lt;/li&gt;&#xA;&lt;li&gt;if the paper is published in some sort of a book (book of abstracts, LNCS, etc) with ISBN, will you cite it as conference paper or as book chapter?&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Thanks&lt;/p&gt;&#xA;" OwnerUserId="5375" LastEditorUserId="80" LastEditDate="2011-07-11T08:28:46.940" LastActivityDate="2011-07-16T16:04:50.663" Title="Cite a conference contribution as conference paper of book chapter" Tags="&lt;research-practice&gt;" AnswerCount="3" CommentCount="2" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="7326" PostTypeId="2" ParentId="7325" CreationDate="2011-07-11T08:32:36.643" Score="4" Body="&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;I would just put the publication on my CV, though in the early&#xA;stage of your career listing the presentations you've made isn't a&#xA;bad idea. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Cite as a conference paper if the 'book' is the proceedings of the&#xA;conference.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="77" LastEditorUserId="77" LastEditDate="2011-07-11T13:11:36.667" LastActivityDate="2011-07-11T13:11:36.667" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7327" PostTypeId="1" AcceptedAnswerId="7375" CreationDate="2011-07-11T11:39:00.677" Score="10" ViewCount="394" Body="&lt;p&gt;Here's a &quot;track B&quot; question if there ever was one. Summary: the first thing I think of when I try to give a semantics to non-deterministic programs results in a semantics where I can't prove things about loops that only terminate non-deterministicaly. Surely someone has worked out what to do in this situation, or at least pointed out that it's hard, but I don't know how to go about looking for it (hence the &quot;reference request&quot; tag).&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Background&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;I want to model an while-language with non-determinism. I think this is the obvious (or at least the naive) way to model such a language with a Smyth powerdomain, but correct me if I'm wrong. We will model the meaning of a command in this language is as a function whose domain is the set $S$ of states and whose codomain is the set ${\cal P}(S)_\bot = \{ \bot \} \cup {\cal P}(S)$, where $\bot$ is a least element representing non-termination and ${\cal P}(S)$ is the powerset of states.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We interpret commands as maps from states $\sigma$ to either the non-termination event $\bot$ or to sets of states $\{ \sigma_1, \sigma_2, \ldots \}$ which represent possible outcomes. $P \circledast Q$ is non-deterministic choice.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$⟦\mathbf{skip}⟧\sigma = \{ \sigma \}$&lt;/li&gt;&#xA;&lt;li&gt;$⟦x := E⟧\sigma = \{ \sigma[(⟦E⟧\sigma)/x] \}$&lt;/li&gt;&#xA;&lt;li&gt;$⟦\mathbf{abort}⟧\sigma = \bot$&lt;/li&gt;&#xA;&lt;li&gt;$⟦\mathbf{if}~E~\mathbf{then}~P~\mathbf{else}~Q⟧\sigma = ⟦P⟧\sigma$ if $⟦E⟧\sigma = \mathit{true}$, otherwise $⟦Q⟧\sigma$&lt;/li&gt;&#xA;&lt;li&gt;$⟦P \circledast Q⟧\sigma = \bot$ if $⟦P⟧\sigma = \bot$ or $⟦Q⟧\sigma = \bot$, otherwise $⟦P⟧\sigma \cup ⟦Q⟧\sigma$&lt;/li&gt;&#xA;&lt;li&gt;$⟦P; Q⟧\sigma = \bot$ if $⟦P⟧\sigma = \bot$ or $⟦Q⟧\tau = \bot$ for some $\tau \in ⟦P⟧\sigma$, otherwise $\bigcup_{\tau \in ⟦P⟧\sigma} ⟦Q⟧\tau$&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;There's a directed complete partial order $\sqsubseteq$, where $\bot \sqsubseteq S&amp;#39;$ for any $S&amp;#39; \in {\cal P}(S)_\bot$ and $S_1 \sqsubseteq S_2$ if both $S_1$ and $S_2$ are proper sets and $S_1 \supseteq S_2$, and we can extend this to functions $f$ from $S$ to ${\cal P}(S)_\bot$ pointwise: $f_1 \sqsubseteq f_2$ if $f_1(\sigma) \sqsubseteq f_2(\sigma)$ for every $\sigma$, and $f_\bot$ is the function that maps every state to $\bot$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The meaning of a loop is $⟦\mathbf{while}~E~\mathbf{do}~P⟧\sigma$ is the least upper bound of the chain $f_\bot \sqsubseteq f(f_\bot) \sqsubseteq f(f(f_\bot)) \sqsubseteq \ldots$, where $f(g)(\sigma) = \{\sigma\}$ if $⟦E⟧(\sigma) = \mathit{false}$, otherwise $\bot$ if $⟦P⟧\sigma = \bot$ or $g(\tau) = \bot$ for some $\tau \in ⟦P⟧\sigma$, otherwise $\bigcup_{\tau \in ⟦P⟧\sigma}g(\tau)$. (This definition assumes that the $f$ I just defined is Scott continuous, but I think it's safe to leave that aside.)&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Question&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;Consider this program:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$x := 0;$&lt;br/&gt;&#xA;$b := \mathsf{true};$&lt;br/&gt;&#xA;$\mathbf{while}~b~\mathbf{do}$&lt;br/&gt;&#xA;$\qquad x := x + 2;$&lt;br/&gt;&#xA;$\qquad b := \mathsf{false} \circledast b := \mathsf{true}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Intuitively, this is a loop that can return any positive even number or not terminate, and that corresponds to what we can prove about this loop using the weakest liberal precondition (it is possible to show that $\exists n. x = 2n$ is a loop invariant). However, because the loop has the ability not to terminate (we can refine the non-deterministic choice by the program that always takes the right-hand branch), the meaning of this program given any initial state is $\bot$. (Less informally: the function that maps any state where $b$ is false to itself and any state where $b$ is true to $\bot$ is a fixed point of the $f$ used to define the loop.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This means that the naive semantics I proposed doesn't correspond in the way I expect to be able to reason about programs. I blame my semantics, but don't how to fix them.&lt;/p&gt;&#xA;" OwnerUserId="1024" LastEditorUserId="3552" LastEditDate="2011-07-15T09:24:15.530" LastActivityDate="2011-07-15T09:24:15.530" Title="Reasoning about non-deterministically terminating loops" Tags="&lt;reference-request&gt;&lt;denotational-semantics&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="7328" PostTypeId="2" ParentId="7325" CreationDate="2011-07-11T11:51:35.613" Score="6" Body="&lt;p&gt;Converting/extending a comment to an answer:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;I keep a list of talks/posters on my website. I do this to include links to slides, photos and video recordings. When I was applying for grad school I had them in my CV, too. I have the impression that it might have helped. However, once you have a lot of talks it becomes too much info. On some senior researchers' CVs I've seen very compact talk lists: they include their invited or conference talks as acronyms/university names and lists of years. For example, if they regularly present at STOC they might write &quot;STOC 2003,2004,2007&quot;. I think this is mostly to show that they are involved with the community and go places regularly.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;As Dave mentioned, it is usually standard to cite the paper as a conference. I think the exception is when conferences publish their proceedings, or selected papers, as a special issue of a journal. The only time this happened to me, I had to go through an extra layer of review (first conference, then the journal) for one paper, so I think is appropriate to cite those as journal papers.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;A lot of time papers are first published in conferences, and then a year (or more!) later a longer version appears in a journal. The convention is to cite this as a journal paper with a note after: &quot;preliminary version appeared in Conference X 2008&quot;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="1037" LastActivityDate="2011-07-11T11:51:35.613" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7329" PostTypeId="1" CreationDate="2011-07-11T13:21:54.917" Score="8" ViewCount="272" Body="&lt;p&gt;Is there a trap-door-like function whose encoding complexity is polynomial time $n^{k_{1}}$ and inverting complexity(without secret key) is also a polynomial function in input length $n^{k_{2}}$ with $k_{1} &amp;lt;&amp;lt; k_{2}$ (say $k_{1} = 2$ and $k_{2}$ is unconditionally provable to be bounded below by $1000$)? What are the implications of such functions if $VNP = VP$?&lt;/p&gt;&#xA;" OwnerUserId="5511" LastEditorUserId="873" LastEditDate="2011-07-12T05:15:09.463" LastActivityDate="2011-07-12T05:19:52.960" Title="One-way functions with polynomial inverting complexity" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;cr.crypto-security&gt;&lt;one-way-function&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7330" PostTypeId="2" ParentId="7224" CreationDate="2011-07-11T14:08:11.980" Score="1" Body="&lt;p&gt;I agree with Artem, but perhaps &lt;a href=&quot;http://ics.org.ru/doc?pdf=1254&amp;amp;dir=e&quot; rel=&quot;nofollow&quot;&gt;this paper&lt;/a&gt; on a quantum circuit model for constructing conditional statements may be of some relevance to what you are trying to figure out. &lt;/p&gt;&#xA;" OwnerUserId="878" LastActivityDate="2011-07-11T14:08:11.980" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7331" PostTypeId="2" ParentId="7290" CreationDate="2011-07-11T14:34:09.753" Score="13" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;If $G$ is a graph with maximum degree 3 and is a minor of $H$, then $G$ is a topological minor of $H$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Since $G$ is a minor of $H$, $G$ can be obtained from $H$ by deleting edges, isolated vertices and performing edge contractions. It's also easy to show that we can insist that the subgraph operations are done first, i.e., we can first perform all the edge and vertex deletions and then perform all the edge contractions. Moreover, let us restrict the definition of &quot;edge contraction&quot; to disallow contracting edges where one of the vertices has degree 1. Contracting such an edge is the same as deleting it, so this will not change the definition of graph minors.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $H&amp;#39;$ be the graph obtained from $H$ by performing all the edge/vertex deletions first. $H&amp;#39;$ still contains $G$ as a minor. If we show that $H&amp;#39;$ contains $G$ as a topological minor then we're done, since the definition of topological minor also allows edge/vertex deletions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since $G$ can be obtained from $H&amp;#39;$ by edge contraction only, $H&amp;#39;$ and all intermediate graphs must have maximum degree 3 since there is no way to decrease the maximum degree of a graph by performing an edge contraction. (This would have been possible if we had allowed the contraction of edges incident on a vertex of degree 1.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So consider any step in the conversion of $H&amp;#39;$ to $G$. The only types of edges we can contract are those with both degree-2 vertices or one degree-2 vertex and one degree-3 vertex. (All other combinations don't work. For example, edges with two degree-3 vertices will give rise to a vertex of degree 4 when contracted.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;And now we're done, since if $H_1$ is obtained from $H_2$ by contracting an edge with two degree-2 vertices, then $H_2$ can be obtained from $H_1$ by performing edge subdivision on that edge. Similarly for an edge with one degree-3 vertex and one degree-2 vertex. Thus $H&amp;#39;$ can be obtained from $G$ by performing edge subdivisions only, which means $G$ is a topological minor of $H&amp;#39;$ and thus $H$.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;If $G$ is a path or a subdivision of a claw and is a minor of $H$ then $G$ is a subgraph of $H$&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;This is easy to show once we have the previous result. Since paths and subdivisions of claws have maximum degree 3, if $G$ is a minor of $H$ it is also a topological minor of $H$. This means there is a subgraph of $H$ that can be obtained from $G$ by only performing edge subdivisions. Now it's easy to show by induction that every edge subdivision of a path or subdivision of a claw leads to a graph which contains the original as a subgraph. For example, subdividing a path of length k leads to a path of length k+1, which contains the path of length k as a subgraph. Similarly for subdivisions of a claw.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We also needed this result for a paper once, so we included a short proof in our paper. You can find the result in &lt;a href=&quot;http://arxiv.org/abs/1011.1443&quot;&gt;Quantum query complexity of minor-closed graph properties&lt;/a&gt;. It's mentioned on page 13. However, this fact is hidden away in the proof of something else and isn't stated explicitly as a theorem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What's also interesting is that there is a converse to this theorem:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;The only graphs $G$ for which containing $G$ as a minor is equivalent to containing $G$ as a subgraph are those in which each connected component is a path or a subdivision of a claw.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="206" LastEditorUserId="206" LastEditDate="2011-07-12T00:56:11.180" LastActivityDate="2011-07-12T00:56:11.180" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="7332" PostTypeId="2" ParentId="7303" CreationDate="2011-07-11T14:58:39.710" Score="6" Body="&lt;p&gt;The hierarchy for circuit size, see&#xA;&lt;a href=&quot;https://cstheory.stackexchange.com/questions/5110/time-hierarchy-theorem-for-circuit-complexity&quot;&gt;previous question&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="259" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2011-07-11T14:58:39.710" CommentCount="0" CommunityOwnedDate="2011-07-11T14:58:39.710" ContentLicense="CC BY-SA 3.0" />
  <row Id="7333" PostTypeId="2" ParentId="7329" CreationDate="2011-07-11T15:39:32.050" Score="8" Body="&lt;p&gt;Some functions are conjectured to have that property, aptly called &lt;em&gt;moderately hard&lt;/em&gt;. They were first proposed in the context of spam fighting, and then found their ways into more complicated applications, such as &lt;em&gt;concurrent zero knowledge&lt;/em&gt; and &lt;em&gt;timed commitment&lt;/em&gt;. They usually use a function of the form $f(x) = g^{2^{2^x}} \bmod N$, first suggested by &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.17.2151&amp;amp;rep=rep1&amp;amp;type=ps&quot; rel=&quot;nofollow&quot;&gt;Rivest, Shamir and Wagner&lt;/a&gt;:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;N is a product of two large primes. Without knowing the factorization of N, the best that is known is repeated squaring - a very sequential computation in nature.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;If $VNP=VP$, then factorization can be performed efficiently, and therefore we do not have to resort to repeated squaring. However, performing factorization for someone who does not know the factors of N incurs a polynomial overhead.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You may also be interested in the concept of &lt;a href=&quot;http://www.springerlink.com/content/fr0l41857352q6m0/&quot; rel=&quot;nofollow&quot;&gt;feebly one-way functions&lt;/a&gt;, though they are not exactly related to the question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See the following references as well:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.wisdom.weizmann.ac.il/~naor/PAPERS/pvp.ps&quot; rel=&quot;nofollow&quot;&gt;Pricing via Processing -or- Combatting Junk Mail&lt;/a&gt; by Dwork and Naor.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.78.2923&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;nofollow&quot;&gt;Moderately Hard Functions: From Complexity to Spam Fighting&lt;/a&gt; by Naor.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://groups.csail.mit.edu/cis/zk/DS.ps&quot; rel=&quot;nofollow&quot;&gt;Concurrent Zero-Knowledge: Reducing the Need for Timing Constraints&lt;/a&gt; by Dwork and Sahai.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.108.7127&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;nofollow&quot;&gt;Timed Commitments&lt;/a&gt; by Boneh and Naor.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="873" LastEditorUserId="873" LastEditDate="2011-07-12T01:23:14.953" LastActivityDate="2011-07-12T01:23:14.953" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="7334" PostTypeId="1" CreationDate="2011-07-11T15:55:37.197" Score="4" ViewCount="274" Body="&lt;h2&gt;A little introduction&lt;/h2&gt;&#xA;&lt;p&gt;The &lt;strong&gt;Goldreich-Levin Theorem&lt;/strong&gt; says that&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;let &lt;span class=&quot;math-container&quot;&gt;$f$&lt;/span&gt; a one-way function and set &lt;span class=&quot;math-container&quot;&gt;$f'(x,r)=(f(x),r)$&lt;/span&gt; where &lt;span class=&quot;math-container&quot;&gt;$|r|=|x|$&lt;/span&gt; then &lt;span class=&quot;math-container&quot;&gt;$\langle x, r \rangle = \sum_{i}x_ir_i \mod 2$&lt;/span&gt; is an hard-core predicate of the function &lt;span class=&quot;math-container&quot;&gt;$f'$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;With &lt;strong&gt;hardcore predicate&lt;/strong&gt; we mean that if there exists a algorithm &lt;span class=&quot;math-container&quot;&gt;$D$&lt;/span&gt; that given &lt;span class=&quot;math-container&quot;&gt;$f(x),r$&lt;/span&gt; can predict the value &lt;span class=&quot;math-container&quot;&gt;$\langle x, r \rangle$&lt;/span&gt; with probability at least &lt;span class=&quot;math-container&quot;&gt;$1/2+\epsilon$&lt;/span&gt; then there exists a inverter algorithm &lt;span class=&quot;math-container&quot;&gt;$I$&lt;/span&gt; that with probability &lt;span class=&quot;math-container&quot;&gt;$O(\epsilon)$&lt;/span&gt; inverts the fuction &lt;span class=&quot;math-container&quot;&gt;$f'$&lt;/span&gt; (using &lt;span class=&quot;math-container&quot;&gt;$D$&lt;/span&gt; as subrutine).&lt;/p&gt;&#xA;&lt;p&gt;From my point of view this is an amazing result in TCS that use simple probabilistic arguments in a really elegant way. Furthermore it's a very good tool for many applications!&lt;/p&gt;&#xA;&lt;p&gt;For example,the theorem can be rephrased as a coding theory task.&lt;/p&gt;&#xA;&lt;p&gt;(In the hadamard code we code the message &lt;span class=&quot;math-container&quot;&gt;$m \in \{0,1\}^n$&lt;/span&gt; with a codeword &lt;span class=&quot;math-container&quot;&gt;$c \in \{0,1\}^{2^n}$&lt;/span&gt; where &lt;span class=&quot;math-container&quot;&gt;$c_i= \langle x, \bar{i} \rangle$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$\bar{i}$&lt;/span&gt; is a binary rappresentation of the number &lt;span class=&quot;math-container&quot;&gt;$i$&lt;/span&gt;.)&lt;/p&gt;&#xA;&lt;p&gt;Let &lt;span class=&quot;math-container&quot;&gt;$C = Enc(m)\in \{0,1\}^N$&lt;/span&gt; a codeword of hadamard code, we send &lt;span class=&quot;math-container&quot;&gt;$C$&lt;/span&gt; over a noise channel and then the receiver obtains &lt;span class=&quot;math-container&quot;&gt;$D= C + Error$&lt;/span&gt;. If the (normalized) distance between &lt;span class=&quot;math-container&quot;&gt;$D$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$C$&lt;/span&gt; is &lt;span class=&quot;math-container&quot;&gt;$1/2-1/p(\log N)$&lt;/span&gt; for some polynomial &lt;span class=&quot;math-container&quot;&gt;$p$&lt;/span&gt; then we can reconstruct the message &lt;span class=&quot;math-container&quot;&gt;$m$&lt;/span&gt; only by looking few random location of &lt;span class=&quot;math-container&quot;&gt;$D$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;p&gt;In this case &lt;span class=&quot;math-container&quot;&gt;$C$&lt;/span&gt; is the binary rappresentation of the function &lt;span class=&quot;math-container&quot;&gt;$\langle m,\cdot \rangle$&lt;/span&gt; , &lt;span class=&quot;math-container&quot;&gt;$D$&lt;/span&gt; is the binary rappresentation of the predictor.&lt;/p&gt;&#xA;&lt;p&gt;Goldreich,Rubinfeld and Sudan generalized the theorem: let &lt;span class=&quot;math-container&quot;&gt;$\mathbb{F}$&lt;/span&gt; a field such that &lt;span class=&quot;math-container&quot;&gt;$|\mathbb{F}|=poly(n)$&lt;/span&gt; and let &lt;span class=&quot;math-container&quot;&gt;$f: \mathbb{F}^n\rightarrow\mathbb{F}^m$&lt;/span&gt; a one-way function define &lt;span class=&quot;math-container&quot;&gt;$f'(x,r)=(f(x),r)$&lt;/span&gt; as above then &lt;span class=&quot;math-container&quot;&gt;$\langle x, r\rangle$&lt;/span&gt; is a hard-core predicate of the fuction &lt;span class=&quot;math-container&quot;&gt;$f'$&lt;/span&gt; where now all the operation are over &lt;span class=&quot;math-container&quot;&gt;$\mathbb{F}$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;p&gt;This means that if &lt;span class=&quot;math-container&quot;&gt;$D$&lt;/span&gt; is such that &lt;span class=&quot;math-container&quot;&gt;$$\Pr[D(f(x),r) = \langle x,r \rangle ] \geq 1/|\mathbb{F}|+p(n)$$&lt;/span&gt; for some polynomial &lt;span class=&quot;math-container&quot;&gt;$p$&lt;/span&gt; then we can invert the function &lt;span class=&quot;math-container&quot;&gt;$f'$&lt;/span&gt; using &lt;span class=&quot;math-container&quot;&gt;$D$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;h1&gt;My question&lt;/h1&gt;&#xA;&lt;p&gt;Suppose there exists a function &lt;span class=&quot;math-container&quot;&gt;$D$&lt;/span&gt; that, given &lt;span class=&quot;math-container&quot;&gt;$f(x)$&lt;/span&gt;, approximate &lt;span class=&quot;math-container&quot;&gt;$\langle x,\cdot \rangle$&lt;/span&gt; with a additive factor &lt;span class=&quot;math-container&quot;&gt;$\delta$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Given a algorithm &lt;span class=&quot;math-container&quot;&gt;$D$&lt;/span&gt; such that &lt;span class=&quot;math-container&quot;&gt;$\forall r:|D(f(x),r)-\langle x,r \rangle| \leq \delta$&lt;/span&gt; can we construct an Inverter for the function &lt;span class=&quot;math-container&quot;&gt;$f'$&lt;/span&gt; from &lt;span class=&quot;math-container&quot;&gt;$D$&lt;/span&gt;?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;A dummy example, suppose there exists &lt;span class=&quot;math-container&quot;&gt;$D$&lt;/span&gt; such that, given &lt;span class=&quot;math-container&quot;&gt;$f(x)$&lt;/span&gt;, it calculates the function &lt;span class=&quot;math-container&quot;&gt;$\langle x,\cdot \rangle+1$&lt;/span&gt;, obviusly the probability that &lt;span class=&quot;math-container&quot;&gt;$D$&lt;/span&gt; predicts &lt;span class=&quot;math-container&quot;&gt;$f'$&lt;/span&gt; is 0 but it seem simple to invert the fuction &lt;span class=&quot;math-container&quot;&gt;$f'$&lt;/span&gt; given &lt;span class=&quot;math-container&quot;&gt;$D$&lt;/span&gt;. However in the approximation setting we don't assume that for all input we can know the approximation factor.&lt;/p&gt;&#xA;" OwnerUserId="3847" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2011-07-11T15:55:37.197" Title="A approximation version of the Goldreich-Levin Theorem" Tags="&lt;cc.complexity-theory&gt;&lt;cr.crypto-security&gt;&lt;approximation-algorithms&gt;&lt;one-way-function&gt;" AnswerCount="0" CommentCount="4" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="7335" PostTypeId="1" AcceptedAnswerId="7337" CreationDate="2011-07-11T16:01:50.613" Score="0" ViewCount="2137" Body="&lt;p&gt;I searched in Google and checked similar questions on this site, but couldn't find an answer for my problem. I hope this place is appropriate for my problem.&lt;/p&gt;&#xA;&lt;p&gt;The problem is formulated as follows:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;We are given a weighted digraph with the following properties:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;The weights are real numbers&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Each vertex has a directed edge into every vertex, but without self-loops (i.e. the graph is complete, each vertex has |V|-1 in and out degree)&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The weight for some edge &lt;span class=&quot;math-container&quot;&gt;$X \rightarrow Y$&lt;/span&gt; is not necessarily the same as for &lt;span class=&quot;math-container&quot;&gt;$Y \rightarrow X$&lt;/span&gt; (therefore we can't treat the graph as an undirected graph)&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;We are also given a source s and a sink t.&lt;/p&gt;&#xA;&lt;p&gt;The problem is to find the longest path from s to t.&lt;/p&gt;&#xA;&lt;p&gt;(Obviously the path should not contain any loops, and can contain at most |V|-1 edges)&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Even though the problem is NP-hard and even finding a constant factor approximation is NP-hard for the general case, I wonder if for that kind of graphs we can do better.&lt;/p&gt;&#xA;&lt;p&gt;The questions are:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Is the problem NP-hard?&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;If yes, how good can the problem be approximated? I would prefer fast running time over good results.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Do you know any good heuristics for the problem? (that work well in practice)&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Any comment/answer/reference is appreciated. Thanks in advance!&lt;/p&gt;&#xA;" OwnerUserId="1657" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2011-07-12T01:49:21.457" Title="Longest path in Complete Directed Graphs" Tags="&lt;ds.algorithms&gt;&lt;graph-algorithms&gt;" AnswerCount="1" CommentCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="7337" PostTypeId="2" ParentId="7335" CreationDate="2011-07-11T18:53:34.810" Score="2" Body="&lt;p&gt;Sage's implementation of it for instance :-)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.sagemath.org/doc/reference/sage/graphs/generic_graph.html#sage.graphs.generic_graph.GenericGraph.longest_path&quot; rel=&quot;nofollow&quot;&gt;http://www.sagemath.org/doc/reference/sage/graphs/generic_graph.html#sage.graphs.generic_graph.GenericGraph.longest_path&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Nathann&lt;/p&gt;&#xA;" OwnerUserId="1209" LastActivityDate="2011-07-11T18:53:34.810" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="7339" PostTypeId="1" AcceptedAnswerId="7342" CreationDate="2011-07-11T22:54:08.427" Score="3" ViewCount="175" Body="&lt;p&gt;This question is motivated by the Leighton-Rao relaxation for SPARSEST-CUT.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose one wants to find a non-trivial semimetric over an $n$-point space that minimizes a certain linear functional. More formally:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;minimize $\sum_{ij = 1}^n c_{ij} d_{ij}$&lt;/li&gt;&#xA;&lt;li&gt;where $d$ is a semimetric over $\{1, 2, \ldots, n\}$&lt;/li&gt;&#xA;&lt;li&gt;and $\sum_{ij = 1}^n d_{ij} = 1$&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Of course it is a linear program that can be solved in polynomial time using ellipsoid method. But what I would like to know is if there are any combinatorial algorithms for this optimization problem. I suspect that the answer is 'no' since the problem looks pretty general to be solved combinatorially, but who knows...&lt;/p&gt;&#xA;" OwnerUserId="141" LastActivityDate="2011-07-12T06:07:29.590" Title="Combinatorial algorithm for optimization over semimetric polytope" Tags="&lt;ds.algorithms&gt;&lt;optimization&gt;&lt;linear-programming&gt;&lt;metrics&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7340" PostTypeId="1" AcceptedAnswerId="7360" CreationDate="2011-07-12T00:59:18.237" Score="1" ViewCount="208" Body="&lt;p&gt;I want to write a simulator for a quantum computing model that I am working on and I was wondering what would be the correct library / implementation strategy to implement quantum cluster states? Specifically I want to compute a cluster state of a specific topological quantum computation. I am investigating algorithms using this model and I would like to have a toy implementation for a presentation. &#xA;The specific algorithm would perform similarly to this.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Encode the given knot algorithm into a set of braids and create a cluster state of those braids&lt;/li&gt;&#xA;&lt;li&gt;Perform measurement on those braids&lt;/li&gt;&#xA;&lt;li&gt;Return a element of $Z_{n} \in_{1,0}$&lt;/li&gt;&#xA;&lt;li&gt;Perform a classical operation on the knot.&lt;/li&gt;&#xA;&lt;li&gt;Perform another operation until the knot is in a desired state.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;See &lt;a href=&quot;http://arxiv.org/pdf/1101.4722.pdf&quot; rel=&quot;nofollow&quot;&gt;http://arxiv.org/pdf/1101.4722.pdf&lt;/a&gt; for a very simlar model.&lt;/p&gt;&#xA;" OwnerUserId="5385" LastEditorUserId="5385" LastEditDate="2011-07-14T09:22:14.037" LastActivityDate="2011-07-14T09:22:14.037" Title="Computational Library to compute Quantum Cluster States" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;quantum-computing&gt;&lt;implementation&gt;&lt;topology&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="7342" PostTypeId="2" ParentId="7339" CreationDate="2011-07-12T06:07:29.590" Score="4" Body="&lt;p&gt;Yes: the dual is a multicommodity flow problem which can be solved using the Garg-Koenemann algorithm &lt;a href=&quot;http://dx.doi.org/10.1137/S0097539704446232&quot; rel=&quot;nofollow&quot;&gt;http://dx.doi.org/10.1137/S0097539704446232&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="4896" LastActivityDate="2011-07-12T06:07:29.590" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="7345" PostTypeId="2" ParentId="7303" CreationDate="2011-07-12T09:41:54.320" Score="9" Body="&lt;p&gt;Another strict hierarchy: branching programs which only test each bit a limited number of times.  The more tests are allowed, the larger the class of branching programs.&#xA;Usually the branching programs are also restricted to polynomial size.&#xA;BP&lt;sub&gt;d&lt;/sub&gt;(P) is the class of polynomial size branching programs that may test each bit up to $d$ times.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://complexityzoo.uwaterloo.ca/Complexity_Zoo:L#l.2Fpoly&quot; rel=&quot;nofollow&quot;&gt;L/poly&lt;/a&gt; is the union of &lt;a href=&quot;https://complexityzoo.uwaterloo.ca/Complexity_Zoo:B#bpdp&quot; rel=&quot;nofollow&quot;&gt;BP&lt;sub&gt;d&lt;/sub&gt;(P)&lt;/a&gt; over all &lt;em&gt;d&lt;/em&gt;, while BP&lt;sub&gt;d-1&lt;/sub&gt;(P) $\subsetneq$ BP&lt;sub&gt;d&lt;/sub&gt;(P) for every &lt;em&gt;d&lt;/em&gt;.&lt;/p&gt;&#xA;" OwnerUserId="109" LastEditorUserId="109" LastEditDate="2016-02-20T10:15:02.073" LastActivityDate="2016-02-20T10:15:02.073" CommentCount="0" CommunityOwnedDate="2011-07-12T09:41:54.320" ContentLicense="CC BY-SA 3.0" />
  <row Id="7346" PostTypeId="1" AcceptedAnswerId="11589" CreationDate="2011-07-12T09:53:49.007" Score="13" ViewCount="604" Body="&lt;p&gt;I am looking for an implementation of an algorithm to compute the &lt;a href=&quot;http://en.wikipedia.org/wiki/Path_decomposition&quot;&gt;pathwidth&lt;/a&gt; of a graph. It is well known that computing the pathwidth is equivalent to computing the node searching number, vertex separation number, or interval thickness of the graph. The algorithm does not have to be very fast; I want to run it on graphs of at most 20 vertices. I do require the algorithm to compute the pathwidth exactly, rather than giving an approximation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am aware that there are some implementations to compute the treewidth of a graph (a related concept) but have not been able to find any to compute the pathwidth. Any pointers are appreciated!&lt;/p&gt;&#xA;" OwnerUserId="122" LastEditorUserId="1800" LastEditDate="2011-07-13T05:57:22.163" LastActivityDate="2012-07-08T11:20:55.567" Title="Implemented code to compute pathwidth (= Node search number, vertex separation number, interval thickness)" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;graph-algorithms&gt;&lt;implementation&gt;" AnswerCount="3" CommentCount="0" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="7350" PostTypeId="1" CreationDate="2011-07-12T11:43:17.570" Score="1" ViewCount="740" Body="&lt;p&gt;I'm a Coq newbie and I'd like to prove that the inclusion relation is antisymmetric, that is: $\forall x\forall y(x\subseteq y\land y\subseteq x\rightarrow x=y)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I wrote the following thing:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;Section Test.&#xA;Variable set : Type.&#xA;Variable element : set -&amp;gt; set -&amp;gt; Prop.&#xA;Definition subset (x:set) (y:set) := forall z:set, element z x -&amp;gt; element z y.&#xA;Axiom equality : forall x y:set, x = y &amp;lt;-&amp;gt; forall z:set, element z x &amp;lt;-&amp;gt; element z y.&#xA;Theorem inclusion_is_antisymmetric : forall x y:set, subset x y /\ subset y x -&amp;gt; x = y.&#xA;Proof.&#xA;intros a b.&#xA;unfold subset.&#xA;intro H.&#xA;destruct H as [H0 H1].&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;At this point I get the following output:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;1 subgoal&#xA;set : Type&#xA;element : set -&amp;gt; set -&amp;gt; Prop&#xA;a : set&#xA;b : set&#xA;H0 : forall z : set, element z a -&amp;gt; element z b&#xA;H1 : forall z : set, element z b -&amp;gt; element z a&#xA;______________________________________(1/1)&#xA;a = b&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;I'm stuck now because I don't know how to:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;change the goal from $a=b$ to $\forall z(z\in a\leftrightarrow z\in b)$ and then to $c\in a\leftrightarrow c\in b$&lt;/li&gt;&#xA;&lt;li&gt;change &lt;code&gt;H0&lt;/code&gt; from $\forall z(z\in a\rightarrow z\in b)$ to $c\in a\rightarrow c\in b$&lt;/li&gt;&#xA;&lt;li&gt;change &lt;code&gt;H1&lt;/code&gt; from $\forall z(z\in b\rightarrow z\in c)$ to $c\in b\rightarrow c\in a$&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;That is, I know how to prove this theorem on paper but not with Coq.&lt;/p&gt;&#xA;" OwnerUserId="5882" LastActivityDate="2015-02-07T12:45:43.243" Title="Proving that inclusion is antisymmetric in Coq" Tags="&lt;coq&gt;&lt;set-theory&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7351" PostTypeId="1" AcceptedAnswerId="7354" CreationDate="2011-07-12T12:26:41.230" Score="5" ViewCount="1189" Body="&lt;p&gt;I have an assignment problem at hand and am wondering how suitable it would be to apply local search techniques to reach a desirable solution (the search space is quite large).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have a directed graph (a flow-chart) that I would like to visualize on 2-D plane in a way that it is very clear, understandable and easy to read by human-eye. Therefore; I will be assigning (x,y) positions to each vertex. I'm thinking of solving this problem using simulated annealing, genetic algorithms, or any such method you can suggest&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Input:&lt;/strong&gt; A graph G = (V,E)&lt;br&gt;&#xA;&lt;strong&gt;Output:&lt;/strong&gt; A set of assignments, &lt;code&gt;{(xi, yi) for each vi in V}&lt;/code&gt;. In other words, each vertex will be assigned a position (x, y) where the coordinates are all integers and &gt;= 0.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;These are the criteria that I will use to judge a solution (I welcome any suggestions):&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Number of intersecting edges should be minimal,&lt;/li&gt;&#xA;&lt;li&gt;All edges flow in one direction (i.e from left to right),&lt;/li&gt;&#xA;&lt;li&gt;High angular resolution (the smallest angle formed by two edges&#xA;incident on the same vertex),&lt;/li&gt;&#xA;&lt;li&gt;Small area - least important.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Furthermore; I have an initial configuration (assignment of positions to vertices), made by hand. It is very messy and that's why I'm trying to automate the process.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My questions are,  &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;How wise would it be to go with local search techniques? How likely&#xA;would it produce a desired outcome?  &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;And what should I start with? Simulated annealing, genetic algorithms&#xA;or something else?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Should I seed randomly at the beginning or use the initial&#xA;configuration to start with?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Or, if you already know of a similar implementation/pseudo-code/thing, please point me to it.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Any help will be greatly appreciated. Thanks.&lt;/p&gt;&#xA;" OwnerUserId="5884" LastEditorUserId="612" LastEditDate="2011-07-12T14:16:27.577" LastActivityDate="2015-02-03T17:23:51.967" Title="Genetic Algorithm to Draw a Graph? Position assignment problem" Tags="&lt;optimization&gt;&lt;machine-learning&gt;&lt;ai.artificial-intel&gt;&lt;graph-drawing&gt;" AnswerCount="4" CommentCount="1" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="7352" PostTypeId="1" CreationDate="2011-07-12T12:35:33.687" Score="5" ViewCount="310" Body="&lt;p&gt;Given some problem, could you have a situation where the problem is shown to be in P, assuming you start with a particular representation of the problem and some data structures, but that if the problem data was represented in some other way then the problem would become NP? (or some other complexity classes) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In other words have any problems been stated to be in P when this depends on the input data being formatted in a way that a would-be algorithm-user wouldn't necessarily have available so the complexity of the problem becomes drastically changed by needing to convert the data first?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This question comes from wondering how knots can be represented and wondered how this would affect comparing whether two knots are the same?&lt;/p&gt;&#xA;" OwnerUserId="5883" LastActivityDate="2015-12-08T20:57:15.187" Title="Data representation affecting problem complexity" Tags="&lt;cc.complexity-theory&gt;" AnswerCount="6" CommentCount="4" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="7353" PostTypeId="2" ParentId="7351" CreationDate="2011-07-12T13:00:44.043" Score="2" Body="&lt;ol&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.17.2605&quot; rel=&quot;nofollow&quot;&gt;TimGA - A Genetic Algorithm for Drawing Undirected Graphs&lt;/a&gt; &lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://reports-archive.adm.cs.cmu.edu/anon/1998/abstracts/98-189.html&quot; rel=&quot;nofollow&quot;&gt;A Numerical Optimization Approach to General Graph Drawing&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;I was given task similar to yours on my job. I used two things given above. Both the things work and should give you general idea. In the end you will have to do some tweaks that are specific to your graphs. &lt;/p&gt;&#xA;" OwnerUserId="612" LastActivityDate="2011-07-12T13:00:44.043" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7354" PostTypeId="2" ParentId="7351" CreationDate="2011-07-12T13:23:48.623" Score="3" Body="&lt;p&gt;I don't think it is wise to use local search techniques. There are many (fast) methods which work pretty good for many classes of graphs. Of course you can also test local search methods.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A few comments:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;ul&gt;&#xA;  &lt;li&gt;Number of intersecting edges should be minimal&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Is your graph planar? If yes, there are many good methods for planar graphs (e.g. dominance drawings). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is it a general digraph? In this case a hierarchical approach may be suitable (more information later).&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;ul&gt;&#xA;  &lt;li&gt;All edges flow in one direction (i.e from left to right)&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Does it contain cycles? If yes, this is not possible. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A great source for graph drawing algorithms is &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0133016153&quot; rel=&quot;nofollow&quot;&gt;Graph Drawing: Algorithms for the Visualization of Graphs&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In my opinion a good first approach to this problem is the hierarchical approach. Check the paper by Sugiyama et. al &lt;a href=&quot;http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=4308636&amp;amp;abstractAccess=no&amp;amp;userType=inst&quot; rel=&quot;nofollow&quot;&gt;Methods for Visual Understanding of Hierarchical System Structures&lt;/a&gt; (chapter 9 in &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0133016153&quot; rel=&quot;nofollow&quot;&gt;1&lt;/a&gt; describes such methods).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you go with the local optimization methods, I would definitely use the initial configuration to start with (since it should be close to a good local optimum).&lt;/p&gt;&#xA;" OwnerUserId="1657" LastActivityDate="2011-07-12T13:23:48.623" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7357" PostTypeId="2" ParentId="7346" CreationDate="2011-07-12T15:43:03.150" Score="8" Body="&lt;p&gt;Don't know about &quot;an implementation&quot; but check out&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Computing Pathwidth Faster Than 2^n &#xA;Karol Suchan and Yngve Villanger &#xA;Parameterized and Exact Computation, 4th International Workshop, IWPEC 2009,Copenhagen, Denmark, Springer Verlag, Lecture Notes in Computer Science 5917, Pages 324-335.&lt;/p&gt;&#xA;" OwnerUserId="679" LastActivityDate="2011-07-12T15:43:03.150" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7358" PostTypeId="1" CreationDate="2011-07-12T16:16:22.060" Score="3" ViewCount="256" Body="&lt;p&gt;Given a connected graph $G =(V_1,V_2,E)$, such that there are no edges among the vertices in set $V_1$, however the other set $V_2$ can have edges in itself. There is actually a restriction for $V_2$, which is that we cannot remove any vertex in $V_2$ such that graph $G$ is still connected. Therefore a minimality constraint is there for $V_2$. Is there a standard name for this graph? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The need for it is because im writing a manuscript which includes a result on such graphs and i need to refer this graph with some name. So, i was wondering if there was some name for it. Obviously i couldn't find it. Any other suggestion/comment is also appreciated.&lt;/p&gt;&#xA;" OwnerUserId="4529" LastEditorUserId="1800" LastEditDate="2011-07-13T05:56:27.250" LastActivityDate="2011-07-13T05:56:27.250" Title="Standard/Formal name for the graph" Tags="&lt;reference-request&gt;&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;terminology&gt;" AnswerCount="1" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="7359" PostTypeId="2" ParentId="7358" CreationDate="2011-07-12T16:27:11.227" Score="2" Body="&lt;p&gt;Well, &lt;a href=&quot;http://www.graphclasses.org/classes/gc_39.html&quot; rel=&quot;nofollow&quot;&gt;split graphs&lt;/a&gt; correspond to the case where $V_1$ is an independent set and $V_2$ forms a clique, but I'm not aware of another name in the case where $V_2$ has no particular restriction.&lt;/p&gt;&#xA;" OwnerUserId="775" LastActivityDate="2011-07-12T16:27:11.227" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7360" PostTypeId="2" ParentId="7340" CreationDate="2011-07-12T20:52:30.780" Score="6" Body="&lt;p&gt;As Peter mentions in the comments, it seems impossible to give an authoritive answer without knowing what exactly you are planning on doing with them. That said, there are at least a few places I can point you which may be of some use.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Firstly, Pauli measurements on cluster states can be efficiently simulated on a classical computer. This is a direct result of the Gottesman-Knill theorem (see &lt;a href=&quot;http://arxiv.org/abs/quant-ph/9807006&quot; rel=&quot;nofollow&quot;&gt;this paper&lt;/a&gt; by Gottesman and &lt;a href=&quot;http://arxiv.org/abs/quant-ph/0406196&quot; rel=&quot;nofollow&quot;&gt;this follow-up paper&lt;/a&gt; by Gottesman and Aaronson), which Clifford group circuits can be efficiently evaluated via the stabilizer formalism. So it may be that stabilizers are the way you want to go.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, if you want to be a little less general, and restrict yourself to graph states (a general name for cluster states on general graphs) then there are two papers by &lt;a href=&quot;http://arxiv.org/abs/quant-ph/0307130&quot; rel=&quot;nofollow&quot;&gt;Hein, Eisert and Briegel&lt;/a&gt; and &lt;a href=&quot;http://arxiv.org/abs/quantph/0305170&quot; rel=&quot;nofollow&quot;&gt;Schlingemann&lt;/a&gt; which describe how Pauli measurements performed on a graph state result in states which are locally equivalent to graph states, and provide rules for these transformations. Thus it is quite possible to work with graphs as your data structure, as long as you do not intend to leave the Clifford group.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, Ross Duncan and Lucas Dixon have taken a category theoretic approach for automated reasoning about graphs and have produced some nice proof of concept software using this approach (see &lt;a href=&quot;http://arxiv.org/abs/0902.0514&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, I would point out that Raussendorf, Harrington and Goyal have previously looked at implementing topological computations via measurements on cluster states (they use it to achieve fault-tolerance in cluster states in a very beautiful way), and so you might be interested in their work (see &lt;a href=&quot;http://arxiv.org/abs/quant-ph/0510135&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt; and &lt;a href=&quot;http://arxiv.org/abs/quant-ph/0703143&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;). These papers give an explicit encoding for encoding braids in a cluster state.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;UPDATE: I notice you have just added the forth point. The Raussendorf-Harrington-Goyal papers I linked to above do provide a very nice way of doing topological quantum computing via cluster states, which allows classical operations on the knots to be done within the Clifford group, and hence the stabilizer and graph transformation approaches I previously mentioned can be used to efficiently simulate these operations.&lt;/p&gt;&#xA;" OwnerUserId="204" LastEditorUserId="204" LastEditDate="2011-07-14T00:39:06.537" LastActivityDate="2011-07-14T00:39:06.537" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="7362" PostTypeId="1" CreationDate="2011-07-12T21:33:31.710" Score="6" ViewCount="95" Body="&lt;p&gt;Let $G$ be a planar triangulation on $3m$ edges and $m+2$ vertices. Let $A$ be the binary matrix obtained from the incidence matrix of $G$ by deleting a row (equivalently the rows of $A$ form a basis of the cocycle space of $G$ over $GF(2)$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is: What additional criteria must be assumed (if any) to guarantee there is an $(m-1)$-dimensional subspace of $GF(2)^{m+1}$ which does not contain any column of $A$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any relevant references would be much appreciated. &lt;/p&gt;&#xA;" OwnerUserId="5891" LastActivityDate="2011-07-14T10:30:56.110" Title="Planar Graphs and Skew Binary Subspaces" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7365" PostTypeId="2" ParentId="7199" CreationDate="2011-07-13T07:17:20.877" Score="8" Body="&lt;p&gt;The answer by @Hugo is really nice, and here I want to add some personal opinions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are related families similar to the graphs in the family F and F'. The graphs in family B1 in the article are usually called pyramids. And graphs in family B2 are usually called prisms. See &lt;a href=&quot;https://cstheory.stackexchange.com/questions/2447/hardness-jumps-in-computational-complexity/2752#2752&quot;&gt;the answer here&lt;/a&gt; for an illustration.&#xA;In the literature of induced subgraph detection problems, they were used for detecting even/odd holes, which are chordless cycles with even/odd length. By the celebrated strong perfect graph theorem, a graph G is perfect if both G and the complement of G do not contain odd holes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the families of pyramids and prisms, in fact there are differences between them - one has an induced subtree of three leaves, and the other one does not. This is called the &lt;a href=&quot;http://www.columbia.edu/~mc2775/threeinatree.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;&quot;three-in-a-tree&quot; problem&lt;/a&gt;, which has been studied by Chudnovsky and Seymour. It is surprising that determining if there is an induced tree which contains three given nodes is tractable, while the &quot;four-in-a-centered-tree&quot; problem &lt;a href=&quot;http://perso.ens-lyon.fr/nicolas.trotignon/articles/ftree.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;is NP-hard&lt;/a&gt;. (A centered tree is a tree with at most one node with degree greater than 2.)  The differences between F and F' seems to be caused by the same reason.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But it seems that a complete characterization is still hard, because we do not even know the complexity of detecting graphs in some of the families that looks simple enough, like odd-hole-free graphs(!). &#xA;And for the families that we do know a polynomial-time algorithm exists, like perfect graphs and even-hole-free graphs, although there are general strategies (based on decompositions) to design an algorithm, one has to provide a specific structural theorem for them. This is usually a family-dependent process, and most of the time the proofs are really long. (&lt;a href=&quot;http://www.dainf.ct.utfpr.edu.br/~murilo/star.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Here's an example&lt;/a&gt; for the even-hole-free graph, where the paper are over 90 pages.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Still it would be interesting to have some classifications for induced subgraph detection problems, in the sense like the three-in-a-tree problem.&lt;/p&gt;&#xA;" OwnerUserId="1800" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2011-07-14T01:18:12.947" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7367" PostTypeId="2" ParentId="7283" CreationDate="2011-07-13T11:17:24.813" Score="7" Body="&lt;p&gt;The correct answer was given to me here: &lt;a href=&quot;http://forum.bitcoin.org/index.php?topic=27979.msg352498#msg352498&quot; rel=&quot;nofollow&quot;&gt;http://forum.bitcoin.org/index.php?topic=27979.msg352498#msg352498&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The gist: The entire value of the output contributes to the subsequent transaction, so if you wish to transfer smaller amount, you must add an additional output on the second transaction to send the remainder back to yourself.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that the accounting is done for transactions outputs and inputs. The block concept is not necessary for the verification process and is only used for technical convenience.&lt;/p&gt;&#xA;" OwnerUserId="5853" LastEditorUserId="5853" LastEditDate="2011-07-18T17:29:45.967" LastActivityDate="2011-07-18T17:29:45.967" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7368" PostTypeId="1" CreationDate="2011-07-13T14:34:48.740" Score="4" ViewCount="650" Body="&lt;p&gt;I have a function $f: \mathbb{D} \rightarrow \{0,1\}$ where $\mathbb{D} \in \mathbb{R}^{5000}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would like to approximate $f$ using a decision tree.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Up to now I have only found literature in the context of machine learning, where $f$ is unknown, some samples $(x_i,\ y_i=f(x_i) + \mathrm{noise})$ are available and $f$ is estimated using a decision tree. That is a learning problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In my case I have a known (non trivial) expression for $f$ and I want to obtain the shortest binary decision tree for an arbitrarily good approximation (up to a specific error $\epsilon$). This seem to be a different problem than the learning problem (for instance, there is no regularization term to ensure generalization).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I suspect this problem to &quot;hard&quot;. I assume some literature must exist on &quot;no guarantees, greedy approaches&quot; or similar, but I have not be able to find any.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Could any of you point me out some paper or book referring to this problem ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks for you answers.&lt;/p&gt;&#xA;" OwnerUserId="5894" LastEditorUserId="5894" LastEditDate="2011-07-14T12:23:55.963" LastActivityDate="2011-08-13T14:03:17.297" Title="Building a decision tree to approximate a known function (not to learn an unknown function)" Tags="&lt;approximation-algorithms&gt;&lt;decision-trees&gt;" AnswerCount="2" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="7369" PostTypeId="2" ParentId="2707" CreationDate="2011-07-13T15:02:22.057" Score="14" Body="&lt;p&gt;Although that answer is correct in a general sense, it is also helpful to try to understand specifically what goes wrong when applying primal simplex to the assignment problem.  Consider an NxN assignment problem with square cost matrix c_ij. The corresponding LP has N^2 variables x_ij to solve for.  Thinking of these x_ij as a square matrix X, a feasible solution requires that X be a permutation matrix, which is enforced by  2N-1 constraints in our LP (it may seem at first glance that there are 2N constraints, one for each row and one for each column, but they are not all independent and we drop one of them).  The LP constraints thus form a (2N-1)x(N^2) matrix A.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, a basic solution is formed from choosing a set of (2N-1) basic variables.  However, for this basic solution to also be feasible, only N of those variables can have value 1, and the other (N-1) are 0.  Thus, every feasible solution is degenerate.  The problem with this degeneracy is that any of the (N-1) basic variables that are 0 can be swapped with any of the (N^2-2N+1) nonbasic variables, a so-called &quot;degenerate pivot&quot;, with no effect on the value of the objective function [you are just swapping one 0 variable for another]. When N is large, the primal simplex algorithm wastes a lot of time making degenerate pivots that don't improve the solution.  This is the crux of why the naive primal simplex algorithm is not used directly to solve the assignment problem.&lt;/p&gt;&#xA;" OwnerUserId="5895" LastEditorUserId="5895" LastEditDate="2011-07-14T15:43:06.213" LastActivityDate="2011-07-14T15:43:06.213" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7371" PostTypeId="2" ParentId="7352" CreationDate="2011-07-13T22:23:44.717" Score="5" Body="&lt;p&gt;Related to the DNF/CNF formulation of SAT is the H-rep vs V-rep representation of a polytope for integer  programming. If I give you all the vertices, IP can be solved in linear time. But the number of vertices is exponential in the number of constraints, which is the usual way the IP is presented. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;So the answer to your question is YES. In the case of knot representation, the question sounds interesting, and maybe you could do a specific followup question on the knot problem directly. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2011-07-13T22:23:44.717" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7372" PostTypeId="2" ParentId="7352" CreationDate="2011-07-13T23:38:38.030" Score="3" Body="&lt;p&gt;There is an example from matrix multiplication but the complexity classes fall within $P$. Nevertheless there is a provable reduction in complexity. Looking at square matrices as elements for $\mathbb{Z}^{n^{2}}$ seems to not get you far to reduce complexity from $O(n^{3})$. However embedding the matrices as elements of $\mathbb{C}[G]$ for some appropriately constructed non-abelian group $G$, that is, looking at matrices as elements of the new algebraic object converts multiplication in these objects to point-wise product via Pontrjagin Duality thus reducing complexity from $O(n^{3})$ to a provable $O(n^{2.5})$ and a conjectural $O(n^{2})$.&lt;/p&gt;&#xA;" OwnerUserId="5511" LastActivityDate="2011-07-13T23:38:38.030" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7373" PostTypeId="2" ParentId="7352" CreationDate="2011-07-14T00:27:37.013" Score="2" Body="&lt;p&gt;The most obvious example is Subset-sum problem:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a set of integers $A= \{a_1,\cdots, a_n\}$ and an integer $S$, is there a subset of $A$ such that the sum of elements in it is equal to $S$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If the target value, $S$, is given in its binary representation the size of problem description would be $\log (S)+n\log (S)=\theta(n\log S)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We know that this problem is an NP-complete problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But if all the integers are given in their unary representations, the size of input would be $\theta (nS)$. And the usual dynamic-programming approach (which runs in $O(nS)$) can solve the problem in polynomial time.&lt;/p&gt;&#xA;" OwnerUserId="1639" LastActivityDate="2011-07-14T00:27:37.013" CommentCount="0" CommunityOwnedDate="2011-07-14T00:27:37.013" ContentLicense="CC BY-SA 3.0" />
  <row Id="7374" PostTypeId="1" AcceptedAnswerId="7376" CreationDate="2011-07-14T01:21:34.597" Score="25" ViewCount="2976" Body="&lt;p&gt;I was recently reading up on the &lt;a href=&quot;http://en.wikipedia.org/wiki/Earley_parser&quot;&gt;Earley parser&lt;/a&gt; and think it's one of the most elegant algorithms I've seen to date.  However, the algorithm in its traditional sense is a &lt;em&gt;recognizer&lt;/em&gt; and not a &lt;em&gt;parser,&lt;/em&gt; meaning that it can detect whether a string matches a particular CFG but not produce a parse tree for it.  My question is how to recover not a parse &lt;em&gt;tree&lt;/em&gt;, but rather the parse &lt;em&gt;forest&lt;/em&gt; of all possible parses of the given input string.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In Grune and Jacob's &quot;Parsing Techniques: A Practical Guide&quot; they illustrate an algorithm that can be used to recover a parse forest from the result of the Earley recognizer, but it is based on Unger's parsing method, whose runtime is O(n&lt;sup&gt;k + 1&lt;/sup&gt;), where k is the length of the longest production in the grammar.  This means that the runtime is not a polynomial in the size of the grammar.  Moreover, Earley's original paper on the algorithm, which suggests an algorithm for recovering parse forests, is incorrect (see, for example, page 762 of &lt;a href=&quot;http://www.google.com/url?sa=t&amp;amp;source=web&amp;amp;cd=1&amp;amp;ved=0CB0QFjAA&amp;amp;url=http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.80.5070&amp;amp;rep=rep1&amp;amp;type=pdf&amp;amp;rct=j&amp;amp;q=tomita%20efficient%20parsing%20for%20natural%20language&amp;amp;ei=PEIeTvORBIXmiAK_2uS0Aw&amp;amp;usg=AFQjCNFdGbsgtPgMYS0KII9nCTfTq8_hFg&amp;amp;sig2=71GyjE-ZqEXrWUJ6NV9HIQ&amp;amp;cad=rja&quot;&gt;this article&lt;/a&gt; by Tomita), although many sources still cite it as the appropriate way to recover the parse forest.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is whether it is possible, in polynomial time, to recover a parse forest for a given input string.  I have found a paper &lt;a href=&quot;http://www.aclweb.org/anthology-new/P/P89/P89-1018.pdf&quot;&gt;here&lt;/a&gt; that provides an algorithm for producing cubic-size parse forest representations for any parse using a simulation of a PDA, so this seems like it should be possible, but I have yet to find any way to do this.  Ideally, I'd like to do this without converting the input grammar to CNF (which would indeed solve the problem), since the resulting parse forest would be pretty messy.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks for any help you can offer!&lt;/p&gt;&#xA;" OwnerUserId="4354" LastActivityDate="2020-11-16T16:58:44.590" Title="Recovering a parse forest from an Earley parser?" Tags="&lt;fl.formal-languages&gt;&lt;parsing&gt;" AnswerCount="5" CommentCount="8" FavoriteCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="7375" PostTypeId="2" ParentId="7327" CreationDate="2011-07-14T06:18:02.613" Score="10" Body="&lt;p&gt;In [dB80] Hitchcock and Park's analysis of the termination properties&#xA;of recursion is proven to correspond to a semantic analysis based on&#xA;the so-called Egli-Milner interpretation of relations [Egl75, Plo76],&#xA;which expresses &lt;em&gt;erratic&lt;/em&gt; nondeterminism. This notion captures&#xA;that a nondeterministic union of relations is correct if it generates&#xA;at least one computation leading to a desired result (even in the&#xA;presence of a nonterminating computation). This appears to correspond&#xA;to what you are trying to do.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Next characterize the meaning of a statement $S$ as a function $f_S$&#xA;mapping each initial state $\sigma$ to some nonempty set of states,&#xA;possibly containing $\bot$, such that $f_S$ is strict in the sense&#xA;that $f_S(\bot) = \{\bot\}$. The nondeterministic choice between&#xA;statements $S_1$ and $S_2$ is described by the function mapping each&#xA;initial state $\sigma$ to the union of the individual results $f_{S_1}&#xD;&#xA;(\sigma) \cup f_{S_2} (\sigma)$. Thus, whenever $S_1$ or $S_2$ has the&#xA;nondeterministic possibility of producing an undesirable result, then&#xA;so does their nondeterministic choice. As the resulting sets of final&#xA;states one obtains in this analysis the so-called Egli-Milner&#xA;powerset of states:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;${\cal P}_{\text{E--M}}(S) = \{ ~s\subseteq S_\bot ~|~ s$ is finite and nonempty, or contains $\bot\}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Why are infinite subsets of $S$ not considered possible sets of final&#xA;states in this model? Under the assumption that all basic building&#xA;blocks of relational terms produce only finite, nonempty sets of&#xA;possible final states, an infinite set of possible final states can&#xA;only be generated when an infinite computation is possible. This can&#xA;be seen as follows. Structure the set of all possible computations&#xA;starting in a given state $\sigma_0$ as a tree with root $\sigma_0$&#xA;and states as nodes. The set of leaves is then exactly the set of&#xA;possible final states reachable from $\sigma_0$, except for $\bot$,&#xA;which might be missing among the leaves but is represented in the set&#xA;of final states by the fact that there is an infinite path in the&#xA;tree. By the assumption above, and since only finite nondeterministic&#xA;choice is available, this tree is finitely branching. Thus, there is&#xA;only a finite number of leaves at any given finite depth. Consequently&#xA;an infinite number of possible final states can only be generated in&#xA;the presence of an infinite computation (an application of König's&#xA;lemma [Kön32]).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$({\cal P}_{\text{E--M}}(S),\sqsubseteq_{\text{E--M}})$ is a poset for&#xA;$\sqsubseteq_{\text{E--M}}$ defined by: for $s,t\in{\cal&#xD;&#xA;  P}_{\text{E--M}}(S)$,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$&#xD;&#xA;  s\sqsubseteq_{\text{E--M}} t\quad = \quad&#xD;&#xA;  (\bot\in s \land s\setminus\{\bot\}\subseteq t)&#xD;&#xA;  \lor (\bot\notin s \land s=t)~.&#xD;&#xA;$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here, $\bot$ can be seen as a placeholder through which&#xA;$\sqsubseteq_{\text{E--M}}$-greater sets can be generated by inserting&#xA;more states in lieu of $\bot$. Therefore, $\{\bot\}$ is the least&#xA;element of $({\cal P}_{\text{E--M}}(S),\sqsubseteq_{\text{E--M}})$.&#xA;Furthermore, the poset $({\cal&#xD;&#xA;  P}_{\text{E--M}}(S),\sqsubseteq_{\text{E--M}})$ possesses lub's for&#xA;$\omega$-chains. Similarly, the strict functions from $S\cup\{\bot\}$&#xA;to ${\cal P}_{\text{E--M}}(S)$ are partially ordered by the pointwise&#xA;extension of $\sqsubseteq_{\text{E--M}}$. Moreover, the least such&#xA;function is $\lambda\sigma.\{\bot\}$ and lub's of $\omega$-chains of&#xA;such functions exist, too.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[dB80] JW de Bakker. &lt;em&gt;Mathematical Theory of Program Correctness&lt;/em&gt;.&#xA;Prentice Hall, 1980.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[Egl75] H Egli. A mathematical model for nondeterministic&#xA;computations. Technical report, ETH Zürich, 1975.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[Kön32] D König. Theorie der endlichen und unendlichen Graphen.&#xA;Technical report, Leipzig, 1932.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[Plo76] GD Plotkin. A powerdomain construction. &lt;em&gt;SIAM Journal on&#xA;  Computation&lt;/em&gt;, 5(3):452-487, 1976.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Disclaimer: this is taken almost verbatim from a book I once co-authored:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;WP de Roever and K Engelhardt. &lt;em&gt;Data Refinement: Model-Oriented&#xA;  Proof Methods and their Comparison&lt;/em&gt;. Cambridge University Press, 1998.&lt;/p&gt;&#xA;" OwnerUserId="3552" LastEditorUserId="3552" LastEditDate="2011-07-14T06:26:42.230" LastActivityDate="2011-07-14T06:26:42.230" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="7376" PostTypeId="2" ParentId="7374" CreationDate="2011-07-14T06:39:33.910" Score="14" Body="&lt;p&gt;Doing that would of course depend on the right representation for a &quot;packed forest&quot; that represents all parse trees for a given sentence.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think the place you want to start looking is at Joshua Goodman's thesis (parsing inside out, Harvard, 1999). Basically, the idea is that you can define a parsing algorithm under a certain semiring. Depending on the semiring, you would be able to calculate all kind of quantities and structures instead of the bare parse tree (as a recognizer or as a parser). One semiring that you could define (which Goodman does in his thesis) is a semiring where the values are sets of parses. When you eventually finish parsing a sentence, you'd get all parse trees in the main parse node.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Again, you have to be careful about making it possible through the right representation.&lt;/p&gt;&#xA;" OwnerUserId="5902" LastActivityDate="2011-07-14T06:39:33.910" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7377" PostTypeId="2" ParentId="7362" CreationDate="2011-07-14T10:30:56.110" Score="1" Body="&lt;p&gt;The question has been resolved by Chris Godsil on &lt;a href=&quot;https://mathoverflow.net/questions/70225/planar-graphs-and-skew-binary-spaces&quot;&gt;Maths Overflow&lt;/a&gt;. I repost it here for completeness:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What follows is all quite standard, iirc it's in Aigner's book &quot;Combinatorics&quot; but my copy's out on loan....&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $B$ be the vertex-edge incidence matrix of the graph. (Nothing's gained by deleting a row.) We want a subspace of codimension two in $GF(2)^{m+2}$ containing no column of B. If a and b are distinct non-zero vectors indexed by the vertices of $G$ and $x$ is a column of $B$, we have a map $\rho _{a,b}$ that sends $x$ to $(a^Tx,b^Tx)$ and $a^⊥∩b^⊥$ is a subspace of codimension two that does not contain a column if and only if $0$ is not in the image of $ρ_{a,b}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we identify $V(G)$ with the standard basis for $GF(2)^{m+2}$ then the map that assigns the vector $ρ_{a,b}(ei)$ to the vertex $i$ is a proper 4-colouring of the vertices of $G$, as you can easily check. Hence a necessary condition is that $G$ be 4-colourable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, if $G$ is 4-colourable then we can colour it with the four elements of $GF(2)^2$. Let $a$ be the vector such that $a_i$ is the first coordinate of the colouring of the vertex $i$ and let $b$ be the vector such that $b_i$ is the second coordinate. The $ρ_{a,b}(e_i+e_j)≠0$ if $ij∈E(G)$ and so the kernel of $ρ_{a,b}$ is a subspace of codimension two that does not contain a column of $B$. (If $a=b$ we have a 2-colouring, which is impossible.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So your question is equivalent to the 4-color theorem.&lt;/p&gt;&#xA;" OwnerUserId="5891" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2011-07-14T10:30:56.110" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7379" PostTypeId="2" ParentId="88" CreationDate="2011-07-14T12:23:40.330" Score="5" Body="&lt;p&gt;A new paper presented at &lt;a href=&quot;http://www.pps.jussieu.fr/~jkrivine/conferences/DCM2011/DCM_2011.html&quot; rel=&quot;noreferrer&quot;&gt;DCM2011&lt;/a&gt;: &lt;a href=&quot;http://www.cs.tau.ac.il/~nachumd/papers/ECTT.pdf&quot; rel=&quot;noreferrer&quot;&gt;A Formalization and Proof of the Extended Church-Turing Thesis&lt;/a&gt; (Nachum Dershowitz and Evgenia Falkovich)&lt;/p&gt;&#xA;" OwnerUserId="5907" LastActivityDate="2011-07-14T12:23:40.330" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7380" PostTypeId="2" ParentId="7368" CreationDate="2011-07-14T12:57:35.467" Score="1" Body="&lt;p&gt;In general you could look in basis-expansion approaches like fourier or wavelets.&#xA;Choose a balance between number of basis functions and approximation error. For boundaries some more effort might be needed. FFT is quite fast too compute nowadays. However, there is no guarantee about speed since you need to evaluate all the basis used.&lt;/p&gt;&#xA;" OwnerUserId="5908" LastActivityDate="2011-07-14T12:57:35.467" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7381" PostTypeId="1" CreationDate="2011-07-14T13:36:05.497" Score="17" ViewCount="494" Body="&lt;p&gt;The negative adversary method ($ADV^\pm$) is an SDP that characterizes quantum query complexity. It is a generalization of the widely used adversary method ($ADV$), and overcomes the two barriers that hindered the adversary method:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;The property testing barrier: if all 0-instances are $\epsilon$-far from all 1-instances then the adversary method cannot prove a lower bound better than $\Omega(1/\epsilon)$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The certificate complexity barrier: if $C_b(f)$ is the certificate complexity of $b$-instances then the adversary method cannot prove a lower bound better than $\sqrt{C_0(f)C_1(f)}$ where&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;In the original &lt;a href=&quot;http://arxiv.org/PS_cache/quant-ph/pdf/0611/0611054v2.pdf&quot; rel=&quot;nofollow&quot;&gt;$ADV^\pm$ paper&lt;/a&gt; the authors construct an example function for which their method overcomes both barriers. However, I have not see examples of any natural problems where this has yielded new lower bounds. &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Can you provide any references where the negative adversary method was used to achieve a lower bound that the original method could not attain?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The biggest interest for me, is in property testing. Currently there are very few lower bounds on property testing, in fact I only know two (&lt;a href=&quot;http://arxiv.org/abs/1005.0523&quot; rel=&quot;nofollow&quot;&gt;CFMdW2010&lt;/a&gt;, &lt;a href=&quot;http://arxiv.org/abs/1012.3174&quot; rel=&quot;nofollow&quot;&gt;ACL2011&lt;/a&gt;), that both use the polynomial method (the first by reduction from the collision problem which was originally lower bounded by polynomial method). We know that there are properties that require $\Theta(f(n))$ quantum queries to check, for any computable $f(n) \in O(n)$ (by combining the results in &lt;a href=&quot;http://arxiv.org/abs/quant-ph/0201117&quot; rel=&quot;nofollow&quot;&gt;BNFR2002&lt;/a&gt; and &lt;a href=&quot;http://eccc.hpi-web.de/report/2008/097/&quot; rel=&quot;nofollow&quot;&gt;GKNR2009&lt;/a&gt;). Why is so hard to use the negative adversary method to prove $\Omega(f(n))$ lower bounds on them?&lt;/p&gt;&#xA;" OwnerUserId="1037" LastEditorUserId="186" LastEditDate="2011-07-30T14:58:40.143" LastActivityDate="2011-08-04T22:35:51.333" Title="Using the extra power of the negative adversary method" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;quantum-computing&gt;&lt;query-complexity&gt;&lt;property-testing&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="7382" PostTypeId="1" AcceptedAnswerId="7383" CreationDate="2011-07-14T15:37:45.037" Score="17" ViewCount="2507" Body="&lt;p&gt;I recently read a proof that intended to show that a problem was strongly NP-hard, simply by reducing to it (in polynomial time) from a strongly NP-hard problem. This didn’t make any sense to me. I would have thought that you’d have to show that any numbers used in the reduction and the instances of the problem you’re reducing to were polynomially bounded in the problem size.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I then saw that Wikipedia gave the &lt;a href=&quot;http://en.wikipedia.org/wiki/Strongly_NP-complete&quot;&gt;same general instructions&lt;/a&gt; for this sort of proof, but I wasn’t really convinced until I saw &lt;a href=&quot;http://portal.acm.org/citation.cfm?doid=322077.322090&quot;&gt;Garey &amp;amp; Johnson&lt;/a&gt; say basically the same thing. To be specific, they say, “If $\Pi$ is NP-hard in the strong sense and there exists a pseudo-polynomial transformation from $\Pi$ to $\Pi&amp;#39;$, then $\Pi&amp;#39;$ is NP-hard in the strong sense,” and “Note that, by definition, a polynomial time algorithm is also a pseudo-polynomial time algorithm.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course, I take the word of Garey &amp;amp; Johnson on this—I just don’t understand how it can be correct, which is what I’d like some help with. Here’s my (presumably flawed) reasoning…&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are strongly NP-complete problems, and all these are (by definition) strongly NP-hard as well as NP-complete. Every NP-complete problem can (by definition) be reduced to any other in polynomial (and therefore pseudopolynomial) time. Given the statements of Garey &amp;amp; Johnson, it would therefore seem to me that every NP-complete problem is strongly NP-complete, and, therefore, that every NP-hard problem is strongly NP-hard. This, of course, makes the concept of strong NP-hardness meaningless … so what am I missing?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit/update&lt;/strong&gt; (based on Tsuyoshi Ito’s answer):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The requirement (d) from Garey &amp;amp; Johnson’s definition of a (pseudo)polynomial transformation (the kind of reduction needed to confer NP-hardness in the strong sense) is that the largest numerical magnitude in the resulting instance be polynomially bounded, as a function of the problem size and maximal numerical magnitude of the original. This, of course, means that if the original problem is NP-hard in the strong sense (that is, even when its numerical magnitudes are polynomially bounded in the problem size), this will also be true of the problem you reduce to. This would &lt;em&gt;not&lt;/em&gt; necessarily be the case for an ordinary polytime reduction (that is, one without this extra requirement).&lt;/p&gt;&#xA;" OwnerUserId="901" LastEditorUserId="901" LastEditDate="2011-07-15T06:48:44.507" LastActivityDate="2011-07-15T06:48:44.507" Title="Can strong NP-hardness really be shown using plain polytime reductions?" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;&lt;reductions&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="7383" PostTypeId="2" ParentId="7382" CreationDate="2011-07-14T16:00:05.813" Score="15" Body="&lt;p&gt;According to the terminology in the paper by Garey and Johnson, polynomial-time transformations are not necessarily pseudo-polynomial transformations because it may violate item (d) in Definition 4.&lt;/p&gt;&#xA;" OwnerUserId="567" LastActivityDate="2011-07-14T16:00:05.813" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7384" PostTypeId="2" ParentId="7382" CreationDate="2011-07-14T16:23:23.280" Score="10" Body="&lt;p&gt;To expand on Tsuyoshi's answer:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the context of Garey and Johnson, consider a transformation from PARTITION (p. 47, Sec. 3.1) to MULTIPROCESSOR SCHEDULING (p. 65, Sec. 3.2.1, Item (7)).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The transformation (by restriction) involves setting $D=\frac{1}{2}\sum_{a\in A}l(a)$. But if the lengths of the tasks, the $l(a)$, are &lt;em&gt;too large&lt;/em&gt;, then it cannot be the case that there exists a two-variable polynomial $q_2$ such that, $\forall I \in D_{\Pi}$, Max`$[f(I)] \le q_2$(Max$[I],$ Length$[I])$ (i.e. item (d) in the definition of a pseudo-polynomial transformation).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For instance, just consider an instance of MULTIPROCESSOR SCHEDULING where the &lt;em&gt;value&lt;/em&gt; of all of the $l(a)$ are exponential in the &lt;em&gt;number&lt;/em&gt; of the $l(a)$ (i.e. $|A|$). You're still manipulating the same number of &quot;combinatorial objects&quot; (so to speak), but they're all extremely large. Hence, NP-complete, but not strongly NP-complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You might want to read &lt;a href=&quot;http://en.wikipedia.org/wiki/Weakly_NP-complete&quot;&gt;Wikipedia on a related topic&lt;/a&gt;. For instance, we have a dynamic programming-based polynomial-time algorithm for the NP-complete KNAPSACK problem -- at least, as long as the numbers are small enough. When the numbers get too big, this &quot;polynomial-time&quot; algorithm will display &quot;exponential behavior.&quot; (G&amp;amp;J, p. 91, Sec 4.2)&lt;/p&gt;&#xA;" OwnerUserId="108" LastActivityDate="2011-07-14T16:23:23.280" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7385" PostTypeId="1" CreationDate="2011-07-14T17:05:34.163" Score="1" ViewCount="143" Body="&lt;p&gt;Suppose I have an algorithm which maintains a data structure $A$. After the algorithm has run up to time $t_2$, it decides to back-track to a prior state $t_1$. It should be possible to restore the state of $A$ to what it was at time $t_1$ by simulating $A$, instead of running it directly, and maintaining a log of all changes made to $A$. The total time needed to unwind the state of $A$ to time $t_1$ should be $O(t_2 - t_1)$, possibly with some logarithmic factors&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have a few questions about this ---&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(1) Does this principle have a name?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(2) Do I have to pay logarithmic factors for simulating $A$ instead of running it? I would like to avoid this if possible. Is there a model of computation, such as the RAM model, that avoids this? Or are there some regularity conditions?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT: Some search of the literature shows that this is called the &quot;rollback method&quot;. It seems to be a folk theorem that the RAM model supports linear-time rollback. I am a little surprised that there is nothing proved formally and no papers cited, as (for example) the Turing Machine model requires a logarithmic slowdown.&lt;/p&gt;&#xA;" OwnerUserId="5538" LastEditorUserId="5538" LastEditDate="2011-07-14T18:04:48.177" LastActivityDate="2011-07-14T18:04:48.177" Title="Unwinding a data structure to a previous state" Tags="&lt;ds.algorithms&gt;" AnswerCount="0" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="7386" PostTypeId="1" AcceptedAnswerId="7427" CreationDate="2011-07-14T18:11:51.873" Score="19" ViewCount="1297" Body="&lt;p&gt;In their &lt;a href=&quot;http://www.cs.unc.edu/~plaisted/comp750/Strong-NP-completness.pdf&quot;&gt;paper&lt;/a&gt; (p. 503) Garey and Johnson remark:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;... there could exist an NP-complete problem which is neither NP-complete in the strong sense nor solvable by a pseudo-polynomial time algorithm ...&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Does anyone know some candidate problems with the properties the mentioned above?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;I think the possible answer to this question can be a list of NP-complete problems in the ordinary sense such that no pseudopolynomial algorithm is known for them.&lt;/em&gt;&lt;/p&gt;&#xA;" OwnerUserId="1060" LastEditorUserId="1060" LastEditDate="2011-07-17T07:46:30.637" LastActivityDate="2011-11-23T17:50:25.333" Title="Are there known NP-complete problems, neither NP-hard in the strong sense nor having pseudopolynomial algorithm?" Tags="&lt;ds.algorithms&gt;&lt;np-hardness&gt;&lt;np&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="7387" PostTypeId="1" AcceptedAnswerId="7390" CreationDate="2011-07-14T19:57:46.810" Score="3" ViewCount="312" Body="&lt;p&gt;Let's say we have $k$ weighted DAGs (directed acyclic graphs) &#xA;$$H_1 = (V_1, A_1), \dots, H_k = (V_k, A_k)$$ &#xA;that are copies of one another. Now consider another weighted DAG $G$ that is built by combining $H_1, \dots, H_k$ and adding some additional arcs that can only go from one vertex to vertices in the following copies, i.e., consider a weighted DAG $G = (V, A)$ such that:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$V = \bigcup_{1 \le i \le k} V_i$; and&lt;/li&gt;&#xA;&lt;li&gt;$A = ( \bigcup_{1 \le i \le k} A_i ) \cup A&amp;#39;$, such that for each $a = (u, v) \in A&amp;#39;$ we have $u \in V_i, v \in V_j$ with $i &amp;lt; j$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Now suppose we want to find the shortest $s$-$t$ path for a given pair of vertices $(s, t) \in V^2$. Can precomputing all-pairs shortest paths in $H_1, \dots, H_k$ be used to speed up the algorithm?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any references to papers that use similar ideas would be helpful.&lt;/p&gt;&#xA;" OwnerUserId="5911" LastEditorUserId="1800" LastEditDate="2011-07-15T01:31:45.340" LastActivityDate="2011-07-15T09:31:22.857" Title="Shortest path in a DAG consisting of multiple copies of a smaller DAG" Tags="&lt;ds.algorithms&gt;&lt;graph-algorithms&gt;&lt;directed-acyclic-graph&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7388" PostTypeId="1" AcceptedAnswerId="8005" CreationDate="2011-07-15T05:02:17.790" Score="19" ViewCount="819" Body="&lt;p&gt;Are there any references that provide details about circuit lower bounds for specific hard problems arising in cryptography such as integer factoring, prime/composite discrete logarithm problem and its variant over group of points of elliptic curves (and their higher dimensional abelian varieties) and the general hidden subgroup problem?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Specifically do any of these problems have more than a linear complexity lower bound?&lt;/p&gt;&#xA;" OwnerUserId="5511" LastEditorUserId="5511" LastEditDate="2011-08-29T15:02:15.117" LastActivityDate="2015-10-09T12:50:10.583" Title="Is there a better than linear lower bound for factoring and discrete log?" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;cr.crypto-security&gt;&lt;circuit-complexity&gt;" AnswerCount="1" CommentCount="9" FavoriteCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="7389" PostTypeId="2" ParentId="7386" CreationDate="2011-07-15T08:57:10.043" Score="1" Body="&lt;p&gt;I would say the answer is clearly no (that is, no one knows), because no one knows whether the NP-complete problems can be solved in &lt;em&gt;polynomial&lt;/em&gt; time, let alone &lt;em&gt;pseudo&lt;/em&gt;-polynomial time. (Every polynomial algorithm is, of course, pseudopolynomial.) If you can find a problem in NPC that cannot be solved in pseudopolynomial time, you have just proven that P≠NP, so I think it’s safe to say that no such examples will be produced any time soon.&lt;/p&gt;&#xA;" OwnerUserId="901" LastActivityDate="2011-07-15T08:57:10.043" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7390" PostTypeId="2" ParentId="7387" CreationDate="2011-07-15T09:31:22.857" Score="3" Body="&lt;p&gt;Yes, you certainly can (based on the fact that any subpath of a minimal path must also be minimal). That is, any shortest path entering $H_i$ at $u$ and leaving at $v$ &lt;em&gt;must&lt;/em&gt; follow the shortest path from $u$ to $v$ in $H_i$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Basically, you can compute the shortest-path distance matrix $D$ for any $H_i$ (it would be the same for all of them, of course), and replace every subgraph $H_i$ by one consisting only of the in- and out-nodes (that is, the nodes connected to other subgraphs; presumably fewer than $|V_i|$), and use only direct edges from the in-nodes to the out-nodes, with weights given by $D$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You don't need to explicitly construct this new graph, of course. If you have the macrostructure of $G$ available in implicit form, you can compute $D$, and use that together with the macrostructure of $G$ in a (slightly customized) DP algorithm for finding the shortest path.&lt;/p&gt;&#xA;" OwnerUserId="901" LastActivityDate="2011-07-15T09:31:22.857" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7391" PostTypeId="1" CreationDate="2011-07-15T10:50:28.553" Score="8" ViewCount="153" Body="&lt;p&gt;The following fact seems to be used implicitly in cs theory, particularly algorithms. Given a RAM machine $M$ running in time $O(f(n))$, another RAM machine $M&amp;#39;$ can simulate $M$ in time $O(f(n))$. This differs from the case for Turing machines, where $M&amp;#39;$ may require $O(f(n) log(f(n))$ time. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I say this is often used implicitly because many papers will simply say something like &quot;run $M$, but keep track of certain auxiliarily information as you do so&quot;. This is really simulating $M$, but for RAM machines the distinction is not so important because running times are not (asymptotically) affected.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a reference for this theorem? I am summarizing the situation correctly?&lt;/p&gt;&#xA;" OwnerUserId="5538" LastActivityDate="2011-07-15T10:50:28.553" Title="RAM simulating another RAM" Tags="&lt;cc.complexity-theory&gt;" AnswerCount="0" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7392" PostTypeId="1" CreationDate="2011-07-15T15:33:09.137" Score="3" ViewCount="776" Body="&lt;p&gt;How is &lt;a href=&quot;http://en.wikipedia.org/wiki/Real-time_computing&quot; rel=&quot;nofollow&quot;&gt;real-time computing&lt;/a&gt; defined in theoretical computer science (e.g. complexity theory)? Are there complexity theoretic models designed to capture the real-time computation?&lt;/p&gt;&#xA;" OwnerUserId="5920" LastEditorUserId="186" LastEditDate="2011-07-18T19:25:02.903" LastActivityDate="2011-09-26T18:15:19.173" Title="How is Real-Time Computing defined?" Tags="&lt;cc.complexity-theory&gt;&lt;dc.distributed-comp&gt;" AnswerCount="5" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="7393" PostTypeId="2" ParentId="7392" CreationDate="2011-07-15T15:51:18.383" Score="11" Body="&lt;p&gt;Like many things in life, there is no one definitive definition. For an algorithm to run in real-time, some people on the theoretical side say that this means it will take constant time per 'something.' Now you have to decide what a 'something' is but let me give a concrete example. Let's say that the input arrives one symbol at a time and you want to output the answer to a query as soon as a new symbol arrives. If calculating that output takes constant time per new symbol then you might say the algorithm runs in real-time.    An example of this is real-time exact string matching, which outputs whether a pattern matches the latest suffix of a text in constant time per new symbol. The text is assumed to arrive one symbol at a time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, an engineering answer will be less worried about &quot;constant time&quot; and more worried about it happening fast in practice and in particular fast enough that the result can be used by the time it is needed. So for example in robotics, if you want to play ping-pong it is useful for the robot to be able to work out where the ball is and move to hit it as the ball arrives, and not after the ball has passed. The asymptotic time complexity of the underlying algorithms will perhaps be of less interest there than just the observation that the code works out the location quickly enough.  To give another example, if you want to render video and can do it at 25 frames per second then it is reasonable to say that the rendering is happening in real-time.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;So basically you have two answers. One for the theoreticians/algorithmists and one that just says that you are doing the work as you need it on the fly.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT: I should probably add that one extra feature one should require of even a constant time algorithm is that the time complexity is not amortised.  In this context, real-time == unamortised constant time. &lt;/p&gt;&#xA;" OwnerUserId="1864" LastEditorUserId="1864" LastEditDate="2011-07-15T16:54:32.290" LastActivityDate="2011-07-15T16:54:32.290" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7396" PostTypeId="1" AcceptedAnswerId="7402" CreationDate="2011-07-15T20:33:19.263" Score="6" ViewCount="1489" Body="&lt;p&gt;If you ask a question about parsing HTML with regex, you will certainly be referenced to this famous &lt;a href=&quot;https://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags/1732454#1732454&quot;&gt;rant&lt;/a&gt;. Though there is not a canonical rant for it, I've also been told that regex aren't powerful enough to parse SQL.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm a self-taught programmer, so I don't know much about languages from a theoretical perspective. Practically speaking, what are examples of languages or grammars that regex can always parse successfully?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit:&lt;/strong&gt; To clarify, I'd really like a few examples of languages that are used in the real world that fit in the category of regular languages, rather than some axioms or equivalent conditions, etc.&lt;/p&gt;&#xA;" OwnerUserId="4473" LastEditorUserId="-1" LastEditDate="2017-05-23T12:40:09.333" LastActivityDate="2016-10-20T11:03:09.247" Title="What are regular expressions good for?" Tags="&lt;fl.formal-languages&gt;&lt;regular-expressions&gt;&lt;regular-language&gt;" AnswerCount="7" CommentCount="2" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="7397" PostTypeId="2" ParentId="7392" CreationDate="2011-07-15T20:36:12.617" Score="4" Body="&lt;p&gt;Maybe related to your question, you can look at &lt;a href=&quot;http://en.wikipedia.org/wiki/Streaming_algorithm&quot; rel=&quot;nofollow&quot;&gt;streaming algorithms&lt;/a&gt;. This model has some &quot;real-time&quot; flavor in some sense. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can also look at results on real-time language recognition by &lt;a href=&quot;http://en.wikipedia.org/wiki/Cellular-automaton&quot; rel=&quot;nofollow&quot;&gt;cellular automata&lt;/a&gt;. For instance this &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0022000072800047&quot; rel=&quot;nofollow&quot;&gt;paper&lt;/a&gt;. There are &lt;a href=&quot;http://scholar.google.com/scholar?q=real+time+cellular+automata&quot; rel=&quot;nofollow&quot;&gt;quite a lot of papers&lt;/a&gt; on this subject.&lt;/p&gt;&#xA;" OwnerUserId="976" LastActivityDate="2011-07-15T20:36:12.617" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7398" PostTypeId="2" ParentId="7396" CreationDate="2011-07-15T20:41:21.197" Score="3" Body="&lt;p&gt;Regular expressions can parse regular languages. There are many characterizations of regular languages, as witnessed by &lt;a href=&quot;http://en.wikipedia.org/wiki/Regular_language&quot; rel=&quot;nofollow&quot;&gt;the Wikipedia page on regular languages&lt;/a&gt; (and you should have looked at it before asking, just like I did before answering). For example, they are precisely those languages that can be expressed by prefix grammars, or regular grammars.&lt;/p&gt;&#xA;" OwnerUserId="705" LastActivityDate="2011-07-15T20:41:21.197" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="7399" PostTypeId="2" ParentId="7350" CreationDate="2011-07-15T20:45:35.297" Score="6" Body="&lt;pre&gt;&lt;code&gt;Theorem inclusion_is_antisymmetric : forall x y:set, subset x y /\ subset y x -&amp;gt; x = y.&#xA;Proof.&#xA;  firstorder using equality.&#xA;Qed.&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;" OwnerUserId="705" LastActivityDate="2011-07-15T20:45:35.297" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7400" PostTypeId="2" ParentId="7396" CreationDate="2011-07-15T20:48:11.740" Score="1" Body="&lt;p&gt;I believe (unless I'm mistaken, in which case I would really like somebody to correct my error) that x86 assembly language can be parsed by a regular expression.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Regular expressions are good for searching text (pattern matching). Simple computational problems can also be expressed in terms of finite automata... although most interesting ones cannot.&lt;/p&gt;&#xA;" OwnerUserId="5924" LastActivityDate="2011-07-15T20:48:11.740" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7401" PostTypeId="2" ParentId="2074" CreationDate="2011-07-15T21:21:52.753" Score="9" Body="&lt;p&gt;I have fleshed-out this answer with &lt;a href=&quot;https://mathoverflow.net/questions/54232/a-book-you-would-like-to-write/70941#70941&quot;&gt;an extended answer&lt;/a&gt; on &lt;i&gt;MathOverflow&lt;/i&gt; to Gil Kalai's community wiki question &quot;[What is] &lt;a href=&quot;https://mathoverflow.net/questions/54232/a-book-you-would-like-to-write&quot;&gt;A Book You Would Like to Write&lt;/a&gt;.&quot;  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The extended answer seeks to link fundamental issues in TCS and QIT to practical issues in healing and regenerative medicine. &#xA;&lt;hr&gt;&#xA;This answer extends &lt;a href=&quot;https://cstheory.stackexchange.com/questions/2074/physics-results-in-tcs/2407#2407&quot;&gt;Peter Shor's answer&lt;/a&gt;, which discusses the roles of matrix product states in TCS and physics.  Two recent surveys in the &lt;em&gt;Bulletin of the AMS&lt;/em&gt; are relevant to matrix product states, and both surveys are well-written, free of pay-wall restrictions, and reasonably accessible to non-specialists:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Joseph M. Landsberg's &lt;em&gt;&lt;a href=&quot;http://www.ams.org/journals/bull/2008-45-02/S0273-0979-08-01176-2/home.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;Geometry and the complexity of matrix multiplication&lt;/a&gt;&lt;/em&gt; (2008)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Alvaro Pelayo's and San Vu Ngoc's &lt;em&gt;&lt;a href=&quot;http://www.ams.org/journals/bull/2011-48-03/S0273-0979-2011-01338-6/home.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;Symplectic theory of completely integrable Hamiltonian systems&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The mathematical arena for Landsberg's survey is &lt;a href=&quot;http://books.google.com/books?id=_XxZdhbtf1sC&amp;amp;pg=PA89&quot; rel=&quot;nofollow noreferrer&quot;&gt;secant varieties of Segre varieties&lt;/a&gt;, while the arena for Pelayo's and Ngoc's survey is four-dimensional symplectic manifolds&amp;nbsp;&amp;hellip; it takes awhile to appreciate that these two arenas both are matrix product states, as viewed respectively from a computational perspective (Landsburg) and a geometric perspective (Palayo and Ngoc).  Moreover, Palayo and Ngoc include in their survey a discussion of Babelon, Cantini, and Douçot's &lt;em&gt;&lt;a href=&quot;http://iopscience.iop.org/1742-5468/2009/07/P07011/&quot; rel=&quot;nofollow noreferrer&quot;&gt;A semi-classical study of the Jaynes–Cummings model&lt;/a&gt;&lt;/em&gt; (noting that the Jaynes–Cummings model is often encountered in the literature of condensed matter physics and quantum computing).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Each of these references goes far to illuminate the others.  In particular, it has been helpful in our own (very practical) spin dynamical calculations to appreciate that the quantum state-spaces that are described variously in the literature as tensor network states, matrix product states, and secant varieties of Segre varieties are richly endowed with singularities whose algebraic, symplectic, and Riemannian structure is at present very incompletely understood (as Pelayo and Ngoc review).  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For our engineering purposes, the &lt;a href=&quot;http://faculty.washington.edu/sidles/ENC_2011/index.html#burningArrow&quot; rel=&quot;nofollow noreferrer&quot;&gt;Landsburg/algebraic geometry approach&lt;/a&gt;, in which the state-space of quantum dynamics is viewed as an algebraic variety rather than a vector space, is emerging as the most mathematically natural.  This is surprising to us, but in common with many researchers, we find that the toolset of algebraic geometric is gratifyingly effective in validating and speeding practical quantum simulations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Quantum simulationists presently enjoy the puzzling circumstance that large numerical quantum simulations very often perform much better than we have any known reason to expect.   As mathematicians and physicists arrive at a shared understanding, this puzzlement surely will diminish and the enjoyment surely will remain.  Good! :) &lt;/p&gt;&#xA;" OwnerUserId="1519" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2011-07-22T18:55:19.510" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7402" PostTypeId="2" ParentId="7396" CreationDate="2011-07-15T22:00:15.577" Score="22" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;Practically speaking, what are examples of languages or grammars that regex can always parse successfully?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;A short answer is: Probably nothing that you call a language.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In theoretical computer science (TCS), a &lt;em&gt;language&lt;/em&gt; simply means a set of words.  But in most cases, what people call a “language” outside TCS has some recursive structure.  “Recursive structure” is ambiguous here, but intuitively regular expressions cannot parse them because regular expressions even cannot parse &lt;a href=&quot;http://en.wikipedia.org/wiki/Pumping_lemma_for_regular_languages#Use_of_lemma&quot; rel=&quot;nofollow noreferrer&quot;&gt;balanced parentheses&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Many compilers use regular expressions for &lt;a href=&quot;http://en.wikipedia.org/wiki/Lex_%28software%29&quot; rel=&quot;nofollow noreferrer&quot;&gt;lexical analysis&lt;/a&gt; before parsing.  For example, you can decide whether a certain string is a valid identifier in C++ or not by using a regular expression.  This is possible because the language consisting of valid identifiers in C++ is a regular language.  But the set of valid C++ identifiers is usually not called a language outside TCS.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Disclaimers:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/questions/448/regular-expressions-arent&quot;&gt;Some people distinguish “regular expression” and “regex.”&lt;/a&gt;  In this answer, I am talking about regular expressions, not regexes, if we use this convention.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Actual C++ compilers do not probably use a regular expression for valid identifiers because excluding keywords makes the regular expression unmanageable.  They use a different technique to cope with this, but that is not the main point here.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="567" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2011-07-15T22:00:15.577" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="7403" PostTypeId="2" ParentId="7396" CreationDate="2011-07-16T08:58:45.433" Score="13" Body="&lt;p&gt;Some examples of regular languages with practical importance:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;(reasonable) email adresses (see comments for caveats)&lt;/li&gt;&#xA;&lt;li&gt;(well-formed) URLs (or even URI in general)&lt;/li&gt;&#xA;&lt;li&gt;the set of valid identifiers in any HPL&lt;/li&gt;&#xA;&lt;li&gt;a set of inappropriate words you want to filter from chat/comments/board&lt;/li&gt;&#xA;&lt;li&gt;the set of TCP headers (I guess)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;There certainly are many, many more examples; in fact, every time you use regex as a programmer and do not use backreferences/groups (!) you define a regular language for some purpose.&lt;/p&gt;&#xA;" OwnerUserId="1546" LastEditorUserId="1546" LastEditDate="2011-10-10T05:14:47.480" LastActivityDate="2011-10-10T05:14:47.480" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="7404" PostTypeId="2" ParentId="7396" CreationDate="2011-07-16T11:43:57.373" Score="3" Body="&lt;p&gt;I see your rant and I raise you a &lt;a href=&quot;https://stackoverflow.com/questions/4231382/regular-expression-pattern-not-matching-anywhere-in-string/4234491#4234491&quot;&gt;Tom Christiansen contribution&lt;/a&gt;.  :-}&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'll take a little license and interpret your question to mean, &quot;Please name some examples where regexes are natural and appropriate.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Small jobs, and in particular one-off jobs, are underappreciated, it seems to me.  Suppose that you have one file to parse (maybe you are screen scraping, or maybe you have a data dump from last year and you need to extract the sixth column if it does not start with &quot;%&quot; or &quot;#&quot;).  I use a lot of regexes for that.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another example of small jobs are URL changers, such as in the config file format for Apache (&lt;a href=&quot;http://httpd.apache.org/docs/2.0/mod/core.html#locationmatch&quot; rel=&quot;nofollow noreferrer&quot;&gt;one of many examples here&lt;/a&gt;), or Django's &lt;a href=&quot;https://docs.djangoproject.com/en/dev/topics/http/urls/&quot; rel=&quot;nofollow noreferrer&quot;&gt;urls.py&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="4731" LastEditorUserId="-1" LastEditDate="2017-05-23T12:40:09.333" LastActivityDate="2011-07-16T11:43:57.373" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7406" PostTypeId="1" CreationDate="2011-07-16T14:06:10.970" Score="2" ViewCount="132" Body="&lt;p&gt;I have a set of images (e.g. cars) and trying to perform feature detection using SIFT (actually, SIFT modification - A-SIFT, which is more robust to affine transformations) and I'm getting an extremely low results in matching even on the same models, same color and closely same view point.&lt;br&gt;&#xA;I'm barely sure, that the problem is car's surface is glossy (that's leads to huge variation of reflections on surface) and shadows &amp;amp; lighting (that's depends on location where photo was taken). Is there's image processing algorithms that can help me clean up images and/or decrease influence of that factors?&#xA;I had a quick look at CiteSeerX and Google Scholar but found nothing.&lt;/p&gt;&#xA;" OwnerUserId="2773" LastActivityDate="2013-07-25T17:57:34.460" Title="Cleaning images in order to perform feature detection" Tags="&lt;image-processing&gt;&lt;cv.computer-vision&gt;" AnswerCount="1" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="7407" PostTypeId="2" ParentId="7325" CreationDate="2011-07-16T16:04:50.663" Score="5" Body="&lt;p&gt;My vita has a list of invited talks but not of contributed talks. But when we get reviewed every three years, the review committee also wants to know about the contributed talks, in a separate section of their recent activity forms from the section on conference publications.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The trickier issue is conferences like SIGGRAPH for which the conference proceedings is a special issue of a journal. My vita has separate sections for conferences and journals, and in that case I just list it in the conference section, not the journal section. You could list it both places, but in that case both entries needs to include an explicit statement that it's the same as the other entry in the other place, so you avoid the appearance of trying to double-count.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2011-07-16T16:04:50.663" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7408" PostTypeId="1" CreationDate="2011-07-16T20:45:26.720" Score="2" ViewCount="414" Body="&lt;p&gt;&lt;a href=&quot;ftp://ftp.cs.brown.edu/pub/techreports/91/cs91-29.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Gardy and Sole&lt;/a&gt; provide a Gilbert-Varshamov lower bound and a Hamming upper bound for the Lee metric when the distance between codewords is smaller than the length of the code (captured by &lt;span class=&quot;math-container&quot;&gt;$r = \delta n$&lt;/span&gt; where &lt;span class=&quot;math-container&quot;&gt;$0 \le \delta \le 0.37$&lt;/span&gt; in the paper).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a reference which provides the corresponding lower/upper bound for ranges above this? At least is there a lower bound (preferably as powerful as the Gilbert-Varshamov bound) and a upper bound(preferably tighter than the Hamming bound) for the case &lt;span class=&quot;math-container&quot;&gt;$\frac{2 \delta n + 1}{n} = \frac{n + 1}{n}$&lt;/span&gt;, that is &lt;span class=&quot;math-container&quot;&gt;$\delta = \frac{1}{2}$&lt;/span&gt;?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;This is a smaller version of the cross-posting from &lt;a href=&quot;https://mathoverflow.net/questions/70524/lee-metric-constructive-and-asymptotic-bounds&quot;&gt;MO&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;&#xA;" OwnerUserId="5511" LastEditorUserId="1993" LastEditDate="2018-11-25T01:40:21.467" LastActivityDate="2018-11-25T01:40:21.467" Title="Lee metric, Gilbert-Varshamov and Hamming bounds for larger relative distance ranges" Tags="&lt;coding-theory&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 4.0" />
  <row Id="7409" PostTypeId="1" AcceptedAnswerId="7569" CreationDate="2011-07-16T20:45:42.303" Score="6" ViewCount="623" Body="&lt;p&gt;There are two chinese students who would like to come to Spain to pursue a PhD in TCS in our group. I know of course the funding possibilities in my country but wonder if you know any European and non-European and Chinese funding calls or opportunities for doing PhD.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An extension of this questions; is it there around any funding/grant stack exchange site or which ones do you use to track grants?&lt;/p&gt;&#xA;" OwnerUserId="5375" LastEditorUserId="5375" LastEditDate="2011-07-17T05:25:28.587" LastActivityDate="2011-07-30T22:21:19.773" Title="Funding opportunities for non-european people going to Europe for a PhD in TCS" Tags="&lt;soft-question&gt;" AnswerCount="2" CommentCount="6" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7410" PostTypeId="2" ParentId="5757" CreationDate="2011-07-16T20:57:06.677" Score="3" Body="&lt;p&gt;Bipartite Planar (and log genus) Perfect Matching is a problem where Kastelyn's algorithm for counting planar matchings (extended by Galluccio and Loebl and&#xA;parallelized by Kulkarni, Mahajan &amp;amp; Vardarajan) plays an important role even in&#xA;the search version of the problem. All relevant references can be found in the following paper:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some perfect matchings and perfect half-integral matchings in NC.&#xA;Raghav Kulkarni, Meena Mahajan and Kasturi R. Varadarajan.&#xA;Chicago Journal of Theoretical Computer Science , Volume 2008 Article 4. &lt;/p&gt;&#xA;" OwnerUserId="214" LastActivityDate="2011-07-16T20:57:06.677" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7412" PostTypeId="1" AcceptedAnswerId="7423" CreationDate="2011-07-17T04:41:59.803" Score="11" ViewCount="392" Body="&lt;p&gt;I'm looking for a space-efficient data structure that holds sets (no repetition) of wordsize elements and supports fast insertion (amortized O(1)).  By &quot;space-efficient&quot; I mean, ideally, $n + o(n)$ words to store $n$ elements.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Being a set is an important part of the question: if each element is added $\log n$ times the space used can't be $n\log n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The structure should also support listing its elements (reasonable efficiently); any sane structure should have no trouble here.  (Fast membership queries are a plus.)&lt;/p&gt;&#xA;" OwnerUserId="962" LastEditorUserId="962" LastEditDate="2011-07-17T06:03:12.910" LastActivityDate="2011-07-18T12:18:35.953" Title="Set data structure for efficient repeated insertions" Tags="&lt;ds.data-structures&gt;" AnswerCount="2" CommentCount="8" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="7413" PostTypeId="1" AcceptedAnswerId="7484" CreationDate="2011-07-17T04:42:05.863" Score="18" ViewCount="875" Body="&lt;p&gt;Working directly with time complexity or circuit lower bounds is scary. Hence, we develop tools like query complexity (or decision-tree complexity) to get a handle on lower bounds. Since each query takes at least one unit step, and computations between queries are counted as free, time complexity is as at least as high as query complexity. However, can we say anything about the separations? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am curious about work in the classical, or quantum literature, but provide examples from QC since I am more familiar.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some famous algorithms such as Grover’s search and Shor’s period finding, the time complexity is within poly-logarithmic factors of the query complexity. For others, such as the Hidden Subgroup Problem, we have &lt;a href=&quot;http://arxiv.org/abs/quant-ph/0401083&quot;&gt;polynomial query complexity&lt;/a&gt;, yet polynomial time algorithms are not known.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since a gap potentially exists between time and query complexity, it is not clear that an optimal time complexity algorithm has to have the same query complexity as the optimal query complexity algorithm.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Are there examples of trade-offs between time and query complexity?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Are there problems where the best known time complexity algorithm has a different query complexity than the best known query complexity algorithm? In other words, can we perform more queries to make the between-query operations easier? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Or is there an argument that shows that there is always a version of an asymptotically optimal query algorithm having an implementation with asymptotically best time-complexity? &lt;/p&gt;&#xA;" OwnerUserId="1037" LastActivityDate="2011-07-25T06:52:42.567" Title="Trade off between time and query complexity" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;time-complexity&gt;&lt;query-complexity&gt;" AnswerCount="3" CommentCount="2" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="7415" PostTypeId="2" ParentId="6218" CreationDate="2011-07-17T05:54:54.627" Score="2" Body="&lt;p&gt;This is not meant to be a substitute to the bounds linked to by Peter Shor. Just a quick argument showing why the Singleton bound is inaccurate for long binary codes (transporting bulk data).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If your code length is $n$, and you can afford to use $r$ of those for redundancy, then the syndrome of your code has $2^r$ possible values. If you want to correct a single bit error, then using that syndrome alone you have to be able to distinguish between $n+1$ cases: no error, a single error at position $i$, $1\le i\le n$. To be able to do that we must have the inequality $2^r\ge n+1$, or in other words we need $r&amp;gt; \log_2 n$. This is exactly what the Hamming code gives us. Note that the Singleton bound would suggest that you only need two bits of redundancy to correct a single error. In other words, the Singleton bound does not take into account the length of the code at all.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we want to continue, and correct $t$ errors, then theory becomes more interesting. By the same argument we obviously need the inequality&#xA;$$&#xD;&#xA;2^r\ge1+n+ {n\choose 2}+\cdots+{n\choose t},&#xD;&#xA;$$&#xA;because $n\choose i$ tells us the number of patterns of $i$ errorneous bits. This leads us to a bound known as the Hamming bound. If we had here $n^t$ on the r.h.s., then we would need $r\approx t\log_2 n$ redundancy bits, which is what the BCH-codes give us. As you see, this estimate was too crude, but for small values of $t$ the error here (after taking the logarithm) is not very big.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course, in many a setting the channel is not really making hard bit errors, but soft errors (=reliability figures of individual received bits). Then we can, to an extent, throw away these bounds, and use LDPC or Turbo codes. Alas, I don't know too much about that theory.&lt;/p&gt;&#xA;" OwnerUserId="5932" LastActivityDate="2011-07-17T05:54:54.627" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7416" PostTypeId="1" CreationDate="2011-07-17T06:40:52.003" Score="2" ViewCount="178" Body="&lt;p&gt;This question is a part of an online course (Mobility Data Management) that I am currently auditing. A part of the project is to implement a system that can predict user's future location. This kind of application has recently got some interests from database and mobile application developers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is the problem statement: Assume that we are given a road network G (V,E), the recent motion history (trajectory) T, and current instant velocity v of a user, a temporal duration dt, and (optional) a historical trajectory database D of other users’ movements. Our goal is to estimate user’s location after dt.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I found that the following paper has a good description about what a road network and the trajectory data is: &lt;a href=&quot;http://www.sis.pitt.edu/~xliu/papers/ceus.pdf&quot; rel=&quot;nofollow&quot;&gt;http://www.sis.pitt.edu/~xliu/papers/ceus.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does anyone has an idea on how to formulate a simple solution of this mobility awareness problem (predicting user's future location), and how to start the implementation (how you formulate the problem in an OOP way, such as: what classes are needed to represent the problem correctly). I cannot find the correct tags for this question, probably the moderator can add new tags such as: graph-networks, mobility-data, trajectory, etc.&lt;/p&gt;&#xA;" OwnerUserId="5939" LastActivityDate="2011-07-17T20:07:44.963" Title="Predict user's future location - location awareness mobile computing" Tags="&lt;graph-algorithms&gt;" AnswerCount="2" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7417" PostTypeId="2" ParentId="7416" CreationDate="2011-07-17T13:18:32.203" Score="0" Body="&lt;p&gt;Maybe you should have a look at this &lt;a href=&quot;http://www.springerlink.com/content/567gh4p141232hx0/&quot; rel=&quot;nofollow&quot;&gt;article&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Spatial regression is applied to GPS floating car measurements to build a predictive model of road system speed as a function of link type, time period, and spatial structure. &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="2773" LastActivityDate="2011-07-17T13:18:32.203" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7419" PostTypeId="2" ParentId="7416" CreationDate="2011-07-17T20:07:44.963" Score="1" Body="&lt;p&gt;My professor uses a hidden markov model based upon the previous routes that the bus has been. See &lt;a href=&quot;http://www.cs.uic.edu/~jakob/papers/transitgenie-sensys09-demo.pdf&quot; rel=&quot;nofollow&quot;&gt;http://www.cs.uic.edu/~jakob/papers/transitgenie-sensys09-demo.pdf&lt;/a&gt; for a paper on it. Although the paper doesn't go into the architecture I remember it from a lecture he gave on the application.&lt;/p&gt;&#xA;" OwnerUserId="5385" LastActivityDate="2011-07-17T20:07:44.963" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7420" PostTypeId="1" AcceptedAnswerId="7422" CreationDate="2011-07-17T22:26:01.820" Score="4" ViewCount="231" Body="&lt;p&gt;I'm not sure if I should ask this here or over at StackOverflow (sorry if this is not the right place).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm constructing a &lt;a href=&quot;http://en.wikipedia.org/wiki/Huffman_coding&quot; rel=&quot;nofollow&quot;&gt;Huffman code&lt;/a&gt; for a series of symbols with associated weights. I have a list of the code-lengths corresponding to each symbol, sorted by symbol weight (in non-decreasing order). Does it follow that this list is also sorted by code-length (in non-increasing order)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I suspect that the answer is yes (since lower-weighted symbols will generally have shorter code lengths), but I'm not sure if this is guaranteed.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I guess what I really want to know is, &quot;if a Huffman tree has two leaves &lt;em&gt;a&lt;/em&gt; and &lt;em&gt;b&lt;/em&gt;, where &lt;em&gt;a&lt;/em&gt; had a higher weight than &lt;em&gt;b&lt;/em&gt;, is &lt;em&gt;b&lt;/em&gt;'s code length always at least that of &lt;em&gt;a&lt;/em&gt;'s?&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks!&lt;/p&gt;&#xA;" OwnerUserId="5946" LastActivityDate="2011-07-18T00:28:48.570" Title="Relation between Code Length and Symbol Weight in a Huffman Code" Tags="&lt;it.information-theory&gt;" AnswerCount="1" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="7422" PostTypeId="2" ParentId="7420" CreationDate="2011-07-18T00:28:48.570" Score="6" Body="&lt;p&gt;Yes. A Huffman code is optimal. If a less frequent symbol had a shorter code length than a more frequent symbol, then you could get a code with better performance by exchanging them.&lt;/p&gt;&#xA;" OwnerUserId="1677" LastActivityDate="2011-07-18T00:28:48.570" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7423" PostTypeId="2" ParentId="7412" CreationDate="2011-07-18T06:45:53.190" Score="10" Body="&lt;p&gt;I think Raman and Rao's &lt;a href=&quot;http://www.cs.cmu.edu/afs/cs/project/aladdin/wwwlocal/compression/RR03.pdf&quot;&gt;&quot;Succinct Dynamic Dictionaries and Trees&quot;&lt;/a&gt;  meets the bounds you specify. From the abstract:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;We first give a representation of a set $S \subseteq U =&#xD;&#xA;\{0, \dots , m − 1\}, |S| = n$ that supports membership queries in $O(1)$ worst&#xA;  case time and insertions into/deletions from $S$ in $O(1)$ expected amortised time. The representation uses $B + o(B)$ bits, where $B = \lceil lg \binom{m}{n} \rceil$ is the information-theoretic minimum space to represent $S$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="43" LastActivityDate="2011-07-18T06:45:53.190" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7425" PostTypeId="1" CreationDate="2011-07-18T11:20:52.877" Score="7" ViewCount="545" Body="&lt;p&gt;Williamson with many of his co-authors had worked on generalized primal dual algorithms on edge weighted graphs considering three types of functions:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(1) super-modular functions&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(2) proper functions&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(3) uncrossable function&lt;/p&gt;&#xA;&#xA;&lt;p&gt;All of which is covered in his PhD thesis titled: &quot;On the design of approximation algorithms for a class of graph problems.&quot;, 1993. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is that where is the difficulty coming when we move from 0-1 proper to uncrossable functions?? May be some example would also help. Is there some variant of uncrossable function which is superset of proper functions in general?? Also, why do we not consider sub-modular functions?? Why types of problems would have sub-modular functions. (i know about the trivial example of modular function i.e. cut $\delta(S)$ but nothing much). So where is difficulty coming when we consider sub-modular functions or are they too easy?? This would probably let me know the inspiration to consider the super-modular functions. Also a related question is that sometimes we replace two crossable sets by uncrossing sets, like when we construct the tree corresponding to laminarity concept. Is this always possible?? (in case of every supermodular function?? or only in uncrossable functions??) Interesting references would also help.&lt;/p&gt;&#xA;" OwnerUserId="4529" LastEditorUserId="4529" LastEditDate="2011-07-18T20:33:45.093" LastActivityDate="2011-07-18T20:33:45.093" Title="Difference between Primal Dual Algorithm for Proper and Uncrossable Functions" Tags="&lt;reference-request&gt;&lt;graph-algorithms&gt;&lt;approximation-algorithms&gt;&lt;primal-dual&gt;" AnswerCount="0" CommentCount="0" FavoriteCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7426" PostTypeId="2" ParentId="7412" CreationDate="2011-07-18T12:18:35.953" Score="1" Body="&lt;p&gt;If your application can tolerate some false positives, then you should look into using a &lt;a href=&quot;http://en.wikipedia.org/wiki/Bloom_filter&quot; rel=&quot;nofollow&quot;&gt;Bloom filter&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Paraphrase of Wikipedia: A Bloom filter is a space-efficient probabilistic data structure that is used to test whether an element is a member of a set. False positives are possible, but false negatives are not. Elements can be added to the set, but not removed. The more elements that are added to the set, the larger the probability of false positives.&lt;/p&gt;&#xA;" OwnerUserId="3964" LastActivityDate="2011-07-18T12:18:35.953" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7427" PostTypeId="2" ParentId="7386" CreationDate="2011-07-18T12:27:09.710" Score="17" Body="&lt;p&gt;I do not know if you are interested in hearing more detail of my comment on your question, but here is more detail anyway.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If P=NP, every problem in NP can be solved in polynomial time and therefore in pseudo-polynomial time, which means that no problem satisfies your requirement, as Magnus noted in his answer.  So assume P≠NP in the rest of this answer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Because P≠NP, there exists a language &lt;i&gt;L&lt;/i&gt;∈NP∖P which is not NP-complete (Ladner’s theorem).  Consider the following problem:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Direct product of Partition and &lt;i&gt;L&lt;/i&gt;&lt;/strong&gt;&lt;br&gt;&#xA;&lt;em&gt;Instance&lt;/em&gt;: &lt;i&gt;m&lt;/i&gt; positive integers &lt;i&gt;a&lt;/i&gt;&lt;sub&gt;1&lt;/sub&gt;, …, &lt;i&gt;a&lt;/i&gt;&lt;sub&gt;&lt;i&gt;m&lt;/i&gt;&lt;/sub&gt; and &lt;i&gt;k&lt;/i&gt; integers &lt;i&gt;b&lt;/i&gt;&lt;sub&gt;1&lt;/sub&gt;, …, &lt;i&gt;b&lt;/i&gt;&lt;sub&gt;&lt;i&gt;k&lt;/i&gt;&lt;/sub&gt;∈{0,1}.&lt;br&gt;&#xA;&lt;em&gt;Question&lt;/em&gt;: Do both of the following hold?&lt;br&gt;&#xA;(1) The &lt;i&gt;m&lt;/i&gt; integers &lt;i&gt;a&lt;/i&gt;&lt;sub&gt;1&lt;/sub&gt;, …, &lt;i&gt;a&lt;/i&gt;&lt;sub&gt;&lt;i&gt;m&lt;/i&gt;&lt;/sub&gt; form a yes-instance of the Partition problem.&lt;br&gt;&#xA;(2) The &lt;i&gt;k&lt;/i&gt;-bit string &lt;i&gt;b&lt;/i&gt;&lt;sub&gt;1&lt;/sub&gt;…&lt;i&gt;b&lt;/i&gt;&lt;sub&gt;&lt;i&gt;k&lt;/i&gt;&lt;/sub&gt; belongs to &lt;i&gt;L&lt;/i&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Following the paper by Garey and Johnson, define the Length function as &lt;i&gt;m&lt;/i&gt;+⌈log max&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt; &lt;i&gt;a&lt;/i&gt;&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt;⌉+&lt;i&gt;k&lt;/i&gt; and the Max function as max&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt; &lt;i&gt;a&lt;/i&gt;&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is a routine to check (i) that it is NP-complete in the weak sense, (ii) that it does not have a pseudo-polynomial-time algorithm, and (iii) that it is not NP-complete in the strong sense.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Hints: (i) Membership to NP follows from the fact that both the Partition problem and &lt;i&gt;L&lt;/i&gt; are in NP.  For NP-hardness, reduce Partition to this problem.  (ii) Construct a pseudo-polynomial transformation from &lt;i&gt;L&lt;/i&gt; to this problem.  (iii) Construct a pseudo-polynomial transformation from this problem to &lt;i&gt;L&lt;/i&gt; by using the fact that Partition has a pseudo-polynomial-time algorithm.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is nothing special about the Partition problem in this construction: you can use your favorite weakly NP-complete problem with a pseudo-polynomial-time algorithm.&lt;/p&gt;&#xA;" OwnerUserId="567" LastEditorUserId="567" LastEditDate="2011-11-23T17:50:25.333" LastActivityDate="2011-11-23T17:50:25.333" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="7429" PostTypeId="1" AcceptedAnswerId="7445" CreationDate="2011-07-18T16:06:21.763" Score="12" ViewCount="288" Body="&lt;p&gt;Let $\varphi$ be a 2CNF formula and $k$ a nonnegative integer. It is proved in this &lt;a href=&quot;http://arxiv.org/abs/0801.1300&quot; rel=&quot;nofollow&quot;&gt;paper&lt;/a&gt; that the problem of deciding whether one can delete at most $k$ clauses to make $\varphi$ satisfable, is fixed-parameter tractable, where $k$ is the parameter. My question is whether there are some work that generalize this result to other binary boolean CSP? (That is, to decide whether one can delete at most $k$ constraints to make some CSP instance satisfiable, parameterized by $k$) Or any negative results?&lt;/p&gt;&#xA;" OwnerUserId="553" LastActivityDate="2011-07-19T08:58:11.743" Title="Any results on binary boolean CSP beyond the fixed-parameter tractability of almost 2SAT problem?" Tags="&lt;parameterized-complexity&gt;&lt;csp&gt;&lt;fixed-parameter-tractable&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7430" PostTypeId="1" AcceptedAnswerId="7446" CreationDate="2011-07-18T16:47:20.980" Score="6" ViewCount="291" Body="&lt;p&gt;Given a collection of thousands of points in 3D, I need to get the list of neighbours for each particle that fall inside some cutoff value (in terms of euclidean distance), and if possible, sorted from nearest fo farthest.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Which is the fastest parallel algorithm for this purpose? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;PS: I also crossposted this &lt;a href=&quot;https://math.stackexchange.com/questions/52202/best-algorithm-for-calculating-lists-of-neighbours&quot;&gt;in math exchange&lt;/a&gt; and SO&lt;/p&gt;&#xA;" OwnerUserId="5375" LastEditorUserId="-1" LastEditDate="2017-04-13T12:19:19.363" LastActivityDate="2011-07-19T13:17:07.243" Title="Best algorithm for calculating lists of neighbours" Tags="&lt;graph-algorithms&gt;&lt;big-list&gt;&lt;dc.parallel-comp&gt;&lt;near-neighbors&gt;" AnswerCount="3" CommentCount="7" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="7431" PostTypeId="1" CreationDate="2011-07-18T17:35:34.703" Score="5" ViewCount="495" Body="&lt;p&gt;Given a set of pairs of words $P = \{(\alpha_1, \beta_1), \dots, (\alpha_n, \beta_n)\} \subseteq \Sigma^*\times\Sigma^*$, the &lt;em&gt;Post Correspondence Problem&lt;/em&gt; (PCP) is to decide wether or not there are indices $i_1, \dots, i_k \in \{1\dots n\}$ such that $\alpha_{i_1}\cdot \dots \cdot \alpha_{i_k} = \beta_{i_1}\cdot \dots \cdot \beta_{i_k}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is well known that PCP is not computable in any Turing-equivalent machine model. Usually, this fact is proven by reducing the Halting Problem (HP) to PCP, i.e. describing how to create a PCP instance $\Pi$ for an arbitrary Turing machine $M$ and an input $x$ such that $\Pi$ has a solution if and only if $M$ terminates on $x$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Arguably, undecidability of PCP is more useful than of HP because it is removed from the notion of computation itself and therefore might be understood without having to read up on Turing machines (or equivalent models) first. Also, it is a more natural choice for many reduction proofs for not computation-related problems, e.g. in formal language theory.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It seems only fair to ask: &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there a proof for undecidability of PCP that does not employ&#xA;  reduction to HP (or similar problems)?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Note that I want to exclude chains of reductions that end up at HP in the end. Having such an independent proof might open up new ways for students and laymen to understand the underlying issues. Failing that, are there reasons for that lack? Do we &lt;em&gt;need&lt;/em&gt; the kind of self-applicability we employ when proving HP not to be computable?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;&lt;strong&gt;PS:&lt;/strong&gt; I was unsure wether or not this question should go here or rather onto math.SE. As the proper place might depend on the level of answers, I went with the specialist community.&lt;/em&gt;&lt;/p&gt;&#xA;" OwnerUserId="1546" LastEditorUserId="567" LastEditDate="2011-07-18T19:03:46.123" LastActivityDate="2011-07-18T19:03:46.123" Title="Prove Post Correspondence Problem Non-Recursive Without Reduction" Tags="&lt;reference-request&gt;&lt;computability&gt;&lt;post-correspondence&gt;" AnswerCount="0" CommentCount="7" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7433" PostTypeId="1" CreationDate="2011-07-18T16:25:06.907" Score="2" ViewCount="1500" Body="&lt;p&gt;Quoted from &lt;a href=&quot;http://en.wikipedia.org/wiki/Task_parallelism&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/Task_parallelism&lt;/a&gt;:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Task parallelism&lt;/strong&gt; (also known as function parallelism and control&#xA;  parallelism) is a form of parallelization of computer code across&#xA;  multiple processors in parallel computing environments. Task&#xA;  parallelism focuses on distributing execution processes (threads)&#xA;  across different parallel computing nodes. It contrasts to &lt;strong&gt;data&#xA;  parallelism&lt;/strong&gt; as another form of parallelism.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;I was wondering if there is some correspondence between  Flynn's&#xA;taxonomy (SISD, SIMD, MISD and MIMD), and &quot;task parallelism and data parallelism&quot;? For example,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;does task parallelism mean multiple-instruction in Flynn's taxonomy,&#xA;so one can say &quot;task parallelism = MISD+MIMD&quot;?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;does data parallelism mean multiple-data in Flynn's taxonomy, so one&#xA;can say &quot;data parallelism = SIMD+MIMD&quot;?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;If there is no exact correspondence between the two classification&#xA;methods, how shall one understand their differences and relations?&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Thanks and regards!&lt;/p&gt;&#xA;" OwnerUserId="1003" OwnerDisplayName="Tim" LastActivityDate="2011-08-18T13:18:54.603" Title="Flynn's taxonomy, and &quot;task parallelism and data parallelism&quot;" Tags="&lt;dc.parallel-comp&gt;" AnswerCount="2" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7434" PostTypeId="2" ParentId="7433" CreationDate="2011-07-18T17:00:49.387" Score="1" Body="&lt;p&gt;Task parallelism and data parallelism are different approaches to handling MIMD.  Thus Flynn's taxonomy is irrelevant.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The difference is simple.  In data parallelism you hand out data to different CPUs that are doing the same thing with their data.  In task parallelism you hand tasks out to different machines and send data where it needs to go.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course in the real world you don't do one or the other, you do &lt;em&gt;both&lt;/em&gt;.  For instance you run a &lt;a href=&quot;http://en.wikipedia.org/wiki/MapReduce&quot; rel=&quot;nofollow&quot;&gt;MapReduce&lt;/a&gt;.  In your map, sort and reduce phases there is a lot of data parallelism as many different nodes are doing the same thing with the data that they are receiving.  However there is also task parallelism because you might have a central supervisor, nodes doing mapping, nodes doing sorting, and nodes who are ready to reduce, all at the same time.&lt;/p&gt;&#xA;" OwnerUserId="5959" OwnerDisplayName="btilly" LastActivityDate="2011-07-18T17:00:49.387" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="7435" PostTypeId="1" CreationDate="2011-07-18T19:03:57.917" Score="-2" ViewCount="469" Body="&lt;p&gt;Given n items (20% type A, 80% type B), I'm looking for a way to distribute them randomly into g groups of equal size. It must be possible for one group to end up with As in the majority but it must not be inevitable. I.e. If I was using binomial distribution, it would be extremely unlikely (with large values of n) to get a group in which the proportion of As was far from 20%. With uniform distribution between 0 and n/g, the first group to which As were allocated would almost always get many more As than the other groups (because the mean of the distribution function would be 50% rather than 20%). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I don't know much about stats and probability so this may be a stupid question but I suppose what I am asking for is a distribution function whose mean is 0.2 but which is likely to generate numbers between 0 and 0.2 and numbers between 0.2 and 1 with equal probability as well.&lt;/p&gt;&#xA;" OwnerUserId="5960" LastActivityDate="2011-07-19T04:42:45.933" Title="Distributing items randomly into groups of equal size" Tags="&lt;pr.probability&gt;&lt;st.statistics&gt;" AnswerCount="1" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="7436" PostTypeId="2" ParentId="1535" CreationDate="2011-07-18T19:40:51.777" Score="6" Body="&lt;p&gt;Bipartite Planar Perfect Matching is known to be in $\mathsf{UL}$ (though not in $\mathsf{UL} \cap \mathsf{coUL}$). Since Planar Reachability reduces to it, it is $\mathsf{L}$-hard.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Ref: Samir Datta, Raghav Kulkarni, Raghunath Tewari: Perfect Matching in Bipartite Planar Graphs is in UL. Electronic Colloquium on Computational Complexity (ECCC) &lt;a href=&quot;http://eccc.hpi-web.de/report/2010/201/&quot; rel=&quot;nofollow&quot;&gt;17: 201&lt;/a&gt; (2010)&lt;/p&gt;&#xA;" OwnerUserId="214" LastEditorUserId="109" LastEditDate="2016-05-01T10:57:20.947" LastActivityDate="2016-05-01T10:57:20.947" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7437" PostTypeId="2" ParentId="3425" CreationDate="2011-07-18T20:00:54.050" Score="10" Body="&lt;p&gt;I guess Single-source Single-sink Planar DAG (SSPD) reachability has logspace algorithm with a modest running time ($O(n^2)$?). I am not so sure about&#xA;Single-source Multiple-sink Planar DAG Reachability (SMPD) algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Ref: Eric Allender, David A. Mix Barrington, Tanmoy Chakraborty, Samir Datta, Sambuddha Roy: Planar and Grid Graph Reachability Problems. Theory Comput. Syst. 45(4): 675-723 (2009)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, a new logspace algorithm for planarity testing and embedding runs in modestly polynomial time (modulo undirected reachability, of course)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Ref: Samir Datta, Gautam Prakriya: Planarity Testing Revisited CoRR abs/1101.2637: (2011)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, here is a simple toy problem which has a logspace algo with a modest&#xA;running time (modulo undirected reachability) viz. Outerplanar Isomorphism.&lt;/p&gt;&#xA;" OwnerUserId="214" LastActivityDate="2011-07-18T20:00:54.050" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7438" PostTypeId="1" AcceptedAnswerId="7439" CreationDate="2011-07-18T23:36:14.483" Score="2" ViewCount="180" Body="&lt;p&gt;Modified in accordance with Tsuyoshi's comment which seems to generalize.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $K_{m}$ be a complete graph on $m$ vertices. Is there a way to partition the graphs in to sets of graphs that have no cliques of size $k$ for some $k \in \mathbb{Z}_{+}$? What is the minimum number of partitions would I need to make?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;How about the case when $K_{n}$ is replaced by a bipartite $K_{m,n}$ where one seeks a partition such that there is no $K_{k,l}$ for some $k,l \in \mathbb{Z}_{+}$? What is the minimum number of partitions would I need to make?&lt;/p&gt;&#xA;" OwnerUserId="5511" LastEditorUserId="5511" LastEditDate="2011-07-19T01:04:58.143" LastActivityDate="2011-07-19T01:04:58.143" Title="Decomposing complete graphs into clique-free graphs of certain size" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;graph-algorithms&gt;&lt;clique&gt;&lt;ramsey-theory&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7439" PostTypeId="2" ParentId="7438" CreationDate="2011-07-19T00:13:47.087" Score="8" Body="&lt;p&gt;This question is about Ramsey theory.  In the case of the complete graphs, you can take &lt;i&gt;a&lt;/i&gt;=1 by considering partitioning into only two sets.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The &lt;a href=&quot;http://mathworld.wolfram.com/RamseyNumber.html&quot;&gt;Ramsey number&lt;/a&gt; &lt;i&gt;R&lt;/i&gt;(&lt;i&gt;k&lt;/i&gt;,&lt;i&gt;k&lt;/i&gt;) is the minimum integer &lt;i&gt;m&lt;/i&gt; such that however you partition the edges of the complete graph K&lt;sub&gt;&lt;i&gt;m&lt;/i&gt;&lt;/sub&gt; into two sets, at least one of the sets contains K&lt;sub&gt;&lt;i&gt;k&lt;/i&gt;&lt;/sub&gt; as a subgraph.  This immediately implies that if &lt;i&gt;m&lt;/i&gt; &amp;lt; &lt;i&gt;R&lt;/i&gt;(&lt;i&gt;k&lt;/i&gt;,&lt;i&gt;k&lt;/i&gt;), then the edges of the complete graph K&lt;sub&gt;&lt;i&gt;m&lt;/i&gt;&lt;/sub&gt; can be partitioned into two sets so that neither set contains K&lt;sub&gt;&lt;i&gt;k&lt;/i&gt;&lt;/sub&gt; as a subgraph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Erdős proved that &lt;i&gt;R&lt;/i&gt;(&lt;i&gt;k&lt;/i&gt;,&lt;i&gt;k&lt;/i&gt;) grows exponentially: &lt;i&gt;R&lt;/i&gt;(&lt;i&gt;k&lt;/i&gt;,&lt;i&gt;k&lt;/i&gt;) &amp;gt; &lt;i&gt;k&lt;/i&gt;⋅2&lt;sup&gt;&lt;i&gt;k&lt;/i&gt;/2&lt;/sup&gt;/(e√2).  This means that if &lt;i&gt;m&lt;/i&gt; is sufficiently large, then &lt;i&gt;m&lt;/i&gt; &amp;lt; &lt;i&gt;R&lt;/i&gt;(&lt;i&gt;k&lt;/i&gt;,&lt;i&gt;k&lt;/i&gt;) for &lt;i&gt;k&lt;/i&gt; = ⌈2 log&lt;sub&gt;2&lt;/sub&gt;&lt;i&gt;m&lt;/i&gt;⌉ = O(log &lt;i&gt;m&lt;/i&gt;).  In other words, you can take &lt;i&gt;a&lt;/i&gt;=1 with two sets.&lt;/p&gt;&#xA;" OwnerUserId="567" LastActivityDate="2011-07-19T00:13:47.087" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="7441" PostTypeId="2" ParentId="7430" CreationDate="2011-07-19T01:18:46.270" Score="2" Body="&lt;p&gt;I would personally sort the space along one axis, cut it into overlapping strips.  Sort each strip along a second axis, cut it into overlapping strips.  Then sort those strips along a third axis, cut it into overlapping strips.  Then compare each point in the &quot;on my side of the median of all of the overlaps&quot; to all points in the final box you drew, and sort those.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is likely to be efficient because you never compute pairwise distances unless the points are, in fact, relatively close to each other.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is not an explicitly parallel algorithm, but there are a lot of opportunities for parallelism at various points in this algorithm.&lt;/p&gt;&#xA;" OwnerUserId="5959" LastActivityDate="2011-07-19T01:18:46.270" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7442" PostTypeId="2" ParentId="7430" CreationDate="2011-07-19T02:48:40.223" Score="2" Body="&lt;p&gt;Something using &lt;a href=&quot;http://en.wikipedia.org/wiki/Octree&quot; rel=&quot;nofollow&quot;&gt;octrees&lt;/a&gt;, I suspect.  If you break space up, then you can farm off subtrees to separate processors.&lt;/p&gt;&#xA;" OwnerUserId="730" LastActivityDate="2011-07-19T02:48:40.223" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7443" PostTypeId="2" ParentId="7435" CreationDate="2011-07-19T04:42:45.933" Score="1" Body="&lt;p&gt;&lt;em&gt;Given n items (20% type A, 80% type B), I'm looking for a way to distribute them randomly into g groups of equal size.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To a statistician there is an unambiguous meaning to this statement.  Which is to take &lt;code&gt;n&lt;/code&gt; items, mark 20% of them as being of type A, shuffle them, then pull off groups of size &lt;code&gt;n/g&lt;/code&gt;.  For large &lt;code&gt;n&lt;/code&gt; the resulting distribution will be very close to the binomial one.  But it won't exactly be the binomial distribution.  In fact there is a persistent bias towards being even more even than the binomial distribution, because when one thing of type A goes into a group it fills the group up a bit and makes it less likely that the next thing will go into that group.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is straightforward to write code to create a list of things, perform a shuffle, and then pull out the groups.  This will run in time &lt;code&gt;O(n)&lt;/code&gt;.&lt;/p&gt;&#xA;" OwnerUserId="5959" LastActivityDate="2011-07-19T04:42:45.933" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7444" PostTypeId="2" ParentId="3425" CreationDate="2011-07-19T07:02:24.553" Score="3" Body="&lt;p&gt;The &lt;a href=&quot;http://www.google.com/search?q=deutsch%20schorr%20waite%20algorithm&quot; rel=&quot;nofollow&quot;&gt;Deutsch-Schorr-Waite&lt;/a&gt; algorithm is an $O(n)$ graph marking algorithm, variants of which form the heart of many garbage collector implementations. The problem is to mark the nodes of a graph reachable from a root node. The naive recursive traversal needs linear space to hold the stack of visited nodes, but the DSW algorithm encodes that stack by a cunning link reversal trick -- when it follows an edge, it changes the edge it followed to reverse the source and target, so that it can encode the stack in the graph itself. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;IIUC, I think this satisfies your $NC^1$ requirement because additional processors don't help you traverse the graph if if it happens to be organized as a linked list. (This is, in fact, a big PITA for practical garbage collection algorithms!) &lt;/p&gt;&#xA;" OwnerUserId="657" LastActivityDate="2011-07-19T07:02:24.553" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7445" PostTypeId="2" ParentId="7429" CreationDate="2011-07-19T08:58:11.743" Score="8" Body="&lt;p&gt;To my knowledge classifying this CSP variant is wide open. You can express a few fixed-parameter tractable problems in the setting (e.g. d-Hitting Set is roughly the case where you have positive clauses of size at most d plus negative assignments; roughly means that the CSP problem is slightly more general but easily reduces back to d-HS, or at least weighted d-HS). Even for constraints that you can implement via existentially quantified 2-CNF formulas it is open what the complexity is. The problem is that when implementing constraints in this way, while they are 2-CNF, you pay only one to delete the whole thing. Hence even simple constraints which are just the conjunction of two others can be hard (I may have example + reference later).&lt;/p&gt;&#xA;" OwnerUserId="5063" LastActivityDate="2011-07-19T08:58:11.743" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7446" PostTypeId="2" ParentId="7430" CreationDate="2011-07-19T13:17:07.243" Score="10" Body="&lt;p&gt;This is the well-studied problem of &lt;a href=&quot;http://en.wikipedia.org/wiki/Nearest_neighbour_search&quot;&gt;Nearest Neighbour Search&lt;/a&gt;.  There is not one 'best solution' to the problem---you'll want to choose trade offs based on the input and requirements.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Do you need the creation of the data structure to be parallel?  Or just the queries?  Depending on how many thousands of points you're talking about, if your set of points is static it might not be impractical to do something naive like:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;For each point $x$, construct a list of all other points, sorted by distance from $x$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;This can be done in $O(n^2\log n)$ time and $O(n^2)$ space, which is not that bad if you only need to run it once for a set of several thousand points.  It will give you constant or logarithmic query time for pretty much anything you'd want to do.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you need something smarter that requires less space or less time, I'd recommend reading the Wikipedia article on &lt;a href=&quot;http://en.wikipedia.org/wiki/Nearest_neighbour_search&quot;&gt;Nearest Neighbour Search&lt;/a&gt; and perhaps refining your question, telling us &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;how many times you'll need to build the structure from scratch&lt;/li&gt;&#xA;&lt;li&gt;whether or not it needs to be dynamic&lt;/li&gt;&#xA;&lt;li&gt;what exactly needs to be parallelized&lt;/li&gt;&#xA;&lt;li&gt;whether your 'cutoff value' for Euclidean distance is fixed, or will vary from query to query&lt;/li&gt;&#xA;&lt;li&gt;if possible, a tighter estimate on the number of points.  When somebody says 'thousands' sometimes they mean 3,000 and sometimes they mean 300,000.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="196" LastActivityDate="2011-07-19T13:17:07.243" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7447" PostTypeId="1" AcceptedAnswerId="7449" CreationDate="2011-07-19T17:29:37.100" Score="12" ViewCount="831" Body="&lt;p&gt;$AC^0$ is the class of constant-depth polynomial-size circuits with NOT gates and  unbounded fan-in AND and OR gates, where inputs and gates also have unbounded fanout.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now consider a new class, call it $AC^0_{bf}$ which is like $AC^0$ but for which inputs and gates have fanout at most $O(1)$.  This class is clearly in $AC^0$.  In fact, it is strictly contained in $AC^0$, as noted &lt;a href=&quot;https://cstheory.stackexchange.com/questions/1824/is-ac0-with-bounded-fanout-weaker-than-ac0&quot;&gt;here&lt;/a&gt;.  Therefore, PARITY is obviously not in $AC^0_{bf}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a proof of PARITY $\notin AC^0_{bf}$ which does &lt;em&gt;not&lt;/em&gt; also go through for $AC^0$? In other words, is there a proof which does not use powerful techniques like the switching lemma or the Razborov/Smolensky method?&lt;/p&gt;&#xA;" OwnerUserId="1040" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2016-06-23T12:24:52.733" Title="PARITY $\notin$ $AC^0$ with bounded fanout: easy proof?" Tags="&lt;cc.complexity-theory&gt;&lt;circuit-complexity&gt;" AnswerCount="2" CommentCount="5" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="7449" PostTypeId="2" ParentId="7447" CreationDate="2011-07-19T18:00:51.947" Score="17" Body="&lt;p&gt;I might miss something, but isn't $AC^0_{bf}$ the same as a Formula? Since every input bit can have an effect on at most a bounded number of gates, we can simply suppose that every gate has only one output (after possibly duplicating a few things) and we can push down not gates as well. We know that the formula size of parity is n^2 (see Troy J. Lee, &quot;&lt;a href=&quot;http://www.research.rutgers.edu/~troyjlee/parity.pdf&quot; rel=&quot;nofollow&quot;&gt;The formula size of PARITY&lt;/a&gt;&quot;, 2007) and since on every level of our circuit we can only have O(n) gates, this shows that parity is not in $AC^0_{bf}$.&lt;/p&gt;&#xA;" OwnerUserId="419" LastEditorUserId="186" LastEditDate="2016-06-23T12:24:52.733" LastActivityDate="2016-06-23T12:24:52.733" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="7451" PostTypeId="1" CreationDate="2011-07-20T01:42:23.070" Score="3" ViewCount="326" Body="&lt;p&gt;Is it easy (computationally) to take square roots of matrices over Z/nZ, if you know the factorization of n?  More specifically, suppose I generate a random matrix M, and square it.  Can a probabilistic polynomial time algorithm output M with reasonable probability?  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If the matrix is diagonalizable, then does diagonalizing and taking the square roots work?  What if the matrix isn't diagonalizable, or if the diagonal has entries which aren't squares? What does this imply about square roots of the matrix?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edits:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also at:  &lt;a href=&quot;https://math.stackexchange.com/questions/52474/taking-square-roots-of-matrices-over-z-nz&quot;&gt;https://math.stackexchange.com/questions/52474/taking-square-roots-of-matrices-over-z-nz&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Clearly the problem is hard in the worst case, since the identity matrix has exponentially many square roots.  So I guess the question is what to do in the average case.&lt;/p&gt;&#xA;" OwnerUserId="5828" LastEditorUserId="-1" LastEditDate="2017-04-13T12:19:19.363" LastActivityDate="2011-07-24T01:30:08.577" Title="Taking Square Roots of Matrices over Z/nZ" Tags="&lt;ds.algorithms&gt;&lt;linear-algebra&gt;&lt;randomized-algorithms&gt;" AnswerCount="0" CommentCount="4" FavoriteCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7452" PostTypeId="1" AcceptedAnswerId="7586" CreationDate="2011-07-20T06:28:56.137" Score="4" ViewCount="106" Body="&lt;p&gt;Suppose $m = m_1 \| m_2$ (concatenation, with $|m_1| = |m_2|$) and $h(m) = s$ (hash). Is it possible to recover the whole preimage $m$ in feasible time with non-negligible probability given $m_1$ (or $m_2$) and $s$? Is there such a guarantee that this can't be done theoretically or provided by concrete schemes such as SHA1/SHA256/SHA512, etc.?&lt;/p&gt;&#xA;" OwnerUserId="4471" LastActivityDate="2011-08-02T03:15:14.720" Title="Recovery of preimage of hash function given part of it" Tags="&lt;cr.crypto-security&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7453" PostTypeId="1" AcceptedAnswerId="7478" CreationDate="2011-07-20T07:27:04.550" Score="-1" ViewCount="261" Body="&lt;p&gt;I have a simple technical question on multiplication of finite bit words. Say the number of bits of words that need to be multiplied is $O(\log{M})$ and say an hypothetical algorithm uses $O(\log{M})$ intermediate words of size $O(\log\log{M})$ bits (doing simple addition and modulo-$2$ operations for $O(\log{M})$ times on these $O(\log\log{M})$ bit words) and producing the final output of $O(\log{M})$ bits, would that be an $O(\log{M})$ bit/time complexity or an $O(\log{M}\log\log{M})$ bit/time complexity algorithm? I looked on literature and I could not identify the exact notion/relation bit time and bit space complexity of such algorithms. Atleast it was not clear to me.&lt;/p&gt;&#xA;" OwnerUserId="5511" LastActivityDate="2011-07-22T05:53:47.863" Title="Data representation and bit/time complexity" Tags="&lt;cc.complexity-theory&gt;&lt;terminology&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7454" PostTypeId="1" AcceptedAnswerId="7460" CreationDate="2011-07-20T10:46:45.330" Score="2" ViewCount="803" Body="&lt;p&gt;Martin Fowler in his blog post on &quot;&lt;a href=&quot;http://martinfowler.com/articles/lmax.html&quot; rel=&quot;nofollow&quot;&gt;The LMAX Architecture&lt;/a&gt;&quot; tried to describe the component called Disruptor as a multicast graph of queues&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;At a crude level you can think of a Disruptor as a multicast graph of&#xA;  queues where producers put objects on it that are sent all the&#xA;  consumers for parallel consumption through separate downstream&#xA;  queues...&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I'm having difficulties understanding the nature of a multicast graph&lt;/p&gt;&#xA;" OwnerUserId="5307" LastEditorUserId="5307" LastEditDate="2011-07-20T14:43:00.130" LastActivityDate="2011-07-21T04:21:20.680" Title="What is a multicast graph?" Tags="&lt;graph-theory&gt;&lt;queueing-theory&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7456" PostTypeId="1" CreationDate="2011-07-20T16:56:51.440" Score="17" ViewCount="682" Body="&lt;p&gt;Recently I was in an ACM supported conference.&#xA;During the banquet, the conference organizers told us about the future and past of the conference. They told us that during the 2010 edition of the conference there was a loss of 5000$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;They showed us the budget of the previous conference where we could see that there were 8000$ (10% of the budget if I remember correctly) given to ACM. Maybe because I am not yet fully in the field (I am starting my PhD in september 2011), I was the only one to ask what was this money given for. The answer I got was really disappointing, apparently the main contributions of the ACM was to print the proceedings and to give advice so the next year there would not be such a loss (apparently the advice given was to raise the entry fees). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I was really surprised, since in order to read the proceedings your university has to pay a subscription to ACM (correct me if I am wrong), I thought ACM (is it the same for IEEE?) had to pay to support the conference.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So my questions are:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;What does ACM really bring to a conference?&lt;/li&gt;&#xA;&lt;li&gt;Have you heard of other conferences where this is the case?&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Related Blog posts:&lt;/em&gt;&#xA;&lt;a href=&quot;https://freedom-to-tinker.com/blog/dwallach/tinkering-ieee-and-acm-copyright-policies&quot;&gt;Freedom to Thinker&lt;/a&gt; and &lt;a href=&quot;http://www.crypto.com/blog/copywrongs&quot;&gt;Matt Blaze's post&lt;/a&gt;, apparently the question was already asked.&lt;/p&gt;&#xA;" OwnerUserId="4873" LastEditorUserId="4873" LastEditDate="2011-10-24T15:12:10.200" LastActivityDate="2011-12-04T01:38:35.700" Title="Importance of ACM/IEEE in TCS conference" Tags="&lt;soft-question&gt;&lt;conferences&gt;" AnswerCount="2" CommentCount="7" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7457" PostTypeId="1" AcceptedAnswerId="7461" CreationDate="2011-07-20T18:22:15.750" Score="-2" ViewCount="282" Body="&lt;p&gt;The cstheory website is a QA site and is not appropriate place for discussion so I want to know if there is a place for discussing issues related to the theoretical computer science community. I know that these issues are sometimes discussed on theory blogs (like the &lt;a href=&quot;http://blog.computationalcomplexity.org/&quot; rel=&quot;nofollow&quot;&gt;computational complexity&lt;/a&gt; blog) and also some researchers post their ideas on their own blog or twitter, but is there a more general site/forum to discuss the issues related to theoretical computer science community (e.g. conferences)?&lt;/p&gt;&#xA;" OwnerUserId="4873" LastEditorUserId="1800" LastEditDate="2011-07-21T05:24:36.170" LastActivityDate="2011-07-21T05:24:36.170" Title="Where can we discuss issues related to theoretical computer science community?" Tags="&lt;soft-question&gt;" AnswerCount="1" CommentCount="8" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7458" PostTypeId="2" ParentId="7447" CreationDate="2011-07-20T18:45:42.447" Score="4" Body="&lt;p&gt;@Alessandro: I am sorry if I misunderstood your question. But my first impression is that one can transform any depth-d &lt;b&gt;circuit&lt;/b&gt; of size $S$ into a depth-d &lt;b&gt;formula&lt;/b&gt; (fanout 1) of size about $S^d$: just go layer-by-layer starting from the bottom (next to the inputs) layer, and take multiple copies of the same gate; at each layer the number of gates can increase by at most the factor of $S$. This means that any lower bound $S$ for $AC^0$ &lt;b&gt;formulas&lt;/b&gt; implies a lower bound $S^{1/d}$ for $AC^0$ &lt;b&gt;circuits&lt;/b&gt;. So, it is hard to expect easier lower bound proofs for $AC^0$ formulas: in the world of $AC^0$, $d$ is a constant.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;B.t.w. your language $X$ (strings with exactly one $1$) has a trivial DNF (depth-2 &lt;b&gt;formula&lt;/b&gt;) with $n$ monomials. &lt;/p&gt;&#xA;" OwnerUserId="5788" LastActivityDate="2011-07-20T18:45:42.447" CommentCount="15" ContentLicense="CC BY-SA 3.0" />
  <row Id="7459" PostTypeId="1" CreationDate="2011-07-20T21:06:15.847" Score="32" ViewCount="1146" Body="&lt;p&gt;&lt;strong&gt;Disclaimer:&lt;/strong&gt; I can only vouch for my research fields, namely formal methods, semantics and programming language theory. The situation is possibly different in other parts of the discipline.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It seems that TCS has become rather conference-oriented. Researchers aim at publishing in the next conference. Sometimes a journal version appears. Sometimes it doesn't. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In other disciplines (biology, mathematics, and most others I guess) this is unheard of. The effort put into writing the conference papers is a lot lesser, but in turn, the conference papers count a lot less. The &quot;real deal&quot; is the journal publication.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Arguing whether this situation is good or bad could result in a flame war, and doesn't have a precise answer. Instead, let's try a more factual question:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;How did we become so conference-oriented? How did conference papers gain so much weight? &lt;/p&gt;&#xA;" OwnerUserId="142" LastActivityDate="2013-01-24T13:53:02.953" Title="How did TCS become conference-oriented rather than journal-oriented?" Tags="&lt;soft-question&gt;&lt;conferences&gt;" AnswerCount="2" CommentCount="12" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="7460" PostTypeId="2" ParentId="7454" CreationDate="2011-07-21T04:21:20.680" Score="7" Body="&lt;p&gt;Here is a technical paper on the LMAX Architecture (I just followed a link found on the blog you linked here): &lt;a href=&quot;http://disruptor.googlecode.com/files/Disruptor-1.0.pdf&quot; rel=&quot;noreferrer&quot;&gt;http://disruptor.googlecode.com/files/Disruptor-1.0.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An example of a multicast graph is on page 9 of the PDF. There are also examples of multicast graphs (compared to various other options) here: &lt;a href=&quot;http://en.wikipedia.org/wiki/Multicast&quot; rel=&quot;noreferrer&quot;&gt;http://en.wikipedia.org/wiki/Multicast&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="108" LastActivityDate="2011-07-21T04:21:20.680" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7461" PostTypeId="2" ParentId="7457" CreationDate="2011-07-21T05:14:40.027" Score="6" Body="&lt;p&gt;I didn't see the original question, but the new cstheory blog might be a good place, once we have threaded comments &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2011-07-21T05:14:40.027" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="7463" PostTypeId="2" ParentId="7186" CreationDate="2011-07-21T12:00:43.533" Score="3" Body="&lt;p&gt;De Bruijn sequences are polytime computable. You can find a discussion of algorithms for generating them in a question I asked at &lt;a href=&quot;https://stackoverflow.com/questions/4008603/how-to-compute-de-bruijn-sequences-for-non-power-of-two-sized-alphabets&quot;&gt;StackOverflow&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="1902" LastEditorUserId="-1" LastEditDate="2017-05-23T12:40:09.333" LastActivityDate="2011-07-21T12:00:43.533" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7464" PostTypeId="1" CreationDate="2011-07-21T12:02:02.193" Score="8" ViewCount="408" Body="&lt;p&gt;Consider a regex language with the greedy quantifier $*$, the nongreedy quantifier ${*}?$, ordered alternation, and character classes. (This is essentially a sublanguage of PCRE without backreferences, look-around assertions, or some of the other fancier bits.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A &lt;em&gt;match&lt;/em&gt; $[a_0,a_1)$ for for a regex $R$ on a string $s = s_0\dots s_n$ is a half-open interval over $\mathbb{N}$ such that $s_{a_0}\dots s_{a_1-1}$ is accepted by $R$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We give a recursive definition of what makes one match &lt;em&gt;better&lt;/em&gt; than another. A match $a = [a_0,a_1)$ for regex $R$ on a string is &lt;em&gt;better&lt;/em&gt; than another match $b = [b_0,b_1)$ if $a_0 &amp;lt; b_0$ or, if $a_0 = b_0$ and:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;If $R$ is a character class: Character classes have unique matches, so all&#xA;matches at the same position for $R$ are equal. Hence this case is impossible.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;If $R = ST$:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The leading portion of $a$ is a better match for $S$ than the leading&#xA;portion of $b$, or&lt;/li&gt;&#xA;&lt;li&gt;The leading portions of $a$ and $b$ are equally good matches for $S$, and&#xA;the trailing portion of $a$ is a better match for $T$ than the trailing&#xA;portion of $b$.&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;If $R = S|T$: &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$a$ is a match for $S$ and $b$ is not, or&lt;/li&gt;&#xA;&lt;li&gt;$a$ and $b$ are equally good matches for $S$ and $a$ is a better match for $S$ than $b$ is, or&lt;/li&gt;&#xA;&lt;li&gt;$a$ and $b$ are not matches for $S$ but are matches for $T$, and $a$ is a&#xA;better match for $T$ than $b$ is.&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;All other syntactic forms reduce to the above three for purposes of match&#xA;priority:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$R = S{*}$: $R \equiv S^0|S^1|\dots$&lt;/li&gt;&#xA;&lt;li&gt;$R = S{*}?$: $R \equiv \dots|S^1|S^0$&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;These infinitary patterns are used for purposes of match priority only---they are not part of the match language under consideration.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The &quot;better&quot; relation is a weak linear order over all possible matches for a&#xA;given pattern.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Call two regexes $S,T$ &lt;em&gt;match-equivalent&lt;/em&gt; if, for every finite input string, the set of pairwise disjoint best matches for $S$ equals the set of pairwise disjoint best matches for $T$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Q:&lt;/strong&gt; Is it the case that for every regex $S$ containing the nongreedy quantifier ${*}?$ there is a match-equivalent regex $T$ which contains no nongreedy quantifiers?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit:&lt;/strong&gt; This is a complete rewrite of the question to clarify what was being&#xA;asked.&lt;/p&gt;&#xA;" OwnerUserId="1902" LastEditorUserId="1902" LastEditDate="2011-07-28T14:31:07.960" LastActivityDate="2011-08-02T21:18:47.380" Title="Can regexes containing nongreedy (reluctant) quantifiers be rewritten not to use them?" Tags="&lt;fl.formal-languages&gt;&lt;regular-expressions&gt;" AnswerCount="1" CommentCount="17" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7465" PostTypeId="2" ParentId="7464" CreationDate="2011-07-21T13:31:00.713" Score="3" Body="&lt;p&gt;&lt;em&gt;This answer is based on the assumption that equivalence of two regexes is defined as they recognize the same language.  It does not answer the current question.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;You have a common misunderstanding that reluctant quantifiers change the set of strings a regular expression matches.  It does not, and it only changes which options are tried first.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, if you perform a regex match &lt;code&gt;'aaaa' =~ /a+/&lt;/code&gt; in Perl, it finds the &lt;em&gt;first match&lt;/em&gt; in the string &lt;code&gt;aaaa&lt;/code&gt;, and remembers which substring it matched in a special variable.  Even if there are more than one substring of &lt;code&gt;aaaa&lt;/code&gt; which matches the given regex, the matches other than the first match are ignored.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Whether quantifiers are greedy or reluctant affects what the &lt;em&gt;first match&lt;/em&gt; is among many matches, but the set of matches does not change.  In this sense, the set of strings which a regex matches is unchanged no matter whether you use usual greedy quantifiers or reluctant quantifiers.&lt;/p&gt;&#xA;" OwnerUserId="567" LastEditorUserId="567" LastEditDate="2011-07-21T14:53:39.240" LastActivityDate="2011-07-21T14:53:39.240" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="7466" PostTypeId="1" CreationDate="2011-07-21T13:41:58.483" Score="8" ViewCount="791" Body="&lt;p&gt;What data structures would you recommend that represent a collections of subsets of $\{1, \dots, n\}$ and support the following operations?&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$insert(S)$: inserts $S$ in the collection.&lt;/li&gt;&#xA;&lt;li&gt;$query(S)$: returns true if there exists $S&amp;#39;$ in the collection such that $S&amp;#39; \subset S$, false otherwise.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;My main criterion would be practical time efficiency. &lt;/p&gt;&#xA;" OwnerUserId="5911" LastEditorUserId="5911" LastEditDate="2011-07-21T19:33:15.093" LastActivityDate="2011-07-26T19:04:43.610" Title="Finding a subset of a set in a collection of sets" Tags="&lt;ds.data-structures&gt;" AnswerCount="2" CommentCount="6" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="7467" PostTypeId="1" AcceptedAnswerId="7474" CreationDate="2011-07-21T17:20:12.457" Score="16" ViewCount="474" Body="&lt;p&gt;Is the following problem in PTIME, or coNP-hard:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given two Boolean expressions $e_1$ and $e_2$ in variables $x_1,\dots,x_n$, without negation (ie, the expressions are entirely built up via $\wedge$ and $\vee$). Decide whether $e_1 \equiv e_2$, that is they have the same value for all assignments to the variables.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If both expressions would be given in DNF, then the problem is in PTIME since we could first lexicographically order the conjunctive clauses and compare. But bringing an arbitrary expression to DNF can blow up exponentially. A similar argument seems to hold for binary-decision-diagrams.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Obviously, the problem is in coNP.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I was Googling around a fair amount, but couldn't find any answer. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Apologies for the elementary question.&lt;/p&gt;&#xA;" OwnerUserId="5989" LastEditorUserId="186" LastEditDate="2011-07-21T23:53:39.257" LastActivityDate="2011-07-22T00:31:03.907" Title="Can you decide equivalence for monotone Boolean expressions that do not contain negation in PTIME?" Tags="&lt;cc.complexity-theory&gt;&lt;time-complexity&gt;&lt;boolean-functions&gt;&lt;monotone&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7468" PostTypeId="2" ParentId="6255" CreationDate="2011-07-21T17:40:19.577" Score="5" Body="&lt;p&gt;Another way of answering this question is, &quot;they don't!&quot;  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you give a typical DBMS implementation a query containing a very large number of joins, it won't even make it past the planning/optimization phase (let alone evaluation), even if the query is acyclic or otherwise has very simple structure such as András alludes to above.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But, for &quot;typical&quot; DBMS workloads, such queries seem not to arise.&lt;/p&gt;&#xA;" OwnerUserId="1019" LastActivityDate="2011-07-21T17:40:19.577" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7469" PostTypeId="1" AcceptedAnswerId="7473" CreationDate="2011-07-21T20:34:17.387" Score="26" ViewCount="1707" Body="&lt;p&gt;SAT solvers are very important in &lt;a href=&quot;http://en.citizendium.org/wiki/Algebraic_attack&quot;&gt;algebraic attacks&lt;/a&gt;, for example &lt;a href=&quot;http://en.wikipedia.org/wiki/WalkSAT&quot;&gt;walksat&lt;/a&gt; and &lt;a href=&quot;http://minisat.se/&quot;&gt;minisat&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, when solving the benchmark problems available &lt;a href=&quot;http://www.satcompetition.org/&quot;&gt;here&lt;/a&gt; there is an enormous performance difference between the two - Walksat is much faster than minisat for these problems. Why is this?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.cs.rochester.edu/~kautz/walksat/&quot;&gt;This&lt;/a&gt; implementation of walksat appears to have some performance improvements - is there any reason it wasn't included in &lt;a href=&quot;http://www.satcompetition.org/&quot;&gt;the international SAT Competitions&lt;/a&gt;?&lt;/p&gt;&#xA;" OwnerUserId="5762" LastEditorUserId="186" LastEditDate="2011-11-26T06:39:36.347" LastActivityDate="2017-03-07T18:36:55.783" Title="Why is there an enormous difference between SAT solvers?" Tags="&lt;ds.algorithms&gt;&lt;sat&gt;" AnswerCount="2" CommentCount="4" FavoriteCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="7470" PostTypeId="2" ParentId="7469" CreationDate="2011-07-21T22:18:35.140" Score="19" Body="&lt;p&gt;There is an enormous difference between sat &lt;em&gt;instances&lt;/em&gt;.  SAT solver $A$ might perform well on the class $X$ of instances, but poorly on the class $Y$ of instances, while solver $B$ performs well on class $Y$ and poorly on class $X$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A good paper to read on this topic is &lt;a href=&quot;http://robotics.stanford.edu/~shoham/www%20papers/CP04randomsat.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;this one&lt;/a&gt; by Nudelman &lt;em&gt;et al&lt;/em&gt;.  The whole point of the paper is to determine easy-to-compute features of SAT instances that can tell you which algorithms are likely to perform well and which aren't.  Using this technique it's possible to build a portfolio-based algorithm that will quickly analyze a problem instance, then solve the instance with the most appropriate algorithm.  There's a progression of papers that follows that one; googling SATzilla will turn up lots of reading material.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you're wondering why SAT solver $A$ might be better than solver $B$ on &lt;em&gt;all&lt;/em&gt; instances, well, I guess that's progress :).  If you want to know what specifically makes a solver good, the answer could probably be turned into several doctoral theses.  I suggest you start with &lt;a href=&quot;http://robotics.stanford.edu/~shoham/www%20papers/CP04randomsat.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;that paper of Nudelman &lt;em&gt;et al&lt;/em&gt;&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="196" LastEditorUserId="129" LastEditDate="2017-03-07T18:36:55.783" LastActivityDate="2017-03-07T18:36:55.783" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7471" PostTypeId="1" AcceptedAnswerId="7472" CreationDate="2011-07-21T23:07:39.183" Score="7" ViewCount="360" Body="&lt;p&gt;I understand how one can build a crypto primitive from another crypto primitive to some extent. The constructions I know build the later primitive using the former primitive as a black box. My question is how can we show this is not possible? For example, AFAIU, the existence collision resistant hash functions does not follow from the existence of one-way functions (at least not in a black box manner), but how is this formally stated? &lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;The motivation is to understand what it means to show that &lt;a href=&quot;http://en.wikipedia.org/wiki/Decisional_Diffie%E2%80%93Hellman_assumption&quot; rel=&quot;nofollow&quot;&gt;DDH&lt;/a&gt; against subexponential ($2^{n^\epsilon}$) size circuits does not follow from DDH against polynomial size circuits. Note that the situation is more complicated here because DDH is a hardness assumption about a particular function, so it is not clear what would it meant to relativize it. I would also be interested in references if this is already known.&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="873" LastEditDate="2011-07-23T04:52:42.637" LastActivityDate="2011-10-25T09:48:16.273" Title="Separation between existence of crypto primitives" Tags="&lt;cr.crypto-security&gt;&lt;reductions&gt;&lt;hash-function&gt;&lt;relativization&gt;&lt;black-box&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="7472" PostTypeId="2" ParentId="7471" CreationDate="2011-07-21T23:54:52.317" Score="10" Body="&lt;p&gt;There are several techniques which prove the nonexistence of black-box reductions. They are all inspired by the seminal work of &lt;a href=&quot;http://cseweb.ucsd.edu/~russell/secret.ps&quot; rel=&quot;nofollow&quot;&gt;Impagliazzo &amp;amp; Rudich&lt;/a&gt;. Let me describe the Impagliazzo-Rudich (IR) technique at a high level.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In crypto, it is well-known how to construct a secure secret-key exchange protocol from &lt;strong&gt;trapdoor&lt;/strong&gt; one-way permutations. However, all attempts to construct such protocols from &lt;strong&gt;general&lt;/strong&gt; one-way permutations were failed. So, it was an open problem whether such constructions were possible at all.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The hard part of refuting those constructions is as follows: It is &lt;em&gt;believed&lt;/em&gt; that both &lt;strong&gt;one-way permutations&lt;/strong&gt; and &lt;strong&gt;secure secret-key exchange protocols&lt;/strong&gt; exist; so how can we refute the latter if we merely assume the former? In IR words:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;The implication, &quot;if one-way permutations exist, then secure secret-key agreement is possible,&quot; is not provable by standard techniques. Since both sides of this implication are widely believed true in real life, to show that the implication is false requires a &lt;strong&gt;new model&lt;/strong&gt;.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;While they were &lt;strong&gt;not&lt;/strong&gt; succeeded to refute the existence of such black-box reductions, they were able to provide &lt;strong&gt;strong evidence&lt;/strong&gt; that the implication is not provable by standard techniques. To this end, IR came up with the following model:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assume that all parties (including the adversary) have access to a &lt;strong&gt;random-permutation oracle&lt;/strong&gt; (RPO), i.e. a function chosen uniformly from all n-bit to n-bit permutations (where 1&lt;sup&gt;n&lt;/sup&gt; is the security parameter). RPO models the black-box access to some one-way permutation. Now, IR prove that in this model, secure secret-key agreement is possible if and only if &lt;strong&gt;P ≠ NP&lt;/strong&gt;. Since standard techniques cannot resolve the P vs. NP problem, it follows that proving (or disproving) the implication &quot;if one-way permutations exist, then secure secret-key agreement is possible&quot; is as hard as proving (or disproving) P ≠ NP.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Other excellent resources on this topic:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://citeseer.ist.psu.edu/viewdoc/download?doi=10.1.1.136.4654&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;nofollow&quot;&gt;Finding Collisions on a One-Way Street: Can Secure Hash Functions Be Based on General Assumptions&lt;/a&gt;: rules out black-box constructions of collision-resistant hash functions from one-way functions (as pointed out in the question). Excerpt:&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;We prove the existence of an oracle relative to which there exist several well-known cryptographic primitives, including one-way permutations, but excluding (for a suitably strong definition) collision-intractable hash functions. Thus any proof that such functions can be derived from these weaker primitives is necessarily &lt;strong&gt;non-relativizing&lt;/strong&gt;; in particular, no provable construction of a &lt;strong&gt;collision-intractable hash function&lt;/strong&gt; can exist based solely on a &quot;black box&quot; &lt;strong&gt;one-way permutation&lt;/strong&gt;.&lt;/li&gt;&#xA;  &lt;li&gt;&lt;a href=&quot;http://www.cs.bu.edu/~reyzin/papers/hash.ps&quot; rel=&quot;nofollow&quot;&gt;Finding Collisions on a Public Road, or Do Secure Hash Functions Need Secret Coins&lt;/a&gt;.&lt;/li&gt;&#xA;  &lt;li&gt;&lt;a href=&quot;http://citeseer.ist.psu.edu/viewdoc/download;jsessionid=62DAB1C167002F35D08F768B3F0E21B0?doi=10.1.1.11.1471&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;nofollow&quot;&gt;Notions of Reducibility between Cryptographic Primitives&lt;/a&gt;.&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The papers are inspired by the work of IR, and extend their techniques.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;5 recent papers on the topic can be found in the proceedings of TCC 2011 (see chapters &lt;strong&gt;Black-Box Constructions and Separations&lt;/strong&gt; and &lt;strong&gt;Black-Box Separations&lt;/strong&gt;, pages 541--629).&#xA;They have surveys of previous results, which are certainly useful.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;An important technique: Black-box reductions are by definition relativizing. So, if relative to some oracle, one primitive exists but the other does not, the existence of the latter cannot be deduced in a black-box manner from the existence of the former.&lt;/p&gt;&#xA;" OwnerUserId="873" LastEditorUserId="873" LastEditDate="2011-10-25T09:48:16.273" LastActivityDate="2011-10-25T09:48:16.273" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="7473" PostTypeId="2" ParentId="7469" CreationDate="2011-07-22T00:17:00.137" Score="35" Body="&lt;p&gt;Yes, there is a major difference between MiniSAT and WalkSAT. First, let's clarify - MiniSAT is a specific implementation of the generic class of &lt;a href=&quot;http://en.wikipedia.org/wiki/DPLL_algorithm&quot;&gt;DPLL&lt;/a&gt;/CDCL algorithms which use backtracking and clause learning, whereas WalkSAT is the general name for an algorithm which alternates between greedy steps and random steps.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In general DPLL/CDCL is much faster on &lt;em&gt;structured&lt;/em&gt; SAT instances while WalkSAT is faster on &lt;em&gt;random&lt;/em&gt; k-SAT. Industrial and applied SAT instances tend to have a lot of structure, so DPLL/CDCL is dominant in most modern SAT solvers. Instance to instance one technique may win out, though, which is one reason why portfolio solvers have become popular.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I take a lot of issue with your claim that WalkSAT is much faster than MiniSAT on the instances on that page. For one thing, there are gigabytes of SAT instances there - how many did you try comparing them on? WalkSAT is not at all competitive on most structured instances which is why it's not often seen in competitions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On a side note - Vijay is right that MiniSAT is still relevant. Actually, because it's open source and well-written, MiniSAT is &lt;em&gt;the&lt;/em&gt; solver to beat in order to show that a given optimization has promise. Many people tweak MiniSAT itself to showcase their optimizations - take a look at the &quot;MiniSAT hack&quot; category in the recent SAT competitions.&lt;/p&gt;&#xA;" OwnerUserId="969" LastEditorUserId="969" LastEditDate="2011-07-22T14:13:15.743" LastActivityDate="2011-07-22T14:13:15.743" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7474" PostTypeId="2" ParentId="7467" CreationDate="2011-07-22T00:31:03.907" Score="14" Body="&lt;p&gt;Corollary 3.5 of [BHR84] shows that the problem is coNP-complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[BHR84] P. A. Bloniarz, H. B. Hunt, III, and D. J. Rosenkrantz.  Algebraic structures with hard equivalence and minimization problems.  &lt;em&gt;Journal of the ACM&lt;/em&gt;, 31(4):879–904, Oct. 1984.  &lt;a href=&quot;http://dx.doi.org/10.1145/1634.1639&quot;&gt;http://dx.doi.org/10.1145/1634.1639&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="567" LastActivityDate="2011-07-22T00:31:03.907" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7475" PostTypeId="2" ParentId="6936" CreationDate="2011-07-22T02:12:51.547" Score="1" Body="&lt;p&gt;Another answer (from the stackoverflow rather than cstheory perspective) is that it corresponds to what can be done using the SQL99 &quot;with recursive&quot; construct: i.e., it is the fragment of Datalog supported by commercial DBMS implementations.&lt;/p&gt;&#xA;" OwnerUserId="1019" LastActivityDate="2011-07-22T02:12:51.547" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7476" PostTypeId="2" ParentId="5555" CreationDate="2011-07-22T02:40:18.267" Score="5" Body="&lt;p&gt;The standard reference (more complete and up to date than the Ceri et al survey) is &lt;a href=&quot;http://webdam.inria.fr/Alice/&quot;&gt;Foundations of Databases&lt;/a&gt; by Abiteboul, Hull, and Vianu.  (Happily, Addison-Wesley has given the authors permission to post the PDFs online.)&lt;/p&gt;&#xA;" OwnerUserId="1019" LastActivityDate="2011-07-22T02:40:18.267" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7477" PostTypeId="1" CreationDate="2011-07-22T02:44:08.467" Score="10" ViewCount="435" Body="&lt;p&gt;Consider a Boolean function &lt;span class=&quot;math-container&quot;&gt;$f:\{0,1\}^n\to\{0,1\}$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;p&gt;The degree of the function &lt;span class=&quot;math-container&quot;&gt;$d$&lt;/span&gt; has a clear meaning in term of its Fourier coefficients, there are no weight on coefficient of degree higher than &lt;span class=&quot;math-container&quot;&gt;$d$&lt;/span&gt;, i.e. &lt;span class=&quot;math-container&quot;&gt;$\forall S\subseteq [1,n], \hat{f}(S) = 0$&lt;/span&gt; if &lt;span class=&quot;math-container&quot;&gt;$|S| &amp;gt; d$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;[edit:add]&lt;/strong&gt; The approximate degree &lt;span class=&quot;math-container&quot;&gt;$\tilde{d}$&lt;/span&gt; of a function &lt;span class=&quot;math-container&quot;&gt;$f$&lt;/span&gt; is the lowest degree of a polynomial &lt;span class=&quot;math-container&quot;&gt;$p$&lt;/span&gt; such that &lt;span class=&quot;math-container&quot;&gt;$\max_{x\in\{0,1\}^n} |f(x) - p(x)| \leq 1/3$&lt;/span&gt;.  &lt;strong&gt;[/edit:add]&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;I was wondering if there is an interpretation of the approximate degree along those kind of lines. I have the intuition (maybe plain wrong) the Fourier coefficient of a function lower that its approximate degree should be small, but I cannot find any claim to sustain this intuition.&lt;/p&gt;&#xA;&lt;p&gt;The only result I am aware of, is a paper by Sherstov, in STOC'08 (corollary 3.3.1):&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Let &lt;span class=&quot;math-container&quot;&gt;$f:\{0,1\}^n \to \mathbb{R}$&lt;/span&gt; with approximate degree &lt;span class=&quot;math-container&quot;&gt;$\tilde{d}$&lt;/span&gt;. Then there is a function &lt;span class=&quot;math-container&quot;&gt;$\psi:\{0,1\}^n\to\mathbb{R}$&lt;/span&gt; such that&lt;/p&gt;&#xA;&lt;p&gt;• &lt;span class=&quot;math-container&quot;&gt;$\hat{\psi}(S) = 0$&lt;/span&gt; if &lt;span class=&quot;math-container&quot;&gt;$|S|&amp;lt;\tilde{d}$&lt;/span&gt;&lt;/p&gt;&#xA;&lt;p&gt;• &lt;span class=&quot;math-container&quot;&gt;$\sum_{x\in\{0,1\}^n}|\psi(x)| = 1$&lt;/span&gt;&lt;/p&gt;&#xA;&lt;p&gt;• &lt;span class=&quot;math-container&quot;&gt;$\sum_{x\in\{0,1\}^n} \psi(x) f(x) &amp;gt; 1/3$&lt;/span&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;But the interpretation is very not clear to me since &lt;span class=&quot;math-container&quot;&gt;$\psi$&lt;/span&gt; is bounded in the &lt;span class=&quot;math-container&quot;&gt;$\ell_1$&lt;/span&gt; norm and not the &lt;span class=&quot;math-container&quot;&gt;$\ell_2$&lt;/span&gt; norm as usually used in Fourier analysis. Also how can we have a constant overlap between &lt;span class=&quot;math-container&quot;&gt;$\psi$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$f$&lt;/span&gt; when &lt;span class=&quot;math-container&quot;&gt;$f$&lt;/span&gt; is unbounded?&lt;/p&gt;&#xA;" OwnerUserId="36" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2011-07-22T15:41:07.713" Title="Relation beween approximate degree of a function and its Fourier coefficient." Tags="&lt;cc.complexity-theory&gt;&lt;co.combinatorics&gt;&lt;boolean-functions&gt;&lt;fourier-analysis&gt;" AnswerCount="0" CommentCount="6" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7478" PostTypeId="2" ParentId="7453" CreationDate="2011-07-22T05:05:00.273" Score="1" Body="&lt;p&gt;Your algorithm has a time complexity of $O(n \log n)$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Your algorithm uses $O(\log M)$ intermediate words each of size $O(\log \log M)$. Thus, the algorithm writes up to $O(\log M \log \log M)$ bits, taking $O(\log M \log \log M)$ elementary bit steps. Since the complexity is measured based on the input size, which is $\log M$ in your case, it has a complexity of $O(n \log n)$ [to multiply two words represented by $n$ bits].&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Further note that since $O(.)$ only gives an upper bound on the asymptotic worst-case runtime, it is possible that your algorithm is actually faster, ie, the bound was not tight. For example, the algorithm could use just 1 intermediary word of size 1, which would make the algorithm be in $O(1)$.&lt;/p&gt;&#xA;" OwnerUserId="5989" LastEditorUserId="5989" LastEditDate="2011-07-22T05:53:47.863" LastActivityDate="2011-07-22T05:53:47.863" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="7479" PostTypeId="1" AcceptedAnswerId="7482" CreationDate="2011-07-22T07:57:53.463" Score="10" ViewCount="187" Body="&lt;p&gt;Can someone point me to the reference for the non-definability of the modulus of continuity functional in PCF? $\newcommand{\N}{\mathbb{N}}$ $\newcommand{\bool}{\mathsf{bool}}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Andrej Bauer has written &lt;a href=&quot;http://math.andrej.com/2006/03/27/sometimes-all-functions-are-continuous/&quot; rel=&quot;nofollow&quot;&gt;a very nice blog post&lt;/a&gt; exploring some of the issues in more detail, but I'll summarize just a bit of his post to lend some context to this question. The Baire space $B$ is the set of natural number sequences, or equivalently the set of functions from naturals to naturals $\N \to \N$. For this question, we will restrict our attention only to the streams which are computable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, a function $f : B \to \bool$ is continuous if for every $xs \in B$, the value of $f(xs)$ depends only a finite number of the elements of $xs$, and it's computably continuous if we can actually compute an upper bound on how many elements of $xs$ are needed. In some models of computation, it's actually possible to write a program  $\mathsf{modulus} : (B \to \bool) \to B \to \N$ which takes a computable function on the Baire space and an element of the Baire space, and gives back the upper bound on the number of elements of the stream.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One trick for implementing this is to use local storage to record the maximum index into the stream seen:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;let modulus f xs =&#xA;  let r = ref 0 in&#xA;  let ys = fun i -&amp;gt; (r := max i !r; xs i) in &#xA;    f ys;&#xA;    !r&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Of course, the &lt;code&gt;ys&lt;/code&gt; argument is no longer a purely functional program. My interest in this program comes from the fact that it only makes use of local store, and is therefore &lt;em&gt;extensionally&lt;/em&gt; pure. I work on (among other things) higher-order imperative programming, and am designing type theories which could classify this as a pure function. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are more practical examples as well, involving things like memoization and connection pooling, but I find this a particularly beautiful example. &lt;/p&gt;&#xA;" OwnerUserId="657" LastEditorUserId="657" LastEditDate="2011-07-22T12:44:55.557" LastActivityDate="2011-07-22T14:51:11.340" Title="Reference for the undefinability of modulus of continuity functional in PCF?" Tags="&lt;pl.programming-languages&gt;&lt;lambda-calculus&gt;&lt;denotational-semantics&gt;&lt;computing-over-reals&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7482" PostTypeId="2" ParentId="7479" CreationDate="2011-07-22T14:51:11.340" Score="4" Body="&lt;p&gt;The proof is hidden somewhere in Troelstra and van Dalen, Constructivism in mathematics, volume 2, I suppose. More likely, it can be found in &lt;a href=&quot;http://books.google.si/books?id=cYcn1-6LP6oC&amp;amp;lpg=PA443&amp;amp;ots=B3xh-VrRsQ&amp;amp;dq=troelstra%20investigations&amp;amp;hl=en&amp;amp;pg=PP1#v=onepage&amp;amp;q=troelstra%20investigations&amp;amp;f=false&quot; rel=&quot;nofollow&quot;&gt;Troelstra's investigations&lt;/a&gt;, if you can lay your hands on it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It goes like this. Suppose we could define the modulus of continuity in typed $\lambda$-calculus with fixpoint operators. Then we could interpret it in a domain-theoretic realizaiblity model, for example in $\mathsf{PER}(\mathcal{P}\omega)$ where $\mathcal{P}\omega$ is Scott's graph model. In this model the choice principle $AC_{2,0}$ is valid. But it is known that $AC_{2,0}$ together with extensionality of functions (which holds in every realizability model) is incompatible with existence of modulus of continuity. If I get a moment, I will fill in the details later.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See also M. Escardo, T. Streicher: &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.9.1915&quot; rel=&quot;nofollow&quot;&gt;In domain-realizability not all functionals are continuous&lt;/a&gt;, published in &lt;a href=&quot;http://onlinelibrary.wiley.com/doi/10.1002/1521-3870%28200210%2948:1+%3C41%3a%3aAID-MALQ41%3E3.0.CO;2-V/abstract&quot; rel=&quot;nofollow&quot;&gt;Mathematical Logic Quarterly, volume 48, issue Supplement 1, pages 41-44, 2002&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="705" LastActivityDate="2011-07-22T14:51:11.340" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="7483" PostTypeId="1" CreationDate="2011-07-22T20:43:43.850" Score="14" ViewCount="289" Body="&lt;p&gt;It has been known for a long time that, given any r.e. Turing degree, there is a finitely presented group whose word problem is in that degree.  My question is whether the same thing is true for arbitrary &lt;em&gt;polynomial time&lt;/em&gt; Turing degrees.  Specifically, given a decidable set, $A$, does there exist a finitely presented group, with word problem, $W$, such that $W\leq_T^P A$ and $A\leq_T^P W$?  I would also be willing to relax finitely presented to recursively presented.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I suspect that the answer is yes, and I have heard others say they read this somewhere, but I haven't been able to chase down a reference.&lt;/p&gt;&#xA;" OwnerUserId="1836" LastEditorUserId="1836" LastEditDate="2011-07-25T17:35:26.667" LastActivityDate="2017-03-02T17:25:25.857" Title="Do there exist groups with word problems in arbitrary P-degrees?" Tags="&lt;cc.complexity-theory&gt;&lt;computability&gt;&lt;gr.group-theory&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="7484" PostTypeId="2" ParentId="7413" CreationDate="2011-07-22T22:16:46.473" Score="9" Body="&lt;p&gt;Here's an attempt at creating an artificial function with the following property:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The problem can be solved with $O(\log n)$ queries, but requires $\exp(n)$ time.&lt;/li&gt;&#xA;&lt;li&gt;The problem can be solved with $O(n)$ time but that requires $O(n)$ queries&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Let the input size be $n + \log n$. Let the first $\log n$ bits (let's call this string x) encode the input to a problem complete for EEXP. The next $n$ bits (let's call this string y) have the property that they are all zero if and only if x is a NO instance of the EEXP-complete problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In words, the first $\log n$ bits encode a hard problem, and the next $n$ bits give you a clue about the solution of the problem. However, to figure out the solution by looking at the $n$ bit string you make $\Omega(n)$ queries.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So this problem can be solved by either reading only the first $\log n$ bits and spending exp(n) time or by reading $n$ bits and using only linear time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The same function goes through for quantum query complexity.. insert square root signs where necessary.&lt;/p&gt;&#xA;" OwnerUserId="206" LastActivityDate="2011-07-22T22:16:46.473" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7485" PostTypeId="1" CreationDate="2011-07-22T22:20:51.533" Score="21" ViewCount="538" Body="&lt;p&gt;This question is inspired by the polynomial Hirsch conjecture (PHC). Given a $n$-facet polytope $P$ in $\mathbb R^d$, is the spectral gap of its edge-vertex graph (call it $G$) lower bounded by $\Omega(1/\mathrm{poly}(n))$? Note that the cycle graph on $n$ vertices shows that, even for $d=2$, the spectral gap could be as small as $O(1/\mathrm{poly}(n))$; so the conjectured bound--if true--would be almost tight. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A yes answer would imply the PHC. In fact, it would also imply that linear programs can be solved efficiently by just a random walk on the polytope vertices, and this algorithm is not even paying much attention to the objective function! This seems too good to be true. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, what is the status of this problem: open (like PHC), or false? If false, are there simple counterexamples?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: I just realized about the usual complications involved in defining expanders: $G$ need not be regular or bipartite. I hope that both of these technical issues can be overcome using standard ways, and that, in particular, they do not make my question trivial. (Please correct me if I am wrong!)&lt;/p&gt;&#xA;" OwnerUserId="5961" LastEditorUserId="1800" LastEditDate="2011-07-26T10:49:47.820" LastActivityDate="2012-12-29T18:22:42.423" Title="Are edge-vertex graphs of polytopes (decent) expanders?" Tags="&lt;co.combinatorics&gt;&lt;linear-programming&gt;&lt;expanders&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="7486" PostTypeId="2" ParentId="7413" CreationDate="2011-07-23T01:11:35.943" Score="7" Body="&lt;p&gt;A more extreme version of Robin's example:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let the input size be $n$, with the first $n-1$ bits (call this string $x$) encoding a Turing machine $T_x$. Fix some function $f(n)$. Let the last bit of the string be $1$ iff the Turing machine $T_x$ halts in less than $f(n)$ steps. The problem is then to determine if $T_x$ halts in less than $f(n)$ steps &lt;strong&gt;and&lt;/strong&gt; the parity of $x$ is even.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thus, by making $n-1$ queries the problem can be solved in time $O(f(n))$, while by making $n$ queries, the problem can be solved in time $O(n)$.&lt;/p&gt;&#xA;" OwnerUserId="204" LastActivityDate="2011-07-23T01:11:35.943" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="7487" PostTypeId="2" ParentId="7026" CreationDate="2011-07-23T05:31:11.323" Score="1" Body="&lt;p&gt;I think Andersson and Petersson's &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.113.1496&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;nofollow&quot;&gt;&quot;Approximate Indexed Lists&quot;&lt;/a&gt; are what I was looking for. If I am reading it correctly, they provide the updates I was looking for in constant amortized time and the queries I was looking for in constant worst-case time.&lt;/p&gt;&#xA;" OwnerUserId="43" LastActivityDate="2011-07-23T05:31:11.323" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7488" PostTypeId="1" CreationDate="2011-07-23T06:27:17.000" Score="1" ViewCount="231" Body="&lt;p&gt;Given a lattice $L = \bigoplus_{i=1}^{m} \mathbb{Z}v_i$ (the $v_i$ are linearly independent vectors in $\mathbb{R}^n$) and a number $c &amp;gt; 0$, can one quickly compute or find a good estimate on the number of lattice vectors $v$ with $|v| \leq c$ without actually enumerating these vectors?  The basis $v_1,\ldots, v_m$ of the lattice can be assumed to be LLL reduced.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also asked at: &lt;a href=&quot;https://mathoverflow.net/questions/71052/estimating-the-number-of-short-vectors-in-a-lattice&quot;&gt;https://mathoverflow.net/questions/71052/estimating-the-number-of-short-vectors-in-a-lattice&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="6008" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2011-07-23T06:27:17.000" Title="The Number of Short Vectors in a Lattice" Tags="&lt;nt.number-theory&gt;&lt;integer-lattice&gt;&lt;lattice&gt;" AnswerCount="0" CommentCount="1" ClosedDate="2011-07-23T12:38:33.280" ContentLicense="CC BY-SA 3.0" />
  <row Id="7489" PostTypeId="2" ParentId="7413" CreationDate="2011-07-23T11:54:56.780" Score="7" Body="&lt;p&gt;I like Robin Kothari's answer and Joe Fitzsimons' modification. In an obvious extension of their answers they can achieve any separation ratio (except constant-vs.-non-constant) between the smaller and bigger query complexity and bigger and smaller time complexity. However, there is no obvious way to make their functions non-partial. I want to point out a natural problem where we have a separation and show that big separations are harder for total functions.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;h3&gt;A natural problem&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;Ben Reichardt pointed out by email the formula-evaluation problem.  The quantum query complexity for evaluating a general read-once AND-OR formula on $n$ variables is $\Theta(\sqrt{n})$. However, the $O(\sqrt{n})$-query algorithm is not time efficient. &lt;a href=&quot;http://arxiv.org/abs/0907.1623&quot; rel=&quot;nofollow&quot;&gt;Here&lt;/a&gt;, the fastest known algorithm is shown to make $O(\sqrt{n}\log{n})$ queries and run in time polylogarithmically worse. Thus we have a natural total problem where there is a known separation. Although there is no proof that this separation has to exist.&lt;/p&gt;&#xA;&#xA;&lt;h3&gt;Total functions are harder to separate?&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;To me, it seems like it is harder to find total functions with provable seperations. To show that the case of total and partial functions is different, I will provide an argument on the largest separation between the query complexities of the query-optimal and time-optimal algorithms for a total function.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Using Simon's [1] lower bound we can see that if a function depends on $m$ of its variables, we will need to query at-least $\Omega{(\log m)}$ of them. On the other hand, the most we would ever query is $m$. Note that there is no reason to query all $n$ variables, because the output is independent of $n - m$ of them (call those dead bits) and for a total function no secret structure will be revealed by looking at those dead bits. Thus even the most time-optimal algorithm for a total function can be modified to use at most $m$ queries by simply assuming that the dead bits are all $0$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Therefore if we write $(\text{query complexity}\; , \; \text{time complexity})$, then for a total function, given the query-optimal algorithm with complexity $(q_1(n),t_1(n))$, there is a time-optimal algorithm with complexity $(q_2(n),t_2(n))$ with $q_2(n) \leq f(q_1(n))$ and $f(n) = O(2^n)$. In other words, we can't have more than an exponential separation in query complexity between the query-optimal and time-optimal algorithms for total functions. I would not be surprised if these really loose bounds could be improved.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] H.U. Simon, &quot;A tight Z(loglogn)-bound on the time for parallel RAM’s to compute non-degenerate Boolean functions&quot;, in: Symp. on Foundations of Computation Theory, Lecture Notes in Computer Science, Vol. 158, Springer, Berlin, 1983, pp. 439–444.&lt;/p&gt;&#xA;" OwnerUserId="1037" LastEditorUserId="1037" LastEditDate="2011-07-25T06:52:42.567" LastActivityDate="2011-07-25T06:52:42.567" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7491" PostTypeId="1" CreationDate="2011-07-23T16:33:46.410" Score="22" ViewCount="787" Body="&lt;p&gt;I'm looking for a reference for the following result:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Adding two integers in the factored representation is as hard as factoring two integers in the usual binary representation.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;(I'm pretty sure it's out there because this is something I had wondered at some point, and then was excited when I finally saw it in print.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&quot;Adding two integers in the factored representation&quot; is the problem: given the prime factorizations of two numbers $x$ and $y$, output the prime factorization of $x+y$. Note that the naive algorithm for this problem uses factorization in the standard binary representation as a subroutine.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Update&lt;/strong&gt;: Thanks Kaveh and Sadeq for the proofs. Obviously the more proofs the merrier, but I would also like to encourage more help in finding a &lt;strong&gt;reference&lt;/strong&gt;, which as I said I'm fairly sure exists. I recall reading it in a paper with other interesting and not-often-discussed ideas in it, but I don't recall what those other ideas were or what the paper was about in general.&lt;/p&gt;&#xA;" OwnerUserId="129" LastEditorUserId="129" LastEditDate="2011-07-23T17:44:02.367" LastActivityDate="2013-06-17T20:40:44.320" Title="Adding integers represented by their factorization is as hard as factoring? Reference request" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;time-complexity&gt;&lt;factoring&gt;&lt;encoding&gt;" AnswerCount="3" CommentCount="3" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="7492" PostTypeId="2" ParentId="7491" CreationDate="2011-07-23T17:25:33.390" Score="15" Body="&lt;p&gt;Assume that we can solve the problem (lets call it FactSum) in complexity class $C$ and $C$ is closed under $\log$-iteration (aka $\log$-bounded recursion)(e.g. if we can compute $x*y$ where $*$ is a binary function, we can computed $x_1*\ldots*x_{\log{n}}$) and contains $\mathsf{P}$ (this last condition can be made weaker). We show that factoring is in also in $C$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that each number can be written as a sum of $\log n$ powers of $2$. Each of them are easy to factor. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now given a number, write it as the sum of powers of it, then write each summand in the factoring representation, and then use the algorithm to sum them in the factoring representation. The result will be the factoring of the input number.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This shows that factoring is reducible to $\log$-iteration of your problem FactSum. Therefore factoring is in $\mathsf{P}^{\text{FactSum}}$ (and I think $\mathsf{P}$ can be replaced with  $\mathsf{NC^1}$ here). &lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2011-07-23T17:43:58.137" LastActivityDate="2011-07-23T17:43:58.137" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7493" PostTypeId="2" ParentId="7491" CreationDate="2011-07-23T17:28:16.787" Score="10" Body="&lt;p&gt;I'm not aware of a reference, but I think I came up with a proof:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assume you have an oracle $\mathcal{O}$ which, on input two factored numbers&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$x = \prod_{i=1}^n p_i^{\alpha_i}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;and&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$y = \prod_{i=1}^m q_i^{\beta_i} \enspace$,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;outputs the factorization of $x+y$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Having access to $\mathcal{O}$, we can factor any number $N$ in polynomial time using the following recursive procedure.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;PROCEDURE&lt;/strong&gt; factor($N$)&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Find a prime $x$ such that $N/2 \le x \le N-1$, and let $y = N - x$.&lt;/li&gt;&#xA;&lt;li&gt;If $y$ is not a prime, get the factorization of $y$ by the recursive call factor($y$) and output $\mathcal{O}(x, factor(y))$.&lt;/li&gt;&#xA;&lt;li&gt;Else output $\mathcal{O}(x,y)$.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Analysis:&lt;/strong&gt; &lt;/p&gt;&#xA;&#xA;&lt;p&gt;By &lt;a href=&quot;http://en.wikipedia.org/wiki/Prime_number_theorem&quot; rel=&quot;nofollow&quot;&gt;prime number theorem&lt;/a&gt; for large enough $N$, there are plenty of primes in between $N/2$ and $N-1$. If $N$ is so small that no prime falls in this interval, you can factor $N$ easily. Therefore, step 1 passes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In step 2, you can use &lt;a href=&quot;http://en.wikipedia.org/wiki/AKS_primality_test&quot; rel=&quot;nofollow&quot;&gt;AKS&lt;/a&gt; or any other  polynomial-time primality test.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The number of recursion is simply $O(\lg(N)) = O(|N|)$, since at each step $N$ is cut in half (at least)&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;PS-1:&lt;/strong&gt; Assuming &lt;a href=&quot;http://en.wikipedia.org/wiki/Goldbach%27s_conjecture&quot; rel=&quot;nofollow&quot;&gt;Goldbach's conjecture&lt;/a&gt; might help in speeding up the procedure for even (and possibly odd) integers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;PS-2:&lt;/strong&gt; The reduction used is a Cook reduction. One might be interested in carrying out the proof using Karp reductions.&lt;/p&gt;&#xA;" OwnerUserId="873" LastEditorUserId="16581" LastEditDate="2013-06-17T20:40:44.320" LastActivityDate="2013-06-17T20:40:44.320" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="7494" PostTypeId="1" CreationDate="2011-07-23T19:30:49.850" Score="9" ViewCount="452" Body="&lt;p&gt;As I have been teaching the basis of λ-calculus lately, I have implemented a simple λ-calculus evaluator in Common Lisp. When I ask the normal form of &lt;code&gt;Y fac 3&lt;/code&gt; in normal-order reduction, it takes 619 steps, which seemed a bit much.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course, each time I did similar reductions on paper, I never used the untyped λ-calculus, but added numbers and functions operating on them. In this case, fac is defined as such:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;fac = λfac.λn.if (= n 0) 1 (* n (fac (- n 1)))&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;In this case, considering &lt;code&gt;=&lt;/code&gt;, &lt;code&gt;*&lt;/code&gt; and &lt;code&gt;-&lt;/code&gt; as currying functions, it only take approximately 50 steps to get &lt;code&gt;Y fac 3&lt;/code&gt; to its normal form &lt;code&gt;6&lt;/code&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But in my evaluator, I used the following:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;true = λx.λy.x&#xA;false = λx.λy.y&#xA;⌜0⌝ = λf.λx.x&#xA;succ = λn.λf.λx.f n f x&#xA;⌜n+1⌝ = succ ⌜n⌝&#xA;zero? = λn.n (λx.false) true&#xA;mult = λm.λn.λf.m (n f)&#xA;pred = λn.λf.λx.n (λg.λh.h (g f)) (λu.x) (λu.u)&#xA;fac = λfac.λn.(zero? n) ⌜1⌝ (* n (fac (pred n)))&#xA;Y = λf.(λf.λx.f (x x)) f ((λf.λx.f (x x)) f)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;In 619 steps, I get from &lt;code&gt;Y fac ⌜3⌝&lt;/code&gt; to the normal form of &lt;code&gt;⌜6⌝&lt;/code&gt;, namely &lt;code&gt;λf.λx.f (f (f (f (f (f x)))))&lt;/code&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;From a quick skimming of the many steps, I guess it's the definition of &lt;code&gt;pred&lt;/code&gt; that warrants such a long reduction, but I still wonder if it just may be a big nasty bug in my implementation...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT: I initially asked about a thousand steps, some of a which were indeed caused a incorrect implementation of the normal order, so I got down to 2/3 of the initial number of steps. As commented below, with my current implementation, switching from Church to Peano arithmetic actually increases the number of steps…&lt;/p&gt;&#xA;" OwnerUserId="6011" LastEditorUserId="6011" LastEditDate="2011-07-25T03:24:03.757" LastActivityDate="2011-07-29T19:41:38.313" Title="Are a few hundred reduction steps too many to get the normal form of Y fac ⌜3⌝?" Tags="&lt;lo.logic&gt;&lt;lambda-calculus&gt;" AnswerCount="2" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7495" PostTypeId="2" ParentId="7494" CreationDate="2011-07-23T20:14:06.583" Score="11" Body="&lt;p&gt;Church coding is really bad if you want to use &lt;code&gt;pred&lt;/code&gt;.&#xA;I would advise you to use some more efficient coding in Peano style:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&#xA;// arithmetics&#xA;&#xA;: p_zero = λs.λz.z&#xA;: p_one = λs.λz.s p_zero&#xA;: p_succ = λn.λs.λz.s n&#xA;: p_null = λn.n (λx. ff) tt&#xA;: p_pred = λn.n (λp.p) p_zero&#xA;: p_plus = μ!f.λn.λm.n (λp. p_succ (!f p m)) m&#xA;: p_subs = μ!f.λn.λm.n (λp. p_pred (!f p m)) m&#xA;: p_eq = μ!f.λm.λn. m (λp. n (λq. !f p q) ff) (n (λx.ff) tt)&#xA;: p_mult = μ!f.λm.λn. m (λp. p_plus n (!f p n)) p_zero&#xA;: p_exp = μ!f.λm.λn. m (λp. p_mult n (!f p n)) p_one&#xA;: p_even = μ!f.λm. m (λp. not (!f p)) tt&#xA;&#xA;// numbers&#xA;&#xA;: p_0 = λs.λz.z&#xA;: p_1 = λs.λz.s p_0&#xA;: p_2 = λs.λz.s p_1&#xA;: p_3 = λs.λz.s p_2&#xA;...&#xA;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;This is some code taken from one of my old libraries, and &lt;code&gt;μ!f. …&lt;/code&gt; was just an optimized construction for &lt;code&gt;Y (λf. …)&lt;/code&gt;. (And &lt;code&gt;tt&lt;/code&gt;, &lt;code&gt;ff&lt;/code&gt;, &lt;code&gt;not&lt;/code&gt; are booleans.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm not really sure you would obtain better results for &lt;code&gt;fac&lt;/code&gt; though.&lt;/p&gt;&#xA;" OwnerUserId="5967" LastEditorUserId="5967" LastEditDate="2011-07-25T14:10:19.050" LastActivityDate="2011-07-25T14:10:19.050" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="7496" PostTypeId="1" CreationDate="2011-07-24T08:10:02.510" Score="7" ViewCount="255" Body="&lt;p&gt;Have number theoretic functions such as &lt;a href=&quot;http://en.wikipedia.org/wiki/Gauss_sum&quot; rel=&quot;nofollow&quot;&gt;Gauss sums&lt;/a&gt; been studied from a complexity view point? Where can I get a good introduction into complexity of Gauss sum estimation (beyond the quadratic case)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Actually I was looking for something more than the answers given. It is known Gauss sums have a random walk behavior than is exploited in designing low-correlation sequences. Also Montogomery's conjecture provides a tighter bound than the Weil bounds of Deligne under the assumption of random behavior (deeper exposition in the book by Katz and Sarnak - the material of which I am not familiar). I was actually curious whether such randomness has been utilized in computer science. It seems very possible there are uses.&lt;/p&gt;&#xA;" OwnerUserId="5511" LastEditorUserId="5511" LastEditDate="2011-07-27T08:39:18.813" LastActivityDate="2011-07-27T08:39:18.813" Title="Complexity class of phase information in Gauss sum" Tags="&lt;cc.complexity-theory&gt;&lt;nt.number-theory&gt;&lt;comp-number-theory&gt;" AnswerCount="2" CommentCount="3" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="7497" PostTypeId="2" ParentId="7496" CreationDate="2011-07-24T08:34:10.227" Score="8" Body="&lt;p&gt;&lt;a href=&quot;http://arxiv.org/abs/1005.2632&quot; rel=&quot;nofollow&quot;&gt;Cai, Chen, Lipton, and Lu&lt;/a&gt; have recently proved a dichotomy theorem on tractable exponential sums. The quadratic case is in P, whereas the cubic case is already #P-complete.&lt;/p&gt;&#xA;" OwnerUserId="121" LastActivityDate="2011-07-24T08:34:10.227" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7498" PostTypeId="1" AcceptedAnswerId="7499" CreationDate="2011-07-24T10:05:20.397" Score="5" ViewCount="399" Body="&lt;p&gt;I am wondering whether it is a bad style to use &quot;exception&quot;. For example, in Ocaml, the exception does not appear as the .mli file. So it appears to me that &quot;exception&quot; is something that cannot be tracked by a type system.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So my question in general is, is using exception a bad style because it hides information against the type system?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Concretely, I am trying to implement a type checker for an imperative language, say, Pascal. The essential judgment should have been of this signature,&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;well-typed_1: environment -&amp;gt; statement -&amp;gt; unit&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;But this seems to be insufficient because the environment would be modified due to a local variable declaration, thus a more reasonable interface for typechecker would be&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;well-typed_2: environment -&amp;gt; statement -&amp;gt; environment&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;An alternative would be use the former one, well-typed_1, dealing with local variables declaration through an exception Var_declaration (e : environment) which returns the updated environment to the type checker for its other recursion.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, my question for this concrete example is , should I use the well-typed_1 + exception for variable declaration, or well-typed_2?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The disadvantage of well-typed_2 seems to be that, for most statement there are no side effect with regard to environment of types, thus that signature of well-typed_2 seems to be a bit redundant. The disadvantage of well_typed_2 + exception seems to reveal a general issue: the the signature of well-typed_1 in does not tell the whole story. (it does not tell the potential exception)&lt;/p&gt;&#xA;" OwnerUserId="6013" LastEditorUserId="142" LastEditDate="2011-07-24T11:55:51.303" LastActivityDate="2011-07-28T11:21:48.190" Title="the type system does not tell the whole story due to &quot;exception&quot;" Tags="&lt;pl.programming-languages&gt;&lt;type-inference&gt;&lt;type-systems&gt;" AnswerCount="2" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7499" PostTypeId="2" ParentId="7498" CreationDate="2011-07-24T11:40:24.250" Score="11" Body="&lt;p&gt;There have been numerous type systems dealing with exceptions and other kinds of computational effect, so the reason it doesn't appear in O'Caml is not that it cannot be done. I think there are two reasons why exceptions do not appear in types:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;The types that programmers have to write become larger.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Exception typing interacts poorly with subtyping and higher-order features, such function types. Ultimately, this is because exception declarations will be an over-approximation of the exceptions that will be thrown, so reusable code needs to have very general exception declarations. For example, the exception declarations for a higher-order function need to be general enough to describe all possible functions passed to the higher-order function. Similarly, the exception declarations on a superclass need to anticipate all possible exceptions that can occur in the subclasses.  (Subtyping among exception types alleviates this problem somewhat.)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Java is a good example programming language that has exception typing and these two problems.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is some of the research done in the area:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.google.com/url?sa=t&amp;amp;source=web&amp;amp;cd=5&amp;amp;ved=0CDQQFjAE&amp;amp;url=http://portal.acm.org/ft_gateway.cfm?id=349230&amp;amp;type=pdf&amp;amp;ei=MQMsTvKiFcmaOrWohIwO&amp;amp;usg=AFQjCNEHl8D0lKUMjgEkU10gAi7zpaGZKQ&amp;amp;sig2=6E4_vDAGsru3LGfD4tBXlg&quot; rel=&quot;nofollow&quot;&gt;Type-based analysis of Uncaught Exceptions&lt;/a&gt; by Xavier Leroy and Francois Pessaux&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://ewce.fmf.uni-lj.si/wp-content/uploads/2011/04/ewce-filinski.pdf&quot; rel=&quot;nofollow&quot;&gt;Monadic effects&lt;/a&gt; by Andrzej Filinski&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://arxiv.org/pdf/0907.2059&quot; rel=&quot;nofollow&quot;&gt;A type system for call-by-name exceptions&lt;/a&gt; by Sylvain Lebresne&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.ccs.neu.edu/home/tov/pubs/substructural-control/CtlURAL-bw.pdf&quot; rel=&quot;nofollow&quot;&gt;A theory of substructural types and control&lt;/a&gt; by Jesse A. Tov and Riccardo Pucella&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Looking at these papers and chasing the references within will give you more details of what has been done in the field.&lt;/p&gt;&#xA;" OwnerUserId="77" LastEditorUserId="657" LastEditDate="2011-07-28T07:33:24.750" LastActivityDate="2011-07-28T07:33:24.750" CommentCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="7500" PostTypeId="2" ParentId="7496" CreationDate="2011-07-24T15:25:10.667" Score="9" Body="&lt;p&gt;See &lt;a href=&quot;http://arxiv.org/abs/quant-ph/0207131&quot; rel=&quot;nofollow&quot;&gt;Efficient Quantum Algorithms for Estimating Gauss Sums&lt;/a&gt; by Wim van Dam and Gadiel Seroussi. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;They have a nice introduction to the computational problem of estimating Gauss sums over finite fields and finite rings. They carefully explain how the computational problem is specified, how the characters are specified in the input and what the input size is.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;They show how to estimate the phase of a Gauss sum to inverse polynomial accuracy in polynomial time on a quantum computer. They then show that this problem is classically hard assuming discrete log is hard.&lt;/p&gt;&#xA;" OwnerUserId="206" LastActivityDate="2011-07-24T15:25:10.667" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7504" PostTypeId="1" AcceptedAnswerId="7881" CreationDate="2011-07-25T02:59:11.780" Score="-3" ViewCount="322" Body="&lt;p&gt;In all courses and textbooks I have seen, normal order reduction (NOR) and applicative order reduction (AOR) are defined as reducing respectively the leftmost outermost and rightmost innermost redex. Did someone ever give a more formal definition? (in some texts, I saw call-by-value and call-by-name formally defined, but IIUC, they are not exactly NOR and AOR, just in the same families of evaluation stratetgies)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Would the following definition of NOR be correct:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;NOR(x) = ∅&#xA;NOR(λx.B) = NOR(B)&#xA;NOR(M N) =&#xA;  if ∃ x,B | M = λx.B&#xA;  then (M N)&#xA;  else&#xA;    if NOR(M) ≠ ∅&#xA;    then NOR(M)&#xA;    else NOR(N)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;" OwnerUserId="6011" LastEditorUserId="186" LastEditDate="2011-08-20T17:39:24.677" LastActivityDate="2011-08-20T17:39:24.677" Title="Did someone give a formal definition of normal and applicative order?" Tags="&lt;lo.logic&gt;&lt;pl.programming-languages&gt;&lt;lambda-calculus&gt;" AnswerCount="1" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="7505" PostTypeId="1" AcceptedAnswerId="7507" CreationDate="2011-07-25T09:30:43.860" Score="4" ViewCount="261" Body="&lt;p&gt;Consider the space of all imperative programs.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;From the view of mathematical analysis, what kind of space is it?&lt;/li&gt;&#xA;&lt;li&gt;Is it an algebraic structure?&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Please also give references.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Editing of the question is welcome.&lt;/p&gt;&#xA;" OwnerUserId="4515" LastEditorUserId="4515" LastEditDate="2011-07-25T10:57:45.017" LastActivityDate="2011-07-25T11:08:06.730" Title="Space of Imperative Programs" Tags="&lt;reference-request&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="7506" PostTypeId="2" ParentId="7505" CreationDate="2011-07-25T10:24:14.487" Score="6" Body="&lt;p&gt;Imperative programs are typically interpreted in domains, which are a special kind of topological space. The axioms of domains are not usually given in algebraic form, since the operations on domains include taking limits of chains, which is a non-finitary operation. But most applications of domains only need limits of $\omega$-chains, so it may be possible to describe them categorically with a generalization of the concept of algebraic theory, in terms of &quot;locally presentable categories&quot;. However, this is a bit of category theory which is really a step beyond my knowledge, and I can't really tell you for sure either way. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Specifications about imperative programs are typically given via Hoare logic. Michael B. Smyth wrote an (IMO) very readable article on the topological semantics of specifications in 1983. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Michael B. Smyth: Power Domains and Predicate Transformers: A Topological View. ICALP 1983: 662-675&lt;/p&gt;&#xA;&#xA;&lt;p&gt;He also wrote the chapter &quot;Topology&quot;, for the Handbook of Logic in Computer Science, Vol I. I have not read this chapter myself, but it is very widely cited.&lt;/p&gt;&#xA;" OwnerUserId="657" LastActivityDate="2011-07-25T10:24:14.487" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7507" PostTypeId="2" ParentId="7505" CreationDate="2011-07-25T11:08:06.730" Score="7" Body="&lt;p&gt;&lt;a href=&quot;http://www.cs.ox.ac.uk/files/3223/PRG03.pdf&quot; rel=&quot;nofollow&quot;&gt;&lt;em&gt;The Lattice of Flow Diagrams&lt;/em&gt;&lt;/a&gt;, Dana Scott, Programming Research Group report 03, Oxford University, 1969.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Flow diagram = Control flow graph. Another viewpoint is of  imperative programs as generators of possibly infinite transition systems. The transition systems will form a coalgebra.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;&lt;a href=&quot;http://www.cs.ru.nl/B.Jacobs/CLG/JacobsCoalgebraIntro.pdf&quot; rel=&quot;nofollow&quot;&gt;Introduction to Coalgebra. Towards Mathematics of States and Observation&lt;/a&gt;,&lt;/em&gt; Bart Jacobs. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Artem's comment and Neel's answer provide further possibilities. There are many answers to this question depending on what you mean by imperative program and what properties are of interest. Do you care only about syntactic objects or some underlying semantic notion? Even if you only care about, say, control flow graphs, there is a difference between arbitrary flow graphs and those generated by standard structured programming constructs (the latter are reducible). These properties in turn affect the mathematical structure of the space involved.&lt;/p&gt;&#xA;" OwnerUserId="4155" LastActivityDate="2011-07-25T11:08:06.730" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="7508" PostTypeId="2" ParentId="7303" CreationDate="2011-07-25T18:10:37.540" Score="8" Body="&lt;p&gt;In &lt;a href=&quot;https://en.wikipedia.org/wiki/Parameterized_complexity&quot; rel=&quot;nofollow noreferrer&quot;&gt;parameterized complexity&lt;/a&gt; theory there are several hierarchies although only the already mentioned &lt;span class=&quot;math-container&quot;&gt;$\mathsf{W}$&lt;/span&gt;-hierarchy appears often in publications. Others are:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;span class=&quot;math-container&quot;&gt;$\mathsf{A}$&lt;/span&gt;-hierarchy&lt;/li&gt;&#xA;&lt;li&gt;&lt;span class=&quot;math-container&quot;&gt;$\mathsf{AW}$&lt;/span&gt;-hierarchy&lt;/li&gt;&#xA;&lt;li&gt;&lt;span class=&quot;math-container&quot;&gt;$\mathsf{EW}$&lt;/span&gt;-hierarchy&lt;/li&gt;&#xA;&lt;li&gt;&lt;span class=&quot;math-container&quot;&gt;$\mathsf{LOG}$&lt;/span&gt;-hierarchy&lt;/li&gt;&#xA;&lt;li&gt;&lt;span class=&quot;math-container&quot;&gt;$\mathsf{M}$&lt;/span&gt;-hierarchy&lt;/li&gt;&#xA;&lt;li&gt;&lt;span class=&quot;math-container&quot;&gt;$\mathsf{S}$&lt;/span&gt;-hierarchy&lt;/li&gt;&#xA;&lt;li&gt;&lt;span class=&quot;math-container&quot;&gt;$\mathsf{W^∗}$&lt;/span&gt;-hierarchy&lt;/li&gt;&#xA;&lt;li&gt;&lt;span class=&quot;math-container&quot;&gt;$\mathsf{W^{func}}$&lt;/span&gt;-hierarchy&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;They are all described in &lt;a href=&quot;https://www.springer.com/gp/book/9783540299523&quot; rel=&quot;nofollow noreferrer&quot;&gt;Parameterized complexity theory, Flum and Grohe, Birkhäuser, 2006&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="546" LastEditorUserId="52310" LastEditDate="2019-09-23T19:18:55.260" LastActivityDate="2019-09-23T19:18:55.260" CommentCount="0" CommunityOwnedDate="2011-07-25T18:10:37.540" ContentLicense="CC BY-SA 4.0" />
  <row Id="7510" PostTypeId="2" ParentId="7466" CreationDate="2011-07-26T12:33:07.460" Score="0" Body="&lt;p&gt;You could use a search tree. Not a “standard” one, as is used for ordered universes (real numbers, strings…) but a more general type, such as the ones hinted at by the &lt;a href=&quot;http://gist.cs.berkeley.edu/&quot; rel=&quot;nofollow&quot;&gt;GiST&lt;/a&gt; project. There are search trees for spatial queries, as well as ones based on the &lt;a href=&quot;http://hetland.org/research/2009/metric.pdf&quot; rel=&quot;nofollow&quot;&gt;metric axioms&lt;/a&gt;, for indexing metric (distance) spaces. The general idea (of which the “less than/greater than,” interval-oriented approach of ordinary, ordered search trees is a specialization) is to decompose the data set into subsets, usually hierarchically. This hierarchy of subsets is (obviously) represented by a tree, where the children of each node represent subsets, and each node has some form of &lt;em&gt;predicate&lt;/em&gt;, which allows you to check whether there is an overlap between the the (conceptual) set of objects relevant to your query, and those found in that subtree (i.e., subset).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, for a spatial tree in the Euclidean plane, each object could be a point, and the predicates could be &lt;em&gt;bounding rectangles&lt;/em&gt;, containing all points found in or below that node. If a query is a rectangle (and you wish to find all points in that rectangle), you can recursively eliminate subtrees whose bounding rectangles don’t overlap with your query.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In your case, you could build a tree where each node contains some set structure which would allow you to detect whether your query is a subset. If not, that entire subtree can be eliminated, as your query could never be a subset of any of the child nodes (and certainly not the leaves, which would probably represent the true data).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As opposed to ordinary search trees, there is no search-time guarantee in general here—you’ll probably visit several branches, so even if you have a perfectly balanced tree, you’ll probably have a superlogarithmic running time. This is more of a heuristic approach, but it could be effective even so.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What you need, in order to build this tree, would be some form of hierarchical clustering method that would fit your data. The GiST project actually has a tree very much like what you need, with a C implementation (although it checks whether the query overlaps, not if it’s a subset; should be easy to modify). The disk-based, B-tree-style balanced tree of GiST might be overkill, though. You probably just want to cluster similar sets together, hierarchically, and you could do that using any off-the-shelf clustering algorithm, using something like Hamming distance (or something more fancy). The more similar sibling nodes are, the “tighter” the bounding predicate of the parent (that is, the set representing their union) will be—and therefore, the more efficient your search will be.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To sum up, my suggestion is:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Represent your sets so you can check for overlap with query (bit vectors, hash tables).&lt;/li&gt;&#xA;&lt;li&gt;Cluster your sets hierarchically, using a suitable distance (e.g., Hamming) and an off-the-shelf algorithm.&lt;/li&gt;&#xA;&lt;li&gt;In each internal node, store the union of the child node sets.&lt;/li&gt;&#xA;&lt;li&gt;During search, traverse recursively, pruning/ignoring subtrees whose roots have sets that doesn’t overlap with your query.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;If you need the tree to be dynamic, there are lots of ways of doing that as well. For example, you could recursively traverse the tree, finding the location that fits best (by going through nodes with the highest overlap/smallest Hamming distance), updating the unions (bounding predicates) as you go. Deletions are a bit more tricky, perhaps; you could just mark objects as missing, and then rebuild subtrees (or the entire structure) when the number of marked objects hits a certain threshold.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Whether this works well for your application could be hard to say a priori, but should be easy to check experimentally. Also, there is a lot of room for tweaking.&lt;/p&gt;&#xA;" OwnerUserId="901" LastActivityDate="2011-07-26T12:33:07.460" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7511" PostTypeId="2" ParentId="5323" CreationDate="2011-07-26T13:34:49.113" Score="0" Body="&lt;p&gt;If you look at practical performance on SAT and chess, then there is a difference -- NP-complete problems are more tractable than PSPACE-complete problems. SAT solvers today can handle over thousand variables, but the best chess engine, in the same amount of time, can only calculate under 20 moves.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I guess this is because of the structure of problems. Yes, if you just enumerate solutions, SAT solving is super slow. But because it does not have the quantifier alternation, people discover structures in the formula and hence avoid much of enumeration. I think Ryan Williams overlooked this point.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;With quantifier alternation, yes there are smart methods of pruning, but still the structure is not as rich as that of a CNF formula.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let me predict the future. SAT solving will make it to P by examining the formula and essentially avoiding search, while chess will make it to P by capitalizing on search in the game tree.&lt;/p&gt;&#xA;" OwnerUserId="2938" LastActivityDate="2011-07-26T13:34:49.113" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7512" PostTypeId="1" CreationDate="2011-07-26T14:16:04.303" Score="28" ViewCount="2083" Body="&lt;p&gt;Fix an integer $n$ and alphabet $\Sigma=\{0,1\}$. Define $DFA(n)$ to be the collection of all finite-state automata on $n$ states with starting state 1. We are considering &lt;em&gt;all&lt;/em&gt; DFAs (not just connected, minimal, or non-degenerate ones); thus, $|DFA(n)| = n^{2n}2^n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now consider two strings $x,y\in\Sigma^*$ and define $K(x,y)$ to be the number of elements of $DFA(n)$ that accept &lt;em&gt;both&lt;/em&gt; $x$ and $y$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Question: What is the complexity of computing $K(x,y)$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This question has implications for &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=1577108&quot;&gt;machine learning&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit: Now that there's a bounty on this question, I suppose a bit more precision in the formulation is in order. For $n\ge1$, let $DFA(n)$ be the collection of $n^{2n}2^n$ automata, as defined above. For $x,y\in\{0,1\}^*$, define $K_n(x,y)$ to be the number of automata in $DFA(n)$ that accept &lt;em&gt;both&lt;/em&gt; $x$ and $y$. Question: can $K_n(x,y)$ be computed in time $poly(n,|x|,|y|)$?&lt;/p&gt;&#xA;" OwnerUserId="1746" LastEditorUserId="1746" LastEditDate="2011-07-30T19:39:00.370" LastActivityDate="2011-12-16T19:48:06.317" Title="How many DFAs accept two given strings?" Tags="&lt;cc.complexity-theory&gt;&lt;fl.formal-languages&gt;&lt;automata-theory&gt;&lt;counting-complexity&gt;" AnswerCount="2" CommentCount="16" FavoriteCount="13" ContentLicense="CC BY-SA 3.0" />
  <row Id="7515" PostTypeId="1" AcceptedAnswerId="7524" CreationDate="2011-07-26T17:11:50.377" Score="4" ViewCount="490" Body="&lt;p&gt;I often see casual mention that the Hewit/Agha Actor Model is equivalent in capability to process algebra, like CSP, CCS and ACP. Ie, &lt;strong&gt;one can be implemented in the other&lt;/strong&gt;. Is there a paper that actually contains the proof of this? I'm specifically looking for a citable reference.&lt;/p&gt;&#xA;" OwnerUserId="2581" LastEditorUserId="2581" LastEditDate="2011-07-27T14:39:45.650" LastActivityDate="2011-07-27T14:39:45.650" Title="Are the Actor Model and Process Algebra &quot;equivalent&quot;?" Tags="&lt;reference-request&gt;&lt;concurrency&gt;&lt;process-algebra&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="7516" PostTypeId="1" CreationDate="2011-07-26T17:58:31.550" Score="1" ViewCount="378" Body="&lt;p&gt;I am a Computer Science student who is greatly intrigued by algorithms. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;However I am curious whether computer scientists who study algorithms teach themselves to formally analyze algorithms and prove the correctness of algorithms as is done in the &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0262033844&quot; rel=&quot;nofollow&quot;&gt;CLR book&lt;/a&gt;, or do they mostly focus on the technique and design of the algorithms.&lt;/p&gt;&#xA;" OwnerUserId="5490" LastEditorUserId="186" LastEditDate="2011-07-26T18:55:50.677" LastActivityDate="2011-07-28T02:12:37.843" Title="Method of Algorithm Study" Tags="&lt;ds.algorithms&gt;&lt;soft-question&gt;" AnswerCount="2" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7517" PostTypeId="2" ParentId="7516" CreationDate="2011-07-26T18:49:59.030" Score="2" Body="&lt;p&gt;Although I am mostly into complexity theory, here's what I've seen from papers on algorithms. Usually these kind of papers prove both that : &lt;/p&gt;&#xA;&#xA;&lt;p&gt;a) Their algorithm is better in some special interesting cases or an interesting model of analysis (see also the question &lt;a href=&quot;https://cstheory.stackexchange.com/questions/7203/paradigms-for-complexity-analysis-of-algorithms&quot;&gt;Paradigms for complexity analysis of algorithms&lt;/a&gt; than the ones already existing.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;b) That their algorithm is correct under the kind of computation they are using (deterministic or no error, probabilistic or small error, approximation and its quality ) . &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If a problem is studied well or there is a similar analysis in a previous paper, a reference or a small modification might suffice. Since a lot of algorithms are improvements of older results, to prove that the improvement does not interfere with the correctness of the algorithm suffices.&lt;/p&gt;&#xA;" OwnerUserId="879" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2011-07-26T18:49:59.030" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7518" PostTypeId="2" ParentId="7466" CreationDate="2011-07-26T19:04:43.610" Score="1" Body="&lt;p&gt;Your problem sounds to me a lot like Information Retrieval(IR). There you have a collection of sets of words (also known as documents) and you want to find not only existence, but all the sets/documents that satisfy the query condition. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since the set elements are numbers , you can take advantage of teh apparent structure, thus a signature index would be of much use. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would recommend taking a look at IR papers, especially related to dictionary structures, like trees, but note that space is usually an issue for those systems, whereas it might not be an issue for your case.&lt;/p&gt;&#xA;" OwnerUserId="879" LastActivityDate="2011-07-26T19:04:43.610" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7520" PostTypeId="1" CreationDate="2011-07-26T22:56:07.007" Score="4" ViewCount="221" Body="&lt;p&gt;Consider an undirected graph G(V,E), where each edge $e\in E$ has capacity $c(e)$.  Also given is a traffic matrix $T_{ij}$ representing the amount of traffic flowing from vertex $i$ to $j$.  The goal is to minimize the number of links required to support all traffic in $T_{ij}$ such that the total traffic traversing each link $e$ is less than $c(e)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there an equivalent problem in the literature? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;thanks,&#xA;kwan&lt;/p&gt;&#xA;" OwnerUserId="6029" LastEditorUserId="612" LastEditDate="2011-07-27T04:25:02.340" LastActivityDate="2011-07-28T16:34:55.023" Title="Laying paths on a network using minimum number of links/edges" Tags="&lt;reference-request&gt;&lt;graph-theory&gt;&lt;optimization&gt;&lt;network-modeling&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7522" PostTypeId="1" CreationDate="2011-07-27T01:45:56.707" Score="14" ViewCount="413" Body="&lt;p&gt;Let $S_{n}(G)$, $C_{n}(G)$, $T_{n}(G)$ be the $n$-fold Strong Product, Cartesian Product and Tensor Product of a graph $G$ on $|V|$ vertices.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let the chromatic number ($\chi(G)$) and the independence number ($\alpha(G)$) of $G$ be known through a (possibly exponential time) algorithm. Is it known that the calculation of $\chi(S_{n}(G))$, $\chi(C_{n}(G))$, $\chi(T_{n}(G))$,$\alpha(S_{n}(G))$, $\alpha(C_{n}(G))$ and/or $\alpha(T_{n}(G))$ require exponential in $n$ complexity for any $n$ say even when restricted to some special graphs?&lt;/p&gt;&#xA;" OwnerUserId="5511" LastEditorUserId="5511" LastEditDate="2012-03-09T18:31:20.740" LastActivityDate="2012-03-09T18:31:20.740" Title="Question on Products of Graphs" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;&lt;graph-colouring&gt;" AnswerCount="0" CommentCount="6" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7523" PostTypeId="2" ParentId="7520" CreationDate="2011-07-27T03:48:39.850" Score="6" Body="&lt;p&gt;The problem you are asking is called capacitated network design. Typically each edge e also has a cost/weight w(e) and you want to minimize the weight/cost of the chosen edges such that the resulting graph supports the demands given by $T_{ij}$. The weighted version can be reduced to the unweighted version by replacing an edge of weight w(e) by a path of w(e) edges (this reduction is pseudo-polynomial). The problem is NP-Hard even when $T_{ij}$ is non-zero for a single pair and even here we don't quite understand the approximability. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;See the following recent papers for more on this:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://ect.bell-labs.com/who/ylz/2010.speedscale-focs.pdf&quot; rel=&quot;nofollow&quot;&gt;Minimum-Cost Network Design with (Dis)economies of Scale&lt;/a&gt;. IEEE FOCS 2010.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://arxiv.org/abs/1009.5734&quot; rel=&quot;nofollow&quot;&gt;Approximability of Capacitated Network Design&lt;/a&gt;. IPCO 2011.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="176" LastEditorUserId="80" LastEditDate="2011-07-28T16:34:55.023" LastActivityDate="2011-07-28T16:34:55.023" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7524" PostTypeId="2" ParentId="7515" CreationDate="2011-07-27T09:57:48.077" Score="4" Body="&lt;p&gt;This question is too vague to admit a clearcut answer, but it points towards a fascinating research field. The key problem is that neither is the actor model formally well-defined, nor is the notion of equivalency between (formalised) models of computation clear. Defining what expressivity of programming languages means precisely is a wide open problem, particularly for models of concurrent computation. It's unlikely that there is one clearcut notion of expressivity. Instead, language expressivity would appear to be parametric in properties of interest. &lt;a href=&quot;http://user.it.uu.se/~joachim/&quot; rel=&quot;nofollow&quot;&gt;Joachim Parrow&lt;/a&gt;'s paper &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.156.7752&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;nofollow&quot;&gt;Expressiveness of Process Algebras&lt;/a&gt; gives an overview of the problem area, and explains some approaches that have been used to tackle it. There's even an annual conference -- &lt;a href=&quot;http://www.lix.polytechnique.fr/comete/EXPRESS11/&quot; rel=&quot;nofollow&quot;&gt;Express&lt;/a&gt; -- dedicated to this question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Process calculi such as CCS, CSP or &amp;pi;-calculi were developed in parts to offer a formalisation of actors, but are themselves of varying expressivity w.r.t. various elaborations of the latter concept. Even seemingly small variations in the operations a process calculus offers leads to huge expressivity gaps w.r.t.  various notions of expressivity.&lt;/p&gt;&#xA;" OwnerUserId="898" LastEditorUserId="898" LastEditDate="2011-07-27T10:38:35.973" LastActivityDate="2011-07-27T10:38:35.973" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="7525" PostTypeId="2" ParentId="7498" CreationDate="2011-07-27T10:23:17.587" Score="4" Body="&lt;p&gt;The question you ask has been widely and acrimoniously discussed under the heading &quot;checked exceptions or unchecked exceptions?&quot;. Here &quot;checked exceptions&quot; means the Java model where all possible exceptions a method can throw have to be declared explicitly. I think it's mostly agreed that while checked exceptions might seem a good idea when looked at from the point of view of a conventional type-theorist, they are terrible for large scale software engineering, because simple changes to code in one place may trigger changes in the exception interface of vast amounts of seemingly unrelated code. As Neel points out, with modern typing systems (typically extensions of F&lt;sub&gt;&amp;omega;&lt;/sub&gt;), more expressive than Java's, some of these problems can be alleviated, although not always without introducing new problems (such as making type-inference harder). This is the main reason why modern, and otherwise strongly typed languages such as Scala and Ocaml don't have checked exceptions. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In my opinion, the last word on this issue has not been spoken, because with increasing use of logic-based specification and verification techniques, it's increasingly useful to let the type-checker infer as many (basic) program properties  as possible. OTOH, most exception usage is simple (when something goes wrong, throw an exception, and catch it in the outermost loop, printing &quot;sorry, please restart&quot; or some variant thereof), using unchecked exceptions is not that big a software engineering problem in practise.&lt;/p&gt;&#xA;" OwnerUserId="898" LastEditorUserId="898" LastEditDate="2011-07-28T11:21:48.190" LastActivityDate="2011-07-28T11:21:48.190" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="7526" PostTypeId="2" ParentId="7255" CreationDate="2011-07-27T14:42:20.530" Score="0" Body="&lt;p&gt;The attribute-value pairs are LARGE. this results in loads of overhead to see all partial matches. This is currently not feasible. We already use a form of inverted index.&lt;/p&gt;&#xA;" OwnerUserId="6036" LastActivityDate="2011-07-27T14:42:20.530" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="7527" PostTypeId="2" ParentId="1718" CreationDate="2011-07-27T15:01:45.257" Score="3" Body="&lt;p&gt;For an interesting take on the issue, look at Don Knuth's nicely written letter &lt;a href=&quot;http://micromath.wordpress.com/2008/04/14/donald-knuth-calculus-via-o-notation/&quot; rel=&quot;nofollow&quot;&gt;&quot;Calculus via O notation&quot;&lt;/a&gt;.  He advocates the reverse view that calculus should be taught via the 'A', 'O' and 'o' notations. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note: He uses the &quot;A&quot; notation as a preliminary step in defining the standard &quot;O&quot; notation. A quantity $x$ is $A$ of $y$ (i.e., $x = A(y)$), if  $|x| \leq y$. In particular, it makes sense  to say $100$ is $A(200)$. &lt;/p&gt;&#xA;" OwnerUserId="5961" LastEditorUserId="5961" LastEditDate="2011-07-28T16:42:36.507" LastActivityDate="2011-07-28T16:42:36.507" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7528" PostTypeId="1" AcceptedAnswerId="7553" CreationDate="2011-07-27T16:06:20.067" Score="37" ViewCount="5663" Body="&lt;p&gt;One of the most discussed questions on the site has been &lt;a href=&quot;https://cstheory.stackexchange.com/questions/88/what-would-it-mean-to-disprove-church-turing-thesis&quot;&gt;What it Would Mean to Disprove the Church-Turing Thesis&lt;/a&gt;.  This is partly because Dershowitz and Gurevich published a proof of the Church-Turing Thesis is the Bulletin of Symbolic Logic in 2008.  (I won't discuss that here, but for a link and extensive comments, please see the original question, or -- shameless self-promotion -- a &lt;a href=&quot;http://nanoexplanations.wordpress.com/2011/07/04/a-mathematical-proof-of-the-church-turing-thesis/&quot; rel=&quot;noreferrer&quot;&gt;blog entry&lt;/a&gt; I wrote.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This question is about the &lt;em&gt;Extended&lt;/em&gt; Church-Turing Thesis, which, as formulated by Ian Parberry, is:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Time on all &quot;reasonable&quot; machine models is related by a polynomial.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Thanks to Giorgio Marinelli, I learned that one of the co-authors of the previous paper, Dershowitz, and a PhD student of his, Falkovich, have &lt;a href=&quot;http://www.cs.tau.ac.il/~nachumd/papers/ECTT.pdf&quot; rel=&quot;noreferrer&quot;&gt;published a proof&lt;/a&gt; of the Extended Church-Turing Thesis, which just appeared at the workshop &lt;a href=&quot;http://www.pps.jussieu.fr/~jkrivine/conferences/DCM2011/DCM_2011.html&quot; rel=&quot;noreferrer&quot;&gt;Developments of Computational Models 2011&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I just printed out the paper this morning, and I have skimmed it, nothing more.  The authors claim that Turing machines can simulate any sequential computational device with at most polynomial overhead.  Quantum computation and large-scale parallel computation are explicitly not covered.  My question relates to the following statement in the paper.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;We have shown -- as has been conjectured and is widely believed -- that every effective implementation, regardless of what data structures it uses, can be simulated by a Turing machine, with at most polynomial overhead in time complexity.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;So, my question: is this really &quot;widely believed,&quot; even in the case of &quot;truly&quot; sequential computation with no randomization?  What if things are random?  Quantum computing would be a likely counterexample, if in fact it can be instantiated, but are there possibilities &quot;weaker&quot; than quantum that would be counterexamples as well?&lt;/p&gt;&#xA;" OwnerUserId="30" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2017-12-03T22:32:06.487" Title="Extended Church-Turing Thesis" Tags="&lt;soft-question&gt;&lt;lo.logic&gt;&lt;church-turing-thesis&gt;" AnswerCount="3" CommentCount="2" FavoriteCount="12" ContentLicense="CC BY-SA 3.0" />
  <row Id="7529" PostTypeId="2" ParentId="3053" CreationDate="2011-07-27T17:47:19.027" Score="3" Body="&lt;p&gt;I also wondered about this question, since the current approaches to modular multiplication for quantum factoring use either a trial subtraction if there is an overflow after every addition, or a division/subtraction approach at the end. Both of these seem wasteful.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am working on a quantum architecture for performing modexp using Montgomery multiplication right now. I don't think the space overhead should be any greater than previous approaches, but I see no need to use Karatsuba multiplication currently.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Montgomery multiplication in binary is quite efficient (bit-shifting and addition). The addition of the modulus and the shifted sums depend on the least significant bit (LSB) at each step, so this seems to require before them serially, to get O(n) time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, you can parallelize this dependency on the LSB by using function tables and composing/narrowing them similar to carry-lookahead approaches or Kitaev's description of parallel finite automata in his book (Kitaev, Shen, Vyalyi 2002). This step almost certainly requires a lot of ancillae, but asymptotically it could be made O(log n)-depth.&lt;/p&gt;&#xA;" OwnerUserId="6039" LastActivityDate="2011-07-27T17:47:19.027" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7530" PostTypeId="2" ParentId="7516" CreationDate="2011-07-27T18:25:19.513" Score="8" Body="&lt;p&gt;Theoretical computer scientists both design algorithms and prove their correctness and running time. For some algorithms, the correctness and running time are evident, while others require proof. &#xA;For the latter, without a proof it's hard to know whether the algorithm actually does what it should.&#xA;There are countless examples of small subtleties in algorithms that make enormous differences for performance (e.g., take a look at union-find data structures in CLRS).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An alternative could be running the algorithm and experimenting with it.&#xA;This is often an excellent first step when you try to figure out if you actually have a good algorithm or not. &#xA;Experimenting is especially useful when a rigorous analysis seems hard, or when you're still trying to figure out the exact formulation of the algorithm's task (e.g., think of the Netflix challenge, where you want to recommend movies to users given data about their history. It's not even clear what it is exactly that you want your algorithm to do).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Ultimately, though, a clear understanding of what the algorithm guarantees is sought after, and for the most part, you need a proof for that. &lt;/p&gt;&#xA;" OwnerUserId="1621" LastEditorUserId="1621" LastEditDate="2011-07-28T02:12:37.843" LastActivityDate="2011-07-28T02:12:37.843" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7531" PostTypeId="1" CreationDate="2011-07-27T19:58:59.033" Score="4" ViewCount="256" Body="&lt;p&gt;As far as I understand a large number of clustering problems can be formulated as:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\underset{\textbf{P}}{ \text{argmin}} \;  \sum_{i,j} f \left(x_i, x_j\right)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where $\textbf{P}$ is a partitioning of $\mathbf{x}$. In other words, the goal is to find a partitioning that is optimal with respect to a sum of pairwise contributions of the variables within and/or across clusters. Problems such as K-means and &lt;a href=&quot;http://repository.cmu.edu/cgi/viewcontent.cgi?article=1170&amp;amp;context=compsci&quot; rel=&quot;nofollow&quot;&gt;correlation clustering&lt;/a&gt; can be written in the above form. For example, K-means minimizes the sum-of-squares which &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=1519389&quot; rel=&quot;nofollow&quot;&gt;is known&lt;/a&gt; to be NP-hard.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am wondering if there is any work on what I informally would call &lt;strong&gt;higher-order&lt;/strong&gt; or clustering, where the functions $f$ measure the affinity of general cliques of variables&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\underset{\textbf{P}}{\text{argmax}}\; \sum_{c_i} f(\mathbf{x}_{c_i})$ &lt;/p&gt;&#xA;&#xA;&lt;p&gt;for cliques $c_i$ in some set $C$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Perhaps a more difficult problem is what I would informally call &lt;strong&gt;black-box&lt;/strong&gt; clustering, i.e. problems of the above form where $f$ is &lt;strong&gt;unknown&lt;/strong&gt; (i.e. we don't have access to an algebraic or analytical expression of $f$, but we can &lt;strong&gt;query it&lt;/strong&gt;. I imagine using some sort of &lt;a href=&quot;http://www.cs.wm.edu/~va/research/sirev.pdf&quot; rel=&quot;nofollow&quot;&gt;direct-search optimization&lt;/a&gt; method for solving such problems.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does anybody know of if these problems have been addressed in the literature? Perhaps they are known by other names?&lt;/p&gt;&#xA;" OwnerUserId="3137" LastEditorUserId="186" LastEditDate="2012-05-06T19:53:59.990" LastActivityDate="2012-05-06T19:53:59.990" Title="Higher-order and black-box clustering" Tags="&lt;reference-request&gt;&lt;machine-learning&gt;&lt;clustering&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="7532" PostTypeId="1" CreationDate="2011-07-27T21:45:30.890" Score="17" ViewCount="761" Body="&lt;p&gt;What are the best known methods for cyclic convolution of length $n$ over a small field, i.e. when $|\mathbb{F}| \ll n$?  I'm particularly interested in constant-sized fields, or even $\mathbb{F} = \mathbb{F}_2$.  General asymptotic-efficiency statements and references are much appreciated.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Background:&lt;/strong&gt;  Let $\mathbb{F}$ be a field, and $n &amp;gt; 0$.  We think of vectors $u \in \mathbb{F}^n$ as having coordinates indexed by $\mathbb{Z}_n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The &lt;em&gt;(cyclic) convolution&lt;/em&gt; of length $n$ over $\mathbb{F}$ is the transformation taking $u, v \in \mathbb{F}^n$ and outputting $u * v \in \mathbb{F}^n$, defined by &#xA;$$&#xD;&#xA;(u * v)_i :=  \sum_{j \in \mathbb{Z}_n} v_j u_{i - j},&#xD;&#xA;$$&#xA;with index arithmetic over $\mathbb{Z}_n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To perform cyclic convolution over large fields, a popular method is to use the &lt;a href=&quot;http://en.wikipedia.org/wiki/Convolution_theorem&quot;&gt;Convolution Theorem&lt;/a&gt; to reduce our problem to performing Discrete Fourier Transforms (DFTs), and using an FFT algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For small finite fields, the DFT is undefined because there's no primitive $n$-th root of unity.  One can get around this by embedding$^*$ the problem in a larger finite field, but it's not clear that this is the best way to proceed.  Even if we take this route, it'd be nice to know if someone has already worked out the details (for example, choosing which larger field to use and which FFT algorithm to apply).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Added:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$^*$ By 'embedding' our convolution in, I mean one of two things.  First option: one could pass to an extension field in which the desired primitive roots of unity are adjoined, and do the convolution there.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Second option: if our starting field is cyclic, one could pass to a cyclic field $\mathbb{F}_{p&amp;#39;}$ of larger characteristic--large enough that if we consider our vectors as lying in $\mathbb{F}_{p&amp;#39;}$, no &quot;wraparound&quot; occurs.&lt;br&gt;&#xA;(I'm being informal, but just think about how, to compute a convolution over $\mathbb{F}_2$, we can clearly just do the same convolution over $\mathbb{Z}$, and then take the answers mod 2.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Also added:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Many algorithms for FFT and related problems work especially well for 'nice' values of $n$ (and I would like to understand the situation with this better).  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;But if one doesn't attempt to take advantage of special values of $n$, the cyclic convolution problem is basically equivalent (by easy reductions involving linear blow-up in $n$) to ordinary convolution; this in turn is equivalent to multiplication of polynomials with coefficients over $\mathbb{F}_p$.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;By this equivalence, one can use results in, e.g., &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.46.8160&quot;&gt;this paper&lt;/a&gt; of von zur Gathen and Gerhard (building on work of Cantor), who use an extension-field approach to get a circuit complexity bound of $\tilde{O}_p(n)$.  They don't state their bounds in an especially clear way IMO, but the bound is worse than $n \cdot \log^2 n$ even for $\mathbb{F}_2$.  Can one do better?&lt;/p&gt;&#xA;" OwnerUserId="223" LastEditorUserId="223" LastEditDate="2011-07-28T03:43:05.730" LastActivityDate="2011-07-29T00:56:56.770" Title="Fast convolution over small finite fields" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="7534" PostTypeId="1" CreationDate="2011-07-28T00:57:29.703" Score="3" ViewCount="111" Body="&lt;p&gt;Let $\bf X$ be a binary vector of $n$ (non-independent) random variables $X_1,\ldots, X_n$. &#xA;Covariance of two random variables is defined as follows: $$\mathrm{cov}(X_i, X_j) = \mathrm{E}(X_i - \mu_i)(X_j - \mu_j),$$ &#xA;where $\mu_i = \mathrm{E}(X_i).$ Covariance matrix for $\bf X$ is $n\times n$ symmetric matrix $C$, whose elements $c_{ij} = \mathrm{cov}(X_i, X_j)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a matrix $C$, are there any known efficient sampling algorithms for distribution that is close to the distribution of $\bf X$ (= distribution with the same matrix $C$)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The same question for the case where $C$ is a correlation matrix:&#xA;$$c_{ij} = \frac{\mathrm{cov(X_i, X_j)}}{\sigma(X_i)\sigma(X_j)},$$&#xA;where $\sigma(X_i)$ is a standard deviation of $X_i$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any hints on papers etc. are welcome!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks, Sasha&lt;/p&gt;&#xA;" OwnerUserId="3934" LastEditorUserId="1800" LastEditDate="2011-07-28T01:41:56.153" LastActivityDate="2011-07-28T01:41:56.153" Title="Sampling from a distribution with a given covariance matrix" Tags="&lt;ds.algorithms&gt;&lt;pr.probability&gt;" AnswerCount="0" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7536" PostTypeId="2" ParentId="1718" CreationDate="2011-07-28T08:10:03.330" Score="4" Body="&lt;p&gt;Having studied these concepts only a few years ago, they were not the hardest ones to grasp for my class (as opposed to concepts like induction, or contra positives). Limits and limsups are only more &quot;intuitive&quot; for those familiar with calculus in my opinion. But students with such a math grounding will have set-theoretic background anyway, so that they can process discrete qualifiers. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, more importantly, remember that ultimately your students will go on (hopefully) to read other cs theory textbooks, and perhaps even research papers one day. As such, it is better for them to be comfortable with standard notation in the field, even if it was not ideally conceived initially.  There is no harm giving them alternate definitions as well, once they've assimilated the standard ones.&lt;/p&gt;&#xA;" OwnerUserId="2302" LastActivityDate="2011-07-28T08:10:03.330" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7537" PostTypeId="1" CreationDate="2011-07-28T15:07:19.420" Score="18" ViewCount="1040" Body="&lt;p&gt;Just out of curiosity, if the classical computation is about permutation matrices and quantum computing is about unitary matrices (of which the permutation matrices are a subgroup), then will there be any computation paradigm beyond unitary matrices?&lt;/p&gt;&#xA;" OwnerUserId="1597" LastEditorUserId="1037" LastEditDate="2014-03-04T23:16:30.523" LastActivityDate="2014-03-04T23:16:30.523" Title="Computation beyond unitary matrices" Tags="&lt;quantum-computing&gt;&lt;philosophy&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="7538" PostTypeId="2" ParentId="7537" CreationDate="2011-07-28T15:11:28.217" Score="17" Body="&lt;p&gt;Circuits made out of general linear operators are $PP$-complete. See the &lt;a href=&quot;http://arxiv.org/abs/quant-ph/0412187&quot;&gt;PostBQP paper&lt;/a&gt; by Scott Aaronson  or &lt;a href=&quot;http://arxiv.org/abs/quant-ph/0611050&quot;&gt;Schuch's paper&lt;/a&gt; on the computational power of PEPS and tensor network contraction.&lt;/p&gt;&#xA;" OwnerUserId="121" LastEditorUserId="121" LastEditDate="2011-07-28T17:18:28.097" LastActivityDate="2011-07-28T17:18:28.097" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7539" PostTypeId="2" ParentId="7537" CreationDate="2011-07-28T15:31:37.800" Score="16" Body="&lt;p&gt;In a pure mathematical sense, you could in principle create models of computation using any sort of recursively composable structure, so long as you can describe how it represents a transformation of suitably represented input data to output data. But in an applied mathematical sense &amp;mdash; or more accurately, in an actual &lt;em&gt;scientific&lt;/em&gt; sense &amp;mdash; there is a question of whether such models of computation correspond to (&lt;em&gt;i.e.&lt;/em&gt;&amp;nbsp;models well) anything which is observed in practise (&lt;em&gt;e.g.&lt;/em&gt;&amp;nbsp;perhaps because we observe it in machines constructed to do the computations). We're confident that permutation matrices and stochastic matrices, composed by products on local systems, represents a feasible model of computation for transforming probability distributions. It is also accepted in principle that unitary transformations on unit-2-norm wave functions (composed in a similar way) is not unreasonable as a model of computation; showing that it is actually feasible is widely accepted as a (very challenging!) engineering problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Both of these models of computation can be subsumed into the formalism of CPTP super-operators (which map linear operators to other linear operators, in a way which preserves the trace, and &lt;strong&gt;robustly&lt;/strong&gt; maps positive-semidefinite operators to other such operators), which in certain respects is a better way of describing quantum computation than by unitary transformations or projectors alone.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Whether there are strictly more general (in the sense of more powerful, and using the same sort of representation of the input and output data) models of computation than unitary transformations or CPTP superoperators is in essence a question of theoretical physics.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So the answer is &quot;maybe &amp;mdash; but we don't know yet, and don't have convincing reasons to believe in any particular one&quot;. &lt;/p&gt;&#xA;" OwnerUserId="248" LastEditorUserId="248" LastEditDate="2011-07-28T17:09:45.733" LastActivityDate="2011-07-28T17:09:45.733" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7540" PostTypeId="1" AcceptedAnswerId="7543" CreationDate="2011-07-28T15:59:10.307" Score="3" ViewCount="1704" Body="&lt;p&gt;I'm puzzled by &lt;a href=&quot;http://en.wikipedia.org/wiki/Tail_call#Description&quot; rel=&quot;nofollow&quot;&gt;this statement from Wikipedia&lt;/a&gt;:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;For tail calls, there is no need to remember the place we are calling&#xA;  from — instead, we can perform tail call elimination by leaving the&#xA;  stack alone (&lt;strong&gt;except possibly for function arguments and local&#xA;  variables&lt;/strong&gt; [my emphasis]) [...]&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I thought that the amount of space for a tail call was constant.  I thought that it was O(1), not O(n) where n would be the depth of the stack (if it were not tail-recursive).  But what is this &quot;(except possibly for function arguments and local variables)&quot;?  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is memory usage for a tail call not constant and can you get a memory overflow?&lt;/p&gt;&#xA;" OwnerUserId="490" LastActivityDate="2011-07-28T16:35:48.557" Title="Stack memory usage for tail calls" Tags="&lt;recursion&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7541" PostTypeId="2" ParentId="7540" CreationDate="2011-07-28T16:07:09.657" Score="3" Body="&lt;p&gt;I do not think that the part of Wikipedia you quoted is talking about space complexity.  It simply states that unlike non-tail calls, tail calls do not have to store the return addresses in the stack.  However, it is not correct to state that tail calls do not touch the stack at all, because you still have to clean up local variables allocated on the stack and possibly push arguments passed to the function onto the stack, hence the parenthesized note.&lt;/p&gt;&#xA;" OwnerUserId="567" LastActivityDate="2011-07-28T16:07:09.657" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7542" PostTypeId="2" ParentId="7531" CreationDate="2011-07-28T16:31:58.880" Score="2" Body="&lt;p&gt;One example of what you might call non-linear clustering is kernel-based clustering, where the similarity function is described by a (non-linear) kernel function. This is a weak form of non-linearity, since there's a lifting map that makes everything linear (albeit in a Hilbert space)&lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2011-07-28T16:31:58.880" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="7543" PostTypeId="2" ParentId="7540" CreationDate="2011-07-28T16:35:48.557" Score="8" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;Is memory usage for a tail call not constant and can you get a memory overflow?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The stack usage for tail-recursive functions is bounded by a constant (i.e., is $O(1)$). However, you may still need to manipulate the stack at each recursive call in order to ensure that arguments are where the procedure expects them to be. Here's an example of such a program, written in Ocaml.&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;let rec frob n a b c d e f g = &#xA;  if n = 0 then &#xA;    a&#xA;  else &#xA;    frob (n-1) b c d e f g a&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;What this does is take decrement a counter, and rotate its arguments until it reaches 0. This program will compile to the following machine code:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;_camlFrob__frob_1030:&#xA;    subl    $28, %esp&#xA;L101:&#xA;    movl    %eax, 0(%esp)&#xA;    movl    %ebx, 24(%esp)&#xA;    movl    _caml_extra_params + 0, %ebp&#xA;    movl    _caml_extra_params + 4, %ebx&#xA;    movl    0(%esp), %eax&#xA;    cmpl    $1, %eax&#xA;    jne     L100&#xA;    movl    24(%esp), %eax&#xA;    addl    $28, %esp&#xD;&#xA;        ret&#xD;&#xA;        .align  16&#xD;&#xA;&#xD;&#xA;    L100:&#xD;&#xA;        movl    %ebx, 20(%esp)&#xD;&#xA;        movl    %ebp, 16(%esp)&#xD;&#xA;        movl    %edi, 12(%esp)&#xD;&#xA;        movl    %esi, 8(%esp)&#xD;&#xA;        movl    %edx, 4(%esp)&#xD;&#xA;        movl    %ecx, 0(%esp)&#xD;&#xA;        addl    $-2, %eax&#xA;    movl    0(%esp), %ebx&#xA;    movl    4(%esp), %ecx&#xA;    movl    8(%esp), %edx&#xA;    movl    12(%esp), %esi&#xA;    movl    16(%esp), %edi&#xA;    movl    20(%esp), %ebp&#xA;    movl    %ebp, _caml_extra_params + 0&#xA;    movl    24(%esp), %ebp&#xA;    movl    %ebp, _caml_extra_params + 4&#xA;    jmp     L101&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;As you can see, it is not pushing anything on the stack (the contents of &lt;code&gt;%esp&lt;/code&gt;), but it does need to shuffle the contents of the stack around before making the tail call (&lt;code&gt;jmp L101&lt;/code&gt;). (As an aside, decrementing the &lt;code&gt;n&lt;/code&gt; variable is accomplished by subtracting 2 from &lt;code&gt;%eax&lt;/code&gt;, since Ocaml uses a tagged representation of integers.) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I seem to recall that the problem of putting variables into slots so as to minimize the amount of stack/register shuffling you need to do is NP-complete, and that consequently most compilers rely on heuristics to figure out what to do.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(P.S. I don't know what's wrong with the indentation -- it's fine in the preview....)&lt;/p&gt;&#xA;" OwnerUserId="657" LastActivityDate="2011-07-28T16:35:48.557" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7544" PostTypeId="2" ParentId="7409" CreationDate="2011-07-28T18:31:48.667" Score="4" Body="&lt;p&gt;Recently, a new Sino-Danish institute was announced, &lt;a href=&quot;http://ctic.au.dk/&quot; rel=&quot;nofollow&quot;&gt;Center for the Theory of Interactive Computation(CTIC)&lt;/a&gt;. From what I've read, I got the impression that Chinese students are welcome to visit Denmark for their PhD and vice versa.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You will probably be aware of the &lt;a href=&quot;http://ec.europa.eu/education/lifelong-learning-programme/doc80_en.htm&quot; rel=&quot;nofollow&quot;&gt;Erasmus Programme&lt;/a&gt;, however I am not sure if Chinese students can apply to it directly, they can certainly do once they join a European university as students and spend a seimester visiting another university.&lt;/p&gt;&#xA;" OwnerUserId="879" LastActivityDate="2011-07-28T18:31:48.667" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7545" PostTypeId="1" AcceptedAnswerId="7548" CreationDate="2011-07-28T18:32:14.013" Score="9" ViewCount="522" Body="&lt;p&gt;So, I'm reading a bit about elaboration, particularly, algorithms based on the Bicolored Calculus of Construction, and I'm a bit confused. I don't understand what exactly the purpose of the $CC^{bi}$ is. It seems to be identical to $CC$ except there is a distinction between implicit and explicit arguments for functions. In particular, I don't see how it allows you to write $(id\; 0)$ instead of $(id\; \mathbb{N}\; 0)$. If we assume a system for global definitions, then,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$id : (\Pi A\; |\; \mathsf{Type}\; . (\Pi x : A\; . A))$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;and&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$id = (\lambda A\; |\; \mathsf{Type}\; . (\lambda x : A . x))$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Do the rules really allow for $(id\; 0)$? Of course the syntax does, but I don't see it in the typing relation. Am I missing something? Am I understanding the role of $CC^{bi}$ incorrectly?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, isn't the property of confluence lost? I guess my problem is that I'm reading about elaboration without having read much about $CC^{bi}$ before this. What's a good paper that introduces it and it alone?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit:&lt;/strong&gt; To be more specific, I am asking how $(id\; 0)$ is accepted in place of $(id\; \mathbb{N}\; 0)$ when the rules for both explicit and implicit $\Pi$ application are identical modulo sytnax. I see no difference between $:$ and $|$ the rules for both seem the same.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit:&lt;/strong&gt; I am not talking about the Implicit Calculus of Constructions, which is a different theory and has different rules for explicit $\Pi$'s (application vs. generation.) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit:&lt;/strong&gt; Okay, I think I'm starting to understand this but I won't answer this question until I'm sure. Basically $(id\; 0)$ does not type check and in fact it is just elaborated to $(id\; \mathbb{N}\; 0)$ right before type checking or done as a secondary responsbility of the type checking algorithm. Essentially these implicit calculi are intended to be interface (user-end) languages which are elaborated into the usual (explicit) calculi or at least the explicit fragment of the implicit calculi before the terms are type checked. If that is the case, then I think I see the big picture. Can someone please confirm this?&lt;/p&gt;&#xA;" OwnerUserId="5167" LastEditorUserId="5167" LastEditDate="2011-07-29T03:32:24.243" LastActivityDate="2017-11-16T17:06:35.797" Title="What is the role of the Bicolored Calculus of Constructions?" Tags="&lt;type-theory&gt;&lt;lambda-calculus&gt;&lt;type-inference&gt;&lt;dependent-type&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="7547" PostTypeId="2" ParentId="7532" CreationDate="2011-07-28T21:20:51.767" Score="8" Body="&lt;p&gt;A recent &lt;a href=&quot;http://eccc.hpi-web.de/report/2010/152/&quot; rel=&quot;nofollow&quot;&gt;paper&lt;/a&gt; by Alexey Pospelov appears to give the state of the art.  (It isn't the first to achieve the bounds I'll quote, but it achieves them in a unified way for arbitrary fields, and equally importantly, it states the bounds clearly, see p. 3.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\bullet$ We can multiply two degree-$n$ polynomials over an arbitrary field $\mathbb{F}$ using $O(n \log n)$ multiplications in $\mathbb{F}$ and $O(n \log n \log \log n)$ additions in $\mathbb{F}$.  This is originally due to Schonhage-Strassen (for char. $\neq 2$) and Schonhage for char. 2.  As I mentioned, this implies the same bounds for cyclic convolution.  Pospelov also states, &#xA;&quot;We are currently not aware of any algorithms with an upper bound of [the above] that are not based on consecutive DFT applications...&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\bullet$ Cantor and Kaltofen generalized these results, showing the bounds hold for arbitrary algebras (not just fields).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\bullet$ If $\mathbb{F}$ supports Discrete Fourier Transform of appropriate order, that is, if $\mathbb{F}$ has a primitive $N$-th root of unity where $N$ is large enough (I believe $N = O(n)$ suffices) and $N$ is a power of 2 or 3, then we can do polynomial multiplication with $O(n)$ multiplications and $O(n \log n)$ additions.  Various other improvements are possible for fields with other special properties.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\bullet$ It seems to be plausible, but unknown, whether Furer's recent &lt;a href=&quot;http://www.cse.psu.edu/~furer/Papers/mult.pdf&quot; rel=&quot;nofollow&quot;&gt;improvement&lt;/a&gt; in integer multiplication (&lt;a href=&quot;http://arxiv.org/abs/0801.1416&quot; rel=&quot;nofollow&quot;&gt;reproved&lt;/a&gt; in a different way by De et al.) can help lead to faster polynomial multiplication algorithms, over finite fields say.  Can anyone comment?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Todd Mateer's &lt;a href=&quot;http://cr.yp.to/f2mult/mateer-thesis.pdf&quot; rel=&quot;nofollow&quot;&gt;thesis&lt;/a&gt; also seems like an excellent resource to understand the FFT literature and applications to polynomial multiplication (thanks Jug!); but you have to dig more to find what you're looking for.&lt;/p&gt;&#xA;" OwnerUserId="223" LastActivityDate="2011-07-28T21:20:51.767" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="7548" PostTypeId="2" ParentId="7545" CreationDate="2011-07-28T21:57:52.530" Score="9" Body="&lt;p&gt;In &lt;a href=&quot;https://www.fing.edu.uy/~amiquel/publis/tlca01.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;&lt;em&gt;The Implicit Calculus of Constructions&#xA;Extending Pure Type Systems with&#xA;an Intersection Type Binder and Subtyping&lt;/em&gt;&lt;/a&gt;, Alexandre Miquel introduces the basic concepts for the Implicit Calculus of Constructions, which I believe is synonymous with the Bicolored Calculus of Constructions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The point is (among other things) to have a calculus without the clutter of explicit type annotations everywhere. Type inference is (very likely to be) undecidable though.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In this calculus, if we take $id=\lambda x. x$, then you can derive&#xA;$$ \vdash id\colon \forall X\colon Type. X\rightarrow X$$ &#xA;by simply using the explicit product and the implicit product rules in succession. Then the instantiation rule for the implicit product allows&#xA;$$ \vdash id\colon Nat\rightarrow Nat $$&#xA;and so&#xA;$$ \vdash id\ 0 \colon Nat$$&#xA;The system admits subject reduction and confluence, even on untyped terms (which in fact fails for calculi with abstraction annotations). All this can be found in Alexandre's thesis, which is sadly in French. Not sure I have a better reference for these results though I'm afraid.&lt;/p&gt;&#xA;" OwnerUserId="3984" LastEditorUserId="3984" LastEditDate="2017-11-16T17:06:35.797" LastActivityDate="2017-11-16T17:06:35.797" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="7550" PostTypeId="1" CreationDate="2011-07-29T03:01:27.050" Score="10" ViewCount="362" Body="&lt;p&gt;My question is about the equivalence of the security of various candidate one-way functions that can be constructed based on the hardness of factoring. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assuming the problem of&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;FACTORING:[Given $N = PQ$ for random primes $P, Q &amp;lt; 2^n$, find $P$, $Q$.]&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;cannot be solved in polynomial time with nonnegligible probability, the function&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;PRIME-MULT: [Given bit string $x$ as input, use $x$ as a seed to generate two random primes $P$ and $Q$ (where the lengths of $P$, $Q$ are only polynomially smaller than the length of $x$); then output $PQ$.]&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;can be shown to be one-way.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another candidate one-way function is&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;INTEGER-MULT: [Given random integers $A, B &amp;lt; 2^n$ as input, output $A B$.]&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;INTEGER-MULT has the advantage that it is easier to define compared to PRIME-MULT. (Notice in particular that in PRIME-MULT, there is a chance (though fortunately negligible) that the seed $x$ fails to generate $P, Q$ that are prime.) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;At least in two different places (Arora-Barak, Computational Complexity, page 177, footnote 2) and (&lt;a href=&quot;http://people.seas.harvard.edu/~salil/cs120/docs/lec7.pdf&quot; rel=&quot;nofollow&quot;&gt;Vadhan's Introduction to Cryptography lecture notes&lt;/a&gt;) it is mentioned that INTEGER-MULT is one-way assuming average hardness of factoring. However, neither of these two gives the reason or a reference for this fact.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So the question is:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;How can we reduce in polynomial time factoring of $N = PQ$ with nonnegligible probability to inverting INTEGER-MULT with nonnegligible probability?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Here is a possible approach (that as we will see does NOT work!):&#xA;Given $N = PQ$, multiply $N$ by a much (though polynomially) longer random integer $A&amp;#39;$ to get $A = NA&amp;#39;$. The idea is that $A&amp;#39;$ is so large that it has lots of prime factors of size roughly equal to $P, Q$, so that $P, Q$ do not &quot;stand out&quot; among the prime factors of $A$. Then $A$ has approximately the distribution of a uniformly random integer at a given range (say $[0,2^n-1]$). Next choose integer $B$ randomly from the same range $[0,2^n-1]$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now if an inverter for INTEGER-MULT can, given $AB$, with some probability find $A&amp;#39;, B&amp;#39; &amp;lt; 2^n$ such that $A&amp;#39;B&amp;#39; = AB$, the hope is that one of $A&amp;#39;$ or $B&amp;#39;$ contains $P$ as a factor and the other contains $Q$. If that was the case, we can find $P$ or $Q$ by taking gcd of $A&amp;#39;$ with $N = PQ$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem is that the inverter may choose to separate the prime factors, for example, putting the small factors of $AB$ in $A&amp;#39;$ and the large ones in $B&amp;#39;$, so that $P$ and $Q$ end up both in $A&amp;#39;$ or both in $B&amp;#39;$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there another approach that works?&lt;/p&gt;&#xA;" OwnerUserId="6050" LastEditorUserId="186" LastEditDate="2011-08-19T08:45:30.227" LastActivityDate="2011-08-19T08:45:30.227" Title="Reducing factoring prime products to factoring integer products (in average-case)" Tags="&lt;reference-request&gt;&lt;cr.crypto-security&gt;&lt;nt.number-theory&gt;&lt;average-case-complexity&gt;&lt;one-way-function&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7552" PostTypeId="1" AcceptedAnswerId="7555" CreationDate="2011-07-29T07:34:06.800" Score="29" ViewCount="1404" Body="&lt;p&gt;The &lt;a href=&quot;http://en.wikipedia.org/wiki/Valiant%E2%80%93Vazirani_theorem&quot;&gt;Valiant-Vazirani&lt;/a&gt; theorem says that if there is a polynomial time algorithm (deterministic or randomized) for distinguishing between a SAT formula that has exactly one satisfying assignment, and an unsatisfiable formula - then &lt;strong&gt;NP=RP&lt;/strong&gt;. This theorem is proved by showing that UNIQUE-SAT is &lt;strong&gt;NP&lt;/strong&gt;-hard under &lt;em&gt;randomized&lt;/em&gt; reductions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Subject to plausible derandomization conjectures, the Theorem can be strengthened to &quot;an efficient solution to UNIQUE-SAT implies &lt;strong&gt;NP = P&lt;/strong&gt;&quot;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;My first instinct was to think that implied there exists a &lt;em&gt;deterministic&lt;/em&gt; reduction from 3SAT to UNIQUE-SAT, but it's not clear to me how this particular reduction can be derandomized. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is: what is believed or known about &quot;derandomizing reductions&quot;? Is it/should it be possible? What about in the case of V-V? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since UNIQUE-SAT is complete for &lt;strong&gt;PromiseNP&lt;/strong&gt; under randomized reductions, can we use a derandomization tool to show that &quot;a deterministic polynomial time solution to UNIQUE-SAT implies that &lt;strong&gt;PromiseNP = PromiseP&lt;/strong&gt;? &lt;/p&gt;&#xA;" OwnerUserId="170" LastEditorUserId="80" LastEditDate="2011-07-29T19:14:12.860" LastActivityDate="2014-03-09T06:01:02.233" Title="Derandomizing Valiant-Vazirani?" Tags="&lt;cc.complexity-theory&gt;&lt;reductions&gt;&lt;derandomization&gt;&lt;unique-solution&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="7553" PostTypeId="2" ParentId="7528" CreationDate="2011-07-29T09:14:02.423" Score="45" Body="&lt;p&gt;&lt;b&gt;Preparatory Rant&lt;/b&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I've gotta tell you, I don't see how talking about &quot;proofs&quot; of the CT or ECT adds any light to this discussion.  Such &quot;proofs&quot; tend to be exactly as good as the assumptions they rest on---in other words, as what they take words like &quot;computation&quot; or &quot;efficient computation&quot; to mean.  So then why not proceed right away to a discussion of the assumptions, and dispense with the word &quot;proof&quot;?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;That much was clear already with the original CT, but it's even clearer with ECT---since not only is the ECT &quot;philosophically unprovable,&quot; but today it's widely believed to be false!  To me, quantum computing is the huge, glaring counterexample that ought to be the starting point for any modern discussion about the ECT, not something shunted off to the side.  Yet the paper by Dershowitz and Falkovich doesn't even touch on QC until the last paragraph:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;The above result does not cover large-scale parallel computation, such as quantum computation, as it posits that there is a fixed bound on the degree of parallelism, with the number of critical terms fixed by the algorithm.  The question of relatively [sic] complexity of parallel models will be pursued in the near future.&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I found the above highly misleading: QC is &lt;i&gt;not&lt;/i&gt; a &quot;parallel model&quot; in any conventional sense.  In quantum mechanics, there's no direct communication between the &quot;parallel processes&quot;---only interference of amplitudes---but it's also easy to generate an exponential number of &quot;parallel processes.&quot;  (Indeed, one could think of every physical system in the universe as doing so as we speak!)  In any case, whatever you think about the interpretation of quantum mechanics (or even its truth or falsehood), it's clear that it requires a separate discussion!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;b&gt;Now, on to your (interesting) questions!&lt;/b&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;No, I don't know of any convincing counterexample to the ECT other than quantum computing.  In other words, &lt;i&gt;if&lt;/i&gt; quantum mechanics had been false (in a way that still kept the universe more &quot;digital&quot; than &quot;analog&quot; at the Planck scale---see below), then the ECT as I understand it &lt;i&gt;still&lt;/i&gt; wouldn't be &quot;provable&quot; (since it would still depend on empirical facts about what's efficiently computable in the physical world), but it would be a good working hypothesis.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Randomization probably doesn't challenge the ECT as it's conventionally understood, because of the strong evidence today that P=BPP.  (Though note that, &lt;i&gt;if&lt;/i&gt; you're interested in settings other than language decision problems---for example, relational problems, decision trees, or communication complexity---then randomization provably &lt;i&gt;can&lt;/i&gt; make a huge difference.  And those settings are perfectly reasonable ones to talk about; they're just not the ones people typically have in mind when they discuss the ECT.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The other class of &quot;counterexamples&quot; to the ECT that's often brought up involves analog or &quot;hyper&quot; computing.  My own view is that, on our best current understanding of physics, analog computing and hypercomputing &lt;i&gt;cannot&lt;/i&gt; scale, and the reason why they can't, ironically, is quantum mechanics!  In particular, while we don't yet have a quantum theory of gravity, what's known today suggests that there are fundamental obstacles to running more than about 10&lt;sup&gt;43&lt;/sup&gt; computation steps per second, or resolving distances smaller than about 10&lt;sup&gt;-33&lt;/sup&gt; cm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, &lt;i&gt;if&lt;/i&gt; you want to assume out of discussion anything that might be a plausible or interesting challenge to the ECT, and only allow serial, discrete, deterministic computation, &lt;i&gt;then&lt;/i&gt; I agree with Dershowitz and Falkovich that the ECT holds! :-)  But even there, it's hard to imagine a &quot;formal proof&quot; increasing my confidence in that statement -- the real issue, again, is just what we take words like &quot;serial&quot;, &quot;discrete&quot;, and &quot;deterministic&quot; to &lt;i&gt;mean&lt;/i&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As for your last question:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;Quantum computing would be a likely counterexample, if in fact it can be instantiated, but are there possibilities &quot;weaker&quot; than quantum that would be counterexamples as well?&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Today, there are lots of interesting examples of physical systems that seem able to implement &lt;i&gt;some&lt;/i&gt; of quantum computing, but not all of it (yielding complexity classes that might be intermediate between BPP and BQP).  Furthermore, many of these systems might be easier to realize than a full universal QC.  See for example &lt;a href=&quot;http://rspa.royalsocietypublishing.org/content/early/2009/02/18/rspa.2008.0443.abstract&quot;&gt;this paper&lt;/a&gt; by Bremner, Jozsa, and Shepherd, or &lt;a href=&quot;http://www.scottaaronson.com/papers/optics.pdf&quot;&gt;this one&lt;/a&gt; by Arkhipov and myself.&lt;/p&gt;&#xA;" OwnerUserId="1575" LastEditorUserId="1575" LastEditDate="2011-07-29T17:00:07.293" LastActivityDate="2011-07-29T17:00:07.293" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="7554" PostTypeId="2" ParentId="7550" CreationDate="2011-07-29T10:52:15.600" Score="4" Body="&lt;p&gt;This is not really an answer, yet it sheds some light on the difficulty of demonstrating such reductions.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;The problem can be summarized as follows:&#xA;Let $\mathcal{A}$ be an algorithm which solves the INTEGER-MULT problem with non-negligible probability. Let this probability be at least $n^{-c}$, for some constant $c \in \mathbb{N}$ (when the size of input is $n$). Prove that there exists a PPT (probabilistic polynomial-time) algorithm $\mathcal{A}&amp;#39;$ which, uses $\mathcal{A}$ as subroutine, and solves an instance of the FACTORING problem of size $n$ with probability at least $n^{-d}$, for some constant $d \in \mathbb{N}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider an algorithm $\mathcal{A}^*$ which solves the INTEGER-MULT problem if and only if the input $N$ has the &lt;strong&gt;special from&lt;/strong&gt; $N = PQR$, where $P$ and $Q$ are primes of size $n/4$ and $R$ is a prime of size $n/2$, and otherwise fails. Moreover, on input an integer $N$ of the above form, it outputs $PQ$ and $R$. We first show that $\mathcal{A}^*$ has a non-negligible probability of solving the INTEGER-MULT problem. To this end, it suffices to find the fraction of $n$-bit integers of the special form, as this fraction bounds the success probability of $\mathcal{A}^*$ from below.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By &lt;a href=&quot;http://en.wikipedia.org/wiki/Prime_number_theorem&quot; rel=&quot;nofollow&quot;&gt;prime number theorem&lt;/a&gt;, the number of primes whose size is $k$-bits is:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$2^k / \ln(2^k) - 2^{k-1} / \ln(2^{k-1}) = \Theta(2^k / k)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Therefore, the fraction of $n$-bit integers of the special form is:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\frac{\Theta(2^{n/4} / (n/4))^2 \cdot \Theta(2^{n/2} / (n/2))}{2^{n-1}} = \Theta(n^{-3})$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;which is non-negligible in $n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Therefore, one should be able to prove the existence of a PPT algorithm $\mathcal{A}&amp;#39;$ which, uses $\mathcal{A}^*$ as subroutine, and solves an instance of the FACTORING problem of size $n$ with probability at least $n^{-d}$, for some constant $d \in \mathbb{N}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;IMHO, this seems a very difficult task, since $\mathcal{A}^*$ only (partially) decomposes integers of the special form, and there does not seem to be a way to use it to decompose integers of the form $PQ$.&lt;/p&gt;&#xA;" OwnerUserId="873" LastEditorUserId="873" LastEditDate="2011-07-29T12:24:25.283" LastActivityDate="2011-07-29T12:24:25.283" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7555" PostTypeId="2" ParentId="7552" CreationDate="2011-07-29T14:51:34.947" Score="32" Body="&lt;p&gt;Under the right derandomization assumptions (see &lt;a href=&quot;http://dx.doi.org/10.1145/301250.301428&quot;&gt;Klivans-van Melkebeek&lt;/a&gt;) you get the following: There is a polytime computable $f(\phi)=(\psi_1,\ldots,\psi_k)$ s.t. for all $\phi$,&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;If $\phi$ is satisfiable then at least one of the $\psi_i$ has exactly one satisfying assignment.&lt;/li&gt;&#xA;&lt;li&gt;If $\phi$ is not satisfiable then all of the $\psi_i$ are unsatisfiable.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;You need k polynomial in then length of $\phi$. Probably can't be done for $k=1$.&lt;/p&gt;&#xA;" OwnerUserId="550" LastActivityDate="2011-07-29T14:51:34.947" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="7556" PostTypeId="2" ParentId="7494" CreationDate="2011-07-29T19:41:38.313" Score="2" Body="&lt;p&gt;If I think about how many things a CPU does to compute the factorial of 3, say in Python, then a few hundred reductions are not a big deal at all.&lt;/p&gt;&#xA;" OwnerUserId="705" LastActivityDate="2011-07-29T19:41:38.313" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7558" PostTypeId="1" AcceptedAnswerId="7560" CreationDate="2011-07-30T02:47:39.570" Score="7" ViewCount="1604" Body="&lt;p&gt;I have read in a paper where nonlinear operators for quantum computers implies the solving of problems in #P time. See &lt;a href=&quot;http://arxiv.org/pdf/quant-ph/9801041&quot; rel=&quot;noreferrer&quot;&gt;http://arxiv.org/pdf/quant-ph/9801041&lt;/a&gt; .&#xA;What would be the simplest realization of this? Could you limit its power to solve easy problems in #P Also is this equiavlent to $PostBQP$ or any other complexity class?&lt;/p&gt;&#xA;" OwnerUserId="5385" LastActivityDate="2015-09-09T01:14:46.890" Title="Physical realization of nonlinear operators for quantum computers." Tags="&lt;cc.complexity-theory&gt;&lt;quantum-computing&gt;&lt;physics&gt;" AnswerCount="3" CommentCount="1" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="7559" PostTypeId="1" CreationDate="2011-07-30T03:20:31.433" Score="9" ViewCount="1737" Body="&lt;p&gt;What is the average number of publications (including conference proceedings), per year, for CS postdoctoral researchers in the US? What are the ways to find out or estimate this number?&lt;/p&gt;&#xA;" OwnerUserId="4902" LastEditorUserId="1037" LastEditDate="2011-07-31T16:51:08.083" LastActivityDate="2011-08-01T18:42:28.547" Title="The average number of annual publications for CS postdocs" Tags="&lt;soft-question&gt;&lt;advice-request&gt;&lt;research-practice&gt;&lt;career&gt;" AnswerCount="2" CommentCount="6" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="7560" PostTypeId="2" ParentId="7558" CreationDate="2011-07-30T03:55:14.993" Score="18" Body="&lt;p&gt;Short answer: if you believe quantum mechanics is an accurate description of nature, then since QM is a linear theory, it isn't possible to physically realize nonlinear operations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As far as we know, the only nonlinear operation in quantum mechanics is that of measurement, but it's of a very restricted kind: measurement only happens at the end of your computation, and it doesn't allow you to amplify exponentially small amplitudes into non-trivial ones (except with negligible probability).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, the kinds of nonlinearities discussed by the Abrams and Lloyd paper (as well as others) are generally those that allow you to take a quantum state with exponentially small amplitude, and amplify it to something nontrivial. We don't believe that it is possible to physically realize these nonlinear operations. Why? If it were possible, then you would be able to solve &lt;strong&gt;#P&lt;/strong&gt; problems efficiently! From a complexity point of view, this consequence effectively chucks out the assumption. Being able to solve &lt;strong&gt;NP&lt;/strong&gt;-complete problems efficiently is laughable; to handle &lt;strong&gt;#P&lt;/strong&gt; with ease is a bad joke taken a little too far. The Abrams and Lloyd paper can be understood as an argument &lt;em&gt;against&lt;/em&gt; the possibility of nonlinear quantum mechanics.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To try to answer the last part of your question: if there existed nonlinear quantum gates like described in the Abrams and Lloyd paper, then &lt;strong&gt;PostBQP&lt;/strong&gt; could certainly be simulated by their nonlinear quantum computer (because &lt;strong&gt;PostBQP = PP&lt;/strong&gt; by a result of Aaronson, and their nonlinear quantum computer can solve &lt;strong&gt;#P&lt;/strong&gt;-complete problems efficiently).&lt;/p&gt;&#xA;" OwnerUserId="170" LastEditorUserId="170" LastEditDate="2011-07-30T07:17:50.303" LastActivityDate="2011-07-30T07:17:50.303" CommentCount="14" ContentLicense="CC BY-SA 3.0" />
  <row Id="7561" PostTypeId="1" CreationDate="2011-07-30T07:10:30.140" Score="27" ViewCount="3354" Body="&lt;p&gt;As stated in the title, I wonder any relation and difference between CIC and ITT. Could someone explain or point to me some literature that compares these two systems? Thanks.&lt;/p&gt;&#xA;" OwnerUserId="656" LastActivityDate="2018-01-14T18:23:00.517" Title="What's the relation and difference between Calculus of Inductive Constructions and Intuitionistic Type Theory?" Tags="&lt;type-theory&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="15" ContentLicense="CC BY-SA 3.0" />
  <row Id="7562" PostTypeId="2" ParentId="7512" CreationDate="2011-07-30T07:57:20.740" Score="0" Body="&lt;p&gt;I may very well be missing the point but you stated that $n$ is fixed, so all DFAs of that size could be considered precomputed and stored in an easily simulatable format. Compute $K$ as follows:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On input $x$, $y$ where $x,y\in\Sigma^*$&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;store $x$ and $y$&lt;/li&gt;&#xA;&lt;li&gt;initialize counter $c$ to $0$&lt;/li&gt;&#xA;&lt;li&gt;for each of your $n^{2n} 2^n$ DFAs&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;a. simulate it on both words  (this step is $\mathcal{O}(|xy|)$)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;b. increment $c$ if both simulation runs are accepting&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;output $c$&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Altogether, the computation has linear complexity. The answer is quite different for $K(n,x,y)$.&lt;/p&gt;&#xA;" OwnerUserId="3552" LastActivityDate="2011-07-30T07:57:20.740" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="7563" PostTypeId="1" AcceptedAnswerId="7963" CreationDate="2011-07-30T10:15:56.010" Score="17" ViewCount="1717" Body="&lt;h3&gt;Background&lt;/h3&gt;&#xA;&lt;p&gt;A binary decision tree &lt;span class=&quot;math-container&quot;&gt;$T$&lt;/span&gt; is a rooted tree where each internal node (and root) is labeled by an index &lt;span class=&quot;math-container&quot;&gt;$j \in \{1,..., n\}$&lt;/span&gt; such that no path from root to leaf repeats an index, the leafs are labeled by outputs in &lt;span class=&quot;math-container&quot;&gt;$\{A,B\}$&lt;/span&gt;, and each edge is labeled by &lt;span class=&quot;math-container&quot;&gt;$0$&lt;/span&gt; for the left child and &lt;span class=&quot;math-container&quot;&gt;$1$&lt;/span&gt; for the right child. To apply a tree to an input &lt;span class=&quot;math-container&quot;&gt;$x$&lt;/span&gt;:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Start at the root&lt;/li&gt;&#xA;&lt;li&gt;if you are at leaf, you output the leaf label &lt;span class=&quot;math-container&quot;&gt;$A$&lt;/span&gt; or &lt;span class=&quot;math-container&quot;&gt;$B$&lt;/span&gt; and terminate&lt;/li&gt;&#xA;&lt;li&gt;Read the label &lt;span class=&quot;math-container&quot;&gt;$j$&lt;/span&gt; of your current node, if &lt;span class=&quot;math-container&quot;&gt;$x_j = 0$&lt;/span&gt; then move to the left child and if &lt;span class=&quot;math-container&quot;&gt;$x_j = 1$&lt;/span&gt; then move to the right child.&lt;/li&gt;&#xA;&lt;li&gt;jump to step (2)&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;The tree is used as a way to evaluate a functions, in particular we say a tree &lt;span class=&quot;math-container&quot;&gt;$T$&lt;/span&gt; represents a total function &lt;span class=&quot;math-container&quot;&gt;$f$&lt;/span&gt; if for each &lt;span class=&quot;math-container&quot;&gt;$x \in \{0,1\}^n$&lt;/span&gt; we have &lt;span class=&quot;math-container&quot;&gt;$T(x) = f(x)$&lt;/span&gt;. The query complexity of a tree is its depth, and the query complexity of a function is the depth of the smallest tree that represents it.&lt;/p&gt;&#xA;&lt;hr /&gt;&#xA;&lt;h3&gt;Problem&lt;/h3&gt;&#xA;&lt;p&gt;Given a binary decision tree T output a binary decision tree T' of minimal depth such that T and T' represent the same function.&lt;/p&gt;&#xA;&lt;h3&gt;Question&lt;/h3&gt;&#xA;&lt;p&gt;What is the best known algorithm for this? Are any lower bounds known? What if we know that the &lt;span class=&quot;math-container&quot;&gt;$\text{depth}(T') = O(\log \text{depth}(T))$&lt;/span&gt;? What about if we only require &lt;span class=&quot;math-container&quot;&gt;$T'$&lt;/span&gt; to be of approximately minimal depth?&lt;/p&gt;&#xA;&lt;hr /&gt;&#xA;&lt;h3&gt;Naive approach&lt;/h3&gt;&#xA;&lt;p&gt;The naive approach is given &lt;span class=&quot;math-container&quot;&gt;$d = \text{depth}(T)$&lt;/span&gt; to recursively enumerate all binary decision trees of depth &lt;span class=&quot;math-container&quot;&gt;$d - 1$&lt;/span&gt; while testing if they evaluate to the same thing as &lt;span class=&quot;math-container&quot;&gt;$T$&lt;/span&gt;. This seems to require &lt;span class=&quot;math-container&quot;&gt;$O(\frac{d 2^n n!}{(n - d)!})$&lt;/span&gt; steps (assuming that it takes &lt;span class=&quot;math-container&quot;&gt;$d$&lt;/span&gt; steps to check what &lt;span class=&quot;math-container&quot;&gt;$T(x)$&lt;/span&gt; evaluates to for an arbitrary &lt;span class=&quot;math-container&quot;&gt;$x$&lt;/span&gt;). Is there a better approach?&lt;/p&gt;&#xA;&lt;h3&gt;Motivation&lt;/h3&gt;&#xA;&lt;p&gt;This question is motivated by a previous question on the &lt;a href=&quot;https://cstheory.stackexchange.com/q/7413/1037&quot;&gt;trade off between query complexity and time complexity&lt;/a&gt;. In particular, the goal is to bound the time separation for total functions. We can make a tree &lt;span class=&quot;math-container&quot;&gt;$T$&lt;/span&gt; from a time optimal algorithm with runtime &lt;span class=&quot;math-container&quot;&gt;$t$&lt;/span&gt;, and then we would like to convert it to a tree &lt;span class=&quot;math-container&quot;&gt;$T'$&lt;/span&gt; for a query optimal algorithm. Unfortunately, if &lt;span class=&quot;math-container&quot;&gt;$t \in O(n!/(n - d)!)$&lt;/span&gt; (and often &lt;span class=&quot;math-container&quot;&gt;$d \in \Theta(n)$&lt;/span&gt;) the bottleneck is the conversion. It would be nice if we could replace &lt;span class=&quot;math-container&quot;&gt;$n!/(n - d)!$&lt;/span&gt; by something like &lt;span class=&quot;math-container&quot;&gt;$2^d$&lt;/span&gt;.&lt;/p&gt;&#xA;" OwnerUserId="1037" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2013-11-05T20:47:30.290" Title="Algorithm for optimizing decision trees" Tags="&lt;ds.algorithms&gt;&lt;query-complexity&gt;&lt;decision-trees&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="7564" PostTypeId="1" CreationDate="2011-07-30T12:38:06.937" Score="2" ViewCount="215" Body="&lt;p&gt;Assume Bob wants to share a secret with Alice.&#xA;Assume he can only send messages using a one-sided channel which is insecure and unreliable.&#xA;Unreliable, meaning: Alice only gets messages sent over this channel with probability $P$.&#xA;Insecure, meaning: Mallory the bad guy can read any message sent over this channel with probability $P&amp;#39;$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assuming $P&amp;gt;P&amp;#39;$, Bob can use $(n,k)$-secret sharing when $P&amp;gt;k/n&amp;gt;P&amp;#39;$.&#xA;As Bob increases $n$, the probability that Alice receives a correct message increases and that Mallory receives a correct message decreases.&#xA;This is because the mean of secret shares Alice and Bob get remains $P n$ and $P&amp;#39; n$ respectively, while the standard deviation drops as $n$ increases.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But there is more than one way to do this. For example, Bob and Alice could choose a relatively small $n$, transfer TWO secrets s.t. their XOR is the original secret. In this case Mallory's probability of learning the original secret will be squared, and decrease much faster than Alice's.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So my question is: Is 'classic' secret sharing ALWAYS the best way (giving the smallest possible $n$ for a given $P$ and $P'$)? I could not find a counter-example yet.&lt;/p&gt;&#xA;" OwnerUserId="6058" LastEditorUserId="6058" LastEditDate="2011-08-05T09:02:15.443" LastActivityDate="2011-08-05T09:02:15.443" Title="Reducing $n$ in $(n,k)$ secret sharing while keeping it effective" Tags="&lt;cr.crypto-security&gt;&lt;pr.probability&gt;" AnswerCount="2" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="7565" PostTypeId="2" ParentId="7564" CreationDate="2011-07-30T13:50:17.927" Score="0" Body="&lt;p&gt;In the absence of any messages inserted by Mallory, the accepted secret sharing technique uses the &lt;a href=&quot;http://en.wikipedia.org/wiki/Diffie_hellman&quot; rel=&quot;nofollow&quot;&gt;diffie helman&lt;/a&gt; exchange (even if Mallory got all messages she wouldn't be able to get the secret). This relies on discrete logarithms being hard to compute.&lt;/p&gt;&#xA;" OwnerUserId="5737" LastEditorUserId="3964" LastEditDate="2011-07-30T14:52:51.080" LastActivityDate="2011-07-30T14:52:51.080" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="7566" PostTypeId="2" ParentId="7512" CreationDate="2011-07-30T17:50:54.067" Score="1" Body="&lt;p&gt;So the question is pretty brief but very interesting. I suppose that the input is $n$ in unary, and $x$ and $y$ in binary (or we have problems, as pointed out by Kai's answer).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First of all, if you are interested in knowing $K(x,y)$ approximately, then you can just generate a few random DFA's and this will give you (whp) a good approximation. (I wonder if this complexity class has a name.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then knowing $K(x,y)$ precisely seems like a tough problem. As pointed out in the comments by a3_nm and Kaveh, the question is equivalent to determining the number of automata for which $x$ and $y$ go to the same state. I will denote the probability that they go to the same state by $p$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Update: Some of the things I wrote here were not true, now I fixed them.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is easy to see that $p \ge 1/n$. We have equality, if $x$ is all 0's and $y$ is all zero except for its last bit, which is a 1. Are there other cases? I don't know. If for example $x$ is the empty string and $y=00$, then $p= \frac{n+1}{(n-1)n}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To simplify the problem, I even started to think about what happens if $x$ and $y$ are unary. If both are at least $n$ and their difference is divisible by $n!$, then $p=1$. Is there a simple formula for the unary version?&lt;/p&gt;&#xA;" OwnerUserId="419" LastEditorUserId="419" LastEditDate="2011-07-31T09:21:54.743" LastActivityDate="2011-07-31T09:21:54.743" CommentCount="13" ContentLicense="CC BY-SA 3.0" />
  <row Id="7569" PostTypeId="2" ParentId="7409" CreationDate="2011-07-30T22:21:19.773" Score="7" Body="&lt;p&gt;Never having worked or studied in Spain, I can not really help with local information. However, as I mentioned in the comments, the most obvious source for such funding in European universities (aside from internal university or departmental sources and local research councils) would be funding from the &lt;a href=&quot;http://erc.europa.eu/&quot; rel=&quot;nofollow&quot;&gt;European Research Council&lt;/a&gt;. The ERC has many different kinds of grants, including training networks and personal grants, which can often be used to fund overseas students from. Additionally, the European Commission offers funding for postgraduates and postdocs via &lt;a href=&quot;http://ec.europa.eu/research/mariecurieactions/&quot; rel=&quot;nofollow&quot;&gt;Marie Curie actions&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Further, there is the &lt;a href=&quot;http://en.csc.edu.cn/&quot; rel=&quot;nofollow&quot;&gt;China Scholarship Council&lt;/a&gt; which also offers support for students wishing to study abroad. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then there are the industry scholarships: &lt;a href=&quot;http://research.google.com/university/relations/doctoral_fellowships_europe.html&quot; rel=&quot;nofollow&quot;&gt;Google&lt;/a&gt;, &lt;a href=&quot;https://www.ibm.com/developerworks/university/phdfellowship/&quot; rel=&quot;nofollow&quot;&gt;IBM&lt;/a&gt;, &lt;a href=&quot;http://research.microsoft.com/en-us/collaboration/global/apply-europe.aspx#criteria&quot; rel=&quot;nofollow&quot;&gt;Microsoft&lt;/a&gt;, etc.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If either of the students is female, then there are more options (see Google's &lt;a href=&quot;http://www.google.com/anitaborg/&quot; rel=&quot;nofollow&quot;&gt;Anita Borg scholarship&lt;/a&gt;, etc.).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Lastly, many European countries have bilateral agreements with China or Chinese institutions which may be another potential source of funding.&lt;/p&gt;&#xA;" OwnerUserId="204" LastActivityDate="2011-07-30T22:21:19.773" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7571" PostTypeId="2" ParentId="7491" CreationDate="2011-07-31T08:51:08.607" Score="5" Body="&lt;p&gt;This response is independent of &lt;a href=&quot;https://cstheory.stackexchange.com/questions/7491/7493#7493&quot;&gt;my previous answer&lt;/a&gt;. It's goal is to address @Kaveh's concern in the comments: &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;It is easy to do if we wanted $\log n$ numbers, but I don't see how to do it even with $\log \log n$ numbers.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I had a similar concern: &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;The reduction used is a Cook reduction. One might be interested in carrying out the proof using Karp reductions.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;(Karp reductions are for decision problems. Here, by Karp reduction, I mean a single-query Cook reduction. Sorry for non-standard terminology!)&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;The answer below is based on the discussions here: &lt;a href=&quot;https://math.stackexchange.com/questions/54580/factoring-some-integer-in-the-given-interval&quot;&gt;https://math.stackexchange.com/questions/54580/factoring-some-integer-in-the-given-interval&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;In this answer, I will provide a &lt;em&gt;deterministic&lt;/em&gt; polynimial-time Karp reduction from &lt;strong&gt;factoring&lt;/strong&gt; to &lt;strong&gt;factoring the sum of two integers represented by their factorizations&lt;/strong&gt;. There's one catch, though: In the course of the proof, I will use the following number-theoretic assumption:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Cram%C3%A9r&amp;#39;s_conjecture&quot; rel=&quot;nofollow noreferrer&quot;&gt;Cramér's conjecture&lt;/a&gt;: for any two consecutive prime numbers $p_n$ and $p_{n+1}$, we have $p_{n+1} - p_n = O(\log^2p_n)$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Let $N$ be the input, and let $n=|N|=O(\log N)$. By Cramér's conjecture, for large enough $N$, there's at least one prime in the interval $[N - \log^3N, N]$. The length of this interval is $\log^3N = O(n^3)$. Therefore, this prime can be found in &lt;em&gt;deterministic&lt;/em&gt; polynomial time by &lt;strong&gt;brute force&lt;/strong&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $x$ be the prime number in $[N - \log^3N, N]$, and let $y=N-x$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since $0 \le y \le \log^3N$, we have $|y| = O(\log \log N) = O(\log n)$, and $y$ can be easily factorized (say, using &lt;a href=&quot;http://en.wikipedia.org/wiki/Trial_division&quot; rel=&quot;nofollow noreferrer&quot;&gt;trial division&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, submit $(x,y)$ along with their factorizations to the oracle, and get the factorization of $N = x+y$.&lt;/p&gt;&#xA;" OwnerUserId="873" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2011-07-31T08:51:08.607" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7573" PostTypeId="1" AcceptedAnswerId="7579" CreationDate="2011-07-31T16:50:58.667" Score="10" ViewCount="252" Body="&lt;p&gt;Given a mixed graph $G=(V,E,A)$ with edges $E$ and arcs $A$, find a matching in $E$ that minimizes the number of arcs in $G/M$, where $G/M$ is obtained from $G$ by contracting matched vertices and removing parallel arcs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is (the decision version of) this problem NP-complete? Has it been studied in the literature?&lt;/p&gt;&#xA;" OwnerUserId="2150" LastActivityDate="2011-08-01T17:23:23.003" Title="Finding a matching whose contraction minimizes the number of arcs in a graph" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;graph-theory&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7574" PostTypeId="1" AcceptedAnswerId="7576" CreationDate="2011-07-31T17:39:22.897" Score="36" ViewCount="2039" Body="&lt;p&gt;In essence, the question is:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;What is the least publishable unit for the ArXiv?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Of particular interest are fields that use the ArXiv extensively such as quantum computing. But comments on other fields and preprint services (like, ECCC &amp;amp; ePrint) are also welcome.&lt;/p&gt;&#xA;&lt;hr /&gt;&#xA;&lt;h3&gt;Detailed question&lt;/h3&gt;&#xA;&lt;p&gt;This is based on the following two questions:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/q/2328/1037&quot;&gt;When should you say what you know?&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/q/6770/1037&quot;&gt;How do you decide when you have enough research results to write a paper and to which journal you submit the paper&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;In particular, on Jukka Suomela's comment on this &lt;a href=&quot;https://cstheory.stackexchange.com/questions/2328/when-should-you-say-what-you-know/2329#2329&quot;&gt;answer&lt;/a&gt;:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;I think ArXiving your results ASAP is a good idea. Please keep in mind that an ArXiv manuscript does not need to constitute a minimum publishable unit. I think it is perfectly ok to submit a 2-page proof to ArXiv, even though it would be obviously too short as a conference or journal paper. Resolving an open problem that other people would like to solve is more than enough.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;In my field (quantum computing) it seems that every preprint I see on the ArXiv is a publication-level paper, released early so that we don't have to wait for conference proceedings or journal turnaround. It is intimidating to submit something that is not at publication-level. Is it alright to put up results which are partial or only slight extensions of existing work? Is it alright to put up results that are potentially interesting (i.e. you've given some talks on them and not everybody fell asleep) but you doubt would get into a top-conference or journal? Do you have advice on when to share results on ArXiv or similar preprint-servers? Can sharing results early hurt you?&lt;/p&gt;&#xA;&lt;hr /&gt;&#xA;&lt;h3&gt;Some specific background&lt;/h3&gt;&#xA;&lt;p&gt;Just to make the question more personal, I'll include a further motivation. However, I am hoping to receive answers that give &lt;b&gt;more general guidelines&lt;/b&gt; that I (and others) could follow in the future.&lt;/p&gt;&#xA;&lt;p&gt;I did some work on unitary t-designs in which I extended an existing theorem (in a way that is kind of useful, but the proof of the original just needs to be modified slightly -- so no new idea; i.e. when I talked to the author of the earlier paper his comment was along the lines of &amp;quot;oh cool, didn't think about that&amp;quot;, and for the proof I had to say about a sentence and then he was like &amp;quot;okay, I see how you would prove that&amp;quot;), proved some easy results, and provided an alternative proof of a lower bound.&lt;/p&gt;&#xA;&lt;p&gt;I wrote up a pretty verbose paper that I keep on my website, but unfortunately I am not well read enough in the field to really understand how it fits in the bigger picture (and I think that is the biggest weak-point, that I doubt I could overcome easily). I keep the text around mostly as a sort of &amp;quot;I worked on this&amp;quot; note and since I give talks on the topic sometimes. It has also come in useful once to a friend since I make a pretty gentle intro and so he used it as a basic starting point to relate some of his work to designs (although he didn't use any of the results in the paper, just like a lecture note on definitions).&lt;/p&gt;&#xA;&lt;p&gt;Would this be an example of something that I should put up on the ArXiv? or is the appropriate measure to keep it in on my website?&lt;/p&gt;&#xA;" OwnerUserId="1037" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2019-03-29T23:13:26.043" Title="What is the smallest result you publish on ArXiv?" Tags="&lt;soft-question&gt;&lt;advice-request&gt;&lt;research-practice&gt;&lt;paper-review&gt;" AnswerCount="4" CommentCount="0" FavoriteCount="11" ContentLicense="CC BY-SA 3.0" />
  <row Id="7575" PostTypeId="2" ParentId="7574" CreationDate="2011-07-31T18:42:30.057" Score="11" Body="&lt;p&gt;I think you should put this on the ArXiv. I would really recommend against putting papers which are less than a minimum publishable unit on the ArXiv if you are planning to do more work on them and incorporating them into a more complete conference or journal paper later (since I think your ArXiv papers should more or less mirror your conference and journal publications -- otherwise things get very confusing), but if you're not planning on doing anything else along these lines, I would recommend going ahead and posting it. I don't really see a downside.&lt;/p&gt;&#xA;" OwnerUserId="1677" LastActivityDate="2011-07-31T18:42:30.057" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7576" PostTypeId="2" ParentId="7574" CreationDate="2011-07-31T19:49:56.587" Score="23" Body="&lt;p&gt;ArXiv papers still need to be recognizable as papers. I'd only put something on the arXiv if I'd feel comfortable publishing it as a letter in a journal (like, say, Information Processing Letters). For stuff that's even smaller than that, but that I still want to put on some sort of public record, I'll just make a blog post.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But in your case, if you've written it up as a preprint anyway, and you clearly state in it how much or how little is new, then why not? ArXiv papers don't actually have to have any new research content — survey papers are also welcome — so a paper that's mostly a survey but that extends the problem a small step in some direction doesn't sound problematic to me.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2011-07-31T19:49:56.587" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7577" PostTypeId="2" ParentId="7564" CreationDate="2011-08-01T03:40:02.447" Score="4" Body="&lt;p&gt;This sounds related to Wyner's &quot;wiretap channel&quot;: Wyner showed that an asymmetry between receiver and eavesdropper could be used to achieve information-theoretic security. There have been many, many follow-up works since then. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Reference:&#xA;A. D. Wyner, The wire-tap channel. Bell Sys. Tech. J., vol. 54, pp. 1355-1387, 1975. &lt;/p&gt;&#xA;" OwnerUserId="686" LastActivityDate="2011-08-01T03:40:02.447" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7578" PostTypeId="2" ParentId="7559" CreationDate="2011-08-01T13:56:31.553" Score="9" Body="&lt;p&gt;I'm guessing nobody really knows this statistic, especially in computer science where it's not clear what counts as a publication.  Are all conference papers actually &quot;publications,&quot; even in &lt;a href=&quot;http://en.wikipedia.org/wiki/World_Multiconference_on_Systemics,_Cybernetics_and_Informatics&quot;&gt;non-selective venues&lt;/a&gt;?  Do all workshops count or only the &lt;a href=&quot;http://www.wg2011.cz/&quot;&gt;selective ones&lt;/a&gt;? Do journal papers count in addition to their conference counterparts? What about &lt;a href=&quot;http://www.elsevier.com/wps/find/journaldescription.cws_home/505612/description&quot;&gt;letters&lt;/a&gt; papers?  And where does &lt;a href=&quot;http://arxiv.org/&quot;&gt;arXiv&lt;/a&gt; stand?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Even worse, there's no good tool for you to get an estimate.  For example, in machine learning, two of the top conferences (&lt;a href=&quot;http://nips.cc/&quot;&gt;NIPS&lt;/a&gt; and &lt;a href=&quot;http://www.aistats.org/&quot;&gt;AISTATS&lt;/a&gt;) aren't always represented in &lt;a href=&quot;http://www.informatik.uni-trier.de/~ley/db/&quot;&gt;DBLP&lt;/a&gt;.  The best is probably to visit the websites of other postdocs in fields similar to your own and see what they've done.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm also a postdoc, so I might not have have the correct perspective, but I also think that the &lt;em&gt;number&lt;/em&gt; of papers doesn't really matter; what matters is the quality, consistency, and impact of your work.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, &quot;where you stand&quot; relative to your competition depends on what job you'd like.  My feeling is that, &lt;em&gt;in general&lt;/em&gt;, people who get research positions at good labs or faculty positions at research universities probably have at least a couple publications in the top venues of their field per postdoc (and/or end-of-Ph.D.) year.&lt;/p&gt;&#xA;" OwnerUserId="123" LastEditorUserId="123" LastEditDate="2011-08-01T18:14:11.687" LastActivityDate="2011-08-01T18:14:11.687" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7579" PostTypeId="2" ParentId="7573" CreationDate="2011-08-01T13:59:18.197" Score="8" Body="&lt;p&gt;I do not know if your intent is to allow undirected edges in &lt;i&gt;E&lt;/i&gt; and arcs in &lt;i&gt;A&lt;/i&gt; to be parallel or not, but it does not matter in the end.  In this answer, we assume that you do not allow edges and arcs to be parallel.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider a special case where for each arc in &lt;i&gt;A&lt;/i&gt;, &lt;i&gt;A&lt;/i&gt; also contains the arc in the opposite direction.  In this case, we can ignore the orientation of arcs and consider them to be undirected.  We call edges in &lt;i&gt;E&lt;/i&gt; &lt;em&gt;black edges&lt;/em&gt; and edges in &lt;i&gt;A&lt;/i&gt; &lt;em&gt;red edges&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Even under these two restrictions, the problem is NP-complete by a reduction from Max-2SAT.  Let &lt;i&gt;φ&lt;/i&gt; be a 2CNF formula in &lt;i&gt;n&lt;/i&gt; variables $x_1,\dots,x_n$ with &lt;i&gt;m&lt;/i&gt; clauses.  Construct a graph &lt;i&gt;G&lt;/i&gt; with 3&lt;i&gt;n&lt;/i&gt; vertices $v_1,\dots,v_n,x_1,\dots,x_n,\bar{x}_1,\dots,\bar{x}_n$ as follows.  &lt;i&gt;G&lt;/i&gt; has 2&lt;i&gt;n&lt;/i&gt; black edges: $(v_i,x_i)$ and $(v_i,\bar{x}_i)$ for &lt;i&gt;i&lt;/i&gt;=1,…,&lt;i&gt;n&lt;/i&gt;.  &lt;i&gt;G&lt;/i&gt; has $5\binom{n}{2}-m$ red edges.  First, connect $v_i$ and $v_j$ for &lt;i&gt;i&lt;/i&gt;≠&lt;i&gt;j&lt;/i&gt; by a red edge.  Next, for every distinct variables $x_i$ and $x_j$, consider four pairs of literals $(l,l&amp;#39;)=(x_i,x_j),(x_i,\bar{x}_j),(\bar{x}_i,x_j),(\bar{x}_i,\bar{x}_j)$.  Connect literals $l$ and $l&amp;#39;$ by a red edge if and only if clause $(\bar{l}\vee\bar{l}&amp;#39;)$ does not appear in &lt;i&gt;φ&lt;/i&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is clear that we only have to consider maximal matchings in black edges in order to minimize the number of red edges after contraction.  It is also clear that every maximal matching &lt;i&gt;M&lt;/i&gt; in black edges consists of &lt;i&gt;n&lt;/i&gt; edges connecting $v_i$ to $l_i\in\{x_i,\bar{x}_i\}$ for &lt;i&gt;i&lt;/i&gt;=1,…,&lt;i&gt;n&lt;/i&gt;.  Identify this maximal matching &lt;i&gt;M&lt;/i&gt; with truth assignment $\{l_1,\dots,l_n\}$.  It is easy to verify that after contracting &lt;i&gt;M&lt;/i&gt; and removing parallel edges, the graph has exactly $4\binom{n}{2}-k$ red edges, where &lt;i&gt;k&lt;/i&gt; is the number of clauses satisfied by this truth assignment.  Therefore, minimizing the number of red edges after contracting a matching in black edges is equivalent to maximizing the number of satisfied clauses.&lt;/p&gt;&#xA;" OwnerUserId="567" LastEditorUserId="567" LastEditDate="2011-08-01T17:23:23.003" LastActivityDate="2011-08-01T17:23:23.003" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="7580" PostTypeId="2" ParentId="7574" CreationDate="2011-08-01T14:52:36.730" Score="12" Body="&lt;p&gt;I agree with most of what Peter and David have said, but I thought I'd contribute an answer anyway, so that you can have a few different perspectives on this.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I should mention that the criteria people use for determining what to upload is not uniform across the community. Some (perhaps most) people only upload finished papers, while others upload lecture notes or journal club notes, or minor results not intended for publication.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For me, the general rule I use for determining whether I am going to upload something to the &lt;a href=&quot;https://arxiv.org/&quot; rel=&quot;nofollow noreferrer&quot;&gt;arxiv&lt;/a&gt; is whether or not I intend to submit it for publication somewhere. This is basically a practicality: I have a finite amount of time to spend writing stuff up (which is by far my least favorite part of the job), and so it makes sense to spend it writing up the results I consider the most important. As you progress through your research career, you tend to accumulate a lot of minor results. I tend not to bother writing these up, but often save them in case they might make an interesting starting point for working with a new student.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, the rule I mention above I use simply for practical reasons. There is a much more important rule to bare in mind: Don't put something on the arxiv you are not happy to have people see with your name attached to it. People &lt;em&gt;will&lt;/em&gt; see it. Within our community it is far more common for people to read the arxiv mailings than to read any particular journal. Also, it is essentially impossible to totally remove a paper from the arxiv. You'll notice that even papers people withdraw remain there.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm not sure whether it is of any use to you, but since we are in the same field you may find it useful to hear a breakdown of my own uploads. All but one are intended for publication (either have been published, are in review, or are waiting to be submitted somewhere, possibly in an updated form). The one which will likely never be published was initially intended to submit to &lt;a href=&quot;https://journals.aps.org/prl/&quot; rel=&quot;nofollow noreferrer&quot;&gt;PRL&lt;/a&gt;, but got superseded by a much more detailed version I wrote for a CS conference. Also, one of my uploads is a review paper which has essentially zero original research in it. Most of my papers are on the arxiv, but there are 4 or 5 which for various different reasons don't appear there.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So where does this leave your paper? Well, as you are already distributing it via your own website, I would certainly say my second rule of thumb doesn't apply. Also, clearly you have already written it up, so the first rule doesn't apply in this instance. With that in mind, I would think there is no reason not to upload. If you get good feedback, you might even consider making a small paper out of it.&lt;/p&gt;&#xA;" OwnerUserId="204" LastEditorUserId="1993" LastEditDate="2019-03-29T23:13:26.043" LastActivityDate="2019-03-29T23:13:26.043" CommentCount="0" ContentLicense="CC BY-SA 4.0" />
  <row Id="7581" PostTypeId="2" ParentId="7559" CreationDate="2011-08-01T18:42:28.547" Score="23" Body="&lt;p&gt;&lt;i&gt;The main motive behind this question is to understand where am I standing with my own performance and productivity.&lt;/i&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then you're asking the wrong question.  The right metric to examine isn't the number of publication, but rather your visibility and reputation (and ultimately impact) within the research community.  If the intellectual leaders of your target subcommunity are eager to write you good recommendation letters, it doesn't matter whether you publish one paper a year or ten.  Similarly, if the intellectual leaders in your target subcommunity are &lt;em&gt;not&lt;/em&gt; eager to write you good recommendation letters, it doesn't matter whether you publish one paper a year or ten.&lt;/p&gt;&#xA;" OwnerUserId="111" LastActivityDate="2011-08-01T18:42:28.547" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="7582" PostTypeId="1" AcceptedAnswerId="7583" CreationDate="2011-08-01T20:41:49.093" Score="2" ViewCount="626" Body="&lt;p&gt;Let's say you have an encrypted file store of some kind such as an encrypted hard drive, ZIP file, etc.  You don't have the private key or password to this file store, so a brute-force attack is not a good option.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But what you DO have is a copy of a file -- a file that you know for certain is on that file store.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does this help reduce the complexity of an attack? In other words, would I be able to crack the encryption in less time by knowing part of the contents of the encrypted file store?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Forgive me if this is obvious, encryption is not my specialty.)&lt;/p&gt;&#xA;" OwnerUserId="6079" LastActivityDate="2011-08-02T15:32:33.023" Title="Breaking encrypted file store with a file?" Tags="&lt;cr.crypto-security&gt;&lt;cryptographic-attack&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="7583" PostTypeId="2" ParentId="7582" CreationDate="2011-08-01T20:57:46.863" Score="13" Body="&lt;p&gt;This is called the &lt;a href=&quot;http://en.wikipedia.org/wiki/Known-plaintext_attack&quot;&gt;known-plaintext attack&lt;/a&gt;. Any cipher algorithm which is prone to this type of attack is considered very weak. Therefore, AFAIK, no present-day cipher (e.g. AES) has this weakness. Even DES needs 2&lt;sup&gt;43&lt;/sup&gt; known plaintexts to be broken under linear cryptanalysis. (see &lt;a href=&quot;http://en.wikipedia.org/wiki/Data_Encryption_Standard#Attacks_faster_than_brute-force&quot;&gt;this topic&lt;/a&gt;  on Wikipedia).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, all hope is not lost. Weak ciphers or bad implementation of strong ciphers are still commonplace. One noticeable case is with the (old) implementations of ZIP. More info is available here:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.elcomsoft.com/help/archpr/index.html?known_plaintext_attack_(zip).html&quot;&gt;http://www.elcomsoft.com/help/archpr/index.html?known_plaintext_attack_(zip).html&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="873" LastEditorUserId="873" LastEditDate="2011-08-02T15:32:33.023" LastActivityDate="2011-08-02T15:32:33.023" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="7586" PostTypeId="2" ParentId="7452" CreationDate="2011-08-02T03:15:14.720" Score="3" Body="&lt;p&gt;You don't specify how long $m_1$ and $m_2$ are. If $|m_1| = |m_2| &amp;gt; s$, then there is no way to recover $m$ given $s=h(m)$ (or $m_1$ given $m_2$ and $s=h(m_1\|m_2$) simply because there are exponentially many solutions to the equation $h(X)=s$ (resp., $h(X \| m_2) = s$). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Or are you asking to find &lt;em&gt;any&lt;/em&gt; solution, not necessarily the original one? Even in this case, the above property (namely, existence of multiple solutions) can be used to show that solving either of the stated problems is hard if $h$ is collision resistant. In fact, this remains true even if $|m_1|=|m_2|=s$.&lt;/p&gt;&#xA;" OwnerUserId="686" LastActivityDate="2011-08-02T03:15:14.720" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7589" PostTypeId="1" CreationDate="2011-08-02T05:38:33.980" Score="12" ViewCount="335" Body="&lt;p&gt;The (uniform) directed sparsest cut problem asks for a cut $(S,\bar{S})$ in a directed graph $G=(V,E)$ which minimize the ratio $\frac{\delta_{out}(S) }{|S||\bar{S}|}$, where $\delta_{out}$ is the total capacity of edges coming out from $S$. The best approximation ratio for the problem is $O(\sqrt{\log n})$ via the paper &lt;em&gt;$O(\sqrt{\log n})$ approximation algorithms for min UnCut, min 2CNF deletion, and directed cut problems&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The undirected version of the problem on planar graphs have a factor two approximation algorithm:  &lt;a href=&quot;http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=365709&amp;amp;tag=1&quot;&gt;Finding separator cuts in planar graphs within twice the optimal&lt;/a&gt; !&#xA;Does anybody aware of a similar result for directed sparsest cut on planar graphs ? Can we apply the same technique for the undirected version to get a constant ratio?&lt;/p&gt;&#xA;" OwnerUserId="6059" LastEditorUserId="80" LastEditDate="2011-08-02T16:36:02.247" LastActivityDate="2011-08-02T16:36:02.247" Title="Directed Sparsest Cut on Planar Graphs?" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;graph-theory&gt;&lt;planar-graphs&gt;" AnswerCount="0" CommentCount="1" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="7590" PostTypeId="2" ParentId="7558" CreationDate="2011-08-02T17:46:29.323" Score="7" Body="&lt;p&gt;&lt;strong&gt;Updated&lt;/strong&gt;&amp;nbsp; For further discussion and references, see &lt;a href=&quot;https://physics.stackexchange.com/a/35102/11637&quot;&gt;this answer&lt;/a&gt; to Scott Aaronson's &lt;em&gt;Physics.StackExchange&lt;/em&gt; question &quot;&lt;a href=&quot;https://physics.stackexchange.com/q/34993/11637&quot;&gt;Reversing gravitational decoherence&lt;/a&gt;.&quot;&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;As a supplement to Henry Yuen's comment, it's prudent to read the Abrams and Lloyd article &lt;em&gt;Nonlinear quantum mechanics implies polynomial-time solution for NP-complete and P problems&lt;/em&gt; (1998) carefully and more than once.  First because it's a very well-written article, and second because the arguments it presents and the literature it references have subtleties that are not readily appreciated on first reading.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In particular, the Abrams and Lloyd analysis, and all the literature that it references, assume that the state-space of quantum mechanics is a linear vector space and the quantum dynamical equations are (possibly) nonlinear.  The converse possibility, that the state-space of quantum mechanics is nonlinear, and the quantum dynamical equations are (locally) linear, is not considered.   The latter possibility includes, as its simplest and most familiar example, the dynamical flow that is naturally associated the pullback of the symplectic structure and Hamiltonian potentials of Hilbert space onto an immersed spin-1/2 Segre variety ... in other words, the familiar Bloch equations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As is well-known, Bloch dynamics exhibits precisely the linear response and arbitrarily sharp spectral lines that are cited by Abrams and Lloyd as &quot;Experiments [that] confirm the linearity of quantum mechanics to a high degree of accuracy.&quot;  Therefore, with equal logical justification, Abrams and Lloyd might have asserted &quot;Experiments confirm the symplecticity of Bloch dynamics to a high degree of accuracy.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Joseph Polchinksi's article &lt;em&gt;Weinberg's nonlinear quantum mechanics and the Einstein-Podolsky-Rosen Paradox&lt;/em&gt; (1991) and Peres' article &lt;em&gt;Nonlinear variants of Schrodinger's equation violate the second law of thermodynamics&lt;/em&gt; (1989) both are referenced by Abrams and Lloyd, and their articles too require careful reading.  For example, nowhere do Polchinksi or Peres mention that the Hamiltonian flow associated to the Bloch equation is Hamiltonian, and thus respects the symplectic measure associated to the second law.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of the two Weinberg articles that all of the preceding authors reference, the later (longer) Weinberg article &lt;em&gt;Testing quantum mechanics&lt;/em&gt; (1989) is really outstanding.  Weinberg's analysis can be read as a physics-oriented prequel to Ashtekar and Schilling's subsequent &lt;em&gt;Geometrical formulation of quantum mechanics&lt;/em&gt; (1999), which expresses many of the same ideas as Weinberg's article, in a coordinate-free and structure-oriented mathematical idiom.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The bottom line (as I understand it) is that if we &lt;em&gt;assume&lt;/em&gt; that the state-space of quantum mechanics is a large-dimension Hilbert space, upon which the projection postulate and the superposition principle hold, then both theoretical considerations and experimental measurements strongly affirm that that quantum dynamics is governed by Hamiltonian potentials that are bilinear in the quantum coordinate functions $\{\psi_i\}$ and $\{\bar\psi_i\}$, for all the experimental and theoretical reasons that the articles by Abrams and Lloyd, Polchinksi, Peres, and especially Weinberg (etc.) survey and summarize so nicely.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, if we drop the assumption of linear state-space geometry, yet are careful to respect symplecticity and local linearity (as is mathematically natural in the Ashtekar and Schilling geometric formulation of quantum mechanics) then the previous reasoning of Weinberg, Peres, Polchinksi, Abrams &amp;amp; Lloyd (etc.) ceases to apply, and we see that the question of the &quot;linearity of quantum mechanics&quot; largely begs the question, what does &quot;linearity of quantum mechanics&quot; physically mean, when the geometry of the quantum dynamical state-space has no global vector structure?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, does this mean that the curvature of quantum dynamical state-space (or some other geometric property of it) might someday be experimentally measured, much as we we measure the curvature of Riemannian space?  That is a fine question, to which, most definitely, I do &lt;em&gt;not&lt;/em&gt; know the answer.&lt;/p&gt;&#xA;" OwnerUserId="1519" LastEditorUserId="-1" LastEditDate="2017-04-13T12:40:17.207" LastActivityDate="2012-09-10T22:29:35.950" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7591" PostTypeId="1" CreationDate="2011-08-02T20:05:04.533" Score="4" ViewCount="396" Body="&lt;p&gt;I am busy researching different languages just for some theoretical knowledge and came across programs that manipulate themselves. What language feature is used for this?&lt;/p&gt;&#xA;" OwnerUserId="6090" LastActivityDate="2011-08-03T04:14:02.453" Title="What language feature allows programs to manipulate themselves?" Tags="&lt;language-design&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="7592" PostTypeId="2" ParentId="7591" CreationDate="2011-08-02T20:24:45.717" Score="7" Body="&lt;p&gt;Homoiconity?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Homoiconicity&quot;&gt;http://en.wikipedia.org/wiki/Homoiconicity&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="1283" LastActivityDate="2011-08-02T20:24:45.717" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7594" PostTypeId="1" CreationDate="2011-08-02T21:20:22.207" Score="6" ViewCount="211" Body="&lt;p&gt;First, let me apologise, as this question is far from my area of expertise, but is related to a side interest (read hobby), and so this question might be very naive. This may even be off-topic for the site, and if so I apologise.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You are given a set of $S$ strings $\{s_i\}$, each of length $n$. One of the strings (denoted $s_x$) is something a human would recognise as meaningful text in a specified language (we can assume English if that helps). Further, we can assume that all other strings $s_{i \neq x}$ have Hamming distance at least $c n$ from the nearest meaningful natural language string, for some finite constant $c$. (I'm not going to try to specify what 'meaningful' means here mathematically, and so please take it that I mean roughly something that a human would take to be a reasonable piece of natural language text. Indeed, a good definition for this might itself be the answer.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question then is fairly simple: Is there an efficiently computable function $F(s)$ such that $F(s_x) &amp;gt; F(s_i)$ for all $i \neq x$, with high probability, for sufficiently large $n$? In the case I care about $S$ is extremely large, but constant. Additionally, I care about the case where $s_i$ all have similar Kolmogorov complexity.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To me, at least, the natural candidates seem to be based on &lt;a href=&quot;http://en.wikipedia.org/wiki/N-gram&quot; rel=&quot;nofollow&quot;&gt;N-grams&lt;/a&gt;, either by computing some scalar function of N-gram frequency and computing the distance from the value for the target language (determined from a large collection of text in that language), or by computing the distance between vector formed by taking the N-gram frequences in order with that of the target language. However, a little experimentation has shown this intuition to be false, since there are many random looking strings with substantially better N-gram statistics than $s_x$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another approach which fails is to try to count the proportion of the string which is occupied with words in whatever language we are considering. However this fails badly because you can strings like &quot;iiiiiiiaaaaiaiaaaaaaiiiiinoiaaaonionnoaiii&quot; which are clearly not natural language, but which can be interpretted as a string of English language words. Potentially we could try imposing grammatical structures, but this seems like a bad (and inefficient) road to be going down. So I am wondering if there is a better approach? Is there any $F$ satisfying the above requirement which can be computed reasonably efficiently?&lt;/p&gt;&#xA;" OwnerUserId="204" LastEditorUserId="204" LastEditDate="2011-08-03T00:52:24.980" LastActivityDate="2011-08-03T00:52:24.980" Title="What is the best fitness function for detecting natural language?" Tags="&lt;cr.crypto-security&gt;&lt;terminology&gt;&lt;cryptographic-attack&gt;" AnswerCount="0" CommentCount="9" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="7598" PostTypeId="2" ParentId="5648" CreationDate="2011-08-03T00:28:46.673" Score="1" Body="&lt;p&gt;Their comment was not meant to apply to all signature schemes, just the specific construction they are talking about in that paragraph. (Also, it was not meant as a formal statement; it was just mentioned as part of the intuition for their construction.)&lt;/p&gt;&#xA;" OwnerUserId="686" LastActivityDate="2011-08-03T00:28:46.673" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7599" PostTypeId="2" ParentId="7591" CreationDate="2011-08-03T04:14:02.453" Score="4" Body="&lt;p&gt;I think you have to define first what it means to be self modifying.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First there are textual macros. Those rewrite programs through word replacement.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then there are syntactic macros. Those manipulate the abstract syntax tree. For example these can introduce new syntax easily.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Third there are metaprogramming and domain specific languages. These are programs that write other programs. Something like this is SQL. An example of metaprogramming would be something like a compiler that would bootstrap itself.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Even further a program loaded in memory can easily modify itself by changing its state. If you write to where the instructions are then this is a program that modifies itself. If you include memory as part of the program then any program that you run on your computer rewrites itself.&lt;/p&gt;&#xA;" OwnerUserId="5385" LastActivityDate="2011-08-03T04:14:02.453" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7600" PostTypeId="1" CreationDate="2011-08-03T07:30:49.070" Score="24" ViewCount="1749" Body="&lt;p&gt;I want to make a first SAT solver. I know the SAT competition and the SAT conference, and there are just so many papers on this subject. I'm a starter, an overwhelmed starter. Where should I begin? Eventually I want to push the state-of-the-art. I want some expert advice on how to start, so that I won't be wasting my time on the non-essentials too early. Many thanks.&lt;/p&gt;&#xA;" OwnerUserId="2938" LastEditorUserId="4155" LastEditDate="2013-11-13T09:54:27.723" LastActivityDate="2013-11-13T09:54:27.723" Title="Starting SAT solver papers" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;lo.logic&gt;&lt;sat&gt;" AnswerCount="4" CommentCount="6" FavoriteCount="15" ContentLicense="CC BY-SA 3.0" />
  <row Id="7601" PostTypeId="1" AcceptedAnswerId="7612" CreationDate="2011-08-03T09:51:12.323" Score="2" ViewCount="184" Body="&lt;p&gt;&lt;strong&gt;Possibly improper definition&lt;/strong&gt; $\;$ An imperative program is a labeled directed graph, with every vertices labeled by a command and every edge labeled by a predicate.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Denote an edge labeled by predicate $p$ from $x$ to $y$ by $(x, p, y)$,&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Two consecutive steps are expressed as $(x, \top, y)$. &quot;Goto&quot; is also expressed in this way.&lt;/li&gt;&#xA;&lt;li&gt;A binary branch is expressed as $\{(x, p, y), (x, \neg p, z)\}$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;As can be easily noticed, &quot;command&quot; is not defined. I do not know what that should be, but it should be as weak as possible.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Have imperative programs been defined like that?&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I also think a mathematical definition could help me go further understanding &lt;a href=&quot;https://cstheory.stackexchange.com/questions/7505/space-of-imperative-programs&quot;&gt;the space of imperative programs&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="4515" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2011-08-04T02:06:36.657" Title="Have imperative programs been defined like this?" Tags="&lt;reference-request&gt;&lt;imperative-programming&gt;" AnswerCount="1" CommentCount="6" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7602" PostTypeId="1" CreationDate="2011-08-03T12:30:16.680" Score="4" ViewCount="307" Body="&lt;p&gt;What is the best known algorithm to solve linear congruences of the form below?&#xA;$$a x + b \equiv 0 \space (n)$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;And what is the time complexity of it?&lt;/p&gt;&#xA;" OwnerUserId="6096" LastEditorUserId="6579" LastEditDate="2017-11-13T08:16:05.620" LastActivityDate="2017-11-13T08:16:05.620" Title="Time complexity for solving linear congruences?" Tags="&lt;ds.algorithms&gt;&lt;time-complexity&gt;&lt;nt.number-theory&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="7603" PostTypeId="2" ParentId="7574" CreationDate="2011-08-03T17:07:55.427" Score="6" Body="&lt;p&gt;It is hard to define a &quot;publishable unit&quot; and depends on who you ask. And not every one has a blog. I take a liberal view of what one can post on the ArXiv. Use your judgement and/or seek advice from a mentor if you are unsure but I think there is is room for a wide variety of things that one can post on the ArXiv including small notes and observations, surveys, course notes etc. As Joe said a good criterion is that one should try not be embarrassed by what one puts out for public consumption - that coupled with a reasonable amount of modesty when putting up small observations should work well.&lt;/p&gt;&#xA;" OwnerUserId="176" LastActivityDate="2011-08-03T17:07:55.427" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7604" PostTypeId="2" ParentId="4489" CreationDate="2011-08-03T17:26:34.423" Score="1" Body="&lt;p&gt;Definitely not. We do not need yet another academia alternative. Certain people have already provided those alternatives, providing both amateur and professional researchers and society with false hopes of a high-tech future (I have a particular venue in mind but I'd rather not mention it). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The academic system was forged after centuries into what it is. I see attempts to skip the peer review system as simply &quot;skipping the line&quot;. If an amateur researcher does not have the skill to understand why her proof is wrong, either alone or with some comments from reviewing, then there is a simple solution and that is that she must study the subject at hand harder. This is why educational institutions such as universities exist, to certify the knowledge of a certain person. If that person happens to be a genius that grasps the knowledge of the field instantly, fine, award that degree as soon as possible. But the vast majority must and should undergo training for their own sake and for the sake of society.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What would you think if this line of business was taken from mathematics and was put on medicine or another field where the consequences are more immediate? How long until an untrustworthy businessman on purpose alters the amateur papers so that they are hard to review or can fool the reviewer? Fooling the customers-amateur researchers is bound to happen, as with all businesses that rely on hard to get knowledge.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can see that my point is that there are functional problems before even delving into the technical details. And since I am making an engineering argument, &quot;programming&quot; is a good example of what happens when amateurs are trying to do serious work with little or no training. The last thing any scientific community needs is the media glorifying the next &quot;self-taught theoretical computer scientist who challenges the foundations of the whole scientific community from his garage&quot;, let alone a fragile science as ours, which still tries to get the recognition it deserves.&lt;/p&gt;&#xA;" OwnerUserId="879" LastActivityDate="2011-08-03T17:26:34.423" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7605" PostTypeId="1" AcceptedAnswerId="7626" CreationDate="2011-08-03T19:51:15.407" Score="10" ViewCount="666" Body="&lt;p&gt;I want to start learning about Network Coding:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Network_coding&quot;&gt;http://en.wikipedia.org/wiki/Network_coding&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Do you know any good survey (e.g. from IEEE Surveys and Tutorials) on the above subjects. I found some university courses on google but I'd like some recommendations from people who already read and know a good source. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks&#xA;Vasilis&lt;/p&gt;&#xA;" OwnerUserId="6105" LastEditorUserId="186" LastEditDate="2011-08-17T15:42:24.103" LastActivityDate="2012-12-06T08:07:10.713" Title="Surveys on Network Coding" Tags="&lt;it.information-theory&gt;&lt;coding-theory&gt;&lt;survey&gt;&lt;ni.networking-internet&gt;" AnswerCount="4" CommentCount="9" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="7606" PostTypeId="1" AcceptedAnswerId="7608" CreationDate="2011-08-03T20:33:54.367" Score="6" ViewCount="2181" Body="&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;This is my solution with Kruskal's Algorithm, although it doesn't take into account real &amp;quot;path&amp;quot;. Brute force may be the only solution.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.youtube.com/watch?v=VbSwwos4R2E&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://www.youtube.com/watch?v=VbSwwos4R2E&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;I want to know if there is an efficient algorithm that allows me to visit every node in a planar graph with the minimum weight, revisiting allowed.  Each node can have up to 4 linked nodes.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/jBfFn.png&quot; alt=&quot;Graph Example&quot; /&gt;&lt;/p&gt;&#xA;&lt;p&gt;I uploaded the graph drawing as an example. In that example, one good route would be:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;A - B - C - D - E - F - G - H - I - J - K - L - H - I - M&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Summing weights:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;11 + 3 + 1 + 7 + 10 + 7 + 3 + 2 + 2 + 4 + 4 + 4 + 2 + 1 = &lt;strong&gt;61&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;But another route, with less weight, would be:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;A - B - C - D - E - F - G - H - I - M - I - H - L - K - J&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Weights:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;11 + 3 + 1 + 7 + 10 + 7 + 3 + 2 + 1 + 1 + 2 + 4 + 4 + 4 = &lt;strong&gt;60&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Of course, I want to get the path with less weight. Revisited is allowed because otherwise I can't visit all nodes.&lt;/p&gt;&#xA;&lt;p&gt;I'm not a Mathematician myself so easy talk would be much appreciated. I'm familiar with algorithms like A* and Dijkstra, that algorithms are useful when I have a target to search, but in this case I'm not searching a particular target.&lt;/p&gt;&#xA;&lt;p&gt;Thanks!&lt;/p&gt;&#xA;" OwnerUserId="6106" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2011-08-05T03:53:22.463" Title="Need an efficient algorithm to visit all nodes of a graph, revisiting edges and nodes is allowed" Tags="&lt;ds.algorithms&gt;&lt;graph-algorithms&gt;&lt;planar-graphs&gt;" AnswerCount="1" CommentCount="8" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7607" PostTypeId="2" ParentId="7600" CreationDate="2011-08-03T21:25:34.097" Score="17" Body="&lt;p&gt;I suggest first understanding which techniques really advanced the solvers, for which I would suggest the following &lt;a href=&quot;http://dx.doi.org/10.1007/978-3-642-21581-0_27&quot;&gt;overview and analysis&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then I would recommend downloading the source code of &lt;a href=&quot;http://minisat.se/MiniSat.html&quot;&gt;minisat&lt;/a&gt; and read its &lt;a href=&quot;http://dx.doi.org/10.1007/978-3-540-24605-3_37&quot;&gt;description&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It might of course be individual but I found looking at the source code most valuable.&lt;/p&gt;&#xA;" OwnerUserId="4506" LastActivityDate="2011-08-03T21:25:34.097" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7608" PostTypeId="2" ParentId="7606" CreationDate="2011-08-03T23:51:58.637" Score="14" Body="&lt;p&gt;According to &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/0304397594901856&quot;&gt;this abstract&lt;/a&gt;, deciding whether a 4-regular planar graph has a Hamiltonian Path is NP-complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edited to add: Call a path that is allowed to revisit nodes a &lt;em&gt;walk&lt;/em&gt;. Let $G$ be a graph on $n$ vertices and let us impose a weight of 1 on each edge. Then, $G$ has a Hamiltonian path if and only if the minimum weight walk in G visiting each vertex has weight $n-1$. In other words, if you can compute the minimum weight of a Hamiltonian walk, you can can detect the existence of Hamiltonian paths.&lt;/p&gt;&#xA;" OwnerUserId="751" LastEditorUserId="751" LastEditDate="2011-08-04T01:34:50.420" LastActivityDate="2011-08-04T01:34:50.420" CommentCount="12" ContentLicense="CC BY-SA 3.0" />
  <row Id="7610" PostTypeId="2" ParentId="4792" CreationDate="2011-08-04T01:23:53.510" Score="0" Body="&lt;p&gt;I believe the benefit of creating a semantic class is to be able to isolate the answers you actually wish. For example, in UP we are either concerned if there are one solutions or zero solutions and we do not care if there are more then one solutions. I believe semantic class is a way of fine-tuning syntactic classes. &lt;/p&gt;&#xA;" OwnerUserId="1590" LastActivityDate="2011-08-04T01:23:53.510" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7611" PostTypeId="2" ParentId="7600" CreationDate="2011-08-04T01:51:27.933" Score="18" Body="&lt;p&gt;An excellent beginner overview is given by the following article from 2009.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://cacm.acm.org/magazines/2009/8/34498-boolean-satisfiability-from-theoretical-hardness-to-practical-success/fulltext&quot;&gt;Boolean Satisfiability: From Theoretical Hardness to Practical Success&lt;/a&gt;, Sharad Malik, Lintao Zhang,  Communications of the ACM, 2009&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;There are several ways to get into the technical aspects. You can even start with the original Davis-Putnam paper. It is extremely clear and has detailed examples. When discussing SAT optimizations in a course, we discovered that a few one  may imagine are already there. The Davis-Logeman-Loveland paper is (I feel) less instructive, but it is so short you may as well read it. &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://dl.acm.org/citation.cfm?id=321034&quot;&gt;A Computing Procedure for Quantification Theory&lt;/a&gt;, Martin Davis, Hilary Putnam, Journal of the ACM, 1960.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://portal.acm.org/citation.cfm?id=368557&quot;&gt;A machine program for theorem-proving&lt;/a&gt;, Martin Davis, George Logemann, Donald Loveland, Communications of the ACM, 1962.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;There are may ways to catch up on the developments of the next 50 years. I would recommend lecture slides. Just searching for 'DPLL' will throw up many many tutorials. If you browse through them, I'm sure the mist will clear -- to some extent. There are also many useful surveys. The Zhang-Malik paper is a good place to start. There are several articles in the Handbook of Satisfiability you may find useful. &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.princeton.edu/~chaff/publication/cade_cav_2002.pdf&quot;&gt;The Quest for Efficient Boolean Satisfiability Solvers&lt;/a&gt;, Lintao Zhang, Sharad Malik, Joint invited paper for CAV and CADE 2002.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.informatik.uni-trier.de/~ley/db/series/faia/faia185.html&quot;&gt;Handbook of Satisfiability&lt;/a&gt;, Edited by Armin Biere, Marijn Heule, Hans van Maaren, and Toby Walsh, 2009&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://eatcs.org/beatcs/index.php/beatcs/article/view/138&quot;&gt;Anatomy and Empirical Evaluation of Modern SAT Solvers&lt;/a&gt;, Karem  Sakallah, Joao Marques-Silva, Bulletin of the EATCS, 2011.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I second the suggestion of Mikolaos. The MiniSAT code is clean and of manageable size. You can play with it. There are several other solvers you can try. CryptoMiniSat is also quite clean. You should also consult the work of &lt;a href=&quot;http://fmv.jku.at/biere/papers/index.html&quot;&gt;Armin Biere&lt;/a&gt;, who writes SAT solvers and writes about writing SAT solvers.&lt;/p&gt;&#xA;" OwnerUserId="4155" LastEditorUserId="109" LastEditDate="2013-11-09T16:02:52.683" LastActivityDate="2013-11-09T16:02:52.683" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7612" PostTypeId="2" ParentId="7601" CreationDate="2011-08-04T02:06:36.657" Score="3" Body="&lt;p&gt;Short answer: yes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Longer answer -- there probably isn't a unique reference but control flow graphs (essentially what you describe) and their precursors, flowcharts are Old. Here are three random references from antiquity to something very recent that use minor modifications of the model. The latter two define the model fairly precisely. You'll find a lot of lattices in the second paper.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.eecs.berkeley.edu/~necula/Papers/FloydMeaning.pdf&quot; rel=&quot;nofollow&quot;&gt;Assigning Meaning to Programs&lt;/a&gt;, Robert Floyd, 1967.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.di.ens.fr/~cousot/COUSOTpapers/POPL02.shtml&quot; rel=&quot;nofollow&quot;&gt;Systematic Design of Program Transformation Frameworks by Abstract Interpretation&lt;/a&gt;, Patrick Cousot and Radhia Cousot, POPL 2002.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://research.microsoft.com/en-us/um/people/sumitg/pubs/ac_unified.pdf&quot; rel=&quot;nofollow&quot;&gt;Assertion Checking Unified&lt;/a&gt;, Sumit Gulwani and Ashish Tiwari, VMCAI 2007.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="4155" LastActivityDate="2011-08-04T02:06:36.657" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="7613" PostTypeId="1" CreationDate="2011-08-04T04:04:00.563" Score="3" ViewCount="862" Body="&lt;p&gt;Recently, I want to devise some kernelization (in the framework of parameterized complexity) for problem on DAG. So, find a proper parameter is essential.&#xA;Well, is there a measure for the importance of a node (like the cut vertex in undirected graph)? or how separated the DAG is? May be after small amount of edge deletion (or node deletion) the DAG was decomposed into separated components (Better if the components have similar cardinality)?&lt;/p&gt;&#xA;" OwnerUserId="6108" LastEditorDisplayName="user17" LastEditDate="2011-08-04T04:18:44.297" LastActivityDate="2011-08-04T11:58:54.777" Title="measures for a DAG (directed acyclic graph)?" Tags="&lt;graph-theory&gt;&lt;directed-acyclic-graph&gt;&lt;parameterized-complexity&gt;&lt;measure-theory&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="7616" PostTypeId="2" ParentId="7613" CreationDate="2011-08-04T11:58:54.777" Score="7" Body="&lt;p&gt;There are loads of measures of nodes in a DAG you could use.  For example:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;How much the removal of node $v$ reduces the max flow from sources to sinks&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;the &lt;a href=&quot;http://en.wikipedia.org/wiki/Centrality#Betweenness_centrality&quot; rel=&quot;nofollow&quot;&gt;betweenness centrality&lt;/a&gt; of $v$&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;the in-degree of $v$ times the out-degree of $v$&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The question should not be &lt;em&gt;if&lt;/em&gt; there is a measure, but rather which measure is most appropriate.  That depends on the problem you're trying to solve.&lt;/p&gt;&#xA;" OwnerUserId="196" LastActivityDate="2011-08-04T11:58:54.777" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7617" PostTypeId="2" ParentId="7600" CreationDate="2011-08-04T12:34:03.827" Score="9" Body="&lt;p&gt;If you're overwhelmed by all of the work that's out there, why don't you start out pretending that nobody's worked on the problem before?  If your goal is to eventually build a competitive SAT solver, it's going to be a fairly long journey.  By starting out just playing around without 'checking the solutions', so to speak, you have more to gain than to lose. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;First build the simplest solver you can and make sure it works.  This will probably be a brute force algorithm whose running time depends more or less only on the $n$, the number of variables, and $m$, the number of clauses.  Then implement something a little bit smarter like branch-and-bound.  Write (or find) a generator that will give you random instances for given values of $n$ and $m$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Do some benchmarking tests for your branch-and-bound solver.  See how it does for varying values of $n$ and $m$.  Then improve your solver to make it faster.  See how far you can get without reading about other work.  When you run out of ideas, do some of the reading suggested in the other answers.&lt;/p&gt;&#xA;" OwnerUserId="196" LastActivityDate="2011-08-04T12:34:03.827" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7618" PostTypeId="1" CreationDate="2011-08-04T14:08:50.703" Score="3" ViewCount="354" Body="&lt;p&gt;We have an undirected graph $G(V,E)$. Each edge $e \in E$  is associated with a set $C_{e}\neq \emptyset$ of colors, $C_{e} \subseteq C$. The problem is to find all the colored connected components. For example if we have $C=\{\;\mathrm{red},\;\mathrm{black},\;\mathrm{yellow}\}$. The Red connected components are all the connected components considering only the edges that contains  red in the color set.&#xA;Now a naive algorithm is to do the normal search for each $c\in C$. The cost seems to be $O(|C|(|V|+|E|))$. The question is: is it possible to do better?&lt;/p&gt;&#xA;" OwnerUserId="6111" LastActivityDate="2011-08-04T14:08:50.703" Title="Connected Components over Graph with &quot;colored&quot; edges." Tags="&lt;graph-algorithms&gt;&lt;ds.data-structures&gt;" AnswerCount="0" CommentCount="2" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="7619" PostTypeId="1" AcceptedAnswerId="7621" CreationDate="2011-08-04T14:59:43.750" Score="6" ViewCount="311" Body="&lt;p&gt;I was confused by Wikipedia's definitions of &quot;&lt;a href=&quot;http://en.wikipedia.org/wiki/Chordal_graph&quot; rel=&quot;nofollow&quot;&gt;chordal graph&lt;/a&gt;&quot;, &quot;&lt;a href=&quot;http://en.wikipedia.org/wiki/Interval_graph&quot; rel=&quot;nofollow&quot;&gt;interval graph&lt;/a&gt;&quot;, &quot;&lt;a href=&quot;http://en.wikipedia.org/wiki/String_graph&quot; rel=&quot;nofollow&quot;&gt;string graph&lt;/a&gt;&quot;, &quot;&lt;a href=&quot;http://en.wikipedia.org/wiki/Comparability_graph&quot; rel=&quot;nofollow&quot;&gt;comparability graph&lt;/a&gt;&quot;, &quot;incomparability graph&quot; and the complements of these.&#xA;Wikipedia says &quot;The complement of any interval graph is a comparability graph&quot;. So is any chordal graph an incomparability graph?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a book or survey that contains detailed description of these sorts of different perfect graphs?&lt;/p&gt;&#xA;" OwnerUserId="6108" LastEditorUserId="109" LastEditDate="2011-08-06T15:48:16.130" LastActivityDate="2017-01-17T11:11:41.860" Title="Is any chordal graph an incomparability graph?" Tags="&lt;reference-request&gt;&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;graph-classes&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7620" PostTypeId="2" ParentId="1938" CreationDate="2011-08-04T15:07:32.993" Score="2" Body="&lt;p&gt;The famous OPEN[8] problem from list of Garey and Johnson is beyond P, but open to be proved to be NP-C.&#xA;That problem is on DAG. Each round you can delete at most three vertices which do not have incoming edge. Decide whether all the vertices of the DAG could be deleted in K rounds?&#xA;OPEN from 1970s.&lt;/p&gt;&#xA;" OwnerUserId="6108" LastActivityDate="2011-08-04T15:07:32.993" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7621" PostTypeId="2" ParentId="7619" CreationDate="2011-08-04T15:35:16.823" Score="24" Body="&lt;p&gt;I believe the answer to your question, and to most questions like this, is to be found on &lt;a href=&quot;http://graphclasses.org/&quot;&gt;http://graphclasses.org/&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There's also a book that has much of this (including an appendix at the back with some of the main subset relations between graph classes): Brandstädt, Andreas; Le, Van Bang; Spinrad, Jeremy (1999), Graph Classes: A Survey, SIAM Monographs on Discrete Mathematics and Applications, ISBN 0-89871-432-X.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The answer to your specific question is no. The graph shown in &lt;a href=&quot;http://commons.wikimedia.org/wiki/File:SubdividedTriangle.png&quot;&gt;http://commons.wikimedia.org/wiki/File:SubdividedTriangle.png&lt;/a&gt; (a central triangle with three more triangle attached to its edges) is chordal, but its complement &lt;a href=&quot;http://en.wikipedia.org/wiki/File:Forbidden_interval_subgraph.svg&quot;&gt;http://en.wikipedia.org/wiki/File:Forbidden_interval_subgraph.svg&lt;/a&gt; is not a comparability graph.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2011-08-04T15:35:16.823" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="7622" PostTypeId="2" ParentId="7528" CreationDate="2011-08-04T16:16:33.840" Score="5" Body="&lt;p&gt;This answer is intended as a supplement to Scott Aaronson's answer (with which I mainly agree).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;From an engineering perspective, it is striking that the Dershowitz/Falkovich article uses the word &quot;random&quot; only in the sense of &quot;random-access memory&quot;, and moreover, the article does not use the word &quot;sample&quot; (or any of its variants) at all.  Rather, the focus of the Dershowitz/Falkovic analysis is exclusively restricted to the computation of numeric functions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This limitation is striking because the great majority of modern STEM computational resources (I will venture to say) do not respect the restriction to numeric functions, but rather are devoted to generate samples from distributions (e.g., molecular dynamics, turbulent fluid flow, fracture propagation, noisy spin systems both classical and quantum, waves propagating through random media, etc.).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thus, if the &quot;Extended Church-Turing Thesis&quot; (ECT) is to have substantial relevance to STEM calculations defined broadly, perhaps the exclusive restriction to numeric functions ought to be lifted, and a generalized statement of the ECT be given, that encompasses sampling computations (and their validation and verification).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Would this generalized-to-sampling version of the ECT still fall within the purview of TCS as traditionally conceived?  The&amp;nbsp;answer seemingly is &quot;yes&quot;, per the &lt;a href=&quot;https://cstheory.stackexchange.com/faq#questions&quot;&gt;TCS Stack Exchange FAQ&lt;/a&gt;:&lt;blockquote&gt;We refer you to the description of ACM Special Interest Group on Algorithms and Computation Theory (SIGACT) ... TCS covers a wide variety of topics including probabilistic computation ... Work in this field [TCS] is often distinguished by its emphasis on mathematical technique and rigor.&lt;/blockquote&gt;These considerations suggest, that to be relevant to practical STEM computations, analyses of the ECT ought to include explicit considerations of sampling validation and verification ... and we may reasonably anticipate that this extension of the ECT would be associated both to beautiful mathematical theorems and to stimulating physical insights.&lt;/p&gt;&#xA;" OwnerUserId="1519" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.743" LastActivityDate="2011-08-04T16:16:33.840" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7623" PostTypeId="1" AcceptedAnswerId="7646" CreationDate="2011-08-04T17:08:33.793" Score="8" ViewCount="427" Body="&lt;p&gt;&lt;strong&gt;Context:&lt;/strong&gt; As I understand, in geometric complexity theory, the existence of obstructions serves as a proof-certificate, so to speak, for the nonexistence of an efficient computational circuit for the explicit hard function in the lower bound problem under consideration. Now there are some other assumptions for obstructions that they must be short, easy to verify and easy to construct. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question:&lt;/strong&gt; My question is that say I have a problem that I conjecture to be solvable in polynomial time. Then how can I show that there exist no obstruction for this problem, i.e. if no obstructions exist then the problem can be computed efficiently and it is indeed in polynomial time. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Approach:&lt;/strong&gt; I think, and I may be wrong in this assertion, that showing no obstructions exist can be equivalent to standard reduction of NP problems to other problems whose complexity is yet unknown, in the proof that they themselves are in NP. So then in that case one can, if possible, show that obstructions exist as one tries to reduce an NP problem to the problem under consideration, that way, the reduction is intractable. Also what role does postselection play in all of this? Is it possible to simply postselect on the nonexistence of obstructions? Thanks and pardon the lack of precise statements in my approach and questions. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Just an another example, consider a problem &lt;strong&gt;X&lt;/strong&gt; that we know to be in P. Now let's say we didn't know about that problem being solvable in polynomial time, then is it possible, that one can make the following assertion: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Since no obstructions exist in the computation of &lt;strong&gt;X&lt;/strong&gt; we can say that it is in the class P&lt;/em&gt; &lt;/p&gt;&#xA;&#xA;&lt;p&gt;From there on, the problem is the easy (computationally) discovery of those obstructions, if even one exists, would show that &lt;strong&gt;X&lt;/strong&gt; is not in polynomial time. However going the other way, i.e. finding that no obstructions exist is a difficult task. &lt;/p&gt;&#xA;" OwnerUserId="5898" LastEditorUserId="129" LastEditDate="2011-08-07T03:17:54.687" LastActivityDate="2011-08-07T03:17:54.687" Title="Postselection in geometric complexity theory" Tags="&lt;application-of-theory&gt;&lt;proof-complexity&gt;&lt;gct&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="7624" PostTypeId="2" ParentId="1938" CreationDate="2011-08-04T18:13:29.840" Score="6" Body="&lt;p&gt;Several routing problems are known to be NP-hard and even hard to approximate to polynomial factors in DAGs. These include problems such as maximum edge-disjoint paths and congestion-minimization. See the papers by Andrews, Chuzhoy, Khanna, Zhang and others for more pointers.&lt;/p&gt;&#xA;" OwnerUserId="176" LastActivityDate="2011-08-04T18:13:29.840" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7625" PostTypeId="2" ParentId="7623" CreationDate="2011-08-04T19:20:03.977" Score="5" Body="&lt;p&gt;I like to think this way too, and I link it with the $P=NP\cap co-NP$ conjecture. It is mentionned &lt;a href=&quot;http://en.wikipedia.org/wiki/Co-NP&quot;&gt;there&lt;/a&gt; or &lt;a href=&quot;http://kintali.wordpress.com/2010/06/06/np-intersect-conp/&quot;&gt;there&lt;/a&gt; (I am having a hard time finding pages about this conjecture as I can only refer to it with math symbols that Google does not like).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A problem is in NP when you can give a certificate for a &quot;True&quot; answer (example : a hamiltonian cycle for the TSP problem or a valid assignment for the SAT problem). It is in co-NP when you can give a certificate for a &quot;False&quot; answer (example : a &quot;proof&quot; that the SAT formula is not satisfiable, a bad cut in a graph that prevents the existence of a hamiltonian cycle, etc...)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Actually, those may be the &quot;obstructions&quot; you may refer too. And this conjecture is about saying : a problem which is in NP is polynomial when I know what the obstructions are.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, the &quot;obstructions&quot; can take many different forms. For the matching problem (which is polynomial) it can be a partition of the graph (see &lt;a href=&quot;http://en.wikipedia.org/wiki/Tutte_theorem&quot;&gt;Tutte's characterization of graphs admitting a perfect matching&lt;/a&gt;), or it can be the certificate given by &lt;a href=&quot;http://en.wikipedia.org/wiki/Farkas%27_lemma&quot;&gt;Farkas's Lemma&lt;/a&gt; for linear programming (and graph problems that can be reduced to it). It can actually be a great many things, and so I usually &quot;use&quot; this conjecture in one direction :&#xA;When I can find no obstructions, I do not deduce that my problem is NP-Hard. Some obstructions are really hard to find... But when I have a complicated polynomial algorithm for a problem, I am sometimes convinced that &quot;there must be an understandable set of obstructions, which would be easier to understand that the complicated algorithm&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Well... My two cents :-)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Nathann&lt;/p&gt;&#xA;" OwnerUserId="1209" LastActivityDate="2011-08-04T19:20:03.977" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7626" PostTypeId="2" ParentId="7605" CreationDate="2011-08-04T19:27:12.100" Score="7" Body="&lt;p&gt;As per Suresh's request (he is the boss after all) I am making my comment above an answer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Emina Soljanin at Alcatel-Lucent Labs works on network coding and content delivery networks. She has written survey articles on network coding. See her web page. ect.bell-labs.com/who/emina. You can also check out her papers on content delivery via network coding and other means on the ArXiv.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I also want to say that network coding is a topic of much interest to theoretical computer science - there are several papers in TCS on this topic.&lt;/p&gt;&#xA;" OwnerUserId="176" LastActivityDate="2011-08-04T19:27:12.100" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7627" PostTypeId="2" ParentId="7381" CreationDate="2011-08-04T21:48:19.060" Score="2" Body="&lt;p&gt;Apparently, I cannot comment so this will be an answer, even if it only a partial answer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Element-distinctness has a lower bound of $\Omega(N^{2/3})$ and its certificate complexity is $\sqrt{N}$, so if one tries to prove it using the adversary method, he would need to use the adversary method with negative weights (which is optimal), or why not the Multiplicative adversary method.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Otherwise, the polynomial method is sometimes easier to use that the adversary methods since it suffices to prove the &lt;strong&gt;existence of polynomial&lt;/strong&gt; whereas for the adversary method, you need to &lt;strong&gt;explicitly&lt;/strong&gt; have a good adversary matrix, and compute its operator norm.&lt;/p&gt;&#xA;" OwnerUserId="36" LastEditorUserId="36" LastEditDate="2011-08-04T22:35:51.333" LastActivityDate="2011-08-04T22:35:51.333" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7629" PostTypeId="1" AcceptedAnswerId="7632" CreationDate="2011-08-05T05:38:09.510" Score="12" ViewCount="354" Body="&lt;h3&gt;Quick version&lt;/h3&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Are there models of decoherence for the quantum walk on the line such that we can tune the walk to spread as &lt;span class=&quot;math-container&quot;&gt;$\Theta(t^k)$&lt;/span&gt; for any &lt;span class=&quot;math-container&quot;&gt;$1/2 \leq k \leq 1$&lt;/span&gt;?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;hr /&gt;&#xA;&lt;h3&gt;Motivation&lt;/h3&gt;&#xA;&lt;p&gt;Classical random walks are useful in algorithm design, and quantum random walks have proven useful for making a number of cool quantum algorithm (sometimes with &lt;a href=&quot;http://arxiv.org/abs/quant-ph/0209131&quot; rel=&quot;noreferrer&quot;&gt;provable exponential speed-ups&lt;/a&gt;). Thus, it is important to understand the difference between quantum and classical random walks. Sometimes, the easiest way to do this is to consider toy models, such as walks on the line.&lt;/p&gt;&#xA;&lt;p&gt;There is a physics motivation as well: it is interesting to know how quantum mechanics scales to classical mechanics. But this is not very relevant to cstheory.&lt;/p&gt;&#xA;&lt;p&gt;My personal motivation is completely orthogonal: I am trying to match some experimental data with a model that transitions smoothly from quantum to classical and is relatively intuitive.&lt;/p&gt;&#xA;&lt;h3&gt;Background&lt;/h3&gt;&#xA;&lt;p&gt;When considering quantum and classical walks on the integer line, a key difference is that the standard deviation (of the position distribution) of the quantum walk goes as &lt;span class=&quot;math-container&quot;&gt;$\Theta(t)$&lt;/span&gt; and classical ones as &lt;span class=&quot;math-container&quot;&gt;$\Theta({t^{1/2}})$&lt;/span&gt; where &lt;span class=&quot;math-container&quot;&gt;$t$&lt;/span&gt; is the number of steps for a discrete model, or time in a continuous model. Note that this is not restricted to the line, and for many graphs you will see a similar quadratic relationship between the quantum and classical mixing time, I consider the restricted case of the line since I think it is easier to analyze.&lt;/p&gt;&#xA;&lt;p&gt;As we introduce decoherence to a quantum walk (either through measurement or noise) the walk starts to behave more classically. In fact, for most measurements, we just end up with a classical walk that spreads as &lt;span class=&quot;math-container&quot;&gt;$\Theta(t^{1/2})$&lt;/span&gt; if viewed from the right timescale. For other forms of decoherence (such as dephasing the coin, or introducing imperfections in the line) there is usually a sharp threshold below which the walk behaves quantumly (spread as &lt;span class=&quot;math-container&quot;&gt;$\Theta(t)$&lt;/span&gt;) and above which the walk starts to be classical (spread as &lt;span class=&quot;math-container&quot;&gt;$\Theta(t^{1/2})$&lt;/span&gt;). In fact, this scaling has even been suggested as the definition of a quantum walk.&lt;/p&gt;&#xA;&lt;hr /&gt;&#xA;&lt;h3&gt;Long version of question&lt;/h3&gt;&#xA;&lt;p&gt;Are there models of decoherence for a random walk on the line, such that as we vary the amount of decoherence we can achieve a standard deviation in position that scales as &lt;span class=&quot;math-container&quot;&gt;$\Theta(t^k)$&lt;/span&gt; for any &lt;span class=&quot;math-container&quot;&gt;$1/2 \leq k \leq 1$&lt;/span&gt;? Alternatively for other graphs with a gap in mixing or hitting time, is there forms of decoherence so that we can have the mixing/hitting/standard deviation that goes as &lt;span class=&quot;math-container&quot;&gt;$f(t)$&lt;/span&gt; for any &lt;span class=&quot;math-container&quot;&gt;$f \in \Sigma(g(t))$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$f \in O(h(t))$&lt;/span&gt; where &lt;span class=&quot;math-container&quot;&gt;$g(t)$&lt;/span&gt; is the classical mixing/hitting/STD and &lt;span class=&quot;math-container&quot;&gt;$h(t)$&lt;/span&gt; is the pure quantum. If this is not possible then is there a deeper reason why we see this sort of one-or-the-other behavior?&lt;/p&gt;&#xA;" OwnerUserId="1037" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2013-11-25T04:16:33.373" Title="Transitioning from quantum to classical random walks on the line" Tags="&lt;quantum-computing&gt;&lt;random-walks&gt;&lt;quantum-walk&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7631" PostTypeId="2" ParentId="4489" CreationDate="2011-08-05T07:39:33.263" Score="40" Body="&lt;p&gt;I have some &quot;real-world experience&quot; in this nascent industry (and no, I'm not talking about my $200,000 offer to Deolalikar :-) )&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In January, a software developer emailed me that he had an attempted proof of P&amp;ne;NP, and that while he was almost sure there was an error, he couldn't find it.  He asked if I knew any grad students who'd be willing to find the error for him in exchange for a few hundred dollars.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To give you some context: I get a proof of either P&amp;ne;NP or P=NP in my inbox roughly once per month.  Many of these emails go to a long list of complexity theorists (Cook, Karp, Fortnow, Sipser...); they often include religious or metaphysical ruminations as well as dark hints about academic conspiracies.  (In one case, there were graphic death threats against me, which led to my contacting the police.)  Virtually &lt;i&gt;none&lt;/i&gt; of them acknowledge any possibility that the proof might be wrong, or that the author might have misunderstood the question.  And when, back in grad school, I tried to correspond with the authors, I found all of them to be fervent believers in Churchill's maxim &quot;never, never, never, never give up.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So the software developer's request &lt;i&gt;really&lt;/i&gt; impressed me!  This was the first time I'd ever seen a P&amp;ne;NP proof accompanied by this level of self-awareness---both about the imposition being made on people's time and (more importantly) about the likelihood of error.  As it happened, my PhD student Michael Forbes sent the author a beautiful, detailed report explaining the problems with his approach; the author thanked Michael and (I think! :-) ) paid up as promised.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So yes: for amateurs who want someone to examine their P vs. NP proofs (or similar work), I think paying a grad student a few hundred bucks is a great way to go.  (Note that grad students are a much better choice than professors: not only do they have more energy and enthusiasm for such things, they also need the money more.)  I wish more amateurs availed themselves of this option.&lt;/p&gt;&#xA;" OwnerUserId="1575" LastEditorUserId="1575" LastEditDate="2011-08-06T17:11:40.507" LastActivityDate="2011-08-06T17:11:40.507" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="7632" PostTypeId="2" ParentId="7629" CreationDate="2011-08-05T08:23:54.640" Score="12" Body="&lt;p&gt;Great question. Actually, the same question popped up in something I was working on a few months ago (&lt;a href=&quot;http://arxiv.org/abs/1011.1217&quot; rel=&quot;nofollow&quot;&gt;arXiv:1011.1217&lt;/a&gt;). It seems that any natural kind of decoherence leads to behaviour that looks initially balistic, but which becomes diffusive as time increases, so you are transitionioning between a $t$ regime and a $t^{\frac{1}{2}}$ regime. See figure 2 in the above paper for an example of this. This seems to be the natural behaviour as your state gradually loses coherence.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This would seem to suggest that the variance only ever scales as $t$ or $t^2$, and hence the walk spreads as $t^{\frac{1}{2}}$ or $t$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, exactly the same thing happens in quantum metrology when noise is introduced, but can be overcome to yield an intermediate scaling (see for example J. A. Jones et al, Science, 324, 5931 (2009), &lt;a href=&quot;http://arxiv.org/abs/1103.1219&quot; rel=&quot;nofollow&quot;&gt;arXiv:1103.1219&lt;/a&gt;, &lt;a href=&quot;http://arxiv.org/abs/1101.2561&quot; rel=&quot;nofollow&quot;&gt;arXiv:1101.2561&lt;/a&gt;, etc.). One way this can be achieved is by making intermediate measurements.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Imagine you measure the position of the walker after every period of time $T$ collapsing the wavefunction, and allow free evolution in between. Now, imagine we want to evolve the system for total time $t=nT$. Then the variance in the position of the walker after this time will be $\mbox{Var}(x(nT)) = \sum_{i = 1}^n \mbox{Var}(x(T)) = n \mbox{Var}(x(T))$. In the absence of other decoherence we know the walker moves ballistically, and hence $\mbox{Var}(x(T)) = T^2$, and so the $\mbox{Var}(x(t)) = n T^2$. However, as $t=nT$, we can take $n\propto t^k$ and $T\propto t^{1-k}$. Thus $\mbox{Var}(x(t)) = t^{2-k}$. This way you can achieve any intermediate scaling, by chosing the measurement interval appropriately.&lt;/p&gt;&#xA;" OwnerUserId="204" LastEditorUserId="204" LastEditDate="2013-11-25T04:16:33.373" LastActivityDate="2013-11-25T04:16:33.373" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="7633" PostTypeId="1" AcceptedAnswerId="11459" CreationDate="2011-08-05T12:47:41.160" Score="7" ViewCount="2283" Body="&lt;p&gt;I have a directed acyclic graph (DAG) such that there can only be at most one edge between any two nodes (ie, only one (i,j) can exist between i and j). I need to find the the smallest set of paths from sources si to sinks ti that cover all the edges (ie, any edge is in at least one path).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem should be equivalent to a minimum flow problem, after having introduced a virtual source and a virtual sink and having set l(i,j)=1 for i,j not in {s,t} and l(s,si) = l(ti,t)=0 and c(i,j)=infinite.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is some literature about that (eg, &lt;a href=&quot;http://basilo.kaist.ac.kr/mathnet/kms_tex/981523.pdf&quot; rel=&quot;nofollow&quot;&gt;http://basilo.kaist.ac.kr/mathnet/kms_tex/981523.pdf&lt;/a&gt;). However, I'd like to know if there is an algorithm that works better in the specific case. The best I can think of is the blocking flow method (see the paper above), which should be O(|V|*|E|) in my case.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks in advance for any help!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Marco&lt;/p&gt;&#xA;" OwnerUserId="5984" LastEditorUserId="-1" LastEditDate="2012-05-22T18:53:33.163" LastActivityDate="2017-10-08T16:40:10.313" Title="Minimum path edge-cover or minimum flow with unit capacities and DAGs" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;max-flow&gt;" AnswerCount="1" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="7636" PostTypeId="2" ParentId="7619" CreationDate="2011-08-05T17:40:43.023" Score="2" Body="&lt;p&gt;A book source for information about problems of this type is: Graph Classes: A Survey, A. Brandstadt, Le, and Spinrad, SIAM, 1999.&lt;/p&gt;&#xA;" OwnerUserId="987" LastActivityDate="2011-08-05T17:40:43.023" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7637" PostTypeId="1" AcceptedAnswerId="7638" CreationDate="2011-08-05T23:38:47.270" Score="13" ViewCount="596" Body="&lt;p&gt;This question is motivated by a &lt;a href=&quot;https://mathoverflow.net/questions/71994/what-is-the-number-of-maximal-antichain-in-a-poset/72033#72033&quot;&gt;MathOverflow question by Peng Zhang&lt;/a&gt;.  Valiant showed that counting maximal cliques in a general graph is #P-complete, but what if we restrict to incomparability graphs (i.e., we want to count maximal antichains in a finite poset)?  This question seems natural enough that I suspect that it has been considered before, but I have not been able to locate it in the literature.&lt;/p&gt;&#xA;" OwnerUserId="2970" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2011-08-06T00:29:58.573" Title="Is counting maximal cliques in an incomparability graph #P-complete?" Tags="&lt;cc.complexity-theory&gt;&lt;counting-complexity&gt;&lt;partial-order&gt;&lt;clique&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="7638" PostTypeId="2" ParentId="7637" CreationDate="2011-08-06T00:29:58.573" Score="11" Body="&lt;p&gt;According to &lt;a href=&quot;http://epubs.siam.org/sicomp/resource/1/smjcat/v12/i4/p777_s1?isAuthorized=no&quot;&gt;this abstract&lt;/a&gt; for &quot;The Complexity of Counting Cuts and of Computing the Probability that a Graph is Connected&quot; (SIAM J. Comput. 12 (1983), pp. 777-788), counting anti-chains in a partial order is #P-complete. I don't have access to this paper so I can't tell if this result covers maximal anti-chains or not.&lt;/p&gt;&#xA;" OwnerUserId="751" LastActivityDate="2011-08-06T00:29:58.573" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="7639" PostTypeId="1" AcceptedAnswerId="7640" CreationDate="2011-08-06T10:39:34.117" Score="7" ViewCount="649" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;Suppose PH is strictly contained in PSPACE. Is there a problem in PSPACE that is not in PH and not PSPACE-complete?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I encountered a language that is in PSPACE. The question is whether it's in PH. So far I don't have any success in either proving it's in PH or proving it's PSPACE-complete. I wonder if there is a languge that's not in PH and not PSPACE-complete given PH $\ne$ PSPACE.&lt;/p&gt;&#xA;" OwnerUserId="2938" LastEditorUserId="186" LastEditDate="2011-08-07T22:18:22.057" LastActivityDate="2011-08-07T22:23:41.167" Title="Is there a PSPACE-intermediate language?" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;polynomial-hierarchy&gt;" AnswerCount="2" CommentCount="10" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="7640" PostTypeId="2" ParentId="7639" CreationDate="2011-08-06T13:21:21.033" Score="10" Body="&lt;p&gt;This is corollary 13 in Uwe Schöning's paper &quot;&lt;a href=&quot;http://dx.doi.org/10.1016/0304-3975%2882%2990114-1&quot;&gt;A uniform approach to obtain diagonal sets in complexity classes&lt;/a&gt;&quot;:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;h3&gt;Corollary 13:&lt;/h3&gt;&#xA;  &#xA;  &lt;p&gt;If $\mathsf{PSpace} \neq \mathsf{PH}$, then there exist sets in $\mathsf{PSpace}$ which are not $\mathsf{PSpace\text{-}complete}$ w.r.t. $\leq^{\mathsf{P}}_T$ and which are not in the polynomial hierarchy.&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;Proof:&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;If $\mathsf{PSpace} \neq \mathsf{PH}$, then QBF is not in the polynomial hierarchy.&#xA;  Hence $A_1 = \emptyset$, $A_2 = QBF$, $C_1 = \{\mathsf{NP\text{-}complete} \text{ w.r.t. } \leq^{\mathsf{P}}_T \}$, $C_2 = \mathsf{PH}$, satisfy the hypothesis of the main theorem. &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;h3&gt;Main theorem:&lt;/h3&gt;&#xA;  &#xA;  &lt;p&gt;Let $A_1$, $A_2$ be recursive sets and $C_1$, $C_2$ be classes of recursive sets with the following properties:&lt;/p&gt;&#xA;  &#xA;  &lt;ol&gt;&#xA;  &lt;li&gt;$A_1 \notin C_1$, $A_2 \notin C_2$&lt;/li&gt;&#xA;  &lt;li&gt;$C_1$ and $C_2$ are recursively presentable, &lt;/li&gt;&#xA;  &lt;li&gt;$C_1$ and $C_2$ are closed under finite variations. &lt;/li&gt;&#xA;  &lt;/ol&gt;&#xA;  &#xA;  &lt;p&gt;Then there exists a recursive set $A$ such that:&lt;/p&gt;&#xA;  &#xA;  &lt;ol&gt;&#xA;  &lt;li&gt;$A \notin C_1$, $A \notin C_2$, &lt;/li&gt;&#xA;  &lt;li&gt;if $A_1 \in \mathsf{P}$ and $A_2\notin \{ \emptyset, \Sigma^* \}$, then $A \leq^{\mathsf{P}}_m A_2$. &lt;/li&gt;&#xA;  &lt;/ol&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;(note: I updated the names to current ones)&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;There are two interpretations for monotone QBF:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;QBFs where the quantifier free part is monotone in all variables. Then this is in $\mathsf{P}$ as Ryan noted. Because the quantifier-free part is monotone in quantified variables we can remove the quantifiers and replace the existentially quantified variables with 1 and universally quantified variables with 0, the original quantified formula is true iff this modified quantifier-free formula is true, and this reduces the problem to monotone formula evaluation which is in (and complete for) $\mathsf{NC^1} \subseteq \mathsf{P}$. (If we are taking supremum of a function over a variable and the function is monotone in that variable we only need to compute the value of the function over the maximal values for that variable.)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;QBFs which are monotone in the input variables. This is $\mathsf{PSpace}$ under $\mathsf{AC^0}$ reductions, the reduction of the QBF to this version is simple and is similar to the proof for monotone boolean formula evaluation being complete for $\mathsf{NC^1}$ or monotone circuit value being complete for $\mathsf{P}$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2011-08-07T22:23:41.167" LastActivityDate="2011-08-07T22:23:41.167" CommentCount="6" CommunityOwnedDate="2011-08-07T22:02:56.380" ContentLicense="CC BY-SA 3.0" />
  <row Id="7641" PostTypeId="2" ParentId="7303" CreationDate="2011-08-06T13:29:39.653" Score="5" Body="&lt;p&gt;There are hierarchies in propositional proof complexity similar to those in circuit complexity. E.g. $G_i$ propositional roof systems are similar to $\mathsf{PH}$, C-Frege proof systems for $C \subset \mathsf{P}$ are similar to circuit complexity classes $C$, and so on.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are also hierarchies in bounded arithmetics, e.g. $\mathsf{S^i_j}$ theories, etc.&lt;/p&gt;&#xA;" OwnerUserId="186" LastActivityDate="2011-08-06T13:29:39.653" CommentCount="0" CommunityOwnedDate="2011-08-06T13:29:39.653" ContentLicense="CC BY-SA 3.0" />
  <row Id="7642" PostTypeId="1" AcceptedAnswerId="7644" CreationDate="2011-08-06T15:30:08.937" Score="27" ViewCount="3314" Body="&lt;p&gt;I haven't managed to find this data structure, but I'm not an expert in the field.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The structure implements a set, and is basically an array of comparable elements with an invariant. The invariant is the following (defined recursively):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An array of length 1 is a merge-array.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An array of length 2^n (for n &gt; 0) is a merge-array iff:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;the first half is a merge-array and the second half is empty&#xA;or&lt;/li&gt;&#xA;&lt;li&gt;the first array is full and sorted, and the second half is a merge-array.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Note that if the array is full, it is sorted.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To insert an element, we have two cases:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;If the first half is not full, insert recursively in the first half.&lt;/li&gt;&#xA;&lt;li&gt;If the first half is full, insert recursively in the second half.&lt;/li&gt;&#xA;&lt;li&gt;After the recursive step, if the whole array is full, merge the&#xA;halves (which are sorted), and resize it to the double of its original&#xA;length.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;To find an element, recurse in both halves, using binary search&#xA;when the array is full. (This should be efficient since there are&#xA;at most $O(\log(n))$ ascending fragments).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The structure can be thought as a static version of mergesort.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's not clear what one should do to erase an element.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit: after improving my understanding of the structure.&lt;/p&gt;&#xA;" OwnerUserId="5796" LastEditorUserId="5796" LastEditDate="2011-08-06T16:46:44.287" LastActivityDate="2011-08-06T18:41:18.780" Title="I dreamt of a data structure, does it exist?" Tags="&lt;ds.data-structures&gt;" AnswerCount="2" CommentCount="8" FavoriteCount="12" ContentLicense="CC BY-SA 3.0" />
  <row Id="7643" PostTypeId="2" ParentId="7642" CreationDate="2011-08-06T16:50:31.447" Score="11" Body="&lt;p&gt;This is similar to a log-structured merge trees or &lt;a href=&quot;http://supertech.csail.mit.edu/papers/sbtree.pdf&quot;&gt;cache oblivious lookahead arrays&lt;/a&gt; (or COLAs). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The simplest COLA is an array of size $2^k-1$ with virtual &quot;levels&quot; of length $2^i$ for $0 \leq i &amp;lt; k$ laid out in order in the array. Each level is totally full or totally empty, and each level is sorted.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To insert an item, place it it level 0 (with $2^0$ length) if level 0 is empty. Otherwise, merge it with the item at level 0 and fill level 1 (with $2^1$ length) with the resulting list of length 2. If level 1 is already full, merge again; repeat.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Insert takes $O(\lg n)$ amortized / $O(n)$ worst-case time. Lookup takes $O(\lg^2 n)$ time. More advanced versions can reduce and partially deamortize these.&lt;/p&gt;&#xA;" OwnerUserId="43" LastEditorUserId="43" LastEditDate="2011-08-06T17:36:52.750" LastActivityDate="2011-08-06T17:36:52.750" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7644" PostTypeId="2" ParentId="7642" CreationDate="2011-08-06T18:41:18.780" Score="31" Body="&lt;p&gt;You're describing the classical &lt;a href=&quot;http://dx.doi.org/10.1016/0196-6774(80)90015-2&quot;&gt;Bentley-Saxe logarithmic method&lt;/a&gt;, applied to static sorted arrays.  The same idea can be used to add support for insertions to any static data structure (no insertions or deletions) for any decomposable searching problem.  (A search problem is &lt;em&gt;decomposable&lt;/em&gt; if the answer for any union $A\cup B$ can be computed easily from the answers for the sets $A$ and $B$.)  The transformation increases the amortized query time by a factor of $O(\log n)$ (unless it was already bigger than some polynomial in $n$), but increases the space by only a constant factor.  Yes, it can be deamortized, thanks to Overmars and van Leeuwen, but you really don't want to do that if you don't have to.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://compgeom.cs.uiuc.edu/~jeffe/teaching/datastructures/notes/01-statictodynamic.pdf&quot;&gt;These notes&lt;/a&gt; cover the basics.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Cache-oblivious lookahead arrays are the mutant offspring of Bentley-Saxe and van Emde Boas trees on steroids.&lt;/p&gt;&#xA;" OwnerUserId="111" LastActivityDate="2011-08-06T18:41:18.780" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="7645" PostTypeId="1" AcceptedAnswerId="7652" CreationDate="2011-08-06T23:50:38.830" Score="27" ViewCount="1429" Body="&lt;p&gt;Is there something known about the class of graphs with the property that all maximal independent sets have the same cardinality and are therefore maximum ISs?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, take a set of points in the plane and consider the graph of intersections among all segments between pairs of points in the set. (segments-&gt;vertices, intersections-&gt;edges). This graph will have the above property, as all maximal ISs correspond to triangulations of the original point set. Are there other categories of graphs known to have this property? Can this property be easily tested?&lt;/p&gt;&#xA;" OwnerUserId="1609" LastEditorUserId="1800" LastEditDate="2011-08-10T14:42:43.917" LastActivityDate="2013-01-01T09:10:43.377" Title="Maximal/maximum independent sets" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="7646" PostTypeId="2" ParentId="7623" CreationDate="2011-08-07T02:40:15.020" Score="5" Body="&lt;p&gt;It depends what you mean by &quot;exists no obstruction.&quot; If you mean &quot;obstruction&quot; in the general sense of some sort of proof certificate that the problem is not in $P$, then I have no idea how to answer your question because the notion of &quot;obstruction&quot; is still vague. If you mean &quot;obstruction&quot; specifically in the representation-theoretic sense of Mulmuley-Sohoni, then here is the answer:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the purposes of this answer, we can partition the Mulmuley-Sohoni GCT program into two steps:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Associate to $perm$ and $det$ (or your favorite complexity classes) algebraic varieties $V_{perm}$ and $V_{det}$ in such a way that $V_{perm} \subseteq V_{det}$ if and only if $perm$ is a $p$-projection of $det$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Find representation-theoretic obstructions to show that in fact $V_{perm} \not\subseteq V_{det}$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Note that the implication in (2) only goes one direction (existence of obstruction implies no inclusion of varieties), so it is possible that $perm$ is not a $p$-projection of $det$ and yet no representation-theoretic obstructions exist. So in this case, just proving that no obstructions exist is not enough to show that $perm$ is easy. On the other hand, in (1) the inclusion of algebraic varieties is both necessary and sufficient for the inclusion of complexity classes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[In the above of course many details have been omitted - the reliance on the input size, how to talk about the complexity class $P$ instead of $det$, the fact that the inclusion of varieties is equivalent to $perm$ being &lt;em&gt;approximable&lt;/em&gt; by $p$-projections of $det$, ... But the essence is still right.]&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2011-08-07T02:40:15.020" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="7647" PostTypeId="1" CreationDate="2011-08-07T13:37:34.470" Score="3" ViewCount="764" Body="&lt;p&gt;Let me state the problem again:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Suppose PSPACE $\ne$ EXP. Is there a language in EXP - PSPACE that is not PSPACE-hard?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Context&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have a problem that's in EXP. Currently I don't think it's in PSPACE. Besides proving it's EXP-complete, what else can I do? Since it seem not to be in PSPACE, I start to think it's PSPACE-hard. But is this necessary? That's why I asked this question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Actually I have a related question, that is, given PSPACE $\ne$ EXP, whether there is a language in EXP - PSPACE that is not EXP-hard. A yes answer to the main question will imply a yes answer to this question. I think answering this question will also help me somehow.&lt;/p&gt;&#xA;" OwnerUserId="2938" LastActivityDate="2011-08-07T22:04:36.617" Title="Given PSPACE $\ne$ EXP, is there a non-PSPACE-hard language in EXP - PSPACE?" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;" AnswerCount="3" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7648" PostTypeId="2" ParentId="7647" CreationDate="2011-08-07T14:38:37.793" Score="1" Body="&lt;p&gt;Please see comments.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;No to the first question. Assuming that $\mathsf{EXP}$ - $\mathsf{PSPACE}$ is not empty, since $\mathsf{PSPACE} \subseteq \mathsf{EXP}$, all languages in $\mathsf{EXP}$ - $\mathsf{PSPACE}$ are $\mathsf{PSPACE}$-hard.&lt;/p&gt;&#xA;" OwnerUserId="108" LastEditorUserId="108" LastEditDate="2011-08-07T17:23:20.147" LastActivityDate="2011-08-07T17:23:20.147" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="7649" PostTypeId="2" ParentId="7639" CreationDate="2011-08-07T15:02:12.833" Score="0" Body="&lt;p&gt;My argument is not the most sound one, I would call more of a proof idea. My idea is a variation of Ladner's theorem, where instead of padding we use alternations of quantifers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;All levels of $PH$ have complete problems with a &lt;em&gt;constant&lt;/em&gt; number of quantifier alternations. Consider now quantified formulas with at most $f(n)$ alternations where $f(n)\in o(1)\cap \omega(n)$, i.e. a sublinear non-constant function. For every such $f(n)$, let $f(n)-SAT$ be the language of satisfiable quantified formulas with at most $f(n)$ alternations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is apparent that $f(n)-SAT$ is in $PSPACE$ as it is a special version of $TQBF$, however I believe it is not in $PH$ and it is not $PSPACE$-complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose that for some constant $f(n)$, $f(n)-SAT$ is $PSPACE$-complete. Then by definition,TQBF is Karp-reducible to $f(n)-SAT$. Thus we have a reduction that can limit the number of alterations from at most $n$ to at most $f(n)$. The same reduction, perhaps applied repetitively, could be probably used to reduce $f(n)$ to a constant number of alternations, thus it would be in $PH$. That would lead to a contradiction of the hypothesis that $PH \neq PSPACE$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Therefore, $f(n)-SAT$ canoot be $PSPACE$-complete and since such a reduction does not exist, neither in $PH$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One weak point of this idea is that perhaps the reduction can reduce the alternations to a small function, that is however in $o(1)$.&lt;/p&gt;&#xA;" OwnerUserId="879" LastActivityDate="2011-08-07T15:02:12.833" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7650" PostTypeId="2" ParentId="7647" CreationDate="2011-08-07T16:42:06.710" Score="6" Body="&lt;p&gt;The answer to your questions depends on what kind of reductions you are using for your notion of hardness. If you are using polynomial-space reductions, then I believe Daniel's answer is correct. If you are using polynomial-time reductions, however, just the opposite is true.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Namely, assuming $EXP \neq PSPACE$, there is a problem in $EXP$ which is neither in $PSPACE$ nor hard for $PSPACE$ under polynomial-time reductions. This can essentially be constructed by diagonalizing against all possible polynomial-time reductions to $QBF$ (preventing the constructed language from being in $PSPACE$) and from $QBF$ (preventing the constructed language from being $PSPACE$-hard).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, by the general version of Ladner's Theorem, if $EXP \neq PSPACE$ then there are problems in $EXP \backslash PSPACE$ which are not $EXP$-hard under polynomial-time reductions.&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2011-08-07T16:42:06.710" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="7651" PostTypeId="2" ParentId="7647" CreationDate="2011-08-07T22:04:36.617" Score="9" Body="&lt;p&gt;The proof of Ladner's theorem doesn't use any special properties of P and NP and the same proof unchanged will show, assuming EXP&amp;lt;&gt;PSPACE, there is a language L in EXP-PSPACE and not EXP-complete under either P-time or PSPACE-reductions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You need the full Landner look-back trick to keep L in EXP. &lt;/p&gt;&#xA;" OwnerUserId="550" LastActivityDate="2011-08-07T22:04:36.617" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7652" PostTypeId="2" ParentId="7645" CreationDate="2011-08-07T22:49:39.727" Score="27" Body="&lt;p&gt;Such graphs are called &lt;i&gt;well-covered&lt;/i&gt; graphs.  &lt;a href=&quot;http://arxiv.org/abs/1104.4556&quot;&gt;Here&lt;/a&gt; is a recent paper on the subject that lists several useful references.  As Suresh mentioned, the recognition problem is co-NP-complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that the independent sets of a graph form an abstract simplicial complex.  Simplicial complexes that arise in this way are called &quot;independence complexes&quot; or &quot;flag complexes.&quot;  A simplicial complex is said to be &lt;i&gt;pure&lt;/i&gt; if every maximal simplex has the same cardinality.  So you may find some relevant papers by searching for &quot;pure independence complex&quot; or &quot;pure flag complex.&quot;&lt;/p&gt;&#xA;" OwnerUserId="2970" LastActivityDate="2011-08-07T22:49:39.727" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7653" PostTypeId="1" CreationDate="2011-08-08T01:29:23.533" Score="13" ViewCount="4508" Body="&lt;p&gt;The popular DEFLATE algorithm uses Huffman coding on top of Lempel-Ziv.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In general, if we have a random source of data (= 1 bit entropy/bit), &lt;em&gt;no&lt;/em&gt; encoding, including Huffman, is likely to compress it on average.  If Lempel-Ziv were &quot;perfect&quot; (which it approaches for most classes of sources, as the length goes to infinity), post encoding with Huffman wouldn't help.  Of course, Lempel-Ziv &lt;em&gt;isn't&lt;/em&gt; perfect, at least with finite length, and so some redundancy remains.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is this remaining redundancy which the Huffman coding partially eliminates and thereby improves compression.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is: Why is this remaining redundancy successfully eliminated by Huffman coding and not LZ? What properties of Huffman versus LZ make this happen? Would simply running LZ again (that is, encoding the LZ compressed data with LZ a second time) accomplish something similar? If not, why not? Likewise, would first compressing with Huffman and then afterwards with LZ work, and if not, why?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;UPDATE:&lt;/strong&gt;&#xA;It is clear that even after LZ, some redundancy will remain.  Several people have made that point.  What isn't clear is: Why is that remaining redundancy better addressed by Huffman than LZ? What's unique about it in contrast with the original source redundancy, where LZ works better than Huffman?&lt;/p&gt;&#xA;" OwnerUserId="4888" LastEditorUserId="4888" LastEditDate="2011-08-08T04:39:18.290" LastActivityDate="2011-08-13T21:54:39.947" Title="Why does Huffman coding eliminate entropy that Lempel-Ziv doesn't?" Tags="&lt;ds.algorithms&gt;&lt;it.information-theory&gt;&lt;coding-theory&gt;&lt;encoding&gt;" AnswerCount="5" CommentCount="0" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="7654" PostTypeId="2" ParentId="7653" CreationDate="2011-08-08T01:52:58.227" Score="2" Body="&lt;p&gt;I belive the answer lies in the lookup dictionary size. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Data has a sense of locality (that is to say, if a piece of data has been used, it is likely that it will be used again soon), and the LZ algorithm takes advantage of this in the lookup dictionary construction. It generates a trie with a finite amount of possible nodes, &lt;strong&gt;to keep  lookups fast&lt;/strong&gt;. When it hits the size limit, it makes another trie, &quot;forgetting&quot; about the previous one. So it has to build again the lookup table for the simpler characters, but if some words are not used anymore, they are not kept in memory anymore, so an smaller encoding can be used.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Therefore, a LZ output can be reduced further with Huffman encoding, for this redundancy in the creation of the lookup tries can be detected by statistical analysis.&lt;/p&gt;&#xA;" OwnerUserId="5532" LastActivityDate="2011-08-08T01:52:58.227" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7655" PostTypeId="2" ParentId="7653" CreationDate="2011-08-08T02:57:24.647" Score="13" Body="&lt;p&gt;This was originally a comment, but it got too long.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you look at DEFLATE, what is being compressed by Huffman is the output of LZ77; LZ77 works by (when this takes fewer bits than the raw data) sending an pointer earlier into the string being compressed, and a match length that tells how many symbols to take after the pointer. The theory shows that, even without additional compression, this technique eventually converges to the source entropy. However, in data compression, any time you have a distribution that isn't completely random, you might as well compress it. There's no reason to believe that the output of LZ77&amp;mdash;the pointers and the match lengths&amp;mdash;are completely random. They have to converge to complete randomness in the asymptotic limit, since LZ77 is asymptotically optimal, but in practice you only use a finite dictionary, so they presumably stay far enough away from being completely random that you win by doing further compression on them. Naturally, you use one Huffman code for the pointers and another for the match lengths, since these two processes have different statistics.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Why use Huffman rather than LZ for the second round of compression? The big advantage LZ has over Huffman is in treating dependencies between symbols. In English, if one letter is a 'q', the next is extremely likely to be a 'u', and so on. If the symbols are independent events, then Huffman is simpler and works just as well or better for short strings. For the output of LZ77, my intuition is that the symbols should be fairly independent, so Huffman should work better.&lt;/p&gt;&#xA;" OwnerUserId="1677" LastEditorUserId="1677" LastEditDate="2011-08-08T03:04:33.513" LastActivityDate="2011-08-08T03:04:33.513" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="7656" PostTypeId="1" CreationDate="2011-08-08T06:01:43.620" Score="1" ViewCount="4594" Body="&lt;p&gt;The question appears in Cormen's Introduction to Algorithms.&lt;p&gt;&#xA;There are two types of professional wrestlers: &quot;babyfaces&quot;(&quot;good guys&quot;) and &quot;heels&quot;(&quot;bad guys&quot;). Between any pair of professional wrestlers, there may or may not be a rivalry. Suppose we have &lt;em&gt;n&lt;/em&gt; professional wrestlers and we have a list of &lt;em&gt;r&lt;/em&gt; pairs of wrestlers for which there are rivalries. Give an &lt;em&gt;O(n+r)&lt;/em&gt;-time algorithm that determines whether it is possible to designate some of the wrestlers as babyfaces and the remainder as heels such that each rivalry is between a babyface and a heel. If it is possible to perform such a designation, your algorithm should produce it. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;One of the solutions I found said the following -&lt;p&gt;&#xA;Create a graph &lt;em&gt;G&lt;/em&gt; where each vertex represents a wrestler and each edge represents a rivalry. The graph will contain n vertices and r edges. Perform as many BFS's as needed to visit all vertices. Assign all wrestlers whose distance is even to be good guys and all wrestlers whose distance is odd to be bad guys. Then check each edge to verify that it goes between a good guy and a bad guy. This solution would take &lt;em&gt;O(n + r)&lt;/em&gt; time for the BFS, &lt;em&gt;O(n)&lt;/em&gt; time to designate each wrestler as a good guy or bad guy, and &lt;em&gt;O(r)&lt;/em&gt; time to check edges, which is &lt;em&gt;O(n + r)&lt;/em&gt; time overall.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Sure this solution works in all the cases I could come up with, and determines whether it is possible to color the graph in this manner or not. But I wish to know how do we formally verify the correctness of this solution? That is to say that, how do we determine if this solution exhausts all possible ways of coloring a graph in the manner asked of in the question, so as to declare whether or not it is possible to divide the graph in such a way. &lt;/p&gt;&#xA;" OwnerUserId="6130" LastActivityDate="2011-08-08T06:01:43.620" Title="Two color Graph Coloring problem with solution involving BFS" Tags="&lt;graph-theory&gt;" AnswerCount="0" CommentCount="1" FavoriteCount="1" ClosedDate="2011-08-08T06:05:26.347" ContentLicense="CC BY-SA 3.0" />
  <row Id="7657" PostTypeId="2" ParentId="6841" CreationDate="2011-08-08T07:44:09.690" Score="4" Body="&lt;p&gt;I just realized that there is a nice solution to your problem, if you are willing to consider linear logic as your ambient logic instead of intuitionistic or classical logic. As is well-known, linear logic with the exponential modality $!A$ is not decidable. Furthermore, the exponential is a comonad featuring the duplication axiom $!A \multimap !!A$, which is evidently an axiom of nesting depth 2. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;(I got this far right away, and then I got stuck -- which is why this answer is so late.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, I just realized that in implicit complexity, people modify the exponential $!A$ of linear logic to more precisely control the space and time usage of cut-elimination. Critically, all systems for doing so eliminate the duplication axiom! As a result, you can choose a system for which normalization likely goes past PSPACE (e.g., Elementary Affine Logic is as strong as elementary bounded Turing machines), and then the axiomatization of that will be unlikely to be in PSPACE, since that would imply that you could find cut-free proofs quickly. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Link: Ugo dal Lago and Simone Martini, &lt;a href=&quot;http://www.cs.unibo.it/~martini/papers-to-ftp/phasem.pdf.gz&quot; rel=&quot;nofollow&quot;&gt;Phase Semantics and Decidability of Elementary Affine Logic&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="657" LastActivityDate="2011-08-08T07:44:09.690" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7658" PostTypeId="1" CreationDate="2011-08-08T09:58:43.340" Score="1" ViewCount="135" Body="&lt;p&gt;Yuri Manin recently posted an interesting paper on computability of boundary regions of distance-rate trade-offs for error correction codes.&#xA;&lt;a href=&quot;http://arxiv.org/PS_cache/arxiv/pdf/1107/1107.4246v1.pdf&quot; rel=&quot;nofollow&quot;&gt;http://arxiv.org/PS_cache/arxiv/pdf/1107/1107.4246v1.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am curious if information theory provides any clues to this problem in asymptotic coding theory?&lt;/p&gt;&#xA;" OwnerUserId="5511" LastActivityDate="2011-08-08T09:58:43.340" Title="Information theory and Tsfasman-Manin's problem" Tags="&lt;it.information-theory&gt;&lt;coding-theory&gt;" AnswerCount="0" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7659" PostTypeId="2" ParentId="7653" CreationDate="2011-08-08T10:20:12.723" Score="10" Body="&lt;p&gt;Data compression is really about two things: modelling and encoding. Algorithms of the LZ family model the text as a concatenation of exact repetitions, which is asymptotically optimal for many random sources and reasonably good for many real texts. For some inputs, this model can be quite bad, however. For example, you cannot use LZ to compress a suffix array directly, even though the suffix array is as compressible as the original text.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;LZ77 encodes the input as a sequence of tuples $(p, \ell, c)$, one per repetition, where $p$ is a pointer to an earlier occurrence, $\ell$ is the length of the repetition, and $c$ is the next character. Usually this sequence does not contain many (reasonably long) exact repetitions, so we cannot use another LZ-based algorithm to compress it. Instead, we have to look for other models.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of the three components of a tuple, the pointer can be thought as a large random integer, so encoding it as a $\log n$-bit integer (for an input of length $n$) is a reasonably good choice. On the other hand, repetition lengths are usually small, so we should encode them with codes that favor small numbers over large numbers. Huffman is one suitable coding scheme, and there are others as well. The characters after repetitions are probably not evenly distributed, so we can use a zero-order compressor such as Huffman to squeeze out the most obvious redundance.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So in short, Huffman beats LZ in compressing the tuples, as its model (fixed distribution vs. exact repetitions) is a better match for the data.&lt;/p&gt;&#xA;" OwnerUserId="56" LastEditorUserId="56" LastEditDate="2011-08-08T11:34:39.633" LastActivityDate="2011-08-08T11:34:39.633" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="7660" PostTypeId="1" CreationDate="2011-08-08T12:37:52.450" Score="6" ViewCount="575" Body="&lt;p&gt;I have the following problem:&#xA;I'm developing a software for data visualization where I get a graph structure and represent it in 3D space. So far, I've been using force-based algorithms to draw graphs and it worked well, until I got requirement that my software should represent very big number of vertices and edges (few millions). It would be very impractical to hold all those in memory, so I'm looking for an algorithm that will enable me to stream small portions of graph as I &quot;walk&quot; through the space. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, the main problem is in showing and dynamically repositioning of vertices, since I don't have already predefined positions, and I must get them from graph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can you point me to some algorithms for incremental drawing and streaming of graph? (and yes, I Googled a lot :))&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks in advance!&lt;/p&gt;&#xA;" OwnerUserId="6132" LastEditorUserId="186" LastEditDate="2011-09-08T01:44:42.610" LastActivityDate="2012-02-05T05:09:04.250" Title="Incremental drawing of large graphs" Tags="&lt;graph-theory&gt;&lt;cg.comp-geom&gt;&lt;data-streams&gt;&lt;graph-drawing&gt;" AnswerCount="2" CommentCount="3" FavoriteCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="7661" PostTypeId="2" ParentId="7660" CreationDate="2011-08-08T12:53:10.370" Score="0" Body="&lt;p&gt;Probably you do not need to stream the graph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can run your algorithm to displace the graph in 3d space assigning positions do all nodes and then you can combine it with a Octree for culling the nodes that will not be seen by the camera.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Navigate the camera through space and query the Octree wich nodes are visible in a given moment.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As a side optimization you can group &quot;far&quot; nodes in one &quot;reference&quot; node to guide the user and when he goes near the group it splits and show the real content of the node group&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Refs:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Octree&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/Octree&lt;/a&gt;&#xA;&lt;a href=&quot;http://http.developer.nvidia.com/GPUGems2/gpugems2_chapter37.html&quot; rel=&quot;nofollow&quot;&gt;http://developer.nvidia.com/GPUGems2/gpugems2_chapter37.html&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="6134" LastActivityDate="2011-08-08T12:53:10.370" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7664" PostTypeId="1" AcceptedAnswerId="7668" CreationDate="2011-08-08T15:18:34.583" Score="13" ViewCount="2656" Body="&lt;p&gt;I am looking for a &lt;strong&gt;reference&lt;/strong&gt; (not a proof, that I can do) to the following extension of Chernoff.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $X_1,..,X_n$ be Boolean random variables, &lt;em&gt;not necessarily independent&lt;/em&gt;.&#xA;Instead, it is guaranteed that $Pr(X_i=1|C)&amp;lt;p$ for each $i$ and every event $C$ that only depends on $\{X_j|j\neq i\}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Naturally, I want an upper bound on $\Pr\left(\sum_{i\in[n]}X_i&amp;gt;(1+\lambda)np\right)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks in advance!&lt;/p&gt;&#xA;" OwnerUserId="6136" LastEditorUserId="1800" LastEditDate="2011-08-10T14:41:31.127" LastActivityDate="2013-06-25T16:54:14.540" Title="An extension of Chernoff bound" Tags="&lt;reference-request&gt;&lt;pr.probability&gt;&lt;chernoff-bound&gt;" AnswerCount="3" CommentCount="0" FavoriteCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="7665" PostTypeId="2" ParentId="7660" CreationDate="2011-08-08T16:24:12.493" Score="2" Body="&lt;p&gt;I would suggest using some Graph database like &lt;a href=&quot;http://neo4j.org/&quot; rel=&quot;nofollow&quot;&gt;neo4j&lt;/a&gt; and have a look into the paper &lt;a href=&quot;http://highscalability.com/blog/2010/3/30/running-large-graph-algorithms-evaluation-of-current-state-o.html&quot; rel=&quot;nofollow&quot;&gt;running large graph algorithms&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="6059" LastActivityDate="2011-08-08T16:24:12.493" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7666" PostTypeId="2" ParentId="7664" CreationDate="2011-08-08T17:22:01.153" Score="7" Body="&lt;p&gt;The closest things I'm aware of in the literature are extensions of Chernoff bounds to negatively correlated random variables, e.g. see &lt;a href=&quot;http://www.brics.dk/RS/96/25/BRICS-RS-96-25.pdf&quot; rel=&quot;nofollow&quot;&gt;this&lt;/a&gt; or &lt;a href=&quot;http://www.dsi.uniroma1.it/~ale/Papers/master.pdf&quot; rel=&quot;nofollow&quot;&gt;this&lt;/a&gt;.  Formally, your condition could be satisfied without the negative correlation, but the idea is similar.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Because your generalization isn't difficult to prove, it might be that nobody bothered writing it up.&lt;/p&gt;&#xA;" OwnerUserId="123" LastEditorUserId="123" LastEditDate="2011-08-08T19:37:09.557" LastActivityDate="2011-08-08T19:37:09.557" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="7667" PostTypeId="1" AcceptedAnswerId="7676" CreationDate="2011-08-08T17:25:41.193" Score="3" ViewCount="597" Body="&lt;p&gt;This post is a little lengthy, thank your for your patience for reading. ^_^&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As known, counting antichains in a poset is #P-complete, so it is NP-hard to get the exact answer. Following is my simple divide-conquer algorithm for the antichain counting problem (#ANTICHAIN). I wonder if more helpful properties releavnt to my algorithm could be found? And whether the worst condition may happen? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;We represent the poset as a DAG. Notice: We can assume that $G$'s underlying undirected graph is connected. Otherwise, we can calculate each connected component and just multiply the number of each component. Also, we assume that $G$ is transitive reduction of itself, i.e, $G$ is free of transitive edge.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider a vertex $u$ of $G$, let $R^+[u]=\{ v | u \leadsto v \}$ denote the set of vertices which are reachable from $u$, including $u$ itself. Similarly, let $R^-[u]=\{ v | v \leadsto u \}$. &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;When $u$ is selected as a member of an antichain, $R^+[u]$ is excluded from further selection, i.e., $G \leftarrow G-R^+[u]$. Just delete $R^+[u]$ and any edge which has an head (ending-point) in $R^+[u]$ from $G$. &lt;/li&gt;&#xA;&lt;li&gt;When $u$ is not selected, $R^-[u]$ is excluded from further selection, i.e., $G \leftarrow G-R^-[u]$. Just delete $R^-[u]$ and any edge which has an tail (starting-point) in $R^-[u]$ from $G$. &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Let $|R^+[u]|=a$ and $|R^-[u]|=b$, then the recurrence relation is at least as good as &#xA;$$T(n)=T(a)+T(n-a)+T(b)+T(n-b) \text.$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Why at least? Because the underlying undirectd graph of $G-R^+[u]$ or $G-R^-[u]$ may be disconnected.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For a DAG, let ${\Delta^-}(G)$ and ${\Delta^+ }(G) $ represent the maximum indegree and outdegree of vertices of $G$. &#xA;If ${\Delta ^ - }(G) \le 1$ and ${\Delta ^ + }(G) \le 1$ , then #ANTICHAIN is in $\mathcal{O}(n)$. Otherwise, my algorithm satisfies the recursion &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$T(n)=T(n-1)+T(n-3) \text,$$ &lt;/p&gt;&#xA;&#xA;&lt;p&gt;nearly $\mathcal{O}(1.45^n)$. &#xA;I wonder whether the recursion is tight? Does there exists a DAG when using my simple divide-conquer algorithm, the running time is $T(n)=T(n-1)+T(n-3)$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This algorithm is really kind of &lt;em&gt;stupid&lt;/em&gt;. Are there more elegant, effective algorithm exist already?  Has anyone thought about the possible FPRAS of it? Or has prove that #ANTICHAIN does not have a FPRAS? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Wow, closed. Sincerely thanks for your answer/comment in advance. ^_^&lt;/p&gt;&#xA;" OwnerUserId="6108" LastEditorUserId="1800" LastEditDate="2011-08-10T14:37:12.253" LastActivityDate="2011-08-10T14:37:12.253" Title="My exact divide-conquer algorithm for counting antichain in a poset?" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;partial-order&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7668" PostTypeId="2" ParentId="7664" CreationDate="2011-08-08T18:19:36.110" Score="26" Body="&lt;p&gt;What you want is the generalized Chernoff bound, which only assumes $P(\bigwedge_{i\in S} X_{i}) \leq p^{|S|}$ for any subset S of variable indices. The latter follows from your assumption, since for $S=\{i_1,\ldots,i_{|S|}\}$, $$P(\bigwedge_{i\in S} X_{i}) = P(X_{i_1} = 1)P(X_{i_2}=1|X_{i_1}=1)\cdots P(X_{i_{|S|}}=1|X_{i_1},...,X_{i_{|S|-1}}=1)\leq p^{|S|}$$&#xA;Impagliazzo and Kabanets recently gave an alternative proof of the Chernoff bound, including the generalized one. In their paper you can find all the appropriate references to previous work:&#xA;&lt;a href=&quot;http://www.cs.sfu.ca/~kabanets/papers/RANDOM2010.pdf&quot;&gt;http://www.cs.sfu.ca/~kabanets/papers/RANDOM2010.pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="1621" LastEditorUserId="1621" LastEditDate="2011-08-08T22:25:44.413" LastActivityDate="2011-08-08T22:25:44.413" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="7669" PostTypeId="1" AcceptedAnswerId="7671" CreationDate="2011-08-08T19:43:36.583" Score="7" ViewCount="2596" Body="&lt;p&gt;&lt;strong&gt;Context:&lt;/strong&gt; Ed. Witten recently wrote a potentially revolutionary &lt;a href=&quot;http://arxiv.org/abs/1009.6032&quot;&gt;paper&lt;/a&gt; where he showed that under certain conditions, a Chern-Simons path integral in three&#xA;dimensions is equivalent to an N = 4 path integral in four dimensions (this is the standard d=4, N=4 super Yang Mills theory)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Speculation:&lt;/strong&gt; Witten had shown that the Chern-Simons topological quantum field theory can be solved in terms of Jones polynomials. A quantum computer can simulate a TQFT, and thereby approximate the Jones polynomial. (source: &lt;a href=&quot;http://en.wikipedia.org/wiki/Quantum_algorithm#Computing_knot_invariants&quot;&gt;Wikipedia&lt;/a&gt; and &lt;a href=&quot;http://arxiv.org/abs/quant-ph/0511096&quot;&gt;this paper&lt;/a&gt;) Now I haven't completed reading Witten's paper and I wouldn't understand much of it anyways. But the idea is that if a quantum computer can simulate a path integral (or a Chern-Simons TQF) and since now Witten has shown in both of them to be dual descriptions in some sense, a quantum computer, atleast theoritically might be able to simulate a QFT. Also by the extension of that, Maldacena proposed that the specific field theory that Witten is using to be dual to type-II B string theory in AdS/CFT so then it may also be possible (only theoritically) to simulate a string theory.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question:&lt;/strong&gt; What are the technical constrains that a quantum or classical computer faces while simulating a QFT? Also my speculations only partially complete, could experts suggest a better description? Thanks!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;PS. Also thanks to Mitchell Porter who brought up that paper before. &lt;/p&gt;&#xA;" OwnerUserId="5898" LastEditorUserId="5898" LastEditDate="2011-08-08T19:50:17.477" LastActivityDate="2013-10-12T21:18:10.790" Title="Ed. Witten's new paper and the simulation of a quantum field theory" Tags="&lt;quantum-computing&gt;" AnswerCount="2" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="7670" PostTypeId="2" ParentId="7669" CreationDate="2011-08-08T22:02:23.357" Score="7" Body="&lt;p&gt;You are correct that quantum computers can efficiently approximate the Jones polynomial. Simulating quantum fields is a bit weird, since you are generally considering an infinite dimensional system, and wish to simulate it with a finite dimensional system. Under reasonable energy assumptions you can usually truncate the Hilbert space, and consider only a finite dimensional subspace of the full infinite dimensional system which none the less contains most of the amplitude. The dynamics of the system can then generally be simulated efficiently on a quantum computer (assuming the matrix elements for transitions are reasonably well behaved, as they are in nature). You could certainly make up a Lagrangian  for which the dynamics would not be efficiently simulable, even on a quantum computer, but there is nothing special about this. There are unnatural Hamiltonians which are not efficiently simulable, even without resorting to field theory. So the short answer is that you should be able to efficiently simulate the dynamics of well behaved quantum field theories (stringy or otherwise!).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, what I have said so far is about simulating the dynamics of the system. Finding ground states is much harder, and is not something a quantum computer can do efficiently, even for relatively simple Hamiltonians for finite systems. Indeed, ground state problems, even for local Hamiltonians for finite systems have been shown to be QMA-complete (this is essentially the quantum analogue of NP). So while quantum computers help with certain kinds of simulations, they do not allow you to efficiently find ground states (and hence vacua, etc.) except in some special cases.&lt;/p&gt;&#xA;" OwnerUserId="204" LastEditorUserId="204" LastEditDate="2011-08-09T14:05:50.253" LastActivityDate="2011-08-09T14:05:50.253" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7671" PostTypeId="2" ParentId="7669" CreationDate="2011-08-08T22:32:21.143" Score="17" Body="&lt;p&gt;To complement what Joe wrote, and maybe explain this question a bit more (without answering it!):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The computational complexity of simulating &quot;realistic&quot; quantum field theories has been considered an open problem for a long time.  One of the main problems, as I understand it, is that (3+1)-dimensional QFTs aren't sufficiently well-defined mathematically for it to be clear what model of computation should correspond to them.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But the situation is different for the &lt;i&gt;(2+1)-dimensional&lt;/i&gt; QFTs called &lt;i&gt;topological&lt;/i&gt; quantum field theories (TQFTs).  For those, there &lt;i&gt;is&lt;/i&gt; a rigorous mathematical description based on the Jones polynomial, due to Witten from the 1980s.  It's that description that led to the deep and celebrated result of &lt;a href=&quot;http://arxiv.org/abs/quant-ph/0101025&quot; rel=&quot;nofollow&quot;&gt;Freedman, Kitaev, Larsen, and Wang&lt;/a&gt;, which showed that simulating TQFTs is indeed BQP-complete, as one would hope and expect (see &lt;a href=&quot;http://arxiv.org/abs/quant-ph/0511096&quot; rel=&quot;nofollow&quot;&gt;Aharonov, Jones, and Landau&lt;/a&gt; for a more computer-scientist-friendly version).  This remains essentially the only rigorous result we have about the computational complexity of quantum field theory.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, the questioner is asking whether some &lt;i&gt;new&lt;/i&gt; work by Witten could give a handle on the computational complexity of (3+1)-dimensional QFTs.  I don't know the answer to that, but it seems obvious that whatever it is, it would involve a significant research effort, and probably not fit within the margins of CS Theory StackExchange. :-)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;b&gt;Addendum (Oct. 12, 2013):&lt;/b&gt; I just saw this answer again, and I thought I should add a note that, shortly after I posted it, Jordan, Lee, and Preskill released an &lt;a href=&quot;http://arxiv.org/abs/1111.3633&quot; rel=&quot;nofollow&quot;&gt;important paper&lt;/a&gt; showing how to simulate &quot;&amp;phi;&lt;sup&gt;4&lt;/sup&gt; theory&quot; (a simple interacting quantum field theory) in quantum polynomial time, in any number of spacetime dimensions.  This doesn't directly address the OP's question, but it does render obsolete my comment about Freedman-Kitaev-Larsen-Wang remaining &quot;essentially the only rigorous result we have about the computational complexity of quantum field theory.&quot;&lt;/p&gt;&#xA;" OwnerUserId="1575" LastEditorUserId="1575" LastEditDate="2013-10-12T21:18:10.790" LastActivityDate="2013-10-12T21:18:10.790" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="7672" PostTypeId="1" AcceptedAnswerId="8001" CreationDate="2011-08-08T23:11:07.523" Score="19" ViewCount="926" Body="&lt;p&gt;&lt;strong&gt;EDIT (Aug 22, 2011):&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am further simplifying the question and putting a bounty on the question. Perhaps this simpler question will have an easy answer. I'm also going to strikethrough all the parts of the original question that are no longer relevant. (Thanks to Stasys Jukna and Ryan O'Donnell for partially answering the original question!)&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Background:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given an AC&lt;sup&gt;0&lt;/sup&gt; circuit with depth k and size S, there exists another AC&lt;sup&gt;0&lt;/sup&gt; circuit computing the same function with depth k and size $O(S^k)$ such that the new circuit has fanout = 1 for all gates. In other words, the circuit looks like a tree (except at the inputs, since the inputs may fanout to more than one gate). One way to do this is by duplicating all the gates that have fanout &gt; 1 until all gates have fanout = 1.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strike&gt; But is this the most efficient way to convert AC&lt;sup&gt;0&lt;/sup&gt; circuits to AC&lt;sup&gt;0&lt;/sup&gt; circuits with fanout 1? I read the following in &lt;a href=&quot;http://www.cs.cmu.edu/~odonnell/complexity/lecture14.pdf&quot; rel=&quot;noreferrer&quot;&gt;Lecture 14 of Ryan O'Donnell's course notes&lt;/a&gt;:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Suppose C is any depth-k circuit of size S which computes Parity. It&#xA;  is an exercise to show that C can be converted into a leveled  depth-k&#xA;  circuit, where the levels alternate AND and OR gates, the inputs wires&#xA;  are the 2n literals, and each gate has fan-out 1 (i.e., it’s a tree) —&#xA;  and the size increases to at most $(2kS)^2 \leq O(S^4)$.&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;Footnote: Actually, this is a slightly tricky exercise. It’s easier if&#xA;  you only have to get size $O(S^k)$, which is almost the same for our&#xA;  purposes if you think of k as a “constant”.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Does this mean there is a way to take any depth k AC&lt;sup&gt;0&lt;/sup&gt; circuit of size S and convert it to an AC&lt;sup&gt;0&lt;/sup&gt; circuit with fanout 1, depth k and size $(2kS)^2$? If so, how is this done and is this the best-known method?&#xA;&lt;/strike&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Original Question:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Given an AC&lt;sup&gt;0&lt;/sup&gt; circuit with depth k and size S, what's the best-known method (in terms of minimizing the circuit size of the resultant circuit) of converting this to an AC&lt;sup&gt;0&lt;/sup&gt; circuit of depth k and gate fanout 1? Are there any lower bounds known for this?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Newer, simpler question:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This question is a relaxation of the original one where I don't insist that the resultant circuit be constant depth. As explained above, there is a way to convert an AC&lt;sup&gt;0&lt;/sup&gt; circuit with depth k, size S into a circuit with size $O(S^k)$ such that the new circuit has fanout = 1 for all gates. Is there a better construction?&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Given an AC&lt;sup&gt;0&lt;/sup&gt; circuit with depth k and size S, what's the best-known method (in terms of minimizing the circuit size of the resultant circuit) of converting this to a circuit of any depth with gate fanout 1?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="206" LastEditorUserId="206" LastEditDate="2011-08-23T02:45:27.513" LastActivityDate="2011-08-29T10:44:05.483" Title="Most efficient way to convert an $\text{AC}^0$ circuit to a circuit  (of any depth) with gate fanout 1" Tags="&lt;cc.complexity-theory&gt;&lt;lower-bounds&gt;&lt;circuit-complexity&gt;" AnswerCount="1" CommentCount="17" FavoriteCount="11" ContentLicense="CC BY-SA 3.0" />
  <row Id="7673" PostTypeId="1" CreationDate="2011-08-09T01:40:22.280" Score="9" ViewCount="2889" Body="&lt;p&gt;I am working on approximation algorithms for minimum dominating set problem. In particular, I am interested in graphs classes restricted by forbidden induced subgraphs.&#xA;Since the domination problem and its variants have been extensively studied, I suppose someone may worked on this before.&#xA;So, the question is: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Does someone knows papers where it is studied approximation algorithms for domination problem for graphs classes defined by forbidden induced subgraphs?&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks in advance.&#xA;Kind regards.&lt;/p&gt;&#xA;" OwnerUserId="2582" LastActivityDate="2012-05-29T12:25:48.623" Title="Approximation algorithms for dominating set problem" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;approximation-algorithms&gt;" AnswerCount="3" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7675" PostTypeId="2" ParentId="7653" CreationDate="2011-08-09T06:46:21.260" Score="2" Body="&lt;p&gt;Perhaps I am off track here, but Huffman encoding looks at the entire input to build its encoding table (tree), whereas Lempel-Ziv encodes as it goes along. This is both an advantage and a disadvantage for Huffman. The disandvantage is obvioious, namely that we have to see the entire input before we can begin. The advantage is that Huffman will take into account statistics that occurs anywhere in the input, whereas Lempel-Ziv has to build up to it progressively. Or to put it in a different way, Lempel-Ziv has a &quot;direction&quot; which Huffman does not.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But all this is just my naive way of imagining how things are. We would need a real proof here to see how exactly Huffman outperforms Lempel-Ziv.&lt;/p&gt;&#xA;" OwnerUserId="705" LastActivityDate="2011-08-09T06:46:21.260" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7676" PostTypeId="2" ParentId="7667" CreationDate="2011-08-09T08:56:20.857" Score="6" Body="&lt;p&gt;Counting antichains in an $n$ element poset is equivalent to counting independent sets in a comparability graph on $n$ vertices. The problem of counting the independent sets in an $n$ vertex graph has an $O(1.2461^n)$ time algorithm, see Fürer and Kasiviswanathan &lt;a href=&quot;http://eccc.hpi-web.de/report/2005/033/&quot; rel=&quot;nofollow&quot;&gt;http://eccc.hpi-web.de/report/2005/033/&lt;/a&gt; .&lt;/p&gt;&#xA;" OwnerUserId="679" LastEditorUserId="679" LastEditDate="2011-08-10T08:03:39.163" LastActivityDate="2011-08-10T08:03:39.163" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="7677" PostTypeId="1" CreationDate="2011-08-09T13:57:14.703" Score="3" ViewCount="855" Body="&lt;p&gt;The &quot;graph classes: a survey&quot; mentioned Trotter and other authors have presented a list of forbidden subgraph of comparability graph. But the google book( where I read graph classes: a survey) do not have the page which contains the reference of specific literature.&#xA;To my knowledge, one forbidden graph is &quot;a k-cycle ( k is an odd intege $\ge$ 5) and no triangle chord&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thank you for your help in advance. :-)&lt;/p&gt;&#xA;" OwnerUserId="6108" LastEditorUserId="80" LastEditDate="2011-08-09T16:27:46.627" LastActivityDate="2012-12-03T11:43:31.783" Title="Is there a list of forbidden subgraphs for comparability graphs?" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;" AnswerCount="2" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7678" PostTypeId="2" ParentId="7677" CreationDate="2011-08-09T14:26:30.353" Score="9" Body="&lt;p&gt;You could refer to the entry for comparability graphs on graphclasses.org: &lt;a href=&quot;http://www.graphclasses.org/classes/gc_72.html&quot;&gt;http://www.graphclasses.org/classes/gc_72.html&lt;/a&gt;&#xA;(look at &quot;equivalent classes&quot; and note that the list is not finite)&lt;/p&gt;&#xA;" OwnerUserId="5063" LastActivityDate="2011-08-09T14:26:30.353" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="7679" PostTypeId="1" CreationDate="2011-08-09T14:38:09.800" Score="3" ViewCount="338" Body="&lt;p&gt;Sorry for not-precise question. :-(&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are several papers concerning exact counting (maximum) independent sets in general graphs. Actually, they concerns counting of solutions of 2SAT. The best of them is $O(1.23^n)$. But the algorithms do not use the specific information of comparability graphs. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;So I wonder whether there exists more powerful(faster) exact algorithm for counting independent sets in comparability graphs?&lt;/p&gt;&#xA;" OwnerUserId="6108" LastEditorUserId="233" LastEditDate="2011-08-10T09:55:46.873" LastActivityDate="2011-08-10T09:55:46.873" Title="Does faster exact algorithm for counting independent sets in comparability graphs than general graph exisits?" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;counting-complexity&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7680" PostTypeId="2" ParentId="7679" CreationDate="2011-08-09T15:17:12.760" Score="5" Body="&lt;p&gt;Bipartite graphs are comparability graphs, and it's known (since Provan and Ball) that counting the number of independent sets in bipartite graphs is #P-complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;J. S. Provan and M. O. Ball. The complexity of Counting Cuts and of Computing the Probability that a Graph is Connected.  SIAM J. Comput. 12 (1983) 777-788.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If I haven't mistaken, this should answer your question.&lt;/p&gt;&#xA;" OwnerUserId="2955" LastActivityDate="2011-08-09T15:17:12.760" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="7681" PostTypeId="2" ParentId="7673" CreationDate="2011-08-09T20:11:11.957" Score="5" Body="&lt;p&gt;In graph excluding a fixed minor e.g. planar graphs, many problems, including vertex cover, &lt;strong&gt;dominating set&lt;/strong&gt;, edge dominating set, R-dominating set, connected dominating set, connected&#xA;edge dominating set can be well-approximated (often PTAS or within constant factors). The following paper can serve as a starting point. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://erikdemaine.org/papers/BidimensionalSurvey_CJ/paper.pdf&quot; rel=&quot;nofollow&quot;&gt;The Bidimensionality Theory and&#xA;Its Algorithmic Applications&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="6059" LastEditorUserId="6059" LastEditDate="2011-08-09T20:39:11.640" LastActivityDate="2011-08-09T20:39:11.640" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="7682" PostTypeId="2" ParentId="7222" CreationDate="2011-08-09T20:26:37.060" Score="9" Body="&lt;p&gt;(This was meant as a comment, but went long).&#xA;Very interesting question.&#xA;If you are willing to think about other complexity measures besides Kolmogorov's, then there are some answers in Learning theory that might satisfy you. I leave it for the experts in the area.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, if I'm not mistaken, in &quot;A theory of the learnable&quot; Valiant proved that a boolean function can be reconstructed given a polynomial number of &quot;positive points&quot; on the size of its k-CNF formula (for any fixed k, and I mean&#xA;with &quot;positive points&quot; those of the form $(x_1,\ldots,x_n,1)$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In Knuth's TAOCP 7.2.1.6 it is shown in an astonishing way (using the Christmas tree pattern) that to reconstruct a monote boolean function (i.e. non-decreasing in each variable) you need exactly ${n+1 \choose \lfloor n/2\rfloor+1}$ points.&lt;/p&gt;&#xA;" OwnerUserId="168" LastEditorUserId="168" LastEditDate="2011-08-10T05:11:47.057" LastActivityDate="2011-08-10T05:11:47.057" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7683" PostTypeId="1" CreationDate="2011-08-09T20:38:07.123" Score="2" ViewCount="755" Body="&lt;p&gt;Lamport's &lt;a href=&quot;http://research.microsoft.com/en-us/um/people/lamport/pubs/bakery.pdf&quot; rel=&quot;nofollow&quot;&gt;Bakery Algorithm&lt;/a&gt; is one of the most elegant algorithms for mutual exclusion. The beauty of it is that it works even when the underlying system only provides a weak form of registers called &lt;em&gt;safe registers&lt;/em&gt;. Informally, when a read operation of a safe register is concurrent with a write to the register by another process,  the read may return any value in the domain of the register. I recently read that the Algorithm can be simplified if we want to ensure mutual exclusion with just atomic registers. Atomic registers being those in which a read of the register always returns the &lt;em&gt;latest&lt;/em&gt; written value of the register i.e. operations on the register can be &lt;a href=&quot;http://en.wikipedia.org/wiki/Linearizability&quot; rel=&quot;nofollow&quot;&gt;linearized&lt;/a&gt;. I would expect that the algorithm can be simplified for atomic registers since given reading and writing are atomic, devising a mutual exclusion algorithm must be simpler. I cannot however seem to think of a simplification to the original algorithm for atomic registers.&lt;/p&gt;&#xA;" OwnerUserId="698" LastEditorUserId="30" LastEditDate="2011-08-10T15:05:45.207" LastActivityDate="2011-08-10T15:05:45.207" Title="On the Bakery Mutual exclusion Algorithm" Tags="&lt;dc.distributed-comp&gt;&lt;concurrency&gt;" AnswerCount="0" CommentCount="8" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7685" PostTypeId="2" ParentId="7673" CreationDate="2011-08-10T01:46:02.943" Score="9" Body="&lt;p&gt;The class of line graphs can be characterized by a finite family of forbidden induced subgraphs (Beineke).  A dominating set in a line graph G corresponds to an edge dominating set of the root graph of G (and vice versa), and the size of minimum edge dominating set can be approximated by factor of 2 in polynomial time.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Line_graph&quot; rel=&quot;noreferrer&quot;&gt;http://en.wikipedia.org/wiki/Line_graph&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Edge_dominating_set&quot; rel=&quot;noreferrer&quot;&gt;http://en.wikipedia.org/wiki/Edge_dominating_set&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="2955" LastActivityDate="2011-08-10T01:46:02.943" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="7686" PostTypeId="1" AcceptedAnswerId="7703" CreationDate="2011-08-10T07:50:50.120" Score="11" ViewCount="547" Body="&lt;p&gt;I would be very much interested in references to the theory of submodular functions (from basics to advanced).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In particular, I am studying approximations to hard optimization problems and I want to develop my foundations in submodular functions as they are relevant to the optimization problems I have been studying.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks in advance.&lt;/p&gt;&#xA;" OwnerUserId="3816" LastEditorUserId="80" LastEditDate="2011-08-10T16:51:15.423" LastActivityDate="2020-03-24T12:03:56.273" Title="Submodular functions: reference request" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;approximation-algorithms&gt;&lt;optimization&gt;" AnswerCount="5" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7688" PostTypeId="2" ParentId="7686" CreationDate="2011-08-10T17:24:14.450" Score="9" Body="&lt;p&gt;The references I use (and like) are selected chapters in Schrijver's 3-volume Combinatorial Optimization: Polyhedra and Efficiency (Springer) and Vygen's Combinatorial Optimization (Springer). There is a book devoted to submodular functions by Fujishige: Submodular Functions and Optimization, volume 58 of Annals of Discrete Mathematics, North-Holland (2nd edition from 2005).&lt;/p&gt;&#xA;" OwnerUserId="1895" LastActivityDate="2011-08-10T17:24:14.450" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7689" PostTypeId="5" CreationDate="2011-08-10T17:41:32.580" Score="0" Body="" OwnerUserId="80" LastEditorUserId="80" LastEditDate="2011-08-10T17:41:32.580" LastActivityDate="2011-08-10T17:41:32.580" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7690" PostTypeId="4" CreationDate="2011-08-10T17:41:32.580" Score="0" Body="A heuristic is a procedure that can apply generically to many problems (for example gradient descent, alternating optimization, simulated annealing) but will typically not have formal guarantees associated with its use. " OwnerUserId="80" LastEditorUserId="80" LastEditDate="2011-08-10T17:41:32.580" LastActivityDate="2011-08-10T17:41:32.580" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7692" PostTypeId="2" ParentId="7222" CreationDate="2011-08-10T18:38:25.823" Score="7" Body="&lt;p&gt;To continue along the lines of Deigo's answer, standard sample complexity bounds from learning theory tell you that if you are satisfied with finding a program which is &quot;approximately correct&quot;, you don't need to try very many points at all. Lets say we are encoding programs in binary, so that there are only $2^d$ programs of length d. Lets suppose also that there is some distribution over input examples $D$. Perhaps your goal is to find a program which you are pretty sure is almost right (&quot;Probably Approximately Correct&quot; i.e. as in Valiants PAC learning model). That is, you want to run an algorithm that will take in a small number of samples $x \sim D$ together with $f(x)$, and will with probability at least $(1-\delta)$ output some program $P$ which agrees with $f$ on at least a $(1-\epsilon)$ fraction of inputs drawn from $D$.   &lt;/p&gt;&#xA;&#xA;&lt;p&gt;We will simply draw $m$ examples $x \sim D$, and output any program $P$ of length $\leq d$ that agrees with $f$ on all of the examples. (One is guaranteed to exist since we assume $f$ has Kolmogorov complexity at most $d$)...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is the probability that a particular program $P$ that disagrees with $f$ on more than a n $\epsilon$ fraction of examples is consistent with the $m$ examples we selected? It is at most $(1-\epsilon)^m$. We would like to take this probability to be at most $\delta/2^d$ so that we can take a union bound over all $2^d$ programs and say that with probability at least $1-\delta$, no &quot;bad&quot; program is consistent with our drawn examples. Solving, we see that it is sufficient to take only&#xA;$$m \geq \frac{1}{\epsilon}\left(d+\log 1/\delta\right)$$&#xA;examples. (i.e. only linearly many in the Kolmogorov complexity of $f$...)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;BTW, arguments like this can be used to justify &quot;Occam's Razor&quot;: given a fixed number of observations, among all of the theories that explain them, you should choose the one with lowest Kolmogorov complexity, because there is the least chance of overfitting. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course, if you only want to check a single fixed program in this way, you only need $O(\log(1/\delta)/\epsilon)$ examples...&lt;/p&gt;&#xA;" OwnerUserId="25" LastActivityDate="2011-08-10T18:38:25.823" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7693" PostTypeId="1" CreationDate="2011-08-10T21:43:35.483" Score="2" ViewCount="485" Body="&lt;p&gt;We want an algorithm for the following task:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;We are given &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$i$&lt;/span&gt; and we want to check if an &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt;-bit &lt;a href=&quot;http://en.wikipedia.org/wiki/LFSR&quot; rel=&quot;nofollow noreferrer&quot;&gt;LFSR&lt;/a&gt; with the sub-register exactly &lt;span class=&quot;math-container&quot;&gt;$n/2$&lt;/span&gt; and an interval of &lt;span class=&quot;math-container&quot;&gt;$i$&lt;/span&gt; &amp;quot;works&amp;quot;. We say an interval of &lt;span class=&quot;math-container&quot;&gt;$i$&lt;/span&gt; &amp;quot;works&amp;quot; when each string &lt;span class=&quot;math-container&quot;&gt;$x\in \{0,1\}^n$&lt;/span&gt; that is not the all-zero string appears exactly &lt;span class=&quot;math-container&quot;&gt;$i+1$&lt;/span&gt; times before the LFSR loops.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;One way of solving the problem is brute-force simulation. Is there a better way of solving this problem?&lt;/p&gt;&#xA;&lt;hr /&gt;&#xA;&lt;h3&gt;Background&lt;/h3&gt;&#xA;&lt;p&gt;So, first a quick refresher on what an LFSR is. A Linear Feedback Shift Register uses particular bits of the current state to help determine what the next state is. By XORing together particular bits (called taps), then shifting the result of the XOR into the register, every value for that size register is achieved once and only once with the only exception being the zero state (where all bits are zero) in which no matter which bits you XOR, you'll shift in another zero. For example, an LFSR with 8 bits will go through all 255 unique states before landing on the original state.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/AMgud.gif&quot; alt=&quot;enter image description here&quot; /&gt;&lt;/p&gt;&#xA;&lt;p&gt;More detailed definitions and examples of LFSRs can be found on &lt;a href=&quot;http://en.wikipedia.org/wiki/LFSR&quot; rel=&quot;nofollow noreferrer&quot;&gt;Wikipedia&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Now assume that we have two LFSRs, one inside the other, e.g. in the picture above assume that the 2 bits on the right hand side are themselves a smaller LFSR. We alternate between performing shift operation on the larger LFSR and on the smaller one. We call the number of times that we shift the larger LFSR before shifting the smaller one the &lt;em&gt;interval&lt;/em&gt;.&lt;/p&gt;&#xA;&lt;hr /&gt;&#xA;&lt;h3&gt;Motivation&lt;/h3&gt;&#xA;&lt;p&gt;I began looking for ways to expand on LFSRs, ways to use it or ways to manipulate the process in the name of cryptography. Soon enough I found this interesting reaction. The best way I can think to explain it is through example. P.S. If I say &amp;quot;every state,&amp;quot; assume that I do mean with the exception of the all zero state unless otherwise mentioned.&lt;/p&gt;&#xA;&lt;p&gt;If you have an 8 bit LFSR, you'll land on every state exactly once before you land on the original starting state. Inspired by how &lt;a href=&quot;http://en.wikipedia.org/wiki/A5/1&quot; rel=&quot;nofollow noreferrer&quot;&gt;A5/1&lt;/a&gt; uses multiple LFSRs, I wondered if there was a way I could have 2 LFSRs overlap each other somehow. I began looking into what would happen if an  LFSR &amp;quot;contained&amp;quot; another LFSR. Imagine having an 8 bit LFSR as such:&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;XXXXYYYY&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;Imagine the front half, the 4 Ys, is a second 4 bit LFSR. I started by shifting the entire register (all Xs and Ys above) as an 8 bit LFSR, then shifting the 4 bits (the Ys) before shifting the 8 bits again. It would alternate between shifting all 8, the first 4, all 8, the first 4, etc... I'm inventing terminology here, let's call shifting all 8 bits a &amp;quot;shift&amp;quot; and shifting the first 4 bits as a &amp;quot;subshift.&amp;quot; Note that both shifting and subshifting shift towards the least significant bit to the right. Also, during a subshift, the Xs above are unaffected, the carry bit from the subshift goes in the most significant bit of the sub-register which is the left most Y above.&lt;/p&gt;&#xA;&lt;p&gt;I wrote a little app with 255 labels to print how often that particular state was landed on. I.e. the 5th label showed how many times the full register held the value 5. The zero label was of course always zero. This yielded nothing initially. Eventually I thought that I was subshifting too often. So I tried shifting twice before subshifting. Then three times... Four... Five... Finally I tried doing 11 shifts between each subshift. That's when the magic happened! I watched as my app slowly totaled up every state to 12. I ran it again, I debugged and stepped through it to make sure I wasn't doing something wrong. If you shift an 8 bit register 11 times, then 1 subshift, then 11 more subshifts, etc. you eventually land on every state 12 times.&lt;/p&gt;&#xA;&lt;p&gt;My first thought was will 12 land on every value 13 times? And I began testing... Most numbers went on way too long. I generally stopped looking when a state happened more than +1 of the interval I was using (if I had an interval of 40, and a value hit 42, I knew that wouldn't produce the same results as 11 did) and slowly a list formed:&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;8 bit register with 4 bit sub-register working intervals:&#xA;11, 29, 63, 68, 83, 104, 106, 129, 134, 150, 155, 170, 176, 177, 192, 195, 202,&#xA;225, 237, 253&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;If you shift X number of times, every state will be landed on X + 1 times, BUT only if X (the interval) is one of those values. The only exception to the &amp;quot;+1&amp;quot; trend was 254 which landed on every state 21 times. There's no need to test values larger than 255 (for an 8 bit register), because if you shift 255 times, you'll be back where you started. Remember, these are my findings for 8 bit registers in which the front 4 bits are subshifted.&lt;/p&gt;&#xA;&lt;p&gt;I looked into doing a 16 bit register with an 8 bit sub-register and began finding equal results (just different values), this is not a complete list because it generally took 6-8 hours to test an interval:&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;16 bit register with 8 bit sub-register working intervals:&#xA;7, 66, 99, 143, 259, 316, 396, 436, 461, 507, 510, 519, 537, 544, 608, 630, 655,&#xA;721, 725, 808, 860, 867, 893&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;All of these numbers also follow the &amp;quot;+1&amp;quot; rule of each state being landed on &lt;code&gt;interval&lt;/code&gt; + 1 times. I understand where the +1 is coming from: if you subshift to a number, you land on that number then shift &lt;code&gt;interval&lt;/code&gt; times to &lt;code&gt;interval&lt;/code&gt; other numbers.&lt;/p&gt;&#xA;&lt;p&gt;I've been studying this phenomenon for over a year. My goal is to accurately predict what intervals &amp;quot;work&amp;quot; and which ones don't. Currently my best bet is to brute force (although I know a few things that can indicate early on if an interval DOESN'T work, such as if you land on the initial state it indicates you've made a full cycle.)&lt;/p&gt;&#xA;&lt;p&gt;Has anybody seen anything like this? Know what kinds of math I can use to analyze and test this with? I've tried using previous working values to predict future values, but they appear to be random, i.e. 29 to 63 is a huge gap where 176 and 177 both work. I've looked into there being a correlation between 8 bit and 16 bit numbers, but since both sets are increasing, they look highly correlated but have a huge standard error. I need to abstractly find what intervals work with 100% accuracy because my encryption requires we finding a working interval for a 4096 bit register... 16 bit took 6 to 8 hours to test a number, 4096 would take billions of billions of years to test a single interval value by brute force.&lt;/p&gt;&#xA;&lt;p&gt;P.S. I have no clue how to tag this question... Any help would be appreciated there, too.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;EDIT:&lt;/strong&gt;&#xA;Many comments have pointed out I should do smaller register sizes. Here's some of that data in as close to a table as I can get:&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt; 4 bit: 1, 7, 11, 13&#xA;&#xA; 8 bit: 11, 29, 63, 68, 83, 104, 106, 129, 134, 150, 155, 170, 176, 177, 192, 195, 202,&#xA;        225, 237, 253&#xA;&#xA;16 bit: 7, 66, 99, 143, 259, 316, 396, 436, 461, 507, 510, 519, 537, 544, 608, 630,&#xA;        655, 721, 725, 808, 860, 867, 893&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;Because this is more collaborative than Stack Exchange questions usually allow, I'm breaking my rule and putting out my email:&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/Gugae.png&quot; alt=&quot;my email&quot; /&gt;&lt;/p&gt;&#xA;" OwnerUserId="499" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2011-09-12T15:32:40.697" Title="Expanded use of an LFSR?" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;co.combinatorics&gt;&lt;pseudorandomness&gt;" AnswerCount="0" CommentCount="16" ContentLicense="CC BY-SA 3.0" />
  <row Id="7695" PostTypeId="1" AcceptedAnswerId="7706" CreationDate="2011-08-11T01:06:36.397" Score="2" ViewCount="426" Body="&lt;p&gt;&lt;strong&gt;Context:&lt;/strong&gt; Aaronson raised the following question: &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Let f be a black-box function, which is promised either to satisfy the&#xA;  Simon promise or to be one-to-one.  Can a prover with the power of BQP&#xA;  convince a BPP verifier that f is one-to-one?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Speculation:&lt;/strong&gt; Let's take Arthur-Merlin protocols (I actually don't know in much depth about these protocols so please pardon any inconsistencies that may arise) where one can restrict Merlin's power to BQP instead of unbounded resources and Arthur has BPP resources. Now I realize that there are probabilities to: &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;A problem is considered to be solvable by this protocol if whenever&#xA;  the answer is &quot;yes&quot;, Merlin has some series of responses which will&#xA;  cause Arthur to accept at least 2/3 of the time, and if whenever the&#xA;  answer is &quot;no&quot;, Arthur will never accept more than 1/3 of the time.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;source: &lt;a href=&quot;http://en.wikipedia.org/wiki/Arthur%E2%80%93Merlin_protocol&quot; rel=&quot;nofollow&quot;&gt;Wikipedia&lt;/a&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now consider the following, this &lt;a href=&quot;http://arxiv.org/abs/quant-ph/9704027&quot; rel=&quot;nofollow&quot;&gt;paper&lt;/a&gt; gives an algorithm where one can check in quantum polynomial time whether a function satisfies Simon's promise. Merlin can therefore check this, for Arthur we don't know, let's assume it can't. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question:&lt;/strong&gt; Given the above mentioned conjecture, if Arthur sends (through a message) Merlin the function to be computed/checked in the first pass, Merlin can check whether the function satisfies Simon's promise or not, if yes, then we know the answer, if no, then is checking whether a function one-to-one in polynomial time? Also if Arthur can't check whether the function satisfies Simon's promise can the probabilities above mentioned change, since Merlin knows the answer already? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I also think this question might remain open until we know whether BPP != BQP, are there any indirect techniques that can let one evade having to rely on conjectural support in my argument? Thanks!&lt;/p&gt;&#xA;" OwnerUserId="5898" LastActivityDate="2011-08-11T23:41:39.287" Title="Arthur-Merlin protocol with BQP power" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;time-complexity&gt;&lt;nt.number-theory&gt;&lt;interactive-proofs&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7699" PostTypeId="1" AcceptedAnswerId="7700" CreationDate="2011-08-11T10:06:10.467" Score="11" ViewCount="586" Body="&lt;p&gt;I would like to know whether the following problem can be decided in $\mathsf{NL}$ (nondeterministic logspace):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a directed graph $G$ with two distinguished vertices $s$ and $t$, is there a &lt;em&gt;unique&lt;/em&gt; path from $s$ to $t$ in $G$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I feel that it is likely to be in $\mathsf{NL}$ since we can decide both if there is a $s$-$t$-path and if there is no such path. Yet, counting the number of such paths is $\mathsf{\sharp P}$-hard (Valiant, 1979).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So my questions: Do you have references about this? Is it obvious that it is in $\mathsf{NL}$? Or that it is not in $\mathsf{NL}$?&lt;/p&gt;&#xA;" OwnerUserId="976" LastActivityDate="2011-08-11T21:30:25.897" Title="Complexity of Unique s-t-Connectivity" Tags="&lt;reference-request&gt;&lt;graph-theory&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="7700" PostTypeId="2" ParentId="7699" CreationDate="2011-08-11T10:55:45.680" Score="16" Body="&lt;p&gt;It seems your problem is in &lt;span class=&quot;math-container&quot;&gt;$NL$&lt;/span&gt;. Here is an algorithm.&lt;/p&gt;&#xA;&lt;p&gt;First, nondeterministically guess a path from &lt;span class=&quot;math-container&quot;&gt;$s$&lt;/span&gt; to &lt;span class=&quot;math-container&quot;&gt;$t$&lt;/span&gt;. If you guess incorrectly, &lt;em&gt;reject&lt;/em&gt;. Call this algorithm &lt;span class=&quot;math-container&quot;&gt;$A$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Consider the following nondeterministic algorithm &lt;span class=&quot;math-container&quot;&gt;$B$&lt;/span&gt;, which determines if there are at least two paths. Given a graph and &lt;span class=&quot;math-container&quot;&gt;$s,t$&lt;/span&gt;, for all pairs of distinct edges &lt;span class=&quot;math-container&quot;&gt;$e,f$&lt;/span&gt;, guess a path from &lt;span class=&quot;math-container&quot;&gt;$s$&lt;/span&gt; to &lt;span class=&quot;math-container&quot;&gt;$t$&lt;/span&gt; that includes &lt;span class=&quot;math-container&quot;&gt;$e$&lt;/span&gt; but not &lt;span class=&quot;math-container&quot;&gt;$f$&lt;/span&gt;, then guess a path from &lt;span class=&quot;math-container&quot;&gt;$s$&lt;/span&gt; to &lt;span class=&quot;math-container&quot;&gt;$t$&lt;/span&gt; that includes &lt;span class=&quot;math-container&quot;&gt;$f$&lt;/span&gt; but not &lt;span class=&quot;math-container&quot;&gt;$e$&lt;/span&gt;. If the guesses are correct, &lt;em&gt;accept&lt;/em&gt;. If no acceptance occurs for all choices of &lt;span class=&quot;math-container&quot;&gt;$e$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$f$&lt;/span&gt;, &lt;em&gt;reject&lt;/em&gt;. Note &lt;span class=&quot;math-container&quot;&gt;$B$&lt;/span&gt; is implementable in nondeterministic logspace.&lt;/p&gt;&#xA;&lt;p&gt;Now, the set &lt;span class=&quot;math-container&quot;&gt;$L(B)$&lt;/span&gt; is the set of &lt;span class=&quot;math-container&quot;&gt;$s$&lt;/span&gt;-&lt;span class=&quot;math-container&quot;&gt;$t$&lt;/span&gt; graphs with at least two paths from &lt;span class=&quot;math-container&quot;&gt;$s$&lt;/span&gt; to &lt;span class=&quot;math-container&quot;&gt;$t$&lt;/span&gt;. Because &lt;span class=&quot;math-container&quot;&gt;$NL = coNL$&lt;/span&gt;, the complement of &lt;span class=&quot;math-container&quot;&gt;$B$&lt;/span&gt; is also in &lt;span class=&quot;math-container&quot;&gt;$NL$&lt;/span&gt;, i.e., we can determine if &lt;span class=&quot;math-container&quot;&gt;$s$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$t$&lt;/span&gt; have &lt;em&gt;less&lt;/em&gt; than two paths, in nondeterministic logspace.&lt;/p&gt;&#xA;&lt;p&gt;The final algorithm is: &amp;quot;Run &lt;span class=&quot;math-container&quot;&gt;$A$&lt;/span&gt;. If &lt;span class=&quot;math-container&quot;&gt;$A$&lt;/span&gt; accepts, then run the complement of &lt;span class=&quot;math-container&quot;&gt;$B$&lt;/span&gt; and output its answer.&amp;quot;&lt;/p&gt;&#xA;&lt;p&gt;I don't know of a reference.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;UPDATE:&lt;/strong&gt; If you really want a reference, check out the first paragraph of Section 3 of &lt;a href=&quot;http://ftp.cs.rutgers.edu/pub/allender/isaac.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;this paper&lt;/a&gt;. But this is probably only one of many references that cite this consequence. It would be more reasonable to call the result &amp;quot;folklore&amp;quot; rather than citing a paper that happens to mention it.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;UPDATE 2:&lt;/strong&gt; Let's suppose you want to determine if there is a unique simple path. In that case, algorithm &lt;span class=&quot;math-container&quot;&gt;$A$&lt;/span&gt; doesn't have to change: if there is a path at all then there is a simple path. I believe the following modification will work for algorithm &lt;span class=&quot;math-container&quot;&gt;$B$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;p&gt;We want to rewrite algorithm &lt;span class=&quot;math-container&quot;&gt;$B$&lt;/span&gt; so that it accepts iff there are at least two simple paths.&lt;/p&gt;&#xA;&lt;p&gt;First consider the following polynomial-time algorithm for the problem. Find a shortest path &lt;span class=&quot;math-container&quot;&gt;$P$&lt;/span&gt; from &lt;span class=&quot;math-container&quot;&gt;$s$&lt;/span&gt; to &lt;span class=&quot;math-container&quot;&gt;$t$&lt;/span&gt;. For every edge &lt;span class=&quot;math-container&quot;&gt;$e$&lt;/span&gt; in &lt;span class=&quot;math-container&quot;&gt;$P$&lt;/span&gt;, check if there is another &lt;span class=&quot;math-container&quot;&gt;$s$&lt;/span&gt;-&lt;span class=&quot;math-container&quot;&gt;$t$&lt;/span&gt; path that does not go through &lt;span class=&quot;math-container&quot;&gt;$e$&lt;/span&gt;. If you find such a path then &lt;em&gt;accept&lt;/em&gt;. If you never find another path then &lt;em&gt;reject&lt;/em&gt;. Because &lt;span class=&quot;math-container&quot;&gt;$P$&lt;/span&gt; is shortest, it does not have a cycle, and if there is another path that doesn't use some edge of &lt;span class=&quot;math-container&quot;&gt;$P$&lt;/span&gt;, then there is another path which is simple and doesn't use some edge of &lt;span class=&quot;math-container&quot;&gt;$P$&lt;/span&gt;. (This algorithm is used for the &amp;quot;second shortest paths&amp;quot; problem.)&lt;/p&gt;&#xA;&lt;p&gt;We will implement this algorithm in &lt;span class=&quot;math-container&quot;&gt;$NL$&lt;/span&gt;. If we had an &lt;span class=&quot;math-container&quot;&gt;$NL$&lt;/span&gt; algorithm for querying the edges &lt;span class=&quot;math-container&quot;&gt;$e$&lt;/span&gt; in a fixed path &lt;span class=&quot;math-container&quot;&gt;$P$&lt;/span&gt;, we could implement the above in nondeterministic logspace: iterating through all edges &lt;span class=&quot;math-container&quot;&gt;$e$&lt;/span&gt; in &lt;span class=&quot;math-container&quot;&gt;$P$&lt;/span&gt;, guess an &lt;span class=&quot;math-container&quot;&gt;$s$&lt;/span&gt;-&lt;span class=&quot;math-container&quot;&gt;$t$&lt;/span&gt; path and check that for every edge visited along the way, none of them are equal to &lt;span class=&quot;math-container&quot;&gt;$e$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;p&gt;So what we need is a &amp;quot;path oracle&amp;quot;, an &lt;span class=&quot;math-container&quot;&gt;$NL$&lt;/span&gt; algorithm with the property: given &lt;span class=&quot;math-container&quot;&gt;$i=1,\ldots,n$&lt;/span&gt;, in every computation path the algorithm either reports the &lt;span class=&quot;math-container&quot;&gt;$i$&lt;/span&gt;th edge on a particular fixed &lt;span class=&quot;math-container&quot;&gt;$s$&lt;/span&gt;-&lt;span class=&quot;math-container&quot;&gt;$t$&lt;/span&gt; path, or &lt;em&gt;reject&lt;/em&gt;. We can get a path oracle by using &lt;span class=&quot;math-container&quot;&gt;$NL=coNL$&lt;/span&gt; to isolate the lexicographically first path.&lt;/p&gt;&#xA;&lt;p&gt;Here is a sketch of the path oracle.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Find &lt;span class=&quot;math-container&quot;&gt;$k$&lt;/span&gt;, the length of the shortest path from &lt;span class=&quot;math-container&quot;&gt;$s$&lt;/span&gt; to &lt;span class=&quot;math-container&quot;&gt;$t$&lt;/span&gt;, by trying all &lt;span class=&quot;math-container&quot;&gt;$k=1,\ldots,n$&lt;/span&gt; and using &lt;span class=&quot;math-container&quot;&gt;$NL=coNL$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Set variables &lt;span class=&quot;math-container&quot;&gt;$u:=s$&lt;/span&gt;, &lt;span class=&quot;math-container&quot;&gt;$x:=1$&lt;/span&gt;, &lt;span class=&quot;math-container&quot;&gt;$j:=k$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;p&gt;For all neighbors &lt;span class=&quot;math-container&quot;&gt;$v$&lt;/span&gt; of &lt;span class=&quot;math-container&quot;&gt;$u$&lt;/span&gt; in lexicographical order,&lt;/p&gt;&#xA;&lt;p&gt;Determine whether or not there is a path from &lt;span class=&quot;math-container&quot;&gt;$v$&lt;/span&gt; to &lt;span class=&quot;math-container&quot;&gt;$t$&lt;/span&gt; of length &lt;span class=&quot;math-container&quot;&gt;$j-1$&lt;/span&gt; (using the result &lt;span class=&quot;math-container&quot;&gt;$NL=coNL$&lt;/span&gt;).&#xA;More precisely, run the nondeterministic algorithm for &lt;span class=&quot;math-container&quot;&gt;$s$&lt;/span&gt;-&lt;span class=&quot;math-container&quot;&gt;$t$&lt;/span&gt; connectivity (of length &lt;span class=&quot;math-container&quot;&gt;$j-1$&lt;/span&gt;) and the algorithm for its complement, simultaneously. When one of them accepts, go with its answer (it must be correct; both cannot accept). If both reject then &lt;em&gt;reject&lt;/em&gt;.&lt;/p&gt;&#xA;&lt;p&gt;If there is no path, proceed to the next neighbor. If you've exhausted all neighbors then &lt;em&gt;reject&lt;/em&gt;.&lt;/p&gt;&#xA;&lt;p&gt;If there is a path, then if &lt;span class=&quot;math-container&quot;&gt;$x=i$&lt;/span&gt;, output &lt;span class=&quot;math-container&quot;&gt;$(u,v)$&lt;/span&gt; as the &lt;span class=&quot;math-container&quot;&gt;$i$&lt;/span&gt;th edge on the path from &lt;span class=&quot;math-container&quot;&gt;$s$&lt;/span&gt; to &lt;span class=&quot;math-container&quot;&gt;$t$&lt;/span&gt;. Otherwise increment &lt;span class=&quot;math-container&quot;&gt;$x$&lt;/span&gt;, decrement &lt;span class=&quot;math-container&quot;&gt;$j$&lt;/span&gt;, set &lt;span class=&quot;math-container&quot;&gt;$u := v$&lt;/span&gt;, and start the for-loop again if &lt;span class=&quot;math-container&quot;&gt;$v \neq t$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;p&gt;If &lt;span class=&quot;math-container&quot;&gt;$x &amp;lt; i$&lt;/span&gt; after reaching &lt;span class=&quot;math-container&quot;&gt;$t$&lt;/span&gt; output &lt;em&gt;bad &lt;span class=&quot;math-container&quot;&gt;$i$&lt;/span&gt;&lt;/em&gt; (the given &lt;span class=&quot;math-container&quot;&gt;$i$&lt;/span&gt; was too big).&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Given &lt;span class=&quot;math-container&quot;&gt;$i$&lt;/span&gt;, this algorithm either outputs the &lt;span class=&quot;math-container&quot;&gt;$i$&lt;/span&gt;th edge on the lexicographically shortest path &lt;span class=&quot;math-container&quot;&gt;$P$&lt;/span&gt; from &lt;span class=&quot;math-container&quot;&gt;$s$&lt;/span&gt; to &lt;span class=&quot;math-container&quot;&gt;$t$&lt;/span&gt;, or rejects.&lt;/p&gt;&#xA;" OwnerUserId="225" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2011-08-11T21:30:25.897" CommentCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="7701" PostTypeId="1" AcceptedAnswerId="9137" CreationDate="2011-08-11T12:12:47.383" Score="10" ViewCount="522" Body="&lt;p&gt;I'm wondering if there exists systematic studies of sums of quadratic forms squared, similar to the quadratic forms, which is practically reflected in eigenvalue decomposition (that has huge practical implication). Couple of examples related to the importance of the question.&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Principal component analyses (PCA)&lt;/strong&gt;.&#xA;Given a set of points &lt;span class=&quot;math-container&quot;&gt;$x_i \in \mathbb{R^n}, i=1..k$&lt;/span&gt; find the set of axes &lt;span class=&quot;math-container&quot;&gt;$u_1$&lt;/span&gt;, ... &lt;span class=&quot;math-container&quot;&gt;$u_m$&lt;/span&gt;, written as matrix &lt;span class=&quot;math-container&quot;&gt;$U \in \mathbb{R^n x R^m}$&lt;/span&gt;, and projections &lt;span class=&quot;math-container&quot;&gt;$\xi_1$&lt;/span&gt;, ..., &lt;span class=&quot;math-container&quot;&gt;$\xi_k, \xi_{\circ} \in \mathbb{R^m}$&lt;/span&gt; that minimizes unexplained variance, i.e. solve the following quartic optimization problem&lt;/p&gt;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$$ \arg\min_{u_1,\dots, u_n,\\ \xi_1,\dots, \xi_k} \sum \limits_{i} \left( U^T \xi_i - x_i \right)^2$$&lt;/span&gt;&lt;/p&gt;&#xA;&lt;p&gt;By the magic of symmetry it has the solution by singular value decomposition&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Generalized PCA&lt;/strong&gt;. Same as PCA, but now there is a precision matrix &lt;span class=&quot;math-container&quot;&gt;$A_i \in \mathbb{R^n x R^n} $&lt;/span&gt; associated with each observable &lt;span class=&quot;math-container&quot;&gt;$x_i$&lt;/span&gt;. The problem becomes more complicated&lt;/p&gt;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$$ \arg\min_{u_1,\dots, u_n,\\ \xi_1,\dots, \xi_k} \sum \limits_{i} \left( A_i U^T \xi_i - x_i \right)^2$$&lt;/span&gt;&lt;/p&gt;&#xA;&lt;p&gt;(when all &lt;span class=&quot;math-container&quot;&gt;$A_i$&lt;/span&gt; are identity matrix this problem is equivalent to PCA, when &lt;span class=&quot;math-container&quot;&gt;$A_i = A_j, \forall i,j$&lt;/span&gt;, and diagonal it is weighted PCA ). This problem can also be solved in polynomial time via semi-definite programming (SDP) -- Since the solution has the form of sums of squares, by NZ Shor (1987) it is convex problem , and Parillo thesis (2000) gives a practical way to compute it via SDP &lt;span class=&quot;math-container&quot;&gt;$ \square $&lt;/span&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;In SDP approach the quartic polynomial is written as a sum of quadratic polynomials squared. Therefore, it is of major importance to know what kind of quartic polynomials can be written as a sum of quadratic forms squared (by the analogy to biquadratic function they can be called biquadratic forms). Most of the literature, I've encountered stop at the point where they find that the minimum of quartic polynomial &lt;span class=&quot;math-container&quot;&gt;$p= \sum_k^n (x_k^2-1) + (a^T x)^2, a \in \mathbb{Z^n}$&lt;/span&gt; is encoding partition problem, and there are no arguments why &lt;span class=&quot;math-container&quot;&gt;$p$&lt;/span&gt; cannot be represented as a sum of squares of quadratic polynomials, beyond that.&lt;/p&gt;&#xA;&lt;p&gt;I'm wondering if anyone made systematic studies of polynomials representable by the sum of squares of quadratic polynomials.&lt;/p&gt;&#xA;" OwnerUserId="3573" LastEditorUserId="39090" LastEditDate="2021-03-16T16:36:40.657" LastActivityDate="2021-03-16T16:36:40.657" Title="Systematic studies of sum of quadratic polynomials squared" Tags="&lt;ds.algorithms&gt;&lt;polynomials&gt;&lt;semidefinite-programming&gt;&lt;sum-of-squares&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 4.0" />
  <row Id="7702" PostTypeId="2" ParentId="1400" CreationDate="2011-08-11T13:53:05.167" Score="0" Body="&lt;p&gt;With regards to question 1, knowning the distance between the unknown target vertex and some known origin vertex on the hypercube can help the search process. However, the value of the distance itself determines how much helpful this information is.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Typical quantum walk algorithms are usually variations/approximations of Grover search: they involve an approximate rotation of the state vector in a 2-d subspace of the total Hilbert space.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can use these algorithms to efficently prepare an approximately uniform superposition of all vertices at a given distance from the origin. Then you can search your target vertex inside this superposition using quantum or classical (Monte Carlo) search:&#xA;For classical search just prepare the superposition and measure it in the vertex basis and repeat until you find the target.&#xA;For quantum search, the superposition preparation procedure (and its inverse) becomes a subroutine that replaces the Hadamard transform in the Grover iteration.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The usefulness of this depends on the value of the distance: in the $n$-dimensional hypercube the number of vertices at distance $d$ from a given origin is the binomial coefficient $\binom{n}{d}$. Hence the majority of vertices ($\approx \frac{2^n}{\sqrt{\frac{\pi}{2}n}}$) are at $\approx n/2$ distance: while you can efficiently prepare the superposition of these vertices, searching the target inside it still takes exponential time.&lt;/p&gt;&#xA;" OwnerUserId="1749" LastActivityDate="2011-08-11T13:53:05.167" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7703" PostTypeId="2" ParentId="7686" CreationDate="2011-08-11T16:50:47.720" Score="8" Body="&lt;p&gt;References such as the ones suggested by Standa Zivny are of course very good. Let me add to the list the new book by Andras Frank titled &quot;Connections in Combinatorial Optimization&quot; published by Oxford University Press, 2011. All of these references treat submodular functions from a classical combinatorial optimization point of view where submodularity primarily appears in constraints. There have been several recent applications and developments with submodular objective functions for which one needs a slightly different view point. There are many papers to give a list here. I would however recommend Shaddin Dughmi's survey on continuous extensions of submodular functions &lt;a href=&quot;http://arxiv.org/abs/0912.0322v3&quot;&gt;http://arxiv.org/abs/0912.0322v3&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="176" LastEditorUserId="176" LastEditDate="2011-08-11T16:55:50.803" LastActivityDate="2011-08-11T16:55:50.803" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="7704" PostTypeId="1" CreationDate="2011-08-11T17:36:41.407" Score="19" ViewCount="1823" Body="&lt;p&gt;What are the best resources for finding job postings for faculty positions in CS theory?  Is there one website or mailing list in particular that is fairly comprehensive?  I currently have the impression that one has to use a variety of resources to get a comprehensive, worldwide list of job postings.  Is this the case?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This question is related to &lt;a href=&quot;https://cstheory.stackexchange.com/questions/2215/how-to-get-a-job&quot;&gt;how to get a job&lt;/a&gt;, though the question I'm asking here is, how do you &lt;em&gt;find out about&lt;/em&gt; a job?&lt;/p&gt;&#xA;" OwnerUserId="196" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.743" LastActivityDate="2015-10-02T14:53:29.117" Title="Where can you find job postings for faculty positions in CS theory?" Tags="&lt;soft-question&gt;&lt;career&gt;" AnswerCount="5" CommentCount="3" FavoriteCount="13" CommunityOwnedDate="2011-08-11T22:18:00.947" ContentLicense="CC BY-SA 3.0" />
  <row Id="7705" PostTypeId="2" ParentId="7704" CreationDate="2011-08-11T22:19:30.850" Score="14" Body="&lt;p&gt;The &lt;a href=&quot;http://www.cra.org/ads/&quot;&gt;CRA jobs site&lt;/a&gt; is still the best place, although it's not theory-centric. Given the proliferation of postdocs in theoryCS, I think it would be nice to have a dedicated place for theory job postings. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2011-08-11T22:19:30.850" CommentCount="0" CommunityOwnedDate="2011-08-11T22:19:30.850" ContentLicense="CC BY-SA 3.0" />
  <row Id="7706" PostTypeId="2" ParentId="7695" CreationDate="2011-08-11T22:39:14.480" Score="6" Body="&lt;p&gt;I'm glad you're interested in my IP with BQP prover problem!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Unfortunately, I'm not sure I understand your question.  If the function $f$ satisfies the Simon promise, then Merlin can easily convince Arthur of that by telling him the secret string $s$.  If, on the other hand, $f$ is one-to-one, then Merlin can convince &lt;i&gt;himself&lt;/i&gt; of that (by using Simon's algorithm to look for $s$ and not finding anything), but the question is how he can convince &lt;i&gt;Arthur&lt;/i&gt;.  It clearly won't do for Merlin to say, &quot;Arthur, I looked for $s$, but I found nuthin'!&quot;  For how would Arthur know that Merlin wasn't lying?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, it's a known theorem that, if Merlin &lt;i&gt;wasn't&lt;/i&gt; around, then Arthur would need to make at least ~$2^{n/2}$ black-box queries to $f$, in order to decide with high probability whether $f$ was one-to-one or satisfied the Simon promise.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's also known that, if Merlin had &lt;i&gt;unbounded&lt;/i&gt; computational power (not just the power of BQP), then there &lt;i&gt;is&lt;/i&gt; an interactive protocol by which Merlin could convince Arthur that $f$ is one-to-one.  Namely, Arthur picks a random $x$, evaluates $f(x)$, sends $f(x)$ to Merlin, and asks Merlin to tell him what $x$ was.  If $f$ is one-to-one, then Merlin---provided he has NP search powers---can always answer such challenges correctly.  But if $f$ is two-to-one, then Merlin must be wrong with probability at least $1/2$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The case I asked about---the one where Merlin has BQP powers, but no more than that---is still open.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To answer your last question: no, one would &lt;i&gt;not&lt;/i&gt; need to prove BPP&amp;ne;BQP in order to solve this problem.  The reason is that this problem only concerns the &lt;i&gt;relativized&lt;/i&gt; setting: the setting where the function $f$ is a black box, which Arthur and Merlin can learn about only by querying it.  And in the relativized setting---unlike the &quot;real,&quot; unrelativized one---we can often prove &lt;i&gt;unconditional&lt;/i&gt; separations between complexity classes!  Indeed, I already mentioned one example above: it's known that any classical randomized algorithm to solve Simon's problem has to make exponentially many queries to $f$.  That fact implies the existence of an oracle separating BPP from BQP.&lt;/p&gt;&#xA;" OwnerUserId="1575" LastEditorUserId="3964" LastEditDate="2011-08-11T23:41:39.287" LastActivityDate="2011-08-11T23:41:39.287" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7707" PostTypeId="2" ParentId="7704" CreationDate="2011-08-12T04:01:17.920" Score="12" Body="&lt;p&gt;In addition to the CRA site, there is the &lt;a href=&quot;http://jobs.acm.org&quot;&gt;ACM jobs site&lt;/a&gt; (there is a category for academic jobs) and there are listings in the back pages of CACM. I don't know whether these two ACM listings are necessarily identical. The Chronicle of Higher Ed also has &lt;a href=&quot;http://chronicle.com/jobCategory/Computer-sciences-technology/68/&quot;&gt;job listings&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm not sure of any resources more specific (i.e., theory only). Actually, scratch that, the IACR has a &lt;a href=&quot;http://www.iacr.org/jobs/&quot;&gt;list of crypto positions&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="149" LastActivityDate="2011-08-12T04:01:17.920" CommentCount="0" CommunityOwnedDate="2011-08-12T04:01:17.920" ContentLicense="CC BY-SA 3.0" />
  <row Id="7708" PostTypeId="2" ParentId="1920" CreationDate="2011-08-12T06:46:26.077" Score="11" Body="&lt;p&gt;&lt;a href=&quot;http://www.cs.cmu.edu/~sleator/papers/rotation-distance.pdf&quot;&gt;Sleator, Tarjan and Thurston&lt;/a&gt; proved the existence of an infinite family of pairs of binary search trees with &lt;code&gt;n&lt;/code&gt; vertices and rotation distance &lt;code&gt;2n-6&lt;/code&gt; using hyperbolic geometry.&lt;/p&gt;&#xA;" OwnerUserId="49" LastActivityDate="2011-08-12T06:46:26.077" CommentCount="0" CommunityOwnedDate="2011-08-12T06:46:26.077" ContentLicense="CC BY-SA 3.0" />
  <row Id="7709" PostTypeId="1" AcceptedAnswerId="7711" CreationDate="2011-08-12T07:27:41.190" Score="1" ViewCount="676" Body="&lt;p&gt;I know that I can find the minimum vertex cover of a bipartite graph by first finding the maximum matching and then using &lt;a href=&quot;http://en.wikipedia.org/wiki/K%C3%B6nig%27s_theorem_%28graph_theory%29#Algorithm&quot; rel=&quot;nofollow&quot;&gt;Konig's Theorem&lt;/a&gt; to turn this matching into a vertex cover of the same order.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The result obtained is only one of what could be many valid vertex covers. In the following graph, {A,B}, {C,D}, and {B,C} are all valid covers. Applying the Konig method yields the cover {A,B}.*  &lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;(A)=====(C)&#xA;       /&#xA;     /&#xA;   /&#xA;(B)=====(D)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;How would you check for the existence of a minimum vertex cover that includes a given important vertex, say, vertex D?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My first guess is to &lt;em&gt;flip&lt;/em&gt; the graph and find another minimum vertex cover. In the above case, this would yield {C,D}. If neither solution contains the important vertex, it's not part of any minimum cover.  However, I haven't been able to prove this to myself.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;*A little elaboration: edge AC and BD form the matching. In the algorithm described above, you start by treating the graph asymmetrically, labeling the sides L (left) and R (right). Initially, all L and none of the R vertices are part of the vertex cover. Now build a new set T of vertices by traversing according to the following rule: Start at the exposed vertices (not part of any matching) on the left side, travel right along all unmatched edges, then travel left along all matched edges, continuing back and forth until path termination. All visited vertices are added to set T.  Set T is subtracted from L and added to R to produce the vertex cover solution. In the example graph, there is NO traversal, since there are no exposed vertices on the left side.&lt;/p&gt;&#xA;" OwnerUserId="6168" LastEditorUserId="6168" LastEditDate="2011-08-12T07:40:32.077" LastActivityDate="2011-08-12T08:42:02.633" Title="Bipartite vertex cover with a Very Important Vertex" Tags="&lt;graph-theory&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7711" PostTypeId="2" ParentId="7709" CreationDate="2011-08-12T08:42:02.633" Score="8" Body="&lt;p&gt;Just delete D together with its indicent edges and check if you can find a vertex cover for the remaining graph that is one smaller than that for the whole graph. If so, you can add D to it to get a minimum vertex cover that includes D; otherwise, there is no such vertex cover. (This doesn't depend on the bipartiteness at all.)&lt;/p&gt;&#xA;" OwnerUserId="251" LastActivityDate="2011-08-12T08:42:02.633" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7713" PostTypeId="2" ParentId="7704" CreationDate="2011-08-12T09:32:10.083" Score="1" Body="&lt;p&gt;The &lt;a href=&quot;http://intractability.princeton.edu/jobs/&quot; rel=&quot;nofollow&quot;&gt;center for computational intractability keeps a list&lt;/a&gt; with theory-only positions. There's also a page on the &lt;a href=&quot;http://fpt.wikidot.com/jobs:positions-available-and-people-looking&quot; rel=&quot;nofollow&quot;&gt;FPT wiki&lt;/a&gt; for positions related specifically to parameterized complexity theory.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Update: Sorry Aaron, I only noticed later that you posted the same link, and earlier; I'll leave it here for completeness.)&lt;/p&gt;&#xA;" OwnerUserId="122" LastEditorUserId="122" LastEditDate="2011-08-12T13:35:07.240" LastActivityDate="2011-08-12T13:35:07.240" CommentCount="0" CommunityOwnedDate="2011-08-12T09:32:10.083" ContentLicense="CC BY-SA 3.0" />
  <row Id="7714" PostTypeId="2" ParentId="1198" CreationDate="2011-08-12T17:08:37.563" Score="12" Body="&lt;p&gt;STOC (ACM Symposium on Theory of Computing)&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The STOC 2011 videos are &lt;a href=&quot;https://portal.acm.org/citation.cfm?id=1993636&amp;amp;preflayout=flat#prox&quot;&gt;now online&lt;/a&gt; on ACM DL. &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2011-08-12T17:36:24.443" LastActivityDate="2011-08-12T17:36:24.443" CommentCount="3" CommunityOwnedDate="2011-08-12T17:08:37.563" ContentLicense="CC BY-SA 3.0" />
  <row Id="7715" PostTypeId="1" AcceptedAnswerId="7716" CreationDate="2011-08-12T19:00:20.720" Score="14" ViewCount="2189" Body="&lt;p&gt;I'm preparing some course material on heuristics for optimization, and have been looking at coordinate descent methods. The setting is here a multivariate function $f$ that you wish to optimize. $f$ has the property that restricted to any single variable, it is easy to optimize. So coordinate descent proceeds by cycling through the coordinates, fixing all but the chosen one and minimizing along that coordinate. Eventually, improvements slow to a halt, and you terminate. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is: is there any theoretical study of coordinate descent methods that talks about convergence rates, and properties of $f$ that make the method work well, and so on ? Obviously, I'm not expecting fully general answers, but answers that illuminate cases where the heuristic does well would be helpful. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Aside: the alternating optimization technique used for $k$-means can be seen as an example of coordinate descent, and the &lt;a href=&quot;http://en.wikipedia.org/wiki/Frank%E2%80%93Wolfe_algorithm&quot; rel=&quot;nofollow&quot;&gt;Frank-Wolfe algorithm&lt;/a&gt; seems related (but is not a direct example of the framework)&lt;/p&gt;&#xA;" OwnerUserId="80" LastEditorUserId="1800" LastEditDate="2012-01-07T16:40:51.697" LastActivityDate="2014-07-25T15:35:10.897" Title="Theoretical study of coordinate descent methods" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;optimization&gt;&lt;heuristics&gt;" AnswerCount="4" CommentCount="2" FavoriteCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="7716" PostTypeId="2" ParentId="7715" CreationDate="2011-08-12T20:08:33.807" Score="24" Body="&lt;p&gt;(Edit notes: I reorganized this after freaking out at its length.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Literature on coordinate descent can be a little hard to track down.  Here are some reasons for this.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Many of the known properties of coordinate methods are captured in umbrella theorems for more general descent methods.  Two examples of this, given below, are the fast convergence under strong convexity (hold for any $l^p$ steepest descent), and the general convergence of these methods (usually attributed to Zoutendijk).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Naming is not standard.  Even the term &quot;steepest descent&quot; is not standard.  You may have success googling any of the terms &quot;cyclic coordinate descent&quot;, &quot;coordinate descent&quot;, &quot;Gauss-Seidel&quot;, &quot;Gauss-Southwell&quot;.  usage is not consistent.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The cyclic variant rarely receives special mention.  Instead, usually only the best single choice of coordinate is discussed.  But this almost always gives the cyclic guarantee, albeit with an extra factor $n$ (number of variables): this is because most convergence analyses proceed by lower bounding the improvement of a single step,and you can ignore the extra coordinates.  It also seems difficult to say anything general about what cyclic buys you, so people just do the best coordinate and the $n$ factor can usually be verified.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;&lt;b&gt;Rate under strong convexity.&lt;/b&gt; The simplest case is that your objective function is strongly convex.  Here, all gradient descent variants have the rate $\mathcal O(\ln (1/\epsilon))$.  This is proved in Boyd &amp;amp; Vandenberghe's book.  The proof first gives the result for gradient descent, and then uses norm equivalence to give the result for general $l^p$ steepest descent.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;b&gt;Constraints.&lt;/b&gt; Without strong convexity, you have to start being a little bit careful.  You didn't say anything about constraints, and thus in general, the infimum may not be attainable.  I'll say briefly on the topic of constraints that the standard approach (with descent methods) is to project onto your constraint set each iteration to maintain feasibility, or to use barriers to roll the constraints into your objective function.  In the case of the former, I don't know how it plays with coordinate descent; in the case of the latter, it works fine with coordinate descent, and these barriers can be strongly convex.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More specifically to coordinates methods, rather than projecting, many people simply make the coordinate update maintain feasibility: this for instance is exactly the case with the Frank-Wolfe algorithm and its variants (i.e., using it to solve SDPs).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'll also note briefly that the SMO algorithm for SVMs can be viewed as a coordinate descent method, where you are updating two variables at once, and maintaining a feasibility constraint while you do so.  The choice of variables is heuristic in this method, and so the guarantees are really just the cyclic guarantees.  I'm not sure if this connection appears in standard literature; I learned about the SMO method from Andrew Ng's course notes, and found them to be quite clean.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;b&gt;General convergence guarantee.&lt;/b&gt; What I know in this more general setting (for coordinate descent) is much weaker.  First, there is an ancient result, due to Zoutendijk, that all these gradient variants have guaranteed convergence; you can find this in the book by Nocedal &amp;amp; Wright, and it also appears in some of Bertsekas's books (at the very least, &quot;nonlinear programming&quot; has it).  These results are again for something more general than coordinate descent, but you can specialize them to coordinate descent, and then get the cyclic part by multiplying by $n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More specifically to cyclic coordinate descent, there's a paper by Luo &amp;amp; Tseng titled &quot;On the convergence of the coordinate descent method for convex differentiable minimization&quot;.  These results require the infimum to be attainable. There are no rates here, only convergence guarantees, but these results have been applied to some more specialized settings to get rates; for instance, in boosting (in the special case that the infimum is attainable), Warmuth, Mika, Raetsch, and Warmuth (&quot;on the convergence of leveraging&quot;) were able to show rates of $\mathcal O(\ln(1/\epsilon))$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are some more recent results on coordinate descent, I've seen stuff on arXiv.  Also, luo&amp;amp;tseng have some newer papers.  but this is the main stuff.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;b&gt;More convergence rates in the special case of boosting.&lt;/b&gt; Due to its importance, there has been other specialization in the case of boosting.  This is a pretty severe special case because your objective can be written $\sum_{i=1}^m g(\langle a_i, \lambda\rangle)$ where $g$ is a (convex) univariate function and the $(a_i)_1^m$ are fixed vectors ($\lambda$ is the optimization variable).  Bickel, Ritov, and Zakai (&quot;some theory for generalized boosting algorithms&quot;) showed you can get $\exp(1/\epsilon^2)$ in general, and there are more recent results by other people showing $\mathcal O(1/\epsilon)$.  The difficulty in these is that the infimum is not assumed attainable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;b&gt;The issue with exact updates.&lt;/b&gt; Also, it is very often the case that you do not have a closed form single coordinate update.  Or the exact solution may simply not exist.    But fortunately, there are lots and lots of line search methods that get basically the same guarantees as an exact solution.  This material can be found in standard nonlinear programming texts, for instance in the Bertsekas or Nocedal&amp;amp;Wright books mentioned above.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;b&gt;Vis a vis your second paragraph: when these work well.&lt;/b&gt;&#xA;First, many of the above mentioned analyses for gradient work for coordinate descent.  So why not always use coordinate descent?  The answer is that for many problems where gradient descent is applicable, you can also use Newton methods, for which superior convergence can be proved.  I don't know of a way to get the Newton advantage with coordinate descent.  Also, the high cost of Newton methods can be mitigated with Quasinewton updates (see for instance LBFGS).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Second, the place where these methods shine is where the presumed solution is sparse (in the $l^0$ sense).  Of course, there are NP-hardness issues with this kind of sparsity, but the point is that if you run $k$ iterations, you have $k$ nonzero entries.  These facts generalize to, say, using coordinate methods with SDP solvers, where each iteration you throw in a rank 1 matrix, thus with $k$ iterations you have a rank $k$ iterate.  There is a great paper on this topic, by Shalev-Shwartz, Srebro, and Zhang, titled &quot;trading accuracy for sparsity in optimization problems with sparsity constraints&quot;.  Most specifically to the second paragraph of your question, this paper gives further properties on $f$ that allow fast convergence and good sparsity (true to its title).&lt;/p&gt;&#xA;" OwnerUserId="336" LastEditorUserId="336" LastEditDate="2011-08-12T20:53:15.383" LastActivityDate="2011-08-12T20:53:15.383" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7717" PostTypeId="1" CreationDate="2011-08-12T22:42:00.337" Score="20" ViewCount="580" Body="&lt;p&gt;This is related to an earlier question on &lt;a href=&quot;https://cstheory.stackexchange.com/questions/7645/maximal-maximum-independent-sets&quot;&gt;which graphs have the property that all maximal independent sets are maximum&lt;/a&gt; — such graphs turn out to be known as the &lt;a href=&quot;http://en.wikipedia.org/wiki/Well-covered_graph&quot; rel=&quot;nofollow noreferrer&quot;&gt;well-covered graphs&lt;/a&gt;. Any graph $G$ is an induced subgraph of a well-covered graph: for instance, find a clique cover of $G$, and add one more vertex to each of the cliques in the cover. Smaller clique covers lead to well-covered supergraphs of $G$ with fewer vertices. Which leads to the following problem:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Input: a graph $G$ and a number $k$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Output: yes if $G$ is an induced subgraph of a $k$-vertex well-covered graph, no otherwise&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is known if anything about the complexity of this problem? Testing whether a graph is well-covered is coNP-complete, so the obvious complexity class for finding a small well-covered completion is $\Sigma^P_2$ — but is it complete for $\Sigma^P_2$?&lt;/p&gt;&#xA;" OwnerUserId="95" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2013-02-19T16:37:14.583" Title="Complexity of finding the smallest well-covered completion" Tags="&lt;cc.complexity-theory&gt;&lt;graph-algorithms&gt;" AnswerCount="0" CommentCount="1" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="7718" PostTypeId="1" CreationDate="2011-08-13T01:29:39.680" Score="1" ViewCount="149" Body="&lt;p&gt;Sutton recommended using an optimistic heuristic on decision making by considering the upper bound of the confidence range of an action-value.  From my testing, it seems to work.  I find this fascinating and wonder if it could be proven that optimistic thinking (within these limits) is actually a sound policy for life in general.  This may sound a bit off-topic, but I don't think so.  I universal truth that can actually be codified would be a real discovery, imho.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Question: is it a universally sound policy to use the &quot;high&quot; confidence probability in the formula: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$ActionValue = P(X) \cdot Value(X)$ &amp;lt;- utility theory, reinforcement learning&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, $P(X)$ will have a confidence interval based on the number of samples.  You can optimistically just use $P(X) + confInterval / 2$ to get $Popt(X)$.  This seems to work well in practice.  Is this a universal truth?&lt;/p&gt;&#xA;" OwnerUserId="6062" LastEditorUserId="3964" LastEditDate="2011-08-13T18:05:10.327" LastActivityDate="2011-08-13T21:09:12.250" Title="Reinforcement Learning and Optimistic Decisions" Tags="&lt;machine-learning&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7719" PostTypeId="1" CreationDate="2011-08-13T08:25:47.537" Score="19" ViewCount="1432" Body="&lt;p&gt;Consider $\mathbb{R}^n$ equipped with the standard dot product $\langle \cdot, \cdot \rangle$ and $m$ vectors there: $v_1, v_2, \ldots, v_m$. We want to build a data structure that allows queries of the following format: given $x \in \mathbb{R}^n$ output $\min_i \langle x, v_i \rangle$. &lt;strong&gt;Is it possible to go beyond the trivial $O(nm)$ query time?&lt;/strong&gt; For example if $n = 2$, then it is immediate to get $O(\log^2 m)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The only thing I can come up with is the following. It is an immediate consequence of &lt;a href=&quot;http://en.wikipedia.org/wiki/Johnson%E2%80%93Lindenstrauss_lemma&quot;&gt;Johnson-Lindenstrauss lemma&lt;/a&gt; that for every $\varepsilon &amp;gt; 0$ and a distribution $\mathcal{D}$ on $\mathbb{R}^n$ there is a linear mapping $f \colon \mathbb{R}^n \to \mathbb{R}^{O(\log m)}$ (which can be &lt;em&gt;evaluated&lt;/em&gt; in $O(n \log m)$ time) such that $\mathrm{Pr}_{x \sim \mathcal{D}}\left[\forall i \quad \langle x, v_i \rangle - \varepsilon (\|x\| + \|v_i\|)^2 \leq \langle f(x), f(v_i)\rangle \leq \langle x, v_i \rangle + \varepsilon (\|x\| + \|v_i\|)^2 \right] \geq 1 - \varepsilon$. So, in time $O((n + m) \log m)$ we can compute &lt;em&gt;something&lt;/em&gt; that is in some sense close to $\min_i \langle x, v_i \rangle$ for most $x$'s (at least if the norms $\|x\|$ and $\|v_i\|$ are small).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;UPD&lt;/strong&gt; The abovementioned bound can be somewhat sharpened to the query time $O(n + m)$ if we use locality-sensitive hashing. More precisely, we choose $k := O(\frac{1}{\varepsilon^2})$ independent Gaussian vectors $r_1, r_2, \ldots, r_k$. Then we map $\mathbb{R}^n$ to $\{0,1\}^k$ as follows: $v \mapsto (\langle r_1, v \rangle \geq 0, \langle r_2, v \rangle \geq 0, \ldots, \langle r_k, v \rangle \geq 0)$. Then we can estimate the angle between two vectors within an additive error $\varepsilon$ by computing $\ell_1$-distance in the image of this mapping. Thus, we can estimate dot products within an additive error $\varepsilon \|x\| \|v_i\|$ in $O(\frac{1}{\varepsilon^2})$ time.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;" OwnerUserId="141" LastEditorUserId="141" LastEditDate="2011-08-15T03:02:46.197" LastActivityDate="2011-08-15T03:02:46.197" Title="A data structure for minimum dot product queries" Tags="&lt;ds.data-structures&gt;&lt;cg.comp-geom&gt;&lt;linear-algebra&gt;&lt;metrics&gt;" AnswerCount="2" CommentCount="5" FavoriteCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="7720" PostTypeId="1" CreationDate="2011-08-13T09:32:29.390" Score="14" ViewCount="462" Body="&lt;p&gt;Let $\varphi$ be a CNF formula. Suppose that each of $\varphi$'s clauses consist of exactly $t$ literals (and, moreover, all literals within one particular clause correspond to different variables). It is well known that if every clause has less than $2^t / e$ clauses that share variables with it, then $\varphi$ is satisfiable (let us call such formulae &lt;em&gt;easy&lt;/em&gt;). Satisfiability can be proved easily using &lt;a href=&quot;http://en.wikipedia.org/wiki/Lov%C3%A1sz_local_lemma&quot;&gt;Lovász local lemma&lt;/a&gt;. Moreover, using &lt;a href=&quot;http://arxiv.org/abs/0903.0544&quot;&gt;a recent result&lt;/a&gt; by Moser and Tardos one can show that one of the satisfying assignments can be found in polynomial expected time using the following very simple procedure:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Pick a random assignment&lt;/li&gt;&#xA;&lt;li&gt;While there exists an unsatisfied clause, resample all its variables.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;On the other hand, most of modern SAT solvers are &lt;a href=&quot;http://en.wikipedia.org/wiki/DPLL_algorithm&quot;&gt;DPLL&lt;/a&gt;-based. It means that they try to find a satisfying assignment using brute force with two simple prunings:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;If a formula contains clause with one literal, then we can fix it.&lt;/li&gt;&#xA;&lt;li&gt;If one variable occurs in a formula only with (or without) negation, then we can fix it.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;The question: is it true that a version of DPLL that splits on random variables finds a satisfying assignment of any easy formula in polynomial expected time?&lt;/strong&gt;&lt;/p&gt;&#xA;" OwnerUserId="141" LastEditorUserId="186" LastEditDate="2011-08-13T20:42:52.577" LastActivityDate="2011-08-13T20:42:52.577" Title="DPLL and Lovász Local Lemma" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;sat&gt;" AnswerCount="0" CommentCount="3" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="7721" PostTypeId="2" ParentId="7368" CreationDate="2011-08-13T14:03:17.297" Score="2" Body="&lt;p&gt;For bitstring to boolean functions, people usually build &lt;a href=&quot;http://en.wikipedia.org/wiki/Binary_decision_diagram&quot; rel=&quot;nofollow&quot;&gt;binary decision diagrams&lt;/a&gt; instead of decision trees to represent functions compactly. If you want to find a small BDD and are willing to sacrifice correctness on a few inputs (as your question implies) then you might want to look into approximate BDDs as studied in the following two papers:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hinsberger, U., Kolla, R., and Kunjan, T. [1997] &quot;&lt;a href=&quot;http://en.scientificcommons.org/43429606&quot; rel=&quot;nofollow&quot;&gt;Approximative Representation of boolean Functions by size controllable ROBDD's&lt;/a&gt;&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Ravi, K., McMillan, K.L., Shiple, T.R., and Somenzi, F. [1998] &quot;&lt;a href=&quot;http://portal.acm.org/citation.cfm?id=277044.277168&quot; rel=&quot;nofollow&quot;&gt;Approximation and decomposition of binary decision diagrams&lt;/a&gt;&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am not sure if there is work that generalizes this for $\mathbb{R}^d \supset \mathbb{D}  \rightarrow \{0,1\}$ functions, but I would use those papers as a starting point and do a forward-reference search.&lt;/p&gt;&#xA;" OwnerUserId="1037" LastActivityDate="2011-08-13T14:03:17.297" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7723" PostTypeId="2" ParentId="7718" CreationDate="2011-08-13T21:09:12.250" Score="2" Body="&lt;p&gt;The main idea of following upper confidence bounds is minimizing regret, that is, the difference between the received reward and the maximum. The paper to read on this is: &quot;Finite-time analysis of the multiarmed bandit problem&quot; by Peter Auer, Nicoló Cesa-Bianchi, and Peter Fischer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we interpret life as a Markov Decision Process, then most reinforcement learning theories apply quite well. I.e. we want to keep an open mind, but we want to do what we think is best exponentially more often than exploratory actions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course, interpreting life as an MDP is a bit of a stretch — foresight, for example, has to be interpreted as simulated experience, but I believe one can find quite a lot of wisdom in reinforcement learning and artificial intelligence in general.&lt;/p&gt;&#xA;" OwnerUserId="2920" LastActivityDate="2011-08-13T21:09:12.250" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7725" PostTypeId="2" ParentId="7653" CreationDate="2011-08-13T21:54:39.947" Score="2" Body="&lt;p&gt;The short answer is, LZ is a &quot;universal&quot; algorithm in that it doesn't need to know the exact distribution of the source (just needs the assumption that the source is stationary and ergodic). But Huffman isn't; it needs to know the exact distribution from which the source is sampled (for making the Huffman tree). This additional information makes Huffman attain tight compression guarantees. However for practical file compression algorithms Huffman may be less favorable since it will first need to gather empirical statistics of the file and then do the actual compression in a second half, while LZ can be implemented online.  Running LZ on a compressed sequence does not necessarily eliminate the remaining redundancy since the processed source no longer satisfies the theoretical requirements of the algorithm on the second round (ergodicity and stationarity).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More details can be found in standard information theory texts, e.g., Elements of Information Theory by Cover and Thomas.&lt;/p&gt;&#xA;" OwnerUserId="6190" LastActivityDate="2011-08-13T21:54:39.947" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="7726" PostTypeId="2" ParentId="7605" CreationDate="2011-08-13T22:09:15.623" Score="4" Body="&lt;p&gt;Check out the following two monographs on the topic:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] C. Fragouli and E. Soljanin, Network Coding Fundamentals, Foundations and Trends in Networking, Now Publishers, June 2007.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] C. Fragouli and E. Soljanin, Network Coding Applications, Foundations and Trends in Networking, Now Publishers, January 2008.&lt;/p&gt;&#xA;" OwnerUserId="6190" LastActivityDate="2011-08-13T22:09:15.623" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7727" PostTypeId="2" ParentId="2934" CreationDate="2011-08-13T22:30:07.833" Score="4" Body="&lt;p&gt;While reading your great post and looking around for a solution myself I stumbled into the option to &lt;strong&gt;colorize changes at word level in gitk&lt;/strong&gt;. The gitk parameter seems to be a new and/or undocumented feature since the auto-completion does not offer it and the &lt;a href=&quot;ftp://ftp.kernel.org/pub/software/scm/git/docs/gitk.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;gitk man page&lt;/a&gt; does not list it.&lt;br&gt;&#xA;Here are the options the I found:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;gitk --word-diff=plain&#xA;gitk --word-diff=porcelain&#xA;gitk --word-diff=color&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;You can find several discussions on that topic searching for &lt;a href=&quot;http://tinyurl.com/3sh79dw&quot; rel=&quot;nofollow noreferrer&quot;&gt;&quot;diff --color-words&quot; gitk&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit:&lt;/strong&gt;&lt;br&gt;&#xA;This is what is looks like ...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/9Ans7.png&quot; alt=&quot;Differences colored at a word-level using gitk&quot;&gt;&lt;/p&gt;&#xA;" OwnerUserId="6192" LastEditorUserId="6192" LastEditDate="2011-08-14T12:43:02.263" LastActivityDate="2011-08-14T12:43:02.263" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7728" PostTypeId="1" AcceptedAnswerId="7805" CreationDate="2011-08-13T22:35:31.893" Score="5" ViewCount="1559" Body="&lt;p&gt;Suppose X_1, ..., X_k are iid standard Gaussian variables, for some k &gt; 1.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then, what is the distribution of X := X_1 * ... * X_k ? Can it be approximated by a Gaussian, maybe for large k ?&lt;/p&gt;&#xA;" OwnerUserId="6190" LastActivityDate="2011-08-18T20:41:25.413" Title="Multiplication of normal distributions" Tags="&lt;pr.probability&gt;&lt;st.statistics&gt;" AnswerCount="2" CommentCount="8" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="7729" PostTypeId="2" ParentId="7728" CreationDate="2011-08-13T22:48:16.370" Score="10" Body="&lt;p&gt;The distribution of the multiplication of independent Gaussians is not close to a Gaussian.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are various ways to convince yourself in this. E.g., compute the expectation and the variance of the product from the expectation and the variance of the individual variables.&#xA;This gives you a candidate Gaussian if there were a Gaussian approximation.&#xA;Now, think of some simple properties of the product (e.g., the probability it is 0) and see if your candidate is good enough as an approximation.&lt;/p&gt;&#xA;" OwnerUserId="1621" LastEditorUserId="1621" LastEditDate="2011-08-14T02:33:33.280" LastActivityDate="2011-08-14T02:33:33.280" CommentCount="15" ContentLicense="CC BY-SA 3.0" />
  <row Id="7732" PostTypeId="1" AcceptedAnswerId="7744" CreationDate="2011-08-14T06:06:02.427" Score="4" ViewCount="232" Body="&lt;h2&gt;Terminology&lt;/h2&gt;&#xA;&lt;p&gt;A binary decision diagram is a directed acyclic graph with one source (root), and two sinks (&lt;span class=&quot;math-container&quot;&gt;$A$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$B$&lt;/span&gt;). Each non-sink nodes is labeled by an integer &lt;span class=&quot;math-container&quot;&gt;$i \in \{1,...,n\}$&lt;/span&gt; and has out-degree 2 (one edge labeled '0', the other '1'). Visiting a node with label &lt;span class=&quot;math-container&quot;&gt;$i$&lt;/span&gt; corresponds to queering the bit &lt;span class=&quot;math-container&quot;&gt;$x_i$&lt;/span&gt; of the input and following the &lt;span class=&quot;math-container&quot;&gt;$0$&lt;/span&gt;-edge if &lt;span class=&quot;math-container&quot;&gt;$x_i = 0$&lt;/span&gt; and the &lt;span class=&quot;math-container&quot;&gt;$1$&lt;/span&gt;-edge otherwise. When you arrive at a sink, you output its value &lt;span class=&quot;math-container&quot;&gt;$A$&lt;/span&gt; or &lt;span class=&quot;math-container&quot;&gt;$B$&lt;/span&gt; as the solution to the function represented by the BDD.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The &lt;strong&gt;depth&lt;/strong&gt; of a BDD is the length of the longest path from source to sink.&lt;/li&gt;&#xA;&lt;li&gt;A slice at depth &lt;span class=&quot;math-container&quot;&gt;$k$&lt;/span&gt; is the set of all nodes that are a distance &lt;span class=&quot;math-container&quot;&gt;$k$&lt;/span&gt; from the root. The &lt;strong&gt;width&lt;/strong&gt; of a BDD is the size of the largest slice.&lt;/li&gt;&#xA;&lt;li&gt;The &lt;strong&gt;size&lt;/strong&gt; of a BDD is the total number of nodes.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;A BDD is free, if there is no constraints on the labeling of the nodes. This is in contrast to the more commonly studied restriction of Ordered BDD that does not allow you to label a vertex &lt;span class=&quot;math-container&quot;&gt;$i \geq j$&lt;/span&gt; if an ancestor is labeled &lt;span class=&quot;math-container&quot;&gt;$j$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;h2&gt;Question&lt;/h2&gt;&#xA;&lt;p&gt;Given a total boolean function &lt;span class=&quot;math-container&quot;&gt;$f$&lt;/span&gt; is there a trade off between the depth and width (or depth and size) of the BDDs representing it?&lt;/p&gt;&#xA;&lt;p&gt;Let &lt;span class=&quot;math-container&quot;&gt;$D(f)$&lt;/span&gt; be the query complexity of &lt;span class=&quot;math-container&quot;&gt;$f$&lt;/span&gt;, and let BDD mean BDD representing &lt;span class=&quot;math-container&quot;&gt;$f$&lt;/span&gt;. Are there cases that every BDD of depth &lt;span class=&quot;math-container&quot;&gt;$D(f)$&lt;/span&gt; has a strictly larger width than a BDD of larger depth?&lt;/p&gt;&#xA;&lt;hr /&gt;&#xA;&lt;h2&gt;Motivation&lt;/h2&gt;&#xA;&lt;p&gt;This question is a follow up to:&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/q/7413/1037&quot;&gt;Trade off between time and query complexity&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;The hope is that by looking at a more rigid model such as BDDs we might be able to build intuition for that question in the interesting case of total functions. For a free BDD the depth corresponds directly to query complexity. The width is usually seen as a measure of space not time, so this question is also a restriction of &lt;a href=&quot;https://cstheory.stackexchange.com/q/4556/1037&quot;&gt;time-space trade offs&lt;/a&gt;. However, the hope is that learning some trade offs between depth and width/size can help build similar things for query-vs-time in the circuit model.&lt;/p&gt;&#xA;&lt;p&gt;Note that the case of partial functions is not interesting, since the Kothari-Fitzsimons construction from the previous question can be modified to give a separation for BDDs (although not an arbitrary one; at most exponential). The case of the better studied ordered BDDs is also less interesting, because it is easy to show that the depth of an ordered BDD does not correspond to query complexity. You can give examples of total functions where any ordered BDD has exponentially higher depth than the function's query complexity.&lt;/p&gt;&#xA;" OwnerUserId="1037" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2011-08-14T19:49:03.437" Title="Trade off between width and depth of free BDDs for total functions" Tags="&lt;cc.complexity-theory&gt;&lt;query-complexity&gt;&lt;binary-decision-diagrams&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7733" PostTypeId="2" ParentId="1198" CreationDate="2011-08-14T06:26:49.937" Score="12" Body="&lt;p&gt;CCC (IEEE Conference on Computational Complexity)&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://ccc2010.seas.harvard.edu/program.html&quot;&gt;The CCC 2010 videos&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="186" LastActivityDate="2011-08-14T06:26:49.937" CommentCount="0" CommunityOwnedDate="2011-08-14T06:26:49.937" ContentLicense="CC BY-SA 3.0" />
  <row Id="7734" PostTypeId="2" ParentId="7719" CreationDate="2011-08-14T06:44:02.550" Score="6" Body="&lt;p&gt;Here's one idea for the exact answer, that I suspect Chao Xu might be alluding to. Firstly observe that we might as well normalize $x$, as Chao points out. Now consider the hyperplane $h$ normal to the direction $x$. The goal is to find the point closest to this hyperplane. By duality, this corresponds to a ray shooting query in an arrangement of hyperplanes to find the closest plane &quot;above&quot; the query point. Since this can be preprocessed, the main complexity is the point location, and so your problem has now been reduced to the complexity of doing point location in an arrangement of hyperplanes. Using cuttings, this can be done in $O(\log n)$ time in $n^d$ space. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2011-08-14T06:44:02.550" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7736" PostTypeId="2" ParentId="7719" CreationDate="2011-08-14T08:16:51.220" Score="16" Body="&lt;p&gt;Consider the special case where you just want to determine if your query vector is orthogonal to some vector in your preprocessed collection. (That is, you want to determine if $\min_i \langle x, v_i \rangle = 0$, where the vectors under discussion have non-negative coefficients.) This case is already very interesting.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose you can answer queries in $n^{O(1)} m^{1-\delta}$ time for some $\delta &amp;gt; 0$, with $m^{O(1)} n^{O(1)}$ preprocessing (the polynomial's degrees should not depend on $m$ or $n$ or $\delta$). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the paper &quot;A new algorithm for optimal 2-constraint satisfaction and its implications&quot;, I observed that such a data structure would actually allow you to solve CNF-SAT in $2^{\alpha v}$ time for some $\alpha &amp;lt; 1$, where $v$ is the number of variables. This would refute the &quot;Strong Exponential Time Hypothesis&quot; that k-SAT requires essentially $2^n$ time for unbounded $k$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To see why, suppose the preprocessing time is bounded by $(nm)^c$. Consider a CNF formula $F$ with $v$ variables and $n$ clauses. We split the set of variables into two parts $P_1$ and $P_2$ of size $v(1-1/(2c))$ and $v/(2c)$, respectively. List all possible assignments to the variables in the parts (getting $2^{v(1-1/(2c))}$ and $2^{v/(2c)}$ assignments, respectively). Associate each of these partial assignments $A_i$ with an $n$-bit vector $w_i$ where $w_i[j]=1$ iff the $j$th clause of $F$ is not satisfied by $A_i$. So we have two lists of exponentially many bit vectors.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Notice that $F$ is satisfiable iff there is a vector $w_1$ from an assignment on $P_1$ and a vector $w_2$ from an assignment on $P_2$ such that $\langle w_1, w_2 \rangle = 0$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now let $m=2^{v/(2c)}$, and preprocess the assumed data structure with all vectors from part $P_2$. This takes $n2^{v/2}$ time, by assumption. Run the query algorithm on all vectors from assignments on part $P_1$. By assumption this takes $2^{v(1-1/(2c))} \cdot n^{O(1)} m^{1-\delta} = n^{O(1)} 2^{v - \delta v/(2c)}$. Let $\alpha = 1 - \delta/(2c)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Perhaps it is possible to get efficient preprocessing and $n^{O(1)} m^{1-1/(\log \log m)}$ query time with existing techniques. The best known CNF-SAT algorithms don't rule it out. (They get something like $2^{n-n/\log n}$.) But to compute $\min_i \langle x, v_i\rangle$ is slightly stronger -- in this setup, it would be like solving MAX CNF-SAT.&lt;/p&gt;&#xA;" OwnerUserId="225" LastEditorUserId="225" LastEditDate="2011-08-14T15:49:21.877" LastActivityDate="2011-08-14T15:49:21.877" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="7737" PostTypeId="1" AcceptedAnswerId="7746" CreationDate="2011-08-14T10:50:28.213" Score="11" ViewCount="1186" Body="&lt;p&gt;Following problem is decidable:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a context-free grammar $G$, is $L(G) = \varnothing$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Following problem is undecidable:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a context-free grammar $G$, is $L(G) = A^{\ast}$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a characterization of context-free languages $M$ with decidable equality $L(G) = M$?&lt;/p&gt;&#xA;" OwnerUserId="1886" LastActivityDate="2014-01-24T17:05:10.070" Title="Decidability of equality of CFL's" Tags="&lt;computability&gt;&lt;fl.formal-languages&gt;" AnswerCount="2" CommentCount="5" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7738" PostTypeId="1" CreationDate="2011-08-14T11:11:11.520" Score="0" ViewCount="476" Body="&lt;p&gt;Turing test of Artificial intelligence relies on interaction between two parties with the goal that one party convinces the other party that it has the same computational abilities.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm trying to formalize a new notion of machine Intelligence: the ability of Turing machines (algorithms) to recognize their programmer and that they were not generated randomly. &#xA;This requires defining metrics to be used by Turing machines to measure the creative abilities of the programmer. We may allow interaction between the algorithm and the programmer. &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;How can we formalize such notion of AI? Has any similar idea been investigated before in TCS?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;EDIT1: programmer here is a program that is able to generate other algorithms runnable on some computing device. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;One motivation is whether intelligence of an algorithm is dependent on programmer's intelligence.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT2: I'd like to formalize a notion for the intelligence and creativity of programs. Not all programs created equal. My question is an attempt to model and formalize aspects of intelligence that are not captured by current definitions of AI. For instance, Does an evolutionary algorithm possess any intelligence? If yes, What is the source of this intelligence?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT3: My goal is to remove the subjectivity from Turing test. If the programmer is able to convince a Turing machine that it was the product of creativity of the programmer then the Turing machine is intelligent. Furthermore, the programmer is far more intelligent than the code he created. So, the challenge is how to formally convince the Turing machine that the programmer has superior computational abilities. In addition, the programmer must convince the Turing machine that those superior computational abilities are required and critical to the creation of the Turing machine code.&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2011-08-15T13:07:55.433" LastActivityDate="2011-08-15T20:00:28.937" Title="Formalizing a notion of machine Intelligence" Tags="&lt;ai.artificial-intel&gt;" AnswerCount="3" CommentCount="15" ContentLicense="CC BY-SA 3.0" />
  <row Id="7739" PostTypeId="1" CreationDate="2011-08-14T12:34:34.667" Score="2" ViewCount="81" Body="&lt;p&gt;Given a curve $f(x)$ (for $x \in [0,1]$), and a line $y=a$, let $U$ be the total area below $f$ and above $a$, and let $L$ be the total area above $f$ and below $a$. If $L=U$, this means that $a =\int_0^1 f(x) dx$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Or if $f(x)$ is a sequence of $n$ numbers, this means $a$ is their mean. Equivalently, $U = \sum \max(f(x)-a,0) \; dx$, $L = \sum \max(a-f(x),0) \; dx$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What I want instead is the value $a$ for which $c \cdot L = U$, for some constant $c&amp;gt;0$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This can be computed approximately by binary search or exactly with a more cumbersome algorithm, but: is there a closed-form expression for this value? And: has this value been studied?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(The motivation is a battery-charging problem, where $a$ is the constant level of energy available, and $f$ is the energy usage at each moment, so $L$ corresponds to charging into the battery, and $U$ corresponds to discharging from the battery. Because of charge/discharge inefficiencies, after charging 1 unit in, you'll only be able to discharge, say, .5 units out. (For this interpretation to make sense, you might assume f is monotonically increasing.))&lt;/p&gt;&#xA;" OwnerUserId="6196" LastEditorUserId="6196" LastEditDate="2011-08-14T12:59:59.163" LastActivityDate="2011-08-14T12:59:59.163" Title="mean/integral, except where positive differences between values and &quot;mean&quot; are weighted differently from negative differences?" Tags="&lt;reference-request&gt;&lt;computing-over-reals&gt;&lt;computable-analysis&gt;" AnswerCount="0" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7743" PostTypeId="2" ParentId="7738" CreationDate="2011-08-14T18:26:05.163" Score="8" Body="&lt;p&gt;Let me give a partial answer from a learning theory perspective.  As your question isn't well specified, this answer won't be either.  In my answer, I'm assuming your question was inspired by your &lt;a href=&quot;http://turkistany.blogspot.com/2011/01/theory-of-computing-and-intelligent.html&quot; rel=&quot;nofollow&quot;&gt;blog post&lt;/a&gt;, linked from your profile.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Say that you are thinking about programs that are just functions (so they have to halt, etc.).  You can ask whether certain &lt;strong&gt;classes&lt;/strong&gt; of such functions can appear randomly by, perhaps, looking at the probability a random program (from some distribution that you think is likely) lands in that class or not, with the hope that probability is polynomially large.  I haven't really thought this argument through.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can also ask whether such a class is &lt;a href=&quot;http://people.seas.harvard.edu/~valiant/evolvability-2008.pdf&quot; rel=&quot;nofollow&quot;&gt;efficiently evolvable&lt;/a&gt; according to Valiant's model of evolution (also in @Artem's pointer in comments): luckily what is efficiently evolvable is known to be the class learnable by &lt;a href=&quot;http://www.eecs.harvard.edu/~vitaly/papers/F_strongSQD_manu0614.pdf&quot; rel=&quot;nofollow&quot;&gt;correlational statistical queries&lt;/a&gt;; taking &quot;crossover&quot; into account, you get &lt;a href=&quot;http://people.seas.harvard.edu/~varunk/docs/evolution-K11.pdf&quot; rel=&quot;nofollow&quot;&gt;parallel correlational statistical queries&lt;/a&gt;. One thing to note is that just because evolvability is characterized, it is still a separate and sometimes difficult task to determine whether a particular class is evolvable (learnable with CSQs) or not.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you find a class of &quot;programs&quot; that is neither randomly occurring nor evolvable, perhaps you can conclue it has a &quot;creator/programmer,&quot; though that conclusion may still take a leap of faith.&lt;/p&gt;&#xA;" OwnerUserId="123" LastEditorUserId="123" LastEditDate="2011-08-14T23:56:27.033" LastActivityDate="2011-08-14T23:56:27.033" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="7744" PostTypeId="2" ParentId="7732" CreationDate="2011-08-14T19:49:03.437" Score="7" Body="&lt;p&gt;There are known functions on $n$ variables where depth $n$ branching programs (as non-oblivious BDDs are usually called) require exponential size.  The book to read is &lt;a href=&quot;http://books.google.com/books/about/Branching_programs_and_binary_decision_d.html?id=-DZjVz9E4f8C&quot; rel=&quot;nofollow&quot;&gt;by Wegner&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Stronger lower bounds are given &lt;a href=&quot;http://eccc.hpi-web.de/eccc-reports/1999/TR99-026/&quot; rel=&quot;nofollow&quot;&gt;by Ajtai&lt;/a&gt;, and there is some &lt;a href=&quot;http://scholar.google.com/scholar?cites=12236034035052283642&amp;amp;as_sdt=2005&amp;amp;sciodt=0,5&amp;amp;hl=en&quot; rel=&quot;nofollow&quot;&gt;newer work&lt;/a&gt;, but I'm not sure about which is best to read.&lt;/p&gt;&#xA;" OwnerUserId="42" LastActivityDate="2011-08-14T19:49:03.437" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="7745" PostTypeId="2" ParentId="4556" CreationDate="2011-08-14T20:00:00.573" Score="14" Body="&lt;p&gt;The prototypical f and g here would probably be poly-time and polylog space.  The interesting problem here is connectivity (in directed graphs) which can be solved in polynomial time (using linear space) or in polylog space (using super-polynomial time).  It is a famous open problem whether it can be solved in TIME-SPACE(poly,polylog), a class known as &lt;a href=&quot;http://en.wikipedia.org/wiki/SC_%28complexity%29&quot;&gt;SC&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I.e. your question is a well-known open problem.  I don't think that anything non-trivial is known here.&lt;/p&gt;&#xA;" OwnerUserId="42" LastActivityDate="2011-08-14T20:00:00.573" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7746" PostTypeId="2" ParentId="7737" CreationDate="2011-08-14T22:49:49.107" Score="7" Body="&lt;p&gt;I am not sure there is any general characterization for equivalence, but the following papers by Hopcroft, and Hunt and Rosenkrantz resp. might be a good start:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;John E. Hopcroft, On the equivalence and containment problems for context-free languages, &lt;em&gt;Theory of Computing Systems&lt;/em&gt; 3(2):119-124, &lt;a href=&quot;http://dx.doi.org/10.1007/BF01746517&quot;&gt; doi:10.1007/BF01746517&lt;/a&gt;;&lt;/li&gt;&#xA;&lt;li&gt;Harry B. Hunt, III and Daniel J. Rosenkrantz, On Equivalence and Containment Problems for Formal Languages, &lt;em&gt;Journal of the ACM&lt;/em&gt; 24(3):387--396, 1977, &lt;a href=&quot;http://dx.doi.org/10.1145/322017.322020&quot;&gt;doi:10.1145/322017.322020&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Hopcroft shows in particular that, if $M$ is regular, then $L(G)=M$ is decidable iff $M$ is bounded, i.e. there exist $n$ words $w_1,w_2,\ldots,w_n$ s.t. $M\subseteq w_1^\ast w_2^\ast\cdots w_n^\ast$.&lt;/p&gt;&#xA;" OwnerUserId="609" LastEditorUserId="609" LastEditDate="2011-08-16T14:15:12.610" LastActivityDate="2011-08-16T14:15:12.610" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7748" PostTypeId="1" AcceptedAnswerId="7750" CreationDate="2011-08-15T09:13:10.693" Score="6" ViewCount="517" Body="&lt;p&gt;I'm looking to adapt the PageRank algorithm as a centrality measure in a network. This network however, unlike the &quot;random surfer&quot; of the original paper on PageRank, or the random library browser for Eigenfactor.org, doesn't have a random browser who can leave and jump off to some other network. The theoretical reader is reading &lt;em&gt;only&lt;/em&gt; this literature, and reading it completely.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As I understand it, the damping factor in the usual implementation of PageRank is 1 - probability of the random surfer jumping to a different site, and is usually set at 0.85. Is it reasonable then, in an entirely closed network, to set this value = 1.0, or is there something I'm not seeing?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some details of the network, which would probably be helpful:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;All the networks I will be looking at are fairly small, less than 1000 nodes, and directed. They're citation networks - with papers as nodes and edges as citations between papers, so inherently there are no isolated nodes not connected to any other nodes, as their inclusion in the network is conditional on there being a link to or from the network. There's no reason to believe the network is strongly connected - indeed, I'm pretty sure they're inherently not.&lt;/p&gt;&#xA;" OwnerUserId="6205" LastEditorUserId="186" LastEditDate="2011-08-17T15:35:48.373" LastActivityDate="2011-08-22T22:52:57.853" Title="PageRank for a Non-Random Searcher" Tags="&lt;ds.algorithms&gt;&lt;advice-request&gt;&lt;formal-modeling&gt;&lt;ni.networking-internet&gt;" AnswerCount="2" CommentCount="12" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7750" PostTypeId="2" ParentId="7748" CreationDate="2011-08-15T16:26:24.373" Score="2" Body="&lt;p&gt;I'm not familiar at all with details of the PageRank theory, but here's an intuitive answer: Suppose you have a huge connected graph plus a single isolated vertex that you wish to reach. Without random jumps there's no hope to stop surfing. Does the algorithm exclude such bad instances? More generally if the graph is disconnected the jumps would be necessary to reach every vertex.&lt;/p&gt;&#xA;" OwnerUserId="6190" LastEditorUserId="6190" LastEditDate="2011-08-15T17:02:37.350" LastActivityDate="2011-08-15T17:02:37.350" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="7751" PostTypeId="2" ParentId="7748" CreationDate="2011-08-15T16:37:18.027" Score="4" Body="&lt;p&gt;Let $\alpha$ be the probability of clicking through a link and let $1-\alpha$ be the probability of going to a random website. I think you're asking whether PageRank will work with $\alpha=1$. The answer is yes if and only if the network is strongly connected and the induced random walk is aperiodic. I'm not sure what &quot;entirely closed&quot; means.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Setting $\alpha = 1 $ gives intuition for how PageRank works, but there are very good reasons for setting $\alpha &amp;lt; 1$. Namely, we want PageRank (1) to converge in every graph, (2) to converge to the same thing regardless of the initial rank distribution, (3) to converge as quickly as possible. PageRank is just a fancy name for how to set up a particular Markov Chain. For any $\alpha \in [0,1] $ you'll get &lt;em&gt;some&lt;/em&gt; Markov Chain, you just need to make sure that it has properties 1-3.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is the best PageRank survey that I've seen (better than Wikipedia or the original paper) and explains this: &lt;a href=&quot;http://www.ams.org/samplings/feature-column/fcarc-pagerank&quot; rel=&quot;nofollow&quot;&gt;http://www.ams.org/samplings/feature-column/fcarc-pagerank&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit: As per MCH's answer we also want the 4th condition that every vertex has positive rank, which is also ensured by the random surfer model.&lt;/p&gt;&#xA;" OwnerUserId="969" LastEditorUserId="969" LastEditDate="2011-08-15T17:01:40.330" LastActivityDate="2011-08-15T17:01:40.330" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="7752" PostTypeId="1" AcceptedAnswerId="7754" CreationDate="2011-08-15T16:41:57.673" Score="8" ViewCount="151" Body="&lt;p&gt;Though L.Berman proved that the problem of verifying or falsifying any first-order statement about real numbers that uses addition and comparison but not multiplication is in EXPSPACE.  Has it been shown how much time or space you would nee to verify or falsify any first-order statement about real numbers that uses addition comparison AND multiplication?&lt;/p&gt;&#xA;" OwnerUserId="4832" LastEditorUserId="186" LastEditDate="2011-08-15T19:17:23.047" LastActivityDate="2011-08-16T04:52:39.013" Title="Time/Space Requirements of Verifying or Falsifying a First-Order Statement" Tags="&lt;cc.complexity-theory&gt;&lt;lo.logic&gt;&lt;model-theory&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7753" PostTypeId="1" AcceptedAnswerId="7847" CreationDate="2011-08-15T16:43:44.427" Score="27" ViewCount="1826" Body="&lt;p&gt;This is my first question on the cstheory stack, so don't be too rude if I'm violating etiquette somehow ) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;As we know, in mathematics even famous mathematicians, superstars and geniuses are doing serious mistakes time to time. For example, both 4-color theorem and Fermat theorem provide us dramatic cases of how even brightest minds can be deluded. It even can take years to prove the incorrectness of some falsy proofs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is - can you provide some outstanding examples of such mistakes in computer science? I don't know, something like &quot;Dr. X has proved in 1972 that it is impossible to do Y in less than O(log n) time, but in  1995 it turned out that he actually was wrong&quot;.&lt;/p&gt;&#xA;" OwnerUserId="6172" LastEditorUserId="4033" LastEditDate="2011-08-17T19:25:49.067" LastActivityDate="2011-08-21T08:26:38.527" Title="Long-lasting errors in computer science" Tags="&lt;soft-question&gt;&lt;big-list&gt;" AnswerCount="5" CommentCount="10" FavoriteCount="11" CommunityOwnedDate="2011-08-15T18:47:37.923" ContentLicense="CC BY-SA 3.0" />
  <row Id="7754" PostTypeId="2" ParentId="7752" CreationDate="2011-08-15T19:32:47.673" Score="8" Body="&lt;p&gt;The theory of &lt;a href=&quot;http://en.wikipedia.org/wiki/Real_closed_field&quot; rel=&quot;nofollow&quot;&gt;real closed fields&lt;/a&gt; (RCF) is complete for the first order theory of real numbers in the language you described. Therefore it is equivalent to checking if RCF proves the formula.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By &lt;a href=&quot;http://en.wikipedia.org/wiki/Real_closed_field#Model_Theory%3a_decidability_and_quantifier_elimination&quot; rel=&quot;nofollow&quot;&gt;Tarski's quantifier elimination&lt;/a&gt; for RCF this can be computed. Tarski's algorithms complexity is &lt;a href=&quot;http://en.wikipedia.org/wiki/NONELEMENTARY&quot; rel=&quot;nofollow&quot;&gt;non-elementary&lt;/a&gt; and there is a &lt;a href=&quot;http://mathworld.wolfram.com/QuantifierElimination.html&quot; rel=&quot;nofollow&quot;&gt;doubly exponential lowerbound&lt;/a&gt; for the problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A more efficient algorithm than Tarski's algorithm is given by &lt;a href=&quot;http://www.math.purdue.edu/~sbasu/&quot; rel=&quot;nofollow&quot;&gt;Saugata Basu&lt;/a&gt; &quot;&lt;a href=&quot;http://dx.doi.org/10.1109/SFCS.1997.646093&quot; rel=&quot;nofollow&quot;&gt;An Improved Algorithm for Quantifier Elimination Over Real Closed Fields&lt;/a&gt;&quot;, FOCS 1997 (which seems to be almost optimal, see Theorem 1) (a draft of the paper is available &lt;a href=&quot;http://www.math.purdue.edu/~sbasu/focs97.ps&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also check Saugata Basu, &quot;&lt;a href=&quot;http://www.math.purdue.edu/~sbasu/journalacm.ps&quot; rel=&quot;nofollow&quot;&gt;New Results on Quantifier Elimination Over Real Closed Fields and Applications to Constraint Databases&lt;/a&gt;&quot;, Journal of the ACM, 1999. &lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2011-08-16T04:52:39.013" LastActivityDate="2011-08-16T04:52:39.013" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7755" PostTypeId="1" CreationDate="2011-08-15T19:35:12.703" Score="0" ViewCount="230" Body="&lt;p&gt;What are some ways of commutatively combining a pair of lists to produce a list comprised of elements from the pair of inputs, with no duplicates, with time complexity better than $O(n \log(n))$? Suppose we have the following inputs&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$a = [5, 1, 6, 8]$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$b = [8, 4, 5, 2, 10]$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We would like to commutatively combine $a$ and $b$ to produce a list with no duplicate elements (i.e. if F denotes a function that satisfies the aforementioned criteria, then $\forall x, y \quad F(x, y) = F(y, x)$). One possible valid output is $c = [1, 2, 4, 5, 6, 8, 10]$ - since the output doesn't have to be sorted, any permutation of $c$ is just as valid (although consistency would be nice). The most obvious naïve algorithm concatenates the two lists, then removes duplicates, then sorts the result in $O(n \log(n))$ time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a commonly used name for this kind of problem, and where can I find literature about it?&lt;/p&gt;&#xA;" OwnerUserId="6213" LastEditorUserId="6213" LastEditDate="2011-08-17T18:09:49.957" LastActivityDate="2011-08-20T22:39:52.263" Title="Joining lists with some common elements in average case" Tags="&lt;reference-request&gt;&lt;ds.data-structures&gt;" AnswerCount="3" CommentCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="7756" PostTypeId="2" ParentId="7738" CreationDate="2011-08-15T19:38:43.627" Score="5" Body="&lt;p&gt;If I understand your question correctly, it attempts to relate intelligence to reproduction.  The connection between the two goes back to the very beginning of the theory of applied computation.  von Neumann in 1948 envisioned a robot that could duplicate itself completely.  First it assembled all the pieces of the robot.  Then it copied the memory tape that it had itself.  Then it placed the memory tape in the new robot.  However, von Neumann never published this, and it was not until 1966 that Burks fleshed out his notes into a proof, in &lt;a href=&quot;http://cba.mit.edu/events/03.11.ASE/docs/VonNeumann.pdf&quot;&gt;Theory of Self-Reproducing Automata&lt;/a&gt;, that it became public.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This paper was one of the precursors of the field of &lt;a href=&quot;http://en.wikipedia.org/wiki/Artificial_life&quot;&gt;Artificial Life&lt;/a&gt;.  Broad brush, there are two philosophical positions in that field: &quot;strong alife,&quot; and &quot;weak alife.&quot;  Weak alife states that any living process must be chemical in nature.  Strong alife states that a living process can occur in any medium.  (So, for example, software entities could be alive, whatever &quot;alive&quot; means.)  von Neumann was an early believer in strong alife, it appears.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are a great many algorithms that try to produce descendents that are fitter (i.e., more able to solve problems that require some form of &quot;intelligence&quot; to solve), and different algorithms have different metrics of success.  Luc Steels wrote a book on this general subject in 1993: &lt;a href=&quot;http://www.mitpressjournals.org/doi/abs/10.1162/artl.1993.1.1_2.75?journalCode=artl&quot;&gt;The Artificial Life Roots of Artificial Intelligence&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I don't know how to steer you more specifically, but perhaps you will find a vocabulary in those works that will help you ask a more precise question.  Good luck.&lt;/p&gt;&#xA;" OwnerUserId="30" LastActivityDate="2011-08-15T19:38:43.627" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7757" PostTypeId="2" ParentId="7738" CreationDate="2011-08-15T20:00:28.937" Score="-1" Body="&lt;p&gt;I think quantifying computer intelligence by something so unquantifiable as the creativity of its author might prove unfruitful. It is an interesting notion, however. I would perhaps look at how large or complex the language is that the TM accepts. This is much easier to quantify, and it has been shown that there is a 1-1 correspondence to a TM and its language. It follows that if the TM's language is more complex, the machine is more &quot;intelligent&quot;.&lt;/p&gt;&#xA;" OwnerUserId="6139" LastActivityDate="2011-08-15T20:00:28.937" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7759" PostTypeId="5" CreationDate="2011-08-15T23:14:18.403" Score="0" Body="" OwnerUserId="-1" LastEditorUserId="-1" LastEditDate="2011-08-15T23:14:18.403" LastActivityDate="2011-08-15T23:14:18.403" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7760" PostTypeId="4" CreationDate="2011-08-15T23:14:18.403" Score="0" Body="Topology the study of objects that can be continuously deformed into other objects without tearing or making holes in the object. It can also mean a family of sets that have the property of a topological space. The properties are convergence, connectedness, and continuity. " OwnerUserId="5385" LastEditorUserId="5385" LastEditDate="2011-09-05T22:36:44.713" LastActivityDate="2011-09-05T22:36:44.713" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7761" PostTypeId="5" CreationDate="2011-08-15T23:17:07.970" Score="0" Body="" OwnerUserId="-1" LastEditorUserId="-1" LastEditDate="2011-08-15T23:17:07.970" LastActivityDate="2011-08-15T23:17:07.970" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7762" PostTypeId="4" CreationDate="2011-08-15T23:17:07.970" Score="0" Body="Algebraic topology is the study of objects under continuous deformation using tools from abstract algebra such as groups, fields , rings and algebras (a combination of a group and a ring). An example is the Temperley–Lieb algebra to study braids in knot theory." OwnerUserId="5385" LastEditorUserId="5385" LastEditDate="2011-08-16T01:58:05.267" LastActivityDate="2011-08-16T01:58:05.267" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7764" PostTypeId="2" ParentId="7753" CreationDate="2011-08-16T00:16:22.987" Score="8" Body="&lt;p&gt;There have been conjectures that turned out to be false (e.g., constant-distortion embedding of negative type metrics disproved by Khot and Vishnoi), but there's nothing wrong with posing a false conjecture since after all it's a conjecture.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An example of an actual confusion, which didn't last long though, is parallel repetition. It was initially believed that for an interactive protocol with error probability $\epsilon$, the error reduces to $\epsilon^k$ for $k$ parallel repetitions. This claim turned out to be false, and in fact attempts to better understand parallel repetition turned out to open door to a great deal of beautiful mathematics.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's also believed that Feynman had thought it obvious that $\mathsf{P} \neq \mathsf{NP}$ (or maybe that quantum mechanics obviously can't be simulated efficiently by classical computers). But then he wasn't a theoretical computer scientist nor is anybody sure of the accuracy of this story.&lt;/p&gt;&#xA;" OwnerUserId="6190" LastEditorUserId="6190" LastEditDate="2011-08-17T02:15:15.997" LastActivityDate="2011-08-17T02:15:15.997" CommentCount="6" CommunityOwnedDate="2011-08-16T00:16:22.987" ContentLicense="CC BY-SA 3.0" />
  <row Id="7768" PostTypeId="2" ParentId="7755" CreationDate="2011-08-16T03:14:35.053" Score="-1" Body="&lt;pre&gt;&lt;code&gt;def F(a,b):&#xA;    M = max(max(a),max(b))&#xA;    C = BitArray of size M&#xA;    FOR x in a:&#xA;         C[x] = 1&#xA;    FOR y in b:&#xA;         C[y] = 1&#xA;    FOR z in range(0,M):&#xA;        IF C[z] == 1:&#xA;          c.append(z)&#xA;    return c&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Nice qualities:&lt;/strong&gt;  &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;This function is $O(n)$.   &lt;/li&gt;&#xA;&lt;li&gt;It preserves order.    &lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Non-nice qualities:&lt;/strong&gt;  &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;If input is $a = [100000000000], b=[0]$ you will regret using it. &lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;So if numbers in the lists are uniformly and densely distributed between $0$ and $M$ then this will work fine otherwise not using it will be wise. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;But again the complexity is $O(n)$ and this is &lt;em&gt;theoretical&lt;/em&gt; cs website. &lt;/p&gt;&#xA;" OwnerUserId="612" LastEditorUserId="612" LastEditDate="2011-08-16T16:56:17.400" LastActivityDate="2011-08-16T16:56:17.400" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="7769" PostTypeId="2" ParentId="7755" CreationDate="2011-08-16T06:55:28.637" Score="0" Body="&lt;p&gt;I'm not sure I understand the question completely. Do you want an algorithm that, given two sorted sequences each containing no duplicates, outputs a new sorted sequence containing every item in either of the input sequences and also no duplicates?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If so, you can represent the larger sequence as a special type of tree (a &lt;a href=&quot;http://www.cs.au.dk/~gerth/papers/finger05.pdf&quot; rel=&quot;nofollow&quot;&gt;finger tree&lt;/a&gt;), then merge the sequences in  $O(i \lg (k/i))$ merges, where $i$ is the size of the smaller sequence and $k$ is the size of the larger sequence. I think this is asymptotically optimal in the pointer machine model.&lt;/p&gt;&#xA;" OwnerUserId="43" LastActivityDate="2011-08-16T06:55:28.637" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="7771" PostTypeId="1" AcceptedAnswerId="7892" CreationDate="2011-08-16T15:55:05.017" Score="2" ViewCount="246" Body="&lt;p&gt;Given a DAG, which can represent a partial order and has at least one topological sort.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example the graph&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;  &amp;gt;B&#xA; /  \&#xA;A    &amp;gt;D&#xA; \  /&#xA;  &amp;gt;C&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;has two topological sorts &quot;ABCD&quot; and &quot;ACBD&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is the following:&#xA;&lt;em&gt;Is there a name for the following total order sort of sets:&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;code&gt;S:  ( {A} , {B,C} , {D} )&lt;/code&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The inductive definition is similar to constructing a topological sort: &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Put the all the graph minima (nodes with no input edges) in set #i &lt;code&gt;S: ( {A} )&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;Remove the graph minima from the graph.  &lt;code&gt;G:= G \ {A}&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;repeat step 1. with &lt;code&gt;i := i+1&lt;/code&gt; as long as the graph is non-empty&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;I find this in several computer science domains. For example method selection in CLOS (Common Lisp), a parallel scheduler of a DAG where nodes are tasks and edges dependencies, the list of all enabled sets in dataflow or petri-net model executions, etc.  I haven't found a single nomenclature or even a reference for it though.  It sounds simple and pervasive enough to merit one.&lt;/p&gt;&#xA;" OwnerUserId="4691" LastEditorUserId="186" LastEditDate="2011-08-16T16:28:36.667" LastActivityDate="2011-08-20T22:51:26.033" Title="What is a totally ordered sort of sets of a partial order called?" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;graph-algorithms&gt;&lt;terminology&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="7772" PostTypeId="5" CreationDate="2011-08-16T16:13:21.403" Score="0" Body="" OwnerUserId="-1" LastEditorUserId="-1" LastEditDate="2011-08-16T16:13:21.403" LastActivityDate="2011-08-16T16:13:21.403" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7773" PostTypeId="4" CreationDate="2011-08-16T16:13:21.403" Score="0" Body="A tree is a special type of graph which only allows for a hierarchical set of edges similar to a tree . Mathematically it is actually an arborescence. Trees have a root node and children nodes. In formal terms it is described as an acyclic connected graph." OwnerUserId="5385" LastEditorUserId="32711" LastEditDate="2018-10-11T03:31:25.993" LastActivityDate="2018-10-11T03:31:25.993" CommentCount="0" ContentLicense="CC BY-SA 4.0" />
  <row Id="7775" PostTypeId="2" ParentId="7753" CreationDate="2011-08-16T17:14:00.400" Score="10" Body="&lt;p&gt;The Needham-Shroeder public key cryptography protocol, a 5-line protocol, has been shown insecure 17 years after its publication. This is the favorite example of Verification people for doing formal analysis of crypto protocols. &lt;/p&gt;&#xA;" OwnerUserId="36" LastActivityDate="2011-08-16T17:14:00.400" CommentCount="3" CommunityOwnedDate="2011-08-16T17:14:00.400" ContentLicense="CC BY-SA 3.0" />
  <row Id="7776" PostTypeId="1" AcceptedAnswerId="7777" CreationDate="2011-08-16T21:10:46.423" Score="6" ViewCount="375" Body="&lt;p&gt;I'm reading &lt;a href=&quot;http://citeseer.ist.psu.edu/viewdoc/summary?doi=10.1.1.30.8942&quot; rel=&quot;nofollow&quot; title=&quot;Classifying Discrete Temporal Properties&quot;&gt;Thomas Wilke's survey&lt;/a&gt; on the connections between Temporal Logic and finite automata, finite semigroups and first-order logic.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In Theorem 6 (by Kamp), the fragment $\mathrm{TL}[\mathsf{F},\mathsf{P}]$ (Temporal Logic with  modalities $\mathsf{F}$ (eventually) and $\mathsf{P}$ (eventually in the past)) is said to be equivalent to first-order logic with two variables.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;After the statement of the theorem, Wilke mentions another connection from TL to formal languages:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;(...) the languages expressible in $\mathrm{TL}[\mathsf{F},\mathsf{P}]$ are exactly the unambiguous languages in the sense of Schützenberger [13]&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;where [13] cites &lt;a href=&quot;http://www.springerlink.com/content/7484u22371010428/&quot; rel=&quot;nofollow&quot; title=&quot;SpringerLink: pay for this article...&quot;&gt;Sur le produit de concatenation non ambigu&lt;/a&gt;. I can't pay for the paper and I can't find it anywhere else for download. What's more, I can't read French, even though I'd gladly try if I had the paper.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I've searched online for a while but I can't find a definition of &quot;unambiguous in the sense of Schützenberger&quot;, and I guess it's not the same as in an &quot;unambiguous context-free language&quot;, since $\mathrm{TL}[\mathsf{F},\mathsf{P}]$ is strictly less expressive than $\mathrm{TL}$, which is strictly less expressive than regular languages (unless it's the same definition, restricted to regular languages instead of context-free).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does anybody have the definition, the paper, or know of a survey or book with this information?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An additional and related question: is there a (known) restriction to the syntax of regular expressions such that this class of unambiguous language is equivalent to the fragment of regular languages defined by those regular expressions? (as in the equivalence of star-free languages with first-order logic, for example).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks in advance for your help!&lt;/p&gt;&#xA;" OwnerUserId="5396" LastEditorUserId="2367" LastEditDate="2011-08-16T22:28:43.913" LastActivityDate="2015-06-16T22:03:29.947" Title="What is an unambiguous language in the sense of Schützenberger?" Tags="&lt;lo.logic&gt;&lt;algebra&gt;&lt;regular-language&gt;&lt;nondeterminism&gt;&lt;linear-temporal-logic&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7777" PostTypeId="2" ParentId="7776" CreationDate="2011-08-16T21:44:04.547" Score="14" Body="&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Jean Berstel maintains a website with Schützenberger's collected papers. You can access the original paper (in French) &lt;a href=&quot;http://igm.univ-mlv.fr/~berstel/Mps/Travaux/A/1976ProduitConcatenationNonAmbiguSF.pdf&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;A definition of the unambiguous product you are referring to in English is given by Pin in &lt;a href=&quot;http://liafa.jussieu.fr/~jep/PDF/HandBook.pdf&quot; rel=&quot;nofollow&quot;&gt;Syntactic Semigroups&lt;/a&gt;, p.30:&#xA;&quot;The product $L = L_0a_1L_1 \cdots a_nL_n$ is unambiguous if every word $u$ of&#xA;$L$ admits a unique factorization of the form $u_0a_1u_1 \cdots a_nu_n$ with $u_0 \in L_0, \cdots, u_n \in L_n$.&quot; &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;I recommend reading the following &lt;a href=&quot;http://www2.informatik.uni-stuttgart.de/fmi/ti/veroeffentlichungen/pdffiles/DiekertGastinKufleitner2008ijfcs.pdf&quot; rel=&quot;nofollow&quot;&gt;survey by Diekert, Gastin and Kufleitner&lt;/a&gt; for more background information. They refer to the concept of unambiguous product as &quot;unambiguous monomial&quot;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;References:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;J.-E. Pin, Syntactic semigroups, Chap. 10 in Handbook of language theory, Vol. I, G. Rozenberg and A. Salomaa (éd.), Springer Verlag, (1997), 679-746.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Volker Diekert, Paul Gastin, and Manfred Kufleitner. A survey on small fragments of first-order logic over finite words. International Journal of Foundations of Computer Science, 19(3):513-548, June 2008. Special issue DLT 2007.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="2367" LastEditorUserId="20340" LastEditDate="2015-06-16T22:03:29.947" LastActivityDate="2015-06-16T22:03:29.947" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="7778" PostTypeId="2" ParentId="7704" CreationDate="2011-08-17T00:04:15.347" Score="6" Body="&lt;p&gt;The &lt;a href=&quot;http://www.zaik.uni-koeln.de/AFS/publications/dmanet/&quot; rel=&quot;noreferrer&quot;&gt;DMANET&lt;/a&gt; mailing list is one of the major resources I use.  It &quot;spreads information on conferences, workshops, seminars etc. relating to discrete mathematics and algorithms.&quot;  They also sometimes have job postings for positions at the faculty, postdoc, and grad student levels.&lt;/p&gt;&#xA;" OwnerUserId="196" LastActivityDate="2011-08-17T00:04:15.347" CommentCount="3" CommunityOwnedDate="2011-08-17T00:04:15.347" ContentLicense="CC BY-SA 3.0" />
  <row Id="7779" PostTypeId="1" AcceptedAnswerId="7781" CreationDate="2011-08-17T04:06:47.477" Score="10" ViewCount="1366" Body="&lt;blockquote&gt;&#xA;&lt;p&gt;Are there positions for recently graduated bachelor or masters students with a record of research to work as a &lt;strong&gt;researcher&lt;/strong&gt; before committing to their PhD?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;TCS has a culture of post-doc positions for recent PhD graduates to do research before attempting to apply for a faculty position. Is there a similar mechanism in place for Bachelor or Masters students to do research before applying for a Ph.D? In particular, if they have a research record already (say a few published papers). I have heard of such positions, but usually they are through your current or future supervisor. Are there other options in industry or at universities/research-centers that are more formal than these personal connections?&lt;/p&gt;&#xA;&lt;p&gt;The goal of such a position is to work within your field or at an institute you are considering for PhD before committing to it for a longer term.&lt;/p&gt;&#xA;&lt;h3&gt;Related questions:&lt;/h3&gt;&#xA;&lt;p&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/q/14/1037&quot;&gt;What are some career options for someone with a computer scientist master degree?&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/q/5048/1037&quot;&gt;Deciding between different PhD programs&lt;/a&gt;&lt;/p&gt;&#xA;&lt;h3&gt;Edit:&lt;/h3&gt;&#xA;&lt;p&gt;After a number of answers, I'd like to emphasize the interest is in having an analogue to a post-doc in that it is purely (or almost completely) a &lt;strong&gt;research position&lt;/strong&gt;. Programs where you take courses to ready for a PhD application are not interesting, since the goal is not to prepare yourself for a PhD application as much as it is to do research to make sure research is what you want to do for the long term.&lt;/p&gt;&#xA;" OwnerUserId="1037" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2012-02-08T17:41:49.717" Title="Are there pre-doc positions in TCS?" Tags="&lt;soft-question&gt;&lt;advice-request&gt;&lt;career&gt;" AnswerCount="7" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7780" PostTypeId="2" ParentId="7779" CreationDate="2011-08-17T04:25:31.437" Score="2" Body="&lt;p&gt;I did two four-month stints as a research assistant before starting my MSc.  The first was in industry between my third and fourth years as an undergrad.  The second was between my undergrad and MSc at a university with a professor who later became my PhD supervisor.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The two positions were very different.  The first one I got in a pretty straightforward manner through the co-op system at Waterloo.  I did a co-op degree so I did six internships, but this one was the only one that was really research-based.  The second I got by simply emailing a professor out of the blue and asking if I could be a research assistant for the summer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm Canadian, and both positions ended up being funded by &lt;a href=&quot;http://www.nserc-crsng.gc.ca/Students-Etudiants/UG-PC/USRA-BRPC_eng.asp&quot; rel=&quot;nofollow&quot;&gt;the NSERC USRA program&lt;/a&gt;.  I would assume similar programs exist in other countries.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would say if you're interested in trying out an institution, the best thing to do would be to contact some potential supervisors directly.  It might improve your chances if you find out what funding might be available; you can mention these possible funding sources in your email.&lt;/p&gt;&#xA;" OwnerUserId="196" LastActivityDate="2011-08-17T04:25:31.437" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="7781" PostTypeId="2" ParentId="7779" CreationDate="2011-08-17T05:07:45.127" Score="5" Body="&lt;p&gt;My answer only applies to Japan, I don't know about other countries. There is a special position termed &quot;Research Student&quot;. I did that for 6 months before my masters .&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I know that in general any student (foreigner or japanese) can do this. However, it is very common for foreigners to do this before starting the masters or phd program. It gives you adaptation time, and you also start studying the basics of your future research. Most student also start preparing for admissions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;During my time as a research student, I worked as a research assistant for my current advisor in different projects. I also took the time to really study quantum computing, which at that time I had 0 intuition for quantum mechanics. That was perfect for me, before doing any serious stuff.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Q:&lt;/strong&gt; Are research student positions elusively research positions (i.e. no mandatory coursework)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;A:&lt;/strong&gt; There is no mandatory coursework for research students. However, there are a lot of things you can do. In my case, I started directly doing research (mostly learning the basics), prepared myself for admissions, and colaborated in some projects. I also attended group seminars, school seminars, etc. You gain access to all activities in the university. You can also attend classes if you want, but that doesn't count for coursework in the graduate course. Another example is when you come from another university (from anywhere in the world) and you want to learn the tools of the trade in some field. So you talk with a professor, and if he agrees you can spend some time in his group as a research student.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Q:&lt;/strong&gt; Also, are you expected to then stay for a Masters/PhD at the institute where you held the research student position?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;A:&lt;/strong&gt; No, you can change universities if you want. I have a friend that did exactly that. This is a position that doesn't give you a degree nor a diploma or anything, besides the experience.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is very important also to note Okamoto-sensei's comment below. Specially, note that you don't get paid for doing this, unless 1) you have a good scholarship, like &lt;a href=&quot;http://www.mext.go.jp/a_menu/koutou/ryugaku/boshu/1304055.htm&quot; rel=&quot;nofollow&quot;&gt;MEXT's scholarship&lt;/a&gt;; or 2) you get some funds from a company or a professor looking for phd students. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;To give you and idea, I post a couple of links explaining the requirements to be a research student. The first link is from my own university, and the second is from the university of Tokyo:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) &lt;a href=&quot;http://www.naist.jp/en/international_students/prospective_students/admission_information/research_student_applications/index.html&quot; rel=&quot;nofollow&quot;&gt;http://www.naist.jp/en/international_students/prospective_students/admission_information/research_student_applications/index.html&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) &lt;a href=&quot;http://www.s.u-tokyo.ac.jp/en/admission/research-students.html&quot; rel=&quot;nofollow&quot;&gt;http://www.s.u-tokyo.ac.jp/en/admission/research-students.html&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can also find more information here&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.studyjapan.go.jp/en/index.html&quot; rel=&quot;nofollow&quot;&gt;http://www.studyjapan.go.jp/en/index.html&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="135" LastEditorUserId="135" LastEditDate="2011-08-18T06:53:01.977" LastActivityDate="2011-08-18T06:53:01.977" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="7782" PostTypeId="1" CreationDate="2011-08-17T05:41:18.120" Score="4" ViewCount="190" Body="&lt;p&gt;My question refers to the expansion of constant size sets of an expander graph.&#xA;Suppose we are given an expander graph with Cheeger constant $\alpha$.&#xA;What can be said about the edge expansion of sets of size, say 100?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is it true, that the relative expansion of a set, w.r.t. the set size always has a&#xA;decaying profile - so that constant size sets expand much more rapidly than the overall graph expansion?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;While there is nothing to stop constant-size sets from having just poor overall expansion value (equal to the minimal expansion over all sets) by definition, is it possible to show such a property?&lt;/p&gt;&#xA;" OwnerUserId="6238" LastEditorUserId="6238" LastEditDate="2011-08-18T06:43:54.093" LastActivityDate="2011-08-18T06:43:54.093" Title="Expansion of constant-size sets" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;expanders&gt;" AnswerCount="0" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7783" PostTypeId="1" AcceptedAnswerId="7789" CreationDate="2011-08-17T07:05:00.630" Score="2" ViewCount="469" Body="&lt;p&gt;Presume that a program memory only includes the current state for instance of a chess board. Does it need the variable which player, black or white, has the next turn to move or is it redundant recognizing the state?&lt;/p&gt;&#xA;&lt;p&gt;Clearly its redundant during the first moves and then chess has so many combinations that there are combinations that can't guarantee that its deducible from just the state whether white or black has the next move, it needs that variable that wasn't needed during the first moves. How can I know the existence or non-existence of an algorithm in this case to know how the state went from deterministically knowable whether white or black has the next move to a state later in the game where the only possibility appears to keep a side variable to know whether white or black has the next move?&lt;/p&gt;&#xA;&lt;p&gt;Is the logical consequence that I can't find a method to predict something like &amp;quot;making this move must activate a new boolean variable.&amp;quot;&lt;/p&gt;&#xA;&lt;p&gt;I'm trying to answer whether there is a method to know or just practically using the boolean variable blackHasNextMove to also include the information who is next to move for a chess game and there might be no method but in that case how do I prove that there is no method?.&lt;/p&gt;&#xA;&lt;h3&gt;Edit:&lt;/h3&gt;&#xA;&lt;p&gt;I'm asking how to know if changing a state from computable to unknown has an algorithm and I'm very thankful you even brought up the idea of time bounds for a solution using ordo notation.&lt;/p&gt;&#xA;" OwnerUserId="3174" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2011-08-17T16:09:15.977" Title="Can we infer the next player in chess from the current board configuration?" Tags="&lt;ds.algorithms&gt;&lt;co.combinatorics&gt;&lt;proofs&gt;&lt;puzzles&gt;" AnswerCount="2" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="7784" PostTypeId="1" CreationDate="2011-08-17T08:24:08.537" Score="17" ViewCount="880" Body="&lt;h2&gt;Teaser&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;Since the problem is longish, here is a special case that captures its essence.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Problem:&lt;/strong&gt; Let A be a deterministic algorithm for 3-SAT. Is the&#xA;  problem of completely simulating the algorithm A (on every instance of&#xA;  the problem). P-Space hard?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;(More precisely, are there reasons to believe this task is P-Space hard, does something in this direction follow from standard CC conjectures, and is there hope to prove that this task is X-hard for some complexity class X which is presumed to be strictly above NP.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Related questions&lt;/strong&gt;: &lt;a href=&quot;https://cstheory.stackexchange.com/questions/5323/are-pspace-complete-problems-inherently-less-tractable-than-np-complete-probl&quot;&gt;are-pspace-complete-problems-inherently-less-tractable-than-np-complete-problems&lt;/a&gt;;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDITED UPDATE&lt;/strong&gt;: There are various interpretation for &quot;Completely simulating A&quot;. And there may be different interesting answers according to the interpretation. (Also Ryan Williams proposed an interpretation for simulating a non deterministic algorithm.) For a certain way to associate a decision problem to the computational task &quot;Completely simulate A&quot;, Joe Fitzsimons found an algorithm A for which this associated decision problem is still in NP. If &quot;completely simulate&quot; refers to being able to output the entire register of the computer at a given step &lt;span class=&quot;math-container&quot;&gt;$i$&lt;/span&gt; then for Joe's algorithm it seems that &lt;span class=&quot;math-container&quot;&gt;$P^{NP}$&lt;/span&gt; is what is needed. For this version (I think, but am not sure) Ryan's answer sketches a &lt;span class=&quot;math-container&quot;&gt;$P^{NP}$&lt;/span&gt;-hardness argument. Joe remarked that if of you are required to supply the entire registers (which is not any more a decision problem) it is not surprising that you need to step up and the complexity classes are not the same.   &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Anyway, if we require to output the state of the registers at a prescribed step &lt;span class=&quot;math-container&quot;&gt;$i$&lt;/span&gt; then the answers of Ruan and Joe suggests (but again, I am not sure about it) that &lt;span class=&quot;math-container&quot;&gt;$NP^+$&lt;/span&gt; is essentially &lt;span class=&quot;math-container&quot;&gt;$P^{NP}$&lt;/span&gt;. We can speculate that by this interpretation the operation pushes up one step higher in the polynomial hierarchy, and that &lt;span class=&quot;math-container&quot;&gt;$PH^+ =PH$&lt;/span&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In any case by these interpretations the answer to my teaser question is &lt;strong&gt;NO&lt;/strong&gt;.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I had a more drastic interpretation for &quot;completely simulating an algorithm A&quot; in mind. (But perhaps Joe's and Ryan's interpretation is more interesting.) My interpretation by &quot;completely simulating algorithm A&quot; is that you output the state of the registers at &lt;strong&gt;every&lt;/strong&gt; step &lt;span class=&quot;math-container&quot;&gt;$i$&lt;/span&gt;. In particular, if the algorithm is not polynomial your output is also not polynomial. Under this drastic interpretation I wondered if we should believe that for every algorithm A, &lt;span class=&quot;math-container&quot;&gt;$C_A$&lt;/span&gt; is P-SPACE hard, and what can we prove.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Motivation:&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;This question was motivated by a lecture by  Paul Goldberg (&lt;a href=&quot;http://www.cs.huji.ac.il/conferences/agt-semester/iagt2011/slides/goldberg.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;slides&lt;/a&gt;, &lt;a href=&quot;http://www.youtube.com/watch?v=gOCpJRxiduA&quot; rel=&quot;nofollow noreferrer&quot;&gt;video&lt;/a&gt;, &lt;a href=&quot;http://arxiv.org/abs/1006.5352&quot; rel=&quot;nofollow noreferrer&quot;&gt;paper&lt;/a&gt;) describing a paper with Papadimitriou and Savani. They showed that it P-space complete to find any equilibria that are computed by the Lemke-Howson algorithm. The problem to find some equilibrium point is only PPAD-complete. This gap is quite amazing and similar results are described already &#xA;in Papadimitriu's well-known paper: &lt;a href=&quot;http://www.cs.berkeley.edu/~christos/papers/On%20the%20Complexity.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;The Complexity of the Parity Argument and Other Inefficient proofs of Existence (1991)&lt;/a&gt;. (It is known that PPAD-complete problems cannot even be NP-hard (unless terrible things happen so this is far down in the complexity world compared to P-space).&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;What the question is about&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;My question is about similar gaps for even older and more classical computational complexity problems. (Maybe this is already familiar.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a computational problem we can distinguish between three issues:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;a) Solve the problem algorithmically&lt;/p&gt;&#xA;&#xA;&lt;p&gt;b) Reach the same solution as a specific algorithm A&lt;/p&gt;&#xA;&#xA;&lt;p&gt;c) Simulate the entire algorithm A&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course c) is at least as hard as b) which is at least as hard as a). The results mentioned above shows a gap between the computational difficulty of tasks a) and b) for the problem of computing equilibria. We would like to  understand the situation (and mainly the gap between a) and c)) for other computational problems. &lt;/p&gt;&#xA;&#xA;&lt;h2&gt;The question:&lt;/h2&gt;&#xA;&#xA;&lt;h3&gt;The basic form of the question with an example&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;We start with a computational problem, Problem X&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An example can be&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Problem X: Solve an instance of SAT with n variables &lt;/p&gt;&#xA;&#xA;&lt;p&gt;we also specify&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A: an algorithm that performs Problem X&lt;/p&gt;&#xA;&#xA;&lt;p&gt;and we pose a new problem&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Problem Y: Exactly simulate algorithm A&lt;/p&gt;&#xA;&#xA;&lt;p&gt;and we are interested in the computational difficulty of Problem Y. We wish to understand the class of such problems Y for all algorithms A that solve the original Problem X. Especially we want to know how easy can problem Y be (or how hard must it be) if we are allowed to choose the algorithm A at will. &lt;/p&gt;&#xA;&#xA;&lt;h3&gt;The proposed operation on complexity classes&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;Start with a complexity class &lt;span class=&quot;math-container&quot;&gt;$C$&lt;/span&gt; which is described by some computational task. Given an algorithm A to perform every instance of this computational task, consider a new complexity class &lt;span class=&quot;math-container&quot;&gt;$C_A$&lt;/span&gt; which is described by the computational task of completely simulating &lt;span class=&quot;math-container&quot;&gt;$A$&lt;/span&gt;. Then we can (hopefully) define an &quot;ideal&quot; of complexity classes &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$C^+ = \{C_A:$&lt;/span&gt; for all algorithms A}.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we let &lt;span class=&quot;math-container&quot;&gt;$P$&lt;/span&gt; to describe whatever a digital computer can do in polynomial time (so I don't want to restrict attention e.g. to decision problems) then &lt;span class=&quot;math-container&quot;&gt;$P^+$&lt;/span&gt; is the ideal spanned by &lt;span class=&quot;math-container&quot;&gt;$P$&lt;/span&gt; itself.&lt;/p&gt;&#xA;&#xA;&lt;h3&gt;Finally, My Questions&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;My questions are: &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;1) Does the definition make sense (in the wide sense of the word&#xA;  sense). Is it well known or the same as (or similar to) some well&#xA;  known thing. (My formulation was informal and in particular when we&#xA;  move from specific problems like SAT to a complexity class like NP we&#xA;  have to worry about various things that I neglected.)&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The next two questions assume that the definition can make sense or salvaged to make sense.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;2) Suppose we equip ourselves with all the standard conjectures&#xA;  regarding computational complexity. Can we say what &lt;span class=&quot;math-container&quot;&gt;$C^+$&lt;/span&gt; is supposed&#xA;  to be for some familiar complexity classes. (E.g. &lt;span class=&quot;math-container&quot;&gt;$C=NP$&lt;/span&gt;,&#xA;  &lt;span class=&quot;math-container&quot;&gt;$C$&lt;/span&gt;=P-space,..)? EDIT: Several people pointed out that &lt;span class=&quot;math-container&quot;&gt;$PSPACE^+=PSPACE$&lt;/span&gt;. So &gt; we can ask instead what is &lt;span class=&quot;math-container&quot;&gt;$(P^{NP})^+$&lt;/span&gt;? is &lt;span class=&quot;math-container&quot;&gt;$PH^+=PH$&lt;/span&gt;? &lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;Can we guess what are the complexity classes &lt;span class=&quot;math-container&quot;&gt;$C$&lt;/span&gt; so that&#xA;  &lt;span class=&quot;math-container&quot;&gt;$C^+$&lt;/span&gt; is the ideal spanned by &lt;span class=&quot;math-container&quot;&gt;$C$&lt;/span&gt;?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;So the question how easy can the computational task of simulating an algorithm A for 3-SAT (when we can choose the algorithm to make it as easy as possible) is an interesting special case.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;3) Is there hope to actually prove something about this operation?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Of course, if you prove that all complexity classes in &lt;span class=&quot;math-container&quot;&gt;$NP^+$&lt;/span&gt; are P-space hard this will show that &lt;span class=&quot;math-container&quot;&gt;$P=NP$&lt;/span&gt; implies &lt;span class=&quot;math-container&quot;&gt;$P=PSPACE$&lt;/span&gt;, which (I think) would be a huge and highly unexpected result. But if you show that all complexity classes in &lt;span class=&quot;math-container&quot;&gt;$NP^+$&lt;/span&gt; are hard to something say in the third level of the polynomial hierarchy (e.g. &lt;span class=&quot;math-container&quot;&gt;$\Delta_3^{\bf P}$&lt;/span&gt;) this would only imply things that we already know, things that follow from the fact that  &lt;span class=&quot;math-container&quot;&gt;$P=NP$&lt;/span&gt; causes PH to collapse.&lt;/p&gt;&#xA;" OwnerUserId="712" LastEditorUserId="32711" LastEditDate="2020-06-15T08:19:06.177" LastActivityDate="2020-06-15T08:19:06.177" Title="How Hard is Exact Simulation of Algorithms, and a Related Operation on Complexity Classes" Tags="&lt;cc.complexity-theory&gt;&lt;big-picture&gt;&lt;structural-complexity&gt;" AnswerCount="3" CommentCount="30" FavoriteCount="4" ContentLicense="CC BY-SA 4.0" />
  <row Id="7785" PostTypeId="1" CreationDate="2011-08-17T08:25:51.530" Score="4" ViewCount="105" Body="&lt;p&gt;Lately, something I've been interested in is finding the set of forbidden minors for the apex graphs. One thing I tried to do was to look at the graphs which were known, and try to find a pattern in the planar subgraphs that result from deleting two vertices. However, when trying this on the Petersen family, what came out of it didn't look that nice. Luckily, the &lt;a href=&quot;http://en.wikipedia.org/wiki/Y-%CE%94_transform&quot; rel=&quot;nofollow&quot;&gt;$Y-\Delta$&lt;/a&gt; transformations give a simple characterization of the Petersen family as the equivalence class containing, say, $K_6$ under $Y-\Delta$ transformations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;After some preliminary googling, I came across &lt;a href=&quot;http://11011110.livejournal.com/201549.html&quot; rel=&quot;nofollow&quot;&gt;a blog post by David Eppstein&lt;/a&gt; in which he lists a bunch of forbidden minors for apex graphs by carefully attaching copies of $K_5$ and $K_{3,3}$ together. I was hoping to find some more not listed there (besides the trivial disjoint unions of $K_5$ and $K_{3,3}$) using $Y-\Delta$ transformations, but found that sometimes the resulting graphs are apex. Is there any characterization (or just weak conditions) of when apexness is preserved?&lt;/p&gt;&#xA;" OwnerUserId="5721" LastEditorUserId="5721" LastEditDate="2011-08-17T08:32:25.140" LastActivityDate="2011-08-17T08:32:25.140" Title="Are there any conditions for which ($k$-)apexness is preserved under $Y-\Delta$ transformations?" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;" AnswerCount="0" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7786" PostTypeId="1" AcceptedAnswerId="7812" CreationDate="2011-08-17T08:48:59.417" Score="7" ViewCount="495" Body="&lt;p&gt;My question pertains to the problem of translating ideas and insights to the solution (of some problem) into formal notations, thus expressing the answer formally. &#xA;In other words, having a bunch of ideas (pertaining to the solution) and transforming them into a well composed, formal solution is a process which I often find difficult. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It might be because (at times) I am not aware of enough literature in the problem domain and so have the problem of not knowing how to express my ideas. However, I would like to know if this is something that can be improved upon and if so, how?&lt;/p&gt;&#xA;" OwnerUserId="3816" LastEditorUserId="567" LastEditDate="2011-08-21T18:39:47.633" LastActivityDate="2011-08-21T18:39:47.633" Title="How do you go from insights to formal solutions?" Tags="&lt;soft-question&gt;&lt;advice-request&gt;" AnswerCount="3" CommentCount="7" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="7787" PostTypeId="2" ParentId="7783" CreationDate="2011-08-17T12:52:22.290" Score="6" Body="&lt;p&gt;As Stefan points out, the answer is that you cannot infer which player's move it is simply because of the state of the chess board. This is simply down to the fact that it is possible for certain pieces to reach a common position with either an odd or even number of moves. An example of this is advancing a pawn it's initial two steps. However even if you neglect such special moves (along with castling, etc.), the queen, bishops, rooks and king can all move to certain positions in either one or two moves. For a king this is simply the three sides of a triangle, where as for the others this is achieved simply by moving along a permitted line of travel twice (as the net result could have been achieved with a single move). Thus you do need to keep track of whos move it is.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As you ask also about how you could work out the answer to this problem, the key is simply to make the observation that if you could determine whos move it was from the configuration of the board, then each configuration must necessarily be reachable by only either odd or even moves. This then gives you a conjecture which is easy to disprove (in this case by counter example, though there are other approaches which could have been taken). &lt;/p&gt;&#xA;" OwnerUserId="204" LastEditorUserId="204" LastEditDate="2011-08-17T12:57:25.153" LastActivityDate="2011-08-17T12:57:25.153" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7788" PostTypeId="1" AcceptedAnswerId="7795" CreationDate="2011-08-17T13:19:50.047" Score="24" ViewCount="3147" Body="&lt;p&gt;I was wondering what tools that people in this field (theoretical computer science) use to create presentations. Since a great deal of computer science is not just writing papers but also giving presentations I thought that this would be an important soft question. This is inspired by the previous question &lt;a href=&quot;https://cstheory.stackexchange.com/questions/2255/what-tools-do-you-use-to-write-papers&quot;&gt;what tools do you use to write papers&lt;/a&gt;.  The most common that I have seen are as follows.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://bitbucket.org/rivanvx/beamer/wiki/Home&quot; rel=&quot;nofollow noreferrer&quot;&gt;Beamer&lt;/a&gt; &lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Microsoft_PowerPoint&quot; rel=&quot;nofollow noreferrer&quot;&gt;Microsoft PowerPoint&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.latex-project.org/&quot; rel=&quot;nofollow noreferrer&quot;&gt;LaTeX&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.graphviz.org/&quot; rel=&quot;nofollow noreferrer&quot;&gt;GraphViz&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I was wondering if there are any other tricks that I am missing?&lt;/p&gt;&#xA;" OwnerUserId="5385" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2020-05-10T19:38:13.563" Title="What tools do you use to give presentations?" Tags="&lt;soft-question&gt;&lt;research-practice&gt;&lt;writing&gt;" AnswerCount="19" CommentCount="0" FavoriteCount="17" CommunityOwnedDate="2011-08-17T13:52:15.843" ContentLicense="CC BY-SA 3.0" />
  <row Id="7789" PostTypeId="2" ParentId="7783" CreationDate="2011-08-17T13:43:42.737" Score="9" Body="&lt;p&gt;There is, in fact, a subcategory of chess problems, the goal of which is to determine whose turn it is to move in the given position. Examples &lt;a href=&quot;http://anselan.com/tutorial.html&quot;&gt;here&lt;/a&gt;. So while you need the &quot;who moved flag&quot; in general, for all the reasons given above, it seems to me that classification of all types of positions where you &lt;em&gt;don't&lt;/em&gt; need the flag is a genuine research problem. Another question: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a mover-determinable position in chess on an n by n board, what is the complexity of determining who moved? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;So you might want to look at things like that, if you want a theoretical project out of the problem.&lt;/p&gt;&#xA;" OwnerUserId="30" LastActivityDate="2011-08-17T13:43:42.737" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="7790" PostTypeId="2" ParentId="7788" CreationDate="2011-08-17T13:58:04.210" Score="3" Body="&lt;p&gt;What about &lt;a href=&quot;http://www.libreoffice.org/&quot; rel=&quot;nofollow&quot;&gt;LibreOffice&lt;/a&gt;, the &quot;libre&quot; version of Oracle's OpenOffice?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm using that one for all my non-office work (we use MS products at work).&lt;/p&gt;&#xA;" OwnerUserId="823" LastActivityDate="2011-08-17T13:58:04.210" CommentCount="0" CommunityOwnedDate="2011-08-17T13:58:04.210" ContentLicense="CC BY-SA 3.0" />
  <row Id="7791" PostTypeId="2" ParentId="7788" CreationDate="2011-08-17T14:05:32.927" Score="6" Body="&lt;p&gt;Two tools I can mention, and I guess it's an answer to both questions (tools for presentations and tools for papers).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The first is &lt;a href=&quot;http://xfig.org/&quot; rel=&quot;nofollow&quot;&gt;Xfig&lt;/a&gt;, an ugly yet very powerful program for making figures, available for several platforms. I usually include $\LaTeX$ code and export as Combined PS/PDF/LaTeX, which allows me to compile with &lt;code&gt;(xe)latex&lt;/code&gt; or &lt;code&gt;pdflatex&lt;/code&gt; without having to change the input for the figures every time. Others may prefer to write code for their figures, but I've found that Xfig is powerful enough, and making figures is quite fast once you are used to the functionalities and the keyboard shortcuts.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The second is the book &lt;a href=&quot;http://www.treesmapsandtheorems.com/&quot; rel=&quot;nofollow&quot;&gt;Trees, maps and theorems&lt;/a&gt;, by Jean-luc Doumont. It is not a tool to make or give a presentation, but to make or give a good one. I am all for simplicity when it comes to presentations. We all know, or understand, that a slide full of text might not be the best means of communicating a message or a series of messages, but this book goes beyond that kind of basic, &quot;common sense&quot; advice, giving guidelines on how to write comprehensible text in scientific papers (and slides), how to make figures that visually attractive and easy to understand, and even how to structure a document (you'd be surprised when you realize how &quot;primitive&quot; the intro-content-conclusions structure is). I could say more, but I guess it's better if you read some reviews out there.&lt;/p&gt;&#xA;" OwnerUserId="5396" LastActivityDate="2011-08-17T14:05:32.927" CommentCount="5" CommunityOwnedDate="2011-08-17T14:05:32.927" ContentLicense="CC BY-SA 3.0" />
  <row Id="7792" PostTypeId="2" ParentId="7788" CreationDate="2011-08-17T14:07:27.153" Score="10" Body="&lt;p&gt;&lt;a href=&quot;http://www.apple.com/iwork/keynote/&quot;&gt;Keynote&lt;/a&gt; is one of the popular software, though I use PowerPoint&lt;/p&gt;&#xA;" OwnerUserId="3825" LastActivityDate="2011-08-17T14:07:27.153" CommentCount="1" CommunityOwnedDate="2011-08-17T14:07:27.153" ContentLicense="CC BY-SA 3.0" />
  <row Id="7793" PostTypeId="2" ParentId="7788" CreationDate="2011-08-17T14:25:01.837" Score="5" Body="&lt;p&gt;Something that is not well known and used in academia yet is &lt;a href=&quot;http://prezi.com/&quot; rel=&quot;nofollow&quot;&gt;http://prezi.com/&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's a completely online tool to create presentations. Basically it's a cool way to navigate a poster. &#xA;In my opinion it's ideal for short presentations, such as group meetings or rump sessions.&#xA;Unfortunately many features, such as LateX support, are still missing. But it's promising and there are free licenses for students and teachers.&lt;/p&gt;&#xA;" OwnerUserId="1542" LastActivityDate="2011-08-17T14:25:01.837" CommentCount="6" CommunityOwnedDate="2011-08-17T14:25:01.837" ContentLicense="CC BY-SA 3.0" />
  <row Id="7794" PostTypeId="1" CreationDate="2011-08-17T14:56:43.557" Score="1" ViewCount="403" Body="&lt;p&gt;I am referring to the problem in Introduction to Algorithms. I kind of fail to understand the problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;From what I see, I need to sort the x-coordinates of the given set of points and then form a optimal path from the smallest x coordinate to the largest x coordinate.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For eg. (x1,y1) (x2,y2) ...(xn,yn) are sorted points. Isnt the optimal path simply x1,x2,x3,...xn-1,xn,xn-1,...,x3,x2,x1.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What am I missing here? How does dynamic programming come into picture here?&lt;/p&gt;&#xA;" OwnerUserId="6228" LastEditorUserId="186" LastEditDate="2011-08-17T15:50:02.110" LastActivityDate="2011-08-17T15:50:02.110" Title="Cannot understand the problem of Bitonic Euclidean Traveling-Salesman" Tags="&lt;ds.algorithms&gt;&lt;dynamic-programming&gt;" AnswerCount="0" CommentCount="4" ClosedDate="2011-08-17T15:50:10.860" ContentLicense="CC BY-SA 3.0" />
  <row Id="7795" PostTypeId="2" ParentId="7788" CreationDate="2011-08-17T15:15:52.010" Score="12" Body="&lt;p&gt;For drawing diagrams, there's &lt;a href=&quot;http://www.texample.net/tikz/&quot; rel=&quot;nofollow&quot;&gt;tikz&lt;/a&gt; in latex, and, if you have a Mac and a bit of cash, &lt;a href=&quot;http://www.omnigroup.com/products/omnigraffle/&quot; rel=&quot;nofollow&quot;&gt;Omnigraffle&lt;/a&gt;. Both produce high quality diagrams.&lt;/p&gt;&#xA;" OwnerUserId="77" LastEditorUserId="77" LastEditDate="2011-08-25T04:52:30.547" LastActivityDate="2011-08-25T04:52:30.547" CommentCount="7" CommunityOwnedDate="2011-08-17T15:15:52.010" ContentLicense="CC BY-SA 3.0" />
  <row Id="7797" PostTypeId="2" ParentId="7784" CreationDate="2011-08-17T15:24:48.960" Score="3" Body="&lt;p&gt;Very interesting thought! Here's an extended comment that was too long to post as such:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Regarding the definition in (1) &lt;em&gt;as such&lt;/em&gt;, that is:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;Start with a complexity class $C$ which is described by some computational task. Given an algorithm A to perform every instance of this computational task, consider a new complexity class $C_A$ which is described by the computational task of completly simulating $A$. Then we can (hopefully) define an &quot;ideal&quot; of complexity classes: &#xA;&#xA;$C^+ = \{C_A:$ for all algorithms $A\}$.&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I believe you're going to quickly run into an issue with undecidability for &lt;em&gt;non-trivial&lt;/em&gt; membership in $C^+$. In particular, given the description of two TMs $M$ and $M^{\prime}$, it's well-known that deciding whether they accept the same language (i.e. $L(M) \stackrel{?}{=} L(M^{\prime})$ is undecidable in general by reduction from the Halting Problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Further, given &lt;em&gt;the description of a Turing Machine&lt;/em&gt; , there is always a trivial simulation: Just construct a new Turing Machine $M^*$ that calls $M$ as a subroutine (using its description), which accepts if $M$ accepts and rejects if $M$ rejects. This only costs a linear overhead. Specifically, if $M$ runs in $t(n)$ computational steps, then $M^*$ runs in $O(t(n))$ (whereby &quot;run,&quot; I mean &quot;simulates $M$ exactly&quot;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This suggests to me that if there's any serious traction to be gained here, the &lt;em&gt;precise&lt;/em&gt; way you go about making the definition of the ideal of a complexity class is going to be fairly important. In particular, if you intend to show that the ideal of, say, $NP$ is $PSPACE$-hard, you'll have to rule out the notion of a trivial, linear-time simulation of the $NP$ machines in question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;With respect to the homotopy methods described in the talk/paper and GPS's $PSPACE$-completeness result, I believe the &quot;gap&quot; you're witnessing between $PPAD$-completeness and $PSPACE$-hardness is due to the distinction between finding &lt;em&gt;any&lt;/em&gt; NE (in the sense of END OF LINE) and finding a &lt;em&gt;unique&lt;/em&gt; NE given a &lt;em&gt;specific&lt;/em&gt;, initial configuration (in the sense of OTHER END OF LINE).&lt;/p&gt;&#xA;" OwnerUserId="108" LastActivityDate="2011-08-17T15:24:48.960" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="7798" PostTypeId="5" CreationDate="2011-08-17T15:40:48.240" Score="0" Body="&lt;p&gt;This tag should be used for &lt;em&gt;theoretical&lt;/em&gt; question related to computer networks and Internet architecture (falling under to arXiv's &lt;a href=&quot;http://arxiv.org/list/cs.NI/recent&quot; rel=&quot;nofollow&quot;&gt;NI - Networking and Internet Architecture&lt;/a&gt; tag).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The question should satisfy the usual scope requirements for cstheory as explained in the &lt;a href=&quot;http://cstheory.stackexchange.com/faq&quot;&gt;FAQ&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2011-08-17T15:40:48.240" LastActivityDate="2011-08-17T15:40:48.240" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7799" PostTypeId="4" CreationDate="2011-08-17T15:40:48.240" Score="0" Body="Theoretical question related to networking and Internet architecture" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2011-08-17T15:40:48.240" LastActivityDate="2011-08-17T15:40:48.240" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7800" PostTypeId="2" ParentId="7779" CreationDate="2011-08-17T16:06:00.447" Score="2" Body="&lt;p&gt;Formally, such a thing exists and is called a &lt;a href=&quot;http://en.wikipedia.org/wiki/Postbaccalaureate_program&quot; rel=&quot;nofollow&quot;&gt;postbaccalaureate program&lt;/a&gt;.  It is common, for example, before medical school, but one can really do this for anything.   &lt;a href=&quot;http://ce.columbia.edu/About-0&quot; rel=&quot;nofollow&quot;&gt;Some universities&lt;/a&gt; allow students who have already completed their undergraduate degrees to enroll, take some courses, and interact with faculty to prepare themselves and strengthen their applications for graduate school / work / whatever they feel the need to prepare for.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I don't think it's common to do before a CS Ph.D., but I'm sure it happens.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, I'm not sure I understand the point of looking for a &quot;predoc&quot; before starting a PhD program.  A PhD program prepares you to do research; you're not supposed to already know how to do it before starting on a PhD.  Similarly, while a PhD program is a long-term investment, nothing terrible happens if you realize midway through that research isn't for you -- then you can drop out. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It seems to me if you like research, and you think you want to do a PhD, just go for it.  The only reason I see to do a &quot;predoc&quot; is to try to get into a better PhD program than you otherwise could.&lt;/p&gt;&#xA;" OwnerUserId="123" LastEditorUserId="123" LastEditDate="2011-08-17T23:17:11.160" LastActivityDate="2011-08-17T23:17:11.160" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="7801" PostTypeId="2" ParentId="7779" CreationDate="2011-08-17T16:23:12.610" Score="4" Body="&lt;p&gt;EPFL in Switzerland officially had a pre-doc program in CS, which was basically like a short Masters with fewer courses and more research. I don't think they still offer this program. Unofficially, there are research assistantship/internship opportunities for pre-doctoral students here and there. If the institute you're considering for a PhD offers a Masters program, that can be a good opportunity to do research as well.&lt;/p&gt;&#xA;" OwnerUserId="6190" LastActivityDate="2011-08-17T16:23:12.610" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7802" PostTypeId="2" ParentId="7779" CreationDate="2011-08-17T17:52:48.383" Score="0" Body="&lt;p&gt;In the US, at a research level university, a masters program usually fills this role. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Often (but not always), one gets support for the masters doing software or sysadmin'ing for a research group. You are most likely not doing research for the group but are contributing and you attend the research group's meetings. It is somewhat like interning at a company which you hope later hires you. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;How easy it is to move on to a PhD from a masters in this way depends on the institution (sometimes you need to reapply, sometimes there is the implicit option to continue with a PhD in the same department, etc).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As to a post-masters, pre-doctorate position, in the US there's no credentialed, degree-bearing program, but it is possible to get a paid non-student job that is attached to a research group. But that is not a formally recognized thing, though the group you work for may very well make it politically easier to apply successfully to the PhD program that you want.&lt;/p&gt;&#xA;" OwnerUserId="497" LastEditorUserId="497" LastEditDate="2011-08-17T19:25:33.420" LastActivityDate="2011-08-17T19:25:33.420" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="7803" PostTypeId="2" ParentId="7788" CreationDate="2011-08-17T18:45:41.307" Score="3" Body="&lt;p&gt;I use Omnigraffle + LatexIt to generate pdf that I read with preview or that I embed using beamer into a larger presentation.&lt;/p&gt;&#xA;" OwnerUserId="76" LastActivityDate="2011-08-17T18:45:41.307" CommentCount="2" CommunityOwnedDate="2011-08-17T18:45:41.307" ContentLicense="CC BY-SA 3.0" />
  <row Id="7804" PostTypeId="2" ParentId="7779" CreationDate="2011-08-17T18:55:52.727" Score="2" Body="&lt;p&gt;I am not really sure that I understand the question well. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you are asking about a pre-doc student position I guess you can do some kind of research internship before the PhD (maybe as a supplementary year of your master program, or with a hiatus in your curriculum).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But if you ask for a research position without PhD, yes it exists in many countries. I guess this is call research engineer or research officer. You can start a PhD afterwards, or even in the context of this position (it can be an easiest way of finding funding).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Most researchers have a PhD because this is the best way to become a researcher, and probably the only (almost surely) way to enter academia. But the ability to conduct (good) research is not correlated to the fact of having a PhD (this is my opinion ;)).&lt;/p&gt;&#xA;" OwnerUserId="76" LastActivityDate="2011-08-17T18:55:52.727" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="7805" PostTypeId="2" ParentId="7728" CreationDate="2011-08-17T19:57:38.413" Score="4" Body="&lt;p&gt;When the $X_i$ are iid for some distribution with non-negative essential support (&lt;em&gt;i.e.&lt;/em&gt;, the probability of a negative value is zero) and the distribution of $\log(X)$ has a finite variance, then the Central Limit Theorem easily implies that $X^* = \log(X_1 \times \cdots \times X_k)$ approximately has a normal (Gaussian) distribution for sufficiently large $k$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem here is that each $X_i$ has a 50% chance of being negative, precluding (easy) analysis with logarithms.  Nevertheless, only two things can happen (almost surely, after neglecting the zero chance that any of the $X_i$ equals $0$): either an even number of the $X_i$ are negative, in which case the product is positive, or an odd number of the $X_i$ are negative, in which case the product is negative.  Each case has a 50% chance of happening.  Whence, the probability density of the product has two parts (symmetric to each other about 0) and each part looks like the product of draws from a &lt;a href=&quot;http://en.wikipedia.org/wiki/Half-normal_distribution&quot; rel=&quot;nofollow noreferrer&quot;&gt;half-normal distribution&lt;/a&gt;.  A calculation shows that the log of a half-normal distribution has finite variance, allowing us to apply the preceding observation and conclude that for sufficiently large $k$, the distribution of $\log(X^*)$ &lt;em&gt;conditional&lt;/em&gt; on $X^* \gt 0$ is approximately Gaussian and the distribution of $\log(-X^*)$ conditional on $X^* \lt 0$ is exactly the same.  ($X^*$ is an equal mixture of variables $Y$ and $Z$ where $Y$ is approximately lognormal and $-Z$ has the same distribution as $Y$.) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In effect, the distribution of $X^*$ has two pieces: the positive piece is approximately lognormal and the negative piece is its reflection about 0.  This makes it bimodal; all odd moments are $0$; and small even moments can be approximated from the Central Limit Theorem.  In particular, the mean of the positive part of $\log(X^*)$ equals $-(\log(2) + \gamma)k/2$, approximately $-0.635181 k$, and its variance equals $\pi^2 k/8$, approximately $1.2337 k$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Simulations indicate this approximation is good for $k \gt 100$, more or less.  Considerable negative skewness in the distribution of $\log(|X^*|)$ is evident for smaller $k$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/3lF8i.png&quot; alt=&quot;Histogram for k=100&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;This (unnormalized) histogram documents 100,000 independent realizations of $\log(|X^*|)$ with $k=100$.  Very slight negative skewness is still visible, but the general Gaussian shape is apparent, centered as expected around -63.5 with variance 123.3 (standard deviation 11.1).&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is evident from the wide range of highly negative logarithms that an attempt to plot the distribution of $X^*$ itself would be useless: it would show as a unit spike at 0.  If we normalize it, though, a plot is informative.  Specifically, consider the &quot;signed geometric mean&quot; $\text{Sign}(X^*)\exp(\log(|X^*|)/k)$:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/2X6Rq.png&quot; alt=&quot;Histogram of the signed geometric mean&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;This histogram displays the same data as the previous one, but normalized as signed geometric means.  The shape on the right is a lognormal distribution; the shape on the left is its reflection about 0.&lt;/em&gt;&lt;/p&gt;&#xA;" OwnerUserId="564" LastEditorUserId="564" LastEditDate="2011-08-18T20:41:25.413" LastActivityDate="2011-08-18T20:41:25.413" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7806" PostTypeId="2" ParentId="79" CreationDate="2011-08-17T20:08:18.653" Score="10" Body="&lt;p&gt;The gap version of the closest vector in lattice problem is the following: Given a basis for an $n$-dimensional lattice and a vector $v$, distinguish between the two cases where there is a lattice vector at distance at most one $1$ from $v$ or when every lattice vector is $\beta$-far from $v$, for some fixed gap parameter $\beta &amp;gt; 1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;When $\beta = \sqrt{n}$, the problem is in $\mathsf{NP} \cap \mathsf{coNP}$ and thus unlikely to be $\mathsf{NP}$-complete (and is conjectured to be outside $\mathsf{P}$). This case is of central attention for lattice-based cryptography and the related dihedral hidden subgroup problem in quentum computing. When $\beta$ is much smaller, say $\beta = n^{o(1/\log \log n)}$, the problem becomes $\mathsf{NP}$-hard.&lt;/p&gt;&#xA;" OwnerUserId="6190" LastActivityDate="2011-08-17T20:08:18.653" CommentCount="0" CommunityOwnedDate="2011-08-17T20:08:18.653" ContentLicense="CC BY-SA 3.0" />
  <row Id="7811" PostTypeId="2" ParentId="7788" CreationDate="2011-08-17T21:49:02.723" Score="5" Body="&lt;p&gt;Especially in TCS/maths, the good old &lt;em&gt;blackboard&lt;/em&gt; can be of good use for proofs and examples. If there is none available or you have to project or record, try software implementations such as &lt;em&gt;&lt;a href=&quot;http://www.lecturnity.com/en/lecturnity/overview-com/&quot;&gt;Lecturnity&lt;/a&gt;&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the hardware part, get some pointing device as using your hand is bad style. Some people use sticks, others lasers. Note that there are wireless (via USB dongle) gadgets that combine a laser pointer with keys to navigate a slides. I think those are very useful since you do not have to move to your PC for every slide change.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Last but not least, you need a timer/alarm-clock you can easily and inconspicuously read off to check your time.&lt;/p&gt;&#xA;" OwnerUserId="1546" LastActivityDate="2011-08-17T21:49:02.723" CommentCount="2" CommunityOwnedDate="2011-08-17T21:49:02.723" ContentLicense="CC BY-SA 3.0" />
  <row Id="7812" PostTypeId="2" ParentId="7786" CreationDate="2011-08-17T22:22:47.007" Score="12" Body="&lt;p&gt;Transforming intuition into formal argument is difficult, and the degree to which it is viewed as necessary is sociological, and varies by community. In general, arguments tend to be less formal in AI conferences, reasonably formal in the &quot;Theory A&quot; community, and extremely formal (i.e. machine verifiable) in parts of the programming languages &quot;Theory B&quot; community. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Probably the best way to develop this skill is to take rigorous courses that require formal argument on problem sets. You can also just read papers in the community that you would like to publish in, but you have to make sure to actually read the arguments carefully for this to be helpful. i.e. it is easy to read a paper and feel that you understand it, but be unable to reproduce key parts of the argument. A good way to do this is to plan to actually present the paper to a group of friends. If you actually have to present the arguments on a board and answer questions, you will be able to force yourself to really understand. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Do this a few times and you should be able to construct formal arguments of your own. &lt;/p&gt;&#xA;" OwnerUserId="25" LastActivityDate="2011-08-17T22:22:47.007" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7813" PostTypeId="2" ParentId="7779" CreationDate="2011-08-17T22:32:25.937" Score="4" Body="&lt;p&gt;In the US, for current undergraduates, there are plenty of summer programs called &quot;REUs&quot; -- Research Experience for Undergraduates. These are research-only positions, usually paid, for 3 months during the summer. Often times faculty mentors will already have well-defined projects that they want their REU students to work on, since undergraduates are usually not yet fully mature researchers. Often these programs will take a dozen or so students in a summer, and have a formal application process.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For people who have already finished their undergraduate degree, things are much less structured. If you have a particular professor you would like to work with, you can contact them, and in some cases if you convince them you would be interesting to have around, they can support you with grant money. But there tend not to be full research programs for post-bacs of the sort you are describing.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course, something that is very much like you are describing is the PhD program itself! At many schools (e.g. CMU) you can begin on research immediately in your first year, and although PhD programs do have some course requirements, at schools like CMU you are not required to take any of your courses in your first year. So you can always take the first year to explore research, and drop out of the program if you do not. &lt;/p&gt;&#xA;" OwnerUserId="25" LastActivityDate="2011-08-17T22:32:25.937" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7815" PostTypeId="1" AcceptedAnswerId="7867" CreationDate="2011-08-18T01:07:18.880" Score="11" ViewCount="386" Body="&lt;p&gt;What is known about the phase transition in #P-Complete problems? Specifically, does there exists a different phase transition for #DNF-k-SAT and #CNF-k-SAT?&lt;br&gt; &lt;br&gt;Update:&lt;br&gt;&#xA;As we know, there is a phase transition in Random k-SAT where solving the problem goes from being easy to hard and back to easy again. I would like to know if there is such a phenomenon for #P-Complete problems as well. More importantly, if there exists a phase transition, is it same for #CNF-k-SAT and #DNF-k-SAT? &lt;br&gt;&lt;br&gt;I am thinking that there is some type of phase transition for #CNF-k-SAT. On the other hand, I do not think there is phase transition for #DNF-k-SAT and the problem gets harder as we add more clauses....  &lt;/p&gt;&#xA;" OwnerUserId="1590" LastEditorUserId="1590" LastEditDate="2011-08-19T03:00:56.917" LastActivityDate="2011-08-19T19:14:29.317" Title="What do we know about the phase transition of #P-Complete problems?" Tags="&lt;cc.complexity-theory&gt;&lt;counting-complexity&gt;&lt;phase-transition&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7816" PostTypeId="2" ParentId="7786" CreationDate="2011-08-18T01:34:26.327" Score="4" Body="&lt;p&gt;As with many other skills, translating your ideas and insights into formal notation (a.k.a. &quot;writing&quot;) comes more naturally in some people than others. However, as with most skills, you can improve by practicing.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can start by rewriting proofs that you have already read or definitions you already know. Read what you write and ask yourself if you can understand that. If you don't, try again. Keep your language as simple as you can, and try to go to the point (be direct). Also, ask yourself why you can understand certain books or papers more than others, and try to capture and emulate their style or simplicity. Once you can say &quot;this is readable&quot;, check the spelling, grammar, punctuation, repeated words and other details that you can correct or improve to make your text easier for the reader. Then, for a final test, you can ask colleagues/classmates/professors to read some of your writing exercises and to give their opinion on the quality of the writing.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If what you want to write involves many ideas, try to decide which are more general and start with those before going to specifics. An exception might be when a specific notion (some intermediate result, usually technical) is needed before continuing to other results. In books and papers this is sometimes called &quot;lemma&quot; and it comes before a theorem, because you use the lemma in the proof of the theorem (and probably never again).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, I completely disagree with you when you say &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;It might be because (at times)I am not aware of enough literature in the problem domain and so have the problem of expressing my ideas.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Not knowing enough literature is perfectly normal when you are approaching a problem or a topic that is new for you. Problems with expressing ideas have more to do with lack of (or misuse of) vocabulary (not necessarily technical!) or the way you structure scattered thoughts into a hierarchy. Whatever the case, you can improve by reading a lot and writing a lot.&lt;/p&gt;&#xA;" OwnerUserId="5396" LastActivityDate="2011-08-18T01:34:26.327" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7817" PostTypeId="2" ParentId="7788" CreationDate="2011-08-18T03:03:18.513" Score="2" Body="&lt;p&gt;I use &lt;a href=&quot;http://doc.racket-lang.org/slideshow/&quot; rel=&quot;nofollow&quot;&gt;Slideshow&lt;/a&gt;, a programmable slide presentation tool in &lt;a href=&quot;http://racket-lang.org/&quot; rel=&quot;nofollow&quot;&gt;Racket&lt;/a&gt;.  Having a real programming language, not just LaTeX, is a huge win.&lt;/p&gt;&#xA;" OwnerUserId="2185" LastActivityDate="2011-08-18T03:03:18.513" CommentCount="0" CommunityOwnedDate="2011-08-18T03:03:18.513" ContentLicense="CC BY-SA 3.0" />
  <row Id="7818" PostTypeId="2" ParentId="7786" CreationDate="2011-08-18T03:25:52.563" Score="8" Body="&lt;p&gt;One purpose of writing down a solution to a problem in the first place is that it needs to be utterly convincing to your readers.  If you think you have an argument, try writing it down fully, first in whatever language / notation you wish.  Beware of any instances where you tell yourself things like &quot;It is clear that...&quot; or &quot;The following just has to be true.&quot;  Then, ask yourself: does it have any holes in it? Am I hand-waving/cheating anywhere?  Can I fully explain every detail if asked?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you find that your work cannot withstand such questions, then you still have some more to figure out.  For example, I find that I am not completely sure of my proofs until I try writing them down, and sometimes in the process of writing, I discover problems that I wouldn't have imagined.  If I leave writing until last minute, I often find myself in danger.  On the other hand, if you can address every issue, then you can go back and rewrite your work up formally, using the proper notation and language so that your peers will be willing to read your work.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Unfortunately, there are no shortcuts here either.  It takes reading/presenting a lot of papers until you are familiar with the proper style.  One advantage of getting comfortable with writing in proper style is that after a while, you'll be writing proofs &quot;properly&quot; from the first attempt and won't have to do the rewriting step.&lt;/p&gt;&#xA;" OwnerUserId="123" LastActivityDate="2011-08-18T03:25:52.563" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7819" PostTypeId="2" ParentId="7788" CreationDate="2011-08-18T04:02:48.307" Score="1" Body="&lt;p&gt;I don't really recommend this — it's an expensive way to go for what it does, though in my case it came bundled with other software I needed anyway — but I generally use Adobe InDesign to make my slide shows as pdf files, and then use either Adobe Reader or Apple's Preview to present them.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;InDesign is a page layout program: its intended purpose is laying out magazine articles, with the text wrapping around the figures etc, but it's easily adapted to a slide-like format. For me it gives a good balance between WYSIWIG placement of content on the page (I don't want to fight with LaTeX about where exactly the figures and the text are placed in relation to each other) and professional content layout (e.g. proper handling of vector graphics rather than just rasterizing everything, and easy snapping of content to alignment lines rather than having to align things by eye and hope it's close enough).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the images within the slides, I use other software (e.g. Illustrator or Photoshop) and then place the files within InDesign.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What I don't get with this setup is support for mathematical formulas that include anything more complicated than subscripts and superscripts. But I think that in general that sort of thing is best avoided in talk slides anyway.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2011-08-18T04:02:48.307" CommentCount="3" CommunityOwnedDate="2011-08-18T04:02:48.307" ContentLicense="CC BY-SA 3.0" />
  <row Id="7821" PostTypeId="2" ParentId="7788" CreationDate="2011-08-18T04:33:56.603" Score="4" Body="&lt;p&gt;As I mentioned in the comment, Ipe and/or inkscape gives you really nice figures, and doing overlays is almost trivial. You can either make the entire presentation in ipe/inkscape, or make the figures and embed them in beamer+latex. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2011-08-18T04:33:56.603" CommentCount="1" CommunityOwnedDate="2011-08-18T04:33:56.603" ContentLicense="CC BY-SA 3.0" />
  <row Id="7822" PostTypeId="5" CreationDate="2011-08-18T04:36:27.943" Score="0" Body="&lt;p&gt;This tag should be used for &lt;em&gt;theoretical&lt;/em&gt; questions related to Artificial Intelligence  (roughly falling under &lt;a href=&quot;http://arxiv.org/archive/cs&quot; rel=&quot;nofollow&quot;&gt;arXiv&lt;/a&gt;'s &lt;a href=&quot;http://arxiv.org/list/cs.AI/recent&quot; rel=&quot;nofollow&quot;&gt;cs.AI - Artificial Intelligence&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The question &lt;em&gt;must&lt;/em&gt; satisfy the usual scope requirements for cstheory as explained in the &lt;a href=&quot;http://cstheory.stackexchange.com/faq&quot;&gt;FAQ&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You may also want to check AI Q&amp;amp;A site &lt;a href=&quot;http://metaoptimize.com/qa/&quot; rel=&quot;nofollow&quot;&gt;Meta Optimize&lt;/a&gt; which has a more general AI scope.&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2011-08-18T04:36:27.943" LastActivityDate="2011-08-18T04:36:27.943" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7823" PostTypeId="4" CreationDate="2011-08-18T04:36:27.943" Score="0" Body="Theoretical questions about Artificial Intelligence " OwnerUserId="186" LastEditorUserId="186" LastEditDate="2011-08-18T04:36:27.943" LastActivityDate="2011-08-18T04:36:27.943" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7824" PostTypeId="5" CreationDate="2011-08-18T04:39:42.353" Score="0" Body="&lt;p&gt;This tag should be used for &lt;em&gt;theoretical&lt;/em&gt; questions related to Computer Vision (roughly falling under &lt;a href=&quot;http://arxiv.org/archive/cs&quot; rel=&quot;nofollow&quot;&gt;arXiv&lt;/a&gt;'s &lt;a href=&quot;http://arxiv.org/list/cs.CV/recent&quot; rel=&quot;nofollow&quot;&gt;cs.CV - Computer Vision and Pattern Recognition&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The question &lt;em&gt;must&lt;/em&gt; satisfy the usual scope requirements for cstheory as explained in the &lt;a href=&quot;http://cstheory.stackexchange.com/faq&quot;&gt;FAQ&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You may also want to check AI Q&amp;amp;A site &lt;a href=&quot;http://metaoptimize.com/qa/&quot; rel=&quot;nofollow&quot;&gt;Meta Optimize&lt;/a&gt; which has a more general AI scope.&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2011-08-18T04:39:42.353" LastActivityDate="2011-08-18T04:39:42.353" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7825" PostTypeId="4" CreationDate="2011-08-18T04:39:42.353" Score="0" Body="Theoretical questions about Computer Vision" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2011-08-18T04:39:42.353" LastActivityDate="2011-08-18T04:39:42.353" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7826" PostTypeId="5" CreationDate="2011-08-18T04:47:16.663" Score="0" Body="&lt;p&gt;This tag should be used for &lt;em&gt;theoretical&lt;/em&gt; questions related to Distributed Computing (roughly falling under &lt;a href=&quot;http://arxiv.org/archive/cs&quot; rel=&quot;nofollow&quot;&gt;arXiv&lt;/a&gt;'s &lt;a href=&quot;http://arxiv.org/list/cs.DC/recent&quot; rel=&quot;nofollow&quot;&gt;cs.DC - Distributed, Parallel, and Cluster Computing&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The question &lt;em&gt;must&lt;/em&gt; satisfy the usual scope requirements for cstheory as explained in the &lt;a href=&quot;http://cstheory.stackexchange.com/faq&quot;&gt;FAQ&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2011-08-18T04:47:16.663" LastActivityDate="2011-08-18T04:47:16.663" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7827" PostTypeId="4" CreationDate="2011-08-18T04:47:16.663" Score="0" Body="Theoretical questions in Distributed Computing" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2011-08-18T04:47:16.663" LastActivityDate="2011-08-18T04:47:16.663" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7828" PostTypeId="5" CreationDate="2011-08-18T04:50:03.257" Score="0" Body="&lt;p&gt;This tag should be used for &lt;em&gt;theoretical&lt;/em&gt; questions related to Computer Science and Game Theory (roughly falling under &lt;a href=&quot;http://arxiv.org/archive/cs&quot; rel=&quot;nofollow&quot;&gt;arXiv&lt;/a&gt;'s &lt;a href=&quot;http://arxiv.org/list/cs.GT/recent&quot; rel=&quot;nofollow&quot;&gt;cs.GT - Computer Science and Game Theory&lt;/a&gt;) e.g. Algorithmic Game Theory.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The question &lt;em&gt;must&lt;/em&gt; satisfy the usual scope requirements for cstheory as explained in the &lt;a href=&quot;http://cstheory.stackexchange.com/faq&quot;&gt;FAQ&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2011-08-18T04:50:03.257" LastActivityDate="2011-08-18T04:50:03.257" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7829" PostTypeId="4" CreationDate="2011-08-18T04:50:03.257" Score="0" Body="Theoretical question related to Computer Science and Game Theory" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2011-08-18T04:50:03.257" LastActivityDate="2011-08-18T04:50:03.257" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7830" PostTypeId="5" CreationDate="2011-08-18T04:52:09.213" Score="0" Body="&lt;p&gt;This tag should be used for &lt;em&gt;theoretical&lt;/em&gt; questions related to Parallel Computing (roughly falling under &lt;a href=&quot;http://arxiv.org/archive/cs&quot; rel=&quot;nofollow&quot;&gt;arXiv&lt;/a&gt;'s &lt;a href=&quot;http://arxiv.org/list/cs.DC/recent&quot; rel=&quot;nofollow&quot;&gt;cs.DC - Distributed, Parallel, and Cluster Computing&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The question &lt;em&gt;must&lt;/em&gt; satisfy the usual scope requirements for cstheory as explained in the &lt;a href=&quot;http://cstheory.stackexchange.com/faq&quot;&gt;FAQ&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2011-08-18T04:52:09.213" LastActivityDate="2011-08-18T04:52:09.213" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7831" PostTypeId="4" CreationDate="2011-08-18T04:52:09.213" Score="0" Body="Theoretical questions in Parallel Computing" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2011-08-18T04:52:09.213" LastActivityDate="2011-08-18T04:52:09.213" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7832" PostTypeId="5" CreationDate="2011-08-18T04:55:16.853" Score="0" Body="&lt;p&gt;This tag should be used for &lt;em&gt;theoretical&lt;/em&gt; questions related to Distributed Computing (roughly falling under &lt;a href=&quot;http://arxiv.org/archive/cs&quot; rel=&quot;nofollow&quot;&gt;arXiv&lt;/a&gt;'s &lt;a href=&quot;http://arxiv.org/list/cs.IT/recent&quot; rel=&quot;nofollow&quot;&gt;cs.IT - Information Theory&lt;/a&gt;).&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2011-08-18T04:55:16.853" LastActivityDate="2011-08-18T04:55:16.853" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7833" PostTypeId="4" CreationDate="2011-08-18T04:55:16.853" Score="0" Body="Questions in Information Theory" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2011-08-18T04:55:16.853" LastActivityDate="2011-08-18T04:55:16.853" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7834" PostTypeId="5" CreationDate="2011-08-18T04:56:54.340" Score="0" Body="&lt;p&gt;This tag should be used for &lt;em&gt;theoretical&lt;/em&gt; questions related to Databases (roughly falling under &lt;a href=&quot;http://arxiv.org/archive/cs&quot; rel=&quot;nofollow&quot;&gt;arXiv&lt;/a&gt;'s &lt;a href=&quot;http://arxiv.org/list/cs.DB/recent&quot; rel=&quot;nofollow&quot;&gt;cs.DB - Databases&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The question &lt;em&gt;must&lt;/em&gt; satisfy the usual scope requirements for cstheory as explained in the &lt;a href=&quot;http://cstheory.stackexchange.com/faq&quot;&gt;FAQ&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2011-08-18T04:56:54.340" LastActivityDate="2011-08-18T04:56:54.340" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7835" PostTypeId="4" CreationDate="2011-08-18T04:56:54.340" Score="0" Body="Theoretical questions in Databases" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2011-08-18T04:56:54.340" LastActivityDate="2011-08-18T04:56:54.340" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7836" PostTypeId="5" CreationDate="2011-08-18T04:58:41.590" Score="0" Body="&lt;p&gt;This tag should be used for &lt;em&gt;theoretical&lt;/em&gt; questions related to Neural and Evolutionary Computing (roughly falling under &lt;a href=&quot;http://arxiv.org/archive/cs&quot; rel=&quot;nofollow&quot;&gt;arXiv&lt;/a&gt;'s &lt;a href=&quot;http://arxiv.org/list/cs.NE/recent&quot; rel=&quot;nofollow&quot;&gt;cs.NE - Neural and Evolutionary Computing&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The question &lt;em&gt;must&lt;/em&gt; satisfy the usual scope requirements for cstheory as explained in the &lt;a href=&quot;http://cstheory.stackexchange.com/faq&quot;&gt;FAQ&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2011-08-18T04:58:41.590" LastActivityDate="2011-08-18T04:58:41.590" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7837" PostTypeId="4" CreationDate="2011-08-18T04:58:41.590" Score="0" Body="Theoretical questions in  Neural and Evolutionary Computing" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2011-08-18T04:58:41.590" LastActivityDate="2011-08-18T04:58:41.590" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7838" PostTypeId="5" CreationDate="2011-08-18T05:01:41.883" Score="0" Body="&lt;p&gt;This tag should be used for &lt;em&gt;theoretical&lt;/em&gt; questions related to &lt;a href=&quot;http://en.wikipedia.org/wiki/Privacy&quot; rel=&quot;nofollow&quot;&gt;Privacy&lt;/a&gt; (roughly falling under &lt;a href=&quot;http://arxiv.org/archive/cs&quot; rel=&quot;nofollow&quot;&gt;arXiv&lt;/a&gt;'s &lt;a href=&quot;http://arxiv.org/list/cs.CR/recent&quot; rel=&quot;nofollow&quot;&gt;cs.CR - Cryptography and Security&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The question &lt;em&gt;must&lt;/em&gt; satisfy the usual scope requirements for cstheory as explained in the &lt;a href=&quot;http://cstheory.stackexchange.com/faq&quot;&gt;FAQ&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2011-08-18T05:01:41.883" LastActivityDate="2011-08-18T05:01:41.883" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7839" PostTypeId="4" CreationDate="2011-08-18T05:01:41.883" Score="0" Body="Theoretical questions related to Privacy" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2011-08-18T05:01:41.883" LastActivityDate="2011-08-18T05:01:41.883" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7841" PostTypeId="1" AcceptedAnswerId="7896" CreationDate="2011-08-18T09:16:57.603" Score="34" ViewCount="1496" Body="&lt;p&gt;Is there a data structure that takes an unordered array of $n$ items, performs preprocessing in $O(n)$ and answers queries: is there some element $x$ on the list, each query in worst time $O(\log n)$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I really think there isn't, so a proof that there is none is also welcomed.&lt;/p&gt;&#xA;" OwnerUserId="6241" LastEditorUserId="1037" LastEditDate="2011-08-19T03:29:29.573" LastActivityDate="2017-09-19T23:20:29.463" Title="Comparison-based data structure for finding items" Tags="&lt;ds.data-structures&gt;&lt;sorting&gt;" AnswerCount="3" CommentCount="20" FavoriteCount="11" ContentLicense="CC BY-SA 3.0" />
  <row Id="7842" PostTypeId="2" ParentId="2255" CreationDate="2011-08-18T10:18:19.547" Score="2" Body="&lt;p&gt;Curiously enough nobody mentioned &lt;a href=&quot;http://tug.org/PSTricks/main.cgi/&quot; rel=&quot;nofollow&quot;&gt;ps-tricks&lt;/a&gt; I could not live without it! &lt;/p&gt;&#xA;&#xA;&lt;p&gt;With ps-tricks you create code for your own images so that they can be reused in the papers for the conferences, then for the talks, then for the extended version of the journal paper and so on. The rendering is perfect and the final quality is impeccable. There is no trouble when using ps-tricks with LaTeX but when using pdflatex you have to go through a number of workaroundds (see a previous post in the TeX area of the stackexchange under the paragraph &quot;How to use PSTricks in pdfLaTeX?&quot;)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you use Mac OS X (as I do) I do highly recommend a commercial piece of software: Papers&lt;/p&gt;&#xA;&#xA;&lt;p&gt;While it does not allow you to share the documents as Mendeley (already cited) it is wonderful to tag all your files and arrange all the pdf files in your computer. Besides, it offers a handful of services for automatically creating lists of references, searches, etc.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, using SVN is a must to me as well! In addition to the suggestions made in the page pointed to by Suresh Venkat, I do highly recommend having a look at the permissions mechanisms of SVN. One of the most useful features of SVN is that it is feasible to allow different people different sorts of accesses. Since I have a unique svn server for all my papers this feature allows me to cooperate with different co-authors simultaneously just providing them access to specific points of my repository. For more details check out the &lt;a href=&quot;http://svnbook.red-bean.com/&quot; rel=&quot;nofollow&quot;&gt;public O'really manual&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is my very first post here, hope it helps!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Cheers,&lt;/p&gt;&#xA;" OwnerUserId="6242" LastActivityDate="2011-08-18T10:18:19.547" CommentCount="2" CommunityOwnedDate="2011-08-18T10:18:19.547" ContentLicense="CC BY-SA 3.0" />
  <row Id="7844" PostTypeId="1" CreationDate="2011-08-18T11:36:35.460" Score="13" ViewCount="404" Body="&lt;p&gt;Suppose that we have $n$ points in $d$-dimensional Euclidean space $\mathbb{R}^d$.  We wish to solve the standard exact nearest neighbor problem: build a data structure such that on any query $q\in \mathbb{R}^d$, the closest point (in terms of Euclidean distance) is returned.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is the best known query time on this problem in terms of $n$ and $d$ for data structures with near-linear size (or at worst polynomial size)?  Note that solutions requiring space exponential in $d$ are not acceptable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Perhaps I'm missing an obvious reference here, but is there anything of the form $O(2^{O(d)}\mbox{polylog}(n))$, given the space requirements?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For &lt;strong&gt;approximate&lt;/strong&gt; NN, the best bounds are given by results of Arya, Mount, and colleagues.  For slightly different requirements, the best results are given by Andoni-Indyk's Locality Sensitive Hashing.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If the space has a &lt;strong&gt;bounded expansion constant&lt;/strong&gt; $c$ (aka doubling measure), then results of Karger &amp;amp; Ruhl, Clarkson, and several follow-up works (Navigating nets, Cover trees) give a query time of $O(c^{12}\log{n})$ with linear space.  However, a pointset in $\mathbb{R}^d$ does not necessarily have a bounded expansion constant (in terms of $d$).  In particular, the set $\{2^i:\quad i=1,\ldots,n\}$ has $c=O(n)$, despite lying in $\mathbb{R}^1$.  The Assouad (doubling) dimension does not have this problem, but as far as I know, all results based on this dimension are for approximate NN.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Surely this must be known, but the older work on NN (eg by Clarkson or Meiser) generally requires exponential space, and newer work mostly focuses on the approximate NN problem or has some extra requirements on the space.&lt;/p&gt;&#xA;" OwnerUserId="6245" LastEditorUserId="6245" LastEditDate="2011-08-18T14:02:29.390" LastActivityDate="2011-08-20T16:15:11.650" Title="Exact nearest neighbor in $d$-dimensional Euclidean space" Tags="&lt;ds.data-structures&gt;&lt;cg.comp-geom&gt;" AnswerCount="0" CommentCount="4" FavoriteCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="7845" PostTypeId="1" AcceptedAnswerId="7869" CreationDate="2011-08-18T13:05:00.303" Score="8" ViewCount="353" Body="&lt;p&gt;It is known [&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.6.3836&quot; rel=&quot;noreferrer&quot;&gt;de la Vega &amp;amp; Karpinski 2002&lt;/a&gt;] that random instances of MAX-3-SAT on $n$ variables can be approximated up to fraction at least 8/9 w.h.p. tending to 1 as $n$ tends to infinity.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Should one expect this to be close to optimal?&#xA;In fact, is it possible, that random MAX-k-SAT instances can be approximated within any desirable fraction w.h.p.?&#xA;At least on the face of it - this should not contradict the PCP theorem, whose output SAT instances are very construction-specific (Dinur) and are thus sets with negligible probability in this respect.&lt;/p&gt;&#xA;" OwnerUserId="6238" LastEditorUserId="186" LastEditDate="2011-08-19T15:32:03.400" LastActivityDate="2011-08-19T19:16:35.407" Title="Approximating Random MAX-k-SAT" Tags="&lt;ds.algorithms&gt;&lt;sat&gt;&lt;approximation-hardness&gt;&lt;pcp&gt;&lt;random-k-sat&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="7846" PostTypeId="2" ParentId="7433" CreationDate="2011-08-18T13:18:54.603" Score="2" Body="&lt;p&gt;Task/Data parallelism is a simple classification that lies at the algorithm-level of a computation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Flynn's taxonomy describes low-level machine architectures or models.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Trying to draw lines between both completely ignores the vast sea of complexity that lies between those two levels.  Using an example; You can do task, data and pipeline parallelism perfectly on a SISD for example. Stating that you cannot ignores the vast complexity of today's operating systems.&lt;/p&gt;&#xA;" OwnerUserId="4691" LastActivityDate="2011-08-18T13:18:54.603" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7847" PostTypeId="2" ParentId="7753" CreationDate="2011-08-18T13:39:52.063" Score="28" Body="&lt;p&gt;An infamous example in computational geometry is the incorrect proof of the Zone Theorem for hyperplane arrangements published by Edelsbrunner, O'Rourke, and Seidel [FOCS 1983, SICOMP 1986].  The proof also appears in Edelsbrunner's 1987 computational geometry textbook.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Zone Theorem:&lt;/strong&gt; In any arrangement of $n$ hyperplanes in $\mathbb{R}^d$, the total complexity of all cells intersecting any hyperplane is $O(n^{d-1})$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The Zone Theorem is a key step in the proof that the standard recursive incremental algorithm to build an arrangement of $n$ hyperplanes in $\mathbb{R}^d$ runs in $O(n^d)$ time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In 1990, Raimund Seidel discovered that the published proof was incorrect, after being challenged on a subtle technical point by a student in his computational geometry class.  Meanwhile, a &lt;em&gt;huge&lt;/em&gt; literature on hyperplane/halfspace/simplex/semialgebraic range searching had been developed, all of which relied on the $O(n^d)$ construction time for arrangements, which in turn relied on the Zone Theorem.  (None of those authors noticed the bug.  Raimund had taught the published &quot;proof&quot; in detail for several years before he was challenged.) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Fortunately, Edelsbrunner, Seidel, and Sharir almost immediately found a correct (and &lt;em&gt;much&lt;/em&gt; simpler!) proof of the Zone Theorem [New Results and New Trends in CS 1991, SICOMP 1993].&lt;/p&gt;&#xA;" OwnerUserId="111" LastActivityDate="2011-08-18T13:39:52.063" CommentCount="3" CommunityOwnedDate="2011-08-18T13:39:52.063" ContentLicense="CC BY-SA 3.0" />
  <row Id="7848" PostTypeId="2" ParentId="7788" CreationDate="2011-08-18T21:56:06.617" Score="-4" Body="&lt;p&gt;nobody has mentioned &lt;a href=&quot;http://prezi.com/&quot; rel=&quot;nofollow&quot;&gt;http://prezi.com/&lt;/a&gt; - innovative tool for presentation. Yet limited on formulas and other scientific stuff, but you can embed images with your graphs. &lt;/p&gt;&#xA;" OwnerUserId="6255" LastActivityDate="2011-08-18T21:56:06.617" CommentCount="1" CommunityOwnedDate="2011-08-18T21:56:06.617" ContentLicense="CC BY-SA 3.0" />
  <row Id="7849" PostTypeId="1" AcceptedAnswerId="7850" CreationDate="2011-08-18T22:25:05.727" Score="6" ViewCount="2894" Body="&lt;p&gt;I'm using Genetic Algorithm to create a rota for home-care organisation. All the groundwork is complete, I'm getting the results, but results are not as good as expected. &#xA;If I calculate fitness for existing rota made by somebody, I get about £6000 (I measure fitness in money - great point for management). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;When I run my GA, the best I manage to get is £8K after about 30K generations. &#xA;So I know the better solution exists and I'm trying to get better result. &#xA;I have tried different approaches - big population, small population, different number of crossover points, swap-mutation, random-mutation, hill-climber-mutation. &#xA;And nothing improved the results. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The resulting curve looks like this: &#xA;&lt;img src=&quot;https://i.stack.imgur.com/J7VhW.png&quot; alt=&quot;Improvement rate&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I can run GA much longer, but it does not give me any better results - the curve is just flat horizontal to the right.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I figured that I get quite a lot of duplicated individuals in final population. And that slows down the improvement of the solution. &#xA;I learned how to find duplicate individuals. But what do I do with them? I have tried replacing them with randomly created solutions, but usually their fitness is much worse then every body else in the solution space, so they get &quot;killed&quot; quite soon without giving any offsprings or other influence to the solution space. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any ideas/suggestions/papers will be highly appreciated, as I've run out of ideas and research papers and almost no time left. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;UPD:&lt;/strong&gt; some description of the problem: &#xA;There are number of visits(shifts) that are located in different geographical places (distances between locations are known). Currently I work with 700 visits per week with durations from 30 minutes to 5hrs. There are workers with different levels of contractual arrangements: some have 0 contracted hours - relief workers, there are part-timers and full-timers.&#xA;I need to allocated workers for every shift in a best possible manner with this factors in mind:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Minimise travel distance for workers. When they have number of shifts in a day, the locations should be roughly in the same area&lt;/li&gt;&#xA;&lt;li&gt;Workers should not do a lot of overtime hours&lt;/li&gt;&#xA;&lt;li&gt;Workers should not work less than their contract says&lt;/li&gt;&#xA;&lt;li&gt;Workers with 0-contracts should be allocated no or very limited working hours&lt;/li&gt;&#xA;&lt;li&gt;Minimise waiting time between shifts. So no situations when somebody starts one visit at 9am to 10am, and next  visit is at 6pm.&lt;/li&gt;&#xA;&lt;li&gt;There is a limit of total number of hours that can be worked per day&lt;/li&gt;&#xA;&lt;li&gt;There is a minimum of working hours per day: nobody should be deployed for only 30-minute visit and no other visits per day. &lt;/li&gt;&#xA;&lt;li&gt;At least 2 days off allocated for anybody, but can be more&lt;/li&gt;&#xA;&lt;li&gt;At least 2 days off must be adjacent.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;And other minor fitness function adjustments.&#xA;I hope this is sufficient for description.&lt;/p&gt;&#xA;" OwnerUserId="6255" LastEditorUserId="6255" LastEditDate="2011-08-19T09:24:51.447" LastActivityDate="2011-08-19T09:24:51.447" Title="Dealing with duplicates in Genetic Algorithm" Tags="&lt;ne.neural-evol&gt;&lt;scheduling&gt;&lt;genetic-algorithms&gt;" AnswerCount="2" CommentCount="5" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="7850" PostTypeId="2" ParentId="7849" CreationDate="2011-08-18T22:56:47.430" Score="9" Body="&lt;p&gt;What you've hit upon is the basic mechanism that drives GAs -- convergence to some fixed point that you hope is near optimal. In your case, clearly it isn't. So the name of the game is to try and balance this tendency to drive convergence with the competing interest of exploring the space looking for other solutions. There's no silver bullet for this problem -- you always end up tuning things to suit your particular problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In general, there are two ways to do this. One is to delay convergence for longer, thus giving the algorithm more time to find better solutions. You can switch to a weaker selection operator (binary tournament selection for example), you can increase your mutation rate, etc. The other option is to allow the algorithm to converge, but figure out a sensible way to restart the search (as you mentioned, putting random points in tends not to work because their fitness is too low to allow them to survive and contribute to the search).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'll give an example of the latter approach. There is a relatively-little known algorithm called CHC (Eshelman 1991) that tends to work really well for a lot of problems. Unfortunately, one reason it's little-known is that the only way to access the original paper is to buy the printed proceedings of the first FOGA conference, but you can probably find a little bit of information online, hopefully enough to get you started. I can give you something of a quick overview though. In rough pseudocode, CHC looks like&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;delta = k/4               # k = chromosome length&#xA;while not done&#xA;    create new child population&#xA;    for i = 1 to n/2     # n = population size&#xA;        select p1, p2 from population without replacement&#xA;        if hamming_distance(p1, p2) &amp;gt; delta&#xA;            c1, c2 = HUX crossover(p1, p2)&#xA;            insert c1, c2 into child pop&#xA;        end if&#xA;    end for&#xA;    if child pop is empty&#xA;        delta = delta - 1&#xA;    else&#xA;        take best n individuals from union of parent and child populations as next population&#xA;    end if&#xA;    if delta &amp;lt; 0&#xA;        keep one copy of best individual in population&#xA;        generate n-1 new population members by flipping 35% of the bits of the best individual&#xA;        delta = k/4&#xA;    end if&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;The HUX crossover operator is like uniform crossover, but instead of choosing randomly between the parents independently for each bit, it exchanges precisely half the differing bits from the parents. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;You then just keep running this loop until you decide to quit, either because you've found a good enough solution, you've exhausted the amount of time you have to spend on the problem, or whatever other criteria you desire.&lt;/p&gt;&#xA;" OwnerUserId="5832" LastActivityDate="2011-08-18T22:56:47.430" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7851" PostTypeId="1" AcceptedAnswerId="7854" CreationDate="2011-08-18T23:09:28.773" Score="11" ViewCount="848" Body="&lt;p&gt;How does one look at a problem and reason that it is likely NP-Intermediate as opposed to NP-Complete?  It is often pretty simple to look at a problem and tell whether it is likely NP-Complete or not but it appears to me to be much harder to tell whether a problem is NP-Intermediate as the line seems to be quite thin between the two classes.  Basically what I am asking is why would a problem that can be verified in polynomial time (if at all) but not solved in polynomial time (as long as P dosn't equal NP) not be polynomial time reducible to each other.  Also, is there some way to show a problem is NP-Intermediate similar to how a problem is shown to be NP-Hard, such as reduction or some other technique?  Any links or textbooks that would help me understand the class of NP-Intermediate would be appreciated as well.&lt;/p&gt;&#xA;" OwnerUserId="4832" LastEditorUserId="4832" LastEditDate="2011-08-19T02:51:54.440" LastActivityDate="2012-03-09T18:46:46.853" Title="Why are NPI problems not all of the same complexity?" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;np-intermediate&gt;" AnswerCount="3" CommentCount="5" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7852" PostTypeId="5" CreationDate="2011-08-18T23:48:24.547" Score="0" Body="&lt;p&gt;This  tag should be used for questions in &lt;a href=&quot;http://en.wikipedia.org/wiki/Structural_complexity_theory&quot; rel=&quot;nofollow&quot;&gt;Structural Complexity Theory&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2011-08-18T23:48:24.547" LastActivityDate="2011-08-18T23:48:24.547" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7853" PostTypeId="4" CreationDate="2011-08-18T23:48:24.547" Score="0" Body="Structural Complexity Theory" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2011-08-18T23:48:24.547" LastActivityDate="2011-08-18T23:48:24.547" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7854" PostTypeId="2" ParentId="7851" CreationDate="2011-08-19T00:25:39.143" Score="20" Body="&lt;p&gt;You cannot show that a problem is $\mathsf{NPI}$ without separating $\mathsf{P}$ from $\mathsf{NP}$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are artificial problems that can be proven to be in $\mathsf{NPI}$ using &lt;a href=&quot;https://cstheory.stackexchange.com/questions/799/generalized-ladners-theorem/863#863&quot;&gt;generalizations of Lander's theorem&lt;/a&gt; (also see &lt;a href=&quot;https://cstheory.stackexchange.com/questions/7639/is-there-a-pspace-intermediate-language/7640#7640&quot;&gt;this&lt;/a&gt;) &lt;em&gt;assuming&lt;/em&gt; that $\mathsf{NP}\neq\mathsf{P}$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also &lt;a href=&quot;https://cstheory.stackexchange.com/questions/79/problems-between-p-and-npc/237#comment-20503&quot;&gt;padded version of $ \mathsf{NEXP\text{-}complete} $ problems are $\mathsf{NPI}$&lt;/a&gt; assuming $ \mathsf{NEXP} \neq \mathsf{EXP} $ (see also &lt;a href=&quot;https://cstheory.stackexchange.com/questions/79/problems-between-p-and-npc&quot;&gt;this&lt;/a&gt; and &lt;a href=&quot;https://cstheory.stackexchange.com/questions/79/problems-between-p-and-npc/237#comment-19148&quot;&gt;this&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A problem in $\mathsf{NP}$ is often conjectured to be $\mathsf{NPI}$ when:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;we can show under reasonable assumptions that it is not $\mathsf{NPC}$ yet it is not known to be in $\mathsf{P}$,&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;we can show under reasonable assumptions that it is not in $\mathsf{P}$ yet it is not known to be in $\mathsf{NPC}$,&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;and sometime just when we cannot show that it is in $\mathsf{NPC}$ or $\mathsf{P}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An example of a reasonable assumption is the &lt;a href=&quot;http://en.wikipedia.org/wiki/Exponential_time_hypothesis&quot; rel=&quot;nofollow noreferrer&quot;&gt;exponential time hypothesis&lt;/a&gt; (or some of other &lt;a href=&quot;http://en.wikipedia.org/wiki/Computational_hardness_assumption&quot; rel=&quot;nofollow noreferrer&quot;&gt;computational hardness assumptions&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Basically what I am asking is why would a problem that can be satisfied in polynomial time (if at all) but not solved in polynomial time (as long as P doesn't equal NP) not be polynomial time reducible to each other. &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I don't see why one would expect that to be true. But in any case, assuming $\mathsf{NPC}\not \subseteq \mathsf{P}$ it follows from Lander's theorem that there are infinitely many levels of $\mathsf{P}$-degrees between $\mathsf{P}$ and $\mathsf{NP}$.&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2012-03-09T04:06:48.157" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="7855" PostTypeId="2" ParentId="7849" CreationDate="2011-08-19T01:08:13.390" Score="6" Body="&lt;p&gt;The following answer is a shameless self-promotion, but I don't have any other reference. I did some stuff some years ago on how to deal with &quot;premature&quot; local optima in local search algorithms, i.e., when you get stuck too soon in the search. However, this is not a TCS answer, so maybe out of scope for this site.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The paper is this: &lt;a href=&quot;http://wonder2.naist.jp/~villagra-m/maxminsat.pdf&quot;&gt;Ant Colony Optimization with Adaptive Fitness Function for Satisﬁability Testing&lt;/a&gt;. Also check the references.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The idea is to make your fitness landscape to adapt during the search. To do that, you add some weight schemes to the objective function. Then you change the weights according to some rules based on how good or bad your doing. Please consult the paper about how to define these weight schemes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The target problem in the paper was random MAX-SAT, because that problem has a bunch of feasible solutions with the same fitness, and that gives you a lot of plateaus, and in general evolutionary algorithms don't work very well for MAX-SAT. So changing the landscape really helps. However, it should be easy to adapt the weight schemes to different problems.&lt;/p&gt;&#xA;" OwnerUserId="135" LastActivityDate="2011-08-19T01:08:13.390" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7856" PostTypeId="2" ParentId="7851" CreationDate="2011-08-19T02:03:26.030" Score="12" Body="&lt;p&gt;A typical case is when a problem in $\mathsf{NP}$ also lies in $\mathsf{coNP}$ or $\mathsf{coAM}$. Assuming that the polynomial hierarchy does not collapse, such a problem cannot be $\mathsf{NP}$-complete. Examples include integer factorization, discrete logarithm, graph isomorphism, some lattice problems, etc.&lt;/p&gt;&#xA;" OwnerUserId="6190" LastActivityDate="2011-08-19T02:03:26.030" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7857" PostTypeId="1" AcceptedAnswerId="7861" CreationDate="2011-08-19T04:19:06.523" Score="6" ViewCount="292" Body="&lt;p&gt;Given a fixed regular language R, what is the complexity of generating all members of R with length at most $n$?  Suppose some reasonable model (RAM with $n$-bit words?) and a write-only output tape.  The list should be in length-lexicographical order.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm interested in the answer in terms of the output as well as the input.  (If R = Σ* then you can't improve on $O(|\Sigma|^n)$ but it only takes time linear in the output.)&lt;/p&gt;&#xA;" OwnerUserId="962" LastEditorUserId="962" LastEditDate="2011-08-19T15:36:05.037" LastActivityDate="2011-08-19T15:36:05.037" Title="Generating all instances of a regular language up to a certain length" Tags="&lt;ds.algorithms&gt;&lt;co.combinatorics&gt;&lt;fl.formal-languages&gt;&lt;regular-language&gt;" AnswerCount="2" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7860" PostTypeId="2" ParentId="7857" CreationDate="2011-08-19T05:43:41.190" Score="1" Body="&lt;p&gt;Well, you just need to consider the finite automaton corresponding to the language as a directed graph and output the BFS tree of length $n$ starting from the initial state. This algorithm should take linear time in the output length.&lt;/p&gt;&#xA;" OwnerUserId="6190" LastActivityDate="2011-08-19T05:43:41.190" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7861" PostTypeId="2" ParentId="7857" CreationDate="2011-08-19T07:36:37.237" Score="13" Body="&lt;p&gt;There are several recent papers that address your question, e.g.:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Margareta Ackerman and Jeffrey Shallit. Efficient Enumeration of Regular Languages. Conference on Implementation and Application of Automata (CIAA) , Lecture Notes in Computer Science, 4783, Springer-Verlag, Berlin Heidelberg, pp. 226-241, 2007.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Margareta Ackerman and Erkki Makinen. Three New Algorithms for Regular Language Enumeration, Computing and Combinatorics: 15th Annual International Conference (COCOON) , Lecture Notes in Computer Science 5609, Springer-Verlag, Berlin Heidelberg, pp. 178-191, 2009.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can get these two papers from &lt;a href=&quot;http://www.cs.uwaterloo.ca/~mackerma/&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="2367" LastActivityDate="2011-08-19T07:36:37.237" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7862" PostTypeId="1" AcceptedAnswerId="12276" CreationDate="2011-08-19T08:24:15.827" Score="30" ViewCount="1127" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;Given an integer $N$ of length $n$ bits, how hard is it to output the number of prime factors (or alternatively number of factors) of $N$?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;If we knew the prime factorization of $N$, then this would be easy. However, if we knew the number of prime factors, or the number of general factors, it is not clear how we'd find the actual prime factorization.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is this problem studied? Are there known algorithms that solve this question without finding the prime factorization?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This question is motivated by curiosity and partially by a &lt;a href=&quot;https://math.stackexchange.com/q/58426/13668&quot;&gt;math.SE question&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="1037" LastEditorUserId="-1" LastEditDate="2017-04-13T12:19:19.363" LastActivityDate="2012-08-14T03:07:08.953" Title="How hard is it to count the number of factors of an integer?" Tags="&lt;cc.complexity-theory&gt;&lt;counting-complexity&gt;&lt;nt.number-theory&gt;&lt;factoring&gt;" AnswerCount="2" CommentCount="7" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="7863" PostTypeId="2" ParentId="7784" CreationDate="2011-08-19T10:51:48.483" Score="12" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;Problem: Let A be a deterministic algorithm for 3-SAT. Is the problem of completely simulating the algorithm A (on every instance of the problem) P-Space hard?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I don't understand the statement of this problem. But I think there is a natural way to formalize your more general question which may shed a little light on it. Maybe I am completely missing your point, but hopefully you still find something interesting to read here.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;1) Is the definition makes sense (in the wide sense of the word sense). Is it well known or the same as (or similar to) some well known thing. (My formulation was informal and in particular when we move from specific problems like SAT to a complexity class like NP we have to worry about various things that I neglected.)&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;One way to make sense of the task &lt;em&gt;exactly simulate algorithm $Y$&lt;/em&gt; is the following. Let's fix the model to be one-tape Turing machines for simplicity; what I will say can apply to any typical computational model. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For each algorithm $Y$ and input $x$, we can define its &lt;em&gt;computation history&lt;/em&gt; $H_Y(x,i,j)$: Given integers $i$ and $j$ which range from $0$ to the running time of $Y$, $H_Y(x,i,j)$ equals the content of the $j$th cell of the tape of Turing machine $Y$ on input $x$ in time step $i$. (And if the tape head is reading the $j$th cell in the $i$th step, include that too along with the machine's state.) Of course, computation histories come up all the time in complexity theory.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, one could argue that any algorithm which can decide the language &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$C_Y = \{(x,i,j,\sigma)~|~H_Y(x,i,j)=\sigma\}$ &lt;/p&gt;&#xA;&#xA;&lt;p&gt;(or simulate the function $H_Y$ on all inputs) is solving the task &lt;em&gt;exactly simulate algorithm $Y$&lt;/em&gt;, because it has the ability to print every little part of every possible computation of algorithm $Y$. Certainly, given an oracle for $C_Y$ one could do a step-by-step simulation of $Y$.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;2) Suppose we equip ourselves with all the standard conjectures regarding computational complexity. Can we say what C+ is supposed to be for some familiar complexity classes. (E.g. C = NP, C = P-space,..)?&#xA;  Can we guess what are the complexity classes C so that C+ is the ideal spanned by C?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;This is still an interesting question, under the above proposal. For deterministic time classes, nothing changes. $P^+$ is just $P$: we can decide $C_Y$ in polytime, for every polytime algorithm. Similarly $EXP^+ = EXP$. Also $PSPACE^+$ is still $PSPACE$. For nondeterministic time complexity classes, the situation becomes more interesting. In that case, an algorithm $Y$ can have multiple computation histories, so $H_Y$ is no longer well-defined. However we still want to print &lt;em&gt;some&lt;/em&gt; computation history, so our &quot;exact simulation&quot; would have to isolate a specific nondeterministic computation history and then print its values. For an $NP$ algorithm $Y$, one can say that $C_Y \in P^{NP}$: we can use the $NP$ oracle to binary search for the &quot;first&quot; accepting computation history (in lex order), then once we have obtained it, print the relevant bits. For an $NEXP$ algorithm $Y$, one can say $C_Y \in EXP^{NP}$, for similar reasons. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can we put $NP^+$ in a smaller class? I don't know. Notice we cannot simply redefine&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$C_Y = ${$(x,i,j,\sigma)~|~$ there exists a $H_Y$ such that $H_Y(x,i,j)=\sigma$} &lt;/p&gt;&#xA;&#xA;&lt;p&gt;to try to put $C_Y$ in $NP$, because we need the history string to be &lt;em&gt;the same&lt;/em&gt; for all quadruples involving $x$, in order to &quot;exactly simulate algorithm $Y$&quot;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Anyway, this issue of not being able to &quot;print a witness&quot; to an $NEXP$ computation without going to $EXP^{NP}$ does arise in some situations, such as circuit complexity. If $NEXP$ has polynomial size circuits, then is it also the case that $C_Y \in P/poly$ for every nondeterministic $2^{n^k}$ time $Y$? &lt;a href=&quot;http://www.cs.sfu.ca/~kabanets/Research/ikw.html&quot; rel=&quot;nofollow&quot;&gt;Impagliazzo, Kabanets, and Wigderson&lt;/a&gt; answered this question affirmatively in 2001. Their proof is extremely interesting, invoking tools from derandomization and diagonalization (why would derandomization be necessary for such a result?) and it turns out to be a very useful theorem for proving circuit lower bounds for $NEXP$ functions.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there hope to actually prove something about this operation?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Maybe... that depends on whether you are happy with the above formalization of your question. For a deterministic 3-SAT algorithm $Y$, I think the above &lt;em&gt;exact simulation of $Y$&lt;/em&gt; problem would be $P^{NP(1)}$-hard, where $P^{NP(1)}$ is polynomial time with one query to $NP$. (The annoying syntax of StackExchange requires that I write (1) instead of the alternative. Earlier I said $C_Y$ should be $P^{NP}$-hard, but I am not sure of the details: you may see how to generalize the below.) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;We give a polytime many-one reduction from every $L \in P^{NP(1)}$ to $C_Y$. Given such an $L$, let $M$ be a machine recognizing $L$ that does a single $NP$ query. WLOG, that query is a SAT formula. Also WLOG, the SAT query can be &quot;postponed&quot; until the very last step of the computation, in the following sense: there is a polynomial time algorithm $A(x)$ which prints a formula $F$ and bit $b$, such that for all $x$,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$M(x)$ accepts iff $A(x)=(F,b)$ such that ($SAT(F)$ XOR $b$) = 1. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;($M$ may reject iff $F$ is satisfiable, or it may accept; the bit $b$ captures this.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For simplicity, let's say when $Y$ ends its computation, it moves its tape head to cell 1, writes &quot;accept&quot; or &quot;reject&quot; in that cell, and loops forever. Then, asking if $(F,T,1,accept) \in C_Y$ for sufficiently large $T$ will tell us if $F$ is accepted. (In general, we just need that it's efficient to compute the instance $y$ of $C_Y$ which will tell us.) Note this already shows that $C_Y$ is both $NP$-hard and $coNP$-hard; the latter is true because $(F,T,1,reject) \in C_Y$ iff $F$ is &lt;em&gt;not&lt;/em&gt; satisfiable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The final reduction from $L$ to $C_Y$ is: given $x$, run $A(x)$ getting $(F,b)$. If $b=0$ then output $(F,T,1,accept)$, else if $b=1$ output $(F,T,1,reject)$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For every $x$ we are producing (in polynomial time) a $y$ such that $M(x)$ accepts iff $y \in C_Y$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Thanks to Joe for demanding that I be clearer about this part.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But I don't see (for example) how to get $\Sigma_2 P$-hardness. To reduce $\Sigma_2$-SAT to the problem, it would appear you'd need to write a 3-CNF SAT instance $x$ which simulates your deterministic algorithm $Y$ within it (where $Y$ is solving Tautologies on various subproblems). But as $Y$ has no given time bound, that 3-CNF $x$ could be huge, so you don't necessarily get a polynomial-time reduction. Unless I am missing something.&lt;/p&gt;&#xA;" OwnerUserId="225" LastEditorUserId="225" LastEditDate="2011-08-23T20:14:43.310" LastActivityDate="2011-08-23T20:14:43.310" CommentCount="12" ContentLicense="CC BY-SA 3.0" />
  <row Id="7865" PostTypeId="1" AcceptedAnswerId="7899" CreationDate="2011-08-19T14:56:40.673" Score="9" ViewCount="577" Body="&lt;p&gt;&lt;strong&gt;EDITED TO ADD&lt;/strong&gt;: This question is now essentially answered; please see &lt;a href=&quot;http://wp.me/p1mOPD-7y&quot; rel=&quot;nofollow noreferrer&quot;&gt;this blog entry&lt;/a&gt; for more details.  Thanks to everyone who posted comments and answers here.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;ORIGINAL QUESTION&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is a hopefully smarter and better-informed version of a &lt;a href=&quot;https://mathoverflow.net/questions/72776/is-there-an-official-name-for-this-prohibited-word-pattern&quot;&gt;question I asked&lt;/a&gt; on MathOverflow.  When I asked that question, I did not even know the name of the area of mathematics my problem was in.  Now I am pretty sure it lies in Algorithmic Combinatorics on Partial Words.  (Recent book on the subject &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/1420060929&quot; rel=&quot;nofollow noreferrer&quot;&gt;here&lt;/a&gt;.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I want to make a list of words on $l$ letters.  Each word has length exactly $k$.  The deal is, if $a \lozenge ^j b$ is in the list, where $\lozenge$ is a wildcard/don't-care symbol, then $a \lozenge ^j b$ can never appear again in the list.  (The same holds true if $a=b$, or if $j=0$ and hence the prohibited subword is $ab$.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Example where $k=4$ and $l=5$:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$abcd$&lt;br&gt;&#xA;$bdce$&lt;br&gt;&#xA;$dcba$ &amp;lt;-- prohibited because $dc$ appeared in the line above&lt;br&gt;&#xA;$aeed$ &amp;lt;-- prohibited because $a \lozenge \lozenge d$ appeared on the first line&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The literature on &quot;avoidable partial words&quot; that I have found has all been infinitary -- eventually some word pattern is unavoidable if the word size is large enough.  I would like to find finitary versions of such theorems.  So, question:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Given a partial word of form $a \lozenge^j b$ in an alphabet of $l$ letters, how many words of length $k$ avoid it, and can they be explicitly produced in polynomial time?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I don't expect the above question to be difficult, and, unless there is a subtlety I am missing, I could calculate it myself.  The real reason I am posting on this site is because I need to know a lot more about the properties of such word lists for my application, so I am hoping someone can answer the followup question:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Has this been studied in generality?  What are some papers that consider, not just whether a partial word is eventually unavoidable, but &quot;how long it takes&quot; before it becomes unavoidable?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Thanks.&lt;/p&gt;&#xA;" OwnerUserId="30" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.530" LastActivityDate="2011-10-10T14:59:03.160" Title="How many words of length $k$ on $l$ letters avoid a partial word?" Tags="&lt;co.combinatorics&gt;" AnswerCount="3" CommentCount="8" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7866" PostTypeId="1" CreationDate="2011-08-19T16:27:05.370" Score="1" ViewCount="303" Body="&lt;p&gt;My question is about the following paper:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://webdocs.cs.ualberta.ca/~maz/publications/ratliff_nathan_2007_3.pdf&quot; rel=&quot;nofollow&quot;&gt;http://webdocs.cs.ualberta.ca/~maz/publications/ratliff_nathan_2007_3.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In section 2 they show Equation 3 (which is just an optimization problem), which they transform into the optimization problem right before section 3. Everything is very easy to read and self-contained. However, I do not understand how they can tell so easily that the constraints in the convex program are tight (which allows them to transform the program to the one before section 3). Are they relying on some result that they are not saying, or is this a very simple argument coming from optimization?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An edit, following a request to rewrite the question in a self-contained way.&#xA;Let $w \in R^d$ and $y_i \in R^d$ and $A_i$ be a &lt;em&gt;finite&lt;/em&gt; set of vectors in $R^d$.&#xA;Consider the following optimization problem:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\min_{w,\xi} ||w||_2^2 + \sum_i \xi_i$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;under the constraints that $\forall i$ we have $w^T y_i + \xi_i \ge \max_{y \in A_i} \left( w^T y \right)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;why in any solution of this optimization problem, the constraints are tight, so that we can reformulate the optimization problem by replacing $\xi_i$ with $\max_{y \in A_i} \left(w^T y \right) - w^T y_i$ and get rid of the constraints?&lt;/p&gt;&#xA;" OwnerUserId="5902" LastEditorUserId="186" LastEditDate="2011-08-19T20:54:10.463" LastActivityDate="2011-10-18T21:53:49.190" Title="why are the constraints in the following paper tight?" Tags="&lt;ds.algorithms&gt;&lt;optimization&gt;&lt;convex-optimization&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="7867" PostTypeId="2" ParentId="7815" CreationDate="2011-08-19T18:54:32.157" Score="7" Body="&lt;p&gt;For counting independent sets, there is a recent proof for a computational phase transition, by Allan Sly:&#xA;&lt;a href=&quot;http://arxiv.org/abs/1005.5584&quot;&gt;http://arxiv.org/abs/1005.5584&lt;/a&gt;&#xA;(the algorithm is by Dror Weitz from 2006; Allan proved the matching hardness and co-won the best paper award in FOCS'10 for that)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that for random 3SAT and similar problems there is no proof that those problems are indeed hard in the appropriate interval. When you go to the harder counting problems, it becomes easier to prove the hardness.&lt;/p&gt;&#xA;" OwnerUserId="1621" LastEditorUserId="1621" LastEditDate="2011-08-19T19:14:29.317" LastActivityDate="2011-08-19T19:14:29.317" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7869" PostTypeId="2" ParentId="7845" CreationDate="2011-08-19T19:16:35.407" Score="9" Body="&lt;p&gt;Their result is not optimal. First, it was improved upon by Yannet Interian. She obtained a 20/19 approximation (if I recall correctly). See the reference:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Y. Interian. Approximation algorithm for Random MAX-kSAT. Theory and Applications of Satisfiability Testing (SAT 2004), Revised Selected Papers. LNCS 3542, 2005.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Her result has apparently been improved further by &lt;a href=&quot;http://journals.cambridge.org/action/displayAbstract?fromPage=online&amp;amp;aid=8224129&quot;&gt;Fernandez de la Vega and Karpinski&lt;/a&gt; to 1.0957, but I cannot find an online preprint of this paper.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given such a low approximation ratio, I wonder if it is reasonable to conjecture that there is a PTAS.&lt;/p&gt;&#xA;" OwnerUserId="225" LastActivityDate="2011-08-19T19:16:35.407" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="7871" PostTypeId="2" ParentId="7866" CreationDate="2011-08-19T20:02:23.927" Score="2" Body="&lt;p&gt;Well, if any constraint is loose you can just decrease the corresponding $\xi_i$ until the constraint becomes tight, in which case you are only decreasing the objective value and get a better solution.&lt;/p&gt;&#xA;" OwnerUserId="6190" LastActivityDate="2011-08-19T20:02:23.927" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7872" PostTypeId="2" ParentId="7865" CreationDate="2011-08-19T20:41:31.310" Score="0" Body="&lt;p&gt;Updated: this answer is &lt;strong&gt;incorrect&lt;/strong&gt;: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;assuming $j$ is fixed, we can count the number of &lt;em&gt;ways&lt;/em&gt; a pattern $a\lozenge^j b$ can be matched: the first $a$ symbol can be matched at some position $1\leq i\leq k-j-1$, and we have $l^{i-1}$ possibilities before that point, $l^j$ between $a$ and $b$, and $l^{k-j-i-1}$ for the remainder of the string, thus a total of $$\sum_{i=1}^{k-j-1}l^{i-1}\cdot l^{j}\cdot l^{k-j-i-1}=(k-j-1)l^{k-2}$$ cases.  As noted by Tsuyoshi Ito in the comments, this count is &lt;strong&gt;not&lt;/strong&gt; the number of different words matching $a\lozenge^j b$ since a single word could match the same pattern in different ways.  For instance $aa$ is matched three times in $aaaa$, $ab$ two times in $abab$, and $a\lozenge b$ two times in $aabb$.  We can try to count the number of ways of matching patterns several times and exhibit an &quot;inclusion-exclusion&quot; expression, but the ways pattern might overlap makes this too long.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;For the first question, under the understanding that $j$ is not fixed, i.e. that we want to avoid embedding the word $ab$:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;either $a$ the first symbol never appears, which accounts for $(l-1)^k$ possible words,&lt;/li&gt;&#xA;&lt;li&gt;or $a$ appears first in some position $1\leq i\leq k$, then we cannot use $b$ in the remainder of the word: there are $(l-1)^{i-1}$ choices for the factor up to $a$, and $(l-1)^{k-i}$ choices for the remainder, giving in total $\sum_{i=1}^k(l-1)^{i-1}\cdot(l-1)^{k-i}=k(l-1)^{k-1}$ possible words.  Whether $a=b$ is irrelevant.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;For the second question, I don't have much to suggest; there is a relation with word embeddings, but the results I know about &lt;em&gt;bad&lt;/em&gt; sequences for Higman's Lemma do not immediately apply.&lt;/p&gt;&#xA;" OwnerUserId="609" LastEditorUserId="186" LastEditDate="2011-08-24T19:59:45.163" LastActivityDate="2011-08-24T19:59:45.163" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="7875" PostTypeId="1" AcceptedAnswerId="7879" CreationDate="2011-08-20T00:11:47.680" Score="7" ViewCount="994" Body="&lt;p&gt;I have the following problem:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;We are given an instance of the 3-SAT problem.&#xA;Is there a satisfying assignment s.t. at least two literals are satisfied in each clause?&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;The question is:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;Is the problem NP-complete?&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;The question might sound stupid, but I couldn't figure it out by myself.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I searched the web and in books but didn't find anything.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I also tried to reduce 3-SAT to it, but without success.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(I have to admit that I didn't spent much time to do it since it is not my main research focus; this is just a question that came to my mind while working on another problem. I am interested in the answer because if it turns out to be NP-complete it could help me in a future problem.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks in advance for your answers! Every answer or comment is welcome.&lt;/p&gt;&#xA;" OwnerUserId="1657" LastEditorUserId="1800" LastEditDate="2011-08-20T02:40:59.463" LastActivityDate="2011-08-20T17:45:14.667" Title="Not-one 3-SAT; How hard is it?" Tags="&lt;cc.complexity-theory&gt;&lt;sat&gt;" AnswerCount="2" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="7876" PostTypeId="2" ParentId="7784" CreationDate="2011-08-20T01:07:24.373" Score="7" Body="&lt;p&gt;I initially posted an incorrect answer, so hopefully this is an improvement.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm going to start out by considering the 3SAT example. In your comment on Ryan's answer you say&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;I am interesting how hard it is to simulate a deterministic algorithm Y for 3-SAT. And the question is if no matter what Y is this is P-space hard. &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The answer to this is that it is not PSPACE-hard for at least some Y, assuming that NP$\neq$PSPACE, but that there exist other algoriths for which it is PSPACE-hard. Showing the latter is trivial: We simply construct an algorithm which interprets the bit string representing the 3SAT formula instead as a TQBF problem, which it then solves before solving the 3SAT instance. Obviously there is nothing special about TQBF in this case, so the algorithm can be made arbitrarily hard to simulate. So we should only care about lower bounds on simulation of any algorithm for a given problem, rather than a specific algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;With that in mind, we construct the following algorithm to solve 3SAT:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Take a register of $n$ bits (initially all set to 0) to contain a trial solution, together with a register containing the 3SAT instance, a counter register of size $\lceil\log_2 (c + 1)\rceil$ initially set to 1 and and two flag bits (call these the fail flag and the accept flag). Here $c$ is the number of clauses. The algorithm then proceeds as follows:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;If the value of the clause counter $k$ is less than or equal to $c$, and the trial solution is not $111......1$, check whether clause $k$ is satisfied. If not set the fail bit. Increment the counter.&lt;/li&gt;&#xA;&lt;li&gt;If the value of the clause counter $k$ is less than or equal to $c$, and the trial solution is $111......1$, check whether clause $k$ is satisfied. If it is not, set the fail flag. Increment the counter.&lt;/li&gt;&#xA;&lt;li&gt;If $k$ exceeds $c$, and the trial solution is not $111......1$, check if the fail flag is set. If so then increment the trial solution, reset the counter $k$ to 1, and unset the fail flag. If the fail flag was not set, set the accept flag, set the clause counter $k$ to zero, set the trial solution to zero and halt.&lt;/li&gt;&#xA;&lt;li&gt;If $k$ exceeds $c$, and the trial solution is $111......1$, check if the fail flag is set. If the fail flag was not set, set the accept flag. Set the clause counter $k$ to zero, set the trial solution to zero and halt.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;When the algorithm halts, the state of the accept flag tells you whether or not the 3SAT formula can be satisfied.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, if I want to compute the state of the algorithm at time $i$ I have an algorithm to compute this in polynomial time with a single call to an NP oracle as follows: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that for any $i$, assuming the accept bit has not yet been set, the state of the registers can be calculated in polynomial time, since the value of $k$ and the trial solution register $t$ are simply functions of $i$. Determining if the fail flag is set can be done in polynomial time, simply by checking whether the current state of the trial solution register satisfies all clauses less than or equal the current value of $k$. If and only if this not the case, the fail flag is set. The accept flag is set to zero.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Similarly, if the accept bit has already been set, the state of the registers can be efficiently computed, since everything is zero except the accept bit, which is set.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So the only hardness comes in determining whether the accept bit is set. This is equivalent to determining whether the given 3SAT instance has a solution less than $t$. If it does, then the accept bit must necessarily be set, and if it does not, then the accept bit must necessarily be zero. Clearly this problem is itself NP-complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thus the state of the system at step $i$ can be determined by in polynomial time with a single query to an NP oracle.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Important update:&lt;/strong&gt; Initially I had misread Ryan's formulation of exact simulation as a decission problem, and so my claim that the decission version was in NP was incorrect. Given the problem of deciding whether bit $j$ at step $i$ on input $x$ as formulated in Ryans answer, then there are 3 possibilities:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;This bit is constant in independent of whether $F$ is satisfiable. As there are only two possible states for the system at this time (both of which can be computed in P) determining if this is the case, and if so, whether the value is equal to $\sigma$ is in P.&lt;/li&gt;&#xA;&lt;li&gt;The bit is equal to $\sigma$ if $F\in SAT$, and unequal otherwise. This problem is clearly in NP, as the satisfying assignment of $F$ acts as a witness.&lt;/li&gt;&#xA;&lt;li&gt;The bit is equal to $\sigma$ if $F\in UNSAT$ in which case the problem is then in coNP.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Clearly deciding which one of these three is the case can be done in polynomial time, simply by comparing the value that bit takes if $F\in SAT$ and if $F\in UNSAT$. Thus the exact simulation problem is in NP $\cup$ coNP. Thus, as Ryan's lower bound and my upper bound match, assuming both are correct, I think we have an answer: $C_Y = NP\cup coNP$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that there is nothing special about 3SAT in this case, and the same could be done for any problem in NP. Further, the same trick can be used for any non-deterministic complexity class, not just NP, which seem to be the hard ones to simulate. For deterministic classes you can simply run the best algorithm and halt at step $i$. So with this in mind, full simulation of at least some deterministic algorithm for a problem is only as hard as solving the problem itself.&lt;/p&gt;&#xA;" OwnerUserId="204" LastEditorUserId="204" LastEditDate="2011-08-24T08:40:47.070" LastActivityDate="2011-08-24T08:40:47.070" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="7878" PostTypeId="1" AcceptedAnswerId="7890" CreationDate="2011-08-20T08:53:53.877" Score="8" ViewCount="589" Body="&lt;p&gt;Given a graph $G(V,E)$, the classic maximum matching problem is choosing the maximum subset of edges $M$ s.t., for each edge $(u,v) \in M$, $d(u)=d(v)=1$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Has anybody studied the following variant? For each edge $(u,v) \in M$ , $\left( \left(d(u) &amp;lt; c\right) \lor \left(d(v) &amp;lt; c\right) \right)$ holds, where c is a constant. We call this constraint a degree-constraint.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The classic constraint is an conjunction on degree with constant 1. The new variant is an disjunction on degree with constant $c$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem on $c=2$ is already $NP-complete$ as shown by Jukka Suomela. I am interested in the potential approximation algorithms. A simple greedy algorithm is selecting maximum star subgraph iteratively until no star subgraph (i.e., no edge(a special star) ) can be selected. But this algorithm performs bad even when $G$ is a tree when $c=3$. There is a inner star whose center has degree $x$, and there are $x$ outer stars each center has degree $x$ and connected to the center of the inner star. The optimum value is $2*x+(x-2)*(x-1)$ by selecting $x-2$ edges from each of $x-2$ outer stars and 2 complete outer stars. The value produced by the greeedy algorithm is $x+1*x$ by selecting the inner star and one edge from every outer star. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The greedy algorithm above is $2\sqrt{n-1}$ approximation, where $n=|V|$. I want to find better approximation algorithm of this algorithm or prove its hardness of approximation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Furthermore, I want to know the complexity class of this problem in the framework of parameterized complexity. Maybe it bears reasonable fixed parameter algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks a lot for your comment and answer in advance. :-)&lt;/p&gt;&#xA;" OwnerUserId="6108" LastEditorUserId="6108" LastEditDate="2011-08-23T07:27:32.520" LastActivityDate="2011-08-23T07:27:32.520" Title="An interesting variant of maximum matching problem" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;co.combinatorics&gt;" AnswerCount="1" CommentCount="9" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="7879" PostTypeId="2" ParentId="7875" CreationDate="2011-08-20T09:03:03.623" Score="22" Body="&lt;p&gt;At least two of the literals $x$, $y$, $z$ are satisfied iff at least one literal in each pair $(x,y)$, $(x,z)$, $(y,z)$ is satisfied. Therefore it is a special case of &lt;a href=&quot;http://en.wikipedia.org/wiki/2-satisfiability&quot;&gt;2SAT&lt;/a&gt;, and there is a polynomial-time algorithm for solving it.&lt;/p&gt;&#xA;" OwnerUserId="74" LastActivityDate="2011-08-20T09:03:03.623" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="7881" PostTypeId="2" ParentId="7504" CreationDate="2011-08-20T10:12:53.043" Score="2" Body="&lt;p&gt;The formal definitions of the applicative order reduction and the normal order reduction are given, in particular, in the monograph by Barendregt (The Lambda Calculus: Its Syntax and Semantics).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Specifically, the normal strategy is described as that choosing the leftmost redex. The leftmost redex is in turn described as such a $\beta$-redex $(\lambda x.M)\; N$ whose $\lambda$ symbol is on the left of any other redex' $\lambda$ symbol. For instance, in the following expression the normal strategy is to choose the whole expression for $\beta$-reduction:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xD;&#xA;(\lambda x.(\lambda y.x)\; z)\; (\lambda x.x).&#xD;&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;When lambda expressions are represented using graphs, the same strategy is sometimes called leftmost-outermost strategy.&lt;/p&gt;&#xA;" OwnerDisplayName="user5456" LastActivityDate="2011-08-20T10:12:53.043" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7882" PostTypeId="1" CreationDate="2011-08-20T12:36:38.930" Score="-6" ViewCount="374" Body="&lt;p&gt;What is the relation between BQP complexity class and P and NP?&lt;/p&gt;&#xA;" OwnerUserId="6223" LastEditorUserId="186" LastEditDate="2011-08-20T17:50:58.807" LastActivityDate="2011-08-21T03:55:58.110" Title="Quantum complexity class vs classical complexity class" Tags="&lt;cc.complexity-theory&gt;&lt;quantum-computing&gt;" AnswerCount="1" CommentCount="13" ClosedDate="2012-11-25T18:07:31.923" ContentLicense="CC BY-SA 3.0" />
  <row Id="7883" PostTypeId="2" ParentId="7882" CreationDate="2011-08-20T14:19:05.943" Score="4" Body="&lt;p&gt;P is contained within BQP. This is trivial, since quantum operations are a superset of classical operations. Indeed, BQP contains BPP as well, since you can use Hadamards to produce randomness in the computational basis.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Much less trivial is the relationship between NP and BQP. At present, the consensus opinion seems to be that neither entirely contains the other, though clearly both contain P, and certain problems believed to be NP-intermediate like factoring integers, so their intersection is itself non-trivial. There are oracles relative to which BQP is not contained within NP (via recursive Fourier sampling for example), and conversely oracles relative to which NP is not contained within BQP (this is true with probability 1 relative to a random oracle, see &lt;a href=&quot;http://arxiv.org/abs/quant-ph/9701001&quot; rel=&quot;nofollow&quot;&gt;quant-ph/9701001&lt;/a&gt;). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;We do know that BQP is contained within PP, but there is strong evidence that it is not contained within the polynomial hierarchy at all (see Scott Aaronson's paper on &lt;a href=&quot;http://www.scottaaronson.com/papers/bqpph.pdf&quot; rel=&quot;nofollow&quot;&gt;BQP and the polynomial hierarchy&lt;/a&gt; for example).&lt;/p&gt;&#xA;" OwnerUserId="204" LastEditorUserId="204" LastEditDate="2011-08-21T03:55:58.110" LastActivityDate="2011-08-21T03:55:58.110" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="7885" PostTypeId="2" ParentId="7875" CreationDate="2011-08-20T16:45:59.183" Score="5" Body="&lt;p&gt;This problem is sometimes called CSP(Maj), and is a constraint satisfaction problem where each constraint is a Majority predicate on 3 variables. The problem is in P, as a special case of the following result:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;T. Schaefer. The complexity of satisability problems. In Conference record of the Tenth&#xA;annual ACM Symposium on Theory of Computing, pages 216--226, 1978.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, PCP theory shows that the optimization version of the problem Max-CSP(Maj) is inapproximable within some constant factor.&lt;/p&gt;&#xA;" OwnerUserId="6190" LastEditorUserId="6190" LastEditDate="2011-08-20T17:45:14.667" LastActivityDate="2011-08-20T17:45:14.667" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7886" PostTypeId="2" ParentId="7753" CreationDate="2011-08-20T17:11:45.130" Score="9" Body="&lt;p&gt;&lt;a href=&quot;http://rjlipton.wordpress.com/2011/08/18/math-is-like-the-stock-market/&quot;&gt;Dick Lipton has a new post out&lt;/a&gt; on the non-monotonicity of mathematical knowledge, and in it he documents examples of claims made that turned out to be false, or at least needed fixing. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2011-08-20T17:11:45.130" CommentCount="0" CommunityOwnedDate="2011-08-20T17:11:45.130" ContentLicense="CC BY-SA 3.0" />
  <row Id="7888" PostTypeId="1" CreationDate="2011-08-20T20:18:09.497" Score="4" ViewCount="172" Body="&lt;p&gt;I'm looking for an algorithm that computes the Voronoi regions of a set of points contained in a polygonal region with obstacles.  What would be the most simple, straightforward way to implement this?  For each region, I need an explicit description of the boundary, that is, the union of line segments and hyperbolic arcs that compose it.  I'm aware that there are fast algorithms for this problem in the sense of running time (e.g. &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=161156&quot; rel=&quot;nofollow&quot;&gt;http://dl.acm.org/citation.cfm?id=161156&lt;/a&gt; ) but I'm more interested in one that's easy to implement.  To be honest, I'm not even sure how to find an easy algorithm for finding the shortest path map for this problem.&lt;/p&gt;&#xA;" OwnerUserId="6275" LastEditorUserId="80" LastEditDate="2011-08-20T20:54:22.120" LastActivityDate="2011-08-20T20:54:22.120" Title="Implementable algorithm for Voronoi regions with obstacles" Tags="&lt;cg.comp-geom&gt;&lt;implementation&gt;" AnswerCount="0" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="7890" PostTypeId="2" ParentId="7878" CreationDate="2011-08-20T22:26:51.430" Score="8" Body="&lt;p&gt;(As it seems that the connection is not completely obvious, I will write an extended version of the above comments as an answer.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I will focus on the case of $c = 2$. In that case, the problem can be rephrased as follows:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Let $G = (V,E)$ be a graph. The task is to find a maximum-size $M \subseteq E$ such that the following constraint is satisfied: for each $\{u,v\} \in M$, either $u$ is incident to at most $1$ edge in $M$, or $v$ is incident to at most $1$ edge in $M$, or both.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Equivalently:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The subgraph induced by $M$ has to have the property that all neighbours of a non-leaf node (degree &gt; 1) are leaf nodes (degree = 1).&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Equivalently:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The subgraph induced by $M$ consists of node-disjoint stars. &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;In what follows I will interpret unmatched nodes (nodes not incident to any edge in $M$) as stars with 0 edges. Hence a feasible solution &lt;em&gt;partitions&lt;/em&gt; the set of nodes into node-disjoint stars.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now if the number of such stars is $k$, then the number of edges in $M$ is exactly $n-k$: there are $n-k$ leaf nodes that are connected to a star center. Therefore maximising the number of edges in $M$ is equivalent to minimising then number of stars.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now it is straightforward to see that we have a solution with $k$ such stars iff we have a dominating set of size $k$:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Assume that we are given $k$ such stars. Then we can find a dominating set of size $k$: simply take the centers of the stars (in a star with 1 edge you can pick a node arbitrarily).&lt;/li&gt;&#xA;&lt;li&gt;Assume that we are given a dominating set $D$ with $|D| = k$. Then we can simply connect each node in $V \setminus D$ to one node in $D$. These edges form a family of $k$ stars.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Therefore solving the problem optimally in a certain graph family $F$ is exactly as hard as finding a &lt;a href=&quot;http://www.nada.kth.se/~viggo/wwwcompendium/node11.html&quot;&gt;minimum dominating set&lt;/a&gt; in the same graph family $F$. In particular, the problem is NP-hard even in the case of bipartite graphs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(However, (in)approximability results related to dominating sets cannot be directly applied here. In essence, we have changed the objective function from $\min |D|$ to $\max n-|D|$.)&lt;/p&gt;&#xA;" OwnerUserId="74" LastEditorUserId="74" LastEditDate="2011-08-20T22:46:45.573" LastActivityDate="2011-08-20T22:46:45.573" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="7891" PostTypeId="2" ParentId="7755" CreationDate="2011-08-20T22:39:52.263" Score="4" Body="&lt;p&gt;Yes and no.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Set interaction is one of the problems specifically studied in Ben-Or's seminal paper on lower bounds for algebraic decision and computation trees.  The problem is formally defined as follows: Given two sets of n numbers, is their intersection empty? Equivelently, does their union have exactly 2n elements?  Ben-or proves a lower bound of Ω(n log n) for this problem.  If the sets have diffent sizes n&gt;m, the lower bound becomes Ω(n log m), but this only beats the naive O(n log n) bound if m is subpolynomial in n.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, if your list elements are integers, you can solve the problem in o(n log n) time using fast integer-RAM sorting algorithms.  For reasonable word sizes, I believe the fastest integer sorting algorithm runs in $O(n \sqrt{\log \log n})$ expected time [Han and Thorup, FOCS 2002].&lt;/p&gt;&#xA;" OwnerUserId="111" LastActivityDate="2011-08-20T22:39:52.263" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7892" PostTypeId="2" ParentId="7771" CreationDate="2011-08-20T22:51:26.033" Score="7" Body="&lt;p&gt;In the context of geometric dominance orders, the standard term is &quot;layers of maxima&quot; (in your case, minima). Obviously, the same term can be used for any partial order.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://dx.doi.org/10.1007/11785293_34&quot; rel=&quot;nofollow&quot;&gt;http://dx.doi.org/10.1007/11785293_34&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://dx.doi.org/10.1007/s00453-004-1082-5&quot; rel=&quot;nofollow&quot;&gt;http://dx.doi.org/10.1007/s00453-004-1082-5&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="2869" LastActivityDate="2011-08-20T22:51:26.033" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7893" PostTypeId="2" ParentId="7753" CreationDate="2011-08-21T03:23:09.320" Score="7" Body="&lt;p&gt;&quot;I was shocked to learn that the binary search program that Bentley proved correct and subsequently tested in Chapter 5 of Programming Pearls contains a bug. Once I tell you what it is, you will understand why it escaped detection for two decades. Lest you think I'm picking on Bentley, let me tell you how I discovered the bug: The version of binary search that I wrote for the JDK contained the same bug. It was reported to Sun recently when it broke someone's program, after lying in wait for nine years or so.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;--&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Joshua Bloch&#xA;&lt;a href=&quot;http://googleresearch.blogspot.com/2006/06/extra-extra-read-all-about-it-nearly.html&quot;&gt;&quot;Extra, Extra - Read All About It: Nearly All Binary Searches and Mergesorts are Broken&quot;&lt;/a&gt;&#xA;2006&lt;/p&gt;&#xA;" OwnerUserId="4423" LastEditorUserId="74" LastEditDate="2011-08-21T08:26:38.527" LastActivityDate="2011-08-21T08:26:38.527" CommentCount="1" CommunityOwnedDate="2011-08-21T03:23:09.320" ContentLicense="CC BY-SA 3.0" />
  <row Id="7894" PostTypeId="1" AcceptedAnswerId="7897" CreationDate="2011-08-21T05:14:55.310" Score="15" ViewCount="3883" Body="&lt;p&gt;It is known via the universal approximation theorem that a neural network with even a single hidden layer and an arbitrary activation function can approximate any continuous function.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What other models are there that are also universal function approximators&lt;/p&gt;&#xA;" OwnerUserId="24" LastEditorUserId="186" LastEditDate="2011-08-21T06:13:38.760" LastActivityDate="2011-08-21T13:13:54.960" Title="Universal Function approximation" Tags="&lt;machine-learning&gt;&lt;function&gt;&lt;approximation&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="13" ContentLicense="CC BY-SA 3.0" />
  <row Id="7895" PostTypeId="2" ParentId="2255" CreationDate="2011-08-21T09:33:12.223" Score="3" Body="&lt;p&gt;All my work is done on Mac OS X using Aquamacs Emacs with AUCTeX and refTeX for LaTeX editing as well as org-mode for TODO lists, tracking things, making agendas, and simple spreadsheet stuff. Cocoaspell for spell checking (integrates nicely into all Mac applications including Aquamacs since version 22, great if you have to check more than one language). On the LaTeX side it's mostly TikZ/PGF for graphics (although I'm looking for an alternative that makes some of the things I do regularly easier). For managing documents and keeping in sync there's git (and egg or magit for using git with Emacs). BibDesk for managing papers and associated PDFs. Presentation slides either using LaTeX Beamer or Apple Keynote. Keynote is also great for presenting PDF slides after converting the free tool PDFtoKeynote. Especially useful for presenting slides you don't know too well you can customize the preview screen with next slide, timer, etc. Highly recommended. Having a WebDAV volume for quickly moving files from A to B is very useful, too, especially if only have access to either A or B at one time.&lt;/p&gt;&#xA;" OwnerUserId="6283" LastActivityDate="2011-08-21T09:33:12.223" CommentCount="0" CommunityOwnedDate="2011-08-21T09:33:12.223" ContentLicense="CC BY-SA 3.0" />
  <row Id="7896" PostTypeId="2" ParentId="7841" CreationDate="2011-08-21T11:50:23.773" Score="30" Body="&lt;p&gt;Here's a proof that it's impossible. Suppose you could build such a data structure. Build it. Then choose $n/\log n$ items at random from the list, add $\epsilon$ to each of them, where $\epsilon$ is smaller than the difference between any two items on the list, and perform the queries to check whether any of the resulting items is in the list. You've performed $O(n)$ queries so far. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would like to claim that the comparisons you have done are sufficient to tell whether an item $a$ on the original list is smaller than or larger than any new item $b$. Suppose you couldn't tell. Then, because this is a comparison-based model, you wouldn't know whether $a$ was equal to $b$ or not, a contradiction of the assumption that your data structure works.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, since the $n/\log n$ items you chose were random, your comparisons have with high probability given enough information to divide the original list into $n/\log n$ lists each of size $O(\log n)$. By sorting each of these lists, you get a randomized $O(n \log \log n)$-time sorting algorithm based solely on comparisons, a contradiction.&lt;/p&gt;&#xA;" OwnerUserId="1677" LastActivityDate="2011-08-21T11:50:23.773" CommentCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="7897" PostTypeId="2" ParentId="7894" CreationDate="2011-08-21T13:07:15.793" Score="22" Body="&lt;p&gt;This is treated extensively in the statistics literature, under the topic of regression.  Two standard references here are Wasserman's book &quot;all of nonparametric statistics&quot; and Tsybakov's &quot;introduction to nonparametric estimation&quot;.  I'll talk briefly about some of the standard stuff, and try to give pointers outside of statistics (this is a common topic and different fields have different cultures: prove different kinds of theorems, make different assumptions).&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;(Kernel regressors, sometimes called the Nadaraya-Watson Estimator.)  Here you write the function at any point as a weighted combination of nearby values. More concretely, &#xA;since this is in the statistics literature, you typically suppose you have some examples $((x_i,f(x_i)))_{i=1}^n$ drawn from some distribution,&#xA;and fix some kernel $K$ (can think of this as a gaussian, but zero mean is what matters most), and write&#xA;$$&#xD;&#xA;\hat f(x) := \sum_i f(x_i) \left(\frac{ K(c_n(x-x_i)) }{ \sum_j K(c_n(x-x_j))}\right),&#xD;&#xA;$$&#xA;where $c_n\to\infty$ (you are more sensitive to small distances as $n$ increases).&#xA;The guarantee is that, as $n\to\infty$, a probilistic criterion of distortion&#xA;(expectation of sup-norm, high probability, whatever) goes to zero.&#xA;(It hardly matters what $K$ looks like---it matters more how you choose $c_n$.)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;(Basis methods.)  A similar thing is to choose some family of &quot;basis functions&quot;, things like Wavelets or piecewise linear functions, but really anything that forms a (possibly overcomplete) basis for the vector space $L^2$, and determine a weighted linear combination of scaled and translated elements. &#xA;The techniques here differ drastically from (1.); rather than plopping down basis functions centered at data points, you carefully compute the weight and location of each in order to minimize some distortion criterion.  (Typically, their quantity is fixed a priori.) One approach is &quot;basis pursuit&quot;, where you greedily add in new functions while trying to minimize some approximation error between $\hat f$ and $f$.  To get a sense of the diversity of approaches here, a neat paper is Rahimi &amp;amp; Recht's &quot;uniform approximation of functions with random bases&quot;.  Perhaps I should say that the grand-daddy of all of these is the Fourier expansion; there's a lot of good material on this in Mallat's book on Wavelets.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;(Tree methods.)  Another way is to look at a function as a tree; at each level, you are working with some partition of the domain, and return, for instance, the average point.  (Each pruning of the tree also gives a partition.)  In the limit, the fineness of this partition will no longer discretize the function, and you have reconstructed it exactly.  How best to choose this partition is a tough problem. (You can google this under &quot;regression tree&quot;.)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;(Polynomial methods; see also splines and other interpolating techniques.)  By Taylor's theorem, you know that you can get arbitrarily close to well behaved functions.  This may seem like a very basic approach (i.e., just use the Lagrange interpolating polynomial), but where things get interesting is in deciding &lt;em&gt;which&lt;/em&gt; points to interpolate.  This was investigated extensively in the context of numerical integration; you can find some amazing math under the topics of &quot;clenshaw-curtis quadrature&quot; and &quot;gaussian quadrature&quot;.  I'm throwing this in here because the types of assumptions and guarantees here are so drastically different than what appears above.  I like this field but these methods suffer really badly from the curse of dimension, at least I think this is why they are less discussed than they used to be (if you do numeric integration with mathematica, I think it does quadrature for univariate domains, but sampling techniques for multivariate domains).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Considering various restrictions to your function class, you can instantiate the above to get all sorts of other widely-used scenarios.  For instance, with boolean valued functions, thresholding (1.) will look a lot like a nearest-neighbor estimator, or an SVM with some local kernel (gaussian).  A lot of the above stuff suffers from curse of dimension (bounds exhibit exponential dependence on the dimension).  In machine learning you get around this either by explicitly constraining your class to some family (i.e., &quot;parametric methods), or by an implicit constraint, usually something relating the quality of the approximants to the target function complexity (i.e., an analog of the weak learning assumption in boosting).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By the way, my favorite theorem related to neural net approximation  is Kolmogorov's superposition theorem (from 1957!).  It says that any multivariate continuous function $f:\mathbb{R}^d \to \mathbb{R}$ has the form&#xA;$$&#xD;&#xA;f(x) = \sum_{j=0}^{2d}h_j\left(\sum_{i=1}^d g_{j,i}(x_i)\right),&#xD;&#xA;$$&#xA;where each $g_{j,i} : \mathbb{R}\to\mathbb{R}$ and $h_j:\mathbb{R}\to\mathbb{R}$ is (univariate) continuous.  Note that unlike neural nets, the $g$'s and $h$'s may all differ.  But even so, given that there are only $\Theta(d^2)$ functions floating around, I find this totally amazing.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(You only asked about function classes, but I figured you'd be interested in methods as well.. if not.. oops)&lt;/p&gt;&#xA;" OwnerUserId="336" LastEditorUserId="336" LastEditDate="2011-08-21T13:13:54.960" LastActivityDate="2011-08-21T13:13:54.960" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7898" PostTypeId="2" ParentId="1846" CreationDate="2011-08-21T16:02:36.617" Score="5" Body="&lt;p&gt;Every graph G is a line graph of some hypergraph, for instance the one that has the edges of G as its vertices and the sets of edges neighboring each vertex of G as its hyperedges. Therefore, finding cliques in line graphs of hypergraphs can be no easier than finding cliques in arbitrary graphs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course with your limitation of edge size $r$, one can only do this starting from a graph $G$ with degree $r$, and max clique in bounded degree graphs is not so hard, so this doesn't rule out the $n^{poly(r)}$ algorithm you're hoping for.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2011-08-21T16:02:36.617" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7899" PostTypeId="2" ParentId="7865" CreationDate="2011-08-21T16:14:36.683" Score="4" Body="&lt;p&gt;Here's a special case: the number of binary words of length $k$ such that no two ones appear consecutively is $F(k+3)$, where $F(n)$ is the $n^{th}$ Fibonacci number (starting with $F(1)=1, F(2)=1$). Proof is via the &lt;a href=&quot;http://www.maths.surrey.ac.uk/hosted-sites/R.Knott/Fibonacci/fibrep.html#zeck&quot; rel=&quot;nofollow&quot;&gt;Zeckendorf representation&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT: We can extend this initial special case into the slightly larger special case of $a\lozenge^0a$. Consider strings of length $k$ over an alphabet of size $l+1$ such that the letter $a$ does not appear twice consecutively. Let $f(k)$ be the number of such strings (which we will call &quot;valid&quot;). We claim that: $$f(k) = l*f(k-1) + l*f(k-2)$$ &#xA;$$ f(0) = 1, f(1) = l+1$$&#xA;The intuition is that we can construct a valid string of length $k$ by either: a) adjoining any of the $l$ letters that are not $a$ to a valid string of length $k-1$, or b) adjoining the letter $a$ and then any other letter but $a$ to a valid string of length $k-2$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can verify that the following is a closed form for the above recurrence:&#xA;$$f(k) = \sum_{i=0}^{k} {{k+1-i}\choose{i}} l^{k-i}$$&#xA;where we understand ${{n}\choose{i}} = 0$ when $i&amp;gt;n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT #2: Let's knock out one more case -- a $\lozenge^0 b, a \neq b$. We'll call strings over an $l$-element alphabet that do not contain the substring $ab$, &quot;valid&quot; and let $S_k$ denote the set of valid strings of length $k$. Further, let's define $T_k$ to be the subset of $S_k$ consisting of strings starting with $b$ and $U_k$ to be those not starting with $b$. Finally, let $f(k) = |S_k|$, $g(k) = |T_k|$, $h(k) = |U_k|$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;We observe that $g(0)=0, h(0)=1, f(0)=1$ and $g(1)=1, h(1)=l-1, f(1)=l$. Next, we infer the following recurrences:&#xA;\begin{eqnarray}&#xA;g(k+1) &amp;amp;=&amp;amp; f(k) \\&#xA;h(k+1) &amp;amp;=&amp;amp;(l-1)*h(k) + (l-2)*g(k)&#xA;\end{eqnarray}&#xA;The first comes from the fact that adding a $b$ to the start of any element of $S_k$ produces an element of $T_{k+1}$. The second comes from observing that we can construct an element of $U_{k+1}$ by adding any character but $b$ to the front of any element of $U_{k}$ or by adding any character but $a$ or $b$ to the front of any element in $T_k$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Next, we rearrange the recurrence equations to obtain:&#xA;\begin{eqnarray}&#xA;f(k+1) &amp;amp;=&amp;amp; g(k+1) + h(k+1) \\&#xA;&amp;amp;=&amp;amp; f(k) + (l-1)*h(k) + (l-2)*g(k) \\&#xA;&amp;amp;=&amp;amp; f(k) + (l-1)*f(k) - g(k) \\&#xA;&amp;amp;=&amp;amp; l*f(k) - f(k-1)&#xA;\end{eqnarray}&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We can get a rather opaque closed-form solution to this recurrence by mucking around a bit with generating function stuff or, if we're lazy, heading straight to &lt;a href=&quot;http://www.wolframalpha.com/input/?i=f%28k%29=l%2af%28k-1%29%2bf%28k-2%29,%20f%280%29=1,%20f%281%29=l&quot; rel=&quot;nofollow&quot;&gt;Wolfram Alpha&lt;/a&gt;. However, with a little bit of googling and poking around in &lt;a href=&quot;http://oeis.org&quot; rel=&quot;nofollow&quot;&gt;OEIS&lt;/a&gt;, we find that we actually have:&#xA;$$f(k) = U_k(l/2)$$&#xA;where $U_k$ is the $k^{th}$ &lt;a href=&quot;http://en.wikipedia.org/wiki/Chebyshev_polynomials#Definition&quot; rel=&quot;nofollow&quot;&gt;Chebyshev polynomial of the second kind&lt;/a&gt; (!).&lt;/p&gt;&#xA;" OwnerUserId="751" LastEditorUserId="751" LastEditDate="2011-08-24T07:11:21.080" LastActivityDate="2011-08-24T07:11:21.080" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7900" PostTypeId="1" AcceptedAnswerId="7901" CreationDate="2011-08-21T17:29:22.043" Score="96" ViewCount="21040" Body="&lt;p&gt;I would like to ask for help in compiling a list of as many TCS-related conferences and workshops as possible.  My main motivation for doing this is to plan possible blog coverage of more theory venues -- finding correspondents attending these events who would be willing to write either brief or in-depth blog entries about events they are attending.  Beyond that, I hope a list like this would give everyone a better sense of the lay of the theory land.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'll seed the question with an answer containing a few &quot;obvious&quot; conferences.  Please feel free to edit my answer and/or post additional answers of your own. &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Standard abbreviation of conference, name of conference, subject matter, any additional notes.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Intended as community wiki.&lt;/p&gt;&#xA;" OwnerUserId="30" LastEditorUserId="186" LastEditDate="2011-08-21T17:40:31.707" LastActivityDate="2020-08-18T02:25:51.607" Title="List of TCS conferences and workshops" Tags="&lt;soft-question&gt;&lt;big-list&gt;&lt;conferences&gt;" AnswerCount="5" CommentCount="12" FavoriteCount="92" CommunityOwnedDate="2011-08-21T17:40:38.507" ContentLicense="CC BY-SA 3.0" />
  <row Id="7901" PostTypeId="2" ParentId="7900" CreationDate="2011-08-21T17:34:04.203" Score="88" Body="&#xA;&lt;p&gt;&lt;strong&gt;GENERAL&lt;/strong&gt;:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;STOC, &lt;a href=&quot;http://www.sigact.org/stoc.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;ACM Symposium on the Theory of Computing&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;FOCS, &lt;a href=&quot;http://ieee-focs.org/&quot; rel=&quot;nofollow noreferrer&quot;&gt;IEEE Symposium on Foundations of Computer Science&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;ICALP &lt;a href=&quot;http://www.eatcs.org/index.php/international-colloquium&quot; rel=&quot;nofollow noreferrer&quot;&gt;EATCS International Colloquium on Automata, Languages and Programming&lt;/a&gt;&lt;br /&gt;&#xA;(A: algorithms, complexity, B: logic, semantics, C: networks)&lt;/li&gt;&#xA;&lt;li&gt;FOSSACS, &lt;a href=&quot;http://www.etaps.org/2014/fossacs14&quot; rel=&quot;nofollow noreferrer&quot;&gt;Foundations of Software Science and Computation Structures&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;STACS, &lt;a href=&quot;http://www.stacs-conf.org/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Symposium on Theoretical Aspects of Computer Science&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;MFCS, &lt;a href=&quot;http://ist.ac.at/mfcs13/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Mathematical Foundations of Computer Science&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;FSTTCS, &lt;a href=&quot;http://www.fsttcs.org/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Foundations of Software Technology and Theoretical Computer Science&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;COCOON, &lt;a href=&quot;http://www.cs.zju.edu.cn/algo/cocoon2013/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Computing and Combinatorics Conference&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;ITCS, &lt;a href=&quot;http://itcs2013.cs.berkeley.edu/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Innovations in Theoretical Computer Science&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;CSR, &lt;a href=&quot;http://csr2013.urfu.ru/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Computer Science in Russia&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;ISAAC, &lt;a href=&quot;http://www.dais.is.tohoku.ac.jp/%7Etokuyama/ISAAC/isaacweb.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;International Symposium on Algorithms and Computation&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;TAMC, &lt;a href=&quot;http://www.cs.hku.hk/tamc2013/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Theory and Applications of Models of Computation&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;COCOA, &lt;a href=&quot;http://webdocs.cs.ualberta.ca/%7Eghlin/COCOA2013/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Conference on Combinatorial Optimization and Applications&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;FM, &lt;a href=&quot;http://www.fmeurope.org/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Formal Methods&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;FCT, &lt;a href=&quot;http://www.informatik.uni-trier.de/%7Eley/db/conf/fct/index.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;Fundamentals of Computation Theory&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;LATIN, &lt;a href=&quot;http://www.latintcs.org/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Latin American Symposium on Theoretical Informatics&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;SOFSEM, &lt;a href=&quot;http://www.sofsem.cz/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Conference on Current Trends in Theory and Practice of Computer Science&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;TASE, &lt;a href=&quot;http://tase2017.unice.fr&quot; rel=&quot;nofollow noreferrer&quot;&gt;Theoretical Aspects of Software engineering&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;strong&gt;CC: COMPLEXITY&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;CCC, &lt;a href=&quot;http://computationalcomplexity.org/&quot; rel=&quot;nofollow noreferrer&quot;&gt;IEEE Conference on Computational Complexity&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;SIROCCO, &lt;a href=&quot;http://sirocco2013.di.unisa.it/&quot; rel=&quot;nofollow noreferrer&quot;&gt;International Colloquium on Structural Information and Communication Complexity&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;strong&gt;CG: COMPUTATIONAL GEOMETRY&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;SOCG, &lt;a href=&quot;http://www.socg.org/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Symposium on Computational Geometry&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;CCCG, &lt;a href=&quot;http://www.cccg.ca/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Canadian Conference on Computational Geometry&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;EuroCG, &lt;a href=&quot;http://eurocg.org/&quot; rel=&quot;nofollow noreferrer&quot;&gt;European Workshop on Computational Geometry&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;strong&gt;CR: CRYPTOGRAPHY AND SECURITY&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;CRYPTO, &lt;a href=&quot;http://www.iacr.org/conferences/&quot; rel=&quot;nofollow noreferrer&quot;&gt;International Cryptology Conference&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;EUROCRYPT, &lt;a href=&quot;http://www.iacr.org/conferences/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Conference on the Theory and Applications of Cryptographic Techniques&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;ASIACRYPT, &lt;a href=&quot;http://www.iacr.org/conferences/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Conference on the Theory and Application of Cryptology&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;LATINCRYPT, &lt;a href=&quot;http://latincrypt2014.labsec.ufsc.br&quot; rel=&quot;nofollow noreferrer&quot;&gt;International Conference on Cryptology and Information Security in Latin America&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;AFRICACRYPT, &lt;a href=&quot;http://www.math.unicaen.fr/%7Enitaj/Africacrypt.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;International Conference on Cryptology in Africa&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;PQCRYPTO, &lt;a href=&quot;https://2017.pqcrypto.org/conference/&quot; rel=&quot;nofollow noreferrer&quot;&gt;International Conference on Post-Quantum Cryptography&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;TCC, &lt;a href=&quot;http://www.wisdom.weizmann.ac.il/%7Etcc/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Theory of Cryptography Conference&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;PKC, &lt;a href=&quot;http://www.iacr.org/meetings/pkc/&quot; rel=&quot;nofollow noreferrer&quot;&gt;International Conference on Practice and Theory in Public Key Cryptography&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;FSE, &lt;a href=&quot;http://iacr.org/meetings/fse/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Conference on Fast Software Encryption&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;CHES, &lt;a href=&quot;http://iacr.org/meetings/ches/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Conference on Cryptographic Hardware and Embedded Systems&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;IEEE S&amp;amp;P, &lt;a href=&quot;http://www.ieee-security.org/TC/SP-Index.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;IEEE Symposium on Security and Privacy&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;CCS,  &lt;a href=&quot;http://www.sigsac.org/ccs/CCS2011/&quot; rel=&quot;nofollow noreferrer&quot;&gt;ACM Conference on Computer and Communication Security&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;POST, &lt;a href=&quot;http://www.etaps.org/2014/post-2014&quot; rel=&quot;nofollow noreferrer&quot;&gt;Principles of Security and Trust&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;CSF, &lt;a href=&quot;http://www.ieee-security.org/CSFWweb/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Computer Security Foundations Symposium&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;ITC, &lt;a href=&quot;https://itcrypto.github.io/2020.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;Information Theoretic Cryptography&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;strong&gt;DB: DATABASE THEORY&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;SIGMOD/PODS, &lt;a href=&quot;http://www.sigmod.org/sigmod-pods-conferences&quot; rel=&quot;nofollow noreferrer&quot;&gt;ACM Symposium on Principles of Database Systems&lt;/a&gt; (both accept theory, but SIGMOD has broader scope)&lt;/li&gt;&#xA;&lt;li&gt;ICDT, &lt;a href=&quot;http://icdt.tu-dortmund.de/&quot; rel=&quot;nofollow noreferrer&quot;&gt;The international Conference on Database Theory&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;VLDB, &lt;a href=&quot;http://www.vldb.org/conference.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;Very Large Data Bases&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;AMW, &lt;a href=&quot;http://amw13.cs.buap.mx/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Alberto Mendelzon International Workshop on Foundations of Data Management&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;strong&gt;DC: DISTRIBUTED, PARALLEL, AND CLUSTER COMPUTING&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;PODC, &lt;a href=&quot;http://www.podc.org/&quot; rel=&quot;nofollow noreferrer&quot;&gt;ACM Symposium on Principles of Distributed Computing&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;DISC, &lt;a href=&quot;http://www.disc-conference.org/&quot; rel=&quot;nofollow noreferrer&quot;&gt;International Symposium on Distributed Computing&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;SPAA, &lt;a href=&quot;http://www.spaa-conference.org/&quot; rel=&quot;nofollow noreferrer&quot;&gt;ACM Symposium on Parallelism in Algorithms and Architectures&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;IPDPS, &lt;a href=&quot;http://www.ipdps.org/&quot; rel=&quot;nofollow noreferrer&quot;&gt;IEEE International Parallel and Distributed Processing Symposium&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;ICDCN, &lt;a href=&quot;http://www.icdcn.org/&quot; rel=&quot;nofollow noreferrer&quot;&gt;International Conference on Distributed Computing and Networking&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;OPODIS, &lt;a href=&quot;http://www.opodis.net/&quot; rel=&quot;nofollow noreferrer&quot;&gt;International Conference on Principles of Distributed Systems&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;SSS, &lt;a href=&quot;https://cs.uwaterloo.ca/conferences/sss2012/&quot; rel=&quot;nofollow noreferrer&quot;&gt;International Symposium on Stabilization, Safety, and Security of Distributed Systems&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Algosensors, &lt;a href=&quot;http://www.algosensors.org/&quot; rel=&quot;nofollow noreferrer&quot;&gt;International Symposium on Algorithms for Sensor Systems, Wireless Ad Hoc Networks and Autonomous Mobile Entities&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;strong&gt;DM: DISCRETE MATHEMATICS AND COMBINATORICS&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;WG, &lt;a href=&quot;http://www.informatik.uni-rostock.de/wg2013/&quot; rel=&quot;nofollow noreferrer&quot;&gt;International Workshop on Graph-Theoretic Concepts in Computer Science&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;LAGOS, &lt;a href=&quot;http://xamanek.izt.uam.mx/LAGOS2013/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Latin-American Algorithms, Graphs and Optimization Symposium&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;strong&gt;DS: DATA STRUCTURES AND ALGORITHMS&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;SODA, &lt;a href=&quot;http://www.siam.org/meetings/archives.php#SODA&quot; rel=&quot;nofollow noreferrer&quot;&gt;ACM-SIAM Symposium on Discrete Algorithms&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;ESA, &lt;a href=&quot;http://esa-symposium.org/&quot; rel=&quot;nofollow noreferrer&quot;&gt;European Symposium on Algorithms&lt;/a&gt; (track A is theoretical)&lt;/li&gt;&#xA;&lt;li&gt;WADS, &lt;a href=&quot;http://www.wads.org/&quot; rel=&quot;nofollow noreferrer&quot;&gt;The Algorithms and Data Structures Symposium&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;SAT, &lt;a href=&quot;http://sat2013.cs.helsinki.fi/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Theory and Applications of Satisfiability Testing&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;SWAT, &lt;a href=&quot;http://swat2012.helsinki.fi/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Scandinavian Symposium and Workshops on Algorithm Theory&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;ALENEX, &lt;a href=&quot;http://www.siam.org/meetings/alenex13/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Algorithm Engineering and Experimentation&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;SOSA, &lt;a href=&quot;https://simplicityalgorithms.wixsite.com/sosa&quot; rel=&quot;nofollow noreferrer&quot;&gt;Symposium on Simplicity in Algorithms&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;IPCO, &lt;a href=&quot;http://www.opt.math.tu-graz.ac.at/IPCO/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Integer Programming and Combinatorial Optimization&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;APPROX/RANDOM, &lt;a href=&quot;http://cui.unige.ch/tcs/random-approx/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Workshop on Approximation Algorithms for Optimization Problems / Workshop on Randomization and Computation&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;WAOA, &lt;a href=&quot;http://www.csd.uwo.ca/waoa/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Workshop on Approximation and Online Algorithms&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;IPEC, &lt;a href=&quot;https://algo2017.ac.tuwien.ac.at/ipec/&quot; rel=&quot;nofollow noreferrer&quot;&gt;International Symposium on Parameterized and Exact Computation&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;IWOCA, &lt;a href=&quot;https://carma.newcastle.edu.au/meetings/iwoca/&quot; rel=&quot;nofollow noreferrer&quot;&gt;International Workshop on Combinatorial Algorithms&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;WAW, &lt;a href=&quot;http://www.math.ryerson.ca/waw2013/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Workshop on Algorithms and Models for the Web-Graph&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;CPM, &lt;a href=&quot;http://www.cpm2013.de/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Combinatorial Pattern Matching&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;CP, &lt;a href=&quot;http://cp2013.a4cp.org/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Principles and Practice of Constraint Programming&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;strong&gt;FL: AUTOMATA THEORY AND FORMAL LANGUAGES&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;DLT, &lt;a href=&quot;http://www.math.utu.fi/projects/dlt/&quot; rel=&quot;nofollow noreferrer&quot;&gt;International Conference on Developments in Language Theory&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;LATA, &lt;a href=&quot;http://grammars.grlmc.com/lata2013/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Language and Automata Theory and Applications&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;AFL, &lt;a href=&quot;http://www.nyf.hu/afl11/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Automata and Formal Languages&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;NCMA, &lt;a href=&quot;http://ncma2013.cs.umu.se/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Non-Classical Models of Automata and Applications&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;CIAA, &lt;a href=&quot;http://tln.li.univ-tours.fr/ciaa/&quot; rel=&quot;nofollow noreferrer&quot;&gt;International Conference on Implementation and Application of Automata&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;DFCS, &lt;a href=&quot;http://www.csd.uwo.ca/dcfs2013/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Descriptional Complexity of Formal Systems&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;strong&gt;GT: ALGORITHMIC GAME THEORY&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;EC, &lt;a href=&quot;http://www.sigecom.org/events.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;Electronic Commerce&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;SAGT, &lt;a href=&quot;http://algo.rwth-aachen.de/sagt2013/&quot; rel=&quot;nofollow noreferrer&quot;&gt;International Symposium on Algorithmic Game Theory&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;WINE, &lt;a href=&quot;http://wine13.seas.harvard.edu/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Workshop on Internet and Network Economics&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;strong&gt;LG: LEARNING THEORY&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;COLT, &lt;a href=&quot;http://www.learningtheory.org/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Conference on Learning Theory&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;ALT, &lt;a href=&quot;http://www-alg.ist.hokudai.ac.jp/%7Ethomas/ALTARCH/altarch.jhtml&quot; rel=&quot;nofollow noreferrer&quot;&gt;Algorithmic Learning Theory&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;strong&gt;LO: LOGIC IN COMPUTER SCIENCE&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;LICS, &lt;a href=&quot;http://lii.rwth-aachen.de/lics/&quot; rel=&quot;nofollow noreferrer&quot;&gt;IEEE Symposium on Logic in Computer Science&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;CONCUR, &lt;a href=&quot;http://www.concur-conferences.org/&quot; rel=&quot;nofollow noreferrer&quot;&gt;International Conference on Concurrency Theory&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;CSL, &lt;a href=&quot;http://www.eacsl.org/conferences.html/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Computer Science Logic&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;CiE, &lt;a href=&quot;http://www.amsta.leeds.ac.uk/cie/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Computablility in Europe&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;LCC, &lt;a href=&quot;http://ptmat.fc.ul.pt/lcc2012/&quot; rel=&quot;nofollow noreferrer&quot;&gt;An International Workshop on Logic and Computational Complexity&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;WoLLIC, &lt;a href=&quot;http://mol-wollic2017.eecs.qmul.ac.uk/wollic2017&quot; rel=&quot;nofollow noreferrer&quot;&gt;Workshop on Logic, Language, Information and Computation&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://highlights-conference.org/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Highlights of logic, games and automata&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;strong&gt;PL: PROGRAMMING LANGUAGES&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;POPL, &lt;a href=&quot;http://popl.mpi-sws.org/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Principles of Programming Languages&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;ICFP, &lt;a href=&quot;http://icfpconference.org/&quot; rel=&quot;nofollow noreferrer&quot;&gt;International Conference on Functional Programming&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;ETAPS, &lt;a href=&quot;http://www.etaps.org/&quot; rel=&quot;nofollow noreferrer&quot;&gt;European Joint Conferences on Theory and Practice of Software&lt;/a&gt; (includes FOSSACS, ESOP and POST, see separate entries)&lt;/li&gt;&#xA;&lt;li&gt;ESOP, &lt;a href=&quot;http://www.etaps.org/2014/esop-2014&quot; rel=&quot;nofollow noreferrer&quot;&gt;European Symposium On Programming&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;MSFP, Mathematically Structured Functional Programming&lt;/li&gt;&#xA;&lt;li&gt;MFPS, Mathematical Foundations of Programming Semantics&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;strong&gt;SC: SYMBOLIC COMPUTATION&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;ISSAC: &lt;a href=&quot;http://www.issac-conference.org/&quot; rel=&quot;nofollow noreferrer&quot;&gt;International Symposium on Symbolic and Algebraic Computation&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;FPSAC: &lt;a href=&quot;http://www.fpsac.org/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Formal Power Series and Algebraic Combinatorics&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;CASC: &lt;a href=&quot;http://www14.in.tum.de/CASC2014/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Computer Algebra in Scientific Computing&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;SNC: &lt;a href=&quot;http://symbolic-numeric-computation.org/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Symbolic Numeric Computation&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;strong&gt;THEOREM PROVING&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;CADE, &lt;a href=&quot;http://www.cade-24.info/&quot; rel=&quot;nofollow noreferrer&quot;&gt;International Conference on Automated Deduction&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;ITP, &lt;a href=&quot;http://itp2013.inria.fr/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Interactive Theorem Proving&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;CPP, &lt;a href=&quot;http://formes.asia/cpp/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Certified Proofs and Programs&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;strong&gt;QUANTUM&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;QIP, &lt;a href=&quot;http://www.qipworshop.org/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Workshop on Quantum Information Processing&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;QCMC, &lt;a href=&quot;http://www.qcmc2012.org/&quot; rel=&quot;nofollow noreferrer&quot;&gt;International Conference on Quantum Communication, Information and Computing&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;TQC, &lt;a href=&quot;http://www.uoguelph.ca/quigs/tqc2013/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Theory of Quantum Computation, Communication and Cryptography&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;AQIS, &lt;a href=&quot;http://www.imsc.res.in/%7Eaqis13/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Asian Quantum Information Science Conference&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;QCRYPT, &lt;a href=&quot;http://www.qcrypt.net/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Conference on Quantum Cryptography&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;QEC, &lt;a href=&quot;http://qserver.usc.edu/qec11/&quot; rel=&quot;nofollow noreferrer&quot;&gt;International Conference on Quantum Error Correction&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;CEQIP, &lt;a href=&quot;http://ceqip.eu/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Central European Quantum Information Processing Workshop&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;strong&gt;RO: Robotics&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;WAFR, &lt;a href=&quot;http://www.wafr.org/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Workshop on the Algorithmic Foundation of Robotics&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;strong&gt;COMPUTATIONAL BIOLOGY&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;RECOMB: &lt;a href=&quot;http://recomb.org/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Research in Computational Molecular Biology&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;ISMB: &lt;a href=&quot;http://www.iscb.org/about-ismb&quot; rel=&quot;nofollow noreferrer&quot;&gt;Intelligent Systems for Molecular Biology&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;WABI: &lt;a href=&quot;http://algo2013.inria.fr/wabi.shtml&quot; rel=&quot;nofollow noreferrer&quot;&gt;Workshop on Algorithms in Bioinformatics&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;strong&gt;OTHER&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;CAV, &lt;a href=&quot;http://cav2013.forsyte.at/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Computer Aided Verification&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;GD, &lt;a href=&quot;http://graphdrawing.org/&quot; rel=&quot;nofollow noreferrer&quot;&gt;International Symposium on Graph Drawing&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;FUN, &lt;a href=&quot;http://www.dsi.unive.it/%7Efun2012/&quot; rel=&quot;nofollow noreferrer&quot;&gt;International Conference on Fun With Algorithms&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;DNA, DNA Computing and Molecular Programming (DNA computing, Track A is theoretical, track B is experimental)&lt;/li&gt;&#xA;&lt;li&gt;DCM, &lt;a href=&quot;http://www.dcm-workshop.org.uk/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Developments in Computational Models&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;RTA, &lt;a href=&quot;http://rewriting.loria.fr/rta/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Rewriting techniques and applications&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;TLCA, &lt;a href=&quot;http://www.mimuw.edu.pl/tlca/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Typed lambda calculi and applications&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;UCNC, &lt;a href=&quot;http://www.univ-orleans.fr/lifo/events/UCNC2012/index.php&quot; rel=&quot;nofollow noreferrer&quot;&gt;Unconventional Computation &amp;amp; Natural Computation&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="30" LastEditorUserId="6190" LastEditDate="2020-08-18T02:25:51.607" LastActivityDate="2020-08-18T02:25:51.607" CommentCount="43" CommunityOwnedDate="2011-08-21T17:34:04.203" ContentLicense="CC BY-SA 4.0" />
  <row Id="7902" PostTypeId="2" ParentId="6045" CreationDate="2011-08-21T17:43:31.710" Score="1" Body="&lt;p&gt;One can think of a graph as an adjacency matrix - there are several definitions for matrix sparsity (% of zero entries, for example) which could translate back to the graph itself. Other than % of zero entries, matrix bandwidth under a reordering could be a good proxy for graph sparsity (it looks like bandwidth is related to degeneracy). &lt;/p&gt;&#xA;" OwnerUserId="6285" LastActivityDate="2011-08-21T17:43:31.710" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7903" PostTypeId="1" AcceptedAnswerId="27162" CreationDate="2011-08-21T18:58:13.623" Score="22" ViewCount="890" Body="&lt;p&gt;A &lt;a href=&quot;http://en.wikipedia.org/wiki/Tensor_%28intrinsic_definition%29&quot;&gt;tensor&lt;/a&gt; is a generalization of vectors and matrices to higher dimensions and the &lt;a href=&quot;http://en.wikipedia.org/wiki/Tensor_%28intrinsic_definition%29#Tensor_rank&quot;&gt;rank&lt;/a&gt; of a tensor also generalizes the rank of a matrix. Namely, the rank of a tensor $T$ is the minimum number of rank one tensors that sum to $T$. A vector and matrix are tensors of degree 1 and 2 respectively.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The elements in $T$ come from a field $\mathbb{F}$. If $\mathbb{F}$ is finite, then Håstad &lt;a href=&quot;http://www.nada.kth.se/~johanh/tensorrank.pdf&quot;&gt;proved&lt;/a&gt; that deciding if the rank of a degree 3 tensor is at most $r$ is NP-complete, but when $\mathbb{F}$ is an infinite field like the rationals $\mathbb{Q}$, he gives (or cites) no upper bound.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Question:&lt;/strong&gt; What is the best known upper bound for the complexity of deciding if the rank of a degree 3 tensor $T$ over $\mathbb{Q}$ is at most $r$?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="3964" LastEditorUserId="567" LastEditDate="2011-08-23T14:24:57.013" LastActivityDate="2014-10-23T02:26:41.230" Title="Complexity of Tensor Rank over an Infinite Field" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;computability&gt;&lt;tensor-rank&gt;" AnswerCount="3" CommentCount="9" FavoriteCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="7904" PostTypeId="2" ParentId="7900" CreationDate="2011-08-21T19:00:05.633" Score="17" Body="&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;https://confsearch.ethz.ch/confsearch/faces/pages/topic.jsp;jsessionid=4664B23ED834C2AEA057E7AFBC4667FA?topic=Theory&amp;amp;sortMode=1&amp;amp;graphicView=1&quot; rel=&quot;nofollow noreferrer&quot;&gt;Conference calendar&lt;/a&gt;&lt;/strong&gt; by &lt;a href=&quot;https://confsearch.ethz.ch/confsearch/&quot; rel=&quot;nofollow noreferrer&quot;&gt;confsearch&lt;/a&gt;&#xA;(missing: AMW, MFPS, FPSAC, ITCS, QCRYPT, DCM).&lt;/p&gt;&#xA;" OwnerUserId="74" LastEditorUserId="16160" LastEditDate="2020-08-14T14:09:54.927" LastActivityDate="2020-08-14T14:09:54.927" CommentCount="3" CommunityOwnedDate="2011-08-21T19:00:05.633" ContentLicense="CC BY-SA 4.0" />
  <row Id="7906" PostTypeId="5" CreationDate="2011-08-22T03:57:25.087" Score="0" Body="" OwnerUserId="-1" LastEditorUserId="-1" LastEditDate="2011-08-22T03:57:25.087" LastActivityDate="2011-08-22T03:57:25.087" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7907" PostTypeId="4" CreationDate="2011-08-22T03:57:25.087" Score="0" Body="Concurrency is the study of systems that operate simultaneously. For example given a set of elevators and a pool of people who want to go to various floors. An example of a concurrent system would be the management system that would tell where the elevators go and where to let off a person of the pool of people." OwnerUserId="5385" LastEditorUserId="5385" LastEditDate="2011-08-22T07:34:02.477" LastActivityDate="2011-08-22T07:34:02.477" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7908" PostTypeId="1" CreationDate="2011-08-22T07:53:25.880" Score="0" ViewCount="494" Body="&lt;p&gt;Given a (2D) board of quadratic cells (movement allowed between 4-neighbours), many of which are blocked, and given a certain starting position, how can I efficiently detect dead ends, i.e. regions of connected free cells that can be reached from the starting position only through the same connection? Can this be done in O(n)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Obviously this can also be formulated as a graph problem, but the board shape imposes restrictions (most significantly: no more than 4 edges per vertex) that may lead to a more efficient algorithm.&lt;/p&gt;&#xA;" OwnerUserId="6295" LastEditorUserId="186" LastEditDate="2011-08-22T08:07:02.550" LastActivityDate="2011-08-22T08:07:02.550" Title="How to detect dead ends on a board / in a graph?" Tags="&lt;ds.algorithms&gt;&lt;graph-algorithms&gt;&lt;planar-graphs&gt;&lt;board-games&gt;" AnswerCount="0" CommentCount="11" ContentLicense="CC BY-SA 3.0" />
  <row Id="7910" PostTypeId="2" ParentId="7865" CreationDate="2011-08-22T09:57:03.203" Score="2" Body="&lt;p&gt;A completely different approach for the first question reuses the answers to the recent question on &lt;a href=&quot;https://cstheory.stackexchange.com/q/7857/609&quot;&gt;generating words in a regular language&lt;/a&gt;: it suffices to apply these algorithms for length $k$ on the regular language $\Sigma^\ast a\Sigma^j b\Sigma^\ast$ where $\Sigma$ is the alphabet.&lt;/p&gt;&#xA;" OwnerUserId="609" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2011-08-22T09:57:03.203" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7911" PostTypeId="1" CreationDate="2011-08-22T10:15:12.877" Score="3" ViewCount="205" Body="&lt;p&gt;My question is: given a maxcut instance, if it costs too much to solve it to optimal practically but we can get an optimal solution of SDP relaxation quickly, can we assess the quality of this SDP solution? (like estimate the OPT/SDP ratio for THIS INSTANCE). My preliminary thought is that if the rank of the SDP solution (matrix) is far bigger than 1, then SDP relaxation is probably not good for this instance. But can we say for sure? Is there some literature that can be pointed to?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In Goemans and Williamson 1995 paper &quot;Improved approximation algorithms for maximum cut and satisfiability problems using semidefinite programming&quot;, they asserted $\text{SDP} \ge \text{OPT} \ge \text{ALG} \ge 0.878 \text{ SDP}$. In Feige and Schechtman 2002 paper &quot;On the optimality of the random hyperplane rounding technique for max cut&quot;, they constructed maxcut instances that $\text{OPT} \le (0.878 + \varepsilon) \text{ SDP}$. However, both of these are worst case analysis. My question is practically assessing the quality of SDP relaxation for a particular maxcut instance without knowing the optimum to the original problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In reading &quot;&quot;An Optimal SDP Algorithm for Max-Cut, and Equally Optimal Long Code Tests&quot; by R.O'Donnell etc. from Stoc'08, the author gave a curve of $\text{OPT} vs. \text{SDP}$. So the worst-case analysis of $\frac{\text{OPT}}{\text{SDP}}$ is solved. However I have difficulty in understanding their proof so I don't know whether their work can be helpful to this problem.&lt;/p&gt;&#xA;" OwnerUserId="6296" LastEditorUserId="6296" LastEditDate="2011-08-23T09:15:20.753" LastActivityDate="2011-08-23T09:15:20.753" Title="The Quality of SDP relaxation on MaxCut" Tags="&lt;ds.algorithms&gt;&lt;semidefinite-programming&gt;&lt;max-cut&gt;" AnswerCount="0" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="7913" PostTypeId="1" AcceptedAnswerId="7922" CreationDate="2011-08-22T12:40:26.620" Score="19" ViewCount="2383" Body="&lt;p&gt;The question is simple and direct: For a fixed &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt;, how many (different) languages are accepted by a DFA of size &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt; (i.e. &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt; states)? I will formally state this:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Define a DFA as &lt;span class=&quot;math-container&quot;&gt;$(Q,\Sigma,\delta,q_0,F)$&lt;/span&gt;, where everything is as usual and &lt;span class=&quot;math-container&quot;&gt;$\delta:Q\times\Sigma\to Q$&lt;/span&gt; is a (possibly partial) function. We need to establish this since sometimes only total functions are considered valid.&lt;/p&gt;&#xA;&lt;p&gt;For every &lt;span class=&quot;math-container&quot;&gt;$n\geq 1$&lt;/span&gt;, define the (equivalence) relation &lt;span class=&quot;math-container&quot;&gt;$\sim_n$&lt;/span&gt; on the set of all DFAs as: &lt;span class=&quot;math-container&quot;&gt;$\mathcal{A}\sim_n\mathcal{B}$&lt;/span&gt; if &lt;span class=&quot;math-container&quot;&gt;$|\mathcal{A}|=|\mathcal{B}|=n$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$L(\mathcal{A})=L(\mathcal{B})$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;p&gt;The question is, then: for a given &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt;, what is the index of &lt;span class=&quot;math-container&quot;&gt;$\sim_n$&lt;/span&gt;? That is, what is the size of the set &lt;span class=&quot;math-container&quot;&gt;$\{L(\mathcal{A})\mid\mathcal{A}\textrm{ is a DFA of size }n\}$&lt;/span&gt;?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Even when &lt;span class=&quot;math-container&quot;&gt;$\delta$&lt;/span&gt; is a total function, it doesn't seem to be an easy count (for me, at least). The graph might not be connected, and the states in the connected component containing the initial state might all be accepting, so, for example, there are &lt;em&gt;many&lt;/em&gt; graphs of size &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt; accepting &lt;span class=&quot;math-container&quot;&gt;$\Sigma^*$&lt;/span&gt;. Same with other trivial combinations for the empty language and other languages whose minimal DFA has fewer than &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt; states.&lt;/p&gt;&#xA;&lt;p&gt;(A naïve) recursion doesn't seem to work either. If we take a DFA of size &lt;span class=&quot;math-container&quot;&gt;$k$&lt;/span&gt; and add a new state, then, if we want to keep determinism and make the new graph connected (to try to avoid trivial cases), we have to remove a transition to connect the new state, but in that case we may lose the original language.&lt;/p&gt;&#xA;&lt;p&gt;Any thoughts?&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Note.&lt;/strong&gt; I updated the question again, with a formal statement and without the previous distracting elements.&lt;/p&gt;&#xA;" OwnerUserId="5396" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2011-08-23T18:37:35.347" Title="What is the number of languages accepted by a DFA of size $n$?" Tags="&lt;co.combinatorics&gt;&lt;fl.formal-languages&gt;&lt;automata-theory&gt;&lt;regular-language&gt;&lt;dfa&gt;" AnswerCount="1" CommentCount="12" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="7914" PostTypeId="1" CreationDate="2011-08-22T13:14:45.660" Score="6" ViewCount="238" Body="&lt;p&gt;Given a simple graph, in which the edges are weighted with values from the set $\{-1,1\}$. Three pairwise adjacent edges define a triangle. A triangle is called &lt;em&gt;valid&lt;/em&gt;, iff two edges have positive weight and one edge has negative weight. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Find a set $S$ of valid, edge disjunctive triangles, such that the cardinality of $S$ is maximized.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Background:&lt;/strong&gt; An answer to the above question can be used to calcualte an upper bound for the Clique-Partitioning-Problem (Grötschel, Wakabayashi (1989): A CUTTING PLANE ALGORITHM FOR A CLUSTERING PROBLEM, Math. Prog.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I assume that the problem is NP-complete. However, I failed to reduce &quot;Independent set&quot;, &quot;3D Matching&quot;, and &quot;Partition into triangles&quot; to the above problem. (Of course there still may be such reduction)&lt;/p&gt;&#xA;" OwnerUserId="6300" LastEditorUserId="80" LastEditDate="2011-08-22T16:28:34.827" LastActivityDate="2011-08-22T21:58:32.787" Title="Complexity of finding weighted edge-disjunctive triangles in a graph" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;" AnswerCount="1" CommentCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="7915" PostTypeId="1" CreationDate="2011-08-22T15:26:27.857" Score="7" ViewCount="135" Body="&lt;p&gt;As a part of other work I need to solve relatively large (~1E5x1E5) and sparse (~100 non-zero elements in each raw in few blocks) hermitian eigensystems. Usually only few eigenvalues+vectors are needed, but with high precision. Currently I am using Arpack (Arnoldi method with shift-inverse when precision is preferable or spectrum folding when size is important). As an option plan to use TRLan (thick restart Lanczos) and try Chebyshev filtering instead of spectrum folding. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Probably, newer methods exist for this purpose? I am not an expert in CS, maybe somebody has some clues on recent progress in this field? &lt;/p&gt;&#xA;" OwnerUserId="6027" LastEditorUserId="6027" LastEditDate="2011-08-23T05:03:50.347" LastActivityDate="2011-08-23T05:03:50.347" Title="What's new in sparse eigensystems solution" Tags="&lt;linear-algebra&gt;&lt;na.numerical-analysis&gt;&lt;sparse-matrix&gt;" AnswerCount="0" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="7916" PostTypeId="1" CreationDate="2011-08-22T17:46:35.833" Score="11" ViewCount="495" Body="&lt;p&gt;This question is related to a &lt;a href=&quot;https://cstheory.stackexchange.com/questions/7913/what-is-the-number-of-languages-accepted-by-a-dfa-of-size-n&quot;&gt;recent&#xA;question&lt;/a&gt;&#xA;by &lt;a href=&quot;https://cstheory.stackexchange.com/users/5396/janoma&quot;&gt;Janoma&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;h2&gt;Background&lt;/h2&gt;&#xA;&lt;p&gt;In constraint programming, a &lt;strong&gt;regular&lt;/strong&gt; global constraint &lt;span class=&quot;math-container&quot;&gt;$c$&lt;/span&gt; over a&#xA;domain &lt;span class=&quot;math-container&quot;&gt;$D$&lt;/span&gt; is a pair &lt;span class=&quot;math-container&quot;&gt;$(s, M)$&lt;/span&gt; with &lt;span class=&quot;math-container&quot;&gt;$s$&lt;/span&gt; a tuple of variables (the&#xA;scope) and &lt;span class=&quot;math-container&quot;&gt;$M$&lt;/span&gt; a DFA over the domain &lt;span class=&quot;math-container&quot;&gt;$D$&lt;/span&gt;. An assignment &lt;span class=&quot;math-container&quot;&gt;$\theta$&lt;/span&gt; to&#xA;&lt;span class=&quot;math-container&quot;&gt;$s$&lt;/span&gt; satisfies &lt;span class=&quot;math-container&quot;&gt;$c$&lt;/span&gt; if &lt;span class=&quot;math-container&quot;&gt;$M$&lt;/span&gt; accepts the string&#xA;&lt;span class=&quot;math-container&quot;&gt;$\theta(s_1)\theta(s_2)\ldots\theta(s_n)$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Below, assume that the domain &lt;span class=&quot;math-container&quot;&gt;$D$&lt;/span&gt; is fixed. Define an equivalence&#xA;relation &lt;span class=&quot;math-container&quot;&gt;$\sim$&lt;/span&gt; over the set of strings &lt;span class=&quot;math-container&quot;&gt;$T = D^{|s|}$&lt;/span&gt; such that &lt;span class=&quot;math-container&quot;&gt;$a&#xA;\sim b$&lt;/span&gt; if for every DFA &lt;span class=&quot;math-container&quot;&gt;$M$&lt;/span&gt; either &lt;span class=&quot;math-container&quot;&gt;$a, b \in L(M)$&lt;/span&gt; or &lt;span class=&quot;math-container&quot;&gt;$a, b \not\in&#xA;L(M)$&lt;/span&gt;. Intuitively, two strings are equivalent iff no DFA can&#xA;distinguish them. If that is true, then they also satisfy the same&#xA;&lt;strong&gt;regular&lt;/strong&gt; constraints.&lt;/p&gt;&#xA;&lt;p&gt;If we do not restrict the DFAs in any way, then the set of equivalence&#xA;classes &lt;span class=&quot;math-container&quot;&gt;$T/{\sim}$&lt;/span&gt; is just &lt;span class=&quot;math-container&quot;&gt;$T$&lt;/span&gt; itself. I am interested in the number of&#xA;equivalence classes wrt. &lt;span class=&quot;math-container&quot;&gt;$\sim$&lt;/span&gt; as a function of the number of states &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt;&#xA;that we allow for the DFA. Clearly, if &lt;span class=&quot;math-container&quot;&gt;$n = |D|^{|s|}$&lt;/span&gt; (ignore&#xA;constants) then &lt;span class=&quot;math-container&quot;&gt;$|T/{\sim}| = |T|$&lt;/span&gt;. (Of course, &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt; here will itself be a&#xA;function of &lt;span class=&quot;math-container&quot;&gt;$|s|$&lt;/span&gt;.)&lt;/p&gt;&#xA;&lt;h2&gt;Questions&lt;/h2&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;What is the smallest &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt; for which &lt;span class=&quot;math-container&quot;&gt;$|T/{\sim}| = |T|$&lt;/span&gt;?&lt;/li&gt;&#xA;&lt;li&gt;What happens below that? In particular,&#xA;&lt;ul&gt;&#xA;&lt;li&gt;is there an &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt; such that &lt;span class=&quot;math-container&quot;&gt;$|T/{\sim}| = O(|s|^{|D|})$&lt;/span&gt;?&lt;/li&gt;&#xA;&lt;li&gt;is there an &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt; such that &lt;span class=&quot;math-container&quot;&gt;$|T/{\sim}| = O(|s| \times |D|)$&lt;/span&gt;?&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;My motivation for this question is that having a polynomial&#xA;(&lt;span class=&quot;math-container&quot;&gt;$|s|^{|D|}$&lt;/span&gt;) number of equivalence classes like this gave me a&#xA;tractable case of constraint problems with cardinality constraints. I&#xA;am now trying to see if something along these lines can be done for&#xA;the regular constraint.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Edit&lt;/strong&gt;: Note also &lt;a href=&quot;https://cstheory.stackexchange.com/questions/7913/what-is-the-number-of-languages-accepted-by-a-dfa-of-size-n/7922#7922&quot;&gt;this answer&lt;/a&gt; by &lt;a href=&quot;https://cstheory.stackexchange.com/users/2367/hermann-gruber&quot;&gt;Hermann Gruber&lt;/a&gt; to the question referenced at the top. The bounds in the paper the answer links should yield a &lt;span class=&quot;math-container&quot;&gt;$k$&lt;/span&gt; such that the answer to question 1 must be &lt;span class=&quot;math-container&quot;&gt;$\geq k$&lt;/span&gt;, but it is not obvious to me.&lt;/p&gt;&#xA;" OwnerUserId="161" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2018-09-24T07:55:14.503" Title="Number of equivalence classes in regular languages as a function of DFA size" Tags="&lt;co.combinatorics&gt;&lt;fl.formal-languages&gt;&lt;automata-theory&gt;&lt;regular-language&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 4.0" />
  <row Id="7917" PostTypeId="2" ParentId="3815" CreationDate="2011-08-22T18:39:02.410" Score="2" Body="&lt;p&gt;This answer is based on the idea of Dana in her answer above.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think you can construct such a matrix using two-source lossy condensers. Fix $\delta = 0.001$ and say $N=2^n$. Suppose you have an explicit function $f(x,y)$ that takes any two independent random sources $(X, Y)$, each of length $n$ and having min-entropy at least $k = n(1/2 - \delta)$ and outputs a sequence of $n&amp;#39; = n/2$ bits that is $\epsilon$-close to a distribution with min-entropy at least $k&amp;#39;=n(1/2-3\delta)$. I think you can use standard probabilistic arguments to show that a random function satisfies these properties (with overwhelming probability) if $2k &amp;gt; k&amp;#39;+\log(1/\epsilon)+O(1)$. To probabilistic argument should be similar to what used in the following paper for lossless condensers and more general conductors:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;M. Capalbo, O. Reingold, S. Vadhan, A. Wigderson. Randomness Conductors and Constant-Degree Expansion Beyond the Degree/2 Barrier&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In our case, we set $\epsilon = 2^{-k&amp;#39;}$, so we are sure about the existence of the function that we need. Now, an averaging argument shows that there is an $n&amp;#39;$-bit string $z$ such that the number of $(x,y)$ with $f(x,y)=z$ is at least $2^{1.5 n}$. Suppose you know such a $z$ and fix it (you can pick any arbitrary $z$ if you additionally know that your function maps the fully uniform distribution to a distribution that is $O(2^{-n/2})$-close to uniform). Now identify the entries of your $N \times N$ matrix by the possibilities of $(x,y)$ and put a $1$ at position $(x,y)$ iff $f(x,y)=z$. By our choice of $z$, this matrix has at least $2^{1.5n}$ ones.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now take any $2^k \times 2^k$ submatrix and let $X, Y$ be uniform distributions on the picked rows and columns, respectively. By the choice of $f$, we know that $f(X,Y)$ is $\epsilon$-close to having min-entropy $k&amp;#39;$. Therefore, if we pick a uniformly random entry of the submatrix, the probability of having a $1$ is at most $2^{-k&amp;#39;}+\epsilon\leq 2^{-k&amp;#39;+1}$. This means that you have at most $2^{2k-k&amp;#39;+1} = O(2^{n/2 + \delta})$ ones in the submatrix, as desired.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course coming up with an &lt;em&gt;explicit&lt;/em&gt; $f$ with the desired parameters (in particular, nearly optimal output length) is a very challenging task and no such function in known so far.&lt;/p&gt;&#xA;" OwnerUserId="6190" LastEditorUserId="6190" LastEditDate="2011-08-22T22:20:54.357" LastActivityDate="2011-08-22T22:20:54.357" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7918" PostTypeId="1" AcceptedAnswerId="7923" CreationDate="2011-08-22T19:23:36.577" Score="4" ViewCount="332" Body="&lt;p&gt;there seem to exist papers on parallel sorting, but I have not found a good introduction into this topic.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, do you know a good summary or introduction into parallel sorting algorithms? In particular, I am looking for some good and handy examples that realize best lower bounds (e.g. like merge sort in the sequentiel case.), if available.&lt;/p&gt;&#xA;" OwnerUserId="4346" LastEditorUserId="74" LastEditDate="2011-10-13T17:06:10.807" LastActivityDate="2011-10-13T17:06:10.807" Title="Parallel sorting: introduction and state of research" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;dc.parallel-comp&gt;&lt;sorting&gt;&lt;sorting-network&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7919" PostTypeId="1" AcceptedAnswerId="7920" CreationDate="2011-08-22T21:29:33.700" Score="1" ViewCount="465" Body="&lt;p&gt;In the paper &lt;a href=&quot;http://www.stanford.edu/class/msande337/notes/the%20diameter%20of%20random%20regular%20graphs.pdf&quot; rel=&quot;nofollow&quot;&gt;The diameter of random regular graphs&lt;/a&gt;, Bollobás and Fernandez De La Vega give asymptotic lower and upper bounds on the diameter $d$ of random $r$-regular graphs. Roughly, the lower bound is $\Theta(log_{r-1}n)$, while the upper bound is $\Theta(log_{r-1}(nlogn))$, where $n$ is the number of nodes of the graph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would like to know (even just empirical) lower and upper bounds on the diameter of non-random $3$-regular graphs. More precisely, such non-random $3$-regular graphs in which I'm interested are those arising after reducing practical real world problem instances (which are known to be structured instead of random) to the $\sharp P$-complete problem $\sharp3$-regular Vertex Cover. In other words, suppose you have a real-world instance of a $NP$-complete problem, and suppose you want to count its solutions: following a chain of reductions, you come out with a $3$-regular graph $G$, whose number of vertex covers encodes the number of solutions of your initial instance.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Questions&lt;/strong&gt;  &lt;/p&gt;&#xA;  &#xA;  &lt;ol&gt;&#xA;  &lt;li&gt;How is $G$? Is it still structured, as the original instance? Or did it destroyed the initial structure?&lt;/li&gt;&#xA;  &lt;li&gt;If $G$ is structured, which are the lower bound and the upper bound on its diameter? Do the bounds given by Bollobás and Fernandez De La Vega still hold? Or are such bounds completely different in the structured case?&lt;/li&gt;&#xA;  &lt;li&gt;Does there exist any automated tool (along the lines of &lt;a href=&quot;http://toughsat.appspot.com/&quot; rel=&quot;nofollow&quot;&gt;ToughSAT&lt;/a&gt;) that, given an instance of a $NP$-complete problem, produces the graph $G$?&lt;/li&gt;&#xA;  &lt;/ol&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="947" LastEditorUserId="186" LastEditDate="2011-08-22T22:02:34.900" LastActivityDate="2011-08-22T22:02:34.900" Title="Lower and upper bounds on the diameter of 3-regular graphs obtained after reducing practical real world problem instances to #3-regular Vertex Cover" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;counting-complexity&gt;&lt;reductions&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="7920" PostTypeId="2" ParentId="7919" CreationDate="2011-08-22T21:47:55.753" Score="3" Body="&lt;p&gt;A lower bound of approximately $\log_2 n$ still follows for arbitrary 3-regular graphs, based simply on the fact that there are at most $3\times 2^i$ different paths of length $i$ from any  given starting vertex and one needs the diameter to be large enough to give a different path to each of the $n$ vertices. The random graph example that you mention (or the example of a complete binary tree with some extra edges thrown in to make it 3-regular) shows that this is tight to within a constant factor, and I'm pretty sure the actual lower bound is really $(1+o(1))\log_2 n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As for an upper bound: there exist 3-regular graphs with diameter $\Omega(n)$, for instance the &lt;a href=&quot;http://en.wikipedia.org/wiki/M%C3%B6bius_ladder&quot; rel=&quot;nofollow&quot;&gt;Möbius ladders&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you want to know the diameters of graphs coming from specific hardness constructions, you'd have to look at the details of those constructions, but my guess is that in most such cases it would be straightforward to tack on either a large binary tree or a large ladder in order to make the diameter as small or as large as you want without much changing the hardness of the instance.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2011-08-22T21:47:55.753" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="7921" PostTypeId="2" ParentId="7914" CreationDate="2011-08-22T21:58:32.787" Score="6" Body="&lt;p&gt;Here's a reduction from edge coloring that I believe shows this to be NP-complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let G,k be an instance of edge coloring: that is, we wish to know whether the edges of graph G can be colored with k colors. Make all edges in G negative, and add k new vertices to G, each connected by positive edges to every existing vertex in G.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then, if G has an edge coloring, the modified graph has a set of edge-disjoint valid triangles that includes all of the edges in G: simply form a triangle connecting each edge in G to the new vertex that corresponds to its color. Conversely, if there exists a set of edge-disjoint valid triangles that includes all of the edges in G, then one can use the identities of the new vertices in each triangle as colors in an edge coloring of G.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2011-08-22T21:58:32.787" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7922" PostTypeId="2" ParentId="7913" CreationDate="2011-08-22T22:35:43.300" Score="20" Body="&lt;p&gt;I think that this question has been studied previously. Mike Domaratzki wrote a survey on research in this area:&#xA;&quot;Enumeration of Formal Languages&quot;, Bull. EATCS, vol. 89 (June 2006), 113-133: &lt;a href=&quot;http://www.eatcs.org/images/bulletin/beatcs89.pdf&quot;&gt;http://www.eatcs.org/images/bulletin/beatcs89.pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="2367" LastEditorUserId="2367" LastEditDate="2011-08-23T18:37:35.347" LastActivityDate="2011-08-23T18:37:35.347" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="7923" PostTypeId="2" ParentId="7918" CreationDate="2011-08-22T22:40:46.307" Score="5" Body="&lt;p&gt;Parallel algorithms are very dependent on the computation model, and there are a lot of different parallel models. So, it is difficult to have a representative general introduction.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I teach parallel algorithms following the pattern I first saw in a similar course by my PhD advisor. I spend the first few lectures on sorting networks, covering Batcher's constructions, and AKS very briefly. Then I introduce a specific general-purpose parallel computation model (BSP suits me very well), and cover five or six textbook-type algorithmic problems, first recalling their sequential algorithms, and then discussing with students how to parallelize them efficiently. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Sorting is one of these problems. Its BSP solution is very elegant: parallel sorting by regular sampling (presented in the original paper by Shi and Schaeffer, and also Quinn's book &quot;Parallel Computing&quot;). It does realise the relevant lower bounds in computation, communication and, surprisingly, also synchronisation - by synchronising the whole computation only a constant number of times (whereas looking at mergesort and AKS, one would expect to have to synchronize O(log n) times). The optimality proof is non-trivial, yet simple enough to be presented in an undergraduate class in 20 minutes - so for me, it is indeed a very good and handy example to teach.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another good example is Leighton's columnsort - I am not teaching it, but would be if I had a bit more time.&lt;/p&gt;&#xA;" OwnerUserId="2869" LastEditorUserId="2869" LastEditDate="2011-08-23T10:13:33.610" LastActivityDate="2011-08-23T10:13:33.610" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7924" PostTypeId="2" ParentId="6438" CreationDate="2011-08-23T01:44:17.473" Score="2" Body="&lt;p&gt;The term strong is misleading here. Strong LL(k) languages are a proper subset of LL(k) languages, and every LL(k) grammar is also strong LL(k). So the answer is that if you have an LL(2) grammar, it is strong LL(2).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Briefly, the use of FOLLOW sets causes some left context information to be lost. A more interesting question is give an example of an LL(k) grammar that is not strong. Consider the classic example of a grammar that is LL(2), but not strong LL(2).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;S -&gt; a A a&lt;/p&gt;&#xA;&#xA;&lt;p&gt;S -&gt; b A b a&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A -&gt; b&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A -&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem is that &quot;ba&quot; predicts both of the S productions. The left context before the A is needed to resolve the conflict. This grammar is made strong LL(2) by adding a new, duplicate nonterminal A2 in the following way.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;S -&gt; a A a&lt;/p&gt;&#xA;&#xA;&lt;p&gt;S -&gt; b A2 b a&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A -&gt; b&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A -&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A2 -&gt; b&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A2 -&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now the left context is not needed because A and A2 are different nonterminals. &lt;/p&gt;&#xA;" OwnerUserId="6290" LastEditorUserId="6290" LastEditDate="2015-11-19T20:35:34.103" LastActivityDate="2015-11-19T20:35:34.103" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="7926" PostTypeId="5" CreationDate="2011-08-23T04:13:25.013" Score="0" Body="&lt;p&gt;Use this tag for questions where the OP is asking a &quot;how to model&quot; question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You should provide a reasonably clear and complete informal description of the task or concept you want a mathematical model for. Try to break your problem to parts and ask them one at a time. Don't ask a very-high level question, break it to reasonable parts and try to explain as mathematically as possible. Think clearly about what you want, and try to answer your question yourself before asking it on cstheory, explain what you have tried or found and why they are not satisfying. Do your homework, don't ask others to do what is your job.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Check &lt;a href=&quot;http://meta.cstheory.stackexchange.com/questions/1295/requirements-and-recommendations-for-how-to-model-x-how-to-do-x-x-an-inform&quot;&gt;this meta-discussion&lt;/a&gt; for further requirements and recommendations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The questions must satisfy the general requirements for being in the scope of cstheory as explained in the &lt;a href=&quot;http://cstheory.stackexchange.com/faq&quot;&gt;FAQ&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The related meta-discussion is &lt;a href=&quot;http://meta.cstheory.stackexchange.com/questions/514/how-to-model-this-questions&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2011-08-23T04:30:23.100" LastActivityDate="2011-08-23T04:30:23.100" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7927" PostTypeId="4" CreationDate="2011-08-23T04:13:25.013" Score="0" Body="Questions that ask for a mathematical/formal model of an intuitive concept or task" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2011-08-23T04:13:25.013" LastActivityDate="2011-08-23T04:13:25.013" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7928" PostTypeId="1" AcceptedAnswerId="7959" CreationDate="2011-08-23T06:28:35.487" Score="25" ViewCount="691" Body="&lt;p&gt;The result by &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0095895685710064&quot;&gt;Robertson and Seymour&lt;/a&gt; demonstrates an $O(n^3)$ algorithm for testing whether a fixed graph $G$ is a minor of $H$. I have two and a half questions on this topic:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) It appears that there have been improvements to this algorithm since. What is the best-known algorithm at present?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2a) What do people conjecture to be the optimal bound?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://epubs.siam.org/sidma/resource/1/sjdmec/v12/i1/p6_s1&quot;&gt;Mohar's algorithm for embedding on a fixed surface&lt;/a&gt; and &lt;a href=&quot;http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=5438591&quot;&gt;Kawarabayashi's algorithm for recognizing $k$-apex graphs&lt;/a&gt; decide membership of graphs characterizable by forbidden minors in linear time, motivating the last question:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2b) Is there any reason to suspect that we can do this in linear time?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course, if someone already came up with a linear-time algorithm, the last two questions are silly. :)&lt;/p&gt;&#xA;" OwnerUserId="5721" LastEditorUserId="186" LastEditDate="2011-09-01T00:55:10.780" LastActivityDate="2011-09-01T08:48:22.977" Title="The complexity of determining if a fixed graph is a minor of another" Tags="&lt;reference-request&gt;&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;graph-algorithms&gt;" AnswerCount="2" CommentCount="3" FavoriteCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="7929" PostTypeId="1" AcceptedAnswerId="7987" CreationDate="2011-08-23T08:11:20.827" Score="5" ViewCount="365" Body="&lt;p&gt;The question is asked first at &lt;a href=&quot;https://cstheory.stackexchange.com/questions/7878/an-interesting-variant-of-maximum-matching-problem&quot;&gt;here&lt;/a&gt;. It described what the problem is and a trival greedy algorithm. Also the accepted answer gave a proof of its NP-completeness.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;Problem&lt;/strong&gt;: Given a graph &lt;span class=&quot;math-container&quot;&gt;$G(V,E)$&lt;/span&gt;, Find a subset of edges &lt;span class=&quot;math-container&quot;&gt;$M \subseteq E$&lt;/span&gt;. For each edge &lt;span class=&quot;math-container&quot;&gt;$(u,v) \in M$&lt;/span&gt; , &lt;span class=&quot;math-container&quot;&gt;$\left( \left(d(u) &amp;lt; c\right) \lor \left(d(v) &amp;lt; c\right) \right)$&lt;/span&gt; holds, where &lt;span class=&quot;math-container&quot;&gt;$c=3$&lt;/span&gt;. &lt;span class=&quot;math-container&quot;&gt;$d(u)$&lt;/span&gt; means degree in &lt;span class=&quot;math-container&quot;&gt;$M$&lt;/span&gt;, i.e., &lt;span class=&quot;math-container&quot;&gt;$d(u)=|(u,v) \in M|$&lt;/span&gt;. We call this constraint a degree-constraint.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Output&lt;/strong&gt;: The maximum sized (cardinality of edges) &lt;span class=&quot;math-container&quot;&gt;$M$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;The problem on &lt;span class=&quot;math-container&quot;&gt;$c=2$&lt;/span&gt; is already &lt;span class=&quot;math-container&quot;&gt;$NP-complete$&lt;/span&gt; as shown by Jukka Suomela. There is a &lt;span class=&quot;math-container&quot;&gt;$2-approximation$&lt;/span&gt; algorithm for a general graph already.  Jukka devised a &lt;span class=&quot;math-container&quot;&gt;$O(|V|c)$&lt;/span&gt; DP for this problem when &lt;span class=&quot;math-container&quot;&gt;$G$&lt;/span&gt; is restricted on trees.&lt;/p&gt;&#xA;" OwnerUserId="6108" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2011-08-28T16:54:32.233" Title="A variant of maximum matching: disjunctive constraints on the endpoints' degrees of edges in matching" Tags="&lt;cc.complexity-theory&gt;&lt;graph-algorithms&gt;&lt;approximation-algorithms&gt;&lt;parameterized-complexity&gt;" AnswerCount="2" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="7930" PostTypeId="1" AcceptedAnswerId="7936" CreationDate="2011-08-23T14:08:33.623" Score="9" ViewCount="994" Body="&lt;p&gt;I have a finite set $S$, a function $f:S\to S$, and a total order $&amp;lt;$ on $S$. I want to find the number of distinct cycles in $S$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For a given element $s\in S$ I can use Floyd's algorithm (or Brent's, etc.) to find the length of the cycle that repeated applications of $f$ sends $s$ to; with a bit more effort I can identify this cycle (e.g. by its $&amp;lt;$-minimal element).  A bad method for solving the problem would be to repeat this each element, sort the resulting minimal elements discarding duplicates, and return the count.  But this potentially involves many passes over the same elements and large space requirements.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What methods have better time and space performance?  I'm not even sure what's the best way to measure the space needed&amp;mdash;if $f$ is the identity function then any method that stores all cycles will use $\Omega(n)$ space.&lt;/p&gt;&#xA;" OwnerUserId="962" LastActivityDate="2011-08-23T21:48:18.003" Title="Finding all cycles" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;" AnswerCount="3" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7931" PostTypeId="2" ParentId="1920" CreationDate="2011-08-23T14:25:21.880" Score="7" Body="&lt;p&gt;Additive combinatorics used to construct an explicit RIP matrix with $o(k^2)$ rows:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Jean Bourgain, Stephen J. Dilworth, Kevin Ford, Sergei Konyagin, Denka Kutzarova: Breaking the $k^2$ barrier for explicit RIP matrices. STOC 2011: 637-644.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Linear algebra used to sparsify graphs:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Joshua D. Batson, Daniel A. Spielman, Nikhil Srivastava: Twice-ramanujan sparsifiers. STOC 2009: 255-262.&lt;/p&gt;&#xA;" OwnerUserId="1810" LastActivityDate="2011-08-23T14:25:21.880" CommentCount="0" CommunityOwnedDate="2011-08-23T14:25:21.880" ContentLicense="CC BY-SA 3.0" />
  <row Id="7932" PostTypeId="2" ParentId="7930" CreationDate="2011-08-23T14:26:21.583" Score="1" Body="&lt;p&gt;You can avoid the multiple passes over the same elements by using a &lt;a href=&quot;http://en.wikipedia.org/wiki/Disjoint-set_data_structure&quot; rel=&quot;nofollow&quot;&gt;union set data-structure&lt;/a&gt;. One pass over each element $s$ unioning the set containing $s$ with the set containing $f(s)$. This still uses a lot of memory.&lt;/p&gt;&#xA;" OwnerUserId="3131" LastActivityDate="2011-08-23T14:26:21.583" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7933" PostTypeId="2" ParentId="7929" CreationDate="2011-08-23T16:10:10.637" Score="4" Body="&lt;p&gt;One should be able to get a simple constant factor approximation as follows. Partition the nodes of the graph randomly into two sets $V_1$ and $V_2$ - each node decides with probability half to go to $V_1$ or not. Ignore all the edges with both end points in the same side. We are left with a bipartite graph. Now solve a bipartite matching problem where the nodes in $V_1$ have capacity $1$ and the nodes on the right have no capacity limit. This gives a collection of stars. Analysis is left as an easy exercise :).&lt;/p&gt;&#xA;" OwnerUserId="176" LastActivityDate="2011-08-23T16:10:10.637" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="7936" PostTypeId="2" ParentId="7930" CreationDate="2011-08-23T17:40:57.227" Score="7" Body="&lt;p&gt;If all that you want to do is count the number of cycles, you can do this with 2|&lt;em&gt;S&lt;/em&gt;| bits (plus change) worth of space. It seems unlikely that you will be able to do much better unless &lt;em&gt;S&lt;/em&gt; or &lt;em&gt;f&lt;/em&gt; have some particularly convenient properties.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Start with an array A storing integers {0,1,2} &amp;mdash; one per element of &lt;em&gt;S&lt;/em&gt; &amp;mdash; initialized to zero; we will indicate these as &lt;code&gt;(unexplored)&lt;/code&gt;, &lt;code&gt;(partially explored)&lt;/code&gt;, and &lt;code&gt;(fully explored)&lt;/code&gt;. Initialize a cycle counter to zero. For each element &lt;em&gt;s&lt;/em&gt;&amp;nbsp;&amp;isin;&amp;nbsp;&lt;em&gt;S&lt;/em&gt; in order, do the following:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;If A[&lt;em&gt;s&lt;/em&gt;]&amp;nbsp;=&amp;nbsp;&lt;code&gt;(fully explored)&lt;/code&gt;, skip to step 6.&lt;/li&gt;&#xA;&lt;li&gt;Set A[&lt;em&gt;s&lt;/em&gt;]&amp;nbsp;&amp;larr;&amp;nbsp;&lt;code&gt;(partially explored)&lt;/code&gt;, and set an iterator &lt;em&gt;j&lt;/em&gt;&amp;nbsp;&amp;larr;&amp;nbsp;&lt;em&gt;f(s)&lt;/em&gt;.&lt;/li&gt;&#xA;&lt;li&gt;While A[&lt;em&gt;j&lt;/em&gt;]&amp;nbsp;=&amp;nbsp;&lt;code&gt;(unexplored)&lt;/code&gt;, set A[&lt;em&gt;j&lt;/em&gt;]&amp;nbsp;&amp;larr;&amp;nbsp;&lt;code&gt;(partially explored)&lt;/code&gt;, and set &lt;em&gt;j&lt;/em&gt;&amp;nbsp;&amp;larr;&amp;nbsp;&lt;em&gt;f(j)&lt;/em&gt;.&lt;/li&gt;&#xA;&lt;li&gt;If A[&lt;em&gt;j&lt;/em&gt;]&amp;nbsp;=&amp;nbsp;&lt;code&gt;(partially explored)&lt;/code&gt;, we have closed a new cycle; increment &lt;em&gt;c&lt;/em&gt; by 1. (If you want to keep a record of some representative of this cycle, the current value of &lt;em&gt;j&lt;/em&gt; will do as an arbitrary choice; of course, this won't necessarily be the minimal element in the cycle under your preferred order &amp;lt;.) Otherwise, we have A[&lt;em&gt;j&lt;/em&gt;]&amp;nbsp;=&amp;nbsp;&lt;code&gt;(fully explored)&lt;/code&gt;, which means that we have discovered a pre-explored orbit which ends in an already counted cycle; do not increment &lt;em&gt;c&lt;/em&gt;.&lt;/li&gt;&#xA;&lt;li&gt;To indicate that the orbit starting at &lt;em&gt;s&lt;/em&gt; has now been fully explored, set &lt;em&gt;j&lt;/em&gt;&amp;nbsp;&amp;larr;&amp;nbsp;&lt;em&gt;s&lt;/em&gt;. &lt;br&gt;While A[&lt;em&gt;j&lt;/em&gt;]&amp;nbsp;=&amp;nbsp;&lt;code&gt;(partially explored)&lt;/code&gt;, set A[&lt;em&gt;j&lt;/em&gt;]&amp;nbsp;&amp;larr;&amp;nbsp;&lt;code&gt;(fully explored)&lt;/code&gt; and set &lt;em&gt;j&lt;/em&gt;&amp;nbsp;&amp;larr;&amp;nbsp;&lt;em&gt;f(j)&lt;/em&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Proceed to the next element &lt;em&gt;s&lt;/em&gt;&amp;nbsp;&amp;isin;&amp;nbsp;&lt;em&gt;S&lt;/em&gt;. &lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Thus, each cycle among the orbits induced by &lt;em&gt;f&lt;/em&gt; will be counted once; and any elements you record as representatives will be elements of distinct cycles. The memory requirements are 2|&lt;em&gt;S&lt;/em&gt;| for the array A, O(log |&lt;em&gt;S&lt;/em&gt;|) for the cycle count, and other odds and ends.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Each element &lt;em&gt;s&lt;/em&gt;&amp;nbsp;&amp;isin;&amp;nbsp;&lt;em&gt;S&lt;/em&gt; will be visited at least twice: once when the value of A[&lt;em&gt;s&lt;/em&gt;] is changed from &lt;code&gt;(unexplored)&lt;/code&gt; to &lt;code&gt;(partially explored)&lt;/code&gt;, and once for the change to &lt;code&gt;(fully explored)&lt;/code&gt;. The total number of times that any nodes are revisited after having been &lt;code&gt;(fully explored)&lt;/code&gt; is bounded above by the number of attempts to find new cycles which fail to do so, which is at most |&lt;em&gt;S&lt;/em&gt;| &amp;mdash; arising from the main loop iterating through all elements of &lt;em&gt;S&lt;/em&gt;. Thus, we can expect this process to involve at most 3|&lt;em&gt;S&lt;/em&gt;| node-traversals, counting all the times that nodes are visited or revisited. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you want to keep track of representative elements of the cycles, and you really would like them to be the minimal elements, you can bound the number of node visitations to 4|&lt;em&gt;S&lt;/em&gt;|, if you add an additional &quot;lap around the cycle&quot; at step 4 to find a representative which is smaller than the one where you close the loop. (If the orbits under &lt;em&gt;f&lt;/em&gt; consisted &lt;strong&gt;only&lt;/strong&gt; of cycles, this extra work could be avoided, but that's not true of arbitrary &lt;em&gt;f&lt;/em&gt;.)&lt;/p&gt;&#xA;" OwnerUserId="248" LastEditorUserId="248" LastEditDate="2011-08-23T17:48:46.357" LastActivityDate="2011-08-23T17:48:46.357" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="7937" PostTypeId="1" AcceptedAnswerId="7938" CreationDate="2011-08-23T18:18:18.733" Score="13" ViewCount="695" Body="&lt;p&gt;Parity-L, also known as $\oplus$L, is the set of languages recognized by a non-deterministic Turing machine which can only distinguish between an even number or odd number of &quot;acceptance&quot; paths. A recent &lt;a href=&quot;https://cstheory.stackexchange.com/questions/175/what-are-the-consequences-of-parity-l-p&quot;&gt;related question&lt;/a&gt; was asked by Niel de Beaudrap.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is the following:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Do we know if  NL $\subseteq$ $\oplus$L? Or are these two classes believed to be incomparable?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="1080" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.743" LastActivityDate="2011-08-24T00:40:37.953" Title="Parity-L vs. NL" Tags="&lt;cc.complexity-theory&gt;&lt;counting-complexity&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7938" PostTypeId="2" ParentId="7937" CreationDate="2011-08-23T19:24:27.090" Score="19" Body="&lt;p&gt;Non-uniformly, NL is contained in parity-L: see &lt;a href=&quot;http://www.math.ias.edu/~avi/PUBLICATIONS/MYPAPERS/W94/proc.pdf&quot;&gt;http://www.math.ias.edu/~avi/PUBLICATIONS/MYPAPERS/W94/proc.pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="42" LastActivityDate="2011-08-23T19:24:27.090" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7939" PostTypeId="2" ParentId="7841" CreationDate="2011-08-23T19:31:13.800" Score="24" Body="&lt;p&gt;I believe here is a different proof, proving the impossibility of an $\mathcal{O}(\log ^k n)$ query time structure, with $\mathcal{O}(n)$ pre-processing.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose in the preprocessing you do $\mathcal{O}(n)$ comparisons, leading to a partial order.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now consider the size $A$ of the largest antichain in that. Since these elements are not comparable, for us to have an $\mathcal{O}(\log ^k n)$ query algorithm, we must have that $A = \mathcal{O}(\log ^k n)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now by Dilworth's theorem, there is a partition of size $A$, into chains.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now we can complement the algorithm to determine the chains in the partition. We can determine if two elements are comparable by creating a directed graph of comparisons and doing a reachability analysis. This can be done without any additional comparisons. Now just brute force out each possible partition of size $A$ to determine if it is a partition of chains. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Once we have the chains, we can merge them to give an $\mathcal{O}(n \log \log n)$ comparisons algorithm for sorting the whole list.&lt;/p&gt;&#xA;" OwnerUserId="126" LastEditorUserId="46309" LastEditDate="2017-08-09T18:05:37.377" LastActivityDate="2017-08-09T18:05:37.377" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="7940" PostTypeId="2" ParentId="7930" CreationDate="2011-08-23T19:58:29.830" Score="5" Body="&lt;p&gt;If you have very few cycles, here's an algorithm which will use less space, but take substantially longer to terminate.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;[Edit.]&lt;/strong&gt; My previous run-time analysis missed the crucial cost of determining whether the nodes we visit are among those previously sampled; this answer has been somewhat revised to correct this.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We again iterate through all of the elements of &lt;em&gt;S&lt;/em&gt;. As we explore orbits of the elements &lt;em&gt;s&lt;/em&gt;&amp;nbsp;&amp;isin;&amp;nbsp;&lt;em&gt;S&lt;/em&gt;, we sample from the nodes that we've visited, in order to be able to check if we come across them again. We also maintain a list of samples from of 'components' &amp;mdash; unions of orbits which terminate in a common cycle (and which are therefore equinumerous to cycles) &amp;mdash; that have previously been visited.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Initialize an empty list of components, &lt;code&gt;complist&lt;/code&gt;. Each component is represented by a collection of samples from that component; we also maintain a search tree &lt;code&gt;samples&lt;/code&gt; which stores all those elements which have been selected as samples for some component or other. Let &lt;em&gt;G&lt;/em&gt; be a sequence of integers up to &lt;em&gt;n&lt;/em&gt;, for which membership is efficiently determinable by computing some boolean predicate; for example, powers of 2 or perfect &lt;em&gt;p&lt;/em&gt;&lt;sup&gt;th&lt;/sup&gt; powers for some integer &lt;em&gt;p&lt;/em&gt;.&#xA;For each &lt;em&gt;s&lt;/em&gt;&amp;nbsp;&amp;isin;&amp;nbsp;&lt;em&gt;S&lt;/em&gt;, do the following:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;If &lt;em&gt;s&lt;/em&gt; is in &lt;code&gt;samples&lt;/code&gt;, skip to step #5.&lt;/li&gt;&#xA;&lt;li&gt;Initialize an empty list &lt;code&gt;cursample&lt;/code&gt;, an iterator &lt;em&gt;j&lt;/em&gt;&amp;nbsp;&amp;larr;&amp;nbsp;f(&lt;em&gt;s&lt;/em&gt;), and a counter &lt;em&gt;t&lt;/em&gt;&amp;nbsp;&amp;larr;&amp;nbsp;1.&lt;/li&gt;&#xA;&lt;li&gt;While &lt;em&gt;j&lt;/em&gt; is not in &lt;code&gt;samples&lt;/code&gt;:&lt;br&gt;&#xA;&amp;mdash; If &lt;em&gt;t&lt;/em&gt;&amp;nbsp;&amp;isin;&amp;nbsp;&lt;em&gt;G&lt;/em&gt;, insert &lt;em&gt;j&lt;/em&gt; into both &lt;code&gt;cursample&lt;/code&gt; and &lt;code&gt;samples&lt;/code&gt;.&lt;br&gt;&#xA;&amp;mdash; Increment &lt;em&gt;t&lt;/em&gt; and set &lt;em&gt;j&lt;/em&gt;&amp;nbsp;&amp;larr;&amp;nbsp;&lt;em&gt;f(j)&lt;/em&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Check to see if &lt;em&gt;j&lt;/em&gt; is in &lt;code&gt;cursample&lt;/code&gt;. If not, we have encountered a previously explored component: we check which component &lt;em&gt;j&lt;/em&gt; belongs to, and insert all of the elements of &lt;code&gt;cursample&lt;/code&gt; into the appropriate element of &lt;code&gt;complist&lt;/code&gt; to augment it. Otherwise, we have re-encountered an element from the current orbit, meaning that we have traversed a cycle at least once without encountering any representatives of previously-discovered cycles: we insert &lt;code&gt;cursample&lt;/code&gt;, as a collection of samples from a newly found component, into &lt;code&gt;complist&lt;/code&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Proceed to the next element &lt;em&gt;s&lt;/em&gt;&amp;nbsp;&amp;isin;&amp;nbsp;&lt;em&gt;S&lt;/em&gt;.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;For &lt;em&gt;n&lt;/em&gt;&amp;nbsp;=&amp;nbsp;|&lt;em&gt;S&lt;/em&gt;|, let &lt;em&gt;X(n)&lt;/em&gt; be a monotone increasing function describing the expected number of cycles (&lt;em&gt;e.g.&lt;/em&gt;&amp;nbsp;&lt;em&gt;X(n)&lt;/em&gt; =&amp;nbsp;&lt;em&gt;n&lt;/em&gt;&lt;sup&gt;1/3&lt;/sup&gt;), and let &lt;em&gt;Y(n)&lt;/em&gt; = &lt;em&gt;y(n)&lt;/em&gt;&amp;nbsp;log(&lt;em&gt;n&lt;/em&gt;) &amp;isin; &amp;Omega;(&lt;em&gt;X(n)&lt;/em&gt;&amp;nbsp;log(&lt;em&gt;n&lt;/em&gt;)) be a monotone increasing function determining a target for memory usage (&lt;em&gt;e.g.&lt;/em&gt;&amp;nbsp;&lt;em&gt;y(n)&lt;/em&gt; =&amp;nbsp;&lt;em&gt;n&lt;/em&gt;&lt;sup&gt;1/2&lt;/sup&gt;). We require &lt;em&gt;y(n)&lt;/em&gt;&amp;nbsp;&amp;isin;&amp;nbsp;&amp;Omega;(&lt;em&gt;X(n)&lt;/em&gt;) because it will take at least &lt;em&gt;X(n)&lt;/em&gt;&amp;nbsp;log(&lt;em&gt;n&lt;/em&gt;) space to store one sample from each component.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;The more elements of an orbit we sample, the more likely we are to quickly select a sample in the cycle at the end of an orbit, and thereby quickly detect that cycle. From an asymptotics point of view, it then makes sense to obtain as many samples as our memory bounds permit: we may as well set &lt;em&gt;G&lt;/em&gt; to have an expected &lt;em&gt;y(n)&lt;/em&gt; elements which are less than &lt;em&gt;n&lt;/em&gt;.&lt;br&gt;&amp;mdash; If the maximum length of an orbit in &lt;em&gt;S&lt;/em&gt; is expected to be &lt;em&gt;L&lt;/em&gt;, we may let &lt;em&gt;G&lt;/em&gt; be the integer multiples of &lt;em&gt;L&lt;/em&gt;&amp;nbsp;/&amp;nbsp;&lt;em&gt;y(n)&lt;/em&gt;.&lt;br&gt;&amp;mdash; If there is no expected length, we may simply sample once every &lt;em&gt;n&lt;/em&gt;&amp;nbsp;/&amp;nbsp;&lt;em&gt;y(n)&lt;/em&gt; elements; this is in any case an upper bound on the intervals between samples.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;If, in seeking a new component, we begin to traverse elements of &lt;em&gt;S&lt;/em&gt; which we have previously visited (either from a new component being discovered or an old one whose terminal cycle has already been found), it will take at most &lt;em&gt;n&lt;/em&gt;&amp;nbsp;/&amp;nbsp;&lt;em&gt;y(n)&lt;/em&gt; iterations to encounter a previously sampled element; this is then an upper bound on the number of times, for each attempt to find a new component, we traverse redundant nodes. Because we make &lt;em&gt;n&lt;/em&gt; such attempts, we will then redundantly visit elements of &lt;em&gt;S&lt;/em&gt; at most &lt;em&gt;n&lt;/em&gt;&lt;sup&gt;2&lt;/sup&gt;&amp;nbsp;/&amp;nbsp;&lt;em&gt;y(n)&lt;/em&gt; times in total.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The work required to test for membership in &lt;code&gt;samples&lt;/code&gt; is O(&lt;em&gt;y(n)&lt;/em&gt;&amp;nbsp;log&amp;nbsp;&lt;em&gt;y(n)&lt;/em&gt;), which we repeat at every visitation: the cumulative cost of this checking is O(&lt;em&gt;n&lt;/em&gt;&lt;sup&gt;2&lt;/sup&gt;&amp;nbsp;log&amp;nbsp;&lt;em&gt;y(n)&lt;/em&gt;). There is also the cost of adding the samples to their respective collections, which cumulatively is O(&lt;em&gt;y(n)&lt;/em&gt;&amp;nbsp;log&amp;nbsp;&lt;em&gt;y(n)&lt;/em&gt;). Finally, each time we re-encounter a previously discovered component, we must expend up to &lt;em&gt;X(n)&lt;/em&gt;&amp;nbsp;log*&amp;nbsp;&lt;em&gt;y(n)&lt;/em&gt; time to determine which component we rediscovered; as this may happen up to &lt;em&gt;n&lt;/em&gt; times, the cumulative work involved is bounded by &lt;em&gt;n&amp;nbsp;X(n)&lt;/em&gt;&amp;nbsp;log&amp;nbsp;&lt;em&gt;y(n)&lt;/em&gt;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Thus, the cumulative work performed in checking whether the nodes we visit are among the samples dominate the run-time: this costs O(&lt;em&gt;n&lt;/em&gt;&lt;sup&gt;2&lt;/sup&gt;&amp;nbsp;log&amp;nbsp;&lt;em&gt;y(n)&lt;/em&gt;). Then we should make &lt;em&gt;y(n)&lt;/em&gt; as small as possible, which is to say O(&lt;em&gt;X(n)&lt;/em&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thus, one may enumerate the number of cycles (which is the same as the number of components which end in those cycles) in O(&lt;em&gt;X(n)&lt;/em&gt;&amp;nbsp;log(&lt;em&gt;n&lt;/em&gt;)) space, taking O(&lt;em&gt;n&lt;/em&gt;&lt;sup&gt;2&lt;/sup&gt;&amp;nbsp;log&amp;nbsp;&lt;em&gt;X(n)&lt;/em&gt;) time to do so, where &lt;em&gt;X(n)&lt;/em&gt; is the expected number of cycles.&lt;/p&gt;&#xA;" OwnerUserId="248" LastEditorUserId="248" LastEditDate="2011-08-23T21:48:18.003" LastActivityDate="2011-08-23T21:48:18.003" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7941" PostTypeId="1" CreationDate="2011-08-24T00:43:21.103" Score="7" ViewCount="230" Body="&lt;p&gt;A particular model I am working with can only compute a function &lt;span class=&quot;math-container&quot;&gt;$f: \{0,1\}^n \rightarrow \{0,1\}$&lt;/span&gt; iff &lt;span class=&quot;math-container&quot;&gt;$f(x_1,...,x_n)$&lt;/span&gt; is a linear combination (over &lt;span class=&quot;math-container&quot;&gt;$\text{GF}(2)$&lt;/span&gt;) of the &lt;span class=&quot;math-container&quot;&gt;$x_i$&lt;/span&gt;'s or has at most a constant amount of non-linearity. What is the complexity class that most closely corresponds to my model?&lt;/p&gt;&#xA;&lt;h3&gt;Non-linearity&lt;/h3&gt;&#xA;&lt;p&gt;I am not sure if there is a standard definition so let &lt;span class=&quot;math-container&quot;&gt;$S,T \subseteq \{1,...,n\}$&lt;/span&gt;, and &lt;span class=&quot;math-container&quot;&gt;$x_S$&lt;/span&gt; (or, &lt;span class=&quot;math-container&quot;&gt;$x_T$&lt;/span&gt;) mean the bitstring from only the bits of &lt;span class=&quot;math-container&quot;&gt;$x$&lt;/span&gt; whose index is in &lt;span class=&quot;math-container&quot;&gt;$S$&lt;/span&gt; (or, &lt;span class=&quot;math-container&quot;&gt;$T$&lt;/span&gt;). Then we can define a function as &lt;span class=&quot;math-container&quot;&gt;$k$&lt;/span&gt;-near linear as follows:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$f$&lt;/span&gt; is &lt;span class=&quot;math-container&quot;&gt;$0$&lt;/span&gt;-near linear if it is linear.&lt;/p&gt;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$f$&lt;/span&gt; is &lt;span class=&quot;math-container&quot;&gt;$k$&lt;/span&gt;-near linear if:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;span class=&quot;math-container&quot;&gt;$f(x) = g(x_S) \oplus h(x_T)$&lt;/span&gt;  and &lt;span class=&quot;math-container&quot;&gt;$g$&lt;/span&gt; is &lt;span class=&quot;math-container&quot;&gt;$i$&lt;/span&gt;-near linear and &lt;span class=&quot;math-container&quot;&gt;$h$&lt;/span&gt; is &lt;span class=&quot;math-container&quot;&gt;$j$&lt;/span&gt;-linear and &lt;span class=&quot;math-container&quot;&gt;$i + j = k$&lt;/span&gt;.&lt;/li&gt;&#xA;&lt;li&gt;&lt;span class=&quot;math-container&quot;&gt;$f(x)  = g(x_S) \wedge h(x_T)$&lt;/span&gt; or &lt;span class=&quot;math-container&quot;&gt;$f(x)  = g(x_S) \vee h(x_T)$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$g$&lt;/span&gt; is &lt;span class=&quot;math-container&quot;&gt;$i$&lt;/span&gt;-near linear and &lt;span class=&quot;math-container&quot;&gt;$h$&lt;/span&gt; is &lt;span class=&quot;math-container&quot;&gt;$j$&lt;/span&gt;-near linear and &lt;span class=&quot;math-container&quot;&gt;$i + j = k - 1$&lt;/span&gt;.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;for some &lt;span class=&quot;math-container&quot;&gt;$S$&lt;/span&gt;, &lt;span class=&quot;math-container&quot;&gt;$T$&lt;/span&gt;, &lt;span class=&quot;math-container&quot;&gt;$g$&lt;/span&gt;, and &lt;span class=&quot;math-container&quot;&gt;$h$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;If a function is &lt;span class=&quot;math-container&quot;&gt;$k$&lt;/span&gt;-linear on any input size (where &lt;span class=&quot;math-container&quot;&gt;$k$&lt;/span&gt; is a constant) then I say the function has a constant amount of non-linearity. If this is not a standard definition, could you point me in the comments to a standard definition? Is my definition obviously equivalent to some other standard definition?&lt;/p&gt;&#xA;&lt;h3&gt;Question&lt;/h3&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;What is the complexity class associated with functions that are &lt;span class=&quot;math-container&quot;&gt;$k$&lt;/span&gt;-near linear? And how does it compare to other popular complexity classes?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;I can obviously simulate &lt;span class=&quot;math-container&quot;&gt;$\mathsf{NC}_0$&lt;/span&gt;. However, I can also compute parity, and can't compute the &lt;span class=&quot;math-container&quot;&gt;$\text{OR}$&lt;/span&gt; function on &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt; bits, and so the complexity class is incomparable to &lt;span class=&quot;math-container&quot;&gt;$AC_0$&lt;/span&gt;. I have also heard of width-&lt;span class=&quot;math-container&quot;&gt;$2$&lt;/span&gt; OBDDs as 'the next step' after linear, however the characterizations of approximating width-&lt;span class=&quot;math-container&quot;&gt;$2$&lt;/span&gt; OBDDs I have seen allow for a logarithmic amount of non-linearity (as far as I can tell).&lt;/p&gt;&#xA;" OwnerUserId="1037" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2011-08-24T01:12:06.303" Title="Complexity class that captures linear or nearly-linear functions" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;" AnswerCount="0" CommentCount="6" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="7942" PostTypeId="1" AcceptedAnswerId="7947" CreationDate="2011-08-24T07:32:56.037" Score="7" ViewCount="1034" Body="&lt;p&gt;Suppose I have a regular language $L$, and I would like to lower-bound the complexity of deciding membership in $L$. Suppose I know that the minimal DFA for $L$ has $N$ states.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would like to claim that determining the membership of a string of length $n$ in $L$ requires time $\Omega(n\log N)$. The dependence on $n$ is obvious -- I have to read the whole string, in general, to know if it belongs to a language. The $\log N$ factor is because to know what state I am in I need to write it down, and this takes time $\log N$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This requires arguing that there is no faster way to determine membership in $L$ than to run its minimal DFA (implicitly or explicitly). I think such an argument can be formalized (via equivalence classes, for example), but perhaps I am being naive.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Question: Is the $\Omega(n\log N)$ lower bound correct?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit: let me make this more formal. Is there an infinite family of distinct minimal DFAs $A_1, A_2,..$ such that some algorithm simulating the $\{A_i\}$ on a deterministic RAM machine can determine membership of $x$ in $L(A_i)$ in time $o(|x|\log|A_i|)$, where $|x|$ is string length and $|A_i|$ is the number of states?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit2: Kaveh's and Aaron's answers seem to indicate that my lower bound is false. But I would love to see a non-trivial counter example. Suppose:&#xA;(a) I have a family of regular languages $\{L_n\}$&#xA;(b) each $L_n$ has a compact description (say, as an NFA) of size $poly(n)$, but the minimal DFA for $L_n$ has size $2^n$&#xA;(c) for each $n$, there is no fixed-length prefix that determines membership in $L_n$ (this rules out Kaveh's examples -- you really do need to read the whole string)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can somebody give an example of a family $L_n$ satisfying (a,b,c) for which there is a TM taking $n$ and $x\in\Sigma^*$ as inputs and deciding $x\in?L_n$ in time $o(n|x|)$?&#xA;[Note that we've switched from RAM to TM as the computational model; $n$ is given in binary.]&lt;/p&gt;&#xA;" OwnerUserId="1746" LastEditorUserId="1746" LastEditDate="2011-08-24T12:08:34.947" LastActivityDate="2011-08-24T15:44:38.020" Title="Complexity lower bound for regular languages" Tags="&lt;fl.formal-languages&gt;&lt;automata-theory&gt;&lt;time-complexity&gt;&lt;regular-language&gt;&lt;dfa&gt;" AnswerCount="3" CommentCount="18" ContentLicense="CC BY-SA 3.0" />
  <row Id="7943" PostTypeId="1" CreationDate="2011-08-24T08:21:10.747" Score="4" ViewCount="328" Body="&lt;p&gt;Let $W = \{s_1, s_2, \ldots, s_n\}$ be a set of $m$-length binary strings and let $\land$ and $\lor$ be the binary operators of bitwise AND and OR. A &lt;em&gt;bitwise formula&lt;/em&gt; $\phi$ is composed of operands in $A \subseteq W$, operators in $ \{(,),\land, \lor\}$, and computes a $m$-length binary string $x = \phi$. Then we say that $x$ can be expressed by $W$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We say a set $W$ is &lt;em&gt;expressive complete&lt;/em&gt; if for any $x \in W$, $x$ can be expressed by a bitwise formula using operands in $W \setminus \{x\}$.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Question:&lt;/strong&gt; Given $W$, determine the &lt;strong&gt;minimum&lt;/strong&gt; number $n$ of $m$-length binary strings that need to be added to $W$ to make it expressive complete.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Example 1:&lt;/strong&gt; Let $m = 2$ and $W = \{01, 10\}$. Then then both 00 and 11 need to be added to $W$ to make it expressive complete. Thus, $n = 2$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Example 2:&lt;/strong&gt; Let $m = 3$ and $W = \{001, 010, 100, 011, 110, 101\}$. $W$ is already expressive complete, so $n = 0$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;A Trivial Upperbound:&lt;/strong&gt; $2m$ is an upperbound, because for vector space $\{0,1\}^m$, $\{ 0...01, 0...010,..., 10...0\}$ is a base and $\{1...10, 1...101,...,01...1\}$ is also a base. After adding these two bases to $W$, $W$ is certainly expressive complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Related result (might be helpful for the question) proved:&lt;/strong&gt;&#xA;$x$ could be expressed from $A\subseteq W$ if and only if $\bigwedge_{i \in \mathsf{Zero}(x)} {t_i} = x$. Where $\mathsf{Zero}(x)$ is the set of 0 valued indicies of $x$. And $t_i$ is the $\lor$ opreated on all the binary strings in $A$ whose $i^{th}$ bit is 0.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thank you very much for your comments and answers. :)&lt;/p&gt;&#xA;" OwnerUserId="6108" LastEditorUserId="6108" LastEditDate="2011-08-27T12:05:54.700" LastActivityDate="2011-08-27T12:05:54.700" Title="Problem with bitwise AND/OR on binary strings" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;co.combinatorics&gt;" AnswerCount="0" CommentCount="12" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="7945" PostTypeId="2" ParentId="7942" CreationDate="2011-08-24T09:58:21.603" Score="4" Body="&lt;p&gt;Edited to add: I don't think this answer is on point, but I will leave it up.  Now community wiki so I don't get any more reputation for this.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The lower bound is not correct. Intuitively, this is because, to decide membership in $L$, I need to know the &lt;em&gt;description&lt;/em&gt; of the DFA, but I may not need to run the DFA on the input if I am a Turing machine.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More formally, there is a Kolmogorov Complexity Characterization Theorem for Regular Languages. It states in part that the following are equivalent:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;$L$ is regular.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;$C(\chi_1 \ldots \chi_n) \leq \log n + c_L$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Here, C is &quot;simple&quot; Kolmogorov Complexity, $\chi$ is the characteristic sequence of $L$, and $c_L$ is a constant depending only on $L$. Intuitively, this constant is the number of bits required to describe the minimal DFA for $L$, plus some overhead.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finding such a minimum Turing program for $L$ might be hard.......&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is discussed in detail in Section 6.8 of Li and Vitanyi's book on Kolmogorov Complexity.&lt;/p&gt;&#xA;" OwnerUserId="30" LastEditorUserId="30" LastEditDate="2011-08-24T15:44:38.020" LastActivityDate="2011-08-24T15:44:38.020" CommentCount="2" CommunityOwnedDate="2011-08-24T15:44:38.020" ContentLicense="CC BY-SA 3.0" />
  <row Id="7947" PostTypeId="2" ParentId="7942" CreationDate="2011-08-24T14:41:13.610" Score="6" Body="&lt;p&gt;I'll answer my own question -- the conjectured lower bound is false. Consider &#xA;$L_n=\Sigma^* 0 \Sigma^n$ (that is, the collection of all strings with a $0$ in the $n$th location from the end). It's easy to see that there is an $O(n)$ size NFA for $L_n$, but the minimal DFA for $L_n$ is exponential. Here is a TM that decides membership in $L_n$ in time $O(|x|+n)$: scan $x$ to the end (time $|x|$) and read $n$ steps back to see if that letter is $0$.&lt;/p&gt;&#xA;" OwnerUserId="1746" LastActivityDate="2011-08-24T14:41:13.610" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="7948" PostTypeId="2" ParentId="7942" CreationDate="2011-08-24T14:42:20.443" Score="0" Body="&lt;p&gt;I am not 100% sure if this satisfies your condition for non-trivial, but here is a partial counter-example.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Take a decision problem $P$ which has a uniform circuit-complexity that is $O(n^{1 - \epsilon})$. For each $n$ consider the $L&amp;#39;_n$ that accepts only those strings that are in $P$ and have length $n$. This $L&amp;#39;_n$ probably has exponential size (if you pick $P$ carefully), however this is a language that accepts based on finite prefix; thus needs to be modified to achieve condition (c). Define $L_n = (L&amp;#39;_n)^*$ (i.e map the initial state an accepting one, and map each accepting state to the initial state).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given an input $(n,x)$ build the circuit $C_n$ run it on $n$-bit chunks of $x$.&lt;/p&gt;&#xA;" OwnerUserId="1037" LastActivityDate="2011-08-24T14:42:20.443" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7949" PostTypeId="1" CreationDate="2011-08-24T14:48:33.360" Score="5" ViewCount="140" Body="&lt;p&gt;While browsing I've stumbled over the Phoenix Mars lander&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Phoenix_(spacecraft)#Phoenix_DVD&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/Phoenix_(spacecraft)#Phoenix_DVD&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;and it says that the craft contains a DVD with all kinds of information on it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now my question would be: If the disc is made to last centuries or even millenia, how would one make sure that the digital information can be decoded in a future when all knowledge about present-day encoding must be assumed long forgotten?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm not even talking about building a working DVD player; if all else fails, take a strong microscope and extract the bits the hard way. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's about, how would I, as a future scientist, interpret the bits such that the original meaning is restored, and how would I know that I've picked the right decoding? &quot;Digital Memory Loss&quot; has been recognized as a major problem already, and it's only been a few decades since we earnestly started producing (and forgetting!) mass quantities of digital information.&lt;/p&gt;&#xA;" OwnerUserId="6317" LastActivityDate="2011-08-24T15:43:03.900" Title="Long-term data encoding, Phoenix Mars DVD" Tags="&lt;it.information-theory&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7950" PostTypeId="2" ParentId="7949" CreationDate="2011-08-24T15:43:03.900" Score="5" Body="&lt;p&gt;Ordinarily, I'd think this was out of scope. However, there's an interesting series of papers involving Madhu Sudan, Brendan Juba and Oded Goldreich on what they call universal semantic communication (or how to talk with aliens). The papers are here: &lt;a href=&quot;http://people.csail.mit.edu/madhu/bib.html#juba&quot; rel=&quot;nofollow&quot;&gt;one&lt;/a&gt;, &lt;a href=&quot;http://people.csail.mit.edu/madhu/bib.html#usc2&quot; rel=&quot;nofollow&quot;&gt;two&lt;/a&gt;, &lt;a href=&quot;http://people.csail.mit.edu/madhu/bib.html#beliefs&quot; rel=&quot;nofollow&quot;&gt;three&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2011-08-24T15:43:03.900" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7951" PostTypeId="1" AcceptedAnswerId="7979" CreationDate="2011-08-24T18:08:16.953" Score="20" ViewCount="2535" Body="&lt;blockquote&gt;&#xA;&lt;p&gt;Predicting the stock market is hard! Can TCS make this sentiment more formal?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Recently I have started thinking a little bit about finance, and was wondering how knowledge of TCS could help. Hedge funds and investment firms seems to use algorithmic trading, machine learning, and AI all the time, but TCS results seem to be few. In particular, I only know two papers:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Sanjeev Arora, Boaz Barak, Markus Brunnermeier, and Rong Ge, &lt;a href=&quot;https://www.cs.cmu.edu/%7Eodonnell/hits09/arora-barak-brunnermeier-ge-complexity-of-financial-derivatives.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Computational Complexity and Information Asymmetry in Financial Products&lt;/a&gt;, 2009.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Philip Z. Maymin, &lt;a href=&quot;https://arxiv.org/abs/1002.2284&quot; rel=&quot;nofollow noreferrer&quot;&gt;Markets are efficient if and only if P = NP&lt;/a&gt;, 2011.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;The first paper shows that derivatives can amplify the cost of informational asymmetry (instead of the desired goal of reducing it) for computationally-bounded agents. The second paper challenges the popular belief of efficient markets by showing that market efficiency can be used to solve NP-hard problems.&lt;/p&gt;&#xA;&lt;p&gt;Are there any books/surveys or seminal papers on related ideas? Especially things related to the difficulty of predicting or approximating markets or trading optimally (or close to optimally) in such markets?&lt;/p&gt;&#xA;&lt;p&gt;A slightly more meta question: why does there seem to be an abscence of papers on this? Is there no interest, or is that all the interested parties become quants that are hiden behind no-publication agreements?&lt;/p&gt;&#xA;&lt;h3&gt;Related question&lt;/h3&gt;&#xA;&lt;p&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/q/6387/1037&quot;&gt;Algorithmic lens in the social sciences&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/q/4958/1037&quot;&gt;What is the Complexity Classification of Portfolio Theory in Financial Economics?&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="1037" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2016-12-16T07:17:01.347" Title="Computational complexity in quantitative finance" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;survey&gt;&lt;ce.computational-finance&gt;&lt;algorithmic-lens&gt;" AnswerCount="4" CommentCount="9" FavoriteCount="12" ContentLicense="CC BY-SA 3.0" />
  <row Id="7952" PostTypeId="5" CreationDate="2011-08-24T20:17:45.820" Score="0" Body="&lt;p&gt;This tag should be used for &lt;em&gt;theoretical&lt;/em&gt; questions related to Computational Engineering, Finance, and Science (roughly falling under &lt;a href=&quot;http://arxiv.org/archive/cs&quot; rel=&quot;nofollow&quot;&gt;arXiv&lt;/a&gt;'s &lt;a href=&quot;http://arxiv.org/list/cs.CE/recent&quot; rel=&quot;nofollow&quot;&gt;cs.CE - Computational Engineering, Finance, and Science&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The question &lt;em&gt;must&lt;/em&gt; satisfy the usual scope requirements for cstheory as explained in the &lt;a href=&quot;http://cstheory.stackexchange.com/faq&quot;&gt;FAQ&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2011-08-24T20:17:45.820" LastActivityDate="2011-08-24T20:17:45.820" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7953" PostTypeId="4" CreationDate="2011-08-24T20:17:45.820" Score="0" Body="Theoretical questions in Computational Engineering, Finance, and Science" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2011-08-24T20:17:45.820" LastActivityDate="2011-08-24T20:17:45.820" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7954" PostTypeId="5" CreationDate="2011-08-24T20:24:19.727" Score="0" Body="&lt;p&gt;This tag should be used for &lt;em&gt;theoretical&lt;/em&gt; questions related to Computational Finance (roughly falling under &lt;a href=&quot;http://arxiv.org/archive/cs&quot; rel=&quot;nofollow&quot;&gt;arXiv&lt;/a&gt;'s &lt;a href=&quot;http://arxiv.org/list/cs.CE/recent&quot; rel=&quot;nofollow&quot;&gt;cs.CE - Computational Engineering, Finance, and Science&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The question &lt;em&gt;must&lt;/em&gt; satisfy the usual scope requirements for cstheory as explained in the &lt;a href=&quot;http://cstheory.stackexchange.com/faq&quot;&gt;FAQ&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2011-08-24T20:24:19.727" LastActivityDate="2011-08-24T20:24:19.727" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7955" PostTypeId="4" CreationDate="2011-08-24T20:24:19.727" Score="0" Body="Theoretical questions in Computational Finance" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2011-08-24T20:24:19.727" LastActivityDate="2011-08-24T20:24:19.727" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7956" PostTypeId="5" CreationDate="2011-08-24T20:37:43.683" Score="0" Body="&lt;p&gt;This tag should be used for &lt;em&gt;theoretical&lt;/em&gt; questions related to Computational Finance (roughly falling under &lt;a href=&quot;http://arxiv.org/archive/cs&quot; rel=&quot;nofollow&quot;&gt;arXiv&lt;/a&gt;'s &lt;a href=&quot;http://arxiv.org/list/cs.CE/recent&quot; rel=&quot;nofollow&quot;&gt;cs.CE - Computational Engineering, Finance, and Science&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The question &lt;em&gt;must&lt;/em&gt; satisfy the usual scope requirements for cstheory as explained in the &lt;a href=&quot;http://cstheory.stackexchange.com/faq&quot;&gt;FAQ&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2011-08-24T20:37:43.683" LastActivityDate="2011-08-24T20:37:43.683" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7957" PostTypeId="4" CreationDate="2011-08-24T20:37:43.683" Score="0" Body="Theoretical questions in Computational Finance" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2011-08-24T20:37:43.683" LastActivityDate="2011-08-24T20:37:43.683" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7958" PostTypeId="1" AcceptedAnswerId="7962" CreationDate="2011-08-24T21:11:27.817" Score="22" ViewCount="2883" Body="&lt;p&gt;I was wondering what papers I should read to understand this question&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;A unexpected connection to other areas of mathematics such as algebraic geometry or higher cohomology. Perhaps even an area of mathematics not yet developed. Perhaps someone will develop a whole new direction for mathematics in order to handle the P versus NP question.&#xA;  -From &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.74.489&amp;amp;rep=rep1&amp;amp;type=pdf&quot;&gt;Fortnow 2002&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Another phrasing of the question would be &quot;What papers should I read to create a connection from computational complexity to algebraic geometry / topology?&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have looked at &lt;a href=&quot;http://arxiv.org/abs/0908.1936&quot;&gt;Geometric Complexity Theory&lt;/a&gt; already . Also papers in Topological Quantum Computation which I have read enough papers that I am already familiar with the field. Am I missing anything?&lt;/p&gt;&#xA;" OwnerUserId="5385" LastEditorUserId="5385" LastEditDate="2011-08-30T00:29:56.250" LastActivityDate="2018-04-29T01:08:13.497" Title="Papers on relation between computational complexity and algebraic geometry/topology?" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;gct&gt;&lt;algebraic-topology&gt;" AnswerCount="4" CommentCount="4" FavoriteCount="16" ContentLicense="CC BY-SA 3.0" />
  <row Id="7959" PostTypeId="2" ParentId="7928" CreationDate="2011-08-24T21:17:50.570" Score="13" Body="&lt;p&gt;There is a preprint by Ken-ichi Kawarabayashi, Yusuke Kobayashi, and Bruce Reed that claims a quadratic time algorithm: &quot;&lt;a href=&quot;http://research.nii.ac.jp/~k_keniti/quaddp1.pdf&quot;&gt;The disjoint paths problem in quadratic time&lt;/a&gt;&quot;. It is formatted as a conference submission rather than a journal paper so I'm not sure it's possible to verify the details, though (I haven't really tried, myself).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A very recent survey by Kawarabayashi cites this as the best known result for the closely related disjoint paths problem: Ken-ichi Kawarabayashi (2011), &quot;The Disjoint Paths Problem: Algorithm and Structure&quot;, WALCOM: Algorithms and Computation, LNCS 6552, pp. 2–7, &lt;a href=&quot;http://dx.doi.org/10.1007/978-3-642-19094-0_2&quot;&gt;doi:10.1007/978-3-642-19094-0_2&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I don't know whether this means that the $O(n\log n)$ claim in Kothari's comment is vapor or whether it means that it's still at an earlier stage of being written up.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2011-08-24T21:17:50.570" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7960" PostTypeId="5" CreationDate="2011-08-24T21:36:19.947" Score="0" Body="" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2011-08-24T21:36:19.947" LastActivityDate="2011-08-24T21:36:19.947" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7961" PostTypeId="4" CreationDate="2011-08-24T21:36:19.947" Score="0" Body="Geometric Complexity Theory" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2011-08-24T21:36:19.947" LastActivityDate="2011-08-24T21:36:19.947" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7962" PostTypeId="2" ParentId="7958" CreationDate="2011-08-24T21:43:25.177" Score="13" Body="&lt;p&gt;As background, you should definitely study &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=808735&quot;&gt;Ben-Or's work on lower bounds&lt;/a&gt;, as well as &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.129.4061&quot;&gt;Mulmuley's P vs NC paper&lt;/a&gt;. &lt;/p&gt;&#xA;" OwnerUserId="80" LastEditorUserId="5385" LastEditDate="2011-08-27T16:01:02.303" LastActivityDate="2011-08-27T16:01:02.303" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7963" PostTypeId="2" ParentId="7563" CreationDate="2011-08-25T00:11:57.757" Score="16" Body="&lt;p&gt;I have 3 answers, all giving somewhat different hardness results.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $f: \{0,1\}^n \rightarrow \{0,1\}$ be some function.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Answer 1&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Given a decision tree $T$ computing $f$ and a number, it is NP-hard to tell if there exists a decision tree $T&amp;#39;$ computing $f$ of size at most that number.&lt;/em&gt; (&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.18.9838&amp;amp;rep=rep1&amp;amp;type=pdf&quot;&gt;Zantema and Bodlaender '00&lt;/a&gt;)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Answer 2&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Given a decision tree $T$ computing $f$, it is NP hard to approximate the smallest decision tree computing $f$ to any constant factor.&lt;/em&gt; (&lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0022000007000815&quot;&gt;Sieling '08&lt;/a&gt;)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Answer 3&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Let $s$ be the size of the smallest decision tree computing $f$.&#xA;Given a decision tree $T$ computing $f$, assuming $NP \subsetneq DTIME(2^{n^\epsilon})$ for some $\epsilon &amp;lt; 1$, one cannot find an equivalent decision tree $T&amp;#39;$ of size $s^k$ for any $k \ge 0$.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think that this stronger answer (relying on a weaker assumption) can be made from known results in the learning theory of &lt;a href=&quot;http://blog.computationalcomplexity.org/2002/12/learning-via-occams-razor.html&quot;&gt;Occam algorithms&lt;/a&gt; for decision trees, via the following argument:  &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Is it possible to find a decision tree on $n$ variables in time&#xA;$n^{\log s}$, where $s$ is the smallest decision tree consistent with examples coming from a distribution (PAC model). (&lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/002001909290237P&quot;&gt;Blum '92&lt;/a&gt;)  &lt;/li&gt;&#xA;&lt;li&gt;Assuming $NP \subsetneq DTIME(2^{n^\epsilon})$ for some $\epsilon &amp;lt; 1$, we cannot PAC learn size $s$ decision trees by size $s^k$ decision trees for any $k \ge 0$. (&lt;a href=&quot;http://www.almaden.ibm.com/cs/people/vitaly/papers/ABFKP_Proper_Hardness_08.pdf&quot;&gt;Alekhnovich et al. '07&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;These two results seem to imply a hardness result for your problem. On the one hand (1), we can find a large decision tree; on the other hand (2), we shouldn't be able to minimize it to get an equivalent &quot;small&quot; one, of size $s^k$, even when one exists of size $s$.&lt;/p&gt;&#xA;" OwnerUserId="123" LastActivityDate="2011-08-25T00:11:57.757" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="7964" PostTypeId="2" ParentId="7903" CreationDate="2011-08-25T00:49:23.983" Score="2" Body="&lt;p&gt;&lt;b&gt;Note:&lt;/b&gt; The text below was intended as a comment&amp;nbsp;&amp;hellip; it definitely is &lt;i&gt;not&lt;/i&gt; an answer, but rather a pragmatic observation that arose out of a &lt;a href=&quot;http://faculty.washington.edu/sidles/FRIAS_2011/index.html#Slichter&quot; rel=&quot;nofollow&quot;&gt;restating of Charlie Slichter's &lt;i&gt;Principles of Magnetic Resonance&lt;/i&gt;&lt;/a&gt; in the language of symplectic geometry and quantum information theory (which pulls back naturally onto polynomial-rank tensor-product state-spaces).  At present we have a &lt;a href=&quot;http://faculty.washington.edu/sidles/FRIAS_2011/index.html#burningArrow&quot; rel=&quot;nofollow&quot;&gt;partial geometric understanding&lt;/a&gt; of these tensor-rank methods, a marginal quantum informatic understanding, essentially no complexity-theoretic or combinatoric understanding, and a working (but largely empirical) computational understanding.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;We are very interested to broaden, deepen, and unify this understanding, and so we hope other folks will post further answers/comments on this subject. &#xA;&lt;hr&gt;&#xA;Our practical computational experience has been that estimating rank over $\mathbb{C}$ is generically tractable by steepest-descent methods ... as we understand it, this robustness arises for a geometric reason, namely, the holomorphic bisectional curvature theorem of Goldberg and Kobayashi.   This is far from a rigorous proof, needless to say.&lt;/p&gt;&#xA;" OwnerUserId="1519" LastEditorUserId="1519" LastEditDate="2011-08-25T15:18:43.583" LastActivityDate="2011-08-25T15:18:43.583" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="7966" PostTypeId="1" AcceptedAnswerId="7967" CreationDate="2011-08-25T01:23:37.220" Score="0" ViewCount="418" Body="&lt;p&gt;I was working on parallel implementation of Genetic Algorithm with MapReduce. I have found that in many papers authors are referencing OneMAX as problem they used to test scalability and convergence of their algorithm implementations. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would like to know more about why this problem is good for testing, and if you could recommend any other exotic and nice fitness functions I could use in tests.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Kind Regards,&#xA;ZeKoU&lt;/p&gt;&#xA;" OwnerUserId="6324" LastEditorUserId="186" LastEditDate="2011-08-25T02:20:58.983" LastActivityDate="2011-08-30T18:32:42.587" Title="Genetic Algorithm convergence test functions" Tags="&lt;ne.neural-evol&gt;&lt;genetic-algorithms&gt;&lt;genetic-programming&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7967" PostTypeId="2" ParentId="7966" CreationDate="2011-08-25T02:16:04.817" Score="4" Body="&lt;p&gt;One-max is really only suitable for testing for obvious bugs in your implementation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are a few widely used sets of benchmark functions, but they're of rather dubious value in general as well. You don't mention what sort of domain you're planning to work on -- there are binary problems like Knapsack problems, real-valued problems (which may or may not be represented with binary encodings in a given GA), permutation problems like TSP, QAP, and some scheduling problems, etc.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some of the more popular benchmarks have always been real-valued function optimization problems. Griewangk's function, Rastrigin's function, Ackley's function, Rosenbrock's function, and the De Jong F1-F5 functions have all been used pretty heavily in the literature (as well as others). There are also shifted and rotated versions of several of those problems that attempt to work around some of the more obvious biases and deficiencies such as the optimum of most of them being at the origin.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There have been a few attempts at producing good sets of benchmarks. There was a 2005 CEC workshop that proposed 25 or so real-valued problems. I think there was another workshop in 2010 that might have included a different set of problems, but I'm hazy on the details now.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I haven't been able to provide you with much in the way of concrete information about particular test functions, but hopefully there's enough here to get you started with Google.&lt;/p&gt;&#xA;" OwnerUserId="5832" LastActivityDate="2011-08-25T02:16:04.817" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="7968" PostTypeId="2" ParentId="7958" CreationDate="2011-08-25T06:09:37.987" Score="10" Body="&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://www.ams.org/journals/bull/2008-45-02/S0273-0979-08-01176-2/S0273-0979-08-01176-2.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Matrix multiplication&lt;/a&gt; (References in there)&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://crypto.stanford.edu/%7Edabo/papers/mlinear.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Pairing based cryptography&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Focuses on what one can do with certain hypothetical multilinear pairings. The conjecture is they don't exist within Algebraic Geometry. If you prove otherwise, may be you can give a talk at the next ICM&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://web.archive.org/web/20071118132425/http://math.mit.edu/%7Ekedlaya/18.787/intro.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;&amp;quot;Explicit&amp;quot; etale cohomology&lt;/a&gt; and &lt;a href=&quot;http://www.math.u-bordeaux1.fr/%7Ejcouveig/book.htm&quot; rel=&quot;nofollow noreferrer&quot;&gt;Computations in Arithmetic Geometry&lt;/a&gt;&#xA;(The book actually works with explicit etale cohomology)&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Computationally resolving singularities of algebraic varieties.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://www.math.umass.edu/%7Ehajir/m499c/tvn-book.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Tsfasman-Manin's book&lt;/a&gt; and Sudan-Guruswami List decoding work on algebraic-geometric aspects of coding theory.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="5511" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2015-11-15T17:35:17.787" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="7969" PostTypeId="1" CreationDate="2011-08-25T07:06:03.247" Score="0" ViewCount="195" Body="&lt;p&gt;Given a set of $n$ positive integer variables, namely $S=\{ s_1, s_2, \cdots, s_n\}$. Find a subset $A \subseteq S$, so that $\Sigma_{s_i \in A} s_i = K$. $K$ is a given parameter.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Unlike the usual one, there is a dependence constraint set here, $D=\{ (a_1, b_1), \cdots, (a_m, b_m) \}$. Here $(a_i, b_i)$ means $a_i \in A$ implies $b_i \in A$. Furthermore, the dependence is not circular. Put another way, if we represent $D$ as a directed graph $G&amp;#39;(V, E)$, that nodes in $G$ corresponds to variable in $S$ and $(a,b) \in D$ iff $(a,b) \in E$, then $G$ is a DAG (acyclic digraph).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Pseudo-polynomial time in terms of $\Sigma_{s \in S} s$ is acceptable for my problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have proved this problem as &lt;strong&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Strongly_NP-complete&quot; rel=&quot;nofollow&quot;&gt;strongly NP-complete&lt;/a&gt;&lt;/strong&gt; via a reduction from CLIQUE. &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Question.&lt;/strong&gt; I am looking forward to an algorithm that finds a subset $A$ so that $\Sigma_{s_i \in A} s_i$ lies in a neighbourhood of $K$, e.g., between $(1-\alpha)*K$ and $(1+\alpha)*K$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Thank you very much for your comment and answer. :) Any reference concerning is welcome.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Special case solved&lt;/strong&gt;: When each variable is implied by at most one another variable, i.e., $\forall_{b \in S}$, $|\{(a,b) \in D \}| \le 1$, it could be solved by DP in $O(n*M*M)$. $M=\Sigma_{s_i \in S} s_i$.&lt;/p&gt;&#xA;" OwnerUserId="6108" LastEditorUserId="6108" LastEditDate="2011-08-25T17:18:24.830" LastActivityDate="2011-08-25T17:35:09.440" Title="Dependences imposed on Subset Sum Problem" Tags="&lt;ds.algorithms&gt;&lt;co.combinatorics&gt;" AnswerCount="1" CommentCount="11" ContentLicense="CC BY-SA 3.0" />
  <row Id="7970" PostTypeId="2" ParentId="7951" CreationDate="2011-08-25T07:46:30.090" Score="7" Body="&lt;p&gt;I think the subfield of &lt;em&gt;Algorithmic Game Theory&lt;/em&gt; is what you are looking for. Have a look at the online version of a &lt;a href=&quot;http://www.cambridge.org/journals/nisan/downloads/Nisan_Non-printable.pdf&quot;&gt;recent book&lt;/a&gt; on this topic by N. Nisan (who is visiting here!), T. Roughgarden, E. Tardos, and V. Vazirani. Of particular interest might be the following chapters:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[5] Combinatorial Algorithms for Market Equilibria (by Vijay V. Vazirani)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[6] Computation of Market Equilibria by Convex Programming (by Bruno Codenotti and Kasturi Varadarajan)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[17] Introduction to the Inefficiency of Equilibria (by Tim Roughgarden and Eva Tardos)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[26]  Computational Aspects of Prediction Markets (by David M. Pennock and Rahul Sami)&lt;/p&gt;&#xA;" OwnerUserId="121" LastEditorUserId="1037" LastEditDate="2011-08-25T08:30:38.773" LastActivityDate="2011-08-25T08:30:38.773" CommentCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="7971" PostTypeId="2" ParentId="3540" CreationDate="2011-08-25T07:49:25.673" Score="13" Body="&lt;p&gt;&lt;a href=&quot;http://www.cambridge.org/journals/nisan/downloads/Nisan_Non-printable.pdf&quot;&gt;Algorithmic Game Theory&lt;/a&gt;, by Noam Nisan, Tim Roughgarden, Eva Tardos, and Vijay V. Vazirani (2007).&lt;/p&gt;&#xA;" OwnerUserId="121" LastActivityDate="2011-08-25T07:49:25.673" CommentCount="0" CommunityOwnedDate="2011-08-25T07:49:25.673" ContentLicense="CC BY-SA 3.0" />
  <row Id="7974" PostTypeId="2" ParentId="4784" CreationDate="2011-08-25T16:14:22.267" Score="7" Body="&lt;p&gt;&lt;a href=&quot;http://qwiki.stanford.edu/index.php/Complexity_Garden&quot; rel=&quot;nofollow&quot;&gt;Complexity Garden&lt;/a&gt; is a wiki devoted to &lt;em&gt;computational problems&lt;/em&gt; and their relations to complexity classes. As suggested here, I was planning to a start a new wiki for the algorithmic results, but I thought when there is one wiki for computational problems, we can have all the information in one place. So, I contacted the Zoo people and with their permission, changed the scope of the Garden to include algorithmic results as well.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, I need a small group of people to help me populate the wiki to a size that we can publicly announce it and attract more contributors. As this wiki uses the same system as wikipedia, it takes 15-25 minutes on average to add a problem. So, even with a group of 5 people contributing just 3 problems a weak (i.e. around 1 hour per weak), we can add 60 problems in a month and have a total of 100 problems in the Complexity Garden. &lt;/p&gt;&#xA;" OwnerUserId="3495" LastActivityDate="2011-08-25T16:14:22.267" CommentCount="2" CommunityOwnedDate="2011-08-25T16:14:22.267" ContentLicense="CC BY-SA 3.0" />
  <row Id="7975" PostTypeId="2" ParentId="7969" CreationDate="2011-08-25T17:35:09.440" Score="3" Body="&lt;p&gt;This is not a solution, but a reference suggestion.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem should be (a special case of the decision version of) the partially-ordered knapsack problem.  For example, you can look at the following paper and the references therein.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;S.G. Kolliopoulos and G. Steiner: Partially ordered knapsack and applications to scheduling. Discrete Applied Mathematics 155 (2007) 889-897.  &lt;a href=&quot;http://dx.doi.org/10.1016/j.dam.2006.08.006&quot; rel=&quot;nofollow&quot;&gt;http://dx.doi.org/10.1016/j.dam.2006.08.006&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="2955" LastActivityDate="2011-08-25T17:35:09.440" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7976" PostTypeId="2" ParentId="7903" CreationDate="2011-08-26T09:06:27.277" Score="8" Body="&lt;p&gt;There is a recent preprint about this: &lt;a href=&quot;http://galton.uchicago.edu/~lekheng/work/np.pdf&quot;&gt;http://galton.uchicago.edu/~lekheng/work/np.pdf&lt;/a&gt; . It shows that most rank-related issues with tensors are NP hard over $\mathbb{R}$ and $\mathbb{C}$. (It also mentions that deciding the rank over $\mathbb{Q}$ is NP hard.)&lt;/p&gt;&#xA;" OwnerUserId="6340" LastActivityDate="2011-08-26T09:06:27.277" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="7977" PostTypeId="1" CreationDate="2011-08-26T10:14:44.830" Score="2" ViewCount="1877" Body="&lt;p&gt;I have a very large directed graph (1M nodes) I am wondering what is the best algorithm for finding the longest (most number of nodes) cycle in the graph?&lt;/p&gt;&#xA;" OwnerUserId="13" LastEditorUserId="186" LastEditDate="2011-09-01T00:55:46.503" LastActivityDate="2011-09-01T00:55:46.503" Title="Longest circuit in a directed graph" Tags="&lt;ds.algorithms&gt;&lt;graph-algorithms&gt;" AnswerCount="1" CommentCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="7978" PostTypeId="2" ParentId="7977" CreationDate="2011-08-26T11:52:41.203" Score="1" Body="&lt;p&gt;One million nodes is far too much for any exact method that I know. This being said, I expect your graph does not have a very large number of edges, so the best is to begin by applying repeatedly this algorithm :&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you have a vertex in your graph that has not outgoing edge, or that has no incoming edge, remove it from your graph as no cycle can go through it. Take care, as removing such vertices can lead to remove other vertices that had edges in both direction before ! &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This should reduce dramatically the size of your graph (look at what is called &quot;topological sort&quot;). Once this is done, you can compute the different strongly connected componets, as your cycle is included in one of them. Then, you can do the computations separatedly. Perhaps the splitting of your graph will have created new vertices that you can remove.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Iterate through these two algorithms until you can do no other operation in your graph. When it is done, come back here and ask your question again giving the new number of vertices.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;When you do so, do not count the number of vertices having exactly one incoming edge and one outgoing edge. They do not change the complexity of the problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If after all this your graph is still 1M vertices large, it begins to really be desperate :-)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Nathann&lt;/p&gt;&#xA;" OwnerUserId="1209" LastActivityDate="2011-08-26T11:52:41.203" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7979" PostTypeId="2" ParentId="7951" CreationDate="2011-08-26T18:37:53.783" Score="9" Body="&lt;p&gt;The question you begin with relates to predicting the stock market, but you seem to have broader concerns.  I'll attempt to tackle your meta-question; apologies in advance for my sweeping generalizations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As far as I can tell, academic computer science is far removed from the actual concerns of hedge funds and people who try to model and predict markets.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The current focus areas in algorithmic game theory are not obviously relevant to finance practitioners.  In particular, worst case results are not seen as useful at all, and average case analysis based on artificial distributions seems largely irrelevant also.  Yet the only way to obtain information about real distributions seems to be to actually engage in the market, updating one's information using a variety of learning techniques.  This creates messy models that change dynamically and are not amenable to most types of analysis.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As an example, there has been a focus in finance on understanding the &lt;a href=&quot;http://en.wikipedia.org/wiki/Market_microstructure&quot;&gt;microstructure of trades&lt;/a&gt;.  Market microstructure is an emergent property of the specific low-level market mechanisms that are in place, such as how frequently pending trades are matched, what information traders believe exists in the order book, techniques used to obfuscate that information, the roll-back mechanisms in place, contractual arrangements relating to settling trades, network latency in receiving updates about the current state of the order book, and many other factors.  Market microstructure is a highly reflexive system, so the clean models typical of TCS seem beyond reach.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The market design community is trying to tackle questions like this (for instance see &lt;a href=&quot;http://www.jstor.org/stable/2676222&quot;&gt;Huang and Stoll&lt;/a&gt; and the recent &lt;a href=&quot;http://papers.ssrn.com/sol3/papers.cfm?abstract_id=1686004&quot;&gt;Kirilenko et al. paper on the flash crash&lt;/a&gt;), but they do not seem to have much interaction with TCS.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finance has become increasingly complex as IT has pervaded markets.  This means that most markets now consist of multiple interlocking systems which it may not be possible to meaningfully model separately.  In addition, as markets move closer to continuous trading, I am not sure the TCS lens of computation is currently all that useful in finance; control theory, graphical models, fluid dynamics, and many other areas of applied mathematics seem more directly useful.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;TCS methods could well be useful, but one needs to expend effort to understand what happens in finance, to find a place to apply the lever, and to acquire an appropriate mathematical toolkit.  Personally I would like to see more work along the lines of Arora/Barak/Brunnermeier/Ge, which engage with deep questions.  For instance, does adding more degrees of freedom to financial systems lead to good outcomes for the users of these systems?  Or does adding complexity mainly serve to help intermediaries set up asymmetric zero-sum games against the users?  There is probably a neat complexity-based argument waiting to be discovered...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So in a nutshell: you haven't seen much TCS/finance research because it is hard to apply TCS to finance.&lt;/p&gt;&#xA;" OwnerUserId="109" LastEditorUserId="109" LastEditDate="2011-08-28T00:00:55.890" LastActivityDate="2011-08-28T00:00:55.890" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="7980" PostTypeId="2" ParentId="7788" CreationDate="2011-08-26T19:54:40.890" Score="0" Body="&lt;p&gt;I think that great addition to mentioned tools is mind-mapping software.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Among other mind-mapping applications, it's great to make presentations rapidly, for example in 15minutes, 1hour presentation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My favourite mind-mapping software is &lt;a href=&quot;http://freemind.sf.net&quot; rel=&quot;nofollow&quot;&gt;Freemind&lt;/a&gt; (with keyboard shortcuts  it's really fast, ergonomic (especially for people with RSI problems).&lt;/p&gt;&#xA;" OwnerUserId="6133" LastActivityDate="2011-08-26T19:54:40.890" CommentCount="0" CommunityOwnedDate="2011-08-26T19:54:40.890" ContentLicense="CC BY-SA 3.0" />
  <row Id="7981" PostTypeId="2" ParentId="7788" CreationDate="2011-08-26T20:05:41.997" Score="0" Body="&lt;p&gt;&lt;a href=&quot;http://www.methods.co.nz/asciidoc/&quot; rel=&quot;nofollow&quot;&gt;Asciidoc&lt;/a&gt; with it's &lt;a href=&quot;http://www.w3.org/Talks/Tools/Slidy2&quot; rel=&quot;nofollow&quot;&gt;Slidy&lt;/a&gt; extension is a nice alternative to latex based environment, while still using favourite text editor :).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;P.S. What I like most in Asciidoc - outside of it's syntax - is , it's plugin interface. It's easy to create scripts that exports data from your research. Each time I compute more results, I need only to put &quot;make&quot; to have presentation with newest data :).&lt;/p&gt;&#xA;" OwnerUserId="6133" LastActivityDate="2011-08-26T20:05:41.997" CommentCount="0" CommunityOwnedDate="2011-08-26T20:05:41.997" ContentLicense="CC BY-SA 3.0" />
  <row Id="7983" PostTypeId="1" CreationDate="2011-08-26T23:58:54.360" Score="11" ViewCount="540" Body="&lt;p&gt;I guess it would be called #P-Space but I have found only one article vaguely mentioning it. How about the counting version of EXP-TIME-Complete, NEXP-Complete as well as EXP-SPACE-Complete problems? Is there any previous work that can one cite in regards to this or any type of inclusion or exclusion like Toda's Theorem? &lt;br&gt;&lt;/p&gt;&#xA;" OwnerUserId="1590" LastEditorUserId="1590" LastEditDate="2012-11-25T18:27:29.373" LastActivityDate="2014-08-19T21:43:14.790" Title="What is the complexity of counting the number of solutions of a P-Space Complete problem? How about higher complexity classes?" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;counting-complexity&gt;&lt;pspace&gt;" AnswerCount="1" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="7984" PostTypeId="2" ParentId="7788" CreationDate="2011-08-27T00:20:26.197" Score="1" Body="&lt;p&gt;Many times I use /Xournal/ under Linux on a tablet pc &quot;lenovo X61&quot;. &#xA;It allows me to write my slides by hand, &#xA;yet copy paste the structure from one slide to the other, &#xA;redo the stuff till I am happy with it,&#xA;and give it a particular slide.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I was pointed out that in some groups it was perceived as a lack of professionalism  or effort (which I feel is not true), for those groups I make some slides in /Beamer/.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On occasion I have used a mere /orgmode/ file under /emacs/, unrolling and rolling the sections as needed: I like how you see the overall structure and then zoom in, a bit like in /prezi/. It can display LaTeX formula, but the size of the fonts sometime is an issue.&lt;/p&gt;&#xA;" OwnerUserId="191" LastActivityDate="2011-08-27T00:20:26.197" CommentCount="0" CommunityOwnedDate="2011-08-27T00:20:26.197" ContentLicense="CC BY-SA 3.0" />
  <row Id="7985" PostTypeId="1" AcceptedAnswerId="7986" CreationDate="2011-08-27T00:38:10.740" Score="-2" ViewCount="911" Body="&lt;p&gt;Let $F$ be an $n$–SAT formula on $n$ variables (ie a CNF formula containing exclusively total clauses, with all variables in each), and let $c$ be the number of different clauses in $F$ ($c \le 2^n$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is immediate that $F$ is satisfiable iff $c&amp;#160;&amp;lt;&amp;#160;2^n$.&#xA;It is also easy to show that the number $m$ of models of $F$ is equal to  $2^n - c$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;My questions are then:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Why #$n$-SAT on $n$ variables is not #P-complete? (Why $n$-SAT on $n$ variables is not NP-complete? - Edit : This question has been answered)&lt;/p&gt;&#xA;" OwnerUserId="6346" LastEditorUserId="6346" LastEditDate="2012-02-24T22:45:31.247" LastActivityDate="2012-02-24T22:45:31.247" Title="Solving $n$-SAT and #$n$-SAT" Tags="&lt;cc.complexity-theory&gt;&lt;sat&gt;&lt;counting-complexity&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7986" PostTypeId="2" ParentId="7985" CreationDate="2011-08-27T08:29:46.543" Score="12" Body="&lt;p&gt;Your &quot;n-SAT&quot; problem is just asking if all possible $2^n$ clauses are present. For this problem to be $NP$-complete, you would have to be able to reduce unsatisfiable instances of SAT to polynomial size unsatisfiable instances of this problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But an instance of &quot;n-SAT&quot; is only unsatisfiable when the number of variables is at most $\log N$, where $N$ is the input length (analogously, when the number of clauses is at least $2^n$, where $n$ is the number of variables). So your polynomial time reduction would have to decrease the number of variables from $N$ to logarithmic in $N$... good luck!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;UPDATE:&lt;/strong&gt; You ask why your set &lt;em&gt;isn't&lt;/em&gt; NP-complete. Note that this is a loaded question. Your set is in $P$, as established earlier. If $P=NP$ then &lt;em&gt;every&lt;/em&gt; nontrivial set $S$ that's in $P$ is actually $NP$-complete (nontrivial means: there is at least one string $x \in S$ and one string $y \notin S$). If $P=NP$ we have a polytime SAT algorithm. To reduce SAT to $S$, just call the SAT algorithm and output $x$ if your SAT algorithm says &quot;yes&quot;, $y$ if it says &quot;no&quot;. So to &lt;em&gt;prove&lt;/em&gt; to you that your $S \in P$ &lt;em&gt;cannot&lt;/em&gt; be $NP$-complete is tantamount to proving $P \neq NP$! &lt;/p&gt;&#xA;" OwnerUserId="225" LastEditorUserId="225" LastEditDate="2011-09-01T09:32:12.440" LastActivityDate="2011-09-01T09:32:12.440" CommentCount="15" ContentLicense="CC BY-SA 3.0" />
  <row Id="7987" PostTypeId="2" ParentId="7929" CreationDate="2011-08-27T10:28:42.240" Score="6" Body="&lt;p&gt;The case of &lt;strong&gt;trees&lt;/strong&gt; and a constant $c$ seems to admit a straightforward dynamic programming algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You root your tree arbitrarily. You will start from the leaf nodes and propagate information towards the root. You will keep track of the following pieces of information for each subtree; here $u$ is a node and $T(u)$ is the subtree rooted at $u$:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$M_1(u)$ = best matching in $T(u)$ if $u$ has unlimited capacity,&lt;/li&gt;&#xA;&lt;li&gt;$M_2(u)$ = best matching in $T(u)$ if $u$ has capacity $c - 1$,&lt;/li&gt;&#xA;&lt;li&gt;$M_3(u)$ = best matching in $T(u)$ if $u$ has capacity $c$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Note that $M_1(u)$ and $M_2(u)$ can be extended by adding the edge $(v,u)$, where $v$ is the parent of $u$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;All of these values are trivial to compute for a leaf node. Once you have computed these values for all subtrees of a node $v$, you can compute them for $v$; let $C$ consist of the children of $v$:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$M_1(v)$: For each $u \in C$ of $v$ we take either $M_2(u) + (v,u)$ or $M_3(u)$, whichever is better.&lt;/li&gt;&#xA;&lt;li&gt;$M_2(v)$: We check all subsets $S \subseteq C$ of size at most $c - 2$. For each child $u \in S$ we take $M_1(u) + (v,u)$ or $M_2(u) + (v,u)$, whichever is better. For each child $u \notin S$ we take $M_1(u)$, $M_2(u)$, or $M_3(u)$, whichever is best.&lt;/li&gt;&#xA;&lt;li&gt;$M_3(v)$: Similar to $M_2(v)$, but we consider subsets of size at most $c - 1$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Everything is polynomial if $c$ is a constant.&lt;/p&gt;&#xA;" OwnerUserId="74" LastActivityDate="2011-08-27T10:28:42.240" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="7989" PostTypeId="2" ParentId="4654" CreationDate="2011-08-27T13:03:04.167" Score="2" Body="&lt;p&gt;What about simple systems, solutions:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Google Docs, &lt;a href=&quot;http://writer.zoho.com&quot; rel=&quot;nofollow&quot;&gt;Zoho writer&lt;/a&gt;... and other collaborative tools.&lt;/li&gt;&#xA;&lt;li&gt;Dropbox handles situations when two people try to commit changes on same file. Second committing person gets his/her file renamed (X.txt -&gt; X.txt_blabla...) , and original file (X.txt) up-to-date with newest version. More info on : &lt;a href=&quot;http://www.dropbox.com/help/36&quot; rel=&quot;nofollow&quot;&gt;Dropbox Help: &quot;What happens if two people change the same file?&quot;&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;It's out of question, but sometimes there are situations where part of group is capable of simple solutions like SVN, while other part of group is capable of distributed version control like GIT. In such situations cooperation is possible:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.kernel.org/pub/software/scm/git/docs/git-svn.html&quot; rel=&quot;nofollow&quot;&gt;git-svn&lt;/a&gt; - Bidirectional operation between a Subversion repository and git &lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://git.or.cz/course/svn.html&quot; rel=&quot;nofollow&quot;&gt;Git - SVN Crash Course&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.viget.com/extend/effectively-using-git-with-subversion/&quot; rel=&quot;nofollow&quot;&gt;Effectively Using Git With Subversion&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="6133" LastActivityDate="2011-08-27T13:03:04.167" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7990" PostTypeId="2" ParentId="4654" CreationDate="2011-08-27T20:35:31.590" Score="7" Body="&lt;p&gt;I make my coauthors learn Mercurial, and I used to make them learn Subversion. If you are a Subversion fan, &lt;a href=&quot;http://hginit.com/00.html&quot;&gt;just read this&lt;/a&gt;, it is all true.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;No matter what system you use, by far the hardest thing is to get the other person to install the software and start using it. Skype is the perfect solution. Recent versions of Skype allow &quot;desktop sharing&quot; which really helps when you want to lead your coauthor through the installation procedure. And I have used straight desktop sharing combined with Skype to write a paper with my coauthor. It works pretty well.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is really needed is a &quot;Github for scientists&quot;. Something that gives a repository, has version control, collaborative editing, etc. Guess what, there is &lt;a href=&quot;http://www.scribtex.com/&quot;&gt;http://www.scribtex.com/&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="705" LastActivityDate="2011-08-27T20:35:31.590" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="7991" PostTypeId="2" ParentId="1940" CreationDate="2011-08-27T21:49:44.633" Score="5" Body="&lt;p&gt;I think what you call is a &quot;hypersparse&quot; matrix (nnz &amp;lt; n). I wrote a paper a few years back on how to multiply them. Essentially, it's an outer-product join with a clever multi-way merging to eliminate the realization of intermediate triples.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Buluc and Gilbert, IPDPS 2008:&#xA;&lt;a href=&quot;http://gauss.cs.ucsb.edu/publication/hypersparse-ipdps08.pdf&quot; rel=&quot;noreferrer&quot;&gt;http://gauss.cs.ucsb.edu/publication/hypersparse-ipdps08.pdf&lt;/a&gt; &lt;/p&gt;&#xA;" OwnerUserId="6355" LastActivityDate="2011-08-27T21:49:44.633" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7992" PostTypeId="1" AcceptedAnswerId="7997" CreationDate="2011-08-28T04:25:00.910" Score="13" ViewCount="1340" Body="&lt;p&gt;Branch and bound is an effective heuristic for search problems, and &lt;a href=&quot;http://en.wikipedia.org/wiki/Branch_and_bound&quot;&gt;Wikipedia lists a number of hard problems&lt;/a&gt; where branch-and-bound has been used. However, I haven't been able to find references to suggest that it's more than just &quot;one method&quot; for solving these problems. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Anecdotally, I've heard that some of the best heuristics for SAT and integer programming come from branch and bound, so my question is:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Can someone point me to any references detailing &lt;em&gt;effective&lt;/em&gt; uses of&#xA;  branch and bound for NP-hard problems ?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="80" LastEditorUserId="186" LastEditDate="2011-08-28T08:10:38.820" LastActivityDate="2011-08-31T15:37:13.937" Title="Successful application of branch-and-bound methods for NP-hard problems" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;optimization&gt;&lt;heuristics&gt;" AnswerCount="3" CommentCount="2" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="7993" PostTypeId="1" CreationDate="2011-08-28T05:23:56.840" Score="9" ViewCount="650" Body="&lt;p&gt;Kolmogorov complexity of a string is not computable. However, in a random subset of size $M$ of binary strings of length $n$, how many are expected to have complexity less than some integer $n_{0}$ less than $n$ (as a function of $M$, $n$ and $n_{0}$)?&lt;/p&gt;&#xA;" OwnerUserId="5511" LastEditorUserId="186" LastEditDate="2011-08-28T08:11:49.520" LastActivityDate="2013-02-19T20:28:22.473" Title="Expected values of Kolmogorov complexity in a random sample" Tags="&lt;cc.complexity-theory&gt;&lt;kolmogorov-complexity&gt;" AnswerCount="2" CommentCount="4" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="7994" PostTypeId="2" ParentId="4654" CreationDate="2011-08-28T09:41:56.617" Score="12" Body="&lt;p&gt;I notice that no one is giving the &quot;small&quot; tutorial for &lt;a href=&quot;http://git-scm.com/&quot;&gt;GIT&lt;/a&gt;, so I'll try to cover it.  GIT is faster and superior to SVN, but maybe it is easier for you to get an SVN account on a server at your university, since SVN is well established.  Also may of your collaborators would know how to use it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Even if you collaborate using SVN you may want to use GIT for your own local versioning (I do!).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;First bit of warning&lt;/strong&gt;: GIT is very powerful and for basic usage is only slightly harder to use than SVN (e.g., one option to be added in the command line; two steps commit for central repository).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Second bit of warning&lt;/strong&gt;: GIT has the philosophy of considering a set of changes to be atomic (a $\Delta$ as they call it) even if the set spans several files.  Also in GIT you have the notion of &lt;strong&gt;local&lt;/strong&gt; repository and &lt;strong&gt;central&lt;/strong&gt; repository.&#xA;&lt;strong&gt;GOOD&lt;/strong&gt;: You can work offline.&#xA;&lt;strong&gt;BAD&lt;/strong&gt;: You need two steps commit to a &lt;strong&gt;central&lt;/strong&gt; server.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Basic commands assuming you already have a repository&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Clone a repository: &lt;code&gt;git clone &amp;lt;url&amp;gt;&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;Update your local repository: &lt;code&gt;git pull &amp;lt;repo&amp;gt;&lt;/code&gt; or just &lt;code&gt;git pull&lt;/code&gt; if you cloned as above.&lt;/li&gt;&#xA;&lt;li&gt;The pull command really does both &lt;code&gt;git fetch&lt;/code&gt; and &lt;code&gt;git merge&lt;/code&gt;.  The former &quot;fetch&quot; stuff from the central server, and the second apply a merge of your files and the ones of the server. &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The merge is automatic as long there are no simultaneous edits on the same parts of some files. If the merge fails you working directory remains in a &quot;merge state&quot;, which means that you have to fix the conflicts and then you have to commit the merged copy. If you still have unmanaged conflicts in you files then the commit would fail again, no garbage committed. &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Add a new file to be committed: &lt;code&gt;git add &amp;lt;file name&amp;gt;&lt;/code&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Commit changes to you &lt;strong&gt;local&lt;/strong&gt; repository: &lt;code&gt;git commit -am &quot;&amp;lt;textmessages&amp;gt;&quot;&lt;/code&gt; or &lt;code&gt;git commit -a&lt;/code&gt; if you want to edit the commit messages.&lt;/li&gt;&#xA;&lt;li&gt;Push the changes in your &lt;strong&gt;local&lt;/strong&gt; repository to the &lt;strong&gt;central&lt;/strong&gt; repository.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Notice that for pushing changes to your central repository you first have to commit to your &lt;strong&gt;local&lt;/strong&gt; repository and the you have to push all the commits (even more than one) to your &lt;strong&gt;central&lt;/strong&gt; repository. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Create a user-local repository&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Creation of a repository &lt;code&gt;git init&lt;/code&gt; in any folder you like.&lt;/li&gt;&#xA;&lt;li&gt;Done!&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Create a public-shared repo (also private if you pay cash) with a nice GUI.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Use &lt;a href=&quot;https://github.com/&quot;&gt;GitHub&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Crate as many private/public repository with different groups of users but no GUI.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Ask for an SSH account with no password on an accessible machine.&lt;/li&gt;&#xA;&lt;li&gt;Don't worry since authentication is done by SSH keys.&lt;/li&gt;&#xA;&lt;li&gt;Install Gitosis according to &lt;a href=&quot;http://scie.nti.st/2007/11/14/hosting-git-repositories-the-easy-and-secure-way&quot;&gt;this tutorial&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Now you can administrate  you own git server by editing a single file and committing it to the repository!&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Git does not need a central server&lt;/strong&gt;: any folder in your computer can be used as repository, so you can play with git and make your tests offline.  You can initialize one repository and simulate three collaborators in three other folders without sending one bit on the net.  This is because any cloned copy of the repository is a full featured repository to which you can commit.  This is good if you want to work in a flight between USA, China or Europe.   &lt;/p&gt;&#xA;" OwnerUserId="267" LastEditorUserId="267" LastEditDate="2011-08-28T13:15:04.337" LastActivityDate="2011-08-28T13:15:04.337" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="7995" PostTypeId="2" ParentId="7993" CreationDate="2011-08-28T09:53:11.307" Score="10" Body="&lt;p&gt;Kolmogorov complexity is only determined up to some additive constant, so it is not possible to give an exact answer. The bound that I describe here is even weaker.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course the expected number can be computed easily once we know how many of the $2^n$ strings have complexity less than $n_0$, so let me answer this. It is usually the first statement about Kolmogorov complexity that this number is at most $2^{n_0}-1$ - since there are only these many strings of smaller length. On the other hand, if your program says &quot;of length $n$, take the $x$th number&quot;, then you get $2^{n_0-K(n)-C}$ strings of complexity less than $n_0$, where $K(n)$ is the prefix-free version of Kolmogorov complexity of $n$ (so at most $\log n+\log^* n + O(1)$). In more detail, the string first contains the description of the Turing machine that taken input $px$, where p is the description of a prefix-free program that outputs $n$, outputs the $x$th number of length $n$, which is $O(1)$ bits, and then this is followed by $px$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Probably it is possible to improve these bounds, but I doubt that you could get an exact answer.&lt;/p&gt;&#xA;" OwnerUserId="419" LastEditorUserId="419" LastEditDate="2011-08-31T06:50:56.267" LastActivityDate="2011-08-31T06:50:56.267" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="7997" PostTypeId="2" ParentId="7992" CreationDate="2011-08-28T16:56:42.027" Score="9" Body="&lt;p&gt;For TSP, checkout this book...&#xA;&lt;a href=&quot;http://www.tsp.gatech.edu/book/index.html&quot;&gt;http://www.tsp.gatech.edu/book/index.html&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My understanding is that there is no one tool to kill them all. Arguably any recursive solution deploying backtracking and some scoring function is using branch and bound. As such, a large fraction of solvers to NP hard problems use some form of branch and bound.&lt;/p&gt;&#xA;" OwnerUserId="9594" LastActivityDate="2011-08-28T16:56:42.027" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="7999" PostTypeId="1" CreationDate="2011-08-28T19:12:38.590" Score="2" ViewCount="798" Body="&lt;h2&gt;My questions:&lt;/h2&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;What are other names for this and similar problems and their fields? (&quot;equivalence of varieties in universal algebra&quot;, &quot;equivalence of algebraic structures&quot;, &quot;rewriting systems for searching equivalence&quot;?)&lt;/li&gt;&#xA;&lt;li&gt;what algorithms do you know solving this kind of problems?&lt;/li&gt;&#xA;&lt;li&gt;What papers/books do you recommend?&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;h2&gt;Problem&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;I'm interested in approaches of finding, whether two computations are equivalent?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I try to find my way between rewriting systems, automated theorem proving, logic programming, &lt;a href=&quot;http://en.wikipedia.org/wiki/Variety_(universal_algebra)&quot; rel=&quot;nofollow noreferrer&quot;&gt;varieties&lt;/a&gt;, or just visiting graph of all possible basic block transformations (in order to find corresponding vertices (with some luck ;) ) ).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course. In finite domains, I could enumerate all possible inputs for all possible symbols permutations, check whether computations gives same results, and do this in finite time. I am looking for other approaches.&lt;/p&gt;&#xA;&#xA;&lt;h3&gt;Computations&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;Computations are given as &lt;a href=&quot;http://en.wikipedia.org/wiki/Control_flow_graph&quot; rel=&quot;nofollow noreferrer&quot;&gt;basic blocks&lt;/a&gt; represented in &lt;a href=&quot;http://en.wikipedia.org/wiki/Static_single_assignment_form&quot; rel=&quot;nofollow noreferrer&quot;&gt;SSA - static single assignment form&lt;/a&gt;. We can assume finite number integer arithmetic (for example 64bit numbers). Computations run in RAM model.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For those not familiar with compilers theory and design, &lt;em&gt;Basic Block has no jumps, no loops, no function call, one exit, and one entry&lt;/em&gt; etc. So we can say, that each execution of BB has O(1) complexity.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Static_single_assignment_form&quot; rel=&quot;nofollow noreferrer&quot;&gt;SSA - static single assignment form&lt;/a&gt; of &lt;a href=&quot;http://en.wikipedia.org/wiki/Control_flow_graph&quot; rel=&quot;nofollow noreferrer&quot;&gt;basic block&lt;/a&gt; is &lt;a href=&quot;http://en.wikipedia.org/wiki/Directed_acyclic_graph&quot; rel=&quot;nofollow noreferrer&quot;&gt;DAG (Direct Acyclic Graph)&lt;/a&gt;. In that sense, there is &lt;a href=&quot;https://cstheory.stackexchange.com/questions/6842/questions-on-unification-theory-and-its-application-to-dag-isomorphism&quot;&gt;similar question on TCS.SE about unification theory and DAG isomorphism&lt;/a&gt;, while my context, focus, purpose and approach is different.&lt;/p&gt;&#xA;&#xA;&lt;h3&gt;Equivalence&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;Let me be more specific what I mean by &lt;em&gt;equivalence of computations&lt;/em&gt;. Let's take following setup:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;two computations $f$ and $g$ and treat them as functions.&lt;/li&gt;&#xA;&lt;li&gt;$P$ is a vector of $f$'s parameters $p_1, p_2, \ldots, p_n$&lt;/li&gt;&#xA;&lt;li&gt;$P' = \operatorname{perm}(P)$ is permutation of parameters.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;By equivalence, I mean, there exist permutation $P'$ that for any inputs $P$ , we have $f(P) = g(P')$ same (vector of) results in both computations.&lt;/p&gt;&#xA;&#xA;&lt;h3&gt;Another equivalence definition&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;I've just found, definition of basic block equivalence, very similar to mine. I hope it might clarify, what I mean by that.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let me cite from &lt;a href=&quot;http://decompilation.info/wp-content/uploads/2011/03/iwpu09.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;C Decompilation: Is It Possible? by Katerina Troshina, Alexander Chernov and Yegor Derevenets&lt;/a&gt;:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Let $f$ be an object renaming transformation (...) $f(C_1) = C_2$ if there exists a renaming of named objects such as registers, labels, etc, preserving program semantics and making the programs $f(C_1)$ and $C_2$ syntactically indistinguishable. Existence of such an f transformation is a sufficient condition of program equivalence. (...) Equivalence of basic blocks may be checked by reducing them to a RISC-like representation. Let $h$ be a basic block reduction transformation. Let $B_1$ and $B_2$ be basic blocks, let $B'_1 = h(B_1)$ and $B'_2 = h(B_2)$ be the corresponding basic blocks in the RISC-like representation. Let $g$ be an instruction reordering transformation preserving the program semantics. If for the basic blocks $B_1$ and $B_2$ there exist transformations $f$ , $g$ and $h$ making $g(f(h(B_1))$ and $h(B_2)$ syntactically indistinguishable, basic blocks $B_1$ and $B_2$ are equivalent.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Although, their approach is more focused on assembly code, my approach is more in direction of path-algebra for algorithm pattern matching. What it implies, I'd like to take into account, not only instruction reordering, but equations they represent as well. (Simple example : $(a + b) / 2$ is different to $a / 2 + b / 2$ on $k$-bits integer computations - &lt;a href=&quot;http://en.wikipedia.org/wiki/Modular_arithmetic&quot; rel=&quot;nofollow noreferrer&quot;&gt;modular arithmetic&lt;/a&gt;. When $a + b \ge 2^k$ results are different. While algorithms, authors/implementators intentions might be the same. That's why I'd like to mix approaches from different fields).&lt;/p&gt;&#xA;" OwnerUserId="6133" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.743" LastActivityDate="2011-08-31T20:31:26.360" Title="Equivalence of two basic blocks" Tags="&lt;reference-request&gt;&lt;pl.programming-languages&gt;&lt;semantics&gt;&lt;model-checking&gt;&lt;compilers&gt;" AnswerCount="2" CommentCount="18" FavoriteCount="5" CommunityOwnedDate="2011-08-30T18:50:20.733" ContentLicense="CC BY-SA 3.0" />
  <row Id="8000" PostTypeId="1" CreationDate="2011-08-29T00:56:50.257" Score="39" ViewCount="2018" Body="&lt;p&gt;Let &lt;a href=&quot;http://en.wikipedia.org/wiki/Primality_test&quot;&gt;PRIMES&lt;/a&gt; (a.k.a. &lt;em&gt;primality testing&lt;/em&gt;) be the problem: &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Given a natural number $n$, is $n$ a prime number?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Let &lt;a href=&quot;http://en.wikipedia.org/wiki/Integer_factorization&quot;&gt;FACTORING&lt;/a&gt; be the problem: &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Given natural numbers $n$, $m$ with $1 \leq m \leq n$, does $n$ have a factor $d$ with $1 &amp;lt; d &amp;lt; m$?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Is it known whether PRIMES is P-hard? How about FACTORING? &#xA;What are the best known lowerbounds for these problems?&lt;/p&gt;&#xA;" OwnerUserId="6363" LastEditorUserId="186" LastEditDate="2011-08-31T11:13:02.207" LastActivityDate="2014-02-18T12:30:18.970" Title="Are the problems PRIMES, FACTORING known to be P-hard?" Tags="&lt;cc.complexity-theory&gt;&lt;lower-bounds&gt;&lt;factoring&gt;&lt;primes&gt;&lt;p-hardness&gt;" AnswerCount="2" CommentCount="9" FavoriteCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="8001" PostTypeId="2" ParentId="7672" CreationDate="2011-08-29T10:44:05.483" Score="11" Body="&lt;p&gt;I will try to summarize my previous comments.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let us first ignore the fact that your original circuit has (constant) depth $k$; just assume it has size $S$. Let $A$ be the smallest number such that every unbounded fanin circuit size $S$ can be transformed into an unbounded fanin formula $F$ of size $O(S^A)$. I claim that the best we can do so far is to achieve $A=O(S/\log^2 S)$. Say, it is even not known whether whether any (fanin-2) circuit of size $S=O(n)$ can be simulated by a formula of size smaller than $\exp(n/\log n)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To show the claim, we transform the formula $F$ into a fanin-2 formula $F′$ of size $M=O(S^{2A})$. It is well known that the depth $D$ of every formula $F′$ can be made logarithmic in its size, that is $D=O(\log M)=O(A\log S)$. [This was first shown by Khrapchenko 1968, and then the constant under big-O was improved to $D\leq 1.73\log_2M$ by several authors.] On the other hand, the best known result for fanin-2 circuits [Paterson and Valiant, TCS 2(3), 397-400] says that $Depth=O(Size/\log Size)$. Thus, having a simulation with $A$ much smaller than $S/\log^2 S$ would improve the best known Size-Depth simulation for circuits.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This, however, is only a &quot;word of caution&quot; - it does not answer your question because you assume that your original circuit has &lt;strong&gt;constant&lt;/strong&gt; depth $k$, implying that in this case we can just take $A=k$ (or $A=k−1$ if we have a single output gate). The power of Paterson-Valiant simulation is that it applies to arbitrary, even very unbalanced circuits whose depth is almost the entire size! But in your bounded-depth setting, even the case $k=3$ is not clear: can every depth-3 circuit of size $S$ be transformed into a depth-3 formula of size much smaller than $S^2$? I guess the answer should be &quot;no&quot; (could be an interesting exercise for students). A depth-3 formula is just a big OR of CNFs. The question is to find an OR of CNFs that share many clauses in common, but otherwise are &quot;very different&quot; to force a large depth-3 formula.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem is that we want to obtain a &lt;strong&gt;formula&lt;/strong&gt; (a fanout-1 circuit). As was pointed above, allowing gates of &lt;strong&gt;fanout-2&lt;/strong&gt; makes simulation simpler: Hoover, Klawe and Pippenger [JACM 31(1), 1980] show that any fanin-2 circuit of size $S$ and depth $D$ has an equivalent fanin-2 and fanout-2 circuit of size $3S−2n$ and depth $2D$. Thus, if fanin is unbounded, then the resulting circuit will have size $O(S^2)$ and depth $O(D\log S)$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is yet another result somehow related to your question. Lozhkin (1981) proved that if a boolean function $f$ can be computed by an $AC^0$ &lt;strong&gt;formula&lt;/strong&gt; of depth $k$ and size $S$, then $f$ can be computed by fanin-2 formula of depth $D\leq k-1+\lceil\log_2S\rceil$ (this follows from Theorem 6.2 in my book). Note that a trivial upper bound would only be $D\leq k\log S$ (if we would simulate each single gate by a tree of depth $\log S$).&lt;/p&gt;&#xA;" OwnerUserId="5788" LastActivityDate="2011-08-29T10:44:05.483" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8002" PostTypeId="1" CreationDate="2011-08-29T13:12:04.023" Score="13" ViewCount="727" Body="&lt;p&gt;Recently the long-standing k-server problem has been solved by Nikhil Bansal, Niv Buchbinder, Aleksander Mądry and Seffi Naor (to appear in FOCS 2011). I'm interested in knowing other open problems in online algorithms. Of course it's impossible to list all of them so I'm primarily looking for the more &quot;important/famous/notorious&quot; ones.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;e.g. the k-server problem would be a good one, so is the adwords problem (which has received considerable attention recently).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some background:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;k-server: &lt;a href=&quot;http://en.wikipedia.org/wiki/K-server_problem&quot;&gt;http://en.wikipedia.org/wiki/K-server_problem&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;adwords: &lt;a href=&quot;http://www.stanford.edu/~saberi/adwords.pdf&quot;&gt;http://www.stanford.edu/~saberi/adwords.pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="6075" LastEditorUserId="5385" LastEditDate="2011-08-30T02:33:16.853" LastActivityDate="2011-08-30T02:33:16.853" Title="Online algorithms: open problems" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;open-problem&gt;" AnswerCount="0" CommentCount="5" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="8003" PostTypeId="2" ParentId="7992" CreationDate="2011-08-29T14:41:36.463" Score="9" Body="&lt;p&gt;The Clique Partitioning Problem might not be the most popular NP-hard problem, but it was efficiently solved using branch-and-bound, see this paper: &lt;a href=&quot;http://joc.journal.informs.org/content/6/2/141.abstract&quot;&gt;http://joc.journal.informs.org/content/6/2/141.abstract&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="6305" LastActivityDate="2011-08-29T14:41:36.463" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8004" PostTypeId="2" ParentId="7788" CreationDate="2011-08-29T18:20:45.660" Score="1" Body="&lt;p&gt;Inkscape. You can edit your PDFs with it.&lt;/p&gt;&#xA;" OwnerUserId="6371" LastActivityDate="2011-08-29T18:20:45.660" CommentCount="0" CommunityOwnedDate="2011-08-29T18:20:45.660" ContentLicense="CC BY-SA 3.0" />
  <row Id="8005" PostTypeId="2" ParentId="7388" CreationDate="2011-08-29T18:29:19.167" Score="26" Body="&lt;p&gt;@Suresh: following your advice, here is my &quot;answer&quot;. The status of circuit lower bounds is quite depressing. Here are the &quot;current records&quot;:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;  $4n-4$ for circuits over $\{\land,\lor,\neg\}$, and $7n-7$&#xA;for circuits over $\{\land,\neg\}$ and $\{\lor,\neg\}$&#xA;  computing $\oplus_n(x)=x_1\oplus x_2\oplus\cdots\oplus x_n$;&#xA;Redkin (1973). These bounds are tight.&#xA;&#xA;&lt;li&gt; $5n-o(n)$ for circuits over the basis with all&#xA;  fanin-2 gates, except the parity and its negation; Iwama and&#xA;  Morizumi (2002).&#xA;&#xA;&lt;li&gt;  $3n-o(n)$ for general circuits over the basis&#xA;  with all fanin-2 gates; Blum (1984). Arist Kojevnikov and Sasha Kulikov from Petersburg have found a simpler proof of a&#xA;$(7/3)n-o(1)$ lower bound. The advantage of their proof is its simplicity, not numerical. Later they gave a simple proof of $3n-o(1)$ lower bound for general circuits (all fanin-2 gates are allowed). Albeit for very complicated functions - affine dispersers. Papers are online &lt;a href=&quot;http://logic.pdmi.ras.ru/~kulikov/papers&quot;&gt; here&lt;/a&gt;.&#xA;&#xA;&lt;li&gt; $n^{3-o(1)}$ for formulas over&#xA;  $\{\land,\lor,\neg\}$; Hastad (1998).&#xA;&#xA;&lt;li&gt;  $\Omega(n^2/\log n)$ for general fanin-$2$ formulas,&#xA;$\Omega(n^2/\log^2 n)$ for deterministic branching programs, and&#xA;$\Omega(n^{3/2}/\log n)$ for nondeterministic branching programs;&#xA;Nechiporuk~(1966).&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;So, your question &quot;Specifically do any of these problems have more than a linear complexity lower bound?&quot; remains widely open (in the case of circuits). My appeal to all young researchers: go forward, these &quot;barriers&quot; are not unbreakable! But try to think in a &quot;non-natural way&quot;, in the sense of Razborov and Rudich.  &lt;/p&gt;&#xA;" OwnerUserId="5788" LastActivityDate="2011-08-29T18:29:19.167" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="8006" PostTypeId="2" ParentId="7999" CreationDate="2011-08-29T19:01:11.363" Score="10" Body="&lt;p&gt;The actual field you seem to be talking about is &lt;em&gt;formal methods&lt;/em&gt;, and in particular, &lt;em&gt;formal semantics&lt;/em&gt; of programming languages. The particular programming language you have (the machine language of the processor) seems to be without recursion and with some global state involved. This kind of &lt;em&gt;effectful&lt;/em&gt; semantics has been well investigated in various forms and approaches.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The fields involved have developed so much that a full overview is out of the question. Also, these not only contain results, but tools employed to attack the difficulties inherent in establishing eqivalences. I will try to mentionsome keywords and topics.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One famous approach is that of &lt;em&gt;axiomatic semantics&lt;/em&gt;. In this approach one interleaves the program with formulae from a prespecified logic, used to reason about the language. For example, in your case this logic might encode statements about the state of the processor's registers: $\exists n: r_1 =n \wedge r_2 &amp;gt;n^2+n-5$. These combine to form a logic (rigorous reasoning system), where statements have the form $\{\phi\}C\{\psi\}$. $\phi$ is a formula in this logic representing a &lt;em&gt;precondition&lt;/em&gt; known about the state of the world prior to the execution of the program phrase $C$. $\psi$ is a formula representing the &lt;em&gt;postcondition&lt;/em&gt;, guaranteed to be valid in state of the world (under the assumption that the precondition held).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The semantics is then given axiomatically as a collection of pre/post-conditions and inference rules. For instance, the semantics of register addition may look like this:&#xA;$\{r_1 = n \wedge r_2 = m\} {\rm addi\ r3,r1,r2}\{r_3=m+n\}$. The inference rules may include rules for using intermediate formulae to compose smaller phrases into larger ones. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;So in your case, you will need to show that for all preconditions and postconditions, the statement $\{\phi\}B_1\{\psi\}$ is valid iff $\{\phi\}B_2\{\psi\}$ is valid. There are several such systems, applied academically and industrially. The keywords are Hoare logic, separation logic, invariants.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another approach is &lt;em&gt;operational semantics&lt;/em&gt;. In this approach the meaning is given by an implementation of the language. It is desirable to give an abstract implementation, so that rigorous reasoning is possible. Nowadays it is also reasonable to expect this semantics to be &lt;em&gt;structural&lt;/em&gt;: the operation of the machine is directed by the structure of the languages syntax, and the meaning of a composite program is given by the meaning of its components. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The implementation is commonly given as a transition system, where each state is a configuration containing the current program phrase that awaits execution. Some keywords and tools that are useful for your problem: structural operational semantics, structural induction, small-step and big-step semantics, observational equivalence, contextual equivalence.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A third approach is &lt;em&gt;denotational semantics&lt;/em&gt;. In this, the meaning of a program phrase is given by a mathematical function of its components. This semantics tends to give a &lt;em&gt;global&lt;/em&gt; understanding of the mathematical  structure of the semantics. As a consequence, their presentation is a lot less elementary, and tend to lag behind the other approaches. On the other hand, this global understanding may give rise to deep insights about the behaviour and structure of the language. Some keywords: domain theory, category theory, monads, call-by-push-value.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The bottom line is that program equivalence has been investigated quite a lot.  It is one of the most fundamental questions in semantics. In your case, determining algorithmically and tractably whether two such computations are equivalent will probably involve tools from &lt;em&gt;model checking&lt;/em&gt;.  Indeed, if you have $n$ registers of $k$ bits then the state-space has at least $n2^k$ points. An exhaustive search of this space is then $\Omega(n2^km)$ where $k$ is the length of the program. Of course, it might even be much worse than this.  So I guess you'll need to employ some non-trivial reasoning to establish such equivalences. Some keywords: the state-space explosion, abstract and symbolic interpretation, normalization by evaluation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some places to start looking at things. The Handbook of Theoretical Computer Science (Volume B) has some chapters covering various topics in semantics (Chapters 7, 9, 11, 12, 15 and 19). By now these topics are taught to undergraduates in various universities, they usually concentrate on operational and axiomatic semantics (as they are more elementary).  There is a &lt;a href=&quot;https://cstheory.stackexchange.com/questions/3670/formal-semantics-of-programming-languages/3674#3674&quot;&gt;related question about that here at TCS@SE&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm sorry for speaking in such broad terms, but the body of knowledge and tools underlying this problem is quite extensive. I hope that I at least given you somewhere to start looking!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is a pet peeve of mine that the formal semantics community, who explores these  questions inherent to compiler theory, have drifted apart from the compiler community. This is not entirely the semantics' community fault: first, as usual in TCS, a big body of theory needs to be developed before a substantial application is possible. Also, Moore's law and other advances in computer science allowed compiler writers to concentrate on other problems, and dismiss formal semantics as abstract nonsense. Another observation I heard from Paul Levy is that people from outside the community take interest because of the usefulness of the problems, and then become so fascinated with the theory that they join the community.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, i'll mention that the gap is closing. There are researchers around the world from both communities that take interest in each other and in closing the gap. A few local names in the semantics world: Nick Benton, Gordon Plotkin, Peter Sewell.&lt;/p&gt;&#xA;" OwnerUserId="142" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2011-08-30T08:52:30.433" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="8008" PostTypeId="2" ParentId="7999" CreationDate="2011-08-29T23:47:30.367" Score="6" Body="&lt;p&gt;The problem as you state it is extremely general and has been around in some form since the early days of computer science. For example, language equivalence of various kinds of machines is a kind of equivalence of computational devices. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;That said, your question indicates you are interested in the equivalence of imperative programs. There are several ways and approaches to do this. One specific application of such work is to prove the correctness of compiler optimizations. Translation validation is another technical term you may want to look up. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The equivalence of two programs is a semantic property.  It is difficult to check directly. A core idea behind many techniques is to find a structural property of programs (or the transition graphs they generate) that is easier to check and implies equivalence. For example, one may use bisimulation, simulation or related notions in a proof. The challenge is to lift these ideas from transition systems to the program text. Here are a few recent proposals in this area.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://cseweb.ucsd.edu/~lerner/papers/pldi09-pec.html&quot; rel=&quot;nofollow&quot;&gt;Proving Optimizations Correct using Parameterized Program Equivalence&lt;/a&gt;, Sudipta Kundu, Zachary Tatlock, and Sorin Lerner , PLDI 2009&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.informatik.uni-trier.de/~ley/db/indices/a-tree/l/Leroy%3aXavier.html&quot; rel=&quot;nofollow&quot;&gt;A Formally Verified Compiler Back-end&lt;/a&gt;, Xavier Leroy, Journal of Automated Reasoning 2008.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://dl.acm.org/citation.cfm?id=349314&quot; rel=&quot;nofollow&quot;&gt;Translation validation for an optimizing compiler&lt;/a&gt;, George Necula, PLDI 2000&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://webcourse.cs.technion.ac.il/236803/Spring2006/ho/WCFiles/pnueli98translation-validation.pdf&quot; rel=&quot;nofollow&quot;&gt;Translation Validation&lt;/a&gt;, A. Pnueli ,  M. Siegel ,  F. Singerman , TACAS 1998.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;There is much more. I am not an expert. I believe the third paper was an important position statement. The work of Xavier Leroy and Sorin Lerner would give you pointers to two different but very current approaches. &lt;/p&gt;&#xA;" OwnerUserId="4155" LastActivityDate="2011-08-29T23:47:30.367" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8009" PostTypeId="2" ParentId="5132" CreationDate="2011-08-30T02:50:39.983" Score="9" Body="&lt;p&gt;Surprisingly, the number of extra work qubits (ancilla) matters. Right now it is known that PARITY is not in QAC_0 with bounded ancillae. &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.9.9565&quot;&gt;Quantum lower bounds for fanout&lt;/a&gt; gives one proof for circuits using at most linearly many ancilla and &#xA;&lt;a href=&quot;http://dl.acm.org/citation.cfm?id=1994580&quot;&gt;doi:10.1016/j.ipl.2011.05.002&lt;/a&gt; gives another proof for circuits using no ancillae.&lt;/p&gt;&#xA;" OwnerUserId="6376" LastActivityDate="2011-08-30T02:50:39.983" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8011" PostTypeId="2" ParentId="6569" CreationDate="2011-08-30T08:55:51.790" Score="2" Body="&lt;p&gt;Look at this paper's PDF&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.ploscompbiol.org/article/info:doi/10.1371/journal.pcbi.0030160&quot; rel=&quot;nofollow&quot;&gt;http://www.ploscompbiol.org/article/info:doi/10.1371/journal.pcbi.0030160&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The definition of edit distance in there is exactly what you need I think. The 'reference' partition would be (an arbitrary) one of your two partitions, the other would simply be the other one. Also contains relevant citations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Best,&#xA;Rob&lt;/p&gt;&#xA;" OwnerUserId="6379" LastActivityDate="2011-08-30T08:55:51.790" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8014" PostTypeId="1" AcceptedAnswerId="8015" CreationDate="2011-08-30T16:53:46.967" Score="-6" ViewCount="370" Body="&lt;p&gt;I mean, is there an antonym for &quot;first-class function&quot;?&lt;/p&gt;&#xA;" OwnerUserId="2604" LastEditorUserId="186" LastEditDate="2011-08-31T00:38:02.023" LastActivityDate="2011-08-31T15:17:35.823" Title="How can I call functions that are not &quot;first-class functions&quot;?" Tags="&lt;pl.programming-languages&gt;&lt;terminology&gt;&lt;functional-programming&gt;&lt;language-design&gt;" AnswerCount="3" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="8015" PostTypeId="2" ParentId="8014" CreationDate="2011-08-30T17:02:46.477" Score="12" Body="&lt;p&gt;First, the property &quot;having first-class functions&quot; is a property of a &lt;em&gt;programming language&lt;/em&gt;, not of particular functions in it. Either your language allows for functions to be passed around and created at will, or it doesn't.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Functions that accept or return other functions as arguments are called &lt;em&gt;higher-order&lt;/em&gt; functions. (The terminology comes from logic.)  Functions that don't are called &lt;em&gt;first-order&lt;/em&gt; functions. Perhaps this latter notion is what you wanted.&lt;/p&gt;&#xA;" OwnerUserId="142" LastActivityDate="2011-08-30T17:02:46.477" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="8016" PostTypeId="2" ParentId="8014" CreationDate="2011-08-30T17:33:05.250" Score="4" Body="&lt;p&gt;&quot;First-class&quot; here is roughly the informal use of the phrase meaning &quot;having all rights and privileges&quot;, give or take. The alternative would be &quot;second-class&quot;, as in &lt;a href=&quot;http://en.wikipedia.org/wiki/Second-class_citizen&quot; rel=&quot;nofollow&quot;&gt;the phrase &quot;second-class citizen&quot;&lt;/a&gt;, but that seems to be less frequently used in this context. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is, as Ohad says, a feature of a &lt;em&gt;language&lt;/em&gt; which entities (functions or otherwise) it treats as &quot;first-class&quot;, and it's also not necessarily a clear-cut distinction. Typically a first-class entity would be something tangible that can be created and used as a value at run time, without significant obstacles compared to being defined at compile time. In the case of functions, this usually means allowing higher-order and anonymous functions. A function that is not higher-order is first-order. Functions that are not anonymous don't really have a general term that I know of. But first-order functions with names can still be first-class if the language allows it.&lt;/p&gt;&#xA;" OwnerUserId="53" LastActivityDate="2011-08-30T17:33:05.250" CommentCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="8017" PostTypeId="2" ParentId="8000" CreationDate="2011-08-30T17:52:32.067" Score="40" Body="&lt;p&gt;PRIMES is known to be hard for $\mathsf{TC^0}$.  See my paper with Saks and Shparlinski, &quot;&lt;a href=&quot;http://ftp.cs.rutgers.edu/pub/allender/primes.pdf&quot;&gt;A Lower Bound for Primality&lt;/a&gt;&quot; in JCSS 62 (2001).  No improvement on that front since then.&lt;/p&gt;&#xA;" OwnerUserId="17282" LastEditorUserId="13649" LastEditDate="2014-02-18T12:30:18.970" LastActivityDate="2014-02-18T12:30:18.970" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8018" PostTypeId="2" ParentId="7966" CreationDate="2011-08-30T18:22:17.783" Score="3" Body="&lt;p&gt;You need to be clear in your mind about what you want the test problem for. If you're just trying to test the scalability of your implementation using MapReduce, then the test problem doesn't matter much. If you're trying to test the effectiveness of the genetic algorithm itself, then it doesn't really matter that you're using MapReduce, and the specific test problem matters a lot more, and you should pick a test problem or set of test problems that resembles the real-world problem that you actually want to use the GA to optimize. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;As was already said, people use OneMax because it's easy to implement and understand. It's not an all-purpose, general test problem for GAs. (Deong did a very good job of listing many of the other commonly-used testbed/benchmark functions in his response. Just keep in mind that none of those are good for all purposes, and there is still no general purpose, generally accepted set of test functions for GAs. If you're going to use any of them, then it would be good to use as wide a variety as possible.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In general, keep in mind that in any real-world problem, the computation cost of evaluating the fitness function dominates the cost of the core GA algorithm itself. So you can (and should) separate testing your parallel implementation, and the scalability/parallelization of the fitness function evaluations using MapReduce, from testing the GA implementation itself.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hope that helps.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;-Ted&lt;/p&gt;&#xA;" OwnerUserId="6382" LastEditorUserId="6382" LastEditDate="2011-08-30T18:32:42.587" LastActivityDate="2011-08-30T18:32:42.587" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8019" PostTypeId="1" CreationDate="2011-08-30T19:42:30.337" Score="11" ViewCount="268" Body="&lt;p&gt;The traditional &lt;a href=&quot;http://en.wikipedia.org/wiki/Art_gallery_problem&quot; rel=&quot;nofollow&quot;&gt;art gallery problem&lt;/a&gt; sets up a region and guards with some notion of visibility, and asks for the minimum number of guards that need to be placed to see the entire region.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Has anyone ever looked at art gallery variants where the visibility region is instead defined by a &lt;strong&gt;pair&lt;/strong&gt; of guards. For example, one formulation might be that a point is covered if there's a pair of guards whose minimum bounding disk covers it ?&lt;/p&gt;&#xA;" OwnerUserId="80" LastEditorUserId="186" LastEditDate="2011-08-31T00:39:12.067" LastActivityDate="2011-09-21T20:01:56.953" Title="Art gallery variants with pairwise visibility?" Tags="&lt;reference-request&gt;&lt;cg.comp-geom&gt;" AnswerCount="2" CommentCount="11" ContentLicense="CC BY-SA 3.0" />
  <row Id="8020" PostTypeId="1" AcceptedAnswerId="8035" CreationDate="2011-08-30T22:49:51.137" Score="1" ViewCount="568" Body="&lt;p&gt;The reduction from $k$-SAT to 1-in-$k$ SAT is known. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Would you help me to find a reduction from 1-in-$k$ SAT to $k$-SAT ? Thanks.&lt;/p&gt;&#xA;" OwnerUserId="6346" LastEditorUserId="6346" LastEditDate="2011-08-30T23:33:20.787" LastActivityDate="2011-09-01T06:50:57.177" Title="1- in -$k$ SAT to $k$-SAT reduction" Tags="&lt;cc.complexity-theory&gt;&lt;sat&gt;&lt;reductions&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="8021" PostTypeId="2" ParentId="8000" CreationDate="2011-08-31T01:16:07.420" Score="31" Body="&lt;p&gt;Factoring can be achieved by using a polylog $n$ depth quantum circuit, and ZPP pre- and post-processing; &lt;a href=&quot;http://arxiv.org/abs/quant-ph/0006004&quot;&gt;see this paper&lt;/a&gt;. If it were P-hard, any algorithm in P could be done with polylog $n$ depth quantum circuit and the same pre- and post-processing steps. I believe these steps are modular exponentiation and continued fractions, which to me seem unlikely to be powerful enough to solve P-complete problems, even with the addition of a polylog $n$ depth quantum circuit.&lt;/p&gt;&#xA;" OwnerUserId="1677" LastActivityDate="2011-08-31T01:16:07.420" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8022" PostTypeId="1" CreationDate="2011-08-31T10:26:24.373" Score="5" ViewCount="158" Body="&lt;p&gt;&lt;em&gt;&lt;strong&gt;Local smoothness&lt;/em&gt;&lt;/strong&gt; is often mentioned in literature analysing different heuristics and meta-heuristics for combinatorial optimisation.  What is meant precisely by local smoothness is often left out, but one definition is &quot;A landscape with small (average) fitness differences between neighboring points is called smooth&quot;. Additionally I have read of at least one measure (auto-correlation) that quantifies this.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am interested however in the relationship between smoothness and optimisation processes.  The extent of the detail in literature seems to be local smoothness is good for optimisation and ruggedness is bad.  Could anyone further explain the relation between effective optimisation and local smoothness, and/or point to literature that delves into this more deeply.&lt;/p&gt;&#xA;" OwnerUserId="4501" LastEditorUserId="4501" LastEditDate="2011-08-31T14:49:15.667" LastActivityDate="2011-10-13T23:48:52.200" Title="Local Smoothness vs optimisation in combinatorial problems" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;approximation-algorithms&gt;&lt;optimization&gt;&lt;heuristics&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8025" PostTypeId="1" AcceptedAnswerId="8033" CreationDate="2011-08-31T12:57:47.607" Score="0" ViewCount="1365" Body="&lt;p&gt;So I'm looking for a way of generating all words in language specified by a specific grammar and a alphabet. Is there an easy way to do this? The grammar is a stochastic context free grammar? Is there any software out there that does this? Or a library? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Many thanks in advance &lt;/p&gt;&#xA;" OwnerUserId="6393" LastActivityDate="2011-08-31T20:51:51.617" Title="Generating a language from a given grammar" Tags="&lt;fl.formal-languages&gt;&lt;grammars&gt;&lt;software&gt;" AnswerCount="1" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="8027" PostTypeId="2" ParentId="8014" CreationDate="2011-08-31T13:56:18.030" Score="2" Body="&lt;p&gt;In formal set theory a &quot;mapping&quot; which isn't a function (in the formal sense) is usually called a definable mapping. The reason this might be a meaningful term to import is that these are, in some sense, the things which behave like functions in the meta theory/language while not being, themselves, objects in the theory studied (the object language).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;s&gt;Alternatively borrowing terms from category theory one might want to call them external functions (since they are not &quot;elements&quot; of the internal Hom-objects, i.e. the exponential objects).&lt;/s&gt; (Kept this for the comments to make sense).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Borrowing the distinction from category between external and internal Hom-sets (that is to say collections of arrows of a category and exponential objects of a category) one might want to call &quot;non-first class functions&quot; &lt;em&gt;external&lt;/em&gt; functions. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I doubt any of these are in common use, but they might at least be suggestive :)&lt;/p&gt;&#xA;" OwnerUserId="6063" LastEditorUserId="6063" LastEditDate="2011-08-31T15:17:35.823" LastActivityDate="2011-08-31T15:17:35.823" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="8028" PostTypeId="2" ParentId="7992" CreationDate="2011-08-31T15:37:13.937" Score="4" Body="&lt;p&gt;&lt;a href=&quot;http://www.springer.com/computer/theoretical+computer+science/book/978-3-642-16532-0&quot; rel=&quot;nofollow&quot;&gt;Exact Exponential Algorithms&lt;/a&gt; is a nice recent book about such algorithms. &lt;a href=&quot;http://www-cs-faculty.stanford.edu/~uno/papers/dancing-color.ps.gz&quot; rel=&quot;nofollow&quot;&gt;Algorithm X&lt;/a&gt; for the exact cover problem is also good to know.&lt;/p&gt;&#xA;" OwnerUserId="236" LastActivityDate="2011-08-31T15:37:13.937" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8029" PostTypeId="1" CreationDate="2011-08-31T15:45:12.200" Score="1" ViewCount="124" Body="&lt;p&gt;I am writing a program using high-dimensional volume (HDV) estimator to estimate entropy and mutual information for variable selection. Let $ D = (x^i_1, x^i_2, ..., x^i_M)$, N is the number of data points in the $M$ dimensional joint space.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The HDV estimators based on the equation as below:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;\begin{aligned}&#xA;H(X) ≈ −ψ(k) + ψ(N) + \frac{1}{N}{\sum_{i=1}^{N}{logB_m(r^{i}_{x^m})}^m}&#xA;\end{aligned}&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$X$ is the random variable, $H(X)$ is the entropy of $X$, $ψ(.)$ is the digamma function,  $k=1$ for HDV estimator, $N$ is the number of observations, $B_m$ is the volume of m-dimensional unit ball $r^{i}_{x^m}$ is the minimum distance in each dimension:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;\begin{aligned}&#xA;r^{i}_{x^m} = min(||x^i_m-x^{'i}_m||)&#xA;\end{aligned}&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where $x^i_m \neq x^{&amp;#39;i}_m$ and $x^i_m , x^{&amp;#39;i}_m \in D$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is that when it is applied to estimate the entropy of Gaussian distribution with mean = 0 and standard deviation = 1, the theoretical result of entropy is around 1.4189. I cannot get the result because $−ψ(1)≈ 0.5772156$ (Euler-Mascheroni constant), $ψ(N=1000)≈ 6.9072$ (Say 1,000 of data points) and I think that $\frac{1}{N}{\sum_{i=1}^{N}{logB_m(r^{i}_{x^m})}^m}$ cannot be negative as it is about distance and volume. What is wrong of my understanding?&lt;/p&gt;&#xA;" OwnerUserId="6394" LastActivityDate="2011-08-31T15:45:12.200" Title="High Dimensional Volume (HDV) estimator for Entropy estimation" Tags="&lt;it.information-theory&gt;&lt;st.statistics&gt;&lt;na.numerical-analysis&gt;" AnswerCount="0" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="8030" PostTypeId="2" ParentId="5707" CreationDate="2011-08-31T16:02:45.687" Score="4" Body="&lt;p&gt;Yes.&lt;/p&gt;&#xA;&lt;h1&gt;Boolean Domain&lt;/h1&gt;&#xA;&lt;p&gt;For Boolean variables, the set of &lt;em&gt;product type&lt;/em&gt; functions &lt;span class=&quot;math-container&quot;&gt;$\mathcal{P}$&lt;/span&gt; contains functions that are products of (1) binary equality, (2) binary disequality, (3) and unary functions. Equivalently, &lt;span class=&quot;math-container&quot;&gt;$\mathcal{P}$&lt;/span&gt; is the tensor closure of functions with support on complementary inputs.  If &lt;span class=&quot;math-container&quot;&gt;$\mathcal{F} \subseteq \mathcal{P}$&lt;/span&gt;, then #CSP(&lt;span class=&quot;math-container&quot;&gt;$\mathcal{F}$&lt;/span&gt;) is computable in polynomial time.  This set of functions is tractable for a trivial reason.  After replacing each function by its tensor product factors, in each connected component, there are only two possible assignments that can possibly be nonzero. Furthermore, the two assignment (if they exist) can be found by a two coloring algorithm.&lt;/p&gt;&#xA;&lt;p&gt;Note that this result is not just for the unweighed version (outputs in &lt;span class=&quot;math-container&quot;&gt;$\\{0,1\\}$&lt;/span&gt;), but for any complex weights.&#xA;See either&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;section 5 of Jin-Yi Cai, Pinyan Lu, and Mingji Xia. &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=1536511&quot; rel=&quot;nofollow noreferrer&quot;&gt;Holant problems and counting csp&lt;/a&gt;. In STOC, pages 715–724, 2009.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;for the conference version behind a paywall or&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;section 3 of &lt;a href=&quot;http://pages.cs.wisc.edu/%7Ejyc/papers/cw-csp.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;The Complexity of Complex Weighted Boolean #CSP&lt;/a&gt; - Jin-Yi Cai, Pinyan Lu, Mingji Xia&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;for the full (second half), which is free.&lt;/p&gt;&#xA;&lt;h1&gt;Domain Size &lt;span class=&quot;math-container&quot;&gt;$k$&lt;/span&gt;&lt;/h1&gt;&#xA;&lt;p&gt;For larger domains, there are other tractable problems as well. In this most general setting however, the &lt;a href=&quot;http://arxiv.org/abs/1111.2384&quot; rel=&quot;nofollow noreferrer&quot;&gt;dichotomy for #CSP&lt;/a&gt; is currently not know to be decidable.&lt;/p&gt;&#xA;&lt;p&gt;The special case of just one binary function is known as counting graph homomorphisms.  When this function is also symmetric, then there is a &lt;a href=&quot;http://arxiv.org/abs/0903.4728&quot; rel=&quot;nofollow noreferrer&quot;&gt;decidable dichotomy&lt;/a&gt;. While it is difficult to describe which problems are tractable, the tractability boils down to the following tractable counting problem.&lt;/p&gt;&#xA;&lt;p&gt;If &lt;span class=&quot;math-container&quot;&gt;$q$&lt;/span&gt; is a prime power, &lt;span class=&quot;math-container&quot;&gt;$\omega_q$&lt;/span&gt; a &lt;span class=&quot;math-container&quot;&gt;$q$&lt;/span&gt;th root of unity, and &lt;span class=&quot;math-container&quot;&gt;$f(x_1, \dots, x_n)$&lt;/span&gt; a quadratic polynomial over &lt;span class=&quot;math-container&quot;&gt;$\mathbb{Z}_q$&lt;/span&gt;, then&lt;/p&gt;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;${\displaystyle \sum_{x_1, \dots, x_n \in \mathbb{Z}_q}} \omega_q^{f(x_1, \dots, x_n)}$&lt;/span&gt;&lt;/p&gt;&#xA;&lt;p&gt;is computable in polynomial time (see Section 12).&lt;/p&gt;&#xA;" OwnerUserId="3964" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2012-06-07T03:54:18.893" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8031" PostTypeId="2" ParentId="8019" CreationDate="2011-08-31T20:10:49.200" Score="5" Body="&lt;p&gt;I'm not aware of any such work.  However, I would expect that such a problem would be NP-complete and, for polygons with holes, would be as hard to approximate as Set Cover.  The relatively straightforward vertex/vertex guarding problem, in which guards can only lie on vertices and only vertices need to be guarded, is this hard (&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.6.9090&quot;&gt;Eidenbenz, Stamm, and Widmayer (2001)&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For simple polygons, I expect such a problem would be:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;NP-complete&lt;/li&gt;&#xA;&lt;li&gt;APX-hard&lt;/li&gt;&#xA;&lt;li&gt;Approximable to within a factor of $O(\log(\rm{opt}))$, where opt is the optimum number of guards.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The vertex/vertex guarding problem is APX-hard for simple polygons (&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.39.2653&quot;&gt;Eidenbenz (1998)&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The best algorithms for the art gallery problem for simple polygons are based on building small $\varepsilon$-nets.  In simple polygons, the range spaces induced by visibility polygons have constant VC-dimension.  Circles do as well.  Therefore a range space induced by visibility polygons in a simple polygon, circles, and the intersections and unions thereof, will also have constant VC-dimension and you can get a $O(\log(\rm{opt}))$-approximation algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I thought about this problem a little for my thesis, but came to the opinion that there weren't any particularly interesting variants that didn't seem to reduce fairly closely to a known problem involving single-guarding.&lt;/p&gt;&#xA;" OwnerUserId="196" LastActivityDate="2011-08-31T20:10:49.200" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8032" PostTypeId="2" ParentId="6607" CreationDate="2011-08-31T20:20:52.337" Score="1" Body="&lt;p&gt;&lt;a href=&quot;http://www.bibsonomy.org/&quot; rel=&quot;nofollow&quot;&gt;Bibsonomy&lt;/a&gt; is place where I try to look for bibliography information, when other services fails. Additionally it's good to collaborate by creating &quot;friends&quot; lists.&lt;/p&gt;&#xA;" OwnerUserId="6133" LastActivityDate="2011-08-31T20:20:52.337" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8033" PostTypeId="2" ParentId="8025" CreationDate="2011-08-31T20:51:51.617" Score="0" Body="&lt;p&gt;Since you want to generate -all- words of a given length, it really doesn't matter if it's stochastic/probabilistic or deterministic, you just want to see if a word is possible (the following method should be modifiable to also compute the probability of any given word.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Two methods, one theoretical and cool and programmable in a couple lines of inscrutable Mathematica, or a practical efficient algorithm which I'd rather not both to code in ML/Haskell.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;you can interpret a (context free) grammar as defining a set of polynomials equations (the way the theory works, you just can't do this for context-sensitve or worse grammars). Use Groebner bases to simplify the system, and solve for the generating function, from which you can then extract the number of -derivations- (we don't now if it's unambiguous) of words of a given size. Yes, that is a short sentence to describe the work you'd have to do, and that's not even from scratch. (For a regular grammar, Groebner bases is kind of a jack hammer when all you need is the small jeweler's hammer of the Kleene algorithm to generate the regular expression for the language from the right linear grammar converted to NFA. And then the generating function can (almost!) be read straight off from the regexp. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;a way to implement the above, bypassing all the intensive algebraic manipulation, don't bother with all that fix-point computation (that's really what the algebraic manipulation is doing for you). Instead, create a vector of length $n$ for each variable, set them all to 0's. Then operate on each rule thinking of union as vector addition and concatenation as vector convolution (if A &amp;lt;- B C, then $a_k = \sum a_j b_{k-j}$, and the base case is a terminal which is $\langle 0,1,0,0,0,0... \rangle$. (this method might work for CSGs but I think it takes longer to converge).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I'm sure there's an easier way to do it in a straightforward manner, but you know how it is, sometimes the complicated big guns that take a steep learning curve to manage are some how more familiar and easier to think about than an obvious simple solution.&lt;/p&gt;&#xA;" OwnerUserId="497" LastActivityDate="2011-08-31T20:51:51.617" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="8034" PostTypeId="1" AcceptedAnswerId="8043" CreationDate="2011-08-31T20:58:26.510" Score="21" ViewCount="1229" Body="&lt;p&gt;Inspired by the question &lt;a href=&quot;https://cstheory.stackexchange.com/questions/8000/are-the-problems-primes-factoring-known-to-be-p-hard&quot;&gt;is factoring known to be P-hard&lt;/a&gt;, I wonder what the current similar state of knowledge is about the hardness of graph isomorphism. I am sure that it is currently not known if GI is in P, but:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;what is the currently known largest class that GI is harder than?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;(it was not answered at a &lt;a href=&quot;https://cstheory.stackexchange.com/questions/539/what-are-known-bounds-on-complexity-of-nontrivial-graph-automorphism&quot;&gt;similar sounding question&lt;/a&gt;)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To address some of the comments, I want to know the currently known maximal class(es) that GI, the problem is complete for. Known algorithms for GI are upper-bounded by superpolynomial functions, and it is a member of NP. But it is not known that GI is P-hard. I'd like to know any classes C for which it -is- known it is C-hard, and hopefully as inclusive as possible.&lt;/p&gt;&#xA;" OwnerUserId="497" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2011-09-01T07:36:06.973" Title="What is the current known hardness of Graph Isomorphism?" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;graph-isomorphism&gt;" AnswerCount="1" CommentCount="16" FavoriteCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="8035" PostTypeId="2" ParentId="8020" CreationDate="2011-08-31T21:43:47.017" Score="4" Body="&lt;p&gt;Answer converted from comment.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Definition:&lt;/strong&gt; 1-in-$k$ SAT is a $k$-SAT problem with the tighter condition that - given a truth assignment to the variables - each clause must contain exactly one true literal (and thus $k$-1 false literals).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See for example &lt;a href=&quot;http://en.wikipedia.org/wiki/One-in-three_3SAT&quot; rel=&quot;nofollow&quot;&gt;1-in-three SAT&lt;/a&gt; on Wikipedia&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The reduction from 1-in-$k$ SAT to $k$ SAT can be done easily.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;following the definition, convert each $(X_1 \vee X_2 \vee \cdots \vee X_k)$ clause of the 1-in-$k$ SAT problem into $(X_1 \wedge -X_2 \wedge \cdots \wedge -X_k) \vee (-X_1 \wedge X_2 \wedge \cdots \wedge -X_k) \vee $ $\cdots \vee (-X_1 \wedge -X_2 \wedge \cdots \wedge X_k)$; &lt;/li&gt;&#xA;&lt;li&gt;convert to CNF distributing ORs over ANDs;&lt;/li&gt;&#xA;&lt;li&gt;convert the resulting CNF formula to $k$ SAT&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;For example $(x_1 \vee x_2 \vee -x_3)$ becomes:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;$(x_1 \wedge -x_2 \wedge x_3) \vee (-x_1 \wedge x_2 \wedge x_3) \vee&#xD;&#xA;    (-x_1 \wedge -x_2 \wedge -x_3)$;&lt;/li&gt;&#xA;&lt;li&gt;$(x_1 \vee x_2 \vee -x_3) \wedge (-x_1 \vee -x_2) \wedge (-x_1 \vee x_3) \wedge (-x_2 \vee x_3)$&lt;/li&gt;&#xA;&lt;li&gt;$(x_1 \vee x_2 \vee -x_3) \wedge (-x_1 \vee -x_2 \vee x4) \wedge (-x_1 \vee -x_2 \vee -x4)$ $\wedge (-x_1 \vee x_3 \vee x4) \wedge (-x_1 \vee x_3 \vee -x4)$ $\wedge (-x_2 \vee x_3 \vee x4) \wedge (-x_2 \vee x_3 \vee -x4)$&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Note: at step 3, if you allow repeated variables in a clause, then there is non need for the extra variable and the final $k$ SAT formula of the example can be:&#xA;$(x_1 \vee x_2 \vee -x_3) \wedge (-x_1 \vee -x_2 \vee -x2)$ $\wedge (-x_1 \vee x_3 \vee x3)$ $\wedge (-x_2 \vee x_3 \vee x3)$&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2011-09-01T06:50:57.177" LastActivityDate="2011-09-01T06:50:57.177" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8036" PostTypeId="1" AcceptedAnswerId="8039" CreationDate="2011-08-31T22:28:27.200" Score="6" ViewCount="260" Body="&lt;p&gt;Say I have the following linear programming formulation in standard form:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;\begin{equation*}&#xA;\begin{array}{rl}&#xA;    \mathbf{x}^* = \underset{\mathbf{x}}{\text{arg}\;\text{min}}        &amp;amp; \mathbf{c}^T\mathbf{x} \\&#xA;    \mbox{s.t.} &amp;amp; \mathbf{A}\mathbf{x} = \mathbf{b} \\&#xA;                &amp;amp; \mathbf{x} \ge 0,&#xA;    \end{array}&#xA;\end{equation*}&lt;/p&gt;&#xA;&#xA;&lt;p&gt;with $\mathbf{x}^*$, $\mathbf{A}$ and $\mathbf{b}$ known, but $\mathbf{c}$ unknown.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there any known methods for computing $\mathbf{c}$ ? &lt;/p&gt;&#xA;" OwnerUserId="3137" LastEditorUserId="186" LastEditDate="2011-09-01T00:53:51.453" LastActivityDate="2011-09-14T20:23:41.440" Title="Inferring an LP cost vector from its solution" Tags="&lt;ds.algorithms&gt;&lt;optimization&gt;&lt;linear-programming&gt;" AnswerCount="2" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="8037" PostTypeId="1" CreationDate="2011-08-31T22:44:59.707" Score="5" ViewCount="419" Body="&lt;p&gt;Can you suggest an optimal or heuristic algorithm for placing points on a 2D plane (within a constrained space) such that minimum distance between any two points is maximized.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In other words, I'm looking to put points down in a box as far away from each other as possible.&lt;/p&gt;&#xA;" OwnerUserId="5609" LastActivityDate="2011-09-01T16:46:23.287" Title="Place n points in a box as far away from each other as possible" Tags="&lt;graph-theory&gt;&lt;cg.comp-geom&gt;&lt;optimization&gt;&lt;topology&gt;&lt;topological-graph-theory&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="8038" PostTypeId="2" ParentId="8037" CreationDate="2011-08-31T23:50:16.190" Score="13" Body="&lt;p&gt;This seems to be equivalent to packing disks of max radius -- a very well studied problem, at least if your box is a square, see, e.g.,&lt;a href=&quot;http://en.wikipedia.org/wiki/Circle_packing_in_a_square&quot; rel=&quot;nofollow&quot;&gt;Circle packing in a square&lt;/a&gt;. For heuristics see, e.g., &lt;a href=&quot;http://www.pack-any-shape.com/&quot; rel=&quot;nofollow&quot;&gt;http://www.pack-any-shape.com/&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="6395" LastEditorUserId="5385" LastEditDate="2011-09-01T16:46:23.287" LastActivityDate="2011-09-01T16:46:23.287" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8039" PostTypeId="2" ParentId="8036" CreationDate="2011-09-01T01:16:20.687" Score="9" Body="&lt;p&gt;I guess that you want the set of optimal solutions of the LP as small as possible.  (Otherwise, &lt;i&gt;c&lt;/i&gt;=0 certainly makes &lt;i&gt;x&lt;/i&gt;&lt;sup&gt;*&lt;/sup&gt; one of the optimal solutions but probably that is not what you want.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One way to obtain such &lt;i&gt;c&lt;/i&gt; is as follows.  If &lt;i&gt;x&lt;/i&gt;&lt;sup&gt;*&lt;/sup&gt;&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt;=0, then let &lt;i&gt;c&lt;/i&gt;&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt; be any strictly negative number.  If &lt;i&gt;x&lt;/i&gt;&lt;sup&gt;*&lt;/sup&gt;&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt;&amp;gt;0, then let &lt;i&gt;c&lt;/i&gt;&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt;=0.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you want to know all the vectors &lt;i&gt;c&lt;/i&gt; with the required property, you can add any linear combination of rows of matrix &lt;i&gt;A&lt;/i&gt; to &lt;i&gt;c&lt;/i&gt;&lt;sup&gt;T&lt;/sup&gt;.  It is not hard to prove that no other vectors &lt;i&gt;c&lt;/i&gt; satisfy the condition.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Edit: Entirely rewritten in revision 2 to make it simpler.&lt;/em&gt;&lt;/p&gt;&#xA;" OwnerUserId="567" LastEditorUserId="567" LastEditDate="2011-09-01T01:59:47.280" LastActivityDate="2011-09-01T01:59:47.280" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="8040" PostTypeId="1" CreationDate="2011-09-01T04:05:04.827" Score="1" ViewCount="451" Body="&lt;p&gt;Wondering if we can prove the following or if it is already proved where can I get the proof.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $v_1, v_2, v_3, \ldots, v_n$ and $t$ be $n+1$ vertexes in a directed graph. $v_1, v_2, v_3, \ldots, v_n$ form directed acyclic graph. $t$ is connected to each and everyone of $v_1, v_2, v_3, \ldots, v_n$. Now since $v_1, v_2, v_3, \ldots, v_n$ are connected in an acyclic manner, if there is a cycle then it will involve $t$. Can we show that all cycles of length more then 3 will always involve a cycle of length 3? Remember $t$ is connected to every $v_1, v_2, v_3, \ldots, v_n$ and there is no pair wise cycle.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there any other similar problems with different wordings?&#xA;Thanks&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have probably not worded the question more clearly.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Say the acyclic directed graph of vertices $v_1, v_2, v_3, \ldots, v_n$ is $v_1 \rightarrow v_2 \rightarrow v_3 \rightarrow \cdots \rightarrow v_n$. Each $v$ has an edge to $t$. Say there is a cycle $t \rightarrow v_1 \rightarrow v_2 \rightarrow v_3 \rightarrow t$. Such a cycle seems to surely involve a cycle of length 3 i.t either $t \rightarrow v_1 \rightarrow v_2 \rightarrow t$ or $t \rightarrow v_2 \rightarrow v_3 \rightarrow t$. But an not being able to proof this. &lt;/p&gt;&#xA;" OwnerUserId="6377" LastEditorUserId="6285" LastEditDate="2011-09-05T03:31:46.723" LastActivityDate="2011-09-05T03:31:46.723" Title="Cycles in a directed graph" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;directed-acyclic-graph&gt;" AnswerCount="0" CommentCount="9" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8041" PostTypeId="1" AcceptedAnswerId="8042" CreationDate="2011-09-01T06:30:00.807" Score="22" ViewCount="1311" Body="&lt;p&gt;While reading an &lt;a href=&quot;https://cstheory.stackexchange.com/questions/8000/are-the-problems-primes-factoring-known-to-be-p-hard/8021#8021&quot;&gt;answer by Peter Shor&lt;/a&gt; and an earlier &lt;a href=&quot;https://cstheory.stackexchange.com/q/5395/1037&quot;&gt;question by Adam Crume&lt;/a&gt; I realized that I have some misconceptions about what it means to be $\mathsf{P}$-hard.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A problem is $\mathsf{P}$-hard if any problem in $\mathsf{P}$ is reducible to it with $\mathsf{L}$ (or if you prefer $\mathsf{NC}$) reductions. A problem is outside of $\mathsf{P}$ if there does not exist a polynomial time algorithm to solve it. This means that there should be problem that are outside $\mathsf{P}$ but are not $\mathsf{P}$-hard. If we asume that FACTORING is outside of $\mathsf{P}$, then Peter Shor's answer suggests that FACTORING could be such a problem. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there any known problems (natural or artificial) that are known to lay outside $\mathsf{P}$ but not be $\mathsf{P}$-hard? What about under assumptions weaker than the factoring assumption? Is there a name for this complexity class? &lt;/p&gt;&#xA;" OwnerUserId="1037" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2017-12-21T20:04:11.097" Title="Problems outside of P that are not P-hard" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;" AnswerCount="3" CommentCount="0" FavoriteCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="8042" PostTypeId="2" ParentId="8041" CreationDate="2011-09-01T07:10:27.420" Score="18" Body="&lt;p&gt;If $\mathsf{P} \neq \mathsf{L}$ then no sparse set (even a non-computable one) can be $\mathsf{P\text{-}hard}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The misconception comes from thinking about complexity classes (and computational problems) as creating a linear order which is not true. Using the word &quot;hardness&quot; for a problem can be used to solve other problems in the class also contributes to the misconception. A lowerbound for a problem (i.e. not being in a complexity class) does not imply that the problem is hard for the class (i.e. can be used to solve other problems in the class). I don't know if there is better alternative terminology for &quot;hardness&quot; that is in use currently, one that has been used in previous decades is &quot;universality&quot; (which, IMHO, expressed the concept more faithfully, and then we could have used &quot;hardness&quot; for not being in the class, but changing established terminology is very difficult).&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2011-09-01T07:18:38.897" LastActivityDate="2011-09-01T07:18:38.897" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="8043" PostTypeId="2" ParentId="8034" CreationDate="2011-09-01T07:36:06.973" Score="22" Body="&lt;p&gt;Graph Isomorphism is hard for DET, the class of problems which are $NC^1$ reducible to the determinant. See &quot;On the Hardness of Graph Isomorphism&quot; by Jacobo Toran. &lt;a href=&quot;http://epubs.siam.org/sicomp/resource/1/smjcat/v33/i5/p1093_s1?isAuthorized=no&quot;&gt;http://epubs.siam.org/sicomp/resource/1/smjcat/v33/i5/p1093_s1?isAuthorized=no&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It seems this is the strongest hardness result to date.&lt;/p&gt;&#xA;" OwnerUserId="4237" LastActivityDate="2011-09-01T07:36:06.973" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="8044" PostTypeId="1" AcceptedAnswerId="8049" CreationDate="2011-09-01T08:29:02.863" Score="4" ViewCount="440" Body="&lt;p&gt;I have 3-dimensional data I want to store in a kd-tree. Additionally I have a domain-specific distance function in this space for which I have a hard time to prove the triangular inequality. Here is the function:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$x,y \in [0,255]^3$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$r=\frac{x_1+y_1}{2}$&#xA;$dist(x,y)=\sqrt{(2+\frac{r}{256})*(x_1-y_1)^2 + 4*(x_2-y_2)^2 + (2+\frac{255-r}{256})*(x_3-y_3)^2}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question now is: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Do I need triangular inequality, given that all other conditions of a metric are fulfilled, for the guarantee that all k-nearest neighbors to a given point can be found.&lt;/p&gt;&#xA;" OwnerUserId="6398" LastEditorUserId="80" LastEditDate="2011-09-01T16:47:18.947" LastActivityDate="2011-09-01T16:47:18.947" Title="Does kd tree requires triangular inequality for finding k-nearest neighbors" Tags="&lt;ds.data-structures&gt;&lt;cg.comp-geom&gt;&lt;near-neighbors&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="8045" PostTypeId="2" ParentId="7928" CreationDate="2011-09-01T08:48:22.977" Score="6" Body="&lt;p&gt;A recent paper by Isolde Adler1, Frederic Dorn, Fedor V. Fomin, Ignasi Sau and Dimitrios M. Thilikos called &lt;a href=&quot;http://www.lirmm.fr/~sau/Pubs/ADF+10b.pdf&quot;&gt;Fast Minor Testing in Planar Graphs&lt;/a&gt; shows that when looking for a minor $H$ on $h$ vertices in a &lt;em&gt;planar graph&lt;/em&gt; $G$, this can be done in $2^{O(h)} n + O(n^2 \log n)$ time. While the dependence on $n$ is not as good as the one mentioned in the answer by David, the dependency on $h$ of this work is far superior.&lt;/p&gt;&#xA;" OwnerUserId="122" LastActivityDate="2011-09-01T08:48:22.977" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8046" PostTypeId="2" ParentId="8041" CreationDate="2011-09-01T09:19:56.477" Score="19" Body="&lt;p&gt;I think you can construct a set not in $P$ that is not $P$-hard by a Ladner-style argument. Here's a specific example.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In his paper &quot;A Uniform Approach to Obtain Diagonal Sets in Complexity Classes&quot; (Theor. Comp. Sci. 18, 1982), Schöning proves the following:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Theorem&lt;/strong&gt; Suppose $A_1 \notin C_1$, $A_2 \notin C_2$, $C_1$ and $C_2$ are recursively presentable complexity classes and are closed under finite variations. Then there's a set $A$ such that $A \notin C_1$, $A \notin C_2$, and if $A_1 \in P$ and $A_2$ is not trivial (empty set or all strings) then $A$ is polytime many-one reducible to $A_2$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;To apply this, set $A_1$ to be the empty set, and $A_2$ to be $EXP$-complete under polytime reductions, set $C_1$ be the set of $P$-hard sets that are in $EXP$, set $C_2 = P$. The empty set cannot be $P$-hard (the definition of $P$-hardness for a language requires that there is at least one instance in the language and one instance not in). $A_2$ is definitely not in $C_2$. The $C_1$ and $C_2$ can be verified to meet the above conditions (similar to how Schoening does it for the $NP$-complete sets; see also &lt;a href=&quot;https://cstheory.stackexchange.com/q/39815/17577&quot;&gt;this related question&lt;/a&gt;). So we get an $A$ that is not a $P$-hard problem in $EXP$, and that $A$ is not in $P$. But because $A_1 \in P$ and $A_2$ is nontrivial, $A$ is many-one reducible to an $EXP$-complete set, so it is in $EXP$. Therefore, in particular, $A$ cannot be $P$-hard either.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the above argument, the restriction to $P$-hard problems in $EXP$ is necessary to ensure recursive presentability, since the P-hard problems as a whole are &lt;a href=&quot;https://cstheory.stackexchange.com/a/39816/17577&quot;&gt;not recursively presentable and not even countable&lt;/a&gt;.&#xA;Now, &quot;natural&quot; examples of this are a different story...&lt;/p&gt;&#xA;" OwnerUserId="225" LastEditorUserId="17577" LastEditDate="2017-12-21T20:04:11.097" LastActivityDate="2017-12-21T20:04:11.097" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="8047" PostTypeId="1" CreationDate="2011-09-01T09:25:48.687" Score="5" ViewCount="329" Body="&lt;p&gt;Wagner and Wagner, in &quot;&lt;a href=&quot;http://dx.doi.org/10.1007/3-540-57182-5_65&quot; rel=&quot;noreferrer&quot;&gt;Between min cut and graph bisection&lt;/a&gt;&quot; (MFCS 1993), studied a variant of minimum bisection problem where we seek a cut with minimum size such that each partition has at least $\log n$ verticies. They stated that the complexity of this variant is an open problem since they did not find an efficient algorithm nor NP-hardness proof.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Has anyone setteled the complexity of $\log n $ balanced graph partition?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="495" LastEditorUserId="74" LastEditDate="2011-09-01T12:51:45.203" LastActivityDate="2011-09-01T12:51:45.203" Title="Complexity of balanced graph partition problem" Tags="&lt;cc.complexity-theory&gt;&lt;open-problem&gt;" AnswerCount="0" CommentCount="6" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="8048" PostTypeId="2" ParentId="8041" CreationDate="2011-09-01T14:38:23.783" Score="10" Body="&lt;p&gt;Another way to generate problems that are outside P but not P-hard is to take complete problems for classes incomparable with P. Say a class X is incomparable with P, in the sense that neither is a subset of the other.  Then a X-complete problem is necessarily outside P (otherwise P would include X) and is not P-hard (otherwise X would include P).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I tried to think of some classes incomparable with P, but P is a pretty robust class, so there aren't too many such classes. For example, RNC and QNC might be incomparable with P. DSPACE($\log^2$) might also be incomparable with P. PolyL is incomparable with P, but doesn't have complete problems under logspace reductions. &lt;/p&gt;&#xA;" OwnerUserId="206" LastActivityDate="2011-09-01T14:38:23.783" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8049" PostTypeId="2" ParentId="8044" CreationDate="2011-09-01T16:38:00.303" Score="6" Body="&lt;p&gt;First of all, I'm not sure why you even need a kd-tree for 3D data. Any reasonable grid structure will be ok to find near neighbors (See &lt;a href=&quot;http://www.ecse.rpi.edu/Homepages/wrf/pmwiki/&quot; rel=&quot;nofollow&quot;&gt;the work by Franklin&lt;/a&gt; for example, on spiral search methods). Secondly, the triangle inequality is needed to prune the search space correctly, so without it things will run a lot slower. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, as a side note, the coefficients on the first and third square terms are of the form $\alpha, 5-\alpha$, where $2 \le \alpha &amp;lt; 3$. So what you really have is a space in which the distance is defined by a Mahalanobis distance (an affinely transformed Euclidean distance) which is almost fixed (since the coefficients vary between 2 and 3). So even if the triangle inequality is not satisfied (and it's very likely it doesn't), it will be &quot;almost satisfied&quot; in a way that will make near-neighbor searching entirely possible. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2011-09-01T16:38:00.303" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8050" PostTypeId="1" CreationDate="2011-09-01T17:15:43.550" Score="8" ViewCount="787" Body="&lt;p&gt;We are given an $n \times (n + k)$ matrix $A$, with entries in GF(2), of the form $A =[I_n\ B]$, where $I_n$ is the $n \times n$ identity matrix, and $B$ has no &quot;zero&quot; rows or columns.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem is to partition the columns of $A$ into at most $m$ subsets, each of size at most $b$, such that the number of critical subsets is minimized (with minimum $m$), where a critical subset is a subset of the set of columns such that if we remove it from $A$ the reduced matrix has rank less than $n$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;By the phrase &quot;minimum m&quot; I mean that we want to partition using minimum subsets (at the max we can use $m$ subsets) without sacrificing the number of critical subsets. For example, suppose we are getting the optimum config (i.e number of critical subsets is minimum) with $m_1$ subsets ($m_1$ &amp;lt; $m$), then we need not use all the $m$ subsets. In real world these $m$ subsets are $m$ boxes. If I can get the optimum config with less than $m$ boxes, I need not use the remaining ones, they can be saved. Our aim is to solve the problem for any $n$,$k$,$m$,$b$ and any $A$ matrix with the mentioned properties i.e. we want to design a general polynomial time algorithm or prove that the general algorithm is NP-Complete. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem seems NP-Complete to me. It a special case of &quot;set cover/maximum coverage problem&quot; and that's why it is becoming very difficult to reduce from the general set cover/maximum coverage problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The elaborate problem definition/relevant discussion can be found at &lt;a href=&quot;https://math.stackexchange.com/questions/57412/optimization-problem-for-a-parity-check-code&quot;&gt;https://math.stackexchange.com/questions/57412/optimization-problem-for-a-parity-check-code&lt;/a&gt;. As we could not reach to any solution there, I am posting it here.&lt;/p&gt;&#xA;" OwnerUserId="6402" LastEditorUserId="-1" LastEditDate="2017-04-13T12:19:19.363" LastActivityDate="2011-09-05T04:52:22.080" Title="Is this minimization problem NP-Complete?" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;&lt;optimization&gt;&lt;np&gt;&lt;partition-problem&gt;" AnswerCount="0" CommentCount="20" ContentLicense="CC BY-SA 3.0" />
  <row Id="8052" PostTypeId="1" CreationDate="2011-09-01T20:41:49.510" Score="7" ViewCount="98" Body="&lt;p&gt;Given a matrix of size $n\times n$ with numbers, where every row is sorted, one can compute the $k$th smallest element in $O(n \log^2 n)$ time by simulating (implicitly) quick-select on this matrix (removing one log factor can be done by avoiding the binary search in each row). In fact, $O(n )$ time algorithm is possible if the columns are also sorted, see below for details by simulating some variant of QuickSelect on this matrix. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question: Is there a reference that describes and analyzes how to simulate QuickSelect on an implicit set (like a row sorted matrix)? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is not hard, but I would prefer not to write it down if somebody already did it. Thanks in advance...&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;More details&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;Fredrickson and Johnson showed how to get $O(n)$ time algorithm if both rows and columns are sorted &lt;a href=&quot;http://epubs.siam.org/sicomp/resource/1/smjcat/v13/i1/p14_s1?isAuthorized=no&quot; rel=&quot;nofollow&quot;&gt;http://epubs.siam.org/sicomp/resource/1/smjcat/v13/i1/p14_s1?isAuthorized=no&lt;/a&gt;. It is in fact not too hard to come up with an $O(n)$ randomized time algorithm by massively sampling in each iteration, estimating the interval where the element must lie, and then recursively continuing on the elements lying in this interval (this selection algorithm due to Rivest and Floyd is described in pages 47-51 in the randomized algorithms book by Motwani and Raghavan).&lt;/p&gt;&#xA;" OwnerUserId="9594" LastEditorUserId="186" LastEditDate="2011-09-02T02:35:09.983" LastActivityDate="2011-09-02T02:35:09.983" Title="Ref - Implicit selection made quick?" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;" AnswerCount="0" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8053" PostTypeId="2" ParentId="2300" CreationDate="2011-09-01T22:21:29.330" Score="0" Body="&lt;p&gt;What about tools, if you decide to you Prolog as language of choice, I can suggest a few implementation approaches :&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.gprolog.org/&quot; rel=&quot;nofollow noreferrer&quot;&gt;GNU Prolog&lt;/a&gt; with is C programming library. You can call C functions from Prolog, and Prolog from C. This opens you a lot of possibilities of extending functionality. Pro: Gnu Prolog is one of fastest freely available Prolog compilers. Note: Some people complain on lack of some build-in predicates... actually most of them can be implemented, check out &lt;a href=&quot;https://stackoverflow.com/questions/7151675/prolog-compatibility-layers-available-programming-libraries&quot;&gt;Prolog compatibility layers @SO&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.swi-prolog.org/&quot; rel=&quot;nofollow noreferrer&quot;&gt;SWI-Prolog&lt;/a&gt; has interesting programming library, including network communication, Protocol Buffers Support etc. And is quite popular.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://xsb.sourceforge.net/&quot; rel=&quot;nofollow noreferrer&quot;&gt;XSB Prolog&lt;/a&gt; some people claim it's most interesting project in terms of interoperability - including : databases interfaces etc.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Prolog is programming language, that is suitable for doing many kinds of solvers (and most of them have their finite domain solvers).&lt;/p&gt;&#xA;" OwnerUserId="6133" LastEditorUserId="-1" LastEditDate="2017-05-23T12:40:09.333" LastActivityDate="2011-09-01T22:21:29.330" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8055" PostTypeId="2" ParentId="2300" CreationDate="2011-09-02T02:50:00.467" Score="4" Body="&lt;p&gt;I am a bit confused about the term interactive. I'll chime in with the others and add that an SMT solver might be helpful. To add to Walter Bishop's comment, &lt;a href=&quot;http://www.decision-procedures.org/slides/&quot; rel=&quot;nofollow&quot;&gt;slides&lt;/a&gt; for the Decision Procedures (Kroening and Strichman) book are available. John Harrison's thorough treatment in Handbook of Practical Logic and Automated Reasoning may also interest you. &lt;a href=&quot;http://www.cl.cam.ac.uk/~jrh13/atp/index.html&quot; rel=&quot;nofollow&quot;&gt;Example code&lt;/a&gt; is available online.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Philipp Ruemmer's &lt;a href=&quot;http://www.philipp.ruemmer.org/princess.shtml&quot; rel=&quot;nofollow&quot;&gt;Princess&lt;/a&gt; supports arithmetic with uninterpreted predicates, which might fit what you mean by open. It's written in Scala, uses E-matching in handling quantification and provides interpolants. &lt;/p&gt;&#xA;" OwnerUserId="4155" LastEditorUserId="4155" LastEditDate="2011-09-02T02:57:14.560" LastActivityDate="2011-09-02T02:57:14.560" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8056" PostTypeId="2" ParentId="1168" CreationDate="2011-09-02T04:33:21.343" Score="4" Body="&lt;p&gt;The RSA cryptosystem was described in a &lt;a href=&quot;http://people.csail.mit.edu/rivest/Rsapaper.pdf&quot; rel=&quot;nofollow&quot;&gt;short elegant paper&lt;/a&gt;; it's very readable and created quite a stir even among non-scientists.&lt;/p&gt;&#xA;" OwnerUserId="3866" LastActivityDate="2011-09-02T04:33:21.343" CommentCount="1" CommunityOwnedDate="2011-09-02T04:33:21.343" ContentLicense="CC BY-SA 3.0" />
  <row Id="8058" PostTypeId="1" AcceptedAnswerId="8083" CreationDate="2011-09-02T16:26:20.487" Score="30" ViewCount="1156" Body="&lt;p&gt;&lt;a href=&quot;http://www.math.cornell.edu/~mec/Winter2009/Thompson/randomwalks.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;It's well known that a random walk in the two dimensional grid will return to the origin with probability 1. It's also known that the same random walk in THREE dimensions has a probability strictly less than 1 of returning to the origin&lt;/a&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there something in between ? For example, suppose my space was&#xA;  actually a bounded region of the plane extruded out to infinity in the&#xA;  z-direction. (what's often called 2.5 dimensional). Do the&#xA;  two-dimensional results apply, or the three dimensional ?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;This came up in discussions, and one heuristic argument saying that it behaves two dimensionally is that since the finite region of the plane will be covered eventually, the only nontrivial part of the walk is the 1 dimensional ray along the z direction, and so return to the origin will happen. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there other shapes that interpolate between the two-D and the three-D case ? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Update&lt;/strong&gt; (pulled in from comments): &lt;a href=&quot;https://mathoverflow.net/questions/45098/when-do-3d-random-walks-return-to-their-origin&quot;&gt;a related question was asked on MO&lt;/a&gt; - a short summary is that if the walk is even (2+ϵ) dimensional, then uncertain return follows loosely from a diverging series. However, the above question is slightly different IMO since I'm asking about other kinds of shapes that might admit certain return. &lt;/p&gt;&#xA;" OwnerUserId="80" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2011-09-04T17:17:32.633" Title="Drunken birds vs drunken ants: random walks between two and three dimensions" Tags="&lt;pr.probability&gt;&lt;random-walks&gt;&lt;markov-chains&gt;" AnswerCount="2" CommentCount="9" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="8059" PostTypeId="1" AcceptedAnswerId="8060" CreationDate="2011-09-02T17:39:25.577" Score="1" ViewCount="238" Body="&lt;p&gt;What is the recommended citation style for use with CS (and related) publications?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I tried looking at submissions at &lt;a href=&quot;http://arxiv.org/archive/cs&quot; rel=&quot;nofollow&quot;&gt;http://arxiv.org/archive/cs&lt;/a&gt; but all of them seem to use different citation styles.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm doing an academic project and I'm writing a project report for the same. So, is there a (possibly 'standard') citation style that is preferred over other citation styles (such as those listed at  &lt;a href=&quot;http://en.wikipedia.org/wiki/Wikipedia:Citing_Wikipedia#Examples&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/Wikipedia:Citing_Wikipedia#Examples&lt;/a&gt;) for CS publications (like research papers, project reports, books, presentations etc.)?&#xA;Or, is it a matter of personal choice/preference (and sticking to it forever)?&lt;/p&gt;&#xA;" OwnerUserId="6413" LastEditorUserId="80" LastEditDate="2011-09-02T17:49:16.637" LastActivityDate="2011-09-02T17:49:20.460" Title="Citation style for CS publications" Tags="&lt;soft-question&gt;&lt;advice-request&gt;&lt;citations&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8060" PostTypeId="2" ParentId="8059" CreationDate="2011-09-02T17:49:20.460" Score="5" Body="&lt;p&gt;Most CS conference publications use the ACM BibTeXstyle file (or the plain style file) to cite papers, and that constitutes the de facto 'style'. Different journals and conferences often prescribe their own citation format via a different BibTeX style.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So the short answer to your question is that there isn't a common style, and if you believe in using BibTex, then merely changing the style file can allow you to accommodate different styles. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2011-09-02T17:49:20.460" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8061" PostTypeId="2" ParentId="8058" CreationDate="2011-09-02T18:41:24.543" Score="1" Body="&lt;p&gt;A 3-D random walk in a 3x3x3 space (like a rubik's cube) has a probability of less than one of returning to the origin, if the walk starts at the outside; but that of a 2x2x2 space is one, as is 3x3x3 space with the origin at the center. So it seems that there are some intermediate shapes, but maybe not very many.&lt;/p&gt;&#xA;" OwnerUserId="6365" LastEditorUserId="6365" LastEditDate="2011-09-02T22:54:49.737" LastActivityDate="2011-09-02T22:54:49.737" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="8062" PostTypeId="2" ParentId="1168" CreationDate="2011-09-02T19:16:11.927" Score="16" Body="&lt;p&gt;&lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S002200009791494X&quot;&gt;Natural Proofs&lt;/a&gt; by Razborov and Rudich.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The original paper is clearly written, easy to read and requires very little background knowledge. Yet it proves what is (in my opinion) one of the most important known results in computational complexity, by showing that most naive or &quot;natural&quot; approaches one could think of for proving P != NP are doomed to failure. Worth reading at least as much for the mind-expanding nature of the proof as for the result itself.&lt;/p&gt;&#xA;" OwnerUserId="447" LastActivityDate="2011-09-02T19:16:11.927" CommentCount="0" CommunityOwnedDate="2011-09-02T19:16:11.927" ContentLicense="CC BY-SA 3.0" />
  <row Id="8064" PostTypeId="2" ParentId="7788" CreationDate="2011-09-02T21:24:46.917" Score="1" Body="&lt;p&gt;If you're a programmer at heart and a fan of Ruby, you might enjoy &lt;a href=&quot;http://cs.stanford.edu/~pliang/software/rfig/&quot; rel=&quot;nofollow&quot;&gt;rfig&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="1810" LastActivityDate="2011-09-02T21:24:46.917" CommentCount="0" CommunityOwnedDate="2011-09-02T21:24:46.917" ContentLicense="CC BY-SA 3.0" />
  <row Id="8065" PostTypeId="1" CreationDate="2011-09-02T23:21:12.000" Score="10" ViewCount="463" Body="&lt;p&gt;Say we have a polyhedron in standard form:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;\begin{equation*}&#xA;\begin{array}{rl}&#xA;\mathbf{A}\mathbf{x} = \mathbf{b} \\\\&#xA;\mathbf{x} \ge 0&#xA;\end{array}&#xA;\end{equation*}&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there any known methods for finding a hyperplane $\mathbf{d} \mathbf{x} +d_0= 0$ that splits the polyhedron in a way that the number of vertices on each side of the hyperplane is approximately the same?  (i.e. an algorithm that minimizes the absolute difference of vertex cardinalities on the two sides of the split).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, are there any known results regarding the complexity of this problem?&lt;/p&gt;&#xA;&#xA;&lt;h3&gt;Addendum: Restricting the types of cuts:&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;Here is a variation of the original problem with the hope that it is easier to solve than the original one: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a way to efficiently compute or estimate for which coordinate $i$ a hyperplane of the form $d_ix_i + d_0 = 0$ would yield the lowest absolute difference of vertex cardinalities on both sides of the split? By efficient I mean anything more efficient than the exhaustive enumeration of vertex cardinalities for all  possible such splits.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; After a few days of little progress, I posted this question at &lt;a href=&quot;https://mathoverflow.net/questions/74779/finding-a-hyperplane-that-splits-a-convex-polytope-evenly&quot;&gt;MathOverflow&lt;/a&gt; too. &lt;/p&gt;&#xA;" OwnerUserId="3137" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2011-09-08T18:55:01.733" Title="Finding a cutting plane that splits a polyhedron evenly" Tags="&lt;ds.algorithms&gt;&lt;linear-programming&gt;&lt;linear-algebra&gt;" AnswerCount="1" CommentCount="4" CommunityOwnedDate="2011-09-08T18:55:01.733" ContentLicense="CC BY-SA 3.0" />
  <row Id="8066" PostTypeId="1" AcceptedAnswerId="8068" CreationDate="2011-09-03T09:02:03.457" Score="5" ViewCount="471" Body="&lt;p&gt;In CLRS's Introduction to Algorithms 3rd edition P.525, when it analyzes the size($x$)'s lower bound, there is a sentence that I quote as &quot;because adding children to a node cannot decrease the node’s size, the value of $s_k$ increases monotonically with $k$&quot;. But in fact, I think I can give a counterexample to show that $s_k$ does not necessarily increase monotonically with k.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the following graph, the degree of the node with key 1 is 2, and there is no other node with degree of 2. So $s_2=8$. Similarly, $s_3=6$. But now $s_3$ is less than $s_2$ which means $s_k$ is not monotonically increasing with $k$ at all.&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;2 - 0 - 4 - 2 - 5 - 8 - 7 -  1&#xA;            |               /  \&#xA;            8              2    9&#xA;                              / | \&#xA;                             10 14 16&#xA;                             |  |&#xA;                             11 15&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;The heap can be derived from an unordered binomial subtree by executing a series of cuts and cascading-cuts. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I want to know whether the above structure is a valid Fibonacci heap. If so, then it is also a valid counterexample.&lt;/p&gt;&#xA;" OwnerUserId="6419" LastEditorUserId="3964" LastEditDate="2011-09-03T15:20:49.120" LastActivityDate="2011-09-03T22:13:57.303" Title="CLRS's Fibonacci Heap size(x) analysis has a flaw?" Tags="&lt;ds.algorithms&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8067" PostTypeId="2" ParentId="7715" CreationDate="2011-09-03T13:21:36.550" Score="2" Body="&lt;p&gt;I suggest looking here, we've done some work in this area:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://arxiv.org/abs/1107.2848&quot; rel=&quot;nofollow&quot;&gt;http://arxiv.org/abs/1107.2848&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Cheers&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Peter&lt;/p&gt;&#xA;" OwnerUserId="6421" LastActivityDate="2011-09-03T13:21:36.550" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8068" PostTypeId="2" ParentId="8066" CreationDate="2011-09-03T13:50:52.017" Score="12" Body="&lt;p&gt;In CLRS, $s_k$ is defined to be &quot;the minimum possible size of any node of degree $k$ in any Fibonacci heap.&quot; Assuming your example data structure is a valid Fibonacci heap, your Fibonacci heap has a node of degree 2 with size 8 and a node of degree 3 with size 6. Thus, these are possible sizes that nodes of degree 2 and 3 can have but not lower bounds on their sizes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Using Lemma 19.1 (as in the proof of Lemma 19.4), $s_2 = 3$ and $s_3 = 5$, monotonically increasing as CLRS claim.&lt;/p&gt;&#xA;" OwnerUserId="3964" LastEditorUserId="3964" LastEditDate="2011-09-03T22:13:57.303" LastActivityDate="2011-09-03T22:13:57.303" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8072" PostTypeId="2" ParentId="8065" CreationDate="2011-09-03T22:01:41.430" Score="-2" Body="&lt;p&gt;I can't remember the analytic way to do this!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But this a classical problem for Genetic Programming! If you are familiar with it you can use a normalized vectors in the center of the polyhedron that describes the cutting plane.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So your population is a set of [x,y,z,...] normalized vectors and as fitting function you use the difference between the 2 split volumes!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, if the difference tends to zero more &quot;fit&quot; is your vector/plane!&lt;/p&gt;&#xA;" OwnerUserId="6427" LastActivityDate="2011-09-03T22:01:41.430" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8073" PostTypeId="1" AcceptedAnswerId="20024" CreationDate="2011-09-03T22:02:25.350" Score="19" ViewCount="723" Body="&lt;p&gt;&lt;strong&gt;Background:&lt;/strong&gt; Chao Xu posted the following question some time ago: &quot;&lt;a href=&quot;https://cstheory.stackexchange.com/questions/7131/sorting-algorithm-such-that-each-element-is-compared-o-log-n-times-and-does&quot;&gt;Are there any known comparison sorting algorithms that do not reduce to sorting networks, such that each element is compared $O(\log n)$ times?&lt;/a&gt;&quot;. It seems that we are a bit stuck with the problem; I have discussed the same problem with Valentin Polishchuk in 2009, and we got nowhere.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To get some fresh ideas, I tried to come up with the simplest possible question that has a similar flavour and is not completely trivial. Hence the following question.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question:&lt;/strong&gt; You are given two sorted lists, each of them with $n$ elements. Can you &lt;strong&gt;merge&lt;/strong&gt; the lists so that each element is only compared $O(1)$ times?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Naturally, the output should be a sorted list that contains all $2n$ elements.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[This turned out to be trivial, the answer is &quot;no&quot;.]&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question 2:&lt;/strong&gt; You are given two sorted lists, each of them with $n$ elements. Can you &lt;strong&gt;merge&lt;/strong&gt; the lists so that each element is only compared $O(1)$ times, if you are allowed to &lt;strong&gt;discard a small fraction of elements&lt;/strong&gt;?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More precisely, the output should be a sorted list that contains $2n-T(n)$ elements, and a &quot;trashcan&quot; that contains $T(n)$ elements. How small can you make the value $T(n)$? Getting $T(n) = n$ is trivial. Something like $T(n) = n/100$ should be doable in a straightforward manner. But can you get $T(n) = o(n)$?&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Notes:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;We use the comparison model here. Deterministic algorithms only, we are interested in the worst-case guarantees.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Note that &lt;em&gt;both&lt;/em&gt; lists have exactly $n$ elements. If we had one list with $n$ elements and another with $1$ element, the answer is clearly &quot;no&quot;; however, if both lists are long, it seems that one &lt;em&gt;might&lt;/em&gt; be able to do some &quot;load balancing&quot;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;This time any kind of algorithm is valid. If your algorithm uses sorting networks as a building block, it is perfectly fine.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;For a starting point, here is a simple algorithm that compares each element for at most 200 times: Just use the standard merge algorithm, but maintain counters for the heads of the lists. Once you reach 200, discard the element. Now for each element that you discard, you have successfully placed 200 elements in your output array. Hence you have achieved $T(n) = n/100$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="74" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.743" LastActivityDate="2013-12-01T16:59:27.550" Title="Merging lists of fragile objects" Tags="&lt;ds.algorithms&gt;&lt;sorting&gt;&lt;sorting-network&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="8074" PostTypeId="1" AcceptedAnswerId="31060" CreationDate="2011-09-04T03:25:16.417" Score="20" ViewCount="580" Body="&lt;p&gt;In parametrized complexity, $\mathsf{FPT} \subseteq \mathsf{W}[1]$ $\subseteq \mathsf{W}[2]$ $\subseteq \ldots \subseteq \mathsf{W}[P]$. It is conjectured that each of the containments is proper.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $\mathsf{FPT}=\mathsf{W}[P]$ then $\mathsf{P}=\mathsf{W}[P]$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But does it follow that &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;If $\mathsf{FPT}=\mathsf{W}[1]$ then $\mathsf{FPT}=\mathsf{W}[P]$ ?&#xA;or&lt;/li&gt;&#xA;&lt;li&gt;If $\mathsf{W}[t-1]=\mathsf{W}[t]$ (for some t) then $\mathsf{FPT}=\mathsf{W}[P]$ ?&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="6429" LastEditorUserId="6429" LastEditDate="2011-09-04T19:17:18.490" LastActivityDate="2015-04-08T15:34:59.853" Title="FPT vs W[P] - Parameterized Complexity" Tags="&lt;cc.complexity-theory&gt;&lt;parameterized-complexity&gt;&lt;fixed-parameter-tractable&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="8075" PostTypeId="2" ParentId="4846" CreationDate="2011-09-04T04:23:22.920" Score="6" Body="&lt;p&gt;A new paper by Steven Myers, Mona Sergi, and Abhi Shelat on eprint, &amp;quot;&lt;a href=&quot;http://eprint.iacr.org/2011/454&quot; rel=&quot;nofollow noreferrer&quot;&gt;Threshold Fully Homomorphic Encryption and Secure Computation&lt;/a&gt;&amp;quot;, claims a threshold fully homomorphic encryption scheme.&lt;/p&gt;&#xA;&lt;p&gt;From their abstract:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;...&lt;/p&gt;&#xA;&lt;p&gt;Gentry [Gen09a] shows how to combine both ideas with fully homomorphic encryption in order to construct secure multi-party protocol that allows evaluation of a function &lt;span class=&quot;math-container&quot;&gt;$f$&lt;/span&gt; using communication that is &lt;strong&gt;independent of the circuit description of &lt;span class=&quot;math-container&quot;&gt;$f$&lt;/span&gt;&lt;/strong&gt; and computation that is polynomial in &lt;span class=&quot;math-container&quot;&gt;$|f|$&lt;/span&gt;. This paper addresses the major drawback's of Gentry's approach: we eliminate the use of non-black box methods that are inherent in Naor and Nissim's compiler.&lt;/p&gt;&#xA;&lt;p&gt;To do this we show how to modify the fully homomorphic encryption construction of van Dijk et al. [vDGHV10] to be threshold fully homomorphic encryption schemes.&lt;/p&gt;&#xA;&lt;p&gt;...&lt;/p&gt;&#xA;&lt;p&gt;Altogether, &lt;em&gt;we construct the first black-box secure multi-party computation protocol that allows evaluation of a function &lt;span class=&quot;math-container&quot;&gt;$f$&lt;/span&gt; using communication that is independent of the circuit description of &lt;span class=&quot;math-container&quot;&gt;$f$&lt;/span&gt;&lt;/em&gt;.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="686" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2011-09-04T06:00:27.083" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8076" PostTypeId="5" CreationDate="2011-09-04T05:09:43.677" Score="0" Body="" OwnerUserId="-1" LastEditorUserId="-1" LastEditDate="2011-09-04T05:09:43.677" LastActivityDate="2011-09-04T05:09:43.677" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8077" PostTypeId="4" CreationDate="2011-09-04T05:09:43.677" Score="0" Body="This is a mathematical structure composed of a set of points or vertices and a set of connectors or edges. The edges connect the vertices and those vertices are directed. Also no cycles or in other words a directed edge that connects a vertex to a vertex are disallowed." OwnerUserId="5385" LastEditorUserId="5385" LastEditDate="2011-09-04T05:28:40.957" LastActivityDate="2011-09-04T05:28:40.957" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8078" PostTypeId="5" CreationDate="2011-09-04T05:11:55.373" Score="0" Body="" OwnerUserId="-1" LastEditorUserId="-1" LastEditDate="2011-09-04T05:11:55.373" LastActivityDate="2011-09-04T05:11:55.373" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8079" PostTypeId="4" CreationDate="2011-09-04T05:11:55.373" Score="0" Body="A data-set is a set or collection of data. This is usually presented as a table where the column represents a observation. Each row represents an element in the set of data." OwnerUserId="5385" LastEditorUserId="32711" LastEditDate="2018-10-15T19:07:19.527" LastActivityDate="2018-10-15T19:07:19.527" CommentCount="0" ContentLicense="CC BY-SA 4.0" />
  <row Id="8080" PostTypeId="2" ParentId="1699" CreationDate="2011-09-04T07:53:20.190" Score="6" Body="&lt;p&gt;Not a full answer, but hopefully close. This is very close to Luca's comments above. I believe the answer is that at least there do exist constants &lt;i&gt;B&lt;/i&gt;∈ℕ, &lt;i&gt;a&lt;/i&gt;&amp;gt;0, and 0&amp;lt;&lt;i&gt;s&lt;/i&gt;&amp;lt;1 such that Gap-3SAT&lt;sub&gt;&lt;i&gt;s&lt;/i&gt;&lt;/sub&gt; is NP-complete even for a 3CNF formula which is pairwise &lt;i&gt;B&lt;/i&gt;-bounded and consists of at least $an^{2-\epsilon}$ clauses, for any constant $\epsilon$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The proof is as follows. Consider a GAP-3SAT$_s$ instance $\phi$ on $N$ variables in which each variable appears at most 5 times. This is NP-complete, as you say in the question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now we create a new instance $\Phi$ as follows:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;For every variable $x_i$ in $\phi$, $\Phi$ has $n$ variables $y_{ij}$.&lt;/li&gt;&#xA;&lt;li&gt;For every set of indices $i$, $a$ and $b$ with $a\neq b$, $\Phi$ has a pair of clauses $y_{ia}∨￢y_{ib}∨￢y_{ib}$, and $y_{ib}∨￢y_{ia}∨￢y_{ia}$. I'll refer to these as comparison clauses since they ensure that $y_{ia} = y_{ib}$ if they are satisfied. &lt;/li&gt;&#xA;&lt;li&gt;For every clause in $\phi$ acting on variables $x_i$, $x_j$ and $x_k$, for every $a$ and $b$, $\Phi$ contains an equivalent clause, where $x_i$ is replaced by $y_{ia}$, $x_j$ is replaced by $y_{jb}$ and $x_k$ is replaced by $y_{k(a+b)}$  (here addition is done modulo $n$). I'll refer to these as inherited clauses.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;The total number of variables is then $m = nN$. Note $\Phi$ has $2Nn^2$ comparison clauses and $\frac{5}{3}Nn^2$ inherited clauses, for a total of $\frac{11}{3}Nn^2$ clauses. Taking $n = N^k$ we have $m = N^{k+1}$ and the total number of clauses $C = \frac{11}{3}N^{2k+1} = \frac{11}{3}m^{2-\frac{1}{k+1}}$. We take $k = \epsilon^{-1} - 1$, so $C \propto m^{2-\epsilon}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Next, $\Phi$ is pairwise 8-bounded (max of 2 from the comparison clauses and 6 from the inherited clauses).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, if $\phi$ is unsatisfiable, then at least $(1-s)N$ clauses are unsatisfied. Now, if $y_{ia} \neq y_{ib}$ for any $a,b$ then at least $n-1$ clauses are unsatisfied. Note that in order to satisfy the $(1-s)N$ unsatisfied clauses in a set of inherited clauses for fixed $a,b$ then the assignment of variables $y_{:a}$, $y_{:b}$ and $y_{:(a+b)}$ must differ at at least $\frac{1-s}{5}N$ positions, leaving at least $\frac{1-s}{5}N(n-1)$ comparison unsatisfiable clauses. This must hold for every choice of $a$ and $b$, so at least $\approx \frac{1-s}{5}Nn^2 = \frac{3(1-s)}{11}C$ comparison clauses must remain unsatisfied in total for enough inherited clauses to be satisfied.  If however you look at the other extreme where all comparison clauses are satisfied, then $(1-s)Nn^2 = (1-s)m^{\frac{2k+1}{k+1}} = (1-s)C$ clauses are unsatisfiable. Hence a gap remains (although reduced) with $s&amp;#39; = \frac{4+s}{5}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The constants probably need to be double checked.&lt;/p&gt;&#xA;" OwnerUserId="204" LastEditorUserId="204" LastEditDate="2011-09-05T19:17:10.980" LastActivityDate="2011-09-05T19:17:10.980" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="8082" PostTypeId="2" ParentId="6981" CreationDate="2011-09-04T08:59:52.677" Score="10" Body="&lt;p&gt;It seems that:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;The first paper was published in &lt;em&gt;Mathematical Morphology and Its Applications to Image Processing&lt;/em&gt;, J. Serra and P. Soille (Eds.), Kluwer 1994, ISBN 0-7923-3093-5 (a.k.a. Proc. 2nd International Symposium on Mathematical Morphology, ISMM 1994). &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0792330935&quot; rel=&quot;noreferrer&quot;&gt;Amazon link&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The second paper was published in &lt;em&gt;Proc. DICTA 1999&lt;/em&gt;. &lt;a href=&quot;http://www.worldcat.org/title/dicta-99-fifth-internationalnational-biennial-conference-on-digital-image-computing-techniques-and-applications-7-8-december-1999-perth-australia/oclc/657641883&quot; rel=&quot;noreferrer&quot;&gt;Worldcat knows about the book&lt;/a&gt;. It seems that there are at least two Australian libraries that have it in their collections, so it should be possible to order copies of articles from them.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Fairly often, the interlibrary services of university libraries can provide copies of papers published in hard-to-find books and journals.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As Peter Shor suggested in comments, you can also try to contact the authors. Usually, authors will be happy to send you copies of their articles – after all, researchers write papers in order to make their results as widely known as possible.&lt;/p&gt;&#xA;" OwnerUserId="74" LastActivityDate="2011-09-04T08:59:52.677" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8083" PostTypeId="2" ParentId="8058" CreationDate="2011-09-04T15:28:57.413" Score="17" Body="&lt;p&gt;&lt;a href=&quot;http://mypage.iu.edu/~rdlyons/prbtree/prbtree.html&quot;&gt;Probability on Trees and Networks&lt;/a&gt; by Peres and Lyons mentions this in Chapter 2 (page 50):&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;One way to make sense of this is to ask about the type of spaces intermediate between $\mathbb{Z}^2$ and $\mathbb{Z}^3$. For example, consider the wedge&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;$$ W_f := \{ (x, y, z) : |z| \leq f(|x|) \} $$&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;where $f : \mathbb{N} \rightarrow \mathbb{N}$ is an increasing function. The number of edges that leave $W_f \cap \{(x, y, z) : |x| \text{ or } |y| \leq n\}$ is of the order $n(f(n)+1)$, so that according to the Nash-Williams Criterion, &lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;$$\sum_{n \geq 1}\frac{1}{n(f(n)+1)} = \infty$$&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;is sufficient for recurrence.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="2083" LastEditorUserId="1800" LastEditDate="2011-09-04T17:17:32.633" LastActivityDate="2011-09-04T17:17:32.633" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8084" PostTypeId="2" ParentId="6981" CreationDate="2011-09-04T18:04:24.083" Score="1" Body="&lt;p&gt;If you have access to a library, look for a hardcopy of the journal or proceedings in their catalog.  You might be surprised how much is available that way.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have had good luck getting scanned copies of individual articles by making interlibrary loan requests (as suggested by others).&lt;/p&gt;&#xA;" OwnerUserId="6218" LastActivityDate="2011-09-04T18:04:24.083" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8085" PostTypeId="1" CreationDate="2011-09-04T22:14:17.173" Score="10" ViewCount="471" Body="&lt;p&gt;I have a family of linear programming problems:  maximise $c&amp;#39; x$ subject to $A x\le b$, $x\ge0$. The elements of $A$, $b$, and $c$ are nonnegative integers, $c$ strictly positive. ($x$ should also be integral but I will worry about that later.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It often happens in my application that the coefficients $A$ and $c$ are such that a simplified one-pass algorithm gives the optimal solution for every choice of $b$: the one-pass algorithm determines the elements $x_1,\dots,x_n$ in sequence, choosing each $x_j$ to be the largest possible value consistent with the already-determined values $x_1,\dots,x_{j-1}$. In simplex language, the sequence of entering variables is just $x_1$ to $x_n$, and it terminates after $n$ steps. This saves a lot of time compared to full-on simplex.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This algorithm works when the columns of $A$ and the elements of $c$ have been sorted from &quot;cheap&quot; to &quot;expensive&quot;. A &quot;cheap&quot; variable is a column of $A$ with generally small values, for which the corresponding element of $c$ is large:  for that element of $x$ you get a lot of output with not very much demand on the constraint $b$. So the algorithm just says &quot;do the easy stuff first.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is: what property of $A$ and $c$ would assure us that this simplified algorithm works for all $b$? My initial conjecture was that the nonzero elements of $A$ should be increasing in each row, but that is not correct.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here are some examples, all with $c=(1,1,1)$:&#xA;$A_1=\begin{pmatrix} 1 &amp;amp; 1 &amp;amp; 1 \\ 1 &amp;amp; 2 &amp;amp; 3 \\ 3 &amp;amp; 2 &amp;amp; 0\end{pmatrix}$,&#xA;$A_2=\begin{pmatrix} 0 &amp;amp; 0 &amp;amp; 1 \\ 3 &amp;amp; 0 &amp;amp; 2 \\ 0 &amp;amp; 3 &amp;amp; 2 \end{pmatrix}$,&#xA;$A_3=\begin{pmatrix} 1 &amp;amp; 1 &amp;amp; 1 \\ 1 &amp;amp; 0 &amp;amp; 0 \\ 1 &amp;amp; 0 &amp;amp; 1 \end{pmatrix}$,&#xA;$A_4=\begin{pmatrix} 1 &amp;amp; 0 &amp;amp; 1 \\ 0 &amp;amp; 1 &amp;amp; 0 \\ 0 &amp;amp; 1 &amp;amp; 1 \end{pmatrix}$.&#xA;For all of these, the sequential algorithm gives the optimal solution for all values of $b$ (by numerical experimentation). $A_3$ is the only one for which all permutations of columns also work. $A_1$ and $A_3$ are especially baffling, since $(1,1,3)$ looks more expensive than $(1,3,0)$ and $(1,1,1)$ more expensive than $(1,0,0)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would be tremendously grateful for any pointers to the literature, for any problems like this, or any suggestions at all. There must have been other cases where some variables can be determined to be &quot;cheaper&quot; than others and can safely be done first. With all the work that has been done on linear programming over the years, it seems that something similar must have come up, but I haven't been able to find it.&lt;/p&gt;&#xA;" OwnerUserId="6436" LastEditorUserId="186" LastEditDate="2011-09-05T00:42:04.457" LastActivityDate="2011-10-05T11:26:57.623" Title="Linear programming solution in one pass with ordered variables" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;linear-programming&gt;&lt;matrices&gt;" AnswerCount="3" CommentCount="0" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="8086" PostTypeId="2" ParentId="5817" CreationDate="2011-09-05T00:28:00.340" Score="7" Body="&lt;p&gt;Suresh asked me to assemble my comments above into an answer, so here it is. I'm not really sure it's an answer to the original question, though, since it's not obvious how to make it polynomial time when the dimension of the input Euclidean space is non-constant. It does at least have the advantage of avoiding any problem with large $1/\epsilon$ as the original question asks, because it doesn't involve any approximation, and it looks polynomial for constant $d$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Anyway: from integral geometry, there is a standard measure on sets of hyperplanes in $d$-dimensional Euclidean space that is invariant under Euclidean congruences. It has the property that the length of any bounded-length curve $C$ is proportional to the measure of the hyperplanes that cross $C$ (with multiplicity, meaning that if a hyperplane crosses $C$ twice then it contributes twice to the total measure of the hyperplanes crossing $C$). In particular if $C$ is a line segment then the multiplicity complication doesn't arise and we can normalize the measure on the hyperplanes crossing $C$ to be exactly the length of $C$. (The hyperplanes containing $C$ have measure zero, so don't worry about infinite multiplicity.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, given a set of n points in d-dimensional space, make an $\ell_1$ coordinate for each of the partitions of the points into two subsets induced by a hyperplane that doesn't pass through any of the points. Give the points on one side of the partition coordinate value zero and the points on the other side of the partition coordinate value equal to the measure of the set of hyperplanes inducing that partition.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $p$ and $q$ are any two of the $n$ points, let $K$ be the set of hyperplanes crossing line segment $pq$, and let $K_i$ be the subsets of $K$ formed by each possible hyperplane partition that has $p$ on one side and $q$ on the other. Then $K$ is the disjoint union of the $K_i$, and the coordinate differences between $p$ and $q$ are just the measures of the subsets $K_i$. Therefore, the $\ell_1$ distance between the coordinatizations of $p$ and $q$ (the sum of the measures of the $K_i$) is the measure of $K$, which is just the original $\ell_2$ distance between $p$ and $q$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For computational geometers, an alternative description of the same construction may be helpful: use projective duality to transform the $n$ input points into $n$ hyperplanes, and separating hyperplanes into points. The integral geometry measure on sets of hyperplanes is then transformed into a more standard measure on sets of points, the distance between $p$ and $q$ dualizes to the measure of the double wedge between two hyperplanes, and the hyperplane arrangement partitions this double wedge into smaller cells. The coordinate value for a point is either the measure of one of the cells in the arrangement (if the dual hyperplane is below that coordinate's cell) or zero (if the dual hyperplane is above the cell). Therefore, the $\ell_1$ distance between $p$ and $q$ is just the sum of the measures of the cells in the double wedge, which is the same as the measure of the whole double wedge. This dual point of view also makes it easy to calculate the dimension of the embedding found in this way: it's just the number of cells in the hyperplane arrangement, which is $O(n^d)$, or more precisely at most $\sum_{i=0}^d{n\choose i}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So far, this gives a completely deterministic and exact embedding in $\ell_1^{O(n^d)}$. But we wanted a smaller dimension, $\ell_1^{n\choose 2}$. Here's where Luca's comment about &lt;a href=&quot;http://en.wikipedia.org/wiki/Carath%C3%A9odory%27s_theorem_%28convex_hull%29&quot; rel=&quot;nofollow&quot;&gt;Carathéodory's theorem&lt;/a&gt; comes in. The set of $\ell_1$-representable metrics forms a polyhedral cone in the $n\choose 2$-dimensional space of all functions from unordered pairs of points to real numbers, and the geometric argument above says that the Euclidean metric belongs to this cone. The points on the extreme rays of the cone are one-dimensional $\ell_1$ pseudometrics (in which the points are split into two sets, all distances within a single set are zero, and all distances across the split are equal), and Carathéodory says that any point within the cone (including the one we care about) can be represented as a convex combination of points on extreme rays whose number is at most the dimension of the ambient space, $n\choose 2$. But a convex combination of at most $n\choose 2$ one-dimensional $\ell_1$ metrics is a $\ell_1^{n\choose 2}$ metric.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, how can we go about actually computing the $n\choose 2$-dimensional embedding? At this point we have not just a point in the $n\choose 2$-dimensional convex cone of $\ell_1$ metrics (the distance metric we started with), but we also have a set of $O(n^d)$ extreme points of the cone (corresponding to the partitions of the input into two subsets induced by hyperplanes) such that our metric is a convex combination of these extreme points — for small $d$, this is a big improvement over the $2^n-2$ extreme rays that the cone has overall. Now all we need to do is apply a greedy algorithm that gets rid of extreme points from our set, one by one, until only $n\choose 2$ of them are left. At each step, we need to maintain as an invariant that our metric is still inside the convex hull of the remaining extreme points, which is just a linear programming feasibility problem, and if we do this Carathéodory will ensure that there always remains a set of $n\choose 2$ extreme points whose convex hull contains the input metric.&lt;/p&gt;&#xA;" OwnerUserId="95" LastEditorUserId="95" LastEditDate="2011-09-05T20:17:25.453" LastActivityDate="2011-09-05T20:17:25.453" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8087" PostTypeId="1" CreationDate="2011-09-05T01:06:00.080" Score="13" ViewCount="3592" Body="&lt;p&gt;We know that if $P=NP$ then the whole PH collapses.&#xA;What if the polynomial hierarchy collapses partially ? (Or how to understand that PH could collapse above a certain point and not below ?)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In shorter words, what would be the consequences of $NP=coNP$ and $P\ne NP$ ?&lt;/p&gt;&#xA;" OwnerUserId="6346" LastEditorUserId="109" LastEditDate="2014-02-16T13:48:43.703" LastActivityDate="2014-02-16T13:48:43.703" Title="Consequences of $NP=coNP$ and $P\ne NP$?" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;conditional-results&gt;&lt;polynomial-hierarchy&gt;" AnswerCount="4" CommentCount="10" FavoriteCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="8089" PostTypeId="5" CreationDate="2011-09-05T15:24:34.820" Score="0" Body="" OwnerUserId="-1" LastEditorUserId="-1" LastEditDate="2011-09-05T15:24:34.820" LastActivityDate="2011-09-05T15:24:34.820" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8090" PostTypeId="4" CreationDate="2011-09-05T15:24:34.820" Score="0" Body="A reduction is the transformation of one problem into another problem. A example of using a reduction would be to be to show if a problem P is undecidable. This would be achieved by transforming or performing a reduction of a decision problem $P$ into an undecidable problem. If this can be achieved then we have shown that this problem P is undecidable." OwnerUserId="5385" LastEditorUserId="32711" LastEditDate="2018-11-07T01:36:58.423" LastActivityDate="2018-11-07T01:36:58.423" CommentCount="0" ContentLicense="CC BY-SA 4.0" />
  <row Id="8091" PostTypeId="5" CreationDate="2011-09-05T15:29:42.320" Score="0" Body="&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Circuit_complexity&quot; rel=&quot;nofollow&quot;&gt;Circuit complexity&lt;/a&gt; is a branch of complexity theory that studies circuits (usually Boolean circuits) and their associated functions in terms of their size, depth, gate set, fanin, etc.&lt;/p&gt;&#xA;" OwnerUserId="206" LastEditorUserId="206" LastEditDate="2011-09-25T16:01:05.913" LastActivityDate="2011-09-25T16:01:05.913" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8092" PostTypeId="4" CreationDate="2011-09-05T15:29:42.320" Score="0" Body="Circuit complexity is the study of resource-bounded circuits and the functions computed by such circuits." OwnerUserId="5385" LastEditorUserId="206" LastEditDate="2011-09-25T16:01:18.020" LastActivityDate="2011-09-25T16:01:18.020" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8093" PostTypeId="1" CreationDate="2011-09-05T15:40:42.857" Score="13" ViewCount="526" Body="&lt;p&gt;Chapter 1 of the book The Probabilistic Method, by Alon and Spencer mentions the following problem:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a graph $G$, decide if its edge connectivity is at least $n/2$ or not.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The author mentions the existence of a $O(n^3)$ algorithm by Matula and improves it to $O(n^{8/3}\log n)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is, what's the best known running time for this problem?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let me describe the improved algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First, decide if $G$ has its minimum degree at least $n/2$ or not. If not, then the edge connectivity is clearly less than $n/2$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Next, if that is not the case, then compute a dominating set $U$ of $G$ of size $O(\log n)$. This can be done in time $O(n^2)$, by an algorithm described in the previous section of the book.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Next, it uses the following not very difficult to prove fact:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If the minimum degree is $\delta$, then for any edge cut of size at most $\delta$ that divides $V$ into $V_1$ and $V_2$, any dominating set of $G$ must have its vertices in both $V_1$ and $V_2$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now consider the dominating set $U = \{u_1, \ldots , u_k\}$. Since $G$ has minimum degree $n/2$, any edge cut of size less than $n/2$ must also separate $U$. Thus for each $i\in \{2, k\}$, we find the size of the smallest edge cut that separates $u_1$ and $u_i$. Each of these things can be done in time $O(n^{8/3})$ using a max-flow algorithm. Thus total time taken is $O(n^{8/3}\log n)$.&lt;/p&gt;&#xA;" OwnerUserId="262" LastEditorUserId="80" LastEditDate="2011-09-06T04:47:06.757" LastActivityDate="2012-06-21T08:48:02.283" Title="Given a graph, decide if its edge connectivity is at least n/2 or not" Tags="&lt;ds.algorithms&gt;&lt;open-problem&gt;&lt;graph-algorithms&gt;" AnswerCount="1" CommentCount="7" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="8094" PostTypeId="2" ParentId="8087" CreationDate="2011-09-05T15:58:32.240" Score="7" Body="&lt;p&gt;There are two definitions for counting classes beyond ${\bf \#P}$. One was defined by Valiant and the other one was defined by Toda. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;${ \rm \underline {Valiant's-Definition:}}$ For any class $C$, define $\#C =\cup_{A\in C}(\#P)^{A}$, where $({\#P}^A)$ means the functions counting the accepting paths of nondeterministic polynomial-time Turing machines having $A$'s their oracle. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;By Valiant's definition we already have ${\bf \#NP} = {\bf \#CoNP}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;${ \rm \underline {Toda's-Definition:}}$ For any class $C$, define $\# .C$ to be the class of functions $f$ such that for some $C-$computable two-argument predicate $R$ and some polynomial $p$, for every string $x$ it holds that: $f(x)=||\{y|p(|x|)=|y|$ and $R(x,y)\}||$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By Toda's definition we have ${\bf \#.NP} = {\bf \#.CoNP}$ if and only if ${\bf NP} = {\bf CoNP}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then if we also assume that ${\bf P}\not = {\bf NP}$ then we would have ${\bf FP} \not = {\bf \# P}$.&lt;/p&gt;&#xA;" OwnerUserId="1590" LastEditorUserId="1590" LastEditDate="2014-02-15T16:27:07.223" LastActivityDate="2014-02-15T16:27:07.223" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="8095" PostTypeId="1" CreationDate="2011-09-05T16:43:06.723" Score="18" ViewCount="719" Body="&lt;p&gt;The &lt;a href=&quot;http://en.wikipedia.org/wiki/Boolean_satisfiability_problem&quot; rel=&quot;noreferrer&quot;&gt;Satisfiability&lt;/a&gt; problem is, of course, a fundamental problem in theoretical CS. I was playing with one version of the problem with infinitely many variables. $\newcommand{\sat}{\mathrm{sat}} \newcommand{\unsat}{\mathrm{unsat}}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Basic Setup.&lt;/strong&gt; Let $X$ be a nonempty and &lt;strong&gt;possibly infinite set of &lt;em&gt;variables&lt;/em&gt;&lt;/strong&gt;. A literal is either a variable $x \in X$ or its negation $\neg x$. &lt;strong&gt;A clause $c$ is a disjunction of &lt;em&gt;finite&lt;/em&gt; number of literals&lt;/strong&gt;. Finally, we define a formula $F$ as a &lt;strong&gt;set of clauses&lt;/strong&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;An assignment of $X$ is a function $\sigma : X \to \{0,1\}$. I will not explicitly define the condition for when an assignment $\sigma$ satisfies a clause; it is slightly cumbersome, and is the same as in standard SAT. Finally, an assignment satisfies a formula if it satisfies every constituent clause. Let $\sat(F)$ be the set of satisfying assignments for $F$, and let $\unsat(F)$ be the complement of $\sat(F)$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;A topological space.&lt;/strong&gt; &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Our goal is to endow the space of all assignments of $X$, call this $\Sigma$, with a &lt;a href=&quot;http://en.wikipedia.org/wiki/General_topology&quot; rel=&quot;noreferrer&quot;&gt;topological structure&lt;/a&gt;. &lt;strong&gt;Our closed sets are of the form $\sat(F)$ where $F$ is a formula.&lt;/strong&gt; We can verify that this is indeed a topology:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The empty formula $\emptyset$ containing no clauses is satisfied by all assignments; so $\Sigma$ is closed.&lt;/li&gt;&#xA;&lt;li&gt;The formula $\{ x, \neg x \}$ for any $x \in X$ is a contradiction. So $\emptyset$ is closed.&lt;/li&gt;&#xA;&lt;li&gt;&lt;em&gt;Closure under arbitrary intersection.&lt;/em&gt; Suppose $F_{i}$ is a formula for each $i \in I$. Then $\sat \left(\bigcup_{i \in I} F_i\right) = \bigcap_{i \in I} \sat(F_i)$.&lt;/li&gt;&#xA;&lt;li&gt;&lt;em&gt;Closure under finite union.&lt;/em&gt; Suppose $F$ and $G$ are two formulas, and define&#xA;$$&#xD;&#xA;F \vee G := \{ c \vee d \,:\, c \in F, d \in G \}.&#xD;&#xA;$$ &#xA;Then $\sat(F \vee G) = \sat(F) \cup \sat(G)$.This needs an argument, but I'll skip this.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Call this topology $\mathcal T$, the &quot;satisfiability topology&quot;(!) on $\Sigma$. Of course, the opens sets of this topology are of the form $\unsat(F)$. Moreover, I observed that the collection of open sets&#xA;$$&#xD;&#xA;\{ \unsat(c) \,:\, c \text{ is a clause} \}&#xD;&#xA;$$&#xA;forms a basis for $\mathcal T$. (Exercise!) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Compact?&lt;/strong&gt; I feel that this is an interesting, if not terribly useful, way to look at things. I want to understand whether this topological space possesses traditional interesting properties like compactness, connectedness etc. In this post, we will restrict ourselves to compactness:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Let $X$ be a countably infinite collection of variables.&lt;sup&gt;1&lt;/sup&gt; Is $\Sigma$ compact under $\mathcal T$? &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;One can prove the following&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Proposition.&lt;/strong&gt; $\mathcal T$ is compact if and only for all unsatisfiable formulas $F$, there exists a finite unsatisfiable subformula $\{ c_1, c_2, \ldots, c_m \} \subseteq F$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;(Not-so-hard exercise!) After several days of thinking, I do not have much progress in answering this question. I also do not have strong evidence for or against compactness. Can you suggest some approach? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, as a bonus question: &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Has such a structure been studied before? &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;sup&gt;1&lt;/sup&gt;The restriction to countable $X$ is just for simplicity; it also feels like the next natural step from finite number of variables. &lt;/p&gt;&#xA;" OwnerUserId="5961" LastEditorUserId="4155" LastEditDate="2013-11-13T09:54:46.147" LastActivityDate="2013-11-13T09:54:46.147" Title="A topological space related to SAT: is it compact?" Tags="&lt;reference-request&gt;&lt;lo.logic&gt;&lt;sat&gt;&lt;topology&gt;&lt;lattice&gt;" AnswerCount="1" CommentCount="6" FavoriteCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="8096" PostTypeId="1" AcceptedAnswerId="8098" CreationDate="2011-09-05T19:31:04.047" Score="0" ViewCount="179" Body="&lt;p&gt;In the process of writing a Turing machine simulator, I decided on a machine representation in ASCII that closely mirrors Turing's original machine tables. I am interested in the formal categorization of the grammar and the simplest type of parser required to implement it, and in a more formal description of same. The grammar is as follows:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;&amp;lt;instruction&amp;gt; ::= &amp;lt;ident&amp;gt; &quot;,&quot; &amp;lt;symbol&amp;gt; &quot;,&quot; &amp;lt;operation&amp;gt; &quot;,&quot; &amp;lt;ident&amp;gt; &amp;lt;EOL&amp;gt;&#xA;      &amp;lt;ident&amp;gt; ::= &amp;lt;char&amp;gt;&#xA;      &amp;lt;symbol ::= &amp;lt;char&amp;gt; | 'None'&#xA;  &amp;lt;operation&amp;gt; ::= &amp;lt;movement&amp;gt; | &amp;lt;write&amp;gt; &amp;lt;movement&amp;gt;&#xA;      &amp;lt;write&amp;gt; ::= 'P' &amp;lt;char&amp;gt; | 'E'&#xA;    &amp;lt;movement ::= 'R' | 'L'&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;An example Turing machine table written in this grammar is as follows:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;b, None, P0R, c&#xA;c, None, R,   e&#xA;e, None, P1R, f&#xA;f, None, R,   b&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;It is clear to me that since this grammar is expressible in BNF, it must then be at most context-free, but is there a more accurate (more strict) categorization? The lack of left-recursion implies that it could be parsed with a recursive descent parser, but is there a simpler parser that would be capable of this grammar? How would one describe this grammar and its (simplest) associated parser?&lt;/p&gt;&#xA;" OwnerUserId="4921" LastEditorUserId="186" LastEditDate="2011-09-05T22:48:39.247" LastActivityDate="2011-09-05T22:48:39.247" Title="Describing a grammar and associated parser" Tags="&lt;fl.formal-languages&gt;&lt;grammars&gt;&lt;parsing&gt;&lt;compilers&gt;&lt;context-free-languages&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8097" PostTypeId="2" ParentId="8095" CreationDate="2011-09-05T20:41:10.820" Score="22" Body="&lt;p&gt;What you are doing is deriving a topological representation of a Boolean algebra. The study of representations of Boolean algebras goes back at least to Lindenbaum and Tarski who proved (in 1925, I think) that the complete, atomic Boolean algebras are isomorphic to powerset lattices. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are however, Boolean algebras that are not complete and atomic. For example, the sequence $x_1, x_1 \land x_2, \ldots$, is a descending chain that has no limit in the Boolean algebra defined over formulas. The question of whether arbitrary Boolean algebras, such as the one you mention, also had set-based representations was &lt;a href=&quot;http://en.wikipedia.org/wiki/Stone%27s_representation_theorem_for_Boolean_algebras&quot;&gt;solved by Marshall Stone&lt;/a&gt;, who put forth the maxim &quot;always topologize&quot; (Marshall H. Stone. &lt;em&gt;The representation of Boolean algebras&lt;/em&gt;, 1938).&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Stone's Representation Theorem for Boolean Algebras&lt;/strong&gt; Every Boolean algebra is isomorphic to the lattice of clopen subsets of a topological space.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The main idea is to consider what in your case are the satisfying assignments to a formula. In the general case, you consider  homomorphisms from a Boolean algebra into the two element Boolean algebra (the truth values). The inverse of $\mathit{true}$ gives you the sets of satisfying assignments, or what are called ultrafilters of the Boolean algebra. From these, one can obtain a topology called the &lt;em&gt;spectrum&lt;/em&gt; or &lt;em&gt;Stone space&lt;/em&gt; of a Boolean algebra. Stone provide the answer to your question too.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;The Stone space of a  Boolean algebra is a compact, totally disconnected Hausdorff space.  &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;There have been several results that extend and generalise Stone's representation in various directions. A natural question is to ask if other families of lattices have such representations. Stone's results also apply to distributive lattices. Topological representations for arbitrary lattices were given by Alasdair Urquhart in 1978. Distributive lattices enjoy greater diversity in structure, compared to Boolean algebras and are of great interest. A different  representation for the distributive case was given by Hilary Priestley in 1970, using the idea of an &lt;em&gt;ordered topological space&lt;/em&gt;. Instead of set-based representations, we can find poset-based representations and topologies.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The constructions in these papers have one remarkable property. Stone's construction maps not just Boolean algebras to topological spaces: structural relationships relating Boolean algebras translate into structural properties between the resulting topologies. It is a duality between categories. The entire gamut of such results is called &lt;a href=&quot;http://en.wikipedia.org/wiki/Stone_duality&quot;&gt;Stone Duality&lt;/a&gt;. Informally, dualities give us precise translations between mathematical universes: the combinatorial world of sets, the algebraic world of lattices, the spatial world of topology and the deductive world of logic. Here are a few starting points that may help.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Chapter 11 of &lt;em&gt;Introduction to Lattices and Order&lt;/em&gt;, by Davey and Priestley covers Stone's theorem.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.cs.swan.ac.uk/~csulrich/ftp/MatthewGwynne1208.pdf&quot;&gt;Matthew Gwynne's slides&lt;/a&gt;  cover the theorem and give a proof of compactness. Matthew (in the comments) also suggests &lt;em&gt;Introduction to Boolean Algebras&lt;/em&gt; by Paul Halmos.&lt;/li&gt;&#xA;&lt;li&gt;In moving from propositional logic to modal logic, the Boolean algebra is extended with a join-preserving operator and topology with an interior.  Jónsson and Tarski's 1952 paper, &lt;em&gt;Boolean Algebras with Operators&lt;/em&gt; is extremely readable and consistent with modern notation. &lt;/li&gt;&#xA;&lt;li&gt;Chapter 5 of &lt;em&gt;Modal Logic&lt;/em&gt; by Blackburn, de Rijke and Venema covers Stone's theorem and its extension to Boolean algebras with operators.&lt;/li&gt;&#xA;&lt;li&gt;Stone Spaces by Peter Johnstone reviews such results for various other kinds of algebras. &lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="4155" LastEditorUserId="4155" LastEditDate="2011-09-06T15:33:57.697" LastActivityDate="2011-09-06T15:33:57.697" CommentCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="8098" PostTypeId="2" ParentId="8096" CreationDate="2011-09-05T20:49:01.610" Score="2" Body="&lt;p&gt;if you don't count rembering the symbols of previous lines it's a regular language here's the regex as I see it (&lt;code&gt;&amp;lt;char&amp;gt;&lt;/code&gt; is translated to &lt;code&gt;[a-z]&lt;/code&gt;)&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;[a-z]\s*,\s*([a-z]|None)\s*,\s*(R|L|P[a-z](R|L))\s*,\s*[a-z]\n&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;use capturing groups as necessary ;)&lt;/p&gt;&#xA;" OwnerUserId="5737" LastActivityDate="2011-09-05T20:49:01.610" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="8099" PostTypeId="1" CreationDate="2011-09-06T02:55:57.397" Score="12" ViewCount="410" Body="&lt;p&gt;Usually Shannon entropy is used to prove channel coding results. Even for source-channel separation results shannon entropy is used. Given the equivalence between Shannon (global) vs Kolmogorov (local) notions of information, has there been a study to utilize Kolmogorov complexity for these results (or atleast to replace the source coding part in source channel separation results)?&lt;/p&gt;&#xA;" OwnerUserId="5511" LastActivityDate="2013-09-14T23:57:05.123" Title="Channel coding results using Kolmogorov complexity" Tags="&lt;it.information-theory&gt;&lt;kolmogorov-complexity&gt;&lt;shannon-entropy&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="8100" PostTypeId="1" AcceptedAnswerId="8106" CreationDate="2011-09-06T05:20:26.023" Score="1" ViewCount="248" Body="&lt;p&gt;There are many question that pose a none obscure problem and ask for the &quot;best&quot; algorithm, whatever &quot;best&quot; means.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, &lt;a href=&quot;https://cstheory.stackexchange.com/questions/8093/given-a-graph-decide-if-its-edge-connectivity-is-at-least-n-2-or-not&quot;&gt;Given a graph, decide if its edge connectivity is at least n/2 or not&lt;/a&gt;, &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The normal process is to search the literature with every single name of the problem, and find a recent paper. Usually the &quot;best&quot; result will be the one of the references. A more recent approach is to ask the question here.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there websites specifically dedicated with information like this? A database of problems and list of algorithms with their complexities? I am imagining an OEIS for problems instead of integer sequences.&lt;/p&gt;&#xA;" OwnerUserId="314" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.743" LastActivityDate="2011-09-06T16:31:15.420" Title="Resources to find the &quot;best&quot; algorithm for a problem?" Tags="&lt;soft-question&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8101" PostTypeId="1" AcceptedAnswerId="8108" CreationDate="2011-09-06T09:19:22.860" Score="0" ViewCount="147" Body="&lt;p&gt;Am looking into writing up a &lt;a href=&quot;http://en.wikipedia.org/wiki/L-system&quot; rel=&quot;nofollow noreferrer&quot;&gt;Lindenmayer systems&lt;/a&gt; implementation. I've looked at a few example implementations and the one thing that's giving me trouble at this stage is how symbols and substitutions are &lt;em&gt;meant&lt;/em&gt; to work (if this is even specified in the original treatise).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, the implementations I've seen tend in most cases to start with axioms based on A. Let's take the simplest example of this where the Axiom is (just) A.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;When this is drawn (depth 0), what should I expect to see? If otherwise undefined, is A meant to render as anything at all? Or does it need to be defined as one full length (whichever symbol is used for this; I have seen pipe being used to this purpose) before it will render out?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Taking a second example, let us say that A renders out, irrespective of what the answer to the above is. If part of F's definition is B, and B is not defined, should B render as a full length?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The way I would expect this to work is that without F being defined at all, nothing should be drawn at depth 0 and subsequently at no other depth, either.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Yet in &lt;a href=&quot;https://gamedev.stackexchange.com/questions/16817/2d-procedural-terrain-generation-guaranteeing-connectedness/16854#16854&quot;&gt;L-systems Explorer (LSE)&lt;/a&gt; and in &lt;a href=&quot;http://lsysjs.qwert.ch/&quot; rel=&quot;nofollow noreferrer&quot;&gt;this&lt;/a&gt; web-based implementation, even where a symbol is not defined, it will still be rendered as a full length. The question is, why?&lt;/p&gt;&#xA;" OwnerUserId="6260" LastEditorUserId="-1" LastEditDate="2017-04-13T12:18:56.167" LastActivityDate="2011-09-06T22:12:24.073" Title="Lengths and substitution in L-systems" Tags="&lt;pl.programming-languages&gt;&lt;grammars&gt;&lt;term-rewriting-systems&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8102" PostTypeId="1" AcceptedAnswerId="8103" CreationDate="2011-09-06T11:58:39.727" Score="10" ViewCount="350" Body="&lt;p&gt;Katz and Lindell mention in &lt;a href=&quot;http://www.cs.umd.edu/~jkatz/imc.html&quot; rel=&quot;nofollow&quot;&gt;their book&lt;/a&gt; that LFSR have been horrible as basis for pseudorandom generators, and advocate that they are not used anymore (well, they also recommend that people use block ciphers instead of stream ciphers).&#xA;But I see for example that one of the ciphers in the estream portfolio (&lt;a href=&quot;http://www.ecrypt.eu.org/stream/grainp3.html&quot; rel=&quot;nofollow&quot;&gt;Grain&lt;/a&gt;, targeted for hardware) uses an LFSR, so the opinion that LFSRs are not good is not a consensus.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'd like to know if there many cryptologists sharing Katz and Lindell's opinion on LFSRs (and on stream ciphers)? &lt;/p&gt;&#xA;" OwnerUserId="1700" LastEditorUserId="1700" LastEditDate="2011-09-08T00:51:57.690" LastActivityDate="2012-04-24T00:51:05.393" Title="Are linear feedback shift registers being generally discouraged by cryptologists?" Tags="&lt;soft-question&gt;&lt;cr.crypto-security&gt;&lt;pseudorandom-generators&gt;" AnswerCount="2" CommentCount="7" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="8103" PostTypeId="2" ParentId="8102" CreationDate="2011-09-06T13:46:36.633" Score="9" Body="&lt;p&gt;There are many types of cryptanalytic attacks: &lt;strong&gt;Linear approximations, Algebraic attacks, Time-memory-data-tradeoff attacks, fault attacks&lt;/strong&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example you can read the survey: &quot;&lt;a href=&quot;http://www.mathnet.or.kr/mathnet/kms_tex/982876.pdf&quot; rel=&quot;noreferrer&quot;&gt;Algebraic Attacks On Stream Ciphers (Survey)&lt;/a&gt;&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Abstract&lt;/strong&gt;: &lt;em&gt;Most stream ciphers based on linear feedback shift registers (LFSR)&#xA;are vulnerable to recent algebraic attacks. In this survey paper, we describe&#xA;generic attacks: existence of algebraic equations and fast algebraic attacks. ...&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;At the end you can find other relevant references.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another good paper about fault attacks to stream ciphers is: &quot;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.100.3748&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;noreferrer&quot;&gt;Fault Analysis of Stream Ciphers&lt;/a&gt;&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Abstract&lt;/strong&gt;: &lt;em&gt;... Our goal in this paper is to develop general techniques which can be used to attack the standard constructions of stream ciphers based on LFSR’s, as well as more specialized techniques which can be used against specific stream ciphers such as RC4, LILI-128 and SOBERt32. While most of the schemes can be successfully attacked, we point out several interesting open problems such as an attack on FSM filtered constructions and the analysis of high Hamming weight faults in LFSR’s.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For time-memory-data tradeoffs attacks you can read: &quot;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.23.766&amp;amp;rep=rep1&amp;amp;type=ps&quot; rel=&quot;noreferrer&quot;&gt;Cryptanalytic Time/Memory/Data tradeoffs for stream ciphers&lt;/a&gt;&quot;.&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2011-09-06T14:02:14.290" LastActivityDate="2011-09-06T14:02:14.290" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8104" PostTypeId="1" CreationDate="2011-09-06T14:48:20.457" Score="3" ViewCount="1756" Body="&lt;p&gt;Several months back, I asked in math.SE &lt;a href=&quot;https://math.stackexchange.com/questions/36747/dynamic-programming-problem-and-shortest-path-problem&quot;&gt;the following question&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;I wonder if any dynamic programming problem can always be converted to&#xA;  a source-sink shortest path problem in a network with source and sink&#xA;  nodes given? &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The reason I asked is because I always pictured &lt;a href=&quot;http://en.wikipedia.org/wiki/Bellman_equation#A_dynamic_decision_problem&quot; rel=&quot;nofollow noreferrer&quot;&gt;the type of problems&lt;/a&gt; that could be solved by &lt;a href=&quot;http://en.wikipedia.org/wiki/Dynamic_programming#Dynamic_programming_in_mathematical_optimization&quot; rel=&quot;nofollow noreferrer&quot;&gt;dynamic programming method&lt;/a&gt; as source-sink shortest path problems. In other words, the type of problems seemed to always have the interpretation as source-sink shortest path problems, but I was not sure if it was correct.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The only answer I have got so far is&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;The answer is no. The simplest example off the top of my head is the&#xA;  longest substring of ones in a 0,1 string. The typical DP solution&#xA;  would be to use a 1D array and store the length of the longest&#xA;  substring up that includes the i-th character in the i-th coordinate. &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;When I further asked:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;why is the example not able to be formulated into a source-sink&#xA;  shortest path problem in a network?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The reply is:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;I don't really see an easy way of doing it as a source-sink SPP. For&#xA;  the DP solution, the answer is obtained by scanning the array for the&#xA;  largest number.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I am now still not sure how DP solves the longest substring of ones in a 0,1 string, and whether this problem can be interpreted as a source-sink shortest path problem. Also I feel the answerer may run out of idea from his reply. Since my question may also be relevant to algorithm theory, I hope there will be some reply from this site.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks and regards!&lt;/p&gt;&#xA;" OwnerUserId="1003" LastEditorUserId="-1" LastEditDate="2017-04-13T12:19:19.363" LastActivityDate="2011-09-07T05:41:28.463" Title="Dynamic programming  and shortest path problem" Tags="&lt;ds.algorithms&gt;&lt;graph-algorithms&gt;&lt;dynamic-programming&gt;" AnswerCount="2" CommentCount="19" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8105" PostTypeId="1" CreationDate="2011-09-06T15:49:09.890" Score="4" ViewCount="198" Body="&lt;p&gt;I was wondering if anybody knows of any relevant references on the general topic of &lt;a href=&quot;http://en.wikipedia.org/wiki/Active_learning_%28machine_learning%29&quot; rel=&quot;nofollow noreferrer&quot;&gt;active learning&lt;/a&gt; for gradually inferring/updating a convex opt. &lt;strong&gt;formulation&lt;/strong&gt;.&lt;/p&gt;&#xA;&lt;p&gt;As a specific example, I am thinking of a system where a learner can query an oracle the validity of the current best solution to incrementally learn constraints or coefficients of an LP cost function.&lt;/p&gt;&#xA;&lt;h3&gt;Update&lt;/h3&gt;&#xA;&lt;p&gt;I am interested in problems and methods where we don't have access to the full definition of the problem (e.g. in LP the constraints that define the polytope, or the cost coefficients are unknown). Yet we may be able to iteratively solve the problem by iteratively asking a sequence of questions to an oracle until the last query confirms we have reached an optimal solution (an optimal vertex in LP)&lt;/p&gt;&#xA;" OwnerUserId="3137" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2012-04-16T19:47:53.403" Title="Active learning for inferring a convex optimization formulation" Tags="&lt;reference-request&gt;&lt;machine-learning&gt;&lt;lg.learning&gt;&lt;convex-optimization&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="8106" PostTypeId="2" ParentId="8100" CreationDate="2011-09-06T16:31:15.420" Score="3" Body="&lt;p&gt;There's an attempt to build such a resource. It's called the &lt;a href=&quot;http://qwiki.stanford.edu/index.php/Complexity_Garden&quot; rel=&quot;nofollow noreferrer&quot;&gt;Complexity Garden&lt;/a&gt; and is &quot;the botanical companion to the Complexity Zoo&quot;. Also see &lt;a href=&quot;https://cstheory.meta.stackexchange.com/questions/1299/is-there-any-way-to-spread-an-announcement&quot;&gt;this meta discussion&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="80" LastEditorUserId="-1" LastEditDate="2017-03-16T15:45:13.547" LastActivityDate="2011-09-06T16:31:15.420" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8108" PostTypeId="2" ParentId="8101" CreationDate="2011-09-06T17:24:43.757" Score="7" Body="&lt;p&gt;L-systems, are more about general : &lt;a href=&quot;http://en.wikipedia.org/wiki/Abstract_rewriting_system&quot;&gt;Abstract rewriting systems&lt;/a&gt; rather then to concrete application.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Agree, a wide range of L-systems applications is in computer graphics (generating nature, textures etc), while from mathematical point of view, they are still, the same model.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As stated in referred by you &lt;a href=&quot;http://en.wikipedia.org/wiki/L-system&quot;&gt;L-systems definition&lt;/a&gt; :&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Using L-systems for generating graphical images requires that the symbols in the model refer to elements of a drawing on the computer screen.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Coming back to your question &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Yet in (...) implementation, even where a symbol is not defined, it will still be rendered as a full length. The question is, why?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Answer: Because that's the way, how those implementations' authors decided to map symbols into rendering commands.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can do in your implementation any other mapping... and still both of them can be same type of system - L-system.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's all about defining &lt;a href=&quot;http://en.wikipedia.org/wiki/Isomorphism&quot;&gt;isomorphism&lt;/a&gt; between systems behind implementations, or &lt;a href=&quot;http://en.wikipedia.org/wiki/Homomorphism&quot;&gt;homomorphism&lt;/a&gt; between those systems and graphics they generate. If you will make your own implementation, that will draw symbols differently - you will indirectly define your own homomorphism.&lt;/p&gt;&#xA;" OwnerUserId="6133" LastActivityDate="2011-09-06T17:24:43.757" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8109" PostTypeId="2" ParentId="8104" CreationDate="2011-09-06T19:26:43.497" Score="11" Body="&lt;p&gt;One standard view of dynamic programming is the following. Start with a recursive algorithm and then memoize it. By memoization we mean that solutions for intermediate problem instances/sub-problems are stored and not recomputed. If one can argue that the number of sub problems generated in the recursive algorithm for an instance of size $n$ is polynomial in $n$ then memoization leads to a polynomial time algorithm. A recursive algorithm for a problem instance $I$ generates, naturally, an associated DAG $G(I)$ whose nodes are the sub-problem instances and the arcs are the dependencies generated by the recursive algorithm on $I$. It is possible to interpret several different computational problems as solving some kind of shortest path problem on this DAG $G(I)$ (not all though). In these cases it is possible to take out the scaffolding of the recursive algorithm and memoization and directly use a shortest path algorithm in an associated graph. This should not lead one to conclude that all of dynamic programming can be reduced to shortest path computation.&lt;/p&gt;&#xA;" OwnerUserId="176" LastActivityDate="2011-09-06T19:26:43.497" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8110" PostTypeId="1" AcceptedAnswerId="8113" CreationDate="2011-09-06T19:49:26.470" Score="12" ViewCount="1678" Body="&lt;p&gt;In &lt;a href=&quot;http://www.cacr.math.uwaterloo.ca/hac/about/chap10.pdf&quot; rel=&quot;nofollow&quot;&gt;chapter 10 of HAC (10.4.2)&lt;/a&gt;, we see the well-known Feige-Fiat-Shamir identification protocol based on a zero-knowledge proof using the (presumed) difficulty of extracting square roots modulo a composite that is hard to factor.  I'll give the scheme in my own words (and hopefully get it right).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let's start with a simpler scheme: let $n$ be a Blum integer (so $n=pq$ and each of $p$ and $q$ is 3 mod 4) of sufficiently large size that factoring is intractible.  Since $n$ is a Blum integer, half of the elements of $Z_n^*$ have Jacobi symbol +1 and the other half have -1.  For the +1 elements, half of those have square roots, and each element having a square root has four of them, exactly one being itself a square.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now Peggy selects a random element $s$ from $Z_n^*$ and sets $v=s^2$.  She then sends $v$ to Victor.  Next is the protocol: Victor wishes to verify that Peggy knows a square root of $v$ and Peggy wishes to prove it to him without divulging anything about $s$ beyond the fact she knows such an $s$.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Peggy chooses a random $r$ in $Z_n^*$ and sends $r^2$ to Victor.&lt;/li&gt;&#xA;&lt;li&gt;Victor equiprobably sends $b=0$ or $b=1$ back to Peggy.&lt;/li&gt;&#xA;&lt;li&gt;Peggy sends $rs^b$ to Victor.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Victor can verify that Peggy has sent the correct answer by squaring what he receives and comparing to the correct result.  Of course, we repeat this interaction to reduce the chance that Peggy is just a lucky guesser. This protocol is claimed to be ZK; a proof can be found in various places (eg, &lt;a href=&quot;http://www.cs.princeton.edu/courses/archive/spring10/cos433/lec17new.pdf&quot; rel=&quot;nofollow&quot;&gt;Boaz Barak's lecture notes&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;When we extend this protocol to make it more efficient it is called Feige-Fiat-Shamir; it's very similar to the above.  We start Peggy with $k$ random values $s_1\cdots s_k$ and random signs $t_1 = \pm 1, \cdots t_k  = \pm 1$ she publishes their squares as $v_1=t_1s_1^2, \cdots, v_k = t_ks_k^2$. In other words, we randomly negate some of the $v_i$.  Now&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Peggy chooses a random $r$ in $Z_n^*$ and sends $r^2$ to Victor.&lt;/li&gt;&#xA;&lt;li&gt;Victor equiprobably sends $k$ values $b_i$ from $\{0,1\}$ back to Peggy.&lt;/li&gt;&#xA;&lt;li&gt;Peggy sends $r\Pi_{i=1}^ks_i^{b_i}$ to Victor.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;My Question:&lt;/strong&gt; Why are the $t_i$ sign bits necessary?  In parentheses, HAC notes that they are there as a technical requirement required to prove that no secret information is leaked.  The wikipedia page for Feige-Fiat-Shamir (which gets the protocol wrong) implies that without this a bit is leaked.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I cannot find an attack that extracts anything from Peggy if she omits the signs.&lt;/p&gt;&#xA;" OwnerUserId="3866" LastEditorUserId="186" LastEditDate="2011-09-06T22:09:29.213" LastActivityDate="2011-09-09T17:55:06.140" Title="Why is Feige-Fiat-Shamir not Zero Knowledge without sign bits?" Tags="&lt;cr.crypto-security&gt;&lt;proofs&gt;&lt;zero-knowledge&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8111" PostTypeId="1" CreationDate="2011-09-06T23:29:39.880" Score="3" ViewCount="253" Body="&lt;p&gt;I was wondering if anybody had any pointers to:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt; 1. References for the problem of vertex counting on convex polytopes&#xA; 2. Possible implementations of known algorithms for such problem&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;So far I found:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.ifor.math.ethz.ch/~fukuda/cdd_home/index.html&quot; rel=&quot;nofollow&quot;&gt;cdd&lt;/a&gt; (by &lt;a href=&quot;http://www.ifor.math.ethz.ch/~fukuda/&quot; rel=&quot;nofollow&quot;&gt;Komei Fukuda&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://cgm.cs.mcgill.ca/~avis/C/lrs.html&quot; rel=&quot;nofollow&quot;&gt;lrs&lt;/a&gt; (by &lt;a href=&quot;http://cgm.cs.mcgill.ca/~avis/&quot; rel=&quot;nofollow&quot;&gt;David Avis&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.mpi-inf.mpg.de/~behle/azove.html&quot; rel=&quot;nofollow&quot;&gt;azove&lt;/a&gt; (by &lt;a href=&quot;http://www.mpi-inf.mpg.de/~behle/index.html&quot; rel=&quot;nofollow&quot;&gt;Markus Behle&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The references to the corresponding methods can be found on the authors websites and the corresponding documentation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The first two focus more on vertex enumeration and not just counting, while the third one focuses on the problem of counting 0/1 vertices on polytopes with coefficients in $\mathbb{Z}$.&lt;/p&gt;&#xA;&#xA;&lt;h3&gt;A second question motivated by the last method:&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;Assuming that it's possible, are there any known methods for computing a &lt;a href=&quot;http://www.math.tu-bs.de/~pfetsch/apropo/HTML3/Isomorphism.html&quot; rel=&quot;nofollow&quot;&gt;combinatorially isomorphic&lt;/a&gt; polytope $A$ with coefficients in $\mathbb{R}$ from a polytope $A$ with coefficients in $\mathbb{Z}$? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt; The answer to this last question seems to be &lt;strong&gt;no&lt;/strong&gt; (see Tsuyoshi Ito's comment below)&lt;/p&gt;&#xA;&#xA;&lt;h3&gt;A third related question:&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;Not sure if the answer to the previous question answers this one, but are there  any known transformations that preserve vertex cardinality from polytopes with coefficients in $\mathbb{R}$ to polytopes with coefficients in $\mathbb{Z}$?&lt;/p&gt;&#xA;" OwnerUserId="3137" LastEditorUserId="3137" LastEditDate="2011-09-07T15:19:49.763" LastActivityDate="2011-09-07T15:19:49.763" Title="Vertex counting on convex polytopes" Tags="&lt;co.combinatorics&gt;&lt;counting-complexity&gt;&lt;software&gt;" AnswerCount="0" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="8112" PostTypeId="1" CreationDate="2011-09-07T00:03:38.677" Score="13" ViewCount="420" Body="&lt;p&gt;Are there any problems that are NP-complete when using Euclidean geometry but are well-defined and solvable in polynomial time for some non-euclidean geometry?&lt;/p&gt;&#xA;" OwnerUserId="6451" LastEditorUserId="5385" LastEditDate="2011-09-07T03:42:04.290" LastActivityDate="2011-09-07T12:09:38.250" Title="Problem NP-complete for Euclidean geometry but in P for Non-Euclidean geometry?" Tags="&lt;reference-request&gt;&lt;cg.comp-geom&gt;" AnswerCount="1" CommentCount="8" FavoriteCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8113" PostTypeId="2" ParentId="8110" CreationDate="2011-09-07T02:04:50.847" Score="8" Body="&lt;p&gt;The Feige-Fiat-Shamir (FFS) identification protocol is a &lt;strong&gt;proof of knowledge&lt;/strong&gt; (PoK), in which the prover (Peggy) proves her knowledge the square roots of the given input to the verifier (Victor).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;FFS want to discriminate PoK from &lt;strong&gt;proofs of language membership&lt;/strong&gt;, in which Peggy proves that the input has some property (more formally, the input belongs to a certain language).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we don't use the negative signs, it's possible that the inputs do not possess any square root. For instance, the number 20 does not have any square roots mod 21. Since distinguishing squares and non-squares is a &lt;a href=&quot;http://en.wikipedia.org/wiki/Quadratic_residuosity_problem&quot; rel=&quot;nofollow&quot;&gt;famous hard problem&lt;/a&gt;, FFS avoid it by allowing the input to be the plus or minus of some number squared. In &lt;a href=&quot;http://www.springerlink.com/content/9gl5112723626462/&quot; rel=&quot;nofollow&quot;&gt;their own words&lt;/a&gt; (changed a bit):&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;By allowing $v_i$ to  be either plus or minus a square modulo a &lt;a href=&quot;http://en.wikipedia.org/wiki/Blum_integer&quot; rel=&quot;nofollow&quot;&gt;Blum integer&lt;/a&gt;, we make sure that $v_i$ can range over all the numbers with &lt;a href=&quot;http://en.wikipedia.org/wiki/Jacobi_symbol&quot; rel=&quot;nofollow&quot;&gt;Jacobi symbol&lt;/a&gt; $+1 \bmod n$ and  thus the $s_i$ exist (from V's point of view) regardless of $v_i$ character, as required in unrestricted input zero-knowledge proofs of knowledge.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;By &lt;strong&gt;unrestricted input zero-knowledge proofs of knowledge&lt;/strong&gt;, they mean a ZK PoK whose corresponding proof of language membership is trivial; i.e. V can by himself decide that the input is the plus or minus of some square (by just checking the Jacobi symbol).&lt;/p&gt;&#xA;" OwnerUserId="873" LastEditorUserId="873" LastEditDate="2011-09-09T17:55:06.140" LastActivityDate="2011-09-09T17:55:06.140" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="8114" PostTypeId="1" CreationDate="2011-09-07T03:53:31.743" Score="1" ViewCount="359" Body="&lt;p&gt;I have a transitive DAG G which is a subgraph of an unknown DAG R.  (The nodes are the same in G and R, but R may have edges not in G.)  I can determine the presence of a given edge in R by an oracle query.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Many natural questions come to mind.  I've found it's often more useful to give several than just one&amp;mdash;I wouldn't want to reject the answer I don't yet know is the right one by being over-specific upfront.&lt;/p&gt;&#xA;&#xA;&lt;ol start=&quot;3&quot;&gt;&#xA;&lt;li&gt;What is the minimum query complexity for determining R, in terms of the number of nodes and number of edges in G?&lt;/li&gt;&#xA;&lt;li&gt;What is the minimum query complexity for proving that G = R if that is the case?&lt;/li&gt;&#xA;&lt;li&gt;Give an algorithm for determining which edge to query at each step?  Ideally it would have decent (less than exponential... hopefully polynomial) time requirements in addition to minimizing queries.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;The algorithms used may be adaptive.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here's (transitive reduction of) an example of a graph of the sort I'd test.  As a simpler version of #1 or #2, what's the complexity for this graph?&#xA;&lt;a href=&quot;http://crg4.com/G.png&quot; rel=&quot;nofollow noreferrer&quot;&gt;sample graph http://crg4.com/G.png&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="962" LastEditorUserId="962" LastEditDate="2011-09-07T05:09:40.403" LastActivityDate="2011-09-07T05:09:40.403" Title="Discovering a graph with minimal oracle queries" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;query-complexity&gt;" AnswerCount="0" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="8115" PostTypeId="2" ParentId="8104" CreationDate="2011-09-07T04:15:34.437" Score="9" Body="&lt;p&gt;Shortest paths in DAGs are typically problems in NL and many times complete as well. A slightly &quot;larger&quot; class is LOGCFL (of course, we don't know if NL=?LOGCFL) where typical problems solvable with dynamic programming live. (Typical here means polynomial time. Unlike for example, DPs for knapsack type problems that take exponential time.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As an example, consider the word problem on groupoids. You have a groupoid table and a word $a_1 ... a_n$ and the question is whether we can bracket the word in some way so that it evaluates to identity. (Note that the groupoid table need not be associative.) This problem is complete for LOGCFL. &lt;a href=&quot;http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=113968&quot;&gt;Here&lt;/a&gt; is a reference; if I remember correctly, this goes back to Valiant.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So it would seem that typical DPs are more powerful than typical shortest path problems under typical complexity theoretic assumptions! Given the vagueness of what constitutes DP, this is as far as we can say.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;update&lt;/strong&gt;: Suresh, here is one way to see. LOGCFL is a nondeterministic machine (like NP) but running in log space, polynomial time, with a stack. Think of the final solution as a witness. It will be a polynomial sized proof tree (because I assumed polynomial running time) with the children being the &quot;smaller&quot; subproblems etc.  But to traverse this tree, you will have to explore all children at a node and therefore you need a stack. (Because of the logspace restriction, you don't have space to record the witness and then check). &lt;/p&gt;&#xA;" OwnerUserId="1449" LastEditorUserId="1449" LastEditDate="2011-09-07T05:41:28.463" LastActivityDate="2011-09-07T05:41:28.463" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="8117" PostTypeId="1" CreationDate="2011-09-07T08:28:42.837" Score="23" ViewCount="4368" Body="&lt;p&gt;I am currently interested in obtaining (or constructing) and studying 3-CNF formulae which are unsatisfiable, and are of minimum size. That is, they must consist of as few clauses (m = 8 preferably) as possible, and as few distinct variables (n = 4 or more) as possible, such that removing at least one clause will render the formula satisfiable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More formally, any qualifying 3-CNF formula F must satisfy the following conditions:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;F is unsatisfiable&lt;/li&gt;&#xA;&lt;li&gt;F has a minimum amount (4+) of distinct variables (or their negation)&lt;/li&gt;&#xA;&lt;li&gt;F has a minimum amount of clauses (8+)&lt;/li&gt;&#xA;&lt;li&gt;every proper subset of F is satisfiable (allowing removal of any arbitrary clause or clauses).&lt;/li&gt;&#xA;&lt;li&gt;F has no 2 clauses that are reducible to a 2-CNF clause&#xA;e.g. &lt;code&gt;(i, j, k) &amp;amp; (i, j, ~k)&lt;/code&gt; is NOT allowed ( they reduce to &lt;code&gt;(i,j)&lt;/code&gt; )&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;For example, with n=4, there exists many minimal 8-clause 3-CNF formulae that are unsatisfiable. For one, by looking at the 4-hypercube and trying to cover it with edges (2-faces), one can construct the following unsatisfiable formula:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;1. (~A,  B,  D)&#xA;2. (~B,  C,  D)&#xA;3. ( A, ~C   D)&#xA;4. ( A, ~B, ~D)&#xA;5. ( B, ~C, ~D)&#xA;6. (~A,  C, ~D)&#xA;7. ( A,  B,  C)&#xA;8. (~A, ~B, ~C)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;This qualifies as a minimum unsatisfiable 3-CNF formula because:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;It is unsatisfiable:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Clauses 1-3 are equivalent to:  &lt;code&gt;D or A=B=C&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;Clauses 4-6 are equivalent to: &lt;code&gt;~D or A=B=C&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;They imply &lt;code&gt;A=B=C&lt;/code&gt;, but by clauses 7 and 8, this is a contradiction.&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;There are only 4 distinct variables.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;There are only 8 clauses.&lt;/li&gt;&#xA;&lt;li&gt;Removing any clause renders it satisfiable.&lt;/li&gt;&#xA;&lt;li&gt;No 2 clauses are 'reducible' to a 2-CNF clause.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;So I guess my overall questions here are, in order of importance to me:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;What are some other small minimum formulae which meet the above conditions?&#xA;(i.e. for say, 4,5,6 variables and 8,9,10 clauses)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Is there some sort of database or &quot;atlas&quot; of such minimum formulae?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;What nonrandom algorithms exist for constructing them outright, if any?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;What are some insights into these formulae's characteristics? Can they be counted or estimated, given n (# variables) and m (# clauses)?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Thank-you in advance for your replies.&#xA;I welcome any answer or comment.&lt;/p&gt;&#xA;" OwnerUserId="6454" LastEditorUserId="6454" LastEditDate="2011-09-10T03:21:25.287" LastActivityDate="2020-01-24T02:59:30.320" Title="Minimum Unsatisfiable 3-CNF Formulae" Tags="&lt;cc.complexity-theory&gt;&lt;sat&gt;" AnswerCount="3" CommentCount="12" FavoriteCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="8118" PostTypeId="2" ParentId="8112" CreationDate="2011-09-07T12:09:38.250" Score="7" Body="&lt;p&gt;Partial answer:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Maximum TSP is polynomial time solvable under polyhedral norms,&#xA;but NP-hard for Euclidean norms (optimization as well as decision&#xA;version). Whether the latter is also NP-easy is a different question.&#xA;(You might be able to define a somewhat artifical variant that is in NP,&#xA;since the instances created for the NP-hardness proof only require&#xA;bounded precision.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A. Barvinok, S. P. Fekete, D. S. Johnson, A. Tamir, &#xA;G. J. Woeginger, and R. Wodroofe.&#xA;The geometric maximum Traveling Salesman problem.&#xA;Journal of the ACM, 50:641-664, 2003. &lt;/p&gt;&#xA;" OwnerUserId="6456" LastActivityDate="2011-09-07T12:09:38.250" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8119" PostTypeId="1" AcceptedAnswerId="8129" CreationDate="2011-09-07T17:08:47.293" Score="7" ViewCount="147" Body="&lt;p&gt;Suppose that $f: X \rightarrow X$ is computable in log-space. Given an input $x \in X$ where $x$ is encoded within $n$ bits, is $f^n(x)$ computable in log-space? &lt;/p&gt;&#xA;" OwnerUserId="6459" LastActivityDate="2011-09-07T22:05:39.680" Title="FL with polynomial number of log-space &quot;reductions&quot; still in FL?" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;reductions&gt;" AnswerCount="1" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="8120" PostTypeId="1" CreationDate="2011-09-07T17:10:33.213" Score="8" ViewCount="270" Body="&lt;p&gt;&lt;em&gt;Lexical closures&lt;/em&gt; are an implementation technique in languages with first-class functions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm interested in a simple operational description of function closures. Does anyone know of such a description?&lt;/p&gt;&#xA;" OwnerUserId="142" LastActivityDate="2012-03-07T16:30:23.873" Title="Where can I find an elementary small-step structural operational semantics for closures?" Tags="&lt;reference-request&gt;&lt;pl.programming-languages&gt;&lt;semantics&gt;&lt;compilers&gt;" AnswerCount="2" CommentCount="5" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="8121" PostTypeId="1" CreationDate="2011-09-07T18:08:47.327" Score="14" ViewCount="260" Body="&lt;p&gt;Let Mod$_3$ be the language of binary strings with the sum of the bits divisible by 3, and PRIMES be the set of prime integers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In a 2001 paper &lt;em&gt;&lt;a href=&quot;http://dx.doi.org/10.1006/jcss.2000.1725&quot; rel=&quot;nofollow noreferrer&quot;&gt;A Lower Bound for Primality&lt;/a&gt;&lt;/em&gt;, Allender, Saks, and Shparlinski say that Mod$_3$ is AC$^0$ Turing-reducible to PRIMES, but ask whether it is possible to find an AC$^0$ many-one reduction from Mod$_3$ to PRIMES.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Has there been progress on this question?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;A reduction from Mod$_3$ to PRIMES is easy by using the observation that 3 divides $4m + k$ iff 3 divides $m + k$, so 3 divides $n$ iff 3 divides the sum of the base-4 digits of $n$.  This can be achieved by a logarithmic depth circuit, but for an AC$^0$ reduction one of course needs a fixed-depth circuit.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Allender et al. provide a probabilistic fixed-depth circuit for the reduction, and by &lt;a href=&quot;http://dx.doi.org/10.1109/SFCS.1978.37&quot; rel=&quot;nofollow noreferrer&quot;&gt;Adleman's 1978 argument&lt;/a&gt; there must then exist a deterministic circuit that performs the same function.  This yields a non-uniform AC$^0$ reduction.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(This question follows-on from Eric Allender's answer &lt;a href=&quot;https://cstheory.stackexchange.com/questions/8000/are-the-problems-primes-factoring-known-to-be-p-hard/8017#8017&quot;&gt;Are the problems PRIMES, FACTORING known to be P-hard?&lt;/a&gt; where he states that the lower bound for PRIMES of TC$^0$ has not been improved since their paper.)&lt;/p&gt;&#xA;" OwnerUserId="109" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2011-09-08T09:01:39.567" Title="AC0 many-one reduction of Mod_3 to PRIMES?" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;circuit-complexity&gt;" AnswerCount="0" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8123" PostTypeId="1" AcceptedAnswerId="8137" CreationDate="2011-09-07T19:47:58.923" Score="7" ViewCount="132" Body="&lt;p&gt;We have a network flow problem with a given directed graph $G=(V,E)$, for each arc $(i,j) \in E$, there is a cost $c_{ij}$ and upper and lower capacity $u_{ij}$ and $l_{ij}$ for the flow $f_{ij}$ through it. The min-cost flow to minimize $\sum_{(i,j) \in E}{c_{ij}f_{ij}}$ is well known to be solved in polynomial time. But now we are given opportunities to improve the cost on the arcs. Suppose we know in advance that after improvement on an arc, its cost will be reduced by $\Delta_{ij}$. My problem is given an integer $K$ ($K&amp;lt;|E|$), how to select the $K$ arcs to improve so that the resulting min-cost objective function is minimized? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Currently, I can formulate the problem as:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\min{\sum_{(i,j) \in E}{(c_{ij}-x_{ij}\Delta_{ij})f_{ij}}}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;subject to &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;$\sum{f_{ij}} - \sum{f_{ji}}=b_i, \quad i \in V$ &lt;/li&gt;&#xA;&lt;li&gt;$l_{ij} \leq f_{ij} \leq u_{ij}, \quad (i,j) \in E$&lt;/li&gt;&#xA;&lt;li&gt;$\sum{x_{ij}}=K, \quad (i,j) \in E$&lt;/li&gt;&#xA;&lt;li&gt;$x_{ij} \in \{0,1\}, \quad (i,j) \in E$&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Constraints 1. and 2. are just normal flow constraints while 3. and 4. are like packing constraints. With the introduce of 0/1 variable $x_{ij}$, this problem seems to be hard to solve. So I'm wondering what is the complexity of this problem? Thanks. &lt;/p&gt;&#xA;" OwnerUserId="1351" LastEditorUserId="80" LastEditDate="2011-09-07T21:01:15.507" LastActivityDate="2011-09-08T19:54:38.373" Title="Complexity of selective network improvement problem" Tags="&lt;ds.algorithms&gt;&lt;np-hardness&gt;&lt;network-modeling&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8124" PostTypeId="1" CreationDate="2011-09-07T20:29:37.757" Score="26" ViewCount="765" Body="&lt;p&gt;Which missing TCS topics on Wikipedia would you most like there to be an article about?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;They could be glaring omissions or just topics you think should really have an article.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One topic per answer please so that the most wanted ones can be voted up.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Update 5/2/2017&lt;/strong&gt;: Shuchi Chawla is leading an effort to &lt;a href=&quot;https://thmatters.wordpress.com/2017/05/02/tcs-wikipedia-project/&quot; rel=&quot;noreferrer&quot;&gt;improve TCS coverage on wikipedia&lt;/a&gt;. I'm adding this update in the hopes that people will update their answers as appropriate, add more answers, and/or contribute to the effort!&lt;/p&gt;&#xA;" OwnerUserId="6462" LastEditorUserId="129" LastEditDate="2017-05-03T05:34:48.863" LastActivityDate="2017-05-03T05:34:48.863" Title="Missing Wikipedia articles" Tags="&lt;soft-question&gt;&lt;big-list&gt;&lt;survey&gt;" AnswerCount="4" CommentCount="12" FavoriteCount="5" CommunityOwnedDate="2011-09-07T20:59:29.067" ContentLicense="CC BY-SA 3.0" />
  <row Id="8125" PostTypeId="2" ParentId="8124" CreationDate="2011-09-07T20:43:00.593" Score="22" Body="&lt;p&gt;Some missing topics from &lt;a href=&quot;http://en.wikipedia.org/wiki/Book%3aGraph_Algorithms&quot;&gt;my collection of graph algorithms articles&lt;/a&gt;:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Dynamic graph algorithms&lt;/li&gt;&#xA;&lt;li&gt;K shortest paths&lt;/li&gt;&#xA;&lt;li&gt;Spanners and approximate shortest path data structures&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Also, not so much missing topics, but a lot of the articles on topics covered by undergraduate algorithms classes kind of look like they were written by students in those classes. There's a deeper level of understanding missing, and they take a dogmatic point of view that reflects a single textbook rather than a synthesis of multiple sources. More expert help there could be useful.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2011-09-07T20:43:00.593" CommentCount="2" CommunityOwnedDate="2011-09-07T23:00:26.203" ContentLicense="CC BY-SA 3.0" />
  <row Id="8126" PostTypeId="2" ParentId="8124" CreationDate="2011-09-07T20:54:13.690" Score="6" Body="&lt;p&gt;I would &lt;em&gt;love&lt;/em&gt; a Wikipedia page on the Abstract Tile Assembly Model.&lt;/p&gt;&#xA;" OwnerUserId="30" LastActivityDate="2011-09-07T20:54:13.690" CommentCount="0" CommunityOwnedDate="2011-09-07T23:00:18.213" ContentLicense="CC BY-SA 3.0" />
  <row Id="8127" PostTypeId="2" ParentId="8124" CreationDate="2011-09-07T21:51:08.407" Score="4" Body="&lt;p&gt;The entry on the &lt;a href=&quot;http://en.wikipedia.org/wiki/Johnson%E2%80%93Lindenstrauss_lemma&quot; rel=&quot;nofollow&quot;&gt;Johnson-Lindenstrauss Lemma&lt;/a&gt; lacks a complete set of references, and might also benefit from a high level explanation of the different types of algorithms available. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2011-09-07T21:51:08.407" CommentCount="0" CommunityOwnedDate="2011-09-07T21:51:08.407" ContentLicense="CC BY-SA 3.0" />
  <row Id="8128" PostTypeId="1" CreationDate="2011-09-07T22:04:39.880" Score="13" ViewCount="474" Body="&lt;p&gt;&lt;a href=&quot;http://portal.acm.org/citation.cfm?id=314500.314562&quot; rel=&quot;nofollow noreferrer&quot;&gt;Chong, Han and Lam&lt;/a&gt; showed that undirected st-connectivity can be solved on the EREW PRAM in $O({\log}n)$ time with $O(m+n)$ processors. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is the best known parallel algorithm for &lt;a href=&quot;http://en.wikipedia.org/wiki/St-connectivity&quot; rel=&quot;nofollow noreferrer&quot;&gt;st-connectivity&lt;/a&gt; in directed planar graphs ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Please state the running time, deterministic/randomized algorithm and the PRAM model used (assuming the number of processors is polynomial).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This question is related to &lt;a href=&quot;https://cstheory.stackexchange.com/questions/1558/parallel-algorithms-for-directed-st-connectivity&quot;&gt;one&lt;/a&gt; of my previous questions. My &lt;a href=&quot;https://cstheory.stackexchange.com/questions/1558/parallel-algorithms-for-directed-st-connectivity&quot;&gt;previous question&lt;/a&gt; is about general directed graphs which are not necessarily planar.&lt;/p&gt;&#xA;" OwnerUserId="344" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2016-08-11T22:34:03.553" Title="Parallel algorithms for reachability in directed planar graphs" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;dc.parallel-comp&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="8129" PostTypeId="2" ParentId="8119" CreationDate="2011-09-07T22:05:39.680" Score="7" Body="&lt;p&gt;The answer is no unless L=P (and obviously yes if L=P).  To see this, fix a deterministic Turing machine (DTM) &lt;i&gt;M&lt;/i&gt; which solves a P-complete problem in polynomial time, and consider a function &lt;i&gt;f&lt;/i&gt; which maps a configuration of &lt;i&gt;M&lt;/i&gt; to the configuration in the next time step.  Function &lt;i&gt;f&lt;/i&gt; is just the simulation of one step in the DTM and can be computed in logarithmic space.  If you iterate this function &lt;i&gt;t&lt;/i&gt; times, you can compute the configuration after &lt;i&gt;t&lt;/i&gt; steps, and therefore you can decide whether DTM &lt;i&gt;M&lt;/i&gt; accepts on a given input string within &lt;i&gt;t&lt;/i&gt; steps.  If you can do this in logarithmic space, you have solved the P-complete problem in logarithmic space, and therefore L=P.&lt;/p&gt;&#xA;" OwnerUserId="567" LastActivityDate="2011-09-07T22:05:39.680" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="8130" PostTypeId="2" ParentId="2562" CreationDate="2011-09-07T23:27:19.013" Score="1" Body="&lt;p&gt;Without using extra space, maybe using a prioritized queue and forcing each new push to give it a bigger priority than the previous one? Still wouldn't be O(1) though. &lt;/p&gt;&#xA;" OwnerUserId="6465" LastActivityDate="2011-09-07T23:27:19.013" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8132" PostTypeId="1" CreationDate="2011-09-08T08:04:53.107" Score="5" ViewCount="268" Body="&lt;p&gt;I am working on Cryptographic protocols. While I was doing a survey, I required some &quot;Non-Interactive Zero Knowledge Proofs&quot; (NIZK) which I can use.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I can only find transformations between different models of NIZK in the abstract sense, like the Hidden Bits Model (J.Katz) and non-malleable NIZK (A.Sahai)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there any credible material like Thesis/Papers where I can find example constructions of Non-Interactive Zero Knowledge Proofs which I can make use for my protocols.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks!&lt;/p&gt;&#xA;" OwnerUserId="3788" LastEditorUserId="873" LastEditDate="2011-09-09T16:38:15.087" LastActivityDate="2013-03-10T17:41:24.497" Title="Instances of Noninteractive Zero knowlege Proofs" Tags="&lt;reference-request&gt;&lt;cr.crypto-security&gt;&lt;zero-knowledge&gt;" AnswerCount="2" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="8133" PostTypeId="2" ParentId="1718" CreationDate="2011-09-08T08:25:34.850" Score="1" Body="&lt;p&gt;&lt;strong&gt;First&lt;/strong&gt;, I try to &lt;strong&gt;develop&lt;/strong&gt; in students some &lt;strong&gt;intuition&lt;/strong&gt;, before showing equations.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&quot;Merge-sort vs Insertion-Sort&quot; is good starting point.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Then, later... I try to show both ways. Students, that relies more on intuition prefer $$f = O(g) \mbox{ iff } (\exists c &amp;gt; 0)(\exists n_0 \geq 0)(\forall n \geq n_0)(f(n) \leq c \cdot g(n)).$$&#xA;while those who relies more on math, equasions, algebra etc. , they prefer &quot;$\lim_{n \rightarrow \infty}$&quot; definitions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another aspect is that, it heavily depends on concrete studies' program. IMHO depending on previous subjects one of definitions will be more suitable - while IMHO still it is good idea to show both and accept both types of solutions.&lt;/p&gt;&#xA;" OwnerUserId="6133" LastEditorUserId="6133" LastEditDate="2011-09-08T08:45:25.787" LastActivityDate="2011-09-08T08:45:25.787" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8134" PostTypeId="1" CreationDate="2011-09-08T13:19:58.803" Score="-2" ViewCount="133" Body="&lt;p&gt;I want to design a system in which a program is sent along with data and then it answers with the result. Is redundancy a must in this situation to check for correctness of the processed data? What is enough to trust the other system?&#xA;Please be aware that I might not be asking the right question, this is almost a philosophical question.&lt;/p&gt;&#xA;" OwnerUserId="6469" LastEditorUserId="186" LastEditDate="2011-09-09T06:38:17.777" LastActivityDate="2011-09-16T12:40:56.640" Title="How to check if an algorithm in a distributed system worked within restraints?" Tags="&lt;dc.distributed-comp&gt;&lt;network-modeling&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="8135" PostTypeId="1" CreationDate="2011-09-08T16:07:41.493" Score="15" ViewCount="495" Body="&lt;p&gt;In hash tables that resolve collisions by linear probing, in order to ensure $O(1)$ expected performance, it is both necessary and sufficient that the hash function be from a 5-independent family. (Sufficiency: &lt;a href=&quot;http://www.itu.dk/people/pagh/papers/linear-jour.pdf&quot;&gt;&quot;Linear probing with constant independence&quot;, Pagh et al.&lt;/a&gt;, necessity: &lt;a href=&quot;http://people.csail.mit.edu/mip/papers/kwise-lb/kwise-lb.pdf&quot;&gt;&quot;On the k-Independence Required by Linear Probing and Minwise Independence&quot;, Pătraşcu and Thorup&lt;/a&gt;)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is my understanding that the fastest known 5-independent families use tabulation. Picking a function from such a family may be expensive, so I would like to minimize the number of times I do so while still preventing algorithmic complexity attacks as described in Crosby and Wallach's &lt;a href=&quot;http://www.cs.rice.edu/~scrosby/hash/CrosbyWallach_UsenixSec2003/&quot;&gt;&quot;Denial of Service via Algorithmic Complexity Attacks&quot;&lt;/a&gt;. I'm less worried about timing attacks (i.e. adversaries with stopwatches). What are the consequences of reusing the same function:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;When growing a hash table that is too full?&lt;/li&gt;&#xA;&lt;li&gt;When shrinking a hash table that is not full enough?&lt;/li&gt;&#xA;&lt;li&gt;When rebuilding a hash table that has too many &quot;deleted&quot; bits set?&lt;/li&gt;&#xA;&lt;li&gt;In $k$ different hash tables that may contain some keys in common?&lt;/li&gt;&#xA;&lt;li&gt;In $k$ different hash tables that contain no keys in common?&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="43" LastEditorUserId="43" LastEditDate="2011-09-14T15:35:11.600" LastActivityDate="2020-09-21T18:10:57.750" Title="Reusing 5-independent hash functions for linear probing" Tags="&lt;ds.data-structures&gt;&lt;hash-function&gt;&lt;randomized-algorithms&gt;&lt;security&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="8136" PostTypeId="1" AcceptedAnswerId="8140" CreationDate="2011-09-08T17:48:24.057" Score="4" ViewCount="676" Body="&lt;p&gt;Why is &quot;long code test&quot; also called &quot;dictatorship test&quot;? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I got really confused when I read about it in &lt;a href=&quot;http://arxiv.org/abs/cs/0304038&quot; rel=&quot;nofollow&quot;&gt;Arora's survey&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="4222" LastEditorUserId="4222" LastEditDate="2011-09-09T08:43:10.253" LastActivityDate="2011-09-09T08:43:10.253" Title="&quot;long code test&quot; and &quot;dictatorship test&quot;" Tags="&lt;cc.complexity-theory&gt;&lt;co.combinatorics&gt;&lt;boolean-functions&gt;&lt;coding-theory&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8137" PostTypeId="2" ParentId="8123" CreationDate="2011-09-08T19:54:38.373" Score="6" Body="&lt;p&gt;Reduction from Set Cover. Suppose the Set Cover instance has sets $S_1,\ldots,S_m$ which are subsets of a universe $U$ of $n$ elements, and an integer $k$. The problem is to decide if the elements of $U$ can be covered by using at most $k$ sets from $\{S_1,\ldots,S_m\}$. Create a directed graph with a node for each set $S_i$ and a node for each element in $U$ and a set is connected by an arc to an element iff that element is in that set (these arcs have a capacity of $1$ each). Add a source node $s$ and connect it to each set $S_i$ with an arc of capacity $|S_i|$. Add a sink node $t$ and arcs connecting each element to $t$ (the capacity if $1$ and cost is $0$). The arc $(s,S_i)$ has cost $1$ and if we improve it the cost becomes $0$. The other arcs have cost $0$ so there is no point improving them. The claim is that there is a feasible cover of size $k$ in the Set Cover instance iff one can select $k$ arcs to improve so that the resulting graph has an $s$-$t$ flow of $n$ with cost $0$. This is not hard to see. One can use lower bounds on a $(t,s)$ arc to enforce a flow of $n$ between $s$ and $t$.&lt;/p&gt;&#xA;" OwnerUserId="176" LastActivityDate="2011-09-08T19:54:38.373" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="8138" PostTypeId="1" AcceptedAnswerId="8142" CreationDate="2011-09-08T22:09:05.207" Score="6" ViewCount="628" Body="&lt;p&gt;Our beloved Travelling Salesman just bought the &lt;a href=&quot;http://en.wikipedia.org/wiki/Manual_of_the_Planes&quot; rel=&quot;nofollow&quot;&gt;Manual of the Planes&lt;/a&gt; and wants to make some use of it. He is not a great adventurer though, so he will restrain his travels in the Parallel and Fundamental Planes, which are tightly coupled with the Material Plane (and try not to spend so much time in the &lt;a href=&quot;http://www.pathguy.com/minerals.htm&quot; rel=&quot;nofollow&quot;&gt;Quasi-elemental Plane of Minerals&lt;/a&gt; and all the gold that lies there!). Let's say therefore that we have M-1 Parallel Planes and our salesman can visit each city in any of them. Travel from Material Neverwinter to Astral Luskan is of course different than travel from Material Neverwinter to Material Luskan and not always in a trivial manner (might cost more, might cost less). To make matters worse, the Salesman can visit each city in only one Plane and cannot therefore benefit from a portal connecting Shadow Waterdeep with Faerie Baldur's Gate if he initially arrived in Material Waterdeep (assume Dimensional Anchors covering the cities). So the Salesman has to complete his path using these new restrictions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A 4th Level Wizard exclaimed instantly that this Plane Travelling Salesman has a problem that is not easier than those of his normal colleagues (just assume that the travel between two cities costs the same regardless of the Planes used and you have a classic TSP). The question is: How can he convert the problem into another that has already been researched by the scholars?&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Less nerdy description:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Replace each of the N nodes in the original TSP with M subnodes. Distances are given for every pair of subnodes between different nodes. For each node, a single subnode must be used in the solution. Give an algorithm for the new problem.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It turns out that it is indeed a well-researched problem so I am adding all the aliases I found for it.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Generalized TSP&lt;/li&gt;&#xA;&lt;li&gt;Group TSP&lt;/li&gt;&#xA;&lt;li&gt;TSP with Neighbourhoods&lt;/li&gt;&#xA;&lt;li&gt;Set TSP&lt;/li&gt;&#xA;&lt;li&gt;One-of-a-Set TSP&lt;/li&gt;&#xA;&lt;li&gt;Multiple Choice TSP&lt;/li&gt;&#xA;&lt;li&gt;Covering Salesman Problem&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="6477" LastEditorUserId="6477" LastEditDate="2011-09-09T11:46:11.840" LastActivityDate="2011-09-09T11:46:11.840" Title="Travelling Salesman and Planar Travel - Generalized TSP" Tags="&lt;ds.algorithms&gt;&lt;graph-algorithms&gt;&lt;tsp&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="8139" PostTypeId="2" ParentId="8136" CreationDate="2011-09-08T22:09:28.983" Score="10" Body="&lt;p&gt;This is because the &quot;long code&quot; is the same as the code of all &quot;dictators&quot;.&#xA;I'll explain how to see it below; it's not immediate. Once you verified it for yourself, you should just remember that it's two different ways to look at the same thing.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here's the explanation:&#xA;If you want to encode a message $x\in \{0,1\}^n$ using the long code, you compute $f(x)$ for every function $f:\{0,1\}^n\to \{0,1\}$. Now think of each function $f$ as represented using the vector $v_f\in\{0,1\}^{2^n}$ that consists of the value of $f$ on each and every point $x\in\{0,1\}^n$. You can think of the long code codeword associated with $x$ as mapping the vector $v_f$ to position $x$ in $v_f$, i.e., as the dictator associated with position $x$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(The dictator $D:\{0,1\}^N\to \{0,1\}$ associated with position $1\leq i\leq N$ is a function that maps $x\in\{0,1\}^N$ to $x_i$. It is &quot;dictated&quot; by the $i$'th position.  Above, $N = 2^n$.)&lt;/p&gt;&#xA;" OwnerUserId="1621" LastActivityDate="2011-09-08T22:09:28.983" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8140" PostTypeId="2" ParentId="8136" CreationDate="2011-09-08T22:17:18.837" Score="11" Body="&lt;p&gt;&quot;Long code&quot; and &quot;Dictator code&quot; are two different names for the same code. Here's why:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let's start with the natural definition of the long code: The message is an $n$-bit string $i$ (the reason I'm calling this $i$ and not $x$ becomes clear soon) and the encoding is a vector $y$ of length $2^{2^n}$ where the positions of $y$ are indexed by all possible Boolean functions that map $n$ bits to one bit. Moreover, $y$ at position $f$ is simply $f(i)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now you can alternatively identify $f$ by its truth table. So you can also assume that the coordinate positions of $y$ are indexed by all possible strings of length $N := 2^n$ (i.e., all possible truth tables) and then $y$ at position $f=(f_1, \ldots, f_N)$ just encodes $f_i$.  So the $i$th codeword is the truth table of the $i$th dictator function (among the dictator functions mapping $N$ bits to one bit). So the long code and the dictator code are the same. In the long code interpretation, codewords correspond to $n$-bit points and codeword positions correspond to $n$-bit predicates. In the dictator code interpretation, codewords correspond to dictator functions on $2^n$ bits and codeword positions correspond to evaluation points.&lt;/p&gt;&#xA;" OwnerUserId="6190" LastActivityDate="2011-09-08T22:17:18.837" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8141" PostTypeId="1" CreationDate="2011-09-08T22:32:35.043" Score="13" ViewCount="577" Body="&lt;p&gt;In this &lt;a href=&quot;http://www.cs.cornell.edu/home/kleinber/kdd03-inf.pdf&quot; rel=&quot;noreferrer&quot;&gt;paper&lt;/a&gt; by Kempe-Kleinberg-Tardos, the Authors propose a greedy algorithms based on submodular functions to determine the $k$ most influential nodes in a graph, with applications to social networks. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Basically the algorithm goes as follows:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;$S = {\rm empty~set}$&lt;/li&gt;&#xA;&lt;li&gt;pick the node with highest individual influence, call it $v_1$; $S = S\cup v_1$&lt;/li&gt;&#xA;&lt;li&gt;remove $v_1$ and all edges connecting $v_1$ to the rest of the network&lt;/li&gt;&#xA;&lt;li&gt;repeat until $S$ has $k$ vertices&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;I have &lt;strong&gt;two questions&lt;/strong&gt; about influential nodes in social networks.&lt;br&gt;&#xA;a) Is there any algorithm to find the solution, or an approximation of it in a decentralized fashion?&lt;br&gt;&#xA;b) Did anyone apply other algorithms, such as Page-Rank and similar, to solve the same problem?&lt;/p&gt;&#xA;" OwnerUserId="6478" LastEditorUserId="8052" LastEditDate="2012-01-22T03:25:01.367" LastActivityDate="2012-01-22T09:28:56.107" Title="Decentralized algorithm for determining influential nodes in social networks" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;dc.distributed-comp&gt;&lt;social-sciences&gt;&lt;heuristics&gt;" AnswerCount="2" CommentCount="4" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="8142" PostTypeId="2" ParentId="8138" CreationDate="2011-09-08T23:06:26.533" Score="9" Body="&lt;p&gt;If the tour is required to visit one node in each group, then the problem is called Group-TSP, or TSP-with-neighborhoods. There's a ton of work on this in the plane (just google it), and in general it's as hard as HITTING SET (the case in which your metric is all 1s). &lt;a href=&quot;http://www.cs.tau.ac.il/~safra/PapersAndTalks/gtsp.ps&quot; rel=&quot;nofollow&quot;&gt;There's a paper by Safra and Schwartz&lt;/a&gt; that shows that Geometric group TSP (in the plane) is hard to any constant factor. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2011-09-08T23:06:26.533" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8143" PostTypeId="1" CreationDate="2011-09-09T02:33:47.957" Score="12" ViewCount="262" Body="&lt;p&gt;Suppose we have a semigroup $(S,\circ)$ with elements $S=\lbrace s_1,s_2,\dots,s_n\rbrace$. Our goal is to compute products $s_i\circ s_{i+1}\circ \cdots\circ s_j$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In their paper &quot;Optimal Preprocessing for answering on-line product queries&quot; Alon and Schieber prove that we can answer each such query in at most $O(\alpha(n))$ steps (where $\alpha$ is the inverse Ackermann function) by using only linear amount of preprocessing.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If it is desired that each query $s_i\circ s_{i+1}\circ \cdots\circ s_j$ can be answered in $O(\log(j-i))$ steps, can one still do this with only linear preprocessing?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(This question is inspired by &lt;a href=&quot;https://mathoverflow.net/questions/74496/jumping-in-the-integers&quot;&gt;this&lt;/a&gt; recent question by Brendan McKay at Mathoverflow.)&lt;/p&gt;&#xA;" OwnerUserId="6479" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2012-06-24T06:28:52.517" Title="Optimal preprocessing for certain types of queries" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;&lt;ds.data-structures&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="8144" PostTypeId="1" AcceptedAnswerId="8149" CreationDate="2011-09-09T04:16:07.370" Score="3" ViewCount="430" Body="&lt;p&gt;I think it's field that studies distributed systems as described at &lt;a href=&quot;http://en.wikipedia.org/wiki/Distributed_computing&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/Distributed_computing&lt;/a&gt;. There are distributed systems such as clusters and grids on top of this field. Algorithms and computational techniques are should be discussed in High-performance computing sub-area.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Am I wrong ? Where I can read strong thesis about distributed computing and it hierarchy ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks.&lt;/p&gt;&#xA;" OwnerUserId="6480" LastEditorUserId="74" LastEditDate="2011-09-09T09:53:11.640" LastActivityDate="2011-09-09T11:10:42.680" Title="What is &quot;distributed computing&quot; as a field of computer science?" Tags="&lt;reference-request&gt;&lt;soft-question&gt;&lt;dc.distributed-comp&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8145" PostTypeId="2" ParentId="8124" CreationDate="2011-09-09T07:45:34.313" Score="4" Body="&lt;p&gt;The current article on &lt;a href=&quot;http://en.wikipedia.org/wiki/Computational_topology&quot; rel=&quot;nofollow&quot;&gt;computational topology&lt;/a&gt; covers only one small (but important!) subfield.  Other subfields are covered in &lt;a href=&quot;http://en.wikipedia.org/wiki/Topological_data_analysis&quot; rel=&quot;nofollow&quot;&gt;topological data analysis&lt;/a&gt;, &lt;a href=&quot;http://en.wikipedia.org/wiki/Topological_graph_theory&quot; rel=&quot;nofollow&quot;&gt;topological graph theory&lt;/a&gt;, &lt;a href=&quot;http://en.wikipedia.org/wiki/Discrete_exterior_calculus&quot; rel=&quot;nofollow&quot;&gt;discrete exterior calculus&lt;/a&gt;, and possibly even &lt;a href=&quot;http://en.wikipedia.org/wiki/Topological_Quantum_Computing&quot; rel=&quot;nofollow&quot;&gt;topological quantum computing&lt;/a&gt;.  But even combined, the resulting article would be incomplete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Yes, yes, I know.&lt;/p&gt;&#xA;" OwnerUserId="111" LastActivityDate="2011-09-09T07:45:34.313" CommentCount="0" CommunityOwnedDate="2011-09-09T07:45:34.313" ContentLicense="CC BY-SA 3.0" />
  <row Id="8146" PostTypeId="1" AcceptedAnswerId="12813" CreationDate="2011-09-09T09:18:10.420" Score="15" ViewCount="422" Body="&lt;p&gt;A category has &lt;a href=&quot;http://ncatlab.org/nlab/show/biproduct&quot;&gt;biproducts&lt;/a&gt; when the same objects are both the products and coproducts. Has anyone investigated the proof theory of categories with biproducts?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Perhaps the best-known example is the category of vector spaces, in which the direct sum and direct product constructions give the same vector space. This means vector spaces and linear maps are a slightly degenerate model of linear logic, and I am curious what a type theory which accepts this degeneracy would look like. &lt;/p&gt;&#xA;" OwnerUserId="657" LastActivityDate="2012-10-03T16:29:24.370" Title="Proof theory of biproducts?" Tags="&lt;reference-request&gt;&lt;lo.logic&gt;&lt;pl.programming-languages&gt;&lt;type-theory&gt;&lt;ct.category-theory&gt;" AnswerCount="2" CommentCount="6" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="8147" PostTypeId="5" CreationDate="2011-09-09T10:42:18.513" Score="0" Body="" OwnerUserId="-1" LastEditorUserId="-1" LastEditDate="2011-09-09T10:42:18.513" LastActivityDate="2011-09-09T10:42:18.513" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8148" PostTypeId="4" CreationDate="2011-09-09T10:42:18.513" Score="0" Body="The travelling salesman problem (TSP) is an NP-hard problem in combinatorial optimization studied in operations research and theoretical computer science. Given a list of cities and their pairwise distances, the task is to find a shortest possible tour that visits each city exactly once." OwnerUserId="6477" LastEditorUserId="6477" LastEditDate="2011-09-09T10:43:01.647" LastActivityDate="2011-09-09T10:43:01.647" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8149" PostTypeId="2" ParentId="8144" CreationDate="2011-09-09T11:10:42.680" Score="12" Body="&lt;p&gt;This is a TCS site, not a general computer science site, so I will only give the TCS answer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In TCS, the following things are more or less equal:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&quot;distributed computing&quot;&lt;/li&gt;&#xA;&lt;li&gt;&quot;distributed algorithms&quot;&lt;/li&gt;&#xA;&lt;li&gt;the study of computational aspects of distributed systems (computability, computational complexity, algorithm design and analysis, etc.)&lt;/li&gt;&#xA;&lt;li&gt;topics of conferences such as &lt;a href=&quot;http://www.podc.org/&quot;&gt;PODC&lt;/a&gt; and &lt;a href=&quot;http://www.disc-conference.org/&quot;&gt;DISC&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;topics covered in textbooks such as Lynch (1996): &lt;em&gt;Distributed Algorithms&lt;/em&gt;&lt;/li&gt;&#xA;&lt;li&gt;topics covered in courses such as &lt;a href=&quot;http://dcg.ethz.ch/lectures/podc_allstars/&quot;&gt;this&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;(Outside TCS, &quot;distributed computing&quot; can mean anything: SETI@home, grids, clusters, clouds, HPC, Internet, web services, P2P, IPC, you name it.)&lt;/p&gt;&#xA;" OwnerUserId="74" LastActivityDate="2011-09-09T11:10:42.680" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8150" PostTypeId="2" ParentId="8138" CreationDate="2011-09-09T11:22:28.837" Score="3" Body="&lt;p&gt;Thanks to Suresh's &quot;naming&quot; of the problem I have also found this paper: &lt;a href=&quot;http://www.ee.ucla.edu/~abehzad/ICSE02.pdf&quot; rel=&quot;nofollow&quot;&gt;A New Efficient Transformation of Generalized Traveling Salesman Problem into Traveling&#xA;Salesman Problem&lt;/a&gt; which might also help Salesmen Travelling the Planes!&lt;/p&gt;&#xA;" OwnerUserId="6477" LastActivityDate="2011-09-09T11:22:28.837" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8151" PostTypeId="1" CreationDate="2011-09-09T14:32:30.917" Score="29" ViewCount="4964" Body="&lt;p&gt;Note: This is about the standard 9x9 sudoku puzzle. The solution only has to support &lt;strong&gt;solved, legal puzzles&lt;/strong&gt;. So a solution doesn't need to support empty cells and can rely on the properties of a solved sudoku puzzle.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I was wondering this, but I couldn't think of an answer that I was content with. A naive solution would use one byte for each cell (81 cells), totalling 648 bits. A more sophisticated solution would store the entire sudoku puzzle in a base-9 number (one digit per cell) and require $\lceil\log_2(9^{81}))\rceil = 257$ bits.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But it can still be improved, for example, if you know 8 of the 9 numbers in a 3x3 subgrid you can trivially deduce the 9th. You can continue these thoughts to the point where this question boils down to &lt;strong&gt;What is the amount of unique solved sudokus?&lt;/strong&gt; Now you can use a huge lookup table that maps each binary number to a sudoku puzzle, but that wouldn't be an usable solution.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, my question:&lt;/p&gt;&#xA;&#xA;&lt;h3&gt;Without using a lookup table, what is the minimum amount of bits required to store a sudoku puzzle and with what algorithm?&lt;/h3&gt;&#xA;" OwnerUserId="6482" LastEditorUserId="969" LastEditDate="2011-09-10T23:06:41.833" LastActivityDate="2015-03-16T21:28:40.660" Title="What is the minimum number of bits required to store a sudoku puzzle?" Tags="&lt;co.combinatorics&gt;&lt;puzzles&gt;" AnswerCount="8" CommentCount="7" FavoriteCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="8152" PostTypeId="2" ParentId="8151" CreationDate="2011-09-09T14:57:18.457" Score="-2" Body="&lt;p&gt;That number is different for each Sudoku. One of the rules for Sudoku is that it has exactly one solution.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So if you look at an example, that's the minimum amount of data that you must store.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you work from the opposite side, you can remove digit by digit and run a solver on the result to see if it still has exactly one solution. If so, you can delete another digit. If not, you must restore this digit and try another. If you can't, you have found a minimum.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since most puzzles start mostly empty, a run length encoding will probably yield good results.&lt;/p&gt;&#xA;" OwnerUserId="6486" LastActivityDate="2011-09-09T14:57:18.457" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="8153" PostTypeId="1" AcceptedAnswerId="8156" CreationDate="2011-09-09T14:59:18.783" Score="9" ViewCount="451" Body="&lt;p&gt;I was wondering about what sets of languages are generated by restrictions of regular expressions.  Supposing that all the restrictions have a constant symbol for each element of $\Sigma$ and concatenation.  Then eight classes can be formed by the presence or absence of complement/negation, alteration/union, and the Kleene star.  (Yes, 'normal' regular expressions don't have a $^C$ operator, but it's convenient here.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Expressions allowing alternation and the Kleene star, with or without complement (what's a little double-exponential blowup amongst friends?), generate the regular languages. Expressions allowing alternation and complement but not the Kleene star generate the star-free languages. Expressions allowing alternation but not complement or the Kleene star generate the finite languages.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But can any interesting classes of languages be generated without alternation?  Without any of the three operators all that can be generated is a single word.  The complement operator doesn't help much here.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;With just the Kleene star the class is somewhat interesting... it's not clear if they can be recognized any faster than regular languages.  (Is anything nontrivial known about these?)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;With both the Kleene star and complement... do you get anything interesting?  Does this class have a name?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This question was inspired by &lt;a href=&quot;https://math.stackexchange.com/q/62769/1778&quot;&gt;Regular Expression question&lt;/a&gt; on math.se.&lt;/p&gt;&#xA;" OwnerUserId="962" LastEditorUserId="-1" LastEditDate="2017-04-13T12:19:19.363" LastActivityDate="2011-09-14T18:06:23.970" Title="Regular expressions without alternation" Tags="&lt;fl.formal-languages&gt;&lt;regular-expressions&gt;" AnswerCount="1" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="8154" PostTypeId="1" CreationDate="2011-09-09T15:16:21.127" Score="1" ViewCount="89" Body="&lt;p&gt;I'm interested in using  fractional graph coloring algorithms/solvers to solve a problem, where is a good place to start? I'm looking to find basic/introductory to state-of-the-art algorithms more than theoretical results at this point.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Scheinerman's book looks great, but the focus seems to be more on theory than algorithms.&lt;/p&gt;&#xA;" OwnerUserId="6487" LastEditorUserId="186" LastEditDate="2011-09-10T10:10:46.767" LastActivityDate="2011-09-10T10:10:46.767" Title="Resources to get started on fractional graph coloring algorithms" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;graph-algorithms&gt;&lt;graph-colouring&gt;&lt;heuristics&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8155" PostTypeId="1" CreationDate="2011-09-09T16:11:22.067" Score="4" ViewCount="262" Body="&lt;p&gt;I am aware of the &lt;a href=&quot;http://dimacs.rutgers.edu/Challenges/&quot; rel=&quot;nofollow&quot;&gt;&quot;famous&quot; DIMACS graph format&lt;/a&gt; (which frankly looks a little clunky to me - &quot;c&quot; for a comment line ?) and the &lt;a href=&quot;http://people.sc.fsu.edu/~jburkardt/data/metis_graph/metis_graph.html&quot; rel=&quot;nofollow&quot;&gt;METIS file format&lt;/a&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;While it's not particularly hard to invent my own graph format, it's nice to follow something accepted so that reuse of code for generating examples and testing algorithms is easier. &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there a standard accepted format for representing graphs for use&#xA;  with testing graph algorithms ?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="80" LastActivityDate="2011-09-11T15:23:44.297" Title="Standard format for representing large graphs" Tags="&lt;ds.algorithms&gt;&lt;graph-algorithms&gt;&lt;data-sets&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8156" PostTypeId="2" ParentId="8153" CreationDate="2011-09-09T16:26:13.080" Score="12" Body="&lt;p&gt;The class of regular languages that can be described by regular expressions without union (and without complementation) are known as &lt;em&gt;union-free regular&lt;/em&gt; (also: &lt;em&gt;star-dot regular&lt;/em&gt;) languages. This class of languages apparently has received some attention recently:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Benedek Nagy: &quot;Union-free regular languages and 1-cycle-free-path-automata&quot;, Publicationes Mathematicae 68(1-2), 2006.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Sergey Afonin and Denis Golomazov: &quot;Minimal Union-Free Decompositions of Regular Languages&quot;, Language and Automata Theory and Applications, Springer 2009. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Galina Jirásková and Tomás Masopust: &quot;Complexity in Union-Free Regular Languages&quot;, Developments in Language Theory, Springer 2010.&lt;/p&gt;&#xA;" OwnerUserId="2367" LastEditorUserId="2367" LastEditDate="2011-09-14T18:06:23.970" LastActivityDate="2011-09-14T18:06:23.970" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="8158" PostTypeId="1" CreationDate="2011-09-09T17:18:56.713" Score="3" ViewCount="346" Body="&lt;p&gt;While doing some research on topological sorting I came across a paper &lt;a href=&quot;http://sciencelinks.jp/j-east/article/200409/000020040904A0317944.php&quot; rel=&quot;nofollow&quot;&gt;Parallel Topological Sorting Algorithm, TADA, A. and MIGITA, M. and NAKAMURA, R.&lt;/a&gt; which claims a recursive divide-and-conquer algorithm that &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;requires $O(n+m)$ processors and $O(\log^2m)$ time on a CREW-PRAM model&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Unfortunately the paper is not only behind pay wall but is also in Japanese except for the abstract. I was able to obtain a copy, however only from the abstract and some contained (English) pseudocode I did not fully understand the details of the algorithm/analysis.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I found few references in English papers (such as &lt;a href=&quot;http://www.cs.brown.edu/~ws/papers/scc.pdf&quot; rel=&quot;nofollow&quot;&gt;this&lt;/a&gt;), but none does more then mention in.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does anybody know of an English (or perhaps German?) description of the details of this algorithm?&lt;/p&gt;&#xA;" OwnerUserId="6488" LastEditorUserId="80" LastEditDate="2011-09-09T19:04:40.847" LastActivityDate="2011-09-09T19:04:40.847" Title="Recursive parallel topological sorting in linear time" Tags="&lt;reference-request&gt;&lt;graph-algorithms&gt;&lt;dc.parallel-comp&gt;&lt;directed-acyclic-graph&gt;" AnswerCount="0" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="8159" PostTypeId="2" ParentId="8120" CreationDate="2011-09-09T18:20:30.393" Score="5" Body="&lt;p&gt;Is chapter 29 of Bob Harper's &lt;a href=&quot;http://www.cs.cmu.edu/~rwh/plbook/book.pdf&quot;&gt;book&lt;/a&gt; what you are looking for?&lt;/p&gt;&#xA;" OwnerUserId="705" LastActivityDate="2011-09-09T18:20:30.393" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="8160" PostTypeId="2" ParentId="8151" CreationDate="2011-09-09T18:37:59.017" Score="4" Body="&lt;p&gt;Here's an algorithm which I suspect will produce a pretty good encoding. You have the finished sudoku you want to compress, and let's say you have already encoded some cells of it, so there's a partial sudoku (not necessarily with a unique solution) with some cells filled in. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Use a fixed algorithm to count how many numbers can be placed into every empty cell. Find the lexicographically first cell into which the smallest number of different numbers can be placed, and encode which one of these numbers goes into it (so if a cell can only contain a 3, 7, or 9, the 3 is encoded by &quot;0&quot;, the 7 by &quot;1&quot; and the 9 by &quot;2&quot;). Encode the resulting sequence using arithmetic coding (which takes into account the number of possible numbers that a cell can contain). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I don't know how long the resulting binary sequence will be, but I suspect it's pretty short, especially if your algorithm for counting how many numbers can be placed into a cell is reasonably sophisticated. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you had a good algorithm that estimated the probability of each cell containing a given number, you could do even better.&lt;/p&gt;&#xA;" OwnerUserId="1677" LastActivityDate="2011-09-09T18:37:59.017" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8161" PostTypeId="1" AcceptedAnswerId="8177" CreationDate="2011-09-09T19:57:10.600" Score="11" ViewCount="286" Body="&lt;p&gt;Suppose $L$ is a Boolean language, of finite strings over $\{0,1\}$.  Let $L_n$ be the number of strings in $L$ with length $n$.  For a function $d(n)$ from the positive integers to the positive real numbers, $L$ has &lt;em&gt;upper density&lt;/em&gt; $d(n)$ if $L_n \le 2^n d(n)$ for all sufficiently large $n$.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Do any P-complete Boolean languages have upper density $O(1/n)$?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;h2&gt;Motivation&lt;/h2&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;PARITY has upper density $1/2$.  YES (the language of all finite binary strings) has upper density 1.  Any finite language has upper density 0.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;A sparse language $L$ has the property that there is a polynomial $p(n)$ such that $L_n - L_{n-1} \le p(n)$ for all $n$.  If $L$ is a sparse language, then $L_n \le p_1(n)$ for a polynomial $p_1$ of degree one greater than that of $p$, so the upper density of $L$ is zero.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://dx.doi.org/10.1006/jcss.1998.1615&quot; rel=&quot;nofollow noreferrer&quot;&gt;Jin-Yi Cai and D. Sivakumar&lt;/a&gt; showed that a P-complete language cannot be sparse unless P = L (= LOGSPACE).  Since P=co-P, any language of which the complement is sparse cannot be P-complete either, unless P=L.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;By a simple inequality (see e.g. Corollary 2 of &lt;a href=&quot;http://projecteuclid.org/euclid.ijm/1255631807&quot; rel=&quot;nofollow noreferrer&quot;&gt;Rosser and Schoenfeld 1962&lt;/a&gt;), PRIMES has upper density $(\log_2 e)/n$.  Question &lt;a href=&quot;https://cstheory.stackexchange.com/q/8000&quot;&gt;Are the problems PRIMES, FACTORING known to be P-hard?&lt;/a&gt; discusses whether PRIMES is P-hard (this seems to be open currently).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;In some sense, the complete (or universal)languages for a complexity class contain all the structure of the class.  So my tentative hypothesis, based on a wild extrapolation of Cai and Sivakumar's result, would be that such languages cannot be too sparse.  The usual polynomial bound defining sparse languages seems too restrictive, so I'm asking about a bound that is a little less restrictive.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;The work on &lt;a href=&quot;http://en.wikipedia.org/wiki/Low_%28complexity%29&quot; rel=&quot;nofollow noreferrer&quot;&gt;lowness&lt;/a&gt; by Fortnow, Hemaspaandra, and others is also possibly related.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The question can be asked of classes other than P, but I can't recall any results that would allow establishing density of, say, $k$-SAT.  Pointers to relevant literature would be most welcome.&lt;/p&gt;&#xA;&#xA;&lt;h3&gt;Acknowledgements&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;See also related question &lt;a href=&quot;https://cstheory.stackexchange.com/q/5407&quot;&gt;Conditional density of primes&lt;/a&gt;.  Thanks to @Tsuyoshi Ito and @Kaveh for helpful comments on an earlier version of this question, which was unfortunately ill-posed.&lt;/p&gt;&#xA;" OwnerUserId="109" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2011-09-11T12:28:54.313" Title="Density of P-complete languages" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;p-hardness&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="8162" PostTypeId="1" CreationDate="2011-09-09T20:12:59.063" Score="7" ViewCount="1238" Body="&lt;p&gt;I want to verify a program written in C. I am using &lt;a href=&quot;http://krakatoa.lri.fr/&quot; rel=&quot;nofollow&quot;&gt;Jessie&lt;/a&gt; to translate the (pre/post)conditions of the program to Coq. In Coq I will make a proof. Sometimes I need recursive definitions. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Unfortunately Jessie generates no fixpoint definitions and unfortunately I must use these generated definitions to verify a program.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example the power function:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;Require Export ZArith.&#xA;Open Scope Z_scope.&#xA;&#xA;  (*Generated by Jessie from my C program*) &#xA;Definition pow : Z-&amp;gt;Z-&amp;gt;Z.&#xA;Admitted.&#xA;&#xA;Definition eq_int_bool : Z -&amp;gt; Z -&amp;gt; bool.&#xA;Admitted.&#xA;&#xA;Lemma eq_int_bool_axiom :&#xA;  (forall (x:Z), (forall (y:Z), ((eq_int_bool x y) = true &amp;lt;-&amp;gt; x = y))).&#xA;Admitted.&#xA;&#xA;Lemma _jc_axiom_sum : &#xA;    forall (b:Z),&#xA;    forall (e:Z), (pow b e) = &#xA;    if (eq_int_bool e 0) then (1)&#xA;    else (b * pow b (e-1)).&#xA;Admitted.&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;How can I use the inductive tactics provided in Coq, if I want to prove some features? What can I do in this situation to prove the features? Is it even possible to perform some “complicated” proofs with this sort of definition? &#xA;In my Coq proofs I can use all I want, including fixpoint definitions.&lt;/p&gt;&#xA;" OwnerUserId="6491" LastEditorUserId="989" LastEditDate="2014-05-24T19:23:13.790" LastActivityDate="2014-05-24T19:23:13.790" Title="How to use induction without Fixpoint definition in Coq?" Tags="&lt;lo.logic&gt;&lt;coq&gt;&lt;program-verification&gt;&lt;formal-methods&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8163" PostTypeId="2" ParentId="8151" CreationDate="2011-09-09T20:46:31.880" Score="13" Body="&lt;p&gt;going on with @peter's answer here's a worst case posibilities list for each cell as you are filling it in starting from top left&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;9   8   7       6   5   4       3   2   1&#xA;6   5   4       6   5   4       3   2   1&#xA;3   2   1       3   2   1       3   2   1&#xA;&#xA;6   6   3       6   5   4       3   2   1&#xA;5   5   2       5   5   3       3   2   1&#xA;4   4   1       4   2   1       3   2   1&#xA;&#xA;3   3   3       3   3   3       1   1   1&#xA;2   2   2       2   2   2       1   1   1&#xA;1   1   1       1   1   1       1   1   1&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;this makes for 4,24559E+29 posibilities or 99 bits&lt;/p&gt;&#xA;&#xA;&lt;p&gt;edit: forgot that last square is fully determined by all others&lt;/p&gt;&#xA;" OwnerUserId="5737" LastEditorUserId="5737" LastEditDate="2011-09-10T00:38:23.717" LastActivityDate="2011-09-10T00:38:23.717" CommentCount="12" ContentLicense="CC BY-SA 3.0" />
  <row Id="8164" PostTypeId="2" ParentId="8162" CreationDate="2011-09-10T00:24:42.357" Score="7" Body="&lt;p&gt;You have an equational specification of the power function. You can prove that it's equivalent to some recursively defined function, in that it has the same values whenever the two functions are passed equal arguments. This is called &lt;em&gt;extensional equality&lt;/em&gt; of the two functions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is a &lt;code&gt;Zpower&lt;/code&gt; function in the standard library, defined recursively:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;Fixpoint iter_pos (n:positive) (A:Type) (f:A -&amp;gt; A) (x:A) {struct n} : A :=&#xA;  match n with&#xA;    | xH =&amp;gt; f x&#xA;    | xO n' =&amp;gt; iter_pos n' A f (iter_pos n' A f x)&#xA;    | xI n' =&amp;gt; f (iter_pos n' A f (iter_pos n' A f x))&#xA;  end.&#xA;Definition Zpower_pos (z:Z) (n:positive) := iter_pos n Z (fun x:Z =&amp;gt; z * x) 1.&#xA;Definition Zpower (x y:Z) :=&#xA;    match y with&#xA;      | Zpos p =&amp;gt; Zpower_pos x p&#xA;      | Z0 =&amp;gt; 1&#xA;      | Zneg p =&amp;gt; 0&#xA;    end.&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Here's a quick-and-dirty proof that your function is equal to &lt;code&gt;Zpower&lt;/code&gt; for nonnegative exponents.&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;Lemma neq_int_bool : forall x y, eq_int_bool x y = false &amp;lt;-&amp;gt; x &amp;lt;&amp;gt; y.&#xA;Proof.&#xA;  intros.&#xA;  pose (A := eq_int_bool_axiom x y); clearbody A.&#xA;  split; intros.&#xA;  intro E; apply &amp;lt;- A in E. assert (false = true); solve [eauto with bool].&#xA;  case_eq (eq_int_bool x y); intro E.&#xA;  apply -&amp;gt; A in E. elimtype False. solve [auto with bool].&#xA;  reflexivity.&#xA;Qed.&#xA;&#xA;Lemma pow_x_0 : forall b, pow b 0 = 1.&#xA;Proof.&#xA;  intros; rewrite _jc_axiom_sum.&#xA;  replace (eq_int_bool 0 0) with true. reflexivity.&#xA;  symmetry. apply &amp;lt;- eq_int_bool_axiom. reflexivity.&#xA;Qed.&#xA;&#xA;Lemma pow_nat_is_power :&#xA;  forall b n, pow b (Z_of_nat n) = Zpower b (Z_of_nat n).&#xA;Proof.&#xA;  induction n; simpl.&#xA;  apply pow_x_0.&#xA;  rewrite _jc_axiom_sum.&#xA;  replace (eq_int_bool (Zpos (P_of_succ_nat n)) 0) with false.&#xA;  replace (Zpos (P_of_succ_nat n) - 1) with (Z_of_nat n).&#xA;  rewrite IHn; clear IHn.&#xA;  rewrite Zpower_pos_nat. rewrite nat_of_P_o_P_of_succ_nat_eq_succ.&#xA;  replace (S n) with (1 + n)%nat. 2: solve [auto with arith].&#xA;  rewrite Zpower_nat_is_exp.&#xA;  unfold Zpower_nat at 1; simpl.&#xA;  replace (b * 1) with b. 2: solve [auto with zarith]. f_equal.&#xA;  destruct n; simpl.&#xA;  reflexivity.&#xA;  rewrite Zpower_pos_nat. rewrite nat_of_P_o_P_of_succ_nat_eq_succ. reflexivity.&#xA;  rewrite Zpos_P_of_succ_nat. solve [auto with zarith].&#xA;  symmetry. apply &amp;lt;- neq_int_bool. intro; discriminate.&#xA;Qed.&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;What about negative exponents? Your function is underspecified; you may want to try to coerce a more precise specification out of Jessie. One possibility is that &lt;code&gt;pow b e = 0&lt;/code&gt; whenever &lt;code&gt;e &amp;lt; 0&lt;/code&gt;, which would make &lt;code&gt;pow&lt;/code&gt; extensionally equal to &lt;code&gt;Zpower&lt;/code&gt;. But it's also possible that &lt;code&gt;pow 1 e = 1&lt;/code&gt; whenever &lt;code&gt;e &amp;lt; 0&lt;/code&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can also prove properties of the function independently of the function's definition. For example, you can use induction on the arguments to prove interesting properties like&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;Lemma pow_plus :&#xA;  forall b n1 n2,&#xA;    pow b (Z_of_nat n1 + Z_of_nat n2) =&#xA;    pow b (Z_of_nat n1) * pow b (Z_of_nat n2).&#xA;Proof.&#xA;  induction n2.&#xA;  (*same techniques as above*)&#xA;Qed.&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;" OwnerUserId="634" LastActivityDate="2011-09-10T00:24:42.357" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="8165" PostTypeId="2" ParentId="8151" CreationDate="2011-09-10T01:05:19.040" Score="19" Body="&lt;p&gt;Along the same lines as ratchet freak's answer, if you fill in the non-starred cells in the following matrix, a 3x3 box at a time, always choosing the next box to fill in to be one that shares rows or columns with a box you've already filled in, you get a pattern like the following for the number of choices per step (filling in the top middle box first, the top right box next, etc).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In each 3x3 box after the first, once you've filled in one row or column of the box, three of the remaining six digits are localized to a single row. Choose their locations first, and then fill in the remaining three cells. (So the actual order of which cells to fill in might vary depending on what you already know, but the number of choices is never more than what I've shown.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;After you've filled in these cells the stars are all determined.&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;* * *    9 8 7    6 5 4&#xA;* * *    6 5 4    3 3 2&#xA;* * *    3 2 1    3 2 1&#xA;&#xA;6 5 4    * * *    6 3 3&#xA;3 3 2    * * *    5 3 2&#xA;3 2 1    * * *    4 2 1&#xA;&#xA;6 3 3    6 5 4    * * *&#xA;5 3 2    3 3 2    * * *&#xA;4 2 1    3 2 1    * * *&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;If I've calculated correctly, this gives 87 bits. There's some additional savings to be had in the last 3x3 block, per the comment by Peter Shor: every value is localized to one of four cells, and every row contains at least one cell with only four possible values, so certainly the factors in that block should start with 4 not 6, but I don't understand the remaining factors in Shor's answer.&lt;/p&gt;&#xA;" OwnerUserId="95" LastEditorUserId="95" LastEditDate="2011-09-12T15:51:41.037" LastActivityDate="2011-09-12T15:51:41.037" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="8166" PostTypeId="2" ParentId="8151" CreationDate="2011-09-10T01:10:42.467" Score="3" Body="&lt;p&gt;&lt;strong&gt;Any comments and criticisms welcome&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An approach from compressed sensing seems to provide a range from $69.96$bits to $171.72$bits:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1.)Storing the puzzle implies storing the solution (information theoretically).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2.)The hardest sudoku puzzle seems to have $t(\alpha)\alpha^{2}$ entries for some $t(\alpha)$ that depends on $\alpha$ (For example, $t(3) ~= 2.44444$ to $3$). &lt;a href=&quot;http://www.usatoday.com/news/offbeat/2006-11-06-sudoku_x.htm&quot; rel=&quot;nofollow&quot;&gt;http://www.usatoday.com/news/offbeat/2006-11-06-sudoku_x.htm&lt;/a&gt; &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hence, we have a vector $P$ of length $\alpha^{4}$ that have atmost $t(\alpha)\alpha^{2}$ non-zero entries.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;3.) Take $M$, a $\beta \times \alpha^{4}$ matrix with $\beta \ge 2t(\alpha)\alpha^{2}$ and which has any $2t(\alpha)\alpha^{2}$ columns independent and with entries in $\{0,\pm 1\}$. This matrix is fixed for all instances of the puzzle. $\beta = kt(\alpha)\alpha^{2}$ for some fixed $k$ suffices from UUP.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;4.) Find $V = MP$. This has $\beta$ integers which on average is bounded by $|\alpha^{2}|$ since entries of $M$ are random with entries in $\{0,\pm 1\}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;5.) Storing $V$ needs $\beta\log{\alpha^{2}} = 2kt(\alpha)\alpha^{2}\log{\alpha}$ bits.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In your case, $\alpha = 3$ and $t(\alpha) ~= 3$ and $2kt(\alpha)\alpha^{2}\log{\alpha} = 69.96k$bits to $85.86k$ bits. $k=2$, the minumum required provides roughly $139.92$bits to $171.72bits$ roughly as a lower bound for the average case.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that I have hand-waived some assumptions such as sizes of entries of $MP$ and number of entries one has on average in the puzzle.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$A.)$Of course, it mightbe possible to reduce $k$ from $2$ since in sudoku the position of the sparse entries are not that mutually independent. Each entry on an average $t(\alpha)-1$ entries each in its row, column and sub-box. That is given, that some entries are present in a sub-box or column or row, one can find the odds of entries being present in the same row, column or sub-box.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$B.)$ Each row, column or sub-box is assumed to have on an average $t(\alpha)$ non-zero entries with no-repeating alphabet. This means some types of vectors with $t(\alpha)$ non-zero entries will never occur, thereby reducing the search space of solutions. This could also reduce $k$. For instance, fixing $t(\alpha)$ entries in a sub-box, a row and a column would reduce the search space from ${}^{\alpha^{4}}C_{t(\alpha)\alpha^{2}}$ to ${}^{\alpha^{4}-(3\alpha^{2} - 1)}C_{t(\alpha)\alpha^{2}-3t(\alpha)}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A comment: May be a multi-user arbitrarily correlated Slepian-Wolf model will help make the entries independent while still respecting the atmost $t(\alpha)\alpha^{2}$ non-zero entries criterion. However, if one could use it, one need not have gone through the compressed sensing route. So applicability of Slepian-Wolf might be hard.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$C.)$From an error correction analogy, an even significant reduction may be possible, since in higher dimensions, there could be gaps between the half-the-minimum-distance radii hamming balls around code points with a possibility to correct greater errors. This also should lead to reduction of $k$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$D.)$ $V$ itself can be entropy compressed. If the entries of $V$ are quite similar in sizes, then can we assume that the difference between any two of the entries is atmost $O(\sqrt(V_{max})) = O(\sqrt{|\alpha^{2}|})$? Then if encoding the differences between the entries suffices, this itself will remove the factor $2$ in $\beta\log{\alpha^{2}} = 2kt(\alpha)\alpha^{2}\log{\alpha}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It would be interesting to see if $2k$ can be made equal or less than $2$ using $A.)$, $B.)$, $C.)$ and $D.)$. This would be better than $89$ bits (which is the best so far in other answers) and for the best case better than the absolute minimum for all puzzles which is around $73$bits.&lt;/p&gt;&#xA;" OwnerUserId="5511" LastEditorUserId="5511" LastEditDate="2011-09-11T02:11:00.793" LastActivityDate="2011-09-11T02:11:00.793" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8169" PostTypeId="1" CreationDate="2011-09-10T10:53:09.253" Score="6" ViewCount="1339" Body="&lt;p&gt;I am using some randomized algorithms (particle filters) and I would like to know what is the computational complexity of obtaining one random sample of a continuous distribution (for instance from a multivariate Gaussian), in terms of elemental operations... or what computational complexities have conventional algorithms.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thank you&lt;/p&gt;&#xA;" OwnerUserId="6499" LastEditorUserId="80" LastEditDate="2011-09-11T05:57:31.180" LastActivityDate="2011-09-12T17:41:33.060" Title="Computational complexity of random sampling" Tags="&lt;cc.complexity-theory&gt;&lt;counting-complexity&gt;&lt;randomness&gt;&lt;pr.probability&gt;" AnswerCount="3" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8170" PostTypeId="1" AcceptedAnswerId="8195" CreationDate="2011-09-10T18:52:08.600" Score="21" ViewCount="819" Body="&lt;p&gt;Luca Trevisan showed how many constructions of pseudorandom generators can in fact be thought of as extractor constructions:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.cs.berkeley.edu/~luca/pubs/extractor-full.pdf&quot;&gt;http://www.cs.berkeley.edu/~luca/pubs/extractor-full.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a meaningful converse? I.e., can &quot;natural&quot; constructions of extractors be thought of as pseudorandom generators (PRG) constructions?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Extractor constructions seem to correspond to &lt;em&gt;distributions&lt;/em&gt; over PRGs (such that any distinguisher won't succeed in distinguishing for almost all of them). Are there known applications for this?&lt;/p&gt;&#xA;" OwnerUserId="1621" LastActivityDate="2011-09-17T13:17:41.060" Title="From Extractors to Pseudorandom Generators?" Tags="&lt;cc.complexity-theory&gt;&lt;pseudorandomness&gt;&lt;pseudorandom-generators&gt;&lt;extractors&gt;" AnswerCount="3" CommentCount="0" FavoriteCount="10" ContentLicense="CC BY-SA 3.0" />
  <row Id="8171" PostTypeId="2" ParentId="8169" CreationDate="2011-09-10T20:31:02.267" Score="7" Body="&lt;p&gt;The answer depends on your computational model. Sometimes people just assume you can generate a Gaussian as a unit operation. However, if all you can generate is, say, random bits, and you want an approximate Gaussian, the complexity depends on the approximation you want. &lt;/p&gt;&#xA;" OwnerUserId="1621" LastActivityDate="2011-09-10T20:31:02.267" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8172" PostTypeId="2" ParentId="6539" CreationDate="2011-09-10T21:58:51.980" Score="10" Body="&lt;p&gt;I used a Gröbner basis to help find a short proof of a new dichotomy theorem for #CSP problems over 3-regular graphs with a single binary constraint function that has complex weights (&lt;a href=&quot;http://arxiv.org/abs/1108.3383&quot;&gt;arXiv version&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is natural equivalence relation over the set of constraint functions, namely, $f \sim g$ if $\#\operatorname{CSP}(f) = \#\operatorname{CSP}(g)$ for all possible instance graphs. For 3-regular graphs, there are fewer equivalence classes than would otherwise exist over all possible graphs. Since a dichotomy theorem only needs to prove the complexity of one constrain function in each equivalence class, this leads to a shorter proof.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The Gröbner basis is used to convert from the initial four variables needed to define a binary function to six &quot;symmetrized variables&quot; that are invariant in each equivalence class (see section D of the paper linked above). However, the Gröbner basis is not mentioned in the paper since its only purpose was the automated transformation from the initial four variables to the six symmetrized variables in various polynomials (which was preformed by &lt;a href=&quot;http://reference.wolfram.com/mathematica/ref/GroebnerBasis.html&quot;&gt;Mathematica's GroebnerBasis&lt;/a&gt;).&lt;/p&gt;&#xA;" OwnerUserId="3964" LastEditorUserId="3964" LastEditDate="2011-09-10T23:14:47.357" LastActivityDate="2011-09-10T23:14:47.357" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8173" PostTypeId="2" ParentId="8170" CreationDate="2011-09-10T23:38:06.157" Score="13" Body="&lt;p&gt;This is a beautiful research question with several facets to it, and there are different ways of formalizing the question depending on whether by extractor you mean seeded extractor or seedless extractor and whether by PRG you mean PRG for Boolean circuits or a more specialized family (e.g., epsilon-biased spaces). Here's a few informal thoughts off the top of my head (but not a full answer):&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;For seeded extractors vs black-box PRGs (as in Nisan-Wigderson), it seems that black-box PRG is a stronger object than extractor. If you look at Trevisan's extractor, it's not only a polynomial-time computable extractor but has an important extra property. Namely, the analysis has a local and efficient computational element in it (namely, a local list-decoding algorithm). This extra feature is not so important for an extractor (as a combinatorial object, even if we require the extractor to be polynomial-time computable) but is crucial for a PRG (so that a distinguisher can be efficiently transformed into an algorithm for computing the hard function). In fact this can be formalized, and Ta-Shma and Zuckerman have already formalized the definition of a &quot;black-box PRG&quot; in their paper &quot;Extractor Codes&quot;. They show that black-box PRGs can be used to construct extractors. For the converse, I think one can show that any extractor that satisfies the above property corresponds to a black-box PRG (in the extractor language, this would mean that the resulting extractor code must have an efficient soft-decision list-decoder). You may also find Vadhan's paper &quot;The Unified Theory of Pseudorandomness&quot; relevant to this discussion.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;In the world of seedless extractors, Trevisan and Vadhan show that hard functions for a specific family of circuits result in extractors for that family (paper &quot;Extractors for Samplable Sources&quot;). So, for example a function that is really hard on average for AC0 can extract from sources sampled by AC0 circuits (if the min-entropy of the source is sufficiently large). Hard functions naturally relate to PRGs (as observed by Nisan-Wigderson). So here we again get a somewhat different interplay between PRGs and seedless extractors. It is however less clear how one can use an extractor for samplable sources (maybe satisfying some additional properties) to get a PRG (the next bullet point gives a partial answer to this). This direction may be less interesting than the above discussion for seeded extractors since to this date we don't have really good constructions of extractors for samplable sources.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;From a combinatorial point of view, there is a similarity between PRGs and extractors. We can look at a PRG as a set $S$ of points in $\{0,1\}^n$ (the outcomes of the PRG for all possible seeds) or equivalently, a coloring of the $n$-dimensional hypercube in two colors. Similarly, an extractor with one bit of output (or any Boolean function, for that matter) can be seen as a set of points (those for which the extractor evaluates $0$) or coloring (in general, the number of colors would be $2^m$ where $m$ is the output length). Now, a PRG with point set $S$ fools a function with point set $F$ iff $|S \cap F|/|S|$ is close to $|F|/2^n$. Also, an extractor with point set $F$ extracts from a flat source that is uniformly distributed on a set of points $S$ iff $|S \cap F|/|S|$ is close to $1/2$. This similarity between the definitions allows one to deduce some meaningful conclusions. For example, look at an affine extractor over $\{0,1\}^n$ that extracts from min-entropy $n-1$, and outputs $1$ bit. Now consider the set $S$ of the strings that are mapped to, say, $0$ by the extractor and translate it as above to a &quot;PRG&quot; (with seed length $n-1$). Now the coloring interpretation above shows that the resulting function is indeed a PRG for linear functions; that is, we get an epsilon-biased generator from an extractor. This is a meaningful relationship but probably not so useful since the resulting PRG stretches the seed only by one bit. Maybe a better result can be deduced if the extractor outputs more bits, but I haven't checked that carefully.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="6190" LastEditorUserId="6190" LastEditDate="2011-09-11T04:23:09.297" LastActivityDate="2011-09-11T04:23:09.297" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="8174" PostTypeId="2" ParentId="8169" CreationDate="2011-09-11T03:22:45.957" Score="5" Body="&lt;p&gt;A related pointer (though not a complete answer) is &lt;a href=&quot;http://cg.scs.carleton.ca/~luc/rnbookindex.html&quot; rel=&quot;noreferrer&quot;&gt;the book by Luc Devroye&lt;/a&gt; on generating random draws from different kinds of distributions. While the book doesn't have detailed complexity analysis, it outlines a number of very specific algorithms for sampling from different densities, and provides good pointers to do a proper running time analysis. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2011-09-11T03:22:45.957" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8176" PostTypeId="2" ParentId="8155" CreationDate="2011-09-11T10:12:26.180" Score="1" Body="&lt;p&gt;I do not think there's a single standard format. igraph library (http://igraph.sourceforge.net/) could be of use, however, as it supports reading/writing of number of different graph formats.&lt;/p&gt;&#xA;" OwnerUserId="6470" LastActivityDate="2011-09-11T10:12:26.180" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8177" PostTypeId="2" ParentId="8161" CreationDate="2011-09-11T12:28:54.313" Score="6" Body="&lt;p&gt;I don't know what the density of common P-complete problems is, but here is a padding argument that shows how to lower any density below $1/n$:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Take your favorite P-complete language $L_n \subseteq \{0,1\}^n$. This language has some density $d(n) \in \omega(1/n)$. Now define $L&amp;#39;_{n + m} = \{x0^m | x \in L_n\}$. In general, $m$ will be some function of $n$, so this might not define $L&amp;#39;$ for all sizes, since we are worried only about the upper density, just make $L&amp;#39;_k = \emptyset$ if $k \neq n + m$. What is the upper density of $L&amp;#39;$? Well, we have &lt;/p&gt;&#xA;&#xA;&lt;p&gt;\[&#xA;d'(n + m) = \frac{|L'_{n + m}|}{2^{n + m}} = \frac{|L_n|}{2^{n + m}} \leq \frac{d(n)}{2^m}&#xA;\] &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now lets use LOG-reductions to build a machine $M$ for $L$ using a machine $M&amp;#39;$ for $L&amp;#39;$. Well, if you are given an input $x$ then simply copy it one bit at a time to the query tape (also use a counter to count what $n$ is), then use a second counter to count upto $m(n)$, adding one every time you add a zero to the query tape (to have log space, we need $m(n) \in poly(n)$ and easily computable). Then query and return the output as your answer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we want to be sure we are smaller than $1/n$ then just pick $m(n) = n$, and then we will have $d&amp;#39;(2n) \leq d(n)/2^n \in O(1/n)$.&lt;/p&gt;&#xA;" OwnerUserId="1037" LastActivityDate="2011-09-11T12:28:54.313" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="8178" PostTypeId="1" AcceptedAnswerId="8188" CreationDate="2011-09-11T13:41:59.090" Score="14" ViewCount="764" Body="&lt;p&gt;There are a number of problems in combinatorial representation theory and algebraic geometry for which no positive formula is known. There are several examples I am thinking of, but let me take computing &lt;a href=&quot;http://en.wikipedia.org/wiki/Kronecker_coefficient&quot;&gt;Kronecker coefficients&lt;/a&gt; as my example. Usually, the notion of &quot;positive formula&quot; is not precisely defined in combinatorics, but it roughly means &quot;a description as the cardinality of seem reasonably explicit set&quot;. Recently, I've been talking to Jonah Blasiak, and he's been convincing me that the right definition of &quot;positive formula&quot; is &lt;a href=&quot;http://en.wikipedia.org/wiki/Sharp-P&quot;&gt;#P&lt;/a&gt;. I'm going to assume that, on this site, I don't need to define #P.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.dmtcs.org/dmtcs-ojs/index.php/proceedings/article/viewFile/dmAJ0131/2487&quot;&gt;Buergisser and Ikenmeyer&lt;/a&gt; show that Kronecker coefficients are #P hard. (They are also always positive, because they are tensor product multiplicities.) But I am reasonably sure that no one knows a way of computing them which even gets them into #P.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, suppose that I were to actually make an attempt at proving Kronecker coefficients aren't in #P. I assume that what I would do is assume some complexity theoretic conjecture and then reduce Kronecker product to some other problem which is known to be complete for a class larger than #P. &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What conjecture might I assume, and what problem might I try to reduce to?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;hr&gt; &#xA;&lt;strong&gt;ADDED:&lt;/strong&gt; As has been pointed out in the comments, Buergisser and Ikenmeyer show that Kronecker coefficients are in Gap-P, which is pretty close to #P. So it sounds like the questions I should be asking are (1) What are some Gap-P-complete problems I could plausibly reduce to and (2) what are the prospects of showing that Gap-P is not #P? I guess (2) should break up into two parts (2a) do experts believe these classes are different? and (2b) are there any likely strategies to prove it?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I hope that this much editing of the question is not frowned on. &lt;/p&gt;&#xA;" OwnerUserId="6508" LastEditorUserId="6508" LastEditDate="2011-09-11T21:30:19.833" LastActivityDate="2012-04-18T04:42:30.527" Title="How can I show a Gap-P problem is outside #P" Tags="&lt;cc.complexity-theory&gt;&lt;counting-complexity&gt;&lt;lower-bounds&gt;" AnswerCount="3" CommentCount="8" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="8180" PostTypeId="5" CreationDate="2011-09-11T14:26:46.983" Score="0" Body="&lt;p&gt;A hardness result (a.k.a. universality) shows that any problem in a complexity class is reducible to a particular problem. When the problem is also inside that complexity class we say that the problem is complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An example of a famous hardness/completeness result is the hardness/completeness of the satisfiability problem for the complexity class $\mathsf{NP}$ (known as Cook-Levin theorem). the theorem shows that one can solve any problem in $\mathsf{NP}$ if one can solve the satisfiability problem. In other words, SAT is a universal problem for the complexity class $\mathsf{NP}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A hardness result should not be confused with a lowerbound. A lowerbound shows that the problem is not computable with certain amount of resources and is not in a class whereas a hardness results shows that any problem in that class can be reduced to that particular problem. For question about lowerbounds use &lt;a href=&quot;/questions/tagged/lower-bounds&quot; class=&quot;post-tag&quot; title=&quot;show questions tagged 'lower-bounds'&quot; rel=&quot;tag&quot;&gt;lower-bounds&lt;/a&gt; tag.&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2011-09-11T14:26:46.983" LastActivityDate="2011-09-11T14:26:46.983" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8181" PostTypeId="4" CreationDate="2011-09-11T14:26:46.983" Score="0" Body="hardness of a problem for a class" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2011-09-11T14:26:46.983" LastActivityDate="2011-09-11T14:26:46.983" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8182" PostTypeId="2" ParentId="739" CreationDate="2011-09-11T14:58:41.510" Score="4" Body="&lt;p&gt;Igraph package has different types of graph generator including both random graphs and structured graphs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://igraph.sourceforge.net/doc/html/igraph-Generators.html&quot; rel=&quot;nofollow&quot;&gt;http://igraph.sourceforge.net/doc/html/igraph-Generators.html&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="6059" LastActivityDate="2011-09-11T14:58:41.510" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8184" PostTypeId="2" ParentId="8151" CreationDate="2011-09-11T19:57:14.227" Score="5" Body="&lt;p&gt;You don't need a full look-up table to achieve optimal compressibility. I believe that modern computers using a very reasonable look-up table are able to count the number of &lt;em&gt;constrained&lt;/em&gt; Sudokus, which are Sudokus with some digits already in place. Using this, here's how you encode (decoding is similar).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Fix an ordering of the squares. Suppose the number on the first square is $d_1$. Put $N_1$ to be the number of Sudokus whose first square is less than $d_1$. Let now $d_2$ be the number of the second square. Put $N_2$ to be the number of Sudokus whose first square is $d_1$ and whose second square is less than $d_2$. And so on. The encoded number is $N = \sum_i N_i$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This method of encoding is known as &lt;em&gt;binomial encoding&lt;/em&gt; in the literature. It should enable you to effectively (in a real-world sense) calculate the index of any given Sudoku, and vice versa. You will then require only $72.4$ bits, as alluded to above (this means that you could code several of them with that average number of bits).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit: The Wikipedia page on the &lt;a href=&quot;http://en.wikipedia.org/wiki/Mathematics_of_Sudoku#Method_and_algorithm_details_for_the_9.C3.979_grid_direct_enumeration&quot; rel=&quot;nofollow&quot;&gt;mathematics of Sudoku&lt;/a&gt; helps us clarify the picture. Also helpful is a table compiled by &lt;a href=&quot;http://www.afjarvis.staff.shef.ac.uk/sudoku/ed44.html&quot; rel=&quot;nofollow&quot;&gt;Ed Russell&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It turns out that if you consider only the top three rows, then there are essentially only 44 different configurations to consider. In the table, you can find the total number of configurations equivalent to any given one (assuming that the top row is 123456789), and the total number of completions of each one. Given a Sudoku, here is how we would compute its ordinal number:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Normalize the configuration so that its top row is 123456789.&lt;/li&gt;&#xA;&lt;li&gt;Find out which of the 44 different configurations it belongs to. The Wikipedia article gives an algorithm for that. The table lists the number of equivalence classes for each configuration, as well as the number of completions.&lt;/li&gt;&#xA;&lt;li&gt;Determine the ordinal number of the configuration of the top three rows inside its equivalence class. This can be done in two ways: either using a list of all the equivalence class (there are 36288 in total in all equivalence classes), or by finding a way to quickly enumerate all of them.&lt;/li&gt;&#xA;&lt;li&gt;Normalize the remaining rows by sorting rows 4-6 and 7-9 by their first column, and then sorting these two blocks of rows in some arbitrary way. This reduces the number of completions by a factor of 72.&lt;/li&gt;&#xA;&lt;li&gt;Enumerate all completions having the same first column. There are about $2^{20}$ of them for each equivalence class, so that shouldn't take too long. Some tradeoffs are possible here as well.&lt;/li&gt;&#xA;&lt;li&gt;Let $i$ be the equivalence class, $j$ be the ordinal number of the configuration of the top three rows within the equivalence class, $k$ be the ordinal number of the completion. There are two arrays $C_i,D_i$ (which can be computed from Ed Russell's table) such that $C_i + jD_i + k$ is the ordinal number of the Soduko up to the $9! \cdot 72$ symmetries considered. From that you can compute the actual ordinal number.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;This procedure is reversible, and will generate a Sudoku from an ordinal number. Note that Sudoku enumeration has been reduced to a few minutes (in 2006; see the talk page of the Wikipedia article) or less, so I expect that on a modern computer this approach would be very practical and take a few seconds or less.&lt;/p&gt;&#xA;" OwnerUserId="40" LastEditorUserId="40" LastEditDate="2013-01-28T22:43:39.590" LastActivityDate="2013-01-28T22:43:39.590" CommentCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="8185" PostTypeId="1" AcceptedAnswerId="8203" CreationDate="2011-09-11T20:42:57.503" Score="2" ViewCount="1247" Body="&lt;p&gt;I read about &lt;a href=&quot;http://en.wikipedia.org/wiki/Potential_method&quot; rel=&quot;nofollow&quot;&gt;Potential Method&lt;/a&gt; when I was trying to understand some calculations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I just can't understand how do you perform the calculation it self. How can you even define $O(n)-O(n)$ as it is used in the Wikipedia page? I just don't understand where is the calculation done.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there any good and simple example of this kind of analysis?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Shay&lt;/p&gt;&#xA;" OwnerUserId="6514" LastEditorUserId="567" LastEditDate="2011-09-11T21:11:06.273" LastActivityDate="2017-03-25T13:26:59.177" Title="Amortized Analysis - Potential Method" Tags="&lt;ds.algorithms&gt;&lt;amortized-analysis&gt;" AnswerCount="1" CommentCount="8" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8187" PostTypeId="2" ParentId="739" CreationDate="2011-09-11T22:12:23.817" Score="4" Body="&lt;p&gt;There is an interesting and promising new community-based project for a graph database:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Introducing paper&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://arxiv.org/abs/1109.1465&quot; rel=&quot;nofollow&quot;&gt;The Open Graph Archive: A Community-Driven Effort&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;or the direct link&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.graph-archive.org/&quot; rel=&quot;nofollow&quot;&gt;Graph-Archive.org&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Time will show if it is a good place to go for test instances.&lt;/p&gt;&#xA;" OwnerUserId="2517" LastActivityDate="2011-09-11T22:12:23.817" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8188" PostTypeId="2" ParentId="8178" CreationDate="2011-09-11T22:26:12.343" Score="12" Body="&lt;p&gt;I'd suggest looking at properties of #P functions that are different than Gap-P functions. For example, determining if a #P function is zero is in co-NP. If you could show determining whether the Kronecker coefficients is zero is UP-hard then you would have &quot;Kronecker coefficients in #P implies UP in co-NP&quot;, an unlikely conclusion. &lt;/p&gt;&#xA;" OwnerUserId="550" LastActivityDate="2011-09-11T22:26:12.343" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8190" PostTypeId="2" ParentId="5867" CreationDate="2011-09-11T23:31:01.833" Score="2" Body="&lt;p&gt;Your statement is a little ambiguous: first you write that &quot;...such that no edge is incident between the nodes in $R$&quot;, but the next paragraph implies that there are also no edges between vertices in $A$. I'll also assume that the stars are disjoint, and that you count all edges (including those initially present in the stars). Let's also assume there are at least two stars, and at least one of them has degree $\ge 2$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In that case, you cannot beat the $2N-4$ bound ($N$ = number of all vertices). Consider a slightly different scenario: start with any set of $N$ vertices, some red some black, at least two of each kind. At each step add arbitrarily an edge between a red and a black vertex, as long as it does not create intersections or duplicate edges. I claim that when you get stuck, all cycles have length $4$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Your scenario is a special case of this process where you start by first creating stars and then later adding the remaining edges. If all cycles have length $4$, the $2N-4$ bound follows. More generally, it shows that no matter what bipartite graph you start from, you can always complete it to a quadrilaterated (a word I made it up) graph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, let's show the claim. In this process, all paths will have alternating black and red vertices and each cycle will have length at least $4$. If the graph is not connected, you can connect any red vertex on the outer face of one component with a black vertex on the other face of another component. So we can assume the graph is already connected.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose you have a face $F$ of length $6$ or more. $F$ must have at least three black vertices (some possibly equal). If some vertex $x$ is repeated on $F$, take two clockwise consecutive appearances of $x$, say $x-a-...-x-b...$. $F$ must contain a black vertex $z\neq x$, so, depending on the location of $z$, we could connect either $a$ or $b$ to $z$ inside $F$ without duplicating edges. If no vertex is repeated, pick a clockwise section $x-a-y-b-z$ of $F$, where $x,y,z$ are black and $a,b$ are red. If $x$ is connected to $b$ then $a$ cannot be connected to $z$ (by planarity), so we can add one of the edges $(x,b)$, $(a,z)$ inside $F$.&lt;/p&gt;&#xA;" OwnerUserId="1616" LastActivityDate="2011-09-11T23:31:01.833" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8191" PostTypeId="2" ParentId="7291" CreationDate="2011-09-11T23:58:08.200" Score="3" Body="&lt;p&gt;In coding theory, Belief Propagation is heavily used as a good heuristic for decoding (either explicit or randomly generated) LDPC codes in various settings (e.g., for the erasure channel, you want to satisfy all constraints more quickly than Gaussian elimination. For noisy channels, you want to find the &quot;best fit&quot;, etc). I think techniques used there are directly relevant to your question. You may want to have a look at the book &quot;Modern Coding Theory&quot; by Urbanke and Richardson for an extensive discussion.&lt;/p&gt;&#xA;" OwnerUserId="6190" LastActivityDate="2011-09-11T23:58:08.200" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8192" PostTypeId="1" CreationDate="2011-09-12T03:29:07.713" Score="2" ViewCount="123" Body="&lt;p&gt;I am looking for a reference where I can learn a reasonably systematic approach to how to specify a formal grammar for a given syntax.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By a &quot;formal grammar&quot; I mean something like a BNF description.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Implicit in this question is the assumption that one can draw a meaningful distinction between &quot;a syntax&quot; and &quot;a grammar&quot;.  It is my understanding that this is the case, since many different (formal) grammars can represent the same syntax.  But please correct me if my understanding is wrong.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The only model I can think of for the kind of reference I'm looking for is Friedl's &lt;a href=&quot;http://books.google.com/books/about/Mastering_regular_expressions.html?id=NYEX-Q9evKoC&quot; rel=&quot;nofollow&quot;&gt;book&lt;/a&gt; on regular expressions.  Its presentation is somewhat informal, but it devotes a fair bit of space to the problem of translating a verbal description of a pattern into a formal description in the form of a regular expression.  The key is that Friedl's book is focused on the practical problem of specifying regular expressions correctly.  I am interested in the practical problem of specifying a formal grammar correctly.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks!&lt;/p&gt;&#xA;" OwnerUserId="3529" LastActivityDate="2011-09-12T03:29:07.713" Title="Ref request: grammar specification how-to" Tags="&lt;reference-request&gt;&lt;grammars&gt;&lt;parsing&gt;" AnswerCount="0" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="8193" PostTypeId="1" CreationDate="2011-09-12T10:46:19.820" Score="0" ViewCount="211" Body="&lt;p&gt;Say we want to split a cube in $\mathbb{R}^{64}$ into 10 pieces.&#xA;NN, nearest-neighbor or Voronoi splits,&#xA;take 10 cluster centres $c_0, \ldots, c_9$ in the cube,&#xA;e.g. from &lt;a href=&quot;http://en.wikipedia.org/wiki/Kmeans&quot; rel=&quot;nofollow&quot;&gt;K-means&lt;/a&gt;,&#xA;then classify a new data point $x$ by finding its nearest centre:&#xA;$$\text{NN}( x, c_0, \ldots, c_9 ) \equiv \text{argmin}_j\ \| x - c_j \| \text.$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Kmeans centres are averages of data points, so fall near the data.&lt;br&gt;&#xA;Could allowing centres outside the data give better splits ?&lt;br&gt;&#xA;Is there a variant of Kmeans which converges e.g. to SVM weights,&#xA;viewed as points in the data space ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As Suresh Venkat points out, &quot;better&quot; splitting,&#xA;better classification, is hard to define.&lt;/p&gt;&#xA;" OwnerUserId="4355" LastEditorUserId="4355" LastEditDate="2011-09-14T09:06:31.493" LastActivityDate="2011-09-14T09:06:31.493" Title="K-means with centres outside the data?" Tags="&lt;machine-learning&gt;&lt;clustering&gt;&lt;svm&gt;" AnswerCount="1" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="8194" PostTypeId="2" ParentId="5622" CreationDate="2011-09-12T10:59:37.177" Score="1" Body="&lt;p&gt;&lt;a href=&quot;https://stackoverflow.com/questions/5452576/k-means-algorithm-variation-with-equal-cluster-size&quot;&gt;k-means-algorithm-variation-with-equal-cluster-size&lt;/a&gt;&#xA;has Python code:&#xA;&quot;A simple greedy postprocess after k-means may be good enough, if your clusters from k-means are roughly equal-sized.&quot;&lt;/p&gt;&#xA;" OwnerUserId="4355" LastEditorUserId="-1" LastEditDate="2017-05-23T12:40:09.333" LastActivityDate="2011-09-12T10:59:37.177" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8195" PostTypeId="2" ParentId="8170" CreationDate="2011-09-12T12:16:14.220" Score="14" Body="&lt;p&gt;Salil Vadhan wrote to me that the answer to my question is known, and PRGs are equivalent to extractors.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Quoting him:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&quot;See Proposition 21 and the discussion following it in my survey &lt;a href=&quot;http://people.seas.harvard.edu/~salil/research/unified-icm.pdf&quot; rel=&quot;noreferrer&quot;&gt;http://people.seas.harvard.edu/~salil/research/unified-icm.pdf&lt;/a&gt;&#xA;(There's a typo - &quot;black-box hardness amplifier&quot; should be &quot;black-box PRG construction&quot;)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It says extractors are &lt;em&gt;equivalent&lt;/em&gt; to black-box PRG constructions where you only care about the amount of advice, and not the running time, in the reduction.  Asking for bounded running time amounts to asking for extractors with &quot;local list-decoding&quot;.&quot;&lt;/p&gt;&#xA;" OwnerUserId="1621" LastActivityDate="2011-09-12T12:16:14.220" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8196" PostTypeId="1" AcceptedAnswerId="8221" CreationDate="2011-09-12T14:33:54.020" Score="18" ViewCount="6346" Body="&lt;p&gt;What is the complexity (on the standard integer RAM) of computing the standard &lt;a href=&quot;http://en.wikipedia.org/wiki/Discrete_Fourier_transform&quot; rel=&quot;nofollow noreferrer&quot;&gt;discrete Fourier transform&lt;/a&gt; of a vector of $n$ integers?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The classical &lt;a href=&quot;http://en.wikipedia.org/wiki/Cooley%E2%80%93Tukey_FFT_algorithm&quot; rel=&quot;nofollow noreferrer&quot;&gt;algorithm for fast Fourier transforms&lt;/a&gt;, inappropriately&lt;sup&gt;[1]&lt;/sup&gt; attributed to Cooley and Tukey, is usually described as running in $O(n \log n)$ time.  But most of the arithmetic operations executed in this algorithm start with complex $n$th roots of unity, which are (for most $n$) irrational, so exact evaluation in constant time is not reasonable.  The same issue arises with the naive $O(n^2)$-time algorithm (multiplying by a Vandermonde matrix of complex roots of unity).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's not even clear how to represent the output of the DFT exactly (in any useful form).  In other words, it's not clear that computing DFTs is actually possible!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So suppose we only need $b$ bits of precision in each output value.  &lt;b&gt;What's the complexity of computing the discrete Fourier transform, as a function of $n$ and $b$?&lt;/b&gt;  (For concreteness, feel free to assume $n$ is a power of $2$.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Or does &lt;em&gt;every&lt;/em&gt; instance of &quot;FFT&quot; in the literature actually mean &quot;fast &lt;a href=&quot;http://en.wikipedia.org/wiki/Number-theoretic_transform#Number-theoretic_transform&quot; rel=&quot;nofollow noreferrer&quot;&gt;number-theoretic transform&lt;/a&gt;&quot;?&lt;sup&gt;[2]&lt;/sup&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See my related questions on the complexity of &lt;a href=&quot;https://cstheory.stackexchange.com/questions/3921/what-is-the-actual-time-complexity-of-gaussian-elimination&quot;&gt;Gaussian elimination&lt;/a&gt; and &lt;a href=&quot;https://cstheory.stackexchange.com/questions/4034/complexity-of-computing-shortest-paths-in-the-plane-with-polygonal-obstacles&quot;&gt;Euclidean shortest paths&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;sub&gt;&lt;sup&gt;[1]&lt;/sup&gt; It should really be called (some prefix of) the Gauss-Runge-König-Yates-Stumpf-Danielson-Lánczos-Cooley-Tukey algorithm.&lt;/sub&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;sub&gt;&lt;sup&gt;[2]&lt;/sup&gt; And if so, why do most textbooks describe only the complex-number algorithm?&lt;/sub&gt;&lt;/p&gt;&#xA;" OwnerUserId="111" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2011-09-13T21:12:53.127" Title="Complexity of computing the discrete Fourier transform?" Tags="&lt;ds.algorithms&gt;&lt;time-complexity&gt;&lt;computing-over-reals&gt;&lt;computable-analysis&gt;" AnswerCount="2" CommentCount="22" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="8197" PostTypeId="1" CreationDate="2011-09-12T15:09:51.917" Score="6" ViewCount="421" Body="&lt;p&gt;I've been messing around with functional programming languages for a few years, and I keep encountering this phrase.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I understand what lambda means, the idea of an anonymous function is both simple and powerful, but I fail to understand what &quot;the ultimate&quot; means in this context.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I feel like I'm missing a reference here, can anyone help?&lt;/p&gt;&#xA;" OwnerUserId="4473" LastEditorUserId="80" LastEditDate="2011-09-12T15:30:04.490" LastActivityDate="2011-09-12T15:30:04.490" Title="What is the origin and meaning of the phrase &quot;Lambda the ultimate?&quot;" Tags="&lt;soft-question&gt;&lt;terminology&gt;&lt;functional-programming&gt;&lt;lambda-calculus&gt;" AnswerCount="0" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="8199" PostTypeId="1" CreationDate="2011-09-12T17:27:13.517" Score="6" ViewCount="260" Body="&lt;p&gt;As a follow-up to my question &lt;a href=&quot;https://cstheory.stackexchange.com/q/8153/962&quot;&gt;Regular expressions without alternation&lt;/a&gt;, I was wondering what was known about the power of regular expressions in which union is not allowed but backreferences are.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm familiar with a number of papers discussing regular expressions with the addition of backreferences, but none that I've seen address the union-free version. This class would be incomparable with the class of regular languages, but are they as hard to recognize as full regular expressions with backreferences?  (I've seen several terms used for this; none seem to be standard.)  In the case without backreferences, removing union seems to reduce expressibility without making membership tests much/any faster.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As before union means the same as alternation, logical OR, | (in standard regexes), / (ABNF), ∪, etc.&lt;/p&gt;&#xA;" OwnerUserId="962" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2011-09-13T14:09:14.163" Title="Regular expressions without union but with backreferences" Tags="&lt;fl.formal-languages&gt;&lt;regular-expressions&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="8200" PostTypeId="1" AcceptedAnswerId="8202" CreationDate="2011-09-12T17:40:27.240" Score="28" ViewCount="4023" Body="&lt;p&gt;Given a regular language (NFA, DFA, grammar, or regex), how can the number of accepting words in a given language be counted?  Both &quot;with exactly n letters&quot; and &quot;with at most n letters&quot; are of interest.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.cs.fsu.edu/~ackerman/&quot; rel=&quot;noreferrer&quot;&gt;Margareta Ackerman&lt;/a&gt; has two papers on the related subject of enumerating words accepted by an NFA, but I wasn't able to modify them to count efficiently.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It seems like the restricted nature of regular languages should make counting them relatively easy -- I almost expect a formula more than an algorithm  Unfortunately my searches so far haven't turned up anything, so I must be using the wrong terms.&lt;/p&gt;&#xA;" OwnerUserId="962" LastEditorUserId="123" LastEditDate="2016-12-19T19:31:31.060" LastActivityDate="2020-10-24T15:19:00.413" Title="Counting words accepted by a regular grammar" Tags="&lt;ds.algorithms&gt;&lt;co.combinatorics&gt;&lt;fl.formal-languages&gt;&lt;regular-language&gt;" AnswerCount="5" CommentCount="1" FavoriteCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="8201" PostTypeId="2" ParentId="8169" CreationDate="2011-09-12T17:41:33.060" Score="2" Body="&lt;p&gt;Donald Knuth's &lt;a href=&quot;http://en.wikipedia.org/wiki/The_Art_of_Computer_Programming#Chapters&quot; rel=&quot;nofollow&quot;&gt;The Art of Computer Programming&lt;/a&gt; has algorithms for generating many common distributions in volume two, chapter three.&lt;/p&gt;&#xA;" OwnerUserId="1546" LastActivityDate="2011-09-12T17:41:33.060" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8202" PostTypeId="2" ParentId="8200" CreationDate="2011-09-12T17:56:16.170" Score="38" Body="&lt;p&gt;For a DFA, in which the initial state is state $0$, the number of words of length $k$ that end up in state $i$ is $A^k[0,i]$, where $A$ is the transfer matrix of the DFA (a matrix in which the number in row $i$ and column $j$ is the number of different input symbols that cause a transition from state $i$ to state $j$). So you can count accepting words of length exactly $k$ easily, even when $k$ is moderately large, just by calculating a matrix power and adding the entries corresponding to accepting states.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The same thing works for accepting words of length at most $k$, with a slightly different matrix. Add an extra row and column of the matrix, with a one in the cell that's both in the row and the column, a one in the new row and the column of the initial state, and a zero in all the other cells. The effect of this change to the matrix is to add one more path to the initial state at each power.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This doesn't work for NFAs. I suspect the best thing to do is just convert to a DFA and then apply the matrix powering algorithm.&lt;/p&gt;&#xA;" OwnerUserId="95" LastEditorUserId="95" LastEditDate="2011-09-12T18:02:56.580" LastActivityDate="2011-09-12T18:02:56.580" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="8203" PostTypeId="2" ParentId="8185" CreationDate="2011-09-12T18:11:09.047" Score="5" Body="&lt;p&gt;&lt;a href=&quot;http://theory.cs.uiuc.edu/~jeffe/teaching/algorithms/notes/15-amortize.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://theory.cs.uiuc.edu/~jeffe/teaching/algorithms/notes/15-amortize.pdf&lt;/a&gt; specifically for amortization, and &lt;a href=&quot;http://theory.cs.uiuc.edu/~jeffe/teaching/algorithms/&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://theory.cs.uiuc.edu/~jeffe/teaching/algorithms/&lt;/a&gt; generally&lt;/p&gt;&#xA;" OwnerUserId="43" LastEditorUserId="8237" LastEditDate="2017-03-25T13:26:59.177" LastActivityDate="2017-03-25T13:26:59.177" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8204" PostTypeId="2" ParentId="8200" CreationDate="2011-09-12T18:47:01.130" Score="18" Body="&lt;p&gt;Let $A = (Q = \{q_1, \dots, q_n\}, \Sigma, \delta, Q_F)$ be a (nondeterministic) finite automation with starting state $q_1$, $Q_F \subseteq Q$ and $\delta \subseteq Q\times\Sigma\times Q$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $Q_i(z)$ the generating function for all the words that can be accepted starting in $q_i$, that is the $n$th coefficient of its series expansion $[z^n]Q_i = |\{w \mid |w| = n \wedge w \text{ accepted from } q_i\}|$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Clearly:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$Q_i(z) = \left[ q_i \in Q_F \right] + \sum\limits_{(q_i, a, q_j) \in \delta} x \cdot Q_j(z)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Solve the resulting (linear) equation system for $Q_1$ (using Mathematica or a similar tool). Then, $[z^n]Q_1$ is the desired quantity.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This goes back to a technique introduced for grammars by Chomsky and Schützenberger (1963); it easily transfers to finite automata.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit:&lt;/strong&gt; If you want to account for $\varepsilon$-transitions, just leave out factor $x$ in the sum for the corresponding transition. Similiarly, if you have &quot;compressed&quot; edges, i.e. instead of symbol $a \in \Sigma$ a word $w \in \Sigma^k$ on a transition, replace $x$ with $x^k$.&lt;/p&gt;&#xA;" OwnerUserId="1546" LastEditorUserId="1546" LastEditDate="2011-09-25T09:28:27.907" LastActivityDate="2011-09-25T09:28:27.907" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="8205" PostTypeId="1" AcceptedAnswerId="8215" CreationDate="2011-09-12T21:53:31.620" Score="6" ViewCount="152" Body="&lt;p&gt;If we're given a boolean function $f : \{0,1\}^n \rightarrow \{0,1\}$, we can define its sensitivity as follows. The sensitivity $s(f, w)$ with respect to input $w$ is the number of ways of flipping a single bit of $w$ and changing the value of $f$. The sensitivity of $f, s(f)$ is then the maximum sensitivity with respect to any $w \in \{0,1\}^n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If on the other hand we're given a real-valued function $f : \mathbb{R}^n \rightarrow \mathbb{R}$, we can talk about its Lipschitz constants: specifically, the maximum value (wrt $x,\epsilon$) of the ratio $\frac{|f(x+\epsilon) - f(x)|}{\epsilon}$ as a kind of &quot;smooth sensitivity&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What if we combine the two ? Suppose we have a function that takes parameters in a continuous domain, but whose output is discrete (one example might be a binary classifier, where the function is the sign of an appropriate hyperplane evaluation for example). Is there a natural notion that captures sensitivity in such a setting ? Boolean sensitivity doesn't work itself because you have to choose how much to perturb the inputs. Smooth perturbations don't quite work because the function is not continuous, and so any ratio would be rather unstable. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I suspect that either such a notion is very well known, or follows directly from the above, and so I'd be grateful for suggestions to reformulate the question/make it more precise. &lt;/p&gt;&#xA;" OwnerUserId="80" LastEditorUserId="186" LastEditDate="2011-09-12T21:59:43.960" LastActivityDate="2011-09-13T14:45:21.937" Title="Combining (block)-sensitivity and Lipschitz conditions?" Tags="&lt;co.combinatorics&gt;&lt;terminology&gt;&lt;boolean-functions&gt;&lt;function&gt;" AnswerCount="1" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="8207" PostTypeId="2" ParentId="8178" CreationDate="2011-09-12T23:54:31.657" Score="3" Body="&lt;p&gt;GapP is exactly the closure of #P under subtraction. On the other hand, #P is not closed under subtraction unless UP=PP. I believe that answers your questions.  &lt;/p&gt;&#xA;" OwnerUserId="1590" LastEditorUserId="1590" LastEditDate="2011-09-14T23:45:13.060" LastActivityDate="2011-09-14T23:45:13.060" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="8208" PostTypeId="1" AcceptedAnswerId="8219" CreationDate="2011-09-13T10:51:42.600" Score="10" ViewCount="1078" Body="&lt;p&gt;A language $L$ is in the class $DP$ iff there are two languages $L1 \in NP$ and $L2 \in coNP$ such that $L = L1 \cap L2$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A canonical $DP$-complete problem is SAT-UNSAT : given two 3-CNF expressions, $F$ and $G$, is it true that $F$ is satisfiable and $G$ is not?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The Critical SAT problem is also known to be $DP$-complete : Given a 3-CNF expression $F$, is it true that $F$ is unsatisfiable but deleting any clause makes it satisfiable?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am considering the following variant of the Critical SAT problem : Given a 3-CNF expression $F$, is it true that $F$ is satisfiable but adding any 3-clause (out of $F$ but using the same variables as $F$) makes it unsatisfiable?&#xA;But I don't succeed in finding a reduction from SAT-UNSAT or even prove it is $NP$ or $coNP$ hard.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question: is this variant DP-complete ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thank you for your answers. &lt;/p&gt;&#xA;" OwnerUserId="6346" LastEditorUserId="6346" LastEditDate="2011-11-27T12:33:39.223" LastActivityDate="2011-11-27T12:33:39.223" Title="A variant of Critical SAT in DP" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;&lt;complexity-classes&gt;&lt;sat&gt;" AnswerCount="2" CommentCount="21" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="8210" PostTypeId="2" ParentId="6539" CreationDate="2011-09-13T11:22:37.183" Score="9" Body="&lt;p&gt;In proof complexity the use of Gröbner bases has been proposed by &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.42.2402&quot;&gt;Clegg, Edmonds, Impagliazzo&lt;/a&gt; to refute CNFs. There are cases in which this proof system outperforms Resolution exponentially but it does not seem to me that there is a real performance improvement for general instances. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is also true that many of the lower bounds for Resolution hold for Polynomial Calculus (a proof system based on Gröbner bases).  The exceptions usually are built for the characteristic of the underlying field. This means that working in $GF(2)$ can help you on some formulas but not on others. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Yet Polynomial Calculus has not been studied as much as Resolution, thus well tested heuristics are not available.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See also &lt;a href=&quot;http://martinralbrecht.files.wordpress.com/2010/10/phd.pdf&quot;&gt;this&lt;/a&gt; this for application in cryptanalysyis (I don't know very much about that).&lt;/p&gt;&#xA;" OwnerUserId="267" LastActivityDate="2011-09-13T11:22:37.183" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8211" PostTypeId="1" CreationDate="2011-09-13T12:43:20.213" Score="28" ViewCount="819" Body="&lt;p&gt;Let $f(x_1,\dots,x_n)$ be a degree $d$ polynomial in $n$ variables over $\mathbb{F}_2$, where $d$ is constant (say 2 or 3). I would like to find the smallest formula for $f$, where &quot;formula&quot; and &quot;formula size&quot; are defined in the obvious way (eg. the smallest formula for the polynomial $x_1 x_2 + x_1 x_3$ is $x_1(x_2+x_3)$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is the complexity of this problem - is it NP-hard? Does the complexity depend on $d$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[ More formally, a formula (aka &quot;arithmetic formula&quot;) is a rooted binary tree, each of whose leaves is labelled with either an input variable or the constant 1. All the other vertices of the tree are labelled with $+$ or $\times$. The size of the formula is the number of leaves used. The formula computes a polynomial recursively: $+$ vertices compute the sum of their children over $\mathbb{F}_2$, $\times$ vertices compute the product. ]&lt;/p&gt;&#xA;" OwnerUserId="447" LastActivityDate="2011-09-21T19:35:05.903" Title="Complexity of minimising polynomial formula size" Tags="&lt;cc.complexity-theory&gt;&lt;formulas&gt;" AnswerCount="4" CommentCount="6" FavoriteCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="8213" PostTypeId="2" ParentId="8199" CreationDate="2011-09-13T14:09:14.163" Score="7" Body="&lt;p&gt;If you are allowed to use complementation to express $\Sigma^*$ as $\emptyset^{C}$, the resulting language class includes the pattern languages (see, e.g., &lt;a href=&quot;http://research.cs.queensu.ca/home/ksalomaa/julk/patkirj.ps&quot; rel=&quot;nofollow&quot;&gt;this survey&lt;/a&gt; by Kai Salomaa).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As shown by &lt;a href=&quot;http://dx.doi.org/10.1016/0022-0000(80)90041-0&quot; rel=&quot;nofollow&quot;&gt;Angluin&lt;/a&gt;, the membership problem for pattern languages is NP-complete. (This holds even if you consider pattern languages that are generated by patterns that do not contain terminal symbols.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, membership for this class is as hard as for the full class of regular expressions with backreferences.&lt;/p&gt;&#xA;" OwnerUserId="924" LastActivityDate="2011-09-13T14:09:14.163" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8214" PostTypeId="2" ParentId="8193" CreationDate="2011-09-13T14:10:18.907" Score="2" Body="&lt;p&gt;Since k-means minimizes the within-cluster sum of squares, the cluster centers will &lt;em&gt;always&lt;/em&gt; be the mean of the points within that cluster. If you use a different criterion, you are basically using a different method than k-means.&lt;/p&gt;&#xA;" OwnerUserId="6532" LastActivityDate="2011-09-13T14:10:18.907" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8215" PostTypeId="2" ParentId="8205" CreationDate="2011-09-13T14:45:21.937" Score="4" Body="&lt;p&gt;One possible definition for a given point and ϵ would be the following: perturb each coordinate of the input independently with a Gaussian with mean 0 and variance $\epsilon^2/n$ and then look at the variance of the function's value with respect to this input distribution. It's also possible to perturb a specific coordinate this way and keep the rest fixed, depending on your application.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You may also find this paper of interest: &quot;Noise stability of functions with low influences: invariance and optimality&quot; by E. Mossel, R. O'Donnell, K. Oleszkiewicz.&lt;/p&gt;&#xA;" OwnerUserId="6190" LastActivityDate="2011-09-13T14:45:21.937" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8216" PostTypeId="1" CreationDate="2011-09-13T14:52:36.200" Score="5" ViewCount="974" Body="&lt;p&gt;Finding the longest path in a graph is intractable problem. The decision version is $NP$-complete. However, Given a graph, Is there an efficient algorithm to determine the parity of the longest path in a graph?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The algorithm should output YES if the length of the longest path is even otherwise the output is NO. Also, What is the complexity if we restrict the input to cubic graphs?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT 1: I moved some of my comments here as requested by a friend. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;My problem is LPEP={graph G: the longest path in G has even length }. The answer of Gadi A proves intractability and I accepted it. I was waiting for Karp reduction.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Cross posted on &lt;a href=&quot;https://math.stackexchange.com/questions/64113/is-there-an-efficient-algorithm-to-determine-the-parity-of-the-longest-path-in-a&quot;&gt;Math StackExchange&lt;/a&gt; &lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="-1" LastEditDate="2017-04-13T12:19:19.363" LastActivityDate="2011-09-15T14:30:34.863" Title="Is there an efficient algorithm to determine the parity of the longest path in a graph?" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;graph-theory&gt;" AnswerCount="2" CommentCount="13" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="8218" PostTypeId="2" ParentId="8196" CreationDate="2011-09-13T15:19:24.033" Score="8" Body="&lt;p&gt;This is not a complete answer, but I can point you to some relevant papers and also partially explain why it's not so easy to extract an answer to your specific question from the literature.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let me start by asking, why do you want to know the answer to this question?  Typically, the people who find themselves caring about this sort of issue are those faced with actually implementing a high-performance FFT for a practical application.  Such people care less about asymptotic complexity in some idealized computational model than about maximizing performance under their particular hardware and software constraints.  For example, the developers of the &lt;a href=&quot;http://www.fftw.org/&quot; rel=&quot;nofollow&quot;&gt;Fastest Fourier Transform in the West&lt;/a&gt; write in their paper:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;The best choice depends upon hardware details like the number of registers, latency and&#xA;  throughput of instructions, size and associativity of caches, structure of the processor pipeline, etc.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;These are issues that theorists typically don't want to sully their hands with, but they are of great importance in actual implementations.  If a theorist declares, &quot;I've figured out the absolute best asymptotic bit complexity in the RAM model,&quot; the practitioner might say, &quot;That's nice,&quot; but may find such a theoretical result useless for his or her purposes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Having said that, I think that your best bet is to look at the numerical analysis literature.  For example, &lt;a href=&quot;http://www.springerlink.com/content/q427381222v72113/&quot; rel=&quot;nofollow&quot;&gt;Tasche and Zeuner&lt;/a&gt; have taken a close look at the numerical stability of the FFT algorithm.  This may still not be exactly what you want, because the general consensus among practitioners seems to be that to achieve a given amount of numerical precision, the best practical approach is to &lt;i&gt;precompute&lt;/i&gt; certain numbers called &quot;twiddle factors&quot; to high accuracy.  If you're doing only &lt;i&gt;one&lt;/i&gt; FFT, then this is not going to be the fastest approach because you don't get to amortize the cost of your one-time precomputation over a large number of FFT computations.  Still, their analysis of the worst-case roundoff error should still be relevant to your question.&lt;/p&gt;&#xA;" OwnerUserId="2970" LastActivityDate="2011-09-13T15:19:24.033" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="8219" PostTypeId="2" ParentId="8208" CreationDate="2011-09-13T16:20:46.593" Score="2" Body="&lt;p&gt;[I made it into a proper answer b/c somebody gave it -1]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If &lt;em&gt;any&lt;/em&gt; clause is allowed to be added, then the language is empty -- clearly to any satisfiable formula $F$ you can add a 3-clause $c$ made up of variables that do not appear in $F$: $F \cup \{ c \}$ will be satisfiable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If the added clauses must use variables of $F$, then the language is in P.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Justification is as follows:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Take any $F \in L$, i.e. $F \in SAT$ and for any 3-clause $c$ on variables of $F$, $F \cup \{c\} \in UNSAT$. Say $c = l_1 \lor l_2 \lor l_3 \notin F$, where $l_i$ is a literal. Since $F \cup \{ c \}$ is UNSAT, all models of $F$ must have $l_i=0$ (for $i=1,2,3$) - because if some model had e.g. $l_1=1$, then it would satisfy $c$ and so $F \cup \{c\}$. Now, assume that there exists another clause $c&amp;#39;$ that is exactly like $c$, but with one or more literal flipped and such that $c&amp;#39; \notin F$, say $c&amp;#39; = \neg l_1 \lor l_2 \lor l_3$. Then by the same argument all models of $F$ must have $l_1 = 1$. Thus, the necessary condition for $F \in L$ is that for each clause $c \in F$ there are exactly 6 other clauses in $F$ that use the three variables of $c$ -- lets call these 7-clause subsets of $F$ &lt;em&gt;blocks&lt;/em&gt;. Note that each block implies a unique satisfying assignment to its variables. When this necessary condition is satisfied, $F$ is either uniquely satisfiable or unsatisfiable. The two cases can be distinguished by testing whether the assignments implied by the blocks of $F$ clash, which can clearly be done in linear time.&lt;/p&gt;&#xA;" OwnerUserId="6470" LastEditorUserId="6470" LastEditDate="2011-09-15T00:27:32.340" LastActivityDate="2011-09-15T00:27:32.340" CommentCount="34" ContentLicense="CC BY-SA 3.0" />
  <row Id="8220" PostTypeId="1" CreationDate="2011-09-13T20:01:19.983" Score="0" ViewCount="368" Body="&lt;p&gt;I have this problem:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a collection of sets $S:\{S_{1},...,S_{k}\}$ where each set $S_{j}$ is a subset of $U:\{e_{1},...,e_{n}\}$ universe of elements. I would find-out a subset $C \subseteq S$ such that I maximize the function $f(C)=|\cup_{\forall C_{j} \in C} C_{j}|$ and minimize the function $g(C)=\sum_{\forall C_{j},C_{i} \in C}|C_{i} \cap C_{j}|$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have found out a Integer Linear Programming formulation for this problem, now I'm wondering is this problem NP-Hard?  Does exist in literature a similar problem?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My formulation: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$max(\sum_{\forall e}e_{j} - k \sum_{\forall z}z_{j})$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\forall e_{j} \in U: \;\;e_{j} \leq \sum_{\forall S_{i}\;s.t.\; e_{j} \in S_{i}}s_{i}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\forall e_{j} \in S_{j} \;s.t.\; e_{j} \in S_{k} \cap S_{t}:\;\;  z_{j} \geq s_{k}+s_{t}-1$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;all variable in ${0,1}$, k is a constant to specify the malus for adding an overlap.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem formulated in this way can solve Maximum Set Packing. So it is NP-Hard.&#xA;Now I'm wondering what can be a good heuristic to find some solutions?&#xA;I'm trying a greedy algorithm that put at each step the elements with the maximum ratio of new covered elements over new intersections.&lt;/p&gt;&#xA;" OwnerUserId="6536" LastEditorUserId="6537" LastEditDate="2011-09-16T14:53:42.433" LastActivityDate="2011-09-16T14:53:42.433" Title="Maximize Covering Minimizing the Overlap" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;" AnswerCount="0" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="8221" PostTypeId="2" ParentId="8196" CreationDate="2011-09-13T21:12:53.127" Score="9" Body="&lt;p&gt;This answer is a variant of the analysis of the first algorithm&#xA;(&quot;Methode A&quot;) by Schönhage and Strassen for multiplication of long integers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assume we want to compute an FFT of length $K = 2^k$.&#xA;Scale your input such that all values are smaller than 1. &#xA;Let us first assume that we compute with $m$-bit fixed point arithmetic&#xA;($m$ bits after the binary point). Let $\delta = 2^{1/2 -m}$ be the &#xA;(&quot;complex&quot;) unit of least position. Let $\omega =  \exp(2\pi i/K)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) One can compute approximations $\omega_j&amp;#39;$ such that&#xA;$|\omega_j&amp;#39; - \omega^j| \le (2k-1)\delta$ for all $0 \le j \le K-1$.&#xA;This can be done in time $O(K M(m))$ where $M(m)$ is the time needed&#xA;to multiply $m$-bit numbers. (see Knuth Vol. 2, 3rd ed., page 309).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If standard integer RAM means logarithmic cost, then $M(m) = O(m \log m)$.&#xA;If standard integer RAM means word RAM, then $M(m) = O(m)$. (Schönhage and Strassen show in &quot;Methode A&quot; how to reduce in linear time the multiplication of $m$-bit numbers to $m$ multiplication of $O(\log m)$ bit numbers. The latter can be done at unit costs.) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) The classical Cooley-Tukey FFT computes operations of the form&#xA;$a = b + \omega^j c$. We use $m$-bit fixed point arithmetic,&#xA;these opertions become $a&amp;#39; = truncate(b&amp;#39; + \omega_j&amp;#39; c&amp;#39;)$.&#xA;If we know $b&amp;#39;$ and $c&amp;#39;$ up to an error of $\epsilon$, we get $a&amp;#39;$ up to an error of $2\epsilon + 2k\delta$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;3) Using induction, it is easy to see that we get the final result&#xA;with error $(2^k - 1) \cdot 2k\delta$. To get precision $b$ in the end,&#xA;$m \ge k + \log k + b + O(1)$.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;4) Thus the final running time is $O(K k M(k+b))$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This should also work with floating point numbers: 1) can still be done with fixed point arithmetic, 2) is also true for floating point numbers.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;In fixed point arithmetic, I think, it can even be done faster. &#xA;First we reduce the computation of the FFT to the multiplication of &#xA;polynomials using Bluestein's trick. &#xA;The length of the coefficients needed to get the desired precision&#xA;should be $O(k + b)$.&#xA;Then we reduce the multiplication of polynomials to the multiplication&#xA;of long integers. (Append the coefficients to a long number and separate them by blocks of zero of length $O(k+b)$.) The length of the integers is $O(K(k+b))$.&lt;/p&gt;&#xA;" OwnerUserId="6456" LastActivityDate="2011-09-13T21:12:53.127" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="8222" PostTypeId="2" ParentId="8216" CreationDate="2011-09-14T01:36:05.763" Score="1" Body="&lt;p&gt;No, it is not possible to efficiently calculate the parity of the longest path of an arbitrary graph, because it is possible to design such a graph, where any calculation of the that parity implies the comparision of the lengths of longest paths of two or more sub-graphs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider this:&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;One node s connects three components of a graph, and the longest path goes through that node s, like this:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;A=s-t=B&#xA;  |&#xA;  C&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;&lt;code&gt;C&lt;/code&gt; can trivially be designed to contain the longest of all paths that start at s.&#xA;So, either the longest path of the whole graph is partially in A or in B.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;code&gt;A&lt;/code&gt; and &lt;code&gt;B&lt;/code&gt; can be created out of two arbitrary graphs with a longest path of unknown length like this:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Starting with an arbitrary graph,&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;1-2-3&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;each edge will be expanded to length 2,&#xA;and each vertex will be connected to an additional &quot;dangling&quot; edge of length 2.&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;|  |  |&#xA;|  |  |&#xA;1--2--3        =  A&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;The longest path in this resulting graph is always even and will map to the longest path of the original graph. To &quot;catch&quot; one end of that longest path (in the resulting graph), each vertex will be directly connected to an additional &quot;starting vector&quot; s (or t). All longest of those paths starting at that specific vector are now odd.&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;|  |  |&#xA;|  |  |&#xA;1--2--3        = A=s&#xA; \ | /&#xA;   s&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Two such constructed graphs (&lt;code&gt;A=s&lt;/code&gt; and &lt;code&gt;B=t&lt;/code&gt;) can now be combined with an edge between their individual starting vertices (s and t). One of those vertices will be connected to &lt;code&gt;C&lt;/code&gt;, so that the longest path of the resulting graph will have one end in &lt;code&gt;C&lt;/code&gt; and the other end in either &lt;code&gt;A&lt;/code&gt; or &lt;code&gt;B&lt;/code&gt;.&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;A=s-t=B&#xA;  |&#xA;  C&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Knowing the parity of the longest path of this resulting graph implies knowing whether the path ends in &lt;code&gt;A&lt;/code&gt; or &lt;code&gt;B&lt;/code&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Iff the longest path of the resulting graph ends in &lt;code&gt;A&lt;/code&gt;, then the longest path of the original graph of &lt;code&gt;A&lt;/code&gt; has to be longer than the longest path of the original graph of &lt;code&gt;B&lt;/code&gt;.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Iff there would be an efficient algorithm to determine the parity of the longest path in a graph, then there would be an efficient algorithm to compare the lengths of the longest paths of two different graphs, and vice versa.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Of course, there exists a simpler proof by reducing this parity problem to that of the existance of an Hamiltonian path, but that proof would have been too easy.&lt;/p&gt;&#xA;" OwnerUserId="2117" LastEditorUserId="2117" LastEditDate="2011-09-14T01:46:07.733" LastActivityDate="2011-09-14T01:46:07.733" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="8225" PostTypeId="2" ParentId="8211" CreationDate="2011-09-14T15:48:56.160" Score="7" Body="&lt;p&gt;You can reduce the co-NP-Complete TAUTOLOGY problem (given a Boolean formula, is it a tautology?) to the problem of minimizing formula size (since a formula is a tautology iff it's equivalent to TRUE). Moreover, TAUTOLOGY for 3DNFs (analogously to SAT for 3CNFs) is co-NP-Complete.&lt;/p&gt;&#xA;" OwnerUserId="1621" LastActivityDate="2011-09-14T15:48:56.160" CommentCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="8227" PostTypeId="2" ParentId="8036" CreationDate="2011-09-14T19:43:54.547" Score="5" Body="&lt;p&gt;Here's another perspective that might be helpful.  Suppose there are $n$ variables and $m$ constraints.  If you write the simplex method in matrix form, the optimality condition for a minimization problem is $${\bf c}^T_N - {\bf c}^T_B B^{-1} N \geq {\bf 0},$$&#xA;where ${\bf c}_B$ and ${\bf c}_N$ are the cost vectors for the basic and nonbasic variables, and $B$ and $N$ are matrices consisting of the entries in $A$ that correspond to the basic and nonbasic variables.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since you know ${\bf x}^*$, you can construct a basis for the optimal solution.  You need $m$ variables to be in the basis.  First, every nonzero $x_i$ goes in the basis.  If there aren't $m$ nonzero $x_i$'s (there can't be more than $m$), then you will need to choose enough of the zero-valued $x_i$'s to be basic so that you have $m$ basic variables; it doesn't matter which ones.  (If this happens it means the optimal solution is degenerate.)  Once you have a basis you can determine $B$ and $N$.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then the set of cost vectors ${\bf c}$ for which ${\bf x}^*$ is optimal is the solution set to the above vector inequality, which is just a set of $n-m$ linear inequalities in which you have $m$ free variables (the values for ${\bf c}_B$).  &lt;/p&gt;&#xA;" OwnerUserId="6543" LastEditorUserId="6543" LastEditDate="2011-09-14T20:23:41.440" LastActivityDate="2011-09-14T20:23:41.440" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8228" PostTypeId="2" ParentId="8085" CreationDate="2011-09-14T22:39:11.763" Score="4" Body="&lt;p&gt;Probably the most famous instance in which a greedy algorithm is known to solve an LP is for the special case of the transportation problem.  Hoffman (&quot;On simple linear programs&quot;, in &lt;em&gt;Convexity&lt;/em&gt;, vol. 7 of &lt;em&gt;Proceedings of Symposia in Pure Mathematics&lt;/em&gt;, pages 317-327, 1963) proved that if the cost matrix for a (maximization) transportation problem satisfies the &lt;em&gt;Monge property&lt;/em&gt; ($c_{ij} + c_{kl} \geq c_{il} + c_{kj}$ when $1 \leq i &amp;lt; k \leq n$, $1 \leq j &amp;lt; l \leq n$) then an optimal solution can be found in a greedy manner like the one you describe.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hoffman also has a survey paper (&quot;&lt;a href=&quot;http://books.google.com/books?id=hQo4AAAAIAAJ&amp;amp;pg=PA97&amp;amp;lpg=PA97&amp;amp;dq=on%20greedy%20algorithms%20that%20succeed%20hoffman&amp;amp;source=bl&amp;amp;ots=MTuuU5aBTQ&amp;amp;sig=8Jh5_-KZ9kzBHKi1f6cCvWoB9GI&amp;amp;hl=en&amp;amp;ei=VylxTuSNB4TZiALg1dnHAg&amp;amp;sa=X&amp;amp;oi=book_result&amp;amp;ct=result&amp;amp;resnum=1&amp;amp;sqi=2&amp;amp;ved=0CCIQ6AEwAA#v=onepage&amp;amp;q=on%20greedy%20algorithms%20that%20succeed%20hoffman&amp;amp;f=false&quot; rel=&quot;nofollow&quot;&gt;On greedy algorithms that succeed&lt;/a&gt;&quot;) from 1985 in which he discusses known cases in which a greedy algorithm gives an optimal solution to an LP.  Besides his own work cited above (about which he says, &quot;most of the linear programming problems known [by 1963] to be susceptible to a greedy algorithm were special cases of the Monge idea&quot;), he mentions Edmonds' linear programming interpretation of a generalization of matroids and a discussion of the case when $A$ is nonnegative, among other things.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I imagine there are more recent results, but hopefully this at least partially answers your question and gives you some ideas of where else to look.&lt;/p&gt;&#xA;" OwnerUserId="6543" LastActivityDate="2011-09-14T22:39:11.763" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8230" PostTypeId="2" ParentId="8151" CreationDate="2011-09-15T00:01:18.083" Score="0" Body="&lt;p&gt;I would go with the following simple analysis:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Each value could be stored in 4 bits (ranges from 1-9, these three bits even allow for 0-16)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we considered to store the WHOLE solution (not optimal), having $9 \times 9 = 81$ values. 3 bits each = 243 bits.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, as the rules that the solved sudoku has to follow, storing every bit is in fact redundant. However, since the order is important, you need to store the first 8 values in each  row (thus determining the 9th value), for 8 rows (thus determining the last row). This reduces the sudoku to $8 \times 8$ for 3 bits, 192 bits (24 bytes).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I guess I could reduce it to:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$b = \lceil \log_2(v) \rceil  (n-1)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$v$ = range of values (I've seen 0-5 sudokus a lot)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$n$ = number of rows / columns&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit:&lt;/strong&gt; &lt;em&gt;Neo Style:&lt;/em&gt; I know Latex.&lt;/p&gt;&#xA;" OwnerUserId="6465" LastEditorUserId="6465" LastEditDate="2011-09-15T00:10:50.860" LastActivityDate="2011-09-15T00:10:50.860" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8231" PostTypeId="1" AcceptedAnswerId="8233" CreationDate="2011-09-15T01:24:47.423" Score="0" ViewCount="179" Body="&lt;p&gt;Let $T$ be a binary tree, where the internal nodes are $Y_1,...,Y_n$ and the leafs are $X_1,...,X_m$. (The $Y$s and the $X$s will eventuall represent a random variable in a Bayesian network.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We can turn this binary tree into a polytree by directing all the edges downward toward the leafs from the root. What we get is a graphical model or a Bayesian network.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My main question - what other polytrees over the $Y$s and the $X$s can we have such that the marginal distribution $p(X_1,...,X_m)$ is the same like the marginal distribution in the original polytree I just described?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am guessing we may be able to redirect some edges such that they point to a different node, and still get the same independence assumptions (and hence the same marginal distribution), but I am not sure what would be the permitted inversions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks!&lt;/p&gt;&#xA;" OwnerUserId="5902" LastActivityDate="2011-09-15T08:03:59.083" Title="what is the equivalence class of a given polytree representing a directed graphical model?" Tags="&lt;machine-learning&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8232" PostTypeId="2" ParentId="8216" CreationDate="2011-09-15T01:34:10.863" Score="4" Body="&lt;p&gt;Based on &lt;a href=&quot;https://math.stackexchange.com/questions/64113/is-there-an-efficient-algorithm-to-determine-the-parity-of-the-longest-path-in-a/64115#64115&quot;&gt;Gadi's answer on Math.SE&lt;/a&gt; (which proves NP-hardness using a Cook reduction), here is a proof of NP-hardness using a Karp reduction (as requested).&lt;/p&gt;&#xA;&lt;h2&gt;General case&lt;/h2&gt;&#xA;&lt;p&gt;The reduction is from Hamiltonian Cycle through Hamiltonian Path.&lt;/p&gt;&#xA;&lt;h3&gt;Part 1: Hamiltonian Cycle &lt;span class=&quot;math-container&quot;&gt;$\le_m^P$&lt;/span&gt; Hamiltonian Path&lt;/h3&gt;&#xA;&lt;p&gt;We begin with a graph &lt;span class=&quot;math-container&quot;&gt;$G$&lt;/span&gt; with &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt; vertices and want to know if it contains a Hamiltonian cycle.  We use a standard reduction to Hamiltonian Path (see Theorem 8.19 of Algorithm Design, which gives the directed graph version). Specifically,&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;pick a vertex &lt;span class=&quot;math-container&quot;&gt;$v \in G$&lt;/span&gt;,&lt;/li&gt;&#xA;&lt;li&gt;add a vertex &lt;span class=&quot;math-container&quot;&gt;$v_0$&lt;/span&gt;,&lt;/li&gt;&#xA;&lt;li&gt;for each edge &lt;span class=&quot;math-container&quot;&gt;$(v, u)$&lt;/span&gt;, add an edge &lt;span class=&quot;math-container&quot;&gt;$(v_0, u)$&lt;/span&gt;,&lt;/li&gt;&#xA;&lt;li&gt;add vertices &lt;span class=&quot;math-container&quot;&gt;$u_1$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$u_2$&lt;/span&gt;, and&lt;/li&gt;&#xA;&lt;li&gt;add edges &lt;span class=&quot;math-container&quot;&gt;$(v, u_1)$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$(v_0, u_2)$&lt;/span&gt;.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Call this graph &lt;span class=&quot;math-container&quot;&gt;$G_1$&lt;/span&gt;. If &lt;span class=&quot;math-container&quot;&gt;$G$&lt;/span&gt; has a Hamiltonian cycle, then &lt;span class=&quot;math-container&quot;&gt;$G_1$&lt;/span&gt; has a Hamiltonian path (that with end points &lt;span class=&quot;math-container&quot;&gt;$u_1$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$u_2$&lt;/span&gt;). If &lt;span class=&quot;math-container&quot;&gt;$G_1$&lt;/span&gt; has a Hamiltonian path, then it's end points must be &lt;span class=&quot;math-container&quot;&gt;$u_1$&lt;/span&gt; &lt;span class=&quot;math-container&quot;&gt;$u_2$&lt;/span&gt; since they have degree one, so other vertices in the Hamiltonian path give a Hamiltonian cycle when equating &lt;span class=&quot;math-container&quot;&gt;$v$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$v_0$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;h3&gt;Part 2: Hamiltonian Path &lt;span class=&quot;math-container&quot;&gt;$\le_m^P$&lt;/span&gt; Parity of Longest Path Even&lt;/h3&gt;&#xA;&lt;p&gt;This reduction continues the one started above, so we have the graph &lt;span class=&quot;math-container&quot;&gt;$G_1$&lt;/span&gt; with &lt;span class=&quot;math-container&quot;&gt;$n_1 = n + 3$&lt;/span&gt; vertices.&lt;/p&gt;&#xA;&lt;p&gt;If &lt;span class=&quot;math-container&quot;&gt;$n_1$&lt;/span&gt; is odd, then a Hamiltonian path in &lt;span class=&quot;math-container&quot;&gt;$G_1$&lt;/span&gt; (if one exists) would have to be of even length. In this case, we use the same reduction as Gadi, which adds a disjoint path of length &lt;span class=&quot;math-container&quot;&gt;$n_1 - 2$&lt;/span&gt; to &lt;span class=&quot;math-container&quot;&gt;$G_1$&lt;/span&gt; to form a graph &lt;span class=&quot;math-container&quot;&gt;$G_2$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;p&gt;If &lt;span class=&quot;math-container&quot;&gt;$n_1$&lt;/span&gt; is even, then a Hamiltonian path in &lt;span class=&quot;math-container&quot;&gt;$G_1$&lt;/span&gt; (if one exists) would have to be of odd length. The case of odd &lt;span class=&quot;math-container&quot;&gt;$n_1$&lt;/span&gt; is better, so we reduce to it by adding a vertex &lt;span class=&quot;math-container&quot;&gt;$w$&lt;/span&gt; and edge &lt;span class=&quot;math-container&quot;&gt;$(w, u_1)$&lt;/span&gt;, forming a graph &lt;span class=&quot;math-container&quot;&gt;$G_2$&lt;/span&gt;. Now, a Hamiltonian path in &lt;span class=&quot;math-container&quot;&gt;$G_1$&lt;/span&gt; (if one exists) would have to be of even length (and have end points &lt;span class=&quot;math-container&quot;&gt;$w$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$u_2$&lt;/span&gt; since they both have degree one), so we complete the reduction as above by adding a disjoint path of length &lt;span class=&quot;math-container&quot;&gt;$n_1 - 1$&lt;/span&gt; to form a graph &lt;span class=&quot;math-container&quot;&gt;$G_2$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;p&gt;If &lt;span class=&quot;math-container&quot;&gt;$G_1$&lt;/span&gt; contains a Hamiltonian path, then the length of the longest path in &lt;span class=&quot;math-container&quot;&gt;$G_2$&lt;/span&gt; is even (of length &lt;span class=&quot;math-container&quot;&gt;$n_1 - 1$&lt;/span&gt; when &lt;span class=&quot;math-container&quot;&gt;$n_1$&lt;/span&gt; is odd and of length &lt;span class=&quot;math-container&quot;&gt;$n_1$&lt;/span&gt; when &lt;span class=&quot;math-container&quot;&gt;$n_1$&lt;/span&gt; is even). If &lt;span class=&quot;math-container&quot;&gt;$G_2$&lt;/span&gt; contains a longest path of even length, then &lt;span class=&quot;math-container&quot;&gt;$G_1$&lt;/span&gt; must contain a Hamiltonian path since we know there is a path of odd length that is one shorter than the length required in a Hamiltonian path.&lt;/p&gt;&#xA;&lt;h2&gt;Restricted to cubic graphs&lt;/h2&gt;&#xA;&lt;p&gt;I do not see how the reduction for the general case can be made to work for cubic graphs since all cubic graphs have an even number of vertices. However, your requirement that the algorithm should say &lt;em&gt;Yes iff the parity of the longest path is even&lt;/em&gt; is contrary what I have always heard regarding parity, which is the algorithm says &lt;em&gt;Yes iff the parity is odd&lt;/em&gt;.&lt;/p&gt;&#xA;&lt;h2&gt;Restricted to cubic (and planar) graphs when Yes iff longest path of odd parity&lt;/h2&gt;&#xA;&lt;p&gt;The reduction for the general case can be made to work for cubic planar graphs when the algorithm says &lt;em&gt;Yes iff the parity of the longest path is odd&lt;/em&gt;.&lt;/p&gt;&#xA;&lt;p&gt;This time, we reduce from Hamiltonian Path directly. Thus, we begin with a cubic planar graph &lt;span class=&quot;math-container&quot;&gt;$G$&lt;/span&gt; with &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt; vertices and want to know if it contains a Hamiltonian path.&lt;/p&gt;&#xA;&lt;p&gt;Since &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt; is even, we want to add a disjoint graph with a longest path of size &lt;span class=&quot;math-container&quot;&gt;$n-2$&lt;/span&gt;. This is possible for &lt;span class=&quot;math-container&quot;&gt;$n \ge 10$&lt;/span&gt; as pictured...&#xA;&lt;img src=&quot;https://i.stack.imgur.com/NDVqP.png&quot; alt=&quot;path gadget&quot; /&gt;&#xA;...since that is the shortest (even) length of the longest path possible via this path gadget.&lt;/p&gt;&#xA;&lt;p&gt;For &lt;span class=&quot;math-container&quot;&gt;$n &amp;lt; 10$&lt;/span&gt;, we do a brute force search for the existence of a Hamiltonian path in &lt;span class=&quot;math-container&quot;&gt;$G$&lt;/span&gt; and add the smallest path gadget if we don't find one.&lt;/p&gt;&#xA;" OwnerUserId="3964" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2011-09-15T14:30:34.863" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="8233" PostTypeId="2" ParentId="8231" CreationDate="2011-09-15T08:03:59.083" Score="1" Body="&lt;p&gt;You can pick any other node as root and redirect nodes away from it to get Markov equivalent model. Markov equivalent means that two graphical models correspond to identical spaces of distributions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let &quot;unshielded collider&quot; be structure of the form A-&gt;B&amp;lt;-C&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Theorem: Two directed acyclic graphs D1 and D2 are Markov equivalent if and only if D1 and D2 have the same vertex set, same adjacencies, and same unshielded colliders.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See Ch.4 of Meek's &quot;Related Graphical Frameworks: Undirected, Directed Acyclic and Chain Graph Models&quot;&#xA;&lt;a href=&quot;http://repository.cmu.edu/cgi/viewcontent.cgi?article=1206&amp;amp;context=philosophy&quot; rel=&quot;nofollow&quot;&gt;http://repository.cmu.edu/cgi/viewcontent.cgi?article=1206&amp;amp;context=philosophy&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="434" LastActivityDate="2011-09-15T08:03:59.083" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8234" PostTypeId="1" AcceptedAnswerId="8238" CreationDate="2011-09-15T08:53:06.127" Score="24" ViewCount="1353" Body="&lt;p&gt;Inspired by the extensive hierarchies present in complexity theory, I wondered if such hierarchies were also present for type systems. However, the two examples I've found so far are both more like checklists (with orthogonal features) rather than hierarchies (with successively more and more expressive type systems).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The two examples I have found are the &lt;a href=&quot;http://en.wikipedia.org/wiki/Lambda_cube&quot;&gt;Lambda cube&lt;/a&gt; and the concept of &lt;a href=&quot;http://en.wikipedia.org/wiki/Parametric_polymorphism#Higher-ranked_polymorphism&quot;&gt;k-ranked polymorphism&lt;/a&gt;. The first one is a checklist with three options, the second is a real hierarchy (though k-ranked for specific values of k is uncommon I believe). All other type system features I know of are mostly orthogonal.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm interested in these concepts because I'm designing my own language and I'm very curious how it ranks among the currently existing type systems (my type system is somewhat unconventional, as far as I know).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I realise that the concept of 'expressiveness' might be a bit vague, which may explain why type systems seem like checklists to me.&lt;/p&gt;&#xA;" OwnerUserId="988" LastActivityDate="2011-09-16T21:14:37.640" Title="Is there an expressiveness hierarchy for type systems?" Tags="&lt;pl.programming-languages&gt;&lt;type-theory&gt;" AnswerCount="2" CommentCount="5" FavoriteCount="10" ContentLicense="CC BY-SA 3.0" />
  <row Id="8235" PostTypeId="2" ParentId="8234" CreationDate="2011-09-15T09:30:10.097" Score="13" Body="&lt;p&gt;I'm not sure I have a satisfactory answer to your question, but if you consider Pure Type Systems, which are a generalization of the systems found in the lambda cube (a thorough,  if somewhat dated overview can be found &lt;a href=&quot;ftp://ftp.cs.ru.nl/pub/CompMath.Found/HBK.ps&quot;&gt;in the classic Barendregt text&lt;/a&gt;) then there are a couple natural notions of hierarchies:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Morphisms of PTSses: intuitively there is a morphism between the PTS A and the PTS B if every well typed term $\Gamma\vdash_A\ t\colon T$ can be typed in B: $\Gamma\vdash_B\ t\colon T$, via a renaming of &lt;em&gt;kinds&lt;/em&gt; in $\Gamma, t$ and $T$. Then the pure type system with the type rule $*\colon *$ and the product rule $(*,*,*)$ is the &lt;em&gt;final&lt;/em&gt; PTS in the sense that there is a morphism from every other PTS to it. This can be seen as a measure of the expressiveness of a type system, where the final PTS is the most expressive system.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;There is a slightly &lt;em&gt;weaker&lt;/em&gt; notion of strength, in which a PTS B is &lt;em&gt;stronger&lt;/em&gt; than a PTS $A$ if the &lt;em&gt;strong normalisation&lt;/em&gt; of $B$ implies that of $A$ in some weak logic, say Primitive Recursive Arithmetic. In this sense, the Calculus of Constructions if of equal strength to system $F_\omega$ as the normalisation for one can be used to show that of the other. Both however are conjectured to be strictly weaker than the $ECC$ which contains universes. This view is of course related to the Curry-Howard-Kleene view in which terms provide (codes for) proofs in logical theories. In my opinion, this notion of strength is the one which most closely relates to the hierarchies in complexity theory, in the sense of a correspondence: complexity classes $\leftrightarrow$ &quot;levels&quot; of undecidability.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="3984" LastActivityDate="2011-09-15T09:30:10.097" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8237" PostTypeId="1" AcceptedAnswerId="8240" CreationDate="2011-09-15T16:42:26.987" Score="7" ViewCount="826" Body="&lt;p&gt;I am reading a paper by Daskalakis et al. entitled &quot;Sorting and Selection in Posets&quot;. &lt;a href=&quot;http://arxiv.org/abs/0707.1532&quot; rel=&quot;nofollow&quot;&gt;http://arxiv.org/abs/0707.1532&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In that paper it is presented an enhancement to the algorithm Poset-BinInsertionSort by Faigle &amp;amp; Turan (Figure 1 in the paper) for the reconstruction of a partial order when we are allowed to invoke an oracle telling us if two elements are related or not. The enhancement consists in replacing a step of the previous algorithm with a less expensive step (Figure 2: the EntropySort algorithm).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, here's the question. The complexity, in terms of number of queries to the oracle, of the Feigle &amp;amp; Turan algorithm is $O(wn \log n)$ for a poset of width $w$ made up of $n$ elements. (For definitions please see the paper's introduction)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Algorithm in Figure 1 proceeds by incrementally adding one element at a time and in step 4.c it asks for finding a chain decomposition of the set of elements considered so far. I'm struggling with this point because, even if we keep the chain decomposition up-to-dated I am not able to reduce the number of queries to $O(\log n)$ as it would have been requested to keep the complexity of $O(n \log n + wn)$ as claimed in theorem 6 of the paper.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;In brief, here's the question. Suppose you are given a Poset $P=(A,R)$&#xA;  of width w (i.e. the cardinality of the largest antichain is w)&#xA;  suppose you have $A^\prime \subseteq A$. Is it possible to build a&#xA;  decomposition of size $q \leq w$ in time $O(\log n)$ queries as&#xA;  requested by the algorithm in the paper?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Thanks in advance.&#xA;f&lt;/p&gt;&#xA;" OwnerUserId="6555" LastEditorUserId="80" LastEditDate="2011-09-15T22:09:26.997" LastActivityDate="2011-09-16T05:12:22.423" Title="On finding a chain decomposition of a Partial Order" Tags="&lt;ds.algorithms&gt;&lt;partial-order&gt;&lt;order-theory&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="8238" PostTypeId="2" ParentId="8234" CreationDate="2011-09-15T22:38:54.500" Score="23" Body="&lt;p&gt;There are several senses of &quot;expressiveness&quot; that you might want for a type system.  &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;What mathematical functions can you express in a particular type system.  For example, in the simply typed lambda calculus, not all computable functions can be expressed.  The same is true of System $F$, but strictly more functions can be expressed.  This is not very interesting once you get to type systems for Turing-complete languages.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Can system $A$ typecheck every program written in system $B$.  This is basically what cody's first notion of strength is about for PTSs.  Again, System $F$ is stronger than the STLC in this ordering, since every STLC program types in System $F$.  Similarly, a system with subtyping will be stronger than a system without.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Are there local transformations (in the sense of Felleisen's paper &lt;a href=&quot;http://www.ccs.neu.edu/scheme/pubs/#scp91-felleisen&quot;&gt;&lt;em&gt;On the expressive power of programming languages&lt;/em&gt;&lt;/a&gt;) that allow a program that types in system $A$ to type in system $B$, but not vice versa.  &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Does one type system guarantee stronger properties than another.  For example, linear type systems just &lt;em&gt;reject&lt;/em&gt; more programs, but that allows them to make stronger statements about the programs they do accept.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Unfortunately, I don't believe that there's been work on categorizing or formalizing these notions, with the exception of Barendregt's lambda-cube, as @cody discusses.&lt;/p&gt;&#xA;" OwnerUserId="2185" LastEditorUserId="2185" LastEditDate="2011-09-16T21:14:37.640" LastActivityDate="2011-09-16T21:14:37.640" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="8239" PostTypeId="2" ParentId="6404" CreationDate="2011-09-16T01:04:13.903" Score="9" Body="&lt;p&gt;Pinyan Lu published a &lt;a href=&quot;http://eccc.hpi-web.de/report/2011/093/&quot; rel=&quot;noreferrer&quot;&gt;survey&lt;/a&gt; via ECCC in mid 2011. It compares three popular counting frameworks:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Counting Graph Homomorphisms,&lt;/li&gt;&#xA;&lt;li&gt;Counting Constraint Satisfaction (#CSP), and&lt;/li&gt;&#xA;&lt;li&gt;the Holant framework&lt;/li&gt;&#xA;&lt;li&gt;(and restrictions of these frameworks).&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;He also discusses the current dichotomy theorems and the proof techniques used to obtain them.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Xi Chen published a &lt;a href=&quot;http://dl.acm.org/citation.cfm?doid=2078162.2078177&quot; rel=&quot;noreferrer&quot;&gt;survey&lt;/a&gt; as a guest column for SIGACT News in late 2011. It discusses the results and techniques leading up to and including his papers with Jin-Yi Cai and Pinyan Lu on dichotomies for counting graph homomorphisms defined by an undirected target graph with complex weights (&lt;a href=&quot;http://arxiv.org/abs/0903.4728&quot; rel=&quot;noreferrer&quot;&gt;arXiv&lt;/a&gt;) and nonnegatively-weighted #CSPs (&lt;a href=&quot;http://arxiv.org/abs/1012.5659&quot; rel=&quot;noreferrer&quot;&gt;arXiv&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;At about the same time, Cai and Chen published a dichotomy for complex-weighted #CSPs (&lt;a href=&quot;http://arxiv.org/abs/1111.2384&quot; rel=&quot;noreferrer&quot;&gt;arXiv&lt;/a&gt;), which Cai &lt;a href=&quot;http://rjlipton.wordpress.com/2012/01/20/is-it-time-to-declare-victory-in-counting-complexity/&quot; rel=&quot;noreferrer&quot;&gt;discussed&lt;/a&gt; in a guest post on the &lt;em&gt;Godel's Lost Letter and P=NP&lt;/em&gt; blog.&lt;/p&gt;&#xA;" OwnerUserId="3964" LastEditorUserId="3964" LastEditDate="2012-08-13T12:24:17.383" LastActivityDate="2012-08-13T12:24:17.383" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8240" PostTypeId="2" ParentId="8237" CreationDate="2011-09-16T05:12:22.423" Score="5" Body="&lt;p&gt;Your access to $A$ (which is $P$ in the paper) is through an oracle, and you're charged for each query. But in terms of the query count, your accesses to $A&amp;#39;$ (which is $P&amp;#39;$ in the paper and is an &quot;&lt;em&gt;induced&lt;/em&gt; sub-poset&quot; of $A$) are free. So the answer is that a chain decomposition of $A&amp;#39;$ is built without asking any new queries to $A$, only based on the relations in $A&amp;#39;$, which are already known. Then a new element is inserted by performing a binary search on each chain of the chain decomposition, and this is where $w\log n$ queries are performed. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that Theorem 6 relates to Figure 2 and not Figure 1. There the number of queries is decreased by querying asymptotically optimally, rather than blindly doing a binary search independently on each chain (which would ignore relations going between chains).&lt;/p&gt;&#xA;" OwnerUserId="4896" LastActivityDate="2011-09-16T05:12:22.423" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="8241" PostTypeId="2" ParentId="8170" CreationDate="2011-09-16T10:29:34.750" Score="8" Body="&lt;p&gt;There is a nice paper of Chris Umans on the analogue of this question for dispersers: &lt;a href=&quot;http://www.cs.caltech.edu/~umans/papers/U05-final.pdf&quot;&gt;http://www.cs.caltech.edu/~umans/papers/U05-final.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;He shows that dispersers that have a polynomial-time reconstruction procedure, but not necessarily the local decoding property, imply the existence of hitting set generators.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is another way to view it: Extractors may be viewed as list-recoverable codes (which is a stronger variant of list-decodable codes), and black-box PRGs may be viewed of &lt;em&gt;local&lt;/em&gt; list-recoverable codes. Dispersers may be viewed as list-recoverable codes for zero-error.&#xA;What Chris shows is that a list-recoverable code for zero-error that has a polynomial-time list-recovery procedure implies the existence of a list-recoverable code with &lt;em&gt;local&lt;/em&gt; list-recovery procedure.&lt;/p&gt;&#xA;" OwnerUserId="6556" LastEditorUserId="567" LastEditDate="2011-09-17T13:17:41.060" LastActivityDate="2011-09-17T13:17:41.060" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8242" PostTypeId="2" ParentId="8134" CreationDate="2011-09-16T12:40:56.640" Score="0" Body="&lt;p&gt;I think you can use &lt;a href=&quot;http://en.wikipedia.org/wiki/Homomorphic_encryption#Fully_homomorphic_encryption&quot; rel=&quot;nofollow&quot;&gt;fully homomorphic encryption&lt;/a&gt; to solve this problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Encrypt the program and data using a fully homomorphic encryption scheme, send it to the system to be processed, and retrieve the result. Let the correct output be the string $s$. Since you say that you might not be able to tell if $s$ is the correct output, I would have the program concatenate a prefix which you can verify. Something like:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;The computation started at 'TimeStamp' and finished at 'TimeStamp' with the following result: $s$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;If the system made a mistake (or tried to cheat by not executing your program exactly), I am sure you could prove that with high probability (under standard complexity-theoretic assumptions), the decrypted output would not begin with&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;The computation started at 'TimeStamp' and finished at 'TimeStamp' with the following result: &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;where both occurrences of 'TimeStamp' are not only in the proper form of a time stamp, but also make sense as times (i.e. the first time is after you send the program to the system while the second time is after the first and probably shortly before the time the system gave you the results).&lt;/p&gt;&#xA;" OwnerUserId="3964" LastActivityDate="2011-09-16T12:40:56.640" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="8243" PostTypeId="1" AcceptedAnswerId="8331" CreationDate="2011-09-16T15:25:14.847" Score="-1" ViewCount="754" Body="&lt;p&gt;I was just wondering if there is a problem whose best solution (under common assumptions) has time complexity $\Theta(n^n)$. And what complexity class would that belong to?&lt;/p&gt;&#xA;" OwnerUserId="1908" LastEditorUserId="5396" LastEditDate="2011-09-22T22:18:19.823" LastActivityDate="2011-09-22T22:18:19.823" Title="Examples for $\Theta(n^n)$ problems" Tags="&lt;cc.complexity-theory&gt;&lt;time-complexity&gt;" AnswerCount="3" CommentCount="11" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="8245" PostTypeId="1" AcceptedAnswerId="8351" CreationDate="2011-09-16T19:42:47.337" Score="7" ViewCount="441" Body="&lt;p&gt;Is it (believed to be) possible, in the various standard examples of groups in which discrete log/Diffie Hellman are hard (including multiplicative groups in modular arithmetic and elliptic curves, and including cases in which Decisional Diffie Hellman is easy) to generate tuples of the form $(g, g^a, g^b, g^{ab})$ without in a sense &quot;knowing&quot; either a or b?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More formally, if there is a polynomial-time Turing machine $T(G, c)$ such that $T$ maps any input into such a tuple in the group described by $G$ ($G$ could just be a modulus if this is a modular multiplicative group, and $c$ could be thought of as random bits), must there exist a polynomial-time $T'$ such that $T'$, with the same input as $T$, outputs $(g, g^a, g^b, g^{ab}, a)$ or $(g, g^a, g^b, g^{ab}, b)$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Clearly, the answer to this question is not known since there is always such a $T'$ if discrete log is easy and there is is a $T$ without such a $T'$ if Diffie Hellman is easy and discrete log is hard.  I'm particular interested in whether there is some existence result that says there must be a $T$ with no such $T'$ (under an assumption like hardness of discrete log), or whether there is a general conjecture that such a $T'$ always exists (or better yet, that this is implied by some other, widely believed, conjecture).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For further context, I'm essentially curious about whether the assumption that such a $T'$ always exists would be considered reasonable in an analysis of a cryptographic protocol.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now cross-posted on mathoverflow: &lt;a href=&quot;https://mathoverflow.net/questions/76302/is-it-believed-to-be-possible-to-algorithmically-generate-diffie-hellman-tuples&quot;&gt;https://mathoverflow.net/questions/76302/is-it-believed-to-be-possible-to-algorithmically-generate-diffie-hellman-tuples&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="6562" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2011-09-25T06:39:23.283" Title="Generating a Diffie Hellman tuple without &quot;being able to know&quot; one of the discrete logs involved" Tags="&lt;cr.crypto-security&gt;&lt;nt.number-theory&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8246" PostTypeId="1" CreationDate="2011-09-16T17:50:55.170" Score="9" ViewCount="369" Body="&lt;p&gt;Is there a simple model of computation with &lt;a href=&quot;http://en.wikipedia.org/wiki/Homoiconicity&quot; rel=&quot;noreferrer&quot;&gt;homoiconicity&lt;/a&gt;?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It would also be nice if, like beta reduction in lambda calculus, every step in execution yields a new valid program.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Besides the lack of homoiconicity, another annoyance of lambda calculus is the necessity of checking for free variables when performing substitution.&lt;/p&gt;&#xA;" OwnerDisplayName="oozer" LastEditorUserId="705" LastEditDate="2011-09-18T09:51:14.913" LastActivityDate="2021-01-07T17:25:42.123" Title="Simple model of computation with homoiconicity" Tags="&lt;lo.logic&gt;&lt;computability&gt;&lt;pl.programming-languages&gt;&lt;lambda-calculus&gt;" AnswerCount="3" CommentCount="5" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8248" PostTypeId="2" ParentId="8246" CreationDate="2011-09-16T22:52:03.777" Score="9" Body="&lt;p&gt;The paper &lt;a href=&quot;https://www.informatik.uni-marburg.de/%7Ekos/papers/pldi142_rendel1.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Typed Self-Representation&lt;/a&gt; by Tillmann Rendel, Klaus Ostermann and    Christian Hofer seems to satisfy the requirements, and it's typed too. Perhaps it doesn't satisfy the criteria of being a simple model of computation.&lt;/p&gt;&#xA;" OwnerUserId="77" LastEditorUserId="42481" LastEditDate="2021-01-06T07:15:39.150" LastActivityDate="2021-01-06T07:15:39.150" CommentCount="0" ContentLicense="CC BY-SA 4.0" />
  <row Id="8249" PostTypeId="1" CreationDate="2011-09-16T23:36:31.617" Score="3" ViewCount="265" Body="&lt;p&gt;Define a decision problem H as follows. The input of H is a pair (G1,G2) of graphs, and the problem is to verify whether the number of Hamiltonian cycles in G1 is greater than the number of Hamiltonian cycles in G2. Is there a known complexity class C such that H is in C and H is C-hard under many-one reductions? Clearly H is in P^{#P}, and it is possible to prove that H is PP-hard under many-one reductions. But is H in PP? Or is H hard for the class P^{#P} under many-one reductions?&lt;/p&gt;&#xA;" OwnerUserId="6565" LastActivityDate="2011-09-17T00:32:23.757" Title="A decision problem related to the problem of counting Hamiltonian cycles" Tags="&lt;counting-complexity&gt;&lt;hamiltonian-paths&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8250" PostTypeId="2" ParentId="8249" CreationDate="2011-09-17T00:32:23.757" Score="8" Body="&lt;p&gt;This is in PP.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $N$ be the size of the larger graph.  We will define a predicate $f(P, b)$ where $P$ is a permutation of the numbers from 1 to $N$ and $b$ is a single bit.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First, define a predicate $H(G, P)$ where $G$ is a graph (with nodes labeled from 1 to $n \leq N$) and $P$ is a permutation of the numbers from 1 to $N$.  Set $H$ to be true if and only if $P$ fixes the numbers from $n + 1$ to $N$ and if the permutation it induces of the numbers from 1 to $n$ defines a Hamiltonian cycle on $G$.  The number of $P$ for which $H(G, P)$ holds is then the number of Hamiltonian cycles in the graph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, let $f(P, 0) = H(G_1, P)$ and $f(P, 1) = \overline{H(G_2, P)}$.  The number of $P, b$ pairs making $f$ 0 is then the number of Hamiltonian paths in $G_2$ plus the number of &quot;Hamiltonian non-paths&quot; in $G_1$, and vice versa holds for the number of pairs making $f$ 1.  Thus, whichever of these values is more common tells you which graph has more cycles, and this is precisely what PP allows you to do.&lt;/p&gt;&#xA;" OwnerUserId="6562" LastActivityDate="2011-09-17T00:32:23.757" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8251" PostTypeId="1" CreationDate="2011-09-17T14:05:42.300" Score="1" ViewCount="423" Body="&lt;p&gt;Consider the following min-max problem&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a graph $G=(V,E)$ and an integer $k \geq 0$, delete at most $k$ nodes in $G$ to maximize the size of the minimum dominating set in the residual graph. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The NP-hardness of the problem can be shown by setting $k=0$. Can we somehow easily get the hardness of approximation results from the hardness of the Dominating Set problem? In general, for min-max problems, can we do the same thing?&lt;/p&gt;&#xA;" OwnerUserId="6059" LastEditorUserId="186" LastEditDate="2011-09-18T03:53:36.887" LastActivityDate="2011-09-18T03:53:36.887" Title="Hardness of min-max problems" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;&lt;approximation-hardness&gt;" AnswerCount="0" CommentCount="21" ContentLicense="CC BY-SA 3.0" />
  <row Id="8252" PostTypeId="1" CreationDate="2011-09-17T22:38:21.767" Score="-1" ViewCount="756" Body="&lt;p&gt;I just read in Cormen's algorithm book that big-O and big-omega do not follow the trichotomy property. That means for two functions, $f(n)$ and $g(n)$, it may be the case that neither $f(n) = O(g(n))$ nor $f(n) = \Omega(g(n))$ holds. In example they argue that if function is $n^{1+\sin(n)}$ than it is possible.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;While this is correct, is it possible in a real world algorithm to have a run time of something like $\sin(n)$? Since it would sometimes decrease, with the increase of input size. Does anybody know of any such algorithm or can give a small code snippet which does this?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If it is not possible, then is it correct to assume that Given a problem P with size $n$, if it can not be solved in $O(f(n))$ time by any known algorithm, then the lower bound of P is $\Omega(f(n))$.&lt;/p&gt;&#xA;" OwnerUserId="6571" LastEditorUserId="1546" LastEditDate="2011-09-18T13:06:29.783" LastActivityDate="2011-09-21T14:23:09.877" Title="Is it possible that time complexity of any algorithm decreases as the input size increases, are there any examples" Tags="&lt;ds.algorithms&gt;" AnswerCount="2" CommentCount="11" ContentLicense="CC BY-SA 3.0" />
  <row Id="8253" PostTypeId="1" CreationDate="2011-09-18T00:19:30.657" Score="0" ViewCount="75" Body="&lt;p&gt;This question might be a little ill-specified, but the idea I want to explore is:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;User writes a bunch of queries that they want to perform over some data (for concreteness, just consider it a read-only database table)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The schema for the data is specified&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Using this input, what data structures need to be generated to &quot;efficiently&quot; query the table? The program would read the input data and then generate a bunch of indexess/pre-aggregations so that the queries will be ultra fast.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For a really simple example, say I have a table of logs:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;(URL, IP address, user agent, response code)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;And I input a queries like:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;select * where URL = http://foo&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Then it should know to automatically generate an index on the URL field.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If I also specify:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;select count(*) from table group by IP_address desc limit 20&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;or however you specify the 20 most common IP addresses, then it should also generate some pre-aggregation that is efficient (think of having 100 million rows).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm sure I am not specifying the problem completely, but I found some papers that seem related, i.e. &lt;a href=&quot;http://scholar.google.com/scholar?cluster=1230153639822613926&amp;amp;hl=en&amp;amp;as_sdt=0,5&quot; rel=&quot;nofollow&quot;&gt;http://scholar.google.com/scholar?cluster=1230153639822613926&amp;amp;hl=en&amp;amp;as_sdt=0,5&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Looking for more references in this area. This is a computer science/algorithm question; I'm not looking for ways implement to implement this with MySQL or anything like that. Thanks.&lt;/p&gt;&#xA;" OwnerUserId="6572" LastActivityDate="2012-03-05T16:49:54.207" Title="How to automatically generate indexes and preaggregations from queries" Tags="&lt;reference-request&gt;&lt;ds.data-structures&gt;&lt;db.databases&gt;&lt;relational-structures&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8254" PostTypeId="2" ParentId="8246" CreationDate="2011-09-18T09:48:04.043" Score="6" Body="&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Operational_semantics#Structural_operational_semantics&quot;&gt;Structural operational semantics&lt;/a&gt; is standard technology in theory of programming languages in which execution of a program is described as a series of transitions, each of which yields a valid program.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are well-known mechanisms for dealing with or avoiding substitution in the execution of a program. Probably the most common one is that of keeping a run-time environment, which correspond to the subtitution we would have made so far, as well as to the run-time stack.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As far as homoiconicity is concerned, there are several options:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;In Kleene's number realizability each piece of data is represented by a number. This holds for machines themselves, so we have homoiconicity, as every infinite object (function with infinite domain, a real number, an infinite sequence) is represented by a number, which can be understood as its &lt;a href=&quot;http://en.wikipedia.org/wiki/Goedel_code&quot;&gt;Goedel code&lt;/a&gt; or &quot;source code&quot;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;In theory of programming languages there are programming constructs that explicitely yield homoiconicity, for example the &lt;code&gt;quote&lt;/code&gt;/&lt;code&gt;unqoute&lt;/code&gt; mechanism in PCF+quote.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The general buzz word you may want to look up is &lt;em&gt;meta programming&lt;/em&gt;, see e.g. &lt;a href=&quot;http://eprints.mdx.ac.uk/5929/1/Tratt-Program_Logics_for_Homogeneous_Meta-Programming-.pdf&quot;&gt;this random paper&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="705" LastActivityDate="2011-09-18T09:48:04.043" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8255" PostTypeId="1" CreationDate="2011-09-18T13:34:12.327" Score="4" ViewCount="587" Body="&lt;p&gt;Kleinberg's HITS Algorithm (&lt;a href=&quot;http://www.cs.cornell.edu/home/kleinber/auth.pdf&quot; rel=&quot;nofollow&quot;&gt;Authoritative sources in a hyperlinked environment&lt;/a&gt;) requires the hub (/authority) vector to be normalized after each step of the iteration $x(k+1) = A.x(k)$, in order to guarantee convergence of the algorithm. However, as the matrix is reducible, uniqueness is not guaranteed.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm primarily interested in knowing what would happen to the vector if it is not normalized after each iteration. Is it possible to guarantee convergence (even if not uniqueness) under some special cases when the vector is not normalized. For instance, when $\parallel A \parallel_{\infty} \leq 1$ or when $A$ represents the adjacency matrix of a graph.&lt;/p&gt;&#xA;" OwnerUserId="6535" LastActivityDate="2011-09-18T13:34:12.327" Title="Convergence of HITS Algorithm in the absence of Normalization" Tags="&lt;reference-request&gt;&lt;matrices&gt;&lt;ni.networking-internet&gt;" AnswerCount="0" CommentCount="0" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="8256" PostTypeId="2" ParentId="8211" CreationDate="2011-09-18T14:14:36.953" Score="2" Body="&lt;p&gt;Any answer to this depends hugely on the &lt;strong&gt;vocabulary&lt;/strong&gt; you allow in the answer.  If you want your answer in the same language as the input (i.e. as a polynomial), that leads to one set of answers, which is what other posters have been struggling with.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;But&lt;/strong&gt; if you allow your &lt;em&gt;answer vocabulary&lt;/em&gt; to be enlarged, wonderful things can happen.  You can see an example in symbolic vs automatic differentiation: in symbolic differentiation one only allows 'expressions', which tend to blow up pretty badly; in automatic differentiation, one allows &lt;em&gt;straight-line programs&lt;/em&gt; in the answer (even if the input was an expression), which greatly helps to control the expression swell.  For univariate polynomials, James Davenport and I &lt;a href=&quot;http://arxiv.org/abs/1002.0012&quot; rel=&quot;nofollow&quot;&gt;have mused&lt;/a&gt; that you need to throw in cyclotomic polynomials as part of your basic vocabulary as well (see the references as to why these polynomials seem to be the only real source of blow-up, as well as the papers that show various reducibility results between polynomial problems and 3SAT).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In other words, if you allow yourself to vary what you consider an answer a little bit from the classical one, you may just be able to get a rather different answer, i.e. one with a much better complexity.  It depends on your original motivation for asking the question, whether purely theoretical or with an application in mind, to decide whether this variation in vocabulary is acceptable to you.  In the setting where James and I have been thinking about this (symbolic computation), adjusting the vocabulary to make the complexity drop is perfectly acceptable (though seldom done).&lt;/p&gt;&#xA;" OwnerUserId="66" LastEditorUserId="66" LastEditDate="2011-09-20T12:11:30.967" LastActivityDate="2011-09-20T12:11:30.967" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="8257" PostTypeId="1" CreationDate="2011-09-18T22:08:27.587" Score="0" ViewCount="684" Body="&lt;p&gt;Let the objective be to maximize the sum of $f_i(x_i)$ where all $f_i$ are strictly increasing convex functions. Maximizing a convex function is hard as a local maximum might not be a global one. However for the special case described above, since $f_i$ are strictly increasing, from what I understand, the local maximum should be the global one. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If so, are there any special techniques that can optimize the objective (or maybe a piecewise approximation of it) subject to linear inequality constraints quickly?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks&lt;/p&gt;&#xA;" OwnerUserId="6576" LastEditorUserId="186" LastEditDate="2011-09-19T19:47:31.437" LastActivityDate="2012-01-23T08:18:37.900" Title="Maximizing strictly increasing convex function" Tags="&lt;ds.algorithms&gt;&lt;optimization&gt;" AnswerCount="1" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="8258" PostTypeId="2" ParentId="8257" CreationDate="2011-09-18T22:52:38.827" Score="1" Body="&lt;p&gt;I'm sorry I don't fully understand the question, but if the point is to find the maximum, considering the local maximum is the global, then any gradient based method is going to take you directly to it. For instance artificial neural networks (gradient backpropagation).&lt;/p&gt;&#xA;" OwnerUserId="6577" LastActivityDate="2011-09-18T22:52:38.827" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8259" PostTypeId="1" AcceptedAnswerId="8261" CreationDate="2011-09-18T22:56:01.820" Score="19" ViewCount="3221" Body="&lt;p&gt;I think I'm not understanding it, but $\eta$-conversion looks to me as a $\beta$-conversion that does nothing, a special case of $\beta$-conversion where the result is just the term in the lambda abstraction because there is nothing to do, kind of a pointless $\beta$-conversion.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So maybe $\eta$-conversion is something really deep and different from this, but, if it is, I don't get it, and I hope you can help me with it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Thank you and sorry, I know this is part of the very basics in lambda calculus)&lt;/p&gt;&#xA;" OwnerUserId="6577" LastEditorUserId="270" LastEditDate="2014-03-24T08:26:55.217" LastActivityDate="2017-09-01T15:21:16.493" Title="What's the point of $\eta$-conversion in lambda calculus?" Tags="&lt;lo.logic&gt;&lt;lambda-calculus&gt;&lt;extensionality&gt;" AnswerCount="4" CommentCount="1" FavoriteCount="10" ContentLicense="CC BY-SA 3.0" />
  <row Id="8260" PostTypeId="2" ParentId="8259" CreationDate="2011-09-18T23:46:44.843" Score="7" Body="&lt;p&gt;$\eta$-reduction captures the notion of &lt;em&gt;extensionality&lt;/em&gt; - two functions are considered equal iff they give the same outputs on the same inputs. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;One way of formalizing this notion is the following: if we consider the relation $=_{\beta \eta}$, the transitive-reflexive closure of relation $\rightarrow_{\beta\eta}$, it is natural to characterize this relation in terms of inference rules of an equational theory (e.g.: rules of the form: if $M=N$, then $\lambda x.M = \lambda x.N$ and so on - characterizing $=_{\beta}$ requires about 7 rules of this kind).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, replacing $=_{\beta}$ with $=_{\beta\eta}$ amounts to introducing the axiom $\lambda x. Mx = M$, which is equivalent to the &lt;em&gt;extensionality rule&lt;/em&gt;: if $Mx=Nx$, then $M=N$. This is exactly the notion that two functions equal on all input arguments should be considered identical.&lt;/p&gt;&#xA;" OwnerUserId="2083" LastActivityDate="2011-09-18T23:46:44.843" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="8261" PostTypeId="2" ParentId="8259" CreationDate="2011-09-19T00:00:23.543" Score="22" Body="&lt;p&gt;&lt;strong&gt;Update [2011-09-20]:&lt;/strong&gt; I expanded the paragraph about $\eta$-expansion and extensionality. Thanks to Anton Salikhmetov for pointing out a good reference.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\eta$-conversion $(\lambda x . f x) = f$ is a special case of $\beta$- conversion &lt;em&gt;only&lt;/em&gt; in the special case when $f$ is itself an abstraction, e.g., if $f = \lambda y . y y$ then $$(\lambda x . f x) = (\lambda x . (\lambda y . y y) x) =_\beta (\lambda x . x x) =_\alpha f.$$ But what if $f$ is a variable, or an application which does not reduce to an abstraction?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In a way $\eta$-rule is like a special kind of extensionality, but we have to be a bit careful about how that is stated. We can state extensionality as:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;for all $\lambda$-terms $M$ and $N$, if $M x = N x$ then $M = N$, or&lt;/li&gt;&#xA;&lt;li&gt;for all $f, g$ if $\forall x . f x = g x$ then $f = g$.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;The first one is a meta-statement about the terms of the $\lambda$-calculus. In it $x$ appears as a formal variable, i.e., it is part of the $\lambda$-calculus. It can be proved from $\beta\eta$-rules, see for example Theorem 2.1.29 in &lt;em&gt;&quot;Lambda Calculus: its Syntax and Semantics&quot;&lt;/em&gt; by Barendregt (1985). It can be understood as a statement about all the &lt;em&gt;definable&lt;/em&gt; functions, i.e., those which are denotations of $\lambda$-terms.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The second statement is how mathematicians usually understand mathematical statements. The theory of $\lambda$-calculus describes a certain kind of structures, let us call them &quot;&lt;em&gt;$\lambda$-models&lt;/em&gt;&quot;. A $\lambda$-model might be uncountable, so there is no guarantee that every element of it corresponds to a $\lambda$-term (just like there are more real numbers than there are expressions describing reals). Extensionality then says: if we take any two things $f$ and $g$ in a $\lambda$-model, if $f x = g x$ for all $x$ in the model, then $f = g$. Now even if the model satisfies the $\eta$-rule, it need not satisfy extensionality in this sense. (Reference needed here, and I think we need to be careful how equality is interpreted.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are several ways in which we can motivate $\beta$- and $\eta$-conversions. I will randomly pick the category-theoretic one, disguised as $\lambda$-calculus, and someone else can explain other reasons.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let us consider the typed $\lambda$-calculus (because it is less confusing, but more or less the same reasoning works for the untyped $\lambda$-calculus). One of the basic laws that should holds is the exponential law $$C^{A \times B} \cong (C^B)^A.$$ (I am using notations $A \to B$ and $B^A$ interchangably, picking whichever seems to look better.) What do the isomorphisms $i : C^{A \times B} \to (C^B)^A$ and $j : (C^B)^A \to C^{A \times B}$ look like, written in $\lambda$-calculus? Presumably they would be $$i = \lambda f : C^{A \times B} . \lambda a : A . \lambda b : B . f \langle a, b \rangle$$ and $$j = \lambda g : (C^B)^A . \lambda p : A \times B . g (\pi_1 p) (\pi_2 p).$$&#xA;A short calculation with a couple of $\beta$-reductions (including the $\beta$-reductions $\pi_1 \langle a, b \rangle = a$ and $\pi_2 \langle a, b \rangle = b$ for products) tells us that, for every $g : (C^B)^A$ we have $$i (j g) = \lambda a : A . \lambda b : B . g a b.$$&#xA;Since $i$ and $j$ are inverses of each other, we expect $i (j g) = g$, but to actually prove this we need to use $\eta$-reduction twice: $$i(j g) = (\lambda a : A . \lambda b : B . g a b) =_\eta (\lambda a : A . g a) =_\eta g.$$&#xA;So this is one reason for having $\eta$-reductions. Exercise: which $\eta$-rule is needed to show that $j (i f) = f$?&lt;/p&gt;&#xA;" OwnerUserId="705" LastEditorUserId="705" LastEditDate="2011-09-20T21:17:53.950" LastActivityDate="2011-09-20T21:17:53.950" CommentCount="10" ContentLicense="CC BY-SA 3.0" />
  <row Id="8263" PostTypeId="2" ParentId="8259" CreationDate="2011-09-19T05:54:38.380" Score="10" Body="&lt;p&gt;In order to answer this question, we can provide the following quotation from the corresponding monograph “Lambda Calculus. Its Syntax and Semantics“ (Barendregt, 1981):&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;The point of introducing of $\beta\eta$-reduction is to provide an axiom for provable statements in extensional $\lambda$-calculus [the $\lambda + \text{ext}$ theory, where $\text{ext}$ stands for the rule $M x = N x \Rightarrow M = N$] such that it would have Church–Rosser property.&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;Proposition. $M =_{\beta\eta} N \Leftrightarrow \lambda\eta \vdash M = N \Leftrightarrow \lambda + \text{ext} \vdash M = N$.&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;[Its proof is based on the following theorem.]&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;Theorem (by Curry). The theories $\lambda + \text{ext}$ and $\lambda\eta$ are equivalent… [Its proof consists of two parts: $(\text{ext}) \Rightarrow (\eta)$ and vice versa.]&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;One of the reasons to consider the system $\lambda\eta$ is that it has a certain property of completeness… [Namely, in the sense of the following theorem.]&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;Theorem. Let $M$ and $N$ both have a normal form. Then, either $\lambda\eta \vdash M = N$, or $\lambda\eta + M = N$ is inconsistent…&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;HP-complete [after Hilbert–Post] theories correspond to maximum consistent theories in theory of models for the first-order logic.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerDisplayName="user5456" LastEditorDisplayName="user5456" LastEditDate="2011-09-20T05:24:27.763" LastActivityDate="2011-09-20T05:24:27.763" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8264" PostTypeId="2" ParentId="8259" CreationDate="2011-09-19T09:24:51.783" Score="8" Body="&lt;p&gt;Just to add to Andrej's very good answer: the theory of untyped $\lambda$-calculus with $\beta$ and $\eta$ reduction rules satisfies some very nice properties:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;It is &lt;em&gt;consistent&lt;/em&gt; in the sense that there are two terms, for example $\lambda x y.x$ and $\lambda x y.y$ that are &lt;em&gt;not&lt;/em&gt; $\beta\eta$ equivalent. This is a consequence of the &lt;em&gt;confluence theorem&lt;/em&gt; for $\beta\eta$ reduction.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;It is a &lt;em&gt;maximal&lt;/em&gt; consistent theory in the following sense: if $\iota$ is an&lt;br&gt;&#xA;equivalence relation on terms such that:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;It is closed by congruence: $u\ =_\iota\ v \Rightarrow t\ u\ =_\iota\ t\ v$ &#xA;etc.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;It equates 2 &lt;em&gt;non $\beta\eta$ equivalent terms&lt;/em&gt; that are &lt;em&gt;normal forms&lt;/em&gt;: there &#xA;exists $t$ and $u$ in normal form such that $t=_\iota u$ and &#xA;$t\neq_{\beta\eta}u$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Then the theory is &lt;em&gt;inconsistent&lt;/em&gt;: for &lt;em&gt;every&lt;/em&gt; term $t$, &#xA;      $u$ in normal form, $t=_{\beta\eta\iota}u$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is a consequence of B&amp;ouml;hm's theorem.&lt;/p&gt;&#xA;" OwnerUserId="3984" LastEditorUserId="3984" LastEditDate="2017-09-01T15:21:16.493" LastActivityDate="2017-09-01T15:21:16.493" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8265" PostTypeId="1" AcceptedAnswerId="8274" CreationDate="2011-09-19T11:49:19.827" Score="-3" ViewCount="154" Body="&lt;p&gt;I want to work with a &lt;a href=&quot;http://en.wikipedia.org/wiki/B-tree&quot; rel=&quot;nofollow&quot;&gt;b-tree&lt;/a&gt; of any size. I want to do something with &lt;strong&gt;all&lt;/strong&gt; leaves of the lowest depth $d$. Then if a certain condition holds, I want to recursively consider the same condition for the leaves at depth $d-1$... and so on.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What's the best performing solution with this behavoir?&lt;/p&gt;&#xA;" OwnerUserId="5406" LastEditorUserId="43" LastEditDate="2011-09-19T13:55:23.643" LastActivityDate="2011-09-20T09:04:39.433" Title="Working with all leaves on a certain level of a b-tree" Tags="&lt;ds.data-structures&gt;&lt;tree&gt;" AnswerCount="3" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8272" PostTypeId="2" ParentId="8243" CreationDate="2011-09-19T18:47:54.207" Score="-14" Body="&lt;p&gt;I do not know the example but yes n^n will belong to class NP ...&lt;/p&gt;&#xA;" OwnerUserId="6592" LastActivityDate="2011-09-19T18:47:54.207" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="8274" PostTypeId="2" ParentId="8265" CreationDate="2011-09-19T22:26:03.020" Score="1" Body="&lt;p&gt;I assume that by &quot;leaves&quot; you mean &quot;nodes,&quot; since in a B-tree all leaves are at the same depth.  As soon as you've examined all nodes at the lowest depth, you've ALREADY spent $\operatorname{O}(n)$ time, so from a theoretical, asymptotic complexity standpoint you can't beat that.  Pretty much whatever approach you do will get $\operatorname{O}(n)$ time, since there are at most half as many nodes at the second lowest level as at the lowest, and so at each stage if you simply traverse every node in the tree up to that depth you will still take only $\operatorname{O}(n)$ time overall.&lt;/p&gt;&#xA;" OwnerUserId="6562" LastActivityDate="2011-09-19T22:26:03.020" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8276" PostTypeId="2" ParentId="8265" CreationDate="2011-09-20T05:01:41.417" Score="0" Body="&lt;p&gt;It sounds like you may be talking about the B-Tree variant B+ Tree, in which the upper levels also contain keys (or leaf information). In that case, you would to an ordinary traversal to accomplish what you want.&lt;/p&gt;&#xA;" OwnerUserId="6365" LastActivityDate="2011-09-20T05:01:41.417" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8277" PostTypeId="1" CreationDate="2011-09-20T06:31:40.257" Score="3" ViewCount="146" Body="&lt;p&gt;This is a problem I met in my work. I thought about it for about two weeks, no result. I don't know whether it has been studied before by others?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Problem Description&lt;/strong&gt;: Given an $m\times n$ matrix $M$ with entries valued 0 or 1. Let $r_i$ denote the $i^{th}$ row,&#xA;$c_i$ denote the $i^{th}$ column and $t_{ij}$ denote the entry in the $i^{th}$ row and $j^{th}$ column. Find a $k \times n$ submatrix $A$ of $M$, such that in $A$&#xA;\begin{equation}&#xA;\forall_{r_i}{ \exists_{c_a,c_b}{ \forall_{r_j \ne r_i}{\left(  t_{ia} \ne t_{ib} \land t_{ja} = t_{jb} \right) } } }.&#xA;\end{equation}&#xA;$k$ is the parameter&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The selected rows satisfy the following condition: For each row $r_i$, there exist two columns $c_a, c_b$, such that entries of the two columns at row $i$ are different, and at the remaining rows are the same.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Could someone give me &lt;strong&gt;any reference for it&lt;/strong&gt;, if it has been studied before ? Thank you very much. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;At first, I thought it was a special case of Minimum Test Set problem, however, it turns out not. &lt;/p&gt;&#xA;" OwnerUserId="6108" LastEditorUserId="6108" LastEditDate="2011-09-20T15:14:02.833" LastActivityDate="2011-09-20T19:56:38.700" Title="Maximum rows to partially distinguish all the columns" Tags="&lt;cc.complexity-theory&gt;&lt;co.combinatorics&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="8279" PostTypeId="2" ParentId="8211" CreationDate="2011-09-20T08:20:20.937" Score="0" Body="&lt;p&gt;The general circuit/formula minimization is certainly harder than identity testing, since the minimum formula size of any identity is simply zero. As for how much harder, I don't have a definitive answer but perhaps the &quot;reconstruction algorithms&quot; studied in arithmetic circuits/formulae might be something along these lines. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In these cases, you are give a blackbox and told that it is a formula in some class $\mathcal{C}$ (say a depth $3$ circuit). The goal is to construct a representation of the blackbox in (something close to) $\mathcal{C}$. Typically, most reconstruction results assume blackbox identity tests for the class, randomness, and sometimes other kinds of queries. Such reconstruction algorithms are available for certain restricted classes of circuits but not all classes for which we know blackbox PITs. Shpilka and Yehudayoff have &lt;a href=&quot;http://www.cs.technion.ac.il/~shpilka/publications/SY10.pdf&quot; rel=&quot;nofollow&quot;&gt;a fantastic survey (pdf)&lt;/a&gt; on arithmetic circuits, and one of the chapters is entirely on reconstruction algorithms. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;But in your case, you say $d$ is a constant and hence even if the input was given as a blackbox, there are reconstruction algorithms for sparse polynomials. So maybe the above comments are not too interesting in this case. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, in the case of $d=2$, there are structure theorems for quadratics. Under a linear transformation on the variables, any quadratic can be rewritten in the form $x_1x_2 + x_3x_4 + .. + x_{2k-1}x_{2k} + \ell$. This property was used by Bogdanov and Viola for constructing &lt;a href=&quot;http://www.cse.cuhk.edu.hk/~andrejb/pubs/lowdeggen.pdf&quot; rel=&quot;nofollow&quot;&gt;PRGs for low degree polynomials (pdf)&lt;/a&gt; (Lemma 17 of their paper). &lt;/p&gt;&#xA;" OwnerUserId="877" LastEditorUserId="877" LastEditDate="2011-09-20T08:30:59.290" LastActivityDate="2011-09-20T08:30:59.290" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8281" PostTypeId="2" ParentId="8265" CreationDate="2011-09-20T09:04:39.433" Score="0" Body="&lt;p&gt;I think you might want to reconsider the recursive solution in this case to be an iterative one.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In that case, what you want is simply a &lt;a href=&quot;http://en.wikipedia.org/wiki/Breadth-first_search&quot; rel=&quot;nofollow noreferrer&quot;&gt;breadth-first search&lt;/a&gt; on the tree, which is really an iterative algorithm. If you insist, it is possible to implement a BFS recursively: &lt;a href=&quot;https://stackoverflow.com/questions/2969033/recursive-breadth-first-travel-function-in-java-or-c&quot;&gt;here&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As for performing it in reverse order, it is impossible to know what nodes comprise the leaves of a tree without traversing it completely, (or storing auxiliary information in the nodes), so you may as well perform a BFS, store the result in a stack and then print it out from the stack (which will reverse the order).&lt;/p&gt;&#xA;" OwnerUserId="6597" LastEditorUserId="-1" LastEditDate="2017-05-23T11:33:33.907" LastActivityDate="2011-09-20T09:04:39.433" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8283" PostTypeId="1" CreationDate="2011-09-20T09:38:09.403" Score="0" ViewCount="163" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Possible Duplicate:&lt;/strong&gt;&lt;br&gt;&#xA;  &lt;a href=&quot;https://cstheory.stackexchange.com/questions/1574/do-you-use-any-article-organizers&quot;&gt;Do you use any article organizers?&lt;/a&gt;  &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&#xA;&#xA;&lt;p&gt;As part of my Ph.D. studies I need to create an overview of recently (since 2000) published papers with impact on my study field.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Creating a list of articles isn't a problem, but what I also want to do is to follow the most cited articles and authors (after I'm done with this).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there some tool, that would allow me to store the articles and then simplify the most cited authors/articles search?&lt;/p&gt;&#xA;" OwnerUserId="2245" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2011-09-20T15:33:21.267" Title="Tool for managing scientific papers" Tags="&lt;soft-question&gt;&lt;software&gt;&lt;citations&gt;" AnswerCount="0" CommentCount="8" ClosedDate="2011-09-20T15:33:09.397" ContentLicense="CC BY-SA 3.0" />
  <row Id="8284" PostTypeId="2" ParentId="8252" CreationDate="2011-09-20T14:28:37.313" Score="5" Body="&lt;p&gt;Actually, there is a really interesting example of a real-world algorithm whose running time decreases with increasing input size: Support Vector Machine (SVM) training using a (specific) stochastic gradient descent approach.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In SVM training, we are after a classifier (linear in this work) that attains a certain error rate.  That error rate depends both on (1) the approximation error, (2) the estimation error, and (3) on the optimization error.  (1) has to do with the richness of the function class---what's the best that a (say) linear function can do on this particular input distribution?  (2) has to do with the difference between measuring error on the training set and measuring error on the real distribution (or a test set).  (3) has to do with how well the optimization problem is solved---in general, you cannot get a zero-cost solution on the training data.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;As more training data is available (ie the input size increases), the estimation error decreases.  In other words, there is less of a difference between the empirical and true error.  So to get the same overall error level, we can actually increase the amount of acceptable optimization error.  Interestingly, the overall effect is a net gain: one can actually run the training procedure for less time with more data.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The specific algorithm is called PEGASOS and their nice paper demonstrates this effect theoretically and with experiments.  See in particular eq (10) of&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Shai Shalev-Shwartz and Nathan Srebro.  &lt;a href=&quot;http://ttic.uchicago.edu/~nati/Publications/SSSICML08.pdf&quot;&gt;SVM Optimization: Inverse Dependence on Training Set Size&lt;/a&gt;.  ICML 2008.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Note: I kept this discussion at a very high level since the details are a bit subtle to someone without a machine learning background.)&lt;/p&gt;&#xA;" OwnerUserId="6245" LastActivityDate="2011-09-20T14:28:37.313" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8285" PostTypeId="1" AcceptedAnswerId="8288" CreationDate="2011-09-20T15:16:01.473" Score="7" ViewCount="560" Body="&lt;p&gt;In order to characterize regular languages one finds the following definition useful:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Let $\Sigma$ be an alphabet and $L\subseteq\Sigma^*$. Say that $x,y\in\Sigma^*$ are $\equiv_L$-related, and write $x\equiv_L y$ if for all $z\in\Sigma^*$, $xz\in L$ if and only if $yz\in L$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;This is useful because $\equiv_L$ is an equivalence relation for every language $L$, and a language is regular if and only if the index of $\equiv_L$ (that is, the number of equivalence classes) is finite, as per Myhill-Nerode.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, I would like to define a binary operation $\cdot$ on $\Sigma^*_{/\equiv_L}$ as: $[x]\cdot[y]=[xy]$, where $[x]$ is the $\equiv_L$-equivalence class of $x$. This $\cdot$ will be operation that will give $\Sigma^*_{/\equiv_L}$ the structure of a monoid.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is: Is $\cdot$ well defined for an arbitrary language? How do I prove it?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So far, my approach has been trying to prove that the definition above is equivalent to:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Let $\Sigma$ be an alphabet and $L\subseteq\Sigma^*$. Say that $x,y\in\Sigma^*$ are $\sim_L$-related, and write $x\sim_L y$ if for all $w,z\in\Sigma^*$, $wxz\in L$ if and only if $wyz\in L$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;This is simple for regular languages, since one can take a minimal DFA and analyze its behaviour with strings that are $\sim_L$-related, but I'm struggling with a general proof. Maybe I'm missing something really simple, but in the paper where I found the &quot;definition&quot; of syntactic monoid, they just take $\Sigma_{/\equiv_L}$ and say &quot;this is the monoid&quot; without specifying the operation, and now that I'm trying to do it with full detail I'm completely stuck. Thanks in advance for your help!&lt;/p&gt;&#xA;" OwnerUserId="5396" LastEditorUserId="5396" LastEditDate="2011-09-20T16:02:32.223" LastActivityDate="2011-09-20T18:32:31.307" Title="On the relation for the Myhill-Nerode theorem/syntactic monoid of a language" Tags="&lt;fl.formal-languages&gt;&lt;algebra&gt;&lt;regular-language&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="8288" PostTypeId="2" ParentId="8285" CreationDate="2011-09-20T18:32:31.307" Score="10" Body="&lt;p&gt;The syntactic monoid of a language $L$, which is $\Sigma^{\ast}$ quotiented by $\sim_{L}$, is usually bigger than the set of equivalence classes of $\Sigma^{\ast}$ quotiented by $\equiv_{L}$. Informally, the Myhill-Nerode relation $\equiv_L$ only cares about the prefixes of a word $w$ (since it reflects the processing of $w$ by a DFA), while the syntactic monoid has to encode the information about all possible infixes of $w$ (otherwise you won't get the algebraic structure $[x]\cdot[y]=[x \cdot y]$)&lt;/p&gt;&#xA;" OwnerUserId="2083" LastActivityDate="2011-09-20T18:32:31.307" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="8289" PostTypeId="2" ParentId="8277" CreationDate="2011-09-20T19:50:51.623" Score="1" Body="&lt;p&gt;This is not an answer, only an extended comment on a possible transformation of the problem (hope it is correct :-).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Each row can be &quot;mapped&quot; to a $n \times (n-1) / 2$ &lt;em&gt;&quot;extended&quot;&lt;/em&gt; row. Each element of the extended row represents a pair of elements in the original row and is set to 1 if the two elements are different, set to 0 if the two elements are the same.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;row_i = 10011  &#xA;        ^1100   (*)&#xA;         ^011   &#xA;          ^11&#xA;           ^0&#xA;&#xA;extended_row_i = 1100 011 11 0&#xA;&#xA;(*) note that in building the extended row, when the current bit (marked with ^)&#xA;is 0, the remaining bits are just copied and when the current bit is 1 the&#xA;remaining bits are inverted&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;We can extend each row and obtain an &lt;em&gt;&quot;extended&quot; matrix&lt;/em&gt;. For example the matrix:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;10011&#xA;01101&#xA;00011&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Becomes:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;1100 011 11 0&#xA;1101 010 10 1&#xA;0011 011 11 0&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;And the original problem reduces to find a submatrix of the &lt;em&gt;&quot;extended&quot; matrix&lt;/em&gt; with exactly one 1 in each column.&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2011-09-20T19:56:38.700" LastActivityDate="2011-09-20T19:56:38.700" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8291" PostTypeId="1" CreationDate="2011-09-20T21:22:30.553" Score="0" ViewCount="94" Body="&lt;p&gt;I'm experimenting with using CART (or maybe Random Forest) to classify genomic data.&#xA;There are essentially two classes, whereof one is the 'normal' state and the other is the 'exceptional' state.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, I don't know how to properly set up a training set, because the 'normal' class appears with a much higher frequency (about factor 1000) than the 'exceptional' class.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In order to get the CART to work properly, do I rather use a 1:1 ratio of the samples in my training set or keep the 1000:1 ratio?,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm quite a beginner in this field, so any help is appreciated.&lt;/p&gt;&#xA;" OwnerUserId="6605" LastActivityDate="2011-09-21T17:56:39.480" Title="Designing an appropriate training set for CART classification using imbalanced data" Tags="&lt;machine-learning&gt;&lt;decision-trees&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="8292" PostTypeId="1" AcceptedAnswerId="8293" CreationDate="2011-09-21T00:56:20.140" Score="6" ViewCount="310" Body="&lt;p&gt;Suppose that $k$ different voters have each produced a partial ordering of candidates $1,\ldots,n$. For example, if $k=3$ and $n=4$, the voters may have produced the partial orders&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$1&amp;lt;2$&lt;/li&gt;&#xA;&lt;li&gt;$2&amp;lt;1&amp;lt;3&amp;lt;4$&lt;/li&gt;&#xA;&lt;li&gt;$2&amp;lt;3&amp;lt;1$&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Our goal is to fuse all these into a single ranking of the candidates in a way that minimizes conflicts. The following seems like a natural way to do this. Given a total order $L$, let $C(i,j)$ be the number of the partial orders which rank $i$ and $j$ in the opposite way from $L$ (i.e., if $L$ ranks $i$ before $j$, $C(i,j)$ equals the number among the $k$ partial orders that rank $j$ before $i$).  We seek to find a total order $L$ which minimizes $\sum_{i&amp;lt;j} C(i,j)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This seems like it would be a well-studied problem, but I have been unable to find any references, likely because I'm not aware of the right keywords. Can any one point me towards papers where algorithms for this problem were considered? &lt;/p&gt;&#xA;" OwnerUserId="6606" LastActivityDate="2011-09-21T22:51:43.693" Title="Finding a ranking which minimizes the number of conflicts" Tags="&lt;ds.algorithms&gt;" AnswerCount="3" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="8293" PostTypeId="2" ParentId="8292" CreationDate="2011-09-21T02:23:18.450" Score="5" Body="&lt;p&gt;This is a special case of metric $1$-medians, where the metric space is $S_n$ (the symmetric group on $n$ elements) with distance function number of inversions (i.e. the distance between two permutations is the number of pairs $i, j: i&amp;lt;j$ s.t. $i$ and $j$ are ordered differently). This distance metric is also known as Kemeny distance and is related to the weak Bruhat order. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=1411513&quot; rel=&quot;nofollow&quot;&gt;paper&lt;/a&gt; by Ailon, Charikar, and Newman considers this and related problems. The problem you're asking about is called Rank Aggregation in their paper. Look at their intro for more references. The problem is NP-hard. A simple 2-approximation is to pick the best of the given $k$ permutations (i.e. the permutation that minimizes the objective function). Here is a proof:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $\pi$ be the optimal permutation and $\pi_{j^*}$ the best of $\pi_1, \ldots, \pi_k$. For any $i, j \in [k]$, by the triangle inequality, $d(\pi_i, \pi) + d(\pi_j, \pi) \geq d(\pi_i, \pi_j)$. Sum over all $i, j$, and you get $2n\mathsf{OPT} \geq \sum_j{\mathsf{ALG}(j)}$, where $\mathsf{ALG(j)}$ is the cost of choosing $\pi_j$ as the solution, and $\mathsf{OPT}$ is the cost of the optimal solution. Since $\pi_{j^*}$ was chosen so that $\mathsf{ALG}(j^*)$ is minimum over all $\mathsf{ALG}(j)$ for $j \in [k]$, we have $\mathsf{ALG}(j^*) \leq \sum_j{\mathsf{ALG}(j)} /n$ and we have $\mathsf{ALG}(j^*) \leq 2\mathsf{OPT}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The paper I referred you to above has another, almost equally simple 2-approximation (but the proof is not that simple, though still not bad). They can show that the bad cases for the two approximation algorithms are different, and taking the better solution of the two gives 11/7 approximation factor. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then there is also a PTAS by Mathieu and Schudy (Warren sometimes visits this site btw), by a reduction to weighted Minimum Feedback Arc Set in Tournamets (the same reduction is used in the previous paper, I think). Here is the &lt;a href=&quot;http://www.cs.brown.edu/~ws/papers/fast_journal.pdf&quot; rel=&quot;nofollow&quot;&gt;link&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="4896" LastEditorUserId="4896" LastEditDate="2011-09-21T20:30:55.203" LastActivityDate="2011-09-21T20:30:55.203" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8294" PostTypeId="2" ParentId="8292" CreationDate="2011-09-21T05:03:45.877" Score="4" Body="&lt;p&gt;Your conflict measure is called the &lt;a href=&quot;http://en.wikipedia.org/wiki/Kendall_tau_distance&quot; rel=&quot;nofollow&quot;&gt;Kendall tau distance&lt;/a&gt;. The total order that minimizes these conflicts is the winner of the &lt;a href=&quot;http://en.wikipedia.org/wiki/Kemeny%E2%80%93Young_method&quot; rel=&quot;nofollow&quot;&gt;Kemeny-Young voting method&lt;/a&gt;.  &lt;a href=&quot;http://en.wikipedia.org/wiki/Kemeny%E2%80%93Young_method#Calculation_methods&quot; rel=&quot;nofollow&quot;&gt;Computing the winner&lt;/a&gt; of the Kemney-Young voting method is NP-hard.&lt;/p&gt;&#xA;" OwnerUserId="3964" LastActivityDate="2011-09-21T05:03:45.877" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8297" PostTypeId="1" AcceptedAnswerId="8429" CreationDate="2011-09-21T07:20:38.410" Score="14" ViewCount="779" Body="&lt;p&gt;Beigi, Shor and Watrous have a very nice &lt;a href=&quot;http://arxiv.org/abs/1004.0411&quot; rel=&quot;nofollow&quot;&gt;paper&lt;/a&gt; on the power of quantum interactive proofs with short messages. They consider three variants of 'short messages', and the specific one I care about is their second variant where any number of messages can be sent, but the total message length must be logarithmic. In particular they show that such interactive proof systems have the expressive power of BQP.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What I want to know is whether there are analogous results for the multi-prover setting, either for classical or quantum verifiers. Are any non-trivial complexity results known for multi-prover interactive proofs where the total length of all messages is restricted to be logarithmic in the problem size?&lt;/p&gt;&#xA;" OwnerUserId="204" LastEditorUserId="5385" LastEditDate="2011-10-02T00:11:12.777" LastActivityDate="2011-10-06T17:47:46.213" Title="What is known about multi-prover interactive proofs with short messages?" Tags="&lt;cc.complexity-theory&gt;&lt;quantum-computing&gt;&lt;interactive-proofs&gt;" AnswerCount="1" CommentCount="6" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="8298" PostTypeId="1" CreationDate="2011-09-21T13:21:59.510" Score="5" ViewCount="299" Body="&lt;p&gt;I'm interested in open questions from the book &lt;a href=&quot;http://www.ieor.berkeley.edu/~hochbaum/html/book-aanp.html&quot; rel=&quot;nofollow&quot;&gt;Approximation Algorithms for NP-Hard Problems&lt;/a&gt;s dedicated to k-clustering. They are:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is Euclidean max cut solvable in polynomial time? If not, how well can&#xA;  it be approximated?&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;Does the problem minimizing the sum of distances from points to their&#xA;  cluster centers has good approximation algorithm ?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="5830" LastEditorUserId="5830" LastEditDate="2011-09-24T10:04:51.247" LastActivityDate="2011-09-24T10:04:51.247" Title="k-clustering problems" Tags="&lt;ds.algorithms&gt;&lt;approximation-algorithms&gt;&lt;clustering&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8299" PostTypeId="2" ParentId="8252" CreationDate="2011-09-21T14:23:09.877" Score="5" Body="&lt;p&gt;A classic example would be Euclid's algorithm for computing the gcd. Its running time has peaks when the inputs are consecutive Fibonacci numbers, but can become smaller again as, say, the larger input is increased. Consider e.g. gcd(34,21), where the computation requires 8 iterations, vs. gcd(35,21), where the computation takes only 4 iterations. &lt;/p&gt;&#xA;" OwnerUserId="6579" LastActivityDate="2011-09-21T14:23:09.877" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8301" PostTypeId="2" ParentId="8298" CreationDate="2011-09-21T15:17:03.517" Score="7" Body="&lt;p&gt;The problem of minimizing the sum of distances from points to cluster centers is called the $k$-median problem. In a general metric space, the $k$-median can be approximated to within a factor of $3+\epsilon$ and is $\mathsf{MAX SNP}$-hard. In Euclidean space, the problem admits a PTAS. &lt;a href=&quot;http://www.cs.ucla.edu/~shindler/shindler-kMedian-survey.pdf&quot; rel=&quot;nofollow&quot;&gt;This is a good survey&lt;/a&gt; and has references for the above facts. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2011-09-21T15:17:03.517" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="8302" PostTypeId="1" CreationDate="2011-09-21T15:53:35.873" Score="0" ViewCount="379" Body="&lt;p&gt;I am a PhD student in Theoretical Computer Science I am finishing PhD this year and now I want to apply for post-doc positions. I want to know if there exists a source where can I read about how to apply for post-doc.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is the partial list of questions I am interested in:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) What scholarships exists in my area?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) What Universities have open post-doc positions? Beside Princeton/IAS I did not found organized information in other universities.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;3) How can I chose the right people to ask recommendation letters from?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;4) Assume that someone wants that I will come to his university to do a post-doc and this will require some effort to hire me(need to find money ...), but my first preference is other university which I still do not know if will want to hire me. What should I do in this case.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;5) Any other advises and suggestions about what I should know about application for post-doc. &lt;/p&gt;&#xA;" OwnerUserId="6616" LastEditorUserId="80" LastEditDate="2011-09-21T16:17:04.900" LastActivityDate="2011-09-21T18:16:26.237" Title="What do I need to know about post-doc" Tags="&lt;soft-question&gt;&lt;advice-request&gt;&lt;career&gt;" AnswerCount="2" CommentCount="3" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="8303" PostTypeId="2" ParentId="8302" CreationDate="2011-09-21T16:40:57.563" Score="2" Body="&lt;p&gt;For a broad question, here is a broad answer:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0201626632&quot; rel=&quot;nofollow&quot;&gt;http://amzn.com/0201626632&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="233" LastActivityDate="2011-09-21T16:40:57.563" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8304" PostTypeId="2" ParentId="8211" CreationDate="2011-09-21T17:10:03.737" Score="4" Body="&lt;p&gt;Not exactly the answer but hopefully helps:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This question should be  NP hard already for d=2 if you want to know minimal formula for $n$ polynomials and not just for one.&#xA;The proof is as following:&#xA;There exists one to one correspondence between n bi-linear formulas(formulas of type $\sum a_{ij}x_iy_j$) and &#xA;tensor 3 matrices i.e. elements in $F_2^n\otimes F_2^n\otimes F_2^n $. Such that tensor rank of the matrix is exactly the multiplication complexity of n bi-linear formulas.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is known that tensor rank $3$ is NP-hard problem(probably approximating tensor rank is also NP-hard). Thus multiplication complexity of $n$ bi-linear formulas is NP-hard problem&lt;/p&gt;&#xA;" OwnerUserId="1821" LastEditorUserId="1821" LastEditDate="2011-09-21T19:35:05.903" LastActivityDate="2011-09-21T19:35:05.903" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="8309" PostTypeId="2" ParentId="8302" CreationDate="2011-09-21T18:16:26.237" Score="3" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;1) What scholarships exists in my area?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;At this phase of your education, you should be talking to your advisers on a regular basis, or at least reading all of the material they send out. Usually advisers will send out all kinds of scholarship information as they receive them. So, your best bet is to talk to your adviser. You can also try scholarship search engines, many scholarships are not location-dependent.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;2) What Universities have open post-doc positions? Beside Princeton/IAS I did not found organized information in other universities.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;This one is tricky and I recommend talking to your adviser here also. Many opportunities aren't advertised openly - it isn't always what you know, but who you know. Also consider that there may be opportunities and projects in different departments other than CS that need services a CS student can provide. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you've already looked but couldn't find anything, then contact the advisers at those schools.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;3) How can I chose the right people to ask recommendation letters from?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Think about all of the people in the institution you have worked with. Advisers, teachers, mentors, ... Now, you want to choose the best people based on :&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Choose those who knew you and worked close to you&lt;/li&gt;&#xA;&lt;li&gt;How high ranked are they, how much relation do they have to your desired postdoc position?&lt;/li&gt;&#xA;&lt;li&gt;How well do they think of you? Did you do good work for them? Did you get high grades in the class? Were they &quot;wow!&quot;ed by your performance?&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;4) Assume that someone wants that I will come to his university to do a post-doc and this will require some effort to hire me(need to find money ...), but my first preference is other university which I still do not know if will want to hire me. What should I do in this case.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;It's up to you. I think it's better to be open to everyone that you haven't decided yet so they are more understanding if you take a different route. When an offer does come up, just like a job, I think you can wait about a week before deciding. After that, you are stretching your luck.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Just remember that you don't want to burn any bridges here, be patient and open, and a solid offer has much more weight than a &quot;maybe&quot;. &lt;/p&gt;&#xA;" OwnerUserId="6618" LastActivityDate="2011-09-21T18:16:26.237" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8311" PostTypeId="2" ParentId="8019" CreationDate="2011-09-21T20:01:56.953" Score="5" Body="&lt;p&gt;Rather late to this question (sorry!).  There is at least a little bit of work.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(1) This appears to&#xA;be an undergrad (Swarthmore) research paper: &#xA;&quot;Optimal Double Coverage In The Art Gallery,&quot; &#xA;Scott Dalane, Andrew Frampton, 2008,&#xA;&lt;a href=&quot;http://www.cs.swarthmore.edu/~adanner/cs97/s08/papers/dalane_frampton.pdf&quot;&gt;PDF link&lt;/a&gt;.  From their conclusion:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;After testing our algorithm on progressively more &#xA;  complex polygons, our algorithm easily does better than $\lfloor 2n/3 \rfloor$ camera placement for double coverage of cameras outside of the the worst case, while &#xA;  the entire program runs in $n^2$ time...&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;(2) I also found a 2007 German Ph.D. thesis, &quot;Facility Location and Related Problems,&quot;&#xA;by Martin Romauch (&lt;a href=&quot;http://othes.univie.ac.at/361/1/12-03-2007_9460262.pdf&quot;&gt;PDF link&lt;/a&gt;),&#xA;that includes a chapter on the &quot;Vertex Guard Double Cover problem,&quot;&#xA;showing that it is NP-hard for polygons with holes.&#xA;He also shows that the right combinatorial bound is $\lfloor 2n/3 \rfloor$&#xA;(disappointingly obvious!).  I have only skimmed through this, but it is certainly&#xA;worth a look.&lt;/p&gt;&#xA;" OwnerUserId="337" LastActivityDate="2011-09-21T20:01:56.953" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="8313" PostTypeId="2" ParentId="8243" CreationDate="2011-09-21T21:21:50.297" Score="-2" Body="&lt;p&gt;Any algorithm that iterates once over a set of size $n^n$; such as all length $n$ strings on a size $n$ alphabet.&lt;/p&gt;&#xA;" OwnerUserId="2021" LastActivityDate="2011-09-21T21:21:50.297" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8314" PostTypeId="1" CreationDate="2011-09-21T22:49:25.260" Score="8" ViewCount="6669" Body="&lt;p&gt;I am interested in a few algorithms for creating prefix codes:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Shannon%27s_noiseless_coding_theorem&quot; rel=&quot;noreferrer&quot;&gt;Shannon coding&lt;/a&gt;: we take $l_i=\lceil -\log p_i\rceil$.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Shannon%E2%80%93Fano_coding&quot; rel=&quot;noreferrer&quot;&gt;Shannon-Fano coding&lt;/a&gt;: list probabilities in decreasing order and then split them in half at each step to keep the probability on each side balanced. Then codes/lengths come from resulting binary tree.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;My question is whether one of these algorithms always provides a better $L=\sum p_i l_i$? In a few examples I've done, Shannon-Fano seems better. Is this always true? Do you have any references or proofs? I realize these aren't the two best algorithms (Huffman coding is optimal). I'm just interested in comparing them.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit: Well, no interest so far? I guess this stuff isn't all that exciting, but I'd still like to know. Here's what I've come up with after some more google searching/playing around with numbers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Practically, Shannon-Fano is often optimal for a small number of symbols with randomly generated probability distributions, or quite close to optimal for a larger number of symbols. I haven't found an example yet where Shannon-Fano is worse than Shannon coding.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In Shannon's &lt;a href=&quot;http://cm.bell-labs.com/cm/ms/what/shannonday/shannon1948.pdf&quot; rel=&quot;noreferrer&quot;&gt;original 1948 paper&lt;/a&gt; (p17) he gives a construction (equivalent to Shannon coding above) and claims that Fano's construction (Shannon-Fano above) is substantially equivalent, without any real proof. I haven't been able to find a copy of Fano's 1949 technical report to see whether it has any analysis.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thomas and Cover's Elements of Information Theory says that Fano codes give $L \leq H +2$ and Shannon codes give $L \leq H+1$. However the &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0019995877800119&quot; rel=&quot;noreferrer&quot;&gt;reference&lt;/a&gt; they give for the Fano code analysis I think applies to alphabetical codes where you're not allowed to reorder the probabilities.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Stefan Moser's &lt;a href=&quot;http://moser.cm.nctu.edu.tw/docs/it_script.pdf&quot; rel=&quot;noreferrer&quot;&gt;Information Theory Lecture Notes&lt;/a&gt; (pp 50-59) agree with my historical analysis above and purport to prove that for Fano codes we have $l_i \leq \lceil -\log p_i \rceil$ which would be sufficient to prove they are better than Shannon codes. However I don't follow the proof and I think I have a counterexample:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Take probabilities $(0.4, 0.26, 0.02, 0.02, 0.02, \ldots, 0.02)$ (we have 17 0.02's so that probabilities add to 1). Then Shannon coding has lengths $(2,2,6,6,6,\ldots,6)$ while Fano coding splits between 0.4 and 0.26 and then for the 0.6 probability on the right it splits between the second and third 0.02. Continuing on we see that 0.26 is encoded with a length of 3, larger than Shannon length. However, the average length is still less for Fano than for Shannon (according to my program implementing Fano coding).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, am I doing something wrong? Can you see how to construct a probability distribution to make Shannon code perform better than Fano, or a way to prove it's not possible?&lt;/p&gt;&#xA;" OwnerUserId="6623" LastEditorUserId="6623" LastEditDate="2011-09-23T09:09:50.160" LastActivityDate="2013-11-11T14:17:40.987" Title="Comparing Shannon-Fano and Shannon coding" Tags="&lt;it.information-theory&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="8315" PostTypeId="2" ParentId="8292" CreationDate="2011-09-21T22:51:43.693" Score="1" Body="&lt;p&gt;If you are looking for different approaches/algorithms to the problem, perhaps the right &quot;google keywords&quot; are &lt;strong&gt;Rank aggregation&lt;/strong&gt; or &lt;strong&gt;Weighted rank aggregation&lt;/strong&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example see the paper &quot;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.113.2507&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;nofollow&quot;&gt;Rank Aggregation Revisited&lt;/a&gt;&quot; by C.Dwork, R.Kumar, M.Naor, D.Sivakumar.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The &lt;em&gt;rank aggregation problem&lt;/em&gt; is to combine many different rank orderings on the same set of candidates, or alternatives, in order to obtain a “better” ordering. Rank aggregation has been studied extensively in the context of social choice theory, where several “voting paradoxes” have been discovered. The problem also arises in many other settings:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Sports and Competition: How to determine the winner of a season, how to rank players or how to compare players from different eras?&lt;/li&gt;&#xA;&lt;li&gt;Machine Learning: Collaborative filtering and meta-search; Statistics: Notions of Correlation;&lt;/li&gt;&#xA;&lt;li&gt;Database Middleware: Combining results from multiple databases.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;At the bottom of the article there are plenty of references.&lt;/p&gt;&#xA;" OwnerUserId="3247" LastActivityDate="2011-09-21T22:51:43.693" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8316" PostTypeId="1" AcceptedAnswerId="22397" CreationDate="2011-09-22T01:09:07.120" Score="8" ViewCount="352" Body="&lt;p&gt;I'm looking to link a problem I'm working on to a known NP-hard problem.  I think I can model my problem as a resource constrained shortest path problem.  However, the structure of my graph is not completely arbitrary.  Thus, it will be useful to know when RCSP becomes hard.  Is it hard for a DAG, for a planar DAG, for a DAG with bounded degree?  Any help would be greatly appreciated!&lt;/p&gt;&#xA;" OwnerUserId="4619" LastEditorUserId="80" LastEditDate="2011-09-22T16:03:28.967" LastActivityDate="2014-05-02T18:31:37.427" Title="On which classes of graphs is resource constrained shortest path (RCSP) NP-hard?" Tags="&lt;cc.complexity-theory&gt;&lt;graph-algorithms&gt;&lt;np-hardness&gt;&lt;optimization&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8317" PostTypeId="1" AcceptedAnswerId="8345" CreationDate="2011-09-22T09:56:12.813" Score="16" ViewCount="1111" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;Are there cases where extra publications can hurt your record?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;This is avoiding the obvious cases where you publish incorrect, or controversial results. Also avoiding the case of finite-time: you only have so much time to think and write, so writing a paper might cause you to lose time on another project. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;An example use-case might be: you are aiming for a position in theoretical computer science, but often publish in non-theoretical areas which might be under the broader CS canopy or maybe even completely unrelated to CS. On the one hand, this can show broad interests and breadth. On the other hand, this could show a lack of focus, opportunism, or lack of commitment to the field.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can you avoid the problem by simply listing 'selected publications' on your CV that tailors to the specific position, or will the hiring committee always google scholar you? If so, when should you consider not publishing or publishing under pseudonym (or alternative spelling of name)?&lt;/p&gt;&#xA;" OwnerUserId="1037" LastActivityDate="2011-09-25T22:37:45.907" Title="When are more publications less?" Tags="&lt;soft-question&gt;&lt;advice-request&gt;&lt;career&gt;" AnswerCount="4" CommentCount="4" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="8318" PostTypeId="2" ParentId="8317" CreationDate="2011-09-22T10:11:27.513" Score="14" Body="&lt;p&gt;IMHO&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;If you publish a lot of papers a low quality venues, then this will hurt you. You are better off having a few papers at high quality venues, and perhaps a few at medium quality venues, just to get the work out that doesn't get accepted at the top venues. If the medium quality venues reject the work, then perhaps there's a reason for it.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Papers not published at high quality venues tend not to be cited – this is the other criteria that hiring committees will judge.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Publishing papers under the broader CS umbrella certainly would not hurt you – it demonstrates that you are more than a one trick pony.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;And yes, they will google scholar you and check other citation indices. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;If you were to consider publishing under a pseudonym, I would start questioning the quality/motivation of the work being produced. Or perhaps it's poetry ....&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="77" LastEditorUserId="77" LastEditDate="2011-09-22T14:14:58.420" LastActivityDate="2011-09-22T14:14:58.420" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="8319" PostTypeId="1" CreationDate="2011-09-22T10:48:06.533" Score="8" ViewCount="268" Body="&lt;p&gt;I recently attended a &lt;a href=&quot;http://www.cmi.ac.in/~pseudorandom/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Workshop on Pseudorandomness&lt;/a&gt; in &lt;a href=&quot;http://www.cmi.ac.in/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Chennai Mathematical Institute&lt;/a&gt; on Pseudorandomness. Venkat Guruswami made the following beautiful statement in passing during his talk (on coding theory):&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;It is remarkable how much one can prove using the simple fact that a&#xA;  degree $d$ polynomial over a field can have at most $d$ roots.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I believe this is also called the Stepanov Method (in those applications, typically roots occur with large multiplicity as well). One place where I've seen this is in &lt;a href=&quot;http://arxiv.org/pdf/1104.4557v1&quot; rel=&quot;nofollow noreferrer&quot;&gt;a paper on square root bounds for the smallest non-residue&lt;/a&gt; by Michael Forbes, Neeraj Kayal, Rajat Mittal and Chandan Saha . &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This principal was highlighted in the workshop with the unique and list decoding of Reed-Solomon code (&lt;a href=&quot;http://www.cs.washington.edu/education/courses/cse533/06au/&quot; rel=&quot;nofollow noreferrer&quot;&gt;which can be found in this course&lt;/a&gt;, for example) in Venkat's talk. In Neeraj Kayal's talk, he gave two other examples -- the proofs of the Finite Field Kakeya Conjecture and the Joints Conjecture (both of which can be found in this &lt;a href=&quot;http://www.cs.princeton.edu/~zdvir/papers/Dvir09b.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt; very nice survey&lt;/a&gt; by Zeev Dvir). Other examples that I can think of is &lt;a href=&quot;http://eccc.hpi-web.de/report/2010/096/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Dana Moshkovitz's proof of the Schwartz-Zippel Lemma&lt;/a&gt;, and another favourite of mine is the &lt;a href=&quot;http://www.cse.iitk.ac.in/users/manindra/algebra/primality_v6.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;AKS Primality test&lt;/a&gt; which (if I'm allowed to make a stretch) uses only this fact essentially. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I was wondering if there are other examples of elegant results using (essentially) just this simple fact. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This post is closely related to the earlier question &quot;&lt;a href=&quot;https://cstheory.stackexchange.com/questions/2774/polynomial-method-for-complexity-results&quot;&gt;Polynomial methods for complexity results&lt;/a&gt;&quot; but that was for a more general 'polynomial method'. &lt;/p&gt;&#xA;" OwnerUserId="877" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2011-09-22T11:25:17.353" Title="Results in computer science via the Stepanov method" Tags="&lt;reference-request&gt;&lt;polynomials&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="8320" PostTypeId="1" CreationDate="2011-09-22T10:53:34.467" Score="4" ViewCount="153" Body="&lt;p&gt;Assume that $C$ is an arithmetic circuit of size $s$ that computes function $f(\vec{x},\vec{y})\in C[x_1,x_2,\ldots,x_d,y_1\ldots y_n]$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does it always possible to find a basis $\vec{x}_1,\vec{x}_2,\ldots, \vec{x}_d$ for $C^d$ such that there exists a circuit of size $o(d)s$ which computes $d$ polynomials $f(\vec{x}_1),f(\vec{x}_2),\ldots f(\vec{x}_d)$ in $y_1,y_2,\ldots y_n$? &lt;/p&gt;&#xA;" OwnerUserId="1821" LastEditorUserId="1821" LastEditDate="2011-09-22T13:17:58.257" LastActivityDate="2011-09-22T13:17:58.257" Title="Evaluations of arithmetic circuits" Tags="&lt;cc.complexity-theory&gt;&lt;circuit-complexity&gt;" AnswerCount="0" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8321" PostTypeId="2" ParentId="6932" CreationDate="2011-09-22T11:19:43.660" Score="6" Body="&lt;p&gt;There is a &lt;a href=&quot;http://arxiv.org/abs/1109.3743&quot; rel=&quot;nofollow&quot;&gt;recent article&lt;/a&gt; on implementing a quantum von Neumann architecture. They do this via superconducting qubits, of course the implementation is very small, with only 7 quantum parts: two superconducting qubits, a quantum bus, two quantum memories, and two zeroing registers. This allows their quantum CPU to perform one-, two-, and three-qubit gates on qubits, and the memory allows (data) qubits to be written, read out, and zeroed. As is mentioned in Peter Shor's answer, implementing a quantum superposition of gates is very difficult, and so the program is stored classically.&lt;/p&gt;&#xA;" OwnerUserId="1037" LastActivityDate="2011-09-22T11:19:43.660" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8322" PostTypeId="2" ParentId="8319" CreationDate="2011-09-22T11:25:17.353" Score="4" Body="&lt;p&gt;This may be too obvious, but the correctness proof of the Schwartz-Zippel randomized algorithm for polynomial identity testing uses essentially just this fact, plus induction. &lt;/p&gt;&#xA;" OwnerUserId="6579" LastActivityDate="2011-09-22T11:25:17.353" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8323" PostTypeId="1" CreationDate="2011-09-22T12:00:09.843" Score="2" ViewCount="187" Body="&lt;p&gt;Reduction from PCPs allow us to prove hardness of approximation results for a number of constraint satisfaction problems. I've seen such a reductions only for Max-CSPs. Is this possible only for Max-CSPs? In other words, can someone get hardness of approximation result for a Min-CSP (for example, Vertex-Cover or &lt;a href=&quot;http://en.wikipedia.org/wiki/Cut_%28graph_theory%29#Sparsest_cut&quot; rel=&quot;nofollow&quot;&gt;sparsest-cut&lt;/a&gt;) by reduction from PCPs?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If it is always possible to convert a Min-CSP to an equivalent Max-CSP, then maybe this answers my question. But, I don’t know whether it is always possible or not.&lt;/p&gt;&#xA;" OwnerUserId="4222" LastEditorUserId="186" LastEditDate="2011-09-22T21:30:24.780" LastActivityDate="2011-09-22T21:30:24.780" Title="hardness of approximation result for a Min-CSP, by reduction from PCPs" Tags="&lt;cc.complexity-theory&gt;&lt;approximation-hardness&gt;&lt;csp&gt;&lt;pcp&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8325" PostTypeId="1" AcceptedAnswerId="8326" CreationDate="2011-09-22T12:49:46.907" Score="-1" ViewCount="1723" Body="&lt;p&gt;What is the best solution for Inversion of &lt;a href=&quot;http://en.wikipedia.org/wiki/Burrows%E2%80%93Wheeler_transform&quot; rel=&quot;nofollow&quot;&gt;Burrows-Wheeler Transform&lt;/a&gt;?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One with the least number of steps.&#xA;(Best solution =&gt; One with a smaller average-case or worst-case time complexity)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hopefully, a smaller time-complexity than  &lt;a href=&quot;http://en.wikipedia.org/wiki/Burrows%E2%80%93Wheeler_transform#Example&quot; rel=&quot;nofollow&quot;&gt;this one&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="6627" LastEditorUserId="6627" LastEditDate="2011-09-22T18:35:38.183" LastActivityDate="2011-09-22T18:35:38.183" Title="Inverse of Burrows-Wheeler Transform" Tags="&lt;ds.algorithms&gt;" AnswerCount="1" CommentCount="12" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="8326" PostTypeId="2" ParentId="8325" CreationDate="2011-09-22T14:48:37.567" Score="11" Body="&lt;p&gt;Do you mean construction or inversion of BWT?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For construction, the best algorithm is probably the one by &lt;a href=&quot;http://dx.doi.org/10.1007/978-3-642-03784-9_9&quot;&gt;Okanohara and Sadakane&lt;/a&gt;. It takes $O(n)$ time and usually requires $2n$ to $2.5n$ bytes of memory for an input of length $n$. There is an implementation available at &lt;a href=&quot;https://code.google.com/p/csalib/&quot;&gt;Google code&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am not that familiar with BWT inversion algorithms. The papers of Kärkkäinen and Puglisi at &lt;a href=&quot;http://dx.doi.org/10.1007/978-3-642-15775-2_39&quot;&gt;ESA 2010&lt;/a&gt; and &lt;a href=&quot;http://www.cs.helsinki.fi/juha.karkkainen/publications/ccp2011.pdf&quot;&gt;CCP 2011&lt;/a&gt; might provide a good starting point.&lt;/p&gt;&#xA;" OwnerUserId="56" LastActivityDate="2011-09-22T14:48:37.567" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8327" PostTypeId="2" ParentId="8208" CreationDate="2011-09-22T15:12:09.923" Score="-1" Body="&lt;p&gt;May I propose an answer to my own question thanks to your comments : the variant of Critical SAT is in P. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let us call &quot;Problem 1&quot; the variant of Critical SAT : Given a 3-CNF expression $F$, is it true that  $F$ is satisfiable but adding any clause out of $F$ makes it unsatisfiable?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;And &quot;Problem 2&quot; : Given a 3-CNF expression $F$ , is it true that $F$ contains all the clauses it implies  and  has a unique model ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a 3-CNF formula, $F$ .&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $F$ is a yes instance of problem 2, then any clause out of $F$ is not implied by $F$ and then covers the only one possible satisfying assignment for $F$ . Adding such a clause to $F$ makes it unsastifiable. $F$ is consequently a yes instance of problem 1.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $F$ is a no instance of problem 2, then : &#xA;Case 1 : it exists a clause out of $F$ which is implied by $F$ . Then adding this clause to $F$ doesn't change its satisfiability. $F$ is consequently a no instance of problem 1.&#xA;Case 2 : $F$ contains all the clauses it implies but is unsatisfiabe. $F$ is consequently a no instance of problem 1.&#xA;Case 3 : $F$ contains all the clauses it implies but has at least 2 different models. As Kaveh's comment underlines it, « assume that the models differ on variable p, then adding a clause containing it will not change satisfiability. »  $F$ is consequently a no instance of problem 1.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then, $F$ is a yes instance of problem 1 iff $F$ is a yes instance of problem 2. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Problem 2 is clearly a P problem (for instance, $F$ is a yes instance of problem 2 iff there are exactly $\binom{n}{3}$ = $\frac{n(n-1)(n-2)}{3}$ clauses out of F with no opposite litterals in any two of them – $n$ is the number of variables). So is Problem 1.&lt;/p&gt;&#xA;" OwnerUserId="6346" LastEditorUserId="6346" LastEditDate="2011-09-22T23:30:59.323" LastActivityDate="2011-09-22T23:30:59.323" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="8328" PostTypeId="2" ParentId="8323" CreationDate="2011-09-22T18:14:22.720" Score="4" Body="&lt;p&gt;One reason we see Max-CSPs more is that they often capture convex optimization problems for which minimization is easy (e.g., Max-CUT vs Min-CUT).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A Min-CSP is equivalent to a Max-CSP when you negate all the constraints. So minimization and maximization are equivalent if you're asking for the optimum solution. But this reduction is not approximation preserving in the sense that, say, a constant factor approximation of the negated CSP does not necessarily imply a constant factor approximation of the original CSP. Approximation of Max-CSPs and Min-CSPs can however be studied under the unified framework of &quot;generalized CSPs&quot;, when constraints have weights and can be fractionally satisfied. Prasad Raghavendra's thesis is a good resource about this.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The specific problem of Vertex-Cover is not really a CSP in the standard sense. However the approximation of the problem is captured by the so-called &quot;free-bit complexity&quot; of PCPs. See &quot;Free bits, PCPs and non-approximability -- towards tight results&quot; by Bellare, Goldreich, and Sudan.&lt;/p&gt;&#xA;" OwnerUserId="6190" LastEditorUserId="6190" LastEditDate="2011-09-22T18:38:22.543" LastActivityDate="2011-09-22T18:38:22.543" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="8330" PostTypeId="2" ParentId="8317" CreationDate="2011-09-22T21:21:27.547" Score="12" Body="&lt;p&gt;Never underestimate hiring committee members. It is likely that any manipulation you can think of, they will think of as well. They are more experienced than you and they already saw various types (all types ?) of applications.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Sure, if you have papers in various fields, some persons can say that you have a lack of focus, while others will take that as an opportunity to broaden the scope of their team. At the end of the day, it is more a matter of how balanced your application is, on how known your results/you are, etc.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Don't confuse good (resp. poor) papers and good (resp. weak) conferences/journals. IMHO, there is no such thing as a weak conference or journal (BTW it is not really true, there are terrible conf. and journals, but that can be easily detected since they are basically frauds maintained by crooks). There is only good, weak, false etc. papers. Of course some conferences/journals have mainly &quot;good&quot; papers. But what is a good paper ? If you are young, it is likely that nobody can really assess the global merit of your papers, unless you solve some long-standing problem. But it is surely possible to assess your technical merit, your work integrity (in applied fields), your seriousness, your ability to communicate,etc. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;About google scholar. Not all the hiring committee will use it, but you will always have someone that will do. Most probably your strongest ally and your opponents : the first to find some evidence that you are good, the others for the contrary.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, finally my advice is to always show ALL your publications, but in a list with clear category : journal/conf/other stuff, and field by field if necessary. And keep in mind that in a hiring committee, there is always someone in charge of verifying that list.&lt;/p&gt;&#xA;" OwnerUserId="76" LastActivityDate="2011-09-22T21:21:27.547" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8331" PostTypeId="2" ParentId="8243" CreationDate="2011-09-22T22:08:38.070" Score="6" Body="&lt;p&gt;Following a &lt;a href=&quot;https://cstheory.stackexchange.com/questions/8285/on-the-relation-for-the-myhill-nerode-theorem-syntactic-monoid-of-a-language/8288&quot;&gt;question I asked recently&lt;/a&gt;, I think the following problem is $\Theta(n^n)$:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Given a DFA $\mathcal{A}=(Q,\Sigma,\delta,q_0,F)$ with $n$ states, compute the syntactic monoid of $L=L(\mathcal{A})$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Or, if you prefer a decision problem:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Given a DFA $\mathcal{A}=(Q,\Sigma,\delta,q_0,F)$ with $n$ states and a finite monoid $M$, is $M$ isomorphic to the syntactic monoid of $L(\mathcal{A})$?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Let's justify the bound. Assume $\mathcal{A}=(Q,\Sigma,\delta,q_0,F)$ is minimal. The size of the syntactic monoid of $L$ is the index of the following equivalence relation:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;$x\sim y$ iff for all $u,v\in\Sigma^*$, $uxv\in L$ if and only if $uyv\in L$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The following is a characterization of this relation when $L$ is regular:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Let $\mathcal{A}=(Q,\Sigma,\delta,q_0,F)$ be a minimal DFA for $L$. Then $x\sim y$ if and only if for every $q\in Q$, $\hat\delta(q,x)=\hat\delta(q,y)$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Now, assume $\mathcal{A}=(Q,\Sigma,\delta,q_0,F)$ is fixed and consider the following notation: for $q\in Q$, $L_q$ is the language accepted by the automaton $(Q,\Sigma,\delta,q,F)$, that is, $\mathcal{A}$ with a (possibly) different initial state. In particular, $L=L_{q_0}$. Consider now the relation used for the Myhill-Nerode theorem (the one for the minimal DFA):&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;$x\equiv_Ly$ iff for all $z\in\Sigma^*$, $xz\in L$ if and only if $yz\in L$,&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;which is characterized with minimal automata:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Given a minimal DFA $\mathcal{A}$ for $L$, $x\equiv_Ly$ iff $\hat\delta(q_0,x)=\hat\delta(q_0,y)$&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;With this, we can rewrite the previous characterization as follows:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Let $\mathcal{A}=(Q,\Sigma,\delta,q_0,F)$ be a minimal DFA for $L$. Then $x\sim y$ if and only if for every $q\in Q$, $x\equiv_{L_q} y$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Now, the index of $\equiv_{L_q}$ is equal to the size of the minimal DFA that accepts $L_q$, and this number is bounded by $n$. Thus, the index of $\sim$ is bounded by $n^n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This should give you a rough idea. I think the tightness of the bound is proved in &lt;a href=&quot;http://arxiv.org/abs/1010.3263&quot; rel=&quot;nofollow noreferrer&quot;&gt;this paper&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="5396" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2011-09-22T22:08:38.070" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8332" PostTypeId="1" CreationDate="2011-09-22T22:14:58.847" Score="5" ViewCount="196" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;Q1. Is there a logic that is computable in polynomial-time which contains all order-invariant properties computable in smaller classes like $\mathsf{AC^0}$ (or  $\mathsf{TC^0}$)?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;h3&gt;Motivation&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;As you probably know, finding a logic that captures order-invariant polynomial-time computable properties of graphs is one of the open problems (maybe &#xA;&lt;em&gt;the&lt;/em&gt; open problem) in descriptive complexity. A negative answer would imply $mathsf{P} \neq \mathsf{NP}$. On the other hand, a positive answer has interesting consequences also, the one that I find most interesting is existence of an optimal proof system. Roughly, we want to enumerate all polynomial-time computable properties of graphs using only polynomial-time machines that depends only on the graph (not on the labeling/coding, i.e. a machine in the enumeration returns the same answer for all automorphisms of the a graph)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is conjectured that there is not such logic. (You can find a more precise formulation of the problem at the bottom of this post.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It has been shown that some well-known logics that capture polynomial-time properties (not necessarily in an order invariant way) like $\mathsf{IFP}$ with order don't capture order-invariant polynomial-time computable properties (but they contain $\mathsf{P\text{-}complete}$ problems under $\mathsf{AC^0}$). More interestingly, $IFP$ cannot compute the parity of a graph. There are similar results for extensions of the logic like $IFP+Count$. On the other hand, we know that $\mathsf{\exists SO}$ captures order-invariant $\mathsf{NP}$ properties. It seem natural to first try to capture the $\mathsf{AC^0}$ properties of graphs before trying to capture graph properties in $\mathsf{P}$, specially in a situation that we know natural logics that contain $\mathsf{P\text{-}complete}$ problems w.r.t. usual $\mathsf{AC^0}$ reductions (which are not order-invariant) can not compute parity. (This might seem confusing at first, the problems are complete under reductions which are dependent on the particular labeling of the graph used. In fact, the question is equivalent to finding a problem which is $\mathsf{P\text{-}complete}$ under order-invariant reductions that are computable in polynomial time.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A positive answer to original question implies a positive answer to Q1. Therefore a negative answer to Q1 implies a negative answer to the original question, which would imply $\mathsf{P} \neq \mathsf{NP}$.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Q2. Does a positive answer to Q1 have any interesting computational complexity implications?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;h3&gt;Background:&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;(Yuri Gurevich, &quot;&lt;a href=&quot;http://research.microsoft.com/en-us/um/people/gurevich/Opera/74.pdf&quot; rel=&quot;nofollow&quot;&gt;Logic and the Challenge of Computer Science&lt;/a&gt;&quot;, 1988, pages 25-26)&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;h3&gt;Definition 1.14.&lt;/h3&gt;&#xA;  &#xA;  &lt;p&gt;A logic $L$ is a pair $(SEN, SAT)$ satisfying the following requirements. &lt;/p&gt;&#xA;  &#xA;  &lt;ul&gt;&#xA;  &lt;li&gt;&lt;p&gt;$SEN$ is a function that associates with every finite signature $\sigma$ a &#xA;  recursive set $SEN(σ)$ whose elements are called $L$-sentences of signature $\sigma$.  &lt;/p&gt;&lt;/li&gt;&#xA;  &lt;li&gt;&lt;p&gt;$SAT$ is a function that associates with every finite signature $\sigma$ a recursive subset $SAT(\sigma)$ of &#xA;  $$\{(S, \varphi):  S  \text{ is a finite  first-order } \sigma\text{-structure and } \varphi \text{ is an } L \text{-sentence of signature } \sigma \}$$&#xA;  such that if structures $S$ and $S&amp;#39;$ are isomorphic and $(S, \varphi)$ belongs to $SAT(\sigma)$ then $(S&amp;#39;, \varphi)$ belongs to $SAT(\sigma)$ as well. If $(S, \varphi)$ belongs to some $SAT(\sigma)$, we say that $S$ satisfies $\varphi$.&lt;/p&gt;&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;  &#xA;  &lt;h3&gt;Definition 1.15&lt;/h3&gt;&#xA;  &#xA;  &lt;p&gt;If $L$ is a logic and $\varphi$ is an $L$-sentence of some signature $\sigma$, then &#xA;  $MOD(\varphi)$ be the set of $\sigma$-structures satisfying $\varphi$.&lt;/p&gt;&#xA;  &#xA;  &lt;h3&gt;Definition 1.16&lt;/h3&gt;&#xA;  &#xA;  &lt;p&gt;A logic $L$ captures polynomial time if: &lt;/p&gt;&#xA;  &#xA;  &lt;ol&gt;&#xA;  &lt;li&gt;&lt;p&gt;For every $L$-sentence $\varphi$, the class $MOD(\varphi)$ is polynomial time recognizable; moreover, for every $\sigma$ there is a Turing machine $M$ that, given an $L$-sentence $\varphi$ of signature $\sigma$, produces a polynomial time bounded Turing machine $M(\varphi)$ that recognizes $MOD(\varphi)$. &lt;/p&gt;&lt;/li&gt;&#xA;  &lt;li&gt;&lt;p&gt;For every polynomial time recognizable class $K$ of structures of some signature &#xA;  $\sigma$, if $K$ is closed under isomorphisms then there is an $L$-sentence $\varphi$ of signature $\sigma$ such that $MOD(\varphi) = K$.&lt;/p&gt;&lt;/li&gt;&#xA;  &lt;/ol&gt;&#xA;  &#xA;  &lt;h3&gt;Remark&lt;/h3&gt;&#xA;  &#xA;  &lt;p&gt;In this section, a polynomial time bounded Turing machine can be &#xA;  viewed as a pair $(T,p)$ where $T$ is a Turing machine and $p$ is a polynomial with &#xA;  integer coefficients; $(T,p)$ accepts an input $w$ of $T$ if $T$ accepts $w$ within $p(|w|)$ steps. &lt;/p&gt;&#xA;  &#xA;  &lt;h3&gt;Conjecture&lt;/h3&gt;&#xA;  &#xA;  &lt;p&gt;There is no logic that captures polynomial time.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;h3&gt;References:&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;For more information about the original about finding a logic for $\mathsf{P}$ check the slides of &lt;a href=&quot;http://www.karlin.mff.cuni.cz/~krajicek/anuj11.html&quot; rel=&quot;nofollow&quot;&gt;lectures by Anuj Dawar&lt;/a&gt; and references provided there.&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2011-09-26T16:41:03.427" LastActivityDate="2011-09-26T16:41:03.427" Title="Logic capturing automorphism-invariant $\mathsf{AC^0}$ properties" Tags="&lt;cc.complexity-theory&gt;&lt;lo.logic&gt;&lt;descriptive-complexity&gt;&lt;finite-model-theory&gt;" AnswerCount="0" CommentCount="1" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="8333" PostTypeId="1" CreationDate="2011-09-23T09:12:53.197" Score="2" ViewCount="788" Body="&lt;p&gt;i have some question concerning the class PP and PPT machines.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) PP is defined as the class of problems $L$ for wich exist a probabilistic turing machine running in polytime with error probability &amp;lt; 1/2. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would like to know if there exists a complexity class that says in the following way (or something similar). &quot;The class of problem $L$ for wich exist a probabilistic turing machine running in expected(or avarage) polytime with error probability &amp;lt; 1/2.&quot;&#xA;I took a look at complexity zoo, papadimitriou and arora-barak books but nothing seems concerning this aspect.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) Concerning &lt;a href=&quot;http://www.springerlink.com/content/el2w655g5563x64g/&quot; rel=&quot;nofollow&quot;&gt;Goldreich09&lt;/a&gt; it seems that Expected Probabilistic Polinomial Time (EPPT) is defined regarding a strategy. Are there alternatives definition of EPPT not related to adversaries and interactive machines or EPPT is strictly linked with strategies and adversaries?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By question arises for the following reason. In &lt;a href=&quot;http://www.wisdom.weizmann.ac.il/~feige/thesis.ps&quot; rel=&quot;nofollow&quot;&gt;Feige phd thesis&lt;/a&gt; there is written (page 10): &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;A probabilistic Turing Machine is expected polynomial time, if for any input, its expected running time (over random flips) is polynomial.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;This definition don't say anything about adversaries. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;the first question then follows. can we create a complexity set of problem by using Probabilistic TM running in EPPT?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thank in advance.&lt;/p&gt;&#xA;" OwnerUserId="6640" LastEditorUserId="186" LastEditDate="2011-09-23T23:29:34.257" LastActivityDate="2013-04-21T16:44:33.140" Title="Avarage classes for PP (probabilistic polynomial time) and PPT machines running in expected polytime" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;pr.probability&gt;&lt;average-case-complexity&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="8334" PostTypeId="1" AcceptedAnswerId="8656" CreationDate="2011-09-23T09:30:29.283" Score="3" ViewCount="206" Body="&lt;p&gt;My problem is generalization of the simple problem:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Search for item $x$ in a set $S$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is trivial to do it fast if the elements are comparable. Sort the $S$, and do the binary search.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;My problem is that I'm interested in partial match. That is, my items are ordered sets of $n = 15$ numbers, and I consider them equal if they have $m = 10$ numbers (at same position) same. For smaller numbers (like 5 out of 6), I can use $n = 6$ sorted sets that have all $m = 5$ number subsets of preprocessed items and then just do 6 binary searches. But for large numbers $n$ and $m$ where $n - m &amp;gt; 2$ number of sets (the binomial coefficient) explodes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there efficient way to search for a partial match?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The only thing that I could think of is to index each number of the set. For example, when preprocessing size 3 sets:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;{1,2,3},//set0&#xA;{2,3,4}//set1&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Create entries  &lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;1-&amp;gt;(set0,pos0)(position is important), 2-&amp;gt;(set0,pos1),(set1,pos0) ... (4-&amp;gt;set1,pos2)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;and then when I get a new number, I just go for the each number in it and check the sets in which it appears. If there is a set that has many hits (say 10 or more), they are declared the same.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course I could use an array trick (i.e. array[1234] contains the pointer to the list of sets that contain 1234). This works for small ranges. For large ranges, I could hash the number and do modulo.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course this could go very very wrong for some distributions of preprocessed data. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;So is there a better way?&lt;/p&gt;&#xA;" OwnerUserId="6641" LastEditorUserId="2241" LastEditDate="2011-10-19T11:41:30.120" LastActivityDate="2011-10-21T22:15:45.070" Title="Searching for partial match - 1 item to be searched in $n$ preprocessed items" Tags="&lt;co.combinatorics&gt;" AnswerCount="2" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="8335" PostTypeId="1" CreationDate="2011-09-23T11:10:42.427" Score="36" ViewCount="6312" Body="&lt;p&gt;&lt;strong&gt;Background:&lt;/strong&gt; The motivation for this question is two-fold. First, I would like to get some hard facts to better understand the ongoing &lt;a href=&quot;http://cacm.acm.org/magazines/2011/8/114942-journals-for-certification-conferences-for-rapid-dissemination/fulltext&quot;&gt;conferences vs. journals&lt;/a&gt; debate. Second, if this information was somewhere available, I could make a more informed decision when submitting papers for review; I would be happy to favour journals whose editors do a good job at selecting and shepherding referees.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question:&lt;/strong&gt; Are there any TCS journals that have &lt;em&gt;consistently&lt;/em&gt; fast reviewing?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The rules:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;I am not looking for any anecdotal evidence; I would like to see &lt;em&gt;hard facts&lt;/em&gt;, such as &quot;according to our statistics, during the last 3 years, 98% of our submissions were reviewed in at most 4 months&quot;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Only time from the initial submission to the first decision counts. I do not care how long it takes to actually print a physical journal; it is beyond our control anyway.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;A journal that is just a series of conference proceedings does not count. We all know that conference reviewing is quick.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Open-access on-line journals are perfectly fine.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;(And if a journal is so questionable that you would be embarrassed if your name was somehow associated with it, let's skip it entirely.)&lt;/p&gt;&#xA;" OwnerUserId="74" LastEditorUserId="74" LastEditDate="2011-09-23T21:18:17.367" LastActivityDate="2014-07-04T13:57:36.357" Title="Journals with quick reviewing" Tags="&lt;soft-question&gt;&lt;research-practice&gt;&lt;paper-review&gt;&lt;journals&gt;" AnswerCount="6" CommentCount="2" FavoriteCount="10" ContentLicense="CC BY-SA 3.0" />
  <row Id="8336" PostTypeId="2" ParentId="5247" CreationDate="2011-09-23T12:58:09.340" Score="4" Body="&lt;p&gt;Paul Beame has two papers (with various coauthors) where the resolution complexity of certain distributions of random formulas are studied. These formulas arise by expressing properties, such as k-colorability or having independent sets of size k, of random graphs from the usual distribution $G(n,p)$. Here are the links:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.springerlink.com/content/x2128h4432881310/&quot; rel=&quot;nofollow&quot;&gt;Paul Beame, Russell Impagliazzo, and Ashish Sabharwal. The resolution complexity of independent sets and vertex covers in random graphs. Computational Complexity, 16(3):245-297, 2007.&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0166218X0500168X&quot; rel=&quot;nofollow&quot;&gt;Paul Beame, Joe Culberson, David Mitchell, and Cristopher Moore. The resolution complexity of random graph k-colorability. Discrete Applied Mathematics, 153:25-47, 2005.&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="6579" LastActivityDate="2011-09-23T12:58:09.340" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8337" PostTypeId="2" ParentId="8335" CreationDate="2011-09-23T13:11:51.727" Score="28" Body="&lt;p&gt;Glencora Borradaile has &lt;a href=&quot;http://www.glencora.org/silent-glen-speaks/journals-ranked-by-turnover-times-now-with-colour/&quot;&gt;an interactive graph&lt;/a&gt; with turnover time (among other information) for several journals from several sources.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, not included is the first journal I think of with a fast turnaround time: &lt;a href=&quot;http://www.elsevier.com/wps/find/journaldescription.cws_home/505612/description&quot;&gt;Information Processing Letters (IPL)&lt;/a&gt;.  I couldn't find any statistics, but rapid dissemination is their first goal.  When refereeing for a similar Elsevier journal with the same goal of rapid dissemination but with a slightly different scope, they requested my report within about 5 weeks.&lt;/p&gt;&#xA;" OwnerUserId="196" LastActivityDate="2011-09-23T13:11:51.727" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="8338" PostTypeId="2" ParentId="2792" CreationDate="2011-09-23T22:04:42.500" Score="7" Body="&lt;p&gt;In the quantum case, the first protocol to build (classical) oblivious transfer based on (classical) bit commitment using a quantum protocol was proposed in 1991 by Bennett, Brassard, Crépeau and Skubiszewska (http://www.springerlink.com/content/k6nye3kay7cm7yyx/), but a complete proof of security was given only recently by Damgaard, Fehr, Lunemann, Salvail and Schaffner in &lt;a href=&quot;http://arxiv.org/abs/0902.3918&quot;&gt;http://arxiv.org/abs/0902.3918&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For an extension to multi-party computation and a proof in the universal compasability framework, see the work by Unruh: &lt;a href=&quot;http://arxiv.org/abs/0910.2912&quot;&gt;http://arxiv.org/abs/0910.2912&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="6647" LastActivityDate="2011-09-23T22:04:42.500" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8339" PostTypeId="1" AcceptedAnswerId="8353" CreationDate="2011-09-24T01:14:31.857" Score="10" ViewCount="1352" Body="&lt;p&gt;I'm faced with a rather tough dilemma :-&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I had completed M.Tech in CS 2 years back, completing my dissertation in the field of VLSI Testing. While I liked my work, I don't wish to go back to pursue my PhD in that - I've been strongly wanting to pursue a theoretical course (in approximation/online algorithms) as means for obtaining my doctoral degree.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, since I've had no research experience in TCS(Theoretical Computer Science), I'm afraid that would hurt my chances of getting admission to a reasonably good school in the US - whereas, the research experience in VLSI (as well as the LORs from my adviser/committee members, who are well known in the field of VLSI) would have helped me get into a good program (but my enthusiasm in that field has already petered out).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;That's why, I wanted to hear from people who have successfully migrated from their initial research field (in UG/MS level) and have been able to embark on a completely different field for their PhD - how did you explain the reason for your shift in the SOP, whether that affected their chances in getting into a top school etc. Also, for any academics browsing the question, what would be your take on it - do you always prefer students who have a background matching your interests only ?&lt;/p&gt;&#xA;" OwnerUserId="4119" LastActivityDate="2011-10-01T16:40:58.623" Title="How easy is it to switch the area of research in CS (going from M.Tech to PhD)?" Tags="&lt;soft-question&gt;&lt;advice-request&gt;&lt;career&gt;" AnswerCount="3" CommentCount="2" FavoriteCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="8340" PostTypeId="1" CreationDate="2011-09-24T06:50:50.933" Score="2" ViewCount="96" Body="&lt;p&gt;Though everyone seems to say that P vs NP cannot be solved using relativization because there are oracles both $A$ and $B$ such that $\text{P}^A = \text{NP}^A$ and $\text{P}^B \neq \text{NP}^B$, why is it that oracles cannot quantified in terms of power much like how time and space are very strictly limited in reductions?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An example would be that one cannot say that a problem is in L because there is a reduction from the given problem to an L-Complete.  They would clearly have to be more specific and be using a reduction that is log space or less as the problem would not necessarily be in L if it was polynomial time reducible to an L-Complete problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I guess my question ends up being, is there any way to quantify the power of given oracles in a manner such that they can be used for proving results that would not otherwise be provable using relativization?&lt;/p&gt;&#xA;" OwnerUserId="4832" LastEditorUserId="3964" LastEditDate="2011-09-24T15:22:34.830" LastActivityDate="2011-09-24T15:22:34.830" Title="Abilities of Restricted Relativization in Proving Conjectures" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;relativization&gt;" AnswerCount="0" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="8341" PostTypeId="1" AcceptedAnswerId="8348" CreationDate="2011-09-24T06:57:26.157" Score="6" ViewCount="584" Body="&lt;p&gt;I have recently learned the &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=10522&quot;&gt;proof of Haussler and Welzl&lt;/a&gt; of the following theorem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Theorem.&lt;/strong&gt; Suppose we have a set system $\mathcal{F} \subseteq 2^X$, where $X$ is a finite set. Suppose $\mathcal{F}$ has &lt;a href=&quot;http://en.wikipedia.org/wiki/VC_dimension&quot;&gt;VC-dimension&lt;/a&gt; $d$. Then for every $\epsilon &amp;gt; 0$ there exists a hitting set ($\epsilon$-net) of size $O(\frac{d}{\epsilon} \log \frac{1}{\epsilon})$ of the following subfamily of $\mathcal{F}$: $\{F \in \mathcal{F} \mid |F| \geq \epsilon |X|\}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The proof itself is essentially a probabilistic argument. Despite its simplicity it looks very unnatural (we consider very mysterious coupling).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is an interesting non-trivial case: suppose $X$ is a finite set of points in $\mathbb{R}^2$ and $\mathcal{F}$ is a family of subsets of $X$ which can be separated from their complements by half-planes. It is easy to check that in this case $d = 3$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Is there a proof of the existence of a good $\epsilon$-net in this case from the first principles (without introduction of VC-dimension)?&lt;/strong&gt;&lt;/p&gt;&#xA;" OwnerUserId="141" LastEditorUserId="80" LastEditDate="2011-09-24T09:14:18.970" LastActivityDate="2011-09-26T23:20:33.957" Title="Small $\epsilon$-nets for points and half-planes without VC dimension" Tags="&lt;co.combinatorics&gt;&lt;cg.comp-geom&gt;&lt;pr.probability&gt;&lt;vc-dimension&gt;" AnswerCount="4" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8342" PostTypeId="2" ParentId="8339" CreationDate="2011-09-24T15:01:31.517" Score="19" Body="&lt;p&gt;I recently served on the TCS grad admissions committee of MIT, and I can give you my angle on things: When I'm reading applications, what I'm looking for is excellent people who strongly want to pursue research in TCS. The combination of intrinsic ability and strong desire is, in my opinion, the best way to predict success.&#xA;After all, it is our job, once someone becomes a grad student, to help them transform their potential into actual achievements, through courses, advising, etc.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here are some important points :&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Before grad school is a very early stage to change fields. Many&#xA;people shift then. It's acceptable and expected. &lt;/li&gt;&#xA;&lt;li&gt;In your application, explain your changing fields (so the readers understand why the rec letter writers are not from TCS, why you took lots of non-theory courses, etc). Talk about how you learned TCS, what appeals to you in TCS, demonstrate that you know the basics of the field.&lt;/li&gt;&#xA;&lt;li&gt;If you have &lt;em&gt;strong&lt;/em&gt; letters from your supervisors, it still counts for you, even if they are from a different field (strong = from a professor who knows you well and has great things to say about you).&lt;/li&gt;&#xA;&lt;li&gt;If you have research experience (especially if there's some theoretical angle to it), it still counts for you, even if it's in a different field.&lt;/li&gt;&#xA;&lt;li&gt;If you have good grades, it still counts for you, even if they are for courses from a different field. For TCS, math classes are important.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="1621" LastEditorUserId="1621" LastEditDate="2011-10-01T16:40:58.623" LastActivityDate="2011-10-01T16:40:58.623" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8343" PostTypeId="2" ParentId="8341" CreationDate="2011-09-24T16:33:37.203" Score="5" Body="&lt;p&gt;The eps-net theorem is an easy consequence of the eps-sample/approximation theorem. The easiest way to prove the eps-sample theorem is probably via discrepancy.  In this case, you can bound the number of ranges using direct geometric argument, so you do not need the VC dimension argument at all...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For a description of the eps-net theorem via discrepancy, see the book by Bernard Chazelle: &lt;a href=&quot;http://www.cs.princeton.edu/~chazelle/book.html&quot;&gt;http://www.cs.princeton.edu/~chazelle/book.html&lt;/a&gt;. Or the book by Jirka Matousek: &lt;a href=&quot;http://kam.mff.cuni.cz/~matousek/di.html&quot;&gt;http://kam.mff.cuni.cz/~matousek/di.html&lt;/a&gt;. It is also described in my book &lt;a href=&quot;http://goo.gl/pLiEO&quot;&gt;http://goo.gl/pLiEO&lt;/a&gt; (this is an early draft). &lt;/p&gt;&#xA;" OwnerUserId="9594" LastActivityDate="2011-09-24T16:33:37.203" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8344" PostTypeId="1" AcceptedAnswerId="8346" CreationDate="2011-09-24T17:30:31.580" Score="4" ViewCount="263" Body="&lt;p&gt;As far as I know, following operations convert a $PCP_{1,s}[O(\log n),O(1)]$ , to a  $PCP_{1,s’}[O(\log n),O(1)]$, with following $s’$ :&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;By constant number of applications of serial repetition: can get &lt;strong&gt;every&lt;/strong&gt; constant s’&gt;=1/2;&lt;/li&gt;&#xA;&lt;li&gt;By constant number of applications of parallel repetition: can get &lt;strong&gt;every&lt;/strong&gt; constant s’&gt;0;&lt;/li&gt;&#xA;&lt;li&gt;By $\theta(\log n)$ number of applications of Dinur’s gap amplification transformation: can get &lt;strong&gt;some&lt;/strong&gt; constant $s’\geq1/2$; (see “&lt;a href=&quot;http://www.cse.cuhk.edu.hk/~andrejb/pubs/pcpc.pdf&quot; rel=&quot;nofollow&quot;&gt;Gap Amplification Fails Below 1/2&lt;/a&gt;”)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;My questions:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Could you please correct me if I have made any mistakes?&lt;/li&gt;&#xA;&lt;li&gt;What is special with ½ in serial repetition or Dinur’s transformation? why not another constant, like 1/3 or else?&lt;/li&gt;&#xA;&lt;li&gt;Are such a results true for PCPs with imperfect completeness?&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;remark:&#xA;with $PCP_{c,s}$, I mean PCP with completeness c and soundness error s.&lt;/p&gt;&#xA;" OwnerUserId="4222" LastActivityDate="2011-09-24T19:24:33.903" Title="Effect of serial repetition on soundness of a PCP, and what is special with 1/2?" Tags="&lt;cc.complexity-theory&gt;&lt;pcp&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8345" PostTypeId="2" ParentId="8317" CreationDate="2011-09-24T17:33:07.510" Score="19" Body="&lt;p&gt;At Aaron's suggestion, here is &lt;a href=&quot;http://blog.computationalcomplexity.org/2010/07/factors-for-getting-job-arbitrary.html?showComment=1279780783794#c4266864622174242700&quot;&gt;my second comment&lt;/a&gt; from the complexity blog, warts and all.  Italics are (linked) quotes from earlier comments.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;a href=&quot;http://blog.computationalcomplexity.org/2010/07/factors-for-getting-job-arbitrary.html?showComment=1279651589482#c1111167911109090465&quot;&gt;&lt;i&gt;I've seen candidates publishing more than 15 papers a year and then a question was asked whether these 15+ papers are good or not.&lt;/i&gt;&lt;/a&gt;&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;...because more often than not, the answer is no. &lt;em&gt;Most&lt;/em&gt; of the&#xA;  uncharacteristically long CVs I've seen in hiring committee meetings&#xA;  are chock full of crap. Or they're good in the aggregate, but appear&#xA;  to advance their research in too many incremental steps. Even if there&#xA;  are diamonds in the slurry, I have to ask—why did they publish all&#xA;  that other stuff? Why didn't they make one big splash instead of this&#xA;  long, meager dribble? Did they not notice that most of their papers&#xA;  were weak? Are they publishing so many papers to advance the state of&#xA;  the art, or only to make their CV longer? &lt;b&gt;Are they going to value&#xA;  quantity over quality in their own PhD students?&lt;/b&gt; Or am I in fact&#xA;  witnessing a miracle candidate?&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;Despite what &lt;a href=&quot;http://blog.computationalcomplexity.org/2010/07/factors-for-getting-job-arbitrary.html?showComment=1279672477013#c6309417083605897421&quot;&gt;Dr. Anonymous two steps&lt;/a&gt; above me suggests, these are not irrelevant&#xA;  issues. I don't want my department associated with someone known to&#xA;  publish reams of crap, or who wastes my colleagues' time reviewing&#xA;  tons of incremental papers, or who thinks they're Thor's gift to&#xA;  computer science when they're not, or who tries to convince PhD&#xA;  students that their CVs need to look like the Manhattan Yellow Pages.&#xA;  Those aren't the people I want to work with; that's not the culture I&#xA;  want to work in; that's not (in my opinion) what's best for the&#xA;  Advancement of Knowledge™.&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;And notice I said “suspicious”, not “deadly”. &lt;em&gt;Of course&lt;/em&gt; we read&#xA;  recommendation letters and search citation indices and even (gasp)&#xA;  read the actual papers. Sometimes that's enough to allay my&#xA;  suspicions; yes, there are miracle candidates. But just often enough&#xA;  for me to keep my suspicions, they're proven right.&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;&lt;a href=&quot;http://blog.computationalcomplexity.org/2010/07/factors-for-getting-job-arbitrary.html?showComment=1279672477013#c6309417083605897421&quot;&gt;&lt;i&gt;So where exactly does the long CV comes in as a negative, rather than&#xA;  the fact that the person does not have significant contributions?&lt;/i&gt;&lt;/a&gt;&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;The problem isn't just that they may not have significant&#xA;  contributions, but also that they may have too many not-significant&#xA;  contributions. (See &lt;a href=&quot;http://blog.computationalcomplexity.org/2010/07/factors-for-getting-job-arbitrary.html?showComment=1279576096896#c808791584749270158&quot;&gt;my&#xA;  earlier comment&lt;/a&gt; about &quot;max&quot; vs &quot;sum&quot;.)&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;&lt;a href=&quot;http://blog.computationalcomplexity.org/2010/07/factors-for-getting-job-arbitrary.html?showComment=1279672477013#c6309417083605897421&quot;&gt;&lt;i&gt;Sounds like you guys are rationalizing a case of paper envy, rather&#xA;  than following sound academic decisions.&lt;/i&gt;&lt;/a&gt;&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;What the hell is “paper envy”? Result envy or impact envy or&#xA;  reputation envy I could get behind, but &lt;em&gt;paper&lt;/em&gt; envy? Really? Since when&#xA;  are papers something to be envious about?&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;Also: Not publicly taking credit for your opinions? Deeply suspicious.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="111" LastEditorUserId="111" LastEditDate="2011-09-25T07:32:33.043" LastActivityDate="2011-09-25T07:32:33.043" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8346" PostTypeId="2" ParentId="8344" CreationDate="2011-09-24T19:17:18.683" Score="10" Body="&lt;p&gt;Sequential repetition can give you &lt;strong&gt;any&lt;/strong&gt; constant soundness error larger than 0, not just soundness error $\geq 1/2$.&#xA;Dinur's approach gives you a constant soundness error which is not only at least half, but, in fact, extremely close to 1, maybe 0.99999.&#xA;The note of Andrej Bogdanov that you linked to shows that getting a soundness error smaller than half inherently won't work using Dinur's approach. The reason is specific to this approach, and is explained well in the note.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The soundness amplification results work for imperfect completeness as well. It's pretty straightforward to convince yourself of that in the case of sequential/parallel repetition. Dinur's approach can also be adapted to imperfect completeness.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Remark:&lt;/strong&gt; Dinur's approach, just like the other two approaches, requires a number of iterations/repetitions that depends on the soundness you start with and the soundness you want to get. &#xA;In her case it's $\Theta(\log(\frac{1}{1-s}))$ iterations to get to constant soundness. Irit starts with $s\approx 1-\frac{1}{n}$, and that's why she needs $\Theta(\log n)$ iterations.&lt;/p&gt;&#xA;" OwnerUserId="1621" LastEditorUserId="1621" LastEditDate="2011-09-24T19:24:33.903" LastActivityDate="2011-09-24T19:24:33.903" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="8347" PostTypeId="2" ParentId="8339" CreationDate="2011-09-24T20:46:11.617" Score="13" Body="&lt;p&gt;My impression is that admissions committees are generally looking for &quot;strong&quot; students where &quot;strong&quot; is largely defined via prior research experience. i.e. they especially want to know if you've had the experience of doing research, were successful at it and have a good idea if this is something you really want. The letters are important as experienced researchers' evaluation of your research ability and potential and grades give some indication of overall academic aptitude.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So I would claim that the specific area you're interested in is not AS important as having these indications of being a strong researcher through prior research, recommendations and grades (especially in relevant courses). After all it is entirely expected that you might do something different than what you first intended and change directions during grad school.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But obviously the research area is taken into account, particularly when it comes to matching students with faculty (a department would not want to admit 10 theory students if there is only one theory faculty currently taking students).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also I would think it helps if you can show even some small project in the intended area, even if it's an unpublished ArXiv paper, just to show seriousness about the new area.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I personally know someone who was admitted as a networking student and within one year switched and ended up as a very successful theory researcher.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So in short I don't think the change of area will significantly hurt the chances of admission as long as you are an otherwise strong candidate.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(NOTE: This is mostly based on what I saw of the CMU admission process)&lt;/p&gt;&#xA;" OwnerUserId="847" LastActivityDate="2011-09-24T20:46:11.617" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8348" PostTypeId="2" ParentId="8341" CreationDate="2011-09-24T20:56:04.460" Score="10" Body="&lt;p&gt;For the particular case of points and half-planes, there is a simple (but a little tricky) argument that there is $R\subset X$ of size $r$ such that the supporting open half-planes of the convex hull of $R$ each contain at most $O(\log r)/r$ points of $X$. (Such half-planes are exactly the set of half-planes that are bounded by a line through two points of $R$ and contain no points of $R$.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, any open half-plane that contains no points of $R$ is contained in two such supporting half-planes. (I won't give a proof of this.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Therefore, $R$ is an $\epsilon$-net for a size $r$ which is $O(\log(1/\epsilon)/\epsilon$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the existence of such an $R$, suppose $R$ is a random sample of $X$ of size $r$, each member of $R$ chosen independently. Let $\cal H$ be the set of at most $r(r-1)$ open half-planes $H$ bounded by lines through two (or more) points of $R$, and let $\cal H&amp;#39;\subset \cal H$ be the set of $H\in\cal H$ that contain at least $\alpha |X|$ points of $X$, where $\alpha &amp;gt; 0$ is to be determined. For a given $H\in {\cal H}$, the probability that it is in $\cal H&amp;#39;$, and that none of the other $r-2$ points of $R$ falls in $H$, is at most $(1-\alpha)^{r-2}\le \exp(-\alpha(r-2))$. There is $\alpha = O(\log r)/r$ such that this probability is at most $1/2r(r-1)$. Since $\cal H&amp;#39;$ has at most $r(r-1)$ members, by a union bound, the probability that every member of $\cal H&amp;#39;$ contains a point of $R$ is at least $1/2$. So there is some $R$ such that every supporting half-plane of its convex hull contains at most an $\alpha = O(\log r)/r$ fraction of the points of $X$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This sort of argument goes back to at least &lt;a href=&quot;http://www.almaden.ibm.com/u/kclarkson/pubs.html#rpo&quot;&gt;1985&lt;/a&gt;, where $\epsilon$-net results were given for balls and halfspaces, and given in more generality in &lt;a href=&quot;http://www.almaden.ibm.com/u/kclarkson/pubs.html#rs&quot;&gt;1986&lt;/a&gt;, where results for $\epsilon$-nets and a kind of partial $\epsilon$-approximation were given. The set $\cal H$ above, a collection of half-planes defined by a set of points, is generalized to a collection of &quot;regions&quot; defined by a set of &quot;objects&quot;, where the number of defining objects is typically a function of the dimension, but the simple union bound argument is the same. However, not all range spaces of bounded VC dimension fit in this framework.&lt;/p&gt;&#xA;" OwnerUserId="5032" LastActivityDate="2011-09-24T20:56:04.460" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8350" PostTypeId="1" CreationDate="2011-09-25T02:19:41.280" Score="8" ViewCount="510" Body="&lt;p&gt;Given a graph $G$, define the tree graph $T(G)$ as a graph whose vertices are the spanning trees of $G$, and there is an edge between two trees if one can be obtained from the other by replacing a single edge. That is there is an edge $(T_1, T_2)$ if there exists two edges $x, y \in G$ such that $T_1 - x = T_2 - y$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is this: are there some non-trivial lower or upper bounds on the degree of the vertex with minimum degree in $T(G)$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note: I edited the question (last line) a bit to make it less ambiguous&#xA;.&lt;/p&gt;&#xA;" OwnerUserId="6661" LastEditorUserId="6661" LastEditDate="2011-09-25T13:24:00.723" LastActivityDate="2011-09-26T14:16:05.747" Title="Minimum degree of the &quot;tree graph&quot;" Tags="&lt;graph-theory&gt;&lt;tree&gt;" AnswerCount="1" CommentCount="7" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="8351" PostTypeId="2" ParentId="8245" CreationDate="2011-09-25T06:39:23.283" Score="2" Body="&lt;p&gt;It looks as though the case with a fixed $g$ has shown up under the name &quot;knowledge of exponent assumption(s)&quot;--Googling this phrase will turn up a few papers which discuss/use it. In particular I notice &quot;Statistically Hiding Sets&quot; by Prabhakaran and Xue claims to show the assumption holds in the generic group model. There may be more recent information out there, but that should serve as a starting point at least. Long story short, as far as I can tell: It's a nonstandard assumption, but it's not obviously false and some people have built things with it.&lt;/p&gt;&#xA;" OwnerUserId="6666" LastActivityDate="2011-09-25T06:39:23.283" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8352" PostTypeId="2" ParentId="8341" CreationDate="2011-09-25T07:21:02.367" Score="4" Body="&lt;p&gt;There is very easy &quot;deterministic&quot; proof which gives a better $\epsilon$-net: that is, of size $O(\frac{1}{\epsilon})$. You can find it &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=98529&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt; in Section 4.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The idea is the following: we build convex hull of $X$, and then find &lt;em&gt;minimal&lt;/em&gt; $\epsilon$-net that consists only of points from the convex hull.&lt;/p&gt;&#xA;" OwnerUserId="141" LastEditorUserId="141" LastEditDate="2011-09-25T07:32:53.933" LastActivityDate="2011-09-25T07:32:53.933" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8353" PostTypeId="2" ParentId="8339" CreationDate="2011-09-25T08:03:53.847" Score="10" Body="&lt;p&gt;In some departments, PhD students are only admitted if a faculty member is willing and ready to advise/fund them.  You may have a harder time being admitted to these departments to be a theory PhD student if you have not already done some theory research; there's not much incentive for individual faculty members to take risks on  students who are less experienced in their fields, especially when they have to spend hard-earned grant money to do it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Other departments expect their PhD students to float for a year or so, taking a broad swath of classes and maybe working as a teaching assistant, &lt;em&gt;before&lt;/em&gt; settling on a particular research area and advisor.  These departments may be more willing to admit smart students who are switching areas, or just don't know what area they want to work in, because the risk is amortized across the entire department.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Even for the latter departments, though, you want to cast yourself in the best light.  Your statement of purpose should describe your past research experiences in detail (demonstrating the intellectual maturity, independence, stubbornness, etc. required to do research anywhere), before explaining why your current research interests are leaning more toward theory.  In other words, &lt;a href=&quot;https://cstheory.stackexchange.com/users/1621/dana-moshkovitz&quot;&gt;what Dana said&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A few points of personal anecdotal evidence:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Over the last ten years, my department has moved away from the second admission model toward the first.  Our students get into research faster, but we admit fewer generally smart students who don't already have focused research interests/experience.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;David Eppstein may correct me, but the second admission model is how I got into theoretical computer science research.  I applied to UC Irvine to study software engineering.  (I had been a professional software engineer for a few years, so given my &lt;a href=&quot;http://3dpancakes.typepad.com/ernie/2005/03/re_phd_with_low.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;crappy undergrad GPA&lt;/a&gt;, that was the only thing I could credibly claim.)  By the end of the first year, during which I worked as a TA and did not have a formal advisor, I realized that theory was a much better fit.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Amir Nayyeri, one of my most successful PhD students, started his PhD program at UIUC working on sensor networks, because that's what he did as an undergraduate.  But once he was in the door, he decided that he'd rather do theory, took and aced some graduate theory classes, and started doing unpaid theory research &lt;em&gt;while also working as an RA for his sensor-network advisor&lt;/em&gt;.  So switching fields is possible, even in departments where students are pigeonholed from day one.  &lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="111" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2011-09-25T08:09:26.633" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="8354" PostTypeId="1" AcceptedAnswerId="8365" CreationDate="2011-09-25T08:41:36.870" Score="2" ViewCount="228" Body="&lt;p&gt;I may have a very naive question on Constraint Based Analysis. (a technique of static program analysis). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am reading an informal introduction from F. Nielson&lt;/p&gt;&#xA;&#xA;&lt;p&gt;He gives such an example,&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;let f = fn x =&amp;gt; x 1; &#xA;    g = fn y =&amp;gt; y + 2;&#xA;    h = fn z =&amp;gt; z + 3&#xA;in (f g) + (f h)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;The author explained that:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;...the problem is that we cannot immediately point to the body of x:&#xA;  we need to know what parameters f will be called with. This is exactly&#xA;  the information that the Control Flow Analysis gives us:&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;For each function application, which functions may be applied.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;However, in my naive point of view, this information can be obtained statically and exactly, at least seen from this example. It suffices to check the &quot;in-&quot; part of the instruction &quot;let...in...&quot; to decide the functions that may be applied, doesn't it??&#xA;Although I do see in OO programming, it would not be evident to decide what the virtual calls really calls at run-time, I find from this above example that this piece of information can be obtained in a trivial way by looking at its syntax. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;So where am I wrong? Thank you for your ideas.&lt;/p&gt;&#xA;" OwnerUserId="6013" LastEditorUserId="-1" LastEditDate="2012-11-11T06:54:16.723" LastActivityDate="2012-11-11T06:54:16.723" Title="A question in constraint based analysis" Tags="&lt;pl.programming-languages&gt;" AnswerCount="2" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="8356" PostTypeId="2" ParentId="8350" CreationDate="2011-09-25T15:30:25.857" Score="12" Body="&lt;p&gt;If $G$ has $n$ vertices and $m$ edges, then for any spanning tree $T$ of $G$, each of the $m-n+1$ edges that are not in $T$ may be swapped with any of the edges on the path in $T$ between the endpoints of the non-tree edge. Assuming $G$ is not a multigraph, this gives at least $2(m-n+1)$ different swaps; that is, every $T$ has degree at least $2(m-n+1)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This bound is tight: if $G$ has a vertex $v$ adjacent to all others, and $T$ is the spanning tree consisting of all the edges incident to $v$, then the path in $T$ between the endpoints $T$ of every non-tree edge has length exactly two, so each non-tree edge participates in exactly two swaps and $T$ has degree exactly $2(m-n+1)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand if $G$ has girth (shortest cycle length) $g$, then the path in any tree $T$ between the endpoints of any non-tree edge, together with that edge, forms a cycle which must have length at least $g$, so the minimum degree in the tree graph must be at least $(g-1)(m-n+1)$. This bound is tight for some graphs such as the cycle graphs, and complete bipartite graphs, and Moore graphs, since these graphs contain spanning trees for which all non-tree edges induce cycles of length equal to the girth.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, finding the minimum degree of the tree graph for an arbitrary given graph (equivalently, finding a spanning tree minimizing the sum of lengths of the cycles induced by non-tree edges) is NP-complete: see &lt;a href=&quot;https://mpi-inf.mpg.de/~mehlhorn/SelectedTopics/p26-deo.pdf&quot;&gt;Deo, Prabhu, and Krishnamoorthy, &quot;Algorithms for Generating Fundamental Cycles in a Graph&quot;, &lt;em&gt;ACM TOMS&lt;/em&gt; 1982&lt;/a&gt;. So finding bounds such as these that are tight for all graphs appears unlikely.&lt;/p&gt;&#xA;" OwnerUserId="95" LastEditorUserId="95" LastEditDate="2011-09-26T14:16:05.747" LastActivityDate="2011-09-26T14:16:05.747" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="8357" PostTypeId="1" AcceptedAnswerId="8374" CreationDate="2011-09-25T21:45:02.693" Score="4" ViewCount="297" Body="&lt;p&gt;Does anyone know if there is a centralized source of Canadian positions advertised by universities for computer science? I conjecture that this might exist since there are websites advertising &lt;a href=&quot;http://www.math.ca/Employment/&quot; rel=&quot;nofollow noreferrer&quot;&gt;math jobs for Canada&lt;/a&gt;, plus websites advertising CS jobs in general (&lt;a href=&quot;http://www.cra.org/ads/&quot; rel=&quot;nofollow noreferrer&quot;&gt;CRA&lt;/a&gt;, &lt;a href=&quot;http://www.higheredjobs.com/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Higher Ed&lt;/a&gt;). Additionally, there exists &lt;a href=&quot;http://www.cra.org/ads/ads-view/assistant_professor_the_university_of_manitoba/&quot; rel=&quot;nofollow noreferrer&quot;&gt;at least one such opening currently&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is a special case of a previously studied problem, where it was &lt;a href=&quot;https://cstheory.stackexchange.com/questions/7704/where-can-you-find-job-postings-for-faculty-positions-in-cs-theory&quot;&gt;asked on cstheory without the Canadian constraint.&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="771" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2011-09-27T18:30:57.543" Title="Canadian CS University Positions?" Tags="&lt;soft-question&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8358" PostTypeId="2" ParentId="7392" CreationDate="2011-09-25T22:23:25.890" Score="1" Body="&lt;p&gt;Contrary to the various vague uses, I argue that:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Real-time computing in general is about the degree to which task time constraints are satisfied acceptably well with acceptable predictability according to application- and situation-specific acceptability criteria, given the current circumstances (overloads, failures, etc.). The general case of real-time is soft real-time. Hard real-time is a special case about always meeting all hard deadlines (not all deadlines are hard). Most systems that are real-time to any significant degree are soft.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I explain this in detail at &lt;a href=&quot;http://real-time.org/_new/Print2HTML/Microsoft_PowerPoint_-_new_rt.org_draft_0.html&quot; rel=&quot;nofollow&quot;&gt;http://real-time.org/_new/Print2HTML/Microsoft_PowerPoint_-_new_rt.org_draft_0.html&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="6671" LastActivityDate="2011-09-25T22:23:25.890" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8359" PostTypeId="2" ParentId="8317" CreationDate="2011-09-25T22:37:45.907" Score="3" Body="&lt;p&gt;Some thoughts from another side of academia, but that seem to hold as decent general thoughts:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&quot;Too much teaching&quot; - this is possibly to come out in your publication record too, through too many teaching/theory of teaching papers, even if they apply to your field. Even if you have a pretty strong publication record, that can hurt you at a very research oriented institution.&lt;/li&gt;&#xA;&lt;li&gt;Too much Theory/Applied work. Depending on which is the emphasis of where you want to go. &quot;Yeah, but he's clearly a theoretician, and we already have some of those...&quot; can be a problem.&lt;/li&gt;&#xA;&lt;li&gt;Accidentally defining yourself as really interested in a particular question. Lets say you had an unexpectedly productive side project, that generated three publications on X. You really don't care all that much about X, but there it is, sitting on your CV in a wall. That can cause folks to form an impression about your research interests.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="6205" LastActivityDate="2011-09-25T22:37:45.907" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8360" PostTypeId="1" AcceptedAnswerId="17250" CreationDate="2011-09-26T03:41:49.657" Score="15" ViewCount="297" Body="&lt;p&gt;The order maintenance problem (or &quot;maintaining order in a list&quot;) is to support the operations:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;singleton&lt;/code&gt;: creates a list with one item, returns a pointer to it&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;insertAfter&lt;/code&gt;: given a pointer to an item, inserts a new item after it, returning a pointer to the new item&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;delete&lt;/code&gt;: given a pointer to an item, removes it from its list&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;minPointer&lt;/code&gt;: given two pointers to items in the same list, returns the one closer to the front of the list&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I am aware of three solutions to this problem that perform all operations in $O(1)$ amortized time. They all use multiplication.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://dx.doi.org/10.1007/BF00289142&quot;&gt;Athanasios K. Tsakalidis: Maintaining order in a generalized linked list&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.cs.cmu.edu/~sleator/papers/maintaining-order.html&quot;&gt;Dietz, P., D. Sleator, Two algorithms for maintaining order in a list&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://erikdemaine.org/papers/DietzSleator_ESA2002/&quot;&gt;Michael A. Bender, Richard Cole, Erik D. Demaine, Martin Farach-Colton, and Jack Zito, “Two Simplified Algorithms for Maintaining Order in a List”&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Can order be maintained in a list in $O(1)$ amortized time without using any arithmetic operations not in $AC^0$?&lt;/p&gt;&#xA;" OwnerUserId="43" LastActivityDate="2013-04-13T22:34:38.970" Title="Maintaining order in a list in $AC^0$ in $O(1)$ time" Tags="&lt;ds.data-structures&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="8361" PostTypeId="1" AcceptedAnswerId="8363" CreationDate="2011-09-26T05:32:15.423" Score="1" ViewCount="846" Body="&lt;p&gt;Consider two strings, S and T. Find the first k longest common non-overlapping substrings of S and T.&lt;/p&gt;&#xA;" OwnerUserId="6673" LastEditorUserId="6673" LastEditDate="2011-09-27T01:55:04.133" LastActivityDate="2011-09-27T01:55:04.133" Title="Algorithm: Find the first k longest substrings between two similar strings" Tags="&lt;ds.algorithms&gt;&lt;string-matching&gt;&lt;string-search&gt;" AnswerCount="1" CommentCount="10" ContentLicense="CC BY-SA 3.0" />
  <row Id="8362" PostTypeId="1" CreationDate="2011-09-26T06:43:22.887" Score="7" ViewCount="196" Body="&lt;p&gt;A span program is a linear-algebraic way of specifying a boolean function introduced &lt;a href=&quot;http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=336536&amp;amp;tag=1&quot; rel=&quot;nofollow noreferrer&quot;&gt;here&lt;/a&gt; which has found recent application in quantum query complexity.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A span program for a function $f: \{0,1\}^n \rightarrow \{0,1\}$ consists of an ambient vector space $V$, target vector $z \in V$, and $2n$ subspaces $U^0_1, U^1_1, ... , U^0_n, U^1_n$. With the condition that:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;f(x) = 1 \; \text{if and only if} \; z \in \text{span}\{U^{x_1}_1, ... , U^{x_n}_n\}&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The classical complexity measure on span programs is &lt;em&gt;size&lt;/em&gt;: the sum of the dimensions of all $2n$ subspaces. The quantum complexity measure on span programs is &lt;em&gt;witness size&lt;/em&gt; which (is slightly more subtle, but basically) the the norm of the vector that actual shows that $z$ is spanned or proves that it can't be (see &lt;a href=&quot;http://www.computer.org/portal/web/csdl/doi/10.1109/FOCS.2009.55&quot; rel=&quot;nofollow noreferrer&quot;&gt;here&lt;/a&gt; for a proper definition). In particular, we fix specific vectors to span the individual subspaces, and then a witness can be generated for each input by looking at the linear combination of vectors that match $z$, then we take max over all inputs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To me, these two measures look very different. Are there known correspondences between the programs that minimize the measures? If we take the span program of minimal size, is it possible to pick a basis for the $2n$ subspaces to produce a span program of minimal witness size? Is the minimal span program measured by size the same as the minimal span program measured by witness size?&lt;/p&gt;&#xA;&#xA;&lt;h3&gt;Related questions&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/q/5701/1037&quot;&gt;Span programs, witness size, and certificate complexity&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="1037" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2011-09-26T15:08:40.183" Title="Are the minimal quantum and classical span programs the same?" Tags="&lt;cc.complexity-theory&gt;&lt;quantum-computing&gt;&lt;linear-algebra&gt;&lt;query-complexity&gt;" AnswerCount="0" CommentCount="3" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="8363" PostTypeId="2" ParentId="8361" CreationDate="2011-09-26T08:09:12.303" Score="4" Body="&lt;p&gt;Depending on your application (and assuming I have correctly understood your general aim), a standard practical method will be to find all maximal repeated substrings between the two strings, number those substrings and then compute the longest increasing subsequence.  This is exactly what the bioinformatics tool Reputer does. See &lt;a href=&quot;http://bibiserv.techfak.uni-bielefeld.de/reputer/&quot; rel=&quot;nofollow&quot;&gt;http://bibiserv.techfak.uni-bielefeld.de/reputer/&lt;/a&gt; and &#xA;&lt;a href=&quot;http://bioinformatics.oxfordjournals.org/content/15/5/426&quot; rel=&quot;nofollow&quot;&gt;http://bioinformatics.oxfordjournals.org/content/15/5/426&lt;/a&gt; for an original reference.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is is slightly super-linear time overall as you have to compute the longest increasing subsquence (see e.g. &lt;a href=&quot;http://en.wikipedia.org/wiki/Longest_increasing_subsequence&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/Longest_increasing_subsequence&lt;/a&gt; ).&lt;/p&gt;&#xA;" OwnerUserId="1864" LastEditorUserId="1864" LastEditDate="2011-09-26T10:16:06.687" LastActivityDate="2011-09-26T10:16:06.687" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8364" PostTypeId="2" ParentId="115" CreationDate="2011-09-26T13:51:46.177" Score="4" Body="&lt;p&gt;Over $\mathbb{C}$, testing for zero and evaluation is &quot;almost&quot; the same in the following sense: Assume you have a decision tree which tests whether some irreducible polynomial $f$ is nonzero.&#xA;We are working over $\mathbb{C}$, therefore we can only test for equality but we do not have &quot;&amp;lt;&quot;. That is the important difference to the second example in the question!&#xA;Now take the typical path, i.e., the path taken by almost all inputs (we always follow the &quot;$\not=$&quot;-branch). Furthermore, take the typical path of all elements in the variety &#xA;$V(f)$. Let $v$ be the node at which these two paths take a different branch for the first&#xA;time. Let $h_1,\dots,h_m$ be the polynomials that are tested along the common prefix of the two path. Since $V(f)$ is closed, all elements that lie in $V(f)$ and reach $v$ also lie in $V(h_m)$. Therefore, if $f(x) = 0$, then one of the $h_i$ vanishes on $x$. We apply Hilbert's Nullstellensatz to $h_1 \cdots h_m$ and get that $f g = h_1 \cdots h_m$ for some polynomial $g$ that's coprime to $f$. In short, while we are not computing $f$, when deciding whether $f(x) = 0$, we have to compute $fg$ for some coprime $g$. &lt;/p&gt;&#xA;" OwnerUserId="6456" LastActivityDate="2011-09-26T13:51:46.177" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="8365" PostTypeId="2" ParentId="8354" CreationDate="2011-09-26T13:58:07.763" Score="5" Body="&lt;p&gt;Can you point to where this example comes from? It might help. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think the author is trying to express something a little different than what you're anticipating with this example. For instance, for a C programmer reading this introduction, this example would illustrate that &quot;x 1&quot; in the first line isn't like x(1) in C, it's more like (*x)(1) in C -- you're calling a function there, sure, you even know the type of the function you're calling, but you &lt;i&gt;don't know which function&lt;/i&gt;. Certainly you are correct that in this example you can figure out &quot;oh, it's either got to be the function associated with g or the function associated with h.&quot; But I posit that when you sort this out in your own head, what you're doing is just executing the program, which is of course the most straightforward way of &quot;statically analyzing&quot; any terminating code!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The example is small; any example that's going to be easy enough for you to straightforwardly understand is, almost by definition, going to be one where your brain can &quot;statically&quot; figure out the answer. The challenge that Control Flow Analysis tries to solve is working over potentially large programs, quickly and precisely.&lt;/p&gt;&#xA;" OwnerUserId="1024" LastEditorUserId="1024" LastEditDate="2011-10-09T08:09:12.057" LastActivityDate="2011-10-09T08:09:12.057" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8367" PostTypeId="2" ParentId="7392" CreationDate="2011-09-26T15:46:51.450" Score="1" Body="&lt;p&gt;I have a feeling you're looking for a model that reflects the engineering meaning of &quot;real time&quot;, but let me just point out there is something that theorists call real time (and is inspired by engineering &quot;real time&quot;). Look at this post by Lipton and the references there: &lt;a href=&quot;http://rjlipton.wordpress.com/2011/01/12/stringology-the-real-string-theory/&quot; rel=&quot;nofollow&quot;&gt;http://rjlipton.wordpress.com/2011/01/12/stringology-the-real-string-theory/&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="4896" LastActivityDate="2011-09-26T15:46:51.450" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8368" PostTypeId="1" AcceptedAnswerId="8827" CreationDate="2011-09-26T16:37:41.793" Score="20" ViewCount="447" Body="&lt;p&gt;Suppose a graph $G$ with $n$ vertices is presented as a stream of $m$ edges, but multiple passes are allowed over the stream.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://dl.acm.org/citation.cfm?id=327766.327782&quot;&gt;Monika Rauch Henzinger, Prabhakar Raghavan, and Sridar &#xA;Rajagopalan&lt;/a&gt; observed that $\Omega(n/k)$ space is necessary to determine whether there is a path between two given vertices in $G$, if $k$ passes are allowed over the data.  (See also the &lt;a href=&quot;http://www.hpl.hp.com/techreports/Compaq-DEC/SRC-TN-1998-011.html&quot;&gt;technical report version&lt;/a&gt;.)  However, they do not provide an algorithm to actually achieve this bound.  I assume that an optimal algorithm would actually take $O((n\, \log\, n)/k)$ space in a realistic computing model, since one has to distinguish the $n$ different vertices if one cannot index memory using constant size pointers.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;How can one decide graph connectivity with $k$ passes using $O((n\, \log\, n)/k)$ space?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;If only one pass is allowed, the input data can be stored as a partition of the set of vertices, merging sets if an edge is seen between vertices in two different sets.  This clearly requires at most $O(n\, \log\, n)$ space.  My question is about $k &amp;gt; 1$: how can one use more passes to reduce the required space?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(For avoidance of triviality, $k$ is a parameter that cannot be bounded a priori by a constant, and the space bounds are expressions involving functions of both $n$ and $k$.)&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Update: even for $k=2$ it would be really useful to have a way to store only $n/2$ vertices.  Or is there actually a stronger lower bound $cn$ for some constant $c$, regardless of $k$?&lt;/p&gt;&#xA;" OwnerUserId="109" LastEditorUserId="109" LastEditDate="2011-09-29T09:40:01.137" LastActivityDate="2011-11-09T20:43:04.283" Title="Reducing space usage of st-connectivity with multiple passes?" Tags="&lt;reference-request&gt;&lt;graph-algorithms&gt;&lt;ds.data-structures&gt;&lt;lower-bounds&gt;&lt;data-streams&gt;" AnswerCount="5" CommentCount="2" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="8369" PostTypeId="2" ParentId="7392" CreationDate="2011-09-26T18:15:19.173" Score="1" Body="&lt;p&gt;I would say &quot;real-time&quot; means you have contracts on the behavior of the machine over time; specifically with regards to how long a function will take to execute, and ordering guarantees when the system has a choice of multiple tasks to complete.&lt;/p&gt;&#xA;" OwnerUserId="2021" LastActivityDate="2011-09-26T18:15:19.173" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8370" PostTypeId="1" AcceptedAnswerId="8405" CreationDate="2011-09-26T18:26:55.280" Score="9" ViewCount="527" Body="&lt;p&gt;I have $m$ bit vectors, each of which is composed by $m$ bits. Let's denote with $v_i[j]$ the $j$-th bit of the $i$-th vector, $i,j \in [1, m]$. Each bit vector $v_i$ is subject to the following 2 restrictions:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;$v_i[j] = 0\ \forall j \geq i$.&lt;/li&gt;&#xA;&lt;li&gt;$v_i[j] = 1\ \forall j &amp;lt; i - \frac{m}{log(m)}$.&lt;/li&gt;&#xA;&lt;li&gt;Those bits that do not fall in the restrictions above can be either $0$ or $1$, but in such case the number of $0$'s can be at most $12$.   &lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Now I have another bit vector $s$, of $m$ bits: initially all the $m$ bits of $s$ are set to $1$. By &lt;em&gt;&quot;applying $v_i$ to $s$&quot;&lt;/em&gt; I mean performing a bitwise AND between $s$ and $v_i$, and then storing the result in $s$. I'm interested in the evolution of $s$ after repeated applications of the vectors $v_1, ..., v_m$ given in input.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let's call those &lt;em&gt;&quot;repeated applications&quot;&lt;/em&gt; a &lt;strong&gt;trajectory&lt;/strong&gt;, and let's define such trajectory more formally. A trajectory is a sequence composed by at most $m$ vectors (selected from those $v_1, ..., v_m$ given in input) such that if $v_i$ is in the sequence, then all the $v_j$ after it must have $j &amp;lt; i$. So, for example, $&amp;lt;v_8, v_3&amp;gt;$ is a trajectory, while $&amp;lt;v_3, v_8, v_7&amp;gt;$ is not (because $8\geq3$).  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Clearly, there are $2^m$ different trajectories. Let $S=\emptyset$. Suppose to take $s = 1^m$ and to let it undergo a trajectory $T_1$: for &lt;strong&gt;each step&lt;/strong&gt; of the trajectory $T_1$, put the new value taken by $s$ in $S$. Then repeat the same process for another trajectory $T_2$ (always starting from $s=1^m$, and always putting every new value of $s$ in $S$). Then again, until you tried all the possible $2^m$ trajectories. At the end, the set $S$ will contain all the possible values that $s$ may ever assume given the vectors in input.  &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Questions&lt;/strong&gt;   &lt;/p&gt;&#xA;  &#xA;  &lt;ol&gt;&#xA;  &lt;li&gt;I have $v_i, ..., v_m$ in input. I want to know $|S|$, i.e. how many distinct values may $s$ ever assume. Of course, I want to compute $|S|$ efficiently, i.e. without trying all the possible trajectories one by one. &lt;/li&gt;&#xA;  &lt;li&gt;Suppose to remove the 2&lt;sup&gt;nd&lt;/sup&gt; restriction on the vectors in input. How doing so affects $|S|$?  &lt;/li&gt;&#xA;  &lt;li&gt;&lt;b&gt;More importantly, what I most care about is how $|S|$ grows with $m$. Is $|S|$ at most polynomial in $m$? Is $|S|$ at most sub-exponential in $m$? Or do there exist bad instances on which $|S|$ is necessarily exponential in $m$?&lt;/b&gt;&lt;/li&gt;&#xA;  &lt;/ol&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The following figure is an example with $m=17$:&#xA;&lt;img src=&quot;https://i.stack.imgur.com/O4vne.jpg&quot; alt=&quot;Example&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm collecting experimental data in order to try to figure out which is the relationship between $m$ and $|S|$. So far, experiments seems to suggest that $|S|$ grows faster than $m^3$ and slower than $m^4$. However, for the moment those data have not much significance: I was only able to make tests up to $m = 90$, so there may be a big hidden constant or some other factor that lets an exponential law look like a polynomial law for small $m$. I need help in figuring out the asymptotic behaviour of $|S|$ with respect to $m$.  &lt;/p&gt;&#xA;" OwnerUserId="947" LastEditorUserId="947" LastEditDate="2011-09-27T12:16:56.403" LastActivityDate="2011-09-29T07:27:59.753" Title="Help on the following combinatorial problem?" Tags="&lt;co.combinatorics&gt;" AnswerCount="1" CommentCount="6" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8371" PostTypeId="1" AcceptedAnswerId="8537" CreationDate="2011-09-26T20:52:06.713" Score="12" ViewCount="1218" Body="&lt;p&gt;Unique SAT is the well known problem : given a CNF formula $F$, is it true that $F$ has exactly one model ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am interested in « Exactly $m$-SAT » problem : given a CNF formula $F$ and an integer $m&amp;gt;1$, is it true that $F$ has exactly $m$ models ? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Both problems look similar. So my questions are : &lt;/p&gt;&#xA;&#xA;&lt;p&gt;1- Is «Exactly $m$-SAT » polytime (many-one or Turing) reducible to Unique SAT? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;2- Do you know any reference on the subject ? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thank you for your answers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Addendum&lt;/strong&gt;, first articles about complexity of Exactly $m$ SAT :&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1- Janos Simon, On the Difference Between One and Many, In Proceedings of the Fourth Colloquium on Automata, Languages and Programming, 480-491, 1977.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2- Klaus W. Wagner, The complexity of combinatorial problems with succinct input representation, Acta Informatica, 23, 325-356, 1986.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In both articles, Exactly $m$ SAT ($m \geq 1$) is shown to be $C=$ complete (under many-one reductions), where the class $C$ is from the Counting Hierarchy (CH) of complexity classes. Informally, $C$ contains all problems which can be expressed as deciding whether a given&#xA;instance has at least $m$ many polynomial size proofs (the class $C$ is known to coincide with the class $PP$). The class $C=$ is a variant of $C$, where “exactly $m$” replaces “at least $m$&quot;.&lt;/p&gt;&#xA;" OwnerUserId="6346" LastEditorUserId="6346" LastEditDate="2011-11-24T10:20:09.693" LastActivityDate="2011-11-24T10:20:09.693" Title="Unique SAT vs Exactly $m$ models" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;np-hardness&gt;&lt;sat&gt;&lt;reductions&gt;" AnswerCount="1" CommentCount="22" FavoriteCount="4" CommunityOwnedDate="2011-10-20T00:57:25.047" ContentLicense="CC BY-SA 3.0" />
  <row Id="8372" PostTypeId="2" ParentId="8341" CreationDate="2011-09-26T23:20:33.957" Score="3" Body="&lt;p&gt;As pointed out in the answer by @ilyaraz, the question is easy for 2D points and halfplanes. It becomes much more interesting for 3D points and halfspaces. An $\epsilon$-net of size $O(\frac{1}{\epsilon})$ is still possible in the 3D case, but the proof requires much more work. Even the latest &quot;simple&quot; proof is actually surprisingly complex, bearing in mind the simplicity of the 2D case:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Evangelia Pyrga, Saurabh Ray. New Existence Proofs for epsilon-Nets. SoCG 2008.&#xA;&lt;a href=&quot;http://www.mpi-inf.mpg.de/~pyrga/e-nets.pdf&quot; rel=&quot;nofollow&quot;&gt;http://www.mpi-inf.mpg.de/~pyrga/e-nets.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This paper also gives references to earlier proofs by Matousek et al.&lt;/p&gt;&#xA;" OwnerUserId="2869" LastActivityDate="2011-09-26T23:20:33.957" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8373" PostTypeId="2" ParentId="8368" CreationDate="2011-09-26T23:51:37.597" Score="4" Body="&lt;p&gt;This is not an answer, but I just wanted to point out that if you can solve this problem for $k = \Theta(n)$, then you solve st-connectivity in $O(\log n)$ space and $O(nm)$ time (which in the offline case you can do with probability &gt; 1/2 by doing a random walk; but it seems a bit harder when the edges come from a stream). Very interesting question, IMO.&lt;/p&gt;&#xA;" OwnerUserId="49" LastActivityDate="2011-09-26T23:51:37.597" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8374" PostTypeId="2" ParentId="8357" CreationDate="2011-09-27T01:32:08.670" Score="3" Body="&lt;p&gt;The Canadian CS community is seriously under-server and under-organized.  The ACM (in the US) completely overshadows us, and since it (nominally anyways) tries to be international, that leaves little room for Canadians to get organized.  So typical community-driven issues, like aggregating jobs, does not happen.  The community is (now) large enough to be able to sustain such an organization (I know, I belong to the &lt;a href=&quot;http://cms.math.ca&quot; rel=&quot;nofollow&quot;&gt;CMS&lt;/a&gt;, the Canadian Mathematical Society, and it manages just fine, and the sizes involved are in the same ballpark).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I realize that this answer is a bit of a non-answer.  But the (unfortunate!) answer to your question is 'no'.  So rather than just saying that, I figured I would elaborate.&#xA;&lt;hr /&gt;&#xA;Ok, so apparently my Google-fu was not good enough.  I just stumbled upon the &lt;a href=&quot;http://cacsaic.org/&quot; rel=&quot;nofollow&quot;&gt;CACS/AIC&lt;/a&gt;, which is the &lt;em&gt;Canadian Association of Computer Science&lt;/em&gt;.  But the web site is astonishingly bare bones, with no real sign of the purpose, etc.  So still a 'no', but not quite exactly as I had said.  And &lt;a href=&quot;http://www.cips.ca/&quot; rel=&quot;nofollow&quot;&gt;CIPS&lt;/a&gt; is different, as it really focused on the IT side of things, not so much on the CS.&lt;/p&gt;&#xA;" OwnerUserId="66" LastEditorUserId="66" LastEditDate="2011-09-27T18:30:57.543" LastActivityDate="2011-09-27T18:30:57.543" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="8375" PostTypeId="1" AcceptedAnswerId="8384" CreationDate="2011-09-27T06:34:52.870" Score="9" ViewCount="792" Body="&lt;p&gt;Everywhere that I read about the sparsest cut problem, it only says that the problem is known to be &lt;strong&gt;NP&lt;/strong&gt;-hard. Where can I find a proof of this? Which known &lt;strong&gt;NP&lt;/strong&gt;-hard problem reduces to the sparsest cut problem?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I could not find any proof in Vazirani's book - Approximation Algorithms, which presents the Leighton Rao algorithm, or the book &quot;Computers and Intractability&quot; - which summarizes many &lt;strong&gt;NP&lt;/strong&gt;-complete problems. I could not find it by searching (with obvious search strings) on Google.  There is one paper by Chawla et al, which assumes Khot's UGC conjecture and proves the hardness of approximating the sparsest cut. I was hoping to see a proof that does not assume any conjecture.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The proof should just reduce a known &lt;strong&gt;NP&lt;/strong&gt;-hard problem to sparsest cut.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thank you,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Arpita Korwar.&lt;/p&gt;&#xA;" OwnerUserId="6686" LastEditorUserId="80" LastEditDate="2011-09-27T15:33:26.970" LastActivityDate="2011-09-27T15:33:26.970" Title="Proof that sparsest cut is NP-hard" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;np-hardness&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="8378" PostTypeId="1" AcceptedAnswerId="8399" CreationDate="2011-09-27T08:09:03.123" Score="4" ViewCount="776" Body="&lt;p&gt;According to [1] finding a weakly stable matching in a stable marriage (or SM) instance with incomplete lists and ties is NP-Hard.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;According to [2] a weakly stable matching in a hospital-residents (or HR) instance with ties always exists and one can be found by arbitrarily breaking the ties and applying one of the known algorithms for the HR problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also HR with ties is a generalization of SM with incomplete lists and ties.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Isn't there a conflict here?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] K. Iwama, D. Manlove, S. Miyazaki and Y. Morita. &lt;a href=&quot;http://dx.doi.org/10.1007/3-540-48523-6_41&quot; rel=&quot;nofollow&quot;&gt;Stable Marriage with Incomplete Lists and Ties&lt;/a&gt;. Automata, Languages and Programming, Lecture Notes in Computer Science, Springer Berlin / Heidelberg, 1999&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] R. W. Irving, D. F. Manlove, and S. Scott. &lt;a href=&quot;http://dx.doi.org/10.1007/3-540-44985-X_24&quot; rel=&quot;nofollow&quot;&gt;The Hospitals/Residents Problem with Ties&lt;/a&gt;. Algorithm Theory - SWAT 2000. Lecture Notes in Computer Science. Springer Berlin / Heidelberg&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[3] V. Bansal , A. Agrawal , V. S. Malhotra. Polynomial time algorithm for an optimal stable assignment with multiple partners. Theoretical Computer Science 379 (2007) 317–328&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[4] D.F. Manlove, R.W. Irving, K. Iwama, S. Miyazaki, and Y. Morita. Hard variants of stable marriage.Theoretical Computer Science 276(1-2):261-279.&lt;/p&gt;&#xA;" OwnerUserId="6690" LastEditorUserId="6690" LastEditDate="2011-09-28T11:57:50.167" LastActivityDate="2011-09-28T11:57:50.167" Title="Stable Marriage with incomplete lists and ties - NP-hardness" Tags="&lt;co.combinatorics&gt;&lt;np-hardness&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="8379" PostTypeId="2" ParentId="869" CreationDate="2011-09-27T08:48:06.147" Score="8" Body="&lt;blockquote&gt;As far as I understand, linear logic can only express statements about structures that have quite restrictive form. I would ideally like to see a reference to, or a sketch of, a logic that can express properties of arbitrary sets of relational structures, while still avoiding fixed points. If I am wrong about the expressive power of linear logic then a pointer or hint would be welcome.&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;This isn't right: all residuated commutative monoidal lattices are models of linear logic. Here's an easy way to create such a lattice from finite graphs. Start with the set &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$M = \{(g, n) \;|\; g\mbox{ is a finite graph and }n \subseteq \mathrm{nodes}(g)\}$$ &lt;/p&gt;&#xA;&#xA;&lt;p&gt;So our forcing relation will be $(g,n) \models \phi$, and the intuition is that $n$ is the set of nodes &quot;owned&quot; by the formula $\phi$. There is a partial operation $(\cdot) : M \times M \to M$, defined as:&#xA;$$&#xD;&#xA;(g,n) \cdot (g&amp;#39;,n&amp;#39;) = \left\{\begin{array}{ll}&#xD;&#xA;                               (g, n \uplus n&amp;#39;) &amp;amp; \mbox{when } g = g&amp;#39; \land n \cap n&amp;#39; = \emptyset \\ &#xD;&#xA;                               \mathrm{undefined} &amp;amp; \mbox{otherwise}&#xD;&#xA;                             \end{array}\right.&#xD;&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This combines two elements by mergining their owned sets, if the graphs are equal and the owned sets are disjoint. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, we can give a model of linear logic as follows:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xD;&#xA;\begin{array}{lcl}&#xD;&#xA;(g,n) \models I &amp;amp; \iff &amp;amp; &#xD;&#xA;    n = \emptyset \\&#xD;&#xA;(g,n) \models \phi \otimes \psi &amp;amp; \iff &amp;amp; &#xD;&#xA;   \exists n_1,n_2.\; n = n_1 \uplus n_2 \mbox{ and } (g,n_1) \models \phi \mbox{ and } (g,n_2) \models \psi \\&#xD;&#xA;(g,n) \models \phi \multimap \psi &amp;amp; \iff &amp;amp; &#xD;&#xA;    \forall n&amp;#39;.\; \mbox{if } n \cap n&amp;#39; = \emptyset \mbox{ and } (g,n&amp;#39;) \models \phi \mbox{ then } (g,n \uplus n&amp;#39;) \models \psi \\&#xD;&#xA;(g, n) \models \top &amp;amp; \iff &amp;amp; &#xD;&#xA;    \mbox{always} \\&#xD;&#xA;(g,n) \models \phi \land \psi &amp;amp; \iff &amp;amp; &#xD;&#xA;    (g,n) \models \phi \mbox{ and } (g,n) \models \psi&#xD;&#xA;\end{array}&#xD;&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This model is actually a variant of the ones used in separation logic, which is widely used in the verification of heap-manipulating programs. (If you like, think of the graph as the pointer structure of the heap, and the analogy is exact!) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This isn't really the right way to think about linear logic, though: its real intuitions are proof-theoretic, and the connection to complexity comes via the computational complexity of the cut-elimination theorem. The model theory of linear logic is the shadow cast by its proof theory. &lt;/p&gt;&#xA;" OwnerUserId="657" LastEditorUserId="657" LastEditDate="2011-09-28T07:39:30.997" LastActivityDate="2011-09-28T07:39:30.997" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="8380" PostTypeId="2" ParentId="8378" CreationDate="2011-09-27T09:00:39.200" Score="4" Body="&lt;p&gt;The stable marriage instance with ties is solvable in polynomial time, whereas the stable marriage instance with &lt;strong&gt;&lt;em&gt;incomplete lists&lt;/em&gt;&lt;/strong&gt; and ties is NP-hard.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The same holds for the Hospitals/Residents problem.  So there is no conflict between [1] and [2].&lt;/p&gt;&#xA;" OwnerUserId="3825" LastActivityDate="2011-09-27T09:00:39.200" CommentCount="11" ContentLicense="CC BY-SA 3.0" />
  <row Id="8381" PostTypeId="1" CreationDate="2011-09-27T10:09:51.973" Score="7" ViewCount="154" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;(i) Does anybody know what is the smallest number $k$ such that there&#xA;  is a tetrahedron T that can be subdivided into $k$ tetrahedra that are&#xA;  similar to T ?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I know $k$ is at most 8 (I know a tetrahedron that can be subdivided into 8 similar tetrahedra), and at least 3 (I can prove no tetrahedron can be subdivided into 2 tetrahedra that are similar to the whole). Does anybody know better lower or upper bounds?&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;(ii) What if we require the tetrahedra in the subdivision to have the&#xA;  same size? (Again, I know $3 \leq k \leq 8$)&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="6692" LastEditorUserId="1800" LastEditDate="2011-09-27T15:27:25.043" LastActivityDate="2011-09-27T22:01:45.543" Title="Dissecting tetrahedra into similar tetrahedra" Tags="&lt;cg.comp-geom&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8383" PostTypeId="2" ParentId="5096" CreationDate="2011-09-27T13:11:52.907" Score="3" Body="&lt;p&gt;A major consequence of Factoring being in $P$ is that multiplication (of two equal size integers) is not one-way function. This would be very surprising result since multiplication is widely believed to be the strongest candidate for one-way function. However, this may not change the picture of complexity classes.&lt;/p&gt;&#xA;" OwnerUserId="495" LastActivityDate="2011-09-27T13:11:52.907" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8384" PostTypeId="2" ParentId="8375" CreationDate="2011-09-27T13:48:20.147" Score="10" Body="&lt;p&gt;[Moved from comment]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The paper &quot;&lt;a href=&quot;http://sciencedirect.com/science/article/pii/0166218X9090133W&quot;&gt;Sparsest cuts and bottlenecks in graphs&lt;/a&gt;&quot; by David W. Matula, Farhad Shahrokhi gives a reduction from max-cut problem. Max-cut's proof of hardness can be found in Garey Johnson.  &lt;/p&gt;&#xA;" OwnerUserId="547" LastActivityDate="2011-09-27T13:48:20.147" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8385" PostTypeId="2" ParentId="8314" CreationDate="2011-09-27T16:32:23.800" Score="1" Body="&lt;p&gt;Nice counterexample.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A short &quot;proof&quot; that Shannon-Fano coding is always at least as good as Shannon coding over the long term, even though it may be worse for a few specific letters:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Shannon coding always sets the length $ls_i$ of each codeword to a function of how many times $f_i$ it occurs in some text of length $LN$: $ls_i=\lceil -\log (f_i/LN)\rceil$.&lt;/li&gt;&#xA;&lt;li&gt;two-symbol Shannon-Fano coding and Huffman coding: always sets the codeword for one symbol to 0, and the other codeword to 1, which is optimal -- therefore it is always better than Shannon coding in this case (or equal, in the case where both probabilities are 1/2).&lt;/li&gt;&#xA;&lt;li&gt;multi-symbol Shannon-Fano coding and Huffman coding: case (a): sometimes there exists some letter $i$ assigned Fano codeword with a length $lf_i$ 1 bit longer (worse compression) than $ls_i$.&lt;/li&gt;&#xA;&lt;li&gt;multi-symbol Shannon-Fano coding and Huffman coding: case (b): sometimes there exists some letter $j$ assigned Fano codeword with a length $lf_j$ shorter (better compression) than $ls_j$.&lt;/li&gt;&#xA;&lt;li&gt;Whenever case (a) occurs, case (b) also occurs at least as many times.&lt;/li&gt;&#xA;&lt;li&gt;Each letter (if any) $i$ that falls under case (a) can be paired up with some other letter $j$ that not only falls under case (b), but also letter $j$ is more frequent than letter $i$.&lt;/li&gt;&#xA;&lt;li&gt;Therefore, whenever case (b) occurs, the total number of bits needed to store all the letters $i$ and all the letters $j$ with with Shannon-Fano coding is no worse than with Shannon coding: $f_i lf_i + f_j lf_j \leq f_i ls_i + f_j ls_j$.&lt;/li&gt;&#xA;&lt;li&gt;Therefore Shannon-Fano coding is always at least as good as Shannon coding.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Alas, there's a lot of hand-waving in this &quot;proof&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I suspect there might be a better proof in&#xA;the book Yaglom and Yaglom: &quot;&lt;a href=&quot;http://books.google.com/books?id=vHwVgAFVKyIC&quot; rel=&quot;nofollow&quot;&gt;Probability and information&lt;/a&gt;&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;p.s.:&#xA;You might also be interested in yet another algorithm for generating prefix codes,&#xA;&quot;&lt;a href=&quot;http://en.wikipedia.org/wiki/User%3aC-processor/Polar_Tree&quot; rel=&quot;nofollow&quot;&gt;Polar coding&lt;/a&gt;&quot; developed by Andrew Polar.&lt;/p&gt;&#xA;" OwnerUserId="4423" LastEditorUserId="4423" LastEditDate="2011-09-27T16:40:56.657" LastActivityDate="2011-09-27T16:40:56.657" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="8389" PostTypeId="2" ParentId="8381" CreationDate="2011-09-27T22:01:45.543" Score="4" Body="&lt;p&gt;Hi Herman — since you asked me this at GD, I've found an answer to version (ii) of your question. Jiří Matoušek and Zuzana Safernová have shown that subdivision of a tetrahedron into $k$ tetrahedra that are similar to the original and congruent to each other is possible only when $k$ is a cube (and it is conjectured more strongly that this is possible exactly when $k$ is a power of eight, the case you already know about). See their paper &quot;On the nonexistence of k-reptile tetrahedra&quot;, &lt;a href=&quot;http://arxiv.org/abs/1006.1807&quot; rel=&quot;nofollow&quot;&gt;arXiv:1006.1807&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2011-09-27T22:01:45.543" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8390" PostTypeId="1" AcceptedAnswerId="8395" CreationDate="2011-09-27T22:32:56.163" Score="10" ViewCount="3159" Body="&lt;p&gt;I'm looking for the full text of the Moon and Moser 1965 clique result &lt;em&gt;On Cliques in Graphs&lt;/em&gt; (there exist graphs with a number of maximal cliques exponential in $n$). My university's paywall doesn't have access to the particular journal. (In fact, the &lt;a href=&quot;http://www.springerlink.com/content/c32k820wkt5m48k0/&quot; rel=&quot;nofollow&quot;&gt;preview&lt;/a&gt; provides the first few sentences of the proof, but then leaves me without the rest!)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I was interested in this result related to a research direction I was pursuing, but the direction has changed slightly, so admittedly my interest is now purely academic curiosity. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is: &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there a link to the full text of the paper somewhere OR another paper that sketches the proof OR if a proof sketch is short enough to reproduce here, does anyone know it? Also, I'm interested in the class of graphs with an exponential number of cliques.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I added the BibTeX for reference:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;@article {springerlink:10.1007/BF02760024,&#xA;   author = {Moon, J. and Moser, L.},&#xA;   affiliation = {University of Alberta Edmonton Canada},&#xA;   title = {On cliques in graphs},&#xA;   journal = {Israel Journal of Mathematics},&#xA;   publisher = {Hebrew University Magnes Press},&#xA;   issn = {0021-2172},&#xA;   keyword = {Computer Science},&#xA;   pages = {23-28},&#xA;   volume = {3},&#xA;   issue = {1},&#xA;   url = {http://dx.doi.org/10.1007/BF02760024},&#xA;   note = {10.1007/BF02760024},&#xA;   year = {1965}&#xA;}&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;" OwnerUserId="284" LastEditorUserId="186" LastEditDate="2011-09-29T16:35:06.133" LastActivityDate="2014-07-16T06:16:02.573" Title="The number of cliques in a graph: the Moon and Moser 1965 result" Tags="&lt;reference-request&gt;&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;clique&gt;" AnswerCount="4" CommentCount="7" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="8391" PostTypeId="1" CreationDate="2011-09-27T22:55:00.500" Score="7" ViewCount="1621" Body="&lt;p&gt;Is there a zero knowledge proof which demonstrates that Peggy knows a value v whose hash-function is w?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In my understanding of the general theorems on zero-k there EXISTS such a function if the has-function has polynomial time complexity. However, I would like to know how such the protocol would look like for the case of SHA-256. My problem is, that the usual proof requires me to reduce the fact of having a certain SHA-256 to Graph 3 Coloring, for example, and I do not see how this could be done practically.&lt;/p&gt;&#xA;" OwnerUserId="6703" LastEditorUserId="186" LastEditDate="2011-09-30T11:48:33.043" LastActivityDate="2014-12-07T07:43:26.593" Title="Zero knowledge proof for value of a hash function" Tags="&lt;cr.crypto-security&gt;&lt;hash-function&gt;&lt;zero-knowledge&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="8392" PostTypeId="2" ParentId="8335" CreationDate="2011-09-27T23:08:54.773" Score="-1" Body="&lt;p&gt;I have heard that Theory of Computing aims to have quick reviews. I am not sure about the statistics though, I have not looked them up.&lt;/p&gt;&#xA;" OwnerUserId="771" LastActivityDate="2011-09-27T23:08:54.773" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8393" PostTypeId="1" AcceptedAnswerId="8422" CreationDate="2011-09-28T01:09:35.777" Score="31" ViewCount="2324" Body="&lt;p&gt;Kolmogorov prefix complexity (i.e. &lt;span class=&quot;math-container&quot;&gt;$K(x)$&lt;/span&gt; is the size of minimal self-delimiting program that outputs &lt;span class=&quot;math-container&quot;&gt;$x$&lt;/span&gt;) has several nice features:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;It corresponds to an intuition of giving strings with patters or structure a lower complexity than strings without.&lt;/li&gt;&#xA;&lt;li&gt;It allows us to define conditional complexity &lt;span class=&quot;math-container&quot;&gt;$K(x|y)$&lt;/span&gt;, or even better &lt;span class=&quot;math-container&quot;&gt;$K(x|O)$&lt;/span&gt; for some oracle &lt;span class=&quot;math-container&quot;&gt;$O$&lt;/span&gt;.&lt;/li&gt;&#xA;&lt;li&gt;It is sub-additive &lt;span class=&quot;math-container&quot;&gt;$K(x,y) \leq K(x) + K(y)$&lt;/span&gt;.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;However it has an awful downside: returning &lt;span class=&quot;math-container&quot;&gt;$K(x)$&lt;/span&gt; given &lt;span class=&quot;math-container&quot;&gt;$x$&lt;/span&gt; is undecidable.&lt;/p&gt;&#xA;&lt;p&gt;I have wondered if there is a variant of Kolmogorov complexity &lt;span class=&quot;math-container&quot;&gt;$K'(x)$&lt;/span&gt; using a restricted model of computation (either by using weaker languages than TMs, or using resourced bounded TM) that preserves features (1) and (2) (feature (3) is a bonus, but not a must) while being efficiently computable?&lt;/p&gt;&#xA;&lt;p&gt;The motivation for this question is for use in simulation studies of various toy-models of evolution. Thus an answer that has been used as a 'rough approximation' for Kolmogorov complexity in numeric work before is preferred. However, the goal isn't to go completely experimental, so a relatively simple/clean description language/model-of-computation for &lt;span class=&quot;math-container&quot;&gt;$K'$&lt;/span&gt; is preferred, so that it might be possible to prove some reasonable theorems about how drastically &lt;span class=&quot;math-container&quot;&gt;$K'$&lt;/span&gt; differs from &lt;span class=&quot;math-container&quot;&gt;$K$&lt;/span&gt; and on what kind of strings.&lt;/p&gt;&#xA;&lt;h3&gt;Relates questions&lt;/h3&gt;&#xA;&lt;p&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/q/7247/1037&quot;&gt;Kolmogorov complexity with weak description languages&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/q/4016/1037&quot;&gt;Is there a sensible notion of an approximation algorithm for an undecidable problem?&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="1037" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2021-05-19T21:28:15.030" Title="Efficiently computable variants of Kolmogorov complexity" Tags="&lt;it.information-theory&gt;&lt;kolmogorov-complexity&gt;&lt;formal-modeling&gt;" AnswerCount="5" CommentCount="0" FavoriteCount="13" ContentLicense="CC BY-SA 3.0" />
  <row Id="8394" PostTypeId="2" ParentId="8393" CreationDate="2011-09-28T03:41:22.210" Score="-1" Body="&lt;p&gt;You're looking for resource bounded Kolmogorov complexity. You can start with &lt;a href=&quot;http://ftp.cs.rutgers.edu/pub/allender/pervasive.reach.pdf&quot; rel=&quot;nofollow&quot;&gt;this paper&lt;/a&gt; and branch out. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2011-09-28T03:41:22.210" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8395" PostTypeId="2" ParentId="8390" CreationDate="2011-09-28T04:24:45.433" Score="17" Body="&lt;p&gt;I don't have a copy of Moon &amp;amp; Moser at hand, but: the maximum number of distinct maximal cliques in an $n$-node graph (with $n&gt;1$) is $3^{n/3}$, $4\cdot 3^{(n-4)/3}$, or $2\cdot 3^{(n-2)/3}$, according to the value of $n$ mod 3. I think it's a little easier to see this in the complementary form of counting maximal independent sets.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The lower bound is what you're really asking for, and is mostly given already in the comments above: form a graph from the disjoint union of copies of $K_2$ and $K_3$, using as many copies of $K_3$ as possible. Each maximal independent set has exactly one node from each of these complete subgraphs from which the formula follows.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I seem to recall that the upper bound proof of Moon and Moser involved transforming a graph into the lower bound form (or the complementary form for maximal cliques), at each step not decreasing the number of independent sets or cliques. But there's a different way of proving it that leads to worst-case-optimal backtracking algorithms for listing all the cliques or independent sets (see e.g. my paper &lt;a href=&quot;http://arxiv.org/abs/cs.DS/0011009&quot;&gt;arXiv:cs/0011009&lt;/a&gt;), which I'll only sketch here because the details are a bit tedious. If there's a vertex $v$ of degree three or more in the given graph $G$, then each maximal independent set of $G$ is either a maximal independent set in $G\setminus v$ or it includes $v$ and is a maximal independent set of the graph formed from $G$ by removing $v$ and all of its neighbors. By induction (plugging in the formula for the number of independent sets in these two smaller graphs, with some case analysis mod 3) the bound follows. On the other hand, if no high degree vertex exists then the graph is a disjoint union of paths and cycles, in which one can calculate the number of independent sets directly.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2011-09-28T04:24:45.433" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="8396" PostTypeId="2" ParentId="8390" CreationDate="2011-09-28T06:09:15.387" Score="7" Body="&lt;p&gt;You can also look for Moon-Moser theorem in &lt;a href=&quot;http://books.google.com/books?id=LXDe1XHJCYIC&amp;amp;pg=PA170&amp;amp;lpg=PA170&amp;amp;dq=fomin%20kratsch&amp;amp;source=bl&amp;amp;ots=jb3ERCRty5&amp;amp;sig=lX-3W7vuLfwyROzIJavklk_pXvc&amp;amp;hl=en&amp;amp;ei=87qCToW8CrTUiALF4uynBg&amp;amp;sa=X&amp;amp;oi=book_result&amp;amp;ct=result&amp;amp;resnum=1&amp;amp;ved=0CBwQ6AEwAA#v=onepage&amp;amp;q=moon%20moser&amp;amp;f=false&quot; rel=&quot;nofollow&quot;&gt;Fomin-Kratsch Exact Algorithms book&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="6704" LastEditorUserId="80" LastEditDate="2011-09-28T06:14:40.713" LastActivityDate="2011-09-28T06:14:40.713" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8397" PostTypeId="1" CreationDate="2011-09-28T09:19:01.417" Score="2" ViewCount="120" Body="&lt;p&gt;Suppose we have an &lt;a href=&quot;http://en.wikipedia.org/wiki/ID-based_encryption&quot; rel=&quot;nofollow&quot;&gt;ID-based encryption (IBE)&lt;/a&gt; (Setup, Extract, Enc, Dec) scheme which is &lt;a href=&quot;http://en.wikipedia.org/wiki/Ciphertext_indistinguishability#Indistinguishability_under_chosen-plaintext_attack_.28IND-CPA.29&quot; rel=&quot;nofollow&quot;&gt;IND-ID-CPA&lt;/a&gt; (resp &lt;a href=&quot;http://en.wikipedia.org/wiki/Ciphertext_indistinguishability#Indistinguishability_under_chosen_ciphertext_attack.2Fadaptive_chosen_ciphertext_attack_.28IND-CCA.2C_IND-CCA2.29&quot; rel=&quot;nofollow&quot;&gt;IND-ID-CCA&lt;/a&gt;) secure, and we want to construct &lt;a href=&quot;http://en.wikipedia.org/wiki/Threshold_cryptosystem&quot; rel=&quot;nofollow&quot;&gt;threshold version&lt;/a&gt; of this scheme.&#xA;My question is: how to define the IND-ID-XXX security game for the new scheme.&lt;/p&gt;&#xA;" OwnerUserId="4899" LastEditorUserId="873" LastEditDate="2011-09-29T12:50:32.040" LastActivityDate="2011-10-12T03:39:07.420" Title="Security of IBE schemes" Tags="&lt;cr.crypto-security&gt;" AnswerCount="0" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="8398" PostTypeId="1" CreationDate="2011-09-28T11:22:34.377" Score="10" ViewCount="700" Body="&lt;p&gt;I have often heard it said that you cannot write a program to catch bugs in a web browser, or word-processor, or operating system, because of Rice's Theorem: any semantical property for a Turing-complete language is undecidable. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, I am not sure to what extent this applies to real-world program likes operating systems. Do these types of programs need the full strength of Turing completeness? Are there simpler models of computation (such as PR) in which these applications could be written? If so, to what extent does this allow decidability of program correctness?&lt;/p&gt;&#xA;" OwnerUserId="5538" LastActivityDate="2011-09-29T09:03:44.537" Title="Computational hardness of &quot;real&quot; computer programs" Tags="&lt;computability&gt;" AnswerCount="3" CommentCount="2" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="8399" PostTypeId="2" ParentId="8378" CreationDate="2011-09-28T11:55:17.783" Score="2" Body="&lt;p&gt;Problem solved.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The authors of [1] consider a matching when incomplete lists are allowed to be an one-to-one mapping between all the men and all the women. So what is proved in [1] is not the NP-hardness of finding a feasible solution nor the NP-hardness of finding a maximal solution but rather the NP-harness of finding a solution of size n where n is the size of the instance. The problem of finding a maximal solution is showed to be NP-hard by the same authors in [4]. So finally there is no conflict between [1] and [2]. &lt;/p&gt;&#xA;" OwnerUserId="6690" LastActivityDate="2011-09-28T11:55:17.783" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="8400" PostTypeId="2" ParentId="8398" CreationDate="2011-09-28T12:10:52.577" Score="14" Body="&lt;p&gt;You certainly &lt;em&gt;can&lt;/em&gt; write programs which catch bugs -- there is a large and active community of people who write programs to do exactly that. However, what Rice's theorem prevents you from doing is to write bug-catchers which are both sound and complete (i.e., catch all bugs of a certain class with no false positives). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;That said, naive restrictions on the model of computation don't actually help you very much in improving the practicality of program analysis. The reason is that you can get programs which do &quot;almost the same thing&quot; by turning while loops&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;while P do &#xA;   C&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;into for-loops with a big iteration constant:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;for i = 0 to BIGNUM do &#xA;  if P then &#xA;    C&#xA;  else&#xA;    break&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Now this program does not even need the full strength of primitive recursive (since the for-loop can be macro-expanded into a huge nested if-then-else statement), but in most practical cases it will behave just the same as before. Note that it does help decidability in theory -- the program is total, so you can answer questions by running the program and seeing what happens. This is not  what we actually want, which is to get answers faster than running the program -- the artificial termination introduced doesn't actually help program analysis in practice, since bugs occur because of errors in the real program logic, and we haven't touched that at all. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Furthermore, adding abstraction facilities to a programming language can radically worsen the complexity of the analysis problem, while making it easier to verify programs in practice. For example, proving termination of the simply-typed lambda calculus with natural numbers requires induction up to $\epsilon_0$, but by adding type polymorphism you get System F, whose termination proof as strong as the consistency of second-order arithmetic. Yet, in practice programs written in F are much easier to verify, because the modularity properties of second-order quantification make writing structured programs and correctness proofs much easier.&lt;/p&gt;&#xA;" OwnerUserId="657" LastEditorUserId="657" LastEditDate="2011-09-29T09:03:44.537" LastActivityDate="2011-09-29T09:03:44.537" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="8401" PostTypeId="2" ParentId="8398" CreationDate="2011-09-28T17:04:49.327" Score="5" Body="&lt;p&gt;Since you asked about program correctness of real world programs like operating systems, you might be interested in the seL4 project (&lt;a href=&quot;http://dl.acm.org/citation.cfm?id=1743574&quot;&gt;journal&lt;/a&gt;, &lt;a href=&quot;http://galaxy.lamar.edu/~sandrei/CPSC-4360-01/ListOfPapers/p107-klein.pdf&quot;&gt;pdf&lt;/a&gt;,  &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=1629596&quot;&gt;conference&lt;/a&gt;). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The NICTA team took a third-generation microkernel of 8700 lines of C and 600 lines of assembler implemented according to an abstract specification in Haskell. They provided a formal, machine-checked proof (in Isabelle/HOL) that the implementation strictly follows the specification. Thus proving that their program is bug-free.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So just like the halting problem, although it can't be solved in general, it can be solved for some specific instances. In this case, although you can't prove that arbitrary C code is bug free, they could do it in the case of the seL4 microkernel.&lt;/p&gt;&#xA;" OwnerUserId="1037" LastActivityDate="2011-09-28T17:04:49.327" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="8403" PostTypeId="1" CreationDate="2011-09-28T20:24:53.710" Score="10" ViewCount="228" Body="&lt;p&gt;&lt;strong&gt;Context:&lt;/strong&gt;  We consider only digraphs.  Let CYCLE be the language of graphs with a cycle; it is an NL-complete problem.  Let HASEDGE be the language of graphs with at least one edge. Then trivially, $\text{CYCLE} \cup \text{HASEDGE}$ is no longer NL-hard, while $\text{CYCLE} \cup \overline{\text{HASEDGE}}$ stays so.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Actual problem:&lt;/strong&gt; I'm wondering if the language $$\text{CYCLE} \cup \{(V, E):(\exists u,v,x,y)[E(u, v) \land E(x, y) \land \neg E(u, y) \land \neg E(x, v)]\}$$ is still NL-hard.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question:&lt;/strong&gt; For which FO formula $\phi$ on the vocabulary of graphs is&#xA;$$\text{CYCLE} \cup \{(V, E) : (V, E) \models \phi\}$$&#xA;NL-hard?  Is this property decidable?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks for your input!&lt;/p&gt;&#xA;" OwnerUserId="88" LastEditorUserId="88" LastEditDate="2011-09-29T15:20:42.160" LastActivityDate="2011-09-30T18:39:16.787" Title="When does an FO property kill off NL-hardness?" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;&lt;descriptive-complexity&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8404" PostTypeId="1" AcceptedAnswerId="8407" CreationDate="2011-09-28T21:26:39.537" Score="5" ViewCount="515" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Question&lt;/strong&gt;&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;Suppose that there exist a deterministic algorithm for solving a #P-complete problem in time $O^*(2^{n / \log(n \log n)})$. What would be the theoretical consequences of such a fact? Would it disprove the ETH (Exponential Time Hypothesis)?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="947" LastEditorUserId="3964" LastEditDate="2012-09-11T16:44:41.707" LastActivityDate="2012-09-11T16:44:41.707" Title="Consequences of a $O^*(2^{n / \log(n \log n)} )$ algorithm for a #P-complete problem" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;counting-complexity&gt;&lt;time-complexity&gt;" AnswerCount="1" CommentCount="8" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8405" PostTypeId="2" ParentId="8370" CreationDate="2011-09-28T23:00:42.403" Score="8" Body="&lt;p&gt;I've rethought this and my initial bound was correct. In the worst case, $|S| = \Theta(m \; 2^\frac{m}{\lg m})$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Proof is in two parts. Firstly, $|S| = O(m \; 2^\frac{m}{\lg m})$. Consider the possible values of $s$ of a trajectory which ends at $v_x$. Every bit $s[j]$ for $j \ge x$ is 0, and every bit $s[j]$ for $j &amp;lt; x - \frac{m}{\lg m}$ is 1. Therefore there are only $2^\frac{m}{\lg m}$ values which $s$ can take. Multiply up by the number of $v_x$ and we have the upper bound.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Secondly, consider&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&#xA;    &lt;i&gt;0&lt;/i&gt; 1 1 1 0 &lt;i&gt;1 1 1 1 1 1 1 1 1 1 1 1&lt;/i&gt;&#xA;    &lt;i&gt;0 0&lt;/i&gt; 1 1 1 0 &lt;i&gt;1 1 1 1 1 1 1 1 1 1 1&lt;/i&gt;&#xA;    &lt;i&gt;0 0 0&lt;/i&gt; 1 1 &lt;b&gt;1 0 &lt;i&gt;1&lt;/i&gt;&lt;/b&gt;&lt;i&gt; 1 1 1 1 1 1 1 1 1&lt;/i&gt;&#xA;    &lt;i&gt;0 0 0 0&lt;/i&gt; 1 &lt;b&gt;1 1 0&lt;/b&gt;&lt;i&gt; 1 1 1 1 1 1 1 1 1&lt;/i&gt;&#xA;    &lt;i&gt;0 0 0 0 0&lt;/i&gt; &lt;b&gt;1 1 1&lt;/b&gt; 0&lt;i&gt; 1 1 1 1 1 1 1 1&lt;/i&gt;&#xA;    &lt;i&gt;0 0 0 0 0 0&lt;/i&gt; 1 1 1 0 &lt;i&gt;1 1 1 1 1 1 1&lt;/i&gt;&#xA;    ...&#xA;    &lt;i&gt;0 0 0 0 0 0 0 0 0 0 0 0&lt;/i&gt; 1 1 1 0 &lt;i&gt;1&lt;/i&gt;&#xA;    &lt;i&gt;0 0 0 0 0 0 0 0 0 0 0 0 0&lt;/i&gt; 1 1 1 0&#xA;    &lt;i&gt;0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;/i&gt; 1 1 1&#xA;    &lt;i&gt;0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;/i&gt; 1 1&#xA;    &lt;i&gt;0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0&lt;/i&gt; 1&#xA;&#xA;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;I assert that this scheme gives you $|S| = \Omega(m \; 2^\frac{m}{\lg m})$. For each column $v_x$ consider also the $(\frac{m}{\lg m}-2)$ columns to its right. Each of the $2^{\frac{m}{\lg m}-2}$ combinations of them gives a different $s$, and in each of those $s$ the top set bit is the top set bit of $v_x$, so there is no double-counting between different $v_x$.&lt;/p&gt;&#xA;" OwnerUserId="3131" LastEditorUserId="3131" LastEditDate="2011-09-29T07:27:59.753" LastActivityDate="2011-09-29T07:27:59.753" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="8406" PostTypeId="1" AcceptedAnswerId="8411" CreationDate="2011-09-28T23:54:30.377" Score="5" ViewCount="1565" Body="&lt;p&gt;Is there a known algorithm that efficiently outputs the set of lattice points on the circumference of a given circle? The input circle is specified using its center $(a,b)$ and its radius $r$. The inputs $a, b, $ and $r$ are not necessarily integers. &lt;/p&gt;&#xA;" OwnerUserId="6710" LastEditorUserId="6710" LastEditDate="2011-09-29T03:19:23.103" LastActivityDate="2011-09-29T21:15:34.490" Title="Computing integer points on the circumference of a given circle" Tags="&lt;cg.comp-geom&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8407" PostTypeId="2" ParentId="8404" CreationDate="2011-09-29T00:24:16.600" Score="18" Body="&lt;p&gt;Solving any old $\# P$-complete problem in $2^{O(n/\log n)}$ time would not necessarily have interesting consequences. In fact there are some $\# P$-complete problems, like counting the number of minimum vertex covers in a planar graph, which can already be done in $2^{O(n^{1/2})}$ time where $n$ is the number of vertices. (Recall that for planar graphs, the number of edges is linear in the number of vertices, so this is truly a subexponential algorithm.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Added after Walter's recent comment:&lt;/strong&gt; I should say that there are several $\# P$ problems which are believed to require $2^{\Omega(n)}$ time (such as counting the number of satisfying assignments to a 3-CNF formula), and the time complexities of these problems are closely related: a $2^{o(n)}$-time algorithm for one of them would imply $2^{o(n)}$-time algorithms for all of them. Some recent work in this direction can be found &lt;a href=&quot;http://pages.cs.wisc.edu/~holger/papers/dhw10full.pdf&quot;&gt;here&lt;/a&gt;. I am not 100% certain, but an $2^{O(n/\log n)}$-time algorithm for counting vertex covers in 3-regular graphs may have interesting consequences along these lines.&lt;/p&gt;&#xA;" OwnerUserId="225" LastEditorUserId="225" LastEditDate="2011-10-01T18:14:05.587" LastActivityDate="2011-10-01T18:14:05.587" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="8409" PostTypeId="2" ParentId="8398" CreationDate="2011-09-29T03:15:50.550" Score="2" Body="&lt;p&gt;The questions you ask are actually quite different.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;However, I am not sure to what extent this applies to real-world program likes operating systems. Do these types of programs need the full strength of Turing completeness? &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;It takes extremely little for a model of computation to be Turing complete. For example, various &lt;a href=&quot;http://en.wikipedia.org/wiki/Counter_machine&quot; rel=&quot;nofollow&quot;&gt;models with counters&lt;/a&gt; can simulate Turing machines. If you believe your software requires more than two counters that you can manipulate arbitrarily, you are using a Turing complete language. Though machine integers are apriori bounded, heap-allocated data structures usually are not. If your software needs lists, trees, and other dynamically allocated data, you are using a Turing complete language.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Are there simpler models of computation (such as PR) in which these applications could be written? If so, to what extent does this allow decidability of program correctness?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;It is important to recognise that we do not want to check arbitrary properties of our software. Checking very specific, narrow properties (no buffer overflows, no null-pointer dereferences, no infinite loops, etc.) immensely improves the quality and usability of software. In theory, such problems are still undecidable. In practice, focusing on specific properties allows us to discover structure in our programs that we can often exploit to solve the problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In particular, you can modify your original question to&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;em&gt;Is there an abstraction of my software that I can analyse efficiently in a non-Turing complete model?&lt;/em&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;An abstraction is a model that includes the behaviour of the original software and possibly many additional behaviours. There are models such as one-counter machines or pushdown systems that are not Turing complete and that we can analyse. The standard approach in program verification with automated tools is to construct an abstraction in such a model and check it algorithmically.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are applications where people care about sophisticated properties of their hardware or software. Hardware companies want their chips to correctly implement arithmetic algorithms, automotive and avionic companies want certifiably correct software. If it's that important, you are better of using a (trained) human being.&lt;/p&gt;&#xA;" OwnerUserId="4155" LastActivityDate="2011-09-29T03:15:50.550" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="8411" PostTypeId="2" ParentId="8406" CreationDate="2011-09-29T06:03:45.263" Score="11" Body="&lt;p&gt;If $a=b=0$ and $r=pq$ where $p$ and $q$ are primes congruent to 1 mod 4, then from the $O(1)$ integer points on the circle one could determine the factorization of $r$. So the problem is not going to be easier than factorization.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2011-09-29T06:03:45.263" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8412" PostTypeId="1" AcceptedAnswerId="8414" CreationDate="2011-09-29T06:06:17.373" Score="10" ViewCount="341" Body="&lt;p&gt;I am looking for online available Lecture notes or other resources that give a good introduction into parallel programming, just like parallel analog of basic classes in computer science.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My focus is the following: while I am able to talk about divide&amp;amp;conquer, greedy algorithms, dynamic programming and the like, i.e. basic patterns of sequential algorithms (and problems), and I do not have the appropiate language to classify approaches in parallel algorithms.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, I would like to acquire the appropiate terms to express the fact that the obvious parallel approaches to each of the following problems have different qualitative behaviour:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;setting an array of integers all-zero (scales perfectly.)&lt;/li&gt;&#xA;&lt;li&gt;summing an array of integers (the more threads you use, the more overhead.)&lt;/li&gt;&#xA;&lt;li&gt;Given an array, list the products of each entry with each other entry (if we parallelize the canonical double-for-loop, the running-time will scale to the sqrt of the number processors.)&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;A shared memory enviroment suffices, and interprocess communication is not so relevant for me (in fact, I am interested in algorithms that avoid it at all). Furthermore, the technical aspects are neglegible for me.&lt;/p&gt;&#xA;" OwnerUserId="4346" LastEditorUserId="4346" LastEditDate="2011-10-05T13:04:19.033" LastActivityDate="2011-10-07T21:38:59.307" Title="Introductory notes on parallelization, in particular patterns of problems and algorithms" Tags="&lt;reference-request&gt;&lt;soft-question&gt;&lt;dc.parallel-comp&gt;&lt;survey&gt;" AnswerCount="3" CommentCount="2" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="8413" PostTypeId="2" ParentId="8403" CreationDate="2011-09-29T08:01:40.623" Score="4" Body="&lt;p&gt;Let me call the property in your &quot;Actual Problem&quot; $\text{NODIAG}$. The following mapping reduces $\text{CYCLE}$ to $\text{CYCLE} \cup \text{NODIAG}$: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For a given $G=(V,E)$, replace every vertex $v$ in $G$ by two copies $v$ and $v&amp;#39;$, and if there is an edge $(u,v)$ in $E$, let $G&amp;#39;$ have edges $(u,v), (u,v&amp;#39;), (u&amp;#39;,v)$ and $(u&amp;#39;,v&amp;#39;)$. &#xA;Thus for every $G$ the graph $G&amp;#39;$ satisfies $\neg \text{NODIAG}$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Moreover, $G&amp;#39;$ has a cycle iff $G$ has a cycle, therefore $G&amp;#39;$ satisfies $\text{CYCLE} \cup \text{NODIAG}$ iff $G$ satifies $\text{CYCLE}$. Therefore $\text{CYCLE}\cup \text{NODIAG}$ is NL-hard. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think a similar construction would work for every purely universal property. &lt;/p&gt;&#xA;" OwnerUserId="6579" LastEditorUserId="6579" LastEditDate="2011-09-29T08:47:03.827" LastActivityDate="2011-09-29T08:47:03.827" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="8414" PostTypeId="2" ParentId="8412" CreationDate="2011-09-29T09:30:03.630" Score="6" Body="&lt;p&gt;For an introductory book for parallel programming (I do not know about online material), I have been learning it with &lt;a href=&quot;http://www.crcpress.com/product/isbn/9781584889458;jsessionid=ih2qkvkxYf4fn-g9gntuBA%2a%2a&quot; rel=&quot;nofollow&quot;&gt;Parallel Algorithms&lt;/a&gt; by Casanova, Legrand and Robert, which is very helpful for beginning in theoretical parallel algorithmic.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Furthermore, in SPAA'11 was a discussion about what should a parallel algorithm and distributed computing student know and what should be teach. This &lt;a href=&quot;http://www.cs.gsu.edu/~tcpp/curriculum/index.php&quot; rel=&quot;nofollow&quot;&gt;Curriculum Initiative on Parallel and Distributed Computing&lt;/a&gt;, will help you to find not a course, but the list of different topic that should be cover during an undergrad course. Then I suppose it is easier to find documentation on every specific topic.&lt;/p&gt;&#xA;" OwnerUserId="4873" LastEditorUserId="4873" LastEditDate="2011-10-07T21:38:59.307" LastActivityDate="2011-10-07T21:38:59.307" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="8415" PostTypeId="2" ParentId="8412" CreationDate="2011-09-29T10:09:42.800" Score="7" Body="&lt;p&gt;If you do not want to delve into the gory details, a very good introduction to parallelization design patterns is provided by the book &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0321228111&quot;&gt;Patterns for Parallel Programming&lt;/a&gt; by Mattson, Sanders and Massingill. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;You will find general, widely applicable solutions to parallelization and even a brief introduction to both  OpenMP and MPI. The book starts by introducing design patterns and concurrency. Then, the authors proceed to illustrate how to exploit the concurrency, how to structure the algorithm, and how to actually implement the algorithm taking into account synchronization and communication.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Again, this is not a textbook on parallel algorithms. It does a very good job of presenting materials strictly related to parallel software engineering, with both a practical and theoretical focus. Therefore, it should suit perfectly your needs.&lt;/p&gt;&#xA;" OwnerUserId="4208" LastActivityDate="2011-09-29T10:09:42.800" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8416" PostTypeId="2" ParentId="8390" CreationDate="2011-09-29T12:03:37.340" Score="6" Body="&lt;p&gt;The answers that have been given so far are great. I thought I'd add some references.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The Moon-Moser theorem was independently proved by Miller and Muller [1960] in a technical report.&lt;/li&gt;&#xA;&lt;li&gt;Wood [2011] and Vatter [2011] give simpler proofs of the Theorem, using basically the approach outlined by David.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Miller, R. E. and Muller, D. E. 1960. A problem of maximum consistent subsets. IBM&#xA;Research Report RC-240, J. T. Watson Research Center, Yorktown Heights, NY.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Vatter, V. 2011. &lt;a href=&quot;http://www.math.ufl.edu/~vatter/publications/sss-mis/sss-mis.pdf&quot; rel=&quot;nofollow&quot;&gt;Maximal independent sets and separating covers&lt;/a&gt;. American Mathematical&#xA;Monthly 118, 418-423.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Wood, D. R. 2011. &lt;a href=&quot;http://arxiv.org/abs/1104.1243&quot; rel=&quot;nofollow&quot;&gt;On the number of maximal independent sets in a graph&lt;/a&gt;. CoRR abs/1104.1243.&lt;/p&gt;&#xA;" OwnerUserId="72" LastEditorUserId="80" LastEditDate="2011-09-29T15:31:33.250" LastActivityDate="2011-09-29T15:31:33.250" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8417" PostTypeId="1" CreationDate="2011-09-29T16:02:18.740" Score="5" ViewCount="363" Body="&lt;p&gt;In her paper &lt;a href=&quot;http://arxiv.org/abs/1008.0809&quot; rel=&quot;nofollow&quot;&gt;Defining Integers&lt;/a&gt;, Alexandra Shlapentokh presents the following as an immediate corollary of the undecidability of Hilbert's Tenth Problem --- that is, the language $\{p : p$ is a polynomial with integer coefficients with at least an integer root $\}$:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;&lt;b&gt;Corollary 1.5.&lt;/b&gt; There are undecidable Diophantine subsets of $\mathbb{Z}$&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I'm not sure this is a consequence of the undecidability of HTP, so maybe I misread, and what the author is saying is that this is a consequence of the correspondence between recognizable sets and Diophantine sets.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;b&gt;Question:&lt;/b&gt; Is Corollary 1.5 a direct consequence of the undecidability of HTP?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;b&gt;Question (rephrased):&lt;/b&gt; Suppose every Diophantine set is decidable; does this imply that HTP is decidable?&lt;/p&gt;&#xA;" OwnerUserId="88" LastEditorUserId="88" LastEditDate="2011-09-30T12:53:58.137" LastActivityDate="2011-09-30T14:52:53.180" Title="Hilbert's Tenth Problem and nonrecursive Diophantine sets" Tags="&lt;computability&gt;" AnswerCount="3" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="8418" PostTypeId="2" ParentId="8417" CreationDate="2011-09-29T16:30:09.757" Score="2" Body="&lt;p&gt;Take an arbitrary Diophantine equation over natural numbers. By Lagrange's sum of four squares theorem, any natural number is sum of squares of 4 integers. Replace each variable by sum of squares of four new variables. It is easy to see that there is a solutions to the original Diophantine equation over natural numbers iff there is solution for the modified equation over integers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit:&#xA;Assume that every Diophantine set is decidable (1). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;We know that every r.e. set is Diophantine by MRDP. In particular the Hilbert's tenth problem is r.e., so it is expressible by a fixed Diophantine equation. Now by (1), we have that it is decidable. So Hilbert's tenth problem is decidable.&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2011-09-29T17:18:29.167" LastActivityDate="2011-09-29T17:18:29.167" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="8419" PostTypeId="1" CreationDate="2011-09-29T17:45:26.227" Score="9" ViewCount="112" Body="&lt;p&gt;I'm interested in operational ways of demonstrating (with high probability of confidence, in an error-free setting) that a POVM operator on &lt;em&gt;n&lt;/em&gt;-qubit states is a projector. Specifically, I'm interested in ways in which one can do so using product states. (I'm more interested in describing it as an analytic characterization of projectors, but I find it easier to describe &lt;em&gt;roughly what sort&lt;/em&gt; of characterization I'm looking for in terms of a protocol.) I'm not interested in &lt;em&gt;poly-time&lt;/em&gt; approaches per se; just ones which are much better than process tomography.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Preamble.&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;One way to characterize a projector is &lt;em&gt;process tomography&lt;/em&gt;. Given a POVM &lt;em&gt;P&lt;/em&gt;, represented as a CPTP map of the form&#xA;$$&#xD;&#xA;P(\rho) \;=\; \sum_{j = 1}^m \;\;\mathrm{Tr}(\rho E_j) \;\;|j\rangle\!\langle j|\;,&#xD;&#xA;$$&#xA;one may determine whether any particular E&lt;sub&gt;r&lt;/sub&gt; is a projector by collecting statistics on measurement results, &lt;em&gt;e.g.&lt;/em&gt;&amp;nbsp;on all &lt;em&gt;n&lt;/em&gt;-fold tensor products of the eigenstates of the Pauli &lt;em&gt;X&lt;/em&gt;, &lt;em&gt;Y&lt;/em&gt;, and &lt;em&gt;Z&lt;/em&gt; operators, using these to compute matrix coefficients for E&lt;sub&gt;r&lt;/sub&gt;, and then determine whether that matrix is idempotent. If we are given a promise that E&lt;sub&gt;r&lt;/sub&gt; is either a projector or bounded away from being a projector in some suitable norm, the probability of correctly deducing whether it is a projector then amounts to the confidence in the estimates of the matrix coefficients.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, if you &lt;em&gt;know in advance&lt;/em&gt; that E&lt;sub&gt;r&lt;/sub&gt; is a projector, and you would like to &lt;em&gt;convince&lt;/em&gt; someone else that it is, you can certify this somewhat more efficiently if you are able to prepare a complete basis of eigenstates of E&lt;sub&gt;r&lt;/sub&gt;. The outcome E&lt;sub&gt;r&lt;/sub&gt; will never arise for 0-eigenstates, and always will for +1-eigenstates. These eigenstates aren't necessarily product states, of course, but having them as a resource makes it in principle less laborious to give evidence that E&lt;sub&gt;r&lt;/sub&gt; is a projector: it suffices to collect enough statistics to show that it is quite likely that any one eigenstate is indeed an eigenstate (made easier by the extremality of the measurement probabilities). There are only 2&lt;sup&gt;n&lt;/sup&gt; such eigenstates, and the confidence in your estimates converges (and quickly) despite &quot;sampling&quot; fewer states, because of the extremality of the eigenvalues.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Question.&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;Is there a characterization of projectors, which one may (statistically, as with the eigenstates) verify more succinctly than tomography &amp;mdash; &lt;em&gt;and&lt;/em&gt; which can be performed with only (input-dependent) &lt;em&gt;product states&lt;/em&gt;? If this cannot be done for all projectors in a way which is clearly better than tomography, what are the classes of operators (apart from the class of product projectors) for which there are better approaches?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For instance, this is easy for rank-1 projectors in the case &lt;em&gt;n&lt;/em&gt;&amp;nbsp;=&amp;nbsp;2 (even if we consider qudits of arbitrary dimension rather than qubits), just by using the Schmidt decomposition; we can find a (not necessarily orthogonal) basis for the kernel, and then complete this basis to allow us to estimate the trace of E&lt;sub&gt;r&lt;/sub&gt; and show that its other eigenvalue must be close to 1. But it's not clear how to extend even this simple case to &lt;em&gt;n&lt;/em&gt;&amp;nbsp;=&amp;nbsp;3.&lt;/p&gt;&#xA;" OwnerUserId="248" LastEditorUserId="7286" LastEditDate="2012-05-07T14:31:18.823" LastActivityDate="2012-05-07T14:31:18.823" Title="Non-tomographical certification of projectors, using product states?" Tags="&lt;quantum-computing&gt;&lt;quantum-information&gt;" AnswerCount="0" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8420" PostTypeId="2" ParentId="8417" CreationDate="2011-09-29T18:49:17.100" Score="0" Body="&lt;p&gt;I always thought it would be cool to write a compiler who's target is Diophantine equations. Especially to see what kind of programs translate into equations of the form $x^n+y^n = z^n$ :)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For all the flack that Wolfram's NKS gets, he has a very interesting blurb in there about doing just this sort of thing. &lt;a href=&quot;http://www.wolframscience.com/nksonline/page-1161a-text&quot; rel=&quot;nofollow&quot;&gt;NKS Hilbert 10th&lt;/a&gt; He has a nice table showing how some simple statements have corresponding Diophantine compilation targets. &lt;a href=&quot;http://www.wolframscience.com/nksonline/page-1160&quot; rel=&quot;nofollow&quot;&gt;Universal Diophantine Equation&lt;/a&gt; For instance:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$A&amp;lt;B \iff B == A+C+1$&lt;/p&gt;&#xA;" OwnerUserId="2021" LastEditorUserId="2021" LastEditDate="2011-09-30T14:52:53.180" LastActivityDate="2011-09-30T14:52:53.180" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="8421" PostTypeId="2" ParentId="8412" CreationDate="2011-09-29T18:55:12.570" Score="1" Body="&lt;p&gt;MPI_RUBY ... need to find my latest stable build. I would suggest adding parallel-prefix (scan) to the list.  I would just teach parallel prefix, and show them how to use a space filling curve to get better cache efficiency on the all pairs problem.&lt;/p&gt;&#xA;" OwnerUserId="2021" LastActivityDate="2011-09-29T18:55:12.570" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8422" PostTypeId="2" ParentId="8393" CreationDate="2011-09-29T20:43:04.257" Score="11" Body="&lt;p&gt;Gzip.  Cilibrasi and Vitanyi have a really nice article where they use gzip as an approximation of Kolmogorov complexity to do clustering. &lt;a href=&quot;http://homepages.cwi.nl/~paulv/papers/cluster.pdf&quot;&gt;Clustering by Compression&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="2021" LastActivityDate="2011-09-29T20:43:04.257" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="8423" PostTypeId="2" ParentId="8406" CreationDate="2011-09-29T21:15:34.490" Score="7" Body="&lt;p&gt;To complement David's answer: if $a$, $b$ and $r$ are all rational then the problem can be translated back to the integer case by multiplying by their common denominator; this may introduce false positives, but since there can be no more than $O(\log r)$ points on the circle then testing them all is no less efficient than the rest of the procedure.  And while David notes that the problem is at least as hard as factorization, it's basically exactly as hard as factorization: given a factorization of $r$, it's easy to find all the representations of $r$ as a sum of two squares.  First find all the representations of its factors $p=4n+1$ as a sum of two squares, then use the formula for expressing products of sums of two squares as a sum of two squares (along with the 'doubling formula') to find the rest.  As far as finding the representation(s) of a prime as a sum of two squares, you might want to see the discussions at &lt;a href=&quot;https://stackoverflow.com/questions/5380323/whats-the-fastest-algorithm-to-represent-a-prime-as-sum-of-two-squares&quot;&gt;https://stackoverflow.com/questions/5380323/whats-the-fastest-algorithm-to-represent-a-prime-as-sum-of-two-squares&lt;/a&gt; and &lt;a href=&quot;https://math.stackexchange.com/questions/5877/efficiently-finding-two-squares-which-sum-to-a-prime&quot;&gt;https://math.stackexchange.com/questions/5877/efficiently-finding-two-squares-which-sum-to-a-prime&lt;/a&gt; .&lt;/p&gt;&#xA;" OwnerUserId="1941" LastEditorUserId="-1" LastEditDate="2017-05-23T12:40:09.333" LastActivityDate="2011-09-29T21:15:34.490" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8424" PostTypeId="2" ParentId="8368" CreationDate="2011-09-29T21:16:23.933" Score="3" Body="&lt;p&gt;Yossi Shiloach, Uzi Vishkin. An O(log n) Parallel Connectivity Algorithm. J. Algorithms, 1982: 57~67   -- One of my favorite papers. It would be interesting if you could do it in O((nlogn/k)/p) space with p processors in $k$ rounds where each round each processor is only allowed to read in O(n/p) of the edges.&lt;/p&gt;&#xA;" OwnerUserId="2021" LastActivityDate="2011-09-29T21:16:23.933" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8425" PostTypeId="2" ParentId="8333" CreationDate="2011-09-29T21:28:00.240" Score="5" Body="&lt;p&gt;(This is a more detailed version of my comment on the question.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As for your question 1, your class is &lt;a href=&quot;https://complexityzoo.uwaterloo.ca/Complexity_Zoo:R#r&quot; rel=&quot;nofollow noreferrer&quot;&gt;R&lt;/a&gt;, the class of decidable problems.  Expected polynomial time is not a useful resource restriction when you allow unbounded error.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To prove that your class contains R, consider a language &lt;i&gt;L&lt;/i&gt;∈R.  Let &lt;i&gt;M&lt;/i&gt; be a Turing machine for &lt;i&gt;L&lt;/i&gt; which halts on every input.  Then we construct a probabilistic Turing machine &lt;i&gt;M&lt;/i&gt;′ which runs in expected polynomial time as follows:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Simulate one step of &lt;i&gt;M&lt;/i&gt;.  If &lt;i&gt;M&lt;/i&gt; accepts, then accept.  If &lt;i&gt;M&lt;/i&gt; rejects, then reject.  If &lt;i&gt;M&lt;/i&gt; has not halted, continue.&lt;/li&gt;&#xA;&lt;li&gt;Halt and accept with probability 1/4, halt and reject with probability 1/4, and go to step 1 with probability 1/2.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;It should be easy to see that if &lt;i&gt;M&lt;/i&gt; halts after &lt;i&gt;t&lt;/i&gt; steps, then &lt;i&gt;M&lt;/i&gt;′ &lt;a href=&quot;http://en.wikipedia.org/wiki/Almost_surely#.22Almost_sure.22_versus_.22sure.22&quot; rel=&quot;nofollow noreferrer&quot;&gt;surely&lt;/a&gt; halts before executing step 1 more than &lt;i&gt;t&lt;/i&gt; times, and that the probability of error is at most 1/2−1/2&lt;sup&gt;&lt;i&gt;t&lt;/i&gt;&lt;/sup&gt; &amp;lt; 1/2.  The expected number of times step 1 is executed is 2(1−1/2&lt;sup&gt;&lt;i&gt;t&lt;/i&gt;&lt;/sup&gt;) &amp;lt; 2, and therefore &lt;i&gt;M&lt;/i&gt;′ runs in expected constant time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To prove that your class is contained in R, first note that finite expected running time implies that the probabilistic Turing machine halts &lt;a href=&quot;http://en.wikipedia.org/wiki/Almost_surely#.22Almost_sure.22_versus_.22sure.22&quot; rel=&quot;nofollow noreferrer&quot;&gt;with probability 1&lt;/a&gt;, and therefore your requirement implies that the machine halts with the correct answer with probability greater than 1/2.  Simulate the probabilistic Turing machine, accumulating the probability of acceptance &lt;i&gt;p&lt;/i&gt; and the probability of rejection &lt;i&gt;q&lt;/i&gt;.  Because the machine gives the correct answer with probability greater than 1/2, either &lt;i&gt;p&lt;/i&gt; or &lt;i&gt;q&lt;/i&gt; exceeds 1/2 eventually, and at this point we can stop the simulation and give the correct answer.  (For more details, see &lt;a href=&quot;https://cstheory.stackexchange.com/questions/2515/can-a-probabilistic-turing-machine-solve-the-halting-problem/2519#2519&quot;&gt;this answer&lt;/a&gt; by Karolina Sołtys.)&lt;/p&gt;&#xA;" OwnerUserId="567" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2013-04-21T16:44:33.140" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="8426" PostTypeId="1" CreationDate="2011-09-29T22:13:48.057" Score="1" ViewCount="242" Body="&lt;p&gt;I have a couple of short but pleasing results. I was wondering (a) if they're original (b) if so whom should I tell?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I don't have easy access to any standard texts that would help me out here. Nor indeed do I work in the field (but it would still be advantageous as well as personally satisfying if I could get a note in some journal or other). Anyway, enough prolog, on with the results.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider these two closely related problems:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;PROBLEM 1: A complete digraph has its edges labeled with numbers. The &quot;average score&quot; of a circuit (not necessarily a cycle) in the graph is defined as the sum of the numbers along the edges traversed divided by the number of edges in the circuit. Is there a non-self-intersecting circuit having an average score greater than a given number?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;PROBLEM 2: The same problem, except with the additional constraint that the circuit must pass through a given vertex of the graph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Problem 1 can be solved in polynomial time. Problem 2 is NP-complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thank you for your comments.&lt;/p&gt;&#xA;" OwnerUserId="6725" LastActivityDate="2011-09-29T23:32:28.037" Title="Two Decision Problems About Graphs --- Original Results?" Tags="&lt;graph-algorithms&gt;&lt;np-hardness&gt;" AnswerCount="2" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="8427" PostTypeId="2" ParentId="8393" CreationDate="2011-09-29T22:16:10.603" Score="2" Body="&lt;p&gt;I'm not an expert, but if you need a &lt;em&gt;practical&lt;/em&gt; complexity measure for strings, you can take a look to the Titchener &lt;strong&gt;T-complexity&lt;/strong&gt; measure.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See &lt;a href=&quot;http://tcode.auckland.ac.nz/~mark/T-codes%3a%20Intro.html&quot; rel=&quot;nofollow&quot;&gt;Titchener's web site&lt;/a&gt; for a quick introduction; his &lt;a href=&quot;http://tcode.auckland.ac.nz/~mark/Papers.html&quot; rel=&quot;nofollow&quot;&gt;papers can be downloaded in pdf format&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Abstract&lt;/em&gt; - A new measure of string complexity for finite strings is presented based on a specific recursive hierarchical string &lt;em&gt;production process&lt;/em&gt;. From the maximal bound we deduce a relationship between complexity and  total information content. &lt;a href=&quot;http://tcode.auckland.ac.nz/~mark/Papers/00708931isit1998.pdf&quot; rel=&quot;nofollow&quot;&gt;..full article...&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I found some papers on practical implementations, too (see for example &quot;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.107.7394&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;nofollow&quot;&gt;A Fast T-decomposition algorithm&lt;/a&gt;&quot;)&lt;/p&gt;&#xA;" OwnerUserId="3247" LastActivityDate="2011-09-29T22:16:10.603" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8428" PostTypeId="2" ParentId="8426" CreationDate="2011-09-29T23:07:06.320" Score="4" Body="&lt;p&gt;It sounds as though your first problem is the computation of the &lt;em&gt;maximum cycle mean&lt;/em&gt;. I am no expert, but I know the problem is well studied. One paper on the subject that is not behind a paywall can be found &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.48.1131&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="30" LastActivityDate="2011-09-29T23:07:06.320" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8429" PostTypeId="2" ParentId="8297" CreationDate="2011-09-29T23:17:39.350" Score="12" Body="&lt;h3&gt;Completely classical case (MIP)&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;If the verifier is classical and there is no prior entanglement among provers, your class contains BPP∪NP and is contained in &lt;a href=&quot;http://qwiki.stanford.edu/index.php/Complexity_Zoo%3aM#ma&quot; rel=&quot;noreferrer&quot;&gt;MA&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is trivial that BPP is a lower bound.  To show that the class contains NP, consider the standard two-prover one-round interactive proof system for 3-colorability with perfect completeness and soundness error 1−1/poly.  If you want to reduce the soundness error to a constant, combine this with the PCP theorem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As for the upper bound, the following stronger statement holds: MIP with the restriction that the total message length from the verifier to each prover is O(log &lt;i&gt;n&lt;/i&gt;) is equal to MA.  This is because a strategy of each prover can be described by a string of polynomial length.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Interestingly, another upper bound exists when the system has perfect completeness.  Namely, multi-prover interactive proof systems with perfect completeness with O(log &lt;i&gt;n&lt;/i&gt;)-bit total communication recognize at most &lt;a href=&quot;http://qwiki.stanford.edu/index.php/Complexity_Zoo%3aP#pnplog&quot; rel=&quot;noreferrer&quot;&gt;P&lt;sup&gt;NP[log]&lt;/sup&gt;&lt;/a&gt;, and this holds even if we allow unbounded soundness error.  To prove this in the case of two provers, let &lt;i&gt;x&lt;/i&gt;&lt;sub&gt;&lt;i&gt;s&lt;/i&gt;&lt;/sub&gt; be the concatenation of all answers given by the first prover when the concatenation of all questions to the first prover is &lt;i&gt;s&lt;/i&gt;, and define &lt;i&gt;y&lt;/i&gt;&lt;sub&gt;&lt;i&gt;t&lt;/i&gt;&lt;/sub&gt; analogously for the second prover.  To be accepted by the verifier with certainty, these variables &lt;i&gt;x&lt;/i&gt;&lt;sub&gt;&lt;i&gt;s&lt;/i&gt;&lt;/sub&gt; and &lt;i&gt;y&lt;/i&gt;&lt;sub&gt;&lt;i&gt;t&lt;/i&gt;&lt;/sub&gt; must satisfy certain constraints, and note that this is a 2CSP.  There are at most poly(&lt;i&gt;n&lt;/i&gt;) choices for tuples (&lt;i&gt;s&lt;/i&gt;, &lt;i&gt;t&lt;/i&gt;, &lt;i&gt;x&lt;/i&gt;&lt;sub&gt;&lt;i&gt;s&lt;/i&gt;&lt;/sub&gt;, &lt;i&gt;y&lt;/i&gt;&lt;sub&gt;&lt;i&gt;t&lt;/i&gt;&lt;/sub&gt;), and for each choice, we can use the NP oracle to test whether the verifier rejects that tuple.  Therefore, with the NP oracle, we can list up all the constraints on the variables &lt;i&gt;x&lt;/i&gt;&lt;sub&gt;&lt;i&gt;s&lt;/i&gt;&lt;/sub&gt; and &lt;i&gt;y&lt;/i&gt;&lt;sub&gt;&lt;i&gt;t&lt;/i&gt;&lt;/sub&gt; in polynomial time.  Finally, we use the NP oracle once more to test whether there is an assignment to these variables which satisfies all the constraints.  Although this algorithm uses the NP oracle polynomially many times, all the queries except for the last one can be made in parallel, and therefore this can be converted to a P&lt;sup&gt;NP[log]&lt;/sup&gt; algorithm.  The case of more than two provers is analogous.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This upper bound implies that although every MA system can be turned to one with perfect completeness, we cannot hope for a multi-prover interactive proof system with perfect completeness with O(log &lt;i&gt;n&lt;/i&gt;)-bit communication unless MA⊆P&lt;sup&gt;NP[log]&lt;/sup&gt;.  I do not know how unlikely the inclusion MA⊆P&lt;sup&gt;NP[log]&lt;/sup&gt; is, but I just note that &lt;a href=&quot;http://www.math.ucdavis.edu/~greg/zoology/relations.html#delta2p&quot; rel=&quot;noreferrer&quot;&gt;Complexity Zoology&lt;/a&gt; states that there is an oracle relative to which BPP⊈&lt;a href=&quot;http://qwiki.stanford.edu/index.php/Complexity_Zoo%3aP#pnp&quot; rel=&quot;noreferrer&quot;&gt;P&lt;sup&gt;NP&lt;/sup&gt;&lt;/a&gt; (and therefore clearly MA⊈P&lt;sup&gt;NP[log]&lt;/sup&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(In the case of single prover, Theorem 2 of Goldreich and Håstad [GH98] implies that IP with the total message length O(log &lt;i&gt;n&lt;/i&gt;) bits is equal to BPP.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Added&lt;/strong&gt;.  A necessary and sufficient characterization is as follows.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To explain this characterization, we need a variant of the notion of Karp reducibility (polynomial-time many-one reducibility).  For two decision problems &lt;i&gt;A&lt;/i&gt; and &lt;i&gt;B&lt;/i&gt;, let’s say that &lt;i&gt;A&lt;/i&gt; is FP&lt;sup&gt;BPP&lt;/sup&gt;-reducible to &lt;i&gt;B&lt;/i&gt; (I know, this is an awful name) when there is a deterministic polynomial-time Turing machine &lt;i&gt;M&lt;/i&gt; with access to the BPP oracle which maps yes-instances to yes-instances and no-instances to no-instances, where we allow “non-smart” oracle access (meaning that &lt;i&gt;M&lt;/i&gt; can make a query to the BPP oracle about an instance which does not satisfy the promise of the BPP problem, in which case then oracle returns yes or no arbitrarily).  Then it can be proved that the following conditions on a problem &lt;i&gt;A&lt;/i&gt; are equivalent.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(i) &lt;i&gt;A&lt;/i&gt; has a multi-prover interactive proof system with O(log &lt;i&gt;n&lt;/i&gt;)-bit communication and two-sided bounded error.&lt;br&gt;&#xA;(ii) &lt;i&gt;A&lt;/i&gt; has a two-prover one-round interactive proof system with O(log &lt;i&gt;n&lt;/i&gt;)-bit communication, exponentially small completeness error, and constant soundness error.&lt;br&gt;&#xA;(iii) &lt;i&gt;A&lt;/i&gt; is FP&lt;sup&gt;BPP&lt;/sup&gt;-reducible to a problem in NP.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Proof idea: Implication (ii)⇒(i) is trivial.  Implication (i)⇒(iii) can be obtained in a similar way to the above proof in the case of one-sided error.  Implication (iii)⇒(ii) follows from the PCP theorem because the class of problems satisfying condition (ii) is closed under FP&lt;sup&gt;BPP&lt;/sup&gt;-reducibility.)&lt;/p&gt;&#xA;&#xA;&lt;h3&gt;Classical verifier with entangled provers (MIP*)&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;Next consider the case with a classical verifier and entangled provers.  In this case, the class with bounded error again contains BPP∪NP.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Kempe, Kobayashi, Matsumoto, Toner, and Vidick [KKMTV11] shows that every problem in NP has a three-prover one-round interactive proof system with perfect completeness and soundness error 1−1/poly where the total length of messages is O(log &lt;i&gt;n&lt;/i&gt;) bits, and the soundness holds against entangled provers.  Therefore, MIP* with total message length O(log &lt;i&gt;n&lt;/i&gt;) bits and bounded error contains NP.  A later result by Ito, Kobayashi, and Matsumoto [IKM09] (shameless plug) reduces the number of provers from three to two.  The case of constant soundness is open at the top of my knowledge.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is not known whether MIP* with total message length O(log &lt;i&gt;n&lt;/i&gt;) bits is contained in the class R of decidable problems or not, and this question is equivalent to whether MIP*⊆R (another open problem) by the padding argument.&lt;/p&gt;&#xA;&#xA;&lt;h3&gt;References&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;[GH98] Oded Goldreich and Johan Håstad.  On the complexity of interactive proofs with bounded communication.  &lt;em&gt;Information Processing Letters&lt;/em&gt;, 67(4):205–214, Aug. 1998.  &lt;a href=&quot;http://dx.doi.org/10.1016/S0020-0190%2898%2900116-1&quot; rel=&quot;noreferrer&quot;&gt;http://dx.doi.org/10.1016/S0020-0190%2898%2900116-1&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[IKM09] Tsuyoshi Ito, Hirotada Kobayashi, and Keiji Matsumoto.  Oracularization and two-prover one-round interactive proofs against nonlocal strategies.  &lt;em&gt;Proceedings: Twenty-Fourth Annual IEEE Conference on Computational Complexity (CCC 2009)&lt;/em&gt;, 217–228, July 2009.  &lt;a href=&quot;http://dx.doi.org/10.1109/CCC.2009.22&quot; rel=&quot;noreferrer&quot;&gt;http://dx.doi.org/10.1109/CCC.2009.22&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[KKMTV11] Julia Kempe, Hirotada Kobayashi, Keiji Matsumoto, Ben Toner, and Thomas Vidick.  Entangled games are hard to approximate.  &lt;em&gt;SIAM Journal on Computing&lt;/em&gt;, 40(3):848–877, 2011.  &lt;a href=&quot;http://dx.doi.org/10.1137/090751293&quot; rel=&quot;noreferrer&quot;&gt;http://dx.doi.org/10.1137/090751293&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="567" LastEditorUserId="567" LastEditDate="2011-10-06T17:47:46.213" LastActivityDate="2011-10-06T17:47:46.213" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="8430" PostTypeId="2" ParentId="8426" CreationDate="2011-09-29T23:32:28.037" Score="6" Body="&lt;p&gt;Problem 1 is an exercise in CLRS (2nd ed., page 617).&lt;/p&gt;&#xA;" OwnerUserId="49" LastActivityDate="2011-09-29T23:32:28.037" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8434" PostTypeId="2" ParentId="8417" CreationDate="2011-09-30T01:59:20.210" Score="9" Body="&lt;p&gt;Looking at the paper, I believe that what Shlapentokh is saying is that &quot;there is an undecidable Diophantine subset of $\mathbb Z$&quot; is an immediate consequence of &quot;there is an r.e. set that is not recursive&quot; and the MRDP theorem, where by the &quot;MRDP theorem&quot; is meant &quot;A set is Diophantine if and only if it is r.e.&quot;  Nothing deeper than that.&lt;/p&gt;&#xA;" OwnerUserId="2970" LastActivityDate="2011-09-30T01:59:20.210" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8438" PostTypeId="2" ParentId="8393" CreationDate="2011-09-30T09:47:36.203" Score="3" Body="&lt;p&gt;I thought more about my question, and arrived at possible solution. It has two limitations, it is defined only on strings of length $n = 2^m$ (although I will discuss this more) and it doesn't talk about universal Turing machines, instead following a &lt;a href=&quot;https://cstheory.stackexchange.com/q/7247/1037&quot;&gt;previous question&lt;/a&gt; and using an alternative model of computation.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Basically, we can interpret a string $x$ with $|x| = 2^m$ as a function $f_x: \{0,1\}^m \rightarrow \{0,1\}$. Then our complexity measure $K'(x)$ is the size (number of edges) of the unique reduced ordered binary decision diagram (ROBDD; with the standard ordering fixed) representing $f_x$. This satisfies condition [1]. Also, since ROBDDs can be computed in time polynomial in $2^m$, we have an efficient measure.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To satisfy condition [2], we have to modify standard BDDs by allowing an special type on node. Usually nodes are labeled by indexes $i \in \{1,...,m\}$, we will include a special oracle node. For $K(x|y)$ where $|y| = 2^m$ we will allow special nodes in the BDDs as follows:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we are running a BDD on input $a$ ($|a| = m$) then a normal node labeled by $i$ simply send us down the edge labeled $a_i$. An oracle node will instead send us down an edge labeled $f_y(a)$. Thus, $K'(x|x) = 2$ and with high probability $K'(x|y) \approx K(x)$ for a $y$ picked uniformly at random. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;[Note: it is not clear if conditional complexity can still be efficiently computed :(]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Conviniently, we also have sub-additivity since to build an OBDD for $x.y$ we can have a query for the first bit and on $0$ go to the ROBDD for $x$ and on $1$ to the ROBDD for $y$. Thus, we have $K'(x.y) \leq K'(x) + K'(y)$.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;At the potential cost of sub-additivity we could define $K'(x)$ for any length $x$ by just taking power-of-two chunks and adding their complexities together. For instance for $|x| = 2^m$ and $|y| = 2^l$ with $m &amp;gt; l$ we can define $K'(x.y) = K'(x) + K'(y)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are also some unfortunately limitations with my approach. We can't go much beyond OBDDs, if we consider minimal decision trees or just BDDs then we will snag on the intractability issues addressed in &lt;a href=&quot;https://cstheory.stackexchange.com/questions/7563/algorithm-for-optimizing-decision-trees/7963#7963&quot;&gt;this answer&lt;/a&gt;. Even for variable ordering of OBDDs there seems to be &lt;a href=&quot;http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=537122&quot; rel=&quot;nofollow noreferrer&quot;&gt;intractability results&lt;/a&gt;. So it seems OBDDs is the limit of this not-so-similar-to-standard-Kolmogorov-complexity approach.&lt;/p&gt;&#xA;" OwnerUserId="1037" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2011-09-30T09:47:36.203" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8439" PostTypeId="2" ParentId="8391" CreationDate="2011-09-30T14:34:46.410" Score="7" Body="&lt;p&gt;In the rump session of Crypto 98, &lt;a href=&quot;http://finney.org/~hal/&quot; rel=&quot;nofollow&quot;&gt;Hal Finney&lt;/a&gt; provided a talk which might be of your interest. The title is &quot;A zero-knowledge proof of possession of a pre-image of a SHA-1 hash.&quot; I have not found any transcripts.&lt;s&gt;, but the video is available on both &lt;a href=&quot;http://www.youtube.com/watch?v=2jQsSIdGTwo&quot; rel=&quot;nofollow&quot;&gt;YouTube&lt;/a&gt; and &lt;a href=&quot;http://video.google.com/videoplay?docid=-5745972992365920864&quot; rel=&quot;nofollow&quot;&gt;Google Videos&lt;/a&gt;. (the videos are no longer available; see the comments below.)&lt;/s&gt; The video is now available from my &lt;a href=&quot;https://drive.google.com/file/d/0BxSJdYnjz8zdVG9qR0xiX191V28/view?usp=sharing&quot; rel=&quot;nofollow&quot;&gt;Google Drive&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="873" LastEditorUserId="873" LastEditDate="2014-12-05T10:55:13.700" LastActivityDate="2014-12-05T10:55:13.700" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="8440" PostTypeId="2" ParentId="8117" CreationDate="2011-09-30T18:25:35.907" Score="13" Body="&lt;p&gt;Take the formula in your example, remove the clause $\lnot A \lor \lnot B \lor \lnot C$ and add the following $2$ clauses:  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\lnot A \lor \lnot B \lor \lnot E$&lt;br&gt;&#xA;$\lnot B \lor \lnot C \lor E$ &lt;/p&gt;&#xA;&#xA;&lt;p&gt;You will get a minimal unsatisfiable formula with $n=5$, $m=9$ obeying condition 5.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In general, you may randomly pick a clause $l_1 \lor l_2 \lor l_3$ and split it in $2$ clauses:  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$l_1 \lor l_2 \lor v$&lt;br&gt;&#xA;$l_2 \lor l_3 \lor \lnot v$  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;where $v$ is a new variable. Each time you do so, both $n$ and $m$ are incremented by $1$. Repeating this process allows you to &lt;em&gt;&quot;stretch&quot;&lt;/em&gt; the initial unsatisfiable core, and to obtain minimal unsatisfiable formulas (obeying condition 5) whose $r=\frac{m}{n}$ tends to $1$ as $n$ grows (which is pretty rare, as formulas with $r=1$ are satisfiable with high probability). &lt;/p&gt;&#xA;" OwnerUserId="947" LastEditorUserId="947" LastEditDate="2011-10-01T08:04:45.767" LastActivityDate="2011-10-01T08:04:45.767" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="8441" PostTypeId="2" ParentId="8403" CreationDate="2011-09-30T18:39:16.787" Score="2" Body="&lt;p&gt;The actual problem is in FO. Testing if there exists $a,b,c,d \in V(G)$ such that $(a,c),(b,d) \in E(G)$ and $(a,d),(b,c) \notin E(G)$ is obviously in FO.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assume that there are no such $a,b,c,d$, then $G$ admits a directed cycle if and only if $G$ admits a directed cycle of length two. This can be deduced from the fact that for any two vertices $a$ and $b$ of $G$, their out-neighbourhoods $N^-(a)$ and $N^-(b)$ are such that $N^-(a) \subseteq N^-(b)$ or $N^-(b) \subseteq N^-(a)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thus, it's sufficient to check if there exists $a,b \in V(G)$ such that $(a,b),(b,a) \in E(G)$, which is in FO.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, $G$ is in $CYCLE \cup NODIAG$ if and only if $(\exists a,b,c,d)[(E(a,b) \wedge E(c,d) \wedge \neg E(a,d) \wedge \neg E(b,c)) \vee (E(a,b) \wedge E(b,a))]$&lt;/p&gt;&#xA;" OwnerUserId="6736" LastActivityDate="2011-09-30T18:39:16.787" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="8442" PostTypeId="1" AcceptedAnswerId="8461" CreationDate="2011-09-30T20:39:07.717" Score="8" ViewCount="265" Body="&lt;p&gt;Suppose we have an $n \times n$ square, and an alphabet $\Gamma$.  We put an element of $\Gamma$ in each location of the square. An element can appear in more than one location.  The constraint is that a pair $a,b$ of neighbors (either east-west of each other, or north-south of each other) can only appear in that configuration once.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Example of a prohibited square:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;a b c&lt;br&gt;&#xA;d e f&lt;br&gt;&#xA;g d e  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since &quot;de&quot; appears on both the second and the third row, the entries of the square are not acceptable. The same problem would arise if, say, a appeared above d anywhere except the top left corner. &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Given $n$, the width of the square as a parameter, what is a lower bound on the size of the alphabet $\Gamma$?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I would love (suggestions toward) a direct proof, but also, has this type of square-filling problem been studied?  I can't connect it to either a Latin square, or a block design.  Does this map onto any already-named combinatorial object?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Note: this is related to a &lt;a href=&quot;https://cstheory.stackexchange.com/q/7865/30&quot;&gt;previous question&lt;/a&gt; of mine about avoiding partial words, but that question only required avoidance east-west, so to speak, whereas here I need to avoid north-south repetitions also.)&lt;/p&gt;&#xA;" OwnerUserId="30" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.743" LastActivityDate="2011-10-10T19:57:16.367" Title="A square with entries whose adjacencies never repeat" Tags="&lt;co.combinatorics&gt;" AnswerCount="2" CommentCount="10" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8443" PostTypeId="2" ParentId="8442" CreationDate="2011-09-30T21:47:27.027" Score="10" Body="&lt;p&gt;An extended version of my comment:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $p = n+1$ be a prime number. Then we can construct an $n \times n$ square from the multiplication table of integers modulo $p$. For example, if $p = 5$, we have&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;1234&#xA;2413&#xA;3142&#xA;4321&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Now each pair $ab$ with $a \ne b$ occurs exactly once. Similarly, each pair $a$-above-$b$ with $a \ne b$ occurs exactly once.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hence this is a valid construction; alphabet size $n$ and an $n \times n$ square.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Moreover, it is optimal. In an $n \times n$ square there are $n(n-1)$ horizontal pairs, and each of them must be different. If we had an alphabet of size $n-1$, we could only construct $(n-1)^2 &amp;lt; n(n-1)$ different horizontal pairs.&lt;/p&gt;&#xA;" OwnerUserId="74" LastEditorUserId="74" LastEditDate="2011-09-30T22:00:58.993" LastActivityDate="2011-09-30T22:00:58.993" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8444" PostTypeId="1" CreationDate="2011-09-30T22:31:31.250" Score="7" ViewCount="294" Body="&lt;p&gt;This is a continuation of an earlier question on the &lt;a href=&quot;https://cstheory.stackexchange.com/q/7413/1037&quot;&gt;trade off between time and query complexity&lt;/a&gt;. By a trade off we consider the following two types of algorithms:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;The best query algorithm: this algorithm uses the minimal number of queries and then optimizes to reduce total time, while preserving queries (this has query complexity $Q_1$ and time complexity $T_1$).&lt;/li&gt;&#xA;&lt;li&gt;The best time algorithm: this algorithm uses the minimal amount of time and then optimized to reduce total queries, while preserving time (this has query complexity $Q_2$ and time complexity $T_2$).&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;We saw that for partial functions, we can have arbitrarily large seperations between $T_1$ and $T_2$ and $Q_1$ and $Q_2$. However, this approach only works for partial functions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For total functions, we can use the approach in &lt;a href=&quot;https://cstheory.stackexchange.com/q/7563/1037&quot;&gt;this question&lt;/a&gt; to show that $T_1 \in O(n!2^n T_2)$ and for queries we can show $Q_2 \in O(2^{Q_1})$. Thus for total functions there seems to be a bound on the total separation. Can we improve it? Or come up with total functions with provable separations?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(We have a potential candidate for a separation in &lt;a href=&quot;https://cstheory.stackexchange.com/questions/7413/trade-off-between-time-and-query-complexity/7489#7489&quot;&gt;this answer&lt;/a&gt; but no provable results)&lt;/p&gt;&#xA;" OwnerUserId="1037" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2011-11-01T16:40:05.067" Title="Trade off between time and query complexity for total functions" Tags="&lt;cc.complexity-theory&gt;&lt;time-complexity&gt;&lt;query-complexity&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8445" PostTypeId="1" AcceptedAnswerId="8457" CreationDate="2011-10-01T01:47:38.563" Score="20" ViewCount="1305" Body="&lt;p&gt;What are some known results for finding an exact n-dimensional subarray inside a n-dimensional array?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In 1D, it is just a string matching problem, KMP does it in linear time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In 2D, &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.44.6976&quot;&gt;this paper&lt;/a&gt; shown it can be done in linear time with little extra space.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can this problem be solved in linear time worst case for any fixed dimension?&lt;/p&gt;&#xA;" OwnerUserId="314" LastActivityDate="2011-10-02T08:15:27.647" Title="n-dimensional pattern matching" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;string-matching&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="8448" PostTypeId="2" ParentId="2882" CreationDate="2011-10-01T13:16:28.030" Score="8" Body="&lt;p&gt;I don't know if @M. Alaggan was talking about this kind of faults, but they certainly look alike: transient faults.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the model of &lt;a href=&quot;http://en.wikipedia.org/wiki/Dynamic_frequency_scaling&quot;&gt;DVFS&lt;/a&gt;, where one can modify the frequency and voltage in order to reduce the energy consumption, Zhu and Aydin in this &lt;a href=&quot;http://www.google.fr/url?sa=t&amp;amp;source=web&amp;amp;cd=3&amp;amp;ved=0CEMQFjAC&amp;amp;url=http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.130.7067&amp;amp;ei=Bg6HTqKwAe6X0QXW7KT-Dw&amp;amp;usg=AFQjCNG9vUUFAk-lZXsPKmmm2ajAS9mMpA&amp;amp;sig2=hP0XSEzqbYEdv9GHitufkA&quot;&gt;paper&lt;/a&gt;(pdf) used a fault model for DVFS. They consider transient failures, which are &#xA;faults caused by software errors for example. They&#xA;invalidate only the execution of the current task and the processor&#xA;subject to that failure will be able to recover and execute the&#xA;subsequent task assigned to it (if any). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For transient failures, Shatz and Wang introduced a reliability model in this &lt;a href=&quot;http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=24570&quot;&gt;paper&lt;/a&gt; (1989) which states that the radiation-induced transient faults follow a Poisson&#xA;distribution.  The parameter $\lambda$ of the Poisson distribution is&#xA;then:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;\begin{equation}&#xA;    \label{fault}&#xA;\lambda(f)=\lambda_p \;  e^{d\frac{f_{max}-f}{f_{max}-f_{min}}},&#xA;\end{equation}&#xA;where $f_{min}\leq f \leq f_{max}$ is the processing speed, the exponent&#xA;$d\geq0$ is a constant, indicating the sensitivity of fault&#xA;rates to DVFS, and $\lambda_p$ is the average fault rate&#xA;corresponding to $f_{max}$ on processor $p$.  We see that reducing the speed for energy&#xA;saving increases the fault rate exponentially.  The reliability of a&#xA;task $T_i$ executed on a processor $p$ at speed $f_i$ is:&#xA;$$&#xD;&#xA;R_i(f_i)=e^{-\lambda(f_i)\times Execution~Time(T_i,f_i)}.&#xD;&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Sorry to post this so long after the original post, but I found this question as I was working on this subject :).&#xA;When not studying DVFS, these faults still exist, the formulaes are probably still valid (or adaptable). You can find more information on transient failures without DVFS &lt;a href=&quot;http://graal.ens-lyon.fr/~yrobert/onlinepapers/RRLIP2010-01.pdf&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="4873" LastActivityDate="2011-10-01T13:16:28.030" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8449" PostTypeId="1" AcceptedAnswerId="8450" CreationDate="2011-10-01T16:11:51.260" Score="9" ViewCount="885" Body="&lt;p&gt;I am trying to show that a certain problem is inapproximable by a reduction from set cover. My reduction transforms an instance with ground set of size $n$ and $m$ sets into an instance of my problem where a certain parameter $r$ is of size $O(n+m)$. I can then show that an instance of set cover where the cover size is s corresponds to an instance of my problem where the size of the optimal solution is $2s$ (or something like this), and vice versa. I would like to invoke Raz-Safra to conclude that my problem is inapproximable up to a factor of $c  \log{r}$, for some constant $c$. This would work fine if I could assume that $m$ is bounded by a fixed polynomial of $n$. Does anyone know if it is kosher to assume this? This is certainly true for the family of instances used in the standard NP-hardness proof for set cover, but I am not sure if this remains the case for the kind of PCP reductions employed by Raz and Safra. &lt;/p&gt;&#xA;" OwnerUserId="6743" LastEditorUserId="5385" LastEditDate="2011-10-02T03:20:02.757" LastActivityDate="2011-10-17T19:27:23.057" Title="Inapproximability of set cover: can I assume m=poly(n)?" Tags="&lt;cc.complexity-theory&gt;&lt;approximation-hardness&gt;&lt;set-cover&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8450" PostTypeId="2" ParentId="8449" CreationDate="2011-10-01T16:30:46.343" Score="17" Body="&lt;p&gt;Yes, the number of sets m in a set-cover instance is polynomial in the number of elements.&lt;/p&gt;&#xA;&lt;p&gt;By the way -- the state of the art hardness results for Set-Cover are:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;With Noga Alon and Muli Safra, we showed how to use the Raz-Safra/Arora-Sudan PCP to get a better constant &lt;span class=&quot;math-container&quot;&gt;$c$&lt;/span&gt; in the hardness factor &lt;span class=&quot;math-container&quot;&gt;$c\log n$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&quot;http://people.csail.mit.edu/dmoshkov/papers/k-restrictions/k-rest-full.ps&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://people.csail.mit.edu/dmoshkov/papers/k-restrictions/k-rest-full.ps&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Feige showed how to get the optimal hardness factor &lt;span class=&quot;math-container&quot;&gt;$(1-\epsilon)\ln n$&lt;/span&gt;, assuming &lt;span class=&quot;math-container&quot;&gt;$NP\not\subseteq DTIME(n^{\log\log n})$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.cs.duke.edu/courses/spring07/cps296.2/papers/p634-feige.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://www.cs.duke.edu/courses/spring07/cps296.2/papers/p634-feige.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;I recently published a note on how to adapt Feige's reduction to an NP-hardness result (i.e., a result based on &lt;span class=&quot;math-container&quot;&gt;$P\neq NP$&lt;/span&gt;), assuming a plausible conjecture about PCPs (A conjecture I call &amp;quot;The Projection Games Conjecture&amp;quot; - a specialization of the 1993 &amp;quot;Sliding Scale Conjecture&amp;quot; to projection games).&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&quot;http://eccc.hpi-web.de/report/2011/112/&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://eccc.hpi-web.de/report/2011/112/&lt;/a&gt;&#xA;(I later found out that the reduction gives an optimal tradeoff between &lt;span class=&quot;math-container&quot;&gt;$\epsilon$&lt;/span&gt; and the reduction blow-up).&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="1621" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2011-10-17T19:27:23.057" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="8451" PostTypeId="2" ParentId="8445" CreationDate="2011-10-01T18:13:02.653" Score="9" Body="&lt;p&gt;It is possible to solve it in almost(upto polylog factor) linear time using FFT techniques. You can look on the paper: &#xA;&lt;a href=&quot;http://www.cs.tau.ac.il/~klim/papers/CEPR08.pdf&quot; rel=&quot;nofollow&quot;&gt;http://www.cs.tau.ac.il/~klim/papers/CEPR08.pdf&lt;/a&gt; where we use FFT techniques for one dimensional pattern matching. &#xA;If you want to solve multidimensional pattern matching you just need to use high dimensional FFT.   &lt;/p&gt;&#xA;" OwnerUserId="1821" LastActivityDate="2011-10-01T18:13:02.653" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="8453" PostTypeId="2" ParentId="8085" CreationDate="2011-10-01T21:27:15.350" Score="4" Body="&lt;p&gt;Thanks to Prof Spivey's suggestion, I finally located what I think is the state of the art: Ulrich Faigle, Alan J. Hoffman, and Walter Kern, &quot;A Characterization of Nonnegative Box-Greedy Matrices&quot;, SIAM J. Disc. Math. 9 (1996) pp 1-6. A matrix is &quot;greedy&quot; if the algorithm I described above gives the optimal solution for all $b$. A matrix is &quot;box-greedy&quot; if the greedy algorithm gives the optimal solution with the additional condition $x\le d$ for all $b$ and all $d\ge0$. Clearly, box-greedy is a stronger condition than greedy.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Always assume that $c_1\ge\dots\ge c_n&amp;gt;0$. Faigle, Hoffman, and Kern prove that $A$ is box greedy if and only if it has no $k\times(k+1)$ (for any $k$) submatrix of the form $\begin{pmatrix} r_1 &amp;amp; s_1 &amp;amp; &amp;amp; &amp;amp; \\ r_2 &amp;amp; &amp;amp; s_2 &amp;amp; &amp;amp; \\ \vdots &amp;amp; &amp;amp; &amp;amp; \ddots \\ r_k &amp;amp; &amp;amp; &amp;amp; &amp;amp; s_k \end{pmatrix}$ with each $r_j&amp;gt;0$ and $\sum_{i:s_i&amp;gt;0} \frac{r_i}{s_i} &amp;gt; 1$. In extracting the submatrices, arbitrary permutations of rows are allowed but not columns, and arbitrary subsetting of rows and columns is allowed. Thus in particular, with $k=1$, the nonzero elements in each row of $A$ must be nondecreasing.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It turns out, unfortunately, that in my problem the matrices are no box-greedy though I still believe they are greedy. For example, in my $A_1$ above the condition is violated and this matrix is not box-greedy though it is greedy. As far as I know, there are no results on identifying greedy matrices.&lt;/p&gt;&#xA;" OwnerUserId="6436" LastActivityDate="2011-10-01T21:27:15.350" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="8455" PostTypeId="1" CreationDate="2011-10-02T03:10:13.770" Score="10" ViewCount="2307" Body="&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/SHA-2&quot;&gt;Wikipedia - SHA-2&lt;/a&gt; says&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;SHA-224 is identical to SHA-256, except that:&lt;/p&gt;&#xA;  &#xA;  &lt;ul&gt;&#xA;  &lt;li&gt;the initial variable values h0 through h7 are different, and&lt;/li&gt;&#xA;  &lt;li&gt;the output is constructed by omitting h7.&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://tools.ietf.org/rfc/rfc3874.txt&quot;&gt;RFC3874 - A 224-bit One-way Hash Function: SHA-224&lt;/a&gt; says&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;The use of a different initial value ensures that a truncated SHA-256&#xA;  message digest value cannot be mistaken for a SHA-224 message&#xA;  digest value computed on the same data.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;My questions:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Is the above quoted reason the only reason why SHA-224 and SHA-256 use different initial values?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Why is it important to make sure that a SHA-256 message digest value cannot be mistaken for a SHA-224 message digest value?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;If we use the same initial values for both hash functions, will the security of either hash function worsen? If yes, how?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="6749" LastActivityDate="2015-02-03T06:42:06.390" Title="Why SHA-224 and SHA-256 use different initial values?" Tags="&lt;cr.crypto-security&gt;&lt;hash-function&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="8457" PostTypeId="2" ParentId="8445" CreationDate="2011-10-02T06:19:56.433" Score="13" Body="&lt;p&gt;You can solve the problem in a fixed number of dimensions by extending the linear time original solution of Bird from 1977 &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/0020019077900175&quot;&gt;http://www.sciencedirect.com/science/article/pii/0020019077900175&lt;/a&gt; (subscription needed sadly).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The general idea (in 2D) is in step 1 to build an Aho-Corasick automaton of the rows of the 2D pattern and then feed in the rows of the 2D text one by one. You will then find all the positions that the pattern rows match in the text.  To finish you now only need to do a 1D search for the (labels of) the rows of the pattern in the right order in a column in the output of step 1, using KMP say.  This all takes linear time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Using the same method you can reduce from any dimension d exact matching problem to a dimension d-1 problem. In this way you get a linear time solution for any fixed dimension d.&lt;/p&gt;&#xA;" OwnerUserId="1864" LastEditorUserId="1864" LastEditDate="2011-10-02T08:15:27.647" LastActivityDate="2011-10-02T08:15:27.647" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8461" PostTypeId="2" ParentId="8442" CreationDate="2011-10-02T20:06:34.293" Score="9" Body="&lt;p&gt;&lt;strong&gt;EDITED TO ADD&lt;/strong&gt;:  Gilbert's paper turns out to have historical importance, and it fully solves the problem I asked in my question.  Please see &lt;a href=&quot;http://nanoexplanations.wordpress.com/2011/10/09/an-independent-discovery-of-costas-arrays/&quot; rel=&quot;nofollow&quot;&gt;my blog entry&lt;/a&gt; for more details.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;ORIGINAL ANSWER&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It turns out that the paper I found from 1965, Gilbert's &lt;a href=&quot;http://www.jstor.org/stable/2027267&quot; rel=&quot;nofollow&quot;&gt;Latin Squares Which Contain No Repeated Digrams&lt;/a&gt;, is quite helpful.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Using &lt;em&gt;permutations with distinct differences&lt;/em&gt;, he constructs Latin squares of size $n$ for every even $n$, such that no adjacent pair ever repeats in the square, neither in rows nor columns.  So $|\Gamma| \leq n+1$ in my question, because either the input parameter is even, or I can just add one to it, build the Latin square of size $n+1$, and then chop off one row and one column.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(A permutation with distinct differences is a permutation in which all the differences between consecutive elements are distinct.  So, for example, on three elements, (1 3 2) is a permutation with distinct differences, since $3-1 \neq 2-3$, but (1 2 3) is not, since $2-1 = 3-2$.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;He later generalizes this in a way that relates to Jukka's answer.  Suppose we want not just unique appearances of pairs $ab$, but of $a \lozenge^k b$, where $\lozenge$ is a &quot;don't care&quot; symbol, and $k$ ranges from 0 to $n-2$.  That is to say, for a given $k$, there would be at most one occurrence of $a \lozenge^k b$ in the rows, and at most one in the columns, of the square.  (This is a property that interests me a lot, by the way.)  According to another theorem of Gilbert, it is possible to build a Latin square with such a property if $n+1=p$ where $p$ is prime.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So the question then becomes: given $n$, what is the least prime number larger than $n$?  The Prime Number Theorem, etc., only give asymptotic bounds, but there are some explicit bounds known.  The best one I have found is due to Dusart, &lt;a href=&quot;http://arxiv.org/abs/1002.0442&quot; rel=&quot;nofollow&quot;&gt;Estimates of Some Functions Over Primes Without RH&lt;/a&gt;: for $x \geq 396738$, there is at least one prime in the interval $[x,x+ x/25 \ln^2 x]$.  So, if we want to avoid repetition of pairs with don't-care symbols in between, asymptotically, for large enough $n$, $|\Gamma| \leq n + n/25\ln^2 n$.&lt;/p&gt;&#xA;" OwnerUserId="30" LastEditorUserId="634" LastEditDate="2011-10-10T19:57:16.367" LastActivityDate="2011-10-10T19:57:16.367" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="8463" PostTypeId="1" CreationDate="2011-10-03T16:58:59.790" Score="3" ViewCount="185" Body="&lt;p&gt;The $N$x$N$ bipartite matching problem can be written as finding a configuration of variables ${\mathbf y}^* = \{y^*_1, \ldots, y^*_N\}$, $y_i \in \{1, \ldots, N\}$ such that&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$${\mathbf y}^* = \arg\min_{{\mathbf y}} \;\; E({\mathbf y}; {\mathbf w}),$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where $y^*_i$ is the index of the point in partite set $B$ that the $i$th point in partite set $A$ is matched to in the optimal matching$^1$, and ${\mathbf w}$ is a $N$x$N$ matrix of matching costs, giving the cost of matching $A_i$ to $B_j$.  The 1-to-1 constraints are implicit in $E$.  For purposes here, further restrict ${\mathbf w}$ to lie inside a unit hypercube ${\mathbf w} \in [0,1]^{N\cdot N}$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm interested in what I'm calling the &lt;i&gt;inverse bipartite matching polytope&lt;/i&gt;, $R({\mathbf y})$, which contains all ${\mathbf w}$ that lead to ${\mathbf y}$ as a minimum cost matching, ie., &#xA;$$R({\mathbf y}) = \{{\mathbf w} \mid \arg\min_{{\mathbf y&amp;#39;}} \;\; E({\mathbf y&amp;#39;}; {\mathbf w}) = {\mathbf y} \}.$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is straightforward to show that this is a convex polytope, but I don't know of any way to define it without using an exponential number of linear inequalities.  So I'm interested in a separation oracle for $R({\mathbf y})$: given a $\hat {\mathbf w}$ that lies outside $R({\mathbf y})$, I'd like a linear constraint that separates $\hat {\mathbf w}$ from $R({\mathbf y})$, ideally cutting away as much space outside of $R({\mathbf y})$ as possible.  (So while one simple solution is to find the optimal matching under $\hat {\mathbf w}$, &#xA;$\hat {\mathbf y} = \arg\min_{{\mathbf y}} \;\; E({\mathbf y}; \hat {\mathbf w})$,&#xA;then to enforce that the cost of ${\mathbf y}$ is less than the cost of $\hat {\mathbf y}$, this is unappealing because it seems to be a pretty shallow cut).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is this a problem that has been studied, or is it closely related to a problem that has been studied?  I'd appreciate any references or terms to narrow down my search.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] I'm assuming throughout that the minimum cost matching is unique.&lt;/p&gt;&#xA;" OwnerUserId="144" LastEditorUserId="186" LastEditDate="2011-10-04T05:22:22.737" LastActivityDate="2011-10-04T05:22:22.737" Title="Separation Oracle for Inverse Bipartite Matching Polytope" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;" AnswerCount="0" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="8470" PostTypeId="1" CreationDate="2011-10-04T23:33:02.533" Score="39" ViewCount="35104" Body="&lt;p&gt;I have some experience in scientific computing, and have extensively used kd-trees for BSP (binary space partitioning) applications. I have recently become rather more familiar with octrees, a similar data structure for partitioning 3-D Euclidean spaces, but one that works at fixed regular intervals, from what I gather.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A bit of independence research seems to indicate that kd-trees are typically superior in performance for most datasets -- quicker to construct and to query. My question is, what are the advantages of octrees in spatial/temporal performance or otherwise, and in what situations are they most applicable (I've heard 3D graphics programming)? A summary of the advantages and problems of both types would me most appreciated.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As an extra, if anyone could elaborate on the usage of the R-tree data structure and its advantages, I would be grateful for that too. R-trees (more so than octrees) seem to be applied quite similarly to kd-trees for k-nearest-neighbour or range searches.&lt;/p&gt;&#xA;" OwnerUserId="404" LastEditorUserId="404" LastEditDate="2011-10-05T01:57:50.073" LastActivityDate="2012-06-13T10:38:26.447" Title="Why would one ever use an Octree over a KD-tree?" Tags="&lt;ds.data-structures&gt;&lt;tree&gt;" AnswerCount="4" CommentCount="4" FavoriteCount="28" ContentLicense="CC BY-SA 3.0" />
  <row Id="8471" PostTypeId="1" CreationDate="2011-10-05T06:40:56.650" Score="12" ViewCount="787" Body="&lt;p&gt;I'm wondering what are recent advances in relational database theory and related domains?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm interested in new approaches, query languages (alternatives to SQL and/or extensions to it), products (proprietary and open source, though I'm much more interested in open source) and research projects developed in last years.&lt;/p&gt;&#xA;" OwnerUserId="386" LastActivityDate="2012-02-06T19:33:58.480" Title="What are recent advances in relational databases?" Tags="&lt;db.databases&gt;&lt;relational-structures&gt;" AnswerCount="3" CommentCount="1" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="8472" PostTypeId="2" ParentId="8470" CreationDate="2011-10-05T08:44:59.463" Score="3" Body="&lt;p&gt;Octrees are useful as a base datatype for continuum models, see for example the &lt;a href=&quot;http://gfs.sourceforge.net/wiki/index.php/Main_Page&quot; rel=&quot;nofollow&quot;&gt;Gerris&lt;/a&gt; flow solver.  Life is difficult enough in fluid dynamics, so knowing that the sizes of all of your subcubes depends only on their depth must a simplifying factor.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Caveat: I am not a fluid dynamicist!  &lt;/p&gt;&#xA;" OwnerUserId="4571" LastActivityDate="2011-10-05T08:44:59.463" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8473" PostTypeId="1" CreationDate="2011-10-05T08:47:06.090" Score="3" ViewCount="284" Body="&lt;p&gt;Recall from &lt;a href=&quot;http://en.wikipedia.org/wiki/Monte_Carlo_algorithm&quot; rel=&quot;nofollow&quot;&gt;Wikipedia&lt;/a&gt; that Monte Carlo algorithm is a randomized algorithm whose running time is deterministic, but whose output may be incorrect with a certain (typically small) probability. Consider the following two types of Monte Carlo algorithms. &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Type-1 algorithms: When an algorithm fails, it still outputs a feasible solution.  &lt;/li&gt;&#xA;&lt;li&gt;Type-2 algorithms: When an algorithm fails, it outputs any arbitrary solution which might not even be feasible.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;As an example, consider algorithms for, say Travelling Salesman Problem (TSP), where it outputs some value supposed to be an optimal TSP value. Type-1 algorithms are algorithms that either output the value of the optimal solution correctly or otherwise output the value of some Hamiltonian tour. Type-2 algorithms are algorithms that either output the optimal solution correctly or otherwise output an arbitrary number. &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;My question is whether there are terms defined to distinguish between these two types of algorithms?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;(Note: One point of asking this question is that type-1 algorithms can be used to answer the following gap question with one-sided error while type-2 algorithms cannot: For some parameters $0&amp;lt;a&amp;lt;b$, is the TSP optimal solution has value less than $a$ or more than $b$?)&lt;/p&gt;&#xA;" OwnerUserId="317" LastEditorUserId="186" LastEditDate="2011-10-06T06:13:36.183" LastActivityDate="2011-10-07T19:44:09.460" Title="Distinguishing two types of Monte-Carlo algorithms" Tags="&lt;ds.algorithms&gt;&lt;randomized-algorithms&gt;" AnswerCount="0" CommentCount="2" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="8474" PostTypeId="2" ParentId="8470" CreationDate="2011-10-05T09:14:49.760" Score="16" Body="&lt;p&gt;A group of friends and I are working on a space-RTS game as a fun side project. We're using a lot of the stuff we've learned at Computer Science to make it highly efficient, enabling us to make massive armies later on.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For this purpose we've considered using kd-trees, but we quickly dismissed them: insertions and deletions are extremely common in our program (consider a ship flying through space), and this is an unholy mess with kd-trees. We therefore picked octrees for our game.&lt;/p&gt;&#xA;" OwnerUserId="988" LastActivityDate="2011-10-05T09:14:49.760" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="8475" PostTypeId="2" ParentId="6572" CreationDate="2011-10-05T09:46:43.507" Score="6" Body="&lt;p&gt;Does the order matter in the way you ask?  No.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But is the order &lt;em&gt;completely&lt;/em&gt; irrelevant to the functioning of the proof assistant?  Again, no.  In Matita, a proof assistant very similar to Coq, the order in which constructors are written in an inductive definition &lt;em&gt;does&lt;/em&gt; matter for type checking, specifically when type checking a match expression.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Matita first has to check that all constructors are being matched against in the body of the match.  It does this by cycling through the constructors in the order in which they are declared.  Then, it comes to type check the match expression proper, which happens in reverse order, checking the case for the last declared constructor first.  This type is then carried forth and used to check the other cases.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This very often shows up when writing a large match expression.  You'd like to fill in the easy cases first, leaving harder cases under a wildcard, periodically type checking what you have written to make sure it makes sense.  Sometimes Matita is unable to infer the type of the incomplete match expression but will quite happily do so if you fill in the case for the last constructor defined in the inductive type.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I presume, though I'm not certain, that Coq does something similar.&lt;/p&gt;&#xA;" OwnerUserId="375" LastActivityDate="2011-10-05T09:46:43.507" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8476" PostTypeId="2" ParentId="5836" CreationDate="2011-10-05T09:50:24.453" Score="6" Body="&lt;p&gt;Luo's book on the Extended Calculus of Constructions is also a good reference.  ECC was quite influential in the design of Coq's type theory.&lt;/p&gt;&#xA;" OwnerUserId="375" LastActivityDate="2011-10-05T09:50:24.453" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8477" PostTypeId="2" ParentId="4487" CreationDate="2011-10-05T09:57:39.280" Score="4" Body="&lt;p&gt;If you're interested in writing a purely functional database, you should probably check out Phil Trinder's &lt;a href=&quot;http://citeseer.ist.psu.edu/viewdoc/summary?doi=10.1.1.52.4456&quot; rel=&quot;nofollow&quot;&gt;PhD thesis&lt;/a&gt; which was on this very subject.  He has a chapter on the use of B-Trees.&lt;/p&gt;&#xA;" OwnerUserId="375" LastActivityDate="2011-10-05T09:57:39.280" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8479" PostTypeId="1" AcceptedAnswerId="8502" CreationDate="2011-10-05T10:29:48.670" Score="8" ViewCount="1429" Body="&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Smoothsort&quot; rel=&quot;nofollow&quot;&gt;Wikipedia&lt;/a&gt; states that the advantages of smoothsort over heapsort is that &lt;em&gt;at times&lt;/em&gt; it comes closer to O(n) time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now I was wondering what advantage does heapsort has over smoothsort?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Or to rephrase this question, is smoothsort always a better choice than heapsort (even if the input is not already sorted to any degree) ?&lt;/p&gt;&#xA;" OwnerUserId="6266" LastEditorUserId="186" LastEditDate="2011-10-06T06:14:16.743" LastActivityDate="2012-06-24T21:22:39.430" Title="what advantage does heapsort has over smoothsort?" Tags="&lt;ds.algorithms&gt;&lt;sorting&gt;" AnswerCount="1" CommentCount="7" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="8480" PostTypeId="2" ParentId="8085" CreationDate="2011-10-05T11:26:57.623" Score="3" Body="&lt;p&gt;The easiest example for something like this might be the fractional knapsack problem where items are permitted to be fractionalized. this problem (and its lp dual) can be solved by sorting the items for profit per weight, choosing the longest sequence in this order which is feasible and fractionalizing the last item.&lt;/p&gt;&#xA;" OwnerUserId="6782" LastActivityDate="2011-10-05T11:26:57.623" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8481" PostTypeId="1" AcceptedAnswerId="9560" CreationDate="2011-10-05T13:28:45.540" Score="7" ViewCount="290" Body="&lt;p&gt;I'm currently thinking about the following problem.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Problem&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Input:&lt;/strong&gt; a set $W$ of strings over an alphabet $\Sigma$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Goal:&lt;/strong&gt; permute the characters in each string so that the &lt;a href=&quot;http://en.wikipedia.org/wiki/Trie&quot;&gt;trie&lt;/a&gt; that will contain the rearranged strings has as few edges as possible.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(by &quot;permuting&quot; and &quot;rearranging&quot;, I mean that any permutation of the characters is valid).&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Example&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;Given strings $S=$&quot;ABRACADABRA&quot; and $T=$&quot;BARRACUDA&quot;, storing them without rearrangement would require a trie of size 20, since they share no common prefix; however, if we are allowed to rearrange them, we can obtain the following optimal solution of size 12:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;0-A-B-R-A-C-A-D-R-A-B-A (S')&#xA;                 \&#xA;                  U     (T')&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;(where 0 denotes the root, and $S&amp;#39;$ (resp. $T'$) is the rearranged $S$ (resp. $T$)).&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Question(s)&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;Has this problem been studied before, and can you give me references? What is its complexity (for $|W|\geq 3$; the problem is easy otherwise)?&lt;/p&gt;&#xA;" OwnerUserId="775" LastEditorUserId="775" LastEditDate="2011-10-05T21:04:31.407" LastActivityDate="2012-01-02T10:20:24.413" Title="Rearranging strings to minimise storage in a trie" Tags="&lt;ds.algorithms&gt;&lt;ds.data-structures&gt;" AnswerCount="2" CommentCount="9" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8482" PostTypeId="1" AcceptedAnswerId="8504" CreationDate="2011-10-05T19:58:29.290" Score="8" ViewCount="289" Body="&lt;p&gt;Given positive integers $b$ and $e$, what is known about the space and time complexity of finding the Hamming weight (number of binary 1s) of $b^e$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $e\log b$ bits are available, the number can simply be calculated by standard techniques and the 1s counted.  But what techniques are possible when less memory can be used?&lt;/p&gt;&#xA;" OwnerUserId="962" LastActivityDate="2011-10-06T23:28:55.163" Title="Hamming weight of powers" Tags="&lt;ds.algorithms&gt;&lt;co.combinatorics&gt;&lt;space-bounded&gt;&lt;space-time-tradeoff&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="8483" PostTypeId="1" CreationDate="2011-10-05T20:21:59.827" Score="2" ViewCount="299" Body="&lt;p&gt;I'm currently thinking about the following problem:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given two strings $S,T$ over an alphabet $\Sigma$, return back a list $L$ of common substrings described by their length and positions within them.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am interested only in maximal substrings as to not have redundancy. Meaning that for a substring of length $l$ with starting positions $i$ in $S$ and $j$ in $T$,  $S_{i–1} \neq T_{j–1}$ and $S_{i+l} \neq T_{j+l}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am looking for a practical $O(|S|+|T|)$ solution. I wanted a bottom-up approach using hashing (a rolling hash?) that will build up the substrings as it runs. The &lt;a href=&quot;http://bibiserv.techfak.uni-bielefeld.de/reputer/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Reputer algorithm&lt;/a&gt; advised to me in &lt;a href=&quot;https://cstheory.stackexchange.com/q/8361/&quot;&gt;my previous post&lt;/a&gt; which is now linked gives a solution using suffix trees. I was wondering if any similar approaches have been made using hashing and if any papers exist describing them.&lt;/p&gt;&#xA;" OwnerUserId="6673" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2011-10-10T02:18:10.740" Title="Matching substrings within two strings" Tags="&lt;ds.algorithms&gt;&lt;string-matching&gt;" AnswerCount="2" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="8485" PostTypeId="1" AcceptedAnswerId="27657" CreationDate="2011-10-05T23:55:41.087" Score="8" ViewCount="1153" Body="&lt;p&gt;Let &lt;span class=&quot;math-container&quot;&gt;$A_{i}$&lt;/span&gt;, &lt;span class=&quot;math-container&quot;&gt;$B_{i}$&lt;/span&gt; be a sequence of &lt;a href=&quot;http://en.wikipedia.org/wiki/Circulant_matrix&quot; rel=&quot;nofollow noreferrer&quot;&gt;circulant matrices&lt;/a&gt; of size &lt;span class=&quot;math-container&quot;&gt;$n \times n$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;p&gt;We know that &lt;span class=&quot;math-container&quot;&gt;$\sum_{i=1}^{n}A_{i}B_{i}$&lt;/span&gt; can be calculated in quadratic time (use FFT to diagonalize and add the diagonal matrices and apply IFFT).&lt;/p&gt;&#xA;&lt;p&gt;Supposing &lt;span class=&quot;math-container&quot;&gt;$D$&lt;/span&gt; is an arbitrary diagonal matrix (for simplicity, let &lt;span class=&quot;math-container&quot;&gt;$r$&lt;/span&gt; be &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt;th root of unity and consider the diagonal elements as all distinct powers less than &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt; of &lt;span class=&quot;math-container&quot;&gt;$r$&lt;/span&gt;).&lt;/p&gt;&#xA;&lt;p&gt;What is the complexity of &lt;span class=&quot;math-container&quot;&gt;$\sum_{i=1}^{n}A_{i}DB_{i}$&lt;/span&gt;? I suspect it to be quadratic since I am including the same diagonal matrix(&lt;span class=&quot;math-container&quot;&gt;$O(n)$&lt;/span&gt; terms) in each term.&lt;/p&gt;&#xA;&lt;p&gt;Consider &lt;span class=&quot;math-container&quot;&gt;$R$&lt;/span&gt; a &lt;a href=&quot;http://en.wikipedia.org/wiki/Circulant_matrix&quot; rel=&quot;nofollow noreferrer&quot;&gt;circulant matrix&lt;/a&gt; of size &lt;span class=&quot;math-container&quot;&gt;$n \times n$&lt;/span&gt; with first row made of distinct powers less than &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt; of &lt;span class=&quot;math-container&quot;&gt;$r$&lt;/span&gt;. Let &lt;span class=&quot;math-container&quot;&gt;$X_{i}$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$Y_{i}$&lt;/span&gt; for &lt;span class=&quot;math-container&quot;&gt;$i=1\rightarrow n$&lt;/span&gt; be full-rank diagonal matrices.&lt;/p&gt;&#xA;&lt;p&gt;What is the complexity of &lt;span class=&quot;math-container&quot;&gt;$\sum_{i=1}^{n}X_{i}RY_{i}$&lt;/span&gt;? Again I suspect this to be quadratic.&lt;/p&gt;&#xA;&lt;p&gt;The matrices &lt;span class=&quot;math-container&quot;&gt;$D$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$R$&lt;/span&gt; that are defined with respect to &lt;span class=&quot;math-container&quot;&gt;$r$&lt;/span&gt; is artificial. I am looking for the case of general diagonal &lt;span class=&quot;math-container&quot;&gt;$D$&lt;/span&gt; and general full-rank &lt;a href=&quot;http://en.wikipedia.org/wiki/Circulant_matrix&quot; rel=&quot;nofollow noreferrer&quot;&gt;circulant&lt;/a&gt; &lt;span class=&quot;math-container&quot;&gt;$R$&lt;/span&gt;.&lt;/p&gt;&#xA;" OwnerUserId="1812" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2014-12-01T20:34:37.693" Title="Multiplication of circulant matrices with a diagonal matrix" Tags="&lt;ds.algorithms&gt;&lt;matrix-product&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8486" PostTypeId="1" CreationDate="2011-10-06T04:18:24.080" Score="27" ViewCount="1206" Body="&lt;p&gt;It is generally considered unlikely that quantum computers will be able to solve NP-complete problems efficiently. In the classical case one approach to tackle such problems is to use approximation algorithms. Has there been any research on approximation algorithms using quantum computing where quantumness gives significant speedup over classical approximation methods?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By &quot;significant&quot; I mean not necessarily exponential, but greater than for corresponding exact algorithms. In other words, I'm interested if relaxing the requirement that our algorithm yields the exact solution gives a significant advantage to quantum algorithms.&lt;/p&gt;&#xA;" OwnerUserId="6700" LastActivityDate="2016-03-21T04:40:03.703" Title="Quantum approximation algorithms" Tags="&lt;quantum-computing&gt;&lt;approximation-algorithms&gt;" AnswerCount="4" CommentCount="3" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="8489" PostTypeId="1" CreationDate="2011-10-06T09:09:29.007" Score="4" ViewCount="2496" Body="&lt;p&gt;The question is: what are examples of clique problem applications? I mean, what problems can be solved by reducing to clique problem (sorry for tautology)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;All I came with is finding social cliques: groups of people who know each other personally.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I understand, that similar ideas may arise in electronics, CS (i.e., compiler design?) and probably other fields, but can't think of other interesting problems.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Would be glad to see some of them.&lt;/p&gt;&#xA;" OwnerUserId="6789" LastEditorUserId="186" LastEditDate="2011-10-07T01:04:45.473" LastActivityDate="2011-10-07T01:04:45.473" Title="Maximum-clique practical applications" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;application-of-theory&gt;&lt;clique&gt;" AnswerCount="3" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8490" PostTypeId="2" ParentId="8483" CreationDate="2011-10-06T09:29:12.267" Score="2" Body="&lt;p&gt;The answer is no. To find the full dictionary of maximal repeated substrings in linear time is a hard problem if no one has ever introduced you to a suffix tree or equivalent.  However, if you don't like using suffix trees, you can achieve much the same result using suffix arrays which can be a little easier to handle. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT: Well... actually this isn't strictly a full answer if you are happy with a slightly super-linear time solution.  You can in that case use the rather lovely result from 1972 &quot;Rapid identification of repeated patterns in strings, trees and arrays&quot; by Karp, Miller and Rosenberg.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can I ask, what is your motivation? You use the word practical but there is nothing impractical about the suffix tree based methods, unless your data is too large to fit in RAM. In which case the problem becomes interesting again.&lt;/p&gt;&#xA;" OwnerUserId="1864" LastEditorUserId="1864" LastEditDate="2011-10-06T09:52:03.213" LastActivityDate="2011-10-06T09:52:03.213" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="8491" PostTypeId="2" ParentId="8489" CreationDate="2011-10-06T09:54:21.807" Score="3" Body="&lt;p&gt;If you ask questions like that, I feel that the only answers you could get are problems that &quot;reduce to the maximum clique&quot;. That would be a mistake. There are many problems in practice where finding a maximum clique is thought of as a subroutine, as it is not the most expensive part of the algorithm.&#xA;Finding cliques is known to be NP-Hard, and depending on the instances it is or it is not. NP Hard does not mean anything in practice.&#xA;My (reduced) own experience tells me that I would prefer 1000 times to deal with a maximum clique problem that with a TSP, or worse : an integer multiflow.  Max clique is for me one of the &quot;kind&quot; NP-hard problems.&#xA;And it means that I sometimes reduce problems to Max Clique because it can be done this way, and because I know that I will get the result fast in practice (and also because I already have all the functions available, so there is nothing new to code).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you are interested in pratical problems that can be formulated immediately as a max clique problem, I am afraid you will not find many. Practical problems have their own aspect. However, I solved one thousand time &quot;Max Clique&quot; problems, often on optimization problems which would not have required it, because Max Clique is, somehow, an easy problem, and because it is so general of aspect.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I guess the last time I computed a maximum independent set (which is exactly the same) was in order to obtain a decomposition of a graph (a partition of its edges into copies of a given graph).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The graph had hundreds of nodes, and solving the max clique problem on it was very far from being the bottleneck. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hoping it helped,&lt;/p&gt;&#xA;" OwnerUserId="1209" LastActivityDate="2011-10-06T09:54:21.807" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="8495" PostTypeId="1" CreationDate="2011-10-06T15:05:12.250" Score="4" ViewCount="857" Body="&lt;p&gt;I'm looking for whatever work may exist, or thoughts people have, on the question of whether/to what extent there exist(s) one or more canonical form(s) to which relational algebra expressions may be reduced.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm investigating the feasability of building a relational query optimizer which allows hand-writing of query plans but proves (or assists the user in proving) that the plan satisfies the query.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If there isn't a (usefully non-enormous) canonical form, then I wouldn't know the first thing about how to attack the problem. I suppose read up on Coq or Isabelle, work on translating my equivalence question into theorem prover's language, and work on providing a less-grad-school-required interface that exposes (relevant parts of) the theorem prover's output.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If there is a canonical form that doesn't tend to blow up to enormous sizes, then of course its a much easier problem.&lt;/p&gt;&#xA;" OwnerUserId="6794" LastEditorUserId="80" LastEditDate="2011-10-06T15:24:35.953" LastActivityDate="2011-10-07T06:12:18.053" Title="Canonical forms for relational algebra expressions" Tags="&lt;db.databases&gt;&lt;relational-structures&gt;&lt;normalization&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8496" PostTypeId="2" ParentId="8489" CreationDate="2011-10-06T15:29:44.120" Score="3" Body="&lt;p&gt;Aaron Sterling might be able to say more about this, but clique detection has traditionally been a very important tool in chemoinformatics, where one problem is to identify common substructures between a collection of molecules known to possess certain pharmacological properties. The molecules are viewed as (low treewidth) graphs and clique detection is used to find common structures (the &quot;cliques&quot; are defined across graphs, not within)&lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2011-10-06T15:29:44.120" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8498" PostTypeId="2" ParentId="8471" CreationDate="2011-10-06T17:19:26.120" Score="10" Body="&lt;p&gt;In db query area arguably &lt;em&gt;Provenance Semiring&lt;/em&gt; enjoyed the most attention recently. The &quot;provenance&quot; adjective is just marketing connecting it to a large body of research. Nevertheless the idea that one may have much more elegant mathematical foundation for database query languages is compelling. My personal view is that semiring perspective (which works wonders in formal language theory) has to be complemented with &lt;em&gt;Relational Lattice&lt;/em&gt;.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is &lt;a href=&quot;http://www.google.com/url?sa=t&amp;amp;rct=j&amp;amp;q=libkin%20youtube&amp;amp;source=web&amp;amp;cd=1&amp;amp;sqi=2&amp;amp;ved=0CB4QtwIwAA&amp;amp;url=http://www.youtube.com/watch?v=wxvZePK2rU0&amp;amp;ei=XiowT6XnBYmjiQLC-tHdCg&amp;amp;usg=AFQjCNFNFS2ComBy6LVfkcUqqsAFRGAj3g&quot; rel=&quot;noreferrer&quot;&gt;another view&lt;/a&gt; of what happened in the last decade. (The speaker holds a record of continued PODS admittance:).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On less theoretical note lets mention &lt;em&gt;Dedalus&lt;/em&gt;, and plenty of &lt;em&gt;Tutorial D&lt;/em&gt; enthusiasts; both, however, are hardly the recent ideas.&lt;/p&gt;&#xA;" OwnerUserId="3213" LastEditorUserId="3213" LastEditDate="2012-02-06T19:33:58.480" LastActivityDate="2012-02-06T19:33:58.480" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8499" PostTypeId="2" ParentId="8495" CreationDate="2011-10-06T17:41:59.367" Score="3" Body="&lt;p&gt;&lt;em&gt;Relational Lattice&lt;/em&gt; is axiomatic foundation for &lt;em&gt;Relational Algebra&lt;/em&gt;. Predictably, query transformations reduce to equational reasoning in that axiom system. Here are examples:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://arxiv.org/ftp/cs/papers/0603/0603044.pdf&quot; rel=&quot;nofollow&quot;&gt;Push-select-via-project&lt;/a&gt; &lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://vadimtropashko.wordpress.com/relational-lattice/the-laws-of-renaming/&quot; rel=&quot;nofollow&quot;&gt;Renaming&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Many others like commutativity and associativity of [relational] join operation, or permutting selection via join are trivial in the sense that they are fundamental lattice laws.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You mentioned theorem provers; not surprisingly, some research has been facilitated with &lt;em&gt;Prover9&lt;/em&gt;.&lt;/p&gt;&#xA;" OwnerUserId="3213" LastEditorUserId="3213" LastEditDate="2011-10-06T18:00:21.013" LastActivityDate="2011-10-06T18:00:21.013" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8500" PostTypeId="2" ParentId="8489" CreationDate="2011-10-06T17:50:02.427" Score="2" Body="&lt;p&gt;Finding a maximum (or at least large) clique is often useful because it gives you a lower bound on the fractional chromatic number and chromatic number of the graph in question.  Actually the maximum weight of a &quot;fractional clique&quot; is the same as the fractional chromatic number.  So for just about any colouring application you can think of, finding a large clique is at least a little bit useful (even if finding $\omega$ is not any easier than finding $\chi$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, any problem on independent sets can easily be converted into a clique problem by complementing the graph at hand.  And just as you can lower-bound a chromatic number by the clique number, you can upper-bound the chromatic number by the number of vertices divided by the size of a maximum stable set.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Large dense subgraphs (near-cliques) are useful in the analysis of protein-protein interaction graphs, specifically in the prediction of protein complexes.&lt;/p&gt;&#xA;" OwnerUserId="1929" LastActivityDate="2011-10-06T17:50:02.427" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8502" PostTypeId="2" ParentId="8479" CreationDate="2011-10-06T19:49:09.970" Score="10" Body="&lt;p&gt;Having just done some reading up on the two algorithms, it would appear that heapsort has no implicit &lt;em&gt;O&lt;/em&gt; advantage over smoothsort. This kind of makes sense when you think that smoothsort is just a special kind of heapsort, using a special kind of heap.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Where heapsort does have is an advantage is that it is easier to understand, and much better documented. There are very few publicly available implementations of smoothsort, and very little literature on them, however there is a lot of literature on heapsort.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Indeed, the only real accessible literature is this &lt;a href=&quot;http://www.keithschwarz.com/smoothsort/&quot; rel=&quot;nofollow&quot;&gt;write-up&lt;/a&gt; by Keith Schwarz. It is also the basis of the &lt;a href=&quot;http://en.wikipedia.org/wiki/Smoothsort&quot; rel=&quot;nofollow&quot;&gt;wikipedia article&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="6166" LastEditorUserId="6166" LastEditDate="2012-06-24T21:22:39.430" LastActivityDate="2012-06-24T21:22:39.430" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8503" PostTypeId="1" CreationDate="2011-10-06T22:01:53.957" Score="17" ViewCount="2393" Body="&lt;p&gt;I need to store sets of elements of type a. Type a is partially ordered, so comparing $a_1$ and $a_2$ can return smaller, greater, equal or incomparable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One problem with hashtables is that two equal elements can be represented differently, and I do not have access to a hashing function consistent with equality.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Comparing two elements can be a lengthy process so it would be interesting to minimize comparisons. If needed, it is possible to memoize calls to the comparison operator. I realize now that I will only need to store antichains (or let's assume so).&#xA;More precisely, the operations I will need to perform are as follows:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Remove an element from the antichain;&lt;/li&gt;&#xA;&lt;li&gt;Try to add an element. If the element is smaller than a member, do not add it, otherwise, add it and remove every element smaller than it.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I can also bound every element by two integers, so that if I know that $i_1 &amp;lt; a &amp;lt; i_2$ and $i_3 &amp;lt; b &amp;lt; i_4$, then knowing $i_2 &amp;lt; i_3$ instantly gives me $a &amp;lt; b$. Of course, $i_2 \not&amp;lt; i_3$ does not mean $a \not &amp;lt; b$... Finding integer bounds is a relatively cheap operation in comparison to a full blown element comparison.&lt;/p&gt;&#xA;" OwnerUserId="4780" LastEditorUserId="80" LastEditDate="2011-10-08T04:16:45.500" LastActivityDate="2016-02-17T20:11:13.493" Title="What persistent data structure for a set of partially ordered elements?" Tags="&lt;ds.data-structures&gt;&lt;functional-programming&gt;&lt;sorting&gt;" AnswerCount="2" CommentCount="7" FavoriteCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="8504" PostTypeId="2" ParentId="8482" CreationDate="2011-10-06T23:28:55.163" Score="12" Body="&lt;p&gt;This answer expands my comment above.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can do it with $O(\log e + \log \log b)$ space as follows:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) First compute $b^e$ in Chinese remainder representation modulo sufficiently many primes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) Then use the Chiu-Davida-Litow algorithm to convert the Chinese remainder representation into binary representation. (Informatique Theoretique et Applications, Vol 35(3), pages 259-275, 2001)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;3) Finally, just count the number of $1$'s.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is a composition of a finite number of log-space computable functions, which is itself log-space computable.&lt;/p&gt;&#xA;" OwnerUserId="6456" LastActivityDate="2011-10-06T23:28:55.163" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8505" PostTypeId="1" CreationDate="2011-10-07T04:19:55.157" Score="3" ViewCount="154" Body="&lt;p&gt;I know that BPP is in P/poly.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I know that if NP is in P/poly then $PH = \Sigma^2_p$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Question:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a good survey on the power of non-uniformity? I'm basically looking for a list of known results about non-uniformity.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks!&lt;/p&gt;&#xA;" OwnerUserId="7104" LastEditorUserId="873" LastEditDate="2011-10-07T06:35:52.343" LastActivityDate="2011-10-07T06:35:52.343" Title="Survey on the Power of Non-Uniformity" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;advice-and-nonuniformity&gt;" AnswerCount="0" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8506" PostTypeId="2" ParentId="8495" CreationDate="2011-10-07T06:12:18.053" Score="4" Body="&lt;p&gt;There are canonical forms, but there are not &lt;em&gt;unique&lt;/em&gt; canonical forms. Roughly, the idea is to use observe that sets form a monad and use the equational theory of Moggi's monadic metalanguage as a well-behaved IR for  optimizing queries. See Torsten Grust's PhD thesis, &lt;a href=&quot;http://www.inf.uni-konstanz.de/dbis/publications/download/TG-GI00.pdf&quot; rel=&quot;nofollow&quot;&gt;&lt;em&gt;Comprehending Queries&lt;/em&gt;&lt;/a&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;More recently, &lt;a href=&quot;http://www.pathfinder-xquery.org/research/ferry&quot; rel=&quot;nofollow&quot;&gt;the Ferry Project&lt;/a&gt; has been investigating integrating programming languages with query languages. &lt;/p&gt;&#xA;" OwnerUserId="657" LastActivityDate="2011-10-07T06:12:18.053" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="8507" PostTypeId="2" ParentId="8481" CreationDate="2011-10-07T08:14:29.160" Score="1" Body="&lt;p&gt;Hmm, minimizing the size of the trie seems hard. However, when you change your objective function to maximizing the saved space you can easily get a 2-approximation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For every pair of strings, count the number of characters they have in common. Then do a max cost matching weighted by the values computed before, and for each matched pair permute their characters so that their common prefix is as long as possible. The analysis is simple, right?&lt;/p&gt;&#xA;" OwnerUserId="49" LastActivityDate="2011-10-07T08:14:29.160" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8508" PostTypeId="2" ParentId="5696" CreationDate="2011-10-07T08:55:56.287" Score="15" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;How do 'tactics' work in proof assistants?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I suspect this answer will be a bit of a ramble.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First, it isn't enough to ask &quot;how tactics work in proof assistants&quot; because they work differently in different proof assistants.  There's two main classes of assistant used today: those derived from the original LCF, like Isabelle, HOL and HOL light, and type theory based proof assistants like Coq and Matita.  In these two different classes of proof assistant the tactics work in different ways, a reflection that what's going on under the bonnet in e.g. Isabelle is quite different to what's going on under the bonnet in e.g. Matita.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Ask yourself: what's going on when we attempt to prove a proposition P in Matita?  We introduce a metavariable X with type P.  We then play a game, so to speak, where we refine X, adding more and more structure to the incomplete term, until we get a complete lambda-term (i.e. containing no more metavariables).  Once we are in possession of a complete lambda-term, we type check it with respect to P, making sure it inhabits the required type.  We then see that in Coq and Matita, a tactic is merely a function from incomplete proof terms to incomplete proof terms, which hopefully adds a bit of structure to the term after application (this observation has motivated quite a bit of recent work by e.g. Jojgov, Pientka, and others).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For instance, the Matita tactic &quot;intro&quot; introduces a lambda-abstraction over the existing term, &quot;cases&quot; introduces a match expression in the term, and &quot;apply&quot; introduces an application of one term to the other.  These basic tactics can be strung together, using higher-order functions, to create more complex ones.  The basic idea is always the same though: a tactic is always aiming to add a bit of structure to an incomplete proof term.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that, implementers aim to give back a term that typechecks again after every tactic application.  Strictly speaking, there's no requirement for them to do so, as all that matters for type theory based proof assistants is that, when the user comes to Qed the proof, we are in possession of a proof term that inhabits the proposition P.  How we arrived at this proof term is largely irrelevant.  However, both Coq and Matita aim to give the user back a (possibly incomplete) proof term that typechecks after every tactic application.  Yet this invariant can (and often does) fail, especially in regard to the two syntactic checks that CIC based proof assistants must implement.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In particular, we can carry out what appears to be a valid proof, applying a series of tactics until there are no open goals left.  We then come to Qed the supposed proof, only to discover that Matita's termination checker, or its strict positivity checker, complains, as the proof term that was generated by the tactics has invalidated one of these syntactic checks (i.e. a metavariable in argument position to a recursive call was instantiated with a term that is not syntactically smaller than the original argument).  This is a reflection that the CIC type theory is, in some sense, not &quot;strong enough&quot;, and does not reflect the positivity or size syntactic requirements in its types (an observation that motivates Abel's sized types, and some recent work on positivity types).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, LCF-style proof assistants are quite different.  Here, the kernel consists of a module (usually implemented in a variant of ML), containing an abstract type &quot;thm&quot;, and functions that implement the inference rules of the proof assistant's logic, mapping &quot;thm&quot; to &quot;thm&quot;, and so forth.  We rely on the typing discipline of ML to ensure that the only way of constructing a value of type &quot;thm&quot; is via these inference rules (basic tactics).  Isabelle's kernel is &lt;a href=&quot;http://isabelle.in.tum.de/repos/isabelle/file/717bc892e4d7/src/Pure/thm.ML&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Proofs then consist of a series of applications of these basic tactics (or more complex, larger tactics, which are again made by stringing together simpler tactics using higher-order functions --- in Isabelle, the higher-order functions, called tacticals, can be seen &lt;a href=&quot;http://isabelle.in.tum.de/repos/isabelle/file/717bc892e4d7/src/Pure/tactical.ML&quot;&gt;here&lt;/a&gt;).  Unlike type theory based proof assistants, there is no need in an LCF-style assistant to keep an explicit proof term witness lying around.  Correctness of the proof is guaranteed by construction, and our trust in ML's typing discipline (many assistants, e.g. Isabelle, do, however, generate proof terms for their proofs).&lt;/p&gt;&#xA;" OwnerUserId="375" LastActivityDate="2011-10-07T08:55:56.287" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8510" PostTypeId="1" CreationDate="2011-10-07T13:32:24.050" Score="1" ViewCount="78" Body="&lt;p&gt;For a naive feature detection algorithm, I'll divide the image in 8x8 grayscale tiles. I want to be able to represent the 64 pixels of each tile in a lower dimensional form. Each tile should be an approximation of a linear combination of less than 64 tiles. What is the name for what I am trying to do? Could you point out some references to this?&lt;br&gt;&#xA;I hope this is the appropriate site to ask this question.&#xA;Thanks&lt;/p&gt;&#xA;" OwnerUserId="6804" LastActivityDate="2011-10-07T13:32:24.050" Title="represent tiles in lower dimensionality" Tags="&lt;cv.computer-vision&gt;" AnswerCount="0" CommentCount="11" ContentLicense="CC BY-SA 3.0" />
  <row Id="8513" PostTypeId="1" AcceptedAnswerId="8527" CreationDate="2011-10-07T17:02:19.287" Score="10" ViewCount="382" Body="&lt;p&gt;Is there a polynomial-time algorithm to find&amp;mdash;if one exists&amp;mdash;a spanning spider&#xA;of a given graph $G$?  A spider is a tree with at most one node with degree greater than 2:&#xA;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;img src=&quot;https://i.stack.imgur.com/VQla6.jpg&quot; alt=&quot;enter image description here&quot;&gt;&lt;br /&gt;&#xA;I know that various degree conditions on $G$ (essentially, sufficiently large node degrees) guarantee the existence of a spanning spider.  But I am wondering if there is an algorithm for arbitrary $G$.  Thanks!&lt;/p&gt;&#xA;" OwnerUserId="337" LastEditorUserId="186" LastEditDate="2011-10-09T06:52:01.593" LastActivityDate="2011-10-09T06:52:01.593" Title="Finding spanning spiders" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;" AnswerCount="1" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="8516" PostTypeId="1" AcceptedAnswerId="8526" CreationDate="2011-10-07T22:10:26.880" Score="14" ViewCount="665" Body="&lt;p&gt;The most common way in which oracles occur in complexity theory is as follows: A &lt;i&gt;fixed&lt;/i&gt; oracle is made available to, say, a Turing machine with certain limited resources, and one studies how the oracle increases the computational power of the machine.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is, however, another way in which oracles sometimes occur: &lt;i&gt;as part of the input&lt;/i&gt;.  For example, suppose I want to study algorithms for computing the volume of a given high-dimensional polytope.  Classically, the polytope would need to be specified by providing a list of its facets or some other explicit representation.  However, we can also pose the problem of computing the volume of a polytope that is specified by a &lt;i&gt;volume oracle&lt;/i&gt;, that takes the coordinates of a point in space as input and outputs &quot;yes&quot; if and only if the given point lies inside the polytope.  Then we can ask what computational resources are needed to compute the volume of a polytope that is specified in this manner.  In this particular case we have the very nice polynomial time approximation scheme of Dyer, Frieze, and Kannan and, interestingly from the complexity theory point of view, a proof that &lt;i&gt;randomness helps&lt;/i&gt; in an essential way for this problem, in that no deterministic algorithm can perform as well as the Dyer-Frieze-Kannan algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a systematic way to study the complexity theory of problems in which oracles are provided as part of the input?  Does it somehow reduce to the usual theory of complexity classes with oracles?  My guess is no, and that because there are too many different ways that an oracle could be supplied as part of the input, every problem of this sort has to be handled in an ad hoc manner.  However, I would be happy to be proved wrong on this point.&lt;/p&gt;&#xA;" OwnerUserId="2970" LastActivityDate="2011-10-11T14:09:22.890" Title="Complexity theory when an oracle is part of the input" Tags="&lt;cc.complexity-theory&gt;&lt;oracles&gt;" AnswerCount="3" CommentCount="1" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="8517" PostTypeId="2" ParentId="8516" CreationDate="2011-10-07T22:39:31.860" Score="9" Body="&lt;p&gt;This must be far from a complete answer, but hopefully it points to some places to look at.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Problems where part of the input is given as an oracle are sometimes called problems with &lt;em&gt;implicit input&lt;/em&gt;.  It is a convenient model e.g. when studying &lt;a href=&quot;http://en.wikipedia.org/wiki/Probabilistically_checkable_proof&quot;&gt;probabilistically checkable proofs&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An important area of study on the problems with implicit input is the theory of &lt;em&gt;query complexity&lt;/em&gt;, where the complexity is measured solely by the number of queries to the input oracle, ignoring the amount of computation between queries.  Many complexity classes have their counterparts in query complexity, and a separation between complexity classes in query complexity often implies an oracle separation between the corresponding classes in computational complexity.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I do not know the study of complexity classes of problems with implicit input (rather than individual problems) taking the cost of computation into account, but probably some people know.&lt;/p&gt;&#xA;" OwnerUserId="567" LastActivityDate="2011-10-07T22:39:31.860" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="8519" PostTypeId="1" CreationDate="2011-10-08T02:16:09.007" Score="3" ViewCount="899" Body="&lt;p&gt;I'm interested in both of these topics independently, and wondering some good applications of comp geom within the domain of vision.  What are some nice applications and potential projects of comp geom applied to vision?&lt;/p&gt;&#xA;" OwnerUserId="6814" LastActivityDate="2012-04-16T17:47:30.630" Title="What are some applications of computational geometry towards computer vision?" Tags="&lt;soft-question&gt;&lt;cg.comp-geom&gt;&lt;cv.computer-vision&gt;" AnswerCount="2" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8520" PostTypeId="2" ParentId="8519" CreationDate="2011-10-08T04:18:42.050" Score="2" Body="&lt;p&gt;Probably the most useful application of computational geometry within computer vision is in the realm of shape analysis/matching and image registration. There's a lot to google here, but you can start with Kendall's book on shape space, and also look at problems of measuring the distance between shapes.&lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2011-10-08T04:18:42.050" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8522" PostTypeId="1" CreationDate="2011-10-08T08:00:24.750" Score="11" ViewCount="357" Body="&lt;p&gt;Bayesian theory is a very popular theory of probabilities based upon a subjective framework of beliefs. However, subjects and beliefs have to be embodied, meaning to be feasible, it ought to be possible to compute the Bayesian probabilities in polynomial time, and the Bayesian update algorithm should also be computable in polynomial time. Unfortunately, this doesn't appear to be the case in general.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider the following example: We have some set of all strings $X$ of length $n$, and a one-way function $f$ from $X$ to $Y$. For the Bayesian prior, choose a uniform probability distribution over $X$. Say the string is $x \in X$, but we haven't and won't measure it yet, so we don't know what $x$ is. However, we compute and measure $y = f(x)$. Using standard Bayesian theory, we can figure out what the theoretical Bayesian posterior distribution ought to be. However, by definition, it can't be computed in polynomial time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What implications does this have for Bayesian theory?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;PS: Actual physical agents often aren't all that rational. In fact, most of them can probably be Dutch booked, and their bets would be influenced a lot by the context. Also, many of them seldom update their beliefs based upon contrary evidence. Whatever Bayesianism is, it most certainly is an abstraction.&lt;/p&gt;&#xA;" OwnerUserId="6816" LastEditorUserId="6816" LastEditDate="2011-10-09T12:40:32.760" LastActivityDate="2011-10-09T12:40:32.760" Title="Is Bayesian updating computationally unfeasible?" Tags="&lt;lg.learning&gt;&lt;pr.probability&gt;&lt;philosophy&gt;" AnswerCount="0" CommentCount="1" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="8523" PostTypeId="1" AcceptedAnswerId="8534" CreationDate="2011-10-08T08:34:41.460" Score="7" ViewCount="1092" Body="&lt;p&gt;I just found the following sentence from the #P wiki page:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&quot;Jerrum, Valiant, and Vazirani showed that every #P-complete problem either has an FPRAS, or is essentially impossible to approximate; if there is any polynomial-time algorithm which consistently produces an approximation of a #P-complete problem which is within a polynomial ratio in the size of the input of the exact answer, then that algorithm can be used to construct an FPRAS.[3]&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Sharp-P-complete&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/Sharp-P-complete&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;the referece [3] is &#xA;Mark R. Jerrum; Leslie G. Valiant; Vijay V. Vazirani (1986). &quot;Random Generation of Combinatorial Structures from a Uniform Distribution&quot;. Theoretical Computer Science (Elsevier) 32: 169–188.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I took a quick look at [3]. But it seems to me that the results of [3] do not contain anything similar to what is in the wiki page. Is there a mistake in the wiki page? Thanks.&lt;/p&gt;&#xA;" OwnerUserId="383" LastEditorUserId="233" LastEditDate="2011-10-10T16:44:17.833" LastActivityDate="2011-10-10T16:44:17.833" Title="FPRAS for #P-complete problems" Tags="&lt;ds.algorithms&gt;&lt;counting-complexity&gt;&lt;randomized-algorithms&gt;" AnswerCount="2" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8524" PostTypeId="2" ParentId="8486" CreationDate="2011-10-08T09:44:26.470" Score="14" Body="&lt;p&gt;A comment upgraded to partial answer:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is quite some work these days on a conjectured (or not) quantum version of the PCP theorem: see for example this blog post by Scott Aaronson&#xA;&lt;a href=&quot;http://www.scottaaronson.com/blog/?p=139&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://www.scottaaronson.com/blog/?p=139&lt;/a&gt;&#xA;or this answer by Peter Shor on MathOverflow&#xA;&lt;a href=&quot;https://mathoverflow.net/questions/45106/quantum-pcp-theorem/45167#45167&quot;&gt;https://mathoverflow.net/questions/45106/quantum-pcp-theorem/45167#45167&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Concerning quantum approximation alpgorithms, you can look at this reference &quot;Approximation algorithms for QMA-complete problems&quot; &#xA;&lt;a href=&quot;http://arxiv.org/abs/1101.3884&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://arxiv.org/abs/1101.3884&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="5" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2011-10-08T09:44:26.470" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8526" PostTypeId="2" ParentId="8516" CreationDate="2011-10-08T14:09:48.490" Score="19" Body="&lt;p&gt;It's called Type-2 Complexity Theory. There's a &lt;a href=&quot;http://dx.doi.org/10.1006/inco.1997.2646&quot;&gt;paper&lt;/a&gt; by Cook, Impagliazzo and Yamakami that ties it nicely to the theory of generic oracles. &lt;/p&gt;&#xA;" OwnerUserId="550" LastActivityDate="2011-10-08T14:09:48.490" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8527" PostTypeId="2" ParentId="8513" CreationDate="2011-10-08T14:55:50.620" Score="4" Body="&lt;p&gt;The question has been answered in the comments by Tsuyoshi &amp;amp; Chandra!  I am adding this CW answer so I can accept it to indicate the question is closed.  Thanks, everyone!&lt;/p&gt;&#xA;" OwnerUserId="337" LastActivityDate="2011-10-08T14:55:50.620" CommentCount="1" CommunityOwnedDate="2011-10-08T14:55:50.620" ContentLicense="CC BY-SA 3.0" />
  <row Id="8530" PostTypeId="2" ParentId="7396" CreationDate="2011-10-09T02:18:26.977" Score="6" Body="&lt;p&gt;Most &lt;a href=&quot;http://en.wikipedia.org/wiki/Check_digit&quot;&gt;check digit&lt;/a&gt; algorithms can be implemented as regular expressions. This includes the UPC, EAN, bank routing number, ISBN-13, Luhn, and Verhoef systems described in the linked article, because each of these operates on a single digit of input at a time using a repeating pattern of operations on the digits.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2011-10-09T02:18:26.977" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="8531" PostTypeId="1" CreationDate="2011-10-09T05:33:38.327" Score="3" ViewCount="82" Body="&lt;p&gt;Given a sequence of $n$ symbols drawn from an alphabet of size $m$, I wish to count the number of sequences that have no more than $k$ occurrences of any symbol.  What is known about the asymptotic behavior of such sequences?  i.e., are there any reasonable upper bounds in terms of the three parameters $n$, $m$ and $k$?  There must be a name for this, but all I can find is the more specific Stockhausen sequence, which has other restrictions.&lt;/p&gt;&#xA;" OwnerUserId="6822" LastEditorUserId="80" LastEditDate="2011-10-09T07:12:09.077" LastActivityDate="2011-10-09T07:12:09.077" Title="Ref Request: Asymptotics of frequency restricted sequences" Tags="&lt;reference-request&gt;&lt;co.combinatorics&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="8532" PostTypeId="2" ParentId="189" CreationDate="2011-10-09T09:00:22.513" Score="13" Body="&lt;p&gt;Moore's O(n) &lt;a href=&quot;http://www.cs.utexas.edu/~moore/best-ideas/mjrty/&quot;&gt;Majority voting algorithm&lt;/a&gt; is like a magic-trick!&lt;/p&gt;&#xA;" OwnerUserId="5938" LastActivityDate="2011-10-09T09:00:22.513" CommentCount="0" CommunityOwnedDate="2011-10-09T09:00:22.513" ContentLicense="CC BY-SA 3.0" />
  <row Id="8533" PostTypeId="1" AcceptedAnswerId="8544" CreationDate="2011-10-09T12:10:00.617" Score="2" ViewCount="356" Body="&lt;p&gt;&lt;strong&gt;Original question:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Base problem:&lt;/em&gt; &#xA;Let $A\subset \mathbb{N}$ be a finite set with elements $a_k$, ($k=1,...,L$). We compose subsets &#xA;$s_i$ ($i=1,...,N$) from $A$. Elements cannot be repeated within any sets, e.g. $|s_i \cap A| = |s_i|$, where &#xA;$|.|$ stands for set cardinality. The cardinalities of sets $s_i$ may differ. The problem is to find sets $s$ &#xA;composed from $A$ so that &lt;/p&gt;&#xA;&#xA;&lt;p&gt;i) $|s_i \cap s| \ge p|s|$, for all $i=1,...,N$, where $p\in [0,1]$ is fixed. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;ii) $|s|$ is maximal. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;First variant:&lt;/em&gt; &#xA;Let $A\subset \mathbb{N}$ be a finite set with elements $a_k$, ($k=1,...,L$). We compose sets &#xA;$s_i$ ($i=1,...,N$) from $A$ so that $|s_i \cap A| = |s_i|$, &#xA;that is, an $s_i$ set contains different elements. We also compose sets &#xA;$c_j$ ($j=1,...,M$) from $A$ so that $|c_j \cap A| = |c_j|$, &#xA;that is, a subset $c_j$ contains different elements. The cardinalities of the sets $c_j$ &#xA;may differ. &#xA;The problem is to find sets $s$ composed from $A$ so that &lt;/p&gt;&#xA;&#xA;&lt;p&gt;i) $|\{i : |s_i \cap s| \ge p|s|\}| \ge qN$, where $p,q\in [0,1]$ is fixed. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;ii) $|\{j : |c_j \cap s| \ge p|s|\}| \le q&amp;#39;M$, where $p,q&amp;#39;\in [0,1]$ is fixed. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;iii) $|s|$ is maximal. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Interpretation for better understanding:&lt;/em&gt; &#xA;The $a_k$ elements are different mutations that we can represent e.g. with different &#xA;natural numbers. We have samples for two populations, &#xA;$\{s_i\}$ are the diseased persons, $\{c_j\}$ are the average ones, and we know &#xA;that $q&amp;#39;*100\%$ is the presence of the disease on average. We want to find characteristic mutation patterns (sets $s$) &#xA;that are characteristic for the diseased (at least $q*100\%$) but less characteristic (only up to $q'*100\%$) for the average population. &#xA;We say that $s$ is characteristic if at least its $p*100\%$ portion appears in a diseased person. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;We would need known theoretical results, complexity of the algorithm and algorithmic approaches for the search.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question 2 (new constraint added):&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Jukka Suomela has given a correct answer for the Base problem in the Original question. Regarding his answer and also since from practical point of view it is reasonable, an extra constraint can be added to the problem as:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;In Base problem:&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;iii) $|s| &amp;lt; |s_i|$, for all $i=1,...,N$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;In First variant:&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;iv) $|s| &amp;lt; r|s_i|$, for all $i=1,...,N$, where $r\in [0,1]$ is fixed. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The questions regarding the problems remain the same.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Interpretation for better understanding of this new size constraint:&lt;/em&gt;&#xA;We can estimate the number of mutations for a person to be approx. 1 million (that is, $|s_i|,|c_i| \approx 10^6$), while disease-sepcific mutation patterns are expected to be much smaller (say $|s|\approx 50$, but we do not know). This is the reason for the size constraints for $s$ in the problem. &lt;/p&gt;&#xA;" OwnerUserId="6826" LastEditorUserId="80" LastEditDate="2011-10-14T18:41:48.297" LastActivityDate="2011-10-14T18:41:48.297" Title="Finding largest closest subsets" Tags="&lt;ds.algorithms&gt;&lt;co.combinatorics&gt;&lt;approximation-algorithms&gt;" AnswerCount="1" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="8534" PostTypeId="2" ParentId="8523" CreationDate="2011-10-09T16:09:16.210" Score="8" Body="&lt;p&gt;The claim is not hard to see for specific problems though proving it for all #P-complete problems may require some more formalism. Suppose for some #P-complete problem one can obtain a $p(n)$-approximation. Given an instance $I$ make a new instance $I′$ which contains $k$ copies of $I$. The number of solutions to $I′$ is $a^k$ where $a$ is the number of solutions to $I$. Thus, choosing $k$ sufficiently large, even a polynomial-ratio approximation to $I&amp;#39;$ can be used to approximate $a$ pretty well. &lt;/p&gt;&#xA;" OwnerUserId="176" LastActivityDate="2011-10-09T16:09:16.210" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8536" PostTypeId="2" ParentId="8523" CreationDate="2011-10-09T18:19:51.510" Score="9" Body="&lt;p&gt;Jerrum, Valiant and Vazirani showed that if for a &quot;self-reducible&quot; NP-relation, there exists a polynomial time approximate counter which produces a $1 + O(n^{-\beta})$ approximation for some constant $\beta &amp;gt; 0$, then this counter can be bootstrapped to make an an FPRAS for the counting problem.  As far as I know, all known #P-complete problems do correspond to &quot;self-reducible&quot; NP-relations, and hence the claim on Wikipedia.  However the exact claim that an approximate counter which produces a poly($n$) approximation for a self-reducible NP-relation can be bootstrapped to produce an FPRAS for counting was proved by Jerrum and Sinclair.  The citation I can think of the top of my head is &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=140552&quot;&gt;Sinclair, 1993&lt;/a&gt;. &lt;/p&gt;&#xA;" OwnerUserId="6827" LastEditorUserId="6827" LastEditDate="2011-10-09T18:39:22.617" LastActivityDate="2011-10-09T18:39:22.617" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8537" PostTypeId="2" ParentId="8371" CreationDate="2011-10-09T19:08:48.653" Score="13" Body="&lt;p&gt;For general $m$, exactly-m-sat is strictly harder than u-sat (thus does not reduce to it) unless the PH collapses.  The reason is that PP can be obtained using an existential quantifier over exactly-m-SAT queries (exists m&gt;(half of the assignments) such that exactly-m-SAT), thus if exactly-m-sat is in the k'th level of PH, then PP is in the (k+1)'st level, and then the hierarchy collapses (since P^PP contains PH).  But u-sat is clearly in the second level of PH (actually in a subclass called DP).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, as @Tsuyoshi mentioned above, if $m$ is polynomial, then exactly-m-sat is many-one reudcible to u-sat.&lt;/p&gt;&#xA;" OwnerUserId="42" LastActivityDate="2011-10-09T19:08:48.653" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="8539" PostTypeId="1" AcceptedAnswerId="8541" CreationDate="2011-10-09T21:54:02.283" Score="38" ViewCount="25189" Body="&lt;p&gt;There is always a way for application in topics related to theoretical computer science. But textbooks and undergraduate courses usually don't explain the reason that automata theory is an important topic and whether it still has applications in practice. Therefore undergraduate students might have trouble in understanding the importance of automata theory and might think it is not of any practical use anymore.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is automata theory still useful in practice?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Should it be part of undergraduate CS curriculum?&lt;/p&gt;&#xA;" OwnerUserId="6830" LastEditorUserId="80" LastEditDate="2011-10-11T21:00:07.443" LastActivityDate="2020-01-29T07:19:24.683" Title="How practical is Automata Theory?" Tags="&lt;soft-question&gt;&lt;fl.formal-languages&gt;&lt;automata-theory&gt;&lt;teaching&gt;" AnswerCount="14" CommentCount="9" FavoriteCount="45" ContentLicense="CC BY-SA 3.0" />
  <row Id="8541" PostTypeId="2" ParentId="8539" CreationDate="2011-10-09T22:40:55.777" Score="52" Body="&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Ever used a tool like grep/awk/sed? Regular expressions form the heart of these tools.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;You'll be surprised how much coding you can avoid by principled use of regular expressions - in &quot;practical projects&quot;, like an email server.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;If you're a CS major, you'll definitely be writing a compiler/interpreter for a (at least a small) language. If you've ever tried this task before and got stuck, you'll appreciate how much a little theory (aka context free grammars) can help you. This theory has made a once impossible task into something that can be completed over a weekend. (And it won the inventor a Turing award - google BNF).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;If you're a CS major, at some point, you need to sit back and think about the philosophical foundations of computing, and not just about how cool the next version of the Android API is. On a related note, it is the job of the university not to prepare you for the next 5 years of your life, but to prepare you for the next 50. The only thing they can do in this regard is to help you think - think of automata theory as one of those courses.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="6318" LastActivityDate="2011-10-09T22:40:55.777" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8542" PostTypeId="1" CreationDate="2011-10-09T22:48:52.283" Score="27" ViewCount="886" Body="&lt;p&gt;I'm interested in examples of problems where a theorem which seemingly has nothing to do with quantum mechanics/information (e.g. states something about purely classical objects) can nevertheless be proved using quantum tools. A survey &lt;a href=&quot;http://arxiv.org/abs/0910.3376&quot;&gt;Quantum Proofs for Classical Theorems&lt;/a&gt; (A. Drucker, R. Wolf) gives a nice list of such problems, but surely there are many more. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Particularly interesting would be examples where a quantum proof is not only possible, but also &quot;more illuminating&quot;, in analogy with real and complex analysis, where putting a real problem in the complex setting often makes it more natural (e.g. geometry is simpler since $\mathbb{C}$ is algebraically closed etc.); in other words, classical problems for which quantum world is their &quot;natural habitat&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(I'm not defining &quot;quantumness&quot; here in any precise sense and one could argue that all such arguments eventually boil down to linear algebra; well, one can also translate any argument using complex numbers to use only pairs of reals - but so what?)&lt;/p&gt;&#xA;" OwnerUserId="2083" LastEditorUserId="-1" LastEditDate="2011-12-08T20:27:36.827" LastActivityDate="2013-11-13T02:30:27.990" Title="Quantum proofs of classical theorems" Tags="&lt;quantum-computing&gt;&lt;big-list&gt;&lt;proofs&gt;" AnswerCount="5" CommentCount="3" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="8544" PostTypeId="2" ParentId="8533" CreationDate="2011-10-10T00:18:47.720" Score="2" Body="&lt;p&gt;Let us consider your &quot;base problem&quot; and the special case of $p = 1/2$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assume that we are given a graph $G = (V,E)$ and a positive integer $k \le |V|$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Construct an instance of your problem as follows:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Our &quot;alphabet&quot; is $A = V \cup \{ 0,1,\dotsc,k-1 \}$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The sets $s_i$ are indexed with $i \in I = E \cup \{ \bot \}$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;For each $e = \{u,v\} \in E$ we have $s_e = \{ 1,2,\dotsc,k-1, u, v\}$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;We also define $s_\bot = \{ 0,1,\dotsc,k-1 \}$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Observations:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;There is a trivial solution $s$ of size $2k-2$: just take a subset $s \subseteq A$ with $\{1,2,\dotsc,k-1\} \in s$ and $|s| = 2k-2$. Clearly $|s \cap s_i| \ge k-1$ for all $i$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;There cannot be a solution of size $2k+1$ or larger: it would imply $|s \cap s_\bot| &amp;gt; k = |s_\bot|$, a contradiction.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;If there is a solution $s$ of size $2k-1$, we can pad it with an arbitrary element to obtain a solution of size $2k$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Hence the key question is whether there exists a solution $s$ of size $2k$.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Assume that we have a solution $s$ of size $2k$. Then $s_\bot = \{0,1,\dotsc,k-1\} \subseteq s$. Hence $s = \{0,1,\dotsc,k-1\} \cup X$, where $X \subseteq V$ and $|X| = k$. Moreover, if $e = \{u,v\} \in E$, we must have $|s \cap s_e| \ge k$, which implies $e \cap X \ne \emptyset$. That is, $X$ is a vertex cover of size $k$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Conversely, if we have a vertex cover of size $k$, we can construct a solution of size $2k$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Hence it is NP-hard to find an optimal $s$. The same idea can be used to show that the problem is hard for any $0 &amp;lt; p &amp;lt; 1$.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit:&lt;/strong&gt; Now a natural question is whether there is an approximation algorithm – for example, can one always find a feasible solution $s$ that is within a constant factor of the largest feasible solution.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, this does not seem to be the case. It seems that it is actually NP-hard to find &lt;em&gt;any non-trivial solution&lt;/em&gt; (i.e., a solution $s \ne \emptyset$), at least for certain values of $p$. The construction is a bit messy, though, but I can try to work out the details if needed.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Anyhow, it seems that to get anything positive (with provable performance guarantees), you need to relax your constraints a bit.&lt;/p&gt;&#xA;" OwnerUserId="74" LastEditorUserId="74" LastEditDate="2011-10-10T07:56:39.527" LastActivityDate="2011-10-10T07:56:39.527" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="8545" PostTypeId="2" ParentId="8542" CreationDate="2011-10-10T01:47:09.130" Score="10" Body="&lt;p&gt;In my opinion, I like the following paper:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://dl.acm.org/citation.cfm?id=1060614&quot;&gt;Katalin Friedl, Gabor Ivanyos, Miklos Santha. Efficient testing of groups. In STOC'05.&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here they define a &quot;classical&quot; tester for abelian groups. However, first they start by giving a quantum tester, and then they go on by eliminating all the quantum parts.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What I like of this paper is that they use the quantum tester to gain intuition and use it to approach the problem. May sound a more difficult approach (start from quantum and the go classical), but the authors are well known researchers in quantum computing. So maybe for them its easier to start with that.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would say that their main technical contribution is a tester for homomorphism, which they use to eliminate the quantum parts.&lt;/p&gt;&#xA;" OwnerUserId="135" LastActivityDate="2011-10-10T01:47:09.130" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8546" PostTypeId="2" ParentId="8483" CreationDate="2011-10-10T02:18:10.740" Score="0" Body="&lt;p&gt;I was looking at a &lt;a href=&quot;http://en.wikipedia.org/wiki/LZ77_and_LZ78&quot; rel=&quot;nofollow&quot;&gt;LZ77&lt;/a&gt; based algorithm that also provides a solution to this problem and wanted to share. In particular, &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.11.8470&quot; rel=&quot;nofollow&quot;&gt;this paper&lt;/a&gt;. Their algorithm also makes use of the fingerprinting method from karp and rabin's string search algorithm.&lt;/p&gt;&#xA;" OwnerUserId="6673" LastActivityDate="2011-10-10T02:18:10.740" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8548" PostTypeId="1" CreationDate="2011-10-10T05:59:48.300" Score="7" ViewCount="262" Body="&lt;p&gt;In paper &quot;Short signatures from the Weil pairing&quot; by Boneh, Lynn and Shacham, I was going through the security proof just like any other signature.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But the technique used in this paper is quite unique. Rather than using the normal challenger and adversary interaction, they have divided the proof into 6 games where each game is extended sequentially from the previous games. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am not sure why they have used this approach instead of the normal game. Does this kind of security proof aid in reducing the probability easier or have they just given it from an &quot;easy to read and understand&quot; point of view?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks!&lt;/p&gt;&#xA;" OwnerUserId="3788" LastEditorUserId="873" LastEditDate="2011-10-10T15:55:43.587" LastActivityDate="2011-10-12T03:37:55.970" Title="On the Proof Technique of Boneh-Lynn-Shacham Gap Signatures" Tags="&lt;reference-request&gt;&lt;cr.crypto-security&gt;" AnswerCount="2" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8549" PostTypeId="2" ParentId="8539" CreationDate="2011-10-10T07:36:31.450" Score="15" Body="&lt;p&gt;It's not just vanilla automatons. You're learning about the basics (accepting states, epsilon-transitions, ...) of a (computational) model which helps in reasoning about what can, and more importantly what cannot be expressed with some query languages. A few interesting results include:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;yes, the famed result is that &lt;a href=&quot;http://lambda.uta.edu/cse5317/notes/node9.html&quot;&gt;Deterministic Finite Automatons recognize regular languages&lt;/a&gt; - so now you know what you need to implement regular expression matching.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Pushdown_automata&quot;&gt;Pushdown Automata&lt;/a&gt; recognize &lt;a href=&quot;http://en.wikipedia.org/wiki/Context-free_grammar&quot;&gt;Context-Free grammars&lt;/a&gt; - now you have an idea of what a parser looks like (or at least a large class of those).&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Tree_automaton&quot;&gt;tree automata&lt;/a&gt; &lt;a href=&quot;http://tata.gforge.inria.fr/&quot;&gt;recognize&lt;/a&gt; statements over &lt;a href=&quot;http://en.wikipedia.org/wiki/Monadic_second-order_logic#Syntax&quot;&gt;monadic second-order logic&lt;/a&gt; - now you have an idea of what it takes to implement some constraint programming languages, or ... &lt;a href=&quot;http://www.cs.toronto.edu/~libkin/papers/tcs-icdt01.ps.gz&quot;&gt;some statements in SQL&lt;/a&gt;, for example.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;(and of course I'm skipping a lot of other classes)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Basically, it's a very general model. Your classes will probably emphasize the link between automata, languages and logic. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If I were looking at relating this to concrete &quot;worldly&quot; tools, I'd spend a leisurely morning at the library reading a couple parts (A-B?) from &lt;a href=&quot;http://en.wikipedia.org/w/index.php?title=Special%3aBookSources&amp;amp;isbn=0201537710&quot;&gt;&lt;em&gt;Foundations of Databases&lt;/em&gt;&lt;/a&gt; by Abiteboul &amp;amp; al, and trying to connect this back to class material. Of course it's just &lt;em&gt;one&lt;/em&gt; of the (many) ways of looking for applications of an automata class, and I guess not the most obvious - but that's precisely why it's an interesting exercise.&lt;/p&gt;&#xA;" OwnerUserId="1825" LastEditorUserId="30" LastEditDate="2011-10-10T15:19:44.377" LastActivityDate="2011-10-10T15:19:44.377" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8551" PostTypeId="2" ParentId="8548" CreationDate="2011-10-10T09:20:12.200" Score="11" Body="&lt;p&gt;The technique of &quot;hopping&quot; from one game to another, and proving the security through a &quot;sequence of games&quot; is &lt;strong&gt;not&lt;/strong&gt; new. In particular, there are several papers which discuss these techniques, and exemplify them through various security proofs. The famous examples are:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://eprint.iacr.org/2004/332.pdf&quot;&gt;Sequences of Games; A Tool for Taming Complexity in Security Proofs&lt;/a&gt; by &lt;strong&gt;Victor Shoup&lt;/strong&gt; (2006)&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://eprint.iacr.org/2004/331.pdf&quot;&gt;Code-Based Game-Playing Proofs and the Security of Triple Encryption&lt;/a&gt; by &lt;strong&gt;Mihir Bellare&lt;/strong&gt; and &lt;strong&gt;Phillip Rogaway&lt;/strong&gt; (2008). &lt;em&gt;Side note:&lt;/em&gt; This paper is a bit hard to grasp, so don't start with this one! The extended abstract of this paper is published in &lt;strong&gt;Eurocrypt 2006&lt;/strong&gt; under the name &lt;strong&gt;The Security of Triple Encryption and a Framework for Code-Based Game-Playing Proofs&lt;/strong&gt;.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://eprint.iacr.org/2006/260.pdf&quot;&gt;A Note on Game-Hopping Proofs&lt;/a&gt; by &lt;strong&gt;Alexander W. Dent&lt;/strong&gt; (2007). &lt;em&gt;Side note:&lt;/em&gt; This paper introduces another famous technique which was omitted from the above two papers.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Regarding your question, I use a quote from the last paper cited above:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;In a game hopping proof, we observe that an attacker running in a particular attack environment has an unknown probability of success. We then slowly alter the attack environment until the attacker’s success probability can be computed. We also bound the increase in the attacker’s success probability caused by the changes to the attack&#xA;  environment. Thus, we can deduce a bound for the attacker’s success probability&#xA;  in the original environment.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Thus, the reason for using several games is that in each game, we simplify the computation of some unknown probability, without altering it in a significant way. This continues until we reach a game in which the computation of the probability is easy enough.&lt;/p&gt;&#xA;" OwnerUserId="873" LastEditorUserId="873" LastEditDate="2011-10-10T16:02:42.127" LastActivityDate="2011-10-10T16:02:42.127" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="8552" PostTypeId="2" ParentId="8542" CreationDate="2011-10-10T09:50:24.673" Score="13" Body="&lt;p&gt;There is &lt;a href=&quot;http://eccc.hpi-web.de/report/2011/043/download&quot;&gt;a recent paper&lt;/a&gt; from  Scott Aaronson which provides a new proof that the permanent is #P-hard. This proof is based on the model of linear-optical quantum computing and is more intuitive than that of Leslie Valiant.&lt;/p&gt;&#xA;" OwnerUserId="2954" LastActivityDate="2011-10-10T09:50:24.673" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8553" PostTypeId="1" CreationDate="2011-10-10T10:53:43.077" Score="4" ViewCount="155" Body="&lt;p&gt;Let $S$ be a multisorted algebraic &lt;a href=&quot;http://en.wikipedia.org/wiki/Signature_%28logic%29&quot; rel=&quot;nofollow&quot;&gt;signature&lt;/a&gt; with function symbols $f_0, f_1, \ldots$. For every $i$, I partially know “constantness” of $f_i$. (I have no precise definition of constantness yet.) Examples:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Let $\cdot$ denote multiplication of numbers. If $x_0=0$, then $x_0\cdot x_1$ is constant.&lt;/li&gt;&#xA;&lt;li&gt;Conditional operation. If $x_0=0$ and $x_2$ is constant, then  $\operatorname{if}x_0\operatorname{then}x_1\operatorname{else}x_2$ is constant.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I need to find a strongest constantness judgement for any term over $S$ given constantness of its variables. Is there an established way of reasoning about constantness?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A purpose is that every term in $S$ defines a function from program states to a pixel on a screen. Variables of the term are components of a state, i.e. the set of states is a Cartesian product. For every pixel $p$, if its term is found to be non-constant then I need to redraw $p$.&lt;/p&gt;&#xA;" OwnerUserId="1720" LastEditorUserId="186" LastEditDate="2011-10-10T11:48:39.113" LastActivityDate="2011-10-11T20:30:52.607" Title="finding constantness of a term" Tags="&lt;lo.logic&gt;&lt;pl.programming-languages&gt;" AnswerCount="2" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8554" PostTypeId="2" ParentId="8553" CreationDate="2011-10-10T11:07:02.737" Score="3" Body="&lt;p&gt;You might want to take a look at the compiler literature for some ideas.  What you're describing is akin to a well-known compiler optimization (virtually any modern compiler worth its salt will do it) called constant folding.  Of course, constant folding goes further in not just identifying constant expressions, but replacing them by their value.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In particular, compilers use a dataflow analysis to identify such constant expressions.  Any good compiler textbook will discuss this.&lt;/p&gt;&#xA;" OwnerUserId="375" LastEditorUserId="375" LastEditDate="2011-10-10T11:12:35.320" LastActivityDate="2011-10-10T11:12:35.320" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8555" PostTypeId="2" ParentId="8553" CreationDate="2011-10-10T12:24:02.613" Score="1" Body="&lt;p&gt;Rather than making a very precise analysis at the level of pixels, which is surely undecidable, you could design a program analysis that computes bounding boxes of either the set of pixels that &lt;em&gt;may&lt;/em&gt; have changed or the set of pixels that &lt;em&gt;definitely&lt;/em&gt; have not been changed. Then the given set of boxes (or their complement) are the ones that need to be redrawn. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;There might be some work in &lt;strong&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Abstract_interpretation&quot; rel=&quot;nofollow&quot;&gt;abstract interpretation&lt;/a&gt;&lt;/strong&gt; that deals with this topic, but a quick google search didn't reveal anything.&lt;/p&gt;&#xA;" OwnerUserId="77" LastEditorUserId="77" LastEditDate="2011-10-11T20:30:52.607" LastActivityDate="2011-10-11T20:30:52.607" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="8556" PostTypeId="2" ParentId="8539" CreationDate="2011-10-10T12:34:50.177" Score="17" Body="&lt;p&gt;As was explained in the other answers, automata theory is important conceptually as a simple computational model that we understand well, and regular expressions and automata have many real-life applications.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here's a small example for modern research that goes back to automata theory to understand a modern concept. In this paper researchers prove that regular languages all have property testers:&#xA;&lt;a href=&quot;http://www.tau.ac.il/~nogaa/PDFS/testr4.pdf&quot;&gt;&quot;Regular languages are testable with a constant number of queries&quot;&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="1621" LastEditorUserId="1621" LastEditDate="2011-10-10T20:28:49.567" LastActivityDate="2011-10-10T20:28:49.567" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8557" PostTypeId="2" ParentId="8539" CreationDate="2011-10-10T15:03:33.233" Score="32" Body="&lt;p&gt;One of the more practical manifestation of CS is Compiler Construction. In 1965, Knuth started the study of LR parsers. Quickly (in less than a decade), we had LALR parsers which are a subset of deterministic pushdown automata that allows us to implement shift/reduce parsers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;At the heart of the feasibility and efficiency of LALR parsing is a proof (by Knuth) that &quot;prefixes&quot; of the language turn out to be regular (your finite automaton). This is the genesis of automated parser generators like yacc/bison etc.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is safe to say that programming languages as we know them owe much of their compiling efficiencies to these developments. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is another example: the heart of the TCP/IP protocol is a finite state machine. How much more practical can it get?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Every serious CS student, especially the practical ones, should pay attention to automata theory. It is the basis for much of the richness of Computer Science. &lt;/p&gt;&#xA;" OwnerUserId="1449" LastActivityDate="2011-10-10T15:03:33.233" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8559" PostTypeId="2" ParentId="8539" CreationDate="2011-10-10T17:07:35.743" Score="5" Body="&lt;p&gt;Thrown together with logics, automata can offer ways to check statemens like&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\qquad A \models \varphi$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;for an automaton $A$ and a formula $\varphi$. If $A$ is a model of a system and $\varphi$ a formalisation of desired properties you get system verification, a very practical concern with a growing number of feasible applications.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Considering the automata side of things leads to nice algorithms. For example, if $\varphi$ is an &lt;a href=&quot;http://en.wikipedia.org/wiki/Linear_temporal_logic&quot;&gt;LTL&lt;/a&gt; formula and $A$ a Büchi automaton (i.e. an infinitely running finite automaton) you can translate $\varphi$ to an equivalent automaton $A_\varphi$ and check wether $\cal{L}(A) \subseteq \cal{L}(A_\varphi)$&lt;/p&gt;&#xA;" OwnerUserId="1546" LastActivityDate="2011-10-10T17:07:35.743" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8560" PostTypeId="1" CreationDate="2011-10-10T18:23:06.167" Score="1" ViewCount="197" Body="&lt;p&gt;I'm searching for an algorithm to do the following:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;A 1-&amp;gt;3&#xA;B 2-&amp;gt;6&#xA;C 4-&amp;gt;5&#xA;D 5-&amp;gt;2&#xA;E 6-&amp;gt;4&#xA;F 3-&amp;gt;7&#xA;G 8-&amp;gt;9&#xA;H 10-&amp;gt;11&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Elements A-H are stored on locations 1 to 11 (some locations are vacant).&#xA;We need to move the elements from their original position to the new position.&#xA;What order requires the least amount of steps?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;possible solution:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;G 8-&amp;gt;9   in step 1&#xA;F 3-&amp;gt;7   in step 1&#xA;E 6-&amp;gt;11  in step 1&#xA;A 1-&amp;gt;3   in step 2&#xA;B 2-&amp;gt;6   in step 2&#xA;C 4-&amp;gt;5   in step 3&#xA;E 11-&amp;gt;4  in step 4&#xA;D 5-&amp;gt;2   in step 4&#xA;E 1-&amp;gt;4   in step 5&#xA;H 10-&amp;gt;11 in step 5&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Notice that E is moved twice because of a loop: &lt;strong&gt;C&lt;/strong&gt;-&gt;D-&gt;B-&gt;E-&gt;&lt;strong&gt;C&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;h1&gt;Edit&lt;/h1&gt;&#xA;&#xA;&lt;p&gt;this is more complex then it seams:&#xA;the longest time that you'll need is:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;the longest cycle + the shortest chain + 1&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;or&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;the longest chain (if that is longer then the one above)&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;right?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;not:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;suppose we have the first case:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;long cycle + short chain&lt;/p&gt;&#xA;&#xA;&lt;p&gt;in step 1 we break the cycle by moving element &lt;strong&gt;Z&lt;/strong&gt; start fixing other chains&lt;/p&gt;&#xA;&#xA;&lt;p&gt;in step x we have finished some of the shorter chains.&#xA;meaning: we have some extra free places.&#xA;so we can use those to move element &lt;strong&gt;Z&lt;/strong&gt; to.&#xA;with element &lt;strong&gt;Z&lt;/strong&gt; out of the way we can fix the shortest chain before the longest cycle is finished:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;making the least possible steps:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;the longest cycle + 1&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;but if we only have cycles and they are equally long then the minimal number of steps becomes:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;1 + one cycle + last cycle&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;any ideas of an approach to this problem?&lt;/p&gt;&#xA;" OwnerUserId="4115" LastEditorUserId="74" LastEditDate="2011-10-13T16:58:15.867" LastActivityDate="2011-10-13T16:58:15.867" Title="Algorithm for permuting elements using constant work space" Tags="&lt;ds.algorithms&gt;&lt;graph-algorithms&gt;&lt;dc.parallel-comp&gt;&lt;sorting-network&gt;" AnswerCount="0" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="8561" PostTypeId="2" ParentId="8539" CreationDate="2011-10-10T18:51:08.283" Score="9" Body="&lt;p&gt;I'll throw out another answer from an entirely different practical angle: finite state machines (or at least some simple generalizations/extensions of them) are often used on the AI side of game programming.  They turn out to provide an excellent model for encapsulating character behavior; for instance, an enemy might have states representing 'patrol', 'search', 'approach', 'attack', 'defend', 'retreat', 'die', etc. with well-defined transitions between them.  This doesn't involve any of the formal aspects of automata like regular languages and the like, but the &lt;em&gt;concept&lt;/em&gt; of the automaton is a very core one.&lt;/p&gt;&#xA;" OwnerUserId="1941" LastActivityDate="2011-10-10T18:51:08.283" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8563" PostTypeId="1" AcceptedAnswerId="8570" CreationDate="2011-10-10T19:47:38.863" Score="18" ViewCount="5421" Body="&lt;p&gt;&lt;strong&gt;Related problem:&lt;/strong&gt; Veblen’s Theorem states that &quot;A graph admits a cycle decomposition if and only if it is even&quot;. The cycles are edge disjoint, but not necessarily node disjoint. Put another way, &quot;The edge set of a graph can be partitioned into cycles if and only if every vertex has even degree.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;My Problem:&lt;/strong&gt; I wonder has anybody studied the partition a graph into node-disjoint cycles. That is, partition the vertices $V$ of a graph $G$ into $V_1, V_2, \cdots, V_k$, and each subgraph induced by $V_i$ is hamiltonian. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is it NP-hard or easy?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;More related problem:&lt;/strong&gt; &#xA;Partition into triangle is NP-complete. (Page 68 of &quot;Computers and intractability&quot;)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thank you for your advise in advance. ^^&lt;/p&gt;&#xA;" OwnerUserId="6108" LastActivityDate="2013-11-20T11:04:33.723" Title="Partition a graph into node-disjoint cycles" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;&lt;co.combinatorics&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="8565" PostTypeId="1" AcceptedAnswerId="8580" CreationDate="2011-10-11T00:07:17.523" Score="14" ViewCount="585" Body="&lt;p&gt;After hearing Emo Welzl speak on the subject this summer, I know the number of &#xA;of triangulations of a set of $n$ points in the plane is somewhere between&#xA;about $\Omega(8.48^n)$ and $O(30^n)$. Apologies if I am out-of-date; updates welcomed.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I mentioned this in class, and wanted to follow up with brief, sage remarks to give &#xA;students a sense for (a) why it has proved so difficult to nail down this quantity, &#xA;and (b) why so many &lt;em&gt;care&lt;/em&gt; to nail it down.  I found I did not have adequate answers&#xA;to illuminate either issue; so much for my sageness!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'd appreciate your take on these admittedly vague questions.  Thanks!&lt;/p&gt;&#xA;" OwnerUserId="337" LastActivityDate="2012-01-09T10:39:13.573" Title="The number of triangulations of a set of $n$ planar points: Why so difficult?" Tags="&lt;co.combinatorics&gt;&lt;cg.comp-geom&gt;" AnswerCount="2" CommentCount="8" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8566" PostTypeId="1" CreationDate="2011-10-11T00:41:32.673" Score="6" ViewCount="175" Body="&lt;p&gt;On page 30 of &quot;Proofs and Types&quot; by Girard, Taylor, and Lafont, it is claimed that that the identity axiom for sequent calculus:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;C ├ C&lt;/p&gt;&#xA;&#xA;&lt;p&gt;has a converse relation with the cut rule:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\frac{\vec{A} \vdash C,\vec{B}  \qquad \vec{A&amp;#39;},C \vdash \vec{B&amp;#39;}}&#xD;&#xA;      {\vec{A},\vec{A&amp;#39;} \vdash \vec{B},\vec{B&amp;#39;}}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The explanation it gives is that the in the identity axiom, C on the left is stronger than C on the right. With the cut rule, it claims, C on the right is stronger than C on the left. While the claim about the identity axiom seems to follow from basic notions of sequents, I do not understand the claim about the cut rule. Could someone explain this?&lt;/p&gt;&#xA;" OwnerUserId="6839" LastEditorUserId="657" LastEditDate="2011-10-11T07:27:22.667" LastActivityDate="2011-10-11T07:28:39.717" Title="converse relationship between the cut rule and the identity axiom" Tags="&lt;lo.logic&gt;&lt;proof-theory&gt;&lt;sequent-calculus&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8567" PostTypeId="2" ParentId="8539" CreationDate="2011-10-11T00:42:38.653" Score="6" Body="&lt;p&gt;We should take into account the semantics of the words &quot;practical&quot; and &quot;application&quot;. For some students, &lt;em&gt;practical&lt;/em&gt; is anything that will help them pass their exams; for others, anything that will come up in a job. In both cases, Automata Theory is very practical indeed.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As others point out, you will use grammars, for example, when studying compilers. But even more than that: understanding the whole concept of having different states and rules for transitions between them can make you a better programmer when you realize, for example, that your code is redundant here and there, and that when you improve it, you are &lt;em&gt;applying&lt;/em&gt; in your code the same &lt;strong&gt;conceptual ideas&lt;/strong&gt; behind DFA minimization.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Similarly for &quot;application&quot;. What do you understand by that word? Even if you are a &quot;down-to-earth engineer&quot; you will see and use ideas similar to those of Automata Theory in real world projects: programming code, flow diagrams, and even the simple yet brilliant concept of a stack. For theory nerds like me, I consider &lt;em&gt;applications&lt;/em&gt; of Automata Theory in other areas, like logic, algebra and finite model theory. Surely, I will probably never need to use the pumping lemma while shopping in a supermarket, but theorems like that have helped me understand the &lt;strong&gt;structure&lt;/strong&gt; of certain classes of languages, not to mention the logics and algebraics structures they are in correspondence with. And that is something I value more than any measure of practicality.&lt;/p&gt;&#xA;" OwnerUserId="5396" LastActivityDate="2011-10-11T00:42:38.653" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8569" PostTypeId="1" AcceptedAnswerId="8573" CreationDate="2011-10-11T04:12:58.840" Score="12" ViewCount="519" Body="&lt;p&gt;What are the standard problems we can reduce from to prove $\Omega(n\log n)$ lower bounds?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course, state problems other than sorting and element distinctness. &lt;/p&gt;&#xA;" OwnerUserId="262" LastEditorUserId="1800" LastEditDate="2011-10-11T08:26:20.057" LastActivityDate="2011-10-11T09:08:34.730" Title="Problems to reduce from to prove an $\Omega(n\log n)$ lower bound" Tags="&lt;cc.complexity-theory&gt;&lt;lower-bounds&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="8570" PostTypeId="2" ParentId="8563" CreationDate="2011-10-11T04:31:48.030" Score="22" Body="&lt;p&gt;A partition into vertex-disjoint cycles is the same thing as a 2-regular subgraph, more commonly known as a 2-factor. It can be found (if it exists) in polynomial time by an algorithm based on matching. &lt;s&gt;E.g. see &lt;a href=&quot;http://books.google.com/books?id=-X39_rA3VSQC&amp;amp;pg=PA572&quot; rel=&quot;noreferrer&quot;&gt;this link&lt;/a&gt;.&lt;/s&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;ETA Nov 2013: It seems from comments below that the reduction from the source linked above is wrong. However, the statement that the problem can be reduced to perfect matching remains correct. The correct reduction is in W. T. Tutte (1954), &quot;A short proof of the factor theorem for finite graphs&quot;, &lt;a href=&quot;http://dx.doi.org/10.4153/CJM-1954-033-3&quot; rel=&quot;noreferrer&quot;&gt;Canadian J. Math. 6: 347–352&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Replace each vertex $v$ with degree $d$ by a complete bipartite graph $G_v=K_{d,\,d-2}$, and represent each edge $uv$ of the original graph by an edge from one vertex of $G_u$ to one vertex of $G_v$ (on the side of the bipartition with $d$ vertices) in such a way that each vertex of $G_v$ on that side of the bipartition has exactly one such edge incident to it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then a perfect matching in the modified graph has to match the $d-2$ vertices on their side of the bipartition of $G_v$ with $d-2$ out of the $d$ vertices on the other side, leaving exactly two free vertices that need to be matched with their neighbors in other subgraphs $G_u$. In this way, the perfect matchings of the modified graph correspond 1-for-1 with cycle covers of the original graph.&lt;/p&gt;&#xA;" OwnerUserId="95" LastEditorUserId="95" LastEditDate="2013-11-19T00:49:33.380" LastActivityDate="2013-11-19T00:49:33.380" CommentCount="12" ContentLicense="CC BY-SA 3.0" />
  <row Id="8571" PostTypeId="2" ParentId="8539" CreationDate="2011-10-11T04:41:01.983" Score="32" Body="&lt;p&gt;Can you hear that &lt;em&gt;noise&lt;/em&gt;? It is the sound of a thousand brilliant theorems, applications and tools laughing in automata-theoretic heaven. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Languages and automata are elegant and robust concepts that you will find in every area of computer science. Languages are not dry, formalist hand-me-downs from computing prehistory. The language theory perspective distills seemingly complicated questions about sophisticated, opaque objects into simple statements about words and trees. Formal languages play a role in computer science akin  to the fundamental and game-changing viewpoint brought by algebra and topology to classical mathematics. Here are some practical, fairly complicated, practical problems that are approached via language theory. &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;You want to spot duplicate occurrences of a phrase in a document and delete the second occurrence. In essence, you want to substitute a sequence in a language.&lt;/li&gt;&#xA;&lt;li&gt;Does a program contain an assertion violation? Does a device driver respect certain protocols when interacting with the kernel? The behaviour of a program is a set of executions; in other words, a language. The correctness property is another language. The program correctness problem amounts to a language inclusion check.&lt;/li&gt;&#xA;&lt;li&gt;Can your software be stuck in an infinite loop? Does a distributed algorithm contain a livelock? We need languages over infinite words, but the language inclusion view still applies. &lt;/li&gt;&#xA;&lt;li&gt;You want to build a sanitizer to detect malicious Javascript entered into a web application. The set of malicious strings is a language. The set of strings entered into the forms in another language. You want to determine if the intersection of these languages is non-empty.&lt;/li&gt;&#xA;&lt;li&gt;Run-time monitoring of reactive and mission-critical systems. You want to design a software monitor that oversees the operation of your chemical process or track updates to a financial database. These are at heart language inclusion and intersection problems.&lt;/li&gt;&#xA;&lt;li&gt;Pattern recognition with its numerous applications. You want to detect patterns in genomic data, in text, in a series of bug reports. These are problems where we are given words from an unknown language and have to guess the language. These are language inference problems. &lt;/li&gt;&#xA;&lt;li&gt;Given a set of XML documents, you want to reverse engineer a schema that applies to these documents. XML documents can be idealised a trees. A  schema is then a specification of a tree language and the schema inference problem is a language inference problem over tree languages. &lt;/li&gt;&#xA;&lt;li&gt;Many applications require automated arithmetic reasoning. Suppose we fix a logical theory such as Presburger arithmetic, in which we have the natural numbers, addition and the less-than predicate. A formula with n variables represents a set of n-dimensional vectors. A vector is a sequence of digits and can be encoded as a word. A predicate is then a set of words; a language. Logical operations such as conjunction, disjunction and negation become intersection, union and complement of languages (existential quantification is a kind of projection).&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;The reduction hinted at above treats languages as abstract mathematical objects. To apply these ideas in practice, we need a data structure to represent languages and algorithms to manipulate these data structures. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Enter automata. Automata allow us to reduce questions about abstract mathematical objects like languages to concrete, algorithmic questions about labelled graphs. Languages and automata theory, besides an insane number of practical applications, provide a very significant intellectual service. We can think about problems ranging from formatting zip codes to decision procedures for monadic second order logic in uniform and uncluttered conceptual space. How amazing is that!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have said nothing  about logic and decision procedures. (Yes, they have practical applications.) See Kaveh's answer for an authoritative overview.&lt;/p&gt;&#xA;" OwnerUserId="4155" LastEditorUserId="4155" LastEditDate="2011-10-11T15:59:56.310" LastActivityDate="2011-10-11T15:59:56.310" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8572" PostTypeId="2" ParentId="8566" CreationDate="2011-10-11T07:28:39.717" Score="5" Body="&lt;p&gt;Girard is talking about &lt;em&gt;intuitionistic&lt;/em&gt; sequents, in which sequences to the right of the turnstile have length at most 1. So in the premiss of the cut rule, the sequence of formulas $\vec{B}$ is &lt;em&gt;empty&lt;/em&gt;. We can rewrite the cut rule as follows, writing $B^?$ for a sequence which is either empty or contains a single formula.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xD;&#xA;\frac{\vec{A} \vdash C \qquad \vec{A&amp;#39;},C \vdash B^?}&#xD;&#xA;     {\vec{A}, \vec{A&amp;#39;} \vdash B^?}&#xD;&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, it's easy to see why Girard says $C$ on the right is stronger -- it is the only formula that occurs to the right in the first premiss. &lt;/p&gt;&#xA;" OwnerUserId="657" LastActivityDate="2011-10-11T07:28:39.717" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8573" PostTypeId="2" ParentId="8569" CreationDate="2011-10-11T09:08:34.730" Score="18" Body="&lt;p&gt;&lt;a href=&quot;http://www.cse.huji.ac.il/~benor/AlgCompTrees83.pdf&quot;&gt;Ben-Or&lt;/a&gt; directly proved  $\Omega(n\log n)$ lower bounds for several fundamental problems in the algebraic computation tree model:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Element distinctness: Given an array of $n$ real numbers, are its elements distinct?&lt;/li&gt;&#xA;&lt;li&gt;Set disjointness: Given two sets of $n$ real numbers, do they have an element in common?&lt;/li&gt;&#xA;&lt;li&gt;Set equality: Given two sets of $n$ real numbers, is one array a permutation of the other?&lt;/li&gt;&#xA;&lt;li&gt;Measure problem: Given $n$ real intervals, what is the total length of their union?&lt;/li&gt;&#xA;&lt;li&gt;Set inclusion: Given two sets of real numbers, is one a subset of the other?&lt;/li&gt;&#xA;&lt;li&gt;Permutation Parity: Given an permutation of the set $[n]$, is the permutation even or odd?&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The first three are the ones most often used in computational geometry.&lt;/p&gt;&#xA;" OwnerUserId="111" LastActivityDate="2011-10-11T09:08:34.730" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="8574" PostTypeId="2" ParentId="8539" CreationDate="2011-10-11T09:12:41.123" Score="8" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;We have seen that the language which contrasts theory and practice,&#xA;  setting the one above the other, is the very consummation of&#xA;  ignorance—that it proves a man to be unacquainted with the very&#xA;  first elements of thought, and goes a great way towards proving his&#xA;  mind to be so perverted as to be incapable of being taught them.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;— James Mill (writing pseudonymously as “P.Q.”),&#xA;“Theory and Practice”, &lt;em&gt;London and Westminster Review&lt;/em&gt;, April 1836&lt;/p&gt;&#xA;" OwnerUserId="111" LastActivityDate="2011-10-11T09:12:41.123" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8576" PostTypeId="2" ParentId="8539" CreationDate="2011-10-11T13:10:44.420" Score="14" Body="&lt;p&gt;As already pointed out in various answers, Automata Theory in UG courses gives one the basic conceptual framework for introducing more advanced (and practical) topics, and also for pointing out overlooked connections; for instance: Binary Decision Diagrams (they are minimized DFA; after teaching DFA, I often teach BDD-based puzzle solving); scripting including in BioPerl and BioPython (and a great setting in which to reinforce how many unintended matches may be hidden in real-world script regexps), formal debugging (state properties as negated FA, intersect), and even VCR or home intruder alarm programming (every day stress situation of a poorly specified automaton taught through incomplete examples; perhaps formalized using Harel's play-in/play-out scenario based synthesis of user interfaces). I also use the setting to teach Python's (almost) purely functional subset, including maps, lambdas, and set comprehensions, using which one can code up standard FA algorithms, often in a manner virtually indistinguishable from math defns.&lt;/p&gt;&#xA;" OwnerUserId="6845" LastActivityDate="2011-10-11T13:10:44.420" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="8577" PostTypeId="2" ParentId="8539" CreationDate="2011-10-11T13:29:48.663" Score="10" Body="&lt;p&gt;There has been considerable research related to automata theory in model checking used in the industry. Check &lt;a href=&quot;http://www.fields.utoronto.ca/programs/scientific/11-12/constraint/CLS/&quot;&gt;Moshe Vardi's recent lectures at Fields Institute&lt;/a&gt;, in particular the 3rd lecture &quot;Logic, Automata, Games, and Algorithms&quot; for a taste of why automata theory is still important and useful.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Abstract: &lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;The automata-theoretic approach to decision procedures, introduced by Buechi, Elgot, Rabin and Trakhtenbrot in the 1950s and 1960s, is one of the most fundamental approaches to decision procedures. Recently, this approach has found industrial applications in formal verification of hardware and software systems. The path from logic to practical algorithms goes not only through automata, but also through games, whose algorithmic aspects were studies by Chandra, Kozen, and Stockmeyer in the late 1970s. In this overview talk we describe the path from logic to algorithms via automata and games.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The slides and audio files of lectures are available here: &lt;a href=&quot;http://www.fields.utoronto.ca/audio/11-12/CLS_constraint/vardi/&quot;&gt;1&lt;/a&gt;, &lt;a href=&quot;http://www.fields.utoronto.ca/audio/11-12/CLS_constraint/vardi2/&quot;&gt;2&lt;/a&gt;, &lt;a href=&quot;http://www.fields.utoronto.ca/audio/11-12/CLS_constraint/vardi3/&quot;&gt;3&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="186" LastActivityDate="2011-10-11T13:29:48.663" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8578" PostTypeId="2" ParentId="8516" CreationDate="2011-10-11T13:48:11.910" Score="5" Body="&lt;p&gt;The model where input is provided as an oracle is studied in computability theory and computable analysis. One of the models that seem close to what you want is the TTE model (Type Two Effectivity). A good reference for it is Klaus Weihrauch's book &quot;&lt;a href=&quot;http://www.fernuni-hagen.de/weihrauch/index_data/book.html&quot; rel=&quot;nofollow&quot;&gt;Computable Analysis&lt;/a&gt;&quot;. He also briefly talks about complexity in chapter 7.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Ker-I Ko's book &quot;&lt;a href=&quot;http://www.cs.sunysb.edu/~keriko/realbook.ps&quot; rel=&quot;nofollow&quot;&gt;Computational Complexity of Real Functions&lt;/a&gt;&quot; discusses another model of access to the oracle which seem more suitable for complexity. The issues about representation of higher type objects and the method to access the oracle are delicate matters. See for example Stephen A. Cook and Akitoshi Kawamura's recent paper &quot;&lt;a href=&quot;http://www-imai.is.s.u-tokyo.ac.jp/~kawamura/papers/sopoly/&quot; rel=&quot;nofollow&quot;&gt;Complexity Theory for Operators in Analysis&lt;/a&gt;&quot; from STOC 2010 and &lt;a href=&quot;http://www-imai.is.s.u-tokyo.ac.jp/~kawamura/thesis.pdf&quot; rel=&quot;nofollow&quot;&gt;his PhD thesis&lt;/a&gt;. One of the main issues is that to make the model reasonable one needs to give the machine enough time to process the answers from the oracle (otherwise one cannot even compute the application operator). For polynomial time and polynomial space it can be done using higher order polynomials based on Stephen A. Cook and Bruce M. Kapron's papers &quot;&lt;a href=&quot;http://www.cs.uvic.ca/~bmkapron/Publications/focs91.full.ps&quot; rel=&quot;nofollow&quot;&gt;A new characterization of type-2 feasibility&lt;/a&gt;&quot; FOCS 1991 and &quot;&lt;a href=&quot;http://www.cs.uvic.ca/~bmkapron/Publications/focs89.full.ps&quot; rel=&quot;nofollow&quot;&gt;Characterizations of the basic feasible functionals of finite type&lt;/a&gt;&quot; STOC 1989.&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2011-10-11T14:09:22.890" LastActivityDate="2011-10-11T14:09:22.890" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8580" PostTypeId="2" ParentId="8565" CreationDate="2011-10-11T18:03:29.573" Score="11" Body="&lt;p&gt;Here's one more &quot;applied&quot; reason why we care about triangulations. There's a body of work on mesh compression where the goal is to use as few bits per vertex as possible to encode a mesh (mainly to aid in storage and transmission). The particular base of the exponent in the number of triangulations of a planar point set provides an information-theoretic lower bound on the number of bits needed per vertex (specifically, $8.48^n$ triangulations means you need at least 8.48 bits per vertex). Such bounds can then be compared with actual mesh compression schemes to determine their efficacy. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2011-10-11T18:03:29.573" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8581" PostTypeId="2" ParentId="8539" CreationDate="2011-10-11T20:25:36.830" Score="4" Body="&lt;p&gt;Finite Automata, often written about as finite state machines in different contexts, or with their probabilistic variants Hidden Markov Models can be applied to pattern recognition and quantifying structure of a pattern. E.g. what is the smallest stochastic finite automata that will generate strings according, more or less, to a given probability distribution, or matching statistical properties of a sample of strings (or time series) from some distribution. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;See for example &lt;a href=&quot;http://arxiv.org/abs/cs.LG/0406011&quot; rel=&quot;nofollow&quot; title=&quot;CSSR&quot;&gt;CSSR&lt;/a&gt;, an algorithm for blindly reconstruction hidden states; it's more efficient and flexible than Hidden Markov Models.&lt;/p&gt;&#xA;" OwnerUserId="3337" LastActivityDate="2011-10-11T20:25:36.830" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8582" PostTypeId="1" CreationDate="2011-10-11T21:27:48.720" Score="16" ViewCount="2885" Body="&lt;p&gt;I am looking to get a definite answer to title question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a set of rules that translates any program into a configuration of finite pieces on an infinite board, such that if black and white plays only legal moves, the game ends in finite time iff the program halts?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The rules are the same as ordinary chess minus the 50 move rule, exchanges and castling.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;And what is the minimum number of different types of pieces (ie the simplest game) that is needed for a chess-like game to be turing-complete? (Each type of piece having a set of allowed moves that is invariant under translations).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there any piece we can add to the game to prove it turing complete?&lt;/p&gt;&#xA;" OwnerUserId="6877" LastEditorUserId="6877" LastEditDate="2011-10-30T15:56:15.220" LastActivityDate="2013-09-05T08:24:21.917" Title="Can chess simulate a Universal Turing Machine?" Tags="&lt;computability&gt;&lt;turing-machines&gt;&lt;board-games&gt;&lt;halting-problem&gt;&lt;recreational&gt;" AnswerCount="2" CommentCount="14" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="8583" PostTypeId="1" AcceptedAnswerId="8589" CreationDate="2011-10-11T21:43:46.230" Score="10" ViewCount="415" Body="&lt;p&gt;In the Arora-Barak book, in the definition of time constructible functions, it is said that using functions that are not time constructible can lead to &quot;anomalous results&quot;. Does anyone have an example of such an &quot;anomalous result&quot;? I have heard in particular that there might exist functions such that the time hierarchy theorem does not hold, does anyone have an example of such functions? Is there something about this somewhere in the litterature?&lt;/p&gt;&#xA;" OwnerUserId="5062" LastActivityDate="2011-10-17T15:07:35.513" Title="Non constructible functions and anomalous results" Tags="&lt;cc.complexity-theory&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="8584" PostTypeId="1" CreationDate="2011-10-12T01:46:19.277" Score="9" ViewCount="569" Body="&lt;p&gt;(My original question still has not been answered. I have added further clarifications.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;When analyzing random walks (on undirected graphs) by viewing the random walk as a Markov chain, we require the graph to be non-bipartite so that the fundamental theorem of Markov chains applies. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;What happens if the graph $G$ is instead bipartite? I am specifically interested in the hitting time $h_{i,j}$, where there is an edge between $i$ and $j$ in $G$. Say the bipartite graph $G$ has $m$ edges. We can add a self-loop to an arbitrary vertex in the graph to make the resulting graph $G&amp;#39;$ non-bipartite; applying the fundamental theorem of Markov chains to $G&amp;#39;$ we then get that $h_{i,j} &amp;lt; 2m+1$ in $G&amp;#39;$, and this is clearly also an upper bound for $h_{i,j}$ in $G$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Question: Is it true that the stronger claim $h_{i,j} &amp;lt; 2m$ holds in $G$? (It have seen this claimed in analyses of the random walk algorithm for 2SAT.) Or do we really have to go through this extra step of adding the self-loop?&lt;/p&gt;&#xA;" OwnerUserId="686" LastEditorUserId="686" LastEditDate="2011-10-16T03:05:00.493" LastActivityDate="2011-10-17T00:02:15.443" Title="Technical question about random walks" Tags="&lt;pr.probability&gt;&lt;random-walks&gt;" AnswerCount="3" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8585" PostTypeId="2" ParentId="8132" CreationDate="2011-10-12T01:50:13.827" Score="4" Body="&lt;p&gt;I'm not sure what exactly you are looking for. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Goldreich's book (&quot;Foundations of Cryptography, volume 1&quot;) contains an extensive discussion of non-interactive ZK proofs. So do these lecture notes of Katz (lectures 11-13): &lt;a href=&quot;http://www.cs.umd.edu/~jkatz/gradcrypto2/scribes.html&quot; rel=&quot;nofollow&quot;&gt;http://www.cs.umd.edu/~jkatz/gradcrypto2/scribes.html&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You could also look at this paper: Uriel Feige, Dror Lapidot, Adi Shamir: Multiple NonInteractive Zero Knowledge Proofs Under General Assumptions. SIAM J. Comput. 29(1): 1-28 (1999) and references therein.&lt;/p&gt;&#xA;" OwnerUserId="686" LastActivityDate="2011-10-12T01:50:13.827" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8586" PostTypeId="2" ParentId="8548" CreationDate="2011-10-12T03:37:55.970" Score="2" Body="&lt;p&gt;The idea of using a sequence of games as part of a reductionist proof of security predates the given references (it is implicit in work dating back to the early '80s if not earlier, and explicit at least by the late '90s).&lt;/p&gt;&#xA;" OwnerUserId="686" LastActivityDate="2011-10-12T03:37:55.970" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8588" PostTypeId="2" ParentId="2543" CreationDate="2011-10-12T03:43:51.593" Score="4" Body="&lt;p&gt;See Chapter 5 of the textbook &quot;Introduction to Modern Cryptography&quot; by Katz and Lindell.&lt;/p&gt;&#xA;" OwnerUserId="686" LastActivityDate="2011-10-12T03:43:51.593" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8589" PostTypeId="2" ParentId="8583" CreationDate="2011-10-12T04:37:11.450" Score="11" Body="&lt;p&gt;&lt;a href=&quot;http://dx.doi.org/10.1145%2F321679.321691&quot;&gt;Borodin's Gap Theorem&lt;/a&gt;: For every total computable function $g(n) \geq n$, there is a total computable function $t$ such that $DTIME[g(t(n))] = DTIME[t(n)]$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In fact, this holds for any Blum complexity measure in place of $DTIME$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;See also &lt;a href=&quot;http://en.wikipedia.org/wiki/Gap_theorem&quot;&gt;the wikipedia page&lt;/a&gt; and references therein.&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2011-10-12T04:37:11.450" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8590" PostTypeId="2" ParentId="8584" CreationDate="2011-10-12T07:09:02.427" Score="5" Body="&lt;p&gt;&lt;strong&gt;This answer proved something different from what the questioner was actually interested in. Leaving it here so others won't repeat the same mistake.&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;In most cases, one can formally justify the intuitive notion that&#xA;  &quot;self loops can only slow down the walk&quot; by a coupling argument.  In&#xA;  this case for example, one can couple the walk with the self loops&#xA;  (let's call it $A$) and the one without the self loops (let's call&#xA;  that $B$) so that $A$ takes the &lt;em&gt;same&lt;/em&gt; steps as $B$, but delayed in&#xA;  time.  This can for example be done as follows:  Suppose that $B$&#xA;  starts at $u = x_0$ and goes through $x_i: i =1,2,\ldots,k$. Now, we&#xA;  implement $A$ as follows: $A$ also goes through the same vertices as&#xA;  $B$, except that vertex $x_i$, it waits for Geometric($p_i$) time&#xA;  where $p_i$ is the self loop probability at $x_i$.  Note that this is&#xA;  a correct implementation of $A$ (all transition probabilities are&#xA;  correct), and the form of the coupling ensures that $A$ never reaches&#xA;  any vertex before $B$, that is, we have coupled $H_t^A$ and $H_t^B$&#xA;  (the random hitting times in the two walks) so that $H_t^A \geq H_t^B$&#xA;  with probability $1$. Thus, the inequality for the expected hitting&#xA;  time follows.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="6827" LastEditorUserId="6827" LastEditDate="2011-10-13T03:01:12.843" LastActivityDate="2011-10-13T03:01:12.843" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="8592" PostTypeId="1" CreationDate="2011-10-12T11:53:16.590" Score="4" ViewCount="398" Body="&lt;p&gt;I have a set of $N$ circles with a set of known radii $r_i$ on a plane of some surface area $A$.  If intersection is allowed between circles, how can I most efficiently compute the exact (not approximate) surface area of their union?&lt;/p&gt;&#xA;" OwnerUserId="6854" LastActivityDate="2011-10-12T14:50:47.893" Title="Efficiently computing the exact union of 'N' intersecting circles on a plane" Tags="&lt;cg.comp-geom&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8593" PostTypeId="2" ParentId="1357" CreationDate="2011-10-12T14:06:05.570" Score="13" Body="&lt;p&gt;Sorry, I came across this 1 year old question only now ...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In fact, there are lots of results showing that explicit graphs with some properties imply strong lower bounds for boolean functions. Say, graphs of high affine or projective dimension imply strong lower bounds for formulas and branching programs. There are also &quot;simpler&quot; measures of graphs, good lower bounds on which would have great consequences in computational complexity. Let me sketch some of them.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;View graphs as sets of edges. Let $s(G)$ be the smallest number $s$ such that $G$ can be written as an intersection of $\leq s$ graphs, each of which is a union of $\leq s$ bicliques (bipartite complete graphs). Easy counting shows that $s(G)\geq n^{1/2}$ for almost all bipartite $n\times n$ graphs. But by Valiant's results, every explicit bipartite graph $G$ (more exactly, a sequence of graphs) with $s(G)\geq n^c$ for a constant $c&amp;gt;0$ would resolve an old problem: would give a boolean function which cannot be computed by a log-depth circuit of linear size.  It is conjectured that dense graphs without $K_{2,2}$ have large $s(G)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Even better, let $Star(G)$ be the smallest number of fanin-$2$ union and intersection operations that are enough to generate $G$ starting with complete stars (graphs of the type $K_{1,n}$ or $K_{n,1}$). Counting shows that most of the graphs have $Star(G)=\Omega(n^2/\log n)$. But any $G$ with $Star(G)\geq (4+c)n$ for a constant $c&amp;gt;0$ would give an explicit boolean function requiring circuits of exponential size! If the graph has dimension $m\times n$ with $m=o(n)$, then even a lower bound $Star(G)\geq (2+c)n$ would have the same consequences. The best we can show so far is $Star(G)\geq 2n-1$.   &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $Sym(G)$ be the smallest number $t$ for which there exists a subset $T\subseteq\{0,1,\ldots,t\}$ and a sequence of $t$ bicliques such that $(u,v)\in G$ iff the number of bicliques containing $(u,v)$ belongs to $T$. Again, counting gives $Sym(G)\geq n/2$ for most of the graphs. But by results of Yao, Beigel and Tarui any explicit graph with $Sym(G)$ larger than  $2^{poly(\ln\ln n)}$ would give us a boolean function outside $ACC$. Warning: being &quot;combinatorialy complicated&quot; alone does not imply large $Sym(G)$: there exists strongly Ramsey graphs for which $Sym(G)=O(\log n)$, even if $T$ = set of odd integers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More details on how all this happens can be found &lt;a href=&quot;http://www.thi.informatik.uni-frankfurt.de/~jukna/boolean/index.html&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="5788" LastActivityDate="2011-10-12T14:06:05.570" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8594" PostTypeId="2" ParentId="8592" CreationDate="2011-10-12T14:50:47.893" Score="6" Body="&lt;p&gt;See &lt;a href=&quot;https://mathoverflow.net/questions/24859/finding-the-union-of-n-random-circles-arbitrarily-or-conspiratorially-placed-on&quot;&gt;this earlier MathOverflow question&lt;/a&gt;: the union of circles can be constructed (as its set of boundary arcs) in $O(n\log n)$ time. Once you have that, it's straightforward to use Green's theorem to calculate the area.&lt;/p&gt;&#xA;" OwnerUserId="95" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.530" LastActivityDate="2011-10-12T14:50:47.893" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8595" PostTypeId="2" ParentId="8584" CreationDate="2011-10-12T17:32:22.793" Score="0" Body="&lt;p&gt;@user686 Sorry, for my earlier answer: I didn't realize you were concerned about $2m+1$ vs $2m$. However, in that case I don't think the claim made there is true if you add a self loop only at $j$. Random walks starting at $i$ in the case of both $G&amp;#39;$ and and $G$ can be coupled so that they take the $same$ steps at the same times until they reach $j$. This means that $H(i,j)_G=H(i,j)_{G&amp;#39;}$, and the expected hitting times therefore have to be equal.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, since the bound $h_{i,j} &amp;lt; 2m+1$ is not correct in general (on a path of $m$ nodes, $h_{i,j}$ can be as large as $\Theta(m^2)$), is your graph special?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;PS: I updated my earlier answer since it seems it was not addressing your main concern.&lt;/p&gt;&#xA;" OwnerUserId="6827" LastEditorUserId="6827" LastEditDate="2011-10-13T00:56:36.633" LastActivityDate="2011-10-13T00:56:36.633" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="8596" PostTypeId="1" AcceptedAnswerId="8597" CreationDate="2011-10-12T18:39:41.837" Score="2" ViewCount="699" Body="&lt;p&gt;I'm writing a program that receives data over a network connection. Every data point is simply a 4 dimensional vertex, lets call the dimensions X,Y,Z,W.  The values of each dimension are exponentially distributed.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm currently saving the data and plotting the data, in real time, as a 2D scatter plot.  Here is an example of such a plot:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/ELjdr.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One thing is obvious in the picture is there are most of the points are near the origin. Any two points that overlap are redundant as they carry the identical information. This means that the majority of the points near the origin can be discarded where as very few points far from the origin can be discarded. I'd like to come up with an intelligent way to filter out redundant points.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I've thought of a few way of doing this. One of which would use an intelligent data structure that when &lt;code&gt;insertNewPoint&lt;/code&gt; is called the structure first checks to see if any points in the data structure are within a predefined distance of the new point. If this is true than the new point is discarded otherwise it is added to the data structure. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is some pseudo code that illustrates the idea:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;Structure Points{&#xA;    list storedPoints;&#xA;    distance threshold;&#xA;&#xA;    insertNewPoint(newPoint){&#xA;        for each point in storedPoints &#xA;            if calculateDistance(newPoint, point) &amp;lt; threshold&#xA;                return false&#xA;&#xA;&#xA;        storedPoints.add(newPoint)&#xA;        return true&#xA;    }&#xA;&#xA;}&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;I anticipate that these data structures will eventually contain upwards of 50K+ points, and each second between 10-100 new points will be received by my program. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there data structures that are designed for these kind of operations? If not, what would be the most efficient way implement a structure like this for 4 dimensions? &lt;/p&gt;&#xA;" OwnerUserId="6861" LastEditorUserId="6861" LastEditDate="2011-10-12T20:38:58.677" LastActivityDate="2011-10-12T20:38:58.677" Title="What data structures exist for fast calculation of distances between multi-dimensional points" Tags="&lt;ds.data-structures&gt;&lt;cg.comp-geom&gt;&lt;near-neighbors&gt;" AnswerCount="1" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="8597" PostTypeId="2" ParentId="8596" CreationDate="2011-10-12T20:17:48.537" Score="4" Body="&lt;p&gt;I'm not sure what you mean by 'overlapping points', and even less clear how you construct a 2D scatter plot from 4D data unless by doing some kind of projection. Having said that, what I think you're looking for is a dynamic near-neighbor data structure. Specifically, you want a data structure that processes queries of the form &quot;Who's my nearest neighbor in the current set&quot; and &quot;insert a point into the current set&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;While there's a ton of work on different kinds of near-neighbor structures, your particular situation (dynamic 4D points) suggests at least starting with a grid-based structure. Make (4D) buckets based on segmenting the coordinates, and hash the points in, and then for a query you can do a &lt;a href=&quot;http://www.ecse.rpi.edu/Homepages/wrf/pmwiki/&quot; rel=&quot;nofollow&quot;&gt;spiral search&lt;/a&gt; (or something similar) around the cell your query lies in. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The next idea would be to build a &lt;a href=&quot;http://goo.gl/pLiEO&quot; rel=&quot;nofollow&quot;&gt;generalized quad tree data structure&lt;/a&gt; (a compressed quad tree) or even something involving space-filling curves, if this first approach doesn't yield the performance you need. There are even more powerful methods, but I wouldn't recommend looking into them till you've exhausted the simple approaches. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Bottom line: &quot;dynamic&quot; and &quot;nearest-neighbor&quot; and &quot;low dimensional&quot; are your google friends. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2011-10-12T20:17:48.537" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="8598" PostTypeId="1" AcceptedAnswerId="8600" CreationDate="2011-10-12T21:51:56.473" Score="14" ViewCount="735" Body="&lt;p&gt;I had done some search on this but I was not able to find an answer either way.&lt;p&gt;&#xA;Huck answered it fully. Thanks :) &lt;p&gt;&lt;/p&gt;&#xA;" OwnerUserId="1590" LastEditorUserId="1590" LastEditDate="2014-02-28T20:41:15.320" LastActivityDate="2014-02-28T20:41:15.320" Title="Is Quasi-polynomial time in PSPACE?" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;time-complexity&gt;&lt;space-complexity&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="8599" PostTypeId="2" ParentId="8583" CreationDate="2011-10-12T22:19:27.390" Score="6" Body="&lt;p&gt;Since the Wikipedia article doesn't give the proof and the paper is on ACM DL I thought that it might be useful to post the proof here:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;THEOREM 3.7. (Gap Theorem). &lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;Let $\Phi$ be a complexity measure, $g$ a nondecreasing recursive function such that $\forall x, g(x) \geq x$. Then there exists an increasing recursive function $t$ such that functions computable of complexity measure $t$ are the same as functions computable of complexity measure $g\circ t$.&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;PROOF.&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;Define $t$ as follows:&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;$$t(0) := 1$$&#xA;  $$t(n) := \mu{ k &amp;gt; t(n-1)}: \forall i \leq n, (\Phi_i(n)&amp;lt;k  \lor \Phi_i(n)&amp;gt; g(k) )$$&lt;/p&gt;&#xA;  &#xA;  &lt;ol&gt;&#xA;  &lt;li&gt;&lt;p&gt;for all $n$, there is a $k$, since for all $i \leq n$: &lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;a. if $\Phi_i(n)$ is undefined then $\forall k, \Phi_i(n)&amp;gt;g(k)$, and&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;b. if  $\Phi_i(n)$ defined then $\exists k, \Phi_i(n) &amp;lt; k$. &lt;/p&gt;&lt;/li&gt;&#xA;  &lt;li&gt;&lt;p&gt;$k$ can be found recursively, since $\Phi$ is a complexity measure and thus $\Phi_i(n) &amp;lt;k$ and $\Phi_i(n) &amp;gt; g(k)$ are recursive predicates.&lt;/p&gt;&lt;/li&gt;&#xA;  &lt;li&gt;&lt;p&gt;$t$ satisfies the theorem, since $n \geq i$ implies that either $\Phi_i(n) &amp;lt; t(n)$ or &#xA;  $\Phi_i(n) &amp;gt; g \circ t(n)$. &lt;/p&gt;&lt;/li&gt;&#xA;  &lt;/ol&gt;&#xA;  &#xA;  &lt;p&gt;QED.&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;We observe that an arbitrarily large $t$ can be found to satisfy Theorem 3.7. Suppose we want $t(n) &amp;gt; r(n)$, then define &lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;$$t(0) := r(0) + 1$$ &#xA;  $$t(n) := \mu{k &amp;gt; max\{t(n-1), r(n)\}}: \ldots$$ &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;(from Allan Borodin, &quot;&lt;a href=&quot;http://dx.doi.org/10.1145/321679.321691&quot; rel=&quot;nofollow&quot;&gt;Computational complexity and the existence of complexity gaps&lt;/a&gt;&quot;, JACM 1972, with slight modifications.)&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="3552" LastEditDate="2011-10-17T15:07:35.513" LastActivityDate="2011-10-17T15:07:35.513" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8600" PostTypeId="2" ParentId="8598" CreationDate="2011-10-12T22:25:13.270" Score="27" Body="&lt;p&gt;Here's a simple argument that shows that QP is not known to be in PSPACE:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assume $QP \subseteq PSPACE$. Then we have $P \subsetneq QP \subseteq PSPACE$, where the first inclusion is proper by the time hierarchy theorem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This separates $P$ from $PSPACE$, which is not known to hold, so $QP \subseteq PSPACE$ must also not be known to hold.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Indeed we have that $PSPACE \subseteq QP \Rightarrow PSPACE \subsetneq EXP$, but $QP \nsubseteq PSPACE$ does not separate the two classes by the THT (as stated in the question).&lt;/p&gt;&#xA;" OwnerUserId="969" LastEditorUserId="969" LastEditDate="2011-10-12T22:31:32.323" LastActivityDate="2011-10-12T22:31:32.323" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8601" PostTypeId="1" CreationDate="2011-10-13T01:15:34.597" Score="1" ViewCount="121" Body="&lt;p&gt;I have been reading about range search algorithms, but most that I read apply only to a simple range (such as a standard rectangle in 2d).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In a similar fashion, what options exist for range search algorithms across arbitrary closed shapes?  For example, if I had a binary image of a person, and random points across the image, how do I determine which points lie on the portion of the person?&lt;/p&gt;&#xA;" OwnerUserId="6866" LastEditorUserId="6866" LastEditDate="2011-10-13T01:40:13.557" LastActivityDate="2011-10-13T11:49:07.163" Title="What methods exist for returning all points within an arbitrary closed shape?" Tags="&lt;cg.comp-geom&gt;&lt;range-searching&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="8603" PostTypeId="2" ParentId="3253" CreationDate="2011-10-13T08:31:37.390" Score="4" Body="&lt;h1&gt;Theory of Computation, Logic ( and also Music and Art )&lt;/h1&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0465026567&quot; rel=&quot;nofollow&quot;&gt;Gödel, Escher, Bach: An Eternal Golden Braid&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;When I was a young student I found this book really exciting. Maybe it is not so  usefull in technical sense, but it's a good and funny way to understand hard concepts from Logic and Theory in general.&lt;/p&gt;&#xA;" OwnerUserId="3847" LastActivityDate="2011-10-13T08:31:37.390" CommentCount="0" CommunityOwnedDate="2011-10-13T08:31:37.390" ContentLicense="CC BY-SA 3.0" />
  <row Id="8604" PostTypeId="1" AcceptedAnswerId="8606" CreationDate="2011-10-13T09:06:59.797" Score="4" ViewCount="402" Body="&lt;p&gt;Is it possible to create a regular expression that matches regular expressions in any given notation?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Or, in other words, does there exist a unambiguous and full notation for regular expressions that can be parsed with regular expressions?&lt;/p&gt;&#xA;" OwnerUserId="6869" LastActivityDate="2011-10-13T10:35:56.540" Title="Matching regular expressions using regular expressions" Tags="&lt;regular-expressions&gt;&lt;regular-language&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8605" PostTypeId="2" ParentId="8604" CreationDate="2011-10-13T09:39:46.647" Score="4" Body="&lt;p&gt;No, it is not possible. You can reduce the language of regular expressions to the language of matching brackets using a homomorphism; As matching brackets is not a regular language, you will neither be able to parse regular expressions with a regular expression.&lt;/p&gt;&#xA;" OwnerUserId="936" LastActivityDate="2011-10-13T09:39:46.647" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8606" PostTypeId="2" ParentId="8604" CreationDate="2011-10-13T10:35:56.540" Score="10" Body="&lt;p&gt;Even if we require that the expressions are &quot;human-readable&quot;, and the conversion between the standard notation and the new notation is fairly easy to compute, the answer is &quot;yes&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, we can modify the standard notation as follows to obtain &quot;compressed&quot; regular expressions:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;You are allowed to remove any prefix that consists of a sequence of ('s&lt;/li&gt;&#xA;&lt;li&gt;You are allowed to remove any suffix that consists of a sequence of )'s&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;That is, &lt;code&gt;((a|b)*c)de(f|g)&lt;/code&gt; can be expressed in the &quot;compressed&quot; notation using, for example, any of the following forms: &lt;code&gt;a|b)*c)de(f|g&lt;/code&gt; or &lt;code&gt;((a|b)*c)de(f|g&lt;/code&gt; or &lt;code&gt;(a|b)*c)de(f|g)&lt;/code&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The compressed notation is unambiguous in the sense that you can recover a semantically equivalent expression by simply adding a sufficient number of leading and trailing parentheses to make everything balanced. Of course, &lt;code&gt;a|b)*c)de(f|g&lt;/code&gt; might represent &lt;code&gt;((a|b)*c)de(f|g)&lt;/code&gt; or &lt;code&gt;(((a|b)*c)de(f|g))&lt;/code&gt;, but adding extra parentheses does not change the language defined by the expression.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The &quot;compressed&quot; notation is a regular language.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;And yes, this is cheating.&lt;/p&gt;&#xA;" OwnerUserId="74" LastActivityDate="2011-10-13T10:35:56.540" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8608" PostTypeId="2" ParentId="8601" CreationDate="2011-10-13T11:49:07.163" Score="8" Body="&lt;p&gt;There are no options.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For any set of $n$ points, if you want to answer range queries for &lt;em&gt;arbitrary&lt;/em&gt; ranges, all $2^n$ subsets are possible answers.  (In fact, for any set of $n$ points in convex position, every subset is the intersection with some &lt;em&gt;convex&lt;/em&gt; range.)  It follows immediately that any query algorithm (describable as a decision tree) requires $\Omega(n)$ time, no matter how much time and space you spend preprocessing the points.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Equivalently: The range space (points in the plane, convex regions in the plane) has unbounded VC-dimension, so there's no hope for an efficient range searching algorithm.&lt;/p&gt;&#xA;" OwnerUserId="111" LastActivityDate="2011-10-13T11:49:07.163" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8609" PostTypeId="1" AcceptedAnswerId="8611" CreationDate="2011-10-13T17:37:08.797" Score="10" ViewCount="2193" Body="&lt;p&gt;Given a set of points in a 3D Cartesian space, I am looking for an algorithm that will sort these points, such that the minimal Euclidean distance between two consecutive points would be maximized.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It would also be beneficial if the algorithm would have a tendency toward a higher average Euclidean distance between consecutive points.&lt;/p&gt;&#xA;" OwnerUserId="4804" LastActivityDate="2015-12-10T13:07:43.370" Title="Sorting points such that the minimal Euclidean distance between consecutive points would be maximized" Tags="&lt;graph-algorithms&gt;&lt;cg.comp-geom&gt;&lt;optimization&gt;" AnswerCount="2" CommentCount="4" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="8611" PostTypeId="2" ParentId="8609" CreationDate="2011-10-13T20:27:02.590" Score="6" Body="&lt;p&gt;&lt;b&gt;ETA: Everything below is in the paper &quot;&lt;a href=&quot;http://dl.acm.org/citation.cfm?id=314258&quot; rel=&quot;nofollow&quot;&gt;On the maximum scatter TSP&lt;/a&gt;&quot;, Arkin et al, SODA 1997.&lt;/b&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I don't know about exact answers, but here's another approach that's a little different from Suresh's suggestion of Gonzalez clustering:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assume for simplicity that $n$ is even. For each vertex $p$, find the median of the $n-1$ distances $d(p,q)$. Form an undirected graph in which every vertex $p$ is connected to the other vertices that are at least the median distance away. The minimum degree in this graph is at least $n/2$, so by Dirac's theorem it's possible to find a Hamiltonian cycle in this graph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, there are $n/2 + 1$ vertices in the disk centered at $p$ with radius $d(p,q)$, too many to form an independent set in the cycle, so any Hamiltonian cycle would have to have an edge connecting some two of these vertices, of length at most $2d(p,q)$. Therefore, the Hamiltonian cycle found by this algorithm is at worst a 2-approximation to the bottleneck max cycle.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This will work in any metric space, and gives the optimal approximation ratio among algorithms that work in any metric space. For, if you could approximate better than to within a factor of two then you could solve Hamiltonian cycle problems exactly, by reducing the input graph to the Hamiltonian cycle problem into a metric space with distance 2 for every graph edge and distance 1 for every non-edge.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Probably with some care you can massage this into an approximation algorithm for paths instead of cycles.&lt;/p&gt;&#xA;" OwnerUserId="95" LastEditorUserId="95" LastEditDate="2011-10-14T16:38:48.420" LastActivityDate="2011-10-14T16:38:48.420" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="8612" PostTypeId="2" ParentId="5608" CreationDate="2011-10-13T23:45:11.220" Score="5" Body="&lt;p&gt;You will find lots of links in Steve Wright's plenary talk at the SIAM Optimization 2011 conference: &lt;a href=&quot;http://pages.cs.wisc.edu/~swright/talks/sjw-siopt11.pdf&quot; rel=&quot;nofollow&quot;&gt;http://pages.cs.wisc.edu/~swright/talks/sjw-siopt11.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;At the same conference, Michael Friedlander gave a tutorial with many references and pointers to applications and software: &lt;a href=&quot;http://www.cs.ubc.ca/~mpf/papers/mpf-tutorial-siopt11.pdf&quot; rel=&quot;nofollow&quot;&gt;http://www.cs.ubc.ca/~mpf/papers/mpf-tutorial-siopt11.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The video lectures on compressive sensing given by Emmanuel Candes at Cambridge are also a great way to get into the subject: &lt;a href=&quot;http://www.sms.cam.ac.uk/collection/1117766&quot; rel=&quot;nofollow&quot;&gt;http://www.sms.cam.ac.uk/collection/1117766&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="2956" LastActivityDate="2011-10-13T23:45:11.220" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8613" PostTypeId="2" ParentId="8022" CreationDate="2011-10-13T23:48:52.200" Score="1" Body="&lt;p&gt;It sounds like you need to make your question much more precise or pick up a good book on smooth optimization and marvel at what smoothness makes possible. See for instance &quot;Numerical Optimization&quot; by Nocedal and Wright (Springer).&lt;/p&gt;&#xA;" OwnerUserId="2956" LastActivityDate="2011-10-13T23:48:52.200" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8615" PostTypeId="1" CreationDate="2011-10-14T00:48:25.260" Score="20" ViewCount="1608" Body="&lt;p&gt;Computing the &lt;a href=&quot;http://en.wikipedia.org/wiki/Cheeger_constant_%28graph_theory%29&quot; rel=&quot;noreferrer&quot;&gt;Cheeger constant of a graph&lt;/a&gt;, also known as the isoperimetric constant&#xA;(because it is essentially a minimum area/volume ratio), is known to be NP-complete.&#xA;Generally it is approximated.  I am interested to learn if exact polynomial algorithms&#xA;are known for special classes of graphs.&#xA;For example, is it still NP-complete for &lt;a href=&quot;http://en.wikipedia.org/wiki/Regular_graph&quot; rel=&quot;noreferrer&quot;&gt;regular graphs&lt;/a&gt;?&#xA;For &lt;a href=&quot;http://en.wikipedia.org/wiki/Distance-regular_graph&quot; rel=&quot;noreferrer&quot;&gt;distance-regular graphs&lt;/a&gt;?&#xA;(I have not studied the existing NP-completeness proofs to examine their assumptions.)&#xA;Literature pointers appreciated&amp;mdash;thanks!&lt;/p&gt;&#xA;" OwnerUserId="337" LastEditorUserId="186" LastEditDate="2011-10-15T22:15:09.767" LastActivityDate="2011-10-17T16:33:44.717" Title="Computing the Cheeger constant: feasible for which classes?" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;graph-algorithms&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="8616" PostTypeId="2" ParentId="8615" CreationDate="2011-10-14T03:39:30.697" Score="11" Body="&lt;p&gt;Notice that approximating sparsest cut to within $\alpha$ gives a $2\alpha$ approximation for the Cheeger constant as defined. Here are some papers that give constant approximation algorithms for sparsest cut in restricted graphs:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Bounded genus: &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=1873619&quot; rel=&quot;nofollow&quot;&gt;http://dl.acm.org/citation.cfm?id=1873619&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Bounded treewidth: &lt;a href=&quot;http://arxiv.org/abs/1006.3970&quot; rel=&quot;nofollow&quot;&gt;http://arxiv.org/abs/1006.3970&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Furthermore, &lt;a href=&quot;http://arxiv.org/abs/1006.3970v2&quot; rel=&quot;nofollow&quot;&gt;http://arxiv.org/abs/1006.3970v2&lt;/a&gt; proves that sparsest cut is NP-hard for graphs with pathwidth 2, and has quite a few more references to approximating sparsest cut on restricted instances.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would assume that for all classes of graphs mentioned in the paper, no exact algorithms are known (as they're interested in approximations). In particular, if sparsest cut is NP-hard for graphs with pathwidth 2, it's also NP-hard for graphs of treewidth 2, and cutwidth 2. I suppose that doesn't give quite a lot of room.. maybe there is another better parameterization for sparsest cut.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am pretty sure that sparsest cut is NP-hard on regular graphs but can't find a reference.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Per noticed that I wasn't careful when I looked at the papers above. The hardness result is for nonuniform sparsest cut. Computing uniform sparsest cut or the Cheeger constant is easy on trees (WLOG the optimal cut separates a subtree). With a little more work that gives a dynamic programming algorithm for computing the Cheeger constant on bounded treewidth graphs. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Table 1 in paper 2 above also mentions a result that gives a constant approximation for graphs with an excluded minor.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For bounded genus graphs, the best that seems to be known is a constant approximation (paper 1 above gives $O(\sqrt{\log g})$ where $g$ is the genus.&lt;/p&gt;&#xA;" OwnerUserId="4896" LastEditorUserId="4896" LastEditDate="2011-10-17T14:55:30.170" LastActivityDate="2011-10-17T14:55:30.170" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="8618" PostTypeId="1" CreationDate="2011-10-14T15:37:28.533" Score="14" ViewCount="327" Body="&lt;p&gt;I know that $\mathsf{P}^{\mathsf{NP}[\log n]}$ (logarithmically many calls to the NP oracle) is equivalent to $\mathsf{P}^{\mathsf{NP}||}$ (polynomial number of parallel queries to the NP oracle). I was wondering wether the &quot;function&quot; version of these classes are also equivalent, that is, whether&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$ \mathsf{FP}^{\mathsf{NP}[\log n]} = \mathsf{FP}^{\mathsf{NP}||}$$&#xA;If it is known to be true, a pointer would be really helpful.&lt;/p&gt;&#xA;" OwnerUserId="6878" LastEditorUserId="80" LastEditDate="2011-10-14T16:46:35.130" LastActivityDate="2011-10-14T16:56:06.503" Title="$\mathsf{FP}^{\mathsf{NP}[\log n]}$ versus $\mathsf{FP}^{\mathsf{NP}||}$" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8619" PostTypeId="2" ParentId="8618" CreationDate="2011-10-14T16:47:16.160" Score="16" Body="&lt;p&gt;This is an open problem, it implies $\mathsf{NP} = \mathsf{RP}$ among other things. &#xA;See the following paper:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Alan Selman. A Taxonomy of Complexity Classes of Functions. Journal of Computer and Systems Sciences 48 (1992), pp. 357-381.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can get it here:&#xA;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.32.7438&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;nofollow&quot;&gt;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.32.7438&amp;amp;rep=rep1&amp;amp;type=pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="6579" LastEditorUserId="6579" LastEditDate="2011-10-14T16:56:06.503" LastActivityDate="2011-10-14T16:56:06.503" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="8621" PostTypeId="2" ParentId="8582" CreationDate="2011-10-15T05:12:57.010" Score="5" Body="&lt;p&gt;I also think that a very similar question has been asked before, I think first here: &lt;a href=&quot;https://mathoverflow.net/questions/27967/decidability-of-chess-on-an-infinite-board/63684&quot;&gt;https://mathoverflow.net/questions/27967/decidability-of-chess-on-an-infinite-board/63684&lt;/a&gt;&#xA;Here is my updated and modified opinion.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think the problem is not solved completely, but the answer is almost surely yes. I do not have a proof for chess, as I lack the ability to design certain configurations but I think they must exist. And even if they don't, for some chess-like game they certainly do which shows that the attempts to prove decidability should be incorrect. Later I realized that there is a very similar argument to mine here: &lt;a href=&quot;http://www.redhotpawn.com/board/showthread.php?threadid=90513&amp;amp;page=1#post_1708006&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://www.redhotpawn.com/board/showthread.php?threadid=90513&amp;amp;page=1#post_1708006&lt;/a&gt; but my proof shows that in fact two counters are enough and maybe mine is more detailed.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The reduction relies on the notion of a stack machine. A stack machine with only two stacks using a stack alphabet of only one letter can simulate any Turing-machine. (Some people would call this deterministic finite automaton with two counters.) So our goal would be to simulate any such machine with a chess position. I can see two ways for this.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;i, Build two separate configurations, such that both have a starting part and a moving part that can change (to store the state). Also, the moving parts would be connected, eg. by rooks, which could checkmate, if released, so this is why if one states moves 1, the other has to move k, and so on.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;ii, Build a single configuration, that depending on its state, moves l horizontally and -k vertically. Also, place a rook at (0,0) that would never move but could guarantee that the configuration can &quot;sense&quot; when it gets back to an empty counter.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So all left to do is to design such configurations, which I guess should be possible with some effort and knowledge of chess. Also, note that in both cases the construction uses a piece whose range is not bounded, I wonder if this is really necessary. As a first step, I proposed to give a position equivalent to the Collatz conjecture:&#xA;&lt;a href=&quot;https://mathoverflow.net/questions/64966/is-there-a-chess-position-equivalent-to-the-collatz-conjecture&quot;&gt;https://mathoverflow.net/questions/64966/is-there-a-chess-position-equivalent-to-the-collatz-conjecture&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="419" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2011-10-15T05:12:57.010" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8623" PostTypeId="1" AcceptedAnswerId="8753" CreationDate="2011-10-16T14:29:45.023" Score="16" ViewCount="983" Body="&lt;p&gt;Weak normalization for the simple typed lambda calculus can be proved (Turing) by induction on $\omega^2$. An extended lambda calculus with recursors on natural numbers (Gentzen) has a weak normalization strategy by induction on $\epsilon_0$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What about System F (or weaker)? Is there a weak normalization proof in this style? If not, can it be done at all?&lt;/p&gt;&#xA;" OwnerDisplayName="user6892" LastEditorUserId="186" LastEditDate="2011-10-16T22:48:55.807" LastActivityDate="2011-10-28T07:32:50.000" Title="Can we prove weak normalization for System F by induction on a transfinite ordinal" Tags="&lt;lo.logic&gt;&lt;type-theory&gt;&lt;lambda-calculus&gt;&lt;proof-theory&gt;&lt;normalization&gt;" AnswerCount="3" CommentCount="1" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="8624" PostTypeId="1" AcceptedAnswerId="8626" CreationDate="2011-10-16T15:17:34.940" Score="9" ViewCount="662" Body="&lt;p&gt;In the &lt;strong&gt;Max-Cut&lt;/strong&gt; problem, one seeks a subset S of vertices of a given simple undirected graph  such that the number of edges between S and the complement of S is as large as possible. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Max-Cut is APX-complete on bounded-degree graphs [PY91], and in fact APX-complete on cubic graphs (i.e. graphs of degree 3) [AK00].&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Max-Cut is NP-complete on triangle-free graphs of degree at most 3 [LY80] (triangle-free means that the input graph does not contain K_3, the complete graph on 3 vertices, as a subgraph).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question:&lt;/strong&gt; Is Max-Cut APX-complete on triangle-free graphs? (Note: arbitrary degrees allowed)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thank you.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;UPDATE:&lt;/strong&gt; An answer has been found, but I would still be interested in a reference for this result, if there is any.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;References:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[AK00] P. Alimonti and V. Kann: Some APX-completeness results for cubic graphs. Theor. Comput. Sci. 237(1-2): 123-134, 2000. doi: 10.1016/S0304-3975(98)00158-3&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[LY80] J.M. Lewis and M. Yannakakis: The Node-Deletion Problem for Hereditary Properties is NP-Complete. J. Comput. Syst. Sci. 20(2): 219-230, 1980. doi: 10.1016/0022-0000(80)90060-4&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[PY91] C.H Papadimitriou and M. Yannakakis: Optimization, Approximation, and Complexity Classes, J. Comput. System Sci., 43(3): 425-440, 1991. doi: 10.1016/0022-0000(91)90023-X&lt;/p&gt;&#xA;" OwnerUserId="1895" LastEditorUserId="1895" LastEditDate="2011-10-17T07:52:10.803" LastActivityDate="2011-10-17T07:52:10.803" Title="Is Max-Cut APX-complete on triangle-free graphs?" Tags="&lt;cc.complexity-theory&gt;&lt;approximation-algorithms&gt;&lt;approximation-hardness&gt;&lt;max-cut&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8625" PostTypeId="1" AcceptedAnswerId="8637" CreationDate="2011-10-16T15:33:09.047" Score="4" ViewCount="240" Body="&lt;p&gt;This question did not originate in my research, but I think it's interesting. It is somewhat underspecified. I'd be interested in an example in any particular case.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We have $n$ parties that between them must choose a value $x \in \mathbb{R}$. Each party has a preferred value $p_i$ for $x$, but we must find a compromise. Let's say we want the mean of the preferences.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, anybody who has been involved in politics will know that taking the middle way between &lt;em&gt;stated&lt;/em&gt; preferences can be gamed by stating a more extreme position than the actual preference, so that the mean lands closer to it. Is there a protocol that lets us find (an approximation to) the mean of the true preferences? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;As an analogy, one can take the second-price auction, where everybody is best served by bidding their true valuation.&lt;/p&gt;&#xA;" OwnerUserId="2241" LastActivityDate="2011-10-17T15:36:12.017" Title="A protocol for honest compromise" Tags="&lt;cr.crypto-security&gt;&lt;gt.game-theory&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8626" PostTypeId="2" ParentId="8624" CreationDate="2011-10-16T17:10:40.837" Score="14" Body="&lt;p&gt;Yes, by a reduction from MaxCut to triangle-free MaxCut. Here is what Wikipedia calls an &lt;a href=&quot;http://en.wikipedia.org/wiki/L-reduction&quot; rel=&quot;nofollow&quot;&gt;L-reduction&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given an instance $G$ of Max-Cut, construct the 3-stretch $G&amp;#39;$ by subdividing each edge into three edges. Then the order of the maximum cut of $G&amp;#39;$  is the order of the maximum cut of $G$ plus twice the number of edges in $G$. Since the size of a max cut is always at least half the number of edges, the error ratio only gets worse by a constant factor.&lt;/p&gt;&#xA;" OwnerUserId="636" LastActivityDate="2011-10-16T17:10:40.837" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8627" PostTypeId="1" AcceptedAnswerId="8635" CreationDate="2011-10-16T21:52:33.970" Score="7" ViewCount="411" Body="&lt;p&gt;I'm curious how one should best understand the connections between the k-connected components when $G$ has minimum cuts of size $k&amp;gt;3$, or perhaps approximate minimum cuts produced by &lt;a href=&quot;http://en.wikipedia.org/wiki/Karger%27s_algorithm&quot; rel=&quot;noreferrer&quot;&gt;Karger's algorithm&lt;/a&gt;.  &lt;a href=&quot;http://en.wikipedia.org/wiki/Triconnected_component&quot; rel=&quot;noreferrer&quot;&gt;SPQR trees&lt;/a&gt; answer this question for 2-connected graphs.  And obviously 1-connected graphs are simply a tree of their 2-connected components.&lt;/p&gt;&#xA;" OwnerUserId="6665" LastActivityDate="2011-10-17T21:43:17.990" Title="Are there nice generalizations of SPQR trees to k-connected components for k&gt;3?" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;graph-algorithms&gt;" AnswerCount="2" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8628" PostTypeId="2" ParentId="8584" CreationDate="2011-10-16T23:50:07.697" Score="2" Body="&lt;p&gt;I had posted this as a comment before, and I believe it answers user686's  modified question in the affirmative (when $i$ and $j$ are connected by an edge in a graph $G$ (no matter whether it is bipartite or not), $h(i,j)$, the expected hitting time from $i$ to $j$ satisfies $h(i,j) &amp;lt; 2m$.) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;I should also note that in its original unedited version, the question did not state that $i$ and $j$ are adjacent, so while the earlier answers are relevant to the  original question, they are not relevant to the new edited version.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $i$ and $j$ are adjacent, the commute time $C(i,j)=h(i,j)+h(j,i)=2mR(i,j)$, where $R(i,j)$ is the effective resistance between $i$ and $j$ in G, and is at most $1$ (since $i$ and $j$ are connected by an edge). This shows that $h(i,j)&amp;lt;2m$ when $i$ and $j$ are adjacent in $G$, since both $h(i,j)$ and $h(j,i)$ are strictly positive.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The identity $C(i,j) = 2mR(i,j)$ holds for arbitrary vertices $i$ and $j$.  A proof appears, for example in the &lt;a href=&quot;http://mypage.iu.edu/~rdlyons/prbtree/prbtree.html&quot; rel=&quot;nofollow&quot; title=&quot;book&quot;&gt;book&lt;/a&gt; by Lyons and Peres.&lt;/p&gt;&#xA;" OwnerUserId="6827" LastEditorUserId="6827" LastEditDate="2011-10-17T00:02:15.443" LastActivityDate="2011-10-17T00:02:15.443" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8629" PostTypeId="2" ParentId="8623" CreationDate="2011-10-17T00:39:03.987" Score="11" Body="&lt;p&gt;I think that System F corresponds to second-order arithmetic, in that the total functions from $\mathbb{N} \to \mathbb{N}$ are the same in both.(&lt;a href=&quot;http://www.monad.me.uk/stable/Proofs%2BTypes.html&quot;&gt;Proofs and Types, 15.1.3 and 15.2&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Furthermore, I think second order arithmetic is quite strong and that no constructive upper bound is yet known for its &quot;proof theoretic ordinal&quot; (&lt;a href=&quot;http://www.icm2006.org/proceedings/Vol_II/contents/ICM_Vol_2_03.pdf&quot;&gt;The art of ordinal analysis, section 3&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think this constructive ordinal bound is what is needed to do the induction you request.&lt;/p&gt;&#xA;" OwnerUserId="43" LastActivityDate="2011-10-17T00:39:03.987" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8630" PostTypeId="2" ParentId="8623" CreationDate="2011-10-17T01:16:00.003" Score="13" Body="&lt;p&gt;In a very silly way, weak normalization for any reasonable system can be proved by induction on a constructive ordinal, provided of course that weak normalization holds. Indeed, the statement that System F has weak normalization is formalizable in arithmetic as a $\Pi^0_2$ sentence, and as such is provable (since it's true) by transfinite induction along a non-natural constructive ordinal-notation of height $\omega^2$. (See &lt;a href=&quot;https://math.stackexchange.com/questions/10336/hint-on-kleenes-o&quot; title=&quot;this question&quot;&gt;this question&lt;/a&gt; on the mathematics stack exchange for how this ordering could work.) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, as jbapple mentions, we don't know of a &quot;natural&quot; ordinal notation that works. We don't even know how to define &quot;natural&quot;, but the one above isn't natural (since to see that it's well-founded we'd have to know weak normalization of System F to begin with), whereas the standard ones for $\varepsilon_0$, $\Gamma_0$, and various larger ones using ideas from large cardinal axioms, are natural.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hopefully one day someone will come up with an ordinal notation for second order arithmetic that everyone will agree is natural, and then that could be used in an honest way to prove weak normalization for System F.&lt;/p&gt;&#xA;" OwnerUserId="673" LastEditorUserId="-1" LastEditDate="2017-04-13T12:19:19.363" LastActivityDate="2011-10-17T01:16:00.003" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8631" PostTypeId="1" CreationDate="2011-10-17T09:51:28.357" Score="1" ViewCount="133" Body="&lt;p&gt;In some problem I need to find the zeroes (multiple real solutions) of some functions in 1D and 2D. I wonder which is the best parallel algorithm for this, which can provide the highest accuracy and its optimal from the computational point of view.&lt;/p&gt;&#xA;" OwnerUserId="5375" LastActivityDate="2011-10-17T09:51:28.357" Title="Optimal parallel algorithm for finding roots of a function" Tags="&lt;dc.parallel-comp&gt;&lt;na.numerical-analysis&gt;" AnswerCount="0" CommentCount="5" ClosedDate="2011-10-17T16:08:14.360" ContentLicense="CC BY-SA 3.0" />
  <row Id="8632" PostTypeId="1" CreationDate="2011-10-17T10:05:24.853" Score="10" ViewCount="682" Body="&lt;p&gt;Not sure if correct area, but here goes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Starting a PhD in Trust and Reputation Management in Communications networks (lots of graph theory, probabilistic analysis, etc), and have lots of reading ahead of me. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can anyone advise the best ways to manage academic reading and what I should be noting for literature review/progress reports, etc?&lt;/p&gt;&#xA;" OwnerUserId="4254" LastEditorUserId="186" LastEditDate="2011-10-18T13:11:55.233" LastActivityDate="2011-10-18T13:11:55.233" Title="PhD Development; Literature Review Tactics" Tags="&lt;soft-question&gt;&lt;advice-request&gt;&lt;research-practice&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="8633" PostTypeId="2" ParentId="8632" CreationDate="2011-10-17T12:28:54.393" Score="12" Body="&lt;p&gt;I'm a younger researcher so I have no personal advice, but I have found this method by Michael Nielsen quite effective.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;One unusual but very useful style was to set a goal like reading 15 papers in 3 hours. I use the term &amp;quot;reading&amp;quot; here in an unusual way. Of course, I don't mean understanding everything in the papers. Instead, I'd do something like this: for each paper, I had 12 minutes to read it. The goal was to produce a 3-point written LaTeX summary of the most important material I could extract: usually questions, open problems, results, new techniques, or connections I hadn't seen previously. When time was up, it was onto the next paper. A week later, I'd make a revision pass over the material, typically it would take an hour or so.&lt;/p&gt;&#xA;&lt;p&gt;I found this a great way of rapidly getting an overview of a field, understanding what was important, what was not, what the interesting questions were, and so on. In particular, it really helped identify the most important papers, for a deeper read.&#xA;For deeper reads of important papers or sections of books I would take days, weeks or months. Giving lectures about the material and writing LaTeX lecture notes helped a lot.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;In particular, I found his opinion on identifying useful material mirrored my own:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Most material isn't worth spending a lot of time on. It's better to spend an hour each seriously reviewing 10 quantum texts, and finding one that's good, and will repay hundreds of hours of study, than it is to spend 10 hours ploughing through the first quantum text that looks okay when you browse through it in the library. Understanding mathematics deeply takes a lot of time. That means effort spent in identifying high quality material is often repaid far more than with (say) a novel or lighter non-fiction.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;The &lt;a href=&quot;http://news.ycombinator.com/item?id=666615&quot; rel=&quot;noreferrer&quot;&gt;whole comment&lt;/a&gt; is definitely worth the read.&lt;/p&gt;&#xA;&lt;p&gt;As far as managing your materials go, I have yet to find an application as useful as &lt;a href=&quot;http://www.mekentosj.com/papers/&quot; rel=&quot;noreferrer&quot;&gt;Papers&lt;/a&gt;. It hooks into your institution's library proxy and allows you to get at licensed content quickly without VPNing in to campus. It's also great for organizing papers by topic and searching over your library via author, title, conference, etc. Unfortunately it's Mac OS X specific. I'm curious if anyone has experience with alternatives on other operating systems.&lt;/p&gt;&#xA;" OwnerUserId="2847" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2011-10-17T12:28:54.393" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="8634" PostTypeId="2" ParentId="8615" CreationDate="2011-10-17T14:52:48.293" Score="5" Body="&lt;p&gt;For exact solution in planar graphs, see &lt;a href=&quot;http://dl.acm.org/citation.cfm?doid=167088.167284&quot; rel=&quot;nofollow&quot;&gt;Park and Phillips, STOC 93&lt;/a&gt;. This is essentially for the uniform-demands sparsest-cut, with the minor difference that their denominator is |S| instead of |S|*|V-S|. As pointed out by Per, the case of non-uniform demands is different.&lt;/p&gt;&#xA;" OwnerUserId="6899" LastEditorUserId="30" LastEditDate="2011-10-17T16:33:44.717" LastActivityDate="2011-10-17T16:33:44.717" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8635" PostTypeId="2" ParentId="8627" CreationDate="2011-10-17T15:00:07.913" Score="5" Body="&lt;p&gt;For edge connectivity rather than vertex connectivity, there's always the &lt;a href=&quot;http://en.wikipedia.org/wiki/Gomory%E2%80%93Hu_tree&quot;&gt;Gomory–Hu tree&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2011-10-17T15:00:07.913" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8637" PostTypeId="2" ParentId="8625" CreationDate="2011-10-17T15:36:12.017" Score="4" Body="&lt;p&gt;There's a trivial protocol whose expected value is the correct mean: everybody announces their preference, and one is chosen at random. No player (acting alone) can do better than to announce their true preference. I haven't yet looked at the collusion-resistance of this protocol (I would guess it depends on the exact payoff functions).&lt;/p&gt;&#xA;" OwnerUserId="2241" LastActivityDate="2011-10-17T15:36:12.017" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8640" PostTypeId="1" CreationDate="2011-10-17T18:22:30.420" Score="6" ViewCount="375" Body="&lt;p&gt;What limits the current performance of genetic algorithms and neural networks?&#xA;The principles underlying these techniques, at least the popular science presentation of these principles, suggests that with enough training they could be improved&#xA;as much as desired. It seems that this is not the case though.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What are the causes for this? Why can't better results be achieved simply with &#xA;more computing power? Are there fundamental theoretical reasons for this?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I realize this is a very broad question, but I'm sure some of the people here &#xA;push against these bounds in their work, and I'd like to hear what they have to say.&lt;/p&gt;&#xA;" OwnerUserId="6901" LastEditorUserId="1761" LastEditDate="2012-10-14T15:44:42.767" LastActivityDate="2012-10-14T15:44:42.767" Title="What limits the performance of evolutionary computing techniques?" Tags="&lt;ne.neural-evol&gt;&lt;genetic-algorithms&gt;&lt;genetic-programming&gt;" AnswerCount="2" CommentCount="3" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="8641" PostTypeId="1" AcceptedAnswerId="8665" CreationDate="2011-10-17T20:27:12.030" Score="17" ViewCount="631" Body="&lt;p&gt;I'm looking for a problem which belongs to &lt;a href=&quot;http://en.wikipedia.org/wiki/Polynomial_hierarchy&quot;&gt;$\mathsf{\Sigma^P_2}$&lt;/a&gt; in general graphs but is in $\mathsf{P}$ in bounded tree width graphs, In fact I think this problems are harder than using normal dynamic programming in bounded-treewidth graphs to solve them.&lt;/p&gt;&#xA;" OwnerUserId="1846" LastEditorUserId="1846" LastEditDate="2011-10-19T07:09:22.227" LastActivityDate="2011-10-20T08:56:12.467" Title="Is there any problem in $\mathsf{\Sigma^P_2}$ which is solvable in bounded tree width graphs?" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;&lt;treewidth&gt;" AnswerCount="2" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8642" PostTypeId="2" ParentId="8627" CreationDate="2011-10-17T21:43:17.990" Score="4" Body="&lt;p&gt;Nagamochi and Ibaraki gave an algorithm to find a sparse $k$-node-connected subgraph of a given graph $G$ that contains $O(k n)$ edges where $n$ is the number of nodes in $G$. Not directly relevant perhaps but could be a useful preprocessing step.&#xA;&lt;a href=&quot;http://www.springerlink.com/content/u334lr0418n1719u/&quot; rel=&quot;nofollow&quot;&gt;http://www.springerlink.com/content/u334lr0418n1719u/&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="176" LastActivityDate="2011-10-17T21:43:17.990" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8643" PostTypeId="2" ParentId="8641" CreationDate="2011-10-17T23:05:47.140" Score="13" Body="&lt;p&gt;I think 2-clique-coloring [GT19 in &lt;a href=&quot;http://ls2-www.cs.uni-dortmund.de/lehre/winter200506/ktea/papers/phcom.ps&quot; rel=&quot;nofollow&quot;&gt;Schaefer and Umans&lt;/a&gt;] is an example. The question is whether the given graph can be (improperly) 2-colored in such a way that none of its maximal cliques are monochromatic. For graphs of bounded treewidth, each maximal clique should occur within a single bag of the tree decomposition, so it should work to use the standard dynamic programming approach in which the states of the dynamic program are 2-colorings of the bag that correctly color all maximal cliques within the bag and are consistent with good states of the child bags.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2011-10-17T23:05:47.140" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="8644" PostTypeId="1" CreationDate="2011-10-17T23:31:35.013" Score="0" ViewCount="289" Body="&lt;p&gt;I'm trying to understand [fuzzy k-modes][1] algorithm (look mainly at page 3) in order to implement it.&#xA;I'm stuck at the &lt;strong&gt;calculation of cluster centers&lt;/strong&gt; they said as shown in the link&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&quot;https://stackoverflow.com/questions/7788417/fuzzy-k-modes-clustering-how-to-find-the-cluster-centers&quot;&gt;https://stackoverflow.com/questions/7788417/fuzzy-k-modes-clustering-how-to-find-the-cluster-centers&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;I need to know whether the following is true or false and please correct me&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;In order to get the center of a cluster we need to:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;for each category in a variable calculate the sum of membership value for all the point, that the category belongs to, to this cluster&lt;/li&gt;&#xA;&lt;li&gt;the highest obtained value to be set as the category of the center&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="6904" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2011-10-18T16:14:39.257" Title="Fuzzy K-modes clustering how to find the cluster centers" Tags="&lt;approximation-algorithms&gt;&lt;machine-learning&gt;&lt;ai.artificial-intel&gt;&lt;clustering&gt;&lt;data-mining&gt;" AnswerCount="0" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="8645" PostTypeId="1" CreationDate="2011-10-18T09:08:58.310" Score="11" ViewCount="523" Body="&lt;p&gt;In &lt;a href=&quot;http://en.wikipedia.org/wiki/Distributed_revision_control&quot; rel=&quot;nofollow&quot;&gt;distributed version control&lt;/a&gt; systems (such a &lt;a href=&quot;http://mercurial.selenic.com/&quot; rel=&quot;nofollow&quot;&gt;Mercurial&lt;/a&gt; and &lt;a href=&quot;http://git-scm.com/&quot; rel=&quot;nofollow&quot;&gt;Git&lt;/a&gt;) there is a need to efficiently compare directed acyclic graphs (DAGs). I'm a Mercurial developer, and we would be very interested in hearing about theoretical work that discuss the time- and network-complexity of comparing two DAGs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The DAGs in question are formed by the revisions recorded. Revisions are uniquely identified by a hash value. Each revisions depend on zero (initial commit), one (normal commit) or more (merge commit) of the previous revisions. Here is an example where revisions &lt;code&gt;a&lt;/code&gt; to &lt;code&gt;e&lt;/code&gt; were made one after each other:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;a --- b --- c --- d --- e&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;The graph comparison comes into the picture when someone has only part of the history and wants to retrieve the missing part. Imagine I had &lt;code&gt;a&lt;/code&gt; to &lt;code&gt;c&lt;/code&gt; and made &lt;code&gt;x&lt;/code&gt; and &lt;code&gt;y&lt;/code&gt; based on &lt;code&gt;c&lt;/code&gt;:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;a --- b --- c --- x --- y&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;In Mercurial, I would do &lt;code&gt;hg pull&lt;/code&gt; and download &lt;code&gt;d&lt;/code&gt; and &lt;code&gt;e&lt;/code&gt;:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;a --- b --- c --- x --- y&#xA;              \&#xA;                d --- e&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;The goal is to identify &lt;code&gt;d&lt;/code&gt; and &lt;code&gt;e&lt;/code&gt; efficiently when the graph has many (say, more than 100,000) nodes. Efficiency concerns both&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;network complexity:&lt;/strong&gt; the number of bytes transferred and the number of network round-trips needed&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;time complexity:&lt;/strong&gt; the amount of computation done by the two servers that exchange changesets&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Typical graphs will be narrow with few parallel tracks like above. There will also typically be only a handful of leaf nodes (we call them heads in Mercurial) like &lt;code&gt;e&lt;/code&gt; and &lt;code&gt;y&lt;/code&gt; above. Finally, when a central server is used, the client will often have a couple of changesets that are not on the server, while the server can have 100+ new changesets for the clients, depending on who long ago the client last pulled from the server. An &lt;em&gt;asymmetric solution&lt;/em&gt; is preferred: a centralized server should do little computation in comparison to its clients.&lt;/p&gt;&#xA;" OwnerUserId="1033" LastEditorUserId="1033" LastEditDate="2012-01-10T13:13:50.870" LastActivityDate="2012-01-10T13:13:50.870" Title="Efficient DAG comparison over a network" Tags="&lt;cc.complexity-theory&gt;&lt;dc.distributed-comp&gt;&lt;directed-acyclic-graph&gt;" AnswerCount="3" CommentCount="1" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="8647" PostTypeId="2" ParentId="8645" CreationDate="2011-10-18T10:35:42.193" Score="0" Body="&lt;p&gt;Sounds like a two step process to me. &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;ask all clients if they have commits where the parent is c&lt;/li&gt;&#xA;&lt;li&gt;if so, find all childs of c&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;The task of 1. I think is mainly processed on the client side, and all the client need the the commit hash over the net.&lt;/p&gt;&#xA;" OwnerUserId="6908" LastActivityDate="2011-10-18T10:35:42.193" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8648" PostTypeId="2" ParentId="8640" CreationDate="2011-10-18T16:24:19.970" Score="7" Body="&lt;p&gt;I can't speak for neural networks, but the performance of a genetic algorithm is primarily limited by the difficulty of the problem and how long you're willing to run your algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What frequently happens with standard genetic algorithms is that after a certain amount of time, the solutions tend to converge to a local optimum. Genetic algorithms work by initially creating a set amount of random solutions and then combining and mutating those solutions. The best solutions are kept and the worst are thrown away. The set of solutions is referred to as the population and one iteration of the recombination, mutation, and replacing solutions is called a generation. The user will set a limit of generations to take place before the algorithm ends. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In a standard genetic algorithm, the solutions in the population tend to become very similar to each other after a number of generations (depending on the problem type and how hard the problem is). The more difficult the problem, the sooner the population tends to converge on a single or a very small number of different solutions. There are MANY different proposed solutions for this, none of which are perfect. Researchers have developed new operators for recombination, mutation, replacing solutions, as well as entire new representations for the solutions. I think it is generally accepted that the better you tune your operators and representation to maintain good diversity within the population, your algorithm will be more successful. However, this is a VERY hard problem and there is no single solution. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The most popular conferences in this area are GECCO, WCCI/CEC, and Evo*. They'd have papers on the state of the art in the field for these things.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;TL;DR - The population converges to a very small number of solutions and has a hard time breaking away from these. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm not sure if I answered your question sufficiently, but I hope this helps!&lt;/p&gt;&#xA;" OwnerUserId="6911" LastActivityDate="2011-10-18T16:24:19.970" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8649" PostTypeId="1" AcceptedAnswerId="8652" CreationDate="2011-10-18T17:09:45.803" Score="5" ViewCount="905" Body="&lt;p&gt;Let P is a poset of pairs (x, y) where (x, y) &amp;lt; (u, v) iff x &amp;lt; u and y &amp;lt; v. Let G is a DAG corresponding to poset P. Suppose I want to find some minimum vertex-disjoint path cover of G.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is known that there is a general algorithm by reduction of this problem to maximal matching. But in this case P may have some specific properties, so may be there is some algorithm for doing this faster than matching.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks in advance.&lt;/p&gt;&#xA;" OwnerUserId="6651" LastEditorUserId="186" LastEditDate="2011-10-19T19:27:30.820" LastActivityDate="2011-10-19T19:27:30.820" Title="Is there fast algorithm for finding min vertex-disjoint path cover of DAG graph of poset of pairs (x, y) where (x, y) &lt; (u, v) iff x &lt; u and y &lt; v" Tags="&lt;ds.algorithms&gt;&lt;co.combinatorics&gt;&lt;graph-algorithms&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8650" PostTypeId="1" CreationDate="2011-10-18T17:11:51.640" Score="1" ViewCount="257" Body="&lt;p&gt;Let $K$ be an ordered finite set. Consider some function $g:K^2 \rightarrow R$ such that &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$g(k1,k1&amp;#39;) + g(k2,k2&amp;#39;) \ge g(k1,k2&amp;#39;) + g(k2,k1&amp;#39;)$ &lt;/p&gt;&#xA;&#xA;&lt;p&gt;where $k1 &amp;gt; k2$ (in order A1) and $k1&amp;#39; &amp;gt; k2&amp;#39;$ (in order A2) (*)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there exists some effective algorithm which for given function can find such orders A1,A2 where the function fulfill  the property (*) or verify that such orders A1,A2 doesn't exists. &lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;REFORMULATION:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $K$ be a finite set.&#xA;Let $g\colon K^2 \rightarrow \mathbb{R}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We want to define the orders $&amp;gt;_1$ and $&amp;gt;_2$ on $K$ such that&#xA;$$s \, &amp;gt;_1 \,\, t \text{ and } x \, &amp;gt;_2 \,\, y$$ if and only if&#xA;$$g(s,x) + g(t,y) \ge g(s,y) + g(t,x).$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there an efficient algorithm to prove the existence or non-existence of the two orders?&lt;/p&gt;&#xA;" OwnerUserId="5830" LastEditorUserId="74" LastEditDate="2011-10-19T23:19:07.147" LastActivityDate="2011-10-20T01:42:22.663" Title="finding permutations which fulfills given conditions" Tags="&lt;co.combinatorics&gt;&lt;permutations&gt;" AnswerCount="1" CommentCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="8651" PostTypeId="2" ParentId="2255" CreationDate="2011-10-18T19:04:55.477" Score="2" Body="&lt;p&gt;My favorite set:  MikTex  + Eclipse/Texlipse + SumatraPDF  (all in Windows)&#xA;Set up instructions can be found here&#xA;&lt;a href=&quot;http://teakes.blogspot.com/2009/08/setting-up-texlipse-and-sumatra-pdf.html&quot; rel=&quot;nofollow&quot;&gt;http://teakes.blogspot.com/2009/08/setting-up-texlipse-and-sumatra-pdf.html&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="6059" LastActivityDate="2011-10-18T19:04:55.477" CommentCount="0" CommunityOwnedDate="2011-10-18T19:04:55.477" ContentLicense="CC BY-SA 3.0" />
  <row Id="8652" PostTypeId="2" ParentId="8649" CreationDate="2011-10-18T20:01:04.037" Score="7" Body="&lt;p&gt;So if I'm interpreting your question you have a set of points in the Euclidean plane and you want to find a decomposition of the points into as few monotone chains as possible? This is called the &quot;layers of maxima&quot; problem and it is easily solved in time O(n log n) by a plane sweep algorithm that sweeps over the points from left to right, using a binary search tree to maintain the set of intersection points of the monotone chains with the sweep line and assigning each point in sweep order greedily to the highest monotone chain that it can be assigned to. See e.g. Buchsbaum and Goodrich, &quot;Three-Dimensional Layers of Maxima&quot;, Algorithmica 2004, for a three-dimensional version that can still be solved in O(n log n) and references to earlier work on the problem.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2011-10-18T20:01:04.037" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8653" PostTypeId="2" ParentId="8640" CreationDate="2011-10-18T20:53:21.013" Score="14" Body="&lt;p&gt;To bring this to something resembling theoretical computer science: In his PNAS 2008 paper &lt;a href=&quot;http://www.cs.berkeley.edu/~christos/papers/MixabilityTheory-1.pdf&quot;&gt;A Mixability Theory of Sex in Evolution&lt;/a&gt;, Christos Papadimitriou has theorized that one limit on the power of genetic algorithms is that they do not optimize what you think they should be optimizing (the objective function you're using in the selection part of the algorithm) but rather they optimize &quot;mixability&quot; (a measure of robustness, the ability of genomes to be combined and still have a high objective function value).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, if the space of solutions that you're trying to optimize has moderately-high plateaus of pretty good but not great solutions that combine well with each other, and a few steep spikes of high quality solutions that do not combine well, you'll be stuck on the plateaus.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Papadimitriou then uses this observation to make inferences about sexual reproduction in nature, but that's getting off-topic again.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2011-10-18T20:53:21.013" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8654" PostTypeId="1" CreationDate="2011-10-19T06:12:05.477" Score="7" ViewCount="293" Body="&lt;p&gt;&lt;em&gt;Problem:&lt;/em&gt; transform an array $A$ of $n$ natural numbers (of $t$-bits) into an array $B$, which is a permutation of $\{1, ..., n\}$ with the property that, whenever $B[i] \leq B[j]$ holds, $A[i] \leq A[j]$ holds. Call this operation &quot;scaling&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For instance:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;A = 7 7 2 5 9&#xA;B = 3 4 1 2 5&#xA;B = 4 3 1 2 5 -- a second &quot;non stable&quot; possibility&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Assuming $n$ can be represented in $t$ bits, is there a way of scaling an array in place?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The time and space complexity should be as close to $O(n)$ and $O(1)$ as possible, with a $O(\log n)$ factor being probably acceptable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A. Maus, &lt;em&gt;&lt;a href=&quot;http://www.nik.no/2008/06-Maus.pdf&quot; rel=&quot;nofollow&quot;&gt;IPS, sorting by transforming an array into its own sorting&#xA;permutation with almost no space overhead&lt;/a&gt;&lt;/em&gt;, solves a related problem; but it seems that the method approaches standard bucket sorting, requiring $O(n)$ space, as $\log_2 n$ approaches $t$.&lt;/p&gt;&#xA;" OwnerUserId="5796" LastEditorUserId="5796" LastEditDate="2011-10-20T00:19:56.790" LastActivityDate="2011-10-20T00:19:56.790" Title="Algorithm to &quot;scale&quot; an array in place" Tags="&lt;ds.algorithms&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8656" PostTypeId="2" ParentId="8334" CreationDate="2011-10-19T07:43:07.317" Score="2" Body="&lt;p&gt;I think that a better way is to include the position in the key of the entries; in your example you'll have: &lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;(1,pos0)-&amp;gt;{set0}&#xA;(2,pos0)-&amp;gt;{set1}&#xA;(2,pos1)-&amp;gt;{set0}&#xA;(3,pos1)-&amp;gt;{set1}&#xA;(3,pos2)-&amp;gt;{set0}&#xA;(4,pos2)-&amp;gt;{set1}&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;When you must search for an item (an ordered set) $(n_1,n_2,...,n_{15})$, you can perform the union of the sets associated to the keys $(n_1,pos0), ..., (n_{15},pos14)$, keeping track of the number of hits for each set. From the union you can finally extract the set (or sets) with 10 or more hits.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If this is a real problem with thousands of entries, a good RDBMS (such as MySQL) will handle the data (and searches) efficiently.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you need to keep everything in memory, you can use an hash table to store the key,values $(n_i,pos_j) \rightarrow \{set_1,...,set_k\}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Addendum: your problem resembles the classical problem of efficiently storing and searching word co-occurrences using &lt;em&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Inverted_index&quot; rel=&quot;nofollow&quot;&gt;inverted indexes&lt;/a&gt;&lt;/em&gt; (&lt;em&gt;Information Retrieval&lt;/em&gt; area)&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2011-10-19T08:00:54.507" LastActivityDate="2011-10-19T08:00:54.507" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8657" PostTypeId="1" AcceptedAnswerId="8658" CreationDate="2011-10-19T11:43:12.023" Score="12" ViewCount="542" Body="&lt;p&gt;In my job the following problem arises:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a known algorithm, that approximates the chromatic number of a graph without an independent set of order 65? (So alpha(G)&amp;lt;=64 is known and |V|/64 is a trivial lower, |V| a trivial upper bound. But are there better proven approximations under this special condition?) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;What if we relax to the fractional chromatic number? And to &quot;good&quot; running times in average cases?&lt;/p&gt;&#xA;" OwnerUserId="6931" LastEditorUserId="6931" LastEditDate="2011-10-21T11:14:08.427" LastActivityDate="2011-10-21T11:14:08.427" Title="Approximate graph colouring  with a promised upper bound on maximum independent set" Tags="&lt;ds.algorithms&gt;&lt;graph-algorithms&gt;&lt;approximation-algorithms&gt;&lt;graph-colouring&gt;" AnswerCount="2" CommentCount="14" FavoriteCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8658" PostTypeId="2" ParentId="8657" CreationDate="2011-10-19T16:24:46.727" Score="12" Body="&lt;p&gt;Compute a maximum matching in the complement of the input graph. Every unmatched node must be in a different color class in any coloring. So: if you get at least cn matched edges, then the matching itself gives you a coloring with an upper bound of (1-c)n, and an approximation ratio of 64(1-c). If you don't get at least cn edges, then you get a lower bound of (1 - 2c)n colors and an approximation ratio of 1/(1-2c). Solving the equation 64(1-c) = 1/(1-2c) leads to an approximation ratio slightly larger than 32; see Sasho Nikolov's comment for the precise value.&lt;/p&gt;&#xA;" OwnerUserId="95" LastEditorUserId="95" LastEditDate="2011-10-20T01:13:43.063" LastActivityDate="2011-10-20T01:13:43.063" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8659" PostTypeId="2" ParentId="8657" CreationDate="2011-10-19T19:20:35.363" Score="5" Body="&lt;p&gt;You might be interested in the colouring number, which is 1 plus the maximum over all subgraphs $H$, of the minimum degree of $H$.  It can be computed efficiently, and is an upper bound for the chromatic number.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Colouring_number#Algorithms&quot;&gt;http://en.wikipedia.org/wiki/Colouring_number#Algorithms&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="1929" LastEditorUserId="1929" LastEditDate="2011-10-19T19:39:20.027" LastActivityDate="2011-10-19T19:39:20.027" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8661" PostTypeId="2" ParentId="8654" CreationDate="2011-10-19T23:32:51.510" Score="1" Body="&lt;p&gt;Correct me if I'm wrong, but given this is possible with O(n) time, then you can build the sorted array in O(n) time, too:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;for(i=0; i&amp;lt;n; i++) {&#xA; C[P[i]] = A[i];&#xA;}&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;If so, there's no way this can be done in O(n), since sorting is O(n.log(n)) at least.&#xA;When you take that into account, there are many O(n.log(n)) sorting algorithms, that can be easily fitted for your purpose and you can implement it this way:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;B = array(1..n);&#xA;sort(B, cmp_func);&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;where cmp_func(int a, int b) compares A[a] and A[b] instead of a and b.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Sorry for my lame pseudocode, but I think it's understandable.&lt;/p&gt;&#xA;" OwnerUserId="6938" LastActivityDate="2011-10-19T23:32:51.510" CommentCount="13" ContentLicense="CC BY-SA 3.0" />
  <row Id="8662" PostTypeId="2" ParentId="8650" CreationDate="2011-10-20T01:42:22.663" Score="4" Body="&lt;p&gt;Jukka's comment reminds me of the following reference.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we look at such a function g as a matrix, the condition is equivalent to one in the definition of a permuted inverse Monge matrix.  There is a polynomial-time algorithm to determine if a given matrix is a permuted inverse Monge matrix (and if so, that gives corresponding permutations).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The result was found by Deineko and Filonenko (1979) in their Russian paper, and it is explained (in a more general form) in the following survey by Burkard et al.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Rainer E. Burkard, Bettina Klinz, Rüdiger Rudolf: Perspectives of Monge Properties in Optimization. Discrete Applied Mathematics 70(2): 95-161 (1996) &lt;a href=&quot;http://dx.doi.org/10.1016/0166-218X(95)00103-X&quot; rel=&quot;nofollow&quot;&gt;http://dx.doi.org/10.1016/0166-218X(95)00103-X&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="2955" LastActivityDate="2011-10-20T01:42:22.663" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8663" PostTypeId="1" CreationDate="2011-10-20T03:06:26.257" Score="17" ViewCount="303" Body="&lt;p&gt;The famous result of Impagliazzo and Wigderson in '97 cemented our belief that BPP is most likely the same as P; that is, problems that can be efficiently solved with randomness can also be efficiently solved without randomness. This result was achieved by showing one could start from the assumption that there are problems in E that do not have small circuits, and obtain a universal pseudorandom generator to fool BPP algorithms. I say &quot;universal&quot;, because from one hard function (family) you obtain a single PRG that fools &lt;em&gt;all&lt;/em&gt; time-limited distinguishers. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;What if we reverse the quantifiers? Would it be any easier to show that for every BPP algorithm, there exists some efficient PRG to derandomize it? The above result of course implies it (the universal PRG is such a PRG), but it relies on the hard-to-prove assumption that E does not have small circuits. Would it be possible to have weaker assumptions to get BPP derandomization, through &quot;problem-dependent&quot; PRGs?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is somewhat like a uniform version of Adleman's BPP in P/poly theorem: assuming X, for every problem L in BPP, we can use X and L to construct a PRG that generates the &quot;superwitnesses&quot; for L.&lt;/p&gt;&#xA;" OwnerUserId="170" LastActivityDate="2011-10-20T03:06:26.257" Title="Problem-Dependent Derandomization" Tags="&lt;cc.complexity-theory&gt;&lt;derandomization&gt;&lt;pseudorandomness&gt;" AnswerCount="0" CommentCount="4" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="8664" PostTypeId="1" AcceptedAnswerId="8696" CreationDate="2011-10-20T03:10:10.530" Score="27" ViewCount="704" Body="&lt;p&gt;What is the complexity of deciding whether an $\mathsf{NC}^0$ circuit&#xA;with $n$ input bits and $n$ output bits computes  a permutation &#xA;of $\{0,1\}^n$? in the other words, whether every bit strings in &#xA;$\{0,1\}^n$ is an output of the circuit for some input?&#xA;It looks like a problem which has been studied, &#xA;but I cannot find any references.&lt;/p&gt;&#xA;" OwnerUserId="6939" LastEditorUserId="186" LastEditDate="2011-10-20T07:14:41.860" LastActivityDate="2011-10-23T10:33:19.930" Title="Deciding if a given $\mathsf{NC}^0$ circuit computes a permutation" Tags="&lt;cc.complexity-theory&gt;&lt;circuit-complexity&gt;&lt;permutations&gt;" AnswerCount="1" CommentCount="6" FavoriteCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="8665" PostTypeId="2" ParentId="8641" CreationDate="2011-10-20T08:56:12.467" Score="11" Body="&lt;p&gt;List Chromatic Number (Is it true that the graph has a vertex coloring whenever every vertex gets a list of k admissible colors?) is a $\Pi_2^P$-complete problem, but linear-time solvable on bounded-treewidth graphs:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.ii.uib.no/~daniello/papers/EqColoring.pdf&quot;&gt;http://www.ii.uib.no/~daniello/papers/EqColoring.pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="3189" LastActivityDate="2011-10-20T08:56:12.467" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8666" PostTypeId="1" AcceptedAnswerId="8667" CreationDate="2011-10-20T09:33:46.603" Score="2" ViewCount="329" Body="&lt;p&gt;I have a jigsaw type problem with 192 pieces which I am trying to find solutions to.  I have written a GA which starts from a random allocation then 'crosses' by taking rectangular blocks  from one solution then filling in from another then 'mutates' by switching pieces at random.  Through a complex procedure I can evaluate a solution and calculate a score.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have a population size of 1000 and take 40% of the first parent in the cross and mutate up to 4% of the pieces in each solution generation.  I select the parents with a weighted selection and do not allow any exact duplicates in my population.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem I am having is that the algorithm gets stuck at about 70% score, with (I assume) a population full of near identical solutions.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;What can I do to improve the performance of the algorithm, am I making any glaring mistakes?  &lt;/li&gt;&#xA;&lt;li&gt;Should I be mutating more, or directing the mutation more towards poor scoring pieces?&lt;/li&gt;&#xA;&lt;li&gt;Should I have a larger population, or run several populations in parallel and share high scoring solutions between them?&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Update&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have replaced my roulette with a tournament selection (with 4 solutions picked at random and the best selected) and implemented mutations up to 4 times on each new child in the generation.  I rearranged the process so that I cull half the population, then add some new random results then repopulate with crossovers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Unfortunately, I seem to get a marginal performance increase, but I still seem to be converging at around 70% score.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does anyone have any other ideas of things I can tweak to try and break through this barrier?&lt;/p&gt;&#xA;" OwnerUserId="6945" LastEditorUserId="6945" LastEditDate="2011-10-21T15:14:02.940" LastActivityDate="2011-10-21T15:14:02.940" Title="GA puzzle solver stuck at local maximum" Tags="&lt;ne.neural-evol&gt;&lt;genetic-algorithms&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="8667" PostTypeId="2" ParentId="8666" CreationDate="2011-10-20T09:55:44.343" Score="6" Body="&lt;p&gt;1000 individuals is typically a fairly large population, so lacking further information, you're probably fine there.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You don't say how quickly your algorithm is converging or exactly you calculate the weights for weighted selection, but if you're doing the typical roulette-wheel or fitness-proportionate selection, it's known that that method produces a large amount of selection pressure, particularly early in the run. What happens is that most early solutions are terrible, so the first mediocre thing it finds gets a much higher proportion of the total fitness than it really deserves and quickly swamps the population. The easiest way to avoid that is to use something with a more controllable selection pressure, like binary tournament selection or rank-biased selection.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For mutation, the general rule of thumb has always been to mutate each allele independently with probability 1/n. Like any heuristic, that's only a starting point, and you should let experiment guide you in making any adjustments, but if I'm understanding you correctly, you have 192 alleles, so a 4% mutation rate gives an expectation of about 8 mutations per individual, which I would guess is too high.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Or do you mean you make a single mutation to 4% of the generated offspring? If that's the case, it's probably too low. I'd start with a method that mutates every single individual by a randomly selected amount, with the expected amount being one flip. Some individuals will get two or three flips, others will not be altered at all.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The third idea, having multiple populations and sharing between them goes by the name of &quot;island model&quot; GAs, and has been known to work pretty well for some problems. However, I think in your case there are some issues with the way the underlying algorithm is working that need to be addressed before moving to a parallel model that will only make it more difficult to tease out the dynamics of what's going on.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Without more details about exactly how you're encoding your solutions, how your crossover and mutation operators work, etc., we're kind of limited to general statements such as those I just made. Feel free to post any clarifications though and I'll take another run at helping understand what might be going on.&lt;/p&gt;&#xA;" OwnerUserId="5832" LastActivityDate="2011-10-20T09:55:44.343" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8668" PostTypeId="1" CreationDate="2011-10-20T12:42:44.460" Score="2" ViewCount="2164" Body="&lt;p&gt;I want to find a solution to a system of linear inequalities of the following form&lt;/p&gt;&#xA;&#xA;&lt;p&gt;\begin{aligned}&#xA;a_1 + b &amp;amp;\ge a_2 \\\&#xA;\vdots \\\&#xA;a_4 + c &amp;amp;\ge a_1&#xA;\end{aligned}&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where $a_i \in \mathbb N \setminus \{0\}$ and $b,c \in \mathbb Z$. All inequalities consist of exactly two variables and one free factor. All $a_i$ appear as they are, and have no coefficient other than $1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The goal is to find a solution (perhaps more than one, but not necessarily), or declare the system as not having one. Such a solution would be vastly preferable to any linear programming ones.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I do remember some algorithm based on constructing a graph and then launching Floyd-Warshall algorithm could solve a similar problem, but I'm not sure.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;EDIT: Problem expansion - how can I find such a solution that the number of distinct integers in the solution is maximized (the default Bellman-Ford behavior minimizes it)&lt;/p&gt;&#xA;" OwnerUserId="6948" LastEditorUserId="21001" LastEditDate="2018-08-19T01:10:21.310" LastActivityDate="2018-08-19T01:10:21.310" Title="Solve a simple system of linear inequalities in natural numbers" Tags="&lt;ds.algorithms&gt;&lt;linear-programming&gt;&lt;integer-programming&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 4.0" />
  <row Id="8669" PostTypeId="1" AcceptedAnswerId="8673" CreationDate="2011-10-20T12:53:24.210" Score="1" ViewCount="285" Body="&lt;p&gt;Let $k$ and $S$ be fixed non-negative integers. Let us regard the following set of tuples&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\{ (x_1,\dots,x_k)| x_i \leq x_{i+1}, \sum_j x_j \leq S \}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have got some questions on this set.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Is there are name for this set? It is similiar to an arbitrary partition of an integer.&lt;/li&gt;&#xA;&lt;li&gt;Is there a nice formula that provides the number of elements in this set? It may be recursive.&lt;/li&gt;&#xA;&lt;li&gt;Is there an easy to compute index for each of the elements, such that in turn any element can be computed from the index (easily)?&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Of course, there are brute force algorithms for the last two questions. I am looking for something neater.&lt;/p&gt;&#xA;" OwnerUserId="4346" LastEditorUserId="95" LastEditDate="2011-10-20T18:00:43.230" LastActivityDate="2011-10-20T18:00:43.230" Title="Question on ascending $k$-tuples of naturals whose sum is less or equal than $S$" Tags="&lt;co.combinatorics&gt;&lt;nt.number-theory&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8671" PostTypeId="2" ParentId="8668" CreationDate="2011-10-20T16:01:06.847" Score="7" Body="&lt;p&gt;Construct a graph with one vertex per variable, and one extra vertex $s$. Make an edge from $s$ to all other vertices, of length zero. For each inequality $a_i + c \ge a_j$, make an edge of length $c$ from $a_i$ to $a_j$. Then if your graph has a negative-length cycle, your inequalities have no solution, and if it does not have a negative-length cycle then the distance from $s$ to each vertex gives a solution. You can use Floyd or Bellman–Ford or any other shortest path algorithm that can allow negative weights.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2011-10-20T16:01:06.847" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="8673" PostTypeId="2" ParentId="8669" CreationDate="2011-10-20T16:56:04.477" Score="4" Body="&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Let's add one more number $x_{k+1} = S - \sum_i{x_i}$ and assume none of the $x_i$ is zero. Now $(x_1, \ldots, x_{k+1}$) is what is called an $k+1$-part &lt;a href=&quot;http://en.wikipedia.org/wiki/Partition_%28number_theory%29&quot; rel=&quot;nofollow&quot;&gt;integer partition&lt;/a&gt; of $S$. So your tuples are integer partitions of the numbers $0, \ldots, S$ into at most $k$ parts (at most because some $x_i$ could be 0).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Counting partitions is a big topic but a recurrence is not very hard to formulate. Let $q(n,k)$ be the number of partitions of $n$ into at most $k$ parts. The number of your tuples is then $1 + \sum_{n = 1}^{S}{q(n, k)}$. For the recurrence you have two cases:&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;a) There are $k$ nonzero $x_i$. Then if you subtract one from each $x_i$ you get a partition of $n-k$ with at most $k$ parts. So there is a bijection between partitions of $n$ with exactly $k$ parts and partitions of $n-k$ with at most $k$ parts.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;b) There are less than $k$ nonzero $x_i$. The number of such tuples is $q(n, k-1)$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The recurrence you get is $q(n, k) = q(n-k, k) + q(n, k-1)$. The initial conditions are $q(0, k) = 1$ and $q(n, 0) = 0$ for $n&amp;gt;0$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As to 3., I think $q(n, k)$ is at least on the order of $n^k$ which would imply that there aren't very succinct representations.&lt;/p&gt;&#xA;" OwnerUserId="4896" LastEditorUserId="4896" LastEditDate="2011-10-20T17:36:13.740" LastActivityDate="2011-10-20T17:36:13.740" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8674" PostTypeId="1" CreationDate="2011-10-20T17:02:11.597" Score="5" ViewCount="799" Body="&lt;p&gt;I am using Floyd-Warshall(1) to compute shortest paths on a road network in order to ultimately compute &lt;a href=&quot;http://en.wikipedia.org/wiki/Betweenness#Betweenness_centrality&quot; rel=&quot;nofollow noreferrer&quot;&gt;betweenness centrality&lt;/a&gt; of road segments. At present, I am weighting the paths by metric length of road segment. I would also like to take into account angular deviation. The goal would be to favor routes that involve fewer, smaller turns (in addition to some distance weighting).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My attempts at writing a Floyd-Warshall or a Dijkstra that takes into account angle have not been working. Not sure whether this is just an implementation issue, or whether I am making a serious theoretical mistake in thinking that these types of shortest-path algorithms can take into account geometric properties like angle. The issue, I realize, is that to compute angular deviation, the algorithm will need a history of its previous path as it recurses through the network.(2)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is this possible, and if so, any suggestions for how I can go about implementing a shortest path algorithm that takes into account angular deviation?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(1) I am using &lt;a href=&quot;http://networkx.lanl.gov/reference/generated/networkx.algorithms.shortest_paths.unweighted.all_pairs_shortest_path.html#networkx.algorithms.shortest_paths.unweighted.all_pairs_shortest_path&quot; rel=&quot;nofollow noreferrer&quot;&gt;an implementation included in the NetworkX library&lt;/a&gt; (Python).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(2) I found &lt;a href=&quot;https://cstheory.stackexchange.com/questions/4853/shortest-paths-with-structured-dependence-on-earlier-path&quot;&gt;this related question&lt;/a&gt;, but I am afraid I cannot understand if it has any implications for my question.&lt;/p&gt;&#xA;" OwnerUserId="6726" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2011-10-21T01:11:00.300" Title="shortest path algorithm taking into account angular deviation" Tags="&lt;ds.algorithms&gt;&lt;graph-algorithms&gt;&lt;cg.comp-geom&gt;" AnswerCount="2" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8675" PostTypeId="2" ParentId="8674" CreationDate="2011-10-20T20:00:07.397" Score="4" Body="&lt;p&gt;My first guess would be to do a simple graph transformation and running the shortest-path algorithm on the transformed graph. This way, we could convert angular deviation between two roads into an additional shortest path cost along the path and thusly penalize paths involving heavy turns. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The conversion would go along the following lines: say, we are at some node 'n' of degree 'd'. Then, we could substitute this 'n' with a complete graph on 'd' nodes, with each node in this complete graph associated with an edge incident to 'n'. In addition, a 'u-v' edge in the complete graph would have cost proportional to the angle between the edges corresponding to 'u' and 'v'. Exactly how you set the proportion is a matter of taste: I would first try a linear function and experience with different scaling factors.&lt;/p&gt;&#xA;" OwnerUserId="6707" LastActivityDate="2011-10-20T20:00:07.397" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8676" PostTypeId="2" ParentId="8334" CreationDate="2011-10-20T21:16:21.353" Score="6" Body="&lt;p&gt;If I understand the problem correctly, this looks like an instance of the &lt;a href=&quot;http://en.wikipedia.org/wiki/Nearest_neighbor_search&quot; rel=&quot;nofollow&quot;&gt;Nearest Neighbor Search&lt;/a&gt;, under the &lt;a href=&quot;http://en.wikipedia.org/wiki/Hamming_distance&quot; rel=&quot;nofollow&quot;&gt;Hamming distance&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In other words, the &quot;distance&quot; between ordered sets is just the number of mismatched positions. The goal is to preprocess a collection (dataset) of ordered sets, each of size n, so that given a &quot;query&quot; ordered set, the data structure reports an ordered set within Hamming distance n-m. In your case, n is the dimension, and n-m is the distance. (This variant is actually called &lt;em&gt;near&lt;/em&gt; neighbor search (the &lt;em&gt;nearest&lt;/em&gt; neighbor is one where one reports the closest dataset item).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If that's the problem, then the &lt;a href=&quot;http://en.wikipedia.org/wiki/Nearest_neighbor_search&quot; rel=&quot;nofollow&quot;&gt;wiki page&lt;/a&gt; may be a good start for pointers on existing work.&lt;/p&gt;&#xA;" OwnerUserId="152" LastEditorUserId="152" LastEditDate="2011-10-21T22:15:45.070" LastActivityDate="2011-10-21T22:15:45.070" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8677" PostTypeId="1" CreationDate="2011-10-21T00:23:22.980" Score="7" ViewCount="614" Body="&lt;p&gt;I want as uniformly as possible to pick from all full shuffles such that this additional criterion applied.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, i would like to shuffle 4 decks of cards, and make sure:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any consecutive 4 cards won't come from the same deck.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Surely I can do the fisher-yates-Knuth shuffling first and then filter out bad permutations, but if the restrictions are strong (e.g. any consecutive 2 cards won't come from the same deck), there will be too many failures.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If i don't mind that if it is slightly unbiased, (of course the less bias the better), how should I do?&lt;/p&gt;&#xA;" OwnerUserId="6955" LastEditorUserId="186" LastEditDate="2011-10-21T14:54:21.200" LastActivityDate="2011-10-23T08:29:41.100" Title="How to shuffle cards with restrictions?" Tags="&lt;ds.algorithms&gt;&lt;randomized-algorithms&gt;&lt;permutations&gt;" AnswerCount="4" CommentCount="13" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8678" PostTypeId="2" ParentId="8674" CreationDate="2011-10-21T01:11:00.300" Score="4" Body="&lt;p&gt;This is not a definitive answer, just some references.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First, you might look at the &lt;a href=&quot;http://en.wikipedia.org/wiki/Constrained_Shortest_Path_First&quot; rel=&quot;nofollow&quot;&gt;constrained shortest-path first algorithm&lt;/a&gt;,&#xA;about which I know little, and which doesn't look all that sophisticated.&#xA;Second, &#xA;the paper&#xA;&quot;&lt;a href=&quot;http://dl.acm.org/citation.cfm?id=365476&amp;amp;dl=ACM&amp;amp;coll=DL&amp;amp;CFID=48724855&amp;amp;CFTOKEN=31725648&quot; rel=&quot;nofollow&quot;&gt;Polygonal path approximation with angle constraints&lt;/a&gt;,&quot;&#xA;by Danny Chen et al. (&lt;em&gt;SODA&lt;/em&gt; 2001) might be relevant. From the &lt;em&gt;Abstract&lt;/em&gt;:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;We present efficient geometric algorithms for several problems of approximating an $n$-vertex polygonal path with angle constraints in the $d$-D space for any fixed $d \ge 2$, improving significantly the corresponding graph-theoretic solutions based on known techniques. &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="337" LastActivityDate="2011-10-21T01:11:00.300" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8679" PostTypeId="1" AcceptedAnswerId="8689" CreationDate="2011-10-21T10:31:29.103" Score="18" ViewCount="683" Body="&lt;p&gt;There are a multitude of algorithms that can parse a context-free grammar in $O(n^3)$ time. Using matrix multiplication, one can even go asymptotically faster than that.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, all algorithms for parsing arbitrary CFGs I know have a worst-case space usage of $\Omega(n^2)$ (although, admittedly, I have no idea what the space usage of that matrix multiplication algorithm is). I was wondering whether there are any algorithms that improve upon this space usage (so disregarding the time bound).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The question popped up into my mind after mentally linking $CSG = NDSPACE(n) \subseteq DSPACE(n^2)$ with the $\Omega(n^2)$ space bound on all the CFG parsing algorithms I knew. It's probably of no practical interest, but merely something I'd be interested in knowing.&lt;/p&gt;&#xA;" OwnerUserId="988" LastEditorUserId="126" LastEditDate="2011-10-26T23:46:08.277" LastActivityDate="2011-10-26T23:49:08.787" Title="CFG parsing using $o(n^2)$ space" Tags="&lt;ds.algorithms&gt;&lt;fl.formal-languages&gt;&lt;space-bounded&gt;&lt;parsing&gt;&lt;context-free&gt;" AnswerCount="3" CommentCount="1" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="8680" PostTypeId="1" CreationDate="2011-10-21T11:20:29.800" Score="0" ViewCount="346" Body="&lt;p&gt;Let $S_n$ be the set of all permutations of $n$ elements. Consider the regular representation of $S_n$ in $GL(\mathbb{R}^{n!})$ by $S_n\ni \pi \rightarrow P_\pi$:  $(P_\pi)_{\sigma\tau}=1$ if $\pi \circ \tau=\sigma$ and 0 otherwise.  Let $K_n=\{\pi\in S_n \mid \pi \mbox{ is an n-cycle}\}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The &lt;a href=&quot;http://www.wisdom.weizmann.ac.il/~ranraz/publications/Plogrank.ps&quot; rel=&quot;nofollow&quot;&gt;paper&lt;/a&gt; by Raz and Spieker (see page 4) claimed that it is easy to verify that for any $\pi\in S_n$, $(\sum_{\sigma\in K_n} P_\sigma)P_\pi=P_\pi(\sum_{\sigma\in K_n} P_\sigma)$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would like to request for a pointer to the relevant facts that can be used to prove this fact. (Please note that I don't have much background on this -- I'm pretty weak at Algebra and know almost nothing about representation theory. So, any relevant facts that can be found in basic textbooks will be much appreciated.) &lt;/p&gt;&#xA;" OwnerUserId="317" LastActivityDate="2011-10-21T11:20:29.800" Title="Commutation between a permutation matrix and the sum of permutation matrices corresponding to n-cycles" Tags="&lt;algebra&gt;" AnswerCount="0" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="8683" PostTypeId="2" ParentId="8677" CreationDate="2011-10-21T15:41:03.777" Score="0" Body="&lt;p&gt;Similar to the comments on your post, why don't you shuffle the four decks then randomly pick which deck you get each card from?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you want to prevent 4 consecutive cards from the same pack, intervene in the deck selection if you have 3 already from the same deck (as @Gopi states)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you wanted to switch to a 'no two consecutive cards from the same deck', then simply remove the deck that you last pop'd from the deck selection.&lt;/p&gt;&#xA;" OwnerUserId="6945" LastActivityDate="2011-10-21T15:41:03.777" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8684" PostTypeId="2" ParentId="8679" CreationDate="2011-10-21T17:42:09.137" Score="8" Body="&lt;p&gt;&lt;em&gt;Deterministic&lt;/em&gt; CFL’s can be parsed in space $O(\log^2 n)$ and polynomial time (i.e., in $\mathrm{SC}^2$). This is an old result of &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=804426&quot; rel=&quot;nofollow&quot;&gt;Cook&lt;/a&gt;. It is an open problem whether nondeterministic CFL’s are also in SC (but this does not say anything about the existence of, say, linear space algorithms).&lt;/p&gt;&#xA;" OwnerUserId="6959" LastActivityDate="2011-10-21T17:42:09.137" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8685" PostTypeId="2" ParentId="8679" CreationDate="2011-10-21T18:12:59.783" Score="13" Body="&lt;p&gt;Any context free language can be described by a grammar in Chomsky Normal Form, and then recognized by a nondeterministic algorithm that uses $O(\log^2 n)$ bits of memory: just guess the top-level production ($O(1)$ bits) and the breakpoint in the input string between the two substrings matched by the two sides of the production ($O(\log n)$ bits), recurse on the smaller side, and then continue non-recursively on the larger side.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By Savitch's theorem, it follows that the problem can be solved deterministically with $O(\log^4 n)$ bits of memory. The algorithm resulting from this technique would likely be quite inefficient, however.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2011-10-21T18:12:59.783" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8686" PostTypeId="1" CreationDate="2011-10-21T19:29:21.190" Score="7" ViewCount="484" Body="&lt;p&gt;&lt;strong&gt;optimization problem&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Input&lt;/strong&gt;: a 3-connected cubic planar graph&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;feasible solution&lt;/strong&gt;: A simple path&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;measure to optimize&lt;/strong&gt;: length of the simple path&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a constant approximation algorithm for this problem?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The Hamiltonian circuit problem on 3-connected cubic planar graphs is NP-Complete &lt;a href=&quot;http://www.cs.princeton.edu/courses/archive/spr04/cos423/handouts/the%20planar%20hamiltonian.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;in this paper&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A &lt;a href=&quot;https://cstheory.stackexchange.com/questions/674/best-bounds-for-the-longest-path-optimization-problem-in-cubic-hamiltonian-graph&quot;&gt;relevant question about for cubic Hamiltonian graph&lt;/a&gt; shows that there is no constant approximation algorithm for longest path on cubic graphs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm also interested in the version where the input is a maximal planar graph.&lt;/p&gt;&#xA;" OwnerUserId="314" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2011-10-21T19:29:21.190" Title="Is there a constant approximation algorithm for longest path for 3-connected cubic planar graphs or maximal planar graph?" Tags="&lt;graph-algorithms&gt;&lt;approximation-hardness&gt;" AnswerCount="0" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="8687" PostTypeId="2" ParentId="8677" CreationDate="2011-10-21T22:23:44.800" Score="8" Body="&lt;p&gt;One way of doing this is to, at each step, draw a random card from all the remaining decks that satisfy the constraints. I would suggest doing this by shuffling all the decks, and then taking the top card from one of the legal decks, picking a deck with probability proportional to the number of cards left in it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This has the advantages that (a) in the case of no restriction, it is essentially Fisher-Yates-Knuth shuffling, and so gives a completely uniform permutation, and (b) since it favors decks with more cards, it leaves you with a reasonable chance of not ending with a bunch of cards in just one deck.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I suspect this is a reasonably good algorithm to use in practice, depending on what you want it for. However, it is not equivalent to the process of picking a uniform shuffle that satisfies the constraints, as I argue below. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose you just have two decks, and you have $n/2$ cards in each deck for some large $n$. This question is equivalent to choosing a random way of tiling a length $n$ strip with alternating black or white tiles of length either $1$ or $2$, with the constraint that you have an equal area of black and white. We'll forget both the factor of two that comes from the fact that you can start with either a black or a white tile, and the restriction of equal areas of black and white, since for large $n$ these will contribute lower-order terms. The number of ways of tiling this strip is the $n$&lt;sup&gt;th&lt;/sup&gt; Fibonacci number $F_n$, and the ratio of tiles of length $1$ to those of length $2$ is the golden ratio $\phi=\frac{\sqrt{5}+1}{2}$. You can see this because the last tile is either of length $1$ or length $2$, and for a length $1$ tile, there are $F_{n-1}$ ways of tiling the remaining strip, while for a length $2$ tile, there are $F_{n-2}$ ways. The ratio of the two lengths for the tile ending at position $n$ is thus $F_{n-1}/F_{n-2}$, which converges to $\phi$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The process I sketched above, of choosing a random card from a legal deck, gives $1$ for this ratio of the number of runs of length $1$ do those of length $2$&amp;mdash;a white card will be followed with equal probability by a white one (making a run of length $2$) or a black one (making a run of length $1$). Thus, it doesn't yield a uniform distribution among shuffles.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;ADDED :&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here's an idea that will probably come pretty close to a uniform distribution over all allowed shuffles, although I can't analyze it. Suppose you just have two decks. Start by shuffling each deck. Choose a deck, say A, randomly to start the procedure. Take one card from deck A with probability $1/\phi$ and two cards from deck A with probability $1/\phi^2$. Then do the same for deck B. Keep this up, but adjust the probabilities so that the probability of one card from a deck is $1/\phi \pm \epsilon$, where $\epsilon$ is chosen so that you expect to exhaust the two decks at the same time. For more than two decks, or a restriction to no more than $k$ cards from each deck, you can use the same strategy, but you will have to figure out what the appropriate probabilities for choosing each allowed number of cards in the uniform distribution over allowed shuffles.&lt;/p&gt;&#xA;" OwnerUserId="1677" LastEditorUserId="1677" LastEditDate="2011-10-22T22:58:16.467" LastActivityDate="2011-10-22T22:58:16.467" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8688" PostTypeId="1" CreationDate="2011-10-21T22:38:50.657" Score="13" ViewCount="327" Body="&lt;p&gt;Let a square $n\times n$ real matrix ${\bf A}$ and two vectors ${\bf x}$ and ${\bf b}$ of length $n$, such that $${\bf A}{\bf x}={\bf b}.$$&#xA;Solving for ${\bf x}$ through standard Gaussian Elimination yields an aggregate complexity of almost $O(n^3)$.&#xA;However, there are cases where solving (or $\epsilon$-approximately solving) for ${\bf x}$ costs $O(n\log^\rho n)$, such as systems where ${\bf A}$ is a symmetric and diagonally dominant matrix (e.g., a Laplacian) [1].&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Which other families of linear systems (i.e., matrices) admit linear (or nontrivial poly(n)) time solutions? &#xA;If we consider finite fields instead of real matrices, are there any families of matrices there that admit nearly linear time solutions?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] &lt;a href=&quot;http://www.cs.yale.edu/homes/spielman/Research/linsolve.html&quot;&gt;http://www.cs.yale.edu/homes/spielman/Research/linsolve.html&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="6963" LastActivityDate="2011-10-24T09:54:44.667" Title="Cases of nearly linear time solvable linear systems" Tags="&lt;cc.complexity-theory&gt;&lt;linear-algebra&gt;&lt;matrices&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8689" PostTypeId="2" ParentId="8679" CreationDate="2011-10-22T03:49:40.447" Score="14" Body="&lt;p&gt;The first half of this answer is nothing more than an efficient ($\log^4(n)$ to $\log^2(n)$) rephrasing of David's answer in complexity theoretic terms.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Context free languages live in the complexity class $LOGCFL.$ This class is equivalently characterized by log depth &lt;a href=&quot;http://www.cc.gatech.edu/fac/H.Venkateswaran/pubs/sulogcfl.ps&quot; rel=&quot;nofollow&quot;&gt;semi-unbounded circuits.&lt;/a&gt; These are polynomial sized circuits wherein OR gates have unbounded fan-in and AND gates have bounded fan-in (say 2). By increasing depth by a log factor, we can replace every unbounded fan-in OR gate with bounded fan-in ORs. This put the problem in $NC^2.$ It is not difficult to see how $NC^2$ can be evaluated by a $DSPACE(\log^2(n))$ by say a depth first search that maintains the left/right sequence of children at the gates explored thus far. The result goes back to the Lewis-Hartmanis paper. And while this improves David's space bound,  this can take $n^{\log n}$ time. We do not know any better.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The traditional way to understand time space tradeoff is to use pebble games. There have been a few papers on CYK; a more recent attempt is in the first part of this &lt;a href=&quot;http://www.thi.informatik.uni-frankfurt.de/~weinard/Presentations/TimeSpace.pdf&quot; rel=&quot;nofollow&quot;&gt;presentation&lt;/a&gt;. Here it is shown that (a) linear space can be achieved at exponential time and (b) if time is restricted to $O(n^2)$, then CYK would use at least $n^2$ space. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Certainly a very interesting problem worthy of a look.&lt;/p&gt;&#xA;" OwnerUserId="1449" LastEditorUserId="95" LastEditDate="2011-10-26T23:49:08.787" LastActivityDate="2011-10-26T23:49:08.787" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8690" PostTypeId="2" ParentId="8677" CreationDate="2011-10-22T10:53:31.290" Score="0" Body="&lt;p&gt;Shuffle all 4 decks into a single stack (keep record from which deck a card comes). Start from top and check your constraints until you find a card that breaks them. Try to insert that card at the top position, then second and so on up to the original position until you find a proper place for it. If there's no such position, put the card at the end of the stack. Repeat with next card.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Remark: If a card at position &lt;em&gt;p&lt;/em&gt; breaks the constraints and cannot be placed at any position 1 ... &lt;em&gt;p&lt;/em&gt;, it's put at the end of the stack. If it's later re-checked, it either fits&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;at the new position &lt;em&gt;p'&lt;/em&gt;&lt;/li&gt;&#xA;&lt;li&gt;at a postion 1 .. &lt;em&gt;p&lt;/em&gt;, if other cards have been inserted in the meantime&lt;/li&gt;&#xA;&lt;li&gt;at a position &lt;em&gt;p&lt;/em&gt; ... &lt;em&gt;p'&lt;/em&gt;&lt;/li&gt;&#xA;&lt;li&gt;or will be put at the end of the stack again&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I've no proof that this algorithm terminates (it depends on the exact restrictions), but for &quot;no four (two) consecutive cards from the same deck&quot; it should, as you cannot arrange 4 decks minus one card in such a way that the final card cannot be placed at any position. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT: this algorithm has turned out to be wrong, see discussion below.   &lt;/p&gt;&#xA;" OwnerUserId="6966" LastEditorUserId="6966" LastEditDate="2011-10-23T08:29:41.100" LastActivityDate="2011-10-23T08:29:41.100" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="8692" PostTypeId="2" ParentId="8645" CreationDate="2011-10-22T15:58:30.387" Score="13" Body="&lt;p&gt;In this context, the graph nodes have some sort of unique identifier (a hash or checksum), right? So you don't need to do any kind of subgraph isomorphism testing, you just need a list of the nodes that differ between your two versions, and the edges aren't really useful at all for this step. My SIGCOMM 2011 paper &quot;&lt;a href=&quot;http://www.ics.uci.edu/~eppstein/pubs/EppGooUye-SIGCOMM-11.pdf&quot; rel=&quot;nofollow&quot;&gt;What's the difference? Efficient set reconciliation without prior context&lt;/a&gt;&quot; (with Goodrich, Uyeda, and Varghese) considers exactly this problem: it turns out that you can determine the identities of the nodes that are held by one but not both of the two communicating servers, using an amount of communication that is proportional only to the number of changed nodes and using only a single round-trip. Once you have that information, it's easy to pull the changes themselves in a second round-trip, again with optimal communication.&lt;/p&gt;&#xA;" OwnerUserId="95" LastEditorUserId="95" LastEditDate="2011-10-28T22:09:35.810" LastActivityDate="2011-10-28T22:09:35.810" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="8694" PostTypeId="1" AcceptedAnswerId="8745" CreationDate="2011-10-22T18:12:05.010" Score="9" ViewCount="800" Body="&lt;p&gt;Unique SAT ={$\phi$| $\phi$ has unique satisfying assignment } represents an important class of computational problems. I recall reading that P=NP iff Unique SAT is in P (I don't remember where I read it. Notice that Unique SAT is CoNP-hard and Unique SAT= SAT\ Double SAT where Double Sat={$\phi$| $\phi$ has two or more satisfying assignments}) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm looking  for an efficiently computable function $f(s_n)= \phi$  such that formula $\phi$ is uniquely satisfied by assignment $s_n$ where $n$ is the number of variables.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, Can $f$ be made a bijection?   &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit 1: Input is a binary string $s_n$, output is a 3SAT formula in CNF.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Basically, I'm looking for an efficient algorithm that computes $f$. Ideally, such algorithm would allows us to construct hard instances for Unique SAT.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT 2: I'm seeking an algorithm that is able to generate all uniquely staisfiable instances not just the easy cases given so far.&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2011-10-25T11:38:11.853" LastActivityDate="2020-11-25T15:09:53.557" Title="Constructing uniquely satisfiable formulas" Tags="&lt;cc.complexity-theory&gt;&lt;unique-solution&gt;" AnswerCount="2" CommentCount="12" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="8696" PostTypeId="2" ParentId="8664" CreationDate="2011-10-22T22:41:20.823" Score="29" Body="&lt;h3&gt;Hardness&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;Following your comment on the question, we will call a circuit where each output bit depends on at most &lt;i&gt;k&lt;/i&gt; input bits a “NC&lt;sup&gt;0&lt;/sup&gt;&lt;sub&gt;&lt;i&gt;k&lt;/i&gt;&lt;/sub&gt; circuit.”  Using this term, your problem is coNP-complete in case of NC&lt;sup&gt;0&lt;/sup&gt;&lt;sub&gt;5&lt;/sub&gt; circuits.  That is, the following problem is coNP-complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Instance&lt;/em&gt;: A Boolean circuit &lt;i&gt;C&lt;/i&gt; with &lt;i&gt;n&lt;/i&gt; input bits and &lt;i&gt;n&lt;/i&gt; output bits where each output bit depends on at most five input bits.&lt;br&gt;&#xA;&lt;em&gt;Question&lt;/em&gt;: Is the mapping from {0,1}&lt;sup&gt;&lt;i&gt;n&lt;/i&gt;&lt;/sup&gt; to itself computed by &lt;i&gt;C&lt;/i&gt; bijective?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As Kaveh commented, it is clearly in coNP, even without the bound on the number of input bits on which each output bit depends.  To prove the coNP-hardness, we will reduce 3SAT to the complement of the current problem.  The key idea of the reduction is the same as the one used in the paper [Dur94] by Durand, which I mentioned in a comment on the question, but the whole reduction is much simpler in our case.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a 3CNF formula &lt;i&gt;φ&lt;/i&gt; with &lt;i&gt;n&lt;/i&gt; variables and &lt;i&gt;m&lt;/i&gt; clauses, we construct a Boolean circuit &lt;i&gt;C&lt;/i&gt; with (&lt;i&gt;n&lt;/i&gt;+&lt;i&gt;m&lt;/i&gt;) input bits and (&lt;i&gt;n&lt;/i&gt;+&lt;i&gt;m&lt;/i&gt;) output bits as follows.  We label the input bits as &lt;i&gt;x&lt;/i&gt;&lt;sub&gt;1&lt;/sub&gt;, …, &lt;i&gt;x&lt;/i&gt;&lt;sub&gt;&lt;i&gt;n&lt;/i&gt;&lt;/sub&gt;, &lt;i&gt;y&lt;/i&gt;&lt;sub&gt;1&lt;/sub&gt;, …, &lt;i&gt;y&lt;/i&gt;&lt;sub&gt;&lt;i&gt;m&lt;/i&gt;&lt;/sub&gt;, and the output bits as &lt;i&gt;x&lt;/i&gt;′&lt;sub&gt;1&lt;/sub&gt;, …, &lt;i&gt;x&lt;/i&gt;′&lt;sub&gt;&lt;i&gt;n&lt;/i&gt;&lt;/sub&gt;, &lt;i&gt;z&lt;/i&gt;&lt;sub&gt;1&lt;/sub&gt;, …, &lt;i&gt;z&lt;/i&gt;&lt;sub&gt;&lt;i&gt;m&lt;/i&gt;&lt;/sub&gt;.  We consider that the input bits &lt;i&gt;x&lt;/i&gt;&lt;sub&gt;1&lt;/sub&gt;, …, &lt;i&gt;x&lt;/i&gt;&lt;sub&gt;&lt;i&gt;n&lt;/i&gt;&lt;/sub&gt; specify a truth assignment to the &lt;i&gt;n&lt;/i&gt; variables in &lt;i&gt;φ&lt;/i&gt;.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;i&gt;x&lt;/i&gt;′&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt; = &lt;i&gt;x&lt;/i&gt;&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt; for 1≤&lt;i&gt;i&lt;/i&gt;≤&lt;i&gt;n&lt;/i&gt;.  That is, the first &lt;i&gt;n&lt;/i&gt; bits of input are always copied to the first &lt;i&gt;n&lt;/i&gt; bits of output.&lt;/li&gt;&#xA;&lt;li&gt;For 1≤&lt;i&gt;i&lt;/i&gt;≤&lt;i&gt;m&lt;/i&gt;, if the &lt;i&gt;i&lt;/i&gt;th clause of &lt;i&gt;φ&lt;/i&gt; is satisfied, then &lt;i&gt;z&lt;/i&gt;&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt; = &lt;i&gt;y&lt;/i&gt;&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt; ⊕ &lt;i&gt;y&lt;/i&gt;&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;+1&lt;/sub&gt;, where the subscript is interpreted modulo &lt;i&gt;m&lt;/i&gt;.  Otherwise, &lt;i&gt;z&lt;/i&gt;&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt; = &lt;i&gt;y&lt;/i&gt;&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt;.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Note that each output bit depends on at most five input bits.  I omit the proof of the correctness of the reduction, but the key idea (which I borrowed from [Dur94]) is that if &lt;i&gt;φ&lt;/i&gt; is satisfiable and input bits &lt;i&gt;x&lt;/i&gt;&lt;sub&gt;1&lt;/sub&gt;, …, &lt;i&gt;x&lt;/i&gt;&lt;sub&gt;&lt;i&gt;n&lt;/i&gt;&lt;/sub&gt; are set to a satisfying assignment of &lt;i&gt;φ&lt;/i&gt;, then the &lt;i&gt;m&lt;/i&gt; output bits &lt;i&gt;z&lt;/i&gt;&lt;sub&gt;1&lt;/sub&gt;, …, &lt;i&gt;z&lt;/i&gt;&lt;sub&gt;&lt;i&gt;m&lt;/i&gt;&lt;/sub&gt; are constrained to have the even parity, and therefore the circuit cannot be a permutation.  On the other hand, if input bits &lt;i&gt;x&lt;/i&gt;&lt;sub&gt;1&lt;/sub&gt;, …, &lt;i&gt;x&lt;/i&gt;&lt;sub&gt;&lt;i&gt;n&lt;/i&gt;&lt;/sub&gt; are set to a non-satisfying assignment of &lt;i&gt;φ&lt;/i&gt;, then output bits &lt;i&gt;z&lt;/i&gt;&lt;sub&gt;1&lt;/sub&gt;, …, &lt;i&gt;z&lt;/i&gt;&lt;sub&gt;&lt;i&gt;m&lt;/i&gt;&lt;/sub&gt; can be set to anything; because of this, if &lt;i&gt;φ&lt;/i&gt; is unsatisfiable, then the circuit is a permutation.&lt;/p&gt;&#xA;&#xA;&lt;h3&gt;Tractability&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;On the tractable side, your problem is in P in case of NC&lt;sup&gt;0&lt;/sup&gt;&lt;sub&gt;2&lt;/sub&gt; circuits.  This is shown as follows.  In general, each output bit in a Boolean circuit for a permutation is &lt;em&gt;balanced&lt;/em&gt;; i.e., exactly half of the input strings set the output bit to 1.  However, every balanced Boolean function from {0,1}&lt;sup&gt;2&lt;/sup&gt; to {0,1} is &lt;em&gt;affine&lt;/em&gt;; i.e., a copy of a single input bit, the XOR of the two input bits, or the negation of them.  Therefore, we can first check that each output bit is balanced, and then check the bijectivity by the Gaussian elimination.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I do not know the complexity in case of NC&lt;sup&gt;0&lt;/sup&gt;&lt;sub&gt;3&lt;/sub&gt; circuits or in case of NC&lt;sup&gt;0&lt;/sup&gt;&lt;sub&gt;4&lt;/sub&gt; circuits.&lt;/p&gt;&#xA;&#xA;&lt;h3&gt;References&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;[Dur94] Bruno Durand.  Inversion of 2D cellular automata: some complexity results.  &lt;em&gt;Theoretical Computer Science&lt;/em&gt;, 134(2):387–401, Nov. 1994.  DOI: &lt;a href=&quot;http://dx.doi.org/10.1016/0304-3975%2894%2990244-5&quot;&gt;10.1016/0304-3975(94)90244-5&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="567" LastEditorUserId="567" LastEditDate="2011-10-23T10:33:19.930" LastActivityDate="2011-10-23T10:33:19.930" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8697" PostTypeId="1" AcceptedAnswerId="8722" CreationDate="2011-10-23T04:00:44.557" Score="6" ViewCount="366" Body="&lt;p&gt;&lt;a href=&quot;http://docs.google.com/viewer?a=v&amp;amp;q=cache:61_VK-TyWYAJ%3awww.wisdom.weizmann.ac.il/~naor/COURSE/fc0607_lect15.ppt+Minicrypt+vs.+Cryptomania&amp;amp;hl=en&amp;amp;gl=us&amp;amp;pid=bl&amp;amp;srcid=ADGEESicC_D4w1Inpd1YY3xYMH88rsjGO271hkXpBUwEQl4UwGNUKyfrsH05-buJ26lXOfmmr8iPn-zUukXRJcx9JZofdW0RuKcREIQxkvbLlEk3eQUoRuXc78AAZ8bp69upxA9upT1I&amp;amp;sig=AHIEtbTdE6LL68JHSUFPiENP-AxjMxt94A&quot;&gt;Page 38&lt;/a&gt; says that Key Exchange implies the existence of one-way functions.&#xA;&lt;br&gt;&lt;br&gt;&#xA;When I try to work out the proof myself, I get that in the hypothetical case&#xA;&lt;br&gt;&#xA;where there is Key Exchange but no one-way functions, an eavesdropper &#xA;&lt;br&gt;&#xA;would have a non-negligible probability of obtaining a random bits that would&#xA;&lt;br&gt;&#xA;have produced that communication actually observed, and then I get stuck.&#xA;&lt;br&gt;&#xA;As far as I can see, it could be that when the eavesdropper finds such bits,&#xA;&lt;br&gt;&#xA;the probability that the bits found would give the same key as&#xA;&lt;br&gt;&#xA;the parties get from the random bits actually used is negligible.&#xA;&lt;br&gt;&lt;br&gt;&lt;br&gt;&#xA;Does the existence of a secure Key Exchange protocol imply the existence of one-way functions?&#xA;&lt;br&gt;&#xA;If yes, how is that proven?&#xA;&lt;br&gt;&lt;br&gt;&lt;/p&gt;&#xA;" OwnerDisplayName="user6973" LastEditorUserId="186" LastEditDate="2011-10-23T15:46:57.177" LastActivityDate="2011-10-24T21:46:38.647" Title="How is it proven that Key Exchange implies OWFs?" Tags="&lt;cr.crypto-security&gt;&lt;one-way-function&gt;&lt;key-exchange&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8698" PostTypeId="2" ParentId="8677" CreationDate="2011-10-23T07:42:29.603" Score="5" Body="&lt;p&gt;Filter first — find sequences of $4\times 52$ symbols from the alphabet $abcd$ with 52 copies of each letter and no four consecutive copies of the same letter — then randomly shuffle each deck and use your preselected filter to select the order to interleave the decks.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's not hard to set up a recurrence in four variables for the number of valid sequences with $x_a$ $a$'s, $x_b$ $b$'s, etc. Once you've done that you can build your sequence of $abcd$ letters one letter at a time — once you've picked some letters, the next letter should be chosen with probability proportional to the number of valid sequences of the remaining letters that start with that letter. In this way, you'll get exactly a uniform distribution on all permutations. But this approach takes something like $52^4$ time to compute the recurrence values; probably it's possible to do some combinatorics and find a way to simplify this part of the computation.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2011-10-23T07:42:29.603" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="8699" PostTypeId="1" CreationDate="2011-10-23T09:30:02.163" Score="10" ViewCount="715" Body="&lt;p&gt;I have 400 balls, in which 100 are red, 40 are yellow, 50 are green, 60 are blue, 70 are purple, 80 are black. (balls of the same colour are identical)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;i need an efficient shuffling algorithm, so that after shuffling, balls are in a list, and&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any consecutive 3 balls are not of the same colour. e.g, i can not have &quot;red, red, red, yellow....&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;And, all permutation are &quot;equally&quot; likely to occur. (well, if the trade-off of efficiency vs. unbiasedness is good enough, i don't mind more efficiency than unbiasedness).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;i tried to adapt Fisher-Yates-Knuth, but the outcome is not ideal.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Why Fisher-Yates not good enough? As FY adopts Monte Carlo inverse transformation. And the output distribution treats the same colour balls differently, i.e. it would generate biased result for my needs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;And, the Naive thinking would be to filter out / backtracking all bad permutations from the whole space. When the restriction is very strong, say, if we have only 300 balls and 100 of which are red, then there will be too many back tracking/failures before getting an appropriate permutation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, ultimately, I would wish to be able to iterate through all good permutations. However, because the number of valid permutations is too large, i can only randomly sample some of them. I wanna the statistical feature of the &quot;some&quot; of them resemble the population as much as possible.&lt;/p&gt;&#xA;" OwnerUserId="6955" LastActivityDate="2018-07-24T10:14:54.343" Title="How to shuffle colour balls?" Tags="&lt;ds.algorithms&gt;&lt;randomized-algorithms&gt;&lt;permutations&gt;" AnswerCount="2" CommentCount="9" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8701" PostTypeId="1" AcceptedAnswerId="8719" CreationDate="2011-10-23T16:10:08.940" Score="1" ViewCount="264" Body="&lt;p&gt;I posted already &lt;a href=&quot;https://stackoverflow.com/questions/7805260/best-parallel-method-for-calculating-the-integral-of-a-2d-function&quot;&gt;this question&lt;/a&gt; to SO but got no answer so I try it now here:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In some crunching number program, I have a function which can be just 1 or 0 in three dimensions. I do not know in advance the function, but I need to know the total &quot;surface&quot; of the function which is equal to zero. In a similar problem I could draw a rectangle over the 2D representation of the map of United Kingdom. The function is equal to 0 at sea, and 1 at the earth. I need to know the total water surface. I wonder what is the best parallel algorithm or method for doing this.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I thought first about the following approach; a) divide 2D map area into a rectangular grid. For each point that belongs to the center of each cell, check whether it is earth of water. This can be done in parallel. At the end of the procedure I will have a matrix with ones and zeroes. I will get the area with some precision. Now I want to increase this precision, so b) choose the cells that are in the border regions between zeroes and ones (what is the best criterion for doing this?) and in those cells, divide them again into successive cells and repeat the process until one gets the desired accuracy. I guess that in this process, the critical parameters are the grid size for each new stage, and how to store and check the cells that belong to the border area. Finally the most optimal method, from the computational point of view, is the one that performs the minimal number of checks in order to get the value of the total surface with the desired accuracy.&lt;/p&gt;&#xA;" OwnerUserId="5375" LastEditorUserId="-1" LastEditDate="2017-05-23T12:40:09.333" LastActivityDate="2011-10-24T19:35:09.763" Title="Most optimal parallel method for calculating the integral of a 2D function" Tags="&lt;dc.parallel-comp&gt;&lt;na.numerical-analysis&gt;&lt;integer-lattice&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="8702" PostTypeId="2" ParentId="8694" CreationDate="2011-10-23T18:41:43.350" Score="8" Body="&lt;p&gt;I'm not sure that I understand your question. The way I understand it leads to the following construction which is an invertible function from $\{0,1\}^n$ to 3CNFs:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Input&lt;/strong&gt;: $x \in \{0,1\}^n$ ($x$ is indexed from 0 to $n-1$)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Output&lt;/strong&gt;: a 3CNF with $\frac{7}{3}n$ clauses (assume 3 divides $n$)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For $0 \leq i &amp;lt; n/3$ pick input variables $x_{3i},x_{3i+1},x_{3i+2}$ and add to the final formula the seven clauses on these three variables which are satisfied by the input.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The output 3CNF is clearly satisfiable only by the assignment.  This procedure is well defined for every input and it is invertible.  Unfortunately these formulas are easy to recognize, so they are easy to solve.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another RANDOM process is to add to the formula random clauses among the ones which are not falsified by the given assignment. The formula will stay satisfiable, but no other assignment will satisfy it if you add many generated clauses (I guess $100n$ would be more than enough).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Formulas generated in this way are usually hard to distinguish from purely random  3CNFs with a similar clause/variables ratio (which are unsatisfiable with high probability).&lt;/p&gt;&#xA;" OwnerUserId="267" LastActivityDate="2011-10-23T18:41:43.350" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="8703" PostTypeId="1" CreationDate="2011-10-23T18:53:27.597" Score="19" ViewCount="1999" Body="&lt;p&gt;Let $G$ be an unweighted undirected graph with $n$ vertices and $m$ edges. Is it possible to preprocess $G$ and produce a data structure of size $m \cdot \mathrm{polylog}(n)$ so that it can answer queries of the form &quot;distance between $u$ and $v$&quot; in time O(n)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem seems too basic to be unsolved.&lt;/p&gt;&#xA;" OwnerUserId="141" LastEditorUserId="141" LastEditDate="2011-10-23T20:29:28.587" LastActivityDate="2011-12-25T00:33:16.810" Title="Data structure for shortest paths" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;ds.data-structures&gt;" AnswerCount="2" CommentCount="4" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="8704" PostTypeId="1" AcceptedAnswerId="8708" CreationDate="2011-10-23T19:43:04.903" Score="-6" ViewCount="207" Body="&lt;p&gt;What truely classifies a AI? IN science fiction they are thes super smart programs that usually try taking over the world. In the programming world i hear about AI for enemies in games or stuff along those lines. Would a program that comprehends Natural language be considered a AI?&lt;/p&gt;&#xA;" OwnerUserId="6970" LastEditorUserId="6970" LastEditDate="2011-10-23T20:07:31.317" LastActivityDate="2011-10-23T21:22:13.963" Title="AI or not an AI" Tags="&lt;ai.artificial-intel&gt;" AnswerCount="1" CommentCount="6" ClosedDate="2012-03-21T04:12:31.223" ContentLicense="CC BY-SA 3.0" />
  <row Id="8706" PostTypeId="2" ParentId="8703" CreationDate="2011-10-23T20:32:05.610" Score="4" Body="&lt;p&gt;What you need is called a &quot;distance oracle&quot;. Unfortunately, I am not very familiar with distance oracles, so I can only refer you to the seminal paper due to Thorup and Zwick:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Mikkel Thorup and Uri Zwick. Approximate distance oracles. STOC '01, 2001.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is an excerpt from the abstract:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $G = (V, E)$ be an undirected weighted graph with $|V| = n$ and $|E| = m$. Let $k$ be an integer. We show that $G = (V, E)$ can be preprocessed in $O(kmn^{1/k})$ expected time, constructing a data structure of size $O(kn^{1+1/k})$, such that any subsequent distance query can be answered, approximately, in $O(k)$ time. The approximate distance returned is of stretch at most $2k - 1$, i.e., the quotient obtained by dividing the estimated distance by the actual distance lies between 1 and $2k - 1$. [...] The space requirement of our algorithm is [...] essentially optimal.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;According to their results, what you request is basically doable even for weighted graphs: choosing $k=1$ yields a distance oracle of size $O(n^2)$ obtained in expected time $O(mn)$, which can answer your shortest path queries with $1$-stretch in $O(1)$ time!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Distance oracles is a very well researched field, so you will be able to dig further I believe.&lt;/p&gt;&#xA;" OwnerUserId="6707" LastActivityDate="2011-10-23T20:32:05.610" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="8708" PostTypeId="2" ParentId="8704" CreationDate="2011-10-23T21:22:13.963" Score="-1" Body="&lt;p&gt;Yes, natural language processing is contained in AI.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://aima.cs.berkeley.edu/&quot; rel=&quot;nofollow&quot;&gt;Russel and Norvig&lt;/a&gt; start their book with some collected definitions of AI:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&quot;[The automation of] activities that we associate with human thinking, activites such as decision-making, problem solving, learning...&quot; &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&quot;The study of the computations that make it possible to perceive, reason, and act&quot; &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&quot;The study of how to make computers do things at which, at the moment, people are better&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&quot;AI...is concerned with intelligent behavior of artifacts&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This last definition seems to be the where most current efforts are, where you could replace &quot;intelligence&quot; with &quot;rational&quot; as in the economics sense of rational agent.&lt;/p&gt;&#xA;" OwnerUserId="211" LastActivityDate="2011-10-23T21:22:13.963" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8710" PostTypeId="1" AcceptedAnswerId="8715" CreationDate="2011-10-23T22:39:43.227" Score="1" ViewCount="1681" Body="&lt;p&gt;I'm looking for a copy of Guy Jacobson's PhD thesis: &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=915547&quot; rel=&quot;nofollow&quot;&gt;http://dl.acm.org/citation.cfm?id=915547&lt;/a&gt; but I couldn't find it so far. Does anybody know where can I access it ? I really need it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks in advance.&lt;/p&gt;&#xA;" OwnerUserId="6981" LastEditorUserId="111" LastEditDate="2011-10-27T13:53:03.923" LastActivityDate="2015-09-30T02:24:23.640" Title="Where can I find a copy of Guy Jacobson's thesis &quot;Succinct Static Data Structures&quot;?" Tags="&lt;soft-question&gt;&lt;ds.data-structures&gt;" AnswerCount="2" CommentCount="7" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8712" PostTypeId="1" AcceptedAnswerId="8713" CreationDate="2011-10-24T04:12:13.980" Score="10" ViewCount="379" Body="&lt;p&gt;I am looking for examples of hard problems (in NP or harder) from computer science which can be reduced to models of physical processes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, max-2-sat can be reduced to energy minimization in an Ising model.  I would like to find more examples of this type of reduction.&lt;/p&gt;&#xA;" OwnerUserId="6983" LastEditorUserId="6983" LastEditDate="2011-10-24T23:12:31.033" LastActivityDate="2011-10-27T01:40:04.270" Title="Reductions of hard problems to physical models" Tags="&lt;cc.complexity-theory&gt;&lt;reductions&gt;&lt;physics&gt;&lt;formal-modeling&gt;" AnswerCount="3" CommentCount="0" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="8713" PostTypeId="2" ParentId="8712" CreationDate="2011-10-24T06:35:15.587" Score="10" Body="&lt;p&gt;Counting constraint-satisfaction problems (#CSP), evaluating partition functions of many physical models, as well as many topics in classically simulating quantum states/circuits, are all fundamentally contracting tensor networks, which is a #P-complete problem. For a good overview see the following papers: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Itai Arad, Zeph Landau, &lt;a href=&quot;http://arxiv.org/abs/0805.0040&quot;&gt;Quantum computation and the evaluation of tensor networks&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Cai, Lu, Xia &lt;a href=&quot;http://arxiv.org/abs/1008.0683&quot;&gt;Holographic Algorithms with Matchgates Capture Precisely Tractable Planar #CSP&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See especially the introduction of the latter for the connection to physical models.&lt;/p&gt;&#xA;" OwnerUserId="121" LastActivityDate="2011-10-24T06:35:15.587" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8714" PostTypeId="2" ParentId="8712" CreationDate="2011-10-24T08:09:04.217" Score="6" Body="&lt;p&gt;Allan Sly &lt;a href=&quot;http://arxiv.org/abs/1005.5584&quot;&gt;proved&lt;/a&gt; recently that MAX-CUT reduces (under a randomized reduction) to sampling from the Gibbs distribution of the hard core lattice gas beyond the uniqueness phase transition on the Bethe lattice.  Less tight results of this kind (where the reduction is to sampling with parameters well within the non-uniqueness region rather than exactly at the uniqueness transition threshold) have been well known for quite some time: see for example &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=258663&quot;&gt;[LV97]&lt;/a&gt; and &lt;a href=&quot;http://www.math.cmu.edu/~af1p/Texfiles/indcount.pdf&quot;&gt;[DFJ02]&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="6827" LastActivityDate="2011-10-24T08:09:04.217" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8715" PostTypeId="2" ParentId="8710" CreationDate="2011-10-24T09:27:03.377" Score="10" Body="&lt;p&gt;You could try &lt;a href=&quot;http://reports-archive.adm.cs.cmu.edu/cs.html&quot;&gt;writing CMU&lt;/a&gt; to ask for a copy of the &lt;a href=&quot;http://www.cs.cmu.edu/~clamen/reports/1989.html&quot;&gt;technical report&lt;/a&gt; version; Jacobson's thesis is technical report number CMU-CS-89-112.  No idea if this would actually work though. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's also possible, but unlikely, that &lt;a href=&quot;http://www.scs.gatech.edu/people/merrick-furst&quot;&gt;Jacobson's advisor&lt;/a&gt; has an electronic copy.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As a last resort, you (or your advisor, or your university library) can order a copy from &lt;a href=&quot;http://disexpress.umi.com/dxweb&quot;&gt;ProQuest&lt;/a&gt;, the entity formerly known as University Microfilms. [Sorry, there's no way to link directly; just search for &quot;Guy Jacobson&quot;.]  A PDF copy costs \$37; a softbound paper copy costs \$59.  &lt;/p&gt;&#xA;" OwnerUserId="111" LastActivityDate="2011-10-24T09:27:03.377" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8716" PostTypeId="2" ParentId="8688" CreationDate="2011-10-24T09:54:44.667" Score="6" Body="&lt;p&gt;Linear systems with circulant matrices can be solved in $O(n \log n)$ using the fast Fourier transform. A circulant matrix has entries $a_{i,j} = a_{1,i+j-1 \bmod n}$ so it is completely specified by the first column. Circulant matrices are diagonalized by the fast Fourier transform (log-linear time) and linear systems with diagonal matrices can be solved in linear time. See for instance the Wikipedia article &lt;a href=&quot;http://en.wikipedia.org/wiki/Circulant_matrix&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/Circulant_matrix&lt;/a&gt; for more details.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Apologies if this is too trivial to be mentioned here. &lt;/p&gt;&#xA;" OwnerUserId="4272" LastActivityDate="2011-10-24T09:54:44.667" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8717" PostTypeId="1" AcceptedAnswerId="8723" CreationDate="2011-10-24T14:44:48.303" Score="17" ViewCount="1365" Body="&lt;p&gt;$S$ is a set of points on a plane. A random point $x \notin S$ is given on the same plane. The task is to sort all $y \in S$ by Euclidean distance between $x$ and $y$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A no-brain approach is to calculate distances between $x$ and $y$ for all $y \in S$ and then sort them using any fast algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there any way to store or preprocess $S$ so the sorting process becomes faster?&lt;/p&gt;&#xA;" OwnerUserId="6985" LastEditorUserId="80" LastEditDate="2011-10-25T15:34:24.780" LastActivityDate="2011-10-25T15:34:24.780" Title="Sorting by Euclidean distance" Tags="&lt;cg.comp-geom&gt;&lt;sorting&gt;" AnswerCount="2" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8718" PostTypeId="1" CreationDate="2011-10-24T17:48:48.617" Score="3" ViewCount="75" Body="&lt;p&gt;$(\mu,\lambda)$-ES and $(\mu+\lambda)$-ES are two well-known Evolution Strategies. One variant of these algorithms is when we set a constant value for $\sigma$ and generate off-springs for $x$ as:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;x'=x+\mathcal{N}(0,\sigma)&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The value of $\sigma$ has a direct effect on convergence of algorithm. In page 91 of (1) the relation between $\sigma$ and convergence speed, $\varphi'_2$, for several $(1,\lambda)$-ES and $(1+\lambda)$-ES strategies is plotted as:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/5NWqU.png&quot; alt=&quot;Convergence velocity over $\sigma$&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The dotted curve, $\varphi^{'*}_2$, indicates the location of the maxima of the curves. This curve can be approximated with a line (especially for $\sigma&amp;gt;1$). My question is, how could this fact help us and how we can take advantage of it? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The very first idea is &lt;strong&gt;we can predict best convergence speed given an optimal $\sigma$&lt;/strong&gt;, but this does not help very much in practical problems since:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;We usually don't know optimal value of $\sigma$, rather we are looking for optimal $\sigma$,&lt;/li&gt;&#xA;&lt;li&gt;While this line can predict best convergence speed, it doesn't tell us which setup for $(\mu,\lambda)$ or $(\mu+\lambda)$ could reach to that speed (i.e. we don't know which of two ES algorithms and values for $\mu$ and $\lambda$ to use).&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;So, can this linear relation between $\sigma$ and best convergence speed (indicated by $\varphi^{'*}_2$ curve) help us to have a better use of $(\mu,\lambda)$-ES or $(\mu,\lambda)$-ES algorithms?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the other hand, what would we lose if this relation weren't linear at the first place?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(1) Thomas Bäck. &lt;em&gt;Evolutionary algorithms in theory and practice: evolution strategies, evolutionary programming, genetic algorithms.&lt;/em&gt; Oxford University Press, Dortmund, Germany, 1996&lt;/p&gt;&#xA;" OwnerUserId="6986" LastEditorUserId="6986" LastEditDate="2011-10-24T18:13:53.927" LastActivityDate="2011-10-24T18:13:53.927" Title="Can we benefit the linear relation between $\sigma$ and best convergence speed in $(\mu,\lambda)$-ES and $(\mu+\lambda)$-ES?" Tags="&lt;ne.neural-evol&gt;" AnswerCount="0" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8719" PostTypeId="2" ParentId="8701" CreationDate="2011-10-24T19:21:56.653" Score="4" Body="&lt;p&gt;You can partition your domain for subsequent parallel processing as follows. There are a few possible options. You can try a static geometric decomposition, including recursive bisection, quad or oct-trees and a space-filling curve.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Recursive bisection techniques are used to partition a domain (e.g., a finite element grid) into subdomains of approximately equal computational cost while attempting to minimize communication costs, that is, the number of channels crossing task boundaries&#xA;A divide and conquer approach is taken. The domain is first cut in one dimension to yield two subdomains. Cuts are then made recursively in the new subdomains until we have as many subdomains as we require tasks. Notice that this recursive strategy allows the partitioning algorithm itself to be executed in parallel. Advanced variants include recursive graph bisection and recursive spectral bisection.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is an example. In the following picture, assume that magenta points requires twice as much work as cyan ones.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/GVhjR.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then, you continue applying recursive bisection by cycling through the axes until # pieces = # processors, obtaining something like the following:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/cZddS.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The idea behind quad-trees is the following one. Partition all of space into quadrants (octants in 3-space). If any piece contains too much work, partition it into quadrants, and so on. See the next picture for an example.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/DhRPy.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The best general-purpose geometric load-balancing comes from space-ﬁlling curves.&#xA;The order in which points are visited in the space-ﬁlling curve determines how the geometric objects are grouped together to be assigned to the processors. The following image shows an Hilbert space-filling curve.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/QfrdS.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You problem may also be amenable to a solution using what is known as a scattered decomposition. Used when there is a structured domain space (e.g., an image) and the processing requirements are clustered, such as modeling a crash or processing an image with only a few items of interest. Suppose there are P processors. Cover the problem domain with non-overlapping copies of a grid of size P and assign each processor a cell in each of the grids. If you use more pieces:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Less load imbalance, i.e., computation time &lt;/li&gt;&#xA;&lt;li&gt;More overhead and/or communication time&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Finding a good tradeoff may require experimenting running the application and measuring how parallel time is affected by different scattering strategies.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is an example. The first picture show an example image that must be processed. Say it contains sea water and an island, and you may want to process the vegetation on the island. The image is partitioned using a very simple domain decomposition technique. The second picture shows an example of scattered decomposition.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/LOXDN.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/Ca0rZ.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, you can use an advanced technique known as Adaptive Mesh refinement (AMR): grids are broken into blocks of ﬁxed extents, when needed blocks are reﬁned into children with same extents. Block size are chosen to optimize balance of cache efﬁciency (optimization possible since loops operate on ﬁxed size array), communication, and load balance.&#xA;Often balancing blocks per processor sufﬁces; if communication is excessive then use a space-ﬁlling curve. Rebalancing requires only simple collective communication operations to decide where blocks go. The technique can be used for arbitrary dimensions. If block size is 1, adaptive blocks are quad or oct-trees.&#xA;See the next picture for an example.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/bYNZA.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hope this helps.&lt;/p&gt;&#xA;" OwnerUserId="4208" LastEditorUserId="4208" LastEditDate="2011-10-24T19:35:09.763" LastActivityDate="2011-10-24T19:35:09.763" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="8720" PostTypeId="2" ParentId="8717" CreationDate="2011-10-24T19:23:14.787" Score="1" Body="&lt;p&gt;You're probably not going to be able to get away from $n\log(n)$ time any way you slice it; even precomputing regions corresponding to all possible sort orders could (I believe) yield $O(n!)$ regions and thus finding 'your' region by any meaningful search technique will take $O(\log(n!)) = O(n\log(n))$ time.  (&lt;strong&gt;EDIT:&lt;/strong&gt; this is absolutely wrong; see David Eppstein's excellent answer for more information!) One useful way of getting the complexity down, on the other hand - especially if you don't need the full sort at once but just need to be able to randomly pull out $k$th-nearest on the fly - might be through higher-order Voronoi diagrams: extensions of the standard Voronoi cell that accomodate not just the nearest neighbor but second-nearest, etc.  Frank Dehne's paper on k-nearest neighbor searching, &lt;a href=&quot;http://people.scs.carleton.ca/~dehne/publications/2-02.pdf&quot; rel=&quot;nofollow&quot;&gt;http://people.scs.carleton.ca/~dehne/publications/2-02.pdf&lt;/a&gt; seems to be the canonical reference; his homepage at &lt;a href=&quot;http://www.dehne.carleton.ca/publications&quot; rel=&quot;nofollow&quot;&gt;http://www.dehne.carleton.ca/publications&lt;/a&gt; has a number of other papers on Voronoi diagrams that might be of some use.&lt;/p&gt;&#xA;" OwnerUserId="1941" LastEditorUserId="1941" LastEditDate="2011-10-25T00:16:30.887" LastActivityDate="2011-10-25T00:16:30.887" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="8721" PostTypeId="2" ParentId="8699" CreationDate="2011-10-24T21:37:16.187" Score="7" Body="&lt;p&gt;What you need for a Markov chain to converge to an equal distribution over all possible sequences of balls is that it is reversible: the probability of moving from sequence $i$ to sequence $j$ is the same as moving in the opposite direction. I thus propose that you use the following moves (with some fixed probability distribution to choose which type of move to make) to perform a Markov chain on all possible sequences. In the following, a &quot;run&quot; is a maximum-length consecutive subsequence of balls of the same colour. This Markov chain relies on there being at least three colours.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Pick two runs at random. If you can exchange them and still have a legal sequence, do so.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Pick two adjacent runs. If you can exchange them and still have a legal sequence, do so.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Pick two runs of the same colour. Redistribute the balls in them randomly among legal possibilities (so if the maximum number of balls in a single run was 3, and you had 5 balls total in the two chosen runs, the first one is equally likely to get 2 or 3 balls; if there were 3 balls total, the first is equally likely to get 1 or 2; if there were 4 balls total, 1, 2, and 3 are all equally likely).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Pick some colour $C_i$ at random. Consider the sequence $S&amp;#39;$ of balls with all balls of colour $C_i$ removed. Now, pick at random two points in $S&amp;#39;$ where adjacent balls of different colours touch. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;a. If there are two runs of colour $C_i$ at these two points in the original sequence $S$, and neither is maximum length, move a ball from one to the other, with each direction chosen with probability &amp;frac12;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;b. If there are two runs of colour $C_i$ at these two points in the original sequence $S$, but one is maximum length and the other is not, move a ball from the maximum length run to the shorter one with probability &amp;frac12;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;c. If there is just one run of colour $C_i$ at one of these two points in $S$, with probability &amp;frac12; move one ball from the run to the other point.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;d. If there is no run of colour $C_i$ at either of these points, or if there are runs of maximum length at both of these points, do nothing.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;If my analysis is right, this is a reversible Markov chain that eventually converges to a uniform distribution of legal sequences of coloured balls, so if you run this chain for long enough, you will get very close to this uniform distribution.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;How can you tell when this has converged? I would suggest watching the entropy of this sequence, and stop when it stops increasing. How do you compute the entropy? There are two main terms in the entropy calculation: the distribution of run lengths, and the sequence of colors each run has. For the distribution of run lengths, assume that there are $n_{i,k}$ runs of colour $i$ with length $k$. The contribution of these to the entropy is&#xA;$$ \sum_i \ \log_2 \ { \sum_k n_{i,k} \choose n_{i,1}\ n_{i,2}\ \ldots \ n_{i,r} }, $$ &#xA;where $r$ is the maximum permissible length of a run. Now, let us consider the contribution of the colour sequence to the entropy. Suppose there are $m_{i,j}$ places where a run of colour $i$ is immediately followed by one of colour $j$ (so $m_{i,i}=0$). The contribution of this to the entropy is &#xA;$$ \sum_i \ \log_2\  { \sum_j m_{i,j} \choose  m_{i,1}\ m_{i,2}\ \ldots \ m_{i,c} }, $$ &#xA;where $c$ is the number of colours.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;(In the interest of accuracy, let me note that we are leaving out a number of contributions to the entropy, including the colour of the first ball, but these are lower order terms which should be safe to neglect.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;UPDATE:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There should be ways of speeding this up. I believe that for steps c and d, you can use analysis to perform both these steps over all runs of one color at once. For steps a and b, this is equivalent to the question of finding a random sequence of colored balls with the constraint that no two balls of the same color touch. There should be some good way of doing the mixing for this problem. Then you just have to alternate a/b steps with c/d steps, where each step mixes over those two moves completely. I think this should converge quite fast, although I don't have any rigorous analysis for this Markov chain.&lt;/p&gt;&#xA;" OwnerUserId="1677" LastEditorUserId="1677" LastEditDate="2011-10-27T14:18:43.737" LastActivityDate="2011-10-27T14:18:43.737" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8722" PostTypeId="2" ParentId="8697" CreationDate="2011-10-24T21:46:38.647" Score="5" Body="&lt;p&gt;Your question suggests the following tentative reduction to obtain a OWF from a secure KE: Given an input, interpret it as the private random coins of two simulated parties to the KE protocol. Based on their private randomness, there will be some sequence of public messages between them, and at some point they will stop and agree on a private shared key (with some high probability). Then the public transcript of their communications is the output of the OWF.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You are right to be worried about this approach in the case when Alice and Bob may not agree with probability 1. In fact, this construction is NOT necessarily a OWF in that case. Rather, it is a weaker primitive known as a &quot;distributionally one-way function,&quot; which is, informally, a function for which it is hard to generate a uniformly random preimage of $f(x)$, when $x$ is selected at random. It is known (but non-obvious) that one can construct a true one-way function using a distributionally one-way function. See e.g. Exercise 17 on page 96 of Goldreich &quot;Foundations of Cryptography: Basic Tools,&quot; which is available for limited viewing on &lt;a href=&quot;http://books.google.com/books?id=Z_OweRm7sD8C&amp;amp;pg=PA96&amp;amp;lpg=PA96&amp;amp;dq=%22distributionally%22+one-way+function&amp;amp;source=bl&amp;amp;ots=0BGQ_tRaOn&amp;amp;sig=lFzcTo9Lb7Buy0niaAC-YKqBfCc&amp;amp;hl=en&amp;amp;ei=sdOlTtSaBInjiALJ2J1h&amp;amp;sa=X&amp;amp;oi=book_result&amp;amp;ct=result&amp;amp;resnum=6&amp;amp;ved=0CEoQ6AEwBQ#v=onepage&amp;amp;q=%22distributionally%22%20one-way%20function&amp;amp;f=false&quot;&gt;Google preview&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To directly see why the above reduction does not suffice, we can use the common &quot;make a stupid modification&quot; technique. Namely, suppose there exists a secure KE protocol where Alice and Bob agree with probability $1 - \epsilon$. Consider a stupidly-modified KE protocol that works as follows: Alice and Bob first each flip 100 coins. For each of Alice, Bob individually: If all 100 coins are zero, their remaining randomness is interpreted as encoding a sequence of messages which they send to the other party, ignoring whatever the other one says; then they just output a random &quot;shared key.&quot; (Otherwise they follow the original protocol.) Given any public transcript, it is possible (with negligible probability) that it was generated by an Alice and Bob who BOTH flipped 100 zeroes and happened to have their remaining randomness specify that exact sequence of messages.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is still a secure KE protocol, where Alice and Bob will agree with probability at least $1 - \epsilon - 2^{-100}$. On the other hand, it utterly fails to be a OWF in the hoped-for manner, since an attacker who sees some public transcript can always trivially invert by choosing 100-zeroes randomness for each of Alice and Bob.&lt;/p&gt;&#xA;" OwnerUserId="6666" LastActivityDate="2011-10-24T21:46:38.647" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="8723" PostTypeId="2" ParentId="8717" CreationDate="2011-10-24T23:59:33.400" Score="13" Body="&lt;p&gt;Solution 1: Find the $\Theta(n^2)$ perpendicular bisectors between pairs of points, and construct the arrangement of these lines. The arrangement has $\Theta(n^4)$ cells, within which the sorted order is constant. So build a point location data structure for the arrangement, and decorate each cell with the sorted order that is to be returned for points within that cell. The sorted orders between adjacent cells differ only in a single transposition, so you can use a persistent data structure to allow the representations of these sorted orders to share space. Total space is $O(n^4)$ and query time is $O(\log n)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Solution 2: Choose a random sample of $\Theta(n)$ of these same perpendicular bisectors, construct their arrangement, and partition each arrangement cell by vertical line segments through each crossing of two sampled lines. The resulting partition has $\Theta(n^2)$ cells, each of which with high probability is crossed by $O(n)$ unsampled bisectors. Decorate each cell of the partition by a valid sorted ordering of the points as viewed from some x within the cell. Total space is $O(n^3)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, to do a query, locate the query point in the partition, look up the ordering stored with the partition cell, and use the &lt;a href=&quot;http://en.wikipedia.org/wiki/Cartesian_tree&quot;&gt;Cartesian tree&lt;/a&gt; comparison sorting algorithm of Levcopoulos &amp;amp; Petersson (1989) starting with this stored ordering. The time for this step is proportional to $\sum_i O(1+\log k_i)$ where $k_i$ is the number of points that are out-of-order with point $y_i$. But $\sum k_i$ is $O(n)$ (each unsampled bisector causes at most one out-of-order pair of points), so the query time $\sum_i O(1+\log k_i)$ is also $O(n)$.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2011-10-24T23:59:33.400" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="8724" PostTypeId="1" AcceptedAnswerId="8725" CreationDate="2011-10-25T05:21:00.483" Score="1" ViewCount="250" Body="&lt;p&gt;I know this could be considered a pointless question. However despite I am quite convinced that any possible model (i.e. UML, SysML, natural language, math, etc.) can be defined by means of a graph I do not know if there is a way to formally prove there exist an isomorphism between the set of Models and the set of Graphs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I guess one should first define what a model is and I guess a possible answer is that a model can be considered as a sentence of the language defined by its meta-model. Thus models are languages. The question is therefore if there is an isomorphism between the set of languages and the set of graphs or, less formally, if it is provable that any possible language can be represented by means of a graph. I guess that the Chomsky works on languages could help but I can not find a reference on the Internet of such demonstration.&lt;/p&gt;&#xA;" OwnerUserId="6989" LastActivityDate="2011-10-26T11:52:43.837" Title="Any Graph is a Model (! or ?)" Tags="&lt;graph-theory&gt;&lt;formal-modeling&gt;&lt;language-design&gt;&lt;model-theory&gt;" AnswerCount="2" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8725" PostTypeId="2" ParentId="8724" CreationDate="2011-10-25T08:01:52.677" Score="5" Body="&lt;p&gt;If you look at things from a &lt;a href=&quot;http://en.wikipedia.org/wiki/Model_theory&quot; rel=&quot;nofollow&quot;&gt;model-theoretic&lt;/a&gt; perspective, the basic ingredients you have are atoms, relations, and functions. Atoms could be modelled using nodes of the graph, and binary relations and single argument functions could be modelled using graphs. If you are willing to allow hyper-edges in your graph, then the remainder of the relations and functions can be modelled. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I don't think that there is anything deep to this observation.&lt;/p&gt;&#xA;" OwnerUserId="77" LastActivityDate="2011-10-25T08:01:52.677" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="8726" PostTypeId="1" CreationDate="2011-10-25T08:28:40.213" Score="4" ViewCount="2221" Body="&lt;p&gt;I didn't refer any literature but thought this was ideal to get views from people here..&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assuming that P=NP is proved would cryptography(only provable security) be impossible? Since the adversary can break any scheme in polynomial time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Aren't the NP-hard problems enough to save the day? I've heard of crypto-systems based on &quot;subset problems&quot;. Since P=NP would not affect the nature of NP-hard problems.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It would also be great if can suggest any interesting articles regarding this..&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;P.S: Please feel free to edit if you find any naive statements in the question.&lt;/p&gt;&#xA;" OwnerUserId="3788" LastActivityDate="2011-10-25T15:33:32.130" Title="The significance of NP-Hard Problems in Cryptography" Tags="&lt;np-hardness&gt;&lt;cr.crypto-security&gt;" AnswerCount="1" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="8727" PostTypeId="2" ParentId="8726" CreationDate="2011-10-25T11:52:25.127" Score="10" Body="&lt;p&gt;Hardness of NP-complete problems is not sufficient for cryptography.  Even if NP-complete problems are hard in the worst-case (P≠NP ), they still could be efficiently solvable in the average-case. Cryptography assumes the existence of average-case intractable problems in NP. Also, proving the existence of hard-on-average problems in NP using the $P \ne NP$ assumption is a major open problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An excellent read is the classic by Russell Impagliazzo, &lt;a href=&quot;http://cseweb.ucsd.edu/~russell/average.ps&quot; rel=&quot;noreferrer&quot;&gt;A Personal View of Average-Case Complexity&lt;/a&gt;, 1995. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;An excellent survey is Average-Case Complexity by Bogdanov and Trevisan, Foundations and Trends in Theoretical Computer Science Vol. 2, No 1 (2006) 1–106&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="80" LastEditDate="2011-10-25T15:33:32.130" LastActivityDate="2011-10-25T15:33:32.130" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8730" PostTypeId="2" ParentId="1198" CreationDate="2011-10-25T16:54:19.113" Score="4" Body="&lt;p&gt;General CS videos, found some good ones on here: &lt;a href=&quot;http://lecturefox.com/computerscience/&quot; rel=&quot;nofollow&quot;&gt;http://lecturefox.com/computerscience/&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Not restricted to Computing but good nonetheless: &lt;a href=&quot;http://mitworld.mit.edu/&quot; rel=&quot;nofollow&quot;&gt;http://mitworld.mit.edu/&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="6996" LastActivityDate="2011-10-25T16:54:19.113" CommentCount="2" CommunityOwnedDate="2011-10-25T16:54:19.113" ContentLicense="CC BY-SA 3.0" />
  <row Id="8733" PostTypeId="2" ParentId="8645" CreationDate="2011-10-26T09:32:50.420" Score="3" Body="&lt;p&gt;In the solution we implemented for Mercurial, another concern was asymmetry: the server's load should be minimized for both outgoing bandwidth and CPU time, at the cost of the client's load.&lt;/p&gt;&#xA;" OwnerUserId="7007" LastActivityDate="2011-10-26T09:32:50.420" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8734" PostTypeId="1" CreationDate="2011-10-26T10:20:49.703" Score="1" ViewCount="643" Body="&lt;p&gt;I wonder, whether there is any strategy/ies for grammar derivation of a formal language. I'd be thankful, if you give me some hints, tips on how should one &quot;think&quot; trying to find a grammar. I'm interested in all types of grammar, but mostly in Typ-3 (regular grammar and it's languages). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, I need to find a grammar for $a^{n}b^{n}c^{n}$ language. And my questions are:&#xA;- can we decide at first sight, which grammar we should use? If yes, &#xA;- how should we find the right amount of variables? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I know, that this language can be generated by Typ1-Grammar (context-sensitive). And I have it's grammar (or one of possible grammars). But I would like to learn how to be able to find it by myself. I'll be thankful to you if you can help me.. &lt;/p&gt;&#xA;" OwnerUserId="6979" LastEditorUserId="6979" LastEditDate="2011-10-27T09:25:11.437" LastActivityDate="2011-10-27T09:25:11.437" Title="Strategy for grammar derivation of a formal language" Tags="&lt;fl.formal-languages&gt;&lt;automata-theory&gt;" AnswerCount="0" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="8735" PostTypeId="2" ParentId="8724" CreationDate="2011-10-26T11:52:43.837" Score="3" Body="&lt;p&gt;I would like to add to Dave Clarke's answer. The binary relations are sufficient to express higher-arity relations and functions (by adding new non-logical symbols if necessary). Hence, if you allow multiple directed edges, which can take on different colors, then this is already sufficient to encode any $L$-structure. Furthermore, this encoding can be described in a first-order way.&lt;/p&gt;&#xA;" OwnerUserId="5538" LastActivityDate="2011-10-26T11:52:43.837" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8736" PostTypeId="1" AcceptedAnswerId="8743" CreationDate="2011-10-26T13:30:39.797" Score="0" ViewCount="262" Body="&lt;p&gt;If we have an infinite string of 0's and 1's, such that no finite Turing-machine can output it. What can we say about the string? Must it be normal, ie. must every finite sequence appear infinite times as a subsequence at approriate rates etc?&lt;/p&gt;&#xA;" OwnerUserId="7010" LastEditorUserId="7010" LastEditDate="2011-10-26T13:58:11.983" LastActivityDate="2011-10-26T17:15:43.387" Title="Non-computable=&gt;normal?" Tags="&lt;randomness&gt;&lt;kolmogorov-complexity&gt;&lt;pseudorandomness&gt;&lt;pseudorandom-generators&gt;" AnswerCount="1" CommentCount="8" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8737" PostTypeId="5" CreationDate="2011-10-26T16:00:05.537" Score="0" Body="&lt;p&gt;Time complexity refers to the number of steps required to decide a decision problem or to compute a function, as a function of the input size.  Time complexity refers to an inherent property of a problem, and is often used to define complexity classes that are to be compared.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Use instead tags &lt;a href=&quot;/questions/tagged/analysis-of-algorithms&quot; class=&quot;post-tag&quot; title=&quot;show questions tagged &amp;#39;analysis-of-algorithms&amp;#39;&quot; rel=&quot;tag&quot;&gt;analysis-of-algorithms&lt;/a&gt;, &lt;a href=&quot;/questions/tagged/amortized-analysis&quot; class=&quot;post-tag&quot; title=&quot;show questions tagged &amp;#39;amortized-analysis&amp;#39;&quot; rel=&quot;tag&quot;&gt;amortized-analysis&lt;/a&gt;, or &lt;a href=&quot;/questions/tagged/smoothed-analysis&quot; class=&quot;post-tag&quot; title=&quot;show questions tagged &amp;#39;smoothed-analysis&amp;#39;&quot; rel=&quot;tag&quot;&gt;smoothed-analysis&lt;/a&gt; for discussion of the time taken by particular algorithms or types of algorithms.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See also related tags &lt;a href=&quot;/questions/tagged/space-bounded&quot; class=&quot;post-tag&quot; title=&quot;show questions tagged &amp;#39;space-bounded&amp;#39;&quot; rel=&quot;tag&quot;&gt;space-bounded&lt;/a&gt; and &lt;a href=&quot;/questions/tagged/space-complexity&quot; class=&quot;post-tag&quot; title=&quot;show questions tagged &amp;#39;space-complexity&amp;#39;&quot; rel=&quot;tag&quot;&gt;space-complexity&lt;/a&gt; for complexity measures focused on space instead of time.&lt;/p&gt;&#xA;" OwnerUserId="109" LastEditorUserId="109" LastEditDate="2014-06-27T17:22:26.650" LastActivityDate="2014-06-27T17:22:26.650" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8738" PostTypeId="4" CreationDate="2011-10-26T16:00:05.537" Score="0" Body="Time complexity of decision problems or relations among time-bounded complexity classes.  (Use the [analysis-of-algorithms] tag for the time taken by particular algorithms.)" OwnerUserId="7013" LastEditorUserId="32711" LastEditDate="2020-04-17T13:35:48.617" LastActivityDate="2020-04-17T13:35:48.617" CommentCount="0" ContentLicense="CC BY-SA 4.0" />
  <row Id="8739" PostTypeId="1" AcceptedAnswerId="8742" CreationDate="2011-10-26T16:13:46.773" Score="27" ViewCount="1371" Body="&lt;p&gt;Why are regular languages (and from that regular expressions) called &quot;regular&quot;? There is lot of &lt;em&gt;regularity&lt;/em&gt; also in context-free languages other types of languages.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I suppose that, in the beginning, the adjective &quot;regular&quot; has been used to differentiate that type of languages from other &quot;non-regular&quot; or somehow abnormal languages. If so, what where these other types, and what was their &lt;em&gt;non-regularity&lt;/em&gt;?&lt;/p&gt;&#xA;" OwnerUserId="7013" LastActivityDate="2016-03-18T14:48:28.637" Title="Why are regular languages called &quot;regular&quot;?" Tags="&lt;regular-expressions&gt;&lt;regular-language&gt;&lt;ho.history-overview&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="8740" PostTypeId="5" CreationDate="2011-10-26T16:18:58.447" Score="0" Body="" OwnerUserId="-1" LastEditorUserId="-1" LastEditDate="2011-10-26T16:18:58.447" LastActivityDate="2011-10-26T16:18:58.447" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8741" PostTypeId="4" CreationDate="2011-10-26T16:18:58.447" Score="0" Body="The history behind the topics: where their name comes from, who discovered them, when they were first proved, how they evolved during the years." OwnerUserId="7013" LastEditorUserId="7013" LastEditDate="2011-10-26T17:18:25.910" LastActivityDate="2011-10-26T17:18:25.910" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8742" PostTypeId="2" ParentId="8739" CreationDate="2011-10-26T16:49:07.047" Score="40" Body="&lt;p&gt;A quick check of the sources reveals that &lt;a href=&quot;http://www.diku.dk/hjemmesider/ansatte/henglein/papers/chomsky1959.pdf&quot;&gt;Chomsky&lt;/a&gt; called the levels of his hierarchy just “type 0, type 1, type 2, type 3”. He mentions in a footnote that his type 3 corresponds to “regular events” of &lt;a href=&quot;http://www.rand.org/pubs/research_memoranda/2008/RM704.pdf&quot;&gt;Kleene&lt;/a&gt;. Kleene wrote there: &lt;em&gt;We shall presently describe a class of events which we will call &quot;regular events.&quot; (We would welcome any suggestions as to a more descriptive term.)&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It would thus appear that the term is a historical accident, and in any case has no bearing on the relation of regular languages to context-free languages.&lt;/p&gt;&#xA;" OwnerUserId="6959" LastActivityDate="2011-10-26T16:49:07.047" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="8743" PostTypeId="2" ParentId="8736" CreationDate="2011-10-26T17:15:43.387" Score="6" Body="&lt;p&gt;No, the string need not be normal.  Take any uncomputable sequence and add two 0s between each term; now there are too many 0s for the sequence to be normal but it's still uncomputable.&lt;/p&gt;&#xA;" OwnerUserId="962" LastActivityDate="2011-10-26T17:15:43.387" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="8744" PostTypeId="2" ParentId="4952" CreationDate="2011-10-26T20:48:58.183" Score="2" Body="&lt;p&gt;If your background is CTL interpreted over Kripke structures and you looks for something similar interpreted over LTSs, than ACTL (action-based CTL) could be interesting.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Back in 1990, R. De Nicola and F. Vaandrager introduced ACTL as an action-based CTL (&lt;em&gt;Action versus state based logics for transition systems&lt;/em&gt;, Semantics of Systems of Concurrent Processes (1990), pp. 407-419). It has been further studied in 1993 (R. De Nicola, A. Fantechi, S. Gnesi, G. Ristori: &lt;em&gt;An Action-Based Framework for Verifying Logical and Behavioural Properties of Concurrent Systems&lt;/em&gt;, Computer Networks and ISDN Systems, Vol. 25, No. 7., pp. 761-778.) and more recently in 2008 (R. Meolic, T. Kapus, Z. Brezočnik: &lt;em&gt;ACTLW - An Action-based Computation Tree Logic With Unless Operator&lt;/em&gt;, Information Sciences, 178 (6), pp. 1542-1557.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Main idea of ACTL (not to be confused with a subset of CTL with the same acronym) is to have similar operators and similar algorithms for model checking as those for CTL. Moreover, operators are defined by fixed-point expressions analog to those used for CTL. The complexity (I am not sure about expresiveness) of ACTL is somewhere between HML and propositional modal μ-calculus.&lt;/p&gt;&#xA;" OwnerUserId="7015" LastEditorUserId="7015" LastEditDate="2013-05-24T07:47:43.613" LastActivityDate="2013-05-24T07:47:43.613" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8745" PostTypeId="2" ParentId="8694" CreationDate="2011-10-26T22:03:28.170" Score="10" Body="&lt;p&gt;If I understand your question correctly, you're looking for ways to &lt;i&gt;generate&lt;/i&gt; lots of non-trivial uniquely satisfiable 3SAT instances.&lt;/p&gt;&#xA;&lt;p&gt;There's a tension between your desire to find a way to generate &lt;i&gt;all&lt;/i&gt; uniquely satisfiable instances and your desire to find a way to generate &lt;i&gt;hard&lt;/i&gt; uniquely satisfiable instances.  For the moment let's ignore your uniqueness condition. Then I know there has been some work on this problem, e.g., see &lt;a href=&quot;http://www.cs.cornell.edu/gomes/pdf/2000_achlioptas_aaai_iaai_satisfiable.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Generating satisfiable problem instances&lt;/a&gt; by Achlioptas, Gomes, Kautz, and Selman.  You might think that they proceed by generating random clauses and discarding the clauses that are inconsistent with a randomly chosen but fixed assignment.  But although this method will in principle generate every satisfiable instance (with some probability), it tends to produce instances that are easy to solve.  To get hard instances, Achlioptas et al. adopt the approach of picking some known hard problem and generating instances based on that.&lt;/p&gt;&#xA;&lt;p&gt;I suspect that a similar dilemma will arise for &lt;i&gt;uniquely&lt;/i&gt; satisfiable instances.  My guess is that a randomized method that generates every uniquely satisfiable instance with some probability will tend to produce easily solved instances.  If you want hard instances, your best bet is probably to pick some cryptographic problem (where the unique solution is the cryptographic secret, e.g., a factorization) and generate instances based on that.&lt;/p&gt;&#xA;" OwnerUserId="2970" LastEditorUserId="2970" LastEditDate="2020-11-25T15:09:53.557" LastActivityDate="2020-11-25T15:09:53.557" CommentCount="2" ContentLicense="CC BY-SA 4.0" />
  <row Id="8746" PostTypeId="2" ParentId="8712" CreationDate="2011-10-27T01:40:04.270" Score="6" Body="&lt;p&gt;There's also work by Schuch, Cirac, and Verstraete showing that finding the ground states of even 1D systems with inverse poly gap is NP-hard, even if we are promised the ground state is a matrix product state -- see &lt;a href=&quot;http://arxiv.org/abs/0802.3351&quot;&gt;http://arxiv.org/abs/0802.3351&lt;/a&gt;. If I recall correctly, the reduction begins with an arbitrary NP verifier, though, not necessarily for a specific problem like MAX-2-SAT.&lt;/p&gt;&#xA;" OwnerUserId="7019" LastActivityDate="2011-10-27T01:40:04.270" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8747" PostTypeId="2" ParentId="8486" CreationDate="2011-10-27T02:07:35.063" Score="9" Body="&lt;p&gt;I'm personally not aware of any work in the direction of &lt;em&gt;quantum&lt;/em&gt; approximation algorithms in the sense of relative approximations (vs additive approximations) (though that doesn't necessarily mean they don't exist). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that if your intent is to design &lt;em&gt;poly-time&lt;/em&gt; quantum approx algs for, say, NP-hard problems, many problems like MAX-CUT already have tight classical approx algs (assuming the Unique Games Conjecture or by PCP). So it likely makes sense to begin by studying a problem which has a gap in the known approximation ratio versus hardness results.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The other direction is hardness of approximation -- see e.g. &lt;a href=&quot;http://arxiv.org/abs/0811.3412&quot;&gt;http://arxiv.org/abs/0811.3412&lt;/a&gt; and &lt;a href=&quot;http://arxiv.org/abs/1012.3319&quot;&gt;http://arxiv.org/abs/1012.3319&lt;/a&gt; for partial positive and negative progress regarding a possible quantum PCP theorem.&lt;/p&gt;&#xA;" OwnerUserId="7019" LastActivityDate="2011-10-27T02:07:35.063" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8749" PostTypeId="1" CreationDate="2011-10-27T04:10:14.843" Score="-1" ViewCount="890" Body="&lt;p&gt;Just to clarify, Valiant's proof does the following:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given $\phi$ a #3SAT instance with m clauses and n vars, Valiant constructs a matrix whose permanent is $4^{3m}\#\phi$. Now, this is NOT a reduction in the classical sense, but rather there's some post processing required (i.e. I don't get $\#\phi$, but I have to divide by $4^{3m}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Am I misunderstanding something, or is this correct?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks!&lt;/p&gt;&#xA;" OwnerUserId="7104" LastEditorUserId="1590" LastEditDate="2014-08-31T17:04:10.370" LastActivityDate="2014-08-31T17:04:10.370" Title="Permanent is #P Complete" Tags="&lt;cc.complexity-theory&gt;&lt;counting-complexity&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8751" PostTypeId="2" ParentId="7374" CreationDate="2011-10-27T09:08:24.823" Score="8" Body="&lt;p&gt;There is a paper that describes how to do it:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;https://web.archive.org/web/20130508170633/http://thor.info.uaic.ro/~grigoras/diplome/5.pdf&quot; rel=&quot;nofollow&quot;&gt;SPPF-style parsing from Earley Recognisers&lt;/a&gt;&lt;/strong&gt; by Elisabeth Scott&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It describes how to build a binarized parse forest in cubic time.&lt;/p&gt;&#xA;" OwnerUserId="7022" LastEditorUserId="34269" LastEditDate="2016-02-24T13:00:42.530" LastActivityDate="2016-02-24T13:00:42.530" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="8752" PostTypeId="1" AcceptedAnswerId="8757" CreationDate="2011-10-27T09:52:26.547" Score="10" ViewCount="382" Body="&lt;p&gt;Deutsch's algorithm is a well known quantum computing $f(0) + f(1)\mod{2}$ &#xA;with only one one evaluation of $f$.&#xA;If we replace $+$ with $\cdot$ the problem seems to become rather different. My question is:&#xA;does there exist a quantum algorithm computing the value of $f(0)\cdot f(1)$ (or AND if you prefer)&#xA;using only one evaluation of $f$. Otherwise: is it known that such an algorithm does not exist?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt; I have now become aware of procedure that gives correct answer with a probability greater than what any classical procedure is able. The &quot;error&quot; is one-sided in the sense that it always produces the correct answer when $f(0)\wedge f(1)=1$. This leads me to an extended question: does there exist a quentum algorithm (possibly similar to the one mentioned below) with the property that the result is $1$ only if $f(0)\wedge f(1)=1$? Of course the &quot;best case scenario&quot; would be an algorithm that gives correct answer with probability $1$.&lt;/p&gt;&#xA;" OwnerUserId="4201" LastEditorUserId="4201" LastEditDate="2011-10-28T10:25:30.907" LastActivityDate="2011-10-28T10:25:30.907" Title="Does there exist a quantum algorithm ala Deutsch's algorithm that computs AND instead of XOR?" Tags="&lt;reference-request&gt;&lt;quantum-computing&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8753" PostTypeId="2" ParentId="8623" CreationDate="2011-10-27T12:29:16.057" Score="10" Body="&lt;p&gt;The most comprehensive survey of the relationship between  constructive proof theory (which is tied closely to the theory of constructive ordinals) and second-order impredicative arithmetic (which as Ulrik points out is equivalent in strength to System F) is Girard (1989).  There he builds on his theory of dilators (1981), which I don't really follow, but I think essentially provides a nonconstructive theory of higher-order Skolemisation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My understanding is that you can't express $\Sigma^1_2$ formulae constructively in the Bishop&amp;mdash;Martin-Löf sense, because they are impredicative in a way you can't eliminate by adding any sort of first-order induction scheme.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I remember suggesting to an ordinal theorist that one could simply &lt;em&gt;stipulate&lt;/em&gt; that you can ground an impredicative constructivism in a type theory based on the polymorphic lambda calculus, and use the reduction candidate technique from Girard's SN proof for System F to impose a reasonable total order on the universe of constructions, calling the equivalence classes you get from this the ordinals; he said something intelligent which I took away as saying you might get that to work, but it would have all the advantages of theft over honest toil.  To get it to work, it is not good enough that you can prove in set theory the existence of such ordinals, you would need a constructive proof of trichotomy for the order.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To sum up, with the regular notion of intuitionistic construction due to Bishop&amp;mdash;Martin-Löf, the literature I know of strongly suggests no.  If you are averse to honest toil and would embrace an impredicative constructivism, then my guess is that it can probably be done.  You would, naturally, need a stronger theory that System F to constructively prove the required trichotomy, but the Calculus of Inductive Constructions provides an obvious candidate.&lt;/p&gt;&#xA;&#xA;&lt;h3&gt;References&lt;/h3&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Girard, Jean-Yves (1981), $\Pi^1_2$-logic. I. Dilators, Annals of Mathematical Logic 21 (2): 75–219.&lt;/li&gt;&#xA;&lt;li&gt;Girard (1989) &lt;em&gt;Proof Theory and Logical Complexity, vol. I&lt;/em&gt;, Napoli: Bibliopolis.  There is no volume II.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="270" LastEditorUserId="270" LastEditDate="2011-10-28T07:32:50.000" LastActivityDate="2011-10-28T07:32:50.000" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8754" PostTypeId="2" ParentId="8752" CreationDate="2011-10-27T15:07:54.517" Score="3" Body="&lt;p&gt;First, prepare a state $\frac{1}{\sqrt{3}}((-1)^{f(0)}|00\rangle + (-1)^{f(1)}|01\rangle + |11\rangle)$ (which can be done easily using single black-box query and unitaries). Notice that two such states correspondng to different $f$'s have always inner product $\frac{1}{3}$. You can easily turn this observation into an algorithm succeeding with one-sided error $\frac{8}{9}$ or better if you allow two-sided error (note that the best classical procedure can achieve probability at most $\frac{2}{3}$).&lt;/p&gt;&#xA;" OwnerUserId="2083" LastActivityDate="2011-10-27T15:07:54.517" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8755" PostTypeId="1" CreationDate="2011-10-27T15:29:43.177" Score="21" ViewCount="544" Body="&lt;p&gt;Is there any plausible complexity/crypto hypothesis that rules out the possibility that polynomial size circuits have subexponential-size (i.e. $2^{O(n^\epsilon)}$ with $\epsilon&amp;lt;1$) bounded-depth ($d = O(1)$) circuits?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We know that every function computable by a $\mathsf{NC^1}$ circuit can be computed by a size $2^{O(n^\epsilon)}$ depth $d$ circuit (using AND, OR, and NOT gates, unbounded fan-in) (for every $0 &amp;lt;\epsilon$ there is a $d$ and $d$ can be taken to be $O(1/\epsilon)$). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The question is: &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;is there a reason that would make the existence of such circuits for general polynomial size circuits unlikely?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2013-01-08T17:58:23.170" LastActivityDate="2013-01-08T17:58:23.170" Title="Does $\mathsf{P/poly}$ have subexponential-size bounded-depth circuits?" Tags="&lt;cc.complexity-theory&gt;&lt;circuit-complexity&gt;&lt;bounded-depth&gt;" AnswerCount="1" CommentCount="9" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="8757" PostTypeId="2" ParentId="8752" CreationDate="2011-10-27T19:22:04.090" Score="11" Body="&lt;p&gt;This is &lt;a href=&quot;http://www.cs.uwaterloo.ca/~cleve/courses/F11CS667/assignment3.pdf&quot; rel=&quot;nofollow&quot;&gt;Assignment 3, Question 5&lt;/a&gt; in Richard Cleve's ongoing &lt;a href=&quot;http://www.cs.uwaterloo.ca/~cleve/courses/F11CS667/&quot; rel=&quot;nofollow&quot;&gt;intro to quantum computing course&lt;/a&gt;. (Seems like this assignment was due today.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;While we're not supposed to answer homework questions on CSTheory, fortunately the assignment answers all your questions. It also takes you through the construction of the quantum algorithm. I strongly recommend reading it.&lt;/p&gt;&#xA;" OwnerUserId="206" LastActivityDate="2011-10-27T19:22:04.090" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8758" PostTypeId="1" CreationDate="2011-10-27T19:38:24.770" Score="12" ViewCount="316" Body="&lt;p&gt;The paper &quot;Symbolic Finite State Transducers, Algorithms and Applications&quot; by Bjorner et al (to appear at POPL 2012) describes one type of finite-state, infinite-alphabet automata/transducers by using predicates from any decidable theory as the alphabet. The paper also references quite a few others including:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&quot;Automata and logics for words and trees over an infinite alphabet&quot; by Segoufin, &lt;/li&gt;&#xA;&lt;li&gt;&quot;Finite memory automata&quot; by Kaminski and Francez, FOCS 1990&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I'm wondering whether there's a good survey on different infinite alphabet automata models.&lt;/p&gt;&#xA;" OwnerUserId="969" LastEditorUserId="186" LastEditDate="2011-10-27T22:39:58.307" LastActivityDate="2011-10-27T22:39:58.307" Title="Survey on infinite alphabet automata?" Tags="&lt;reference-request&gt;&lt;fl.formal-languages&gt;&lt;automata-theory&gt;&lt;survey&gt;" AnswerCount="0" CommentCount="1" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="8759" PostTypeId="1" AcceptedAnswerId="8784" CreationDate="2011-10-27T22:32:34.583" Score="1" ViewCount="570" Body="&lt;p&gt;Assume we have two counting (functional) complexity classes $A$ and $B$. Suppose that&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Under Karp-like reductions $A$ is strictly inside $B$.   &lt;/li&gt;&#xA;&lt;li&gt;Under Cook-like reductions $P^A=P^B$.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What does this tell us about the relationship between these two&#xA;  counting complexity classes?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="1590" LastEditorUserId="1590" LastEditDate="2011-11-01T01:53:42.527" LastActivityDate="2011-11-01T01:53:42.527" Title="Karp-like reductions vs Cook-like reductions for Functional Complexity Classes. " Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;counting-complexity&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="8761" PostTypeId="1" CreationDate="2011-10-28T01:48:31.753" Score="0" ViewCount="422" Body="&lt;p&gt;As most well-known universities are, my university also has a theoretical-based CS curriculum where the classes either teach straight-up theory, or teach you how to implement systems rather how to &lt;em&gt;use&lt;/em&gt; them effectively.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I originally came into CS hoping for knowledge about how the world works (in a practical sense) so that I'd be able to see opportunities &amp;amp; advantages in every corner (if you know what I mean). So I was hoping that I could streamline what I'm learning in my courses to optimize it toward this goal.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I need some suggestions on what skills or knowledge I should accumulate before I graduate and apply for graduate school, or get a job in industry (hopefully more than &lt;em&gt;just&lt;/em&gt; programming). Basically, I'm looking for a good direction.&lt;/p&gt;&#xA;" OwnerUserId="6830" LastActivityDate="2011-10-28T13:32:01.497" Title="What can I do to supplement my theoretical undergraduate CS curriculum so that I can increase my value in industry &amp; academia?" Tags="&lt;soft-question&gt;" AnswerCount="3" CommentCount="7" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8762" PostTypeId="2" ParentId="8755" CreationDate="2011-10-28T02:19:20.623" Score="8" Body="&lt;p&gt;What you ask for should have bad consequences but I cannot think of any immediately. So I have only some pointers to what we know.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Check out Viola's &lt;a href=&quot;http://www.ccs.neu.edu/home/viola/papers/shallow.pdf&quot;&gt;On the power of small depth computation&lt;/a&gt; The best we know is Valiant's construction for boolean circuits: log depth linear sized circuits to depth 3 subexp circuits. (We know better for &lt;a href=&quot;http://www.cse.iitk.ac.in/users/manindra/algebra/depth-four.pdf&quot;&gt;arithmetic circuits&lt;/a&gt;.) &#xA;There are also some results of Beigel/Tarui on ACC begin contained in bounded depth circuits of superpoly size. I don't recall it being extended to all of $NC^1$ though.&lt;/p&gt;&#xA;" OwnerUserId="1449" LastActivityDate="2011-10-28T02:19:20.623" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="8763" PostTypeId="2" ParentId="8761" CreationDate="2011-10-28T07:24:55.717" Score="4" Body="&lt;p&gt;This list is not hard-line TCS, but nevertheless:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Data mining and statistics – there's a lot of data out there and companies want to understand and exploit it.&lt;/li&gt;&#xA;&lt;li&gt;AI – so that your applications can have that &quot;human&quot; touch. &lt;/li&gt;&#xA;&lt;li&gt;machine learning - for when it's too hard to write an algorithm, let the machine do it for you.&lt;/li&gt;&#xA;&lt;li&gt;Programming language theory (and implementation) – Domain Specific Languages are becoming more popular, and when it comes time to design and implement such a thing, having good principles behind you will be extremely useful to design more sensible languages&lt;/li&gt;&#xA;&lt;li&gt;Linear algebra and the foundations of computer graphics – just in case you need to put something other than text fields etc on the screen.&lt;/li&gt;&#xA;&lt;li&gt;Newtonian physics – if you need to implement a game, then you'll need to need to understand basic physics to help make the worlds behave realistically.&lt;/li&gt;&#xA;&lt;li&gt;Model checking – finds application in hardware design, and sometimes in software, certainly for some safety-critical systems&lt;/li&gt;&#xA;&lt;li&gt;Verification – used less commonly, but starting to find application in safety-critical systems.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Of course what will really help in the real world is a good &lt;em&gt;design&lt;/em&gt; course and, I believe, exposure to many &lt;em&gt;different&lt;/em&gt; programming languages. Getting a grasp on concurrent and distributed programming concepts, problems and solutions will also ready you for the future developments in the real world.&lt;/p&gt;&#xA;" OwnerUserId="77" LastEditorUserId="77" LastEditDate="2011-10-28T07:54:18.503" LastActivityDate="2011-10-28T07:54:18.503" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8764" PostTypeId="1" AcceptedAnswerId="8774" CreationDate="2011-10-28T09:25:14.773" Score="4" ViewCount="349" Body="&lt;p&gt;This questions is cross-posted from &lt;a href=&quot;https://mathoverflow.net/questions/78707/are-all-quantum-cellular-automata-invertible-representable&quot;&gt;MathOverflow&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A little background: As far as I know there is no standard definition of a quantum cellular automaton in the literature. Different authors use different definitions. Here I propose my own definition (though I probably consider it my own out of ignorance rather than originality). This definition seems very natural but immediately raises several questions which I find difficult to answer. Here I ask the two questions that seem the most fundumental. Here it goes:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Fix $V$ a complex inner product vector space of finite dimension $n$. Consider $A$ the *-algebra End($V$). Take $\Gamma = \mathbb{Z}^d$ a lattice. Define the *-algebra $A_\Gamma$ (quantum cellular automaton observables) in the following manner. Assign to each element $x$ of $\Gamma$ a copy $A_x$ of $A$. To each finite subset $S$ of $\Gamma$ we can correspond the *-algebra $A_S$ defined by&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$A_S$ := Tensor product of $A_x$ over $x \in S$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For two finite subsets $S$, $R$ of $\Gamma$ with $S$ contained in $R$ we have the morphism &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$i_{S,R}$: $A_S \rightarrow A_R$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;obtained by tensoring with $1 \in A_y$ for all $y \in R\backslash S$. We define $A_\Gamma$ to be the direct limit of $A_S$ w.r.t. $S$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Denote $T_\Gamma$ the group of translations of $\Gamma (Z^d)$. $T_\Gamma$ acts on $A_\Gamma$ in the obvious manner.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A &lt;em&gt;quantum cellular automaton&lt;/em&gt; is defined to be a *-endomorphism of $A_\Gamma$ commuting with the action of $T_\Gamma$. An &lt;em&gt;invertible quantum cellular automaton&lt;/em&gt; is defined to be a *-automorphism of $A_\Gamma$ commuting with the action of $T_\Gamma$. The 1st question is:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Are all quantum cellular automata invertible?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Any unit vector $v \in V$ defines a state &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\phi_v$: $A_\Gamma \rightarrow C$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;in the following manner. Suppose $S$ is a finite subset of $\Gamma$ and for any $x \in S$, $a_x$ is an element of $A_x$. Then we have $a_S$ an element of $A_S$ (and hence of $A_\Gamma$) defined by&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$a_S$ := tensor product of $a_x$ over $x \in S$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We then define&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\phi_v(a_S)$ := product of $(v, a_x v)$ over $x \in S$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is easy to see this extends uniquely to a linear map $\phi_v$: $A_\Gamma \rightarrow C$ and that the map is a state.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Fix $v$ in $V$. We construct the Hilbert space $H_v$ in the following manner. Choose $v_1$ ... $v_n$ an orthonormal basis of $V$ s.t. $v_1 = v$. Consider maps &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\alpha: \Gamma \rightarrow \{1 ... n\}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;s.t. $\alpha(x) = 1$ for all $x$ except a finite set. Define $J$ to be the set of such $\alpha$. To each $\alpha \in J$ we assign the basis vector $\Psi_\alpha$ of $H_v$, thought of as&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\Psi_\alpha$ := tensor product of $v_\alpha(x)$ over $x \in \Gamma$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thus $H_v$ is defined to be $l^2(J)$. It is easy to see that $H_v$ thus defined depends only on $v$ and not on $v_2$ ... $v_n$ i.e. that for any two choices of $v_2$ ... $v_n$, there is a canonical isomorphism between the corresponding Hilbert spaces.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is a natural *-homomorphism &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\rho$: $A_\Gamma \rightarrow B(H_v)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where $B(H_v)$ is the *-algebra of bounded operators on $H_v$. Thus, any unit vector $\Psi \in H_v$ defines a state &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\phi_\Psi$: $A_\Gamma \rightarrow C$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;by&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\phi_\Psi(a) = (\Psi, \rho(a) \Psi)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, fix an invertible quantum cellular automaton $f$: $A_\Gamma \rightarrow A_\Gamma$. Suppose $v$ in $V$ is s.t. $\phi_v$ is $f$-invariant. Then $f$ is called &lt;em&gt;$v$-representable&lt;/em&gt; if there exists &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$U$: $H_v \rightarrow H_v$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;a unitary operator s.t. for any $\Psi \in H_v$ we have&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\phi_U \Psi = f^*(\phi_\Psi)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is clear that if such $U$ exists it is unique.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The 2nd question is:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is any invertible quantum cellular automaton $v$-representable for any $v$ with $\phi_v$ $f$-invariant?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="7030" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2011-10-29T12:26:50.463" Title="Quantum cellular automata" Tags="&lt;quantum-computing&gt;&lt;cellular-automata&gt;" AnswerCount="1" CommentCount="7" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8765" PostTypeId="2" ParentId="3462" CreationDate="2011-10-28T09:31:41.320" Score="5" Body="&lt;p&gt;An interesting source is D. E. Knuth: &lt;a href=&quot;http://www-cs-faculty.stanford.edu/~uno/taocp.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;The Art of Computer Programming, Volume 4, Fascicle 1, Bitwise Tricks &amp;amp; Techniques; Binary Decision Diagrams&lt;/a&gt;, Addison-Wesley, Pearson Education 2009&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On page 96, there is a BDD for all bits of z = x⋅y, where x and y have 3 bits. It shows, that in the case of 3 bits, BDD representing the most significant bit has 7 non-terminal nodes. See the image bellow, I have redraw it using your indices x = (x2,x1,x0) and y = (y2,y1,y0).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On page 140 in Knuth's book, there is a question (no. 183) about BDD representing the most significant bit for multiplication of two numbers with infinitely many bits (it is called &quot;limiting leading bit function&quot;) - this is similar to what you are loking for! The answer on page 223 gives first levels of the resulting BDD and discusses the number of nodes on all levels, but unfortunatelly it does not give algorithm to construct such a BDD.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/DUsIO.png&quot; alt=&quot;The most significant bit for multiplication of two 3-bits numbers&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Fig. 1: The most significant bit for multiplication of (x2,x1,x0) * (y2,y1,y0)&lt;/p&gt;&#xA;" OwnerUserId="7015" LastActivityDate="2011-10-28T09:31:41.320" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8766" PostTypeId="2" ParentId="8761" CreationDate="2011-10-28T09:59:42.783" Score="7" Body="&lt;p&gt;&lt;i&gt;I need some suggestions on what skills or knowledge I should accumulate before I graduate and apply for graduate school, or get a job in industry (hopefully more than just programming). Basically, I'm looking for a good direction.&lt;/i&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What are you &lt;em&gt;really&lt;/em&gt; passionate about?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Among the things that you're really passionate about, what are you &lt;em&gt;really&lt;/em&gt; good at?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Do &lt;em&gt;that&lt;/em&gt;.&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Talk to everyone you can who does &lt;em&gt;that&lt;/em&gt;.  Figure out who does &lt;em&gt;that&lt;/em&gt; well and who just spouts shiny nonsense about doing &lt;em&gt;that&lt;/em&gt;.  Ask the good ones how they got good at doing &lt;em&gt;that&lt;/em&gt;.  Do what they do.  Most of what they do won't work for you, but until you try and fail yourself, you won't know what works and what doesn't.  And you &lt;em&gt;will&lt;/em&gt; fail; brush it off, get back up, and keep doing &lt;em&gt;that&lt;/em&gt;.  Don't avoid the uncomfortable, frustrating,  boring, but necessary stuff you have to do to learn to do &lt;em&gt;that&lt;/em&gt; well and to keep doing &lt;em&gt;that&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Oh, and as long as you're in college, you might as well take some classes.&lt;/p&gt;&#xA;" OwnerUserId="111" LastActivityDate="2011-10-28T09:59:42.783" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8767" PostTypeId="2" ParentId="8761" CreationDate="2011-10-28T13:32:01.497" Score="3" Body="&lt;p&gt;Caveat emptor: I know little about the real world, but let me put in a quick plug for learning theory.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One of the most marketable fields of CS at the moment (and one of the most valuable skills) is machine learning. (see &lt;a href=&quot;http://hunch.net/?p=275&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt; for a discussion). This is the backbone of most of Google's services, and any other company that seeks to offer intelligent personalization of any sort (targeted ads, personalized recommendations, etc.).  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Luckily, machine learning also has a rich and well developed theory, both of the STOC/FOCS variety (see courses &lt;a href=&quot;http://www.cs.cmu.edu/~avrim/ML10/&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt; and &lt;a href=&quot;http://www.cs.columbia.edu/~cs4252/&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;), and of the statistical variety (see, e.g. &lt;a href=&quot;http://www.cs.cmu.edu/~10702/&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;), and of course there is now plenty of overlap. Remarkably, some of this theory actually has relevance to practice (Boosting, SVMS, online learning, more), and it is easier to move between theory and practice in this particular area of theory than in say, complexity theory.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course, soon the same should be true of &lt;a href=&quot;http://www.cis.upenn.edu/~aaroth/courses/privacyF11.html&quot; rel=&quot;nofollow&quot;&gt;data privacy&lt;/a&gt;. :-)&lt;/p&gt;&#xA;" OwnerUserId="25" LastActivityDate="2011-10-28T13:32:01.497" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8768" PostTypeId="1" CreationDate="2011-10-28T16:30:01.073" Score="8" ViewCount="186" Body="&lt;p&gt;I'm curious to know if any papers exist on the ability of steganographically-altered image data to retain its integrity after it has been re-encoded into a different format (e.g., from PNG to JPEG). Is this an inherent trait in good steganography implementations, or is this an issue that needs to be treated separately?&lt;/p&gt;&#xA;" OwnerUserId="7034" LastEditorUserId="7034" LastEditDate="2011-10-28T21:43:59.753" LastActivityDate="2012-01-18T20:40:55.500" Title="Digital steganography re-encoding resistance" Tags="&lt;cr.crypto-security&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8769" PostTypeId="2" ParentId="8749" CreationDate="2011-10-28T16:30:18.843" Score="12" Body="&lt;p&gt;What you seem to call a &lt;em&gt;reduction in the classical sense&lt;/em&gt; is usually called a &lt;em&gt;parsimonious reduction&lt;/em&gt; between counting problems. But there are different possibilities for counting problems. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Parsimonious reduction&lt;/strong&gt;: $f$ is reducible to $g$ if there exists a polytime computable function $\rho:\{0,1\}^\star\to\{0,1\}^\star$ such that for every $x\in\{0,1\}^\star$,$f(x)=g(\rho(x))$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Many-one reduction&lt;/strong&gt;:  $f$ is reducible to $g$ if there exist polytime computable functions $\rho:\{0,1\}^\star\to\{0,1\}^\star$ and $\tau:\mathbb N\to\mathbb N$ such that for every $x\in\{0,1\}^\star$, $f(x)=\tau(g(\rho(x)))$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Oracle reduction&lt;/strong&gt;: $f$ is reducible to $g$ if $f(x)$ can be computed in polynomial time using an oracle for $g$ (there is an special oracle tape on your TM such that if $x$ is written, you get $g(x)$ in one step).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Using these definitions (note that some authors may have different names for the same notions), what you are saying is that the classical proofs show that the permanent is $\sharp\mathsf P$-complete for &lt;em&gt;many-one&lt;/em&gt; reductions, and not &lt;em&gt;parsimonious&lt;/em&gt; reductions. And the question is: Is the permanent $\sharp\mathsf P$-complete for parsimonious reductions?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strike&gt;I do not know a definitive answer to this question, but I wonder if there is a link with the fact that the permanent is NOT $\sharp\mathsf P$-complete in characteristic $2$. If there were a parsimonious reduction, wouldn't it work in characteristic $2$?&lt;/strike&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The answer to this question has been given in comments by Markus Bläser: The problem of testing the permanent (of a $\{0,1\}$-matrix) for zero is in $\mathsf P$ since it is equivalent to testing the existence of a perfect matching in a bipartite graph.  If the permanent were $\sharp\mathsf P$-complete for parsimonious reductions, this would give an algorithm that associates to each 3-CNF formula a matrix whose permanent is exactly the number of valid assignments of the formula. By testing this permanent for zero, we would know whether the formula is satisfiable or not.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Short answer:&lt;/strong&gt; The permanent is $\sharp\mathsf P$-complete under &lt;em&gt;many-one&lt;/em&gt; reductions, but not under &lt;em&gt;parsimonious&lt;/em&gt; reductions unless $\mathsf P=\mathsf{NP}$. &lt;/p&gt;&#xA;" OwnerUserId="976" LastEditorUserId="976" LastEditDate="2011-11-03T21:05:40.023" LastActivityDate="2011-11-03T21:05:40.023" CommentCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="8770" PostTypeId="1" CreationDate="2011-10-29T06:49:52.500" Score="3" ViewCount="310" Body="&lt;p&gt;We know that &lt;a href=&quot;http://en.wikipedia.org/wiki/PP_%28complexity%29&quot; rel=&quot;nofollow&quot;&gt;$\mathsf{PP}$&lt;/a&gt; is equal in power to &lt;a href=&quot;http://en.wikipedia.org/wiki/Sharp-P&quot; rel=&quot;nofollow&quot;&gt;$\#\mathsf{P}$&lt;/a&gt; in the sense that $\mathsf{P^{PP}} = \mathsf{P}^{\#\mathsf{P}}$ (see the &lt;a href=&quot;http://qwiki.stanford.edu/index.php/Complexity_Zoo%3aP#psharpp&quot; rel=&quot;nofollow&quot;&gt;Complexity Zoo&lt;/a&gt; entry). The similar question about &lt;a href=&quot;http://en.wikipedia.org/wiki/Parity_P&quot; rel=&quot;nofollow&quot;&gt;$\mathsf{\oplus P}$&lt;/a&gt;'s power is not known.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We can think of $\mathsf{PP}$ as giving the most significant bit of the number of solutions and $\mathsf{\oplus P}$ as giving the least significant bit. This question is about the underlying reason for their difference. Lets use $\#M$ to denote the number of solutions for $M$ on a given input $x$, i.e. $\#M = \{y : (x,y)\in M\}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For two given formulas $f$ and $g$, we can easily create formulas such that the number of their solutions will be $\#f+1$, $\#f + \#g$, $\#f \cdot \#g$, and $\#f \mod 2$. Is the problem about finding a formula which has $\#f \ / \ 2$ solutions?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If this is the case, has there been any work in this area? What is the state of the art?&lt;/p&gt;&#xA;" OwnerUserId="7104" LastEditorUserId="186" LastEditDate="2011-10-29T10:49:01.197" LastActivityDate="2011-10-29T10:49:01.197" Title="Open Problem Concerning Parity Sat" Tags="&lt;cc.complexity-theory&gt;" AnswerCount="0" CommentCount="9" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8773" PostTypeId="1" CreationDate="2011-10-29T10:39:29.057" Score="1" ViewCount="382" Body="&lt;p&gt;Let $f$ be a boolean function over $n$ variables $f: \{ 0, 1 \}^n \rightarrow \{ 0, 1 \}$. We are looking now for a representation of $f$ s.t. when given that representation and values $x_1, \ldots, x_n$, a turing machine in $PH$ can decide whether $f(x_1, \ldots, x_n) = 1$.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What is the smallest representation of a boolean function meeting these requirements?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Circuits seem an intuitive choice, and a turing machine in $P$ can decide whether a set of values $x_1, \ldots, x_n$ satisfies that function. But circuits take upto exponential size in $n$, so we're hoping on smaller representations, given that the complexity of the machine calculating the result of the function can be much higher.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are no bounds on the complexity of the function computing the representation.&lt;/p&gt;&#xA;" OwnerUserId="936" LastEditorUserId="186" LastEditDate="2011-10-30T17:40:51.910" LastActivityDate="2011-10-30T17:40:51.910" Title="Succinct representation of boolean functions" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;boolean-functions&gt;&lt;upper-bounds&gt;" AnswerCount="0" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="8774" PostTypeId="2" ParentId="8764" CreationDate="2011-10-29T12:26:50.463" Score="3" Body="&lt;p&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/users/248/niel-de-beaudrap&quot;&gt;Niel de Beausdrap&lt;/a&gt; found &lt;a href=&quot;http://arxiv.org/abs/quant-ph/0405174%20&quot; rel=&quot;nofollow noreferrer&quot;&gt;this&lt;/a&gt; article. The authors (Schumacher and Werner) propose a definition of quantum cellular automata and prove they are always invertible (Corrolary 7 on p. 10). Nominally their definition is different since they use the norm-completion of the algebra $A_\Gamma$ and impose a locality condition. However, it is actually equivalent.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Their locality condition states that the image of $A_x$ has to be contained in $A_S$ for some finite S. However, if we avoid the norm completion it holds automatically since any element of the direct limit is in $A_S$ for some finite S and $A_x$ is finite dimensional.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Moreover, an endomorphism of $A_\Gamma$ is always continuous hence extends to the completion. This is because the matrix norm can be defined algebrically as the maximal |lambda| for which a*a - lambda is non-invertible.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Representability follows from their Theorem 6 on p. 10 which gives a rather explicit (modulo some complicated constraints) description of all nearest-neighbour quantum cellular automata. As discussed on p. 9 this description encodes two finite-dimensional unitary operators. These operators can be easily used to construct the operator $U$ I seek.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As discussed on p. 8 the case of non-nearest-neighbour can be easily reduced to this case&lt;/p&gt;&#xA;" OwnerUserId="7030" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.743" LastActivityDate="2011-10-29T12:26:50.463" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8776" PostTypeId="2" ParentId="174" CreationDate="2011-10-29T21:11:11.053" Score="15" Body="&lt;p&gt;Proving the existence of hard-on-average problems in NP using the P≠NP assumption.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Bogdanov and Trevisan, Average-Case Complexity, Foundations and Trends in Theoretical Computer Science Vol. 2, No 1 (2006) 1–106&lt;/p&gt;&#xA;" OwnerUserId="495" LastActivityDate="2011-10-29T21:11:11.053" CommentCount="2" CommunityOwnedDate="2011-10-29T21:11:11.053" ContentLicense="CC BY-SA 3.0" />
  <row Id="8777" PostTypeId="1" CreationDate="2011-10-29T22:02:42.813" Score="6" ViewCount="326" Body="&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Graph_automorphism_problem&quot; rel=&quot;nofollow&quot;&gt;Graph automorphism problem&lt;/a&gt; ( GA) of determining whether a graph has a nontrivial automorphism is a good candidate for a problem in NP-intermediate. I'm looking for references that study the certificate complexity of graph non-automorphism (GNA= {G| G is rigid or asymmetric graph}). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is the best known lower bound on the length of certificates that proves a graph is rigid ($G \in GNA$)? Also, Is there a plausible conjecture that prohibits sub-exponential certificates for Co-NP-complete problems (analogues to ETH)?&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="186" LastEditDate="2011-10-30T17:34:28.267" LastActivityDate="2012-01-23T19:43:05.150" Title="Best lower bound for proof complexity of graph non-automorphism problem" Tags="&lt;cc.complexity-theory&gt;&lt;graph-isomorphism&gt;&lt;proof-complexity&gt;&lt;automorphism&gt;" AnswerCount="1" CommentCount="7" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="8778" PostTypeId="1" CreationDate="2011-10-30T20:15:05.677" Score="11" ViewCount="1329" Body="&lt;p&gt;Let ${\bf L}$ be the $n\times n$ Laplacian of a graph. What is the worst case complexity for calculating the maximum eigeinvector of ${\bf L}$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there any families of Laplacians for which it takes almost linear time?&lt;/p&gt;&#xA;" OwnerUserId="6963" LastActivityDate="2011-10-30T20:15:05.677" Title="Complexity of finding the leading eigenvector of a graph Laplacian" Tags="&lt;linear-algebra&gt;&lt;matrices&gt;&lt;sparse-matrix&gt;&lt;compressed-sensing&gt;&lt;linear-equations&gt;" AnswerCount="0" CommentCount="8" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8780" PostTypeId="1" AcceptedAnswerId="8781" CreationDate="2011-10-31T05:20:40.167" Score="16" ViewCount="10021" Body="&lt;p&gt;Given most American universities only accept applications in only one field, I'm trying to figure out what are the advantages/disadvantages of applying to a CS theory program vs an applied math program given one's interest lies somewhere in both departments.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To be more specific, my areas of interest in decreasing order are &#xA;1. Combinatorics (Both algebraic and extremal), &#xA;2. Optimization (Both convex and combinatorial), &#xA;3. Probability theory, randomized algorithm, and information theory.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I don't exactly know on what or with whom I want to work which makes applying to graduate programs a huge headache. So far my understanding is applied math programs are more flexible given CS theory groups are usually very small and focused. On the other hand, I feel a CS degree would fare better in industry if one happened to venture that path.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So to reiterate my question, for someone who doesn't exactly know what he wants to do but generally interested in aforesaid topics, which is better? CS Theory or Applied Math&lt;/p&gt;&#xA;" OwnerUserId="7050" LastEditorUserId="7050" LastEditDate="2011-10-31T09:33:48.093" LastActivityDate="2011-10-31T14:09:14.543" Title="Graduate studies (PhD) in CS Theory vs. Applied Math" Tags="&lt;soft-question&gt;&lt;advice-request&gt;&lt;career&gt;" AnswerCount="3" CommentCount="4" FavoriteCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="8781" PostTypeId="2" ParentId="8780" CreationDate="2011-10-31T09:11:55.110" Score="14" Body="&lt;p&gt;My two cents are that in my university we've had both mathematics PhD students working on computer science questions (and faculty in the math department with interests in computer science), as well as some computer science students working primarily on purely combinatorial problems.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You might be right that it's sometimes easier to work on CS questions as a math student, rather than on pure math questions as a CS student. Keep in mind that at least in the first two years these two kinds of programs might be fairly different in content. As a math student you will be expected to take core math courses as real analysis, complex analysis, topology, algebra, etc. Combinatorics is usually not part of this core. For a CS program there will be a core CS requirement, which usually involves taking some mix of theoretical and more applied courses. While the core in a math program is fairly standard and strictly enforced, the core in a CS program tends to depend a lot on the program, and the requirements might be more flexible.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, all that is not really of primary importance (although it will be loads of work) and is all over within the first two years. I understand it's hard to know what you want to work on before you're in grad school, and many students change  their fields. Nevertheless, I would encourage you to look at the faculty pages of schools you are considering, see what professors are working on, and write several emails to faculty and students. PhD level studies are much more about personal relationships and personal drive than they're about a program as a whole. Good programs at the PhD level in my view are distinguished by a strong faculty, and an energetic research culture, rather than by curriculum. You should inquire from faculty and current students about questions like the level of collaboration between math and CS departments. And you should really try to find faculty that have a mix of interests that appeals to you. It's a good idea to write to them to express your interest as well.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As far as industry jobs, I'm not sure there is a huge difference between a CS theory degree and an applied math  degree. But I am not very knowledgeable about this.&lt;/p&gt;&#xA;" OwnerUserId="4896" LastActivityDate="2011-10-31T09:11:55.110" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8782" PostTypeId="2" ParentId="8780" CreationDate="2011-10-31T12:49:30.103" Score="11" Body="&lt;p&gt;First, I don't think it is true that at most universities you can only apply to one department or the other. I know many people who have applied to both math and CS departments, particularly at MIT where lots of theoretical computer science is done in the math department. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are also several joint programs between math and CS departments that seem well suited to your interests. Some that come to mind are the ACO programs at CMU (&lt;a href=&quot;http://aco.math.cmu.edu/&quot;&gt;here&lt;/a&gt;) and GAtech (&lt;a href=&quot;http://www.aco.gatech.edu/&quot;&gt;here&lt;/a&gt;). At MIT, it is reasonably easy for you to take an adviser from either department, so it does not make a big difference whether you are in EECS or applied math. &lt;/p&gt;&#xA;" OwnerUserId="25" LastActivityDate="2011-10-31T12:49:30.103" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8783" PostTypeId="2" ParentId="8780" CreationDate="2011-10-31T14:09:14.543" Score="10" Body="&lt;p&gt;I am a PhD graduate student in applied math who faced this exact problem last year. At my university, the applied math track offered much more flexibility in terms of course requirements. The CS track required various theory courses, which I wanted to take, but also required courses in networking, operating systems, and other things that held no interest for me. The applied math track basically allowed me to mix and match courses from either department with almost unlimited freedom. I actually am taking more CS theory classes than I would have been allowed to as a CS student.&lt;/p&gt;&#xA;" OwnerUserId="5538" LastActivityDate="2011-10-31T14:09:14.543" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8784" PostTypeId="2" ParentId="8759" CreationDate="2011-10-31T15:17:00.730" Score="2" Body="&lt;p&gt;I think this situation is too general to draw many conclusions, but here goes...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $A$ is closed under Cook-like reductions, then (2) would imply $B \subseteq A$, contradicting (1), so it tells you that $A$ is not closed under Cook-like reductions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One way to paraphrase the original statement is: to make the classes equal in power requires more than a single query. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;One can then ask about other intermediate types of reductions to get a better sense of just how many queries are needed and in what way e.g. are the classes equivalent under truth-table (nonadaptive) reductions? What's the best bound we can put on the number of queries ($2$, $O(1)$, $O(\log n)$?) Since these are counting classes, one could also ask about parsimonious reductions.&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2011-10-31T15:17:00.730" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="8785" PostTypeId="2" ParentId="4301" CreationDate="2011-10-31T21:10:24.437" Score="10" Body="&lt;p&gt;Ok, so let me try to prove that two is enough, that is $cc(R)\le 2\log_2(pp(R))$. Sorry but sometimes I write leaves instead of number of leaves/pp(R), whenever the number is smaller than 1, I obviously mean this. Also, I usually write &amp;lt; instead of $\le$ to enhance non-tex readability.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Indirect suppose that there is an R for which this is not true and let us take the R with the smallest possible pp(R) that violates the inequality. We basically have to show that using two bits, we can halve the number of leaves in all four outcomes of the protocol tree, then we are done using induction.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Denote the possible set of inputs of Alice by X and of Bob by Y.&#xA;Take the center of the protocol tree that achieves pp(R) leaves, i.e. the node deleting which the tree falls into three parts, each having at most 1/2 of the pp(R) leaves, and denote the corresponding inputs by X0 and Y0.&#xA;Without loss of generality we can suppose that Alice speaks at the center and she tells whether her input belongs to XL or XR, whose disjoint union is X0.&#xA;Denote the ratio of the leaves to pp(R) in XL $\times$ Y0 by L, in XR $\times$ Y0 by R and in the rest by D.&#xA;Now we divide the rest into three more parts, similarly to Doerr, denoting the leaves whose rectangle intersect Y0 $\times$ X by A, whose rectangle intersect X0 $\times$ Y by B and the rest by C.&#xA;Notice that A+B+C=D.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now we know that L+R&gt;1/2, L,R&amp;lt;1/2 and without loss of generality we can suppose that L is at most R. We also know D=A+B+C&amp;lt;1/2. It follows that 2L+A+B&amp;lt;1, from which we know that either L+A&amp;lt;1/2 or L+B&amp;lt;1/2, these will be our two cases.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Case L+A&amp;lt;1/2: First Bob tells whether his input belongs to Y0 or not. If not, we have at most D&amp;lt;1/2 leaves left. If it does, then Alice tells  whether her input belongs to XR or not. If not, we have at most L+A&amp;lt;1/2 leaves left. If it does, then we have R&amp;lt;1/2 leaves left.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Case L+B&amp;lt;1/2: First Alice tells whether her input belongs to XR or not. If it does, then Bob tells whether his belongs to Y0 or not, depending on this we have R or B leaves remaining. If the input of Alice is not in XR, then Alice tells whether her input is in XL or not. If it is, then we have L+B&amp;lt;1/2 leaves remaining. If not, we have at most D&amp;lt;1/2 leaves remaining.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In all cases we are done. Let me know what you think.&lt;/p&gt;&#xA;" OwnerUserId="419" LastActivityDate="2011-10-31T21:10:24.437" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8786" PostTypeId="1" CreationDate="2011-11-01T02:57:23.977" Score="4" ViewCount="207" Body="&lt;p&gt;Many texts on average case complexity claim:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) Any polytime computable distribution is also polytime sampleable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) A polytime sampleable distribution is one where a polytime probabilistic TM generates the distribution on input 1^n.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, suppose we have a distribution, where&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Prob(0) = 1/3&#xA;Prob(1) = 2/3.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Clearly, this distribution is polytime computable. Most texts would this claim that it's also polytime sampleable. However, I don't see how any polytime probabilistic TM can generate the above distribution. [I see how expected polytime proabilistic TM can generate this distribution; but that is not the same as polytime probabilistic TM.]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Question: Where am I going wrong? Am I misunderstanding polytime sampleable, or polytime computable? The distribution defined above, is it&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(1) NOT polytime computable (i.e. writing out 1/3 would take an infinite number of bits) &#xA;or&#xA;(2) It is actually polytime sampleable; since in reality, we only require that the algorithm run in &lt;em&gt;expected&lt;/em&gt; polytime?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks!&lt;/p&gt;&#xA;" OwnerUserId="7104" LastActivityDate="2011-11-01T02:57:23.977" Title="Polytime Computable Distribution vs Polytime Sampleable Distribution" Tags="&lt;cc.complexity-theory&gt;" AnswerCount="0" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8788" PostTypeId="2" ParentId="8444" CreationDate="2011-11-01T16:31:10.910" Score="1" Body="&lt;p&gt;Here is a sketch of an attempt at partial separation. I was trying to improve this over the past two weeks into a full answer, but haven't made much progress. Hopefully someone else knows how to extend it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let &lt;/p&gt;&#xA;&#xA;&lt;p&gt;\[f_{n,m}: \{0,1\}^n \times \{0,1\}^{{m \choose 2}} \rightarrow \{0,1\}\]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So we have a total function on tuples. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$f_{n,m}(x,y)$ returns $1$ if $x = 1^n$ and if $y$ interpreted as the edges of a graph has a clique or independent graph of size $n$. Otherwise, it returns $0$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thus if $R_n$ is the $n$-th diagonal Ramsey number then for $m \geq R_n$ and all $y \in \{0,1\}^{{m \choose 2}}$ we have $f(1^n,y) = 1$. Thus, if we can compute $R_n$ on an input of $1^n$ then we don't have to read the bits of $y$ if $m$ is large enough, and the query complexity of the query-optimal algorithm drops to $n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, $R_n$ is harder to compute on an input of $1^n$ than it is to check if a graph given by edges $y$ has a clique of independent set of size $n$ on input $(1^n,y)$. Thus, a time-optimal algorithm can't afford to compute $R_n$. It could, instead use some approximation $\tilde{R}_n &amp;gt; R_n$. For $m &amp;lt; \tilde{R}_n$ a time-optimal algorithm will read at least some bits of $y$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thus, for $R_n \leq m &amp;lt; \tilde{R}_n$ the query-optimal algorithm will use more time to make fewer queries than the time-optimal algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This approach can be made slightly less hand-wavy (or generalized to other Ramsey-like problems) but I think even the more rigorous attempt doesn't fully answer the question.&lt;/p&gt;&#xA;" OwnerUserId="1037" LastEditorUserId="1037" LastEditDate="2011-11-01T16:40:05.067" LastActivityDate="2011-11-01T16:40:05.067" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8789" PostTypeId="1" CreationDate="2011-11-02T00:03:46.180" Score="-3" ViewCount="211" Body="&lt;p&gt;These terms seem to get thrown around rather vaguely, in my opinion, and was wondering if there were some hard-lined facts about what accounts for which category in these fields. If there aren't any, then, any heuristics for determining how to categorize a system would be helpful :)&lt;/p&gt;&#xA;" OwnerUserId="7071" LastActivityDate="2011-11-04T06:58:44.183" Title="How can you tell between what is a &quot;distributed&quot; system versus &quot;grid&quot; computing versus &quot;cluster&quot; computing?" Tags="&lt;dc.distributed-comp&gt;" AnswerCount="1" CommentCount="5" ClosedDate="2011-11-04T15:20:36.500" ContentLicense="CC BY-SA 3.0" />
  <row Id="8791" PostTypeId="1" AcceptedAnswerId="8793" CreationDate="2011-11-02T04:25:35.147" Score="10" ViewCount="414" Body="&lt;p&gt;Is it apx-hard to approximate fractional chromatic number on bounded degree graphs?&lt;/p&gt;&#xA;" OwnerUserId="372" LastEditorUserId="186" LastEditDate="2011-11-02T15:27:59.767" LastActivityDate="2011-11-02T20:01:18.240" Title="Hardness of approximating fractional chromatic number on bounded degree graphs" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;&lt;approximation-hardness&gt;&lt;graph-colouring&gt;&lt;bounded-degree&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="8792" PostTypeId="1" CreationDate="2011-11-02T10:11:04.600" Score="18" ViewCount="505" Body="&lt;p&gt;The majority vote operation comes up fairly often in fault-tolerance (and no doubt other places), where the function outputs a bit equal to which ever value appears most frequently in the value of the input bits. For simplicity, let's assume that whenever the input contains an equal number of bits in state 0 and state 1, it outputs 0.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This can be generalized to dits where there are more than 2 possibilities for each input by returning the value which occurs most frequently in the input, and in the case of a tie, returning the most frequent value which comes first lexicographically. Let's call this function &quot;plurality vote&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am interested in the output of such a function when each input has a fixed probability distribution (and the distribution is the same for each dit in the input). Specifically I care about the following question.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Given a set $S=\{S_1, S_2,... ,S_n\}$, if the set is independently&#xA;  randomly sampled $N$ times, with probability $p_i$ of choosing the&#xA;  $i^{th}$ element of $S$ each time, for a fixed choice of $v$ what&#xA;  is the probability that the plurality vote of these outputs $S_v$?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Now, it is straight forward to calculate the exact answer to the above question as a sum over multinomial distributions. However, for my purposes, this is less than ideal, and a closed for approximation would be better. So my question is:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What closed form approximation to the above probability has the&#xA;  tightest bound on the maximum distance from the exact value?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="204" LastActivityDate="2012-01-01T23:25:37.593" Title="What is the best approximation for majority vote?" Tags="&lt;co.combinatorics&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="8793" PostTypeId="2" ParentId="8791" CreationDate="2011-11-02T10:36:47.657" Score="11" Body="&lt;p&gt;Yes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If I understood correctly, the proof of Theorem 1.6 in &lt;a href=&quot;http://dx.doi.org/10.1109/SFCS.2001.959936&quot; rel=&quot;nofollow&quot;&gt;Khot (2001)&lt;/a&gt; establishes that it is NP-hard to distinguish between the following two cases, even if we focus on bounded-degree graphs of sufficiently high degree:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;There is a $k$-colouring.&lt;/li&gt;&#xA;&lt;li&gt;The ratio of the number of vertices to the maximum size of an independent set is at least $k^{\log(k)/25}$.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;From the perspective of fractional chromatic number these two cases are:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;The fractional chromatic number is at most $k$.&lt;/li&gt;&#xA;&lt;li&gt;The fractional chromatic number is at least $k^{\log(k)/25}$.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Now we must remember that we need sufficiently high degrees (as a function of $k$). But as far as I can see, the proof has, e.g., the following convenient corollary that might already be sufficient for your purposes:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Given any constant $\alpha$, there are constants $\Delta$ and $c$ such that the following problem in NP-hard: given a graph $G$ of maximum degree $\Delta$, decide whether the fractional chromatic number of $G$ is at most $c$ or at least $\alpha c$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;An of course this already implies that there is no PTAS, unless P = NP.&lt;/p&gt;&#xA;" OwnerUserId="74" LastEditorUserId="74" LastEditDate="2011-11-02T20:01:18.240" LastActivityDate="2011-11-02T20:01:18.240" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="8794" PostTypeId="1" AcceptedAnswerId="8795" CreationDate="2011-11-02T11:50:40.780" Score="-1" ViewCount="630" Body="&lt;p&gt;A one-line proposition $A$ can generate a 100-page proof $p(A)$. Since the proof is very long, it's highly suspectable that there is a mistake in it, which cannot be found out even after careful proofread by many people. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;So we should write a proof $p(p(A))$ to make sure $p(A)$ is correct. By a similar argument, we should have $p(p(p(A))), p(p(p(p(A)))), \dots$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This seems ridiculous because $1+1=2$ is commonly known as correct, which doesn't need a complicated proof. So (from my own point of view) it's better to regard a proof as a decomposition of a proposition into a series of axioms. But there are two problems:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;How many axioms do we need? Are they consistent?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;What is the structure of this decomposition (that makes it hard for a machine to do automatic proof)?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;It seems the first problem has something to do with Gödel's Incompleteness Theorem. I'd sincerely thank those who recommend me very clear and illustrative materials about it. I'd also like to know what background will be needed to understand it. I tried to read the original paper but didn't quite understand &#xA;what are the more fundamental facts that we can rely on to prove this theorem. (Maybe Peano Arithmetic and ZFC?)&lt;/p&gt;&#xA;" OwnerUserId="4471" LastEditorUserId="186" LastEditDate="2011-11-02T13:35:09.643" LastActivityDate="2011-11-02T13:35:09.643" Title="How to prove a proof is correct" Tags="&lt;lo.logic&gt;" AnswerCount="1" CommentCount="8" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8795" PostTypeId="2" ParentId="8794" CreationDate="2011-11-02T13:34:36.617" Score="6" Body="&lt;p&gt;I am not sure if the question is on topic here, it seems to contain basic misunderstandings about logic and mathematics (e.g. &quot;This seems ridiculous because 1+1=2 is commonly known as correct, which doesn't need a complicated proof.&quot;), and therefore seems more appropriate for Math.SE. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Nonetheless, there is something interesting and related to it in proof complexity:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I assume that you are familiar with the notion of a Cook-Reckhow &lt;a href=&quot;http://en.wikipedia.org/wiki/Propositional_proof_system&quot;&gt;propositional proof system&lt;/a&gt;. Jan Krajicek has studied something similar to what you describe in the context of proof complexity named &lt;a href=&quot;http://www.karlin.mff.cuni.cz/~krajicek/implicit.ps&quot;&gt;Implicit Proofs&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The idea is that sometimes we can give a proof of a tautology succinctly by providing a small circuit that generates the bits of a proof in a propositional proof system $Q$. The problem is how can we know the bits generated by the circuit really represent a proof? The size of the circuit can be small (polynomial in $n$) with $n$ inputs and can describe an object of size $2^n$, so constructing the complete proof and checking its correctness can be an unfeasible task. The solution is to give a proof of correctness of the succinctly represented proof in $Q$ in a proof system $Q&amp;#39;$. This new proof system is called $[Q,Q&amp;#39;]$ (note the $Q$ and $Q&amp;#39;$ can be the same system). Furthermore, Krajicek shows that for reasonable behaving propositional proof systems $Q$, the resulting system $[Q,Q]$ can p-simulate the $Q$. And you can repeat this processes and obtain potentially stronger and stronger systems (note that if there is optimal proof system then this construction will not give a stronger system, but just another optimal one), and then you can take union of these systems and continue.&lt;/p&gt;&#xA;" OwnerUserId="186" LastActivityDate="2011-11-02T13:34:36.617" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="8797" PostTypeId="2" ParentId="8792" CreationDate="2011-11-02T22:01:49.400" Score="1" Body="&lt;p&gt;If $p_v &amp;gt; p_i$ for all $i \ne v$, then&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;\mathrm{Pr}[\mbox{outcome is different from $v$}] \leq \min_T \left(Pr[B(N, p_v) \leq T] + Pr[\forall i \ne v \quad B(N, p_i) \geq T]\right),&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where $B(n, p)$ is binomial distribution, and $T$ is an arbitrary threshold. Plugging $T = N (p_v + \max_{i \ne v} p_v) / 2$ and using Chernoff bounds, one can upper-bound this probability as $e^{-\Omega(N)}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course, if $p_v$ is not maximum, then you get the opposite picture. With overwhelming probability $v$ is not outcome.&lt;/p&gt;&#xA;" OwnerUserId="141" LastEditorUserId="141" LastEditDate="2011-11-02T22:13:28.277" LastActivityDate="2011-11-02T22:13:28.277" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="8798" PostTypeId="1" CreationDate="2011-11-02T23:34:49.413" Score="1" ViewCount="504" Body="&lt;p&gt;I originally posted this question at the programmers section of StackExchange (because that section is supposed to deal with data structures and algorithms), but they suggested posting in the math section. Read the FAQ there didn't mention anything about algorithms, but did suggest this section: cs theory. If this should really live in the math section, I'll repost there and delete from here.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Link to the the original question: &lt;a href=&quot;https://softwareengineering.stackexchange.com/questions/117136/converting-a-bounded-knapsack-problem-to-0-1-knapsack-problem&quot;&gt;https://softwareengineering.stackexchange.com/questions/117136/converting-a-bounded-knapsack-problem-to-0-1-knapsack-problem&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I ran across a problem where goal was to use dynamic programming (instead of other approaches). There is a distance to be spanned, and a set of cables of different lengths. What is the minimum number of cables needed to span the distance exactly?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To me this looked like a knapsack problem, but since there could be multiples of a particular length, it was a bounded knapsack problem, rather than a 0/1 knapsack problem. (Treat the value of each item to be its weight.) Taking the naive approach (and not caring about the expansion of the search space), the method I used to convert the bounded knapsack problem into a 0/1 knapsack problem, was simply break up the multiples into singles and apply the well-known dynamic programming algorithm. Unfortunately, this leads to sub-optimal results.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, given cables: 1 x 10ft, 1 x 7ft, 1 x 6ft, 5 x 3ft, 6 x 2ft, 7 x 1ft&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If the target span is 13ft, the DP algorithm picks 7+6 to span the distance. A greedy algorithm would have picked 10+3, but it's a tie for minimum number of cables. The problem arises, when trying to span 15ft. The DP algorithm ended up picking 6+3+3+3 to get 4 cables, while the greedy algorithm correctly picks 10+3+2 for only 3 cables. [I suspect that I just need to tweak my value function, but does the DP algorithm handle value functions that vary depending on what else has been selected? My instincts say no.]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Anyway, doing some light scanning of converting bounded to 0/1, it seems like the well-known approach to convert multiple items to { p, 2p, 4p ... }. My question is how does this conversion work if p+2p+4p does not add up to the number of multiple items. For example: I have 5 3ft cables. I can't very well add { 3, 2x3, 4x3 } because 3+2x3+4x3 &gt; 5x3. Should I add { 3, 4x3 } instead?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[I'm currently trying to grok the &quot;Oregon Trail Knapsack Problem&quot; paper, but it currently looks like the approach used there is not dynamic programming.]&lt;/p&gt;&#xA;" OwnerUserId="7058" LastEditorUserId="-1" LastEditDate="2017-04-12T07:32:01.773" LastActivityDate="2011-11-02T23:34:49.413" Title="Converting a bounded knapsack problem to 0/1 knapsack problem" Tags="&lt;ds.algorithms&gt;&lt;dynamic-programming&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="8799" PostTypeId="1" AcceptedAnswerId="8811" CreationDate="2011-11-03T00:43:36.277" Score="10" ViewCount="2631" Body="&lt;p&gt;Suppose I have a simple polygon $S$ and an integer $k$.  What are some existing approaches for finding the smallest radius $r$ such that I can cover $S$ with $k$ circles of radius $r$?  How about if $r$ is fixed, and I want to minimize $k$?&lt;/p&gt;&#xA;" OwnerUserId="6275" LastActivityDate="2020-03-11T03:09:57.683" Title="Covering a simple polygon with circles" Tags="&lt;cg.comp-geom&gt;&lt;planar-graphs&gt;&lt;set-cover&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8800" PostTypeId="2" ParentId="6589" CreationDate="2011-11-03T11:58:58.030" Score="8" Body="&lt;p&gt;One technique I've found useful is to think about what other results would the proof strategy be able to prove. If I'm easily able to adapt the proof strategy to prove a big open problem or even a problem that isn't open but which has a much too complicated solution compared to the complexity of the proof strategy, then that's a big reason to doubt the proof.&lt;/p&gt;&#xA;" OwnerUserId="24" LastActivityDate="2011-11-03T11:58:58.030" CommentCount="1" CommunityOwnedDate="2011-11-03T11:58:58.030" ContentLicense="CC BY-SA 3.0" />
  <row Id="8801" PostTypeId="1" CreationDate="2011-11-03T13:02:12.367" Score="7" ViewCount="475" Body="&lt;p&gt;I need to develop an algorithm to define the minimum bounding box on an N-dimensional space.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Minimum_bounding_box&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/Minimum_bounding_box&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Every reference to this problem that I'm able to find is related to computer graphics (so, only 2 or 3 dimensions). Where can I find some references on the generalised version of this problem?&lt;/p&gt;&#xA;" OwnerUserId="7083" LastActivityDate="2011-11-04T05:10:37.970" Title="Minimum BoundingBox on n-dimensional case" Tags="&lt;cg.comp-geom&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8805" PostTypeId="1" AcceptedAnswerId="8808" CreationDate="2011-11-03T21:02:00.857" Score="20" ViewCount="2510" Body="&lt;p&gt;For instance, in programming languages it's common to write an X-in-X compiler/interpreter, but on a more general level many known Turing-complete systems can simulate themselves in impressive ways (e.g. simulating Conway's Game of Life in Conway's Game of Life).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So my question is: is a system being able to simulate itself sufficient to prove it's Turing complete? It certainly is a necessary condition.&lt;/p&gt;&#xA;" OwnerUserId="7091" LastEditorUserId="186" LastEditDate="2011-11-04T00:44:08.157" LastActivityDate="2011-11-07T16:20:14.337" Title="If an abstract machine can simulate itself, does that make it Turing complete?" Tags="&lt;computability&gt;&lt;automata-theory&gt;&lt;turing-machines&gt;" AnswerCount="3" CommentCount="6" FavoriteCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="8807" PostTypeId="2" ParentId="174" CreationDate="2011-11-03T21:27:14.987" Score="26" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;Derandomization of the Polynomial Identity Testing problem&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The problem is the following: Given an &lt;a href=&quot;http://en.wikipedia.org/wiki/Arithmetic_circuit_complexity&quot;&gt;arithmetic circuit&lt;/a&gt; computing a polynomial $P$, is $P$ identically zero? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This problem can be solved in randomized polynomial time but is not known to be solvable in deterministic polynomial time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Related is Shub and Smale's $\tau$ conjecture. Given a polynomial $P$, we define its $\tau$-complexity $\tau(P)$ as the size of the smallest arithmetic circuit computing $P$ using the sole constant $1$. For a univariate polynomial $P\in\mathbb Z[x]$, let $z(P)$ be its number of real roots.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Prove that there exists a universal constant $c$ such that for every $P\in\mathbb Z[x]$, $z(P)\le (1+\tau(P))^c$. &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="976" LastActivityDate="2011-11-03T21:27:14.987" CommentCount="0" CommunityOwnedDate="2011-11-03T21:27:14.987" ContentLicense="CC BY-SA 3.0" />
  <row Id="8808" PostTypeId="2" ParentId="8805" CreationDate="2011-11-03T21:36:47.220" Score="24" Body="&lt;p&gt;Not necessarily. For instance, the two-dimensional &lt;a href=&quot;http://en.wikipedia.org/wiki/Block_cellular_automaton&quot;&gt;block cellular automaton&lt;/a&gt; with two states, in which a cell becomes live only when its four predecessors have exactly two adjacent live cells, can simulate itself with a factor of two slowdown and a factor of two size blowup, but is not known to be Turing complete. See &lt;a href=&quot;http://dx.doi.org/10.1007/978-1-84996-217-9_7&quot;&gt;The B36/S125 “2x2” Life-Like Cellular Automaton&lt;/a&gt;&#xA;by Nathaniel Johnston for more on this block automaton and on the B36/S125 rule for the Moore neighborhood which is also capable of simulating this block automaton.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2011-11-03T21:36:47.220" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="8810" PostTypeId="2" ParentId="8801" CreationDate="2011-11-04T05:10:37.970" Score="8" Body="&lt;p&gt;See chapter 18 here &lt;a href=&quot;http://goo.gl/pLiEO&quot; rel=&quot;nofollow&quot;&gt;http://goo.gl/pLiEO&lt;/a&gt;. If the dimension is really high then bounding box is the wrong creature to work with. A better choice is the ellipsoid. See chapter 16 about John's ellipsoid - it can be computed efficiently using quadratic programming in some cases.&lt;/p&gt;&#xA;" OwnerUserId="9594" LastActivityDate="2011-11-04T05:10:37.970" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8811" PostTypeId="2" ParentId="8799" CreationDate="2011-11-04T05:14:52.847" Score="11" Body="&lt;p&gt;Use the k-center clustering algorithm: see Section 4.2 in &lt;a href=&quot;http://goo.gl/pLiEO&quot; rel=&quot;noreferrer&quot;&gt;http://goo.gl/pLiEO&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One can get 1+eps approximation algorithm using sliding grids. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is natural to assume the problem is NP-Hard because of the work by Feder and Greene. &lt;/p&gt;&#xA;" OwnerUserId="9594" LastActivityDate="2011-11-04T05:14:52.847" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="8812" PostTypeId="2" ParentId="8805" CreationDate="2011-11-04T06:55:04.397" Score="25" Body="&lt;p&gt;No, it's not. I know two major classes of techniques for avoiding inconsistency/Turing completeness.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;The first line of attack is to set up the system so that syntax can be arithmetized, but Godel's fixed point theorem doesn't go through. Dan Willard has worked extensively on this and given consistent self-verifying logical systems. The trick is to eliminate the multiplication and addition function symbols, and replace them with divisibility and subtraction. This gives you enough horsepower to represent syntax arithmetically, but the fixed point theorem doesn't go through since multiplication is not provably total. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;See Dan Willard. &lt;a href=&quot;http://www.cs.albany.edu/~dew/m/jsl1.pdf&quot;&gt;Self-Verifying Axiom Systems, the Incompleteness Theorem and Related Reflection Principles&lt;/a&gt;. Journal of Symbolic Logic 66 (2001) pp. 536-596. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The second line of attack allows more use of fixed points, but to set things up so that syntax doesn't arithmetize. The prettiest systems for this are (IMO) based on variants of linear logic. For example, in Kazushige Terui's Light Affine Set Theory, even the full &lt;em&gt;unrestricted&lt;/em&gt; set comprehension principle is sound, but since the ambient logic of the set theory is linear (and hence contraction is not allowed), Russell's paradox is not derivable. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The intuitive reason that arithmetization fails is that the light linear function space $A \multimap B$ is set up so that all its inhabitants are polynomial time. As a result, the light linear version of the Peano axioms can't prove exponentiation total (since exponentiation of unary numbers takes exponential time), and so there is no longer an isomorphism between the natural numbers and bit strings. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Kazushige Terui. &lt;a href=&quot;http://www.kurims.kyoto-u.ac.jp/~terui/lastfin.pdf&quot;&gt;Light affine set theory: A naive set theory of polynomial time.&lt;/a&gt; Studia Logica, Vol. 77, No. 1, pp. 9-40, 2004.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think this paper is more accessible after reading the following paper of Yves Lafont:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Y. Lafont, &lt;a href=&quot;http://iml.univ-mrs.fr/~lafont/pub/soft.ps&quot;&gt;Soft Linear Logic and Polynomial Time&lt;/a&gt;, Theoretical Computer Science 318 (special issue on Implicit Computational Complexity) p. 163-180, Elsevier (2004)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Terui's set theory is very expressive, but it's hard to compare with traditional set theories, since proof-theoretic ordinals are not a good tool for comparing very weak systems. For example, Terui's set theory obviously cannot prove exponentiation total, and hence its proof-theoretic strength cannot even reach up to $\omega$. Complexity classes are probably better -- it is complete for polytime (it can prove every polytime function total, but no more). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I tend to think of these kinds of systems as proofs-of-concept for the idea that complexity theory can serve as a foundation for certain kinds of ultrafinitism.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="657" LastEditorUserId="657" LastEditDate="2011-11-07T11:31:08.593" LastActivityDate="2011-11-07T11:31:08.593" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="8813" PostTypeId="2" ParentId="8789" CreationDate="2011-11-04T06:58:44.183" Score="1" Body="&lt;p&gt;The grid computing paradigm emerged as a new field distinguished from traditional distributed computing because of its focus on large-scale resource sharing and innovative high-performance applications such as:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;distributed supercomputing; &lt;/li&gt;&#xA;&lt;li&gt;on demand computing; &lt;/li&gt;&#xA;&lt;li&gt;high throughput computing; &lt;/li&gt;&#xA;&lt;li&gt;data-intensive computing;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Distributed supercomputing applications require multiple supercomputers to solve problems otherwise too large or whose execution is divided on different components that can benefit from execution on different architectures. This class of applications present a number of challenges to be faced, like resource discovery and scheduling, coordinated startup, configuration at multiple sites, wide area message passing and fault tolerance. An example of such application is SF-Express, a distributed interactive simulation of a military battle.&#xA;On demand computing refers to the possibility of dynamically acquiring online instruments (e.g. microscopes, satellite sensors and telescopes) connected by high-speed networks to gather and process the data generated. An experiment of microtomography at photon sources in 1999 demonstrated the feasibility of on demand computing.&#xA;The aim of high throughput computing (HTC) is to schedule many independent jobs for parametric studies or data analysis; in this case a measure of efficiency is the number of jobs processed per unit of time. The two most important tools for HTC, namely Condor and Nimrod are now grid-aware. &#xA;Data-intensive applications extract new knowledge from geographically distributed data archives or digital libraries; issues related to this class of applications include scheduling and configuration of multiple data flows through several hierarchy levels.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally cluster computing refers to the use of a cluster, which is a parallel computer, for running parallel scientific simulations. Therefore, when using just a single cluster you are doing parallel computing; when using more than one simultaneously but for the same application, may be with different architecture, you are doing distributed supercomputing, so this is grid computing. Platform computing, the company producing the LSF scheduler, promotes its LSF multi-cluster capabilities as grid computing.&lt;/p&gt;&#xA;" OwnerUserId="4208" LastActivityDate="2011-11-04T06:58:44.183" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="8814" PostTypeId="2" ParentId="8805" CreationDate="2011-11-04T14:32:05.920" Score="9" Body="&lt;p&gt;Consider the following machine model. The machine with code $i$, upon input $x$, outputs $0$ always.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that any machine $M$ in this model is universal, as $M(\langle \ulcorner M&amp;#39; \urcorner, x \rangle ) = M&amp;#39;(x) = 0$ for all $M&amp;#39;, x$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is clearly not Turing complete but also clearly has universal machines.&lt;/p&gt;&#xA;" OwnerUserId="5538" LastEditorUserId="7096" LastEditDate="2011-11-07T16:20:14.337" LastActivityDate="2011-11-07T16:20:14.337" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="8815" PostTypeId="2" ParentId="3982" CreationDate="2011-11-04T20:21:25.983" Score="7" Body="&lt;p&gt;Check Chapter 6 in the book &quot;The Design of Approximation Algorithms&quot; by Williamson and Shmoys. The book is available on-line here: &lt;a href=&quot;http://www.designofapproxalgs.com/&quot;&gt;http://www.designofapproxalgs.com/&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="1509" LastActivityDate="2011-11-04T20:21:25.983" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8818" PostTypeId="1" AcceptedAnswerId="8824" CreationDate="2011-11-04T20:55:30.283" Score="1" ViewCount="152" Body="&lt;h1&gt;TL;DR:&lt;/h1&gt;&#xA;&#xA;&lt;p&gt;I am looking for theoretical sources about the different manners to implement user access control.&lt;/p&gt;&#xA;&#xA;&lt;h1&gt;Long version&lt;/h1&gt;&#xA;&#xA;&lt;p&gt;I have almost finished all the stand-alone tools needed in my CMS.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am not at the moment where I need to bring all these pieces together.&#xA;Now what I would like to is to create a CMS (and an API) that is completely user-centric.&#xA;This means a very strong, yet easy to use, rights management framework at the base of everything. A bit like unix/linux filesystems work (not the actual implementation, but in the sense that they are at the very core of the system).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This framework would need to account for special cases (&quot;user can access this data until date x&quot;), and implement per-action, or per-item rights (&quot;user can edit &lt;em&gt;articles&lt;/em&gt;, but not article233&quot;), be completely abstract (not tied to any particular database), and not tied to any authentication system. Also, since any request would go through it, it needs to be quite optimized. Lastly, I want to keep it open for modularity.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is quite a large project, and before getting into it, I'd like to gather as much theory about used rights management. I know about ACL (and have already implemented a few custom systems myself), but I am looking for a more abstract, high-level document, ideally, not tied to a particular language. In the article/book I envision, code samples would be rare, a few lines only, and coded in pseudo-code just to illustrate a point.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I've been looking on the net but can only find tutorials about how to implement ACL, or discussions about role-based access control, but nothing about, say, research in the field, innovative/alternative solutions, etc.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Anyone can advise a good book/webpage/resource about that?&lt;/p&gt;&#xA;" OwnerUserId="6142" LastEditorUserId="186" LastEditDate="2011-11-04T21:11:23.210" LastActivityDate="2011-11-05T18:12:50.487" Title="Theory of user control systems?" Tags="&lt;relational-structures&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="8820" PostTypeId="1" CreationDate="2011-11-05T02:27:29.037" Score="6" ViewCount="797" Body="&lt;p&gt;From my experience in the application of semidefinite programming (SDP) to quantum information, I have learnt that the solution to an SDP can sometimes be expressed as an analytic formula. For example, there are SDPs whose solution is the fidelity of two operators or the trace norm of an operator. Does anyone know of more examples? Or more importantly, is there a general theory behind this notion of analytic solutions?&lt;/p&gt;&#xA;" OwnerUserId="7101" LastEditorUserId="39090" LastEditDate="2018-08-17T19:04:47.930" LastActivityDate="2018-08-17T19:04:47.930" Title="Analytic solutions in semidefinite programming (SDP)" Tags="&lt;quantum-computing&gt;&lt;quantum-information&gt;&lt;convex-optimization&gt;&lt;semidefinite-programming&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="3" ContentLicense="CC BY-SA 4.0" />
  <row Id="8821" PostTypeId="2" ParentId="6000" CreationDate="2011-11-05T05:48:40.087" Score="3" Body="&lt;p&gt;&lt;strong&gt;Cubic Montone Planar 1-in-3 SAT&lt;/strong&gt;:&#xA;&lt;a href=&quot;http://en.wikipedia.org/wiki/One-in-three_3SAT&quot; rel=&quot;nofollow&quot;&gt;1-in-3 SAT&lt;/a&gt; without negated variables and where each variable is in exactly 3 clauses, and the incidence graph (the bipartite graph where the variables and the clauses are the vertex sets) is planar.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://arxiv.org/abs/math/0003039&quot; rel=&quot;nofollow&quot;&gt;http://arxiv.org/abs/math/0003039&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you are willing to relax the 3-regularity, this may be relevant: &lt;strong&gt;Planar-3-Connected (3,4)-SAT&lt;/strong&gt;, 3SAT but where each variable is in at most 4 clauses, and the incidence graph is polyhedral (3-connected and planar).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://dx.doi.org/10.1016/0166-218X(94)90143-0&quot; rel=&quot;nofollow&quot;&gt;http://dx.doi.org/10.1016/0166-218X(94)90143-0&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="168" LastEditorUserId="168" LastEditDate="2011-11-05T18:18:54.597" LastActivityDate="2011-11-05T18:18:54.597" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8822" PostTypeId="1" CreationDate="2011-11-05T07:20:46.023" Score="2" ViewCount="165" Body="&lt;p&gt;Problem:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Input is (G, k) where&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;k is chosen uniformly from [1..n]&#xA;G is chosen by, for each edge, flipping an independent coin, and adding the edge to G w/ prob 1/2&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Question: Does G have a clique of size k?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We want to solve this in expected time n^{2 log n}.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What I currently know:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are papers from 1976 proving that the expected size of the clique in a random graph (as described above) is approximately log n).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For k &amp;lt; 2 log n, I can just brute force the entire graph in n^{2 log n} time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, by the union bound, the probability of having a clique bigger than 2 log n is ~ (e / k )^{log n}.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, I need to push that probability down to something that looks like 2^{-n^2} (the time required to brute force the entire graph.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Questions:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) Should I go read the Bollobas /Erdos (Cliques in random graphs), or is there an elementary way to prove this without citing their theorems?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) If there ia an elementary way; what is it?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks!&lt;/p&gt;&#xA;" OwnerUserId="7104" LastActivityDate="2011-11-05T07:20:46.023" Title="Expected running time of Clique on uniform graph" Tags="&lt;cc.complexity-theory&gt;" AnswerCount="0" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8823" PostTypeId="2" ParentId="8368" CreationDate="2011-11-05T07:21:31.797" Score="1" Body="&lt;p&gt;Also not an answer, but you can decide st-connectivity in $O(n\log n/ k)$ non-deterministic space with $k$ passes. Just guess the first $n/k$ nodes of an $st$ path and check that they are connected in the first round, then continue from the last of these $n/k$ vertices and check the next $n/k$ from the $st$ path and so on.&lt;/p&gt;&#xA;" OwnerUserId="419" LastActivityDate="2011-11-05T07:21:31.797" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8824" PostTypeId="2" ParentId="8818" CreationDate="2011-11-05T18:12:50.487" Score="5" Body="&lt;p&gt;I can't help you with your CMS, but a very good place to read about the logic of access control is Deepak Garg's PhD thesis, &lt;em&gt;&lt;a href=&quot;http://www.mpi-sws.org/~dg/papers/thesis.pdf&quot;&gt;Proof Theory for Authorization Logic and Its Application to a Practical File System&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;&#xA;" OwnerUserId="657" LastActivityDate="2011-11-05T18:12:50.487" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8826" PostTypeId="1" CreationDate="2011-11-05T19:31:43.070" Score="-5" ViewCount="659" Body="&lt;p&gt;I want to make a modification to the halting problem. The output now has two possibilities:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;This program halts and it does not have &lt;em&gt;the crossing structure&lt;/em&gt; (defined below);&lt;/li&gt;&#xA;&lt;li&gt;This program does not halt or it has the crossing structure.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;A crossing structure simply means the program 1) simulates me and 2) contradicts my verdict. Note that the crossing structure is static property about the code. Note also how the crossing structure interacts with whether the program halts: If it's very clean, then it goes to the first category. If it's ugly, then it goes to the second.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This means that Turing has pointed out a third category of programs, or rather a distinction between &quot;This program halts.&quot; and &quot;I can decide that this program halts, correctly or provably.&quot; Because being a program, it can only murmur the second kind of sentences. Therefore I'm finding a way around this undecidability phenomenon. I think its main course is not because this problem is hard, but rather the program has limited expressiveness. It's a program, not an independent observer. We must take into account this fact. To it, there are three possibilities, instead of two. And it must have a way to express this fact. If you assume it can just decide truth, then you are assuming it's independent, which is clearly not the case. I guess here is Turing's mistake and here is the conclusion of the proof by contradiction. The existence of a Turing machine solving the halting problem is not surprising, but, being a program, it needs a little expressiveness to show that in, its world, there are three possibilities instead of two!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now let me show that Rice's theorem does not work in this case. That is, I can define a program that separate all programs into these two sets. Given a program $p$ and an input $i$, I will make the program $t$ that 1) simulates $p$ on $i$ and 2) halts. Then&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;If $p$ halts on $i$ and $p$ does not have the crossing structure, then this pair belongs to the first category.&lt;/li&gt;&#xA;&lt;li&gt;If $p$ has the crossing structure, the this pair belongs to the second category.&lt;/li&gt;&#xA;&lt;li&gt;If $p$ does not halt on $i$, then this pair belongs to the second category.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Let me try to follow the proof of the undecidability of the halting problem. So we make a new program $P$ based on my program $M$. $P$ will have the crossing structure.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then no problem, $P$ will belong to the second category. Even if it rebels and runs forever, I'm still right in saying that it belongs to the second category. First, I have the code of $P$. So I know whether it has the crossing structure &lt;em&gt;or&lt;/em&gt; it runs forever. If it's very clean, then it goes to the first category. Otherwise it belongs to the second category.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Yous see, I'm looking at $P$. Either it has a crossing structure or it does not. I'm not deciding this. I'm deciding, instead, whether it's pure, meaning it halts and does not have the crossing structure, or contaminated. OK, it has two cases. If it has a crossing structure, it goes to the second category. If it does not, it goes to a category according to whether it halts or not. This case distinction is just for analysis, not what the program does.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You see this definition makes the two cases, against Rice's theorem and against the undecidability property, almost automatic. Therefore I suspect it's the right definition.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;The question is whether this &quot;halting problem&quot; can be solved.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Suppose I'm such a program, i.e. such a program exists.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then there is a paradox. The question is:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there a program with a crossing structure?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;First suppose there is. Then this program will simulate me. Suppose I say you don't halt or you have a crossing structure. Then you must, in order to contradict me, halt and at the same time don't possess a crossing structure. Contradiction.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Next suppose there isn't any. Then &quot;halt and don't possess a crossing structure&quot; is equivalent to &quot;halt&quot; and &quot;don't halt or possess a crossing structure&quot; is equivalent to &quot;don't halt&quot;. Then it's easy to contradict me, that is, there is a program possessing the crossing structure. Again, contradiction.&lt;/p&gt;&#xA;" OwnerUserId="2938" LastEditorUserId="2938" LastEditDate="2011-11-07T13:15:40.620" LastActivityDate="2011-11-07T13:15:40.620" Title="Is halting that hard? [Yes]" Tags="&lt;computability&gt;&lt;halting-problem&gt;" AnswerCount="2" CommentCount="16" ClosedDate="2011-11-06T10:58:32.197" ContentLicense="CC BY-SA 3.0" />
  <row Id="8827" PostTypeId="2" ParentId="8368" CreationDate="2011-11-05T20:10:33.797" Score="8" Body="&lt;p&gt;It is a long standing open problem to find an algorithm for st-connectivity that runs in simultaneously sub-linear space and polynomial time, an easier task that what you are aiming at.  Such algorithms are known for the &lt;a href=&quot;http://citeseer.ist.psu.edu/viewdoc/summary?doi=10.1.1.55.9770&quot; rel=&quot;nofollow&quot;&gt;un-directed version&lt;/a&gt;, but even these require a large polynomial time (rather than O(km) time which would be implied by a k-pass algorithm).  See especially the reference to Tompa's paper on why the directed case seems hard.&lt;/p&gt;&#xA;" OwnerUserId="42" LastActivityDate="2011-11-05T20:10:33.797" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="8828" PostTypeId="2" ParentId="8826" CreationDate="2011-11-05T20:32:46.690" Score="3" Body="&lt;p&gt;Let's call your answers &quot;yes&quot; (the given program halts), &quot;no&quot; (the given program does not halt) and &quot;maybe&quot;. If I understand you correctly, you are redefining the Haltin problem as follows.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Zirui's Problem&lt;/strong&gt;: Is there a machine $M$ such that, on a given input $k$ representing a machine $K$, $M$ halts and:&lt;/p&gt;&#xA;  &#xA;  &lt;ol&gt;&#xA;  &lt;li&gt;if $K$ tries to trick $M$ then:&#xA;  &lt;ul&gt;&#xA;  &lt;li&gt;if $K$ halts then $M$ must answer &quot;yes&quot; or &quot;maybe&quot;&lt;/li&gt;&#xA;  &lt;li&gt;if $K$ does not halt them $M$ must answer &quot;no&quot; or &quot;maybe&quot;&lt;/li&gt;&#xA;  &lt;/ul&gt;&lt;/li&gt;&#xA;  &lt;li&gt;if $K$ does not try to trick $M$ then:&#xA;  &lt;ul&gt;&#xA;  &lt;li&gt;if $K$ halts then $M$ must answer &quot;yes&quot;&lt;/li&gt;&#xA;  &lt;li&gt;if $K$ does not halt then $M$ must answer &quot;no&quot;&lt;/li&gt;&#xA;  &lt;/ul&gt;&lt;/li&gt;&#xA;  &lt;/ol&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;For the sake of the argument, let us suppose we can actually figure out that it means for &quot;$K$ to trick $M$&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You considered in your question the case when $M$ is supposed to fight against just one machine $P$ that tries to trick it. However, there will be infinitely many other machines $P_1, P_2, \ldots$ that try to trick $M$. These are just variations on $P$, with modifications of source code, using slightly different algorithms, etc.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let us make one further reasonable assumption. Without loss of generality, think of machines as computing partial functions from $\mathbb{N}$ to $\mathbb{N}$ (just encode inputs and outputs as numbers in a reasonable way). Our extra assumption is this: if $P$ and $P&amp;#39;$ compute the same function (but maybe using different algorithms), and $P$ tries to trick $M$, then also $P&amp;#39;$ tries to trick $M$. In other words, &quot;tries to trick&quot; is a property of machines which does not depend on &lt;em&gt;how&lt;/em&gt; they work but on &lt;em&gt;what&lt;/em&gt; they do.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By &lt;a href=&quot;http://en.wikipedia.org/wiki/Rice%27s_theorem&quot; rel=&quot;nofollow&quot;&gt;Rice's theorem&lt;/a&gt; $M$ cannot correctly recognize all the machines that try to trick it. Therefore, either it gets tricked by some machine, or it answers &quot;maybe&quot; for some innocent machine that is not trying to trick it.&lt;/p&gt;&#xA;" OwnerUserId="705" LastActivityDate="2011-11-05T20:32:46.690" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="8829" PostTypeId="1" CreationDate="2011-11-05T20:38:55.727" Score="25" ViewCount="3570" Body="&lt;p&gt;I have read in several papers that the existence of &lt;a href=&quot;http://en.wikipedia.org/wiki/One-way_function&quot;&gt;one-way functions&lt;/a&gt; is widely believed. Can someone shed light on why this is the case? What arguments do we have for supporting the existence of one-way functions?&lt;/p&gt;&#xA;" OwnerUserId="14197" LastEditorUserId="14197" LastEditDate="2011-11-06T10:46:08.733" LastActivityDate="2014-05-18T06:25:31.663" Title="Arguments for existence of one-way functions" Tags="&lt;cc.complexity-theory&gt;&lt;cr.crypto-security&gt;&lt;big-picture&gt;&lt;one-way-function&gt;" AnswerCount="4" CommentCount="1" FavoriteCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="8830" PostTypeId="2" ParentId="4122" CreationDate="2011-11-05T21:38:17.140" Score="9" Body="&lt;p&gt;Formal methods have already been shown to work big-time. Without them, we would not have managed to cope with the complexity of designing modern digital systems (microprocessors).  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;No micro ships without having its logic subject to functional equivalence verification; without its FPU having been subject to FV; without its cache coherence protocols having been subject to FV (this has been the case since 1995).  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Barring obvious differences between software and engineered physical systems (e.g. bridges, where one can add safety factors), they play the role of engineering math in CS. &#xA;However, FM's use always depends on benefit/cost. Fuzz testing pays off big-time at companies such as Microsoft (Google SAGE in one slide).  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Even within a micro, there are subsystems (e.g. microprocessor pipelines), where FV hasn't had the same impact as elsewhere (e.g. FPU, where conventional testing was not done at all in many cases when formal symbolic trajectory evaluation proved the absence of bugs: Kaivola &lt;em&gt;et al&lt;/em&gt; CAV'09).  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Formal methods are also being used in the synthesis of artifacts (code, high-quality tests, schedules for optimally draining battery banks, ...). Of course, all of the issues raised in the question are quite valid, and like in any other use of technology, false ads must be recognized and avoided.&lt;/p&gt;&#xA;" OwnerUserId="7114" LastEditorUserId="7176" LastEditDate="2011-12-05T09:59:49.923" LastActivityDate="2011-12-05T09:59:49.923" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8831" PostTypeId="2" ParentId="8829" CreationDate="2011-11-05T22:25:25.663" Score="13" Body="&lt;p&gt;I'll give a short answer: The existence of seemingly-hard problems, such as FACTORING or DISCRETE LOG made theorists believe that OWF exist. In particular, they tried for decades (since 1970s) to find efficient (probabilistic polynomial-time) algorithms for such problems, but no attempt succeeded. This reasoning is very similar to why most researchers believe that P ≠ NP.&lt;/p&gt;&#xA;" OwnerUserId="873" LastEditorUserId="1621" LastEditDate="2011-11-06T11:12:07.757" LastActivityDate="2011-11-06T11:12:07.757" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="8834" PostTypeId="2" ParentId="8826" CreationDate="2011-11-06T01:12:04.487" Score="0" Body="&lt;p&gt;Let me try to summarize what you're saying.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A. The program halts; or&lt;br&gt;&#xA; B. The program may or may not halt.&lt;br&gt;&#xA; C. The program never halts (this will come later).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The halting problem is sorting a program definitively into A or C.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Given a program p and an input i, I will make the program t that 1) simulates p on i and 2) halts.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;So you create a program &lt;em&gt;t&lt;/em&gt; that simulates p(i) for s seconds and then halts, mapping &lt;code&gt;t:p(i)-&amp;gt;(A|B)&lt;/code&gt;&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Let me try to follow the proof of the undecidability of the halting problem. So we make a new program P based on my program M:&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;So M is t(p(i)); &lt;code&gt;M:p(i)-&amp;gt;(A|B) = t:p(i)-&amp;gt;(A|B)&lt;/code&gt;.  So we might as well keep calling it t.&lt;br&gt;&#xA;And P is &lt;code&gt;P:t(p(i))-&amp;gt;(A|C)&lt;/code&gt; = &lt;code&gt;P:(A|B)-&amp;gt;(A|C)&lt;/code&gt;&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;ul&gt;&#xA;  &lt;li&gt;If I say halt, then P will not halt;&lt;/li&gt;&#xA;  &lt;li&gt;If I say not halt or no answer, then P will halt.&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;So if [1] t(p(i)) = A (p(i) halts), then P does not halt (C).&lt;br&gt;&#xA;Or if [2] t(p(i)) = B (p(i) did not halt in the time allotted), then P halts (A).&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Then no problem, P will belong to the second category. Even if it rebels and runs forever, I'm still right in saying that it belongs to the second category.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I'm not clear what you're trying to say here, especially the &quot;rebels and runs forever&quot; part. &lt;br&gt;&#xA;In [1], yes, P does not halt, so it is clearly in group C.  &lt;br&gt;&#xA;In [2], t halts, so M halts, so P halts.  So P is in group A.  &lt;br&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, are you trying to say that you can tell whether P halts?  Sure, that's not hard, because you're defining it to halt or not based on the output of a machine known to halt.  You might as well say you solved the halting problem for t, since you defined it to always halt.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You still didn't address the general halting problem, which is whether p (lowercase, not P) halts.&lt;/p&gt;&#xA;" OwnerUserId="7095" LastActivityDate="2011-11-06T01:12:04.487" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8835" PostTypeId="1" AcceptedAnswerId="8838" CreationDate="2011-11-06T03:44:02.940" Score="4" ViewCount="251" Body="&lt;p&gt;Given a set $S$ with strict partial order $&amp;lt;$. Let $A\subseteq S$ be a downward-closed subset of $S$ (in other words, if $a&amp;lt;b$ and $b\in A$, then $a\in A$). How many subsets of $S$ are downward-closed?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there algorithms that can solve the problem in time polynomial in $|S|$?&lt;/p&gt;&#xA;" OwnerUserId="314" LastEditorUserId="109" LastEditDate="2011-11-06T22:19:06.587" LastActivityDate="2011-11-06T22:19:06.587" Title="Number of subsets on a set with partial order" Tags="&lt;ds.algorithms&gt;&lt;counting-complexity&gt;&lt;partial-order&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8836" PostTypeId="1" AcceptedAnswerId="8848" CreationDate="2011-11-06T04:25:31.023" Score="7" ViewCount="214" Body="&lt;p&gt;While pondering a problem on separating objects in $R^n$ by hyperplanes, I came across the following puzzle:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose we are given a convex subset of $S^n$ which we call $M$.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For each point $p \in S^n$, let $C(p)$ define the great circle obtained by considering the point $p$ as the north pole and $C(p)$ as the equator. (If we imagine $p$ to correspond to a unit vector $v(p)$ in the obvious manner, then $C(p)$ corresponds to the set of all unit vectors orthogonal to $v(p)$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, define the set $X = \{x \in S^n$ s.t $C(x) \cap M \neq \phi \}$  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is $X$ necessarily convex? The above definition is equivalent to saying that $X$ is the set of all unit vectors orthogonal to at least one unit vector in $M$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit: Sasho has clarified in his answer that $X$ need not be necessarily convex. I am wondering if we may say something weaker about the topology of $X$. I will conjecture that $X$ would be decomposable into $2$ separate convex components?&lt;/p&gt;&#xA;" OwnerUserId="2302" LastEditorUserId="111" LastEditDate="2011-11-07T10:18:13.740" LastActivityDate="2011-11-07T11:17:06.663" Title="Determining the convexity of a set on $S^n$" Tags="&lt;cg.comp-geom&gt;" AnswerCount="2" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="8838" PostTypeId="2" ParentId="8835" CreationDate="2011-11-06T05:02:16.110" Score="8" Body="&lt;p&gt;See three closely related questions &lt;a href=&quot;https://cstheory.stackexchange.com/questions/7679/does-faster-exact-algorithm-for-counting-independent-sets-in-comparability-graph&quot;&gt;Does faster exact algorithm for counting independent sets in comparability graphs than general graph exisits?&lt;/a&gt; and &lt;a href=&quot;https://cstheory.stackexchange.com/questions/7637/is-counting-maximal-cliques-in-an-incomparability-graph-p-complete&quot;&gt;Is counting maximal cliques in an incomparability graph #P-complete?&lt;/a&gt; and &lt;a href=&quot;https://mathoverflow.net/questions/49515/on-the-number-of-antichains-of-a-poset&quot;&gt;https://mathoverflow.net/questions/49515/on-the-number-of-antichains-of-a-poset&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;They are all on antichains rather than downward-closed sets but downward-closed sets correspond one-for-one with the antichains of their maximal elements.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I believe both of the cstheory questions have answers with references that also answer your question: no, the problem is #P-complete.&lt;/p&gt;&#xA;" OwnerUserId="95" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2011-11-06T05:02:16.110" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8839" PostTypeId="2" ParentId="8835" CreationDate="2011-11-06T05:55:00.927" Score="6" Body="&lt;p&gt;An additional comment: in case your partially ordered set is the power set of a given set (e.g., [n]) ordered by the inclusion, more is known when n is small. Specifically see the &lt;a href=&quot;http://en.wikipedia.org/wiki/Dedekind_number&quot;&gt;Dedekind numbers&lt;/a&gt; article and the &lt;a href=&quot;http://oeis.org/A000372&quot;&gt;Sloane integer sequence&lt;/a&gt;. The asymptotic behavior has been studied also. Hansel in 1966 proved that the number of antichains of subsets of an n-set is upper-bounded by $3^{{n \choose \lfloor n/2\rfloor}}$. Later, Kleitman and Markowsky improved this bound. For further results see the references in this &lt;a href=&quot;http://en.wikipedia.org/wiki/Dedekind_number&quot;&gt;Wikipedia article&lt;/a&gt;. Finally, another reference (in addition to the Provan-Ball paper which appears in one of the links above) of interest to you probably is &lt;a href=&quot;http://www.google.com/url?sa=t&amp;amp;rct=j&amp;amp;q=on%20the%20relative%20complexity%20of%20approximate%20counting%20problems&amp;amp;source=web&amp;amp;cd=1&amp;amp;ved=0CCUQFjAA&amp;amp;url=http%3A%2F%2Fciteseerx.ist.psu.edu%2Fviewdoc%2Fdownload%3Fdoi%3D10.1.1.88.5821%26rep%3Drep1%26type%3Dpdf&amp;amp;ei=OB22TqywLYXq0gGEwdzSBw&amp;amp;usg=AFQjCNF1OpHwdY0jm_jQtsnwAU7DzfVsFQ&amp;amp;sig2=IJaqI2GexuH0xijrV8ROcQ&quot;&gt;&quot;On the relative complexity of approximate counting problems&quot;&lt;/a&gt;, by Dyer, Goldberg, Greenhill and Jerrum. &lt;/p&gt;&#xA;" OwnerUserId="1491" LastActivityDate="2011-11-06T05:55:00.927" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8842" PostTypeId="1" CreationDate="2011-11-06T17:20:04.927" Score="1" ViewCount="824" Body="&lt;p&gt;I have a few questions about linear genetic programming. I'm struggling to find much information on them, hopefully someone here can help me, it would be much appreciated.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) Initialisation: When initialising the population, does each individual point to the same set of registers or register values, or is a separate space allocated to each individual ? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) Crossover / mutation: Are the registers crossed over and mutated as well as the program bodies, or just the program bodies ? I am guessing they're not, but then how would one go about optimising the values in the registers ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;3) Crossover cont: What, based on your experience, is the most efficient method of crossover ?  I have written a linear GP, and have applied to various datasets for time series forecasting. One being linear, a few trigonometric, and some economic data. It works fine when given anything except the economic data. Why could this be ? My guess is that is has something to do with crossover, which at present is two point. Although i have tested other methods such as one point and uniform but they have not in any way improved the performance? The first few generations are ok, and then the fitness of the population seems to fluctuate randomly with no improvement whatsoever :(&lt;/p&gt;&#xA;&#xA;&lt;p&gt;These may seem like very simple, or strange questions. I have only just begun learning about this so please be nice ! :)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Many Thanks &lt;/p&gt;&#xA;" OwnerUserId="7122" LastActivityDate="2011-11-16T15:44:43.793" Title="Linear Genetic Programming" Tags="&lt;machine-learning&gt;&lt;genetic-algorithms&gt;&lt;genetic-programming&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8843" PostTypeId="2" ParentId="8829" CreationDate="2011-11-06T17:40:10.430" Score="22" Body="&lt;p&gt;Here's an argument that one-way functions should be hard to invert. Suppose there is a class of 3-SAT problems with planted solutions that are hard to solve. Consider the following map:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$(x, r) \rightarrow s$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where $x$ is any string of bits, $r$ is a string of bits (you could use these to seed a random number generator, or you can ask for as many random bits as you need) and $s$ is a $k$-SAT problem having $x$ as a planted solution, where the random number generator determines exactly which $k$-SAT problem you choose. To invert this one-way function, you need to solve a $k$-SAT problem with a planted solution. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This argument shows that inverting a one-way function is as hard as solving $k$-SAT problems with planted solutions. And since $k$-SAT is an NP-complete problem, if you can figure out how to construct hard instances with planted solutions for any NP problem, you can plant solutions in $k$-SAT formulas. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It has not been proven that it's possible to come up with a class of NP-complete problems with planted solutions that are just as hard as arbitrary NP-complete problems (and even if this is true, it's going to be incredibly hard to prove), but people definitely know how to plant solutions in $k$-SAT problems in ways that nobody currently knows how to solve. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;ADDED: I now realize that this connection was already given (in more detail) in &lt;a href=&quot;http://dx.doi.org/10.1007/0-387-34799-2_23&quot;&gt;Abadi, Allender, Broder, Feigenbaum, and Hemachandra&lt;/a&gt;; they point out that one-way functions can give solved hard instances of SAT, and vice versa.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Putting it in more informal language, the non-existence of one-way functions shows that truly hard puzzles can't exist. If there is a type of puzzle where somebody can come up with both a puzzle and its solution algorithmically, then there is also a polynomial-time algorithm for finding a solution to the puzzle. This seems very counter-intuitive to me. Of course, a polynomial gap could exist; it might be the case that if creating the puzzle took $n$ steps, then solving it might take $O(n^3)$ steps. However, my intuition says that there should be a superpolynomial gap.  &lt;/p&gt;&#xA;" OwnerUserId="1677" LastEditorUserId="4896" LastEditDate="2011-11-07T16:20:22.340" LastActivityDate="2011-11-07T16:20:22.340" CommentCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="8844" PostTypeId="2" ParentId="8836" CreationDate="2011-11-06T17:51:08.683" Score="4" Body="&lt;p&gt;I hope I am not misunderstanding your definitions, but I feel like the following is a counterexample.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let's work in &lt;a href=&quot;http://en.wikipedia.org/wiki/Spherical_coordinate_system&quot; rel=&quot;nofollow&quot;&gt;spherical coordinates&lt;/a&gt; in 3 dimensions. Then $S^3 = \{(1, \theta, \phi)\}$.  Let $M = \{(1, \theta, 0): -\theta_0 \leq \theta \leq \theta_0\}$. In that case I think $X$ is the the part of $S^3$ that lies between the planes to which the vectors $(1, -\theta_0, 0)$ and $(1, \theta_0, 0)$ are normal. Look at two points that lie on the boundary of $X$ but do not lie on the same plane. I don't think the major or minor arc between them will be in $X$?&lt;/p&gt;&#xA;" OwnerUserId="4896" LastActivityDate="2011-11-06T17:51:08.683" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="8845" PostTypeId="2" ParentId="8829" CreationDate="2011-11-06T23:50:51.710" Score="-6" Body="&lt;p&gt;Would it be as easy as suggesting for example the Sine function?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Because for a given input and output the input can be increased or decreased by 360 degrees (or 2 pi if you're into radians) it is many-to-one, so you can never be sure which input you had?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Do tell me if I've misunderstood the question though.&lt;/p&gt;&#xA;" OwnerUserId="6996" LastActivityDate="2011-11-06T23:50:51.710" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="8847" PostTypeId="1" AcceptedAnswerId="8857" CreationDate="2011-11-07T01:15:06.327" Score="3" ViewCount="1831" Body="&lt;p&gt;Given an undirected sparse graph G and a list of queries (each query consisting of two nodes), how to determine if there exists &lt;em&gt;exactly one&lt;/em&gt; simple path between them (for each query) ? I have a (trivial) solution based on a breadth-first search (for each query the complexity would be O(V+E)) but is there a more efficient way to answer the queries?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You don't have to find the actual simple path, just answer each query with a True/False answer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This question was asked as part of the Latin American regional competition of the 2011 &lt;a href=&quot;http://en.wikipedia.org/wiki/ACM_International_Collegiate_Programming_Contest&quot; rel=&quot;nofollow&quot;&gt;ACM International Collegiate Programming Contest&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="6981" LastEditorUserId="95" LastEditDate="2011-11-08T21:46:03.563" LastActivityDate="2011-11-08T21:46:03.563" Title="How to determine whether there is exactly one simple path between two nodes in a graph" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;" AnswerCount="1" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="8848" PostTypeId="2" ParentId="8836" CreationDate="2011-11-07T11:17:06.663" Score="5" Body="&lt;p&gt;Yes, at least if you define your terms correctly.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Following standard usage in Riemannian geometry, a subset $M \subseteq S^n$ is convex if and only if, for every pair of points $x$ and $y$ in $M$, some shortest path from $x$ to $y$ lies entirely within $M$.  With this standard definition, any convex subset $M  \subseteq S^n$ is both the convex closure of the points in $M$ and the intersection of all closed hemispheres that contain $M$.  In particular, the only convex subset of $S^n$ that does not lie entirely in a closed hemisphere is the entire sphere $S^n$.  (And yes, $S^n$ is the intersection of the &lt;em&gt;empty&lt;/em&gt; set of closed hemispheres containing $S^n$!) Your definition of convexity allows some non-standard convex sets, like the complement of a single point.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let's assume that the sphere $S^n$ is centered at the origin of $\mathbb{R}^{n+1}$.  Following the standard definitions, a subset $M\subseteq S^n$ is convex if and only if $M$ is the intersection of $S^n$ with a &lt;a href=&quot;http://en.wikipedia.org/wiki/Convex_cone&quot;&gt;convex cone&lt;/a&gt; in $\mathbb{R}^{n+1}$.   So let $C$ be a convex cone in $\mathbb{R}^{n+1}$, and let $M = C \cap S^n$.  Let $C^*$ denote the &lt;a href=&quot;http://en.wikipedia.org/wiki/Dual_cone&quot;&gt;dual cone&lt;/a&gt; of $C$; this is also a convex cone, so the intersection $S^n\cap C^*$ is convex.  Your set $X$ is $S^n \cap (C^* \cup -C^*)$ = $(S^n\cap C^*) \cup -(S^n\cap C^*)$.  Thus, $X$ is the union of two  antipodal convex subsets of $S^n$.&lt;/p&gt;&#xA;" OwnerUserId="111" LastActivityDate="2011-11-07T11:17:06.663" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="8850" PostTypeId="1" CreationDate="2011-11-07T12:25:58.973" Score="5" ViewCount="1977" Body="&lt;p&gt;According to several people on &lt;a href=&quot;https://stackoverflow.com/questions/770238/neural-networks-for-email-spam-detection&quot;&gt;StackOverflow&lt;/a&gt; Bayesian filtering is better than Neural Networks for detecting spam.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;According to the literature I've read that shouldn't be the case. Please explain!&lt;/p&gt;&#xA;" OwnerUserId="7134" LastEditorUserId="-1" LastEditDate="2017-05-23T12:40:09.333" LastActivityDate="2012-06-29T06:12:21.090" Title="Why is Bayesian filtering better than Neural Networks when classifying spam?" Tags="&lt;machine-learning&gt;&lt;ai.artificial-intel&gt;" AnswerCount="2" CommentCount="4" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="8851" PostTypeId="1" CreationDate="2011-11-07T16:09:07.363" Score="70" ViewCount="8418" Body="&lt;p&gt;Coming from a more mathematical background, I never really learned how to code.&#xA;I am starting a PhD in TCS and many people were surprised by how little I knew about programming (and about computer in general). I can write algorithms in pseudo-code, but I don't really know any programming language.&lt;/p&gt;&#xA;&lt;p&gt;I can imagine that someday I may have to implement some algorithms for my work, but then can I wait for this moment? Or is there something more?&lt;/p&gt;&#xA;&lt;p&gt;How important is knowing how to code in TCS (in fields where programming is not directly involved)?&#xA;Are there reasons which could bring a CS theorist (for example) to know how to code? Is it worth spending a lot of time learning how to code? And if there are, is there a category (functional, imperative, object-oriented...) of programming language that would be more suited?&lt;/p&gt;&#xA;" OwnerUserId="4873" LastEditorUserId="55393" LastEditDate="2020-08-17T13:08:08.703" LastActivityDate="2020-08-17T13:08:08.703" Title="How important is knowing how to program for TCS?" Tags="&lt;soft-question&gt;&lt;big-list&gt;&lt;advice-request&gt;&lt;career&gt;" AnswerCount="12" CommentCount="12" FavoriteCount="33" ContentLicense="CC BY-SA 4.0" />
  <row Id="8852" PostTypeId="1" AcceptedAnswerId="8856" CreationDate="2011-11-07T16:24:45.503" Score="7" ViewCount="268" Body="&lt;p&gt;Are there any problems $P$ such that an $\alpha$-approximation for $P$ (for soem choice of $\alpha$) would imply a better than 2-approximation for VERTEX COVER, which would be hard via the UGC ?  &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2011-11-07T22:51:12.920" Title="Problems that are hard w.r.t UGC-hardness of VERTEX COVER" Tags="&lt;cc.complexity-theory&gt;&lt;unique-games-conjecture&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8855" PostTypeId="2" ParentId="8851" CreationDate="2011-11-07T22:37:38.513" Score="60" Body="&lt;p&gt;Theoretical computer science is a broad field and the importance of programming depends on what you do in TCS.  I will mention two ways in which programming can help you, without implying that these are the only ways.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First, if you design algorithms for problems of practical importance, implementing your algorithms and making the code available to others can be a big plus.  For example, the convex hull problem arises in many fields, and people use software packages such as &lt;a href=&quot;http://www.ifor.math.ethz.ch/~fukuda/cdd_home/index.html&quot;&gt;cdd&lt;/a&gt; by Komei Fukuda and &lt;a href=&quot;http://cgm.cs.mcgill.ca/~avis/C/lrs.html&quot;&gt;lrs&lt;/a&gt; by David Avis to solve this problem.  If they had published their algorithms only in papers, probably less people would have used their algorithms.  More users mean more feedback and probably also more opportunities to collaborate, which is invaluable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Second, even if you do not work in algorithms, writing a one-time code helps you to test a simple conjecture when the conjecture is suitable to numerical calculation.  For example, if you wonder whether the product of three positive definite matrices always has a positive trace, it is easy to write a code to test it for some random choices of 2×2 or 3×3 positive definite matrices and find a counterexample.  Although you do not advertise that you wrote any program to test the conjecture, programming can save the time which would have been spent in vain trying to prove a false statement.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The programming language to choose depends on what you want to do with programming, and it can be a topic for a whole book in my opinion.  But if you design algorithms and want to implement your algorithms so that other people can use the implementation, then one important factor is availability.  Although you can expect that most potential users of your code have access to a C compiler, you cannot expect that the same people have access to a Haskell compiler.  For one-time programs, the choice is more based on available libraries, and includes the environments such as Matlab.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By the way, programming can also be fun.&lt;/p&gt;&#xA;" OwnerUserId="567" LastActivityDate="2011-11-07T22:37:38.513" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="8856" PostTypeId="2" ParentId="8852" CreationDate="2011-11-07T22:51:12.920" Score="11" Body="&lt;p&gt;Node-weighted multiway-cut is a problem to which vertex-cover can be reduced to in an approximation preserving way. Thus, a better than $2$-approximation for node-weighted multiway cut is not possible assuming UGC. The reduction was shown by Garg-Vazirani-Yannakakis in their paper which also established a $2$-approximation for node-weighted multiway-cut.&lt;/p&gt;&#xA;" OwnerUserId="176" LastActivityDate="2011-11-07T22:51:12.920" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8857" PostTypeId="2" ParentId="8847" CreationDate="2011-11-08T03:54:58.663" Score="14" Body="&lt;p&gt;Ok, now that you've revealed the motivation: there is exactly one simple path between two nodes iff there is a path in which every edge is a bridge of the graph. So find all the bridges (standard linear time by depth first search) and compute the connected components of the subgraph they form. Two vertices have a unique simple path iff they belong to the same component.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2011-11-08T03:54:58.663" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8858" PostTypeId="1" CreationDate="2011-11-08T11:14:03.760" Score="4" ViewCount="191" Body="&lt;p&gt;I'm a working software engineer and I'm trying to develop some planning software. I have faced the following problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have some finite set $ U $ of some distinct elements $ e_i \in U $.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have some subsets $ A_i \subset U $, where $ i \in \{1, 2, \cdots, N\} $.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have an array of integers $ &amp;lt;k_1, k_2, \cdots, k_N &amp;gt; $. Each integer $ k_i \leq |A_i| $ and $$ \sum_{i \in \{1, 2, \cdots, N\}} k_i \leq | \cup_{i \in \{1, 2, \cdots, N\}} A_i | $$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I want to find sets $ B_i $, where $ i \in \{1, 2, \cdots, N\} $, such that $ |B_i| = k_i $ and $$ \forall i \in \{1, 2, \cdots, N\} .  B_i \subset A_i $$ and $$ \forall i, j \in \{1, 2, \cdots, N\} . B_i \cap B_j = \emptyset $$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The choice of actual $ B_i $ doesn't matter at all.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;I'd like to find is it possible at all. It seems to me that it is, since it's obviously possible for not intersecting $ A_i $, and if they intersects we can reduce the problem to not intersecting $ A&amp;#39;_i $&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;I'd like to find fast algorithm that will not-deterministically choose any $ B_i $. I'd like to find the complexity of the problem. It seems that there should be some fast algorithm and problem doesn't seem similar to NP-hard problems, but I somehow feel that it can be NP-hard.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;The actual environment is that there are around 50 000 000 elements in $ U $ and N is around 100.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is it some known problem? Where can I read on the matter? Is there any fast algorithm? What is the best way to perform such partitioning in given environment.&lt;/p&gt;&#xA;" OwnerUserId="7142" LastActivityDate="2011-11-08T16:28:35.673" Title="Set partitioning algorithm" Tags="&lt;cc.complexity-theory&gt;&lt;nondeterminism&gt;&lt;partition-problem&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="8859" PostTypeId="1" AcceptedAnswerId="8877" CreationDate="2011-11-08T12:07:12.290" Score="7" ViewCount="605" Body="&lt;p&gt;What is the exact number of multiplication operations and addition operations needed to calculate the permanent in &lt;a href=&quot;http://en.wikipedia.org/wiki/Computing_the_permanent#Ryser_formula&quot;&gt;Ryser's formula&lt;/a&gt; (both original and the Gray coded version)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am looking reference for an exact count. It seems Cramer rule always is inferior or just par with the Gray coded version. Also Scott Aaronson has a &lt;a href=&quot;http://ww.scottaaronson.com/talks/wildidea.ppt&quot;&gt;calculation&lt;/a&gt; for $4 \times 4$ determinant where he uses Gaussian elimination. He mentions estimating the precise gap between permanent and determinant calculation for $4 \times 4$ is already a notorious open problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am also looking for counts for other calculations/formulas of Permanent.&lt;/p&gt;&#xA;" OwnerUserId="5511" LastEditorUserId="5511" LastEditDate="2011-11-09T15:00:42.540" LastActivityDate="2011-11-09T15:00:42.540" Title="Exact arithmetic complexity of Ryser's formula for computing permanent" Tags="&lt;ds.algorithms&gt;&lt;co.combinatorics&gt;&lt;permanent&gt;" AnswerCount="1" CommentCount="8" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8860" PostTypeId="2" ParentId="8851" CreationDate="2011-11-08T13:06:44.457" Score="19" Body="&lt;p&gt;Three points:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) There is an approach to mathematics called &lt;a href=&quot;http://en.wikipedia.org/wiki/Experimental_mathematics&quot;&gt;Experimental Mathematics&lt;/a&gt; (see also &lt;a href=&quot;http://en.wikipedia.org/wiki/Computer-aided_proof&quot;&gt;wikipedia://Computer-aided proof&lt;/a&gt;) where you use computer programs to investigate about patterns and structures of objects in order to come up with analytic proofs about these objects. For this approach, you better know how to program. You can be sure you will find yourself in the need of this approach to prove very theoretical statements. I believe that snobbery against programming often turns out not to be really helpful in TCS research.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) When you learn how to program, as byproducts you learn skills that are useful in TCS. One example above all: I found out that people with coding background tend to type-check their proofs more. Even better, they tend to very often define the type of the objects they are considering (ex.: &quot;let's consider the operators $A \in L(X,Y)$ and $B \in L(Y,C)$). This is good for the readers of a manuscript. Compilers (and interpreters) turn us into good scientists :) For this kind of skills, I feel to suggest some strongly-typed functional language.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;3) When you say &quot;to program&quot; do you also mean &quot;to &lt;em&gt;linear program&lt;/em&gt;&quot; or &quot;to &lt;em&gt;semidefinite program&lt;/em&gt;&quot;? :) &lt;/p&gt;&#xA;" OwnerUserId="1542" LastEditorUserId="1542" LastEditDate="2011-11-08T13:13:28.940" LastActivityDate="2011-11-08T13:13:28.940" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="8861" PostTypeId="2" ParentId="8851" CreationDate="2011-11-08T14:48:31.197" Score="36" Body="&lt;p&gt;You can be a quite successful theoretical computer scientist without programming. For a few people, programming is quite difficult, and if you are one of them you shouldn't despair and switch fields.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, for most math and computer science graduate students, learning to program is not particularly difficult, and is a skill which is very useful. You should learn a programming language, and if you enjoy it, you should try to get enough practice to become reasonably proficient at it. Then, when the point comes (and it will) that it will be useful in your research to write a program, you will be able to do it. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you don't learn to program now, it is quite likely that when you eventually need to write a program, you won't have time to learn, and so you may not actually write it, and end up being less effective in your research. While getting a grad student or an undergrad to do this for you isn't too hard, there are a lot of times when it's much easier and less time-consuming to do it yourself rather than explain the problem to them. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;What language should you learn? I'd recommend an object-oriented language, since these are the ones that are currently in most use, and I suspect this will be more true in the future.  Maybe Python or Java&amp;mdash;they're both object-oriented languages, and while they're used less in practice than C++, my impression is that they're both much, much easier to learn. (Caveat: I don't know C++, despite having worked at Bell Labs, so maybe I'm wrong about this.)&lt;/p&gt;&#xA;" OwnerUserId="1677" LastEditorUserId="1677" LastEditDate="2011-11-08T20:07:55.823" LastActivityDate="2011-11-08T20:07:55.823" CommentCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="8862" PostTypeId="2" ParentId="8851" CreationDate="2011-11-08T16:09:40.157" Score="49" Body="&lt;p&gt;I feel compelled to cite Doron Zeilberger on this:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.math.rutgers.edu/~zeilberg/Opinion37.html&quot;&gt;Opinion 37&lt;/a&gt;: Programming is Even More Fun Than Proving, and, More Importantly It Gives As Much, If Not More, Insight and Understanding.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Read the opinion, it's full of gems (btw he tends to be deliberately provocative). For example, &quot;The best way to understand something is to teach it. But even better then teaching it to humans is to teach it to a computer&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My personal experience is that even when doing purely theoretical work you will need some computing tools. I avoid a lot of tedious routine algebraic manipulations with Mathematica. I test my half-baked conjectures by brute-forcing small instances on Matlab or Python. I have co-written one paper that's pure combinatorics, and that's the work that has benefited most from running extensive computer experiments to understand what's going on. Euler made huge tables of tedious calculations to get insight into problems. We owe it to him to use our tools to automate this process when we do mathematics.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Aside from that, if you'll work on algorithms and data structures, programming will give an irreplaceable perspective on issues of efficiency and usability. My opinion here differs with others somewhat. I think learning a functional language so that you get to write proofs that type correctly is a waste of time (I think it's a great point that people who have experience with a strongly typed language probably tend to write more carefully structured proofs; I just don't think it's worth your time to go through that exercise). Functional programming obscures issues of algorithm design and running time and emphasizes logic and semantics issues (and, of course, learning functional programming is probably a must and will come somewhat naturally if you're interested in logic/PL semantics). Similarly, I think getting into the OO details of Java and C++ is also not the optimal way to spend your time, as the purpose of OO is to write modular re-usable code. It's the way to go if you'll produce code for others to use. But in case you want to get insight into efficiency and running time, if you care about really efficient algorithms and data structures, I second the suggestion to look into C. It lets you stay close to the machine while still providing a reasonable level of abstraction. This way you get a feel of what's fast and what's slow, what is a reasonable data structure, etc.&lt;/p&gt;&#xA;" OwnerUserId="4896" LastEditorUserId="4896" LastEditDate="2011-11-10T00:49:29.077" LastActivityDate="2011-11-10T00:49:29.077" CommentCount="10" ContentLicense="CC BY-SA 3.0" />
  <row Id="8863" PostTypeId="2" ParentId="8858" CreationDate="2011-11-08T16:28:35.673" Score="3" Body="&lt;p&gt;The problem can be solved via the assignment problem/network flow. Create a bipartite graph with the left side consisting of $N$ vertices $a_1,\ldots,a_N$ corresponding to the sets $A_1,\ldots,A_n$. The right side has $m$ vertices $u_1,\ldots,u_m$ one for each element in $U$. Connect $a_i$ via directed arcs of capacity $1$ to each element vertex that $A_i$ contains. Now add a source vertex $s$ and connect it via an arc of capacity $k_i$ to $a_i$. Connect each $u_j$ to a sink vertex $t$ with an arc capacity of $1$. The problem has a solution if and only if there is an $s$-$f$ flow of value $\sum_i k_i$ in this network. An integral flow would give you a desired solution.&lt;/p&gt;&#xA;" OwnerUserId="176" LastActivityDate="2011-11-08T16:28:35.673" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8865" PostTypeId="2" ParentId="8851" CreationDate="2011-11-08T18:37:01.490" Score="12" Body="&lt;p&gt;I'm late to the party, and these are all great answers, but I have another reason: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Visualization. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Yes, often you will work with things that can't be visualized, but often you will work with things that can. Knowing how to program is indispensable for this task, and visualization can offer you a lot of insight into a problem.&lt;/p&gt;&#xA;" OwnerUserId="284" LastActivityDate="2011-11-08T18:37:01.490" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="8866" PostTypeId="2" ParentId="8851" CreationDate="2011-11-08T19:10:01.397" Score="13" Body="&lt;p&gt;Programming is a good way to improve your understanding of various concepts, but it is also a dangerous time sink.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A typical argument &lt;em&gt;against&lt;/em&gt; programming is that it makes you spend time with unimportant details; a typical argument &lt;em&gt;for&lt;/em&gt; programming is that it makes you realise that details you thought are unimportant are in fact important. Becoming good at programming mainly means becoming able to deal with the unimportant parts quickly. Becoming good takes a &lt;em&gt;long&lt;/em&gt; time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As for the programming language to learn: &quot;all of them&quot; is my (tongue-in-cheek) answer.&lt;/p&gt;&#xA;" OwnerUserId="236" LastActivityDate="2011-11-08T19:10:01.397" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="8867" PostTypeId="2" ParentId="8820" CreationDate="2011-11-08T19:37:41.383" Score="15" Body="&lt;p&gt;There are many examples in quantum information and computation where quantities of interest are expressible as optimal values of semidefinite programs. Here are a few beyond those mentioned in the question:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;The optimal probability to correctly distinguish states chosen from a known ensemble is expressible as an SDP. (See arXiv:quant-ph/0205178 .)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The general adversary bound, which characterizes the number of queries needed to compute a function by a quantum algorithm in the query model, is represented by a semidefinite program for each possible input length of the problem being considered. (See arXiv:1011.3020 for further details and references.)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;There exists a hierarchy of semidefinite programs that characterizes the set of separable density operators. (See arXiv:quant-ph/0308032 .)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Quantum interactive proof systems and the study of quantum coin-flipping protocols are closely tied to semidefinite programming. Suppose you have an interaction between two parties, say Alice and Bob, who exchange quantum information. If you fix one of the two parties, say Alice, and you ask what the optimal probability is for Bob to force Alice to output a particular result, then you can phrase this optimal probability as a semidefinite program. (There are many references here, including &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=335387&quot;&gt;http://dl.acm.org/citation.cfm?id=335387&lt;/a&gt;, arXiv:quant-ph/0403193, arXiv:0907.4737, arXiv:quant-ph/0611234, arXiv:1003.0038, arXiv:0711.4114, arXiv:1104.1140 .)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The optimal probability for cooperating players Alice and Bob to win an XOR game can, through the use of a well-known theorem of Tsirelson, be phrased as a semidefinite program. This leads to a perfect parallel repetition theorem for quantum provers in XOR proof systems. (See arXiv:quant-ph/0608146 .)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The completely bounded trace norm (or diamond norm) of a mapping from matrices to matrices can be expressed as an SDP. This norm is useful for defining a physically motivated measure of distance between quantum channels.&#xA;(See arXiv:0901.4709 for the SDP.)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;These SDPs do not all necessarily have analytic solutions, but they have the same flavor as the examples mentioned in the original question in that they represent interesting and arguably fundamental quantities in quantum information and computation. There are other examples as well -- these just happen to be ones I'm familiar with.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The original question asks if there is a general theory behind the existence of analytic solutions to SDPs. I am not aware of such a theory, and cannot see much hope for one to exist. If you write down a random SDP, there will probably not be a nice closed form for the solution. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The reality, at least as I view it, is that things work in the other direction. The SDPs for the fidelity and trace norm mentioned in the original question were specifically designed to represent those quantities: it is not an accident that the optimal solutions were given by such nice and important functions. If you have another quantity in mind, you might be able to express it as an SDP in a simple way by using some thought to come up with the SDP... but going in the other direction, from an SDP to an analytic solution, seems certain to be hard in general.&lt;/p&gt;&#xA;" OwnerUserId="819" LastActivityDate="2011-11-08T19:37:41.383" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8869" PostTypeId="1" AcceptedAnswerId="8870" CreationDate="2011-11-08T23:14:36.320" Score="45" ViewCount="1052" Body="&lt;p&gt;Today Ryan Williams posted an &lt;a href=&quot;http://arxiv.org/abs/1111.1261&quot;&gt;article&lt;/a&gt; on the arXiv (previously appeared in SIGACT News) containing a less technical version of his recent &lt;em&gt;ACC&lt;/em&gt; lower bound technique.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is not about the technique itself (of course worthy of immense praise), but it's about the style of the paper.&#xA;In the abstract, he writes: &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;The proof will be described from the perspective of someone trying to&#xA;  discover it.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Awesome!&#xA;In the Background section he adds:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;This article is a discussion about how to discover the proof – a&#xA;  casual tour around it. Not all details will be given, but you will see&#xA;  where all the pieces came from, and how they ﬁt together. The path&#xA;  will be littered with my own biased intuitions about complexity theory&#xA;  – what I think should and shouldn’t be true, and why. Much of this&#xA;  intuition may well be wrong; however I can say it has led me in a&#xA;  productive direction on at least one occasion.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;This is amazing and it's the first time that I have seen it. I have always wondered why authors of paper don't write how they got to the proof, including the failed approaches they tried before getting to the track that led the solution. When I saw Ryan's paper on the arXiv, I felt very motivated to read it. &#xA;I consider it a revolutionary paper from this point of view. Most of the time the only thing you can do with a paper is verifying its correctness.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The question is the following:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;are you aware of other papers in TCS where a breakthrough result is presented in a &quot;casual tour&quot; rather than a series of technical lemmas?&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I am talking about publications in journals, not blog posts or technical reports.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, I tagged it as &lt;a href=&quot;/questions/tagged/big-list&quot; class=&quot;post-tag&quot; title=&quot;show questions tagged 'big-list'&quot; rel=&quot;tag&quot;&gt;big-list&lt;/a&gt;, with the hope that it will actually be.&lt;/p&gt;&#xA;" OwnerUserId="1542" LastEditorUserId="1542" LastEditDate="2011-11-08T23:23:12.783" LastActivityDate="2011-11-11T08:00:57.790" Title="Casual tours around proofs" Tags="&lt;soft-question&gt;&lt;big-list&gt;" AnswerCount="5" CommentCount="6" FavoriteCount="23" ContentLicense="CC BY-SA 3.0" />
  <row Id="8870" PostTypeId="2" ParentId="8869" CreationDate="2011-11-08T23:25:26.287" Score="15" Body="&lt;p&gt;There is a &lt;a href=&quot;http://arxiv.org/abs/quant-ph/0109116&quot;&gt;paper&lt;/a&gt; (2001) of similar style by Lov Grover, which describes the way to his breakthrough &lt;a href=&quot;http://arxiv.org/abs/quant-ph/9605043&quot;&gt;quantum search algorithm&lt;/a&gt; (1996).&lt;/p&gt;&#xA;" OwnerUserId="121" LastActivityDate="2011-11-08T23:25:26.287" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8873" PostTypeId="2" ParentId="8869" CreationDate="2011-11-09T00:25:12.207" Score="11" Body="&lt;p&gt;Maybe authors don't include these failed attempts and the story of the research in their published papers because of the constraints imposed by editors and PC members. I guess it is very unusual for a journal (and probably even more unusual for a conference) to accept a paper where the main part of it is devoted to failed attempts. But in most cases if you talk with the authors or experts in the area they will explain story and the failed attempts (and many do talk about these in workshops). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have seen several authors explain at lease where the ideas came from in their papers. As an example, Girard explains in his paper that the idea for linear logic came from trying to find a denotational semantics for intuitionistic OR. You can find this kind of information also in monographs and biographies of famous researchers and volumes devoted to them (&lt;a href=&quot;http://en.wikipedia.org/wiki/Paul_Halmos&quot;&gt;Halmos&lt;/a&gt;'s autobiography and more recent &quot;Kreiseliana: About and Around &lt;a href=&quot;http://en.wikipedia.org/wiki/Georg_Kreisel&quot;&gt;Georg Kreisel&lt;/a&gt;&quot; edited by Odifreddi came to mind, there are also volumes and articles dedicated to some complexity theorists). Hopefully more people will do what Ryan have done and systematically explain the process and tell the story.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;ps: you can think of these as oral tradition of research :) (somewhat similar to &lt;a href=&quot;http://en.wikipedia.org/wiki/Oral_Torah&quot;&gt;Oral Torah&lt;/a&gt; which was &lt;a href=&quot;http://en.wikipedia.org/wiki/Oral_Torah#Prohibition_to_write_the_Oral_Torah&quot;&gt;not allowed to be written down&lt;/a&gt;). &lt;/p&gt;&#xA;" OwnerUserId="186" LastActivityDate="2011-11-09T00:25:12.207" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="8875" PostTypeId="1" AcceptedAnswerId="8907" CreationDate="2011-11-09T01:31:59.527" Score="9" ViewCount="1635" Body="&lt;p&gt;For a machine learning application, my group needs to calculate the Euclidean distance to the $k$th nearest neighbor in a set $X$ for each $x \in (X \cup Y) \subset \mathbb R^d$ (for $d$ between 5 and about 100, and $|X| \approx |Y|$ a few hundred up to a few million). We're currently using either the brute-force $O(d \lvert X \rvert \lvert X \cup Y \rvert)$ approach or the obvious one with a kd-tree on $X$, which when $d$ is high and $|X|$ is relatively low doesn't ever win. (Everything is in-memory.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It seems like there must be a better way than brute-force, though -- at least one that takes advantage of the triangle inequality, or maybe with locality-sensitive hashes. A reasonably tight approximation is also potentially okay.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The research I've been able to find seems to focus on the problem of finding the single nearest neighbor (or one that is approximately the nearest). Does the problem I'm looking for go by some other name, or is there a connection to a related problem that I haven't thought of?&lt;/p&gt;&#xA;" OwnerUserId="7157" LastEditorUserId="80" LastEditDate="2011-11-09T06:48:18.920" LastActivityDate="2011-11-10T22:09:36.657" Title="Calculating the distance to the kth nearest neighbor for all points in the set" Tags="&lt;reference-request&gt;&lt;cg.comp-geom&gt;&lt;near-neighbors&gt;" AnswerCount="2" CommentCount="5" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8876" PostTypeId="1" AcceptedAnswerId="8880" CreationDate="2011-11-09T02:39:02.070" Score="17" ViewCount="1449" Body="&lt;p&gt;It is well known that $K_5$ and $K_{3,3}$ are forbidden minors for planar graphs. There are hundreds of forbidden minors for &lt;a href=&quot;http://en.wikipedia.org/wiki/Graph_embedding&quot; rel=&quot;noreferrer&quot;&gt;graphs embeddable&lt;/a&gt; on a torus. The number of forbidden &lt;a href=&quot;http://en.wikipedia.org/wiki/Minor_%28graph_theory%29&quot; rel=&quot;noreferrer&quot;&gt;minors&lt;/a&gt; for graphs embeddable on surface of &lt;a href=&quot;http://en.wikipedia.org/wiki/Genus_%28mathematics%29&quot; rel=&quot;noreferrer&quot;&gt;genus&lt;/a&gt; &lt;em&gt;g&lt;/em&gt; is an exponential function of &lt;em&gt;g&lt;/em&gt;. My question is as follows :&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there an explicit graph $G_t$ on &lt;em&gt;t&lt;/em&gt; vertices (which is not a complete graph) such that $G_t$ is a forbidden minor for graphs embeddable on surface of genus &lt;em&gt;g&lt;/em&gt;, where &lt;em&gt;t&lt;/em&gt; is a function of &lt;em&gt;g&lt;/em&gt; ?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;EDIT : I realized that the following theorem is known :&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;For every surface Σ there exists an integer &lt;em&gt;r&lt;/em&gt; such that $K_{3,r}$ does not embed in Σ.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;So, I am looking for $G_t$ that is not complete graph, not a complete bipartite graph.&lt;/p&gt;&#xA;" OwnerUserId="344" LastEditorUserId="186" LastEditDate="2011-11-09T16:40:13.090" LastActivityDate="2011-11-09T22:05:03.713" Title="Forbidden minors for bounded genus graphs" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;graph-minor&gt;&lt;algebraic-topology&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8877" PostTypeId="2" ParentId="8859" CreationDate="2011-11-09T03:11:05.230" Score="7" Body="&lt;p&gt;Ryser: $n(n-2)2^{n-1} + n$ additions and $(n-1)(2^{n}-1)$ multiplications.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Ryser+Gray code: $n(2^{n}-2)$ additions and $(n-1)(2^{n}-1)$ multiplications.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Number of multiplications: For each nonempty subset of $[n]$, $n-1$ multiplications are used to multiply $n$ sums together.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Number of additions for Ryser: for each nonempty $S \subseteq [n]$, and for each $i \in [n]$ you compute $\sum_{j \in S} a_{ij}$ which uses $|S|-1$ additions. $\sum_{\emptyset \neq S \subseteq [n]}(|S|-1) = \sum_{k=1}^{n} (k-1) \binom{n}{k} = \sum_{k=1}^{n} k \binom{n}{k} - \sum_{k=1}^{n} \binom{n}{k} = n2^{n-1} - (2^{n}-1)$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Additions for Ryser+Gray: The Gray code version does not give you a smaller &lt;em&gt;formula&lt;/em&gt;, but only a smaller circuit (which is still good, I just thought it was worth pointing out). Its savings require the re-use of previously computed quantities. For each $i \in [n]$, it does a Gray code over the nonempty sets $S \subseteq [n]$. Since there are $2^{n}-1$ such sets, and each transition of the Gray code involves a single addition/substraction, that gives the $2^{n}-2$.&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2011-11-09T03:11:05.230" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="8878" PostTypeId="1" AcceptedAnswerId="8881" CreationDate="2011-11-09T03:26:02.147" Score="6" ViewCount="104" Body="&lt;p&gt;While thinking about the best way to display confusion matrices, and I came up with the following problem:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You have a set of objects $A$, and a similarity function $s: A,A \rightarrow \mathbb{R}$ defined on every pair of objects.  You want to find an ordering $i: A \rightarrow [1..|A|]$ on the objects that minimizes:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\sum_{a,b \in A} s(a,b) * (i(a) - i(b))^2$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;That is, the ordering is penalized by the similarity of each pair times the square of the distance.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any ideas on an algorithm to solve this?  Any of: a polynomial-time algorithm, an idea for an NP-hard reduction, or search keywords for similar problems would be greatly appreciated.  Thanks!&lt;/p&gt;&#xA;" OwnerUserId="7158" LastActivityDate="2011-11-09T07:36:34.133" Title="Algorithm for ordering a list under a similarity function?" Tags="&lt;ds.algorithms&gt;&lt;total-ordering&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8879" PostTypeId="2" ParentId="8869" CreationDate="2011-11-09T06:42:16.007" Score="10" Body="&lt;p&gt;There is a published &lt;a href=&quot;http://dx.doi.org/10.1109/SCT.1990.113952&quot;&gt;paper&lt;/a&gt; by Laszlo Babai (1990) in the form of a fable about Arthur and Merlin describing the dramatic sequence of events leading the community up to the IP=PSPACE result in 1989, which was very much unbelievable just a year earlier.&lt;/p&gt;&#xA;" OwnerUserId="121" LastActivityDate="2011-11-09T06:42:16.007" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8880" PostTypeId="2" ParentId="8876" CreationDate="2011-11-09T06:42:30.753" Score="16" Body="&lt;p&gt;The disjoint union of $n$ copies of $K_5$ (or $K_{3,3}$) is a minimal forbidden minor for the graphs of genus $n-1$; the same is true for a graph in which some of these copies share a single vertex, so that the blocks of the graph are $K_5$ or $K_{3,3}$. This follows from results in J. Battle, F. Harary, Y. Kodama and J.W.T. Youngs, &quot;Additivity of the genus of a graph&quot;, &lt;em&gt;Bull. Amer. Math. Soc.&lt;/em&gt; 68 (1962) 565–568, and is already enough to show that there are at least exponentially many forbidden minors.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Bojan Mohar, &quot;An obstruction to embedding graphs in surfaces&quot;, &lt;em&gt;Discrete Math.&lt;/em&gt; 78 (1989) 135–142, lists the graph formed from $K_8$ by removing a 4-cycle as having genus 2. Since $K_7$ is toroidal, this means that either $K_8\setminus C_4$ or one of its spanning subgraphs is an obstruction to torus embedding, and that graphs that have $n$ copies of this graph as their blocks have genus $2n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Mohar also shows that the graph formed from a $(2k+2)$-cycle by connecting vertex 0 to all the even vertices and vertex 1 to all the odd vertices has &quot;relative genus&quot; at least $\lceil k/2\rceil$. The graph is planar, but I think relative genus means that the cycle has to be a face; or you could add another vertex to the graph, connected to all of the cycle vertices, to effectively force it to be a face. Maybe this is closer to the sort of thing you want. But I don't think he shows that these graphs are minimal forbidden minors.&lt;/p&gt;&#xA;" OwnerUserId="95" LastEditorUserId="95" LastEditDate="2011-11-09T22:05:03.713" LastActivityDate="2011-11-09T22:05:03.713" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8881" PostTypeId="2" ParentId="8878" CreationDate="2011-11-09T07:36:34.133" Score="7" Body="&lt;p&gt;The variant of your problem where you DON'T square the distance is called the (weighted) Minimum Linear Arrangement problem. It's NP-hard and there are a number of different approximation methods for it. &lt;a href=&quot;http://www.wisdom.weizmann.ac.il/~safro/minla/index.html&quot;&gt;Here's one link&lt;/a&gt; that popped up that has code that you might find useful. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;But fortunately for you, you squared the distance, which changes things quite a bit. Let's expand the expression: &#xA;$$&#xD;&#xA;\begin{align*} &#xD;&#xA;\sum_{a,b \in A} s(a,b) (i(a) - i(b))^2 &amp;amp;= \sum_{a,b \in A} s(a,b) (i^2(a) +i^2(b) - 2 i(a) i(b)) \\&#xD;&#xA;&amp;amp;= \sum_a i^2(a) \sum_b s(a,b) + \sum_b i^2(b) s(a,b) - 2 \sum_{a,b} s(a,b)i(a)i(b) \\&#xD;&#xA;&amp;amp;= 2 \sum_a S(a) i^2(a) - 2 \sum_{a,b} s(a,b)i(a)i(b) \\&#xD;&#xA;&amp;amp;= 2 u^\top A u &#xD;&#xA;\end{align*}&#xD;&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where $u$ is the vector $i(a)$ and $A_{a,b} = -s(a,b), A(a,a) = \sum_b s(a,b)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;All of this is a long-winded way of saying that you've essentially defined the Laplacian operator for the complete graph with weights given by your similarity function. At this point, minimizing the form is straightforward. You compute the decomposition of A in the form $A = V \Lambda V^T$, at which point your goal is to minimize the norm $\| u^T V \sqrt{\Lambda}\|$. But note that since $A$ is symmetric, $V$ is orthonormal, and is essentially a rotation matrix, and so what you really want to do is line up $u$ in reverse order of the eigenvalues of $A$ (the elements of $\Lambda$)&lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2011-11-09T07:36:34.133" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8882" PostTypeId="1" CreationDate="2011-11-09T09:12:49.033" Score="8" ViewCount="741" Body="&lt;p&gt;Are there any ways of getting to know about new PhD positions in TCS other then just looking trough ubniversity/research groups web sites? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Maybe people from different branches (type theory, verification, complexity, etc.) can name some specialized mailing-lists where PhD positions announcements are quite usual.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;PS In my university we haven't got huge TCS research and we always have smart students “at hand” which are good candidates for sending for PhD positions, but in order to make this process more effective it would be nice to have some sources of new positions opening.&lt;/p&gt;&#xA;" OwnerUserId="869" LastActivityDate="2011-11-09T11:44:13.113" Title="Monitoring PhD positions in TCS" Tags="&lt;soft-question&gt;&lt;career&gt;" AnswerCount="3" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8883" PostTypeId="1" AcceptedAnswerId="8913" CreationDate="2011-11-09T09:31:55.273" Score="10" ViewCount="567" Body="&lt;p&gt;During my work i came up with the following problem:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am trying to find an $n \times n$ $(0,1)$-matrix $M$, for any $n &amp;gt; 3$, with the following properties:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The determinant of $M$ is even.&lt;/li&gt;&#xA;&lt;li&gt;For any non-empty subsets $I,J\subseteq\{1,2,3\}$ with $|I| = |J|$, the submatrix $M^I_J$ has odd determinant if and only if $I=J$.  &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Here $M^I_J$ denotes the submatrix of $M$ created by removing the rows with indices in $I$ and the columns with indices in $J$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So far, I tried to find such a matrix via random sampling but I am only able to find a matrix that has all properties &lt;strong&gt;except the first one&lt;/strong&gt;, i.e., the matrix always has an odd determinant. I tried various dimensions and different input/output sets without any success. So this makes me think: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is that there is a dependency among the requirements, which prevents them from being simultaneously true?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;or&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is it possible that such a matrix exists and can someone give me an example?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks,&#xA;Etsch&lt;/p&gt;&#xA;" OwnerUserId="5641" LastEditorUserId="74" LastEditDate="2011-11-10T15:14:12.733" LastActivityDate="2011-11-10T19:54:45.983" Title="Can such a matrix exist?" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;linear-algebra&gt;&lt;matrices&gt;&lt;boolean-matrix&gt;" AnswerCount="1" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="8885" PostTypeId="2" ParentId="8882" CreationDate="2011-11-09T09:40:48.787" Score="10" Body="&lt;p&gt;PhD positions in TCS and Discrete Math are sometimes announced on &lt;a href=&quot;https://listserv.nodak.edu/archives/theorynt.html&quot;&gt;TheoryNet&lt;/a&gt; and &lt;a href=&quot;http://www.zaik.de/AFS/publications/dmanet/&quot;&gt;DMANET&lt;/a&gt;. These are mailing lists to circulate announcements and questions regarding conferences, workshops, seminars, books and jobs in these areas.&lt;/p&gt;&#xA;" OwnerUserId="72" LastActivityDate="2011-11-09T09:40:48.787" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8886" PostTypeId="2" ParentId="8850" CreationDate="2011-11-09T10:22:30.077" Score="3" Body="&lt;p&gt;It would be interesting to know what litterature you have read.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As far as I know, Bayesian filters were working very well. That's because the learning is based on the words used, and a Bayesian filter is quick to understand that an email containt &quot;Viagra&quot; is likely spam.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But spammers are not so stupid, and they quickly introduced mispelled word. &quot;VI4GRA&quot; has never been seen in any spam before. In a word: it's easy to work around a Bayesian filter.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Neural Networks can be good at classifying. But there are two difficulties: the choice of measures ; the training data.&lt;/p&gt;&#xA;" OwnerUserId="7161" LastActivityDate="2011-11-09T10:22:30.077" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8887" PostTypeId="2" ParentId="8882" CreationDate="2011-11-09T10:38:20.857" Score="8" Body="&lt;p&gt;This is a somewhat Euro-centric issue. In the US, there aren't such things as &quot;Ph.D positions&quot;. People merely apply to grad school where theory folks are. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2011-11-09T10:38:20.857" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="8888" PostTypeId="2" ParentId="8882" CreationDate="2011-11-09T11:44:13.113" Score="2" Body="&lt;p&gt;For type theory, the TYPES/announce mailing list appears to be the place where these are announced.  There's also the LOGIC mailing list where theoretical jobs are announced in the German speaking world.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The Haskell subreddit at Reddit.com also has some announcements from time to time related to functional programming and type theory.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The best thing to do is probably to subscribe to a big university theory group's announcement mailing list.  Announcements get CC'd to those as a matter of course.&lt;/p&gt;&#xA;" OwnerUserId="375" LastActivityDate="2011-11-09T11:44:13.113" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8889" PostTypeId="2" ParentId="8851" CreationDate="2011-11-09T12:15:22.700" Score="17" Body="&lt;p&gt;Thank you Gopi for this question. I'd like to extend the many&#xA;interesting answers in another dimension that hasn't been mentioned&#xA;yet.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Research is not the only thing we do at university: if you want to&#xA;stay in academia, eventually you will have to teach. If you are lucky,&#xA;you'll have to teach courses that are quite far away from your area of&#xA;specialisation. Quite likely you'll be assigned courses with a&#xA;substantial programming component. This is where even a moderate&#xA;ability to program helps substantially: you'll be much better a&#xA;teacher if you know how to program. First and foremost, you'll be more&#xA;comfortable with the material, you'll be able to answer student&#xA;questions better, and you understand the difficulties that students&#xA;have with learning to program, as you've experienced this learning&#xA;process yourself.  Moreover, you can produce better teaching material.&#xA;For instance you can test programming exercises yourself before giving&#xA;them to students, and fine-tune the level of difficulty.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There's an additional pragmatic dimension: teaching involves various&#xA;repetitive tasks that a skilled programmer can often automate, like&#xA;quickly making  a website that students can use to submit&#xA;coursework, and have it graded automatically (according to the number&#xA;of automated tests the code passes).&lt;/p&gt;&#xA;" OwnerUserId="898" LastEditorUserId="898" LastEditDate="2017-08-04T13:36:58.883" LastActivityDate="2017-08-04T13:36:58.883" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="8891" PostTypeId="1" AcceptedAnswerId="8930" CreationDate="2011-11-09T13:43:53.447" Score="12" ViewCount="441" Body="&lt;p&gt;I found a problem in Barendregt's proof of subject reduction (Thm 4.2.5 of &lt;a href=&quot;http://www.cs.rhul.ac.uk/~zhaohui/Barendregt92.pdf&quot; title=&quot;Lambda calculi with types&quot;&gt;Lambda calculi with types&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The last step of the proof (page 60), says:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&quot;and hence by Lemma 4.1.19(1), $\quad\Gamma,x:\rho\vdash P:\sigma&amp;#39;$.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, according to Lemma 4.1.19(1) it should be $\Gamma[\vec{\alpha}:=\vec{\tau}],x:\rho\vdash P:\sigma&amp;#39;$, since the substitution is made to the whole context, not only to $x:\rho&amp;#39;$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I guess the standard solution may be to somehow prove that $\vec{\alpha}\notin FV(\Gamma)$, but I am not sure how.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I had a proof simplifying it by relaxing the generation lemma of abstractions, but I recently found that there was a mistake and my proof is wrong, so I am not sure how to solve this problem any more.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can somebody, please, tell me what I am missing here?&lt;/p&gt;&#xA;" OwnerUserId="743" LastEditorUserId="743" LastEditDate="2011-11-09T14:18:47.957" LastActivityDate="2011-11-11T11:36:19.213" Title="Barendregt's proof of subject reduction for $\lambda2$" Tags="&lt;lo.logic&gt;&lt;type-theory&gt;&lt;lambda-calculus&gt;&lt;proof-theory&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8892" PostTypeId="1" AcceptedAnswerId="8897" CreationDate="2011-11-09T14:51:14.640" Score="12" ViewCount="1798" Body="&lt;p&gt;In my search for research papers about type systems for imperative languages, I only find solutions for a language with mutable references but without genuine imperative control structures such as compound operators, loops or conditionals.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So it's not clear how an imperative language with partial type inference such as &lt;a href=&quot;http://rust-lang.org&quot;&gt;http://rust-lang.org&lt;/a&gt; can be implemented.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The papers don't mention parametrized types such as &lt;code&gt;List of a&lt;/code&gt; because parametrized types are a trivial extension of Hindley-Milner type system - only the unification algorithm should be extended, and the rest of inference works as is. However, assignments cannot be trivially added because paradoxes arise, so special techniques such as ML value restriction must be applied.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can you recommend any papers or books describing a type system for a language with imperative loops, conditionals, IO and compound statements? &lt;/p&gt;&#xA;" OwnerUserId="6602" LastEditorUserId="186" LastEditDate="2011-11-09T16:23:14.577" LastActivityDate="2016-10-02T23:49:29.450" Title="Type inference for imperative statements other than assignment" Tags="&lt;reference-request&gt;&lt;pl.programming-languages&gt;&lt;type-theory&gt;&lt;type-inference&gt;&lt;imperative-programming&gt;" AnswerCount="3" CommentCount="3" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="8893" PostTypeId="1" AcceptedAnswerId="8912" CreationDate="2011-11-09T15:23:09.957" Score="21" ViewCount="6851" Body="&lt;p&gt;This is about how effectively we can express an algorithm at hand. I need this for my undergraduate teaching. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I understand there is no such thing as standard way of writing a pseudo code. Different authors follow different conventions. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It would be helpful if people here point out, the way they follow and think the best one.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there any book that deals with this in a good detail?&lt;/p&gt;&#xA;" OwnerUserId="3162" LastEditorUserId="3162" LastEditDate="2011-11-10T01:36:14.870" LastActivityDate="2013-11-17T15:15:01.930" Title="Good practices for writing algorithms" Tags="&lt;ds.algorithms&gt;&lt;soft-question&gt;&lt;advice-request&gt;&lt;writing&gt;" AnswerCount="3" CommentCount="2" FavoriteCount="10" ContentLicense="CC BY-SA 3.0" />
  <row Id="8894" PostTypeId="2" ParentId="8869" CreationDate="2011-11-09T15:53:16.733" Score="16" Body="&lt;p&gt;Tim Gowers is a fan of this kind of thing.  See specifically his exposition of &lt;a href=&quot;http://gowers.files.wordpress.com/2009/05/razborov2.pdf&quot;&gt;Razborov's method of approximations&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In his introduction, Gowers references my &lt;a href=&quot;http://alum.mit.edu/www/tchow/forcing.pdf&quot;&gt;expository article on forcing&lt;/a&gt;, which is a (not entirely successful) attempt to do the same thing for forcing.  Forcing is normally thought of as a technique in logic and set theory, but it has found its way into TCS occasionally.  It comes up in the study of bounded arithmetic and propositional proof complexity (Krajíček and Takeuti are two researchers who have pursued this connection), and the concept of a generic oracle is related to the concept of a generic filter.&lt;/p&gt;&#xA;" OwnerUserId="2970" LastActivityDate="2011-11-09T15:53:16.733" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8895" PostTypeId="2" ParentId="8892" CreationDate="2011-11-09T15:59:50.533" Score="3" Body="&lt;p&gt;Xavier Leroy's &lt;a href=&quot;http://gallium.inria.fr/~xleroy/publi/phd-thesis.pdf&quot; rel=&quot;nofollow&quot;&gt;PhD thesis&lt;/a&gt; is a good start.&lt;/p&gt;&#xA;" OwnerUserId="375" LastActivityDate="2011-11-09T15:59:50.533" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8896" PostTypeId="2" ParentId="8869" CreationDate="2011-11-09T16:06:54.640" Score="13" Body="&lt;p&gt;(This started out as a comment and got way way way too long). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;You may enjoy William Thurston's article &lt;a href=&quot;http://arxiv.org/abs/math/9404236&quot;&gt;On Proof and Progress in Mathematics&lt;/a&gt;. &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Mathematics in some sense has a common language: a language of symbols, technical definitions, computations, and logic. This language efficiently conveys some, but not all, modes of mathematical thinking. Mathematicians learn to translate certain things almost unconsciously from one mental mode to the other, so that some statements quickly become clear. [...] &lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;People familiar with ways of doing things in a subfield recognize various patterns of statements or formulas as idioms or circumlocution for certain concepts or mental images. But to people not already familiar with what’s going on the same patterns are not very illuminating; they are often even misleading. The language is not alive except to those who use it. [...]&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;We mathematicians need to put far greater effort into communicating mathematical ideas. To accomplish this, we need to pay much more attention to communicating not just our definitions, theorems, and proofs, but also our ways of thinking. We need to appreciate the value of different ways of thinking about the same mathematical structure.&#xA;  We need to focus far more energy on understanding and explaining the basic mental infrastructure of mathematics—with consequently less energy on the most recent results. This entails developing mathematical language that is effective for the radical purpose of conveying ideas to people who don’t already know them.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Regarding the original question, there are papers that do not present ideas in the Definition-Theorem-Proof (DTP) format. Timothy Chow has a few papers that focus on communicating ideas (though they are not the first (or second) papers on the topic/result). &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.ams.org/notices/200601/fea-chow.pdf&quot;&gt;You could have invented spectral sequences&lt;/a&gt;, Timothy Chow, Notices of the AMS&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www-math.mit.edu/~tchow/mathstuff/forcingdum&quot;&gt;Forcing for dummies&lt;/a&gt;, Timothy Chow&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;One possible reason for the prevalence of the DTP format is that we are all just used to it from books and papers. Reviewers (and readers) sometimes find non-standard writing style distracting. A middle ground is papers that gently break the reader into a result. There are papers that present a special case or a simple problem that illustrates the general idea.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.google.com/url?sa=t&amp;amp;rct=j&amp;amp;q=the%2btopological%2bstructure%2bof%2basynchronous%2bcomputability&amp;amp;source=web&amp;amp;cd=3&amp;amp;ved=0CDYQFjAC&amp;amp;url=http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.78.1455&amp;amp;rep=rep1&amp;amp;type=pdf&amp;amp;ei=35e6TsKrM8XVrQe5rp3QBg&amp;amp;usg=AFQjCNH_TSl4tQhAyMDNZ_-rcSLEDmJxTg&amp;amp;cad=rja&quot;&gt;The Topological Structure of Asynchronous Computability&lt;/a&gt;, Maurice Herlihy and Nir Shavit. The paper has many illustrations and demonstrates the general idea for a simple protocol before applying the main theorem to solve some open problems.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.google.com/url?sa=t&amp;amp;rct=j&amp;amp;q=logic%20and%20p-recognizable%20sets%20of%20integers&amp;amp;source=web&amp;amp;cd=1&amp;amp;ved=0CBoQFjAA&amp;amp;url=http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.67.7581&amp;amp;rep=rep1&amp;amp;type=pdf&amp;amp;ei=kZi6Ttj0MsHHrQe9s_W2Bg&amp;amp;usg=AFQjCNEfaiSmm5CGCFEhx8iHRRdIQ8U4OA&amp;amp;cad=rja&quot;&gt;Logic and $p$ recognizable sets of integers&lt;/a&gt;, Véronique Bruyàre, Georges Hansel, Christian Michaux, and Roger Villemaire. A survey-style exposition of a  beautiful result: the sets of natural numbers that are encodable by finite automata, independent of the base chosen are precisely those definable in Presburger arithmetic. The paper has numerous examples, covers special cases before the general case and provides historical background about erroneous proof attempts. &lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;No discussion of a non-standard presentation of remarkable ideas would be complete without mentioning the work of &lt;a href=&quot;http://iml.univ-mrs.fr/~girard/Articles.html&quot;&gt;Jean-Yves Girard&lt;/a&gt;. Unique is probably the best word to describe it (without being diplomatic or sarcastic). From, the paper &lt;a href=&quot;http://iml.univ-mrs.fr/~girard/linear.pdf&quot;&gt;Linear Logic&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;The philosophical exegesis of Heyting’s rules leaves in fact very little room for a further discussion of the intuitionistic calculus; but has anybody ever seriously tried? In fact, linear logic, which is a clear and clean extension of usual logic, can be reached through a more perspicuous analysis of the semantics of proofs (not very far from the computer-science approach and thus relegated to the next section), or by certain more or less immediate considerations about sequent calculus. These considerations are of immediate geometrical meaning, but in order to understand them, one has to forget the intentions, remembering, with a Chinese leader, that it’s not the colour of the cat that matters, but the fact that it catches mice.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Later:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;There are still people saying that , in order to make computer science, one essentially needs a soldering iron; this opinion is shared by logicians who despise computer science and by engineers who despise theoreticians. However, in recent years, the need for a logical study of programmation has become clearer and clearer and the linkage logic-computer-science seems irreversible.&#xA;  [...]&lt;br&gt;&#xA;   In some sense , logic plays the same role as the one played by geometry w.r.t. physics: the geometrical frame imposes certain conservation results, for instance, the Stokes formula. The symmetries of logic presumably express deep conservation of information, in form which have not yet been rightly conceptualised. &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="4155" LastActivityDate="2011-11-09T16:06:54.640" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="8897" PostTypeId="2" ParentId="8892" CreationDate="2011-11-09T16:19:31.583" Score="14" Body="&lt;p&gt;If you're looking for a neat, functional reference to type-inference, I'm a bit partial to Gundry, McBride, and McKinna's 2010 &quot;&lt;a href=&quot;http://dl.acm.org/citation.cfm?id=1863608&quot;&gt;Type Inference in Context&lt;/a&gt;&quot;, though this may not be a good guide to any actual existing implementations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think part of the answer is that, beyond the value restriction, there really isn't that much difficulty adapting Hindley-Milner type inference to imperative languages: if you define &lt;code&gt;e1; e2&lt;/code&gt; as syntactic sugar for &lt;code&gt;(fn _ =&amp;gt; e2) e1&lt;/code&gt; and define &lt;code&gt;while e1 do e2&lt;/code&gt; as syntactic sugar for &lt;code&gt;whiledo e1 (fn () =&amp;gt; e2)&lt;/code&gt;, where &lt;code&gt;whiledo&lt;/code&gt; is a regular recursive function&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;fun whiledo g f = if g then (f (); whiledo g f) else ();&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;then everything will work fine, &lt;em&gt;including&lt;/em&gt; type inference.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As for the value restriction being a special technique, I like the following story; I'm pretty sure I picked it up from Karl Crary. Consider the following code, which the value restriction will prevent you from writing in ML:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;let&#xA;   val x: 'a option ref = ref NONE&#xA;in&#xA;   (x := SOME 5; x := SOME &quot;Hello&quot;)  &#xA;end&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Compare it to the following code, which is totally unproblematic:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;let&#xA;   val x: unit -&amp;gt; 'a option ref = fn () =&amp;gt; ref NONE&#xA;in&#xA;   (x () := SOME 5; x () := SOME &quot;Hello&quot;)  &#xA;end&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;We know what the second example does: it creates two new ref cells containing &lt;code&gt;NONE&lt;/code&gt;, then puts &lt;code&gt;SOME 5&lt;/code&gt; in the first one (an &lt;code&gt;int option ref&lt;/code&gt;), then puts &lt;code&gt;SOME &quot;Hello&quot;&lt;/code&gt; in the second one (a &lt;code&gt;string option ref&lt;/code&gt;). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;But think about the first example in terms of how we would represent &lt;code&gt;x&lt;/code&gt; in System F (the polymorphic lambda-calculus). In such a setting, &lt;code&gt;x&lt;/code&gt; would be a value of type &quot;$\forall \alpha. \mbox{ref}(\mbox{option}(\alpha))$&quot;, so that means that, as a term, the value of &lt;code&gt;x&lt;/code&gt; must be a (type) lambda: &quot;$\Lambda \alpha. \mbox{ref}[\alpha](\mbox{NONE})$&quot;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This would suggest that one &quot;good&quot; behavior of the first example is to behave exactly the same way the second example behaves - instantiate the type-level lambda two different times. The first time we instantiate &lt;code&gt;x&lt;/code&gt; with &lt;code&gt;int&lt;/code&gt;, which will cause &lt;code&gt;x [int]&lt;/code&gt; to evaluate to a reference cell holding &lt;code&gt;NONE&lt;/code&gt; and then &lt;code&gt;SOME 5&lt;/code&gt;. The second time we instantiate &lt;code&gt;x&lt;/code&gt; with &lt;code&gt;string&lt;/code&gt;, which will case &lt;code&gt;x [string]&lt;/code&gt; to evaluate to a (&lt;em&gt;different!&lt;/em&gt;) reference cell holding &lt;code&gt;NONE&lt;/code&gt; and then &lt;code&gt;SOME &quot;Hello&quot;&lt;/code&gt;. This behavior is &quot;correct&quot; (type-safe), but it's definitely not what a programmer would expect, and this is why we have the value restriction in ML, to avoid programmers dealing with this unexpected sort of behavior.&lt;/p&gt;&#xA;" OwnerUserId="1024" LastEditorUserId="1024" LastEditDate="2011-11-09T19:37:28.827" LastActivityDate="2011-11-09T19:37:28.827" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="8898" PostTypeId="2" ParentId="6136" CreationDate="2011-11-09T16:24:29.327" Score="2" Body="&lt;p&gt;Take a look at &lt;a href=&quot;http://www2.tcs.ifi.lmu.de/~abel/talkDTP2011.pdf&quot; rel=&quot;nofollow&quot;&gt;http://www2.tcs.ifi.lmu.de/~abel/talkDTP2011.pdf&lt;/a&gt; and an older PiSigma system mentioned there.&lt;/p&gt;&#xA;" OwnerUserId="6602" LastActivityDate="2011-11-09T16:24:29.327" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8899" PostTypeId="1" AcceptedAnswerId="8910" CreationDate="2011-11-09T16:39:29.267" Score="14" ViewCount="716" Body="&lt;p&gt;This question is related to one of my previous questions, &lt;a href=&quot;https://cstheory.stackexchange.com/questions/1215/np-hard-problems-on-trees&quot;&gt;NP-hard problems on trees&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;I am looking for problems that are P-complete on trees.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="344" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.743" LastActivityDate="2014-04-24T18:10:51.563" Title="P-complete problems on trees" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;&lt;tree&gt;&lt;p-hardness&gt;" AnswerCount="4" CommentCount="3" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="8900" PostTypeId="2" ParentId="8893" CreationDate="2011-11-09T16:50:49.940" Score="11" Body="&lt;p&gt;I tend to use something resembling Python syntax. Python is close enough to pseudocode already that in some cases my pseudocode can shade into being actual working code.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2011-11-09T16:50:49.940" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="8902" PostTypeId="1" CreationDate="2011-11-09T18:58:40.527" Score="29" ViewCount="1257" Body="&lt;p&gt;Are there any toy examples that provide 'essential' insights into understanding the three known barriers to $P = NP$ problem - relativization, natural proofs and algebrization?&lt;/p&gt;&#xA;" OwnerUserId="5511" LastEditorUserId="186" LastEditDate="2011-11-10T01:56:18.060" LastActivityDate="2011-11-10T15:43:47.123" Title="Toy examples for barriers to $P \ne NP$" Tags="&lt;cc.complexity-theory&gt;&lt;relativization&gt;&lt;p-vs-np&gt;&lt;natural-proofs&gt;&lt;barriers&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="8904" PostTypeId="2" ParentId="8368" CreationDate="2011-11-09T20:43:04.283" Score="2" Body="&lt;p&gt;Yet another non-answer: there are some papers on mapreduce-style algorithms operating on large graphs. The goal is to achieve per-machine space o(m) for dense graphs, but typically need O(n) space per machine.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;theory.stanford.edu/~sergei/papers/soda10-mrc.pdf&#xA;&lt;a href=&quot;http://theory.stanford.edu/~sergei/papers/spaa11-matchings.pdf&quot; rel=&quot;nofollow&quot;&gt;http://theory.stanford.edu/~sergei/papers/spaa11-matchings.pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="740" LastActivityDate="2011-11-09T20:43:04.283" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8905" PostTypeId="2" ParentId="7552" CreationDate="2011-11-09T21:13:08.850" Score="22" Body="&lt;p&gt;Just for reference, I stumbled across this really interesting paper today, which gives evidence that a deterministic reduction is unlikely: &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Dell, H., Kabanets, V., Watanabe, O., &amp;amp; van Melkebeek, D. (2012). Is the Valiant-Vazirani Isolation Lemma Improvable? &lt;em&gt;ECCC &lt;a href=&quot;http://eccc.hpi-web.de/report/2011/151/&quot;&gt;TR11-151&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;They argue that this is not possible unless NP is contained in P/poly.&lt;/p&gt;&#xA;" OwnerUserId="170" LastEditorUserId="1037" LastEditDate="2014-03-09T06:01:02.233" LastActivityDate="2014-03-09T06:01:02.233" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8907" PostTypeId="2" ParentId="8875" CreationDate="2011-11-10T04:13:19.443" Score="10" Body="&lt;p&gt;Here is a simple trick that might be useful. Consider a random sample that picks every point with probability 1/k. It is easy to verify that with good probability exactly one of your k nearest neighbor would be in the sample. Compute the nearest-neighbor in the sample. Repeat this O( k log n) times. With high probability the k nearest points in the $O(k \log n)$ points computed are the k nearest neighbors to your query. Thus, finding the k nearest neighbor, is equivalent to doing $O( k \log n)$ nearest neighbor queries.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In short, give me a fast data-structure for answering nearest neighbor queries, and I would be happy to give you a fast data-structure of k-nearest neighbor. &lt;/p&gt;&#xA;" OwnerUserId="9594" LastActivityDate="2011-11-10T04:13:19.443" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="8908" PostTypeId="2" ParentId="8851" CreationDate="2011-11-10T04:22:35.970" Score="34" Body="&lt;p&gt;There's another answer that no one has really brought up. Programming can actually lead to interesting theory. A lot of the recent developments in hashing (especially tabulation hashing) are motivated not by theoretical concerns per se, but by the fact that the theoretically optimal algorithms aren't that great in practice. This of course is something you don't know unless you can write code. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Even in the realm of exact exponential time algorithms, a motivation is producing algorithms that can actually work. SAT solvers are the canonical example of this. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In short, the ability to code allows you to realize shortcomings and weaknesses in what might look like optimal theoretical results, and that in turn opens up new theoretical research directions. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2011-11-10T04:22:35.970" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="8909" PostTypeId="2" ParentId="8902" CreationDate="2011-11-10T05:53:56.380" Score="26" Body="&lt;p&gt;Let me give a toy example of the relativization barrier. The canonical example is the time hierarchy theorem that ${\bf TIME}[t(n)] \subsetneq {\bf TIME}[t(n)^2]$. The proof (by diagonalization) is only a little more involved than the proof that the halting problem is undecidable: we define an algorithm $A(x)$ which simulates the $x$th algorithm $A_x$ on input $x$ directly step-for-step for $t(|x|)$ steps, then outputs the opposite value. Then we argue that $A$ can be implemented to run in $t(|x|)^2$ time. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The argument works equally well if we equip all algorithms with access to an arbitrary oracle set $O$, which we assume we can ask membership queries to, in one step of computation. A step-for-step simulation of $A_x^O$ can also be carried out by $A$, as long as $A$ has access to the oracle $O$ too. In notation, we have ${\bf TIME}^O[t(n)] \subsetneq {\bf TIME}^O[t(n)^2]$ for all oracles $O$. In other words, &lt;em&gt;the time hierarchy relativizes&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We can define oracles for nondeterministic machines in a natural way, so it makes sense to define classes $P^O$ and $NP^O$ with respect to oracles. But there are oracles $O$ and $O&amp;#39;$ relative to which $P^O = NP^O$ and $P^{O&amp;#39;} \neq NP^{O&amp;#39;}$, so this kind of direct simulation argument in the time hierarchy theorem won't work for resolving $P$ versus $NP$. Relativizing arguments are powerful in that they are widely applicable and have led to many great insights; but this same power makes them &quot;weak&quot; with respect to questions like $P$ versus $NP$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The above is, of course, a toy example -- there are many other more complicated examples of arguments in complexity which still relativize (i.e., hold up when arbitrary oracles are introduced).&lt;/p&gt;&#xA;" OwnerUserId="225" LastActivityDate="2011-11-10T05:53:56.380" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8910" PostTypeId="2" ParentId="8899" CreationDate="2011-11-10T07:29:30.427" Score="11" Body="&lt;p&gt;A recent one, presented at ICALP is&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Markus Lohrey, Christian Mathissen: Isomorphism of Regular Trees and Words. ICALP (2) 2011: 210-221&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You will find the paper both on &lt;a href=&quot;http://arxiv.org/abs/1102.2782&quot;&gt;arxiv&lt;/a&gt;&#xA;and &lt;a href=&quot;http://www.informatik.uni-leipzig.de/~lohrey/11-ICALP.pdf&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another example is  Mostowski epimorphism (see P-completeness and efficient parallelization by Satoru Miyano, and the paper by &lt;a href=&quot;http://www.springerlink.com/content/p854k0076nm51437/&quot;&gt;Dahlhaus&lt;/a&gt;): &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Dahlhaus E, Is SETL a suitable language for parallel programming - a theoretical approach, Computer science logic, 1st Workshop, CSL ’87, Karlsruhe/FRG 1987, Lect. Notes Comput. Sci. 329, 56-63, 1988)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Instance: a directed acyclic graph $D = (V, A)$ satisfying the axiom of extensionality and two vertices $x_1, x_2 \in V$ &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Problem: Decide whether $M_D(x_1) = M_D(x_2)$, where $M_D$ is the Mostowski epimorphism for $D$.&lt;/p&gt;&#xA;" OwnerUserId="4208" LastActivityDate="2011-11-10T07:29:30.427" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8911" PostTypeId="1" CreationDate="2011-11-10T11:40:33.530" Score="11" ViewCount="340" Body="&lt;p&gt;Given a weighted undirected graph with $m = o(n^2)$ edges, I would like to compute distances of approximation less than 2 between any given pair of vertices. Of course, I would like to use subquadratic space and sublinear query time. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am aware of Zwick's result that uses matrix multiplication, but I am curious if any combinatorial algorithms are known for this problem?&lt;/p&gt;&#xA;" OwnerUserId="7169" LastEditorUserId="7169" LastEditDate="2011-11-11T04:21:22.210" LastActivityDate="2011-11-11T22:37:32.530" Title="Computing distances with approximation less than 2 in general graphs?" Tags="&lt;ds.algorithms&gt;&lt;graph-algorithms&gt;" AnswerCount="3" CommentCount="8" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8912" PostTypeId="2" ParentId="8893" CreationDate="2011-11-10T14:04:33.473" Score="25" Body="&lt;p&gt;Writing pseudocode is like writing code:  It's not particularly important which standard you follow, as long as you (and the people you write with) actually follow &lt;em&gt;some&lt;/em&gt; standard. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;But for the record, here's the idiosyncratic standard I use in my lecture notes, research papers, and upcoming book.  &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Use standard imperative syntax for control flow and memory access — if, while, for, return, array[index], function(arguments).  Spell out &quot;else if&quot;.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;But use $field(record)$ instead of &lt;code&gt;record.field&lt;/code&gt; or &lt;code&gt;record-&amp;gt;field&lt;/code&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Use standard mathematical notation for math — Write $xy$ instead of &lt;code&gt;x*y&lt;/code&gt;, $a\bmod b$ instead of &lt;code&gt;a%b&lt;/code&gt;, $s\le t$ instead of &lt;code&gt;s &amp;lt;= t&lt;/code&gt;, $\lnot p$ instead of &lt;code&gt;!p&lt;/code&gt;, $\sqrt{x}$ instead of &lt;code&gt;sqrt(x)&lt;/code&gt;, $\pi$ instead of &lt;code&gt;PI&lt;/code&gt;, $\infty$ instead of &lt;code&gt;MAX_INT&lt;/code&gt;, etc.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;But use $x\gets y$ for assignment, to avoid the &lt;code&gt;==&lt;/code&gt; problem.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;But avoid notation (and pseudocode!) entirely if English is clearer.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Symmetrically, avoid English if notation is clearer!&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Minimize syntactic sugar — Indicate block structure by consistent indentation (à la Python).  Omit sugary keywords like &quot;begin/end&quot; or &quot;do/od&quot; or &quot;fi&quot;.  Omit line numbers.  Do &lt;em&gt;not&lt;/em&gt; emphasize keywords like &quot;for&quot; or &quot;while&quot; or &quot;if&quot; by setting them in a different &lt;code&gt;typeface&lt;/code&gt; or &lt;strong&gt;style&lt;/strong&gt;.  Ever.  Just don't.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;But typeset algorithm names and constants in \textsc{Small Caps}, variable names in &lt;em&gt;italic&lt;/em&gt;, and literal strings in sans serif.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;But add a small amount of vertical &quot;breathing&quot; space (&lt;code&gt;\\[0.5ex]&lt;/code&gt;) between meaningful code chunks.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Don't specify unimportant details.  If it doesn't matter what order you visit the vertices, just say &quot;for all vertices&quot;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;For example, here is a recursive formulation of &lt;a href=&quot;http://en.wikipedia.org/wiki/Bor%C5%AFvka%27s_algorithm&quot; rel=&quot;noreferrer&quot;&gt;Borůvka's minimum spanning tree algorithm&lt;/a&gt;.  I've previously defined $G / L$ as the graph obtained from $G$ by contracting all edges in the set $L$, and Flatten as a subroutine that removes loops and parallel edges.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/gzgWB.png&quot; alt=&quot;Borůvka&amp;#39;s algorithm&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I use my own lightweight &lt;a href=&quot;http://www.cs.uiuc.edu/~jeffe/pubs/tex/jeffe.sty&quot; rel=&quot;noreferrer&quot;&gt;&lt;code&gt;algorithm&lt;/code&gt; LaTeX environment&lt;/a&gt; to typeset pseudocode.  (It's just a &lt;code&gt;tabbing&lt;/code&gt; environment inside an &lt;code&gt;\fbox&lt;/code&gt;.)  Here's my source code for Borůvka's algorithm:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;\begin{algorithm}&#xA;	\textul{$\textsc{Borůvka}(G)$:}\+&#xA;\\	if $G$ has no edges\+&#xA;\\		return $\varnothing$\-&#xA;\\[0.5ex]&#xA;	$L \gets \varnothing$&#xA;\\	for each vertex $v$ of $G$\+&#xA;\\		add the lightest edge incident to $v$ to $L$\-&#xA;\\[0.5ex]&#xA;	return $L \cup \textsc{Borůvka}(\textsc{Flatten}(G / L))$&#xA;\end{algorithm}&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;" OwnerUserId="111" LastActivityDate="2011-11-10T14:04:33.473" CommentCount="14" ContentLicense="CC BY-SA 3.0" />
  <row Id="8913" PostTypeId="2" ParentId="8883" CreationDate="2011-11-10T17:08:20.280" Score="22" Body="&lt;p&gt;No such matrix exists.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The &lt;a href=&quot;http://en.wikipedia.org/wiki/Dodgson_condensation#The_Desnanot-Jacobi_identity_and_proof_of_correctness_of_the_condensation_algorithm&quot;&gt;Desnanot-Jacobi identity&lt;/a&gt; says that for $i \neq j$, &#xA;$$&#xD;&#xA;\det M_{ij}^{ij} \det M = \det M_i^i \det M_j^j -\det M_i^j \det M_j^i&#xD;&#xA;$$&#xA;so using this, we get&#xA;$$&#xD;&#xA;\det M_{12}^{12} \det M = \det M_{1}^{1} \det M_{2}^{2} - \det M_{1}^{2} \det M_{2}^{1}&#xD;&#xA;$$&#xA;But your requirements force the left-hand-side to be 0 (mod 2) and the right-hand-side to be 1 (mod 2), showing they are incompatible. &lt;/p&gt;&#xA;" OwnerUserId="1677" LastEditorUserId="1677" LastEditDate="2011-11-10T19:54:45.983" LastActivityDate="2011-11-10T19:54:45.983" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="8914" PostTypeId="2" ParentId="8875" CreationDate="2011-11-10T22:00:42.767" Score="3" Body="&lt;p&gt;A cheap approximate solution using a &quot;locality-sensitive hash&quot; would be to convert each point to it's bit interleaved form:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[xxx,yyy,zzz] -&gt; xyzxyzxyz&lt;/p&gt;&#xA;&#xA;&lt;p&gt;then radix sort for preprocessing. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Pick your point to query on and go $k$ points in both directions to get a size $2k$ set; then take the $kth$ nearest to your point. Also see &lt;a href=&quot;http://compgeom.com/~piyush/papers/tvcg_stann.pdf&quot; rel=&quot;nofollow&quot;&gt;this paper&lt;/a&gt; by Connor and Kumar.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also see &lt;a href=&quot;http://www.cs.ucsb.edu/~suri/cs235/Rlist/wellSepPairDecom.pdf&quot; rel=&quot;nofollow&quot;&gt;this paper&lt;/a&gt; by Callahan and Kosaraju.&lt;/p&gt;&#xA;" OwnerUserId="2021" LastEditorUserId="2021" LastEditDate="2011-11-10T22:09:36.657" LastActivityDate="2011-11-10T22:09:36.657" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8915" PostTypeId="1" CreationDate="2011-11-10T22:08:07.000" Score="0" ViewCount="57" Body="&lt;p&gt;(Pardon me for any unrefined usage/terminology for I do not have a math/CS background.)&#xA;Consider a collection of $N$ balls with subsets of $n_1, n_2, ..., n_L$ balls of different $L$ colors. The problem is to partition the $N$ balls into $M$ equal-sized groups (given $(N\mod M)=0$) such that the color subsets are preserved within new groups &lt;em&gt;as much as possible&lt;/em&gt;. In the scenarios I'm concerned with, you could assume that for all $L$ original subsets, $n_l &amp;lt; (N/M)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here's an example to make the problem clear:&#xA;For a collection of $12$ balls with $4$ color-subsets - $\{1111\}$, $\{222\}$, $\{33\}$, $\{444\}$ - that needs to be split into 2 groups, the best way to do so is $\{111133\}$ and $\{222444\}$&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Is this problem well-defined?&lt;/li&gt;&#xA;&lt;li&gt;Is there an algorithm to solve this problem exactly in polynomial time?&lt;/li&gt;&#xA;&lt;li&gt;If not, is there an approximate algorithm?&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="7174" LastEditorUserId="32187" LastEditDate="2015-04-07T09:30:32.267" LastActivityDate="2015-04-07T09:30:32.267" Title="Regrouping a collection of sets based on constraint" Tags="&lt;co.combinatorics&gt;" AnswerCount="0" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="8917" PostTypeId="2" ParentId="8911" CreationDate="2011-11-10T22:29:30.060" Score="5" Body="&lt;p&gt;You might be interested in Rachit Agarwal's 2011 INFOCOM paper:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Rachit Agarwal, P. Brighten Godfrey, Sariel Har-Peled&#xA;Approximate Distance Queries and Compact Routing in Sparse Graphs, IEEE INFOCOM 2011&lt;/p&gt;&#xA;&#xA;&lt;p&gt;From the abstract:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[For a] graph with average degree $\Theta(\log n)$, special cases of our data structures retrieve stretch 2 paths with $O(n^{3/2})$ space [...] at the cost of $O(\sqrt{n})$ query time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that their distance oracle is only for sparse graphs, but the logarithmic degree bound seems plausible. Added bonus, the algorithm also works for weighted graphs.&lt;/p&gt;&#xA;" OwnerUserId="6707" LastActivityDate="2011-11-10T22:29:30.060" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8918" PostTypeId="1" AcceptedAnswerId="8929" CreationDate="2011-11-10T22:32:39.140" Score="22" ViewCount="1201" Body="&lt;p&gt;The state of our knowledge about &lt;a href=&quot;http://en.wikipedia.org/wiki/Arithmetic_circuit_complexity#Lower_bounds&quot; rel=&quot;nofollow noreferrer&quot;&gt;general arithmetic circuits&lt;/a&gt; seems to be similar to the state of our knowledge about Boolean circuits, i.e. we don't have good lower-bounds. On the other hand we have exponential size lower-bounds for &lt;a href=&quot;http://en.wikipedia.org/wiki/Monotone_circuit#History&quot; rel=&quot;nofollow noreferrer&quot;&gt;monotone Boolean circuits&lt;/a&gt;. &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What do we know about &lt;em&gt;monotone&lt;/em&gt; arithmetic circuits? &#xA;  Do we have similar good lower-bounds for them? &#xA;  If not, what is the essential difference that doesn't allow us to get similar lower-bounds for monotone arithmetic circuits?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The question is inspired by comments on &lt;a href=&quot;https://cstheory.stackexchange.com/q/8853/186&quot;&gt;this question&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:30.623" LastActivityDate="2017-02-15T09:28:28.970" Title="Monotone arithmetic circuits" Tags="&lt;cc.complexity-theory&gt;&lt;circuit-complexity&gt;&lt;boolean-functions&gt;&lt;monotone&gt;&lt;arithmetic-circuits&gt;" AnswerCount="4" CommentCount="1" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="8919" PostTypeId="2" ParentId="8911" CreationDate="2011-11-10T23:05:08.283" Score="3" Body="&lt;p&gt;You might also want to take a look at &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Pătraşcu, Roditty, &lt;a href=&quot;http://people.csail.mit.edu/mip/papers/balls/paper.pdf&quot; rel=&quot;nofollow&quot;&gt;Distance Oracles Beyond the Thorup--Zwick Bound&lt;/a&gt;, FOCS 2010&lt;/p&gt;&#xA;&#xA;&lt;p&gt;They have a distance oracle of size $O(n^{5/3})$ with stretch 2. It supports queries in constant time.&lt;/p&gt;&#xA;" OwnerUserId="49" LastActivityDate="2011-11-10T23:05:08.283" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="8920" PostTypeId="2" ParentId="8918" CreationDate="2011-11-11T02:02:41.357" Score="15" Body="&lt;p&gt;Yes. We do know good lower bounds and we have known them for quite some time now.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Jerrum and Snir proved an &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=322341&quot;&gt;exponential lower bound&lt;/a&gt; over monotone arithmetic circuits for the permanent by 1980. Valiant showed even a single minus gate is &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=804412&quot;&gt;exponentially more powerful&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For more on (monotone) arithmetic circuits, check out Shpilka's &lt;a href=&quot;http://www.cs.technion.ac.il/~shpilka/publications/SY10.pdf&quot;&gt;survey&lt;/a&gt; on arithmetic circuits.&lt;/p&gt;&#xA;" OwnerUserId="1449" LastEditorUserId="1449" LastEditDate="2011-11-11T05:25:23.053" LastActivityDate="2011-11-11T05:25:23.053" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8921" PostTypeId="2" ParentId="8918" CreationDate="2011-11-11T03:20:24.520" Score="6" Body="&lt;p&gt;Another result that I'm aware of is by &lt;a href=&quot;http://arxiv.org/abs/0907.3780&quot;&gt;Arvind, Joglekar and Srinivasan&lt;/a&gt; -- they present explicit polynomials computable by linear sized width-$2k$ monotone arithmetic circuits but any width-$k$ monotone arithmetic circuit would take exponential size. &lt;/p&gt;&#xA;" OwnerUserId="877" LastActivityDate="2011-11-11T03:20:24.520" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8922" PostTypeId="2" ParentId="8918" CreationDate="2011-11-11T03:42:40.387" Score="3" Body="&lt;p&gt;Does this count: Chazelle's semi-group &lt;a href=&quot;http://www.cs.princeton.edu/~chazelle/pubs/LBOfflineRangeSearch.pdf&quot; rel=&quot;nofollow&quot;&gt;lower bounds&lt;/a&gt; for fundamental range-searching problems (in the offline setting). All lower bounds are almost optimal (up to log terms when the lower bounds is polynomial and log log terms when the lower bound is polylogarithmic).&lt;/p&gt;&#xA;" OwnerUserId="4896" LastActivityDate="2011-11-11T03:42:40.387" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8923" PostTypeId="1" CreationDate="2011-11-11T04:39:39.067" Score="30" ViewCount="3349" Body="&lt;p&gt;Suppose I have a poset &quot;S&quot; and a monotonic predicate &quot;P&quot; on S.&#xA;I want to find one or all maximal elements of S satisfying P.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT&lt;/strong&gt;: I'm interested in minimizing the number of &lt;strong&gt;evaluations of P&lt;/strong&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What algorithms do there exist for this problem and what properties and additional operations do they require on S?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What about important special cases, such as:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt; S is a linear order - then regular binary search works, as long as you have a &quot;find middle&quot; operation&#xA;&lt;li&gt; S is a lattice&#xA;&lt;li&gt; S is a subset lattice&#xA;&lt;li&gt; S is a multiset lattice&#xA;&lt;li&gt; ...&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The two latter cases seem particularly important e.g. for experiment design - you have a set of boolean or real parameters, and you wish to find the smallest possible combination of them that reproduces a particular pattern (e.g. a failing test).&lt;/p&gt;&#xA;" OwnerUserId="326" LastEditorUserId="80" LastEditDate="2011-11-11T18:08:08.753" LastActivityDate="2012-12-26T17:50:25.433" Title="Binary search generalizations for posets?" Tags="&lt;ds.algorithms&gt;&lt;ds.data-structures&gt;&lt;partial-order&gt;&lt;order-theory&gt;&lt;search-problem&gt;" AnswerCount="5" CommentCount="2" FavoriteCount="10" ContentLicense="CC BY-SA 3.0" />
  <row Id="8924" PostTypeId="2" ParentId="8923" CreationDate="2011-11-11T04:58:41.107" Score="8" Body="&lt;p&gt;&lt;a href=&quot;http://arxiv.org/abs/0707.1532&quot;&gt;One recent paper&lt;/a&gt; by Daskalakis et al shows that for a poset of size $n$ and width $w$, minimal elements can be found in time $O(wn)$. What's interesting is that in their abstract, they say &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;It would also be interesting to find efficient static and dynamic data&#xA;  structures that play the same role for partial orders that heaps and&#xA;  binary search trees play for total orders.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="80" LastActivityDate="2011-11-11T04:58:41.107" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="8925" PostTypeId="1" CreationDate="2011-11-11T07:34:31.600" Score="2" ViewCount="172" Body="&lt;p&gt;In calculus, when estimating a area of a set in a 2-dimensional space, we use rectangles to approximate.  To get sufficient precision, how many rectangles are needed if the shape of the set is close to a rectangle?   I formalize the discrete version of the problem as follows.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose we have a $N\times N$ grid (I assume it is a $N$ rows of squares, each row contains $N$ squares), and a set, say $S$, contains at least $r N^2$ squares, $r&amp;lt;1$. Now we wanna cover $S$ using rectangles approximately. (Pick several rows and several columns, all the crossing squares form a retangle)  The requirements are&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) all rectangles are disjoint with each other.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) The number of misplaced squares (i.e. the squares outside $S$ but covered and the squares in $S$ but not covered) $\leq\epsilon |S|$, where $\epsilon$ is considered to be a small positive constant.&#xA;Question is how many rectangles are sufficient. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;My guess is $poly(\frac{1}{r})$.&lt;/p&gt;&#xA;" OwnerUserId="4659" LastEditorUserId="4659" LastEditDate="2011-11-11T08:25:42.987" LastActivityDate="2011-11-11T08:25:42.987" Title="how to cover a set in a grid with as few rectangles as possible" Tags="&lt;co.combinatorics&gt;&lt;approximation&gt;" AnswerCount="0" CommentCount="6" ClosedDate="2011-11-11T16:22:25.890" ContentLicense="CC BY-SA 3.0" />
  <row Id="8927" PostTypeId="2" ParentId="8923" CreationDate="2011-11-11T10:55:23.360" Score="4" Body="&lt;p&gt;If S is part of the input, then the problem of finding a maximal element already becomes ``NP-hard'' (if we think of the lattice such that its elements are n bit long strings), e.g. you can say $x&amp;lt;y$ if CNF(x) is not true and CNF(y) is true for some fixed CNF.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, there might be many maximal elements satisfying P, so even to output all of them might take a long time, so I think there is only hope to find one maximal.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In general, binary search works if you can recursively select elements such that after you are left either with the above elements, or the above elements are deleted, and in every such sets a fixed ratio of the elements are deleted.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Eg. if S is a fixed dimensional grid, then there is a fast algorithm: Always halve one coordinate while keeping the others minimal, so ask e.g. in the first step (n/2,0,...,0). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;One important related theorem is the Tarski fixed point theorem, where instead of P you have a monotone mapping from a lattice to itself. The theorem says that the fixed points form a lattice. We proved with Jaroslaw Byrka and Paul Duetting that in this setting if the lattice is a d-dimensional grid, then you can find a fixed point in about $n^d$ time where the algorithm is a simple generalization of binary search.&lt;/p&gt;&#xA;" OwnerUserId="419" LastEditorUserId="419" LastEditDate="2011-11-12T22:04:02.527" LastActivityDate="2011-11-12T22:04:02.527" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="8928" PostTypeId="2" ParentId="8899" CreationDate="2011-11-11T11:13:32.590" Score="6" Body="&lt;p&gt;It depends a bit on what kind of problems you're looking at, but the path systems problem may be a candidate.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given: A finite set of propositions $P$, a set $A \subseteq P$ of axioms, a set $R \subseteq P \times P \times P$ of inference rules and some target $p \in P$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Question: Is $p$ provable from $A$ using $R$? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here, every proposition in $A$ is provable from $A$ using $R$ and, if there's a rule $(p_1,p_2,p_3)$ in $R$ and $p_1$ and $p_2$ are provable from $A$ using $R$, then also $p_3$ is provable from $A$ using $R$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The point is that the structure of such a proof is a tree.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A closely related problem is the language emptiness problem for a context-free grammar: Given a context-free grammar, does it have at least one derivation tree?  (The reduction from path systems is almost immediate.) Therefore, language emptiness of context-free grammars is P-complete.&#xA;Due to a very similar reason, the emptiness problem for tree automata is also P-complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A reference on path systems is: &#xA;Stephen Cook: An Observation on Time-Space storage trade-off. JCSS, 1974.&lt;/p&gt;&#xA;" OwnerUserId="7178" LastActivityDate="2011-11-11T11:13:32.590" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8929" PostTypeId="2" ParentId="8918" CreationDate="2011-11-11T11:18:29.613" Score="25" Body="&lt;p&gt;Lower bounds for monotone arithmetic circuits come &lt;strong&gt;easier&lt;/strong&gt; because they forbid cancellations. On the other hand, we can prove exponential lower bounds for circuits computing boolean functions even if any monotone &lt;em&gt;real-valued&lt;/em&gt; functions $g:R\times R\to R$ are allowed as gates (see e.g. Sect. 9.6 in the &lt;a href=&quot;http://www.thi.informatik.uni-frankfurt.de/~jukna/boolean/index.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;book&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Even though monotone &lt;em&gt;arithmetic&lt;/em&gt; circuits are weaker than monotone &lt;em&gt;boolean&lt;/em&gt; circuits (in the latter we have cancellations $a\land a=a$ and $a\lor (a\land b)=a$), these circuits are interesting because of their relation to &lt;strong&gt;dynamic programming&lt;/strong&gt; (DP) algorithms. Most of such algorithms can be simulated by circuits over semirings $(+,\min)$ or $(+,\max)$. Gates then correspond to subproblems used by the algorithm. What Jerrum and Snir (in the paper by V Vinay) actually prove is that any DP algorithm for the Min Weight Perfect Matching (as well as for the TSP problem) must produce exponentially many subproblems. But the Perfect Mathching problem is not of &quot;DP flawor&quot; (it does not satisfy &lt;a href=&quot;http://en.wikipedia.org/wiki/Bellman_equation#Bellman.27s_Principle_of_Optimality&quot; rel=&quot;nofollow noreferrer&quot;&gt;Bellman's Principle of Optimality&lt;/a&gt;). Linear programming (not DP) is much more suited for this problem. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;So what about optimization problems that &lt;em&gt;can&lt;/em&gt; be solved by reasonably small DP algorithms - can we prove lower bounds also for them? Very interesting in this respect is an old result of Kerr (Theorem 6.1 in his &lt;a href=&quot;http://www.thi.informatik.uni-frankfurt.de/~jukna/ftp/Kerr-phd.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;phd&lt;/a&gt;). It implies that the classical Floyd-Warshall DP algorithm for the All-Pairs Shortest Paths problem (APSP) is &lt;em&gt;optimal&lt;/em&gt;: $\Omega(n^3)$ subproblems are necessary. Even more interesting is that Kerr's argument is very simple (much simpler than that Jerrum and Snir used): it just uses the distributivity axiom&#xA;$a+\min(b,c)=\min(a,b)+\min(a,c)$, and the possibility to &quot;kill&quot; min-gates by setting one of its arguments to $0$.This way he proves that $n^3$ plus-gates are necessary to multiply two $n\times n$ matrices over the semiring $(+,\min)$. In Sect. 5.9 of the &lt;a href=&quot;http://books.google.com/books?id=SJJQAAAAMAAJ&amp;amp;q=Aho+Hopcroft+Ullman+The+Design+and+Analysis&amp;amp;dq=Aho+Hopcroft+Ullman+The+Design+and+Analysis&amp;amp;hl=de&amp;amp;ei=4v28TvanJMO6hAe7suWXBA&amp;amp;sa=X&amp;amp;oi=book_result&amp;amp;ct=result&amp;amp;resnum=1&amp;amp;ved=0CC0Q6AEwAA&quot; rel=&quot;nofollow noreferrer&quot;&gt;book&lt;/a&gt; by Aho, Hopcroft and Ullman it is shown that this problem is equivalent to APSP problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A next question could be: what about the Single-Source Shortest Paths (SSSP) problem? Bellman-Ford DP algorithm for this (seemingly &quot;simpler&quot;) problem also uses $O(n^3)$ gates. Is this optimal? So far, no separation between these two versions of the shortest path problem are known; see an interesting &lt;a href=&quot;http://www.stanford.edu/~rrwill/tria-mmult.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;paper&lt;/a&gt; of Virginia and Ryan Williams along these lines. So, an $\Omega(n^3)$ lower bound in $(+,\min)$-circuits for SSSP would be a great result. Next question could be: what about lower bounds for Knapsack?  In this &lt;a href=&quot;http://www.thi.informatik.uni-frankfurt.de/~jukna/ftp/incremental3.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;draft&lt;/a&gt; lower bounds for Knapsack are proved in weaker model of $(+,\max)$ circuits where the usage of $+$-gates is restricted; in Appendix Kerr's proof is reproduced.&lt;/p&gt;&#xA;" OwnerUserId="5788" LastEditorUserId="6579" LastEditDate="2017-02-15T09:28:28.970" LastActivityDate="2017-02-15T09:28:28.970" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8930" PostTypeId="2" ParentId="8891" CreationDate="2011-11-11T11:30:03.387" Score="8" Body="&lt;p&gt;I still think there is an imprecision in how he uses the lemma. However there is a solution (I must thank to Barbara Petit who came with the solution).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In fact, the solution comes from the definition of $\geq$ (def. 4.2.1), which is morally this:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\sigma&amp;gt;\rho\quad$ if $\quad\dfrac{\Gamma\vdash P:\sigma}{\Gamma\vdash P:\rho}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, instead of defining it in that way, he defines the relation in terms of the types only. The advantage on defining it in terms of sequents, is that we can deduce that if $\sigma&amp;gt;\forall\alpha.\sigma$, then $\alpha\notin FV(\Gamma)$, which is exactly what he needs in the proof (and from where the imprecision comes).&lt;/p&gt;&#xA;" OwnerUserId="743" LastEditorUserId="743" LastEditDate="2011-11-11T11:36:19.213" LastActivityDate="2011-11-11T11:36:19.213" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8931" PostTypeId="1" CreationDate="2011-11-11T12:21:29.603" Score="6" ViewCount="252" Body="&lt;p&gt;Consider a random walk in an expander graph.&#xA;How much time it typically takes to visit the same vertex twice.&#xA;It seems to me that it should be something between $\sqrt{n}$ to $\sqrt{n}\log n$.&#xA;Is there any reference on this or similar things&lt;/p&gt;&#xA;" OwnerUserId="383" LastEditorUserId="74" LastEditDate="2011-11-11T14:00:25.843" LastActivityDate="2011-11-15T16:19:22.767" Title="Self-intersecting walk in expander graphs" Tags="&lt;reference-request&gt;&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;expanders&gt;&lt;random-walks&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8933" PostTypeId="2" ParentId="6184" CreationDate="2011-11-11T14:38:33.317" Score="4" Body="&lt;p&gt;If you don't need deletions, I think the first part of Lemma 4.1 on page 349 of the following paper:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Jeffery Westbrook: Fast Incremental Planarity Testing. ICALP 1992: 342-353&#xA;  &lt;a href=&quot;http://dx.doi.org/10.1007/3-540-55719-9_86&quot; rel=&quot;nofollow&quot;&gt;http://dx.doi.org/10.1007/3-540-55719-9_86&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;gives you a linear time algorithm for any sequence of operations consisting of constructing and marking the tree, as well as conducting nearest marked ancestor queries (i.e. the query time is &lt;em&gt;amortized&lt;/em&gt; constant).&lt;/p&gt;&#xA;" OwnerUserId="7177" LastActivityDate="2011-11-11T14:38:33.317" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8936" PostTypeId="1" AcceptedAnswerId="10288" CreationDate="2011-11-11T16:28:04.800" Score="19" ViewCount="819" Body="&lt;p&gt;I'm interested in the complexity of solving linear equations modulo &lt;em&gt;k&lt;/em&gt;, for arbitrary &lt;em&gt;k&lt;/em&gt; (and with a special interest in prime powers), specifically:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Problem.&lt;/strong&gt; &lt;em&gt;For a given system of $m$ linear equations in $n$ unknowns modulo $k$, do there exist any solutions?&lt;/em&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;In the abstract to their paper &lt;a href=&quot;http://www.springerlink.com/content/hgj7p18u74pu230w/&quot; rel=&quot;noreferrer&quot;&gt;Structure and importance of logspace-MOD classes&lt;/a&gt; on the classes &lt;a href=&quot;http://qwiki.stanford.edu/index.php/Complexity_Zoo%3aM#modkl&quot; rel=&quot;noreferrer&quot;&gt;&lt;strong&gt;Mod&lt;/strong&gt;&lt;sub&gt;&lt;em&gt;k&lt;/em&gt;&lt;/sub&gt;&lt;strong&gt;L&lt;/strong&gt;&lt;/a&gt;,  Buntrock, Damm, Hertrampf, and&amp;nbsp;Meinel claim that they  &quot;&lt;em&gt;demonstrate their significance by proving that all standard problems of linear algebra over the finite rings $\mathbb Z/k\mathbb Z$ are complete for these classes&lt;/em&gt;&quot;. On closer inspection, the story is more complicated. For instance, Buntrock &lt;em&gt;et al.&lt;/em&gt; show (by a proof-sketch in an &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.48.5193&quot; rel=&quot;noreferrer&quot;&gt;earlier and freely accessible draft&lt;/a&gt; found by Kaveh, thanks!) that solving systems of linear equations is instead in the complementary class &lt;strong&gt;coMod&lt;/strong&gt;&lt;sub&gt;k&lt;/sub&gt;&lt;strong&gt;L&lt;/strong&gt;, for &lt;em&gt;k&lt;/em&gt; prime. This class is not known to be equal to &lt;strong&gt;Mod&lt;/strong&gt;&lt;sub&gt;k&lt;/sub&gt;&lt;strong&gt;L&lt;/strong&gt; for &lt;em&gt;k&lt;/em&gt; composite, but never mind that &amp;mdash; what I'm concerned about is the fact that they don't make any remarks about whether solving systems of linear equations mod &lt;em&gt;k&lt;/em&gt; is even &lt;em&gt;contained&lt;/em&gt; in &lt;strong&gt;coMod&lt;/strong&gt;&lt;sub&gt;k&lt;/sub&gt;&lt;strong&gt;L&lt;/strong&gt; for &lt;em&gt;k&lt;/em&gt; composite!&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;em&gt;&lt;strong&gt;Question:&lt;/strong&gt; Is solving systems of linear equations modulo k contained in&lt;/em&gt; &lt;strong&gt;coMod&lt;/strong&gt;&lt;sub&gt;&lt;em&gt;k&lt;/em&gt;&lt;/sub&gt;&lt;strong&gt;L&lt;/strong&gt; &lt;em&gt;for all positive k?&lt;/em&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;If you can solve systems of equations modulo a higher power &lt;em&gt;q&lt;/em&gt; of a prime &lt;em&gt;p&lt;/em&gt;, you can solve them modulo &lt;em&gt;p&lt;/em&gt; as well; so solving systems of equations modulo &lt;em&gt;q&lt;/em&gt; is &lt;strong&gt;coMod&lt;/strong&gt;&lt;sub&gt;&lt;em&gt;p&lt;/em&gt;&lt;/sub&gt;&lt;strong&gt;L&lt;/strong&gt;-hard. If you could show that this problem is in &lt;strong&gt;Mod&lt;/strong&gt;&lt;sub&gt;&lt;em&gt;q&lt;/em&gt;&lt;/sub&gt;&lt;strong&gt;L&lt;/strong&gt;, you would end up showing &lt;strong&gt;Mod&lt;/strong&gt;&lt;sub&gt;&lt;em&gt;k&lt;/em&gt;&lt;/sub&gt;&lt;strong&gt;L&lt;/strong&gt;&amp;nbsp;=&amp;nbsp;&lt;strong&gt;coMod&lt;/strong&gt;&lt;sub&gt;&lt;em&gt;k&lt;/em&gt;&lt;/sub&gt;&lt;strong&gt;L&lt;/strong&gt; for all &lt;em&gt;k&lt;/em&gt;. That's likely to be difficult to prove. But is it in  &lt;strong&gt;coMod&lt;/strong&gt;&lt;sub&gt;&lt;em&gt;k&lt;/em&gt;&lt;/sub&gt;&lt;strong&gt;L&lt;/strong&gt;?&lt;/p&gt;&#xA;" OwnerUserId="248" LastEditorUserId="248" LastEditDate="2012-06-28T15:59:05.433" LastActivityDate="2013-03-26T16:55:05.473" Title="Is solving systems of equations modulo $k$ in $\mathsf{coMod}_k\mathsf L$ for $k$ composite?" Tags="&lt;cc.complexity-theory&gt;&lt;dc.parallel-comp&gt;&lt;linear-algebra&gt;&lt;nt.number-theory&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="8937" PostTypeId="1" CreationDate="2011-11-11T16:37:05.717" Score="8" ViewCount="1060" Body="&lt;p&gt;There is a trivial method for simulating a random walk through a graph by exponentiating a stochastic adjacency matrix, but the problem becomes harder if you ask that the random walk be self-avoiding.  In other words, the process must traverse the graph using paths, like an infection or something.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If the edge probabilities are large, there is a simple Monte Carlo algorithm :  In each trial, you simply delete each edge $e$ with probability $1-p_e$, compute the new graph's connected components, and increment a counting matrix by matrices of 1s for each contacted component.  You divide by the number of trials at the end.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does anyone know any algorithm for doing this computation when the probabilities are quite small?  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If the graph isn't too highly connected, you can find some minimum cut sets, and do inclusion-exclusion counting on them, but such an approach is doubly exponential in the size of the cut sets.  There are various optimizations for specific cases of high connectivity too, like treating all the clique subgraphs separately via the obvious computation.  Any more general ideas?&lt;/p&gt;&#xA;" OwnerUserId="6665" LastEditorUserId="6665" LastEditDate="2011-11-18T14:34:38.493" LastActivityDate="2011-11-18T14:34:38.493" Title="How should one simulate self-avoiding random walks?" Tags="&lt;ds.algorithms&gt;&lt;graph-algorithms&gt;&lt;randomized-algorithms&gt;&lt;random-walks&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="8938" PostTypeId="1" CreationDate="2011-11-11T17:13:57.533" Score="7" ViewCount="623" Body="&lt;p&gt;Let define the &quot;Exactly $A$-SAT&quot; problem : Given a CNF formula $F$ and a set $A$ of positive integers, is it true that the number of models of $F$ is in $A$?&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What is the complexity of Exactly $A$-SAT  ?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Edit -- &#xA;Some different cases seem interesting:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $A_{MAJ}=\{m\in\mathbb{N},2^{n-1} &amp;lt; m\leq2^{n}\}$, then Exactly $A_{MAJ}$-SAT corresponds to the canonical $PP$-complete MAJ-SAT (Given a CNF formula $F$, is it true that $F$ is satisfied by more than half of the possible variable assignments?) - as long as $A_{MAJ}$ is not considered as part of the input, otherwise, as @Ryan's comment underlines it, the problem is in $P$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $A_{SAT}=\{m\in\mathbb{N},1 \leq m\leq2^{n}\}$, then Exactly $A_{SAT}$-SAT is simply SAT.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;($n$ is the number of variables of $F$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thank you for your answers and your comments. &lt;/p&gt;&#xA;" OwnerUserId="6346" LastEditorUserId="6346" LastEditDate="2012-01-27T00:52:00.337" LastActivityDate="2013-09-09T22:00:38.240" Title="Complexity of Exactly $A$-SAT" Tags="&lt;cc.complexity-theory&gt;&lt;sat&gt;&lt;counting-complexity&gt;&lt;polynomial-hierarchy&gt;" AnswerCount="0" CommentCount="8" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="8940" PostTypeId="1" CreationDate="2011-11-11T17:50:29.003" Score="0" ViewCount="383" Body="&lt;p&gt;Lets suppose your data set includes locations in several dimensions and the kind of entity which is the class of the data set, is there other kind of information you need to add (such as times, observer data, etc.. ) to the data set in order to be able to include quantum calculation in the algorithm that builds the model and predicts results?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Which are the main changes all or some of the algorithms need?&#xA;Are there examples of implementations of this algorithms in the web, is so where are them?&lt;/p&gt;&#xA;" OwnerUserId="1071" LastActivityDate="2011-11-11T17:50:29.003" Title="Is it possible to add quantum physics theory to traditional machine learning algorithms to get more accurate results" Tags="&lt;quantum-computing&gt;&lt;machine-learning&gt;" AnswerCount="0" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8941" PostTypeId="2" ParentId="8893" CreationDate="2011-11-11T21:27:56.907" Score="3" Body="&lt;p&gt;If you want to have definite code (i.e. little to no math, close to real programming) you might want to consider to have code that actually compiles. This has several advantages:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;You get syntax highlighting everywhere.&lt;/li&gt;&#xA;&lt;li&gt;Compiler checks syntax for you and enforces consistency.&lt;/li&gt;&#xA;&lt;li&gt;You can unit-test your implementations to improve code quality.&lt;/li&gt;&#xA;&lt;li&gt;You can run the algorithm and compare measured runtimes to analyses (thusly motivating advanced analysis techniques).&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;A professor at my university does this in his algorithms course. His language of choice is Modula. I don't think the particular choice of language matters, though. Just stick to one (per paradigm) that fits your level of abstraction best.&lt;/p&gt;&#xA;" OwnerUserId="1546" LastActivityDate="2011-11-11T21:27:56.907" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="8942" PostTypeId="2" ParentId="8911" CreationDate="2011-11-11T22:37:32.530" Score="6" Body="&lt;p&gt;As far as I know, there is no published result on computing distances of approximation less than 2 in subquadratic space and sublinear query time. For retrieving approximate distances quickly, you may want to look at results and references in &quot;Faster Algorithms for All-pairs Approximate Shortest Paths&quot; by Baswana and Kavitha (journal version of their FOCS paper has a good review of related work); none of these achieve subquadratic space.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For compactly retrieving approximate distances, you may want to look at the results and references in the above two papers. [As an addition to the answer by Gabor, a word of caution: be careful about the notion of sparsity in above papers -- for approximation $2$, a graph is said to be sparse if $m = o(n^2)$, as you probably know already].&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As Sariel pointed out in one of the comments above, a natural lower bound on space for computing distances of approximation less than $2$ is $\Omega(m)$, that is, linear in the size of the graph. If the query time is not bounded, this lower bound can not be improved (trivially, one can use shortest path algorithm by just storing the graph). For constant query time, I know of two lower bounds. First, Patrascu and Roddity had some conditional lower bounds in their FOCS 2010 paper that apply for approximation less than $2$. Second, Sommer et. al. had some lower bounds for extremely sparse graphs. I am not aware of any other (non-trivial) lower bounds.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In terms of upper bounds, the results from above papers do not seem to generalize to approximation less than $2$. We recently made some progress on this problem. The paper should be on ArXiv soon, but if you like, send me an e-mail and I'll be happy to share the paper.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hope this helps.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;~Rachit Agarwal&lt;/p&gt;&#xA;" OwnerUserId="7187" LastActivityDate="2011-11-11T22:37:32.530" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8943" PostTypeId="2" ParentId="8923" CreationDate="2011-11-11T22:43:44.883" Score="16" Body="&lt;p&gt;I have not thought this through very much, so please correct me if I am wrong.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Say $w$ is the width of the poset.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;For the poset which is the union of $w$ disjoint chains you need at least $w\log n$ evaluations of $P$ by just applying the standard lower bound on the query complexity of binary search to each chain.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Since you give comparisons for free, you can compute a chain decomposition of the poset into $w$ chains for free. Do binary search on each chain to identify the first element that satisfies $P$. Then go over the identified elements and remove any dominated ones. Number of evaluations of $P$ is $O(w\log n)$. This identifies all maximal elements, as there can be at most one maximal element per chain.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;ADDED:&lt;/strong&gt; Actually I am seeing a simple recursive algorithm to do much better ($O(n)$) for the lattice of subsets $2^{[n]}$ (&lt;em&gt;EDIT&lt;/em&gt;: domotor described the general strategy in his answer). Here I am assuming $P$ is monotonic downwards (i.e. the subsets $\{X: P(X) = 1\}$ form a lower set), which is I think what you mean. So, here is the algorithm to find a member of the lower set:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;a) Test $P(\emptyset)$. If 0, then stop.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;b) Test $P(\{n\})$.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;b.i) If 0, then recurse on $2^{[n-1]}$ (OK, since no set containing $n$ can be in the lower set). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;b.ii) If 1, then there exists a member of the lower set in the sublattice $\{X: n \in X\}$. This sublattice is isomorphic to $2^{[n-1]}$ so once again we can recurse. More precisely, we can run the algorithm for $2^{[n-1]}$, but when the algorithm asks to evaluate $P(Y)$, we evaluate $P(X)$ where $X = Y \cup \{n\}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So in each step we recurse on a sublattice which is half the size of original one. Overall, we need to evaluate $P$ at most $2n$ times (in fact you can implement the algorithm to evaluate the predicate $n+1$ times as Yoshio points out, since you only need to check $\emptyset$ once).&lt;/p&gt;&#xA;" OwnerUserId="4896" LastEditorUserId="4896" LastEditDate="2011-11-12T20:27:16.813" LastActivityDate="2011-11-12T20:27:16.813" CommentCount="21" ContentLicense="CC BY-SA 3.0" />
  <row Id="8944" PostTypeId="1" AcceptedAnswerId="8966" CreationDate="2011-11-12T01:30:14.367" Score="6" ViewCount="233" Body="&lt;p&gt;In Ross Quinlan's seminal paper &lt;a href=&quot;https://cs.nyu.edu/~roweis/csc2515-2006/readings/quinlan.pdf&quot; rel=&quot;nofollow&quot;&gt;&lt;em&gt;Induction of Decision Trees,&lt;/em&gt;&lt;/a&gt; Quinlan summarizes the current state of machine learning in 1985 and loudly introduces the &lt;a href=&quot;https://en.wikipedia.org/wiki/ID3_algorithm&quot; rel=&quot;nofollow&quot;&gt;ID3 decision algorithm&lt;/a&gt; in the context of its peers in the field. However, he also states this halfway into the paper:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;An alternative method based on the chi-square test for stochastic independence has been found to be more useful.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;And further in:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Hart notes, however, that the chi-square test is valid only when the expected values of $p&amp;#39; i$ and $n&amp;#39;i$ are uniformly larger than four. This condition could be violated by a set C of objects either when C is small or when few objects in C have a particular value of some attribute, and it is not clear how such sets would be handled. No empirical results with this approach are yet available.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The name for this modification of the algorithm is not given, though. Is there an accepted name for this modification of ID3 (which is usually dependent on &lt;a href=&quot;https://en.wikipedia.org/wiki/Entropy_%28information_theory%29&quot; rel=&quot;nofollow&quot;&gt;Shannon entropy&lt;/a&gt; to perform branching)? It seems like something that should be obvious (eg, ID3.1.x), but I cannot find a formal source.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;I've also taken the liberty of perusing and studying the meta links within &lt;a href=&quot;https://cstheory.stackexchange.com/faq&quot;&gt;the FAQ of this fine site,&lt;/a&gt; and this didn't seem to fall into any of the bins for obviousness or non-research level, nor did it appear to be a good fit for other StackExchange sites. It is, however, a&lt;/em&gt; simple &lt;em&gt;question that I could not find the answer to in any of the common sources.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;This is directly pertinent to my research: I'm compiling&lt;/em&gt; another &lt;em&gt;optimization that bridges the gap between generalized Shannon mutual information and Pearson's chi-squared test for independence in the context of &lt;a href=&quot;https://cs.nyu.edu/~roweis/csc2515-2006/readings/quinlan.pdf&quot; rel=&quot;nofollow&quot;&gt;TDIDT&lt;/a&gt;, then applying it to multivariate characteristics in cancer data as an alternative to &lt;a href=&quot;https://en.wikipedia.org/wiki/Random_forest&quot; rel=&quot;nofollow&quot;&gt;random forests&lt;/a&gt;. As such, working definitions for my terms are greatly useful, insofar as they might lead to further papers I am not familiar with.&lt;/em&gt;&lt;/p&gt;&#xA;" OwnerUserId="2598" LastEditorUserId="186" LastEditDate="2011-11-14T16:03:43.557" LastActivityDate="2011-11-14T16:03:43.557" Title="Is there an accepted name for Ross Quinlan's adaptation of the ID3 decision algorithm to use a Pearson's chi-squared test for independence?" Tags="&lt;reference-request&gt;&lt;machine-learning&gt;&lt;terminology&gt;&lt;decision-trees&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8945" PostTypeId="2" ParentId="5251" CreationDate="2011-11-12T03:20:03.243" Score="11" Body="&lt;p&gt;Deciding if a metric space is isometrically embeddable into R^2 is easy. However, it is NP-hard to decide for R^3 embeddability.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Embedding into $\ell_\infty^2$ is easy, embedding into $\ell_\infty^3$ is NP-complete. Jeff Edmonds. SODA 2007&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://dl.acm.org/citation.cfm?id=1283439&quot;&gt;Paper&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="1503" LastActivityDate="2011-11-12T03:20:03.243" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8946" PostTypeId="2" ParentId="8923" CreationDate="2011-11-12T11:11:34.347" Score="9" Body="&lt;p&gt;If $P$ is a tree, then there is a polynomial-time algorithm that constructs an optimal decision tree.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://people.csail.mit.edu/konak/papers/focs_2006-generalization_of_binary_search.html&quot;&gt;Generalization of Binary Search: Searching in Trees and Forest-Like Partial Orders&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="141" LastActivityDate="2011-11-12T11:11:34.347" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8947" PostTypeId="1" CreationDate="2011-11-12T12:57:36.240" Score="7" ViewCount="844" Body="&lt;p&gt;In the simply-typed lambda calculus, do we ever need alpha-conversion in a small-step call-by-value reduction of a term that is closed?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The evaluation rule that uses substitution is:&#xA;$(\lambda x.t_1)~v_2 \to [x\mapsto v_2]t_1$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But if $(\lambda x.t_1)~v_2$ is closed, then $v_2$ is closed and $t_1$ only has $x$ has a free variable. Since $v_2$ has no free variables, substitution won't need alpha-conversion. $[x\mapsto v_2]t_1$ is also closed because the only free variable, $x$, has been substituted by a close term. So the result of the reduction is also closed.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's also easy to show that for the other rules, if $t$ is closed and $t \to t&amp;#39;$, then $t&amp;#39;$ is closed.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Therefore, since we only substitute closed terms, $\alpha$-conversion is not needed.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Do you agree?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit: Actually, what needs to be shown is that if $t$ is closed and $t \to t&amp;#39;$ then in any immediate reduction $t_1 \to t_1&amp;#39;$ used to derive $t \to t&amp;#39;$, $t_1$ is closed. This is not true when reducing under binders.&lt;/p&gt;&#xA;" OwnerUserId="576" LastEditorUserId="576" LastEditDate="2011-11-12T18:14:59.013" LastActivityDate="2011-11-12T18:14:59.013" Title="Closed term and alpha-conversion" Tags="&lt;lo.logic&gt;&lt;pl.programming-languages&gt;&lt;lambda-calculus&gt;" AnswerCount="2" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="8948" PostTypeId="2" ParentId="8947" CreationDate="2011-11-12T14:48:42.640" Score="10" Body="&lt;p&gt;This is true as long as you're only reducing towards a weak head normal form. But if you want to go further, you start reducing under lambdas. If you're looking at the pure lambda-calculus (typed or not), you must be reducing under lambdas if you're reducing closed terms. And when you're reducing under lambdas, you're no longer operating on closed terms.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here's an example that starts with a closed lambda-term where all binding sites use unique names, proceeds to a term with repeated but non-capturing binders, then reaches a term with capture, which requires alpha-conversion to proceed. The initial term is not simply-typed, but you can remedy this by changing it to $(\lambda w. (\lambda z. w z z) (\lambda x. \lambda y. x y))$ which is simply-typed and shows the same binding-related issues.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xD;&#xA;\begin{array}{rl}&#xD;&#xA;(\lambda \underline{z}. \underline{z} \underline{z}) \underline{(\lambda x. \lambda y. x y)}&#xD;&#xA;\quad \to &amp;amp;&#xD;&#xA;(\lambda \underline{x}. \lambda \color{blue}{y}. \underline{x} \color{blue}{y}) \underline{(\lambda x. \lambda \color{red}{y}. x \color{red}{y})}&#xD;&#xA;\\ \to &amp;amp;&#xD;&#xA;(\lambda \color{blue}{y}. (\lambda \underline{x}. \lambda \color{red}{y}. \underline{x} \color{red}{y}) \underline{\color{blue}{y}})&#xD;&#xA;\\ \to &amp;amp;&#xD;&#xA;(\lambda \color{blue}{y}. \lambda \color{red}{y}. \color{blue}{y} \color{red}{y})&#xD;&#xA;\end{array}&#xD;&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;That last step requires alpha-conversion, to make the blue $y$ and the red $y$ distinct.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Your proof sketch is correct as long as you apply the beta rule in a context that does not bind any variable. If you extend the proof to the lambda context case, it fails when $x$ is in the context.&lt;/p&gt;&#xA;" OwnerUserId="634" LastEditorUserId="634" LastEditDate="2011-11-12T14:55:37.967" LastActivityDate="2011-11-12T14:55:37.967" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8949" PostTypeId="2" ParentId="8947" CreationDate="2011-11-12T15:09:09.683" Score="8" Body="&lt;p&gt;Your observation was used in by the Sewell et al. in the paper &quot;Ott: Effective Tool Support for the Working Semanticist&quot; (&lt;a href=&quot;http://www.cl.cam.ac.uk/~pes20/ott/paper.pdf&quot;&gt;PDF&lt;/a&gt;), in which they observed that, if all you really and truly ever want to do is formalize the operational semantics of core functional languages, then you don't, in fact, need alpha-conversion in the formal definition of the programming language.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The main issue is that you have to catch yourself before you do something that causes this to stop working. The most obvious example is the one Gilles mentions, reducing under binders; the paper discusses some others.&lt;/p&gt;&#xA;" OwnerUserId="1024" LastActivityDate="2011-11-12T15:09:09.683" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="8950" PostTypeId="1" AcceptedAnswerId="9016" CreationDate="2011-11-12T16:42:01.407" Score="9" ViewCount="367" Body="&lt;p&gt;Given a submodular function $f$ on $\Omega=X_1\cup X_2$ where $X_1$ and $X_2$ are disjoint and $f(S)=f_1(S\cap X_1)+f_2(S\cap X_2)$. Here $f_1$ and $f_2$ are submodular on $X_1$ and $X_2$ respectively.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here $X_1,X_2,f_1,f_2$ are unknown and only a value query access to $f$ is given. Then is there a polytime algorithm which finds $X_1$. If there are multiple choices for $X_1$ any of them should be fine.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some thoughts. If we can find any two elements $t_1,t_2$ such that both either belong to $X_1$ or belong to $X_2$ then we can merge them and proceed recursively. But it is not clear how to implement such a step.&lt;/p&gt;&#xA;" OwnerUserId="372" LastEditorUserId="372" LastEditDate="2011-11-15T05:27:57.647" LastActivityDate="2011-11-18T03:14:10.957" Title="Decomposing a submodular function" Tags="&lt;ds.algorithms&gt;&lt;submodularity&gt;" AnswerCount="1" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="8951" PostTypeId="1" CreationDate="2011-11-12T19:02:44.823" Score="-6" ViewCount="1756" Body="&lt;p&gt;I was reading NP complete theory just thought.&#xA;&quot;Is there any path of length k in given graph&quot;&#xA;Is it polynomial time algorithm? &lt;/p&gt;&#xA;" OwnerUserId="6975" LastEditorUserId="186" LastEditDate="2011-11-13T17:11:28.633" LastActivityDate="2011-11-13T17:11:28.633" Title="Path of length k in graph" Tags="&lt;ds.algorithms&gt;&lt;graph-algorithms&gt;" AnswerCount="1" CommentCount="3" ClosedDate="2011-11-13T18:11:37.607" ContentLicense="CC BY-SA 3.0" />
  <row Id="8952" PostTypeId="2" ParentId="8951" CreationDate="2011-11-12T19:31:50.093" Score="4" Body="&lt;p&gt;Is the graph directed or undirected? Can the path go through the same vertex more than once? The same edge?&#xA;(Note that if the graph is undirected and the path can go through the same edge more than once, then the problem becomes very easy). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the directed case:&#xA;If k is constant, or at most logarithmic, there is an efficient algorithm:&#xA;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.42.3377&quot; rel=&quot;nofollow&quot;&gt;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.42.3377&lt;/a&gt;&#xA;(This algorithm uses the observation that the problem can be solved in linear time using dynamic programming when the graph is directed and acyclic)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the simple path case:&#xA;k=n is a special case of the Hamiltonian path problem&lt;/p&gt;&#xA;" OwnerUserId="1621" LastActivityDate="2011-11-12T19:31:50.093" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="8957" PostTypeId="1" AcceptedAnswerId="8962" CreationDate="2011-11-13T17:42:46.417" Score="11" ViewCount="1226" Body="&lt;p&gt;Are there problems whose average case complexity is the same as their worst case complexity? What are the underlying properties of these problems that makes reducing the worst case to the average case possible?&lt;/p&gt;&#xA;" OwnerUserId="14197" LastEditorUserId="14197" LastEditDate="2015-10-19T19:20:48.760" LastActivityDate="2015-10-19T19:20:48.760" Title="Worst case to average case reductions" Tags="&lt;cc.complexity-theory&gt;&lt;reductions&gt;&lt;average-case-complexity&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="8959" PostTypeId="1" CreationDate="2011-11-13T18:39:07.403" Score="8" ViewCount="516" Body="&lt;p&gt;Let $A$ be a given square matrix. &#xA;Is there any evidence that beating &lt;a href=&quot;http://pages.cs.wisc.edu/~jyc/papers/per-det.pdf&quot; rel=&quot;nofollow&quot;&gt;quadratic lower bounds&lt;/a&gt; for $B$ &#xA;such that $\text{det}(B) = \text{per}(A)$ could be hard? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there any plausible conjecture which implies that &#xA;proving lower bounds is difficult?&#xA;Is there any evidence that &#xA;proving an $\Omega(n^{2+\epsilon})$ rows (or columns) lower bound &#xA;for some $\epsilon &amp;gt; 0$ is hard &#xA;(e.g. equivalent to $\mathsf{VP} \ne \mathsf{VNP}$)? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there any plausible conjecture which implies that &#xA;proving upper bounds is difficult?&#xA;Is there any evidence that &#xA;proving an $O(2^{n^\epsilon})$ upper bound &#xA;for some $\epsilon \in (0,1)$ is hard?&lt;/p&gt;&#xA;" OwnerUserId="5511" LastEditorUserId="186" LastEditDate="2015-10-13T02:17:53.620" LastActivityDate="2015-10-13T02:24:04.627" Title="Conditional results implying difficulty of improving upper/lower bounds for permanent" Tags="&lt;cc.complexity-theory&gt;&lt;lower-bounds&gt;&lt;counting-complexity&gt;&lt;algebraic-complexity&gt;&lt;permanent&gt;" AnswerCount="1" CommentCount="16" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="8961" PostTypeId="1" CreationDate="2011-11-14T00:51:47.927" Score="2" ViewCount="242" Body="&lt;p&gt;Arora/Barak, in Chapter 21, Theorem 21.9, Page 428, proves:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;h3&gt;Algebraic Expansion implies Combinatorial Expansion&lt;/h3&gt;&#xA;  &#xA;  &lt;p&gt;If G is a $(n, d, x)$ expander graph, then it is an $(n, d, (1-x)/2)$&#xA;  edge expander.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;(good, I understand this part)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;They they go on to state:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;h3&gt;Combinatorial Expansion implies Algebraic Expansion&lt;/h3&gt;&#xA;  &#xA;  &lt;p&gt;If G is a (n, d, p) edge expander, then i's second largest eigen&#xA;  value (without taking the absolute values) is at most $1 - p^2/2$.&#xA;  Furthermore, if G has all self loops, then it is an $(n, d, 1-\epsilon)$&#xA;  expander where $\epsilon = min(2/d, p^2/2$).&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Now, this is the part I am unhappy with. Here is what I understand:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If G is bipartite, it has an eigen value of -1, and thus we can't say much about the 2nd largest absolute value of the eigen values.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If G has all self loops, it's clearly not bipartite.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, the above theorem does not make any guarantees about graphs G, which are:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(1) non-bipartite&#xA;(2) do not contain all self loops.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For graphs in this class, do we have a proof of &quot;combinatorial expansion&quot; implies &quot;algebraic expansion&quot;? [If the answer is yes, can you please provide a reference?]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks!&lt;/p&gt;&#xA;" OwnerUserId="7209" LastEditorUserId="80" LastEditDate="2011-11-14T03:00:40.870" LastActivityDate="2011-11-14T21:12:27.920" Title="Combinatorial Expansion implies Algebraic Expansion" Tags="&lt;cc.complexity-theory&gt;&lt;expanders&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="8962" PostTypeId="2" ParentId="8957" CreationDate="2011-11-14T04:15:49.693" Score="18" Body="&lt;p&gt;This type of problem has been the subject of quite a bit of study. You can find references by googling &lt;a href=&quot;http://en.wikipedia.org/wiki/Random_self-reducibility&quot;&gt;random self-reducibility,&lt;/a&gt; and the Wikipedia article is a good place to start reading. There are still a lot of associated open questions.&lt;/p&gt;&#xA;" OwnerUserId="1677" LastActivityDate="2011-11-14T04:15:49.693" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8963" PostTypeId="2" ParentId="8959" CreationDate="2011-11-14T07:14:03.483" Score="15" Body="&lt;p&gt;An upper bound of &lt;span class=&quot;math-container&quot;&gt;$O(2^{n^{\epsilon}})$&lt;/span&gt; &lt;em&gt;may&lt;/em&gt; not be possible for any &lt;span class=&quot;math-container&quot;&gt;$\epsilon&amp;lt;1$&lt;/span&gt; unless the Exponential Time Hypothesis (ETH) is false, see&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;em&gt;Holger Dell, Thore Husfeldt, and Martin Wahlén&lt;/em&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Exponential time complexity of the permanent and the Tutte polynomial.&lt;/p&gt;&#xA;&lt;p&gt;Full paper at ECCC TR10-78. &lt;a href=&quot;http://eccc.hpi-web.de/report/2010/078/&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://eccc.hpi-web.de/report/2010/078/&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;That is, if your embedding of the &lt;span class=&quot;math-container&quot;&gt;$n\times n$&lt;/span&gt; permanent into a determinant of size &lt;span class=&quot;math-container&quot;&gt;$O(2^{n^{\epsilon}})\times O(2^{n^{\epsilon}})$&lt;/span&gt; is fast enough, you could&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Transform a 3SAT-instance to a permanent as in the paper above&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Transform the permanent to a determinant over the larger matrix&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Compute the determinant to find the number of solutions to the&#xA;original 3SAT-instance.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;The running time for an &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt;-variate 3SAT instance would be &lt;span class=&quot;math-container&quot;&gt;$O(2^{n^{\epsilon'}})$&lt;/span&gt; for some &lt;span class=&quot;math-container&quot;&gt;$\epsilon'&amp;lt;1$&lt;/span&gt; depending on &lt;span class=&quot;math-container&quot;&gt;$\epsilon$&lt;/span&gt; if step (2) is fast enough (say polynomial in n for each entry of the larger matrix). This would contradict the ETH.&lt;/p&gt;&#xA;" OwnerUserId="679" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2015-10-13T02:24:04.627" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8966" PostTypeId="2" ParentId="8944" CreationDate="2011-11-14T11:38:19.713" Score="1" Body="&lt;p&gt;Unfortunately, I'm not able to get into detail of the ID3 paper you cited.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I read the Quinlan's book about C4.5 and I don't remember any quote about Chi-square splitting procedure. However, it exists a decision trees induction process that uses Chi-squares as splitting procedure, it is CHAID: &lt;a href=&quot;http://en.wikipedia.org/wiki/CHAID&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/CHAID&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By the way, do you really need a Chi-square splitting procedure? Good permances of C4.5 are well known, and it uses Information Gain as splitting criterion. Moreover, classical Data Mining books (such as Introduction to Data Mining by Tan et al.) state that better performances can be achieved with different pruning techniques rather than different splitting criteria. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you really want a Chi-square splitting procedure I would suggest to use CHAID or modify the Java implementation of C4.5 in &lt;a href=&quot;http://www.cs.waikato.ac.nz/ml/weka/&quot; rel=&quot;nofollow&quot;&gt;WEKA&lt;/a&gt;. &lt;/p&gt;&#xA;" OwnerUserId="6916" LastActivityDate="2011-11-14T11:38:19.713" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8967" PostTypeId="2" ParentId="8957" CreationDate="2011-11-14T15:28:29.663" Score="15" Body="&lt;p&gt;The Wikipedia entry that Peter linked to mentions a few important examples of problems that have worst-case to average case reductions, like the permanent. Shortest vector problem (as well as related lattice problems) is another important example, see &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=237838&quot;&gt;Ajtai's paper&lt;/a&gt; and what came after it (works by Regev, Micciancio, Peikert,...).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One of the only general observations we have regarding problems with worst-case to average-case reduction is the following (started with the work of &lt;a href=&quot;http://www.google.com/url?sa=t&amp;amp;rct=j&amp;amp;q=&amp;amp;esrc=s&amp;amp;source=web&amp;amp;cd=3&amp;amp;ved=0CCsQFjAC&amp;amp;url=http://citeseer.ist.psu.edu/viewdoc/download;jsessionid=7E76245F152751684D1D622BE251DF37?doi=10.1.1.42.406&amp;amp;rep=rep1&amp;amp;type=ps&amp;amp;ei=jTHBTsqnFOTq2QXf__ixBQ&amp;amp;usg=AFQjCNHMZSSk_QajpwTaGLnyMWNIGbgq_A&amp;amp;sig2=dJfJAw___vqtZ9c19B6tYA&quot;&gt;Feigenbaum and Fortnow&lt;/a&gt;): (At least for non-adaptive reductions,) these problems are not likely to be complete to classes that are (probably) not closed under complement (e.g., they are not likely to be NP-complete). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Other than that, you can find problems with worst-case-to-average-case reductions of various complexities, e.g., in $NP \cap coNP$ (lattice problems and other crypto problems) and in #P (permanent).&lt;/p&gt;&#xA;" OwnerUserId="1621" LastEditorUserId="1621" LastEditDate="2011-11-14T23:08:51.007" LastActivityDate="2011-11-14T23:08:51.007" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8969" PostTypeId="1" CreationDate="2011-11-14T17:06:13.540" Score="16" ViewCount="370" Body="&lt;p&gt;I am interested in the following problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Node Multiway Cut on Planar Graphs with terminals on the outer face&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Instance: A plane graph G, and integer k, and a set $S \subseteq V(G)$ of terminals which are all incident on the outer face of G.&lt;/li&gt;&#xA;&lt;li&gt;Question: Is there a set of vertices $X \subseteq V(G)$ of size at most $k$ such that all vertices of $S \setminus X$ belong to different connected components of $G - X$?&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Informally, the problem asks whether all terminals can be separated with k vertex deletions, knowing that all terminals lie on the outer face. If we replace vertex deletions by edge deletions, then this is known to be possible in polynomial time by considering multiway cuts in the planar dual, and relating them to certain kind of Steiner trees ( Efficient Algorithms for k-Terminal Cuts on&#xA;Planar Graphs, &lt;a href=&quot;http://www.springerlink.com/content/2b0lxbc4ytqgxj0k/&quot;&gt;http://www.springerlink.com/content/2b0lxbc4ytqgxj0k/&lt;/a&gt; ). Since the edge-deletion version reduces to the vertex-deletion version, the edge-deletion version seems easier; no reduction in the reverse direction is known.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The question is: is Node Multiway Cut on Planar Graphs with terminals on the outer face NP-complete? The reason I am interested in this problem is that it would provide me with a starting point for another complexity lower bound if this is indeed NP-complete.&lt;/p&gt;&#xA;" OwnerUserId="122" LastEditorUserId="186" LastEditDate="2011-11-15T22:52:06.740" LastActivityDate="2011-11-15T22:52:06.740" Title="Is Node Multiway Cut NP-complete on planar graphs when all terminals lie on the outer face?" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;&lt;planar-graphs&gt;" AnswerCount="0" CommentCount="2" FavoriteCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="8970" PostTypeId="1" CreationDate="2011-11-14T21:01:30.630" Score="6" ViewCount="1277" Body="&lt;p&gt;Given integers $a_1, \ldots, a_n, b \in \mathbb{N}$. What is the complexity of the following problem&#xA;$$&#xD;&#xA;\exists x_1, \ldots, x_n \in \mathbb{N} \text{ such that } a_1x_1 + \ldots a_nx_n = b?&#xD;&#xA;$$&#xA;I can't find this subset-sum variant in the literature.&lt;/p&gt;&#xA;" OwnerUserId="7227" LastEditorUserId="495" LastEditDate="2014-01-29T10:31:28.077" LastActivityDate="2017-04-14T13:06:09.727" Title="Complexity of a subset sum variant" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;&lt;subset-sum&gt;" AnswerCount="3" CommentCount="7" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="8971" PostTypeId="2" ParentId="8961" CreationDate="2011-11-14T21:12:27.920" Score="4" Body="&lt;p&gt;If we have combinatorial expansion, then the second eigenvalue (without taking absolute value) is not too large (or, equivalently, second eigenvalue of the Laplacian is not too small) no matter what (that is, regardless of bipartiteness or having self-loops or even all vertices having the same degree, if notions are defined properly). See the proof of Cheeger's inequality, for example here:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.cs.yale.edu/homes/spielman/561/lect07-09.pdf&quot; rel=&quot;nofollow&quot;&gt;Spielman's lecture notes on Cheeger's inequality.&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="6190" LastActivityDate="2011-11-14T21:12:27.920" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8973" PostTypeId="1" AcceptedAnswerId="8975" CreationDate="2011-11-15T01:28:31.207" Score="7" ViewCount="352" Body="&lt;p&gt;Let a full rank $n\times n$ matrix ${\bf A}$ with elements over $\mathbb{GF}(2)$. What is the worst case complexity to calculate $n$ linearly independent (over $\mathbb{GF}(2)$) vectors, such that each one of them obeys $${\bf A}{\bf x} = {\bf x}$$ again over $\mathbb{GF}(2)$.&lt;/p&gt;&#xA;" OwnerUserId="6963" LastActivityDate="2011-11-15T14:49:40.363" Title="Complexity to calculate a full set of eigenvectors over a finite field" Tags="&lt;cc.complexity-theory&gt;&lt;linear-algebra&gt;&lt;matrices&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8974" PostTypeId="1" AcceptedAnswerId="10022" CreationDate="2011-11-15T12:20:58.597" Score="10" ViewCount="346" Body="&lt;h2&gt;Definitions&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;Let $\epsilon &amp;gt; 0$ and let $d$, $r$, and $g$ be positive integers (with $g &gt; 2r+1$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $G = (V,E)$ be a simple, $d$-regular, undirected, finite graph with girth at least $g$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $\le$ be a total order on $V$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For each $v \in V$, let $V_v \subseteq V$ consist of the nodes that are within distance $r$ from $v$ in $G$ (the shortest path from $v$ to any $u \in V_v$ has at most $r$ edges), and let $G_v$ be the subgraph of $G$ induced by $V_v$. Recall that we assumed that $G$ has a high girth; hence $G_v$ is a tree. Let $\le_v$ be the restriction of $\le$ to $V_v$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We say that an edge $\{u,v\} \in E$ is &lt;strong&gt;good&lt;/strong&gt; if $(G_u,\le_u)$ and $(G_v,\le_v)$ are isomorphic. That is, there is a bijection $f\colon V_u \to V_v$ that preserves adjacencies ( $\{x,y\} \in E$ iff $\{f(x),f(y)\} \in E$ ) and order ($x \le y$ iff $f(x) \le f(y)$). Otherwise an edge is &lt;strong&gt;bad&lt;/strong&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We say that $(G,\le)$ is &lt;strong&gt;$\epsilon$-good&lt;/strong&gt; if there are at least $(1-\epsilon)|E|$ good edges.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Question&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;Let $d = 4$. Does there exist an $\epsilon$-good pair $(G,\le)$ for any $\epsilon &amp;gt; 0$ and any $r$ and $g$ (with $r \ll g$)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Remarks:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;I would like to know the answer for a general $d$, but $d = 4$ is the first non-trivial case.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The size of $G$ does not matter, as long as it is finite. I do not need a construction of $G$; mere existence or non-existence is sufficient.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;h2&gt;Examples&lt;/h2&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;If $d = 2$, the answer is &quot;yes&quot;. We can simply take a sufficiently long cycle, and order the nodes along the cycle. There are some bad edges near the edge that joins the largest and the smallest node, but all other edges are good: for almost all nodes $v$, the pair $(G_v,\le_v)$ is just a path with $2r+1$ nodes in an increasing order.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;If $r = 0$, the answer is &quot;yes&quot;. Just take a regular high-girth graph.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;If $g$ is sufficiently small, the answer is &quot;yes&quot; for any even $d$. Just take a $(d/2)$-dimensional grid graph (with the boundaries wrapped around to make it $d$-regular), and order the nodes lexicographically by their coordinates. Again we have some bad edges near the boundaries of the grid, but we can make the number of bad edges arbitrarily small.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;If $G$ does not need to be finite, the answer is &quot;yes&quot; for any even $d$. A regular infinite tree has a total order such that all edges are good.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;If $d$ is odd and $r$ is sufficiently large, the answer is &quot;no&quot;. In essence, &lt;a href=&quot;http://dx.doi.org/10.1137/S0097539793254571&quot;&gt;Naor &amp;amp; Stockmeyer (1995)&lt;/a&gt; show that every node is incident to at least one non-good edge.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;h2&gt;Background&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;(This section can be safely skipped.)&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The question is related to the foundations of distributed computing, and in particular to &lt;a href=&quot;http://www.cs.helsinki.fi/local-survey/&quot;&gt;local algorithms&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What we would like to understand is the following: in which situations the existence of a total order helps with local symmetry breaking in a distributed system. Intuitively, each node $v$ of $G$ has to produce an output that is a function of $(G_v,\le_v)$, i.e., a function of the local neighbourhood of $v$. If an edge $e = \{u,v\}$ is bad, there is some local symmetry-breaking information available near $e$, and nodes $u$ and $v$ may produce different outputs; if the edge is good, then nodes $u$ and $v$ are locally indistinguishable and they have to produce the same output.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For many classical graph problems it is known that a total order does not help (much weaker relations provide essentially the same amount of symmetry-breaking information), but &lt;a href=&quot;http://www.cs.helsinki.fi/u/josuomel/publications/podc-2010-paper.html&quot;&gt;some cases are still open&lt;/a&gt; – and a general result that covers the case of all high-girth graphs could be a breakthrough.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This &lt;em&gt;might&lt;/em&gt; be a win-win question: regardless of the answer, we learn something new. If the answer is &quot;yes&quot;, we might be able to derive new, stronger lower-bound results; if the answer is &quot;no&quot;, we might be able to design faster algorithms that exploit the local symmetry-breaking information that is available in any $(G,\le)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course in the real world we do not have a total order on $V$; we have something more: each node $v \in V$ has a unique label $\ell(v) \in \mathbb{N}$. But bridging the gap between a total order and unique labels is usually more straightforward; often a Ramsey-like argument shows that (in the worst case) the labels do not provide any information that is not available in a total order.&lt;/p&gt;&#xA;" OwnerUserId="74" LastEditorUserId="74" LastEditDate="2011-11-15T15:21:45.160" LastActivityDate="2012-02-01T09:54:59.260" Title="Regular high-girth graph with a &quot;locally uniform&quot; total order on nodes" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;dc.distributed-comp&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8975" PostTypeId="2" ParentId="8973" CreationDate="2011-11-15T14:49:40.363" Score="16" Body="&lt;p&gt;There will generally not exist a set of $n$ linearly independent vectors $x$ such that $Ax = x$; this can only happen for $A$ being the identity matrix. On the other extreme, there may be no such vectors at all. For example, the matrix&#xA;$$&#xD;&#xA;A = \left(\begin{array}{cc} 0 &amp;amp; 1\\ 1 &amp;amp; 1 \end{array}\right)&#xD;&#xA;$$&#xA;has full rank, but there are no nonzero vectors $x$ such that $Ax = x$. This is consistent with the fact that the characteristic polynomial of $A$ is $\lambda^2 + \lambda + 1$, which is irreducible over GF(2).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you want to find the maximum number $k$ of linearly independent vectors $x$ such that $Ax=x$, compute the nullspace of $A - I$. This can be done using Gaussian elimination in time $O(n^3)$. Several other algorithms for this task also exist, and are described in textbooks on computational linear algebra.&lt;/p&gt;&#xA;" OwnerUserId="819" LastActivityDate="2011-11-15T14:49:40.363" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8976" PostTypeId="2" ParentId="8931" CreationDate="2011-11-15T16:19:22.767" Score="5" Body="&lt;p&gt;I think only knowing the graph is an expander does not fix the value you are asking. If you are doing random walk naively then when the graph has bounded degree there is constant probability that the walk will reach the same vertex after just 2 steps, and therefore the expected number of steps is constant.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I guess you want to exclude that case by saying the random walk cannot take the same edge in two consecutive steps. But still there are different cases here: if we take the union of a degree 4 expander graph and a grid, it will still be an expander (with worse parameters), but there is constant probability that the walk return to the same position in 4 steps, and therefore the expected number of steps is again constant. On the other hand, if we take a random graph, since the girth is high the expected number (or in fact the minimum) of steps for any vertex to be revisited will be super-constant.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\sqrt{n}\log n$ is definitely a safe upperbound because of the birthday paradox argument. I guess the answer for random graphs might be $\sqrt{n}$, because if you take a random walk of length significantly smaller than $\sqrt{n}$, with good probability the induced subgraph will be just the path and do not have more edges. In general if the induced graph on the set of visited vertices has a lot of edges outside the path, it means the walk &quot;had many chances&quot; to visit some vertex twice.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I understand this may not answer your question completely but I couldn't figure out how to leave a comment like Suresh Venkat did.&lt;/p&gt;&#xA;" OwnerUserId="7193" LastActivityDate="2011-11-15T16:19:22.767" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="8979" PostTypeId="1" AcceptedAnswerId="8981" CreationDate="2011-11-15T22:07:19.623" Score="1" ViewCount="311" Body="&lt;p&gt;Data for the problem:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;2D grid(lattice) of size NxN&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;n nodes placed on the grid:node_1,node_2,…node_n&#xA;Each of nodes contain some data:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;a.   node_i is presented by 3 parameters (x_i,y_i,t_i)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;b.       x_i and y_i represent the coordinates on the grid&lt;/p&gt;&#xA;&#xA;&lt;p&gt;c.       t_i represent the time when the node`s data  is ready&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Given a node_(n+1) and t_(n+1)  I should find x_(n+1) and y_(n+1):&#xA;Such that, if  we define l_i  = (x_(n+1)-x_i) +( y_(n+1)-y_i) ,&#xA;For  every 1&amp;lt;=i&amp;lt;=n the will take place t_i + l_i &amp;lt;= t_(n+1)&#xA;If the above is impossible the max( t_(n+1) – (t_i + l_i)) should be minimized&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;For example please take a look for the following examples when n = 2&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Node_1 :x_1 = 0,y_1 = 0,t_1 =1&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Node_2 :x_2 = 4,y_2= 3,t_2 = 4&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Node_2 :x_3 =?,y_3 = ?,t_3 = 6&lt;/p&gt;&#xA;&#xA;&lt;p&gt;-&gt; x_3 = 3?,y_3= 2&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Node_1 :x_1 = 0,y_1 = 0,t_1 =0&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Node_2 :x_2 = 4,y_2= 4,t_2 = 0&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Node_2 :x_3 =?,y_3 = ?,t_3 = 4&lt;/p&gt;&#xA;&#xA;&lt;p&gt;-&gt; x_3 = 2?,y_3= 2&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I need general algortithm for finding x_(n+1) and y_(n+1).Does anyone have some clue how to solve such a problem.&#xA;Thank you.&lt;/p&gt;&#xA;" OwnerUserId="1648" LastEditorUserId="186" LastEditDate="2011-11-15T22:53:28.233" LastActivityDate="2011-11-15T23:12:46.197" Title="2D grid placement problem" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;scheduling&gt;&lt;lattice&gt;&lt;embeddings&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8980" PostTypeId="2" ParentId="8970" CreationDate="2011-11-15T22:29:58.600" Score="6" Body="&lt;p&gt;I think that SUBSET SUM reduces to this problem. Take an instance of subset sum, $a_i$, $b$, and for simplicity suppose every number has $n$ digits (possibly starting with zeros). Now we will make all the numbers much longer. We modify $b$ so that it starts with &quot;n&quot;00001000010000100001... where &quot;n&quot; is the base two representation of n, then it is followed by n zeros, a 1, n zeros, a 1 and so on n times. We also modify each $a_i$ so that it starts with 10000000000000010000.... where the second 1 is at the $in$-th position. We also add the extra numbers, $a_i$' whose beginning is the same as the new $a_i$'s, but then it ends with all zeros (so it contains only two 1's). Now I claim that if $b$ has a integer combination with these new $a_i$, then the coefficient of each of them has to be 0 or 1. This follows from the fact that the sum of their coefficients is $n$, plus the $i$-th 1 in $b$ can only be obtained from $a_i$ or $a_i$', exactly one of them must be used. Also, from this combination we can get back the original (same coeffs) and from the original we can get this (if $a_i$ has coeff 0, then take $a_i$' with coeff 1).&lt;/p&gt;&#xA;" OwnerUserId="419" LastActivityDate="2011-11-15T22:29:58.600" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8981" PostTypeId="2" ParentId="8979" CreationDate="2011-11-15T23:12:46.197" Score="4" Body="&lt;p&gt;If I understand your problem correctly, it seems like you're looking to examine a furthest-point weighted Voronoi diagram under the Manhattan ($\ell_1$) distance. The transformation is as follows. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For each point $p_i$ on the grid, define the distance function $$d_i(x) = \max(0, \|x - p_i\|_1 - (t_{n+1}-t_i))$$ Then $d_i(x)$ is the (truncated) distance of $x$ from the ball of radius $t_{n+1}-t_i$ around $p_i$ under the $\ell_1$ distance.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;You want to find &#xA;$$ x^* = \arg \min \max_i \ d_i(x) $$&#xA;which can be obtained by computing the furthest-point weighted Voronoi diagram under the $\ell_1$ distance (the weighted part is because of the offset associated with the $t_i$). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you want code, then I'm not sure where you might find it, &lt;a href=&quot;http://www.nirarebakun.com/voro/efpmancli.html&quot; rel=&quot;nofollow&quot;&gt;but this site has an amazing collection of Voronoi demos&lt;/a&gt; written in Java (including furthest point Manhattan distance) and you might be able to adapt it for for your needs. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2011-11-15T23:12:46.197" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="8982" PostTypeId="1" CreationDate="2011-11-15T23:43:03.370" Score="3" ViewCount="1495" Body="&lt;p&gt;I am new to the site and I hope after reading the guide lines i am in line with them.&#xA;I am reading The Art of Computer Programming by Donald E. Knuth. The question is addressed to those having a copy of Volume 1. At pages 27-28, Knuth formally defines a &lt;em&gt;computational method&lt;/em&gt; to be a quadruple (Q, I, $\omega$, f). I am interested in the first &lt;em&gt;computational method&lt;/em&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;1/ Then he goes on defining Q as being &lt;em&gt;states of the computation&lt;/em&gt;. What exactly are states of computations?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2/ The Euclid algorithm on page 22 is formalized in the defined &lt;em&gt;computational method&lt;/em&gt;, but if Q is made up of (m,n), (n), (m,n,r,1), (m,n,r,2) and (m,n,p,3) are those the states of computation and how do you come up with them? and how does one recognize them from an algorithm. more precisely, how do you translate a given algorithm into the given computational method?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;3/ How are the values of &lt;em&gt;f&lt;/em&gt; deduced from the algorithm?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;P.S. In case my question is vague please mention in comments where i need to make things clear.&#xA;And I am more after understanding the theory than any algorithm usefulness, hope that will be useful.&lt;/p&gt;&#xA;" OwnerUserId="7242" LastActivityDate="2014-02-16T02:43:19.893" Title="D. Knuth definition of a computational method" Tags="&lt;ds.algorithms&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="8984" PostTypeId="2" ParentId="8970" CreationDate="2011-11-16T01:05:46.257" Score="12" Body="&lt;p&gt;Here are some references, not a self-contained answer to the question.  For self-contained answers, see other people’s answers and comments.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assuming that symbol ℕ in the question denotes the set of nonnegative integers, your problem is called the feasibility version of the change-making problem.  Chapter 5 of Martello and Toth [MT90] states that it is NP-complete, attributing the result to Lueker [Lue75].  I have not checked the report [Lue75].&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Even if symbol ℕ in the question denotes the set of positive integers, the problem is still NP-complete because the nonnegative version can be easily reduced to the positive version.&lt;/p&gt;&#xA;&#xA;&lt;h3&gt;References&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;[Lue75] G. S. Lueker.  Two NP-complete problems in nonnegative integer programming.  Report No. 178, Computer Science Laboratory, Princeton University, 1975.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[MT90] Silvano Martello and Paolo Toth.  &lt;em&gt;Knapsack Problems: Algorithms and Computer Implementations&lt;/em&gt;, Wiley, 1990.  &lt;a href=&quot;http://www.or.deis.unibo.it/knapsack.html&quot;&gt;http://www.or.deis.unibo.it/knapsack.html&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="567" LastEditorUserId="567" LastEditDate="2011-11-16T14:33:33.337" LastActivityDate="2011-11-16T14:33:33.337" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8985" PostTypeId="1" AcceptedAnswerId="8989" CreationDate="2011-11-16T05:46:15.693" Score="8" ViewCount="170" Body="&lt;p&gt;What are the best known results for a data structure offering the following operations on sets of points in 2-dimensional euclidean space:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$insert(x)$ &lt;/li&gt;&#xA;&lt;li&gt;$delete(x)$&lt;/li&gt;&#xA;&lt;li&gt;$nearest(k,x)$ (where $k$ is an integer greater than 0) returns the $k$ closest points to $x$ that are in the set.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;In this particular case, I'm not particularly interested in approximate nearest neighbor, Monte Carlo algorithms, or algorithms that assume the data is well-formed in some way.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am not as prejudiced against Las Vegas algorithms, algorithms that assume the coordinates of the point have $O(\lg n)$ bits, or algorithms with running time depending on $k$.&lt;/p&gt;&#xA;" OwnerUserId="43" LastEditorUserId="43" LastEditDate="2011-11-16T06:14:29.110" LastActivityDate="2011-11-16T15:42:10.970" Title="Dynamic planar exact k-nearest neighbors for pathological data" Tags="&lt;ds.data-structures&gt;&lt;cg.comp-geom&gt;&lt;near-neighbors&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8986" PostTypeId="1" CreationDate="2011-11-16T13:03:00.090" Score="2" ViewCount="193" Body="&lt;p&gt;I would like to solve the following problem:&#xA;&quot;minimize $\sum_{i=1}^k \sqrt{x_i}$ subject to some polytope constaints.&quot;&#xA;Is there a polynomial time algorithm to solve or approximate it?&#xA;Thanks.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Jian.&lt;/p&gt;&#xA;" OwnerUserId="383" LastEditorUserId="186" LastEditDate="2011-11-16T21:38:08.733" LastActivityDate="2011-11-17T17:40:26.343" Title="Is there a way to solve or approximate the concave program with separable objective?" Tags="&lt;ds.algorithms&gt;&lt;linear-programming&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="8988" PostTypeId="1" AcceptedAnswerId="9002" CreationDate="2011-11-16T14:15:38.103" Score="18" ViewCount="483" Body="&lt;p&gt;XORification is the technique to make a Boolean function or formula harder by replacing every variable $x$ by the XOR of $k\geq 2$ distinct variables $x_1 \oplus \ldots \oplus x_k$.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am aware of uses of this technique in proof complexity, mainly to obtain space lower bounds for resolution-based proof systems, e.g., in the papers:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Eli Ben-Sasson. Size space tradeoffs for resolution. STOC 2002, 457-464.&lt;/li&gt;&#xA;&lt;li&gt;Eli Ben-Sasson and Jakob Nordström. Understanding Space in Proof Complexity: Separations and Trade-offs via Substitutions. ICS 2011, 401-416.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Are there other uses of this technique in other areas?  &lt;/p&gt;&#xA;" OwnerUserId="6579" LastEditorUserId="186" LastEditDate="2011-11-16T21:40:03.020" LastActivityDate="2011-11-16T23:53:38.693" Title="Uses of XORification" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;boolean-functions&gt;&lt;proof-complexity&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="8989" PostTypeId="2" ParentId="8985" CreationDate="2011-11-16T15:42:10.970" Score="7" Body="&lt;p&gt;According to &lt;a href=&quot;http://maven.smith.edu/~orourke/TOPP/P63.html&quot;&gt;TOPP 63&lt;/a&gt;, dynamic nearest neighbors can be answered in $O($polylog$)$ time per insert, delete, or query (that is, the case $k=1$). The general case can therefore also be answered in time $O(k$ polylog$)$ per query: to do a query for $k$ points, repeatedly find and delete the nearest neighbor, then once the query is done re-insert all the points you deleted.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2011-11-16T15:42:10.970" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="8990" PostTypeId="2" ParentId="8842" CreationDate="2011-11-16T15:44:43.793" Score="2" Body="&lt;p&gt;1) I think this depends on the implementation of linear GP you use. Since you're writing your own implementation, I would recommend looking at some other people's implementations. IMO, this really depends on what kind of linear GP system you wrote/are using. I haven't looked myself, but &lt;a href=&quot;http://cs.gmu.edu/~eclab/projects/ecj/&quot; rel=&quot;nofollow&quot;&gt;ECJ&lt;/a&gt; might have an implementation that you can reference.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) There are TONS of methods to crossover/mutate your individuals. I would argue that you &lt;strong&gt;could&lt;/strong&gt; perform crossover using either of the approaches you mention. The one you &lt;strong&gt;should&lt;/strong&gt; use will depend on the problem you're tackling and how you represent your individuals. Sometimes it's best to design crossover and mutation methods specifically for your system. A Google Scholar search for various mutation and crossover operations in GP, GAs, and linear GP will give you A LOT to work with. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;3) Time series forecasting is a particularly difficult problem. In my &lt;strong&gt;very limited&lt;/strong&gt; experience, economic data can be pretty volatile. Using a standard linear GP algorithm probably won't give you especially good results. With a problem that difficult, you're going to need more advanced approaches than just different crossover/mutation operators. It might be worth your time to look into some probabilistic, generalization, or strongly-typed GP approaches. Check out the &lt;a href=&quot;http://www.gp-field-guide.org.uk/&quot; rel=&quot;nofollow&quot;&gt;Field Guide to GP&lt;/a&gt; for some more on those. Again, Google Scholar is a great resource for learning more about those.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I hope this helps!&lt;/p&gt;&#xA;" OwnerUserId="6911" LastActivityDate="2011-11-16T15:44:43.793" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8991" PostTypeId="1" AcceptedAnswerId="8998" CreationDate="2011-11-16T15:45:35.017" Score="26" ViewCount="903" Body="&lt;p&gt;Shiva Kintali has just announced a (cool!) result that &lt;a href=&quot;http://kintali.wordpress.com/2011/11/16/hardness-of-graph-isomorphism-of-bounded-treewidth-graphs/#comments&quot; rel=&quot;nofollow noreferrer&quot;&gt;graph isomorphism for bounded treewidth graphs of width $\geq 4$ is $\oplus L$-hard&lt;/a&gt;.  Informally, my question is, &quot;How hard is that?&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We know that nonuniformly $NL \subseteq \oplus L$, see the answers to &lt;a href=&quot;https://cstheory.stackexchange.com/q/7937/30&quot;&gt;this question&lt;/a&gt;.  We also know that it is unlikely that $\oplus L = P$, see the answers to &lt;a href=&quot;https://cstheory.stackexchange.com/q/175/30&quot;&gt;this question&lt;/a&gt;.  How surprising would it be if $L=\oplus L$?  I have heard many people say that $L=NL$ would not be shocking the way $P=NP$ would.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What are the consequences of $L=\oplus L$?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Definition: $\oplus L$ is the set of languages recognized by a non-deterministic Turing machine which can only distinguish between an even number or odd number of &quot;acceptance&quot; paths (rather than a zero or non-zero number of acceptance paths), and which is further restricted to work in logarithmic space.&lt;/p&gt;&#xA;" OwnerUserId="30" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2011-11-16T19:34:24.297" Title="What are the consequences of $L = \oplus L$?" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;logspace&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="8992" PostTypeId="2" ParentId="8991" CreationDate="2011-11-16T16:27:55.273" Score="15" Body="&lt;p&gt;Well if $L=\oplus L$ then simulation of stabilizer circuits is in $L$, since Aaronson and Gottesman (Physical Review A 70, 052328) proved such simulation is complete for $\oplus L$ under log space reductions, or more weakly that simulating CNOT networks is in $L$. Equivalently, if the simulation of such circuits is in $L$ then $L = \oplus L$. Personally, I would find this surprising, but not in the fall off my chair way I would find $P=NP$ surprising.&lt;/p&gt;&#xA;" OwnerUserId="204" LastEditorUserId="204" LastEditDate="2011-11-16T16:41:37.100" LastActivityDate="2011-11-16T16:41:37.100" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="8993" PostTypeId="2" ParentId="8986" CreationDate="2011-11-16T17:18:48.837" Score="-3" Body="&lt;p&gt;I special cases of this problem are a convex optimization problem. If x_i&gt;0, then the objective is a posynomial. If the polytope can be described using posynomials, then the problem becomes a convex optimization problem. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;See the tutorial at &lt;a href=&quot;http://www.stanford.edu/~boyd/papers/pdf/gp_tutorial.pdf&quot; rel=&quot;nofollow&quot;&gt;http://www.stanford.edu/~boyd/papers/pdf/gp_tutorial.pdf&lt;/a&gt; which discusses geometric programming and search for posynomial. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;--clarification-- &lt;/p&gt;&#xA;&#xA;&lt;p&gt;See page 73 of the above link.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If your polytope can be described by a posynomial, then you can solve the polytope as a convex programming problem, by converting the problem into an equivalent form.&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;    Given:&#xA;      Minimize f0(x)&#xA;      s.t.&#xA;      fi(x)&amp;lt;=0 for all i&#xA;      fj(x)=0 for all j&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Where f0(x) is your original objective and fi(x) is your polytope. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let x_k an element in x be equal to exp(y_k).&#xA;Now, an equivalent problem is cast as:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;      Minimize log(f0(exp(y))&#xA;      s.t.&#xA;      log(fi(exp(y))&amp;lt;=0 for all i&#xA;      log(fj(exp(y))=0 for all j&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;The restriction here is that the only a subset of all polytopes will work in this formulation. However if you can find a reasonable approximation where the polytope is approximated by a set of posynomial constraints, then you will have a computationally fast solution. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;--- additional comments ----&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The only other approach which might be faster than solving the primal problem is to use KKT conditions to as implied by Ashwinkumar. You can try solving the dual formed from the KKT conditions. Depending on the structure of the polytope, you might be able to find the answer faster.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See &lt;a href=&quot;http://en.wikipedia.org/wiki/Karush%E2%80%93Kuhn%E2%80%93Tucker_conditions&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/Karush%E2%80%93Kuhn%E2%80%93Tucker_conditions&lt;/a&gt;. &lt;/p&gt;&#xA;" OwnerUserId="7247" LastEditorUserId="7247" LastEditDate="2011-11-17T17:40:26.343" LastActivityDate="2011-11-17T17:40:26.343" CommentCount="10" ContentLicense="CC BY-SA 3.0" />
  <row Id="8994" PostTypeId="2" ParentId="8988" CreationDate="2011-11-16T18:16:44.527" Score="13" Body="&lt;p&gt;This might be a slight reach, but the idea of XOR'ing a bunch of things to make a task &quot;harder&quot; shows up in cryptography. It first appeared in the guise of &lt;a href=&quot;http://theory.csail.mit.edu/ftp-data/pub/ftp/tcryptol/old-05.ps&quot;&gt;Yao's XOR lemma&lt;/a&gt;. If $X$ is a slightly unpredictable random variable, then $Y = X_1 \oplus X_2 \oplus \cdots \oplus X_k$ is extremely unpredictable if $k$ is large enough, where the $X_i$'s are independent draws of $X$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Nowadays, this technique is quite standard in crypto, typically for amplifying a weak construction (commitment scheme, oblivious transfer protocol, etc) into a strong one.&lt;/p&gt;&#xA;" OwnerUserId="149" LastActivityDate="2011-11-16T18:16:44.527" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="8996" PostTypeId="2" ParentId="8937" CreationDate="2011-11-16T19:13:56.777" Score="7" Body="&lt;p&gt;I'm not sure if I'm interpreting your question correctly, but it sounds to me that you're asking not about &lt;i&gt;simulating&lt;/i&gt; self-avoiding random walks, but about &lt;i&gt;enumerating&lt;/i&gt; self-avoiding random walks.  I say this because you talk about exponentiating an adjacency matrix, which will give you a (weighted) enumeration of random walks.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm not sure if there is much literature on enumerating self-avoiding walks in general graphs; I believe that most attention has been focused on self-avoiding walks in lattices in Euclidean space, and that's what my comments below are based on.  I suspect that many of the ideas will carry over to general graphs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The classic tool for reducing the labor involved in &lt;i&gt;exactly&lt;/i&gt; enumerating self-avoiding walks is the lace expansion.  You should be able to locate the relevant literature easily with that keyword.  For highly connected graphs, though, my guess is that the lace-expansion idea won't help too much (but then maybe nothing will help much in that case).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you're satisfied with &lt;i&gt;approximate&lt;/i&gt; enumeration then there are a few options.  See EJJ van Rensburg's 2009 paper on &quot;Approximate enumeration of self-avoiding walks&quot; for a survey.  See also &quot;Self-testing algorithms for self-avoiding walks&quot; by Randall and Sinclair (2000).&lt;/p&gt;&#xA;" OwnerUserId="2970" LastActivityDate="2011-11-16T19:13:56.777" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="8997" PostTypeId="1" AcceptedAnswerId="8999" CreationDate="2011-11-16T19:15:31.277" Score="12" ViewCount="474" Body="&lt;p&gt;&lt;a href=&quot;http://www.math.ucdavis.edu/~greg/zoology/relations.html#bpp&quot; rel=&quot;nofollow noreferrer&quot;&gt;Complexity Zoology&lt;/a&gt; by Greg Kuperberg states that there is a language $X$ such that $\mathsf{BPP}^X \nsubseteq \mathsf{\Delta_2 \mathsf{P}}^X$ — in other words, $\mathsf{BPP}^X \nsubseteq \mathsf{P}^{\mathsf{NP}^X}$ — but does not give a reference for this result.  Why does this hold?  Or where can a proof be found?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This question is partly motivated by &lt;a href=&quot;https://cstheory.stackexchange.com/questions/8297/what-is-known-about-multi-prover-interactive-proofs-with-short-messages/8429#8429&quot;&gt;my answer&lt;/a&gt; to the question “What is known about multi-prover interactive proofs with short messages?” by Joe Fitzsimons.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I posted this question on &lt;a href=&quot;https://math.stackexchange.com/questions/69318/oracle-relative-to-which-bpp-is-not-contained-in-2p&quot;&gt;math.stackexchange.com&lt;/a&gt; on October 2, but I did not receive any answer and deleted the question on math following &lt;a href=&quot;http://meta.math.stackexchange.com/questions/1733/what-is-the-proper-way-to-acknowledge-an-answer-posted-on-another-forum-site/1735#1735&quot;&gt;this post&lt;/a&gt; on meta.math.&lt;/p&gt;&#xA;" OwnerUserId="567" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.743" LastActivityDate="2012-01-10T12:10:25.803" Title="Oracle relative to which $\mathsf{BPP}$ is not contained in $Δ_2 \mathsf{P}$" Tags="&lt;cc.complexity-theory&gt;&lt;oracles&gt;&lt;relativization&gt;&lt;polynomial-hierarchy&gt;&lt;separation&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="8998" PostTypeId="2" ParentId="8991" CreationDate="2011-11-16T19:34:24.297" Score="23" Body="&lt;p&gt;Wigderson &lt;a href=&quot;http://www.math.ias.edu/~avi/PUBLICATIONS/MYPAPERS/W94/proc.pdf&quot;&gt;proved&lt;/a&gt; that $NL/poly \subseteq \oplus L/poly$. By standard arguments, $L = \oplus L$ would imply $L/poly = NL/poly$. (Take a machine $M$ in $NL/poly$. It has an equivalent machine $M&amp;#39;$ in $\oplus L/poly$. Take the $\oplus L$ language of instance-advice pairs $S = \{(x,a)~|~M&amp;#39;(x,a)~\textrm{accepts}\}$. If this language is in $L$, then by hardcoding the appropriate advice $a$ we get an $L/poly$ machine equivalent to $M$.) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think that would be surprising: nondeterministic branching programs would be equivalent to deterministic branching programs (up to polynomial factors).&lt;/p&gt;&#xA;" OwnerUserId="225" LastActivityDate="2011-11-16T19:34:24.297" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="8999" PostTypeId="2" ParentId="8997" CreationDate="2011-11-16T20:48:45.603" Score="18" Body="&lt;p&gt;The oracle goes back to &lt;a href=&quot;http://dx.doi.org/10.1145/800061.808740&quot; rel=&quot;nofollow&quot;&gt;Stockmeyer&lt;/a&gt; in 1983. &lt;a href=&quot;http://dx.doi.org/10.1016/S0019-9958%2886%2980012-2&quot; rel=&quot;nofollow&quot;&gt;Heller&lt;/a&gt; gave the stronger result that : $BPP = EXP^{NP}$ in a relativized world in 1986. &lt;a href=&quot;http://www.springerlink.com/content/72u535t135323r2n/&quot; rel=&quot;nofollow&quot;&gt;Karpiniski and Verbeek&lt;/a&gt; (mentioned in the comments) reprove Heller's result.&lt;/p&gt;&#xA;" OwnerUserId="550" LastEditorUserId="1846" LastEditDate="2012-01-10T12:10:25.803" LastActivityDate="2012-01-10T12:10:25.803" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="9000" PostTypeId="1" CreationDate="2011-11-16T23:05:19.993" Score="9" ViewCount="1209" Body="&lt;p&gt;I'm learning algebraic theory of parsing. My first problem is identifying semiring examples which are specific to formal language theory. Here is an attempt to construct two examples.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1 Given CNF grammar, the elements of semiring are sets of terminal and nonterminal symbols with the operations:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;i) &lt;em&gt;Multiplication&lt;/em&gt;, joining the two sets pair-wise according to CYK rule. For example given CNF grammar &lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;s: p p | q r&#xA;t: p q&#xA;u: q q&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;then&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$ \{p,q,r\}\otimes \{p,r\} = \{s,t\} $ &lt;/p&gt;&#xA;&#xA;&lt;p&gt;ii) &lt;em&gt;Addition&lt;/em&gt; is set union, e.g.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$ \{p,q\}\oplus \{q,r\} = \{p,q,r\} $&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Unfortunately, multiplication is not associative.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2 The elements of second semiring are sets of not symbols but grammar rules [not necessarily in CNF] amended with position. The operations are&lt;/p&gt;&#xA;&#xA;&lt;p&gt;i) &lt;em&gt;Multiplication&lt;/em&gt;, joining all matching pairs of elements according to Earley complete rule. For example given CNF grammar &lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;s: p q r &#xA;r: s t | u&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;then&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$ \{s: p \bullet q r,s: p q \bullet r\}\otimes \{r: u \bullet \} = \{s: p q r \bullet \} $ &lt;/p&gt;&#xA;&#xA;&lt;p&gt;ii) &lt;em&gt;Addition&lt;/em&gt; is again the set union, e.g.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$ \{s: p \bullet q r, r: \bullet s t\}\oplus \{r: u \bullet \} = \{s: p \bullet q r, r: \bullet s t, r: u \bullet\} $&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This example is also deficient.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://mathoverflow.net/questions/81370/substitution-semiring&quot;&gt;Semiring with elements being sets of grammar rules and multiplication being rule substitution&lt;/a&gt; seems to work fine. Yet, this is just relation algebra in disguise. Indeed, let view each grammar rule as an equivalence class -- a set of pairs of words consisting terminal and nonterminal letters related by rule's application, e.g.   &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$ [t : s a] = \{ (t,sa),(ta,saa),(bt,bsa),(abt,absa),... \} $&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then, recognition of a word in a grammar is a chain of relational compositions, e.g.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$ [t:sa] \otimes [s:aa] \otimes \{(aaa,aaa)\} =  \{(t,aaa)\} $ &lt;/p&gt;&#xA;&#xA;&lt;p&gt;(This monomial is reminiscent of semiring parser polynomial from Josh Goodman PhD thesis; however, let reiterate that constructing new semirings by taking polynomials and matrices is not of our interest here).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, the question remains: is the &lt;em&gt;semiring of formal languages&lt;/em&gt; over alphabet $\Sigma$ the only example?  &lt;/p&gt;&#xA;" OwnerUserId="3213" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2013-10-21T20:08:46.837" Title="Semiring examples from formal language theory" Tags="&lt;fl.formal-languages&gt;" AnswerCount="3" CommentCount="4" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="9002" PostTypeId="2" ParentId="8988" CreationDate="2011-11-16T23:53:38.693" Score="15" Body="&lt;p&gt;Here's an somewhat relevant example we are currently covering in my class.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The &quot;storage access function&quot; is defined on $2^k+k$ bits as:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$SA(x_1,...,x_{2^k}, a_1,...,a_k) = x_{bin(a_1 \cdots a_k)}$ &lt;/p&gt;&#xA;&#xA;&lt;p&gt;where $bin(a_1 \cdots a_k)$ is the unique integer in $\{1,\ldots,2^k\}$ corresponding to the string $a_1 \cdots a_k$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$SA$ has formulas of size about $O(k \cdot 2^k)$ over AND/OR/NOT: have $2^k$ groups of all possible $k$-ANDs over the $a_i$ variables, so that exactly one group outputs $1$ on every input. Then AND each bit $x_i$ with the output of the corresponding group, then OR all of these outputs. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, the following &quot;SA of XOR&quot; function, on $2^{k+1}$ inputs, requires about $2^{3k}$-size formulas over AND/OR/NOT:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$SA(x_1,...,x_{2^k}, \bigoplus_{j=1}^{2^k/k} a_{1,j},..., \bigoplus_{j=1}^{2^k/k} a_{k,j}) = x_{bin(a_1 \cdots a_k)}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is often called &quot;Andreev's function&quot; in the literature. Hastad &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.41.9886&quot;&gt;proved&lt;/a&gt; (improving a component of Andreev's argument) that cubic-size formulas are essentially necessary. (It is not hard to find nearly cubic-size formulas for it, too.)&lt;/p&gt;&#xA;" OwnerUserId="225" LastActivityDate="2011-11-16T23:53:38.693" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9007" PostTypeId="1" CreationDate="2011-11-17T15:15:28.160" Score="13" ViewCount="262" Body="&lt;p&gt;In the definition of (strong) fixed-parameter tractability, the time bound is an expression of the form $$f(k).p(|x|),$$ where the input instance is $(x,k)$ with parameter $k$, $p$ is a polynomial, and $f$ is a &lt;em&gt;computable&lt;/em&gt; function.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is possible to replace the computability requirement for $f$ with other classes of functions, as long as the notion of reduction is similarly restricted.  (For instance, Flum and Grohe cover exponential and subexponential families in chapters 15–16 of their textbook, with the associated erf and serf reductions.)&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Has anyone studied the family of elementary functions for the parameter bound $f$?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;An &lt;a href=&quot;http://en.wikipedia.org/wiki/Elementary_function&quot;&gt;elementary function&lt;/a&gt; can be bounded above by a fixed tower of exponentials, so this class is closed under composition.  The growth in the parameter in a reduction must then be bounded above by an elementary function as well.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There do exist interesting problems from automata theory which are fixed-parameter tractable, but where the parameter bound is non-elementary (unless P = NP, see Frick and Grohe, doi: &lt;a href=&quot;http://dx.doi.org/10.1016/j.apal.2004.01.007&quot;&gt;10.1016/j.apal.2004.01.007&lt;/a&gt;).  I am wondering if anyone has looked at the fixed-parameter tractable problems which exclude fixed values of the parameter leading to such &quot;galactic&quot; constants (to use Richard Lipton and Ken Regan's term).  Speculating wildly, such a restriction might have useful connections with finite model theory, such as being characterized by a fragment of monadic second-order logic that doesn't lead to the non-elementary constants that can arise from applying Courcelle's Theorem to a fragment with unbounded quantifier alternation.&lt;/p&gt;&#xA;" OwnerUserId="109" LastEditorUserId="109" LastEditDate="2011-11-17T18:27:57.790" LastActivityDate="2011-11-19T18:15:42.440" Title="Elementary bounds on parameter in fixed-parameter tractability?" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;fixed-parameter-tractable&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9008" PostTypeId="1" AcceptedAnswerId="9009" CreationDate="2011-11-17T19:01:48.753" Score="17" ViewCount="1140" Body="&lt;p&gt;This question is similar to &lt;a href=&quot;https://cstheory.stackexchange.com/questions/8876/forbidden-minors-for-bounded-genus-graphs&quot;&gt;one&lt;/a&gt; of my previous questions. It is known that $K_{t+2}$ is a forbidden minor for graphs of treewidth at most $t$. &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there a nicely-constructed, parameterized, infinite family of graphs (other than complete graphs and grid graphs) that are minimal forbidden minors for graphs of every treewidth. In other words, is there an explicit graph $G_r$ on $r$ vertices (which is not a complete graph) such that $G_r$ is a forbidden minor for graphs of treewidth at most $r$, where $r$ is a function of $t$ ?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The complete sets of forbidden minors are known for graphs of treewidth at most three. See this &lt;a href=&quot;http://en.wikipedia.org/wiki/Treewidth#Forbidden_minors&quot; rel=&quot;nofollow noreferrer&quot;&gt;Wikipedia article&lt;/a&gt; for more details.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is the complete set of forbidden minors of graphs of treewidth at most four known ?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="344" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2013-09-23T20:22:39.497" Title="Forbidden minors for bounded treewidth graphs" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;treewidth&gt;&lt;graph-minor&gt;" AnswerCount="2" CommentCount="4" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="9009" PostTypeId="2" ParentId="9008" CreationDate="2011-11-17T19:49:57.447" Score="9" Body="&lt;p&gt;If G is formed from a smaller graph H that is not a clique by adding two vertices x and y, such that x and y are not adjacent to each other but adjacent to all other vertices of G, then $tw(G)=tw(H)+2$. For, in any tree decomposition of $G$, either $x$ and $y$ have disjoint subtrees or they have overlapping subtrees. If they have disjoint subtrees, all the other subtrees have to include the shortest path between the trees for $x$ and $y$, from which it follows that the treewidth is $n-2$; the assumption that $H$ is not a clique can then be used to show that $n-2\ge tw(H)+2$. Alternatively if $x$ and $y$ have overlapping subtrees, every other vertex has to have a subtree that touches the intersection of the two subtrees of $x$ and $y$, and we can restrict the tree decomposition to that intersection, giving a tree decomposition in which $x$ and $y$ participate in every tree node.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This implies that the hyperoctahedral graph $K_{2,2,2,\dots}$ with $2k$ nodes is a minimal forbidden minor for width $2k-3$. For, the octahedral graph $K_{2,2,2}$ is a minimal forbidden minor for width three, from which the argument above shows that the hyperoctahedral graph has width $2k-2$. And if any edge contraction or edge deletion is performed in the hyperoctahedral graph, the symmetries of the graph allow us to assume that the operation is happening to one of the twelve edges in the base octahedron, causing its width and the width of all the hyperoctahedra built from it to decrease.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(The other class of graphs you should be including in your question along with the complete graphs are the grid graphs. An $r\times r$ grid has treewidth $r$. It's separate from the complete graph minors because its planar and therefore has no complete minor with more than four vertices. It's not a minimal forbidden minor, though, because some small changes (such as contracting the corner vertices) don't change its treewidth.)&lt;/p&gt;&#xA;" OwnerUserId="95" LastEditorUserId="95" LastEditDate="2011-11-17T23:23:04.603" LastActivityDate="2011-11-17T23:23:04.603" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9010" PostTypeId="1" AcceptedAnswerId="9013" CreationDate="2011-11-17T20:55:40.753" Score="0" ViewCount="894" Body="&lt;p&gt;The &lt;a href=&quot;http://en.wikipedia.org/wiki/Closest_pair_of_points_problem&quot; rel=&quot;nofollow&quot;&gt;closest pair of points&lt;/a&gt; problem deals with the task to find a pair of points with the global minimum distance. There is a problem, when all points share the same x-coordinate, or at least a large number of points.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I just don't know why, I heard the running time becomes $n^2$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What about it? What is the problem, since the proof for the algorithm shows, that at max. 8 points can reside in the $2 \delta \times \delta$ area.&lt;/p&gt;&#xA;" OwnerUserId="7268" LastEditorUserId="567" LastEditDate="2011-11-17T23:11:07.037" LastActivityDate="2011-11-17T23:20:33.010" Title="What is the problem in &quot;closest pair problem&quot; if all points share the same x-coordinate" Tags="&lt;ds.algorithms&gt;&lt;cg.comp-geom&gt;&lt;time-complexity&gt;" AnswerCount="2" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="9011" PostTypeId="2" ParentId="9010" CreationDate="2011-11-17T21:40:41.977" Score="1" Body="&lt;p&gt;The input then is boring, and the algorithm is bored it takes it much longer to solve the problem.&lt;/p&gt;&#xA;" OwnerUserId="9594" LastActivityDate="2011-11-17T21:40:41.977" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="9012" PostTypeId="2" ParentId="9008" CreationDate="2011-11-17T22:43:45.087" Score="13" Body="&lt;p&gt;In &lt;a href=&quot;http://www1.aucegypt.edu/faculty/lucena/files/obstwdet.pdf&quot;&gt;Sparse obstructions and exact treewidth determination&lt;/a&gt;, Lucena states that in the &lt;a href=&quot;http://smartech.gatech.edu/handle/1853/30061&quot;&gt;PhD thesis of Sanders&lt;/a&gt;, &quot;75 or so minimal forbidden minors for treewidth $\leq 4$ are given, and it is believed though not proven that this may constitute the entire obstruction set.&quot;&lt;/p&gt;&#xA;" OwnerUserId="30" LastActivityDate="2011-11-17T22:43:45.087" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9013" PostTypeId="2" ParentId="9010" CreationDate="2011-11-17T23:20:33.010" Score="5" Body="&lt;p&gt;Points with the same x-coordinate do not cause any substantial problem.  However, if you implement the divide-and-conquer algorithm carelessly, they may cause a problem.  One way to deal with them is by using &lt;a href=&quot;http://books.google.ca/books?id=tkyG8W2163YC&amp;amp;ots=4GN9qE11mS&amp;amp;dq=symbolic%20perturbation&amp;amp;pg=PA137&quot;&gt;symbolic perturbation&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="567" LastActivityDate="2011-11-17T23:20:33.010" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9015" PostTypeId="1" AcceptedAnswerId="9024" CreationDate="2011-11-18T01:00:58.830" Score="10" ViewCount="337" Body="&lt;p&gt;I'd like to know whether the following simple problem has been studied before and if any solution is known.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let G be a finite (MxN) grid, S a subset of G's cells (the &quot;crumbs&quot;). Two crumbs are said to be (locally) connected if their coordinates differ by at most one (i.e., if drawn as squares, they share at least one corner point).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, one can try to connect the crumbs (their set as a whole) by permutating the lines and the columns of the grid. In other words, the goal is to come up with a permutation of the lines and a permutation of the columns so that any two crumbs in the resulting grid are connected by a chain of (locally) connected crumbs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Question: is there always a solution?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I don't quite know how to attack it. For lack of a better idea, I have written a raw program that looks for solutions by brute force (it generates the permutations at random and checks whether the resulting grid has its crumbs connected). The program has so far always found solutions on smallish (10x10 or 7x14) grids, and larger grids are clearly out of reach of its simplistic strategy (it would take too long to stumble at random across a solution).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is an example of a grid solved by the program:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Initial grid (crumbs are denoted by X's, empty cells by dots):&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;   0 1 2 3 4 5 6 7 8 9 &#xA; 0 X . X X . X . X X .&#xA; 1 X . . . . X . . . .&#xA; 2 . . X . . . . X . X&#xA; 3 . X . . X . X . . X&#xA; 4 . . . X . . . . . .&#xA; 5 X X . . . X X . X .&#xA; 6 . . . X . . . . X .&#xA; 7 X . X . . X . . . .&#xA; 8 X . . . X . . X X .&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Solution:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;   6 1 4 7 8 2 9 3 5 0&#xA; 1 . . . . . . . . X X&#xA; 4 . . . . . . . X . .&#xA; 5 X X . . X . . . X X&#xA; 8 . . X X X . . . . X&#xA; 7 . . . . . X . . X X&#xA; 0 . . . X X X . X X X&#xA; 3 X X X . . . X . . .&#xA; 6 . . . . X . . X . .&#xA; 2 . . . X . X X . . .&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Naturally, the problem can readily be generalized to any dimension d &gt; 2. I suppose other generalizations could be considered.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks in advance,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Yann David&lt;/p&gt;&#xA;" OwnerUserId="7271" LastActivityDate="2011-11-19T00:30:24.347" Title="Connecting cells by line and column permutations in a finite grid" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9016" PostTypeId="2" ParentId="8950" CreationDate="2011-11-18T03:14:10.957" Score="5" Body="&lt;p&gt;Take an arbitrary element $e \in \Omega$. If $f(e) = f_{\Omega-e}(e)$ then $e$ is not affected by the rest of the elements so we can choose $X_1 = \{e\}$ and $X_2 = \Omega-\{e\}$. Otherwise let $X$ be an inclusion-wise minimal subset of $\Omega-e$ such that $f(e) &amp;gt; f_X(e)$. Then $X \cup \{e\}$ should be in the same partition. If $X \cup \{e\} = \Omega$ we conclude that there is no desired partition, otherwise we shrink this set into a single element and recurse.&lt;/p&gt;&#xA;" OwnerUserId="176" LastActivityDate="2011-11-18T03:14:10.957" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9017" PostTypeId="2" ParentId="343" CreationDate="2011-11-18T09:48:54.893" Score="9" Body="&lt;p&gt;Another hard example for resolution is the mutilated chessboard formulas. They state that a $2n \times 2n$ chessboard with two diagonally opposite corners missing cannot be covered with $2\times 1$ tiles. See:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Michael Alekhnovich. Mutilated chessboard problem is exponentially hard for resolution. Theoretical Compututer Science 310(1-3): 513-525 (2004). &lt;a href=&quot;http://dx.doi.org/10.1016/S0304-3975(03)00395-5&quot;&gt;http://dx.doi.org/10.1016/S0304-3975(03)00395-5&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="6579" LastActivityDate="2011-11-18T09:48:54.893" CommentCount="0" CommunityOwnedDate="2011-11-18T09:48:54.893" ContentLicense="CC BY-SA 3.0" />
  <row Id="9019" PostTypeId="2" ParentId="4667" CreationDate="2011-11-18T14:55:24.083" Score="7" Body="&lt;p&gt;The third approach mentioned in the linked paper refers to the framework of bounded applicative theories, which are subsystems of Feferman's theory of Explicit Mathematics just as Bounded Arithmetic theories are subsystems of Peano Arithmetic (or higher order extensions of it). These theories contain full lambda calculus (or combinatory logic rather) and therefore have terms denoting all computable functions. They also have a predicate $W$ denoting the set of binary words. The strength of a theory is mainly determined by what axioms about $W$ it contains. The way to characterize a complexity class $C$ by theory $T$ is the following:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;For a function $f$ there is a term $t_f$  such that $T$ proves $\forall x. W(x) \to W(t_f(x)) $ if and only if $f$  is in $C$. &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;They originate from the work of Thomas Strahm, in particular the following papers:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thomas Strahm. Theories with self-application and computational complexity, Information and Computation 185, 2003, pp. 263-297. &lt;a href=&quot;http://dx.doi.org/10.1016/S0890-5401(03)00086-5&quot;&gt;http://dx.doi.org/10.1016/S0890-5401(03)00086-5&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thomas Strahm. A proof-theoretic characterization of the basic feasible functionals, Theoretical Computer Science 329, 2004, pp. 159-176. &lt;a href=&quot;http://dx.doi.org/10.1016/j.tcs.2004.08.009&quot;&gt;http://dx.doi.org/10.1016/j.tcs.2004.08.009&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="6579" LastEditorUserId="6579" LastEditDate="2011-11-18T16:16:00.020" LastActivityDate="2011-11-18T16:16:00.020" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9020" PostTypeId="2" ParentId="9007" CreationDate="2011-11-18T15:30:42.383" Score="13" Body="&lt;p&gt;In his dissertation thesis &quot;&lt;a href=&quot;http://www.freidok.uni-freiburg.de/volltexte/4276/pdf/diss.pdf&quot; rel=&quot;nofollow&quot;&gt;Modiﬁzierte parametrische Komplexitatstheorie&lt;/a&gt;&quot;, Mark Weyer considered, among other things, hierarchies within FPT w.r.t. the function f and reductions between them.   He also did indeed relate these sub-hierarchies to fragments of FO and MSO: Chapter 6 is essentially about the relation between FO/MSO (the number of quantifier alternations of the formulas) and the function f(w) in Courcelle's theorem (w being the treewidth).  He considered both upper and lower bounds and, using the aforementioned reduction framework between certain hierarchies within FPT, he was able to give quite tight bounds.  The examiners of the thesis were Flum and Grohe.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Unfortunately the thesis is in German, and I'm not aware whether material of his thesis has been published in an English journal.  I'm therefore aware that they might be of limited use for you, but nevertheless the references therein might be a good starting point.&lt;/p&gt;&#xA;" OwnerUserId="4920" LastEditorUserId="4920" LastEditDate="2011-11-19T18:15:42.440" LastActivityDate="2011-11-19T18:15:42.440" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="9022" PostTypeId="2" ParentId="8851" CreationDate="2011-11-18T17:15:30.097" Score="0" Body="&lt;p&gt;I would suggest you do not await the beginning of your course since computer science at any level involves implementing algorithms through a computer in order to accomplish/verify/solve any theory you will have to face throughout your course, ESPECIALLY at your level. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I had to program in grade 10 (high school) first, and I already knew how to use a command line and this really helped (this is to show you how &quot;basic&quot; programming skills are considered in CS). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The astonishment of your peers is well founded, since pseudocode and algorithms are among the first things one has to learn in order to program. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, you are not to be completely lost in your forthcoming course since you can use your broader math skills (on your own) at your advantage to skip object-oriented programming to catch up faster learning a functional programming language. &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Functional programming is VERY math-oriented, considered harder to learn for its math background needed, considered very powerful (in its &quot;simple&quot;, mathematic way to accomplish hard problems through elegant and &quot;clean&quot; means).&lt;/li&gt;&#xA;&lt;li&gt;Object-orientation is good when you do not want to understand underlying algorithms and implementation principles and simply want to &quot;reuse&quot; already existing objects. &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I think you could tackle Haskell (usually not a first language) because it is purely mathematic, functional and can do basically anything you want it to. Learning Haskell would put you at a level where you would not need to learn much more to keep up, and would even put you in a situation of control and power over your course. If you're into statistics, learning R is a plus, but not near as much as Haskell. I have seen reports from mathematicians stating how surprised they were about its closeness to math and how it embraced their way of thinking. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, a challenge worth tackling (to get your hands accustomed to a programming environment fast) would be to install and use Linux (Ubuntu Linux will do). Trust me, you will learn a lot by playing with it... &lt;/p&gt;&#xA;&#xA;&lt;p&gt;These advices are the best way I know of catching up fast and surely for a mathematician in computer science. Besides, the open source community is very friendly and helpful and if you're stuck, IRC being the most direct way to talk about any subject through specialized channels (connect on FreeNode). Remember: asking is the only way to solve questions, be it to yourself, a forum, a search engine or in chatrooms.&lt;/p&gt;&#xA;" OwnerUserId="7281" LastEditorUserId="4873" LastEditDate="2011-11-20T16:08:00.027" LastActivityDate="2011-11-20T16:08:00.027" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9023" PostTypeId="2" ParentId="4667" CreationDate="2011-11-18T18:17:31.713" Score="3" Body="&lt;p&gt;I don’t really know whether it is representative of the area (due to my general unfamiliarity with it), but the work of Giorgi Japaridze on &lt;a href=&quot;http://www.cis.upenn.edu/~giorgi/cl.html&quot; rel=&quot;nofollow&quot;&gt;computability logic&lt;/a&gt; belongs to the second approach.&lt;/p&gt;&#xA;" OwnerUserId="6959" LastActivityDate="2011-11-18T18:17:31.713" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9024" PostTypeId="2" ParentId="9015" CreationDate="2011-11-18T20:20:14.720" Score="7" Body="&lt;p&gt;Let's try a similar counting argument to the one in the earlier version of my answer, more carefully.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given an input 0-1 matrix with q nonzeros, define a &quot;solution&quot; to be a permutation of the rows, a permutation of the columns, and the connected 0-1 matrix that one gets as output after performing the permutations. The important observation here is that there are at most $n^2 2^{5q}$ different output matrices possible: once we make one of $n^2$ choices for the position of one of the nonzeros, we can encode the rest of the output matrix in $5q$ bits by doing a preorder traversal of a spanning tree of the nonzeros and recording for each edge in the tree whether it goes to a leaf, whether it is the last edge from its parent, and what its direction is. So the number of solutions is in total at most $n^2 2^{5q} (n!)^2$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now each solution works only for a single input, because we can reverse the permutations to get the input back from the output matrix. The number of inputs that have exactly $c$ nonzeros per row is $\binom{n}{c}^n$, and for $c$ constant this can be rewritten $\exp(cn\log n-O(n))$. But for $q=cn$ the number of solutions is $\exp(2n\log n+O(cn))$. For $c&amp;gt;2$, the inputs outnumber the solutions, so there is an unsolvable input.&lt;/p&gt;&#xA;" OwnerUserId="95" LastEditorUserId="95" LastEditDate="2011-11-19T00:30:24.347" LastActivityDate="2011-11-19T00:30:24.347" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="9025" PostTypeId="1" CreationDate="2011-11-18T20:53:48.823" Score="2" ViewCount="204" Body="&lt;p&gt;This might be a very simple doubt, but I am not able to prove or disprove it rigorously. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Canetti's work on &quot;Security and Composition of Multiparty Cryptographic Protocols: JoC 2000&quot; allows us to prove results of the following form: Let $g, f_1, f_2, \cdots, f_m$ be $n$-party functions and $\pi$ can securely compute $g$ in $(f_1, \cdots , f_m)$ hybrid model. Let $\rho_i$ computes $f_i$ securely, then the composed protocol $\Pi$ by replacing the ideal call to $f_i$ by a subroutine call to $\rho_i$ securely evaluates $g$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does this result translate equally well if we consider Nash equilibrium or any game-theoretic equilibrium instead of secure computation? To be more precise, suppose instead of securely evaluating the function, we have a protocol that is Nash equilibrium in $(f_1, \cdots , f_m)$hybrid model, then can we construct a protocol that is Nash equilibrium in the real world?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What I mean by that a protocol is a Nash equilibrium in a setting X (X=ideal, hybrid, or real world) is the following. Suppose the strategy profile of player $i$ be $\Sigma_i$ for $i \in [n]$. Running the protocol is a (strict) Nash equilibrium with a strategy ($\sigma_1, \sigma_2, \cdots, \sigma_n) \in \Sigma_1 \times \cdots \times \Sigma_n$ in the setting X if any deviation of the players from the strategy prescribed in the protocol leads to a (strict) decrease in their utility.&lt;/p&gt;&#xA;" OwnerUserId="7283" LastEditorUserId="7283" LastEditDate="2011-11-19T15:07:53.183" LastActivityDate="2012-01-03T03:06:29.113" Title="Can Canetti's composition theorem be used to prove composition of Nash equilibrium?" Tags="&lt;cr.crypto-security&gt;&lt;gt.game-theory&gt;" AnswerCount="0" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="9026" PostTypeId="1" CreationDate="2011-11-18T23:27:04.083" Score="-6" ViewCount="356" Body="&lt;p&gt;$ A \times \left ( B + C \right ) $ is isomorphic to $ \left ( A \times B \right ) + \left ( A \times C \right ) $, right? That means there's a function from one to the other and another function back. But what are those functions? Furthest I got was $ \left &amp;lt; \mathrm { p } _ 0 , ( \mathrm { id } + \mathrm { id } ) \circ \mathrm { p } _ 1 \right &amp;gt; $ but that's just equal to $ \mathrm { id } _ { A \times \left ( B + C \right ) } $.&lt;/p&gt;&#xA;" OwnerUserId="7285" LastActivityDate="2011-11-19T09:32:26.107" Title="What function has the signature $ A \times \left ( B + C \right ) \rightarrow \left ( A \times B \right ) + \left ( A \times C \right ) $?" Tags="&lt;functional-programming&gt;&lt;ct.category-theory&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="9027" PostTypeId="1" AcceptedAnswerId="9033" CreationDate="2011-11-19T02:22:57.427" Score="11" ViewCount="1430" Body="&lt;p&gt;I'm quite familiar with the theory behind VC-Dimension, but I'm now looking at the recent (last 10 years) advances in statistical learning theory: (local) Rademacher averages, Massart's Finite Class Lemma, Covering Numbers, Chaining, Dudley's Theorem, Pseudodimension, Fat Shattering Dimension, Packing Numbers, Rademacher Composition, and possibly other results / tools that I'm not aware of.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a website, survey, collection of articles, or, best of all, a book covering these topics?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Alternatively, I'm looking at examples of how to bound the Rademacher average for simple classes, in the same way that people use axis-aligned rectangles to show how to bound VC-dimension.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks in advance.&lt;/p&gt;&#xA;" OwnerUserId="4828" LastEditorUserId="186" LastEditDate="2014-05-21T00:49:47.737" LastActivityDate="2014-05-21T00:49:47.737" Title="Resource / book for recent advances in statistical learning theory" Tags="&lt;reference-request&gt;&lt;machine-learning&gt;&lt;lg.learning&gt;&lt;books&gt;&lt;vc-dimension&gt;" AnswerCount="3" CommentCount="0" FavoriteCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="9028" PostTypeId="1" AcceptedAnswerId="9045" CreationDate="2011-11-19T02:43:17.053" Score="12" ViewCount="809" Body="&lt;p&gt;Consider the following abelian-subgroup membership-testing &lt;strong&gt;problem&lt;/strong&gt;.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Inputs:&lt;/strong&gt;&lt;/p&gt;&#xA;  &#xA;  &lt;ol&gt;&#xA;  &lt;li&gt;&lt;p&gt;A finite abelian group $G=\mathbb{Z}_{d_1}\times\mathbb{Z}_{d_1}\ldots\times\mathbb{Z}_{d_m}$ with arbitrary-large $d_i$.&lt;/p&gt;&lt;/li&gt;&#xA;  &lt;li&gt;&lt;p&gt;A generating-set $\lbrace h_1,\ldots,h_n\rbrace$ of a subgroup $H\subset G$.&lt;/p&gt;&lt;/li&gt;&#xA;  &lt;li&gt;&lt;p&gt;An element $b\in G$.&lt;/p&gt;&lt;/li&gt;&#xA;  &lt;/ol&gt;&#xA;  &#xA;  &lt;p&gt;&lt;strong&gt;Output:&lt;/strong&gt; 'yes' if $b\in H$ and 'no' elsewhere'.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question:&lt;/strong&gt; Can this problem be solved &lt;em&gt;efficiently&lt;/em&gt; in a classical computer? I consider an algorithm efficient if it uses $O(\text{polylog}|G|)$ time and memory resources in the usual sense of classical Turing machines. Notice that we can assume $n= O(\log|G|)$ for any subgroup $H$. The &lt;em&gt;input-size&lt;/em&gt; of this problem is $\lceil \log|G|\rceil$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;A bit of motivation&lt;/strong&gt;. Intuitively it looks like the problem can be tackled with algorithms to solve linear systems of congruences or linear diophantine equations (read below). However, it seems that there are different notions of computational efficiency used in the context of computations with integers, such as: strongly versus weakly polynomial time, algebraic versus bit complexity. I am not an expert on these definitions and I can not find a reference that clearly settles down this question.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt; the answer to the problem is &quot;yes&quot;.&lt;/p&gt;&#xA;  &#xA;  &lt;ul&gt;&#xA;  &lt;li&gt;&lt;p&gt;In a late answer, I proposed a method based on Smith normal forms which is efficient for any group with the prescribed form.&lt;/p&gt;&lt;/li&gt;&#xA;  &lt;li&gt;&lt;p&gt;An answer by Blondin shows that in the particular case where all $d_i$ are of the form $d_i= N_i^{e_i}$ and $N_i, e_i$ are &quot;tiny integers&quot; then the problem belongs to $\text{NC}^3\subset \text{P}$. Tiny integers are exponentially small with the input size: $O(\log\log|A|)$.&lt;/p&gt;&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;  &#xA;  &lt;p&gt;In my answer I used &quot;orthogonal subgroups&quot; to solve this problem, but I believe this is not necessary. I will try to provide a more direct answer in the future based a row Echelon forms method I am reading.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;h2&gt;Some possible approaches&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;The problem is closely related to solving linear system of congruences and/or linear diophantine equations. I briefly summarise these connection for the sake of completion.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Take $A$ to be the matrix whose columns are the elements of the generating set  $\lbrace h_1, \ldots, h_n \rbrace$. The following system of equations&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xD;&#xA;Ax^{T}=&#xD;&#xA;\begin{pmatrix}&#xD;&#xA;h_1(1) &amp;amp; h_2(1) &amp;amp; \ldots &amp;amp; h_n(1)\\&#xD;&#xA;h_1(2) &amp;amp; h_2(2) &amp;amp; \ldots &amp;amp; h_n(2)\\&#xD;&#xA;\vdots &amp;amp; \vdots &amp;amp; \cdots &amp;amp; \vdots\\&#xD;&#xA;h_1(m) &amp;amp; h_2(m) &amp;amp; \ldots &amp;amp; h_n(m)&#xD;&#xA;\end{pmatrix}&#xD;&#xA;&#xD;&#xA;\begin{pmatrix}&#xD;&#xA;x(1)\\&#xD;&#xA;x(2)\\&#xD;&#xA;\vdots\\&#xD;&#xA;x(n)&#xD;&#xA;\end{pmatrix}&#xD;&#xA;=&#xD;&#xA;\begin{pmatrix}&#xD;&#xA;b(1) \\&#xD;&#xA;b(2) \\&#xD;&#xA;\vdots\\&#xD;&#xA;b(m)&#xD;&#xA;\end{pmatrix}&#xD;&#xA;\begin{matrix}&#xD;&#xA;\mod d_1\\&#xD;&#xA;\mod d_2\\&#xD;&#xA;\vdots\\&#xD;&#xA;\mod d_m&#xD;&#xA;\end{matrix}&#xD;&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;has a solution if and only if $b\in H$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If all cyclic factors have the same dimension $d=d_i$ there is an algorithm based on Smith normal forms that solves the problem in polynomial time. In this case, an efficient algorithm from &lt;a href=&quot;http://www.cs.uwaterloo.ca/research/tr/1996/03/CS-96-03.pdf&quot; rel=&quot;nofollow&quot;&gt; [1] &lt;/a&gt; &#xA;finds the Smith normal form of  $A$: it returns a diagonal matrix $D$ and two invertible matrices $U$ and $V$ such that $D=UAV$. This reduced the problem to solving the equivalent system system $DY=Ub \mod d$ with $D$ diagonal. We can decide efficiently if the system has a solution using the Euclidean algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The above example suggest that the problem can be solved efficiently using similar techniques in the general case. We can try to solve the system doing modular operations, or by turning the system into a larger system of linear diophantine equations. Some possible techniques to approach the problem that I can think of are:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Computing the Smith normal forms of $A$.&lt;/li&gt;&#xA;&lt;li&gt;Computing the row Echelon form of $A$.&lt;/li&gt;&#xA;&lt;li&gt;Integer Gaussian elimination.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="7286" LastEditorUserId="7286" LastEditDate="2012-02-15T15:10:13.857" LastActivityDate="2012-02-15T15:37:37.223" Title="Complexity of Membership-Testing for finite abelian groups" Tags="&lt;ds.algorithms&gt;&lt;time-complexity&gt;&lt;matrices&gt;&lt;nt.number-theory&gt;&lt;gr.group-theory&gt;" AnswerCount="2" CommentCount="7" FavoriteCount="2" CommunityOwnedDate="2012-02-15T14:12:29.967" ContentLicense="CC BY-SA 3.0" />
  <row Id="9029" PostTypeId="2" ParentId="9027" CreationDate="2011-11-19T03:40:33.707" Score="5" Body="&lt;p&gt;This was a recently taught course. &lt;a href=&quot;http://www.cs.huji.ac.il/~shais/Handouts.pdf&quot; rel=&quot;nofollow&quot;&gt;http://www.cs.huji.ac.il/~shais/Handouts.pdf&lt;/a&gt;. I haven't carefully read through it, but chapter 7 has material on Rademacher Complexities. Hope it helps. &lt;/p&gt;&#xA;" OwnerUserId="372" LastActivityDate="2011-11-19T03:40:33.707" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9030" PostTypeId="2" ParentId="9027" CreationDate="2011-11-19T04:22:40.757" Score="3" Body="&lt;p&gt;The book by &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0521841089&quot; rel=&quot;nofollow&quot;&gt;Cesa-Bianchi and Lugosi&lt;/a&gt; has much of the modern aspects of generalization bounds and learning theory. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2011-11-19T04:22:40.757" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9031" PostTypeId="1" AcceptedAnswerId="9044" CreationDate="2011-11-19T05:42:21.953" Score="18" ViewCount="769" Body="&lt;p&gt;Given $m, n, k$, how many of $k$-DNFs with $n$ variables and $m$ clauses are tautology? (or how many $k$-CNFs are unsatisfiable?)&lt;/p&gt;&#xA;" OwnerUserId="14197" LastEditorUserId="14197" LastEditDate="2013-10-22T22:45:14.730" LastActivityDate="2016-04-18T13:13:11.893" Title="How many tautologies are there?" Tags="&lt;co.combinatorics&gt;&lt;lo.logic&gt;&lt;sat&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="9032" PostTypeId="1" AcceptedAnswerId="9042" CreationDate="2011-11-19T06:50:14.437" Score="18" ViewCount="796" Body="&lt;p&gt;Is automatic theorem proving and proof searching easier in linear and other propositional substructural logics which lack contraction? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Where can I read more about automatic theorem proving in these logics and the role of contraction in proof search?&lt;/p&gt;&#xA;" OwnerUserId="14197" LastEditorUserId="14197" LastEditDate="2014-01-27T19:16:09.043" LastActivityDate="2014-02-05T03:18:51.830" Title="Automated theorem proving in linear logic" Tags="&lt;reference-request&gt;&lt;lo.logic&gt;&lt;survey&gt;&lt;automated-theorem-proving&gt;&lt;linear-logic&gt;" AnswerCount="4" CommentCount="0" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="9033" PostTypeId="2" ParentId="9027" CreationDate="2011-11-19T07:19:34.547" Score="8" Body="&lt;p&gt;I believe you would enjoy &lt;a href=&quot;http://www.econ.upf.edu/~lugosi/esaimsurvey.pdf&quot;&gt;Theory of Classification: A Survey of Recent Advances&lt;/a&gt; by Boucheron, Bousquet, and Lugosi.  In particular, it starts by building up basic generalization theory via Rademacher complexities, introduces some useful tools (like the contraction principle, whose proof you can track down in Shai&amp;amp;Shai's notes referenced in the answer by Ashwinkumar, but (I believe?) originates in the probability book by Ledoux &amp;amp; Talagrand, which is not free), and applies these to standard classification methods (boosting and support vector machines are discussed, both due to their popularity, and since they are trained via ERM).  This text dates from 2005, so it also has some of the other somewhat recent topics you mentioned, for instance Local Rademacher Complexities, and there's even a tiny plug to chaining.  Lastly, while the manuscript is quite short, it has copious references which I believe you would find extremely useful.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some of the other topics you mention are old enough to be in &quot;A probabilistic Theory of Pattern Recognition&quot; by Devroye, Györfi, and Lugosi (in particular, it has for more on packing than any other text I know).  Although it lacks some of the newer topics you mention, this is a standard book that everyone I've met in learning theory has carried on their shelves.  Maybe try to locate a table of contents and index for the book, and thumb through it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some of the other topics you mention I have not seen treated thoroughly in a book, but they have appeared in a number of course notes.  For instance, if you go to &lt;a href=&quot;http://www-stat.wharton.upenn.edu/~skakade/&quot;&gt;Sham Kakade's page at UPenn&lt;/a&gt;, you will find links to two learning theory courses (one was at TTI-C, with Ambuj Tewari), and you will see the topic links match some of the things you have discussed, and have not appeared in my answers or elsewhere.  There are plenty of good courses at various schools; Avrim Blum has excellent, extremely readable notes for his learning theory course (his analysis of winnow is the shortest, cleanest, and most intuitive I've ever seen!).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some of these are maybe a little too new, though, and you'll have to go to the source material.  But if you are really just trying to pick up a grab bag of techniques, I think the survey up top and the lectures to a couple learning theory classes will serve you a long way.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, you sound like you're looking for advanced texts, but I'd also like to plug two introductory texts which people enjoy very much.  One is &quot;an introduction to computational learning theory&quot;, by Kearns and (U.) Vazirani, which while old (for instance, boosting is presented only via Robert Schapire's original construction, and the emphasis is on PAC rather than agnostic learning), is presented well and has good intuition.  Personally, I got my basics in &lt;a href=&quot;http://www.econ.upf.edu/~lugosi/mlss_slt.pdf&quot;&gt;Introduction to statistical learning theory&lt;/a&gt;, by the same authors as the above survey (but appearing in the order Bousquet, Boucheron, Lugosi?); it has nice exposition and was the first time that generalization theory really started to click for me.&lt;/p&gt;&#xA;" OwnerUserId="336" LastEditorUserId="336" LastEditDate="2011-11-19T08:16:10.837" LastActivityDate="2011-11-19T08:16:10.837" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9034" PostTypeId="2" ParentId="9032" CreationDate="2011-11-19T08:43:43.243" Score="9" Body="&lt;p&gt;Perhaps Dale Miller's &lt;a href=&quot;http://www.lix.polytechnique.fr/~dale/papers/llp.pdf&quot;&gt;Overview of linear logic programming&lt;/a&gt; is a good strarting point?&lt;/p&gt;&#xA;" OwnerUserId="705" LastActivityDate="2011-11-19T08:43:43.243" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9035" PostTypeId="2" ParentId="9026" CreationDate="2011-11-19T09:32:26.107" Score="11" Body="&lt;p&gt;Here is a proof that this is not a research question. It can be solved by a &lt;em&gt;machine&lt;/em&gt;:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;Welcome to Djinn version 2011-07-23.&#xA;Type :h to get help.&#xA;Djinn&amp;gt; f ? (a, Either b c) -&amp;gt; Either (a,b) (a,c)&#xA;f :: (a, Either b c) -&amp;gt; Either (a, b) (a, c)&#xA;f (a, b) =&#xA;    case b of&#xA;    Left c -&amp;gt; Left (a, c)&#xA;    Right d -&amp;gt; Right (a, d)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;" OwnerUserId="705" LastActivityDate="2011-11-19T09:32:26.107" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="9036" PostTypeId="1" AcceptedAnswerId="9043" CreationDate="2011-11-19T15:54:46.280" Score="6" ViewCount="612" Body="&lt;p&gt;I try to implement the algorithm described in &quot;A simple linear time algorithm for concave one-dimensional dynamic programming&quot; by Maria M. Klawe, 1989.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, right at the beginning there is possibly a typo:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;i ← 0; r ← 0;&#xA;While i &amp;lt; 2^⎡log(n + 1)⎤ and r &amp;lt; i do;&#xA;    If i = 2^⎡log i⎤ - 1 then do;&#xA;...&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;because of the &quot;r &amp;lt; i&quot; the while loop immediately terminates. Also, the &quot;if&quot; condition should be taken right in the first loop (from what I understood).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Please, does anyone know if there is a typo indeed and eventually what should the initialization look like?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I hope it's ok if I post here the whole algorithm. I honestly don't know what the practice on posting such things online is - if it's not ok, I apologize and I (or the moderator) will delete it.&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;i ← 0; r ← 0;&#xA;While i &amp;lt; 2^⎡log(n + 1)⎤ and r &amp;lt; i do;&#xA;    If i = 2^⎡log i⎤ - 1 then do;&#xA;        SMAWK M(0 : i, i + 1 : min(2(i + 1) - 1, n));&#xA;        * a square has been treated *&#xA;        i ← i + 1;&#xA;        end;&#xA;    else if M(r, 2^(⎣log(i + 1)⎦ + 1) - 1) &amp;lt; M(i, 2^(⎣log(i + 1)⎦ + 1) - 1)&#xA;        then i ← i + 1;&#xA;        * a slice has been treated *&#xA;        else r ← r + 1;&#xA;        * the region M(r, 2^(⎣log(i + 1)⎦ + 1) - 1 : n) has been treated *&#xA;end;&#xA;* The algorithm has now treated rows 0, ..., i - 1. *&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;It works like this: there is a triangular matrix, which the algorithm extracts larger and larger squares from (that's the first branch). The algorithm then breaks the remaining lines under the square into &quot;slices&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;PS: The initialization is just one problem. The another is that for some input the second branch &lt;code&gt;M(r, ...) &amp;lt; M(i, ...)&lt;/code&gt; starts to increase only &lt;code&gt;r&lt;/code&gt; which causes the while loop to exit prematurely because of &lt;code&gt;r &amp;lt; i&lt;/code&gt;&lt;/p&gt;&#xA;" OwnerUserId="7219" LastEditorUserId="7219" LastEditDate="2011-11-19T18:01:41.570" LastActivityDate="2011-11-21T16:09:41.553" Title="&quot;A simple linear time algorithm&quot; by Klawe" Tags="&lt;ds.algorithms&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="9037" PostTypeId="2" ParentId="9028" CreationDate="2011-11-19T16:32:04.560" Score="10" Body="&lt;p&gt;Verifying whether $b \in \langle h_1, \ldots, h_n\rangle$ (where $h_i$ are vectors according to the OP's comments) is equivalent to verifying whether there is a solution to this system:&#xA;$$&#xD;&#xA;\begin{pmatrix}&#xD;&#xA;h_{1}(1) &amp;amp; \cdots &amp;amp; h_{n}(1) &amp;amp; d_1^{e_1}      &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0 \\\\&#xD;&#xA;\vdots  &amp;amp; \ddots &amp;amp; \vdots  &amp;amp; \vdots &amp;amp; \vdots  &amp;amp; \vdots &amp;amp; \vdots  \\\\&#xD;&#xA;h_{1}(m) &amp;amp; \cdots &amp;amp; h_{n}(m) &amp;amp; 0      &amp;amp; 0 &amp;amp; \cdots &amp;amp; d_m^{e_N}&#xD;&#xA;\end{pmatrix}&#xD;&#xA;\begin{pmatrix}&#xD;&#xA;x(1) \\\\&#xD;&#xA;\vdots \\\\&#xD;&#xA;x(n) \\\\&#xD;&#xA;y(1) \\\\&#xD;&#xA;\vdots \\\\&#xD;&#xA;y(m)&#xD;&#xA;\end{pmatrix}&#xD;&#xA;\equiv&#xD;&#xA;\begin{pmatrix}&#xD;&#xA;b(1) \\\\&#xD;&#xA;\vdots \\\\&#xD;&#xA;b(m)&#xD;&#xA;\end{pmatrix}&#xD;&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In your case $e_1, \ldots, e_N$ are tiny numbers (ie. their value is logartihmic in the input size). Unfortunately, it doesn't seem like we can assume that $d_1, \ldots, d_n$ are tiny.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If they are, then you can find a solution to the system in $\text{NC}^3$ from a result of McKenzie &amp;amp; Cook &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=33386&quot; rel=&quot;nofollow&quot;&gt;[1]&lt;/a&gt;. This paper shows that solving linear congruences modulo an integer with tiny factors (LCON) is in $\text{NC}^3$. Moreover, this problem is $\text{NC}^1$-equivalent to the abelian permutation group membership problem (AGM). McKenzie's doctoral thesis is fully devoted to those problems &lt;a href=&quot;http://books.google.ca/books/about/Parallel_complexity_and_permutation_grou.html?id=P1BmtwAACAAJ&quot; rel=&quot;nofollow&quot;&gt;[1]&lt;/a&gt;. More recently, those problems were considered by Arvind &amp;amp; Vijayaraghavan &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=1746281&quot; rel=&quot;nofollow&quot;&gt;[3]&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://dl.acm.org/citation.cfm?id=33386&quot; rel=&quot;nofollow&quot;&gt;[1]&lt;/a&gt; Pierre McKenzie &amp;amp; Stephen A. Cook. The parallel complexity of Abelian permutation group problems. 1987.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://books.google.ca/books/about/Parallel_complexity_and_permutation_grou.html?id=P1BmtwAACAAJ&quot; rel=&quot;nofollow&quot;&gt;[2]&lt;/a&gt; Pierre McKenzie. Parallel complexity and permutation groups. 1984.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://dl.acm.org/citation.cfm?id=1746281&quot; rel=&quot;nofollow&quot;&gt;[3]&lt;/a&gt; V. Arvind &amp;amp; T. C. Vijayaraghavan. Classifying Problems on Linear Congruences and Abelian Permutation Groups Using Logspace Counting Classes. 2010.&lt;/p&gt;&#xA;" OwnerUserId="508" LastEditorUserId="7286" LastEditDate="2012-02-15T14:57:52.233" LastActivityDate="2012-02-15T14:57:52.233" CommentCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="9041" PostTypeId="1" CreationDate="2011-11-19T22:15:36.727" Score="18" ViewCount="352" Body="&lt;p&gt;It is well known that some major complexity classes, like P or NP, admit a full logical characterization (e.g NP = existential 2nd order logic by Fagin's theorem). On the other hand, one can also define complexity classes in communication complexity (where P = problems solvable with poly(logN) communication etc. - see &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=1382962&quot;&gt;Complexity classes in communication complexity theory&lt;/a&gt; for more).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is - are any descriptive complexity characterizations known for communication complexity classes (or do any such results from standard complexity classes transfer to communication setting easily)?&lt;/p&gt;&#xA;" OwnerUserId="2083" LastActivityDate="2011-11-19T22:15:36.727" Title="Descriptive complexity of communication complexity classes" Tags="&lt;cc.complexity-theory&gt;&lt;lo.logic&gt;&lt;communication-complexity&gt;" AnswerCount="0" CommentCount="1" FavoriteCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="9042" PostTypeId="2" ParentId="9032" CreationDate="2011-11-19T23:50:23.810" Score="17" Body="&lt;p&gt;Other resources could be found referenced in Kaustuv Chaudhuri's thesis &quot;&lt;a href=&quot;http://www.lix.polytechnique.fr/~kaustuv/papers/chaudhuri06thesis.pdf&quot;&gt;The Focused Inverse Method for Linear Logic&lt;/a&gt;&quot;, and you might be interested in Roy Dyckhoff's &quot;&lt;a href=&quot;http://www.jstor.org/pss/2275431&quot;&gt;Contraction-Free Sequent Calculi&lt;/a&gt;&quot;, which is about contraction but not about linear logic.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are opportunities for efficient proof search in linear logic, but I don't think current work indicates that it's easier than proof search in non-substructural logic. The problem is that if you want to prove $C \vdash(A \otimes B)$ in linear logic, you have an extra question that you don't have in normal proof search: is $C$ used to prove $A$ or is $C$ used to prove $B$? In practice, this &quot;resource nondeterminism&quot; is a big problem in performing proof search in linear logic.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Per the comments, Lincoln et al's 1990 &quot;&lt;a href=&quot;http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=89588&amp;amp;tag=1&quot;&gt;Decision problems for propositional linear logic&lt;/a&gt;&quot; is a good reference if you want to get technical about words like &quot;easier.&quot;&lt;/p&gt;&#xA;" OwnerUserId="1024" LastEditorUserId="1024" LastEditDate="2011-11-21T18:52:05.523" LastActivityDate="2011-11-21T18:52:05.523" CommentCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="9043" PostTypeId="2" ParentId="9036" CreationDate="2011-11-19T23:56:35.177" Score="17" Body="&lt;p&gt;There is also pseudocode for this algorithm given on p. 14 of Aggarwal and Tokuyama, &quot;&lt;a href=&quot;http://dx.doi.org/10.1016/S0166-218X%2898%2900021-3&quot; rel=&quot;nofollow&quot;&gt;Consecutive interval query and dynamic programming on intervals&lt;/a&gt;.&quot; &lt;em&gt;Discrete Applied Math&lt;/em&gt; &lt;strong&gt;85&lt;/strong&gt; (1998). It starts out:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;1: i=0;&#xA;2: r=min{n,2^(i+1)};&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;and has other differences from the pseudocode that you posted; at first sight, the Aggarwal and Tokuyama pseudocode seems quite a bit clearer. So it seems likely there was a typo in the original. Hopefully, this second paper gets the pseudocode correct. It certainly gives a good enough explanation of the algorithm for me to understand it and see why it works.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;UPDATE: (Twice, now): The first update gave the response to questions in the comments. In the second update I corrected the restriction for when you can evaluate a cell. Here's what is going on (with possible fencepost errors in my explanation). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you search A[j,j;n,n], you never have to search another square, you're done. That's what &quot;5.2.3: Exit&quot; means. You're not exiting the loop; you're exiting the program.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Why do you need to search A[j,j,n,n]? You have just found the minima of columns 2^i to r over rows 1 ... 2^i+1. Here 2^i + 1 &amp;lt;= j &amp;lt;= 2^(i+1). Because of the entries you've looked at in column r and the monotonicity of the matrix, you can conclude that you've already found the minimum in columns 1 through j-1, and the minimum in columns j..r is either the one you've already found or is in the matrix A[j,j;n,n]. Thus, you have to search A[j,j;n,n], and for the columns between j and r, you need to compare the minimum you find in A[j,j;n,n] with the minimum you've already found for that column (this comparison is step 5.2.2.1). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can't evaluate an entry A[s,t] until for every column 1..s, you know the minimum in that column. Thus, in order to evaluate an entry A[s,t] when you're searching A[j,j;n,n], you first need to find the minimum in column s. This is why you need to run 5.2.1 and 5.2.2 concurrently. This means you can stop the concurrent 5.2.2 process when you reach column r. (You can see this because 5.2.2.1 says &quot;j &amp;lt;= t &amp;lt;= r&quot;.) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;So I guess this means that as soon as you find the minimum in column t in 5.2.1, you have to pass it to 5.2.2, do the comparison of the two candidate minima in column t, and now that you know the minimum in column t, you can use it to evaluate entries in row t. Technically, you could do this comparison any time between the point at which you know the minimum of column t in A[j,j;n,n], and the first point at which you need to evaluate a cell in row t. Offhand, I don't see any reason not to do it as soon as you learn the minimum of column t in A[j,j;n,n]. &lt;/p&gt;&#xA;" OwnerUserId="1677" LastEditorUserId="1677" LastEditDate="2011-11-21T16:09:41.553" LastActivityDate="2011-11-21T16:09:41.553" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="9044" PostTypeId="2" ParentId="9031" CreationDate="2011-11-20T00:52:59.837" Score="30" Body="&lt;p&gt;The answer depends on $k$, $m$, and $n$. Exact counts are generally not known, but there is a &quot;threshold&quot; phenomenon that for most settings of $k$, $m$, $n$, either nearly all $k$-SAT instances are satisfiable, or nearly all instances are unsatisfiable. For example, when $k=3$, it has been empirically observed that when $m &amp;lt; 4.27 n$, all but a $o(1)$ fraction of 3-SAT instances are satisfiable, and when $m &amp;gt; 4.27n$, all but a $o(1)$ fraction are unsatisfiable. (There are also rigorous proofs of bounds known.) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;One starting point is &lt;a href=&quot;http://citeseer.ist.psu.edu/viewdoc/summary?doi=10.1.1.11.9230&quot;&gt;&quot;The Asymptotic Order of the k-SAT Threshold&quot;&lt;/a&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.uni-frankfurt.de/52107833&quot;&gt;Amin Coja-Oghlan&lt;/a&gt; has also done &lt;a href=&quot;https://scholar.google.ca/citations?user=1SdgKVAAAAAJ&quot;&gt;a lot of work&lt;/a&gt; on these satisfiability threshold problems.&lt;/p&gt;&#xA;" OwnerUserId="225" LastEditorUserId="-1" LastEditDate="2016-04-18T00:49:49.797" LastActivityDate="2016-04-18T00:49:49.797" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9045" PostTypeId="2" ParentId="9028" CreationDate="2011-11-20T03:16:21.277" Score="4" Body="&lt;p&gt;After some time, I managed to find a perhaps not-optimal but simple algorithm that proves that the complexity of the problem is polynomial. &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Algorithm&lt;/strong&gt;&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;(a) Compute a generating-set of the orthogonal subgroup $H^{\perp}$ of $H$. &lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;(b) Check whether or not the element $b$ is orthogonal to $H^{\perp}$. &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;There are efficient clasical algorithms for problems (a) and (b) (see analysis below). This gives an efficient membership-test since an element $b$ is orthogonal to $H^\perp$ if and only if $h\in H$.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Analysis&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The orthogonal subgroup  $H^{\perp}$ is defined via the character group of $G$ as:&#xA;$$H^{\perp}:= \{g\in G : \chi_g(h)=1\quad \forall h\in H \}$$&#xA;Main properties:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;$H^{\perp}$ is a subgroup of $G$.&lt;/li&gt;&#xA;&lt;li&gt;$H^{\perp^\perp}=H$&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Algorithm for &lt;strong&gt;(a)&lt;/strong&gt;:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I follow an algorithm from [&lt;a href=&quot;http://arxiv.org/abs/quant-ph/0411037&quot; rel=&quot;nofollow&quot;&gt;1&lt;/a&gt;] with minor variations. $g$ belongs to $H^{\perp}$ if and only if $\chi_{g}(h)=1$ for all $h\in H$, but, by linearity it is enough to show $\chi_{b}(h_i)=1$ for each generator of $H$. Expanding the character in terms of exponentials (here I implicitly use the cyclic factor decomposition) this condition is equivalent to&#xA;\begin{eqnarray}&#xA;\exp \left\lbrace 2\pi i \left( \frac{g(1)h_{i}(1)}{d_1}+\ldots + \frac{g(m) h_{i}(m)}{d_m} \right) \right\rbrace=1&#xA;\end{eqnarray}&#xA;To solve these equations, compute $M:= \text{lcm}(N_1,\ldots,N_d)$ using the Euclidean algorithm and the numbers $\alpha_i:=M/d_i$.   We can re-write the conditions above for every $i$ as a system of linear modular equations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xD;&#xA;\begin{pmatrix}&#xD;&#xA;\alpha_1 h_1(1) &amp;amp; \alpha_2 h_1(2) &amp;amp; \ldots &amp;amp; \alpha_m h_1(m)\\&#xD;&#xA;\alpha_1 h_2(1) &amp;amp; \alpha_2 h_2(2) &amp;amp; \ldots &amp;amp; \alpha_m h_2(m)\\&#xD;&#xA;\vdots &amp;amp; \vdots &amp;amp; \cdots &amp;amp; \vdots\\&#xD;&#xA;\alpha_1 h_n(1) &amp;amp; \alpha_2 h_n(2) &amp;amp; \ldots &amp;amp; \alpha_m h_n(m)&#xD;&#xA;\end{pmatrix}&#xD;&#xA;\begin{pmatrix}&#xD;&#xA;g(1)\\&#xD;&#xA;g(2)\\&#xD;&#xA;\vdots\\&#xD;&#xA;g(n)&#xD;&#xA;\end{pmatrix}&#xD;&#xA;=&#xD;&#xA;\begin{pmatrix}&#xD;&#xA;0 \\&#xD;&#xA;0 \\&#xD;&#xA;\vdots\\&#xD;&#xA;0&#xD;&#xA;\end{pmatrix}&#xD;&#xA;\begin{matrix}&#xD;&#xA;\mod M\\&#xD;&#xA;\mod M\\&#xD;&#xA;\vdots\\&#xD;&#xA;\mod M&#xD;&#xA;\end{matrix}&#xD;&#xA;$$&#xA;As it is proven in &lt;a href=&quot;http://arxiv.org/abs/quant-ph/0411037&quot; rel=&quot;nofollow&quot;&gt;1&lt;/a&gt;, if we sample $t+\lceil\log|G|\rceil$ random solutions of this system of equations we will obtain a generating set of $H^{\perp}$ with probability exponentially close to one $p\geq 1 -1/2^{t}$. Now to sample from this equations write them in matrix form $AX=0 \pmod M$. Here $A$ is a rectangular matrix over the integers modulo $M$ for which an algorithm given in &lt;a href=&quot;http://www.cs.uwaterloo.ca/research/tr/1996/03/CS-96-03.pdf&quot; rel=&quot;nofollow&quot;&gt;2&lt;/a&gt; allows to efficiently compute its Smith normal decomposition. The algorithm returns a diagonal matrix $D$ and two invertible matrices $U$, $V$ such that $D=UAV$. Using this formula the system of equations can be written as $DY=0 \pmod M$ with $X=VY$. Now it is possible to randomly compute solutions of $DY=0\pmod M$ using Euclid's algorithm, since this is a system of equations of the form $d_i y_i =0 \pmod M$. Finally, computing $X=VY$ one obtains a random element of the orthogonal group $H^{\perp}$ as desired.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Algorithm for &lt;strong&gt;(b)&lt;/strong&gt;:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since we already know how to compute a generating-set of $H^{\perp}$, it is easy to check if a given element $b$ belongs to $H$. First compute a generating-set $\langle g_1,\ldots, g_s \rangle$ of $H^{\perp}$. Then, by definition, $b$ belongs to $H$ if and only if $\chi_{b}(g_i)=1$ for all generators of $H^{\perp}$. Since there are a O(polylog($|G|$)) number of them and  this can be done efficiently using modular arithmetic we are done.&lt;/p&gt;&#xA;" OwnerUserId="7286" LastEditorUserId="7286" LastEditDate="2012-02-15T15:37:37.223" LastActivityDate="2012-02-15T15:37:37.223" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="9047" PostTypeId="1" CreationDate="2011-11-20T13:15:05.087" Score="5" ViewCount="759" Body="&lt;p&gt;My question may be similar to: &lt;a href=&quot;https://cstheory.stackexchange.com/questions/3772/why-naturals-instead-of-integers&quot;&gt;Why naturals instead of integers?&lt;/a&gt;, but it is more specific.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am trying to learn lambda calculus. All the books make a big deal about how it was necessary that predecessor(zero) == zero and it was very tricky to get it right.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Why was that necessary? Can someone point me to some literature, or, better yet, give me a 30 sec explanation?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The only thing I can figure out is that this resulted in the naturals being closed under subtraction, but at a cost of having subtraction being a non one-to-one mapping from the natural numbers to themselves.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Charlie&lt;/p&gt;&#xA;" OwnerUserId="7302" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2011-11-22T23:13:24.610" Title="Why does predecessor(zero) need to be zero in Church numerals?" Tags="&lt;lo.logic&gt;&lt;lambda-calculus&gt;" AnswerCount="3" CommentCount="2" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="9048" PostTypeId="1" CreationDate="2011-11-20T13:23:28.280" Score="13" ViewCount="460" Body="&lt;p&gt;In my continuing quest to try to learn lambda calculus, Hindley &amp;amp; Seldin's &quot;Lambda-Calculus and Combinators an Introduction&quot; mentions the following &lt;a href=&quot;http://www.google.com/url?sa=t&amp;amp;rct=j&amp;amp;q=&amp;amp;esrc=s&amp;amp;source=web&amp;amp;cd=1&amp;amp;ved=0CB4QFjAA&amp;amp;url=http%3A%2F%2Fprojecteuclid.org%2FDPubS%2FRepository%2F1.0%2FDisseminate%3Fhandle%3Deuclid.ndjfl%2F1093887539%26view%3Dbody%26content-type%3Dpdf_1&amp;amp;ei=v_3ITvbRA8jy0gGW1LQs&amp;amp;usg=AFQjCNFIVn8CNnq7e9GBZpcYZw2zJjXeOw&amp;amp;sig2=CXacHISl76Tizw7zQ5FzPQ&quot;&gt;paper (by Bruce Lercher)&lt;/a&gt; which proves that the only reducible expression that is the same (modulo alpha conversion) to itself is: $(\lambda x.xx)(\lambda x.xx)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;While I believe the result, I do not follow the argument at all.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is quite short (less than one paragraph).  Any explanations would be most welcome.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Charlie&lt;/p&gt;&#xA;" OwnerUserId="7302" LastEditorUserId="186" LastEditDate="2011-11-20T19:14:59.163" LastActivityDate="2011-11-20T19:14:59.163" Title="Lambda-Calculus terms that reduce to themselves" Tags="&lt;lo.logic&gt;&lt;lambda-calculus&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="9049" PostTypeId="2" ParentId="9047" CreationDate="2011-11-20T14:32:12.333" Score="6" Body="&lt;p&gt;In typed $\lambda$-calculus with sums the most natural type for the predecessor function would be (in Haskell parlance)&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;pred :: Nat -&amp;gt; Maybe Nat&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;so that it can return &lt;code&gt;Nothing&lt;/code&gt; when applied to &lt;code&gt;0&lt;/code&gt; and &lt;code&gt;Just n&lt;/code&gt; when applied to the successor of &lt;code&gt;n&lt;/code&gt;. In untyped $\lambda$-calculus we could just ignore the types, but would still have to invent some way of encoding members of the type &lt;code&gt;Maybe Nat&lt;/code&gt;, which would just complicate matters. It is easier to &quot;fudge it&quot; and define predecessor so that it maps numerals to numerals.&lt;/p&gt;&#xA;" OwnerUserId="705" LastEditorUserId="705" LastEditDate="2011-11-22T22:22:54.723" LastActivityDate="2011-11-22T22:22:54.723" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="9050" PostTypeId="2" ParentId="9047" CreationDate="2011-11-20T14:57:59.970" Score="10" Body="&lt;p&gt;The other reason (than the one already stated) for &lt;code&gt;pred 0 = 0&lt;/code&gt; are the (all too often unstated) &lt;em&gt;requirements&lt;/em&gt; that&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;code&gt;pred&lt;/code&gt; be a total function from &lt;code&gt;nat&lt;/code&gt; to &lt;code&gt;nat&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;pred succ n = n&lt;/code&gt; be true.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;pred&lt;/code&gt; be as close to injective as possible.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;pred&lt;/code&gt; be as close to a monotone decreasing function as possible.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;It is that last requirement which really 'seals the deal' in forcing &lt;code&gt;pred 0 = 0&lt;/code&gt;, since that is the choice which minimizes the distance to not being monotone decreasing.&lt;/p&gt;&#xA;" OwnerUserId="66" LastActivityDate="2011-11-20T14:57:59.970" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9051" PostTypeId="2" ParentId="3772" CreationDate="2011-11-20T15:05:52.993" Score="11" Body="&lt;p&gt;Yet another reason (related to the ones already given, but this answer does add new information) is that there is a very simple, quotient-free construction of the naturals, which comes along with a nice induction principle [as has already been said].  What has not been expanded upon is &lt;a href=&quot;https://mathoverflow.net/questions/29090/direct-construction-of-the-integers&quot;&gt;how difficult&lt;/a&gt; it is to come up with a quotient-free construction of the integers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The more programming I do where I want high assurance, the more I need the naturals, and I find having only the integers pre-defined for me a real pain.&lt;/p&gt;&#xA;" OwnerUserId="66" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2011-11-20T15:05:52.993" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="9052" PostTypeId="2" ParentId="9048" CreationDate="2011-11-20T17:10:51.107" Score="16" Body="&lt;p&gt;First, note that the result states that the only beta redex where the right-hand side is equal (modulo alpha-conversion) to the left-hand side is $(\lambda x. x x) (\lambda x. x x)$. There are other terms that reduce to themselves, having this redex in a context.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I can see how most of Lercher's proof work, though there are points where I can't get past without modifying the proof slightly. Suppose that $(\lambda x. A) B = [B/x] A$ (I use $=$ for alpha equivalence), and as per the variable convention suppose that $x$ does not occur free in $B$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Count the number of $\lambda$'s in the left-hand side and the right-hand side. The reduction removes one from the redex, plus those of $B$, and adds as many as there are in $B$ times the number of occurrences of $x$ in $A$. In other words, if $L(M)$ is the number of $\lambda$'s in $M$ and $\#_x(M)$ is the number of free occurrences of $x$ in $M$ then $1 + L(B) = \#_x(A) \times L(B)$. The only solution to that Diophantine equation is $\#_x(A) = 2$ (and $L(B)=1$ but we won't use that fact).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;I don't understand Lercher's argument for the paragraph above. He counts the number of $\lambda$'s and atomic terms; let's write this $\#(M)$. The equation is $\#(B) + 1 = \#_x(A) \times (\#(B) - 1)$, which has two solutions: $\#_x(A)=2, \#(B)=3$ and $\#_x(A)=3, \#(B)=2$. I don't see an obvious way to eliminate the second possibility.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let us now apply the same reasoning to the number of subterms equal to $B$ on both sides. The reduction removes one near the top, and adds as many as there are substituted occurrences of $x$ in $A$, i.e. 2. Hence one more occurrence of $B$ must disappear; since the ones in $A$ remain (because $B$ contains no free $x$), the extra occurrence of $B$ on the left-hand side must be $\lambda x. A$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;I don't understand how Lercher deduces that $A$ does not have $B$ as a subterm, but this is not in fact relevant for the proof.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;From the initial hypothesis, $[(\lambda x. A)/x] A$ is an application. This cannot be the case if $A = x$, therefore $A$ itself is an application $M N$, with $\lambda x.M N = [(\lambda x. M N)/x] M = [(\lambda x. M N)/x] N$. Since $M$ can't have itself as a subterm, $M$ cannot have the form $\lambda x.P$, so $M = x$. Similarly, $N = x$.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;I prefer a proof with no counting arguments. Suppose that $(\lambda x. A) B = [B/x] A$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $A = x$ then we have $(\lambda x. A) B = B$, which is not possible since $B$ cannot be a subterm of itself. Thus, since the right-hand side of the hypothesis is equal to an application, $A$ must be an application $A_1 A_2$, and $\lambda x. A = [B/x] A_1$ and $B = [B/x] A_2$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;From the former equality, either $A_1 = x$ or $A_1 = \lambda x. [B/x] A$. In the second case, $A_1 = \lambda x. (\lambda x. A_1 A_2) B$, which is not possible since $A_1 cannot be a subterm of itself.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;From the latter equality, either $A_2 = x$ or $A_2$ has no free $x$ (otherwise $B$ would be a subterm of itself). In the latter case, $A_2 = B$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We have shown that $A = x x$. The right-hand side of the initial hypothesis is thus $B B$, and $B = \lambda x. A$ = $\lambda x. x x$.&lt;/p&gt;&#xA;" OwnerUserId="634" LastActivityDate="2011-11-20T17:10:51.107" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9053" PostTypeId="2" ParentId="8851" CreationDate="2011-11-20T19:15:34.977" Score="7" Body="&lt;p&gt;Just a quick point: knowing how to program gives me an additional tool in theory research.  When I have an algorithm that I think will work, if it's easy enough, I might code it up and check if it actually does.  If my idea doesn't (even) work in practice, it's not very likely to work in theory, and this approach often saves me from sinking an enormous amount of time trying to prove something that's false.&lt;/p&gt;&#xA;" OwnerUserId="123" LastActivityDate="2011-11-20T19:15:34.977" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="9054" PostTypeId="1" CreationDate="2011-11-20T19:46:22.687" Score="0" ViewCount="176" Body="&lt;p&gt;By saturated I mean that the grammar accepts every possible string&#xA;that can be constructed from the terminal set. So the parse table would&#xA;be full of valid entries, no error entries at all. Can such a grammar&#xA;be known to also be included in a more restrictive class, such as&#xA;regular for example?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The following grammar is what motivates this question.&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;A1 --&amp;gt; A2 a&#xA;A1 --&amp;gt; A2 b&#xA;A2 --&amp;gt; A3 a&#xA;A2 --&amp;gt; A3 b&#xA;A3 --&amp;gt; A4 a&#xA;A3 --&amp;gt; A4 b&#xA;    . &#xA;    . &#xA;    . &#xA;Ak --&amp;gt; a&#xA;Ak --&amp;gt; b&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Clearly since the grammar is left-linear we know that it is LL(k) as&#xA;well. Can anything be deduced from the other direction. That is, by&#xA;knowing that the grammar is saturated LL(k), can we say that it is&#xA;also regular? Does the saturated property imply anything useful about&#xA;the grammar?&lt;/p&gt;&#xA;" OwnerUserId="6290" LastActivityDate="2011-11-20T19:46:22.687" Title="Classification of Saturated LL(1) Grammars" Tags="&lt;fl.formal-languages&gt;&lt;grammars&gt;" AnswerCount="0" CommentCount="7" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="9055" PostTypeId="2" ParentId="8486" CreationDate="2011-11-21T08:37:54.320" Score="7" Body="&lt;p&gt;Kind of a trivial answer, but there's estimating the acceptance probability of a quantum circuit, or of any of the equivalent problems, such as approximating the Jones polynomial, or the solution of a linear system of equations, or the trace of a power of a large sparse matrix.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, approximate counting speeds up a lot of sampling-based approximation algorithms.&lt;/p&gt;&#xA;" OwnerUserId="886" LastActivityDate="2011-11-21T08:37:54.320" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9058" PostTypeId="1" AcceptedAnswerId="9065" CreationDate="2011-11-21T19:49:38.543" Score="1" ViewCount="239" Body="&lt;p&gt;Suppose I have a collection of $m$ subsets of $\{1,\dots,n\}$, all of size $k$. I want to list these subsets so that two subsets adjacent to one another in the list are as close to one another as possible in that their intersection is as small in cardinality as possible. Can I do this in $o(m^2)$ time?&lt;/p&gt;&#xA;" OwnerUserId="3091" LastActivityDate="2011-11-23T07:27:05.387" Title="Optimally listing of subsets" Tags="&lt;cc.complexity-theory&gt;" AnswerCount="2" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="9059" PostTypeId="2" ParentId="1168" CreationDate="2011-11-21T20:49:15.660" Score="18" Body="&lt;p&gt;&lt;A HREF=&quot;http://www.cs.virginia.edu/~robins/YouAndYourResearch.html&quot;&gt;You and Your Research&lt;/A&gt; by Richard Hamming.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Not a peer reviewed paper, but the transcript of a seminar given in 1986. It's a great write up about lessons learned for becoming a great researcher.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Update: &lt;a href=&quot;http://www.youtube.com/watch?v=a1zDuOPkMSw&quot;&gt;here&lt;/a&gt; is the later version of this talk.&lt;/p&gt;&#xA;" OwnerUserId="7321" LastEditorUserId="16704" LastEditDate="2013-06-30T06:27:09.470" LastActivityDate="2013-06-30T06:27:09.470" CommentCount="0" CommunityOwnedDate="2011-11-21T20:49:15.660" ContentLicense="CC BY-SA 3.0" />
  <row Id="9060" PostTypeId="2" ParentId="1168" CreationDate="2011-11-21T21:07:28.170" Score="3" Body="&lt;p&gt;Although not published in a scientific journal, Vannevar Bush's &lt;a href=&quot;http://www.theatlantic.com/magazine/archive/1945/07/as-we-may-think/3881/&quot; rel=&quot;nofollow&quot;&gt;As We May Think&lt;/a&gt; has influenced much work in the computer science field, including hypertext, the personal computer, digital libraries, and the Internet. It even has it's &lt;a href=&quot;http://en.wikipedia.org/wiki/As_We_May_Think&quot; rel=&quot;nofollow&quot;&gt;own Wikipedia article&lt;/a&gt;, for god's sake.&lt;/p&gt;&#xA;" OwnerUserId="7322" LastActivityDate="2011-11-21T21:07:28.170" CommentCount="0" CommunityOwnedDate="2011-11-21T21:07:28.170" ContentLicense="CC BY-SA 3.0" />
  <row Id="9061" PostTypeId="2" ParentId="1168" CreationDate="2011-11-21T21:29:55.390" Score="10" Body="&lt;p&gt;&lt;a href=&quot;http://arxiv.org/abs/cs/0111050&quot;&gt;Smoothed analysis of algorithms: why the simplex algorithm usually takes polynomial time&lt;/a&gt; by Daniel Spielman and Shang-Hua Teng for introducing smoothed analysis and showing it's success in explaining the behavior of the simplex algorithm.&lt;/p&gt;&#xA;" OwnerUserId="24" LastActivityDate="2011-11-21T21:29:55.390" CommentCount="0" CommunityOwnedDate="2011-11-21T21:29:55.390" ContentLicense="CC BY-SA 3.0" />
  <row Id="9062" PostTypeId="2" ParentId="1168" CreationDate="2011-11-21T21:41:10.643" Score="5" Body="&lt;p&gt;&lt;a href=&quot;http://arxiv.org/abs/quant-ph/0301040&quot; rel=&quot;noreferrer&quot;&gt;A Simple Proof that Toffoli and Hadamard are Quantum Universal&lt;/a&gt;, D. Aharonov summarising a result found by Yaoyun Shi.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Because it is a simple, well written, 4 pages paper which makes you think and realise that  Quantum Computation can be done with just &lt;em&gt;two&lt;/em&gt; elementary blocks, from which &lt;em&gt;one&lt;/em&gt; is a universal classical gate.&lt;/p&gt;&#xA;" OwnerUserId="7286" LastActivityDate="2011-11-21T21:41:10.643" CommentCount="0" CommunityOwnedDate="2011-11-21T21:41:10.643" ContentLicense="CC BY-SA 3.0" />
  <row Id="9065" PostTypeId="2" ParentId="9058" CreationDate="2011-11-21T23:47:54.797" Score="9" Body="&lt;p&gt;Without knowing any further restrictions on the parameters, the problem is NP-hard.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $G = (V,E)$ be an undirected graph. For $v \in V$, define the set $S_v = \{ e \mid e \in E \mbox{ is incident to } v\}$. Then $| S_u \cap S_v | = 1$ if $u$ and $v$ are adjacent, and $|S_u \cap S_v| = 0$ otherwise. You can pad out each $S_v$ with distinct junk items until each set has the same size. Then an ordering of $\{ S_v \mid v \in V\}$ in which adjacent sets have &quot;as large an intersection as possible&quot; corresponds to a Hamiltonian path in $G$ (for sensible measures like maximizing $\sum_i |S_i \cap S_{i+1}|$ or maximizing $\min_i |S_i \cap S_{i+1}|$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you want adjacent sets to have &quot;as small an intersection as possible&quot;, simply complement each of these sets and the same reduction also works.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Your question suggests that you think this problem can be done in $O(m^2)$, and now I'm curious why.&lt;/p&gt;&#xA;" OwnerUserId="149" LastActivityDate="2011-11-21T23:47:54.797" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="9066" PostTypeId="1" CreationDate="2011-11-22T00:22:22.393" Score="12" ViewCount="357" Body="&lt;p&gt;As is well known, NP-hard optimization problems can have many different approximation ratios, ranging all the way from having a PTAS to not being approximable within any factor. In between, we have various constants, $O(\log n)$, $poly(n)$, etc.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is known about the set of possible ratios? Can we prove any sort of &quot;approximation hierarchy&quot;? Formally, for what functions $f(n)$ and $g(n)$ can we prove that there exists a problem with approximation ratio $f(n)\leq \alpha &amp;lt; g(n)$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the case that $\alpha=O(1)$, does there exist a problem with approximation ratio exactly $\alpha$?&lt;/p&gt;&#xA;" OwnerUserId="63" LastActivityDate="2011-11-28T19:24:50.780" Title="Hierarchy theorem for approximation ratios?" Tags="&lt;cc.complexity-theory&gt;&lt;approximation-hardness&gt;" AnswerCount="2" CommentCount="6" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="9068" PostTypeId="2" ParentId="1168" CreationDate="2011-11-22T02:31:32.703" Score="9" Body="&lt;p&gt;The paper &lt;a href=&quot;http://dx.doi.org/10.1145/3149.214121&quot;&gt;Impossibility of distributed consensus with one faulty process&lt;/a&gt; by Fisher, Lynch and Paterson shows that it is impossible to reach agreement in an asynchronous distributed system if 1 process might crash, no matter how many other (correct) processes are in the system! While this impossibility result can be circumvented using randomization, the methods of this paper, i.e. using &lt;strong&gt;indistinguishability&lt;/strong&gt; to show that processes must behave in a certain way, have turned out to be highly useful for showing subsequent lower bound/impossibility for problems unrelated to fault-tolerant consensus (e.g. graph problems).&#xA;As a plus, the paper is short but self-contained and a nice introductory read for someone new to distributed computing.&lt;/p&gt;&#xA;" OwnerUserId="6785" LastEditorUserId="6785" LastEditDate="2011-11-22T02:46:30.467" LastActivityDate="2011-11-22T02:46:30.467" CommentCount="0" CommunityOwnedDate="2011-11-22T02:31:32.703" ContentLicense="CC BY-SA 3.0" />
  <row Id="9070" PostTypeId="2" ParentId="9047" CreationDate="2011-11-22T05:54:30.493" Score="7" Body="&lt;p&gt;Here's the thirty second explanation for why subtraction &quot;should be&quot; saturating. First, suppose that we have $a, b, s \in \mathbb{N}$. &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;The subtraction $a - b$, when it exists, is the solution $s$ to the equation $s + b = a$. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Truncated subtraction is the supremum of the set of solutions to the equation $s + b \leq a$. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;That is, when $b &amp;gt; a$, no solutions $s + b = a$ exist, and the supremum of an empty set of natural numbers is 0. Otherwise the supremum will just be the subtraction. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;So saturating subtraction is left adjoint to addition (i.e., $a - b \leq s \iff a \leq s + b$), and is hence a natural definition.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Predecessor is just subtracting 1, so it should be saturating too. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;I learned about this from Martin Escardo, who also recommended Lawvere's &lt;a href=&quot;http://tac.mta.ca/tac/reprints/articles/1/tr1.pdf&quot;&gt;&lt;em&gt;Metric spaces, generalized logic and closed categories&lt;/em&gt;&lt;/a&gt; as a nice exposition of this and related ideas. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I should add that this adjunction is nice when doing interactive theorem proving. Proofs involving subtraction typically require case distinctions (i.e., you need to case on whether $b &amp;gt; a$ when proving someting about $a - b$), and furthermore subtraction does not have good associativity or commutativity properties. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In contrast, addition on the natural numbers behaves much better, and you can often use this adjunction to massage a proof obligation into a form which is easier to work with. &lt;/p&gt;&#xA;" OwnerUserId="657" LastEditorUserId="657" LastEditDate="2011-11-22T07:27:03.633" LastActivityDate="2011-11-22T07:27:03.633" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9071" PostTypeId="1" CreationDate="2011-11-22T08:16:27.417" Score="10" ViewCount="728" Body="&lt;p&gt;Given a planar unweighted graph, and a collection of vertex pairs $(s,t_1),\dots,(s,t_k)$ ($k\ge2$ is a constant), find $k$ vertex-disjoint (except source) paths from $s$ to $t_i$ such that the length of the longest path is minimized.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question:&lt;/strong&gt; Is there a polynomial-time algorithm for the problem? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some related results:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;if $k$ is not fixed the problem is &lt;a href=&quot;http://dx.doi.org/10.1016/S0166-218X%2801%2900294-3&quot; rel=&quot;nofollow&quot;&gt;NP-hard&lt;/a&gt; even if $t_1=\dots=t_k$;&lt;/li&gt;&#xA;&lt;li&gt;if the input graph is weighted and sources of paths do not coincide, i.e. paths are $(s_1,t_1),\dots,(s_k,t_k)$ the problem is &lt;a href=&quot;http://www.sommer.jp/disjointsp.pdf&quot; rel=&quot;nofollow&quot;&gt;NP-hard&lt;/a&gt; even for $k=2$;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;a problem with different objective, namely minimizing the sum of path lengths, is&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;solvable with the minimum cost flow algorithm for coinciding sources;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.icsi.berkeley.edu/cgi-bin/pubs/publication.pl?ID=1588&quot; rel=&quot;nofollow&quot;&gt;NP-hard&lt;/a&gt; for non-coinciding sources and general $k$;&lt;/li&gt;&#xA;&lt;li&gt;open for non-coinciding sources and constant $k$.&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="7329" LastEditorUserId="7329" LastEditDate="2011-11-25T05:42:04.047" LastActivityDate="2014-02-17T14:53:19.730" Title="Finding min-max vertex-disjoint paths with a common source on planar graphs" Tags="&lt;ds.algorithms&gt;&lt;graph-algorithms&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9073" PostTypeId="1" AcceptedAnswerId="9076" CreationDate="2011-11-22T11:35:16.330" Score="7" ViewCount="1578" Body="&lt;p&gt;I've been passively thinking for a long time, what could be the foundation for programming systems that can tolerate their own and other systems' bugs (not even speaking of environmental conditions such as hardware errors).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The thing is, I don't believe that it's possible to eradicate programming errors, and the fabric of current programming languages and systems is too brittle - a system can completely stop operating because of an off-by-one-error or a race condition (or a distributed race condition between several systems), which seems stupid if you think about it - we don't see the universe halt because of an explosion somewhere, or a society halt because of a typo in a law.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Therefore, it seems to me that type systems, formal verification are &lt;em&gt;not&lt;/em&gt; the way to go - they merely protect the brittle systems instead of making them robust. Neither are fault-tolerant distributed protocols, since they assume that at least the protocol is implemented perfectly correctly, and that participants aren't making the same error.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I wonder, what has the PL community invented so far in this area?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there hope for a solution, or is this problem equivalent to building &quot;strong AI&quot; (could be, since living systems recover from transient errors by having goals and employing intelligence)?&lt;/p&gt;&#xA;" OwnerUserId="326" LastActivityDate="2011-11-24T19:55:09.780" Title="Fault-tolerant programming languages / paradigms?" Tags="&lt;reference-request&gt;&lt;pl.programming-languages&gt;&lt;fault-tolerance&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9074" PostTypeId="1" AcceptedAnswerId="9075" CreationDate="2011-11-22T11:56:05.953" Score="-3" ViewCount="6210" Body="&lt;p&gt;If we have a preorder and postorder traversals of a full binary tree T(i.e every internal node have exactly 2 children). can we uniquely construct the corresponding full binary tree T.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If so.. could you give a rough sketch of proof otherwise could you give a counter example&lt;/p&gt;&#xA;" OwnerUserId="7331" LastEditorUserId="186" LastEditDate="2011-11-22T23:18:25.083" LastActivityDate="2012-09-23T09:26:40.903" Title="unique binary tree from preorder and postorder traversals of a full binary tree" Tags="&lt;co.combinatorics&gt;&lt;ds.data-structures&gt;&lt;tree&gt;" AnswerCount="1" CommentCount="5" ClosedDate="2012-09-26T07:23:01.307" ContentLicense="CC BY-SA 3.0" />
  <row Id="9075" PostTypeId="2" ParentId="9074" CreationDate="2011-11-22T14:26:24.427" Score="0" Body="&lt;p&gt;Well, here's the algorithm:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider the postorder traversal and replace each node with its index in the preorder traversal.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, let's say you get: 3 4 2 7 8 6 9 5 1.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;From here you can see:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;1 is the root because it's the last node in postorder&lt;/li&gt;&#xA;&lt;li&gt;It only remains to split &quot;3 4 2 7 8 6 9 5&quot; (without the 1) into two parts: left and right subtree, and then recursively process them.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Consider the second problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that this set is of the form: (all nodes of left subtree in some order) (all nodes of right subtree in some order) - i.e. the subtree ranges don't intersect. So we only have to find the boundary, which, given it's postorder traversal, should be the root of the left subtree (it's the last thing processed from the left subtree; all that follows is the right subtree).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But note that the root of the left subtree is the item with the smallest preorder index.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So this means that in &quot;3 4 2 7 8 6 9 5&quot;, the left subtree is rooted at 2, and the problem splits into &quot;3 4 2&quot; and &quot;7 8 6 9 5&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Recursively, we get a tree: 1 { left = 2 { left = 3, right = 4}, right = 5 {left = 6 {left = 7, right = 8}, right = 9}}.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;P.S. Note that in this form the algorithm is O(n log n), but it's easy to make it O(n) - just remember in a lookup table (obviously in O(n)) for each element &quot;x&quot; of the array, the position of x+1 - then, whenever you pick x as a root, the left subtree ends at the position of x+1.&lt;/p&gt;&#xA;" OwnerUserId="326" LastEditorUserId="326" LastEditDate="2011-11-22T14:36:50.520" LastActivityDate="2011-11-22T14:36:50.520" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="9076" PostTypeId="2" ParentId="9073" CreationDate="2011-11-22T16:40:44.747" Score="9" Body="&lt;p&gt;A good place to start looking for work coming from the PL community could be the following.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Joe Armstrong's work on Erlang, see e.g. his &lt;a href=&quot;http://www.erlang.org/download/armstrong_thesis_2003.pdf&quot;&gt;PhD thesis&lt;/a&gt;. This work continues to have a profound influence on programming language design, with Scala's integration of the Akka stack being a recent example. &lt;/li&gt;&#xA;&lt;li&gt;David Walker and his group's &lt;a href=&quot;http://www.cs.princeton.edu/~dpw/research_topics.htm#Zap&quot;&gt;work on fault tolerance&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;The numerous investigations into exceptions and exception handling, with a famous early publication being Randell's &lt;a href=&quot;http://www.cs.ncl.ac.uk/publications/inproceedings/papers/341.pdf&quot;&gt;System Structure for Software Fault Tolerance&lt;/a&gt;. The literature on this subject is too large to survey.&lt;/li&gt;&#xA;&lt;li&gt;Another strand of research is work on &lt;a href=&quot;http://roc.cs.berkeley.edu/&quot;&gt;recovery oriented programming&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="898" LastEditorUserId="898" LastEditDate="2011-11-22T16:47:14.363" LastActivityDate="2011-11-22T16:47:14.363" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="9077" PostTypeId="2" ParentId="9071" CreationDate="2011-11-22T20:31:10.000" Score="6" Body="&lt;p&gt;This is not exactly what you asked, but the problem is NP-complete if &lt;i&gt;k&lt;/i&gt; is not a constant but part of the input.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This follows from the proof of Theorem 1 in van der Holst and de Pina [HP02], which says: given a planar graph &lt;i&gt;G&lt;/i&gt;, distinct vertices &lt;i&gt;s&lt;/i&gt; and &lt;i&gt;t&lt;/i&gt; in &lt;i&gt;G&lt;/i&gt;, and positive integers &lt;i&gt;k&lt;/i&gt; and &lt;i&gt;b&lt;/i&gt;, it is NP-complete to decide whether there are &lt;i&gt;k&lt;/i&gt; pairwise internally vertex-disjoint paths between &lt;i&gt;s&lt;/i&gt; and &lt;i&gt;t&lt;/i&gt; each of length at most &lt;i&gt;b&lt;/i&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that the problem in the statement of Theorem 1 is different from yours in two respects.  One difference is, as I mentioned, that &lt;i&gt;k&lt;/i&gt; is given as part of the input.  The other is that the problem in [HP02] is about paths with common endpoints instead of paths with a common source and different sinks.  I do not know how to fix the first difference; the difference is so large that it is likely that we will need a completely different proof to fix &lt;i&gt;k&lt;/i&gt;.  But I know at least how to fix the second difference.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The proof of Theorem 1 in [HP02] gives a reduction from 3SAT.  This reduction has the following property: in the instance (&lt;i&gt;G&lt;/i&gt;, &lt;i&gt;s&lt;/i&gt;, &lt;i&gt;t&lt;/i&gt;, &lt;i&gt;k&lt;/i&gt;, &lt;i&gt;b&lt;/i&gt;) constructed by the reduction, the degree of vertex &lt;i&gt;t&lt;/i&gt; is always equal to &lt;i&gt;k&lt;/i&gt;.  Let &lt;i&gt;t&lt;/i&gt;&lt;sub&gt;1&lt;/sub&gt;, …, &lt;i&gt;t&lt;/i&gt;&lt;sub&gt;&lt;i&gt;k&lt;/i&gt;&lt;/sub&gt; be the &lt;i&gt;k&lt;/i&gt; neighbors of &lt;i&gt;t&lt;/i&gt;.  Then instead of asking whether there are &lt;i&gt;k&lt;/i&gt; pairwise internally vertex-disjoint paths between &lt;i&gt;s&lt;/i&gt; and &lt;i&gt;t&lt;/i&gt; each of length at most &lt;i&gt;b&lt;/i&gt;, we can equally ask whether there are pairwise vertex-disjoint-except-source paths &lt;i&gt;P&lt;/i&gt;&lt;sub&gt;1&lt;/sub&gt;, …, &lt;i&gt;P&lt;/i&gt;&lt;sub&gt;&lt;i&gt;k&lt;/i&gt;&lt;/sub&gt; such that each &lt;i&gt;P&lt;/i&gt;&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt; is a path between &lt;i&gt;s&lt;/i&gt; and &lt;i&gt;t&lt;/i&gt;&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt; of length at most &lt;i&gt;b&lt;/i&gt;−1.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[HP02] H. van der Holst and J. C. de Pina.  Length-bounded disjoint paths in planar graphs.  &lt;em&gt;Discrete Applied Mathematics&lt;/em&gt;, 120(1–3):251–261, Aug. 2002.  &lt;a href=&quot;http://dx.doi.org/10.1016/S0166-218X%2801%2900294-3&quot;&gt;http://dx.doi.org/10.1016/S0166-218X%2801%2900294-3&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="567" LastActivityDate="2011-11-22T20:31:10.000" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="9078" PostTypeId="1" AcceptedAnswerId="9097" CreationDate="2011-11-22T20:53:52.160" Score="7" ViewCount="645" Body="&lt;p&gt;The Unweighted Cluster-Vertex-Deletion problem is the following:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Input:&lt;/strong&gt; An undirected graph G = (V, E) and a nonnegative number k&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Output:&lt;/strong&gt; Is there a subset X ⊆ V with |X| ≤ k such that deleting all vertices in X from G results in a cluster graph (i. e., a graph where every connected component forms a complete graph)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This problem is NP-Complete.&#xA;More information can be found here:&#xA;&lt;a href=&quot;http://www.google.com.ar/url?sa=t&amp;amp;rct=j&amp;amp;q=fixed%20parameter%20cluster%20vertex%20deletion&amp;amp;source=web&amp;amp;cd=1&amp;amp;ved=0CCQQFjAA&amp;amp;url=http%3A%2F%2Ftheinf1.informatik.uni-jena.de%2F~moser%2Fcluster-vertex-deletion-tocs08.pdf&amp;amp;ei=3QnMTsztL47fgQeTkYSsDQ&amp;amp;usg=AFQjCNEUO2ghJgyCdzRyR-IG-LtDYd4HEg&amp;amp;sig2=jNM4G68kku33OP3boCv3rA&quot; rel=&quot;nofollow&quot;&gt;Fixed-Parameter Algorithms for Cluster Vertex Deletion&lt;/a&gt; where FPT algorithms are given for a more general problem. &#xA;In particular, for a weighted version of d-Cluster-Vertex-Deletion where $d$ is a parameter that limitates the number of cliques to be generated, they developed three algorithms with running times: $O(2^k \cdot k^9 + nm), O(1.40^k \cdot k^{3d} + nm)$ and $O(1.84^{k+d} + nm)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I was wondering if it there is some known result for the case where $G \setminus X$ is a disjoint union of exactly 2 cliques, or the case where $G \setminus X$ is a disjoint union of &lt;em&gt;p-defective&lt;/em&gt; cliques (cliques that misses at most p edges) in both cases (exactly two &lt;em&gt;p-defective&lt;/em&gt; cliques or any number of &lt;em&gt;p-defective&lt;/em&gt; cliques). I am specially interested in algorithmic results such as FPT or approximation algorithms developed for any of these variants. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I couldn't found anything but I suspect there is some results on this or maybe can be mapped from some other very well studied problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks in advance&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit:&lt;/strong&gt;&#xA;Adding to the useful answers, here is a paper that I've recently found and show NP-Hardness of the variant separating in exactly two cliques (but for a weighted case). &#xA;&lt;a href=&quot;http://www.google.com.ar/url?sa=t&amp;amp;rct=j&amp;amp;q=approximating%20clique%20and%20biclique%20problems&amp;amp;source=web&amp;amp;cd=1&amp;amp;sqi=2&amp;amp;ved=0CCQQFjAA&amp;amp;url=http%3A%2F%2Friot.ieor.berkeley.edu%2F~dorit%2Fpub%2Fbiclique.ps&amp;amp;ei=rsjPTtW9Nefz0gH78fmVCg&amp;amp;usg=AFQjCNEzvt0bJ-RNKDLPNLQF4blDqtDcCA&amp;amp;sig2=Oy4aWaHJAwPTXJsl2sP4sg&quot; rel=&quot;nofollow&quot;&gt;Approximating clique and biclique problems&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="2582" LastEditorUserId="2582" LastEditDate="2011-11-25T17:05:06.280" LastActivityDate="2011-11-25T17:05:06.280" Title="Variants of Cluster-Vertex-Deletion problem" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;fixed-parameter-tractable&gt;" AnswerCount="2" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9079" PostTypeId="2" ParentId="6448" CreationDate="2011-11-23T05:03:12.973" Score="6" Body="&lt;p&gt;(this is not specific to TCS conferences, but would work for better conferences in general)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A nice idea I saw in a mathematical conference for young researchers is asking every participant to write a short &quot;research statement&quot; - in case of junior participants who don't yet have much results, a description of interests would be OK. Then, some time before the conference, the statements are published on the webpage. A working example of this: &lt;a href=&quot;http://bcc.impan.pl/12Young/uploads/statements.pdf&quot;&gt;http://bcc.impan.pl/12Young/uploads/statements.pdf&lt;/a&gt; (conference in geometric group theory)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think this would be especially helpful for junior participants suffering from the &quot;I don't know anyone here&quot; problem, but also the other way, since even students aren't anonymous mass anymore. Of course, this is rather feasible for smaller conferences/workshops, not 400-people events, but still I think it's worth implementing.&lt;/p&gt;&#xA;" OwnerUserId="2083" LastActivityDate="2011-11-23T05:03:12.973" CommentCount="0" CommunityOwnedDate="2011-11-23T05:03:12.973" ContentLicense="CC BY-SA 3.0" />
  <row Id="9080" PostTypeId="2" ParentId="9058" CreationDate="2011-11-23T07:27:05.387" Score="2" Body="&lt;p&gt;Although mikero proved that your problem is hard, there is a fast general algorithm that gives reasonably good solutions to this kind of problem (where you want an ordering of a set of &quot;objects&quot; such that if two are consecutive then they are &quot;similar&quot;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The result is as follows: given any connected graph, in linear time we can find a cyclic ordering of its vertices such that if two are consecutive then they are at distance $\leq 3$ in the graph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's an simple but non-trivial algorithm: first take a spanning tree, then apply a function called prepostorder to it, and we're done.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Prepostorder (in Haskell) is:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;data Tree = Root Nat [Tree]&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;prepost (Root r xs):ys = [r] ++ postpre xs ++ prepost ys&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;prepost [] = []&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;postpre (Root r xs):ys = prepost xs ++ [r] ++ postpre ys&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;postpre [] = []&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;This is taken from TAOCP section 7.2.1.6, and in particular implies that the cube of any connected graph is hamiltonian.&lt;/p&gt;&#xA;" OwnerUserId="168" LastActivityDate="2011-11-23T07:27:05.387" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9081" PostTypeId="2" ParentId="9078" CreationDate="2011-11-23T10:37:51.743" Score="6" Body="&lt;p&gt;It seems to me that the case where G\X is a disjoint union of exactly two cliques has an FPT algorithm with runtime $O^*(3^k)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here's what the algorithm would do. &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;If $k \leq 0$ then output YES if and only if G is a disjoint union of two cliques.&lt;/li&gt;&#xA;&lt;li&gt;If the input graph contains an induced path on three vertices ($P_3$), then at least one of these three vertices need to be deleted to turn the graph into a cluster graph. Thus we branch in three ways depending on a choice of vertex, decreasing the parameter by 1 in each branch. Output the OR of the recursive calls.&lt;/li&gt;&#xA;&lt;li&gt;If the graph is induced $P_3$-free, it is a cluster graph. If there is only 1 clique in this cluster graph: output NO. If there are two cliques in this cluster graph: output YES. If there are more than 2 cliques: sum the number of vertices in all but the two largest cliques. If this number is more than k, then output NO (all those vertices need to be deleted to reduce the number of cliques to 2, but we can't afford this). If the sum is at most k, output YES.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;The approach generalizes to obtaining a cluster graph with exactly $\ell$ cliques for any value of $\ell$.&lt;/p&gt;&#xA;" OwnerUserId="122" LastEditorUserId="122" LastEditDate="2011-11-23T15:55:17.473" LastActivityDate="2011-11-23T15:55:17.473" CommentCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="9082" PostTypeId="2" ParentId="138" CreationDate="2011-11-23T12:23:30.173" Score="4" Body="&lt;p&gt;The definitions of efficient reducibility are motivated in part by an analogy with recursion theory. In recursion theory, the m-reductions are closely connected to the arithmetical hierarchy. (m-reductions preserve arithmetical degree). Arithmetical classifications are important beyond mere computability. For example, one can say that true $\Sigma_1$ statements are provable in Robinson's $Q$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In complexity theory, there is also a notion of &quot;polynomial hierarchy&quot;, though unlike the arithmetical hierarchy it is only conjectured to exist. This leads to classifications that are more subtle than &quot;Is this problem as hard to solve as NP?&quot;&lt;/p&gt;&#xA;" OwnerUserId="5538" LastActivityDate="2011-11-23T12:23:30.173" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9084" PostTypeId="1" AcceptedAnswerId="9086" CreationDate="2011-11-23T15:24:56.630" Score="11" ViewCount="1516" Body="&lt;p&gt;I am interested in a SAT variation where the CNF formula is monotone (no variables are negated). Such a formula is obviously satisfiable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But say the number of true variables is a measure of how good our solution is.  So we have the following problem:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;MINIMUM TRUE MONOTONE 3SAT&lt;/p&gt;&#xA;&#xA;&lt;p&gt;INSTANCE: Set U of variables, collection C of disjunctive clauses of 3 literals, where a literal is a variable (not negated).&lt;br&gt;&#xA;SOLUTION: A truth assignment for U that satisfies C.&lt;br&gt;&#xA;MEASURE:  The number of variable that are true.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Could someone give me some helpful remarks on this problem?&lt;/p&gt;&#xA;" OwnerUserId="7171" LastEditorUserId="3377" LastEditDate="2013-10-28T11:51:55.843" LastActivityDate="2013-10-28T11:51:55.843" Title="Minimum True Monotone 3SAT" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;&lt;sat&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="9085" PostTypeId="2" ParentId="9084" CreationDate="2011-11-23T15:37:09.657" Score="7" Body="&lt;p&gt;I would start by having a look at papers citing &lt;a href=&quot;http://mrfellows.net/papers/DF95_FPTandCompletenessI.pdf&quot;&gt;Downey and Fellows' paper&lt;/a&gt;, in which they consider the following problem and prove its $W[1]$-completeness.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;WEIGHTED $q$-CNF SAT&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Instance:&lt;/strong&gt; A CNF formula $X$ (i.e., a formula in Conjunctive&#xA;Normal Form) in which every clause contains $q$ variables.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Parameter:&lt;/strong&gt; A positive integer $k$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question:&lt;/strong&gt; Does X have a satisfying assignment of weight $k$, where the weight of an assignment is the number of variables it sets to &quot;true&quot;?&lt;/p&gt;&#xA;" OwnerUserId="775" LastActivityDate="2011-11-23T15:37:09.657" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9086" PostTypeId="2" ParentId="9084" CreationDate="2011-11-23T16:17:42.987" Score="21" Body="&lt;p&gt;This problem is the same as the Vertex Cover problem for $3$-uniform hypergraphs: &#xA;given a collection $H$ of subsets of $V$ of size $3$ each, find a minimal subset $U\subseteq V$ that intersects each set in $H$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is therefore NP-hard, but fixed parameter tractable. &#xA;It is also NP-hard to approximate to within a factor of $2-\epsilon$ for every $\epsilon&amp;gt;0$. This was shown in the following paper:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Irit Dinur, Venkatesan Guruswami, Subhash Khot and Oded Regev.&#xA;&lt;a href=&quot;http://www.wisdom.weizmann.ac.il/~dinuri/mypapers/hvc-DGKR.pdf&quot;&gt;A New Multilayered PCP and the Hardness of Hypergraph Vertex Cover&lt;/a&gt;,&#xA;SIAM Journal on Computing, 34(5):1129–1146, 2005.&lt;/p&gt;&#xA;" OwnerUserId="6579" LastActivityDate="2011-11-23T16:17:42.987" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="9088" PostTypeId="1" AcceptedAnswerId="9089" CreationDate="2011-11-23T17:23:29.750" Score="20" ViewCount="868" Body="&lt;p&gt;Are there any algorithms for SAT solving which are not DPLL based? &#xA;Or are all algorithms used by SAT solvers are DPLL based?&lt;/p&gt;&#xA;" OwnerUserId="14197" LastEditorUserId="14197" LastEditDate="2013-10-22T23:17:44.210" LastActivityDate="2013-10-23T12:09:25.520" Title="SAT algorithms not based on DPLL" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;sat&gt;" AnswerCount="6" CommentCount="1" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="9089" PostTypeId="2" ParentId="9088" CreationDate="2011-11-23T18:19:46.987" Score="22" Body="&lt;p&gt;Resolution Search (just applying the resolution rule with some good heuristics) is another possible strategy for SAT solvers. Theoretically it's exponentially more powerful (i.e. there exist problems for which it has exponential shorter proofs) than DPLL (which just does tree resolution though you can augment it with nogood learning to increase its power - whether that makes it as powerful as general resolution is still open as far as I know) but I don't know of an actual implementation that performs better.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you don't limit yourself to complete search, then WalkSat is a local search solver which can be used to find satisfiable solutions and outperforms DPLL-based search in many cases. One can't use it to prove unsatisfiability though unless one caches all the assignments that have failed which would mean exponential memory requirements.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit: Forgot to add - &lt;a href=&quot;http://en.wikipedia.org/wiki/Cutting-plane_method&quot;&gt;Cutting planes&lt;/a&gt; can also be used (by reducing SAT to an integer program). In particular Gomory cuts suffice to solve any integer program to optimality. Again in the worst case, an exponential number may be needed. I think Arora &amp;amp; Barak's Computational Complexity book has a few more examples of proof systems that one could in theory use for something like SAT solving. Again, I haven't really seen a fast implementation of anything apart from DPLL-based or local search based methods.&lt;/p&gt;&#xA;" OwnerUserId="24" LastEditorUserId="24" LastEditDate="2011-11-23T20:46:39.053" LastActivityDate="2011-11-23T20:46:39.053" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="9090" PostTypeId="2" ParentId="9088" CreationDate="2011-11-23T18:29:22.343" Score="10" Body="&lt;p&gt;There are SAT solvers based on the local search. See, for example, &lt;a href=&quot;http://www.satisfiability.org/SAT04/programme/106.pdf&quot;&gt;this paper&lt;/a&gt; for exposition.&lt;/p&gt;&#xA;" OwnerUserId="141" LastActivityDate="2011-11-23T18:29:22.343" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9091" PostTypeId="1" AcceptedAnswerId="9095" CreationDate="2011-11-23T19:22:44.320" Score="25" ViewCount="870" Body="&lt;p&gt;I will be attending my first computer science conference and after reading the advice for &lt;a href=&quot;https://cstheory.stackexchange.com/questions/6448/small-steps-for-better-tcs-conferences&quot;&gt;how to improve conferences&lt;/a&gt; I noticed the several suggestions were about grad students attending their first conference.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What advice do you have for a grad student attending his first conference and what should his focus be.&lt;/p&gt;&#xA;" OwnerUserId="6679" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2011-11-25T16:12:21.560" Title="Advice for attending my first TCS conference" Tags="&lt;soft-question&gt;&lt;big-list&gt;&lt;conferences&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="9093" PostTypeId="2" ParentId="9088" CreationDate="2011-11-23T21:57:30.050" Score="7" Body="&lt;p&gt;You can also say, that all CSP solvers are also SAT solvers. And there are as far as I know two methods used in CSP:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Exhaustive DFS with prunning of the search space and checking arc consistency, possibly using shaving to ensure that consistency is maintained as soon as possible.&lt;/li&gt;&#xA;&lt;li&gt;Local methods (taboo search, simulated annealing)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="7265" LastActivityDate="2011-11-23T21:57:30.050" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9095" PostTypeId="2" ParentId="9091" CreationDate="2011-11-24T07:43:06.987" Score="29" Body="&lt;ol&gt;&#xA;&lt;li&gt;Talk to people, even if they are scary big names. &lt;/li&gt;&#xA;&lt;li&gt;Attend all the keynote/invited presentations.&lt;/li&gt;&#xA;&lt;li&gt;Attend the talks most relevant to you.&lt;/li&gt;&#xA;&lt;li&gt;Don't be afraid to ask questions.&lt;/li&gt;&#xA;&lt;li&gt;Attend the social events, meet other graduate students, have fun.&lt;/li&gt;&#xA;&lt;li&gt;Talk enthusiastically about your research. &lt;br /&gt;&#xA;&lt;em&gt;Make sure you have a 1 minute pitch describing your work, plus a 5 minute description, and also be prepared to enter into a more detailed discussion.&lt;/em&gt;&lt;/li&gt;&#xA;&lt;li&gt;Ask people about their research.  &lt;br /&gt; Simply asking &lt;em&gt;what are you working on?&lt;/em&gt; will get the conversation started.&lt;/li&gt;&#xA;&lt;li&gt;Be open to possible collaborations, and follow up after the conference.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="77" LastEditorUserId="77" LastEditDate="2011-11-25T16:12:21.560" LastActivityDate="2011-11-25T16:12:21.560" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="9096" PostTypeId="2" ParentId="9091" CreationDate="2011-11-24T07:48:01.837" Score="10" Body="&lt;p&gt;I don't know what it is worth, but the advice I was given was to &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Read the summary of the proceedings as soon as it is given to you (bring your laptop, sometimes it is on a USB stick)&lt;/li&gt;&#xA;&lt;li&gt;See which talk may interest you, read the abstract+paper if you are interested&lt;/li&gt;&#xA;&lt;li&gt;Then listen to the talks that you are interested in, &lt;strong&gt;after&lt;/strong&gt; having read the paper (keep the paper open during the talk in case you need to catch up)&lt;/li&gt;&#xA;&lt;li&gt;As much as possible, go talk to people, meet new people, especially people working on similar stuff, ask question.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;During the talk you are not so much interested in, you don't necessarily need all the pre-talk stuff, but always have the paper about the talk open, otherwise you will be lost at some point.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Anyway, I think the definite focus would be &lt;code&gt;\begin{cliché} To get as much as you can from this experience \end{cliché}&lt;/code&gt;&#xA;but not only by listening to talks, also by talking with people, asking questions (to anyone, do not be afraid, usually people are really open to discussion even if they are well-known (might be busier however)).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Final advice, be careful, there are many talks so it is easy to lose focus. Some will be much more important for you; it is better not to follow a talk you are not interested in and fully follow one you are interested in than follow half of them (IMHO).&lt;/p&gt;&#xA;" OwnerUserId="4873" LastEditorUserId="4873" LastEditDate="2011-11-25T12:44:28.813" LastActivityDate="2011-11-25T12:44:28.813" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9097" PostTypeId="2" ParentId="9078" CreationDate="2011-11-24T08:56:10.563" Score="4" Body="&lt;p&gt;The following paper gives an FPT algorithm for another variant of the problem, where we have to delete $k$ vertices to make the graph the disjoint union of s-plexes. An s-plex is a graph where every vertex is adjacent to all but s-1 of the other vertices; 1-plexes are precisely the cliques.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Approximation and Tidying–-A Problem Kernel for $s$-Plex Cluster Vertex Deletion&lt;br&gt;&#xA;René van Bevern and Hannes Moser and Rolf Niedermeier&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.akt.tu-berlin.de/fileadmin/fg34/publications-akt/approximation-and-tidying.pdf&quot; rel=&quot;nofollow&quot;&gt;http://www.akt.tu-berlin.de/fileadmin/fg34/publications-akt/approximation-and-tidying.pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="3189" LastActivityDate="2011-11-24T08:56:10.563" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9098" PostTypeId="1" AcceptedAnswerId="9128" CreationDate="2011-11-24T09:07:38.413" Score="12" ViewCount="759" Body="&lt;p&gt;I am looking for a language L with the following properties:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;L should not be context-free.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;L's complement should not be context-free. (Everything you see in textbooks as prime examples of non-context-free languages seem to fail this second requirement.)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;L shouldn't be too hard, For example, I know that undecidable languages fit the first two requirements, but what I want is a simpler language which can be recognized by a slightly &quot;improved&quot; automaton model, e.g. a probabilistic pushdown automaton.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="1454" LastEditorUserId="186" LastEditDate="2011-11-24T16:22:06.650" LastActivityDate="2011-12-05T09:29:39.593" Title="A &quot;simple&quot; language outside $CFL \cup coCFL$?" Tags="&lt;fl.formal-languages&gt;&lt;automata-theory&gt;" AnswerCount="3" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9099" PostTypeId="2" ParentId="9098" CreationDate="2011-11-24T09:33:29.320" Score="4" Body="&lt;p&gt;$QSAT$ or even $SAT$ are examples, unless $P = PSPACE$ or $P = NP$ respectively. $SAT$ is an example, as it is $NP$-complete and $CFL \subseteq P$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$QSAT$ (true quantified boolean formulas) is $PSPACE$-complete, and is a CSL, recognizable by a LBA.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For unconditional examples you can take an arbitrary $EXP$-complete problem, such as generalized Chess or Go.&lt;/p&gt;&#xA;" OwnerUserId="936" LastActivityDate="2011-11-24T09:33:29.320" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9100" PostTypeId="2" ParentId="9098" CreationDate="2011-11-24T09:37:13.257" Score="22" Body="&lt;p&gt;How about $L:=\{a^{n^2}\mid n\in\mathbb{N}\}$? It is easy to see that $L$ and its complement are not regular, and hence (as we are dealing with a unary alphabet) not context-free.&lt;/p&gt;&#xA;" OwnerUserId="924" LastActivityDate="2011-11-24T09:37:13.257" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9102" PostTypeId="1" CreationDate="2011-11-24T13:15:40.903" Score="18" ViewCount="380" Body="&lt;p&gt;It is well known quantum computers are strictly more powerful than their classical counterparts in terms of &lt;a href=&quot;http://cstheory.blogoverflow.com/2011/07/quantum-query-complexity/&quot; rel=&quot;nofollow noreferrer&quot;&gt;query complexity&lt;/a&gt;. &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Are there other models (natural or artificial) that are strictly between the quantum and classical in terms of query complexity? &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The seperation can be on&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;specific problems: model X computes function $f$ with strictly more queries than quantum, but fewer queries than the lower bound on classic, or&lt;/li&gt;&#xA;&lt;li&gt;different problems: model X computes function $f_1$ with strictly more queries than quantum, but computes function $f_2$ with fewer queries than classical. &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;In both cases, we want for every function $f$ to have $Q_2(f) \leq X(f) \leq R_2(f)$ to avoid examples that are hard to compare to quantum (like the &lt;a href=&quot;https://cstheory.stackexchange.com/q/5380/1037&quot;&gt;certificate complexity&lt;/a&gt; of non-deterministic queries). Here $Q_2(f)$ (and $R_2(f)$) is the two-sided $1/3$-error quantum (and classical randomized) query complexity and the inequalities are within constant factors.&lt;/p&gt;&#xA;" OwnerUserId="1037" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2011-11-25T00:48:56.237" Title="Models of computation strictly between classical and quantum in terms of query complexity" Tags="&lt;cc.complexity-theory&gt;&lt;quantum-computing&gt;&lt;query-complexity&gt;" AnswerCount="3" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="9104" PostTypeId="1" AcceptedAnswerId="9120" CreationDate="2011-11-24T16:35:56.010" Score="3" ViewCount="340" Body="&lt;p&gt;I'm having a really hard time finding a solution to a practical programming problem, and I think raw CS might have an answer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The requirement is for a familiar message queue for which there are multiple message Generators and multiple message Consumers.  Generators enqueue messages into a queue within the scope of an transaction.  Consumers dequeue messages within the scope of a transaction, and process the message successfully, removing it from the queue, or fail and roll back the transaction in which case the message remains on the queue.  The message may be left on the queue by the Consumer in an altered state - decrementing a retry-count, for example.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Adding to this the concept of a &lt;em&gt;Sequence&lt;/em&gt; or Conversation - a partial ordering within the set of all messages in the queue.  Messages which are part of a Sequence are to be consumed in-order.  Sequences are unordered amongst Sequences.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Generators do not block other Generators unless the messages being enqueued are for the same Sequence.  Generators never block Consumers.  Consumers never block Generators.  And Consumers never block other Consumers.  That is, Enqueue() may block, Dequeue() never blocks.  Generators Enqueue a message exactly once.  Consumers successfully process each message exactly once.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It'd be nice if the implementation doesn't leave too much trash data around, but as long as old data can eventually be trimmed, that's fine.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It seems like this scenario should be possible, yet I cannot find or design correct rules on a common platform.  SQL Service Broker might match all of these criteria, but if it does, how does it?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is such a protocol provably impossible?  If not, how might it be done/what properties must the underlying storage platform have to support it?&lt;/p&gt;&#xA;" OwnerUserId="509" LastEditorUserId="186" LastEditDate="2011-11-25T05:26:34.760" LastActivityDate="2011-11-25T09:19:02.823" Title="Transactional partially-ordered message queuing" Tags="&lt;ds.algorithms&gt;&lt;db.databases&gt;&lt;queueing-theory&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9105" PostTypeId="2" ParentId="9102" CreationDate="2011-11-24T16:43:48.887" Score="7" Body="&lt;p&gt;Not really a full answer, but if you are prepared to loosen the constraint that $X(f)\leq D(f)$ (or $R_2(f)$), then one answer would seem to be a quantum computer restricted to the Clifford group computation. Such a machine can implement the Deutsch algorithm, and hence can be seperated from the classical case, and can trivially be simulated by a full quantum machine. However, such a machine is not computationally universal, and so there are some query functions (such as computing the AND of the output of an oracle) which it simply cannot perform.&lt;/p&gt;&#xA;" OwnerUserId="204" LastActivityDate="2011-11-24T16:43:48.887" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9112" PostTypeId="2" ParentId="9102" CreationDate="2011-11-24T21:47:41.113" Score="8" Body="&lt;p&gt;One easy way to come up with such a model is to first create a restricted model of quantum computation that can still do something non-classical, and then just give it classical computation for free.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An examples of this strategy is the one clean qubit model (along with a BPP machine). Some references: &lt;a href=&quot;http://arxiv.org/abs/quant-ph/9802037&quot;&gt;On the Power of One Bit of Quantum Information&lt;/a&gt;, &lt;a href=&quot;http://arxiv.org/abs/quant-ph/0608132&quot;&gt;Computation with Unitaries and One Pure Qubit&lt;/a&gt; and &lt;a href=&quot;http://arxiv.org/abs/0707.2831&quot;&gt;Estimating Jones polynomials is a complete problem for one clean qubit&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another example would be to have a log-depth (or polylog depth) quantum circuit with access to a classical computer. This will yield something like $BPP^{BQNC}$.&lt;/p&gt;&#xA;" OwnerUserId="206" LastActivityDate="2011-11-24T21:47:41.113" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="9113" PostTypeId="2" ParentId="9102" CreationDate="2011-11-25T00:48:56.237" Score="2" Body="&lt;p&gt;Maybe the more clear example of this kind of computing models is DQC1 explained by @RobinKothari in his answer. See the references in his answer for a good introduction to the model.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, rather recently, there was a nice article in Nature magazine about Quantum Discord. Quantum Discord is a information-theoretic measure of non-classical correlations, generalizing entanglement. Here's the &lt;a href=&quot;http://www.nature.com/news/2011/110601/full/474024a.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;link&lt;/a&gt;. You'll see there that there are examples of computations where entanglement doesn't play a fundamental role, i.e., other non-classical correlations are the ones taking care of speeding-up the computation. This happens in DQC1 for computing the trace of a matrix (see the paper by &lt;a href=&quot;http://arxiv.org/abs/0709.0548&quot; rel=&quot;nofollow noreferrer&quot;&gt;Datta, Shaji, and Caves&lt;/a&gt;). What's interesting in the article is that it opens the question on &quot;Quantum Discord based algorithms&quot;, i.e., algorithms where you don't need entanglement for quantum speed-up. That's something between full quantum computation and classical.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another model that possibly fall in this category (between full-quantum and classical) is the Linear Optical Model by Arkhipov and Aaronson. See &lt;a href=&quot;https://cstheory.stackexchange.com/questions/2892/how-does-the-bosonsampling-paper-avoid-easy-classes-of-complex-matrices&quot;&gt;this question&lt;/a&gt; for a nice explanation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I don't know where these models fit in terms of query complexity, but could be a good starting point.&lt;/p&gt;&#xA;" OwnerUserId="135" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2011-11-25T00:48:56.237" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9116" PostTypeId="1" CreationDate="2011-11-24T21:24:44.293" Score="-3" ViewCount="668" Body="&lt;p&gt;To expound upon my question as mentioned in the title, I am researching, out of curiosity, what the implications of a (balanced) ternary based computer would be, besides obvious things such as greater &quot;density&quot; of information.  Clearly, ternary operators would be &quot;easier&quot; to implement, or more &quot;natural&quot; if you will, than binary ones.  Also, bitwise operations would need to be replaced by tritwise operators.  I am aware of the benefits and drawbacks to balanced ternary on the hardware level, but I want to know what that would mean for typical writing programs in a C-level language.  Could a C compiler be written for a ternary computer without simply emulating a binary one?  If not, how much would a language like C, or even Lisp-like languages need to be altered to take advantage of the balanced ternary system? I'm sort of a noob, so I apologize if I said anything inane as a result.  Thanks for answering!&lt;/p&gt;&#xA;" OwnerDisplayName="krfkeith" LastEditorUserId="186" LastEditDate="2011-11-25T05:40:36.027" LastActivityDate="2013-04-12T16:37:58.377" Title="In what manner and to which degree would programming on a hypothetical ternary computer differ than from binary computers?" Tags="&lt;pl.programming-languages&gt;" AnswerCount="3" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9117" PostTypeId="2" ParentId="9116" CreationDate="2011-11-25T03:44:30.643" Score="3" Body="&lt;p&gt;As you know, any language providing bitwise operations like C must introduce additional complexity into the machine code if your n-ary CPU did not offer these operations itself.  In other words, either the CPU or the C compiler must provide a couple division algorithms optimized for specific fixed constant denominators. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Interestingly, your C compiler already does this when converting between array indexes and pointer arithmetic.  In fact, it tunes the division by constant algorithm at compile time according to sizeof(...) and alignment (&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.1.2556&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;nofollow&quot;&gt;pdf&lt;/a&gt;). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In other words, there is a small risk the machine code would bloat up in size, and endianness-like issues would suck up more programmer time, but otherwise I double much would change, either for better or worse. &lt;/p&gt;&#xA;" OwnerUserId="6665" LastActivityDate="2011-11-25T03:44:30.643" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9118" PostTypeId="1" CreationDate="2011-11-25T08:14:29.333" Score="13" ViewCount="419" Body="&lt;p&gt;I came across this problem in an area of physics quite far removed from computer science, but it seems like the type of question that has been studied in CS, so I thought I'd try my luck asking it here.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Imagine you are given a set of points $\{v_i\}_{i=1}^n$ and list of some of the distances between points $d_{ij}$. What is the most efficient way to determine the minimum dimensionality of the space in which you need to embed these points? In other words, what is the smallest $k$ such that there exist a set of points in $\mathbb{R}^k$ satisfying the distances constraints $d_{ij}$. I would be equally happy with an answer for $\mathbb{C}^k$, but this seems harder. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am happy to say that the distances need to match $d_{ij}$ only to within some constant accuracy $\epsilon$ and to have the points restricted to points on some lattice of constant spacing, in order to avoid issues of computing with reals.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Indeed, I would be quite happy with a solution for the decision version of this problem, where given $d_{ij}$ and $k$ you are asked whether or not such a set of vertices $\{v_i\}$ exist. Trivially the problem is in NP, since given a set of points in $\mathbb{R}^k$ it is easy to check that they satisfy the distance requirements, but it feels like there should be sub-exponential time algorithms for this particular problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The most obvious approach seems to be to try to build $k$-dimensional structures iteratively, by adding additional points one at a time and determining whether or not a new spatial dimension needs to be added at each iteration. The problem with this is that it seems you can run into ambiguities where there is more than one way to add a point to the existing structure, and it is not clear which one will lead to fewer dimensions as you continue to add more points.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Lastly, let me say that I know that it is easy to create lists of distances which cannot be satisfied in any number of dimensions (i.e. ones which violate the triangle inequality). However, for the instances I care about there will always be some minimum finite number of dimensions in which a satisfying set of points can be found.&lt;/p&gt;&#xA;" OwnerUserId="204" LastActivityDate="2011-11-27T15:33:45.370" Title="Best way to determine the minimum dimension of a structure given only distances between points" Tags="&lt;ds.algorithms&gt;&lt;cg.comp-geom&gt;" AnswerCount="2" CommentCount="4" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="9119" PostTypeId="2" ParentId="9118" CreationDate="2011-11-25T08:58:47.200" Score="11" Body="&lt;p&gt;Given a fixed $d$, there is a precise characterization of distance matrices that represent distances between $n$ points in $d$ dimensions. This comes from a theorem of Schoenberg and relates &lt;a href=&quot;http://geomblog.blogspot.com/2009/08/negative-type-distances-and-kernels.html&quot;&gt;kernels in ML and negative-type distances&lt;/a&gt;.  This characterization can be tested in polynomial time (it involves computing rank and testing for negative definiteness). I believe it also follows from this that if there exists an embedding into Euclidean space, this embedding will be in no more than $n$ dimensions.&lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2011-11-25T08:58:47.200" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="9120" PostTypeId="2" ParentId="9104" CreationDate="2011-11-25T09:19:02.823" Score="1" Body="&lt;p&gt;A standard RDBMS should be enough; this is a sketch of how it can be done in a RDBMS even &lt;em&gt;without&lt;/em&gt; BEGIN TRANSACTION capabilities (a mix of SQL/pseudocode):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Create two tables with the following columns:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;Table MESSAGES:&#xA;*MSGID            int not null auto_increment,  (primary key)&#xA;SEQID             int,&#xA;SEQORDER          int not null auto_increment,&#xA;RETRIES           int default 0,&#xA;MSGDATA           varchar(...)&#xA;&#xA;Table SEQUENCES &#xA;*SEQID            int not null,  (primary key)&#xA;SEQLOCKED         int,&#xA;SEQHASH           varchar(256)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;The Generators can simply insert into the MESSAGE table their requests (and optionally fill the SEQUENCES table):&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;For example suppose a Generator must insert a message with SEQID=120&#xA;&#xA;1) INSERT INTO SEQUENCES VALUES (120, 0, MD5(RAND()) )&#xA;// if the SEQID is already present the previous query&#xA;// just fails, do not worry about it&#xA;2) INSERT INTO MESSAGES (SEQID, MSGDATA) VALUES (120, 'bla bla bla')&#xA;// the auto_increment option in columns will assign correct values for MSGID and&#xA;// SEQORDER&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;The Consumers can do their stuff &lt;strong&gt;without&lt;/strong&gt; using BEGIN TRANSACTION in this way:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;// retrieve the SEQID of an unlocked sequence that contains a message:&#xA;1) SELECT * FROM SEQUENCES s LEFT JOIN MESSAGES m ON  m.SEQID = s.SEQID &#xA;      WHERE SEQLOCKED = 0&#xA;      ORDER BY SEQORD LIMIT 1&#xA;// suppose we retrieve a sequence with SEQID=120 and SEQHASH='102f...'&#xA;// we first lock the sequence using a standard tecnique:&#xA;2) newhash = MD5(RAND())&#xA;3) UPDATE SEQUENCES SET (SEQHASH=newhash, SEQLOCKED=1)&#xA;     WHERE (SEQID=120 AND SEQHASH='102f...')&#xA;4) IF (records_updated() = 1)   // lock acquired&#xA;   // we pick the older message of the sequence&#xA;   4.1) SELECT * FROM MESSAGES s WHERE SEQID=120 ORDER BY SEQORD LIMIT 1&#xA;   4.2) .... if we get a message (suppose MSGID=1234) then process it ....&#xA;   4.3) IF everything is ok THEN&#xA;          DELETE MESSAGES WHERE MSGID=1234&#xA;        ELSE&#xA;          UPDATE MESSAGES SET (RETRIES = RETRIES+1) WHERE MSGID=1234&#xA;   // finally we must unlock the sequence&#xA;   4.4) UPDATE SEQUENCES SET (SEQLOCKED=0) WHERE SEQID=120&#xA;&#xA;restart from step 1)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;" OwnerUserId="3247" LastActivityDate="2011-11-25T09:19:02.823" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="9121" PostTypeId="1" AcceptedAnswerId="9207" CreationDate="2011-11-25T10:52:19.703" Score="3" ViewCount="1077" Body="&lt;p&gt;what is the current state of the art in fast and parallel matrix in-place transposition?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would be very happy, if I could be given some pseudocode for this problem. As far as I could find papers, they do not include very detailed descriptions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;PS:&#xA;Of course, we do &lt;em&gt;not&lt;/em&gt; restrict to square matrices, but rather arbitrary rectangular matrices. Their memory layout is usually a linear sequence of entries in the memory (say, as in C) and it is a highly non-trivial task to convert this data block in-place/in-situ to the sequence that corresponds to the transposed matrix.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some information can be found in this wikipedia article, whose references I did not find to be very helpful though: &lt;a href=&quot;http://en.wikipedia.org/wiki/In-place_matrix_transposition&quot; rel=&quot;nofollow&quot; title=&quot;http://en.wikipedia.org/wiki/In-place_matrix_transposition&quot;&gt;Wikipedia Entry&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="4346" LastEditorUserId="4346" LastEditDate="2011-11-26T13:11:21.400" LastActivityDate="2011-12-01T13:55:55.323" Title="parallelizable fast matrix in-place transposition" Tags="&lt;ds.algorithms&gt;&lt;co.combinatorics&gt;&lt;ds.data-structures&gt;&lt;dc.parallel-comp&gt;" AnswerCount="3" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="9122" PostTypeId="1" CreationDate="2011-11-25T11:58:51.420" Score="53" ViewCount="1691" Body="&lt;p&gt;Suppose $G_1$ and $G_2$ are two undirected graphs on vertex set $\{1, \dotsc, n\}$. The graphs are isomorphic if and only if there is a permutation $\Pi$ such that $G_1 = \Pi(G_2)$, or more formally, if there is a permutation $\Pi$ such that $(i,j)$ is an edge in $G_1$ if and only if $(\Pi(i),\Pi(j))$ is an edge in $G_2$. The Graph Isomorphism Problem is the problem of deciding whether two given graphs are isomorphic.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there an operation on graphs that produces &quot;gap amplification&quot; in the style of &lt;a href=&quot;https://www.lri.fr/perso/~mdr/pcp-newproof.pdf&quot;&gt;Dinur's proof of the PCP Theorem&lt;/a&gt;? In other words, is there a polynomial time computable transformation from $(G_1,G_2)$ to $(G'_1,G'_2)$ such that &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;if $G_1$ and $G_2$ are isomorphic, then $G'_1$ and $G'_2$ are also isomorphic, and&lt;/li&gt;&#xA;&lt;li&gt;if $G_1$ and $G_2$ are not isomorphic, then for each permutation $\Pi$, the graph $G'_1$ is &quot;$\epsilon$-far&quot; from $\Pi(G'_2)$ for some small constant $\epsilon$, where $\epsilon$-far means that if we choose $(i,j)$ uniformly at random, then with probability $\epsilon$ either&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$(i,j)$ is an edge of $G'_1$ and $(\Pi(i),\Pi(j))$ is not an edge of $G'_2$, or&lt;/li&gt;&#xA;&lt;li&gt;$(i,j)$ is not an edge of $G'_1$ and $(\Pi(i),\Pi(j))$ is an edge of $G'_2$.&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="7372" LastEditorUserId="4193" LastEditDate="2013-03-06T20:39:32.373" LastActivityDate="2015-12-24T07:50:33.767" Title="Is there a gap amplification type of result for the Graph Isomorphism Problem?" Tags="&lt;cc.complexity-theory&gt;&lt;graph-isomorphism&gt;&lt;pcp&gt;" AnswerCount="1" CommentCount="9" FavoriteCount="17" ContentLicense="CC BY-SA 3.0" />
  <row Id="9123" PostTypeId="2" ParentId="9118" CreationDate="2011-11-25T15:15:26.707" Score="14" Body="&lt;p&gt;This problem is sometimes called the low-dimensional Euclidean distance matrix completion or the low-dimensional Euclidean embedding of a weighted graph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Saxe [Sax79] and Yemini [Yem79] independently showed by a simple reduction from the Partition problem that this problem is NP-complete even in the case of one dimension; that is, the following problem is NP-complete for &lt;i&gt;k&lt;/i&gt;=1:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;&lt;i&gt;k&lt;/i&gt;-dimensional Euclidean distance matrix completion / &lt;i&gt;k&lt;/i&gt;-dimentional Euclidean embedding of a weighted graph&lt;/strong&gt;&lt;br&gt;&#xA;&lt;em&gt;Instance&lt;/em&gt;: A symmetric matrix &lt;i&gt;M&lt;/i&gt; whose entries are either positive integers in binary or “unknown.”&lt;br&gt;&#xA;&lt;em&gt;Question&lt;/em&gt;: Can the unknown entries in &lt;i&gt;M&lt;/i&gt; be filled by real numbers so that &lt;i&gt;M&lt;/i&gt; becomes a distance matrix of points in the &lt;i&gt;k&lt;/i&gt;-dimensional Euclidean space ℝ&lt;sup&gt;&lt;i&gt;k&lt;/i&gt;&lt;/sup&gt;?&lt;br&gt;&#xA;Equivalently,&lt;br&gt;&#xA;&lt;em&gt;Instance&lt;/em&gt;: A graph &lt;i&gt;G&lt;/i&gt; where each edge has a positive integer weight written in binary.&lt;br&gt;&#xA;&lt;em&gt;Question&lt;/em&gt;: Can the vertices of &lt;i&gt;G&lt;/i&gt; placed in the &lt;i&gt;k&lt;/i&gt;-dimensional Euclidean space ℝ&lt;sup&gt;&lt;i&gt;k&lt;/i&gt;&lt;/sup&gt; so that for each edge of &lt;i&gt;G&lt;/i&gt;, the distance between the two endpoints equals to the weight of the edge?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Moreover, Saxe [Sax79] showed (by a more involved reduction from 3SAT) that the &lt;i&gt;k&lt;/i&gt;-dimensional Euclidean distance matrix completion remains NP-hard even under the restriction that all known entries in &lt;i&gt;M&lt;/i&gt; are either 1 or 2, for every positive integer constant &lt;i&gt;k&lt;/i&gt;.  In particular, the problem is NP-complete even when the known entries in &lt;i&gt;M&lt;/i&gt; are given in unary.  [Sax79] also contains some hardness results about approximate embedding.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By the way, I do not think that it is trivial that the problem is in NP; note that you need irrational coordinates in some cases when &lt;i&gt;k&lt;/i&gt;&amp;gt;1.  I do not know if it is known to be in NP.&lt;/p&gt;&#xA;&#xA;&lt;h3&gt;References&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;[Sax79] James B. Saxe.  Embeddability of weighted graphs in &lt;i&gt;k&lt;/i&gt;-space is strongly NP-hard.  In &lt;em&gt;Proceedings of the 17th Allerton Conference on Communications, Control, and Computing&lt;/em&gt;, pp. 480–489, 1979.  Also in James B. Saxe: &lt;em&gt;Two Papers on Graph Embedding Problems&lt;/em&gt;, Department of Computer Science, Carnegie-Mellon University, 1980.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[Yem79] Yechiam Yemini.  Some theoretical aspects of position-location problems. In &lt;em&gt;20th Annual Symposium on Foundations of Computer Science (FOCS)&lt;/em&gt;, pp. 1–8, Oct. 1979.  DOI: &lt;a href=&quot;http://dx.doi.org/10.1109/SFCS.1979.39&quot; rel=&quot;nofollow&quot;&gt;10.1109/SFCS.1979.39&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="567" LastEditorUserId="567" LastEditDate="2011-11-27T15:33:45.370" LastActivityDate="2011-11-27T15:33:45.370" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9124" PostTypeId="2" ParentId="9116" CreationDate="2011-11-25T15:29:55.343" Score="0" Body="&lt;p&gt;C's not a terribly good example, because it provides access to many low-level details that, I believe, really assume that the computer is based on binary with 8-bit words.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As a thought exercise, you could add &#xA;n-ary (what's-the-generalization-of-trit)wise operations into the C language as it exists. As Burdges suggests in his answer, the programmer could reasonably expect that a tritwise operation would be more efficient on the tritwise architecture, and the bitwise operation would be more efficient on the bitwise architecture. But what do you do about sizeof()? To deal with that, you'd probably need an incompatible &quot;ternary C&quot; that has a different sizeof (reporting the size in &quot;trites&quot; or whatever). This wouldn't be terribly difficult, I imagine (at least relative to the difficulty of writing a C compiler, which is hard).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Lisp is a better example, since it abstracts out irrelevant low-level details like the number of bytes in an object's memory representation. I imagine a tertiary Lisp compiler would look nearly the same as a binary Lisp compiler, save for the code emitted when you do bitwise operations.&lt;/p&gt;&#xA;" OwnerUserId="1024" LastActivityDate="2011-11-25T15:29:55.343" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9125" PostTypeId="1" CreationDate="2011-11-25T16:36:51.350" Score="4" ViewCount="253" Body="&lt;p&gt;I have a very basic question about random bits in streaming. How could a streaming algorithm use them? Can the algorithm use the same random bit at the start of the execution and look at it again later? Or it serves a random source that once you look at it, you will get a random bit?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Sometimes it makes difference on the space when the algorithm have to store the random bits in memory and look at it later. Or, are they just equivalent?&lt;/p&gt;&#xA;" OwnerUserId="4309" LastEditorUserId="186" LastEditDate="2011-11-26T06:53:29.627" LastActivityDate="2011-11-26T06:53:29.627" Title="What's the strict definition of random coins in streaming algorithm?" Tags="&lt;ds.algorithms&gt;&lt;derandomization&gt;&lt;randomized-algorithms&gt;&lt;streaming&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="9126" PostTypeId="2" ParentId="9116" CreationDate="2011-11-25T17:44:03.363" Score="2" Body="&lt;p&gt;At least one ternary computer was built in 1958, see &lt;a href=&quot;http://en.wikipedia.org/wiki/Setun&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/Setun&lt;/a&gt;, so it's not a completely hypotethical concept. Note that if a new tri-state nanodevice is discovered, ternary computers may be built again.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A computers with exotic number representations can be better suited for special tasks - e.g. for exact real arithmetic, but for most tasks they will be the same to program. The abovementioned Setun was using not usual ternary numbers, but so called &lt;a href=&quot;http://en.wikipedia.org/wiki/Balanced_ternary&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/Balanced_ternary&lt;/a&gt; which is an interesting representation of signed numbers using negative-valued digits&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See also &lt;a href=&quot;http://en.wikipedia.org/wiki/Ternary_computer&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/Ternary_computer&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="6602" LastActivityDate="2011-11-25T17:44:03.363" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9127" PostTypeId="2" ParentId="5120" CreationDate="2011-11-25T17:55:34.393" Score="3" Body="&lt;p&gt;See also &lt;a href=&quot;http://projects.wizardlike.ca/projects/pola&quot; rel=&quot;nofollow&quot;&gt;Pola a language for PTIME programming&lt;/a&gt; and works of Japaridze on PTIME arithmetic e.g. &lt;a href=&quot;http://arxiv.org/abs/0902.2969&quot; rel=&quot;nofollow&quot;&gt;http://arxiv.org/abs/0902.2969&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="6602" LastActivityDate="2011-11-25T17:55:34.393" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9128" PostTypeId="2" ParentId="9098" CreationDate="2011-11-25T18:25:31.663" Score="15" Body="&lt;p&gt;Here is another example:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;$ \mathtt{L} = \{ x\#y \mid x \in \mathtt{EQ},y \in \overline{\mathtt{EQ}}  \}  $,&lt;br&gt;&#xA;   where&#xA;  $ \mathtt{EQ}=\{ a^nb^nc^n \mid n \geq 0 \} $ and $ \overline{\mathtt{EQ}} $ is the complement of $\mathtt{EQ}$. &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;It is a well known fact that  $\mathtt{EQ}$ is not in $ \mathsf{CFL} $.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assume that $ \mathtt{L} $ is recognized by a PDA $ \small \mathcal{P_1}$. We  construct a new PDA $ \small \mathcal{P}&amp;#39;$. On input $w$, $ \small \mathcal{P}&amp;#39;$  simulates $ \small \mathcal{P}_1$ on the string $w\#a$. Since $ \small \mathcal{P}&amp;#39;$ clearly recognizes $ \mathtt{EQ} $, we conclude that $ \mathtt{L} \notin \mathsf{CFL}$.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Similarly, assume that the complement of $ \mathtt{L} $   is recognized by a PDA $ \small \mathcal{P}_2$. We build another  PDA $ \small \mathcal{P}&amp;#39;&amp;#39;$. On input $w$, $\small \mathcal{P}&amp;#39;&amp;#39;$  simulates  $\small \mathcal{P}_2$ on the string $\#w$. $ \small \mathcal{P}&amp;#39;&amp;#39;$ also recognizes  $ \mathtt{EQ} $, so $ \mathtt{L} $ can not be  in $\mathsf{coCFL}$ either.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$ \mathtt{EQ}$ can be recognized by a (one-way) probabilistic one-counter automaton (P1CA) with any desired error bound (&lt;a href=&quot;http://www.springerlink.com/content/p679q6712h1047jp/&quot;&gt;Freivalds, 1979&lt;/a&gt;). So, it is not hard to show that $\mathtt{L}$ can also be recognized by a P1CA with any desired error bound. &lt;/p&gt;&#xA;" OwnerUserId="7358" LastEditorUserId="7176" LastEditDate="2011-12-05T09:29:39.593" LastActivityDate="2011-12-05T09:29:39.593" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="9129" PostTypeId="2" ParentId="5120" CreationDate="2011-11-25T18:45:35.687" Score="5" Body="&lt;p&gt;I am surprised no one has mentioned primitive recursion. By restricting to bounded loops (i.e. the number of iterations for each loop must be calculated before the loop commences) the resulting program is primitive recursive, and hence total. Douglas Hofstadter proposed a programming language, BLOOP, that allowed all and only primitive recursive functions.&lt;/p&gt;&#xA;" OwnerUserId="5538" LastActivityDate="2011-11-25T18:45:35.687" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="9130" PostTypeId="1" CreationDate="2011-11-25T20:32:07.600" Score="7" ViewCount="1230" Body="&lt;p&gt;We're looking for an upper bound on (or a method to compute) probabilities of the following type:  Suppose I put 12 yellow balls, 18 red balls, 7 white balls, and 2 green balls in a bag.  Then I start withdrawing random balls one by one. What is the probability that I draw at least one red ball and at least one yellow ball before I draw the first green ball?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More generally, I have a set $A$ of $m$ colors, a set $B \subset A$ of colors, a color $c \in A \setminus B$ and a set of $n$ balls with colors from $A$ where the number of balls of each color is known. Whats the probability that I draw at least one ball of each color in $B$ before I draw a ball of color $c$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Peter Shor points out that this is related to the coupon collector's problem (thanks!), the main difference being that we want to know the probability of a particular color being last (not the number of steps required to collect every coupon).  The literature we've searched on the coupon collector's problem (in the last few hours) doesn't seem to address this question.  (A minor difference is that we're sampling without replacement, though a solution for sampling with replacement would be welcome too.)  Ideally we'd like a closed-form upper bound (an asymptotic upper bound would probably do), but a polynomial-time algorithm to compute an upper bound would be useful too.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We seek this bound to help us analyze a randomized geometric algorithm.&lt;/p&gt;&#xA;" OwnerUserId="7378" LastEditorUserId="7384" LastEditDate="2011-11-26T10:09:56.083" LastActivityDate="2014-08-06T18:40:07.230" Title="Order of drawing colored balls from a bag" Tags="&lt;co.combinatorics&gt;&lt;pr.probability&gt;" AnswerCount="3" CommentCount="7" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="9132" PostTypeId="2" ParentId="9125" CreationDate="2011-11-25T22:07:32.000" Score="6" Body="&lt;p&gt;If you want something more formal, you can think of a streaming algorithm as a Turing machine with read-once random bits tape and working tapes whose total size is polylogarithmically bounded. So, you can store and reuse random bits, as long as you don't exceed your polylog memory bound.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;From algorithms design perspective, designing and even understanding a streaming algorithm is usually a two-step process. First think of the streaming algorithm as a RAM that can magically reuse random bits, i.e. has access to a random oracle. Actually there are some papers that do propose algorithms in this random oracle model. But usually, the next step is to try to make the algorithm work with hash families with bounded independence rather than a true random oracle. The seed for such families is logarithmic in size, so you can afford to store it. For some fine examples of this, just check out the classical paper of Alon, Matias and Szegedy. Another, heavier hammer to use is Nisan's pseudorandom number generator, which also allows reducing the number of random bits needed to be stored down to polylogarithmic (but larger than you usually get from bounded independence). For an example of using Nisan's generator, look at Indyk's use of the Cauchy distribution to approximate the $\ell_1$-norm of a stream. Both papers are classic and good read.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Refs:&#xA;AMS: &lt;a href=&quot;http://www.tau.ac.il/~nogaa/PDFS/amsz4.pdf&quot;&gt;www.tau.ac.il/~nogaa/PDFS/amsz4.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Indyk: &lt;a href=&quot;http://people.csail.mit.edu/indyk/stream.ps&quot;&gt;people.csail.mit.edu/indyk/stream.ps&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="4896" LastActivityDate="2011-11-25T22:07:32.000" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9133" PostTypeId="2" ParentId="4458" CreationDate="2011-11-25T23:02:39.727" Score="5" Body="&lt;p&gt;The nondeterministic quantum time- and space- bounded classes are those where the languages are the sets of strings accepted by quantum Turing machines operating within the corresponding bounds with nonzero probability.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In Section 8 of &quot;&lt;a href=&quot;http://arxiv.org/abs/1111.3125&quot; rel=&quot;nofollow&quot;&gt;proving the power of postselection&lt;/a&gt;&quot;, we show that tight hierarchies for the nondeterministic quantum time- and space-bounded classes exist.&lt;/p&gt;&#xA;" OwnerUserId="1454" LastEditorUserId="186" LastEditDate="2011-11-26T06:51:39.677" LastActivityDate="2011-11-26T06:51:39.677" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9134" PostTypeId="2" ParentId="1168" CreationDate="2011-11-25T23:59:51.750" Score="5" Body="&lt;p&gt;Some great suggestions are included in the reading list of the &lt;a href=&quot;http://www.cs.berkeley.edu/~christos/classics/cs298.html&quot; rel=&quot;noreferrer&quot;&gt;Reading the Classics&lt;/a&gt; course given by Christos Papadimitriou at Berkeley. Some of them have been mentioned in previous answers already. Notable exception: &lt;a href=&quot;http://www.cs.berkeley.edu/~christos/classics/euler.pdf&quot; rel=&quot;noreferrer&quot;&gt;Euler's Königsberg Bridge Problem&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="7381" LastActivityDate="2011-11-25T23:59:51.750" CommentCount="0" CommunityOwnedDate="2011-11-25T23:59:51.750" ContentLicense="CC BY-SA 3.0" />
  <row Id="9135" PostTypeId="2" ParentId="7213" CreationDate="2011-11-26T00:37:19.617" Score="16" Body="&lt;p&gt;Let me please post another solution similar to Ratchel's but somewhat different. This is directly taken from chapter 9 of the 2nd Edition of &lt;a href=&quot;http://www.algorist.com&quot; rel=&quot;noreferrer&quot;&gt;&quot;The Algorithm Design Manual&quot;&lt;/a&gt; by Steven Skiena&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;If the clause has only one literal C={z1}, then create two new variables v1 and v2 and four new 3-literal clauses: {v1, v2, z1}, {!v1, v2, z1}, {v1, !v2, z1} and {!v1, !v2, z1}. Note that the only way that all four of these clauses can be simultaneously satisfied is if z1=T, which also means the original C will be satisfied&lt;/li&gt;&#xA;&lt;li&gt;If the clause has two literals, C={z1, z2}, then create one new variable v1 and two new clauses: {v1, z1, z2} and {!v1, z1, z2}. Again, the only way to satisfy both of these clauses is to have at least one of z1 and z2 be true, thus satisfying C&lt;/li&gt;&#xA;&lt;li&gt;If the clause has three literals, C={z1, z2, z3}, just copy C into the 3-SAT instance unchanged&lt;/li&gt;&#xA;&lt;li&gt;If the clause has more than 3 literals C={z1, z2, ..., zn}, then create n-3 new variables and n-2 new clauses in a chain, where for 2&amp;lt;= j &amp;lt;= n-2, Cij={v1,j-1, zj+1,!vi,j}, Ci1={z1, z2, !vi,1} and Ci,n-2={vi,n-3, zn-1, zn}&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="6242" LastEditorUserId="31660" LastEditDate="2017-07-07T18:14:05.220" LastActivityDate="2017-07-07T18:14:05.220" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="9136" PostTypeId="2" ParentId="9088" CreationDate="2011-11-26T01:01:01.747" Score="12" Body="&lt;p&gt;Survey propagation is another algorithm that has been used with success on some kinds of SAT problems, notably random SAT instances.  Like WalkSAT, it cannot be used to prove unsatisfiability, but it is based on very different ideas (message-passing algorithms) from WalkSAT.&lt;/p&gt;&#xA;" OwnerUserId="2970" LastActivityDate="2011-11-26T01:01:01.747" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9137" PostTypeId="2" ParentId="7701" CreationDate="2011-11-26T09:50:25.110" Score="3" Body="&lt;p&gt;To the best of my knowledge, there is no such study; furthermore, without some nontrivial advances in the technology of sum-of-squares (SOS) problems, it is not currently clear what the immediate benefit of such a study would be.  (I'll focus on the SOS connection since that, as far as I know, is the best way to solve these general quartic problems.) This statement should be taken in a positive light: I believe there is a lot of research depth surrounding these problems.  I'll substantiate my claim in a few ways, hopefully in ways people find useful..&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Firstly, for the most basic problems of the type you discuss, the SVD connection gives a much better solver than the SOS black box; in particular, the latter constructs an SDP with $\binom{n+2}{2}$ terms, where $n$ is the total number of variables in the source optimization problem (for instance, the total number of elements in all unknown matrices; to see where I got these numbers, see lecture 10 from Pablo Parrilo's 2006 course:  &lt;a href=&quot;http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-972-algebraic-techniques-and-semidefinite-optimization-spring-2006/lecture-notes/lecture_10.pdf&quot; rel=&quot;nofollow&quot;&gt;http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-972-algebraic-techniques-and-semidefinite-optimization-spring-2006/lecture-notes/lecture_10.pdf&lt;/a&gt; ).  This is an SDP you would never want to solve (running time depends on $n$ as $n^{6}$ using an interior point solver?), especially when compared with the ridiculous speed of an SVD solver (using consistent notation, SVD will be something like $\mathcal O(n^{1.5})$; you can de-fudge my computations by tracking the number of columns, rows, and target rank, but it's a disaster no matter how you rectify my negligence).  Along this vein, if you designed a specialized algorithm to solve SOS problems where the max degree within any polynomial is two: this would be amazing, and then the sort of survey you seek would have lots of value.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Secondly, since the basic formulation of these problems is out of the window, one may wonder if certain variants of these problems are well handled by SOS solvers.  As an important example, consider the NMF (non-negative matrix factorization) problem, where the matrix unknowns you are optimizing over (in your above formulation) must now have non-negative entries.  Unfortunately, if you take the standard SDP used to solve these problems (see for instance Pablo Parrilo's notes from above), there's no way to introduce those constraints.  (And since some formulations of the resulting problems are NP-hard, you would now be building an approximation scheme; i.e., this can get nasty.)  Furthermore, there is recent work that exploited the polynomial structure of this problem to build solvers with some guarantees: see &lt;a href=&quot;http://arxiv.org/abs/1111.0952&quot; rel=&quot;nofollow&quot;&gt;http://arxiv.org/abs/1111.0952&lt;/a&gt; by Arora, Ge, Kannan, and Moitra.  They build a few algorithms, however when they solve an &quot;exact&quot; NMF problem (where there is an exact factorization, i.e., one giving objective value 0), they do not use a SOS solver: they use a solver checking feasibility of &quot;semi-algebraic sets&quot;, a much more difficult optimization problem which allows the kinds of constraints which NMF raises, but now with exponential running time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Anyway, to summarize and give some further perspective; since SOS is afaik the only solver for the quartic problems you speak of (i.e., I don't think there is a specialized quartic solver), I've discussed how these solvers have better alternatives for the kinds of quartic problems people care about.  To effectively use SOS tools here, you would either have to build some amazing solver for the quartic case (inner polynomials of degree at most 2), or you would have to find some way to add constraints to these problems.  Otherwise, the connection to SOS problems, while fascinating, does not give you much.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You also mention that you are surprised that the literature you have found does not make this connection.  I think that is mostly due to the newness of practical SOS solvers (even though abstract consideration of SOS problems goes back very far), and what I said above.  In fact, when I first found SOS solvers, it was via Parrilo's notes and papers, and I similarly wondered, &quot;why isn't he talking about PCA-type problems&quot;?  Then I checked the above facts and frowned a lot.  I think it's also a bad sign that Parrilo himself has not, as far as I can tell/skim, discussed these problems outside the reference you mention in his thesis (meanwhile, he has papers on various extensions, and I have a lot of respect for his work in these field: he must have thought about these specific quartic problems many times.. okay I just checked and found a related negative result by him and some colleagues, which has some connections in its introduction: &lt;a href=&quot;http://arxiv.org/abs/1111.1498&quot; rel=&quot;nofollow&quot;&gt;http://arxiv.org/abs/1111.1498&lt;/a&gt; ).&lt;/p&gt;&#xA;" OwnerUserId="336" LastActivityDate="2011-11-26T09:50:25.110" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9138" PostTypeId="2" ParentId="9130" CreationDate="2011-11-26T10:48:48.573" Score="15" Body="&lt;p&gt;First observation: the cases with and without replacement have exactly the same answer. (Once you have drawn a red ball, say, you don't care about future draws of red balls: all you care about now is the relative order of future green and yellow balls).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A good way to attack the case with replacement is by embedding in continuous time. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Imagine that the balls arrive according to independent Poisson processes with appropriate rates: rate 12 for yellow balls, rate 18 for red balls, rate 2 for green balls. Then whenever a ball arrives, it has probability 12/32 of being yellow, 18/32 of being red and 2/32 of being green, as desired - I'm ignoring the white balls since they're irrevelant. So the sequence of colours observed is exactly as it would be from a sequence of independent draws with replacement. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now you want to know the following: does the first event in the green process occur after the first events in the yellow and red processes? This is easy enough to calculate, since the first event in a Poisson process of rate $r$ has exponential distribution with rate $r$, and the three processes are independent. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, integrating over the time of the first event in the green process, you get the following expression for your probability:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\int_0^\infty 2e^{-2x} (1-e^{-12x})(1-e^{-18x})dx$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;which is straightforward to evaluate and generalises nicely. &lt;/p&gt;&#xA;" OwnerUserId="7385" LastEditorUserId="7385" LastEditDate="2011-11-26T11:04:30.897" LastActivityDate="2011-11-26T11:04:30.897" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="9139" PostTypeId="1" CreationDate="2011-11-26T11:16:45.583" Score="15" ViewCount="574" Body="&lt;p&gt;The complexity class BQP corresponds to polynomial time quantum subroutines taking in classical inputs and spitting out a probabilistic classical output. Quantum advice modifies that to include copies of some predetermined quantum advice states but with classical inputs as usual. What is the complexity class for polynomial time quantum subroutines taking in arbitrary quantum states as inputs, with one copy only due to no cloning, and spitting out quantum states as an output?&lt;/p&gt;&#xA;" OwnerUserId="6816" LastEditorUserId="-1" LastEditDate="2011-12-05T17:23:03.913" LastActivityDate="2011-12-05T17:23:03.913" Title="What is the complexity class for quantum subroutines taking in arbitrary quantum states as inputs?" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;quantum-computing&gt;" AnswerCount="5" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9140" PostTypeId="2" ParentId="9139" CreationDate="2011-11-26T12:14:32.350" Score="4" Body="&lt;p&gt;Correct me if I am wrong, but it seems to me that you are interested in the class &lt;a href=&quot;http://qwiki.stanford.edu/index.php/Complexity_Zoo:B#bqpqpoly&quot; rel=&quot;nofollow noreferrer&quot;&gt;BQP/qpoly&lt;/a&gt;. Definition from Complexity Zoo: &quot;The class of problems solvable by a BQP machine that receives a quantum state ψn as advice, which depends only on the input length n.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If it is that one, in the website you can find relationships of this class to other complexity classes. If it is not, this website also contains information about what happens to BQP when you use different types of advice.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is also  a relatively recent work about the &quot;&lt;a href=&quot;http://arxiv.org/abs/1004.0377&quot; rel=&quot;nofollow noreferrer&quot;&gt;characterisation of quantum advice&lt;/a&gt;&quot; where you can find the following hierarchy:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/daMHQ.png&quot; alt=&quot;Complexity classes related to quantum proofs and advice&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I do not know how much of this info is already in Complexity Zoo. If you are interested in the paper, the authors have also given a &lt;a href=&quot;http://www.google.com/url?sa=t&amp;amp;rct=j&amp;amp;q=&amp;amp;esrc=s&amp;amp;source=web&amp;amp;cd=3&amp;amp;sqi=2&amp;amp;ved=0CDoQFjAC&amp;amp;url=http://www.scottaaronson.com/talks/advqip.ppt&amp;amp;ei=ntbQTuPdEcPUsgbRg9zdDA&amp;amp;usg=AFQjCNEvP_cONVOXZgpFWmhSVz9ILSFonw&amp;amp;sig2=2XS_mlFcYz1p5VBQ5BSlUQ&quot; rel=&quot;nofollow noreferrer&quot;&gt;talk&lt;/a&gt; about it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit&lt;/strong&gt;&#xA;I wonder if by &quot;arbitrary&quot; you mean a state generated by a more general quantum process that 'unitary evolution acting on computational basis states' like dissipative evolution. In this specific latter case you do not have more computational power than BQP as it is shown in &lt;a href=&quot;http://arxiv.org/abs/1105.3986&quot; rel=&quot;nofollow noreferrer&quot;&gt;this article&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="7286" LastEditorUserId="7286" LastEditDate="2011-11-27T11:55:27.867" LastActivityDate="2011-11-27T11:55:27.867" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="9141" PostTypeId="2" ParentId="9139" CreationDate="2011-11-26T15:08:11.933" Score="13" Body="&lt;p&gt;I think that what you want to know about is quantum analogs of classes of function problems.  (Thanks to Peter Shor for pointing out this concise description in a comment.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An abstract process which takes a quantum state of fixed size as the input and produces a quantum state of fixed size as the output is called a &lt;em&gt;quantum channel&lt;/em&gt;.  In your situation, we do not want to fix the input size or the output size, and therefore we naturally consider a family of quantum channels as the quantum analog of functions from classical strings to classical strings.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is clearly possible to define the class of families of quantum channels which can be implemented/approximated by families of efficient quantum circuits (with suitable notions of efficiency, uniformity, and approximation).  I do not know if this class has any standard name (but see Peter Shor’s comment for a suggestion).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In my speculation, classes of quantum channels are not often studied because one of the reason to consider complexity classes is in order to compare the powers of different computational models, and classes of quantum channels cannot be used to compare classical and quantum computational models.  However, it is perfectly fine to define and talk about such classes if anything interesting can be proved about them.&lt;/p&gt;&#xA;" OwnerUserId="567" LastEditorUserId="567" LastEditDate="2011-11-26T22:05:10.413" LastActivityDate="2011-11-26T22:05:10.413" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="9142" PostTypeId="2" ParentId="9139" CreationDate="2011-11-26T17:05:25.760" Score="7" Body="&lt;p&gt;Something you might be interested in is the notion of &lt;em&gt;quantum oracle&lt;/em&gt; introduced by Aaronson and Kuperberg in &lt;a href=&quot;http://arxiv.org/abs/quant-ph/0604056&quot;&gt;arXiv:quant-ph/0604056&lt;/a&gt;.&#xA;Quoting from their paper:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Just as a classical oracle models a subroutine to which&#xA;  an algorithm has black-box access, so a quantum oracle models a quantum subroutine, which can take quantum input&#xA;  and produce quantum output.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;This doesn't directly answer your question about a definition of a complexity class that represents the model you describe.&#xA;Still, the notion of quantum oracle has relevance in complexity theory: in their paper Aaronson and Kuperberg use a quantum oracle to give a separation between &lt;a href=&quot;http://qwiki.stanford.edu/index.php/Complexity_Zoo%3aQ#qma&quot;&gt;QMA&lt;/a&gt; and &lt;a href=&quot;http://qwiki.stanford.edu/index.php/Complexity_Zoo%3aQ#qcma&quot;&gt;QCMA&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="1542" LastEditorUserId="1542" LastEditDate="2011-11-26T17:11:24.760" LastActivityDate="2011-11-26T17:11:24.760" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9144" PostTypeId="2" ParentId="6448" CreationDate="2011-11-26T22:26:24.750" Score="8" Body="&lt;p&gt;Include among important dates the date for special issue invitations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Otherwise, how long are authors supposed to wait for?&lt;/p&gt;&#xA;" OwnerUserId="259" LastActivityDate="2011-11-26T22:26:24.750" CommentCount="0" CommunityOwnedDate="2011-11-26T22:26:24.750" ContentLicense="CC BY-SA 3.0" />
  <row Id="9145" PostTypeId="2" ParentId="9066" CreationDate="2011-11-27T10:26:13.040" Score="3" Body="&lt;p&gt;There is an approximation hierarchy, the main known examples: &lt;a href=&quot;http://qwiki.stanford.edu/wiki/Complexity_Zoo%3aF#fptas&quot; rel=&quot;nofollow&quot;&gt;FPTAS&lt;/a&gt; $\subseteq$ &lt;a href=&quot;http://qwiki.stanford.edu/wiki/Complexity_Zoo%3aE#eptas&quot; rel=&quot;nofollow&quot;&gt;EPTAS&lt;/a&gt; $\subseteq$ &lt;a href=&quot;http://qwiki.stanford.edu/wiki/Complexity_Zoo%3aP#ptas&quot; rel=&quot;nofollow&quot;&gt;PTAS&lt;/a&gt; $\subseteq$ &lt;a href=&quot;http://qwiki.stanford.edu/wiki/Complexity_Zoo%3aA#apx&quot; rel=&quot;nofollow&quot;&gt;APX&lt;/a&gt;. But for inapproximability there also is &lt;a href=&quot;http://qwiki.stanford.edu/index.php/Complexity_Zoo%3aN#npopb&quot; rel=&quot;nofollow&quot;&gt;NPO-PB&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are a lot of results about the set of possible ratios, going from results like this one: &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;$P||C_{max} \in$ EPTAS$\backslash$ FPTAS, unless $P=NP$, &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;to defining APX/NPO-PB-hard problems.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some references:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;ON PTAS: M. Cesati and L. Trevisan. On the efficiency of polynomial time approximation schemes, 1997. &lt;/li&gt;&#xA;&lt;li&gt;On NPOPB: V. Kann. Strong lower bounds on the approximability of some NPO PB-complete maximization problems&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;But I suggest the best will be to check the &lt;a href=&quot;http://qwiki.stanford.edu/index.php/Complexity_Zoo&quot; rel=&quot;nofollow&quot;&gt;Complexity Zoo&lt;/a&gt; because it has many more information and references on those examples, even &lt;a href=&quot;http://en.wikipedia.org/wiki/Polynomial-time_approximation_scheme&quot; rel=&quot;nofollow&quot;&gt;Wikipedia&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Furthermore, as stated in the comments the tight bound when $\alpha=O(1)$, was shown for many problems such as bin packing, machine scheduling (see iris.gmu.edu/~khoffman/papers/set_covering.html).&lt;/p&gt;&#xA;" OwnerUserId="4873" LastActivityDate="2011-11-27T10:26:13.040" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9146" PostTypeId="2" ParentId="9130" CreationDate="2011-11-27T12:13:05.023" Score="7" Body="&lt;p&gt;This is an addendum to James Martin's brilliant answer.  To integrate the expression&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\int_0^\infty a e^{-a t} \left(1-e^{-b t}\right) \left(1-e^{-c t}\right) \left(1-e^{-d t}\right) \left(1-e^{-e t}\right) \left(1-e^{-f t}\right) \, dt$,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I ran it through Mathematica and got&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$a \left[ \frac{1}{a}-\frac{1}{a+b}-\frac{1}{a+c}+\frac{1}{a+b+c}-\frac{1}{a+d}+\frac{1}{a+b+d}+\frac{1}{a+c+d}-\frac{1}{a+b+c+d}- \right.$&#xA;$\left. \frac{1}{a+e}+\frac{1}{a+b+e}+\frac{1}{a+c+e}-\frac{1}{a+b+c+e}+\frac{1}{a+d+e}-\frac{1}{a+b+d+e}-\frac{1}{a+c+d+e}+ \right.$&#xA;$\left. \frac{1}{a+b+c+d+e}-\frac{1}{a+f}+\frac{1}{a+b+f}+\frac{1}{a+c+f}-\frac{1}{a+b+c+f}+\frac{1}{a+d+f}-\frac{1}{a+b+d+f}- \right.$&#xA;$\left. \frac{1}{a+c+d+f}+\frac{1}{a+b+c+d+f}+\frac{1}{a+e+f}-\frac{1}{a+b+e+f}-\frac{1}{a+c+e+f}+\frac{1}{a+b+c+e+f}- \right.$&#xA;$\left. \frac{1}{a+d+e+f}+\frac{1}{a+b+d+e+f}+\frac{1}{a+c+d+e+f}-\frac{1}{a+b+c+d+e+f} \right]$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think the pattern is fairly clear.  Many thanks to Prof. Martin, and also to Suresh and Peter.&lt;/p&gt;&#xA;" OwnerUserId="7384" LastActivityDate="2011-11-27T12:13:05.023" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9147" PostTypeId="1" AcceptedAnswerId="9191" CreationDate="2011-11-27T12:13:58.397" Score="15" ViewCount="1012" Body="&lt;p&gt;This question is tightly related to another post: &lt;a href=&quot;https://cstheory.stackexchange.com/questions/3841/phase-transitions-in-np-hard-problems&quot;&gt;Phase Transitions in NP Hard Problems&lt;/a&gt; but it is somewhat different. While that question is about the hardness of particular instances of NP hard problems, this is about &lt;strong&gt;ranking&lt;/strong&gt; the difficulty of the same instances.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is a lot of bibliography on the effect known as &lt;em&gt;Phase Transition&lt;/em&gt;. In particular for the case of random 3-SAT formulae in Conjunctive Normal Form (CNF), it is known that there is a value R of the ratio of clauses to variables such that for all r &amp;lt; R the formula can be satisfied with high probability and for r &gt; R the formula is unsatisfiable with high probability. The Phase Transition effect happens near R and it has the remarkable effect that solving the satisfiability problem for those formulas is extremely hard in practice. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since for proving NP hardness of a given problem it is needed to show that there is a polynomial time Turing-reduction to it of an NP-complete problem and that problems that are NP-complete can be transformed in polynomial time among them, then the following question naturally arises:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is it possible to &lt;strong&gt;rank&lt;/strong&gt; the difficulty of NP hard problems in practice using the Phase Transition of 3-SAT CNF as an indicator? The intuition is that one problem P1 can be expected to be harder than P2 if its 3-SAT encoding is nearer R (which is known to be near 4.2). Note that this idea does not necessarily bound each particular instance to a particular difficulty, it just ranks them.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are a number of counter arguments, among them:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;The Phase Transition of 3-SAT CNF formula applies to random formulae. However, a particular instance in a different problem has some structure that might be exploited by solvers for that problem ---this was already pointed out by Peter Shor in the aforementioned question.&lt;/li&gt;&#xA;&lt;li&gt;It might be the case that the particular encoding used for transforming the particular instances in our problem to 3-SAT plays a crucial role in the ratio of clauses to variables leading to misleading values, hence misclassifications ---this concern is raised by Kaveh in the comments to this question.&lt;/li&gt;&#xA;&lt;li&gt;Serge (according to my understanding from his comment to this question) raises the issue that one might artificially complicate the original NP hard problem so that it results in a 3CNF formula that alters the ratio of clauses to variables while preserving the satisfiability.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;As for 1, all problems might share the same class of regularity so that ranking problems (instead of characterizing the difficulty) might apply; as for 2, there are encodings in particular problems which are known to be non-redundant w.r.t the Unit Propagation rule so that those should be preferred and maybe they avoid those misclassifications. An example is &lt;a href=&quot;http://http://www.aaai.org/ocs/index.php/ICAPS/ICAPS10/paper/view/1454&quot; rel=&quot;nofollow noreferrer&quot;&gt;Sideris et al., 2010&lt;/a&gt; for the case of Propositional Planning. As for 3, &lt;a href=&quot;http://ijcai.org/Past%20Proceedings/IJCAI-91-VOL1/CONTENT/content.htm&quot; rel=&quot;nofollow noreferrer&quot;&gt;Cheeseman et al., 1991&lt;/a&gt; already considered the issue of whether mappings between problems preserve or not the phase transition effect and their preliminary experiments seem to support their conjecture, provided that one reduces the original NP problem and even that &quot;&lt;em&gt;can be further reduced by applying resolution to the clauses&lt;/em&gt;&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Do this all make sense to you? are you aware of any bibliographical references about this? Any guidance would be largely acknowledged!&lt;/p&gt;&#xA;" OwnerUserId="6242" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2011-11-29T18:30:08.273" Title="Ranking the Difficulty of NP Hard Problems in Practice" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;&lt;sat&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9148" PostTypeId="1" CreationDate="2011-11-27T14:01:37.083" Score="23" ViewCount="809" Body="&lt;p&gt;I am recently getting my papers rejected from journals (i.e., TALG) on the mere basis of not having a significant difference between the journal and proceedings (i.e., SODA) version.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The main reasons for me to submit to a journal is its thorough review process.&#xA;Other than that, SODA's 20 page limit is more than enough for all that I want to say. In fact, David Johnson has repeatedly asked the SODA crowd to not &quot;save stuff for the journal version&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any advice?&lt;/p&gt;&#xA;" OwnerUserId="7393" LastEditorUserId="186" LastEditDate="2011-11-28T21:55:23.510" LastActivityDate="2011-12-28T22:07:54.200" Title="Required delta between proceedings and journal versions" Tags="&lt;soft-question&gt;&lt;research-practice&gt;&lt;conferences&gt;&lt;journals&gt;" AnswerCount="1" CommentCount="8" FavoriteCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="9150" PostTypeId="2" ParentId="9148" CreationDate="2011-11-27T14:54:43.457" Score="1" Body="&lt;p&gt;It depends. If you write a paper and exhaustively include all of the relevant materials, then you should submit the paper to a journal (if you think the journal you choose is more valuable then a conference on the basis of impact factor, reputation and other metrics). If you only describe part of the work, then it may be better to submit to a conference and later, when you have new/updated results, then you may consider submitting again to a journal. What constitutes a significant difference is of course highly variable and depends on your particular work. A very rough rule of thumb is that journal versions differ for at least 30% from corresponding conference versions. However, there are exceptions. And, finally, you should carefully decide the venue. Especially in TCS, a conference may be extremely valuable, in some cases even more than a journal. I do not think that the review process applied in some highly valued conference is worse than the average review process applied in journals. This is strictly dependent on the particular conference or journal, and on the reviewers an editor finds available. &lt;/p&gt;&#xA;" OwnerUserId="4208" LastActivityDate="2011-11-27T14:54:43.457" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="9151" PostTypeId="1" CreationDate="2011-11-27T18:53:23.797" Score="7" ViewCount="549" Body="&lt;p&gt;I'm looking for literature about a variant of the capacitated vehicle/fleet routing problem (a.k.a. VRP, CVRP, etc.) that takes into account the possibility of &lt;em&gt;handovers&lt;/em&gt; between multiple vehicles, i.e. the ability to drop off an item from a vehicle and let another one pick it up. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Put otherwise, we could say we are allowing an item to be transported (sequentially) by more than one vehicle, e.g.:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;at time $T^u$ vehicle $V_1$ takes the item from the pick-up location $P^u$ &lt;/li&gt;&#xA;&lt;li&gt;at time $T^d_1 \geq T^u$ vehicle $V_1$ drops it off at an intermediate point $P_1$&lt;/li&gt;&#xA;&lt;li&gt;at time $T^u_1 \geq T^d_1$ vehicle $V_2$ picks it up from the intermediate point $P_1$ &lt;/li&gt;&#xA;&lt;li&gt;at time $T^d_2 \geq T^u_1$ vehicle $V_2$ drops it off at the intermediate point $P_2$ &lt;/li&gt;&#xA;&lt;li&gt;... &lt;/li&gt;&#xA;&lt;li&gt;at time $T^u_{n-1} \geq T^d_{n-1}$ vehicle $V_n$ picks it up from intermediate point $P_{n-1}$ &lt;/li&gt;&#xA;&lt;li&gt;at time $T^d \geq T^u_{n-1}$ vehicle $V_n$ delivers it to the final destination $P^d$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;In the VRP overviews I found this variant is not mentioned so I was wondering if anybody knew if it has been investigated at all. &lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;note: the term &lt;em&gt;handover&lt;/em&gt; is something I came up with to describe the problem: it may not be the one commonly used to denote this kind of variant. The intended meaning, w.r.t. the example above is that e.g. when vehicle $V_1$ drops off the object $O_1$ at $P_1$ and $V_2$ picks it up we could say that &quot;$V_1$ &lt;em&gt;hands over&lt;/em&gt; object $O_1$ to $V_2$ in $P_1$&quot;. &lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;update: Reworded to clarify that I'm talking about &lt;strong&gt;multiple&lt;/strong&gt; vehicles (it was just kind-of implicit in the original wording). &lt;/p&gt;&#xA;" OwnerUserId="7398" LastEditorUserId="7398" LastEditDate="2012-01-28T20:24:40.727" LastActivityDate="2013-03-20T21:03:02.000" Title="Capacitated multiple vehicle routing problem with handovers" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;optimization&gt;" AnswerCount="2" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9152" PostTypeId="2" ParentId="9151" CreationDate="2011-11-27T19:57:41.033" Score="2" Body="&lt;p&gt;In Spaa'11 there was a paper about what was called the &lt;a href=&quot;http://dl.acm.org/citation.cfm?doid=1989493.1989518&quot; rel=&quot;nofollow&quot;&gt;Car-Sharing problem&lt;/a&gt;, where what they handover is the car :).&lt;/p&gt;&#xA;" OwnerUserId="4873" LastEditorUserId="4873" LastEditDate="2011-11-28T16:13:52.343" LastActivityDate="2011-11-28T16:13:52.343" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="9153" PostTypeId="2" ParentId="9066" CreationDate="2011-11-27T22:29:04.567" Score="2" Body="&lt;p&gt;I still think Suresh's comment below the question is enough to show that any ratio is possible. If you are not convinced with that, you can look at Boolean Constraint Satisfaction Problems (CSPs), for example.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Background: Let $P: \{0,1\}^k \to \{0,1\}$ be a predicate of arity $k$. An instance of Max-CSP(P) is over $n \gg k$ Boolean variables $x_1, \ldots, x_n$. A literal is any variable or its negation. The instance consists of $m$ constraints, each of the form $P(\lambda_1, \ldots, \lambda_k)$ where the $\lambda_i$ are some literals, and the goal is to find an assignment of the variables that maximizes the fraction of satisfies constraints. For example, in $3SAT$ we have $P(x_1, x_2, x_3) = x_1 \lor x_2 \lor x_3$. Define $\rho(P)$ as the fraction of $2^k$ possible inputs that satisfy $P$ (for $3SAT$ it is equal to $7/8$). It is trivial to approximate any Max-CSP(P) by a factor $\rho(P)$ by assigning random values to variables (and then derandimize using the method of conditional expectations). Note that here we have the convention that approximation ratios are positive reals no more than 1.  A predicate $P$ is Approximation Resistant (AR) if it is NP-hard to solve Max-CSP(P) better than by a factor $\rho(P)$ (i.e., $\rho(P)+\epsilon$ for any fixed $\epsilon &gt; 0$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that any AR predicate demonstrates a tight approximation threshold $\rho(P)$. It is known that there are predicates $P$ with arbitrarily small $\rho(P)$ that are approximation resistant, and remain so even if you add to the accepting inputs of $P$. For example, the following paper shows one such result:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Per Austrin and Johan Håstad, Randomly Supported Independence and Resistance, SIAM Journal on Computing, vol. 40, no. 1, pp. 1-27, 2011. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;So this takes care of all rational thresholds whose denominator is a power of two. For other thresholds, observe that if suffices to show that for every $\alpha$, there is an $\alpha&amp;#39; \leq \alpha$ for which there is an AR predicate with $\rho(P) = \alpha&amp;#39;$ (since it is always possible to add dummy variables and constraints of them that are trivially satisfiable so as to increase the approximation threshold).&lt;/p&gt;&#xA;" OwnerUserId="6190" LastEditorUserId="6190" LastEditDate="2011-11-28T19:24:50.780" LastActivityDate="2011-11-28T19:24:50.780" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9155" PostTypeId="2" ParentId="6037" CreationDate="2011-11-28T02:05:41.683" Score="9" Body="&lt;p&gt;First I'll give some background and define approximate rank. A good reference is the recent survey by Lee and Schraibman &lt;a href=&quot;http://www.research.rutgers.edu/%7Etroyjlee/survey_plain.pdf&quot; rel=&quot;noreferrer&quot;&gt;Lower Bounds on Communication Complexity&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;Definition:&lt;/strong&gt; Let &lt;span class=&quot;math-container&quot;&gt;$A$&lt;/span&gt; be a sign matrix. The approximate rank of &lt;span class=&quot;math-container&quot;&gt;$A$&lt;/span&gt; with approximation factor &lt;span class=&quot;math-container&quot;&gt;$\alpha$&lt;/span&gt;, denoted &lt;span class=&quot;math-container&quot;&gt;$rank^\alpha(A)$&lt;/span&gt;, is&lt;/p&gt;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$rank^\alpha(A)=\min_{B:1\leq A[i,j]\cdot B[i,j] \leq \alpha} rank(B)$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;p&gt;When &lt;span class=&quot;math-container&quot;&gt;$\alpha\to \infty$&lt;/span&gt;, define&lt;/p&gt;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$rank^\alpha(A)=\min_{B:1\leq A[i,j]\cdot B[i,j]} rank(B)$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;A result by &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/0304397595000054&quot; rel=&quot;noreferrer&quot;&gt;Krause&lt;/a&gt; says that &lt;span class=&quot;math-container&quot;&gt;$R_\epsilon^{pri}(A)\geq \log rank^\alpha(A)$&lt;/span&gt; where &lt;span class=&quot;math-container&quot;&gt;$\alpha=1/(1-2\epsilon)$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$R_\epsilon^{pri}$&lt;/span&gt; is the bounded-error private-coin communication complexity of &lt;span class=&quot;math-container&quot;&gt;$A$&lt;/span&gt; with error upper-bounded by &lt;span class=&quot;math-container&quot;&gt;$\epsilon$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;p&gt;The above was for background. Now to answer the question, &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=9117&quot; rel=&quot;noreferrer&quot;&gt;Paturi and Simon&lt;/a&gt; showed that &lt;span class=&quot;math-container&quot;&gt;$rank^\infty(A)$&lt;/span&gt; completely characterizes the unbounded-error communication complexity of &lt;span class=&quot;math-container&quot;&gt;$A$&lt;/span&gt;. They also showed that this agrees with the minimum dimension of an arrangement realizing the boolean function whose communication matrix is &lt;span class=&quot;math-container&quot;&gt;$A$&lt;/span&gt;. The unbounded-error communication complexity of the equality function is &lt;span class=&quot;math-container&quot;&gt;$O(1)$&lt;/span&gt;. Keep that in mind.&lt;/p&gt;&#xA;&lt;p&gt;The communication matrix for equality is just the identity, i.e., a boolean matrix with &lt;span class=&quot;math-container&quot;&gt;$2^n$&lt;/span&gt; rows and &lt;span class=&quot;math-container&quot;&gt;$2^n$&lt;/span&gt; columns with all ones in the diagonal. Let's denote this by &lt;span class=&quot;math-container&quot;&gt;$I_{2^n}$&lt;/span&gt;. &lt;a href=&quot;http://kam.mff.cuni.cz/%7Ematousek/cla/alon-identity.pdf&quot; rel=&quot;noreferrer&quot;&gt;Alon&lt;/a&gt; showed that &lt;span class=&quot;math-container&quot;&gt;$rank^2(I_{2^n})=\Omega(n)$&lt;/span&gt; which is tight up to a logarithmic factor (with the theorem by Krause we obtain &lt;span class=&quot;math-container&quot;&gt;$R_\epsilon^{pri}(EQ)=\Omega(\log n)$&lt;/span&gt;).&lt;/p&gt;&#xA;&lt;p&gt;The identity matrix has full rank, i.e., &lt;span class=&quot;math-container&quot;&gt;$2^n$&lt;/span&gt;. Thus, we have exponentially large separations for &lt;span class=&quot;math-container&quot;&gt;$\alpha=2$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$\alpha\to\infty$&lt;/span&gt;.&lt;/p&gt;&#xA;" OwnerUserId="135" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2011-11-28T03:27:36.353" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="9156" PostTypeId="1" AcceptedAnswerId="9169" CreationDate="2011-11-28T05:09:19.680" Score="9" ViewCount="370" Body="&lt;p&gt;I'm trying to learn more about whole-program type checking and type inferencing systems that use information from function call sites to compute type information (in addition to the standard approach of using the function body). For example, such an algorithm might use a function call like &lt;code&gt;foo(1)&lt;/code&gt; to infer that the function in &lt;code&gt;foo&lt;/code&gt; takes integer arguments. Obviously this would complicate inference a lot and make the check non-modular.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Anyway, I haven't had much luck finding any research on this approach, probably because I don't know the correct terminology to describe what I'm talking about. Any pointers?&lt;/p&gt;&#xA;" OwnerUserId="7408" LastEditorUserId="186" LastEditDate="2011-11-28T06:41:48.300" LastActivityDate="2011-11-28T22:37:04.090" Title="Research on call-site based type inference?" Tags="&lt;pl.programming-languages&gt;&lt;type-theory&gt;&lt;type-inference&gt;&lt;type-systems&gt;" AnswerCount="2" CommentCount="3" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="9157" PostTypeId="1" CreationDate="2011-11-28T05:12:24.457" Score="5" ViewCount="353" Body="&lt;p&gt;Let $\Sigma$ be Radó's &lt;a href=&quot;http://en.wikipedia.org/wiki/Busy_beaver#The_busy_beaver_function_.CE.A3&quot; rel=&quot;nofollow noreferrer&quot;&gt;Busy Beaver function&lt;/a&gt;, and define  $\Delta(n) \ = \ \Sigma(n+1) - \Sigma(n)$ for all $n \in \mathbb{N}$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question&lt;/strong&gt;: Does the function $\Delta$ eventually dominate every computable function $f: \mathbb{N} \rightarrow \mathbb{N}$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Sources&lt;/strong&gt;: &lt;a href=&quot;http://www.springerlink.com/content/3r25m95gu015y6xd/&quot; rel=&quot;nofollow noreferrer&quot;&gt;&quot;A note on Busy Beavers and other creatures&quot;&lt;/a&gt; (1996), by Ben-Amram, Julstrom, and Zwick, contains the &lt;em&gt;conjecture&lt;/em&gt; that for any computable function $f$, there exists a constant $N_f$ such that $\forall n \gt N_f, \Sigma(n+1) &amp;gt; f(\Sigma(n))$. In support of this they prove the weaker result that for any computable function $f$, $\Sigma(n+1) &amp;gt; f(\Sigma(n))$ for infinitely many values of $n$. (Considering $f(x) = 2x$, for example, the conjecture implies an affirmative answer to the title question.) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;NB&lt;/strong&gt;: This question is the most elementary case of one that I &lt;a href=&quot;https://math.stackexchange.com/questions/81928/does-the-kth-forward-difference-of-rados-sigma-eventually-dominate-every-c&quot;&gt;posted on math.SE&lt;/a&gt; two weeks ago, but which has received no satisfactory answer.&lt;/p&gt;&#xA;" OwnerUserId="7096" LastEditorUserId="-1" LastEditDate="2017-04-13T12:19:19.363" LastActivityDate="2011-11-28T05:12:24.457" Title="Does $\Sigma(n+1)-\Sigma(n)$ eventually dominate every computable function?" Tags="&lt;reference-request&gt;&lt;computability&gt;" AnswerCount="0" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="9158" PostTypeId="1" AcceptedAnswerId="9171" CreationDate="2011-11-28T06:26:48.113" Score="3" ViewCount="2383" Body="&lt;p&gt;I have a computer engineering degree and i am very interested in &lt;strong&gt;theoretical and combinatorial aspects of computational geometry&lt;/strong&gt; .&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I want to build the mathematical foundation for this area so i can apply for a decent research based postgraduate program .&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is :&#xA;&lt;strong&gt;What topics in math should I study to prepare for this goal?&lt;/strong&gt; &lt;/p&gt;&#xA;&#xA;&lt;p&gt;thank you&lt;/p&gt;&#xA;" OwnerUserId="7383" LastEditorUserId="186" LastEditDate="2011-11-28T06:57:52.713" LastActivityDate="2011-11-28T17:54:45.560" Title="Required mathematics for computational geometry research career" Tags="&lt;soft-question&gt;&lt;cg.comp-geom&gt;&lt;research-practice&gt;" AnswerCount="2" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="9159" PostTypeId="2" ParentId="9158" CreationDate="2011-11-28T08:34:29.847" Score="12" Body="&lt;p&gt;I'm going to answer a slightly different question (as indicated in my comment): &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there specific mathematical background that would help prepare for&#xA;  a graduate degree in TCS that focuses on computational geometry?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I have found (from conversations with other TCSers) that some kinds of geometric intuition are unfamiliar, so the best kind of background will help you in that regard. A comprehensive list along these lines would include:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Topology (point-set, combinatorial and algebraic)&lt;/li&gt;&#xA;&lt;li&gt;Differential geometry (and some basic Riemannian geometry as well)&lt;/li&gt;&#xA;&lt;li&gt;Convex analysis (especially duality)&lt;/li&gt;&#xA;&lt;li&gt;Some basics in algebraic geometry (at least polynomials)&lt;/li&gt;&#xA;&lt;li&gt;Basic functional analysis (normed spaces, Hilbert spaces, etc)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;All of these tools show up in computational geometry nowadays on a regular basis, and their use will only get more sophisticated with time. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;p.s As an aside, if you have a computer engineering degree, it's possible that your background in core theoryCS is weaker than if you had a straight-up CS degree (because of the emphasis on the EE side of things). If that's the case, then the material in the links provided by Kaveh will be immensely useful, probably more so than this list. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2011-11-28T08:34:29.847" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9160" PostTypeId="5" CreationDate="2011-11-28T08:36:58.283" Score="0" Body="&lt;p&gt;This tag should be used for questions about the conduct of research in TCS. &lt;/p&gt;&#xA;" OwnerUserId="80" LastEditorUserId="80" LastEditDate="2011-11-28T08:36:58.283" LastActivityDate="2011-11-28T08:36:58.283" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9161" PostTypeId="4" CreationDate="2011-11-28T08:36:58.283" Score="0" Body="Questions relating to the *practice* of research in theoryCS" OwnerUserId="80" LastEditorUserId="80" LastEditDate="2011-11-28T08:36:58.283" LastActivityDate="2011-11-28T08:36:58.283" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9162" PostTypeId="2" ParentId="9156" CreationDate="2011-11-28T09:52:31.440" Score="0" Body="&lt;p&gt;You can take a look at type systems for intersection types which can give you something like &lt;code&gt;a :: Int -&amp;gt; Int | Bool -&amp;gt; Bool&lt;/code&gt;, so you know that two specializations to &lt;code&gt;Int&lt;/code&gt; and &lt;code&gt;Bool&lt;/code&gt; are enough, or to use a usual type inference to infer most general types followed by a control flow analysis to collect actual type arguments. In fact there are hybrid approaches (CFA expressed as a type system and vice versa).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Research works on inferring least general types instead of most general types may exist, but I'm unaware of them.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As for techniques to implement polymorphism, two solutions exist: 1) specialization (think of C++ templates) 2) uniform representation assumption (think of C-style collections with void*).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For 2 you don't need the type from call-site during typechecking, and can support separate compilation more easily.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that we are talking about parametric polymorphism here, and OO virtual method calls are completely different thing called subtype polymorphism. Note that C++ templates support both something like parametric polymorphism and duck typing, which is yet another form of polymorphism. &lt;/p&gt;&#xA;" OwnerUserId="6602" LastEditorUserId="6602" LastEditDate="2011-11-28T22:37:04.090" LastActivityDate="2011-11-28T22:37:04.090" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="9164" PostTypeId="2" ParentId="9139" CreationDate="2011-11-28T14:36:18.590" Score="5" Body="&lt;p&gt;I think that a complexity class for &lt;em&gt;decision problems&lt;/em&gt;, taking quantum states as input is likely to have a fragile definition. For promise problems, either the definition will be sensitive to numerical choices, or it will essentially solve classical decision/promise problems encoded in some efficiently-decodable basis of quantum states.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Tsuyoshi's answer describes what I would consider the correct generalization of function problems. If what you want is a generalization of decision problems, you could specialize to families of channels $\Phi_n: \mathrm L(\mathcal H_2^{\otimes n}) \to \mathrm L(\mathcal H_2)$ from &lt;em&gt;n&lt;/em&gt;-qubit states to single qubit states. Of course, a quantum circuit is a perfectly good channel; if we are going to speak of performing specific channels which are comp&amp;shy;u&amp;shy;ta&amp;shy;tion&amp;shy;ally bounded, we may as well just speak of uniform quantum circuit families (or for that matter, any uniform way of  implementing a CPTP map). For good measure, the circuit should end with a standard basis measurement, if we want to retain the semantics of &lt;em&gt;deciding&lt;/em&gt; something with bounded probability.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose we define a &quot;quantum language&quot; $\mathcal L$ to consist of subsets of the density operators on &lt;em&gt;n&lt;/em&gt;&amp;nbsp;qubits, ranging over all &lt;em&gt;n&lt;/em&gt;. In defining some quantum-input, bounded error quantum polytime class &lt;strong&gt;QBQP&lt;/strong&gt;, we cannot hope to perform a crisp division between states in the language and states outside of the language, and at the same time bound the probability of acceptance for NO instances away from those of YES instances as we do for &lt;strong&gt;BQP&lt;/strong&gt; and &lt;strong&gt;BPP&lt;/strong&gt;; any state $\rho&amp;#39;$ which is very close to a state $\rho \in \mathcal L$ (either having high overlap or low trace-distance) is going to yield an acceptance probability very close to that of $\rho$, whether or not $\rho&amp;#39;$ is in the $\mathcal L$. So it seems to me that a class &lt;strong&gt;QBQP&lt;/strong&gt; would only contain &quot;quantum promise problems&quot;, in which the input is promised to belong to a class of YES instances or of NO instances which do not exhaust the space of all possible states. (A quantum-language decision class with &lt;em&gt;unbounded&lt;/em&gt; error, a sort of &lt;strong&gt;QPQP&lt;/strong&gt; class, may not be restricted to a promise-problem formulation to be meaningful.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In addition to this, it seems likely &amp;mdash; because the no-cloning theorem prevents you from making copies of your input state &amp;mdash; that you can't amplify the success probability. So any definition of &lt;strong&gt;QBQP&lt;/strong&gt; which involved some constant success probability bounded away from 1/2 would probably depend critically on just what that probability was. To avoid this, as with the function classes &lt;strong&gt;FBPP&lt;/strong&gt; and &lt;strong&gt;FBQP&lt;/strong&gt;, we would in practise probably define &lt;strong&gt;QBQP&lt;/strong&gt; so that for an input state in $\mathcal L$ in &lt;strong&gt;QBQP&lt;/strong&gt;, any state in $\mathcal L$ yields the outcome &lt;em&gt;1&lt;/em&gt; (from the final measurement) with probability 1&amp;nbsp;&amp;minus;&amp;nbsp;&lt;em&gt;o&lt;/em&gt;(1), that is a probability which is closer to certainty as the input size grows &amp;mdash; and similarly, the probability of rejection of any state that the decision routine is &lt;em&gt;able&lt;/em&gt; to reject should also converge to zero.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The quantum-promise problems that a &lt;strong&gt;QBQP&lt;/strong&gt; circuit (for inputs of size &lt;em&gt;n&lt;/em&gt;) would be able to distinguish would then be &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;For YES instances: some set of pure states in some subspace of $\mathcal H_2^{\otimes n}$, and any mixtures allowed by the promise;&lt;/li&gt;&#xA;&lt;li&gt;For NO instances, mixtures of pure states which are &lt;em&gt;orthogonal&lt;/em&gt; to that subspace (or at least, all of the orthocomplementary states allowed by the promise).&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;On top of these classes of states may be a miasma of nearby states which are allowed by the promise, and are very close to states belonging to one of the two classes above; but asymptotically, the classes of states satisfied by the promise would converge to these two classes as &lt;em&gt;n&lt;/em&gt; grows. The circuit involved in the decision procedure would then essentially correspond to a circuit which maps some basis of pure states in $\mathcal L$ &amp;mdash; together with a basis for the &quot;ortho&amp;shy;comple&amp;shy;men&amp;shy;tary quantum language&quot; (so to speak) $\mathcal L^\bot$ &amp;mdash; to the standard basis, and decides which of those com&amp;shy;pu&amp;shy;ta&amp;shy;tional basis states correspond to states in the quantum language. In short, it would solve a &lt;em&gt;classical&lt;/em&gt; decision or promise problem, encoded in quantum states, with error converging to zero.&lt;/p&gt;&#xA;" OwnerUserId="248" LastEditorUserId="248" LastEditDate="2011-11-29T00:28:26.587" LastActivityDate="2011-11-29T00:28:26.587" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="9165" PostTypeId="1" AcceptedAnswerId="41591" CreationDate="2011-11-28T14:37:10.773" Score="19" ViewCount="808" Body="&lt;p&gt;Suppose we have an undirected weighted graph $G = (V, E, w)$ (with non-negative weights). Let us assume that all shortest paths in $G$ are unique. Suppose we have these $\binom{n}{2}$ paths (sequences of unweighted edges), but do not know $G$ itself. Can we produce any $G$ that would have given these paths as the shortest in polynomial time? The weaker version: can we decide in polynomial time if such $G$ exists?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The obvious necessary condition is the following: for every pair of paths their intersection is a path too. Is this condition sufficient?&lt;/p&gt;&#xA;" OwnerUserId="141" LastEditorUserId="141" LastEditDate="2011-12-02T07:58:16.943" LastActivityDate="2018-09-20T17:16:24.840" Title="Axioms for Shortest Paths" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;graph-algorithms&gt;&lt;metrics&gt;" AnswerCount="2" CommentCount="11" FavoriteCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="9166" PostTypeId="2" ParentId="9139" CreationDate="2011-11-28T15:33:26.470" Score="3" Body="&lt;p&gt;Here are some references on quantum languages, i.e., decision problems with quantum inputs.  There are probably many more.  &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://arxiv.org/abs/quant-ph/0308125&quot; rel=&quot;nofollow&quot;&gt;&lt;strong&gt;Quantum NP and a Quantum Hierarchy&lt;/strong&gt;&lt;/a&gt; -Tomoyuki Yamakami  &lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://arxiv.org/pdf/quant-ph/0404062v1&quot; rel=&quot;nofollow&quot;&gt;&lt;strong&gt;On the Complexity of Quantum Languages&lt;/strong&gt;&lt;/a&gt; -Elham Kashefi, Carolina Moura Alves  &lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;An efficient test for product states, with applications to quantum Merlin-Arthur games&lt;/strong&gt; -Aram Harrow, Ashley Montanaro, DOI: 10.1109/FOCS.2010.66, Abstract: arxiv.org/abs/1001.0017v3  &lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="7152" LastEditorUserId="7176" LastEditDate="2011-12-05T09:19:59.443" LastActivityDate="2011-12-05T09:19:59.443" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9167" PostTypeId="2" ParentId="9151" CreationDate="2011-11-28T16:05:23.280" Score="6" Body="&lt;p&gt;These problems are studied but with different terminology such as drop-off. See below and references therein.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The Finite Capacity Dial-A-Ride Problem,&#xA;M. Charikar and B. Raghavachari,&#xA;in Proceedings of the 39th Annual IEEE Conference on Foundations of Computer Science (1998)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Algorithms for Capacitated Vehicle Routing&#xA;M. Charikar, S. Khuller and B. Raghavachari,&#xA;in Proceedings of the 30th Annual ACM Symposium on Theory of Computing (1998).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Dial a Ride from k-forest&#xA;ACM Transactions on Algorithms, 6(2):2010&#xA;Anupam Gupta, MohammadTaghi Hajiaghayi, Viswanath Nagarajan, and R. Ravi&lt;/p&gt;&#xA;" OwnerUserId="176" LastActivityDate="2011-11-28T16:05:23.280" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="9169" PostTypeId="2" ParentId="9156" CreationDate="2011-11-28T16:42:41.583" Score="11" Body="&lt;p&gt;Almost all systems with type inference use call-site information to do this.  Examples include Standard ML, OCaml, F#, and Haskell.  Many other languages use call-site information to infer type parameter instantiation, such as Java, C#, Scala, and Typed Racket.  This often goes by the name &quot;Local Type Inference&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would just describe what you're looking for as &quot;Type Inference&quot;, and you should probably start by looking up what's commonly known as the &quot;Hindley-Milner&quot; system.  The Wikipedia &lt;a href=&quot;http://en.wikipedia.org/wiki/Hindley%E2%80%93Milner&quot;&gt;page&lt;/a&gt; gives a reasonable introduction, and pointers to the original papers.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The place to start for Local Type Inference is Pierce and Turner's original paper, best read in the TOPLAS 2000 version (&lt;a href=&quot;http://dl.acm.org/citation.cfm?id=345100&quot;&gt;ACM&lt;/a&gt;, &lt;a href=&quot;http://www.cis.upenn.edu/~bcpierce/papers/lti.pdf&quot;&gt;PDF&lt;/a&gt;).&lt;/p&gt;&#xA;" OwnerUserId="2185" LastActivityDate="2011-11-28T16:42:41.583" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="9171" PostTypeId="2" ParentId="9158" CreationDate="2011-11-28T17:54:45.560" Score="8" Body="&lt;p&gt;That really depends on the specific brand of &quot;theoretical and combinatorial aspects of computational geometry&quot; you're most interested in. &lt;em&gt;Any&lt;/em&gt; mathematical background has a strong potential to pay off in future research.  Moreover, the best topics to study to master &lt;em&gt;existing&lt;/em&gt; research is not necessarily the same as the best topics to study to generate &lt;em&gt;new&lt;/em&gt; research.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To Suresh's excellent list, I would add linear algebra, combinatorics, graph theory, convex geometry, non-Euclidean geometry, differential topology, probability, statistics, optimization, logic, abstract algebra, category theory, randomized algorithms, approximation algorithms, online algorithms, data structures, and computational complexity.  And a little computer graphics, animation, robotics, learning, vision, scientific computing, scheduling, VLSI design, compiler optimization, databases, distributed computing, ad hoc networking, sensor networking, game theory, signal processing, cartography, and graphic design wouldn't hurt, either.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Or to put it more simply: &lt;strong&gt;Everything.&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Obviously you can't &lt;em&gt;actually&lt;/em&gt; learn everything, unless you're Terry Tao.  Where you should focus first depends on your specific strengths and interests.  If you have a specific topic in mind, it's probably best to jump straight into some recent research papers and work your way backward to the specific background you need.  (Got a nail?  Look for hammers.)  Conversely, if there's a particular area of mathematics you find appealing, study that area deeply and work your way forward to research applications.  (Got a hammer?  Look for nails.)  Or best of all, work from both ends.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So... what do you like?&lt;/p&gt;&#xA;" OwnerUserId="111" LastActivityDate="2011-11-28T17:54:45.560" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9173" PostTypeId="1" AcceptedAnswerId="9180" CreationDate="2011-11-28T18:49:56.877" Score="15" ViewCount="4073" Body="&lt;p&gt;This question may not be technical. As a non-native speaker and a TA for algorithm class, I always wondered what &lt;i&gt;gadget&lt;/i&gt; means in 'clause gadget' or 'variable gadget'. The dictionary says a gadget is a machine or a device, but I'm not sure what colloquial meaning it has in the context of NP-complete proof.&lt;/p&gt;&#xA;" OwnerUserId="7411" LastEditorUserId="186" LastEditDate="2011-11-28T21:37:25.347" LastActivityDate="2020-10-09T17:06:54.000" Title="What does 'gadget' mean in NP-hard reduction?" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;&lt;terminology&gt;&lt;reductions&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="9174" PostTypeId="1" AcceptedAnswerId="9175" CreationDate="2011-11-28T19:01:39.077" Score="2" ViewCount="189" Body="&lt;p&gt;You're given an $n\times n$ lattice $\mathcal{L}$, and you're asked to compute the maximum number of points in $\mathcal{L}$ that can belong to the same circle (the circle has to be enclosed by the outer sides of $\mathcal{L}$ and its center does not need to be in $\mathcal{L}$). How hard is this problem? Is it harder than factoring $n$? Are there decent bounds or estimates on the max number defined above?&lt;/p&gt;&#xA;" OwnerUserId="6710" LastEditorUserId="6710" LastEditDate="2011-11-28T19:10:15.063" LastActivityDate="2011-11-28T21:40:49.100" Title="Hardness of computing circles with max number of lattice points" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9175" PostTypeId="2" ParentId="9174" CreationDate="2011-11-28T19:20:33.890" Score="6" Body="&lt;p&gt;It's probablyly much easier than factoring $n$, because you're looking for smooth numbers smaller than $n$ rather than for difficult factorizations; a smooth number is one that has many small factors, and these are the distances which will give you the most points on the lattice. If the center has to be at $(0,0)$, then you calculate how many lattice points are at distance $5^{a/2}13^{b/2}17^{c/2}29^{d/2}37^{e/2} \ldots$ using &lt;a href=&quot;http://mathworld.wolfram.com/SumofSquaresFunction.html&quot;&gt;the formula&lt;/a&gt; for the number of ways of expressing a number as the sum of two squares. You can do the same thing for the circle centered at $(0,\frac{1}{2})$ or $(\frac{1}{2},\frac{1}{2})$. You can then do an optimization to find the largest value where this distance is less than $n/2$. I expect that this will be possible in polynomial time using dynamic programming.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I cannot imagine that the largest value would not correspond to the center having coordinates other than $0$ or $\frac{1}{2}$, but this should be proved.  &lt;/p&gt;&#xA;" OwnerUserId="1677" LastEditorUserId="1677" LastEditDate="2011-11-28T21:40:49.100" LastActivityDate="2011-11-28T21:40:49.100" CommentCount="12" ContentLicense="CC BY-SA 3.0" />
  <row Id="9176" PostTypeId="2" ParentId="9173" CreationDate="2011-11-28T19:20:37.683" Score="15" Body="&lt;p&gt;A formal definition of Gadgets for NP optimization reductions appears here:&lt;/p&gt;&#xA;&lt;p&gt;L. Trevisan, G.B. Sorkin, M. Sudan, D.P. Williamson.  &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.44.1673&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Gadgets, Approximation, and Linear Programming&lt;/a&gt;. SIAM J. on Computing, 29(6):2074-2097, 2000 [(&lt;a href=&quot;http://dx.doi.org/10.1137/S0097539797328847&quot; rel=&quot;nofollow noreferrer&quot;&gt;doi&lt;/a&gt;, freely available)]&lt;/p&gt;&#xA;" OwnerUserId="6190" LastEditorUserId="129" LastEditDate="2020-10-09T17:06:54.000" LastActivityDate="2020-10-09T17:06:54.000" CommentCount="0" ContentLicense="CC BY-SA 4.0" />
  <row Id="9180" PostTypeId="2" ParentId="9173" CreationDate="2011-11-28T20:45:46.407" Score="26" Body="&lt;p&gt;A &quot;gadget&quot; is a small specialized device for some particular task. In NP-hardness proofs, when doing a reduction from problem A to problem B, the colloquial term &quot;gadget&quot; refers to small (partial) instances of problem B that are used to &quot;simulate&quot; certain objects in problem A. For example, when reducing 3SAT to 3-COLORING, clause gadgets are small graphs that are used to represent the clauses of the original formula and variable gadgets are small graphs that are used to represent the variables of the original formula. In order to ensure that the reduction is correct, the gadgets have to be graphs that can be 3-colored in very specific ways. Hence we think of these small graphs as devices that perform a specialized task.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In many cases, the main difficulty of proving NP-hardness is constructing appropriate gadgets. Sometimes these gadgets are complicated and moderately large. The creative process of creating such gadgets is sometimes called &quot;gadgeteering.&quot;&lt;/p&gt;&#xA;" OwnerUserId="3189" LastActivityDate="2011-11-28T20:45:46.407" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9181" PostTypeId="2" ParentId="5578" CreationDate="2011-11-28T22:39:05.040" Score="6" Body="&lt;p&gt;This is a full answer to the problem which does not use Merlin at all.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Deléglise-Dusart-Roblot [1] give an algorithm which determines the number of primes up to $x$ that are congruent to $l$ modulo $k,$ in time $O(x^{2/3}/\log^2x).$ A modification of the algorithm of Lagarias-Odlyzko [2] allows the same to be computed in time $O(x^{1/2+o(1)}).$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Using either algorithm, find the number of primes in all residue classes mod primes until their product is greater than $m.$ For each prime $q,$ take the total number of primes in each residue class times that residue class to the $k$-th power; this gives the value of&#xA;$$\sum_{\stackrel{p\le N}{p\text{ prime}}}p^k\pmod q.$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Use the Chinese Remainder Theorem to determine the value of the sum mod $2\cdot3\cdots\log m.$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By the Prime Number Theorem the largest prime needed is $(1+o(1))\log m,$ so this gives the sum in time $O(N^{1/2+o(1)}).$&lt;/p&gt;&#xA;&#xA;&lt;h1&gt;References&lt;/h1&gt;&#xA;&#xA;&lt;p&gt;[1] Marc Deléglise, Pierre Dusart, and Xavier-François Roblot, &lt;a href=&quot;http://www.ams.org/journals/mcom/2004-73-247/S0025-5718-04-01649-7/S0025-5718-04-01649-7.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Counting primes in residue classes&lt;/a&gt;, &lt;em&gt;Mathematics of Computation&lt;/em&gt; &lt;strong&gt;73&lt;/strong&gt;:247 (2004), pp. 1565-1575. &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.100.779&quot; rel=&quot;nofollow noreferrer&quot;&gt;doi 10.1.1.100.779&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] J. C. Lagarias and A. M. Odlyzko, &lt;a href=&quot;http://www.dtc.umn.edu/~odlyzko/doc/arch/analytic.pi.of.x.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Computing $\pi(x)$: An analytic method&lt;/a&gt;, &lt;em&gt;Journal of Algorithms&lt;/em&gt; &lt;strong&gt;8&lt;/strong&gt; (1987), pp. 173-191.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[3] Charles, &lt;a href=&quot;https://mathoverflow.net/questions/81443/fastest-algorithm-to-compute-the-sum-of-primes/81533#81533&quot;&gt;answer on MathOverflow&lt;/a&gt;. (Yes, this is the same person. See the other answers there for different approaches.)&lt;/p&gt;&#xA;" OwnerUserId="962" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2011-11-28T22:39:05.040" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9182" PostTypeId="1" AcceptedAnswerId="9222" CreationDate="2011-11-29T06:50:24.733" Score="3" ViewCount="184" Body="&lt;p&gt;Let $\gamma$ be such that $\, 0&amp;lt;\gamma \,$. $\hspace{.1 in}$ Define $H_{\infty}$ to be &lt;a href=&quot;http://en.wikipedia.org/wiki/Min-entropy&quot; rel=&quot;nofollow&quot;&gt;min-entropy&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $S_n$ is a shared secret between Alice and Bob such that $\, n^{\frac12+\gamma} \leq H_{\infty}(S_n) \,$,&#xA;&lt;br&gt;then Alice can use that to securely encrypt a message for Bob.&#xA;&lt;br&gt;(Alice uses a &lt;a href=&quot;http://en.wikipedia.org/wiki/Randomness_extractor#Strong_extractors&quot; rel=&quot;nofollow&quot;&gt;strong extractor&lt;/a&gt;, such as in either of &lt;a href=&quot;http://citeseer.ist.psu.edu/viewdoc/summary?doi=10.1.1.28.4731&quot; rel=&quot;nofollow&quot;&gt;Theorem 2/3&lt;/a&gt;,&#xA;&lt;br&gt;&#xA;to get the key, and sends the seed along with the ciphertext.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This idea does not obviously suffice for Alice to authenticate a message to Bob, since a false&#xA;&lt;br&gt;&#xA;acceptance could be caused by someone changing both the message and the reported seed.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there a way for Alice to authenticate a message to&#xA;  &lt;br&gt;Bob from an arbitrary high min-entropy shared secret?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;br&gt;&lt;br&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Potential Clarifications:&#xA;&lt;br&gt;&lt;br&gt;&lt;br&gt;&#xA;a. $\,$ I am fine with &quot;high&quot; meaning something much closer&#xA;&lt;br&gt;$\hspace{.24 in}$to $n$ than I used in the encryption construction.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;b. $\,$ I really do mean &quot;&lt;em&gt;Alice&lt;/em&gt; to authenticate &lt;em&gt;a&lt;/em&gt; message to &lt;em&gt;Bob&lt;/em&gt;&quot;; that is,&#xA;&lt;br&gt;$\hspace{.24 in}$it does not need to work from Bob to Alice or for more than one message.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;c. $\,$ I would nonetheless be interested in whether or not&#xA;&lt;br&gt;$\hspace{.24 in}$the restrictions described in (b) could be relaxed.&lt;/p&gt;&#xA;" OwnerDisplayName="user6973" LastActivityDate="2011-12-01T06:15:41.287" Title="MACing from an arbitrary high min-entropy shared secret" Tags="&lt;cr.crypto-security&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9183" PostTypeId="1" AcceptedAnswerId="9220" CreationDate="2011-11-29T07:49:17.243" Score="5" ViewCount="529" Body="&lt;p&gt;Supposing we know the adjacency matrix $\mathcal{A}_{G}$ of a given regular (or irregular) bipartite graph $G$. Are there good lower and upper bounds to the size of maximum matching from the graph's adjacency matrix's or its Laplacian's eigenvalues (without using an algorithm to calculate explicitly a maximum matching)?&lt;/p&gt;&#xA;" OwnerUserId="5511" LastEditorUserId="5511" LastEditDate="2011-11-30T01:04:42.253" LastActivityDate="2011-12-01T01:48:27.087" Title="Bipartite maximum matching size from eigenvalues" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;spectral-graph-theory&gt;&lt;matching&gt;" AnswerCount="1" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="9184" PostTypeId="1" CreationDate="2011-11-29T14:50:23.050" Score="13" ViewCount="2973" Body="&lt;p&gt;The Mobius function $\mu(n)$ is defined as $\mu(1)=1$, $\mu(n)=0$ if $n$ has a squared prime factor, and $\mu(p_1 \dots p_k)= (-1)^k$ if all the primes $p_1,\dots,p_k$ are different. Is it possible to compute $\mu(n)$ without computing the prime factorization of $n$?&lt;/p&gt;&#xA;" OwnerUserId="3091" LastActivityDate="2019-07-20T17:05:19.717" Title="Computing the Mobius function" Tags="&lt;comp-number-theory&gt;" AnswerCount="4" CommentCount="30" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="9185" PostTypeId="1" CreationDate="2011-11-29T14:51:59.677" Score="1" ViewCount="382" Body="&lt;p&gt;Is anyone aware of any implementations of algorithms for learning and/or processing a Logical Hierarchical Hidden Markov Model, as described in &lt;a href=&quot;http://www-kd.iai.uni-bonn.de/pubattachments/260/natarajan08ilp.pdf&quot; rel=&quot;nofollow&quot;&gt;this&lt;/a&gt; paper? I've found dozens of papers about Logical Hidden Markov Models, Hierarchical Hidden Markov Models, and every variation in between, but no one's published any code.&lt;/p&gt;&#xA;" OwnerUserId="4225" LastActivityDate="2011-11-29T14:51:59.677" Title="Implementation of a Logical Hierarchical Hidden Markov Model" Tags="&lt;implementation&gt;&lt;markov-chains&gt;" AnswerCount="0" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="9186" PostTypeId="1" CreationDate="2011-11-29T15:43:31.367" Score="16" ViewCount="2417" Body="&lt;p&gt;Colloquially, the definition of the matrix-multiplication exponent $\omega$ is the smallest value for which there is a known $n^{\omega}$ matrix-multiplication algorithm. This is not acceptable as a formal mathematical definition, so I guess the technical definition is something like the infimum over all $t$ such that there exists a matrix-multiplication algorithm in $n^t$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In this case, we cannot say there is an algorithm for matrix-multiplication in $n^{\omega}$ or even $n^{\omega + o(1)}$, merely that for all $\epsilon &amp;gt; 0$ there exists an algorithm in $n^{\omega + \epsilon}$. Often, however, papers and results which use matrix-multiplication will report their cost as simply $O(n^{\omega})$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there some alternate definition of $\omega$ that permits this usage? Are there any results that guarantee that an algorithm of time $n^{\omega}$ or $n^{\omega + o(1)}$ must exist? Or is the usage $O(n^{\omega})$ simply sloppy?&lt;/p&gt;&#xA;" OwnerUserId="5538" LastActivityDate="2011-11-29T23:16:27.600" Title="Definition of matrix-multiplication exponent $\omega$" Tags="&lt;ds.algorithms&gt;&lt;linear-algebra&gt;" AnswerCount="4" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9187" PostTypeId="2" ParentId="9186" CreationDate="2011-11-29T16:37:54.570" Score="21" Body="&lt;p&gt;The matrix multiplication exponent being $\omega$ does not guarantee that there is an algorithm that runs in time $O(n^\omega)$, but only that for each $\epsilon &amp;gt; 0$, there is an algorithm that runs in $O(n^{\omega+\epsilon})$. Indeed if you can find an algorithm that runs in time $O(n^2 \mathrm{polylog}(n))$, then this shows that $\omega = 2$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can find the formal definition in the book Algebraic Complexity Theory by Peter Bürgisser, Michael Clausen, Amin Shokrollahi.&lt;/p&gt;&#xA;" OwnerUserId="6190" LastActivityDate="2011-11-29T16:37:54.570" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9188" PostTypeId="2" ParentId="9186" CreationDate="2011-11-29T17:46:21.233" Score="6" Body="&lt;p&gt;It is well-known the &lt;a href=&quot;http://dx.doi.org/10.1109/SFCS.1981.27&quot; rel=&quot;noreferrer&quot;&gt;result&lt;/a&gt; of Coppersmith and Winograd that $O(n^{\omega})$-time cannot be realized by any single algorithm. But I've &lt;a href=&quot;http://qwiki.stanford.edu/index.php/Speedup&quot; rel=&quot;noreferrer&quot;&gt;read&lt;/a&gt; that they restricted to algorithms based on Strassen-like bilinear identities, so I don't know for sure since the paper is behind a paywall.&lt;/p&gt;&#xA;" OwnerUserId="168" LastActivityDate="2011-11-29T17:46:21.233" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9189" PostTypeId="2" ParentId="9184" CreationDate="2011-11-29T18:21:32.733" Score="34" Body="&lt;p&gt;One non-answer to your question is that &lt;a href=&quot;http://mathworld.wolfram.com/Squarefree.html&quot; rel=&quot;noreferrer&quot;&gt;SQUARE-FREE&lt;/a&gt; (is a number square free) is itself not known to be in P, and computing the Möbius function would solve this problem (since a square free number has $\mu(n) \neq 0$). &lt;/p&gt;&#xA;" OwnerUserId="80" LastEditorUserId="-1" LastEditDate="2017-01-03T11:09:20.573" LastActivityDate="2017-01-03T11:09:20.573" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9191" PostTypeId="2" ParentId="9147" CreationDate="2011-11-29T18:30:08.273" Score="13" Body="&lt;p&gt;While it's not inconceivable that the technical obstacles you mention could be overcome somehow, I think that there is very little motivation at present to do so, for the simple reason that (at least as far as I am aware) the difficulty of NP-hard problems in practice seems, empirically, to have little to do with their closeness to the 3-SAT phase transition.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Contrast this with some other ways to rank NP-hard problems in terms of difficulty: There is some empirical correlation between NP-hard problems that are easy in practice and NP-hard problems that are &lt;i&gt;easy to approximate&lt;/i&gt;, or that are &lt;i&gt;fixed-parameter tractable&lt;/i&gt; (in the sense of parameterized complexity).  Appropriate notions of reduction have been developed in these cases that partially explain the empirical observations.  However, there currently seems to be no empirical indication that most NP-hard problems that are difficult in practice are difficult &lt;i&gt;because&lt;/i&gt; of their close relationship to 3-SAT instances near the phase transition.  So it does not make too much sense to develop a theory to &quot;explain&quot; something that does not appear to be true in practice.&lt;/p&gt;&#xA;" OwnerUserId="2970" LastActivityDate="2011-11-29T18:30:08.273" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="9192" PostTypeId="1" CreationDate="2011-11-29T19:54:08.840" Score="3" ViewCount="215" Body="&lt;p&gt;I come to ask this question here, because Meta told me this place was probably best for it.&#xA;Reference: &lt;a href=&quot;https://meta.stackexchange.com/questions/114043/&quot;&gt;https://meta.stackexchange.com/questions/114043/&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I've read this article many a times and ran in to it again today: &lt;a href=&quot;http://www.yacoset.com/Home/signs-that-you-re-a-bad-programmer&quot; rel=&quot;nofollow noreferrer&quot;&gt;Signs that you're a bad programmer&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;And the 2nd paragraph is something I've been thinking about a lot recently:&lt;br /&gt;&#xA;2. Poor understanding of the language's programming model&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There's a plethora of programming languages out there, and a lot of programming models. I learned programming in college. With some basic Java, PHP, Javascript and C#. These are all either scripted or OOP.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are several more models and several more languages that implement those models.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Recently, I first tried out Ruby, and I never got beyond the basic stuff. Make an array, make a string, do substrings, etc...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My main problem was: why was I doing this? Why use a different tool when I already have one. You read so much stuff about how great certain languages are, but I feel I don't understand the goal of Ruby. Or its goals, if it has multiple.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Take PHP for example: you can use it to power websites, but also just to be a script that responds to a server request with some text-data.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then there's other models. Why do I use them and in what situations? Why prefer them over other models, etc...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does anyone know of a website or wiki that specializes in this? Because that would be really helpful.&lt;/p&gt;&#xA;" OwnerUserId="7420" LastEditorUserId="-1" LastEditDate="2017-03-20T10:29:37.143" LastActivityDate="2011-12-01T00:06:06.670" Title="Understanding the goals you can reach with different programming models and languages" Tags="&lt;reference-request&gt;&lt;pl.programming-languages&gt;" AnswerCount="0" CommentCount="12" ContentLicense="CC BY-SA 3.0" />
  <row Id="9193" PostTypeId="2" ParentId="9032" CreationDate="2011-11-29T21:59:02.060" Score="11" Body="&lt;p&gt;No, it is only ever harder.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Just as the decision problem for intuitionistic propositional logic is harder than of classical propositional logic, so to is linear propositional logic harder still.  With either exponentials (which don't lack contraction) or various flavours of noncommutative connective, the logic becomes undecidable and even the weakling classical MALL is PSPACE complete.  By contrast, the decision problem for classical propositional logic is co-NP complete, and for intuitionistic propositional logic, PSPACE complete.  (Offhand, I don't know the complexity of intuitionistic MALL.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I recommend Pat Lincoln's exposition in section 6 of his &lt;a href=&quot;http://www.csl.sri.com/users/lincoln/papers/sigact92.pdf&quot;&gt;Linear logic&lt;/a&gt;, SIGACT News 1992.  We have learned a bit more since then, that is, we have results for a large family of linear logics, but the basic picture is there.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In a certain way, this is what makes proof search for linear logic interesting, since hardness of the decision problem makes space for more interesting notions of computation, and linear logic is hard in so many different ways.  Andrej pointed to Dale Miller's &lt;a href=&quot;http://www.lix.polytechnique.fr/~dale/papers/llp.pdf&quot;&gt;An Overview of Linear Logic Programming&lt;/a&gt;; this is a good place to look since Miller has done more to develop the idea of &lt;em&gt;proof search as computation&lt;/em&gt; as anyone else.&lt;/p&gt;&#xA;" OwnerUserId="270" LastEditorUserId="270" LastEditDate="2011-12-02T11:01:58.377" LastActivityDate="2011-12-02T11:01:58.377" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9194" PostTypeId="2" ParentId="9186" CreationDate="2011-11-29T22:57:59.407" Score="3" Body="&lt;p&gt;I do not agree with your statement in the question that $\omega$ is not well-defined by &quot;the smallest value for which there is a known $n^ω$ matrix-multiplication algorithm.&quot; When people are using this constant, it is because their algorithm relies on a matrix multiplication, and by a complexity $n^\omega$, they mean &quot;the optimal complexity of our algorithm is given by the optimal algorithm for matrix multiplication.&quot; &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am not saying that it is not possible to define $\omega$ otherwise (e.g. saying that $\omega$ is the best achievable complexity). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Btw, the best known upper bound for matrix multiplication has just been improved to $2.3737$ if I am not mistaken.  &lt;/p&gt;&#xA;" OwnerUserId="976" LastActivityDate="2011-11-29T22:57:59.407" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="9195" PostTypeId="2" ParentId="9186" CreationDate="2011-11-29T23:16:27.600" Score="7" Body="&lt;p&gt;A minor comment that's too long to be a comment: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Sometimes when you have a problem for which there is an algorithm with running time $O(n^{k+\epsilon})$ for every $\epsilon&amp;gt;0$, there is an algorithm with running time $n^{k+o(1)}$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, sometimes you get algorithms that go like $f(1/\epsilon)n^{k+\epsilon}$ for some fast growing function $f$ (like $2^{2^{1/\epsilon}}$). If you set $f(1/\epsilon)$ to (say) $\log n$, then $\epsilon$ will be o(1). In the example with $f(1/\epsilon)$ being $2^{2^{1/\epsilon}}$, you can choose $1/\epsilon$ to be $\log \log \log n$, which gives $\epsilon = 1/ (\log \log \log n)$, which is o(1). So the final running time of this algorithm will be $n^{k+o(1)}$, since $\log n$ is also $n^{o(1)}$.&lt;/p&gt;&#xA;" OwnerUserId="206" LastActivityDate="2011-11-29T23:16:27.600" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="9196" PostTypeId="1" AcceptedAnswerId="9203" CreationDate="2011-11-30T06:18:01.503" Score="24" ViewCount="2240" Body="&lt;p&gt;Practically, for a language that can eventually be compiled/transformed into system level instructions, is it necessary that it be a context free grammar?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;ex: Are all programming/scripting languages context free grammars? Java is based on CFGs, but is it actually the case that all programming languages are based on CFGs?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It does not seem mandatory, but there are gaps in my understanding.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some context for the question: I was looking at Java language specification, which also provides the grammar &lt;a href=&quot;http://java.sun.com/docs/books/jls/third_edition/html/syntax.html#18.1&quot;&gt;rules&lt;/a&gt;. This made me think about this question.&lt;/p&gt;&#xA;" OwnerUserId="5873" LastEditorUserId="5873" LastEditDate="2011-11-30T15:23:58.270" LastActivityDate="2015-11-13T16:24:46.570" Title="For a language to be programmable, is it mandatory that it be based on a context free grammar" Tags="&lt;pl.programming-languages&gt;&lt;context-free&gt;" AnswerCount="10" CommentCount="12" FavoriteCount="11" ContentLicense="CC BY-SA 3.0" />
  <row Id="9197" PostTypeId="2" ParentId="9196" CreationDate="2011-11-30T06:34:09.320" Score="15" Body="&lt;p&gt;I don't believe that Python's grammar is context free. The requirement that lines in the same block of code have the same amount of indentation is not the sort of thing that context free grammars handle well.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More precisely, there appears to be a homomorphism from the language of Python blocks of the form&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;if condition:&#xA;     line1&#xA;     line2&#xA;     line3&#xA;else:&#xA;     line4&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;to the non-context-free language $0^n10^n10^n$ where the first block of zeros comes from the set of spaces at the start of line1, the second block comes the set of spaces at the start of line2, the third block comes from the set of spaces at the start of line3, and the remaining lines with the else etc are there to force line1, line2, and line3 to belong to the same block.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2011-11-30T06:34:09.320" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="9198" PostTypeId="2" ParentId="9196" CreationDate="2011-11-30T07:40:19.030" Score="6" Body="&lt;p&gt;I believe that C's grammar is only technically context-free in that parsers always use non-context-free techniques to support &lt;a href=&quot;http://en.wikipedia.org/wiki/Duff%27s_device&quot;&gt;Duff's device&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Indentation based languages aren't naturally context-free either like David said, but they become context-free relative to a parameterized indentation token. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Haskell lets you change operator precedence with infix and infixl.  Perl's strict pragma module is implemented using the lexical settings $^H and %^H, which make it not context-free, probably other settings too. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are macro expander languages like TeX in which afaik parsing doesn't make sense without executing. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are probably even two context-free grammars who's intersection isn't context-free but still describes a Turing machine.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Java and assembler are probably both &lt;em&gt;naturally&lt;/em&gt; context-free. &lt;/p&gt;&#xA;" OwnerUserId="6665" LastActivityDate="2011-11-30T07:40:19.030" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="9199" PostTypeId="2" ParentId="9196" CreationDate="2011-11-30T08:40:45.413" Score="7" Body="&lt;p&gt;I think that &lt;em&gt;declaration before use&lt;/em&gt; of variables and the &lt;em&gt;function polymorphism&lt;/em&gt; of the OOP languages are other examples of programming languages specifications that cannot be handled by context free grammars:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;int myfun(int a) { ... }&#xA;int myfun(int a, int b) { ... }&#xA;int myfun(int a, int b, int c, ...) { ... }&#xA;...&#xA;int I_m_I_cfg = myfun(1,2);&#xA;...&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;I made a little Google search and I found this article: &lt;em&gt;&quot;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.70.7166&quot; rel=&quot;noreferrer&quot;&gt;A Boolean Grammar for a Simple Boolean Language&lt;/a&gt;&quot;&lt;/em&gt; by A.Okhotin (2004); according to him,  the real problem is  to find a programming language that is &lt;em&gt;completely&lt;/em&gt; described by a formal grammar:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;A toy procedural programming language is defined, and a &lt;a href=&quot;http://en.wikipedia.org/wiki/Boolean_grammar&quot; rel=&quot;noreferrer&quot;&gt;Boolean grammar&lt;/a&gt;&#xA;for the set of well-formed programs in this language is constructed. This is&#xA;apparently the first specification of a programming language entirely by a formal&#xA;grammar.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The Introduction section of the article is short but very clarifying.&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2011-11-30T14:48:49.660" LastActivityDate="2011-11-30T14:48:49.660" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9200" PostTypeId="2" ParentId="9196" CreationDate="2011-11-30T08:54:38.460" Score="4" Body="&lt;p&gt;No, and many practical languages are not context-free. For example C++ grammar is not, because in some contexts grammar resolution depends on typing information that is not context-free.&lt;/p&gt;&#xA;" OwnerUserId="4576" LastActivityDate="2011-11-30T08:54:38.460" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9201" PostTypeId="2" ParentId="9196" CreationDate="2011-11-30T09:42:29.173" Score="3" Body="&lt;p&gt;As far as the &quot;Are all programming/scripting languages context free grammars?&quot; part is concerned, the answer is a definite No. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Re: the main question of &quot;for a language that can eventually be compiled/transformed into system level instructions,&quot; I do not know why it needs necessarily to be a CFG. However, there could be better explanations coming forth.&lt;/p&gt;&#xA;" OwnerUserId="7176" LastActivityDate="2011-11-30T09:42:29.173" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9202" PostTypeId="2" ParentId="9196" CreationDate="2011-11-30T10:57:13.333" Score="4" Body="&lt;p&gt;First let me make a distinction between syntax of a programming language and the language itself.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The syntax of many languages are (at least based on) a Context Free Grammar (CFG) because these are well studied and there are algorithms which can efficiently parse a CFG and the edge case which cannot be solved by the CFG can be handled specially&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However many languages are in fact not Context-Free (when declare-before-use symbols are used, for example in java, C(++), D).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Fun fact: D has a Turing-complete compile-time-function evaluation and template expansion making the language itself non-Turing-decidable. However the the creator of the language went to great lengths to make the syntax a CFG.&lt;/p&gt;&#xA;" OwnerUserId="5737" LastEditorUserId="5737" LastEditDate="2015-11-13T16:24:46.570" LastActivityDate="2015-11-13T16:24:46.570" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="9203" PostTypeId="2" ParentId="9196" CreationDate="2011-11-30T11:26:26.320" Score="21" Body="&lt;p&gt;Two times no.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First, most HPLs are not context free. While they usually have syntax based on a CFG, they also have what people call &lt;em&gt;static semantics&lt;/em&gt; (which is also often included in the term syntax). This can include names and types which have to check out for a correct program. For instance,&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;class A {&#xA;  String a = &quot;a&quot;;&#xA;  int b = a + d;&#xA;}&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;is a syntactically correct Java program but will not compile because &lt;code&gt;d&lt;/code&gt; is not defined and &lt;code&gt;a&lt;/code&gt; does not have a fitting type.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Secondly, you &lt;em&gt;can&lt;/em&gt; parse languages that are not context-free (as obviously proven by the existence of compilers). It is only that CFGs can be parsed efficiently, while CSGs can not, in general. However, you can add certain non-context-free features while remaining efficient.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Compilers often run in phases: first tokenization (regular), then context-free parsing, then name and type analysis (context-sensitive, sometimes even harder). You can observe that behaviour by the kind of error messages you get.&lt;/p&gt;&#xA;" OwnerUserId="1546" LastEditorUserId="1546" LastEditDate="2011-12-01T09:49:26.663" LastActivityDate="2011-12-01T09:49:26.663" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="9204" PostTypeId="2" ParentId="6448" CreationDate="2011-11-30T14:06:25.780" Score="7" Body="&lt;p&gt;&lt;strong&gt;Encourage CouchSurfing as an accommodation&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am not saying to bind people to &lt;a href=&quot;http://en.wikipedia.org/wiki/CouchSurfing&quot;&gt;CouchSurf&lt;/a&gt;, however imagine that with the hotel recommendation you add a page where local researchers (or student as I imagine this would be mainly used by students) could post a message saying &quot;I can host so many people, mail me&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Only people ready to do it would use it. For example, for students going to the conference it may be a good way to:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Lower the entrance fees (you do not pay for accommodation) (for the couchsurfer)&lt;/li&gt;&#xA;&lt;li&gt;Not a random CouchSurfing, meet people from the field, have a better interaction (for both couchsurfer and host)&lt;/li&gt;&#xA;&lt;li&gt;Visit the places to see in the city with someone that knows it, enjoy it to the fullest.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I imagine that this can be a lot of work to do from scratch, however it may be possible to have an organization specialized in CS to do this for the conference organizer since it does some advertising for them with not a lot of work. Win-win. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I know that this will not be used by every one, but I believe that those using it will really benefit from it (personnal experience, I always had a great time CS).&lt;/p&gt;&#xA;" OwnerUserId="4873" LastActivityDate="2011-11-30T14:06:25.780" CommentCount="0" CommunityOwnedDate="2011-11-30T14:06:25.780" ContentLicense="CC BY-SA 3.0" />
  <row Id="9206" PostTypeId="2" ParentId="9196" CreationDate="2011-11-30T15:06:09.880" Score="20" Body="&lt;p&gt;Parsing perl is un-decidable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.jeffreykegler.com/Home/perl-and-undecidability/perl-and-undecidability-files/TPR3.pdf?attredirects=0&quot;&gt;http://www.jeffreykegler.com/Home/perl-and-undecidability/perl-and-undecidability-files/TPR3.pdf?attredirects=0&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.perlmonks.org/?node_id=663393&quot;&gt;http://www.perlmonks.org/?node_id=663393&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="138" LastActivityDate="2011-11-30T15:06:09.880" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="9207" PostTypeId="2" ParentId="9121" CreationDate="2011-11-30T15:08:21.950" Score="4" Body="&lt;p&gt;Sorry, no pseudocode, but a recent paper with a fast parallel algorithm, to appear in ACM Transactions on Mathematical Software:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;@Article{Gustavson:2011:PCE,&#xA;  author =       &quot;Fred Gustavson and Lars Karlsson and Bo K{\aa}gstr{\&quot;o}m&quot;,&#xA;  title =        &quot;Parallel and Cache-Efficient In-Place Matrix Storage Format&#xA;                  Conversion&quot;,&#xA;  journal =      &quot;{ACM} Transactions on Mathematical Software&quot;,&#xA;  accepted =     &quot;8 July 2010&quot;,&#xA;  upcoming =     &quot;true&quot;, &#xA;  abstract =     &quot;&#xA;                  Techniques and algorithms for efficient in-place&#xA;                  conversion to and from standard and blocked matrix&#xA;                  storage formats are described. Such functionality is&#xA;                  required by numerical libraries that use different&#xA;                  data layouts internally. Parallel algorithms and a&#xA;                  software package for in-place matrix storage format&#xA;                  conversion based on in-place matrix transposition are&#xA;                  presented and evaluated. A new algorithm for in-place&#xA;                  transposition which efficiently determines the structure&#xA;                  of the transposition permutation a priori is one of the&#xA;                  key ingredients. It enables effective load balancing in&#xA;                  a parallel environment.&quot;,&#xA;}&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is the &lt;a href=&quot;http://toms.acm.org/Upcoming.html&quot; rel=&quot;nofollow&quot;&gt;journal page&lt;/a&gt;, and here is a &lt;a href=&quot;http://www8.cs.umu.se/research/uminf/reports/2010/005/part1.pdf&quot; rel=&quot;nofollow&quot;&gt;pdf version&lt;/a&gt; of the paper.&#xA;I hope this can be useful.&lt;/p&gt;&#xA;" OwnerUserId="4208" LastEditorUserId="4208" LastEditDate="2011-11-30T15:15:01.307" LastActivityDate="2011-11-30T15:15:01.307" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9209" PostTypeId="1" AcceptedAnswerId="9251" CreationDate="2011-11-30T15:20:32.847" Score="16" ViewCount="553" Body="&lt;p&gt;What is the minimal number of binary gates needed to compute AND and OR of $n$ input bits simultaneously?&#xA;The trivial upper bound is $2n-2$. I believe that this is optimal, but how to prove this? The standard &#xA;gate elimination technique does not work here as by assigning a constant to any of the input variables&#xA;one trivializes one of the outputs. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem is also given as an exercise 5.12 in the book &quot;Complexity of Boolean Functions&quot; by Ingo Wegener&#xA;in a slightly different form: &quot;Let $f_n(x) = x_1\dots x_n \lor \bar{x}_1 \dots \bar{x}_n$. By the elimination method one&#xA;can prove only a lower bound of size $n+\Omega(1)$. Try to prove larger lower bounds.&quot;&lt;/p&gt;&#xA;" OwnerUserId="1650" LastEditorUserId="186" LastEditDate="2011-12-01T17:25:34.570" LastActivityDate="2011-12-04T15:23:09.933" Title="Number of binary gates needed to compute AND and OR of n input bits simultaneously" Tags="&lt;cc.complexity-theory&gt;&lt;lower-bounds&gt;&lt;circuit-complexity&gt;" AnswerCount="2" CommentCount="7" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9210" PostTypeId="2" ParentId="9196" CreationDate="2011-11-30T16:11:30.453" Score="13" Body="&lt;p&gt;Bodo Manthey and Martin Böhme show that every&#xA;C++ Compiler is necessarily Turing complete, that is, it can compute any&#xA;partial recursive function at &lt;em&gt;compile&lt;/em&gt; time. So it is much worse than&#xA;just context-sensitive.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://wwwhome.math.utwente.nl/~mantheyb/journals/BotEATCS_BoehmeManthey_CompilingCPP.pdf&quot;&gt;http://wwwhome.math.utwente.nl/~mantheyb/journals/BotEATCS_BoehmeManthey_CompilingCPP.pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="6456" LastActivityDate="2011-11-30T16:11:30.453" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="9211" PostTypeId="2" ParentId="9196" CreationDate="2011-11-30T16:46:42.753" Score="3" Body="&lt;p&gt;A programming language needs to be based on some kind of grammar formalism, of which CFGs are an example. While CFGs are the most common (and are the usual thing taught in compiler courses at univiersities), there are other formalisms such as Parsing Expression Grammars, which you can read more about &lt;a href=&quot;http://www.brynosaurus.com/pub/lang/peg.pdf&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;(pdf) or &lt;a href=&quot;http://en.wikipedia.org/wiki/Parsing_expression_grammar&quot; rel=&quot;nofollow&quot;&gt;on Wikipedia&lt;/a&gt; for a more bite sized read.&lt;/p&gt;&#xA;" OwnerUserId="7427" LastActivityDate="2011-11-30T16:46:42.753" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9212" PostTypeId="1" CreationDate="2011-11-30T18:38:03.457" Score="-1" ViewCount="615" Body="&lt;p&gt;Please let me know whether there are closed-form optimal results (or upper bound) for the following optimization problem:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\max (\prod_{1\leq i\leq n}(x_i)^{y_i}-\prod_{1\leq i\leq n}(x_i-\alpha)^{y_i})$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;with the following  constraints:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$x_i\geq \alpha; \sum_{1\leq i\leq n} x_i=1$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$y_i\in\{0,1,\dots,m\}; \sum_{1\leq i\leq n} y_i=m$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Only $x_i,y_i$ are variables. $\alpha$ is known and  $0\leq \alpha \leq1/n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thank you very much.&lt;/p&gt;&#xA;" OwnerUserId="7430" LastActivityDate="2011-12-01T02:07:14.017" Title="Upper bound of an optimization problem" Tags="&lt;upper-bounds&gt;&lt;convex-optimization&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="9213" PostTypeId="1" CreationDate="2011-11-30T18:56:51.917" Score="0" ViewCount="137" Body="&lt;p&gt;Is there a data structure that allows one to represent sets of $n$ dimensional rectangles, all orthogonal or parallel to the $x$ axis. efficiently. Allowing all common set operations (union, difference etc) to be done efficiently as well?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let me explain what I mean by a 2D example.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given this two set of rectangles &lt;code&gt;*&lt;/code&gt; is the first set &lt;code&gt;%&lt;/code&gt; is the second set&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;*************&#xA;*           *&#xA;*       %%%%o%%%%%%&#xA;*       %   *     %&#xA;********o ***     %&#xA;        %         %&#xA;        %%%%%%%%%%%&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;If I'll do &lt;code&gt;*&lt;/code&gt; union &lt;code&gt;%&lt;/code&gt;, I can get&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;*************&#xA;*           *&#xA;*******************&#xA;*                 *&#xA;*******************&#xA;        *         *&#xA;        ***********&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;or&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;*************&#xA;*           *&#xA;*******************&#xA;*       *   *     *&#xA;*******************&#xA;        *         *&#xA;        ***********&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;If I'll do &lt;code&gt;*&lt;/code&gt; difference &lt;code&gt;%&lt;/code&gt;, I can get&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;*************&#xA;*           *&#xA;*************&#xA;*       *&#xA;*********&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Can you refer me to a relevant paper?&lt;/p&gt;&#xA;" OwnerUserId="6241" LastEditorUserId="6241" LastEditDate="2011-12-01T09:24:22.633" LastActivityDate="2011-12-01T09:24:22.633" Title="Efficiently representing sets of $n$-dimensional rectangles orthogonal an axis" Tags="&lt;cg.comp-geom&gt;" AnswerCount="0" CommentCount="12" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9216" PostTypeId="2" ParentId="9121" CreationDate="2011-11-30T20:58:14.107" Score="-2" Body="&lt;p&gt;Load two blocks that fit in cache then write them back out transposed? Depends on how they are stored if you want a parallelization.&lt;/p&gt;&#xA;" OwnerUserId="2021" LastActivityDate="2011-11-30T20:58:14.107" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9217" PostTypeId="2" ParentId="9212" CreationDate="2011-11-30T21:41:40.900" Score="1" Body="&lt;p&gt;To maximize the expression, given $x_i$, should set $y_i = m$ for the value of $i$ maximizing $x_i - \alpha$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This implies you should set $x_2, \dots, x_n = \alpha$ and $x_1 = 1 - (n-1) \alpha$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(I assume here that $0^0 = 1$; otherwise you must set $x_i = \alpha + \epsilon$, and the resulting function does not realize its supremum)&lt;/p&gt;&#xA;" OwnerUserId="5538" LastEditorUserId="5538" LastEditDate="2011-12-01T02:07:14.017" LastActivityDate="2011-12-01T02:07:14.017" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9218" PostTypeId="1" CreationDate="2011-11-30T22:45:02.823" Score="7" ViewCount="129" Body="&lt;p&gt;I am interested in simple matrix optimizations with nuclear/trace norm:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\min_X \left(f(X) + \|X\|_*\right)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where $\|X\|_*$ stands for the trace norm of the matrix $X$, and $f$ is a convex smooth function.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is the largest size of the matrix that the state-of-the-art solvers can handle?  In particular, I am interested in the case where &lt;em&gt;both&lt;/em&gt; the number of rows &lt;em&gt;and&lt;/em&gt; columns are large.&lt;/p&gt;&#xA;" OwnerUserId="7435" LastEditorUserId="80" LastEditDate="2011-12-01T18:27:03.077" LastActivityDate="2011-12-01T18:27:03.077" Title="What's the state of the art for matrix nuclear/trace norm optimization" Tags="&lt;na.numerical-analysis&gt;&lt;sparse-matrix&gt;&lt;convex-optimization&gt;" AnswerCount="0" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9219" PostTypeId="1" CreationDate="2011-12-01T01:38:28.917" Score="1" ViewCount="120" Body="&lt;p&gt;How do I derive the EM training equations for a noisy-OR Bayesian network?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am familiar with one solution to these equations.  If I remember correctly, the result is:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a model with link weights $$p_{ij} = 1-e^{-w_{ij}}$$ between nodes $i$ and $j$.  Then, for each training example fix the input variables, and use the model to generate some configurations over latent variables.  For each configuration where $T$ is the set of variables that are true, the configuration probability probability is $q$:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;\begin{align}&#xA;q_j &amp;amp;= 1-\prod_{i\in T} (1-p_{ij})=1-e^{-\sum_{i\in T}w_{ij}}\newline&#xA;q &amp;amp;= \prod_{j \in T}q_j\prod_{j \notin T}(1-q_j)&#xA;\end{align}&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The E-step comprises updating counts:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Add $q$ to $x_i$: if $i \in T$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Add $$q\frac{p_{ij}}{q_j}\qquad\qquad(1)$$&#xA;to $l_{ij}$ if $i, j \in T$ and there is a link from $i$ to $j$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The M-step is to let each new link weight (from node $i$ to node $j$) be:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\frac{l_{ij}}{x_i}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;When I tried to derive these equations, I wasn't able to generate equation (1).&lt;/p&gt;&#xA;" OwnerUserId="1867" LastEditorUserId="1867" LastEditDate="2011-12-01T12:39:53.323" LastActivityDate="2011-12-01T12:39:53.323" Title="Derivation of Expected-Maximization training equations for a noisy-OR Bayesian network" Tags="&lt;machine-learning&gt;" AnswerCount="0" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9220" PostTypeId="2" ParentId="9183" CreationDate="2011-12-01T01:48:27.087" Score="7" Body="&lt;p&gt;As an expansion of the comment I made above, here it is in answer form. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'll just talk about maximum matchings, since that will demonstrate the point.  Suppose that we consider both $K_{1,2n-1}$ and $K_{n,n}$. The first has a maximum matching of size 1, since it's a star graph, and the other has $n$ for obvious reasons.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's easiest to reason about the normalized adjacency matrix $D^{-1}A$, but the same applies to the normalized Laplacian.  Both of these graphs have an eigenvalue of 1, because every connected graph does. The corresponding eigenvector is the vector of all ones (this is easy enough to see because $A\mathbf{1} = D\mathbf{1}$). Since they're bipartite, they both also have eigenvalues of -1, with eigenvectors corresponding to being negative on one side and positive on the other: e.g. the column vector with parts $\mathbf{1}_L$ and $-\mathbf{1}_R)$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The trick is to see that the other eigenvalues are zero. But this should be obvious, because the adjacency matrix of a complete bipartite graph only has two independent rows/columns. Any others are just copies of these.&lt;/p&gt;&#xA;" OwnerUserId="284" LastActivityDate="2011-12-01T01:48:27.087" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9221" PostTypeId="1" AcceptedAnswerId="9225" CreationDate="2011-12-01T03:37:02.497" Score="30" ViewCount="3689" Body="&lt;p&gt;I was wondering whether there is a ``better'' (I will explain in what sense) algorithm to start from a DFA $\mathcal{A}$ and construct a regular expression $r$ such that $L(\mathcal{A})=L(r)$, than the one in the book by Hopcroft and Ullman (1979). In there, the sets $R_{ij}^k$ are used to represent sets of strings that take the DFA from state $q_i$ to $q_j$ without going through any state numbered higher than $k$. This construction, although obviously correct and very useful, is rather technical.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm writing a monograph about algebraic automata theory and I don't want to distract my audience with too many technical details (at least not with details that are irrelevant for the results I want to show), but I do want to include a proof of the equivalence between DFA and regular expressions for the sake of completeness. For the record, I'm using Glushkov automata to go from a regular expression to a DFA. It seemed more intuitive than $\varepsilon$-transitions, which I didn't define at all (again, because I don't need them).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What other algorithms are known to go from a DFA to a regular expression? I value simplicity over efficiency (that's ``better'' for me in this case), but that is not a requirement.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks in advance for your help!&lt;/p&gt;&#xA;" OwnerUserId="5396" LastEditorUserId="2367" LastEditDate="2011-12-04T00:50:03.543" LastActivityDate="2011-12-04T00:50:03.543" Title="Known algorithms to go from a DFA to a regular expression" Tags="&lt;fl.formal-languages&gt;&lt;automata-theory&gt;&lt;regular-expressions&gt;" AnswerCount="3" CommentCount="8" FavoriteCount="11" ContentLicense="CC BY-SA 3.0" />
  <row Id="9222" PostTypeId="2" ParentId="9182" CreationDate="2011-12-01T04:06:41.077" Score="3" Body="&lt;p&gt;As you may know, the problem of taking a weak shared key, about which the adversary knows some information, and extracting from it a key about which the adversary has essentially no information, is often referred to as &lt;em&gt;privacy amplification&lt;/em&gt;. Once this is done, we can use the new strong key for authentication, encryption, etc.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If interaction is allowed, Alice and Bob can extract a strong key over an inauthentic channel very efficiently, in particular there is no requirement that the min-entropy rate be at least 1/2. See &lt;a href=&quot;http://research.microsoft.com/en-us/um/people/nish/privacyamplification.pdf&quot; rel=&quot;nofollow&quot;&gt;&quot;Privacy Ampliﬁcation with Asymptotically Optimal Entropy Loss&quot;&lt;/a&gt; by Chandran, Kanukurthi, Ostrovsky, Reyzin, and references therein.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Their introduction mentions that non-interactive solutions (one message from Alice to Bob) exist as well (references 5, 10, 15), but these do require min-entropy rate 1/2. Depending on the application, another possibility for a one-message solution would be to use deterministic (aka seedless) extractors, which work only for certain classes of sources with some restricted structure. For instance, the adversary knows some fraction of the key's bits, but the remainder are uniformly random to him. See for example Kamp and Zuckerman, &lt;a href=&quot;http://www.cs.utexas.edu/~diz/pubs/erf.pdf&quot; rel=&quot;nofollow&quot;&gt;&quot;Deterministic Extractors for Bit-Fixing Sources and Exposure-Resilient Cryptography&quot;&lt;/a&gt; or Kamp, Rao, Vadhan, Zuckerman, &lt;a href=&quot;http://www.cs.washington.edu/homes/anuprao/pubs/small-space.pdf&quot; rel=&quot;nofollow&quot;&gt;&quot;Deterministic Extractors for Small-Space Sources&quot;&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="6666" LastEditorUserId="6666" LastEditDate="2011-12-01T06:15:41.287" LastActivityDate="2011-12-01T06:15:41.287" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="9223" PostTypeId="5" CreationDate="2011-12-01T04:18:45.100" Score="0" Body="" OwnerUserId="-1" LastEditorUserId="-1" LastEditDate="2011-12-01T04:18:45.100" LastActivityDate="2011-12-01T04:18:45.100" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9224" PostTypeId="4" CreationDate="2011-12-01T04:18:45.100" Score="0" Body="A matching is a subset of the edges of a graph, such that no edge in the subset shares a vertex with another." OwnerUserId="284" LastEditorUserId="284" LastEditDate="2011-12-01T05:22:14.813" LastActivityDate="2011-12-01T05:22:14.813" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9225" PostTypeId="2" ParentId="9221" CreationDate="2011-12-01T07:55:22.243" Score="19" Body="&lt;p&gt;Two more constructions: Brzozowski-McCluskey aka state elimination [1], and Gaussian elimination in a system of equations using Arden's Lemma.  The best source on these is probably Jacques Sakarovitch's book [2].&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] J. Brzozowski, E. McCluskey Jr., Signal ﬂow graph techniques for sequential circuit state diagrams, IEEE Transactions on Electronic &#xA;Computers EC-12 (1963) 67–76.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] J. Sakarovitch, Elements of Automata Theory.  Cambridge University Press, 2009.&lt;/p&gt;&#xA;" OwnerUserId="609" LastEditorUserId="609" LastEditDate="2011-12-01T22:08:52.720" LastActivityDate="2011-12-01T22:08:52.720" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="9226" PostTypeId="1" CreationDate="2011-12-01T12:24:53.193" Score="0" ViewCount="1209" Body="&lt;p&gt;If I want to be aware of the lastest discoveries in the Computer Science area, what's a good source of information? (preferable online)&lt;/p&gt;&#xA;" OwnerUserId="2604" LastEditorUserId="186" LastEditDate="2011-12-01T17:37:20.163" LastActivityDate="2011-12-02T16:08:40.443" Title="What's a good news source for Computer Science?" Tags="&lt;soft-question&gt;&lt;research-practice&gt;" AnswerCount="3" CommentCount="12" FavoriteCount="4" ClosedDate="2011-12-02T17:23:06.893" ContentLicense="CC BY-SA 3.0" />
  <row Id="9227" PostTypeId="2" ParentId="9226" CreationDate="2011-12-01T12:47:28.727" Score="9" Body="&lt;p&gt;&lt;a href=&quot;http://feedworld.net/toc/&quot;&gt;Theory of Computing Blog Aggregator&lt;/a&gt; for &lt;em&gt;theoretical&lt;/em&gt; computer science&lt;/p&gt;&#xA;" OwnerUserId="3825" LastActivityDate="2011-12-01T12:47:28.727" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="9228" PostTypeId="2" ParentId="9226" CreationDate="2011-12-01T12:54:04.427" Score="4" Body="&lt;p&gt;If you want to follow a specific field, try &lt;a href=&quot;http://arxiv.org/&quot; rel=&quot;nofollow&quot;&gt;arxiv.org&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="1546" LastActivityDate="2011-12-01T12:54:04.427" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="9229" PostTypeId="2" ParentId="9184" CreationDate="2011-12-01T13:39:43.073" Score="15" Body="&lt;p&gt;For another non-answer, you might be interested in Sarnak’s conjecture (see e.g. &lt;a href=&quot;http://gilkalai.wordpress.com/2011/02/21/the-ac0-prime-number-conjecture/&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://gilkalai.wordpress.com/2011/02/21/the-ac0-prime-number-conjecture/&lt;/a&gt;, &lt;a href=&quot;http://rjlipton.wordpress.com/2011/02/23/the-depth-of-the-mobius-function/&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://rjlipton.wordpress.com/2011/02/23/the-depth-of-the-mobius-function/&lt;/a&gt;, &lt;a href=&quot;https://mathoverflow.net/questions/57543/walsh-fourier-transform-of-the-mobius-function&quot;&gt;https://mathoverflow.net/questions/57543/walsh-fourier-transform-of-the-mobius-function&lt;/a&gt;), which basically states that Möbius function is not correlated with any “simple” Boolean function. It’s not unreasonable to expect it should hold when “simple” is interpreted as polynomial-time. What we know so far is that the conjecture holds for $\mathrm{AC}^0$-functions (proved by &lt;a href=&quot;http://arxiv.org/abs/1103.4991&quot; rel=&quot;nofollow noreferrer&quot;&gt;Ben Green&lt;/a&gt;), and all monotone functions (proved by &lt;a href=&quot;http://arxiv.org/abs/1112.1423&quot; rel=&quot;nofollow noreferrer&quot;&gt;Jean Bourgain&lt;/a&gt;).&lt;/p&gt;&#xA;" OwnerUserId="6959" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2011-12-09T13:20:51.413" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9230" PostTypeId="2" ParentId="9121" CreationDate="2011-12-01T13:55:55.323" Score="3" Body="&lt;p&gt;You could look at &lt;a href=&quot;http://onlinelibrary.wiley.com/doi/10.1111/j.1365-2966.2010.17587.x/abstract&quot; rel=&quot;nofollow&quot;&gt;this paper&lt;/a&gt;, which gives a proposal for how to solve this problem for a practical application in radio astronomy. One of the authors is quite knowledgeable about computer science, so they're not rediscovering the wheel here.&lt;/p&gt;&#xA;" OwnerUserId="1677" LastActivityDate="2011-12-01T13:55:55.323" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9231" PostTypeId="2" ParentId="6208" CreationDate="2011-12-01T16:35:58.470" Score="6" Body="&lt;p&gt;There has been a bit of a revival in verified optimizing compilers. In addition to Lerner's paper (mentioned in a previous comment), you might look at the &lt;a href=&quot;http://compcert.inria.fr/index.html&quot; rel=&quot;nofollow&quot;&gt;CompCert&lt;/a&gt; project led by Xavier Leroy. They've done some cool stuff with specifying optimizations as machine-checkable proofs (using &lt;strong&gt;Coq&lt;/strong&gt;). I haven't yet read the papers, but The &lt;a href=&quot;http://www.cs.princeton.edu/~appel/VST/&quot; rel=&quot;nofollow&quot;&gt;Verified Software Toolchain&lt;/a&gt; project at Princeton also seems to be producing interesting results in this area. &lt;/p&gt;&#xA;" OwnerUserId="7450" LastEditorUserId="77" LastEditDate="2011-12-05T09:19:35.073" LastActivityDate="2011-12-05T09:19:35.073" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9232" PostTypeId="2" ParentId="1198" CreationDate="2011-12-01T18:43:53.790" Score="5" Body="&lt;p&gt;Videos from Banff events: &lt;a href=&quot;http://www.birs.ca/events/2011/5-day-workshops/11w5117/videos&quot; rel=&quot;noreferrer&quot;&gt;this one&lt;/a&gt; is from the ongoing workshop on approximations. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2011-12-01T18:43:53.790" CommentCount="0" CommunityOwnedDate="2011-12-01T18:43:53.790" ContentLicense="CC BY-SA 3.0" />
  <row Id="9233" PostTypeId="1" AcceptedAnswerId="9236" CreationDate="2011-12-01T20:11:06.953" Score="13" ViewCount="291" Body="&lt;p&gt;I have a question concerning the SERF-reducibility of &lt;a href=&quot;http://cseweb.ucsd.edu/~russell/ipz.pdf&quot;&gt;Impagliazzo, Paturi and Zane&lt;/a&gt; and subexponential algorithms. The definition of SERF-reducibility gives the following:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;If $P_1$ is SERF-reducible to $P_2$ and there $O(2^{\varepsilon n})$ algorithm for $P_2$ for each $\varepsilon &amp;gt; 0$, then there is $O(2^{\varepsilon n})$ algorithm for $P_1$ for each $\varepsilon &amp;gt; 0$. (Hardness parameter for both problems is denoted by $n$.)&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Some sources seem to imply that the following also holds:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;If $P_1$ is SERF-reducible to $P_2$ and there $O(2^{o(n)})$ algorithm for $A_2$, then there is $O(2^{o(n)})$ algorithm for $P_1$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;My question is, does this latter claim actually hold and if it does, is there a write-up of the proof somewhere?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As a background, I've been trying to understand the area around the Exponential Time Hypothesis. IPZ define subexponential problems as ones that have $O(2^{\varepsilon n})$ algorithm for each $\varepsilon &amp;gt; 0$, but this apparently is not sufficient in the light of the current knowledge to imply the existence of a subexponential algorithm for the problem. The same gap seems to be present in the SERF reducibility, but I am partially expecting that I am missing something here...&lt;/p&gt;&#xA;" OwnerUserId="290" LastActivityDate="2011-12-02T10:27:11.857" Title="SERF-reducibility and subexponential algorithms" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9234" PostTypeId="2" ParentId="9221" CreationDate="2011-12-01T20:57:37.263" Score="16" Body="&lt;p&gt;Kozen's book &quot;Automata &amp;amp; Computability&quot; mentions an elegant generalization of this Floyd-Warshall algorithm. Since you mentioned appealing to algebraists, you might find it useful. You'll find it on page 58-59 of that text. (I think google books has a preview.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Basically, you can define a Kleene algebra on matrices whose entries are from a Kleene algebra. Addition/union of matrices is coordinate-wise addition. Multiplication/concatenation of matrices is just like regular matrix multiplication. Kleene star for $2 \times 2$ matrices is defined as:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\begin{bmatrix} a &amp;amp; b \\ c &amp;amp; d \end{bmatrix}^*&#xD;&#xA;    =&#xD;&#xA;\begin{bmatrix}&#xD;&#xA;    (a+bd^*c)^* &amp;amp; (a+bd^*c)^*bd^* \\&#xD;&#xA;    (d+ca^*b)^*ca^* &amp;amp; (d+ca^*b)^*&#xD;&#xA;\end{bmatrix}&#xD;&#xA;$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can see that if the left-hand matrix is the transition matrix of a 2-state DFA, then the $i,j$-entry of right-hand matrix describes the set of paths (of any length) from state $i$ to state $j$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then Kleene star of larger matrices is defined recursively: divide the $n \times n$ matrix into 4 quadrants/submatrices $a,b,c,d$, of dimensions $m\times m$, $m\times (n-m)$, $(n-m) \times m$, and $(n-m) \times (n-m)$, and apply the $2 \times 2$ rule above now with the matrix minors instead of &quot;scalar&quot; entries. (Analogously to how regular matrix multiplication can be defined recursively based on the rule for $2 \times 2$.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So if you have an $n$-state NFA and its corresponding transition matrix $T$. Then an equivalent regular expression is $\sum_{f \in F} (T^*)_{s,f}$, where $s$ is the start state. $T^*$ can be evaluated recursively using the definition above.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Kozen claims that the case where you evaluate the matrix-star recursively using $m=1$ corresponds to the $R_{ij}^k$ algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another derivation of the Kleene algebra structures over matrices appears in &lt;a href=&quot;http://www.cs.cornell.edu/~kozen/papers/ka.ps&quot;&gt;A Completeness Theorem for Kleene Algebras and the Algebra of Regular Events&lt;/a&gt; by Kozen.&lt;/p&gt;&#xA;" OwnerUserId="149" LastEditorUserId="149" LastEditDate="2011-12-01T21:04:50.590" LastActivityDate="2011-12-01T21:04:50.590" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9235" PostTypeId="2" ParentId="1198" CreationDate="2011-12-02T01:03:32.857" Score="7" Body="&lt;p&gt;I'm late to answer,but find Cristian Calude's &lt;a href=&quot;http://www.youtube.com/watch?v=tYjmiT422yQ&quot;&gt; lecture &lt;/a&gt; on Incompleteness excellent.&lt;/p&gt;&#xA;" OwnerUserId="2801" LastActivityDate="2011-12-02T01:03:32.857" CommentCount="0" CommunityOwnedDate="2011-12-02T01:03:32.857" ContentLicense="CC BY-SA 3.0" />
  <row Id="9236" PostTypeId="2" ParentId="9233" CreationDate="2011-12-02T01:16:22.723" Score="8" Body="&lt;p&gt;&lt;strong&gt;EDIT:&lt;/strong&gt; As pointed out by Ryan in the comments, a problem may have a nonuniform algorithm with running time $O(2^{\epsilon n})$ for any constant $\epsilon &amp;gt; 0$ (the algorithm has access to $\epsilon$) but no uniform $2^{o(n)}$ time algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As a SERF reduction is a family of Turing reductions, one for each $\epsilon&amp;gt;0$, I conclude that they can only be used to obtain $O(2^{\epsilon n})$ time algorithms from $O(2^{\epsilon n})$ or $2^{o(n)}$ time algorithms.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;The following Theorem is proved by &lt;a href=&quot;http://www.cdm.depaul.edu/SoC/research/Documents/Kanj01.pdf&quot;&gt;Chen et al. [2009]&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Theorem 2.4&lt;/strong&gt;. Let $f(k)$ be a nondecreasing and unbounded function, and let $Q$ be a parameterized problem. Then the following statements are equivalent:&lt;br&gt;&#xA;(1) $Q$ can be solved in time $O(2^{\delta f(k)}p(n))$ for any constant $\delta &amp;gt; 0$, where $p$ is a polynomial;&lt;br&gt;&#xA;(2) $Q$ can be solved in time $2^{o(f(k))} q(n)$, where $q$ is a polynomial.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Taking $f(k)=n$ we obtain that a problem has a $O(2^{\epsilon n})$ time algorithm for every $\epsilon&amp;gt;0$ if and only if it has a $2^{o(n)}$ time algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is mentioned in the paper by Chen et al. that this equivalence had been intuitively used before but that it was causing some confusion among researchers.&lt;/p&gt;&#xA;" OwnerUserId="72" LastEditorUserId="72" LastEditDate="2011-12-02T10:27:11.857" LastActivityDate="2011-12-02T10:27:11.857" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="9237" PostTypeId="1" AcceptedAnswerId="9238" CreationDate="2011-12-02T02:04:27.647" Score="14" ViewCount="644" Body="&lt;p&gt;Would there be any major consequences if SAT had at most subexponential unsat proofs or even more strongly, SAT had subexponential-time algorithms?&lt;/p&gt;&#xA;" OwnerUserId="24" LastActivityDate="2019-11-10T19:19:58.700" Title="Consequences of sub-exponential proofs/algorithms for SAT" Tags="&lt;cc.complexity-theory&gt;&lt;sat&gt;&lt;proof-complexity&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="9238" PostTypeId="2" ParentId="9237" CreationDate="2011-12-02T04:03:22.210" Score="21" Body="&lt;p&gt;If SAT had a subexponential-time algorithm, the you would disprove the &lt;a href=&quot;http://en.wikipedia.org/wiki/Exponential_time_hypothesis&quot; rel=&quot;nofollow noreferrer&quot;&gt;exponential time hypothesis&lt;/a&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For fun consequences: if you showed that circuit SAT over AND,OR,NOT with &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt; variables and &lt;span class=&quot;math-container&quot;&gt;$poly(n)$&lt;/span&gt; circuit gates can be solved faster than the trivial &lt;span class=&quot;math-container&quot;&gt;$2^n poly(n)$&lt;/span&gt; approach, then by &lt;a href=&quot;http://www.cs.cmu.edu/~ryanw/improved-algs-lbs2.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Ryan Williams' paper&lt;/a&gt; you show that &lt;span class=&quot;math-container&quot;&gt;$NEXP \not\subseteq P/poly$&lt;/span&gt;.&lt;/p&gt;&#xA;" OwnerUserId="1037" LastEditorUserId="2367" LastEditDate="2019-11-10T19:19:58.700" LastActivityDate="2019-11-10T19:19:58.700" CommentCount="1" ContentLicense="CC BY-SA 4.0" />
  <row Id="9240" PostTypeId="1" CreationDate="2011-12-02T06:46:11.260" Score="0" ViewCount="155" Body="&lt;p&gt;Let the problem, $P_{overlapping}$, be the following. &#xA;We have an $N_1 \times N_2$ grid. Each cell of the grid can have the&#xA;value either 0 or 1. Assume that we have $a \times b$ overlapping windows as&#xA;the subset of the $N_1 \times N_2$ grid where $a &amp;lt; N_1$ and $b &amp;lt; N_2$,&#xA;and we want to have at least $k$ of the cells in each window&#xA;have the value 1. We are interested in minimizing the number&#xA;of cells having the value 1 when $N_1 \times N_2$ grid is covered by&#xA;$a \times b$ overlapping windows having $k$ cells with the value 1 in each.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;And, let the problem, $P_{non-overlapping}$, be the following.&#xA;We have an $N_1 \times N_2$ grid, and each cell of the grid can have the&#xA;value either 0 or 1 similar to the problem, $P_{overlapping}$.&#xA;But this time, assume that we have $a \times b$ non-overlapping windows as&#xA;the subset of the $N_1 \times N_2$ grid where $a &amp;lt; N_1$ and $b &amp;lt; N_2$,&#xA;and we want to have at least $k$ of the cells in each window&#xA;have the value 1. We are interested in minimizing the number&#xA;of cells having the value 1 when $N_1 \times N_2$ grid is covered by&#xA;$a \times b$ non-overlapping windows having $k$ cells with the value 1 in each.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For an $N \times N$ grid, $\left \lfloor \frac{N}{a} \right \rfloor \times &#xD;&#xA;\left \lfloor \frac{N}{b} \right \rfloor \times&#xD;&#xA;k$ is the lower bound for&#xA;$P_{non-overlapping}$.&#xA;In order to find optimal solutions for the problem $P_{overlapping}$, I used the following Integer Linear Programming formulation:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$&#xD;&#xA;\begin{align}&#xD;&#xA;\label{eqnew:01}&#xD;&#xA;\mbox{Minimize: } &amp;amp;{\displaystyle \sum_{i=1}^{N_1}\sum_{j=1}^{N_2} x_{ij}}   &amp;amp;;&amp;amp;  x_{ij} \in \{0,1\}   \notag \\&#xD;&#xA;\mbox{Subject To: } &amp;amp; {\displaystyle  \sum_{i=m}^{m+a-1} \ \sum_{j=n}^{n+b-1} x_{ij} \ge k}  &amp;amp;;&amp;amp;     \forall{m}, \ 1 \le m \le N_1-a+1 \notag \\&#xD;&#xA;                    &amp;amp;          &amp;amp;,&amp;amp;   \forall{n}, \ 1 \le n \le N_2-b+1&#xD;&#xA;\end{align}&#xD;&#xA;&#xD;&#xA;$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;And using GLPK linear programming solver, and solving the problem for some $N \times N$ grids with $a \times b (12 \times 9)$ overlapping windows for $k=2$, &#xA;I got some results for&#xA;optimum solutions for $P_{overlapping}$. Interestingly, when&#xA;I used  the lower bound for the problem $P_{non-overlapping}$,&#xA;$N \times N$ grid, $\left \lfloor \frac{N}{12} \right \rfloor \times &#xD;&#xA;\left \lfloor \frac{N}{9} \right \rfloor \times&#xD;&#xA;2$ for $k=2$; solutions for both problems are the same as seen in the following graph  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.cs.utsa.edu/~btas/lowerBound12x9.png&quot; rel=&quot;nofollow&quot;&gt;comparison of the problems&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;And, finally, my question is the following. &#xA;Why are these two different problems have the same solutions&#xA;for $k=2$? How about for $k$ values other than 2?&#xA;Is this reasonable theoretically?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Many thanks for your time, fellas.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Baris&lt;/p&gt;&#xA;" OwnerUserId="5433" LastActivityDate="2011-12-02T06:46:11.260" Title="covering an NxN grid using overlapping vs. non-overlapping windows residing k points in each" Tags="&lt;lower-bounds&gt;&lt;optimization&gt;&lt;linear-programming&gt;" AnswerCount="0" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="9241" PostTypeId="1" AcceptedAnswerId="11557" CreationDate="2011-12-02T08:15:46.507" Score="46" ViewCount="13107" Body="&lt;p&gt;It is known that metric TSP can be approximated within $1.5$ and cannot be approximated better than $123\over 122$ in polynomial time. &#xA;Is anything known about finding approximation solutions in exponential time (for example, less than $2^n$ steps with only polynomial space)? &#xA;E.g. in what time and space we can find a tour whose distance is at most $1.1\times OPT$?&lt;/p&gt;&#xA;" OwnerUserId="7454" LastEditorUserId="7454" LastEditDate="2013-05-08T16:27:21.187" LastActivityDate="2019-01-25T03:01:50.353" Title="Approximation algorithms for Metric TSP" Tags="&lt;cc.complexity-theory&gt;&lt;graph-algorithms&gt;&lt;approximation-algorithms&gt;&lt;tsp&gt;&lt;exp-time-algorithms&gt;" AnswerCount="4" CommentCount="6" FavoriteCount="22" ContentLicense="CC BY-SA 3.0" />
  <row Id="9246" PostTypeId="1" AcceptedAnswerId="9287" CreationDate="2011-12-02T14:05:15.647" Score="16" ViewCount="716" Body="&lt;p&gt;As is well known, a tree decomposition of a graph $G$ consists of a tree $T$ with an associated bag $T_v \subseteq V(G)$ for each vertex $v \in V(T)$, which satisfies the following conditions:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Every vertex of $G$ occurs in some bag of $T$.&lt;/li&gt;&#xA;&lt;li&gt;For every edge of $G$ there is a bag containing both endpoints of the edge.&lt;/li&gt;&#xA;&lt;li&gt;For every vertex $v \in V(G)$, the bags containing $v$ induce a connected subtree of $T$.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;We may also demand the following condition, called &lt;em&gt;leanness&lt;/em&gt;, from our decomposition:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;For every pair of bags $T_a$, $T_b$ of $T$, if $A \subseteq T_a$ and $B \subseteq T_b$ with $|A| = |B| = k$, then either a) there are $k$ vertex-disjoint $A-B$ paths in $G$, or b) the tree $T$ contains an edge $pq$ on the path from node $a$ to node $b$ such that $|V(T_p) \cap V(T_q)| \leq k$ and the set $V(T_p) \cap V(T_q)$ intersects all $A-B$ paths in $G$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/009589569090130R&quot;&gt;Robin Thomas&lt;/a&gt; showed that there is always a minimum-width tree decomposition which is also lean, and simpler proofs of this fact have been provided by several authors, for example by &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.69.1355&quot;&gt;Patrick Bellenbaum &amp;amp; Reinhard Diestel&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What I am interested in is the following: given a graph $G$ and a&#xA;  minimum-width tree decomposition of $G$, can we find a minimum-width&#xA;  &lt;em&gt;lean&lt;/em&gt; tree decomposition of $G$ in polynomial time?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The two mentioned proofs do not yield such efficient constructiveness. In the paper of Bellenbaum and Diestel it is mentioned that &quot;Another (more constructive) short proof of Thomas’s theorem has been given in P. Bellenbaum, Schlanke Baumzerlegungen von Graphen, Diplomarbeit, Universitat Hamburg 2000.&quot; Alas, I have not been able to find the manuscript online and my German is not that great.&lt;/p&gt;&#xA;" OwnerUserId="122" LastEditorUserId="-1" LastEditDate="2011-12-02T16:24:34.397" LastActivityDate="2011-12-04T21:21:55.833" Title="Making a minimum-width tree decomposition lean in polynomial time" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;treewidth&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="9249" PostTypeId="2" ParentId="9226" CreationDate="2011-12-02T16:08:40.443" Score="1" Body="&lt;p&gt;I find the &lt;a href=&quot;http://arxiv.org/&quot; rel=&quot;nofollow&quot;&gt;arXiv&lt;/a&gt; and the &lt;a href=&quot;http://feedworld.net/toc/&quot; rel=&quot;nofollow&quot;&gt;TOC Blog Aggregator&lt;/a&gt; too much to follow.  If you just read &lt;a href=&quot;http://blog.computationalcomplexity.org/&quot; rel=&quot;nofollow&quot;&gt;The Complexity Blog&lt;/a&gt;, &lt;a href=&quot;http://rjlipton.wordpress.com/&quot; rel=&quot;nofollow&quot;&gt;Gödel's Lost Letter&lt;/a&gt;, and &lt;a href=&quot;http://www.scottaaronson.com/blog/&quot; rel=&quot;nofollow&quot;&gt;Shtetl-Optimized&lt;/a&gt;, you won't miss much theory news.&lt;/p&gt;&#xA;" OwnerUserId="123" LastActivityDate="2011-12-02T16:08:40.443" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="9251" PostTypeId="2" ParentId="9209" CreationDate="2011-12-03T01:05:27.473" Score="14" Body="&lt;p&gt;This paper of Blum &amp;amp; Seysen may be useful:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;N.Blum, M. Seysen. &lt;a href=&quot;http://www.springerlink.com/content/m367ku711w732g87/&quot;&gt;Characterization of all Optimal Networks for a Simultaneous Computation of AND and NOR&lt;/a&gt;. Acta Inf. 21: 171-181 (1984)  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have thought that for $x_1\dots x_n\vee \bar{x}_1\dots\bar{x}_n$ $2n-c$ lower bound can be obtained using methods of Blum &amp;amp; Seysen, but it seems this is not the case.&lt;/p&gt;&#xA;" OwnerUserId="7470" LastEditorUserId="77" LastEditDate="2011-12-04T15:23:09.933" LastActivityDate="2011-12-04T15:23:09.933" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="9252" PostTypeId="2" ParentId="9209" CreationDate="2011-12-03T01:09:09.663" Score="3" Body="&lt;p&gt;Your question is related to the well-known question about computing the minimum and maximum of a list simultaneously using the minimum number of comparisons. In that case the answer is $3\lfloor n/2 \rfloor$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The clever algorithm proving the upper bound translates to an AND/OR circuit with same bound you get, since one of the comparisons computes both a minimum and a maximum.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, the lower bound (given by an adversary argument) does seem to translate, at least in the case of monotone circuits (since an AND/OR circuit translates to a max/min algorithm). This would imply a lower bound of $3\lfloor n/2 \rfloor$. Perhaps a tight lower bound can be obtained by analyzing the adversary argument.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The upper bound appears in &quot;Introduction to Algorithms&quot;, where you can also find the easy argument showing that max/min comparator circuits are valid iff they work for boolean inputs (use an appropriate threshold). The lower bound can be found e.g. &lt;a href=&quot;http://www.cs.wustl.edu/~sg/CS441_FL01/adv-lb.ps&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="40" LastActivityDate="2011-12-03T01:09:09.663" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="9253" PostTypeId="1" AcceptedAnswerId="9258" CreationDate="2011-12-03T02:19:34.577" Score="6" ViewCount="712" Body="&lt;p&gt;In languages oriented towards systems programming, digital logic and hardware design, it's common to treat boolean as a subtype of integer. In languages oriented towards mathematics and type theory, it's more usual to treat them as disjoint types.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Being from more of a systems programming background, it has always seemed to me appropriate to take the former approach. I would have thought it appropriate even from a mathematical viewpoint, since we already have a hierarchy of numeric types (natural numbers are a subtype of integer which is a subtype of rational etc.) so it would fit neatly at the start of that hierarchy; but then I'm not a real mathematician, so I may be missing something.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Apart from a little bit of extra error checking (catching the mistake if you pass a boolean to a function expecting an integer and you didn't mean to), is there any advantage to having them be disjoint types?&lt;/p&gt;&#xA;" OwnerUserId="1275" LastEditorUserId="2185" LastEditDate="2011-12-03T14:32:30.297" LastActivityDate="2011-12-21T11:05:26.260" Title="Boolean as subtype of integer" Tags="&lt;pl.programming-languages&gt;&lt;type-theory&gt;&lt;language-design&gt;" AnswerCount="3" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9254" PostTypeId="2" ParentId="1611" CreationDate="2011-12-03T03:03:21.073" Score="5" Body="&lt;p&gt;The approximability of the separator question in the sense you want is closely related to the approximability of the uniform sparsest cut problem. An $O(\sqrt{\log n})$-factor approximation was obtained by Arora-Rao-Vazirani improving the $O(\log n)$ of&#xA;Leighton and Rao; they did this for the edge case. Agrawal-Charikar-Makarychev-Makarychev used the result to obtain similar bound for directed sparsest cut (if one is interested in vertex bipartition cuts). Feige-Hajiaghayi-Lee at the same time obtained a similar bound again via ARV for vertex separators (and also pointed out that treewidth can be approximated within the same factor). One should note that there is another notion of sparsest cut in directed graphs for which Chuzhoy-Khanna showed hardness results in the non-uniform case but I am not sure about the uniform case.  I think super-constant hardness results are known for (uniform) sparsest cut under UGC but I am not sure.&lt;/p&gt;&#xA;" OwnerUserId="176" LastActivityDate="2011-12-03T03:03:21.073" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9256" PostTypeId="2" ParentId="9241" CreationDate="2011-12-03T06:10:17.063" Score="10" Body="&lt;p&gt;A similar question can be asked for any problem where we have a lower bound $\alpha$ on the approximability and an upper bound $\beta$ and currently $\alpha &amp;lt; \beta$. I am assuming that the questioner is interested in sub-exponential time algorithms. This depends on the unknown &quot;truth&quot;. Say the problem is NP-Hard to approximate to within a factor $\gamma$ which is some where in the interval [$\alpha, \beta]$. What this means is that there is a reduction from SAT to the problem such that better than $\gamma$-approximation would allow us to decide the answer to SAT. If we believe the exponential-time hypothesis for SAT then the efficiency of the reduction will give a $\theta$ such that approximating below $\gamma$ is not possible in time less than $2^{n^{O(\theta)}}$. However any thing worse than $\gamma$ is possible in polynomial time. What this means is that we do not &lt;em&gt;typically&lt;/em&gt; (at least in the constant factor range) see improvements in the approximation ratio even when given sub-exponential-time. There are several problems where the best hardness result known is via an inefficient reduction from SAT, that is, the hardness result is under a weaker assumption such as NP not contained in quasi-polynomial time. In such cases one may get a better approximation in sub-exponential time. The only one I know of is the group Steiner tree problem. A recent famous result is the one of Arora-Barak-Steurer on a sub-exponential-time algorithm for unique games: the conclusion we draw from this result is that if UGC is true then the reduction from SAT to UGC has to be some what inefficient, that is, the size of the instance of UGC obtained from the SAT formula has to grow with the parameters in a certain fashion. Of course this is predicated on the exponential-time hypothesis for SAT.&lt;/p&gt;&#xA;" OwnerUserId="176" LastActivityDate="2011-12-03T06:10:17.063" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9257" PostTypeId="1" AcceptedAnswerId="9275" CreationDate="2011-12-03T07:07:25.387" Score="29" ViewCount="1037" Body="&lt;p&gt;I was presenting a lecture on &lt;a href=&quot;http://en.wikipedia.org/wiki/Pancake_sorting&quot;&gt;pancake sorting&lt;/a&gt;, and mentioned that: &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://dl.acm.org/citation.cfm?id=307964&quot;&gt;Sorting by reversals is NP-hard&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://dl.acm.org/citation.cfm?id=225112&quot;&gt;&quot;signed&quot; sorting by reversals is in P&lt;/a&gt;. &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Which got me thinking. There is a sense in which &quot;signed&quot; sorting is &quot;directed&quot; - you can view the sign as a direction (and indeed, this is the motivation from evolutionary biology). But it's an easier problem ! This is unusual because generally (at least on graphs) directed problems are harder (or at least as hard) as their undirected counterparts. &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Assuming a generous definition of &quot;directed&quot;, are there any examples&#xA;  of directed problems that are easier than their undirected&#xA;  counterparts ?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="80" LastActivityDate="2011-12-04T09:54:40.400" Title="&quot;Directed&quot; problems that are easier than their &quot;undirected&quot; variant." Tags="&lt;ds.algorithms&gt;" AnswerCount="4" CommentCount="2" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="9258" PostTypeId="2" ParentId="9253" CreationDate="2011-12-03T07:35:17.087" Score="16" Body="&lt;p&gt;If you only think of Booleans as 0 and 1, then it is natural to include them as subtypes of natural numbers and integers. But as soon as you start applying operations to them, then things start to fall apart. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider what happens when you define the + operation on Booleans. You have two choices:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Make + the same as &lt;em&gt;OR&lt;/em&gt;, so 1+1=1. But then you have the problem that + on Booleans is no longer the same as + on Integers, which it should be.  More precisely, we have the following $(Integer)1_{Bool}+ (Integer)1_{Bool}\neq (Integer)(1_{Bool}+1_{Bool})$, where $1_{Bool}$ is true and $(Integer)\_$ is performing a cast from Bools to Integers. This means that there is a problem with &lt;em&gt;coherence&lt;/em&gt; in the subtyping relation is we make this choice.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The second choice is to define + on Booleans so that 1+1=2. But now the operation takes you out of the world of Booleans. Semantically, this is not problematic ($\sqrt{-1}$ takes you out of the world of Real numbers), but it does suggest that you do not gain much by treating Booleans as numbers.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Generally, the way Booleans/Integers are treated in languages like C is that Integers can be used in places where Booleans are expected, which does not really follow the usual subtyping rules. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Ultimately, the operations you apply to Booleans are not the same as the ones you apply to Naturals and Integers, so, from the perspective of coherence, you should not really consider them to be related by subtyping.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit&lt;/strong&gt;: &#xA;A third alternative, suggested by &lt;a href=&quot;https://cstheory.stackexchange.com/users/3131/peter-taylor&quot;&gt;Peter Taylor&lt;/a&gt; in comments, is to make + be XOR. This results in the subtype relation boolean &amp;lt; short &amp;lt; integer &amp;lt; long, where + is addition-modulo-overflow. That's fairly natural, programmatically. &lt;/p&gt;&#xA;" OwnerUserId="77" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2011-12-03T14:43:20.400" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="9259" PostTypeId="1" AcceptedAnswerId="9265" CreationDate="2011-12-03T08:35:46.317" Score="9" ViewCount="744" Body="&lt;p&gt;I am reading an old paper of M.C. Golumbic about EPT (edge intersection of paths in a tree) graphs. In the paper it is shown that the number of maximal cliques of an EPT graph instance is polynomial. It concludes that if an oracle reports that a graph $G$ is an EPT graph, then  it is possible to find the maximum clique with a standard clique enumeration algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First of all, what are these standard clique enumeration algorithms? If there are more than one, can we say that if the number of maximal cliques of a graph is polynomial then can we use &lt;em&gt;any&lt;/em&gt; of these enumeration algorithms? Or should we derive a special algorithm from a generic algorithm which uses some special structures of the graph class?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks in advance.&lt;/p&gt;&#xA;" OwnerUserId="2296" LastEditorUserId="-1" LastEditDate="2011-12-04T23:19:21.140" LastActivityDate="2011-12-04T23:19:21.140" Title="Clique Enumeration Algorithm" Tags="&lt;ds.algorithms&gt;&lt;graph-algorithms&gt;&lt;clique&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9260" PostTypeId="2" ParentId="9257" CreationDate="2011-12-03T12:36:52.383" Score="13" Body="&lt;p&gt;Maybe this is not the best example, but consider (Directed) Cycle Cover, where the task is to cover all the vertices by vertex-disjoint (directed) cycles. In the directed case, this can be reduced to bipartite matching and solved in polynomial time. In the undirected case, the problem can be reduced to nonbipartite matching (and vice versa), which is a harder problem, but still polynomial-time solvable.&lt;/p&gt;&#xA;" OwnerUserId="3189" LastActivityDate="2011-12-03T12:36:52.383" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="9261" PostTypeId="2" ParentId="9221" CreationDate="2011-12-03T13:58:49.270" Score="13" Body="&lt;p&gt;By far the nicest procedure I have seen is the one mentioned by Sylvain. In particular, it seems to yield more concise expressions than others.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I wrote &lt;a href=&quot;http://lmazy.verrech.net/wp-content/uploads/2011/12/nfa2regex.pdf&quot;&gt;this document&lt;/a&gt; explaining the method for students last summer. It directly relates to a specific lecture; the reference mentioned is typical definition of regular expressions. A proof of Arden's Lemma is contained; one for correctness of the method is missing. As I learned of it in lecture I don't have a reference, sadly.&lt;/p&gt;&#xA;" OwnerUserId="1546" LastActivityDate="2011-12-03T13:58:49.270" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="9262" PostTypeId="2" ParentId="9259" CreationDate="2011-12-03T15:13:42.457" Score="4" Body="&lt;p&gt;The algorithm of Bron–Kerbosch computes all maximal cliques in an undirected graph (see &lt;a href=&quot;http://en.wikipedia.org/wiki/Bron%E2%80%93Kerbosch_algorithm&quot; rel=&quot;nofollow&quot;&gt;Wikipeadia&lt;/a&gt;). The worst-case running time is O(3&lt;sup&gt;&lt;i&gt;n&lt;/i&gt;/3&lt;/sup&gt;), apparently it is very fast in general and still is the fastest known algorithm to compute all maximal cliques. For a newer reference see the papers of &lt;a href=&quot;http://www.ingentaconnect.com/content/klu/coap/2004/00000027/00000002/05151803&quot; rel=&quot;nofollow&quot;&gt;V. Stix&lt;/a&gt; and &lt;a href=&quot;http://hal.inria.fr/docs/00/12/81/30/PDF/RR-5615.pdf&quot; rel=&quot;nofollow&quot;&gt;Cazals and Karande&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="2390" LastActivityDate="2011-12-03T15:13:42.457" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="9263" PostTypeId="2" ParentId="9253" CreationDate="2011-12-03T15:24:38.833" Score="10" Body="&lt;p&gt;You are looking at this the wrong way. Almost any object can be encoded into a natural number, so it would be possible to have a programming language with a single type. But the goal is to have &lt;em&gt;more&lt;/em&gt; types. You want to distinguish semantically distinct operations, even if they are encoded the same way as integers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, you might have Boolean conjunction and integer multiplication. They encode in the same way. However, multiplying a boolean by an integer is a type error. By forcing distinct encodings, this type error is harmlessly detected at compile-time. By merging into the same encoding, this error leads to undefined semantics (even if, by the good fortune of the encoding scheme, it will be interpreted harmlessly).&lt;/p&gt;&#xA;" OwnerUserId="5538" LastActivityDate="2011-12-03T15:24:38.833" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9265" PostTypeId="2" ParentId="9259" CreationDate="2011-12-03T15:52:44.180" Score="13" Body="&lt;p&gt;There are several output-sensitive algorithms to enumerate all maximal cliques in polynomial time per output.  One of the earliest algorithms was developed by Tsukiyama, Ide, Ariyoshi, and Shirakawa (1977).&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Shuji Tsukiyama, Mikio Ide, Hiromu Ariyoshi, Isao Shirakawa: A New Algorithm for Generating All the Maximal Independent Sets. SIAM J. Comput. 6(3): 505-517 (1977)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;This means that if you know your graph has at most polynomially many maximal cliques, then the total running time of their algorithm will be polynomial in the input size.&lt;/p&gt;&#xA;" OwnerUserId="2955" LastActivityDate="2011-12-03T15:52:44.180" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9267" PostTypeId="2" ParentId="9257" CreationDate="2011-12-03T20:47:54.047" Score="17" Body="&lt;p&gt;An interesting and not so well-known case is the following. Suppose we have an edge-weighted graph $G$ and root node $r$. We want the minimum-cost sub-graph of $G$ such that there are $k$ edge-disjoint paths from $r$ to every node in the graph. When $k=1$ this is the min-cost arborescence problem in directed graphs and in undirected graphs it is equivalent to the MST problem. Both solvable in poly-time though the undirected case is easier. However the problem is poly-time solvable in directed graphs for any $k$ while it is NP-Hard in undirected graphs for $k=2$ (since it captures the min-cost $2$-edge-connected sub-graph problem). &lt;/p&gt;&#xA;" OwnerUserId="176" LastActivityDate="2011-12-03T20:47:54.047" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9269" PostTypeId="2" ParentId="7456" CreationDate="2011-12-04T00:25:06.530" Score="2" Body="&lt;p&gt;I was involved in the organization of the &lt;a href=&quot;http://www.socs11.org&quot; rel=&quot;nofollow&quot;&gt;Fourth International Symposium on Combinatorial Search&lt;/a&gt; and I am currently involved in the &lt;a href=&quot;http://www.socs12.org&quot; rel=&quot;nofollow&quot;&gt;next&lt;/a&gt; one. Other than that, I am an active reviewer of the &lt;a href=&quot;http://www.reviews.com&quot; rel=&quot;nofollow&quot;&gt;ACM Computing Reviews&lt;/a&gt;, so I hope I can help a little bit. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;First of all, conferences when providing a good standard of services are not cheap at all. However, there are a number of societies (NSF for example) and organizations/companies that do usually support the conference. As opposite to Peter Shor, I do not think that most conferences try to make money off of the conference (in general) but not to lose it. However, it seems to me that ACM/IEEE conferences are now going in the wrong direction ---see the abovementioned &lt;a href=&quot;https://freedom-to-tinker.com/blog/dwallach/tinkering-ieee-and-acm-copyright-policies&quot; rel=&quot;nofollow&quot;&gt;link&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As for the proceedings, take the case of the &lt;a href=&quot;http://www.aaai.org&quot; rel=&quot;nofollow&quot;&gt;AAAI&lt;/a&gt;, just because I know it better. We paid about 3,000 US$ for getting the proceedings managed by this association. In exchange, the proceedings were available during the conference over the net (so that there was no need to distribute any separate CD/USB pendrive) and they are now widely available to the general public ---to access the proceedings of the Fourth International Symposium on Combinatorial Search follow this &lt;a href=&quot;http://www.aaai.org/Library/SOCS/socs11contents.php&quot; rel=&quot;nofollow&quot;&gt;link&lt;/a&gt; while the proceedings of the previous edition are available &lt;a href=&quot;http://www.aaai.org/Library/SOCS/socs10contents.php&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So regarding the second question, the answer is no. And it is definitely important to make here a clear statement: that is not the only way to manage proceedings ---i.e., to ask the conference chairs to pay, to particular readers to pay and to organizations/universities to pay while retaining the copyright of the papers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As for the first one, it seems to me that these societies (as Peter Shor said before) try to make money off of the conference they sponsor. The service they supposedly provide is that they overlook the conference and guarantee a high service level, but I am pretty sure that you all know conferences (particularly sponsored by IEEE) which are far from being good (e.g., a high number of submissions are accepted and the general quality is rather low). As a matter of fact, there are a number of Call for Papers that I do immediately send to my Trash folder without even reading ...&lt;/p&gt;&#xA;" OwnerUserId="6242" LastActivityDate="2011-12-04T00:25:06.530" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9270" PostTypeId="2" ParentId="7456" CreationDate="2011-12-04T01:38:35.700" Score="6" Body="&lt;p&gt;One thing ACM brings to a conference is name recognition: if I see that a conference is ACM-sponsored, even if it's one that I haven't heard of before, I can be confident that it's reasonably high quality and well organized, rather than being one of those scam conferences that accepts everything and profits off the registration fees. (I'm less sure of that with IEEE after the &lt;a href=&quot;http://en.wikipedia.org/wiki/Der_Schlangemann&quot;&gt;Schlangemann&lt;/a&gt; scandal.) Of course, there are also good conferences that are not sponsored by these societies. And I wouldn't want to rely on this halo effect for making decisions about tenure or anything important like that — better to solicit opinions from people who know that area better — but it can be useful when deciding where to send a paper.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2011-12-04T01:38:35.700" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9271" PostTypeId="2" ParentId="9257" CreationDate="2011-12-04T02:34:14.097" Score="9" Body="&lt;p&gt;Here's a problem that, as I recently realized, looks actually harder in undirected graphs than directed ones.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose you have a graph with positive and negative edge weights, and you are asked to detect a negative weight cycle. There is a scaling algorithm for this problem for directed graphs by Goldberg'93 (A. V. Goldberg. 1993. Scaling algorithms for the shortest paths problem. In SODA '93.) running in O($m\sqrt{n}\log C$) time where $m$ is the number of edges, $n$ the number of vertices and $C$ the largest absolute value of an edge weight.&#xA;In contrast, the same problem in undirected graphs has much worse algorithms. To my knowledge, the best known is by Gabow'83 (H. N. Gabow. 1983. An efficient reduction technique for degree-constrained subgraph and bidirected network flow problems. In STOC '83. ) and runs in O(min($n^3, mn\log n$)) time. There's also an approach using T-joins which gives the same runtime, I don't remember where I saw it however.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The negative cycle problem is crucial in the design of single source shortest paths (SSSP) algorithms and it is not surprising that the best running times for SSSP in directed and undirected graphs with arbitrary weights have the same runtimes-- O($m\sqrt{n}\log C$) and O(min($n^3, mn\log n$)) respectively.&lt;/p&gt;&#xA;" OwnerUserId="410" LastActivityDate="2011-12-04T02:34:14.097" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="9275" PostTypeId="2" ParentId="9257" CreationDate="2011-12-04T09:54:40.400" Score="18" Body="&lt;p&gt;Counting Eulerian circuits for directed graphs is doable in polynomial time using the &lt;a href=&quot;http://en.wikipedia.org/wiki/BEST_theorem&quot;&gt;BEST theorem&lt;/a&gt;, while apparently, &lt;a href=&quot;http://www.cdam.lse.ac.uk/Reports/Files/cdam-2004-12.pdf&quot;&gt;the same problem for undirected graphs is #P-complete&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="5721" LastActivityDate="2011-12-04T09:54:40.400" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9277" PostTypeId="1" AcceptedAnswerId="9290" CreationDate="2011-12-04T10:45:19.150" Score="9" ViewCount="556" Body="&lt;p&gt;DLOGTIME is defined at &lt;a href=&quot;http://en.wikipedia.org/wiki/DLOGTIME&quot;&gt;http://en.wikipedia.org/wiki/DLOGTIME&lt;/a&gt;&#xA;&lt;br&gt;&#xA;$\operatorname{L}$ is defined at &lt;a href=&quot;http://en.wikipedia.org/wiki/L_%28complexity%29&quot;&gt;http://en.wikipedia.org/wiki/L_%28complexity%29&lt;/a&gt;&#xA;&lt;br&gt;&#xA;$\operatorname{NC}$ and $\operatorname{NC}^n$ are defined at &lt;a href=&quot;http://en.wikipedia.org/wiki/NC_%28complexity%29&quot;&gt;http://en.wikipedia.org/wiki/NC_%28complexity%29&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;DLOGTIME seems to be the smallest that might work.&#xA;&lt;br&gt;&#xA;I've read in various places that $\, \operatorname{L} \subseteq \operatorname{NC}^2 \,$, $\,$ although every place I've&#xA;&lt;br&gt;&#xA;found that results which states a uniformity condition uses $\operatorname{L}$-uniformity.&#xA;&lt;br&gt;&lt;br&gt;&lt;br&gt;&#xA;Is there any deterministic class $X$ such that $\, \operatorname{L} \subseteq \operatorname{NC} \,$ is known with $X$-uniform $\operatorname{NC}$, and&#xA;&lt;br&gt;&#xA;1. $\;$ ... $\; X\subset \operatorname{L} \;$ is known to hold?&#xA;&lt;br&gt;&#xA;2. $\;$ ... $\; X\subseteq \operatorname{L} \;$ is known to hold and $\, X = \operatorname{L} \,$ is not known to hold?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(1, or to a much lesser extent 2, would seem to imply that $\operatorname{L}$-uniformity is the correct condition)&lt;/p&gt;&#xA;" OwnerDisplayName="user6973" LastActivityDate="2011-12-05T04:28:06.037" Title="&quot;right&quot; uniformity condition for Nick's Class" Tags="&lt;cc.complexity-theory&gt;&lt;circuit-complexity&gt;" AnswerCount="1" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="9280" PostTypeId="1" AcceptedAnswerId="9471" CreationDate="2011-12-04T15:45:04.290" Score="14" ViewCount="389" Body="&lt;p&gt;I have serious trouble understanding one step in the paper of Dobkin and Kirkpatrick about the separation of polyhedra. I am trying to understand this version: &lt;a href=&quot;http://www.cs.princeton.edu/~dpd/Papers/SCG-09-invited/old%20papers/DPD+Kirk.pdf&quot;&gt;http://www.cs.princeton.edu/~dpd/Papers/SCG-09-invited/old%20papers/DPD+Kirk.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It argues that after we know the best separation of $P_{i}$ and $S$, realized by $r_i$ and $s_i$, we can find the best separation of $P_{i-1}$ and $S$ in $O(1)$ steps. This is done in the following way. We take the plane parallel to $S$ through $r_i$ and cut $P_{i-1}$ into two parts with it. On one side, the closest point to $S$ is $r_i$ and on the other we have an ``elementary'' polyhedron that we can check in $O(1)$ time. My problem is - how do we find this elementary polyhedron? Note that the degree of $r_i$ in $P_{i-1}$ might be unbounded.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the pdf to prove Thm 5.1 from page 9, they use Thm 3.1 from page 4, which makes the whole thing harder to follow.&lt;/p&gt;&#xA;" OwnerUserId="419" LastEditorUserId="123" LastEditDate="2014-09-24T13:19:22.280" LastActivityDate="2016-05-26T16:05:45.763" Title="Separation of a preprocessed polyhedron and a plane" Tags="&lt;ds.algorithms&gt;&lt;cg.comp-geom&gt;" AnswerCount="3" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="9281" PostTypeId="2" ParentId="9184" CreationDate="2011-12-04T17:19:18.427" Score="-22" Body="&lt;p&gt;Let $n=p_1 \dots p_k$, where $p_j$ are distinct primes. Then $$\mu(n)=\mu(p_1 \dots p_k)=\mu(p_1)\dots \mu(p_k).$$ Then to compute $\mu(n)$, it is necessary to compute $\mu(p_j)$ for each $p_j$. This implicitly requires recognizing that $p_1 \dots p_k$ is the prime factorization of $n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here's an analogy: In order to know whether there are an odd or even number of jelly beans in a jar, one must count the jelly beans. This is why you must compute the prime factorization of a number to compute its Mobius function, when it is not divisible by a square. But in order to know that there is more than one jelly bean in a jar, one does not need to examine any of the jelly beans in the jar. One can just shake the jar and hear that there is more than one jelly bean. This is why you don't have to factor a number to know it is composite. Algorithms like Fermat's Little Theorem allow one to &quot;shake the number up&quot; to know it is composite.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;When $n$ is divisible by a square, you don't have to compute the prime factorization of $n$. But you do have to find a nontrivial factor of $n$: If $n$ is square, in order to determine that it is square, you have to take its square root, in which you find a nontirival factor of $n$. A fortiori, if $n$ is not a square but is still not squarefree, in order to determine that $\mu(n)=0$, it is necessary to find a nontrivial factor of $n$.&lt;/p&gt;&#xA;" OwnerUserId="3091" LastEditorUserId="3091" LastEditDate="2011-12-08T21:12:43.180" LastActivityDate="2011-12-08T21:12:43.180" CommentCount="24" ContentLicense="CC BY-SA 3.0" />
  <row Id="9282" PostTypeId="1" AcceptedAnswerId="9292" CreationDate="2011-12-04T17:20:31.747" Score="6" ViewCount="342" Body="&lt;p&gt;Does anyone have some nice examples of modifying algorithms that employ a set data structure to instead employ a Bloom filter?  In other words, the damage done by the Bloom filter's false positive rate requires an interesting trick to accommodate. &lt;/p&gt;&#xA;" OwnerUserId="6665" LastActivityDate="2011-12-05T05:27:14.327" Title="Non-trivial applications of Bloom filters" Tags="&lt;ds.data-structures&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9283" PostTypeId="1" CreationDate="2011-12-04T18:14:16.777" Score="0" ViewCount="271" Body="&lt;p&gt;Let x be random variables with mean zero and variance 1.&#xA;Let n be natural number, t&gt;0, C&gt;0.&#xA;Let also $P(x^2\geq n)\geq C/(n^t)$.&#xA;Show, if $t\geq4$, then $P(x^2\geq n)\leq C/(n^2)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I got so fare, that with $t\geq 4$,&#xA;$\frac{C}{n^t}\leq \frac{C}{n^2}\leq P(x^2\geq n)\leq \frac{Ex^4}{n^2}$. But how to find bound on $Ex^4$?&lt;/p&gt;&#xA;" OwnerUserId="7487" LastActivityDate="2011-12-05T14:30:53.100" Title="is it by Chebychev's inequality?" Tags="&lt;pr.probability&gt;" AnswerCount="1" CommentCount="10" ClosedDate="2011-12-05T18:03:38.903" ContentLicense="CC BY-SA 3.0" />
  <row Id="9285" PostTypeId="2" ParentId="9283" CreationDate="2011-12-04T19:07:54.033" Score="8" Body="&lt;p&gt;Suppose to the contrary that&#xA;$$ P(x^2 \geq n_i) \geq C/n_i^2 $$ for some infinite sequence $n_1$, $n_2$, $\ldots$, $n_i$, $\ldots$, with $P(x^2 &amp;gt; n_i) &amp;gt; 2P(x^2 &amp;gt; n_{i+1})$. Then we have $$ Var(x) = \int_{x=0}^\infty x^2 d \mu.$$&#xA;But now, let's set $n_0 = 0$ and break this integral up into &#xA;$$ Var(x) = \sum_{j=0}^\infty \int_{n_j}^{n_{j+1}}x^2 d \mu.$$&#xA;We have$$ \int_{n_j}^{n_{j+1}} x^2 d\mu \geq n_j^2 \int_{n_j}^{n_{j+1}} d\mu = n_j^2(P(x\geq n_j)-P(x \geq n_{j+1})) \geq C/2.$$&#xA;This shows that the integral diverges, contradicting the variance being 1. &lt;/p&gt;&#xA;" OwnerUserId="1677" LastEditorUserId="1677" LastEditDate="2011-12-04T19:56:15.653" LastActivityDate="2011-12-04T19:56:15.653" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9287" PostTypeId="2" ParentId="9246" CreationDate="2011-12-04T21:21:55.833" Score="8" Body="&lt;p&gt;Here is a formal reason why the problem is not poly-time solvable unless P=NP. We know that finding the treewidth of a given graph is NP-Hard. Given a graph $G$ we can add a disjoint clique of size $V(G)+1$ to create a new graph $G&amp;#39;$. A min-width tree-decomposition of $G&amp;#39;$ can be obtained as follows: it has two nodes with one bag containing all the nodes of the clique and the other containing all the nodes of $G$. Now making this tree-decomposition lean would require finding a lean-tree decomposition of the original graph $G$ which would, as a by-product, give the treewidth of $G$.&lt;/p&gt;&#xA;" OwnerUserId="176" LastActivityDate="2011-12-04T21:21:55.833" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9288" PostTypeId="1" CreationDate="2011-12-04T21:54:38.923" Score="1" ViewCount="103" Body="&lt;p&gt;Recently, I was coding a comparator function for use in a set backed by a binary search tree, and the set kept saying that it didn't contain elements that I had previously added to it. I eventually realized that the ordering I had implemented in the comparator was to blame, which got me thinking:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;How would a binary search tree change if its elements were ordered by different orders (partial, total, strict, etc...)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Standard_Template_Library#Containers&quot; rel=&quot;nofollow&quot;&gt;Documentation&lt;/a&gt; on the &lt;a href=&quot;http://www.cplusplus.com/reference/stl/set/&quot; rel=&quot;nofollow&quot;&gt;C++ STL set&lt;/a&gt; says that the ordering must be strict and weak otherwise behavior is 'undefined', but I'd be interested to hear if anyone could give a more in-depth analysis.&lt;/p&gt;&#xA;" OwnerUserId="7491" LastEditorUserId="-1" LastEditDate="2011-12-04T23:56:50.427" LastActivityDate="2011-12-04T23:56:50.427" Title="What effect would using different types of orders have on a binary search tree?" Tags="&lt;ds.data-structures&gt;&lt;partial-order&gt;&lt;order-theory&gt;" AnswerCount="0" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="9290" PostTypeId="2" ParentId="9277" CreationDate="2011-12-04T23:43:04.587" Score="8" Body="&lt;p&gt;You can use $\mathsf{DLogTime}$ for uniformity of $\mathsf{NC}$ and $\mathsf{NC^2}$. There is no problem and the classes uniform $\mathsf{NC^k}$ remain the same and equal to $\mathsf{ATimeSpace}(O(\lg^k n),O(\lg n))$ (for $k\geq1$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Generally, the only case that we need to be more careful is $\mathsf{NC^1}$ case where one should be careful about what needs to be in decidable in $\mathsf{DLogTime}$. If you use &lt;em&gt;extended connection language&lt;/em&gt; description of circuits then everything works even in $\mathsf{NC^1}$ case.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For more on uniformity see:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Walter L. Ruzzo, &quot;&lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/0022000081900386&quot;&gt;On Uniform Circuit Complexity&lt;/a&gt;&quot;, Journal of Computer and System Sciences, vol. 22 (1981), pp. 365–383.&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2011-12-05T04:28:06.037" LastActivityDate="2011-12-05T04:28:06.037" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="9292" PostTypeId="2" ParentId="9282" CreationDate="2011-12-05T05:27:14.327" Score="9" Body="&lt;p&gt;Michael Mitzenmacher has a &lt;a href=&quot;http://www.cs.utexas.edu/~yzhang/teaching/cs386m-f9/Readings/im2005b.pdf&quot;&gt;nice survey on Bloom filters&lt;/a&gt; where he outlines many applications. Maybe some of these might help. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2011-12-05T05:27:14.327" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9293" PostTypeId="2" ParentId="9280" CreationDate="2011-12-05T10:10:02.150" Score="8" Body="&lt;p&gt;Theorem 3.1 requires that the hierarchical representation of $P$ is &lt;i&gt;compact&lt;/i&gt;.  One of the requirements for compactness is that the degree of $r_i$ in $P_{i-1}$ is bounded by a constant.  See the bottom of page 3.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The definition and construction of the Dobkin-Kirkpatrick hierarchy is much more explicit in their earlier papers (references [9,10,11] in the paper you're reading).  I strongly recommend reading them first.&lt;/p&gt;&#xA;" OwnerUserId="111" LastActivityDate="2011-12-05T10:10:02.150" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="9294" PostTypeId="2" ParentId="4122" CreationDate="2011-12-05T10:50:53.290" Score="5" Body="&lt;p&gt;You might be very interested in the works of &lt;a href=&quot;http://www.csl.sri.com/users/rushby/&quot;&gt;John Rushby&lt;/a&gt;, one of the designers of the PVS theorem prover, who is generically interested in exactly the points you mention. You might enjoy reading this classic &lt;a href=&quot;http://www.csl.sri.com/users/rushby/abstracts/csl-93-7&quot;&gt;report to the FAA about the use of Formal Methods and the Certification of Critical Systems (1993)&lt;/a&gt;, and his &lt;a href=&quot;http://www.csl.sri.com/users/rushby/biblio.html&quot;&gt;newer writings&lt;/a&gt; about assembling a probabilistic, formal safety case out of various means of evidence provided (testing, proofs, analyses, etc).&lt;/p&gt;&#xA;" OwnerUserId="121" LastActivityDate="2011-12-05T10:50:53.290" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9296" PostTypeId="1" AcceptedAnswerId="9299" CreationDate="2011-12-05T14:37:21.170" Score="4" ViewCount="412" Body="&lt;p&gt;Original proof of the PCP theorem, uses self-correction property of linear functions. &#xA;Assume we have $f: \{0,1\}^n \rightarrow \{0,1\}$, a function or table of values,&#xA;that is $(1-\delta)$-close to some linear function $L$.&#xA;Using $f$ we would like to compute $L(x)$ for any desired $x$ with high accuracy. Such a&#xA;procedure is called a self-correction procedure since a small amount of errors in the table $f$ can be corrected using probes only to $f$ to provide access to a noise-free version of the linear function L.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Procedure $\text{SelfCorr}(f,x)$ is:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Select $y\in\{0,1\}^n$ uniformly at random.&lt;/li&gt;&#xA;&lt;li&gt;Return $f(x+y)−f(y)$&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;One can prove if $f$ is $\delta$-close to a linear function $L$ for some $\delta&amp;lt;1/4$, then for any $x\in\{0,1\}^n$ the above procedure $\text{SelfCorr}(f,x)$ computes $L(x)$ with probability at least $1−2\delta$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is: Why we don't probe $f$ at $x$ directly. By this way, error of procedure is at most $\delta$ (that is better than $2\delta$ error of $\text{SelfCorr}(f,x)$)?&lt;/p&gt;&#xA;" OwnerUserId="4222" LastEditorUserId="4222" LastEditDate="2011-12-30T12:08:43.673" LastActivityDate="2015-01-14T13:57:18.440" Title="On the need for a self-correcting function in the PCP theorem" Tags="&lt;cc.complexity-theory&gt;&lt;coding-theory&gt;&lt;pcp&gt;" AnswerCount="2" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9298" PostTypeId="1" AcceptedAnswerId="10300" CreationDate="2011-12-05T17:22:55.723" Score="33" ViewCount="1288" Body="&lt;p&gt;We &quot;know&quot; that $\mathsf{SC}$ is named for Steve Cook and $\mathsf{NC}$ is named for Nick Pippenger. If I'm not mistaken, Steve Cook named NC in honor of Nick Pippenger, and I was told that the reverse is true as well. However, I wasn't able to find any evidence of this latter fact in either Steve Cook's paper on DCFLs or Nisan's proof that $\mathsf{RL} \subseteq \mathsf{SC}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there any documented evidence of the latter claim, or is this merely &quot;in the air&quot; ? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;p.s I'm asking because I was browsing &lt;a href=&quot;http://en.wikipedia.org/wiki/List_of_examples_of_Stigler%27s_law&quot;&gt;examples of Stigler's Law of Eponymy&lt;/a&gt;, and was wondering about what I'll call &quot;Stigler Reciprocity&quot;: where something invented by A is named after B and vice versa. An example of this is Cartan Matrices and Killing forms. &lt;/p&gt;&#xA;" OwnerUserId="80" LastEditorUserId="873" LastEditDate="2011-12-05T19:37:23.447" LastActivityDate="2012-02-20T17:55:10.850" Title="&quot;Steve's class&quot;: origin of SC" Tags="&lt;cc.complexity-theory&gt;&lt;ho.history-overview&gt;" AnswerCount="2" CommentCount="5" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="9299" PostTypeId="2" ParentId="9296" CreationDate="2011-12-05T17:59:29.723" Score="10" Body="&lt;p&gt;The probability of error when sampling $f(x)$ is $\delta$ when $x$ is chosen at random. Using self-correction, the probability of error is $2δ$ for all $x$ (not only random $x$) &lt;/p&gt;&#xA;" OwnerUserId="5538" LastActivityDate="2011-12-05T17:59:29.723" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9301" PostTypeId="1" CreationDate="2011-12-05T15:52:13.100" Score="3" ViewCount="414" Body="&lt;p&gt;We consider a number $N=AB$ where $A$ and $B$ are primes. Along the whole number-line from $1$ to $N$ we have two success points or target points: $A$ and $B$. If we had millions of target points the situation perhaps could have been better.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the interval from $1$ to $N$, $A$ occurs $B$ times as a factor with different numbers:$1A,2A,\cdots,AB$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$B$ occurs as a factor with other numbers $A$ times:$1B,2B,3B,\cdots,AB$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;So we have a huge number of targets but we have to try out $gcd$ on the computer between $N$ and arbitrary large numbers less than $N$[using the division method]. Numbers larger than N might also be taken.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For a four hundred digit number we will have about $2*10^{200}$  target points for a bombing operation instead of two points $A$ and $B$, on the interval 1 to N.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is a large increase in the density of targets in the range from 1 to N&#xA;[to be precise on the interval from $\sqrt{N}$ to N].&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For gaining  efficiency, we may bend the number-line (from $1$ to $N$) round and round and then fire at the &quot;targets&quot; to improve the probability of success. Is it really going to help in any way if we work out the exercise on a computer using statistical methods?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A Simple Strategy:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Just imagine the number line from 1 to N=AB[and &lt;em&gt;beyond&lt;/em&gt;] with the target points A ,2A,3A......AB,A(B+1),A(B+2).....[or B,2B,3B....AB,B(A+1),B(A+2)......] lying on it. Turn it round at the point AB and bring it down parallel to the first line. This will not give us any advantage[of increased target density] since the target points will lie against each other on the composite line. Suppose we do the turning at the point (AB)+1 and bring down the turned line parallel to the first one. The target points will not lie against each other on the composite line. The second line is turned again at the position corresponding to one on the first line or at some other suitable postion . This up and down turning action is repeated over and over again till two targets lie against each other on a pair of lines. Now on the composite line we have more than one,rather several targets on the interval $x$  to $x+\sqrt{N}$ if the composite line is viewed wrt the first line. In the selection process we should choose a point in the first line ,then another on the second and move forward across the lines and test for the gcd[by division method] for each selected  point on the composite line  with AB.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some Introductory Calculations:&#xA;[According to the Suggested Strategy]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We consider the number line from 1 to AB and beyond [from left to right] and extend it to AB+k . Then we  bring it down parallel to the initial line to the point one[on the old line].We choose k such that 2k is integral. The extremities on the left are marked $P_1,P_2….$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$P_1=1,P_2=1+2(AB-1)+2k$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For n similar turns we have:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$P(n)=1+n(2AB-2+2k)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $n=A+j$, where j is a positive integer.[remembering that A is unknown]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$P(j)=1+(A+j)(2AB-2+2k)$$&#xA; $$P(j) =(2AB-2+2k)j+A(2AB-2+2k)+1$$&#xA;The above equation is of the form :$y=mx+C$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Where,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$m=(2AB-2+2k)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$C=A(2AB-2+2k)+1$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[y-mx=C and C-1 contains A as a factor]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Incidentally m and C are integers .&lt;em&gt;”m” is known to us&lt;/em&gt; and C-1 contains A as a factor. &lt;em&gt;Of course we don't know C&lt;/em&gt;.But we  can  increase m in steps of  one through integral values[by increasing k in steps of 0.5 starting from 0.5] . C will increase in integral steps of A[=2kA] starting from some unknown value on the y-axis.&#xA;For an integral value of x we can have an integral value of y only[since m and c are integral.&#xA;On the graph we have an infinite number of inclined  straight lines emanating from (0,C) The minimum value of gradient=2AB-1 ,[for k=.5].The gradient is allowed to increase/&lt;em&gt;decrease&lt;/em&gt; in integral steps according to our choice.If the gradient increases/decreases by unity the intercept goes up/down by A. If we consider the vertical lines: x=n,where n is an integer., both x and y at the intersections should be integral.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Each line on the graph represents a particular type of bending[a particular value of  2k=integer]. If we move upwards for a fixed, integral  value of $x$ the convenient integral points (x,y)on the different lines for which [y-mx-1=C-1 is a multiple of A] are separated by a distance $x+A$.[ k is increased in steps of 0.5]. This information could be used in a trial method where two or more values of x[ie j]are  used.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For consecutive x[=j],the portion of a graph-line contains several target points.We may bend these lines over and over again to increase the density of points and consider their projections on the x-axis.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[We may ,alternatively, rotate the different graph lines[after bending them] to make them parallel wrt each other and then bring all the target points on the same straight line to increase the target density]&lt;/p&gt;&#xA;" OwnerUserId="7507" OwnerDisplayName="Anamitra Palit" LastEditorUserId="7507" LastEditDate="2012-01-03T08:04:30.583" LastActivityDate="2012-01-03T08:04:30.583" Title="Factorization Using Statistical Methods" Tags="&lt;cr.crypto-security&gt;&lt;factoring&gt;" AnswerCount="2" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9302" PostTypeId="2" ParentId="9301" CreationDate="2011-12-05T16:46:21.193" Score="8" Body="&lt;p&gt;Most of the state of the art factorization methods, e.g. &lt;a href=&quot;http://en.wikipedia.org/wiki/Quadratic_sieve&quot;&gt;Quadratic Sieve&lt;/a&gt;, &lt;a href=&quot;http://en.wikipedia.org/wiki/General_number_field_sieve&quot;&gt;Number Field Sieve&lt;/a&gt;, &lt;a href=&quot;http://en.wikipedia.org/wiki/Lenstra_elliptic_curve_factorization&quot;&gt;Elliptic Curve Factorization&lt;/a&gt; use variants of the ideas you suggest.  The Elliptic curve method is completely probabilistic in that you pick a curve and a point raise the point to a power and check to see if you have found a factor (this is vastly oversimplified, but a detailed description would take quite a while google is your friend).  The sieving methods are more deterministic in that you search for relations (each of which in a sense tells you a little about a factor) until you find enough relations until you have enough relations to form an invertible binary matrix.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Statistical arguments are used to choose optimal parameters for all these methods.&lt;/p&gt;&#xA;" OwnerUserId="54" OwnerDisplayName="deinst" LastActivityDate="2011-12-05T16:46:21.193" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9303" PostTypeId="2" ParentId="2674" CreationDate="2011-12-05T23:50:22.427" Score="8" Body="&lt;p&gt;Suppose we have $n$ points in $\ell_2^d$ and want to do a dimension reduction. If we want pairwise distances change by at most $1 \pm \epsilon$, then we can reduce our dimension from $d$ to $O(\log n / \epsilon^2)$. This is &lt;a href=&quot;http://en.wikipedia.org/wiki/Johnson%E2%80%93Lindenstrauss_lemma&quot;&gt;Johnson-Lindenstrauss Lemma&lt;/a&gt;. For a decade the best known &lt;em&gt;lower bound&lt;/em&gt; for a dimension was $\Omega(\log n / (\epsilon^2 \log(1 / \epsilon)))$ by Alon, so there was a gap of size $\sim \log(1 / \epsilon)$. Recently, Jayram and Woodruff &lt;a href=&quot;http://www.almaden.ibm.com/cs/people/dpwoodru/jw11.pdf&quot;&gt;closed&lt;/a&gt; this gap by improving Alon's lower bound. Their proof barely relies on geometrical structure. What they do is they prove that if a better bound was possible, it would violate one particular communication complexity lower bound. And this bound is proved using information-theoretical tools.&lt;/p&gt;&#xA;" OwnerUserId="141" LastActivityDate="2011-12-05T23:50:22.427" CommentCount="2" CommunityOwnedDate="2011-12-05T23:50:22.427" ContentLicense="CC BY-SA 3.0" />
  <row Id="9304" PostTypeId="1" CreationDate="2011-12-06T01:22:08.320" Score="10" ViewCount="262" Body="&lt;p&gt;Some of us have been reading &lt;a href=&quot;http://arxiv.org/abs/quant-ph/0502070&quot;&gt;Michael Nielsen's paper&lt;/a&gt; on a geometric approach to using quantum lower bounds (in brief, the construction of a Finsler metric on $SU(2^n)$ such that the geodesic distance from $I$ to an element $U$ is a lower bound on the number of gates in a quantum circuit that computes $U$). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I was wondering if there were concrete examples of problems where this program led to a lower bound that came close to, matched or beat prior lower bounds obtained by other means ? &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2011-12-07T11:38:38.150" Title="Lower bounds for quantum circuits using the geodesic framework" Tags="&lt;quantum-computing&gt;" AnswerCount="1" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="9307" PostTypeId="1" CreationDate="2011-12-06T13:00:04.260" Score="7" ViewCount="1110" Body="&lt;p&gt;Self-adjusting computation seems to be related to all of the other topics, but I would like to get a clearer sense of how they all relate. For example, do any of them subsume or obsolete any of the others?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One might also throw Incremental Computing into the mix, of which Self-adjusting computation is presumably a special case.&lt;/p&gt;&#xA;" OwnerUserId="2048" LastEditorUserId="2185" LastEditDate="2011-12-06T16:05:19.973" LastActivityDate="2011-12-07T21:30:18.413" Title="What are the relationships between Functional Reactive Programming, Automatic Differentiation, Self-Adjusting Computation and Partial Evaluation?" Tags="&lt;pl.programming-languages&gt;&lt;functional-programming&gt;" AnswerCount="3" CommentCount="2" FavoriteCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="9308" PostTypeId="2" ParentId="9307" CreationDate="2011-12-06T13:52:53.370" Score="9" Body="&lt;p&gt;I essentially agree with Dave's comment: these are lots of different things (and I only feel remotely competent to talk about three of them). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, from the perspective of a consumer of functional programming research, the three things I know something about probably feel related, because they all are ways of making functional programs deal with inputs that change over time. For instance:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Functional reactive programming - consider this when you want to write a program as if you're taking, as input, list of all the user events that's ever happened, but you still want the program to behave reasonably as you feed it inputs over time. An underlying assumption is therefore that the data about past events won't change, and that the only changes to the input will be the addition of new events that happened after all the old events. &lt;/li&gt;&#xA;&lt;li&gt;Partial evaluation - consider this when your program neatly cleaves into two parts, and you want to recompute, over and over, part 2 based on the outcome of part 1. This assumes your code has the property that the difference between &quot;part 1&quot; and &quot;part 2&quot; are known when you write the code, so an underlying assumption is that the data that stays the same (the data part 1 computes with) and the data that changes (the data part 2 computes with) are known in advance.&lt;/li&gt;&#xA;&lt;li&gt;Self-adjusting computation - consider this when your program's execution flow is not neatly divided into parts, but involves a lot of decisions based on data. Self-adjusting computation is designed to react to small changes in inputs by only redoing computation that was based on modified data. Therefore, an underlying assumption is that the particular changes can't be anticipated in advance.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;[Update] In practice, the challenges associated with each of these three things are different: it doesn't necessarily make sense to talk about any of them as special cases of the others. However, as Jake points out below, there are (slightly restricted) libraries of functional reactive programming that are implemented on top of self-adjusting computation primitives. Similarly, it might be possible to effectively implement something like partial evaluation on top of self-adjusting computation, since SAC makes the very few a priori assumptions about its input data.&lt;/p&gt;&#xA;" OwnerUserId="1024" LastEditorUserId="1024" LastEditDate="2011-12-07T21:30:18.413" LastActivityDate="2011-12-07T21:30:18.413" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9309" PostTypeId="1" AcceptedAnswerId="14194" CreationDate="2011-12-06T14:51:22.260" Score="8" ViewCount="950" Body="&lt;p&gt;Consider the following algorithm, where $c$ is a fixed constant.&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;void partition(A[1..m], B[1..n])&#xA;{&#xA;   if m=1 or n=1&#xA;      return&#xA;&#xA;   k = random(min(c,m,n));&#xA;   partition A into k sublists Asub[1..k] at k-1 distinct random indices&#xA;   partition B into k sublists Bsub[1..k] at k-1 distinct random indices&#xA;&#xA;   for i = 1 to k&#xA;     for j = 1 to k&#xA;        partition(Asub[i], Bsub[j])&#xA;&#xA;   Do something that takes O(n+m) time.&#xA;}&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;What is the expected running time of this algorithm?  The running time appears to be $O(mn)$, but I can't find the proof for this.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we instead partitioned the input lists into $k$ different parts of equal length, we would have the recurrence $T(n,m) = k^2\,T(n/k,m/k) + O(n+m)$ with base case $T(1,n) = T(m,1) = O(1)$; it is not hard to prove that $T(n,m) = O(mn)$.  But the algorithm partitions the input into a  &lt;em&gt;random&lt;/em&gt; number of parts with &lt;em&gt;random&lt;/em&gt; sizes.  (As usual, &quot;random&quot; is shorthand for &quot;uniformly at random&quot;.)  How does one analyze such an algorithm?&lt;/p&gt;&#xA;" OwnerUserId="1846" LastEditorUserId="111" LastEditDate="2012-11-08T22:25:46.743" LastActivityDate="2012-11-08T22:25:46.743" Title="How to analyze a randomized recursive algorithm?" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;randomness&gt;&lt;randomized-algorithms&gt;&lt;recursive&gt;" AnswerCount="2" CommentCount="8" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9310" PostTypeId="1" CreationDate="2011-12-06T15:54:25.130" Score="-2" ViewCount="782" Body="&lt;p&gt;My question points to the fact that Turing machines are isolated by definition. But what if they can send and receive information from/to other Turing machines? What if they can be &quot;interrupted&quot; at any time by communication with other Turing machines?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think this problem is different, and perhaps gives different answer to the halting problem. But I don't know. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there any work on this? Has this equivalence been proven?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If someone found a single example where a non-computable algorithm (with a single universal Turing machine) becomes computable with a network, could it mean that &lt;em&gt;perhaps&lt;/em&gt; a Turing network may solve the halting problem?&lt;/p&gt;&#xA;" OwnerUserId="6559" LastEditorUserId="21335" LastEditDate="2014-04-08T17:15:42.497" LastActivityDate="2014-04-08T17:15:42.497" Title="Is there any proof that a network made of Turing machines can't solve the halting problem?" Tags="&lt;computability&gt;&lt;turing-machines&gt;&lt;dc.distributed-comp&gt;&lt;halting-problem&gt;" AnswerCount="1" CommentCount="8" ClosedDate="2014-04-12T03:15:06.873" ContentLicense="CC BY-SA 3.0" />
  <row Id="9311" PostTypeId="1" AcceptedAnswerId="9320" CreationDate="2011-12-06T16:03:55.300" Score="9" ViewCount="562" Body="&lt;p&gt;Assume a framework in communication complexity where we have two players A(lice) and B(ob) and a R(eferee). A and B don't communicate directly with each other. In each round of communication, each of them sends a message ($m_A$, $m_B$) to the R. R computes two functions $f_A(m_A,m_B)$ and $f_B(m_A,m_B)$ and sends the results to them. The functions are fixed. The idea is that the communication between the players is restricted. Moreover the referee might do some processing on the messages.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A and B send two (arbitrary large) numbers to R, R checks which of them is greater and informs the players. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In this framework, we can design a simple protocol that easily computes the following function using a single round. A and B send $x$ and $y$ to R, R returns the answer to them, and they output the answer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$f(x,y)= \begin{cases}0 &amp;amp; x\leq y\\ 1 &amp;amp; ow \end{cases}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Obviously this is not an interesting case, since the function we are computing is the same as the referee functions. A more interesting case is when we have a fixed linear inequality $\vec{a} \cdot \vec{x} \leq \vec{b} \cdot \vec{y}$ and the values for the variables are partitioned between players (A has $\vec{x}$ and B has $\vec{y}$). The task is to decide if the inequality is correct. The protocol in this case is that players compute their part and then send them to the referee. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Has this kind of communication complexity been studied? If yes where can I find more about this?&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;note 1: on page 49 Kushilevitz and Nisan mention a framework which involves a referee but seems very different from what I am asking. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;note 2: I am not sure if calling R a referee is the right thing, please comment if you have a better suggestion.&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2011-12-06T16:11:20.697" LastActivityDate="2011-12-07T20:02:58.093" Title="Communication complexity with a referee" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;communication-complexity&gt;" AnswerCount="2" CommentCount="9" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="9312" PostTypeId="2" ParentId="9310" CreationDate="2011-12-06T16:13:24.043" Score="16" Body="&lt;p&gt;A single Turing machine can simulate a network of Turing machines and all communication between them (if you prefer to think about real computers, you could simulate/virtualize several computers on one computer). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;So whatever a network of TMs can compute, a single TM can compute, too.&lt;/p&gt;&#xA;" OwnerUserId="7464" LastEditorUserId="-1" LastEditDate="2011-12-08T20:31:05.183" LastActivityDate="2011-12-08T20:31:05.183" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9313" PostTypeId="1" AcceptedAnswerId="9321" CreationDate="2011-12-06T16:43:05.340" Score="14" ViewCount="608" Body="&lt;p&gt;This question is inspired by a comment Jukka Suomela made on &lt;a href=&quot;https://cstheory.stackexchange.com/q/9310/30&quot;&gt;another question&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What are examples of infinitely large but locally finite computation problems (and algorithms)?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;In other words, what are examples of computations that halt in finite time, in which each Turing Machine reads and processes only finite data, but altogether the computation solves an infinite-size problem if there are infinitely-many Turing machines networked together?&lt;/p&gt;&#xA;" OwnerUserId="30" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2016-09-30T22:37:37.380" Title="Infinitely large but locally finite computation problems" Tags="&lt;dc.distributed-comp&gt;" AnswerCount="4" CommentCount="2" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="9314" PostTypeId="1" CreationDate="2011-12-06T17:14:26.620" Score="7" ViewCount="132" Body="&lt;p&gt;&lt;strong&gt;Question.&lt;/strong&gt; I'm looking into certain algorithms for linear algebra which lie in &lt;strong&gt;NC&lt;sup&gt;2&lt;/sup&gt;&lt;/strong&gt;. Does anyone know of alternative references for the proof of the proposition just below, relating rank of matrices over &lt;em&gt;R&lt;/em&gt; to characteristic polynomials over &lt;em&gt;R&lt;/em&gt;(&lt;em&gt;x&lt;/em&gt;)? &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;em&gt;Proposition.&lt;/em&gt; Let &lt;em&gt;A&lt;/em&gt; be an &lt;em&gt;m&lt;/em&gt;&amp;times;&lt;em&gt;n&lt;/em&gt; matrix in a ring &lt;em&gt;R&lt;/em&gt;, and let &lt;em&gt;R&lt;/em&gt;(&lt;em&gt;x&lt;/em&gt;) be the extension by a formal indeterminate &lt;em&gt;x&lt;/em&gt;. Define the matrices&#xA;  $$\begin{align*} A&amp;#39; &amp;amp;= \begin{bmatrix} 0 &amp;amp; A \\ A^{\mathsf T} &amp;amp; 0 \end{bmatrix}, &amp;amp; X &amp;amp;= \mathrm{Diag}(1,x,x^2,\ldots,x^{m+n-1}), &amp;amp; B &amp;amp;= XA&amp;#39;\,.\end{align*}$$&#xA;  Then rank(&lt;em&gt;A&lt;/em&gt;)&amp;nbsp;&amp;leq;&amp;nbsp;&lt;em&gt;r&lt;/em&gt; for some integer &lt;em&gt;r&lt;/em&gt;&amp;nbsp;&amp;ge;&amp;nbsp;0 if and only if the characteristic polynomial det(&lt;em&gt;B&lt;/em&gt;&amp;nbsp;&amp;minus;&amp;nbsp;&lt;em&gt;t&amp;nbsp;I&lt;/em&gt;) of &lt;em&gt;B&lt;/em&gt; is divisible by &lt;em&gt;t&lt;/em&gt;&lt;sup&gt;&amp;thinsp;2(&lt;em&gt;m+n&amp;minus;r&lt;/em&gt;)&lt;/sup&gt;.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Context.&lt;/strong&gt; The proposition above is a standard result which allows decision problems about the rank of a matrix &lt;em&gt;A&lt;/em&gt; to be reduced to those about the characteristic polynomial of &lt;em&gt;B&lt;/em&gt;. A convincing proof of the proposition &lt;em&gt;for the case that R is a finite field&lt;/em&gt; can be found in Mulmuley's article &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=12164&quot; rel=&quot;nofollow&quot;&gt;&lt;em&gt;A fast parallel algorithm to compute the rank of a matrix over an arbitrary field&lt;/em&gt;&lt;/a&gt;. Because the degree of the formal indeterminate &lt;em&gt;x&lt;/em&gt; can be bounded in det(&lt;em&gt;B&lt;/em&gt;&amp;nbsp;&amp;minus;&amp;nbsp;&lt;em&gt;t&amp;nbsp;I&lt;/em&gt;), we can reduce this problem to a problem of polynomials over &lt;em&gt;R&lt;/em&gt; alone.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;While Mulmuley's proof breaks down for any ring that has nilpotent elements (such as 2 in the rings &amp;#8484;&lt;sub&gt;2&lt;sup&gt;k&lt;/sup&gt;&lt;/sub&gt;&amp;nbsp;), Allender&amp;thinsp;+&amp;thinsp;Beals&amp;thinsp;+&amp;thinsp;Ogihara claim (in their article &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=329552&quot; rel=&quot;nofollow&quot;&gt;&lt;em&gt;The complexity of matrix rank and feasible systems of linear equations&lt;/em&gt;&lt;/a&gt;) that this proposition (or rather a result which I've paraphrased in the result above) holds generally for any ring, and is shown in the book chapter&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;J. von zur Gathen. &quot;Parallel linear algebra&quot;. In J. H. Reif, editor,&#xA;  &lt;em&gt;Synthesis of parallel algorithms&lt;/em&gt;, (pp.&amp;nbsp;573–617). Morgan Kaufmann,&#xA;  1993.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;which in any case is (or was) widely referenced in the literature. Unfortunately, I can't seem to locate a copy of it (physically embodied or otherwise) that does not require an investment of about $50, and a couple of weeks for shipping and handling, for the entire textbook.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can anyone provide an alternative reference, or possibly show me where to find an inexpensive electronic copy of the one book chapter? I would be satisfied with any widely available standard text on abstract algebra which proved this proposition, for example. &lt;/p&gt;&#xA;" OwnerUserId="248" LastEditorUserId="248" LastEditDate="2011-12-06T21:45:15.133" LastActivityDate="2011-12-06T21:45:15.133" Title="Reference request: reducing rank computations to characteristic polynomials over arbitrary rings" Tags="&lt;reference-request&gt;&lt;dc.parallel-comp&gt;&lt;linear-algebra&gt;" AnswerCount="0" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9315" PostTypeId="1" AcceptedAnswerId="9317" CreationDate="2011-12-06T17:19:50.700" Score="4" ViewCount="242" Body="&lt;p&gt;Assume I have a parametrized graph. The parameters are two integers $x$ and $y&amp;lt;x$.&#xA;Let $S(x)=\{1, \ldots, x\}$.&#xA;The vertices of the graph are all the subsets of $S(x)$ of size $y$. Two vertices share an edge if their intersection is empty.&#xA;I need to find the &lt;strong&gt;chromatic number&lt;/strong&gt; of this graph.&#xA;Is this problem NP-hard ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thank you in advance for your help.&lt;/p&gt;&#xA;" OwnerUserId="7512" LastEditorUserId="7512" LastEditDate="2011-12-06T20:59:16.723" LastActivityDate="2011-12-06T20:59:16.723" Title="Chromatic number of a particular graph" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;&lt;graph-colouring&gt;" AnswerCount="1" CommentCount="7" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9316" PostTypeId="1" CreationDate="2011-12-06T17:51:17.027" Score="7" ViewCount="268" Body="&lt;p&gt;Let $k$ be a field with $p$ elements. Consider the following computational problem&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;em&gt;Input&lt;/em&gt;: a natural number $n$,  $n^2$ linear forms $M_{ij}$, $i,j=1,\ldots n$ in $n^2$ variables $X_{11}, \ldots X_{nn}$. &lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;&lt;em&gt;Problem:&lt;/em&gt; Is there an assignement of values to the variables $X_{ij}$ so that the matrix $M_{ij}$ is invertible?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;${}$&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Question:&lt;/strong&gt; What is known about algorithms for this problem?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;As usually, let's assume the addition and multiplication in the field to have computational cost $1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The naive algorithm of checking each assignment of the variables $X_{ij}$ takes time bounded by a polynomial in $p^{n^2}$. I'd be interested to know if there is an improvement to polynomial in $p^n$ (or better). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The special case when each $M_{ij}$ is equal either to $0$ or to $X_{ij}$ is solved  by Emil Jeřábek on the mathoverflow thread linked to below.&lt;/p&gt;&#xA;" OwnerUserId="7513" LastEditorUserId="7513" LastEditDate="2011-12-07T00:24:33.360" LastActivityDate="2011-12-12T09:42:54.903" Title="determining if a matrix of linear forms represents a non-degenerate matrix" Tags="&lt;ds.algorithms&gt;&lt;co.combinatorics&gt;&lt;linear-algebra&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9317" PostTypeId="2" ParentId="9315" CreationDate="2011-12-06T18:58:05.923" Score="9" Body="&lt;p&gt;See &lt;a href=&quot;http://en.wikipedia.org/wiki/Kneser_graph&quot;&gt;http://en.wikipedia.org/wiki/Kneser_graph&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="679" LastActivityDate="2011-12-06T18:58:05.923" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9318" PostTypeId="2" ParentId="9313" CreationDate="2011-12-06T19:40:06.620" Score="3" Body="&lt;p&gt;Finding the next generation of a &lt;a href=&quot;http://en.wikipedia.org/wiki/Cellular_automaton&quot; rel=&quot;nofollow&quot;&gt;Cellular Automaton&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This can be solved as you described in constant time. $\;$ (i.e., independent of the input)&lt;/p&gt;&#xA;" OwnerDisplayName="user6973" LastEditorDisplayName="user6973" LastEditDate="2011-12-06T22:07:25.443" LastActivityDate="2011-12-06T22:07:25.443" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="9319" PostTypeId="1" AcceptedAnswerId="9363" CreationDate="2011-12-06T20:35:25.590" Score="1" ViewCount="207" Body="&lt;p&gt;I am experimenting with k-SAT.  I'm using an oracle that returns the total number of satisfiable truth assignments, which is in #P.  The interest here is that this total is returned modulo a natural number, say N.  There is therefore a 1/N probability that the oracle mistakes a satisfiable problem for one with zero satisfiable truth assignments.  I'm wondering if this oracle could be non-relativizing.  I'm also wondering if there has been research concerning oracles with similar types of &quot;errors&quot;.&lt;/p&gt;&#xA;" OwnerUserId="1549" LastEditorUserId="-1" LastEditDate="2011-12-06T23:25:02.620" LastActivityDate="2011-12-10T00:06:33.100" Title="Can an oracle allowing errors be non-relativizing?" Tags="&lt;cc.complexity-theory&gt;&lt;sat&gt;&lt;oracles&gt;&lt;relativization&gt;" AnswerCount="1" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="9320" PostTypeId="2" ParentId="9311" CreationDate="2011-12-06T22:21:02.453" Score="7" Body="&lt;p&gt;I'm sure you know the following paper, but I put a link to it because other readers may be interested: &lt;a href=&quot;http://www.karlin.mff.cuni.cz/~krajicek/game.ps&quot;&gt;Interpolation by Games&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This paper is an attempt to use the communication complexity framework to show lower bounds for cutting planes.  The protocol is used to produce an interpolant circuit for unsatisfiable CNF: &#xA;$$&#xD;&#xA;A(x,y)\lor B(x,z).&#xD;&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Player $A$ gets input $a$ and $y^a$, player $B$ gets $b$ and $z^b$.  If there is a shallow tree-like proof in cutting planes then the two players have a communication protocol such that &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;any communication is mediated by the referee, which helps in evaluating the inequalities in the proof;&lt;/li&gt;&#xA;&lt;li&gt;the amount of communication is small (the tree is shallow);&lt;/li&gt;&#xA;&lt;li&gt;the two players either decide which of $A$ or $B$ is falsified;&lt;/li&gt;&#xA;&lt;li&gt;they find a position $i$ in which $a_i \not= b_i$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The referee is turned into a probabilistic protocol for inequalities.  In this way it is possible to turn lower bound for tree-like probabilistic protocols in the communication complexity framework into lower bound for tree-like cutting planes proofs.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we had lower bound for communication protocol of the form of a PLS, then we would get lower bound for dag-like cutting planes proofs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Notice that this technique does not depend on the actual inference rules of cutting planes. If we assume the inference rules to be (1) positive combination (2) integer division with floor we can build the monotone interpolant circuit using Pavel Pudlák &lt;a href=&quot;http://www.math.cas.cz/~pudlak/interpol.ps&quot;&gt;argument&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="267" LastEditorUserId="267" LastEditDate="2011-12-07T00:05:08.373" LastActivityDate="2011-12-07T00:05:08.373" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="9321" PostTypeId="2" ParentId="9313" CreationDate="2011-12-06T22:26:11.747" Score="13" Body="&lt;p&gt;Just to give some ideas of what is possible (but somewhat non-trivial), here is one example: a distributed algorithm that finds a &lt;strong&gt;maximal edge packing&lt;/strong&gt; on a bounded-degree graph.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Problem definition&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;Given a simple undirected graph $G = (V,E)$, an &lt;em&gt;edge packing&lt;/em&gt; (or fractional matching) associates a weight $w(e)$ with each edge $e \in E$ such that for each node $v \in V$, the total weight of edges incident to $v$ is at most $1$. A node is &lt;em&gt;saturated&lt;/em&gt; if the total weight of incident edges is equal to $1$. An edge packing is &lt;em&gt;maximal&lt;/em&gt; if all edges have at least one saturated endpoint (i.e., none of the weights can be greedily extended).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Observe that a maximal matching $M \subseteq E$ defines a maximal edge packing (set $w(e) = 1$ iff $e \in M$); hence it is easy to solve in a classical centralised setting (assuming $G$ is finite).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edge packings actually have some applications, at least if one defines an application in the usual TCS sense: the set of saturated nodes forms a $2$-approximation of a minimum vertex cover (of course this makes only sense in the case of a finite $G$).&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Model of computation&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;We will assume that there is a global constant $\Delta$ such that the degree of any $v \in V$ is at most $\Delta$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To keep this as close to the spirit of the original question, let us define the model of computation as follows. We assume that each node $v \in V$ is a Turing machine, and an edge $\{u,v\} \in E$ is a communication channel between $u$ and $v$. The input tape of $v$ encodes the degree $\deg(v)$ of $v$. For each $v \in V$, the edges incident to $v$ are labelled (in an arbitrary order) with integers $1,2,\dotsc,\deg(v)$; these are called &lt;em&gt;local edge labels&lt;/em&gt; (the label of $\{u,v\} \in E$ can be different for $u$ and $v$). The machine has instructions with which it can send and receive messages through each of these edges; a machine can address its neighbours by using the local edge labels.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We require that the machines compute a valid edge packing $w$ for $G$. More precisely, each $v \in V$ has to print on its output tape an encoding of $w(e)$ for each edge $e$ incident to $v$, ordered by the local edge labels, and then halt.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We say that a distributed algorithm $A$ finds a maximal edge packing in time $T$, if the following holds for any graph $G$ of maximum degree $\Delta$, and for any local edge labelling of $G$: if we replace each node of $G$ with an identical copy of the Turing machine $A$ and start the machines, then after $T$ steps all machines have printed a valid (globally consistent) solution and halted.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Infinities&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;Now all of the above makes perfect sense even if the set of nodes $V$ is countably infinite.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem formulation and the model of computation do not have any references to $|V|$, directly or indirectly. The length of the input for each Turing machine is bounded by a constant.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;What is known&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;The problem can be solved in finite time even if $G$ is infinite.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem is non-trivial in the sense that some communication is necessary. Moreover, the running time depends on $\Delta$. However, for any fixed $\Delta$, the problem can be solved in constant time regardless of the size of $G$; in particular, the problem is solvable on infinitely large graphs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have not checked what is the best known running time in the model defined above (which is &lt;em&gt;not&lt;/em&gt; the usual model used in the field). Nevertheless, a running time that is polynomial in $\Delta$ should be fairly easy to achieve, and I think a running time that is sublinear in $\Delta$ is impossible.&lt;/p&gt;&#xA;" OwnerUserId="74" LastActivityDate="2011-12-06T22:26:11.747" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9322" PostTypeId="2" ParentId="9241" CreationDate="2011-12-06T22:53:10.360" Score="27" Body="&lt;p&gt;A 1.1-approximation can be obtained in time (and space) $O^*(1.932^n)$ by adapting a &quot;truncated&quot; version of Held and Karp's exact $O^*(2^n)$ algorithm. Here $n$ is the number of locations. More in general, a $(1+\epsilon)$-approximation can be found in time $O^*(2^{(1-\epsilon/2)n})$ for all $\epsilon \le 2/5$. This is from: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Nicolas Boria, Nicolas Bougeois, Bruno Escoffier, Vangelis Th. Paschos: Exponential approximation schemas for some graph problems. &lt;a href=&quot;http://www.lamsade.dauphine.fr/~boria/papers/SteinerTSP.pdf&quot;&gt;Available online&lt;/a&gt;. &lt;/p&gt;&#xA;" OwnerUserId="392" LastActivityDate="2011-12-06T22:53:10.360" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9323" PostTypeId="1" AcceptedAnswerId="9338" CreationDate="2011-12-07T04:19:17.617" Score="7" ViewCount="798" Body="&lt;p&gt;Let a weighted graph $G(V,E)$, where the weights are real (positve and negative). Assume that $G$ has $\mathcal{O}(n\log n)$ edges.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;How fast can we compute MAX-CUT on this graph?&#xA;Can we compute (approximate within $\epsilon$) MAXCUT faster on sparse graphs compared to dense ones?&lt;/p&gt;&#xA;" OwnerUserId="6963" LastActivityDate="2011-12-08T03:26:17.443" Title="Hardness of MAX-CUT on sparse graphs" Tags="&lt;cc.complexity-theory&gt;&lt;optimization&gt;&lt;max-cut&gt;" AnswerCount="3" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="9324" PostTypeId="2" ParentId="9323" CreationDate="2011-12-07T04:28:48.317" Score="0" Body="&lt;p&gt;As far as the approximation portion of your question goes... You can compute MAX-CUT with a 2 approximation in time $O(E)$ by using a simple randomized algorithm. For each edge in the graph flip a coin to determine which set to place it in. Output the larger of these two sets. In the worst case OPT will be E, and our randomized algorithm will be $|E|/2$. This is simple to see since each edge has 50% chance of being output in the cut. &lt;/p&gt;&#xA;" OwnerUserId="1501" LastActivityDate="2011-12-07T04:28:48.317" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="9325" PostTypeId="2" ParentId="9307" CreationDate="2011-12-07T06:42:09.827" Score="7" Body="&lt;p&gt;I definitely agree with the decision tree laid out by Rob Simmons above; I also agree with his conclusion: they are all different, and probably not in some subsumption hierarchy.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;[Disclaimer: I have very little knowledge of automatic differentiation. I have some passing knowledge of partial evaluation and FRP, but haven't used or researched either directly. I'm very familiar with self-adjusting computation; I do research in that area.]&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let me try to extend the description of SAC given above: Self-adjusting computation is a paradigm where computational decisions depend on data, which is assumed to change over time.  The computation itself produces more data, which may be consumed by other (self-adjusting) computation.  When any input data is changed, the technique provides a general-purpose mechanism by which the computation is updated to reflect the changes.  (When I say &quot;computation&quot;, I mean a dynamic structure, like an execution trace, that reflects the operational steps used to produce the output from the input.) By updating the computation, the update mechanism also updates the output of the computation.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;As with FRP, SAC enjoys nice compositional reasoning: one can compose two functions and get the composition of their (self-adjusting or reactive) behavior.  There may be a subsumption relationship there, where some flavor of SAC perhaps subsumes some flavor of FRP, but that's a topic of future research.  It's certainly not obvious that this relationship exists between current approaches of SAC and FRP.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;SAC compared with partial evaluation: As Rob Simmons says above, dependencies in SAC need not be separated a priori into two categories (static and dynamic); moreover, even in the case that all data has the potential to change, assuming that the changes to this data are incremental (and that the underlying program enjoys &quot;stability&quot; across such changes), the SAC approach can still deliver significant time savings.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is because SAC is largely a dynamic technique, unlike partial evaluation, which is largely a static (compilation-time) technique.  Because of these phasing differences, I do not think that it's useful to think of one subsuming the other.  They are just different (mostly orthogonal?) approaches.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If I had to make them comparable, I might say something like &quot;PE statically specializes programs based on a fixed part of the input, and SAC dynamically specializes a computation based on the prior input&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The important thing to note about SAC specializing a computation is that, after a change occurs, the computation itself is updated to reflect this (via a mechanism I mentioned above, called &quot;change propagation&quot;).  This is in contrast to PE, where the specialization only occurs once, up front.  Hence, SAC is more &quot;dynamic&quot;/&quot;online&quot; (like FRP), whereas PE is (usually?) more of a offline process.  (Perhaps someone that knows more about run-time specialization of code can extend this comparison to PE when it occurs at run-time.)&lt;/p&gt;&#xA;" OwnerUserId="7521" LastActivityDate="2011-12-07T06:42:09.827" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9328" PostTypeId="2" ParentId="9304" CreationDate="2011-12-07T11:38:38.150" Score="3" Body="&lt;p&gt;Not exactly what you are looking for, I know, but geodesics have been used to prove optimal state transfer rates in Ising spin chains (see &lt;a href=&quot;http://arxiv.org/abs/0705.0378&quot; rel=&quot;nofollow&quot;&gt;arXiv:0705.0378&lt;/a&gt;). I'm not sure how related this is to Nielsen's approach, as I haven't read that particular paper, but I remember thinking this was quite a neat result when it first came out. Basically this is the minimum time to transfer a quantum state from one end of a linear array of qubits to the other. It is a very simple problem, but in the above paper they show that the transfer can be achieved significantly faster than was previously believed (although of course there is still a linear scaling, with the speed-up in the constant).&lt;/p&gt;&#xA;" OwnerUserId="204" LastActivityDate="2011-12-07T11:38:38.150" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9329" PostTypeId="1" CreationDate="2011-12-07T14:24:53.130" Score="12" ViewCount="471" Body="&lt;p&gt;The weight $|x|$ of a binary string $x\in\{0,1\}^n$ is the number of ones in the string. What happens if we are interested in computing a monotone function on inputs with few ones? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;We know that deciding if a graph has a $k$-clique is hard for monotone circuits (see among others Alon Boppana, 1987), but if a graph has for example at most $k^3$ edges it possible to find a monotone bounded depth circuit of size $f(k)\cdot n^{O(1)}$  which decides $k$-clique.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question: is there any function which is hard to compute by a monotone circuit even on inputs of weight less than $k$? Here hard means circuit size  $n^{{k}^{\Omega(1)}}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Even better: is there an explicit monotone function which is hard to compute even if we only care about inputs of weight $k_1$ and $k_2$? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Emil Jeřábek already observed that known lower bounds hold  for monotone circuits that separate two classes of inputs ($a$-cliques vs maximal $(a-1)$-colorable graphs), thus at cost of some independence in the probabilistic argument it is possible to make it work for two classes of input of fixed weight.  This would cause $k_2$ to be a function of $n$ which I want to avoid.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is would really like is an explicit hard function for $k_1$ and $k_2$ much smaller than $n$ (as in the parameterized complexity framework).  Even better if $k_1=k_2+1$.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Notice that a positive answer for $k_1=k_2$ would imply an exponential lower bound for arbitrary circuits. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Update&lt;/strong&gt;: &lt;a href=&quot;https://cstheory.stackexchange.com/questions/1441/hardness-of-parameterized-clique&quot;&gt;This question&lt;/a&gt; may be partially relevant. &lt;/p&gt;&#xA;" OwnerUserId="267" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2013-09-25T03:37:33.817" Title="Monotone circuit complexity of computing functions on sparse inputs" Tags="&lt;cc.complexity-theory&gt;&lt;lower-bounds&gt;&lt;circuit-complexity&gt;&lt;parameterized-complexity&gt;&lt;monotone&gt;" AnswerCount="1" CommentCount="15" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="9330" PostTypeId="1" AcceptedAnswerId="9335" CreationDate="2011-12-07T17:23:55.490" Score="3" ViewCount="285" Body="&lt;p&gt;Given a family of sets $F = S_1, ..., S_n$ of elements from a universe $U$, find the minimal integer $k$ for which there is a partition of $F$ of size $k$, such that every two sets in the same partition are disjoint. Formally, we want $P_1, ..., P_k$ such that for every $1 \leq i,j \leq k$, we have $P_i \subseteq F$ and $P_i \cap P_j = \emptyset$. Furthermore, for every $S,T \in P_i$ we have $S \cap T = \emptyset$. Finally, $\bigcup P_i = F$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We can ask the same question as a decision problem: $\lbrace U,F,k \rbrace \in MIN-SET-PARTITION$ iff there is a partition (as described above) of $F$ of size $k$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My intuition is that this is indeed NP-hard and that someone has probably already thought about it. I'd be happy to get a reference or a description of a reduction.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks!&lt;/p&gt;&#xA;" OwnerUserId="1536" LastEditorUserId="-1" LastEditDate="2011-12-07T19:26:22.630" LastActivityDate="2011-12-07T21:19:14.883" Title="Is the problem &quot;MIN-SET-PARTITION&quot; an NP-hard problem?" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9331" PostTypeId="2" ParentId="9311" CreationDate="2011-12-07T18:16:54.753" Score="5" Body="&lt;p&gt;Just few remarks. First, I cannot quite see why we need a referee at all. &#xA;If his/her function is known for the players, why then they cannot just simulate the&#xA;referee? Alice sends $m_A$ to Bob, he (without seeing $m_A$) computes &#xA;$m_B$, after that he computes $f(m_A,m_B)$ and tells the result&#xA;to Alice. Perhaps you assume that $f_A$ is &lt;em&gt;not&lt;/em&gt; known to Bob, and $f_B$ to Alice?&#xA;&lt;p&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Second, protocols related to linear inequalities are indeed interesting in&#xA;the context of cutting plane proofs. In this case, it is even enough to consider &#xA;protocols, where the &lt;b&gt;form&lt;/b&gt; of messages is &lt;strong&gt;very restricted&lt;/strong&gt;: just values of&#xA;some linear combinations of input variables can be communicated. &#xA;&lt;p&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To be a bit more precise, suppose we are&#xA;given a system of linear inequalities with integer coefficients. We know that&#xA;the system has no $0$-$1$ solution.  The variables are somehow split among the players&#xA;(in fifty-fifty manner); this is the &quot;worst partition&quot; scenario: the adversary can choose&#xA;the &quot;worst&quot; partition.&#xA; Given a $0$-$1$ string, the goal of the players is to&#xA;find an unsatisfied inequality. That is, the answer is now not a single bit, but the&#xA;name of one inequality of our system. (This is a Karchmer-Wigderson type &#xA;communication game.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;p&gt;&#xA;Now consider the following restricted protocols for such a game:&#xA;(i) the referees function&#xA;if just $f(\alpha,\beta)=1$ iff $\alpha \leq \beta$, (ii) the messages&#xA;of players are restricted to &lt;b&gt;linear&lt;/b&gt; ones: in each round, Alice&#xA;must send the message of the form $m_A(\vec{x})=\vec{c}\cdot \vec{x}$, and Bob&#xA;the message of the form  $m_B(\vec{y})=\vec{d}\cdot \vec{y}$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;p&gt;&#xA;&lt;a href=&quot;http://www.cs.toronto.edu/~toni/publications.html&quot; rel=&quot;nofollow&quot;&gt;Impagliazzo,  Pitassi and Urquhart (1994)&lt;/a&gt; observed the following:&#xA;If all coefficients used in the cutting plane proofs &#xA;are polynomial in the number of variables, and if this game needs $t$ bits of&#xA;communication, then every tree-like  proof of the unsatisfiability of the given system&#xA;must produce $\exp(t/\log n)$ inequalities. They then used known lower bounds&#xA;on communication complexity to give an explicit system requiring proofs of&#xA;exponential size. The disadvantage of this result is that the system &#xA;is very &lt;b&gt;artificial&lt;/b&gt;,&#xA;it corresponds to no &quot;real&quot; optimization problem. It is therefore an interesting&#xA;question to come up with a lower bound for a &quot;real&quot; optimization problems.&#xA;&lt;p&gt;&#xA;One of such problems is the Independent Set problem for graphs. Given a graph&#xA;$G=(V,E)$ we can associate with each vertex $u$ a variable $x_u$ and &#xA;consider the system of inequalities consisting of the inequality&#xA;$\sum_{v\in V}x_v&amp;gt;\alpha(G)$, and all inequalities $x_u+x_v\leq 1$ for all&#xA;edges $uv$ of $G$. Since every $0$-$1$ solution for the subsystem of these latter&#xA;inequalities gives an independent set in $G$, the entire system has no zero-one &#xA;solutions. What is the communication &#xA;complexity of the games for such systems?&lt;br&gt;&#xA;&lt;p&gt;&#xA;If our graph $=(L\cup R,E)$ &#xA;is bipartite, then it is natural (for the adversary)&#xA;to split the variables according to its parts.&#xA;In this case, Alice gets a subset $A\subseteq L$, Bob a subset $B\subseteq R$&#xA;with the promise that $|A\cup B|&amp;gt;\alpha(G)$. The goal is to find an edge between&#xA;$A$ and $B$. Here $\alpha(G)$ is the &quot;bipartite&quot; independence number: maximum size of an &#xA;independent set not lying entirely in $L$ or in $R$.  One of my favorite problems is: &#xA;Prove that $n\times n$ graphs requiring $\omega(\log^2 n)$ bits of communication &lt;b&gt;exist&lt;/b&gt;. &#xA;&lt;p&gt;&#xA;@Kaveh: Sorry for &quot;answering&quot; your question with questions.&lt;/p&gt;&#xA;" OwnerUserId="5788" LastEditorUserId="5788" LastEditDate="2011-12-07T20:02:58.093" LastActivityDate="2011-12-07T20:02:58.093" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="9333" PostTypeId="1" CreationDate="2011-12-07T20:34:18.390" Score="4" ViewCount="539" Body="&lt;p&gt;&lt;strong&gt;UPDATE&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now community wiki.  My new version of the question is: let's make a big list of classes of polygons.  We may be able to produce the most comprehensive list on the web, or in the literature. If there is community interest, after Jan 1st I will organize the information from all the answers into a post on the community blog.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;ORIGINAL QUESTION BELOW&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Could you recommend a source, either in print or online, for a menagerie of polygons?  An extensive/exhaustive list of classes of polygon?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The Wikikpedia article on polygons provides a &lt;a href=&quot;http://en.wikipedia.org/wiki/Polygon#Classification&quot; rel=&quot;nofollow&quot;&gt;partial classification&lt;/a&gt;, but I would like something more complete.  Also, I am not concerned about how to name a 90-sided figure.  Rather, I am trying to find a list of classes that contain infinitely many figures each (examples: star polygon, isothetic polygon).  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example: actual words for &quot;looks like a spider,&quot; &quot;would look like a football if it were smoothed out,&quot; and so on.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I've already checked &lt;a href=&quot;http://www.ics.uci.edu/~eppstein/junkyard/&quot; rel=&quot;nofollow&quot;&gt;The Geometry Junkyard&lt;/a&gt; and several pages of a Google search, but perhaps I didn't know what to look for.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks very much.&lt;/p&gt;&#xA;" OwnerUserId="30" LastEditorUserId="30" LastEditDate="2011-12-09T20:48:00.947" LastActivityDate="2011-12-12T09:42:35.730" Title="Menagerie of polygons" Tags="&lt;cg.comp-geom&gt;&lt;big-list&gt;&lt;polygon&gt;" AnswerCount="7" CommentCount="7" CommunityOwnedDate="2011-12-09T20:44:08.280" ContentLicense="CC BY-SA 3.0" />
  <row Id="9334" PostTypeId="2" ParentId="9307" CreationDate="2011-12-07T20:57:51.697" Score="9" Body="&lt;p&gt;Speaking only to the relationship between FRP and SAC:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My froc library (see &lt;a href=&quot;http://jaked.github.com/froc&quot;&gt;http://jaked.github.com/froc&lt;/a&gt;) implements a form of FRP directly on top of SAC; froc behaviors are exactly SAC changeables, and froc events are SAC changeables which take on &quot;instantaneous&quot; values (i.e. for only one SAC update cycle). More details on how this works at &lt;a href=&quot;http://ambassadortothecomputers.blogspot.com/2010/05/how-froc-works.html&quot;&gt;http://ambassadortothecomputers.blogspot.com/2010/05/how-froc-works.html&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Froc's programming model is identical to that provided by the FrTime / Flapjax thread of FRP work, which can be implemented by pushing changes through a dependency graph. Haskell-based FRP systems (Fran et al.) are for the most part pull-based, but provide a somewhat more expressive programming model which allows free use of recursion.&lt;/p&gt;&#xA;" OwnerUserId="7532" LastActivityDate="2011-12-07T20:57:51.697" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9335" PostTypeId="2" ParentId="9330" CreationDate="2011-12-07T21:19:14.883" Score="4" Body="&lt;p&gt;Take $S_i$ to be the edges of a graph $G$. Then, a partition $F$ of size $k$ corresponds to an edge-coloring of $G$; the minimum such $k$ corresponds to the chromatic index of $G$. Edge-coloring is known to be NP-complete: &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.97.5480&amp;amp;rep=rep1&amp;amp;type=pdf&amp;amp;rct=j&quot; rel=&quot;nofollow&quot;&gt;&quot;The NP-Completeness of Edge-Colouring&quot;&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="751" LastActivityDate="2011-12-07T21:19:14.883" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9336" PostTypeId="2" ParentId="9309" CreationDate="2011-12-07T21:28:34.203" Score="4" Body="&lt;p&gt;The typical approach is to analyze the expected value of the running times of the algorithm. In this case, the expected value of the running time, on any problem with $m,n$, is something like $k^2$ times the expected running time of the subproblems partition[$A_i,B_j$]. For each $i,j$ the size of the subproblem is a random variable. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The length of the list $A_i$ is the difference between the $i$th and $i+1$th order statistics when $k$ elements are drawn u.a.r from $\{1, ..., m \}$. This is essentially $m \beta(k,m+k+1)$ (i.e. is $m$ times a draw from a $\beta(1,m+k+1)$ random variable). Hence we have&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$T[m,n | k] = C (m + n) + k^2 \int_{x,y} T(m x, n y) \frac{x^{k-1} y^{k-1} (1-x)^{m+k-1} (1-y)^{n+k-1}}{\beta(k,n+k+1) \beta(k,m+k+1)} dx dy&#xD;&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is some rounding error here, as we should really have $T(\lceil mx \rceil, \lceil ny \rceil)$ in the integrand.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Unfortunately $k$ is a random variable so one must also integrate over it. I don't think there is any point to requiring $k \leq n$, as if $k \geq n$ you will simply partition the data into a sub-lists which may be empty. So say $k$ is chosen uniformly at random from $1,\dots, c$. Then you obtain&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$T[m,n] = C (m + n) + \sum_{k=1}^c \frac{k^2}{c} \int_{x,y} T(m x, n y) \frac{x^{k-1} y^{k-1} (1-x)^{m+k-1} (1-y)^{n+k-1}}{\beta(k,n+k+1) \beta(k,m+k+1)} dx dy&#xD;&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This recurrence is pretty horrible, but if you have a guess for a bound on $T[m,n]$ (I suppose $T(m,n) = O( (\log m + \log n) (m+n) )$ ) you can plug it in and verify it.&lt;/p&gt;&#xA;" OwnerUserId="5538" LastActivityDate="2011-12-07T21:28:34.203" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9337" PostTypeId="2" ParentId="9323" CreationDate="2011-12-07T23:02:11.650" Score="4" Body="&lt;p&gt;Unless $\epsilon$ is very large, it seems that no faster algorithms are known than the exact ones. For sparse graphs, the fastest one known seems to be one with running time $O(n+m) \min\{ 2^{m/5}, 2^{(m-n)/2}\}$ for a graph with $n$ vertices and $m$ edges: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Alexander D. Scott and Gregory B. Sorkin. Faster Algorithms for MAX CUT and MAX CSP, with Polynomial Expected Time for Sparse Instances. In Proc. APPROX/RANDOM 2003, LNCS 2764, pp.382--395, Springer, 2003. &lt;a href=&quot;http://dx.doi.org/10.1007/978-3-540-45198-3_32&quot; rel=&quot;nofollow&quot;&gt;Link&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The title refers to the fact that if the graph is a random graph (with edge probability $c/n$ for some $c \le 1$) then there is a polynomial expected time algorithm. &lt;/p&gt;&#xA;" OwnerUserId="392" LastActivityDate="2011-12-07T23:02:11.650" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9338" PostTypeId="2" ParentId="9323" CreationDate="2011-12-08T03:19:09.533" Score="7" Body="&lt;p&gt;There cannot be significantly better algorithms for graphs with $O(n\log n)$ edges than there are for general graphs. This is because the Benczur-Karger cut sparsifier can take an arbitrary graph, and output a graph with only $O(\frac{n\log n}{\epsilon})$ edges such that the value of any cut in the sparsified graph is within a $(1\pm\epsilon)$ factor of the cut value in the original graph. Therefore, a PTAS for sparse graphs would yield a PTAS for general graphs, by simply first running the cut sparsifier, and then approximating max-cut in the sparse graph. Since it is NP hard to approximate max cut in general graphs to within a factor of 16/17, this is also true for sparse graphs. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that there is no PTAS for max-cut even when all edge weights are non-negative. Things are even worse when negative edge weights are allowed, as in your question. See this question for the negative edge weight case: &lt;a href=&quot;https://cstheory.stackexchange.com/questions/2312/max-cut-with-negative-weight-edges&quot;&gt;Max-cut with negative weight edges&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="25" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2011-12-08T03:26:17.443" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9339" PostTypeId="2" ParentId="9313" CreationDate="2011-12-08T04:29:34.497" Score="2" Body="&lt;p&gt;Essentially, every problem that is at least as hard as coloring requires an algorithm with a running time dependent on the number of nodes in the network and thus cannot work in an infinite but locally finite graph. This follows from Linial's seminal &lt;a href=&quot;http://www.cs.huji.ac.il/~nati/PAPERS/locality_dist_graph_algs.pdf&quot; rel=&quot;nofollow&quot;&gt;log*n lower bound.&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="6785" LastActivityDate="2011-12-08T04:29:34.497" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="9340" PostTypeId="1" CreationDate="2011-12-08T05:41:27.663" Score="22" ViewCount="1826" Body="&lt;p&gt;Lately I've started looking into approximation algorithms for NP-hard problems and I was wondering about the &lt;em&gt;theoretical&lt;/em&gt; reasons for studying them. (The question is not meant to be inflammatory - I'm merely curious).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some truly beautiful theory has come out of the study of approximation algorithms - the connection between the PCP theorem and hardness of approximation, the UGC conjecture, the Goeman-Williamson approximation algorithm, etc.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I was wondering though about the point of studying approximation algorithms for problems like Traveling Salesman, Asymmetric Traveling Salesman and other variants, various problems in mechanism design (for instance in combinatorial auctions), etc.&#xA;Have such approximation algorithms been useful in other parts of theory in the past or are they studied purely for their own sake?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note: I'm not asking about any practical applications since as far as I know, in the real world, it's mostly heuristics that are applied rather than approximation algorithms and the heuristics are rarely informed by any insight gained by studying the approximation algorithms for the problem.&lt;/p&gt;&#xA;" OwnerUserId="7542" LastEditorUserId="-1" LastEditDate="2011-12-08T15:35:10.283" LastActivityDate="2012-02-25T08:52:28.670" Title="Theoretical Applications for Approximation Algorithms" Tags="&lt;ds.algorithms&gt;&lt;approximation-algorithms&gt;&lt;big-picture&gt;&lt;application-of-theory&gt;" AnswerCount="5" CommentCount="7" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="9341" PostTypeId="1" AcceptedAnswerId="9367" CreationDate="2011-12-08T10:04:53.207" Score="8" ViewCount="278" Body="&lt;p&gt;Given a group $G$ acting on a set $X$ with a total order $\leq$ and an $x\in X$, what is the most efficient algorithm for deciding whether or not x is the least element in its orbit, in other words, deciding if $ min(Gx) = x$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My motivation comes from SMT solving where there has been some interest in automatically breaking symmetries. Adding symmetry breaking predicates often result in a large clause set therefore I am interested in the possibility of handling this as a lazy theory propagation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The above description is perhaps too general, and as noted by &lt;a href=&quot;https://cstheory.stackexchange.com/users/24/sid&quot;&gt;sid&lt;/a&gt;, NP-hard. A possible simpler task is, given a group of permutations of strings of length $n$ encoded as a set of generators and a string $x$ of length $n$. What is the most efficient algorithm for deciding if that string is the lexicographically smallest in its orbit?&lt;/p&gt;&#xA;" OwnerUserId="6321" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2011-12-10T17:56:30.860" Title="What is the most efficient algorithm for deciding if an element is the least in its orbit?" Tags="&lt;ds.algorithms&gt;&lt;gr.group-theory&gt;" AnswerCount="1" CommentCount="8" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="9344" PostTypeId="1" CreationDate="2011-12-08T16:14:31.140" Score="10" ViewCount="655" Body="&lt;p&gt;Let $G$ be a graph with (positively) weighted edges.&#xA;I want to define the Voronoi diagram for a set of nodes/sites $S$, to&#xA;associate with a&#xA;node $v \in S$&#xA;the subgraph $R(v)$ of $G$ induced by all the nodes&#xA;strictly closer to $v$ than to any other node&#xA;in $S$, measuring the length of a path by the sum of weights on the arcs.&#xA;$R(v)$ is $v$'s &lt;em&gt;Voronoi region&lt;/em&gt;.&#xA;For example, the green nodes below are in $R(v_1)$, and the yellow nodes&#xA;are in $R(v_2)$.&#xA;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;img src=&quot;https://i.stack.imgur.com/3yOr1.jpg&quot; alt=&quot;enter image description here&quot;&gt;&lt;br /&gt;&#xA;I would like to understand the structure of the Voronoi diagram.&#xA;As a start, what does the diagram of two sites $v_1$ and $v_2$ look like,&#xA;i.e., what does the 2-site &lt;em&gt;bisector&lt;/em&gt; look like (blue in the above example)?&#xA;I think of the bisector $B(v_1,v_2)$ as the complement of $R(v_1) \cup R(v_2)$&#xA;in $G$.  Here are two specific questions:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Q1. Is the bisector of two sites connected in some sense?&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;Q2. Is $R(v)$ convex in the sense that it contains the shortest path between any two&#xA;  nodes in $R(v)$?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Surely this has been studied before.  Can anyone provide references/pointers?&#xA;Thanks!&#xA;&lt;hr /&gt;&#xA;Addendum for Suresh's comment:&#xA;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;img src=&quot;https://i.stack.imgur.com/eq2P5.jpg&quot; alt=&quot;enter image description here&quot;&gt;&#xA;&lt;br /&gt;&lt;/p&gt;&#xA;" OwnerUserId="337" LastEditorUserId="337" LastEditDate="2011-12-08T20:09:32.370" LastActivityDate="2011-12-08T20:09:32.370" Title="Voronoi diagram in a graph" Tags="&lt;reference-request&gt;&lt;graph-theory&gt;&lt;cg.comp-geom&gt;" AnswerCount="1" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="9345" PostTypeId="2" ParentId="9340" CreationDate="2011-12-08T16:22:46.170" Score="22" Body="&lt;p&gt;I strongly disagree with the last paragraph. Blanket statements like that are not useful. If you look at papers in many systems areas such as networking, databases, AI and so on you will see that plenty of approximation algorithms are used in practice. There are some problems for which one desires very accurate answers; for example say an airline interesting in optimizing its fleet scheduling. In such cases people use various heuristics that take substantial computational time but get better results than a generic approximation algorithm can give. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now for some theoretical reasons for studying approximation algorithms. First, what explains the fact that knapsack is very easy in practice while graph coloring is quite hard? Both are NP-Hard and poly-time reducible to each other. Second, by studying approximation algorithms for special cases of a problem one can pin-point what classes of instances are likely to be easy or hard. For example we know that many problems admit a PTAS in planar and minor-free graphs while they are much harder in arbitrary general graphs. The idea of approximation pervades modern algorithm design. For example, people use data streaming algorithms and without the approximation lens is hard to understand/design algorithms because even simple problems cannot be solved exactly.&lt;/p&gt;&#xA;" OwnerUserId="176" LastActivityDate="2011-12-08T16:22:46.170" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9346" PostTypeId="2" ParentId="9344" CreationDate="2011-12-08T16:25:33.563" Score="8" Body="&lt;p&gt;Mehlhorn, K.: A faster approximation algorithm for the Steiner problem in graphs.&#xA;Information Processing Letters 27, 125–128 (1988)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Erwig, M.: The graph Voronoi diagram with applications. Networks 36(3), 156–163&#xA;(2000)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;both references copied from&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Matthew T. Dickerson, Michael T. Goodrich, Thomas D. Dickerson, Ying Daisy Zhuo: Round-Trip Voronoi Diagrams and Doubling Density in Geographic Networks. Transactions on Computational Science 14: 211-238 (2011)&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2011-12-08T16:25:33.563" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="9349" PostTypeId="1" AcceptedAnswerId="9374" CreationDate="2011-12-08T19:23:45.507" Score="7" ViewCount="718" Body="&lt;p&gt;&lt;strong&gt;Edit:&lt;/strong&gt; I realise that one of my problems is that I don't have a clear definition of my problem, which makes the question of whether it is detectable hard to answer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm therefore already happy with any reference in which this particular problem is discussed at all - I haven't found any such reference myself, and with any luck, I can derive a good definition of my problem from that, which will hopefully lead to a solution.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Original:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose we have this lexical definition:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;X := a*&#xA;Y := a&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;and this context-free grammar:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;S := X Y&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;and we use any lexer and parser combination to generate a recogniser for this language, in which the lexer uses the 'maximal munch' or 'longest match first' rule.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The specification might seem to be trivially equivalent to the regular expression &quot;$a$+&quot;, but it isn't: in fact, it recognises no strings at all. The reason is that $X$ 'eats' all the $a$ characters present in the input because of 'maximal munch', leaving none for $Y$ to consume, so the parser always rejects the input.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'd like to know if it is decidable if such a problem is present in a given lexer and parser specification.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that this is decidable if only a single token is the culprit. Let $L_T$ be the language generated by some token (= regular expression) $T$, and let $L_R$ be the language generated by the 'follow' language of this token, that is, the language of all strings that are postfixes of the occurrence of $T$ in the specification. In the example above, $T=X=a^*$ and $R=Y=a$, though in general, $R$ will be a lot more complicated.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem can then be formulated as (where $+\!\!\!\!+\,$ denotes concatenation):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$(L_T +\!\!\!\!+\, L_R) \cap L_T \neq \emptyset$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If this intersection is nonempty, then $T$ will eat up the match made by $R$. As $L_T$ is regular, this is decidable. (note that a better, less stringent rule might be that $L_T +\!\!\!\!+\, L_R$ is not a subset of $L_T$, I'm not sure)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Unfortunately, grammars like $a b a^* b^* a b$ (split into 6 tokens) do not accept the string $abab$, and here no single token is the culprit, so the above method doesn't work.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Searching the web turned up nothing, not even that anyone else has ever noticed this problem, although I might just be using the wrong keywords. This surprised me somewhat, so chances are I'm either wrong or this is never a problem in practice.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I stumbled upon the above problem when toying with modularised parsing, but the above problem isn't specific at all for modularised parsing (though it can more easily become a problem if someone forgets to declare whitespace somewhere, in which case I'd like to warn the user, hence the above question).&lt;/p&gt;&#xA;" OwnerUserId="988" LastEditorUserId="988" LastEditDate="2011-12-10T21:22:29.040" LastActivityDate="2011-12-12T19:06:28.547" Title="Maximal munch rule issue for lexers: is detection decidable?" Tags="&lt;fl.formal-languages&gt;&lt;automata-theory&gt;&lt;parsing&gt;" AnswerCount="2" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9350" PostTypeId="1" AcceptedAnswerId="9354" CreationDate="2011-12-08T19:40:26.450" Score="20" ViewCount="1193" Body="&lt;p&gt;The PCP theorem states that there is no polynomial time algorithm for MAX 3SAT to find an assignment satisfying $7/8+ \epsilon$ clauses of a satisfiable 3SAT formula unless $P = NP$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is a trivial polynomial time algorithm that satisfies $7/8$ of the clauses. So, Can we do better than $7/8+ \epsilon $ if we allow super-polynomial algorithms?  What approximation ratios can we achieve  with quasi-polynomial time algorithms ( $n^{O(\log n)}$) or with sub-exponential time algorithms($2^{o(n)}$)? I'm looking for references to any such algorithms.&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="24" LastEditDate="2011-12-10T21:52:48.757" LastActivityDate="2011-12-10T21:52:48.757" Title="Super-polynomial time approximation algorithms for MAX 3SAT" Tags="&lt;cc.complexity-theory&gt;&lt;pcp&gt;" AnswerCount="2" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9351" PostTypeId="2" ParentId="8542" CreationDate="2011-12-08T20:02:07.610" Score="8" Body="&lt;p&gt;Two very recent and interesting results:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Samuel Fiorini, Serge Massar, Sebastian Pokutta, Hans Raj Tiwary and Ronald de Wolf proved that &quot;there exists no polynomial-size linear program (LP) whose associated polytope projects to the traveling salesman polytope, even if the LP is not required to be symmetric&quot; (quoted from the abstract).&lt;br&gt;&#xA;They use &lt;em&gt;quantum communication complexity&lt;/em&gt; as a tool. See their &lt;a href=&quot;http://arxiv.org/abs/1111.0837&quot;&gt;paper&lt;/a&gt; and &lt;a href=&quot;http://gilkalai.wordpress.com/2011/12/07/projections-to-the-tsp-polytope/&quot;&gt;Gil Kalai's blog post&lt;/a&gt;. Also notice Dave's comment under Gil Kalai's post. I haven't read the paper yet, so I can't comment myself about where and how quantum stuff are used. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Andrew M. Childs, Shelby Kimmel and Robin Kothari used &lt;em&gt;quantum query complexity&lt;/em&gt; to prove lower bounds for a very classical measure, which is the formula gate count of functions such as PARITY.&#xA;See their &lt;a href=&quot;http://arxiv.org/abs/1112.0548&quot;&gt;paper&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="1542" LastActivityDate="2011-12-08T20:02:07.610" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="9352" PostTypeId="2" ParentId="9333" CreationDate="2011-12-08T20:03:03.803" Score="3" Body="&lt;p&gt;This is not a serious answer, just an opportunity to mention that Godfried Toussaint&#xA;introduced &lt;em&gt;sail polygons&lt;/em&gt; in his 1985 paper &quot;&lt;a href=&quot;http://www.springerlink.com/content/q744325k7350m237/&quot; rel=&quot;nofollow noreferrer&quot;&gt;A simple linear algorithm for intersecting convex polygons&lt;/a&gt;&quot;:&#xA;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;img src=&quot;https://i.stack.imgur.com/LVSpo.jpg&quot; alt=&quot;Sail Polygon&quot;&gt;&lt;br /&gt;&#xA;I don't think this particular class found many subsequent uses. :-)&lt;/p&gt;&#xA;" OwnerUserId="337" LastActivityDate="2011-12-08T20:03:03.803" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="9353" PostTypeId="1" CreationDate="2011-12-08T21:17:31.353" Score="0" ViewCount="799" Body="&lt;p&gt;This one's hard, so all help really appreciated!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I know it is NP-Complete and thus cannot be solved in polynomial time, but looking for help in analysis, i.e. what type of NP-Complete problem it reduces to, similar problems it reminds you of, etc.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The story goes as follows. I own an ice cream truck business with n trucks. There are m stops where I make deliveries. Each location $m_i$ has $p_i$ people waiting for me. After buying their ice cream, everyone leaves (so $p_i$ reduce to zero). $p_i$ increases over time as more people line up to wait for the ice cream trucks. Also, all the truck drivers get commission, so they are competing against each other. All trucks have to be either at a location or moving to the next at any given time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;How can I figure out where to send the trucks next in order to maximize my profit on any given day?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Things to keep in mind:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Two trucks that stop in the same spot at similar times will only get&#xA;the profit once, i.e. the people leave after one truck arrives&lt;/li&gt;&#xA;&lt;li&gt;The trucks take time to get from one location to another&lt;/li&gt;&#xA;&lt;li&gt;$p_i$ increases over time at each stop, but some stops increase faster&#xA;than others, i.e. some locations are near malls (location, location,&#xA;location)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I've tried reducing this to a multi-machine scheduling problem, travelling sales person problem, ILP etc., but the main issue is that the $p_i$ at every location (i.e. the distance in the TSP or the job length in the scheduling problem) is constantly changing.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks in advance!&lt;/p&gt;&#xA;" OwnerUserId="7540" LastEditorUserId="32187" LastEditDate="2015-04-07T09:30:38.100" LastActivityDate="2015-04-07T09:30:38.100" Title="Algorithm to maximize profit: ways to solve/approach? (Advanced NP-Complete)" Tags="&lt;np-hardness&gt;&lt;optimization&gt;&lt;gt.game-theory&gt;&lt;tsp&gt;&lt;scheduling&gt;" AnswerCount="0" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="9354" PostTypeId="2" ParentId="9350" CreationDate="2011-12-08T21:48:43.763" Score="31" Body="&lt;p&gt;One can get a $7/8+\varepsilon/8$ approximation for MAX3SAT that runs in $2^{O(\varepsilon n)}$ time without too much trouble. Here is the idea. Divide the set of variables into $O(1/\varepsilon)$ groups of $\varepsilon n$ variables each. For each group, try all $2^{\varepsilon n}$ ways to assign the variables in the group. For each reduced formula, run the Karloff and Zwick $7/8$-approximation. Output the assignment satisfying a maximum number of clauses, out of all these trials.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The point is that there is some variable block such that the optimal assignment (restricted to that block) already satisfies a $\varepsilon$-fraction of the maximum number of satisfied clauses. You'll get those extra clauses exactly correct, and you'll get $7/8$ of the the remaining fraction of the optimum using Karloff and Zwick.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is an interesting question if one can get $2^{O(\varepsilon^2 n)}$ time for the same type of approximation. There is a &quot;Linear PCP Conjecture&quot; that 3SAT can be reduced in polynomial time to MAX3SAT, such that:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;if the 3SAT instance is satisfiable then the MAX3SAT instance is completely satisfiable,&lt;/li&gt;&#xA;&lt;li&gt;if the 3SAT instance is unsatisfiable then the MAX3SAT instance isn't $7/8+\varepsilon$ satisfiable, and&lt;/li&gt;&#xA;&lt;li&gt;the reduction increases the formula size by only a $poly(1/\varepsilon)$ factor. &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Assuming this Linear PCP Conjecture, a $2^{O(\varepsilon^c m)}$-time $7/8+\varepsilon$ approximation, for all $c$ and $\varepsilon$, would entail that 3SAT is in $2^{\varepsilon n}$ time, for all $\varepsilon$. (Here $m$ is the number of clauses.) The proof uses the Sparsification Lemma of Impagliazzo, Paturi, and Zane.&lt;/p&gt;&#xA;" OwnerUserId="225" LastEditorUserId="225" LastEditDate="2011-12-09T21:57:56.653" LastActivityDate="2011-12-09T21:57:56.653" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9357" PostTypeId="2" ParentId="9333" CreationDate="2011-12-09T01:08:27.707" Score="5" Body="&lt;p&gt;Maybe it would make sense to make this question community wiki and solicit answers that describe additional individual classes of polygons, since a proper survey seems to be lacking (although I did run across some references to a manuscript by Toussaint)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If so, here's another one: &lt;a href=&quot;http://en.wikipedia.org/wiki/Pseudotriangle&quot;&gt;pseudotriangles&lt;/a&gt;, polygons that have only three convex vertices and all the rest concave.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, O'Rourke's book &quot;Art Gallery Theorems and Algorithms&quot; has a section on &quot;spiral polygons&quot;, polygons whose concave vertices form a single contiguous subsequence of the boundary.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2011-12-09T01:08:27.707" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9358" PostTypeId="1" AcceptedAnswerId="9359" CreationDate="2011-12-09T07:44:20.150" Score="11" ViewCount="305" Body="&lt;p&gt;Let $a_1, a_2,\dotsc, a_m$ be a sequence of integers where each $a_j \in \{1,2,\dotsc,n\}$. For $i \in \{1,2,\dotsc,n\}$, let $m_i = |\{j : a_j = i\}|$. The $k$th frequency moment is defined to be &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\displaystyle F_k = \sum_{i=1}^n m_i^k.$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In their well-known paper, &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=237823&quot;&gt;The space complexity of approximating the frequency moments&lt;/a&gt;, Alon et al. give a streaming algorithm that approximates $F_k$ using roughly $O(n^{1-\frac{1}{k}}(\log n + \log m))$ space. They also use communication complexity techniques to obtain a lower bound of $\Omega(n^{1-\frac{5}{k}})$ for $k &amp;gt; 5$. For $k = 0,1,2$, they provide more or less matching upper and lower bounds.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Have there been improvements to these bounds since then, and has there been progress for $k = 3,4,5$?&lt;/p&gt;&#xA;" OwnerUserId="5721" LastEditorUserId="-1" LastEditDate="2011-12-10T21:52:52.220" LastActivityDate="2011-12-13T16:06:25.913" Title="Bounds on approximating frequency moments" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;communication-complexity&gt;&lt;data-streams&gt;" AnswerCount="3" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9359" PostTypeId="2" ParentId="9358" CreationDate="2011-12-09T08:31:26.537" Score="14" Body="&lt;p&gt;There's been a fair bit of progress. On the specific problem of $F_k$, there is a matching upper and lower bound of $n^{1-2/k}$ for $k &amp;gt; 2$. The upper bounds come from &lt;a href=&quot;http://mit.dspace.org/bitstream/handle/1721.1/6741/AIM-2004-014.pdf?sequence=2&quot;&gt;this paper by Indyk and Woodruff&lt;/a&gt; (which appeared in STOC 2005) and the lower bounds are via the information complexity framework, due to &lt;a href=&quot;http://citeseer.ist.psu.edu/viewdoc/summary?doi=10.1.1.12.7876&quot;&gt;Bar-Yossef et al&lt;/a&gt; and &lt;a href=&quot;http://ftp.cs.nyu.edu/~khot/papers/ccc03-disj.pdf&quot;&gt;Chakrabarti et al&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="80" LastEditorUserId="109" LastEditDate="2011-12-09T16:03:33.840" LastActivityDate="2011-12-09T16:03:33.840" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="9360" PostTypeId="2" ParentId="1168" CreationDate="2011-12-09T09:59:05.440" Score="6" Body="&lt;p&gt;Guy E. Blelloch: &lt;a href=&quot;http://dx.doi.org/10.1145/227234.227246&quot; rel=&quot;noreferrer&quot;&gt;Programming Parallel Algorithms&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Very clear introduction to parallel algorithms.&lt;/p&gt;&#xA;" OwnerUserId="1546" LastActivityDate="2011-12-09T09:59:05.440" CommentCount="0" CommunityOwnedDate="2011-12-09T09:59:05.440" ContentLicense="CC BY-SA 3.0" />
  <row Id="9361" PostTypeId="2" ParentId="9350" CreationDate="2011-12-09T20:38:35.397" Score="18" Body="&lt;p&gt;To somewhat restate what Ryan Williams wrote in his last paragraph: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The Moshkovitz-Raz theorem shows that there is a function $T(n) = 2^{n^{1-o(1)}}$ such that if Max-3Sat can be $(7/8 + 1/(\log \log n)^{.000001})$-approximated in time $T(n)$ then the decision version of 3Sat is in time $2^{o(n)}$.  It is commonly believed that the latter is impossible (this is the Exponential Time Hypothesis), in which case the former is impossible too.  To put it not quite accurately, you can't beat $7/8$ for Max-3Sat in anything better than full exponential time.&lt;/p&gt;&#xA;" OwnerUserId="661" LastActivityDate="2011-12-09T20:38:35.397" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9362" PostTypeId="1" AcceptedAnswerId="11734" CreationDate="2011-12-09T22:46:26.320" Score="10" ViewCount="442" Body="&lt;p&gt;If OWFs exist, then statistically binding bit commitment is possible.[1]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is it known that if OWFs exist then perfectly binding bit commitment is possible?&#xA;&lt;br&gt;&#xA;If no, is there a known black-box separation between them?&#xA;&lt;br&gt;&lt;br&gt;&lt;br&gt;&#xA;[1] &lt;a href=&quot;http://en.wikipedia.org/wiki/Pseudorandom_generator_theorem&quot;&gt;http://en.wikipedia.org/wiki/Pseudorandom_generator_theorem&lt;/a&gt; and&#xA;&lt;br&gt;&#xA;&lt;a href=&quot;http://en.wikipedia.org/wiki/Commitment_scheme#Bit-commitment_from_a_pseudo-random_generator&quot;&gt;http://en.wikipedia.org/wiki/Commitment_scheme#Bit-commitment_from_a_pseudo-random_generator&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerDisplayName="user6973" LastEditorUserId="495" LastEditDate="2013-08-26T20:09:25.247" LastActivityDate="2015-05-30T23:44:43.140" Title="One-Way Functions vs. perfectly binding commitments" Tags="&lt;cr.crypto-security&gt;&lt;one-way-function&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="9363" PostTypeId="2" ParentId="9319" CreationDate="2011-12-10T00:06:33.100" Score="3" Body="&lt;p&gt;When considering variations of a computation model, let alone one that is not natural and might confuse our intuition, definitions are of the essense. Your oracle might be in #P but that doesn't mean that is representative of that class. Since you have changed the definition of the function the oracle computes, you will have to either prove the new problem #P-complete or find another appropriate class for which the problem is complete. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Fooling around the complexity zoo, it seems that such a class has already been defined: &lt;a href=&quot;http://qwiki.stanford.edu/index.php/Complexity_Zoo:M#modp&quot; rel=&quot;nofollow&quot;&gt;http://qwiki.stanford.edu/index.php/Complexity_Zoo:M#modp&lt;/a&gt; and &lt;a href=&quot;http://qwiki.stanford.edu/index.php/Complexity_Zoo:M#modkp&quot; rel=&quot;nofollow&quot;&gt;http://qwiki.stanford.edu/index.php/Complexity_Zoo:M#modkp&lt;/a&gt; , depending on how you choose N.&lt;/p&gt;&#xA;" OwnerUserId="879" LastActivityDate="2011-12-10T00:06:33.100" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9364" PostTypeId="2" ParentId="9333" CreationDate="2011-12-10T02:09:55.333" Score="6" Body="&lt;p&gt;I think(?) I [Joe O'Rourke] was the first to introduce &lt;em&gt;monotone mountains&lt;/em&gt;, but perhaps I copied&#xA;that class from someone else.  It is a subclass of monotone polygons, with one of the&#xA;two chains that constitutes a monotone polygon a single segment.&#xA;I used it in the paper,&#xA;&quot;&lt;a href=&quot;http://cs.smith.edu/~orourke/papers.php#10&quot; rel=&quot;nofollow noreferrer&quot;&gt;Vertex pi-lights for monotone mountains&lt;/a&gt;,&quot;&#xA;&lt;em&gt;9th Canad. Conf. Comput. Geom.&lt;/em&gt;, Aug. 1997, pp. 1-5.&#xA;&lt;br /&gt;&#xA;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;img src=&quot;https://i.stack.imgur.com/QFpDk.jpg&quot; alt=&quot;enter image description here&quot;&gt;&#xA;&lt;br /&gt;&#xA;Joe Mitchell subsequently used this class of polygons in his abstract,&#xA;&quot;Triangulating Monotone Mountains,&quot;&#xA;AMS 345/CSE 355 (&lt;a href=&quot;http://www.ams.sunysb.edu/~jsbm/courses/345/triangulating-monotone-mountains.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;PDF link&lt;/a&gt;).&lt;/p&gt;&#xA;" OwnerUserId="337" LastEditorUserId="111" LastEditDate="2011-12-12T09:42:35.730" LastActivityDate="2011-12-12T09:42:35.730" CommentCount="0" CommunityOwnedDate="2011-12-10T02:09:55.333" ContentLicense="CC BY-SA 3.0" />
  <row Id="9366" PostTypeId="1" AcceptedAnswerId="9368" CreationDate="2011-12-10T12:28:08.027" Score="16" ViewCount="3725" Body="&lt;p&gt;I'm trying to figure out how the Path Graph $P(G)$ according to Eppstein's Algorithm in this &lt;a href=&quot;http://www.ics.uci.edu/~eppstein/pubs/Epp-SJC-98.pdf&quot; rel=&quot;nofollow&quot;&gt;paper&lt;/a&gt; works&#xA;and how I can reconstruct the $k$ shortest paths from $s$ to $t$ with the corresponding heap construction $H(G)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So far:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$out(v)$ contains all edges leaving a vertex $v$ in a graph $G$ which are not part of a shortest path in $G$. They are heap-ordered by the &quot;waste of time&quot; called $\delta(e)$ when using this edge instead of the one on a shortest paths. By applying Dijkstra I find the shortest paths to every vertex from $t$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I can calculate this by taking the length of the edge + (the value of the head vertex (where the directed edge is pointing to) - the value of the tail vertex (where the directed edge is starting). If this is $&amp;gt; 0$ it is not on a shortest path, if it is $= 0$ it is on a shortest path.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now I build a 2-Min-Heap $H_{out}(v)$ by heapifying the set of edges $out(v)$ according to their $\delta(e)$ for any $v \in V$, where the root $outroot(v)$ has only one child (= subtree). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In order to build $H_T(v)$ I insert $outroot(v)$ in $H_T(next_T(v))$ beginning at the terminal vertex $t$. Everytime a vertex is somehow touched while inserting it is marked with a $*$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now I can build $H_G(v)$ by inserting the rest of $H_{out}(w)$ in $H_T(v)$. Every vertex in $H_G(v)$ contains either $2$ children from $H_T(v)$ and $1$ from $H_{out}(w)$ or $0$ from the first and $2$ from the second and is a 3-heap.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;With $H_G(v)$ I can build a DAG called $D(G)$ containing a vertex for each $*$-marked vertex from $H_T(v)$ and for each non-root vertex from $H_{out}(v)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The roots of $H_G(v)$ in $D(G)$ are called $h(v)$ and they are connected to the vertices they belong to according to $out(v)$ by a &quot;mapping&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So far, so good.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The paper says I can build $P(G)$ by inserting a root $r = r(s)$ and connecting this to $h(s)$ by an inital edge with $\delta(h(s))$. The vertices of $D(G)$ are the same in $P(G)$ but they are not weighted. The edges have lengths. Then for each directed edge $(u,v) \in D(G)$ the corresponding edges in $P(G)$ are created and weighted by $\delta(v) - \delta(u)$. They are called Heap Edges. Then for each vertex $v \in P(G)$, which represents an edge not in a shortest path connecting a pair of vertices $u$ and $w$, &quot;cross edges&quot; are created from $v$ to $h(w)$ in $P(G)$ having a length $\delta(h(w))$. Every vertex in $P(G)$ only has a out going degree of $4$ max.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$P(G)$'s paths starting from $r$ are supposed to be a one-to-one length correspondence between $s$-$t$-paths in $G$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the end a new heap ordered 4-Heap $H(G)$ is build. Each vertex corresponds to a path in $P(G)$ rooted at $r$. The parent of any vertex has one fewer edge. The weight of a vertex is the lenght of the corresponding path.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To find the $k$ shortest paths I use BFS to $P(G)$ and &quot;translate&quot; the search result to paths by using $H(G)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Unfortunately, I don't understand how I can &quot;read&quot; $P(G)$ and then &quot;translate&quot; it through $H(G)$ to receive the $k$ shortest paths.&lt;/p&gt;&#xA;" OwnerUserId="7502" LastEditorUserId="35964" LastEditDate="2015-10-14T22:46:18.567" LastActivityDate="2017-08-11T15:51:11.397" Title="Finding k shortest Paths with Eppstein's Algorithm" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;directed-acyclic-graph&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="9367" PostTypeId="2" ParentId="9341" CreationDate="2011-12-10T17:56:30.860" Score="9" Body="&lt;p&gt;For general equivalence relations, not those arising from permutation group actions, even finding lexicographically least is still &quot;too&quot; general. Finding the lexicographically smallest element in an equivalence class can be $NP$-hard (in fact, $P^{NP}$-hard) - even if the relationship has a polynomial-time canonical form [1].&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, for permutation group orbit problems as you describe, deciding whether two points lie in the same orbit is not likely to be $NP$-hard: it is in $NP \cap coAM$, and hence not $NP$-hard unless the polynomial hierarchy collapses to the second level.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A canonical form for graph isomorphism is also a special case of the second problem you state. The best known canonical form for graph isomorphism runs in time $2^{\tilde{O}(\sqrt{n})}$ [2].&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since you said in the comments that any canonical form will do, you might also be interested in my paper with Lance Fortnow [3]: in its currently generality, I think your question is related to our results. We show that if every equivalence relation decidable in $P$ has a canonical form in $P$, then &quot;bad&quot; consequences result, such as $NP = UP = RP$, which in particular implies that the polynomial hierarchy collapses down to $BPP$. On the other hand, the equivalence relations you're interested in may not be in $P$, but this result suggests that even if it lies in a higher complexity class other hard problems may still stand in your way. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;So I think if you want some better upper bounds you really need the problem to be more specific.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] Andreas Blass and Yuri Gurevich. &lt;a href=&quot;http://dx.doi.org/10.1137/0213042&quot;&gt;Equivalence relations, invariants, and normal forms&lt;/a&gt;. SIAM J. Comput. 13:4 (1984), 24-42.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] László Babai and Eugene M. Luks. &lt;a href=&quot;http://dx.doi.org/10.1145/800061.808746&quot;&gt;Canonical labelings of graphs&lt;/a&gt;. STOC 1983, 171-183.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[3] Lance Fortnow and Joshua A. Grochow. &lt;a href=&quot;http://dx.doi.org/10.1016/j.ic.2011.01.006&quot;&gt;Complexity classes of equivalence problems revisited&lt;/a&gt;. Inform. and Comput. 209:4 (2011), 748-763. Also available as &lt;a href=&quot;http://arxiv.org/abs/0907.4775v2&quot;&gt;arXiv:0907.4775v2&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2011-12-10T17:56:30.860" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="9368" PostTypeId="2" ParentId="9366" CreationDate="2011-12-10T19:07:57.283" Score="25" Body="&lt;p&gt;It's been long enough since I wrote that, that by now my interpretation of what's in there is probably not much more informed than any other reader's. Nevertheless:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I believe that the description you're looking for is the last paragraph of the proof of Lemma 5. Basically, some of the edges in P(G) (the &quot;cross edges&quot;) correspond to sidetracks in G (that is, edges that diverge from the shortest path tree). The path in G is formed by following the shortest path tree to the starting vertex of the first sidetrack, following the sidetrack edge itself, following the shortest path tree again to the starting vertex of the next sidetrack, etc.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2011-12-10T19:07:57.283" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="9369" PostTypeId="1" AcceptedAnswerId="9433" CreationDate="2011-12-10T19:35:17.687" Score="12" ViewCount="464" Body="&lt;p&gt;Given an endofunctor $F : Set \rightarrow Set$, we can define observation functions as functions that are polymorphic for any $F$-coalgebra, that is $obs$ is defined for any $F$-coalgebra $\langle A, c : A \rightarrow FA\rangle$.&#xA;$$&#xD;&#xA;obs : \forall \langle A, c \rangle . A \to B&#xD;&#xA;$$&#xA;Another way of looking at observation functions is as functions of the final $F$-coalgebra &lt;em&gt;if it exists&lt;/em&gt;. We get the polymorphism automatically by composing the observation function with the unique homomorphism to the final $F$-coalgebra. But this only works if the final $F$-coalgebra exists.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One of the defining characteristics of an observation function is that it cancels any coalgebra homomorphism composed to the right, due to its polymorphism. If $hom$ is an $F$-coalgebra homomorphism, then:&#xA;$$&#xD;&#xA;obs = obs \circ hom&#xD;&#xA;$$&#xA;During my research, in an attempt to define a notion of observational consistency between one coalgebra and another, I had the idea of a weak coalgebra homomorphism. The idea is that we can &quot;fake&quot; a coalgebra homomorphism if we know the observation function ahead of time. Thus, we might satisfy,&#xA;$$&#xD;&#xA;obs = obs \circ hom&#xD;&#xA;$$&#xA;but only for one particular $obs$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, let $FX = \{0,1\} \times X$, and let $obs$ be defined as&#xA;$$&#xD;&#xA;obs : \forall \langle A, c\rangle. A \to \{0,1\}^2&#xD;&#xA;$$ $$&#xD;&#xA;obs = \langle (\pi_1 \circ c), (\pi_1 \circ c \circ \pi_2 \circ c) \rangle&#xD;&#xA;$$&#xA;That is, $obs$ takes the first two elements of a stream.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then, an F-coalgebra homomorphism would need to ensure that it preserves all the elements of the stream, whereas a weak homomorphism for $obs$ only needs to preserve the first two elements of the stream.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In my research, this notion would be useful in order to show that one coalgebra is observationally consistent with another by showing that every finite linear observation function has a weak homomorphism from the first coalgebra to the second coalgebra. In other words, every finite linear observation on the first coalgebra can be reproduced on the second coalgebra.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(What I mean by &lt;em&gt;linear observation function&lt;/em&gt; feels mostly irrelevant, but for the sake of sharing... A linear observation function is more or less one that uses each state of the carrier set only once. I'm trying to model an oracle, and the user is not allowed to go back and pretend it never asked a question.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My questions are thus:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Has this been researched? Do &quot;weak coalgebra homomorphisms&quot; exist already, under some other name perhaps?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Is there a more &quot;category theory&quot; way to present this?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit&lt;/strong&gt;: Removed two questions which aren't that important.&lt;/p&gt;&#xA;" OwnerUserId="7577" LastEditorUserId="7577" LastEditDate="2011-12-11T06:07:02.763" LastActivityDate="2011-12-16T10:22:15.580" Title="Is there such a thing as a weak coalgebra homomorphism?" Tags="&lt;ct.category-theory&gt;" AnswerCount="2" CommentCount="11" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="9370" PostTypeId="2" ParentId="9333" CreationDate="2011-12-11T02:06:21.123" Score="3" Body="&lt;p&gt;The following paper by Hernando, Houle, and Hurtado introduces a few classes of simple polygons in terms of visibility.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;M. Carmen Hernando, Michael E. Houle, Ferran Hurtado: On local transformation of polygons with visibility properties. Theor. Comput. Sci. 289(2): 919-937 (2002) &lt;a href=&quot;http://dx.doi.org/10.1016/S0304-3975(01)00409-1&quot; rel=&quot;nofollow&quot;&gt;http://dx.doi.org/10.1016/S0304-3975(01)00409-1&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Now I describe the definitions of their polygons.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edge-visible polygons&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $e$ be an edge of a simple polygon $P$.  Then, $P$ is &lt;em&gt;edge-visible&lt;/em&gt; from $e$ if for every point $p$ of $P$ there exists a point $q$ on the relative interior of $e$ such that the relative interior of the line segment connecting $p$ and $q$ completely lies outside of $P$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Externally visible polygons&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A simple polygon is &lt;em&gt;externally visible&lt;/em&gt; if for every point $p$ on the boundary of $P$ there exists a ray (half line) $r$ starting at $p$ that intersects $P$ only at $p$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Monotone polygons, star-shaped polygons and pseudo-triangles are externally visible.&lt;/p&gt;&#xA;" OwnerUserId="2955" LastActivityDate="2011-12-11T02:06:21.123" CommentCount="0" CommunityOwnedDate="2011-12-11T02:06:21.123" ContentLicense="CC BY-SA 3.0" />
  <row Id="9372" PostTypeId="2" ParentId="7485" CreationDate="2011-12-11T03:34:53.223" Score="10" Body="&lt;p&gt;For 0/1-polytopes (all vertex coordinates are 0 or 1), this is not known to be true.  There is a conjecture by Mihail and Vazirani that the edge expansion of the graph of a 0/1-polytope is at least one.  More information is described in &lt;a href=&quot;http://arxiv.org/pdf/math.CO/0112146&quot;&gt;a paper by Volker Kaibel&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I should note two things.  (1) &lt;a href=&quot;http://dx.doi.org/10.1007/BF01589099&quot;&gt;For 0/1-polytopes, the Hirsch conjecture is true&lt;/a&gt;.  (2) When performing a random walk on the vertices of a polytope, we need to take care of possible degeneracy.  One vertex can correspond to a lot of bases, and so the walk can stay at the same vertex if we perform a random walk over the bases.  If we want to perform a random walk over the vertices, we need to have a procedure that gives a random adjacent vertex.&lt;/p&gt;&#xA;" OwnerUserId="2955" LastActivityDate="2011-12-11T03:34:53.223" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9374" PostTypeId="2" ParentId="9349" CreationDate="2011-12-11T12:03:03.470" Score="6" Body="&lt;p&gt;To answer in the large, the fact that the syntax of programming languages is not context-free is not news (see e.g. &lt;a href=&quot;http://dx.doi.org/10.1145/368834.368898&quot;&gt;Floyd, 1962&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To answer more precisely, in a context of &lt;em&gt;scannerless&lt;/em&gt; parsing like yours, a way to implement maximal munch is to employ so-called &lt;em&gt;follow restrictions&lt;/em&gt; (&lt;a href=&quot;http://dx.doi.org/10.1007/3-540-45937-5_12&quot;&gt;van den Brand et al., 2002&lt;/a&gt;) by forbidding some language to follow a given rule.  In your example, you could write a restriction &lt;code&gt;X -/- a&lt;/code&gt; forbidding an $a$ after the token $X$.  Provided your forbidden languages are regular, these restrictions can be compiled back into the grammar (however in &lt;a href=&quot;http://dx.doi.org/10.1007/3-540-45937-5_12&quot;&gt;van den Brand et al.&lt;/a&gt;'s formalism, the forbidden language can be context-free and $X$ can be any nonterminal, and this clearly leads to an undecidable emptiness problem).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another formalism for scannerless parsing is that of &lt;em&gt;parsing expression grammars&lt;/em&gt; (&lt;a href=&quot;http://dx.doi.org/10.1145/964001.964011&quot;&gt;Ford, 2004&lt;/a&gt;), which has a greedy, maximal-munch type semantics, and an undecidable emptiness problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, it doesn't look like your specific maximal munch semantics would allow you to reduce from these undecidable problems.  For a start, it seems to me that, rather than emptiness of the generated language, a tool should more broadly warn the user about any case where a token might &quot;eat&quot; a (non-empty) &lt;em&gt;prefix&lt;/em&gt; of its follow language, i.e. whenever $(L_T\cdot\mathrm{Pref}_+(L_R))\cap L_T\neq\emptyset$, regardless of whether this prefix is mandatory of not.  This would capture your $aba^\ast b^\ast ab$ example if I understand correctly how you would tokenize it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To conclude, here is an &lt;strong&gt;attempt&lt;/strong&gt; to formalize your notion of &lt;em&gt;maximal-munch&lt;/em&gt;-caused emptiness: let $\langle N,T,P,S\rangle$ be a context-free grammar with nonterminal alphabet $N$, terminal alphabet $T$, production set $P$ and axiom $S$.  Each terminal symbol $X\in T$ is associated with a regular language $L_X\subseteq\Sigma^\ast$ used for its tokenization.  For every occurrence of a terminal symbol $X$ in some production $A\to \alpha X\beta$ of your grammar where $\alpha,\beta$ are sequences of mixed terminals and nonterminals, construct the follow language $L_{\beta,A}$ of this particular occurrence (this is a context-free language) and consider the residual language of the token $L^{\text{max-munch}}_X=(L_X^{-1}\cdot L_X)\cap\Sigma^+$, which is a regular language of strings that will be &quot;eaten up&quot; by the maximal munch semantics.  In fact the language $L^{\text{max-munch}}_X$ is the language one would put in the &lt;em&gt;follow restriction&lt;/em&gt; for $X$.  Then, if $$L_{\beta,A}\subseteq L^{\text{max-munch}}_X\cdot\Sigma^\ast\;,$$ or equivalently $L_{\beta,A}\cap (\Sigma^\ast\backslash(L^{\text{max-munch}}_X\cdot\Sigma^\ast))=\emptyset$, any string allowed to follow this occurrence of $X$ will be &quot;eaten&quot;, and the language of the rule $A\to\alpha X\beta$ is empty.  Using the classical algorithm for emptiness checking with this extra twist for handling terminal symbols might solve your emptiness problem.&lt;/p&gt;&#xA;" OwnerUserId="609" LastEditorUserId="609" LastEditDate="2011-12-11T12:34:36.257" LastActivityDate="2011-12-11T12:34:36.257" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9375" PostTypeId="2" ParentId="9333" CreationDate="2011-12-11T14:29:30.097" Score="5" Body="&lt;p&gt;&quot;Two-Convex Polygons,&quot;&#xA;O. Aichholzer,  F. Aurenhammer,&#xA;F. Hurtado,&#xA;P.A. Ramos,&#xA;J. Urrutia, 2009.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&#xA;&lt;img src=&quot;https://i.stack.imgur.com/gXnGc.jpg&quot; alt=&quot;Two-convex&quot;&gt;&lt;br /&gt;&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;A polygon is $k$-convex if and only if its stabbing number is at most $2k$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="337" LastActivityDate="2011-12-11T14:29:30.097" CommentCount="0" CommunityOwnedDate="2011-12-11T14:29:30.097" ContentLicense="CC BY-SA 3.0" />
  <row Id="9376" PostTypeId="2" ParentId="9333" CreationDate="2011-12-11T14:37:22.000" Score="6" Body="&lt;p&gt;Godfried reports that his hierarchy paper (cited by Aaron) never got written, but some of its ideas&#xA;appeared in these two papers.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Hossam A. ElGindy, Godfried T. Toussaint. &quot;On geodesic properties of polygons&lt;br&gt;&#xA;relevant to linear time triangulation,&quot; &lt;em&gt;The Visual Computer&lt;/em&gt;.                     &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Godfried T. Toussaint, &quot;Movable separability of sets,&quot; in &lt;em&gt;Computational&lt;br&gt;&#xA;Geometry&lt;/em&gt;, Ed., G. T. Toussaint, North-Holland, 1985. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Here is a figure from the first:&#xA;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;img src=&quot;https://i.stack.imgur.com/qKKHa.jpg&quot; alt=&quot;Hierarchy&quot;&gt;&lt;br /&gt;&#xA;Note that the shapes mentioned in Yoshio Okamoto's post appear in this hierarchy.&#xA;And if you are wondering what a (Barbados-induced?) &quot;palm&quot; polygon looks like...&#xA;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;img src=&quot;https://i.stack.imgur.com/KnVO5.jpg&quot; alt=&quot;Palm Polygon&quot;&gt;&#xA;&lt;br /&gt;&lt;/p&gt;&#xA;" OwnerUserId="337" LastEditorUserId="337" LastEditDate="2011-12-11T14:45:10.457" LastActivityDate="2011-12-11T14:45:10.457" CommentCount="0" CommunityOwnedDate="2011-12-11T14:37:22.000" ContentLicense="CC BY-SA 3.0" />
  <row Id="9377" PostTypeId="2" ParentId="9333" CreationDate="2011-12-11T15:47:53.943" Score="5" Body="&lt;p&gt;Another class of polygons is called anthropomorphic: these polygons have exactly two ears and one mouth. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Godfried T.Toussaint, &quot;Anthropomorphic Polygons.&quot; American Mathematical Monthly 122, 31-35, 1991.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Grunbaum wrote a long paper describing many classes of crossing polygons here:&#xA;Branko Grunbaum, &quot;Polygons,&quot; In The Geometry of Metric and Linear Spaces, L. M. Kelly, ed. Lecture Notes in Mathematics Number 490, pp. 147 - 184. Springer-Verlag, Berlin-Heidelberg-New York 1975.&lt;/p&gt;&#xA;" OwnerUserId="7593" LastActivityDate="2011-12-11T15:47:53.943" CommentCount="0" CommunityOwnedDate="2011-12-11T15:47:53.943" ContentLicense="CC BY-SA 3.0" />
  <row Id="9378" PostTypeId="2" ParentId="9369" CreationDate="2011-12-11T23:59:43.980" Score="5" Body="&lt;p&gt;As a rule, one should avoid heavily overloaded terminology like weak, regular, normal, etc. unless the notion has some universality.  In particular, it appears your notion doesn't correspond with the usual notion of &lt;a href=&quot;http://www.mini.pw.edu.pl/aaa80/abstractsaaa80/47.pdf&quot;&gt;weak homomorphism&lt;/a&gt; after arrow flipping.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are always more descriptive terms whenever your doing something less universal, like &quot;observationally weakened homomorphism&quot; shortened to &quot;ow-homomorphism&quot; perhaps.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Your notion of observation function already provides a category theoretic presentation.  I'd worry more about clarifying what exactly it means, and why it's interesting, rather than seeking the most generality possible.  In particular, you should usually give an informative example and non-example when introducing unusual notions in print.&lt;/p&gt;&#xA;" OwnerUserId="6665" LastActivityDate="2011-12-11T23:59:43.980" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9379" PostTypeId="2" ParentId="9358" CreationDate="2011-12-12T02:25:31.223" Score="3" Body="&lt;p&gt;For k&amp;lt;=2&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) k=0, the bound is $O(1/\epsilon^2+log(n))$ from &lt;a href=&quot;http://people.seas.harvard.edu/~minilek/papers/f0.pdf&quot; rel=&quot;nofollow&quot;&gt;http://people.seas.harvard.edu/~minilek/papers/f0.pdf&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) k=1, The paper by Alon et all gives a reference to paper by Morris which takes&#xA;$\tilde{O}(log(log(n))$ space.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;3) k=2, I think the AMS sketch from their paper is optimal&lt;/p&gt;&#xA;" OwnerUserId="372" LastActivityDate="2011-12-12T02:25:31.223" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9380" PostTypeId="1" CreationDate="2011-12-12T05:15:58.170" Score="6" ViewCount="1320" Body="&lt;p&gt;What if you had a casual conversation with someone, and that conversation lead to your findings?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What do you owe them?  When is it plagiarism?  I read somewhere that &quot;first to submit, wins&quot; - so basically the first to publish owns the idea.  Is this true?&lt;/p&gt;&#xA;" OwnerUserId="1983" LastEditorUserId="567" LastEditDate="2011-12-13T13:07:07.463" LastActivityDate="2011-12-18T08:41:51.640" Title="If you have a casual conversation with someone and it leads to a paper, what do you owe them?" Tags="&lt;soft-question&gt;&lt;research-practice&gt;" AnswerCount="2" CommentCount="12" ContentLicense="CC BY-SA 3.0" />
  <row Id="9381" PostTypeId="1" AcceptedAnswerId="9390" CreationDate="2011-12-12T06:29:55.340" Score="77" ViewCount="42158" Body="&lt;p&gt;In light of the announcement of the world's &lt;a href=&quot;http://www.bris.ac.uk/news/2011/8109.html&quot;&gt;first programmable quantum photonic chip&lt;/a&gt;, I was wondering just what software for a computer that uses quantum entanglement would be like. One of the first programs I ever wrote was something like&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;for i = 1 to 10&#xA;  print i&#xA;next i&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Can anybody give an example of code of comparable simplicity that would utilize quantum photonic chips (or similar hardware), in pseudocode or high level language? I am having difficulty making the conceptual jump from traditional programming to entanglement, etc.&lt;/p&gt;&#xA;" OwnerUserId="6365" LastEditorUserId="6365" LastEditDate="2011-12-12T17:10:41.707" LastActivityDate="2020-05-15T03:24:22.613" Title="What would a very simple quantum program look like?" Tags="&lt;quantum-computing&gt;" AnswerCount="8" CommentCount="2" FavoriteCount="61" ContentLicense="CC BY-SA 3.0" />
  <row Id="9382" PostTypeId="1" AcceptedAnswerId="9384" CreationDate="2011-12-12T06:41:59.390" Score="9" ViewCount="319" Body="&lt;p&gt;(Apologies if this is misplaced or too broad.  I'm open to suggestions on how to reformulate it.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm interested in tracing back the &quot;ancient&quot; history of max-flow algorithms, and discrete optimization algorithms in general.  Ford-Fulkerson is my straw-man of a starting point.  What were the significant advances prior to that?  How far back can we go while still being able to make a reasonable argument that somebody was working on max-flow?  How about graph algorithms?  How about discrete optimization in general?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'd also be happy to get references to places where this is discussed.&lt;/p&gt;&#xA;" OwnerUserId="144" LastEditorUserId="-1" LastEditDate="2011-12-14T23:11:39.227" LastActivityDate="2011-12-14T23:11:39.227" Title="Early references for discrete optimization" Tags="&lt;ds.algorithms&gt;&lt;graph-algorithms&gt;&lt;ho.history-overview&gt;" AnswerCount="2" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9383" PostTypeId="2" ParentId="9381" CreationDate="2011-12-12T08:15:13.453" Score="21" Body="&lt;p&gt;I assume that C's &lt;a href=&quot;http://www.libquantum.de/&quot;&gt;libquantum&lt;/a&gt;, Haskell's &lt;a href=&quot;http://www.google.com/search?q=haskell+quantum+monad&quot;&gt;quantum monads&lt;/a&gt; or Perl's &lt;a href=&quot;http://search.cpan.org/~ajgough/Quantum-Entanglement-0.32/Entanglement.pm&quot;&gt;Quantum::Entanglement&lt;/a&gt; all represent quantum computations faithfully.  You might look at their examples.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In general, you describe a quantum algorithm as a classical algorithm that applies a series of linear operators to a super-position representing the state of your quantum system.  Journal articles often depict a circuit with lines for quantum bits/registers and boxes for linear operators. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course, the hard part isn't describing the algorithm but understanding why it works, just like probabilistic algorithms.  I've always considered &lt;a href=&quot;http://en.wikipedia.org/wiki/Grover%27s_algorithm&quot;&gt;Grover's algorithm&lt;/a&gt; quite comprehensible.  You could also read about the &lt;a href=&quot;http://en.wikipedia.org/wiki/Quantum_Fourier_transform&quot;&gt;Quantum Fourier transform&lt;/a&gt; used by &lt;a href=&quot;http://en.wikipedia.org/wiki/Shor%27s_Algorithm&quot;&gt;Shor's Algorithm&lt;/a&gt;. &lt;/p&gt;&#xA;" OwnerUserId="6665" LastEditorUserId="6665" LastEditDate="2011-12-12T08:23:24.453" LastActivityDate="2011-12-12T08:23:24.453" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9384" PostTypeId="2" ParentId="9382" CreationDate="2011-12-12T09:12:33.050" Score="14" Body="&lt;p&gt;Usually, Schrijver provides a good source for history. You can look at the following books and an article.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Alexander Schrijver. Combinatorial Optimization: Polyhedra and Efficiency. Springer 2003.&lt;/li&gt;&#xA;&lt;li&gt;Alexander Schrijver. Theory of Linear and Integer Programming. Wiley 1998.&lt;/li&gt;&#xA;&lt;li&gt;Alexander Schrijver. On the history of the transportation and maximum flow problems. Mathematical Programming 91(3), 2002, 437-445. &lt;a href=&quot;http://dx.doi.org/10.1007/s101070100259&quot;&gt;http://dx.doi.org/10.1007/s101070100259&lt;/a&gt; &lt;/li&gt;&#xA;&lt;li&gt;Alexander Schrijver. On the history of combinatorial optimization (till 1960).  Handbook of Discrete Optimization, Elsevier, 2005.  &lt;a href=&quot;http://homepages.cwi.nl/~lex/files/histco.pdf&quot;&gt;http://homepages.cwi.nl/~lex/files/histco.pdf&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="2955" LastEditorUserId="111" LastEditDate="2011-12-12T10:43:34.193" LastActivityDate="2011-12-12T10:43:34.193" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="9385" PostTypeId="2" ParentId="9316" CreationDate="2011-12-12T09:42:54.903" Score="9" Body="&lt;p&gt;This answer summarizes and expands my comments above:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) If the size of the underlying field is large enough, then this problem has efficient randomized algorithms: You have to test whether the resulting determinant is nonzero as a polynomial. You can use the Schwartz-Zippel lemma for this. (Search for the keyword &quot;Polynomial Identity testing&quot;&#xA;for further algorithms/results.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) The question whether this problem can be derandomized is open.&#xA;Derandomizing it implies circuit lower bounds. See the work by Kabanets &amp;amp; Impagliazzo. (Comput. Complexity 13, 2004, &lt;a href=&quot;http://www.cs.sfu.ca/~kabanets/Research/poly.html&quot;&gt;http://www.cs.sfu.ca/~kabanets/Research/poly.html&lt;/a&gt;), the problem is called&#xA;SDIT (Symbolic Determinant Identity testing) in the paper. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;3) Gurvits has a deterministic algorithm for some special cases of SDIT&#xA;(http://dx.doi.org/10.1145/780542.780545). He refers to SDIT as &quot;Edmond's problem&quot;. (This item was provided by Joshua Grochow. I suggest that when &#xA;you want to upvote my answer, you should upvote any of his answers with probability 1/4 instead.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;4) Over finite fields (size is fixed), it is NP-complete. Over GF(2), you can just arithmetize a given formula in 3-CNF (that is, write it as an equivalent arithmetic formula)&#xA;and then use fact that you can write any arithmetic formula as a poly-size determinant (proven by Valiant, see also Bürgisser, Clausen, Shokrollahi,&#xA;Algebraic Complexity Theory, Chapter 21). Over other finite fields, you can start with appropriate CSPs instead of 3-SAT. &lt;/p&gt;&#xA;" OwnerUserId="6456" LastActivityDate="2011-12-12T09:42:54.903" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="9386" PostTypeId="2" ParentId="9382" CreationDate="2011-12-12T11:09:10.247" Score="7" Body="&lt;p&gt;Most people cite Euler's 1741 &quot;Bridges of Königsburg&quot; paper as the oldest graph algorithm.  Unfortuantely, Euler doesn't actually describe his algorithm in detail, but only gives a half-hearted example:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;“When it has been determined that such a journey can be made, one&#xA;  still has to find how it should be arranged. For this I use the&#xA;  following rule: let those pairs of bridges which lead from one area to&#xA;  another be mentally removed, thereby considerably reducing the number&#xA;  of bridges; it is then an easy task to construct the required route&#xA;  across the remaining bridges. and the bridges which have been removed&#xA;  will not significantly alter the route found, as will become clear&#xA;  after a little thought. &lt;b&gt;I do not therefore think it worthwhile to give&#xA;  any further details concerning the finding of the routes.&lt;/b&gt;”&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The first complete proof that all even connected graphs have Eulerian tours is apparently due to Heirholzer more than a century later.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Leonhard Euler. Solutio problematis ad geometriam situs pertinentis. &lt;i&gt;Commentarii academiae scientiarum Petropolitanae&lt;/i&gt; 8:128–140, 1741. Presented to the St. Petersburg Academy on August 26, 1735. Reprinted in &lt;i&gt;Opera Omnia&lt;/i&gt; 1(7):1–10. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Carl Hierholzer. Über die Möglichkeit, einen Linienzug Ohne Wiederholung und ohne Unterbrechnung zu umfahren. &lt;i&gt;Mathematische Annalen&lt;/i&gt; 6:30–32, 1873.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="111" LastEditorUserId="111" LastEditDate="2011-12-14T08:54:15.103" LastActivityDate="2011-12-14T08:54:15.103" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9387" PostTypeId="1" CreationDate="2011-12-12T12:17:48.257" Score="17" ViewCount="762" Body="&lt;p&gt;A &lt;em&gt;switch network&lt;/em&gt; (the name is invented) is made with three types of nodes:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;one Start node&lt;/li&gt;&#xA;&lt;li&gt;one End node&lt;/li&gt;&#xA;&lt;li&gt;one or more Switch nodes&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;The switch node has 3 exits: Left, Up, Right; has two &lt;em&gt;states L and R&lt;/em&gt; and&#xA;a &lt;em&gt;target state TL or TR&lt;/em&gt;. Each switch can be traversed with the following rules:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;always from Left to Up; the state of the switch changes to L&lt;/li&gt;&#xA;&lt;li&gt;always from Right to Up; the state fo the switch changes to R&lt;/li&gt;&#xA;&lt;li&gt;from Up to Left only if the switch is in state L; the state doesn't change&lt;/li&gt;&#xA;&lt;li&gt;from Up to Right if the switch is in state R; the state doesn't change&lt;/li&gt;&#xA;&lt;li&gt;never from Left to Right or Right to Left&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/eMW3U.jpg&quot; alt=&quot;switch node&quot; /&gt;&lt;br&gt;&#xA;Figure 1. Switch node in state L with target state TR&lt;/p&gt;&#xA;&lt;p&gt;These properties also hold:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;0, 1 or 2 of the exits of a switch can be isolated (not connected to another switch);&lt;/li&gt;&#xA;&lt;li&gt;a path can just &lt;em&gt;&amp;quot;touch&amp;quot;&lt;/em&gt; a switch to change its state: enter from Left and exit from Left or enter from Right and exit from Right;&lt;/li&gt;&#xA;&lt;li&gt;there are no restrictions on the number of times a switch can be traversed / touched.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;The decision problem is: &lt;em&gt;&amp;quot;Does a path from the Start node to the End node&#xA;exist such that all the final states of the switches match the corresponding target state?&amp;quot;&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;Obviously, all the switches that are not initially in their target state must be traversed (or touched) at least once;&lt;/p&gt;&#xA;&lt;p&gt;This is a quick draw of a trivial network (made with Excel ... I'll make a better one):&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/pKw6J.jpg&quot; alt=&quot;example2&quot; /&gt;&lt;/p&gt;&#xA;&lt;p&gt;A trivial solutions is:&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;S -&amp;gt; 1 -&amp;gt; 2 -&amp;gt; 3 -&amp;gt; 2 -&amp;gt; E -&amp;gt; 1 -&amp;gt; E&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;&lt;strong&gt;EDIT 2:&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Is this problem known? ---&amp;gt; you gave me the good reference to the &lt;a href=&quot;http://groups.csail.mit.edu/mac/users/bob/hearn-thesis-final.pdf&quot; rel=&quot;noreferrer&quot;&gt;Hearn's thesis&lt;/a&gt; (constraint graphs);&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;The problem is in &lt;span class=&quot;math-container&quot;&gt;$NPSPACE = PSPACE$&lt;/span&gt;; before posting a sketch of my proof that it is in NP, I found an error; so the open questions are again:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;2 . Is it &lt;span class=&quot;math-container&quot;&gt;$\mathsf{NP}$&lt;/span&gt;?&lt;/p&gt;&#xA;&lt;p&gt;3 . Has the problem any chance to be &lt;span class=&quot;math-container&quot;&gt;$\mathsf{NP\text{-}complete}$&lt;/span&gt;?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2014-09-01T22:39:07.540" Title="Complexity of a switch network problem" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;graph-algorithms&gt;&lt;np&gt;" AnswerCount="1" CommentCount="25" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9388" PostTypeId="2" ParentId="9381" CreationDate="2011-12-12T14:23:46.130" Score="8" Body="&lt;p&gt;Checkout implementation of &lt;a href=&quot;http://lanq.sourceforge.net/index.php?p=example&amp;amp;e=deutsch&quot;&gt;Deutsch algorithm in LanQ&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="3604" LastActivityDate="2011-12-12T14:23:46.130" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9389" PostTypeId="2" ParentId="330" CreationDate="2011-12-12T14:28:15.887" Score="7" Body="&lt;p&gt;Under standard derandomization assumptions, Graph Isomorphism is in NP $\cap$ co-NP.&lt;/p&gt;&#xA;" OwnerUserId="550" LastActivityDate="2011-12-12T14:28:15.887" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="9390" PostTypeId="2" ParentId="9381" CreationDate="2011-12-12T16:18:50.427" Score="60" Body="&lt;p&gt;&lt;strong&gt;Caveat Emptor:&lt;/strong&gt; the following is heavily biased on my own research and view on the field of QC.  This does not constitute the general consensus of the field and might even contain some self-promotion.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem of showing a 'hello world' of quantum computing is that we're basically still as far from quantum computers as Leibnitz or Babbage were from your current computer.  While we know how they should operate theoretically, there is no standard way of actually building a physical quantum computer. A side-effect of that is that there is no single programming model of quantum computing.  Textbooks such as Nielsen et al. will show you a 'quantum circuit' diagram, but those are far from formal programming languages: they get a little 'hand-waving' on the details such as classical control or dealing with input/output/measurement results.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What has suited me best in my research as a programming language computer scientist, and to get the jist of QC across to other computer scientist, is to use the simplest QC model I've come across that does everything.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The simplest quantum computing program I have seen that contains all essential elements is a small three-instruction program in the simplest quantum programming model I've come across.  I use it as you would a 'hello world' to get the basics across.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Allow me to give quick simplified summary of the &lt;em&gt;The Measurement Calculus&lt;/em&gt; by Danos et al.&lt;a href=&quot;http://en.wikipedia.org/wiki/Hadamard_transform#Quantum_computing_applications&quot;&gt;1&lt;/a&gt;  that is based on is based on the one-way quantum computer&lt;a href=&quot;https://i.stack.imgur.com/B6LcK.png&quot;&gt;2&lt;/a&gt;: a qubit is destroyed when measured, but measuring it affects all other qubits that were entangled with it.  It has some theoretical and practical benefits over the 'circuit-based' quantum computers as realized by the photonic chip, but that is a different discussion.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider a quantum computer that has only five instructions: N, E, M, X and Z.  Its &quot;assembly language&quot; is similar to your regular computer, after executing one instruction it goes to the next instruction in the sequence. Each instruction takes a target qubit identifier, we use just a number here, and other arguments. &lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;N 2          # create a new quantum bit and identify it as '2'&#xA;E 1 2        # entangle qubits '1' and '2', qubit 1 already exists and is considered input&#xA;M 1 0        # measure qubit '1' with an angle of zero  (angle can be anything in [0,2pi]&#xA;             # qubit '1' is destroyed and the result is either True or False&#xA;             # operations beyond this point can be dependent on the signal of '1'&#xA;X 2 1        # if the signal of qubit '1' is True, execute the Pauli-X operation on qubit '2'&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;The above program thus creates an ancilla, entangles it with the input qubit, measures the input and depending on the measurement outcome performs an operation on the ancilla. The result is that qubit 2 now contains the state of qubit 1 after &lt;a href=&quot;http://en.wikipedia.org/wiki/Hadamard_transform#Quantum_computing_applications&quot;&gt;Hadamard&lt;/a&gt; operation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The above is naturally at such low level that you wouldn't want to hand-code it. The benefit of the measurement calculus is that it introduces 'patterns', some sort of composable macros that allow you to compose larger algorithms as you would with subroutines.  You start off with 1-instruction patterns and grow larger patterns from there.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Instead of an assembler-like instruction sequence, it is also common to write the program down as a graph:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt; input                .........&#xA;    \--&amp;gt; ( E ) ---&amp;gt; (M:0)     v&#xA;(N) ---&amp;gt; (   ) ------------&amp;gt; (X) ---&amp;gt; output&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;where full arrows are qubit dependencies and the dotted arrow is a 'signal' dependency.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The following is the same Hadamard example expressed in a little programming tool as I would imagine a 'quantum programmer' would use.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/B6LcK.png&quot; alt=&quot;Measurement Calculus Tool&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;edit:&lt;/strong&gt; (adding relation with 'classical' computers)  Classical computers are still really efficient in what they do best, and so the vision is that quantum computers will be used to off-load certain algorithms, analogous to how current computer offloads graphics to a GPU. As you have seen above, the CPU would control the quantum computer by sending it an instruction stream and read back the measurement results from the boolean 'signals'.  This way you have a strict separation of classical control by the CPU and quantum state and effects on the quantum computer.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, I'm going to use my quantum co-processor to calculate a random boolean or cointoss.  Classical computers are deterministic, so its bad at returning a good random number.  Quantum computers are inherently probabilistic though, all I have to do to get a random 0 or 1 is to measure out a equally-balanced qubit.  The communication between the CPU and 'QPU' would look something like this:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt; qrand()       N 1; M 1 0;&#xA; ==&amp;gt;  | CPU | ------------&amp;gt; | QPU |  ==&amp;gt; { q1 } ,  []&#xA;                 start()&#xA;      |     | ------------&amp;gt; |     |  ==&amp;gt; { } , [q1: 0]&#xA;                 read(q1)         &#xA;      |     | ------------&amp;gt; |     |&#xA;                  q1: 0 &#xA; 0    |     | &amp;lt;-----------  |     |&#xA; &amp;lt;==&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Where &lt;code&gt;{ ... }&lt;/code&gt; is the QPU's quantum memory containing qubits and &lt;code&gt;[...]&lt;/code&gt; is its classical (signal) memory containing booleans.  &lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Danos et al. The Measurement Calculus. arXiv (2007) vol.&#xA;quant-ph&lt;/li&gt;&#xA;&lt;li&gt;Raussendorf and Briegel. A one-way quantum computer.&#xA;Physical Review Letters (2001) vol. 86 (22) pp. 5188-5191&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="4691" LastEditorUserId="4691" LastEditDate="2011-12-14T08:38:03.340" LastActivityDate="2011-12-14T08:38:03.340" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="9391" PostTypeId="2" ParentId="9349" CreationDate="2011-12-12T19:06:28.547" Score="0" Body="&lt;p&gt;The grammars are non-deterministic.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would use an item based approach to solve the problem. While generating an FSA, generate the language (a list of items) that reaches each state. And generate a procedure to resolve the longest match rule. Using tupples and sets to keep track of parse: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the first example: a*a+&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The initial state is: .a*.a+&#xA;The final and only other state is: .a*.a+. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Parsing on successive &quot;a&quot;s produces the tupples (on transitions the &quot;a&quot; are simply shifted from the second token to the first): &lt;/p&gt;&#xA;&#xA;&lt;p&gt;{(,a)}&lt;/p&gt;&#xA;&#xA;&lt;p&gt;{(a,a)}&lt;/p&gt;&#xA;&#xA;&lt;p&gt;{(aa,a)}&lt;/p&gt;&#xA;&#xA;&lt;p&gt;...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I worked through the second example, there is nothing interesting there other than moving the &quot;.&quot; past the &quot;*&quot; operator.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the usual lex, a transition concatenates a symbol to the token. In general, a transition takes the set of tupples and forms a new set based on the operators in the regular grammar and the symbol associated with the transition. I don't have the time to work out the general form of the transition functions. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the past I have done symbolic operations, including stripping off the left most character, on grammars with regular operators. The math part is easy but detailed. I no longer have my notes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I can see that the other issues, operating on the tupples to produce new tupples, follows the same pattern. The production of the procedures associated with transitions can be done at lex generation time.&lt;/p&gt;&#xA;" OwnerUserId="6118" LastActivityDate="2011-12-12T19:06:28.547" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9394" PostTypeId="1" CreationDate="2011-12-12T20:30:04.687" Score="9" ViewCount="431" Body="&lt;p&gt;The PCP Theorem states that every decision problem in NP has probabilistically checkable proofs (or equivalently, that there exists a complete and quasi-sound proof system for theorems in NP using constant query complexity and logarithmically many random bits).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The “folk wisdom” surrounding the PCP Theorem (ignoring for a moment PCP’s importance to the theory of approximation) is that this means proofs written up in strict mathematical language can be checked efficiently to any desired degree of accuracy without the requirement of reading the entire proof (or much of the proof at all).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am not able to quite see this. Consider the second-order extension to propositional logic with unrestricted use of quantifiers (which I am told is already weaker than ZFC, but I am no logician). We can already start to express theorems which are not accessible to NP by alternating quantifiers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is whether there is a simple, known way of ‘unrolling’ quantifiers in higher order propositional statements so that PCPs for theorems in NP apply equally well to any level of PH. It could be that this cannot be done – that unrolling a quantifier costs, in the worst case, some a constant part of the soundness or correctness of our proof system.&lt;/p&gt;&#xA;" OwnerUserId="3624" LastActivityDate="2011-12-17T14:07:53.920" Title="Do good PCPs for NP give us good PCPs for the entire polynomial hierarchy?" Tags="&lt;lo.logic&gt;&lt;pcp&gt;&lt;polynomial-hierarchy&gt;" AnswerCount="2" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9396" PostTypeId="1" CreationDate="2011-12-12T22:53:23.480" Score="4" ViewCount="1124" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;Can we prove $\mathsf{MIP}=\mathsf{NEXP}$ using the PCP theorem $\mathsf{NP}=\mathsf{PCP(log(n),O(1))}$ as a shortcut?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;$\mathsf{MIP}$ is the class of languages with multi-prover interactive proof systems.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Here is what I know:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Intuitively, it's hard for me to see how another prover adds any power to the protocol. The only way I can think of is to somehow make the two provers contradict each other to easily detect false positives. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have come across the implication that $\mathsf{NEXP}=\mathsf{PCP}(n^{O(1)},O(1))$ and tried to use it, but I fail to understand why the following protocol doesn't work for a single prover: &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;ask the prover for the length of the exponential certificate.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;repeat C times: (for some constant C which we know exists due to the above theorem).&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;generate a random index to the certificate and ask the prover to hand over the bits from the given location.&lt;/li&gt;&#xA;&lt;li&gt;verify that the certificate is still valid, otherwise reject.&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;after C successful queries - accept.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Obviously there is some defect in this protocol because $\mathsf{IP}=\mathsf{PSPACE}$ and it has not been proven that $\mathsf{PSPACE}=\mathsf{NEXP}$ (which would be implied if the protocol is correct).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also the following paper seems relevant:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Laszlo Babai, Lance Fortnow and Carsten Lund, &quot;&lt;a href=&quot;http://portal.acm.org/citation.cfm?id=1398742&quot; rel=&quot;nofollow&quot;&gt;Nondeterministic exponential time has two-prover interactive protocols&lt;/a&gt;&quot;, 1990.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;h3&gt;Note:&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;The question was a homework but was posted more than a year ago.&lt;/p&gt;&#xA;" OwnerUserId="7605" LastEditorUserId="186" LastEditDate="2013-05-29T05:19:00.640" LastActivityDate="2013-05-29T05:19:00.640" Title="More legent proof of MIP=NEXP using the PCP theorem" Tags="&lt;cc.complexity-theory&gt;&lt;pcp&gt;&lt;nexp&gt;" AnswerCount="0" CommentCount="13" FavoriteCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9397" PostTypeId="2" ParentId="9394" CreationDate="2011-12-12T23:53:16.653" Score="6" Body="&lt;p&gt;The truth of a statement is different from it having a (short) proof in a proof system. The language is expressive but it doesn't mean that all valid statements in the language have short proofs in the system.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/PCP_theorem&quot;&gt;The theorem&lt;/a&gt; doesn't say that you can check the truth of a statement or even the correctness of an arbitrary long proof or of arbitrary theorems. It is for proofs of membership in an $\mathsf{NP}$ set, which by definition have polynomial size proofs (certificates) of membership. The theorem only says that you don't need to read the full (polynomial size) proof of membership in an $\mathsf{NP}$ set to decide its correctness.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One implication of the theorem is applying it to the set of theorems in an arbitrary language which have short (i.e. an arbitrary polynomial) proofs in an efficient proof system (i.e. it is decidable in polynomial time if a given string is a proof of a given statement). For example, theorems of ZFC which have proofs of size $n^{100}$ where $n$ is the size of the formula. If the proof system is sound then you can probabilistically verify the correctness of the theorems which have short proofs with reading a small part of their proofs. I think this is the intend meaning of the informal statement &quot;&lt;em&gt;proofs written up in strict mathematical language can be checked efficiently to any desired degree of accuracy without the requirement of reading the entire proof&lt;/em&gt;&quot;.&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2011-12-13T00:30:57.280" LastActivityDate="2011-12-13T00:30:57.280" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9398" PostTypeId="1" AcceptedAnswerId="9414" CreationDate="2011-12-13T07:54:57.863" Score="17" ViewCount="553" Body="&lt;p&gt;Let us say that a graph $G$ is $(a,b)$-connected if the removal of any $a$ vertices and any $b$ edges from $G$ leaves always a connected graph. For example, a $k$-connected graph, according to the standard definition, is $(k-1,0)$-connected, according to the new definition. Is there a polynomial-time algorithm to decide if $G$ is $(a,b)$-connected? Here I consider that the input is $G$, $a$ and $b$.&lt;/p&gt;&#xA;" OwnerUserId="1839" LastEditorUserId="-1" LastEditDate="2011-12-13T18:04:55.813" LastActivityDate="2011-12-15T03:57:59.877" Title="Connectivity of graphs by edge and vertex removal" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;" AnswerCount="1" CommentCount="11" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="9399" PostTypeId="1" AcceptedAnswerId="9400" CreationDate="2011-12-13T09:18:38.540" Score="5" ViewCount="1941" Body="&lt;p&gt;I am trying to find the number of distinct s-t cuts in a oriented unweighed graph. In an article &lt;a href=&quot;http://www.cs.uu.nl/research/techreps/repo/CS-1987/1987-07.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Enumeration in Graphs&lt;/a&gt; p. 45 I found good way how to enumerate those cuts (section 7.3). Is there a faster or simpler algorithm I can use if I am interested only in the number of such cuts and I do not actually need to enumerate it?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The definition of a s-t cut I am using is following. We have a directed graph where two vertices are labelled &lt;strong&gt;S&lt;/strong&gt; and &lt;strong&gt;T&lt;/strong&gt;. Cut is a &lt;em&gt;minimal&lt;/em&gt; set of edges of a graph such that by removing those edges there will no longer exist a path from vertex &lt;strong&gt;S&lt;/strong&gt; to vertex &lt;strong&gt;T&lt;/strong&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I tried to &lt;a href=&quot;https://stackoverflow.com/questions/8343263&quot;&gt;ask this&lt;/a&gt; at Stack Overflow and I have been pointed here.&lt;/p&gt;&#xA;" OwnerUserId="7610" LastEditorUserId="-1" LastEditDate="2017-05-23T12:40:09.333" LastActivityDate="2011-12-13T18:04:54.053" Title="Counting the number of distinct s-t cuts in a oriented graph" Tags="&lt;ds.algorithms&gt;&lt;graph-algorithms&gt;&lt;counting-complexity&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="9400" PostTypeId="2" ParentId="9399" CreationDate="2011-12-13T09:28:17.050" Score="18" Body="&lt;p&gt;Counting the number of s,t-cuts is #P-complete.  This is a result by Provan and Ball.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;J. Scott Provan, Michael O. Ball: The Complexity of Counting Cuts and of Computing the Probability that a Graph is Connected. SIAM J. Comput. 12(4): 777-788 (1983)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Therefore, unless some complexity-theoretic collapse happens, you cannot get essentially faster algorithm than listing all of them.&lt;/p&gt;&#xA;" OwnerUserId="2955" LastActivityDate="2011-12-13T09:28:17.050" CommentCount="12" ContentLicense="CC BY-SA 3.0" />
  <row Id="9401" PostTypeId="2" ParentId="9380" CreationDate="2011-12-13T10:30:38.173" Score="26" Body="&lt;p&gt;The problem with this question is that it is way too vague. Suppose you have a casual conversation, and somebody says &quot;I've been looking at Trudeau gadgets, and I think I can show that they all have a canonical commuting umbrella.&quot; If you then publish a paper showing that all Trudeau gadgets have a canonical commuting parasol, there is no question that this is unethical, even if you didn't hear all the details of his proof. (Things like this have happened occasionally, and sometimes the unethical author gets away with it, but I'm not sure doing this is good for your career ... people will probably hear about it). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, suppose you are having a casual conversation about your research, and you explain to somebody what a Trudeau gadget is, and she says &quot;That reminds me of Smith's umbrella theorem.&quot; You then look up Smith's umbrella theorem, and it is exactly what you need to prove your result. Here, it would be nice to thank her in the acknowledgments of your paper, but you certainly don't need to make her a coauthor.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So there is really no way to answer this question without knowing more details. &lt;/p&gt;&#xA;" OwnerUserId="1677" LastEditorUserId="1677" LastEditDate="2011-12-13T10:56:06.267" LastActivityDate="2011-12-13T10:56:06.267" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9402" PostTypeId="1" AcceptedAnswerId="9417" CreationDate="2011-12-13T11:27:11.797" Score="5" ViewCount="275" Body="&lt;p&gt;I've read the paper by &lt;strong&gt;Jon L. Bentley&lt;/strong&gt; &lt;em&gt;&quot;Amortized analyses of self-organizing sequential search heuristics&quot;&lt;/em&gt;. It deals with different schemes for improving linear search. (such as after every access to an element move it to front or transpose neighboring elements) And at the end of the paper was a section for those who are interested in practical applications of this techniques. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It says that such techniques has practical applications if you want to do a linear search quicker (obviously, it's true). &#xA;But can you give some example of such problem? &#xA;If we need to make fast searching , insertion and deletion why don't you use &lt;em&gt;HashTable&lt;/em&gt;? I thought the only reason why we use &lt;em&gt;Linked List&lt;/em&gt; is that it &lt;strong&gt;preserves order&lt;/strong&gt; and its very easy to implement. Am I right? &#xA;But with such heuristics we don't preserve order. But it's still easy to implement...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So for what purposes do we use such heuristics that don't preserves order for list?&#xA;Thank you very much!&lt;/p&gt;&#xA;" OwnerUserId="7612" LastActivityDate="2011-12-14T09:26:21.030" Title="Self-organizing Sequential Search Heuristics" Tags="&lt;ds.data-structures&gt;&lt;research-practice&gt;&lt;heuristics&gt;" AnswerCount="2" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9404" PostTypeId="2" ParentId="9402" CreationDate="2011-12-13T13:38:20.067" Score="3" Body="&lt;p&gt;I can think of two situations where a linked list based linear search with heuristics may be better than using a hash table:&#xA;1. For small lists the overhead associated with calculating the hash function may matter more than the improvement in complexity.&#xA;2. You need a large enough table to avoid collisions (number of buckets should be at least twice the number of entries). In applications where memory is an issue (e.g. embedded systems), this can be a significant factor.&lt;/p&gt;&#xA;" OwnerUserId="7567" LastActivityDate="2011-12-13T13:38:20.067" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9407" PostTypeId="2" ParentId="9358" CreationDate="2011-12-13T16:06:25.913" Score="1" Body="&lt;p&gt;Something related.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think there has also been some related work on approximating $F_\alpha$ where $\alpha$ is not necessarily a integer. &lt;a href=&quot;http://www.stat.cornell.edu/~li/SODA09_CC.pdf&quot; rel=&quot;nofollow&quot;&gt;http://www.stat.cornell.edu/~li/SODA09_CC.pdf&lt;/a&gt; is something which I know of. I am not completely familiar with this but I think their main point of interest is dependence on $\epsilon$ and not $n$.&lt;/p&gt;&#xA;" OwnerUserId="372" LastActivityDate="2011-12-13T16:06:25.913" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9409" PostTypeId="1" CreationDate="2011-12-13T18:14:38.120" Score="15" ViewCount="876" Body="&lt;p&gt;Q1. When can we say that two programs (written in some programming language like C++) are different? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The first extreme is to say that two programs are equivalent iff they are identical. The other extreme is to say two programs are equivalent iff they compute the same function (or show the same observable behavior in similar environments). But these are not good: not all programs checking primality are the same. We can add a line of code with no effect on the result and we would still consider it the same program. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Q2. Are programs and algorithms the same kind of object? If not, what is the definition of an algorithm and how does it differ from the definition of a program? When can we say two algorithms are equivalent?&lt;/p&gt;&#xA;" OwnerUserId="14197" LastEditorUserId="14197" LastEditDate="2013-11-15T18:50:09.510" LastActivityDate="2013-11-15T18:50:09.510" Title="When can we say that two programs are different?" Tags="&lt;pl.programming-languages&gt;&lt;semantics&gt;&lt;equivalence&gt;" AnswerCount="3" CommentCount="7" FavoriteCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="9412" PostTypeId="2" ParentId="9409" CreationDate="2011-12-13T20:39:06.653" Score="18" Body="&lt;p&gt;Q1: There are many notions of program equivalence (trace equivalence, contextual equivalence, observational equivalence, bisimilarity) which may or may not take into account things such as time, resource usage, nondeterminism, termination. A lot of work has been done on finding usable notions of program equivalence. For example: &lt;a href=&quot;http://www.cs.tau.ac.il/~nachumd/formal/exam/pitts.pdf&quot;&gt;Operationally-Based Theories of Program Equivalence by Andy Pitts&lt;/a&gt;. But this barely scratches the surface. This should be useful even if you are interested in when two programs are not equivalent. One can even reason about non-halting programs (using bisimulation and coinduction).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Q2: One possible answer to part of this question is that &lt;em&gt;interactive programs&lt;/em&gt; are not algorithms (assuming that one considers an algorithm to take all of its input at once, but this narrow definition excludes online algorithms). A program could be a collection of interacting processes that also interact with their environment. This certainly doesn't match with the Turing-machine/Recursion theory notion of algorithm.&lt;/p&gt;&#xA;" OwnerUserId="77" LastEditorUserId="77" LastEditDate="2011-12-14T06:45:30.587" LastActivityDate="2011-12-14T06:45:30.587" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9413" PostTypeId="1" AcceptedAnswerId="9498" CreationDate="2011-12-14T02:00:46.807" Score="8" ViewCount="284" Body="&lt;p&gt;I am attempting to develop some notions of a difference-calculus between a notional Ideal Turing Machine conceived by a developer (e.g. whatever is intended by a software developer), call it $M_I$, and the Machines that represent the software which actually gets designed and implemented, say $M_\alpha$ and $M_\beta$, respectively. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Specifically, my interest is in examining limitations (due to Rice's Theorem for instance) in automated detection of errors in software programs between the Language processed by the ideal machine, and the language processed by the developed/implemented Machines.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any reference to prior work that works with some notions of exploring differences between two specified Turing Machines, or barring that a lower level Formal Language would be extremely helpful and appreciated; because i'd rather cite than write :-).&lt;/p&gt;&#xA;" OwnerUserId="7258" LastEditorUserId="-1" LastEditDate="2011-12-14T23:11:31.830" LastActivityDate="2011-12-24T11:06:18.347" Title="Is there any work done on developing difference-calculus of Turing Machines (or simpler Formal Languages)" Tags="&lt;lo.logic&gt;&lt;computability&gt;&lt;pl.programming-languages&gt;&lt;model-checking&gt;&lt;program-verification&gt;" AnswerCount="2" CommentCount="5" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9414" PostTypeId="2" ParentId="9398" CreationDate="2011-12-14T02:32:38.787" Score="8" Body="&lt;p&gt;This is an edited version of a previous &quot;answer&quot; which incorrectly claimed a polynomial-time algorithm for the problem. What I write below is a connection to an existing problem which suggests that the problem is difficult.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $s,t$ be two nodes in $G$ and we want to check if they are $(a,b)$-connected. That is removing any $a$ nodes and any $b$ edges should not disconnect $s$ and $t$. Another way to look at it as follows: what is the minimum number of nodes that we need to remove to reduce the edge-connectivity between $s$ and $t$ to $b$? These type of problems have been studied under the name multi-route cuts and they are dual to multi-route flows. Various approximation results have been shown though many basic problems are not yet resolved. A result of interest is the following. Suppose each edge has a cost $c(e)$ and we wish to remove the minimum-cost set of edges to reduce the edge-connectivity between $s$ and $t$ to $b$; then this problem is NP-Hard when $b$ is part of the input. This result is in the paper by Barman and Chawla: &lt;a href=&quot;http://arxiv.org/abs/0908.0350&quot;&gt;http://arxiv.org/abs/0908.0350&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Two papers that will appear in upcoming SODA 2012 are on multi-route cuts which have further results on the topic. The one by Chuzhoy etal has hardness results for some variants. &lt;/p&gt;&#xA;" OwnerUserId="176" LastEditorUserId="176" LastEditDate="2011-12-15T03:57:59.877" LastActivityDate="2011-12-15T03:57:59.877" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9415" PostTypeId="2" ParentId="9409" CreationDate="2011-12-14T02:34:43.280" Score="2" Body="&lt;p&gt;Q2: I think usual theoretical definitions don't really distinguish between algorithms and programs, but &quot;algorithm&quot; as commonly used is more like a class of programs. For me an algorithm is sort of like a program with some subroutines left not fully specified (i.e. their desired behavior is defined but not their implementation). For example, the Gaussian elimination algorithm doesn't really specify how integer multiplication is to be performed.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am sorry if this is naive. I don't do PL research.&lt;/p&gt;&#xA;" OwnerUserId="4896" LastActivityDate="2011-12-14T02:34:43.280" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9416" PostTypeId="2" ParentId="9409" CreationDate="2011-12-14T07:41:51.480" Score="15" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;The other extreme is to say two programs are equivalent iff they compute the same function (or show the same observable behavior in similar environments). But these are not good: not all programs checking primality are the same. We can add a line of code with no effect on the result and we would still consider it the same program.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;This is not an extreme: program equivalence must be defined &lt;em&gt;relative&lt;/em&gt; to a notion of observation. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The most common definition in PL research is contextual equivalence. In contextual equivalence, the idea is that we observe programs by using them as components of larger programs (the context). So if two programs compute the same final value for all contexts, then they are judged to be equal. Since this definition quantifies over all possible program contexts, it is difficult to work with directly. So a typical research program in PL is to find compositional reasoning principles which imply contextual equivalence. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, this is not the only possible notion of observation. For example, we can easily say that the memory, time, or power behavior of a program is observable. In this case, fewer program equivalences hold, since we can distinguish more programs (eg, mergesort is now distinguishable from quicksort). If you want to  (say) design languages immune to timing channel attacks, or to design space-bounded programming languages, then this is the sort of thing you have to do.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, we may choose to judge some of the intermediate states of a computation as observable. This always happens for concurrent languages, due to the possibility of interference. But you might want to take this view even for sequential languages --- for example, if you want to ensure that no computations store unencrypted data in main memory, then you have to regard writes to main memory as observable. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Basically, there is no single notion of program equivalence; it is always relative to the notion of observation you pick, and that depends on the application you have in mind.&lt;/p&gt;&#xA;" OwnerUserId="657" LastActivityDate="2011-12-14T07:41:51.480" CommentCount="13" ContentLicense="CC BY-SA 3.0" />
  <row Id="9417" PostTypeId="2" ParentId="9402" CreationDate="2011-12-14T09:26:21.030" Score="7" Body="&lt;p&gt;The self-adjusting linked lists described by Bentley have practical applications in data compression.  For example, &lt;a href=&quot;http://en.wikipedia.org/wiki/Bzip2&quot;&gt;bzip2&lt;/a&gt; uses &lt;a href=&quot;http://en.wikipedia.org/wiki/Move-to-front_transform&quot;&gt;move-to-front&lt;/a&gt; encoding (among many other tricks).  See also &lt;a href=&quot;http://www.cs.cmu.edu/~sleator/papers/Adaptive-data-compression.htm&quot;&gt;this paper&lt;/a&gt; by Bentley et al.&lt;/p&gt;&#xA;" OwnerUserId="111" LastActivityDate="2011-12-14T09:26:21.030" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9418" PostTypeId="1" AcceptedAnswerId="9419" CreationDate="2011-12-14T12:14:54.057" Score="4" ViewCount="353" Body="&lt;p&gt;This is the first time I ask a question on cstheory, so I am very sorry for my english.&#xA;I have a (maybe very trivial) problem when trying to find a well-form representation for a root of a recursive equation in pi-calculus.&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;buffer(x) = out!&amp;lt;x&amp;gt;.buffer&amp;lt;x&amp;gt; + in?(y).buffer&amp;lt;y&amp;gt;&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;The equation above represents behaviors of a &quot;mutable&quot; single data buffer, it is very simple: the buffer's states are parameterized by x, that means its data cell's value is x. So the buffer can be read by the channel out! and updated by the channel in?. The buffer is somehow a fixpoint of the equation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Firstly, it seems to me that it is easy to find out a well-formed representation for buffer (using the basic syntax of pi-calculus). The persistent output can be represented by replicating like !out. But latter, for the input, it is not easy as it seems.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can anybody give me some suggestions ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(I try to express some reactions from suggestions of @Martin Berger)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we take an input with $\overline{in}\langle z \rangle$:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\overline{in}\langle z \rangle \vert buffer(x) \rightarrow buffer(z)$ (recursive definition)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\overline{in}\langle z \rangle \vert (\nu a)\big(\overline{a}\langle x\rangle | !a(x).( in(y).\overline{a}\langle y \rangle + \overline{out}\langle x \rangle.\overline{a}\langle x \rangle\big) \Rightarrow$&#xA;$(\nu a)\big(\overline{a}\langle z\rangle | !a(x).( in(y).\overline{a}\langle y \rangle + \overline{out}\langle x \rangle.\overline{a}\langle x \rangle\big)&#xD;&#xA;$ (encoding version)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;And now we get an output with $out(t).P$:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$out(t) . P \vert buffer(z) \rightarrow P\lbrace z/t\rbrace \vert buffer(z)$ (recursive definition)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$out(t) . P \vert (\nu a)\big(\overline{a}\langle z\rangle | !a(x).( in(y).\overline{a}\langle y \rangle + \overline{out}\langle x \rangle.\overline{a}\langle x \rangle\big) \Rightarrow$&#xA;$P\lbrace z/t \rbrace \vert (\nu a)\big(\overline{a}\langle z \rangle | !a(x).( in(y).\overline{a}\langle y \rangle + \overline{out}\langle x \rangle.\overline{a}\langle x \rangle\big)$ (encoding version)&lt;/p&gt;&#xA;" OwnerUserId="3629" LastEditorUserId="2185" LastEditDate="2011-12-15T21:49:03.843" LastActivityDate="2011-12-17T21:32:56.423" Title="Parametric equation in pi-calculus" Tags="&lt;lo.logic&gt;&lt;pl.programming-languages&gt;&lt;process-algebra&gt;&lt;pi-calculus&gt;" AnswerCount="2" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9419" PostTypeId="2" ParentId="9418" CreationDate="2011-12-14T12:35:56.763" Score="5" Body="&lt;p&gt;The paper &lt;a href=&quot;http://www.lix.polytechnique.fr/Labo/Jesus.Aranda/publications/Fmco07.pdf&quot; rel=&quot;nofollow&quot;&gt;“On Recursion, Replication and Scope Mechanisms in Process Calculi”&lt;/a&gt; by Jesús Aranda, Cinzia Di Giusto, Catuscia Palamidessi, and Frank D. Valencia gives an encoding of the polyadic pi-calculus with recursive definitions in terms of the polyadic pi-calculus with replication and vice versa. The essence of the encoding (in the first direction) is to replace the recursive definition by the replication of a process, so that each invocation of the recursive definition results in a new process. &lt;/p&gt;&#xA;" OwnerUserId="77" LastEditorUserId="634" LastEditDate="2011-12-17T21:32:56.423" LastActivityDate="2011-12-17T21:32:56.423" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9420" PostTypeId="2" ParentId="9413" CreationDate="2011-12-14T15:22:24.197" Score="2" Body="&lt;p&gt;I think that software model checking, in the vein of &lt;a href=&quot;http://alloy.mit.edu/alloy/&quot; rel=&quot;nofollow&quot;&gt;Alloy&lt;/a&gt;, is probably related to what you're looking for.  You write a model, and also a specification that the model should satisfy, and check if they're related appropriately. &lt;/p&gt;&#xA;" OwnerUserId="2185" LastActivityDate="2011-12-14T15:22:24.197" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9422" PostTypeId="1" CreationDate="2011-12-14T16:25:54.040" Score="6" ViewCount="393" Body="&lt;p&gt;I'm trying to work through two (non-assessed) class-work questions and am stuck on a question that seems similar to one I could do.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The first question was to prove that there does not exist a $\lambda$-term $f$ that, given two $\lambda$-terms $m$ and $n$, can determine whether or not they are $\beta$-equivalent — i.e. there is no $f$ such that $\lambda\beta \vdash f \ m \ n = \textbf{t}$ if $m \ =_\beta \ n$ and $\lambda\beta \vdash f \ m \ n = \textbf{f}$ if $m \ \neq_\beta \ n$. I think I have done this relatively easily by appealing to the Scott-Curry theorem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm now stuck on proving the same but for $m, n$ being in &lt;em&gt;normal form&lt;/em&gt;. If I try to use the Scott-Curry theorem, showing that the set $A = \{ x = m \mid x \mbox{ in normal form} \}$ is inseparable, so that no $g \equiv f \ m$ can exist, then I cannot show that $A$ is closed under $\beta$-equality, which we require to apply the Scott-Curry theorem. So I don't think this is the correct approach.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Could anyone give me some help on how to formally prove this? I've played around with contexts, Böhm's theorem, etc. I feel like the fact $m, n$ are not required to be closed is important?&lt;/p&gt;&#xA;" OwnerUserId="7631" LastEditorUserId="-1" LastEditDate="2011-12-14T23:11:35.217" LastActivityDate="2012-08-14T19:18:04.750" Title="Term that can distinguish beta-equivalent normal forms in the untyped lambda calculus" Tags="&lt;lo.logic&gt;&lt;computability&gt;&lt;pl.programming-languages&gt;&lt;lambda-calculus&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9423" PostTypeId="2" ParentId="9418" CreationDate="2011-12-14T17:10:22.647" Score="2" Body="&lt;p&gt;Here is a simple encoding:&#xA;$&#xD;&#xA;   (\nu a)(\overline{a}\langle x\rangle | !a(x).\big( in(y).\overline{a}\langle y \rangle\ +\   \overline{out}\langle x \rangle.\overline{a}\langle x \rangle\big)&#xD;&#xA;$.&lt;/p&gt;&#xA;" OwnerUserId="898" LastActivityDate="2011-12-14T17:10:22.647" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9424" PostTypeId="1" CreationDate="2011-12-14T20:35:53.890" Score="12" ViewCount="610" Body="&lt;p&gt;In 1988 Karchmer and Wigderson established a nice characterization of the circuit&#xA;depth $d$ (DeMorgan circuits) of a Boolean function $f \colon \{0,1\}^n\rightarrow\{0,1\}$: $d$ is exactly the number of bits that Alice and Bob need to communicate in order to find&#xA;an index $i$ such that $a_i \neq b_i$, where Alice knows $a \in f^{-1}(0)$ and Bob knows $b \in f^{-1}(1)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is known about upper bounds proved for such games? I've only&#xA;managed to find the following three results:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) $2\log n$  upper bound for Parity function (binary search).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) Chin proved $2.88\log n$ upper bound for $MOD_3$, $3.47\log n$ for&#xA;$MOD_5$, $4.93\log n$ for $MOD_{11}$ (http://unclaw.com/chin/scholarship/countingfunctions.pdf).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;3) Brodal and Husfeldt proved an $O(\log n)$ upper bound for all symmetric functions (http://www.brics.dk/RS/96/1/BRICS-RS-96-1.pdf).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are these the only known (non-straightforward) protocols?&lt;/p&gt;&#xA;" OwnerUserId="7454" LastEditorUserId="7454" LastEditDate="2011-12-15T13:39:29.217" LastActivityDate="2011-12-15T13:39:29.217" Title="Known upper bounds on the communication complexity of Karchmer-Wigderson games" Tags="&lt;cc.complexity-theory&gt;&lt;circuit-complexity&gt;&lt;communication-complexity&gt;&lt;upper-bounds&gt;" AnswerCount="0" CommentCount="14" ContentLicense="CC BY-SA 3.0" />
  <row Id="9425" PostTypeId="2" ParentId="9340" CreationDate="2011-12-14T21:14:06.827" Score="9" Body="&lt;p&gt;I also disagree with the &quot;note&quot;, at least stated in this generality. Related to this, does anyone know if David Johnson's Kanellakis award talk is available somewhere? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, once we realize that all NP-hard problems are equivalent with respect to the worst-case complexity of exact solutions, it's very natural to inquire about the complexity of finding approximate solutions. And Chandra makes a great point about the change of perspective that approximation algorithms bring to algorithm design.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am sure we should be able to come up with some interesting examples of approximation algorithms used to prove a theorem. For example, the $O(\log n)$ approximation to set cover can be used to show a better bound on the sample complexity of learning conjunctions.&lt;/p&gt;&#xA;" OwnerUserId="4896" LastEditorUserId="4896" LastEditDate="2011-12-20T16:58:55.077" LastActivityDate="2011-12-20T16:58:55.077" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9426" PostTypeId="1" CreationDate="2011-12-15T05:20:38.317" Score="12" ViewCount="252" Body="&lt;p&gt;It is usually simpler to reason about calculus where the limitation is finiteness of computation rather than a threshold like &quot;computable in polynomial amount of time&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In formal languages theory for example, rather to use the $\exists n. x^{n+1} = x^n$ to characterize aperiodic monoïd, it is easier to use profinite words so that $x^{\omega+1} = x^{\omega}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In complexity theory, the only technic I know which is linked to that is the &lt;em&gt;padding trick&lt;/em&gt; for example linking the problem of P vs NP to EXPTIME vs NEXPTIME. But the natural infinite equivalent of complexity questions would be computability ones'.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Are there some results that link complexity to computability questions using some encoding such that the resource threshold of complexity theory becomes a finiteness question of computation in computability theory ?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="378" LastActivityDate="2013-07-30T19:04:42.527" Title="Reducing threshold questions to finiteness questions" Tags="&lt;cc.complexity-theory&gt;&lt;computability&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="9428" PostTypeId="2" ParentId="9394" CreationDate="2011-12-15T13:30:57.020" Score="6" Body="&lt;p&gt;Let me try to clarify.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider the following computational problem: given a mathematical statement (in your favorite axiom system) and a number n given in unary representation, decide whether the statement has a proof of size n.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is an NP problem: given a proof, one can efficiently verify that it is of size n and that it is a valid proof of the theorem.&#xA;&lt;strong&gt;Note:&lt;/strong&gt; even if the statement involves quantifiers like FOR ALL, it does not mean that the verifier needs to check all possibilities, it just means that the verifier uses inference rules that involve the FOR ALL quantifier.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The PCP Theorem therefore applies to this problem, and so there is a (different) proof format that allows probabilistic verification.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another note (regarding Peter's remark): The PCP verifier uses only logarithmic randomness. This means that it could be replaced by a standard, deterministic, verifier that looks at the entire proof. That is having a PCP verifier for a language puts it in NP.&lt;/p&gt;&#xA;" OwnerUserId="1621" LastEditorUserId="1621" LastEditDate="2011-12-17T14:07:53.920" LastActivityDate="2011-12-17T14:07:53.920" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9429" PostTypeId="1" AcceptedAnswerId="9455" CreationDate="2011-12-15T15:13:20.863" Score="10" ViewCount="548" Body="&lt;p&gt;Consider a connected &lt;strong&gt;random cubic&lt;/strong&gt; graph $G=(V,E)$ of $n =|V|$ vertices, drawn from $G(n, 3$-reg$)$ (as defined &lt;a href=&quot;http://www.stanford.edu/class/msande337/notes/the%20diameter%20of%20random%20regular%20graphs.pdf&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;, i.e. $3n$ is even and any two graphs have the same probability). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course there are $n$ possible Breadth First Searches, one for each starting node $s \in V$. A Breadth First Search $B_G$ starting at node $s \in V$ assigns a level $d(s, v)$ to each node $v \in V$, where $d(s, v)$ is the distance between $s$ and $v$ in $G$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let us say that such a Breadth First Search $B_G$ also assigns a level &#xA;$$ L(s, \{u,v\}) = \max\{ d(s,u), d(s,v) \}$$&#xA; to each edge $e=\{u,v\} \in E$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a specific Breadth First Search $B_G$, let $\alpha(B_G,i)$ be the number of edges that have been assigned level $i$, and let $\alpha(B_G) = max_i\{\alpha(B_G,i)\}$. In other words $\alpha(B_G)$ is the number of edges of the level containing more edges than any other level. Finally, let $\alpha(G)$ be the maximum $\alpha(B_G)$ for any of the $n$ Breadth First Searches of $G$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let us call $\alpha(G)$ the &lt;i&gt;amplitude&lt;/i&gt; of $G$.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Question&lt;/strong&gt;  &lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;How does the &lt;i&gt;expected&lt;/i&gt; value of $\alpha(G)$ grow as $n$ tends to infinity? Recall that $G$ is &lt;strong&gt;random cubic&lt;/strong&gt;. More precisely, what I really would like to know is whether the &lt;i&gt;expected&lt;/i&gt; value of $\alpha(G)$ belongs to $o(n)$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Since $n$ is even, the limit is considered so that I don't care of odd $n$'s.&lt;/p&gt;&#xA;" OwnerUserId="947" LastEditorUserId="-1" LastEditDate="2011-12-18T17:49:11.740" LastActivityDate="2011-12-19T17:23:09.353" Title="Amplitude of Random Cubic Graphs" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;" AnswerCount="2" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="9431" PostTypeId="1" CreationDate="2011-12-15T17:11:56.397" Score="1" ViewCount="275" Body="&lt;p&gt;Please excuse if this is too practical. I decided it was not technical enough for stack overflow and probably suitable for here.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a set of letters, A-Z, what is the best scalable way to represent them in some form of synthetic handwriting.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I define synthetic handwriting to be a set of paths drawn on a canvas by a cursor, guided by the machine as if a human were writing with a pen.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The reason I am asking this is because I'm writing black box tests for one of my projects and want to fill up a database with fake signatures. Of course, I am also interested in the algorithms.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My first inclination is to take A-Z and draw paths myself, perhaps as SVGs and use those, but I think there must be some best way to do this so I am asking here.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I will post my research as I find information, as well.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This one looks nice: &lt;a href=&quot;https://docs.google.com/open?id=1Hu2-dkqFDTBkDirjdemfBqln4-dS4I5QfYTF-6o-DsaxdCbkDDJ4LH1gkjal&quot; rel=&quot;nofollow&quot;&gt;https://docs.google.com/open?id=1Hu2-dkqFDTBkDirjdemfBqln4-dS4I5QfYTF-6o-DsaxdCbkDDJ4LH1gkjal&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Style-preserving English handwriting synthesis&#xA;Zhouchen Lin a,∗ , Liang Wan b&#xA;a Microsoft Research, Asia, Zhichun Road #49, Haidian District, Beijing 100080, PR China&lt;/p&gt;&#xA;" OwnerUserId="7644" LastEditorUserId="7644" LastEditDate="2011-12-15T17:30:31.997" LastActivityDate="2011-12-15T17:30:31.997" Title="Are there any well known algorithms for synthetic handwriting?" Tags="&lt;ds.algorithms&gt;&lt;ai.artificial-intel&gt;" AnswerCount="0" CommentCount="7" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="9432" PostTypeId="2" ParentId="9381" CreationDate="2011-12-15T23:39:10.863" Score="3" Body="&lt;p&gt;I think the answer is &quot;A lot like a simple classical program.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we consider the simply-typed lambda calculus (with products) to be the heart of classical programming, then we can exploit that it is the internal type theory of a closed cartesian category, which gives us a pointer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Namely, in physics, algebraic structures related to quantum physics are often modeled in category theory with symmetric monoidal categories. (See &lt;a href=&quot;http://ncatlab.org/nlab/show/Hilb&quot; rel=&quot;nofollow&quot;&gt;Hilb&lt;/a&gt;, &lt;a href=&quot;http://ncatlab.org/nlab/show/nCob&quot; rel=&quot;nofollow&quot;&gt;$n$Cob&lt;/a&gt;, Tang$_k$.) And symmetric monoidal categories are just a step before cartesian categories (you just need to add duplication and deletion).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, if the STLC is to cartesian closed categories, what is to closed symmetric monoidal categories? Well, we know that the internal logic of a symmetric monoidal category is &lt;a href=&quot;http://golem.ph.utexas.edu/category/2007/01/multiplicative_intuitionistic.html&quot; rel=&quot;nofollow&quot;&gt;MILL&lt;/a&gt;. So what we need is a type theory corresponding to MILL -- a linear type theory.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Stepping away from the abstract nonsense, what do we get with a linear type theory? Linearity. We get linearity of resources. And this is exactly what we want. You aren't allowed to clone quantum bits. You aren't allowed to implicitly measure. And linearity means you can't do either of these during reduction.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There has been some work on linear type theories, but not a ton. I got some of the ideas in this post from this paper: &lt;a href=&quot;http://math.ucr.edu/home/baez/rosetta.pdf&quot; rel=&quot;nofollow&quot;&gt;Physics, Topology, Logic and Computation:&#xA;A Rosetta Stone&lt;/a&gt; by Mike Stay and John Baez, which goes much more into detail than my handwaving.&lt;/p&gt;&#xA;" OwnerUserId="7647" LastEditorUserId="7647" LastEditDate="2011-12-15T23:46:55.320" LastActivityDate="2011-12-15T23:46:55.320" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9433" PostTypeId="2" ParentId="9369" CreationDate="2011-12-16T00:38:31.940" Score="6" Body="&lt;p&gt;The `weak morphisms' you describe do have a name in a slightly restricted setting. They can also be defined quite generally, as I'll explain.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the case where $T : \mathsf{Set} \to \mathsf{Set}$ preserves weak pullbacks (many natural functors on $\mathsf{Set}$ do) it is known that behavioural equivalence coincides with coalgebraic bisimilarity. Then your morphisms are known as &lt;strong&gt;functional $\alpha$-step bisimulations&lt;/strong&gt; where  $\alpha$ is an ordinal. Admittedly I've only ever seen them defined for ordinals $\alpha \leq \omega$. Prior to coalgebra, modal logicians had studied n-step bisimulations for Kripke frames, which amount to n-step bisimulations for coalgebras for the powerset functor. Your requirement that they be functions as opposed to relations makes them &lt;em&gt;functional&lt;/em&gt; n-step bisimulations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, you can define the concept you are talking about in a far more general setting without referring to coalgebraic bisimulations. For any category $\mathbb{C}$ which has limits of ordinal-indexed cochains and any functor $T : \mathbb{C} \to \mathbb{C}$ one can define $T$ 's &lt;strong&gt;terminal sequence&lt;/strong&gt;. The condition regarding limits is actually rather weak e.g. many categories (including $\mathsf{Set}$) are actually complete i.e. have all small limits. The terminal sequence is a diagram in $\mathbb{C}$ and looks like:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$1 \quad \xleftarrow{!_{T1}} \quad T1 \quad \xleftarrow{T !_{T1}} \quad T^2 1 \quad \xleftarrow{T^2 !_{T1}} \quad \dots \quad T^\omega 1  \quad \xleftarrow{f_\omega^{\omega + 1}} \quad T(T^\omega 1) \quad \xleftarrow{Tf_\omega^{\omega + 1}} \quad \dots$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here $1$ is the terminal object in $\mathbb{C}$ (limit of empty cochain). For example in $\mathsf{Set}$ this can be taken to be the one element set $1 = \{*\}$. The map $!_{T1} : T1 \to 1$ is the unique morphism into the terminal object e.g. in $\mathsf{Set}$ is simply maps every element of $T1$ to $*$. Each $T^n 1$ is computed by iterating $T$ and $T^\omega 1$ is the limit of the cochain preceding it. One can then continue beyond $\omega$, if necessary. Intuitively $T^\alpha 1$ is the collection of  $\alpha$-step behaviours.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now any $T$-coalgebra $(Z,\gamma)$ induces a cone over this sequence i.e.  a collection of $\mathbb{C}$-morphisms $\mathsf{beh}_\gamma^\alpha : Z \to T^\alpha 1$ for each ordinal $\alpha$. I'll just define them for $\alpha &amp;lt; \omega$:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\mathsf{beh}_\gamma^0 : Z \to 1$ is the unique map into the terminal object.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\mathsf{beh}_\gamma^{n+1} = T\mathsf{beh}_\gamma^n \circ \gamma : Z \to T^{n+1} 1$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Intuitively these maps send a state in $Z$ to its $\alpha$-step behaviour. Now we can describe what you are talking about. Suppose we have two $T$-coalgebras $(A,\gamma)$ and $(B,\delta)$. Then a $\mathbb{C}$-morphism $f : A \to B$ preserves $\alpha$-step behaviour iff:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\mathsf{beh}_\delta^\alpha \circ f = \mathsf{beh}_\gamma^\alpha$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;That is, the $\alpha$-step behaviour of $f(z)$ in $\delta$ is precisely the $\alpha$-step behaviour of $z$ in $\gamma$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Anyway, I hope this is helpful. You can find various references by googling 'terminal sequence coalgebra' or 'final sequence coalgebra'.&lt;/p&gt;&#xA;" OwnerUserId="7646" LastEditorUserId="7646" LastEditDate="2011-12-16T10:22:15.580" LastActivityDate="2011-12-16T10:22:15.580" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="9434" PostTypeId="1" CreationDate="2011-12-16T11:57:00.887" Score="1" ViewCount="210" Body="&lt;p&gt;Is there a conjecture such that if the conjecture holds then the following (1) and (2) hold ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(1)The worst case time complexity of k-SAT with n variables and m clauses reaches the maximum value, if m is Cn where C is a constant.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;(2)The exponential time hypothesis&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This question comes from a view about input size of problems. For example, an instance of 3-SAT with n variables is a 3CNF formula and the length of the formula  could be O(n^3). The complexity of obvious algorithm for 3-SAT with n variables is 2^n. 2^n is strictly smaller than 2^{ O(n^3) }. The complexity is defined as the function of input size like the length of formula and the exponential function of input length is 2^{ O(n^3) } and is not 2^n. 2^n time seems to be a sub-exponential time if the statement (1) does not hold.   &lt;/p&gt;&#xA;" OwnerUserId="7653" LastActivityDate="2011-12-16T18:07:41.933" Title="How the Number of Clauses Change the Complexity of Worst Case k-SAT ?" Tags="&lt;cc.complexity-theory&gt;&lt;sat&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="9435" PostTypeId="2" ParentId="9434" CreationDate="2011-12-16T18:07:41.933" Score="2" Body="&lt;p&gt;I think that your question is already solved in &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0022000000917276&quot; rel=&quot;nofollow&quot;&gt;On the Complexity of K-SAT&lt;/a&gt; by Russell Impagliazzo and Ramamohan Paturi.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;And the answer, as anticipated by JeffE is yes.&lt;/p&gt;&#xA;" OwnerUserId="6242" LastActivityDate="2011-12-16T18:07:41.933" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9437" PostTypeId="1" AcceptedAnswerId="9442" CreationDate="2011-12-16T22:08:10.107" Score="2" ViewCount="936" Body="&lt;p&gt;I see there are some papers/thesis which says TSP is solvable in $O(n)$ in bounded tree-width graphs and some of them implicitly refer to Cook and Seymour (not exact paper just said that they solve it), but I can't find any paper about it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;All the things I can find is branch-decomposition based algorithms with merging techniques, which are all heuristic (e.g &lt;a href=&quot;http://web.eecs.utk.edu/~langston/projects/papers/tmerge.pdf&quot; rel=&quot;nofollow&quot;&gt;very nice heuristic&lt;/a&gt;) but non of them are exact algorithm. Does anyone know the related papers for linear time solution? Or paper which says is impossible? or probably impossible? (any good news bad news, its not 3in1 question:).&lt;/p&gt;&#xA;" OwnerUserId="1846" LastEditorUserId="1846" LastEditDate="2011-12-17T18:40:47.323" LastActivityDate="2011-12-17T18:40:47.323" Title="TSP in bounded tree-width (or bounded branch width) graphs" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;graph-theory&gt;&lt;treewidth&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9438" PostTypeId="1" CreationDate="2011-12-16T22:44:14.107" Score="58" ViewCount="2460" Body="&lt;p&gt;With the advent of internet (and common sense) there is more and more demand for open-access research. Several researchers (including me) find it frustrating that published peer-reviewed research articles are behind paywalls. I am looking for journals and conferences (related to theoretical computer science, graph theory, combinatorics, combinatorial optimization) that make all accepted publications freely available to everyone.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some such journals are &lt;a href=&quot;http://theoryofcomputing.org/&quot; rel=&quot;noreferrer&quot;&gt;Theory of Computing&lt;/a&gt;, &lt;a href=&quot;http://www.combinatorics.org/&quot; rel=&quot;noreferrer&quot;&gt;The Electronic Journal of Combinatorics&lt;/a&gt;, &lt;a href=&quot;https://lmcs.episciences.org/&quot; rel=&quot;noreferrer&quot;&gt;Logical Methods in Computer Science&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you know more such journals (or) conferences, please mention them in your answers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT : As suggested by David Eppstein in his answer, I am adding one more constraint. Please write only those journals/conferences that do not charge authors exorbitant fees to publish.&lt;/p&gt;&#xA;" OwnerUserId="344" LastEditorUserId="13319" LastEditDate="2017-07-20T21:01:36.070" LastActivityDate="2019-09-20T08:45:31.330" Title="Open access journals" Tags="&lt;soft-question&gt;&lt;conferences&gt;&lt;journals&gt;" AnswerCount="15" CommentCount="1" FavoriteCount="26" ContentLicense="CC BY-SA 3.0" />
  <row Id="9439" PostTypeId="2" ParentId="9438" CreationDate="2011-12-16T23:51:48.783" Score="23" Body="&lt;p&gt;Conferences with proceedings published in the &lt;a href=&quot;http://www.dagstuhl.de/en/publications/lipics/&quot; rel=&quot;nofollow noreferrer&quot;&gt;LIPIcs&lt;/a&gt; series:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;STACS&lt;/li&gt;&#xA;&lt;li&gt;FSTTCS&lt;/li&gt;&#xA;&lt;li&gt;CCC (since 2015)&lt;/li&gt;&#xA;&lt;li&gt;TQC (Theory of Quantum Computation, Communication and Cryptography)&lt;/li&gt;&#xA;&lt;li&gt;ICALP&lt;/li&gt;&#xA;&lt;li&gt;APPROX/RANDOM&lt;/li&gt;&#xA;&lt;li&gt;SoCG&lt;/li&gt;&#xA;&lt;li&gt;SWAT&lt;/li&gt;&#xA;&lt;li&gt;ESA&lt;/li&gt;&#xA;&lt;li&gt;MFCS&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="74" LastEditorUserId="5062" LastEditDate="2019-09-20T08:45:31.330" LastActivityDate="2019-09-20T08:45:31.330" CommentCount="0" CommunityOwnedDate="2011-12-16T23:51:48.783" ContentLicense="CC BY-SA 4.0" />
  <row Id="9440" PostTypeId="2" ParentId="9438" CreationDate="2011-12-16T23:53:34.823" Score="19" Body="&lt;p&gt;Perhaps you should also ask that the journal not charge authors exorbitant fees to publish?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The &lt;a href=&quot;http://jgaa.info/&quot;&gt;Journal of Graph Algorithms and Applications&lt;/a&gt; and the &lt;a href=&quot;http://jocg.org/index.php/jocg&quot;&gt;Journal of Computational Geometry&lt;/a&gt; are free in both senses.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2011-12-16T23:53:34.823" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9441" PostTypeId="2" ParentId="9438" CreationDate="2011-12-17T11:48:51.867" Score="5" Body="&lt;p&gt;&lt;a href=&quot;http://eptcs.org&quot;&gt;Electronic Proceedings in Theoretical Computer Science&lt;/a&gt; is an open access series publishing workshop and conference proceedings. No charges for authors and proceedings editors.&lt;/p&gt;&#xA;" OwnerUserId="2367" LastActivityDate="2011-12-17T11:48:51.867" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9442" PostTypeId="2" ParentId="9437" CreationDate="2011-12-17T12:18:22.670" Score="12" Body="&lt;p&gt;TSP is the optimization version of HAMILTONIAN CYCLE, which can be expressed by an MSO-formula (Monadic Second-Order Logic) with edge-set quantifications ($MSO_2$, also known as MSO in the incidence-graph model) as follows:  Let $hamilton(F)$ express that $F$ is a set of edges of the input graph $G = (V, E)$ such that every vertex is incident to exactly two edges in $F$, and additionally $F$ is connected.   Then&#xA;$$\min_{F \subseteq E} \{ \sum_{e \in F} w(e) : G \models hamilton(F)\},$$&#xA;where $w(e)$ denodes the weight of an edge $e$.  Hence, TSP is a Linear MSO-definable Optimization problem.   Via &lt;a href=&quot;http://dblp.uni-trier.de/rec/bibtex/journals/iandc/Courcelle90&quot;&gt;Courcelle's&lt;/a&gt; &lt;a href=&quot;http://dblp.uni-trier.de/rec/bibtex/journals/tcs/CourcelleM93&quot;&gt;Theorem&lt;/a&gt;, TSP can therefore be solved  in linear time on graphs of bounded treewidth (for example, using dynamic programming as mentioned by Andrew in the comment above). &lt;/p&gt;&#xA;" OwnerUserId="4920" LastEditorUserId="4920" LastEditDate="2011-12-17T17:59:45.333" LastActivityDate="2011-12-17T17:59:45.333" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="9443" PostTypeId="2" ParentId="9438" CreationDate="2011-12-17T13:27:27.910" Score="13" Body="&lt;p&gt;&lt;a href=&quot;http://cjtcs.cs.uchicago.edu/&quot;&gt;The Chicago Journal of Theoretical Computer Science&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="2367" LastActivityDate="2011-12-17T13:27:27.910" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9444" PostTypeId="2" ParentId="9438" CreationDate="2011-12-17T17:30:59.710" Score="6" Body="&lt;p&gt;&lt;a href=&quot;http://www.cs.uwaterloo.ca/journals/JIS/&quot;&gt;The Journal of Integer Sequences&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="775" LastActivityDate="2011-12-17T17:30:59.710" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9445" PostTypeId="2" ParentId="9438" CreationDate="2011-12-17T21:36:29.100" Score="10" Body="&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.ttic.edu/colt2012/&quot; rel=&quot;noreferrer&quot;&gt;Conference on Learning Theory (COLT)&lt;/a&gt; &lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://jmlr.csail.mit.edu/&quot; rel=&quot;noreferrer&quot;&gt;Journal of Machine Learning Research (JMLR)&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="3811" LastEditorUserId="80" LastEditDate="2011-12-19T20:47:31.240" LastActivityDate="2011-12-19T20:47:31.240" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9446" PostTypeId="2" ParentId="9340" CreationDate="2011-12-17T22:40:14.710" Score="9" Body="&lt;p&gt;The best heuristics are really approximation algorithms. The most beautiful approximation algorithms are just &quot;stupid&quot; heuristics that work. For example, local search for clustering, greedy clustering (Gonzalez), one for the price of two, various greedy algorithms, etc, etc, etc.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So studying approximation algorithms is really about understanding what heuristics are guaranteed approximation algorithms. The hope is that research on approximation algorithms creates two kinds of cross-fertilization:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Move ideas that work from heuristics into algorithms design tools. Similarly, move ideas from algorithm design into heuristics/algorithms that work well in practice.&lt;/li&gt;&#xA;&lt;li&gt;cross fertilization between a person that just graduated and a position.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;In short, the world is not exact, inputs are not exact, target functions optimized by various algorithm problems are not exact and at best represent a fuzzy approximation to what one wants, and computations are not exact. Why would anybody learn exact algorithms? &#xA;(Answer: Because exact algorithms are just really good approximation algorithms.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the real world, there are very few exact algorithms - you need to use approximation to be remotely relevant...&lt;/p&gt;&#xA;" OwnerUserId="9594" LastEditorUserId="9594" LastEditDate="2011-12-19T14:32:15.967" LastActivityDate="2011-12-19T14:32:15.967" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9448" PostTypeId="2" ParentId="9380" CreationDate="2011-12-17T22:48:54.773" Score="18" Body="&lt;p&gt;Apology. Never have casual conversations with people. Its rude. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also what Peter Shor said.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would also add that if you ask the question, then usually the right thing is to offer this person to be a coauthor. If the person is decent and it was really casual they would thank you, ask you to put them in the ack, and decline to be a coauthor. If it was really minor and they still stay as coauthors, they would feel thankful to you. This might be beneficial later on - they might work hard on the paper and push it forward, you have this person as a coauthor (beneficial if they are well known), they would feel they &quot;owe&quot; you, etc.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The other possibility is that this person is a free rider and becomes a coauthor without doing anything and not having contributed anything. This is useful thing to know - you carefully avoid working/talking with this person. You gained useful information for little cost.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;And this is all to avoid the worst case - you do not offer this person to be a coauthor and they become bitter and clinging to their guns and bibles (not necessarily in this order). They start spreading stories about you that you had stole their excellent paper. They shoot down your papers whenever they can (referee reports, PCs, etc). As your career collapse you become bitter and clinging to your gun - and you move to Texas. And all of this just because you did not want to offer them a coauthorship - sounds like a bad deal to me. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In short, there is enough glory for everybody - always mistake on the side of sharing glory...  Publishing papers is not a zero sum game - there are long terms considerations that arise out of the fact that this a repeated game with side effects.&lt;/p&gt;&#xA;" OwnerUserId="9594" LastEditorUserId="9594" LastEditDate="2011-12-18T08:41:51.640" LastActivityDate="2011-12-18T08:41:51.640" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="9449" PostTypeId="2" ParentId="9340" CreationDate="2011-12-17T23:22:29.803" Score="12" Body="&lt;p&gt;Approximate counting is useful in complexity theory. For instance,&#xA;Jin Cai uses it to show that $S_2^p \subseteq ZPP^{NP}$, see &#xA;&lt;a href=&quot;http://pages.cs.wisc.edu/~jyc/papers/S2-j.pdf&quot;&gt;http://pages.cs.wisc.edu/~jyc/papers/S2-j.pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="6456" LastActivityDate="2011-12-17T23:22:29.803" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9450" PostTypeId="2" ParentId="9438" CreationDate="2011-12-18T00:00:55.623" Score="-6" Body="&lt;p&gt;Springer's &lt;em&gt;International Journal of Parallel Programming&lt;/em&gt; offers authors the option to publish openly. They offer &lt;a href=&quot;http://www.springerlink.com/content/0885-7458/preprint/&quot; rel=&quot;nofollow&quot;&gt;online first&lt;/a&gt; and &lt;a href=&quot;http://www.springerlink.com/content/0885-7458/open/&quot; rel=&quot;nofollow&quot;&gt;open access&lt;/a&gt; articles, both with feeds available.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(I guess they have other journals with the same, but I have not checked.)&lt;/p&gt;&#xA;" OwnerUserId="1546" LastActivityDate="2011-12-18T00:00:55.623" CommentCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="9453" PostTypeId="2" ParentId="9438" CreationDate="2011-12-18T08:10:10.047" Score="5" Body="&lt;p&gt;&lt;a href=&quot;http://www.jucs.org/&quot;&gt;Journal of Universal Computer Science&lt;/a&gt;, it is on the SCI index.&lt;/p&gt;&#xA;" OwnerUserId="705" LastActivityDate="2011-12-18T08:10:10.047" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9454" PostTypeId="2" ParentId="9438" CreationDate="2011-12-18T10:18:02.157" Score="8" Body="&lt;p&gt;Papers on Graph Theory are also appearing on &lt;a href=&quot;http://amc.imfm.si/index.php/amc&quot; rel=&quot;nofollow noreferrer&quot;&gt; Ars Mathematica Contemporanea &lt;/a&gt;, which is indexed by SCI. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The journal &lt;a href=&quot;https://dmtcs.episciences.org/&quot; rel=&quot;nofollow noreferrer&quot;&gt; Discrete Mathematics &amp;amp; Theoretical Computer Science &lt;/a&gt; is also open and indexed by SCI.&lt;/p&gt;&#xA;" OwnerUserId="1839" LastEditorUserId="-1" LastEditDate="2018-04-10T16:38:03.087" LastActivityDate="2018-04-10T16:38:03.087" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9455" PostTypeId="2" ParentId="9429" CreationDate="2011-12-18T19:59:20.360" Score="10" Body="&lt;p&gt;The amplitude $\alpha(n) = \Theta(n)$  for expander graphs. A random 3-regular graph is asymptotically almost surely an expander graph &lt;a href=&quot;http://en.wikipedia.org/wiki/Expander_graph#Examples_of_expanders&quot;&gt;(see Wikipedia)&lt;/a&gt;, so the expectation of the amplitude will be $\Theta(n)$, since the probability that it's not an expander graph goes to $0$ as $n$ goes to $\infty$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For an expander graph with parameter $\beta$, for any set of $s$ vertices with $s \leq n/2$, there are $\beta s$ neighbors of the set. Now, let the number of vertices on level $j$ be $\ell_j$, with $\ell_0=1$. We then have from the expansion property that as long as $j$ is not too large (i.e., we haven't included half the vertices yet)&#xA;$$&#xD;&#xA;\ell_j \geq \beta\, \sum_{i=0}^{j-1} \ell_{i} &#xD;&#xA;$$&#xA;Now, look for the level $\ell_j$ which contains vertex $\frac{n}{3}$. That is, so $\sum_{i=0}^{j-1} \ell_i &amp;lt; n/3$ and $\sum_{i=0}^{j} \ell_i \geq n/3$. If this level is large, i.e., $\ell_j \geq n/6$, we are done. Otherwise, the next level has size &#xA;$$&#xD;&#xA;\ell_{j+1} \geq \beta \, \sum_{i=0}^{j} \ell_{i} \geq \beta \frac{n}{3},&#xD;&#xA;$$&#xA;and we are done. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;While this proof looks at the number of vertices in a level rather than the number of edges (which the OP asked about), there are always at least as many edges added in step $i$ as vertices in level $i$, since each vertex must be reached by some edge.&lt;/p&gt;&#xA;" OwnerUserId="1677" LastEditorUserId="1677" LastEditDate="2011-12-18T22:02:27.457" LastActivityDate="2011-12-18T22:02:27.457" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="9456" PostTypeId="1" AcceptedAnswerId="9458" CreationDate="2011-12-18T22:43:03.990" Score="-1" ViewCount="262" Body="&lt;p&gt;The &lt;a href=&quot;http://www.cacr.math.uwaterloo.ca/hac/about/chap3.pdf&quot; rel=&quot;nofollow&quot;&gt;Index Calculus Algorithm&lt;/a&gt; is a probabilistic algorithm for computing discrete logarithms. Let $T$ be the expected running time of this algorithm. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose that &lt;a href=&quot;http://en.wikipedia.org/wiki/Pseudorandom_generator&quot; rel=&quot;nofollow&quot;&gt;pseudorandom generators exist&lt;/a&gt;. Does this imply that we could use a pseudorandom generator to derandomize the Index Calculus algorithm and we would have a new deterministic algorithm that solves the Discrete Log problem with a worst-case running-time of $T$?&lt;/p&gt;&#xA;" OwnerUserId="3091" LastEditorUserId="1037" LastEditDate="2011-12-19T13:58:46.287" LastActivityDate="2011-12-19T13:58:46.287" Title="Derandomizing the Index Calculus algorithm" Tags="&lt;cc.complexity-theory&gt;&lt;derandomization&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="9457" PostTypeId="2" ParentId="9340" CreationDate="2011-12-19T01:52:02.307" Score="4" Body="&lt;p&gt;Dealing with problems with continuous variables is very annoying with exact algorithms. For example, what does it mean to specify the edge-weights of a TSP instance with exact real numbers? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;When we allow FPTAS algorithms for these problems, we can quantize these parameters to integers. This makes the problem much better behaved (can use standard Turing machines), but incurs a small error.&lt;/p&gt;&#xA;" OwnerUserId="5538" LastActivityDate="2011-12-19T01:52:02.307" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9458" PostTypeId="2" ParentId="9456" CreationDate="2011-12-19T02:47:52.563" Score="7" Body="&lt;p&gt;If there exist PRGs that fool polynomial size circuits, then P = BPP, and, since ZPP is in BPP, also ZPP = P. So, any algorithm with expected polynomial running time will have polynomial deterministic running time. However, the running time of the derandomized algorithm will not necessarily be the same as the expected running time of the random algorithm and how they are related will depend on the parameters of the pseudorandom generator. They definitely will be polynomially related.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As for assumptions, pseudorandom generators against poly size circuits &lt;a href=&quot;http://www.math.ias.edu/~avi/PUBLICATIONS/MYPAPERS/IW97/proc.pdf&quot;&gt;exist&lt;/a&gt; if functions computable in deterministic uniform time $2^{O(n)}$ require exponential size circuits. However, complexity zoo's entry for &lt;a href=&quot;http://qwiki.stanford.edu/index.php/Complexity_Zoo%3aZ#zpp&quot;&gt;ZPP&lt;/a&gt; points out it's not known whether superpolynomial circuit lower bounds are required to derandomize ZPP.&lt;/p&gt;&#xA;" OwnerUserId="4896" LastActivityDate="2011-12-19T02:47:52.563" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="9459" PostTypeId="1" CreationDate="2011-12-19T04:08:50.640" Score="0" ViewCount="324" Body="&lt;p&gt;I have 2 questions. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Firstly, I am not sure about differences between Permutaion Graphs and Comparability Graphs. The latter graph class includes the other class. Is there a specific example of graph which is is in Comparability Class but is not in Permutation Class ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Secondly, There are several fast algorithm for vertex coloring of permutaion graph like poly time algorithms using dynamic way or NC parralel algorithms. Can we solve vertex colroing via converting instances of coloring to instances of 2-SAT? I think this solution is plausible, because any permutaion can be represented by several transpositions and we may be able to construct clause whose length is 2 using such transpositions.   &lt;/p&gt;&#xA;" OwnerUserId="7677" LastEditorUserId="-1" LastEditDate="2011-12-21T15:44:49.427" LastActivityDate="2011-12-21T15:44:49.427" Title="On Vertex Coloring of Permutation Graph and Comparability Graph and 2-SAT" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;graph-algorithms&gt;&lt;sat&gt;" AnswerCount="0" CommentCount="3" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="9461" PostTypeId="2" ParentId="9429" CreationDate="2011-12-19T17:10:05.083" Score="5" Body="&lt;p&gt;Peter Shor's answer is really good, but there is another way to answer this: proving that treewidth is upper bounded by two times the amplitude (the vertex version). Since we &lt;a href=&quot;https://cstheory.stackexchange.com/a/71/168&quot;&gt;know&lt;/a&gt; that 3-regular expanders have linear treewidth, we are done.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See the construction of a tree decomposition given a BFS tree, it's slide 15 of this presentation: &lt;a href=&quot;http://www.liafa.jussieu.fr/~pierref/ALADDIN/MEETING2/soto.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://www.liafa.jussieu.fr/~pierref/ALADDIN/MEETING2/soto.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's easy to see that the size of every bag is upper bounded by two times the widest level.&lt;/p&gt;&#xA;" OwnerUserId="168" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2011-12-19T17:23:09.353" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9462" PostTypeId="2" ParentId="9438" CreationDate="2011-12-19T17:20:15.707" Score="5" Body="&lt;p&gt;&lt;a href=&quot;http://www.jair.org&quot; rel=&quot;noreferrer&quot;&gt;Journal of Artificial Intelligence Research&lt;/a&gt; publishes work that (at least from 10000 feet) includes theoretical computer science, graph theory, and combinatorial optimization. &lt;/p&gt;&#xA;" OwnerUserId="1907" LastActivityDate="2011-12-19T17:20:15.707" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="9466" PostTypeId="2" ParentId="3964" CreationDate="2011-12-20T04:24:36.693" Score="9" Body="&lt;p&gt;Two years ago, when researching the (unweighted) blossom algorithm, I found two great sets of notes, one by Tarjan and one by Zwick. They made the unweighted case seem quite straightforward and I was able to implement it in Mathematica using recursion. It works quite well. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The notes that I found useful are&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.cs.tau.ac.il/~zwick/grad-algo-06/match.pdf&quot;&gt;http://www.cs.tau.ac.il/~zwick/grad-algo-06/match.pdf&lt;/a&gt;&#xA;and&#xA;&lt;a href=&quot;http://www.cs.dartmouth.edu/~ac/Teach/CS105-Winter05/Handouts/tarjan-blossom.pdf&quot;&gt;http://www.cs.dartmouth.edu/~ac/Teach/CS105-Winter05/Handouts/tarjan-blossom.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;They distill it all down to very simple terms that allow one to think recursively and then, as noted, program recursively. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think it should all work in the weighted case, which I trying to get implemented now. &lt;/p&gt;&#xA;" OwnerUserId="7692" LastActivityDate="2011-12-20T04:24:36.693" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="9469" PostTypeId="1" CreationDate="2011-12-20T14:13:11.743" Score="1" ViewCount="835" Body="&lt;p&gt;Someone made a casual remark to me about the terminology of capabilities and capacities, in the context of threads, processors and runtime systems, particularly their theoretical modelling.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, in Haskell, an OS thread that is started to schedule work for a single logical processor (hardware thread) is called a capability. Where does this terminology come from? I'm not sure what it really means.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The person who made the casual remark thought that there is also the related concept of capacities, but neither of us are sure.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Anyone know about this? Or have any references for me?&lt;/p&gt;&#xA;" OwnerUserId="7693" LastEditorUserId="186" LastEditDate="2012-05-20T00:10:07.673" LastActivityDate="2012-05-20T00:10:07.673" Title="What do people mean by capabilities and capacities?" Tags="&lt;reference-request&gt;&lt;pl.programming-languages&gt;&lt;dc.parallel-comp&gt;&lt;terminology&gt;" AnswerCount="1" CommentCount="6" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9470" PostTypeId="2" ParentId="9438" CreationDate="2011-12-20T17:54:00.510" Score="8" Body="&lt;p&gt;The Directory of Open Access Journals has a &lt;a href=&quot;https://doaj.org/search?source=%7B%22query%22%3A%7B%22filtered%22%3A%7B%22filter%22%3A%7B%22bool%22%3A%7B%22must%22%3A%5B%7B%22term%22%3A%7B%22index.classification.exact%22%3A%22Electronic%20computers.%20Computer%20science%22%7D%7D%2C%7B%22term%22%3A%7B%22_type%22%3A%22journal%22%7D%7D%5D%7D%7D%2C%22query%22%3A%7B%22match_all%22%3A%7B%7D%7D%7D%7D%2C%22from%22%3A0%2C%22size%22%3A10%7D&quot; rel=&quot;nofollow noreferrer&quot;&gt;Computer Science&lt;/a&gt; category&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Though it lists some of the journals already mentioned, I thought I'd share the link since it's an interesting resource.  Listings indicate whether there is a publication fee.&lt;/p&gt;&#xA;" OwnerUserId="7695" LastEditorUserId="4795" LastEditDate="2017-04-11T08:34:07.240" LastActivityDate="2017-04-11T08:34:07.240" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9471" PostTypeId="2" ParentId="9280" CreationDate="2011-12-20T20:29:45.323" Score="6" Body="&lt;p&gt;Answer updated and rewritten from scratch.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You are given a polytope $P$. Run the Dobkin-Kirkpatric hierarchy on P. This gives you a sequence of polytops $P_1 \subseteq P_2 \subseteq \ldots \subseteq P_k = P$. Let assume you would like to find the closest point on $P$ to a query point $q$. The basic algorithm starts by computing the closest point $c_1$ to $q$ on $P_1$, then it considers all the new regions (tents) adjacent to $c_1$, find the closest point $c_2$ to $q$ in these new regions, and continue in this fashion till we reach $P_k$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, if $c_i$ is on an edge, then there is no problem - only two tents might touch this edge, or only one of them might cover the edge. As such, updating $c_{i+1}$ from $C_i$ in this case takes constant time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So the problem is when $c_i$ lies on a vertex of high degree, because then the number new tents adjacent to it when moving to $P_{i+1}$ might be large. To overcome this, we are going to simulate a large degree vertex as a collection of vertices having low degree. In particular, at each stage, if $c_i$ lies on a vertex $v$, we are going to remember two consecutive edges $e_i, e_i&amp;#39;$ adjacent to $v$, such that the closest point to $q$ in $P_{i+1}$ lies on a tent that is either adjacent or covers one of these two edges. As such, we can do the required computation in constant time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So we remain with the problem of how to keep track of these two edges as we climb up.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To do that, precompute for every vertex $v$ of $P$ a tangent direction $t_v$. Let $Q_i(v)$ be the convex polygon that is the vertex figure of $v$ for the polygon $P_i$ (with the plane defining the vertex figure has normal in the direction of $t_v$). Conceptually, $Q_1(v), Q_2(v), ..., Q_k(v)$ behaves like a 2d DK hierarchy. If the closest point on $Q_i(v)$ to $q$ lies on a vertex $w$ then this corresponds to  $v$ and an adjacent edge $e$ in $P_i$, where the edge $e$ intersects the plane of the vertex figure at $w$. If the closest point on $Q_i(v)$ to $q$ lies on an edge $e&amp;#39;$, then you remember the two adjacent edges of $P_i$ that define the two vertices of $e&amp;#39;$ (here $e&amp;#39;$ belongs to $Q_i(v)$). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;And now we are done... Indeed, if $c_{i+1}$ is also on $Q_{i+1}(v)$ then we can updated it in constant time (since this is just a 2d DK hierarchy). If on the other hand $c_{i+1}$ is no longer on $Q_{i+1}(v)$ then it must belong to a new tent that is adjacent or covers the previous point $c_{i}$. In either case, we can update it in constant time.&lt;/p&gt;&#xA;" OwnerUserId="9594" LastEditorUserId="9594" LastEditDate="2011-12-22T15:58:28.483" LastActivityDate="2011-12-22T15:58:28.483" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="9472" PostTypeId="1" CreationDate="2011-12-20T20:45:03.427" Score="2" ViewCount="259" Body="&lt;p&gt;Consider an FSM and a finite set of variables. The FSM has the special property that each state contains a set of commands, with each command taking the form of &quot;variable = expr(variable, ...)&quot; e.g., x = y + z + 2. The commands are &quot;activated&quot; whenever the FSM transitions into the containing state.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is what class of problems are computable in this model? Perhaps more specifically, say M(k) is one of these state machines with k variables.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Perhaps the only claim that seems obvious to me about this construction is that all computable problems for M(k+1) is strictly larger than for M(k).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Please pardon me if my question is not well formed, or if I'm misusing some terminology. Thanks in advance.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit: Suppose also we add the additional constraint that each 'variable' has some range [-r, r].&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit2: Thanks Martin Schwartz. I don't have the &quot;street cred&quot; yet to upvote or respond to your answer. Thanks!&lt;/p&gt;&#xA;" OwnerUserId="7696" LastEditorUserId="-1" LastEditDate="2011-12-30T05:39:10.753" LastActivityDate="2011-12-30T05:39:10.753" Title="FSMs with finite memory" Tags="&lt;fl.formal-languages&gt;&lt;computability&gt;&lt;regular-language&gt;&lt;finite-model-theory&gt;&lt;church-turing-thesis&gt;" AnswerCount="1" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="9473" PostTypeId="1" AcceptedAnswerId="9475" CreationDate="2011-12-20T21:21:28.517" Score="-1" ViewCount="188" Body="&lt;p&gt;A property is said to be &lt;em&gt;invariant under a permutation $\pi$&lt;/em&gt; if permuting the data points by this permutation leaves the property unchanged. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Invariance under permutations seems to help with property testing, see e.g. &lt;a href=&quot;http://madhu.seas.harvard.edu/papers/2007/apt-full.pdf&quot; rel=&quot;nofollow&quot;&gt;Algebraic Property Testing: The Role of Invariance&lt;/a&gt; by Tali Kaufman and Madhu Sudan, &lt;a href=&quot;http://eccc.hpi-web.de/report/2008/040/&quot; rel=&quot;nofollow&quot;&gt;Property Testing of Equivalence under a Permutation Group Action&lt;/a&gt; by Sourav Chakraborty and Laszlo Babai, and &lt;a href=&quot;http://www.wisdom.weizmann.ac.il/~oded/PTW/mms.pdf&quot; rel=&quot;nofollow&quot;&gt;Invariance in Property Testing&lt;/a&gt; by Madhu Sudan.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is the general intuition for the invariance under permutations helping testing properties, e.g. testing properties of graphs?&lt;/p&gt;&#xA;" OwnerUserId="14197" LastEditorUserId="14197" LastEditDate="2016-04-17T17:34:46.627" LastActivityDate="2016-04-17T17:34:46.627" Title="Invariance in Property Testing" Tags="&lt;graph-theory&gt;&lt;lg.learning&gt;&lt;property-testing&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9474" PostTypeId="1" AcceptedAnswerId="9476" CreationDate="2011-12-20T21:53:29.760" Score="9" ViewCount="661" Body="&lt;p&gt;Delaunay triangulations in the plane maximize the minimum angle in a triangle. Does the same hold true for the Delaunay triangulation of points on the sphere ? (here the &quot;angle&quot; is the local angle in a neighborhood around the vertex at the apex). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Inspired by but unrelated to &lt;a href=&quot;https://math.stackexchange.com/questions/92916/vertices-arrangement-on-the-unit-sphere&quot;&gt;this question&lt;/a&gt; on Math.SE.&lt;/p&gt;&#xA;" OwnerUserId="80" LastEditorUserId="-1" LastEditDate="2017-04-13T12:19:19.363" LastActivityDate="2011-12-21T21:27:03.917" Title="Do Delaunay triangulations on the sphere maximize the minimum angle?" Tags="&lt;cg.comp-geom&gt;&lt;delaunay-triangulation&gt;" AnswerCount="1" CommentCount="12" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9475" PostTypeId="2" ParentId="9473" CreationDate="2011-12-21T02:41:31.630" Score="6" Body="&lt;p&gt;The very general intuition is that the larger the symmetry group of a property, the easier it is to &lt;em&gt;analyze&lt;/em&gt; its testability. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The idea is the following. Suppose you have a property $\mathcal{P}$, defined as a collection of subsets of some domain $D$, and suppose that $\mathcal{P}$ is invariant under a permutation $\pi : D \to D$. In other words, a subset $S \subseteq D$ is in $\mathcal{P}$ iff $\pi(S)$ is also in $\mathcal{P}$. In testing, we want to determine whether a given set $S$ is in $\mathcal{P}$ or &quot;far&quot; from $\mathcal{P}$ by choosing a small number of points $X_1,\dots,X_q \in D$, querying whether each of them is a member of $S$ or not, and then making a decision based on the results of the queries. Suppose that a particular choice of points $z_1,\dots,z_q \in D$ constitutes a valid test. Then, the observation is that $\pi^{-1}(z_1),\dots,\pi^{-1}(z_q)$ also must constitute a valid test. Because using the test $\pi^{-1}(z_1),\dots,\pi^{-1}(z_q)$ on $S$ is the same as using the test $z_1, \dots, z_q$ on $\pi(S)$, and we know that $S \in \mathcal{P}$ iff $\pi(S) \in \mathcal{P}$. So, if $\mathcal{P}$ has a group of symmetry $\Pi \leq \mathsf{Sym}(D)$, then the entire orbit $\{(\pi(z_1),\dots,\pi(z_q)): \pi \in \Pi\}$ consists of valid tests. Thus, the larger the group $\Pi$ is, the more tests can be generated from a single test, and in fact, for many natural invariance groups, all possible tests can be generated from the orbits of a very restricted class of tests. When this is the case, it becomes much easier to give conditions for when a property is testable and when it's not.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, coming back to graph properties, because every graph property is invariant under relabeling of vertices, &lt;a href=&quot;http://onlinelibrary.wiley.com/doi/10.1002/rsa.10078/abstract&quot;&gt;Goldreich and Trevisan (2003)&lt;/a&gt; formalized this above argument to show that the test for any graph property consists of querying induced subgraphs from the given graph. This result was crucial in a later combinatorial characterization of testability for graph properties.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In your question, you seem to be asking what happens if there are even more symmetries known for the graph property at hand. As far as I know, there's no general study of this question, mainly because there's already a precise characterization of testability for general graph properties. It might be interesting to ask which graph properties are &quot;easily testable&quot;, meaning the query complexity is polynomial in the proximity parameter, and here there's no general characterization known...so putting additional symmetry restrictions on the property might make answering the question easier.&lt;/p&gt;&#xA;" OwnerUserId="15" LastActivityDate="2011-12-21T02:41:31.630" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9476" PostTypeId="2" ParentId="9474" CreationDate="2011-12-21T03:33:22.447" Score="10" Body="&lt;p&gt;FIRST ARGUMENT: This was my first answer. Note that this argument is wrong. See my second argument below.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I don't think it's true. The reason that it works in the plane is that in a circle, the inscribed angle subtended by a chord is one half the corresponding central angle. Thus, if we have a triangle with a small angle, any points that would make a larger angle with the opposite edge are inside the empty Delaunay circle, and so aren't one of the points in the configuration we are finding a triangulation of.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, suppose you have a Delaunay triangulation on the sphere. Place a point at the center of the sphere, and project all the pionts onto a plane. The edges of the triangles (great circles on the sphere) are all taken to line segments. But the circles giving the empty ball property are taken to ellipses, and so if there's a point outside the projected ellipse but inside the circumcircle of the triangle, this point would make a larger angle with the edge. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Wait a minute. This answer is completely wrong, because the central projection does not preserve angles. I still think the conjecture is wrong, because I have a much more complicated argument that the theorem about inscribed angles does not hold on the sphere. Here's the argument: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;SECOND ARGUMENT:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The reason this holds in the plane is that the inscribed angle subtended by a chord is one half the corresponding central angle. That holds because, in the diagram below, we have&#xA;$$ CYX_2 = \frac{1}{2} (\pi - X_2 C Y)$$ and $$C Y X_1 = \frac{1}{2} (\pi - X_1 C Y).$$ Subtracting, we get $$ X_1 Y X_2 = \frac{1}{2} X_1 C X_2.$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/tlrrc.jpg&quot; alt=&quot;geometry picture&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, in spherical geometry, we get&#xA;$$CYX_2 = \frac{1}{2} ( \pi - X_2CY + A(X_2CY) \,) $$&#xA;and&#xA;$$CYX_1 = \frac{1}{2} ( \pi - X_1CY + A(X_1CY) \,), $$&#xA;where $A(XYZ)$ means the area of triangle XYZ. &#xA;Subtracting, we get&#xA;$$ X_1 Y X_2 = \frac{1}{2} (X_1 C X_2 + A(X_2CY) - A(X_1CY)\,).$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the locus of points $Y$ making a constant angle $X_1YX_2$ to be a circle, we thus need that the difference of areas $A(X_2CY) - A(X_1CY)$ depends only on the arclength $X_1X_2$. However, this is incompatible with the observation that $A(XCY)$ is $0$ for $X$ diametrically opposite $Y$ and for $X=Y$, but grows to some maximum size in between.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thus, the locus of points $Y$ with constant angle $X_1YX_2$ is not a circle. This means that for some triangle $X_1YX_2$ we can find a point $Y'$ outside the circumcircle of $X_1YX_2$ so the angle $X_1YX_2 &amp;lt; X_1 Y' X_2$. We can then use this to build a counterexample to the conjecture that Delaunay triangulations on the sphere maximize the minimum angle. &lt;/p&gt;&#xA;" OwnerUserId="1677" LastEditorUserId="1677" LastEditDate="2011-12-21T21:27:03.917" LastActivityDate="2011-12-21T21:27:03.917" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9477" PostTypeId="2" ParentId="9472" CreationDate="2011-12-21T05:39:46.540" Score="5" Body="&lt;p&gt;Let your original state machine $M(k)$ have $n$ states and transition relation $t(s,s&amp;#39;)$, where each transition $t(s,s&amp;#39;)$ updates the global variables $x_1,...,x_k$ by applying function &#xA;$(x&amp;#39;_1,...,x&amp;#39;_k) = f_{t(s,s&amp;#39;)} (x_1,...,x_k)$. &#xA;Then $M(k)$ is equivalent to a standard FSM with $n(2r+1)^k$ states, where each state encodes a tuple $(s,x_1,...,x_k)$ with each $x_i$ encoding one fixed value in $[-r,r]$, and new transition relation $t&amp;#39;$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$t&amp;#39;( (s,x_1,...,x_k), (s&amp;#39;,x&amp;#39;_1,...,x&amp;#39;_k)) \Leftrightarrow t(s,s&amp;#39;) \wedge [(x&amp;#39;_1,...,x&amp;#39;_k) = f_{t(s,s&amp;#39;)} (x_1,...,x_k)]$.&lt;/p&gt;&#xA;" OwnerUserId="121" LastEditorUserId="121" LastEditDate="2011-12-21T13:27:55.437" LastActivityDate="2011-12-21T13:27:55.437" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="9478" PostTypeId="2" ParentId="9253" CreationDate="2011-12-21T11:05:26.260" Score="0" Body="&lt;p&gt;BTW, I heard “disjoint union” and &lt;a href=&quot;http://en.wikipedia.org/wiki/Sum_type&quot; rel=&quot;nofollow&quot;&gt;“sum type”&lt;/a&gt;, but not “disjoint type.”&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Natural numbers ($\mathbb{N}$) are constructed with the help of sum types: $\mu(\lambda A. 1+A)$, where $+$ makes a sum type. What is the best approach now? ;)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A little offtopic. IMHO comparing approaches is a common trap. You can waste a lot of time thinking of it with a little reward and even get banned for arguing about the “best approach.” There is no right opinion.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Talking about the hierarchy of numbers, I'd use &lt;a href=&quot;http://en.wikipedia.org/wiki/Structure_%28mathematical_logic%29&quot; rel=&quot;nofollow&quot;&gt;structures&lt;/a&gt;. I.e., consider not only sets (types), but also algebraic operations on them. The canonical injection $\mathbb{N}\to \mathbb{Z}$ is a monomorphism of usual monoids, and this allows us to include $\mathbb{N}$ into $\mathbb{Z}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can check that the only homomorphism of semigroups from $(2, \lor)$ to $(\mathbb{N}, +)$ is a homomorphism $\lambda x. 0$. Then the “natural” injection from $2$ to $\mathbb{N}$ is not a homomorphism. No inclusion. Although, you can try other structures on $2$, and try, and try until you find a structure with some formal properties, and then you may say that you've found a new approach (just new, not the best).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course, if you are not concerned about reasoning, you can forget structures and homomorphisms and organize types into any diagram which &lt;strong&gt;feels&lt;/strong&gt; solid and neat and defend it as “the best.” Then you step directly into the aforementioned trap.&lt;/p&gt;&#xA;" OwnerUserId="1720" LastActivityDate="2011-12-21T11:05:26.260" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9479" PostTypeId="2" ParentId="4646" CreationDate="2011-12-21T19:26:25.943" Score="14" Body="&lt;p&gt;[Edited for clarity]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The most widely used definition in the research literature is the one that requires exactly k distinct variables per clause, and no duplicate clauses.  If you relax the distinct variables restriction, much of the existing research won't make sense to you because your results will not match their results.  The well known sat/unsat phase transition will occur at a different clause-to-variable ratio (if the transition exists at all) and you won't find the hard SAT instances where you'd expect from the literature.&lt;/p&gt;&#xA;" OwnerUserId="7707" LastEditorUserId="7707" LastEditDate="2011-12-25T04:24:59.280" LastActivityDate="2011-12-25T04:24:59.280" CommentCount="13" ContentLicense="CC BY-SA 3.0" />
  <row Id="9481" PostTypeId="1" CreationDate="2011-12-22T07:08:01.420" Score="1" ViewCount="3047" Body="&lt;p&gt;I ask this because I'm currently learning about Neural Networks as a subset of the machine learning algorithms&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Just trying to get some intuition on what sort of problems out there are categorized as &quot;sequential&quot; while others &quot;non-sequential&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks :)&lt;/p&gt;&#xA;" OwnerUserId="7716" LastActivityDate="2019-01-19T18:22:49.327" Title="What are some examples of sequential-decision tasks?" Tags="&lt;ai.artificial-intel&gt;&lt;ne.neural-evol&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9482" PostTypeId="2" ParentId="8703" CreationDate="2011-12-22T10:09:51.927" Score="9" Body="&lt;p&gt;This is a very interesting question. At a high level, you are asking whether one can preprocess a graph such that shortest path queries become independent of the density of the graph, without using much extra space -- interesting, but as you say, unresolved.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you are happy with approximate distances, here is a way to get a $2$-approximation. Let $G$ be a weighted undirected graph with $n$ nodes and $m$ edges. It is shown in the following paper that for approximate distance queries, designing data structures for graphs with $m$ edges is no harder than graphs in which each node has degree bounded by $m/n$:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;R. Agarwal, P. B. Godfrey, S. Har-Peled, Approximate distance queries and compact routing in sparse graphs, INFOCOM 2011&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, assume that $G$ is a $m/n$-degree bounded graph. Sample $\alpha = O(m/n)$ nodes uniform randomly; call these landmark nodes. During the preprocessing phase, store the distance from each landmark node to each other node in the graph; this requires $O(m)$ space. For each node $u$, store its closest landmark node $\ell(u)$. Also, store the graph within the data structure, say as an adjacency list.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;When queried for distance between $u$ and $v$, grow balls around both nodes -- ball of node $w$ is defined as the set of nodes that are strictly closer to $w$ than to its closest landmark node, say $\ell(w)$. It can be shown that the size of each ball is $O(n^2/m)$, in expectation. Let $\Gamma(u) = B(u) \cup N(B(u))$, where $B(u)$ is the ball of node $u$ and $N(B(u))$ is the set of neighbors of nodes in $B(u)$. It can be shown that the size of $\Gamma(u)$ is $O(n)$, in expectation. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Answering the query: if $\Gamma(u) \cap \Gamma(v) \neq \emptyset$, return $\min_{x \in \Gamma(u) \cap \Gamma(v)} \{d(u, x) + d(v, x)\}$; else if $d(u, \ell(u)) \leq d(v, \ell(v))$, return $d(u, \ell(u)) + d(\ell(u), v)$; else return $d(v, \ell(v)) + d(\ell(v), u)$. It is easy to show that this is a $2$-approximation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In terms of query time, note that growing balls takes $O(n)$ time for a $m/n$-degree bounded graph; constructing $\Gamma(u)$ and $\Gamma(v)$ given respective balls takes $O(n)$ time (since neighbors are stored within the data structure); and checking whether $\Gamma(u) \cap \Gamma(v)$ is empty or not also takes $O(n)$ time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The above bounds are in expectation; I think it is easy to derandomize the construction. Unfortunately, this technique does not seem to allow getting approximation better than $2$. Its a very interesting question though ....&lt;/p&gt;&#xA;" OwnerUserId="7187" LastActivityDate="2011-12-22T10:09:51.927" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="9484" PostTypeId="1" AcceptedAnswerId="9485" CreationDate="2011-12-22T12:26:17.867" Score="1" ViewCount="338" Body="&lt;p&gt;Consider the untyped $\lambda$-calculus expression&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$x(\lambda y.P\;)z$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;...where (FWIW) $z$ is not free in $P$, and $P$ does not contain a redex.  Can this expression be $\beta$-reduced?  I've consulted several textbooks, but they are all silent on this point (as far as I can tell).  Application is left-associative, so the fully-parenthesized rendition of the expression above would be&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$((x(\lambda y.P\;))z)$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The formalism, as given in all the textbooks I've consulted, specifies a $\beta$-reduction for $((\lambda y.P\;)z)$, namely $((\lambda y.P\;)z)\; \triangleright_{\beta} \;([z/y]P\;)$, but not one for $((x(\lambda y.P\;))z)$.  Therefore, the answer to my question would appear to be &quot;no&quot;, but a derivation I'm working my way through seems to require an invalid-looking $\beta$-reduction of the form&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$((x(\lambda y.P\;))z) \;\; \triangleright_{\beta} \;\;(x([z/y]P\;))\;.$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any help with this would be appreciated.  In particular, reference to a treatment of the $\lambda$-calculus that explicitly adjudicates this question would be very helpful.  Thanks!&lt;/p&gt;&#xA;" OwnerUserId="3529" LastEditorUserId="3529" LastEditDate="2011-12-31T14:08:23.087" LastActivityDate="2011-12-31T14:08:23.087" Title="Can &quot;$x(\lambda y.P\;)z$&quot; be $\beta$-reduced?" Tags="&lt;lo.logic&gt;&lt;lambda-calculus&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9485" PostTypeId="2" ParentId="9484" CreationDate="2011-12-22T12:44:56.770" Score="9" Body="&lt;p&gt;The expression $x(\lambda y.P)z$ is not $\beta$-reducible (unless there is a redex inside $P$, that is, but no such reduction sequence can escape outside the $\lambda$). The reduction you mention is invalid even in $\lambda\eta$-calculus. The only explanation I can imagine is that the expression in your derivation was misbracketed, and should actually read $x((\lambda y.P)z)$.&lt;/p&gt;&#xA;" OwnerUserId="6959" LastActivityDate="2011-12-22T12:44:56.770" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9486" PostTypeId="1" AcceptedAnswerId="9490" CreationDate="2011-12-22T19:58:47.310" Score="13" ViewCount="814" Body="&lt;p&gt;I am interested in modeling objects, from object oriented programming, in dependent type theory. As a possible application, I would like to have a model where I can describe different features of imperative programming languages.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I could only find one Paper on modeling objects in dependent type theory, which is:&lt;br&gt;&#xA;&lt;a href=&quot;http://www.cs.swan.ac.uk/~csetzer/articles/objectOrientedProgrammingInDepTypeTheoryTfp2006PostProceedings.pdf&quot;&gt;Object-oriented programming in dependent type theory by A. Setzer (2006)&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there further references on the topic that I missed and perhaps are there more recent ones?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there perhaps an implementation (i.e. proof) available for a theorem prover, like Coq or Agda? &lt;/p&gt;&#xA;" OwnerUserId="7724" LastActivityDate="2018-12-14T12:12:52.790" Title="Modeling objects (OOP) in dependent type theory" Tags="&lt;reference-request&gt;&lt;pl.programming-languages&gt;&lt;type-theory&gt;&lt;coq&gt;&lt;dependent-type&gt;" AnswerCount="4" CommentCount="0" FavoriteCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="9487" PostTypeId="2" ParentId="9486" CreationDate="2011-12-22T22:25:48.753" Score="2" Body="&lt;p&gt;I am not well-versed enough in the subject to give a decent overview, but I would advise to scavenge the bibliography of the late 2010 PhD thesis of Seokhyun Han, &lt;a href=&quot;https://www.cs.rhul.ac.uk/~seokhyun/&quot; rel=&quot;nofollow&quot;&gt;&lt;em&gt;Verification of Java Programs in Type Theory with Dependent Record Types and Coercive Subtyping&lt;/em&gt;&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some &lt;a href=&quot;https://www.itu.dk/people/jobr/itp2011.pdf&quot; rel=&quot;nofollow&quot;&gt;recent work on separation logic&lt;/a&gt; also seems relevant.&lt;/p&gt;&#xA;" OwnerUserId="1825" LastActivityDate="2011-12-22T22:25:48.753" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9488" PostTypeId="1" AcceptedAnswerId="9495" CreationDate="2011-12-23T04:18:57.810" Score="7" ViewCount="584" Body="&lt;p&gt;Are there any references for finding non-trivial upper bounds to chromatic number using semidefinite programming?&lt;/p&gt;&#xA;" OwnerUserId="5511" LastEditorUserId="-1" LastEditDate="2011-12-30T05:30:00.300" LastActivityDate="2011-12-30T05:30:00.300" Title="SDP and chromatic number upper bounds" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;semidefinite-programming&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="9490" PostTypeId="2" ParentId="9486" CreationDate="2011-12-23T08:50:39.977" Score="6" Body="&lt;p&gt;Some early(?) work done in this area was by Bart Jacobs (Nijmegen) and Marieke Huisman. Their work is based on the PVS tool and relied on a coalgebraic encoding of classes (if I remember correctly). Look at Marieke's &lt;a href=&quot;http://wwwhome.ewi.utwente.nl/~marieke/papers.html&quot; rel=&quot;noreferrer&quot;&gt;publication page&lt;/a&gt; for papers in the year 2000 and her PhD thesis in 2001. Also look at the papers by Bart Jacobs cited in the A Setzer paper you mention.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Back in those days, they had something called the LOOP tool, but it seems to have vanished from the internets.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is a workshop series known as &lt;a href=&quot;http://www.cs.ru.nl/ftfjp/&quot; rel=&quot;noreferrer&quot;&gt;FTfJP&lt;/a&gt; (Formal Techniques for Java-like Programs) that addresses the formal verification of OO programs. Undoubtedly some of the work uses dependent type theory/higher-order logic. The workshop series has been running for some 14 years.&lt;/p&gt;&#xA;" OwnerUserId="77" LastActivityDate="2011-12-23T08:50:39.977" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9491" PostTypeId="1" AcceptedAnswerId="9513" CreationDate="2011-12-23T09:01:04.370" Score="0" ViewCount="392" Body="&lt;p&gt;The objective is to build a classifier that produces M correct outputs when given N inputs. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let a &quot;sample&quot; be M outputs and N inputs. Each output is some function some of the N inputs but the functions are not given. You only know that some of the N inputs can possibly combine to produce each of the M outputs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Several samples are available for the machine learning algorithm to learn from, and in each sample, the functions for each output produced from what input sets are the exactly same.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It sounds like supervised learning but it doesn't seem to match exactly.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'll provide an example:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;__Sample 1:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Inputs: people = 6; salary = 100&lt;/p&gt;&#xA;&#xA;&lt;p&gt;outputs: width = 600; height = 100&lt;/p&gt;&#xA;&#xA;&lt;p&gt;__Sample 2:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Inputs: people = 3; salary = 60&lt;/p&gt;&#xA;&#xA;&lt;p&gt;outputs: width = 180; height = 60&lt;/p&gt;&#xA;&#xA;&lt;p&gt;__Sample 3:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Inputs: people = 5; salary = 101&lt;/p&gt;&#xA;&#xA;&lt;p&gt;outputs: width = 505; height = 101&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The correct functions are then: width = people * salary; height = salary&lt;/p&gt;&#xA;" OwnerUserId="7727" LastEditorUserId="7727" LastEditDate="2011-12-23T09:24:16.963" LastActivityDate="2011-12-27T20:31:44.540" Title="What kind of machine learning is this?" Tags="&lt;machine-learning&gt;" AnswerCount="2" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="9492" PostTypeId="2" ParentId="9486" CreationDate="2011-12-23T09:28:55.383" Score="2" Body="&lt;p&gt;Why are you looking at &lt;em&gt;dependent&lt;/em&gt; type theory to represent OOP? Can't we&#xA;model OOP in a satisfying way with non-dependent calculi? I have an&#xA;informal model of what OOP looks like, say, when translated to System&#xA;F (or Fω if you want to support generics), and I don't see where the&#xA;type-value dependency would come into play.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Dependent types can be used, for example, to give a lower-level&#xA;meaning to algebraic data types. You could probably do such&#xA;a low-level encoding of OO features, but I'm not sure that's better&#xA;than adding algebraic datatypes to your modeling language.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Maybe you want to give a finer static semantics to OOP constructs that&#xA;are currently untyped, such as &lt;code&gt;instance_of&lt;/code&gt; followed by&#xA;a &lt;code&gt;cast&lt;/code&gt;. I can see dependent type hackery being useful to statically&#xA;reason about such programs; but I'm not sure it would &quot;model&quot; those&#xA;operations that concentrate on the dynamic angle, it's something more.&lt;/p&gt;&#xA;" OwnerUserId="4984" LastActivityDate="2011-12-23T09:28:55.383" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9493" PostTypeId="2" ParentId="4885" CreationDate="2011-12-23T14:32:58.790" Score="7" Body="&lt;p&gt;I like to think of the first inequality that Watrous wrote in terms of probabilistic channel teleportation. If you interpret the diamond norm as a measure of the smallest error probability in discriminating channels $\Phi_0$ and $\Phi_1$, and the trace norm as the equivalent for their Jamiolkowski states, you can always implement the optimal strategy for the channels from their corresponding states with $\frac{1}n$ success probability. Putting this rigorously may be a way of proving the inequality.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, this way of thinking shows that if the channels can be teleported deterministically (such as Pauli channels), then their diamond norm equals the Jamiolkowski trace distance.&lt;/p&gt;&#xA;" OwnerUserId="7731" LastActivityDate="2011-12-23T14:32:58.790" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9494" PostTypeId="1" AcceptedAnswerId="9496" CreationDate="2011-12-23T15:35:32.993" Score="13" ViewCount="229" Body="&lt;p&gt;Raz's &lt;a href=&quot;http://www.wisdom.weizmann.ac.il/~ranraz/publications/Pparal1.ps&quot;&gt;Parallel pretition theorem&lt;/a&gt; is an important result in PCP, inapproximation, etc. The theorem is fomalized as follows.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A game $G=(\mathcal{S},\mathcal{T},\mathcal{A},\mathcal{B},\pi, V)$, where $\mathcal{S},\mathcal{T},\mathcal{A},\mathcal{B}$ are finite sets, $\pi$ is a distribution on $\mathcal{S}\times\mathcal{T}$, and predicate  $V:\mathcal{S}\times\mathcal{T}\times\mathcal{A}\times\mathcal{B}\rightarrow\{0,1\}$. Define value of the game $$v(G)=\max_{h_A\in\mathcal{H}_A,h_B\in\mathcal{H}_B}\sum_{s,t}\pi(s,t)V(s,t,h_A(s),h_B(t))$$  And $n$-fold game $G^n=(\mathcal{S}^n,\mathcal{T}^n,\mathcal{A}^n,\mathcal{B}^n,\pi^n, V^n)$. The theorem says if $v(G)\leq 1-\epsilon,$ then $v(G^n)\leq (1-\epsilon^c)^{\Omega(\frac{n}{\log\max\{|A|,|B|\}})}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My quesion is what happen if the sets are infinite, in a continuous space. Say if $\mathcal{S},\mathcal{T},\mathcal{A},\mathcal{B}$ are subsets of a space, say $R^n$, or more abstract spaces. All the rest are same. Raz's theorem  only gives a trivial upper bound $1$ since the sizes of answer sets are infinite. Obviously $n$-fold value is upper bounded by single copy.  Does exponential decrease also happen in continuous case?  Would it be more interesting to restrict $\mathcal{H}_A,\mathcal{H}_B$ to be collections of continuous functions or $C^{\infty}$ functions or measureable functions?&lt;/p&gt;&#xA;" OwnerUserId="4659" LastEditorUserId="-1" LastEditDate="2011-12-30T05:30:04.853" LastActivityDate="2011-12-30T05:30:04.853" Title="Is there a continuous version of parallel repetition theorem" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;pcp&gt;&lt;interactive-proofs&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9495" PostTypeId="2" ParentId="9488" CreationDate="2011-12-23T19:08:37.017" Score="13" Body="&lt;p&gt;SDPs usually provide relaxations, so for a minimization problem you'll get a lower bound. The Lovasz theta function does provide such a lower bound on chromatic number (see &lt;a href=&quot;http://en.wikipedia.org/wiki/Lov%C3%A1sz_number#Lov.C3.A1sz_.22sandwich_theorem.22&quot;&gt;wiki&lt;/a&gt;). Upper bounds can be provided by rounding schemes (constructive or otherwise). In general, if you have an upper bound $U$ on the integrality gap of the SDP, you can scale the objective of the SDP by $U$ and you'll get an upper bound as well. However, there &lt;a href=&quot;http://authors.library.caltech.edu/27189/1/FEIsiamjc04.pdf&quot;&gt;exist graphs&lt;/a&gt; for which the Lovasz theta gives a lowerbound of $k = O(1)$ and the chromatic number is at least $n^{1 - 2/k}$. There is some &lt;a href=&quot;http://www.cs.princeton.edu/~rongge/LasserreColoring.pdf&quot;&gt;hope&lt;/a&gt; that higher levels of the Lasserre hierarchy can give stronger relaxations. However, notice that chromatic number is  hard to approximate within $n^{1 - \epsilon}$ (see &lt;a href=&quot;http://www.computer.org/portal/web/csdl/doi/10.1109/SFCS.1996.548522&quot;&gt;this&lt;/a&gt;) in general (i.e. if you're not just interested in the promise problem where the yes instance has constant chromatic number). So, for any SDP, integrality gaps better than $n^{1-\epsilon}$ will either be restricted to cases where the SDP relaxation has  constant value or will be nonconstructive (i.e. superpolynomial time rounding or superpolynomial size relaxation), unless P=NP.&lt;/p&gt;&#xA;" OwnerUserId="4896" LastEditorUserId="4896" LastEditDate="2011-12-24T10:53:43.813" LastActivityDate="2011-12-24T10:53:43.813" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="9496" PostTypeId="2" ParentId="9494" CreationDate="2011-12-24T04:43:33.640" Score="8" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;Does exponential decrease also happen in continuous case?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;No.  Feige and Verbitsky [FV02] showed that for every &lt;i&gt;n&lt;/i&gt;, there is a game &lt;i&gt;G&lt;/i&gt; (with finite sets of questions and answers) such that &lt;i&gt;v&lt;/i&gt;(&lt;i&gt;G&lt;/i&gt;)≤3/4 and &lt;i&gt;v&lt;/i&gt;(&lt;i&gt;G&lt;/i&gt;&lt;sup&gt;&lt;i&gt;n&lt;/i&gt;&lt;/sup&gt;)≥1/8.  Because your formulation generalizes games with finite sets of questions and answers of any size, parallel repetition (of any finitely many times) cannot decrease the value of a game from 3/4 to 1/8.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[FV02] Uriel Feige and Oleg Verbitsky.  Error reduction by parallel repetition—A negative result.  &lt;em&gt;Combinatorica&lt;/em&gt;, 22(4):461–478, Oct. 2002.  &lt;a href=&quot;http://dx.doi.org/10.1007/s00493-002-0001-0&quot;&gt;doi:10.1007/s00493-002-0001-0&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="567" LastActivityDate="2011-12-24T04:43:33.640" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9497" PostTypeId="1" AcceptedAnswerId="9514" CreationDate="2011-12-24T06:57:16.057" Score="4" ViewCount="235" Body="&lt;p&gt;The &lt;a href=&quot;http://crypto.cs.uiuc.edu/wiki/index.php/GGM_construction&quot; rel=&quot;nofollow&quot;&gt;GGM construction&lt;/a&gt; gives (PRF) &lt;a href=&quot;http://en.wikipedia.org/wiki/Pseudorandom_function_family&quot; rel=&quot;nofollow&quot;&gt;pseudo-random function families&lt;/a&gt;&#xA;whose instance's input's are binary strings of a single length.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I've convinced myself that one could get a PRF family whose instances have domain of &lt;em&gt;all&lt;/em&gt; finite binary strings by taking a PRF for inputs of length $n$ and an independent PRNG seed,&#xA;using the PRNG seed to take a value that is indistinguishable&#xA;from being a primes chosen uniformly from $\; [2^{n-1},2^n) \;$,&#xA;interpreting the input as a non-negative integer,&#xA;reducing that integer mod the value from the PRNG,&#xA;expressing the result as a binary string, and feeding that to the PRF instance.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(The PRF instance and PRNG seed could instead be the output of the PRNG on the key.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, looking at the construction, I see what would be much simpler and more efficient,&#xA;and I think it would still be secure, although I don't understand the&#xA;proof well enough to figure out if that can be suitably modified.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Does the following give a pseudo-random function family from&#xA;  &lt;br&gt;a pseudo-random generator that stretches by a factor of 3?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Let $G$ be the generator, and define $H_0,H_\#,H_1$ to return the first,middle,last $n$ bits of $G$'s output. $\;\;$ For all non-negative integers $n$ such that $\: n\lt \text{len}(x) \:$, $\:$ let $b_n$ be the $n$th bit of $x$. $\;\;$ $F_s(x)$ is then defined to equal $\; H_\#(H_{b_{\text{len}(x)-1}}(...(H_{b_2}(H_{b_1}(H_{b_0}(s)))))) \;$.&lt;/p&gt;&#xA;" OwnerDisplayName="user6973" LastEditorDisplayName="user6973" LastEditDate="2011-12-27T06:59:28.733" LastActivityDate="2011-12-27T22:49:22.183" Title="Pseudo-Random Function families whose instances have full domain" Tags="&lt;cr.crypto-security&gt;&lt;pseudorandomness&gt;&lt;pseudorandom-generators&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9498" PostTypeId="2" ParentId="9413" CreationDate="2011-12-24T11:06:18.347" Score="3" Body="&lt;p&gt;As it turns out, there is some fascinating work done in this direction. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In particular, in 2003, Michael Howard, Jon Pincus, and Jeannette M. Wing's &lt;em&gt;Measuring Relative Attack Surfaces&lt;/em&gt; in proceedings of Workshop on Advanced Developments in Software and Systems Security, Taipei, December 2003.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Further work by the same authors over the years is quite interesting ... For anyone who found my question of interest you can check their work out at &lt;a href=&quot;http://www.cs.cmu.edu/~pratyus/as.html&quot; rel=&quot;nofollow&quot;&gt;http://www.cs.cmu.edu/~pratyus/as.html&lt;/a&gt; ... And if you find them interesting, i hope that you will find my work interesting too :)&lt;/p&gt;&#xA;" OwnerUserId="7258" LastActivityDate="2011-12-24T11:06:18.347" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9500" PostTypeId="1" AcceptedAnswerId="9501" CreationDate="2011-12-26T09:01:21.120" Score="13" ViewCount="2124" Body="&lt;p&gt;The definition of Ramsey numbers is the following: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $R(a,b)$ be a positive number such that every graph of order at least $R(a,b)$ contains either a clique on $a$ vertices or a stable set on $b$ vertices.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am working on some extension of Ramsey Numbers. While the study has some theoretical interest, it would be important to know the motivation of these numbers. More specifically I am wondering the (theoretical or practical) applications of Ramsey numbers. For instance, are there any solution methodology for a real life problem that uses Ramsey numbers? Or similarly, are there any proofs of some theorems based on Ramsey numbers?&lt;/p&gt;&#xA;" OwnerUserId="2296" LastEditorUserId="5385" LastEditDate="2011-12-28T07:42:12.700" LastActivityDate="2013-11-29T17:39:04.280" Title="Application of Ramsey Numbers" Tags="&lt;reference-request&gt;&lt;co.combinatorics&gt;&lt;ramsey-theory&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="9501" PostTypeId="2" ParentId="9500" CreationDate="2011-12-26T10:06:31.933" Score="21" Body="&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.cs.umd.edu/~gasarch/TOPICS/ramsey/ramsey.html&quot; rel=&quot;nofollow&quot;&gt;Applications of Ramsey theory to CS&lt;/a&gt;, Gasarch&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="4896" LastEditorUserId="7884" LastEditDate="2013-11-29T17:39:04.280" LastActivityDate="2013-11-29T17:39:04.280" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="9502" PostTypeId="1" AcceptedAnswerId="9511" CreationDate="2011-12-26T16:35:54.777" Score="6" ViewCount="306" Body="&lt;p&gt;MAX3E SAT is defined as SAT with all clauses consisting of 3 literals and their possible negations.  We define &lt;em&gt;clause counting&lt;/em&gt;, for this question, as the ability to count the total number of satisfied clauses for all remaining possible truth assignments.  Let's say that we are allowed to pick a single variable and assign it a value, and then perform clause counting to get a total for all remaining possible truth assignments.  Further, we can do this for all variables and their negations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let's consider this clause counting ability for MAX3E SAT with an equation that is garaunteed to be satisfiable by at least one possible truth assignment.  Now, the clause counting from above can be used to help predict part of a satisfying truth assignment.  The variable we pick with the highest clause count should (probably) be part of a satisfying truth assignment.  I'd like to construct the smallest example (in terms of clauses) where this notion of clause counting fails.  Can someone please help?&lt;/p&gt;&#xA;" OwnerUserId="1549" LastEditorUserId="-1" LastEditDate="2011-12-30T05:29:56.837" LastActivityDate="2013-03-08T20:24:23.987" Title="The worst-case scenario(s) for MAX3E SAT" Tags="&lt;cc.complexity-theory&gt;&lt;sat&gt;" AnswerCount="2" CommentCount="7" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="9503" PostTypeId="2" ParentId="9500" CreationDate="2011-12-26T18:38:34.523" Score="3" Body="&lt;p&gt;In addition to above, &lt;a href=&quot;http://www.combinatorics.org/ojs/index.php/eljc/article/view/DS13&quot; rel=&quot;nofollow&quot;&gt;Ramsey theory apps by Rosta&lt;/a&gt; (Electronic Journal of Combinatorics) also seems to have interesting notes on applications of Ramsey Numbers.  Also, I can perceive applications to Genetic Algorithms.  &lt;/p&gt;&#xA;" OwnerUserId="7258" LastEditorUserId="7884" LastEditDate="2013-11-29T17:34:20.990" LastActivityDate="2013-11-29T17:34:20.990" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9504" PostTypeId="2" ParentId="5619" CreationDate="2011-12-26T23:07:52.840" Score="18" Body="&lt;p&gt;An upper bound on the maximum number of stable matchings for a Stable Marriage instance is given in my Master's thesis and it is extended to the Stable Roommates problem as well.The bound is of magnitude $O(n!/2^n)$ and it can be shown that it is actually of magnitude $O\left((n!)^\frac{2}{3}\right)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The document is thesis number 97 on page &lt;a href=&quot;http://mpla.math.uoa.gr/msc/&quot;&gt;http://mpla.math.uoa.gr/msc/&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="6690" LastEditorUserId="6690" LastEditDate="2012-03-28T19:48:19.030" LastActivityDate="2012-03-28T19:48:19.030" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9508" PostTypeId="2" ParentId="9491" CreationDate="2011-12-27T16:12:38.793" Score="1" Body="&lt;p&gt;Without going into detail about your example, this seems to be a &lt;a href=&quot;http://en.wikipedia.org/wiki/Multiclass_classification&quot; rel=&quot;nofollow&quot;&gt;multiclass&lt;/a&gt; prediction problem.  As the outputs are on a range of possibilities, instead of counting mistakes (&lt;a href=&quot;http://en.wikipedia.org/wiki/0-1_loss_function&quot; rel=&quot;nofollow&quot;&gt;0-1 loss&lt;/a&gt;), you can pick a desirable &lt;a href=&quot;http://en.wikipedia.org/wiki/Loss_function&quot; rel=&quot;nofollow&quot;&gt;loss function&lt;/a&gt; for your application (especially if you're in the &lt;a href=&quot;http://www.cc.gatech.edu/~ninamf/ML11/lect0913.pdf&quot; rel=&quot;nofollow&quot;&gt;non-realizable case&lt;/a&gt;) and then a suitable learning algorithm.  Because you have two outputs, you can make each prediction separately to make things simpler.&lt;/p&gt;&#xA;" OwnerUserId="123" LastActivityDate="2011-12-27T16:12:38.793" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9509" PostTypeId="2" ParentId="4859" CreationDate="2011-12-27T17:36:14.803" Score="3" Body="&lt;p&gt;Part of the answer is in your question: if your language is FO-rewritable, query answering is in $\textrm{AC}_0$ in data complexity, which is almost as good as it gets. However, keep in mind that you have to pay the cost of computing $Q_\Sigma$, which might be expensive, though you have to do it only once.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Other good thing is that, for a FO-rewritable language, you reduce the problem of answering a query over a database &lt;strong&gt;with&lt;/strong&gt; dependencies to answering a query over a database without dependencies. But again, the size of the new query ($Q_\Sigma$) might be exponential (or worse, but I'm not so sure) in the size of $Q$ and $\Sigma$ (because you have to encode the TGDs in $Q_\Sigma$ somehow). Anyways, roughly speaking it means you are reducing a problem to a simpler problem. I guess that's why it's very good.&lt;/p&gt;&#xA;" OwnerUserId="5396" LastActivityDate="2011-12-27T17:36:14.803" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9510" PostTypeId="1" AcceptedAnswerId="9512" CreationDate="2011-12-27T17:39:47.700" Score="8" ViewCount="256" Body="&lt;p&gt;Alice wants to get a message to a large number of people living under a censorship-happy government, run by Eve.&#xA;The traditional way of doing this is samizdat, but that process requires each person passing a message to take a certain risk. It would be nice of there were some way of doing this directly. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Spread-spectrum communications are resistant to jamming. However, this method assumes a shared secret key. It is implausible for this to remain secret when distributed to the audience, and when Eve obtains the key, she can jam the channel.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, the question is: Is it possible to device a communications method like spread-spectrum, which does not require a shared key?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To be specific: A solution would require resistance to jamming, and that the&#xA;receivers can authenticate that the message was sent by Alice. Secrecy is not a requirement (and is implausible anyway).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More formally: Alice wants to send a message m over the radio spectrum. Alice has a public/private key pair, and uses it to encode the message into a cyphertext C, (we can take C to include the details of how the message is modulated for transmission). Alice can only transmit at some power level Ap. Eve only knows the public key. Alice's recipients only know the public key.  Eve can transmit a jamming signal, presumably at a much higher power level than Alice, although not without limit (especially on areas of the spectrum already being used for, say, TV channels). In a solution, Alice's followers will still be able to decode the message using only the private key. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Additionally, Alice would like to be able to repeat the exercise without having&#xA;to circulate a new public key. Suppose that the system worked on the first message, but that Eve was able to obtain the cyphertext C. Then, if the system does not vary over time, Eve will be able to jam the channel using the C. So either the system must vary with time, or Eve must not be able to obtain the cyphertext.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some authors have described public-key steganography schemes, eg [1]. considers active attacks that attempt to break the secrecy or authenticity  of the scheme, by sending additional messages, but not than ones which perturb existing messages. [2] Does consider these kind of attacks, but their scheme is not obviously applicable to spread spectrum (to me, at least): It only copes with a limited amount of perturbation, and in doing so reduces the bandwidth of the channel a great deal.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Fingerprinting and covert channel schemes do consider 'jamming' type attacks, but I am not aware of them using public key crypto to counter such attacks.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] &lt;a href=&quot;http://www.zurich.ibm.com/~cca/papers/pkstego.pdf&quot;&gt;&quot;Public-key steganography with active attacks&quot;, Michael Backes and Christian Cachin&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] &lt;a href=&quot;http://www.cl.cam.ac.uk/~rja14/Papers/jsac98-limsteg.pdf&quot;&gt;&quot;On the limits of Steganography&quot;, Anderson and Peticolas&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="701" LastEditorUserId="701" LastEditDate="2011-12-27T20:07:15.103" LastActivityDate="2013-04-22T04:03:21.817" Title="Is public-key spread-spectrum communication possible?" Tags="&lt;cr.crypto-security&gt;" AnswerCount="2" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="9511" PostTypeId="2" ParentId="9502" CreationDate="2011-12-27T19:04:55.877" Score="6" Body="&lt;p&gt;In fact, we are able to perform &quot;clause counting&quot;.  The total number of satisfied clauses for all remaining truth assignments is proportional to the expected number of satisfied clauses for a random truth assignment, which is the sum of the probabilities $P(C_i | \{x, y, ...\})$, where $C_i$ is the $i$-th clause, and $\{x,y,...\}$ are the literals that have been assigned to be true.  In particular, if there are three distinct literals per clause, and we are promised a satisfying truth assignment (so a variable and its negation never occur in the same clause), and a single literal $x$ has been assigned to be true, then the probability that a particular clause is satisfied by a random assignment of the remaining variables is $3/4$ if the clause contains $\neg{x}$, or $7/8$ if the clause contains neither $x$ nor $\neg{x}$, or $1$ if the clause contains ${x}$.  That is,&#xA;$$P(C_i | \{x\}) = \frac{7}{8} + \frac{1}{8}n_i(x),$$&#xA;where $n_i(x) \in\{-1, 0,1\}$.  So the literal picked out by &quot;clause counting&quot; will be the one that maximizes $\sum_{i}n_i(x)=N(x)$, where the sum is over all clauses, and $N(x)$ is the (net) number of occurrences of the literal $x$ in the entire formula.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To use this to construct a counterexample, we need a literal that is false (say) in all satisfying assignments, but that maximizes the above count.  We can force a literal to be false with four occurrences of its negation, as follows:&#xA;$$&#xD;&#xA;\begin{eqnarray}&#xD;&#xA;\neg{a} &amp;amp;\equiv&amp;amp; \neg{a} \wedge (b \vee \neg{b}) \wedge (c \vee \neg{c}) \\&#xD;&#xA;&amp;amp;\equiv&amp;amp; (\neg{a} \vee b \vee c) \wedge (\neg{a} \vee b \vee \neg{c}) \wedge (\neg{a} \vee \neg{b} \vee c) \wedge (\neg{a} \vee \neg{b} \vee \neg{c}) \\&#xD;&#xA;&amp;amp;\equiv&amp;amp; \Phi(\neg{a};b,c),&#xD;&#xA;\end{eqnarray}&#xD;&#xA;$$&#xA;for any additional literals $b$ and $c$; this subformula has $N(a)=-4$ and $N(b)=N(c)=0$.  We then need to include enough occurrences of $a$ in the rest of the formula to make $N(a)$ the largest count.  This can be done using&#xA;$$&#xD;&#xA;\Omega(a;d,f) \equiv (a \vee d \vee f) \wedge (a \vee d \vee \neg{f}) \wedge (a \vee \neg{d} \vee f),&#xD;&#xA;$$&#xA;which is equivalent to $a \vee (d \wedge f)$, and has $N(a)=3$ and $N(d)=N(f)=1$.  So a counterexample with four variables and ten (unique) clauses is&#xA;$$&#xD;&#xA;\Phi(\neg{a}; x_1, x_2) \wedge \Omega(a; x_1, x_3) \wedge \Omega(a; x_2, x_3),&#xD;&#xA;$$&#xA;which has $N(a)=2$ and $N(x_1)=N(x_2)=N(x_3)=1$, and a unique satisfying assignment: $\{\neg{a}, x_1, x_2, x_3\}$.&lt;/p&gt;&#xA;" OwnerUserId="3183" LastActivityDate="2011-12-27T19:04:55.877" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="9512" PostTypeId="2" ParentId="9510" CreationDate="2011-12-27T20:27:01.833" Score="5" Body="&lt;p&gt;Google reveals that the &lt;a href=&quot;http://www.syssec.ethz.ch/research/anti-jamming&quot;&gt;System Security Group&lt;/a&gt; at ETH have done work on &quot;jamming-resistant radio broadcast communication without shared secret keys&quot;. Perhaps this would be a good place to start?&lt;/p&gt;&#xA;" OwnerUserId="751" LastActivityDate="2011-12-27T20:27:01.833" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9513" PostTypeId="2" ParentId="9491" CreationDate="2011-12-27T20:31:44.540" Score="2" Body="&lt;p&gt;This is supervised learning with a vector-valued output, i.e. learning a vector to vector mapping.  There's a large literature on this in the neural network community. One application is generating control signals for a physical device (e.g. pointing a camera based on visual input).  Here's a typical reference:    &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suh, I.H. and Kim, T.W. Fuzzy membership function based neural networks with applications to the visual servoing of robot manipulators.  IEEE Transactions on Fuzzy Systems, 2(3):203-220, 1994. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;From another angle, this can be viewed as &lt;a href=&quot;http://en.wikipedia.org/wiki/Multi-task_learning&quot; rel=&quot;nofollow&quot;&gt;multitask learning&lt;/a&gt;, a currently popular area in machine learning.   If one knows more about constraints among the output values, then it could usefully be viewed as a &lt;a href=&quot;http://en.wikipedia.org/wiki/Structured_prediction&quot; rel=&quot;nofollow&quot;&gt;structured prediction&lt;/a&gt; problem, also recently popular. &lt;/p&gt;&#xA;" OwnerUserId="1907" LastActivityDate="2011-12-27T20:31:44.540" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9514" PostTypeId="2" ParentId="9497" CreationDate="2011-12-27T22:43:44.620" Score="1" Body="&lt;p&gt;Here is a proof sketch of the security of your construction.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $G: \{0,1\}^k \to \{0,1\}^{3k}$ be the PRG and let $G_0, G_1, G_2$ denote the first, middle, and last third of the output of $G$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Define the function $F_{x,m}$ as follows:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\qquad&#xD;&#xA;F_{x,m}(y) =&#xD;&#xA;  \begin{cases}&#xD;&#xA;    rand &amp;amp; \mbox{ if } y&amp;lt;x \mbox{ in lex order} \\&#xD;&#xA;    G_m( rand ) &amp;amp; \mbox{ if } y=\epsilon \\&#xD;&#xA;    G_m( F_{x,b}(y&amp;#39;) ) &amp;amp; \mbox{ if } y=y&amp;#39;b \\ &#xD;&#xA;\end{cases}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here $rand$ denotes a value chosen at random for each $(y,m)$, independent of everything else.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now $F_{\epsilon,2}$ is your GGM construction instantiated with a random seed. Suppose we picture the GGM construction as a labeling of the edges and vertices of a binary tree. Each vertex is associated with a finite binary string. Each vertex labels its two outgoing edges $G_0(\ell), G_1(\ell)$  and labels itself $G_2(\ell)$, where $\ell$ is the value assigned to its incoming edge. Then $F_{x,2}$ is the result of having vertices $y &amp;lt; x$ assign their relevant labels totally randomly.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Fix an adversary $A$ with running time $p(\cdot)$, to which we give oracle access to a function of this form. We'll consider the sequence of hybrids $F_{\epsilon,2}, F_{0,2}, F_{1,2}, F_{00,2}, \ldots, F_{\omega,2}$, where $|\omega| &amp;gt; p(k)$.  From $A$'s point of view, $F_{\omega,2}$ has output distributed identically to a totally random function.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $x$ is the successor of $x&amp;#39;$ in lex order, then $F_{x,2}$ and $F_{x&amp;#39;,2}$ differ only in one application of the PRG. Thus, successive hybrids are indistinguishable. However, we've proposed an exponential number of hybrids, so we are not yet done! Intuitively $A$ can only &quot;notice&quot; the changes in a polynomial-sized portion of the tree. We formalize this as follows:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Conditioned on the event that $A$ &lt;em&gt;never&lt;/em&gt; queries its oracle on a string beginning with $x$, then $F_{x,2}$ and $F_{x&amp;#39;,2}$ give identical output distribution. Let $q_x$ denote the probability that $A$ queries its oracle on such a string, and let $\delta(\cdot)$ denote the negligible security error of the PRG. Then we have:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\qquad\Big|\Pr[A^{F_{x,2}}(1^k) = 1] - \Pr[A^{F_{x&amp;#39;,2}}(1^k) = 1] \Big| \le q_x \delta(k)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then by a hybrid argument, we have:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\qquad\Big|\Pr[A^{F_{\epsilon,2}}(1^k) = 1] - \Pr[A^{F_{\omega,2}}(1^k) = 1] \Big| \le \delta(k)\sum_x q_x$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The first expression involves $A$ with oracle access to the GGM function, and the second expression involves $A$ with oracle access to a random function. Now we bound the sum $\sum_x q_x \le p(k)^2$. Since $\delta(k) p(k)^2$ is negligible, the construction is a PRF.&lt;/p&gt;&#xA;" OwnerUserId="149" LastEditorUserId="149" LastEditDate="2011-12-27T22:49:22.183" LastActivityDate="2011-12-27T22:49:22.183" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="9515" PostTypeId="1" CreationDate="2011-12-28T01:26:02.347" Score="-1" ViewCount="148" Body="&lt;p&gt;I wondered... &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Lets say you have a machine, which sometimes prints out the time on a piece of paper in the following format: $$year-month-day-hours-minutes-seconds.$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example today it would print something like&#xA;$$11-12-27-20-03-58,$$&#xA;then maybe two and a half hour later&#xA;$$11-12-27-22-45-32,$$&#xA;and so on. You're investigating this machine and collect all the output it gives you. For convenience you write down a running number on the backs of these papers. This way you can sort and find the prints much faster. On the first ever print you wrote #1, on the second one you wrote #2, etc. When you reached #9999 you decided to switch to hexadecimal numbers to safe some space. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then you have a better idea: You write a program to automatize this. Whenever the machine prints out a new time, the programm should write down which print it is in the above sense. There is only one problem: The program you'll write can't count, i.e. remember how many prints it has done. However, the program has access to the time printed on the paper. So it could just use the time itself to encode the order. But this is probably a waste of space. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here the question: How can you &lt;em&gt;optimally&lt;/em&gt; use the information you got to convert it into a sorted series, even if every time you only have access to the current print?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;How can the solution to this specific problem be generalized? (i.e. not necessarily relying on this example, where the input is a time.)&lt;/p&gt;&#xA;" OwnerUserId="7750" LastActivityDate="2011-12-29T05:17:41.520" Title="Efficiently converting an ascending sequence to a sorted sequence one at a time" Tags="&lt;ds.algorithms&gt;" AnswerCount="2" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="9516" PostTypeId="2" ParentId="9515" CreationDate="2011-12-28T03:46:59.257" Score="2" Body="&lt;p&gt;By using the adversary method, the last generated time could be the previous object in the ordering of your preference. Therefore, in order to distinguish between any two numbers (and thus be able to order them) you would have to use information equivalent to the length of the full representation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I believe that this question is related to issues in databases and relational algebra such as primary key selection. I don't think you need to refrain to pure information-theory arguments in order to solve this problem.&lt;/p&gt;&#xA;" OwnerUserId="879" LastEditorUserId="879" LastEditDate="2011-12-29T02:51:30.407" LastActivityDate="2011-12-29T02:51:30.407" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9518" PostTypeId="2" ParentId="499" CreationDate="2011-12-28T13:52:30.583" Score="8" Body="&lt;p&gt;There is a significant gap even when it comes to basic primitives such as pseudorandom generators. Consider for example pseudorandom functions. In practice people use things like &lt;a href=&quot;http://en.wikipedia.org/wiki/Advanced_Encryption_Standard&quot;&gt;AES&lt;/a&gt;, which differ from theoretical candidates (Goldreich, Goldwasser, Micali; Naor, Reingold; etc.) along several dimensions: First, the parameters are completely different, e.g. AES can have key length which &lt;em&gt;equals&lt;/em&gt; the input length, which is unheard of in theoretical constructions. Perhaps more importantly, AES (and many other block ciphers) follow the so-called substitution-permutation network paradigm which is quite different from the way theoretical constructions go (e.g. those mentioned above).&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Most interesting will of course be examples that suggest new avenues for theoretical research based on practical experience :).&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I think the above is such an example, see for example &lt;a href=&quot;http://www.ccs.neu.edu/home/viola/papers/blockcipher.pdf&quot;&gt;this paper&lt;/a&gt; with Eric Miles (from which essentially this answer is taken).&lt;/p&gt;&#xA;" OwnerUserId="259" LastActivityDate="2011-12-28T13:52:30.583" CommentCount="0" CommunityOwnedDate="2011-12-28T13:52:30.583" ContentLicense="CC BY-SA 3.0" />
  <row Id="9519" PostTypeId="2" ParentId="9481" CreationDate="2011-12-28T15:25:13.123" Score="1" Body="&lt;p&gt;One kind of sequential problem is making control decisions in real time. Consider the problem of driving a vehicle. The system will have a state, you can observe some measurements, and you must make a decision. You decision generates and input which then affect the future state of the vehicle and the whole process repeats. A problem which interacts with an external entity that changes its behavior based on a decision is sequential in nature. Other examples include things like optimally managing a stock portfolio, searching for an evading opponent, optimally playing a card game. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;One non-sequential problem is classifying the fruit on a scanner in a grocery store. A measurement is taken, the data is processed and and output is determined. When the output generated does not alter the nature of of future outputs, it is non-sequential.&lt;/p&gt;&#xA;" OwnerUserId="7247" LastActivityDate="2011-12-28T15:25:13.123" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9523" PostTypeId="2" ParentId="7600" CreationDate="2011-12-28T23:25:50.607" Score="9" Body="&lt;p&gt;Start with a good survey paper.  It's easy to attack the subject piecemeal and get confused by different names in the literature for the same techniques and the same name used for different techniques.  It's also easy to re-enact old algorithmic battles (occur lists vs. head-tail lists vs. two watched literals for DPLL implementations for instance) if you don't know what the state of the art is.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.cs.cornell.edu/gomes/papers/SATSolvers-KR-Handbook.pdf&quot;&gt;Satisfiability Solvers&lt;/a&gt; by Gomes, et. al. will give you the rough lay of the land.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.emcl-study.eu/fileadmin/master_theses/thesis_manthey.pdf&quot;&gt;Improving SAT Solvers Using State-of-the-Art Techniques&lt;/a&gt; by Manthey will bring you closer to the present.&lt;/p&gt;&#xA;" OwnerUserId="7707" LastActivityDate="2011-12-28T23:25:50.607" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9524" PostTypeId="2" ParentId="9515" CreationDate="2011-12-29T05:17:41.520" Score="-1" Body="&lt;p&gt;From a distance, it looks somewhat like this to me:  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let there be a constant defined at the beginning, set to the real time clock value at program start.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Include with each output generated, the difference between the value to be printed and this constant (in hex if you like), which actually is the unique value of time elapsed since program start.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;That should serve the purpose? This is not a generalized algorithm, though.&lt;/p&gt;&#xA;" OwnerUserId="7176" LastActivityDate="2011-12-29T05:17:41.520" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="9527" PostTypeId="1" CreationDate="2011-12-29T13:19:11.700" Score="20" ViewCount="2225" Body="&lt;p&gt;This is a restatement of an &lt;a href=&quot;https://cstheory.stackexchange.com/questions/9507/permutation-game&quot;&gt;earlier question&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider the following &lt;a href=&quot;http://en.wikipedia.org/wiki/Impartial_game&quot; rel=&quot;nofollow noreferrer&quot;&gt;impartial&lt;/a&gt; &lt;a href=&quot;http://en.wikipedia.org/wiki/Perfect_information&quot; rel=&quot;nofollow noreferrer&quot;&gt;perfect information&lt;/a&gt; game between two players, Alice and Bob.  The players are given a permutation of the integers 1 through n.  At each turn, if the current permutation is increasing, the current player loses and the other player wins; otherwise, the current player removes one of the numbers, and play passes to the other player.  Alice plays first.  For example:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;(1,2,3,4) — Bob wins immediately, by definition.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;(4,3,2,1) — Alice wins after three turns, no matter how anyone plays.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;(2,4,1,3) — Bob can win on his first turn, no matter how Alice plays.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;(1,3,2,4) — Alice wins immediately by removing the 2 or the 3; otherwise, Bob can win on his first turn by removing the 2 or the 3.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;(1,4,3,2) — Alice &lt;em&gt;eventually&lt;/em&gt; wins if she takes the 1 on her first turn; otherwise, Bob can win on his first turn by &lt;em&gt;not&lt;/em&gt; removing the 1.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Is there a polynomial-time algorithm to determine which player wins this game from a given starting permutation, assuming &lt;a href=&quot;http://en.wikipedia.org/wiki/Solved_game#Perfect_play&quot; rel=&quot;nofollow noreferrer&quot;&gt;perfect play&lt;/a&gt;?  More generally, because this is a standard impartial game, every permutation has a &lt;a href=&quot;http://en.wikipedia.org/wiki/Sprague%E2%80%93Grundy_theorem&quot; rel=&quot;nofollow noreferrer&quot;&gt;Sprague–Grundy value&lt;/a&gt;; for example, (1,2,4,3) has value &lt;a href=&quot;http://en.wikipedia.org/wiki/Star_%28game_theory%29&quot; rel=&quot;nofollow noreferrer&quot;&gt;*1&lt;/a&gt; and (1,3,2) has value *2.  How hard is it to compute this value?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The obvious backtracking algorithm runs in O(n!) time, although this can be reduced to $O(2^n poly(n))$ time via dynamic programming.&lt;/p&gt;&#xA;" OwnerUserId="111" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2012-10-24T18:32:32.853" Title="Permutation game redux" Tags="&lt;gt.game-theory&gt;&lt;combinatorial-game-theory&gt;" AnswerCount="4" CommentCount="7" FavoriteCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="9529" PostTypeId="1" AcceptedAnswerId="9531" CreationDate="2011-12-29T15:37:07.947" Score="0" ViewCount="183" Body="&lt;p&gt;Please accept my apologies ahead of time since I fear that this isn't an adequate question for cstheory.  I plan on releasing my ideas to get feedback, but I don't know if my target audience will include state-of-the-art reaseachers.  I'd like to know more about the research that is already out there concerning this question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Essentially, what I think I've discovered is an oracle.  The oracle must be precomputed, which will probably take an exponential amount of time.  However, once computed, it can essentially answer any question about 3-SAT fast.  In other words, it can then solve any 3-SAT problem in polynomial time/space.  I'm wondering what has been researched in this scenario.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;MY ORIGINAL QUESTION&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As an armchair cstheory enthusiast, I'm now working on a way to preprocess 3-SAT.  I'm wondering how this relates to research on oracles and related ideas.  Please let me briefly describe my method, or conjectured approach.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;We take a given problem size.  Essentially we have exactly $2^n$ clauses and $v$ variables.  (Note that problems smaller than this can automatically be solved, too.)  After we know the maximum amount of clauses, we can preprocess information for every possible 3-SAT clause, given the information just stated.  This may take an exponential amount of information, even for each individual clause.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, once the information is preprocessed, we can solve 3-SAT fast.  In other words, using this pre-computed database, which is polynomial in size, we can determine satisfiability for a particular instance as well as generate a certificate in polynomial time and space.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So if I'm correct, we use an oracle and we can ensure that 3-SAT can be solved in polynomial time and space.  However, the oracle itself takes a possibly exponential amount of time and space to compute.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is where in the literature can I find information concerning pre-computing information (like I have described) to solve NP-hard and NP-complete problems in polynomial time and space?  What is known about this approach?  I don't mean to be vague, but I'm simply trying to find out what has been considered about an approach like this in the past.  I plan on eventually releasing my ideas if they are interesting, but I would like to know if they have already been researched.&lt;/p&gt;&#xA;" OwnerUserId="1549" LastEditorUserId="1800" LastEditDate="2011-12-30T04:34:19.430" LastActivityDate="2011-12-30T04:34:19.430" Title="What is known about NP hard problems that access preprocessed information?" Tags="&lt;cc.complexity-theory&gt;&lt;sat&gt;&lt;oracles&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9531" PostTypeId="2" ParentId="9529" CreationDate="2011-12-29T19:11:32.103" Score="5" Body="&lt;p&gt;Precomputation is often related to the class &lt;a href=&quot;http://en.wikipedia.org/wiki/P/poly&quot;&gt;P&lt;/a&gt;&lt;a href=&quot;http://qwiki.stanford.edu/index.php/Complexity_Zoo%3aP#ppoly&quot;&gt;/poly&lt;/a&gt; which captures problems solvable in polynomial time by Turing machines with access to some poly-sized &lt;em&gt;advice string&lt;/em&gt;, that only depends on the &lt;em&gt;size&lt;/em&gt; of the instance, but not the instance itself. The &lt;a href=&quot;http://en.wikipedia.org/wiki/Karp%E2%80%93Lipton_theorem&quot;&gt;Karp-Lipton theorem&lt;/a&gt; states, that NP is not contained in P/poly, unless the PH collapses to the second level, which is considered unlikely by many complexity theorists.&lt;/p&gt;&#xA;" OwnerUserId="121" LastActivityDate="2011-12-29T19:11:32.103" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="9532" PostTypeId="1" AcceptedAnswerId="10039" CreationDate="2011-12-29T23:49:48.100" Score="15" ViewCount="1341" Body="&lt;p&gt;Consider the following problem:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Input&lt;/strong&gt;: a hyperplane $H = \{ \mathbf{y} \in \mathbb{R}^n: \mathbf{a}^T\mathbf{y} = {b}\}$, given by a vector $\mathbf{a} \in \mathbb{Z}^n$ and $b \in \mathbb{Z}$ in standard binary representation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Output&lt;/strong&gt;: $\mathbf{x} \in \mathbb{Z}^n = \arg \min d( \mathbf{x}, H)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the above notation $d(\mathbf{x}, S)$ for $\mathbf{x} \in \mathbb{R}^n$ and $S \subseteq \mathbb{R}^n$ is defined as $d(\mathbf{x}, S) = \min_{\mathbf{y} \in S}{\|\mathbf{x} - \mathbf{y}}\|_2$, i.e. it's the natural euclidean distance between a set of points and a single point. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In words, we're given a hyperplane and we're looking for the point in the integer lattice that is closest to the hyperplane. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The question is:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What is the complexity of this problem?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Note that polynomial time here will mean polynomial in the bitsize of the input. As far as I can see the problem is interesting even in two dimensions. Then it's not hard to see that it's enough to consider only those solutions $(x_1, x_2)$ with $0\leq x_1 \leq |a_1|/\mathsf{gcd}(a_1, a_2)$ but that's superpolynomially many options.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A closely related problem is solving a linear diophantine equation, i.e. finding an $\mathbf{x} \in \mathbb{Z}^n$ such that $\mathbf{a}^T\mathbf{x} = b$ or determining that no such $\mathbf{x}$ exists. So, solving a linear diophantine equation is equivalent to determining whether there exists a solution of value 0 to the problem I defined above. A linear diophantine equation can be solved in polynomial time; in fact even systems of linear diophantine equations can be solved in polynomial time by computing the &lt;a href=&quot;http://planetmath.org/?method=l2h&amp;amp;from=objects&amp;amp;name=GausssAlgorithmForPrincipalIdealDomains&amp;amp;op=getobj&quot; rel=&quot;nofollow&quot;&gt;Smith normal form&lt;/a&gt; of the matrix $\mathbf{A}$ giving the system. There are polynomial time algorithms that compute the Smith normal form of an integer matrix, the first one given by &lt;a href=&quot;http://epubs.siam.org/sicomp/resource/1/smjcat/v8/i4/p499_s1?isAuthorized=no&quot; rel=&quot;nofollow&quot;&gt;Kannan and Bachem&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To get intuition about linear diophantine equations we can consider the two dimensional case again. Clearly, there is no exact solution if $\mathsf{gcd}(a_1, a_2)$ does not divide $b$. If it does divide $b$, then you can run the extended GCD algorithm to get two numbers $s$ and $t$ such that $a_1s + a_2t = \mathsf{gcd}(a_1, a_2)$ and set $x_1 = sb/\mathsf{gcd}(a_1, a_2)$ and $x_2 = tb/\mathsf{gcd}(a_1, a_2)$. Now you can see how the approximate version is different: when $\mathsf{gcd}(a_1, a_2)$ does not divide $b$, how do we find integers $x_1, x_2$ such that distance between $(x_1, x_2)$ and the line $a_1x_1 + a_2x_2 =b$ is minimized?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem to me sounds a little like the closest vector problem in lattices, but I do not see an obvious reduction from either problem to the other.&lt;/p&gt;&#xA;" OwnerUserId="4896" LastEditorUserId="4896" LastEditDate="2012-02-01T20:48:31.553" LastActivityDate="2012-02-02T05:51:03.530" Title="Solving a linear diophantine equation approximately" Tags="&lt;cc.complexity-theory&gt;&lt;optimization&gt;&lt;linear-algebra&gt;&lt;integer-lattice&gt;" AnswerCount="1" CommentCount="7" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="9533" PostTypeId="2" ParentId="9527" CreationDate="2011-12-30T00:23:04.047" Score="7" Body="&lt;p&gt;The &quot;permutation game&quot; is isomorphic to the following game:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Disconnect.&lt;/strong&gt; Players alternately remove vertices from a graph $G$.  The player that produces a fully disconnected graph (i.e., a graph with no edges) is the winner.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The graph $G_{\pi}$ corresponding to a particular initial permutation $\pi\in S_n$ contains just those edges $(i,j)$ for which $i-j$ and $\pi(i)-\pi(j)$ have opposite signs.  That is, each pair of numbers in the &lt;em&gt;wrong&lt;/em&gt; order in the permutation is associated with an edge.  Clearly the allowed moves are isomorphic to those in the permutation game (remove a number = remove a node), and the winning conditions are isomorphic as well (no pairs in descending order = no edges remaining).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A complementary view is obtained by considering playing a &quot;dual&quot; game on the graph complement $G^{c}_\pi = G_{R(\pi)}$, which contains those edges $(i,j)$ for which $i$ and $j$ are in the &lt;em&gt;correct&lt;/em&gt; order in the permutation.  The dual game to Disconnect is:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Reconnect.&lt;/strong&gt; Players alternately remove vertices from a graph $G$.  The player that produces a complete graph is the winner.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Depending on the particular permutation, one of these games may seem simpler than the other to analyze.  The advantage of graph representation is that it is clear that disconnected components of the graph are separate games, and so one hopes for some reduction in complexity.  It also makes the symmetries of the position more apparent.  Unfortunately, the winning conditions are non-standard... the permutation game will always end before all moves are used up, giving it something of a &lt;em&gt;misère&lt;/em&gt; character.  In particular, the nim-value cannot be calculated as the nim-sum (binary XOR) of the nim-values of the disconnected components.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;For Disconnect, it is not hard to see that for any graph $G$ and any even $n$, the game $G \cup \bar{K}_n$ is equivalent to $G$ (where $\bar{K}_n$ is the edgeless graph on $n$ vertices).  To prove it, we need to show that the disjunctive sum $G + G\cup\bar{K}_n$ is a second-player win.  The proof is by induction on $|G|+n$.  If $G$ is edgeless, then the first player loses immediately (both games are over).  Otherwise, the first player can move in either $G$, and the second player can copy his move in the other one (reducing to $G&amp;#39; + G&amp;#39;\cup \bar{K_n}$ with $|G'|=|G|-1$); or, if $n\ge 2$, the first player can move in the disconnected piece, and the second player can do the same (reducing to $G + G\cup\bar{K}_{n-2}$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This shows that any graph $G$ is equivalent to $H \cup K_p$, where $H$ is the part of $G$ with no disconnected vertices, and $p=0$ or $1$ is the &lt;em&gt;parity&lt;/em&gt; of the number of disconnected vertices in $G$.  All games in an equivalence class have the same nim-value, and moreover, the equivalence relation respects the union operation: if $G \sim H \cup K_p$ and $G&amp;#39; \sim H&amp;#39; \cup K_{p&amp;#39;}$ then $G \cup G&amp;#39; \sim (H \cup H&amp;#39;)\cup K_{p\oplus p&amp;#39;}$.  Moreover, one can see that the games in $[H \cup K_0]$ and $[H \cup K_1]$ have different nim-values unless $H$ is the null graph: when playing $H + H \cup K_1$, the first player can take the isolated vertex, leaving $H+H$, and then copy the second player's moves thereafter. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I do not know any related decomposition results for Reconnect.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Two special types of permutations correspond to particularly simple heap games.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;The first is an &lt;em&gt;ascending run of descents&lt;/em&gt;, e.g., $32165487$.  When $\pi$ takes this form, the graph $G_{\pi}$ is a union of disjoint cliques, and the game of Disconnect reduces to a game on heaps: players alternately remove a single bean from a heap &lt;em&gt;until all heaps have size $1$&lt;/em&gt;.&lt;/li&gt;&#xA;&lt;li&gt;The second is a &lt;em&gt;descending run of ascents&lt;/em&gt;, e.g., $78456123$.  When $\pi$ takes this form, the graph $G^{c}_{\pi}$ is a union of disjoint cliques, and the game of Reconnect reduces to a game on heaps: players alternately remove a single bean from a heap &lt;em&gt;until there is only one heap left&lt;/em&gt;.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;A little thought shows that these two different games on heaps (we can call them &lt;strong&gt;1-Heaps&lt;/strong&gt; and &lt;strong&gt;One-Heap&lt;/strong&gt;, at some risk of confusion) are, in fact, themselves isomorphic.  Both can be represented by a game on a Young diagram (as initially proposed by @domotorp) in which players alternate removing a lower-right square until only a single row is left.  This is obviously the same game as 1-Heaps when columns correspond to heaps, and the same game as One-Heap when rows correspond to heaps.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A key element of this game, which extends to Disconnect and Reconnect, is that the duration is related to the final game state in a simple way.  When it is your turn, you will win if the game has an odd number of moves remaining, including the one you're about to make.  Since a single square is removed each move, this means you want the number of squares remaining at the end of the game to have the opposite parity that it has now.  Moreover, the number of squares will have the same parity on all of your turns; so you know from the outset what parity you want the final count to have.  We can call the two players Eve and Otto, according to whether the final count must be even or odd for them to win.  Eve always moves in states with odd parity and produces states with even parity, and Otto is the opposite.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In his answer, @PeterShor gives a complete analysis of One-Heap.  Without repeating the proof, the upshot is the following:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Otto likes $1$-heaps and $2$-heaps, and can tolerate a single larger heap.  He wins if he can make all heap sizes except one $\le 2$, at least without giving Eve an immediate win of the form $(1,n)$.  An optimal strategy for Otto is to always take from the second-largest heap except when the state is $(1,1,n&amp;gt;1)$, when he should take from the $n$.  Otto will lose if there are too many beans in big heaps to start with.&lt;/li&gt;&#xA;&lt;li&gt;Eve dislikes $1$-heaps.  She wins if she can make all heap sizes $\ge 2$.  An optimal strategy for Eve is to always take from a $1$-heap, if there are any, and never take from a $2$-heap.  Eve will lose if there are too many $1$-heaps to start with.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;As noted, this gives optimal strategies for 1-Heaps as well, although they are somewhat more awkward to phrase (and I may well be making an error in primary-to-dual &quot;translation&quot;).  In the game of 1-Heaps:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Otto likes one or two large heaps, and can tolerate any number of $1$-heaps.  He wins if he can make all but the two largest heaps be $1$-heaps, at least without giving Eve an immediate win of the form $(1,1,\dots,1,2)$.  An optimal strategy for Otto is to always take from the third-largest heap, or from the smaller heap when there are only two heaps.&lt;/li&gt;&#xA;&lt;li&gt;Eve dislikes a gap between the largest and second-largest heaps.  She wins if she can make the two largest heaps the same size.  An optimal strategy for Eve is to always take from the largest heap, if it is unique, and never if there are exactly two of the largest size.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;As @PeterShor notes, it isn't clear how (or if) these analyses could be extended to the more general games of Disconnect and Reconnect.&lt;/p&gt;&#xA;" OwnerUserId="3183" LastEditorUserId="3183" LastEditDate="2012-01-10T06:15:47.047" LastActivityDate="2012-01-10T06:15:47.047" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="9537" PostTypeId="1" AcceptedAnswerId="9542" CreationDate="2011-12-30T07:38:20.677" Score="12" ViewCount="769" Body="&lt;p&gt;Approximation algorithms might give output up to some constant factor. This is a bit less satisfying than exact algorithms.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, constant factors are ignored in time complexity.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So I wonder if the following trick is possible or was used, to solve some problem $B \circ A$:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Use an approximation algorithm solving problem $A$ to get solution $S$ within constant factor;&lt;/li&gt;&#xA;&lt;li&gt;Use an exact algorithm, solving problem $B$, whose runtime depends on weight of $S$ but works as long as $S$ is a correct solution.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;This way the approximation is a &quot;subprocedure&quot; of an exact algorithm, and the constant factor lost in step 1 is swallowed in step 2.&lt;/p&gt;&#xA;" OwnerUserId="1886" LastEditorUserId="-1" LastEditDate="2012-01-01T19:51:16.657" LastActivityDate="2020-08-12T20:42:39.427" Title="Approximation algorithms used in exact algorithms" Tags="&lt;ds.algorithms&gt;&lt;big-list&gt;&lt;approximation-algorithms&gt;" AnswerCount="4" CommentCount="6" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="9539" PostTypeId="2" ParentId="9527" CreationDate="2011-12-30T11:58:50.690" Score="3" Body="&lt;p&gt;Edit 5th of Jan: In fact the One Heap Game described below is a special case of the problem, i.e. when the numbers follow each other in a specific way such that the first group is bigger than the second group which is bigger than the third etc. and the numbers in each group are increasing. E.g. 8, 9, 4, 5, 6, 7, 2, 3, 1 is such a permutation. So I propose to solve this special case first.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Disclaimer: I no longer claim that the below proof is correct, see e.g. the comment of Tsuyoshi which shows that deleting a number from a permutation will give a diagram not obtainable by deleting a square from the diagram of the permutation. I left the answer here to show that this approach does not work, plus since it contains another simple game.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The game has a very simple other formulation thanks to Young Tableaux. I am sure that it can be analyzed from there as other games and it will yield a linear time algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First define the following game on Young Diagrams: At each turn, if the current diagram is horizontal (all squares in one line), the current player loses and the other player wins; otherwise, the current player removes one of the bottom-right squares, and play passes to the other player.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now order the sequence of numbers into a Young Tableaux. The main claim is that the winner of the original game is the same as the winner as the diagram game starting with this shape. To see this, notice that whenever the players delete a number, the diagram of the new sequence can be achieved by deleting a bottom-right square of the diagram. Moreover, any such diagram can be achieved by deleting the number from the respective bottom-right square. These statements follow from standard Young Tableaux theory.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Although this diagram game is simple enough, it is trivially equivalent to the following game, which seems more standard:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One Heap Game: The players are given some heaps with some pebbles in each. At each turn, if their is only one heap left, the current player loses and the other player wins; otherwise, the current player removes a pebble from a heap, and play passes to the other player.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If there is a simple solution to the heap game (and I strongly believe there is one) we also get a solution to the original game: Just put the sequence in a Young Tableaux, and transform its diagram into heaps.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Unfortunately I do not see which heap positions are winning/how to determine the Sprague–Grundy values. I checked a few cases by hand, and the following are the losing positions with at most 6 pebbles:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;one heap; (1,1,1); (2,2); (3,1,1); (2,1,1,1); (1,1,1,1,1); (4,2); (3,3); (2,2,2).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Anyone can solve this game?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit: Peter Shor can, see his answer!&lt;/p&gt;&#xA;" OwnerUserId="419" LastEditorUserId="419" LastEditDate="2012-01-11T06:37:54.623" LastActivityDate="2012-01-11T06:37:54.623" CommentCount="18" ContentLicense="CC BY-SA 3.0" />
  <row Id="9540" PostTypeId="2" ParentId="9537" CreationDate="2011-12-30T12:53:39.237" Score="12" Body="&lt;p&gt;One example is related to &lt;a href=&quot;http://en.wikipedia.org/wiki/Tree_decomposition&quot;&gt;tree decompositions&lt;/a&gt; and graphs of small treewidth.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Typically, &lt;em&gt;if&lt;/em&gt; we are given a tree decomposition, it is fairly straightforward to apply dynamic programming to solve a given graph problem $B$ optimally. The running time depends on the width of the tree decomposition.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, usually we are not given a tree decomposition, but we need to find it. To solve problem $B$ as fast as possible, we would like to find a tree decomposition of the smallest possible width – now this is our problem $A$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We could try to solve problem $A$ exactly, but then we might waste too much time in part $A$. One possible approach is to use an approximation algorithm for part $A$. Then part $A$ is faster, at a cost of worse running time guarantees in part $B$.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Another example is related to compilers and &lt;a href=&quot;http://en.wikipedia.org/wiki/Register_allocation&quot;&gt;register allocation&lt;/a&gt;. Assume that we have implemented an exact algorithm that solves a problem $B$ in polynomial time. The running time of the algorithm depends, in part, on how well the compiler managed to assign variables onto CPU registers – this is our problem $A$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The solution of problem $B$ is correct even if the compiler uses an approximation algorithm to solve problem $A$; however, an approximation factor in problem $A$ affects the running time of algorithm $B$.&lt;/p&gt;&#xA;" OwnerUserId="74" LastEditorUserId="74" LastEditDate="2011-12-30T13:07:04.487" LastActivityDate="2011-12-30T13:07:04.487" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9541" PostTypeId="2" ParentId="9537" CreationDate="2011-12-30T13:36:47.350" Score="9" Body="&lt;p&gt;An example of an approximation algorithm that converges to the exact solution would be the Ellipsoid algorithm for solving LPs - if the coefficients are rationals, then one can compute a minimum distance between two vertices of the feasible polytope. Now, the ellipsoid algorithm computes repeatedly a smaller and smaller elliposoid that must contain the optimal solution. Once the elliposoid is small enough to contain only such a single vertex, you essentially found the optimal vertex. This is why LP is weakly polynomial.&lt;/p&gt;&#xA;&lt;p&gt;As for an example closer to your outline - consider Matousek's algorithm for finding the smallest disk containing &lt;span class=&quot;math-container&quot;&gt;$k$&lt;/span&gt; points in the plane. The algorithm first finds a 2-approixmation (in the radius), break the plane into appropriate grid, and the solves the problem inside each grid cluster exactly, using a slow algorithm.&lt;/p&gt;&#xA;&lt;p&gt;Finally, going further a field - many algorithm that follows the alteration technique (take a random sample - and then do some fixups to get what you want) falls into such a framework. One cute example is the algorithm for computing the median using random sampling (see the book by Motwani and Raghavan). There are many such examples - arguably many of the randomized incremental algorithms in Computational Geometry falls into this framework.&lt;/p&gt;&#xA;" OwnerUserId="9594" LastEditorUserId="9594" LastEditDate="2020-08-12T20:42:39.427" LastActivityDate="2020-08-12T20:42:39.427" CommentCount="0" ContentLicense="CC BY-SA 4.0" />
  <row Id="9542" PostTypeId="2" ParentId="9537" CreationDate="2011-12-30T14:45:19.007" Score="13" Body="&lt;p&gt;An example from the parameterized complexity is a &lt;a href=&quot;http://en.wikipedia.org/wiki/Kernelization&quot;&gt;kernelization&lt;/a&gt; for the &lt;a href=&quot;http://en.wikipedia.org/wiki/Vertex_cover&quot;&gt;vertex cover problem&lt;/a&gt; using a theorem of Nemhauser and Trotter.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the minimum vertex cover problem, we are given an undirected graph G, and we need to find a vertex cover of G of minimum size.  A vertex cover of an undirected graph is a vertex subset that touches all edges.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is an exact algorithm that uses an approximation at the first phase.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Phase 1: Set up &lt;a href=&quot;http://en.wikipedia.org/wiki/Vertex_cover#ILP_formulation&quot;&gt;the integer linear programming formulation of the minimum vertex cover problem&lt;/a&gt;.  It's known (or easy to show) that a basic optimal solution of the linear programming relaxation is half-integral (i.e., every coordinate is either 0, 1, or 1/2).  Such a basic optimal solution can be found by a usual polynomial-time algorithm for linear programming (or in this special case, we can formulate it as a network flow problem, so we can solve it combinatorially in polynomial time).  Having such a basic optimal solution, we round it up to obtain a feasible solution to the original integer linear programming problem.  Let S be the corresponding vertex subset.  It's good to note that S is a 2-approximation of the given minimum vertex cover instance.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Phase 2: Find a minimum vertex cover in the subgraph induced by S (for example by an exhaustive search).  A theorem by Nemhauser and Trotter states that this subgraph contains an optimal solution of the original input graph.  So, the correctness of this approach follows.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You may consult &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0198566077&quot;&gt;a book by Niedermeier on fixed-parameter algorithms&lt;/a&gt; for this algorithm.&lt;/p&gt;&#xA;" OwnerUserId="2955" LastActivityDate="2011-12-30T14:45:19.007" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9543" PostTypeId="1" CreationDate="2011-12-30T16:27:45.087" Score="6" ViewCount="293" Body="&lt;p&gt;We are given a set of $n$ positive integers.&#xA;We assume all of them are bounded by a polynomial of $n$.&#xA;We would like to find a subset $S$ of these $n$ numbers such that&#xA;for any $T_1,T_2\subseteq S$, the sum of numbers in $T_1$ is not equal to that of $T_2$.&#xA;We want the size of $S$ is maximized.&#xA;Clearly, the problem is in NP and can be solved in $n^{O(\log n)}$ time (Since $|S|\leq O(\log n)$).&#xA;Is this problem polynomial time solvable?&#xA;Is this problem studied before? Any help is appreciated. &lt;/p&gt;&#xA;" OwnerUserId="383" LastActivityDate="2011-12-30T16:27:45.087" Title="Find the maximum set whose subset sum is unique for every of its subset" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;nt.number-theory&gt;" AnswerCount="0" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9546" PostTypeId="1" AcceptedAnswerId="9551" CreationDate="2011-12-30T18:23:47.000" Score="1" ViewCount="158" Body="&lt;p&gt;If I am given an optimization problem $L$, and a problem instance of $L$, which is of size $(m,n)$ (i.e. it depends on more than one parameter) then what does it mean to have, let's say, a linear-approximation algorithm?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Do I then mention whether it is linear in $m$ or $n$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand I might be allowed to set $m$ equal to $n$ and thereby I would be obsolete to mention in which parameter the problem is linearly approximated.&lt;/p&gt;&#xA;" OwnerUserId="7785" LastEditorUserId="-1" LastEditDate="2012-01-01T19:51:21.820" LastActivityDate="2012-01-01T19:51:21.820" Title="approximating problems described by multiple parameters" Tags="&lt;ds.algorithms&gt;&lt;approximation-algorithms&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9551" PostTypeId="2" ParentId="9546" CreationDate="2011-12-31T16:19:19.230" Score="5" Body="&lt;p&gt;This is not an answer, but rather a personal experience.  I'll post it as an answer since it's too long to be a comment.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If I would be an author, I wouldn't use the expression like &quot;linear-approximation&quot; since it's confusing.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I haven't seen an expression like &quot;linear-approximation&quot; or &quot;logarithmic-approximation&quot; for referring to approximation ratios.  For example, the greedy algorithm for &lt;a href=&quot;http://en.wikipedia.org/wiki/Set_cover_problem&quot; rel=&quot;nofollow&quot;&gt;the minimum set cover problem&lt;/a&gt; is an $H(n)$-approximation algorithm, where $H(n)$ is the $n$-th Harmonic number, but I haven't seen it's called a logarithmic-approximation algorithm.  Here, $n$ is the size of a universe, and this should be explained in the definition of the problem.  Please note that $n$ is not the input size.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There's one exception.  In &lt;a href=&quot;http://www.csc.kth.se/~viggo/approxbook/&quot; rel=&quot;nofollow&quot;&gt;the book &quot;Complexity and Approximation&quot; by Ausiello, Crescenzi, Gambosi, Kann, Marchetti-Spaccamela, and Protasi&lt;/a&gt;, I can find expressions like log-APX, poly-APX and exp-APX.  For example, log-APX refers to the class of NP optimization problems that have an $O(\log n)$-approximation algorithm, where $n$ is the input size.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some authors use &quot;a linear approximation algorithm&quot; to mean a linear-time approximation algorithm.  I feel this is still confusing, and I would write linear-time approximation.  People tend to omit &quot;time&quot;, and for example when they write &quot;a polynomial algorithm&quot;, they often mean a polynomial-time algorithm.&lt;/p&gt;&#xA;" OwnerUserId="2955" LastEditorUserId="2955" LastEditDate="2012-01-01T08:46:48.513" LastActivityDate="2012-01-01T08:46:48.513" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="9552" PostTypeId="2" ParentId="9537" CreationDate="2011-12-31T17:50:05.567" Score="4" Body="&lt;p&gt;Many &lt;b&gt;output-sensitive&lt;/b&gt; algorithms employ this technique. For example, here is a simple problem on which this technique can be used:&lt;/p&gt;&#xA;&lt;p&gt;&lt;b&gt;Problem&lt;/b&gt;. You are given an array A[1..&lt;i&gt;n&lt;/i&gt;] in which each element is atmost &lt;i&gt;k&lt;/i&gt; positions away from the position it would have been in if A was sorted. &#xA;&lt;p&gt;For example, A[1..7] shown below could be an input array for &lt;i&gt;k&lt;/i&gt; = 2. &lt;br&gt;&lt;br&gt;&#xA;&lt;img src=&quot;https://i.stack.imgur.com/WrNjt.jpg&quot;&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;Design an algorithm to sort the array in O(&lt;i&gt;n&lt;/i&gt; log &lt;i&gt;k&lt;/i&gt;) time, assuming &lt;i&gt;k&lt;/i&gt; is unknown.&lt;/p&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;i&gt; Problem Source: &lt;a href=&quot;https://www.algomuse.net&quot; rel=&quot;nofollow noreferrer&quot;&gt;Algo Muse&lt;/a&gt; Archive.&lt;/i&gt;&lt;/p&gt;&#xA;" OwnerUserId="547" LastEditorUserId="547" LastEditDate="2020-08-05T16:22:24.513" LastActivityDate="2020-08-05T16:22:24.513" CommentCount="0" ContentLicense="CC BY-SA 4.0" />
  <row Id="9554" PostTypeId="2" ParentId="6842" CreationDate="2012-01-01T01:26:46.867" Score="2" Body="&lt;p&gt;Partial answer, addressing only point #2:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;2 - in my first analysis, it's seems like DAG iso. should be reducible&#xA;  to unification, yet unification is efficient and DAG iso. is not. What&#xA;  am i missing ?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Are you sure  DAG isomorphism is inefficient?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Rooted&lt;/em&gt; DAG isomorphism is linear, since it can be computed with a depth-first search.  Using DFS for general DAG isomorphism, then, should only take O(n^2) (by fixing an arbitrary root in one graph, and trying all possible roots in the second).&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;i am of course assuming that every DAG can be tranformed &quot;efficently&quot;&#xA;  into a valid set of first order logic &quot;expression&quot;...is that correct?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I'm pretty sure.  For example: if we assign each node to a unique variable, then each edge can be expressed as a clause in a 2-CNF expression.  The conversion should be linear in the number of edges.&lt;/p&gt;&#xA;" OwnerUserId="7793" LastActivityDate="2012-01-01T01:26:46.867" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="9555" PostTypeId="1" AcceptedAnswerId="9558" CreationDate="2012-01-01T03:44:35.143" Score="18" ViewCount="1797" Body="&lt;p&gt;I see a lot of research on &lt;a href=&quot;https://en.wikipedia.org/wiki/Hypercomputation&quot;&gt;hypercomputation&lt;/a&gt; in the 1990's, but in more recent years there seems to be little work on the topic. Is it true that research in this area has died down? If so, what could be the reasons for it? Was this area convincingly shown to be unpromising?&lt;/p&gt;&#xA;" OwnerUserId="7795" LastEditorUserId="-1" LastEditDate="2012-01-01T20:46:36.830" LastActivityDate="2014-12-25T20:17:04.133" Title="Why has hypercomputation research died down?" Tags="&lt;reference-request&gt;&lt;computability&gt;&lt;hypercomputation&gt;" AnswerCount="3" CommentCount="3" FavoriteCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="9556" PostTypeId="2" ParentId="9555" CreationDate="2012-01-01T04:30:56.197" Score="2" Body="&lt;p&gt;I don't think this is true. Searching &lt;a href=&quot;http://arxiv.org/find/all/1/all%3a+hypercomputation/0/1/0/all/0/1&quot; rel=&quot;nofollow&quot;&gt;Arxiv for papers on hypercomputation&lt;/a&gt; gets a bunch of hits. &lt;/p&gt;&#xA;" OwnerUserId="5385" LastEditorUserId="5385" LastEditDate="2012-01-02T07:11:50.227" LastActivityDate="2012-01-02T07:11:50.227" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="9557" PostTypeId="2" ParentId="9301" CreationDate="2012-01-01T19:39:06.900" Score="4" Body="&lt;p&gt;Unfortunately, the increase in density of targets isn't as great as you think; as you note there are $B$ multiples of $A$ less than $n$ and $A$ multiples of $B$ less than $n$.  This gives you $A+B$ 'targets' to hit in an interval of size $n$.  Picking $B\gt A$ for clarity, this means there are less than $2B$ total targets to hit, giving a probability of $\leq {2B\over n}$ for each shot to hit one, and meaning that it will take on average $\geq {n\over 2B} = \Theta(A)$ shots before you find a number $t$ with $\mathrm{GCD}(t,n)\gt 1$; this is no faster fundamentally than testing all the numbers up to $A$ (i.e., the smallest factor of $n$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, similar statistical ideas were used for some of the first real algorithmic speedups for factoring; in particular, the &lt;a href=&quot;http://en.wikipedia.org/wiki/Pollard%27s_rho_algorithm_for_logarithms&quot; rel=&quot;nofollow&quot;&gt;Pollard $\rho$ method&lt;/a&gt; takes avantage of an instance of the &lt;a href=&quot;http://en.wikipedia.org/wiki/Birthday_problem&quot; rel=&quot;nofollow&quot;&gt;Birthday Paradox&lt;/a&gt; to factor $n=A\cdot B$ in time proportional to $\sqrt{A}$ rather than time proportional to $A$.&lt;/p&gt;&#xA;" OwnerUserId="1941" LastActivityDate="2012-01-01T19:39:06.900" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9558" PostTypeId="2" ParentId="9555" CreationDate="2012-01-01T20:37:51.697" Score="19" Body="&lt;p&gt;It would be better if you specified what you mean exactly by hyper-computation and gave evidence for why you think it has &quot;died down&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In any case, assuming that you are talking about &lt;strong&gt;computation of functions over natural numbers&lt;/strong&gt; (and finite strings) (since I think it is clear that models for higher type computation is a very active area, e.g. &lt;a href=&quot;http://cca-net.de/&quot;&gt;CCA&lt;/a&gt;) and &lt;strong&gt;models of computation not equivalent to computability defined by Turing machines&lt;/strong&gt;, I don't think the claim is correct, for example see CiE'05 and CiE'11. Also see the &lt;a href=&quot;https://en.wikipedia.org/wiki/Hypercomputation#Criticism&quot;&gt;criticisms&lt;/a&gt; made against the claim that hyper-computation is something new:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Martin Davis, &quot;&lt;a href=&quot;http://research.cs.queensu.ca/home/akl/cisc879/papers/PAPERS_FROM_APPLIED_MATHEMATICS_AND_COMPUTATION/Special_Issue_on_Hypercomputation/davis%5B1%5D.pdf&quot;&gt;Why there is no such discipline as hypercomputation&lt;/a&gt;&quot;, 2006.&lt;/li&gt;&#xA;&lt;li&gt;Martin Davis, &quot;T&lt;a href=&quot;http://www.maths.leeds.ac.uk/~pmt6sbc/docs/davis.myth.pdf&quot;&gt;he Myth of Hypercomputation&lt;/a&gt;&quot;, in &quot;Alan Turing: Life and Legacy of a Great Thinker&quot;, 2004.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;If you are interested, there is also some discussion on &lt;a href=&quot;http://www.cs.nyu.edu/mailman/listinfo/fom&quot;&gt;FOM mailing list&lt;/a&gt; starting by &lt;a href=&quot;https://encrypted.google.com/search?q=site%3Acs.nyu.edu+fom+%22The+Myth+of+Hypercomputation%22&amp;amp;nfpr=1&quot;&gt;Timothy Chow's email&lt;/a&gt; about Martin Davis' article.&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2012-01-01T22:37:28.850" LastActivityDate="2012-01-01T22:37:28.850" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="9559" PostTypeId="1" CreationDate="2012-01-02T08:11:25.330" Score="1" ViewCount="144" Body="&lt;p&gt;I seek an algorithm to optimise the process of inlinling. Is there such an algorithm, or set of such algorithms? Is there an efficient functional algorithm?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To be specific assume we have an Algol like language with nested functions. There are two relevant graphs: the static nesting graph, and the call graph. Interestingly I was unable to find any description or papers regarding the relation of these (though such must exist). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The primary goal is to inline all functions, with recursions expanded once (except for self calls), with minimal rescanning.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I must add here one of the key problems. When a function is inlined into another you glue in the code with parameters replaced by arguments. But that is not enough, you must also clone all the children of the function being inlined, and their descendants, and add them as children of the function into which you're inlining. If you use simple renaming this makes it exceedingly difficult to prevent infinite expansion of recursive calls, since any trail you're keeping won't refer to these cloned children. The cloned children also have parameter replacement performed (including specialisation of type variables).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The algorithm I am using works and always terminates but is neither optimal, nor does it meet the design goal: I found it necessary to add a constraint that prevents sibling recursions being expanded (only recursions to children are expanded).&lt;/p&gt;&#xA;" OwnerUserId="7800" LastEditorUserId="7800" LastEditDate="2012-01-02T08:23:54.050" LastActivityDate="2012-01-02T08:23:54.050" Title="Optimal inlining algorithm" Tags="&lt;ds.algorithms&gt;&lt;graph-algorithms&gt;&lt;compilers&gt;" AnswerCount="0" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="9560" PostTypeId="2" ParentId="8481" CreationDate="2012-01-02T10:20:24.413" Score="4" Body="&lt;p&gt;The problem I'm wondering about was tackled long ago (1977) by Douglas Comer and Ravi Sethi, in a paper entitled &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=322023&quot; rel=&quot;nofollow&quot;&gt;&quot;The Complexity of Trie Index Construction&quot;&lt;/a&gt;. They show that the decision version of the above problem, as well as three other variants, are NP-complete.&lt;/p&gt;&#xA;" OwnerUserId="775" LastActivityDate="2012-01-02T10:20:24.413" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9561" PostTypeId="1" AcceptedAnswerId="17243" CreationDate="2012-01-02T10:27:17.033" Score="18" ViewCount="1364" Body="&lt;p&gt;What is known about exact complexity of the shortest superstring problem? Can it be solved faster than $O^*(2^n)$? Are there known algorithms that solve shortest superstring without reducing to TSP?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;UPD: &#xA;$O^*(\cdot)$ suppresses polynomial factors.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The shortest superstring problem is a problem whose answer is the shortest string which contains each string from a given set of strings. &#xA;The question is about optimization extension of a famous NP-hard problem Shortest Superstring(Garey and Johnson, p.228).&lt;/p&gt;&#xA;" OwnerUserId="7454" LastEditorUserId="-1" LastEditDate="2013-04-13T19:22:59.767" LastActivityDate="2014-01-18T12:40:23.963" Title="Solving Superstring Exactly" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;tsp&gt;&lt;exp-time-algorithms&gt;" AnswerCount="3" CommentCount="9" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="9563" PostTypeId="1" CreationDate="2012-01-01T01:28:05.710" Score="1" ViewCount="3755" Body="&lt;p&gt;As recursive algorithms depend on the stack whose size is in almost all the cases depend on input, why don't we consider all the recursive algorithms as NOT-inplace algorithms?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider for example, Quicksort, we say it as inplace sort, but in reality, (average case) it uses O(log(n)) memory in stack? So, how can it be called inplace sort?!&lt;/p&gt;&#xA;" OwnerUserId="1483" OwnerDisplayName="Alan Turing" LastEditorUserId="1800" LastEditDate="2012-01-02T15:21:19.180" LastActivityDate="2012-01-10T01:25:25.523" Title="All recursive algorithms are inherently NOT-inplace, isn't it?" Tags="&lt;ds.algorithms&gt;&lt;terminology&gt;" AnswerCount="7" CommentCount="10" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="9564" PostTypeId="2" ParentId="9563" CreationDate="2012-01-01T01:36:08.853" Score="0" Body="&lt;p&gt;All sorting algorithms on random-access arrays require O(lg(n)) space. Consider the size of the array indices. It requires &lt;code&gt;ceil(lg(n)/lg(2))&lt;/code&gt; bits to represent an array index variable that can hold n distinct values. If your data is in a random-access array, you will need at least one such variable. Therefore, there is a minimum bound of &lt;code&gt;O(lg(n))&lt;/code&gt; on your space complexity, regardless of what algorithm you use.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that mergesort cannot avoid this either. You can either have mergesort run in-place, in which case all merge phases (of which there are &lt;code&gt;O(lg(n))&lt;/code&gt;) run in parallel for &lt;code&gt;O(lg(n))&lt;/code&gt; space complexity, or you do a non-in-place sort with &lt;code&gt;O(n)&lt;/code&gt; space complexity, or you overwrite your input array, in which case you need that index variable again.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Because this bound is rather fundamental (and typically not a problem), usually one does not bother mentioning it.&lt;/p&gt;&#xA;" OwnerUserId="1479" OwnerDisplayName="bdonlan" LastActivityDate="2012-01-01T01:36:08.853" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="9565" PostTypeId="2" ParentId="9563" CreationDate="2012-01-01T01:38:33.150" Score="2" Body="&lt;p&gt;Who says that Quicksort is an in-place sort? There is a &lt;a href=&quot;http://en.wikipedia.org/wiki/Quicksort#In-place_version&quot; rel=&quot;nofollow&quot;&gt;compact version of Quicksort&lt;/a&gt; that uses an in-place partition algorithm, but the overall space usage is, as you say, O(log n).&lt;/p&gt;&#xA;" OwnerUserId="5756" OwnerDisplayName="Ted Hopp" LastActivityDate="2012-01-01T01:38:33.150" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9567" PostTypeId="2" ParentId="9563" CreationDate="2012-01-01T01:56:45.293" Score="13" Body="&lt;p&gt;Recursion is an abstract concept. Talking about whether or not it has in-place semantics is nonsense. (Unless of course the language specifies recursion semantics.) This idea is related to how it is nonsense to talk about the speed of a language.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;How recursion is implemented is another question. For example, a compiler might perform tail call optimization where recursion can be converted to a loop under the hood among other things. In this case, recursion maintains constant stack space (assuming your architechure uses stacks :D)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT:&lt;/strong&gt; What does this all mean? It means that there exist recursive algorithms that are in-place when implemented in certain fashions. Thus the statement &quot;All recursive algorithms are inherently not in-place&quot; is false.&lt;/p&gt;&#xA;" OwnerUserId="7794" OwnerDisplayName="trinithis" LastEditorUserId="7794" LastEditDate="2012-01-04T05:04:13.810" LastActivityDate="2012-01-04T05:04:13.810" CommentCount="10" ContentLicense="CC BY-SA 3.0" />
  <row Id="9568" PostTypeId="2" ParentId="9563" CreationDate="2012-01-01T02:12:39.037" Score="0" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;how can it be called inplace sort?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Because O(log&lt;sup&gt;2&lt;/sup&gt; n) bits still isn't very much storage, and the theoretical contingent almost certainly appropriated the term &quot;inplace&quot; from the practitioners in the first place, anyway.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Side node: quicksort's space usage can be made worst-case by performing tail-call optimization on the larger subproblem (thanks, Sedgewick).)&lt;/p&gt;&#xA;" OwnerDisplayName="someone" LastActivityDate="2012-01-01T02:12:39.037" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="9572" PostTypeId="1" CreationDate="2012-01-02T16:52:46.197" Score="-2" ViewCount="612" Body="&lt;p&gt;&lt;em&gt;This is a cross-post from &lt;a href=&quot;https://stackoverflow.com/questions/8688251/fortunes-algorithm-beach-line-data-structure&quot;&gt;stackoverflow&lt;/a&gt;. I did not recieve a good answer, I guess it is because the question is more theoretical.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have to implement Fortunes algorithm for constructing Voronoi diagrams.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Important part of the algorithm is a data structure called &quot;Beach Line Data Structure&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is a binary balanced tree, similar to AVL, but different in a way that data is stored only on the leafs (there are other differences, but are unimportant for the question).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am not sure how to implement it. Obviously using AVL &quot;as is&quot; will not work because when balancing AVL tree leaf node can become inner node and vice versa.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I also tried to look at some other known data structures at wikipedia, but none suits the needs. I have seen some implementations that do this with a linked list, but this is not good because searching linked list is O(n), and it needs to be O(log n) for the algorithm to be efficient. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would like to take a look at a description of such data structure. I have no problem in implementing, but inventing a new structure of balanced tree is too much for me.&lt;/p&gt;&#xA;" OwnerUserId="7805" LastEditorUserId="-1" LastEditDate="2017-05-23T12:40:09.333" LastActivityDate="2012-01-02T22:48:57.750" Title="Fortunes Algorithm - Beach Line Data Structure" Tags="&lt;ds.algorithms&gt;&lt;ds.data-structures&gt;" AnswerCount="1" CommentCount="4" ClosedDate="2012-01-03T18:54:26.320" ContentLicense="CC BY-SA 3.0" />
  <row Id="9573" PostTypeId="1" CreationDate="2012-01-02T17:08:45.297" Score="9" ViewCount="1378" Body="&lt;p&gt;I am looking for software for computing/estimating volume of high-dimensional convex polyhedra. More specifically, I am interested in a program, which can handle bodies with $n$ vertices in $d$-dimensional space with parameters bounded roughly as follows: $d \le 50$  and $n \le 1000$. Note, that there is no guarantee on the number of faces.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.cs.uiuc.edu/~jeffe/compgeom/code.html#topes&quot;&gt;Jeff Erickson's page&lt;/a&gt; has a link to a program &lt;a href=&quot;http://www.mathpool.uni-augsburg.de/~enge/Volumen.html&quot;&gt;Vinci-1.0.5&lt;/a&gt;, which has a hard limit of 255 faces. This is a limitation of the implementation, the algorithm itself can probably handle more faces in reasonable time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I couldn't find any implementations of the Markov chains based method for estimation, although I guess they will be even less efficient.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there any software, that can handle the range of parameters described above or some moderate relaxation of it? I would be very grateful for any other references as well.&lt;/p&gt;&#xA;" OwnerUserId="254" LastEditorUserId="567" LastEditDate="2012-01-02T21:35:10.217" LastActivityDate="2012-01-03T02:18:01.150" Title="Computing volume of high-dimensional convex polyhedra" Tags="&lt;cg.comp-geom&gt;&lt;software&gt;&lt;convex-geometry&gt;&lt;high-dimensional-geometry&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="9575" PostTypeId="1" CreationDate="2012-01-02T18:35:12.377" Score="6" ViewCount="328" Body="&lt;p&gt;A convex subset $C$ of $\mathbb{R}^{n^2}$ is given as the set of positive semidefinite $n\times n$ matrices whose coefficients fulfill some affine equations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, if you want to minimize a linear function on $C$, you're dealing with semidefinite programming, and that's efficiently solvable. But what if you want to estimate the diameter of $C$? I can very well imagine that this is a difficult task, but can find no helpful reference (and I'm more willing to blame that on me not finding the right keywords than on the research not having been already done). I would consider estimating the diameter only up to some factor, large but at most slowly increasing in the dimension; so I'm interested in general in the hardness of approximating the diameter.&lt;/p&gt;&#xA;" OwnerUserId="7804" LastEditorUserId="1800" LastEditDate="2012-01-07T16:56:15.307" LastActivityDate="2012-01-07T16:56:15.307" Title="Approximating the diameter of a convex set defined by semidefinite constraints" Tags="&lt;ds.algorithms&gt;&lt;approximation-hardness&gt;&lt;semidefinite-programming&gt;&lt;convex-geometry&gt;" AnswerCount="0" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9578" PostTypeId="2" ParentId="9572" CreationDate="2012-01-02T21:16:05.307" Score="5" Body="&lt;p&gt;Well. If you can do it with linked list, then just modify it into skip-list. Just make every node in higher level list point to its original node in the bottom list. Viola, you have what you want...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you are still not convinced - read a good description of a sweeping algorithm (the book by Mark de Berg, Otfried Cheong, Marc van Kreveld and Mark Overmars is a good starting point). Then go back to your problem - and everything should be clear. It is really no more than a slightly modified implementation of a sweeping algorithm.&lt;/p&gt;&#xA;" OwnerUserId="9594" LastActivityDate="2012-01-02T21:16:05.307" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9579" PostTypeId="2" ParentId="9573" CreationDate="2012-01-03T02:18:01.150" Score="7" Body="&lt;p&gt;You can try and use qhull &lt;a href=&quot;http://www.qhull.org/&quot;&gt;http://www.qhull.org/&lt;/a&gt; - it can compute the volume of the convex hull of the vertices. However, a priori I do not see any reason for it to perform reasonably for your range of numbers. If qhull does not work, you can try CGAL/GALIA. In the worst case, you can try and impelement one of the random walk algorithms you mentioned - they should not be too hard to implement in this case, but the constants involved might be very large...&lt;/p&gt;&#xA;" OwnerUserId="9594" LastActivityDate="2012-01-03T02:18:01.150" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="9580" PostTypeId="2" ParentId="9362" CreationDate="2012-01-03T03:03:54.327" Score="3" Body="&lt;p&gt;For a positive answer to this question, under some additional complexity-theoretic assumptions, see the paper &quot;Derandomization in Cryptography&quot; by Barak, Ong, and Vadhan. &lt;/p&gt;&#xA;" OwnerUserId="686" LastActivityDate="2012-01-03T03:03:54.327" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9582" PostTypeId="1" AcceptedAnswerId="9590" CreationDate="2012-01-03T07:36:32.687" Score="2" ViewCount="1789" Body="&lt;p&gt;Does anyone know of any open source implementations for finding the optimal path of a Reeds-Shepp car?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm trying to implement the formulas myself, but I'm having trouble with one of them. I think it's a typo in their paper; their formula just doesn't spit out the expected result.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The specific formula is found in Section 8.3 in Reeds and Shepp's 1990 paper, found &lt;a href=&quot;http://statistics.wharton.upenn.edu/documents/research/Car%20that%20goes%20forwards%20and%20backwards.pdf&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;. I'm trying to find the optimal path from (x = 0, y = 0, theta = 0) to (x = 0, y = 0, theta = -pi), or put differently: the car goes back to the starting position, but pointed in the opposite direction. The correct solution is shown in Figure D of Section 1. The formula in Section 8.3 should give the same turn lengths, but it doesn't. The three turn lengths should all be pi / 3, but working it out by hand gives me completely different values.&lt;/p&gt;&#xA;" OwnerUserId="7811" LastActivityDate="2015-06-12T23:23:44.943" Title="Any existing Reeds-Shepp implementations?" Tags="&lt;graph-algorithms&gt;&lt;implementation&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9584" PostTypeId="1" AcceptedAnswerId="9594" CreationDate="2012-01-03T11:17:22.273" Score="7" ViewCount="305" Body="&lt;h2&gt;Background&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;Let $\mathcal{A}=(Q,\Sigma,\delta,q_0,F)$ be a minimal DFA for a regular language $L$ such that $|Q|=n$, and let $\equiv_L$ be the relation given by $$x\equiv_Ly\text{ iff for all $u$: }xu\in L\Leftrightarrow yu\in L.$$ It is known we can identify the states of $\mathcal{A}$ with the elements of the quotient $\Sigma^*/\equiv_L$. Moreover, since $\equiv_L$ can be characterized by $$x\equiv_Ly\text{ iff }\hat\delta(q_0,x)=\hat\delta(q_0,y),$$ we know we can choose elements $w_1,\ldots,w_n\in\Sigma^*$ such that $$Q=\big\{[w_i]_{\equiv_L}: i\in\{1,\ldots,n\}\big\},$$ and $|w_i|\leq n$ for all $i$, that is, we can choose representatives for $\Sigma^*/\equiv_L$ of length at most $n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is useful because, given the minimal DFA $\mathcal{A}$ (whose states might be given in an abstract way, not necessarily with elements of $\Sigma^*/\equiv_L$), we can obtain a set of representatives of $\Sigma^*/\equiv_L$ by running $\mathcal{A}$ with all inputs of length at most $n$ and marking the states that have already been reached with a flag. Whenever an unmarked state is reached with a string $w$, we flag the state and add $w$ to the list of representatives. This might not be the most elegant or efficient algorithm, but thanks to the upper bound we can be sure it finished and it computes what we want.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Question&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;Is there a general method of estimating a minimal length of representatives of an equivalence relation? I'm assuming, of course, that the universe consists of elements of finite length (e.g. $\Sigma^*$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In particular, I'm looking for a similar upper bound for the relation $\sim_L$ given by $$x\sim_Ly\text{ iff for all $u,v$: }uxv\in L\Leftrightarrow uyv\in L,$$ which can be characterized by $$x\sim_Ly\text{ iff for all $q\in Q$: }\hat\delta(q,x)=\hat\delta(q,y),$$ where the automaton is minimal.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks in advance for your guidance.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt; to be a bit more precise, what I want is an upper bound $M$ for the &lt;em&gt;smallest&lt;/em&gt; representative of a class, so I can do an algorithm of the form: ``check all the words of length at most $M$...'' and be sure that all classes are covered by some representative at least once.&lt;/p&gt;&#xA;" OwnerUserId="5396" LastEditorUserId="5396" LastEditDate="2012-01-03T19:03:23.417" LastActivityDate="2012-01-04T12:50:44.887" Title="Smallest representatives of a quotient by an equivalence relation" Tags="&lt;fl.formal-languages&gt;&lt;automata-theory&gt;&lt;algebra&gt;" AnswerCount="2" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9585" PostTypeId="2" ParentId="9584" CreationDate="2012-01-03T14:17:30.367" Score="7" Body="&lt;p&gt;It seems to me that your question is too general to answer.  Let me focus on the case of ∼&lt;sub&gt;&lt;i&gt;L&lt;/i&gt;&lt;/sub&gt;.  Then here is an example which shows a lower bound; namely, the length of a representative can be at least $e^{(1-o(1))\sqrt{n \ln n}}$, where &lt;i&gt;n&lt;/i&gt; is the number of states of the minimum DFA.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We will actually show a lower bound on the length of a representative with respect to the right-equivalence relation R&lt;sub&gt;&lt;i&gt;L&lt;/i&gt;&lt;/sub&gt; on strings defined as: &lt;i&gt;x&lt;/i&gt; R&lt;sub&gt;&lt;i&gt;L&lt;/i&gt;&lt;/sub&gt; &lt;i&gt;y&lt;/i&gt; if and only if for all strings &lt;i&gt;u&lt;/i&gt;, &lt;i&gt;ux&lt;/i&gt;∈&lt;i&gt;L&lt;/i&gt; ⇔ &lt;i&gt;uy&lt;/i&gt;∈&lt;i&gt;L&lt;/i&gt;.  Because equivalence relation R&lt;sub&gt;&lt;i&gt;L&lt;/i&gt;&lt;/sub&gt; is coarser than ∼&lt;sub&gt;&lt;i&gt;L&lt;/i&gt;&lt;/sub&gt;, any complete set of representatives with respect to ∼&lt;sub&gt;&lt;i&gt;L&lt;/i&gt;&lt;/sub&gt; must contain a complete set of representatives with respect to R&lt;sub&gt;&lt;i&gt;L&lt;/i&gt;&lt;/sub&gt;, and therefore a lower bound shown for R&lt;sub&gt;&lt;i&gt;L&lt;/i&gt;&lt;/sub&gt; applies also to ∼&lt;sub&gt;&lt;i&gt;L&lt;/i&gt;&lt;/sub&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Number-theoretic preparations&lt;/strong&gt;.  Let &lt;i&gt;p&lt;/i&gt;&lt;sub&gt;&lt;i&gt;K&lt;/i&gt;&lt;/sub&gt; be the &lt;i&gt;K&lt;/i&gt;th prime number.  We write the &lt;a href=&quot;http://mathworld.wolfram.com/PrimeSums.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;sum of the first &lt;i&gt;K&lt;/i&gt; primes&lt;/a&gt; as Σ(&lt;i&gt;K&lt;/i&gt;).  We also write the product of the primes that are less than or equal to &lt;i&gt;N&lt;/i&gt; as &lt;i&gt;N&lt;/i&gt;# (the &lt;a href=&quot;http://mathworld.wolfram.com/Primorial.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;primorial&lt;/a&gt; of &lt;i&gt;N&lt;/i&gt;).  Then the following facts are known:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;i&gt;p&lt;/i&gt;&lt;sub&gt;&lt;i&gt;K&lt;/i&gt;&lt;/sub&gt; ∼ &lt;i&gt;K&lt;/i&gt; ln &lt;i&gt;K&lt;/i&gt; (from the &lt;a href=&quot;http://en.wikipedia.org/wiki/Prime_number_theorem&quot; rel=&quot;nofollow noreferrer&quot;&gt;prime number theorem&lt;/a&gt;).&lt;/li&gt;&#xA;&lt;li&gt;Σ(&lt;i&gt;K&lt;/i&gt;) ∼ &lt;i&gt;K&lt;/i&gt;&lt;sup&gt;2&lt;/sup&gt; ln &lt;i&gt;K&lt;/i&gt; (see the &lt;a href=&quot;http://mathworld.wolfram.com/PrimeSums.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;MathWorld article on prime sums&lt;/a&gt;).&lt;/li&gt;&#xA;&lt;li&gt;ln(&lt;i&gt;N&lt;/i&gt;#) ∼ &lt;i&gt;N&lt;/i&gt; (see the &lt;a href=&quot;http://mathworld.wolfram.com/ChebyshevFunctions.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;MathWorld article on Chebyshev functions&lt;/a&gt;).&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;By combining these facts, we obtain that $\lim_{K\to\infty}\frac{\ln(p_K \#)}{\sqrt{\Sigma(K) \ln \Sigma(K)}} = 1$, and therefore $p_K \# = e^{(1-o(1))\sqrt{\Sigma(K) \ln \Sigma(K)}}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(I think that this final statement is a standard fact in the number theory, but I do not know a good reference for it.  See a related discussion in comments to &lt;a href=&quot;https://cstheory.stackexchange.com/questions/3496/conditions-for-nfa-universality/3502#3502&quot;&gt;this post&lt;/a&gt;.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Construction and analysis&lt;/strong&gt;.  For &lt;i&gt;k&lt;/i&gt;∈ℕ, construct a DFA &lt;i&gt;M&lt;/i&gt;&lt;sub&gt;&lt;i&gt;k&lt;/i&gt;&lt;/sub&gt; on the alphabet {0, 1} as follows.  Let &lt;i&gt;K&lt;/i&gt;=2&lt;sup&gt;&lt;i&gt;k&lt;/i&gt;&lt;/sup&gt;.  First, there is a complete binary tree of depth &lt;i&gt;k&lt;/i&gt; rooted at the initial state.  Label the &lt;i&gt;K&lt;/i&gt; leaves of this binary tree as &lt;i&gt;q&lt;/i&gt;&lt;sub&gt;1&lt;/sub&gt;, …, &lt;i&gt;q&lt;/i&gt;&lt;sub&gt;&lt;i&gt;K&lt;/i&gt;&lt;/sub&gt;.  At each &lt;i&gt;q&lt;/i&gt;&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt;, we add a cycle of length &lt;i&gt;p&lt;/i&gt;&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt;, labeling each edge of the cycle with both 0 and 1 (that is, once you reach state &lt;i&gt;q&lt;/i&gt;&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt;, only the length of the rest of the string matters).  Mark the &lt;i&gt;K&lt;/i&gt; states &lt;i&gt;q&lt;/i&gt;&lt;sub&gt;1&lt;/sub&gt;, …, &lt;i&gt;q&lt;/i&gt;&lt;sub&gt;&lt;i&gt;K&lt;/i&gt;&lt;/sub&gt; as accepting states.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If &lt;i&gt;x&lt;/i&gt; R&lt;sub&gt;&lt;i&gt;L&lt;/i&gt;&lt;/sub&gt; &lt;i&gt;y&lt;/i&gt;, then we have that |&lt;i&gt;x&lt;/i&gt;|≡|&lt;i&gt;y&lt;/i&gt;| (mod &lt;i&gt;p&lt;/i&gt;&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt;) for every &lt;i&gt;i&lt;/i&gt;≤&lt;i&gt;K&lt;/i&gt; by prepending the binary notation of &lt;i&gt;i&lt;/i&gt;−1 and some string of an appropriate length to both &lt;i&gt;x&lt;/i&gt; and &lt;i&gt;y&lt;/i&gt;.  This means that any complete set of representatives with respect to the relation R&lt;sub&gt;&lt;i&gt;L&lt;/i&gt;&lt;/sub&gt; contains at least one string with length at least &lt;i&gt;p&lt;/i&gt;&lt;sub&gt;&lt;i&gt;K&lt;/i&gt;&lt;/sub&gt;#−1.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The number of the states in DFA &lt;i&gt;M&lt;/i&gt;&lt;sub&gt;&lt;i&gt;k&lt;/i&gt;&lt;/sub&gt; is &lt;i&gt;K&lt;/i&gt;−1+∑&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;=1&lt;/sub&gt;&lt;sup&gt;&lt;i&gt;K&lt;/i&gt;&lt;/sup&gt; &lt;i&gt;p&lt;/i&gt;&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt; = Σ(&lt;i&gt;K&lt;/i&gt;)+&lt;i&gt;K&lt;/i&gt;−1.  If we denote this number as &lt;i&gt;n&lt;/i&gt;, then &lt;i&gt;n&lt;/i&gt; ∼ Σ(&lt;i&gt;K&lt;/i&gt;), and the length of at least one representative must be at least $p_K \# - 1 = e^{(1-o(1))\sqrt{n \ln n}}$.&lt;/p&gt;&#xA;" OwnerUserId="567" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2012-01-04T12:50:44.887" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9586" PostTypeId="1" AcceptedAnswerId="9589" CreationDate="2012-01-03T15:48:00.153" Score="9" ViewCount="2947" Body="&lt;p&gt;Following up on this &lt;a href=&quot;https://cstheory.stackexchange.com/questions/1515/what-does-number-of-inputs-to-each-neuron-mean-in-neural-network-terms&quot;&gt;question&lt;/a&gt;...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am attempting to learn how to use and create neural networks for my research, and one point is somewhat escaping me.  I realize that hidden layers are a somewhat necessary portion of this, however I am stuck on two points which my references aren't explaining to my satisfaction:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;What is the exact purpose of the hidden layer?&lt;/li&gt;&#xA;&lt;li&gt;How does one determine how many hidden layers to use?&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;From what I gather, it is to &quot;model&quot; real world functionality, but if possible I'd like a bit more of an explanation.&lt;/p&gt;&#xA;" OwnerUserId="230" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2015-11-09T14:42:23.213" Title="Purpose and determining when to use hidden layers" Tags="&lt;ne.neural-evol&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9587" PostTypeId="1" CreationDate="2012-01-03T16:04:43.063" Score="23" ViewCount="1455" Body="&lt;p&gt;It is known that Hamiltonian (Ham for short) Cycle is NP-complete and that Planar Ham Cycle is NP-Complete. The proof for Planar Ham Cycle is not from Ham Cycle. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a nice gadget that will, given a graph G, replace all of the crossings&#xA;with some planar gadget so that you have a planar graph G' such that&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;G has a Ham cycle iff G' has a Ham cycle.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;(I'll be happy with variants- like Ham path or directed Ham Cycle or&#xA;Directed Ham Path.)&lt;/p&gt;&#xA;" OwnerUserId="7839" LastEditorUserId="1800" LastEditDate="2012-01-05T15:28:36.030" LastActivityDate="2012-01-11T15:57:43.763" Title="I want an easy Gadget to prove Planar Hamiltonian Cycle NP-Complete (from Hamiltonian Cycle)" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;&lt;planar-graphs&gt;&lt;hamiltonian-paths&gt;" AnswerCount="1" CommentCount="10" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="9588" PostTypeId="2" ParentId="9586" CreationDate="2012-01-03T16:59:06.990" Score="6" Body="&lt;p&gt;I assume we're discussing simple feed-forward neural nets, i.e. multi-layer perceptrons.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;The hidden layer is necessary to capture non-linear dependencies between your data's features and the variable you're trying to predict. If you don't use a hidden layer, you might as well use linear regression (for regression) or &lt;a href=&quot;https://en.wikipedia.org/wiki/Logistic_regression&quot; rel=&quot;nofollow&quot;&gt;logistic regression&lt;/a&gt; (for classification).&lt;/li&gt;&#xA;&lt;li&gt;By trying various numbers of hidden layers and evaluating how well they work, e.g. in a cross-validation setting. Commonly, one hidden layer will be enough and NN performance is optimized by varying its size and the regularization.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Note that with more than two hidden layers, you're in deep learning land and you probably need custom algorithms to train your net. The reason is that vanilla backpropagation suffers from the &quot;vanishing gradient&quot; problem in deep nets: the gradient of the error function dies down at the layers close to the input, and those layers will hardly be trained.&lt;/p&gt;&#xA;" OwnerUserId="7816" LastEditorUserId="7816" LastEditDate="2013-12-26T12:28:45.630" LastActivityDate="2013-12-26T12:28:45.630" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9589" PostTypeId="2" ParentId="9586" CreationDate="2012-01-03T17:02:11.917" Score="9" Body="&lt;p&gt;A hidden layer is used to increase the expressiveness of the network.  It allows the network to represent more complex models than possible without the hidden layer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Choosing the number of hidden layers, or more generally choosing your network architecture including the number of hidden units in hidden layers as well, are decisions that should be based on your training and cross-validation data.  You should train the network with a set amount of nodes (to start, try one hidden layer, with one unit per input unit) and test the model.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See this link for more help:  &lt;a href=&quot;http://www.faqs.org/faqs/ai-faq/neural-nets/part3/section-10.html&quot;&gt;http://www.faqs.org/faqs/ai-faq/neural-nets/part3/section-10.html&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="3040" LastActivityDate="2012-01-03T17:02:11.917" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9590" PostTypeId="2" ParentId="9582" CreationDate="2012-01-03T17:11:22.243" Score="3" Body="&lt;p&gt;Copy of my comment above (I suppose that the question can be accepted/closed):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think that the question is not research level, however perhaps this can help you: &#xA;&lt;a href=&quot;http://msl.cs.uiuc.edu/~lavalle/cs326a/rs.c&quot; rel=&quot;nofollow&quot;&gt;http://msl.cs.uiuc.edu/~lavalle/cs326a/rs.c&lt;/a&gt; (README: &lt;a href=&quot;http://msl.cs.uiuc.edu/~lavalle/cs326a/README_RS&quot; rel=&quot;nofollow&quot;&gt;http://msl.cs.uiuc.edu/~lavalle/cs326a/README_RS&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can also take a look at &lt;a href=&quot;http://planning.cs.uiuc.edu/ch13.pdf&quot; rel=&quot;nofollow&quot;&gt;Chapter 13 of the book &quot;Planning algorithms&quot;&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="3247" LastActivityDate="2012-01-03T17:11:22.243" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9591" PostTypeId="1" CreationDate="2012-01-03T17:17:28.910" Score="9" ViewCount="407" Body="&lt;p&gt;Suppose I have a list $\cal X$ of subsets of $\{1, ..., n\}$. I can do preprocessing on this list if necessary.  After this preprocessing, I am presented with another set $A \subseteq \{1, ..., n \}$. I want to identify any sets $B \in \mathcal X$ with $B \subseteq A$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The obvious algorithm (without any preprocessing) takes time $O(n |\cal X|)$ -- you simply test $A$ against each $B \in \mathcal X$ separately. Is there anything better than this?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If it helps, you can assume that, for any $A$, the total number of matches $B \in \mathcal X$ is bounded by something like $O(1)$.&lt;/p&gt;&#xA;" OwnerUserId="5538" LastEditorUserId="7860" LastEditDate="2012-03-05T16:17:09.053" LastActivityDate="2012-03-05T16:17:50.503" Title="A subset lookup algorithm" Tags="&lt;ds.algorithms&gt;&lt;ds.data-structures&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="9592" PostTypeId="1" CreationDate="2012-01-03T17:43:05.850" Score="3" ViewCount="218" Body="&lt;p&gt;All the np-hard routing problems I know are of the form, minimize some quantity while visiting the verticies in an unordered way.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there problems which are still np-hard, if one has to visit the vertices in a given odering? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The only problem I can think of which partially falls into this is the &#xA;&quot;Vehicle routing problem with time windows problem&quot; where the time window kind of dictates an order.&lt;/p&gt;&#xA;" OwnerUserId="7817" LastEditorUserId="1800" LastEditDate="2012-01-07T16:50:35.690" LastActivityDate="2012-01-07T16:50:35.690" Title="Ordered routing problem which is NP-hard" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;&lt;tsp&gt;" AnswerCount="0" CommentCount="5" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9593" PostTypeId="2" ParentId="9591" CreationDate="2012-01-03T18:14:35.067" Score="3" Body="&lt;p&gt;This is not an answer. It is a simple but long observation. I hope it will be useful.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The decision version of your problem is: Does $\cal X$ contain a subset of $A$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This problem is related to the problem of evaluating monotone boolean functions of $n$ variables. A subset of $\{1,\ldots,n\}$ is equivalent to an $n$-bitstring, so the family $\cal X$ is equivalent to a boolean function $f$ of $n$ variables. Given a function $f$, one can define the least monotone function that is not bigger than $f$, namely $g(y)=(\exists x\subseteq y,\,f(x))$. The original problem is then reduced to evaluating $g(A)$. Conversely, the problem of evaluating a monotone boolean function can be reduced to the original problem, either naively by taking $f=g$ or by choosing an $f$ that makes $\cal X$ smaller.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In practice BDDs tend to work well. So one possible approach is to build the BDD for $f$, derive from it the BDD for $g$, and then evaluate $g$. The average size of the BDD for $g$ must be $\Omega\left(\binom{n}{n/2}\right)$, because &lt;a href=&quot;http://en.wikipedia.org/wiki/Dedekind_number&quot; rel=&quot;nofollow&quot;&gt;there are many monotone boolean functions&lt;/a&gt;. Hence, in theory this is a bad solution.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But (1) a better analysis might be possible and (2) there might be tweaks to this approach that make it better. For example, I didn't use in any way the correlation between the size of $\cal X$ and the size of $g$'s BDD. (There must be a correlation, but I don't know if it is simple or usable here.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For completeness, a simple algorithm for computing the BDD for $g$ from the BDD for $f$ is the following.&#xA;$$m(x?f_1:f_0)=x?(m(f_0)\lor m(f_1)):m(f_0)$$&#xA;Here $\lor$ is the standard or-operation on BDDs.&lt;/p&gt;&#xA;" OwnerUserId="236" LastEditorUserId="236" LastEditDate="2012-01-04T16:08:55.500" LastActivityDate="2012-01-04T16:08:55.500" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="9594" PostTypeId="2" ParentId="9584" CreationDate="2012-01-03T20:25:21.610" Score="3" Body="&lt;p&gt;Consider a minimal DFA $\mathcal{A}=(Q,\Sigma,\delta,q_0,F)$ and its accepted language $L$. Assume that $Q=\{q_0,\ldots,q_{n-1}\}$, and consider the automaton $\mathcal{A}_{\times}=(Q^n,\Sigma,\delta_{\times},q_{\times},F^n)$, with $q_{\times}=(q_0,\ldots,q_{n-1})$ and $\delta_{\times}$ given by $$\delta_{\times}\left((q_{i_1},\ldots,q_{i_n}),a\right)=\left(\delta(q_{i_1},a),\ldots,\delta(q_{i_n},a)\right).$$ On input $w$, $\mathcal{A}_{\times}$ simulates $\mathcal{A}$ processing $w$ starting from all possible states, so, in particular, $$\hat\delta_{\times}\left(q_{\times},w\right)=\left(\hat\delta(q_0,w),\ldots,\hat\delta(q_{n-1},w)\right).$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We define now a relation on $\Sigma^*$ by $x\star y$ if $\hat\delta_{\times}(q_{\times},x)=\hat\delta_{\times}(q_{\times},y)$. It is easy to see that $\star$ is an equivalence relation. Moreover, for $x,y\in\Sigma^*$, $$x\star y$$ if and only if $$\hat\delta_{\times}(q_{\times},x)=\hat\delta_{\times}(q_{\times},y)$$ if and only if $$\hat\delta(q_i,x)=\hat\delta(q_i,y)\text{ for all }i=0,\ldots,n-1$$ if and only if $$x\sim_L y,$$ so $\Sigma^*/\sim_L=\Sigma^*/\star$. In particular, since $\mathcal{A}_{\times}$ has $n^n$ states, we can choose a representative for each element of $\Sigma^*/\star$ (and therefore of $\Sigma^*/\sim_L$) whose length is at most $n^n$ (a representative for the class $[w]_{\star}=[w]_{\sim_L}$ is a shortest word that takes $q_{\times}$ to $\hat\delta_{\times}(q_{\times},w)$, and the length of that word is at most the number of states).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thus, any algorithm that processes all strings of length at most $n^n$ will cover all equivalence classes of $\sim_L$ by means of at least one representative per class, which is what I wanted. In other words, $n^n$ is an upper bound for the length of the smallest representative of an arbitrary class in $\Sigma^*/\sim_L$.&lt;/p&gt;&#xA;" OwnerUserId="5396" LastActivityDate="2012-01-03T20:25:21.610" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="9597" PostTypeId="2" ParentId="9563" CreationDate="2012-01-03T22:17:40.600" Score="8" Body="&lt;p&gt;Although not for sorting, note that there are algorithms that may naturally be described using recursion but that do not require storage of a call stack. For instance, quickselect can be described as a modified version of quicksort that makes only one of the two recursive calls of quicksort; however, using &lt;a href=&quot;http://en.wikipedia.org/wiki/Tail_call&quot;&gt;tail recursion&lt;/a&gt; for this call avoids the need for a call stack.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Similarly, reverse search procedures (e.g. for listing the vertices of a convex polytope or for various other combinatorial enumeration procedures) are really just performing a recursive traversal of some implicitly-defined tree, but don't need to store more than a constant number of tree nodes at a time — in this case there is more than one recursive call from each call, but the call stack does not need to be stored because it can instead be calculated from the structure of the tree that is being traversed.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2012-01-03T22:17:40.600" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="9598" PostTypeId="1" CreationDate="2012-01-04T03:18:33.603" Score="6" ViewCount="528" Body="&lt;p&gt;Consider the multicommodity flow problem on an undirected graph with k source-destination pairs and specified capacity constraints on the edges. The set of concurrently achievable flows $(R_1,R_2,...,R_k)$ forms a polytope. We know that for $k=1$ (Ford-Fulkerson theorem) and $k=2$ (T.C. Hu's theorem), the cutset outer bound on the flow region is tight, so the polytope is completely specified by the cutset bound inequalities. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;We also know that for $k=3$, the cutset outer bound is not tight in general. I am interested in what is known about the faces of this polytope for $k=3$.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Is there a universal bound on the number of faces of the polytope (for all graphs where $k=3$)? Or is it the case that given any $N&amp;gt;0$, one can construct a graph with 3 source-destination pairs whose flow polytope has more than $N$ faces?&lt;/li&gt;&#xA;&lt;li&gt;Is it possible to express the equations for the new faces, namely the faces that don't correspond to the cutset bound, in terms of some combinatorial quantities associated with the graph?&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Thanks.&lt;/p&gt;&#xA;" OwnerUserId="7823" LastEditorUserId="1800" LastEditDate="2012-01-07T16:44:36.947" LastActivityDate="2012-01-07T16:44:36.947" Title="On the faces of the multicommodity flow polytope" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;multicommodity-flow&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9599" PostTypeId="1" AcceptedAnswerId="9606" CreationDate="2012-01-04T06:59:41.043" Score="2" ViewCount="1620" Body="&lt;p&gt;Recently I learned about maximum cliques. For fun I came up with an algorithm (described below) to find the maximum cliques in an undirected graph. &lt;strong&gt;I'd just like some help constructing a graph s.t. the algorithm returns an incorrect result.&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider an undirected graph $G$ represented by an adjacency matrix $A$. If there exists an edge directly connecting node $i$ and node $j$ then $A[i][j] = 1$, $A[i][j] = 0$ otherwise. &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Construct a hashtable $H$ where the keys are nodes in $G$ and the values are lists of nodes directly connected to the given node. For example a simple triangle graph with nodes $a$, $b$ and $c$ would have $H$ with key-values pairs $(a, [b, c])$, $(b, [a, c])$ and $(c, [b, a])$.&lt;/li&gt;&#xA;&lt;li&gt;Traverse all keys in $H$. For each key traverse the corresponding value and check if every node in the list is connected to every other node in the list. If a node $i$ is not connected to any single node $j$ then remove $i$ from the list.&lt;/li&gt;&#xA;&lt;li&gt;Traverse the keys in $H$ again. Keep track of the maximum count $m$ of all values. $m$ will be the size of the maximum clique(s) in $G$.&lt;/li&gt;&#xA;&lt;li&gt;Traverse the keys in $H$ again. This time print the contents of the value for a given key if value.count equals $m$.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;I've tried a variety of graphs as inputs and so far I haven't found a good counter example.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Regarding the algorithm's runtime: &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;step one can be done in $O(N^2)$ time. This requires visiting every entry of the $NxN$ adjacency matrix $A$. Inserting an entry into $H$ can be done in amortized constant time.&lt;/li&gt;&#xA;&lt;li&gt;step two takes $O(N^3)$ time. Traverse every key in $O(N)$ time. For a given key $k$ checking all the directly connected nodes takes $O(N^2)$ time.&lt;/li&gt;&#xA;&lt;li&gt;step three runs in linear time&lt;/li&gt;&#xA;&lt;li&gt;step four runs in $O(N^2)$ time (when accounting for printing the nodes)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;So the overall runtime is $O(N^3)$ where $N$ is the number of nodes in $G$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;From some research it doesn't sound like finding maximum cliques in an undirected graph (without any constraints on the graph) can be done in polynomial time. Hence there's probably some nice corner cases for the above algorithm. &lt;strong&gt;Please help find some.&lt;/strong&gt;&lt;/p&gt;&#xA;" OwnerUserId="1276" LastEditorUserId="1800" LastEditDate="2012-01-07T16:48:18.597" LastActivityDate="2012-01-07T16:48:18.597" Title="Maximum clique algorithm on undirected graph" Tags="&lt;ds.algorithms&gt;&lt;graph-algorithms&gt;&lt;clique&gt;&lt;examples&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="9600" PostTypeId="2" ParentId="3034" CreationDate="2012-01-04T07:28:34.463" Score="-2" Body="&lt;p&gt;This construction does &lt;strong&gt;NOT&lt;/strong&gt; give pairwise independent variables (indeed, $|Y_{i,j}| = |Y_{i,j&amp;#39;}|$ below) as asked by Anindya, but it gives pairwise uncorrelated variables which is enough for getting good concentration bounds for the sum through Chebyshev's inequality (and this is many times the end goal).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For each distinct pair $(i,j) \in {[k] \choose 2}$, let $Y_{i,j} = |X_i| \cdot \sigma(X_i X_j)$, where $\sigma(\cdot)$ is the sign function. It's clear that each $Y_{i,j}$ is a normal variable with mean 0 and variance 1. To see that they are orthogonal, for $(i,j) \neq (i&amp;#39;,j&amp;#39;)$, note that $$\mathbb{E}[Y_{i,j}Y_{i&amp;#39;,j&amp;#39;}] = \mathbb{E}[|X_i X_{i&amp;#39;}| \cdot \sigma(X_i X_{i&amp;#39;} X_j X_{j&amp;#39;})]$$&#xA;which can be easily checked to equal 0 by looking at the various cases of possible equalities between $i,i&amp;#39;,j,j&amp;#39;$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;P.S.: A previous version falsely claimed pairwise independence.&lt;/p&gt;&#xA;" OwnerUserId="15" LastEditorUserId="15" LastEditDate="2012-01-05T20:51:54.903" LastActivityDate="2012-01-05T20:51:54.903" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="9601" PostTypeId="1" AcceptedAnswerId="9602" CreationDate="2012-01-04T09:53:20.593" Score="2" ViewCount="243" Body="&lt;p&gt;By &quot;&lt;em&gt;complement problems&lt;/em&gt;&quot;, I mean the two problems' objective functions are complement. For example, the vertex cover and its complement independent set in this sense. For a graph $G(V,E)$, their answers add up to $|V|$. Another example is a problem I am working on. The dominating set problem and its complement &quot;packing as many edges as possible so that there is no path or circle whose length is more than 2&quot;. Dominating set is $W[2]$-complete in the sense, and the &lt;em&gt;edge packing&lt;/em&gt; problem is in $W[1]$-complete( whether it is complete in $W[1]$, I am still looking). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, I come to the following audacious conjecture.&#xA;If problem A and problem B are complement, then A and B are not in the same class in the parameterized complexity structure, i.e. $FPT \subseteq W[1] \subseteq W[2] \subseteq \cdots W[SAT] $. Of course, there is another condition : A and B are not $P$ in the classical complexity hierarchy.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am not very familiar with parameterized complexity theory. So, any advice is welcome. Thank you very much.&lt;/p&gt;&#xA;" OwnerUserId="6108" LastActivityDate="2012-01-04T10:22:07.113" Title="Complement problems are not in the same class in parametrized complexity hierarchy? If not in $P$" Tags="&lt;parameterized-complexity&gt;&lt;fixed-parameter-tractable&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9602" PostTypeId="2" ParentId="9601" CreationDate="2012-01-04T10:22:07.113" Score="9" Body="&lt;p&gt;The complement problems Minimum (Edge) Bipartization and MaxCut are both in FPT, so the conjecture is false.&lt;/p&gt;&#xA;" OwnerUserId="251" LastActivityDate="2012-01-04T10:22:07.113" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="9604" PostTypeId="2" ParentId="6607" CreationDate="2012-01-04T19:16:48.303" Score="0" Body="&lt;p&gt;&lt;a href=&quot;http://www.odysci.com/&quot; rel=&quot;nofollow&quot;&gt;&lt;strong&gt;Odysci&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;From &lt;a href=&quot;http://www.odysci.com/how-it-works&quot; rel=&quot;nofollow&quot;&gt;Odysci - How it works&lt;/a&gt; :&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Odysci is a web portal for search and rank of technical papers and&#xA;  peer-to-peer collaboration. Using the Odysci portal researchers and&#xA;  developers can search for technical papers published by the main&#xA;  publishers in the computer science and electronic engineering areas,&#xA;  obtain ranked lists of papers and their links, and collaborate with&#xA;  peers by reading and posting comments about papers. In the future,&#xA;  Odysci will also display technical white papers by companies&#xA;  interested in divulging their technology.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="6133" LastActivityDate="2012-01-04T19:16:48.303" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="9605" PostTypeId="2" ParentId="9591" CreationDate="2012-01-04T19:35:28.973" Score="3" Body="&lt;p&gt;Perhaps you can use an &quot;information retrieval&quot; technique: in the preprocessing phase, build an &lt;a href=&quot;http://en.wikipedia.org/wiki/Inverted_index&quot; rel=&quot;nofollow&quot;&gt;inverted index&lt;/a&gt; (in your case a simple $n \times | {\cal X}|$ bidimensional array is enough) that maps an element $x_i \in \{1,...,n\}$ to the sets in $\cal X$ that contain it: $inv(x_i)= \{ X_j \in {\cal X} \; | \; x_i \in X_j \} $.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Set up an integer array $occ$ of length $|\cal X|$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then for each $y_i \in A$ retrieve $inv(y_i)$, and for each $X_j \in inv(y_i)$ do $occ[j] = occ[j]+1$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;At the end the sets you need are those for which $|X_j|=occ[j]$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can arbitrarily speed up the process (at the cost of exponential space) by indexing two or more elements together.&lt;/p&gt;&#xA;" OwnerUserId="3247" LastActivityDate="2012-01-04T19:35:28.973" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9606" PostTypeId="2" ParentId="9599" CreationDate="2012-01-04T22:32:48.713" Score="5" Body="&lt;p&gt;$A \; = \; \begin{bmatrix} 0 &amp;amp; 1 &amp;amp; 1 &amp;amp; 1 &amp;amp; 0 &amp;amp; 0 \\ 1 &amp;amp; 0 &amp;amp; 1 &amp;amp; 0 &amp;amp; 1 &amp;amp; 0 \\ 1 &amp;amp; 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; 1 \\ 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 \\ 0 &amp;amp; 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 \\ 0 &amp;amp; 0 &amp;amp; 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 \end{bmatrix}$&lt;/p&gt;&#xA;" OwnerDisplayName="user6973" LastActivityDate="2012-01-04T22:32:48.713" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9607" PostTypeId="2" ParentId="9598" CreationDate="2012-01-05T00:09:32.527" Score="6" Body="&lt;p&gt;This will be a bit long, but please bear with me.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First, let me clarify the terminology a bit. I think what you are interested in here are in fact the &lt;em&gt;facets&lt;/em&gt; of the polytope (i.e., &quot;the minimum set of irredundant valid inequalities&quot; or the &quot;maximal dimensional faces still distinct from the polytope itself&quot;) rather than the &lt;em&gt;faces&lt;/em&gt;. Plus, as you write, the object you study is much better called the &quot;aggregate-flow polytope&quot; or, as some authors refer to it, the &quot;demand polytope&quot; or the &quot;throughput polytope&quot;. Call this polytope $T$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is what I know about $T$:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Associated with any capacitated graph $G$ and set of source-destination pairs $(s_k, d_k): k \in 1, \ldots, K$, there is an &quot;aggregate-flow set&quot; $T$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;This $T$ is a polyhedron and it is well-defined. You can see this for yourself by considering the following construction: take the multicommodity-flow polytope (i.e., the polyhedron of the feasible arc-flows or path-flows) and apply an affine mapping that to each commodity orders the sum of the individual flows. As affine maps of polyhedra are again polyhedra, you get the required result.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;If $G$ is connected and the edge capacities $c$ are strictly positive, then $T$ is a full-dimensional, compact, convex polyhedron in $\mathbb{R}^n_+$ (so it  is in fact a polytope).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;$T$ is down-monotone: $t \in T \Rightarrow \forall x \in [0, t]: x \in T$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;You can obtain all the valid inequalities that describe $T$ using the Japanese Theorem due to Onaga and Iri: for any non-negative weight set $w_{ij}: (i,j) \in E$ on the edges $E$ of $G$, the inequality:&#xA;$$\sum_{k=1}^K \beta_k . t_k \le \sum_{(i,j) \in E} w_{ij} c_{ij} $$&#xA;is valid for $T$, where $\beta_k$ denotes the shortest path distance from $s_k$ to $d_k$ for commodity $k$ over the weights $w$, $t_k$ is the aggregate-flow for the $k$th commodity and $c_{ij}$ is the capacity of edge $(i,j)$. In fact, you get &lt;em&gt;all&lt;/em&gt; the valid inequalities for $T$ this way. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Any weight set that is &lt;em&gt;not&lt;/em&gt; an extreme ray of the below &lt;em&gt;projection cone&lt;/em&gt; $W$ generates redundant inequalities for $T$, where&#xA;$$W = \{(w,\beta): \forall k, \forall P \in \mathcal{P_k}: \sum_{(i,j) \in P} w_{ij} \le \beta_k, w \ge 0\}$$&#xA;where $\mathcal{P_k}$ denotes the set of all paths between $s_k$ and $d_k$. This sort of answers your second question.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Now, regarding the number of facets needed to describe $T$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First, I believe your conjecture &quot;for any $N$ there is a graph for which $T$ has more than $N$ facets&quot; is not true. What we can show is that $T$ has finitely many facets, because the projection cone $W$ has only a finite number of extreme rays, and these generate &lt;em&gt;all&lt;/em&gt; the facets (unfortunately, usually many more inequalities too). Note, however that this alone does not disprove your conjecture.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, that this still allows the number of facets to be exponential, and curiously this is precisely the case. At least for directed graphs, I seem to have a proof somewhere that for the complete bipartite graph $K_{n,n}$ on $n$ nodes with $n$ distinct source nodes in one partition and $n$ distinct destination nodes in the other and capacities all equal to $1$, all the $\{0,1\}^n$ vectors $b$ except for the all-zero vector generate a facet $\sum_n b_n t_n \le q$ for some appropriate $q$, and this gives you $2^{n}-1$ facets. I don't know about the undirected case, the above may either hold or not hold.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For $K=3$ in particular, this gives 7 facets (plus the non-negativity conditions, but that's trivial) for $K_{3,3}$ in the directed case. As far as I can work it out now, the same applies to the undirected case as well. I have fairly good reasons to believe that this is in fact the upper bound for the directed case, but I may be completely wrong here.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can find an awful lot of results on this topic in Schriver's heroic survey:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Alexander Schrijver: Combinatorial Optimization - Polyhedra and Efficiency, Volume 3, Part VII, Multiﬂows and Disjoint Paths&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Should you have any comments, results, or further reading (apart from my own papers) on this topic, count me very very interested.&lt;/p&gt;&#xA;" OwnerUserId="6707" LastEditorUserId="6707" LastEditDate="2012-01-05T00:45:46.570" LastActivityDate="2012-01-05T00:45:46.570" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9608" PostTypeId="1" AcceptedAnswerId="9611" CreationDate="2012-01-05T04:39:35.657" Score="14" ViewCount="7565" Body="&lt;p&gt;I am looking for some advice and feedback.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Background: I am an undergraduate mathematics student, with an interest in theoretical computer science (computational complexity, graph theory, combinatorics). I want to pursue a PhD in Computer Science and focus on theory.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My background is in mathematically intensive areas of computer science, but I lack a more applied background in computer science. Specifically I need to complete courses in Programming, Algorithms, Operating Systems, &amp;amp; Databases as prerequisite work for a PhD program. I cannot fit these courses in before graduation. To remedy this I plan to enter the work force and complete a MS part time (so I can pay for the MS), then upon completion of the MS degree enter a full time PhD program.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Question: Would I be at a disadvantage by completing a MS degree part time, prior to entering a PhD program, as opposed to CS students that enter a PhD program immediately upon the completion of their undergraduate degree? The position I work in would be related to CS and would give me transferable skills to a CS program &amp;amp; may help lead me to better focused research. I am just hoping this path does not put me at any kind of disadvantage (in terms of acceptance to a PhD program). I am interested in doing the MS thesis track, and realize that it may take me a little longer to complete the MS degree (since it would be part time). Upon completion of the MS, as stated, I would enter a full time PhD program. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am just looking for some feedback and advice. Thanks for your help!&lt;/p&gt;&#xA;" OwnerUserId="5799" LastEditorUserId="80" LastEditDate="2012-01-05T15:42:34.647" LastActivityDate="2012-01-08T05:53:27.357" Title="Advice for Graduate School in Computer Science" Tags="&lt;soft-question&gt;&lt;career&gt;" AnswerCount="6" CommentCount="4" FavoriteCount="11" ContentLicense="CC BY-SA 3.0" />
  <row Id="9609" PostTypeId="1" AcceptedAnswerId="9610" CreationDate="2012-01-05T05:04:56.263" Score="-3" ViewCount="135" Body="&lt;p&gt;What is semi-supervised learning on graphs? We have been told that if we just have a function which has an input graph, or a given graph with labeled nodes, we should be able to predict labels on other nodes of the graph. This is not clear.&lt;/p&gt;&#xA;" OwnerUserId="7836" LastEditorUserId="21335" LastEditDate="2014-03-27T12:48:13.380" LastActivityDate="2014-03-27T12:48:13.380" Title="Semi-supervised learning on graphs" Tags="&lt;graph-theory&gt;&lt;machine-learning&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="9610" PostTypeId="2" ParentId="9609" CreationDate="2012-01-05T05:50:21.330" Score="6" Body="&lt;p&gt;Semi-supervised learning means that you get both labelled and unlabelled data as your input. The graph part means that there is also a relation defined for your datapoints. What exactly it is that you learn and how you use the graph structure depends on the problem. Here is a thorough exploration of the subject: &lt;a href=&quot;http://www.cs.cmu.edu/~zhuxj/pub/thesis.pdf&quot;&gt;http://www.cs.cmu.edu/~zhuxj/pub/thesis.pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="2920" LastActivityDate="2012-01-05T05:50:21.330" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9611" PostTypeId="2" ParentId="9608" CreationDate="2012-01-05T08:59:56.950" Score="6" Body="&lt;p&gt;There is certainly no disadvantage doing a little more study and some work in the real world before starting a PhD program. Having a broader background is always an advantage, as you have more diverse knowledge to draw on when addressing problems. Working in the real world will make you more grounded, and perhaps will help direct your research to realistic problems (which may then help the world at large).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, plenty of people have jumped straight into PhD programs and have succeeded.  You can readily pick up any material you missed (except perhaps the hands-on lab sessions), by reading one or two books in the area. You'll be doing a lot of this anyway in your PhD, so doing a bit of less related reading on won't hurt.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;In some sense the actual answer depends upon which country you plan to do your PhD in. US-style PhDs are very different from those in other countries (e.g., Belgium, Australia, The Netherlands). US-style PhDs involve lots of coursework in the early years. Some other countries have no coursework in the early years.&lt;/em&gt;&lt;/p&gt;&#xA;" OwnerUserId="77" LastActivityDate="2012-01-05T08:59:56.950" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="9613" PostTypeId="2" ParentId="9608" CreationDate="2012-01-05T10:07:41.937" Score="3" Body="&lt;p&gt;Assuming you have already selected the Ph.D. program you are interested to, my advice is to talk directly with the person that could be your future advisor. He/she knows exactly the theoretical background and practical stuff required for each of the research topics available, so that it will be easier to decide what to do next. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Basically, knowledge of the research topics and their prerequisite skills will allow you to prioritize the material you need to cover. I would cover first algorithms, and then databases, operating systems and programming in one or more languages. This is because you are likely to need algorithms in every research topic, but not necessarily OS, DB and programming unless the topics are strictly focused on these or require an implementation. Again, talking with your future advisor is the key to understand this.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As stated by @Dave Clarke, if you prefer to delay enrolling in the Ph.D. program, this will not hurt: additional experience is never a disadvantage. If you, instead, prefer to enroll immediately, just be prepared for a different kind of full-time studies, taking into account that you do not know something that may be required but you do know better mathematics.&lt;/p&gt;&#xA;" OwnerUserId="4208" LastActivityDate="2012-01-05T10:07:41.937" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9617" PostTypeId="2" ParentId="3034" CreationDate="2012-01-05T21:13:49.600" Score="4" Body="&lt;p&gt;The posting on MathOverflow tells how to go from a small number of independent Uniform[0,1] random variables to a larger number of pairwise-independent Uniform[0,1] random variables. You can of course go back and forth between Uniform[0,1] and Gaussian by inverting the CDF. But that requires numerical analysis as the CDF is not closed-form.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, there is a simpler way to from Gaussian to uniform. Given two independent Gaussians $X_1, X_2$, the angle $\arctan(X_1/X_2)$  is uniform in the range $[0,2 \pi]$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Similarly, the Box-Muller method transforms two independent Uniform[0,1] variables into two independent Gaussian random variables.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Using these two transformations, you consume two Gaussians to produce a uniform or two uniforms to produce a Gaussian. So there is only a factor of $O(1)$ in the sampling efficiency. Furthermore, no inversion of the Normal cdf is required.&lt;/p&gt;&#xA;" OwnerUserId="5538" LastActivityDate="2012-01-05T21:13:49.600" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9618" PostTypeId="2" ParentId="9608" CreationDate="2012-01-05T22:02:40.567" Score="7" Body="&lt;p&gt;If you want a Ph.D. in theory, then you should certainly know algorithms and &lt;a href=&quot;https://cstheory.stackexchange.com/questions/8851/how-important-is-knowing-how-to-program-for-tcs&quot;&gt;probably should know programming&lt;/a&gt;.  On the other hand, I doubt you'll need to know Operating Systems or Databases -- though knowing them never hurts.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, as an undergrad, I majored in CS but I never took OS, and I didn't feel it affected my Ph.D. application (though who knows).  I did take OS to fulfill some requirement in grad school, but I pretty much forgot most of it by now.  I ended up taking most of the main systems courses between undergrad and grad school, but I don't think my research would have suffered had I not.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm pretty sure getting the M.S. won't hurt your application, but make sure you're not wasting your time and money.&lt;/p&gt;&#xA;" OwnerUserId="123" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2012-01-06T16:34:45.847" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="9619" PostTypeId="1" AcceptedAnswerId="9621" CreationDate="2012-01-05T22:09:48.690" Score="7" ViewCount="2984" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;EDIT:&lt;/strong&gt; The Wikipedia article mentioned here was incorrect and has since been updated.  Comb sort's worst-case behavior is $\Omega(n^2)$, not $O(n \log n)$ as was claimed.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Yesterday I stumbled on the comb sort algorithm, a modification of bubble sort similar in spirit to Shell sort.  The idea is to maintain a gap of some size, then use a bubble-sort pass over the array using that gap size to roughly position the elements into their proper positions.  Each iteration decreases the gap size, until eventually the algorithm degrades into bubble sort.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Comb_sort&quot; rel=&quot;noreferrer&quot;&gt;The Wikipedia article&lt;/a&gt; claims that the algorithm runs in O(n log n) time worst-case, but the citation for this claim is &lt;a href=&quot;http://www.google.com/url?sa=t&amp;amp;source=web&amp;amp;cd=1&amp;amp;ved=0CB8QFjAA&amp;amp;url=http%3A%2F%2Fwww.lix.polytechnique.fr%2F~nielsen%2Fpdf%2F2009-KnnGPU-MIRAGE.pdf&amp;amp;rct=j&amp;amp;q=searching%20high%20dimensional%20neighbours%20cpu&amp;amp;ei=qCQGT7jMFKiViALkpORE&amp;amp;usg=AFQjCNFk_Zlwm0t7YZbX42406ZOlnkAIBA&quot; rel=&quot;noreferrer&quot;&gt;a paper on GPU processing&lt;/a&gt; that mentions this result offhand without providing any analysis or citation.  One of the original papers on comb sort doesn't even attempt to prove a worst-case bound, and in fact not a single source I've found has attempted to analyze the worst-case or even average-case complexity of comb sort.  This concerns me, since I've found a lot of sites that are clearly getting their information from the Wikipedia article, and I would hate for a single bad source to propagate the O(n log n) claim if it is incorrect.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is this: &lt;strong&gt;is there a reliable source that proves the O(n log n) worst-case behavior of comb sort?&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks!&lt;/p&gt;&#xA;" OwnerUserId="4354" LastEditorUserId="4354" LastEditDate="2012-01-07T02:20:32.783" LastActivityDate="2012-01-07T02:20:32.783" Title="Analysis of Comb Sort?" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="9620" PostTypeId="2" ParentId="9619" CreationDate="2012-01-05T23:30:17.830" Score="2" Body="&lt;p&gt;So after some digging it looks like the original analysis in Wikipedia was incorrect.  &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0020019000002234&quot; rel=&quot;nofollow&quot;&gt;This paper&lt;/a&gt; cites an older paper that gives $\Omega(n^2)$ as a lower bound for comb sort, and actually says that it was still an open problem (as of the time that the paper was written) to determine whether the worst-case actually was $O(n^2)$ on all inputs.  I've updated the Wikipedia article appropriately.&lt;/p&gt;&#xA;" OwnerUserId="4354" LastActivityDate="2012-01-05T23:30:17.830" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9621" PostTypeId="2" ParentId="9619" CreationDate="2012-01-05T23:59:52.607" Score="5" Body="&lt;p&gt;The $\Omega(n^2)$ worst-case lower bound of Comb sort (or Dobosiewicz sort) has also been proved using the incompressibility method based on Kolmogorov complexity. See for example the &lt;a href=&quot;http://homepages.cwi.nl/~paulv/papers/sorting.pdf&quot;&gt;survey&lt;/a&gt; by Vitanyi, page 16. If you are also interested in the average-case lower bound on the running time, the paper gives that as well. Moreover the proofs obtained with the method are natural, easy-to-follow and usually quite short.&lt;/p&gt;&#xA;" OwnerUserId="5693" LastActivityDate="2012-01-05T23:59:52.607" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9622" PostTypeId="1" CreationDate="2012-01-06T04:26:52.267" Score="23" ViewCount="724" Body="&lt;p&gt;Consider a convex body $K$ centered at origin and symmetric (i.e. if $x\in K$ then $-x\in K$). I desire to find a different convex body $L$ such that $K\subseteq L$ and the following measure is minimized:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$f(L)=\mathbb{E}(\sqrt{x^T \cdot x})$, where $x$ is a point chosen uniformly at random from L. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am ok with constant factor approximation to the measure.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some notes - The first intuitive guess that $K$ itself is the answer is wrong. For example consider $K$ to be a thin cylinder in very high dimension. Then we can get $L$ such that $f(L)&amp;lt;f(K)$ by letting $L$ have more volume close to origin.&lt;/p&gt;&#xA;" OwnerUserId="372" LastEditorUserId="1800" LastEditDate="2012-01-07T16:39:34.553" LastActivityDate="2012-12-06T09:03:41.563" Title="Convex Body with minimum expected l2 norm" Tags="&lt;cg.comp-geom&gt;&lt;approximation&gt;&lt;convex-geometry&gt;" AnswerCount="3" CommentCount="5" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="9623" PostTypeId="1" AcceptedAnswerId="9624" CreationDate="2012-01-06T06:43:56.283" Score="2" ViewCount="2220" Body="&lt;p&gt;I am trying to find out if there exists a language, which is recursively enumerable but not recursive, but which wouldn't also use Gödel's number or any other kind of Turing machine description in its definition. The language should be possible to somehow &quot;easily&quot; describe. (&quot;Easily&quot; being purely subjective, I know.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But each one I try to construct is either recursive or not recursively enumerable.&lt;/p&gt;&#xA;" OwnerUserId="7843" LastEditorUserId="1800" LastEditDate="2012-01-07T16:30:22.073" LastActivityDate="2012-01-07T16:30:22.073" Title="Recursively enumerable, non-recursive language without using Gödel's number" Tags="&lt;fl.formal-languages&gt;&lt;examples&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9624" PostTypeId="2" ParentId="9623" CreationDate="2012-01-06T07:52:50.447" Score="7" Body="&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Diophantine_equation#Hilbert.27s_tenth_problem&quot;&gt;Diophantine equations with a solution&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerDisplayName="user6973" LastActivityDate="2012-01-06T07:52:50.447" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9625" PostTypeId="1" CreationDate="2012-01-06T11:48:09.800" Score="3" ViewCount="289" Body="&lt;p&gt;I was considering the following game on an undirected unweighted graph $G=(V,E)$ (not necessarily simple). Two players, Police and Runaway, take moves in turn. Police can cut an arbitrary subset of edges in a single move and Runaway can move from a current vertex to an adjacent vertex (cutting an edge means that corresponding vertices became not adjacent). Runaway starts at vertex $s$ and wants to make it into vertex $t \neq s$; Police wants to interfere her. Police move first. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let the game cost for Police be equal to the number of cutted edges. An $s-t$ minimal cut size is an obvious upper bound for this value, but sometimes Police can do better. For example, consider a $K_{n,2}$ graph ($n &gt; 2$) where $s$ and $t$ both belong to the smaller (second) part. Minimal cut between $s$ and $t$ equals $n$, though cutting only 2 edges is enough (Police cuts empty set on her first move hence forcing Runaway to move away from $s$, then she cuts 2 edges adjacent to Runaway's location). Efficient computation of that cost seems to be an interesting problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I came up with a clumsy (still polynomial-time) algorithm which basically does loads of min-cut computations on $G$ subgraphs for this (however I'm not completely sure in the correctness). I wonder if it is a known problem or not, maybe there is some elegant solution? Please provide any related info.&lt;/p&gt;&#xA;" OwnerUserId="7846" LastEditorUserId="7846" LastEditDate="2012-01-06T11:54:07.050" LastActivityDate="2012-01-06T11:54:07.050" Title="Graph connectivity related game" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;gt.game-theory&gt;&lt;max-flow-min-cut&gt;" AnswerCount="0" CommentCount="6" FavoriteCount="0" ClosedDate="2012-01-07T14:39:59.943" ContentLicense="CC BY-SA 3.0" />
  <row Id="9626" PostTypeId="1" AcceptedAnswerId="9628" CreationDate="2012-01-06T11:49:22.350" Score="2" ViewCount="414" Body="&lt;p&gt;Let $G = (V, E)$ be a graph and $a$, $b$, $x$ $\in V \ $  different vertices. I have seen stated that the problem of finding a simple path from $a$ to $b$ passing through $x$ can be formulated as a maximum flow problem. Does anyone&#xA;have a pointer for this ? Also any references to problems that can be reformulated, in not completely obvious ways, to maximum flow problems would be valued.&lt;/p&gt;&#xA;" OwnerUserId="7849" LastEditorUserId="7846" LastEditDate="2012-01-07T14:41:03.407" LastActivityDate="2016-07-01T13:04:44.717" Title="Viapath as a maximum flow problem" Tags="&lt;ds.algorithms&gt;&lt;graph-algorithms&gt;&lt;max-flow&gt;" AnswerCount="2" CommentCount="3" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="9628" PostTypeId="2" ParentId="9626" CreationDate="2012-01-06T12:16:13.703" Score="3" Body="&lt;p&gt;The reduction is the following. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider a graph as directed (that means, each edge $(u,v)$ is actually a pair of arcs pointing in the opposite directions). Split each vertex $v \in V$ to 2 different vertices $v_{in}$ and $v_{out}$ and fix the adjacent edges such that all in-arcs ends in $v_{in}$ and all out-arcs starts from $v_{out}$. Also add an arc $(v_{in}, v_{out})$ of unit capacity for each such pair. This guarantees that the flow will not pass through any original vertex more than once (which is necessary for path simplicity).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then add a sink $t$ and arcs $(a_{out},t)$ and $(b_{out}, t)$ of unit capacity. Find a maximum flow from $x_{out}$ to $t$. If a simple path $a-x-b$ exists in the original graph, the parts $x-a$ and $x-b$ will not share a vertex (except from $x$) and the maximum flow will have size 2 so you will be able to reconstruct the answer from the flow. The opposite is true, too.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Upd.: The aforesaid was written under assumption that &quot;simple path&quot; means &quot;a path with no repeated vertices&quot;. In other case there is no need for vertices splitting.&lt;/p&gt;&#xA;" OwnerUserId="7846" LastEditorUserId="7846" LastEditDate="2016-07-01T13:04:44.717" LastActivityDate="2016-07-01T13:04:44.717" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="9630" PostTypeId="2" ParentId="9626" CreationDate="2012-01-06T13:35:34.937" Score="0" Body="&lt;p&gt;Try following approach for grapf $G=(V,E)$:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Create new sink $V&amp;#39;=V \cup t$, and edges $E&amp;#39; = E \cup \{ (a,t), (b,t) \}$.&lt;/li&gt;&#xA;&lt;li&gt;make all edges' capacity 1 unit (I assume discrete maxflow).&lt;/li&gt;&#xA;&lt;li&gt;Make $x$ your source.&lt;/li&gt;&#xA;&lt;li&gt;Maximal flow $F$ will be 2 iff path from $a$ to $b$ exist. Searched path will be:$P = F - { (a,t),(b,t) }$&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;To be specific, for simplicity of description, above approach assumes bidirectional graph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For directed graph it applies as well, after adjusting a little bit.&lt;/p&gt;&#xA;" OwnerUserId="6133" LastEditorUserId="6133" LastEditDate="2012-01-06T13:43:04.207" LastActivityDate="2012-01-06T13:43:04.207" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9631" PostTypeId="1" CreationDate="2012-01-06T13:37:26.337" Score="10" ViewCount="1098" Body="&lt;p&gt;Moore matrix is similar to Vandermonde matrix but has a slightly modified definition.&#xA;&lt;a href=&quot;http://en.wikipedia.org/wiki/Moore_matrix&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://en.wikipedia.org/wiki/Moore_matrix&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is the complexity of computing the determinant of a given $n \times n$ full rank Moore matrix modulo some integer? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can Moore determinant be reduced from $O(n^{3})$ using FFT techniques to $O(n\log^{a}n)$ for some $a \in \mathbb{R}_{+} \cup \{0\}$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is complexity of Moore det modulo an integer and Vandermonde det the same?&#xA;Complexity of Vandermonde determinant is $O(n\log^{2}n)$ (Page 644 in Handbook of Theoretical Computer Science: Algorithms and complexity By Jan Leeuwen)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Post similar to the current one: &lt;a href=&quot;https://cstheory.stackexchange.com/questions/10393/determinant-modulo-m&quot;&gt;Determinant modulo m&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="1812" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2012-03-06T00:51:39.130" Title="Determinant of a generalized Vandermonde matrix" Tags="&lt;cc.complexity-theory&gt;&lt;algebraic-complexity&gt;" AnswerCount="2" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9632" PostTypeId="2" ParentId="9631" CreationDate="2012-01-06T16:39:33.017" Score="4" Body="&lt;p&gt;In general, there is a theoretical $O(n^{2.376})$ time algorithm for finding the &lt;a href=&quot;http://en.wikipedia.org/wiki/LU_decomposition#Algorithms&quot; rel=&quot;nofollow noreferrer&quot;&gt;LU decomposition&lt;/a&gt; of an arbitrary matrix using the &lt;a href=&quot;http://en.wikipedia.org/wiki/Coppersmith%E2%80%93Winograd_algorithm&quot; rel=&quot;nofollow noreferrer&quot;&gt;Coppersmith–Winograd algorithm&lt;/a&gt;, which then obviously yields the determinant (adding $O(n)$ time).  There is a problem however that the Coppersmith–Winograd algorithm isn't considered usable in practice.  Afaik, people mostly use the $O(n^{2.807})$ time Strassen algorithm.  Doesn't Boost UBLAS's &lt;a href=&quot;https://stackoverflow.com/questions/1419681/boost-library-how-to-get-determinant-from-lu-factorize&quot;&gt;lu_factorize&lt;/a&gt; use this?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In you case, the Moore matrix should admit considerable optimizations because basically any Gaussian elimination like procedure like LU decomposition can be done abstractly.  Indeed, you'll find a nice $O(n)$ formula for computing the Moore determinant &lt;a href=&quot;http://en.wikipedia.org/wiki/Moore_matrix&quot; rel=&quot;nofollow noreferrer&quot;&gt;referenced by wikipedia&lt;/a&gt;, which presumably one proves by simply working out the LU decomposition in general.&lt;/p&gt;&#xA;" OwnerUserId="6665" LastEditorUserId="-1" LastEditDate="2017-05-23T12:40:09.333" LastActivityDate="2012-01-07T04:32:49.907" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="9633" PostTypeId="2" ParentId="7715" CreationDate="2012-01-06T17:17:32.250" Score="2" Body="&lt;p&gt;We've just put up a paper on arXiv (&lt;a href=&quot;http://arxiv.org/abs/1201.1214&quot; rel=&quot;nofollow&quot;&gt;http://arxiv.org/abs/1201.1214&lt;/a&gt;) that proves generic lower bounds for &quot;statistical algorithms&quot; for optimization problems, with each &quot;problem&quot; having its own lower bound depending on its various properties.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Coordinate descent (and pretty much anything else we can think of) can be seen as a statistical algorithm in our framework, so hopefully this paper has some results that will be of interest to you.&lt;/p&gt;&#xA;" OwnerUserId="123" LastActivityDate="2012-01-06T17:17:32.250" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9634" PostTypeId="2" ParentId="9622" CreationDate="2012-01-06T17:36:37.790" Score="0" Body="&lt;p&gt;(As mentioned in the comments, the following approach does not work. The obtained object is not convex. It characterizes a &quot;star-shaped&quot; object with minimum expected distance though.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think the optimal object would be a union of $K$ and some ball centered at the origin.&#xA;Here are my thoughts.&#xA;By your definition of $f(L)$, &#xA;$$&#xD;&#xA;f(L) \sim \int_{{\mathbb S}^{d-1}} \int_{0}^{r_L} x\frac{\mathrm{d}(x^d/x_L^d)}{\mathrm dx}\frac{r_L}{\mathrm{vol}(L)} \mathrm dx\mathrm dS \sim \int_{{\mathbb S}^{d-1}} \frac{r_L^2}{\mathrm{vol}(L)}dS \sim \frac{\int_{{\mathbb S}^{d-1}} r_L^2 dS}{\int_{{\mathbb S}^{d-1}} r_L dS} \stackrel{\mathrm{def}}{=} g(L),&#xD;&#xA;$$&#xA;where $r_L$ is the distance from the origin to the surface of $L$ along a particular direction.&#xA;I used $\sim$ instead of =, because I dropped some constants.&#xA;Now we want to minimize $g(L)$ under the constraints that $r_L \ge r_K$ along any direction.&#xA;Notice that if $r_K$ along some direction is smaller than $g(K)/2$, then we can make it slightly larger, say increase it by $\epsilon \le g(K)/2 -r_K$, to make $g(K)$ smaller.&#xA;That is because we increase the enumerator by $(r_L+\epsilon)^2 -r_L^2 = \epsilon(2r_L + \epsilon)$, less than a factor $g(K)$ of the increase in the denominator.&#xA;Therefore, we can think of gradually &quot;deforming&quot; $K$ (by repeatedly growing the object slightly, and updating $g(\cdot)$) to make its $g(\cdot)$ value smaller.&#xA;Let $K^*$ be the convex object in the end.&#xA;Then, any point on $\partial K^*\setminus \partial K$ is at distance $g(K^*)/2$ from the origin, i.e., $K^*$ is the union of $K$ and a ball with radius $g(K^*)/2$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Indeed, consider another convex object $K&amp;#39;$ such that $g(K&amp;#39;) = g(K)$. Then $K^*\subseteq K&amp;#39;$, since otherwise we can grow the part of $K&amp;#39;$ inside $K^*$ to make $g(K&amp;#39;)$ smaller.&#xA;On the other hand, $K&amp;#39;\subseteq K^*$, because otherwise, by the same idea, we can shrink  the part of $K&amp;#39;\setminus K$ outside $K^*$ to make $g(K&amp;#39;)$ smaller.&#xA;So there is a unique optimal solution.&lt;/p&gt;&#xA;" OwnerUserId="7852" LastEditorUserId="7852" LastEditDate="2012-01-07T07:53:25.657" LastActivityDate="2012-01-07T07:53:25.657" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="9635" PostTypeId="2" ParentId="9608" CreationDate="2012-01-06T18:01:36.577" Score="4" Body="&lt;p&gt;I am PhD student also interested in studying theoretical computer science, not really interested in other areas of CS. The route I took was to enter a PhD program in Applied Mathematics. (Pure mathematics may work as well, but this may require more mathematics coursework than you want). This gives a lot more flexibility in courses.  In fact I am taking more TCS courses than I would be allowed to as a pure CS student. My dissertation will be in TCS and I will work with a CS advisor.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I found that this was basically the best way out of the dilemma you are facing.&lt;/p&gt;&#xA;" OwnerUserId="5538" LastActivityDate="2012-01-06T18:01:36.577" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="9636" PostTypeId="2" ParentId="9623" CreationDate="2012-01-06T18:03:51.053" Score="1" Body="&lt;p&gt;Let $T$ be any recursively axiomatized but undecidable theory (such as arithmetic, set theory, etc.) Then the logical consequences of $T$ are recursively enumerable but not recursive.&lt;/p&gt;&#xA;" OwnerUserId="5538" LastActivityDate="2012-01-06T18:03:51.053" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9637" PostTypeId="2" ParentId="9561" CreationDate="2012-01-06T19:25:11.683" Score="5" Body="&lt;p&gt;Here's the shortest superstring problem: you are given $n$ strings $s_1,\ldots, s_n$ over some alphabet $\Sigma$ and you want to find the shortest string over $\Sigma$ that contains each $s_i$ as a subsequence of consecutive characters, i.e. a substring.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;When we talk about exact algorithms for the problem, finding the length $L$ of the shortest superstring is equivalent to finding the maximum compression $C$ which is the sum of all consecutive string overlaps in the final superstring, i.e. $C=\sum_i |s_i|-L$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As far as I know, the fastest exact algorithm for shortest superstring runs in $O^*$($2^n$) where $n$ is the number of strings. This is a simple dynamic programming algorithm similar to the dynamic programming algorithm for longest path (and other problems): &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For each subset of strings $S$ and string $v$ in $S$ we compute the maximum compression over all superstrings over $S$ where $v$ is the first string appearing in the superstring, storing this as C(($v,S$)). We do this by first processing all subsets with only one element, and then building up the C(($v,S$)) values for subsets $S$ on $k$ strings from those on $k-1$ strings. Specifically:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For each string $u$ we look at all subsets $S&amp;#39;$ on $k-1$ strings that don't include $u$ and set the value for ($u,{u}\cup S'$) to the maximum over&#xA;strings $v$ in $S&amp;#39;$ of the sum of the maximum overlap of $u$ with $v$ with C(($v,S'$)).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The final runtime is no more than O($n^2 2^n + n^2 l$) where $l$ is the maximum string length.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are better algorithms if you assume that $l$ is small, or the pairwise overlaps are small, the alphabet size is small etc, but I am not aware of any algorithm that's faster than $2^n$.&lt;/p&gt;&#xA;" OwnerUserId="410" LastActivityDate="2012-01-06T19:25:11.683" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="9638" PostTypeId="1" AcceptedAnswerId="9641" CreationDate="2012-01-06T19:46:56.633" Score="2" ViewCount="419" Body="&lt;p&gt;I am curious to know whether there are problems which are np-hard even on planar unit disk graphs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A unit disk graph is the intersection graph of a collection of unit disks in the plane, where we draw a vertex for each unit disk. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Maybe some problem on a accordingly restricted grid graph?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;alex&lt;/p&gt;&#xA;" OwnerUserId="7854" LastEditorUserId="7854" LastEditDate="2012-01-06T19:57:34.110" LastActivityDate="2012-01-09T07:49:55.087" Title="NP-hard problem on planar unit disk graph" Tags="&lt;np-hardness&gt;&lt;cg.comp-geom&gt;" AnswerCount="2" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9639" PostTypeId="1" AcceptedAnswerId="9646" CreationDate="2012-01-06T20:11:20.557" Score="9" ViewCount="5403" Body="&lt;p&gt;When interpreting keys as natural numbers we can use the following formula.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;\begin{equation}&#xA;h(k) = \lfloor m (kA\bmod{1}) \rfloor&#xA;\end{equation}&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What I am having trouble understanding is how we choose the value of A where:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;\begin{equation}&#xA;0 &amp;lt; A &amp;lt; 1&#xA;\end{equation}&lt;/p&gt;&#xA;&#xA;&lt;p&gt;According to Knuth an optimal value is:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;\begin{equation}&#xA;A \thickapprox (\sqrt{5} - 1) / 2 = 0.6180339887...&#xA;\end{equation}&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So my question is how did Knuth come to this and how could I calculate an optimum value for my specific data?&lt;/p&gt;&#xA;" OwnerUserId="7853" LastEditorUserId="7853" LastEditDate="2012-01-07T19:02:10.597" LastActivityDate="2015-01-08T08:09:41.883" Title="How did Knuth derive A?" Tags="&lt;hash-function&gt;" AnswerCount="1" CommentCount="6" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="9641" PostTypeId="2" ParentId="9638" CreationDate="2012-01-06T21:35:21.680" Score="9" Body="&lt;p&gt;Did you try doing a search for &quot;planar unit disk graphs&quot;? According to &lt;a href=&quot;http://www.mpi-inf.mpg.de/~nikolam/downloads/scheduling-adhocnow11.pdf&quot;&gt;this paper&lt;/a&gt; the problem of finding the largest possible induced matching is NP-complete for planar unit disk graphs, according to &lt;a href=&quot;http://books.google.com/books?hl=en&amp;amp;lr=&amp;amp;id=bn0Zub_NpM8C&amp;amp;oi=fnd&amp;amp;pg=PA61&quot;&gt;this paper&lt;/a&gt; so is the minimum connected dominating set, and according to &lt;a href=&quot;http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=4288232&amp;amp;tag=1&quot;&gt;this paper&lt;/a&gt; so is the maximum number of disjoint dominating sets.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2012-01-06T21:35:21.680" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9645" PostTypeId="1" CreationDate="2012-01-07T02:43:47.777" Score="5" ViewCount="498" Body="&lt;p&gt;Bencoding is the encoding scheme used by Bittorrent applications. You’re probably most familiar with bencoding via the &lt;code&gt;.torrent&lt;/code&gt; file format used by Bittorrent applications. It’s a simple encoding scheme, so I am wondering if a context-free grammar could be constructed for it. There are a couple of reasons I think  it cannot: &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;The location of terminals depends on the ‘interpreted’ value of certain length-prefixed values.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Terminals can be present inside of non-terminal sequences, but in principal (i.e., in well-formed Bencodes) are not ever encountered by a parser except for verification maybe. In fact, entire Bencodes (in theory) could be present as values of, let’s say, a list element of a Bencode, but in such a way that they’re meant to be interpreted as “data” and not as something to be parsed or transformed by a rule. It’s ever-so-slightly more subtle than normal recursion as far as I can tell…&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Update&lt;/strong&gt;: When thinking about this I realized something odd whereby one could convert a context-dependent grammar into a context-free grammar; i.e., consider the problem of length-prefixed values such as appear in Bencode. For convenience I will use Bencode’s syntax; so let’s consider the string &lt;code&gt;5:hello&lt;/code&gt;. If you have a trivial function that converts the ASCII “5” into a unary value and all the other ASCII characters into a character then you have an equivalent structure.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Viz. &lt;code&gt;5:hello&lt;/code&gt; becomes &lt;code&gt;olleh:hello&lt;/code&gt;; I like the idea of reversing the string because then you could easily construct another function to map the string back onto the ASCII numeral (after appropriate checks have been made that the string is in fact the length reported as to not skew semantics; I am not considering non-conforming strings, since we are talking about grammar...).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is of course a very simple case of dependent grammar, but I wonder 1.) if anybody else has noticed this (I am sure), and 2.) if this could resolve some other context-dependent situations.&lt;/p&gt;&#xA;" OwnerUserId="7859" LastEditorUserId="1800" LastEditDate="2012-01-07T16:36:37.693" LastActivityDate="2012-01-08T16:01:34.737" Title="Can Bencodes Be Described With a Context-Free Grammar?" Tags="&lt;fl.formal-languages&gt;&lt;context-free&gt;&lt;encoding&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9646" PostTypeId="2" ParentId="9639" CreationDate="2012-01-07T02:47:47.513" Score="20" Body="&lt;p&gt;See exercise 9 of section 6.4 of &lt;a href=&quot;https://en.wikipedia.org/wiki/The_Art_of_Computer_Programming&quot; rel=&quot;nofollow&quot;&gt;&lt;em&gt;The Art of Computer Programming&lt;/em&gt;&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any irrational $A$ would work, because $\{kA\}$ breaks up a largest gap of $\{A\}, \{2A\}, \ldots, \{(k-1)A\}$ (I use the notation $\{x\}$ for $x\mod 1$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But if $A = \phi^{-1}$ or $A = \phi^{-2}$, it has a special property: these are the only values for which neither of the two newly created gaps is more than twice as long as the other.&lt;/p&gt;&#xA;" OwnerUserId="168" LastEditorUserId="4193" LastEditDate="2015-01-08T08:09:41.883" LastActivityDate="2015-01-08T08:09:41.883" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9648" PostTypeId="1" AcceptedAnswerId="9658" CreationDate="2012-01-07T09:16:39.473" Score="3" ViewCount="179" Body="&lt;p&gt;Is there any known result on approximating an arbitrary tree metric by an HST metric (or an Ultrametric)? What is the distortion? Thanks.&lt;/p&gt;&#xA;" OwnerUserId="383" LastEditorUserId="383" LastEditDate="2012-01-07T10:48:04.727" LastActivityDate="2012-01-08T00:04:25.883" Title="Is there any result on approximating an arbitrary tree metric by an HST metric?" Tags="&lt;ds.algorithms&gt;&lt;approximation-algorithms&gt;&lt;embeddings&gt;" AnswerCount="2" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="9649" PostTypeId="2" ParentId="9648" CreationDate="2012-01-07T09:38:26.017" Score="3" Body="&lt;p&gt;There is a classic &lt;a href=&quot;http://research.microsoft.com/pubs/74347/06-journal.pdf&quot; rel=&quot;nofollow&quot;&gt;result&lt;/a&gt; by Fakcharoenphol, Rao, and Talwar showing that any $n$ point metric space can be embedded into an HST metric with expected distortion $O(log\, n)$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;One should keep in mind that this result holds only for probabilistic embeddings, since there are metrics (such as the $n$-cycle) which will give you an $\Omega(n)$ distortion if you only accept deterministic embeddings.&lt;/p&gt;&#xA;" OwnerUserId="49" LastActivityDate="2012-01-07T09:38:26.017" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9650" PostTypeId="2" ParentId="6060" CreationDate="2012-01-07T10:55:12.880" Score="3" Body="&lt;p&gt;The problem can be solved at least in $O(M \cdot T \log T)$ which is theoretically better, but may be slower than $O(M\cdot T\cdot L)$ in practice if $L$ is comparable to $\log T$.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let's show how to find a score of each $v_i$ independently in $O(T \log T)$. For any (possibly gapped) string $W = w_0 w_1 \ldots w_{n-1}$ define two polynomials $zeros_W(x)$ and $ones_W(x)$ as follows:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$ zeros_W(x) = \sum_{i=0}^{n-1} [w_i = &amp;#39;&amp;#39;0&amp;#39;&amp;#39;]x^i$$&#xA;$$ ones_W(x) = \sum_{i=0}^{n-1} [w_i = &amp;#39;&amp;#39;1&amp;#39;&amp;#39;]x^i$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where $[P]$ is &lt;a href=&quot;http://en.wikipedia.org/wiki/Iverson_bracket&quot; rel=&quot;nofollow&quot;&gt;Iverson notation&lt;/a&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, $zeros_{01...01}(x) = 1 + x^5$, $ones_{01...01}(x) = x + x^6$, $zeros_{0001100}(x) = 1+x+x^2+x^5+x^6$ and $ones_{0001100}(x) = x^3 + x^4$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then compute coefficients of the following polynomial $$c(x) = zeros_S(x) \cdot ones_{rev(v_i)}(x) + ones_{S}(x) \cdot zeros_{rev(v_i)}(x) = \sum_{j}c_j x^j$$ where $rev(W) = w_{n-1} \ldots w_1 w_0$ is just reversed $W$. It's easy to see that $c_{L-1+k}$ will be equals exactly to the difference between $s_k s_{k+1} \ldots s_{k+L-1}$ and $v_i$. For example, for $S=&amp;#39;&amp;#39;0100&amp;#39;&amp;#39;$ and $v_i = &amp;#39;&amp;#39;10&amp;#39;&amp;#39;$ $c(x)$ will be equal to $(1+x^2+x^3)\cdot x + x \cdot 1 = 2x + x^3 + x^4$ which gives us all interesting differences (2, 0, 1) so we can calculate score in linear time. Thus the problem is reduced to polynomial multiplication, which can be done in $O(T \log T)$ using &lt;a href=&quot;http://en.wikipedia.org/wiki/Multiplication_algorithm#Fourier_transform_methods&quot; rel=&quot;nofollow&quot;&gt;FFT&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The possible disadvantage of such approach is that FFT has essential constant hidden in its big-O, so using $O(T^{1.585})$ &lt;a href=&quot;http://en.wikipedia.org/wiki/Karatsuba_algorithm&quot; rel=&quot;nofollow&quot;&gt;Karatsuba multiplication&lt;/a&gt; or something similar may work better in practice for not very large $T$.&lt;/p&gt;&#xA;" OwnerUserId="7846" LastEditorUserId="7846" LastEditDate="2012-01-07T12:07:50.530" LastActivityDate="2012-01-07T12:07:50.530" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9651" PostTypeId="2" ParentId="9527" CreationDate="2012-01-07T11:55:37.400" Score="3" Body="&lt;p&gt;I've implemented an $O(2^n n)$ solution for quick hypothesis checking. &lt;a href=&quot;http://ideone.com/Owg32&quot; rel=&quot;nofollow&quot;&gt;Feel free to play with it&lt;/a&gt;. If you don't have C++ compiler locally, you can run it on different inputs remotely using &quot;upload with new input&quot; link.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;@JɛﬀE It happened that (1,4,3,2) has value *1, not *2 as you suggested.&lt;/p&gt;&#xA;" OwnerUserId="7846" LastActivityDate="2012-01-07T11:55:37.400" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="9652" PostTypeId="1" AcceptedAnswerId="9655" CreationDate="2012-01-07T13:10:11.053" Score="4" ViewCount="455" Body="&lt;p&gt;To be specific, let me first define the busy beaver function BB(n)= maximum number of 1's that can be printed on the tape (i.e., the maximum &lt;strong&gt;score&lt;/strong&gt;) by a standard n-state, 2-symbol (0 and 1) Turing machine before halt, starting with an all-zero tape. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;My first question maybe trivial: is it true that BB(n+1)&gt;BB(n) for all n?  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The claim is true if we define the busy beaver by BB'(n)= maximum number of &lt;strong&gt;shifts&lt;/strong&gt; made by the machine before halt. (This is because we can always keep everything else the same, and change the last shift made by BB'(n), say $\{ 0{q}_{i}1RH\}$, to $\{ 0{q}_{i}1R{q}_{n+1}\}$ and $\{1{q}_{n+1}1RH\}$ to arrive at an (n+1)-state turing machine which has exactly one more shift than BB'(n) before halt.) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can we show that the strict inequality holds too if we measure by &lt;strong&gt;scores&lt;/strong&gt;? &lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;What about the general case? Is every busy beaver strictly monotonic, for large enough n?&lt;/p&gt;&#xA;" OwnerUserId="7862" LastActivityDate="2012-01-07T17:21:28.027" Title="Is every busy beaver strictly monotonic asymptotically?" Tags="&lt;computability&gt;&lt;turing-machines&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9654" PostTypeId="1" AcceptedAnswerId="9656" CreationDate="2012-01-07T15:46:01.443" Score="11" ViewCount="771" Body="&lt;p&gt;Suppose we consider 3-SAT with $v$ variables and $c$ clauses.  I am researching a method that appears to take $O(v^{2+\log c})$ time/space to solve any SAT problem fitting this description, to within an error that can be adjusted to an arbitrary amount.  However, there is a catch.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This method requires a set of precomputed values, after which it can solve an arbitrary 3-SAT problem fitting the above description.  The precomputed values are a set of size $O(v^{2+\log c})$ with each value taking $O(1)$ space.  The real problem is that each of these values could take $O(2^v)$ time to compute.  There is a chance that I can find a way to speed up these calculations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm thinking that the bounds itself beats the upper bounds presented in &lt;a href=&quot;https://cstheory.stackexchange.com/questions/1060&quot;&gt;this question&lt;/a&gt; (for small $c$).  So I'm wondering, is there a trivial way to reach the upper bounds I describe if we allow $O(v^{2+\log c})$ precomputations?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'd like to continue this research and hopefully publish my results if everything works out, but first I'd like to know if there is a trivial way to do as well or better.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;UPDATE&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have been studying related problems in addition to researching this algorithm.  I asked &lt;a href=&quot;https://security.stackexchange.com/questions/20585/how-will-security-need-to-be-changed-if-we-can-crack-password-hashes-in-quasi-po&quot;&gt;This question on StackExchange's IT Security site&lt;/a&gt; relating to password cracking and SAT, if you are interested.  At least one of the answers reflects this.&lt;/p&gt;&#xA;" OwnerUserId="1549" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2012-09-24T01:06:22.647" Title="Are quasi-polynomial sized circuits for 3-SAT trivial?" Tags="&lt;ds.algorithms&gt;&lt;sat&gt;&lt;upper-bounds&gt;" AnswerCount="2" CommentCount="9" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="9655" PostTypeId="2" ParentId="9652" CreationDate="2012-01-07T17:21:28.027" Score="16" Body="&lt;p&gt;Take an $n$-state Turing machine $M$ which outputs $k$ one symbols. Define the new Turing machine $M&amp;#39;$ with $n+1$ states as follows. Every transition in $M$ to the ACCEPT state instead goes into a new state $q&amp;#39;$. The state $q&amp;#39;$ has the following behavior. If the head currently contains a ZERO, we overwrite with a ONE and ACCEPT. If the head currently contains a ONE, we shift to the right and remain in state $q&amp;#39;$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As machine $M$ halts, so does machine $M&amp;#39;$. Furthermore, machine $M&amp;#39;$ always puts one $k+1$ ONES onto the tape.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So $BB(n+1) \geq k+1 &amp;gt; k = BB(n)$&lt;/p&gt;&#xA;" OwnerUserId="5538" LastActivityDate="2012-01-07T17:21:28.027" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9656" PostTypeId="2" ParentId="9654" CreationDate="2012-01-07T18:54:56.603" Score="17" Body="&lt;p&gt;If what you are studying worked out, it definitely would not be trivial.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It would imply that 3SAT has (non-uniform) circuits of size $n^{O(\log n)}$. Then, every language in $NP$ (and the polynomial time hierarchy) would have quasi-polynomial (i.e., $n^{O(\log^c n)}$) size circuits.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Even if it took $2^{2^n}$ preprocessing time to produce a data structure of size only $2^{O(\log^2 n)}$ which could then correctly answer arbitrary 3SAT queries of size $n$ in $2^{O(\log^2 n)}$ randomized time with high probability, 3SAT would have quasi-polynomial size circuits, using the known translation of randomized algorithms to circuits. This would not improve the known algorithm time bounds because of the preprocessing, but it would still be extremely interesting as a non-uniform result.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What do you mean by &quot;to within an error that can be adjusted to an arbitrary amount&quot;? Is the algorithm randomized? &lt;/p&gt;&#xA;" OwnerUserId="225" LastActivityDate="2012-01-07T18:54:56.603" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="9657" PostTypeId="2" ParentId="9608" CreationDate="2012-01-07T19:33:32.203" Score="8" Body="&lt;p&gt;I want to disagree slightly with Dave Clarke and Lev Reyzin.  At least in my department, &lt;strong&gt;PhD admission standards for students with MS degrees are higher than for students with only bachelor's degrees.&lt;/strong&gt;  Additional experience &lt;em&gt;can&lt;/em&gt; be a disadvantage, if it isn't &lt;em&gt;enough&lt;/em&gt; additional experience.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;All else being equal, my department expects any applicant with an MS to have a publication, or at least a publishable result, before we will consider them for admission to the PhD program.  (And by &quot;published&quot;, I mean in a reputable peer-reviewed web-accessible conference proceedings or journal, not just a master's thesis, internal technical report, student research conference, or &lt;em&gt;The Inaccessible Chinese Journal of Computer Science&lt;/em&gt;.)  Working a full time job is unlikely to leave you enough time—or more importantly, enough mental energy—to do publishable research.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course, ceterus is never paribus.  We do soften the de facto publication requirement for  MS applicants who have switched major fields.  But then you're in the uncomfortable position of explaining a perceived weakness.  (On the other hand, I'm not sure switching from mathematics to theoretical computer science counts as &quot;major&quot;.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My advice is not to put your eggs in one basket.  &lt;strong&gt;First, talk to people you might work with in the programs you are interested in.&lt;/strong&gt;  Let me emphasize the plurals here — talk to &lt;em&gt;multiple people&lt;/em&gt; in &lt;em&gt;multiple departments&lt;/em&gt;.  Second, in the absence of specific contradictory advice from target departments, &lt;strong&gt;apply to &lt;em&gt;both&lt;/em&gt; MS and PhD programs.&lt;/strong&gt;  (Some universities, or at least their web forms, stupidly make you pick one or the other, in which case you &lt;em&gt;must&lt;/em&gt; talk directly to the admissions office of your target department.)  Sane PhD programs let incoming students from other fields take undergrad CS courses for remediation.&lt;/p&gt;&#xA;" OwnerUserId="111" LastActivityDate="2012-01-07T19:33:32.203" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="9658" PostTypeId="2" ParentId="9648" CreationDate="2012-01-07T20:44:50.013" Score="4" Body="&lt;p&gt;The distortion of embedding any $n$-point metric in  ultrametric is at most $n-1$, and on the other hand, the distortion of embedding the path metric $P_n$ in ultrametric is at least $n-1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Similarly, if you are interested in probabilistic embedding, then by Fakcharoenphol, Rao, and Talwar result mentioned above, any $n$-point metric space probabilistically embeds in ultrametric with distortion $O(\log n)$. &#xA;On the other hand, the distortion of probabilistically embedding $P_n$ in ultrametric is $\Omega(\log n)$.&lt;/p&gt;&#xA;" OwnerUserId="7865" LastEditorUserId="7865" LastEditDate="2012-01-08T00:04:25.883" LastActivityDate="2012-01-08T00:04:25.883" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9660" PostTypeId="2" ParentId="9608" CreationDate="2012-01-08T05:53:27.357" Score="2" Body="&lt;p&gt;I'll concur with JɛﬀE that MS degrees are viewed as &quot;consolation prizes&quot; in the sciences in the U.S. because people usually take them when they fail qualifying exams in Ph.D programs.  And who pays to do an MS when they'll pay you to do a Ph.D directly?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'd also concur with David Harris that mathematics might prove the most efficient route to doing serious theoretical work, but this depends entirely upon the program.  Ask any math or comp. sci. departments who make offers how they feel about students taking courses outside the department though. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I do recommend that you broaden your interests in more applied computer science of course, but do so by reading something.  There are mathematically entertaining topics around databases, like &lt;a href=&quot;http://en.wikipedia.org/wiki/Bloom_filter&quot; rel=&quot;nofollow&quot;&gt;Bloom filters&lt;/a&gt;, as well as fun applied papers, like the &lt;a href=&quot;http://css.csail.mit.edu/cryptdb/&quot; rel=&quot;nofollow&quot;&gt;CryptDB&lt;/a&gt; articles.&lt;/p&gt;&#xA;" OwnerUserId="6665" LastActivityDate="2012-01-08T05:53:27.357" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9663" PostTypeId="2" ParentId="9645" CreationDate="2012-01-08T16:01:34.737" Score="7" Body="&lt;p&gt;The language of valid Bencoded values is &lt;em&gt;not&lt;/em&gt; context-free&amp;mdash;and nor is just the language of Bencoded strings. Let $L$ be the set of valid Bencoded values, and let $L&amp;#39;$ be the intersection of $L$ with the regular language &lt;code&gt;[0-9]*:a*&lt;/code&gt;, i.e. the Bencoded strings with just the symbol &lt;code&gt;a&lt;/code&gt;. If $L$ were context-free, so would $L&amp;#39;$, but $L&amp;#39;$ does not satisfy the pumping lemma.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose $L&amp;#39;$ is context-free, the pumping lemma applies. Let $n$ be the pumping threshold and let $w = \mathrm{dec}(n):a^n$, where $\mathrm{dec}(n)$ denotes $n$ written in decimal. Then $w = \alpha\beta\gamma\delta\epsilon$, and $\alpha\beta^m\gamma\delta^m\epsilon \in L&amp;#39;$ for all $m$. The colon must appear in $\gamma$ (the other cases can easily contradicted). Then the number to the left of the colon grows exponentially in $m$ (since its length in decimal increases linearly), but the string to the right only grows linearly, so the number can't be equal to its length.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You said&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;If you have a trivial function that converts the ASCII “5” into a unary value and all the other ASCII characters into a character then you have an equivalent structure.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;but it turns out that this function is not trivial from the perspective of context-free grammars.&lt;/p&gt;&#xA;" OwnerUserId="2241" LastActivityDate="2012-01-08T16:01:34.737" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9666" PostTypeId="1" CreationDate="2012-01-09T04:00:37.020" Score="8" ViewCount="350" Body="&lt;p&gt;Also called exponentiated gradient.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I understand these are three places where multiplicative weights shows up (i.e. $w_{t+1} = w_{t}e^{- \text{loss}(w_{t})}$ or variations. And I understand a bit about these interpretations. But what ties them all together? In particular, multiplicative weights has been around a long time and appeared in combinatorial optimization contexts that I understand much less well than the low-regret interpretation. I kind of understand the connection between convex optimization and low-regret learning, but I don't understand why entropy appears as the proximal gradient regularization term. Is there an information-theoretic interpretation of all this? And does it clarify anything?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In other words, there's a web of connections here, I know a lot of people are paying attention to this, and I understand bits and pieces, but what's the best lens to get at the big picture?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Related papers on &lt;a href=&quot;http://www.cs.cmu.edu/~maz/publications/ICML03.pdf&quot; rel=&quot;nofollow&quot;&gt;regret (pdf)&lt;/a&gt;, &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0167637702002316&quot; rel=&quot;nofollow&quot;&gt;mirror descent&lt;/a&gt;, and&#xA;multiplicative weights application from S.A. Plotkin, D.B. Shmoys, and E. Tardos (1991).&lt;/p&gt;&#xA;" OwnerUserId="3337" LastEditorUserId="1037" LastEditDate="2012-01-12T17:50:48.660" LastActivityDate="2012-01-12T17:50:48.660" Title="View of Multiplicative Weights in contexts of combinatorial optimization, low-regret/online optimization, and entropy-regularized gradient descent?" Tags="&lt;optimization&gt;&lt;lg.learning&gt;&lt;online-algorithms&gt;" AnswerCount="0" CommentCount="3" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="9667" PostTypeId="2" ParentId="9638" CreationDate="2012-01-09T07:49:55.087" Score="0" Body="&lt;p&gt;According to &lt;a href=&quot;http://www.utdallas.edu/~ravip/papers/infocom2000.pdf&quot; rel=&quot;nofollow&quot;&gt;this paper&lt;/a&gt;, the dominating set problem and the minimum d-hops dominating set problem are NP-Complete for unit disk graphs.&lt;/p&gt;&#xA;" OwnerUserId="2954" LastActivityDate="2012-01-09T07:49:55.087" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9669" PostTypeId="2" ParentId="8565" CreationDate="2012-01-09T10:39:13.573" Score="7" Body="&lt;p&gt;The lower bound had been slightly improved to $\Omega(8.65^n)$ (&lt;a href=&quot;http://arxiv.org/abs/1012.5664&quot;&gt;see arXiv here&lt;/a&gt;). I try to maintain up-to-date bounds to various variants of this problem &lt;a href=&quot;http://www.cs.tau.ac.il/~sheffera/counting/PlaneGraphs.html&quot;&gt;in this webpage&lt;/a&gt; (sorry about this shameless self-advertisement).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I very much like your claim that the problem is difficult because &quot;understanding noncrossing-ness is difficult&quot;. The $30^n$ bound (and some of the previous bounds) relies on a connection between the number of triangulations and the expected properties of a random triangulation (chosen uniformly from the set of all possible triangulations of the point set). This transforms the problem into studying expected properties of a random triangulation, which is difficult because the noncrossing-ness doesn't allow us to use the standard probabilistic tools (e.g., we cannot choose each edge with some probability $p$ because this might induce some crossings). So the non-crossing-ness forces us to develop new methods for studying random graphs. &lt;/p&gt;&#xA;" OwnerUserId="7879" LastActivityDate="2012-01-09T10:39:13.573" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9670" PostTypeId="1" AcceptedAnswerId="9675" CreationDate="2012-01-09T12:47:53.163" Score="1" ViewCount="568" Body="&lt;p&gt;&lt;a href=&quot;http://www.cs.cmu.edu/afs/cs.cmu.edu/user/sleator/www/papers/dynamic-trees.pdf&quot; rel=&quot;nofollow&quot;&gt;ST&lt;/a&gt; &lt;a href=&quot;http://www.cs.uiuc.edu/~jeffe/teaching/datastructures/2006/notes/07-linkcut.pdf&quot; rel=&quot;nofollow&quot;&gt;(or link cut)&lt;/a&gt; trees are a special kind of trees used for dynamic graph algorithms. They support the following operations in logarithmic time:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;CUT(v) Deletes the edge from v to its parent&lt;/li&gt;&#xA;&lt;li&gt;JOIN(v, w) Where v is a root vertex, assigns parent(v) ← w (makes v a child of w)&lt;/li&gt;&#xA;&lt;li&gt;FIND_ROOT(v) Returns the root of the tree containing v&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;My question here is how to delete an arbitrary edge (u, v) from the tree, and what would be its complexity? If it is too complex or unfeasible to do that, can you point me to an algorithm ((pseudo)code) for the fully dynamic unweighted undirected graph connectivity problem. If it is of any help, &lt;strong&gt;the degree of every edge is guaranteed to be at most 2&lt;/strong&gt; at any point of the algorithm. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I've read quite a few papers on the topic but in almost all of them the authors only give us very high level descriptions of these structures, in the form of theorems.&lt;/p&gt;&#xA;" OwnerUserId="7881" LastEditorUserId="7881" LastEditDate="2012-01-09T17:27:49.460" LastActivityDate="2012-01-10T12:32:21.483" Title="Remove specific edge from ST (link-cut) tree" Tags="&lt;graph-algorithms&gt;&lt;ds.data-structures&gt;&lt;tree&gt;&lt;dynamic-algorithms&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9672" PostTypeId="2" ParentId="9527" CreationDate="2012-01-09T17:41:14.080" Score="7" Body="&lt;p&gt;In his answer, domotorp suggests analyzing a special case of the game. This special case arises when the permutation is a series of increasing sequences, each of which is larger than the following one, such as (8,9,5,6,7,4,1,2,3). In this game, you start with a collection of heaps of stones, and players alternately remove one stones from a heap. The player who leaves a single heap wins. We will say the $i$th heap has $h_i$ stones in it, and assume that the $h_i$ are given in decreasing order. For example, for the permutation above, the $h_i$ are 3,3,2,1.  I tried giving the analysis of this game in the comments to domotorp's answer, but (a) I got it wrong and (b) there isn't enough room in comments to give a real proof.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To analyze this game, we need to compare two quantities: $s$, the number of heaps containing single stones and $t=\sum_{i\geq 2, h_i&amp;gt;2\,} h_i -2$; note that we ignore the largest heap in the sum. This is the number of stones you would have to remove to ensure that all heaps but one contain no more than two stones. We claim that the losing positions are as follows:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Positions where $t \leq s-2$ containing an odd number of stones.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Positions where $t \geq s$ containing an even number of stones.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;It is easy to show that from a losing position, you must go to a winning position, since $t - s$ can only change by at most 1 each turn, and the number of stones goes down by 1 each move.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To finish showing that this is correct, we need to show that from any position which is not in category (1) or (2), the first player can in one move either reach a position in category (1) or (2), or win directly. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are two cases:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Positions where $t \geq s-1$ containing an odd number of stones. Here, if $s&amp;gt;0$, remove a stone from a heap with a single stone. If there's only one heap left, we've won. Otherwise, we now have $t \geq s$. If there are no heaps with a single stone, remove a stone from a heap with at least three stones. (Since there were an odd number of stones, this is possible). Since $s = 0$, we have $t \geq s$. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Positions where $t \leq s-1$ containing an even number of stones. Here, if there are any heaps with at least two stones other than the largest heap, remove a stone from one of them. If this heap has three or more stones in it, $t$ decreases by one. If it has exactly two stones in it, $s$ increases by one. We now have $t \leq s-2$. The last case is when all the heaps except one consist of single stones; in this case, it is easy to check the first player wins if there are an even number of stones. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;I've tried generalizing this strategy to the original game, and haven't figured out how to do it. &lt;/p&gt;&#xA;" OwnerUserId="1677" LastEditorUserId="1677" LastEditDate="2012-01-10T18:22:30.467" LastActivityDate="2012-01-10T18:22:30.467" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="9673" PostTypeId="1" AcceptedAnswerId="9696" CreationDate="2012-01-09T18:54:58.383" Score="9" ViewCount="8580" Body="&lt;p&gt;I would like to know why for the recognition of context-free languages only non-deterministic push-down automata (DPA=NPDA) work. Why do deterministic push-down automata (DPDA) not recognize such languages?&lt;/p&gt;&#xA;" OwnerUserId="7885" LastEditorUserId="186" LastEditDate="2012-07-05T08:29:35.900" LastActivityDate="2015-12-25T06:50:21.817" Title="Why is non-determinism (Push-down automata) necessary?" Tags="&lt;fl.formal-languages&gt;&lt;automata-theory&gt;&lt;context-free&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="9675" PostTypeId="2" ParentId="9670" CreationDate="2012-01-09T19:29:00.403" Score="2" Body="&lt;p&gt;For any edge $(u,v)$ either $u$ is $v$'s parent or vice versa. So you just call CUT for &quot;deeper&quot; vertex.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;UPD: To determine which vertex is deeper you can use Access($v$). If after this operation $u$ is a rightmost node of $v$'s left (path)subtree, then $u$ is $v$'s parent and you can call CUT($v$) (or just $\mbox{left}(v) \gets \mbox{Null}$ because Access($v$) was called before). Else you call CUT($u$).&lt;/p&gt;&#xA;" OwnerUserId="7846" LastEditorUserId="7846" LastEditDate="2012-01-10T12:32:21.483" LastActivityDate="2012-01-10T12:32:21.483" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="9676" PostTypeId="2" ParentId="1079" CreationDate="2012-01-09T19:32:05.797" Score="11" Body="&lt;p&gt;while not exactly what you are asking, rj lipton comments in his blog on the foundational difficulty of results in this area and that the typical approach of &quot;padding&quot; does not apply [1] &amp;amp; points out that the PPST result as you cite has recently been slightly extended (by a logarithmic factor) by Santhanam [2] ie &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xD;&#xA;\mathsf{DTIME}\left( n \sqrt{log^*(n)}\right) \neq \mathsf{NTIME}\left(n \sqrt{log^*(n)}\right)&#xD;&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] &lt;a href=&quot;http://rjlipton.wordpress.com/2011/01/19/we-believe-a-lot-but-can-prove-little/&quot;&gt;http://rjlipton.wordpress.com/2011/01/19/we-believe-a-lot-but-can-prove-little/&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.22.2392&quot;&gt;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.22.2392&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2012-01-09T19:32:05.797" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="9678" PostTypeId="2" ParentId="4556" CreationDate="2012-01-09T19:51:24.890" Score="-4" Body="&lt;p&gt;this question turned up on &quot;similar questions&quot; when I just posted this other question &lt;a href=&quot;https://cstheory.stackexchange.com/questions/9677/deterministic-time-space-separation-via-space-compression&quot;&gt;https://cstheory.stackexchange.com/questions/9677/deterministic-time-space-separation-via-space-compression&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;there I cite hopcroft,paul,valiants 1977 result (apparently best known acc. to rj lipton in his blog) that seems to apply to your question ie $\mathsf{DTIME}(t(n)) \subseteq \mathsf{DSPACE}(t(n)/log(n))$&lt;/p&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2012-01-09T19:51:24.890" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="9679" PostTypeId="1" CreationDate="2012-01-09T20:39:57.567" Score="6" ViewCount="489" Body="&lt;p&gt;I have a 3d Delaunay triangulation and I construct a Voronoi diagram from it. I have a computation algorithm: for each node of the Voronoi diagram compute a value based on values that neighbouring nodes have. I would like to run this algorithm in parallel in the public cloud. Unfortunately, I cannot find a way to split my graph for maximum computation efficiency. All of my workers end up hitting the network to access neighbouring nodes. I need a way to split my graph to minimise network I/O between workers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Ideally I want to split my graph into (approximately) balanced parts and minimize the number of edges crossing the parts.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I thought that ordering all nodes in some kind of 'locality-preserving' order is an option since I might not know upfront how many workers I have.&lt;/p&gt;&#xA;" OwnerUserId="110" LastEditorUserId="4896" LastEditDate="2012-05-18T21:24:27.477" LastActivityDate="2012-08-24T05:09:20.193" Title="How to partition 3d Voronoi graph into n-number of balanced cuts while minimizing the number of edges that go between the parts?" Tags="&lt;ds.data-structures&gt;&lt;cg.comp-geom&gt;&lt;delaunay-triangulation&gt;" AnswerCount="3" CommentCount="7" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9681" PostTypeId="1" CreationDate="2012-01-09T23:04:31.640" Score="7" ViewCount="292" Body="&lt;p&gt;There are (at least) two styles for defining a (declarative) equivalence judgement for a typed lambda calculus:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;via a plain relation  $t_1 = t_2$,&lt;/li&gt;&#xA;&lt;li&gt;via an indexed relation $\Gamma \vdash t_1 = t_2 : T$.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Barendregt [1] e.g. uses the simpler former style, while other sources often seem to be preferring the latter.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have only seen the first style being used for the case of simple beta equivalence (as in Barendregt). Is it possible to use this style even in the presence of an eta-rule, esp considering that eta-expansion does not necessarily preserve well-formedness?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More specifically, I'm interested in the (simple?) case of eta-equivalence for F-omega types. Any pointers are welcome.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] H. Barendregt, Lambda Calculi With Types. In: Handbook of Logic in Computer Science, Vol 2. Oxford University Press 1992&lt;/p&gt;&#xA;" OwnerUserId="7890" LastEditorUserId="7890" LastEditDate="2012-01-10T08:41:53.030" LastActivityDate="2012-01-10T08:41:53.030" Title="How to define eta-equivalence for F-omega types?" Tags="&lt;lo.logic&gt;&lt;type-theory&gt;&lt;lambda-calculus&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="9682" PostTypeId="2" ParentId="5614" CreationDate="2012-01-09T23:43:17.263" Score="0" Body="&lt;p&gt;the hierarchy thms are also about a continuum in time and space (considered separately) and it seems possible the continuum is not more &quot;granular&quot; than is implied in the theorems, ie they may be the best possible &quot;granularity&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;your 2nd question seems unclear or maybe not well defined unless you can better define what you mean by &quot;gap&quot;. all decidable problems are solvable somewhere in both hierarchies. the difficulty is to determine the interrelationships. one of the rare &quot;gaps&quot; or separations in current theory has indeed been proven in deterministic time vs nondeterministic time such that $\mathsf{DTIME}(n) \neq \mathsf{NTIME}(n)$ [1]. see also [2] for a similar question &amp;amp; &quot;recent&quot; advances&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] PPST1983 &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=1382850&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://dl.acm.org/citation.cfm?id=1382850&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] &lt;a href=&quot;https://cstheory.stackexchange.com/questions/1079/ntimenk-dtimenk/9676#9676&quot;&gt;NTIME(n^k) ≠ DTIME(n^k) ?&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.743" LastActivityDate="2012-01-09T23:43:17.263" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9684" PostTypeId="2" ParentId="9563" CreationDate="2012-01-10T00:18:53.977" Score="0" Body="&lt;p&gt;In-place sorting algorithms are called so because only a constant number of elements are out of the input (probably an array) at any given time during the sorting process.&#xA;Recursion is only a technique that can be used to solve problems. It is defined as &quot;calling itself directly or indirectly with an input of smaller size than the original problem size&quot;. &#xA;They are completely two different ideas.&#xA;So, there can be in place sorting algorithms which uses recursion. &lt;/p&gt;&#xA;" OwnerUserId="7439" LastActivityDate="2012-01-10T00:18:53.977" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9685" PostTypeId="2" ParentId="9563" CreationDate="2012-01-10T01:25:25.523" Score="0" Body="&lt;p&gt;Afaik, any programming language with good execution time optimizes tail recursion.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are even algorithms for which it's easiest to code their &quot;most in-place&quot; variant in pure functional languages like Haskell because said algorithm requires considerable small modifications to a large data structure (see &lt;a href=&quot;https://stackoverflow.com/questions/7651058/are-there-versions-of-the-c-stls-associative-data-structures-optimized-for-nu&quot;&gt;this question pertaining to an example&lt;/a&gt;).  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'll grant that functional languages aren't nearly as explicit with identfying their in-place data.&lt;/p&gt;&#xA;" OwnerUserId="6665" LastEditorUserId="-1" LastEditDate="2017-05-23T12:40:09.333" LastActivityDate="2012-01-10T01:25:25.523" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9686" PostTypeId="1" CreationDate="2012-01-10T06:05:58.543" Score="7" ViewCount="182" Body="&lt;p&gt;In his paper &lt;a href=&quot;http://www.cs.colorado.edu/department/publications/reports/docs/CU-CS-266-84.pdf&quot;&gt;&quot;Scaling Algorithms for Network Problems&quot;&lt;/a&gt;, Harold Gabow details several algorithms for graph problems that work using &lt;em&gt;scaling&lt;/em&gt;, iteratively refining a candidate answer by beginning with a low-precision approximation to the original problem and repeatedly increasing the precision.  One of the problems that he considers is the single-source shortest paths problem with nonnegative weights, giving an algorithm that works through iterated applications of Dijkstra's algorithm in a modified graph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have seen this technique used in other places (min-cost max-flow, sorting, etc.), but one combinatorial problem that I have not seen solved via scaling is the minimum spanning tree problem.  Given the relation between Dijkstra's algorithm and Prim's algorithm, combined with the paper's discussion of a scaling implementation of Dijkstra's algorithm, it seems like there may be an efficient algorithm of this sort.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Has this problem been studied in any depth?  If so, are there any resources or papers I should take a look at?  If not, does anyone have any suggestions for how an efficient algorithm of this sort could be attempted?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks!&lt;/p&gt;&#xA;" OwnerUserId="4354" LastActivityDate="2012-01-10T06:05:58.543" Title="Scaling Algorithms for the Minimum Spanning Tree Problem?" Tags="&lt;ds.algorithms&gt;&lt;graph-algorithms&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9687" PostTypeId="2" ParentId="9681" CreationDate="2012-01-10T07:15:26.150" Score="4" Body="&lt;p&gt;The first approach is subsumed by the second, sort of (because the first approach is slightly broken).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One should never consider expressions with free variables without explicitly specifying a context in which they appear (this is a lesson one learns as soon as one wants to formalize $\forall$ and $\exists$ that are allowed to range over possibly empty types or sets).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In a single-sorted theory, equations without context $t_1 = t_2$ can always be equipped with a context $\Gamma \vdash t_1 = t_2 : S$ where $S$ is the single sort and $\Gamma = x_1 : S, \ldots, x_n : S$, with $x_i$ being the free variables in $t_1$ and $t_2$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Leaving the context implicit like that is not quite right. For example, what if I want to write down an equation that involves $x_1$ and $x_2$ in a context which also mentions $x_3$? You might think that sort of thing is going to be useless, but it isn't, not if $x_3$ could come from an empty type.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, as soon as you think about categorical semantics you will see that it makes little sense to have bare equations without contexts.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So I would advise you to put your equations in contexts, and then use the shorter form as an abbreviation. One reference where everything is done explicitly in a context all the time is Bart Jacob's &lt;a href=&quot;http://books.google.si/books/about/Categorical_Logic_and_Type_Theory.html?id=0hhyL4WG3ngC&quot; rel=&quot;nofollow&quot;&gt;&quot;Categorical Logic and Type Theory&quot;&lt;/a&gt;, Chapter 8 is about polymorphic type theory and might be of particular interest to you.&lt;/p&gt;&#xA;" OwnerUserId="705" LastEditorUserId="705" LastEditDate="2012-01-10T08:17:53.630" LastActivityDate="2012-01-10T08:17:53.630" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9688" PostTypeId="1" CreationDate="2012-01-10T09:15:06.800" Score="4" ViewCount="415" Body="&lt;p&gt;We can consider a datalog program as a set of clauses. Some of them allow to derive others. For instance from:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;A(x) :- B(x), C(x).&#xA;B(x) :- D(x).&#xA;C(x) :- D(x).&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;We can derive:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;A(x) :- D(x).&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Given a datalog program, a &lt;em&gt;minimal equivalent datalog program&lt;/em&gt; is a subset of the given program with the smallest number of clauses that allows to derive the full datalog program. Minimal equivalent datalog program is not unique at least in the presence of cycles. Finding any of them is enough; I don't need to find them all.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The clauses contain no disjunctions, only an implication and an atom in the head. Alternate definition: clauses are composed by disjunctions (no conjunctions) and there is only one non-negated predicate. All predicates are unary or binary, and contain variables or constants. There may be recursion, and it may be limited to unary predicates.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm searching for an algorithm that allows to find this minimal datalog program for a given program, but I could not find it. It may just be a matter of not using the correct terms, or maybe my confusion is deeper. In any case this seems a fundamental problem when working with datalog and my guess is that it was solved decades ago.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Do you know any algorithm for this? Should I use a different terminology?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thank you.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;PD: a more enticing example that allows greater optimization:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;A(x):- I(x).        B(x):- P(x,y).      P(x,y):- T(x,y).&#xA;A(x):- C(x).        G(x):- L(x).        P(x,z):- T(y,x).&#xA;A(x):- R(x,y).      H(x):- P(x,y).      P(x,z):- U(y,x).&#xA;A(x):- R(y,x).      H(x):- T(x,y).      P(y,x):- T(x,y).&#xA;D(x):- A(x).        I(x):- J(x).        P(z,x):- R(y,x).&#xA;D(x):- T(y,x).      I(x):- T(x,y).      R(x,y):- T(x,y).&#xA;E(x):- I(x).        C(x):- K(x).        R(y,x):- T(x,y).&#xA;E(x):- R(x,y).      C(x):- R(x,y).      S(x,z):- T(x,y).&#xA;F(x):- A(x).        C(x):- T(y,x).      S(x,z):- R(x,y).&#xA;F(x):- H(x).        C(x):- U(x,y).      S(y,x):- T(x,y).&#xA;F(x):- R(y,x).      J(x):- K(x).        S(y,x):- U(x,y).&#xA;B(x):- D(x).        J(x):- R(x,y).      T(y,x):- U(x,y).&#xA;B(x):- C(x).        K(x):- U(x,y).      U(x,z):- R(x,y).&#xA;B(x):- J(x).        L(x):- R(y,x).      U(x,z):- P(x,y).&#xA;B(x):- L(x).                &#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;I was calculating the result manually, but I think I can do it with an algorithm, it's going to take a while.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;PD: I found this: A. Pettorossi and M. Proietti, “Transformation of logic programs: Foundations and techniques,” The Journal of Logic Programming, vol. 19–20, Supplement 1, pp. 261–320, May 1994.&lt;/p&gt;&#xA;" OwnerUserId="6577" LastEditorUserId="6577" LastEditDate="2013-08-12T13:55:09.820" LastActivityDate="2013-08-12T13:55:09.820" Title="Minimize a datalog program" Tags="&lt;ds.algorithms&gt;&lt;lo.logic&gt;&lt;db.databases&gt;&lt;logic-programming&gt;" AnswerCount="2" CommentCount="10" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9689" PostTypeId="2" ParentId="6356" CreationDate="2012-01-10T10:04:22.053" Score="0" Body="&lt;p&gt;I think you can do better than linear. I'm new to theoretical computer science, so forgive me if this is rubbish.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some general ideas (of varying value):&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;If we give each facet a symbol, Mario's orbit over them can be described as a string, where the final symbol in the string is the answer.&lt;/li&gt;&#xA;&lt;li&gt;We can assume without loss of generality that Mario starts on an edge (just walk backwards and extend l to the edge)&lt;/li&gt;&#xA;&lt;li&gt;The 2D space of starting positions and angles can be partitioned by the next edge. So starting at edge a, x units from the bottom, with an angle of a, we end up in edge V after crossing one facet.&lt;/li&gt;&#xA;&lt;li&gt;At that point we're at another edge with another orientation, so we can call the function recursively to subdivide the space into partitions of 2-symbol strings and so on.&lt;/li&gt;&#xA;&lt;li&gt;At this point we're finished if we say that the space has to be discretized for the problem to be implemented on a TM. That means that every orbit must be periodic because there are only finitely many points on the discretized planet. We can calculate the function described above until we have orbits for all starting points and store this information. Then the problem becomes O(1).&lt;/li&gt;&#xA;&lt;li&gt;Maybe that's a bit of a cop out. Some googling tells me that almost all billiard orbits inside rational convex polygons are periodic (ie. the periodic orbits are dense). So for a (say) square planets the same approach might work.&lt;/li&gt;&#xA;&lt;li&gt;Another approach would be to consider the system as a generator/recognizer of strings (again by assigning each facet its own symbol). If the language has a known complexity class, that's your answer. If you broaden the family of polytopes to non-convex and any dimension, you may capture a very broad class of languages. &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;This doesn't really constitute an answer, but I need to get back to work. :)&lt;/p&gt;&#xA;" OwnerUserId="7892" LastEditorUserId="-1" LastEditDate="2016-08-02T15:20:41.433" LastActivityDate="2016-08-02T15:20:41.433" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="9690" PostTypeId="1" CreationDate="2012-01-10T10:36:13.513" Score="12" ViewCount="2861" Body="&lt;p&gt;I just want to know some examples of the functions that can be computed by the untyped lambda calculus but not by typed lambda calculi.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As I am a beginner, some reiteration of background information would be appreciated.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit: by typed lambda calculi, I was intending to know about System F and the simply-typed lambda calculus. By function, I mean any Turing-computable function. &lt;/p&gt;&#xA;" OwnerUserId="7893" LastEditorUserId="7506" LastEditDate="2012-01-11T08:06:44.633" LastActivityDate="2012-01-20T00:24:26.437" Title="Functions that typed lambda calculus cannot compute" Tags="&lt;pl.programming-languages&gt;&lt;type-theory&gt;&lt;lambda-calculus&gt;&lt;computable-analysis&gt;" AnswerCount="6" CommentCount="2" FavoriteCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="9692" PostTypeId="2" ParentId="9688" CreationDate="2012-01-10T12:45:15.317" Score="0" Body="&lt;p&gt;Search for &lt;a href=&quot;http://en.wikipedia.org/wiki/Transitive_reduction&quot; rel=&quot;nofollow&quot;&gt;transitive reduction&lt;/a&gt; of a directed graph.&lt;/p&gt;&#xA;" OwnerUserId="7846" LastActivityDate="2012-01-10T12:45:15.317" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="9693" PostTypeId="1" AcceptedAnswerId="9697" CreationDate="2012-01-10T13:01:32.700" Score="10" ViewCount="710" Body="&lt;p&gt;For an undirected graph $G$ and a given set $S$ of vertices, what is the asymptotically fastest known algorithm for finding a simple path containing&#xA;all elements of $S$. What if we require the path to be as short as possible ?&lt;/p&gt;&#xA;" OwnerUserId="7898" LastEditorUserId="49" LastEditDate="2012-01-10T13:09:20.770" LastActivityDate="2012-01-10T14:11:57.093" Title="Fastest known algorithm for finding simple paths through given set of vertices" Tags="&lt;ds.algorithms&gt;&lt;graph-algorithms&gt;&lt;time-complexity&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9696" PostTypeId="2" ParentId="9673" CreationDate="2012-01-10T14:10:26.893" Score="25" Body="&lt;p&gt;I'm not quite sure which flavour of &quot;why&quot; you are looking for. One reason for the increase in power when allowing nondeterminism can be seen in the following example:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $L$ be the set of palindromes $w\bar{w}$ over some alphabet (of at least two symbols), where $\bar{w}$ is the reverse of $w$. An NPDA for this language can just keep pushing symbols onto its stack, and then at some point guess that it has reached the middle of the input and gradually empty the stack. Note that the acceptance condition is purely existential - it is enough that there is a correct guess for the word to be accepted.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A deterministic PDA would have to choose the position it considers the middle in some way that only depends on the current prefix. Assume $A$ is such a DPDA. For any $k\in\mathbb{N}$, let $u_k=ab^{2k}a$; let $v_0$ be the empty word, and $v_{k+1} = v_ku_kv_k$. This is a sequence of palindromes, each a prefix of the next, so that $A$ must be in an accepting state $q_k$, with the stack empty, after reading $v_k$. By the pigeon hole principle, there must be some $k,l$ such that $k\neq l$ and $q_k=q_l$ (there is a finite number of states, and so some must be 'reused' as there are an infinite number of $k$s). But then $A$ cannot distinguish $v_ku_kv_k$, which is a palindrome, from $v_lu_kv_k$, which isn't.&lt;/p&gt;&#xA;" OwnerUserId="5183" LastEditorUserId="5183" LastEditDate="2012-07-04T13:19:05.200" LastActivityDate="2012-07-04T13:19:05.200" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9697" PostTypeId="2" ParentId="9693" CreationDate="2012-01-10T14:11:57.093" Score="17" Body="&lt;p&gt;See &lt;a href=&quot;http://thorehusfeldt.files.wordpress.com/2010/08/soda2012_submission_247.pdf&quot;&gt;http://thorehusfeldt.files.wordpress.com/2010/08/soda2012_submission_247.pdf&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="679" LastActivityDate="2012-01-10T14:11:57.093" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="9698" PostTypeId="2" ParentId="9690" CreationDate="2012-01-10T15:19:37.373" Score="11" Body="&lt;p&gt;The simplest answer is given by the fact that typed lambda calculi correspond to logics (simply typed lambda calculus -&gt; predicate logic; system f -&gt; second-order logic) and consistent logics cannot prove their own consistency.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So let's say that you have natural numbers (or a Church encoding of natural numbers) in your typed lambda calculus. It's possible to do a G&amp;ouml;del numbering that assigns every term in System F to a unique natural number. Then, there is a function $f$ that takes any natural number (that corresponds to a well-typed term in System F) to another natural number (that corresponds to the normal form of that well-typed System F term) and does something else for any natural number that doesn't correspond to a well-typed term in System F (say, it returns zero). The function $f$ is computable, so it can be computed by the untyped lambda calculus but not the typed lambda calculus (because the latter would amount to a proof of the consistency of second-order logic &lt;i&gt;in&lt;/i&gt; second-order logic, which would imply that second-order logic is inconsistent).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Caveat 1: If second-order logic &lt;i&gt;is&lt;/i&gt; inconsistent, it &lt;i&gt;might&lt;/i&gt; be possible to write $f$ in System F... and/or it &lt;i&gt;might&lt;/i&gt; not be possible to write $f$ in the untyped lambda calculus - you could write something, but it might not always terminate, which is a criteria for &quot;computable.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Caveat 2: Sometimes by &quot;simply typed lambda calculus&quot; people mean &quot;simply typed lambda calculus with a fixed-point operator or recursive functions.&quot; This would be more-or-less &lt;a href=&quot;http://en.wikipedia.org/wiki/Programming_Computable_Functions&quot;&gt;PCF&lt;/a&gt;, which can compute any computable function, just like the untyped lambda calculus.&lt;/p&gt;&#xA;" OwnerUserId="1024" LastActivityDate="2012-01-10T15:19:37.373" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9699" PostTypeId="2" ParentId="9690" CreationDate="2012-01-10T17:47:11.647" Score="15" Body="&lt;p&gt;A nice example is given by Godelization: in lambda calculus, the only thing you can do with a function is to apply it. As a result, there is no way to write a closed function of type $(\mathbb{N} \to \mathbb{N}) \to \mathbb{N}$, which takes a function argument and returns a Godel code for it. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Adding this as an axiom to Heyting arithmetic is usually called &quot;the constructive Church thesis&quot;, and is a strongly anti-classical axiom. Namely, it is consistent to add it to HA, but not to Peano arithmetic! (Basically, it is a classical fact that every Turing machine halts or not, and there is no computable function that can witness this fact.) &lt;/p&gt;&#xA;" OwnerUserId="657" LastActivityDate="2012-01-10T17:47:11.647" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="9700" PostTypeId="1" AcceptedAnswerId="9704" CreationDate="2012-01-10T18:39:32.247" Score="5" ViewCount="220" Body="&lt;p&gt;Given $N$ points $X_i$ in a metric space&#xA;and a measure of &quot;middleness&quot;&#xA;$ \qquad \qquad \mathsf{middle}( X_i ) \equiv&#xD;&#xA;\frac{1}{N} \sum_j \mathsf{metric}( X_i, X_j ) $&lt;br&gt;&#xA;can one find an $X_i$ near the middle of all $N$ points,&#xA;i.e. roughly minimizing $\mathsf{middle}( X_i )$,&lt;br&gt;&#xA;in time and space both better than $O( N^2 )$ ?&lt;br&gt;&#xA;If not in general, are there cases that can be done &amp;mdash; trees, Euclidean metrics ?  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Clarification: by &quot;space better than $O(N^2)$&quot; I mean,&#xA;are there approximate methods that give many nearby pairs &#xA;after looking at $O(N^{1+\epsilon})$ of all pairs ?&lt;br&gt;&#xA;This is broader than just middles.&#xA;Of course, guarantees are then gone, or empirical or statistical.&#xA;But methods that work for $N$ 10000 or 1000000 &#xA;would have broad application.&lt;br&gt;&#xA;(Is that clear, is it worth a separate question ?)&lt;/p&gt;&#xA;" OwnerUserId="4355" LastEditorUserId="4355" LastEditDate="2012-01-11T18:39:39.193" LastActivityDate="2012-01-12T18:24:26.433" Title="Fast approximate middle of points in a metric space?" Tags="&lt;ds.algorithms&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9701" PostTypeId="1" CreationDate="2012-01-10T19:35:33.140" Score="6" ViewCount="105" Body="&lt;p&gt;So you want to evaluate the polynomial&#xA;$$&#xD;&#xA;p(x) = \sum_{C} x^{|C|}&#xD;&#xA;$$&#xA;where $C$ ranges over all nearly-minimum cuts in a graph (say, all minimal cuts of size $\alpha c$ where $c$ is the edge connectivity.) Here $\alpha$ is a small constant $&amp;gt;1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can do any precomputation you want. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Two obvious algorithms present themselves. This is a polynomial of degree at most $\alpha c$, so you can do this is $O(c)$. Alternatively, for $\alpha$ sufficiently close to 1, the number of such cuts is at most $O(n^2)$, so you can do this in $O(n^2)$ work.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there any other algorithms available?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For $\alpha$ sufficiently close to 1, the set of all such cuts has a very nice structure, and these cuts can be represented in $O(n)$ space.&lt;/p&gt;&#xA;" OwnerUserId="5538" LastActivityDate="2012-01-10T19:35:33.140" Title="Evaluate polynomial involving nearly-minimal graph cuts" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9702" PostTypeId="2" ParentId="9587" CreationDate="2012-01-10T19:49:11.210" Score="13" Body="&lt;p&gt;No.  At least, no &quot;nice&quot; gadget for one crossover.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $(a, b)$ and $(x,y)$ be a cross we want to replace.&lt;img src=&quot;https://i.stack.imgur.com/oolsP.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are many cases for our graph, $G$, but we have to satisfy at least the following four.  Case 1: there is at least one hamiltonian cycle, but none use either of the edges.  Case 2: there is at least one cycle, and all cycles use exactly one of the two edges.  Case 3: there is at least one cycle, and all cycles use both edges.  Case 4: there is no hamiltonian cycle.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If our gadget has two (or more) vertices for each of $a, b, x, y$ adjacent to all the same neighbors (so that $a_0$ and $a_1$ retain $a$'s neighbors) then $G'$ will not necessarily still be planar.  In order to satisfy the first of our cases above, we then cannot have any new vertices in the gadget.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In order to satisfy case 3 above, we must have at least two edges in the gadget.  Neither planar and covering pair, $(a, x), (y, b)$ nor $(a, y), (x, b)$ satisfies case 2, so we need a third edge.  Without loss of generality, let those three be $(a, y), (y, b), (x,b)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, that replacement breaks the fourth case, because $G'$ could contain a hamiltonian cycle when $G$ does not.  Take, for example, $G = (V, E)$ where $V = \{a, b, x, y, p, q, r, s, t\},$ and&#xA;$E = \{(a, b), (x, y), (a, r), (a, p), (a, q), (b, s), (b, x), (p, s), (p, t), (p, y), (q, x), (r, y), (t, x)\}$.  $G$ is not planar and does not have a hamiltonian cycle.&lt;img src=&quot;https://i.stack.imgur.com/kczJ5.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then $G' = (V, E')$ where $E' = \{(a, y), (y, b), (x, b)\} \cup$&#xA;$\{(x, y), (a, r), (a, p), (a, q), (b, s), (p, s), (p, t), (p, y), (q, x), (r, y), (t, x)\}$.  $G'$ is planar, and has a hamiltonian cycle ($a, q, x, t, p, s, b, y, r, a$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that if $(b, y)$ was the edge not added instead of $(a, x)$, then $G'$ would not have a hamiltonian cycle.  It seems that you'd have to have knowledge of the possible cycle to choose the edge correctly, though.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A similar problem exists for having the gadget include one of the diagonal edges, such as: $(a, b), (a, y), (x, b)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since adding three edges breaks case 4, adding more won't help.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thus, no &quot;nice&quot; gadget exists.  It could be that a gadget exists that pays more attention to the neighbors of each of $a, b, x$ and $y$, but that doesn't seem very &quot;nice&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Note: please let me know if I made any errors above!)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(&lt;strike&gt;Note 2: I had some nice figures, but can't post them.&lt;/strike&gt;  Posted.)&lt;/p&gt;&#xA;" OwnerUserId="7902" LastEditorUserId="7902" LastEditDate="2012-01-11T15:57:43.763" LastActivityDate="2012-01-11T15:57:43.763" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9703" PostTypeId="2" ParentId="9690" CreationDate="2012-01-10T23:45:54.830" Score="10" Body="&lt;p&gt;The untyped $\lambda$-calculus posseses general recursion in the form of the $Y$ combinator. Simply-typed $\lambda$-calculus does not. Thus, any function that requires general recursion is a candidate, for example the Ackermann function. (I am skipping some details on how precisely we represent the natural numbers in each system, but essentially any reasonable approach will do.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course, you can always extend the simply-typed $\lambda$-calculus to match the power of $Y$, but then you're changing the rules of the game.&lt;/p&gt;&#xA;" OwnerUserId="705" LastActivityDate="2012-01-10T23:45:54.830" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="9704" PostTypeId="2" ParentId="9700" CreationDate="2012-01-11T08:30:59.510" Score="12" Body="&lt;p&gt;There's a rather large literature on this problem. In brief, the problem you're looking at is called the $1$-median problem for a metric space. Since you're allowing for things &quot;near&quot; the middle, I'll assume approximations are ok. I also don't know what you mean by space less than $n^2$, since the input size itself is $n^2$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Having said that, for an arbitrary metric space you can get a &quot;sublinear&quot; approximation (i.e one that runs in $o(n^2)$ time. Specifically, &lt;a href=&quot;http://people.csail.mit.edu/indyk/metrics99.ps&quot;&gt;Piotr Indyk showed&lt;/a&gt; that you can get a $(1+\epsilon)$ approximation in time linear in $n$ and polynomial in $1/\epsilon$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For structured spaces you can also do quite well. In Euclidean space, &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=1007400&quot;&gt;core-set techniques for the $k$-median problem&lt;/a&gt; (of which the 1-median is a special case) give you similar bounds (linear in n) to get arbitrarily good approximations. The caveat in this case is that the solution you get might not be one of the input points. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2012-01-11T08:30:59.510" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9705" PostTypeId="2" ParentId="9690" CreationDate="2012-01-11T09:40:30.810" Score="4" Body="&lt;p&gt;One vision of the limits of strongly normalizing calculi I like is the computability angle. In a strongly normalizing typed calculus, such as the core simply-typed lambda calculus, System F, or Calculus of Constructions, you have a proof that all terms eventually terminate.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;If&lt;/em&gt; this proof is constructive, you get a fixed algorithm to evaluate all terms with a guaranteed upper-bound on the computation time. Or you can also study the (not-necessarily-constructive) proof and extract an upper-bound from it -- which is likely to be &lt;em&gt;huge&lt;/em&gt;, because those calculi are expressive.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This bounds gives you &quot;natural&quot; examples of function that cannot be typed in this fixed lambda-calculus : all arithmetic functions that are asymptotically superior to this bound.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If I remember correctly, terms typed in the simply-typed lambda-calculus can be evaluated in towers of exponential : &lt;code&gt;O(2^(2^(...(2^n)..)&lt;/code&gt;; a function growing faster than all such towers won't be expressible in this calculi. System F corresponds to intuitionistic second-order logic, so the computability power is simply enormous. To seize the computability strength of even more powerful theories, we usually reason in terms of set theory and model theory (eg. what ordinals can be built) instead of computability theory.&lt;/p&gt;&#xA;" OwnerUserId="4984" LastActivityDate="2012-01-11T09:40:30.810" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9706" PostTypeId="1" CreationDate="2012-01-11T09:58:58.333" Score="0" ViewCount="6410" Body="&lt;p&gt;What is the complexity of precisely finding the square root of a perfect square?&lt;/p&gt;&#xA;" OwnerUserId="7893" LastEditorUserId="567" LastEditDate="2012-01-13T12:11:54.447" LastActivityDate="2012-01-13T12:11:54.447" Title="Complexity of finding the square root of a perfect square" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9709" PostTypeId="2" ParentId="9706" CreationDate="2012-01-11T12:13:59.450" Score="7" Body="&lt;p&gt;The square root of an $n$-digit number can be computed in time $O(M(n))$ using e.g. Newton’s iteration, where $M(n)$ is the time needed to multiply two $n$-digit integers. The current best bound on $M(n)$ is $n\log n\,2^{O(\log^*n)}$, provided by Fürer’s algorithm. See &lt;a href=&quot;http://en.wikipedia.org/wiki/Methods_of_computing_square_roots&quot;&gt;http://en.wikipedia.org/wiki/Methods_of_computing_square_roots&lt;/a&gt; for more square root algorithms, and &lt;a href=&quot;http://en.wikipedia.org/wiki/Computational_complexity_of_mathematical_operations&quot;&gt;http://en.wikipedia.org/wiki/Computational_complexity_of_mathematical_operations&lt;/a&gt; for an overview of computational complexity of arithmetical operations.&lt;/p&gt;&#xA;" OwnerUserId="6959" LastEditorUserId="6959" LastEditDate="2012-01-12T17:08:40.757" LastActivityDate="2012-01-12T17:08:40.757" CommentCount="16" ContentLicense="CC BY-SA 3.0" />
  <row Id="9710" PostTypeId="2" ParentId="9690" CreationDate="2012-01-11T15:20:02.223" Score="6" Body="&lt;p&gt;The simply-typed lambda calculus is actually surprisingly weak.  For example, it can't recognize the regular language $\mathtt{a}^*$.  I've never found a precise characterization of the set of languages that STLC can recognize, though.&lt;/p&gt;&#xA;" OwnerUserId="2185" LastActivityDate="2012-01-11T15:20:02.223" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="9715" PostTypeId="2" ParentId="9700" CreationDate="2012-01-12T14:51:13.817" Score="4" Body="&lt;p&gt;I don't know if you are interested in those kind of results, but Brassard, Dupuis, Gambs and Tapp devised a quantum algorithm that does just that. It finds an element $X_i$ such that $|\mathsf{middle}(X_i)-\mathsf{middle}(X_{min})|&amp;lt; O(\epsilon)$ (when all distances are normalized to be in $[0, 1]$). and requires $O(\frac 1\epsilon \sqrt N\log N)$ calls to the distance function (which you call metric) where $X_{min}$ is the middle you are looking for.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What might surely interest you is that in the first paragraph of the section on the median algorithm, they provide an argument that in the worst case, with a general metric, $\Omega(N^2)$ calls to the distance function is required without a quantum computer. Here is their argument :&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;[..] consider the case in which all the points are at the same&#xA;  distance from each other, except for two points that are closer than the rest of the points.&#xA;  These two points are the medians of this ensemble. In this case, classically we would&#xA;  need to query the oracle for the distances between each and every pair of points before&#xA;  we can identify one of the two medians. (We expect to discover this special pair after&#xA;  querying about half the pairs on the average but we cannot know that there isn’t some&#xA;  other even closer pair until all the pairs have been queried.) This results in a lower&#xA;  bound of $\Omega(N^2)$ calls to the oracle.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;This give a lower bound on the number of calls to the oracle (distance function) which itself lower-bounds the time complexity.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is a &lt;a href=&quot;http://arxiv.org/pdf/1106.4267v1&quot; rel=&quot;nofollow&quot;&gt;link&lt;/a&gt; to the article.&lt;/p&gt;&#xA;" OwnerUserId="507" LastEditorUserId="4896" LastEditDate="2012-01-12T18:24:26.433" LastActivityDate="2012-01-12T18:24:26.433" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9716" PostTypeId="1" CreationDate="2012-01-12T16:02:54.577" Score="10" ViewCount="235" Body="&lt;p&gt;Given an undirected graph $G=(V,E)$ with a color on each edge, the problem is to find a 2-partition $(V_1,V_2)$ of $V$ s.t. the number of colors used by the edges $uv, u \in V_1, v \in V_2$ is minimized. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, a cut with 1 blue edge, 1 red edge, and 1 yellow edge between $V_1$ and $V_2$ is worst than a cut with 10 blue edges and 15 red edges between $V_1$ and $V_2$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course, the uncolored cut is well-known to be polynomial-time solvable. The complexity of this colored version is reported as an open-problem in &lt;a href=&quot;http://hal.archives-ouvertes.fr/hal-00371100/en&quot; rel=&quot;noreferrer&quot;&gt;http://hal.archives-ouvertes.fr/hal-00371100/en&lt;/a&gt;. It surprise me. Do I miss some known result?&lt;/p&gt;&#xA;" OwnerUserId="7926" LastEditorUserId="567" LastEditDate="2012-01-13T13:00:34.273" LastActivityDate="2012-01-13T13:00:34.273" Title="Complexity of the min edge-colored cut problem" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;graph-algorithms&gt;&lt;open-problem&gt;" AnswerCount="0" CommentCount="9" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9717" PostTypeId="1" CreationDate="2012-01-12T20:12:05.653" Score="10" ViewCount="713" Body="&lt;p&gt;Set $S=\{e_1,\cdots,e_n\}$ is given. For each element $e_i$, we have weight $w_i&amp;gt;0$ and cost $c_i&amp;gt;0$. The goal is findIng the subset $M$ of size $k$ that maximize the following objective function:&#xA;$$\sum_{e_i\in M} w_i + \frac{\sum_{e_i\notin M} w_i c_i}{\sum_{e_i\notin M} c_i}$$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is the problem NP-hard?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since the objective function seems weird, it is helpful to explain an application of the objective function.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose we have n items $e_1$ to $e_n$ and there are $c_i$ copies of each object $e_i$ in our inventory. We have some customers and they are interested in these objects in proportion with their weight $w_i$, which means the object with greater $w_i$ is more popular. We have an online sale system and we need to answer our customer's requests correctly. We cannot recognize objects by their shapes (They all look the same!). But we have some classifier to find them. Each classifier can be used for detecting copies of an object. We aim to run k classifier in order to maximize our customer's satisfaction.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;P.S: It may be useful to think about the case that $w_i c_i=p$ for all $i\leq n$; however, I'm not sure.[&lt;strong&gt;I was wrong about this! It is in P by this assumption&lt;/strong&gt;]&lt;/p&gt;&#xA;" OwnerUserId="7928" LastEditorUserId="7928" LastEditDate="2012-01-17T20:04:29.883" LastActivityDate="2018-09-30T22:01:36.960" Title="Set optimization problem - is it np-complete?" Tags="&lt;np-hardness&gt;&lt;optimization&gt;" AnswerCount="2" CommentCount="7" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="9719" PostTypeId="1" AcceptedAnswerId="9723" CreationDate="2012-01-12T20:34:51.107" Score="8" ViewCount="346" Body="&lt;p&gt;Many results in cryptography depend on impossibility results/conjectures in complexity theory. For example, public-key cryptography using RSA is believed to be possible because of the conjecture about infeasibility of the factoring (and the modular root finding problems).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is : &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;do we have similar results in computability theory? Are there interesting positive constructions using negative impossibility results? &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;E.g., does the undecidability of the halting problem allow us to perform tasks that we would not be able to do if the halting problem was decidable?&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2012-01-13T00:03:03.163" LastActivityDate="2012-01-13T14:25:43.743" Title="Using negative results to prove positive results in computability theory" Tags="&lt;cc.complexity-theory&gt;&lt;cr.crypto-security&gt;&lt;computability&gt;" AnswerCount="2" CommentCount="5" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9720" PostTypeId="2" ParentId="9719" CreationDate="2012-01-12T21:14:39.687" Score="6" Body="&lt;p&gt;Kolmogorov complexity might fall into this category.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One can show that there are certain strings, which cannot be compressed by any Turing machine. These strings behave &quot;generically&quot; so you can study the random properties of certain information and computational tasks by studying the behavior with respect to a (non-random) incompressible string.&lt;/p&gt;&#xA;" OwnerUserId="5538" LastActivityDate="2012-01-12T21:14:39.687" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="9722" PostTypeId="1" CreationDate="2012-01-13T14:14:55.790" Score="4" ViewCount="283" Body="&lt;p&gt;Let $A$ be an $(n\times n)$-matrix with entries from $\{0,1\}$ and $B$ its biadjacency matrix $B = \begin{pmatrix} 0 &amp;amp; A\\ A^t &amp;amp; 0 \end{pmatrix}$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;My simple question is:&lt;/em&gt; Is there a relationship between the planar-property of the graph $\mathcal{G}_A$ (the graph constructed from the matrix $A$) and $\mathcal{G}_B$?  Note that the graph $\mathcal{G}_B$ is necessarily undirected and loop-free.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(A good answer would be, e.g., that if $\mathcal{G}_A$ is planar, $A$ has to have some additional properties therewith $\mathcal{G}_B$ will be also planar)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Update&lt;/strong&gt;: A property $\mathcal{G}_A$ must have therewith planarity passes on to $\mathcal{G}_B$ is to be &lt;em&gt;bipartite&lt;/em&gt;. In that case $\mathcal{G}_B$ is the graph that consists of two disconnected copies of $\mathcal{G}_A$.&lt;/p&gt;&#xA;" OwnerUserId="5641" LastEditorUserId="5641" LastEditDate="2012-02-09T20:47:48.930" LastActivityDate="2012-02-09T20:47:48.930" Title="On planarity in two related graphs" Tags="&lt;graph-theory&gt;&lt;matrices&gt;&lt;planar-graphs&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9723" PostTypeId="2" ParentId="9719" CreationDate="2012-01-13T14:25:43.743" Score="7" Body="&lt;p&gt;In some sense, this is what the theory of parametricity is all about. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Data abstraction is how we ensure that no client of a module can access the elements of a module except according to the interface exposed by the module. &#xA;We rely on this to ensure that the internal invariants of data structures cannot be broken by the clients of a module -- eg, if you access a balanced tree only via the published interface, then it follows that the tree will always be balanced. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;So we use a negative property -- that no possible client can break the abstraction boundary -- to deduce a positive one -- that the data representation invariant always holds. &lt;/p&gt;&#xA;" OwnerUserId="657" LastActivityDate="2012-01-13T14:25:43.743" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="9725" PostTypeId="2" ParentId="6387" CreationDate="2012-01-13T16:34:14.987" Score="-1" Body="&lt;p&gt;re applications of complexity theory in social science-- scott aaronson has a daring &amp;amp; amusing-at-times essay tying complexity theory to deep century-old questions in philosophy that I ran across recently reading his blog.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Why Philosophers Should Care About Computational Complexity&#xA;&lt;a href=&quot;http://arxiv.org/abs/1108.1791&quot; rel=&quot;nofollow&quot;&gt;http://arxiv.org/abs/1108.1791&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.scottaaronson.com/blog/&quot; rel=&quot;nofollow&quot;&gt;http://www.scottaaronson.com/blog/&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;hr&gt;&#xA;another interesting area of the application of algorithmic theory to social sciences happens in economics such as studying markets or other &quot;complex systems&quot;. the idea is that the market is composed of separate actors or &quot;agents&quot; that each attempt to develop algorithms to make money. a darwinian process of selection ensues. similar to genetic algorithms. (and probably now actually quite close to reality of HST, high speed trading, where there are estimates that up to 70% of market trading is due to program trading.) a leading investigator in this area is j doyne farmer&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://tuvalu.santafe.edu/~jdf/SFI%20Template/About%20Me.html&quot; rel=&quot;nofollow&quot;&gt;http://tuvalu.santafe.edu/~jdf/SFI%20Template/About%20Me.html&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;hr&gt;&#xA;I see you mention biology on your course page. an excellent application of complexity and algorithmic theory and one under intense development is in the cutting edge problem of determining protein folding configurations. for example an early paper proved that a formalized version of the protein folding problem is NP complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Protein_folding&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/Protein_folding&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;protein folding problem is NP complete by berger/leighton&#xA;&lt;a href=&quot;http://www.brown.edu/Research/Istrail_Lab/papers/1998/p30-berger.pdf&quot; rel=&quot;nofollow&quot;&gt;http://www.brown.edu/Research/Istrail_Lab/papers/1998/p30-berger.pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="7884" LastEditDate="2012-01-13T16:46:00.123" LastActivityDate="2012-01-13T16:46:00.123" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="9727" PostTypeId="2" ParentId="923" CreationDate="2012-01-13T17:04:06.223" Score="1" Body="&lt;p&gt;Sprase Matrix Vector Multiply&lt;/p&gt;&#xA;&#xA;&lt;p&gt;... is the computational workhorse behind the solution of almost all linear systems. As a result it is being run whenever &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Scientists/engineers solve differential equations&lt;/li&gt;&#xA;&lt;li&gt;Statisticians find new correlations (PCA)&lt;/li&gt;&#xA;&lt;li&gt;Google runs pagerank&lt;/li&gt;&#xA;&lt;li&gt;Your phone predicts your location from GPS, accelerometers, cell tower locations&lt;/li&gt;&#xA;&lt;li&gt;Your car adjusts your suspension in motion&lt;/li&gt;&#xA;&lt;li&gt;etc....&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Most of the FLOPs on any supercomputer or cluster are spent inside of a sparse mat-vec. &lt;/p&gt;&#xA;" OwnerUserId="7939" LastActivityDate="2012-01-13T17:04:06.223" CommentCount="0" CommunityOwnedDate="2012-01-13T17:04:06.223" ContentLicense="CC BY-SA 3.0" />
  <row Id="9728" PostTypeId="2" ParentId="9688" CreationDate="2012-01-13T19:45:16.613" Score="6" Body="&lt;p&gt;There does not seem to be a general algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Checking whether two Datalog programs are equivalent (in the sense of producing the same output database for every possible input database) is undecidable.  The containment problem, of checking whether one Datalog program always produces all the tuples of the other (plus possibly some others), is also undecidable.  So there is no general algorithm for verifying the output of your proposed minimization algorithm.  One can generate all syntactically valid Datalog programs up to the size of the input Datalog program, but there is no general way to check whether these are equivalent to or even implied by the original Datalog program.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Oded Shmueli, &lt;em&gt;Equivalence of Datalog queries is undecidable&lt;/em&gt;, The Journal of Logic Programming &lt;strong&gt;15&lt;/strong&gt;(3) 231–241, 1987.  doi: &lt;a href=&quot;http://dx.doi.org/10.1016/0743-1066%2893%2990040-N&quot;&gt;10.1016/0743-1066(93)90040-N&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;What you perhaps mean is minimization over all Datalog programs made up only of the terms that occur in the original program, such as the $A(x) \leftarrow D(x).$ example you provided above.  This is a restricted form of Datalog containment, since one only wants to check containment between syntactically closely related Datalog programs.  It is not obvious to me whether this restriction makes the problem decidable or not, although there may be some related work, perhaps in the rewriting systems or finite automata communities.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Restricting the problem somewhat, one can try to find an equivalent minimal non-recursive Datalog program.  Unfortunately checking for equivalence between a recursive and a non-recursive Datalog program requires time that is triply exponential in the size of the programs, and checking whether the recursive program is contained in the non-recursive one requires doubly exponential time.  Moreover, these algorithms require constructing exponential-sized tree automata, so are probably not feasible for actual implementation.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Surajit Chaudhuri and Moshe Vardi, &lt;em&gt;On the Equivalence of Recursive and Nonrecursive Datalog Programs&lt;/em&gt;, JCSS &lt;strong&gt;54&lt;/strong&gt;(1), 61–78, 1997. doi: &lt;a href=&quot;http://dx.doi.org/10.1006/jcss.1997.1452&quot;&gt;10.1006/jcss.1997.1452&lt;/a&gt; (&lt;a href=&quot;http://www.cs.rice.edu/~vardi/papers/pods92rj.pdf&quot;&gt;preprint&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Finally, consider &lt;em&gt;really&lt;/em&gt; simple Datalog programs, where there are only two unary predicates $T(x)$ and $F(x)$, such that $T(x) \equiv \lnot F(x)$.  In other words, each variable must take either the value &quot;true&quot; or &quot;false&quot;.  Each such Datalog program then corresponds to a Horn formula, a universally quantified conjunction of Horn clauses.  The minimization problem for these highly restricted Datalog programs is still NP-hard, and also likely to be hard to approximate.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Amitava Bhattacharya, Bhaskar DasGupta, Dhruv Mubayi, and György Turán, &lt;em&gt;On Approximate Horn Formula Minimization&lt;/em&gt;, ICALP 2010, doi:&lt;a href=&quot;http://dx.doi.org/10.1007/978-3-642-14165-2_38&quot;&gt;10.1007/978-3-642-14165-2_38&lt;/a&gt; (&lt;a href=&quot;http://www.cs.uic.edu/~dasgupta/resume/publ/papers/icalp2010.pdf&quot;&gt;preprint&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The authors mention some prior work on efficient algorithms for restricted cases, such as quasi-acyclic Horn formulas and for approximation in terms of the number of different variables in the formula.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You might also be interested in the literature on finding shortest implicants.&lt;/p&gt;&#xA;" OwnerUserId="109" LastActivityDate="2012-01-13T19:45:16.613" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="9730" PostTypeId="1" CreationDate="2012-01-13T20:48:28.600" Score="2" ViewCount="519" Body="&lt;p&gt;Suppose a finite state machine, FSM, has a fixed set of states $S$ and input/output channels $C$, and is uniquely specified by the fixed map $m : S\times D \to S\times D\cup {0}$. If a state $(c_i,s_j)$ is mapped to the 0 element it means it enters a loop and cant exit.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Clearly, if we join together pairwise any of the input/output channels of one or more FSM's, we obtain a new FSM. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a finite set of FSM's, by which any other FSM can be built (using a finite number of each), by connecting channels pairwise?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can every FSM be built by the two state, 3 channel, FSMs specified by the map:&#xA;(A,1)-&gt;(B,2),(B,2)-&gt;(A,1),(B,1)-&gt;(B,1),(A,2)-&gt;(C,1),(C,1)-&gt;(A,2),(C,2)-&gt;(C,2)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a general algorithm, given a set of FSMs, and a target FSM, to determine if the target can be built by any combination of any number of FSM's in the set?&lt;/p&gt;&#xA;" OwnerUserId="7942" LastEditorUserId="3113" LastEditDate="2012-01-16T09:59:33.867" LastActivityDate="2012-01-16T18:07:27.863" Title="Three questions about finite state machines" Tags="&lt;computability&gt;&lt;automata-theory&gt;" AnswerCount="1" CommentCount="6" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9731" PostTypeId="1" AcceptedAnswerId="9737" CreationDate="2012-01-13T22:12:39.937" Score="34" ViewCount="2313" Body="&lt;p&gt;I don't think I understand type classes. I'd read somewhere that thinking of type classes as &quot;interfaces&quot; (from OO) that a type implements is wrong and misleading.&#xA;The problem is, I'm having a problem seeing them as something different and how that is wrong.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, if I have a type class (in Haskell syntax)&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;class Functor f where&#xA;  fmap :: (a -&amp;gt; b) -&amp;gt; f a -&amp;gt; f b&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;How is that different than the interface [1] (in Java syntax)&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;interface Functor&amp;lt;A&amp;gt; {&#xA;  &amp;lt;B&amp;gt; Functor&amp;lt;B&amp;gt; fmap(Function&amp;lt;B, A&amp;gt; fn)&#xA;}&#xA;&#xA;interface Function&amp;lt;Return, Argument&amp;gt; {&#xA;  Return apply(Argument arg);&#xA;}&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;One possible difference I can think of is that the type class implementation used at a certain invocation is not specified but rather determined from the environment -- say, examining available modules for an implementation for this type. That seems to be an implementation artifact that could be addressed in an OO language; like the compiler (or runtime) could scan for a wrapper/extender/monkey-patcher that exposes the necessary interface on the type.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What am I missing?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] Note the &lt;code&gt;f a&lt;/code&gt; argument has been removed from &lt;code&gt;fmap&lt;/code&gt; since given it's an OO language, you'd be calling this method on an object. This interface assumes the &lt;code&gt;f a&lt;/code&gt; argument has been fixed.&lt;/p&gt;&#xA;" OwnerUserId="1682" LastEditorUserId="7890" LastEditDate="2018-06-23T13:10:11.677" LastActivityDate="2018-06-23T13:10:11.677" Title="Type classes vs object interfaces" Tags="&lt;pl.programming-languages&gt;&lt;type-theory&gt;&lt;type-systems&gt;" AnswerCount="3" CommentCount="0" FavoriteCount="17" ContentLicense="CC BY-SA 4.0" />
  <row Id="9732" PostTypeId="2" ParentId="923" CreationDate="2012-01-14T01:18:02.567" Score="1" Body="&lt;p&gt;Newton's method. It's used for computing square roots, for computing division. It can be used to do linear programming. More generally it's the workhorse of (convex) optimization. It can be used to solve differential equations in Physics by minimizing the action/energy.&lt;/p&gt;&#xA;" OwnerUserId="7944" LastActivityDate="2012-01-14T01:18:02.567" CommentCount="0" CommunityOwnedDate="2012-01-14T01:18:02.567" ContentLicense="CC BY-SA 3.0" />
  <row Id="9735" PostTypeId="2" ParentId="6387" CreationDate="2012-01-14T06:17:36.860" Score="5" Body="&lt;p&gt;Today's cognitive psychology is really based on the &quot;brain as computer&quot; viewpoint.  (Although, this may be considered as part of &quot;neuroscience&quot; mentioned in the question.)&lt;/p&gt;&#xA;" OwnerUserId="42" LastActivityDate="2012-01-14T06:17:36.860" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9737" PostTypeId="2" ParentId="9731" CreationDate="2012-01-14T10:10:58.267" Score="47" Body="&lt;p&gt;In their basic form, type classes are somewhat similar to object interfaces. However, in many respects, they are much more general.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Dispatch is on types, not values. No value is required to perform it. For example, it is possible to do dispatch on the result type of function, as with Haskell's &lt;code&gt;Read&lt;/code&gt; class:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;class Read a where&#xA;  readsPrec :: Int -&amp;gt; String -&amp;gt; [(a, String)]&#xA;  ...&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Such dispatch is clearly impossible in conventional OO.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Type classes naturally extend to multiple dispatch, simply by providing multiple parameters:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;class Mul a b c where&#xA;  (*) :: a -&amp;gt; b -&amp;gt; c&#xA;&#xA;instance Mul Int Int Int where ...&#xA;instance Mul Int Vec Vec where ...&#xA;instance Mul Vec Vec Int where ...&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Instance definitions are independent from both class and type definitions, which makes them more modular. A type T from module A can be retrofitted to a class C from module M2 without modifying the definition of either, simply by providing an instance in module M3. In OO, this requires more esoteric (and less OO-ish) language features like extension methods.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Type classes are based on parametric polymorphism, not subtyping. That enables more accurate typing. Consider e.g.&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;pick :: Enum a =&amp;gt; a -&amp;gt; a -&amp;gt; a&#xA;pick x y = if fromEnum x == 0 then y else x&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;vs.&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;pick(x : Enum, y : Enum) : Enum = if x.fromEnum() == 0 then y else x&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;In the former case, applying &lt;code&gt;pick '\0' 'x'&lt;/code&gt; has type &lt;code&gt;Char&lt;/code&gt;, whereas in the latter case, all you'd know about the result would be that it's an Enum. (This is also the reason why most OO languages these days integrate parametric polymorphism.)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Closely related is the issue of binary methods. They are completely natural with type classes:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;class Ord a where&#xA;  (&amp;lt;) :: a -&amp;gt; a -&amp;gt; Bool&#xA;  ...&#xA;&#xA;min :: Ord a =&amp;gt; a -&amp;gt; a -&amp;gt; a&#xA;min x y = if x &amp;lt; y then x else y&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;With subtyping alone, the &lt;code&gt;Ord&lt;/code&gt; interface is impossible to express. You need a more complicated, recursive form or parametric polymorphism called &quot;F-bounded quantification&quot; to do it accurately. Compare Java's &lt;code&gt;Comparable&lt;/code&gt; and its use:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;interface Comparable&amp;lt;T&amp;gt; {&#xA;  int compareTo(T y);&#xA;};&#xA;&#xA;&amp;lt;T extends Comparable&amp;lt;T&amp;gt;&amp;gt; T min(T x, T y) {&#xA;  if (x.compareTo(y) &amp;lt; 0)&#xA;    return x;&#xA;  else&#xA;    return y;&#xA;}&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;On the other hand, subtyping-based interfaces naturally allow the formation of heterogeneous collections, e.g. a list of type &lt;code&gt;List&amp;lt;C&amp;gt;&lt;/code&gt; can contain members that have various subtypes of &lt;code&gt;C&lt;/code&gt; (although it is not possible to recover their exact type, except by using downcasts). To do the same based on type classes, you need existential types as an additional feature.&lt;/p&gt;&#xA;" OwnerUserId="7890" LastEditorUserId="7890" LastEditDate="2012-01-14T14:28:39.610" LastActivityDate="2012-01-14T14:28:39.610" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="9738" PostTypeId="1" CreationDate="2012-01-14T11:27:22.293" Score="7" ViewCount="1052" Body="&lt;p&gt;How can a large set of integers all with a known constant digit sum be encoded?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Example of integers in base 10, with digit sum 5:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;14, 41, 104, 113, 122, 131, 140, 203 ....&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;The most important factor is space, but computing time is not completely unimportant.&lt;/p&gt;&#xA;" OwnerUserId="7947" LastEditorUserId="567" LastEditDate="2012-01-16T12:17:38.997" LastActivityDate="2012-01-18T19:17:18.040" Title="Efficient encoding of integers with constant digit sum" Tags="&lt;encoding&gt;" AnswerCount="6" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="9740" PostTypeId="1" CreationDate="2012-01-14T17:41:50.680" Score="14" ViewCount="642" Body="&lt;p&gt;Consider the problem of finding the maximum number of knights that can be placed on a chessboard without two of them attacking each other. The answer is 32: it's not too difficult to find a perfect matching (the graph induced by knight moves is bipartite, and there's a perfect matching for a 4 × 4 board), which is obviously a minimum edge cover. It's also not difficult to prove that the answer is $\left\lceil \frac{mn}{2} \right\rceil$ for an $m \times n$ chessboard whenever $m,n \geq 3$: it suffices to show matchings for $3 \leq m,n \leq 6$ and do a bit of induction footwork.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, if the chessboard were toroidal and $m, n$ were even, the proof wouldn't even require showing a matching for small boards: the map $(x, y) \rightarrow (x+1, y+2)$ has only even-length cycles so there must be a perfect matching.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there any equivalent for &lt;em&gt;rectangular&lt;/em&gt; chessboards, i.e. is there any simpler way to show that for sufficiently large $m, n$ there is always a perfect matching of the chessboard? For large boards, the rectangular board and the toroidal board are almost equivalent in the sense that the fraction of missing edges goes to zero, but I'm not aware of any theoretical results that would guarantee a perfect matching in that case.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What if, instead of jumping $(1, 2)$ in either direction, a knight jumped $(2, 3)$ squares in either direction? Or, for that matter, $(p, q)$ squares, with $p+q$ odd and $p, q$ coprime? If there &lt;em&gt;is&lt;/em&gt; a simple way of proving that the answer is $\left\lceil \frac{mn}{2} \right\rceil$ for sufficiently large $m, n$ (say, $m, n \geq C(p, q)$), what does $C(p, q)$ look like?&lt;/p&gt;&#xA;" OwnerUserId="7951" LastEditorUserId="5396" LastEditDate="2012-01-28T15:20:12.433" LastActivityDate="2012-01-28T15:20:12.433" Title="Perfect matchings in a chessboard?" Tags="&lt;co.combinatorics&gt;&lt;matching&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9741" PostTypeId="2" ParentId="9738" CreationDate="2012-01-14T18:11:46.633" Score="2" Body="&lt;p&gt;Simple idea, but fits problem statement. I propose following encoding:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Pair of integers: $(S, N)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Where&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$S$ - desired sum&lt;/li&gt;&#xA;&lt;li&gt;$N$ - place of number in sorted sequence of all possible positive integers with desired sum of digits.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;For your example sequence of integers with sum=5 :&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;(5,1) = 5&#xA;(5,2) = 14&#xA;(5,3) = 23&#xA;(5,4) = 32&#xA;(5,5) = 41&#xA;(5,6) = 50&#xA;(5,7) = 105&#xA;(5,8) = 114&#xA;...&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;As you stated, that complexity is not important, you can even enumerate all integers and count those fitting given sum, once you find n-th you are done.&#xA;Of course it's brute-force approach, just as proof of concept of encoding. For sure you can make searching for &quot;n-th&quot; number much more efficient (but as it is not part of your question and complexity is not important, I will not elaborate).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To be more specific, you might ask: &quot;&lt;em&gt;Pair of integers&lt;/em&gt; - how to encode those integers?&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can choose integer encoding as you like. Examples: Fixed length 64bit, Prefix code generated with &lt;a href=&quot;http://en.wikipedia.org/wiki/Huffman_coding&quot; rel=&quot;nofollow&quot;&gt;Huffman encoding&lt;/a&gt;, etc.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;P.S. I assumed from your example sequence, you mean numbers greater than zero.&lt;/p&gt;&#xA;" OwnerUserId="6133" LastActivityDate="2012-01-14T18:11:46.633" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9742" PostTypeId="2" ParentId="9738" CreationDate="2012-01-14T18:47:50.527" Score="4" Body="&lt;p&gt;What about writing each number as a sum of powers of 10 (or whatever is the base for your problem) in ascending order and then delta-encode the exponents with some &lt;a href=&quot;http://en.wikipedia.org/wiki/Universal_code_%28data_compression%29&quot; rel=&quot;nofollow&quot;&gt;universal code&lt;/a&gt;? You might need to nudge the deltas since most codes start with '1', but if you use e.g. &lt;a href=&quot;http://en.wikipedia.org/wiki/Universal_code_%28data_compression%29&quot; rel=&quot;nofollow&quot;&gt;Levenstein coding&lt;/a&gt; to encode 122:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;122 = 10^0 + 10^0 + 10^1 + 10^1 + 10^2&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The exponent tuple is (0, 0, 1, 1, 2), and the deltas (pretend there's an extra 0 at the beginning of the sequence) are (0, 0, 1, 0, 1), so this encodes as &quot;0010010&quot; binary. You might want to encode somewhere (beginning of the sequence?) what are the base and sum of the digits, though.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This has a minor inefficiency in that you will never see nine consecutive zero deltas. If you're that desperate for space, you can stipulate that if a zero delta would cause a digit overflow, one is subtracted from it during encoding (and added to it during decoding). For instance, 19 would be encoded as (0 * 9, 0), not (0 * 9, 1). &lt;/p&gt;&#xA;" OwnerUserId="7951" LastActivityDate="2012-01-14T18:47:50.527" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9743" PostTypeId="2" ParentId="9738" CreationDate="2012-01-14T19:54:26.337" Score="7" Body="&lt;p&gt;Just omit the last digit.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Extra text to get over the 30-chaacter minimum.)&lt;/p&gt;&#xA;" OwnerUserId="111" LastActivityDate="2012-01-14T19:54:26.337" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="9744" PostTypeId="2" ParentId="7605" CreationDate="2012-01-14T19:55:17.807" Score="1" Body="&lt;p&gt;Check out our survey:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Michele Sanna and Ebroul Izquierdo, &quot;&lt;a href=&quot;http://dx.doi.org/10.1155/2011/857847&quot; rel=&quot;nofollow&quot;&gt;A Survey of Linear Network Coding and Network Error Correction Code Constructions and Algorithms&lt;/a&gt;&quot;, 2011&lt;/p&gt;&#xA;" OwnerUserId="7955" LastEditorUserId="186" LastEditDate="2012-12-06T08:07:10.713" LastActivityDate="2012-12-06T08:07:10.713" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9745" PostTypeId="2" ParentId="1593" CreationDate="2012-01-14T20:02:35.040" Score="-4" Body="&lt;p&gt;This is an interesting and somewhat amusing question but it's poorly formulated in its current form.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'll take another stab/risk at an answer hoping that scoring will take the original difficulty and basic/inherent &quot;soft&quot; ambiguity of the question in mind and that based on current literature knowledge there are several possible avenues but arguably no &quot;correct answer&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The main query seems to be  &quot;physics analogies in computer science&quot; of which volume is one of them. &#xA;Therefore it's highly related to this other question&#xA;&lt;a href=&quot;https://cstheory.stackexchange.com/questions/2074/physics-results-in-tcs&quot;&gt;Physics results in TCS?&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To answer this question I'll take a few different approaches which I think all have merit. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;hr&gt;&#xA;first, one approach sometimes used in physics and engineering fields is &lt;a href=&quot;http://en.wikipedia.org/wiki/Dimensional_analysis&quot; rel=&quot;nofollow noreferrer&quot;&gt;&quot;dimensional analysis&quot;.&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In this case strictly interpreted, volume is in the unit &quot;space&quot; or &quot;length cubed&quot;. (Although note in physics sometimes the term &quot;space&quot; is measured in either terms length or length cubed.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Therefore one could argue that in algorithmics the study of the space hierarchy is analogous to the study of &quot;volume&quot;. A $O(n^3)$ space algorithm seems also to have the units &quot;length cubed&quot; where length is expressed in terms of input size.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem with this is that in algorithmics a $O(n^3)$ algorithm is merely a contrived limit, in a sense TCS has considered the &quot;multidimensional space continuum&quot; since its inception seen in the space hierarchy theorem. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Carrying this over to physics, it might seem absurd to consider anything other than 3-d space, but of course advanced physics takes into consideration all kinds of higher dimensional space realms all the time, via c-dimensional Hilbert [vector] spaces. So it would seem that in some sense an $O(n^c)$ space algorithm can be construed to operate in a c-dimensional hilbert space. Seems like &lt;a href=&quot;https://cstheory.stackexchange.com/questions/6959/mulmuleys-gct-program&quot;&gt;mulmuleys GCT program&lt;/a&gt; would be a premiere example of this.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Another approach to a volume analogy (and other physics quantities) in TCS is as follows, as discussed in the other question. It is known that SAT has a transition point extremely analogous to the transition point in physics/thermodynamics, Which happens eg with ideal gases under compression from one phase to another eg gas to liquid. This happens under a decrease in volume (say of the container of the gas). Now in SAT with random inputs the main two parameters on input size are clauses and variables. (Another parameter is number of variables in clauses, although that is often fixed at 3 for 3-SAT.) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Adjusting either the clauses or variables while keeping the other fixed pushes the problem difficulty through the easy-hard-easy transition point. Therefore it seems that these parameters are somehow analogous to Volume although I haven't seen the specifics mapped out. Digging into some of the deep papers on the statistical physics of SAT may turn up the analog of Volume. See [5] for a basic mapping of SAT onto statistical physics terminology.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[5] Analytic and Algorithmic&#xA;Solution of Random&#xA;Satisﬁability Problems by Mezard, Parisi, Zechina&lt;br&gt;&#xA;&lt;a href=&quot;http://dynamics.org/Altenberg/UH_ICS/EC_REFS/K-SAT/Mezard.Science.297_812.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://dynamics.org/Altenberg/UH_ICS/EC_REFS/K-SAT/Mezard.Science.297_812.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;The other approach might be related to the prior responses talking about high density information processing in physical space leading to black holes. It would use the &lt;a href=&quot;http://en.wikipedia.org/wiki/Planck_units&quot; rel=&quot;nofollow noreferrer&quot;&gt;Planck limit&lt;/a&gt; which has units of time, space, mass etcetera. There is a Planck Length unit $l_p$ defined on that Wikipedia page. See units in this &lt;a href=&quot;http://en.wikipedia.org/wiki/Planck_units#Base_Planck_units&quot; rel=&quot;nofollow noreferrer&quot;&gt;table&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I don't know the exact physical interpretation of the Planck length (it's arguably an active area of physics research), but I believe it can be interpreted in some sense as &quot;smallest possible length of space&quot;. In other words $l_p^3$ might be the size of a smallest possible physical bit. It is interesting and perhaps a discontinuity of the analogy that in physics a smallest bit apparently must actually have volume (ie units length cubed) in contrast to computer science in which bits seem to have a dimension of unit &quot;length&quot; only.&lt;/p&gt;&#xA;" OwnerUserId="7884" LastEditorDisplayName="user30448" LastEditDate="2017-06-08T07:31:06.910" LastActivityDate="2017-06-08T07:31:06.910" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9746" PostTypeId="2" ParentId="9722" CreationDate="2012-01-14T21:15:50.150" Score="11" Body="&lt;p&gt;$\mathcal{G}_B$ is the &lt;a href=&quot;http://en.wikipedia.org/wiki/Bipartite_double_cover&quot;&gt;bipartite double cover&lt;/a&gt; of $\mathcal{G}_A$. So it has twice as many vertices and edges, and if  $\mathcal{G}_A$ has an embedding with $x$ even faces and $y$ odd faces then $\mathcal{G}_B$ has an embedding (possibly on a nonplanar surface) with $2x+y$ faces, formed by making two copies of each even face and replacing each odd face by its double. Therefore, by Euler's formula, when the embedding of $\mathcal{G}_A$ is planar, the genus of $\mathcal{G}_B$ is at most $(y-2)/2$. In particular, if $\mathcal{G}_A$ is already bipartite, $\mathcal{G}_B$ consists of two disjoint copies of $\mathcal{G}_A$, and if $\mathcal{G}_A$ has only two odd faces then $\mathcal{G}_B$ will still be planar.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is not a complete characterization: It might also be possible for $\mathcal{G}_B$ to be planar in some other cases, by using a different embedding from the one derived from $\mathcal{G}_A$. For instance, if $\mathcal{G}_A=K_4$, then $\mathcal{G}_B$ is a cube, and is planar, but the embedding derived from the planar embedding of $\mathcal{G}_A$ is a toroidal embedding of the cube with four hexagonal faces (the four equators of a standard cube) instead of the usual planar embedding with six square faces.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some planar graphs $\mathcal{G}_A$ will definitely give nonplanar graphs $\mathcal{G}_B$. For instance, if $\mathcal{G}_A$ is the graph of the regular dodecahedron, its bipartite double cover is the cubic symmetric graph on 40 vertices, which is nonplanar. In the other direction, it is also possible for $\mathcal{G}_B$ to be planar even when $\mathcal{G}_A$ is nonplanar; for instance, if $\mathcal{G}_A$ is the nonplanar graph formed from $K_{3,3}$ by subdividing the edges of a 6-cycle, then $\mathcal{G}_B$ is the planar graph of the hexagonal prism (with both of its 6-cycles subdivided in the same way).&lt;/p&gt;&#xA;" OwnerUserId="95" LastEditorUserId="95" LastEditDate="2012-01-15T07:17:37.003" LastActivityDate="2012-01-15T07:17:37.003" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="9747" PostTypeId="1" AcceptedAnswerId="9752" CreationDate="2012-01-14T21:19:12.063" Score="7" ViewCount="204" Body="&lt;p&gt;Does anyone know of work on computing the Voronoi diagram of a set of points on a polyhedron, where distance is measured by shortest paths on the surface?&#xA;I am particularly interested in convex polyhedra.  I have a vague memory that this has been explored, but my memory is too vague to locate any papers.  Thanks for pointers!&lt;/p&gt;&#xA;" OwnerUserId="337" LastActivityDate="2012-01-15T06:05:07.283" Title="Voronoi diagram on surface of polyhedron" Tags="&lt;reference-request&gt;&lt;cg.comp-geom&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9749" PostTypeId="2" ParentId="7605" CreationDate="2012-01-15T00:54:54.797" Score="3" Body="&lt;p&gt;Vasili, I think a good reference is anything by Raymond Yeung (he is one of the inventors of network coding).&#xA;The following is one of the most famous monographs on the subject:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;R. W. Yeung, S.-Y. R. Li, N. Cai, and Z. Zhang, Network Coding Theory, now Publishers, 2005&#xA;&lt;a href=&quot;http://iest2.ie.cuhk.edu.hk/~whyeung/netcode/monograph.html&quot; rel=&quot;nofollow&quot;&gt;http://iest2.ie.cuhk.edu.hk/~whyeung/netcode/monograph.html&lt;/a&gt;&#xA;IMHO it is a really good read.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is also a book on info theory and network coding, again by Prof. Raymond &lt;a href=&quot;http://iest2.ie.cuhk.edu.hk/~whyeung/book2/&quot; rel=&quot;nofollow&quot;&gt;http://iest2.ie.cuhk.edu.hk/~whyeung/book2/&lt;/a&gt; &lt;/p&gt;&#xA;" OwnerUserId="6963" LastActivityDate="2012-01-15T00:54:54.797" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9750" PostTypeId="1" CreationDate="2012-01-15T02:59:26.313" Score="6" ViewCount="1416" Body="&lt;p&gt;I have an algorithm problem here. It is different from the normal &lt;a href=&quot;http://en.wikipedia.org/wiki/Fermat_point&quot; rel=&quot;nofollow&quot;&gt;Fermat Point problem&lt;/a&gt; or &lt;a href=&quot;http://en.wikipedia.org/wiki/Geometric_median&quot; rel=&quot;nofollow&quot;&gt;Geometric Median problem&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a set of $n$ points in the plane, I need to find which one can minimize the sum of distances to the rest of $n-1$ points.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Ideally I'd like to have an algorithm for any distance; but giving a nice solution for the usual Euclidean distance is also fine.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there any algorithm you know of run less than $O(n^2)$? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thank you.&lt;/p&gt;&#xA;" OwnerUserId="7960" LastEditorUserId="1549" LastEditDate="2012-01-15T04:13:06.540" LastActivityDate="2017-01-29T18:47:23.303" Title="algorithm to find a point among n points in plane to minimize the sum of distances" Tags="&lt;ds.algorithms&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9751" PostTypeId="2" ParentId="9750" CreationDate="2012-01-15T05:52:10.810" Score="8" Body="&lt;p&gt;Since you have to compare a sum of square roots, it is not clear/unknown if this problem is in NP. Otherwise, if you assume you can compute sum of square roots and compare them, then I am unaware of an algorithm that works in faster than quadratic time. For approximation, you can just approximate the 1-median using known algorithms in linear time, and then just take the closest point  to this center. This would give you a constant approximation. A better approximation can be had by working somewhat harder.&lt;/p&gt;&#xA;" OwnerUserId="9594" LastActivityDate="2012-01-15T05:52:10.810" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="9752" PostTypeId="2" ParentId="9747" CreationDate="2012-01-15T06:05:07.283" Score="6" Body="&lt;p&gt;You can just use MMP k times, if you have k sites. For every face, you have to compute the additive weighted Voronoi diagram, and the overlay of k such diagrams still have linear complexity (because, it is just a planar additive weighted Voronoi idagram). As such, for a polytope with n faces and k sites, this takes $O(n^2 k \log n)$ time. You can use the latest monstrorisity by Sharir and Schriber and do it in $O(nk log n)$ time - but is not clear how to overlay the diagrams on every face. It is probably a good idea to look at their paper and see if they do something for this case. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;As far as approximation, it is not hard to show that one can build a space decomposition of complexity $O(k/\epsilon^{O(1)} )$ such that given a query point, one can report the approximate nearest-neighbor on the polytope in $O( \log (k/\epsilon) )$ time. I think using some newer machinery, one can in fact also return the approximate distance in this time.&lt;/p&gt;&#xA;" OwnerUserId="9594" LastActivityDate="2012-01-15T06:05:07.283" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="9754" PostTypeId="2" ParentId="9740" CreationDate="2012-01-15T11:08:38.307" Score="9" Body="&lt;p&gt;The answer is NOT $\lceil \frac{mn}2\rceil$ for all large $m, n$ if e.g. $p=6$ and $q=3$. Why? Notice that because of the remainders $\mod 3$ now the graph is the (vertex) disjoint union of three bipartite graphs and from each we can select the bigger half. For example if $m=n=100$, then this way we can place (at least) 5002 knights. (This is because $x+y \mod 6$ has six classes which are in three pairs, the differences between the cardinalities of the pairs is $1,1,2$.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I do not know what happens if we add the condition that $p$ and $q$ are relative primes. (Note that apart from the 2 divisor this is equivalent to $p+q$ and $p-q$ being relative primes, in fact this is the condition that we need and which also shows that $p+q$ being odd is necessary.)&lt;/p&gt;&#xA;" OwnerUserId="419" LastActivityDate="2012-01-15T11:08:38.307" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9755" PostTypeId="1" AcceptedAnswerId="9758" CreationDate="2012-01-15T15:15:16.747" Score="11" ViewCount="1273" Body="&lt;p&gt;As I understand, in computer science data types are not based on set theory because of things like Russell's paradox, but as in real world programming languages we can't express such complex data types as &quot;set that does not contain itself&quot;, can we say that in practice type is an infinite set of its members where instance membership is defined by of number of features that are intrinsic to this type/set (existence of certain properties, methods)? If no what would be the counterexample?&lt;/p&gt;&#xA;" OwnerUserId="3150" LastActivityDate="2017-02-13T20:48:31.287" Title="Type system based on naive set theory" Tags="&lt;type-theory&gt;&lt;set-theory&gt;&lt;type-systems&gt;" AnswerCount="3" CommentCount="1" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="9756" PostTypeId="2" ParentId="9755" CreationDate="2012-01-15T15:40:16.190" Score="7" Body="&lt;p&gt;&lt;a href=&quot;http://www.pps.jussieu.fr/~gc/slides/icalp-ppdp05-slides.pdf&quot;&gt;Semantic subtyping&lt;/a&gt; is based on an underlying set theoretic interpretation of types, where subtyping is subset.  The original &lt;a href=&quot;http://www.cduce.org/papers/lics02.ps.gz&quot;&gt;work&lt;/a&gt;, I believe, is by Castagna in the context of XML processing language CDuce. Types correspond to sets of XML documents. The ideas have since been &lt;a href=&quot;http://www.cduce.org/papers/semantic_pi.pdf&quot;&gt;reapplied&lt;/a&gt; to the $\pi$-calculus and to a &lt;a href=&quot;http://www.pps.jussieu.fr/~varacca/papers/semjava.pdf&quot;&gt;calculus objects and classes&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="77" LastActivityDate="2012-01-15T15:40:16.190" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9757" PostTypeId="2" ParentId="9755" CreationDate="2012-01-15T16:25:22.637" Score="4" Body="&lt;p&gt;With a few exceptions (one which Dave Clarke cites), simple set-theoretic semantics of types are hard to use. The reason is that data abstraction does not play very nicely with set-theoretic semantics. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The basic problem is most easily seen in a total purely functional language with polymorphic types, and consider the polymorphic type $\forall \alpha.\; \alpha \to \alpha$. In a naive set-theoretic semantics of types, we would interpret the function space as set-theoretic function space, and then interpret the universal quantifier as a product over some (small) universe of sets $U$. That is, &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$[\![\forall \alpha.\; \alpha \to \alpha]\!] = \Pi X \in \mathrm{U}.\;X \to X$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, note that this interpretation of types includes functions that do something different at each element of $U$ -- we can branch on $U$ to give a different function in $X \to X$ for each $X \in U$. In contrast, the polymorphic type contains &lt;em&gt;only&lt;/em&gt; the identity function, since the only operations the programming language will let you perform at type $\alpha$ the ones which work at all types. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;So this semantics cannot (for example) justify any optimization based on the fact that the identity is the only inhabitant of $\forall \alpha.\; \alpha \to \alpha$.&lt;/p&gt;&#xA;" OwnerUserId="657" LastEditorUserId="989" LastEditDate="2017-02-13T20:48:31.287" LastActivityDate="2017-02-13T20:48:31.287" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="9758" PostTypeId="2" ParentId="9755" CreationDate="2012-01-15T19:49:05.317" Score="12" Body="&lt;p&gt;The main reason for avoiding sets in semantics of types is that a typical programming language allows us to define arbitrary recursive functions. Therefore, whatever the meaning of a type is, it has to have the fixed-point property. The only set with such a property is the singleton set.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To be more precise, a recursively defined value $v$ of type $\tau$ (where typically $\tau$ is a function type) is defined by a fixed-point equation $v = \Phi(v)$ where $\Phi : \tau \to \tau$ can be any program. If $\tau$ is interpreted as the set $T$ then we would expect every $f : T \to T$ to have a fixed point. But the only set $T$ with this property is the singleton.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course, you could also realize that the culprit is classical logic. If you work with intuitionistic set theory, then it is consistent to assume that there are many sets with fixed-point property. In fact, this has been used to give semantics of programming language, see for example&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Alex Simpson, &lt;em&gt;&lt;a href=&quot;http://homepages.inf.ed.ac.uk/als/Research/cartinmist.pdf&quot;&gt;Computational Adequacy for Recursive Types in Models of Intuitionistic Set Theory&lt;/a&gt;&lt;/em&gt;, In Annals of Pure and Applied Logic, 130:207-275, 2004.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="705" LastEditorUserId="705" LastEditDate="2012-01-15T21:16:25.207" LastActivityDate="2012-01-15T21:16:25.207" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9760" PostTypeId="2" ParentId="9730" CreationDate="2012-01-15T22:46:00.353" Score="3" Body="&lt;p&gt;No there are some FSA which are irreducible, I believe the 2 state 3 input FSA you give is the flip-flop, every reducible FSA can be made by this one. Start by looking here and the references given &lt;a href=&quot;http://en.wikipedia.org/wiki/Krohn%E2%80%93Rhodes_theory&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/Krohn%E2%80%93Rhodes_theory&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="7968" LastEditorUserId="7968" LastEditDate="2012-01-16T18:07:27.863" LastActivityDate="2012-01-16T18:07:27.863" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9761" PostTypeId="2" ParentId="923" CreationDate="2012-01-15T23:32:46.670" Score="1" Body="&lt;p&gt;Hashing and red-black trees. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;They're already implemented in STL (hash_map, map), and every programmer knows that such a container is incredibly convenient whenever you want to store some information indexed by an arbitrary data type.&lt;/p&gt;&#xA;" OwnerUserId="49" LastActivityDate="2012-01-15T23:32:46.670" CommentCount="0" CommunityOwnedDate="2012-01-15T23:32:46.670" ContentLicense="CC BY-SA 3.0" />
  <row Id="9764" PostTypeId="2" ParentId="923" CreationDate="2012-01-16T08:03:00.860" Score="1" Body="&lt;p&gt;Error correction algorithms, such as Reed-Solomon.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Error-correcting_code#List_of_error-correcting_codes&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/Error-correcting_code#List_of_error-correcting_codes&lt;/a&gt;&#xA;http://en.wikipedia.org/wiki/Reed%E2%80%93Solomon_error_correction&lt;/p&gt;&#xA;" OwnerUserId="5240" LastActivityDate="2012-01-16T08:03:00.860" CommentCount="0" CommunityOwnedDate="2012-01-16T08:03:00.860" ContentLicense="CC BY-SA 3.0" />
  <row Id="9765" PostTypeId="1" CreationDate="2012-01-16T11:49:47.663" Score="14" ViewCount="1361" Body="&lt;p&gt;&lt;a href=&quot;ftp://ftp.ecn.purdue.edu/qobi/research-statement.pdf&quot; rel=&quot;noreferrer&quot;&gt;J.M. Siskind's research statement&lt;/a&gt; states:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Stalin is an optimizing compiler for Scheme that performs whole-program static analysis and uses the results of that analysis to generate extremely efficient code. Stalin utilizes a large collection of static-analysis techniques. It performs a novel form of polyvariant flow analysis that uses iterated monovariant flow analysis to perform flow-directed splitting: cloning of specialized copies of procedures and per-call-site assignment of targets to such clones. It uses the results of flow analysis to perform life-time analysis, escape analysis, points-to analysis, and must-alias analysis. These analyses support a novel form of lightweight closure conversion that eliminates most closure slots, using techniques such as variable globalization and localization, compresses the static backchain, and usually eliminates most closures from programs. It also uses the above analyses to support flow-directed region-based storage management, where run-time garbage collection is replaced with static allocation and deallocation on a per-abstract-value and per-program-point basis. It also performs flow-directed lightweight CPS conversion, using extensions of the techniques pioneered with Screamer, to support extremely efficient first-class continuations. Finally, it supports flow-directed inlining and low-level representation selection to choose the implementation (or nonimplementation) of tags, tag checking, and tag dispatching on a per-abstract-value and per-program-point basis. This eliminates most run-time tags, tag checking, tagging, tag stripping, tag dispatching, boxing, and unboxing from programs. &lt;strong&gt;These analyses and optimizations allow Stalin to generate extremely efficient code that outperforms all other Scheme compilers by factors ranging between two and one hundred, particularly for numerically intensive code. Stalin often generates code that outperforms handwritten c and Fortran code.&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;I was able to find the following very interesting paper on closures/function calls implementation: &lt;a href=&quot;ftp://ftp.ecn.purdue.edu/qobi/fdlcc.pdf&quot; rel=&quot;noreferrer&quot;&gt;Flow-Directed Lightweight Closure Conversion&lt;/a&gt;. I've also emailed the author to ask about the papers on the other topics, which are mentioned as to be written in the closure conversion paper:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Siskind, J. M. 2000a. Flow-directed lightweight CPS conversion. In preparation.&lt;/p&gt;&#xA;&lt;p&gt;Siskind, J. M. 2000b. Flow-directed polyvariance. In preparation.&lt;/p&gt;&#xA;&lt;p&gt;Siskind, J. M. 2000c. Flow-directed representation selection. In preparation.&lt;/p&gt;&#xA;&lt;p&gt;Siskind, J. M. 2000d. Flow-directed storage management. In preparation&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Unfortunately, he never got around to writing those papers. My question to you is: are there any alternative or related papers that cover these topics? I'm very interested to learn how Stalin (or other compilers) can compile such a high level language as Scheme that is garbage collected, dynamically typed, supports first class functions, and even first class continuations, can be statically compiled to such efficient code. Although papers on flow analysis are quite abundant, papers on using the results of such an analysis to do the optimizations mentioned above aren't.&lt;/p&gt;&#xA;" OwnerUserId="7944" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2014-09-28T13:15:52.637" Title="The Stalin compiler brutally optimizes, but how?" Tags="&lt;compilers&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="9766" PostTypeId="2" ParentId="9765" CreationDate="2012-01-16T12:14:06.497" Score="11" Body="&lt;p&gt;The key is probably the fact that it uses whole program analysis and whole program optimisation. The more you know about a how a program behaves, the more you can specialise and inline and make performant.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The MLton compiler for Standard ML does a similar thing (&lt;a href=&quot;http://mlton.org/&quot; rel=&quot;nofollow&quot;&gt;http://mlton.org/&lt;/a&gt;). There is one presentation (at least) about it: &lt;a href=&quot;http://mlton.org/pages/References/attachments/060916-mlton.pdf&quot; rel=&quot;nofollow&quot;&gt;http://mlton.org/pages/References/attachments/060916-mlton.pdf&lt;/a&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Earlier work was done by Craig Chambers and his group at the University of Washington (for example: &lt;a href=&quot;http://www.cs.washington.edu/research/projects/cecil/www/pubs/jdean-thesis.html&quot; rel=&quot;nofollow&quot;&gt;http://www.cs.washington.edu/research/projects/cecil/www/pubs/jdean-thesis.html&lt;/a&gt;). This was done in the context of Self and later Cecil/Vortex.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There's probably more work in the Scheme/Lisp community. You probably want to consider googling &quot;whole program optimisation&quot;.&lt;/p&gt;&#xA;" OwnerUserId="77" LastEditorUserId="969" LastEditDate="2014-09-28T06:24:48.940" LastActivityDate="2014-09-28T06:24:48.940" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9768" PostTypeId="1" AcceptedAnswerId="9774" CreationDate="2012-01-16T14:45:08.203" Score="0" ViewCount="271" Body="&lt;p&gt;I am looking into some security analysis of arbitrary code which is represented as a graph&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there any papers on whcih graphs walks are valid code paths ?&#xA;Or a provable graph walk which is shorter than a graph walk itself ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can anyone direct to any specific terms or papers i should be looking into ?&lt;/p&gt;&#xA;" OwnerUserId="7986" LastEditorUserId="77" LastEditDate="2012-01-17T08:55:04.300" LastActivityDate="2012-01-17T12:36:59.957" Title="representing code path as graph walks.. a provable graph walk?" Tags="&lt;graph-theory&gt;&lt;security&gt;" AnswerCount="3" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="9772" PostTypeId="2" ParentId="9768" CreationDate="2012-01-17T02:27:56.590" Score="0" Body="&lt;p&gt;Hi i find the question interesting. I haven't seen much on the topic of graph-theoretic approach to software analysis, validation or bounds checking (and in general anything similar that would pertain to software security) in the literature. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://dl.acm.org/citation.cfm?id=512973&quot; rel=&quot;nofollow&quot;&gt;Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fix points&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="7258" LastActivityDate="2012-01-17T02:27:56.590" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9774" PostTypeId="2" ParentId="9768" CreationDate="2012-01-17T08:36:25.990" Score="1" Body="&lt;p&gt;This paper matches some of your criteria:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Nenad Dedic, Mariusz H. Jakubowski, Ramarathnam Venkatesan: &lt;a href=&quot;http://research.microsoft.com/apps/pubs/default.aspx?id=77270&quot; rel=&quot;nofollow&quot;&gt;A Graph Game Model for Software Tamper Protection&lt;/a&gt;. Information Hiding 2007: 80-95&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;It uses random walks on the flow graph of a program to make the program more tamper resistant. &lt;/p&gt;&#xA;" OwnerUserId="77" LastActivityDate="2012-01-17T08:36:25.990" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9775" PostTypeId="1" CreationDate="2012-01-17T11:17:39.797" Score="23" ViewCount="1363" Body="&lt;p&gt;Since it does not allow nonterminating computation, Coq is necessarily not Turing-complete. What is the class of functions that Coq can compute? (is there an interesting characterization thereof?)&lt;/p&gt;&#xA;" OwnerUserId="7999" LastEditorUserId="2185" LastEditDate="2012-01-22T01:48:52.630" LastActivityDate="2012-01-22T01:48:52.630" Title="Class of functions computable by Coq" Tags="&lt;computability&gt;&lt;pl.programming-languages&gt;&lt;coq&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="9776" PostTypeId="2" ParentId="9775" CreationDate="2012-01-17T11:49:05.273" Score="20" Body="&lt;p&gt;Benjamin Werner has proved the mutual interpretability of ZFC with countably many inaccessibles and the Calculus of Inductive Constructions, in his paper &lt;em&gt;&lt;a href=&quot;http://citeseer.ist.psu.edu/viewdoc/summary?doi=10.1.1.55.1709&quot;&gt;Sets in Types, Types in Sets&lt;/a&gt;&lt;/em&gt;.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This means, roughly, that any function which can be shown to be total in ZFC with countably many inaccessibles can be defined in Coq. So unless you are a set theorist working on large cardinals, it is unlikely that any computable function you have ever wanted cannot be defined in Coq. &lt;/p&gt;&#xA;" OwnerUserId="657" LastActivityDate="2012-01-17T11:49:05.273" CommentCount="10" ContentLicense="CC BY-SA 3.0" />
  <row Id="9777" PostTypeId="2" ParentId="9768" CreationDate="2012-01-17T12:36:59.957" Score="1" Body="&lt;p&gt;What is your notion of validity? If it means that the branches you take are consistent with the data, then your problem sounds very similar to the counterexample analysis which has to be done as a part of abstraction refinement. In a nutshell, your edges have transition relations associated with them, and you need to check satisfiability of an expression like &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\tau_1(X_1,X_2)\wedge\dots\wedge\tau_n(X_n,X_{n+1})$,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where the $X_i$ are copies of your set of state variables. This is usually handed to an SMT (SAT Modulo Theories) solver such as YICES or Z3. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is this what you are looking for?&lt;/p&gt;&#xA;" OwnerUserId="5183" LastActivityDate="2012-01-17T12:36:59.957" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9779" PostTypeId="1" AcceptedAnswerId="9784" CreationDate="2012-01-17T16:39:46.053" Score="3" ViewCount="143" Body="&lt;p&gt;I'm looking for a formal proof that a problem (say, dominating set) is bidimensional/contraction-bidimensional. Either a reference or a proof sketch is fine.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are two elements in the definition of (contraction-)bidimensionality (1) taking minor/contraction does not increase the parameter (2) on r*r-grid/triangulated grid, the solution value is at least theta(r*r). &#xA;In particular, I'd like to know how the proof goes regarding (2). &lt;/p&gt;&#xA;" OwnerUserId="8003" LastActivityDate="2012-01-18T10:02:51.807" Title="how to prove bidimensionality" Tags="&lt;cc.complexity-theory&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9780" PostTypeId="1" AcceptedAnswerId="9783" CreationDate="2012-01-17T19:19:21.510" Score="6" ViewCount="841" Body="&lt;p&gt;What is the tree-width of the graph $G = (V_1 \cup V_2 \cup \dotsb V_n, E)$ where  the connected components of an induced subgraph of any neighboring set of vertices (i.e. $G[V_i \cup V_j], i = j - 1$) are complete bipartite graphs? Here is an example. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/NyhhV.png&quot; alt=&quot;example graph&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is clear the entire graph $G$ is bipartite, and showing the tree-width of bipartite graphs is $\mathcal{NP}$-Hard in general, but I was curious if this added enough structure to the problem to make it tractable. For instance, we can easily find the largest bipartite clique just by finding a vertex with maximum degree, then finding its neighbors (and their predecessors).&lt;/p&gt;&#xA;" OwnerUserId="1501" LastEditorUserId="1501" LastEditDate="2012-01-17T21:11:56.933" LastActivityDate="2012-01-18T09:52:09.573" Title="Tree width of a particular graph" Tags="&lt;graph-theory&gt;&lt;optimization&gt;&lt;treewidth&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9781" PostTypeId="2" ParentId="9738" CreationDate="2012-01-18T01:25:56.940" Score="1" Body="&lt;p&gt;Let's say you are dealing with numbers in base $b$ with up to $n$ digits whose digit values sum to $M$. To encode a number $N$ of length $l = \lfloor \log_b  N \rfloor + 1 \leq n$, just create a bit vector of length $\log n + (M - 1)\log l$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The first $\log n$ bits of the vector tell you how many digits $N$ has. The second $l$ bits tell you the position $p$ (from the right) of the first not-zero bit. The subsequent $M - 2$ blocks of $log l$ bits tell you offsets $d_i$ for $1 \leq i \leq M - 2$. You use these offsets to reconstruct the number quickly, as:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xD;&#xA;N = b^{l - 1} + b^{p} + \sum_{1 \leq i \leq M - 2} b^{p + \sum_{1 \leq j \leq i} d_i}&#xD;&#xA;$$&lt;/p&gt;&#xA;" OwnerUserId="1037" LastActivityDate="2012-01-18T01:25:56.940" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9782" PostTypeId="2" ParentId="9738" CreationDate="2012-01-18T08:55:12.187" Score="1" Body="&lt;p&gt;$X = \{\{0,5\}, \{1,4\}, \{1,1,3\}, \{1,1,1,2\}, \{1,1,1,1,1\}, \{2,3\}, \{2,2,1\} \}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$X$ is partition of 5 where only single digit numbers are allowed.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Observation:&lt;/strong&gt;&lt;br&gt;&#xA;Any number with digit sum 5 can be represented by permutation of one of the above sets stuffed with 0s. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\begin{eqnarray*}&#xD;&#xA;14 \rightarrow 10^040^0 \rightarrow 14:0,0\\&#xD;&#xA;104 \rightarrow 10^{1}40^0  \rightarrow 14:1,0\\&#xD;&#xA;10000000000004 \rightarrow 10^{12}40^0 \rightarrow 14:12,0\\&#xD;&#xA;100040000000000000000 \rightarrow 10^{3}40^{16} \rightarrow 14:3,16 &#xD;&#xA;&#xD;&#xA;\end{eqnarray*}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;All these four numbers can be stored in a dictionary with 14 as key and list of number of zeros to stuff between each non-zero digits. &lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;{&#xA;14: [&#xA;      [0,0],&#xA;      [1,0],&#xA;      [12,0],&#xA;      [3,16]&#xA;    ]&#xA;}&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Space savings:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$log_{10}$ roughly computes length of a number in base 10. If you store a number N, as a string then $L \approx \log_{10}N$ bytes are required (assuming 1 byte per char). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;But if we use representation of numbers given above then approximate number of bytes needed are $\approx \log_{10}L$. Reason for this is lots of zeros in the number. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$space  \ savings \approx 1 - \frac{log_{10} \ L}{L} = 1-\frac{log_{10}\ log_{10} \ N}{log_{10}\ N}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Python Code:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;d = {} &#xA;def insert(n):&#xA;        key, xs = '', []&#xA;        for x in n:&#xA;                if x is not '0':&#xA;                        key += x&#xA;                        xs += [0]&#xA;                else:&#xA;                        xs[-1] += 1&#xA;&#xA;        if not key in d.keys():&#xA;                d[key] = []&#xA;        d[key] += [xs]&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;" OwnerUserId="612" LastEditorUserId="612" LastEditDate="2012-01-18T10:48:22.363" LastActivityDate="2012-01-18T10:48:22.363" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9783" PostTypeId="2" ParentId="9780" CreationDate="2012-01-18T09:52:09.573" Score="10" Body="&lt;p&gt;The problem is still NP-complete. Here's a reduction from the Treewidth problem on general graphs. Recall that for a graph G of treewidth at least two, the treewidth is not affected when subdividing an edge by a degree-2 vertex (i.e. replacing an edge $\{u,v\}$ by a new vertex $x$ and edges $\{u,x\}$, $\{x,v\}$ ).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given an input graph $G$ on $n$ vertices, assume without loss of generality that it has treewidth at least two (otherwise we can solve the problem and output an equivalent constant-sized instance). Number the vertices of G from $1$ to $n$, in some arbitrary order. Now assign vertex $v_i$ to set $S_{2i}$, and observe that trivially, each set $S_i$ induces an independent set in the graph; we will maintain this during the following process. As long as the graph has an edge $\{u,v\}$ between two vertices which are not in adjacent sets, say an edge between a vertex in $S_i$ and one in $S_j$ for $i &amp;lt; j$ and $j-i &amp;gt; 1$, subdivide the edge, placing the newly created degree-2 vertex in set $S_{i+1}$. Since this subdivider vertex is placed between the endpoints of the subdivided edge, it decreases the difference between the indices of the sets that its neighbors are in, and therefore each edge of the original graph is subdivided no more than $n$ times. So  this process terminates after a polynomial number of steps. The resulting graph $G&amp;#39;$ was made from G by repeatedly subdividing edges, so its treewidth equals that of G. Let us verify that the resulting sets satisfy that all connected components of $G&amp;#39;[S_i \cup S_{i+1}]$ are bicliques. One of the indices $i, i+1$ is odd. By construction, the set for this odd index contains only degree-2 vertices which were added to subdivide an edge. Since the subdivider vertex was placed &quot;in the gap between its two neighbors&quot;, each degree-2 vertex has one neighbor in the previous set, and one neighbor in the next set. So the set out of $S_i, s_{i+1}$ with odd index has only vertices which have degree one in the graph $G&amp;#39;[S_i \cup S_{i+1}]$, which shows that the graph is a disjoint union of stars which are bicliques. So the graph G' has treewidth equal to G, size polynomial in that of G, and can be constructed in polynomial time. Since treewidth is NP-complete, so is the restriction to your special graph class.&lt;/p&gt;&#xA;" OwnerUserId="122" LastActivityDate="2012-01-18T09:52:09.573" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9784" PostTypeId="2" ParentId="9779" CreationDate="2012-01-18T10:02:51.807" Score="7" Body="&lt;p&gt;Here's how to do (2) for Dominating Set. Since Dominating Set is contraction-bidimensional, we need to show the solution value is $\Omega(r^2)$ on a partially triangulated $r*r$ grid. So consider a partially triangulated $r*r$ grid. There might be vertices on the outer cycle of the grid of large degree (for example, one vertex might be adjacent to all other vertices on the outer cycle). Therefore, we are going to ignore the outermost 2 cycles of the grid, so we look at the $(r-4) * (r-4)$ partially triangulated subgrid &quot;in the center&quot;, which has $\Omega(r^2)$ vertices, and we consider which vertices may be used to dominate this subgrid. Due to planarity, no vertex in this inner grid can be adjacent to a vertex on the outer cycle. All vertices which do not lie on the outer cycle have degree at most 8, as the partial triangulation has to keep the graph planar and can only make edges to the 8 vertices which are above, below, left, right, and diagonally adjacent to a vertex. So the $\Theta(r^2)$ vertices of the inner $(r-4)*(r-4)$ grid must be dominated by vertices which have degree at most 8 each. So when it comes to this inner grid, at best each vertex can dominate 8 other vertices and itself, for a total of 9. So you need at least $(r-4)^2 / 9$ vertices to dominate the inner grid, so a dominating set on the partially triangulated grid has size $\Theta(r^2)$.&lt;/p&gt;&#xA;" OwnerUserId="122" LastActivityDate="2012-01-18T10:02:51.807" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9785" PostTypeId="2" ParentId="9738" CreationDate="2012-01-18T12:18:06.257" Score="0" Body="&lt;p&gt;&lt;strong&gt;LAST EDIT:&lt;/strong&gt; just a refinement of the previous answer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose you have $n$ numbers, the digits must sum to $k$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First enumerate the permutations of the digits that sum to $k$, merged with the  combinations of non-empty 0 subsequences; for example, if $k=5$:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt; 0: 5      1: 5z&#xA; 2: 23     3: 23z     4: 2z3    5: 2z3z&#xA; 6: 32     7: 32z     8: 3z2    9: 3z2z&#xA; ...&#xA; __: 11111  __: 11111z ......   ___: 1z1z1z1z1z&#xA;&#xA; (z means: non-empty zero sequence)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;We can represent a single number $v$, with the corresponding index $I(v)$ in the above enumeration plus the lengths of the non-empty interleaving 0 sequences.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;v = 2 0 0 0 0 0 1 0 0 0 0 2 0 0 0 0 0 0 0&#xA;      +-seq1--+   +seq2-+   +--seq3-----+&#xA;       |seq1|=5   |seq2|=4    |seq3|=7&#xA;I(v) = 2z1z2z&#xA;v can be represented with (2z1z2z,(5,4,7))&#xA;( &quot;2z1z2z&quot; should be replaced with the entry number of 2z1z2z in the permutation table)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;We can group the $n$ values $v_i$ of the set according to $I({v_i})$.&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;set: [ 2300, 10112, 100112, 2003000, 2000300000 ]&#xA;&#xA;representation: [ 23z:[[2]], 1z112:[[1],[2]], 2z3z:[[2,3],[3,5] ]&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;We can gain more space if we add a lookup-table of the most frequent 0 (non contiguous) subsequences ( 0_0, 0_0_0, ...):&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;set: [ 2300, 100112, 100110002,  2003000, 2000300000, 3000200000 ]&#xA;&#xA;representation:&#xA;zero-sequences-table: [ h1:[2,3], h2:[3,5] ]&#xA;encoded-set: [23:[2], 1z112:[2,h1], 2z3z:[h1,h2], 3z2z:[h2]]&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Note:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;the numbers with few digits should be left unencoded;&lt;/li&gt;&#xA;&lt;li&gt;as noted by Pratik both the permutation table and the zero-sequences-table can be generated dinamically;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2012-01-18T19:17:18.040" LastActivityDate="2012-01-18T19:17:18.040" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="9786" PostTypeId="2" ParentId="9717" CreationDate="2012-01-18T15:33:04.507" Score="-6" Body="&lt;p&gt;Your are asking about the maximization of a function with no restrictions?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is really simple. If M is the biggest set, then it is the best solution. No need to calculate anything.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This problem seems similar to the knapsack problem, which is NP by the way.&lt;/p&gt;&#xA;" OwnerUserId="8013" LastActivityDate="2012-01-18T15:33:04.507" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9787" PostTypeId="1" AcceptedAnswerId="12438" CreationDate="2012-01-18T16:20:27.050" Score="3" ViewCount="378" Body="&lt;p&gt;Normal Order Reduction (NOR)&#xA;reduce the leftmost, outermost redex.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Normal Order Evaluation (NOE)&#xA;reduce the leftmost, outermost redex, but not within the body of abstractions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So (λw. (λx.x) z) is in normal form under NOE, but not under NOR.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does using NOE instead of NOR weaken the Normalization property?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The Normalization property states that if there is a normal form under beta-reduction, that NOR will find it.&#xA;Edit:&#xA;Sorry, it's the Curry/Feys Theorem that says that NOR always finds a normal form if it exists.&lt;/p&gt;&#xA;" OwnerUserId="1215" LastEditorUserId="186" LastEditDate="2012-08-29T19:25:26.713" LastActivityDate="2012-08-29T19:25:26.713" Title="Does using Normal Order Evaluation instead of Normal Order Reduction lose the Normalization theorem?" Tags="&lt;lo.logic&gt;&lt;pl.programming-languages&gt;&lt;lambda-calculus&gt;" AnswerCount="2" CommentCount="7" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9790" PostTypeId="2" ParentId="8768" CreationDate="2012-01-18T20:40:55.500" Score="1" Body="&lt;p&gt;I'm not sure what policy here is on reviving dead questions. I'll answer in case anyone else needs this question answered. I'm sorry, but I know of no papers on the subject (likely due to ignorance rather than non-existence, however).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As with most lossy methods of compression, JPEG aims to remove the image features that are not important or differentiable to the human eye. Unfortunately, those parts of the image are precisely where Steganography would occur (for example, in the least significant bits) - so if you had embedded data in an image, JPEG encoding would almost certainly destroy the stego data. Re-encoding image files is actually considered a good way of protecting against steganography. Since steganography is concerned with making the data as un-noticeable as possible (and in the process making it as indistinguishable to the human eye as possible) it is an entirely natural conclusion that steganography would be at odds with format changes (at least, lossy format changes. Lossless changes would not destroy any embedded steganography, unless they relied on some part of the format rather than the pixels themselves).&lt;/p&gt;&#xA;" OwnerUserId="8018" LastActivityDate="2012-01-18T20:40:55.500" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9791" PostTypeId="1" CreationDate="2012-01-18T21:30:18.840" Score="21" ViewCount="585" Body="&lt;p&gt;Recently,  I worked on the problem for computing the approximate sum of a list of sorted nonnegative numbers. For any fixed $\epsilon&amp;gt;0$,  an $O(\log n)$ time approximation scheme has been derived such that it gives an $(1+\epsilon)$-approximation for the sum. The paper is posted at &lt;a href=&quot;http://arxiv.org/abs/1112.0520&quot;&gt;http://arxiv.org/abs/1112.0520&lt;/a&gt;, which has not been finalized.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have been looking for existing works for this problem, but I only got a few remotely related papers,  and cited them.  Was this problem studied before?   If someone knows any existing researches about this problem, please let me know. I will appreciate the help, and update the citations accordingly. If the results are old, the paper will be dumped into a garbage can.&lt;/p&gt;&#xA;" OwnerUserId="3423" LastEditorUserId="1800" LastEditDate="2012-01-19T05:16:35.163" LastActivityDate="2012-01-23T13:31:10.473" Title="Approximate sum of a sorted list" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;" AnswerCount="3" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="9792" PostTypeId="1" CreationDate="2012-01-18T18:11:55.737" Score="2" ViewCount="366" Body="&lt;p&gt;If L(G1) is the language that is produced by grammar G1 and G1 is not LR(k) parsable (specifically speaking for k = 1). Does there exist a grammar Gx that is L(Gx) = L(G1) where Gx is LR(1) parsable ? If that is possible can it be generalized to all possible languages or just a subset?&lt;/p&gt;&#xA;" OwnerUserId="12505" OwnerDisplayName="Mike G" LastActivityDate="2013-11-06T15:41:51.590" Title="Can any language be modeled as LR(k)" Tags="&lt;compilers&gt;" AnswerCount="2" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="9793" PostTypeId="2" ParentId="9792" CreationDate="2012-01-18T18:24:26.220" Score="1" Body="&lt;p&gt;You can mechanically transform an LR(k) grammar into an LR(1) grammar (&lt;a href=&quot;http://en.wikipedia.org/wiki/LR_parser&quot; rel=&quot;nofollow&quot;&gt;source&lt;/a&gt;)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is not true for LR(*) grammars (k=inf). However, that statement doesn't mean that there isn't such a grammar for the same language. You might just need to rewrite the grammar.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Grammars exist that cannot be transformed, however. Languages for Context-Sensitive grammars can be more expressive than context-free grammars (can only be recognized by linear-bounded automata). Therefore, your hoped-for translation is possible for just a subset.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Update for clarification:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are languages that can not be represented by LR grammars but do have a grammar that is not LR (the language requires something more powerful than LR). There are also grammars that are not LR that recognize a language that can be recognized by an LR grammar (the language just happens to have a complex grammar, but it is not required).&lt;/p&gt;&#xA;" OwnerUserId="8019" OwnerDisplayName="ccoakley" LastActivityDate="2012-01-18T18:39:52.647" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="9794" PostTypeId="1" AcceptedAnswerId="9795" CreationDate="2012-01-18T22:37:32.907" Score="0" ViewCount="340" Body="&lt;p&gt;In quantum communication complexity, we always assume that Alice and Bob have unlimited computational power and are still prove lower bounds such as the $\Omega(n)$ lower bounds of parity. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;What happens if we assume that Alice and Bob can do something a quantum algorithm cannot do? One particular ability that I'm interested in is when they can copy qubits, i.e., Alice can send Bob a copy of her qubits and also keep a copy of that qubit sent to Bob. Do the lower bounds still hold in this model?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A particular result that I'm interested in is the lower bound in Razborov's paper &quot;Quantum communication complexity of symmetric predicates&quot;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, is this ability already included in the formal definition, e.g., as defined in Razborov's paper?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(As you can guess, my understanding in quantum algorithm is very limited. So, besides the full answers, I would appreciate any pointer to anything in the literature as well.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt; I realized after reading Artem Kaznatcheev's answer that the model I ask is too general so I　asked a new question &lt;a href=&quot;https://cstheory.stackexchange.com/questions/9797/do-the-quantum-communication-complexity-lower-bounds-when-parties-can-send-a-du&quot;&gt;here&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="317" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2012-05-07T14:31:59.760" Title="Are Alice and Bob allowed to copy qubits in quantum communication complexity model?" Tags="&lt;quantum-computing&gt;&lt;communication-complexity&gt;&lt;quantum-information&gt;" AnswerCount="2" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9795" PostTypeId="2" ParentId="9794" CreationDate="2012-01-18T23:07:08.273" Score="5" Body="&lt;p&gt;The general rule of thumb is if you have cloning (and unbounded computation!), then most things get easy. In the case of the qubit-channel communication complexity, Alice can just send her initial state with one qubit.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Interpret Alice's string $x$ as an integer, between $1$ and $2^n$. Given a string $x$, Alice prepares the state $|\phi_x\rangle = \sqrt{1 - x/2^n}|0\rangle + \sqrt{x/2^n}|1\rangle$. She sends state $|\phi_x\rangle$ to Bob, Bob makes an exponential number of copies of $|\phi_x\rangle$ and measures each individually in different bases to determine $x$. With $x$ in his hands, Bob can compute any function $f(x,y)$.&lt;/p&gt;&#xA;" OwnerUserId="1037" LastActivityDate="2012-01-18T23:07:08.273" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9796" PostTypeId="2" ParentId="9794" CreationDate="2012-01-19T02:29:14.697" Score="6" Body="&lt;p&gt;Let me add to Artem’s nice explanation a pedantic point about your wording “something a quantum algorithm cannot do.”&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the usual setting of communication complexity, each party is allowed to perform any local operations, regardless of whether it is computable or not.  This is true in both classical and quantum cases.  In this sense, each party is indeed allowed to do something a quantum &lt;em&gt;algorithm&lt;/em&gt; cannot do.  However, Alice and Bob are still constrained by the law of physics, and cloning is disallowed because of this.  In short, cloning is disallowed not because there is no quantum algorithm for it, but because it is ruled out by the law of physics.&lt;/p&gt;&#xA;" OwnerUserId="567" LastActivityDate="2012-01-19T02:29:14.697" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="9797" PostTypeId="1" CreationDate="2012-01-19T06:11:22.937" Score="4" ViewCount="186" Body="&lt;p&gt;This question continues from the &lt;a href=&quot;https://cstheory.stackexchange.com/questions/9794/are-alice-and-bob-allowed-to-copy-qubits-in-quantum-communication-complexity-mod&quot;&gt;previous question&lt;/a&gt; where I mistakenly asked a question that is too general. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In quantum communication complexity, we always assume that Alice and Bob have unlimited computational power and are still prove lower bounds such as the Ω(n) lower bounds of parity.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What happens if we assume that Alice and Bob can do something that they cannot do due to  the the law of physics? One particular ability that I'm interested in is when each party can send a qubit to the other party without losing their own qubit. In other words, before sending their qubits to the other party, they can make ONE copy of it. (Note that this is allowed only when they are about to send a qubit.)  Do the known lower bounds hold in this case?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A particular result that I'm interested in is the lower bound in Razborov's paper &quot;Quantum communication complexity of symmetric predicates&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, is this ability already included in the formal definition, e.g., as defined in Razborov's paper?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(As you can guess, my understanding in quantum algorithm is very limited. So, besides the full answers, I would appreciate any pointer to anything in the literature as well.)&lt;/p&gt;&#xA;" OwnerUserId="317" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2012-05-07T14:31:14.797" Title="Do the quantum communication complexity lower bounds hold when parties can send a &quot;duplicated&quot; qubits?" Tags="&lt;quantum-computing&gt;&lt;communication-complexity&gt;&lt;quantum-information&gt;" AnswerCount="0" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="9799" PostTypeId="2" ParentId="5840" CreationDate="2012-01-19T13:45:50.760" Score="1" Body="&lt;p&gt;The answer for the first question is &lt;strong&gt;Yes&lt;/strong&gt; there is a theory, it's Algorithmic information theory and those are called Elegant Programs (by Gregory Chaitin).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the second question about &quot;is the program I get the simplest one&quot;?  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;There is no answer&lt;/strong&gt;, because it's an uncomputable question, it's not posible to prove that a program is an Elegant program. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I've put an answer to add the mention about &lt;strong&gt;elegant programs&lt;/strong&gt;.&lt;/p&gt;&#xA;" OwnerUserId="6559" LastActivityDate="2012-01-19T13:45:50.760" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9801" PostTypeId="1" CreationDate="2012-01-19T15:35:51.007" Score="13" ViewCount="258" Body="&lt;p&gt;I am interested in the complexity of the dominating set problem (DSP) in some specific graph classes which are subclasses of &lt;a href=&quot;http://en.wikipedia.org/wiki/Chordal_graph&quot;&gt;chordal graphs&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A graph is an &lt;a href=&quot;http://www.graphclasses.org/classes/gc_129.html&quot;&gt;undirected path graph&lt;/a&gt; if it is the vertex-intersection graph of a family of paths in some undirected tree. Let UP be the class of undirected path graphs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A graph is an &lt;a href=&quot;http://www.graphclasses.org/classes/gc_128.html&quot;&gt;EPT graph&lt;/a&gt; if it is the edge-intersection graph of a family of paths in some undirected tree. An EPT graph may not be chordal, but let CEPT be the class of chordal EPT graphs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A graph is a &lt;a href=&quot;http://www.graphclasses.org/classes/gc_175.html&quot;&gt;(rooted) directed path graph&lt;/a&gt; if it is the vertex-intersection graph of a family of directed paths in some rooted directed tree (i.e. all arcs directed away from the root). Let RDP be the class of (rooted) directed path graphs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We have $RDP\subseteq CEPT \subseteq UP\subseteq chordal$ &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is known that the DSP is linear-time solvable for graphs in RDP but NP-complete for graphs of UP [&lt;a href=&quot;http://epubs.siam.org/sicomp/resource/1/smjcat/v11/i1/p191_s1&quot;&gt;Booth and Johnson, 1981&lt;/a&gt;]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am interested in special graphs which correspond to vertex-intersection graphs of families of undirected paths in caterpillar-like trees of maximum degree 3.&#xA;More precisely, these &quot;caterpillars&quot; are built from a path in which each second vertex has a pendant degree-one-vertex attached to.&#xA;Let us call this class cat-UP.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Moreover, my special graphs can also be constructed as the edge-intersection graphs of some families of undirected paths in specific trees of maximum degree 3.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So my questions are:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) Is the complexity of the DSP for graphs of cat-UP known ?&#xA;(note that the reduction in [&lt;a href=&quot;http://epubs.siam.org/sicomp/resource/1/smjcat/v11/i1/p191_s1&quot;&gt;Booth and Johnson, 1981&lt;/a&gt;] produces a host tree which is of maximum degree 3, but quite far from a caterpillar)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) What is the complexity of DSP for graphs of CEPT ? And for graphs of CEPT arising form a host tree of maximum degree 3 ?&#xA;(&lt;a href=&quot;http://www.graphclasses.org/classes/gc_127.html&quot;&gt;this is not known to ISGCI&lt;/a&gt;)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;3) Is there any complexity result for the DSP in a closely related graph family ?&lt;/p&gt;&#xA;" OwnerUserId="1930" LastActivityDate="2012-11-23T16:56:21.407" Title="The complexity of the dominating set problem in specific subclasses of chordal graphs" Tags="&lt;reference-request&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;np-hardness&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9804" PostTypeId="1" AcceptedAnswerId="9814" CreationDate="2012-01-19T18:14:50.260" Score="5" ViewCount="2104" Body="&lt;p&gt;I am having a small problem. I have the complete city's data which has over 100,000 nodes and 40,000 paths in my database. Now I need to calculate the all pair shortest path between all of them. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Obviously running them all together will take a long long time to compute as the complexity being $\Theta(n^3)$. So what I have decided is that to divide all the nodes into 20 different circles. I will compute for each different circle and then merge all the table's using a small dynamic programming approach which has the complexity of $\Theta(n_1n_2)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where $n_1$ i the number of nodes in 1st and $n_2$ in the 2nd circle. In my case $n_1$=$n_2$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So this way I am running it in $O(n^3)$, but practically its much faster than before. Yet overall it still is taking a long long time to compute. Is there any better approach?&#xA;Or are there any better well known algorithms which can solve such problems faster?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Quite helpless&lt;/p&gt;&#xA;" OwnerUserId="6897" LastEditorUserId="1037" LastEditDate="2012-01-30T19:20:33.530" LastActivityDate="2012-01-30T19:20:33.530" Title="All pair shortest path problem for large number of nodes" Tags="&lt;ds.algorithms&gt;&lt;graph-algorithms&gt;" AnswerCount="3" CommentCount="0" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="9805" PostTypeId="2" ParentId="9804" CreationDate="2012-01-19T18:33:43.637" Score="6" Body="&lt;p&gt;Search papers on : &quot;Shortest Path Queries Using Highway Hierarchies&quot;. There is a paper by Sanders and Schultes. If you follow their citations, there are lot of other papers. These methods are very useful for real road networks.&lt;/p&gt;&#xA;" OwnerUserId="4529" LastActivityDate="2012-01-19T18:33:43.637" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9806" PostTypeId="1" CreationDate="2012-01-19T19:00:25.227" Score="18" ViewCount="1679" Body="&lt;p&gt;I think it would be a good idea to make a list of theorems stating that P does not equal NP if and only if such and such exits, some complexity class is contained in another complexity class and so on and so forth. &lt;br&gt;&lt;/p&gt;&#xA;" OwnerUserId="1590" LastEditorUserId="1590" LastEditDate="2017-05-22T03:43:19.510" LastActivityDate="2017-05-22T03:43:19.510" Title="List of theorems stating that P does not equal NP if and only if" Tags="&lt;cc.complexity-theory&gt;&lt;big-list&gt;&lt;p-vs-np&gt;" AnswerCount="4" CommentCount="9" FavoriteCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="9807" PostTypeId="1" CreationDate="2012-01-19T21:00:56.680" Score="12" ViewCount="497" Body="&lt;p&gt;Say one has a language $L \subseteq \Sigma^*$, but one doesn't know what strings are actually part of the language. All one has is a finite view of the language: a finite set of strings $A \subseteq L$ that are known to be in the language, and a finite set of strings $B \subseteq (\Sigma^* \setminus L)$ that are known to not be in the language.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, let's say I have the $A = \{ab, aaab, aaaaabb\}$ and $B = \{b, aab, aaaba\}$. I might have the language $L = \{a^{2i+1}b^j~|~i, j \in \mathbb{N} \}$, since $A$ and $B$ are consistent with $L$, or I might have a completely different language.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is: is there a known way to create a DFA (deterministic finite automata) that accepts the strings in $A$ and rejects the strings in $B$, with a minimal or almost-minimal number of states? What's the complexity of this problem? How good is it at approximating $L$ (assuming $L$ has a fairly low descriptive complexity, and $A$ and $B$ are large)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://math.stackexchange.com/q/100278/23203&quot;&gt;Original question on math.stackexchange.com.&lt;/a&gt; I decided to repost here after getting no answers on the original question, and having no idea where to look for them. If someone could point me toward research in this area, it would be greatly appreciated.&lt;/p&gt;&#xA;" OwnerUserId="7577" LastEditorUserId="-1" LastEditDate="2017-04-13T12:19:19.363" LastActivityDate="2012-05-14T20:04:41.797" Title="Minimal DFA satisfying a finite view of a language" Tags="&lt;cc.complexity-theory&gt;&lt;fl.formal-languages&gt;&lt;automata-theory&gt;" AnswerCount="3" CommentCount="8" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9808" PostTypeId="2" ParentId="9690" CreationDate="2012-01-20T00:24:26.437" Score="0" Body="&lt;p&gt;If I understand your question correctly, I think a simple example is the term $\Delta = \lambda x. x x$, which takes a function and applies it to itself. You can define and reduce this function in the untyped lambda calculus (and in particular, you have $\Delta \Delta \to_\beta ~\Delta \Delta$, which is not normalizing), but you can't type $\Delta$, because that would mean finding a type $A$ such that $A = A \to A$. &lt;/p&gt;&#xA;" OwnerUserId="8030" LastActivityDate="2012-01-20T00:24:26.437" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="9809" PostTypeId="2" ParentId="2979" CreationDate="2012-01-20T01:16:31.487" Score="1" Body="&lt;p&gt;A lecture on Provable Security could be interesting, in particular using Game Theory. I think that the Chapters 8 and 25 of the &lt;a href=&quot;http://www.cambridge.org/journals/nisan/downloads/Nisan_Non-printable.pdf&quot; rel=&quot;nofollow&quot;&gt;Nisan et al book&lt;/a&gt; on Algorithmic Game Theory could provide a good basis. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would also include a brief description of existing security/safety standards, such as ITSEC/TCSEC and the Common Criteria. It's always good to point out that in order to achieve the highest level of the Common Criteria, it is necessary to &lt;strong&gt;formally&lt;/strong&gt; verify, design and test a system. &lt;/p&gt;&#xA;" OwnerUserId="8030" LastActivityDate="2012-01-20T01:16:31.487" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9810" PostTypeId="1" AcceptedAnswerId="9811" CreationDate="2012-01-20T02:37:16.740" Score="2" ViewCount="414" Body="&lt;p&gt;I am reading about the Bloom filter, and I must say I am fascinated by the idea. I would like to know if it is possible to use it for storage.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem with the Bloom filter is that, even if we accept that there will be false positives, the set of elements that we need to scan to see which ones are present may be very large (assuming that such set is finite). I would like to know if there is a smart way to reduce the complexity of such problems, namely, the complexity associated to the task of finding which elements are currently stored in the Bloom filter (of course with error due to false positives, if any). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there any techniques in the literature that I can look at to reduce the complexity of such task?&lt;/p&gt;&#xA;" OwnerUserId="6478" LastActivityDate="2012-01-20T02:54:44.220" Title="Bloom filter for storage" Tags="&lt;counting-complexity&gt;&lt;set-theory&gt;&lt;search-problem&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9811" PostTypeId="2" ParentId="9810" CreationDate="2012-01-20T02:54:44.220" Score="6" Body="&lt;p&gt;There is a data structure called an &quot;invertible Bloom filter&quot; due to Goodrich and myself that can be used for storage: you can add and remove keys and, whenever the current number of keys is below the capacity of the structure, determine what they are with high probability (regardless of whether it was ever above capacity in the past). Goodrich and Mitzenmacher have generalized this to allow values to be associated with the keys as well.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, one drawback to these structures is that they use quite a bit more space than a normal Bloom filter: basically, a logarithmic number of bits per key rather than a constant number of bits per key.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Space-efficient straggler identification in round-trip data streams via Newton's identitities and invertible Bloom filters.&#xA;D. Eppstein, and M. T. Goodrich.&#xA;arXiv:0704.3313.&#xA;IEEE Trans. Knowledge and Data Engineering 23(2): 297-306, 2011.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;and&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Invertible Bloom Lookup Tables&#xA;Michael T. Goodrich, Michael Mitzenmacher&#xA;arXiv:1101.2245&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2012-01-20T02:54:44.220" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9813" PostTypeId="2" ParentId="9791" CreationDate="2012-01-20T03:20:03.933" Score="7" Body="&lt;p&gt;This problem is solved in the following paper, where more general problems are mostly addressed: &lt;a href=&quot;http://valis.cs.uiuc.edu/~sariel/papers/06/integrate/&quot;&gt;http://valis.cs.uiuc.edu/~sariel/papers/06/integrate/&lt;/a&gt; . &lt;/p&gt;&#xA;" OwnerUserId="9594" LastEditorUserId="9594" LastEditDate="2012-01-20T03:25:50.570" LastActivityDate="2012-01-20T03:25:50.570" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9814" PostTypeId="2" ParentId="9804" CreationDate="2012-01-20T04:20:28.577" Score="6" Body="&lt;p&gt;Strictly speaking, the paper pointed out by singsumit handles the P2P shortest path problem (not the all pairs shortest paths problem).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you really want to compute the all pairs shortest paths problem, I will recommend you to read these two papers.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://www.siam.org/proceedings/alenex/2007/alx07_004knopp.pdf&quot;&gt;Sebastian Knopp, Peter Sanders, Dominik Schultes, Frank Schulz, Dorothea Wagner: Computing Many-to-Many Shortest Paths Using Highway Hierarchies. ALENEX 2007&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://www.research.ibm.com/trl/people/yanagis/papers/IPDPS2010_yanagisawa.pdf&quot;&gt;Hiroki Yanagisawa: A multi-source label-correcting algorithm for the all-pairs shortest paths problem. IPDPS 2010: 1-10&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="3825" LastActivityDate="2012-01-20T04:20:28.577" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9815" PostTypeId="1" AcceptedAnswerId="9817" CreationDate="2012-01-20T04:33:13.223" Score="10" ViewCount="502" Body="&lt;p&gt;What is the state of art result about query complexity of &lt;em&gt;proper&lt;/em&gt; PAC learning 2-DNF formulas &lt;em&gt;with sample queries&lt;/em&gt; and &lt;em&gt;under uniform distribution&lt;/em&gt;? Or any non-trivial bound on it?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Because I am not familiar at all with learning theory and this question is motivated by a different field, the answer might be obvious. I checked the book by Kearns and Vazirani, but they don't seem to consider this setting explicitly.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;upd.&lt;/strong&gt; Although the main parameter of interest is query complexity, running time is also important. If possible, running time should preferably be roughly the same as query complexity or at most polynomial.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;upd.&lt;/strong&gt; Appendix B (top of the page 18) of the paper &quot;Learning Submodular Functions&quot; by Balcan and Harvey mentions that &quot;It is well known that 2-DNFs are efﬁciently&#xA;PAC-learnable.&quot; However, they don't mention, whether this result is for &lt;em&gt;proper&lt;/em&gt; learning or give any reference.&lt;/p&gt;&#xA;" OwnerUserId="254" LastEditorUserId="254" LastEditDate="2012-01-20T18:27:01.153" LastActivityDate="2012-01-20T20:53:29.137" Title="Proper PAC learning of 2-DNF under uniform distribution" Tags="&lt;reference-request&gt;&lt;lg.learning&gt;&lt;boolean-functions&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9816" PostTypeId="2" ParentId="9791" CreationDate="2012-01-20T05:38:01.427" Score="-3" Body="&lt;p&gt;Har-Peled’s coreset paper shows the existence of an $\mathcal{O}(\log n)$-size coreset for the approximate sum problem. This seems trivial, and does not clearly imply any $\mathcal{O}(\log n)$ time algorithm for the approximate sum problem. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assume that $\varepsilon &amp;gt; 0$. is fixed. For a sorted list $0\leq a_1 \leq a_2 \leq \dots  \leq a_n$, the following points form a trivial coreset for the approximate sum problem: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\qquad a_n, \frac{a_n}{1+\varepsilon}, \frac{a_n}{(1+\varepsilon)^2}, \dots , \frac{a_n}{(1+\varepsilon)^k}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;for some $k \in \mathcal{O}\left(\frac{\log n}{\varepsilon}\right)$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The main contribution of the approximate sum paper is an nontrivial $\mathcal{O}(\log n)$ time method to find a coreset of size $\mathcal{O}(\log n)$, which is different from the above construction. Thus, it brings an $\mathcal{O}(\log n)$ time algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;With the above $\mathcal{O}(\log n)$ size coreset, one can do binary search for each point $a_n \cdot (1+\varepsilon)^{-j}$  to determine its weight, which is the number of points between $a_n \cdot (1+\varepsilon)^{-j}$ and $a_n \cdot (1+\varepsilon)^{-(j+1)}$ in the sorted list. This implies a trivial $\mathcal{O}((\log n)^2)$ time algorithm for the approximate sum problem.&lt;/p&gt;&#xA;" OwnerUserId="3423" LastEditorUserId="111" LastEditDate="2012-01-20T12:00:28.680" LastActivityDate="2012-01-20T12:00:28.680" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="9817" PostTypeId="2" ParentId="9815" CreationDate="2012-01-20T05:47:24.533" Score="14" Body="&lt;p&gt;I don't know if you'll consider the following a non-trivial bound, but here I go.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First, to be clear so that we're not confusing $c$-DNF with $k$-term DNF (which I often do), an $c$-DNF formula over variables $x_1, \ldots, x_n$ is of the form $\vee_{i=1}^{k}(\ell_{i,1} \wedge \ell_{i,2} ... \ell_{i,c})$ where $\forall 1 \le i \le k$ and $1 \le j \le c$, $\ell_{i,j} \in \{x_1, \ldots, x_n, \bar{x}_1, \ldots, \bar{x}_n \}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We can first ask how many distinct terms can exist in an $c$-DNF.  Each term will have $c$ of the $n$ variables, each either negated or not -- making for $2^c\binom{n}{c}$ different possible terms.  In a 2-DNF instance, each term will either appear or not, making for $|\mathcal{H}| = 2^{2^c\binom{n}{c}}$ possible &quot;targets,&quot; where $\mathcal{H}$ is the hypothesis space.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Imagine an algorithm that takes $m$ samples and then tries all of the $|\mathcal{H}|$ hypotheses until it finds one that predicts perfectly on the samples.  &lt;a href=&quot;http://users.soe.ucsc.edu/~manfred/pubs/J9.pdf&quot;&gt;Occam's Razor theorem&lt;/a&gt; says that you only need to take about $m = O(\frac{1}{\epsilon}|(\mathcal{H}|+\frac{1}{\delta})$ samples for this algorithm to find a target with error $\le \epsilon$ with probability $\ge 1-\delta$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In our case, for $c=2$, $\lg|\mathcal{H}| = O(n^2)$, which means you'll need about $n^2$ samples to do the (proper) learning.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But the whole game in learning is not really sample complexity (though that's part of the game, especially in attribute-efficient learning), but rather in trying to design polynomial-time algorithms.  If you don't care about efficiency, then $n^2$ is the simplest answer for PAC sample complexity.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;UPDATE (given the changed question)&lt;/strong&gt;:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Because you explicitly stated that you only cared about sample complexity, I presented the brute-force Occam Algorithm, which is the probably the simplest argument.  However, my answer was a bit coy.  $2$-DNF are actually learnable in polynomial time!  This is a result from Valiant's original paper, &quot;&lt;a href=&quot;http://www.mpi-inf.mpg.de/~mehlhorn/SeminarEvolvability/ValiantLearnable.pdf&quot;&gt;A Theory of the Learnable&lt;/a&gt;.&quot;  In fact $c$-DNF are learnable for any $c = O(1)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The argument goes as follows.  You can view a $c$-DNF as a disjunction of $\approx n^c$ &#xA;&quot;meta-variables&quot; and try to learn the disjunction by eliminating the meta-variables inconsistent with the examples.  Such a solution can be easily translated back to a &quot;proper&quot; solution, and takes $O(n^c)$ time.  As a side-note, it is still open whether there is polynomial-time algorithm for $c = \omega(1)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As to whether the $n^2$ sample complexity is also a lower bound, the answer is pretty much yes.  &lt;a href=&quot;http://www.cis.upenn.edu/~mkearns/papers/lower.ps&quot;&gt;This paper&lt;/a&gt; by Ehrenfeucht et al. shows that the Occam bound is almost tight.&lt;/p&gt;&#xA;" OwnerUserId="123" LastEditorUserId="123" LastEditDate="2012-01-20T20:53:29.137" LastActivityDate="2012-01-20T20:53:29.137" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="9818" PostTypeId="1" AcceptedAnswerId="14065" CreationDate="2012-01-20T07:07:12.717" Score="6" ViewCount="219" Body="&lt;p&gt;I'm really confused by this. Apparently there is a deterministic algorithm that does leader election on a torus with orientation and non-positional identity using only O(N) messages.  I'm unable to find to find any description of this algorithm, and I still don't understand how it is even possible.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On a general graph with sense of direction you should be able to do leader election using O(N log N) messages.  On complete graphs with sense of direction you do it with O(N) messages, because you have constant (1 message) communication with distant nodes.  But how could you do that on a torus?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here are some relevant details: The system is asynchronous.  All processes start simultaneously.  Each node has a &quot;sense of direction&quot;; that is, each node knows which of its neighbors are north, east, south, or west.  Finally, each node has a unique ID (not related to its position in the torus).&lt;/p&gt;&#xA;" OwnerUserId="2245" LastEditorUserId="111" LastEditDate="2012-01-20T12:08:59.927" LastActivityDate="2012-10-24T03:52:01.060" Title="O(N) leader election on torus with orientation and non-positional identity" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;dc.distributed-comp&gt;" AnswerCount="1" CommentCount="8" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="9819" PostTypeId="1" AcceptedAnswerId="9898" CreationDate="2012-01-20T09:19:36.367" Score="4" ViewCount="1200" Body="&lt;p&gt;Most implementations of stochastic gradient descent (SGD) rely on floating points.&#xA;Is there implementations using infinite or finite precision integer arithmetics ?&lt;/p&gt;&#xA;" OwnerUserId="8032" LastActivityDate="2012-01-25T15:53:25.593" Title="Stochastic Gradient Descent with integer arithmetics" Tags="&lt;optimization&gt;&lt;machine-learning&gt;" AnswerCount="1" CommentCount="7" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="9822" PostTypeId="2" ParentId="343" CreationDate="2012-01-20T12:42:33.560" Score="8" Body="&lt;p&gt;Pavel Pudlák has recently shown an exponential lower bound for Resolution refutations of the formulas derived from the Ramsey theorem $n\to (k)^2_2$ for $k=\lfloor \frac12 \log n  \rfloor$.&#xA;These formulas have clauses $\bigvee_{i,j\in K} x_{i,j}$ and $\bigvee_{i,j\in K} \neg x_{i,j}$ for every subset $K\subseteq \{ 1 , \ldots , n \}$ of size $|K| = k$, they are unsatisfiable due to the Ramsey theorem. This lower bound was a long-standing open problem, the proof is published in this &lt;a href=&quot;http://eccc.hpi-web.de/report/2011/162/&quot;&gt;ECCC-report&lt;/a&gt;. &lt;/p&gt;&#xA;" OwnerUserId="6579" LastActivityDate="2012-01-20T12:42:33.560" CommentCount="1" CommunityOwnedDate="2012-01-20T12:42:33.560" ContentLicense="CC BY-SA 3.0" />
  <row Id="9824" PostTypeId="1" AcceptedAnswerId="9892" CreationDate="2012-01-20T13:03:52.340" Score="10" ViewCount="1820" Body="&lt;p&gt;The following exercise has been handed out to students I supervise:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Given $n$ points in the plane, devise an algorithm that finds a pair of points which distance is minimal among all pairs of points. The algorithm should run in time $o(n^2)$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;There is a (relatively) simple divide and conquer algorithm that solves the task in time $\Theta(n \log n)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question 1&lt;/strong&gt;: Is there an algorithm that solves the given problem exactly in worst-case time $\mathcal{o}(n \log n)$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What made me suspect  that this might be possible is a result I remember to have seen in some talk (reference appreciated). It stated something along the lines of that not more than a constant number $c \in \mathbb{N}$ of points can be arranged in the plane around some point $p$ inside a circle of radius $r \in \mathbb{R}$, with $r$ the minimal distance between any two of the involved points. I think $c=7$, the points forming a equilateral hexagon with $p$ in the center (in the extreme case).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In that case, the following algorithm should solve them problem in $n$ steps.&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;fun mindist [] | p::[] = INFINITY&#xA;|   mindist p1::p1::[] = dist(P[0], P[1])&#xA;|   mindist p::r = let m = mindist(r) in&#xA;                     min(m, nextNeighbour(p, r, m))&#xA;                   end&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Note that this is (claimed to be) in linear time because only a constant number of points in &lt;code&gt;r&lt;/code&gt; can be no farer away than &lt;code&gt;m&lt;/code&gt; from &lt;code&gt;p&lt;/code&gt; (assuming above statement); only these points have to be investigated for finding a new minimum. There is a catch, of course; how do you implement &lt;code&gt;nextNeighbour&lt;/code&gt; (maybe with preprocessing in linear time)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question 2&lt;/strong&gt;: Let a set of points $R$ and a point $p \notin R$. Let $m \in \mathbb{R}$ with &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\qquad m \leq \min\{\mathrm{dist}(p_1, p_2) \mid p_1, p_2 \in R\}$ &lt;/p&gt;&#xA;&#xA;&lt;p&gt;and &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\qquad R_{p,m} := \{p&amp;#39; \mid p&amp;#39; \in R \wedge \mathrm{dist}(p, p&amp;#39;) \leq m\}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assume $R_{p,m}$ is finite. Is it possible to find $p&amp;#39; \in R_{p,m}$ with minimal distance from $p$ in (amortised) time $\mathcal{O}(1)$? (You may assume $R$ to be constructed by adding investigated points $p$ one by one.)&lt;/p&gt;&#xA;" OwnerUserId="1546" LastEditorUserId="1546" LastEditDate="2012-01-25T15:56:13.950" LastActivityDate="2012-01-25T15:56:13.950" Title="Find Shortest Pairwise Distance of Points in o(n log n)?" Tags="&lt;ds.data-structures&gt;&lt;cg.comp-geom&gt;" AnswerCount="3" CommentCount="7" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9825" PostTypeId="1" CreationDate="2012-01-20T14:46:18.973" Score="13" ViewCount="498" Body="&lt;p&gt;Calculating the diagonal &lt;a href=&quot;http://en.wikipedia.org/wiki/Ramsey%27s_theorem#Ramsey_numbers&quot;&gt;Ramsey numbers&lt;/a&gt; R(s,s) is hard. There is a famous quote from Joel Spencer:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Erdős asks us to imagine an alien force, vastly more powerful than us, landing on Earth and demanding the value of R(5, 5) or they will destroy our planet. In that case, he claims, we should marshal all our computers and all our mathematicians and attempt to find the value. But suppose, instead, that they ask for R(6, 6). In that case, he believes, we should attempt to destroy the aliens.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;However, calculating some bounds on Ramsey numbers is not as difficult:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xD;&#xA; (1 + o(1)) \frac{\sqrt{2} s}{e} 2^{s/2} \leq R(s,s) \leq s^{-c \log s/\log \log s} 4^{s}&#xD;&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What are the best possible lower and upper bounds on the diagonal Ramsey numbers that can be calculated in polynomial time (where $s$ is given in unary)?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Or more generally, are there any inapproximation results on Ramsey numbers?&lt;/p&gt;&#xA;" OwnerUserId="1037" LastActivityDate="2013-12-22T19:58:00.943" Title="Approximating and bounding Ramsey numbers" Tags="&lt;cc.complexity-theory&gt;&lt;co.combinatorics&gt;&lt;approximation-hardness&gt;&lt;ramsey-theory&gt;" AnswerCount="0" CommentCount="11" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="9826" PostTypeId="1" AcceptedAnswerId="9832" CreationDate="2012-01-20T15:04:39.353" Score="29" ViewCount="9971" Body="&lt;p&gt;I get confused by the subtle difference between propositions and judgments when exposed to intuitionistic type theory. Can any one explain to me what is the point to distinguish them and what distinguishes them? Especially in view of the Curry-Howard Isomorphsim.&lt;/p&gt;&#xA;" OwnerUserId="656" LastEditorUserId="7014" LastEditDate="2015-03-03T06:58:01.557" LastActivityDate="2015-03-03T06:58:01.557" Title="What is the difference between propositions and judgments?" Tags="&lt;lo.logic&gt;&lt;pl.programming-languages&gt;&lt;type-theory&gt;" AnswerCount="6" CommentCount="1" FavoriteCount="16" ContentLicense="CC BY-SA 3.0" />
  <row Id="9827" PostTypeId="2" ParentId="9806" CreationDate="2012-01-20T15:08:10.097" Score="11" Body="&lt;p&gt;Here is a one:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Mahaney's Theorem: There is no sparse NP-complete set if and only if $P \ne NP $&lt;br&gt;&#xA;(under Karp reduction).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another one is:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$P \ne NP$ if and only if $P \ne PH$&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2012-01-20T16:52:01.460" LastActivityDate="2012-01-20T16:52:01.460" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9828" PostTypeId="2" ParentId="9787" CreationDate="2012-01-20T15:49:00.027" Score="0" Body="&lt;p&gt;They only differ if you have the leftmost outermost redex is an abstraction that isn't applied.&#xA;Something like this:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;(λz.(λx.x)z)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;If you had&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;(λz.(λx.x)z) __&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;With some expression where the __ is, then the leftmost outermost redex is the same for both NOE, and NOR.  So the only time the two evaluation strategies would differ, NOE is in normal form already.&#xA;Thus it will find the normal form if it exists.&lt;/p&gt;&#xA;" OwnerUserId="1215" LastEditorUserId="989" LastEditDate="2012-03-31T03:12:35.870" LastActivityDate="2012-03-31T03:12:35.870" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9831" PostTypeId="2" ParentId="9824" CreationDate="2012-01-20T17:41:48.763" Score="17" Body="&lt;p&gt;There is a randomized linear expected time algorithm by Rabin; see e.g. &lt;a href=&quot;http://rjlipton.wordpress.com/2009/03/01/rabin-flips-a-coin/&quot;&gt;&lt;em&gt;Rabin Flips a Coin&lt;/em&gt;&lt;/a&gt; on Lipton's blog.&lt;/p&gt;&#xA;" OwnerUserId="95" LastEditorUserId="1546" LastEditDate="2012-01-20T18:33:47.200" LastActivityDate="2012-01-20T18:33:47.200" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9832" PostTypeId="2" ParentId="9826" CreationDate="2012-01-20T17:48:17.910" Score="19" Body="&lt;p&gt;First, you should know that, in general, there is not consensus about these terms and their definitions depend on the system in which one is working.Since you asked about intuitionist type theory, I'll quote Pfenning:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;A judgment is something we may know, that is, an object of knowledge. A judgment is evident if we in fact know it.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Propositions on the other hand, according to Martin-Löf are sets of proofs. In this interpretation, if the set of proofs for a proposition is empty then it is false and otherwise true.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;A proposition is interpreted as a set whose elements represent the proofs of the proposition&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;says Nordström et al.  On the other hand, in classical logic and in general, propositions are objects expressed in a language which can be either &quot;true&quot; or &quot;false&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To give you some extra intuition; from my point of view, judgments are metalogical and propositions logical.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I suggest &quot;Constructive Logic&quot; by &lt;a href=&quot;http://www.cs.cmu.edu/~fp/publications.html&quot;&gt;Frank Pfenning&lt;/a&gt;, &lt;a href=&quot;http://www.paultaylor.eu/stable/Proofs+Types.html&quot;&gt;&quot;Proofs and Types&quot;&lt;/a&gt; by Jean-Yves Girard and &lt;a href=&quot;http://www.cse.chalmers.se/research/group/logic/book/book.pdf&quot;&gt;&quot;Programming in Martin-Löf's Type Theory&quot;&lt;/a&gt; by Bengt Nordström et al. All three are freely available on the Internet. The last one is probably the closest to what you want as it is oriented to programming and goes into great detail, at length, about the meanings of these terms and many more.&lt;/p&gt;&#xA;" OwnerUserId="5167" LastEditorUserId="7304" LastEditDate="2012-04-20T02:47:43.753" LastActivityDate="2012-04-20T02:47:43.753" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="9833" PostTypeId="2" ParentId="8141" CreationDate="2012-01-20T21:39:47.253" Score="2" Body="&lt;p&gt;how about these? &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=1347498&quot; rel=&quot;nofollow&quot;&gt;Bringing Pagerank to the Citation Analysis&lt;/a&gt; by Ma, Guan, Zhao&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://arxiv.org/ftp/arxiv/papers/1012/1012.4872.pdf&quot; rel=&quot;nofollow&quot;&gt;&#xA;PageRank for ranking authors in co-citation network&lt;/a&gt; Ding, Yan, Frazho, Caverlee&lt;/p&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2012-01-20T21:39:47.253" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9834" PostTypeId="1" CreationDate="2012-01-20T21:42:58.787" Score="9" ViewCount="518" Body="&lt;p&gt;I wanted to find out what are some application of SGT in the area of information and coding theory and maybe communications. The most related that comes to mind is the work on Expander Codes&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Michael Sipser and Daniel Spielman, &quot;Expander Codes&quot;, IEEE Transactions on Information Theory, Vol 42, No 6, pp. 1710-1722. 1996&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Other examples?&lt;/p&gt;&#xA;" OwnerUserId="6963" LastActivityDate="2012-01-21T04:59:01.893" Title="Applications of Spectral Graph Theory in Information and Coding Theory" Tags="&lt;it.information-theory&gt;&lt;coding-theory&gt;&lt;spectral-graph-theory&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9835" PostTypeId="2" ParentId="9834" CreationDate="2012-01-20T22:37:16.503" Score="6" Body="&lt;p&gt;Cayley graphs of codes and derandomized code products can be a good example. See the following thesis (Chapter 6) for details and references: &lt;a href=&quot;http://library.epfl.ch/en/theses/?nr=3816&quot;&gt;http://library.epfl.ch/en/theses/?nr=3816&lt;/a&gt; &lt;/p&gt;&#xA;" OwnerUserId="6190" LastEditorUserId="6190" LastEditDate="2012-01-20T22:45:14.970" LastActivityDate="2012-01-20T22:45:14.970" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9838" PostTypeId="1" CreationDate="2012-01-21T13:39:27.627" Score="1" ViewCount="144" Body="&lt;p&gt;Is there a way to compute the limit of the ratio (number of black cells)/(number of white cells), in the &lt;a href=&quot;http://mathworld.wolfram.com/Rule110.html&quot; rel=&quot;nofollow&quot;&gt;rule 110&lt;/a&gt; or rule 30 automaton? With initial state = 1 black cell.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Simulation of first 120000 rows of rule 110 shows a quite stable total density of 0.592..., and row-density 0.592...&lt;/p&gt;&#xA;" OwnerUserId="8047" LastActivityDate="2012-01-21T13:39:27.627" Title="Density of black cells in rule 110 cellular automata" Tags="&lt;co.combinatorics&gt;&lt;automata-theory&gt;&lt;cellular-automata&gt;" AnswerCount="0" CommentCount="4" ClosedDate="2012-01-23T00:10:32.803" ContentLicense="CC BY-SA 3.0" />
  <row Id="9839" PostTypeId="1" AcceptedAnswerId="9900" CreationDate="2012-01-21T13:40:34.407" Score="19" ViewCount="1895" Body="&lt;p&gt;Let $F_1$ be a &lt;strong&gt;satisfiable&lt;/strong&gt; CNF Formula with $n$ variables and $m$ clauses. Let $S_{F_1}$ be the solution space of $F_1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider the problem of determining, given $F_1$, another CNF Formula $F_2$ with the same set of variables as $F_1$, with $S_{F_2} = S_{F_1}$ (same solution space as $F_1$), but with as few clauses as possible (the only aim is to minimize the number of clauses, so how many literals each clause may have is not relevant).&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Question&lt;/strong&gt;  &lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;Did anyone already investigated this problem? Are there any results in the literature concerning it?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;As an example, consider the following CNF Formula $F_1$ (each row is a clause):  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$x_1 \lor x_2 \lor x_3$&lt;br&gt;&#xA;$x_2 \lor x_3 \lor x_4$&lt;br&gt;&#xA;$\lnot x_1 \lor x_2 \lor x_4$&lt;br&gt;&#xA;$\lnot x_1 \lor x_2 \lor \lnot x_3$&lt;br&gt;&#xA;$\lnot x_1 \lor x_3 \lor x_5$&lt;br&gt;&#xA;$\lnot x_1 \lor x_2 \lor \lnot x_5$  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;and the following formula $F_2$:  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$x_1 \lor x_2 \lor x_3$&lt;br&gt;&#xA;$x_2 \lor x_3 \lor x_4$&lt;br&gt;&#xA;$\lnot x_1 \lor x_3 \lor x_5$&lt;br&gt;&#xA;$\lnot x_1 \lor x_2$  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;both have the same solution space, but while $F_1$ has $6$ clauses, $F_2$ only has $4$.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, consider the following formula $F_3$:  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$x_2 \lor x_3$&lt;br&gt;&#xA;$\lnot x_1 \lor x_3 \lor x_5$&lt;br&gt;&#xA;$\lnot x_1 \lor x_2$  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The solution space is again the same, but with only $3$ clauses.&lt;/p&gt;&#xA;" OwnerUserId="947" LastEditorUserId="947" LastEditDate="2012-01-22T08:45:26.827" LastActivityDate="2012-01-25T19:57:59.377" Title="Shortest Equivalent CNF Formula" Tags="&lt;cc.complexity-theory&gt;&lt;co.combinatorics&gt;&lt;sat&gt;&lt;formulas&gt;" AnswerCount="3" CommentCount="11" FavoriteCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="9840" PostTypeId="1" AcceptedAnswerId="9841" CreationDate="2012-01-21T13:54:11.923" Score="16" ViewCount="1371" Body="&lt;p&gt;What are some non-trivial problems where we know the current algorithm we have is the asymptotically optimal one? (For turing machines)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;And how is this proved?&lt;/p&gt;&#xA;" OwnerUserId="8047" LastActivityDate="2021-04-29T12:08:11.410" Title="What are some problems where we know we have an optimal algorithm?" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;complexity-classes&gt;" AnswerCount="13" CommentCount="4" FavoriteCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="9841" PostTypeId="2" ParentId="9840" CreationDate="2012-01-21T14:17:21.663" Score="20" Body="&lt;p&gt;Any algorithm which takes linear time and has to read its whole input must be asymptotically optimal. Similarly, as Raphael comments, any algorithm whose runtime is of the same order as output size is optimal.&lt;/p&gt;&#xA;" OwnerUserId="2241" LastEditorUserId="2241" LastEditDate="2014-03-16T10:15:59.687" LastActivityDate="2014-03-16T10:15:59.687" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="9842" PostTypeId="2" ParentId="9840" CreationDate="2012-01-21T14:59:04.743" Score="3" Body="&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Comparison sorting using $O (n \log n)$ comparisons (merge sort, to name one) is optimal, the proof involves simply calculating the height of a tree with $n!$ leaves.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Assuming the Unique Games Conjecture, Khot, Kindler, Mossel and O'donnell showed that it is NP-complete to approximate Max-Cut better than Goemans and Williamson's algorithm. So in that sense G&amp;amp;W is optimal (assuming also that $P\neq NP$).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Some distributed algorithms can be shown to be optimal with respect to some conditions (e.g., the proportion of adversarial processors), but since you mentioned Turing machines, I guess that's not the type of examples you're looking for.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="7715" LastActivityDate="2012-01-21T14:59:04.743" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="9843" PostTypeId="1" AcceptedAnswerId="9847" CreationDate="2012-01-21T18:00:25.413" Score="13" ViewCount="285" Body="&lt;p&gt;Given a planar graph, one can   embed it in linear time crossing free into an $n \times n$ grid.&#xA;I am interested whether any efficient algorithms are known to straight line embed a planar graph crossing free into a $n^c \times n^c$ grid, for some small $c$, such that the minimum angle between two edges is maximized?&lt;/p&gt;&#xA;" OwnerUserId="8050" LastEditorUserId="8050" LastEditDate="2012-01-23T13:41:04.760" LastActivityDate="2012-01-23T13:41:04.760" Title="Graph embedding which maximizes minimum angle" Tags="&lt;reference-request&gt;&lt;graph-theory&gt;&lt;graph-drawing&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="9845" PostTypeId="1" CreationDate="2011-04-28T21:37:41.180" Score="5" ViewCount="407" Body="&lt;p&gt;&lt;strong&gt;Background&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm in the process of attempting to improve part of our data storage and analysis architecture. Without getting into a lot of details, at a certain part of our data analysis process we have a need to store large quantities (~100s of millions) of small pieces of unique data. The data looks like this: &lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;ID, 20 bytes (immutable)&#xA;Hits, unsigned 64bit int (mutable)&#xA;Value1, arbitrary length byte array (immutable)&#xA;Value2, arbitrary length byte array (immutable)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;I currently have this data stored in two parts, a B+Tree index which maps the keys to unsigned 64bit integer values. Those values are file offsets in a data file which contains a structure like:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;[Hits] UInt64&#xA;[LengthOfValue1] UInt32&#xA;[Value1DataBlob] N-bytes&#xA;[LengthOfValue2] UInt32&#xA;[Value2DataBlob] N-bytes&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;As new values are posted to this data store, the code performs a lookup in the B+Tree. If the tree contains the value, the hit count is incremented in the data file. If the value is not there, a new entry is appended to the end of the data file, it's start offset the inserted into the B+Tree.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Later, after this process is complete, we will enumerate the data performing more processing on it. What is important here though is that, if the key is already in our system, we are incrementing the hits on that key. This is essentially a cache, which is tracking hits on each piece of data as it's encountered. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;What we are finding is that as the B+Tree grows larger, insert times become VERY slow. Lookup remains very fast (as you might expect). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So -- Does anyone know of another way to do this, where unique checks are lightening fast, and so are inserts? We really don't care about later search performance, because once we go through the initial build of this dataset, all we will use it for is to enumerate the results. We're not going to be doing random searches against the dataset, in a long term manner. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Please do not suggest any kind of off-the-shelve database system. We've tried a lot of them, and this custom solution is faster than any of them, with a smaller data storage footprint. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;We're just trying to improve our custom solution, and have hit a wall with our collective CS knowledge. Maybe this is the fastest way to do this, or maybe a different structure would perform better than the B+Tree for inserts at this scale?&lt;/p&gt;&#xA;" OwnerDisplayName="Troy Howard" LastActivityDate="2012-01-23T03:35:41.467" Title="Storage system for large quantities of unique key value pairs optimized for insert" Tags="&lt;tree&gt;" AnswerCount="3" CommentCount="7" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="9846" PostTypeId="2" ParentId="9845" CreationDate="2011-04-28T22:29:43.183" Score="1" Body="&lt;p&gt;B-trees and their various modified versions are the standard way to index arbitrary data while keeping insert times within a reasonable frame. Insertion happens in O(logn) time, which I believe cannot be improved, unless your key range is limited enough to make a bitmap usable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;That said, there a few things that can make B-trees and their variations faster:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Watch your keys. Non-random keys can cause pathological situations. You are using a hash, so key-dependent pathological situations are rather improbable.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Benchmark the application. Find out if the B-tree implementation achieves that O(logn) time for large datasets. Note: &lt;em&gt;for large datasets&lt;/em&gt;. Only compare datasets for which the B-tree size significantly exceeds the size of your physical memory. Smaller datasets will have minimal disk seeks due to the OS cache and will seem lightning-fast. E.g. if you have 4GB of RAM, try comparing an 8GB, a 16GB, a 32GB and a 64GB index. If you do not see an O(logn) time curve, you may have a problem in your specific implementation.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Profile the application. Find out where the bottleneck is. Is it the CPU (not very probable)? Disk seeks (here's my money)? What part of the code produces the bottleneck?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Measure your B-tree index alone without the backing file. Does the application speed-up significantly without the backing file seeks? Would it make sense to store some data (e.g. the hit count) in the B-tree nodes themselves, to avoid the extra seeks? Storing some common data in the B-tree nodes should provide a major performance increase.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Use a shorter and faster intermediate hash. It does not have to be cryptography-level, just sufficiently random. I have used &lt;a href=&quot;http://code.google.com/p/smhasher/wiki/MurmurHash&quot; rel=&quot;nofollow&quot;&gt;MurmurHash3&lt;/a&gt; with pretty good results. Use that hash as the key in the B-tree, and an external mechanism (e.g. linked lists) to handle collisions. Using shorter keys will speed up your B-tree significantly, because each node can fit more ranges.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Optimise for less I/O and fewer disk seeks. In your case it's quite probable that the performance killer lies in your disk. Try using larger B-tree nodes.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="4436" OwnerDisplayName="thkala" LastActivityDate="2011-04-28T22:29:43.183" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9847" PostTypeId="2" ParentId="9843" CreationDate="2012-01-22T00:14:58.140" Score="15" Body="&lt;p&gt;I don't think any such algorithm is known. The results I know about maximizing the minimum angle in straight line drawings of planar graphs are:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Every planar graph has a (possibly nonplanar) drawing in which the minimum angle is inversely proportional to the maximum degree. For the main proof idea and some references, see &lt;a href=&quot;http://11011110.livejournal.com/230133.html&quot;&gt;http://11011110.livejournal.com/230133.html&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;There exist planar graphs of degree d such that the minimum angle in any straight line planar drawing is $O(\sqrt{(\log d)/d^3})$. This result is due to Garg and Tamassia, &quot;Planar drawings and angular resolution: algorithms and bounds&quot;, ESA '94. They also show that achieving near-optimal angles with a grid drawing may require a grid of exponential area.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Every planar graph has a planar drawing in which the minimum angle is bounded by a function of its degree. This can be shown using the Koebe-Andreev-Thurston circle packing theorem. For a reference to a slightly stronger version of this result (showing that every planar graph of bounded degree has a planar drawing with a bounded number of edge slopes) see &lt;a href=&quot;http://11011110.livejournal.com/205447.html&quot;&gt;http://11011110.livejournal.com/205447.html&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="95" LastActivityDate="2012-01-22T00:14:58.140" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="9848" PostTypeId="2" ParentId="9845" CreationDate="2012-01-22T07:40:03.643" Score="1" Body="&lt;p&gt;The mutable state is the set of active IDs and the number of hits for each.  I bet you can fit those in RAM.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Create an in-memory hashtable mapping IDs to hit-counts.&lt;/li&gt;&#xA;&lt;li&gt;Create an on-disk journal file of records, similar to your current data file.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;To insert an item, query the hashtable.  If the key is found, increment the hit-counter.  Otherwise, insert the key with count 0 into the hashtable, and append a record to the end of the journal file.  After all the items are inserted, walk through the file and update each hit-counter to reflect what's in the hashtable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The increment case involves only a hashtable lookup and increment operation, and never touches disk, so it should be fast.  The append case involves only a hashtable lookup and a single disk write.  You'll build the journal in sequential order which will make good use of cache and avoid seeks.&lt;/p&gt;&#xA;" OwnerUserId="6218" LastActivityDate="2012-01-22T07:40:03.643" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9849" PostTypeId="2" ParentId="8141" CreationDate="2012-01-22T09:22:57.163" Score="3" Body="&lt;p&gt;Decentralized algorithms for variants of this problem have been published in &lt;a href=&quot;http://ieeexplore.ieee.org/Xplore/login.jsp?url=http://ieeexplore.ieee.org/iel5/5888673/5934870/05935226.pdf?arnumber=5935226&amp;amp;authDecision=-203&quot; rel=&quot;nofollow&quot;&gt;A distributed and privacy preserving algorithm for identifying information hubs in social networks&lt;/a&gt; and  &lt;a href=&quot;http://keg.cs.tsinghua.edu.cn/jietang/publications/KDD09-Tang-et-al-Social-Influence-Analysis.pdf&quot; rel=&quot;nofollow&quot;&gt;Social Influence Analysis in Large-scale Networks&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="4208" LastEditorUserId="4208" LastEditDate="2012-01-22T09:28:56.107" LastActivityDate="2012-01-22T09:28:56.107" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9850" PostTypeId="2" ParentId="9839" CreationDate="2012-01-22T12:20:44.837" Score="9" Body="&lt;p&gt;The &lt;a href=&quot;http://en.wikipedia.org/wiki/Circuit_minimization&quot;&gt;circuit minization problem&lt;/a&gt; is intractable (see the comments below). Also what I think you might be interested in is the technique some SAT solvers apply (at least to some degree) that is called SAT preprocessing. For example the well known MiniSAT solver uses a &lt;a href=&quot;http://minisat.se/downloads/SatELite.pdf&quot;&gt;CNF minimizer SatELite&lt;/a&gt; to preprocess an instance. Google Scholar gives a lot of results for &quot;sat preprocessing&quot; as well.&lt;/p&gt;&#xA;" OwnerUserId="5693" LastEditorUserId="5693" LastEditDate="2012-01-23T19:23:16.303" LastActivityDate="2012-01-23T19:23:16.303" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="9852" PostTypeId="2" ParentId="9839" CreationDate="2012-01-22T16:32:05.783" Score="7" Body="&lt;p&gt;the major std/known solution to CNF minimization in EE is the &lt;a href=&quot;http://en.wikipedia.org/wiki/Quine%E2%80%93McCluskey_algorithm&quot;&gt;Quine-McCluskey algorithm&lt;/a&gt; which there are many implementations, some public domain. however my understanding is that (not mentioned in the current wikipedia article) most revert to heuristics and greedy algorithms to find solutions esp for large formulas, ie they dont nec. find the optimal solution esp. for large input instances. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Quine-MCluskey is a generalization of working with Karnough maps which diagrams can succeed for small instances.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;and note that there can be multiple optimal solutions in terms of equivalent formulas with the same (minimal) clause size, this will be pointed out in a good reference on the subj. finding the minimum apparently reduces to listing all prime implicates which can involve a massive exponential blowup in memory/&quot;space&quot; compared to the size of the original formula.&lt;/p&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2012-01-22T16:32:05.783" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9853" PostTypeId="2" ParentId="9791" CreationDate="2012-01-22T18:23:35.263" Score="1" Body="&lt;p&gt;After reading the proof details of &lt;a href=&quot;https://cstheory.stackexchange.com/a/9813/111&quot;&gt;Har-Peled’s coreset paper&lt;/a&gt;, now I understand that his method implies an O(log n) time algorithm for the approximate sum of sorted nonnegative numbers. The coreset is formed by a subset of numbers in the sorted list, and their positions only depend on the list size n and approximation ratio epsilon. The weights of all points in the coreset are computable in O(log n) time. Thus, it brings an O(log n) time algorithm for approximate sum of a sorted list although it is not clearly claimed in the paper.  As the algorithm is hidden in the proof of coreset construction instead of the claimed theorems of Har-Peled’s paper, I did not see such a conclusion right after checking the results in the paper.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have revised my paper by deleting section 4 that contains an O(log n) time algorithm. Har-Peled’s paper is cited in the updated version. The first algorithm is still kept since it has a incomparable complexity with O(log n) time.  For example, it runs in O(log log n) time when the numbers in the input sorted list are in the range from 0 to  (log n)^{O(1)}. The algorithm is based on a quadratic region search, which is greatly different from the coreset construction. The time lower bounds are also the kept, but slightly revised.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now I have a better idea about the works in this line. I truly appreciate the professional help from the theoretical computer science colleagues at this website, which provides an excellent feedback. My revised paper will be available in the same archive site in the next a few days. I sincerely welcome further comments about related references that might be missed.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Bin Fu &lt;/p&gt;&#xA;" OwnerUserId="3423" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2012-01-23T13:31:10.473" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="9855" PostTypeId="1" CreationDate="2012-01-22T23:04:10.100" Score="5" ViewCount="187" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Possible Duplicate:&lt;/strong&gt;&lt;br&gt;&#xA;  &lt;a href=&quot;https://cstheory.stackexchange.com/questions/2853/are-there-any-proofs-the-undecidability-of-the-halting-problem-that-does-not-dep&quot;&gt;Are there any proofs the undecidability of the halting problem that does not depend on self-referencing or diagonalization ?&lt;/a&gt;  &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&#xA;&#xA;&lt;p&gt;As is stated, can every undecidability proof can be stated in form of diagonalization?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, can halting problem be reduced to every undecidable problem? (we all know that every undecidable problem can be reduced to halting problem)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks.&lt;/p&gt;&#xA;" OwnerDisplayName="user8059" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2012-01-22T23:04:10.100" Title="Can every undecidability proof be converted into diagonalization proof?" Tags="&lt;halting-problem&gt;" AnswerCount="0" CommentCount="5" ClosedDate="2012-01-23T13:32:08.770" ContentLicense="CC BY-SA 3.0" />
  <row Id="9856" PostTypeId="2" ParentId="9845" CreationDate="2012-01-23T03:35:41.467" Score="1" Body="&lt;p&gt;This was migrated here from stackoverflow, and I'm not sure that this is the best place for it. The &lt;a href=&quot;http://cstheory.stackexchange.com&quot;&gt;TCS Stack Exchange&lt;/a&gt; is really for theoretical questions, so details about how many bytes are in the key are often not seen here.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;That being said, I will try to answer a question similar to yours that is framed in a somewhat more theoretical way:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;How can I optimize insert time on a disk?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;On a disk, you're more concerned about I/O than computation.&#xA;I know of a few ways to reduce the number of I/Os needed on insert.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Just dump your data to disk. If you can really put off lookups until &quot;Later, after this process is complete, we will enumerate the data performing more processing on it&quot;, you can just append your data to the end of a file. I/O performance of insert: $O(1/B)$; of queries: $O(n/B)$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Just use a hash table, rather than a B-tree. A B-tree has insert and lookup I/O performance of $O(\log_B(n))$. Hash tables reduce this to a constant.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;If #1 puts our lookups off too far into the future, you might try log-structured merge trees. They go under many names, and are implemented in many places: &lt;a href=&quot;http://www.slideshare.net/hellofrankey/some-key-value-stores-using-logstructure-10051926&quot; rel=&quot;nofollow&quot;&gt;leveldb, riak, rethinkdb&lt;/a&gt;, &lt;a href=&quot;https://bitbucket.org/acunu/fs.hg/src&quot; rel=&quot;nofollow&quot;&gt;Acunu's castle&lt;/a&gt;, &lt;a href=&quot;http://supertech.csail.mit.edu/papers/sbtree.pdf&quot; rel=&quot;nofollow&quot;&gt;COLAs (now sold by Tokutek)&lt;/a&gt;, &lt;a href=&quot;http://www.datastax.com/dev/blog/leveled-compaction-in-apache-cassandra&quot; rel=&quot;nofollow&quot;&gt;Cassandra&lt;/a&gt;, and others. The I/O cost of insert is roughly $O((\lg n)/B)$, and of update $O(\lg^2 n)$ (and $O(\lg n)$ for some implementations). One choice you can make when implementing these is to allow at most $O(n)$ total duplicate records while still maintaining $O((\lg n)/B)$ insert performance. For spinning disks, This is actually $o(1)$, and may be faster than a hash table in practice.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The results from &lt;a href=&quot;http://people.csail.mit.edu/mip/papers/buffer/paper.pdf&quot; rel=&quot;nofollow&quot;&gt;&quot;Using Hashing to Solve the Dictionary Problem (In External Memory)&quot; by Iacono and Pătraşcu&lt;/a&gt;. Unlike your B+-tree solution, your keys will no longer be in lexicographical order. I/O performance of insert: $O(\lambda/B)$, where $\lambda \geq \max(\log \log n, \log_{M/B}(n/B))$; of queries: $O(\lg_{\lambda} n)$, for the same $\lambda$. This data structure is pretty complicated.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;There are a few more that you might be interested in, including buffer trees and &lt;a href=&quot;http://www.siam.org/proceedings/soda/2010/SODA10_117_brodalg.pdf&quot; rel=&quot;nofollow&quot;&gt;Brodal et. al's tunable update/query tradeoff trees&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="43" LastActivityDate="2012-01-23T03:35:41.467" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9857" PostTypeId="2" ParentId="9826" CreationDate="2012-01-23T04:04:05.787" Score="12" Body="&lt;p&gt;In &lt;a href=&quot;https://en.wikipedia.org/wiki/Per_Martin-L%C3%B6f&quot;&gt;Martin-Löf&lt;/a&gt;'s type theories, judgments are a part of &lt;a href=&quot;http://en.wikipedia.org/wiki/Speech_act&quot;&gt;speech-acts&lt;/a&gt;. There are four (or five according to Wikipedia) judgments:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$A \ \mathsf{Type}$ ($A$ is a type/set/proposition),&lt;/li&gt;&#xA;&lt;li&gt;$s : A$  ($s$ is a member/proof of $A$),&lt;/li&gt;&#xA;&lt;li&gt;$s=t : A$ ($s$ and $t$ are equal members/proofs of $A$),&lt;/li&gt;&#xA;&lt;li&gt;$A=B$  ($A$ and $B$ are equal types/sets/propositions),&lt;/li&gt;&#xA;&lt;li&gt;$\Gamma \ \mathsf{Context}$ ($\Gamma$ is well-formed context).&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;To understand what this means we have to go back to Frege. &lt;a href=&quot;http://plato.stanford.edu/entries/assertion/&quot;&gt;Frege's turnstile symbol&lt;/a&gt; $\vdash$ is a speech-act. It &lt;em&gt;asserts&lt;/em&gt; the &lt;em&gt;content&lt;/em&gt; (which follows it and is a judgment). In &lt;a href=&quot;http://en.wikipedia.org/w/index.php?title=Martin-L%C3%B6f%27s_type_theory&quot;&gt;Martin-Löf's type theories&lt;/a&gt; we have the four (five?) judgments listed above. In these theories, propositions are just types.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let's assume that $A$ is a proposition. Then $A$ is a type. Let's assume that $t$ is a term of type $A$. Then $t : A$ is a judgment (you can think of it as $t$ is a proof of $A$). Now we can assert that is the case, in which case we use $\vdash t:A$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would add Michael Beeson's &quot;Foundations of Constructive Mathematics&quot; to the suggestions in Anthony's answer. Martin-Löf has given several talks which explain his theory very nicely but unfortunately most of them haven't turned into published form by him (but check &lt;a href=&quot;https://intuitionistic.wordpress.com/works-on-martin-lofs-type-theory/&quot;&gt;this website&lt;/a&gt;).&lt;/p&gt;&#xA;" OwnerUserId="186" LastActivityDate="2012-01-23T04:04:05.787" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="9859" PostTypeId="2" ParentId="9826" CreationDate="2012-01-23T08:35:59.590" Score="13" Body="&lt;p&gt;I'll try to be short where other answers were more exhaustive. There is a difference between a piece of text saying &lt;em&gt;&quot;The butler did it.&quot;&lt;/em&gt;, and Mrs. Marple proclaiming &lt;em&gt;&quot;The butler did it.&quot;&lt;/em&gt; In the second case, the butler might lose his freedom.&lt;/p&gt;&#xA;" OwnerUserId="705" LastEditorUserId="7304" LastEditDate="2012-04-20T05:39:44.240" LastActivityDate="2012-04-20T05:39:44.240" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="9860" PostTypeId="1" AcceptedAnswerId="10409" CreationDate="2012-01-23T09:59:15.477" Score="27" ViewCount="1331" Body="&lt;p&gt;While reading the article &lt;a href=&quot;http://rjlipton.wordpress.com/2012/01/20/is-it-time-to-declare-victory-in-counting-complexity/#comments&quot;&gt;&quot;Is it Time to Declare Victory in Counting Complexity?&quot;&lt;/a&gt; over at the &lt;a href=&quot;http://rjlipton.wordpress.com/&quot;&gt;&quot;Godel's Lost Letter and P=NP&quot;&lt;/a&gt; blog, they mentioned the dichotomy for CSP's.  After some link following, googling and wikipeding, I came across &lt;a href=&quot;http://en.wikipedia.org/wiki/NP-intermediate&quot;&gt;Ladner's Theorem&lt;/a&gt;:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;b&gt;Ladner's Theorem:&lt;/b&gt;  If ${\bf P} \ne {\bf NP}$, then there are problems in  ${\bf NP} \setminus  {\bf P}$ that are not ${\bf NP}$-complete.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;and to &lt;a href=&quot;http://en.wikipedia.org/wiki/Schaefer%27s_dichotomy_theorem&quot;&gt;Schaefer's theorem&lt;/a&gt;:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;b&gt;Schaefer's Dichotomy Theorem:&lt;/b&gt; For every constraint language $\ \Gamma $ over $\{0, 1\}$, if $\  \Gamma $ is Schaefer then ${\bf CSP}(\Gamma)$ is polynomial time solvable.  Otherwise, ${\bf CSP}(\Gamma)$ is ${\bf NP}$-complete.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I read this to mean that, by Ladner's, there are problems that are neither ${\bf P}$ nor ${\bf NP}$-complete, but by Schaefer's, problems are either ${\bf P}$ and ${\bf NP}$-complete only.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What am I missing?  Why don't these two results contradict each other?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I took the condensed version of the above theorem statements from &lt;a href=&quot;http://mtl.uta.fi/Opetus/seminaarit/AMTS/0304/CSP_miguel.ps&quot;&gt;here&lt;/a&gt;.  In his &quot;Final Comments&quot; section, he says &quot;Thus, if a problem is in ${\bf NP} \setminus {\bf P}$ but it is not ${\bf NP}$-complete then it can not be formulated as CSP&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does this mean ${\bf SAT}$ problems miss some instances that are in ${\bf NP}$?  How is that possible?&lt;/p&gt;&#xA;" OwnerUserId="834" LastActivityDate="2013-01-09T14:13:01.230" Title="Ladner's Theorem vs. Schaefer's Theorem" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;&lt;complexity-classes&gt;&lt;sat&gt;&lt;csp&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="9862" PostTypeId="2" ParentId="9860" CreationDate="2012-01-23T12:06:29.963" Score="23" Body="&lt;p&gt;You need  to understand that $\mathsf{CSP}$  problems have a structure that generic $\mathbf{SAT}$ problems do not have. I will  give  you  a  simple example. Let $\Gamma=\{\{(0,0),(1,1)\},\{(0,1),(1,0)\}\}$.   This language is  such that  you can only  express equality  and inequality between   two  variables.  Clearly any such set of constraints is solvable in polynomial time. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I  will  give  you  two  arguments  to  clarify  the  relation  between&#xA;$\mathsf{CSP}$ and clauses. Notice that all that follows assumes $\mathbf{P}\not=\mathbf{NP}$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;First&lt;/strong&gt;: constraints have a fixed number  of variables,  while  the encoding  of intermediate problems may need  large clauses. This is not  necessarily an issue when such large constraints can  be expressed as a conjunction  of small ones  using auxiliary  variables.  Unfortunately this is not always the case for general $\Gamma$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assume $\Gamma$ to just contain the $\mathsf{OR}$ of five variables.  Clearly you  can express the $\mathsf{OR}$ of less variables   by  repeating   inputs.  You   cannot  express   a  larger $\mathsf{OR}$  because the  way  to do  it  using extension  variables requires  disjunctions  of positive  and  negative literals.  $\Gamma$ represents relations  on &lt;em&gt;variables&lt;/em&gt;,  not on &lt;em&gt;literals&lt;/em&gt;.  Indeed when you think  about 3-$\mathbf{SAT}$ as  a $\mathsf{CSP}$ you  need $\Gamma$ to contain four relations of disjunction with some negated inputs (from zero to three).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Second&lt;/strong&gt;: each relation in $\Gamma$ can be expressed as a batch of clauses with (say) three literals.  Each constraint must be a whole batch of such   clauses.  In   the  example   with equality/inequality   constraints    you   cannot   have    a   binary $\mathsf{AND}$ (i.e. relation ${(1,1)}$) without enforcing a binary negated  $\mathsf{OR}$   (i.e.  relation  ${(0,0)}$)   on  the  same&#xA;variables.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I hope this illustrates to you that $\mathbf{SAT}$ instances obtained from $\mathsf{CSP}$s have a very peculiar structure, which is enforced by the nature of $\Gamma$.  If the structure is too tight then you cannot express hard problems.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A corollary of Schaefer Theorem is that whenever $\Gamma$ enforces a structure loose enough to express $\mathbf{NP\backslash P}$ decision problems, then the same $\Gamma$ allows enough freedom to express general 3-$\mathsf{SAT}$ instances.&lt;/p&gt;&#xA;" OwnerUserId="267" LastEditorUserId="267" LastEditDate="2012-01-23T12:12:24.803" LastActivityDate="2012-01-23T12:12:24.803" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="9863" PostTypeId="1" CreationDate="2012-01-23T12:47:04.557" Score="7" ViewCount="141" Body="&lt;p&gt;Given an $f$-fan in arithmetic circuit of depth $d$ over $GF(q)$ (for some prime $q$) and the set of variables $(x_1,\ldots,x_n)$, what is the state of the art upper bound for calculating the Fourier-Walsh coefficients of the polynomial it represents ?&lt;/p&gt;&#xA;" OwnerDisplayName="user887" LastActivityDate="2012-01-23T12:47:04.557" Title="Computing the Fourier-Walsh coefficients of an arithmetic circuit" Tags="&lt;cc.complexity-theory&gt;&lt;circuit-complexity&gt;&lt;polynomials&gt;&lt;fourier-analysis&gt;&lt;arithmetic-circuits&gt;" AnswerCount="0" CommentCount="0" FavoriteCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9865" PostTypeId="1" CreationDate="2012-01-23T13:01:05.880" Score="9" ViewCount="543" Body="&lt;p&gt;In the context of some recent &lt;a href=&quot;http://arxiv.org/abs/1111.5767&quot;&gt;work&lt;/a&gt;, we have been defining a language based on a three-valued logic à la Kleene, where $1$ stands for true, $0$ for false, and $\bot$ for error or don't-know. In order to show that our language was expressive, we wanted to prove that we could build a set of operators functionally complete. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It was quite hard to find existing results in the literature. We found one paper written in 1962 by Jobe, which states the following theorem: &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Jobe 1962 Theorem&lt;/strong&gt; &lt;a href=&quot;http://www.jstor.org/pss/2964548&quot;&gt;Paper&lt;/a&gt; (restricted access). &lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;The three-valued logic $E$ expressed over the set $\{1, 2, 3\}$ and defined by the operators $\bullet, E_1$ and $E_2$, given below, is functionally complete.&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;$$&#xD;&#xA;    \begin{array}{c|ccc|c|c}&#xD;&#xA;        ~\bullet~ &amp;amp; ~3~ &amp;amp; ~2~ &amp;amp; ~1~ &amp;amp; ~E_1~ &amp;amp; ~E_2~ \\ \hline&#xD;&#xA;        3     &amp;amp; 3 &amp;amp; 2 &amp;amp; 1 &amp;amp; 3   &amp;amp; 1 \\&#xD;&#xA;        2     &amp;amp; 2 &amp;amp; 2 &amp;amp; 1 &amp;amp; 1   &amp;amp; 2 \\&#xD;&#xA;        1     &amp;amp; 1 &amp;amp; 1 &amp;amp; 1 &amp;amp; 2   &amp;amp; 3&#xD;&#xA;    \end{array}&#xD;&#xA;$$&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;In our paper, we have used this result by showing a correspondance between our operators and those defined by Jobe (roughly speaking, we use the strong conjunction, the negation, and an operator that transforms don't-know in false). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;My main concern is that I'm actually not able to understand the proof of functional completeness of Jobe, and we haven't been able to find any other result (positive or negative) after this date, which is somehow a bit surprising. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;So my question is the following: are there some more known results about the functional completeness of 3-valued logics? Any info in this direction would be helpful. &lt;/p&gt;&#xA;" OwnerUserId="8030" LastActivityDate="2018-07-07T15:27:04.320" Title="Functional Completeness of 3-valued logic" Tags="&lt;reference-request&gt;&lt;lo.logic&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="9866" PostTypeId="2" ParentId="5479" CreationDate="2012-01-23T13:01:57.247" Score="2" Body="&lt;p&gt;In my recent book, Connections in Combinatorial Optimization (Oxford University Press, 2011) a central theme is graph orientation problems, including the variations discussed above. &#xA;It is known that a 2k-edge-connected graph has a k-edge-connected orientation (this is a theorem of Nash-Williams). If the graph is not 2k-edge-connected, one may be interested in deciding if a given subset F of edges is good (in the sense that F has an orientation so that the resulting mixed graph is k-edge-connected). In the book I described how this problem can be solved in polynomial time.  But I do not know how to find a minimum cardinality good set. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Andras Frank&lt;/p&gt;&#xA;" OwnerUserId="8069" LastActivityDate="2012-01-23T13:01:57.247" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9868" PostTypeId="2" ParentId="9804" CreationDate="2012-01-23T13:49:58.540" Score="5" Body="&lt;p&gt;I tried to write a good implementation for precisely this problem, which is now available in Sage.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.sagemath.org/doc/reference/sage/graphs/distances_all_pairs.html&quot; rel=&quot;noreferrer&quot;&gt;http://www.sagemath.org/doc/reference/sage/graphs/distances_all_pairs.html&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;While Sage is written in Python, this part is written in C so it can be expected to be &lt;em&gt;very&lt;/em&gt; fast. This being said, your main problem is not about computing the distances but storing them. If you want to compute the distance between all pairs of vertices (100 000) and store it in memory, and assuming you are storing the distances on 32b=4B integers -- so be careful if you run a 64bits machine or if you should use floats instead -- you would need a total memory of about 20Gigs. That's already &lt;em&gt;BIG&lt;/em&gt; if you planned to allocate this memory in a C array, it's a nightmare if you were thinking of Java and Integer objects.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here's an idea that sometimes changes the view one can have one hard instances : you can recursively remove vertices of degree 1, because for each of them the &quot;shortest path&quot; goes through their only neighbor, so it is easy to remember at very small cost. With some luck it can reduce the size of your instance.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Nathann&lt;/p&gt;&#xA;" OwnerUserId="1209" LastActivityDate="2012-01-23T13:49:58.540" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9869" PostTypeId="1" AcceptedAnswerId="10649" CreationDate="2012-01-23T14:46:45.323" Score="5" ViewCount="240" Body="&lt;p&gt;I am currently studying the election problem in distributed algorithms. There, I stumpled over one approach to implement a Chang-Roberts-like message extinction algorithm on graphs without requiring a specific topology.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The idea is simple: each initiator starts an echo-algorithm to learn about the leader (so, to find the process with the biggest unique identifier). An initiator adds his unique id to the wave to mark the wave and allow wave extinction: if two waves &quot;hit&quot; each other, the one with the bigger id wins. Now, to my question, which is inspired by this problem but a little bit more abstract.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given an arbitrary topology and an algorithm like the one described above, is it possible to come up with a model to calculate the &lt;em&gt;average message complexity&lt;/em&gt;? I apologize if I missed something obvious to answer this, but it seems to me that I am stuck with computing the &lt;em&gt;best&lt;/em&gt; and &lt;em&gt;worst case&lt;/em&gt; but cannot come up with an average case description without more knowledge on the actual topology. Is this conclusion true?&lt;/p&gt;&#xA;" OwnerUserId="8070" LastActivityDate="2012-03-12T08:37:07.707" Title="Average message complexity for the election problem on graphs" Tags="&lt;dc.distributed-comp&gt;&lt;communication-complexity&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="9871" PostTypeId="2" ParentId="1847" CreationDate="2012-01-23T16:49:16.167" Score="5" Body="&lt;p&gt;Firstly note that: given a graph $G=(V,E)$, two distinguished vertices $s,t \in V$ and an integer $k$, the problem of deciding whether there are $k$ internally vertex-disjoint odd-length paths between $s$ and $t$ is polynomially equivalent to deciding whether there exists $k$ even-length paths between $s$ and $t$. The reduction is easy. To reduce from one case to another, simply subdivide each edge adjacent to $t$. Let $G&amp;#39;$ be the graph obtained. Then $G$ has $k$ odd-length vertex-disjoint paths between $s$ and $t$ iff $G&amp;#39;$ has $k$ even-length vertex-disjoint paths between $s$ and $t$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Therefore, if one of these problems is NP-complete, so is the other. Now Itai, Perl and Shiloach show that the problem of deciding whether there exist $k$ vertex-disjoint paths of length five between $s$ and $t$ is NP-complete [&lt;em&gt;The complexity of finding maximum disjoint paths with length constraints&lt;/em&gt;. Networks,&#xA;Volume 12, Issue 3, pages 277–-286, 1982.] The reduction is from 3SAT and in the graph constructed, the odd length paths between $s$ and $t$ all have length exactly five. Hence the Vertex-Disjoint Odd Length Paths problem in NP-complete and so is the Vertex-Disjoint Even Length Paths.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hope this helps.&lt;/p&gt;&#xA;" OwnerUserId="8072" LastEditorUserId="8072" LastEditDate="2012-01-23T18:36:22.023" LastActivityDate="2012-01-23T18:36:22.023" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="9872" PostTypeId="2" ParentId="9840" CreationDate="2012-01-23T17:38:11.187" Score="8" Body="&lt;p&gt;If the complexity measure you are considering is query complexity, i.e., the number of times the machine has to look at the input to solve a particular problem, then there are many problems for which we have optimal algorithms. The reason for this is that lower bounds for query complexity are easier to achieve than lower bounds for time or space complexity, thanks to some popular techniques including the &lt;a href=&quot;http://cstheory.blogoverflow.com/tag/query-complexity/&quot;&gt;adversary method&lt;/a&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The downside, however, is that this complexity measure is almost excusively used in quantum information processing as it provides an easy way of proving a gap between quantum and classical computational power. The most notorious quantum algorithm in this framework is &lt;a href=&quot;http://en.wikipedia.org/wiki/Grover%27s_algorithm&quot;&gt;Grover's algorithm&lt;/a&gt;. Given a binary string $x_1,\dots ,x_n$ for which there exists a single $i$ such that $x_i=n$, you are required to find $i$. Classically (without a quantum computer), the most trivial algorithm is optimal: you need to query this string $n/2$ times on average in order to find $i$. Grover provided a quantum algorithm that does so in $O(\sqrt n)$ queries to the string. This has also been proven optimal.&lt;/p&gt;&#xA;" OwnerUserId="507" LastActivityDate="2012-01-23T17:38:11.187" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="9874" PostTypeId="1" CreationDate="2012-01-23T19:09:26.420" Score="4" ViewCount="188" Body="&lt;p&gt;Not sure if the notation I'm using here is standard or not. I'm going over class notes and I'm stumped over an exercise given: Show that $deg(f) = n \iff PI(f) \neq 0$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here $f$ is a boolean function on $n$ variables. $PI(f) = \sum\limits_{x \in f^{-1}(0)} (-1)^{w(x)}$. $w(x)$ is the number of bits = 1 in the input $x$. $deg(f)$ is the minimum degree of any polynomial representation of $f$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This implies a sufficient condition that $f$ is evasive is $PI(f) \neq 0$. Thank you in advance for your help.&lt;/p&gt;&#xA;" OwnerUserId="8076" LastEditorUserId="8076" LastEditDate="2012-01-24T20:09:47.247" LastActivityDate="2012-01-24T20:09:47.247" Title="How to prove deg(f) = n iff the parity imbalance of f is non-zero?" Tags="&lt;cc.complexity-theory&gt;&lt;co.combinatorics&gt;&lt;circuit-complexity&gt;&lt;boolean-functions&gt;&lt;fourier-analysis&gt;" AnswerCount="0" CommentCount="11" ContentLicense="CC BY-SA 3.0" />
  <row Id="9875" PostTypeId="2" ParentId="8777" CreationDate="2012-01-23T19:43:05.150" Score="1" Body="&lt;p&gt;If GNA is in CoNP, and by certificate you mean any string y such that x is in GNA iff xy is accepted by a deterministic turing machine in polynomial time, then a non-trivial lower bound on the certificate size would imply P!=NP. If P=NP, then CoNP=NP=P and there is a deterministic turing machine that accepts GNA without the need of a certificate, or with a certificate whose size is equal to zero. &lt;/p&gt;&#xA;" OwnerUserId="8077" LastActivityDate="2012-01-23T19:43:05.150" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9876" PostTypeId="2" ParentId="9840" CreationDate="2012-01-23T20:23:09.983" Score="4" Body="&lt;p&gt;Suppose you are given input $w = \langle M, x, t \rangle$ and are asked to decide if RAM machine $M$ terminates on input $x$ after $t$ steps. By the time hierarchy theorem, the optimal algorithm to decide this is to simulate the execution of $M(x)$ for $t$ steps, which can be done in time $O(t)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Note: for Turing machines, simulating the execution of $M$ takes $O(t \log t)$ steps; we only know a lower bound of $\Omega(t)$. So, this is not quite optimal for Turing machines specifically).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are some other problems which contain the version of the halting problem as a sub-case. For example, deciding whether a sentence $\theta$ is a consequence of the WS1S takes time $2 \uparrow \uparrow O(|\theta|)$ and this is optimal.&lt;/p&gt;&#xA;" OwnerUserId="5538" LastEditorUserId="5538" LastEditDate="2012-01-24T13:34:20.617" LastActivityDate="2012-01-24T13:34:20.617" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9877" PostTypeId="2" ParentId="9840" CreationDate="2012-01-23T20:30:16.033" Score="-1" Body="&lt;p&gt;Many sublinear time algorithms have upper bounds matching their lower bounds.&lt;/p&gt;&#xA;" OwnerUserId="3423" LastActivityDate="2012-01-23T20:30:16.033" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="9879" PostTypeId="2" ParentId="9840" CreationDate="2012-01-23T21:15:59.997" Score="1" Body="&lt;p&gt;Many streaming algorithms have upper bounds matching their lower bounds.&lt;/p&gt;&#xA;" OwnerUserId="3423" LastActivityDate="2012-01-23T21:15:59.997" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9880" PostTypeId="1" AcceptedAnswerId="9895" CreationDate="2012-01-23T22:22:09.710" Score="8" ViewCount="484" Body="&lt;p&gt;&lt;b&gt;&#xA;Edit: I think the spirit of the question was good, but it needs to be improved.&#xA;The assumptions made for the coin toss made that question trivial, and the die roll is still not precisely defined enough. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;What are reasonable assumptions we can make about a die roll that make the question tractable, but non-trivial? The best place for any further discussion is probably in chat.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;/b&gt;&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;This question is inspired by and closely related to the &lt;a href=&quot;https://cstheory.stackexchange.com/questions/6356/super-mario-galaxy-problem&quot;&gt;Super Mario Galaxy (SMG) problem&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Suppose Mario is walking on the surface of a planet. If he starts walking from a known location, in a fixed direction, for a predetermined distance, how quickly can we determine where he will stop?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;As a first pass we would like to simplify the question as much as possible.&lt;/p&gt;&#xA;&#xA;&lt;h3&gt; Question 1 &lt;/h3&gt; &#xA;&#xA;&lt;p&gt;Suppose we start with a coin heads face up, toss it with some initial torque $T$, and catch it again after time $t$. How quickly can we determine whether the coin will land on heads or tails?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/0VYXp.gif&quot; alt=&quot;Coin Toss animation&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To be more precise, a coin is a cylinder which has a height nearly 0 (negligible compared to its radius). &#xA;The coin will rotate with constant angular velocity at a fixed angle for a fixed amount of time. At the end of that time period, we freeze time and space and examine the position of the coin. This is what is meant by &quot;catching&quot; the coin. There are three possibilities: the coin is exactly vertical, with the thin edge pointing precisely up. For now, we ignore this possibility. Thus, if you look at the coin from above, you can either see the heads side, or the tails side. Whichever side is visible from above at this instant is the value of the toss. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The initial torque and time period are meant to be analogous to Mario walking a fixed direction for a predetermined distance. The difference is that instead of walking along the surface of the polytope for some distance, we are letting it rotate freely in space for some fixed number of radians.&lt;/p&gt;&#xA;&#xA;&lt;h3&gt; Question 0 &lt;/h3&gt;&#xA;&#xA;&lt;p&gt;If the coin rotates around a fixed axis, is value of the toss (the side of the coin seen from above) periodic? As I defined the problem above, does the coin necessarily rotate around a fixed axis, or may it rotate more unpredictably?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As in the SMG problem, we would like to do something more clever than explicitly &quot;walking&quot; through each face as the coin flips. In this vastly simplified version of the problem, I believe this should be possible, because the coin flip should be periodic. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the second question, we consider a less trivial restriction of the original problem.&lt;/p&gt;&#xA;&#xA;&lt;h3&gt; Question 2 &lt;/h3&gt;&#xA;&#xA;&lt;p&gt;Suppose that we roll an n-sided die from a given starting position $s$ with a given initial torque $T$, how quickly can we determine what will be the resulting value of the die roll?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We have to make some simplifying assumptions about the die, otherwise this becomes more of a physical modeling problem. For now, let's assume that we roll the die as we would toss a coin: we toss it, giving it some initial rotation, and after a short time catch it again, and whichever side lands face up is the value of the toss. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The unweighted version of the die roll problem is a restriction of the SMG problem in that the die must be a regular polytope, whereas the planet on which Mario walks may be any convex polytope $P$. Does the restriction to regular polytopes make the problem any easier?&lt;/p&gt;&#xA;&#xA;&lt;h3&gt; Question 3 &lt;/h3&gt;&#xA;&#xA;&lt;p&gt;Even for a regular die, I don't know that the sequence of faces which are face up will be periodic, but can we &lt;em&gt;approximate&lt;/em&gt; the die roll by a periodic sequence and thus get a &quot;best guess&quot; of the result faster than we could solve the original problem? I think the answer is clearly yes, but what is the trade-off between the quality of our estimate and the improvement in running time?&lt;/p&gt;&#xA;&#xA;&lt;h3&gt; Question 4 &lt;/h3&gt;&#xA;&#xA;&lt;p&gt;Now suppose the die is weighted, so that it's velocity depends on the current face. In the terminology of the original &lt;a href=&quot;https://cstheory.stackexchange.com/questions/6356/super-mario-galaxy-problem&quot;&gt;SMG problem&lt;/a&gt;, this means that the speed at which Mario walks depends on the face that Mario is currently in. Maybe some parts of the planet have rougher terrain than others.&lt;/p&gt;&#xA;" OwnerUserId="8078" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.743" LastActivityDate="2012-01-29T22:05:42.930" Title="Die roll problem" Tags="&lt;ds.algorithms&gt;&lt;cg.comp-geom&gt;" AnswerCount="1" CommentCount="10" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9881" PostTypeId="1" AcceptedAnswerId="9891" CreationDate="2012-01-24T05:59:30.050" Score="6" ViewCount="657" Body="&lt;p&gt;I am referring to the &quot;Iterative Rounding&quot; technique used by Kamal Jain for Steiner Network problem to obtain $2$ approximation factor algorithm. Is there any example where this technique is used for vertex weighted graphs? I have only seen examples for weighted edges or edge connectivity problems that use this paradigm. The nearest i have seen is degree bounded networks that use this paradigm. Also, i would like to get some intuition that when is this method probably applicable (or what could be the underlying difficulty that it is not yet applied to vertex weighted scenarios).&lt;/p&gt;&#xA;" OwnerUserId="4529" LastEditorUserId="4529" LastEditDate="2012-01-30T09:50:49.947" LastActivityDate="2012-01-30T09:50:49.947" Title="Is there a example of Iterative Rounding in Approximation Algorithms for vertex weighted Graphs?" Tags="&lt;graph-algorithms&gt;&lt;approximation-algorithms&gt;&lt;linear-programming&gt;&lt;iterated-rounding&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9882" PostTypeId="2" ParentId="9840" CreationDate="2012-01-24T07:39:11.330" Score="6" Body="&lt;ul&gt;&#xA;&lt;li&gt;If you are willing to change your model, quite a few lower bounds in data structures are tight. See &lt;a href=&quot;https://cstheory.stackexchange.com/questions/5517/lower-bounds-for-data-structures&quot;&gt;Lower Bounds for Data Structures&lt;/a&gt; for pointers to good references for lower bounds in data structures.&lt;/li&gt;&#xA;&lt;li&gt;From the &lt;span class=&quot;math-container&quot;&gt;$\Omega(n \log n)$&lt;/span&gt; bound for sorting in the comparison model that some people have mentioned here, you can obtain a similar bound for the convex hull problem by considering the case where the input is composed of points along the graph of an increasing function in the first quadrant of the plane.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="1632" LastEditorUserId="32711" LastEditDate="2021-04-23T08:33:31.670" LastActivityDate="2021-04-23T08:33:31.670" CommentCount="2" ContentLicense="CC BY-SA 4.0" />
  <row Id="9883" PostTypeId="2" ParentId="6660" CreationDate="2012-01-24T15:19:06.390" Score="17" Body="&lt;p&gt;If $L$ is a tabular modal or superintuitionistic logic, then the extended Frege and substitution Frege proof systems for $L$ are polynomially equivalent, and polynomially faithfully interpretable in the classical EF (this is Theorem 5.10 in &lt;a href=&quot;http://math.cas.cz/~jerabek/papers/sfef.pdf&quot;&gt;this paper&lt;/a&gt; of mine). The exponent $c$ of the polynomial simulations is not explicitly stated in Theorem 5.10, but the inductive proof of the theorem gives $c=2^{O(|F|)}$, where $F$ is a finite Kripke frame which generates $L$, so it can be as huge as you want depending on the logic. (It gets worse in Theorem 5.20.)&lt;/p&gt;&#xA;" OwnerUserId="6959" LastEditorUserId="6959" LastEditDate="2012-01-24T16:02:23.823" LastActivityDate="2012-01-24T16:02:23.823" CommentCount="0" CommunityOwnedDate="2012-12-06T19:38:01.160" ContentLicense="CC BY-SA 3.0" />
  <row Id="9885" PostTypeId="1" CreationDate="2012-01-24T20:36:22.823" Score="1" ViewCount="149" Body="&lt;p&gt;What is known about the decisional version of the search problem? By decisional version of the search problem, I mean the problem in which you wish to determine whether there are $0$, or exactly $t$ values $x$ for which the black-box function $f$ takes the value $1$. Of course, this problem reduces to the traditional Grover search problem; just find an $x$ such that $f(x)=1$ or run the algorithm so many times as to have a good probability that such an $x$ does not exist. This can be done with $O(\sqrt{N/t})$ oracle queries to the oracle function. However, those two problems are not equivalent or at least I don't see how they could be.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Obviously if those two problems were equivalent, the $\Omega(\sqrt{N/t})$ lower bound for Grover search would translate into a lower bound for the decision version. Are there results of equivalence of the two problems or of lower bounds for the decision problem?&lt;/p&gt;&#xA;" OwnerUserId="507" LastActivityDate="2012-01-24T20:36:22.823" Title="Is there a lower bound for the decisional Grover search problem?" Tags="&lt;quantum-computing&gt;&lt;query-complexity&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="9887" PostTypeId="1" AcceptedAnswerId="9894" CreationDate="2012-01-25T00:04:38.483" Score="10" ViewCount="235" Body="&lt;p&gt;What is the current best bound for performing halfspace range counting queries on a set of $d$-dimensional points, expressed in the form of a time/space tradeoff.  According to Matousek's seminal 1993 paper (Theorem 6.2, Range Searching  with Efficient Hierarchical  Cuttings), we can do range counting for queries that are the intersection of $p$ halfspaces, for $1 \le p \le d+1$, using a data structure of size $O(m)$, for $n \le m \le n^d$, in $O\left(\frac{n}{m^{1/d}}\log^{p-(d-p+1)/d} \left(\frac{m}{n}\right)\right)$ time.  For $p=1$ this is $O(n/m^{1/d})$ time.  However, Agarwal's survey on range searching (Table 36.3.2) claims the bound is $O\left(\frac{n}{m^{1/d}}\log(\frac{m}{n})\right)$.  What is the correct statement of the bound?  Alternatively, what am I misunderstanding?  Finally, is there any hidden log term when $m=n^d$?&lt;/p&gt;&#xA;" OwnerUserId="8090" LastEditorUserId="80" LastEditDate="2012-01-25T06:40:03.087" LastActivityDate="2012-01-25T09:14:44.740" Title="Tradeoff Bounds for Halfspace Range Counting" Tags="&lt;reference-request&gt;&lt;ds.data-structures&gt;&lt;cg.comp-geom&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9890" PostTypeId="2" ParentId="9824" CreationDate="2012-01-25T04:13:44.270" Score="0" Body="&lt;p&gt;As much as I understand question 2, Rabin's algorithm provides a kind of an answer to that too. At each time step the data structure is a grid with cell width less than the smallest distance between pairs of points seen so far, divided by $\sqrt{2}$ (so that no cell contains more than a single point). To answer the query in question 2, you only need to map $p$ to a cell in the grid and look at a constant number of cells around it. By the analysis of the algorithm, if the input point set is examined in random order, than the amortized update time for the grid is $O(1)$ per new point in expectation.&lt;/p&gt;&#xA;" OwnerUserId="4896" LastActivityDate="2012-01-25T04:13:44.270" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="9891" PostTypeId="2" ParentId="9881" CreationDate="2012-01-25T04:17:04.010" Score="5" Body="&lt;p&gt;The simplest node-weighted network design problem is the node-weighted Steiner tree problem. Klein and Ravi considered this problem and obtained an $O(\log k)$-approximation (here $k$ is the number of terminals). They also showed that the Set Cover problem reduces to it in an approximation preserving fashion and hence we should not expect any better approximation. It is not hard to show that iterated rounding is not helpful for the  Set Cover problem. Consider the following example. We have $n$ elements $\{e_1,\ldots,e_n\}$ and $n$ sets $S_1,\ldots,S_n$ where $S_i$ contains all elements except $e_i$. If you look at the natural LP with a variable $x_i$ for set $S_i$ then a basic feasible optimal solution is to set $x_i = 1/(n-1)$ for each $i$. From this one can see that iterated rounding in the plain vanilla fashion won't give a good bound. Note that the integrality gap of the LP is $O(\log n)$. This example for Set Cover can be extended to the node-weighted Steiner tree problem. &lt;/p&gt;&#xA;" OwnerUserId="176" LastActivityDate="2012-01-25T04:17:04.010" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9892" PostTypeId="2" ParentId="9824" CreationDate="2012-01-25T06:00:19.580" Score="12" Body="&lt;p&gt;It is impossible to solve the problem in less than $cn\log n$ time in standard models, e.g. using algebraic decision trees. This follows from the work of Yao and Ben-Or that shows that in this model it is not possible to decide if a set of $n$ input numbers are all different or not (see &lt;a href=&quot;http://people.bath.ac.uk/masnnv/Teaching/AAlg11_8.pdf&quot;&gt;http://people.bath.ac.uk/masnnv/Teaching/AAlg11_8.pdf&lt;/a&gt;). In case of your problem, imagine that all of them are on the real line. If two points are the same, then your output would be two points with distance zero, while otherwise not, so a solution to your problem would also solve the DISTINCT NUMBERS problem. If you want to suppose that all your points are different, then just add $i\epsilon$ to the $x_i$ inputs of the DISTINCT NUMBERS problem, in this case if your output is at most $n\epsilon$, then the numbers are not all distinct. (Although in this case you have to use a promise version where the difference of any two distinct numbers is at least $2n\epsilon$, but I think the same proof works to show that you also need $\Omega(n\log n)$ in this case.)&lt;/p&gt;&#xA;" OwnerUserId="419" LastEditorUserId="419" LastEditDate="2012-01-25T07:40:39.917" LastActivityDate="2012-01-25T07:40:39.917" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="9893" PostTypeId="2" ParentId="9887" CreationDate="2012-01-25T08:14:35.540" Score="2" Body="&lt;p&gt;There is a brief discussion of results in half-space range searching just above Table 36.3.2 in &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.94.8006&quot; rel=&quot;nofollow&quot;&gt;Agarwal's Survey&lt;/a&gt; and another in section 4.3 of &lt;a href=&quot;http://www.cs.uiuc.edu/~jeffe/pubs/pdf/survey-tr.pdf&quot; rel=&quot;nofollow&quot;&gt;this survey&lt;/a&gt;. The former doesn't seem to give many details beyond &quot;A space/query-time tradeoff for simplex range searching can be attained by combining the linear-size and logarithmic query-time data structures&quot;, but the latter seems to provide quite a bit more detail on the space / query-time tradeoff. I suggest looking at section 4.3, Theorem 7, Corollary 8, and their proofs. I haven't read them in enough detail to know if it fully answers your question, but it's at least a good place to start.&lt;/p&gt;&#xA;" OwnerUserId="8078" LastEditorUserId="8078" LastEditDate="2012-01-25T08:20:42.363" LastActivityDate="2012-01-25T08:20:42.363" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9894" PostTypeId="2" ParentId="9887" CreationDate="2012-01-25T09:14:44.740" Score="6" Body="&lt;p&gt;Matoušek's stronger time bound is correct.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The proof of Theorem 6.1 (&lt;a href=&quot;http://www.springerlink.com/content/c867n18216603637/&quot;&gt;in the journal version&lt;/a&gt;) uses an indirection trick that reduces the space bound required for logarithmic query time from $O(n^d)$ to $O(n^d/\operatorname{polylog} n)$.  Intuitively, the trick is to cluster the points into subsets of polylogarithmic size, build a linear-space data structure for each subset, and then build a standard logarithmic-query-time structure over the subsets.  Plugging the improved space bound into  Matoušek's multi-level/tradeoff machinery—described in gory generality in &lt;a href=&quot;http://www.cs.uiuc.edu/~jeffe/pubs/survey.html&quot;&gt;the longer version of Agarwal's survey&lt;/a&gt;—gives Matoušek's form of the time-space tradeoff.  (In fact, the indirection trick is just a very careful application of the standard tradeoff machinery.) &lt;/p&gt;&#xA;" OwnerUserId="111" LastActivityDate="2012-01-25T09:14:44.740" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="9895" PostTypeId="2" ParentId="9880" CreationDate="2012-01-25T09:28:07.500" Score="2" Body="&lt;p&gt;First of all, I think that you probably mean angular impulse and not torque. (You can look at impulse as the total effect of a torque applied over a short time.) If you neglect air drag etc., the motion of any rigid body (and in particular a coin or a cube) in the COM frame is very simple - it just rotates with a constant angular velocity. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This makes this problem kind of trivial. Just rotate the body by an angle $\omega t$ about the axis of rotation and find the side &quot;facing up&quot; by whatever geometric definition you want (it was not very clear in your description of the problem). If you are defining your top face as the face intersecting the vertical line passing through origin, things are even simpler. Rotate the line by angle $-\omega t$ about axis of rotation and find the intersecting face.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would not say that this problem is a good model for the SMG problem because in SMG you have a point moving with constant speed on the surface whereas here the whole body will be rotating with a constant angular speed, which makes this problem so much simpler.&lt;/p&gt;&#xA;" OwnerUserId="7567" LastActivityDate="2012-01-25T09:28:07.500" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="9896" PostTypeId="1" AcceptedAnswerId="9897" CreationDate="2012-01-25T14:06:14.623" Score="24" ViewCount="1354" Body="&lt;p&gt;Given $n$ subsets $S_1,\ldots,S_n$ of $\{1,\ldots,d\}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Check whether there are sets $S_i,S_j$ with $S_i \subsetneq S_j$. (If so, find an example, if not, simply say &quot;no&quot;)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The trivial solution to this problem goes through all pairs of sets and checks inclusion for a pair in time $O(d)$, so the overall runtime is $O(n^2 d)$. Can this problem be solved faster? Is there a name for it in the literature?&lt;/p&gt;&#xA;" OwnerUserId="8096" LastEditorUserId="5396" LastEditDate="2012-01-28T15:02:58.680" LastActivityDate="2012-01-30T02:24:45.660" Title="What is the fastest way to check for set inclusion?" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;" AnswerCount="4" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="9897" PostTypeId="2" ParentId="9896" CreationDate="2012-01-25T14:56:14.323" Score="29" Body="&lt;p&gt;You cannot solve it in $O(n^{2-\epsilon})$ time for any constant $\epsilon&amp;gt;0$ unless the &lt;a href=&quot;http://en.wikipedia.org/wiki/Exponential_time_hypothesis&quot;&gt;Strong Exponential Time Hypothesis&lt;/a&gt; is false.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;That is, if we had such an algorithm, we could solve $n$-variable CNF Satisfiability in $O((2-\epsilon&amp;#39;)^{n})$ time for some $\epsilon&amp;#39;&amp;gt;0$.&#xA;The reason is that we could divide the variables in two equal parts $P_1$ and $P_2$ of $n/2$ variables each. For each part we construct&#xA;a family $F_1$ and $F_2$ respectively of subsets of the clauses in the following way. For each assignment we add a subset consisting of the&#xA;clauses not satisfied by the assignment. This construction runs in $poly(n)2^{n/2}$ time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To finish the construction, we note that the original CNF instance has a solution iff there is a subset in $F_1$ which is disjoint to some subset in $F_2$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Adding some extra elements to your ground set in addition to the ones for each clause, it is not too hard to embed this disjointness problem as a question of&#xA;set inclusion. You basically take the complements of the subsets in $F_1$. To make sure two sets in $F_1$ isn't counted as an inclusion you add a code from an anti-chain&#xA;on the extra elements. Another anti-chain code (on other extra elements of the ground set) is used on the subsets of $F_2$ to make sure no pair of subsets from $F_2$ form an inclusion.&#xA;Finally, all sets formed from $F_1$ includes all elements of $F_2$'s anti-chain codes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is a set inclusion question on $2^{n/2+1}$ subsets on a $d=poly(n)$ ground set. The argument basically goes back to some early paper of Ryan Williams (can't remember which).&lt;/p&gt;&#xA;" OwnerUserId="679" LastEditorUserId="679" LastEditDate="2012-01-25T18:18:06.467" LastActivityDate="2012-01-25T18:18:06.467" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9898" PostTypeId="2" ParentId="9819" CreationDate="2012-01-25T15:53:25.593" Score="3" Body="&lt;p&gt;see eg &lt;a href=&quot;http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=785521&quot; rel=&quot;nofollow&quot;&gt;Neural network training with constrained integer weights&lt;/a&gt;&#xA;Plagianakos, V.P.;   Vrahatis, M.N.;  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.dice.ucl.ac.be/Proceedings/esann/esannpdf/es1999-18.pdf&quot; rel=&quot;nofollow&quot;&gt;An Integer Recurrent Artificial Neural Network&#xA;for Classifying Feature Vectors&lt;/a&gt; &#xA;Roelof K Brouwer PEng, Ph&lt;/p&gt;&#xA;&#xA;&lt;p&gt;the general idea in various implementations is to represent/approximate real numbers $x \in[0..1]$ as integers in the form $x \cdot 10^m$ where $m$ is some integer exponent.&lt;/p&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2012-01-25T15:53:25.593" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9900" PostTypeId="2" ParentId="9839" CreationDate="2012-01-25T19:57:59.377" Score="11" Body="&lt;p&gt;The problem of determining whether there is an equivalent CNF formula with at most a given number of literals is $\Pi_2^p$-complete.  The version minimizing the number of clauses is within a factor of $n$ of the formula size, where $n$ is the number of variables.  See section 6 of:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Christopher Umans, &lt;em&gt;The Minimum Equivalent DNF Problem and Shortest Implicants&lt;/em&gt;, JCSS &lt;strong&gt;63&lt;/strong&gt;(4), 597–611, 2001.  doi:&lt;a href=&quot;http://dx.doi.org/10.1006/jcss.2001.1775&quot;&gt;10.1006/jcss.2001.1775&lt;/a&gt; (&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.38.2930&amp;amp;rep=rep1&amp;amp;type=pdf&quot;&gt;preprint&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;A recent result shows that computing a particular lower bound for the size of the shortest equivalent CNF formula (measured by number of clauses, as you specify) is NP-complete.  This paper also states that your problem of minimizing the number of clauses is $\Pi^p_2$-complete as well, citing the Umans paper above, although why this follows is not immediately obvious to me.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Ondřej Čepek, Petr Kučera and Petr Savický, &lt;em&gt;Boolean functions with a simple certificate for CNF complexity&lt;/em&gt;, DAM &lt;strong&gt;160&lt;/strong&gt;(4–5), 365–382, 2012.  doi:&lt;a href=&quot;http://dx.doi.org/10.1016/j.dam.2011.05.013&quot;&gt;10.1016/j.dam.2011.05.013&lt;/a&gt; &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="109" LastActivityDate="2012-01-25T19:57:59.377" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9901" PostTypeId="1" AcceptedAnswerId="9903" CreationDate="2012-01-25T20:12:51.597" Score="2" ViewCount="379" Body="&lt;p&gt;Recently, I started (independent) learning of the theory of metric embeddings from the Fall 2003 course &lt;a href=&quot;http://www.cs.cmu.edu/~anupamg/metrics/&quot; rel=&quot;nofollow&quot;&gt; offered at CMU &lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I had a very basic question from the very &lt;a href=&quot;http://www.cs.cmu.edu/~anupamg/metrics/lectures/lec1.ps&quot; rel=&quot;nofollow&quot;&gt; first lecture &lt;/a&gt; of this course which I would like to get more intuition about. On page, $5$, the notes say that this technique can be used in a straightforward way to give an $\alpha$ approximation algorithms for problems like TSP if (say) the following hold.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(i) The metric embeds into a tree.&lt;br&gt;&#xA;(ii) The embedding has distortion at most $\alpha$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What I am not sure about is whether the solution generated by using the embedding is even valid - because for all I know, it could be that the TSP solution on the tree uses only from among those edges which were contracted.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To be more precise, I feel more comfortable accepting that if we have got a mapping $f$ from the  original space $(X,d)$ to the tree metric $(V, d&amp;#39;)$ which expands all the pairwise distances, then I can use the TSP solution on this tree as an approximate solution to the TSP problem on the original metric with approximation factor same as the expansion of the mapping $f$. I am not sure about how approximation factor can be the same as (or even related to) the distortion of the mapping $f$.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks&lt;br&gt;&#xA;-Akash&lt;/p&gt;&#xA;" OwnerUserId="55" LastEditorUserId="55" LastEditDate="2012-01-25T21:08:37.047" LastActivityDate="2012-01-25T23:52:35.273" Title="An intuitive justification - Metric Embedding Based Approximation Algorithms" Tags="&lt;approximation-algorithms&gt;&lt;metric-spaces&gt;&lt;intuition&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="9903" PostTypeId="2" ParentId="9901" CreationDate="2012-01-25T23:52:35.273" Score="6" Body="&lt;p&gt;The way I remember it is that you also get a lower bound on the expected cost in the embedding. Namely for any two points $x$, $y$ at distance $d(x,y)$ in the original metric, their distance $d&amp;#39;(x,y)$ in the embedding satisfies $d(x,y) \leq d&amp;#39;(x,y)$. If I'm not mistaken, the first lecture mentions that too.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then, everything is straightforward.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Look at the optimal TSP instance $I$ of the graph $G$. Then consider the embedding of $I$ (call it $I'$) into the tree metric. $I&amp;#39;$ is also an instance of TSP for the tree metric, and its cost is bounded by $E[cost(I&amp;#39;)] \leq \alpha \cdot cost(I)$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Therefore, if you compute $J&amp;#39;$, which is the optimal TSP for the tree metric, $E[cost(J&amp;#39;)] \leq E[cost(I&amp;#39;)] \leq \alpha \cdot cost(I)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Lift $J&amp;#39;$ back into your initial graph, which gives you an instance $J$. Thus, $cost(J) \leq E[cost(J&amp;#39;)]$. And thus, using the previous chain of inequalities,  $cost(J) \leq \alpha \cdot OPT$.&lt;/p&gt;&#xA;" OwnerUserId="49" LastActivityDate="2012-01-25T23:52:35.273" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="9907" PostTypeId="1" CreationDate="2012-01-26T08:57:11.677" Score="-1" ViewCount="2222" Body="&lt;p&gt;I've seen two competing and contrary arguments for this problem.  One states that real computers are linear-bounded automata, and therefore the halting problem is decidable.  The other states that real programs on finite machines are modelled as taking an infinite vector of inputs (say, network or keyboard inputs), and that the input vector is modelled as part of the state, therefore the state is infinite, and therefore the problem is undecidable.  Would anybody care to weigh in on this one?&lt;/p&gt;&#xA;" OwnerUserId="8113" LastActivityDate="2019-02-14T05:13:52.393" Title="Decidability of the halting problem on finite computers" Tags="&lt;computability&gt;" AnswerCount="1" CommentCount="3" ClosedDate="2012-01-26T14:01:47.357" ContentLicense="CC BY-SA 3.0" />
  <row Id="9908" PostTypeId="2" ParentId="9907" CreationDate="2012-01-26T13:01:05.390" Score="4" Body="&lt;p&gt;Minsky explains this problem very well (see the wikipedia article on the Halting Problem under 'common pitfalls': &lt;a href=&quot;http://en.wikipedia.org/wiki/Halting_problem#Common_pitfalls&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://en.wikipedia.org/wiki/Halting_problem#Common_pitfalls&lt;/a&gt; ).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Strictly speaking, an actual computer has a finite number of possible states, which means that any non-halting behavior must be periodic, so you just solve the halting problem by running the computer until you observe the same state twice and then you know it's a non-halting machine.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, with only a million bits of memory you have at least &lt;span class=&quot;math-container&quot;&gt;$2^{\left (10^6 \right )}$&lt;/span&gt; possible states, so that's the possible length of sequence of states until it returns to an already visited state. That means that if you compute one state transition in the smallest theoretically measurable timelapse, you'd need 300000 times the age of the universe to complete such a cycle. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;At that point it's more useful to model computers as infinite state machines (like Turing Machines). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Physicists have a similar problem where modeling a glass of water as a large but finite number of water molecules is much more difficult than modeling it as a an infinite number of molecules. It's a kind of 'approximation from above'. &lt;/p&gt;&#xA;" OwnerUserId="7892" LastEditorUserId="7892" LastEditDate="2019-02-14T05:13:52.393" LastActivityDate="2019-02-14T05:13:52.393" CommentCount="1" ContentLicense="CC BY-SA 4.0" />
  <row Id="9909" PostTypeId="2" ParentId="8471" CreationDate="2012-01-26T13:49:54.097" Score="4" Body="&lt;p&gt;The biggest &quot;advance&quot; in relational databases has been the cleaving apart of the monolithic RDBMS model into discrete components, that are then put together in novel ways.  These include data stores that have weak consistency (Google Percolator), column stores (NoSQL), and graph databases.  The ideas are not new, but the different ways of combining the components are novel.&lt;/p&gt;&#xA;" OwnerUserId="109" LastActivityDate="2012-01-26T13:49:54.097" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9910" PostTypeId="1" AcceptedAnswerId="9912" CreationDate="2012-01-26T14:14:20.603" Score="4" ViewCount="203" Body="&lt;p&gt;Here's my attempt to explain the problem in mathematical language:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xD;&#xA;\text{Given square matrix A}&#xD;&#xA;$$&#xA;$$&#xD;&#xA;\left(&#xD;&#xA;\begin{array}{cccc}&#xD;&#xA; a_{1,1} &amp;amp; a_{1,2} &amp;amp; \cdots &amp;amp; a_{1,N} \\&#xD;&#xA; a_{2,1} &amp;amp; a_{2,2} &amp;amp; \cdots &amp;amp; a_{2,N} \\&#xD;&#xA; \vdots &amp;amp; \vdots &amp;amp; \ddots &amp;amp; \vdots \\&#xD;&#xA; a_{N,1} &amp;amp; a_{N,2} &amp;amp; \cdots &amp;amp; a_{N,N}&#xD;&#xA;\end{array}&#xD;&#xA;\right)&#xD;&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Find a minimal sum of $N$ elements such that no two elements are in the same row or column. In other words, find $$\min_{\sigma\in S_N}\left\{\sum_{i=1}^Na_{i,\sigma(i)}\right\},$$ where $S_N$ is the set of permutations on $\{1,\ldots,N\}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a standard name for this problem?&lt;/p&gt;&#xA;" OwnerUserId="1592" LastEditorUserId="5396" LastEditDate="2012-01-28T16:17:20.830" LastActivityDate="2012-01-28T16:17:20.830" Title="Minimal sum of matrix elements" Tags="&lt;reference-request&gt;&lt;optimization&gt;&lt;terminology&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9912" PostTypeId="2" ParentId="9910" CreationDate="2012-01-26T14:59:27.980" Score="11" Body="&lt;p&gt;This is called the &lt;a href=&quot;http://en.wikipedia.org/wiki/Assignment_problem&quot;&gt;(linear) assignment problem&lt;/a&gt;. It can be solved efficiently through linear programming over the Birkhoff polytope.&lt;/p&gt;&#xA;" OwnerUserId="819" LastActivityDate="2012-01-26T14:59:27.980" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9913" PostTypeId="2" ParentId="8087" CreationDate="2012-01-26T15:01:23.663" Score="2" Body="&lt;p&gt;Ker-i Ko Showed that there is an oracle that makes PH collapse at the &#xA;k-th level. See &quot;Ker-I Ko: Relativized Polynomial Time Hierarchies Having Exactly K Levels. SIAM J. Comput. 18(2): 392-408 (1989)&quot;. &lt;/p&gt;&#xA;" OwnerUserId="3423" LastActivityDate="2012-01-26T15:01:23.663" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="9915" PostTypeId="2" ParentId="8471" CreationDate="2012-01-26T16:04:26.377" Score="0" Body="&lt;p&gt;current major shift in db architecture is rise of key-value stores which seem to distribute/scale easier over the cloud (or new highly multicore chips) than relational db's &amp;amp; work well in large modern web sites such as facebook. they are now provided/supported on the basic cloud service sites ie amazon/google app engine. see eg:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.readwriteweb.com/enterprise/2009/02/is-the-relational-database-doomed.php&quot; rel=&quot;nofollow&quot;&gt;is the relational database doomed?&lt;/a&gt; ReadWriteWeb&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://gigaom2.files.wordpress.com/2011/07/facebook-tilera-whitepaper.pdf&quot; rel=&quot;nofollow&quot;&gt;Many-Core Key-Value Store&lt;/a&gt; Berezecki,Frachtenberg,Paleczny [Facebook], Steele [Tilera]. a paper examining a key-value db &amp;amp; measuring performance statistics on various multicore chips from 4 (intel xeon) to 64 (tilera)&lt;/p&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2012-01-26T16:04:26.377" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9916" PostTypeId="1" CreationDate="2012-01-26T17:03:22.547" Score="7" ViewCount="262" Body="&lt;p&gt;Is anything known about the complexity of the following problem beyond membership in PTIME: Given a finite Markov chain $M$, an initial state $q_0$ and a set $F$ of (absorbing) states, is the probability of eventually reaching $F$ from $q_0$ greater than (or equal to) $\frac{1}{2}$?&lt;/p&gt;&#xA;" OwnerUserId="5874" LastEditorUserId="1037" LastEditDate="2012-01-26T18:00:09.490" LastActivityDate="2012-01-26T18:00:09.490" Title="Complexity of reachability in Markov Chains" Tags="&lt;cc.complexity-theory&gt;&lt;time-complexity&gt;&lt;markov-chains&gt;" AnswerCount="0" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="9919" PostTypeId="1" AcceptedAnswerId="9924" CreationDate="2012-01-26T19:30:55.477" Score="4" ViewCount="682" Body="&lt;p&gt;Consider the class of all languages $L$ that have a randomized algorithm $A$ that runs in worst-case polynomial time such that for any input $x$ if $x \in L$ then $Pr[A(x)\quad \textrm{accepts}] \ge 1/2 - \epsilon_1$; otherwise $Pr[A(x) \quad \textrm{accepts}] \le \epsilon_2$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there any $\epsilon_1 \ge 0$ and $\epsilon_2 &amp;gt; 0$ that make this class equal to BPP? If it is, what are the largest values $\epsilon_1$ and $\epsilon_2$ that we can get (perhaps, relative to each other)?&lt;/p&gt;&#xA;" OwnerUserId="3495" LastActivityDate="2012-01-27T01:05:22.930" Title="BPP Error Reduction" Tags="&lt;complexity-classes&gt;&lt;randomized-algorithms&gt;" AnswerCount="1" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="9922" PostTypeId="2" ParentId="174" CreationDate="2012-01-26T21:06:15.500" Score="8" Body="&lt;p&gt;Is Quasi-Polynomial Time in PSPACE? &lt;/p&gt;&#xA;" OwnerUserId="1590" LastActivityDate="2012-01-26T21:06:15.500" CommentCount="1" CommunityOwnedDate="2012-01-26T21:06:15.500" ContentLicense="CC BY-SA 3.0" />
  <row Id="9923" PostTypeId="1" AcceptedAnswerId="12933" CreationDate="2012-01-26T21:54:52.263" Score="22" ViewCount="2301" Body="&lt;p&gt;The celebrated &lt;a href=&quot;http://en.wikipedia.org/wiki/Yao&amp;#39;s_principle&quot; rel=&quot;nofollow noreferrer&quot;&gt;Yao's Minimax Principle&lt;/a&gt; states the relation between distributional complexity and randomized complexity. Let $P$ be a problem with a finite set $\mathcal{X}$ of inputs and a finite set $\mathcal{A}$ of deterministic algorithm to solve $P$.&#xA;Also let $\mathcal{D}$ denote the input distribution and let $\mathcal{R}$ denote the probability distribution on $\mathcal{A}$.&#xA;Then the principle states&#xA;$$\min_{A\in\mathcal{A}}\quad\mathbb{E} cost(A,\mathcal{D}) \leq \max_{x\in\mathcal{X}}\quad\mathbb{E} cost(\mathcal{R},x) \quad\quad\text{for all $\mathcal{D}$ and $\mathcal{R}$}.$$&#xA;This proof directly follows from von Neumann's minimax theorem for zero-sum games.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Mostly Yao's principle deals with &lt;a href=&quot;http://en.wikipedia.org/wiki/Las_Vegas_algorithm&quot; rel=&quot;nofollow noreferrer&quot;&gt;Las Vegas algorithms&lt;/a&gt; only, but it can be generalized to &lt;a href=&quot;http://en.wikipedia.org/wiki/Monte_Carlo_algorithm&quot; rel=&quot;nofollow noreferrer&quot;&gt;Monte Carlo algorithms&lt;/a&gt; as follows.&#xA;$$\frac12 \min_{A\in\mathcal{A}}\quad\mathbb{E} cost_{2\epsilon}(A,\mathcal{D}) \leq \max_{x\in\mathcal{X}}\quad\mathbb{E} cost_{\epsilon}(\mathcal{R},x)\quad\quad\text{for all $\mathcal{D}$, $\mathcal{R}$ and $\epsilon\in [0,1/2]$}$$&#xA;where $cost_\epsilon(\cdot,\cdot)$ denotes the cost of Monte Carlo algorithms that errs probability at most $\epsilon$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In &lt;a href=&quot;http://dx.doi.org/10.1109/SFCS.1977.24&quot; rel=&quot;nofollow noreferrer&quot;&gt;Yao's original paper&lt;/a&gt;, the relation for Monte Carlo algorithms is given at Theorem 3 without proof. Any hint for proving it?&lt;/p&gt;&#xA;" OwnerUserId="7411" LastEditorUserId="21001" LastEditDate="2018-07-10T12:43:00.337" LastActivityDate="2018-07-10T12:43:00.337" Title="Yao's Minimax Principle on Monte Carlo Algorithms" Tags="&lt;randomized-algorithms&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="10" ContentLicense="CC BY-SA 4.0" />
  <row Id="9924" PostTypeId="2" ParentId="9919" CreationDate="2012-01-26T23:11:58.790" Score="6" Body="&lt;p&gt;Set $\epsilon&amp;#39;_1 := 1/2 - \epsilon_1$. Run $A$ independently $T$ times. If the fraction of accepts exceeds $\epsilon&amp;#39;_1$ (falls below $\epsilon_2$), then accept (reject). Otherwise output a random guess. Use Chernoff bounds to show that the probability of ending up with a wrong value is exponentially small in $T$, more precisely the error probability can be upper bounded by $\exp(-T |\epsilon&amp;#39;_1 - \epsilon_2| )$. Therefore as long as $|\epsilon&amp;#39;_1 - \epsilon_2| \geq 1/\mathrm{poly}(n)$ (in other words, $\epsilon_1 + \epsilon_2  \leq 1/2 - 1/\mathrm{poly}(n)$), you can choose a polynomially bounded $T$ to bring the error probability below $1/3$.&lt;/p&gt;&#xA;" OwnerUserId="6190" LastEditorUserId="6190" LastEditDate="2012-01-27T01:05:22.930" LastActivityDate="2012-01-27T01:05:22.930" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="9925" PostTypeId="5" CreationDate="2012-01-27T00:28:44.433" Score="0" Body="&lt;p&gt;Questions about definitions, terms, and common names in theoretical computer science.&lt;/p&gt;&#xA;" OwnerUserId="1037" LastEditorUserId="1037" LastEditDate="2012-01-27T08:43:56.947" LastActivityDate="2012-01-27T08:43:56.947" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9926" PostTypeId="4" CreationDate="2012-01-27T00:28:44.433" Score="0" Body="questions about definitions, terms, and common names in theoretical computer science." OwnerUserId="1037" LastEditorUserId="1037" LastEditDate="2012-01-27T08:43:55.730" LastActivityDate="2012-01-27T08:43:55.730" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9927" PostTypeId="5" CreationDate="2012-01-27T00:31:57.547" Score="0" Body="&lt;p&gt;General questions about selecting a best element from some set of available alternatives.&lt;/p&gt;&#xA;" OwnerUserId="1037" LastEditorUserId="1037" LastEditDate="2012-01-27T08:44:01.207" LastActivityDate="2012-01-27T08:44:01.207" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9928" PostTypeId="4" CreationDate="2012-01-27T00:31:57.547" Score="0" Body="general questions about selecting a best element from some set of available alternatives." OwnerUserId="1037" LastEditorUserId="1037" LastEditDate="2012-01-27T08:43:57.943" LastActivityDate="2012-01-27T08:43:57.943" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9929" PostTypeId="5" CreationDate="2012-01-27T00:34:03.347" Score="0" Body="&lt;p&gt;Practical questions about doing research in theoretical computer science&lt;/p&gt;&#xA;" OwnerUserId="1037" LastEditorUserId="1037" LastEditDate="2012-01-27T08:43:34.840" LastActivityDate="2012-01-27T08:43:34.840" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9930" PostTypeId="4" CreationDate="2012-01-27T00:34:03.347" Score="0" Body="practical questions about doing research in theoretical computer science" OwnerUserId="1037" LastEditorUserId="1037" LastEditDate="2012-01-27T08:43:59.083" LastActivityDate="2012-01-27T08:43:59.083" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9931" PostTypeId="5" CreationDate="2012-01-27T00:36:17.087" Score="0" Body="&lt;p&gt;Questions about attaining and maintaining a career in fields related to theoretical computer science&lt;/p&gt;&#xA;" OwnerUserId="1037" LastEditorUserId="1037" LastEditDate="2012-01-27T08:43:48.007" LastActivityDate="2012-01-27T08:43:48.007" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9932" PostTypeId="4" CreationDate="2012-01-27T00:36:17.087" Score="0" Body="questions about attaining and maintaining a career in fields related to theoretical computer science" OwnerUserId="1037" LastEditorUserId="1037" LastEditDate="2012-01-27T08:43:59.927" LastActivityDate="2012-01-27T08:43:59.927" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9934" PostTypeId="1" AcceptedAnswerId="9948" CreationDate="2012-01-27T04:17:43.917" Score="20" ViewCount="1067" Body="&lt;p&gt;IP=PSPACE is listed as the canonical example of a non-relativizing result, and the proof for this is that there exists an oracle $O$ such that ${\sf coNP}^O \not\subseteq {\sf IP}^O$, while ${\sf coNP}^O \subseteq {\sf PSPACE}^O$ for all oracles $O$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, I've seen only a few people give a &quot;direct&quot; explanation for why the ${\sf IP} = {\sf PSPACE}$ result does not relativize, and the usual answer is &quot;arithmetization&quot;. Upon inspection of the proof of IP=PSPACE, that answer isn't &lt;em&gt;false&lt;/em&gt;, but it isn't satisfactory to me. It seems that the &quot;real&quot; reason traces itself back to the proof that the problem TQBF - true quantified boolean formula - is complete for PSPACE; to prove that, you need to show that you can encode configurations of a PSPACE machine in a polynomial-sized format, and (this seems to be the non-relativizing part) you can encode &quot;correct&quot; transitions between configurations in a polynomial-sized boolean formula - this uses a Cook-Levin-style step.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The intuition that I've developed is that non-relativizing results are ones that poke around with the nitty gritty of Turing Machines, and the step where TQBF is shown to be complete for PSPACE is where this poking around happens - and the arithmetization step could've only happened because you had an explicit boolean formula to arithmetize.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This appears to me to be the fundamental reason that IP=PSPACE is non-relativizing; and the folklore mantra that arithmetization techniques don't relativize seems to be a byproduct of that: the only way to arithmetize something is if you have a boolean formula that encodes something about TMs in the first place! &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there something I'm missing? As a subquestion - does this mean all results that use TQBF in some way also do not relativize?&lt;/p&gt;&#xA;" OwnerUserId="170" LastEditorUserId="170" LastEditDate="2012-01-27T06:57:13.297" LastActivityDate="2012-01-27T19:53:05.663" Title="What's the &quot;real&quot; reason that IP=PSPACE is non-relativizing?" Tags="&lt;cc.complexity-theory&gt;&lt;interactive-proofs&gt;&lt;relativization&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="9935" PostTypeId="1" CreationDate="2012-01-27T07:08:26.603" Score="-6" ViewCount="252" Body="&lt;p&gt;(λa.(λb.λc.b))&#xA;and&#xA;(λa.λb.λc.b)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I was wondering if someone could explain, using mostly English, what that lambda-calculus expression is supposed to mean, and whether there is any difference between the two given above.&lt;/p&gt;&#xA;" OwnerUserId="8125" LastActivityDate="2012-01-27T10:10:35.233" Title="Lambda Calculus - are these two expressions equivalent?" Tags="&lt;lambda-calculus&gt;" AnswerCount="1" CommentCount="3" ClosedDate="2012-03-13T05:06:25.637" ContentLicense="CC BY-SA 3.0" />
  <row Id="9936" PostTypeId="2" ParentId="9935" CreationDate="2012-01-27T09:01:34.160" Score="3" Body="&lt;p&gt;It's the same. In $λa.(λb.(λc.b))$ brackets are not mandatory because there is no other way to parse $λa.λb.λc.b$ with λ-calculus syntax:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$t ::= x \mid λx.t \mid t\,t$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In English, your term is a function which returns a function which returns a function. It's roughly the same as a function which takes three arguments. Except that application must be done in three successive steps. (And in your case, the result is nothing more than the second argument.)&lt;/p&gt;&#xA;" OwnerUserId="5967" LastEditorUserId="5967" LastEditDate="2012-01-27T10:10:35.233" LastActivityDate="2012-01-27T10:10:35.233" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9937" PostTypeId="1" CreationDate="2012-01-27T10:47:34.440" Score="3" ViewCount="132" Body="&lt;p&gt;I am looking for any approximation results for unrelated multiprocessor scheduling problem with precedence constraints (minimizing makespan), i.e. $R|prec|C_{max}$, with the constraint that some tasks need to run together on the same processor. I searched a lot and the closest constraint I could find was that some tasks have to run on certain processors. I need to group tasks in classes such that each class must run on the same processor. Note that the precedence constraints prevent collapsing each class into a single big task.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would like to find any literature on the problem  (or any non-trivial relaxation, for example removing the precedence constraints will allow the classes of tasks to be treated as one task).&lt;/p&gt;&#xA;" OwnerUserId="7925" LastActivityDate="2012-01-30T09:36:13.773" Title="Approximation results on scheduling under an uncommon constraint" Tags="&lt;approximation-algorithms&gt;&lt;approximation-hardness&gt;&lt;scheduling&gt;" AnswerCount="2" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9938" PostTypeId="1" AcceptedAnswerId="10186" CreationDate="2012-01-27T13:41:43.767" Score="12" ViewCount="3390" Body="&lt;p&gt;I'm looking for a fast algorithm to compute maximum flow in dynamic graphs. i.e given a graph $G=(V,E)$ and $s,t\in V$ we have maximum flow $F$ in $G$ from $s$ to the $t$. Then new/old node $u$ added/deleted with its corresponding edges to form a graph $G^1$. What is a maximum flow in newly created graph? Is there a way to prevent from recalculating maximum flow?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any preprocessing which isn't very time/memory consuming is appreciated.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Simplest idea is recalculating the flow.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another simple idea is as this, save all augmenting paths which used in previous maximum flow calculation, for adding a vertex $v$, we can find simple paths (in updated capacity graph by previous step) which start from source, goes to the $v$ then goes to the destination, but problem is, this path should be simple, I couldn't find better than $O(n\cdot m)$ for this case, for $m=|E|$. (Also note that if it was just one path this could be done in $O(n+m)$ but it's not so.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also for removing node above idea doesn't work.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also I already saw papers such as &lt;a href=&quot;http://www.springerlink.com/content/l6327v2804q524r5/&quot; rel=&quot;nofollow&quot;&gt;Incremental approach for edges&lt;/a&gt;, but seems they are not good enough in this case, it's more than $O(m)$ for each edge and seems is not suitable extension in this case (we just recalculate a flow). Also currently I'm using &lt;a href=&quot;http://en.wikipedia.org/wiki/Ford%E2%80%93Fulkerson_algorithm&quot; rel=&quot;nofollow&quot;&gt;Ford-Fulkerson maximum flow algorithm&lt;/a&gt; If there is better option for online algorithms, it's good to know it.&lt;/p&gt;&#xA;" OwnerUserId="1846" LastEditorUserId="1846" LastEditDate="2014-08-07T12:26:25.083" LastActivityDate="2014-08-07T12:26:25.083" Title="Incremental Maximum Flow in Dynamic graphs" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;" AnswerCount="4" CommentCount="8" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="9939" PostTypeId="1" AcceptedAnswerId="9947" CreationDate="2012-01-27T14:08:33.820" Score="3" ViewCount="321" Body="&lt;p&gt;Imagine a stripped down functional programming language, that has the following properties&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The only value type is an integer&lt;/li&gt;&#xA;&lt;li&gt;There are no side effects&lt;/li&gt;&#xA;&lt;li&gt;Functions are defined as a single expression, value of which becomes the return value of the function.&lt;/li&gt;&#xA;&lt;li&gt;Program consists of zero or more function definitions and an expression. The expression can be defined in terms of the previously defined functions. Value of that evaluated expression is the result of the program.&lt;/li&gt;&#xA;&lt;li&gt;Aside from simple arithmetic, there is only an if then else fi expression&lt;/li&gt;&#xA;&lt;li&gt;The only way to do looping is through recursion&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;A program can then look like&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;f(x) = r(x+1,1)&#xA;r(x,y) = if x-(y*y) then r(x,y+1) else y*y fi&#xA;&#xA;f(2)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;so &lt;code&gt;f()&lt;/code&gt; computes the second power of the given argument.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is, whether it is possible with current automated tools to prove theorems about such programs without human assistance. And what exactly?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is it for example possible to automatically say for sure that for two functions &lt;code&gt;f&lt;/code&gt; and &lt;code&gt;g&lt;/code&gt; for every x: &lt;code&gt;f(x)&lt;/code&gt; = &lt;code&gt;g(x)&lt;/code&gt; ?&lt;/p&gt;&#xA;" OwnerUserId="7610" LastEditorUserId="2185" LastEditDate="2012-01-27T19:44:12.090" LastActivityDate="2012-02-11T22:19:23.163" Title="Automatic proofs or model checking in an extremely simplified functional language" Tags="&lt;lo.logic&gt;&lt;pl.programming-languages&gt;&lt;functional-programming&gt;&lt;automated-theorem-proving&gt;" AnswerCount="3" CommentCount="1" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="9940" PostTypeId="1" CreationDate="2012-01-27T14:17:59.627" Score="16" ViewCount="1491" Body="&lt;p&gt;A permutation phrase is an extension to the standard (E)BNF context free grammar definitions: a permutation phrase $\{ A_1, \dots, A_n \}$ contains $n$ productions (or equivalently, nonterminals) $A_1$ through $A_n$. At the position of the permutation phrase, we'd like to see every one of these productions exactly once, but we are not interested in the ordering of these nonterminals.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;S &amp;lt;- X { A, B, C } Y&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;is equivalent to:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;S &amp;lt;- X  A B C  Y&#xA;S &amp;lt;- X  A C B  Y&#xA;S &amp;lt;- X  B A C  Y&#xA;S &amp;lt;- X  B C A  Y&#xA;S &amp;lt;- X  C A B  Y&#xA;S &amp;lt;- X  C B A  Y&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;The concept seems to be introduced in &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=176454.176490&quot;&gt;&quot;Extending context-free grammars with permutation phrases&quot;&lt;/a&gt;. Therein it is also described how to parse these phrases in linear time using an LL(1) parser.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The paper &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=1030338&quot;&gt;&quot;Parsing permutation phrases&quot;&lt;/a&gt; describes a method for parsing permutation phrases using parser combinators. These are the only two papers I've found that talk about permutation phrases and how to parse them.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Seeing that we can easily parse these kinds of permutation phrases with LL(1) based parsers, my guess would be that we can do the same with LR(1) style parsers. My question is therefore:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Can a grammar containing permutation phrases be parsed in time linear in the input string size using LR(1) machinery while maintaining a reasonably sized table?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Permutation phrases do not extend the power of context-free languages: as in my example above one can simply enumerate all possible permutations. However, the grammar then explodes as the resulting grammar can be of size $O(|G|!)$. This allows linear time parsing, but the size of the grammar becomes way too large.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The above approach works for any parsing algorithm (although it is not useful), so maybe we can do better for specific algorithms. We can reduce the blowup to 'merely' exponential ($O(2^{|G|})$) by encoding the phrases into the LR table: we can have LR items encode which productions have yet to be seen, and therefore reduce the blowup to all subsets of the permutation phrases.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Although this is better, it is of course not good enough - having a permutation phrase of 30 items would make the grammar unusable. There is still one part of LR parsing we haven't touched yet, and that is the actual stack-based procedure used for parsing. I imagine storing counters on the stack may be able to solve the problem, but I'm not sure how to do that.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm currently implementing a parser generator, and in the problem domain permutation phrases would be a gift from heaven. As I'm using LR(1) machinery, the above question followed.&lt;/p&gt;&#xA;" OwnerUserId="988" LastEditorUserId="988" LastEditDate="2012-01-27T16:23:24.227" LastActivityDate="2017-08-27T22:33:39.883" Title="Permutation phrases with LR parsing" Tags="&lt;ds.algorithms&gt;&lt;fl.formal-languages&gt;&lt;parsing&gt;&lt;context-free&gt;" AnswerCount="2" CommentCount="9" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9942" PostTypeId="1" AcceptedAnswerId="9952" CreationDate="2012-01-27T16:07:31.427" Score="6" ViewCount="378" Body="&lt;p&gt;Lately I have been studying cache-oblivious data structures and algorithms. I was reading about the cache-oblivious B-tree from the &lt;a href=&quot;http://www.cs.au.dk/~gerth/papers/cacheoblivious05.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Handbook of Data Structures and Applications&lt;/a&gt;, with hopes of actually implementing it and doing some benchmarking.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Section 38.3.1 of the book talks about the density based approach. The vEB-layout and the &lt;em&gt;density thresholds&lt;/em&gt; seem fine, but I am missing something (perhaps even trivial) from the updates. The text explains: &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;To insert a new element into the structure we ﬁrst locate the position in $T$ of the new node $w$. If the insertion of $w$ violates the height bound $H$, we rebalance $T$ as follows: First we ﬁnd the lowest ancestor v of w satisfying $γ_i$ ≤ ρ(v) ≤ $τ_i$, where $i$ is the level of $v$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/R5t2h.png&quot; alt=&quot;A complete static tree of height H&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Looking at the figure, let's consider a scenario: suppose we want to insert an item with value 15. We check to see that it cannot be inserted since the height bound $H$ would be violated. Hence we must find the lowest ancestor $v$ of $w$ satisfying the mentioned bounds. If we now work towards the top of tree trying to find a suitable ancestor, we find it immediately (the item with value 13). It clearly satisfies the bounds, since its ρ is 1.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It would make a lot more sense to me if the ancestor at which we should stop is the one with value 8. Right now I see two cases: either I don't know the exact definition of &lt;em&gt;lowest ancestor&lt;/em&gt; or the lowest ancestor $v$ should satisfy &lt;strong&gt;not&lt;/strong&gt; $γ_i$ ≤ ρ(v) ≤ $τ_i$ but $γ_i$ &amp;lt; ρ(v) &amp;lt; $τ_i$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I also took a look at Cache-oblivious B-trees by Bender, Demaine and Farach-Colton. This paper also defines the bound as $γ_i$ ≤ ρ(v) ≤ $τ_i$.&lt;/p&gt;&#xA;" OwnerUserId="5693" LastEditorUserId="5693" LastEditDate="2012-01-27T22:45:03.887" LastActivityDate="2012-01-28T16:34:32.253" Title="Updates on a cache-oblivious B-tree" Tags="&lt;ds.algorithms&gt;&lt;ds.data-structures&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="9943" PostTypeId="2" ParentId="5188" CreationDate="2012-01-27T16:12:40.993" Score="1" Body="&lt;p&gt;winning strategies for various classic board games eg battleship or (more recently) video games have been proven NP complete &amp;amp; this is an excellent way/angle to present/describe some of the core theory to newbies.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.mountainvistasoft.com/docs/BattleshipsAsDecidabilityProblem.pdf&quot; rel=&quot;nofollow&quot;&gt;battleship as a NP complete decision problem&lt;/a&gt; Merlijn Sevenster ICGA journal sep 2004&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://web.mat.bham.ac.uk/R.W.Kaye/minesw/FAQ.htm&quot; rel=&quot;nofollow&quot;&gt;minesweeper is NP complete FAQ&lt;/a&gt; by mathematician RW Kaye. Spring 2000 issue of the Mathematical Intelligencer (volume 22 number 2, pages 9--15)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://arxiv.org/abs/1201.4995&quot; rel=&quot;nofollow&quot;&gt;Gaming is a hard job, but someone has to do it!&lt;/a&gt; arxiv paper by Giovanni Viglietta. analyzes computational complexity of Pac-Man, Tron, Lode Runner, Boulder Dash, Deflektor, Mindbender, Pipe Mania, Skweek, Prince of Persia, Lemmings, Doom, Puzzle Bobble 3, and Starcraft.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.extremetech.com/gaming/115677-pac-man-is-np-hard-same-as-travelling-salesman-problem&quot; rel=&quot;nofollow&quot;&gt;Pacman is hard&lt;/a&gt; extreme tech mag article on above paper&lt;/p&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2012-01-27T16:12:40.993" CommentCount="1" CommunityOwnedDate="2012-01-27T16:12:40.993" ContentLicense="CC BY-SA 3.0" />
  <row Id="9944" PostTypeId="2" ParentId="9937" CreationDate="2012-01-27T16:42:21.287" Score="3" Body="&lt;p&gt;Even without the additional constraints you have the unrelated machine scheduling problem with precedence constraints is not well understood. If I am not mistaken nothing better than a polynomial factor approximation is known. It is an important open problem in approximation algorithms for scheduling problems. Some positive results are known when the precedence constraints form a tree. See the following paper. &lt;a href=&quot;http://www.springerlink.com/content/p8321031hk718413/&quot; rel=&quot;nofollow&quot;&gt;http://www.springerlink.com/content/p8321031hk718413/&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can you solve your problem in the simpler case when the machines are identical or related?&lt;/p&gt;&#xA;" OwnerUserId="176" LastActivityDate="2012-01-27T16:42:21.287" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9945" PostTypeId="2" ParentId="9939" CreationDate="2012-01-27T18:25:05.173" Score="-6" Body="&lt;p&gt;Your language would be crippled for these reasons:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;It has no aggregate data structures, making compositions impossible&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;It is not optimally minimalistic: You should consider integrating the lambda calculus to your language from which you can derive numbers and conditionals among other constructs&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;A program defined as 0 or more definitions does not return; you can define programs as the application of values on anonymous function arguments, so that programs are applied closures, and definitions could then be represented as the binding of a function's arguments to the values returned by the enclosing environment (just before arguments get applied, they are bound to their corresponding values)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;You should definitively learn Scheme...&lt;/p&gt;&#xA;" OwnerUserId="8129" LastActivityDate="2012-01-27T18:25:05.173" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="9946" PostTypeId="2" ParentId="9826" CreationDate="2012-01-27T18:43:17.013" Score="-3" Body="&lt;p&gt;Claims, propositions and statements are all the same; but a jugement is a proposition that has been verified (whether right or wrong), endorsed, or used as a conclusion. No need for fancy formulas like the answers above seem to abuse...&lt;/p&gt;&#xA;" OwnerUserId="8129" LastEditorUserId="8129" LastEditDate="2012-01-27T18:51:27.173" LastActivityDate="2012-01-27T18:51:27.173" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9947" PostTypeId="2" ParentId="9939" CreationDate="2012-01-27T19:43:50.110" Score="8" Body="&lt;p&gt;The &lt;a href=&quot;http://www.cs.utexas.edu/~moore/acl2/&quot;&gt;ACL2 system&lt;/a&gt; includes all of the features of your language, and supports impressive automated theorem proving about program in that language.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In ACL2, you would write the theorem you describe as:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;(defthm f-g-equal (equal (f x) (g x)))&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;having previously defined &lt;code&gt;f&lt;/code&gt; and &lt;code&gt;g&lt;/code&gt;.&lt;/p&gt;&#xA;" OwnerUserId="2185" LastActivityDate="2012-01-27T19:43:50.110" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="9948" PostTypeId="2" ParentId="9934" CreationDate="2012-01-27T19:53:05.663" Score="13" Body="&lt;p&gt;Any answer to a question of the form, &quot;What is the &lt;i&gt;real&lt;/i&gt; reason that...&quot; will necessarily be somewhat subjective.  However, for the particular case of IP = PSPACE, I think that a pretty good case can be made that arithmetization is indeed the key, by observing that while IP = PSPACE does not &lt;i&gt;relativize&lt;/i&gt;, it does &lt;i&gt;algebrize&lt;/i&gt; in the sense of &lt;a href=&quot;http://www.scottaaronson.com/papers/alg.ps&quot;&gt;Aaronson and Wigderson&lt;/a&gt;.  As they explain in their paper, roughly speaking, a complexity class inclusion ${\cal C} \subseteq {\cal D}$ &lt;i&gt;algebrizes&lt;/i&gt; if ${\cal C}^A \subseteq {\cal D}^{\tilde A}$ for all oracles $A$ and all low-degree extensions $\tilde A$ of $A$.  In particular, they show that the inclusion PSPACE $\subseteq$ IP algebrizes, even though it doesn't relativize.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;The intuition that I've developed is that non-relativizing results are ones that poke around with the nitty gritty of Turing Machines&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;This is not a bad intuition, but I think that the Aaronson-Wigderson result shows that the IP = PSPACE proof pokes around in a rather limited way, and certainly not in a sophisticated enough way to prove P $\ne$ NP, since Aaronson and Wigderson also show that non-algebrizing techniques will be required to separate P from NP.&lt;/p&gt;&#xA;" OwnerUserId="2970" LastActivityDate="2012-01-27T19:53:05.663" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="9950" PostTypeId="1" CreationDate="2012-01-27T21:53:45.850" Score="17" ViewCount="667" Body="&lt;h2&gt;Context: relations between logic and automata&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;Büchi's Theorem states that Monadic Second Order logic over strings (MSO) captures the class of regular languages. The proof actually shows that existential MSO ($\exists\text{MSO}$ or &lt;em&gt;EMSO&lt;/em&gt;) over strings is enough to capture regular languages. This might be a bit surprising, since, over general structures, MSO is strictly more expressive than $\exists\text{MSO}$.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;My (original) question: a &lt;em&gt;minimal&lt;/em&gt; logic for regular languages?&lt;/h2&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there a logic which, over general structures, is strictly less expressive than $\exists\text{MSO}$, but that still captures the class of regular languages when considered over strings?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;In particular, I'd like to know what fragment of the regular languages is captured by FO over strings when extended with a least-fixed point operator (FO+LFP). It seems like a natural candidate for what I'm looking for (if it is not $\exists\text{MSO}$).&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;A first answer&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;As per &lt;a href=&quot;https://cstheory.stackexchange.com/a/9968/5396&quot;&gt;@makoto-kanazawa's answer&lt;/a&gt;, both FO(LFP) and FO(TC) capture more than regular languages, where TC is an operator of transitive closure of binary relations. It remains to be seen whether TC can be replaced by another operator or set of operators in such a way that the extension captures exactly the class of regular languages, and no others.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First-order logic alone, as we know, is not enough, since it captures star-free languages, a proper subclass of the regular languages. As a classical example, the language &lt;strong&gt;Parity&lt;/strong&gt;$\;\;=(aa)^*$ cannot be expressed using a FO sentence.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Updated question&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;Here is a new wording of my question, which remains unanswered.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What is the &lt;em&gt;minimal&lt;/em&gt; extension of first-order logic such that FO + this extension, when taken over strings, captures &lt;strong&gt;exactly&lt;/strong&gt; the class of regular languages?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Here, an extension is minimal if it is the least expressive (when taken over general structures) among all extensions that capture the class of regular languages (when taken over strings).&lt;/p&gt;&#xA;" OwnerUserId="5396" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2012-04-11T02:28:42.593" Title="What is the minimal extension of FO that captures the class of regular languages?" Tags="&lt;reference-request&gt;&lt;lo.logic&gt;&lt;regular-language&gt;&lt;finite-model-theory&gt;" AnswerCount="3" CommentCount="7" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="9952" PostTypeId="2" ParentId="9942" CreationDate="2012-01-28T03:52:58.460" Score="2" Body="&lt;p&gt;Perhaps one must consider the parent of the node to be inserted as having weight 2. Then the &quot;find the lowest in-density ancestor&quot; is equivalent to &quot;find the least amount of rebuilding needed to maintain the invariants&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;edit:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the physical world, density is defined as mass divided by volume. This corresponds to the density notion in these cache-oblivious B-trees if we view each &quot;item&quot; as having mass 1 and each location in $\mathcal{T&amp;#39;}$ (the static binary tree) as having volume 1.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Before inserting an item, we want to make sure that once it is in the tree it is in a subtree that is within its prescribed density bounds. We therefore imagine that it is already there in the tree, but taking up no space yet. The reason why we might imagine that it presently takes up no space is that, well, there might not be any space for it to take up right now, as in your example.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To make sure that the tree the new item will be in is within bounds, we need to find its closest ancestor that we actually can rebalance (without increasing the height) and insert the item into while still remaining within the density boundaries. To do so, we find the nearest ancestor that will be within the density boundaries, which means using its current &quot;volume&quot; and its soon-to-be-correct &quot;mass&quot;. To get the latter, we must include an extra unit of mass for the item we are about to insert.&lt;/p&gt;&#xA;" OwnerUserId="43" LastEditorUserId="43" LastEditDate="2012-01-28T16:34:32.253" LastActivityDate="2012-01-28T16:34:32.253" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="9953" PostTypeId="1" CreationDate="2012-01-28T05:41:50.477" Score="1" ViewCount="69" Body="&lt;p&gt;I'm building a mesh network where i need to detect the unexpected disappearance of a peer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Each node attempts to stay in communication with at least X peers. A node refuses connection from another peer if it already has at least Y neighbours. Nodes communicate the IP addresses of their peers on every connection attempt. If a peer disconnects, it will be noted by keep-alives from its neighbours and the disconnection message will make its way around the network.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm a little worried about the case where there are two large clusters of nodes with a single node in the middle. If the sole 'bridge' node between two clusters disappears, the clusters will retain out-of-date information about peers in the other cluster.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there values of X and Y i can choose, or replacement strategies for choosing peers to connect to, such that this behaviour is made impossible or very unlikely? i.e. There are always at least two paths between any pair nodes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I expect the network to grow to such a size where walking every edge is infeasible..&lt;/p&gt;&#xA;" OwnerUserId="8137" LastEditorUserId="8137" LastEditDate="2012-01-28T05:55:47.837" LastActivityDate="2012-01-28T05:55:47.837" Title="Strategies for preventing isolated nodes in a dynamically changing undirected cyclic graph" Tags="&lt;graph-algorithms&gt;&lt;network-modeling&gt;" AnswerCount="0" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9954" PostTypeId="1" CreationDate="2012-01-28T07:54:26.553" Score="11" ViewCount="3050" Body="&lt;p&gt;I recently started my masters course. Last semester I took courses from different disciplines like networks, software engineering, architecture, etc. Recently, after taking an advanced course in algorithms and data structures I think I found a course which interests me most (including other similar topics likes programming languages, etc).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;How do I find a research topic - specific data structure or algorithm I can work on for my thesis, and possibly follow up into a PhD? I am currently looking at some of the research done at my university in the same disciplines.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;edit&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think some people confused the Question due to ambiguous framing from my side.&#xA;I want to find a topic for my masters thesis, I am still somewhat far awaw from starting a PhD(If I do)&lt;/p&gt;&#xA;" OwnerUserId="7355" LastEditorUserId="7355" LastEditDate="2012-01-29T09:02:05.807" LastActivityDate="2018-08-28T20:27:03.710" Title="How to find a specific research topic to concentrate on?" Tags="&lt;soft-question&gt;&lt;career&gt;" AnswerCount="5" CommentCount="1" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="9955" PostTypeId="2" ParentId="9954" CreationDate="2012-01-28T08:06:16.793" Score="8" Body="&lt;p&gt;It's somewhat like shopping for shoes, before you go shopping and try your luck it's hard to tell what you will end up with.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;That said, there are some nice blog posts about this. For example I found this useful back in grad school: &lt;a href=&quot;http://blog.computationalcomplexity.org/2003/04/finding-problems-to-work-on.html&quot;&gt;Finding Problems to Work On&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="6190" LastActivityDate="2012-01-28T08:06:16.793" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9957" PostTypeId="2" ParentId="9954" CreationDate="2012-01-28T09:44:11.300" Score="9" Body="&lt;p&gt;My two cents: find an advisor first, the subject will present itself later. Set meetings with several potential avisors that work in fields you're interested in. Ask them to suggest problems and to present to you the type of topics they are exploring. In my experience, they would gladly talk about their research with a potential PhD student. After a few of those you should probably know the answer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;And one last thing - talk to past students of your potential advisor, it really helped me make a decision.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit: I want to stress that in my opinion, researching by yourself and reading papers on your own as means of deciding what to do in your Master's thesis will result in confusion and frustration more often than not. Guiding one towards current trends and avoiding going in over one's head is exactly the role of one's advisor. Paraphrasing an old lawyer saying: anyone who is advising themselves have a fool for an advisor.&lt;/p&gt;&#xA;" OwnerUserId="7715" LastEditorUserId="7715" LastEditDate="2012-01-28T16:48:21.217" LastActivityDate="2012-01-28T16:48:21.217" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="9958" PostTypeId="1" AcceptedAnswerId="9962" CreationDate="2012-01-28T12:12:04.780" Score="8" ViewCount="341" Body="&lt;p&gt;It's well known that planar graphs from a closed-family with forbidden minors $K_{3,3}, K_{5}$, graphs with bounded treewidth also are closed family graphs with no $H_{k}$ as minor.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I assume that graphs with bounded max cut form closed family graphs. Given arbitrarily graph $G$ that doesn't contain $H$ as a minor, how to find max cut approximately.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Addendum:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The relevant topic can be found on On the complexity of the Maximum Cut problem Chapter 6. Graphs with bounded treewidth. The PTAS begins with making modification to the tree decomposition without increasing it's treewidth.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) $T$ is a binary  tree.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) If a node $i \in I$ has two children $j_{1}$ and $j_{2}$, then $X_{i}=X_{j1}=X_{j2}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;3) If a node $i \in I$ has one child $j$, then either $X_{j} \subset X_{i}$ and $|X_{i}-X_{j}|=1$, or $X_{i} \subset X_{j}$ and $|X_{j}-X_{i}|=1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In my opinion it's very strong modification, and actually I don't get the idea behind this modification. On the 2th condition if I understood rigth, if there is a node with two neighbors then all of then contain actually the same set of the vertexes, but what for?  &lt;/p&gt;&#xA;" OwnerUserId="6788" LastEditorUserId="6788" LastEditDate="2012-01-31T05:11:06.020" LastActivityDate="2012-01-31T05:11:06.020" Title="Max-Cut Of Minor Closed Family" Tags="&lt;graph-algorithms&gt;" AnswerCount="2" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="9959" PostTypeId="2" ParentId="9954" CreationDate="2012-01-28T12:24:47.363" Score="4" Body="&lt;p&gt;If you have good scientists in your field of interest in your university it is better to collaborate with them. However if you are the unlucky guy, you may find nice people, in your topics of interest, around the world and communicate with them w.h.p. they will help you.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is also good to look at Q&amp;amp;A sites like here or open problems in books you are reading during your master study, you can work on them and maybe solve some of them or at least you can try your chance.&lt;/p&gt;&#xA;" OwnerUserId="1846" LastEditorUserId="1846" LastEditDate="2018-08-28T20:27:03.710" LastActivityDate="2018-08-28T20:27:03.710" CommentCount="0" ContentLicense="CC BY-SA 4.0" />
  <row Id="9961" PostTypeId="2" ParentId="9954" CreationDate="2012-01-28T15:36:54.473" Score="16" Body="&lt;p&gt;Let me offer a slight variant of @Shir's answer.  For your &lt;em&gt;first&lt;/em&gt; problem, it really doesn't matter what you work on.  Just pick a random problem out of the air and start working on it.  Do not worry about &quot;finding a thesis&quot;.  Do not worry about &quot;finding an advisor&quot;.  However, you may find more problems floating in the air near active researchers—both faculty and students—than, say, in your apartment or at the library.  And you may find that people are more willing to help you solve your problem (and polish the solution for publication) if it's a problem &lt;em&gt;they&lt;/em&gt; care about.  Talk to everyone.  Listen to everyone.  Read everything.  Then pick your own problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Once you've solved your first problem, start over.  Pick a &lt;em&gt;different&lt;/em&gt; problem, and talk to &lt;em&gt;different&lt;/em&gt; people.  Meanwhile, write up your first solution, and give talks about it, if only to a faculty member or another student or your cat.  Listen to their feedback.  (Meow.)  Practice, practice, practice.  (Don't forget to ace your classes and your qualifying exams.  If necessary, find a faculty member to sign your paperwork.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Once you have experience solving individual problems, &lt;em&gt;then&lt;/em&gt; you can start developing a larger research program (aka a thesis direction).  [This is probably about the point where you finish your MS thesis and start as a PhD student.]  With a two-point sample of problem space, you have a better view of your own talents and interests.  With a multiple-point sample of potential-collaborator-space, you have some idea of what kind of researchers (in particular, what kind of advisor) you work well with.  Having feedback from multiple audiences, you'll have some clue about what problems other people and/or cats care about, and what kind of intuition you're best at conveying.  All that information will help you make more informed decisions about what to work on in the future.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But for your first problem, it &lt;em&gt;really&lt;/em&gt; doesn't matter.  Just pick something you're interested in and start working.&lt;/p&gt;&#xA;" OwnerUserId="111" LastEditorUserId="111" LastEditDate="2012-01-28T16:38:08.297" LastActivityDate="2012-01-28T16:38:08.297" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9962" PostTypeId="2" ParentId="9958" CreationDate="2012-01-28T15:48:03.210" Score="16" Body="&lt;p&gt;MaxCut can be solved in polynomial time in $K_5$-minor-free graphs but is NP-hard in $K_6$-minor-free graphs (in particular, for apex graphs of planar graphs) [&lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/0167637783900160&quot;&gt;Barahona 1983&lt;/a&gt;].&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See also &lt;a href=&quot;http://rutcor.rutgers.edu/~mkaminski/preprints/Max-Cut%20and%20containment%20relations%20in%20graphs.pdf&quot;&gt;this WG 2010 paper&lt;/a&gt; and &lt;a href=&quot;http://rutcor.rutgers.edu/~mkaminski/slides/Max-Cut%20and%20containment%20relations%20in%20graphs.pdf&quot;&gt;slides&lt;/a&gt; by &lt;a href=&quot;http://rutcor.rutgers.edu/~mkaminski/research.html&quot;&gt;Marcin Kamiński&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="111" LastEditorUserId="111" LastEditDate="2012-01-28T16:34:03.200" LastActivityDate="2012-01-28T16:34:03.200" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9963" PostTypeId="2" ParentId="9954" CreationDate="2012-01-28T15:59:14.523" Score="0" Body="&lt;p&gt;My very own personal opinion (wow, what a disclaimer) : finding a thesis advisor, being in a PhD program, all this kind of stuff is not science, this is administrative stuff.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, my advice is to read (a lot of) papers, preprints, blogs and to listen to (a lot of) talks. Then to find some that present work interesting to you, Then to discuss (real life, mail, phone, skype) with the authors of those works and then finally try, if possible, to extend what has been done/find new solutions to the problems you saw.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Afterwards, you may need to (or want to) work with other people, for guidance or for collaboration (or because this is more fun than working alone). At that point you can start looking for the advisor and the rest.&lt;/p&gt;&#xA;" OwnerUserId="76" LastActivityDate="2012-01-28T15:59:14.523" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9964" PostTypeId="1" AcceptedAnswerId="9967" CreationDate="2012-01-28T19:58:40.163" Score="0" ViewCount="235" Body="&lt;p&gt;Consider Turing machines (with the &lt;a href=&quot;http://en.wikipedia.org/wiki/Busy_beaver#The_busy_beaver_game&quot; rel=&quot;nofollow&quot;&gt;Busy Beaver &quot;design specifications&quot;&lt;/a&gt;)&#xA;&lt;br&gt;that must write a 1 whenever they read a 1 (i.e., &quot;write once&quot;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;${}$1. $\:$ Is the halting problem decidable for these machines?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;br&gt;&lt;br&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If those specifications are modified to use a [one-way infinite] tape instead,&#xA;&lt;br&gt;&lt;br&gt;&lt;br&gt;&#xA;${}$2. $\;$ Is the halting problem decidable for the resulting type of machines if they&lt;/p&gt;&#xA;&#xA;&lt;p&gt;a. $\;$ stay where they are&#xA;&lt;br&gt;&#xA;b. $\;$ halt&lt;/p&gt;&#xA;&#xA;&lt;p&gt;whenever they try to move off the end of the tape?&#xA;&lt;br&gt;&lt;br&gt;&lt;/p&gt;&#xA;" OwnerDisplayName="user6973" LastEditorDisplayName="user6973" LastEditDate="2012-01-28T22:26:53.147" LastActivityDate="2012-01-28T22:26:53.147" Title="Halting on a (possibly one-way) write-once tape" Tags="&lt;computability&gt;" AnswerCount="1" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="9965" PostTypeId="1" AcceptedAnswerId="9966" CreationDate="2012-01-28T20:07:38.700" Score="6" ViewCount="406" Body="&lt;p&gt;I recently came across this passage in an &lt;a href=&quot;http://repository.cmu.edu/compsci/1286/&quot; rel=&quot;nofollow&quot;&gt;article by John Reynolds&lt;/a&gt; (emphasis added):&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;...from designers innocent of the principles of programming language design, we have been given a nearly endless succession of “input formats” that seem to be designed to encourage error. (Flawed macro facilities that violate &lt;em&gt;the basic laws of variable binding&lt;/em&gt; are particularly prominent examples.)&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I was happy to come across the phrase in italics because for some time now I've been aware of having precisely this deficiency, but not knowing what to call it, and therefore failing repeatedly at finding a way to remedy it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can someone point me to where I can learn about these &quot;basic laws of variable binding&quot;?&lt;/p&gt;&#xA;" OwnerUserId="3529" LastEditorUserId="2185" LastEditDate="2012-01-29T20:58:15.873" LastActivityDate="2012-02-24T00:35:32.263" Title="Reynolds: &quot;the basic laws of variable binding&quot;" Tags="&lt;pl.programming-languages&gt;&lt;language-design&gt;" AnswerCount="2" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9966" PostTypeId="2" ParentId="9965" CreationDate="2012-01-28T20:28:35.470" Score="8" Body="&lt;p&gt;See chapter 1 of Robert Harper's book &lt;a href=&quot;http://www.cs.cmu.edu/~rwh/plbook/book.pdf&quot;&gt;&lt;em&gt;Practical Foundations of Programming Languages&lt;/em&gt;&lt;/a&gt;. He formalizes syntax with binding operators using the notion of &quot;abstract binding trees&quot;, which IIRC were originally introduced in the Nuprl proof assistant. The main keyword you need to find further information is &quot;alpha-equivalence&quot;. &lt;/p&gt;&#xA;" OwnerUserId="657" LastActivityDate="2012-01-28T20:28:35.470" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9967" PostTypeId="2" ParentId="9964" CreationDate="2012-01-28T22:19:40.300" Score="2" Body="&lt;p&gt;Ad 1. Write-once TMs are equivalent to ordinary TMs (I think this is an exercise in Sipser, but I don't have the text at hand to confirm) so $\rm woBB$ is uncomputable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Ad 2. No. The usual zipper encoding also works for write-once TMs, so write-once TMs that never move past the end of the one-way infinite tape are equivalent those with two-way infinite tape. Therefore $\rm owwoBB$ is uncomputable, and the choice of behaviour when moving past the end of the tape doesn't affect this.&lt;/p&gt;&#xA;" OwnerUserId="3158" LastActivityDate="2012-01-28T22:19:40.300" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9968" PostTypeId="2" ParentId="9950" CreationDate="2012-01-28T22:32:17.173" Score="12" Body="&lt;p&gt;FO(LFP) captures PTIME on ordered structures, and strings are ordered structures.  So the languages definable by FO(LFP) include all regular languages and much much more.&#xA;&lt;a href=&quot;http://dx.doi.org/10.1016/S0019-9958(86)80029-8&quot;&gt;http://dx.doi.org/10.1016/S0019-9958(86)80029-8&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Ebbinghaus and Flum's textbook contains an exercise that asks to show FO(TC^1) (first-order logic extended with transitive closures of binary relations) is equivalent to MSO on strings. In the same exercise, $\{ a^n b^n \mid n \geq 1 \}$ is used as an example to show FO(TC^2) is more expressive than MSO on strings.  All FO(TC) formulas are clearly equivalent to FO(LFP) formulas.&lt;/p&gt;&#xA;" OwnerUserId="8177" LastActivityDate="2012-01-28T22:32:17.173" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9969" PostTypeId="1" AcceptedAnswerId="9971" CreationDate="2012-01-29T00:35:23.073" Score="17" ViewCount="6358" Body="&lt;p&gt;I'm working on a problem set for a class, and thought of a question related to what I was working on. &lt;strong&gt;Is there a minimum number of states that a finite automaton must have in order to accept binary strings that represent numbers divisible by an integer n?&lt;/strong&gt; In an earlier problem set, I was able to construct a DFA that accepted binary strings divisible by 3 with 3 states. Is this a coincidence, or is there something inherent to the general problem of detecting strings divisible by n that suggests a minimum number of states? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I promise this will not answer a homework question for me! :)&lt;/p&gt;&#xA;" OwnerUserId="8146" LastActivityDate="2016-07-24T16:04:13.060" Title="Finite automata that accept binary strings divisible by n" Tags="&lt;automata-theory&gt;" AnswerCount="2" CommentCount="11" FavoriteCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="9971" PostTypeId="2" ParentId="9969" CreationDate="2012-01-29T03:47:02.417" Score="32" Body="&lt;p&gt;There is a known formula for minimum number of states for such a finite automaton. This depends on $n$ as well as the radix $R$ of the underlying positional representation. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $n$ is coprime to $R$, then the minimal number of states is $n$. However, when $n$ shares a factor with the radix then the situation is rather complicated. See Mathematica Journal Vol 3 Issue 11. &lt;a href=&quot;http://www.mathematica-journal.com/data/uploads/2011/01/Sutner.pdf&quot;&gt;&quot;Divisibility and State Complexity&quot;&lt;/a&gt; by Klaus Sutner.&lt;/p&gt;&#xA;" OwnerUserId="5538" LastEditorUserId="6959" LastEditDate="2012-01-31T19:20:51.030" LastActivityDate="2012-01-31T19:20:51.030" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="9972" PostTypeId="1" CreationDate="2012-01-29T07:54:12.567" Score="8" ViewCount="1954" Body="&lt;p&gt;We're working on a paper that presents some algorithms for finding triangles and network motifs (constant size subgraphs, also known as graphlets) in a distributed setting. We characterize the tradeoff between the number of triangles in the graph and the communication load necessary. I am looking for references to work done on this question in the centralized model. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem is that nearly everything I found on this topic that had a theoretical flavor to it was within the framework of &lt;a href=&quot;http://en.wikipedia.org/wiki/Property_testing&quot;&gt;property testing&lt;/a&gt;. To illustrate the difference - consider the case of a graph with $n$ vertices, that is comprised of $n-2$ triangles all sharing the edge $\left(1,2\right)$. From the point of view of property testing, this graph is very close to be triangle-free (removing that critical edge does the job), whereas it has a linear number of triangles, which is a lot by our standards.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any references at all will be appreciated.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit:&lt;/strong&gt; I'm mainly interested in algorithms that can determine whether the graph contains triangles quickly. For triangle (or other subgraph) listing algorithms, the running time is naturally bounded from below by the number of triangles in the graph, as the algorithm needs to list them all, making such instances harder in a sense. From the point of view of a decision problem (&quot;triangle-free or not&quot;), having many triangles actually makes the problem easier, since you can easily find one.&lt;/p&gt;&#xA;" OwnerUserId="7715" LastEditorUserId="7715" LastEditDate="2012-01-29T09:11:26.997" LastActivityDate="2012-01-30T13:19:09.370" Title="Finding triangles in a graph: other approaches besides property testing?" Tags="&lt;reference-request&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;" AnswerCount="3" CommentCount="8" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="9973" PostTypeId="2" ParentId="9972" CreationDate="2012-01-29T08:59:19.507" Score="9" Body="&lt;p&gt;For several references for the problem of testing for the existence of a triangle (exactly, not in the property testing framework), see &lt;a href=&quot;http://en.wikipedia.org/wiki/Triangle-free_graph#Triangle_finding_problem&quot;&gt;Triangle-free graph&lt;/a&gt; on Wikipedia. In particular Alon, Yuster, and Zwick (ESA'94) give an O(m^{1.41}) algorithm, and it can also be done in fast matrix multiplication time which is better for dense graphs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you're ok with something in the dynamic graph algorithms setting, I also have one for counting the triangles: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The h-index of a graph and its application to dynamic subgraph statistics, D. Eppstein and E. S. Spiro, &lt;a href=&quot;http://arxiv.org/abs/0904.3741&quot;&gt;arXiv:0904.3741&lt;/a&gt; and WADS 2009.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In our paper we cite Chiba and Nishizeki (SICOMP 1985) and Itai and Rodeh (SICOMP 1978) for the basic static-algorithm facts that a graph with m edges can have at most O(m^{3/2}) triangles in the worst case and that they can be listed in that amount of time.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2012-01-29T08:59:19.507" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9974" PostTypeId="2" ParentId="9937" CreationDate="2012-01-29T11:52:03.200" Score="2" Body="&lt;p&gt;Have you tried to look for what already existed in the field of Scheduling with Communication Cost? If you choose some of the communication cost to be $+\infty$, then it seems to me that it is exactly your problem. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A communication cost is defined on an edge between two tasks $T$, $T&amp;#39;$ as:&#xA;$$&#xD;&#xA;\text{comm}(T,T&amp;#39;)= &#xD;&#xA;\left \{ &#xD;&#xA;\begin{array}{ll}&#xD;&#xA;0 &amp;amp; \text{if alloc}(T)=\text{alloc}(T&amp;#39;)\\&#xD;&#xA;c(T,T&amp;#39;) &amp;amp; \text{otherwise.}&#xD;&#xA;\end{array}&#xD;&#xA;\right.&#xD;&#xA;$$&#xA;Where the function $c$ is a well-defined cost function (in your case it could be $0$ or $+\infty$, depending on your constraints), and $\text{alloc}(T)$ is the function that states the processor on which $T$ is scheduled.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can read the work of &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.37.111&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;nofollow&quot;&gt;Hanen, and Munier&lt;/a&gt; which is more adapted for small communication delays, however since in the general case your communication delays are small, it might be possible to adapt their algorithm. In the worst case you can check on scholar who cites their paper, it may be a good start for bibliographical work.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;You could also check the key-words scheduling with security constraints; it seems that your problem could be justified with security reasons (when a computation has been done, you do not want some part of the result to be communicated in case someone were to intercept the communication). So maybe you could check in some security-based conferences (such as SAFECOMP).&lt;/p&gt;&#xA;" OwnerUserId="4873" LastEditorUserId="4873" LastEditDate="2012-01-30T09:36:13.773" LastActivityDate="2012-01-30T09:36:13.773" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="9975" PostTypeId="2" ParentId="9958" CreationDate="2012-01-29T14:01:16.660" Score="9" Body="&lt;p&gt;There is a PTAS for H-minor-free classes of graphs that follows from the paper &lt;em&gt;Algorithmic graph minor theory: Decomposition, approximation, and coloring&lt;/em&gt; by Erik D. Demaine, Mohammad Taghi Hajiaghayi, and Ken-ichi Kawarabayashi in FOCS 2005.&lt;/p&gt;&#xA;" OwnerUserId="8152" LastActivityDate="2012-01-29T14:01:16.660" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9978" PostTypeId="2" ParentId="9896" CreationDate="2012-01-29T19:02:15.630" Score="6" Body="&lt;p&gt;If $n &amp;gt; \binom{d}{d/2} \approx \frac{2^d}{\sqrt{\pi d/2}}$ then we know that the set is not an antichain by Sperner's lemma, and so the decision version of the problem becomes trivial. But it might be interesting to consider the case where $n$ is close to that value.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Friedgut's work on the Erdős-Ko-Rado theorem shows that given the characteristic vector $f$ of a family of subsets of $[m]$, one can find in time $O(m2^m)$ whether $f$ is an intersecting family (every two elements of $f$ intersect). More generally, his method allows us to compute&#xA;$$ \Sigma = \sum_{x,y \in f} S(x,y), $$&#xA;where $S(x,y) \geq 0$ is some (specific) known function which is non-zero only if $x,y$ are disjoint. $S(x,y)$ depends only on the histogram of $\{(x_i,y_i) : i \in [d]\}$, where $x_i$ is the indicator for $i \in x$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(As an aside, we comment that his method also works if we are given two families $f,g$, and are interested in $\Sigma = \sum_{x\in f, y\in g} S(x,y)$. In both cases, we need to compute the $p$-skewed Fourier-Walsh transforms of $f,g$ for an arbitrary $p \in (0,1/2)$, and then $\Sigma = \sum_x T(x) \hat{f}(x) \hat{g}(x)$, where $T(x)$ depends only on the Hamming weight of $x$.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;How does all this relate to the problem at hand? Consider the family&#xA;$$ F = \{ S_i \cup \{x\} : i \in [n] \} \cup \{ \overline{S_i} \cup \{y\} : i \in [n] \}. $$&#xA;Every $S_i \cup \{x\}$ is disjoint from every $\overline{S_i} \cup \{y\}$. Since $S(x,y)$ is given explicitly, we can compute the contribution of these pairs to $\Sigma$. Are there any more disjoint pairs? If $S_i \cup \{x\}$ is disjoint from $\overline{S_j} \cup \{y\}$ then $S_i \cap \overline{S_j} = \emptyset$ and so $S_i \subseteq S_j$. So $S_1,\ldots,S_n$ is an antichain iff&#xA;$$ \Sigma = \sum_{i=1}^n S(S_i \cup \{x\}, \overline{S_i} \cup \{y\}). $$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This algorithm runs in time $\tilde{O}(n + 2^d)$, ignoring factors polynomial in $d$. When $n$ is close to $2^d$, this is significantly better than $\tilde{O}(n^2)$. In general, we get an improvement as long as $n = \omega(2^{d/2})$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given that we know that a pair satisfying $S_i \subseteq S_j$ exists, how do we find it? Suppose we divide all sets $S_1,\ldots,S_n$ into two groups $G_1,G_2$ at random. With probability roughly $1/2$, the sets $S_i$ and $S_j$ will find themselves in the same group. If we are so lucky, we can run our algorithm on $G_1$ and $G_2$, find in which one do these belong to, and so halve the number of sets we need to consider. If not, we can try again. This shows that with an expected number of $O(\log n)$ oracle calls to the decision version, we can actually find a pair satisfying $S_i \subseteq S_j$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We can also derandomize the algorithm. Without loss of generality, suppose $n = 2^k$. In each step, we partition according to the each of the $k$ bits. One of these partitions will always put $x$ and $y$ in the same part, unless they have opposite polarities; we can test for this explicitly using only $O(nd)$ operations. This gives a deterministic algorithm using $O(\log^2 n)$ oracle calls to the decision version.&lt;/p&gt;&#xA;" OwnerUserId="40" LastActivityDate="2012-01-29T19:02:15.630" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="9979" PostTypeId="2" ParentId="9972" CreationDate="2012-01-29T20:57:48.837" Score="2" Body="&lt;p&gt;I don't exactly understand your question in terms of your final objective. However, you could consider the FPT version of the triangle packing problem, if that helps in someway in your problem. In particular, you could consider Edge Disjoint Triangle Packing(EDTP) or Vertex Disjoint Triangle Packing(VDTP) and kernelize the instance of the graph to O(k) or O(k^2) respectively in terms of number of vertices. You could also kernelize on the number of triangles [O(k^3)]. After kernelization, it would be easier to analyse the triangles in the graph instance.&lt;/p&gt;&#xA;" OwnerUserId="3816" LastActivityDate="2012-01-29T20:57:48.837" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9980" PostTypeId="2" ParentId="9965" CreationDate="2012-01-29T20:57:59.257" Score="6" Body="&lt;p&gt;Reynolds is referring to so-called &lt;em&gt;unhygenic&lt;/em&gt; macros, as found in traditional Lisp implementations, including modern Common Lisp.  The basic problem is that a variable referenced in a macro might change behavior when the macro is used, or that a variable seemingly bound around a macro use could be inadvertently captured by the macro.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;These issues were first remedied in macro systems for Scheme, in particular Kohlbecker et al's 1986 paper &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=319838.319859&quot;&gt;&lt;em&gt;Hygenic Macro Expansion&lt;/em&gt;&lt;/a&gt;, and improved by Clinger and Rees' 1991 paper &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=99583.99607&quot;&gt;&lt;em&gt;Macros that Work&lt;/em&gt;&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="2185" LastActivityDate="2012-01-29T20:57:59.257" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9981" PostTypeId="2" ParentId="9896" CreationDate="2012-01-29T21:36:10.960" Score="9" Body="&lt;p&gt;If you're interested in set families with $n = \omega(2^{d/2})$, then an another solution conceptually very similar to the one outlined in Yuval's answer is to compute &lt;em&gt;zeta transform&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$f\zeta(T) = \sum_{S \subseteq T} f(S)\,,$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where $f \colon 2^{[d]} \to \mathbb{R}$ is the indicator function of the input family $\mathcal{F} = \{ S_1, S_2, \dotsc, S_n \}$. That is, $f(S) = 1$ if $S \in \mathcal{F}$ and $f(S) = 0$ otherwise. Clearly there are sets $S_i \not= S_j$ such that $S_i \subseteq S_j$ if and only if $f\zeta(S) &amp;gt; 1$ for some $S \in \mathcal{F}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The zeta transform can be computed in time $O(d2^d)$ using Yates's algorithm, see for example Knuth's TAOCP, vol. 2, §4.6.4. The algorithm itself is a fairly straightforward dynamic programming, and it is easy to modify it to give an example of an included set if one exists. &lt;/p&gt;&#xA;" OwnerUserId="290" LastActivityDate="2012-01-29T21:36:10.960" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="9982" PostTypeId="1" AcceptedAnswerId="9991" CreationDate="2012-01-29T23:16:12.453" Score="18" ViewCount="821" Body="&lt;p&gt;By a classic result of Kuroda, the complexity class &lt;a href=&quot;http://en.wikipedia.org/wiki/Linear_bounded_automaton&quot;&gt;NSPACE[$n$]&lt;/a&gt; (also known as NLIN-SPACE) is precisely the class CSL of &lt;a href=&quot;http://en.wikipedia.org/wiki/Context-sensitive_language&quot;&gt;context-sensitive languages&lt;/a&gt;.  The satisfiability problem &lt;a href=&quot;http://en.wikipedia.org/wiki/Boolean_satisfiability_problem&quot;&gt;SAT&lt;/a&gt; is in NSPACE[$n$], since a linear-sized guess for a solution can be checked with at most a linear amount of overhead for book-keeping.  This means that SAT must have a &lt;a href=&quot;http://en.wikipedia.org/wiki/Context-sensitive_grammar&quot;&gt;context-sensitive grammar&lt;/a&gt; (CSG).&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Has anyone attempted to provide a CSG for SAT?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I realise many questions related to CSLs are undecidable (for instance deciding if a given CSG generates the empty language).  Even given a CSG for SAT one would still have to overcome the obstacle that deciding membership in the language given by a CSG is PSPACE-complete in general.  &lt;strike&gt;But it might be the case that the membership problem for the CSG that defines SAT is in NP, due to some special structure of the language.&lt;/strike&gt;  &lt;em&gt;Rephrasing, to address comment by MCH:&lt;/em&gt; But it might be the case that the membership problem for the CSG that defines SAT could be shown to be in NP due to some special structure of the grammar, and not because we already know it must be in NP.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;S.-Y. Kuroda, &lt;em&gt;Classes of languages and linear-bounded automata&lt;/em&gt;, Information and Control &lt;strong&gt;7&lt;/strong&gt;(2) 207–223, 1964.  doi:&lt;a href=&quot;http://dx.doi.org/10.1016/S0019-9958%2864%2990120-2&quot;&gt;10.1016/S0019-9958(64)90120-2&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;h2&gt;Clarification:&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;The intended focus here is the special feature of the grammar for SAT which allows it to be recognized by an NTIME[poly($n$)] machine, rather than the NSPACE[$n$] $\subseteq$ DTIME[$2^{O(n)}$] bound.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The proof of Theorem 3 in Landweber's 1963 paper constructs a CSG from a linear-bounded automaton.  (Kuroda provided the converse, constructing a linear-bounded automaton for any CSG.)  However, Landweber's procedure does not seem to yield a grammar for SAT that is of special form: all NSPACE[$n$] recognizers are treated in the same generic way.  In other words, it is not clear why the SAT CSG should have an NP membership problem, rather than being PSPACE-complete.  I was hoping for a more explicit construction that uses the NP-ness of SAT in some essential way.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Perhaps a better, more precise, question is whether:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;there exists a linear-bounded automaton that recognizes SAT,&lt;/li&gt;&#xA;&lt;li&gt;from which one can extract a CSG,&lt;/li&gt;&#xA;&lt;li&gt;so that the language defined by the CSG is in NP due to some feature of the grammar (and not because we already know it is in NP)?&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;In the intervening five decades, surely someone has tried to do this!  Since I can't find anything published along these lines, I would be interested in understanding why this approach did not work, or a pointer to work I have missed.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Peter S. Landweber, &lt;em&gt;Three theorems on phrase structure grammars of type 1&lt;/em&gt;, Information and Control &lt;strong&gt;6&lt;/strong&gt;(2) 131–136, 1963.  doi:&lt;a href=&quot;http://dx.doi.org/10.1016/S0019-9958%2863%2990169-4&quot;&gt;10.1016/S0019-9958(63)90169-4&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="109" LastEditorUserId="109" LastEditDate="2012-01-30T09:02:35.217" LastActivityDate="2012-01-30T11:46:32.993" Title="Context-sensitive grammar for SAT?" Tags="&lt;cc.complexity-theory&gt;&lt;fl.formal-languages&gt;&lt;sat&gt;&lt;space-bounded&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="9983" PostTypeId="1" AcceptedAnswerId="9984" CreationDate="2012-01-30T00:12:47.697" Score="3" ViewCount="391" Body="&lt;p&gt;We are able to perform universal computations with the reversible model. Basically, during the computations, no information should be erased, so that no involved entropy increase would occur.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are reversible computations alone sufficient to create a complete computer? The machine should be able to:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;load programs,&lt;/li&gt;&#xA;&lt;li&gt;handle user input,&lt;/li&gt;&#xA;&lt;li&gt;provide an output.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I suspect that, for example reading user's input requires information deletion which cannot be avoided. &lt;/p&gt;&#xA;" OwnerUserId="7918" LastEditorUserId="109" LastEditDate="2012-01-31T17:55:48.580" LastActivityDate="2012-01-31T23:59:02.197" Title="Can reversible computations alone be used to create a computer?" Tags="&lt;universal-computation&gt;&lt;shannon-entropy&gt;" AnswerCount="2" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="9984" PostTypeId="2" ParentId="9983" CreationDate="2012-01-30T00:29:10.740" Score="9" Body="&lt;p&gt;You need workspace (registers set to 0) to read the user's input. Once you've read it, and completed the program, the user needs to erase the input and the output in order to restore the workspace. However, if you assume that the user wants to keep a copy of the input and the output, this is possible to do reversibly.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Similarly for the program, to erase the program from the computer there needs to be another copy stored somewhere.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you don't allow any reversible operations between the user and the computer, and you insist that everything be done reversibly, then you can't load input into the computer, and you have a useless machine.&lt;/p&gt;&#xA;" OwnerUserId="1677" LastActivityDate="2012-01-30T00:29:10.740" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="9985" PostTypeId="2" ParentId="9896" CreationDate="2012-01-30T02:24:45.660" Score="8" Body="&lt;p&gt;This problem can be solved by using an algorithm for fast matrix multiplication, and I also suspect it is computationally equivalent to matrix multiplication (although I don't know of any way to prove this, and I don't think techniques for proving this exist). This solution would have a running time of O(n^{2.373}) when n=d, and other running times for other relations between d and n.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is how you solve it using matrix multiplication: You write the characteristic vectors of the sets in the rows of an n by d matrix A, and the characteristic vectors of the complements of the sets in the columns of a d by n matrix B. You then multiply A by B. The pairs of sets that intersect are exactly the locations of the product A*B that are equal to zero.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the best running time known for this problem, see the paper of Huang and Pan on the subject. If I remember correctly, when d becomes large enough, the running time will become the obviously-optimal O(nd). For n=d, you'll have a running time of O(n^{2.373}). For other relations of n and d, you will get other values. If an optimal algorithm for rectangular matrix multiplication exists, you'll will get an algorithm with running time O(n^2+nd) for your problem. I suspect there is no better way than this to solve your problem, but I am far from sure.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This solution is probably not of practical use, since the constants of these algorithms is too large. Strassen's algorithm might give an improvement over the naive solution for reasonable values of n and d, but I'm not even sure about that. However, problems that seem so related to matrix multiplication seem to rarely have combinatorial algorithms that are better than the naive algorithm (by more than polylogarithmic factors), so if I had to guess, I would guess that there's no good algorithm for your problem that is significantly better than the naive one, using current-day techniques.&lt;/p&gt;&#xA;" OwnerUserId="8159" LastActivityDate="2012-01-30T02:24:45.660" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9990" PostTypeId="1" CreationDate="2012-01-30T10:33:27.390" Score="7" ViewCount="1438" Body="&lt;p&gt;I want to calculate all-pairs shortest paths on a graph with roughly 50,000 nodes representing a city-wide road network.  &lt;a href=&quot;https://cstheory.stackexchange.com/questions/9804/all-pair-shortest-path-problem-for-large-number-of-nodes/9814#9814&quot;&gt;An answer to my previous question&lt;/a&gt; led me to Hiroki Yanagisawa's paper &quot;&lt;a href=&quot;http://www.research.ibm.com/trl/people/yanagis/papers/IPDPS2010_yanagisawa.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;A multi-source label-correcting algorithm for the all-pairs shortest paths problem&lt;/a&gt;&quot; [IPDPS 2010] which is performing really well.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But what about updates?  I couldn't produce a technique which can update the shortest paths quickly when the weight of an edge changes.  On researching, I came across a paper &quot;&lt;a href=&quot;http://u.cs.biu.ac.il/~liamr/papers/OnDynamicShortestPath.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;On Dynamic Shortest Path problems&lt;/a&gt;&quot;, which states that &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Reductions that show that the incremental and decremental single-source&#xA;  shortest-paths problems, for weighted directed or undirected&#xA;  graphs, are, in a strong sense, at least as hard as the static all-pairs&#xA;  shortest-paths problem. &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;So the question is: &lt;b&gt;Are there useful heuristic approaches to solve this problem?&lt;/b&gt;&lt;/p&gt;&#xA;" OwnerUserId="6897" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2012-02-01T21:47:33.050" Title="Edge-weight updates in all pair shortest path problem" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;" AnswerCount="2" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="9991" PostTypeId="2" ParentId="9982" CreationDate="2012-01-30T11:38:14.610" Score="9" Body="&lt;p&gt;Though not directly constructing a context sensitive grammar for SAT, the following paper might shed some light.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;W. C. Rounds, &lt;em&gt;Complexity of recognition in intermediate Level languages&lt;/em&gt;, Switching and Automata Theory, 1973, 145-158 &lt;a href=&quot;http://dx.doi.org/10.1109/SWAT.1973.5&quot;&gt;http://dx.doi.org/10.1109/SWAT.1973.5&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The paper by Rounds gives a one-way nondeterministic stack automaton (1-NSA) recognizing SAT, and then shows the membership problem of 1-NSA (and its proper superset, Aho's Indexed Grammar) is in general in NP. In other words, SAT as a CSL/linear-bounded-automata is special in the sense that it uses its memory only as a stack.&lt;/p&gt;&#xA;" OwnerUserId="8167" LastEditorUserId="8167" LastEditDate="2012-01-30T11:46:32.993" LastActivityDate="2012-01-30T11:46:32.993" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="9992" PostTypeId="2" ParentId="9972" CreationDate="2012-01-30T13:13:35.100" Score="3" Body="&lt;p&gt;In the comments to &lt;a href=&quot;https://cstheory.stackexchange.com/questions/9972/finding-triangles-in-a-graph-other-approaches-besides-property-testing/9973#9973&quot;&gt;David Eppstein's answer&lt;/a&gt; you ask for the domain of query complexity. I think what you describe has no papers written on it, because it has a trivial (deterministic, or randomized) query complexity lower bound of $\Omega(n^2)$ (where $n$ is the number of vertexes, so $O(n^2)$ is input size, and thus max query complexity). &lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;If you want to see why, consider the following graph family: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Define a graph $G_{0}$ as: there is a special vertex $v$, and two partitions $X$ and $Y$ of size $(n - 1)/2$. There is an edges between each vertex in $X$ and $v$ and between each vertex in $Y$ and $v$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For $i \in X$ and $j \in Y$ define a graph $G_{ij}$ as $G_0$ with the edge $ij$ added.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$G_0$ has not triangles, and each $G_{ij}$ has 1 triangle. Given the promise that you graphs is either $G_0$ or $G_{ij}$ for some $i$ and $j$ is obviously equivalent to unordered search on $(n - 1)^2/4$ objects (the edges).&lt;/p&gt;&#xA;" OwnerUserId="1037" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2012-01-30T13:19:09.370" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="9993" PostTypeId="1" AcceptedAnswerId="9997" CreationDate="2012-01-30T14:29:37.060" Score="12" ViewCount="1538" Body="&lt;p&gt;What is the difference of calling $\lambda$-calculus an algebra instead of a calculus? I raise this question because I read somewhere the line &quot;$\lambda$-calculus is not a calculus but an algebra&quot; (iirc, attributed to Dana Scott). What is the point? Thanks.&lt;/p&gt;&#xA;" OwnerUserId="656" LastEditorUserId="5396" LastEditDate="2012-01-30T19:25:21.633" LastActivityDate="2012-02-24T06:18:06.890" Title="What is the point of calling $\lambda$-calculus an algebra?" Tags="&lt;soft-question&gt;&lt;lambda-calculus&gt;" AnswerCount="6" CommentCount="1" FavoriteCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="9995" PostTypeId="2" ParentId="9993" CreationDate="2012-01-30T15:49:30.960" Score="3" Body="&lt;p&gt;There is no such thing as &lt;em&gt;a calculus&lt;/em&gt;, but there is a well-defined mathematical object called &lt;em&gt;algebra&lt;/em&gt;, though the word &lt;a href=&quot;http://mathworld.wolfram.com/Algebra.html&quot; rel=&quot;nofollow&quot;&gt;has many uses&lt;/a&gt;. However, my guess is that the name was given in the sense of&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;(...) the abstract study of number systems and operations within them.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;since, in $\lambda$-calculus, you define objects (&lt;em&gt;terms&lt;/em&gt;, which you may call &lt;em&gt;numbers&lt;/em&gt;) and operations within those objects.&lt;/p&gt;&#xA;" OwnerUserId="5396" LastActivityDate="2012-01-30T15:49:30.960" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="9996" PostTypeId="2" ParentId="9993" CreationDate="2012-01-30T17:15:06.283" Score="5" Body="&lt;p&gt;While it is true that the notion of &quot;calculus&quot; is less well-defined than the notion of an &quot;algebra&quot;, broadly &quot;calculus&quot; generally implies a process of calculation, while algebras have patterns of construction with equational theories.&lt;br&gt;&#xA;You could say there is more of a feeling that algebras &quot;already exist&quot; as structures and we are merely uncovering truths about them, rather than using some method to produce new answers that didn't exist before.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you think about what Scott was trying to accomplish with Scott domains, his statement makes sense:  he was trying to find predefined mathematical and algebraic structures that would serve as a fixed semantics for LC.  He wanted to do away the feeling that the meaning of a term was whatever happened to come out of a particular process.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You might be interested in a previous answer about a related question:  &lt;a href=&quot;https://cstheory.stackexchange.com/questions/3577/what-constitutes-denotational-semantics/3583#3583&quot;&gt;What constitutes denotational semantics?&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="629" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.743" LastActivityDate="2012-01-30T17:15:06.283" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="9997" PostTypeId="2" ParentId="9993" CreationDate="2012-01-30T18:33:48.713" Score="15" Body="&lt;p&gt;A calculus is a system of computation based on the manipulation of symbolic expressions. An algebra is a system of symbolic expressions and relations between them[*]. That is, a calculus is a system for figuring out answers, and an algebra is a way of expressing the relations between terms. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The $\lambda$-calculus is either a calculus or an algebra, depending on whether you want to think of the $\beta$ and $\eta$ rules as oriented reduction rules or unoriented equations. If you think of the rules as being oriented, then you have fixed an evaluation order, and the rules tell you how to take a term and produce a normal form. If you think of the rules as being unoriented, then they give you the equality relation on $\lambda$-terms.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[*] There is also a categorical definition of algebra, which is a formal definition somewhat more restrictive than the informal idea. Loosely speaking, the difference is that the formal definition of algebra encompasses just those systems without variable binding. So SKI combinators form an algebra, but the $\lambda$-calculus doesn't. &lt;/p&gt;&#xA;" OwnerUserId="657" LastActivityDate="2012-01-30T18:33:48.713" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="9998" PostTypeId="1" CreationDate="2012-01-30T18:55:32.167" Score="6" ViewCount="301" Body="&lt;p&gt;What work has been done on approximation schemes for $\mathsf{P}$-complete optimization problems? Would the desired approximation algorithms here be &quot;fully log-space approximation schemes&quot; or &quot;fully $\mathsf{NC}$ approximation schemes&quot;, analogous to $\mathsf{FPTAS}$ for $\mathsf{NP}$ optimization problems?&lt;/p&gt;&#xA;" OwnerUserId="4193" LastEditorUserId="4193" LastEditDate="2012-02-06T16:40:42.763" LastActivityDate="2012-02-06T16:40:42.763" Title="Approximation schemes for P-complete problems?" Tags="&lt;reference-request&gt;&lt;approximation-algorithms&gt;&lt;optimization&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="9999" PostTypeId="1" AcceptedAnswerId="10005" CreationDate="2012-01-30T19:42:36.017" Score="2" ViewCount="488" Body="&lt;p&gt;We are so used to von neumann architecture and say a register machine like the x86. (Also with   programming languages built for those machines x86 assembly, C, etc)  Is that approach to computing completely separate from a language and system like haskell?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What would a machine look like that was based functional programming paradigms look like? and  one not running on a register or stack machine.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This article is relevant to my question:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.stanford.edu/class/cs242/readings/backus.pdf&quot; rel=&quot;nofollow&quot;&gt;http://www.stanford.edu/class/cs242/readings/backus.pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="4776" LastEditorUserId="4776" LastEditDate="2012-01-31T14:19:13.520" LastActivityDate="2012-01-31T14:19:13.520" Title="Are register based machines on von neumann architecture diametrically opposed to functional programming style?" Tags="&lt;pl.programming-languages&gt;&lt;big-picture&gt;" AnswerCount="2" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="10000" PostTypeId="2" ParentId="9993" CreationDate="2012-01-30T20:25:16.103" Score="6" Body="&lt;p&gt;There is a quite precise definition of what an algebra is in category theory: see &lt;a href=&quot;http://en.wikipedia.org/wiki/F-algebra&quot;&gt;this article&lt;/a&gt; for instance. It took a few years to understand how a structure with bound variables could be understood in the same context as the &lt;a href=&quot;http://en.wikipedia.org/wiki/Term_algebra&quot;&gt;term algebra structure&lt;/a&gt; commonly used in mathematics and computer science, and it turns out that the categorical concept of F-algebras is capable of unifying the two. I am not sure bout the historical aspects of the solution but one possible approach is the presheaf algebras introduced by Fiore, Plotkin and Turi (available &lt;a href=&quot;http://www.dcs.ed.ac.uk/~dt/abstractsyn.ps&quot;&gt;here&lt;/a&gt;) settled the question and spurred different but similar approaches, see e.g. &lt;a href=&quot;http://arxiv.org/abs/0704.2900&quot;&gt;Hirshowitz et al.&lt;/a&gt; and his phd student &lt;a href=&quot;http://tel.archives-ouvertes.fr/tel-00535944/fr/&quot;&gt;Julianna Zsido&lt;/a&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some exiting research remains to be done on how to use the categorical concepts to refactor and deepen our understanding of structures with bound variables, in the hopes of eliminating syntactic &quot;cruft&quot; which usually comprises the most boring chapters of theses on $\lambda$-calculi and related structures.&lt;/p&gt;&#xA;" OwnerUserId="3984" LastActivityDate="2012-01-30T20:25:16.103" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="10001" PostTypeId="2" ParentId="9993" CreationDate="2012-01-30T20:32:04.493" Score="10" Body="&lt;p&gt;Traditionally, an algebra is a carrier set with operations that satisfy some equations (think &quot;group&quot;). There are many ways in which the notion can be generalized:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;em&gt;multi-sorted&lt;/em&gt; algebras have several carrier sets. An example would be a module $M$ over a ring $R$, where we want to consider the whole thing as a single algebra. Another, rather silly example, is a directed graph, which has two carrier sets, $E$ of edges and $V$ of vertices, and two operations, source $s : E \to V$ and target $E \to V$, satisfying no equations.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;em&gt;more general axioms&lt;/em&gt; which are not just equations may be allowed. For example, the axioms for a field are all equations except for $x \neq 0 \implies x \cdot x^{-1} = 1$. Another example is something like an integral domain.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;em&gt;more general operations&lt;/em&gt; may be allowed, in particular ones of infinite arity, or higher-order operations which take functions as arguments. An example of an infinitary operation is the $M$ in &lt;a href=&quot;http://www.cs.bham.ac.uk/~mhe/.talks/map2011/martin_map.pdf&quot;&gt;midpoint algebras&lt;/a&gt; of Martin Escardo and Alex Simpson. If you go far in this direction you arrive at monads.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;In this sense the untyped $\lambda$-calculus is an algebra because it is specified in terms of a carrier set with some (higher-order) operations satisfying some equations ($\beta$ and $\eta$).&lt;/p&gt;&#xA;" OwnerUserId="705" LastActivityDate="2012-01-30T20:32:04.493" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10002" PostTypeId="1" CreationDate="2012-01-31T00:37:41.013" Score="9" ViewCount="215" Body="&lt;p&gt;Search engines are increasingly being relied on as information gatekeepers, yet the criteria used by search engines to rank results is opaque to users. How can users be sure their results aren't biased or tampered with in some way to benefit some interest at the expense of search result quality?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Governments routinely demand that search providers remove or lower the ranking of websites deemed politically undesirable. Businesses may pay providers to boost certain results over others to increase their revenues. Firewalls may meddle with results before they're transmitted back to users.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Even seemingly innocuous changes to ranking algorithms that might not on the surface appear to be biased, could actually be deviously designed to harm websites that share some common attribute (unrelated to actual quality).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is it possible to detect search engine bias, by say monitoring results over a period of time and evaluating whether some &quot;hidden variable&quot; (perhaps a political affiliation) is a driving factor in the change in website rankings?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A sneaky provider may gradually over time lower the ranking of targeted websites (and perhaps random websites as well to distract users). What are the limits on how much bias a provider can introduce without detection? Or is it possible to always conceal such interference by deviously selecting weighted ranking criteria that incidentally produce the intended result (by way of &quot;data snooping&quot;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does any of this change if the ranking criteria is made public? Do we need to open-source the criteria search engines use?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This reminds me of the result that detecting whether or not a complex financial instrument such as a CDO has been tampered with by the seller is equivalent to solving the densest-subgraph problem:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.cs.princeton.edu/~rongge/derivative.pdf&quot;&gt;http://www.cs.princeton.edu/~rongge/derivative.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks!&lt;/p&gt;&#xA;" OwnerUserId="8175" LastEditorUserId="969" LastEditDate="2012-01-31T01:22:29.153" LastActivityDate="2012-01-31T03:53:47.940" Title="Is there a way to detect search engine bias?" Tags="&lt;ds.algorithms&gt;&lt;data-mining&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="10003" PostTypeId="2" ParentId="9999" CreationDate="2012-01-31T01:02:06.660" Score="2" Body="&lt;p&gt;The abstract machine would look like i.e. the &lt;a href=&quot;http://en.wikipedia.org/wiki/Lambda_calculus&quot; rel=&quot;nofollow&quot;&gt;untyped lambda calculus&lt;/a&gt; or the &lt;a href=&quot;http://en.wikipedia.org/wiki/SKI_combinator_calculus&quot; rel=&quot;nofollow&quot;&gt;SKI combinator&lt;/a&gt; or just some kind of a &lt;a href=&quot;http://en.wikipedia.org/wiki/Lisp_%28programming_language%29&quot; rel=&quot;nofollow&quot;&gt;LISP&lt;/a&gt; dialect.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In hardware it would probably look like a biologic cell, calculating via pattern matching on the genes in the core – directly running that LISP dialect. (You might like to read this blog entry: &lt;a href=&quot;http://www.thinkgene.com/new-computer-language-based-on-lisp-enables-biological-modeling/&quot; rel=&quot;nofollow&quot;&gt;&quot;New computer language based on Lisp enables biological modeling&quot;&lt;/a&gt;)&lt;/p&gt;&#xA;" OwnerUserId="2117" LastActivityDate="2012-01-31T01:02:06.660" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10004" PostTypeId="2" ParentId="9950" CreationDate="2012-01-31T03:17:20.057" Score="7" Body="&lt;p&gt;It's Exercise 8.6.3 on page 221 of the second edition of Ebbinghaus and Flum's textbook, &lt;i&gt;Finite Model Theory&lt;/i&gt;.  The notation FO(TC$^r$) is explained there.  FO(TC$^r$) can form the transitive closure of a $2r$-ary relation, regarded as a binary relation on $r$-tuples.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I found some more references you might be interested in.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;FO(TC$^1$) is called FO(MTC) (first-order logic with monadic transitive closure) in &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=1706598&quot;&gt;ten Cate and Segoufin's 2010 paper&lt;/a&gt;.  It proves, among other things, FO(MTC) is strictly less expressive than MSO on finite trees.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.springerlink.com/content/5l466173q574j788/&quot;&gt;Bargury and Makowsky's 1992 paper&lt;/a&gt; shows that &lt;i&gt;deterministic&lt;/i&gt; monadic transitive closure—FO(DTC$^1$) in Ebbinghaus and Flum's notation—suffices to define regular string languages (see Theorem 5 in this paper).&lt;/p&gt;&#xA;" OwnerUserId="8177" LastActivityDate="2012-01-31T03:17:20.057" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10005" PostTypeId="2" ParentId="9999" CreationDate="2012-01-31T03:34:48.413" Score="9" Body="&lt;p&gt;Many hardware designs for executing functional programs have been proposed:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Lisp_machine&quot;&gt;The Lisp Machine&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Steele and Sussman's Scheme &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=359031&amp;amp;coll=portal&amp;amp;dl=ACM&quot;&gt;chip design&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;The &lt;a href=&quot;http://www.cs.york.ac.uk/fp/reduceron/&quot;&gt;Reduceron&lt;/a&gt;, by Naylor and Runciman&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;and more (lots are cited in the Reduceron papers).&lt;/p&gt;&#xA;" OwnerUserId="2185" LastActivityDate="2012-01-31T03:34:48.413" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10006" PostTypeId="2" ParentId="10002" CreationDate="2012-01-31T03:53:47.940" Score="3" Body="&lt;p&gt;This is obviously a very open ended question, but so as to stay on topic, here is one CS theory approach to the idea of &quot;fairness&quot; and how to enforce it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&quot;Fairness Through Awareness&quot; Dwork, Hardt, Pitassi, Reingold, Zemel&#xA;&lt;a href=&quot;http://arxiv.org/abs/1104.3913&quot; rel=&quot;nofollow&quot;&gt;http://arxiv.org/abs/1104.3913&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="25" LastActivityDate="2012-01-31T03:53:47.940" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10008" PostTypeId="1" CreationDate="2012-01-31T14:05:05.977" Score="1" ViewCount="202" Body="&lt;p&gt;In a general for loop of the form:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;for (i = 0, i &amp;lt;= n, i++) {&#xA;    for (j = i, j &amp;lt;= n, j++)&#xA;        ...&#xA;    for (k = i, k &amp;lt;= n, k++)&#xA;        ...&#xA;}&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;What form do the inequalities representing the iteration space take? Or what convex polyhedron represents this?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Background&lt;/strong&gt;&#xA;I am looking at the &lt;em&gt;Dragon Book&lt;/em&gt;'s chapter on parallelisation. This talks in detail of nested loops of the form:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;for (i = 0, i &amp;lt;= n, i++) {&#xA;    for (j = i, j &amp;lt;= n, j++)&#xA;       ...&#xA;}&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;but not of the form described at the top.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The iteration space of d-deep nested loops can be represented as:&#xA;$$&#xD;&#xA;\{ i \in \mathbb{Z}^d \mid Bi + b \geq 0 \}&#xD;&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where B is a $d \times d $ integer matrix and b is a vector of length $d$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is basically do I have to do anything different when a loop contains multiple inner loops not nested within each other?&lt;/p&gt;&#xA;" OwnerUserId="1633" LastEditorUserId="1633" LastEditDate="2012-02-01T23:44:11.397" LastActivityDate="2012-02-01T23:44:11.397" Title="How is the iteration space of a nested for-loop containing two sequential nested loops represented?" Tags="&lt;dc.parallel-comp&gt;&lt;compilers&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="10009" PostTypeId="2" ParentId="10008" CreationDate="2012-01-31T15:09:29.630" Score="3" Body="&lt;p&gt;This isn't really my area, but I think you want to Google for &quot;the polytope model&quot; or &quot;the polyhedral model&quot;, and specifically for &quot;affine-by-statement scheduling&quot;. The basic idea is that iterations in a loop nested $d$ deep are turned into a $d$-dimensional polytope, and that each iteration is a point within the polytope. You can then look at data dependencies between the iterations to figure out how to parallelize code (which turn out to correspond to affine transformations of the polytope). &lt;/p&gt;&#xA;" OwnerUserId="657" LastActivityDate="2012-01-31T15:09:29.630" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10010" PostTypeId="1" CreationDate="2012-01-31T15:55:48.367" Score="14" ViewCount="591" Body="&lt;p&gt;I am implementing some system part of which requires some help. I am therefore framing it as a graph problem to make it domain independent. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Problem:&lt;/strong&gt; We are given directed acyclic graph $G=(V,E)$.  Without loss of generality assume that $G$ has exactly one source vertex $s$ and exactly one sink vertex $t$; let $P$ denote the set of all directed paths from $s$ to $t$ in $G$.  We are also given a set of vertices $R \subseteq V$.  The problem is to assign non-negative integer weights to the edges of $G$, so any two paths in $P$ have the same weight if and only if they contain the same subset of vertices in $R$.  (The weight of a path is the sum of the weights of its edges.)  The range of weights of paths in $P$ should be as small as possible.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Currently my approach does not seems efficient; I am just looking for some references to literature or some good insights. Anything otherwise is also appreciated.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit:&lt;/strong&gt; Is there a hardness proof for this problem? Does the compact numbering always exists? &lt;/p&gt;&#xA;" OwnerUserId="5153" LastEditorUserId="111" LastEditDate="2012-02-13T12:49:32.113" LastActivityDate="2012-02-13T12:49:32.113" Title="Exact Algorithm for edge labeling problem in DAG" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;co.combinatorics&gt;&lt;graph-algorithms&gt;&lt;directed-acyclic-graph&gt;" AnswerCount="1" CommentCount="15" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10011" PostTypeId="1" CreationDate="2012-01-31T16:30:33.440" Score="15" ViewCount="288" Body="&lt;p&gt;&lt;strong&gt;Preamble.&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The complexity class &lt;a href=&quot;http://en.wikipedia.org/wiki/Arthur%E2%80%93Merlin_protocol#AM&quot;&gt;&lt;strong&gt;AM&lt;/strong&gt;&lt;/a&gt; are those problems which can be solved by a two-round interactive proof system between a prover &quot;Merlin&quot; and a verifier &quot;Arthur&quot;. A problem &amp;mdash; which tests some property of an object &lt;em&gt;X&lt;/em&gt; &amp;mdash; is in &lt;strong&gt;AM&lt;/strong&gt; if:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;For &lt;em&gt;YES&lt;/em&gt; instances, for a random &quot;challenge&quot; message (of polynomial length) Arthur generates, with high probability Merlin can formulate a (polynomial length) reply which Arthur can use as evidence that &lt;em&gt;X&lt;/em&gt; has the property;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;For &lt;em&gt;NO&lt;/em&gt; instances, for a random challenge message Arthur generates, with high probability Merlin cannot formulate any reply which can be used as evidence for the property being tested for on &lt;em&gt;X&lt;/em&gt;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;&amp;mdash; The class described doesn't change if we require Merlin to give a useful answer not just with high probability, but for &lt;em&gt;any&lt;/em&gt; challenge that Arthur may issue; we might say in this case that we require Merlin's answer always to be &lt;em&gt;valid&lt;/em&gt; for &lt;em&gt;YES&lt;/em&gt; instances, and what Arthur tests is the validity of the answer. So if Merlin ever produces an invalid response, Arthur knows that the problem instance is a &lt;em&gt;NO&lt;/em&gt; instance. This is the setting I'd prefer to consider.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An example is Graph Non-Isomorphism: given graphs &lt;em&gt;G&lt;/em&gt; and &lt;em&gt;H&lt;/em&gt; with the same set of vertex labels, Arthur can randomly select one of the graphs and produce a &quot;scrambled&quot; version &lt;em&gt;F&lt;/em&gt; by permuting its vertex labels, sending a presentation of it to Merlin. If the two graphs are non-isomorphic, Merlin can identify which of &lt;em&gt;G&lt;/em&gt; or &lt;em&gt;H&lt;/em&gt; Arthur chose by determining whether &lt;em&gt;F&lt;/em&gt;&amp;nbsp;&amp;cong;&amp;nbsp;&lt;em&gt;G&lt;/em&gt; or &lt;em&gt;F&lt;/em&gt;&amp;nbsp;&amp;cong;&amp;nbsp;&lt;em&gt;H&lt;/em&gt;, and can respond by identifying which of the two &lt;em&gt;F&lt;/em&gt; is isomorphic to. If the two graphs &lt;em&gt;G&lt;/em&gt; and &lt;em&gt;H&lt;/em&gt; are isomorphic, however, Merlin cannot distinguish which graph &lt;em&gt;F&lt;/em&gt; came from, and any answer he gives can only be correct by chance. Thus, for &lt;em&gt;YES&lt;/em&gt; instances Merlin can always send a valid response to any challenge; for &lt;em&gt;NO&lt;/em&gt; instances any  response which Merlin might send will be with high probability invalid.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the above problem, not only does there exist a valid response that Merlin can issue to Arthur for each challenge, but in fact there is a &lt;em&gt;unique&lt;/em&gt; valid response: &lt;em&gt;i.e.&lt;/em&gt;&amp;nbsp;indicate which of &lt;em&gt;G&lt;/em&gt; or &lt;em&gt;H&lt;/em&gt; Arthur chose, given that this can be determined by identifying which is isomorphic to &lt;em&gt;F&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question.&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does imposing a constraint along these lines &amp;mdash; that for &lt;em&gt;YES&lt;/em&gt; instances, for any challenge Arthur might send, there is &lt;em&gt;exactly one&lt;/em&gt; valid response for Merlin &amp;mdash; yield a more restrictive class, in the sense of yielding a class which is not known to equal &lt;strong&gt;AM&lt;/strong&gt;?&lt;/p&gt;&#xA;" OwnerUserId="248" LastEditorUserId="248" LastEditDate="2012-01-31T16:50:56.957" LastActivityDate="2019-03-23T18:50:20.527" Title="Does requiring uniqueness of valid answers for Merlin limit the power of Arthur-Merlin protocols?" Tags="&lt;cc.complexity-theory&gt;&lt;interactive-proofs&gt;&lt;unique-solution&gt;" AnswerCount="1" CommentCount="9" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10012" PostTypeId="2" ParentId="9998" CreationDate="2012-01-31T20:07:52.780" Score="5" Body="&lt;p&gt;This one seems related, although it focuses more on parallel time (NC) rather than the closely related space (L): &lt;a href=&quot;http://www.springerlink.com/content/8hn2q8lvf3ukbbx0/&quot;&gt;http://www.springerlink.com/content/8hn2q8lvf3ukbbx0/&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="42" LastActivityDate="2012-01-31T20:07:52.780" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10016" PostTypeId="1" CreationDate="2012-01-31T22:25:00.403" Score="6" ViewCount="365" Body="&lt;p&gt;(this is a follow-up of my &lt;a href=&quot;https://cstheory.stackexchange.com/questions/9854/a-linear-algorithm-for-relaxed-4-sum-instances%20%22previous%20question%22%29&quot;&gt;previous question&lt;/a&gt;, which uses the 3SUM' problem instead of 3SUM)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose we have a list $S$ of $n$ integers.&#xA;Usually, for 3SUM, we only determine if there exist $a$,$b$,$c$ $\in S$ such that $a+b+c=0$. That's done in $O(n^2)$, and obviously the same thing can be done for $a+b+c=d$, with $d$ an integer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, I use a somewhat modified version of this problem. Someone randomly picks $n$ triplets of elements of $S$, and for each of them, computes the sum of its elements. Let's call the list of these sums $Y$. That's $n$ instances of 3SUM built on the same set.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My goal is to invert one element of $Y$., i.e. is to find one element in $Y$, along with its corresponding elements in $S$. (To solve one of the possible instances of 3SUM, no matter which one)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm looking for a $O(n)$ solution. If we feed this solution some particular $S$ and $Y$ ,and we want to find a particular $d$ in $Y$, it would take the solution $O(n)$ attempts to find the $d$ we're looking for, thus running in $O(n^2)$, which is the 3SUM complexity.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I tried to use randomness in my solutions, without success. Someone also advised me to have a look at FFTs, but I can't see how I could use them in this case.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The best that I can do now, is to have $Y$ built with $n^{1.5}$ triplets instead of $n$, and then I can use the birthday paradox. If I pick $O(n^{1.5})$ triplets at random, I have a constant probability to find the same triplet twice. ($n^{1.5} = \sqrt{n^3}$)&lt;/p&gt;&#xA;" OwnerUserId="8058" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2012-02-01T02:18:32.833" Title="Solving multiple instances of 3SUM generated from the same set" Tags="&lt;ds.algorithms&gt;&lt;cg.comp-geom&gt;&lt;time-complexity&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="10017" PostTypeId="2" ParentId="9990" CreationDate="2012-01-31T23:21:37.263" Score="-1" Body="&lt;p&gt;And in what kinds of updates are you interested? Both weight increase and decrease? Obviously, it should not be hard to solve edge increases since such an update influences only those optimal paths containing the changed edge and it is not hard to recomputed them quickly (actually, it can be done even more efficiently). Weight decrease is harder case but it does not make sense in route planning practice (usually). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Anyway, if you are already using some route planning (all pairs shortest path) approach, you should look for its &quot;dynamization&quot;. I would not consider heuristics since I am not aware of any good heuristic route planning algorithm. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;So what kind of updates are we talking about?&lt;/p&gt;&#xA;" OwnerUserId="8190" LastActivityDate="2012-01-31T23:21:37.263" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10018" PostTypeId="2" ParentId="9983" CreationDate="2012-01-31T23:52:06.230" Score="-3" Body="&lt;p&gt;The above answer seems wrong to me: the basic idea is that logically reversible and physically reversible are distinct.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider a quantum computer (reversible by nature), in the memory you store qbits, after you do an operation, you store the qbits that are important, those qbits that are no longer useful after the operation can be expelled from the memory and discarded. (lost in the endless space of the universe) Although the operations are logically reversible, it is no longer necessary to store all the qbits and we deliberately lose some (thus not physically reversible). &lt;/p&gt;&#xA;" OwnerUserId="8191" LastEditorUserId="8191" LastEditDate="2012-01-31T23:59:02.197" LastActivityDate="2012-01-31T23:59:02.197" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10019" PostTypeId="2" ParentId="10016" CreationDate="2012-02-01T01:53:05.317" Score="8" Body="&lt;p&gt;It's not linear time, but here at least is an $O(n^{3/2})$ randomized solution to the problem in which you are given a set of $n$ elements together with the sums of $n$ randomly-generated triples of the elements, and you have to find a triple that matches one of the given sums.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Pick randomly two subsets $A$ of $n^{3/4}$ elements and $B$ of $n^{1/2}$ elements. With constant probability at least one of your 3SUMs is in $A+A+B$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Compute the set $A+A$ and store it in a hash table for fast lookups.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;For each pair of a value $x$ in $B$ and a target value $z$ of one of the input 3SUMs, test whether $z-x$ is one of the stored values of $A+A$, and if so whether the resulting triple(s) of numbers $A+A+B$ that sum to $z$ are distinct from each other.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I originally thought this would work equally well for an adversarially-selected set of 3SUMs (instead of the randomly-selected set in your question), but now I'm not sure sure about that part: the expected number of 3SUMs you hit with your choice of $A+A+B$ is always constant, but maybe the adversary could fix things so that you have a high probability of hitting none of them and a small probability of hitting many at once? I'm not sure this is possible but it would take more analysis than I've done so far to be certain.&lt;/p&gt;&#xA;" OwnerUserId="95" LastEditorUserId="95" LastEditDate="2012-02-01T02:18:32.833" LastActivityDate="2012-02-01T02:18:32.833" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10020" PostTypeId="1" AcceptedAnswerId="10021" CreationDate="2012-02-01T02:03:24.823" Score="4" ViewCount="805" Body="&lt;p&gt;Irreversible computations can be intuitive. For example, it is easy to understand roles of AND, OR, NOT gates and design a system without any intermediate, compilable layer. The gates can be directly used as they conform to human's thinking.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have read a paper where it was stated that it is obviously correct way to code irreversibly, and compile to reversible form (can't find the paper now).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am wondering if there exists a reversible model, that is as easy to understand as AND, OR, NOT model. The model should be therefore &quot;direct&quot; use of reversibility. So no compilation. &lt;strong&gt;But also:&lt;/strong&gt; no models of form: $f(a) \rightarrow (a,f(a))$ (ie. models created by taking irreversible function $f$ and making it reversible by keeping copy of its input).&lt;/p&gt;&#xA;" OwnerUserId="7918" LastEditorUserId="-1" LastEditDate="2012-02-03T00:04:03.410" LastActivityDate="2012-02-03T00:07:53.670" Title="Examples of reversible computations" Tags="&lt;reference-request&gt;&lt;computability&gt;&lt;machine-models&gt;" AnswerCount="4" CommentCount="5" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="10021" PostTypeId="2" ParentId="10020" CreationDate="2012-02-01T09:19:33.940" Score="8" Body="&lt;p&gt;The paper you mention is probably one of Paul Vitányi's, possibly &lt;a href=&quot;http://dx.doi.org/10.1145/1062261.1062335&quot; title=&quot;Time, Space, and Energy in Reversible Computing&quot;&gt;Time, Space, and Energy in Reversible Computing&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, not everyone takes the viewpoint that simulation of irreversible computations is the main point. There is some research into what reversible computing can do in addition to such simulations, the beginnings of which is in Bennett's seminal paper &lt;a href=&quot;http://dx.doi.org/10.1147/rd.176.0525&quot; title=&quot;Logical Reversibility of Computation&quot;&gt;Logical Reversibility of Computation&lt;/a&gt; on reversible Turing machines. See &lt;a href=&quot;http://dx.doi.org/10.1007/978-3-642-19805-2_4&quot; title=&quot;What Do Reversible Programs Compute?&quot;&gt;this paper&lt;/a&gt; for an elaboration of these ideas.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In terms of reversible logic circuits, there has been significant effort from the quantum computing community to build non-trivial circuits for arithmetic, e.g. &lt;a href=&quot;http://dx.doi.org/10.1103/PhysRevA.54.147&quot; title=&quot;Quantum networks for elementary arithmetic operations&quot;&gt;Quantum networks for elementary arithmetic operations&lt;/a&gt;, some of which are purely classical, i.e., reversible. These implement a reversible variant of, say, addition, where one of the operands is conserved, but they do &lt;em&gt;not&lt;/em&gt; rely on &quot;irreversible thinking&quot;, do &lt;em&gt;not&lt;/em&gt; use a history, and display a significant amount of ingenuity in their design.&lt;/p&gt;&#xA;" OwnerUserId="3158" LastActivityDate="2012-02-01T09:19:33.940" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10022" PostTypeId="2" ParentId="8974" CreationDate="2012-02-01T09:54:59.260" Score="3" Body="&lt;p&gt;&lt;strong&gt;Yes&lt;/strong&gt;, such $(G,\le)$ pairs exist for any $\epsilon &amp;gt; 0$, any $r$, any $g$, and any even $d$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For details, see &lt;a href=&quot;http://arxiv.org/abs/1201.6675&quot; rel=&quot;nofollow&quot;&gt;arXiv:1201.6675&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="74" LastActivityDate="2012-02-01T09:54:59.260" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10023" PostTypeId="1" CreationDate="2012-02-01T10:37:34.300" Score="12" ViewCount="843" Body="&lt;p&gt;Given a bloom filter of size N-bits and K hash functions, of which M-bits (where M &amp;lt;= N) of the filter are set.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is it possible to approximate the number of elements inserted into the bloom filter?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Simple Example&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I've been mulling over the following example, assuming a BF of 100-bits and 5 hash functions where 10-bits are set...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Best case scenario: Assuming the hash functions are really perfect and uniquely map a bit for some X number of values, then given 10-bits have been set we can say that there has only been 2 elements inserted into the BF&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Worst case scenario: Assuming the hash functions are bad and consistently map to the same bit (yet unique amongst each other), then we can say 10 elements have been inserted into the BF&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The range seems to be [2,10] where abouts in this range is probably determined by the false-positive probability of filter - I'm stuck at this point.&lt;/p&gt;&#xA;" OwnerUserId="8198" LastEditorUserId="43" LastEditDate="2012-02-03T06:15:19.500" LastActivityDate="2016-04-30T02:16:42.110" Title="Computing the approximate population of a bloom filter" Tags="&lt;ds.data-structures&gt;&lt;pr.probability&gt;" AnswerCount="6" CommentCount="3" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="10025" PostTypeId="1" AcceptedAnswerId="10165" CreationDate="2012-02-01T11:26:01.367" Score="6" ViewCount="367" Body="&lt;p&gt;I am new here as a writer but I read this group from time to time.&#xA;I am thinking about the following problem.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Problem description:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assume we have an area $A$ of size $1000 \times 1000$ cells.&#xA;One cell is addressed with $(x,y)$ pair, where $x$ and $y$ are positive integers.&#xA;We are given the set of points (locations) on area $A$, lets say we have $N$ locations. These locations are fixed and given as an input. In practice N is lower than 1000.&#xA;In each location we can build a sender station that sends some signal. Sender stations can have 4 levels: 0,1,2,3. Building a sender station with proper level costs: $c_0=0$, $c_1&amp;gt;0$, $c_2&amp;gt;c_1$ and $c_3&amp;gt;c_2$ respectively. Costs are equal for each location. Moreover costs are fixed and given as an input. Each sender station covers given circular area with signal. Radius are following: $r_0=0$, $r_1&amp;gt;0$, $r_2&amp;gt;r_1$, $r_3&amp;gt;r_2$. Radius is fixed and given as an input.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Question: What level of sender station should be build in each location in such a way, that: all locations are covered with signal and the total cost of building is minimized?&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;My question to that is: what kind of theoretical problem is that? Is there some easy transformation to some well known optimization problem?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is not a homework from university, just my own riddle :)&lt;/p&gt;&#xA;" OwnerUserId="8200" LastEditorUserId="-1" LastEditDate="2012-11-24T07:11:39.023" LastActivityDate="2012-11-24T07:11:39.023" Title="What kind of optimization problem is that?" Tags="&lt;ds.algorithms&gt;&lt;optimization&gt;" AnswerCount="1" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="10026" PostTypeId="2" ParentId="10020" CreationDate="2012-02-01T11:29:41.440" Score="3" Body="&lt;p&gt;Fredkin Gate and Toffoli Gate are two examples of reversible computation in that no information is lost in this process and then according to Boltzman Entrophy Law energy is at least not comsumed. Fredkin Gate and Toffoli Gate can simulate NAND gate and FANOUT, thus simulating any classical circuit. Cook-Levin theorem indicates that classical circuits can efficiently simulate Turing Machine, so coding irreversibly can be done on these reversible circuits.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another exciting reversible computation model is Quantum Computers! In quantum mechanics, any transformation is carried out through unary operators, which are reversible. So quantum computers are &quot;reversible&quot; computers.&lt;/p&gt;&#xA;" OwnerUserId="7663" LastActivityDate="2012-02-01T11:29:41.440" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10027" PostTypeId="1" AcceptedAnswerId="10031" CreationDate="2012-02-01T11:34:45.147" Score="-1" ViewCount="324" Body="&lt;p&gt;Reversible Computation Models at least do not consume energy, according to physical laws, since no information is erased. And there are also Fredkin Gate and Toffoli Gate which can effective simulate classical irreversible computation circuits. So why don't chips switch to reversible models to save energy consumption? Is it the problem of &quot;noise&quot; that occurs in computation? What kind of &quot;noise&quot; then?&lt;/p&gt;&#xA;" OwnerUserId="7663" LastEditorUserId="186" LastEditDate="2012-02-02T23:58:34.590" LastActivityDate="2012-02-02T23:58:34.590" Title="Why don't chips switch to reversible computation model to save energy?" Tags="&lt;tag-removed&gt;" AnswerCount="1" CommentCount="1" ClosedDate="2012-02-02T23:54:28.120" ContentLicense="CC BY-SA 3.0" />
  <row Id="10028" PostTypeId="1" AcceptedAnswerId="10033" CreationDate="2012-02-01T12:33:11.497" Score="4" ViewCount="407" Body="&lt;p&gt;I'm nearly graduated in computer science engineering and my thesis should discuss the massively parallel computational model of &lt;a href=&quot;http://en.wikipedia.org/wiki/CUDA&quot; rel=&quot;nofollow&quot;&gt;CUDA&lt;/a&gt; and its advantages/applications.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm searching for an application field (an idea) to show off some of CUDA capabilities and (definitely) also my skills as programmer and engineer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm up for a bit of challenge to integrate an interesting work into my thesis project and discussion so I'm asking for advices or ideas&lt;/p&gt;&#xA;" OwnerUserId="8201" LastEditorUserId="1037" LastEditDate="2012-02-01T23:34:53.343" LastActivityDate="2012-02-02T06:43:55.943" Title="Advantages and specific applications of massively parallel programming thesis idea" Tags="&lt;pl.programming-languages&gt;&lt;dc.parallel-comp&gt;&lt;ct.category-theory&gt;&lt;project-topic&gt;" AnswerCount="5" CommentCount="6" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10029" PostTypeId="2" ParentId="10020" CreationDate="2012-02-01T14:40:39.923" Score="4" Body="&lt;p&gt;I have realized one very good example: &lt;a href=&quot;http://en.wikipedia.org/wiki/Langton%27s_ant&quot; rel=&quot;nofollow&quot;&gt;Langton's ant&lt;/a&gt;. It is reversible. It also does not seem to be a &quot;forced&quot; reversibility model – ie. it is not the &quot;keep input history&quot; approach: $f(a) \rightarrow (a,f(a))$. It also is universal.&lt;/p&gt;&#xA;" OwnerUserId="7918" LastEditorUserId="-1" LastEditDate="2012-02-03T00:07:53.670" LastActivityDate="2012-02-03T00:07:53.670" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10030" PostTypeId="2" ParentId="10020" CreationDate="2012-02-01T15:47:22.377" Score="6" Body="&lt;p&gt;Ryan Williams surveyed and studied the complexity of reversibility in this paper, &lt;a href=&quot;http://www.cs.cmu.edu/~ryanw/spacesim9_22.pdf&quot; rel=&quot;nofollow&quot;&gt;space efficient reversible simulations&lt;/a&gt; which contains various constructions. The problem seems to be closely linked to lower bounds on time/space tradeoffs.. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In your question you seem to be making some kind of distinction between &quot;reversibility&quot; and &quot;direct reversibility&quot; but there seems to be no such distinction in the literature. One questions whether your distinction can be formally defined.&lt;/p&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="-1" LastEditDate="2012-02-03T00:04:05.437" LastActivityDate="2012-02-03T00:04:05.437" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10031" PostTypeId="2" ParentId="10027" CreationDate="2012-02-01T16:07:49.270" Score="3" Body="&lt;p&gt;there is a lot of interest however it appears there are some early prototypes but overall not commercial chips so far.  see eg &lt;a href=&quot;http://www.theregister.co.uk/2003/11/14/reversible_computing_is_the_only/&quot; rel=&quot;nofollow&quot;&gt;Reversible computing is ‘the only way’ to survive Intel's heat&lt;/a&gt; mentioning michael frank at UF, his page here &lt;a href=&quot;http://www.cise.ufl.edu/research/revcomp/&quot; rel=&quot;nofollow&quot;&gt;RevComp - The Reversible and Quantum Computing Research Group&lt;/a&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;from what I can tell it looks like the reversible designs probably require larger chip area to compute the same problems and current designers would rather pay for mainly minimizing chip area at the expense of &quot;heat&quot;. and designers have gotten very adept at minimizing heat in nonreversible designs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;one area of new innovation are energy capturing designs that can capture waste heat and convert it back into electricity. eg see &lt;a href=&quot;http://www.bloomberg.com/news/2011-06-29/phononic-devices-s-chips-convert-waste-heat-into-electricity.html&quot; rel=&quot;nofollow&quot;&gt;Phononic Devices’s Chips Convert Waste Heat into Electricity&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;the industry is moving toward capturing waste heat for useful purpose eg building heating esp with &lt;a href=&quot;http://www.brighthub.com/environment/green-computing/articles/41515.aspx&quot; rel=&quot;nofollow&quot;&gt;supercomputers.&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;of course quantum computation is the &quot;holy grail&quot; for reversible designs but its proving very difficult to create systems due to the issue you mention in qm circuits-- noise or the so called &quot;decoherence problem&quot;. the only commercial system so far seems to be &lt;a href=&quot;http://en.wikipedia.org/wiki/D-Wave_Systems&quot; rel=&quot;nofollow&quot;&gt;dwave&lt;/a&gt; which is very expensive &amp;amp; niche right now.&lt;/p&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="7884" LastEditDate="2012-02-01T16:59:17.727" LastActivityDate="2012-02-01T16:59:17.727" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="10032" PostTypeId="2" ParentId="10028" CreationDate="2012-02-01T17:49:36.487" Score="5" Body="&lt;p&gt;Build a &quot;&lt;em&gt;CUDA-SAT solver&lt;/em&gt;&quot; and outperform the winners of the annual &lt;a href=&quot;http://www.satcompetition.org/&quot; rel=&quot;nofollow&quot;&gt;Sat competitions&lt;/a&gt; ! :-)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit&lt;/strong&gt;: I posted the answer quickly ... but - after a Google search - I found that my idea is not so original, see: &lt;a href=&quot;http://www.cs.rit.edu/~ark/students/yxw9319/report.pdf&quot; rel=&quot;nofollow&quot;&gt;NVIDIA CUDA Architecture-based Parallel Incomplete SAT Solver&lt;/a&gt; ... however I think that a public available project/source code of a CUDA-powered SAT solver that can be compiled and used on a standard PC (Linux and/or Win) equipped with a CUDA GPU graphics card would be very appreciated.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As a second best, I suggest you to try to implement a &lt;a href=&quot;http://tracer.uc3m.es/tws/cEA/documents/cant98.pdf&quot; rel=&quot;nofollow&quot;&gt;parallel genetic algorithm&lt;/a&gt; and pick one (or more) of the &lt;a href=&quot;http://en.wikipedia.org/wiki/List_of_genetic_algorithm_applications&quot; rel=&quot;nofollow&quot;&gt;many possible applications&lt;/a&gt; to show the performance gains due to the parallelization.&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2012-02-01T18:26:53.103" LastActivityDate="2012-02-01T18:26:53.103" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="10033" PostTypeId="2" ParentId="10028" CreationDate="2012-02-01T20:22:24.603" Score="0" Body="&lt;p&gt;I would be interested in integration of GPU processsing (wether CUDA does not matter) into standard compilers. Can you figure out where application makes sense programmatically? Can you efficiently use GPUs?&lt;/p&gt;&#xA;" OwnerUserId="1546" LastActivityDate="2012-02-01T20:22:24.603" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="10034" PostTypeId="1" CreationDate="2012-02-01T21:03:58.477" Score="3" ViewCount="406" Body="&lt;p&gt;I am looking for some approximate algorithm with upper/lower bound for the following problem:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Given a set of positive integers $\{a_1, a_2, \dots, a_n\}$, partition $\{1, 2, \dots, n\}$ into disjoint sets $S_1, S_2, \dots, S_k$ so that the following function is maximized:&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;\prod_{i=1}^{n} \sum_{j \in S_i} a_j&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is a few things I guess about the above problem (Let's call it PSM),&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;PSM is very similar to the &lt;a href=&quot;http://en.wikipedia.org/wiki/Multiprocessor_scheduling&quot; rel=&quot;nofollow noreferrer&quot;&gt;multi-processor scheduling problem&lt;/a&gt; (with k processors and $a_i$'s as the job lengths) with a slightly different objective function. This is quite simple to show that PSM is at least as hard as multi-processor scheduling problem. Assume we are given a solution to PSM. The makespan of the solution must be minimum (it means this is a solution to the multi-processor scheduling problem as well), otherwise the product of sums is not maximized (right?).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;We cannot have an FPTAS for PSM since multi-processor scheduling is strongly NP-hard.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;For $k$ even, assume we have a $(1+\alpha)$-approximate algorithm for the multi-processor scheduling problem. The algorithm gives an upper bound of $(1-\alpha^2)^{k/2}$ for the PSM problem. That's because the worst case happens when $k/2$ of the sums are $(1+\alpha)\times OPT_{makespan}$ and the rest of them are equal to $(1-\alpha)\times OPT_{makespan}$. Therefore, we find a $((1+\alpha)(1-\alpha))^{k/2} \times OPT_{PSM}$ solution.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;By the way, this is a wireless network scheduling problem. I have already discussed a variation of the problem &lt;a href=&quot;https://cstheory.stackexchange.com/questions/5492/np-hardness-of-a-special-case-of-number-partitioning&quot;&gt;here&lt;/a&gt;.&#xA;Any hint, solution, inapproximability result, reference to a book or a paper is appreciated.&lt;/p&gt;&#xA;" OwnerUserId="4264" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2012-02-04T04:23:01.987" Title="Approximate bound/algorithm for &quot;product of sums maximization&quot; problem" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;&lt;approximation-algorithms&gt;&lt;application-of-theory&gt;&lt;polynomial-time&gt;" AnswerCount="1" CommentCount="6" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10035" PostTypeId="2" ParentId="1198" CreationDate="2012-02-01T21:45:21.760" Score="5" Body="&lt;p&gt;These are a lectures series about Quantum Computation by professor David Deutsch&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.quiprocone.org/Protected/DD_lectures.htm&quot; rel=&quot;nofollow&quot;&gt;http://www.quiprocone.org/Protected/DD_lectures.htm&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another great series on Quantum Computation by Michael Nielsen aimed at the average Joe who wants to learn about Quantum Computation&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://m.youtube.com/#/playlist?gl=US&amp;amp;hl=en&amp;amp;client=mv-google&amp;amp;list=PL1826E60FD05B44E4&quot; rel=&quot;nofollow&quot;&gt;https://m.youtube.com/#/playlist?gl=US&amp;amp;hl=en&amp;amp;client=mv-google&amp;amp;list=PL1826E60FD05B44E4&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="7422" LastEditorUserId="7422" LastEditDate="2012-02-02T15:41:42.950" LastActivityDate="2012-02-02T15:41:42.950" CommentCount="0" CommunityOwnedDate="2012-02-01T21:45:21.760" ContentLicense="CC BY-SA 3.0" />
  <row Id="10036" PostTypeId="2" ParentId="9990" CreationDate="2012-02-01T21:47:33.050" Score="1" Body="&lt;p&gt;your question seems quite advanced and it seems unlikely anyone has considered the incremental problem for the particular algorithm you are implementing when the new nonincremental algorithm was published by Yanagisawa as recently as 2010.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;the algorithm you cite is apparently designed to be parallelizable therefore that seems like the 1st approach to optimizing it. ie implement it in a highly parallel implementation and just recompute all paths.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have not seen a paper describing this, but how about this approach which seems to work in theory &amp;amp; in general but details could be tricky (maybe it appears in a paper somewhere-- would be interested if anyone has seen a similar technique). every algorithm to solve the problem must basically reduce to a (2-way?) comparison of edge weights. the resulting paths are built out of the results of these comparisons. the &quot;comparison tree&quot; for every optimal path can be stored during the 1st computation of all pairs. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;then when any weights are changed, traverse through all prior stored/built-up comparison trees to recompute the answer. probably, for small changes, one would not have to descend &quot;deeply&quot; into those trees because the results of some or &quot;many&quot; prior comparisons are unchanged. one may have to modify the trees if new &quot;comparison paths&quot; in the trees are triggered but again this might not be expensive. however there would be a threshold where it is simpler to recompute everything from scratch when there are too many weight changes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;the main question of course is the memory cost of storing all the comparison trees.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;sup&gt;&#xA;(fineprint: and if all this actually worked, it would likely be a significant advance &amp;amp; publishable result.)&#xA;&lt;/sup&gt;&lt;/p&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2012-02-01T21:47:33.050" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10037" PostTypeId="2" ParentId="10028" CreationDate="2012-02-01T22:11:19.050" Score="3" Body="&lt;p&gt;the &lt;a href=&quot;http://en.wikipedia.org/wiki/Protein_folding&quot; rel=&quot;nofollow&quot;&gt;protein folding problem&lt;/a&gt; seems a good candidate; its a hot area of bio-informatics &amp;amp; already highly parallelized via some apps, (&lt;a href=&quot;http://folding.stanford.edu/&quot; rel=&quot;nofollow&quot;&gt;folding@home&lt;/a&gt;) and there is a large community holding bi-yearly contests &amp;amp; prizes for solutions see eg &lt;a href=&quot;http://en.wikipedia.org/wiki/CASP&quot; rel=&quot;nofollow&quot;&gt;CASP&lt;/a&gt;. good/effective/accurate solutions are quite scientifically and commerically valuable and some are patented. the difficulty in this area (in contrast to eg the other good candidate given by Vor, SAT) is that some of the algorithms could probably be very difficult to implement solely from papers.&lt;/p&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2012-02-01T22:11:19.050" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10038" PostTypeId="2" ParentId="10028" CreationDate="2012-02-02T02:40:43.887" Score="0" Body="&lt;p&gt;It depends on how much time and effort you want to spend for it. I think, cracking md5 is not a very time consuming job since you need to implement a simple brute-force search algorithm only.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Integrating the power of GPUs into an existing programming language would be a great idea since many other applications such as the ones mentioned by other answers can be written using such a language. I'd prefer to do the job in such a way which is either transparent to the user or he needs only a little effort to use the capability.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One idea is to write an object file optimizer or alter an open source compiler which looks for specific patterns (like loops with simple body) in programs and replaces them with a CUDA version. That might be too much job to do. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The other option is to implement a simple matrix library with matlab-like operations. In C++, it would look like this:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;CUDAArray&amp;lt;int&amp;gt; a = CUDAArray&amp;lt;int&amp;gt;(1000);&#xA;CUDAArray&amp;lt;int&amp;gt; b = CUDAArray&amp;lt;int&amp;gt;(1000);&#xA;// Use GPU to compute&#xA;CUDAArray&amp;lt;int&amp;gt; c = a * 2 + b;&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Anyways, I think non of these ideas is a new one.&lt;/p&gt;&#xA;" OwnerUserId="4264" LastActivityDate="2012-02-02T02:40:43.887" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10039" PostTypeId="2" ParentId="9532" CreationDate="2012-02-02T05:43:40.403" Score="5" Body="&lt;p&gt;All right, having thought about it more I believe I have an explicit reduction from this problem to extended GCD; I'll explain it in the $n=2$ case, but I believe that it extends to arbitrary $n$.  Note that this finds &lt;em&gt;an&lt;/em&gt; $\mathbf{x}$ that minimizes the distance to the hyperplane, but not necessarily the smallest $\mathbf{x}$ (there are in fact infinitely many values that attain the same minimum distance) - I believe the latter problem is also feasible, but haven't given it any real thought yet.  The algorithm is based on a few simple principles:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;If $g=\mathrm{GCD}(a_1, a_2)$, then the set of values taken on by $\mathbf{a}\cdot\mathbf{x} = a_1 x_1 + a_2 x_2$ is precisely $\left\{0, \pm g, \pm 2g, \pm 3g, \ldots\right\}$; furthermore, values $x_1$ and $x_2$ with $a_1 x_1 + a_2 x_2 = g$ can be found efficiently (this is exactly the extended Euclidean algorithm).&lt;/li&gt;&#xA;&lt;li&gt;The minimum distance from the hyperplane to a point on the lattice is the minimal distance from a point on the lattice to the hyperplane (obvious, but a useful inversion of the problem).&lt;/li&gt;&#xA;&lt;li&gt;The distance from a given point $\mathbf{x}$ to the hyperplane $\mathbf{a}\cdot\mathbf{y} = b$ is proportional to $\left|\mathbf{a}\cdot\mathbf{x}-b\right|$ (specifically, it's $1/|\mathbf{a}|$ times this value - but since multiplying all distances by this value has no effect on the location of the minimum, we can ignore the normalizing factor).&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;This suggests the following procedure:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Compute $g=\mathrm{GCD}(a_1,a_2)$, along with $x^0_1, x^0_2$ such that $a_1x^0_1+a_2x^0_2 = g$.&lt;/li&gt;&#xA;&lt;li&gt;Compute $r = \left\lfloor{b\over g}\right\rfloor$ and calculate $d =\min(b-rg, (r+1)g-b)$; $d$ is the (scaled) minimal distance from the lattice to the hyperplane.  Let $s$ be either $r$ or $r+1$ ($=\left\lceil{b\over g}\right\rceil$, unless $b$ is a multiple of $g$) depending on which one attains the minimal distance.&lt;/li&gt;&#xA;&lt;li&gt;Compute $x_1 = sx^0_1$ and $x_2 = s x^0_2$; then $\mathbf{a}\cdot\mathbf{x} = sg$ is the nearest multiple of $g$ to $b$, and thus $\left|\mathbf{a}\cdot\mathbf{x}-b\right|$ attains the minimum of this distance over all lattice points.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;As far as I know, the exact same procedure should work correctly in arbitrary dimensions; the key is that the $n$-dimensional GCD still satisfies Bezout's identity, and so to find the minimum distance to a lattice point you only have to find the nearest multiple of $g$ to $b$.&lt;/p&gt;&#xA;" OwnerUserId="1941" LastEditorUserId="1941" LastEditDate="2012-02-02T05:51:03.530" LastActivityDate="2012-02-02T05:51:03.530" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10040" PostTypeId="2" ParentId="10028" CreationDate="2012-02-02T06:37:07.870" Score="0" Body="&lt;p&gt;I may be wrong, but I think that a GPU implementation of parallel graph partitioning is missing. This would be of great value, and you could compare the performances obtained with ParMetis and Zoltan, which are standard parallel implementations of graph partitioning. Why graph partitioning ? Because it is suitable for irregular, unstructured communication patterns lacking a well-known graph topology, a feature of many graph-based applications. Your work will be useful to many people working in the field.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You may choose to implement just a single technique (e.g., Space-Filling Curves), or a little library. Finally, did you consider implementing your work using OpenCL ? While CUDA is a proprietary technology, OpenCL is a standard and you code will run on any current GPU device.&lt;/p&gt;&#xA;" OwnerUserId="4208" LastEditorUserId="4208" LastEditDate="2012-02-02T06:43:55.943" LastActivityDate="2012-02-02T06:43:55.943" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10041" PostTypeId="1" CreationDate="2012-02-02T08:18:41.103" Score="1" ViewCount="191" Body="&lt;p&gt;I'm looking for references relating to dynamically computing the k-shortest output paths through a stochastic, acyclic, weighted transducer that is being constructed on-the-fly.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In this scenario there is a reference transducer 'B' which accepts input strings in language 'a', and outputs strings in language 'b'.   'B' is constructed prior to starting the search.  There is then an acceptor 'A' which constitutes a directed, weighted, acyclic automaton (a lattice) and which encodes strings in language 'a'.  'A' is constructed dynamically, arc-by-arc, and composed with 'B' on-the-fly.  The output side of A*B is then projected, resulting in 'C' - a directed, weighted, acyclic automaton that encodes strings in language 'b'.  In the static case this process can be summarized as,&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;C = project_output( compose(A, B) )   &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;where 'A' is constructed dynamically.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am interested in computing the k-shortest paths through 'C' dynamically.  Because 'A' is a lattice, it is also possible that there will be multiple paths through 'C' that are equivalent, but arrived at via different paths through the input side of 'B'.  Thus the weight corresponding to any unique path through 'C' seems like it should correspond to the &lt;em&gt;sum&lt;/em&gt; of the weights of all input paths that share the same output. Intuitively, if we have two distinct input paths in the lattice that result in the same output from 'C', their associated probabilities should be summed in some way.  Thus in fact we would like to compute 'D',&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;D = k_shortest_unique( project_output( compose(A, B) ) )&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;In the static case I believe we could compute this by performing,&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;D = k_shortest( minimize( determinize( rm_epsilon( project_o( compose(A, B) ) ) ) ) )&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;and running all of the operations except for the final k_shortest algorithm in the log semiring.  Assuming I've thought this out correctly ( a big assumption ) this should ensure that when identical paths through 'C' are merged, their weights are summed.  Computing the k-shortest paths through 'D' in the tropical semiring should then still produce the correct summed result.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This approach is fine for computing the result statically, and most of these operations admit a lazy implementation anyway, but I'm wondering if anyone knows some good references regarding this type of problem in a dynamic or on-the-fly context.  Note also that graph edges will only ever be added to the 'right-hand edge' of the graph, as we construct 'A' and compose it with 'B'.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, in practice the idea is that each time we add an arc to 'A', this should result in an incremental update to the list of potential paths through 'C', and an update to the total weight associated with it.  The list will most likely never have more than 10 or 15 unique output candidate paths, but this might correspond to 10x or more input paths through 'A'.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;That turned out really long.  &lt;/p&gt;&#xA;" OwnerUserId="2256" LastEditorUserId="-1" LastEditDate="2012-11-24T07:11:17.040" LastActivityDate="2012-11-24T07:11:17.040" Title="Dynamic k-shortest paths in a weighted transducer" Tags="&lt;ds.algorithms&gt;&lt;fl.formal-languages&gt;&lt;automata-theory&gt;&lt;dynamic-algorithms&gt;&lt;shortest-path&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10042" PostTypeId="2" ParentId="10023" CreationDate="2012-02-02T09:00:14.243" Score="3" Body="&lt;p&gt;If you assume that for each hash function for each object, a bit is set uniformly at random, and you have a count on the number of bits that have been set, you should be able to bound the probability that the number of objects inserted was within a certain range, maybe using a balls and bins formulation. Each bit is a bin, and it's set if it has at least 1 ball in it, each object inserted throws $k$ balls, where $k$ is the number of hash functions, and $nk$ is the number of balls thrown after $n$ objects have been inserted. Given that $b$ bins have at least 1 ball in them, what's the probability that at least $t$ balls were thrown? I think here you can use the fact that:&#xA;$$P( t \mbox{ balls} | b \mbox{ bins}  ) = P(b \mbox{ bins}| t \mbox{ balls}) \cdot P(t)/P(b) $$ &#xA; But the problem with that formulation is that I don't see a straightforward way to calculate $P(t)$ or $P(b)$, but finding the value of $t$ which maximizes that probability shouldn't be too hard.&lt;/p&gt;&#xA;" OwnerUserId="8078" LastActivityDate="2012-02-02T09:00:14.243" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10044" PostTypeId="1" CreationDate="2012-02-02T15:30:11.450" Score="27" ViewCount="3830" Body="&lt;p&gt;I was reading &amp;quot;&lt;a href=&quot;http://www.scottaaronson.com/papers/pnp.pdf&quot; rel=&quot;noreferrer&quot;&gt;Is P Versus NP Formally Independent?&lt;/a&gt;&amp;quot; but I got puzzled.&lt;/p&gt;&#xA;&lt;p&gt;It is widely believed in complexity theory that &lt;span class=&quot;math-container&quot;&gt;$\mathsf{P} \neq \mathsf{NP}$&lt;/span&gt;. My question is about what if this is not provable (say in &lt;span class=&quot;math-container&quot;&gt;$ZFC$&lt;/span&gt;). (Let's assume that we only find out that &lt;span class=&quot;math-container&quot;&gt;$\mathsf{P} \neq \mathsf{NP}$&lt;/span&gt; is independent from &lt;span class=&quot;math-container&quot;&gt;$ZFC$&lt;/span&gt; but no further information about how this is proven.)&lt;/p&gt;&#xA;&lt;p&gt;What will be the implications of this statement? More specifically,&lt;/p&gt;&#xA;&lt;h3&gt;hardness&lt;/h3&gt;&#xA;&lt;p&gt;Assuming that &lt;span class=&quot;math-container&quot;&gt;$\mathsf{P}$&lt;/span&gt; capture the efficient algorithms (&lt;a href=&quot;http://en.wikipedia.org/wiki/Cobham%27s_thesis&quot; rel=&quot;noreferrer&quot;&gt;Cobham–Edmonds thesis&lt;/a&gt;) and &lt;span class=&quot;math-container&quot;&gt;$\mathsf{P} \neq \mathsf{NP}$&lt;/span&gt;, we prove &lt;span class=&quot;math-container&quot;&gt;$\mathsf{NP\text{-}hardness }$&lt;/span&gt; results to imply that they are beyond the present reach of our efficient algorithms. If we prove the separation, &lt;span class=&quot;math-container&quot;&gt;$\mathsf{NP\text{-}hardness}$&lt;/span&gt; means that there is no polynomial time algorithm. But what does an &lt;span class=&quot;math-container&quot;&gt;$\mathsf{NP\text{-}hardness }$&lt;/span&gt; result mean if the separation is not provable? What will happen to these results?&lt;/p&gt;&#xA;&lt;h3&gt;efficient algorithms&lt;/h3&gt;&#xA;&lt;p&gt;Does unprovability of the separation mean that we need to change our definition of efficient algorithms?&lt;/p&gt;&#xA;" OwnerUserId="8230" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2020-10-22T09:07:06.717" Title="Implications of unprovability of $P\neq NP$" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;&lt;big-picture&gt;&lt;proofs&gt;&lt;p-vs-np&gt;" AnswerCount="5" CommentCount="13" FavoriteCount="18" ContentLicense="CC BY-SA 3.0" />
  <row Id="10045" PostTypeId="1" AcceptedAnswerId="10046" CreationDate="2012-02-02T16:47:56.127" Score="24" ViewCount="8900" Body="&lt;p&gt;Inspired by this &lt;a href=&quot;https://cstheory.stackexchange.com/questions/174/major-unsolved-problems-in-theoretical-computer-science&quot;&gt;question&lt;/a&gt;, what are the major problems and existing solutions which needs improvement in (theoretical) distributed systems domain.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Something like membership protocols, data consistency?&lt;/p&gt;&#xA;" OwnerUserId="1203" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.743" LastActivityDate="2015-04-04T06:22:28.487" Title="Major unsolved problems in distributed systems?" Tags="&lt;big-list&gt;&lt;dc.distributed-comp&gt;" AnswerCount="4" CommentCount="0" FavoriteCount="10" ContentLicense="CC BY-SA 3.0" />
  <row Id="10046" PostTypeId="2" ParentId="10045" CreationDate="2012-02-02T17:22:30.280" Score="28" Body="&lt;p&gt;See, for instance, &lt;a href=&quot;http://www.cs.yale.edu/homes/aspnes/papers/beatcs-column-2006.pdf&quot;&gt;Eight open problems in distributed computing&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="4208" LastActivityDate="2012-02-02T17:22:30.280" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10048" PostTypeId="1" AcceptedAnswerId="10049" CreationDate="2012-02-02T18:28:04.457" Score="-2" ViewCount="519" Body="&lt;p&gt;Is the decidablity of the following question known?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Given a CFG&lt;/em&gt; G, &lt;em&gt;is&lt;/em&gt; L(G) &lt;em&gt;regular?&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I've seen a bunch of decidability results in the world of CFLs, but I don't think I've ever seen this one, and can't find anything about it.&lt;/p&gt;&#xA;" OwnerUserId="8235" LastEditorUserId="5396" LastEditDate="2012-02-05T18:09:19.307" LastActivityDate="2012-02-05T18:09:19.307" Title="Decidability of &quot;does this CFG define a regular language&quot;" Tags="&lt;reference-request&gt;&lt;fl.formal-languages&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10049" PostTypeId="2" ParentId="10048" CreationDate="2012-02-02T18:55:30.997" Score="5" Body="&lt;p&gt;By &lt;a href=&quot;http://en.wikipedia.org/wiki/Context-free_grammar#Being_in_a_lower_level_of_the_Chomsky_hierarchy&quot;&gt;Wikipedia&lt;/a&gt; it is undecidable.&lt;/p&gt;&#xA;" OwnerUserId="7715" LastEditorUserId="7715" LastEditDate="2012-02-02T19:11:07.397" LastActivityDate="2012-02-02T19:11:07.397" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="10052" PostTypeId="1" AcceptedAnswerId="10110" CreationDate="2012-02-03T00:22:34.067" Score="9" ViewCount="351" Body="&lt;p&gt;I'm currently doing research in pseudorandomness, which involves a zoo of wonderful objects such as pseudorandom generators, randomness extractors, expander graphs, etc. I find it a fascinating topic, but one thing that drives me crazy is the glut of parameters that are involved. I understand that these objects are very complex, but I cannot help but break out into a sweat when I see &quot;Let $G$ be a standard $(\alpha,V,\epsilon^2,k,\delta)$-pseudorandom widget...&quot;. Then I have to flip back in the paper or find another paper (which probably uses a different parameterization) and try to remember what all $\alpha,V,\epsilon,k$ and $\delta$ all meant.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It takes me quite a while to acquire a feeling for &quot;good&quot; parameter settings versus &quot;bad&quot; parameter settings, versus &quot;natural&quot; settings versus &quot;easy&quot; settings. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;There's probably no magic bullet for this issue - but I was wondering if other people had some method of managing the &quot;parameter explosion&quot; so that it's easier to retain in memory for a longer period of time?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks!&lt;/p&gt;&#xA;" OwnerUserId="170" LastActivityDate="2012-02-08T00:20:37.147" Title="How do you remember parameters?" Tags="&lt;soft-question&gt;&lt;research-practice&gt;" AnswerCount="1" CommentCount="6" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="10053" PostTypeId="1" CreationDate="2012-02-03T01:07:18.567" Score="6" ViewCount="331" Body="&lt;p&gt;Andoni and Indyk presented a paper in FOCS 2006: &lt;a href=&quot;http://www.mit.edu/~andoni/papers/cSquared.pdf&quot; rel=&quot;nofollow&quot;&gt;Near-optimal hashing algorithms for approximate nearest neighbor in high dimensions&lt;/a&gt;. In this paper they present an algorithm for the $c$-approximate nearest neighbor problem in $d$-dimensional Euclidean space in with query time $O(dn^{1/c^2 + o(1)})$ and space $O(dn + n^{1+ 1/c^2 + o(1)})$. The results are based on Locality Sensitive Hashing, i.e. all the points are hashed and a given query point $q$ will have a high probability of collision with a point $p$ if $p$ and $q$ are close to each other.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is it possible to first preprocess with some dimension reduction technique and then apply the same Andoni / Indyk algorithm?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, we could apply a &lt;a href=&quot;http://arxiv.org/abs/1012.1577&quot; rel=&quot;nofollow&quot;&gt;Johnson-Lindenstrauss Transform&lt;/a&gt;. Apparently the JL flattening theorem states that &quot;any $n$ points&#xA;in Euclidean space can be embedded into $O(\epsilon^{−2} \log n)$ dimensions so that all pairwise Euclidean&#xA;distances are preserved up to $1&amp;#177; \epsilon$.&quot; &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thus, could we first preprocess by embedding the points into $O(\epsilon^{−2} \log n)$ dimensions and thus improve the space and query time bounds given by Andoni and Indyk?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I can't find any concrete technical reasons why this shouldn't work, but it also seems like if this does work, then I should be able to find a reference documenting it.&lt;/p&gt;&#xA;&#xA;&lt;h3&gt; More detail: &lt;/h3&gt;&#xA;&#xA;&lt;p&gt;I see now that Andoni and Indyk are already performing a dimension reduction. From the paragraph above section 3.2:&#xA;&quot;To reduce U, we project $ℜ^d$ to a lower-dimensional&#xA;space $ℜ^t$ via a random dimensionality reduction. The parameter&#xA;$t$ is $o(log n)$.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;At first this made me think that another dimension reduction would be redundant.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;However&lt;/strong&gt;, there is still a factor of $d$ in the query time! This is because the LSH based query algorithm requires $O(n^\rho)$ hashing function evaluations, and each hash function (when hashing a $d$-dimensional point) requires $O(d)$ operations (according to &lt;a href=&quot;http://citeseer.ist.psu.edu/viewdoc/summary?doi=10.1.1.38.249&quot; rel=&quot;nofollow&quot;&gt;IM98&lt;/a&gt;). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Therefore, if we want to reduce the dependence on $d$ in the query time while using a LSH based approach, we need to speed up the evaluation of the hash function. One way to do this would be to preprocess all the points, projecting them into $O(\epsilon^{−2} \log n)$ dimensions. The Andoni/Indyk algorithm will make &lt;em&gt;another&lt;/em&gt; projection into $R^t$, where $t = o(\log n)$. However, when running the query algorithm, we make 1 projection of the query point into $e = \epsilon^{−2} \log n$ dimensions first, and so each of the $O(n^\rho)$ hash function evaluations is only evaluated on $e$-dimensional points instead of $d$ dimensional points. This should speed up the query time to $O(e\cdot n^\rho) = O(\epsilon^{−2} \log n \cdot n^\rho) &amp;lt; O(dn^\rho) $ when $d$ is large.&lt;/p&gt;&#xA;" OwnerUserId="8078" LastEditorUserId="123" LastEditDate="2014-09-24T13:20:21.007" LastActivityDate="2014-09-24T13:20:21.007" Title="Can we reduce dimensions before applying high dimensional approximate nearest neighbor algorithms?" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;cg.comp-geom&gt;" AnswerCount="0" CommentCount="9" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10055" PostTypeId="1" AcceptedAnswerId="10084" CreationDate="2012-02-03T01:49:49.310" Score="7" ViewCount="513" Body="&lt;p&gt;My question is regarding the algebraic formulation for packing problems in graphs. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Taking an example, suppose I am interested in the problem of finding if there is a packing of k edge disjoint triangles in a given input (undirected) graph. I am aware of techniques that approach this problem combinatorially. Is there a way to frame this problem algebraically?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, in context of graph theory, are algebraic methods less powerful when compared to combinatorial methods? Or is there any particular intuition that governs which approach is more effective in certain problems? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I apologize if my question sounds too general. The purpose of this question is to try and form an understanding of algebraic vs combinatorial methods in the context of graph theory.&lt;/p&gt;&#xA;" OwnerUserId="3816" LastEditorUserId="-1" LastEditDate="2012-11-24T07:11:50.317" LastActivityDate="2012-11-24T07:11:50.317" Title="Algebraic formulation for packing problem" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;approximation-algorithms&gt;&lt;fixed-parameter-tractable&gt;" AnswerCount="3" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10056" PostTypeId="1" CreationDate="2012-02-03T05:29:59.197" Score="-1" ViewCount="1095" Body="&lt;p&gt;I know that it is still one of the biggest mysteries of computer science whether non-deterministically polynomial problems can be solved in polynomial time.  I am curious to know what makes this problem so difficult to prove/disprove.  Has there been any progress has been made toward resolving it.  That is, what approaches have been taken (and failed), and what insights have been made toward possibly finding a solution?&lt;/p&gt;&#xA;" OwnerUserId="7967" LastEditorUserId="186" LastEditDate="2012-02-05T05:33:02.923" LastActivityDate="2012-02-05T05:33:02.923" Title="What progress has been made to prove whether or not p=np?" Tags="&lt;np-hardness&gt;&lt;open-problem&gt;&lt;np&gt;&lt;proofs&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="1" ClosedDate="2012-02-03T14:30:55.553" ContentLicense="CC BY-SA 3.0" />
  <row Id="10057" PostTypeId="2" ParentId="10056" CreationDate="2012-02-03T06:56:57.060" Score="10" Body="&lt;p&gt;You might be interested in Scott Aaronson's talk &quot;&lt;a href=&quot;http://www.scottaaronson.com/talks/pvsnpcsw.ppt&quot;&gt;Has There Been Progress on the P vs. NP Question?&lt;/a&gt;&quot; (&lt;a href=&quot;http://www.scottaaronson.com/talks/pvsnp.ppt&quot;&gt;earlier version&lt;/a&gt;)&lt;/p&gt;&#xA;" OwnerUserId="121" LastActivityDate="2012-02-03T06:56:57.060" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10059" PostTypeId="2" ParentId="10056" CreationDate="2012-02-03T08:14:50.827" Score="5" Body="&lt;p&gt;For what concern &quot;... what approaches have been taken and (in all probability) &lt;strong&gt;failed&lt;/strong&gt; ...&quot;, see the &lt;a href=&quot;http://www.win.tue.nl/~gwoegi/P-versus-NP.htm&quot;&gt;P-versus-NP Page&lt;/a&gt; that collects links to papers/authors that try to settle the &quot;P versus NP&quot; question (in either way) :-)&lt;/p&gt;&#xA;" OwnerUserId="3247" LastActivityDate="2012-02-03T08:14:50.827" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10060" PostTypeId="1" CreationDate="2012-02-03T09:22:40.333" Score="16" ViewCount="713" Body="&lt;p&gt;I've been searching for a formalization of the compactness theorem for FOL, but haven't found any. Is anyone aware of such a development or related work?&lt;/p&gt;&#xA;" OwnerUserId="8244" LastEditorUserId="2367" LastEditDate="2020-03-13T13:49:58.823" LastActivityDate="2020-03-13T13:49:58.823" Title="Has the compactness theorem for FOL been formalized in Coq/Isabelle/etc?" Tags="&lt;reference-request&gt;&lt;lo.logic&gt;&lt;coq&gt;&lt;proof-assistants&gt;" AnswerCount="2" CommentCount="3" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="10061" PostTypeId="1" AcceptedAnswerId="10062" CreationDate="2012-02-03T11:46:57.553" Score="14" ViewCount="340" Body="&lt;p&gt;The graph bandwidth problem is defined as follows. Given a graph $G=(V,E)$, a &lt;em&gt;layout&lt;/em&gt; $f$ of $G$ is a one-to-one mapping of the vertices of $G$ onto the integers $\{1, \ldots, |V|\}$. The &lt;em&gt;bandwidth of $f$&lt;/em&gt; is defined as &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$bw(f) = \max \{|f(u) - f(v)| \mid \{u,v\} \in E\}$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The &lt;em&gt;bandwidth of $G$&lt;/em&gt;, denoted $bw(G)$, is defined as the minimum bandwidth of a layout, the minimum being taken over all possible layouts. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The decision question is: given a graph $G$ and an integer $k$, is $bw(G) \le k$? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This problem is known to be NP-complete even for trees of maximum degree three [&lt;em&gt;&lt;a href=&quot;http://www.jstor.org/pss/2100947&quot;&gt;Complexity Results for Bandwidth Minimization&lt;/a&gt;.&lt;/em&gt; Garey, Graham, Johnson and Knuth, SIAM J. Appl. Math., Vol. 34, No.3, 1978]. The authors show that one can test whether a graph has bandwidth at most two in polynomial time. The case $bw \le 3$ was open. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is the complexity of the case $bw \le 3$ known? What do we know about the complexity of the problem when $k$ is not part of the input but a fixed constant at least $4$? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;References would be nice.  &lt;/p&gt;&#xA;" OwnerUserId="5612" LastEditorUserId="1037" LastEditDate="2012-02-03T15:41:46.117" LastActivityDate="2012-02-23T03:28:22.193" Title="On the complexity of Bandwidth Minimization" Tags="&lt;cc.complexity-theory&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10062" PostTypeId="2" ParentId="10061" CreationDate="2012-02-03T12:23:50.690" Score="16" Body="&lt;p&gt;The bandwidth problem is $W[t]$-hard for all $t$. It was shown by Bodlaender et al. in &quot;Beyond NP-completeness for problems of bounded width.&quot; See &lt;a href=&quot;http://dx.doi.org/10.1145/195058.195229&quot; rel=&quot;nofollow&quot;&gt;the paper&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, it is also known that for any $k$, whether a given graph has bandwidth at most $k$ can be decided in $O(f(k)n^{k+1})$ time. This implies that the bandwidth problem is in $XP$. See the &lt;a href=&quot;http://dx.doi.org/10.1137/0601042&quot; rel=&quot;nofollow&quot;&gt;another paper&lt;/a&gt; by Saxe.&lt;/p&gt;&#xA;" OwnerUserId="481" LastEditorUserId="481" LastEditDate="2012-02-23T03:28:22.193" LastActivityDate="2012-02-23T03:28:22.193" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="10063" PostTypeId="1" AcceptedAnswerId="10065" CreationDate="2012-02-03T14:42:07.587" Score="7" ViewCount="690" Body="&lt;p&gt;I'm a math student and have encountered the concept of (mainly time) complexity of algorithms in several courses so far (Analysis of Algorithms, Cryptography, Numerical Analysis). However what strikes me as odd is that the definitions I have encountered so far seem to differ greatly. In particular, the differences that I have noted are&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Difference between the &lt;a href=&quot;http://en.wikipedia.org/wiki/Analysis_of_algorithms#Cost_models&quot; rel=&quot;noreferrer&quot;&gt;uniform and logarithmic cost models&lt;/a&gt;: this can, for example, make a difference, when evaluating the time complexity of something like &lt;br/&gt; &#xA;&lt;code&gt;for i = 1, 2, ..., n do c(i)&lt;/code&gt;,&#xA;where &lt;code&gt;c(i)&lt;/code&gt; is an instruction such that the number of bits involved depends on &lt;code&gt;i&lt;/code&gt;. &lt;br/&gt; When dealing with, say, sorting algorithms, all references I have ever come across adopt the uniform cost model, while in Cryptography, the time complexity of algorithms is always calculated in terms of bit operations. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Another difference is the definition of the size of an input: again, in sorting algorithms, the size of the input is simply the length of the vector that has to be sorted (as in graph searching algorithms, the number of nodes and edges). In Cryptography and Computational Number Theory, instead, the size of the input is always the number of bits involved. I don't know if this distinction is considered part of 1. , but it certainly makes a huge difference, since an algorithm that is linear using the first criterion, becomes exponential when adopting the second. Factorizing integers would be linear (actually, $O(\log{n} \sqrt{n})$) if we considered the input size of $n$ to be $n$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;One could justify these discrepancies with arguments such as &quot;well, in Number Theory we are dealing with large integers, so adopting a more realistic model makes more sense&quot;. But this defies the whole purpose of evaluating asymptotic expressions for the complexity of algorithms! If, in certain contexts, we knew that all inputs were smaller then a fixed quantity, then everything would be $O(1)$. Also, how can it be possible to define, without ambiguity, complexity classes and other rigorous Computer Science concepts, when the definition of complexity varies from field to field? &lt;br/&gt; &lt;/p&gt;&#xA;" OwnerUserId="8208" LastEditorUserId="8208" LastEditDate="2012-02-03T21:06:26.280" LastActivityDate="2012-02-05T05:04:57.503" Title="Different definitions of complexity" Tags="&lt;cc.complexity-theory&gt;&lt;soft-question&gt;&lt;time-complexity&gt;" AnswerCount="3" CommentCount="6" FavoriteCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="10064" PostTypeId="1" AcceptedAnswerId="10066" CreationDate="2012-02-03T16:13:34.507" Score="2" ViewCount="223" Body="&lt;p&gt;Consider a cloud-based accounting system that needs access to aggregate information such as an account's balance but doesn't need access to individual transaction amounts in a ledger.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does there exist a homomorphic encryption scheme that allows a public observer (such as a cloud computing provider) to compute the &lt;em&gt;plaintext&lt;/em&gt; sum of a set of encrypted unsigned integers without being able to decode any individual transaction value (n=1 notwithstanding)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As another example, regulations exist to ensure capital reserves. An institution could use such a scheme to furnish proof of compliance without disclosing individual transactions.&lt;/p&gt;&#xA;" OwnerUserId="8247" LastEditorUserId="-1" LastEditDate="2012-11-24T07:11:58.583" LastActivityDate="2012-11-24T07:11:58.583" Title="Auditable encrypted ledger" Tags="&lt;cr.crypto-security&gt;&lt;homomorphic-encryption&gt;" AnswerCount="2" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="10065" PostTypeId="2" ParentId="10063" CreationDate="2012-02-03T19:34:48.293" Score="5" Body="&lt;p&gt;The performances of an algorithm are always analyzed in the context of a well defined computational model. Traditional sequential models, e.g. the RAM model, assume that:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;All memory accesses are equally expensive;&lt;/li&gt;&#xA;&lt;li&gt;There are no concurrent operations; &lt;/li&gt;&#xA;&lt;li&gt;All reasonable instructions take unit time;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;With the notable exception of function calls!&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;li&gt;Constant word size;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Unless we are explicitly manipulating bits!&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;In Cryptography and strictly related fields, you can not assume that arbitrary precision arithmetic operations can be performed in constant time; so adding two &lt;em&gt;n&lt;/em&gt; bits numbers requires $O(n)$ instead of $O(1)$, multiplying them requires $O(n \lg n)$ using the Fast Fourier Transform (there are better algorithms) etc.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In practice, using the uniform or the logarithmic cost model strictly depends on the target application. Even using the uniform cost model, please consider carefully what the &quot;size of the input&quot; actually is. Here you must remember that the efficiency of solving a problem strictly depends on how you encode the problem. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;As an example, consider a simple algorithm requiring as input just an integer $x$, and whose complexity is $O(x)$. For instance, think about a loop that is executed $x$ times, and in each iteration of the loop you perform an operation requiring $O(1)$. So, you conclude that the algorithm is linear in $x$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, if you encode the input $x$ using the traditional binary representation of the integer $x$, then the input length is $n = \lfloor \log x \rfloor +1$. Therefore, the running time of the algorithm is $O(x) = O(2^n)$, which is exponential in the size of the input! &lt;/p&gt;&#xA;" OwnerUserId="4208" LastActivityDate="2012-02-03T19:34:48.293" CommentCount="10" ContentLicense="CC BY-SA 3.0" />
  <row Id="10066" PostTypeId="2" ParentId="10064" CreationDate="2012-02-03T19:40:22.970" Score="6" Body="&lt;p&gt;For all non-negative integers $n_0$,$n_1$,$n_2$ and random strings $r_0,r_1,r_2$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$n_0 \:\: = \:\: (n_0+n_1+n_2)-(n_1+n_2)$&#xA;&lt;br&gt;$=$&lt;br&gt;&#xA;$\operatorname{plaintextsum}(\operatorname{encrypt}(n_0,r_0),\operatorname{encrypt}(n_1,r_1),\operatorname{encrypt}(n_2,r_2))$&#xA;&lt;br&gt;&#xA;$- \: \operatorname{plaintextsum}(\operatorname{encrypt}(n_1,r_1),\operatorname{encrypt}(n_2,r_2))$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;.&#xA;&lt;br&gt;&lt;br&gt;&lt;br&gt;&#xA;Therefore any such scheme would be completely insecure&#xA;&lt;br&gt;&#xA;if more than 2 non-negative integers are encrypted with it.&#xA;&lt;br&gt;&lt;br&gt;&lt;/p&gt;&#xA;" OwnerDisplayName="user6973" LastEditorDisplayName="user6973" LastEditDate="2012-02-03T19:53:28.007" LastActivityDate="2012-02-03T19:53:28.007" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10068" PostTypeId="2" ParentId="10034" CreationDate="2012-02-03T23:27:35.893" Score="4" Body="&lt;p&gt;Intuitively, you are looking for partitioning the given numbers into k sets that are all have the same sum. Indeed, otherwise, you can benefit by taking two of these sets, and make them as balanced as possible. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;As such, you can take an approximation algorithm for subset sum, and turn it into an approximation algorithm to partition. Then extend it to handle $k$-sides partitions, and you would get the required approximation. See for example here: &lt;a href=&quot;http://valis.cs.uiuc.edu/~sariel/teach/courses/473/notes/08_approx_III.pdf&quot; rel=&quot;nofollow&quot;&gt;http://valis.cs.uiuc.edu/~sariel/teach/courses/473/notes/08_approx_III.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then you need to modify it to care about your target function....&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I assume that going through the details, you would get an $(1+\epsilon)$-approximation algorithm and its running time would be $(n/\epsilon)^{O(k)}$. But better running time might be possible if you are more careful. &lt;/p&gt;&#xA;" OwnerUserId="9594" LastActivityDate="2012-02-03T23:27:35.893" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10069" PostTypeId="2" ParentId="10063" CreationDate="2012-02-04T00:04:26.970" Score="10" Body="&lt;p&gt;The definition of, e.g., &lt;a href=&quot;http://en.wikipedia.org/wiki/P_%28complexity%29&quot;&gt;class P&lt;/a&gt; is unambiguous.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;However, what &lt;em&gt;is&lt;/em&gt; ambiguous is something like &quot;the running time is $O(n)$&quot;. As you have observed, there are two sources of ambiguity:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;What is a single time step? This depends on the model of computation.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;What is $n$? This depends on the problem.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;To make it completely unambiguous, you would state something like &quot;the running time in the RAM model is $O(n)$, where $n$ is the number nodes.&quot;&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Usually, we can afford to be a bit sloppy. The model is often clear from the context; in the case of algorithms, it is usually the &lt;a href=&quot;http://en.wikipedia.org/wiki/Random_access_machine&quot;&gt;RAM model&lt;/a&gt; unless otherwise specified. Moreover, there are various conventions regarding the definition of $n$. For example, in the context of graph algorithms, $n$ almost always denotes the number of nodes (and $m$ is the number of edges) – these are just conventions that you have to learn.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you are really interested in logarithmic factors, then you have to be careful with these details. The same algorithm might be $\Theta(n)$ or $\Theta(n \log n)$ or $\Theta(n/\log n)$ if you slightly vary your model of computation or your definition of $n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, if something like &quot;polynomial time&quot; is good enough for you, then you can ignore most of these details. Typical models of computation can simulate each other with a polynomial overhead (time $x$ in one is at most time $\mathrm{poly}(x)$ in the other), and typically an input can be encoded in $\mathrm{poly}(n)$ bits, no matter what happened to be your precise definition of $n$. For example, an $n$-node graph can be encoded as a string of $n^2$ bits. Hence you can usually say &quot;runs in polynomial time&quot; without worrying too much about the details (&quot;polynomial in what?&quot;, &quot;polynomial number of what?&quot;).&lt;/p&gt;&#xA;" OwnerUserId="74" LastActivityDate="2012-02-04T00:04:26.970" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="10070" PostTypeId="2" ParentId="10063" CreationDate="2012-02-04T02:30:02.387" Score="-1" Body="&lt;p&gt;Ill take a stab at answering part of this [where I think you have a valid point] although I think parts of the question relates to a basic misunderstanding of Big-Oh notation which others are helping address in the comments.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;lets focus on sorting. the lower bound on sorting &lt;em&gt;operations&lt;/em&gt; is proven to be $O(n \lg(n))$ where $n$ is the &lt;em&gt;number of elements&lt;/em&gt; in the list eg see this &lt;a href=&quot;http://en.wikipedia.org/wiki/Comparison_sort#Lower_bound_for_the_average_number_of_comparisons&quot; rel=&quot;nofollow&quot;&gt;wiki page, lower bound on sort comparisons&lt;/a&gt;. now technically you are correct, if we then say the algorithm runs in the same time, this does not &lt;em&gt;seem&lt;/em&gt; to count time to compare each element or &lt;em&gt;apparently&lt;/em&gt; assumes $O(1)$ comparison time for all comparisons ie the &lt;em&gt;uniform cost&lt;/em&gt; model.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;so then lets take into account the real time it takes to compare each element. this might seem counterintuitive but think about it like this. now determine runtime by the &lt;em&gt;logarithmic cost model&lt;/em&gt; that you mention, ie cost per each memory unit access (ie where comparing two longer elements takes time proportional to their size).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;consider the total size of the input (elements times size of each element) as $m$ and the &quot;width&quot; of each element as $w$ in terms of &quot;memory units&quot; (say chars, digits, bytes, turing tape squares etc). then simply $n \cdot w = m$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;consider in best case a pairwise comparison between two elements does not need to examine all $w$ units of each element, but in worse case (exercise-- devise inputs that force this) each comparison will compare close to $w$ units. so then the algorithm takes comparisons times steps per comparison $n \lg(n) \cdot w$ total steps in worst case. but look at that! by simple algebra thats equal to &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$m \lg(m/ w)$ total steps. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;but note that expression is simply $O(m \lg(m))$! so we have proven that &lt;em&gt;in either case&lt;/em&gt; even when we take into account time per comparison, we get the same answer! this is because theres an inherent &quot;hidden&quot; tradeoff between max number of comparisons and size of each element. this invisible tradeoff is so common in all problems that its almost never explicitly stated or accounted.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;ps I dont think Ive seen the above argument in any textbook but I formulated it when I was a CS beginner pondering over the apparent/seeming gaps, handwaving, or inconsistencies in the theory like you are (and by the way, still think they may exist, but not in this case).&lt;/p&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2012-02-04T02:30:02.387" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="10071" PostTypeId="2" ParentId="10064" CreationDate="2012-02-04T04:28:48.290" Score="0" Body="&lt;p&gt;The idea could work. The cyphertext would need to come with a non-interactive &#xA;zero-knowledge proof that the plaintext lies in a certain interval ([0,100] for example) See link below for more details.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is important to note that the answer at the end needs to be decrypted so it requires use of a decryption oracle at least once. Threshold encryption might be useful here. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.103.4029&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;nofollow&quot;&gt;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.103.4029&amp;amp;rep=rep1&amp;amp;type=pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="8191" LastActivityDate="2012-02-04T04:28:48.290" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10073" PostTypeId="2" ParentId="10044" CreationDate="2012-02-04T09:47:13.397" Score="12" Body="&lt;p&gt;This is a valid question, even though perhaps a little unfortunately phrased. The best answer I can give is this reference:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Scott Aaronson: &lt;a href=&quot;http://www.scottaaronson.com/papers/pnp.pdf&quot;&gt;Is P versus NP formally independent&lt;/a&gt;. Bulletin of the European Association for Theoretical Computer Science, 2003, vol. 81, pages 109-136.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Abstract:&lt;/strong&gt; This is a survey about the title question, written for people who (like the author) see logic as forbidding, esoteric, and remote from their usual concerns. Beginning with a crash course on Zermelo Fraenkel set theory, it discusses oracle independence; natural proofs; independence results of Razborov,&#xA;Raz, DeMillo-Lipton, Sazanov, and others; and obstacles to proving P vs. NP independent of strong logical theories. It ends with some philosophical musings on when one should expect a mathematical question to have a deﬁnite answer.&lt;/p&gt;&#xA;" OwnerUserId="705" LastActivityDate="2012-02-04T09:47:13.397" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10079" PostTypeId="1" AcceptedAnswerId="10080" CreationDate="2012-02-05T09:14:14.013" Score="3" ViewCount="250" Body="&lt;p&gt;In the recent paper: &lt;a href=&quot;http://arxiv.org/abs/1201.2501v1&quot; rel=&quot;nofollow&quot;&gt;Nearly Optimal Sparse Fourier Transform[Haitham Hassanieh, Piotr Indyk, Dina Katabi, Eric Price]&lt;/a&gt;, the authors show an $O(k \log n)$-time algorithm for the problem of computing the discrete Fourier transform of an $n$-dimensional signal that has at most $k$ non-zero Fourier coefficients.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a similar result for the Walsh-Fourier transform (or is it possible to use the same algorithm for a multidimensional DFT of size $2^n$) ?&lt;/p&gt;&#xA;" OwnerDisplayName="user887" LastActivityDate="2012-02-05T10:22:13.700" Title="Nearly Optimal Sparse Walsh-Fourier Tranform" Tags="&lt;ds.algorithms&gt;&lt;fourier-analysis&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10080" PostTypeId="2" ParentId="10079" CreationDate="2012-02-05T10:15:36.643" Score="2" Body="&lt;p&gt;As the quoted paper itself summarizes in its introduction, &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;The past two decades have witnessed significant advances in sublinear sparse Fourier algorithms. The first such algorithm (for the Hadamard transform)&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;(which is what you are looking for)&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;appeared in &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=103466&quot; rel=&quot;nofollow&quot;&gt;KM91&lt;/a&gt; (building on &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=73010&quot; rel=&quot;nofollow&quot;&gt;GL89&lt;/a&gt;). Since then, several sublinear sparse Fourier algorithms for complex inputs were discovered [Man92, GGI+02, AGS03, GMS05, Iwe10, &lt;a href=&quot;http://www.colt2010.org/papers/005akavia.pdf&quot; rel=&quot;nofollow&quot;&gt;Aka10&lt;/a&gt;, HIKP12].&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Some of the quoted papers (e.g. &lt;a href=&quot;http://www.colt2010.org/papers/005akavia.pdf&quot; rel=&quot;nofollow&quot;&gt;Aka10&lt;/a&gt;) give similar results for Fourier transforms over all Abelian groups.&lt;/p&gt;&#xA;" OwnerUserId="121" LastEditorUserId="121" LastEditDate="2012-02-05T10:22:13.700" LastActivityDate="2012-02-05T10:22:13.700" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="10082" PostTypeId="2" ParentId="10010" CreationDate="2012-02-05T19:23:51.303" Score="-6" Body="&lt;p&gt;havent heard of this problem exactly in literature [maybe someone else has] however as a &quot;nearby problem&quot; it seems to me the &lt;a href=&quot;http://en.wikipedia.org/wiki/Minimum_spanning_tree&quot; rel=&quot;nofollow&quot;&gt;minimum spanning tree&lt;/a&gt; would have useful properties to solve your problem. for example maybe generating two minimum spanning trees starting from the source vertex &amp;amp; the sync vertex, and propagating them outward until they touch, etc. might solve the problem or give a close answer. before anyone dings me on this here plz understand I am extending the idea of the MST somewhat to be generated starting from a given vertex [normally it starts from shortest edge in the entire graph]. if it doesnt work Id be curious for the reason.&lt;/p&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2012-02-05T19:23:51.303" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="10083" PostTypeId="2" ParentId="10055" CreationDate="2012-02-05T20:19:18.537" Score="5" Body="&lt;p&gt;There are algebraic formalizations of combinatorial problems. Combinatorial problems can be transferred to a problem of solvability of a system of polynomials. For instance, Bayer was able to model 3-colorability using a system of polynomial equations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is an excerpt of the abstract of &lt;a href=&quot;http://www.math.ucdavis.edu/~deloera/RECENT_WORK/nulla_issac_10.pdf&quot;&gt;Hilbert’s Nullstellensatz and an Algorithm&#xA;for Proving Combinatorial Infeasibility&lt;/a&gt;:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&quot;Systems of polynomial equations over an algebraically-closed&#xA;  field K can be used to concisely model many combinatorial&#xA;  problems. In this way, a combinatorial problem is feasible&#xA;  (e.g., a graph is 3-colorable, hamiltonian, etc.) if and only&#xA;  if a related system of polynomial equations has a solution&#xA;  over K.&quot;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="495" LastActivityDate="2012-02-05T20:19:18.537" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10084" PostTypeId="2" ParentId="10055" CreationDate="2012-02-05T20:52:32.907" Score="9" Body="&lt;p&gt;It is possible to prove the fixed-parameter tractability of various graph-theoretical problems (e.g., finding a path of length k or finding k disjoint triangles) using algebraic techniques by reducing the problem to questions about certain polynomials. See for example the following very readable paper by Ryan Williams:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://arxiv.org/abs/0807.3026v3&quot;&gt;http://arxiv.org/abs/0807.3026v3&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;and some other related papers:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.cs.cmu.edu/~jkoutis/papers/MultilinearDetection.pdf&quot;&gt;http://www.cs.cmu.edu/~jkoutis/papers/MultilinearDetection.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://doi.ieeecomputersociety.org/10.1109/FOCS.2010.24&quot;&gt;http://doi.ieeecomputersociety.org/10.1109/FOCS.2010.24&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://arxiv.org/abs/0912.2371&quot;&gt;http://arxiv.org/abs/0912.2371&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;About your meta question: as the formulation of graph-theoretical problems is usually &quot;combinatorial,&quot; it is not surprising to me that most of the natural approaches are &quot;combinatorial&quot; rather than &quot;algebraic.&quot; The &quot;algebraic&quot; approaches work only if the problem has some unexpected connection with algebra, which is probably quite rare for natural &quot;combinatorial&quot; problems. In the above-mentioned papers, such a connection is discovered, allowing us to solve the problem using algebraic techniques. Interestingly, for these problems the algebraic algorithms are faster (have better bounds) than the combinatorial ones.&lt;/p&gt;&#xA;" OwnerUserId="3189" LastEditorUserId="3189" LastEditDate="2012-02-06T20:35:15.370" LastActivityDate="2012-02-06T20:35:15.370" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="10085" PostTypeId="1" CreationDate="2012-02-06T11:24:42.187" Score="16" ViewCount="1018" Body="&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Church_encoding&quot;&gt;Boolean algebra can be expressed in untyped lambda calculus&lt;/a&gt; in (for example) this way.&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;true  = \t. \f. t;&#xA;false = \t. \f. t;&#xA;not   = \x. x false true;&#xA;and   = \x. \y. x y false;&#xA;or    = \x. \y. x true y;&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Also boolean algebra can be encoded in System F in &lt;a href=&quot;http://en.wikipedia.org/wiki/System_F#Logic_and_predicates&quot;&gt;this way&lt;/a&gt;:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;CBool = All X.X -&amp;gt; X -&amp;gt; X;&#xA;true  = \X. \t:X. \f:X. t;&#xA;false = \X. \t:X. \f:X. f;&#xA;not   = \x:CBool. x [CBool] false true;&#xA;and   = \x:CBool. \y:CBool. x [CBool] y false;&#xA;or    = \x:CBool. \y:CBool. x [CBool] true y;&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Is there a way to express boolean algebra in simply typed lambda calculus? I assume that answer is NO. (&lt;a href=&quot;http://okmij.org/ftp/Computation/lambda-calc.html#predecessor&quot;&gt;For example, Predecessor and lists are not representable in simply typed lambda-calculus&lt;/a&gt;.) If the answer is NO indeed, is there a simple intuitive explanation, why it is impossible to encode booleans in simply typed lambda calculus?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;UPDATE: We assume that there are base types.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;UPDATE: The negative answer with explanation was found &lt;a href=&quot;http://math.andrej.com/2009/03/21/how-to-simulate-booleans-in-simply-typed-lambda-calculus/&quot;&gt;here&lt;/a&gt; (Comment &quot;Here's a proof sketch to show that simply-typed lambda calculus with products and infinitely many base types does not have booleans.&quot;) This is what I was looking for.&lt;/p&gt;&#xA;" OwnerUserId="6998" LastEditorUserId="-1" LastEditDate="2012-11-24T07:10:49.490" LastActivityDate="2018-09-24T06:03:29.860" Title="Can boolean algebra be expressed in simply typed lambda caclulus?" Tags="&lt;lo.logic&gt;&lt;type-theory&gt;&lt;lambda-calculus&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="10086" PostTypeId="2" ParentId="9938" CreationDate="2012-02-06T16:52:01.747" Score="-3" Body="&lt;p&gt;from some quick search it looks like the online version is an area of active research. you dont mention the application area which might help to narrow down the literature search. one option is to look for an application area where theres the most or latest innovation. hence there is some application of incremental max flow in vision systems &amp;amp; some algorithms for it there; try &lt;a href=&quot;http://research.microsoft.com/pubs/150437/ibfs-proc.pdf&quot; rel=&quot;nofollow&quot;&gt;Maximum Flows by Incremental Breadth-First Search&lt;/a&gt; at microsoft research labs. paraphrasing the intro to this paper, apparently for vision instances the Boykov and Kolmogorov algorithm does well &amp;amp; there are no known exponential time counterexamples although outside of the vision applications it might perform poorly. so it might be worth trying the B&amp;amp;K algorithm on your data &amp;amp; seeing how it performs &amp;amp; also the microsoft algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;you seem to be saying that an incremental algorithm that is linear in the number of graph edges is not sufficient speed? but isnt that fairly high efficiency? how many edges are you dealing with? maybe the approach might be to decrease cost of traversing the graph if that is expensive or a significant factor (eg graph stored in db vs graph stored in memory) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;here is an interesting paper that argues that while the nonincremental algorithm for max flow is in P the incremental version is NP complete. &quot;To the best of our knowledge our results are the first to find a P-time problem whose incremental version is NP complete.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://cornell.academia.edu/AlexaSharp/Papers/12406/Incremental_flow&quot; rel=&quot;nofollow&quot;&gt;Incremental flow&lt;/a&gt; by Hartline, Sharp&lt;/p&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="7884" LastEditDate="2012-02-06T17:07:47.413" LastActivityDate="2012-02-06T17:07:47.413" CommentCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="10087" PostTypeId="2" ParentId="10060" CreationDate="2012-02-06T18:14:46.700" Score="18" Body="&lt;p&gt;The compactness theorem for classical first-order logic is a direct consequence of the completeness theorem, and, actually, one can prove directly Compactness by the Henkin-style argument used for Completeness without ever mentioning derivation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The Completeness theorem for classical FOL with respect to standard Tarski models has been formalized in Mizar. See the series of articles under &lt;a href=&quot;http://fm.mizar.org/2005-13/fm13-1.html&quot;&gt;http://fm.mizar.org/2005-13/fm13-1.html&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The same completeness theorem, but with a constructive proof, has been almost formalized in the Coq proof assistant by myself, see the zip file under &lt;a href=&quot;https://sites.google.com/site/dankoilik/publications/phd-thesis&quot;&gt;https://sites.google.com/site/dankoilik/publications/phd-thesis&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I say &quot;almost&quot; because there is one technical point, proving a correctness of a sorting algorithm, that I have not yet had time to finish, however the main ingredient (constructive ultra-filter theorem for countable languages) is formalized.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One can also consider Completeness, and hence Compactness, for a non-standard notion of validity, and get a complete and formalized constructive proof.&lt;/p&gt;&#xA;" OwnerUserId="8278" LastActivityDate="2012-02-06T18:14:46.700" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10088" PostTypeId="1" CreationDate="2012-02-06T18:35:44.413" Score="6" ViewCount="650" Body="&lt;p&gt;I am going to &lt;a href=&quot;http://en.wikipedia.org/wiki/Edge_coloring&quot; rel=&quot;nofollow noreferrer&quot;&gt;edge color&lt;/a&gt; an undirected simple graph. The following randomized offline algorithm is showed at &lt;a href=&quot;http://theory.stanford.edu/~tomas/col.ps&quot; rel=&quot;nofollow noreferrer&quot;&gt;Online Algorithms for Edge Coloring&lt;/a&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Offline&lt;/strong&gt;: The potential colors are ordered 1, 2, . . . , 2$\Delta$−1. The edges are ordered at random, and we greedily assign color 1 until a&#xA;maximal matching is colored 1, then we start over with a random order of the remaining uncolored edges and we greedily assign color 2 until a maximal matching of the remaining edges is colored 2, and so on with the remaining edges and maximal matchings for colors 3, 4, . . .&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In paper &lt;a href=&quot;http://theory.stanford.edu/~tomas/col.ps&quot; rel=&quot;nofollow noreferrer&quot;&gt;Online Algorithms for Edge Coloring&lt;/a&gt;, the authors claimed the offline algorithm is the same as the online algorithm as follows. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Online&lt;/strong&gt;: The edges are ordered at random only once, and each edge in turn is&#xA;colored with the least valid color out of 1, 2, . . . , 2$\Delta$ − 1.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The &quot;same&quot; means, for a given graph. If the first algorithm needs $c$ colors with probability $p$, then the second algorithm uses needs $c$ colors with probability $p$. So there is not clear justification that the given two algorithms are same.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The paper claims &quot;For the second algorithm, if we consider sequentially when colors 1, 2, . . . are assigned, the same bound holds.&quot;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In fact, they turn out to be different (see the examle below). So my question is: &lt;strong&gt;can the offline algorithm be made onlne?&lt;/strong&gt; I cannot handle the multi-times random ordering ( after each maximal matching is removed, the order of the remaining edges is shuffled).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Example&lt;/strong&gt;.&#xA;&lt;img src=&quot;https://i.stack.imgur.com/NnE6U.jpg&quot; alt=&quot;Figure&quot;&gt;&#xA;Let $E_r=\{e_0, e_1, e_2\}$, $X_i$ be the indicator random variable that whether color $i$ is assigned to one edge from $E_r$.  $X_i=1$ iff the i-th color is &lt;strong&gt;not&lt;/strong&gt; assigned to the edges e_0, e_1, e_2. We calulate the expected number of colors from clolrs $\{1, 2\}$ which are not assinged to any of $\{e_0, e_1, e_2\}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the &quot;first algorithm&quot;: &#xA;$E[X_1+X_2] = Pr(X_1=1)+Pr(X_2=1) $&#xA;$=Pr(X_1=1)+Pr(X_2=1|X_1=1)\cdot Pr(X_1=1) + Pr(X_2=1|X_1=0)\cdot Pr(X_1=0)$&#xA;$=(\frac{2}{3})^3 + (\frac{1}{2})^3 \cdot (\frac{2}{3})^3 + (\frac{1}{2})^2 \cdot (1- (\frac{2}{3})^3 )$&#xA;$=\frac{1}{2}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the &quot;second algorithm&quot;: We list all the $9!$ orderings, and get $E[X_1+X_2]=12/27=0.44444$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The follwoing is responce for @vzn, thanks very much.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;In fact, &lt;strong&gt;the paper was not published as far as I know&lt;/strong&gt;. I have contacted the first author, he have not respond it in detail. The key is that, it does not &quot;fit&quot; clearly. &lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Why I only concern the first two colors in the example.&lt;/strong&gt; If $x$ edges from $\{e_0, e_1, e_2\}$ are not assigned to colors in $\{1,2\}$, then the algorithms needs exactly $2+(3-x)=5-x$ colors. Because for the remaining $(3-x)$ edges incident to the root not colored, $(3-x)$ new colors have to be used. While the other edges will be colored in the third color definitely. Put another way, if the two algorithms were the same, all the characterizations of them should be the same? (For example, $E[X_1+X_2]$ here. Am I right? I am not sure.)&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="6108" LastEditorUserId="6108" LastEditDate="2012-02-09T03:46:01.360" LastActivityDate="2012-02-09T14:06:23.063" Title="Can this randomized greedy algorithm be made online? Or being proved impossible?" Tags="&lt;ds.algorithms&gt;&lt;randomized-algorithms&gt;" AnswerCount="1" CommentCount="20" ContentLicense="CC BY-SA 3.0" />
  <row Id="10089" PostTypeId="2" ParentId="10044" CreationDate="2012-02-06T18:57:43.023" Score="22" Body="&lt;p&gt;Your question might better be phrased, &quot;How would complexity theory be affected by the discovery of a proof that P = NP is formally independent of some strong axiomatic system?&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's a little hard to answer this question in the abstract, i.e., in the absence of seeing the details of the proof.  As Aaronson mentions in his paper, proving the independence of P = NP would require radically new ideas, not just about complexity theory, but about how to prove independence statements.  How can we predict the consequences of a radical breakthrough whose shape we currently can't even guess at?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Still, there are a couple of observations we can make.  In the wake of the proof of the independence of the continuum hypothesis from ZFC (and later from ZFC + large cardinals), a sizable number of people have come around to the point of view that the continuum hypothesis is &lt;i&gt;neither true nor false&lt;/i&gt;.  We could ask whether people will similarly come to the conclusion that P = NP is &quot;neither true nor false&quot; in the wake of an independence proof (for the sake of argument, let's suppose that P = NP is proved independent of ZFC + any large cardinal axiom).  My guess is not.  Aaronson basically says that he wouldn't.  Goedel's 2nd incompleteness theorem hasn't led anyone that I know of to argue that &quot;ZFC is consistent&quot; is neither true nor false.  P = NP is essentially an &lt;i&gt;arithmetical&lt;/i&gt; statement, and most people have strong intuitions that arithmetical statements&amp;mdash;or at least arithmetical statements as simple as &quot;P = NP&quot; is&amp;mdash;must be either true or false.  An independence proof would just be interpreted as saying that we have no way of &lt;i&gt;determining&lt;/i&gt; which of P = NP and P $\ne$ NP is the case.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One can also ask whether people would interpret this state of affairs as telling us that there is something &quot;wrong&quot; with our definitions of P and NP.  Perhaps we should then redo the foundations of complexity theory with new definitions that are more tractable to work with?  At this point I think we are in the realm of wild and unfruitful speculation, where we're trying to cross bridges that we haven't gotten to and trying to fix things that ain't broke yet.  Furthermore, it's not even clear that anything &lt;i&gt;would&lt;/i&gt; be &quot;broken&quot; in this scenario.  Set theorists are perfectly happy assuming any large cardinal axioms that they find convenient.  Similarly, complexity theorists might also, in this hypothetical future world, be perfectly happy assuming any separation axioms that they believe are true, even though they're provably unprovable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In short, nothing much follows &lt;i&gt;logically&lt;/i&gt; from an independence proof of P = NP.  The face of complexity theory &lt;i&gt;might&lt;/i&gt; change radically in the light of such a fantastic breakthrough, but we'll just have to wait and see what the breakthrough looks like.&lt;/p&gt;&#xA;" OwnerUserId="2970" LastEditorUserId="2970" LastEditDate="2012-02-06T21:22:20.067" LastActivityDate="2012-02-06T21:22:20.067" CommentCount="11" ContentLicense="CC BY-SA 3.0" />
  <row Id="10090" PostTypeId="2" ParentId="9938" CreationDate="2012-02-06T20:24:06.900" Score="-5" Body="&lt;p&gt;another possibility/direction is the &lt;a href=&quot;http://en.wikipedia.org/wiki/Push-relabel_maximum_flow_algorithm&quot; rel=&quot;nofollow&quot;&gt;push-relabel maximum flow&lt;/a&gt; algorithm which is &quot;one of the most efficient algorithms for maximum flow&quot; and can have better complexity profiles depending on your data. eg as the wikipedia page states&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;the implementation with FIFO vertex selection rule has $O(V^3)$ running time, the highest active vertex selection rule provides $O(V^2 \sqrt E$) complexity, and the implementation with Sleator's and Tarjan's dynamic tree data structure runs in $O(V \cdot E \cdot log(V^2 / E))$ time. asymptotically more efficient than Edmonds-Karp&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2012-02-06T20:24:06.900" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="10091" PostTypeId="1" AcceptedAnswerId="10112" CreationDate="2012-02-06T21:26:19.723" Score="3" ViewCount="314" Body="&lt;p&gt;Is there a reference for direct reduction of computing maximum independent set of a suitably constructed graph to computing minimum distance of a &lt;a href=&quot;http://en.wikipedia.org/wiki/Linear_code&quot; rel=&quot;nofollow&quot;&gt;linear code&lt;/a&gt; when the code is specified by its &lt;a href=&quot;http://en.wikipedia.org/wiki/Check_matrix&quot; rel=&quot;nofollow&quot;&gt;parity check matrix&lt;/a&gt;?&lt;/p&gt;&#xA;" OwnerUserId="5511" LastEditorUserId="-1" LastEditDate="2012-11-24T07:10:41.393" LastActivityDate="2012-11-24T07:10:41.393" Title="reduction of maximum independet set to minimum distance of code" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;graph-theory&gt;&lt;np-hardness&gt;&lt;coding-theory&gt;" AnswerCount="1" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="10093" PostTypeId="1" AcceptedAnswerId="10129" CreationDate="2012-02-07T01:24:02.330" Score="2" ViewCount="233" Body="&lt;p&gt;Let $M$ be a NDTM (non deterministic Turing machine) which decides a certain NP-complete language, say SAT.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$M$ computes any instance $I$ of the NP-complete problem in at most $p(n)$ non deterministic steps ($p$ in a polynomial function, $n$ is the input size). The length of a computation path can be measured as the &quot;rank&quot; of the non deterministic step where $M$ halts. Let call $rank_M(I)$  the rank of the shortest accepting path ($rank_M(I)$ is $p(n)+1$ if $M$ rejects $I$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is this problem NP-complete : Given a boolean expression $I$, is it true that $rank_M(I)=k$ ? ($k$ is polynomially bounded in $n$)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit --- $rank_M(I)$ has been modified : it defines now the shortest accepting path (instead of just the rank of the step where $M$ halts).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thank you. &lt;/p&gt;&#xA;" OwnerUserId="6346" LastEditorUserId="6346" LastEditDate="2012-02-09T19:51:00.150" LastActivityDate="2012-02-09T19:51:00.150" Title="Finding the Length of the shortest Accepting path of a NDTM" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;sat&gt;&lt;counting-complexity&gt;&lt;turing-machines&gt;" AnswerCount="2" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="10095" PostTypeId="1" AcceptedAnswerId="10099" CreationDate="2012-02-07T05:07:15.037" Score="11" ViewCount="301" Body="&lt;p&gt;EDIT (By Tara B):  I'd still be interested in a &lt;em&gt;reference&lt;/em&gt; to a proof of this, as I had to prove it myself for my own paper.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm looking for the proof of Theorem 4 that appears in this paper:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.springerlink.com/content/t1xk67013513016m/&quot; rel=&quot;nofollow&quot;&gt;An Infinite Hierarchy of Intersections of Context-Free Languages&lt;/a&gt; by Liu and Weiner.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Theorem 4:&lt;/strong&gt; An $n$-dimensional affine manifold is not expressible as a finite union of affine manifolds each of which is of dimension $n-1$ or less.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Does anyone knows a reference to the proof?&lt;/li&gt;&#xA;&lt;li&gt;If the manifold is finite and we define a natural order on the elements, is there any similar statement in terms of lattices?&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Some background to understand the theorem:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Definition:&lt;/strong&gt; Let $\mathbb{Q}$ be the set of rational numbers. A subset $M\subseteq \mathbb{Q}^n$ is an &lt;em&gt;affine manifold&lt;/em&gt; if $(\lambda x+(1-\lambda)y)\in M$ when $x\in M$, $y\in M$, and $\lambda\in\mathbb{Q}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Definition:&lt;/strong&gt; An affine manifold $M'$ is said to be parallel to an affine manifold $M$ if $M'=M+a$ for some $a\in \mathbb{Q}^n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Theorem:&lt;/strong&gt; Each non-empty affine manifold $M\subseteq \mathbb{Q}^n$ is parallel to a unique subspace $K$. This $K$ is given by $K=\{x-y:x,y\in M\}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Definition:&lt;/strong&gt; The &lt;em&gt;dimension&lt;/em&gt; of a non-empty affine manifold is the dimension of the subspace parallel to it.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;" OwnerUserId="135" LastEditorUserId="9083" LastEditDate="2013-02-16T14:28:18.323" LastActivityDate="2013-02-16T14:28:18.323" Title="On $n$ dimensional manifolds and lattices" Tags="&lt;reference-request&gt;&lt;fl.formal-languages&gt;&lt;linear-algebra&gt;&lt;context-free-languages&gt;&lt;lattice&gt;" AnswerCount="2" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10098" PostTypeId="2" ParentId="6040" CreationDate="2012-02-07T10:15:47.673" Score="3" Body="&lt;p&gt;As far as I can see, the value of each item depends on which bin it is added to. Its full quality if it is added to its primary preference, and a reduced quality (reduced by -0.5 and -1, respectively) for its secondary and tertiary preferences. Do I understand you correctly?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In this case, this problem can be formulated as a &lt;a href=&quot;http://en.wikipedia.org/wiki/Minimum-cost_flow_problem&quot; rel=&quot;nofollow&quot;&gt;min-cost flow problem&lt;/a&gt;, which resembles min-cost bipartite matching (but with the added twist of bin capacity). I.e., it is not an NP-hard bin packing problem at all (unless P=NP).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Construct a flow network with a source, a sink, and two &quot;layers&quot; of nodes, corresponding to the items (first layer) and bins (second layer). Add edges from the source to the items (zero cost, capacity 1) and from the bins to the sink (zero cost, capacity equal to the bin capacity, i.e., from 1 to 3). From each item, you add an edge to each of its primary, secondary and tertiary bins, with capacity 1 and a cost of its adjusted quality multiplied by -1 (to go from a positive value to a negative cost).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now just run a standard min-cost-flow (or min-cost max-flow) algorithm to get your answer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course, not all items will be matched if the total capacity is less than the number of items, but the match will produce the matching that gives the greatest total (adjusted) quality.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you don't want to muck about with min-cost flow, you could split each bin node into multiple nodes (the number of nodes corresponding to the bin capacity), and duplicate the edges from the items. So if an item has an edge with a given cost to a bin node with a capacity of 3, you'd now have 3 bin nodes, and that item would have an edge to each of them with the given cost. You could then just use an algorithm for min-cost bipartite matching, such as the &lt;a href=&quot;http://en.wikipedia.org/wiki/Hungarian_algorithm&quot; rel=&quot;nofollow&quot;&gt;Hungarian algorithm&lt;/a&gt;. (You will now no longer have a source or a sink, of course.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This latter version is probably more practical to implement, and libraries for the Kuhn-Munkres algorithm are available in multiple languages.&lt;/p&gt;&#xA;" OwnerUserId="901" LastEditorUserId="901" LastEditDate="2012-02-08T09:51:56.507" LastActivityDate="2012-02-08T09:51:56.507" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10099" PostTypeId="2" ParentId="10095" CreationDate="2012-02-07T11:27:01.017" Score="5" Body="&lt;p&gt;Intuitively, the theorem says that a line is not a finite union of points, a plane is not a finite union of lines, etc. The simplest proof is to observe, for example, that a finite union of lines has zero area, whereas a plane does not.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More concretely, observe that it is enough to prove the claim for manifolds on $\mathbb{R}^n$ by passing to their closures. Consider an affine manifold $M\subseteq \mathbb{Q}^n$ given by the set of solutions to the linear system $A x = b$; its closure will be precisely the set of solutions to the same system over $\mathbb{R}^n$, hence this step does not affect the dimension of the manifolds involved. Also, the closure of a finite union equals the union of the closures. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now note that the $d$-dimensional Lebesgue measure of a manifold of dimension $\le d - 1$ is null.  Therefore the $d$-dimensional Lebesgue measure of a finite union of such manifolds is still zero. But the $d$-dimensional measure of an $d$-dimensional manifold is infinite, hence non-zero.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As for your second question, I'm not quite sure what you mean. But if the base field $\mathbb{F}$ is finite, then any $d$-dimensional affine manifold over $\mathbb{F}^n$ contains $|\mathbb{F}|^d$ points. So by a similar counting argument, you need at least $|\mathbb{F}|^d/|\mathbb{F}|^{d-1}=|\mathbb{F}|$ affine spaces of dimension $\le d - 1$ to cover an affine space of dimension $d$.&lt;/p&gt;&#xA;" OwnerUserId="2874" LastEditorUserId="2874" LastEditDate="2012-02-07T11:47:12.030" LastActivityDate="2012-02-07T11:47:12.030" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10100" PostTypeId="2" ParentId="10055" CreationDate="2012-02-07T12:24:51.833" Score="4" Body="&lt;p&gt;In exact exponential algorithmics, the &lt;em&gt;subset convolution&lt;/em&gt; is a particularly useful algebraic technique for solving covering, packing and partitioning problems. It generally works very well when the objects to be packed are 'hard', like dominating or independent sets. For example, the best known $k$-colouring (i.e. partition into independent sets) algorithm uses subset convolution. See e.g. &lt;em&gt;Exact Exponential Algorithms&lt;/em&gt; by Fomin and Kratsch or &lt;a href=&quot;http://arxiv.org/abs/cs/0611101&quot; rel=&quot;nofollow&quot;&gt;this paper&lt;/a&gt; by Björklund et al.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The subset convolution is most often used in the context of exponential algorithms, but there are some useful applications in polynomial side of things. In particular, see &lt;a href=&quot;http://www.springerlink.com/content/x8m81u423t1r0063/&quot; rel=&quot;nofollow&quot;&gt;this paper&lt;/a&gt; for the so-called 'counting in halves' approach to packing problems.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My intuition is that since the subset convolution -type methods &lt;em&gt;count&lt;/em&gt; the number of solutions instead of finding just one, they usually cannot be used to obtain fixed parameter algorithms. Also, they are rather space-intensive; their space complexity often equals their time complexity.&lt;/p&gt;&#xA;" OwnerUserId="290" LastActivityDate="2012-02-07T12:24:51.833" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10101" PostTypeId="2" ParentId="10095" CreationDate="2012-02-07T15:10:26.210" Score="6" Body="&lt;p&gt;Here is a measure-free proof which works for affine manifolds over an arbitrary infinite field $\mathbb F$ (the result is false for finite fields).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By induction on $n\ge0$, we will show that an affine manifold $A\subseteq\mathbb F^m$ of dimension $n$ is not a finite union of affine manifolds of dimension less than $n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The statement is clear for $n=0$: a point is not a (finite) union of empty sets.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assume the statement holds for $n$, we will show it for $n+1$. Let $A=\bigcup_{i&amp;lt;k}A_i$, where $\dim(A)=n+1$ and $\dim(A_i)\le n$. Consider an arbitrary affine submanifold $B\subset A$ of dimension $n$. Since $B=\bigcup_i(B\cap A_i)$, the induction hypothesis implies that $\dim(B\cap A_i)=n$ for some $i&amp;lt;k$, i.e., $B=A_i$. Since there are only $k$ sets $A_i$, and $B$ was arbitrary, it follows that $A$ has only finitely many submanifolds of dimension $n$. However, this is a contradiction: if we fix any such submanifold $B_0$ and a vector $v$ parallel to $A$ but not to $B_0$, there are infinitely many affine submanifolds of $A$ of the form $B_0+av$, where $a\in\mathbb F$.&lt;/p&gt;&#xA;" OwnerUserId="6959" LastActivityDate="2012-02-07T15:10:26.210" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="10102" PostTypeId="1" AcceptedAnswerId="10118" CreationDate="2012-02-07T15:28:42.217" Score="2" ViewCount="150" Body="&lt;p&gt;I am attempting to resolve a problem of inferring Cartesian position from distance. I have a set of nodes arbitrarily but statically positioned on a 2-D plane. Every node is aware of its position relative to the other $n-1$ nodes. From this set of $n$ nodes, is it possible to infer each node's position ($x$,$y$) by choosing any node and using it as a basis?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, with two nodes, this is not possible, as the distance alone leaves open the possibility of the node not chosen as the basis for being located anywhere in the radial distance from the basis node.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;With three nodes, it also seems impossible because the orientation can be flipped and is thus ambiguous based solely on distance. How many nodes are needed to unambiguously infer the position of the elements on a Cartesian plane?&lt;/p&gt;&#xA;" OwnerUserId="8287" LastEditorUserId="-1" LastEditDate="2012-11-24T07:11:42.127" LastActivityDate="2012-11-24T07:11:42.127" Title="Inferring Cartesian position from a set of nodes where only distance is known" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;" AnswerCount="1" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="10103" PostTypeId="1" AcceptedAnswerId="10164" CreationDate="2012-02-07T16:24:09.877" Score="15" ViewCount="523" Body="&lt;h2&gt;Question.&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;In their paper &lt;a href=&quot;http://arxiv.org/pdf/quant-ph/0406196&quot; rel=&quot;nofollow noreferrer&quot;&gt;&lt;em&gt;Improved simulation of stabilizer circuits&lt;/em&gt;&lt;/a&gt;, Aaronson and Gottesman claim that simulating a CNOT circuit is &lt;a href=&quot;http://qwiki.stanford.edu/index.php/Complexity_Zoo:Symbols#parityl&quot; rel=&quot;nofollow noreferrer&quot;&gt;&lt;strong&gt;&amp;oplus;L&lt;/strong&gt;&lt;/a&gt;-complete (under logspace reductions). It is clear that it is contained in &lt;strong&gt;&amp;oplus;L&lt;/strong&gt;; how does the hardness result hold?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Equivalently:&lt;/em&gt; is there a logspace reduction from iterated matrix products modulo&amp;nbsp;2, to iterated products of elementary matrices (the invertible matrices which realize row transformations) mod&amp;nbsp;2?&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Details&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;A &lt;em&gt;controlled-NOT&lt;/em&gt; (or &lt;em&gt;CNOT&lt;/em&gt;) operation is a reversible boolean operation, of the form&#xA;$$&#xA;\mathsf{CNOT}_{\!h,j} (x_1\,, \;\ldots\;, x_h\,,\; \ldots\;, x_j\,, \;\ldots\;, x_n)&#xA;\;\;=\;\;&#xA;(x_1\,, \;\ldots\;, x_h\,,\; \ldots\;, x_j \oplus x_h\,, \;\ldots\;, x_n)&#xA;$$&#xA;where only the &lt;em&gt;j&lt;/em&gt;&lt;sup&gt;&amp;thinsp;th&amp;thinsp;&lt;/sup&gt; bit is changed, and that bit is changed by adding $x_h$ modulo 2, for any distinct positions &lt;em&gt;h&lt;/em&gt; and &lt;em&gt;j&lt;/em&gt;. It is not hard to see, if we interpret $\mathbf x = (x_1\,, \;\ldots\;, x_n)$ as a vector over &amp;#8484;/2&amp;#8484;, that this corresponds to an elementary row transformation modulo 2, which we may represent by a matrix with 1s on the diagonal and a single off-diagonal position. A &lt;em&gt;CNOT circuit&lt;/em&gt; is then a matrix product consisting of a product of some elementary matrices of this type.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The paper by Aaronson and Gottesman mentioned above (which, &lt;em&gt;very incidentally&lt;/em&gt; to this question, is about a class of quantum circuits which can be simulated in  &lt;strong&gt;&amp;oplus;L&lt;/strong&gt;) has a section on computational complexity. Towards the beginning of this section, they describe &lt;strong&gt;&amp;oplus;L&lt;/strong&gt; as follows:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;&amp;oplus;L&lt;/strong&gt; [is] the class of all problems that are solvable by a&#xA;  nondeterministic logarithmic-space Turing machine, that&#xA;  accepts if and only if the total number of accepting paths&#xA;  is odd. But there is an alternate deﬁnition that is probably more intuitive to non-computer-scientists. This is&#xA;  that &lt;strong&gt;&amp;oplus;L&lt;/strong&gt; is the class of problems that reduce to simulating&#xA;  a polynomial-size CNOT circuit, &lt;em&gt;i.e.&lt;/em&gt;&amp;nbsp;a&amp;nbsp;circuit composed&#xA;  entirely of NOT and CNOT gates, acting on the initial&#xA;  state |0...0&amp;rang;. (It is easy to show that the two deﬁnitions&#xA;  are equivalent, but this would require us ﬁrst to explain&#xA;  what the usual deﬁnition means!)&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The target audience of the article included a substantial number of non-computer-scientists, so the wish to elide is not unreasonable; I'm hoping someone can clarify how this equivalence holds. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Clearly, simulating a product of such matrices can be performed in &lt;strong&gt;&amp;oplus;L&lt;/strong&gt; as a special case of evaluating coefficients of iterated matrix products (mod&amp;nbsp;2), which is a complete problem (under logspace reductions) for &lt;strong&gt;&amp;oplus;L&lt;/strong&gt;.&#xA;Furthermore, as the CNOT matrices just perform elementary row operations, any invertible matrix can be decomposed as a product of CNOT matrices. However: it is not clear how to me how to decompose even an invertible matrix mod&amp;nbsp;2 into a product of CNOT matrices &lt;em&gt;by a logspace reduction&lt;/em&gt;. (Indeed, as noted by Emil Jeřábek in the comments, Gaussian elimination suffices to compute determinants mod 2, which is a &lt;strong&gt;&amp;oplus;L&lt;/strong&gt;-complete problem: so a direct attack by decomposing &lt;em&gt;e.g.&lt;/em&gt;&amp;nbsp;invertible matrices as products of elementary matrices seems not to be feasible in logspace unless &lt;a href=&quot;https://cstheory.stackexchange.com/q/8991/248&quot;&gt;&lt;strong&gt;L&lt;/strong&gt;&amp;nbsp;=&amp;nbsp;&lt;strong&gt;&amp;oplus;L&lt;/strong&gt;&lt;/a&gt;.) To say nothing of matrix products which are not invertible. So some cleverer reduction seems to be required.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I hope someone can provide a sketch of this reduction, or a reference (&lt;em&gt;e.g.&lt;/em&gt;&amp;nbsp;a&amp;nbsp;text for which this is an exercise, if it is simple).&lt;/p&gt;&#xA;" OwnerUserId="248" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2012-11-24T07:11:00.427" Title="Log-space reduction from Parity-L to CNOT circuits?" Tags="&lt;cc.complexity-theory&gt;&lt;counting-complexity&gt;&lt;linear-algebra&gt;&lt;logspace&gt;" AnswerCount="1" CommentCount="7" FavoriteCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="10104" PostTypeId="1" AcceptedAnswerId="10121" CreationDate="2012-02-07T17:08:53.177" Score="19" ViewCount="1200" Body="&lt;p&gt;I was just recently having a discussion about Turing Machines when I was asked, &quot;Is the Turing Machine derived from automata, or is it the other way around&quot;?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I didn't know the answer of course, but I'm curious to find out. The Turing Machine is basically a slightly more sophisticated version of a Push-Down Automata. From that I would assume that the Turing Machine was derived from automata, however I have no definitive proof or explanation. I might just be plain wrong... perhaps they were developed in isolation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Please! Free this mind from everlasting tangents of entanglement.&lt;/p&gt;&#xA;" OwnerUserId="8290" LastEditorUserId="-1" LastEditDate="2012-11-24T07:10:44.063" LastActivityDate="2012-11-24T07:10:44.063" Title="Is the concept of the Turing Machine derived from automata?" Tags="&lt;fl.formal-languages&gt;&lt;computability&gt;&lt;automata-theory&gt;&lt;turing-machines&gt;&lt;ho.history-overview&gt;" AnswerCount="3" CommentCount="3" FavoriteCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="10105" PostTypeId="2" ParentId="9938" CreationDate="2012-02-07T17:35:32.650" Score="-1" Body="&lt;p&gt;ok taking into account new info &amp;amp; avoiding some tricky prior false start/red herring refs (mea culpa), here are some new refs on this.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.springerlink.com/content/tj122w6778812528/&quot; rel=&quot;nofollow&quot;&gt;Rapidly Solving an Online Sequence of Maximum Flow Problems with Extensions to Computing Robust Minimum Cuts&lt;/a&gt;&#xA;Doug Altner and Özlem Ergun&lt;/p&gt;&#xA;&#xA;&lt;p&gt;this ref considers &lt;em&gt;online&lt;/em&gt; sequences of MFPs and &quot;warm starts&quot; ie building on incremental chgs to a prior MFP. &quot;We demonstrate that our algorithms reduce the running time by an order of magnitude when compared similar codes that use a black-box MFP solver. In particular, we show that our algorithm for robust minimum cuts can solve instances in seconds that would require over four hours using a black-box maximum flow solver.&quot;&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://smartech.gatech.edu/handle/1853/24828&quot; rel=&quot;nofollow&quot;&gt;advancements on problems involving maximum flows&lt;/a&gt; Altner, Douglas S., georgia tech&lt;/p&gt;&#xA;&#xA;&lt;p&gt;in this 2008 Phd thesis (downloadable pdf) the author considers the problem of incrementally adding arcs which appears to be &quot;close enough&quot; to the problem of adding new vertices (with multiple new arcs). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;much of this ref is concerned with deleting parts of the network (cuts/&quot;interdiction&quot;) as stated in 1st part of abstract &lt;/p&gt;&#xA;&#xA;&lt;p&gt;see esp &quot;IV SOLVING ONLINE SEQUENCES OF MAXIMUM FLOWS . . . . . . . p63&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;p 63 &quot;The goal&#xA;of this chapter, however, is to convince the reader that iteratively using a black-box&#xA;maximum flow solver to solve a large sequence of MFPs may lead to an enormous&#xA;number of unnecessary computations.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;p66 &quot;In the aforementioned applications, the MFPs are typically topologically similar.&#xA;That is, the next MFP in the sequence differs from the previous one by adding&#xA;or removing a small number of arcs or by predictably changing the capacities of&#xA;a localized arc set. Moreover, when solving these instances, the time and space&#xA;required to store anything beyond the solution to the previous problem is typically&#xA;unwarranted.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;p67 author also uses the &quot;warm start&quot; approach here. &quot;An effective strategy towards quickly solving an entire online sequence of optimization problems is to develop efficient reoptimization heuristics. To this end, we develop&#xA;a modified maximum flow algorithm that is designed for efficient warm starts.&quot;&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;see esp p71 that has the specific incremental new-arc problem:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;New Arc Maximum Flow Reoptimization Problem (NAMFRP)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;the author considers the more general problems p67&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Maximum Flow Reoptimization Problem (MFROP)&lt;br&gt;&#xA;Maximum Flow Single Arc Reoptimization Problem (MFSAROP)&lt;/p&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="7884" LastEditDate="2012-02-07T17:46:10.027" LastActivityDate="2012-02-07T17:46:10.027" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10106" PostTypeId="1" CreationDate="2012-02-07T17:40:23.083" Score="14" ViewCount="520" Body="&lt;p&gt;One of my friends asks me the following scheduling problem on tree. I find it is very clean and interesting. &lt;strong&gt;Is there any reference for it?&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Problem:&lt;/strong&gt;&#xA;There is a tree $T(V,E)$, &lt;strong&gt;each edge has symmetric traveling cost of 1&lt;/strong&gt;. For each vertex $v_i$, there is a task which needs to be done before its deadline $d_i$. The task is also denoted as $v_i$. Each task has the uniform value 1. &lt;strong&gt;The processing time is 0 for each task&lt;/strong&gt;, i.e., visiting a task before its deadline equals finishing it. Without loss of generality, let $v_0$ denote the root and assuming there is no task located at $v_0$. There is a vehicle at $v_0$ at time 0. Besides, we assume that &lt;strong&gt;$d_i \ge dep_i$ for every vertex&lt;/strong&gt;, $dep_i$ stands for the depth of $v_i$. This is self-evident, the vertex with deadline less than its depth should be taken as outlier. &lt;strong&gt;The problem asks to find a scheduling which finishes as many tasks as possible.&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Progress:&lt;/strong&gt; &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;If the tree is restricted to a path, then it is in $\mathsf{P}$ via dynamic programming. &lt;/li&gt;&#xA;&lt;li&gt;If the tree is generalized to a graph, then it is in $\mathsf{NP}$-complete.&lt;/li&gt;&#xA;&lt;li&gt;I have a very simple greedy algorithm which is believed 3-factor apporoximation. I have not proved it completely. Rightnow, I am more interested about the NP-hard results. :-)&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Thanks for your advice. &lt;/p&gt;&#xA;" OwnerUserId="6108" LastEditorUserId="6108" LastEditDate="2012-02-14T14:19:42.923" LastActivityDate="2014-06-27T18:11:41.013" Title="Is this optimum travelling problem under deadlines NP-hard on trees?" Tags="&lt;ds.algorithms&gt;&lt;graph-algorithms&gt;&lt;np-hardness&gt;" AnswerCount="3" CommentCount="13" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="10107" PostTypeId="1" AcceptedAnswerId="10115" CreationDate="2012-02-07T17:57:14.170" Score="2" ViewCount="148" Body="&lt;p&gt;&lt;strong&gt;Background:&lt;/strong&gt; I have been working on the following problem and was curious if this has come up before, what is it called in the literature, and what are previously tried methods? The motivation for working on this is involved with a certain sequence assembly problem I am working with in bioinformatics.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Problem:&lt;/strong&gt;&#xA;Given a complete bipartite graph $G = (A, B, E)$ and positive integer weights, label edges (with non-negative integers) such that, &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\sum_j w_{ij} = w_i$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;That is, for each vertex $i$, label incident edges such that their sum is equivalent to $w_i$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Does a given instance have a solution?&lt;/strong&gt;&#xA;(Sketch) Split each vertex $i$ with weight $w_i$ into $w_i$ copies of weight 1. So long as a perfect matching exists, we can solve the above equation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;How to solve?&lt;/strong&gt;&#xA;Since the rank of bipartite graphs is $n - 1$ we can see that there exists a solution with at most $n - 1$ edges that will receive non-negative labels.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A simple greedy algorithm can produce a solution by simply matching the maximum vertices, labeling the edge as the min of the two, reducing the counts, and continuing on the remaining vertices.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But these solutions assume that the sums of the weights in $A$ and $B$ are equivalent. So how can we generalize when the weights are uneven? And furthermore, what if we want to maximize the number of 0 labelings?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Generalized Approach&lt;/strong&gt;:&#xA;If we set weights in $A$ to positive values and weights in $B$ to negative values we may solve with a dynamic programming solution to minimize the absolute value of the sum of each connected component.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\text{MinForest}(S, v) = &#xD;&#xA;\begin{cases} &#xD;&#xA;    \infty \text{ if } v \text{ is not valid in } S \\&#xD;&#xA;    w(v) + min_{S’ = \text{ partitions of S with respect to r}} \text{MinForest}(S’ - \{r\}, i) \forall i \in S &amp;amp; \text{ otherwise}&#xD;&#xA;\end{cases}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where a vertex $v$ is valid iff $w(v) + \sum_{u \in \text{children}} w(u)$ is between 0 and $w(v)$. Any unlabeled edge will be assigned a value of 0.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Alternatives?&lt;/strong&gt;&#xA;Now it appears similar to edge-graceful labelings, but without the modulo requirement. Are there other edge labeling problems similar to this? Additionally, do these current approaches seem sound? &lt;/p&gt;&#xA;" OwnerUserId="1501" LastEditorUserId="1501" LastEditDate="2012-02-07T19:49:51.633" LastActivityDate="2012-02-08T07:19:35.103" Title="Edge labeling in $K_{m,n}$" Tags="&lt;reference-request&gt;&lt;graph-theory&gt;&lt;co.combinatorics&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="10108" PostTypeId="1" AcceptedAnswerId="10111" CreationDate="2012-02-07T21:56:43.627" Score="6" ViewCount="479" Body="&lt;p&gt;Wikipedia has the following definition:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Thread safety is a computer programming concept applicable in the&#xA;  context of multi-threaded programs. A piece of code is thread-safe if&#xA;  it only manipulates shared data structures in a manner that guarantees&#xA;  safe execution by multiple threads at the same time. There are various strategies for making thread-safe data structures.[1][2] ... and so on ( &lt;a href=&quot;http://en.wikipedia.org/wiki/Thread-safety&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/Thread-safety&lt;/a&gt; )&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;So, code is thread-safe if it operates in thread-safe manner! Hmm...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, precise definition seems not to be simple. A naive approach is:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thread-safety means that program's observable behavior does not depend on eligible thread scheduling order.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Still, it may be incorrect definition. Say, threads may log  messages into log file, and reodering of log messages may be OK. So program observable behavior may vary, but the program may be considered thread-safe.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Probably, we need to specify allowed types of different program observable behaviors while being thread-safe.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Yet another complication: there may be  thread-safe (or thread-unsafe) code, not the whole program. (One may think about compositional properties of (non-)thread-safe code and so on)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, the questions are: how to precisely define thread safety? Is there concise definition? What work was done to define thread safety?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;UPDATE:&lt;/strong&gt; Thanks for all the high quality links you supplied. The links contain answers to additional question(s) that I planned to ask. Feel free to add new (appropriate) links even though I have chosen my prefered answer.&lt;/p&gt;&#xA;" OwnerUserId="8294" LastEditorUserId="8294" LastEditDate="2012-02-08T03:37:26.463" LastActivityDate="2020-12-26T03:05:00.007" Title="(concise?) definition of thread safety" Tags="&lt;reference-request&gt;&lt;soft-question&gt;&lt;pl.programming-languages&gt;&lt;big-picture&gt;&lt;terminology&gt;" AnswerCount="2" CommentCount="10" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="10109" PostTypeId="2" ParentId="10108" CreationDate="2012-02-07T22:32:11.727" Score="6" Body="&lt;p&gt;There has been a lot of work on this, usually under the heading of &quot;memory models&quot;.  See, for example:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The &lt;a href=&quot;http://www.cs.umd.edu/~pugh/java/memoryModel/&quot; rel=&quot;noreferrer&quot;&gt;Java memory model&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://dl.acm.org/citation.cfm?id=1375591&quot; rel=&quot;noreferrer&quot;&gt;Foundations of the C++ Concurrency Memory Model&lt;/a&gt; by Boehm and Adve&lt;/li&gt;&#xA;&lt;li&gt;Lots of &lt;a href=&quot;http://www.cl.cam.ac.uk/~pes20/weakmemory/index.html#CPP&quot; rel=&quot;noreferrer&quot;&gt;recent work&lt;/a&gt; by Peter Sewell's group on C++ concurrency and hardware memory models&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="2185" LastActivityDate="2012-02-07T22:32:11.727" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="10110" PostTypeId="2" ParentId="10052" CreationDate="2012-02-08T00:20:37.147" Score="2" Body="&lt;p&gt;My research practices, when I go into new research domain, cover combination of memory management, mnemonic, notes and other practices.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have no one recipe, cause each is dependent on nature of given domain.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For some inspiration and sake of discussion, here is and example that came now into my mind:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Go through papers into a few iterations:&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;First, to get adjusted to domain and get first &lt;em&gt;intuition&lt;/em&gt; about approaches and notations.&lt;/li&gt;&#xA;&lt;li&gt;Next step is preparation to &lt;em&gt;&quot;clusterization&quot;&lt;/em&gt; of papers.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;prepare list of &lt;em&gt;tags&lt;/em&gt; representing approaches, notations, features and other interesting me properties.&lt;/li&gt;&#xA;&lt;li&gt;Before I start tagging I go through papers and evaluate my tags, correct appropriately.&lt;/li&gt;&#xA;&lt;li&gt;Finally I tag papers&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;li&gt;Then I &lt;em&gt;process papers&lt;/em&gt; according to tags &lt;em&gt;in groups&lt;/em&gt;: with similar notation, approach...&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Thanks to working with papers sharing &lt;em&gt;common&lt;/em&gt; properties, you can concentrate on &lt;em&gt;differences&lt;/em&gt;.&lt;/li&gt;&#xA;&lt;li&gt;I prepare notes in form of &lt;a href=&quot;http://en.wikipedia.org/wiki/Mind_map&quot; rel=&quot;nofollow&quot;&gt;MindMap&lt;/a&gt; with &lt;a href=&quot;http://freemind.sourceforge.net&quot; rel=&quot;nofollow&quot;&gt;FreeMind&lt;/a&gt;. To easily reach &quot;what was what&quot;.&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;li&gt;After processing papers grouped in sets with tags, try look at whole area with all groups to get boarder view.&lt;/li&gt;&#xA;&lt;li&gt;Now is step of looking thought whole domain to see connections and differences. When I can't remember details, I check-out in my MindMap to remind, what was what.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Try to avoid overloading your memory, when it's unneeded, use: &lt;a href=&quot;http://en.wikipedia.org/wiki/Mnemonic&quot; rel=&quot;nofollow&quot;&gt;Mnemonics&lt;/a&gt; and &lt;a href=&quot;http://en.wikipedia.org/wiki/Art_of_memory&quot; rel=&quot;nofollow&quot;&gt;Art Of Memory&lt;/a&gt; techniques. Use MindMapping.&lt;/p&gt;&#xA;" OwnerUserId="6133" LastActivityDate="2012-02-08T00:20:37.147" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10111" PostTypeId="2" ParentId="10108" CreationDate="2012-02-08T00:31:30.837" Score="0" Body="&lt;p&gt;arguably thread safety is a more abstract concept that would be difficult to formally/strictly define although there are some definitions with variations in the literature depending on the specific context. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;thread safety also fits in highly with &quot;best practices&quot; and &quot;design patterns&quot;. loosely defined, a thread safe program does not have bugs related to multithreading. this definition is intentionally vague because defining thread safety exactly would almost be as difficult as defining what constitutes a &quot;bug&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;heres another way to approach it. generally thread count $n$ is the variable in multithreaded system. thread safety means that the code &quot;runs the same&quot; or &quot;gets the same results&quot; regardless of $n$ including $n=1$, or for both $n=1$ and $n&amp;gt;1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;here is a &lt;a href=&quot;http://www.ibm.com/developerworks/java/library/j-jtp09263/index.html&quot; rel=&quot;nofollow&quot;&gt;taxonomy&lt;/a&gt; of &quot;degrees of thread safety&quot; outlined by a java practitioner/authority/author that would probably be general across languages:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;immutable, thread-safe, conditionally thread-safe, thread-compatible, and thread-hostile&lt;/p&gt;&#xA;&#xA;&lt;p&gt;the general trend is to create high level abstraction libaries for multithreading (see intel threadable building blocks, java concurrent library) and use the higher level object abstractions instead of lower-level language features. (eg in java this would be &quot;synchronized&quot; code, special thread-related keywords like &quot;transient&quot; etcetera).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;there is a lot of research in this area in papers &amp;amp; one paper I recall attempted to create and prove that a simple system built out of &quot;pipes and filters&quot; design pattern (similar to unix) was both thread safe and that many alternatives were likely not threadsafe, but cant locate it at the moment.&lt;/p&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2012-02-08T00:31:30.837" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="10112" PostTypeId="2" ParentId="10091" CreationDate="2012-02-08T01:19:45.710" Score="5" Body="&lt;p&gt;For the benefit of the others, the minimum code distance problem for codes over $\mathbb{F}_2$ is: given a matrix $H$ ($m$ by $n$, with elements from $\mathbb{F}_2$) and a positive integer $w$, does there exist a vector $x$ such that $Hx = 0$ and the hamming weight (number of 1's) of $x$ is at most $w$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since both max ind set and the minimum distance of a linear code are NP complete, there are many-one reductions in either direction. However, it doesn't seem that any of the reductions in the literature that I have seen are directly from max independent set. Actually it seems that the known reductions are from other problems related to coding. Alexander Vardy &lt;a href=&quot;http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=641542&quot;&gt;proved&lt;/a&gt; the NP-hardness of computing the min distance by reducing from the max-likelihood decoding problem: given a matrix $H$ over $\mathbb{F}_2$, a vector $s$ and a positive integer $w$, does there exist a vector $x$ such that $Hx = s$ and the weight of $x$ is at most $w$. This problem was shown to be NP-hard by &lt;a href=&quot;http://authors.library.caltech.edu/5607/&quot;&gt;Berlekamp and others&lt;/a&gt; by reduction from &lt;a href=&quot;http://en.wikipedia.org/wiki/3-dimensional_matching&quot;&gt;3-dimensional matching&lt;/a&gt; (which is one of the Karp problems and can be reduced to from 3SAT). If you want to reduce max independent set to 3SAT and piece together all these reductions, I guess you can get what you want...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is a line of work that looks at hardness of approximating the min distance problem. However, reductions there are also from other coding problems. For example, &lt;a href=&quot;http://cseweb.ucsd.edu/~daniele/papers/DMS.pdf&quot;&gt;Dumer and others&lt;/a&gt; show a hardness of approximation result for the min distance problem by reducing from the nearest codeword problem (given a message find the nearest codeword in hamming distance). A hardness of approximation result for the latter problem was proved by &lt;a href=&quot;http://www.di.ens.fr/~stern/data/St49b.pdf&quot;&gt;Arora and others&lt;/a&gt;, as far as I can tell using two methods: reducing from set cover, or reducing from label cover.&lt;/p&gt;&#xA;" OwnerUserId="4896" LastEditorUserId="4896" LastEditDate="2012-02-08T04:27:33.113" LastActivityDate="2012-02-08T04:27:33.113" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10113" PostTypeId="1" CreationDate="2012-02-08T02:45:26.123" Score="2" ViewCount="148" Body="&lt;p&gt;Are there any non-trivial parallel algorithms to find the optimum (local or global) of polynomials? By trivial, I mean something which is an obvious application of a serial algorithm. For example, one trivial way to parallelize the search for a global optimum would be to partition the space and then search for a global optimum amongst all the partitions in parallel.&lt;/p&gt;&#xA;" OwnerUserId="8298" LastEditorUserId="-1" LastEditDate="2012-11-24T07:12:04.140" LastActivityDate="2012-11-24T07:12:04.140" Title="Parallel algorithms to find the optimum of polynomials" Tags="&lt;optimization&gt;&lt;dc.parallel-comp&gt;&lt;polynomials&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10114" PostTypeId="2" ParentId="9622" CreationDate="2012-02-08T05:58:57.500" Score="0" Body="&lt;p&gt;The following solution is based on the this assumpotion/conjecture [to be proved]:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Conjecture&lt;/em&gt;: The expectation of a convex function on $\textrm{conv}(K\bigcup K&amp;#39;)$ is smaller than the larger between the expectation on $K$ and the expectation on $K&amp;#39;$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[We will need the above only for $K,K&amp;#39;$ convex, but is might be true in general]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Take now any set $K$ and apply a rotation $R$ to it centered on the origin, obtaining $R(K)$. You are going to have $f(K)=f(R(K))$, because the rotation leaves the length of the elements of $K$ invariant. If I am right about the conjecture, $f(\textrm{conv}(K\bigcup R(K)))\leq f(K)$. Since for any optimal $L$ you could consider $L&amp;#39;=\bigcup_R R(L)=\textrm{conv}(\bigcup_R R(L))$, where $\bigcup_R$ indicates the union over all rotations, and have $f(L)\geq f(L&amp;#39;) \geq f(L)$, it would seem that the optimal $L$ can be chosen to be the smallest sphere containing $K$.&lt;/p&gt;&#xA;" OwnerUserId="8299" LastActivityDate="2012-02-08T05:58:57.500" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="10115" PostTypeId="2" ParentId="10107" CreationDate="2012-02-08T07:19:35.103" Score="4" Body="&lt;p&gt;Not sure if I understand your problem correctly, but how about considering it as a flow network problem:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Consider all edges between $A$ and $B$ to be directed edges from $A$ to $B$, the capacity of such edges will be infinity.&lt;/li&gt;&#xA;&lt;li&gt;Add a source $s$ from which an edge goes out to each of the vertices in A. The capacity of an edge $(s, a_i)$ where $a_i \in A$ is $w(a_i)$.&lt;/li&gt;&#xA;&lt;li&gt;Add sink $t$, and from every $b_j \in B$ an edge $(b_j,t)$ with capacity $w(b_j)$.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;A maximum flow algorithm will assign weights to the edges between A and B, and you're done (the common algorithms also guarantee that the weights are integers).&lt;/p&gt;&#xA;" OwnerUserId="7715" LastActivityDate="2012-02-08T07:19:35.103" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="10116" PostTypeId="2" ParentId="10106" CreationDate="2012-02-08T07:29:37.507" Score="1" Body="&lt;p&gt;&lt;strong&gt;For this to be true, we have to make some assumptions. See comments below&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the tree case, I believe that there is a polynomial time recursive dynamic programming algorithm parameterized by the maximum deadline time. The sub-problems are: if we enter a sub-tree by time $t_a$ and exit the sub-tree by time $t_b$, what is the maximum number of tasks we can finish in the sub-tree? The base cases at the leaves are easy and we memoize from the bottom up. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we truly parameterized by the maximum deadline time, then the algorithm would not really be polynomial in the size of the tree. However, the length of the longest path that visits every node in the tree is only polynomial in $|V|$, and we never need to check deadline times later than that.&lt;/p&gt;&#xA;" OwnerUserId="8078" LastEditorUserId="8078" LastEditDate="2012-02-16T08:39:36.067" LastActivityDate="2012-02-16T08:39:36.067" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="10117" PostTypeId="1" AcceptedAnswerId="10119" CreationDate="2012-02-08T10:05:05.100" Score="7" ViewCount="432" Body="&lt;p&gt;My problem is related to the standard bin packing problem (where you have bins of capacity $1$, items of capacity $(0,1]$, and want to pack the items into as few bins as possible), but there are a couple of twists. First, you have a fixed number of bins, and want to fit as many items as possible into them. As far as I can see, this is not obviously equivalent (except for the decision versions of the problems). Or perhaps I’m missing something obvious?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Second, some items are not permitted in some bins. That is, for each item, there is a list of forbidden bins.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does this problem have a name? Even a name for the version without the forbidden bins would be useful. (I’m sure the “as many items as possible” part must be a totally standard packing problem?)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What I’m ultimately looking for is a way of attacking the problem (an exponential, exact DP algorithm; an approximation algorithm; a good heuristic/B&amp;amp;B solution…), or some starting-point that could be adapted.&lt;/p&gt;&#xA;" OwnerUserId="901" LastEditorUserId="-1" LastEditDate="2012-11-24T07:11:55.607" LastActivityDate="2012-11-24T07:11:55.607" Title="Does this bin packing problem have a name?" Tags="&lt;ds.algorithms&gt;&lt;approximation-algorithms&gt;&lt;heuristics&gt;&lt;packing&gt;&lt;dynamic-programming&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="10118" PostTypeId="2" ParentId="10102" CreationDate="2012-02-08T11:02:44.260" Score="2" Body="&lt;p&gt;I think that &quot;&lt;a href=&quot;http://en.wikipedia.org/wiki/Trilateration&quot; rel=&quot;nofollow&quot;&gt;Trilateration&lt;/a&gt;&quot; should solve your problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In geometry, &lt;em&gt;trilateration&lt;/em&gt; is the process of determinating absolute or relative locations of points by measurement of distances, using the geometry of circles, spheres or triangles. In addition to its interest as a geometric problem, trilateration does have practical applications in surveying and navigation, including global positioning systems (GPS). In contrast to triangulation it does not involve the measurement of angles. ...&lt;/p&gt;&#xA;" OwnerUserId="3247" LastActivityDate="2012-02-08T11:02:44.260" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10119" PostTypeId="2" ParentId="10117" CreationDate="2012-02-08T11:33:46.787" Score="8" Body="&lt;p&gt;Your problem is &lt;em&gt;the multiple knapsack problem&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Although I am not familiar with this problem, I believe you'll find some papers on your problem, since there are many papers on this problem (see for example a &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=1496843&quot;&gt;SODA 2009 paper&lt;/a&gt;)&lt;/p&gt;&#xA;" OwnerUserId="3825" LastActivityDate="2012-02-08T11:33:46.787" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="10120" PostTypeId="2" ParentId="10113" CreationDate="2012-02-08T14:10:25.663" Score="3" Body="&lt;p&gt;To the best of my knowledge, parallelization of this problem is not done as you suggested, i.e., searching in parallel the whole space to determine extremal points. A much faster parallelization method for multi-variate polynomials (when appropriate) may be based on the use of parallel automatic differentiation, the (parallel) solution of the resulting system of equations and finally the study of the related Hessian. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, you may consider non trivial the paper &quot;&lt;a href=&quot;http://awbsworld.de/files/bsc-abierfert-456993.pdf&quot; rel=&quot;nofollow&quot;&gt;Polynomial Optimization via Recursions and Parallel Computing&lt;/a&gt;&quot;, which deals with the problem of finding the global minimum for a special class of dominated real valued polynomials.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&quot;&lt;a href=&quot;http://www.mcs.anl.gov/~peet/polya_acc.pdf&quot; rel=&quot;nofollow&quot;&gt;A Parallel-Computing Solution for Optimization of Polynomials&lt;/a&gt;&quot; provides a parallel algorithm for determining polynomial positivity.&lt;/p&gt;&#xA;" OwnerUserId="4208" LastActivityDate="2012-02-08T14:10:25.663" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10121" PostTypeId="2" ParentId="10104" CreationDate="2012-02-08T14:17:30.143" Score="28" Body="&lt;p&gt;&lt;strong&gt;Neither!&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The best way to see this independence is to read &lt;a href=&quot;http://classes.soe.ucsc.edu/cmps130/Spring09/Papers.html&quot;&gt;the original papers&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://classes.soe.ucsc.edu/cmps130/Spring09/Papers/turing-1936.pdf&quot;&gt;Turing's 1936 paper&lt;/a&gt; introducing Turing machines does not refer to any simpler type of (abstract) finite automaton.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://classes.soe.ucsc.edu/cmps130/Spring09/Papers/mculloch-pitts.pdf&quot;&gt;McCulloch and Pitts' 1943 paper&lt;/a&gt; introducing &quot;nerve-nets&quot;, the precursors of modern-day finite-state machines, proposed them as simplified models of neural activity, not computation per se.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;For an interesting early perspective, see the &lt;a href=&quot;http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=4051186&quot;&gt;1953 survey by Claude Shannon&lt;/a&gt;, which has an entire section on Turing machines, but says nothing about finite automata as we would recognize them today (even though he cites Kleene's 1951 report).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Modern finite automata arguably start with &lt;a href=&quot;http://classes.soe.ucsc.edu/cmps130/Spring09/Papers/kleene_1956.pdf&quot;&gt;a 1956 paper of Kleene&lt;/a&gt;, originally published as a RAND technical report in 1951, which defined regular expressions.  Kleene was certainly aware of Turing's results, having published &lt;a href=&quot;http://www.springerlink.com/content/p11t718324483v87/&quot;&gt;similar results himself&lt;/a&gt; (in the language of primitive recursive functions) at almost the same time.  Nevertheless, Kleene's only reference to  Turing is an explanation that Turing machines are not finite automata, because of their unbounded tapes.  It's of course possible that Kleene's thinking was influenced by Turing's abstraction, but Kleene's definitions appear (to me) to be independent.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the &lt;a href=&quot;http://books.google.com/books?id=oL57iECEeEwC&quot;&gt;1956 survey volume edited by Shannon and McCarthy&lt;/a&gt;, in which both &lt;a href=&quot;http://classes.soe.ucsc.edu/cmps130/Spring09/Papers/kleene_1956.pdf&quot;&gt;Kleene's paper on regular experssions&lt;/a&gt; and &lt;a href=&quot;http://people.mokk.bme.hu/~kornai/MatNyelv/moore_1956.pdf&quot;&gt;Moore's paper on finite-state transducers&lt;/a&gt; were finally published, finite automata and Turing machines were discussed side by side, but almost completely independently.  Moore also cites Turing, but only in a footnote stating that Turing machines aren't finite automata.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(&lt;a href=&quot;http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=5477410&quot;&gt;A recent paper of Kline&lt;/a&gt; recounts the rather stormy history of this volume and the associated Dartmouth conference, sometimes called the &quot;birthplace of AI&quot;.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(An even earlier version of neural nets is found in Turing's work on &quot;type B machines&quot;, as reprinted in the book &quot;The essential Turing&quot;, from about 1937 I think.  It seems likely that many people were playing with the idea at the time, as even today many CS undergrads think they have &quot;invented&quot; it at some point in their studies before discovering its history.)&lt;/p&gt;&#xA;" OwnerUserId="111" LastEditorUserId="-1" LastEditDate="2012-11-22T14:55:21.793" LastActivityDate="2012-11-22T14:55:21.793" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="10123" PostTypeId="2" ParentId="791" CreationDate="2012-02-08T14:32:17.533" Score="23" Body="&lt;p&gt;Some of you are probably aware of this, but the 17 x 17 coloring problem has been &lt;a href=&quot;http://www.cs.umd.edu/~gasarch/BLOGPAPERS/17.txt&quot;&gt;solved&lt;/a&gt; by Bernd Steinbach and Christian Posthoff.  See Gasarch's blog post &lt;a href=&quot;http://blog.computationalcomplexity.org/2012/02/17x17-problem-solved-also-18x18.html&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="123" LastActivityDate="2012-02-08T14:32:17.533" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10124" PostTypeId="2" ParentId="10104" CreationDate="2012-02-08T16:25:02.667" Score="-1" Body="&lt;p&gt;you mention PDAs specifically. note a Turing machine is equivalent to a PDA with two stacks. PDAs original rationale seems to have been closely related to the development of &quot;language theory&quot; ala chomsky.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;see eg &lt;a href=&quot;http://books.google.com/books/about/Structure_of_language_and_its_mathematic.html&quot; rel=&quot;nofollow&quot;&gt;Syntactic Analysis and the Pushdown Store,&quot; Proceedings of Symposia in Applied Mathematics (Vol. 12). Providence, RI: American Mathematical Society, 1961  &lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;this is has one of the earliest references Ive seen by Oettinger, &quot;Automatic syntactic analysis and the pushdown store&quot; p104, dont know if there are earlier refs to the PDA.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;it took many years of study of all the interelated automata to start to devise a unifying theory (still being constructed). the Turing complete concepts were devised around the late 30s or so when it was seen that the lambda calculus (developed independently by Church) was equivalent to Turing machines &amp;amp; equivalence to Post machines was shown around the same time (although these 3 models were devised somewhat independently &amp;amp; not immediately realized to be Turing equivalent on their original construction).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;new models are still being devised eg Cellular Automata have a much more recent history and have been shown to be in various senses Turing complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;it seems fair to say that most working in computer science were familiar with Turings seminal 1936 paper &amp;amp; that it highly influenced all later formulations of automata constructions (particularly the concept of the state transition table which seems to have been introduced by Turing)&lt;/p&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="7884" LastEditDate="2012-02-08T16:32:47.453" LastActivityDate="2012-02-08T16:32:47.453" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10125" PostTypeId="2" ParentId="10088" CreationDate="2012-02-08T17:02:59.233" Score="-3" Body="&lt;p&gt;as far as I can tell after looking into this somewhat, there is a misunderstanding of the paper in the question. the question states that some of the algorithms are offline vs some online. but the algorithms in the paper are &lt;em&gt;all&lt;/em&gt; online it appears (but agree the authors are not clear on this point). that is what is accomplished by having random edge orderings-- the random edge ordering reflects edges coming &quot;online&quot; in whatever order, right? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;the authors seem to make no reference to &quot;offline&quot; algorithms in the paper and they refer to &quot;online&quot; only in the introduction that I see. they dont state this but the 1st algorithm seems to allow edges to come &quot;online&quot; in &quot;batches&quot; (ie random reordering in stages) whereas the 2nd algorithm does not.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;while you dont state it exactly you appear to be checking the math in proof for theorem 2.3 in the paper (p3) which establishes a lower bound on the number of colors in a tree and the authors assert it works for both algorithm 1 and 2 (&quot;for the 2nd algorithm.. the same bound holds&quot;). the proof is that no less than $1.23\Delta$ colors ($\Delta$=graph degree) are sufficient for all trees. it seems if this theorem is wrong as you are suggesting then one should be able to exhibit a tree that can be colored with fewer than $1.23\Delta$ colors &lt;em&gt;using those algorithms&lt;/em&gt;. from what I can tell your math is off because you are not expressing it using the same formulas in the proof eg you do not calculate the exponential formula in the proof.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;a way to empirically verify this lower bound would be to generate many random trees, or some sample from some distribution, run the two algorithms and verify that they always use at least $1.23\Delta$ colors.&lt;/p&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="7884" LastEditDate="2012-02-08T17:11:45.273" LastActivityDate="2012-02-08T17:11:45.273" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="10126" PostTypeId="2" ParentId="10044" CreationDate="2012-02-08T18:56:03.620" Score="6" Body="&lt;p&gt;As Timothy Chow explains, just knowing that a theorem is independent from a theory doesn't say much about the truth/falsity of that statement. Most non-experts confuse formal unprovability in a fixed theory (like $[ZFC][1]$) with impossibility of knowing that answer to the truth/falsity of the statement (or sometimes meaninglessness of the statement). Independence and formal unprovability always means independence/unprovability in a &lt;em&gt;theory&lt;/em&gt;. It simply means that the theory can prove neither the statement nor its negation. It doesn't mean that the statement does not have a truth value, it doesn't mean that we cannot know the truth value of the statement, we might be able to add new reasonable axioms that will make the theory strong enough to be able to prove the statements or its negation. At the end, provability in a theory is a formal abstract concept. It is related to our real world experience only as a model.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Same applies to the &lt;em&gt;thesis&lt;/em&gt; that efficient computation is captured by complexity class $\mathsf{P}$. See &lt;a href=&quot;https://cstheory.stackexchange.com/a/2804/186&quot;&gt;this post&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now you can ask if it is possible for a formal statement to not have a truth value. Generally in practice in principle, we can affirm $\Sigma_1$ (a.k.a. r.e.) properties and refute $\Pi_1$ (a.k.a. co-r.e.) properties by observations. Any statement more complex than this is not directly observable, i.e. no (finite) observation will allow you to affirm or refute the statement. However we can look at the observable logical consequences of these statements and try to use them to decide whether a statement is true or false. (For more on finitely observable properties see &lt;a href=&quot;http://www.cs.ox.ac.uk/samson.abramsky/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Samson Abramsky&lt;/a&gt;'s Ph.D. thesis &quot;&lt;a href=&quot;http://www.cs.ox.ac.uk/files/350/thesis.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Domain Theory and the Logic of Observable Properties&lt;/a&gt;&quot;, 1987 and &lt;a href=&quot;http://www.cs.bham.ac.uk/~sjv/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Steven Vickers&lt;/a&gt;' &quot;&lt;a href=&quot;http://books.google.ca/books/about/Topology_via_logic.html?id=VvCKDnCrZCgC&quot; rel=&quot;nofollow noreferrer&quot;&gt;Topology via Logic&lt;/a&gt;&quot;, 1996.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For most mathematicians statements of higher logical complexity are also meaningful and have a truth value, but this goes into the philosophical issues in mathematics. Almost all mathematicians believe that statements in the &lt;a href=&quot;http://en.wikipedia.org/wiki/Arithmetical_hierarchy&quot; rel=&quot;nofollow noreferrer&quot;&gt;arithmetical hierarchy&lt;/a&gt; are meaningful and have definite truth values, and in some sense they view the truth value of these statements to be more definite than statements of higher logical complexity (like &lt;a href=&quot;http://en.wikipedia.org/wiki/Continuum_hypothesis&quot; rel=&quot;nofollow noreferrer&quot;&gt;CH&lt;/a&gt;). The statement $\mathsf{P} \neq \mathsf{NP}$ can be stated as a $\Sigma_2$ statement and therefore is an arithmetical statement. As such, almost all mathematicians would believe that it is meaningful and has a definite truth value. You may want have a look at &lt;a href=&quot;https://mathoverflow.net/questions/34710/succinctly-naming-big-numbers-zfc-versus-busy-beaver&quot;&gt;this MO question&lt;/a&gt;, and search the posts on &lt;a href=&quot;http://www.cs.nyu.edu/mailman/listinfo/fom&quot; rel=&quot;nofollow noreferrer&quot;&gt;FOM mailing list&lt;/a&gt;. &lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.530" LastActivityDate="2012-02-08T18:56:03.620" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10128" PostTypeId="1" CreationDate="2012-02-08T20:11:05.200" Score="18" ViewCount="4148" Body="&lt;p&gt;I have looked far and wide for such applications and have mostly turned up short. I can find plenty of applications of topology and similar structures on countable (or uncountable) sets, but rarely do I actually find uncountable sets as the object of study by computer scientists, and therefore leading up to the need for techniques from analysis.&lt;/p&gt;&#xA;" OwnerUserId="5035" LastEditorUserId="186" LastEditDate="2012-02-09T02:19:07.987" LastActivityDate="2012-02-10T16:43:10.547" Title="Are there any applications of techniques in real analysis to theoretical computer science?" Tags="&lt;co.combinatorics&gt;&lt;big-picture&gt;" AnswerCount="11" CommentCount="7" FavoriteCount="11" CommunityOwnedDate="2012-02-09T16:11:14.533" ContentLicense="CC BY-SA 3.0" />
  <row Id="10129" PostTypeId="2" ParentId="10093" CreationDate="2012-02-08T22:05:03.143" Score="7" Body="&lt;p&gt;Your problem is $\mathsf{NP}$-complete, and you can find a proof for instance &lt;a href=&quot;http://www.cs.uml.edu/~wang/cs502/tiling.pdf&quot;&gt;here&lt;/a&gt; (I gave a sketch in comments). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A remark: If you consider $\{\langle M,x,t\rangle : M$ halts on $x$ in $t$ steps $\}$, then you can only show it is $\mathsf{NP}$-hard. But as you mention that you consider $t$ polynomially bounded (in the sizes of $M$ and $x$, I guess), then your problem belongs to $\mathsf{NP}$.&lt;/p&gt;&#xA;" OwnerUserId="976" LastActivityDate="2012-02-08T22:05:03.143" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="10130" PostTypeId="2" ParentId="10093" CreationDate="2012-02-08T22:31:25.813" Score="-1" Body="&lt;p&gt;see also thm 5.15 p61 of &lt;a href=&quot;http://www.nada.kth.se/~johanh/complexitylecturenotes.pdf&quot; rel=&quot;nofollow&quot;&gt;Hastad's Complexity Theory&lt;/a&gt;:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a set $A,$ then $A \in \mathsf{NP}$ iff there is a language $B \in \mathsf{P}$&#xA;and a constant $k$ such that&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$x \in A \Leftrightarrow \exists_{y,|y|\leq|x|^ k}(x, y) \in B$&lt;/p&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2012-02-08T22:31:25.813" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10131" PostTypeId="2" ParentId="10128" CreationDate="2012-02-08T22:36:28.883" Score="8" Body="&lt;p&gt;As Shir mentioned Jensen's Inequality shows up all the time. Especially in proving bounds in combinatorial problems. For example consider the following problem:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a family of $S_1, \ldots, S_n$ of subsets of $V = \{1, \ldots, n\}$, its &lt;em&gt;intersection&lt;/em&gt; graph $G = (V, E)$ is defined by $\{i, j\} \in E$ if and only if $S_i \cap S_j \neq \emptyset$. Supposed that the average set size is $r$ and that the average size of the pairwise intersections is at most k. Show that $|E| \geq \frac{n}{k} \cdot \binom{r}{2}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Proof:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let us count the pairs $(x, (S_i, S_j))$ such that $x \in V$ and $x \in S_i \cap S_j$. Let us first fix $(S_i, S_j)$, we see that there are at most $k$ such choices. Taking all values of $(S_i, S_j)$ as well, we have an upper bound of $k \cdot \binom{n}{2} = k \cdot |E|$. We now fix x. It is easy to see that each $x$ has $\binom{d(x)}{2}$ ways to choose $(S_i, S_j)$. By Jensen's inequality we have:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$n \cdot \binom{r}{2} = n \cdot \binom{\frac{1}{n}\sum_x d(x)}{2} \leq \sum_x \binom{d(x)}{2} \leq k \cdot |E|$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;We finally combine terms to have $\frac{n}{k} \cdot \binom{r}{2} \leq |E|$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;While this is a little more &quot;mathy&quot; than CS it serves to show how a tool for convex functions can be used--in combinatorial optimization, especially.&lt;/p&gt;&#xA;" OwnerUserId="1501" LastEditorUserId="1501" LastEditDate="2012-02-08T23:11:48.997" LastActivityDate="2012-02-08T23:11:48.997" CommentCount="1" CommunityOwnedDate="2012-02-09T16:11:14.533" ContentLicense="CC BY-SA 3.0" />
  <row Id="10132" PostTypeId="2" ParentId="10128" CreationDate="2012-02-08T23:29:19.157" Score="2" Body="&lt;p&gt;If I recollect correctly Noga Alon's theorem on splitting necklaces uses the continuous version of the problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See: &lt;a href=&quot;http://www.cs.tau.ac.il/~nogaa/PDFS/nocon.pdf&quot; rel=&quot;nofollow&quot;&gt;http://www.cs.tau.ac.il/~nogaa/PDFS/nocon.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is also a mention of that in the wiki page here: &lt;a href=&quot;http://en.wikipedia.org/wiki/Hobby%E2%80%93Rice_theorem&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/Hobby%E2%80%93Rice_theorem&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="126" LastActivityDate="2012-02-08T23:29:19.157" CommentCount="0" CommunityOwnedDate="2012-02-09T16:11:14.533" ContentLicense="CC BY-SA 3.0" />
  <row Id="10133" PostTypeId="2" ParentId="10128" CreationDate="2012-02-09T02:18:06.413" Score="18" Body="&lt;p&gt;Here are two related courses:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.ma.huji.ac.il/~ehudf/courses/anal09/anal.html&quot;&gt;Analytical methods in combinatorics and CS&lt;/a&gt; by Ehud Friedgut at University of Toronto (2009),&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.cs.huji.ac.il/~analyt/&quot;&gt;Analytical Methods in Combinatorics and Computer-Science&lt;/a&gt; by Irit Dinur and Ehud Friedgut at Hebrew University (2006).&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Also check Ryan O'Donnell's notes for his book:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.contrib.andrew.cmu.edu/~ryanod/&quot;&gt;Analysis of Boolean Functions&lt;/a&gt; by Ryan O'Donnell.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;and the links on the top right corner.&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2012-02-09T03:14:24.510" LastActivityDate="2012-02-09T03:14:24.510" CommentCount="1" CommunityOwnedDate="2012-02-09T16:11:14.533" ContentLicense="CC BY-SA 3.0" />
  <row Id="10134" PostTypeId="2" ParentId="10128" CreationDate="2012-02-09T02:34:42.167" Score="7" Body="&lt;p&gt;how about &lt;a href=&quot;http://math.andrej.com/wp-content/uploads/2008/08/abstract-cca2008.pdf&quot; rel=&quot;nofollow&quot;&gt;Efficient Computation with Dedekind Reals&lt;/a&gt; by Andrej Bauer and Paul Taylor. &lt;/p&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="705" LastEditDate="2012-02-10T12:10:52.467" LastActivityDate="2012-02-10T12:10:52.467" CommentCount="6" CommunityOwnedDate="2012-02-09T16:11:14.533" ContentLicense="CC BY-SA 3.0" />
  <row Id="10135" PostTypeId="2" ParentId="10128" CreationDate="2012-02-09T03:12:52.323" Score="9" Body="&lt;p&gt;There is the theory of limits of dense graph sequences, developed in the work of Lovasz and B. Szegedy. It has implications for certain property testing problems on graphs. See &lt;a href=&quot;http://www.cs.elte.hu/~lovasz/hom-stoc.pdf&quot;&gt;http://www.cs.elte.hu/~lovasz/hom-stoc.pdf&lt;/a&gt;. Basically the idea is that they define a suitable metric on graphs and a notion of taking limits of graph sequences, and then they show that a graph property is testable if the function that maps a graph to the edit distance to the property is continuous in the metric space on graphs that was defined. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;And then there is of course Flajolet and Sedgewick's &lt;a href=&quot;http://algo.inria.fr/flajolet/Publications/AnaCombi/book.pdf&quot;&gt;magnum opus&lt;/a&gt; dedicated entirely to using analytic methods for asymptotic analysis of combinatorial structures, including analysis of algorithms. This is mostly generating function tricks relying on complex analysis&lt;/p&gt;&#xA;" OwnerUserId="4896" LastEditorUserId="4896" LastEditDate="2012-02-09T03:38:24.850" LastActivityDate="2012-02-09T03:38:24.850" CommentCount="2" CommunityOwnedDate="2012-02-09T16:11:14.533" ContentLicense="CC BY-SA 3.0" />
  <row Id="10136" PostTypeId="2" ParentId="10128" CreationDate="2012-02-09T03:19:32.333" Score="11" Body="&lt;p&gt;See the book &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0201558025&quot;&gt;Concrete Mathematics - A Foundation for Computer Science&lt;/a&gt; by Graham, Knuth and Patashnik. In Chapter 9 they explain the &lt;a href=&quot;http://en.wikipedia.org/wiki/Euler%E2%80%93Maclaurin_formula&quot;&gt;Euler-Maclaurin summation formula&lt;/a&gt;. This is a technique that allows you to approximate a finite sum by using integrals. In the same chapter, page 466, they use this technique to approximate the &lt;a href=&quot;http://en.wikipedia.org/wiki/Harmonic_number&quot;&gt;harmonic number&lt;/a&gt; (which appears a lot in several areas of TCS). It happened to me one time were I had to use it, and ended up solving an integral using &lt;a href=&quot;http://books.google.co.jp/books/about/Asymptotic_approximations_of_integrals.html?id=KQHPHPZs8k4C&amp;amp;redir_esc=y&quot;&gt;asymptotic approximation techniques&lt;/a&gt; for differencial equations!&lt;/p&gt;&#xA;" OwnerUserId="135" LastActivityDate="2012-02-09T03:19:32.333" CommentCount="2" CommunityOwnedDate="2012-02-09T16:11:14.533" ContentLicense="CC BY-SA 3.0" />
  <row Id="10137" PostTypeId="1" CreationDate="2012-02-09T05:39:54.243" Score="2" ViewCount="148" Body="&lt;p&gt;Suppose we are given a family $F$ of $n$ sets of total cardinality $N$ with elements of the sets drawn from a universe $U$ of size $|U| = d$. &#xA;Alternately, suppose we have $n$ points in $R^d$, or $n$ $d$-dimensional vectors. &lt;/p&gt;&#xA;&#xA;&lt;h3&gt;Question:&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;We want to preprocess the sets/points such that we can efficiently report the approximate (&lt;a href=&quot;http://en.wikipedia.org/wiki/Hamming_distance&quot; rel=&quot;nofollow&quot;&gt;Hamming&lt;/a&gt;/&lt;a href=&quot;http://en.wikipedia.org/wiki/Minkowski_distance&quot; rel=&quot;nofollow&quot;&gt;Minkowski&lt;/a&gt;) distance between any two sets/points within a factor of $1 + \epsilon$&lt;/em&gt; &lt;br/&gt;&#xA;&lt;strong&gt;What is the best known query time / preprocessing time for this problem?&lt;/strong&gt; &lt;br/&gt;&#xA;(Note that we do not make any assumption on the relationship between $d$ and $n$. In particular $d$ is not necessarily sub-linear in $n$)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One approach would be to use a dimension reduction technique in the preprocessing phase, to speed up the query time. For example, we could use some algorithm based on the &lt;a href=&quot;http://en.wikipedia.org/wiki/Johnson%E2%80%93Lindenstrauss_lemma&quot; rel=&quot;nofollow&quot;&gt;Johnson–Lindenstrauss lemma&lt;/a&gt; to project the points into a $k$ dimensional space first, and later when answering a query, we only spend $k$ time instead of $d$ time to compute the distance between any pair of points. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think that &lt;a href=&quot;http://www.math.tau.ac.il/~nogaa/PDFS/extremal1.pdf&quot; rel=&quot;nofollow&quot;&gt;Alon&lt;/a&gt; showed that $k = \Omega(\frac{\log n}{\epsilon^2 \log (1/\epsilon)})$ for the Johnson-Lindenstrauss lemma. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In their &lt;a href=&quot;https://www.cs.princeton.edu/~chazelle/pubs/stoc06.pdf&quot; rel=&quot;nofollow&quot;&gt;STOC'06 paper&lt;/a&gt;, Ailon and Chazelle give an algorithm which achieves a nearly matching upper bound of $k = O(\epsilon^{-2} \log n)$ using FJLT with a preprocessing time of $O(n\cdot(d \log d + \epsilon^{-3} \log^2 n))$ for the dimension reduction of all $n$ points under $\ell_1$ distance. &lt;strong&gt;Are there any similar approaches which achieve a better preprocessing time?&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Are there any alternate approaches that beat the lower bound on $k$?&lt;/strong&gt; &#xA;In &lt;a href=&quot;http://arxiv.org/pdf/1004.4240v1.pdf&quot; rel=&quot;nofollow&quot;&gt;A sparse Johnson-Lindenstrauss transform&lt;/a&gt;, under &quot;Main Results&quot;, Dasgupta et al. appear to achieve $k = O(\epsilon^{-2}\log(\frac{1}{ \delta}))$, but I fear I may be misunderstanding that section of the paper.&lt;/p&gt;&#xA;" OwnerUserId="8078" LastActivityDate="2012-02-09T05:39:54.243" Title="Best known results pairwise distance computation of high-dimensional points?" Tags="&lt;reference-request&gt;&lt;cg.comp-geom&gt;" AnswerCount="0" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="10138" PostTypeId="2" ParentId="10128" CreationDate="2012-02-09T05:43:51.277" Score="1" Body="&lt;p&gt;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.46.3932&quot; rel=&quot;nofollow&quot;&gt;An Exponential Lower Bound for the Size of Monotone Real Circuits (1997)&lt;/a&gt; by Haken, Cook&lt;/p&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2012-02-09T05:43:51.277" CommentCount="2" CommunityOwnedDate="2012-02-09T16:11:14.533" ContentLicense="CC BY-SA 3.0" />
  <row Id="10139" PostTypeId="2" ParentId="10128" CreationDate="2012-02-09T10:36:58.620" Score="3" Body="&lt;p&gt;A very common and often useful technique when approaching a problem in discrete math is embedding it in a continuous domain, as this allows a richer choice of mathematical tools to be employed.&#xA;So, correcting my answer: other than the fields that real analysis will appear naturally in (graphics, signal processing and other fields that mimic or interact with the physical world), it pops up basically everywhere, and in places it hadn't - my guess is it will in the future.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some quick examples:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Error correcting codes: Reed solomon codes use polynomials. Some bounds on codes involve viewing the indicator function of the code as a function from the discrete cube to the reals, thus applying Fourier transform and other techniques.&lt;/li&gt;&#xA;&lt;li&gt;The probabilistic method - measure concentration theorems (an analytic tool) are used to show various properties of random graphs (e.g. chromatic number). See Alon and Spencer's book.&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The intersection theorem (this is more related to Combinatorics, but anyway)- a graph with $v$ vertices and $e$ edges has at least $\frac {1}{61} \cdot \frac {e^3} {v^2}$ intersections. The proof involves taking a random graph, and optimizing the parameters via derivation.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Shamir%27s_Secret_Sharing&quot; rel=&quot;nofollow&quot;&gt;Shamir's secret sharing&lt;/a&gt; uses the fact that a non-zero degree $k-1$ polynomial is uniquely defined by $k$ points (it relies on the fact that $k-1$ points provide virtually zero information).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="7715" LastEditorUserId="7715" LastEditDate="2012-02-09T20:36:52.800" LastActivityDate="2012-02-09T20:36:52.800" CommentCount="2" CommunityOwnedDate="2012-02-09T16:11:14.533" ContentLicense="CC BY-SA 3.0" />
  <row Id="10140" PostTypeId="1" CreationDate="2012-02-09T10:50:36.123" Score="14" ViewCount="420" Body="&lt;p&gt;In the paper of Ben-Dor/Halevi [1] it is given another proof that the permanent is&#xA;$\#P$-complete. In the later part of the paper, they show the reduction chain&#xA;\begin{equation}&#xA;\text{IntPerm} \propto \text{NoNegPerm} \propto \text{2PowersPerm} \propto \text{0/1-Perm}&#xA;\end{equation}&#xA;while the permanent value is preserved along the chain. Since the number of satiesfying assignments of a 3SAT formula $\Phi$ can be obtained from the permanent value, it is sufficient to compute the permanent of the final $0/1$-matrix. So far so good. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, it is well known that the permanent of a $0/1$-matrix $\text{A}$ is equal to the number of perfect matchings in the bipartite double cover $G$, i.e., the graph from the matrix $\begin{pmatrix} 0 &amp;amp; \text{A} \\ &#xD;&#xA;\text{A}^t &amp;amp; 0 \end{pmatrix}$. And this number can be computed efficiently if $G$ turns out to be planar (using Kastelyens algorithm). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;So in total this means, someone could compute the number of satiesfying assignments of a boolean formula $\Phi$ if the final graph $G$ is planar. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Since the embedding of $G$ depends heavily on the formula $\Phi$, the hope is, that there exists certain formulas that lead more often into planar bipartite covers.&#xA;Does anyone know if it has ever been investigated how large the chances are that $G$ will be planar?&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since counting satiesfying solutions is $\#P$-complete, the graphs will be for sure almost always non-planar, but i can not find any hints regarding this topic.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] &lt;em&gt;Amir Ben-Dor and Shai Halevi. Zero-one permanent is #p-complete, a simpler proof. In 2nd Israel Symposium on Theory of Computing Systems, pages 108-117, 1993. Natanya, Israel.&lt;/em&gt;&lt;/p&gt;&#xA;" OwnerUserId="5641" LastEditorUserId="5641" LastEditDate="2012-02-09T15:56:53.497" LastActivityDate="2012-02-16T23:04:24.700" Title="A question to the #P-complete proof of the permanent from Ben-Dor/Halevi" Tags="&lt;cc.complexity-theory&gt;&lt;counting-complexity&gt;&lt;permanent&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="10141" PostTypeId="1" CreationDate="2012-02-09T11:07:41.503" Score="17" ViewCount="3183" Body="&lt;p&gt;Let's assume that we have built an universal quantum computer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Except for security-related issues (cryptography, privacy, ...) which current real world problems can benefit from using it?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am interested in both:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;problems currently unsolvable for a practical entry,&lt;/li&gt;&#xA;&lt;li&gt;problems which currently are being resolved, but a significant speedup would greatly improve their usability.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="5582" LastEditorUserId="4896" LastEditDate="2012-02-23T19:06:45.097" LastActivityDate="2012-12-08T00:30:11.903" Title="Real world applications of quantum computing (except for security)" Tags="&lt;quantum-computing&gt;&lt;application-of-theory&gt;" AnswerCount="5" CommentCount="5" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="10142" PostTypeId="1" CreationDate="2012-02-09T12:21:47.143" Score="7" ViewCount="371" Body="&lt;p&gt;I am faced with the following question on max. integer multiflow:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;INSTANCE: An acyclic directed graph G=(V,E), a capacity function c:E→N, k pairs of vertices (si,ti) and a demand function d:{1,…,k}→N.&lt;/p&gt;&#xA;&lt;p&gt;Objective: Find the integer flows satisfying maximum demand.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;what is the hardness status of this problem?&lt;/p&gt;&#xA;" OwnerUserId="8314" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2012-11-24T07:10:52.330" Title="multi-commodity flow acyclic digraphs" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;&lt;max-flow&gt;&lt;multicommodity-flow&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10143" PostTypeId="1" AcceptedAnswerId="10149" CreationDate="2012-02-09T14:03:38.340" Score="3" ViewCount="124" Body="&lt;p&gt;I am only aware of two alternatives for the group used in Diffie-Hellman scheme (and similar ones) where logarithms are conjectured to be hard. Those are $\mathbb{F}_p$ and Elliptic Curves. Are there any other explored choices?&lt;/p&gt;&#xA;" OwnerUserId="7925" LastActivityDate="2012-02-09T16:55:56.863" Title="Choices for the group in Public Key Cryptography" Tags="&lt;cr.crypto-security&gt;&lt;gr.group-theory&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="10144" PostTypeId="1" AcceptedAnswerId="10155" CreationDate="2012-02-09T15:08:36.100" Score="5" ViewCount="377" Body="&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;Acknowledgments/apologies (Feb 10).&lt;/strong&gt; Thanks to those who have taken the time of reading this question and trying to find an answer (I've upvoted the three answers so far). I hope that after some iterations we can get to something good, so please forgive me for changing stuff and for the lack of precision and/or clarity. It's frustrating for me as well, since I'm working for a project where it is expected for us to give priority to performance over (a beautiful) formalization.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Update (Feb 10):&lt;/strong&gt; I am changing one decent case to indecent, and explaining why. The reason is practical and it comes from the application.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;I am working on a problem in which polygons are decomposed in a way similar to triangulation. Before actually decomposing the input, we have to classify the polygon in one of two categories:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Decent.&lt;/strong&gt; The polygon is all we ever wanted. We may proceed to the decomposition.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Indecent.&lt;/strong&gt; The polygon needs further processing before being decomposed.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;After taking a quick look at some books and papers, it seems to me that defining a polygon as a &amp;quot;simple closed curve on the plane&amp;quot; is quite the standard, and also the usual assumption for an input in algorithms (to avoid self-intersections and degenerate cases).&lt;/p&gt;&#xA;&lt;p&gt;However, we want to make this definition in such a way that &lt;em&gt;simple polygons&lt;/em&gt; &lt;span class=&quot;math-container&quot;&gt;$\subsetneq$&lt;/span&gt; &lt;em&gt;decent polygons&lt;/em&gt;, that is, the class of decent polygons is greater than the class of simple polygons.&lt;/p&gt;&#xA;&lt;p&gt;Let's forget about simple polygons, then, since they are so nice, and let's try to define &amp;quot;the rest&amp;quot; of decent polygons. We have a rough idea of what we want to define as &lt;em&gt;decent&lt;/em&gt; based of examples.&lt;/p&gt;&#xA;&lt;h2&gt;Decent polygons&lt;/h2&gt;&#xA;&lt;p&gt;In the following examples (label them &lt;strong&gt;D1&lt;/strong&gt; and &lt;strong&gt;D2&lt;/strong&gt;, from left to right), a point on the plane belongs to more than two edges (four edges, in fact), but this is not really a problem since there is no overlap (of a positive area).&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/bnDPz.jpg&quot; alt=&quot;A decent polygon&quot; /&gt; &lt;img src=&quot;https://i.stack.imgur.com/vOQIV.jpg&quot; alt=&quot;A decent polygon&quot; /&gt;&lt;/p&gt;&#xA;&lt;p&gt;The labels of the edges indicate the order in which they are given. This order is important to us because we want to consider orientation of (sub-)polygons to define the interior of the (whole) polygon.&lt;/p&gt;&#xA;&lt;h2&gt;Indecent polygons&lt;/h2&gt;&#xA;&lt;p&gt;Label the following examples &lt;strong&gt;I1&lt;/strong&gt;, &lt;strong&gt;I2&lt;/strong&gt;, &lt;strong&gt;I3&lt;/strong&gt; and &lt;strong&gt;I4&lt;/strong&gt;, from left to right. This is what we don't want. There is an overlap in the first two examples we'd rather avoid (for example, separating the input in two different inputs, one with edges 1, 2 and 3, and the other with edges 4, 5 and 6). In &lt;strong&gt;I3&lt;/strong&gt; we have some kind of sub-polygon completely contained in the main polygon. We don't want that either. I will explain later why &lt;strong&gt;D2&lt;/strong&gt; is not the same as &lt;strong&gt;I3&lt;/strong&gt;.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/FE0xd.jpg&quot; alt=&quot;An indecent polygon&quot; /&gt; &lt;img src=&quot;https://i.stack.imgur.com/l22xt.jpg&quot; alt=&quot;An indecent polygon&quot; /&gt; &lt;img src=&quot;https://i.stack.imgur.com/UeyHy.jpg&quot; alt=&quot;An indecent polygon&quot; /&gt; &lt;img src=&quot;https://i.stack.imgur.com/bDh7M.jpg&quot; alt=&quot;An indecent polygon&quot; /&gt;&lt;/p&gt;&#xA;&lt;p&gt;In &lt;strong&gt;I4&lt;/strong&gt; there is no overlap, but, as before, we would prefer to have that as two separate inputs, even though we need to introduce an additional vertex. We don't want intersection of segments in points &lt;strong&gt;other than their endpoints&lt;/strong&gt; (i.e., the only intersections allowed are in vertices of the polygon).&lt;/p&gt;&#xA;&lt;p&gt;Even so, the following polygon &lt;strong&gt;I5&lt;/strong&gt; is indecent. Note that the triangle 456 is oriented clockwise, and we consider it to have negative area.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/wppCu.jpg&quot; alt=&quot;An indecent polygon&quot; /&gt;&lt;/p&gt;&#xA;&lt;h2&gt;Why &lt;strong&gt;D1&lt;/strong&gt; is not the same as &lt;strong&gt;I5&lt;/strong&gt;&lt;/h2&gt;&#xA;&lt;p&gt;If you follow the path given by the ordered edges, you have that, in &lt;strong&gt;D1&lt;/strong&gt;, the subpath 3-4 (in red) does not cross the subpath 6-1 (in black).&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/AaUmF.jpg&quot; alt=&quot;A good self-intersection&quot; /&gt;&lt;/p&gt;&#xA;&lt;p&gt;However, in &lt;strong&gt;I5&lt;/strong&gt;, the subpath 3-4 (in red) does cross the subpath 6-1 (in black), and we don't want this.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/TqxDQ.jpg&quot; alt=&quot;A bad self-intersection&quot; /&gt;&lt;/p&gt;&#xA;&lt;h2&gt;Why &lt;strong&gt;D2&lt;/strong&gt; is not the same as &lt;strong&gt;I3&lt;/strong&gt;&lt;/h2&gt;&#xA;&lt;p&gt;In our application, &lt;strong&gt;D2&lt;/strong&gt; is different from &lt;strong&gt;I3&lt;/strong&gt;. There is no overlap in &lt;strong&gt;D2&lt;/strong&gt; and its interior can be seen as a shaded area in the following figure.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/WkwmP.jpg&quot; alt=&quot;The interior of a decent polygon&quot; /&gt;&lt;/p&gt;&#xA;&lt;h2&gt;How to define this?&lt;/h2&gt;&#xA;&lt;p&gt;We're trying to find a definition for these cases. As I said before, &amp;quot;simple&amp;quot; is not enough, but what's more important to us is that the definition should be (if possible) algorithmic, in the sense that an (efficient) algorithm, not a human, should decide whether a given polygon is decent or not. Also, we are willing to relax a case or two if there is a definition that works for almost all cases, but provides an efficient algorithm to verify it.&lt;/p&gt;&#xA;&lt;p&gt;I don't know whether this has been studied before. Feel free to point me to the appropriate literature if you think it would help, but I have checked a few references and all I've found ranges from &amp;quot;we will assume all polygons are simple&amp;quot; to &amp;quot;non-simple/degenerate cases are left as an exercise&amp;quot;.&lt;/p&gt;&#xA;" OwnerUserId="5396" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2012-02-10T19:53:57.087" Title="What defines a &quot;decent&quot; polygon?" Tags="&lt;cg.comp-geom&gt;" AnswerCount="3" CommentCount="12" ContentLicense="CC BY-SA 3.0" />
  <row Id="10146" PostTypeId="2" ParentId="10142" CreationDate="2012-02-09T16:03:52.767" Score="4" Body="&lt;p&gt;The problem is at least as hard the maximum edge-disjoint paths problem (MEDP) since we can set $d(i) = 1$ for each pair. The approximability of MEDP has been investigated extensively and in particular it is known that MEDP in directed graphs is hard to approximate to within a factor of $m^{1/2-\epsilon}$ (technically it is $n^{1/2-\epsilon}$ since the graphs are sparse). This was shown in a paper of Guruswami etal. &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0022000003000667&quot; rel=&quot;nofollow&quot;&gt;http://www.sciencedirect.com/science/article/pii/S0022000003000667&lt;/a&gt;. Roughly at the same time there was another paper by Ma and Wang established hardness of $2^{\log^{1-\epsilon} n}$ for &lt;em&gt;acyclic&lt;/em&gt; graphs. More recent work by Chuzhoy etal showed hardness results even with congestion allowed; my understanding is that the hardness holds even for instances that are acyclic and these results are stronger than the one by Ma and Wang, however, one should look more carefully at the paper to make sure or ask the authors. &lt;/p&gt;&#xA;" OwnerUserId="176" LastActivityDate="2012-02-09T16:03:52.767" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="10148" PostTypeId="2" ParentId="10128" CreationDate="2012-02-09T16:48:14.817" Score="2" Body="&lt;p&gt;The field of &lt;a href=&quot;http://arxiv.org/abs/1101.5455&quot; rel=&quot;nofollow&quot;&gt;Resource-bounded measure&lt;/a&gt; applies Lebesgue measure to complexity classes. The idea is to obtain separations among complexity classes by talking about the relative &quot;sizes&quot; of these sets.&lt;/p&gt;&#xA;" OwnerUserId="149" LastActivityDate="2012-02-09T16:48:14.817" CommentCount="0" CommunityOwnedDate="2012-02-09T16:48:14.817" ContentLicense="CC BY-SA 3.0" />
  <row Id="10149" PostTypeId="2" ParentId="10143" CreationDate="2012-02-09T16:55:56.863" Score="8" Body="&lt;p&gt;Dan Boneh's &lt;a href=&quot;http://crypto.stanford.edu/~dabo/pubs/papers/DDH.pdf&quot;&gt;survey article on the decisional Diffie Hellman problem&lt;/a&gt; lists several candidate groups for which the DDH problem is hard, reproduced here:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;ol&gt;&#xA;  &lt;li&gt;Let $p=2p_1 + 1$ where both $p$ and $p_1$ are prime. Let $Q_p$ be the subgroup of quadratic residues in $\mathbb{Z}^*_p$. It is a cyclic group of prime order. This family of groups is parameterized by $p$.&lt;/li&gt;&#xA;  &lt;li&gt;More generally, let $p = aq+1$ where both $p$ and $q$ are prime and $q &amp;gt; p^{1/10}$. Let $Q_{p,q}$ be the subgroup of $\mathbb{Z}_p^*$ of order $q$. This family of groups is parameterized by both $p$ and $q$.&lt;/li&gt;&#xA;  &lt;li&gt;Let $N=pq$ where $p,q,\frac{p-1}2,\frac{q-1}2$ are prime. Let $T$ be the cyclic subgroup of order $(p-1)(q-1)$. Although $T$ does not have prime order, DDH is believed to be intractable. The group is parameterized by $N$.&lt;/li&gt;&#xA;  &lt;li&gt;Let $p$ be a prime and $E_{a,b}/\mathbb{F}_p$ be an elliptic curve where $|E_{a,b}|$ is prime. The group is parameterized by $p,a,b$.&lt;/li&gt;&#xA;  &lt;li&gt;Let $p$ be a prime and $J$ be a Jacobian of a hyper elliptic curve over $\mathbb{F}_p$ with a prime number of reduced divisors. The group is parameterized by $p$ and the coefficients of the defining equation.&lt;/li&gt;&#xA;  &lt;/ol&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;In particular, #3 is not among the flavors listed in your question.&lt;/p&gt;&#xA;" OwnerUserId="149" LastActivityDate="2012-02-09T16:55:56.863" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10150" PostTypeId="2" ParentId="10140" CreationDate="2012-02-09T17:47:18.003" Score="11" Body="&lt;p&gt;This topic has been extensively investigated in recent years under the name of &lt;a href=&quot;http://en.wikipedia.org/wiki/Holographic_algorithm&quot;&gt;Holographic Algorithms&lt;/a&gt; by researchers such as Valiant, Cai, Lu, Xia, Lipton, and others. Essentially all tractable cases of #CSP (counting constraint satisfaction problems) have been identified in terms of dichotomy theorems (FP vs. #P-complete). In particular, Matchgate computations have been identified as the specific class of counting problems that become tractable on &lt;em&gt;planar&lt;/em&gt; graphs. See e.g. this &lt;a href=&quot;http://pages.cs.wisc.edu/~jyc/papers/planar.pdf&quot;&gt;link&lt;/a&gt; for further references.&lt;/p&gt;&#xA;" OwnerUserId="121" LastActivityDate="2012-02-09T17:47:18.003" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10151" PostTypeId="2" ParentId="10144" CreationDate="2012-02-09T18:19:11.267" Score="4" Body="&lt;p&gt;This is a complete rewrite of my answer (I don't know if the interpretation is now correct, so tell me if you need further details) ...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) solve conflicts in a shared vertex using a small circle centered on it and finding the intersection points between the circle and the segments that share that vertex; and add a small segment between two consecutive in/out segments (just &quot;shorten&quot; the end/start side of two consecutive in/out segments) (see figure)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/kqC3B.jpg&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) check for segment intersection on the expanded polygon;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See &lt;a href=&quot;http://paulbourke.net/geometry/lineline2d/&quot; rel=&quot;nofollow noreferrer&quot;&gt;this page&lt;/a&gt; for an explanation of the algorithm. If, during a comparison, you find that the two segments are not parallel and $0 &amp;lt; u_a &amp;lt;1 \text{ or } 0 &amp;lt; u_b &amp;lt; 1 $ then the polygon can be classified as &lt;em&gt;indecent&lt;/em&gt;.&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2012-02-09T20:57:47.563" LastActivityDate="2012-02-09T20:57:47.563" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="10153" PostTypeId="2" ParentId="10144" CreationDate="2012-02-09T19:01:00.950" Score="1" Body="&lt;p&gt;Based on new information in the question, the following are requirements for a decent polygon:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;The input is a valid polygon. (e.g. it's closed, no stray edges)&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The polygon does not &lt;em&gt;overlap itself&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;a) Every edge does not intersect the interior of any other edge.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;b) Two sub-paths may not cross each other at a vertex (as illustrated by I5)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;c) The absolute value of the winding number is at most 1. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;I think that (a), (b) and (c) can each be detected in linear time by walking around the polygon.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://users.iit.demokritos.gr/~agalex/publications/COMGEO.pdf&quot; rel=&quot;nofollow&quot;&gt;Relevant reference for winding number&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="8078" LastEditorUserId="8078" LastEditDate="2012-02-10T19:53:57.087" LastActivityDate="2012-02-10T19:53:57.087" CommentCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="10154" PostTypeId="1" CreationDate="2012-02-09T20:47:49.663" Score="0" ViewCount="131" Body="&lt;p&gt;A lot of approximation algorithms are based on relaxation. The way it usually works is this. You take the original problem and relax it some large class of efficiently solvable problem (e.g. relax an IP to an LP). Any solution to the original problem of cost $X$ gives a corresponding solution to the relaxation of cost $X$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You then convert a solution to the relaxed problem of cost $Y$ to a solution to the original problem of cost $\alpha Y$ for some $\alpha &amp;gt; 1$. This implies that you have an $\alpha$ approximation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But what if you could argue that the original feasible solution of cost $X$ guarantees the existence of a solution to the relaxation of cost $X/\beta$? Then you would get an $\alpha/\beta$ approximation algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Has this strategy ever been employed? Is there ever a case when you can show that a feasible solution to the original problem corresponds to a feasible solution to the relaxation &lt;em&gt;of strictly lower cost&lt;/em&gt; ?&lt;/p&gt;&#xA;" OwnerUserId="5538" LastEditorUserId="5538" LastEditDate="2012-02-09T22:06:47.117" LastActivityDate="2012-02-09T22:06:47.117" Title="Approximation algorithms based on relaxing a feasible to infeasible solution?" Tags="&lt;ds.algorithms&gt;&lt;approximation-algorithms&gt;" AnswerCount="0" CommentCount="2" FavoriteCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10155" PostTypeId="2" ParentId="10144" CreationDate="2012-02-09T22:48:05.083" Score="4" Body="&lt;p&gt;Offhand, it looks like a polygon P is decent if and only if the &lt;a href=&quot;http://en.wikipedia.org/wiki/Winding_number&quot; rel=&quot;nofollow&quot;&gt;winding number&lt;/a&gt; of P around any point that is not actually on P is either 0 or 1.&lt;/p&gt;&#xA;" OwnerUserId="111" LastActivityDate="2012-02-09T22:48:05.083" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="10156" PostTypeId="1" AcceptedAnswerId="10166" CreationDate="2012-02-09T23:16:56.230" Score="10" ViewCount="540" Body="&lt;p&gt;In the paper &lt;a href=&quot;http://www.renyi.hu/~p_erdos/1963-12.pdf&quot;&gt;On two problems of information theory&lt;/a&gt;,  Erdõs and Rényi give lower bounds on the minimum number of weighings one must do to determine the number of false coins in a set of $n$ coins.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More formally:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;The false coins have a smaller weight than the right coins; the&#xA;  weights $a$ and $b &amp;lt; a$ of both the right and false coins are known. A&#xA;  scale is given by means of which any number $\leq n$ of coins can be&#xA;  weighed together. Thus if we select an arbitrary subset of the coins&#xA;  and put them together on the scale, then the scale shows us the total&#xA;  weight of these coins, from which it is easy to compute the number of&#xA;  false coins among those weighed. The question is what is the minimal&#xA;  number, $A(n)$ of weighings by means of which the right and false coins&#xA;  can be separated?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The trivial lower bound they initially provide is:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$n / \log_2 (n + 1)$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This isn't hard to see why through various information-theoretic or combinatorial arguments. The problem is how to construct such sets to do these weighings? Are there algorithms that utilize a constructive proof to achieve these lower bounds without relying on randomness? Are there randomized algorithms that achieve these bounds?&lt;/p&gt;&#xA;" OwnerUserId="1501" LastEditorUserId="1501" LastEditDate="2012-02-10T03:23:20.043" LastActivityDate="2012-02-10T16:14:22.427" Title="Determine the minimum number of coin-weighings" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;co.combinatorics&gt;&lt;it.information-theory&gt;&lt;randomized-algorithms&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10157" PostTypeId="1" AcceptedAnswerId="10179" CreationDate="2012-02-10T05:17:20.110" Score="4" ViewCount="228" Body="&lt;p&gt;We have M=10000 binary sequences of length N=1000.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;given length L=15, for each pair of sequences, $S_1$ and $S_2$, we define the mismatch profile, mp($S_1$,$S_2$,$L$)[$m$], for m=0,1,...,L as following: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;mp($S_1$,$S_2$,$L$)[$m$] = number of all substrings of length $L$ in $S_1$ and $S_2$ that exactly differ in m positions. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;for example:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\begin{array}{ccc}&#xD;&#xA;L=5    \\&#xD;&#xA;N=7    \\&#xD;&#xA;S1=&amp;#39;1010101&amp;#39; \\&#xD;&#xA;S2=&amp;#39;1011000&amp;#39; &#xD;&#xA; &#xD;&#xA;\end{array}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;set of all L-mers in $S_1$ is { 10101, 01010, 10101} and &#xA;set of all L-mers in $S_2$ is { 10110, 01100, 11000}&lt;/p&gt;&#xA;&#xA;&lt;p&gt;All the pairs of L-mers (one from S1 and the other from S2) are (with the number of mismatches for each pair in the parenthesis): &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\begin{array}{ccc}&#xD;&#xA;10101 &amp;amp; 10110 &amp;amp; (2) \\&#xD;&#xA;10101 &amp;amp; 01100 &amp;amp; (3) \\&#xD;&#xA;10101 &amp;amp; 11000 &amp;amp; (3) \\&#xD;&#xA;&#xD;&#xA;01010 &amp;amp; 10110 &amp;amp; (3) \\&#xD;&#xA;01010 &amp;amp; 01100 &amp;amp; (2) \\&#xD;&#xA;01010 &amp;amp; 11000 &amp;amp; (2) \\&#xD;&#xA;&#xD;&#xA;10101 &amp;amp; 10110 &amp;amp; (2) \\&#xD;&#xA;10101 &amp;amp; 01100 &amp;amp; (3) \\&#xD;&#xA;10101 &amp;amp; 11000 &amp;amp; (3) &#xD;&#xA;\end{array}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;hence the mismatch profile for $S_1$ and $S_2$ for this example is: &#xA;mp($S_1$,$S_2$,$L$)[0]= 0&lt;br&gt;&#xA;mp($S_1$,$S_2$,$L$)[1]= 0&#xA;mp($S_1$,$S_2$,$L$)[2]= 4&#xA;mp($S_1$,$S_2$,$L$)[3]= 5&#xA;mp($S_1$,$S_2$,$L$)[4]= 0&#xA;mp($S_1$,$S_2$,$L$)[5]= 0&lt;/p&gt;&#xA;&#xA;&lt;p&gt;what is a fast algorithm to calculate the mismatch profile for every pair of sequences. The trivial algorithm would be $O(N^2 M^2)$ . can we make this better ? &lt;/p&gt;&#xA;" OwnerUserId="4503" LastEditorUserId="7846" LastEditDate="2012-02-10T15:53:43.603" LastActivityDate="2012-02-13T10:09:05.733" Title="an efficient algorithm for mismatch profile" Tags="&lt;ds.algorithms&gt;&lt;ds.data-structures&gt;&lt;bioinformatics&gt;" AnswerCount="2" CommentCount="6" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10158" PostTypeId="1" AcceptedAnswerId="10159" CreationDate="2012-02-10T05:26:10.520" Score="-7" ViewCount="587" Body="&lt;p&gt;how to swap the value of two variables without an auxilary (helping) variable ? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;swap(int *x,int *y)&#xA;{&#xA;  int h = *x; &#xA;  *x = *y; &#xA;  *y = h; &#xA;}&lt;/p&gt;&#xA;&#xA;&lt;p&gt;how can we do it without introducing h?&lt;/p&gt;&#xA;" OwnerUserId="8337" LastActivityDate="2021-03-05T15:40:14.507" Title="how to swap the value of two variables without an auxilary (helping) variable" Tags="&lt;ds.algorithms&gt;" AnswerCount="1" CommentCount="1" ClosedDate="2012-02-10T16:32:46.227" ContentLicense="CC BY-SA 3.0" />
  <row Id="10159" PostTypeId="2" ParentId="10158" CreationDate="2012-02-10T05:27:38.520" Score="1" Body="&lt;p&gt;One solution is using XOR as following:&lt;/p&gt;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;\begin{eqnarray}&#xA;*x = (*x)\wedge(*y);\tag{1}\\&#xA;*y = (*x)\wedge(*y);\tag{2}\\&#xA;*x = (*x)\wedge(*y)\tag{3};&#xA;\end{eqnarray}&lt;/span&gt;&lt;/p&gt;&#xA;" OwnerUserId="4503" LastEditorUserId="35155" LastEditDate="2021-03-05T15:40:14.507" LastActivityDate="2021-03-05T15:40:14.507" CommentCount="7" ContentLicense="CC BY-SA 4.0" />
  <row Id="10160" PostTypeId="2" ParentId="10044" CreationDate="2012-02-10T05:42:18.467" Score="0" Body="&lt;p&gt;Just some rambling thoughts about this. Feel free to criticize.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let Q = [cannot prove (P = NP) and cannot prove (P /= NP)]. Suppose Q for a contradiction. I will also assume that all known discoveries about P vs NP are still viable. In particular, all NP problems are equivalent in the sense that if you can solve one of them in polynomial time, you can solve all others in polynomial time. So let W be an NP complete problem; W equally represents all problems in NP. Because of Q, one cannot obtain an algotithm A to solve W in polynomial time. Otherwise we have proof that P = NP, which contradicts Q (1)(*). Note that all algorithms are computable by definition. So saying that A cannot exist implies that there is no way to compute W in polynomial time. But this contradicts Q (2). We are left with rejecting either (1) xor rejecting (2). Either case leads to a condradiction. Thus Q is a contradiction, which means that the proof of whether or not (N = NP) must exist.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(*) You might say, &quot;Aha! A might exist, but we just cannot find it&quot;. Well, if A existed, we can enumerate through all programs to find A by enumerating from smaller programs to larger programs, starting with the empty program. A must be finite because it is an algorithm, so if A exists, then the enumeration program to find it must terminate.&lt;/p&gt;&#xA;" OwnerUserId="7794" LastEditorUserId="7794" LastEditDate="2012-02-10T05:49:32.017" LastActivityDate="2012-02-10T05:49:32.017" CommentCount="17" ContentLicense="CC BY-SA 3.0" />
  <row Id="10163" PostTypeId="2" ParentId="10128" CreationDate="2012-02-10T09:22:54.190" Score="2" Body="&lt;p&gt;There is a beautiful paper, &lt;a href=&quot;http://eccc.hpi-web.de/report/2010/143/&quot; rel=&quot;nofollow&quot;&gt;Quantum One-Way Communication is Exponentially Stronger Than Classical Communication&lt;/a&gt; by Boaz Klartag &amp;amp; Oded Regev, which uses a rather large number of techniques from real analysis which are uncommon in TCS, including the Radon transform, spherical harmonics &amp;amp; hypercontractive inequalities on the (non-discrete) unit sphere&lt;/p&gt;&#xA;" OwnerDisplayName="user887" LastActivityDate="2012-02-10T09:22:54.190" CommentCount="0" CommunityOwnedDate="2012-02-10T09:22:54.190" ContentLicense="CC BY-SA 3.0" />
  <row Id="10164" PostTypeId="2" ParentId="10103" CreationDate="2012-02-10T13:55:03.717" Score="10" Body="&lt;p&gt;Let us start with the $\oplus L$-complete problem of counting mod $2$ the number of paths of length $n$ from vertex $s$ to vertex $t$ in a directed graph $G=(V,E)$. We apply a couple of logspace reductions as follows.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $G&amp;#39;=(V&amp;#39;,E&amp;#39;)$ be the graph such that $V&amp;#39;=V\times\{0,\dots,n\}$ and $E&amp;#39;=\{((u,i),(v,i+1):i&amp;lt;n,(u,v)\in E\}\cup\{(w,w):w\in V&amp;#39;\}$ (i.e., we take $n+1$ copies of $G$’s vertices, make edges go from the $i$th copy to the $(i+1)$th copy according to $G$’s edges, and add all self-loops). Then the original problem is equivalent to counting paths of length $n$ from $s&amp;#39;=(s,0)$ to $t&amp;#39;=(t,n)$ in $G&amp;#39;$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Moreover, $G&amp;#39;$ is acyclic, and we can explicitly define an enumeration $V&amp;#39;=\{w_k:k\le m\}$ such that all edges in $G&amp;#39;$ apart from the self-loops go from $w_k$ to $w_l$ for some $k&amp;lt;l$. Without loss of generality, $w_0=s&amp;#39;$ and $w_m=t&amp;#39;$. Let $M$ be the adjacency matrix of $G&amp;#39;$ wrt the given enumeration. Then $M$ is an upper triangular integer matrix with $1$ on the diagonal, and the number of paths of length $n$ from $s&amp;#39;$ to $t&amp;#39;$ equals the top right element of $M^n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is easy to see that&#xA;$$M=\prod_{j=m}^1\prod_{i=0}^{j-1}E_{i,j}(M_{i,j}),$$&#xA;where $E_{i,j}(a)$ is the elementary matrix whose only nondiagonal entry is $a$ in row $i$ and column $j$. In this way, we reduced the original problem to computing the top right element of a product of elementary matrices. In the $\oplus L$ case, the computation is modulo $2$, i.e., we consider the matrices over $\mathbb F_2$. (In this case, the elementary matrices can be only $E_{i,j}(0)=I$, which we can ignore, and $E_{i,j}(1)$, which can be simulated by a single CNOT gate, as mentioned in the question.) If we consider them as integer matrices, we get a $\#L$-complete problem, and if we consider them modulo $k$, we get a $\mathrm{Mod}_kL$-complete problem.&lt;/p&gt;&#xA;" OwnerUserId="6959" LastActivityDate="2012-02-10T13:55:03.717" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="10165" PostTypeId="2" ParentId="10025" CreationDate="2012-02-10T14:30:19.470" Score="1" Body="&lt;p&gt;As pointed out in the comments already, this is an instance of weighted geometric set cover. Here are some recent relevant references: &#xA;&lt;a href=&quot;http://www.divms.uiowa.edu/~kvaradar/paps/weightedcover.pdf&quot; rel=&quot;nofollow&quot;&gt;http://www.divms.uiowa.edu/~kvaradar/paps/weightedcover.pdf&lt;/a&gt; &#xA;See also the follow up work:&#xA;&lt;a href=&quot;http://www.cs.uwaterloo.ca/~tmchan/cover_soda.pdf&quot; rel=&quot;nofollow&quot;&gt;http://www.cs.uwaterloo.ca/~tmchan/cover_soda.pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="9594" LastActivityDate="2012-02-10T14:30:19.470" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10166" PostTypeId="2" ParentId="10156" CreationDate="2012-02-10T16:14:22.427" Score="8" Body="&lt;p&gt;I had a brief look at &lt;a href=&quot;http://colt2009.cs.mcgill.ca/papers/004.pdf&quot;&gt;this paper&lt;/a&gt;, and it appears that the answer to your question is yes (that is - no need for randomization). Also, the Introduction section surveys previous algorithms, information theoretic lower bounds and so on.&lt;/p&gt;&#xA;" OwnerUserId="7715" LastActivityDate="2012-02-10T16:14:22.427" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10167" PostTypeId="2" ParentId="10128" CreationDate="2012-02-10T16:43:10.547" Score="1" Body="&lt;p&gt;I always found the connections between regular / context-free languages and function theory ((formal) power series) quite exciting: that is why the French call these language classes &quot;rational&quot; and &quot;algebraic&quot;. This also indicates connections to fractal geometry. In a similar vein, e.g., finite automata might define languages on infinite words that have nice topological properties when equipped with the standard metric topology.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another connection might be the recently developed theory of &quot;set convolutions&quot; that allow to speed up several algorithms similar to what is known from Fourier transforms. I assume that these are at least &quot;inspirational similarities&quot;.&lt;/p&gt;&#xA;" OwnerUserId="8347" LastActivityDate="2012-02-10T16:43:10.547" CommentCount="0" CommunityOwnedDate="2012-02-10T16:43:10.547" ContentLicense="CC BY-SA 3.0" />
  <row Id="10169" PostTypeId="1" AcceptedAnswerId="10785" CreationDate="2012-02-10T22:17:31.177" Score="6" ViewCount="443" Body="&lt;p&gt;Let $\mathcal{G}_k$ denote the set of all graphs that contain two vertices $x,y$&#xA;and $k$ edge-disjoint $x-y$ paths.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Define $f(k)$ to be the maximum such that for every graph $G\in \mathcal{G}_k$&#xA;there are two vertices $x&amp;#39;,y&amp;#39;$ with $f(k)$ independent $x&amp;#39;-y&amp;#39;$ paths in $G$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here, a set of paths is &lt;em&gt;independent&lt;/em&gt; if none contains an internal vertex of another.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are any lower bounds for $f(k)$ known in the literature? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In particular, I need $f(3)=3$ in an algorithm where I need to find some obstructions in a graph.&#xA;This is not hard to prove, but I'm wondering whether it is known in the literature, maybe as a special case of a more general theorem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As a different formulation, how large can you make $f(k)$ in the following statement?&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;If $G$ is an undirected graph containing two vertices $x,y$ and $k$ edge-disjoint $x-y$ paths, then $G$ contains two vertices $x&amp;#39;,y&amp;#39;$ with $f(k)$ independent $x&amp;#39;-y&amp;#39;$ paths.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="72" LastEditorUserId="-1" LastEditDate="2012-11-24T07:11:52.923" LastActivityDate="2012-11-24T07:11:52.923" Title="From edge-disjoint paths to independent paths" Tags="&lt;reference-request&gt;&lt;graph-theory&gt;&lt;co.combinatorics&gt;" AnswerCount="1" CommentCount="6" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="10170" PostTypeId="1" AcceptedAnswerId="10185" CreationDate="2012-02-11T08:08:22.573" Score="9" ViewCount="926" Body="&lt;p&gt;What is the possibility for a computer scientist to change his field into a pure mathematician ? and what's the most smooth way to do it ? any examples for people who could make it ?&lt;/p&gt;&#xA;" OwnerUserId="7383" LastEditorUserId="7383" LastEditDate="2012-02-11T09:17:54.563" LastActivityDate="2012-02-13T13:46:16.443" Title="About switching from a computer scientist to a mathematician" Tags="&lt;soft-question&gt;&lt;research-practice&gt;&lt;career&gt;" AnswerCount="1" CommentCount="12" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="10174" PostTypeId="2" ParentId="10157" CreationDate="2012-02-11T19:30:03.557" Score="0" Body="&lt;p&gt;the details would be slightly tricky to work out but (as a rough sketch) there appears to be a recursive simplification that if you have computed all the mismatches of substrings of size n-1 then you can use that to compute mismatches of strings of size n. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;your problem also seems to have connections to boolean convolutions (ie using a sliding window and the mod 2 sum) &amp;amp; also matrix rigidity (originally proposed by Valiant)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;if you are actually working with DNA bases as you indicate with your comment about ACGT, then why are you reformulating it in binary? it would probably be better to keep the ACGT formulation. the xor problem is not exactly equivalent and it would give wrong answers for subsequences off by one digit if you're really interested in a 4-symbol ACGT matching system.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;you do not state this directly but from my knowledge of bioinformatics it would seem you might be interested in finding long subsequences such that there are low mismatches. if you add that criteria it significantly changes the optimization problem because one does not have to consider all mismatches, only those that are &quot;better&quot; than the current best record.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;in that case there may be some similarity to this problem and the well studied problem of finding the &lt;a href=&quot;http://en.wikipedia.org/wiki/Longest_common_substring_problem&quot; rel=&quot;nofollow&quot;&gt;longest matching substring&lt;/a&gt; in a string, with your case interested in the &quot;longest &lt;em&gt;near&lt;/em&gt; matching substring&quot;. similar mechanisms for that problem like the suffix tree may prove useful&lt;/p&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="7884" LastEditDate="2012-02-11T19:35:53.457" LastActivityDate="2012-02-11T19:35:53.457" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10175" PostTypeId="1" CreationDate="2012-02-11T20:14:24.797" Score="12" ViewCount="1548" Body="&lt;p&gt;Are there decidable problems such that for no algorithm which solves the problem we can give a time bound as a function of the length n of the input instance?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I arrived at this question because I was thinking about the following:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assume we&#xA;have a recursively enumerable, but undecidable problem. Assume further that I is&#xA;a &quot;yes&quot;-instance of the problem. Then for no algorithm which identifies the&#xA;&quot;yes&quot;-instances of the problem we can give a time bound in terms of the size n&#xA;of I. For if we could give such a time bound, we could decide the problem, as we&#xA;could simply conclude that I is a &quot;no&quot;-instance when the time bound is exceeded.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since we cannot give a time bound for recursively enumerable, undecidable&#xA;problems (for the computation time for &quot;yes&quot;-instances), I was wondering if there are decidable problems as well for which we&#xA;cannot give a time bound.&lt;/p&gt;&#xA;" OwnerUserId="8361" LastActivityDate="2017-02-17T14:11:24.820" Title="Are there decidable problems for which for no algorithm we can give time bounds?" Tags="&lt;computability&gt;&lt;time-complexity&gt;" AnswerCount="5" CommentCount="7" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="10177" PostTypeId="2" ParentId="9939" CreationDate="2012-02-11T22:19:23.163" Score="3" Body="&lt;p&gt;The general area of study you're talking about is called automated theorem proving.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think that there are two things you should look at. One is SMT solvers (http://en.wikipedia.org/wiki/Satisfiability_Modulo_Theories). The SMT problem is an extension of SAT (the question of whether a boolean formula is satisfiable or not) with a background theory (e.g. integers.) There are many SMT solvers out there to play with, but I suggest Yices as it's really easy to use. Look into things that use SMT-LIB if you get serious about this.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The other thing you'd be interested in is how propositions can be represented. In intuitionistic type theory and all of the languages based on it (Coq, Agda, etc.) both types like your integers and propositions are represented as types. I think you'll want to take a look at an Agda tutorial to get an idea of what that looks like. Anyhow, proof search in these systems is not decidable, in general. However systems like Coq (and the newer more programming-oriented Idris) support &quot;tactics&quot;, which are scripts that allow one to direct proof search.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To answer your question more directly, it really depends on exactly what you're trying to prove. If the proposition that you're trying to prove is indeed false, there's no guarantee that the automated theorem prover will terminate as per Gödel's incompleteness theorem. If the proposition is true, you will eventually get a proof back, but depending on what you have in your underlying theory the complexity of doing so will vary. I believe there are many efficient algorithms for integers and booleans. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Regarding the last part of your question. One solution to that problem is called &quot;observational equality.&quot; &lt;/p&gt;&#xA;" OwnerUserId="5167" LastActivityDate="2012-02-11T22:19:23.163" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10179" PostTypeId="2" ParentId="10157" CreationDate="2012-02-12T11:30:04.737" Score="4" Body="&lt;p&gt;&lt;strong&gt;Upd:&lt;/strong&gt; Space complexity improved to just $O(2^LML)$ which makes the solution much more practical.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem can be solved at least in $O(M^2NL + 2^L MNL)$ time and $O(2^L ML)$ additional memory as follows.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let's denote by $S^j$ the prefix $s_1 s_2 \ldots s_j$ of $S$. First, for each binary string $s$ of length $L$ precompute mismatch profile $mp&amp;#39;(s, i, j, k) = mp(s, S_i^j, k)$ of that string with all prefixes of length $j$ of all strings $S_1, S_2, \ldots, S_M$. That will require $O(2^L MNL)$ memory to store and can be done in $O(2^L MNL)$ in straightforward way.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then iteratively build mismatch profiles $mp_j(i,i&amp;#39;,k)$ for each pair of $j$-prefixes of $S_1, S_2, \ldots, S_M$ for $j=L,L+1,\ldots,N$, so $mp_N(i,i&amp;#39;,k)$ will be your desired answer. Let's denote by $end(S)$ the suffix of $S$ of the length $L$ (i.e. $S[(length(S)-L+1) \ldots length(S)]$). Notice that $$&#xD;&#xA;\begin{align*}&#xD;&#xA;mp_j(i,i&amp;#39;,k) = &amp;amp;mp(S_i^{j-1},S_{i&amp;#39;}^{j-1},k) + mp(end(S_i^j), S_{i&amp;#39;}^{j-1}, k) + \\&amp;amp;mp(S_i^{j-1}, end(S_{i&amp;#39;}^j),  k) + mp(end(S_i^j), end(S_{i&amp;#39;}^j),k)&#xD;&#xA;\end{align*}&#xD;&#xA;$$ which is indeed&#xA;$$&#xD;&#xA;\begin{align*}&#xD;&#xA;&amp;amp;mp_{j-1}(i,i&amp;#39;,k) + mp&amp;#39;(end(S_i^j), i&amp;#39;, j-1, k) + \\ &amp;amp;mp&amp;#39;(end(S_{i&amp;#39;}^j), i, j-1, k) + mp(end(S_i^j), end(S_{i&amp;#39;}^j),k)&#xD;&#xA;\end{align*}&#xD;&#xA;&#xD;&#xA;$$ &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The first 3 terms of that sum are already computed and the last one can be computed in amortized $O(1)$ time (it is $O(L)$ but you need to compute it only once for all values of $k$ with fixed $j,i,i'$). Thus you can compute $mp_j$ using $mp_{j-1}$ and $mp&amp;#39;$ in $O(M^2L)$ time, which leads to $O(M^2NL)$ term in the total complexity.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Notice that you need values of $mp&amp;#39;$ only for a fixed prefix length on each iteration. Thus you can compute $mp&amp;#39;$ not all of a piece at the beginning but rather iteratively for $j=L,L+1, \ldots, N$ in between of $mp_j$ computations. That can be easily done in $O(2^LML)$ time per iteration (so total complexity does not change) but requires only $O(2^LML)$ additional memory.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The main issue of this solution is exponential in $L$ time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;P.S. If $L$ is too small ($2^L &amp;lt; N$) then the naive method can be improved to $O(M^2 4^L)$ time by calculating the number of occurrences of each string $s$ of length $L$ in $S_i$. This allows you to process all different substrings of $S$ of length $L$ in $O(2^L)$ time instead of $O(N)$ (you will need to precompute pairwise differences between all such substrings first).&lt;/p&gt;&#xA;" OwnerUserId="7846" LastEditorUserId="7846" LastEditDate="2012-02-13T10:09:05.733" LastActivityDate="2012-02-13T10:09:05.733" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10181" PostTypeId="2" ParentId="10175" CreationDate="2012-02-12T12:35:03.533" Score="13" Body="&lt;p&gt;For every algorithm $A$ that terminates on a class of inputs $\mathsf{In}$, we can &lt;em&gt;define&lt;/em&gt; the function of its running times:&#xA;$$&#xD;&#xA;f(n)=\max_{i\in \mathsf{In(n)}}~~ \mathsf{time}(A(i)),&#xD;&#xA;$$&#xA;where $\mathsf{In}(n)$ is the class of inputs of length $n$ and $\mathsf{time}(A(i))$ is the time algorithm $A$ requires to terminate on $i$. Of course, this definition is unsatisfying as it relates to the algorithm, but it shows the existence of such a function. &#xA;The question that remains is whether there exists a &lt;em&gt;concise&lt;/em&gt; representation (and I believe that this was what you were asking for).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we use simple algebraic terms (without recursion of any sort) as definition of concise, then I think the answer is no: There are problems which can be decided but whose complexity is nonelementary. That is, there does not exist a stack of the form $2^{2^{2^{2^{\dots^n}}}}$ that bounds the execution time of an algorithm for a problem of size n. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I hope I understood your question in the right way.&lt;/p&gt;&#xA;" OwnerUserId="7908" LastActivityDate="2012-02-12T12:35:03.533" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10182" PostTypeId="2" ParentId="10175" CreationDate="2012-02-12T16:58:57.190" Score="-4" Body="&lt;p&gt;as others have stated the question is not stated in a way that avoids a trivial answer however there are some concepts in TCS &amp;amp; number theory that are related/similar.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) in the space and time hierarchy theorems the concept of &lt;a href=&quot;http://en.wikipedia.org/wiki/Space_constructible&quot; rel=&quot;nofollow&quot;&gt;&quot;time constructible&quot; and &quot;space constructible&quot;&lt;/a&gt; functions are required. non time constructible and non space constructible functions exist and lead to unusual properties found in the Blum theorems such as the &quot;gap, speedup&quot; theorems. most (all?) std complexity classes are defined in terms of space and time constructible functions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) the &lt;a href=&quot;http://en.wikipedia.org/wiki/Ackermann_function&quot; rel=&quot;nofollow&quot;&gt;ackerman function&lt;/a&gt; is total recursive but not &lt;a href=&quot;http://en.wikipedia.org/wiki/Primitive_recursive_function&quot; rel=&quot;nofollow&quot;&gt;primitive recursive&lt;/a&gt; and this has implications for its time bound. the primitive recursive functions in some sense represent the &quot;basic&quot; mathematical operations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;3) there are thms about number theory sequences uncomputable in peano arithmetic that can be interpreted as creating not-computable-in-a-sense time bounds such as the &lt;a href=&quot;http://en.wikipedia.org/wiki/Goodstein%27s_theorem&quot; rel=&quot;nofollow&quot;&gt;goodstein sequence&lt;/a&gt; or &#xA;&lt;a href=&quot;http://en.wikipedia.org/wiki/Paris-Harrington_theorem&quot; rel=&quot;nofollow&quot;&gt;paris-harrington&lt;/a&gt; thms&lt;/p&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="7884" LastEditDate="2012-02-12T17:08:26.977" LastActivityDate="2012-02-12T17:08:26.977" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10185" PostTypeId="2" ParentId="10170" CreationDate="2012-02-13T13:46:16.443" Score="21" Body="&lt;p&gt;Theoretical computer scientists are already mathematicians.  So you don't need to do anything!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Your later comment suggests that you're really asking about changing from one area of mathematics (like complexity theory) to another (like functional analysis).  The only way to do it is to just &lt;strong&gt;do it&lt;/strong&gt;.  You want to be an analyst?  Great!  &lt;strong&gt;Just start doing analysis!&lt;/strong&gt;  Read analysis books and papers, solve analysis problems, talk to lots of analyst faculty and students, attend analysis seminars, go to analysis conferences, ask analysis questions on MathOverflow, and so on.  Act like an analyst long enough (and well enough) and you'll become one.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In that respect, becoming a functional analyst is not so different from becoming anything else.  Want to be a programmer?  Program!  Want to be a writer?  Write!  Want to be a painter?  Paint!  Want to be a functional analyst?  Analyze functions!  (Meanwhile, don't forget to earn enough money to eat, and do &lt;em&gt;not&lt;/em&gt; blow off the stupid administrative hurdles.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;And yes, lots of people successfully change fields/careers.  For example, &lt;a href=&quot;http://en.wikipedia.org/wiki/Joan_Birman&quot; rel=&quot;nofollow noreferrer&quot;&gt;Joan Birman&lt;/a&gt; started her academic career in physics, worked for several years as a systems analyst in the aircraft industry, spent several more years at home raising kids, went back to grad school in mathematics in her 40s, and became one of the most influential researchers in modern low-dimensional topology and geometric group theory.  For other examples, see &lt;a href=&quot;https://mathoverflow.net/questions/3591/mathematicians-who-were-late-learners-list&quot;&gt;these&lt;/a&gt; &lt;a href=&quot;https://mathoverflow.net/questions/7120/too-old-for-advanced-mathematics&quot;&gt;questions&lt;/a&gt; on MathOverflow.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One last suggestion: You might find the transition somewhat smoother (possibly even real-analytic) if you drop your prejudices about &quot;pure&quot; versus &quot;applied&quot; mathematics.  Forget about the labels; just do the work.&lt;/p&gt;&#xA;" OwnerUserId="111" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2012-02-13T13:46:16.443" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="10186" PostTypeId="2" ParentId="9938" CreationDate="2012-02-13T14:58:00.280" Score="7" Body="&lt;p&gt;The described approach may not be theoretically optimal. It is just a simple practical solution that may work for the author. I can't provide any references because I always thought it is a widely known folklore, but strangely enough nobody posted it in the answer. So I do it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assume we have an undirected network $G=(V,E,c)$. Assume it is stored in a data structure which allows easy vertex/arc insertions/deletions. Sometimes we will use residual network $G_f$ (i.e. with updated capacities $c_f = c - f$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First part is how to process vertex insertions/deletion. It's more or less straightforward for insertions:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Add a new vertex with corresponding edges to the residual network.&lt;/li&gt;&#xA;&lt;li&gt;Find a maximum flow in the updated residual network using a maxflow algorithm of your choice.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;For deletions things became more complicated. Imagine we split the vertex $v$ we are about to delete into 2 halves $v_{in}$ and $v_{out}$ such that all in-arcs points to $v_{in}$, all out-arcs goes from $v_{out}$ and this new vertices are connected by an arc of infinite capacity. Then deletion of $v$ is equivalent to deletion of the arc between $v_{in}$ and $v_{out}$. What will happen in this case? Let's denote by $f^v$ the flow passing through the vertex $v$. Then $v_{in}$ will experience excess of $f^v$ flow units and $v_{out}$ will experience shortage of $f^v$ flow units right after deletion (the flow constraints will be obviously broken). To make the flow constraints be held again we should rearrange flows, but also we want to keep the original flow value as high as possible. Let's see first if we can do rearrangement without decreasing the total flow. To check that find a maxflow $\tilde{f^v}$ from $v_{in}$ to $v_{out}$ in the &quot;cutted&quot; residual network (i.e. without the arc connecting $v_{in}$ and $v_{out}$). We should bound it by $f^v$ obviously. If it happen to be equal to $f^v$ then we are lucky: we have reassigned the flow which was passing through $v$ in such way that the total flow wasn't changed. In the other case the total flow must be decreased by &quot;useless&quot; excess of $\Delta = f^v - \tilde{f^v}$ units. To do that, temporarily connect $s$ and $t$ by an arc of infinite capacity and run maxflow algorithm again from $v_{in}$ to $v_{out}$ (we should bound flow by $\Delta$). That will fix residual network and make flow constraints be held again, automatically decreasing total flow by $\Delta$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The time complexity of such updates may depend on maxflow algorithm we use. Worst cases may be pretty bad, though, but it's still better than total recalculating.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The second part is which maxflow algorithm to use. As far as I understand the author needs not very complex (but still efficient) algorithm with small hidden constant to run it on a mobile platform. His first choice of Ford-Fulkerson (I expect it to be &lt;a href=&quot;http://en.wikipedia.org/wiki/Edmonds%E2%80%93Karp_algorithm&quot; rel=&quot;nofollow&quot;&gt;Edmonds-Karp&lt;/a&gt;) looks not very bad from this point of view. But there are some other possibilities. The one I would recommend to try first is $O(|V|^2|E|)$ variant of &lt;a href=&quot;http://en.wikipedia.org/wiki/Dinitz_blocking_flow_algorithm&quot; rel=&quot;nofollow&quot;&gt;Dinic's algorithm&lt;/a&gt; because it's quite fast in practice and can be implemented in a very simple way. Other options may include capacity scaling Ford-Fulkerson in $O(|E|^2 \log C_{max})$ and, after all, different versions of push-relabel with heuristics. Anyway the performance will depend on a use case so the author should find the best one empirically.&lt;/p&gt;&#xA;" OwnerUserId="7846" LastEditorUserId="7846" LastEditDate="2012-02-18T15:40:10.707" LastActivityDate="2012-02-18T15:40:10.707" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="10189" PostTypeId="1" AcceptedAnswerId="10191" CreationDate="2012-02-13T21:10:54.473" Score="4" ViewCount="521" Body="&lt;p&gt;Can someone suggest a good algorithm for the following problem (or a reference to look up)?&lt;/p&gt;&#xA;&lt;p&gt;You have a set of numbers from 1 to &lt;span class=&quot;math-container&quot;&gt;$m$&lt;/span&gt; (m=80) (inclusive). &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt; (=20) non-repeating numbers will be drawn from the set in an increasing order in a single draw. There will be 2 to N draws, and you will have the results of those draws. Design an algorithm, which will find the most and the least repeated group (&lt;span class=&quot;math-container&quot;&gt;$N$&lt;/span&gt;-members) of numbers in the draws.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Sample draws&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;1) 4   5   7   19  28  32  39  40  43  44  46  47  48  49  55  56  59  69  73  79&#xA;2) 1   10  11  19  20  27  32  35  41  42  46  49  51  54  58  61  63  67  68  76&#xA;3) 3   4   5   8   11  16  24  25  27  34  37  48  49  50  57  58  59  68  71  73&#xA;4) 1   8   10  13  18  26  27  30  32  35  45  46  49  52  53  61  66  72  75  78&#xA;5) 7   14  20  21  25  26  38  40  43  46  49  53  54  58  60  61  66  68  74  80&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;h3&gt;Further explanation&lt;/h3&gt;&#xA;&lt;p&gt;The algorithm should find the most repeating group of N-numbers (say 3 numbers). So, basically a tuple of three numbers that is repeated the most in the draws must be found. it is also possible that there will be a most/least common group of &lt;span class=&quot;math-container&quot;&gt;$N$&lt;/span&gt;-members, but it is quite as possible that there won't.&lt;/p&gt;&#xA;" OwnerUserId="8384" OwnerDisplayName="Shef" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2012-02-14T00:51:42.393" Title="Find the most/least repeated group of N-members in given draws" Tags="&lt;ds.algorithms&gt;" AnswerCount="5" CommentCount="13" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10190" PostTypeId="2" ParentId="10189" CreationDate="2012-02-13T21:39:21.663" Score="0" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;find the most and the least repeated group (N-members) of numbers in the draws.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;E.g. if the most repeated number is 35, and the 2nd most repeated is 4, the 3rd most repeated is 72, then for N=3, the group of the 3 most repeated numbers is {35, 4, 72}.&lt;/p&gt;&#xA;" OwnerDisplayName="Péter Török" LastActivityDate="2012-02-13T21:39:21.663" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="10191" PostTypeId="2" ParentId="10189" CreationDate="2012-02-13T22:00:46.970" Score="3" Body="&lt;p&gt;First, count the occurences of each number overall, and call it C(x):&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;1: 2&#xA;2: 0&#xA;3: 1&#xA;4: 2&#xA;etc ...&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Next, we want to find the most common pairs. We know that any pairs C(x, y) &amp;lt;= Min(C(x), C(Y)). Using this we can find the Y &quot;most likely&quot; pairs. We then run through the sequences and count these most likely pairs. As long as the C(most likely pair) is greater than the estimate for the Y'th most likely pair, we know we have found the most common pair. If it isn't, we generate the next Y most likely pairs and then count those as well.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We can extend this to sets of three: C(x, y, z) &amp;lt;= Min(C(x, y), C(x, z), C(y, z)). So for this to work, we need to keep calculating the most common pairs until we find three pairs that we can chain into a triplet. We then need to keep going until we prove that all other triples must have a lower count, following the same logic as used by pairs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's basically a heuristic guided search of the possible solutions.&lt;/p&gt;&#xA;" OwnerUserId="8388" OwnerDisplayName="Chris" LastActivityDate="2012-02-13T22:00:46.970" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10192" PostTypeId="2" ParentId="10189" CreationDate="2012-02-13T22:14:43.167" Score="2" Body="&lt;p&gt;I'll try to weasel out of a proper answer - they don't specify the algorithm performance, so this will be &lt;em&gt;horrible&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Just brute force a count for each combination of N items found.  For each 20 item draw choose &lt;em&gt;all&lt;/em&gt; subsets of N items.  Each such set is fixed once the N items are chosen, so you could use a hash-table to store them - say as the key of a dictionary data-type, where the value is the number of times it appears in a draw (so each time you see that subset, look for the key, if it's not there create it and if it is increment it).  When you are done with all draws, sort by value.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If N=10 &lt;em&gt;each&lt;/em&gt; draw produces (20*19*18*17*16*15*14*13*12*11)/10! such subsets (184756) so, not great.  But they asked for an algorithm, not a good algorithm.  They can send me the job offer via programmer's chat. &lt;/p&gt;&#xA;" OwnerUserId="8389" OwnerDisplayName="psr" LastActivityDate="2012-02-13T22:29:56.330" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="10193" PostTypeId="2" ParentId="10189" CreationDate="2012-02-13T22:51:32.420" Score="0" Body="&lt;p&gt;Although I didn't try it I think the problem can be solved using the lempel-ziv-welch algorithm. This is a compression algorithm that uses a dictionary. I think you can work out the solution with two slight modifications on the algorithm:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;you have to apply the algorith to each row separately but with keeping the dictionary&lt;/li&gt;&#xA;&lt;li&gt;you have to count the number of occurrences of each entry in the dictionary&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;You can find the description of the algorithm &lt;a href=&quot;http://www.cs.cf.ac.uk/Dave/Multimedia/node214.html&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;&#xA;And this is an animation that makes it easier to understand &lt;a href=&quot;http://www.data-compression.com/lempelziv.html&quot; rel=&quot;nofollow&quot;&gt;2&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerDisplayName="akostajti" LastActivityDate="2012-02-13T22:51:32.420" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="10194" PostTypeId="1" CreationDate="2012-02-14T00:27:41.933" Score="0" ViewCount="99" Body="&lt;p&gt;Let there be a large set $X$, and a bijective function $f$ which maps the integer range 1 to $|X| \choose 2$  onto the subsets of $X$ of size 2. Given integers $L$ and $k$, where $2 \leq L \leq |X|$ and $1 \leq k \leq {|X| \choose 2}$, what is the cardinality of the collection $P^L_k=\{Y : Y \subset X$ and $|Y|=L$ and $f(i) \not\subset Y \; \forall 1\leq i \leq k\}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a more efficient way than generating all subsets of size $L$ and checking? Alternatively, do you see a good way to approximate the cardinality?&lt;/p&gt;&#xA;" OwnerUserId="5034" LastActivityDate="2012-02-14T00:27:41.933" Title="How many subsets of size L do not contain the first k arbitrary pairs?" Tags="&lt;co.combinatorics&gt;" AnswerCount="0" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="10195" PostTypeId="2" ParentId="10189" CreationDate="2012-02-14T00:51:42.393" Score="0" Body="&lt;p&gt;The most straightforward method I can think of is to just iterate over the list and add the tuples to a hashtable where the key is the tuple, and the value is the count of how many times it's been found. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In pseudocode:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;list&amp;lt;list&amp;lt;int&amp;gt;&amp;gt; draws&#xA;foreach draw in draws&#xA;    for i = 0 to draw.length - 3&#xA;        tuple = new tuple(draw[i], draw[i+1], draw[i+2])&#xA;        if tuples.Contains(tuple)&#xA;            tuples[tuple]++;&#xA;        else&#xA;            tuples.add(tuple, 1)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;After that, you get the key with the highest value.&lt;/p&gt;&#xA;" OwnerUserId="8295" LastActivityDate="2012-02-14T00:51:42.393" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="10196" PostTypeId="1" CreationDate="2012-02-14T04:51:55.040" Score="2" ViewCount="282" Body="&lt;p&gt;For any matrix $B$, there are matrices $X$ and $Y$ such that the product $XBY$ is a diagonal matrix. Suppose $B$ is an $n \times n$ non-singular matrix with $b$-bit integer entries and no repeated eigenvalues. What is the worst-case bit complexity of $X$ and $Y$ as a function of $b$ and $n$ (say when you fix an approximation error for the diagonal matrix as a function of $n$ and $b$)? Also what is the complexity of computing $X$ and $Y$?&lt;/p&gt;&#xA;" OwnerUserId="5511" LastEditorUserId="5511" LastEditDate="2012-02-16T18:00:56.860" LastActivityDate="2012-02-16T18:00:56.860" Title="Simple question on complexity models w.r.t linear algebra" Tags="&lt;cc.complexity-theory&gt;" AnswerCount="0" CommentCount="13" ContentLicense="CC BY-SA 3.0" />
  <row Id="10197" PostTypeId="2" ParentId="10106" CreationDate="2012-02-14T09:17:02.097" Score="1" Body="&lt;p&gt;&lt;em&gt;Not sure this is your answer (see below) but a bit too long for the comments.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I though your problem was something like: &lt;a href=&quot;http://www-desir.lip6.fr/~durrc/query/search.php?a1=P||&amp;amp;a2=|||a2&amp;amp;a4=|||a4&amp;amp;a3=|||a3&amp;amp;b1=|||b1&amp;amp;b3=|%3Bp_i%3D1|&amp;amp;b7=|||b7&amp;amp;b4=|%3Btree|&amp;amp;b5=|||b5&amp;amp;b6=||&amp;amp;b8=|||b8&amp;amp;c=||sum+T_i&amp;amp;problem=P|p_i%3D1%3Btree|sum+T_i&quot; rel=&quot;nofollow&quot;&gt;$(P|tree;p_i=1|\Sigma T_i)$&lt;/a&gt;, where:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$P$ stands for identical homogeneous processors, &lt;/li&gt;&#xA;&lt;li&gt;&quot;tree&quot; stands for precedence constraint the form of a tree,&lt;/li&gt;&#xA;&lt;li&gt;$p_i=1$ stands for the weight of the tasks is equal to 1, and&lt;/li&gt;&#xA;&lt;li&gt;$\Sigma T_i$ stands for minimizing the sum of tardiness (i.e., the number of tasks that finish after their deadline).&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;If this is the case, then your problem is NP-hard: you can see it as a generalization of &lt;a href=&quot;http://joc.journal.informs.org/content/2/4/346.short&quot; rel=&quot;nofollow&quot;&gt;Minimizing total tardiness on a single machine with precedence constraints&lt;/a&gt;. Indeed this paper states that for multiple linear chains, it is NP-hard on a single processor. The easy transformation is to take the trees of the form one root, and linear chains starting from the root.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However I am surprised because you seem to say that for the case of a &lt;em&gt;single&lt;/em&gt; linear chain, you would use Dynamic Programming. I don't see why you would need DP, since it seems to me that when scheduling a single linear chain you do not have much choice because of the precedence constraints: only a single choice. So maybe I misunderstood your problem.&lt;/p&gt;&#xA;" OwnerUserId="4873" LastActivityDate="2012-02-14T09:17:02.097" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="10198" PostTypeId="1" AcceptedAnswerId="10199" CreationDate="2012-02-14T11:05:08.037" Score="3" ViewCount="124" Body="&lt;p&gt;I'm looking for a formal definition of the space that consists of the dimensions gene 1-N and the fitness.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In literature there is often the search space mentioned, but it only contains all genes. If I extend the search space by the fitness dimension, how can I call this space?&lt;/p&gt;&#xA;" OwnerUserId="8391" LastEditorUserId="-1" LastEditDate="2012-11-24T07:11:19.770" LastActivityDate="2012-11-24T07:11:19.770" Title="What is the correct name for the space of genotypes and fitness?" Tags="&lt;optimization&gt;&lt;ne.neural-evol&gt;&lt;genetic-algorithms&gt;&lt;genetic-programming&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10199" PostTypeId="2" ParentId="10198" CreationDate="2012-02-14T12:48:52.093" Score="5" Body="&lt;p&gt;In the context of evolution and evolutionary algorithms it's called a &lt;a href=&quot;http://en.wikipedia.org/wiki/Fitness_landscape&quot;&gt;fitness landscape&lt;/a&gt;.  In other areas such as statistical physics it's called an &lt;a href=&quot;http://en.wikipedia.org/wiki/Energy_landscape&quot;&gt;energy landscape&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you have a continuous landscape (in evolution you typically don't) things are fairly straightforward.  From Wikipedia: &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;In mathematical terms, an energy landscape can be defined as a pair $(X, f)$ consisting of a topological space $X$ representing the physical states or parameters of a system together with a continuous function $f: X → \mathbb{R}$ representing the energies associated to these states or parameters such that the image of $f$ represents a hypersurface in $\mathbb{R}^n$.&quot;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;In discrete landscapes things are more complicated since we need to specify which states neighbour each other, essentially giving us a graph underlying the set of solutions.  What you end up with is not as clean as you'd like.  It's a triple $(X,N, f)$, where $X$ is the set of solutions (i.e., possible genotypes), $N:X\to 2^X$ is a neighbourhood function, and $f:X\to\mathbb{R}$ is the fitness function.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For a treatment of these discrete fitness landscapes that should satisfy you with regard to mathematical rigour I would direct you to &lt;a href=&quot;http://www.jstor.org/pss/4148412&quot;&gt;this survey paper&lt;/a&gt; by Reidys and Stadler.&lt;/p&gt;&#xA;" OwnerUserId="196" LastEditorUserId="196" LastEditDate="2012-02-14T15:30:22.703" LastActivityDate="2012-02-14T15:30:22.703" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="10200" PostTypeId="5" CreationDate="2012-02-14T13:08:54.050" Score="0" Body="" OwnerUserId="-1" LastEditorUserId="-1" LastEditDate="2012-02-14T13:08:54.050" LastActivityDate="2012-02-14T13:08:54.050" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10201" PostTypeId="4" CreationDate="2012-02-14T13:08:54.050" Score="0" Body="Descriptive complexity classifies problems based on how&#xD;&#xA;hard it is to express the problem in some logical formalism." OwnerUserId="7846" LastEditorUserId="7846" LastEditDate="2012-02-14T13:45:10.317" LastActivityDate="2012-02-14T13:45:10.317" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10203" PostTypeId="1" CreationDate="2012-02-14T15:26:55.460" Score="1" ViewCount="292" Body="&lt;p&gt;This question is an outgrowth of a certain maths problem I've been thinking about.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose you use an oracle to represent a real number. The oracle is of the following form: you give it an integer and it returns you an integer back (for example: given input $n$ the oracle representing $r$ returns integer $k$ such that $k/n \leq r &amp;lt; (k+1)/n$; but it can be any other oracle complying to the aforementioned rule).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, given two oracles like that you can't decide if they represent equivalent numbers (if the numbers are equal the algorithm won't halt in 'most' cases). So you are given another oracle that takes two real-number oracles as input and tells if they represent equal numbers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given two real numbers $r$ and $s$ represented by such oracles plus the oracle that tells us if two real numbers are equal is it possible to decide if $s = qr + p$, where $q$ and $p$ are rational?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Please provide a formal proof (or at least an idea that can be easily formalized into a proof).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Update:&lt;/em&gt; There is a problem with the oracle comparing two real numbers - see comments. Intuitively what I want is the answer to the following question: is deciding that two real numbers belong to the equivalence class defined by $s=qr+p$ harder than deciding if they are equal. I'll close this question and restate it.&lt;/p&gt;&#xA;" OwnerUserId="8395" LastEditorUserId="186" LastEditDate="2012-02-15T18:10:16.187" LastActivityDate="2012-02-15T18:10:16.187" Title="Concerning decidability of a problem on real numbers" Tags="&lt;computability&gt;&lt;oracles&gt;&lt;computing-over-reals&gt;&lt;computable-analysis&gt;" AnswerCount="1" CommentCount="19" ClosedDate="2012-02-15T14:57:08.817" ContentLicense="CC BY-SA 3.0" />
  <row Id="10204" PostTypeId="1" AcceptedAnswerId="10217" CreationDate="2012-02-14T15:37:13.657" Score="8" ViewCount="282" Body="&lt;p&gt;The cutting lemma (a.k.a. cell decomposition lemma) states that given $n$ lines in the plane it is possible to divide it into $O(r^2)$ regions (even triangles) for any $1\le r\le n$ such that the interior of any region is intersected by $O(n/r)$ lines. For more see e.g. Matousek's book Lectures on Discrete Geometry or &lt;a href=&quot;http://terrytao.wordpress.com/2009/06/12/the-szemeredi-trotter-theorem-and-the-cell-decomposition/&quot;&gt;this post&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is whether the plane can be divided by $O(r)$ lines (into $O(r^2)$ regions) such that the interior of any region is intersected by $O(n/r)$ of the original lines.&lt;/p&gt;&#xA;" OwnerUserId="419" LastActivityDate="2012-02-15T01:00:57.093" Title="Is the cutting lemma true with O(r) lines?" Tags="&lt;co.combinatorics&gt;&lt;cg.comp-geom&gt;" AnswerCount="2" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="10205" PostTypeId="1" AcceptedAnswerId="10213" CreationDate="2012-02-14T15:39:05.303" Score="20" ViewCount="8929" Body="&lt;p&gt;I've recently read &lt;a href=&quot;http://useless-factor.blogspot.com/2008/01/matching-diffing-and-merging-xml.html&quot;&gt;this summary&lt;/a&gt; of the issues involved with doing diff between trees and it got me interested in learning what is the state of the art for this problem. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, suppose that between your allowed edit operations are the traditional add/delete node, edit content you add the extended operations of copy/move subtree, does this makes the problem (of finding an optimal diff) easier or harder?&lt;/p&gt;&#xA;" OwnerUserId="6819" LastEditorUserId="-1" LastEditDate="2012-11-24T07:12:01.237" LastActivityDate="2012-11-24T07:12:01.237" Title="efficient diff algorithm for trees and Levenshtein distance" Tags="&lt;ds.algorithms&gt;&lt;tree&gt;&lt;edit-distance&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="16" ContentLicense="CC BY-SA 3.0" />
  <row Id="10206" PostTypeId="2" ParentId="10203" CreationDate="2012-02-14T15:49:01.943" Score="2" Body="&lt;p&gt;I think it's undecidable, but I don't have a proof. Intuitively, if $s\neq qr+p$ for all $p,q\in\mathbb{Q}$ (i.e. if the answer is &quot;NO&quot;), then you will be always looking for a &quot;next&quot; pair $(q,p)$ such that $|s-(qr+p)|$ is smaller than before. You don't really have an argument to decide when to stop and return &quot;NO&quot; because, for all you know, there is a better approximation to $s$ of the form $qr+p$ than the one you already have.&lt;/p&gt;&#xA;" OwnerUserId="5396" LastActivityDate="2012-02-14T15:49:01.943" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10207" PostTypeId="1" AcceptedAnswerId="10390" CreationDate="2012-02-14T16:13:18.470" Score="33" ViewCount="7030" Body="&lt;p&gt;I'm wanting to encode a simple Turing machine in the rules of a card game. I'd like to make it a universal Turing machine in order to prove Turing completeness. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;So far I've created a game state which encodes &lt;a href=&quot;http://en.wikipedia.org/wiki/Wolfram%27s_2-state_3-symbol_Turing_machine&quot;&gt;Alex Smith's 2-state, 3-symbol Turing machine&lt;/a&gt;. However, it seems (admittedly based on Wikipedia) that there's some controversy as to whether the (2, 3) machine is actually universal.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For rigour's sake, I'd like my proof to feature a &quot;noncontroversial&quot; UTM. So my questions are:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Is the (2,3) machine generally regarded as universal, non-universal, or controversial? I don't know where would be reputable places to look to find the answer to this.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;If the (2,3) machine isn't widely accepted as universal, what's the smallest N such that a (2,N) machine is noncontroversially accepted as universal?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Edited to add: It'd also be useful to know any requirements for the infinite tape for mentioned machines, if you happen to know them. It seems the (2,3) machine requires an initial state of tape that's nonperiodic, which will be a bit difficult to simulate within the rules of a card game.&lt;/p&gt;&#xA;" OwnerUserId="1713" LastEditorUserId="-1" LastEditDate="2012-11-24T07:11:08.943" LastActivityDate="2016-11-03T23:32:34.473" Title="What's the simplest noncontroversial 2-state universal Turing machine?" Tags="&lt;computability&gt;&lt;turing-machines&gt;&lt;universal-computation&gt;" AnswerCount="6" CommentCount="6" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="10209" PostTypeId="2" ParentId="5438" CreationDate="2012-02-14T17:20:44.677" Score="19" Body="&lt;p&gt;The related $2-1$-conjecture of Khot implies the PCP theorem with perfect completeness: The proof is expected to give a labeling of the vertices. The verifier selects a random edge queries its endpoints and accepts iff the constraint holds. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For getting a PCP theorem with perfect completeness from the unique games conjecture you need to, as Boaz writes, convert a $(c,s)$ PCP into one with perfect completeness. One way to do that is:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Add new variables one per constraint, and modify the constraint to be satisfied if either the new variable is true, or else if the constraint were previously satisfied. Now the question is reduced to finding a PCP for deciding if a set of m bits (=the new vars) has sum at most $(1-c)\cdot m$ or at least $(1-s)\cdot m$. This seems like a non-trivial question, but easier than the PCP theorem. &lt;/p&gt;&#xA;" OwnerUserId="8400" LastActivityDate="2012-02-14T17:20:44.677" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10210" PostTypeId="2" ParentId="10207" CreationDate="2012-02-14T18:32:57.333" Score="11" Body="&lt;p&gt;It's also possible to achieve universality with 7 states and 2 symbols, although many of the same objections apply (non-uniform initial conditions on the infinite tape and unusual termination conditions). See &lt;a href=&quot;http://11011110.livejournal.com/104656.html&quot;&gt;http://11011110.livejournal.com/104656.html&lt;/a&gt; and &lt;a href=&quot;http://www.complex-systems.com/abstracts/v15_i01_a01.html&quot;&gt;http://www.complex-systems.com/abstracts/v15_i01_a01.html&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;These are based on simulating the Rule 110 cellular automaton, proved universal by Matthew Cook, and Cook also found a 2-state 5-symbol simulation of Rule 110, if you are wedded to the restriction that there be only two states.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2012-02-14T18:32:57.333" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="10211" PostTypeId="2" ParentId="10207" CreationDate="2012-02-14T18:33:04.277" Score="13" Body="&lt;p&gt;This is not a real answer to your question (I don't know much about the (2,3) machine debate); but I suggest you the paper &quot;&lt;a href=&quot;http://www.dm.unito.it/~cerruti/ac/paperpm1.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Small Turing machines and generalized busy beaver competition&lt;/a&gt;&quot;. I quickly read it some time ago, and it has a nice graph with the borderlines between the 4 types of small TMs:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;decidable &lt;/li&gt;&#xA;&lt;li&gt;open Collatz-like problem&lt;/li&gt;&#xA;&lt;li&gt;$3x + 1$ simulation&lt;/li&gt;&#xA;&lt;li&gt;universal&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/gkMpP.jpg&quot; alt=&quot;picture from the paper&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(perhaps some results have been improved).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The notion of TM used in the paper is the &lt;em&gt;standard&lt;/em&gt; definition of TM used in papers on small universal Turing machines :&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;... They have a unique one-dimensional tape infinite in both directions, and a unique twoway&#xA;read–write head. There is a blank symbol denoted by 0. Initially, a&#xA;finite word, the input, is written on the tape, other cells contain the blank&#xA;symbol, the head reads the leftmost symbol of the input, and the state is the&#xA;initial state. At each step, according to the current state of the machine and&#xA;the symbol read by the head, the symbol is modified, the head moves left or&#xA;right (and cannot stay reading the same cell), and the state is modified. The&#xA;computation stops when a special halting state is reached. ...&lt;/em&gt;&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2012-02-14T20:46:51.080" LastActivityDate="2012-02-14T20:46:51.080" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="10212" PostTypeId="2" ParentId="10207" CreationDate="2012-02-14T18:43:33.650" Score="0" Body="&lt;p&gt;unless you carefully define &quot;noncontroversial&quot; in some technical way theres not a precise answer. here's another &lt;a href=&quot;http://en.wikipedia.org/wiki/Rule_110&quot; rel=&quot;nofollow&quot;&gt;small machine based on rule 110&lt;/a&gt; proved universal in a sense but my understanding is that it requires infinite periodic input tape formulations (and likewise extraction at the end when the machine halts). havent seen the &quot;periodic vs nonperiodic&quot; tape issue described in the literature although its been discussed on eg math mailing lists [Foundations of Mathematics mailing list]&lt;/p&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2012-02-14T18:43:33.650" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10213" PostTypeId="2" ParentId="10205" CreationDate="2012-02-14T20:33:04.953" Score="16" Body="&lt;p&gt;The following paper describes a slightly more efficient algorithm than Zhang-Shasha for computing tree edit distance, along with a proof that their algorithm is optimal (within a certain broad class of algorithms):&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Erik Demaine, Shay Mozes, Benjamin Rossman, and Oren Weimann.  &lt;a href=&quot;http://www.wisdom.weizmann.ac.il/~oweimann/Publications/TEDinTALG.pdf&quot;&gt;An Optimal Decomposition Algorithm for Tree Edit Distance&lt;/a&gt;.  &lt;em&gt;ACM Transactions on Algorithms&lt;/em&gt;, 6(1), 2009.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="111" LastActivityDate="2012-02-14T20:33:04.953" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10214" PostTypeId="2" ParentId="10204" CreationDate="2012-02-14T20:39:54.273" Score="7" Body="&lt;p&gt;If the $O(r)$ lines you choose must be drawn from the original set of $n$ lines then the answer is no, it's not possible. In particular if you take $n$ lines tangent to a circle, and then choose any $r$ of them, the region containing the circle will still be intersected by all $n$ of the lines.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2012-02-14T20:39:54.273" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10216" PostTypeId="2" ParentId="10207" CreationDate="2012-02-14T22:19:35.787" Score="5" Body="&lt;p&gt;Choose a universal Turing machine with $S$ states ($0\leq s &amp;lt; S$) and $C$ colors ($0\leq c&amp;lt; C$) operating on a one-dimensional tape (we'll call stuff relating to this machine &quot;true&quot;). Let us build together a $2$-state Turing machine (states $\text{L}$ and $\text{R}$) with $C+4SC$ colors: the true colors, and &quot;enhanced&quot; colors which carry info about states. We add the constraint that the initial state should be identical to the initial state of the true machine, except possibly for the cell in which we start.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;At all times, only the current cell, or the two cells involved in a transition, may have enhanced colors: all other cells have their true color. We want our machine to behave as follows: check what true transition to perform, move the &quot;true state&quot; information from the cell we want to leave to the target cell (this involves a lot of back-and-forth), clean up the cell we left (giving it a true color), repeat.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Before a transition, the current cell has the enhanced color $(c,s)$ encoding the true color, and the true state, and all others have their true color. Look up what transition the true machine would do --- we can assume it is going to the right (flip $\text{L}$ and $\text{R}$ everywhere to go left). Change the enhanced color to $(c_{\text{new}}, s_{\text{new}}, \text{emit})$, move to the right, and change the current state to $\text{L}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then the machine sees a normal color $c$ and is in state $\text{L}$. It changes $c$ to $(c,0, \text{L},\text{receive})$, and goes back left, in state $\text{R}$. We thus have the cells&#xA;$$&#xD;&#xA;\cdots \quad c \quad \quad c \quad&#xD;&#xA;(c,s,\text{emit}) \quad (c,0,\text{L},\text{receive})&#xD;&#xA;\quad c \quad c \quad \cdots&#xD;&#xA;$$&#xA;where the various true colors are of course independent, but irrelevant. The goal is to move $s$ to the target cell. We do that by decrementing the left state, and incrementing the right state, going back and forth between the two. The end is easy to detect in the left cell ($s$ has become $0$), but harder to detect in the right cell. This is what the $\text{L}$ label is for: as long as the state matches that, continue the decrement/increment loop, but if it does not, we are done, and we clean up.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here are the transitions to implement that. In almost all cases, move in the direction specified by the current state, then flip the state&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;$c \to (c,0,\langle dir\rangle,\text{receive})$ where $\langle dir\rangle$ is the current state; move, flip the state.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;$(c,s) \to (c_{\text{new}},s_{\text{new}},\text{emit})$ according to the true machine's transitions; ignore current state, set it to the direction in which we want to move; move, flip the state.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;$(c,s,\text{emit}) \to (c,s-1,\text{emit})$ for $s&amp;gt;0$; move, flip the state.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;$(c,0,\text{emit}) \to c$; move, don't change the state.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;$(c,s, \langle dir\rangle, \text{receive}) \to (c, s+1, \langle dir\rangle, \text{receive})$ if the state is $\langle dir\rangle$; move, flip the state.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;$(c,s, \langle dir\rangle, \text{receive}) \to (c,s)$ if the state is not $\langle dir\rangle$; don't move, do whatever you like with the state. This could be combined with 2. if you want to always move.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Combining 6 and 2 reduces the number of colors to $C+3SC$. I believe that it is possible to make the initial configuration have no enhanced color at all, but it is probably messy.&lt;/p&gt;&#xA;" OwnerUserId="8402" LastActivityDate="2012-02-14T22:19:35.787" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10217" PostTypeId="2" ParentId="10204" CreationDate="2012-02-15T01:00:57.093" Score="7" Body="&lt;p&gt;So, assume you build you vertical decomposition by taking the $O(r)$ lines, taking their arrangement, and then computing its vertical decomposition. The question is there a set of $O(r)$ lines of the original set of lines such that this vertical decomposition form a $1/r$-cutting. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, if you take Noga Alon's construction in this paper:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;www.math.tau.ac.il/~nogaa/PDFS/epsnet3.pdf&lt;/p&gt;&#xA;&#xA;&lt;p&gt;and dualize it, you get a set of lines, such that if a point is contained in more than $n/r$ lines, than one of the lines must belong to the $1/r$-net of the lines. This construction however shows that any net, must be of size strictly super linear in $O(r)$. Noga's result also holds for the weak $\epsilon$-net version. Which shows that there is no set of any lines that would have the desired property.&lt;/p&gt;&#xA;" OwnerUserId="9594" LastActivityDate="2012-02-15T01:00:57.093" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="10220" PostTypeId="1" CreationDate="2012-02-15T09:26:37.000" Score="14" ViewCount="296" Body="&lt;p&gt;In the lower bound result by Ryan Williams (Non-uniform $\mathsf{ACC}$ circuit lower bounds), there is a mention of &quot;little evidence that Pseudorandom function generators exist in $\mathsf{ACC}^0$. Is there any development in this regard that might be of interest? (Even old results implying something along these lines will be great.)&lt;/p&gt;&#xA;" OwnerUserId="256" LastEditorUserId="186" LastEditDate="2012-02-15T18:12:31.177" LastActivityDate="2012-02-15T18:12:31.177" Title="Pseudorandom functions in ACC^0?" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;cr.crypto-security&gt;&lt;circuit-complexity&gt;&lt;natural-proofs&gt;" AnswerCount="0" CommentCount="1" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="10223" PostTypeId="1" CreationDate="2012-02-15T17:59:53.910" Score="7" ViewCount="660" Body="&lt;p&gt;Is there any inapproximability result for the following NP-hard problem, which is a special case of the weighted Set Packing Problem?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The general Set Packing Problem would be:&#xA;Given A Collection of Sets $S=\{S_1,\ldots,S_n\}$ over a base set $U$, find the subset $S&amp;#39;\subseteq S$ such that each element of $U$ is covered at most once (i.e. the sets in $S&amp;#39;$ are mutually disjoint) and $S&amp;#39;$ has the maximum total weight over all such subsets. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;And my weight function assigns a set $S_i$ the weight $|S_i-1|$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then, the IP would be&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\max \sum_{S_i \in S}|S_i-1|x_{S_i}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;s.t. $\sum_{S_i:c\in S_i}x_{S_i}\leq 1 \hspace{1 cm} \forall c\in U$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$x_{S_i}\in\{0,1\}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is easy to see that the problem is NP-complete, by reducing Exact Cover by 3-Sets on it. &#xA;All approximation algorithms from the classical weighted set packing problem obviously work here as well.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My Questions: &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Can we do better on this special instances?&lt;/li&gt;&#xA;&lt;li&gt;Is there a known inapproximability result for this kind of problem?&lt;/li&gt;&#xA;&lt;li&gt;Does this problem has a name in the literature?&lt;/li&gt;&#xA;&lt;li&gt;What about the following minimization version: Cover as many elements as possible with the least number of sets? More specific: We have that the sets in $S$ contain also the singleton sets $\{c\}$ for all $c\in U$. That is, we can easily generate a feasible solution. And we want to find the solution to the following IP:&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;$\min \sum_{S_i \in S}x_{S_i}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;s.t. $\sum_{S_i:c\in S_i}x_{S_i}= 1 \hspace{1 cm} \forall c\in U$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$x_{S_i}\in\{0,1\}$&lt;/p&gt;&#xA;" OwnerUserId="8420" LastEditorUserId="-1" LastEditDate="2012-11-24T07:10:54.983" LastActivityDate="2012-11-24T07:10:54.983" Title="Hardness of Approximation results for Special Set Packing Problem Wanted" Tags="&lt;cc.complexity-theory&gt;&lt;approximation-algorithms&gt;&lt;approximation-hardness&gt;&lt;set-cover&gt;&lt;packing&gt;" AnswerCount="0" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10224" PostTypeId="1" CreationDate="2012-02-15T19:18:36.310" Score="11" ViewCount="239" Body="&lt;p&gt;In the &lt;em&gt;multiterminal cut&lt;/em&gt; the input is a graph $G$ and a subset $T$ of its vertices. The task is to remove the minimum number of edges from $G$ such that there is no path connecting any distinct vertices of $T$. The problem is APX-hard, even when $T$ has 3 vertices. This was shown in by Dalhaus et al (E. Dahlhaus, D. S. Johnson, C. H. Papadimitriou, P. D. Seymour, M. Yannakakis: The Complexity of Multiterminal Cuts. SIAM J. Comput. 23(4): 864-894, 1994.) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am interested in the actual value $\alpha&amp;gt;1$ such that no $(\alpha-\varepsilon)$-approximation is possible for multiterminal cut, unless P=NP. A quick adaptation of the reduction used by Dalhaus et al. for general $T$ implies $\alpha=89/88$. (For $|T|=3$ the constant is worse, but I am interested in arbitrary $|T|$.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is: has there been any improvement over Dalhaus et al for the inapproximability of multiterminal cut? Are there other NP-hardness proofs of multiterminal cut in the literature?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since there are constant-factor approximations for the problem, the question here is about constants. &lt;/p&gt;&#xA;" OwnerUserId="1839" LastEditorUserId="-1" LastEditDate="2012-11-24T07:11:03.220" LastActivityDate="2018-08-14T01:36:46.520" Title="Inapproximability of multiterminal cut" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;graph-algorithms&gt;&lt;approximation-hardness&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="10225" PostTypeId="1" CreationDate="2012-02-16T01:49:06.890" Score="15" ViewCount="276" Body="&lt;p&gt;Suppose we have two &lt;em&gt;dependent&lt;/em&gt; random variables $X$ and $Y$, each of which is uniform over $\{0,1\}^n$, such that their mutual information $I(X;Y)$ is small, say, at most $\sqrt{n}$. Does this imply that there exist large sets $\mathcal{X}, \mathcal{Y} \subset \{0,1\}^n$ such that the product set $\mathcal{X} \times \mathcal{Y}$ is contained in the support of the distribution $(X,Y)$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A variant of this question can be phrased in graph-theoretic terms: Suppose we have a sufficiently dense bipartite graph G. Does this imply that $G$ contains a large complete sub-graph $G&amp;#39;$? (i.e., $G&amp;#39;$ is required to be a complete bipartite graph with bi-partition $(A,B)$ such that $A$ and $B$ are relatively dense in the corresponding parts of $G$)&lt;/p&gt;&#xA;" OwnerUserId="8429" LastActivityDate="2012-02-16T01:49:06.890" Title="Mutual information vs. Product sets" Tags="&lt;co.combinatorics&gt;&lt;it.information-theory&gt;" AnswerCount="0" CommentCount="3" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="10228" PostTypeId="1" AcceptedAnswerId="10231" CreationDate="2012-02-16T06:39:11.277" Score="10" ViewCount="2150" Body="&lt;p&gt;I am new to this site and this question is certainly not research level - but oh well. I have a little background in software engineering and almost none in CSTheory, but I find it attractive. To make a long story short, I would like a more detailed answer to the following if this question is acceptable on this site.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, I know that every recursive program has an iterative analog and I kind of understand the popular explanation that is offered for it by maintaining something similar to the &quot;system stack&quot; and pushing environment settings like return address etc. I find this kind of handwavy. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Being a little more concrete, I would like to (formally) see how does one prove this statement in cases where you have a function invoking chain $F_0 \rightarrow F_1 \ldots F_i \rightarrow F_{i+1} \ldots F_n \rightarrow F_0$. Further, what if there are some conditional statements which might lead an $F_i$ make a call to some $F_j$? That is, the potential function call graph has some strongly connected components.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would like to know how can these situations be handled by let us say some recursive to iterative converter. And is the handwavy description I referred to earlier, really enough for this problem? I mean then why is it that I find removing recursion in some cases easy. In particular removing recursion from pre-order traversal of a Binary tree is really easy - its a standard interview question but removing recursion in case of post order has always been a nightmare for me. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;What I am really asking is $2$ questions&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(1) Is there really a more formal (convincing?) proof that recursion can be converted to iteration?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(2) If this theory is really out there, then why is it that I find, for eg, &lt;em&gt;iteratizing&lt;/em&gt; preorder easier and postorder so hard? (other than my limited intelligence)&lt;/p&gt;&#xA;" OwnerUserId="8433" LastActivityDate="2012-02-18T17:56:03.717" Title="Removing recursion - a look into theory behind the scenes" Tags="&lt;pl.programming-languages&gt;&lt;recursion&gt;&lt;recursive&gt;" AnswerCount="6" CommentCount="6" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="10229" PostTypeId="2" ParentId="10228" CreationDate="2012-02-16T07:49:40.067" Score="8" Body="&lt;p&gt;You might want to look at the &lt;a href=&quot;http://www.brics.dk/RS/03/33/BRICS-RS-03-33.pdf&quot; rel=&quot;nofollow&quot;&gt;SECD machine&lt;/a&gt;. A functional language (though it could be any language) is translated into a series of instructions that manage things such as putting arguments of stacks, &quot;invoking&quot; new functions and so forth, all managed by a simple loop.&lt;br&gt;&#xA;Recursive calls are never actually invoked. Instead, the instructions of the body of the function being called is placed on the stack to run.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A related approach is the &lt;a href=&quot;http://matt.might.net/articles/cek-machines/&quot; rel=&quot;nofollow&quot;&gt;CEK machine&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;These have both been around for a long time, so there's plenty of work out there on them. And of course there are proofs that they work and the procedure for &quot;compiling&quot; a program into SECD instructions is linear in the size of the program (it doesn't have to think about the program).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The point of my answer is that there is an automatic procedure for doing what you want. Unfortunately, the transformation won't necessarily be in terms of things that are immediately easy for a programmer to interpret. I think the key is that when you want to iterize a program, you need to store on the stack what the program needs to do when you return from an iterized function call (this is called a continuation). For some functions (such as tail-recursive functions) the continuation is trivial. For others the continuation maybe very complex, especially if you have to encode it yourself.&lt;/p&gt;&#xA;" OwnerUserId="77" LastEditorUserId="77" LastEditDate="2012-02-18T16:14:48.730" LastActivityDate="2012-02-18T16:14:48.730" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="10230" PostTypeId="2" ParentId="10228" CreationDate="2012-02-16T10:55:13.917" Score="6" Body="&lt;p&gt;&lt;strong&gt;Q&lt;/strong&gt;: &lt;em&gt;&quot;Is there really a more formal (convincing?) proof that recursion can be converted to iteration?&quot;&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;A&lt;/strong&gt;: The Turing completeness of a Turing Machine :-)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Jokes apart, the Turing equivalent &lt;a href=&quot;http://en.wikipedia.org/wiki/Random_access_machine&quot;&gt;Random Access stored program (RASP) machine model&lt;/a&gt; is close to how real microprocessors work and its instruction set contains only a conditional jump (no recursion). The possibility of dinamically self-modifying the code makes the task of &lt;em&gt;implementing&lt;/em&gt; subroutines and recursive calls easier.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think that you can find many papers/articles on the &quot;&lt;em&gt;recursive to iterative conversion&lt;/em&gt;&quot; (see Dave's answer or just Google the keywords), but perhaps a &lt;em&gt;less known&lt;/em&gt; (and &lt;em&gt;practical&lt;/em&gt;) approach is the latest research on &lt;em&gt;hardware implementation of recursive algorithms&lt;/em&gt; (using the &lt;a href=&quot;http://en.wikipedia.org/wiki/VHDL&quot;&gt;VHDL language&lt;/a&gt; that is &quot;compiled&quot; directly into a piece of hardware). For example see  V.Sklyarov's paper &quot;&lt;a href=&quot;http://www.ieeta.pt/~skl/research/Papers/Recursive2004.pdf&quot;&gt;FPGA-based implementation of recursive algorithms&lt;/a&gt;&quot;  (&lt;em&gt;The paper suggests a novel method for implementing recursive algorithms in hardware. .... Two practical applications of recursive algorithms in the data sorting and compression area have been studied in detail....&lt;/em&gt;). Worth a look.&lt;/p&gt;&#xA;" OwnerUserId="3247" LastActivityDate="2012-02-16T10:55:13.917" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10231" PostTypeId="2" ParentId="10228" CreationDate="2012-02-16T14:08:52.750" Score="6" Body="&lt;p&gt;If I understand correctly, you are clear about converting functions that contain no other function calls but to themselves.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So assume we have a &quot;call chain&quot; $F \to F_1 \to \dots \to F_n \to F$. If we furthermore assume that $F_1, \dots, F_n$ are not recursive themselves (because we have converted them already), we can &lt;em&gt;inline&lt;/em&gt; all those calls into the definition of $F$ which thusly becomes a directly recursive function we can already deal with.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This fails if some $F_j$ has itself a recursive call chain in which $F$ occurs, i.e. $F_j \to \dots \to F \to \dots \to F_j$. In this case, we have &lt;a href=&quot;https://en.wikipedia.org/wiki/Mutual_recursion&quot; rel=&quot;nofollow&quot;&gt;mutual recursion&lt;/a&gt; which requires another trick to get rid off. The idea is to compute both functions simultaneously. For example, in the trivial case:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;f(0) = a&#xA;f(n) = f'(g(n-1))&#xA;&#xA;g(0) = b&#xA;g(n) = g'(f(n-1))&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;with &lt;code&gt;f'&lt;/code&gt; and &lt;code&gt;g'&lt;/code&gt; non-recursive functions (or at least independent of &lt;code&gt;f&lt;/code&gt; and &lt;code&gt;g&lt;/code&gt;) becomes&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;h(0) = (a,b)&#xA;h(n) = let (f,g) = h(n-1) in (f'(g), g'(f)) end&#xA;&#xA;f(n) = let (f, _) = h(n) in f end&#xA;g(n) = let (_, g) = h(n) in g end&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;This naturally extends to more functions involved and more complicated functions.&lt;/p&gt;&#xA;" OwnerUserId="1546" LastEditorUserId="1546" LastEditDate="2012-02-16T19:43:37.460" LastActivityDate="2012-02-16T19:43:37.460" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="10232" PostTypeId="2" ParentId="10228" CreationDate="2012-02-16T14:25:16.470" Score="8" Body="&lt;p&gt;Yes, there are convincing reasons to believe that recursion can be turned into iteration. This is what every compiler does when it translates source code to machine language. For theory you should follow Dave Clarke's suggestions. If you would like to see actual code that converts recursion to non-recursive code, have a look at &lt;code&gt;machine.ml&lt;/code&gt; in the MiniML language in my &lt;a href=&quot;http://andrej.com/plzoo/&quot;&gt;PL Zoo&lt;/a&gt; (notice that the &lt;code&gt;loop&lt;/code&gt; function at the bottom, which actually runs code, is tail recursive and so it can be trivially converted to an actual loop).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One more thing. MiniML does not support mutually recursive functions. But this is not a problem. If you have mutual recursion between functions&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$f_1 : A_1 \to B_1$$&#xA;$$f_2 : A_2 \to B_2$$&#xA;$$\vdots$$&#xA;$$f_n : A_n \to B_n$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;the recursion can be expressed in terms of a single recursive map&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$f : A_1 + \cdots + A_n \to B_1 + \cdots + B_n,$$&lt;/p&gt;&#xA;" OwnerUserId="705" LastActivityDate="2012-02-16T14:25:16.470" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10233" PostTypeId="2" ParentId="10175" CreationDate="2012-02-16T16:02:05.683" Score="6" Body="&lt;p&gt;This is a slightly different take on your question than Marcus's, but in light of your explanation of how you came to think of this question, it may be closer to what you are looking for.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Sometimes one can prove that a problem is decidable, without being able to exhibit the algorithm for it.  The most famous example of this sort of thing is the work of Robertson and Seymour on graph minors, which shows that any hereditary graph property can be decided in polynomial time, by checking for the presence of a suitable finite list of forbidden minors.  Their proof shows only that a finite list of forbidden minors exists, but does not provide a recipe for &lt;i&gt;finding&lt;/i&gt; the list.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm not an expert in the area so I don't know offhand of a specific example of a hereditary graph property for which we cannot exhibit an algorithm because we do not know the list of forbidden minors and we know of no other way to solve the problem, but I suspect that such examples exist.  (And we can bound the running time for finding an example if it exists, since we know that there are at most 8 billion people in the world and in the worst case we could ask them all!)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One further remark: Since we know that checking for a minor can be done in $O(n^3)$ time, you could argue that in all the cases furnished by the Robertson&amp;ndash;Seymour algorithm, we &lt;i&gt;do&lt;/i&gt; have a &quot;bound&quot; of $O(n^3)$ on the running time.  However, I would argue that this is sort of cheating, if we have no bound on the constant.&lt;/p&gt;&#xA;" OwnerUserId="2970" LastActivityDate="2012-02-16T16:02:05.683" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="10234" PostTypeId="2" ParentId="10228" CreationDate="2012-02-16T16:25:34.680" Score="0" Body="&lt;p&gt;in my opinion this question goes back to the very origins of definitions of computation and was long ago proven rigorously around that time when the church &lt;a href=&quot;http://en.wikipedia.org/wiki/Lambda_calculus&quot; rel=&quot;nofollow&quot;&gt;lambda calculus&lt;/a&gt; (which highly captures the concept of recursion) was shown to be equivalent to Turing machines, and is contained in the still used terminology &quot;recursive languages/functions&quot;. also apparently a later key ref along these lines is as follows&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;As pointed out by Peter Landin's 1965 paper A Correspondence between ALGOL 60 and Church's Lambda-notation, sequential procedural programming languages can be understood in terms of the lambda calculus, which provides the basic mechanisms for procedural abstraction and procedure (subprogram) application.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;much of the bkd on this is in this wikipedia page &lt;a href=&quot;http://en.wikipedia.org/wiki/Church-Turing_Thesis&quot; rel=&quot;nofollow&quot;&gt;church-turing thesis&lt;/a&gt;. am not sure of the exact specifics but the wikipedia article seems to indicate it was Rosser(1939) who 1st proved this equivalence between lambda calculus and turing machines. maybe/presumably his paper has a stack-like mechanism for converting the (possibly recursive) lambda calls to the tm construction?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Rosser, J. B. (1939). &quot;An Informal Exposition of Proofs of Godel's Theorem and Church's Theorem&quot;. The Journal of Symbolic Logic (The Journal of Symbolic Logic, Vol. 4, No. 2) 4 (2): 53–60. doi:10.2307/2269059. JSTOR 2269059.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;note of course for anyone interested in the principles the modern &lt;a href=&quot;http://en.wikipedia.org/wiki/Lisp&quot; rel=&quot;nofollow&quot;&gt;Lisp language&lt;/a&gt; and the variant &lt;a href=&quot;http://en.wikipedia.org/wiki/Scheme_language&quot; rel=&quot;nofollow&quot;&gt;Scheme&lt;/a&gt; intentionally have a strong resemblance to the lambda calculus. studying the interpreter code for expression evaluation leads to ideas that were originally contained in papers for lambda calculus' turing completeness.&lt;/p&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="7884" LastEditDate="2012-02-16T16:32:40.067" LastActivityDate="2012-02-16T16:32:40.067" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10236" PostTypeId="2" ParentId="10140" CreationDate="2012-02-16T18:10:18.550" Score="2" Body="&lt;p&gt;Normally an unweighted #CSP problem is defined by a set of relations $\Gamma$ and the input to the problem #CSP($\Gamma$) is a formula $\Phi$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $\Gamma$ only contains relations of arity at most 1, then every possible input $\Phi$ correspondes to a graph with disjoint star graphs, which is planar. Furhtermore, if $\Gamma$ contains a relation of arity 2 or more, then it is easy to construt instantces that are not planar. (Think of the variables as the vertices of a graph and binary constraints as edges between these variables vertices. Higher arity contains also work. In this way, any graph can be constructed, as least as a subgraph of another graph.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In constrast, you are ignoring $\Gamma$ and directly asking about which $\Phi$ lead to planar graphs. However, each $\Phi$ defines a (unique) graph. There is no uncertianity as you suggest in this paragraph:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Since the embedding of $G$ depends heavily on the formula $\Phi$, the hope is, that there exists certain formulas that lead more often into planar bipartite covers. Does anyone know if it has ever been investigated how large the chances are that $G$ will be planar?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="3964" LastEditorUserId="3964" LastEditDate="2012-02-16T23:04:24.700" LastActivityDate="2012-02-16T23:04:24.700" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10237" PostTypeId="2" ParentId="10205" CreationDate="2012-02-16T21:27:17.453" Score="7" Body="&lt;p&gt;A useful survey on the topic, slightly out of date:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Philip Bille. &lt;a href=&quot;http://dx.doi.org/10.1016/j.tcs.2004.12.030&quot;&gt;A survey on tree edit distance and related problems&lt;/a&gt;. Theoretical Computer Science, Volume 337, Issues 1–3, Pages 217–239, 2005.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A recent paper on one of the versions of the problem:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Tatsuya Akutsu et al. &lt;a href=&quot;http://dx.doi.org/10.1016/j.tcs.2010.10.002&quot;&gt;Exact algorithms for computing the tree edit distance between unordered trees&lt;/a&gt;. Theoretical Computer Science, Volume 412, Issues 4–5, Pages 352–364, 2011.&lt;/p&gt;&#xA;" OwnerUserId="2869" LastActivityDate="2012-02-16T21:27:17.453" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10238" PostTypeId="1" AcceptedAnswerId="10239" CreationDate="2012-02-16T22:04:53.360" Score="8" ViewCount="271" Body="&lt;p&gt;The idea of a diameter constrained MST is that you keep all vertices connected and within a certain distance of each other. But all papers I've seen keep the requirement that you produce a tree, when allowing cycles could help reduce the diameter. &lt;strong&gt;Does anyone know any papers that explore this?&lt;/strong&gt; (It's difficult to search for.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, consider a complete graph with vertices arranged in a circle on a plane (edge weight = Euclidean distance). The MST (e.g. via Prim's) will follow the circle, so that the &lt;em&gt;diameter of the graph&lt;/em&gt; is roughly the &lt;em&gt;circumference of the circle&lt;/em&gt;. By allowing the final edge to be connected we can halve the diameter, without increasing the total weight much.&lt;/p&gt;&#xA;" OwnerUserId="8439" LastEditorUserId="-1" LastEditDate="2012-11-24T07:10:46.980" LastActivityDate="2012-11-24T07:10:46.980" Title="Diameter Constrained Minimum Spanning Graph" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;graph-theory&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="10239" PostTypeId="2" ParentId="10238" CreationDate="2012-02-16T22:27:51.980" Score="12" Body="&lt;p&gt;Minimum Diameter Spanning Subgraph is what you should be looking for. It is NP-Hard to compute even in the case of planar graphs. &lt;a href=&quot;http://onlinelibrary.wiley.com/doi/10.1002/net.3230110110/abstract&quot;&gt;This paper&lt;/a&gt; gives a nice overview.&lt;/p&gt;&#xA;" OwnerUserId="1501" LastEditorUserId="1501" LastEditDate="2012-02-16T22:43:37.460" LastActivityDate="2012-02-16T22:43:37.460" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10241" PostTypeId="2" ParentId="10141" CreationDate="2012-02-16T22:52:20.583" Score="17" Body="&lt;p&gt;Efficiently simulating quantum mechanics.&lt;/p&gt;&#xA;" OwnerUserId="3964" LastActivityDate="2012-02-16T22:52:20.583" CommentCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="10242" PostTypeId="1" AcceptedAnswerId="10248" CreationDate="2012-02-16T23:56:18.273" Score="-3" ViewCount="315" Body="&lt;p&gt;$T(2) = T(1) = 1$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$T(n) = T(\frac{n}{\log n}) + \Theta(1)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Basically, I wanted to know how many steps before the recursion stops?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I tried various approaches, but am not getting anywhere. &lt;strike&gt;I know for sure that this is $O((\log \log n)^2)$, but I wanted a $\Theta$ bound (tighter bound).&lt;/strike&gt; (this analysis is incorrect as shown in the comments below).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I've also run a simple program to compare $n, T(n)$, and $\log \log n$.&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;         n        T(n) log log n&#xA;             2,    1,    0&#xA;             4,    2,    1&#xA;             8,    3,    1&#xA;            16,    3,    2&#xA;            32,    4,    2&#xA;            64,    4,    2&#xA;           128,    5,    2&#xA;           256,    5,    3&#xA;           512,    5,    3&#xA;          1024,    5,    3&#xA;          2048,    6,    3&#xA;             .&#xA;             .&#xA;             .&#xA;     134217728,    9,    4&#xA;             .&#xA;             .&#xA;             .&#xA; 2199023255552,   12,    5&#xA; 4398046511104,   12,    5&#xA; 8796093022208,   12,    5&#xA;17592186044416,   13,    5&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;(This is not homework)&lt;/p&gt;&#xA;" OwnerUserId="983" LastEditorUserId="-1" LastEditDate="2012-11-24T07:11:33.517" LastActivityDate="2012-11-24T07:11:33.517" Title="How many steps does this recurrence take to get to 2 (or 1)?" Tags="&lt;ds.algorithms&gt;&lt;time-complexity&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10243" PostTypeId="1" CreationDate="2012-02-17T00:07:24.660" Score="14" ViewCount="236" Body="&lt;p&gt;I'm interested in the early history of published results on general-purpose space-time tradeoffs.  In particular, I want to know who first described the following type of algorithm for evaluating a computation having an arbitrary dataflow graph with in-degree O(1) using space proportional to the depth (not width) of the dataflow graph (plus the size of the input) by doing a straightforward depth-first evaluation of the graph.  In more detail:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let the dataflow graph be G=(V,E) where V is the set of computational vertices (O(1)-size data values) and E is is the set of edges (v_p, v_s), such that the value of successor vertex v_s \in V depends immediately on the value of predecessor vertex v_p \in V.  Let v_f be the vertex with no successors representing the final result of the computation.  Let I be a canonically ordered set of input vertices (with no predecessors), for i \in I its value x(i) is given.  For other vertices v \in S, their values are defined by x(v) = F_v(x(P(v))) where P(v) is a canonically ordered list of v's predecessors, x(P(v)) is the corresponding list of their values, and F_v is the vertex's function that determines its value as a function of the list of values of its predecessors.  Assume that the length of P(v) is O(1) for all dataflow graphs in some given class of interest (e.g., Boolean circuits with 1- and 2-input gates).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given this setup, the algorithm in question is fairly obvious &amp;amp; trivial:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;def eval(v):     (v can be any vertex in the graph)&#xA;   let P := P(v), the list of v's predecessors  (has O(1) elements by assumption)&#xA;   let val[] := uninitialized array of |P| data values&#xA;   for each predecessor p[i] in P (i.e. for i from 1 to |P|):&#xA;      if p[i] is in I then&#xA;         val[i] = x(p)      (look up a given input)&#xA;      else&#xA;         val[i] = eval(p[i])   (recursive call)&#xA;   return F_v(val[])        (apply vertex's function to list of predecessor values)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;This takes O(d) levels of recursion, where d is the depth of the dataflow graph, and the stack space at each level is constant due to the assumptions that the in-degree of the dataflow graph is constant, and that the size of the data values is constant.  (For simplicity here, I'm treating the size of the vertex references as constant as well, even though they are really logarithmic in |V|.)  Thus, total space usage is O(d + |I|).  The maximum width of the dataflow graph can be exponentially larger than this, so in the best case this technique can provide a pretty extreme space savings, in comparison to, say, a greedy forwards evaluation of the graph (which might be to, at each step, evaluate all vertices that directly depend only on vertices whose values are already known, and discard all vertices that are no longer needed because all of their immediate successors have already been computed).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Anyway, it's a fairly obvious technique, at least in retrospect, and it's certainly long-known, but I was wondering just how back the literature on it goes.  Anyone know the early history of results of this sort (whether described in these terms, or other analogous ones), and what would be a good reference for digging into this subject?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks very much,&#xA;-Mike Frank&lt;/p&gt;&#xA;" OwnerUserId="8440" LastEditorUserId="186" LastEditDate="2012-02-17T04:10:39.533" LastActivityDate="2012-02-17T04:10:39.533" Title="Early history of certain results on space-time tradeoffs?" Tags="&lt;cc.complexity-theory&gt;&lt;ho.history-overview&gt;&lt;space-time-tradeoff&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10244" PostTypeId="2" ParentId="10243" CreationDate="2012-02-17T00:48:31.960" Score="10" Body="&lt;p&gt;I do not know if it is the first occurrence or not, but the construction appears in the proof of Lemma 1 of Borodin [Bor77] about the space complexity of evaluating a Boolean circuit.  (It contains slightly more than just the idea of recursive evaluation to reduce the space complexity further from O(&lt;i&gt;D&lt;/i&gt; log &lt;i&gt;S&lt;/i&gt;) bits to O(&lt;i&gt;D&lt;/i&gt; + log &lt;i&gt;S&lt;/i&gt;) bits, where &lt;i&gt;D&lt;/i&gt; is the depth of the circuit and &lt;i&gt;S&lt;/i&gt; is the size of the circuit.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[Bor77] Allan Borodin.  On relating time and space to size and depth.  &lt;em&gt;SIAM Journal on Computing&lt;/em&gt;, 6(4):733–744, Dec. 1977.  DOI: &lt;a href=&quot;http://dx.doi.org/10.1137/0206054&quot;&gt;10.1137/0206054&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="567" LastActivityDate="2012-02-17T00:48:31.960" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10245" PostTypeId="2" ParentId="10141" CreationDate="2012-02-17T06:02:17.927" Score="-6" Body="&lt;p&gt;think you've raised an excellent question at the frontiers of QM research (partially indicated by your lack of answers so far), but it hasnt been entirely formally defined or captured as a problem. the question is along the lines of &quot;what exactly can QM algorithms compute efficiently anyway?&quot; and a complete answer is not known &amp;amp; being actively pursued. some of this is related to the (open questions on) complexity of QM-related classes. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;this would be the case that there is a somewhat formal question defined. if the QM classes can be shown to be equivalent to &quot;significantly powerful&quot; non-QM classes, then there's your answer. the general theme of this type of result would be a &quot;not-so-hard-in-QM&quot; class is equivalent to a &quot;hard-in-non-QM&quot; class. there are various open complexity class separations of this type (maybe someone else can suggest them in more detail).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;something strange about current QM knowledge on &lt;a href=&quot;http://en.wikipedia.org/wiki/Quantum_algorithm&quot; rel=&quot;nofollow&quot;&gt;quantum algorithms&lt;/a&gt;&#xA;is that theres a kind of weird grab bag of algorithms that are known to work in QM but theres seemingly not a lot of coherence/cohesion to them. they seem odd and disconnected in some ways. theres no apparent &quot;rule of thumb&quot; for &quot;problems that are computable in QM are generally in this form&quot; despite a reasonable expectation that one could be there. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;e.g. contrast this to the theory of NP completeness which is much more cohesive in comparison. it seems like maybe if the QM theory is better developed it would obtain this greater sense of cohesion reminiscent of NP completeness theory.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;a stronger idea might be that eventually when the QM complexity theory is fleshed out better, NP completeness will fit &quot;neatly&quot; into it somehow.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;to me the most general QM speedup or widely applicable strategy Ive seen seems to be Grovers algorithm because so much practical software is related to db queries. and in some ways increasingly &quot;unstructured&quot; ones:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Grover's algorithm searches an unstructured database (or an unordered list) with N entries, for a marked entry, using only $O(\sqrt{N})$ queries instead of the $Ω(N)$ queries required classically.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2012-02-17T06:02:17.927" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="10246" PostTypeId="1" AcceptedAnswerId="10252" CreationDate="2012-02-17T07:29:17.060" Score="4" ViewCount="1150" Body="&lt;p&gt;I have searched the web for the transition diagram of a universal Turing machine without luck. Is anyone aware of such a diagram? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I need this as a reference, so preferably a book or a published article. I don't want anything strange, just a standard Turing Machine with one tape that computes the Universal Turing Machine. The tape will contain a Turing machine and an input string. The rest of the tape is filled with blank. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would prefer historic references.&lt;/p&gt;&#xA;" OwnerUserId="14197" LastEditorUserId="14197" LastEditDate="2014-01-27T19:08:55.230" LastActivityDate="2014-01-27T19:08:55.230" Title="Transition Diagram of a Universal Turing Machine" Tags="&lt;reference-request&gt;&lt;computability&gt;&lt;turing-machines&gt;&lt;universal-computation&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10247" PostTypeId="2" ParentId="10023" CreationDate="2012-02-17T08:24:55.220" Score="2" Body="&lt;p&gt;Interesting question, lets look at some specific cases.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let there be $k$ keys, $n_{on}$ bits on, $n_{total}$ bits in total and $m$ elements inserted. We'll first try to find a function $P(k, n_{on}, n_{total}, m)$ which is the probability of a state occurring. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $km \lt n_{on}$, then $P(k, n_{on}, n_{total}, m)$ must be $0$, ie it's an impossibility.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $n_{on} = 1$, then we are looking for the probability that $km$ hashes fall in the same bucket, the first one can mark where the others should go. So we want to find the probability that $km - 1$ hashes fall in a specific bucket.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$P(k, 1, n_{total}, m) = (1/n_{total})^{(km-1)}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;That's the really simple cases over. If $n_{on} = 2$ then we want to find the probability that $km$ hashes land in $2$ distinct buckets and at least $1$ falls in each. There are $n_{total}(n_{total} - 1)$ pairs of buckets and the probability that the hashes land in any specific $2$ is $(2/n_{total})^{km}$ so the probability that the hashes fall in up to $2$ buckets is:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$n_{total}(n_{total} - 1)(2/n_{total})^{km}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We already know the probability that they'll fall in $1$ bucket so let's subtract that to give the probability that they'll fall in exactly $2$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$P(k, 2, n_{total}, m) = n_{total}(n_{total} - 1)(2/n_{total})^{km} - (1/n_{total})^{(km-1)}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think we can generalize this now.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$P(k, n_{on}, n_{total}, m) = {n_{total} \choose n_{on}}(n_{on}/n_{total})^{km} - \sum_{i=1}^{i&amp;lt;n_{on}} P(k, i, n_{total}, m)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm not exactly sure how to make this formula more amenable to computation. Naively implemented, it would result in exponential time execution time, though it's trivial, via memoization, to achieve linear time. It's then just a case of finding the most likely $m$. My instinct says that there will be a single peak so it may be possible to find it very quickly, but naively, you can definitely find the most probably m in $O(n^2)$.&lt;/p&gt;&#xA;" OwnerUserId="2750" LastActivityDate="2012-02-17T08:24:55.220" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="10248" PostTypeId="2" ParentId="10242" CreationDate="2012-02-17T09:51:26.307" Score="10" Body="&lt;p&gt;The solution is $T(n) = \Theta(\log n /\log\log n)$.  (I'm assuming the $O(1)$ term in the recurrence is really $\Theta(1)$, since otherwise $T(n)$ has no lower bound.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As you and Tsuyoshi already observed, you can derive a lower bound by overestimating the denominator in the recursive argument.  Consider the function $L_k(n)$ defined by the recurrence&#xA;$$&#xD;&#xA;L_k(n) = L_k\left(\frac{n}{\log k}\right) + \Theta(1).&#xD;&#xA;$$&#xA;The solution $L_k(n) = \Theta(\log n / \log \log k)$ follows from standard methods.  An easy inductive argument implies that $T(n) \ge L_k(n)$ for any $k\ge n$.  Thus, setting $k=n^2$ (for example) immediately gives us $T(n) = \Omega(\log n/\log\log n)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the upper bound, the symmetric trick is to &lt;em&gt;under&lt;/em&gt;-estimate the denominator in the recursive argument.  Consider the function $U_k(n)$ defined by the recurrence&#xA;$$&#xD;&#xA;U_k(n) = \begin{cases}&#xD;&#xA;   U_k\left(\frac{n}{\log k}\right) + O(1) &amp;amp; \text{if } n \ge k, &#xD;&#xA;   \\&#xD;&#xA;   T(n) &amp;amp; \text{otherwise.}\\&#xD;&#xA;\end{cases}&#xD;&#xA;$$&#xA;An easy inductive argument implies that $T(n) \le U_k(n)$ for any $k\le n$.  Assuming inductively that $T(n)$ is a nondecreasing function of $n$, the solution&#xA;$$&#xD;&#xA;   U_k(n)&#xD;&#xA;   \le T(k) + O\left( \frac{\log(n/k)}{\log \log k} \right)&#xD;&#xA;$$&#xA;follows from standard methods.  Setting $k=\sqrt{n}$ gives us the simpler(?) recurrence&#xA;$$&#xD;&#xA;   T(n) \le T(\sqrt{n}) + O\left( \frac{\log n}{\log \log n} \right),&#xD;&#xA;$$&#xA;which is easy to solve by standard methods.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'll walk through that one, too.  Multiply both sides by $\lg\lg n$:&#xA;$$&#xD;&#xA;  T(n)\lg\lg n&#xD;&#xA;  ~\le~ T(\sqrt{n})\lg\lg n + O(\log n)&#xD;&#xA;  ~=~ T(\sqrt{n})(\lg\lg\sqrt{n} + 1) + O(\log n).&#xD;&#xA;$$&#xA;Setting $LT(n) = T(n)\lg\lg n$ gives us&#xA;$$&#xD;&#xA;  LT(n) \le LT(\sqrt{n}) + T(\sqrt{n}) + O(\log n).&#xD;&#xA;$$&#xA;Assuming inductively that $T(n) \le 10^{10^{100}}\lg n$ for large enough $n$, the recurrence simplifies further to $LT(n) \le LT(\sqrt{n}) + O(\log n)$.  This recurrence expands into a geometric series, implying the solution $LT(n) = O(\log n)$, which implies $T(n) = O(\log n / \log\log n)$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hey look, all our inductive assumptions worked out!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Short version:&lt;/strong&gt; Logarithmic factors &lt;em&gt;usually&lt;/em&gt; act like constants in recurrences, because they change so slowly.  The details are often grungy, but straightforward with a little practice.  (A glaring exception is the recurrence $T(n) = T(n/2) + \Theta(n/\log n)$, whose solution is  $T(n) = \Theta(n\log\log n)$.)&lt;/p&gt;&#xA;" OwnerUserId="111" LastActivityDate="2012-02-17T09:51:26.307" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="10250" PostTypeId="2" ParentId="10023" CreationDate="2012-02-17T11:21:14.380" Score="2" Body="&lt;p&gt;Suppose that hashes are uniformly distributed.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $i$ be the number of inserted hashes. Since we have $i$ hashes into $m$ bins if we have $i-1$ hashes into $m$ bins and the next hash goes into one of those $m$ out of $n$ bins OR if we have $i-1$ hashes into $m-1$ bins and the next hash goes into one of the other $n-(m-1)$ bins, we have:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$P(m,i) = P(m,i-1)(m/n) + P(m-1,i-1)(n-(m-1))/n$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Rewriting:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$P(m,i) = \frac{1}{n}(mP(m,i-1) + (n-m+1)P(m-1,i-1))$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We also have $P(0,0) = 1$ and $P(m,0) = 0$ when $m \neq 0$  and $P(0,i) = 0$ when $i \neq 0$. This gives you an $O(mi)$ dynamic programming algorithm for calculating P. Calculating the $i$ that maximizes $P(m,i)$ gives you the maximum likelihood estimate.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we know that we have hashed into this bloom filter $i$ times and we have $k$ hashes per item, then the number of items is $i/k$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To speed it up you can do a few things. The factor of $\frac{1}{n}$ can be left out since it doesn't change the position of the maximum. You can share the dynamic programming tables with multiple calls to $P(m,i)$ to reduce the (asymptotic) running time to $O(nm)$. If you're willing to believe that there is a single maximum, you can stop the iteration over $i$ early and get running time $O(jm)$ where $j$ is point where $P$ takes on its maximum, or even do a binary search and get $O(m \log n)$.&lt;/p&gt;&#xA;" OwnerUserId="7944" LastEditorUserId="7944" LastEditDate="2015-04-03T20:35:51.753" LastActivityDate="2015-04-03T20:35:51.753" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10251" PostTypeId="2" ParentId="10023" CreationDate="2012-02-17T12:49:40.903" Score="1" Body="&lt;p&gt;Probability that a particular bit is 1 after n insertions is:&#xA;P = 1 - (1 - 1/m) ^ (kn)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let X_i be a discrete random variable which is 1 if the bit at i'th position is 1 and 0 otherwise. Let X = X_1 + X_2 + .... + X_m. Then, E[X] = m * P.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If total number of set bits are S, then: E[X] = S which implies m * P = S. This could be solved for n. &lt;/p&gt;&#xA;" OwnerUserId="3816" LastActivityDate="2012-02-17T12:49:40.903" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10252" PostTypeId="2" ParentId="10246" CreationDate="2012-02-17T13:48:33.970" Score="2" Body="&lt;p&gt;I found the book:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;@book{Hopcroft:1969:FLR:1096945,&#xA; author = {Hopcroft, John E. and Ullman, Jeffrey D.},&#xA; title = {Formal languages and their relation to automata},&#xA; year = {1969},&#xA; publisher = {Addison-Wesley Longman Publishing Co., Inc.},&#xA; address = {Boston, MA, USA},&#xA;} &#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;and &lt;a href=&quot;http://www.fractalmuse.org/misc/FLTRA_HU_UM.pdf&quot; rel=&quot;nofollow&quot;&gt;this is a link to a pdf scan of the UM description (7 pages)&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="3247" LastActivityDate="2012-02-17T13:48:33.970" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10253" PostTypeId="1" AcceptedAnswerId="10254" CreationDate="2012-02-17T15:50:06.530" Score="13" ViewCount="1358" Body="&lt;p&gt;In 1973 Weiner gave the first linear-time construction of suffix trees. The algorithm was simplified in 1976 by McCreight, and in 1995 by Ukkonen. Nevertheless, I find Ukkonen's algorithm relatively involved conceptually.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Has there been simplifications to Ukkonen's algorithm since 1995?&lt;/p&gt;&#xA;" OwnerUserId="8171" LastActivityDate="2012-02-19T14:38:43.887" Title="Conceptually simple linear-time suffix tree constructions" Tags="&lt;ds.algorithms&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="10254" PostTypeId="2" ParentId="10253" CreationDate="2012-02-17T16:52:44.820" Score="9" Body="&lt;p&gt;I'm not sure if there were any new results directly simplifying the construction of suffix trees. However, there has been at least &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=1759301&quot; rel=&quot;nofollow&quot;&gt;one result&lt;/a&gt; giving a very simple algorithm for constructing suffix arrays in linear time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that there's more than a conceptual equivalence between these two data structures, since you can use a suffix array (with $\cal{O}(1)$ time for querying the longest common prefix) to build an equivalent suffix tree. This should be a relatively simple exercise, but I can give more details if required.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, for practical purposes it's even easier to build suffix arrays in $\cal{O}(n \lg n)$ time, but I guess I'm going slightly off-topic here.&lt;/p&gt;&#xA;" OwnerUserId="49" LastEditorUserId="1546" LastEditDate="2012-02-19T14:38:43.887" LastActivityDate="2012-02-19T14:38:43.887" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="10255" PostTypeId="2" ParentId="2571" CreationDate="2012-02-17T17:16:23.457" Score="6" Body="&lt;p&gt;Representation theory of finite groups (also over finite fields) can be surprisingly useful for various tasks, including:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;matrix multiplication algorithms (&lt;a href=&quot;http://users.cms.caltech.edu/~umans/papers/CKSU05.pdf&quot;&gt;Cohn--Kleinberg-Szegedy-Umans&lt;/a&gt;)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;constructing locally decodable codes (see e.g. &lt;a href=&quot;http://www.cs.tau.ac.il/~klim/papers/Induced.pdf&quot;&gt;this paper&lt;/a&gt; by Klim Efremenko)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;applications in quantum computing (Hidden Subgroup Problem for nonabelian groups, multiplicative adversary method)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Although, to be honest, representation theory at the level required above can be learnt in two evenings (maybe three, if you want to learn representation theory of the symmetric group $S_n$), so there should be no pressure to learn it in advance.&lt;/p&gt;&#xA;" OwnerUserId="2083" LastEditorUserId="2083" LastEditDate="2012-02-17T17:21:35.943" LastActivityDate="2012-02-17T17:21:35.943" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="10256" PostTypeId="2" ParentId="10246" CreationDate="2012-02-17T17:42:23.680" Score="3" Body="&lt;p&gt;Here are some references:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Claude Shannon, &quot;A universal Turing machine with two internal states&quot;, 1956.&lt;/li&gt;&#xA;&lt;li&gt;Marvin Minsky, &quot;A 6-symbol 6-state Universal Turing Machine&quot;, 1960.&lt;/li&gt;&#xA;&lt;li&gt;Shigeru Watanabe, &quot;&lt;a href=&quot;http://dx.doi.org/10.1145/321088.321090&quot; rel=&quot;nofollow&quot;&gt;5-Symbol 8-State and 5-Symbol 6-State Universal Turing Machines&lt;/a&gt;&quot;, 1961.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Also Odifreddi writes [&quot;Classical Recursion Theory&quot;, vol I, p. 133]:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&quot;..., and explicit constructions of universal Turing machines are in Turing&#xA;  &lt;a href=&quot;http://plms.oxfordjournals.org/cgi/reprint/s2-42/1/230&quot; rel=&quot;nofollow&quot;&gt;[1936]&lt;/a&gt;, Wang &lt;a href=&quot;http://dx.doi.org/10.1002/malq.19570030602&quot; rel=&quot;nofollow&quot;&gt;[1957a]&lt;/a&gt; and in many textbooks, e.g. Hermes [1965], Minsky&#xA;  [1967], Arbib [1969], Hopcroft and Ullman [1979]. More information on&#xA;  the topic is in Davis [1956], [1957], Shannon [1956], Rogers [1967]&#xA;  and Priese [1979].&quot; &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2012-02-17T18:07:02.343" LastActivityDate="2012-02-17T18:07:02.343" CommentCount="0" CommunityOwnedDate="2012-02-17T17:42:23.680" ContentLicense="CC BY-SA 3.0" />
  <row Id="10257" PostTypeId="1" AcceptedAnswerId="10259" CreationDate="2012-02-17T20:13:05.430" Score="4" ViewCount="743" Body="&lt;p&gt;I am a Master student on CS. Actually in theory. &#xA;I have a BE in polymer (Chemical Eng stuff), and I struggled somehow to get enrolled in this program. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I want to apply a TCS  PhD in US. So, what do you people think is important that I get to apply to a PhD ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Perhaps you may value these following options:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;published paper ( I am writing a paper on combinatorics )&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;strong recommend letter &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;a high score on GRE or GRE sub(math or CS ,U Chig  recommends a math sub as far as I know)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Meet some guys who doing recruiting.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Note that I have 2.0/5 GPA on my BE, so this  really upsets me much.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hope that this problem could help others desiring to do a PhD in TCS.&lt;/p&gt;&#xA;" OwnerUserId="8398" LastEditorUserId="8030" LastEditDate="2012-02-18T00:06:04.433" LastActivityDate="2012-02-18T11:57:58.197" Title="What is considered significant when applying for a TCS PhD with major changed" Tags="&lt;soft-question&gt;&lt;advice-request&gt;&lt;career&gt;" AnswerCount="2" CommentCount="4" FavoriteCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="10258" PostTypeId="2" ParentId="10253" CreationDate="2012-02-17T21:58:31.920" Score="7" Body="&lt;p&gt;In addition to what was mentioned (&lt;a href=&quot;http://dl.acm.org/citation.cfm?id=1759301&quot;&gt;Kärkkäinen &amp;amp; Sanders, 2003&lt;/a&gt;), I think you would appreciate the &quot;newer&quot; version by &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=1217858&quot;&gt;Kärkkäinen, Sanders and Burkhard, 2006&lt;/a&gt;. The algorithm basically follows the structure of Farach's algorithm. It is arguably conceptually simpler, but the real bonus is that they provide the reader with a implementation of the algorithm. It is only about 50 lines of C++, so there are indeed no hidden details.&lt;/p&gt;&#xA;" OwnerUserId="5693" LastEditorUserId="5693" LastEditDate="2012-02-17T22:28:39.780" LastActivityDate="2012-02-17T22:28:39.780" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10259" PostTypeId="2" ParentId="10257" CreationDate="2012-02-17T21:59:03.057" Score="9" Body="&lt;p&gt;If you're currently a masters student in CS, then a lot of your 'switched major' issues have already gone away. the main concern in applying for a Ph.D in TCS is if you have sufficient &lt;em&gt;mathematical&lt;/em&gt; background, as well as background in algorithms. If your MS program experience can demonstrate this, and you also can demonstrate mathematical expertise via your paper in combinatorics, then that concern goes away. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;But admissions decisions are multivariate and stochastic. Maybe the right question is whether you have the right background to succeed, and there are answers regarding what constitutes the right background (on &lt;a href=&quot;https://cstheory.stackexchange.com/questions/5613/mathematical-background-needed-for-pursuing-a-phd-in-tcs&quot;&gt;mathematical background&lt;/a&gt;). Also see &lt;a href=&quot;https://cstheory.stackexchange.com/questions/3881/how-do-i-get-started-in-theoretical-cs&quot;&gt;this on how to prepare for a TCS advanced degree&lt;/a&gt;. &lt;/p&gt;&#xA;" OwnerUserId="80" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2012-02-17T21:59:03.057" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10260" PostTypeId="2" ParentId="791" CreationDate="2012-02-17T22:20:00.727" Score="3" Body="&lt;p&gt;The 21x12 grid is 4-colorable without monochromatic rectangles, as well !!!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See &lt;a href=&quot;http://blog.computationalcomplexity.org/2012/02/17x17-problem-solved-also-18x18.html?showComment=1329508023274#c8672609482661464781&quot; rel=&quot;nofollow&quot;&gt;last Bernd Steinbach's post on Gasarch's blog&lt;/a&gt;!&lt;/p&gt;&#xA;" OwnerUserId="3247" LastActivityDate="2012-02-17T22:20:00.727" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10263" PostTypeId="2" ParentId="10257" CreationDate="2012-02-18T02:27:52.047" Score="4" Body="&lt;p&gt;Not to address your question specifically, given my recent experience with TCS phd applications (US universities), I'd like to encourage you to apply to as many programs as possible. I don't want to be cynical, but given the limited number of spots available in these programs and the diverse and qualified pool of applicants, your admission is as random as it gets.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For instance, I have a joint degree in Math and EECS with a high GPA from a well respected university. Publication, great LORs, good GRE score, and research experience didn't help me not to get rejected form all the TCS programs I applied to (5/5 TCS rejections :D). So I recommend to have a plan B (I applied to AI instead of TCS for my top choice school which turned out to be much easier to get in)&lt;/p&gt;&#xA;" OwnerUserId="7050" LastEditorUserId="7050" LastEditDate="2012-02-18T06:00:47.473" LastActivityDate="2012-02-18T06:00:47.473" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="10264" PostTypeId="1" AcceptedAnswerId="10267" CreationDate="2012-02-16T14:12:45.427" Score="12" ViewCount="1441" Body="&lt;p&gt;I work in a computational neuroscience lab that quantifies the mutual information between pairs or groups of neurons. Recently, the boss his shifted focus to measuring the &quot;complexity of neural dynamics&quot;. In pursuing that line of research, some people in my group appear to equate &quot;complex&quot; with &quot;has a high entropy&quot;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Can anybody guide me on what the relationship is between computational complexity (in a CS sense) and entropy in the information theory sense?&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To explain a bit further, measures like Lempel-Ziv complexity, don't seem, to me, valid measures of complexity because they conflate informative (to the user) with carrying a lot of bits. Other measures, like &lt;code&gt;[Causal State Splitting Reconstruction][1]&lt;/code&gt; are much less known but have the appealing property that random processes have zero complexity, because zero hidden states are needed to represent a stationary random process.&lt;/p&gt;&#xA;" OwnerUserId="8352" OwnerDisplayName="mac389" LastEditorUserId="135" LastEditDate="2012-02-18T03:27:13.220" LastActivityDate="2012-02-21T16:42:03.223" Title="Relation between computational complexity and information" Tags="&lt;cc.complexity-theory&gt;&lt;it.information-theory&gt;" AnswerCount="4" CommentCount="6" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="10265" PostTypeId="2" ParentId="10264" CreationDate="2012-02-16T16:10:15.163" Score="3" Body="&lt;p&gt;The first thing that comes to mind as something you might find fascinating is Kolmogorov complexity; I certainly find it fascinating, and since you didn't mention it, I thought it might be worth mentioning.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;That being said, a more general approach to answering this question might be based on the theory of languages and automata. Deterministic finite automata are O(n) string processors. That is, given a string of length n, they process the string in precisely n steps (a lot of this depends on precisely how you define deterministic finite automata; however, a DFA certainly does not require more steps). Nondeterministc finite automata recognize the same languages (sets of strings) as DFAs, and can be transformed to DFAs, but to simulate an NFA on a sequential, deterministic machine, you must typically explore a tree-like &quot;search space&quot; which can increase the complexity dramatically. The regular languages are not very &quot;complex&quot; in a computational sense, since we can determine whether a string is in a particular regular language in time proportional to the length of the string.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can similarly look at other levels of the Chomsky hierarchy of languages - deterministic context-free, context-free (including nondeterministic context free languages, which cannot necessarily be recognized by deterministic pushdown automata), the context-sensitive languages, the recursive and recursively enumerable languages, and the undecidable languages.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Different automata differ primarily in their external storage; i.e., what external storage is necessary for the automata to correctly process languages of a certain type. Finite automata have no external storage; PDAs have a stack, and Turing machines have a tape. You could thus interpret complexity of a particular programming problem (which corresponds to a language) to be related to the amount or kind of storage required to recognize it. If you need no or a fixed, finite amount of storage to recognize all strings in a language, it's a regular language. If all you need is a stack, you have a context-free language. Etc.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In general, I wouldn't be surprised if languages higher in the Chomsky hierarchy (hence with higher complexity) also tend to have higher entropy in the information-theoretic sense. That being said, you could probably find lots of counterexamples to this idea, and I have no idea whether there's any merit to it at all.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, this might be better asked at the &quot;theoretical cs&quot; (cstheory) StackExchange. &lt;/p&gt;&#xA;" OwnerUserId="5927" OwnerDisplayName="Patrick87" LastActivityDate="2012-02-16T16:10:15.163" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10266" PostTypeId="2" ParentId="10264" CreationDate="2012-02-16T20:13:47.777" Score="1" Body="&lt;p&gt;Computational complexity addresses necessary resources:  Given a particular type of problem, of some given size, what are the necessary resources (usually time, space, or both; and a particular type of computing device) to solve it.  Problems are then grouped together in complexity &quot;classes&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some of these are rather general and abstract:  Is the problem solvable at all, even in principle?  Does it require a machine of this type, or that?  The introduction to these ideas is still a graduate-level computer science topic, and the introduction material usually makes reference to the Chomsky hierarchy, which neatly (and beautifully!) maps together a few types of abstract machines, and a few types of abstract, mathematical language specifications.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some of these, at the lower level, are more practical in every day use:  Does this problem scale as the square of the problem size, or the cube, or some other function?  Interestingly, I do know that arguments to the entropy of a given problem have been found useful in determining some lower bounds to some computational problems.  One that sticks out in my mind (although I could probably not repeat it without checking a textbook) is an entropy-based argument for the minimum necessary number of comparisons during a sort.  The connection to entropy is through information theory.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So there is some merit to the idea, I think. &lt;/p&gt;&#xA;" OwnerUserId="9819" OwnerDisplayName="Novak" LastActivityDate="2012-02-16T20:13:47.777" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10267" PostTypeId="2" ParentId="10264" CreationDate="2012-02-18T05:02:18.320" Score="9" Body="&lt;p&gt;There are enough connections between information theory and computational complexity to merit a graduate course, e.g. this one: &lt;a href=&quot;http://www.cs.princeton.edu/courses/archive/fall11/cos597D/&quot;&gt;http://www.cs.princeton.edu/courses/archive/fall11/cos597D/&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="4896" LastActivityDate="2012-02-18T05:02:18.320" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10269" PostTypeId="1" AcceptedAnswerId="10270" CreationDate="2012-02-18T12:50:18.290" Score="2" ViewCount="551" Body="&lt;p&gt;I have a practical application where I need to map elements from one set (A) to another (B).&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Sets A and B can both have arbitrary numbers of elements&lt;/li&gt;&#xA;&lt;li&gt;Elements from A and B need to be paired up so that every element can only be used once.&lt;/li&gt;&#xA;&lt;li&gt;Elements can be left unpaired as well.&lt;/li&gt;&#xA;&lt;li&gt;A similarity matrix can be calculated: how well any element from A maps to any element from B.&lt;/li&gt;&#xA;&lt;li&gt;The goal is to find a mapping that maximizes the sum of these similarity scores.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Brute-forcing all the options gives factorial complexity which gets out of hand fast. However, for many examples a simple greedy approach seems to work fine - iteratively add the edge which has the maximum score in the similarity matrix, making sure that the restrictions still apply. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there any guarantee that this greedy approach will give me the maximized result? I haven't been able to come up with a good counter-example but that doesn't mean they don't exist. &lt;/p&gt;&#xA;" OwnerUserId="8455" LastActivityDate="2012-02-18T14:04:14.290" Title="Finding an injective mapping between two sets that maximizes a similarity function" Tags="&lt;ds.algorithms&gt;" AnswerCount="1" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="10270" PostTypeId="2" ParentId="10269" CreationDate="2012-02-18T13:53:55.317" Score="9" Body="&lt;p&gt;The simplest counter-example is something like an &quot;anti-multiplication table&quot;: for $A=B=\left\{1,2,\ldots,n\right\}$ let's define the cost function as $cost(a, b) = n^2 - ab$. The greedy algorithm will fail for $n \ge 2$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem you are solving is called the &lt;a href=&quot;http://en.wikipedia.org/wiki/Assignment_problem&quot;&gt;assignment problem&lt;/a&gt; and it's well studied. It can be solved in polynomial time by the &lt;a href=&quot;http://en.wikipedia.org/wiki/Hungarian_algorithm&quot;&gt;Hungarian algorithm&lt;/a&gt;, for example.&lt;/p&gt;&#xA;" OwnerUserId="7846" LastEditorUserId="7846" LastEditDate="2012-02-18T14:04:14.290" LastActivityDate="2012-02-18T14:04:14.290" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10272" PostTypeId="2" ParentId="10228" CreationDate="2012-02-18T17:56:03.717" Score="1" Body="&lt;p&gt;If you're familiar with languages that support lambdas then one avenue is to look into the CPS transformation. Removing use of the call stack (and recursion in particular) is exactly what the CPS transformation does. It transforms a program containing procedure calls into a program with only tail calls (you can think of these as gotos, which is an iterative construct).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The CPS transformation is closely related to explicitly keeping a call stack in a traditional array based stack, but instead of in an array the call stack is represented with linked closures.&lt;/p&gt;&#xA;" OwnerUserId="7944" LastActivityDate="2012-02-18T17:56:03.717" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10275" PostTypeId="2" ParentId="6474" CreationDate="2012-02-18T21:55:39.837" Score="1" Body="&lt;p&gt;Any problem that is MP-Complete, The class of decision problems such that for some #P function f, the answer on input x is 'yes' if and only if the middle bit of f(x) is 1. [Definition is from Complexity Zoo]. &lt;br&gt;&#xA;It has been shown that &#xA;  PH&#xA;  &amp;#x2286;&#xA;  MP&#xA;&amp;#x2286;&#xA; PSPACE&#xA;&#xA;.&lt;/p&gt;&#xA;" OwnerUserId="1590" LastActivityDate="2012-02-18T21:55:39.837" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10278" PostTypeId="2" ParentId="8335" CreationDate="2012-02-19T01:09:04.140" Score="2" Body="&lt;p&gt;The &lt;a href=&quot;http://www.ieice.org/eng/books/trans.html&quot; rel=&quot;nofollow&quot;&gt;IEICE Transactions&lt;/a&gt; from Japan has a very fast review process. The first round of review takes at most 3 months, and the second round between 2-3 months. So, in 5-6 months you get a definitive answer. I don't know the numbers, but several professors told me that's the case, and I confirmed that by personal experience. These journals are very popular in Japan, with many papers published every month.&lt;/p&gt;&#xA;" OwnerUserId="135" LastActivityDate="2012-02-19T01:09:04.140" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10279" PostTypeId="1" CreationDate="2012-02-19T03:48:16.000" Score="-4" ViewCount="458" Body="&lt;p&gt;Here is a question I came up with and i have been pondering for a while. It relates to covering codes, a subset of coding theory. I could not come up with an adequate solution, so here I am, asking the forum!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose you and I are playing a game. I think of a 5-digit binary number, and you have a certain number of guesses to guess what it is. You write all your guesses on a piece of paper, and when you have guessed to your hearts contet, you show me the slip of paper. I tell you if any of your guesses were correct. The catch is, your guess can be 1 digit off and still be considered correct. For example, if k=5 and I am thinking of 11101, you could guess either 11101, 11100, 11111, 11001, 10101, or 01101. My question is, what is the least number of guesses you need to write down to make absolutely sure you have properly guessed my number with one of your guesses?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now I have done some research and found that the answer is 7. In other words, you need to guess 7 numbers to make sure you have guessed my number. But I cannot find what these 7 numbers are! As such, I refuse to simply accept this answer. Furthermore, the answer could be 6 (since each number guess covers 6 possibilities, the absolute minimum number of guesses you need is 6 since 6x6=36&gt;32). But obviously 6 is not the answer... is there a logical reason why?&lt;/p&gt;&#xA;" OwnerUserId="8461" LastEditorUserId="-1" LastEditDate="2012-11-24T07:11:14.373" LastActivityDate="2012-11-24T07:11:14.373" Title="Covering Codes with Game Theory Application" Tags="&lt;co.combinatorics&gt;&lt;it.information-theory&gt;&lt;coding-theory&gt;" AnswerCount="2" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="10280" PostTypeId="2" ParentId="8539" CreationDate="2012-02-19T04:47:50.747" Score="3" Body="&lt;p&gt;Another more practical application of automata theory is the development of artificial intelligence. Artificial Intelligence was developed from the concept of finite automaton. The neural network of robots is constructed on the basis of automata theory. After all robots are also automata.&lt;/p&gt;&#xA;" OwnerUserId="8462" LastEditorUserId="2372" LastEditDate="2012-02-23T08:49:42.250" LastActivityDate="2012-02-23T08:49:42.250" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10281" PostTypeId="1" AcceptedAnswerId="10293" CreationDate="2012-02-19T10:04:47.783" Score="9" ViewCount="485" Body="&lt;p&gt;My question is a bit vague. I have been wondering if (and how), we can apply the notion of treewidth to packing problems in graphs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would be happy with any insights or references of past research work on this (assuming their is some relation). Thanks.&lt;/p&gt;&#xA;" OwnerUserId="3816" LastEditorUserId="-1" LastEditDate="2012-11-24T07:11:36.103" LastActivityDate="2013-05-29T23:01:10.123" Title="Treewidth and Packing" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;approximation-algorithms&gt;" AnswerCount="4" CommentCount="0" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="10284" PostTypeId="2" ParentId="10281" CreationDate="2012-02-19T12:45:21.417" Score="7" Body="&lt;p&gt;The maximum independent set problem is a packing problem (you can think it as packing disjoint stars), and it has a well-known algorithm with running time $2^k \operatorname{poly(n)}$ in graphs with treewidth at most $k$. &lt;/p&gt;&#xA;" OwnerUserId="290" LastActivityDate="2012-02-19T12:45:21.417" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="10285" PostTypeId="2" ParentId="10281" CreationDate="2012-02-19T14:14:20.243" Score="5" Body="&lt;p&gt;This is also a vague answer. There is a duality similar to Erdos-Posa theorem for graphs of bounded treewidth. See, for example&#xA;Fedor V. Fomin, Saket Saurabh, Dimitrios M. Thilikos: Strengthening Erdös-Pósa property for minor-closed graph classes. Journal of Graph Theory 66(3): 235-240 (2011)&lt;/p&gt;&#xA;" OwnerUserId="8468" LastActivityDate="2012-02-19T14:14:20.243" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10286" PostTypeId="2" ParentId="10279" CreationDate="2012-02-20T00:31:15.087" Score="2" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;00000&lt;br&gt;&#xA;  11110&lt;br&gt;&#xA;  01110&lt;br&gt;&#xA;  01111&lt;br&gt;&#xA;  10011&lt;br&gt;&#xA;  10101&lt;br&gt;&#xA;  11001  &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="1677" LastEditorUserId="1677" LastEditDate="2012-02-20T00:36:30.650" LastActivityDate="2012-02-20T00:36:30.650" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10287" PostTypeId="1" AcceptedAnswerId="10299" CreationDate="2012-02-20T01:24:36.450" Score="6" ViewCount="730" Body="&lt;p&gt;First of all, I apologise off the bat for my mangling of CompSci language. I have no real training or background in computer science or mathematics.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I've been wondering lately whether there's a 'general' explanation for the inefficiency of high-level languages in performing certain kinds of algorithms - from simple cases like the massive performance improvement in &lt;code&gt;C&lt;/code&gt; over, say, &lt;code&gt;Python&lt;/code&gt;, when looping over a set, up to complex mathematical algorithms.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is it purely a quantitative matter - C is more efficient because it's not doing weird magic behind the scenes and the programmer directly interacts with main memory? And because it's not doing things like interrupts for garbage collection and other general housekeeping like a high-level language might?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Or is there some deeper ontological explanation for this? Is there some &lt;em&gt;qualitative&lt;/em&gt; property of a low-level procedural language (or, at times, of a functional language) that makes it possible to express and compute a problem efficiently? Or is it simply a matter of brute resource and CPU cycle efficiency?&lt;/p&gt;&#xA;" OwnerUserId="8472" LastActivityDate="2015-05-26T23:57:20.210" Title="Is there a general theory for why certain algorithms are inefficient in high-level languages?" Tags="&lt;ds.algorithms&gt;" AnswerCount="6" CommentCount="17" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10288" PostTypeId="2" ParentId="8936" CreationDate="2012-02-20T02:37:35.017" Score="9" Body="&lt;p&gt;I'm happy to say that I think we can answer this question in the affirmative: that is, deciding whether a linear congruence is feasible modulo &lt;em&gt;k&lt;/em&gt; is &lt;strong&gt;coMod&lt;/strong&gt;&lt;sub&gt;&lt;em&gt;k&lt;/em&gt;&lt;/sub&gt;&lt;strong&gt;L&lt;/strong&gt;-complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We can actually reduce this problem to the special case of prime powers. One may show that: &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Normal Form.&lt;/strong&gt; The class &lt;strong&gt;coMod&lt;/strong&gt;&lt;sub&gt;&lt;em&gt;k&lt;/em&gt;&lt;/sub&gt;&lt;strong&gt;L&lt;/strong&gt; consists of langauges &lt;em&gt;L&lt;/em&gt; of the form &lt;em&gt;L&lt;/em&gt;&amp;nbsp;=&amp;nbsp;&lt;em&gt;L&lt;/em&gt;&lt;sub&gt;&lt;em&gt;p&lt;/em&gt;&lt;sub&gt;1&lt;/sub&gt;&lt;/sub&gt;&amp;nbsp;&amp;cap;&amp;nbsp;&lt;em&gt;L&lt;/em&gt;&lt;sub&gt;&lt;em&gt;p&lt;/em&gt;&lt;sub&gt;2&lt;/sub&gt;&lt;/sub&gt;&amp;nbsp;&amp;cap;&amp;nbsp;...&amp;nbsp;&amp;cap;&amp;nbsp;&lt;em&gt;L&lt;sub&gt;p&lt;sub&gt;r&lt;/sub&gt;&lt;/sub&gt;&lt;/em&gt;&amp;nbsp;, where &lt;em&gt;L&lt;sub&gt;p&lt;sub&gt;j&lt;/sub&gt;&lt;/sub&gt;&lt;/em&gt;&amp;nbsp;&amp;isin;&amp;nbsp;&lt;strong&gt;coMod&lt;/strong&gt;&lt;sub&gt;&lt;em&gt;p&lt;sub&gt;j&amp;nbsp;&lt;/sub&gt;&lt;/em&gt;&lt;/sub&gt;&lt;strong&gt;L&lt;/strong&gt; and where &lt;em&gt;p&lt;sub&gt;j&lt;/sub&gt;&lt;/em&gt; ranges over the prime factors of &lt;em&gt;k&lt;/em&gt;.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;By the Remainder Theorem, any solution to a system of equations modulo each of the prime powers $p_{\!j}^{e_j}$ dividing &lt;em&gt;k&lt;/em&gt; gives rise to a solution to the same system, mod &lt;em&gt;k&lt;/em&gt;.&#xA;So if solving systems of linear equations &lt;em&gt;over $p_{\!j}^{t_j}$&lt;/em&gt; is contained in &lt;strong&gt;coMod&lt;/strong&gt;&lt;sub&gt;&lt;em&gt;p&lt;sub&gt;j&amp;nbsp;&lt;/sub&gt;&lt;/em&gt;&lt;/sub&gt;&lt;strong&gt;L&lt;/strong&gt;, it follows that solving systems of equations mod &lt;em&gt;k&lt;/em&gt; is contained in &lt;strong&gt;coMod&lt;/strong&gt;&lt;sub&gt;k&lt;/sub&gt;&lt;strong&gt;L&lt;/strong&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There's a standard algorithm, described by &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=33386&quot;&gt;McKenzie and Cook&lt;/a&gt; for reducing linear congruences modulo a prime power to constructing a spanning set for its nullspace (namely, for &lt;em&gt;A&lt;/em&gt;&lt;strong&gt;x&lt;/strong&gt;&amp;nbsp;=&amp;nbsp;&lt;strong&gt;y&lt;/strong&gt; over a given ring, construct a basis for the nullspace of [&amp;nbsp;&lt;em&gt;A&lt;/em&gt;&amp;nbsp;|&amp;nbsp;&lt;strong&gt;y&lt;/strong&gt;&amp;nbsp;] and see if any solutions exist with a final coefficient of &amp;minus;1); and subsequently for reducing the construction of nullspaces modulo prime powers to constructing nullspaces modulo primes, and matrix multiplication modulo prime powers. Both of the latter tasks are problems which are feasible for &lt;strong&gt;coMod&lt;/strong&gt;&lt;sub&gt;&lt;em&gt;k&lt;/em&gt;&lt;/sub&gt;&lt;strong&gt;L&lt;/strong&gt;, provided that you can construct the matrices involved.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It turns out that the matrices involved in the reduction of McKenzie and Cook can themselves be computed by matrix multiplication, and (crucially) division by a constant factor. Fortunately, for prime powers, the coefficients of the matrices involved can be computed on the work-tape using an oracle for &lt;strong&gt;coMod&lt;/strong&gt;&lt;sub&gt;&lt;em&gt;p&lt;/em&gt;&lt;/sub&gt;&lt;strong&gt;L&lt;/strong&gt;-machines; and the division by a constant can be performed in &lt;strong&gt;NC&lt;/strong&gt;&lt;sup&gt;1&lt;/sup&gt;, which is again feasible in &lt;strong&gt;coMod&lt;/strong&gt;&lt;sub&gt;&lt;em&gt;p&lt;/em&gt;&lt;/sub&gt;&lt;strong&gt;L&lt;/strong&gt;. So it turns out that the whole problem is ultimately doable in &lt;strong&gt;coMod&lt;/strong&gt;&lt;sub&gt;&lt;em&gt;k&lt;/em&gt;&lt;/sub&gt;&lt;strong&gt;L&lt;/strong&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For complete details, see [&lt;a href=&quot;http://arxiv.org/abs/1202.3949&quot;&gt;arxiv:1202.3949&lt;/a&gt;].&lt;/p&gt;&#xA;" OwnerUserId="248" LastActivityDate="2012-02-20T02:37:35.017" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="10289" PostTypeId="1" CreationDate="2012-02-20T03:16:15.253" Score="0" ViewCount="526" Body="&lt;p&gt;I have specific question about suffix trees. I am reading the book  &lt;a href=&quot;http://books.google.com/books/about/Algorithms_on_strings_trees_and_sequence.html?id=STGlsyqtjYMC&quot; rel=&quot;nofollow&quot;&gt;Algorithms on strings_trees and sequence&lt;/a&gt;.&#xA;I cannot understand details of Ukkonen's algorithm for constructing suffix trees. Why using the skip/count trick, any phase of Ukkonen's algorithm takes O(m) time (theorem 6.1.1)? In particular why over the entire phase, the total number of edge traversals during down-walks is bounded by by 3m? &lt;/p&gt;&#xA;" OwnerUserId="7836" LastEditorUserId="-1" LastEditDate="2012-11-24T07:11:30.847" LastActivityDate="2012-11-24T07:11:30.847" Title="suffix tree: about Ukkonen's algorithm" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;string-matching&gt;" AnswerCount="0" CommentCount="7" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10290" PostTypeId="1" CreationDate="2012-02-20T05:27:10.843" Score="6" ViewCount="460" Body="&lt;p&gt;We know by Immerman–Szelepcsényi theorem that $\mathsf{NL}=\mathsf{coNL}$? Does it follow from this theorem that  $\mathsf{NL}^\mathsf{NL} = \mathsf{NL}$? Here, $\mathsf{NL}^\mathsf{NL}$ denotes the class of problems which can be solved by an $\mathsf{NL}$ machine with access to  an $\mathsf{NL}$ oracle.&lt;/p&gt;&#xA;" OwnerUserId="8474" LastEditorUserId="-1" LastEditDate="2012-02-23T08:20:47.667" LastActivityDate="2012-02-23T08:20:47.667" Title="Can we show that $\mathsf{NL}^\mathsf{NL} = \mathsf{NL}$? " Tags="&lt;complexity-classes&gt;&lt;space-bounded&gt;&lt;oracles&gt;&lt;nondeterminism&gt;&lt;logspace&gt;" AnswerCount="0" CommentCount="9" ClosedDate="2012-02-23T17:47:56.817" ContentLicense="CC BY-SA 3.0" />
  <row Id="10291" PostTypeId="1" AcceptedAnswerId="10295" CreationDate="2012-02-20T06:26:15.857" Score="8" ViewCount="1144" Body="&lt;p&gt;While it is very common to see successful autodidact musicians, painters, authors and architects - I am not familiar with any famous autodidacts in the field of TCS.&#xA;Are there any examples of an accomplished autodidact theoretical computer scientist (i.e., someone who published a significant paper, without ever going to grad school) ? &lt;/p&gt;&#xA;" OwnerDisplayName="user887" LastActivityDate="2012-02-20T14:41:16.563" Title="Accomplished autodidact theoretical computer scientists" Tags="&lt;soft-question&gt;" AnswerCount="1" CommentCount="7" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10292" PostTypeId="2" ParentId="9298" CreationDate="2012-02-20T13:03:46.163" Score="7" Body="&lt;p&gt;In the paper &quot;On Uniform Circuit Complexity&quot; by Ruzzo, footnote 1 says&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Cook’s term was PLOPS; SC is Pippenger’s mnemonic for “Steve’s Class,” in recognition of the&#xA;  contribution of [ 5 ]&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;And [5] is the DCFL paper by Cook.&lt;/p&gt;&#xA;" OwnerUserId="313" LastActivityDate="2012-02-20T13:03:46.163" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10293" PostTypeId="2" ParentId="10281" CreationDate="2012-02-20T13:24:46.967" Score="11" Body="&lt;p&gt;I can interpret this question in two different ways:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) When it comes to algorithmic properties of packing problems on graphs of bounded treewidth, Courcelle's Theorem shows that for every fixed $k$ we can optimally solve problems expressible in Monadic Second Order Logic in linear time on graphs of treewidth at most $k$ (see for example &lt;a href=&quot;http://dx.doi.org/10.1093/comjnl/bxm037&quot;&gt;http://dx.doi.org/10.1093/comjnl/bxm037&lt;/a&gt; for a survey on the algorithmic properties of bounded-treewidth graphs). As many packing problems can be formulated in MSOL, this proves tractability of many such problems on graphs of bounded treewidth, including Independent Set, Triangle Packing, Cycle Packing, packing vertex/edge disjoint copies of any fixed graph, packing vertex-disjoint minor models of some fixed graph H, and so on. But as this tractability extends to all MSOL-definable problems, it is not specific to packing.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) When it comes to graph-structural relationships between packings and treewidth, the following might be of interest. Thanks to the work of Robertson and Seymour it is known that there is a function $f \colon \mathbb{N} \to \mathbb{N}$ such that every graph of treewidth at least $f(r)$ contains an $r \times r$ grid as a minor (the original bound for $f$ given by Seymour and Robertson was later improved in collaboration with Thomas; see &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0095895684710732&quot;&gt;http://www.sciencedirect.com/science/article/pii/S0095895684710732&lt;/a&gt; for the current-best bound). Hence if you have a structure $S$ such that many copies of $S$ can be packed into an $r \times r$ grid minor, then you know that any graph of large treewidth contains a large packing of copies of $S$. For example, as an $r \times r$ grid (for even $r$) contains $(r/2)^2$ vertex-disjoint cycles, it follows that a graph of treewidth $f(r)$ contains at least $(r/2)^2$ disjoint cycles.&lt;/p&gt;&#xA;" OwnerUserId="122" LastActivityDate="2012-02-20T13:24:46.967" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="10294" PostTypeId="2" ParentId="10287" CreationDate="2012-02-20T13:44:20.437" Score="10" Body="&lt;p&gt;There is no deeper reason other than quality of compilers and interpreters.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some languages are &lt;em&gt;not&lt;/em&gt; designed with speed of execution in mind. For example, the &lt;a href=&quot;http://python-history.blogspot.com/2009/01/personal-history-part-1-cwi.html&quot;&gt;design goals of Python&lt;/a&gt; did not include speed of execution at the very top. In such cases you should not wonder where speed has gone.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some languages &lt;em&gt;are&lt;/em&gt; intended to run fast but it takes time for people to produce good compilers and runtime environments. Typical examples are the so-called &quot;high-level&quot; languages. For example, early variants of ML were memory hogs that ran sort of fast until the garbage collector kicked in. Nowadays, 25 years later, a modern variant of ML, such as &lt;a href=&quot;http://caml.inria.fr/&quot;&gt;Ocaml&lt;/a&gt;, runs with speeds &lt;a href=&quot;http://www.ffconsultancy.com/languages/ray_tracer/comparison.html&quot;&gt;comparable to those of C and C++&lt;/a&gt;, and in most cases you don't even notice that there is a garbage collector.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Why is it harder to compile high-level languages to fast code? Well, because they are high level. Programs written in such languages operate directly with concepts that are far removed from the underlying hardware. In contrast, low level languages such as C, C++ and java are essentially glorified assembly languages and there is very little that the compiler actually needs to do.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, there are languages out there whose design is essentially screwed up in such a way that efficient compiled code is hard to obtain. Typically such languages have no or little compile-time type checking or unreasonable amounts of reflection, i.e., &lt;code&gt;eval &amp;lt;string&amp;gt;&lt;/code&gt;, and an operational semantics which relies heavily on string replacement and manipulation of source code. Bourne shell comes to mind, TeX/LaTeX as well, and maybe Python to an extent. As long as such &quot;features&quot; are deliberate design choices that is ok, but there also seem to be languages out there whose design was based on ignorance of programming language theory.&lt;/p&gt;&#xA;" OwnerUserId="705" LastEditorUserId="705" LastEditDate="2012-02-20T13:53:12.407" LastActivityDate="2012-02-20T13:53:12.407" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10295" PostTypeId="2" ParentId="10291" CreationDate="2012-02-20T14:41:16.563" Score="8" Body="&lt;p&gt;In addition to some of the great people listed in the comments, &lt;a href=&quot;http://en.wikipedia.org/wiki/Gregory_Chaitin&quot;&gt;Gregory Chaitin&lt;/a&gt; independently developed much of Kolmogorov complexity while he was a highschool student in New York city. &lt;/p&gt;&#xA;" OwnerUserId="25" LastActivityDate="2012-02-20T14:41:16.563" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10296" PostTypeId="2" ParentId="10287" CreationDate="2012-02-20T14:41:41.070" Score="2" Body="&lt;p&gt;I think that the gap between the performance of two programming languages highly depends on the type of the problem/algorithm and how you measure such &quot;&lt;em&gt;performance&lt;/em&gt;&quot;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The introductory paragraph of the &quot;&lt;a href=&quot;http://shootout.alioth.debian.org/&quot; rel=&quot;nofollow&quot;&gt;The Computer Language Benchmarks Game&lt;/a&gt;&quot; page is clarifying:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;... When the facts are about the performance of programs, the particular way each program does a task matters a lot. Obviously when programs implement different algorithms that difference may itself be enough to explain any difference in program performance. Less obviously, even when the same program is measured with different implementations of the same programming language, the particular way that program does the task may work better with one of the language implementations than the other - but slight changes to the program might reverse that performance difference. So there has to be some flexibility allowed in the way programs implement the same algorithm, and the tasks are kept simple enough for you to check the program source code. When the facts are about a wide range of different programming languages even more flexibility has to be allowed in the way programs implement the same algorithm - after all, the point of using a different language is for the different approach that language provides. ...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, if you look at the &lt;a href=&quot;http://shootout.alioth.debian.org/u32/which-programming-languages-are-fastest.php&quot; rel=&quot;nofollow&quot;&gt;The Computer Language Benchmarks Game&lt;/a&gt;, you can see that a gap often occurs between a compiled and an interpreted language, but it is not always true: in the &lt;em&gt;regex-dna&lt;/em&gt; test, javascript performs better ... but only because it has a powerful and &quot;native&quot; support for regular-expressions. It is also clear that the gap between Java and C++ has greatly reduced thanks to its &lt;a href=&quot;http://en.wikipedia.org/wiki/Just-in-time_compilation&quot; rel=&quot;nofollow&quot;&gt;JIT compilation&lt;/a&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The &lt;em&gt;theory says&lt;/em&gt; that different programming languages lead to execution times that differ only by a constant factor ... and the speedup theorem for Turing Machines says that constant factors are meaningless; but some efforts have been done to &lt;strong&gt;study computability and complexity from a programming-language point of view&lt;/strong&gt; and the results are a little bit different.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See for example: &lt;strong&gt;Computational Complexity via Programming Languages: Constant Factors Do Matter&lt;/strong&gt; (A. M. Ben-Amram and Neil D. Jones)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;... Using the programming language described in this paper we prove a series of hierarchy theorems ... The main theorem, for deterministic time, states that for time-constructible functions $T(n)$, there is a constant $b$ such that more decision problems can be solved in time $bT(n)$ than in time $T(n)$ ... &lt;/p&gt;&#xA;" OwnerUserId="3247" LastActivityDate="2012-02-20T14:41:41.070" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="10297" PostTypeId="2" ParentId="6474" CreationDate="2012-02-20T15:07:43.517" Score="1" Body="&lt;p&gt;ParitySat problem is to check if a SAT problem has an odd number of satisfiable assignments. PH is reducible to ParitySAT via randomized reductions by Toda’s work. This is a decision problem that is clearly strictly between PH and PSACE unless PH collapses. &lt;/p&gt;&#xA;" OwnerUserId="3423" LastActivityDate="2012-02-20T15:07:43.517" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10298" PostTypeId="2" ParentId="10287" CreationDate="2012-02-20T15:51:58.893" Score="3" Body="&lt;p&gt;(Not an answer, but a bit too long comment.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One aspect that has not been covered in the other answers is the fact that &quot;higher-level&quot; languages typically provide additional &lt;em&gt;safety nets&lt;/em&gt;, which may involve some run-time overhead.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As a concrete example, I have occasionally compared the performance of C code and equivalent Java code (truly equivalent – forget about classes and objects, your high-level data structure is &lt;code&gt;int[]&lt;/code&gt;), and I have also had a look at the machine code that is generated by modern compilers in each case. While the quality of compilers varies a bit, and just-in-time things have their usual advantages and disadvantages, it seemed that a major difference was related to the safety nets. In Java, array references such as &lt;code&gt;x[i]&lt;/code&gt; involve two sanity checks: pointer &lt;code&gt;x&lt;/code&gt; is not null, and array index &lt;code&gt;i&lt;/code&gt; is valid.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course some of these checks can be optimised away, and some of them can be moved outside the inner loops. Modern CPUs also help tremendously, as these are branches that can be predicted well. Nevertheless, a number of these checks are there and they take a non-trivial amount of time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think now we are at a point where we can approach the question from a TCS perspective, especially from the perspective of the theory of programming languages: Would it be possible to, e.g., re-design Java so that &lt;em&gt;none&lt;/em&gt; of these run-time checks are necessary, without losing any of the safety nets, and without putting any significant additional burden on the programmer?&lt;/p&gt;&#xA;" OwnerUserId="74" LastActivityDate="2012-02-20T15:51:58.893" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="10299" PostTypeId="2" ParentId="10287" CreationDate="2012-02-20T16:09:40.043" Score="-3" Body="&lt;p&gt;there is a simple answer in the case you mention, Python/C, not mentioned in answers so far. the Python interpreter is &lt;em&gt;written&lt;/em&gt; in C but not vice versa. same with eg Ruby or Perl. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&amp;amp; yes as you guess, another simple answer is that modern interpreted languages use a &lt;a href=&quot;http://en.wikipedia.org/wiki/Garbage_collection_%28computer_science%29&quot; rel=&quot;nofollow&quot;&gt;&lt;em&gt;garbage collector&lt;/em&gt;&lt;/a&gt; which simplifies the programming experience and maintenance of the code at the expense of some runtime overhead.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;a useful way of picturing language implementation complexity is to visualize &lt;em&gt;layers&lt;/em&gt; of different systems or subsystems that run concurrently or &quot;on top&quot; of each other. for example interpreted code runs concurrently with a garbage collector. interpreted code is built &quot;on top&quot; of C interpreting code. etc.; the &quot;higher level&quot; language is written in terms of the &quot;lower level&quot; language. in a sense the higher level language is compiled into the lower level language.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;however the question seems to suggest an unfamiliarity with the basic theory of &lt;a href=&quot;http://en.wikipedia.org/wiki/Np_complete&quot; rel=&quot;nofollow&quot;&gt;NP completeness&lt;/a&gt; which is the theoretical construct used to judge runtime complexity and in which there is indeed no substantial difference between compilers and interpreted code because it all runs within P-time factors of each other.&lt;/p&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2012-02-20T16:09:40.043" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="10300" PostTypeId="2" ParentId="9298" CreationDate="2012-02-20T17:55:10.850" Score="28" Body="&lt;p&gt;The following is according to Nick Pippenger:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;The relevant references are as follows.  Steve described NC as Nick's Class in his paper &amp;quot;Deterministic CFL's Are Accepted Simultaneously in Polynomial Time and Log Squared Space&amp;quot; (ACM STOC, 11 (1979) 338-345)  on SC, and I described SC as Steve's Class in my paper &amp;quot;Simultaneous Resource Bounds'' (IEEE FOCS, 20 (1979) 307-311)  on NC.  But the names originated about a year-and-a-half earlier, when I visited the University of Toronto CS Department (January through June, 1978).  That's when the study of the two classes began, with Steve defining SC and me defining NC, and various people in the department (I think Allan Borodin was the first) using the two names.  The following fall, Steve submitted the paper cited above. I was on the program committee for that STOC, and not allowed to submit papers to it, so my paper appeared in the following FOCS conference.&lt;/p&gt;&#xA;&lt;p&gt;Best wishes,&lt;/p&gt;&#xA;&lt;p&gt;Nick&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="8078" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2012-02-20T17:55:10.850" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10301" PostTypeId="1" CreationDate="2012-02-20T18:11:16.023" Score="4" ViewCount="213" Body="&lt;p&gt;In section 2 of chapter 4 of &lt;a href=&quot;http://www.amazon.co.uk/Introduction-Parallel-Computing-Ananth-Grama/dp/0201648652&quot; rel=&quot;nofollow&quot;&gt;Kumar&lt;/a&gt; the idea of scaling down is discussed. &#xA;It is mentioned that the naive method (emulating by assignment) can scale the complexity of the problem more then just &quot;shifting&quot; it from the  number of processors to time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Two things are on my mind with respect to this question.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;I'm sure it is interesting to come up with efficient schemes for such conversion for dedicated hardware solutions (say , given the architecture of CUDA , one can implement efficient algorithms based on the size of the different cache levels etc.)&#xA;Is it interesting from the theory point of view? Can I say something about it without relating to a particular hardware solution? (Say , general schemes for work efficient preserving conversions)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;I'm starting to see some possible connections to parameterized complexity. Is there any known work on the area? So far , Iv'e seen two popular papers and &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.87.7458&quot; rel=&quot;nofollow&quot;&gt;that&lt;/a&gt; &lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Any leads?&lt;/p&gt;&#xA;" OwnerUserId="8479" LastActivityDate="2012-05-21T18:17:30.837" Title="Is conversion of PRAM to parameter number of processors trivial" Tags="&lt;dc.parallel-comp&gt;&lt;parameterized-complexity&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="10302" PostTypeId="2" ParentId="10287" CreationDate="2012-02-20T21:44:41.113" Score="1" Body="&lt;p&gt;Interpretation vs. compilation issues aside, memory IO is indeed a big issue (maybe &lt;em&gt;the&lt;/em&gt; issue) in my experience, in particular caches.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;When writing a program in C or maybe even C++, you (can) control what ends up where in memory. You can not in languages like Java. This is fine for many purposes, but consider the following. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Imagine you want to store a (huge) matrix of objects, say pairs of numbers. In C, you can just create an array of those. Iterating over the matrix is about as fast as if the matrix contained single numbers. Now, in Java, pairs would be objects which would end up &lt;em&gt;somewhere&lt;/em&gt; on the heap, the matrix containing only pointers. If the JVM is bad at recognising and acting on demand for locality¹, i.e. the object are scattered over the heap, this means cache becomes useless if you iterate.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem tends to explode if you have parallel algorithms, by the way.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] I do not know what it actually does in this regard, but my experience indicates it is not too clever about it.&lt;/p&gt;&#xA;" OwnerUserId="1546" LastActivityDate="2012-02-20T21:44:41.113" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10303" PostTypeId="1" AcceptedAnswerId="10304" CreationDate="2012-02-20T22:56:54.320" Score="1" ViewCount="228" Body="&lt;p&gt;I have written a computer program that can detect coins in a static image (.jpeg, .png, etc.) using some standard techniques for computer vision (Gaussian Blur, thresholding, Hough-Transform etc.). Using the ratios of the coins picked up from a given image, I can establish with good certainty which coins are which. However, I wish to add to my confidence levels and also determine if a coin that I deduce to be of type-A (from radius ratios) is also of the correct colo[u]r. The problem is that for British coins et al. (copper, silver, gold), the respective colors (esp. of copper to gold) are very similar.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have a routine that extracts the mean color of a given coin in terms of the RedGreenBlue (RGB) 'color-space' and routines to convert this color into HueSaturationBrightness (HSB or HSV) 'color-space'. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;RGB is not very nice to work with in attempting to differentiating between the three coin colors (see attached [basic] image for an example). I have the following ranges and typical values for the colours of the different coin types:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Note: the typical value here is one selected using a 'pixel-wise' mean of a real image.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Copper RGB/HSB:&lt;/strong&gt; typicalRGB = (153, 117, 89)/(26, 0.42, 0.60).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Silver RGB:&lt;/strong&gt; typicalRGB = (174, 176, 180)/(220, 0.03, 0.71).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Gold RGB:&lt;/strong&gt; typicalRGB = (220, 205, 160)/(45, 0.27, 0.86) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I first tried to use the 'Euclidian distance' between a given mean coin color (using RGB) and the typical values for each coin type given above treating the RGB values as a vector; for copper we would have: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$D_{copper} = \sqrt((R_{type} - R_{copper})^{2} + (G_{type} - G_{copper})^{2} + (B_{type} - B_{copper})^{2})$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where the smallest value of the difference ($D$) would tell us which type the given coin is most likely to be. This method has shown itself to be very inaccurate.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have also tried just comparing the hue of the coins with the typical values of the types provided above. Although theoretically this provides a much better 'color-space' to deal with varying brightness and saturation levels of the images, it too was not accurate enough.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question:&lt;/strong&gt; What is the best method to determine a coins type based on color (from a static image)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks very much for your time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/GpZHm.jpg&quot; alt=&quot;Typical Coin Colors&quot;&gt;&lt;/p&gt;&#xA;" OwnerUserId="8481" LastEditorUserId="8481" LastEditDate="2012-02-21T08:56:06.817" LastActivityDate="2012-02-21T08:56:06.817" Title="What is the most Accurate way of Determining an Object's Color?" Tags="&lt;ai.artificial-intel&gt;&lt;cv.computer-vision&gt;" AnswerCount="1" CommentCount="7" ClosedDate="2012-02-20T23:55:51.530" ContentLicense="CC BY-SA 3.0" />
  <row Id="10304" PostTypeId="2" ParentId="10303" CreationDate="2012-02-20T23:45:22.030" Score="0" Body="&lt;p&gt;You can fit a model to estimate a posterior probability of a color space point to belong to a certain coin type. Take a look at Gaussian mixture model. Another (somewhat arbitrary, but simpler) approach is to use nearest-neighbour interpolation.&lt;/p&gt;&#xA;" OwnerUserId="7846" LastActivityDate="2012-02-20T23:45:22.030" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10305" PostTypeId="1" AcceptedAnswerId="10306" CreationDate="2012-02-21T02:51:59.113" Score="7" ViewCount="227" Body="&lt;p&gt;In the assignment problem, one tries to find $f$ such that the cost function &#xA;$$&#xD;&#xA;\sum_{a\in A} C(a,f(a))&#xD;&#xA;$$&#xA;is minimized. Here $f$ is a bijection between sets $A$ and $B$ of equal finite cardinality, and $C$ is a cost function $A\times B \to \mathbb R$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question: is there a name for the problem to minimize&#xA;$$&#xD;&#xA;\max_{a\in A} \, C(a,f(a))&#xD;&#xA;$$&#xA;over bijections $f$ as above?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks in advance for any replies or references.&lt;/p&gt;&#xA;" OwnerUserId="8485" LastEditorUserId="-1" LastEditDate="2012-11-24T07:11:28.023" LastActivityDate="2012-11-24T07:11:28.023" Title="Assignment problem with sum replaced by max" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;optimization&gt;&lt;linear-programming&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10306" PostTypeId="2" ParentId="10305" CreationDate="2012-02-21T04:15:30.857" Score="10" Body="&lt;p&gt;In the geometric setting, where $C(x,y) = \|x - y \|$, this formulation is called the &lt;strong&gt;&lt;em&gt;bottleneck matching problem&lt;/em&gt;&lt;/strong&gt;. It's possible that this is the generic term for it (I've seen this formulation used in the Kleinberg-Tardos algorithms book for MSTs). &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2012-02-21T04:15:30.857" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10307" PostTypeId="1" CreationDate="2012-02-21T06:16:35.463" Score="2" ViewCount="188" Body="&lt;p&gt;A &lt;a href=&quot;http://en.wikipedia.org/wiki/Cellular_neural_network&quot; rel=&quot;nofollow&quot;&gt;cellular neural network&lt;/a&gt; is a kind of recurrent neural network that could be thought of as a hybrid between neural nets and cellular automata.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As I understand it, the classic Chua-Yang CNN is limited to a fairly small set of functions, but addition of a second layer or a different choice of nonlinearity expands the function set to all computable. This sounds very similar to traditional neural networks, where Kolmogorov's 1957 theorem says that a two-layer net can represent any continuous function arbitrariliy close.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, there is also the significant caveat that traditional shallow neural nets are very inefficient at representing complicated functions. Do universal CNNs have a similar weakness? Do they require excessively large network sizes or take too long to converge when used for complicated function computation?&lt;/p&gt;&#xA;" OwnerUserId="2920" LastEditorUserId="2920" LastEditDate="2012-02-21T06:52:39.863" LastActivityDate="2012-02-21T06:52:39.863" Title="Computational power of cellular neural networks" Tags="&lt;ai.artificial-intel&gt;&lt;ne.neural-evol&gt;" AnswerCount="0" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10308" PostTypeId="1" CreationDate="2012-02-21T06:19:53.070" Score="31" ViewCount="785" Body="&lt;p&gt;In the preface to his very influential books Automata, Languages and Machines (Volumes A, B), Samuel Eilenberg tantalizingly promised Volumes C and D dealing with &quot;a hierarchy (called the rational hierarchy) of the nonrational phenomena... using rational relations as a tool for comparison. Rational sets are at the bottom of this hierarchy. Moving upward one encounters 'algebraic phenomena,'&quot; which lead to &quot;to the context-free grammars and context-free languages of Chomsky, and to several related topics.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But Eilenberg never published volume C. He did leave preliminary handwritten notes for the first few chapters (&lt;a href=&quot;http://www-igm.univ-mlv.fr/~berstel/EilenbergVolumeC.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://www-igm.univ-mlv.fr/~berstel/EilenbergVolumeC.html&lt;/a&gt;) complete with scratchouts, question marks, side notes and gaps. But they do not reveal much beyond the beginnings of the well-known power series approach to grammars.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, my actual question -- does anyone know of work along the same lines to possibly reconstruct what Eilenberg had in mind? If not, what material is likely closest to his ideas?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The site &lt;a href=&quot;http://x-machines.net/&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://x-machines.net/&lt;/a&gt; is about x-machines, one of Eilenberg's key innovations, but it deals mainly with applications of x-machines rather than further developing the theory as Eilenberg seemed to promise.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, anyone know why Eilenberg stopped before making much progress on Volume C? This was the late 70's, and he lived until 1998, though he did not appear to have published any math after Volume B. Yet he seemed to have the math for Volumes C and D largely done, at least in his mind.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Same question asked on math.stackexchange -- &lt;a href=&quot;https://math.stackexchange.com/questions/105091/eilenbergs-rational-hiererchy-of-nonrational-automata-languages&quot;&gt;https://math.stackexchange.com/questions/105091/eilenbergs-rational-hiererchy-of-nonrational-automata-languages&lt;/a&gt; -- apologies if this is considered cross-posting.)&lt;/p&gt;&#xA;" OwnerUserId="8487" LastEditorUserId="-1" LastEditDate="2017-04-13T12:19:19.363" LastActivityDate="2018-09-20T07:50:50.340" Title="Eilenberg's rational hierarchy of nonrational automata &amp; languages -- where is it now?" Tags="&lt;soft-question&gt;&lt;fl.formal-languages&gt;&lt;automata-theory&gt;&lt;regular-language&gt;&lt;context-free&gt;" AnswerCount="1" CommentCount="12" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="10309" PostTypeId="1" CreationDate="2012-02-21T07:18:41.970" Score="9" ViewCount="176" Body="&lt;p&gt;Extractors have the following property: For a random variable $X$ of min-entropy $k$ and a seed $Y$, denote the output of an $(k,\epsilon)$-extractor by $\mathrm{Ext}(X,Y)$. Then $\|\mathrm{Ext}(X,Y)-U\|_1\leq \epsilon$ where $U$ is the uniform distribution. View the distribution of $X$ as an vector where the value of an entry indexed by $x$ equals $\Pr[X=x]$, then the vector has $\ell_1$ norm $1$. And $\mathrm{Ext}(X,Y)-U$ as a vector, has $\ell_1$ norm at most $\epsilon$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Expanders have a similar property but for $\ell_2$ norm: Let $A$ be the normalized adjacent matrix of an expander with $\lambda$ the second largest eigenvalue in absolute value. Then $\|Af-f^\parallel\|_2\leq \lambda$ for a vector $f$ of $\ell_2$ norm 1. Here $f^\parallel$ denotes the component of $f$ parallel to $\vec{1}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is: are there explicit pseudorandom objects with analogous properties (i.e., shrinking the &quot;non-uniformly-distributed&quot; component) for $\ell_p$ norms where $p&amp;gt;2$? More specifically, I am looking for such a property: given a vector $f$ of $\ell_p$ norm 1 as the input, the $\ell_p$-distance between $f^\parallel$ and the output of such objects should be bounded.&lt;/p&gt;&#xA;" OwnerUserId="245" LastEditorUserId="-1" LastEditDate="2012-11-24T07:11:25.263" LastActivityDate="2012-11-24T07:11:25.263" Title="Pseudorandom object yielding shrinkage in $\ell_p$ norm?" Tags="&lt;graph-theory&gt;&lt;cr.crypto-security&gt;&lt;expanders&gt;&lt;pseudorandomness&gt;&lt;extractors&gt;" AnswerCount="0" CommentCount="0" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="10310" PostTypeId="2" ParentId="6371" CreationDate="2012-02-21T14:23:33.023" Score="1" Body="&lt;p&gt;If time(n) for a class of automata is bounded by a total function, the languages accepted are recursive. Why? Just simulate and reject after time(n) steps. This is a fundamental fact of recursion and complexity theory. So if there are no e-input moves, time(n) &amp;lt;= n, which is certainly computable, and the languages accepted are recursive.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But just adding e-moves to a model does not guarantee that non-recursive languages will be accepted. For example, a finite state automaton model (no or uniformly-bounded auxiliary storage and inability to use unbounded amounts of input tape) with e-moves still accepts only regular languages.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To add power to a model that makes some languages it defines non-recursive, the added power would have to interfere with the time function to make it partial, that is, undefined for some inputs. For example, if a machine purports to solve the halting problem by simulating the universal turing machine, then it would have to compute indefinitely long without consuming any input when simulating a non-halting computation, so its time() would be a partial function, undefined for some inputs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is probably a theorem to the effect that any &quot;local&quot; modification (suitably defined) to a model with a total time() function does not guarantee non-recursive behavior, that is, any modification which simply changes what automata in the model can do on a specific move, like make certain kinds of alterations in the auxiliary store. You'd have to look at whether the modification globally increases time and/or space without bound. For example, allowing a machine to tack on extra input tape whenever it wants, like an unrestricted one-tape turing machine, obviously increases auxiliary space without bound, and does, in fact, lead to defining non-recursive languages.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So I don't think the notion of e-transitions will, by itself, lead to a model that accepts non-recursive languages.&lt;/p&gt;&#xA;" OwnerUserId="8487" LastActivityDate="2012-02-21T14:23:33.023" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10312" PostTypeId="5" CreationDate="2012-02-21T14:49:31.867" Score="0" Body="" OwnerUserId="-1" LastEditorUserId="-1" LastEditDate="2012-02-21T14:49:31.867" LastActivityDate="2012-02-21T14:49:31.867" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10313" PostTypeId="4" CreationDate="2012-02-21T14:49:31.867" Score="0" Body="Questions about the formal languages that can be described &#xD;&#xA;by regular expressions (in the sense of Kleene), or, equivalently, the languages &#xD;&#xA;that can be accepted by finite automata. " OwnerUserId="2367" LastEditorUserId="2367" LastEditDate="2013-08-12T22:56:15.957" LastActivityDate="2013-08-12T22:56:15.957" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10317" PostTypeId="2" ParentId="10264" CreationDate="2012-02-21T16:42:03.223" Score="7" Body="&lt;p&gt;Many people have mentioned Kolmogorov complexity or its resource-bounded variants, but I think something closer to what you're looking for is the notion of (logical) &lt;em&gt;depth&lt;/em&gt;. There are several variants on depth, but they all try to get at something like what you're talking about. In particular, neither purely random strings nor very highly ordered/repetitive strings are deep.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One notion of depth is intuitively: a string is deep if it has a short description, but the only way to reconstruct the string from that short description takes an inordinate amount of time. This is the notion of depth and several others are introduced and developed in [1]. The other standard reference is [2]. I would look at those, then do a forward reference search.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] L. Antunes, L. Fortnow, D. van Melkebeek, N. V. Vinodchandran. &lt;a href=&quot;http://dx.doi.org/10.1016/j.tcs.2005.11.033&quot;&gt;Computational depth: concept and applications&lt;/a&gt;. Theoret. Comp. Sci. 354(3):391--404. Also available &lt;a href=&quot;http://www.cs.uchicago.edu/~fortnow/papers/depth-j.pdf&quot;&gt; freely from the author's webpage&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] C.H. Bennett. Logical depth and physical complexity. In R. Herken (Ed.), The Universal Turing Machine: A Half-Century Survey, Oxford University Press, Oxford (1988), 227–-257.&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2012-02-21T16:42:03.223" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10318" PostTypeId="2" ParentId="10301" CreationDate="2012-02-21T17:32:21.600" Score="3" Body="&lt;p&gt;here are my answers to your questions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) In general, you can not come up with efficient schemes for scaling down the number of processor from $n$ to $p &amp;lt; n$. Why ? Because, even without taking into account additional issues such as caches etc, the problem is strictly related to how you map tasks to processors, which is known to be an NP-complete problem. In particular, this is almost always application dependent, so you have to carefully evaluate this each time you want to scale down your parallel algorithm. The good news here is that, starting from a work-efficient algorithm you can obtain a scaled-down work-efficient algorithm, thus preserving its efficiency.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) To the best of my knowledge there are no strong connections with parameterized complexity, at least I am not aware of any significant published paper discussing this relation. I may be wrong of course.&lt;/p&gt;&#xA;" OwnerUserId="4208" LastActivityDate="2012-02-21T17:32:21.600" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10319" PostTypeId="1" AcceptedAnswerId="10321" CreationDate="2012-02-21T17:40:50.530" Score="3" ViewCount="189" Body="&lt;p&gt;In the lambda calculus, are there commonly accepted names for $x$ and $M$ when they appear in $\lambda x [M]$  ? Something along the lines of &quot;binder&quot; and &quot;bindee&quot;?&lt;/p&gt;&#xA;" OwnerUserId="8494" LastEditorUserId="-1" LastEditDate="2012-11-24T07:11:06.090" LastActivityDate="2012-11-24T07:11:06.090" Title="Labels for terms in the lambda calculus" Tags="&lt;lo.logic&gt;&lt;terminology&gt;&lt;lambda-calculus&gt;" AnswerCount="2" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10320" PostTypeId="1" AcceptedAnswerId="10546" CreationDate="2012-02-21T17:50:30.443" Score="27" ViewCount="1185" Body="&lt;p&gt;The study of Succinct representation of graphs was initiated by &lt;a href=&quot;http://www.math.ias.edu/~avi/PUBLICATIONS/MYPAPERS/GW84/GW84.pdf&quot; rel=&quot;noreferrer&quot;&gt;Galperin and Wigderson&lt;/a&gt; in a paper from 1983, where they prove that for many simple problems like finding a triangle in a graph, the corresponding succinct version in $\mathsf{NP}$-complete. &lt;a href=&quot;http://perso.ens-lyon.fr/natacha.portier/papers/PY86.pdf&quot; rel=&quot;noreferrer&quot;&gt;Papadimitriou and Yanakkakis&lt;/a&gt; further this line of research, and prove that for a problem $\Pi$ which is $\mathsf{NP}$-complete/$\mathsf{P}$-complete, the corresponding Succinct version, namely Succinct $\Pi$ is respectively, $\mathsf{NEXP}$-complete and $\mathsf{EXP}$-complete. (They also show that if $\Pi$ is $\mathsf{NL}$-complete, then Succinct $\Pi$ is $\mathsf{PSPACE}$-complete. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now my question is, are there any problems $\Pi$ known for which, the corresponding Succinct version is in $\mathsf{P}$? I'd be interested in knowing about any other related results(both positive and impossibility results, if any) which I might have missed above. (I couldn't locate anything of interest by a google search, since search words like succinct, representation, problems, graphs&#xA;lead to just almost any complexity result! :))&lt;/p&gt;&#xA;" OwnerUserId="256" LastEditorUserId="17485" LastEditDate="2013-11-05T20:05:13.663" LastActivityDate="2013-11-05T20:05:13.663" Title="Succinct Problems in $\mathsf{P}$" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;complexity-classes&gt;" AnswerCount="3" CommentCount="11" FavoriteCount="13" ContentLicense="CC BY-SA 3.0" />
  <row Id="10321" PostTypeId="2" ParentId="10319" CreationDate="2012-02-21T18:19:31.827" Score="4" Body="&lt;p&gt;$x$ is a &quot;bound variable&quot; and $M$ is the &quot;scope&quot; in which it is bound.&lt;/p&gt;&#xA;" OwnerUserId="629" LastActivityDate="2012-02-21T18:19:31.827" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="10327" PostTypeId="1" CreationDate="2012-02-21T21:52:22.730" Score="13" ViewCount="517" Body="&lt;p&gt;I have an algebraic problem related to vectors in the field GF(2).&#xA;Let $v_1, v_2, \ldots, v_m$ be  (0,1)-vectors of dimension $n$, and $m=n^{O(1)}$. Find a polynomial time algorithm that finds a (0,1)-vector $u$ of the same dimension such that $u$ is not the sum of any $(\log n)^{O(1)}$ vectors among $v_1,v_2, \ldots, v_m$. The addition of vectors is over the field GF(2), which has two elements 0 and 1 ($0+1=0+1=1$, and $0+0=1+1=0$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is easy to see the existence of such a vector u by a simple counting argument.  Can we find $u$ in a polynomial time?  It is trivial to find $u$ in exponential time.   I will send a $200 check award for the first correct solution.&lt;/p&gt;&#xA;" OwnerUserId="3423" LastEditorUserId="-1" LastEditDate="2012-11-24T07:11:47.540" LastActivityDate="2012-11-24T07:11:47.540" Title="Algorithmic Vector Problem" Tags="&lt;ds.algorithms&gt;&lt;linear-algebra&gt;" AnswerCount="1" CommentCount="12" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="10329" PostTypeId="1" CreationDate="2012-02-22T00:45:02.507" Score="8" ViewCount="109" Body="&lt;p&gt;This is a repost from a &lt;a href=&quot;https://scicomp.stackexchange.com/questions/982/enumeration-of-graphs-deriving-from-delaunay-tesselations-in-3d&quot;&gt;question on Computational Science&lt;/a&gt;. No proper answer was found and it was suggested that TCS might be able to answer. So here it goes:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there an algorithm that enumerates the graphs that correspond to some Delaunay tesselation of points in 3D? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If so, is there an efficient parameterization of geometries that correspond to any &quot;Delaunay graph&quot;?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More precisely:&#xA;Let $G_N$ be the set of graphs with $N$ vertices.&#xA;Let $D: \mathbb{R}^{N\times 3} \to G_N$ be a map of $N$ points in $\mathbb{R}^3$ to a graph corresponding to a Delaunay tesselation of said points in 3D. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;How do I enumerate $D(\mathbb{R}^{N\times 3})$ (efficiently)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Further, given a graph $g\in D(\mathbb{R}^{N\times 3})$, how can I parameterize $D^{-1}(g)$ (efficiently)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$D$ should be invariant under translations and rotations of $\mathbb{R}^3$, so I'm more interested in the remaining degrees of freedom.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example in 2D, 4 points may generate 2 Delaunay graphs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$ \begin{matrix}&#xA;1 &amp;amp; - &amp;amp; 2 &amp;amp; - &amp;amp; 3 \\&#xA;&amp;amp;\diagdown &amp;amp;| &amp;amp; \diagup\\&#xA;&amp;amp;&amp;amp;4&#xA;\end{matrix}\mbox{ and }&#xA;\begin{matrix}&#xA;1 &amp;amp; - &amp;amp; 2\\&#xA;|&amp;amp; \times &amp;amp; |\\&#xA;3 &amp;amp; - &amp;amp; 4&#xA;\end{matrix}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The first of these graphs may be parameterized by any position of points 1, 2 and 4, i.e., $\mathbb{R}^{3\times 3}$, while point 3 would be any point $x_3(r,\theta)=c(x_1,x_2,x_4) + r\left(\begin{array}{c} \cos(\theta) \\ \sin(\theta)\end{array}\right)$ where $r$ is larger than the radius of the circle circumscribing points 1, 2, and 4 centered at $c(x_1,x_2,x_4)$ and $x_i$ is the position of point $i$.&lt;/p&gt;&#xA;" OwnerUserId="8500" LastEditorUserId="-1" LastEditDate="2017-04-13T12:53:55.947" LastActivityDate="2012-02-22T07:06:19.740" Title="Efficient Enumeration and Parameterization of Graphs Deriving from Delaunay Tesselations in 3D" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;cg.comp-geom&gt;" AnswerCount="0" CommentCount="6" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10330" PostTypeId="2" ParentId="10320" CreationDate="2012-02-22T00:46:23.403" Score="12" Body="&lt;p&gt;Given that even deciding whether the graph represented by a given succinct representation contains at least one edge or not is equivalent to Circuit SAT and therefore NP-complete, it is tempting to claim that any interesting property of a succinct representation should be NP-hard under a suitable definition of “interesting.”  This claim would be a complexity-theoretic analog for &lt;a href=&quot;http://en.wikipedia.org/wiki/Rice%27s_theorem&quot; rel=&quot;nofollow noreferrer&quot;&gt;Rice’s theorem&lt;/a&gt;.  Alas, &lt;a href=&quot;https://cstheory.stackexchange.com/questions/668/is-there-a-complexity-theory-analogue-of-rices-theorem-in-computability-theory&quot;&gt;finding the most general complexity-theoretic analog of Rice’s theorem is an open problem&lt;/a&gt;, although there are results which give some forms of such complexity-theoretic analogs.&lt;/p&gt;&#xA;" OwnerUserId="567" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2012-02-22T00:46:23.403" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10332" PostTypeId="1" CreationDate="2012-02-22T06:17:34.300" Score="3" ViewCount="625" Body="&lt;p&gt;Given a graph $G$, let $\{T_1,\ldots,T_k\}$ be a set of spanning trees with associated nonnegative weights $\{w_1,\ldots,w_k\}$ such that for every edge $e$, $\sum_{e\in T_i}w_i \leq 1$.  This is a &lt;em&gt;fractional packing of spanning trees.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is the maximum total weight of such a fractional packing, i.e. the maximum possible value of $\sum_{i=1}^kw_i$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can this be done in polynomial time?  If so, how?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Note that the dual linear program asks for the minimum total edge weight such that every spanning tree receives weight at least one, so the dual is a minimum fractional edge cut problem.)&lt;/p&gt;&#xA;" OwnerUserId="6788" LastEditorUserId="7846" LastEditDate="2012-02-25T16:14:23.760" LastActivityDate="2012-02-25T20:41:39.097" Title="Maximum fractional packing of spanning trees." Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;polynomial-time&gt;" AnswerCount="2" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="10333" PostTypeId="2" ParentId="10332" CreationDate="2012-02-22T09:09:43.363" Score="2" Body="&lt;p&gt;&lt;a href=&quot;http://scholar.google.com/scholar?q=%22Packing+Algorithms+for+Arborescences+%28and+Spanning+Trees%29+in+Capacitated+Graphs.%22&quot; rel=&quot;nofollow&quot;&gt;Packing algorithms for arborescences (and spanning trees) in capacitated graphs&lt;/a&gt; by Gabow and Manu claims $O(n^3 m \log{(n^2/m)})$ bound. The paper contains references to earlier results as well. I don't know if it's the latest result.&lt;/p&gt;&#xA;" OwnerUserId="7846" LastActivityDate="2012-02-22T09:09:43.363" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10334" PostTypeId="2" ParentId="10327" CreationDate="2012-02-22T11:17:05.907" Score="8" Body="&lt;p&gt;There seems to be a typo; I assume you mean to find $u \in \{0,1\}^n$ which is not the sum of $(\log&#xD;&#xA;    n)^{O(1)}$ vectors among $v_1,\dots, v_m$ (not $n$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's not clear to me if any constant in $(\log n)^{O(1)}$ works for you.  If you can settle for sums of less than $\log m$ vectors maybe there's something to be done. But If you want this quantity to be $(\log m)^{1+\delta}$, then I think it is quite hard (I have been working on this problem for a long time). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Still you may be interested to know that this is an instance of the Remote Point Problem of Alon, Panigrahy and Yekhanin (&quot;Deterministic Approximation Algorithms for the Nearest Codeword Problem &quot;) for certain parameters.  Let $m &amp;gt; n$ and $v_1,\dots,v_m$ be the columns of the parity check matrix of a linear code in $\{0,1\}^m$ of dimension $d = m - n$ (if this matrix didn't have full rank, the problem would be trivial). Then your problem is equivalent to finding $u \in \{0,1\}^n$ that is $(\log n)^{O(1)}$-far from the code.  This setting of parameters, where the dimension is very close to m, is not studied in the paper.  However, they can only achive remoteness $\log m$ up to dimension $d = cm$ for some constant $c$.  In fact, I don't think we know of any polynomial-sized certificate that allows us to &lt;em&gt;prove&lt;/em&gt; that some vector is more than $\omega(\log m)$-far from a space of dimension $\Omega(m)$, let alone find it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another connection is with learning parities in the mistake-bound model. If one can efficiently learn $(\log n)^{O(1)}$-parities (defined on ${0,1}^m$) with mistake bound strictly less than $n$, then one can set arbitrary values to the first $n - 1$ bits of $u$ and ``force a mistake'' on the last bit by setting it to the opposite value to that predicted by the learner. This seems much stronger though.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem is also related to separating EXP from certain reductions to sparse sets.&lt;/p&gt;&#xA;" OwnerUserId="2874" LastActivityDate="2012-02-22T11:17:05.907" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10335" PostTypeId="2" ParentId="10319" CreationDate="2012-02-22T13:00:49.863" Score="1" Body="&lt;p&gt;In logic the $\phi$ in $\forall x . \phi$ is called &lt;em&gt;the matrix&lt;/em&gt;, and $x$ the &lt;em&gt;bound variable&lt;/em&gt; and $\forall x$ the &lt;em&gt;quantifier&lt;/em&gt;. By this analogy I would call $M$ in $\lambda x . M$ the matrix, $x$ is the bound variable, and $\lambda x$ is the abstraction, or maybe the &quot;abstractor&quot;?&lt;/p&gt;&#xA;" OwnerUserId="705" LastActivityDate="2012-02-22T13:00:49.863" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10336" PostTypeId="1" AcceptedAnswerId="10338" CreationDate="2012-02-22T14:45:27.130" Score="4" ViewCount="421" Body="&lt;p&gt;Suppose we have the following symbols: $\{a,b\}$. Now there are some rules. More than 3 $b$'s are now allowed and $aa$ is not allowed. So $ababab$ is allowed, but for example $abbbbaba$ not (more than 3 $b$'s). There is an easy way to get this working. Suppose you have a string of $n$ characters. Just add between every two numbers a new number so the string is correct. Decoding is not hard: just remove all numbers on even positions. So $abbbbaba \rightarrow axbxbxbxbxaxbxax$ and decoding is the same as just removing the $x$'s. But the problem is that the string size doubles. Is there a more efficient way to accomplish encoding and decoding? So encoding means encode all strings to valid strings and decoding means decode that string back to the original string.&lt;/p&gt;&#xA;" OwnerUserId="8508" LastEditorUserId="1677" LastEditDate="2012-02-22T19:16:53.293" LastActivityDate="2012-02-23T01:28:28.037" Title="Combinations with symbols" Tags="&lt;ds.algorithms&gt;&lt;it.information-theory&gt;&lt;encoding&gt;" AnswerCount="2" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10337" PostTypeId="2" ParentId="10336" CreationDate="2012-02-22T15:22:10.447" Score="2" Body="&lt;p&gt;For the problem as you've posed it, it seems that you could simply replace every occurrence of an illegal sequence by a new symbol so that: aababbbaba -&gt; xbayaba.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I guess that's probably too simple, but we'll need more information to provide a better solution (like the cost of adding symbols). &lt;/p&gt;&#xA;" OwnerUserId="7892" LastActivityDate="2012-02-22T15:22:10.447" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="10338" PostTypeId="2" ParentId="10336" CreationDate="2012-02-22T17:16:08.997" Score="6" Body="&lt;p&gt;This is called &lt;a href=&quot;http://en.wikipedia.org/wiki/Run-length_limited&quot;&gt;run-length-limited coding&lt;/a&gt;, there has been lots of research done on it by the information theory community, and I will just refer you to the existing literature. After a brief glance at the wikipedia article I linked to, my impression is that you shouldn't rely on the references it contains, but do your own search of the literature. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;One simple thing you could do that does better than doubling the string size is: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;(1) add a 0 to the end of the original sequence, &lt;br&gt;&#xA;(2) break the original sequence greedily into blocks of either 0, 10, or 11, &lt;br&gt;&#xA;(3) encode using the encoding&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&amp;thinsp;&amp;thinsp;&amp;thinsp;0 &amp;rarr; ab&lt;br&gt;&#xA;  10 &amp;rarr; abb&lt;br&gt;&#xA;  11 &amp;rarr; abbb  &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Step (2) is always possible, since after step (1) the sequence ends with a 0. Except for step (1), which adds at most two bits to your encoded sequence, this cannot do worse than double the string size, and generally does better.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, you encode &lt;br&gt;&#xA;0110100101 &amp;rarr; 0.11.0.10.0.10.10 &amp;rarr; ababbbababbababbabb, &lt;br&gt;&#xA;taking 10 characters into 19. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If I did my calculations right, starting with $n$ random bits, this encoding gives an expected length of 11/6&amp;thinsp;$n$ bits, which is only slightly more than the optimal value of around 1.813&amp;thinsp;$n$ bits.&lt;/p&gt;&#xA;" OwnerUserId="1677" LastEditorUserId="1677" LastEditDate="2012-02-23T01:28:28.037" LastActivityDate="2012-02-23T01:28:28.037" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="10340" PostTypeId="1" CreationDate="2012-02-22T22:08:34.637" Score="-2" ViewCount="170" Body="&lt;p&gt;Let a reversible Markov process $m_{t+1}=m_t P$, where $t$ is time that has a stationary distribution $\pi$. I saw in a paper that the dual system was defined as $x_{t+1}=P x_t$. Can anyone give me some directions in order to understand how this is derived?&lt;/p&gt;&#xA;" OwnerUserId="8510" LastEditorUserId="-1" LastEditDate="2012-11-24T07:11:44.967" LastActivityDate="2012-11-24T07:11:44.967" Title="Dual of a Reversible Markov Chain" Tags="&lt;pr.probability&gt;&lt;markov-chains&gt;" AnswerCount="1" CommentCount="1" ClosedDate="2013-01-16T18:48:56.703" ContentLicense="CC BY-SA 3.0" />
  <row Id="10342" PostTypeId="1" AcceptedAnswerId="10348" CreationDate="2012-02-22T22:44:52.863" Score="19" ViewCount="445" Body="&lt;p&gt;You are given a graph $G = (V,E)$ with $n$ vertices. It might be bipartite if you  want. There are $m$ sets of edges $E_1,\ldots, E_m \subseteq E$ (say disjoint). I am interested in the problem of finding a subset $S \subseteq V$, as small as possible (or even smaller), such that the induced graph $G_S$ has at least one edge from each class $E_i$, for $i=1,\ldots, m$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Currently, I know that this problem is set cover hard. I also have a not completely obvious (roughly) $O(\sqrt{n})$ approximation. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This seems like a natural problem - is anyone aware of any relevant references, or any better algorithms?&lt;/p&gt;&#xA;" OwnerUserId="9594" LastEditorUserId="-1" LastEditDate="2012-11-24T07:11:22.593" LastActivityDate="2012-11-24T07:11:22.593" Title="Finding good induced subgraph" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;optimization&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="10344" PostTypeId="2" ParentId="10320" CreationDate="2012-02-23T04:02:02.247" Score="9" Body="&lt;p&gt;I didn't mean this to be an answer but it would require too many comments. Hope it's useful.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As Tsuyoshi points out, it's tempting to conjecture that all &quot;non-trivial&quot; properties are hard (NP-hard for example). However, to show this, you need to define non-trivial. In Rice's theorem, the nontrivial properties are all properties except the property which includes all computably enumerable languages and the property which includes no computably enumerable language. It's less clear what the right definition of non-trivial is for succinct problems. &#xA;Definitely the properties which contain all strings or no strings are in P. But there are others in P as well. For example, the property $\Pi$ that matches strings whose middle bit is 0. Or $\Pi$ contains all strings of $2^n$ bits such that every $2^n/x$-th bit is 1, where $x = n^{O(1)}$. So how do we define &quot;trivial&quot; to encompass this type of properties?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One idea is to look at those $\Pi$ which are &quot;symmetric&quot;: if a string $s$ is in $\Pi$, then any permutation of the bits of $s$ is also in $\Pi$. Such properties depend only on the number of 1 bits in a string. In an answer to the question Tsuyoshi linked, Ryan Williams gives a link to this &lt;a href=&quot;http://onlinelibrary.wiley.com/doi/10.1002/1521-3870%28200010%2946:4%3C489%3a%3aAID-MALQ489%3E3.0.CO;2-F/abstract&quot;&gt;paper&lt;/a&gt; which shows that all such problems are UP-hard. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Other ideas how to define &quot;non-trivial property&quot;? We can look at $\Pi$ as a family of boolean functions (the indicator functions of the property for each string length). It seems to me that the non-trivial properties are those for which the corresponding family of boolean functions has non-trivial complexity. For example, can we show that properties whose associated boolean function family has linear decision tree complexity are hard?&lt;/p&gt;&#xA;" OwnerUserId="4896" LastEditorUserId="4896" LastEditDate="2012-02-23T07:28:09.323" LastActivityDate="2012-02-23T07:28:09.323" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="10346" PostTypeId="1" AcceptedAnswerId="10349" CreationDate="2012-02-23T14:15:22.113" Score="-2" ViewCount="219" Body="&lt;p&gt;Please let me know if this is not appropriate question to ask here (I hope not but afraid since this isn't really theoretical question).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the book &lt;a href=&quot;http://aima.cs.berkeley.edu/&quot; rel=&quot;nofollow&quot;&gt;&quot;Artificial Intelligence Modern Approach&quot; (Russell, Norvig)&lt;/a&gt; 3rd ed., in Figure 3.14 in page 84, is the 2nd last line error (this is not on &lt;a href=&quot;http://aima.cs.berkeley.edu/errata.html&quot; rel=&quot;nofollow&quot;&gt;current errata&lt;/a&gt;) ?&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;else if child.State is in frontier with higher PATH-COST then&#xA;  replace that frontier node with child&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;My guess is:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;else if child.State is in frontier with lower PATH-COST then&#xA;  replace that frontier node with child&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;This is pseudocode for Un-informed, breadth search, where the search candidates are in a list called &lt;code&gt;frontier&lt;/code&gt;, which is lower ordered by &lt;code&gt;PATH-COST&lt;/code&gt;. I wonder the suspected code would update the list with the node with higher cost.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Correct me if I'm wrong. Thank you.&lt;/p&gt;&#xA;" OwnerUserId="8516" LastEditorUserId="8516" LastEditDate="2012-02-23T14:29:51.533" LastActivityDate="2012-02-23T17:07:34.650" Title="Error in the book Artificial Intellingence Modern Approach (at Un-informed search)?" Tags="&lt;ai.artificial-intel&gt;" AnswerCount="1" CommentCount="2" ClosedDate="2012-02-23T18:01:03.010" ContentLicense="CC BY-SA 3.0" />
  <row Id="10347" PostTypeId="1" CreationDate="2012-02-23T14:56:22.097" Score="4" ViewCount="409" Body="&lt;p&gt;On a course, when shift systems were being introduced, the lector said that &quot;if the shift of symbols sequence reminds you Turing machine, then it is a very correct association&quot;:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\sigma(\ldots, x_{-1}, x_0, x_1, \ldots) = (\ldots, x_0, x_1, x_2, \ldots)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I asked him about concretes but he gave me vague answers that seem to only refer to the general notion of universality that can be proved by reducing a system to Turing machine.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So he did not confirm his suggestion, that shifting sequence of symbols is analogous to moving the tape in Turing machine. But I am confused. Can this be clarified?&lt;/p&gt;&#xA;" OwnerUserId="7918" LastEditorUserId="-1" LastEditDate="2012-08-06T09:26:03.553" LastActivityDate="2012-08-06T09:26:03.553" Title="Are there connections between Turing machines and symbolic dynamic systems?" Tags="&lt;computability&gt;&lt;turing-machines&gt;&lt;universal-computation&gt;" AnswerCount="0" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10348" PostTypeId="2" ParentId="10342" CreationDate="2012-02-23T15:13:20.467" Score="15" Body="&lt;p&gt;Look for Minimum Rainbow Subgraph.&lt;/p&gt;&#xA;" OwnerUserId="679" LastActivityDate="2012-02-23T15:13:20.467" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="10349" PostTypeId="2" ParentId="10346" CreationDate="2012-02-23T16:50:42.753" Score="0" Body="&lt;p&gt;what you mean is &lt;em&gt;uniform cost search&lt;/em&gt;. see &lt;a href=&quot;http://en.wikipedia.org/wiki/Uniform-cost_search&quot; rel=&quot;nofollow&quot;&gt;uniform cost search&lt;/a&gt; where the pseudocode matches the book which is not in error. that line's logic replaces the frontier node with a newly discovered path to the same node with less weight. the wikipedia article includes a sample run which unfortunately does not exercise that line (adj that article to do that would be an improvement). wikipedia currently uses the line &quot;if n is in frontier with higher cost replace &lt;em&gt;existing node&lt;/em&gt; with n&quot; where the book statement you cite is clearer. &quot;with higher path cost&quot; refers to the higher path cost in the frontier. it seems that both wikipedia &amp;amp; the books pseudocode could be improved and some mention of the logic of that line included to avoid confusion.&lt;/p&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="7884" LastEditDate="2012-02-23T17:07:34.650" LastActivityDate="2012-02-23T17:07:34.650" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10350" PostTypeId="1" AcceptedAnswerId="10352" CreationDate="2012-02-23T17:18:31.333" Score="8" ViewCount="3209" Body="&lt;p&gt;I was asked the following by a student, and couldn't come up with a complete answer:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there any closure properties for the class of languages that are &lt;em&gt;not&lt;/em&gt; context free?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's fairly easy to find examples that show that it is not closed under intersection and iteration (Kleene star operator), but how about union and concatenation? My guess is that it's not closed under either, so unless I'm way off, what I'm looking for are examples for two non-CFLs that their union or concatenation is a CFL.&lt;/p&gt;&#xA;" OwnerUserId="7715" LastActivityDate="2012-02-24T01:48:59.473" Title="Non-CFL closure properties" Tags="&lt;fl.formal-languages&gt;&lt;context-free-languages&gt;" AnswerCount="1" CommentCount="13" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10351" PostTypeId="2" ParentId="10141" CreationDate="2012-02-23T18:22:31.947" Score="8" Body="&lt;p&gt;&lt;a href=&quot;http://arxiv.org/abs/quant-ph/0005055&quot;&gt;Brassard, Hoyer, Mosca and Tapp&lt;/a&gt; showed that the generalized Grover search, called amplitude amplification, can be used to obtain a quadratic speed-up on a large class of classical heuristics. The intuition behind their idea is that classical heuristics use randomness to search for a solution to a given problem, so we can use amplitude amplification to search the set of random strings for one that will make the heuristic find a good solution. This yields a quadratic speed-up in the running time of the algorithm. See section 3 of the paper linked above for more details.&lt;/p&gt;&#xA;" OwnerUserId="507" LastActivityDate="2012-02-23T18:22:31.947" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10352" PostTypeId="2" ParentId="10350" CreationDate="2012-02-23T18:28:28.960" Score="11" Body="&lt;p&gt;There are probably few or no &quot;interesting&quot; and &quot;natural&quot; closure properties for the class of languages that are &lt;em&gt;not&lt;/em&gt; context-free. In fact that's probably true of: &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;any class of languages that is defined by a specific automaton, grammar or computational model -- the regular languages, the cfl's, various subclasses of the cfls such as the linear languages and the deterministic cfl's, the context-sensitive languages, bounded languages, and so on.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;classes actually &lt;em&gt;defined&lt;/em&gt; by closure properties, like the least family containing, say, {$a^n b^n$} and closed under the regular operations and transduction. In fact, AFL theory was all about things like that.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The reason is that many if not most or all &quot;interesting&quot; closure properties have the ability to drastically simplify a language, for example map it down to finite sets or something equally simple. For example, you can always apply a constant homomorphism (h(a) = 0) to a non-context-free language and get the language of all strings of zeros, which is context-free (in fact regular). So if the very definition of the class entails that it is not very &quot;simple&quot; (like non-context-free), then closure takes you down to &quot;simple&quot; languages, that is, outside the class.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This might actually make an interesting research project, part of which, I would hazard a guess, would be to define &quot;simple&quot;, &quot;interesting&quot; and &quot;natural&quot; in some suitable way, and also to find formal ways to deal with trivial and degenerate cases like the one I gave.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The union and concatenation operations would be one test of such a theory.  I'll conjecture that there are two non-cfl's which concatenate to $ \Sigma^*$ and others which union to that. I'd start with non-cfl's over a single letter, so you are really talking number theory and linear algebra.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Adendum -- here are two languages that definitely concatenate to $a^*$ and are almost certainly not context-free:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\{a^{n-i}:i = \lfloor \sqrt n \rfloor\}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\{a^{n+i}:i = \lfloor \sqrt n \rfloor\}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If for some reason, those turn out CF, use an even stranger function than $ \sqrt x $&lt;/p&gt;&#xA;" OwnerUserId="8487" LastEditorUserId="8487" LastEditDate="2012-02-24T01:48:59.473" LastActivityDate="2012-02-24T01:48:59.473" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10353" PostTypeId="1" CreationDate="2012-02-23T20:58:32.457" Score="4" ViewCount="2957" Body="&lt;p&gt;Suppose there are two arrays of positive numbers, $a[\cdot]$ and $b[\cdot]$, and value $B&amp;gt;0$. How to pick a set of indexes $I$, so that &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\sum_{i\in{I}}{b[i]}\geq{B}$ &lt;/p&gt;&#xA;&#xA;&lt;p&gt;To minimize $\sum_{i\in{I}}{a[i]}$ &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I know this problem sounds like knapsack problem, but the objective is really to minimise, not maximise. Does this make a difference if I want to seek a polynomial-time, approximate algorithm?&lt;/p&gt;&#xA;" OwnerUserId="5742" LastEditorUserId="5742" LastEditDate="2012-02-23T21:25:22.813" LastActivityDate="2014-03-14T21:47:48.867" Title="For efficient algorithm on &quot;minimization&quot; knapsack problem" Tags="&lt;co.combinatorics&gt;&lt;optimization&gt;&lt;packing&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="10354" PostTypeId="2" ParentId="10353" CreationDate="2012-02-23T21:43:27.877" Score="9" Body="&lt;p&gt;There's a simple reduction from knapsack. Binary search for the solution to your knapsack instance, then solve the &quot;dual knapsack&quot; with that value as your covering constraint $B$. Compare the value given by the &quot;dual knapsack&quot; against your knapsack packing constraint, which gives you the direction to continue the binary search.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think you can use the same rounding approach as the one for knapsack in order to get a PTAS for this problem. &lt;a href=&quot;http://math.mit.edu/~goemans/18434S06/knapsack-katherine.pdf&quot;&gt;These notes&lt;/a&gt; notes should help you do it.&lt;/p&gt;&#xA;" OwnerUserId="49" LastActivityDate="2012-02-23T21:43:27.877" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10355" PostTypeId="1" AcceptedAnswerId="10359" CreationDate="2012-02-23T22:55:01.187" Score="-5" ViewCount="254" Body="&lt;p&gt;Let $M$ be a Turing Machine (TM) which decides a certain language.  Enter an input $x$ to $M$ and let the machine compute on $x$. After some time, $M$ will halt.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $M$ is a deterministic TM, it will obviously halt at the same step on the same input.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose $M$ is a non deterministic TM. Does $M$ halt after the same number of steps on the same input ? &lt;/p&gt;&#xA;" OwnerUserId="6346" LastEditorUserId="6346" LastEditDate="2012-03-12T08:15:29.497" LastActivityDate="2012-03-12T08:15:29.497" Title="Does a Non deterministic TM halt after the same number of steps on the same input?" Tags="&lt;cc.complexity-theory&gt;&lt;turing-machines&gt;&lt;nondeterminism&gt;" AnswerCount="1" CommentCount="5" ClosedDate="2012-02-25T13:52:51.253" ContentLicense="CC BY-SA 3.0" />
  <row Id="10356" PostTypeId="2" ParentId="9993" CreationDate="2012-02-23T23:08:44.290" Score="4" Body="&lt;p&gt;I would be very reluctant to call lambda-calculus an &quot;algebra&quot; for a very simple reason.  It is a formal system defined purely using syntax, without any reference to meaning.  The equivalences $\beta$ and $\eta$ are at a meta-level, using variables like $M$ and $N$ that range over terms.  That is not what algebraists would call an &quot;algebra&quot;.  On the other hand, logicians have long used the term &quot;calculus&quot; to mean formal systems where rules are expressed at the meta-level.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If Scott ever did call lambda calculus an &quot;algebra&quot; (which I rather doubt), then he would have been making a rather subtle point, &lt;i&gt;viz.,&lt;/i&gt; that you &lt;i&gt;can&lt;/i&gt; think of lambda calculus as having an &lt;i&gt;a priori&lt;/i&gt; meaning.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Still he would have a hard time convincing any algebraists of his claim, because he doesn't have equations in lambda calculus, he has equivalences (i.e., at the meta-level).  &quot;Combinatory algebra&quot;, on the other hand, is perfectly normal.&lt;/p&gt;&#xA;" OwnerUserId="8519" LastEditorUserId="8519" LastEditDate="2012-02-23T23:17:53.093" LastActivityDate="2012-02-23T23:17:53.093" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10357" PostTypeId="2" ParentId="11" CreationDate="2012-02-24T00:16:20.023" Score="14" Body="&lt;p&gt;I am coming to this question late, but it is a fascinating question.  So, here are my views.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;When I was an undergrad, we had a great Math professor, who used to give us lectures on history and development of mathematics.  According to him, mathematics developed in waves of &quot;expansion&quot; and &quot;consolidation&quot;.  During an expansion phase, new ideas that were previously unknown were considered and investigated.  Then, during a consolidation phase, the new theories were integrated into the existing body of knowledge.  However, in the 20th century, he said, expansion and consolidation are going on in parallel.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Imperative programming is currently an expansion activity for mathematics.  It was previously &quot;unknown&quot;.  (That may not be entirely true.  &lt;a href=&quot;http://www.computingatschool.org.uk/index.php?id=hoare&quot;&gt;Hoare tells us&lt;/a&gt; us that Euclid was doing something like imperative programming in his Geometry.  But mathematics lost interest in it, for better or worse.)  Mathematicians are still not interested in imperative programming.  So much the loss for them.  But I regard all of Computer Science as a branch of mathematics in an abstract sense.  We are studying it, expanding mathematics in the process.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, I wouldn't care particularly whether there is an &lt;i&gt;a priori&lt;/i&gt; theoretical basis for imperative programming.  If there isn't one, let us go and find it.  What we know already tells us that imperative programming is fantastically deep and beautiful.  Functional programming pales in comparison.  But, we have a lot of work to do to bring all this theory out to people.&lt;/p&gt;&#xA;" OwnerUserId="8519" LastEditorUserId="8519" LastEditDate="2012-02-25T22:45:49.643" LastActivityDate="2012-02-25T22:45:49.643" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="10359" PostTypeId="2" ParentId="10355" CreationDate="2012-02-24T01:53:52.707" Score="5" Body="&lt;p&gt;That depends on how you define the computation process. If you consider that the TM executes all possible computations at the same time (&quot;in parallel&quot;, if you want) and &lt;em&gt;then&lt;/em&gt; decides if accepts by looking at the states in which it finished, then obviously it will always halt after the same number of steps for a given input, or never halt at all.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, if you define a &lt;em&gt;run&lt;/em&gt; of the TM as one possible execution, and define that the TM &lt;em&gt;accepts&lt;/em&gt; a word if there exists &lt;em&gt;a&lt;/em&gt; run that ends in an accepting state, then the answer is &quot;no&quot;, and it should be pretty simple to define a TM which halts after different number of steps for the same input on different runs (for example, one that accepts in a run, but ends in an infinite loop in other run).&lt;/p&gt;&#xA;" OwnerUserId="5396" LastActivityDate="2012-02-24T01:53:52.707" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="10360" PostTypeId="2" ParentId="9826" CreationDate="2012-02-24T01:59:55.647" Score="18" Body="&lt;p&gt;Perhaps I can try giving a less metaphysical answer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is a language, a logical language, that we are studying.  In this language, there are things called &quot;propositions&quot; which are supposed to be things that are true or false.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is a meta-language, which is also a logical language, in which we are trying to explain which things in the base language are true or false.  The statements we make in this meta-language are called &quot;judgements&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that all the propositions of the base language have the status of &lt;i&gt;data&lt;/i&gt; in the meta-language.  They are as good as strings.  You can't ask a string whether it is true or false.  A judgement is the interpreter that interprets the string as a proposition and decides whether it is true or false.&lt;/p&gt;&#xA;" OwnerUserId="8519" LastActivityDate="2012-02-24T01:59:55.647" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10361" PostTypeId="2" ParentId="10340" CreationDate="2012-02-24T06:14:41.327" Score="6" Body="&lt;p&gt;Let $y_t = x_t^T$. Then, $y_{t+1} = y_t P^T$. Thus, $y$ (and therefore $x$) corresponds to the original Markov Chain run backward in time.&#xA;Hope this gives some motivation towards the concept of dual chains.&lt;/p&gt;&#xA;" OwnerUserId="7567" LastActivityDate="2012-02-24T06:14:41.327" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10362" PostTypeId="1" AcceptedAnswerId="10369" CreationDate="2012-02-24T10:34:21.760" Score="1" ViewCount="1674" Body="&lt;p&gt;I am a computer science research student working in application of Machine Learning to solve Computer Vision problems.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since, lot of linear algebra(eigen-values, SVD etc.) comes up when reading Machine Learning/Vision literature, I decided to take a linear algebra course this semester. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Much to my surprise, the course didn't look at all like Gilbert Strang's Applied Linear algebra(on OCW) I had started taking earlier. The course textbook is &lt;code&gt;Linear Algebra by Hoffman and Kunze&lt;/code&gt;. We started with concepts of Abstract algebra like groups, fields, rings, isomorphism, quotient groups etc. And then moved on to study &quot;theoretical&quot; linear algebra over finite fields, where we cover proofs for important theorms/lemmas in the following topics:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Vector spaces, linear span, linear independence, existence of basis.&#xA;  Linear transformations. Solutions of linear equations, row reduced&#xA;  echelon form, complete echelon form,rank. Minimal polynomial of a&#xA;  linear transformation. Jordan canonical form. Determinants.&#xA;  Characteristic polynomial, eigenvalues and eigenvectors. Inner product&#xA;  space. Gram Schmidt orthoganalization. Unitary and Hermitian&#xA;  transformations. Diagonalization of Hermitian transformations.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I wanted to understand if there is any significance/application of understanding these proofs in machine learning/computer vision research or should I be better off focusing on the applied Linear Algebra?&lt;/p&gt;&#xA;" OwnerUserId="8526" LastEditorUserId="80" LastEditDate="2012-02-24T16:20:57.280" LastActivityDate="2012-02-24T17:45:16.737" Title="What is the significance of abstract linear algebra in machine learning/computer vision research?" Tags="&lt;machine-learning&gt;&lt;linear-algebra&gt;&lt;cv.computer-vision&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10364" PostTypeId="2" ParentId="10141" CreationDate="2012-02-24T13:22:23.080" Score="2" Body="&lt;p&gt;Visioning is both dangerous and polemic in this field, so we should be cautious with this topic. Yet some Q-algorithms with &lt;strong&gt;polynomial&lt;/strong&gt; speed-ups have interesting potential applications.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is known that Grover search can be used to polynomially seep-up the solution to NP-complete problems &lt;a href=&quot;http://math.nist.gov/quantum/zoo/&quot; rel=&quot;nofollow&quot;&gt;[1]&lt;/a&gt;. This is proven for 3-SAT in &lt;a href=&quot;http://arxiv.org/abs/quant-ph/0504012&quot; rel=&quot;nofollow&quot;&gt;[2]&lt;/a&gt;. Some applications of SAT, borrowed from &lt;a href=&quot;http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=4605925&amp;amp;tag=1&quot; rel=&quot;nofollow&quot;&gt;[3]&lt;/a&gt;, are: &lt;a href=&quot;http://en.wikipedia.org/wiki/Formal_equivalence_checking&quot; rel=&quot;nofollow&quot;&gt;checking circuit equivalence&lt;/a&gt;, &lt;a href=&quot;http://en.wikipedia.org/wiki/Automatic_test_pattern_generation&quot; rel=&quot;nofollow&quot;&gt;automatic test-pattern generation&lt;/a&gt;, &lt;a href=&quot;http://en.wikipedia.org/wiki/Model_checking&quot; rel=&quot;nofollow&quot;&gt;model checking using  Linear Time Logic&lt;/a&gt;,&#xA;&lt;a href=&quot;http://en.wikipedia.org/wiki/Artificial_intelligence#Planning&quot; rel=&quot;nofollow&quot;&gt;planning in artificial intelligence&lt;/a&gt; and &lt;a href=&quot;http://en.wikipedia.org/wiki/Haplotype&quot; rel=&quot;nofollow&quot;&gt;haplotyping in bioinformatics&lt;/a&gt;. Although I do not know much about these topics, this line of research looks rather practical to me.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, there is a quantum algorithm to evaluate NAND-trees with a polynomial speed-up over classical computation [&lt;a href=&quot;http://arxiv.org/abs/quant-ph/0702144&quot; rel=&quot;nofollow&quot;&gt;8&lt;/a&gt;,&lt;a href=&quot;http://www.scottaaronson.com/blog/?p=207&quot; rel=&quot;nofollow&quot;&gt;10&lt;/a&gt;,&lt;a href=&quot;http://cacm.acm.org/magazines/2010/2/69352-recent-progress-in-quantum-algorithms/fulltext&quot; rel=&quot;nofollow&quot;&gt;11&lt;/a&gt;]. The NAND tree is an example of a game tree, a more general data-structure used to study matches of board games such as Chess and Go. It sounds plausible that this kind of speed-ups could be used to design more powerful software game-players. Could this interest some quantum-video-games developers?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Unfortunately, playing games in reality is not exactly the same thing as evaluating trees: there are complications, e.g., if your players are not using optimal strategies [&lt;a href=&quot;http://arxiv.org/abs/1006.4014&quot; rel=&quot;nofollow&quot;&gt;12&lt;/a&gt;]. I have not seen any study considering a real-life scenario, so it is hard to say how beneficial is the speed-up from [&lt;a href=&quot;http://arxiv.org/abs/quant-ph/0702144&quot; rel=&quot;nofollow&quot;&gt;8&lt;/a&gt;] in practice. This could be a good topic for discussion.&lt;/p&gt;&#xA;" OwnerUserId="7286" LastActivityDate="2012-02-24T13:22:23.080" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10365" PostTypeId="1" AcceptedAnswerId="10366" CreationDate="2012-02-24T15:06:11.423" Score="34" ViewCount="3984" Body="&lt;p&gt;Guessing it's unlikely a common question, but wondering if anyone has seen material that was clearly made to address this audience in a meaningful way.&lt;/p&gt;&#xA;" OwnerUserId="1734" LastEditorUserId="186" LastEditDate="2012-02-25T06:39:19.303" LastActivityDate="2012-03-18T18:21:37.373" Title="Concepts in theoretical CS that would be approachable ages 8-14" Tags="&lt;soft-question&gt;&lt;teaching&gt;" AnswerCount="11" CommentCount="3" FavoriteCount="17" ContentLicense="CC BY-SA 3.0" />
  <row Id="10366" PostTypeId="2" ParentId="10365" CreationDate="2012-02-24T16:04:17.743" Score="24" Body="&lt;p&gt;&lt;a href=&quot;http://csunplugged.org/&quot;&gt;Computer Science Unplugged&lt;/a&gt; addresses kids (and teachers) in primary school.&lt;/p&gt;&#xA;" OwnerUserId="72" LastActivityDate="2012-02-24T16:04:17.743" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10367" PostTypeId="2" ParentId="10365" CreationDate="2012-02-24T16:40:09.057" Score="6" Body="&lt;p&gt;some ideas. it seems to me there has been an explosion of high quality yet low cost options for kids with an interest in computer science. note the strong link with STEM, so called Science Technology Engineering Mathematics education. (Ive been thinking that maybe the CS side could be emphasized/advocated with a new keyword STEAM where the A stands for Algorithmics.)&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;try the concept of boolean logic to represent mathematical operations. stuff like converting binary to decimal, decimal to binary, and multistage adders with carry from EE. building arbitrary functions out of CNF or DNF. even a young kid can understand the concept of functional completeness with AND,OR,NOT. some radioshack kits for stuff like this incl inexpensive microcontrollers. see eg &lt;a href=&quot;http://www.parallax.com/tabid/295/Default.aspx&quot;&gt;basic stamp kit.&lt;/a&gt; there are some free/open source circuit simulators for this purpose.  unfortunately I couldnt find any distributed with libraries of components so far. &lt;a href=&quot;http://ozark.hendrix.edu/~burch/logisim/&quot;&gt;logisim&lt;/a&gt; is one popular one.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;theres this cool game that runs on different systems incl PC/ps3/etc called &lt;a href=&quot;http://www.crazymachinesgame.com/&quot;&gt;Crazy Machines.&lt;/a&gt; this can be used to understand physics simulation in software and get the kid to think of systems of interacting components and chain reactions. the new ps3 version has a bunch of electrical and logic components including switches and gates.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;robotics. try &lt;a href=&quot;http://lego.mindstorms.com&quot;&gt;lego mindstorms robotics&lt;/a&gt; in particular. sophisticated software that allows stuff like loops, conditionals, subroutines. the subroutines are contained in graphical blocks ie its a visual programming system which years ago was very cutting edge (now its a toy). for inspiration, there are many rubiks cube robotic solver videos on youtube such as this state of the art one &lt;a href=&quot;http://www.youtube.com/watch?v=_d0LfkIut2M&quot;&gt;cubestormer II&lt;/a&gt;. designs for at least one are in a widely available book eg &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/1593272162&quot;&gt;lego mindstorms nxt thinking robots&lt;/a&gt; by Daniele Benedettelli. also, recently I saw this many degrees-of-freedom pneumatic &lt;a href=&quot;http://www.youtube.com/watch?v=KR3IiXvzrds&quot;&gt;robotic hand&lt;/a&gt;. see also the &lt;a href=&quot;http://www.usfirst.org/&quot;&gt;First robotics competition&lt;/a&gt; league.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;writing basic code for some simple stuff. eg sorting. doing empirical studies of different sort algorithms and watching/graphing the results (eg graph the performance of a bubble sort vs qsort for increasing input sizes-- see eg the &lt;a href=&quot;http://en.wikipedia.org/wiki/Insertion_sort&quot;&gt;animation&lt;/a&gt; on this wikipedia page for insertion sort). sort animations. a neat graphical analog is to sort a deck of cards instead of integers or strings. also many graphics or geometric operations such as drawing figures in code are excellent exercises.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;game programming. this can be done in some excellent games. for example &lt;a href=&quot;http://www.littlebigplanet.com/&quot;&gt;Little Big Planet&lt;/a&gt; has some sophisticated subsystems where kids can actually create their own games with the complex built-in construction system and components. can even study interacting/emergent phenomena this way. they can be uploaded to the internet and shared. another language for this purpose is called &lt;a href=&quot;http://scratch.mit.edu/&quot;&gt;scratch&lt;/a&gt;. the classic one from Papert with much academic study of its efficacy is &lt;a href=&quot;http://en.wikipedia.org/wiki/Logo_%28programming_language%29&quot;&gt;Logo&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;using turing machine simulators &amp;amp; building programs in them. there are a few. they come with some programs. the more graphical the better. some written by professors for classes. heres one written in &lt;a href=&quot;http://www.turing.org.uk/turing/scrapbook/tmjava.html&quot;&gt;javascript&lt;/a&gt;. actually would like to know of the best ones in this area [maybe another question for that]&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="7884" LastEditDate="2012-02-24T16:49:51.650" LastActivityDate="2012-02-24T16:49:51.650" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10368" PostTypeId="1" AcceptedAnswerId="10374" CreationDate="2012-02-24T17:31:11.550" Score="11" ViewCount="612" Body="&lt;p&gt;JBV suggested I turn some comments into a question, so here goes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another question [1] asks about applications of QM computing. One answer [2] was &quot;efficiently simulating quantum mechanics&quot;. Apparently this idea dates all the way back to Feynman's early writing on subject; although I dont have a reference. So: &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Question.&lt;/strong&gt; What is the proof that a quantum computer can efficiently simulate an arbitrary quantum mechanical system?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;On one level this seems basic. However, this does not seem to be trivial for following reason: most quantum computing literature seems to reduce to operations on gates acting on two particles or other small subsystems. (Yes, Toffoli gates act on 3 inputs, but anyway are often reduced to two-qubit CNOT gates.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is surely no question, due to Turing completeness, that a quantum computer can simulate arbitrary classical or even quantum physics (although maybe there are some naysayers there due to the uncertainty principle etcetera &amp;mdash; I  would be curious to hear about that too). But it seems to me that to simulate arbitary quantum physics &lt;em&gt;efficiently&lt;/em&gt; one at least needs a way to simulate arbitrary &lt;em&gt;n-way&lt;/em&gt; interactions in mostly/nearly &lt;em&gt;2-way&lt;/em&gt; gates.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One could argue that we can build arbitary &lt;em&gt;n-way&lt;/em&gt; gates, but the clear evidence after many years of experimental research is that even just &lt;em&gt;2-way&lt;/em&gt; gates are extremely hard to build, and that &lt;em&gt;n-way&lt;/em&gt; gates would surely be much harder. (There are some &lt;em&gt;3-way&lt;/em&gt; quantum experiments, &lt;em&gt;e.g.&lt;/em&gt; 3 particle bell inequalities, but they are difficult to build.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] &#xA;&lt;a href=&quot;https://cstheory.stackexchange.com/questions/10141/real-world-applications-of-quantum-computing-except-for-security&quot;&gt;Real world applications of quantum computing (except for security)&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] &lt;a href=&quot;https://cstheory.stackexchange.com/a/10241/248&quot;&gt;https://cstheory.stackexchange.com/a/10241/248&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.743" LastActivityDate="2012-06-24T04:52:51.360" Title="What is the proof that quantum computers can efficiently simulate arbitrary quantum mechanical systems?" Tags="&lt;reference-request&gt;&lt;quantum-computing&gt;&lt;application-of-theory&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="10369" PostTypeId="2" ParentId="10362" CreationDate="2012-02-24T17:45:16.737" Score="8" Body="&lt;p&gt;In my experience (YMMV) linear algebra is very much used as a tool in Machine Learning and Computer Vision, with little interest in the underlying mathematics.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;That said, you'll need a more mathematical understanding than, say, a games programmer or a basic researcher in the natural sciences. Basically you'll need to know enough to take a method like PCA apart and put it back together again, but you don't need to worry about your matrices containing anything other than real values. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It sounds like this course is starting off deeper and more general than you want, but the list of topics suggests that you are moving in the right direction. So long as some attention is given to how to translate the mathematical methods into the computer. It's one thing to suggest that an SVD decomposition exists, and another to actually compute it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The deep mathematical understanding won't hurt, but there's no guarantee that all of it will be useful to you. &lt;/p&gt;&#xA;" OwnerUserId="7892" LastActivityDate="2012-02-24T17:45:16.737" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10370" PostTypeId="2" ParentId="10365" CreationDate="2012-02-24T17:55:35.077" Score="6" Body="&lt;p&gt;Depends on the person you are teaching and the area of that range.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A 12-14 year old that WANTS to should be able to handle just about anything, but he has to pull it in his own time, you can't really push complicated concepts to young people (or for the most part anyone).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm listening to iWoz at this point (which seems to be targeted at that age group and would be quite inspirational), by that age he was putting together some pretty advanced circuitry--but his father only ever answered questions, never handed him new concepts he wasn't ready for)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Or he may be completely disinterested and there is nothing you will be able to do about it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Kids can be really impressed with something simple though.  If you found some game he liked and helped him recreate it (even on a very superficial yet still graphically similar level) you may really get him going.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Or, even better yet, if you found an existing open source game he might like, let him play it then show him how to make little modifications you might be able to get him excited. (Modifications always seem to be the best way to get started)&lt;/p&gt;&#xA;" OwnerUserId="8528" LastActivityDate="2012-02-24T17:55:35.077" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="10371" PostTypeId="2" ParentId="10365" CreationDate="2012-02-24T18:11:59.210" Score="21" Body="&lt;p&gt;&lt;a href=&quot;http://worrydream.com/AlligatorEggs/&quot; rel=&quot;nofollow noreferrer&quot;&gt;&lt;img src=&quot;https://i.stack.imgur.com/WP4bo.png&quot; alt=&quot;lambda calculus&quot;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Fun way to learn $\lambda$-calculus:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;...This game represents the untyped lambda calculus. A hungry alligator is a lambda abstraction, an old alligator is parentheses, and eggs are variables. The eating rule corresponds to beta-reduction. The color rule corresponds to (over-cautious) alpha-conversion. The old age rule says that if a pair of parentheses contains a single term, the parentheses can be removed....&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.youtube.com/watch?v=K-p3ddhwVrg&quot; rel=&quot;nofollow noreferrer&quot;&gt;video link&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="612" LastEditorUserId="612" LastEditDate="2012-02-25T05:11:33.010" LastActivityDate="2012-02-25T05:11:33.010" CommentCount="10" ContentLicense="CC BY-SA 3.0" />
  <row Id="10372" PostTypeId="1" CreationDate="2012-02-24T19:19:32.393" Score="8" ViewCount="766" Body="&lt;p&gt;Suppose there are $N&amp;gt;2$ parties $p_j$, each with a bit $b_j\in{\{0,1\}}$. I want to compute the multiplication of number of ones times that of zeros, that is, $R=(\sum{b_j})\times(N-\sum{b_j})$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The computation should be secure in the sense that no party can learn more than the final result $R$. For example, it's not ok to perform secure sum, because then $\sum{b_j}$ will become known, and the sum is sensitive in my problem. So, is there any existing secure computation protocol that fits the demand?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit: The number $N$ in the problem is large, at least over $1000$. So efficient secure multiparty computation is needed. A secure sum protocol could be efficient but generic  SMC like boolean circuits might be too computation intensive. So I need an efficient protocol.&lt;/p&gt;&#xA;" OwnerUserId="5742" LastEditorUserId="80" LastEditDate="2012-10-25T06:05:59.157" LastActivityDate="2012-10-25T06:05:59.157" Title="Secure multiparty computation of number of 1s times number of 0s in a shared string" Tags="&lt;cr.crypto-security&gt;&lt;security&gt;" AnswerCount="2" CommentCount="9" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10373" PostTypeId="2" ParentId="10365" CreationDate="2012-02-24T19:35:24.137" Score="5" Body="&lt;p&gt;I actually taught a summer camp mostly containing 4th, 5th graders, though I had one 2nd and one 3rd grader (your target age group). The camps were week long and I taught XNA showing them basics of if, else if and a simple for statement along with photoshop. The issue with XNA was I had to help them program quite a bit til the end of the week, the other camps we had going on included lego robotics and GameMaker, both still having the very root CS theory and kids love it.&lt;/p&gt;&#xA;" OwnerUserId="8531" LastActivityDate="2012-02-24T19:35:24.137" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10374" PostTypeId="2" ParentId="10368" CreationDate="2012-02-24T20:44:22.630" Score="14" Body="&lt;p&gt;Why do you think simulating quantum physics means that you have to efficiently implement arbitrary quantum $n$-way interactions? If that's your requirement, quantum computers cannot do it efficiently.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can write down an $n$-way unitary gate which implements an arbitrary $n$-bit-input $n$-bit-output function. This would let us solve an arbitrary problem on $n$ bits in one step. It is common sense that we can't find quantum systems in &quot;real life&quot; that will let us do this. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course, in actual quantum physics, quantum dynamics is Hamiltonian and not just unitary, but there are still roughly $2^n$ parameters in an arbitrary $n$-way Hamiltonian, and doing this using 2-qubit gates (which have a constant number of parameters each) will require an exponential number of gates. Furthermore, I am fairly sure that the ability to implement arbitrary $n$-way Hamiltonians would still let you construct arbitrary binary functions on $O(n)$ bits.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So the requirement you pose for quantum computers to efficiently simulate arbitrary $n$-way interactions is much too strict. What you need is that quantum computers can efficiently simulate the $n$-way interactions that actually arise in quantum physics. Quantum computers are able to efficiently simulate $k$-local Hamiltonian dynamics for constant $k$, which may be enough to simulate interactions that arise in real quantum physics.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you can suggest any $n$-way interactions that arise in quantum physics that  appear difficult for a quantum computer to simulate efficiently, this would be a truly exciting development. However, I don't know of any current suggestions for such interactions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Whether quantum computers can efficiently simulate quantum field theory is still an open question, but progress is &lt;a href=&quot;http://arxiv.org/abs/1111.3633&quot;&gt;currently&lt;/a&gt; being &lt;a href=&quot;http://arxiv.org/abs/1112.4833&quot;&gt;made&lt;/a&gt; on it. &lt;/p&gt;&#xA;" OwnerUserId="1677" LastEditorUserId="1677" LastEditDate="2012-02-25T02:23:00.600" LastActivityDate="2012-02-25T02:23:00.600" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="10377" PostTypeId="2" ParentId="10365" CreationDate="2012-02-25T04:00:35.337" Score="-1" Body="&lt;p&gt;study of the &lt;a href=&quot;http://en.wikipedia.org/wiki/Mandelbrot_set&quot; rel=&quot;nofollow&quot;&gt;mandelbrot set&lt;/a&gt; &amp;amp; fractals via visual/graphical explorations. the simple formula $z \leftarrow z^2 + c$ can be understood by kids who have learned complex numbers or even by kids who havent by replacing it with the formula written with reals only. also another case of complex or emergent phenomena arising from simple equations.&lt;/p&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2012-02-25T04:00:35.337" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="10378" PostTypeId="2" ParentId="10365" CreationDate="2012-02-25T06:57:21.310" Score="8" Body="&lt;p&gt;In my experience, it is not difficult to teach basic topics in combinatorics, graph theory, programming, algorithms and similar topics. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;You may want to look up topics covered in &lt;a href=&quot;http://en.wikipedia.org/wiki/International_Olympiad_in_Informatics&quot;&gt;IOI&lt;/a&gt; competitions and national competitions. There are  summer schools and workshops related to IOI competitions starting at quite early age.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My personal favorite topic for such workshops is &lt;a href=&quot;http://en.wikipedia.org/wiki/Combinatorial_game_theory&quot;&gt;combinatorial game theory&lt;/a&gt; since it is easy to motive by playing games with the audience.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also check ACM's &lt;a href=&quot;http://en.wikipedia.org/wiki/K%E2%80%9312_%28education%29&quot;&gt;K-12&lt;/a&gt; CS &lt;a href=&quot;http://csta.acm.org/Curriculum/sub/CurrResources.html&quot;&gt;Curriculum Resources&lt;/a&gt;, particularly page 11 and 12 of &lt;a href=&quot;http://www.acm.org/education/education/curric_vols/k12final1022.pdf&quot;&gt;A Model Curriculum for K–12&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="186" LastActivityDate="2012-02-25T06:57:21.310" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10380" PostTypeId="1" CreationDate="2012-02-25T14:08:35.343" Score="2" ViewCount="152" Body="&lt;p&gt;In the process of creating an AST analysis framework one of the challenges is creating good reusable functions and to avoid too much boiler-plate code. To that end catamorphisms seem like a good fit, as described here:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://lorgonblog.wordpress.com/2008/04/05/catamorphisms-part-one/&quot; rel=&quot;nofollow&quot;&gt;Catamorphisms (1-7)&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there other interesting recursion schemes and techniques that are beneficial for AST analysis like catamorphisms?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In particular with application within the constraints of the F# programming language.&lt;/p&gt;&#xA;" OwnerUserId="684" LastEditorUserId="-1" LastEditDate="2012-11-24T07:20:56.980" LastActivityDate="2012-11-24T07:20:56.980" Title="Recursion Schemes for Static Analysis (AST)" Tags="&lt;pl.programming-languages&gt;&lt;recursion&gt;&lt;se.software-engineering&gt;" AnswerCount="0" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="10381" PostTypeId="2" ParentId="10332" CreationDate="2012-02-25T20:41:39.097" Score="3" Body="&lt;p&gt;The problem gets very easy if you look at the feasible space, which is simply the spanning tree polytope, intersected with a linear number of half-spaces, one for each packing constraint. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The spanning tree polytope has a separation oracle (check &lt;a href=&quot;http://www.cs.washington.edu/education/courses/cse522/09au/rravi-fsttcs09.pdf&quot; rel=&quot;nofollow&quot;&gt;this&lt;/a&gt; for example), therefore since you only have an additional linear number of constraints, it carries over to yield a separation oracle for your problem. Using this oracle, you can optimize any linear functional of the polytope in polynomial time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If I remember well, using the ellipsoid algorithm, you can get a running time of $\tilde{O}(m^2 \cdot T)$, where $T$ is the running time of the separation oracle (which in this case you can get from a min-cut algorithm). Probably not as good as other existing algorithms, but it gives you an idea of how you can quickly check that the problem is polynomial time solvable.&lt;/p&gt;&#xA;" OwnerUserId="49" LastActivityDate="2012-02-25T20:41:39.097" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10382" PostTypeId="2" ParentId="10372" CreationDate="2012-02-26T00:07:46.943" Score="2" Body="&lt;p&gt;This answer is about feasible solutions based on homomorphic encryption that is NOT fully-homomorphic, as the latter may be extremely inefficient (if there are efficient fully homomorphic cryptosystems that are comparable with those provided below in terms of efficiency, I'd be glad to hear about them).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since you only need one multiplication then there are solutions that are potentially less expensive than fully homomorphic encryption: [1] and [2]. The latter works on encrypted bit-decompositions of the input so it will need a bit-decomposition protocol like [3] and [6], but the former works on whole values. Just for completeness, the former has been extended to $d$-operand multiplication in [4], even though the OP may not need this. These solutions are non-interactive and should work in the two-party case. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you have more than two parties and could afford some interaction then [5] provides a &quot;secure multiplication gate&quot; which is potentially more efficient and allows unbounded number of multiplications. It works basically by converting the homomorphically-encrypted values to some sort of secret-sharing, multiplies the result (interactively), then convert it back to homomorphic encryption.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] &lt;a href=&quot;http://www.springerlink.com/content/wtt5caxkr94laxkg/&quot; rel=&quot;nofollow&quot;&gt;Evaluating 2-DNF Formulas on Ciphertexts&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] &lt;a href=&quot;http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=814630&quot; rel=&quot;nofollow&quot;&gt;Non-interactive cryptocomputing for NC1&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[3] &lt;a href=&quot;http://www.springerlink.com/content/m17u3nl46656jn1u/&quot; rel=&quot;nofollow&quot;&gt;Unconditionally Secure Constant-Rounds Multi-party Computation for Equality, Comparison, Bits and Exponentiation&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[4] &lt;a href=&quot;http://www.springerlink.com/content/8031u1u12p01276u/&quot; rel=&quot;nofollow&quot;&gt;Additively Homomorphic Encryption with d-Operand Multiplications&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[5] &lt;a href=&quot;http://www.springerlink.com/content/bkq0y15k554l6ybg/&quot; rel=&quot;nofollow&quot;&gt;Multiparty Computation from Threshold Homomorphic Encryption&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[6] &lt;a href=&quot;http://www.springerlink.com/content/dvj5507116v88429/&quot; rel=&quot;nofollow&quot;&gt;Efficient Binary Conversion for Paillier Encrypted Values&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="201" LastActivityDate="2012-02-26T00:07:46.943" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="10383" PostTypeId="1" CreationDate="2012-02-26T02:44:42.013" Score="3" ViewCount="311" Body="&lt;p&gt;There are many universal computation systems. &lt;strong&gt;Turing machines, tag systems, rewrite systems, cellular automata&lt;/strong&gt; to name just a few. The universality of a system is proved via reduction from a known universal (Turing-complete) model.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am wondering if it is possible to define abstract conditions, that make each of the systems universal. For example, in definitions of algebraic structures, there are conditions (like: Closure, Associativity, etc.) that can be examined in a structure to determine if it is e.g. a group. There is no reduction from other structure, that is already known to be group.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is it possible to define in similar way the universality? Are there any related works on the topic?&lt;/p&gt;&#xA;" OwnerUserId="7918" LastEditorUserId="-1" LastEditDate="2012-11-24T07:20:49.273" LastActivityDate="2012-11-24T07:20:49.273" Title="Abstract definition of universal computation" Tags="&lt;computability&gt;&lt;turing-machines&gt;&lt;universal-computation&gt;" AnswerCount="1" CommentCount="7" FavoriteCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10384" PostTypeId="2" ParentId="10383" CreationDate="2012-02-26T09:34:50.827" Score="4" Body="&lt;p&gt;Have a look at the work of Alex Heller and Robert di Paola on &lt;a href=&quot;http://www.jstor.org/pss/2274352&quot; rel=&quot;nofollow&quot;&gt;dominical categories&lt;/a&gt;. There should be further references there to older work.&lt;/p&gt;&#xA;" OwnerUserId="705" LastActivityDate="2012-02-26T09:34:50.827" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="10385" PostTypeId="1" AcceptedAnswerId="10576" CreationDate="2012-02-26T12:29:23.600" Score="12" ViewCount="2555" Body="&lt;p&gt;There is a linear time algorithm for breaking text evenly into lines of maximum width. It uses SMAWK (or Knuth &amp;amp; Plass) and &quot;evenly&quot; means:&#xA;&lt;a href=&quot;http://en.wikipedia.org/wiki/Word_wrap#Minimum_raggedness&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/Word_wrap#Minimum_raggedness&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there an algorithm or a concave cost function for algorithm above which would take into account the number of lines I would like the text break into, instead of the maximum line width? Also in linear time?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In other words, I'm looking for a line breaking (or paragraph formation, or word wrapping) algorithm where the input is the desired number of lines, not the desired line width.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Just to describe a practically unusable approach: There are N words and N-1 spaces in-between each word pair, M is the desired number of lines (M &amp;lt;= N). After each space there might be at most one (possibly zero) line-break. Now, the algorithm would try to place the breaks in each possible combination, calculating the &quot;raggedness&quot; and return the best one. How to do it much faster?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, does such a problem have a name? What &quot;family&quot; of problems does it belong to? (E.g. &quot;bin packing&quot;) If I wouldn't need the perfectly optimal solution, just a very good one, is it possible to solve it much faster? (some form of heuristics could be usable, if for a given input there were always the same, possibly sub-optimal, solution).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Update&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Chandra Chekuri suggested bellow &quot;a problem in Kleinberg and Tardos chapter on dynamic programming&quot;. It was a good read but it deals with line breaking based on width rather than line count. It might be adaptable to this problem which is something I'm trying to figure out now. Here is a good link to the solution, they even claim to solve it in linear time:&#xA;&lt;a href=&quot;http://web.media.mit.edu/~dlanman/courses/cs157/HW5.pdf&quot; rel=&quot;nofollow&quot;&gt;http://web.media.mit.edu/~dlanman/courses/cs157/HW5.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, there is a chapter &quot;8.5 The Partition Problem&quot; in The Algorithm Design Manual by Skiena which seems to be exactly on-topic, I'm still reading it, tough. (Unfortunately, from what I understood it has quadratic time complexity)&lt;/p&gt;&#xA;" OwnerUserId="7219" LastEditorUserId="7219" LastEditDate="2012-03-07T09:38:48.230" LastActivityDate="2012-03-07T16:21:39.310" Title="Break text evenly into certain number of lines" Tags="&lt;ds.algorithms&gt;" AnswerCount="2" CommentCount="15" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="10386" PostTypeId="1" CreationDate="2012-02-26T12:33:08.917" Score="1" ViewCount="202" Body="&lt;p&gt;Assume you are given a matrix&#xA;$$&#xD;&#xA;X=&#xD;&#xA;\begin{bmatrix}&#xD;&#xA;x_1^1 &amp;amp; x_1^2 &amp;amp; \dots &amp;amp; x_1^m \\&#xD;&#xA;x_2^1 &amp;amp; x_2^2 &amp;amp; \dots &amp;amp; x_2^m \\&#xD;&#xA;\vdots &amp;amp; \vdots &amp;amp; \ddots &amp;amp; \vdots \\&#xD;&#xA;x_n^1 &amp;amp; x_n^2 &amp;amp; \dots &amp;amp; x_n^m&#xD;&#xA;\end{bmatrix}&#xD;&#xA;$$&#xA;such that all $x_i^j \in \big\{0,1\big\}$, $\vee$ is the logical OR, and:&#xA;$$&#xD;&#xA;\forall i,j, \quad x_{i}^j = &#xD;&#xA;\begin{cases}&#xD;&#xA;x_{i+1}^{j}\vee x_{i+1}^{j-1} &amp;amp; \text{if }\:j\neq1,\\&#xD;&#xA;x_{i+1}^1\vee x_{i}^m &amp;amp; \text{otherwise}.&#xD;&#xA;\end{cases}&#xD;&#xA;$$&#xA;This is quite similar to the Pascal triangle with binomials, except here we are dealing with $0/1$ variables and regular addition is replaced by the logical OR.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem now is to minimize: $$S=\sum_{i,j} x_i^j,$$ where the trivial case $S=0$ with all $x_i^j=0$ is not an option. The sum is the one in the integers: $0&amp;lt;S\leq n m$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT:&lt;/strong&gt; What can we say about the case where the $\vee$ operator is no longer the logical OR, but is defined by: $0\vee0=0$, $1\vee0=0\vee1=1$ and $1\vee1\in\{0,1\}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does this problem reduces to another one? Maybe there are references that I am not aware of. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks for your help.&lt;/p&gt;&#xA;" OwnerUserId="8552" LastEditorUserId="-1" LastEditDate="2012-11-24T07:20:43.970" LastActivityDate="2012-11-24T07:20:43.970" Title="Minimization on a binary matrix" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;optimization&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="10387" PostTypeId="1" CreationDate="2012-02-26T12:57:37.950" Score="31" ViewCount="7735" Body="&lt;p&gt;Recently, a friend of mine (working in TCS) mentioned in a conversation that &quot;he wanted to see/know all (or as much as possible) of the beautiful results in TCS in his lifetime&quot;. This kind of made me wonder about the beautiful results in this area and hence the motivation for the following question:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Which results (or ideas), in your opinion, are beautiful in theoretical computer science? It would be great if you mentioned the reason as well. &#xA;[Would also be fine even if the ideas originate in mathematics, but have aroused interest and found uses in TCS]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would start with an answer as Cantor's diagonal argument because it's simple, elegant and yet a powerful result. &lt;/p&gt;&#xA;" OwnerUserId="3816" LastEditorUserId="236" LastEditDate="2012-03-01T16:35:17.233" LastActivityDate="2014-05-14T17:48:23.167" Title="Beautiful results in TCS" Tags="&lt;soft-question&gt;&lt;big-list&gt;" AnswerCount="19" CommentCount="5" FavoriteCount="26" CommunityOwnedDate="2012-02-27T03:41:57.620" ContentLicense="CC BY-SA 3.0" />
  <row Id="10388" PostTypeId="2" ParentId="3577" CreationDate="2012-02-26T13:35:12.707" Score="16" Body="&lt;p&gt;I am happy with Adrej's answer, but I would like to drill down further.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To start with, &lt;strong&gt;denotational semantics&lt;/strong&gt; wants to say something like &quot;the meaning of this notation is that&quot;.  A real semanticist would want to imagine that the meanings are what exist in our mind and the notations are just a way of expressing those meanings.  The requirement that denotational semantics should be compositional follows from this.  If the meanings are primary and the notations secondary, then we have no choice but to define the meanings of bigger notations as functions of the meanings of their constituents.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we accept this viewpoint then a good denotational semantics needs to capture the meanings we presume we have in our mind.  Any compositional semantics wouldn't necessarily fit the bill.  If I come up with a compositional semantic definition and nobody agrees that it states any meanings they have in their head, then it is of little use.  Games semantics at present is in this situation.  It is a compositional definition and technically quite strong, but very few people agree that it has anything to do with the meanings they have in their mind.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;That said, any &lt;strong&gt;compositional definition&lt;/strong&gt; has various technical advantages.  We can use it to verify equivalences or other properties by induction on the syntax of terms.  We can use it to verify the soundness of proof systems, again by induction on the syntax of terms.  We can verify the correctness of compilers or program analysis techniques (which, by their nature, are defined by induction on syntax).  A fully abstract semantic definition has even more technical advantages.  You can use it to show that two programs are &lt;i&gt;not equivalent&lt;/i&gt;, which you can't do with any arbitrary compositional semantics.  A fully definable semantic definition is even better.  Here the semantic domains have exactly what you can express in the programming language (with some provisos).  So, you can enumerate the values in the domains to see what values there are, which would be hard to do with syntactic notations.  On all these grounds, games semantics scores brilliantly.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, compositional semantic definitions have been losing their edge over the years.  Robin Milner and Andy Pitts have developed a number of &quot;&lt;strong&gt;operational reasoning&lt;/strong&gt;&quot; techniques, which work purely on the syntax but using the operational semantics wherever needed for talking about behaviour.  These operational reasoning techniques are low-tech.  No fancy mathematics. No infinite objects.  We can teach them to undergraduates and anybody can use them.  So, many people ask the question why we need denotational semantics at all. (Martin Berger is probably in this camp.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Personally, I have no problem with having many tools in my tool box.  Denotational techniques might score better for some problems and operational techniques for others.  The researchers that develop the theory might be better tuned to one approach or the other.  Pretty often, we can develop the insights in one approach and transfer those insights to the other approach. (A lot of Andy Pitts's work is of this kind.  Relational parametricity was developed in the denotational setting but he is able to figure out how to restate it as operational reasoning.  When I look at it, I say &quot;wow, I would have never thought that would be possible.&quot;  Separation Logic is also going this way. Steve Brookes gave a 60-page soundness proof for Concurrent Separation Logic using denotational semantics.  Viktor Vafeiadis recently came up with an operational soundness proof that is only 4-5 pages long.)  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Operational approaches also score brilliantly when the programming languages get very fancy, with all kinds of loopy higher-order types.  We may have no idea how to model such things mathematically. Or, the standard mathematical models might turn out to be inconsistent under the stress of loopiness.  (For example, see &quot;Polymorphism is not set-theoretic&quot; by Reynolds.)  Operational approaches that work purely on syntax can neatly side step all these mathematical problems.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another approach that is intermediate between operational and denotational approaches is &lt;strong&gt;realizability&lt;/strong&gt;.  Instead of working with syntactic terms as in operational approaches, we go partly denotational by using some other form of mathematical representatives.  These representatives may not qualify as real denotational &quot;meanings&quot; but they would at least be a bit more abstract than syntactic terms.  For example, for polymorphic lambda calculus, we can first give meanings to untyped terms (in some model of the untyped lambda calculus) and then use them as the representatives ('realizers') to do some form of &quot;operational reasoning&quot; at a slightly more abstract level.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, let there be some healthy competition between denotational, operational and realizability approaches.  There is no harm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, there might also be some &quot;unhealthy&quot; competition growing between the different approaches.  People working with one approach might be so closely wedded to it that they might not see the point of the other approaches.  Ideally we should all be aware of the strengths and weaknesses of the different approaches and develop a scientific attitude towards them even if they are not our individual favourites.&lt;/p&gt;&#xA;" OwnerUserId="8519" LastEditorUserId="8519" LastEditDate="2012-02-27T03:39:39.733" LastActivityDate="2012-02-27T03:39:39.733" CommentCount="11" ContentLicense="CC BY-SA 3.0" />
  <row Id="10389" PostTypeId="2" ParentId="10387" CreationDate="2012-02-26T14:04:17.943" Score="17" Body="&lt;p&gt;In my opinion, the &lt;a href=&quot;http://en.wikipedia.org/wiki/Curry_Howard&quot;&gt;Curry-Howard correspondence&lt;/a&gt; is one of the most beautiful theoretical results, and the one that drove me to do research. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The idea that two systems, programs on the one hand, and proofs on the other hand, have exactly the same structure, is almost of philosophical nature: are there some general &quot;reasoning patterns&quot;? &lt;/p&gt;&#xA;" OwnerUserId="8030" LastActivityDate="2012-02-26T14:04:17.943" CommentCount="6" CommunityOwnedDate="2012-03-01T14:02:41.697" ContentLicense="CC BY-SA 3.0" />
  <row Id="10390" PostTypeId="2" ParentId="10207" CreationDate="2012-02-26T14:55:39.780" Score="13" Body="&lt;p&gt;There have been some new results since the work cited in the previous&#xA;answers. This &lt;a href=&quot;http://arxiv.org/abs/1110.2230&quot; rel=&quot;noreferrer&quot;&gt;survey&lt;/a&gt;&#xA;describes the state of the art (see Figure 1). The size of the&#xA;smallest known universal Turing machine depends on the details of the&#xA;model and here are  two results that are of relevance to this&#xA;discussion:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA; &lt;li&gt; There is a 2-state, 18-symbol standard universal machine&#xA;(Rogozhin 1996. TCS, 168(2):215–240). Here we have the usual notion of&#xA;blank symbol in one or both directions of a single tape. &lt;/li&gt;&#xA;&#xA; &lt;li&gt; There is a &lt;a href=&quot;http://arxiv.org/abs/0707.4489&quot; rel=&quot;noreferrer&quot;&gt;2-state,&#xA;4-symbol&lt;/a&gt; weakly universal machine (Neary, Woods 2009. FCT. Springer LNCS 5699:262-273).&#xA;Here we have a single tape containing the finite input, and a constant (independent of the input)&#xA;word $r$ repeated infinitely to the right, with another constant word&#xA;$l$ repeated infinitely to the left. This improves on the weakly&#xA;universal machine mentioned by David Eppstein. &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;It sounds like the (2,18) is most useful for you.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that it is now known that all of the smallest universal Turing machines run&#xA;in polynomial time. This implies that their prediction problem (given a machine $M$,&#xA;input $w$ and time bound $t$ in unary, does $M$ accept $w$ within time $t$?) is P-complete.&#xA;If you are trying to make a (1-player) game this might be useful, for example to&#xA;show that it is NP-hard to find an initial configuration (hand of cards) that &#xA;leads to a win within t moves. For these complexity&#xA;problems we care only about a finite portion of the tape, which makes the &#xA;(extremely small) weakly universal machines very useful.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/rHRtV.png&quot; alt=&quot;Neary, Woods SOFSEM 2012, Smallest known universal Turing machines&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The figure shows the smallest known universal machines for a variety of Turing&#xA;machine models (taken from Neary, Woods SOFSEM 2012),&#xA;the references can be found &lt;a href=&quot;http://arxiv.org/abs/1110.2230&quot; rel=&quot;noreferrer&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="138" LastActivityDate="2012-02-26T14:55:39.780" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10391" PostTypeId="1" CreationDate="2012-02-26T15:18:04.437" Score="11" ViewCount="3103" Body="&lt;p&gt;In the article &lt;a href=&quot;http://en.wikipedia.org/wiki/Levenshtein_distance&quot; rel=&quot;noreferrer&quot;&gt;Levenshtein distance&lt;/a&gt; Wikipedia says about the proof of invariant that:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;This proof fails to validate that the number placed in d[i,j] is in&#xA;  fact minimal; this is more difficult to show, and involves an argument&#xA;  by contradiction in which we assume d[i,j] is smaller than the minimum&#xA;  of the three, and use this to show one of the three is not minimal.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;So how can I show that d[i,j] is actually minimal? (informal proof is ok)&lt;/p&gt;&#xA;" OwnerUserId="3150" LastEditorUserId="-1" LastEditDate="2012-11-24T07:21:09.663" LastActivityDate="2021-01-11T01:23:10.823" Title="Proof of Levenshtein distance" Tags="&lt;ds.algorithms&gt;&lt;proofs&gt;&lt;edit-distance&gt;" AnswerCount="4" CommentCount="0" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="10392" PostTypeId="2" ParentId="10391" CreationDate="2012-02-26T15:48:07.653" Score="9" Body="&lt;p&gt;There is an optimal edit sequence in which the edit operations occur in order from left to right.  There are only three options for the last edit operation: insert the last character of the target string, delete the last character of the source string, or replace the last character.  Everything before the last edit operation must be optimal.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See section 3.7 of &lt;a href=&quot;http://algorithms.wtf&quot; rel=&quot;nofollow noreferrer&quot;&gt;this textbook&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="111" LastEditorUserId="111" LastEditDate="2019-09-03T17:59:49.970" LastActivityDate="2019-09-03T17:59:49.970" CommentCount="3" ContentLicense="CC BY-SA 4.0" />
  <row Id="10393" PostTypeId="1" AcceptedAnswerId="10415" CreationDate="2012-02-26T16:47:50.777" Score="18" ViewCount="1827" Body="&lt;p&gt;What are the known efficient algorithms for computing a determinant of an integer matrix with coefficients in $\mathbb{Z}_m$, the ring of residues modulo $m$. The number $m$ may not be prime but composite (so computations are performed in ring, not a field).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As far as I know (read below), most algorithms are modifications of Gaussian elimination. The question is about the computational efficiency of these procedures.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If it happened that there is some different approach, I also curious about it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks in advance.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let me explain the source of this question. Assume, $m$ is a prime number. So $\mathbb{Z}_m$ is a field. And in this case we can perform all computations using numbers less than $m$, so we have some nice upper bound on all operations on numbers: addition, multiplication and inversion --- all needed operations to run Gaussian elimination.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand we can not perform inversion for some numbers in case $m$ not a prime. So we need some tricks to compute determinant.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;And now I am curious what are the known tricks to do the job and whether such tricks could be found in and papers of books.&lt;/p&gt;&#xA;" OwnerUserId="6651" LastEditorUserId="-1" LastEditDate="2012-11-24T07:21:01.753" LastActivityDate="2013-07-20T03:39:52.857" Title="Determinant modulo m" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;linear-algebra&gt;&lt;comp-number-theory&gt;" AnswerCount="3" CommentCount="13" ContentLicense="CC BY-SA 3.0" />
  <row Id="10396" PostTypeId="1" AcceptedAnswerId="10400" CreationDate="2012-02-26T17:40:51.767" Score="8" ViewCount="1252" Body="&lt;p&gt;this is a rewrite of another recent question of mine [1] that wasnt stated well (it had a semi obvious simplification, mea culpa) but I think theres still a nontrivial question at the heart of it. have seen similar problems in the literature but not this one in particular.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;will write it in terms of bit-vectors because thats easiest for me. &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;let there be a set of bit-vectors of size $n$, $v_1, v_2, v_3, ... , v_n$. consider the bitwise XOR operation. given a target vector $v_0$. find a subset of vectors such that the bitwise XOR of the set equals the target vector. what is an efficient (or ideally, optimal) algorithm to find a subset?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;the brute force algorithm enumerates the powerset of size $2^n$ and lists the 1st subset found. (slightly?) more efficient would look at 1-positions in the target and exclude subsets that do not have at least 1 vector with a 1 in a 1-position of the target.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;the subset may or may not exist. it may or may not be unique.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;closely related questions: (1) find the smallest subset, (2) output T/F depending on whether such a subset exists.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;have a suspicion one of these problems is NP complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;looking for references, insight etc. it would be interesting to know if there are &quot;hard&quot; vs &quot;easy&quot; inputs etc&lt;/p&gt;&#xA;&#xA;&lt;p&gt;as I wrote on the other question this seems closely related to the subset sum problem (see eg garey &amp;amp; johnson ref) which is known to be NP complete but this seems to have &quot;slightly&quot; less complexity because its simpler to compute a vector bitwise XOR than a binary sum (the sum can have more binary digits).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;the problem also seems closely connected to bin fu's recent question [2]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] &lt;a href=&quot;https://cstheory.stackexchange.com/questions/10341/building-0-1-vectors-out-of-xors&quot;&gt;https://cstheory.stackexchange.com/questions/10341/building-0-1-vectors-out-of-xors&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] &lt;a href=&quot;https://cstheory.stackexchange.com/questions/10327/algorithmic-vector-problem&quot;&gt;Algorithmic Vector Problem&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2012-02-26T20:23:58.917" Title="(0,1)-vector XOR problem" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;circuit-complexity&gt;&lt;lower-bounds&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="10398" PostTypeId="2" ParentId="10387" CreationDate="2012-02-26T17:53:50.193" Score="11" Body="&lt;p&gt;I was (and still am) astonished by &lt;a href=&quot;http://en.wikipedia.org/wiki/Kleene%27s_recursion_theorem&quot;&gt;Kleene's Second Recursion Theorem&lt;/a&gt;. On the surface, it seems simple and not very useful but I later found out it's deep both mathematically and philosophically.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;When I also read about the variant proven on Turing Machines (very very informally stating that machines can obtain their own descriptions or equivalently that there are machines that output their own description, like a program that prints itself..), I felt my brain twist so hard, yet intrigued like never before. Then, you see how the theorem is used to give one line proofs for undecidability of halting problem and unrecognizability of minimal machines..etc.&lt;/p&gt;&#xA;" OwnerUserId="7925" LastActivityDate="2012-02-26T17:53:50.193" CommentCount="0" CommunityOwnedDate="2012-02-27T10:20:10.793" ContentLicense="CC BY-SA 3.0" />
  <row Id="10400" PostTypeId="2" ParentId="10396" CreationDate="2012-02-26T18:24:35.773" Score="17" Body="&lt;p&gt;Let $v_0, v_1, \ldots, v_n \in \mathbb{Z}_2^m$. The problem is to determine whether the following system has a solution:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xD;&#xA;\begin{pmatrix}&#xD;&#xA;v_1 &amp;amp; \cdots &amp;amp; v_n&#xD;&#xA;\end{pmatrix}&#xD;&#xA;\begin{pmatrix}&#xD;&#xA;x_1 \\&#xD;&#xA;\vdots \\&#xD;&#xA;x_n&#xD;&#xA;\end{pmatrix}&#xD;&#xA;=&#xD;&#xA;v_0 \, (\text{mod } 2)&#xD;&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This problem is known to be $\oplus L$-complete by [Damm90, BDHM92], thus inside $\text{NC}^2 \subseteq \text{P}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[Damm90] Carsten Damm: Problems Complete for $\oplus L$. Inf. Process. Lett. 36(5): 247-250 (1990)&#xA;[BDHM92] Gerhard Buntrock, Carsten Damm, Ulrich Hertrampf, Christoph Meinel: Structure and Importance of Logspace-MOD Class. Mathematical Systems Theory 25(3): 223-237 (1992)&lt;/p&gt;&#xA;" OwnerUserId="508" LastEditorUserId="508" LastEditDate="2012-02-26T18:35:58.113" LastActivityDate="2012-02-26T18:35:58.113" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10401" PostTypeId="2" ParentId="3809" CreationDate="2012-02-26T20:05:33.160" Score="4" Body="&lt;p&gt;Honestly, it seems to me that a lecture on the level (and with the focus) of Goldreich's book will be beyond an incoming MSc student. (Calling zero knowledge a &quot;main construct&quot; of cryptography, while leaving out private-key encryption, is certainly a non-standard viewpoint.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would suggest a (slightly) more applied focus, on the lines of the Katz-Lindell book.&lt;/p&gt;&#xA;" OwnerUserId="686" LastActivityDate="2012-02-26T20:05:33.160" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10402" PostTypeId="2" ParentId="10396" CreationDate="2012-02-26T20:23:58.917" Score="12" Body="&lt;p&gt;As a followup to my comment: finding the smallest satisfying subset should in fact be NP-complete; the reduction is to the minimal-weight code problem (given a basis for a code over GF(2), what's the minimum-weight vector in the code?) and this was apparently proven NP-complete in 1997 by A. Vardy: &quot;The intractability of computing the minimum distance of a code&quot;, &lt;a href=&quot;http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=641542&quot;&gt;http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=641542&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="1941" LastActivityDate="2012-02-26T20:23:58.917" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="10404" PostTypeId="2" ParentId="10393" CreationDate="2012-02-26T21:03:28.633" Score="17" Body="&lt;p&gt;There is a combinatorial algorithm by Mahajan and Vinay that works over commutative rings: &lt;a href=&quot;http://cjtcs.cs.uchicago.edu/articles/1997/5/contents.html&quot;&gt;http://cjtcs.cs.uchicago.edu/articles/1997/5/contents.html&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="4896" LastActivityDate="2012-02-26T21:03:28.633" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="10405" PostTypeId="1" AcceptedAnswerId="10414" CreationDate="2012-02-26T21:21:32.923" Score="6" ViewCount="232" Body="&lt;p&gt;Working on a problem I came up with the following &quot;T-gadget&quot;:&#xA;&lt;img src=&quot;https://i.stack.imgur.com/j25dV.jpg&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It has 3 connectors (A, B, C); each connector has two wires (A1,A2; B1,B2; C1,C2);&#xA;it can be rotated (0, 90, 180, 270 degrees);&#xA;two gadgets X and Y, can be linked together (one connector of X is joined with one connector of Y);&#xA;the wires used to link the T-gadgets cannot overlap.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A &lt;em&gt;signal&lt;/em&gt; is propagated on the wires; and it can use &lt;em&gt;1 or 2 connectors&lt;/em&gt; to traverse a T-gadget. Suppose that it enters through wire A1, then it can:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;go back through wire A2, OR&lt;/li&gt;&#xA;&lt;li&gt;choose among connector B or C - suppose that it chooses connector B; then it can exit the gadget through wire B1, re-enter through B2 and exit again through A2&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;When a signal enters a gadget and exits from the same connector, the gadget is &quot;activated&quot;.&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;Possible traversals of a T-gadget:&#xA;(OUT) - A1 - A2 (OUT)&#xA;(OUT) - A1 - B1 - (OUT) - B2 - A2 - (OUT)&#xA;(OUT) - A1 - C1 - (OUT) - C2 - A2 - (OUT)&#xA;(OUT) - B1 - B2 (OUT)&#xA;(OUT) - B1 - A1 - (OUT) - A2 - B2 - (OUT)&#xA;(OUT) - B1 - C1 - (OUT) - C2 - B2 - (OUT)&#xA;(OUT) - C1 - C2 (OUT)&#xA;(OUT) - C1 - B1 - (OUT) - B2 - C2 - (OUT)&#xA;(OUT) - C1 - A1 - (OUT) - A2 - C2 - (OUT)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;The signal starts on wire A1 of a gadget (with connector A unlinked) and must return to A2.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question&lt;/strong&gt;: is the problem: &lt;em&gt;&quot;Given a set of T-gadgets linked together, does exist a path that activates all of them?&quot;&lt;/em&gt; $NP$-complete?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we omit option 1 (&lt;em&gt;go back through wire A2)&lt;/em&gt; I think that the problem is $NP$-complete (through reduction from Hamiltonian path problem on cubic planar graphs).&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="-1" LastEditDate="2012-11-24T07:20:46.683" LastActivityDate="2012-11-24T07:20:46.683" Title="NP-completeness of a problem using a &quot;T-gadget&quot;" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10407" PostTypeId="1" AcceptedAnswerId="10411" CreationDate="2012-02-26T22:32:48.513" Score="17" ViewCount="4957" Body="&lt;p&gt;I'm looking for an algorithm to merge two binary search trees of arbitrary size and range.  The &lt;em&gt;obvious&lt;/em&gt; way I would go about implementing this would be to find entire subtrees whose range can fit into an arbitrary external node in the other tree.  However, the worst case running time for this type of algorithm seems to be on the order of &lt;code&gt;O(n+m)&lt;/code&gt; where &lt;code&gt;n&lt;/code&gt; and &lt;code&gt;m&lt;/code&gt; are the size of each tree respectively.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, I've been told that this could be done in &lt;code&gt;O(h)&lt;/code&gt;, where &lt;code&gt;h&lt;/code&gt; is the height of the tree with the larger height.  And I'm completely lost on how this is possible.  I've tried experimenting with rotating one the trees first, but rotating a tree into a spine is already O(h).  &lt;/p&gt;&#xA;" OwnerUserId="8555" LastActivityDate="2012-07-10T18:43:51.780" Title="Merging Two Binary Search Trees" Tags="&lt;ds.algorithms&gt;&lt;ds.data-structures&gt;&lt;tree&gt;" AnswerCount="3" CommentCount="7" FavoriteCount="10" ContentLicense="CC BY-SA 3.0" />
  <row Id="10409" PostTypeId="2" ParentId="9860" CreationDate="2012-02-27T00:00:07.567" Score="15" Body="&lt;p&gt;As Massimo Lauria states, problems of the form CSP($\Gamma$) are rather special.  So there is no contradiction.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any constraint satisfaction problem instance can be represented as a pair $(S,T)$ of relational structures $S$ and $T$, and one has to decide if there exists a relational structure homomorphism from the source $S$ to the target $T$.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;CSP($\Gamma$) is a special kind of constraint satisfaction problem.  It consists of &lt;em&gt;all&lt;/em&gt; pairs of relational structures which are constructed using &lt;em&gt;only&lt;/em&gt; the relations from $\Gamma$ in the target relational structure: CSP($\Gamma$) = $\{(S,T) \mid \text{all relations of } T \text{ are from } \Gamma\}$.  Schaefer's Theorem says that when $\Gamma$ contains only relations over $\{0,1\}$, then CSP($\Gamma$) is either NP-complete or in P, but says nothing at all about other collections of CSP instances.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As an extreme example, one can start with some CSP($\Gamma$) that is NP-complete, and &quot;blow holes&quot; in the language.  (Ladner did this with SAT in the proof of his theorem.)  The result is a subset containing only some of the instances, and no longer in the form CSP($\Gamma'$) for any $\Gamma'$.  Repeating the construction yields an infinite hierarchy of languages of decreasing hardness, assuming P ≠ NP.&lt;/p&gt;&#xA;" OwnerUserId="109" LastEditorUserId="109" LastEditDate="2013-01-09T14:13:01.230" LastActivityDate="2013-01-09T14:13:01.230" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10411" PostTypeId="2" ParentId="10407" CreationDate="2012-02-27T05:37:24.090" Score="25" Body="&lt;p&gt;In &lt;a href=&quot;http://arxiv.org/abs/1002.4248&quot;&gt;ArXiv:1002.4248&lt;/a&gt;, John Iacono and Özgür Özkan describe a relatively simple algorithm to merge two binary search trees in $O(\log^2 n)$ &lt;em&gt;amortized&lt;/em&gt; time; the analysis is the hard part.  [&lt;strong&gt;Update:&lt;/strong&gt; As Joe correctly observes in his answer, this algorithm is due to Brown and Tarjan.]  They also describe a more complicated dictionary data structure, based on biased skip lists, that supports merges in $O(\log n)$ &lt;em&gt;amortized&lt;/em&gt; time. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, a worst-case bound of $O(\log n)$ is impossible.  Consider two binary search trees with $n$ nodes, one storing the even integers between $2$ and $2n$, the other storing the odd integers between $1$ and $2n-1$.  Merging the two trees creates a new binary search tree storing all integers between $1$ and $2n$.  In any such tree, a constant fraction of the nodes have different parity than their parents.  (Proof: The parent of an odd leaf must be even.)  Thus, merging the even and odd trees requires changing $\Omega(n)$ pointers.&lt;/p&gt;&#xA;" OwnerUserId="111" LastEditorUserId="111" LastEditDate="2012-02-27T09:45:01.393" LastActivityDate="2012-02-27T09:45:01.393" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="10412" PostTypeId="2" ParentId="10407" CreationDate="2012-02-27T05:40:56.410" Score="9" Body="&lt;p&gt;You may find this reference helpful: Brown and Tarjan, &lt;a href=&quot;ftp://db.stanford.edu/pub/cstr/reports/cs/tr/77/625/CS-TR-77-625.pdf&quot; rel=&quot;noreferrer&quot;&gt;A Fast Merging Algorithm&lt;/a&gt;, in which the authors show how to merge balanced binary (AVL) trees in $O(n \log \frac{m}{n})$ which is optimal (for comparison based algorithms). $m$ and $n$ are the lengths of the sorted lists represented by the binary search trees, and it is assumed that $m \geq n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You could also see a discussion of different techniques for merging ordered sets in section 11.5 of this paper on &lt;a href=&quot;http://www.cs.au.dk/~gerth/papers/finger05.pdf&quot; rel=&quot;noreferrer&quot;&gt;finger search trees&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="8078" LastEditorUserId="8078" LastEditDate="2012-02-27T19:49:38.950" LastActivityDate="2012-02-27T19:49:38.950" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="10414" PostTypeId="2" ParentId="10405" CreationDate="2012-02-27T07:48:39.137" Score="8" Body="&lt;p&gt;You're asking whether the underlying 3-regular graph has a Hamiltonian path, which is NP-complete.  Your activation signal must traverse every edge in this path exactly twice.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See also &lt;a href=&quot;https://cstheory.stackexchange.com/questions/2396/counting-the-number-of-hamiltonian-cycles-in-cubic-hamiltonian-graphs&quot;&gt;this question&lt;/a&gt; and &lt;a href=&quot;https://cstheory.stackexchange.com/questions/1651/hamiltonicity-of-k-regular-graphs&quot;&gt;this one&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="111" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.743" LastActivityDate="2012-02-27T07:48:39.137" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10415" PostTypeId="2" ParentId="10393" CreationDate="2012-02-27T09:47:02.787" Score="15" Body="&lt;p&gt;If you know the factorization of $m = p_1^{e_1} \cdots p_n^{e_n}$ you can compute modulo each $p_i^{e_i}$ separately and then combine the results using Chinese remaindering. If $e_i = 1$, then computing modulo $p_i^{e_i}$ is easy, since this is a field. For larger $e_i$, you can use Hensel lifting.  &lt;/p&gt;&#xA;" OwnerUserId="6456" LastActivityDate="2012-02-27T09:47:02.787" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="10416" PostTypeId="2" ParentId="10387" CreationDate="2012-02-27T10:09:53.990" Score="22" Body="&lt;p&gt;The undecidability of the halting problem. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Beautiful for many reasons. It is an impossibility result. The proof uses diagonalisation. The statement applies to a broad range of models of computation. It can be formulated in a variety of ways, particularly, using standard programming languages. It was a watershed result in the history of computing. Extending this statement leads to Rice's Theorem, Turing degrees and many other cool results. Etc. Etc. Etc.&lt;/p&gt;&#xA;" OwnerUserId="4155" LastActivityDate="2012-02-27T10:09:53.990" CommentCount="0" CommunityOwnedDate="2012-02-27T10:09:53.990" ContentLicense="CC BY-SA 3.0" />
  <row Id="10417" PostTypeId="2" ParentId="10387" CreationDate="2012-02-27T10:26:41.637" Score="9" Body="&lt;p&gt;One of my favourite family of results is that various problems of a seemingly infinite nature are decidable. &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;The first order theory of real closed fields is decidable (by Tarski). Euclidean geometry is also a model of the axioms of real-closed fields, hence, by Tarski, first order statements in this model are decidable.&lt;/li&gt;&#xA;&lt;li&gt;Presburger arithmetic is decidable. &lt;/li&gt;&#xA;&lt;li&gt;First order theory of algebraically closed fields (this includes complex numbers) is decidable. &lt;/li&gt;&#xA;&lt;li&gt;Monadic second order logic over infinite (and finite) words is decidable. The proof is elegant and can be taught to undergrads. &lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="4155" LastActivityDate="2012-02-27T10:26:41.637" CommentCount="0" CommunityOwnedDate="2012-02-27T10:26:41.637" ContentLicense="CC BY-SA 3.0" />
  <row Id="10418" PostTypeId="2" ParentId="10393" CreationDate="2012-02-27T11:33:06.943" Score="11" Body="&lt;p&gt;To solve this problem there is a &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=237084&quot; rel=&quot;nofollow&quot;&gt;fast deterministic algorithm&lt;/a&gt; based on &lt;a href=&quot;http://en.wikipedia.org/wiki/Smith_normal_form&quot; rel=&quot;nofollow&quot;&gt;Smith normal forms&lt;/a&gt; whose worst-case complexity is upper-bounded by the cost of matrix-multiplication over the integers modulo $m$. For any matrix $A$, the algorithm outputs its Smith normal form, from where $\text{det}(A)$ can be easily computed. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;More concretely, define $\omega$ so that two $n \times n$ matrices with coefficients taken from  $\mathbb{Z}_m$ can be multiplied using $O(n^{\omega})$ basic arithmetic operations on $\mathbb{Z}_m$ (integer addition, multiplication, exponentiation, etc). Then,&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Given a matrix $A\in \mathbb{Z}_m^{n \times n}$, there exists a deterministic algorithm that computes $\text{det}(A)$ using $O(n^{\omega})$ basic arithmetical operations over $\mathbb{Z}_m$ &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=237084&quot; rel=&quot;nofollow&quot;&gt;[1]&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;When this was written in 1996 there was no asymptotically faster alternative (the paper mentions the prior existence of algorithms with the same bound but I do not know which ones, or whether they are probabilistic).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Update (July 17, 2013):&lt;/strong&gt; a nice bonus feature of this algorithm is that it runs in &lt;em&gt;polynomial time&lt;/em&gt; for arbitrary &lt;strong&gt;composite&lt;/strong&gt; $m$ without knowing a prime-nuber &lt;strong&gt;factorization&lt;/strong&gt; of $m$! This is &lt;em&gt;good&lt;/em&gt; since there are no known efficient (classical) algorithms for factoring (of course, if you had a quantum computer, then you could apply &lt;a href=&quot;http://en.wikipedia.org/wiki/Shors_algorithm&quot; rel=&quot;nofollow&quot;&gt;Shor's algorithm&lt;/a&gt;). If you &lt;em&gt;do&lt;/em&gt; have the factorization then the algorithm Markus suggested seems way simpler to implement.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Notes:&lt;/strong&gt; in the paper, the complexity of &quot;basic arithmetical operations&quot; is $O(\log^2 m)$ if you use standard integer arithmetic, but you can achieve $O(M(\log m)\log \log m)$ with faster techniques. $M(t)$ bounds the cost&#xA;of multiplying two $t$-bit integers.  The current record for $\omega$ is &lt;a href=&quot;http://www.cs.berkeley.edu/~virgi/matrixmult.pdf&quot; rel=&quot;nofollow&quot;&gt;2.3727&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="7286" LastEditorUserId="7286" LastEditDate="2013-07-20T03:39:52.857" LastActivityDate="2013-07-20T03:39:52.857" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="10419" PostTypeId="2" ParentId="10387" CreationDate="2012-02-27T14:05:36.673" Score="5" Body="&lt;p&gt;This result is probably a bit recent to qualify as fundamental, but I believe that the &lt;em&gt;types-as-homotopy-types&lt;/em&gt; interpretation qualifies. This view allows interpreting types from &lt;a href=&quot;http://en.wikipedia.org/wiki/Intuitionistic_type_theory&quot;&gt;constructive type theory&lt;/a&gt; as sets with certain geometric properties, in this case &lt;a href=&quot;http://en.wikipedia.org/wiki/Homotopy&quot;&gt;homotopy&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I find this point of view to be particularly beautiful as it makes certain previously complex observations about type theory simple, for instance the fact that&lt;a href=&quot;http://homotopytypetheory.org/2011/04/10/just-kidding-understanding-identity-elimination-in-homotopy-type-theory/&quot;&gt;&quot;axiom K&quot; is not derivable&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An overview of this budding field by Steve Awodey can be found &lt;a href=&quot;http://www.andrew.cmu.edu/user/awodey/preprints/TTH.pdf&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="3984" LastActivityDate="2012-02-27T14:05:36.673" CommentCount="0" CommunityOwnedDate="2012-02-27T14:05:36.673" ContentLicense="CC BY-SA 3.0" />
  <row Id="10420" PostTypeId="2" ParentId="10387" CreationDate="2012-02-27T15:12:07.480" Score="18" Body="&lt;p&gt;The possibility of public-key cryptography, for example, Diffie-Hellman key exchange scheme.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It breaks the very strong preconception that people have to meet before exchanging secrets on an insecure channel.&lt;/p&gt;&#xA;" OwnerUserId="7925" LastActivityDate="2012-02-27T15:12:07.480" CommentCount="0" CommunityOwnedDate="2012-02-27T15:12:07.480" ContentLicense="CC BY-SA 3.0" />
  <row Id="10422" PostTypeId="2" ParentId="10387" CreationDate="2012-02-27T18:44:53.167" Score="17" Body="&lt;p&gt;I was and still am surprised by Euclid's algorithm. To me, it is a testament to power of human thinking - that &lt;em&gt;people&lt;/em&gt; could conceive of such an algorithm so early (around 300 BC if I trust my memory).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Fast forwarding, there is mind numbing literature on the subject. I think &lt;a href=&quot;http://www.scottaaronson.com/blog/?p=524&quot;&gt;Scott Aaronson's list&lt;/a&gt; should be helpful in this regard - though, as Aaronson himself says its not complete (and not entirely theoretical)&lt;/p&gt;&#xA;" OwnerUserId="55" LastActivityDate="2012-02-27T18:44:53.167" CommentCount="0" CommunityOwnedDate="2012-02-27T18:44:53.167" ContentLicense="CC BY-SA 3.0" />
  <row Id="10424" PostTypeId="2" ParentId="10387" CreationDate="2012-02-27T19:34:34.277" Score="10" Body="&lt;p&gt;seems to me the &lt;a href=&quot;http://en.wikipedia.org/wiki/AKS_primality_test&quot;&gt;AKS P-time primality test&lt;/a&gt; is quite beautiful in various senses. a breakthrough at the time, one of the great but rather rare breakthroughs seen in complexity theory in our lifetimes. it solves a problem dating back to greek antiquity &amp;amp; relates to some of the earliest algorithms invented (sieve of eratosthenes), ie identifying primes efficiently. its a constructive proof that primality detection is in P as opposed to many great proofs that are unfortunately nonconstructive. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;its interconnected to the RSA cryptography algorithm mentioned in another answer because that algorithm needs to find large primes quickly, prior to the AKS algorithm this was only probabilistically possible. its fundamentally connected to number theory &amp;amp; other deep problems eg the Riemann conjecture which in many ways is the original realm of algorithmics.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;awarded the 2006 Gödel Prize and the 2006 Fulkerson Prize&lt;/p&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="7884" LastEditDate="2012-02-27T19:47:38.757" LastActivityDate="2012-02-27T19:47:38.757" CommentCount="5" CommunityOwnedDate="2012-02-27T19:34:34.277" ContentLicense="CC BY-SA 3.0" />
  <row Id="10425" PostTypeId="2" ParentId="10387" CreationDate="2012-02-27T19:36:44.660" Score="11" Body="&lt;p&gt;A beautiful result which builds on the PCP theorem states that it is computationally hard (NP-hard) to satisfy more than 7/8 of the clauses of 3SAT formula even for satisfiable ones.&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2012-02-29T13:40:42.660" LastActivityDate="2012-02-29T13:40:42.660" CommentCount="2" CommunityOwnedDate="2012-02-27T19:36:44.660" ContentLicense="CC BY-SA 3.0" />
  <row Id="10426" PostTypeId="2" ParentId="10387" CreationDate="2012-02-27T19:45:46.070" Score="10" Body="&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Shors_algorithm&quot;&gt;shors algorithm for factoring in BQP&lt;/a&gt;. in my opinion/memory, quantum computation was more just a theoretical curiosity until this result in 1994, at which point it seems the literature and research interest into QM computing exploded. its still arguably one of the most important QM algorithms known. awarded the 1999 Gödel prize. it also reveals that factoring in QM computation is actually in a sense somewhat better understood than in classical computing where eg the question of whether Factoring is NP complete is still open.&lt;/p&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2012-02-27T19:45:46.070" CommentCount="2" CommunityOwnedDate="2012-02-27T19:45:46.070" ContentLicense="CC BY-SA 3.0" />
  <row Id="10427" PostTypeId="2" ParentId="10387" CreationDate="2012-02-27T19:56:39.523" Score="9" Body="&lt;p&gt;There are lots of lovely results about probabilistic algorithms, which are deceptively simple and a great step forward in the way we think about computation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;von Neumann's trick for implementing a fair coin with a  biased one. We are so used to probabilistic algorithms now, but from an outside perspective, this is unbelieveably cool. Both the algorithm and proof are accessible to anyone who knows high-school probability.  &lt;/p&gt;&#xA;" OwnerUserId="4155" LastActivityDate="2012-02-27T19:56:39.523" CommentCount="2" CommunityOwnedDate="2012-02-27T19:56:39.523" ContentLicense="CC BY-SA 3.0" />
  <row Id="10431" PostTypeId="2" ParentId="5427" CreationDate="2012-02-27T22:55:02.717" Score="21" Body="&lt;p&gt;I have an answer to this question which is possibly novel.  In fact, I am still thinking through it for the last 6 months or so, and it hasn't been written about in papers yet.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The general thesis is that relational reasoning principles like &quot;logical relations&quot;, &quot;simulations&quot;, and even &quot;invariants&quot; are manifestations of data abstraction or information hiding.  Wherever there is information hiding, these principles crop up.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The first people to discover it were automata theorists.  Automata have hidden state.  So you need relational reasoning to talk about their equivalence.  Automata theorists struggled with homomorphisms for a while, gave up, and came up with a notion called &quot;relational covering&quot;, which is a form of simulation relations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Milner picked up the idea in a little-known but very fundamental paper called &quot;&lt;a href=&quot;http://ijcai.org/Past%20Proceedings/IJCAI-1971/PDF/044.pdf&quot;&gt;An algebraic notion of simulation between programs&lt;/a&gt;&quot; in 1971.  Hoare knew it and used it in coming up with &quot;&lt;a href=&quot;http://dx.doi.org/10.1007/BF00289507&quot;&gt;Proof of correctness of data representations&lt;/a&gt;&quot; in 1972 (but used abstraction functions instead of relations because he thought they were &quot;simpler&quot;).  He later retracted the simplicity claim and went back to using relations in &quot;&lt;a href=&quot;http://dx.doi.org/10.1007/3-540-16442-1_14&quot;&gt;Data refinement refined&lt;/a&gt;&quot;.  Reynolds used relational reasoning in &quot;&lt;a href=&quot;http://repository.cmu.edu/compsci/1280/&quot;&gt;Craft of Programming&lt;/a&gt;&quot;, Chapter 5 (1981).  He thought relations were more natural and general than abstraction functions.  If you go back and read this chapter, you will find relational parametricity ideas lurking around, waiting to be discovered.  Sure enough, two years later, Reynolds published &quot;Types, abstraction and parametric polymorphism&quot; (1983).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It looks like all these ideas have nothing to do with types, but they really do.  Stateful languages and models have &lt;i&gt;built-in&lt;/i&gt; data abstraction.  You don't need to define an &quot;abstract data type&quot; to get information hiding.  You just declare a local variable and hide it.  We can teach it to first year students in Java classes in the first few weeks.  No sweat.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Functional languages and models, on the other hand, have to get their information hiding via &lt;em&gt;types&lt;/em&gt;.  Functional models don't have built-in data abstraction.  We have to add it on explicitly, using $\forall$ or $\exists$.  So, if you translate a stateful language into a functional language, you will notice all the local state getting translated into type variables.  For an explicit description of how this works, see my paper &quot;&lt;a href=&quot;http://www.cs.bham.ac.uk/~udr/papers/objects-and-classes.pdf&quot;&gt;Objects and classes in Algol-like languages&lt;/a&gt;&quot;, but the ideas really come from Reynolds 1981 (&quot;The Essence of Algol&quot;). We are just understanding those classic ideas better now.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Take two machines $M$ and $M'$ that you want to prove equivalent.  Milner 1971 says, define a relation between the states of $M$ and $M'$ and show that the two machines preserve the relation.  Reynolds parametricity says, think of the states of the machines as belonging to types $X$ and $X'$.  Define a relation $R$ between them.  If the machines are of type $F(X)$ and $F(X')$, parameterized by the types of their states, then check that the two machines are related by the relation $F(R)$.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, &lt;em&gt;simulations and relational parametricity are essentially the same idea&lt;/em&gt;.  It is not merely a superficial resemblance.  The former is made for stateful languages where there is built-in data abstraction.  The latter is made for stateless languages where data abstraction is obtained via type variables.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;What about logical relations then?  On the surface, logical relations appear to be a more general idea.  Whereas parametricity talks about how to relate type variables within the same model, logical relations appear to relate types across different models.  (Dave Clarke wrote a brilliant exposition of this earlier.)  But my feeling is (and it still needs to be demonstrated) that this is an instance of some form of higher-type parametricity which hasn't yet been formulated.  Stay tuned for more progress on that front.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;[Note added] The connection between logical relations and simulations is discussed in our recent paper &lt;a href=&quot;http://www.cs.bham.ac.uk/~udr/papers/logical-relations-and-parametricity.pdf&quot;&gt;Logical relations and parametricty: A Reynolds programme for Category Theory and Programming Languages&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="8519" LastEditorUserId="8519" LastEditDate="2014-01-19T02:41:29.957" LastActivityDate="2014-01-19T02:41:29.957" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="10432" PostTypeId="1" CreationDate="2012-02-27T23:04:39.797" Score="8" ViewCount="267" Body="&lt;p&gt;This is a somewhat subjective question. I am interested in studying the literature on multicommodity flow-cut results, especially the 'positive' results which show that flow is a good approximation to cut (say, within a factor that is constant or polylogarithmic in the number of flows). Examples are:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) Flow polytope (also called demand polytope) for multicommodity flow in undirected graphs is within O(log k) of cut as shown in &lt;/p&gt;&#xA;&#xA;&lt;p&gt;F. Leighton and S. Rao,“An approximate max-flow min-cut theoremfor uniform multicommodity flow problems with applications to approximation algorithms,” in Proc. of 28th Annual Symposium on Foundations of Computer Science, (Los Alamitos, California), 1988.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;N. Linial, E. London, and Y. Rabinovich, “The geometry of graphs and some of its algorithmic applications,” Combinatorica, vol. 15, no. 2, pp. 215–245, 1995.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) Demand polytope of multicommodity flow in directed graphs with symmetric demands is within O(log^2 k) of cut as shown in &lt;/p&gt;&#xA;&#xA;&lt;p&gt;P. Klein, S. Plotkin, S. Rao, and E. Tardos, “Bounds on the max-flow min-cut ratio for directed multicommodity flows,” J. Algorithms, no. 22, pp. 241–269, 1997.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;3) Max sum-rate in groupcast is within a factor 2 of the multicut. (I don't know a reference for this result. Could someone help me with this? Thanks.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would like to know more such positive results affirming flow being close to cut assuming certain structure of the problem (such as undirectedness of graph or symmetric demands, as in above). It would be great if you can give me a one-line summary of the result(s) and a reference of the paper. Thanks.&lt;/p&gt;&#xA;" OwnerUserId="7823" LastEditorUserId="-1" LastEditDate="2012-11-24T07:21:12.300" LastActivityDate="2012-11-24T07:21:12.300" Title="Request for references on multicommodity flow-cut results" Tags="&lt;ds.algorithms&gt;&lt;approximation-algorithms&gt;&lt;approximation-hardness&gt;&lt;max-flow-min-cut&gt;&lt;multicommodity-flow&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10433" PostTypeId="1" CreationDate="2012-02-28T00:55:08.457" Score="7" ViewCount="376" Body="&lt;p&gt;I am starting out in theoretical computer science.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have a model of computation based on observations of auto-associative memory in the brain.  I believe (with little evidence) that I can do anything in this simple model.  I understand the primary way of proving universality is to show that your model can simulate another universal model, especially a turing machine.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would like to request the following information:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;References to clear and easy to follow proofs of universality of a computational model, graspable by an able beginner such as myself.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Guidance as to what model would be easiest model to attempt to simulate.  I imagine the answer to this may be 'it depends'.  Currently it appears my model bears some semblance to lambda calculus.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="4501" LastEditorUserId="-1" LastEditDate="2012-11-24T07:20:38.510" LastActivityDate="2013-09-23T14:12:52.553" Title="Which model of computation to simulate to prove universality?" Tags="&lt;reference-request&gt;&lt;computability&gt;&lt;universal-computation&gt;&lt;machine-models&gt;" AnswerCount="2" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="10434" PostTypeId="2" ParentId="9555" CreationDate="2012-02-28T01:47:31.067" Score="6" Body="&lt;p&gt;There have been recent several conferences on the topic of infinitary computability, which have treated many topics in hypercomputation. &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.math.uni-bonn.de/people/logic/events/biwoc/index.html&quot;&gt;Bonn International Workshop on Ordinal Computability (BIWOC) 2007&lt;/a&gt;, see the program report there &lt;/li&gt;&#xA;&lt;li&gt;Conference on &lt;a href=&quot;http://nylogic.org/EMU/August2008&quot;&gt;Effective Mathematics of the Uncountable (EMU) 2008&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Conference on &lt;a href=&quot;http://nylogic.org/EMU/August2009&quot;&gt;Effective Mathematics of the Uncountable (EMU) 2009&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;In addition, there have been special sessions on infinitary computability in many of the CiE conferences. &lt;/p&gt;&#xA;" OwnerUserId="1061" LastActivityDate="2012-02-28T01:47:31.067" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10436" PostTypeId="2" ParentId="10432" CreationDate="2012-02-28T04:30:05.507" Score="8" Body="&lt;p&gt;I can recommend my recent paper &lt;a href=&quot;http://arxiv.org/abs/1110.6832&quot;&gt;http://arxiv.org/abs/1110.6832&lt;/a&gt; on multicommodity flows and cuts in polymatroidal networks; we generalize several known results in standard graphs. Although we do not give a nice table summary we discuss many of the known cases. Some of the results that are not discussed in the paper but are of relevance are those for planar undirected graphs and some special cases. These include the result of&#xA;Satish Rao on $O(\sqrt{\log n})$ bound on flow-cut gap and tight bound of $2$ for series-parallel graphs by Chakrabarti-Jaffe-Lee-Vincent and some others. James Lee has several papers on flows and cuts on these graphs and any relatively recent one will discuss the existing literature.&lt;/p&gt;&#xA;" OwnerUserId="176" LastActivityDate="2012-02-28T04:30:05.507" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10437" PostTypeId="2" ParentId="10387" CreationDate="2012-02-28T07:13:10.953" Score="11" Body="&lt;p&gt;Shannon's source and channel coding theorems. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A mathematical definition that distinguished between the transmitted, receiver and medium and which ignored the semantics of the message was a big step. Entropy, in the context of data is a fantastically useful notion.  And because information theory should be better known.&lt;/p&gt;&#xA;" OwnerUserId="4155" LastActivityDate="2012-02-28T07:13:10.953" CommentCount="1" CommunityOwnedDate="2012-02-28T07:13:10.953" ContentLicense="CC BY-SA 3.0" />
  <row Id="10438" PostTypeId="2" ParentId="11" CreationDate="2012-02-28T10:50:49.727" Score="5" Body="&lt;p&gt;I am coming to this question even later, but I am equally fascinated by it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Why the theory of imperative programming is considered less settled than that of functional programming evades me. It probably started to get serious with Scott and de Bakker in 1969 with their analysis of the meaning of recursion in a simple imperative language [1]. When the imperative language gains features, the story gets a bit messier but that is just the price to pay for being closer to the metal. To name one of the more comprehensive efforts, in 1980, de Bakker, de Bruin, and Zucker wrote a monograph on the subject [2]. Others were mentioned above. These references of course pre-date separation logic but [2] nevertheless tackles arrays and mutually recursive procedures.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1]: unpublished in 1969 but appeared as Jaco W. de Bakker and Dana S. Scott. &lt;em&gt;A Theory of Programs&lt;/em&gt;, pages 1-30. In Klop et al. &lt;em&gt;J. W. de Bakker, 25 jaar semantiek.&lt;/em&gt; CWI, Amsterdam, 1989. Liber Amoricum.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2]: Jacobus W. de Bakker, Arie de Bruin, Jeffrey Zucker: &lt;em&gt;Mathematical theory of program correctness.&lt;/em&gt; Prentice Hall 1980.&lt;/p&gt;&#xA;" OwnerUserId="3552" LastActivityDate="2012-02-28T10:50:49.727" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="10439" PostTypeId="1" AcceptedAnswerId="10441" CreationDate="2012-02-28T13:56:17.117" Score="3" ViewCount="617" Body="&lt;p&gt;The only first-principles &quot;proof&quot; that a problem is NP-complete I encountered is from &lt;a href=&quot;http://en.wikipedia.org/wiki/Introduction_to_Algorithms&quot; rel=&quot;nofollow&quot;&gt;Introduction to algorithms&lt;/a&gt;, and deals with the circuit-satisfiability problem. According to the authors, many details in the proof are omitted.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is the simplest first-principles proof that a problem is NP-complete that thoroughly presents all the technical details?&lt;/p&gt;&#xA;" OwnerUserId="8171" LastEditorUserId="-1" LastEditDate="2012-11-24T07:20:51.927" LastActivityDate="2012-11-24T07:20:51.927" Title="Simplest proof of NP-completeness" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="10440" PostTypeId="2" ParentId="10387" CreationDate="2012-02-28T14:48:09.147" Score="14" Body="&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Kolmogorov_complexity&quot;&gt;Kolmogorov Complexity&lt;/a&gt; and the &lt;em&gt;incompressibility method&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The incompressibility method - based on Kolmogorov complexity - provided a new and intuitive way of formulating proofs.  In a typical proof using incompressibility method, one first chooses an incompressible object from the class under discussion. The argument invariably says that if a desired property does not hold, then, in contrast with the assumption, the object can be compressed and this yelds the required contradiction.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See for example the proof that there is an infinite number of primes, the alternative proof of the Godel's incompleteness theorem, or the &lt;a href=&quot;http://people.cs.uchicago.edu/~fortnow/papers/quaderni.pdf&quot;&gt;connections between Kolmogorov Complexity and Computational Complexity&lt;/a&gt;, ....&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2012-02-29T17:14:49.737" LastActivityDate="2012-02-29T17:14:49.737" CommentCount="0" CommunityOwnedDate="2012-02-28T14:48:09.147" ContentLicense="CC BY-SA 3.0" />
  <row Id="10441" PostTypeId="2" ParentId="10439" CreationDate="2012-02-28T15:26:32.987" Score="17" Body="&lt;p&gt;What about { (M,$1^t$) : M is a turing machine that, run on a blank tape, accepts within t steps} ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The proof of NP-completeness is a simple exercise from the definition.&lt;/p&gt;&#xA;" OwnerUserId="259" LastActivityDate="2012-02-28T15:26:32.987" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10442" PostTypeId="1" AcceptedAnswerId="10460" CreationDate="2012-02-28T15:44:47.657" Score="24" ViewCount="530" Body="&lt;p&gt;For any language $L$ over $\Sigma^*$, define &#xA;$$L_{1/2} = \{x \in \Sigma^* : xy\in L, y\in\Sigma^{|x|} \}.$$&#xA;In words, $L_{1/2}$ consists of all $x$ for which there is a $y$ of equal length such that $xy\in L$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An exercise in Sipser's book asks to show that $L_{1/2}$ is regular whenever $L$ is. I have seen two distinct solutions, and both involve an exponential blow-up of states.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Question: can anyone construct a family of languages $\{L_n\}$ such that the canonical automaton for $(L_n)_{1/2}$ is significantly (say, exponentially) larger than that for $L$? My best efforts so far only increase the state size by $+1$!&lt;/p&gt;&#xA;" OwnerUserId="1746" LastEditorUserId="-1" LastEditDate="2012-11-24T07:21:04.407" LastActivityDate="2012-11-24T07:21:04.407" Title="complexity of the half language" Tags="&lt;fl.formal-languages&gt;&lt;automata-theory&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="10445" PostTypeId="2" ParentId="10387" CreationDate="2012-02-28T16:27:51.613" Score="15" Body="&lt;p&gt;surprisingly one of the most obvious answers not added yet. sometimes one works too much with something to see it impartially. the &lt;a href=&quot;http://en.wikipedia.org/wiki/Cook_theorem&quot;&gt;theory of NP completeness launched by Cook/Levin&lt;/a&gt; and immediately amplified by Karp who gave an early indication of its ubiquitousness, even more prescient in retrospect. in many ways this is the birth of modern TCS &amp;amp; complexity theory, and its core/key/notorious question P=?NP is still open after four decades of intense study/attack. P=?NP has a $1M Claymath award for its solution. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;the Cook proof introduced the NDTM which is apparently not at all a mere theoretical curiosity but an almost extremely fundamental part of TCS. launched a thousand ships, so to speak. moreover, it continually resists/defies efforts via one of the other key/powerful TCS techniques mentioned in this list, diagonalization, seen in eg the BGS-75 Oracle/Relativization results-- suggesting that there must be something exotic and different about any possible solution, also further suggested/expanded by the Razborov-Rudich Natural Proofs paper (2007 Godel prize).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;there are many, many refs on the subj but one more recent with some 1sthand account of the history can be found in &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/1441971548&quot;&gt;The P=?NP Question and Godel's Lost Letter&lt;/a&gt; by RJ Lipton&lt;/p&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2012-02-28T16:27:51.613" CommentCount="3" CommunityOwnedDate="2012-02-28T16:27:51.613" ContentLicense="CC BY-SA 3.0" />
  <row Id="10446" PostTypeId="2" ParentId="10387" CreationDate="2012-02-28T18:18:27.080" Score="8" Body="&lt;p&gt;The result by Tim Griffin that control operators such as &lt;code&gt;call/cc&lt;/code&gt; are related to classical logic, extending the Curry-Howard correspondence.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Basically, the typing of &lt;code&gt;call/cc&lt;/code&gt; is such that if $E$ has type $\neg\neg \tau$, then $\mathtt{call/cc}{(E)}$ has type $\tau$.  This works out when interpreting the type $\neg\tau$ as $\tau\rightarrow\bot$, as is standard in logic, and corresponds to the type of a function that takes a $\tau$ and never returns.  That's exactly what a continuation does, making the correspondence work.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;His &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.26.6893&quot;&gt;paper&lt;/a&gt;, &quot;A Formulae-as-types notion of control&quot;, appears in POPL 1990.&lt;/p&gt;&#xA;" OwnerUserId="2185" LastEditorUserId="2185" LastEditDate="2012-02-29T01:35:03.107" LastActivityDate="2012-02-29T01:35:03.107" CommentCount="0" CommunityOwnedDate="2012-02-28T18:18:27.080" ContentLicense="CC BY-SA 3.0" />
  <row Id="10447" PostTypeId="1" AcceptedAnswerId="10448" CreationDate="2012-02-28T18:28:05.847" Score="10" ViewCount="304" Body="&lt;p&gt;Let $G=(V,E)$ be an undirected graph. A decomposition of $V$ into disjoint subsets $V_i$ is called a &lt;strong&gt;Hamilton decomposition&lt;/strong&gt; of $G$ if the subgraph induced by each set $V_i$ is either a Hamilton graph or consists of a single edge with $|V_i|=2$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Example&lt;/strong&gt;: The complete bipartite graph $K_{m,n}$ possesses a Hamilton decomposition if and only if $m=n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am looking for an algorithm that decides whether a given graph possesses a Hamilton decomposition. Is this decision problem NP-complete? If not, how can we find such a decomposition?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: In the literature a Hamilton decomposition often denotes a decomposition of the edges $E$ of $G$ such that the induced subgraphs are Hamilton. In contrast I am interested in a decomposition of the vertices.&lt;/p&gt;&#xA;" OwnerUserId="2390" LastEditorUserId="-1" LastEditDate="2012-11-24T07:20:54.437" LastActivityDate="2012-11-24T07:20:54.437" Title="Hamilton Decomposition Decision Problem" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;np-hardness&gt;&lt;hamiltonian-paths&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10448" PostTypeId="2" ParentId="10447" CreationDate="2012-02-28T19:17:27.693" Score="17" Body="&lt;p&gt;If we request that each $|V_i| \ge 3$, then this is the 2-factor problem,&#xA;see the book Combinatorial Optimization by Schrijver. If you allow $|V_i| = 2$,&#xA;then we can solve this by replacing each undirected edge by two directed ones and compute what is called a cycle-cover. This can be done in polynomial time by reduction to bipartite matching.&lt;/p&gt;&#xA;" OwnerUserId="6456" LastActivityDate="2012-02-28T19:17:27.693" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10449" PostTypeId="1" CreationDate="2012-02-28T20:43:26.837" Score="-2" ViewCount="497" Body="&lt;p&gt;I'm stuck on a question and I just need a hint/point in the general direction (not asking for the answer)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The question asks for the details of a divide and conquer algorithm that given a list that is almost sorted, runs in time $O(n)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What they mean by almost sorted is that given the list $x_1, x_2, \ldots, x_n$, if the sorted list is represented by $y_1, y_2, \ldots, y_n$ and for all $i, j \le n, x_i = y_j: |i-j| \le \sqrt n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The only thing that comes to mind is dividing the lists into $\sqrt n$ groups at each level (which would cause them to be at most length $\sqrt n$ for the first split), but I'm not too sure where to go from there. You'd have to join up $\sqrt n$ elements at a time as you recurse back up&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I've also figured out that the recurrence would be: $T(n) = \sqrt{n} \cdot  T(\sqrt n) + d \sqrt n$ which by the master's theorem is $O(n)$ time.&#xA;So it kind of seems like I'm on the right track with the splitting, I'm just not sure if it should be split up a special way or compared a certain way or what.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks in advance&lt;/p&gt;&#xA;" OwnerUserId="8575" LastEditorUserId="7846" LastEditDate="2012-02-29T10:14:36.580" LastActivityDate="2012-03-05T09:09:05.540" Title="Divide and conquer algorithm to sort a list where each element is root(n) away from its sorted position" Tags="&lt;ds.algorithms&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="10451" PostTypeId="2" ParentId="3577" CreationDate="2012-02-28T20:52:35.967" Score="9" Body="&lt;p&gt;This additional response is to amplify the point that denotational semantic models are designed to &quot;explain&quot; computational phenomena.  I will give a series of examples from the semantics of imperative programming languages (also called &quot;Algol-like&quot; languages).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First there was the semantic model formulated by Scott and Strachey.  (Cf. Gordon: Denotational description of programming languages - my all-time favourite or Winskel's book.)  This model posits that there is a &lt;strong&gt;global state&lt;/strong&gt;, made up of the state of &lt;em&gt;all&lt;/em&gt; the locations allocated by a program.  Every command is interpreted as some sort of a function from global states to global states.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Reynolds said that it didn't model the &lt;strong&gt;stack discipline&lt;/strong&gt; of local variables.  When a local scope is entered, its variables are allocated, and they are deallocated when the scope is exited.  Basically, this is the question, &quot;in what sense are local variables local?&quot;  How does the semantics capture the locality?  To explain this, he invented a functor-category model.  (Cf. Reynolds: The Essence of Algol and Tennent: Semantics of programming languages).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Tennent wanted to model the reasoning principles formulated in Reynolds's &lt;strong&gt;Specification Logic&lt;/strong&gt; (an extension of Hoare Logic for higher-order procedures).  The Logic has ideas like expression-like (read-only) computations, non-interference between command-like and expression-like computations, and some data abstraction reasoning principles.  He refined Reynolds's functor-category model to find a new one.  This called the &quot;SASL&quot; model, also covered in Tennent's book.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Meyer and Sieber, and also O'Hearn and Tennent, noted that none of these models still captured the &lt;strong&gt;locality&lt;/strong&gt; of local variables fully.  When two implementations of an abstract data type or a class differ in their local variables but manipulate them in ways that have the same behaviour when viewed from outside, they are observationally equivalent.  The denotational semantics should equate them.  To model this, O'Hearn and Tennent added relational parametricity to a variant of the Reynolds's functor-category model.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;When I looked at the problem at the same time, I disbelieved in the functor-category approach.  I also thought that it was overly technical and believed there must be a simpler model.  This led me to invent the &quot;Global state considered unnecessary&quot; model, which is rather like a CSP traces model, but for a higher-order language.  As an added bonus, this model also captured the &lt;strong&gt;irreversibility&lt;/strong&gt; of state change, which was not present in the earlier models.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My model only worked for a well-behaved sublanguage of Algol, called &lt;em&gt;Syntactic Control of Interference&lt;/em&gt;.  Abramsky and McCusker extended my model using games semantics ideas so that it can work for full Algol.  So, their model explains the same phenomena as mine does, but for the bigger language.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In each case, we are able to demonstrate that the new models capture observational equivalences (or other forms of logical formulae) exhibiting the computational phenomena mentioned, which were not validated by the earlier models.  So, there is a very precise sense in which these models are &quot;explaining&quot; computational phenomena.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[All the work I mentioned here can be found in the &quot;Algol-like Languages&quot; volumes: &lt;a href=&quot;http://www.amazon.co.uk/Algol-like-Languages-Progress-Theoretical-Computer/dp/0817638806/ref=sr_1_2?ie=UTF8&amp;amp;qid=1330602649&amp;amp;sr=8-1&quot;&gt;link&lt;/a&gt; and &lt;a href=&quot;http://www.amazon.co.uk/Algol-like-Languages-Progress-Theoretical-Computer/dp/0817639373/ref=sr_1_1?ie=UTF8&amp;amp;qid=1330602649&amp;amp;sr=8-1&quot;&gt;link&lt;/a&gt;]&lt;/p&gt;&#xA;" OwnerUserId="8519" LastEditorUserId="8519" LastEditDate="2012-03-01T11:58:04.927" LastActivityDate="2012-03-01T11:58:04.927" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10453" PostTypeId="2" ParentId="2785" CreationDate="2012-02-28T21:13:48.597" Score="7" Body="&lt;p&gt;(Gosh, Neel, that was a tough question.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The &quot;folk model&quot; of linear logic is definitely the coherent spaces model, discussed in Girard's Linear Logic paper (and also in &quot;Proofs and Types&quot;).  This is not degenerate in the sense you describe.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Whether this semantics throws any light on how a linear functional language can be implemented, I am not sure.  When you are talking about allocation, reading and linear update, you are indeed talking about the implementation.  So, perhaps, your question might be formulated as, &quot;how do I prove correct the implementation of a linear functional language that uses state-update?&quot;  I don't know the answer to that, but I think it must exist in the papers that propose linear update implementations.&lt;/p&gt;&#xA;" OwnerUserId="8519" LastActivityDate="2012-02-28T21:13:48.597" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="10454" PostTypeId="2" ParentId="10449" CreationDate="2012-02-28T21:31:22.657" Score="17" Body="&lt;p&gt;You can't do it. Suppose you have $\sqrt{n}$ lists to sort, each $\sqrt{n}$ long, and consisting of integers between $1$ and $x_\mathrm{max}$. Create one list by adding $ix_\mathrm{max}$ to each member of the $i$&lt;sup&gt;th&lt;/sup&gt; list and then concatenating them. Now, if you could sort this one list in $O(n)$ time, you would have sorted all of the $\sqrt{n}$ lists. But each one of these lists was arbitrary, and so each list requires $\sqrt{n} \;\log_2 \sqrt{n}$ steps, and the total number of steps required is $\frac{1}{2} n\; \log_2 n$. &lt;/p&gt;&#xA;" OwnerUserId="1677" LastEditorUserId="1677" LastEditDate="2012-02-29T13:41:58.177" LastActivityDate="2012-02-29T13:41:58.177" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="10455" PostTypeId="1" CreationDate="2012-02-28T23:26:34.660" Score="10" ViewCount="5990" Body="&lt;p&gt;I am trying to use suffix trees to compare string sequences. I have found implementations/theory for the longest common sub string problem using suffix trees.&#xA;However, What i am looking for is a discussion of the related problem - &quot;all common substrings&quot;.&#xA;Specifically, I have a problem in which i need to first find the longest common substring, then find the next longest common substring that does not include the already found lcs indices, and so on until a minimum length. Is this problem solvable by constructing the Generalized suffix tree (GST) only once for the two sequences. I know it can be solved by repeatedly constructing a GST after every iteration of finding and removing the LCS. But, I am wondering if i am missing a neat trick where in the GST is constructed only once.&lt;/p&gt;&#xA;" OwnerUserId="8576" LastEditorUserId="-1" LastEditDate="2012-11-24T07:20:59.180" LastActivityDate="2012-11-24T07:20:59.180" Title="Can Suffix trees be used to find all common substrings?" Tags="&lt;ds.algorithms&gt;&lt;string-matching&gt;" AnswerCount="4" CommentCount="1" FavoriteCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="10457" PostTypeId="2" ParentId="3111" CreationDate="2012-02-29T00:45:52.233" Score="4" Body="&lt;p&gt;How about &lt;a href=&quot;http://www.springerlink.com/content/9256577622j64575/&quot; rel=&quot;nofollow&quot;&gt;Scott is not always sober&lt;/a&gt;?&lt;/p&gt;&#xA;" OwnerUserId="8578" LastActivityDate="2012-02-29T00:45:52.233" CommentCount="0" CommunityOwnedDate="2012-02-29T00:45:52.233" ContentLicense="CC BY-SA 3.0" />
  <row Id="10458" PostTypeId="2" ParentId="10455" CreationDate="2012-02-29T01:08:27.430" Score="3" Body="&lt;p&gt;Yes, suffix trees can be used to find all common substrings. I would say to use a suffix array instead, but if you already have a suffix tree, building a suffix array from a suffix tree takes linear time by DFS. So the rest of my answer will assume we are working with a suffix array.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a text $S = s_1 , ..., s_n$, a suffix array for $S$ is an array of integers of range $0$ to $n$ specifying the lexicographic ordering of the $n+1$ suffixes of the string $S$\$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We want to couple the suffix array with the $LCPs$, the longest common prefixes. We can construct the array of $LCPs$ in linear time as mentioned &lt;a href=&quot;http://www.springerlink.com/content/n56u1t2k65fhr7fe/&quot; rel=&quot;nofollow&quot;&gt;in the paper by Kasai et al&lt;/a&gt;. Suffix arrays and their lcp arrays line up together in a way that given an index into the lcp array say $lcp[k]$ where $k$ is the index number, then $sa[k]$ will be the start of one instance of the common substring and $sa[k-1]$ will be the start index of the second instance. The length is of course the value in the lcp array.&lt;/p&gt;&#xA;" OwnerUserId="6673" LastEditorUserId="6673" LastEditDate="2012-02-29T04:37:02.743" LastActivityDate="2012-02-29T04:37:02.743" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10460" PostTypeId="2" ParentId="10442" CreationDate="2012-02-29T01:55:45.167" Score="20" Body="&lt;p&gt;See Mike Domaratzki's paper, State complexity of proportional removals&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://dl.acm.org/citation.cfm?id=782471&quot;&gt;http://dl.acm.org/citation.cfm?id=782471&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.cs.umanitoba.ca/~mdomarat/pubs/sc_jalc.ps&quot;&gt;http://www.cs.umanitoba.ca/~mdomarat/pubs/sc_jalc.ps&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="3227" LastActivityDate="2012-02-29T01:55:45.167" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10461" PostTypeId="2" ParentId="3111" CreationDate="2012-02-29T02:10:21.923" Score="6" Body="&lt;p&gt;I came across the &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=571629&amp;amp;CFID=87351920&amp;amp;CFTOKEN=55770769&quot;&gt;&quot;Complexity Theory Newsflash&quot;&lt;/a&gt; at some point, and thought it was pretty funny.&lt;/p&gt;&#xA;" OwnerUserId="225" LastActivityDate="2012-02-29T02:10:21.923" CommentCount="1" CommunityOwnedDate="2012-02-29T02:10:21.923" ContentLicense="CC BY-SA 3.0" />
  <row Id="10462" PostTypeId="1" CreationDate="2012-02-29T02:34:11.537" Score="14" ViewCount="300" Body="&lt;p&gt;I'm wondering if anyone knows of a formalization (even limited) of any part of finite model theory in any of the major proof assistants. (I'm most familiar with Coq, but Isabelle, Agda, etc. would acceptable.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Especially of interest would be any of the results in &lt;a href=&quot;http://en.wikipedia.org/wiki/Descriptive_complexity_theory&quot;&gt;descriptive complexity&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="629" LastEditorUserId="-1" LastEditDate="2012-11-24T07:20:41.207" LastActivityDate="2012-11-24T07:20:41.207" Title="Proof assistant formalizations of Finite Model Theory" Tags="&lt;lo.logic&gt;&lt;descriptive-complexity&gt;&lt;finite-model-theory&gt;&lt;proof-assistants&gt;" AnswerCount="0" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10463" PostTypeId="2" ParentId="10387" CreationDate="2012-02-29T03:08:08.613" Score="7" Body="&lt;p&gt;My favorite is Rabin's linear time algorithm for computing the closest pair of points in the plane (or more precisely its simplification). It get across the importance of the computation model, the power of randomized algorithms, and some elegant way to think about randomized algorithms.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This said, CS is still far from achieving the level of elegance one encounters in mathematics (well, they had 5000 years head start), from basic definitions/results in calculus, topology (fixed point theorems), combinatorics, geometry (Pythagorean theorem &lt;a href=&quot;http://en.wikipedia.org/wiki/File:Pythag_anim.gif&quot;&gt;http://en.wikipedia.org/wiki/File:Pythag_anim.gif&lt;/a&gt;), etc. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you look for beauty, look for it everywhere...&lt;/p&gt;&#xA;" OwnerUserId="9594" LastActivityDate="2012-02-29T03:08:08.613" CommentCount="0" CommunityOwnedDate="2012-02-29T03:08:08.613" ContentLicense="CC BY-SA 3.0" />
  <row Id="10464" PostTypeId="2" ParentId="10387" CreationDate="2012-02-29T11:00:46.710" Score="10" Body="&lt;p&gt;I think &lt;a href=&quot;http://en.wikipedia.org/wiki/Robertson%E2%80%93Seymour_theorem&quot; rel=&quot;nofollow&quot;&gt;graph minor theorem&lt;/a&gt; by Robertson and Seymour was most wonderful theories I ever seen (and partially read it). First of all it's quiet complicated, but base conjectures are not hard and may be everyone working in TCS can guess them. Their extreme effort to prove them was wonderful. In fact after I read some of the papers in that series I understand power of human mind.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also graph minor theorem has a great impact on different fields of TCS. Like graph theory, approximation algorithm, parametrized algorithms, logic, ...&lt;/p&gt;&#xA;" OwnerUserId="1846" LastEditorUserId="1846" LastEditDate="2014-05-13T21:14:40.753" LastActivityDate="2014-05-13T21:14:40.753" CommentCount="0" CommunityOwnedDate="2012-02-29T11:00:46.710" ContentLicense="CC BY-SA 3.0" />
  <row Id="10465" PostTypeId="1" CreationDate="2012-02-29T11:26:27.130" Score="4" ViewCount="319" Body="&lt;p&gt;A random permitting-context grammar is a context-free grammar $(N, \Sigma, P, S)$ equipped with a function $p : P \rightarrow 2^N$. The rule $A \rightarrow x$ can be applied to $uAw \Rightarrow uxw$ if every symbol in $p(A\rightarrow x)$ appears in $uw$. A forbidding-context grammar is similar, except  equipped with a function $f : P \rightarrow 2^N$, and a rule application is allowed if &lt;em&gt;no&lt;/em&gt; symbol from $f(A\rightarrow x)$ appears in $uw$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\{a^n b^m : 1 \le m \le 2^n\}$ is a random permitting-context language (RPCL), though $\{a^n b^m : m = 2^n\}$ is not (as can be proved by Ewert and Van der Walt's pumping lemma for RPCLs). In a permitting grammar we can &lt;em&gt;allow&lt;/em&gt; the  nonterminals of some type to double, but we can't &lt;em&gt;force&lt;/em&gt; it.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;It seems obvious to me that one can't get &lt;em&gt;more&lt;/em&gt; than exponential&#xA;  growth, but I can't see how to prove it (the pumping lemma certainly&#xA;  doesn't help, since it will just increase the number of $a$'s). Is&#xA;  there a known result that helps here?&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;I'm also interested in superexponential growth in forbidding languages&#xA;  (e.g. is $\{a^{2^{2^n}} : n \in \mathbb{N}\}$ an RFCL).&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="2241" LastEditorUserId="2241" LastEditDate="2013-01-14T14:23:42.873" LastActivityDate="2013-01-14T14:23:42.873" Title="Is $\{a^n b^m : 1 \le m \le 2^{2^n}\}$ a permitting-context language?" Tags="&lt;fl.formal-languages&gt;" AnswerCount="0" CommentCount="5" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10467" PostTypeId="1" AcceptedAnswerId="10503" CreationDate="2012-02-29T15:38:21.797" Score="7" ViewCount="514" Body="&lt;p&gt;I've come across the following lemma (without proof):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The first part of the lemma states that for any $x$, there's a 3CNF exponential Boolean formula $f(x)$ that is satisfiable if and only if $x \in L \in \mathsf{NEXP}$ (the same as in the  Cook-Levin theorem for NP), while the second part states that there's a polynomial algorithm which given $x$ outputs a circuit $C_x$ such that when evaluated on input $i$ the circuit $C_x$ outputs the $i$-th clause of $f(x)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am not sure how one can output that circuit, since the formula depends on th $x$, and we need kind of &quot;bookmark&quot; to the $i$-th clause.&lt;/p&gt;&#xA;" OwnerUserId="7266" LastEditorUserId="-1" LastEditDate="2012-11-24T07:20:35.920" LastActivityDate="2012-11-24T07:20:35.920" Title="NEXP Cook-Levin" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;&lt;nexp&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10468" PostTypeId="2" ParentId="10387" CreationDate="2012-02-29T17:04:15.500" Score="16" Body="&lt;p&gt;Yao's technique to use von Neumann's Minmax Theorem to prove lower bounds for Randomized Algorithms. I find it as something out of this world.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Probabilistic method to prove the existence of objects that we find it difficult to construct including the Lovasz Local Lemma. These techniques are so simple, yet so powerful.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Madhu Sudan's coding theory constructions using polynomials.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Expanders (this started off as Ramanujan graphs) and Extractors and their applications in Pseudorandomness.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Cooley and Tukey's Fast Fourier Transform algorithm to find DFT. (Though, as assumed by Tukey, this was a rediscovery of a well known technique, at least known to Gauss!)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Barrington's Theorem, (a very surprising result in its time)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Parallel  Repetition Theorem (though the result is nice, the proof is not easy)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Lovasz Theta function to estimate the shannon capacity of a graph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Ellipsoid algorithm that showed that LP is in P, surprising many at a time when many still suspected it could be NP-Complete.&lt;/p&gt;&#xA;" OwnerUserId="8230" LastEditorUserId="8230" LastEditDate="2012-03-19T09:38:02.720" LastActivityDate="2012-03-19T09:38:02.720" CommentCount="1" CommunityOwnedDate="2012-02-29T17:04:15.500" ContentLicense="CC BY-SA 3.0" />
  <row Id="10469" PostTypeId="1" CreationDate="2012-03-01T00:50:52.750" Score="2" ViewCount="170" Body="&lt;p&gt;Has anything been done on the modification of the zero knowledge condition&#xA;&lt;br&gt;&#xA;where the distinguisher has access to the witness used by the prover and&#xA;&lt;br&gt;&#xA;the random bits used by the algorithm that generated the auxiliary input?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Or is that, in fact, how the zero knowledge condition is usually defined?)&#xA;&lt;br&gt;&lt;br&gt;&lt;br&gt;&#xA;This seems like it would be important for using ZK protocols as pieces of larger protocols, &#xA;&lt;br&gt;&#xA;since whether or not an adversary succeeds could depend on that information.&#xA;&lt;br&gt;&lt;br&gt;&lt;/p&gt;&#xA;" OwnerDisplayName="user6973" LastActivityDate="2012-03-22T10:49:12.183" Title="&quot;forward-secure&quot; zero knowledge protocols" Tags="&lt;cr.crypto-security&gt;&lt;zero-knowledge&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="10471" PostTypeId="2" ParentId="3111" CreationDate="2012-03-01T02:38:45.173" Score="3" Body="&lt;p&gt;The &lt;a href=&quot;http://www.scottaaronson.com/blog/?p=398&quot; rel=&quot;nofollow&quot;&gt;winner&lt;/a&gt; of the 2007 Aaronson/Gasarch Complexity Theme Song Contest is amazing!&#xA;Download the &lt;a href=&quot;http://www.scottaaronson.com/jdtheory.mp3&quot; rel=&quot;nofollow&quot;&gt;mp3&lt;/a&gt; and its &lt;a href=&quot;http://www.scottaaronson.com/jdtheory.pdf&quot; rel=&quot;nofollow&quot;&gt;lyrics&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="168" LastActivityDate="2012-03-01T02:38:45.173" CommentCount="0" CommunityOwnedDate="2012-03-01T02:38:45.173" ContentLicense="CC BY-SA 3.0" />
  <row Id="10472" PostTypeId="2" ParentId="3111" CreationDate="2012-03-01T07:16:47.543" Score="6" Body="&lt;p&gt;&lt;a href=&quot;https://www.destroyallsoftware.com/misc/reject.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;How much damage could be caused by a peer reviewer having a bad day?&lt;/a&gt;&#xA;Hilarious fictional reviews of famous old CS papers.&lt;/p&gt;&#xA;" OwnerUserId="168" LastEditorUserId="58091" LastEditDate="2020-05-25T09:34:40.927" LastActivityDate="2020-05-25T09:34:40.927" CommentCount="1" CommunityOwnedDate="2012-03-01T07:16:47.543" ContentLicense="CC BY-SA 4.0" />
  <row Id="10474" PostTypeId="2" ParentId="3577" CreationDate="2012-03-01T09:06:42.980" Score="12" Body="&lt;p&gt;[One more answer.  It is probably uncool to pile up several answers.  But, hey, this is a deep issue.]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I said that I agreed with Andrej's answer, but it seems that I don't agree entirely.  There is a difference.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I said that a denotational semantics has to say &quot;the meaning of this notation is that&quot;.  What I meant is that notations must be assigned meanings, which are some form of &lt;em&gt;conceptual&lt;/em&gt; entities, not some other notations.  In contrast, Andrej also required, paraphrasing Scott, that the meanings must be &quot;mathematical&quot; objects.  I don't believe that the mathematical bit is necessary.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, it would be perfectly fine, from my point of view, for meanings of notations to be physical processes.  After all computer programs put on brakes in your car, fly airplanes, drop bombs, and what not.  These are physical processes, not elements in some mathematical space.  You can't drop a bomb, see if it kills somebody, and take it back if it doesn't.  Computer programs can't do that.  But mathematical functions can.  (They are called &quot;snapback&quot; operations.)  So, it is not at all clear that mathematical functions will make good meanings for computer programs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, we really don't know yet how to talk about physical processes abstractly.  So, we might indeed use some mathematical description of processes in order to articulate our ideas.  But these mathematical descriptions would be just that, &quot;descriptions&quot;.  They are not meanings.  The real meanings would be just the physical processes that we imagine conceptually.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In his acceptance speech for the SIGPLAN award (which should be on youtube sometime soon), Hoare said that ACP used an &quot;algebraic approach&quot;, CSP used a &quot;denotational approach&quot; and CCS used an &quot;operational approach&quot; to describe processes.  Ohad and I were sitting together in the session, we looked at each other and said &quot;that is really interesting&quot;.  So, there is a lot of conceptual space here that is being explored.  I think that a lot of Scott's later work, on neighbourhood systems and information systems etc., was indeed an effort to explain functions as &quot;processes&quot; of some form.  Girard's geometry of interaction and the later games semantics are also efforts to explain functions as processes.  I would say that developing a solid theory of processes could be the big contribution that Computer Science could make to the 21st century mathematics.  I wouldn't accept a belief that mathematics has all the answers and we should attempt to reduce computational phenomena to mathematical concepts in order to understand them.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What amazes me is how beautifully information hiding works in stateful computations (imperative programming as well as process calculi), whereas it is clumsy and complicated in mathematical/functional formalisms.  Yes, we have relational parametricity, and it allows us to get around the limitations of mathematical formalisms very nicely.  But it does not match the simplicity and elegance of imperative programming.  So, I don't believe that the mathematical formalisms are the right answer, though I would admit that they are the best answer we have at the moment.  But we should keep looking.  There is a nice theory of processes out there which will beat traditional mathematics hands down.&lt;/p&gt;&#xA;" OwnerUserId="8519" LastEditorUserId="8519" LastEditDate="2012-03-01T19:47:17.153" LastActivityDate="2012-03-01T19:47:17.153" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10475" PostTypeId="2" ParentId="3111" CreationDate="2012-03-01T11:16:02.830" Score="4" Body="&lt;p&gt;&quot;Busy beavers gone wild&quot; by Grégory Lafitte, EPTCS 1, 2009, pp. 123-129&#xA;&lt;a href=&quot;http://arxiv.org/abs/0906.3257v1&quot; rel=&quot;nofollow&quot;&gt;arXiv:0906.3257v1&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="138" LastActivityDate="2012-03-01T11:16:02.830" CommentCount="0" CommunityOwnedDate="2012-03-01T11:16:02.830" ContentLicense="CC BY-SA 3.0" />
  <row Id="10477" PostTypeId="1" AcceptedAnswerId="10528" CreationDate="2012-03-01T14:02:05.287" Score="16" ViewCount="1189" Body="&lt;p&gt;I'm interested in this problem: Given an undirected graph $G(E, V)$, Is there a partition of $G$ into graphs $G_1(E_1, V_1)$ and $G_2(E_2, V_2)$ such that $G_1$ and $G_2$ are isomorphic? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here $E$ is partitioned into two disjoint sets $E_1$ and $E_2$. Sets $V_1$ and $V_2$ are not necessarily disjoint. $E1∪E2=E$ and $V1∪V2=V$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This problem is at least as hard as Graph Isomorphism Problem. I guess it is harder than Graph Isomorphism but not NP-hard.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is this partition problem $NP$-hard?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;EDIT 3-3-2012: Posted on &lt;a href=&quot;https://mathoverflow.net/questions/90123/np-hardness-of-a-graph-partition-problem&quot;&gt;MathOverflow&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT 3-5-2012: It turns out that the reference in Diego's answer is one of the unpublished results. After some digging, I found a reference to it in The NP-Completeness Column: An Ongoing Guide by David JOHNSON (page 8). I found other papers  that cite the NP-completeness result of Graham and Robinson as unpublished.   &lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2012-03-05T18:34:52.450" Title="NP-hardness of a graph partition problem?" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;&lt;graph-isomorphism&gt;" AnswerCount="1" CommentCount="6" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="10479" PostTypeId="1" CreationDate="2012-03-01T16:29:11.313" Score="9" ViewCount="489" Body="&lt;p&gt;I would like to know if there is any known relation between diameter and density in (connected) simple digraphs. Asymptotic results for n→∞, statistical, conditioned results that would restrict the graph class to a subset of all digraphs are also welcome...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, let's say I have a digraph $G$ constructed by the following algorithm :&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;produce $n$ vertices : $V_{G} = \{v_{i}, 0 &amp;lt; i &amp;lt; n\}$&lt;/li&gt;&#xA;&lt;li&gt;for each vertex $v_{i}$, create the edge $i \rightarrow j$ with probability $p$&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Let $G_{2}$ be the biggest strongly subgraph of $G$. Can we deduce a statistical relationship between the diameter $D(G_{2})$ and $p$ ? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT : &lt;em&gt;No answer seems to come, so any possible answer related to graphs that are defined through a different process (different random process, fixed arity, characterized subset of digraphs...) is also plainly welcome !&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The goal is to use that relation in a complexity analysis, where the estimated complexity in time of an algorithm $A$ on a strongly connected digraph $G$ is $C(A,G) = D(G) * |V_{G}| * |E_{G}|$, where $D(G)$ is the diameter of $G$. I'd like to reduce the expression of mean complexity to an expression of $|V_{G}|$ and $|E_{G}|$ only.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks by advance,&#xA;Alex&lt;/p&gt;&#xA;&#xA;&lt;p&gt;PS : I ported this question from math.stackexchange.com, since I didn't get any answer there for a week.&lt;/p&gt;&#xA;" OwnerUserId="8590" LastEditorUserId="8590" LastEditDate="2012-03-09T09:23:04.817" LastActivityDate="2012-03-09T09:23:04.817" Title="Statistical relationship between diameter and density in strongly connected random digraphs" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;randomness&gt;&lt;random-graphs&gt;" AnswerCount="0" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10480" PostTypeId="1" AcceptedAnswerId="10487" CreationDate="2012-03-01T18:22:48.050" Score="-1" ViewCount="4632" Body="&lt;p&gt;I'm taking a theoretical computer science class and we just went over the steps to rewrite a context-free grammar in Chomsky Normal Form. The steps we were told to complete are:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Add a new start state pointing to the old start state&lt;/li&gt;&#xA;&lt;li&gt;Eliminate Epsilon Rules&lt;/li&gt;&#xA;&lt;li&gt;Eliminate Unit Rules&lt;/li&gt;&#xA;&lt;li&gt;Change Long Rules into Short Ones&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;I think I understand how to do each rule, but I'm not seeing the reason for step 1 as the examples we did in class all led to the new starting state being equal to the old starting state because of step 3 when the unit rules were eliminated.  Perhaps I'm misunderstanding something so I'll give the example that was given in class.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So for example we were told to convert the following:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$S \rightarrow AbA\;|\;B$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$B \rightarrow a\;|\;b$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$A \rightarrow \epsilon\;|\;a$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Step 1 adds the following production rule:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$S_0 \rightarrow S$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Step 2 makes the production rules become:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$S_0 \rightarrow S$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$S \rightarrow AbA\;|\;Ab\;|\;bA\;|\;b\;|\;B$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$B \rightarrow a\;|\;b$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$A \rightarrow a$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Step 3 makes the rules the following&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$S_0 \rightarrow AbA\;|\;Ab\;|\;bA\;|\;b\;|\;a$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$S \rightarrow AbA\;|\;Ab\;|\;bA\;|\;b\;|\;a$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$B \rightarrow a\;|\;b$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$A \rightarrow a$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Step 4 makes the rules the following:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$S_0 \rightarrow A U_1\;|\;U_2 A\;|\;A U_2\;|\;b\;|\;a$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$S \rightarrow A U_1\;|\;U_2 A\;|\;A U_2\;|\;b\;|\;a$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$B \rightarrow a\;|\;b$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$A \rightarrow a$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$U_1 \rightarrow U_2 A$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$U_2 \rightarrow b$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$S_0$ just ends up being the same production rule as $S$ so why did we need it in the first place? Is there a case where $S_0$ won't produce the same output as $S$?  Also since no state ever goes to S when it starts from the initial state $S_0$ is it okay to get rid of $S$?&lt;/p&gt;&#xA;" OwnerUserId="8311" LastActivityDate="2012-03-02T00:57:55.957" Title="When converting a Context-Free Grammar to Chomsky Normal Form why is a new start state added?" Tags="&lt;fl.formal-languages&gt;&lt;grammars&gt;&lt;context-free&gt;" AnswerCount="1" CommentCount="2" ClosedDate="2012-03-04T22:40:49.710" ContentLicense="CC BY-SA 3.0" />
  <row Id="10481" PostTypeId="1" AcceptedAnswerId="10833" CreationDate="2012-03-01T18:22:49.067" Score="6" ViewCount="479" Body="&lt;p&gt;Grover's algorithm is a quantum algorithm that is able to locate a special record in an $N$ element unsorted database in $\Theta(\sqrt{N})$ time. What quantum algorithms are known to determine whether two sets of size $\sqrt{N}$ intersect (so there are $N$ ordered pairs with one element from each set)? Do they beat the $\Theta(\sqrt{N})$ time of Grover's algorithm?&lt;/p&gt;&#xA;" OwnerUserId="3091" LastActivityDate="2012-03-24T14:20:08.783" Title="Quantum algorithms for determining whether two sets intersect" Tags="&lt;quantum-computing&gt;" AnswerCount="1" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="10482" PostTypeId="1" AcceptedAnswerId="10488" CreationDate="2012-03-01T19:51:57.600" Score="9" ViewCount="2758" Body="&lt;p&gt;By &quot;good&quot;, I mean either the algorithm provides a relatively tight bound or it has a relatively fast running time. Any reference is welcome.&lt;/p&gt;&#xA;" OwnerUserId="8564" LastEditorUserId="495" LastEditDate="2014-01-29T10:21:05.867" LastActivityDate="2020-06-16T18:18:42.157" Title="What are good approximation algorithms for the subset sum problem so far?" Tags="&lt;ds.algorithms&gt;&lt;np-hardness&gt;&lt;approximation-algorithms&gt;&lt;approximation-hardness&gt;&lt;subset-sum&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="10483" PostTypeId="2" ParentId="5188" CreationDate="2012-03-01T20:08:49.177" Score="5" Body="&lt;p&gt;Michael Sipser explains the P vs NP problem in a highly intuitive way in &lt;a href=&quot;http://www.youtube.com/watch?v=msp2y_Y5MLE&quot; rel=&quot;noreferrer&quot;&gt;this video&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="7567" LastActivityDate="2012-03-01T20:08:49.177" CommentCount="0" CommunityOwnedDate="2012-03-01T20:08:49.177" ContentLicense="CC BY-SA 3.0" />
  <row Id="10484" PostTypeId="1" AcceptedAnswerId="10502" CreationDate="2012-03-01T20:37:36.203" Score="11" ViewCount="834" Body="&lt;p&gt;The 3-Clique Partition problem is the problem of determining whether the vertices of a graph, say $G$, can be partitioned into 3 cliques. This problem is NP-hard by a simple reduction from the 3-colorability problem. It is not hard to see that the answer to this problem is easy when $\textrm{diam}(G) = 1$ or $\textrm{diam}(G) &amp;gt; 5$. The problem remains NP-hard when $\textrm{diam}(G) = 2$ by a simple reduction from itself (given a graph $G$, add a vertex and connect it to all other vertices).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;What is the complexity of this problem for graphs with $\textrm{diam}(G) = p$ for $3\le p \le 5$?&lt;/strong&gt;&lt;/p&gt;&#xA;" OwnerUserId="3495" LastEditorUserId="-1" LastEditDate="2012-11-17T07:35:29.497" LastActivityDate="2012-11-17T07:35:29.497" Title="3-Clique Partition for graphs of fixed diameter" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;&lt;np-hardness&gt;&lt;clique&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10485" PostTypeId="1" AcceptedAnswerId="10490" CreationDate="2012-03-01T20:49:07.533" Score="31" ViewCount="881" Body="&lt;p&gt;ST-Connectivity is the problem of determining whether there exists a directed path between two distinguished vertices $s$ and $t$ in a directed graph $G(V,E)$. Whether this problem can be solved in logspace, is a long-standing open problem. This is called the $NL$ vs $L$ problem.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What is the complexity of ST-Connectivity, when the underlying undirected graph of $G$ has bounded treewidth.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Is it known to be NL-hard ? Is there a $o({\log}^2n)$ upper bound known ?&lt;/p&gt;&#xA;" OwnerUserId="344" LastEditorUserId="-1" LastEditDate="2012-11-17T07:35:40.603" LastActivityDate="2012-11-17T07:35:40.603" Title="Treewidth and the NL vs L Problem" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;&lt;space-bounded&gt;&lt;treewidth&gt;&lt;logspace&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="10486" PostTypeId="1" AcceptedAnswerId="10504" CreationDate="2012-03-01T21:56:04.833" Score="22" ViewCount="1790" Body="&lt;p&gt;When tinkering with noncanonical LR parsing, I thought up a parsing method (with infinitely sized tables, which makes it somewhat &lt;em&gt;unpractical&lt;/em&gt;) capable of parsing exactly the unambiguous grammars in $O(n^2)$ time, and I wondered if it is possible to do better:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Can all unambiguous grammars be parsed in linear time?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I'm quite sure I read somewhere that this is the case, but it doesn't come up when searching the internet. The same question was asked &lt;a href=&quot;http://compilers.iecc.com/comparch/article/91-04-021&quot;&gt;here&lt;/a&gt;, but no answer was given as far as I know.&lt;/p&gt;&#xA;" OwnerUserId="988" LastEditorUserId="2367" LastEditDate="2012-03-05T18:44:09.443" LastActivityDate="2012-03-05T18:44:09.443" Title="Can all unambiguous grammars be parsed in linear time?" Tags="&lt;reference-request&gt;&lt;fl.formal-languages&gt;&lt;time-complexity&gt;&lt;parsing&gt;&lt;context-free&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="10487" PostTypeId="2" ParentId="10480" CreationDate="2012-03-01T22:20:28.170" Score="0" Body="&lt;p&gt;If $G$ is a grammar with start symbol $S$, then $G&amp;#39;$, the augmented grammar for $G$, is $G$ with a new start symbol $S&amp;#39;$ and production $S&amp;#39; \rightarrow S$. The purpose of this new starting production is to indicate to the parser when it should stop parsing and announce acceptance of the input. That is, acceptance occurs when and only when the parser is about to reduce by $S&amp;#39; \rightarrow S$.&lt;/p&gt;&#xA;" OwnerUserId="6673" LastEditorUserId="6673" LastEditDate="2012-03-02T00:57:55.957" LastActivityDate="2012-03-02T00:57:55.957" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10488" PostTypeId="2" ParentId="10482" CreationDate="2012-03-01T22:59:45.390" Score="14" Body="&lt;p&gt;&lt;a href=&quot;http://www.springerlink.com/content/p0p1x17217217r29/&quot;&gt;Kellerer et al. (1997)&lt;/a&gt; gives with accuracy $\epsilon$ a $O(\min \{ n/ \epsilon, n + 1/ \epsilon^2 \log(1/ \epsilon) \})$ time and $O(n + 1/ \epsilon)$ space approximation scheme.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Further improving on this, &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0022000003000060&quot;&gt;Kellerer et al. (2003)&lt;/a&gt; gives a FPTAS with $O(\min \{n \cdot 1/ \epsilon , n + 1/ \epsilon^2 \log( 1/ \epsilon) \} )$ time and $O(n+1/ \epsilon)$ space. In addition, answering your question on &quot;relatively fast running time&quot;, they noted that (based on computational results) that the scheme efficiently solves instances with up to $5000$ items with a guaranteed relative error smaller than $1/1000$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am unsure if there are any newer results. As noted, because subset sum is a special case of the knapsack problem, one will probably find even more results when searching for that.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;UPDATE: You might also want to take a look at &lt;a href=&quot;http://www.designofapproxalgs.com/download.php&quot;&gt;The Design of Approximation Algorithms, Williamson and Shmoys, 2011&lt;/a&gt;, see the chapter starting at page 65 about the Knapsack problem. They give a FPTAS (on page 68) for the Knapsack problem that runs in $O(n^3/\epsilon)$ time. It might be that the algorithms specifically designed for the Subset sum problem are faster than the more general ones for the Knapsack.&lt;/p&gt;&#xA;" OwnerUserId="5693" LastEditorUserId="5693" LastEditDate="2012-03-03T00:37:43.000" LastActivityDate="2012-03-03T00:37:43.000" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="10490" PostTypeId="2" ParentId="10485" CreationDate="2012-03-02T00:44:33.977" Score="25" Body="&lt;p&gt;It appears the problem is in L by [EJT10] and thus L-complete under $\text{NC}^1$ reducibility by [CM87]. See page 2 of [EJT10]:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Applying Theorem I.3 to the formula $\phi(X)$ expressing that $X$ is a&#xA;  simple path from $s$ to $t$ shows that the problem $\{(G,s,t) \text{ }&#xA;  | \text{ tw$(G) \leq k$, there is a path from $s$ to $t$ in $G$}\}$&#xA;  lies in L&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Actually this result applies to all problems on bounded treewidth graphs which can be formulated in monadic second-order logic in L.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[EJT10] Michael Elberfeld, Andreas Jakoby, and Till Tantau. Logspace versions of the theorems of Bodlaender and Courcelle. In Proceedings of the 51st Annual Symposium on Foundations of Computer Science (FOCS), pages 143–152, 2010.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[CM87] Stephen A. Cook, Pierre McKenzie: Problems Complete for Deterministic Logarithmic Space. J. Algorithms 8(3): 385-394 (1987)&lt;/p&gt;&#xA;" OwnerUserId="508" LastEditorUserId="508" LastEditDate="2012-03-02T22:07:33.743" LastActivityDate="2012-03-02T22:07:33.743" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10491" PostTypeId="2" ParentId="5672" CreationDate="2012-03-02T00:54:48.907" Score="4" Body="&lt;p&gt;Full classification is also known for another simple case 3x3, this is first addressed in the paper &lt;a href=&quot;http://arxiv.org/abs/quant-ph/9808030&quot; rel=&quot;nofollow&quot;&gt;http://arxiv.org/abs/quant-ph/9808030&lt;/a&gt; .&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The result is also related to the construction of arbitrary 3x3 PPT entangled states of rank four. See the paper&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://arxiv.org/abs/1105.3142&quot; rel=&quot;nofollow&quot;&gt;http://arxiv.org/abs/1105.3142&lt;/a&gt; .&lt;/p&gt;&#xA;" OwnerUserId="8593" LastActivityDate="2012-03-02T00:54:48.907" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10492" PostTypeId="2" ParentId="6887" CreationDate="2012-03-02T04:37:14.837" Score="3" Body="&lt;p&gt;If I rmemeber correctly, you have to approximate the number of clients connected to each gate. Otherwise, you would immediately get something like $O(n^{O(g)})$, where $g$ is the number of gates in a subproblem. By approximating this number up to a facotr of $(1+\varepsilon/\log n)$ throughout the dynamic programming one can get a $(1+\varepsilon)$ error in the end. That would yield running times similar to what you stated above. &lt;/p&gt;&#xA;" OwnerUserId="9594" LastActivityDate="2012-03-02T04:37:14.837" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="10493" PostTypeId="2" ParentId="10455" CreationDate="2012-03-02T06:03:15.847" Score="3" Body="&lt;p&gt;I have an idea that might work. We start with a generalized suffix tree for sequences $S$ and $T$. Each internal node with suffixes of both $S$ and $T$ in its subtree corresponds to some common substring of the sequences. Let us call such nodes non-trivial. The common substring is maximal, if the corresponding node has no non-trivial children. If node $v$ is non-trivial, we store the largest string-depth of a non-trivial node in its subtree as $lcs(v)$. If $r$ is the root, then $lcs(r)$ is the length of the longest common substring of $S$ and $T$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Updating the tree after deleting a substring from one of the sequences should not be too hard. We first delete the leaves corresponding to the deleted suffixes, updating their ancestors when required. Then we start processing the suffixes preceding the deleted substring. Let $v$ be the lowest non-trivial ancestor of the current leaf. If the length of the suffix is $k$ (we are $k$ steps from the deletion) and $k &amp;lt; lcs(v)$, we have to move the suffix to its proper position in the tree, updating the ancestors when required. If $k \ge lcs(v)$, we are done, as we are not interested in subtrees with trivial roots.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The overall algorithm repeatedly finds the longest common substring of $S$ and $T$ and deletes one of its occurrences from both sequences, as long as the length of the LCS is large enough.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are some technicalities, but the general idea should work.&lt;/p&gt;&#xA;" OwnerUserId="56" LastActivityDate="2012-03-02T06:03:15.847" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10494" PostTypeId="1" AcceptedAnswerId="10497" CreationDate="2012-03-02T09:07:09.427" Score="20" ViewCount="2509" Body="&lt;p&gt;Disclaimer: I am not a CS theorist.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Coming from abstract algebra, I'm used to dealing with things that are equal up to a isomorphism - but I'm having a trouble translating this concept to data structures. I first thought that straight up set theoretical bijective morphisms would suffice, but I ran into a wall quite rapidly - those are just encodings and do not capture the computational essence of the data structure.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a more restrictive (but more useful) definition? (Or if not, why?) Is there a canonical definition of category of &quot;constructed data structures&quot;?&lt;/p&gt;&#xA;" OwnerUserId="8599" LastActivityDate="2012-03-07T08:21:35.603" Title="Data Structure isomorphisms" Tags="&lt;ds.data-structures&gt;&lt;algebra&gt;&lt;ct.category-theory&gt;" AnswerCount="4" CommentCount="0" FavoriteCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="10495" PostTypeId="1" CreationDate="2012-03-02T09:15:02.303" Score="9" ViewCount="947" Body="&lt;p&gt;I have a question, whose answer is probably well known, but I can't seem to find anything meaningful after a bit of searching, so I would appreciate some help.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is whether it is known that deciding whether a number is transcendental is undecidable. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Possibly, one assumes as input, say a program that returns the i^th bit of the number.&#xA;Thanks in advance for any pointers.&lt;/p&gt;&#xA;" OwnerUserId="448" LastEditorUserId="2970" LastEditDate="2012-03-02T14:57:51.727" LastActivityDate="2012-03-03T06:49:08.863" Title="Decidability of transcendental numbers" Tags="&lt;computability&gt;&lt;computable-analysis&gt;" AnswerCount="3" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10496" PostTypeId="2" ParentId="10495" CreationDate="2012-03-02T09:40:02.447" Score="5" Body="&lt;p&gt;Given a Turing machine $M$, define a Turing machine $M&amp;#39;$ representing a number as follows: On input $i$ run $M$ for $i$ steps on the empty input. If $M$ halted, output $0$. Otherwise output the $i$th bit of $\pi$.&lt;/p&gt;&#xA;" OwnerUserId="313" LastActivityDate="2012-03-02T09:40:02.447" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10497" PostTypeId="2" ParentId="10494" CreationDate="2012-03-02T11:16:43.507" Score="16" Body="&lt;p&gt;There is not a canonical such category, for the same reason there is no canonical category of computations. However, there are large and useful algebraic structures on data structures. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;One of the more general such structures, which is still nevertheless useful, is the theory of combinatorial species. A species is a functor $F : B \to B$, where $B$ is the category of finite sets and bijections between them. You can think of  species as being families of structures indexed by abstract sets of locations. This explains the functoriality over $B$ -- such families have to be invariant with respect to renaming the abstract labels. Then, the calculus of species basically replays generating function methods at the functorial level, to generate sets of data structures instead of counts. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;To see this theory implemented in a programming language, you can read Brent Yorgey's Haskell Symposium paper, &lt;strong&gt;&lt;a href=&quot;http://dl.acm.org/citation.cfm?doid=1863523.1863542&quot;&gt;Species and functors and types, oh my!&lt;/a&gt;&lt;/strong&gt;. I think Sage also has a species package, though of course it's oriented towards computer algebra rather than programming.&lt;/p&gt;&#xA;" OwnerUserId="657" LastActivityDate="2012-03-02T11:16:43.507" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10498" PostTypeId="1" CreationDate="2012-03-02T11:26:04.573" Score="2" ViewCount="134" Body="&lt;p&gt;Consider the arithmetic expressions obtained by allowing the constants 0 and 1, boolean variables, and allowing the operations $\min\{s,t\},\max\{s,t\}$, and $1-t$ where $s,t$ are expressions.&#xA;Clearly we can only get the values 0 and 1 by evaluating these expressions (with an assignment to the variables).&#xA;We wish to add a quantitative element to these expressions, by means of a weighted average. We consider the following operators:&#xA;$\oplus_\lambda$, which is defined by $s\oplus_\lambda t=\lambda s+ (1-\lambda)t$, for any $\lambda\in [0,1]$.&#xA;$\otimes_\lambda$, which is defined by $s\otimes_\lambda t=\lambda \max\{s,t\}+(1-\lambda)\min\{s,t\}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Intuitively, the difference is whether we attempt to interpolate between $\min$ and $\max$, or to add an addition element.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The question is: is the arithmetic with $\oplus$ strictly more expressive than $\otimes$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Obviously, $\otimes$ can be captured by $\oplus$, since:&#xA;$$s\otimes_\lambda t=\max\{s,t\}\oplus_\lambda \min\{s,t\}$$&#xA;For the other direction, we have a partial result:&#xA;$$(s\otimes_\lambda 0)\otimes_\frac12 (t\otimes_{1-\lambda}0)=\frac12(s\oplus_\lambda t)$$&#xA;But I can't seem to be able to get rid of that $\frac12$ (recall that $\lambda\in [0,1]$), or to prove that there is an expressiveness difference.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks!&lt;/p&gt;&#xA;" OwnerUserId="7531" LastActivityDate="2012-03-02T11:26:04.573" Title="Expressive power of (versions of) weighted average" Tags="&lt;lo.logic&gt;&lt;arithmetic-circuits&gt;" AnswerCount="0" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="10499" PostTypeId="2" ParentId="10495" CreationDate="2012-03-02T11:31:42.130" Score="8" Body="&lt;p&gt;Kristoffer's solution can be used to show that, assuming reals are represented so that we can compute limits of sequences of reals which are computably Cauchy. Recall that a sequence $(a_n)_n$ is computably Cauchy if there is a computable map $f$ such that, given any $k$ we have $|a_{m} - a_{n}| &amp;lt; 2^{-k}$ for all $m, n \geq f(k)$. The standard representations of reals are like that, for example the one where a real is represented by a machine that computes an arbitrarily good rational approximation. (We can also speak in terms of computing digits, but then we have to allow negative digits. This is a well known issue in computability theory of the reals.)&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Theorem:&lt;/strong&gt; Suppose $S \subseteq \mathbb{R}$ is a subset such that there exists a &lt;em&gt;computable&lt;/em&gt; sequence $(a_n)_n$ which is computably Cauchy and its limit $x = \lim_n a_n$ is outside $S$. Then question &quot;is a real number $x$ an element of $S$&quot; is undecidable.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Proof.&lt;/em&gt; &#xA;Suppose $S$ were decidable. Given any Turing machine $T$, consider the sequence $b_n$ defined as&#xA;$$b_n = \begin{cases}&#xA;a_n &amp;amp; \text{if $T$ has not halted in the first $n$ steps,}\\&#xA;a_m &amp;amp; \text{if $T$ has halted in step $m$ and $m \leq n$.}&#xA;\end{cases}$$&#xA;It is easy to check that $b_n$ is computably Cauchy, therefore we can compute its limit $y = \lim_n b_n$. Now we have $y \in S$ iff $T$ halts, so we can solve the Halting Problem. QED.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is a dual theorem in which we assume the sequence is outside $S$ but its limit is in $S$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Examples of sets $S$ satisfying these conditions are: an open interval, a closed interval, the negative numbers, the singleton $\lbrace 0 \rbrace$, rational numbers, irrational numbers, transcedental numbers, algebraic numbers, etc.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A set which does not satisfy the conditions of the theorem is the set $S = \lbrace q + \alpha \mid q \in \mathbb{Q}\rbrace$ of rational numbers translated by a &lt;em&gt;non-computable&lt;/em&gt; number $\alpha$. Exercise: is $S$ decidable?&lt;/p&gt;&#xA;" OwnerUserId="705" LastEditorUserId="705" LastEditDate="2012-03-03T06:49:08.863" LastActivityDate="2012-03-03T06:49:08.863" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="10501" PostTypeId="2" ParentId="10495" CreationDate="2012-03-02T13:53:16.383" Score="1" Body="&lt;p&gt;The set of transcendentals is not open in $\mathbf R$ (in particular, it is dense and codense in $\mathbf R$. Hence it is undecidable.&lt;/p&gt;&#xA;" OwnerUserId="5538" LastActivityDate="2012-03-02T13:53:16.383" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="10502" PostTypeId="2" ParentId="10484" CreationDate="2012-03-02T14:25:42.747" Score="6" Body="&lt;p&gt;The problem seems to be in $P$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Take two vertices $u$, $v$ with distance exactly 3 (such a pair must exist when $p\ge 3$). They must have different colors (I will use R, G, B to denote 3 colors and the vertices in the same clique are colored the same color). Wlog assume $u$ is colored Red and $v$ is colored Green.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now the rest of the vertices are partitioned into 3 sets: $\Gamma(u)$ (neighbors of $u$), $\Gamma(v)$ and $V-\Gamma(u)-\Gamma(v)$. The third set must be colored Blue because they are  adjacent to neither $u$ nor $v$. Neighbors of $u$ must be colored either Red or Blue because they are not adjacent to $v$, similarly neighbors of $v$ must be colored either Green or Blue. Each vertex now has at most two choices, therefore the problem becomes a 2-SAT instance that we can solve in polynomial time.&lt;/p&gt;&#xA;" OwnerUserId="7193" LastActivityDate="2012-03-02T14:25:42.747" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="10503" PostTypeId="2" ParentId="10467" CreationDate="2012-03-02T14:41:11.810" Score="12" Body="&lt;p&gt;The result can be proved using the standard textbook proof of the Cook-Levin theorem. The key observation is that the 3CNF produced by the reduction in the proof of Cook-Levin is very regular and therefore compressible. There is a sketch in &lt;a href=&quot;http://arxiv.org/pdf/1111.1261v1.pdf&quot;&gt;Ryan's &quot;casual&quot; presentation of his circuit lower bound&lt;/a&gt; (Thm. 2.2.). Below I am summarizing the argument.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By definition, a language $L$ is in $\mathsf{NEXP}$ if there exists a (single tape) nondeterministic Turing machine $M_L$ that on input $x$ outputs $1$ if and only if $x \in L$, and runs in time bounded by $2^{p(|x|)}$. For any $x$ we can think of a tableau of the computation of some accepting path of $M_L$: make a table of size $2^{p(|x|)} \times 2^{p(|x|)}$  and in cell $(i, j)$ write down the contents of the $j$-th cell of the tape at time step $i$ (at time step 1 we assume the tape contains $x$ and at the final time step we want the tape to only contain 1, indicating acceptance). Also, there is a special symbol where the head of the Turing machine is at each time step, and the internal state is also indicated in that cell. So the question &quot;does there exist an accepting path of $M_L$ for $x$&quot; boils down to &quot;can we fill out the tableau for $x$ correctly according to the transition table of $M_L$?&quot; The main idea of Cook-Levin is that whether the tableau is filled out correctly can be checked by verifying a number of local constraints, because each cell of the tableau only depends on the three cells above it. Thus each local constraint can be checked by a constant size 3CNF and the conjunction of the 3CNFs is the formula $f(x)$. The new observation for the $\mathsf{NEXP}$ version is that, except for the first $|x|$ entries of the first row and the first entry of the  last row of the tableau (where we check that the tape starts off with containing $x$ and ends with containing $1$), each 3CNF checking local constraints is exactly the same, up to the labeling of variables. So, given the index of a 3CNF clause of $f(x)$, we need the circuit $C(x)$ to:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;figure which tableau cell it corresponds to&lt;/li&gt;&#xA;&lt;li&gt;if it corresponds to the first $|x|$ entries of the first row or the first entry of the  last row of the tableau, output the clause&lt;/li&gt;&#xA;&lt;li&gt;if it corresponds to any other cell, we're dealing with the same constant-size 3CNF, and we only need to compute the variable labels for it, which can be done based only on the index of the tableau cell&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Steps 1 and 3 are basically arithmetic based on the index of the clause of $f(x)$ and the index of the tableau cell it corresponds to. Both these indexes can be written in $O(p(|x|))$ bits and steps 1 and 3 therefore can be done in time polynomial in $|x|$. Since any function computable in polynomial time can be computed using a polynomial size circuit, we have poly size circuits for 1 and 3. For step 2 we need to just hard-wire $O(|x|)$ 3CNF terms into the circuit. Put all these together, and we're done.&lt;/p&gt;&#xA;" OwnerUserId="4896" LastEditorUserId="4896" LastEditDate="2012-03-02T15:58:59.617" LastActivityDate="2012-03-02T15:58:59.617" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10504" PostTypeId="2" ParentId="10486" CreationDate="2012-03-02T15:33:02.183" Score="23" Body="&lt;p&gt;Unambiguous context-free parsing is in $O(n^2)$ using Earley's algorithm.  Whether there exists a parsing algorithm working in linear-time on all the unambiguous context-free grammars is an open problem.  One of the most advanced statements of this kind is due to Leo [1991], who showed that a variant of Earley parsing works in linear time for all LRR grammars.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[Leo 1991] Joop M. I. M. Leo.  A general context-free parsing algorithm running in linear time on every LR($k$) grammar without using lookahead, &lt;em&gt;Theoretical Computer Science&lt;/em&gt; 82(1):165--176. &lt;a href=&quot;http://dx.doi.org/10.1016/0304-3975(91)90180-A&quot;&gt;doi: 10.1016/0304-3975(91)90180-A&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="609" LastEditorUserId="609" LastEditDate="2012-03-02T16:09:12.153" LastActivityDate="2012-03-02T16:09:12.153" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10505" PostTypeId="1" CreationDate="2012-03-02T15:36:54.253" Score="6" ViewCount="230" Body="&lt;p&gt;I am not sure whether the following problem has been studied.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We have a undirected tree $T$.&#xA;We would like to construct another tree $T&amp;#39;$.&#xA;$T&amp;#39;$ is a binary tree. Each inner nodes of $T&amp;#39;$ is an edge of $T$.&#xA;The set of leaves of $T&amp;#39;$ is the same as the set of leaves of $T$.&#xA;$T&amp;#39;$ is constructed as follows:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We pick an edge $e$ in $T$, which breaks $T$ into two parts $T_1$ and $T_2$.&#xA;$e$ is the root of T'.&#xA;we recursively construct the left and right subtrees of T' from $T_1$ and $T_2$ respectively. &#xA;The cost of T' is $\sum_{v:leaves}Length_{T&amp;#39;}(P_v)$ where $P_v$&#xA;is the path from the root to $v$.&#xA;We would like to find the tree T' that minimizes the cost.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I suspect the optimal algorithm is to pick the edge which split the number of leaves &#xA;as evenly as possible and recurse.&#xA;However, it seems to be a clean problem that has been studied. But I have no idea what to search.&#xA;Any help will be appreciated.&lt;/p&gt;&#xA;" OwnerUserId="383" LastEditorUserId="1037" LastEditDate="2012-03-02T21:19:00.657" LastActivityDate="2012-03-02T21:19:00.657" Title="Tree rotation, a problem similar to Huffman coding" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;coding-theory&gt;&lt;decision-trees&gt;" AnswerCount="0" CommentCount="3" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="10507" PostTypeId="1" CreationDate="2012-03-03T02:44:26.267" Score="15" ViewCount="758" Body="&lt;p&gt;The &lt;strong&gt;1-dim Weisfeiler-Lehman algorithm&lt;/strong&gt; (WL) is commonly known as canonical labeling or color refinement algorithm. It works as follows :&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The initial coloring $C_0$ is uniform, $C_0(v) = 1$ for all vertices $v \in V (G) \cup V (H)$.&lt;/li&gt;&#xA;&lt;li&gt;In the $(i + 1)$ st round, the color $C_{i+1}(v)$ is defined to be a pair consisting of the preceding color $C_{i−1}(v)$ and the multiset of colors $C_{i−1}(u)$ for all $u$ adjacent to $v$. For example, $C_1(v) = C_1(w)$ iff $v$ and $w$ have the same degree.&lt;/li&gt;&#xA;&lt;li&gt;To keep the color encoding short, after each round the colors are renamed.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Given two undirected graphs $G$ and $H$, if the multiset of colors (aka labels) of the vertices of $G$ is distinct from the multiset of colors of the vertices of $H$, the algorithm reports that the graphs are not isomorphic; otherwise, it declares them to be isomorphic.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is well-known that the 1-dim WL works correctly for all trees and requires only $O({\log}n)$ rounds.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is :&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What is the hardness of computing 1-dim WL labels of a tree ? Is a lower bound better than logspace known ?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="344" LastEditorUserId="-1" LastEditDate="2012-11-17T07:35:35.177" LastActivityDate="2012-11-18T12:06:53.487" Title="Hardness of Computing Weisfeiler-Lehman labels" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;&lt;graph-isomorphism&gt;&lt;logspace&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="10508" PostTypeId="1" CreationDate="2012-03-03T02:55:32.523" Score="3" ViewCount="211" Body="&lt;p&gt;I'm looking for a &lt;a href=&quot;http://en.wikipedia.org/wiki/Term-frequency&quot; rel=&quot;nofollow&quot;&gt;term-frequency analysis&lt;/a&gt; structure which is more efficient than a hash table in terms of worst-case performance and speed in practice. I specifically care about the operations &lt;strong&gt;insert&lt;/strong&gt; and &lt;strong&gt;delete&lt;/strong&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some alternatives might be&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/VList&quot; rel=&quot;nofollow&quot;&gt;VList&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Radix_tree&quot; rel=&quot;nofollow&quot;&gt;Radix tree&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Beap&quot; rel=&quot;nofollow&quot;&gt;beap&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Soft_heap&quot; rel=&quot;nofollow&quot;&gt;soft heap&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/2-3_heap&quot; rel=&quot;nofollow&quot;&gt;2-3 heap&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Brodal_queue&quot; rel=&quot;nofollow&quot;&gt;Brodal queue&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Binary_heap&quot; rel=&quot;nofollow&quot;&gt;Binary heap&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Threaded_binary_tree&quot; rel=&quot;nofollow&quot;&gt;Threaded binary trees&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Ctrie&quot; rel=&quot;nofollow&quot;&gt;Ctries&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there research using other data structures for the problem of gathering term-frequency statistics from a large corpus?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="7860" LastEditorUserId="5693" LastEditDate="2012-03-03T14:03:08.927" LastActivityDate="2012-03-03T14:03:08.927" Title="Optimal term frequency analysis" Tags="&lt;ds.data-structures&gt;&lt;time-complexity&gt;" AnswerCount="0" CommentCount="12" ContentLicense="CC BY-SA 3.0" />
  <row Id="10511" PostTypeId="2" ParentId="10385" CreationDate="2012-03-03T10:43:33.477" Score="-3" Body="&lt;p&gt;I don't know if this helps, but towards the end of &lt;a href=&quot;http://www.php.net/manual/en/ref.strings.php#87116&quot; rel=&quot;nofollow&quot;&gt;this comment&lt;/a&gt; someone implements what you want in PHP; maybe you can figure out the algorithm.&lt;/p&gt;&#xA;" OwnerUserId="2222" LastActivityDate="2012-03-03T10:43:33.477" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10514" PostTypeId="2" ParentId="10494" CreationDate="2012-03-03T23:47:15.143" Score="15" Body="&lt;p&gt;Indeed, there is a different notion than isomorphism which is more useful in programming.  It is called &quot;behavioural equivalence&quot; (sometimes called &quot;observational equivalence&quot;) and it is established by giving a &quot;simulation relation&quot; between data structures rather than bijections.  Algebraists came in and established an area called &quot;algebraic data types&quot; in Computer Science, where they pushed isomorphisms and initial algebras for a while.  Eventually, Computer Scientists realized that they were being misled.  A good paper that talks about these issues is &lt;a href=&quot;http://homepages.inf.ed.ac.uk/dts/pub/obs-equiv.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;&#xA;&quot;On observational equivalence and algebraic specification&quot;&lt;/a&gt; by Sannella and Tarlecki.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I wrote an answer to another question in cstheory on &lt;a href=&quot;https://cstheory.stackexchange.com/questions/5427/what-are-the-differences-between-logical-relations-and-simulations/10431#10431&quot;&gt;logical relations and simulations&lt;/a&gt; which talks about the more general history of simulation relations in Computer science.  You are welcome to read that and follow up on the references given there.  The Chapter 5 of Reynolds's &quot;Craft of Programming&quot; is particularly enlightening.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A text book on &lt;a href=&quot;http://www.amazon.co.uk/Algebraic-Automata-Cambridge-Advanced-Mathematics/dp/0521604923/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Algebraic Automata Theory&lt;/a&gt; by Holcombe has the following interesting quote (p. 42):&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;There are many other results concerned with homomorphisms and quotients... While they are of independent algebraic interest they have not yet proved particularly useful in the study of automata and related areas.  In fact, the algebraic theory of machines diverges from the direction taken in other algebraic theories in one important respect... The emphasis in automata theory is, however, not [on] what machines &quot;look like&quot; but what &quot;they can do&quot;.  We will regard two machines as being very closely related if they can both &quot;do the same thing&quot;, they may however not be algebraically isomorphic!&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="8519" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2012-03-05T08:12:24.067" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="10515" PostTypeId="2" ParentId="10494" CreationDate="2012-03-04T01:22:53.357" Score="7" Body="&lt;p&gt;Rather than ask how we can strengthen/weaken the notion of isomorphism, another possibility is to ask: What is the right notion of equivalence between computational structures, and what is the mathematical structure underlying this notion. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;One large family of structures is coalgebras. Structures such as lists, trees, automata, both of the finite and infinite variety can be described as coalgebras. We can then study homomorphism or isomorphism between coalgebras. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, even homomorphisms between coalgebras don't tell the whole story. You may find it helpful to look up simulations, bisimulations and other logical relations. If you strictly prefer an algebraic approach (as opposed to a relational one) Galois connections are one option. Here are some starting points.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.cs.nott.ac.uk/~rcb/MPC/GCsAndLRs.ps.gz&quot;&gt;Logical Relations and Galois Connections&lt;/a&gt; by Backhouse and Backhouse.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://agp.hx0.ru/arts/10.1.1.159.2020.pdf&quot;&gt;Universal coalgebra: a theory of systems&lt;/a&gt; by Jan Rutten&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="4155" LastActivityDate="2012-03-04T01:22:53.357" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10517" PostTypeId="2" ParentId="3533" CreationDate="2012-03-04T07:53:47.187" Score="16" Body="&lt;p&gt;I would divide the books on programming language semantics into two classes: those that focus on &lt;em&gt;modelling&lt;/em&gt; programming language concepts and those that focus on the &lt;em&gt;foundational aspects&lt;/em&gt; of semantics.  There is no reason a book can't do both.  But, usually, there is only so much you can put into a book, and the authors also have their own predispositions about what is important.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Winskel's book, already mentioned, does a bit of both the aspects.  And, it is a good beginner's book.  An equally good, perhaps even better, book is the one I started with: Gordon's &lt;a href=&quot;http://books.google.co.uk/books/about/The_denotational_description_of_programm.html?id=_QAnAAAAMAAJ&amp;amp;redir_esc=y&quot;&gt;Denotational description of programming languages&lt;/a&gt;.  This was my first book on semantics, which I read soon after I finished my undergraduate work.  I have to say it gave me a firm grounding in semantics and I never had to wonder how denotational semantics differs from operational semantics or axiomatic semantics etc.  This book will remain my all-time favourite on denotational semantics.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Other books that focus on &lt;em&gt;modeling&lt;/em&gt; aspects rather than foundational aspects are the following:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Tennent's &lt;a href=&quot;http://books.google.co.uk/books?id=K7N7QgAACAAJ&amp;amp;source=gbs_slider_cls_metadata_9_mylibrary&quot;&gt;Semantics of programming languages&lt;/a&gt;, which is a more-or-less uptodate book on the semantics of imperative programming languages.  It is easy to read.  However, it tends to be abstract in later parts of the book and you might have to struggle to see why things are being done in a particular way.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Reynolds's &lt;a href=&quot;http://books.google.co.uk/books?id=2OwlTC4SOccC&amp;amp;source=gbs_slider_cls_metadata_0_mylibrary&quot;&gt;Theories of programming languages&lt;/a&gt;.  Anybody specializing in semantics should definitely read this book.  It is after all by Reynolds.  (David Schmidt once remarked to me, &quot;even if Reynolds is reading out the morning newspaper to you, you want to listen carefully, because you might learn something important&quot;!)  It has good coverage of both the modelling aspects and foundational aspects.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The best books on foundational aspects are Gunter's (which I regard as a graduate text book), and Mitchell's (which is good reference book to have on your bookshelf because it is quite comprehensive).&lt;/p&gt;&#xA;" OwnerUserId="8519" LastActivityDate="2012-03-04T07:53:47.187" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="10518" PostTypeId="2" ParentId="9631" CreationDate="2012-03-04T13:57:17.087" Score="3" Body="&lt;p&gt;It is important that, in the &lt;a href=&quot;http://en.wikipedia.org/wiki/Moore_matrix&quot; rel=&quot;nofollow noreferrer&quot;&gt;definition&lt;/a&gt; you provide, the matrix lives in a finite field, say $\mathbb{Z}_m$ where $m$ is prime. This allows you to use &lt;a href=&quot;http://en.wikipedia.org/wiki/Euler%27s_totient_function#Euler.27s_theorem&quot; rel=&quot;nofollow noreferrer&quot;&gt;Euler's theorem&lt;/a&gt; to compute the double-exponentials $a^{q^e}\mod m$ that appear in the matrix in time $O(\log (mn) \; M(\log m))$.&#xA;$$a^{q^i}\equiv a^{q^i\pmod{\varphi(m)}}\pmod m$$&#xA;Otherwise, it seems hard even to compute the matrix coefficients without factorising $m$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $m$ is prime or can be efficiently factorised,  the worst-case &lt;strong&gt;complexity&lt;/strong&gt; is dominated by the number of steps you need for matrix multiplication $O(n^\omega)$. For instance, the &lt;a href=&quot;https://cstheory.stackexchange.com/a/10418/7286&quot;&gt;Smith normal form approach&lt;/a&gt; I mentioned in the &lt;a href=&quot;https://cstheory.stackexchange.com/q/10393/7286&quot;&gt;partner post&lt;/a&gt; would compute the determinant in time $O\left( n^\omega \; \log^2m\; \log (mn) \right)$ if you use &quot;slow&quot; multiplication algorithms$^*$. $\omega$ can be chosen to be 2.373.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You get a &lt;strong&gt;slow-down&lt;/strong&gt; in Moore vs Vandermonde since you must double-exponentiate the coefficients of the matrix. When you can factorise $m$ this slow-down is just polylogarithmic on $m$. If not, the &lt;a href=&quot;https://cstheory.stackexchange.com/a/10418/7286&quot;&gt;algorithm presented&lt;/a&gt; gives you a &lt;a href=&quot;http://en.wikipedia.org/wiki/Turing_reduction&quot; rel=&quot;nofollow noreferrer&quot;&gt;Cook reduction&lt;/a&gt; to Double-Modular-Exponentiation on $\mathbb{Z}_m$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note *: faster algorithms for integer multiplication allow you to replace  $\log^2 m$ with $M(\log m \log\log m)$ .&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Update&lt;/strong&gt;: on the possibility of achieving $O(n\log^a n)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I  have no definite answer for this, but I found some information that may tighten your search.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Algorithms for &lt;em&gt;structured&lt;/em&gt; matrices that compute quantities like determinants in time  $O(n\log^a n)$ are called &quot;superfast&quot; in the literature. All known &quot;superfast&quot; algorithms for structured matrices (Vandermonde, Toeplitz, Hankel) seem to rely on a common property of this matrices known as low &quot;displacement rank&quot;. Confer the discussion on the first chapter of this &lt;a href=&quot;http://books.google.de/books?id=I00HeGu8qicC&amp;amp;lpg=PP1&amp;amp;hl=de&amp;amp;pg=PP1#v=onepage&amp;amp;q&amp;amp;f=false&quot; rel=&quot;nofollow noreferrer&quot;&gt;book&lt;/a&gt; (open access pages), or in this article &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=606709&quot; rel=&quot;nofollow noreferrer&quot;&gt;[ACM]&lt;/a&gt;,&lt;a href=&quot;http://comet.lehman.cuny.edu/vpan/pdf/38627.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;[PDF]&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;From what I read, given a $m\times n$ Moore matrix $M$, if you were able to find matrices $A$, $B$ such that the new matrix $L(M)=AM-MB$ (or alternatively $L(M)=M- AMB$) has the following structure&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$L(M) = \sum_{k=1}^r g_k h_k^T $$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;, and the rank $r&amp;gt;0$ is small (either constant or bounded by $o(\text{min} \;\{m,n\})$), then you can apply existing techniques (check chapter 5 of the book, open-access pages) to triangularise $M$ and, hence, compute $\det{M}$, using $O(n\log^2 n)$. Above, the $g_k$, $h_k$ denote vectors. If you can not find the book above to read the whole thing, &lt;a href=&quot;http://comet.lehman.cuny.edu/vpan/pdf/38627.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;this article&lt;/a&gt; has also a lot of information about these methods.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Unfortunately, I have no been able to find a low-displacement-rank structure for the Moore matrix (Vandermonde has). The main complication here seems to arise from the &quot;non-linear&quot; nature of the double exponential. If it helps, the cases for Vandermonde, Cauchy, Toeplitz, Hankel are worked out in the book.&lt;/p&gt;&#xA;" OwnerUserId="7286" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2012-03-06T00:51:39.130" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="10519" PostTypeId="1" AcceptedAnswerId="10520" CreationDate="2012-03-04T16:40:37.807" Score="3" ViewCount="513" Body="&lt;p&gt;When someone develops a new theory on computer science, specifically in artificial intelligence domain, which is barely on schetch (so there are no measurements, nor simulations, nor finished code or ready application) with just a mathematical and conceptual description, in which scientific journals people use to publish these theories/concepts?&lt;/p&gt;&#xA;" OwnerUserId="8617" LastEditorUserId="77" LastEditDate="2012-03-04T17:20:36.793" LastActivityDate="2012-03-04T18:47:24.703" Title="New theories and publications on computer science" Tags="&lt;soft-question&gt;" AnswerCount="1" CommentCount="6" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10520" PostTypeId="2" ParentId="10519" CreationDate="2012-03-04T17:42:15.750" Score="21" Body="&lt;p&gt;I can think of two cases where this (more or less) happened.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Valiant published his first paper on PAC learning in &lt;em&gt;Communications of the ACM&lt;/em&gt; &lt;strong&gt;27&lt;/strong&gt; (1984). Charlie Bennett got Stephen Wiesner's paper on quantum cryptography published in &lt;em&gt;SIGACT News&lt;/em&gt; &lt;strong&gt;15&lt;/strong&gt; (1983). I believe that at the time of publication, the editors had more latitude in accepting articles without extensive peer review than in the standard model of refereed journals. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In both cases, the idea turned out to be enormously valuable, and I am sure the prestige of Valiant and of Bennett helped the work get published. In both cases, the research was quite a bit better worked out than &quot;barely a sketch&quot;, but it was still very sketchy, and not completely convincing to contemporary researchers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you are an unknown researcher, in order to get anybody to pay attention, you probably need to work out your ideas at least as well as they were worked out in these two cases, and even then I am not sure whether you could get sketchy ideas published without having the backing of a respected researcher (as Wiesner did).v&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Ralph Merkle did not succeed in getting his sketchy ideas on what was to become public-key cryptography published until after Diffie, Hellman, Rivest, Shamir and Adelman had worked out the sketchy ideas in enough detail to convince everybody they were worthwhile. Fortunately, somebody put him in touch with Diffie and Hellman, who were clever enough to see the value of his ideas, talented enough to work them out in some detail, and honest enough to give him his fair share of the credit. See &lt;a href=&quot;http://www.itas.fzk.de/mahp/weber/merkle.htm&quot;&gt;this article&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="1677" LastEditorUserId="1677" LastEditDate="2012-03-04T18:47:24.703" LastActivityDate="2012-03-04T18:47:24.703" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="10521" PostTypeId="1" CreationDate="2012-03-04T19:42:40.347" Score="7" ViewCount="275" Body="&lt;p&gt;I am trying to find some related bibliography in the field. If, by chance, my question is easy enough though, a direct answer is more than welcome.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem is: Given that the best possible solution for our instance has value $v$, how many solutions have value at least (1 - ε)v? Of course, they should satisfy the constraint of the weight.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I face some difficulties finding the related bibliography in particular, because it seems it is quite often to consider the problem without trying to maximize an associated value but just trying to find the number of solutions in the corresponding linear Diophantine's equation. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Knapsack as in:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;maximize $\sum_{i=1}^{n}u_ix_i$,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;subject to $\sum_{i=1}^{n}w_ix_i \le W$, $x_i = {0, 1}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Although, it does not really matter whether it is the 0-1, bounded or the unbounded problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What I have found so far and is somewhat related is:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.crt.umontreal.ca/~quosseca/pdf/30-0624.pdf&quot;&gt;Counting Solutions of CSPs: A Structural Approach&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.cs.brown.edu/people/serdark/cpaior-10.pdf&quot;&gt;Upper Bounds on the Number of Solutions of Binary Integer Programs&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="401" LastEditorUserId="-1" LastEditDate="2012-11-17T07:35:37.827" LastActivityDate="2012-11-17T07:35:37.827" Title="Bibliography needed: How many &quot;good&quot; solutions for Knapsack?" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;counting-complexity&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="10522" PostTypeId="2" ParentId="10455" CreationDate="2012-03-05T00:50:21.993" Score="0" Body="&lt;p&gt;Start with the concatenated text &lt;em&gt;S$T&lt;/em&gt;, where $ occurs nowhere in * or &lt;em&gt;T&lt;/em&gt;. Construct a suffix tree/array from this text. It's easy now to traverse this suffix data structure to collect all right maximal repeats. By examining the left context, filter out the non-left maximal repeats. This leftward filtering might be implemented using the Burrows-Wheeler table as in Abouelhoda et al, though I don't believe that this is necessary. Repeats occuring only in &lt;em&gt;S&lt;/em&gt; or only in &lt;em&gt;T&lt;/em&gt; should olso be eliminated at this point. Repeats that haven't been eliminated are then put on a priority queue, with priority defined by length. After the traversal, as recorded repeats are removed from the priority, the final filtering (for substring containment) can be carried out. Given the use of maximal phrases, however, I suspect that very little of this filtering would be necessary.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This algorithm is my own invention. I would not classify it as very clever, but it ought to work.&lt;/p&gt;&#xA;" OwnerUserId="8622" LastActivityDate="2012-03-05T00:50:21.993" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10523" PostTypeId="1" CreationDate="2012-03-05T02:04:10.283" Score="0" ViewCount="298" Body="&lt;p&gt;I have a tree structure representing sentences. My tree's nodes are characterized by a type (sentence, phrase, or word), unique ID, text value and an arbitrary number of features. Each node has an arbitrary number of directed edges linking it to other nodes (i.e. children, parent and different grammatical relations such as subject_of, complement_of, etc.). Note that all these features are absolutely necessary to accurately represent the syntactical structure of a sentence.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, given such an initial tree with a totally unconstrained structure, I want to know if it is possible to convert that tree into a form that is more search-efficient (i.e. so that search involves less recursion). The only operation I &lt;em&gt;really&lt;/em&gt; need to support is finding nodes with an arbitrary combination of type, id, value, and/or feature(s). I also need to be able to match a node back to the original tree if other operations are necessary. What is of primary importance is read-time and query efficiency.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;From what I understand, B-trees and R-trees are generally search efficient. From Wikipedia, &quot;like B-trees, this makes R-trees suitable for large data sets and databases, where nodes can be paged to memory when needed, and the whole tree cannot be kept in main memory.&quot; This is exactly the situation I am in right now. However, I have very limited knowledge of the different types of trees and how they convert to another.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, I am wondering if it is possible in theory to convert any N-ary tree (i.e. in my case, a completely unconstrained tree with an arbitrary number of children, edges and features for each node) into a B-tree or an R-tree to make it more search efficient? How would one go about doing this? &lt;/p&gt;&#xA;" OwnerUserId="8623" LastEditorUserId="8623" LastEditDate="2012-03-05T17:28:29.477" LastActivityDate="2013-07-25T18:03:44.623" Title="Is it possible to convert any tree to a B-tree or an R-tree?" Tags="&lt;reference-request&gt;&lt;ds.data-structures&gt;" AnswerCount="2" CommentCount="12" ContentLicense="CC BY-SA 3.0" />
  <row Id="10526" PostTypeId="2" ParentId="4126" CreationDate="2012-03-05T11:53:29.113" Score="4" Body="&lt;p&gt;I think Simon PJ's quote is a bit of an off-hand remark actually.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Similarity between languages is determined by what consensus has been generated in the researcher and language designer community.  There is no question that there is a higher degree of consensus in the functional programming community than in the imperative programming community.  But it is also the case that the functional programming languages are mostly designed by researchers rather than practitioners.  So, it is natural for such consensus to emerge.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Almost all functional languages use garbage collected memory management and recursive data structures (originated by Lisp), most of them use &quot;algebraic&quot; data types and pattern matching (originated by Hope), a lot of them use higher-order functions and polymorphic functions (originated by ML).  Beyond that, the consensus disappears.  They differ in module systems used, how state change operations and other computational effects should be handled, and the evaluation order (call-by-name vs call-by-value) etc.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Imperative programming languages generally use nested control structures (originated by Algol 60), and type systems (originated by Algol 60, but consolidated by Algol 68).  They generally have cumbersome surface syntax (again going back to Algol 60), make half-hearted attempts to handle higher-order functions and polymorphic types, and differ in their support for block structure and module systems.  There is probably more uniformity in the evaluation order because, after the 60's, call-by-name has essentially disappeared from imperative languages.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, it is not clear to me that the difference between the two classes of languages in their uniformity is all that great.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It would be really worthwhile to bring the cleaner and uniform notations of functional programming into imperative programming languages.  I see that Scala has made a beginning in that direction.  It remains to be seen whether the trend will continue.&lt;/p&gt;&#xA;" OwnerUserId="8519" LastActivityDate="2012-03-05T11:53:29.113" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10527" PostTypeId="2" ParentId="10521" CreationDate="2012-03-05T13:16:36.917" Score="2" Body="&lt;p&gt;Shooting from the hip here, but I think this might, in fact, be a simple problem to solve in pseudopolynomial time, using dynamic programming (DP). Not sure if that's acceptable, or if you need a polynomial-time algorithm?&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;A brief detour:&lt;/strong&gt; You assume that the optimal value is known, and that $\varepsilon&amp;gt;0$, and I don't know how hard the given counting problem is. If you made no such assumptions, however, you're basically left with (an obvious reduction from) the decision-version of 0-1-knapsack, which is, of course, NP-complete. The question, of course, is whether the additional assumptions are enough to “rescue” the problem from hardness.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;My intuition comes from the fact that DP formulations in general are equivalent to path problems (such as shortest/longest path, or the number of paths) in DAGs. I think counting the number of paths from some node $s$ (representing the zero-capacity knapsack and the empty subset of items) that are “long enough,” given some threshold (in your case, $(1-\varepsilon)v$) is quite straightforward as well.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can formulate it recursively, as follows. Let $G=(V,E)$ be your DAG, let $w(u,v)$ be the edge weight function, let $\ell_\delta(v)$ be the number of $s$-paths ending at node $v$ with a length of at least $\delta$. You then have:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;\begin{equation}&#xA;\ell_\delta(v) =&#xA;\begin{cases}&#xA;0 &amp;amp; \text{if $v=s \land \delta &amp;gt; 0\,$;} \\&#xA;1 &amp;amp; \text{if $v=s \land \delta \leq 0\,$;} \\&#xA;\sum_{u:(u,v)\in E} \ell_{\delta-w(u,v)}(u)&amp;amp; \text{otherwise.}&#xA;\end{cases}&#xA;\end{equation}&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm implicitly assuming that all nodes lie on a path from $s$, as they will in your case, but for nodes beside $s$ that don't have predecessors, the sum will simply be an empty sum, which can be assumed to be zero. To implement this, just memoize it or turn it “upside down” and fill the appropriate array.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the knapsack case, you'd only have two predecessors $u$ to sum over, of course (i.e., the ones representing the solutions with and without the object under consideration in node $v$). The solution will simply be $\ell_{(1-\varepsilon)v}(t)$, where $t$ is the final “corner” of your matrix, with full capacity and the full set of items.&lt;/p&gt;&#xA;" OwnerUserId="901" LastEditorUserId="901" LastEditDate="2012-03-05T15:37:58.370" LastActivityDate="2012-03-05T15:37:58.370" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="10528" PostTypeId="2" ParentId="10477" CreationDate="2012-03-05T13:35:12.500" Score="7" Body="&lt;p&gt;I've found that this problem is NP-hard, even restricted to trees.&#xA;The reference is Graham and Robinson, &quot;Isomorphic factorizations IX: even trees&quot;, but I couldn't get it.&lt;/p&gt;&#xA;" OwnerUserId="168" LastEditorUserId="168" LastEditDate="2012-03-05T13:47:06.803" LastActivityDate="2012-03-05T13:47:06.803" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10529" PostTypeId="1" AcceptedAnswerId="10540" CreationDate="2012-03-05T13:37:17.110" Score="1" ViewCount="585" Body="&lt;p&gt;Recently I saw an interesting question on succinct problems from &lt;a href=&quot;https://cstheory.stackexchange.com/questions/10320/succint-problems-in-mathsfp&quot;&gt;here&lt;/a&gt;. I was wondering if all problems have a succinct representation(It would be great if you can provide me a reference/proof). When I read the paper linked in the post, I could find mostly only graph problems with succinct representation. Can a problem like testing for primality have a succinct representation? Is there a proof/reference for this anywhere?&lt;/p&gt;&#xA;" OwnerUserId="8630" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2012-03-05T19:18:30.997" Title="Is there a succinct representation for all problems?" Tags="&lt;cc.complexity-theory&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="10530" PostTypeId="2" ParentId="10455" CreationDate="2012-03-05T13:40:49.307" Score="0" Body="&lt;p&gt;A really simple solution: Build a suffix tree for the first string, $S$, and annotate all nodes with $s$. Then insert all suffixes of the second string, $T$. Annotate nodes you pass through or create with $t$. The path label for any node that is annotated with both $s$ and $t$ is a substring of both $S$ and $T$. (See, for example, &lt;a href=&quot;http://ai.stanford.edu/~serafim/cs262/Spring2003/Notes/11.pdf&quot; rel=&quot;nofollow&quot;&gt;these lecture notes&lt;/a&gt; a quick web search turned up.)&lt;/p&gt;&#xA;" OwnerUserId="901" LastActivityDate="2012-03-05T13:40:49.307" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10531" PostTypeId="2" ParentId="10523" CreationDate="2012-03-05T14:11:04.483" Score="-3" Body="&lt;p&gt;Any data structure can be serialised to any data structure, provided that they can hold the same information.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Insertion&lt;/strong&gt; works by locating the place to insert nodes through searching and insert.&#xA;If a node is full, then a split needs to be done.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Splits&lt;/strong&gt; need to check every possible partition, giving optimal solution of &lt;code&gt;O(2^{M+1})&lt;/code&gt;&lt;/p&gt;&#xA;" OwnerUserId="7860" LastActivityDate="2012-03-05T14:11:04.483" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10532" PostTypeId="2" ParentId="1198" CreationDate="2012-03-05T14:28:22.883" Score="3" Body="&lt;p&gt;Sipser gave a nice Clay Public Lecture on P vs. NP entitled &quot;Beyond Computation&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.claymath.org/public_lectures/sipser.php&quot; rel=&quot;nofollow&quot;&gt;http://www.claymath.org/public_lectures/sipser.php&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;and there is another one by Vijaya Ramachandra&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://claymath.msri.org/pversusnp.mov&quot; rel=&quot;nofollow&quot;&gt;http://claymath.msri.org/pversusnp.mov&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="2150" LastActivityDate="2012-03-05T14:28:22.883" CommentCount="0" CommunityOwnedDate="2012-03-05T14:28:22.883" ContentLicense="CC BY-SA 3.0" />
  <row Id="10533" PostTypeId="2" ParentId="1198" CreationDate="2012-03-05T15:01:08.463" Score="2" Body="&lt;p&gt;The archive of recorded seminars of the &lt;a href=&quot;http://pirsa.org/&quot; rel=&quot;nofollow&quot;&gt;Perimeter Institute&lt;/a&gt; is both useful and entertaining.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.youtube.com/user/qubitlab/feed&quot; rel=&quot;nofollow&quot;&gt;The Qubit Lab&lt;/a&gt; is a Youtube channel that explains advanced topics on  quantum information and computation at children level, but it's also very enjoyable if you are an adult.&lt;/p&gt;&#xA;" OwnerUserId="7286" LastEditorUserId="7286" LastEditDate="2012-03-05T16:12:47.607" LastActivityDate="2012-03-05T16:12:47.607" CommentCount="1" CommunityOwnedDate="2012-03-05T15:01:08.463" ContentLicense="CC BY-SA 3.0" />
  <row Id="10535" PostTypeId="2" ParentId="8253" CreationDate="2012-03-05T16:49:54.207" Score="-3" Body="&lt;p&gt;Hmm...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You could use &lt;a href=&quot;http://en.wikipedia.org/wiki/Multigraph#Undirected_multigraph_.28edges_without_own_identity.29&quot; rel=&quot;nofollow&quot;&gt;undirected multigraphs&lt;/a&gt; or &lt;a href=&quot;http://en.wikipedia.org/wiki/Graph-structured_stack&quot; rel=&quot;nofollow&quot;&gt;alternative graph structures stacks&lt;/a&gt; (epicly space inefficient).&lt;/p&gt;&#xA;" OwnerUserId="7860" LastActivityDate="2012-03-05T16:49:54.207" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10538" PostTypeId="2" ParentId="6311" CreationDate="2012-03-05T17:07:40.037" Score="-2" Body="&lt;p&gt;Simple... keep two pointers, a &lt;strong&gt;next&lt;/strong&gt; and a &lt;strong&gt;previous&lt;/strong&gt;.&lt;/p&gt;&#xA;" OwnerUserId="7860" LastActivityDate="2012-03-05T17:07:40.037" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10540" PostTypeId="2" ParentId="10529" CreationDate="2012-03-05T18:53:31.480" Score="6" Body="&lt;p&gt;Any language $L$ consisting of strings of length $2^k$ for nonnegative integers k has a succinct version: given a binary circuit $C$ that takes $k$ inputs and outputs a single bit, is the truth table (seen as a binary string of length $2^k$) a string of the language $L$. You can restrict any language to strings whose length is a power of two, or you can try other encoding tricks.&lt;/p&gt;&#xA;" OwnerUserId="4896" LastActivityDate="2012-03-05T18:53:31.480" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="10541" PostTypeId="1" AcceptedAnswerId="10557" CreationDate="2012-03-06T04:37:59.437" Score="5" ViewCount="121" Body="&lt;p&gt;All communication is assumed to be by the parties&#xA;&lt;br&gt;&#xA;taking turns making authenticated broadcasts.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there a way for $n$ parties, each with access to ideal local randomness, to jointly&#xA;  &lt;br&gt;&#xA;  choose a member of  {0,1}  randomly with a distribution that is close to uniform&#xA;  &lt;br&gt;&#xA;  even when a small subset of the parties are controlled by a computationally&#xA;  &lt;br&gt;unbounded adversary who wants to make that distribution far from uniform?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;br&gt;&#xA;Regardless of what $n$ is or what &quot;a small subset&quot; means,&#xA;&lt;br&gt;the best I've been able to come up with is:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;k = parameter&#xA;for i in range(k):&#xA; each party outputs a random bit&#xA; if number_of_zeros_outputted &amp;lt; number_of_ones_outputted:&#xA;  return 1&#xA; if number_of_ones_outputted &amp;lt; number_of_zeros_outputted:&#xA;  return 0&#xA;return 0&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;" OwnerDisplayName="user6973" LastActivityDate="2012-03-06T14:11:11.463" Title="Honest Majority unconditional coinflipping without private channels" Tags="&lt;randomness&gt;&lt;dc.distributed-comp&gt;&lt;fault-tolerance&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10542" PostTypeId="1" CreationDate="2012-03-06T06:06:03.473" Score="16" ViewCount="1853" Body="&lt;p&gt;I do not work in theory, but my work requires reading (and understanding) theory papers every once in a while. Once I understand a (set of) results, I discuss these results with people I work with, most of whom do not work in theory as well. During one of such discussions, the following question came up:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;When does one say that two given algorithms are &quot;similar&quot;?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What do I mean by &quot;similar&quot;? Let us say that two algorithms are said to be similar if you can make either of the following claims in a paper without confusing/annoying any reviewer (better definitions welcomed):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Claim 1.  &quot;Algorithm $A$, which is similar to algorithm $B$, also solves problem $X$&quot; &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Claim 2. &quot;Our algorithm is similar to Algorithm $C$&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let me make it slightly more specific. Suppose we are working with graph algorithms. First some necessary conditions for the two algorithms to be similar:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;They must be solving the same problem.&lt;/li&gt;&#xA;&lt;li&gt;They must have the same high level intuitive idea.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;For instance, talking about graph traversal, breadth-first and depth-first traversal satisfy the above two conditions; for shortest-path computations, breadth-first and Dijkstra's algorithm satisfy the above two conditions (on unweighted graphs, of course); etc.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are these also sufficient conditions? More specifically, suppose two algorithms satisfy the necessary conditions to be similar. Would you indeed call them similar, if&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;they have different asymptotic performance?&lt;/li&gt;&#xA;&lt;li&gt;for a special class of graphs, one algorithm requires $\Omega(n)$ time while the other requires $O(n^{1/3})$ time?&lt;/li&gt;&#xA;&lt;li&gt;they have different terminating conditions? (recall, they are solving the same problem)&lt;/li&gt;&#xA;&lt;li&gt;the pre-processing step is different in the two algorithms?&lt;/li&gt;&#xA;&lt;li&gt;the memory complexity is different in the two algorithms?&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Edit: The question is clearly very context dependent and is subjective. I was hoping that the above five conditions, however, will allow getting some suggestions. I am happy to further modify the question and give more details, if needed to get an answer. Thanks!&lt;/p&gt;&#xA;" OwnerUserId="7187" LastEditorUserId="7187" LastEditDate="2012-03-06T07:13:04.717" LastActivityDate="2012-03-13T02:50:21.763" Title="When are two algorithms said to be &quot;similar&quot;?" Tags="&lt;ds.algorithms&gt;&lt;graph-algorithms&gt;" AnswerCount="6" CommentCount="8" FavoriteCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="10544" PostTypeId="2" ParentId="10542" CreationDate="2012-03-06T07:18:26.223" Score="23" Body="&lt;p&gt;It is a tough problem to give even a coherent definition of &quot;Algorithm A is similar to Algorithm B&quot;. For one, I don't think that &quot;they must be solving the same problem&quot; is a necessary condition. Often when one says in a paper that &quot;the algorithm $A$ of Theorem $2$ is similar to the algorithm $B$ in Theorem $1$&quot;, the algorithm $A$ is actually solving a different problem than that of $B$, but has some minor modifications to handle the new problem. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Even trying to determine what it means for two algorithms to be &lt;strong&gt;the same&lt;/strong&gt; is an interesting and difficult problem. See the paper &quot;When are two algorithms the same?&quot; &lt;a href=&quot;http://research.microsoft.com/~gurevich/Opera/192.pdf&quot;&gt;http://research.microsoft.com/~gurevich/Opera/192.pdf&lt;/a&gt; &lt;/p&gt;&#xA;" OwnerUserId="225" LastActivityDate="2012-03-06T07:18:26.223" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10545" PostTypeId="2" ParentId="10542" CreationDate="2012-03-06T08:01:52.427" Score="17" Body="&lt;p&gt;More often than not, it means &quot;I don't want to write out Algorithm B in detail, because all the interesting details are nearly identical to those in Algorithm A, and I don't want to go over the 10-page limit, and anyway the submission deadline is in three hours.&quot;&lt;/p&gt;&#xA;" OwnerUserId="111" LastActivityDate="2012-03-06T08:01:52.427" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10546" PostTypeId="2" ParentId="10320" CreationDate="2012-03-06T08:11:18.233" Score="16" Body="&lt;p&gt;Here is an interesting problem whose succinct version has interesting properties. Define Circuit-Size-$2^{n/2}$ to be the problem: &lt;em&gt;given a Boolean function as a $2^n$-bit string, does this function have a circuit of size at most $2^{n/2}$?&lt;/em&gt;  Note this problem is in $NP$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One way to define Succinct-Circuit-Size-$2^{n/2}$ would be: for a constant $k$, given an $n$-input, $n^k$-size circuit $C$, we want to know if its truth table is an instance of Circuit-Size-$2^{n/2}$. But this is a trivial problem: all inputs which are actual circuits are yes-instances. So this problem is in $P$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A more general way to define Succinct-Circuit-Size-$2^{n/2}$ would be: we are given an arbitrary circuit $C$ and want to know if its truth table encodes an instance of Circuit-Size-$2^{n/2}$. But if $n$ is the number of inputs to $C$, $m$ is the size of $C$, and $m \leq 2^{n/2}$, we can automatically accept: the input itself is a witness for the language. Otherwise, we have $m \geq 2^{n/2}$. In that case, the input length $m$ is already huge, so we can try all possible $2^n$ assignments in $m^{O(1)}$ time, obtain the truth table of the function, and now we are back to the original $NP$ problem again. So this is a problem in $NP$ whose succinct version is also in $NP$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This problem is believed to be &lt;em&gt;not&lt;/em&gt; $NP$-hard; see the paper by Kabanets and Cai (http://www.cs.sfu.ca/~kabanets/Research/circuit.html)&lt;/p&gt;&#xA;" OwnerUserId="225" LastActivityDate="2012-03-06T08:11:18.233" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10547" PostTypeId="1" AcceptedAnswerId="10568" CreationDate="2012-03-06T09:28:05.333" Score="20" ViewCount="960" Body="&lt;p&gt;I am looking for tutorial material that covers compiler correctness proofs, preferably using denotational methods, at the level of a beginning grad student.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Alternatively, do you know of some simple compiler examples that I could use to illustrate the issues?  (The first example that occurred to me was a translator from infix to postfix expressions.  But it failed to show anything interesting other than how to do induction on syntax.)&lt;/p&gt;&#xA;" OwnerUserId="8519" LastActivityDate="2012-03-07T07:10:50.420" Title="Compiler correctness proofs" Tags="&lt;reference-request&gt;&lt;pl.programming-languages&gt;&lt;semantics&gt;&lt;compilers&gt;" AnswerCount="5" CommentCount="0" FavoriteCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="10548" PostTypeId="2" ParentId="10547" CreationDate="2012-03-06T09:52:00.077" Score="10" Body="&lt;p&gt;You'll need to modernize the notation, but McCarthy and Painter's &lt;a href=&quot;http://www-formal.stanford.edu/jmc/mcpain.ps&quot;&gt;&lt;em&gt;Correctness of a Compiler for Arithmetic Expressions&lt;/em&gt;&lt;/a&gt; is simple and good, and also of historical interest (since to the best of my knowledge it's the first paper on the subject). &lt;/p&gt;&#xA;" OwnerUserId="657" LastActivityDate="2012-03-06T09:52:00.077" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10549" PostTypeId="2" ParentId="1198" CreationDate="2012-03-06T10:40:30.590" Score="4" Body="&lt;p&gt;Original - Structure and Implementaion of Computer Programs (SICP) by Hal Abelson and Gerald Jay Sussman&#xA;&lt;a href=&quot;http://groups.csail.mit.edu/mac/classes/6.001/abelson-sussman-lectures/&quot; rel=&quot;nofollow&quot;&gt;http://groups.csail.mit.edu/mac/classes/6.001/abelson-sussman-lectures/&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you have trouble with downloading all of the videos - you can dowload them from archive.org (on archive.org some links are not show up).&#xA;&lt;a href=&quot;http://jcubic.wordpress.com/2010/07/09/abelson-sussman/&quot; rel=&quot;nofollow&quot;&gt;http://jcubic.wordpress.com/2010/07/09/abelson-sussman/&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="8635" LastActivityDate="2012-03-06T10:40:30.590" CommentCount="0" CommunityOwnedDate="2012-03-06T10:40:30.590" ContentLicense="CC BY-SA 3.0" />
  <row Id="10550" PostTypeId="2" ParentId="10547" CreationDate="2012-03-06T10:54:30.197" Score="7" Body="&lt;p&gt;Adam Chlipala's &lt;a href=&quot;http://adam.chlipala.net/papers/CtpcPLDI07/CtpcPLDI07.pdf&quot;&gt;A Certified Type-Preserving Compiler from Lambda Calculus to&#xA;Assembly Language&lt;/a&gt; seems to be a good example of a simple compiler correctness proof using denotational methods, with the added advantage of having been formalized completely in a proof assistant.&lt;/p&gt;&#xA;" OwnerUserId="3984" LastActivityDate="2012-03-06T10:54:30.197" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10551" PostTypeId="2" ParentId="10547" CreationDate="2012-03-06T10:58:38.260" Score="7" Body="&lt;p&gt;Graham Hutton has a small example in his book &lt;a href=&quot;http://www.cs.nott.ac.uk/~gmh/book.html&quot;&gt;&quot;Programming in Haskell&quot;&lt;/a&gt; which is a great place to start.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I also have a few mechanised proofs (various logics) of the McCarthy-Painter compiler in a &lt;a href=&quot;http://www.cs.york.ac.uk/fp/jason-docs/ReichPR2011.pdf&quot;&gt;report I did for my PhD&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="324" LastActivityDate="2012-03-06T10:58:38.260" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10552" PostTypeId="1" AcceptedAnswerId="10553" CreationDate="2012-03-06T11:39:43.947" Score="3" ViewCount="352" Body="&lt;p&gt;I'm reading up on type classes, and started looking at the paper &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=227700&quot; rel=&quot;nofollow&quot;&gt;Type Classes in Haskell&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In Section 2.2 - Superclasses, the authors use the following example:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;class (Eq a) =&amp;gt; Ord a where &#xA;   (&amp;lt;)  :: a -&amp;gt; a -&amp;gt; Bool&#xA;   (&amp;lt;=) :: a -&amp;gt; a -&amp;gt; Bool&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Then, they proceed to state that &quot;&lt;em&gt;This declares that type a belongs to class Ord if there are operations (&amp;lt;) and (&amp;lt;=) of the appropriate type and if a belongs to class Eq. Thus, if (&amp;lt;) is defined on some type, then (==) must be defined on that type as well.&lt;/em&gt;&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The second sentence does not make any sense to me; why would a type that defines (&amp;lt;) have to define (==) if it is not declared to be an instance of either Ord or Eq?&lt;/p&gt;&#xA;" OwnerUserId="8638" LastEditorUserId="2185" LastEditDate="2012-03-06T22:57:30.327" LastActivityDate="2012-03-09T09:11:11.120" Title="Confusing (to me) statement from &quot;Type Classes in Haskell&quot;" Tags="&lt;pl.programming-languages&gt;&lt;type-theory&gt;" AnswerCount="2" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10553" PostTypeId="2" ParentId="10552" CreationDate="2012-03-06T11:54:31.980" Score="4" Body="&lt;p&gt;Simple answer: When the above class definition is in scope, you simply cannot bind (&amp;lt;) or (&amp;lt;=) except as part of an instance declaration for Ord.&lt;/p&gt;&#xA;" OwnerUserId="7890" LastActivityDate="2012-03-06T11:54:31.980" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="10557" PostTypeId="2" ParentId="10541" CreationDate="2012-03-06T14:11:11.463" Score="5" Body="&lt;p&gt;What you are describing is called the &lt;em&gt;common coin&lt;/em&gt; problem and has been introduced in [1]. One way to do this is to elect a leader and then let that leader flip a coin, for example, by using the &lt;em&gt;lightest bin protocol&lt;/em&gt;[2]. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Intuitively speaking, this works as follows:&lt;br&gt;&#xA;We have $n$ processes (=parties) and choose $m=n/\log n$ bins. &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;In every round, every participating process chooses one of these $m$ bins uniformly at random and broadcasts this choice. &lt;/li&gt;&#xA;&lt;li&gt;The bad processes get to choose &lt;em&gt;after&lt;/em&gt; observing the choices of the good processes. &lt;/li&gt;&#xA;&lt;li&gt;So at the end of a round every process knows exactly which process chose which bin. All processes that chose the lightest bin (i.e. the one with the fewest members) continue to the next round, while all others stop participating. &lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;The trick is to keep the initial ratio of good processes to bad processes. How can the adversary try to prevent this? Clearly, the adversary's strategy is to make many bad processes survive until the next round, i.e., many bad processes are in the lightest bin. But since the good processes will be distributed almost uniformly among the bins, the adversary cannot place too many bad processes into the lightest bin, otherwise it will no longer be the lightest! (Once you have reached a constant number of participants you switch to $m=2$ bins.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This protocol elects a good process as the leader with constant probability as long as a majority of processes is good, i.e., you will get an unbiased common coin with constant probability. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1]: M. Ben-Or and N. Linial. “Collective coin flipping”.&#xA;In Advances in Computing Research, S. Micali, ed.,&#xA;vol. 5: Randomness and Computation, JAI Press,&#xA;Greenwich, CT, 1989, 91–115.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] Uriel Feige: Noncryptographic Selection Protocols. FOCS 1999: 142-153&lt;/p&gt;&#xA;" OwnerUserId="6785" LastActivityDate="2012-03-06T14:11:11.463" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10558" PostTypeId="2" ParentId="10547" CreationDate="2012-03-06T15:40:41.103" Score="7" Body="&lt;p&gt;Perhaps not the simplest example, but Xavier Leroy has done a lot of work in this area, such as &lt;a href=&quot;http://compcert.inria.fr/&quot;&gt;a formally verified C compiler&lt;/a&gt;. He gave a &lt;a href=&quot;http://gallium.inria.fr/~xleroy/courses/Eugene-2011/&quot;&gt;summer school presentation&lt;/a&gt; using a small imperative language IMP, which is an accessible introduction to the more advanced work.&lt;/p&gt;&#xA;" OwnerUserId="77" LastActivityDate="2012-03-06T15:40:41.103" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10559" PostTypeId="1" AcceptedAnswerId="10583" CreationDate="2012-03-06T18:26:00.587" Score="16" ViewCount="519" Body="&lt;p&gt;I was wondering if problems for which sublinear time (in the input size) algorithms exist can be characterized as possessing specific properties. This includes sublinear time (e.g. property testing, an alternative notion of approximation for decision problems), sublinear space (e.g. sketching/streaming algorithms in which the Turing machine has a read-only tape, a sublinear working space, and a write-only output tape) and sublinear measurements (e.g. sparse recovery/compressive sensing). In particular, I am interested to such a characterization for both the framework of property testing algorithms and in the classical model of randomized and approximation algorithms.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For instance, the problems for which a dynamic programming solution exist exhibit optimal substructure and overlapping subproblems; those for which a greedy solution exists exhibit optimal substructure and the structure of a matroid. And so on. &#xA;Any reference dealing with this topic is welcome.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;With the exception of a few problems that admit a deterministic sub linear algorithm, almost all of the sublinear algorithms I have seen are randomized. Is there any specific complexity class related to problems admitting sublinear time algorithms ? If yes, is this class included in BPP or PCP?&lt;/p&gt;&#xA;" OwnerUserId="4208" LastEditorUserId="186" LastEditDate="2012-03-07T08:20:33.250" LastActivityDate="2012-03-07T22:14:50.337" Title="Characterization of problems for which sublinear time algorithms exist" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;complexity-classes&gt;&lt;approximation-algorithms&gt;" AnswerCount="2" CommentCount="4" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="10560" PostTypeId="2" ParentId="10552" CreationDate="2012-03-06T19:17:16.123" Score="4" Body="&lt;p&gt;[This is the same answer as Andreas Rossberg's, a bit more elaborated.]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that the &lt;em&gt;only&lt;/em&gt; way you can overload a function symbol in Haskell is via type classes.  So, if I want to define &amp;lt; for some type, say (Int, Int), then the only way to do so is by saying that (Int, Int) is an instance of Ord.  But, in order to do that, (Int, Int) must first be an instance of Eq.  So, I have to make (Int, Int) an instance of Eq, define its == operation, then make it an instance of Ord and define its &amp;lt; and &amp;lt;= operations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[You might also see the related question &lt;a href=&quot;https://cstheory.stackexchange.com/questions/9731/type-classes-vs-object-interfaces&quot;&gt;Type classes vs object interfaces&lt;/a&gt; where similar issues are mentioned.]&lt;/p&gt;&#xA;" OwnerUserId="8519" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2012-03-09T09:11:11.120" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10563" PostTypeId="1" CreationDate="2012-03-06T19:52:21.183" Score="5" ViewCount="1270" Body="&lt;p&gt;Suppose we have a binary search tree $T$ built over keys from a totally ordered set, and we want to support the standard dictionary lookup $\mbox{Find}(x)$ which returns a pointer to the node containing key $x$, or reports that $x$ is not contained in $T$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Normally, we start a query from the root of a binary search tree, but we don't have to.&#xA;From any node in the search tree, we can traverse the tree to find the location of any key in the search tree using only local information stored at each node. This takes $O(h)$ time, where $h$ is the height of the tree.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now suppose we want to support that same $\mbox{Find()}$ query over keys drawn from a partial order. &#xA;A quadtree built over 2d points has these three interesting properties:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;The data in the tree is partially ordered.&lt;/li&gt;&#xA;&lt;li&gt;We can perform a $\mbox{Find()}$ query in $O(h)$ time using only local information at each node. &lt;/li&gt;&#xA;&lt;li&gt;It is often used to answer more complex queries.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question: are there other tree data structures that meet these three criteria?&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Justification of the three criteria for the quadtree is included below:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) Points in two dimensions are partially ordered. Sorting 2d points, or finding the successor of a point $(x,y)$ doesn't have meaning unless we first define a total order on the points, essentially projecting them down to one dimension. (Sort these points &lt;em&gt;lexographically&lt;/em&gt;, find the successor of $(x,y)$ &lt;em&gt;along this space-filling curve&lt;/em&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) Each cell of a quadtree stores an axis-aligned rectangle, and the rectangle of a parent is the union of the rectangles of the children. We can navigate to the correct node in $O(h)$ time by comparing the point we are searching for with the rectangle stored at each node along our search path.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;3) e.g. Approximate nearest neighbor or approximate range queries. &lt;/p&gt;&#xA;" OwnerUserId="8078" LastActivityDate="2012-03-06T23:21:11.420" Title="Trees that structure partially ordered data" Tags="&lt;ds.data-structures&gt;&lt;tree&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="10565" PostTypeId="2" ParentId="10494" CreationDate="2012-03-06T22:39:53.860" Score="2" Body="&lt;p&gt;Disclaimer: I'm not sure I understood your question. Do you want to talk about isomorphism between two data structures, or between two &quot;data structure specifications&quot;? (These are sometimes called Abstract Data Types.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you consider the cell probe model, then I think a concept of isomorphism easily arises. That is because the cell probe model models computation by a decision tree, so isomorphism is easy to define. The cell probe model would help, I think, both if you consider isomorphism between data structure implementations, and if you consider data structure specifications.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For information on the cell probe model, see e.g. the survey of Miltersen. (&lt;a href=&quot;http://www.daimi.au.dk/~bromille/Papers/survey3.ps&quot; rel=&quot;nofollow&quot;&gt;&lt;em&gt;Cell Probe Complexity: A Survey&lt;/em&gt;&lt;/a&gt;)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you say more about why you need to define isomorphism between data structures, it might be possible to provide more help. Feel free to message me.&lt;/p&gt;&#xA;" OwnerUserId="154" LastEditorUserId="657" LastEditDate="2012-03-07T08:21:35.603" LastActivityDate="2012-03-07T08:21:35.603" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10566" PostTypeId="2" ParentId="10563" CreationDate="2012-03-06T23:21:11.420" Score="1" Body="&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Interval_tree&quot; rel=&quot;nofollow&quot;&gt;Interval trees&lt;/a&gt; store partially ordered data (intervals) and can answer complex queries (e.g. find all the intervals overlapping given one/containing given one/etc). Looks like criteria (2) and (3) are met, but I'm not sure if I understand (1) correctly.&lt;/p&gt;&#xA;" OwnerUserId="7846" LastActivityDate="2012-03-06T23:21:11.420" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="10567" PostTypeId="1" CreationDate="2012-03-07T06:26:44.157" Score="-5" ViewCount="2634" Body="&lt;p&gt;I have seen descriptions for an algorithm that can take a regular deterministic finite automata and create a non-deterministic finite automata that is guaranteed to generate the reverse of string accepted by the DFA.  Does anyone know of a &quot;formal&quot; proof that shows this is true in all cases?  Guessing induction would be used to prove?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The algorithm goes something like this:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Take original DFA, and change the initial state to the final state&lt;/li&gt;&#xA;&lt;li&gt;Reverse all accepting states in DFA to non-accepting states&lt;/li&gt;&#xA;&lt;li&gt;Set original starting state to accepting state and reverse all transitions&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Any thoughts would be greatly appreciated!&lt;/p&gt;&#xA;" OwnerUserId="8649" LastActivityDate="2012-03-07T17:17:08.277" Title="Proof that DFA that accepts string has NFA that accepts reversal of string" Tags="&lt;fl.formal-languages&gt;&lt;automata-theory&gt;&lt;regular-language&gt;&lt;compilers&gt;&lt;automated-theorem-proving&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10568" PostTypeId="2" ParentId="10547" CreationDate="2012-03-07T07:10:50.420" Score="10" Body="&lt;p&gt;I do not know of good tutorial material, but there are papers that are sufficiently elementary for a grad student (like me). The first might be what you are looking for (emphasis is mine).&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;a href=&quot;http://dl.acm.org/citation.cfm?id=964001.964003&quot;&gt;&lt;em&gt;Simple relational correctness proofs for static analyses and program transformations&lt;/em&gt;&lt;/a&gt;, Nick Benton. 2004.&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;We show how some classical static analyses for imperative programs, and the optimizing transformations which they enable, may be expressed and &lt;em&gt;proved correct using elementary logical and denotational techniques&lt;/em&gt;. The key ingredients are an interpretation of program properties as relations, rather than predicates, and a realization that although many program analyses are traditionally formulated in very intensional terms, the associated transformations are actually enabled by more liberal extensional properties.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;These papers may also interest you. They helped me greatly!&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.dcs.warwick.ac.uk/people/academic/David.Lacey/papers/proving.pdf&quot;&gt;Proving Correctness of Compiler Optimizations by Temporal Logic&lt;/a&gt;, David Lacey, Neil D. Jones, Eric Van Wyk, Carl Christian Frederiksen. I would have thought there was more material using bisimulation in the context of compiler optimizations. If your aim is really denotational techniques, you can probably encode these proofs using characterisations of bisimulation.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://cseweb.ucsd.edu/~lerner/papers/popl10.html&quot;&gt;Generating Compiler Optimizations from Proofs&lt;/a&gt;, Ross Tate, Michael Stepp, and Sorin Lerner. Includes a category theoretic formalisation of their proof method.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://dl.acm.org/citation.cfm?id=1542513&quot;&gt;Proving Optimizations Correct using Parameterized Program Equivalence&lt;/a&gt;, Sudipta Kundu, Zachary Tatlock, and Sorin Lerner. Go there if you like logical relations.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.springerlink.com/content/n513653k294m871k/&quot;&gt;A Formally Verified Compiler Back-end&lt;/a&gt; Xavier Leroy.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="4155" LastActivityDate="2012-03-07T07:10:50.420" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10569" PostTypeId="2" ParentId="10567" CreationDate="2012-03-07T07:54:45.470" Score="4" Body="&lt;p&gt;If you choose a crisp, symmetric model of NFA $A$ with state set $Q$, where an input symbol maps a subset of $Q$ into another subset of $Q$, with initial and final (accepting) subsets of $Q$, then your sketch is practically a proof.  In fact, it will work even if you start, more generally, with an NFA rather than a DFA. (You do have a bit of confusion about final vs accepting states -- they are the same thing, and you'd simply interchange them)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To formalize it, you would indeed use induction to define the transition relation on strings and subsets of states: $\delta (Q_1,xa) = \delta (\delta (Q_1,x),a)$ and the reverse: $\delta_R (Q_2,ax) = \delta_R (\delta_R (Q_2,x),a)$ and show that you get an NFA $A_R$ that accepts exactly the reverses of strings accepted by $A$, the crucial step being that $\delta (Q_1,x)=Q_2 \Leftrightarrow  \delta_R (Q_2,x)=Q_1$ for string $x$. Finish by applying that to the initial and final state subsets, which define the language accepted by $A$ and its reverse by $A_R$, string reversal also being given by an inductive/recursive definition.&lt;/p&gt;&#xA;" OwnerUserId="8487" LastEditorUserId="8487" LastEditDate="2012-03-07T17:17:08.277" LastActivityDate="2012-03-07T17:17:08.277" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10570" PostTypeId="2" ParentId="10542" CreationDate="2012-03-07T07:57:17.817" Score="7" Body="&lt;p&gt;If you mean &quot;similar&quot; in the colloquial sense, I think JeffE's answer captures what some people mean.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In a technical sense though, it depends on what you care about. If asymptotic time complexity is all you care about, the difference between recursion and iteration may not matter. If computatability  is all you care about, the difference between a counter variable and a one-symbol stack do not matter.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To compare algorithms, a first step would be to make the notion of equivalence precise. Intuitively, let $A$ be the space of algorithms and $M$ be a space of mathematical objects and $\mathit{sem}: A \to M$ be a function encoding that $\mathit{sem}(P)$ is the meaning of algorithm $P$. The space $M$ could contain anything ranging from the number of variables in your algorithm, to its state-graph or it's time complexity. I don't believe there is an absolute notion of what $M$ can be. Given $M$ though, we can say two algorithms are equivalent if $\mathit{sem}(P)$ equals $\mathit{sem}(Q)$. Let me add that I think each of the five criteria you mentioned can be formalised mathematically in this manner.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we want to talk about an algorithm being more general than another (or an algorithm refining another), I would endow $M$ with more structure. Imagine that $(M, \sqsubseteq)$ is a partially ordered set and the order $x \sqsubseteq y$ encodes that $x$ is a more defined object than $y$. For example, if $M$ contains sets of traces of an algorithm and $\sqsubseteq$ is set inclusion, $\mathit{sem}(P) \sqsubseteq \mathit{sem}(Q)$ means that every trace of $P$ is a trace of $Q$. We can interpret this as saying that  $P$ is more deterministic than $Q$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Next, we could ask if it's possible to quantify how close two algorithms are. In this case, I would imagine that $M$ has to be endowed with a metric. Then, we can measure the distance between the mathematical objects that two algorithms represent. Further possibilities are to map algorithms to measure spaces or probability spaces and compare them using other criteria. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;More generally, I would ask - what do you care about (in intuitive terms), what are the mathematical objects representing these intuitive properties, how can I map from algorithms to these objects, and what is the structure of this space? I would also ask if the space of objects enjoys enough structure to admit a notion of similarity. This is the approach I would take coming from a programming language semantics perspective. I'm not sure if you find this approach appealing, given the vastly different cultures of thought in computer science.&lt;/p&gt;&#xA;" OwnerUserId="4155" LastActivityDate="2012-03-07T07:57:17.817" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10572" PostTypeId="2" ParentId="10542" CreationDate="2012-03-07T09:44:56.337" Score="3" Body="&lt;p&gt;Very interesting question, and very nice paper Ryan!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I do definitely agree with the idea that making an assessment on the overall similarity between algorithms is mainly a subjective value judgement. While from a technical point of view there are a number of features that are closely observed to decide upon the similarity of algorithms, in the end, it is also a matter of personal taste. I will try to provide a description of the importance of both sides of the same coin while referring to the particular points of your question:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;From a technical point of view:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Ryan already pointed out that both algorithms &lt;strong&gt;must solve the same problem&lt;/strong&gt;. One could go even further and generalize this notion by saying that it is usually enough to prove that there is a polynomial transformation of the same instance that is understoodable by algorithm A so that algorithm B can handle it. However, this would be actually very weak. I do prefer to think of the similarity in a stronger sense. &lt;/li&gt;&#xA;&lt;li&gt;However, I would never expect for two equivalent algorithms to have the same intuitive idea ---though, again, this is a definition which ain't easy to capture. More than that, it is often the case that algorithms that are deemed to be similar do not follow the main rationale. Consider for example some sorting algorithms which however, originated in different ways following different ideas. As an extreme example consider genetic algorithms which are usually considered by the mathematical community just as stochastic processes (and therefore they are equivalent in their view) which are then modeled and analyzed in quite a different way. &lt;/li&gt;&#xA;&lt;li&gt;Moreover, I would even generalize this notion to say that other technicalities such as the termination condition or the pre-processing stage do not matter often. But this is not always the case. See for example &lt;a href=&quot;http://www.aaai.org/ocs/index.php/SOCS/SOCS11/paper/view/4017&quot; rel=&quot;nofollow&quot;&gt;Dijkstra's Algorithm versus Uniform Cost Search or a Case Against Dijkstra's Algorithm&lt;/a&gt;. Both algorithms are so close that most people do not tell the difference, yet the differences (being technical) were very important for the author of that paper. Much the same happens with the pre-processing step. In case you are familiar with the $N$-puzzle, then observe that an A$^*$-like search algorithm using the Manhattan distance or $(N^2-1)$ additive pattern databases would actually expand the same number of nodes in exactly the same order, and that makes both algorithms (and their heuristics) to be strictly equivalent in a very strong sense, whereas the first approach has no pre-processing and the second one has a significant overhead before starting to solve a particular instance. However, as soon as your Pattern Databases consider more simulatenous interactions there is a huge gap in performance between them, so that they are definitely different ideas/algorithms.&lt;/li&gt;&#xA;&lt;li&gt;As a matter of fact, I think that most people would judge algorithms for their &lt;strong&gt;purpose&lt;/strong&gt; and &lt;strong&gt;performance&lt;/strong&gt;. Therefore, asymptotic performance is a good metric to reason about the similarity between programs. However, bear in mind that this performance is not necessarily the typical case so that if two algorithms have the same asymptotic performance but behave differently in practice, then you would probably conclude that they are different. The strong evidence in this regard would be that both algorithms have the same performance both on time and memory (and this, as Suresh said, makes DFS and BFS to look different). In case this assertion does not sound convincing to you, please refer to the excellent (and very recommended book): &lt;a href=&quot;http://books.google.es/books?id=lOXtkUMjQpsC&amp;amp;dq=%22Programming+the+Universe%22&amp;amp;hl=es&amp;amp;sa=X&amp;amp;ei=yypXT8fzFee90QXOs8G5DQ&amp;amp;redir_esc=y&quot; rel=&quot;nofollow&quot;&gt;Programming the Universe&lt;/a&gt; by Seth Lloyd. In page 189 he refers to a list with more than 30 measures of complexity that can be used to regard algorithms as being different.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;So what makes algorithms to be similar/different? In my view (and this is purely speculative), the main difference is about what they suggest to you. Many, many (many!) algorithms differ just in a few technicalities when serving to the same purpose so that the typical case is different for different ranges of the input. However, the greatest of all differences is (to my eye) what they suggest to you. Algorithms have different capabilities and therefore their own strengths and weaknesses. If two algorithms look like being the same but might be extended in different ways to cope with different cases then I would conclude that they are different. Often, however, two algorithms do look much the same so that you would regard them to be the same ... until someone arrives making a key distinction and suddenly, they are completely different!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Sorry, my response was in the end so long ... &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Cheers,&lt;/p&gt;&#xA;" OwnerUserId="6242" LastActivityDate="2012-03-07T09:44:56.337" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="10574" PostTypeId="1" CreationDate="2012-03-07T13:08:52.753" Score="8" ViewCount="191" Body="&lt;p&gt;As is well known, assignment problems for $n$-partite graphs, with $n$&gt;2 are NP-hard, where as assignment problems on bipartite graphs can be solved in polynomial time using the Kuhn's Hungarian algorithm. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is a 1992 paper by Crama &amp;amp; Spieksma (&lt;a href=&quot;http://dx.doi.org/10.1016/0377-2217%2892%2990078-N&quot;&gt;link to paper&lt;/a&gt;) that discusses two special case of 3AP: &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;3AP where the cost is the sum of the costs within the triple (i.e. circumference of the triangle)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;3AP where the cost is the sum of the two shortest lengths&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Both are shown to still be NP hard, but the do give a heuristic, the solution of which is at most 3/2 or 4/3 of the correct solution respectively.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is an interesting recent review paper (&lt;a href=&quot;http://dx.doi.org/10.1007/s10732-010-9133-3&quot;&gt;link to paper&lt;/a&gt;) by Gutin and Karapetyan discussing various heuristics for n-AP and their performance in general ,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is the best-performing heuristic to solve class 1 of Crama &amp;amp; Spieksma. Is it their original heuristic as given in their paper or have there been new developments? Bonus points if it is broken down to Hungarian Algorithm for example as in Huang &amp;amp; Lim (&lt;a href=&quot;http://144.214.237.85/andrew/images/course/PAPERS/ejor2005a.pdf&quot;&gt;PDF&lt;/a&gt;)&lt;/p&gt;&#xA;" OwnerUserId="8653" LastEditorUserId="186" LastEditDate="2012-03-27T21:50:24.063" LastActivityDate="2012-03-27T21:50:24.063" Title="what is the best heuristic to solve 3AP with Euclidean costs?" Tags="&lt;ds.algorithms&gt;&lt;graph-algorithms&gt;&lt;heuristics&gt;" AnswerCount="0" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10575" PostTypeId="1" AcceptedAnswerId="10582" CreationDate="2012-03-07T16:03:11.600" Score="9" ViewCount="327" Body="&lt;p&gt;Are there any known results on the complexity of finding a separator (of any size) satisfying a given property?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I know that a clique separator is easy (polynomial time) to find and also know that many papers consider the problem of finding small separators or separators that leave connected components of size at most a fraction of the size of the original graph. But what if one need a separator with other properties, say, a cubic, bipartite or 2-connected separator? It's also easy to create properties which are NP-hard to decide, hence it would be interesting to distinguish between the P and NPC cases.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit: Someone (which is not a user of this website) just told me that the problem is polynomial if the property is &quot;has a universal vertex&quot; and NP-complete if the property is &quot;induces an independent set&quot; or &quot;induces a complete bipartite graph&quot;.&lt;/p&gt;&#xA;" OwnerUserId="282" LastEditorUserId="282" LastEditDate="2012-03-07T20:25:06.437" LastActivityDate="2012-03-08T07:41:51.173" Title="Complexity of finding a graph separator with a given property" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10576" PostTypeId="2" ParentId="10385" CreationDate="2012-03-07T16:21:39.310" Score="4" Body="&lt;p&gt;If you can compute the raggedness of a line without knowing anything about the other lines, then you can model the problem as finding a minimum-weight $M$-link path in a graph. With concave integer weights for edges, there is &lt;a href=&quot;http://dx.doi.org/10.1007/BF02574380&quot; rel=&quot;nofollow&quot;&gt;an algorithm&lt;/a&gt; that solves the problem in $O(N \log U)$ time, where $U$ is the largest absolute edge weight. &lt;a href=&quot;http://dx.doi.org/10.1006/jagm.1998.0955&quot; rel=&quot;nofollow&quot;&gt;Another algorithm&lt;/a&gt; solves the problem in $N 2^{O(\sqrt{\log M \log \log N})}$ time for any concave edge weights, assuming $M = \Omega(\log N)$. Both algorithms assume that you can compute the weight of an edge in constant time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You could also use binary search to find a line width such that SMAWK uses $M$ lines with it. In some cases, this algorithm does not guarantee a solution with exactly $M$ lines, however.&lt;/p&gt;&#xA;" OwnerUserId="56" LastActivityDate="2012-03-07T16:21:39.310" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="10577" PostTypeId="2" ParentId="8120" CreationDate="2012-03-07T16:30:23.873" Score="4" Body="&lt;p&gt;Closures form an important concept that I try to teach in my undergraduate Programming Languages class.  You can find my &lt;a href=&quot;http://www.cs.bham.ac.uk/~udr/popl/index.html&quot; rel=&quot;nofollow&quot;&gt;lecture notes&lt;/a&gt; online.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The Handout 8 shows big step semantics using environments and closures.  The Handout 9 shows my flavour of the SECD machine.  (The latter didn't work all that well for teaching purposes because the students got lost in detail and didn't develop good intuitions.  So I switched to big-step semantics.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Neither of these is what you are asking for, but perhaps they could form a starting point?&lt;/p&gt;&#xA;" OwnerUserId="8519" LastActivityDate="2012-03-07T16:30:23.873" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10578" PostTypeId="1" CreationDate="2012-03-07T17:06:05.560" Score="2" ViewCount="167" Body="&lt;p&gt;What are some good resources (books, articles, sites) about polygon intersection and union algorithms?&lt;/p&gt;&#xA;" OwnerUserId="8655" LastEditorUserId="969" LastEditDate="2012-03-08T00:34:43.923" LastActivityDate="2012-03-08T13:08:44.923" Title="Some good reading on polygon algorithms" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;cg.comp-geom&gt;" AnswerCount="2" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10579" PostTypeId="2" ParentId="9731" CreationDate="2012-03-07T18:08:11.030" Score="6" Body="&lt;p&gt;In addition to Andreas's excellent answer, please keep in mind that type classes are meant to streamline &lt;em&gt;overloading&lt;/em&gt;, which affects the global name space.  There is no overloading in Haskell other than what you can obtain via type classes.  In contrast, when you use object interfaces, only those functions that are declared to take arguments of that interface will need to worry about the function names in that interface.  So, interfaces provide local name spaces.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, you had &lt;code&gt;fmap&lt;/code&gt; in an object interface called &quot;Functor&quot;.  It would be perfectly ok to have another &lt;code&gt;fmap&lt;/code&gt; in another interface, say &quot;Structor&quot;.  Each object (or class) can pick and choose which interface it wants to implement.  In contrast, in Haskell, you can have only one &lt;code&gt;fmap&lt;/code&gt; within a particular context.  You cannot import both Functor and Structor type classes into the same context.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Object interfaces are more similar to Standard ML signatures than to type classes.&lt;/p&gt;&#xA;" OwnerUserId="8519" LastEditorUserId="8519" LastEditDate="2012-03-12T11:05:56.763" LastActivityDate="2012-03-12T11:05:56.763" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10581" PostTypeId="1" CreationDate="2012-03-07T18:56:17.037" Score="1" ViewCount="357" Body="&lt;p&gt;Matrix rigidity was introduced by Valiant in 1977:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;The rigidity &lt;span class=&quot;math-container&quot;&gt;$Rig_M(r)$&lt;/span&gt; of boolean matrix &lt;span class=&quot;math-container&quot;&gt;$M$&lt;/span&gt; over GF(2) is the&#xA;smallest number of entries of &lt;span class=&quot;math-container&quot;&gt;$M$&lt;/span&gt; that must be changed in order to&#xA;reduce its rank over GF(2) down to &lt;span class=&quot;math-container&quot;&gt;$r$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$Rig_M(r)$&lt;/span&gt; has a deep connection to boolean function complexity &amp;amp; circuit lower bounds by a result of Razborov 1989 see eg [1]. It also has a connection to finding locally correctable codes eg see [2]&lt;/p&gt;&#xA;&lt;p&gt;It appears to me there is little to no published empirical analysis of &lt;span class=&quot;math-container&quot;&gt;$Rig_M(r)$&lt;/span&gt; &amp;amp; that it could give some useful insight into its properties (thinking for example of the transition point research with SAT).&lt;/p&gt;&#xA;&lt;p&gt;As a start I was interested in analyzing &lt;span class=&quot;math-container&quot;&gt;$Rig_M(r)$&lt;/span&gt; using a simple greedy algorithm. The idea is as follows.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;generate random matrixes &lt;span class=&quot;math-container&quot;&gt;$M$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Compute Delta_row(i,j) where i,j are row (vectors) of &lt;span class=&quot;math-container&quot;&gt;$M$&lt;/span&gt; and Delta_row(i,j) is the Hamming distance between the two rows&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;likewise calculate the Delta_col(i,j) where i,j are column vectors of &lt;span class=&quot;math-container&quot;&gt;$M$&lt;/span&gt; (equivalent to calculating Delta_row(i,j) of the transpose of M).&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;next sort Delta_row(i,j) and Delta_col(i,j) and remove the column or row from &lt;span class=&quot;math-container&quot;&gt;$M$&lt;/span&gt; with the &amp;quot;lowest value&amp;quot;. (the lowest value is associated with a row or column pair, remove either row or column of the pair).&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;This greedy algorithm can be used to estimate &lt;span class=&quot;math-container&quot;&gt;$Rig_M(r)$&lt;/span&gt; by giving a (fairly tight?) upper bound. One repeatedly reapplies the greedy algorithm until the matrix &lt;span class=&quot;math-container&quot;&gt;$M$&lt;/span&gt; has been reduced to size &lt;span class=&quot;math-container&quot;&gt;$r$&lt;/span&gt; and counts the sum of the Delta_row/col values of removed rows. and note that upon removing rows or columns, the new Delta_row and Delta_col arrays can be computed efficiently without recalculating the whole arrays.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;how far off can the greedy algorithm be from the optimal value &lt;span class=&quot;math-container&quot;&gt;$Rig_M(r)$&lt;/span&gt;?&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;what kind of matrices maximize the difference between the greedy algorithm and the optimal rigidity measure?&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;can a modified local greedy algorithm find the optimal value &lt;span class=&quot;math-container&quot;&gt;$Rig_M(r)$&lt;/span&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;[1] &lt;a href=&quot;https://rads.stackoverflow.com/amzn/click/com/3642245072&quot; rel=&quot;nofollow noreferrer&quot; rel=&quot;nofollow noreferrer&quot;&gt;Boolean Function Complexity by Stasys Jukna, 2011, sec 12.8 &amp;quot;rigid matrices require large circuits&amp;quot;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;[2] &lt;a href=&quot;http://www.cs.princeton.edu/%7Ezdvir/papers/Dvir10.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;On matrix rigidity and locally self-correctable codes by Zeev Dvir&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;[3] &lt;a href=&quot;http://eccc.hpi-web.de/keyword/14464/&quot; rel=&quot;nofollow noreferrer&quot;&gt;ECCC reports tagged matrix rigidity&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;[4] &lt;a href=&quot;http://mahdi.cheraghchi.info/talks/rigidity_talk.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Matrix rigidity talk/overview by Mahdi Cheraghchi&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;[5] &lt;a href=&quot;http://research.microsoft.com/en-us/um/people/nvishno/webpapers/ltvrigidity.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;The geometry of matrix rigidity by Landsberg et al&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;[6] &lt;a href=&quot;http://blog.computationalcomplexity.org/2005/07/matrix-rigidity.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;Blog note on Midrijanis paper on Matrix rigidity by Lance Fortnow&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;[7] &lt;a href=&quot;https://cstheory.stackexchange.com/questions/5080/empirical-results-in-cs-papers&quot;&gt;Empirical results in CS papers&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2013-02-24T07:14:19.353" Title="Questions about computing matrix rigidity" Tags="&lt;reference-request&gt;&lt;approximation-algorithms&gt;&lt;circuit-complexity&gt;&lt;lower-bounds&gt;&lt;open-problem&gt;" AnswerCount="1" CommentCount="12" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="10582" PostTypeId="2" ParentId="10575" CreationDate="2012-03-07T19:03:24.623" Score="8" Body="&lt;p&gt;Our paper:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://arxiv.org/abs/1110.4765&quot;&gt;http://arxiv.org/abs/1110.4765&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;shows that many of these problems are fixed-parameter tractable, i.e., we can decide in time f(k)*O(n+m) if an s-t separator of size k exists. This is true for example for the problem of finding a connected s-t separator, or a separator that is an independent set, or a separator that induces a bipartite graph. A forthcoming paper addresses the problem of finding a 2-connected s-t separator.&lt;/p&gt;&#xA;" OwnerUserId="3189" LastActivityDate="2012-03-07T19:03:24.623" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10583" PostTypeId="2" ParentId="10559" CreationDate="2012-03-07T19:04:23.953" Score="13" Body="&lt;p&gt;For the constant-time task of testing graph properties, an interesting characterization is known. A &lt;em&gt;graph property&lt;/em&gt; is a function from all graphs to $\{0,1\}$, and a graph property $P$ is &lt;em&gt;testable&lt;/em&gt; if there is a randomized algorithm $A$ such that for all $\varepsilon &amp;gt; 0$ and all graphs $G$:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$A(G)$ reads only $g(\varepsilon)$ edges of $G$ for some function $g$&lt;/li&gt;&#xA;&lt;li&gt;If $P(G)=1$ then $A(G)$ outputs ``yes'' with high probability (say, at least $2/3$)&lt;/li&gt;&#xA;&lt;li&gt;If at least $\varepsilon n^2$ edges of $G$ have to be added or removed in order to get a $G&amp;#39;$ such that $P(G&amp;#39;)=1$ (that is, $G$ is &lt;em&gt;$\varepsilon$-far from the property&lt;/em&gt;) then $A(G)$ outputs ``no'' with probability at least $2/3$&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;That is, $A$ can distinguish between graphs which have $P$ and graphs which have high edit distance from graphs having $P$. &lt;a href=&quot;http://www.tau.ac.il/~nogaa/PDFS/charac13.pdf&quot;&gt;Alon, Fischer, Newman, and Shapira&lt;/a&gt; proved that a property $P$ is testable in this way &lt;strong&gt;if and only if&lt;/strong&gt; the property can be &quot;reduced&quot; to the property of checking whether a graph has an $\varepsilon$-regular partition (in the sense of Szemeredi). This shows that testing regularity is &quot;complete&quot; for testing, in some sense. (There is also a one-sided error version of testability, see the reference.) &lt;/p&gt;&#xA;" OwnerUserId="225" LastEditorUserId="225" LastEditDate="2012-03-07T21:04:45.627" LastActivityDate="2012-03-07T21:04:45.627" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10584" PostTypeId="1" AcceptedAnswerId="10587" CreationDate="2012-03-07T20:59:43.763" Score="16" ViewCount="537" Body="&lt;p&gt;We know that we can represent any planar graph by a set of circles in the plane, known as a &lt;a href=&quot;http://en.wikipedia.org/wiki/Planar_graph#Coin_graphs&quot;&gt;coin graph&lt;/a&gt;. Each circle represents a vertex and there is an edge between two vertices if and only if the circles &quot;kiss&quot; at their boundary.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose that instead we allow the circles to overlap, and represent an edge by a pair of circles that intersect in their interior? What class of graphs can we represent in this model? Clearly we can represent complete graphs (every circle intersects every other circle). Can we represent all graphs like this?&lt;/p&gt;&#xA;" OwnerUserId="8078" LastEditorUserId="-1" LastEditDate="2012-11-17T07:35:48.653" LastActivityDate="2012-11-17T07:35:48.653" Title="Representing non-planar graphs with overlapping circles" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;graph-algorithms&gt;&lt;graph-drawing&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10586" PostTypeId="2" ParentId="10559" CreationDate="2012-03-07T22:14:50.337" Score="5" Body="&lt;p&gt;In the realm of sublinear &lt;em&gt;space&lt;/em&gt;, there's no explicit class of problems that admit a sublinear space solution, but there are large classes of problems (frequency moment estimation, dimensionality reduction etc) where the existence of a small &quot;sketch&quot; can be shown and this leads to efficient algorithms. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;But in this space as well, the algorithms are all randomized, and there are strong deterministic lower bounds mostly based on communication complexity. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2012-03-07T22:14:50.337" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10587" PostTypeId="2" ParentId="10584" CreationDate="2012-03-07T22:20:38.147" Score="19" Body="&lt;p&gt;The definitive article is a &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.33.672&quot;&gt;paper by Hlineny and Kratochvil&lt;/a&gt; from 2001. In it they show that the problem of recognizing a disk intersection graph (your question) is NP-hard, which suggests that it will be difficult to come up with a clean characterization. They also point out that $K_{3,3}$ cannot be represented as the intersection of disks, answering the other part of your question. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2012-03-07T22:20:38.147" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="10589" PostTypeId="2" ParentId="10578" CreationDate="2012-03-07T22:47:04.027" Score="2" Body="&lt;p&gt;I found this book to cover the topics well&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Computational Geometry in C&#xA;by Joseph O'Rourke&lt;/p&gt;&#xA;" OwnerUserId="8661" LastActivityDate="2012-03-07T22:47:04.027" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10590" PostTypeId="2" ParentId="3577" CreationDate="2012-03-08T01:38:32.780" Score="10" Body="&lt;p&gt;[Hopefully, this is my last answer to this question!]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Ohad's original question was about how denotational semantics differs from structural operational semantics.  He thought that both of them were compositional.  Actually, that is untrue.  Structural operational semantics is given as &lt;em&gt;sequences&lt;/em&gt; of steps.  Each step is expressed compositionally (and it is remarkable of Plotkin to make the discovery that this is possible!), but the entire behaviour is not defined compositionally.  Here is what Plotkin says in his &lt;a href=&quot;http://homepages.inf.ed.ac.uk/gdp/publications/Origins_SOS.pdf&quot;&gt;introduction&lt;/a&gt; to the SOS article [emphasis added]:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;In denotational semantics one follows an ideal of&#xA;  compositionality, where the meaning of a compound phrase is given as a function&#xA;  of the meaning of its parts. In the case of operational semantics one considers&#xA;  the behaviour of a program phrase, which is just the collection of the transitions&#xA;  it can make. This behaviour is, however, &lt;em&gt;not compositional&lt;/em&gt; when thought of as&#xA;  a function of program phrases. However the rules do give it structurally, i.e.,&#xA;  primitive recursively, in the syntax;...&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The fact that each step is expressed compositionally doesn't mean that the entire behaviour is expressed compositionally.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is a nice article by Carl Gunter called &lt;a href=&quot;http://repository.upenn.edu/cgi/viewcontent.cgi?article=1330&amp;amp;context=cis_reports&amp;amp;sei-redir=1&amp;amp;referer=http%3A%2F%2Fwww.google.com%2Furl%3Fsa%3Dt%26rct%3Dj%26q%3Dgunter%2520forms%2520of%2520semantic%2520specification%26source%3Dweb%26cd%3D1%26ved%3D0CCQQFjAA%26url%3Dhttp%253A%252F%252Frepository.upenn.edu%252Fcgi%252Fviewcontent.cgi%253Farticle%253D1330%2526context%253Dcis_reports%26ei%3DtQNYT9TzGqfP0QWU_ZDRDQ%26usg%3DAFQjCNFzzSB4SYf9UVlLUJA30Yi6q835iA%26sig2%3DyWyWBz1GuDdj7vycKtt-_g#search=%22gunter%20forms%20semantic%20specification%22&quot;&gt;Forms of Semantic Specification&lt;/a&gt;, where the different methods of specifying semantics are compared and contrasted.  Much of this material is also reproduced in the first chapter of his &quot;Semantics of Programming Languages&quot; text.  This should hopefully clarify the picture.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another word about &quot;operational semantics&quot;.  In the early days, the term &quot;operational&quot; was used to refer to any semantic definition that referred to detailed evaluation steps.  Both denotational semanticists and axiomatic proponents looked down upon &quot;operational&quot; semantics, regarding it as being low-level and machine-oriented.  I think this was really based on their belief that higher level descriptions were possible.  These beliefs were shattered as soon as they considered concurrency.  de Bakker and Zucker's &lt;a href=&quot;http://oai.cwi.nl/oai/asset/1868/1868A.pdf&quot;&gt;Processes and denotational semantics of concurrency&lt;/a&gt; has these interesting passages:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;We shall use the methodology of &lt;em&gt;denotational&lt;/em&gt; semantics.  &quot;Denotational&quot; should be contrasted here with &quot;operational&quot;: The key idea of the former approach is that expressions in a programming langauge denote values in mathematical domains equipped with an appropriate structure, whereas in the latter the operations as prescribed by the language constructs are modelled by steps performed by some suitable abstract machine....&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;The mathematical model contains various notions which, though denotational in style, are &lt;em&gt;operational in spirit&lt;/em&gt; [emphasis added].  These include the &quot;history&quot; feature of the notion of process itself, and the use of so-called silent moves in dealing with synchronization and recursion.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Here we see the authors struggling with the two notions of &quot;operational&quot;, one the technical notion - behaviour expressed using syntactic manipulations, and the other, the conceptual notion - being low-level and detailed.  The credit largely goes to Plotkin and Milner for rehabilitating &quot;operational&quot; semantics, making it as high-level as possible and showing that it could be elegant and insightful.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Despite all this, the operational notion of process is still quite different from the denotational notion of process, the latter of which was developed by both de Bakker and Hoare and their teams.  And, I think there is a lot that is mysterious and beautiful about the denotational process concept which is still to be understood.&lt;/p&gt;&#xA;" OwnerUserId="8519" LastEditorUserId="8519" LastEditDate="2012-03-08T01:57:42.803" LastActivityDate="2012-03-08T01:57:42.803" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="10592" PostTypeId="1" CreationDate="2012-03-08T02:40:56.880" Score="3" ViewCount="236" Body="&lt;p&gt;The containment $NC^1 \subseteq DSPACE[\log{n}]$ is simple and well-known (assuming a reasonable notion of uniformity for $NC^1$) and follows by:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;start with an $O(\log{n})$-depth polynomial sized Boolean circuit of fan-in $2$ over $\{\vee, \wedge,\neg\}$ &lt;/li&gt;&#xA;&lt;li&gt;convert it to a &lt;em&gt;formula&lt;/em&gt; (i.e. a circuit where all gates have fan-out bounded by 1) with a polynomial blowup in size and maintaining the depth, &lt;/li&gt;&#xA;&lt;li&gt;run a stack algorithm with an $O(\log{n})$ depth stack with entries which are bits indicating the values of gates that have been evaluated along a path from current node to the output node&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Thus the space used is logarithmic in the input completing the proof. Notice, that the entries are single bits because we didn't explicitly need to store the name of the gates along with the value since the circuit is a formula (just storing the name of the current gate suffices since tracing back its ancestor chain and thus the name of the gates whose values we have in the stack, is easy).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In trying to generalize this directly to $NC^i$ circuits ($i &amp;gt; 1$) the second step above does not seem possible (unless the $NC$ hierarchy collapses to $NC^1$). So in order to perform the simulation it seems necessary to remember the name of the gates along the ancestor chain. Notice that instead we could also remember $\log{f}$ bits where $f$ is an upper bound on the &lt;em&gt;fan-out&lt;/em&gt; of a gate since this would also uniquely identify the chain of nodes from which the current node is descended from. This impli $NC^i \subseteq DSPACE[\log^{i+1}{n}]$ since the trivial upper bound on $f$ is polynomial.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is can we bound $f$ by a constant or through some other means show that $NC^i \subseteq DSPACE[\log^i{n}]$. This &lt;a href=&quot;https://cstheory.stackexchange.com/a/190/214&quot;&gt;answer&lt;/a&gt; seems to indicate that this is indeed the case. I am interested in knowing the reference and/or the proof.&lt;/p&gt;&#xA;" OwnerUserId="214" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2012-03-08T02:40:56.880" Title="$NC^i \subseteq DSPACE[\log^i{n}]$?" Tags="&lt;reference-request&gt;&lt;complexity-classes&gt;&lt;dc.parallel-comp&gt;&lt;space-bounded&gt;" AnswerCount="0" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="10594" PostTypeId="1" AcceptedAnswerId="10596" CreationDate="2012-03-08T07:12:26.420" Score="24" ViewCount="3770" Body="&lt;p&gt;Might anyone be able to explain the difference between:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Algebraic Datatypes (which I am fairly familiar with)&lt;/li&gt;&#xA;&lt;li&gt;Generalized Algebraic Datatypes (what makes them generalized?)&lt;/li&gt;&#xA;&lt;li&gt;Inductive Types (e.g. Coq)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;(Especially inductive types.) Thank you.&lt;/p&gt;&#xA;" OwnerUserId="6696" LastEditorUserId="-1" LastEditDate="2012-11-17T07:35:43.273" LastActivityDate="2012-11-17T07:35:43.273" Title="What's the difference between ADTs, GADTs, and inductive types?" Tags="&lt;lo.logic&gt;&lt;pl.programming-languages&gt;&lt;type-theory&gt;&lt;dependent-type&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="16" ContentLicense="CC BY-SA 3.0" />
  <row Id="10595" PostTypeId="2" ParentId="10575" CreationDate="2012-03-08T07:41:51.173" Score="7" Body="&lt;p&gt;It is also hard to determine whether a graph has &lt;a href=&quot;http://arxiv.org/pdf/1104.4779v2.pdf&quot;&gt;a cut that induces a disconnected graph&lt;/a&gt;, or a graph with &lt;a href=&quot;http://rutcor.rutgers.edu/~mkaminski/preprints/Parameterizing%20cut%20sets%20in%20a%20graphs%20by%20the%20number%20of%20their%20components.pdf&quot;&gt;exactly k components for all k&gt;=2&lt;/a&gt;. On the other hand, connected cut is easy (that is k=1). &lt;/p&gt;&#xA;" OwnerUserId="8152" LastActivityDate="2012-03-08T07:41:51.173" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10596" PostTypeId="2" ParentId="10594" CreationDate="2012-03-08T10:56:02.457" Score="22" Body="&lt;p&gt;Algebraic data types let you define types recursively. Concretely, suppose we have the datatype&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xD;&#xA;  \mathsf{data\;list = Nil \;\;|\;\; Cons\;of\;\mathbb{N} \times list}&#xD;&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What this means is that $\mathsf{list}$ is the smallest set generated by the $\mathsf{Nil}$ and $\mathsf{Cons}$ operators. We can formalize this by defining the operator $F(X)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xD;&#xA;   F(X) == \{ \mathsf{Nil} \} \cup \{ \mathsf{Cons}(n, x) \;|\; n \in \mathbb{N} \land x \in X \}&#xD;&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;and then defining $\mathsf{list}$ as &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xD;&#xA;   \mathsf{list} = \bigcup_{i \in \mathbb{N}} F^i(\emptyset)&#xD;&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A &lt;em&gt;generalized&lt;/em&gt; ADT is what we get when define a type &lt;em&gt;operator&lt;/em&gt; recursively. For example, we might define the following type constructor:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xD;&#xA;   \mathsf{bush}\;a = \mathsf{Leaf\;of\;}a \;\;|\;\; \mathsf{Nest\;of\;bush}(a \times a)&#xD;&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This type means that an element of $\mathsf{bush\;}a$ is a tuple of $a$s of length $2^n$ for some $n$, since each time we go into the $\mathsf{Nest}$ constructor the type argument is paired with itself. So we can define the operator we want to take a fixed point of as:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xD;&#xA;  F(R) = \lambda X.\; \{ \mathsf{Leaf}(x) \;|\; x \in X\} \cup \{ \mathsf{Nest}(v) \;|\; v \in R(X) \}&#xD;&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An inductive type in Coq is essentially a GADT, where the indexes of the type operator are not restricted to other types (as in, for example, Haskell), but can also be indexed by &lt;em&gt;values&lt;/em&gt; of the type theory. This lets you give types for length-indexed lists, and so on.&lt;/p&gt;&#xA;" OwnerUserId="657" LastActivityDate="2012-03-08T10:56:02.457" CommentCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="10597" PostTypeId="2" ParentId="10542" CreationDate="2012-03-08T12:55:50.360" Score="5" Body="&lt;p&gt;Along the lines of Jeff's answer, two algorithms are similar if the author of one of them expects that the author of the other one might be reviewing her paper. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;But joking aside, in the theory community, I would say that what problem algorithm A is solving is rather tangental to whether it is &quot;similar&quot; to algorithm B, which might be solving a completely different problem. A is similar to B if it &quot;works&quot; because of the same main theoretical idea. For example, is the main idea in both algorithms that you can project the data into a much lower dimensional space, preserve norms with the Johnson-Lindenstrauss lemma, and then do a brute-force search? Then your algorithm is similar to other algorithms that do this, no matter what problem you are solving. There are some small number of heavy-duty algorithmic techniques that can be used to solve a wide variety of problems, and I would think that these techniques form the centroids of many sets of &quot;similar&quot; algorithms. &lt;/p&gt;&#xA;" OwnerUserId="25" LastActivityDate="2012-03-08T12:55:50.360" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10598" PostTypeId="2" ParentId="10578" CreationDate="2012-03-08T13:08:44.923" Score="0" Body="&lt;p&gt;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/3540961313&quot; rel=&quot;nofollow&quot;&gt;The monograph by Preparata and Shamos&lt;/a&gt; is worth looking at. Despite the name it's quite deep.&lt;/p&gt;&#xA;" OwnerUserId="7846" LastActivityDate="2012-03-08T13:08:44.923" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10600" PostTypeId="1" CreationDate="2012-03-08T14:51:50.827" Score="5" ViewCount="208" Body="&lt;p&gt;Given a bipartite graph $G$ with node set $(X+Y)$. Each node $x \in X$ has to be assigned to 1 node $y \in Y$. Assignment is only possible if there is an edge between $x \in X$ and $y\in Y$. Furthermore, each node $y\in Y$ can only handle $d_y$ assignments.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let us assume that for a given graph such an assignment is not possible. Now I would like to compute the minimum induced subgraph of $G$ which is still infeasible. Are you aware of any related problems, or pointers on how to solve this efficiently?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Example. Given the graph below, and the following weights: $d_a=3, d_b=2, d_c=d_d=1$&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;1 - a&#xA;  /&#xA;2 - b&#xA;  \&#xA;3 - c&#xA;  /&#xA;4&#xA;&#xA;5 - d&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;There does not exist an assignment of the nodes 1-5 to a-d. Clearly we can remove nodes 5, d from the graph because the resulting subgraph is still infeasible. Similarly we can remove the nodes 1,a,2,b. The minimum induced infeasible subgraph here is composed of the nodes 3 and 4 and c . How can I compute this efficiently?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Very much related is the following problem:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$max \sum_{i\in X}x_i-\sum_{j\in Y}d_jy_j$&lt;br&gt;&#xA;$y_j \geq x_ie_{ij} \;\;\;\forall i\in X,j\in Y$&lt;br&gt;&#xA;$x_i,x_j\in \{0,1\}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here $x_i$ is a variable indicating whether we take a vertex from partition X. Similar for $y_j$. $e_{ij}$ is a parameter indicating whether there is an edge between $i\in X$ and $j\in Y$. Note that when $x_i=1$, then all neighbors of $i$ in partition $Y$ are also 1. $d_i$ is the supply provided by node $i\in Y$. Is this integer program a known combinatorial optimization problem?&lt;/p&gt;&#xA;" OwnerUserId="8673" LastEditorUserId="-1" LastEditDate="2012-11-17T07:35:45.907" LastActivityDate="2012-11-17T07:35:45.907" Title="Minimum infeasible subgraph in assignment problem" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;" AnswerCount="0" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="10601" PostTypeId="1" AcceptedAnswerId="10602" CreationDate="2012-03-08T15:33:43.340" Score="2" ViewCount="194" Body="&lt;p&gt;I have trained a neural network using MATLAB and am ready to deploy it into my software. Right now, I include it in my software by programming the structure of the neural network and the connection weights and doing some matrix multiplication.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But there has to be a better way to do this: neural networks are basically linear separators. This means that it should be possible to model the outputs as some linear function of the inputs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So here's the question: given the structure of a neural network and the connection weights after training, how would I come up with the correct linear function of the inputs that models the functionality of the network?&lt;/p&gt;&#xA;" OwnerUserId="4138" LastActivityDate="2012-03-08T15:54:03.717" Title="Linear Function Representation of Neural Network" Tags="&lt;ne.neural-evol&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10602" PostTypeId="2" ParentId="10601" CreationDate="2012-03-08T15:54:03.717" Score="2" Body="&lt;p&gt;It would seem to depend on the complexity of your neural network. A single perceptron is a linear separator. On the other hand, it is known that multilayer feed-forward neural networks are universal approximators (see here: &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=70408&quot; rel=&quot;nofollow&quot;&gt;http://dl.acm.org/citation.cfm?id=70408&lt;/a&gt; ): i.e. they can approximate any function to arbitrary accuracy. Obviously for such a network, you should not expect to be able to express its outputs as a linear function of its inputs. &lt;/p&gt;&#xA;" OwnerUserId="25" LastActivityDate="2012-03-08T15:54:03.717" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="10603" PostTypeId="1" CreationDate="2012-03-08T16:34:39.410" Score="6" ViewCount="244" Body="&lt;p&gt;It is possible to define graphs $G$ such that whether an edge exists between two vertices $v_1$ and $v_2$ depends on non-local properties of $G$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In particular, I am interested in directed graphs where an edge $(v_1, g(v_1, w))$  exists for each leaf vertex $w$ that is reachable from $f(v_1)$. Here, $f$ maps vertices to vertices, $g$ maps pairs of vertices to vertices.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there research on data structures and algorithms for working with such self-referentially defined graph structures?&lt;/p&gt;&#xA;" OwnerUserId="8676" LastActivityDate="2012-12-02T18:34:12.120" Title="Self-referentially defined graph structures" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;ds.data-structures&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10604" PostTypeId="2" ParentId="10594" CreationDate="2012-03-08T16:36:02.430" Score="19" Body="&lt;p&gt;Consider algebraic datatypes such as:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;data List a = Nil | Cons a (List a)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;The return types of each constructor in a datatype are all the same: &lt;code&gt;Nil&lt;/code&gt; and &lt;code&gt;Cons&lt;/code&gt; both return &lt;code&gt;List a&lt;/code&gt;. If we allow the constructors to return different types, we have a &lt;a href=&quot;http://www.haskell.org/ghc/docs/7.4.1/html/users_guide/data-type-extensions.html#gadt&quot;&gt;GADT&lt;/a&gt;:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;data Empty -- this is an empty data declaration; Empty has no constructors&#xA;data NonEmpty&#xA;&#xA;data NullableList a t where&#xA;    Vacant :: NullableList a Empty&#xA;    Occupied :: a -&amp;gt; NullableList a b -&amp;gt; NullableList a NonEmpty&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;&lt;code&gt;Occupied&lt;/code&gt; has the type &lt;code&gt;a -&amp;gt; NullableList a b -&amp;gt; NullableList a NonEmpty&lt;/code&gt;, while &lt;code&gt;Cons&lt;/code&gt; has the type &lt;code&gt;a -&amp;gt; List a -&amp;gt; List a&lt;/code&gt;. It is important to note that &lt;code&gt;NonEmpty&lt;/code&gt; is a type, not a term. Another example:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;data Zero&#xA;data Succ n&#xA;&#xA;data SizedList a t where&#xA;    Alone :: SizedList a Zero&#xA;    WithFriends :: a -&amp;gt; SizedList a n -&amp;gt; SizedList a (Succ n)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Inductive types in programming languages that have dependent types allow the return types of the constructors to depend on the values (not just the types) of the arguments.&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;Inductive Parity := Even | Odd.&#xA;&#xA;Definition flipParity (x:Parity) : Parity :=&#xA;  match x with&#xA;    | Even =&amp;gt; Odd&#xA;    | Odd =&amp;gt; Even&#xA;  end.&#xA;&#xA;Fixpoint getParity (x:nat) : Parity :=&#xA;  match x with&#xA;    | 0 =&amp;gt; Even&#xA;    | S n =&amp;gt; flipParity (getParity n)&#xA;  end.&#xA;&#xA;(*&#xA;A ParityNatList (Some P) is a list in which each member&#xA;is a natural number with parity P.&#xA;*)&#xA;&#xA;Inductive ParityNatList : option Parity -&amp;gt; Type :=&#xA;  Nil : forall P, ParityNatList P&#xA;| Cons : forall (x:nat) (P:option Parity), &#xA;  ParityNatList P -&amp;gt; ParityNatList &#xA;  (match P, getParity x with&#xA;     | Some Even, Even =&amp;gt; Some Even&#xA;     | Some Odd, Odd =&amp;gt; Some Odd&#xA;     | _, _ =&amp;gt; None&#xA;   end).&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;A side note: &lt;a href=&quot;http://www.haskell.org/ghc/docs/7.4.1/html/users_guide/kind-polymorphism-and-promotion.html&quot;&gt;GHC has a mechanism for treating value constructors as type constructors&lt;/a&gt;. This is not the same as the dependent inductive types that Coq has, but it lessens the syntactic burden of GADTs somewhat, and it can lead to better error messages.&lt;/p&gt;&#xA;" OwnerUserId="43" LastActivityDate="2012-03-08T16:36:02.430" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10605" PostTypeId="1" AcceptedAnswerId="10606" CreationDate="2012-03-08T16:47:15.257" Score="6" ViewCount="402" Body="&lt;p&gt;Let $A$ be an $n \times n$-matrix, and let $1 \leq k \leq n$. Which algorithms do exist, or what is know about the complexity of computing determinants of all $k \times k$-minors?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The naive algorithm has complexity $\Theta( {n \choose k}^2 k! )$. If we apply Gaussian elemination for each minor $\Theta( {n \choose k}^2 k^3 )$. Of course, there is a dynamic programming approach, too, but I am not firm enough to compute its complexity.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am also interested whether there is a lower bound actually known. &lt;/p&gt;&#xA;" OwnerUserId="4346" LastActivityDate="2013-06-01T03:28:09.087" Title="Complexity of determinant of k-minors" Tags="&lt;ds.algorithms&gt;" AnswerCount="3" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10606" PostTypeId="2" ParentId="10605" CreationDate="2012-03-08T21:27:37.763" Score="2" Body="&lt;p&gt;There are clasical algorithms &lt;a href=&quot;http://en.wikipedia.org/wiki/Determinant#Further_methods&quot; rel=&quot;nofollow&quot;&gt;[1]&lt;/a&gt;, &lt;a href=&quot;http://en.wikipedia.org/wiki/Computational_complexity_of_mathematical_operations#Matrix_algebra&quot; rel=&quot;nofollow&quot;&gt;[2]&lt;/a&gt;, &lt;a href=&quot;http://www.ams.org/journals/mcom/1974-28-125/S0025-5718-1974-0331751-8/home.html&quot; rel=&quot;nofollow&quot;&gt;[3]&lt;/a&gt; to compute the determinant of a $k\times k$  matrix using $O(k^\omega)$ floating-point operations, where $O(k^\omega)$ is the number of operations that you need for matrix multiplication.  Therefore, you can get a better bound &#xA;$$\textstyle O(\binom{n}{k}^2 k^\omega )$$&#xA;, which is the cost of computing all of them individually and listing. You can let $\omega=2.3727$. For implementations the Strassen algorithm is often used with has $\omega=2.807$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In particular, the &lt;a href=&quot;http://www.ams.org/journals/mcom/1974-28-125/S0025-5718-1974-0331751-8/home.html&quot; rel=&quot;nofollow&quot;&gt;third reference&lt;/a&gt; uses the Strassen algorithm, but explicitly mentions:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;In Section 5 we show that matrix multiplication, triangular factorization, and&#xA;  inversion are equivalent in computational complexity.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="7286" LastEditorUserId="7286" LastEditDate="2012-03-09T08:31:33.493" LastActivityDate="2012-03-09T08:31:33.493" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="10607" PostTypeId="1" AcceptedAnswerId="10610" CreationDate="2012-03-09T02:35:51.050" Score="-1" ViewCount="87" Body="&lt;p&gt;The Equation1 in paper in &lt;a href=&quot;http://cpl.cc.gatech.edu/pubs/PDF/aaai02-djmoore-essa.pdf&quot; rel=&quot;nofollow&quot;&gt;link&lt;/a&gt; explains how to assign probability to a production rule. Fig1 explains with an example. Now, I have a problem in understanding how to work with this formula since it applies only for production E as &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;P(E-&gt;LKM)=3/5 =0.6 ; P(E-&gt;LM) =2/5=0.4.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Whereas for the other productions, I have a hard time in figuring out what goes in the numerator for instance for K, N etc productions and I am not able to understand how the probabilities are assigned to the other productions say G,H etc based on this formula. Am I misunderstanding the working of this formula? Would be highly obliged for an explanation and example. Thanking you.&lt;/p&gt;&#xA;" OwnerUserId="8683" LastEditorUserId="186" LastEditDate="2012-03-09T03:29:25.987" LastActivityDate="2012-03-09T09:29:45.933" Title="Issue in understanding conditional likelihood for a producton rule" Tags="&lt;fl.formal-languages&gt;&lt;automata-theory&gt;&lt;pr.probability&gt;&lt;context-free-languages&gt;&lt;stochastic-process&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10608" PostTypeId="1" AcceptedAnswerId="10609" CreationDate="2012-03-09T08:14:16.650" Score="29" ViewCount="1103" Body="&lt;p&gt;Are there any (functional?) programming languages where all functions have a canonical form? That is, any two functions that return the same values for all set of input is represented in the same way, e.g. if f(x) returned x + 1, and g(x) returned x + 2, then f(f(x)) and g(x) would generate indistinguishable executables when the program is compiled.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Perhaps more importantly, where/how might I find more information on canonical representation of programs (Googling &quot;canonical representation programs&quot; has been less than fruitful)? It seems like a natural question to ask, and I'm afraid that I just don't know the proper term for what I am looking for. I'm curious as to whether it is possible for such a language to be Turing complete, and if not, how expressive a programming language you can have, while still retaining such a property.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My background is rather limited, so I would prefer sources with fewer prerequisites, but references to more advanced sources may be cool too, as that way I'll know what I want to work towards.&lt;/p&gt;&#xA;" OwnerUserId="8579" LastEditorUserId="2185" LastEditDate="2012-03-10T02:28:18.447" LastActivityDate="2012-03-10T02:28:18.447" Title="Programming languages with canonical functions" Tags="&lt;computability&gt;&lt;pl.programming-languages&gt;&lt;functional-programming&gt;&lt;function&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="10609" PostTypeId="2" ParentId="10608" CreationDate="2012-03-09T08:25:47.883" Score="39" Body="&lt;p&gt;The extent to which this is possible is actually a major open question in the theory of the lambda calculus. Here's a quick summary of what's known:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;The simply-typed lambda calculus with unit, products, and function space does have a simple canonical forms property. Two terms are equal if and only if they have the same beta-normal, eta-long form. Computing these normal forms is also quite straightforward.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The addition of sum types greatly complicates matters. The equality problem is still decidable (the keyword to search for is &quot;coproduct equality&quot;), but the known algorithms work for extremely tricky reasons and to my knowledge there is no totally satisfying normal form theorem. Here are the four approaches I know of:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Neil Ghani, &lt;a href=&quot;https://personal.cis.strath.ac.uk/~ng/papers/tlca95.ps.gz&quot;&gt;&lt;em&gt;Beta-Eta Equality for Coproducts&lt;/em&gt;&lt;/a&gt;, TLCA 1995.&lt;/li&gt;&#xA;&lt;li&gt;Vincent Balat, Roberto di Cosimo, Marcelo Fiore, &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=964001.964007&quot;&gt;&lt;em&gt;Extensional normalisation and type-directed partial evaluation for typed lambda calculus with sums&lt;/em&gt;&lt;/a&gt;, POPL 2004.&lt;/li&gt;&#xA;&lt;li&gt;Sam Lindley, &lt;a href=&quot;http://homepages.inf.ed.ac.uk/slindley/papers/sum.pdf&quot;&gt;&lt;em&gt;Extensional Rewriting with Sums&lt;/em&gt;&lt;/a&gt;, TLCA 2007.&lt;/li&gt;&#xA;&lt;li&gt;Arbob Ahmad, Daniel R. Licata, and Robert Harper, &lt;a href=&quot;http://www.cis.upenn.edu/~sweirich/wmm/wmm07/programme/licata.pdf&quot;&gt;&lt;em&gt;A Proof-Theoretic Decision Procedure for the Finitary Lambda-Calculus&lt;/em&gt;&lt;/a&gt;. WMM 2007.&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The addition of unbounded types, such as natural numbers, makes the problem undecidable. Basically, you can now encode Hilbert's tenth problem.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The addition of recursion makes the problem undecidable, because having normal forms makes equality decidable, and that would let you solve the halting problem. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="657" LastEditorUserId="657" LastEditDate="2012-03-09T08:33:50.293" LastActivityDate="2012-03-09T08:33:50.293" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="10610" PostTypeId="2" ParentId="10607" CreationDate="2012-03-09T09:29:45.933" Score="3" Body="&lt;p&gt;Equation 1 from the link is used to determine the probability for one production rule.  Assume we have data that we can use for estimating these probabilities; i.e. we believe in the distribution of this data.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then, to estimate the probability of $X \rightarrow \lambda$, use the following formula:&#xA;$$&#xD;&#xA;P(X \rightarrow \lambda) = \frac{c(X \rightarrow \lambda)}{\sum_{\mu}c(X \rightarrow \mu)}&#xD;&#xA;$$&#xA;where $c(X \rightarrow \lambda)$ is the number of times we observed $X$ producing $\lambda$ in the data; $\sum c(X \rightarrow \mu)$ is the number of times we observed $X$ producing $\mu$, for any $\mu$ in the data.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thus, the denominator of the above equation becomes the number of times $X$ produces any symbol in the data, normalizing the probabilities for each left hand side of the production rule.  Note, in Figure 1 of the link, the sum of the probabilities equals one for any symbol on the left hand side of the production rules.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, let us say that $G$ appeared on the left hand side of a production rule 10 times in the data.  We observe that 8 out of these 10 times $G$ produced $J$.  We also observed that $G$ produced $Hf$ and $bfffH$ once.  Thus, $\sum_{\mu} c(G \rightarrow \mu) = 8 + 1 + 1 = 10$, $c(G \rightarrow J) = 8$, $c(G \rightarrow Hf)$ = 1, and $c(G \rightarrow bfffH) = 1$.  Hence, we compute the probabilities to be:&#xA;$$&#xD;&#xA;P(G \rightarrow J) = \frac{8}{10} = 0.8\\&#xD;&#xA;P(G \rightarrow Hf) = \frac{1}{10} = 0.1\\&#xD;&#xA;P(G \rightarrow bfffH) = \frac{1}{10} = 0.1&#xD;&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We can do the same for $H$.  Say that we observed $H$ on the left hand side 4 times, producing $l$ and $lH$ two times each.  The probabilities for both of these productions rules is then $\frac{2}{4} = 0.5$.&lt;/p&gt;&#xA;" OwnerUserId="8686" LastActivityDate="2012-03-09T09:29:45.933" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10611" PostTypeId="1" AcceptedAnswerId="10612" CreationDate="2012-03-09T15:23:56.090" Score="-3" ViewCount="1162" Body="&lt;p&gt;In Facebook friendship graph the nodes are profiles and the edges are friendships (alternatively subscriptions could serve as well if we allow directed edges).&#xA;Is the graph connected?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Obviously it changes all the time, but is it close to being connected? If not, how many not-very-small components are there?)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;References will be appreciated.&lt;/p&gt;&#xA;" OwnerUserId="7715" LastActivityDate="2012-03-11T15:12:17.890" Title="is Facebook friendship graph connected?" Tags="&lt;reference-request&gt;&lt;graph-theory&gt;" AnswerCount="1" CommentCount="4" ClosedDate="2012-03-13T05:33:31.017" ContentLicense="CC BY-SA 3.0" />
  <row Id="10612" PostTypeId="2" ParentId="10611" CreationDate="2012-03-09T15:43:18.173" Score="3" Body="&lt;p&gt;Yes, it is nearly connected, with 99.91% of individuals belonging to a single large connected component, see &lt;a href=&quot;http://arxiv.org/abs/1111.4503&quot; rel=&quot;nofollow&quot;&gt;this paper&lt;/a&gt;. You might also be interested in &lt;a href=&quot;http://arxiv.org/abs/1111.4570&quot; rel=&quot;nofollow&quot;&gt;this one&lt;/a&gt; concerning the so-called $N$ degrees of separation.&lt;/p&gt;&#xA;" OwnerUserId="5693" LastEditorUserId="5693" LastEditDate="2012-03-11T15:12:17.890" LastActivityDate="2012-03-11T15:12:17.890" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10613" PostTypeId="2" ParentId="10584" CreationDate="2012-03-09T18:20:23.350" Score="9" Body="&lt;p&gt;In &lt;a href=&quot;http://www.math.uu.nl/~Muell001/Papers/countingDGs.pdf&quot;&gt;a paper with McDiarmid&lt;/a&gt; we showed that the number of labelled graphs on $n$ &#xA;vertices that are intersection graphs of disks is $n^{3n} \cdot \Theta(1)^n$&#xA;which is far less than $2^{{n\choose 2}}$, the total number of labelled graphs on $n$ vertices, and much more that $n^n \Theta(1)^n$, the number of planar graphs (touching graphs of disks) on $n$ vertices.  &lt;br&gt;&#xA;(Here I mean by $\Theta(1)^n$ a quantity that is bounded&#xA;below by $c^n$ and above by $C^n$ for some constants&#xA;$c,C &amp;gt; 0$.) &#xA;&lt;br&gt; &lt;br&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;@ David : Thanks for mentioning my work!  &lt;br&gt;&#xA;I am also not aware of any paper that does the reduction to existential theory of the reals (ERT) for arbitrary disk graphs. &#xA;However, in &lt;a href=&quot;http://www.math.uu.nl/~Muell001/Papers/IntegerDiskSeg.pdf&quot;&gt;another paper with McDiarmid&lt;/a&gt;, we gave a construction &#xA;for &quot;embedding&quot; line arrangements in a disk graph that could be&#xA;turned into a proof of completeness for ERT with some additional work along the &#xA;lines of what we did in the paper with Kang.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Tobias Mueller&lt;/p&gt;&#xA;" OwnerUserId="8691" LastEditorUserId="8691" LastEditDate="2012-03-10T11:38:57.380" LastActivityDate="2012-03-10T11:38:57.380" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10614" PostTypeId="2" ParentId="7851" CreationDate="2012-03-09T18:46:46.853" Score="9" Body="&lt;p&gt;Another typical case of $NPI$ problem is when there is a witness of length $\omega(\log n)$ but smaller than $n^{O(1)}$. The problem of the existence of a clique of size $\log n$ in a graph is a typical example -- in this case, the witness (the specific clique) requires $O(\log^2 n)$ bits.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assuming the Exponential Time Hypothesis, such a problem is easier than an $NP$-complete problem (which requires time $\exp(n^{O(1)})$) but harder than a polynomial time problem.&lt;/p&gt;&#xA;" OwnerUserId="5538" LastActivityDate="2012-03-09T18:46:46.853" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10615" PostTypeId="1" AcceptedAnswerId="10626" CreationDate="2012-03-09T20:07:59.970" Score="2" ViewCount="490" Body="&lt;p&gt;Set S, which is an &lt;em&gt;non-empty finite subset&lt;/em&gt; of $\{ (i,j) : i, j \in N \land i \neq j \}$, is given. E.g. $S=\{(1,3), (2,3), (1,4), (2,4), (3,1), (3,4)\}$ . For each element $(i,j)$, we have weight $w_{ij}=c(i)&amp;gt;0$, where $c$ is some benefit function, and a binary decision variable $x_{ij}$. The optimization problem is defined as follows:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\text{maximize} \sum_{(i,j)\in S} w_{ij}x_{ij} $$&#xA;$$\text{s.t.} x_{ij}+x_{ik} \le 1 $$&#xA;$$x_{ij}+x_{jk} \le 1 $$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note this problem is not the &lt;em&gt;Maximum Weighted  Matching&lt;/em&gt; problem as edges that share the same end point are allowed.&lt;/p&gt;&#xA;" OwnerUserId="8564" LastEditorUserId="8564" LastEditDate="2012-03-15T18:00:26.897" LastActivityDate="2012-03-15T18:12:46.917" Title="Is the following optimization problem NP-hard?" Tags="&lt;cc.complexity-theory&gt;&lt;graph-algorithms&gt;&lt;np-hardness&gt;&lt;optimization&gt;&lt;linear-programming&gt;" AnswerCount="2" CommentCount="8" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10616" PostTypeId="2" ParentId="10615" CreationDate="2012-03-10T00:09:22.150" Score="4" Body="&lt;p&gt;(I am assuming that $N^+$ is some finite set, and I will use the shorthand notation $N = N^+$.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let us interpret each $i \in N$ as a &lt;em&gt;node&lt;/em&gt; and each $(i,j) \in N$ as a &lt;em&gt;directed edge&lt;/em&gt; from $i$ to $j$; now $(N,S)$ is the complete bipartite graph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The task is to choose a subset $X \subseteq S$ of edges. If we choose an edge $(i,j)$, we get the &quot;benefit&quot; $c(i)$. The constraints are:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;For each node $j$ we can take at most one outgoing edge.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;For each node $j$ we can take only incoming edges or outgoing edges, not both.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Put otherwise, we are only allowed to choose edges that form disjoint stars (with the edges directed from the leaf nodes towards the center). You get a benefit $c(j)$ for each leaf $j$, and zero benefit for the center.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But now the problem becomes trivial: just find a node $k$ that minimise $c(k)$, and choose all edge $(j,k)$ with $j \ne k$.&lt;/p&gt;&#xA;" OwnerUserId="74" LastActivityDate="2012-03-10T00:09:22.150" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10617" PostTypeId="1" AcceptedAnswerId="10618" CreationDate="2012-03-10T00:49:04.987" Score="5" ViewCount="400" Body="&lt;p&gt;Relating to the &lt;a href=&quot;https://cstheory.stackexchange.com/a/10377/7884&quot;&gt;discussion on whether fractals are part of TCS&lt;/a&gt;, my question is:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What are some important work/results in fractals in TCS?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The work/results may be focusing on fractals or it may use fractal concepts as a secondary analysis of some primary topic.&lt;/p&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2012-03-11T08:54:54.233" Title="What is some important work in fractals?" Tags="&lt;reference-request&gt;&lt;fractals&gt;" AnswerCount="4" CommentCount="2" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="10618" PostTypeId="2" ParentId="10617" CreationDate="2012-03-10T01:34:26.177" Score="10" Body="&lt;p&gt;Mark Braverman has written quite a bit about Julia sets. See, e.g. &lt;a href=&quot;http://www.springer.com/mathematics/computational+science+%26+engineering/book/978-3-540-68546-3&quot; rel=&quot;nofollow&quot;&gt;Computability of Julia Sets&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="25" LastEditorUserId="612" LastEditDate="2012-03-11T08:48:47.150" LastActivityDate="2012-03-11T08:48:47.150" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10620" PostTypeId="1" AcceptedAnswerId="10633" CreationDate="2012-03-10T02:51:30.547" Score="16" ViewCount="3657" Body="&lt;p&gt;In programming language perspective, what is mean by subtyping? I heard that &quot;Inheritance is not Subtyping&quot;. Then what are the differences between inheritance and subtyping?&lt;/p&gt;&#xA;" OwnerUserId="8001" LastEditorUserId="77" LastEditDate="2012-03-11T08:49:25.017" LastActivityDate="2012-03-11T13:08:48.330" Title="How does inheritance differ from subtyping?" Tags="&lt;pl.programming-languages&gt;&lt;type-theory&gt;&lt;type-systems&gt;&lt;object-oriented&gt;" AnswerCount="1" CommentCount="9" FavoriteCount="11" ContentLicense="CC BY-SA 3.0" />
  <row Id="10621" PostTypeId="2" ParentId="10617" CreationDate="2012-03-10T03:21:19.727" Score="8" Body="&lt;p&gt;Space filling curves turn out to be useful when building quad trees for search. &lt;a href=&quot;http://valis.cs.uiuc.edu/~sariel/book/&quot;&gt;Sariel's book has more on this&lt;/a&gt;. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2012-03-10T03:21:19.727" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="10623" PostTypeId="2" ParentId="10617" CreationDate="2012-03-10T09:03:53.607" Score="4" Body="&lt;p&gt;Mandelbrot set $M$ is defined using the complex equation $P_c (z)=z^2 +c$  where $c$ is a complex number.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let Set $M=${$c |$ the sequence $P_c (0),P_c (P_c (0)), P_c (P_c (P_c (0)))...$ is bounded such that every $P^n_c (0)$ has a complex magnitude less than 2 }&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The Mandelbrot set is &lt;a href=&quot;http://www.complex-systems.com/pdf/07-6-2.pdf&quot; rel=&quot;nofollow&quot;&gt;undecidable&lt;/a&gt; under computation models over $R$.&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2012-03-10T09:22:56.950" LastActivityDate="2012-03-10T09:22:56.950" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10625" PostTypeId="1" CreationDate="2012-03-10T10:30:38.927" Score="1" ViewCount="308" Body="&lt;p&gt;I was studying time complexity when it comes to bounded degree graph problems and I was wondering if I can get help with the following two problems. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) Is the set of all (G, k) where G is a graph with maximum degree of at most 4 and contains an independent set of size at least k in polynomial time or NP-complete?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) Is the set of all (G, k) where G is a graph with max degree 100 containing a clique of at least size k in P or NP-complete? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since both Independent Set and Clique are NP-Complete, my first instinct is to say that 1) and 2) are both NP-complete. However, due to the bounded degree restriction, that is likely not true. I am not quite sure what I should be reducing from. Since if I were to attempt to show they are in P, I would have to reduce from something in P and I don't know anything that are remotely similar except Clique and Ind. Set, but like I said, those are NP-complete. I would really appreciate any help I can get with those two proofs. Any proof or hint would be very welcome!&lt;/p&gt;&#xA;" OwnerUserId="8704" LastActivityDate="2012-03-10T10:30:38.927" Title="NP-Completeness of Certain Bounded Degree Graphs" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;&lt;np-hardness&gt;&lt;complexity-classes&gt;&lt;time-complexity&gt;" AnswerCount="0" CommentCount="3" ClosedDate="2012-03-13T05:33:06.633" ContentLicense="CC BY-SA 3.0" />
  <row Id="10626" PostTypeId="2" ParentId="10615" CreationDate="2012-03-10T10:46:04.360" Score="8" Body="&lt;p&gt;The &lt;strong&gt;new version&lt;/strong&gt; of the problem is indeed NP-hard.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Reduction from set cover: Subsets are $S_1, S_2, ..., S_m$ and the universe is $U = \{ a_1, a_2, ..., a_n \}$. Construct a node-weighted directed graph $(N,S,c)$ as follows:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Nodes are $N = \{ a_1, a_2, ..., a_n, S_1, S_2, ..., S_m, S&amp;#39;_1, S&amp;#39;_2, ..., S&amp;#39;_m \}$.&lt;/li&gt;&#xA;&lt;li&gt;Edges are: $(a_j,S_i)$ iff $a_j \in S_i$, and $(S_i,S&amp;#39;_i)$ for all $i$.&lt;/li&gt;&#xA;&lt;li&gt;Weights are: $w(a_j) = M$ for all $j$, and $w(S_i) = 1$ and $w(S&amp;#39;_i) = 0$ for all $i$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Now if there is a set cover $X$ of size at most $k$, we can get the benefit of at least $nM + m - k$ as follows:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;For each $a_j$ pick one set $S_i \in X$ in the cover with $a_j \in S_i$, and choose the edge $(a_j,S_i)$; we get the benefit of $M$ from $a_j$.&lt;/li&gt;&#xA;&lt;li&gt;For each $S_i \notin X$ we choose the edge $(S_i, S&amp;#39;_i)$; we get the benefit of $1$ from $S_i$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Conversely, if we can get the benefit of at least $nM + m - k$, then we have at most $k$ nodes in $\{S_1, S_2, ..., S_m\}$ and all of the nodes in $U$ must have outgoing edges; this gives a set cover of size at most $k$.&lt;/p&gt;&#xA;" OwnerUserId="74" LastEditorUserId="74" LastEditDate="2012-03-10T20:02:14.563" LastActivityDate="2012-03-10T20:02:14.563" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10627" PostTypeId="1" CreationDate="2012-03-10T14:29:34.503" Score="23" ViewCount="507" Body="&lt;p&gt;I am trying to find how close $tw(G)$ and $E[tw(G)]$ really are, when $G \in G(n,p=c/n)$&#xA;and $c&amp;gt;1$ is a constant not depending on n (so $E[tw(G)] = \Theta(n)$). My estimate is that $tw(G) \leq E[tw(G)] + o(n)$ w.h.p, but i haven't been able to prove it.&lt;/p&gt;&#xA;" OwnerUserId="8708" LastEditorUserId="186" LastEditDate="2012-03-10T15:38:25.337" LastActivityDate="2014-04-23T08:14:59.247" Title="How big is the variance of the treewidth of a random graph in G(n,p)?" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;treewidth&gt;&lt;random-graphs&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="10631" PostTypeId="2" ParentId="10617" CreationDate="2012-03-11T03:05:39.847" Score="-9" Body="&lt;p&gt;yrs ago when I asked about this elsewhere, there was an assertion that &quot;fractals are not technically defined&quot;. think there is some validity to that. since then Ive been thinking that maybe fractals are best defined as a computational sequence or &quot;computation tableau&quot; eg via a turing machine. this would be a very broad definition but seems to fit &amp;amp; dont see obvious alternative. (worthy of another question here maybe) or at least there seem to be multiple plausible definitions of fractals.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;also in line with this def of fractals in terms of computational tableaus, one major contribution to study of fractals is via cellular automata patterns, heavily studied by Wolfram in New Kind of Science.[1][2]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] &lt;a href=&quot;http://en.wikipedia.org/wiki/A_New_Kind_of_Science&quot; rel=&quot;nofollow&quot;&gt;New Kind of Science/wikipedia&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] &lt;a href=&quot;http://www.wolframscience.com/nksonline/toc.html&quot; rel=&quot;nofollow&quot;&gt;New Kind of Science/Wolfram online version&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2012-03-11T03:05:39.847" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="10632" PostTypeId="1" AcceptedAnswerId="10644" CreationDate="2012-03-11T08:57:27.143" Score="4" ViewCount="232" Body="&lt;p&gt;It is known that if calculating permanent is easy, then solving hard problems in NP is easy. Is there a transparent example regarding application of say finding independent set or find chromatic number of a graph through the permanent?&lt;/p&gt;&#xA;" OwnerUserId="5511" LastEditorUserId="-1" LastEditDate="2012-11-17T07:35:32.337" LastActivityDate="2012-11-17T07:35:32.337" Title="examples of use of permanents" Tags="&lt;cc.complexity-theory&gt;&lt;counting-complexity&gt;&lt;permanent&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="10633" PostTypeId="2" ParentId="10620" CreationDate="2012-03-11T11:15:59.470" Score="19" Body="&lt;p&gt;[I haven't thought deeply about the issues of object-oriented type systems, but I will say what I know to get the discussion going.]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We say that $A$ is a subtype of $B$ if all $A$-typed values can be used in every context where $B$-typed values are expected.  Or, to put another way, $A$-typed values can &quot;masquerade&quot; as $B$-typed values.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If such masquerading poses no issues with type checking, i.e., plugging in $A$-typed values where $B$-typed values are needed continues to type check, we call it &lt;a href=&quot;http://en.wikipedia.org/wiki/Structural_subtyping&quot; rel=&quot;nofollow noreferrer&quot;&gt;&quot;structural subtyping&quot;&lt;/a&gt;.  If it cause no issues with behaviour, i.e., such plugging does not alter the behaviour expected, then we call it &lt;a href=&quot;http://en.wikipedia.org/wiki/Behavioral_subtyping&quot; rel=&quot;nofollow noreferrer&quot;&gt;&quot;behavioural subtyping&quot;&lt;/a&gt;.  (The &quot;behaviour expected&quot; will have to be formalised separately and many notions of behaviour are possible.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Structural subtyping does not ensure behavioural subtyping because the structure of a type might match for accidental reasons.  However, defining the behaviour expected is not easy.  So, many programming languages use an intermediate point, where the user has to declare which type is a subtype of which.  This is referred to as &lt;a href=&quot;http://en.wikipedia.org/wiki/Nominative_type_system&quot; rel=&quot;nofollow noreferrer&quot;&gt;&quot;nominal subtyping&quot;&lt;/a&gt;.  See the question on &lt;a href=&quot;https://cstheory.stackexchange.com/questions/3991/implicit-vs-explicit-subtyping&quot;&gt;Implicit vs explicit subtyping&lt;/a&gt; for a discussion of this issue.  The idea is that the programmer has to ensure behavioural subtyping for all declared subtypes using his own ingenuity.  The language cannot offer any help.  However, all declared subtypes must be at least structural subtypes.  Otherwise, the program would fail to type check.  The language can help ensure this.  (Some programming languages don't have good enough type systems to ensure this at compile-time.  If so, the type failure would be detected at run-time, or perhaps wrong results might be produced.  Such type holes are obviously undesirable.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;When one defines subclasses in object oriented programs, one typically adds publicly visible fields (or methods).  In most programming languages, such subclasses are regarded as &lt;em&gt;nominal&lt;/em&gt; subtypes.  The question is whether they are also &lt;em&gt;structural&lt;/em&gt; subtypes.  If they are not, i.e., the programming language allows one to declare nominal subtypes that are not structural subtypes, then there would be type holes in the programming language.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In simple cases, adding fields works fine.  The type of the superclass expects fewer fields than the type of the subclass.  So, if you plug in an instance of a subclass where an instance of the sueprclass is expected, the program will just ignore the additional fields provided and nothing goes wrong.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, if the superclass or subclass has methods that take arguments of the same type as itself, or return results of the same type as itself, then problems arise.  Then the interface type of the subclass is &lt;em&gt;not&lt;/em&gt; a structural subtype of that of the superclass.  Widely used type-safe programming languages such as Java do not allow such subclasses.  So, they &lt;em&gt;restrict&lt;/em&gt; the language to obtain type safety.  The programming language Eiffel is said to have sacrificed type-safety to obtain &lt;em&gt;flexibility&lt;/em&gt; instead.  If one designs a strong type system that retains flexibility, one must give up the principle that subclasses give rise to subtypes.  Hence the title of the paper &lt;a href=&quot;http://www.cs.utexas.edu/~wcook/papers/InheritanceSubtyping90/CookPOPL90.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;&quot;Inheritance is not subtyping&quot;&lt;/a&gt;.  The authors propose a different notion of higher-order subtyping which works instead.  Kim Bruce also has a closely related proposal called &quot;matching&quot; that achieves the same effect.  See this &lt;a href=&quot;http://www.cs.williams.edu/~kim/Talks/NEPLS2-04.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;presentation&lt;/a&gt;.  Also helpful is a &lt;a href=&quot;http://web.cecs.pdx.edu/~black/publications/pp.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;position paper&lt;/a&gt; of Andrew Black.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The semantics community is probably at fault for largely ignoring the problem.  We have traditionally regarded it as a practical type-system engineering issue that is of little theoretical interest.  If that is not the case and there is indeed some semantics work in the area, I hope the other people will mention them.&lt;/p&gt;&#xA;" OwnerUserId="8519" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2012-03-11T13:08:48.330" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="10634" PostTypeId="1" AcceptedAnswerId="11138" CreationDate="2012-03-11T11:31:14.303" Score="11" ViewCount="6728" Body="&lt;p&gt;I'm familiar with gradient descent algorithm which can find local minimum (maximum) of a given function. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there any modification of gradient descent which allows to find absolute minimum (maximum), where function has several local extrema? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there any general techniques, how to enhance an algorithm which can find local extremum, for finding absolute extremum?&lt;/p&gt;&#xA;" OwnerUserId="8569" LastActivityDate="2015-02-03T18:54:19.623" Title="Is there any gradient descent based technique for searching absolute minimum (maximum) of a function in multidimensional space?" Tags="&lt;ds.algorithms&gt;&lt;approximation-algorithms&gt;&lt;machine-learning&gt;" AnswerCount="5" CommentCount="5" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="10635" PostTypeId="1" AcceptedAnswerId="10636" CreationDate="2012-03-11T12:07:06.083" Score="29" ViewCount="2576" Body="&lt;p&gt;It is known that with a countable set of algorithms (characterised by a Gödel number), we cannot compute (build a binary algorithm which checks belonging) all subsets of N.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A proof could be summarized as: if we could, then the set of all subsets of N would be countable (we could associate to each subset the Gödel number of the algorithm which computes it). As this is false, it proves the result.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is a proof I like as it shows that the problem is equivalent to the subsets of N not being countable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now I'd like to prove that the halting problem is not solvable using only this same result (uncountability of N subsets), because I guess those are very close problem. Is it possible to prove it this way ?&lt;/p&gt;&#xA;" OwnerUserId="8718" LastActivityDate="2012-03-11T14:49:36.017" Title="Halting problem, uncomputable sets: common mathematical proof?" Tags="&lt;computability&gt;&lt;halting-problem&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="15" ContentLicense="CC BY-SA 3.0" />
  <row Id="10636" PostTypeId="2" ParentId="10635" CreationDate="2012-03-11T14:49:36.017" Score="42" Body="&lt;p&gt;The halting theorem, Cantor's theorem (the non-isomorphism of a set and its powerset), and Goedel's incompleteness theorem are all instances of the Lawvere fixed point theorem, which says that for any cartesian closed category, if there is an epimorphic map $e : A \to (A \Rightarrow B)$ then every $f : B \to B$ has a fixed point.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Lawvere, F. William. &lt;a href=&quot;http://tac.mta.ca/tac/reprints/articles/15/tr15abs.html&quot;&gt;Diagonal Arguments and Cartesian Closed Categories&lt;/a&gt;. Lecture Notes in Mathematics, 92 (1969), 134-145.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;For a nice introduction to these ideas, see this &lt;a href=&quot;http://math.andrej.com/2007/04/08/on-a-proof-of-cantors-theorem/&quot;&gt;blog post of Andrej Bauer&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="657" LastActivityDate="2012-03-11T14:49:36.017" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="10638" PostTypeId="1" AcceptedAnswerId="10648" CreationDate="2012-03-11T17:33:45.863" Score="11" ViewCount="1757" Body="&lt;p&gt;I am looking for a general technique which can help me to prove not just that Buchi automata is more expressive model than LTL, but that the specific formula can/can't be expressed in LTL.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, &quot;$p$ occurs at least on even positions&quot; can be described by the following Buchi automata: $({q_0, q_1}, \Sigma, \delta, q_0, \{q_0\})$ where $\delta(q_1, *) = q_0$ and $\delta(q_0, p) = q_1$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I've &lt;a href=&quot;http://www.lsv.ens-cachan.fr/~markey/Teaching/ESSLLI06/tuesday.pdf&quot;&gt;read&lt;/a&gt; that that automata can't be expressed in LTL, but I don't understand how to formally prove it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks.&lt;/p&gt;&#xA;" OwnerUserId="6161" LastActivityDate="2012-04-02T13:27:13.627" Title="How to prove that a formula can not be expressed in LTL, but can be in Buchi automata?" Tags="&lt;lo.logic&gt;&lt;automata-theory&gt;" AnswerCount="3" CommentCount="1" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="10639" PostTypeId="2" ParentId="10638" CreationDate="2012-03-11T18:21:47.643" Score="7" Body="&lt;p&gt;I would suggest using the characterization of first-order languages by counter-free Büchi automata: see e.g. V. Diekert and P. Gastin, &lt;em&gt;First-order definable languages&lt;/em&gt;.  In Logic and Automata: History and Perspectives, Texts in Logic and Games 2, pages 261--306. Amsterdam University Press, 2008.  &lt;a href=&quot;http://www.lsv.ens-cachan.fr/Publis/PAPERS/PDF/DG-WT08.pdf&quot;&gt;http://www.lsv.ens-cachan.fr/Publis/PAPERS/PDF/DG-WT08.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;PS: over finite words, this BEATCS column is also very helpful: J.-E. Pin, &lt;em&gt;Logic on Words&lt;/em&gt;, &lt;a href=&quot;http://hal.archives-ouvertes.fr/hal-00020073&quot;&gt;http://hal.archives-ouvertes.fr/hal-00020073&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="609" LastEditorUserId="609" LastEditDate="2012-03-11T20:30:30.230" LastActivityDate="2012-03-11T20:30:30.230" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10643" PostTypeId="2" ParentId="10104" CreationDate="2012-03-11T22:14:16.450" Score="-3" Body="&lt;p&gt;Just for the hell of it:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Looking back, what would you say was the significance of Turing's 1936&#xA;  Entscheidungs-problem paper?&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;I always felt people liked to make a song and dance. Something like&#xA;  the doctrine of the Trinity involved whereas to an engineer you've&#xA;  only got to be told about the stored program idea and you'd say at&#xA;  once &quot;That's absolutely first-rate, that's the way to do it.&quot; That was&#xA;  all there was to know.&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;There was no distinction in that paper that had any practical&#xA;  significance. He was lucky to get it published at all but I'm very&#xA;  glad he did. I mean [Alonzo] Churchl had got the same result by other&#xA;  methods.&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;I liked Turing; I mean we got on very well together. He liked to lay&#xA;  down the law and that didn't endear him to me but he and I got on&#xA;  quite well. People sometimes say I didn't get on with Turing but it's&#xA;  just not true. But then I was very careful not to get involved.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Maurice Wilkes.&#xA; &lt;a href=&quot;http://cacm.acm.org/magazines/2009/9/38898-an-interview-with-maurice-wilkes/fulltext&quot; rel=&quot;nofollow&quot;&gt;http://cacm.acm.org/magazines/2009/9/38898-an-interview-with-maurice-wilkes/fulltext&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="8723" LastActivityDate="2012-03-11T22:14:16.450" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10644" PostTypeId="2" ParentId="10632" CreationDate="2012-03-11T22:53:05.393" Score="3" Body="&lt;p&gt;Here is a hint for your question in the comment to the question.  The independence number of a graph can be computed by a polynomial-time oracle Turing machine which calls the #P oracle just once.  That is, the independence number is in class FP&lt;sup&gt;#P[1]&lt;/sup&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For a graph &lt;i&gt;G&lt;/i&gt; on &lt;i&gt;n&lt;/i&gt; vertices, let &lt;i&gt;g&lt;/i&gt;&lt;sub&gt;&lt;i&gt;k&lt;/i&gt;&lt;/sub&gt;(&lt;i&gt;G&lt;/i&gt;) be the number of independent sets of size &lt;i&gt;k&lt;/i&gt; in &lt;i&gt;G&lt;/i&gt;.  Note that 0≤&lt;i&gt;g&lt;/i&gt;&lt;sub&gt;&lt;i&gt;k&lt;/i&gt;&lt;/sub&gt;(&lt;i&gt;G&lt;/i&gt;)&amp;lt;2&lt;sup&gt;&lt;i&gt;n&lt;/i&gt;&lt;/sup&gt;.  Let&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$f(G)=\sum_{k=0}^n 2^{nk}g_k(G).$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I leave the rest of the proof as exercise.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Show that function &lt;i&gt;f&lt;/i&gt; is in #P.&lt;/li&gt;&#xA;&lt;li&gt;Show that the independence number of &lt;i&gt;G&lt;/i&gt; can be computed from two integers &lt;i&gt;n&lt;/i&gt; and &lt;i&gt;f&lt;/i&gt;(&lt;i&gt;G&lt;/i&gt;) in time polynomial in &lt;i&gt;n&lt;/i&gt;, and conclude that the independence number can be computed in FP&lt;sup&gt;#P[1]&lt;/sup&gt;.&lt;/li&gt;&#xA;&lt;li&gt;(If this is not clear from item 2,) conclude that the independence number can be computed by a polynomial-time oracle Turing machine which calls the oracle for the permanent just once.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;The same idea works also for the chromatic number.&lt;/p&gt;&#xA;" OwnerUserId="567" LastActivityDate="2012-03-11T22:53:05.393" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="10645" PostTypeId="1" AcceptedAnswerId="10647" CreationDate="2012-03-11T23:15:09.353" Score="13" ViewCount="1693" Body="&lt;p&gt;Is there a proof that the emulation of a Turing machine on an oblivious Turing machine can't be done in less than &lt;span class=&quot;math-container&quot;&gt;$\mathcal{O}\left(m\log m\right)$&lt;/span&gt; where &lt;span class=&quot;math-container&quot;&gt;$m$&lt;/span&gt; is the number of steps the Turing machine uses? Or is this just an upper bound?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the paper of Paul Vitányi about relativized oblivious Turing machines, Vitányi claims&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&quot;They [&lt;a href=&quot;http://www.ccs.neu.edu/home/viola/classes/papers/PippengerF-Oblivious.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Pippenger and Fischer, 1979&lt;/a&gt;] showed that this result cannot be improved in general, since there is a language L wich is recognized by a 1-tape real-time Turing machine &lt;span class=&quot;math-container&quot;&gt;$M$&lt;/span&gt;, and any oblivious Turing machine &lt;span class=&quot;math-container&quot;&gt;$M'$&lt;/span&gt; recognizing &lt;span class=&quot;math-container&quot;&gt;$L$&lt;/span&gt; must use at least an order &lt;span class=&quot;math-container&quot;&gt;$O(n \log n)$&lt;/span&gt; steps&quot;.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;This should state &lt;span class=&quot;math-container&quot;&gt;$O(m \log m)$&lt;/span&gt; as an absolute bound. However I don't find any proof of this in &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Pippenger, Nicholas; Fischer, Michael J.&lt;/em&gt;, &lt;a href=&quot;http://dx.doi.org/10.1145/322123.322138&quot; rel=&quot;nofollow noreferrer&quot;&gt;&lt;strong&gt;Relations among complexity measures&lt;/strong&gt;&lt;/a&gt;, J. Assoc. Comput. Mach. 26, 361-381 (1979). &lt;a href=&quot;https://zbmath.org/?q=an:0405.68041&quot; rel=&quot;nofollow noreferrer&quot;&gt;ZBL0405.68041&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any ideas?&#xA;Furthermore, what is the space complexity of this emulation? As far as I know the conversion to a universal Turing machine only doubles the tape length. Can I assume that the space complexity is &lt;span class=&quot;math-container&quot;&gt;$\mathcal{O}\left(l\right)$&lt;/span&gt; with &lt;span class=&quot;math-container&quot;&gt;$l$&lt;/span&gt; the space complexity of the original Turing machine?&lt;/p&gt;&#xA;" OwnerUserId="8715" LastEditorUserId="1993" LastEditDate="2019-06-09T06:30:23.603" LastActivityDate="2019-06-09T06:30:23.603" Title="Oblivious Turing Machine emulation lower bound" Tags="&lt;cc.complexity-theory&gt;&lt;turing-machines&gt;" AnswerCount="2" CommentCount="3" FavoriteCount="5" ContentLicense="CC BY-SA 4.0" />
  <row Id="10646" PostTypeId="2" ParentId="10645" CreationDate="2012-03-12T00:25:43.687" Score="13" Body="&lt;p&gt;Just an extended comment: I think it is still an open problem; see Lipton and Regan's blog for some nice discussions about improving the result of the &lt;em&gt;Fischer-Pippenger theorem&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example see the posts: &lt;a href=&quot;http://rjlipton.wordpress.com/2009/07/28/oblivious-turing-machines-and-a-crock/&quot;&gt;Oblivious Turing Machines and a &quot;Crock&quot;&lt;/a&gt; or &lt;a href=&quot;http://rjlipton.wordpress.com/2009/08/05/circuits-bounds-for-turing-machine-computations/&quot;&gt;Circuits Bounds for Turing Machine Computations&lt;/a&gt; (both dated 2009).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the second post they show that a better circuit bound ( $O(n \log {\log n})$) is possible using a partial-boolean function $g:2^n \to \{0,1,*\}$ that &lt;em&gt;approximates&lt;/em&gt;  the original function $f$ on $2^{n-o(n)}$ inputs.&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2012-03-12T00:48:55.047" LastActivityDate="2012-03-12T00:48:55.047" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="10647" PostTypeId="2" ParentId="10645" CreationDate="2012-03-12T01:19:28.270" Score="19" Body="&lt;p&gt;As mentioned above, it is not known in general if there is a faster oblivious simulation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But interesting lower bounds for this problem are known, under more constrained conditions. For instance, what if you want an oblivious simulation that preserves not only the time $t$ but also the space usage $s$? Beame and Machmouchi have recently proved an interesting time-space tradeoff lower bound for this problem: either the space must increase by a factor of $n^{1-o(1)}$, or the time must increase by a factor of $\Omega(\log n \cdot \log \log n)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The paper is here: &lt;a href=&quot;http://eccc.hpi-web.de/report/2010/104/&quot;&gt;http://eccc.hpi-web.de/report/2010/104/&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="225" LastActivityDate="2012-03-12T01:19:28.270" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10648" PostTypeId="2" ParentId="10638" CreationDate="2012-03-12T08:04:11.240" Score="9" Body="&lt;p&gt;First you need to know what you want to express and how you are going to express it. For instance, you can represent a property as a set of infinite traces. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The properties definable by Buechi automata are the $\omega$-regular languages. The properties definable by LTL formulae are the star-free regular languages. The star-free languages are a strict subset of the $\omega$-regular languages.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Section 5.1 of Principles of Model Checking by Baier and Katoen is a good, elementary starting point. If you want general proof techniques there are a variety of ways to proceed. One general technique that appeals to me is to use games. The first player is trying to show two structures can be distinguished with an LTL formula. The second shows they are the same. Two structures are LTL equivalent if the second player has a winning strategy. So, if you take two structures which are not isomorphic but the second player has a winning strategy, then, there is no LTL formula to distinguish between the two.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;a href=&quot;http://homepages.inf.ed.ac.uk/kousha/until_hier_ic.ps&quot; rel=&quot;nofollow&quot;&gt;An Until Hierarchy and Other Applications of an Ehrenfeucht-Fraisse Game for Temporal Logic&lt;/a&gt;, K. Etessami and Th. Wilke.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;There are algorithms for checking if a given $\omega$-regular language is star-free. Unfortunately these are usually couched inside the proofs of theorems.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/0304397595001301&quot; rel=&quot;nofollow&quot;&gt;Logical definability on infinite traces&lt;/a&gt;, Werner Ebinger and Anca Muscholl&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I'll dig around a bit more and try to find a more algorithmic presentation.&lt;/p&gt;&#xA;" OwnerUserId="4155" LastEditorUserId="4155" LastEditDate="2012-03-12T21:01:34.670" LastActivityDate="2012-03-12T21:01:34.670" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="10649" PostTypeId="2" ParentId="9869" CreationDate="2012-03-12T08:37:07.707" Score="2" Body="&lt;p&gt;I don't know of any results in distributed computing that state bounds on &#xA;&lt;em&gt;average&lt;/em&gt; message complexity that are independent of the network topology.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let's assume you have an algorithm $A$ with average message complexity &#xA;$\Theta(f(n))$, for some function $f(n)$. While such a universal bound &#xA;sounds quite powerful, the problem (as I see it) is that this tells you &#xA;very little about $A$. If someone implemented $A$ for a specific class of &#xA;networks, the $\Theta(f(n))$ bound becomes meaningless, as it is the &#xA;average over all network topologies &lt;em&gt;and&lt;/em&gt; unique id assignments, whereas &#xA;worst/best-case bounds would still apply.&lt;/p&gt;&#xA;" OwnerUserId="6785" LastActivityDate="2012-03-12T08:37:07.707" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10650" PostTypeId="1" CreationDate="2012-03-12T09:14:36.693" Score="0" ViewCount="649" Body="&lt;p&gt;I would like to ask how could someone modify FloodSet algorithm to work in a general network,&#xA;where process failures happen..Is it possible for it to work if a &quot;crucial&quot; [1] failure happens?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1]: As crucial i mean a failure in a process that &quot;cuts&quot; the network in two separate pieces&lt;/p&gt;&#xA;" OwnerUserId="7938" LastEditorUserId="7938" LastEditDate="2012-03-12T09:26:46.303" LastActivityDate="2012-03-13T04:44:34.537" Title="FloodSet in general networks" Tags="&lt;dc.distributed-comp&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10651" PostTypeId="1" AcceptedAnswerId="10656" CreationDate="2012-03-12T11:21:08.213" Score="2" ViewCount="260" Body="&lt;p&gt;A very common technique in the analysis of algorithms involving random permutations is to have each element $x$ select a rank $\rho(x)$ uniformly at random from the real interval $[0,1]$. The permutation $\pi$ is then formed by sorting on ranks.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is it possible to invert this transformation? That is, given a permutation $\pi$ generated randomly in $S_n$, choose ranks $\rho(x)$ (with some additional randomness) such that&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Over all possible $\pi$, each $\rho(x)$ is uniformly distributed in $[0,1]$&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;$\rho(\pi(1)) &amp;lt; \rho(\pi(2)) &amp;lt; \dots &amp;lt; \rho(\pi(n))$&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;(Optional) $\rho(\pi(i))$ depends only only $\pi(1), \dots, \pi(i)$&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Seemingly, giving $\rho(\pi(1))$ the distribution on the minimum of  $n$ uniform variables, and so on, would work. Is there are any reference?&lt;/p&gt;&#xA;" OwnerUserId="5538" LastActivityDate="2012-03-12T15:46:31.390" Title="Generate random permutation via iid uniforms --- is inverse transformation possible?" Tags="&lt;ds.algorithms&gt;&lt;randomized-algorithms&gt;&lt;pr.probability&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="10652" PostTypeId="5" CreationDate="2012-03-12T12:19:15.690" Score="0" Body="" OwnerUserId="-1" LastEditorUserId="-1" LastEditDate="2012-03-12T12:19:15.690" LastActivityDate="2012-03-12T12:19:15.690" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10653" PostTypeId="4" CreationDate="2012-03-12T12:19:15.690" Score="0" Body="An algorithm whose behaviour is determined by its input and a generator producing uniformly random numbers." OwnerUserId="5693" LastEditorUserId="5693" LastEditDate="2012-03-12T15:36:24.367" LastActivityDate="2012-03-12T15:36:24.367" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10654" PostTypeId="1" CreationDate="2012-03-12T13:19:06.597" Score="0" ViewCount="186" Body="&lt;p&gt;Given two sets X and Y, the number of functions mapping X to Y is $\vert Y\vert^{\vert X \vert}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In particular I am interested in binary strings of relatively small length, e.g. 8.  There are $2^8$ (comprising set $B$) possible bit strings and $2^{2048}$ functions that map onto the same set (let's call the set of these $F$ ).  So I need 2048 bits to represent these functions uniquely.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My goal is to find a function, that given an arbitrary an arbitrary 2048 length bit string, will return the appropriate function from  the $F$.  I can imagine doing this with space on order $2^8$, and average time linear in $|F|$, using a hash table mapping $B\rightarrow B$ and some enumeration over mappings.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The question is, can I do better than this, especially with regard to the linear time (without of course just storing all functions)?&lt;/p&gt;&#xA;" OwnerUserId="4501" LastEditorUserId="186" LastEditDate="2012-06-12T18:43:12.510" LastActivityDate="2012-06-12T18:43:12.510" Title="Indexing over all possible functions in better than linear time" Tags="&lt;ds.algorithms&gt;&lt;co.combinatorics&gt;&lt;time-complexity&gt;" AnswerCount="0" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="10655" PostTypeId="1" CreationDate="2012-03-12T14:55:25.213" Score="6" ViewCount="729" Body="&lt;p&gt;The 3-partition as defined &lt;a href=&quot;http://en.wikipedia.org/wiki/3-partition_problem&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt; is a strongly NP-complete decision problem. Consider one optimization problem of 3-partition where the $m$ subsets each have at most three elements and a sum of not more than $B$ The goal is to minimize $s(S) - \sum_{k=1}^{m} s(S_k)$, i.e. the total value of leftover elements.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is obviously strongly NP-complete as well. I am asking if anyone is aware of approximation/inapproximability results (other than the obvious nonexistence of FPTAS). I tried searching, but maybe I am not using the correct keywords.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;s&gt;EDIT: As pointed out in the comment below, there is no constant-factor approximation. Are there any (non-constant) approximation results?&lt;/s&gt;&lt;/p&gt;&#xA;" OwnerUserId="7925" LastEditorUserId="-1" LastEditDate="2012-11-17T07:44:17.037" LastActivityDate="2012-11-17T07:44:17.037" Title="Approximation results for 3-partition" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;approximation-algorithms&gt;&lt;approximation-hardness&gt;&lt;partition-problem&gt;" AnswerCount="0" CommentCount="11" ContentLicense="CC BY-SA 3.0" />
  <row Id="10656" PostTypeId="2" ParentId="10651" CreationDate="2012-03-12T15:46:31.390" Score="4" Body="&lt;p&gt;It's possible that what the OP wants is as follows:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Fix an ordering. By the standard trick using hyperplane arrangements, each such ordering represents one of the n! congruent simplices that make up the unit hypercube in $n$ dimensions. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now the goal is to define a way of sampling from this simplex with independent samples from the data (rather than trying to sample from the simplex directly). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In fact this can be done. &lt;a href=&quot;http://luc.devroye.org/rnbookindex.html&quot; rel=&quot;nofollow&quot;&gt;Luc Devroye's book&lt;/a&gt; describes the procedure (see V.3), which essentially boils down to letting $x_i$ be an exponentially distributed random variable, normalizing them, and then setting $\rho(\pi(i))$ to be the partial sum $\sum_{j \le i} x_i$ (I'm over simplifying a little, so what I said isn't entirely precise, but it's the general idea). &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2012-03-12T15:46:31.390" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10657" PostTypeId="5" CreationDate="2012-03-12T16:15:12.243" Score="0" Body="" OwnerUserId="-1" LastEditorUserId="-1" LastEditDate="2012-03-12T16:15:12.243" LastActivityDate="2012-03-12T16:15:12.243" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10658" PostTypeId="4" CreationDate="2012-03-12T16:15:12.243" Score="0" Body="A model for generating random graphs on n nodes, where an edge between each pair of nodes is generated with equal independent probability." OwnerUserId="5693" LastEditorUserId="5693" LastEditDate="2012-03-12T17:22:28.043" LastActivityDate="2012-03-12T17:22:28.043" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10659" PostTypeId="1" AcceptedAnswerId="10774" CreationDate="2012-03-12T18:30:46.693" Score="9" ViewCount="596" Body="&lt;p&gt;There is a linear program for which I want not merely a solution but a solution that's as central as possible on the face of the polytope that assumes the minimal value.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A priori, we expect the minimizing face should be high dimensional for various reasons, including that the objective function being minimized is the maximum of many of the constraints :&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Minimize $\epsilon$ subject to $f_i(\bar x) \leq \epsilon &amp;lt; 0$ with $f_i$ linear and $x_i &amp;gt; 0$ for all $i$ and $\sum_i x_i = 1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We'd never obtain any centrality-like property form the simplex algorithm of course.  Do any of the usual interior point algorithms exhibit such properties though?  Do any even guarantee they'll avoid vertices or lower dimensional faces whenever possible?&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;In fact, I'm probably content with a easy quadratic program that finds the midpoint of the entire polytope since centrality matters more than minimality, just vaguely curious if other linear programming algorithms offer relevant properties.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Update : I've reduced the underlying problem to a simple constrained minimization problem solvable with Lagrange multipliers, but the question above remains interesting anyways. &lt;/p&gt;&#xA;" OwnerUserId="6665" LastEditorUserId="-1" LastEditDate="2012-11-17T07:44:19.483" LastActivityDate="2012-11-17T07:44:19.483" Title="Midpoint solutions to linear programs" Tags="&lt;ds.algorithms&gt;&lt;linear-algebra&gt;&lt;linear-programming&gt;" AnswerCount="2" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="10660" PostTypeId="1" AcceptedAnswerId="10680" CreationDate="2012-03-12T19:40:50.100" Score="12" ViewCount="337" Body="&lt;p&gt;I hope somebody knows a ref to this, so I do not have to read the literature...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider a sequence of numbers $x_1, \ldots, x_n$. Think about the sequence as $n-1$ intervals $[x_1, x_2], [x_2, x_3], \ldots, [x_{n-1},x_n]$. Clearly, the original sequence is bitonic if any point on the real line stabs at most 2 intervals. We will refer to a sequence where a point stabs at most $k$ intervals as being &lt;em&gt;$k$-idiotic&lt;/em&gt;. Visually, if you draw the graph of the sequence (i.e., connect the points $p_i =(i,x_i)$ in order), then the above corresponds to the condition that no horizontal line intersects the graph more than $k$ times.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is not too hard (but not too easy, either) to see that $k$-idiotic sequences can be sorted in $O( n \log k )$ time, which is clearly optimal.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Question: This result should be known. Do you know any appropriate ref?&lt;/p&gt;&#xA;" OwnerUserId="9594" LastEditorUserId="111" LastEditDate="2012-03-12T23:39:16.247" LastActivityDate="2016-08-09T18:39:55.237" Title="Sorting &quot;k-tonic&quot; sequences" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;sorting&gt;" AnswerCount="3" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10661" PostTypeId="2" ParentId="10660" CreationDate="2012-03-12T20:13:04.630" Score="6" Body="&lt;p&gt;Take a look at &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.45.8017&quot; rel=&quot;nofollow&quot;&gt;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.45.8017&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One measure of disorder according to the paper is the Shuffled Monotone Subsequences (SMS, page 7 bottom) which is more than you asked for.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The paper &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&quot;Sorting shuffled monotone sequences&quot; by Christos Levcopoulos and Ola Petersson &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.springerlink.com/content/79551g82q1p856n1/&quot; rel=&quot;nofollow&quot;&gt;http://www.springerlink.com/content/79551g82q1p856n1/&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;gives an algorithm with the optimal runtime w.r.t. that measure which is what you seek.&lt;/p&gt;&#xA;" OwnerUserId="679" LastEditorUserId="679" LastEditDate="2012-03-13T11:49:21.390" LastActivityDate="2012-03-13T11:49:21.390" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10662" PostTypeId="5" CreationDate="2012-03-12T20:40:49.107" Score="0" Body="" OwnerUserId="-1" LastEditorUserId="-1" LastEditDate="2012-03-12T20:40:49.107" LastActivityDate="2012-03-12T20:40:49.107" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10663" PostTypeId="4" CreationDate="2012-03-12T20:40:49.107" Score="0" Body="The Kolmogorov complexity of a string s is equal to the length of the shortest program computing s and halting. Measures the lack of structure in a string." OwnerUserId="5693" LastEditorUserId="5693" LastEditDate="2012-03-12T21:27:44.310" LastActivityDate="2012-03-12T21:27:44.310" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10664" PostTypeId="5" CreationDate="2012-03-12T20:43:00.460" Score="0" Body="" OwnerUserId="-1" LastEditorUserId="-1" LastEditDate="2012-03-12T20:43:00.460" LastActivityDate="2012-03-12T20:43:00.460" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10665" PostTypeId="4" CreationDate="2012-03-12T20:43:00.460" Score="0" Body="Given a specification, does a program satisfy it?" OwnerUserId="5693" LastEditorUserId="5693" LastEditDate="2012-03-12T21:27:50.177" LastActivityDate="2012-03-12T21:27:50.177" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10666" PostTypeId="5" CreationDate="2012-03-12T20:45:45.153" Score="0" Body="" OwnerUserId="-1" LastEditorUserId="-1" LastEditDate="2012-03-12T20:45:45.153" LastActivityDate="2012-03-12T20:45:45.153" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10667" PostTypeId="4" CreationDate="2012-03-12T20:45:45.153" Score="0" Body="A path in a graph is said to be Hamiltonian if it visits each vertex exactly once." OwnerUserId="5693" LastEditorUserId="5693" LastEditDate="2012-03-12T21:27:40.940" LastActivityDate="2012-03-12T21:27:40.940" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10668" PostTypeId="5" CreationDate="2012-03-12T20:46:53.110" Score="0" Body="" OwnerUserId="-1" LastEditorUserId="-1" LastEditDate="2012-03-12T20:46:53.110" LastActivityDate="2012-03-12T20:46:53.110" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10669" PostTypeId="4" CreationDate="2012-03-12T20:46:53.110" Score="0" Body="A family of heuristic search algorithms mimicing the process of natural evolution." OwnerUserId="5693" LastEditorUserId="5693" LastEditDate="2012-03-12T21:27:24.917" LastActivityDate="2012-03-12T21:27:24.917" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10670" PostTypeId="5" CreationDate="2012-03-12T20:49:01.077" Score="0" Body="" OwnerUserId="-1" LastEditorUserId="-1" LastEditDate="2012-03-12T20:49:01.077" LastActivityDate="2012-03-12T20:49:01.077" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10671" PostTypeId="4" CreationDate="2012-03-12T20:49:01.077" Score="0" Body="Given a program and the input for it, does it halt or run forever?" OwnerUserId="5693" LastEditorUserId="5693" LastEditDate="2012-03-12T21:27:35.573" LastActivityDate="2012-03-12T21:27:35.573" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10672" PostTypeId="5" CreationDate="2012-03-12T20:56:29.307" Score="0" Body="" OwnerUserId="-1" LastEditorUserId="-1" LastEditDate="2012-03-12T20:56:29.307" LastActivityDate="2012-03-12T20:56:29.307" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10673" PostTypeId="4" CreationDate="2012-03-12T20:56:29.307" Score="0" Body="An algorithm which at every point makes the locally optimal choice." OwnerUserId="5693" LastEditorUserId="5693" LastEditDate="2012-03-12T21:27:28.570" LastActivityDate="2012-03-12T21:27:28.570" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10674" PostTypeId="5" CreationDate="2012-03-12T21:02:00.000" Score="0" Body="" OwnerUserId="-1" LastEditorUserId="-1" LastEditDate="2012-03-12T21:02:00.000" LastActivityDate="2012-03-12T21:02:00.000" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10675" PostTypeId="4" CreationDate="2012-03-12T21:02:00.000" Score="0" Body="Cache-oblivious algorithms perform within a constant factor of the least possible number of memory transfers. They are analyzed on the ideal-cache model which assumes no knowledge of the parameters of the memory hierarchy." OwnerUserId="5693" LastEditorUserId="5693" LastEditDate="2012-03-12T21:27:19.083" LastActivityDate="2012-03-12T21:27:19.083" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10677" PostTypeId="5" CreationDate="2012-03-12T22:44:31.387" Score="0" Body="" OwnerUserId="-1" LastEditorUserId="-1" LastEditDate="2012-03-12T22:44:31.387" LastActivityDate="2012-03-12T22:44:31.387" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10678" PostTypeId="4" CreationDate="2012-03-12T22:44:31.387" Score="0" Body="Given a sequence of elements, find a permutation such that the elements are in a certain order." OwnerUserId="5693" LastEditorUserId="5693" LastEditDate="2012-03-12T22:46:37.763" LastActivityDate="2012-03-12T22:46:37.763" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10679" PostTypeId="1" AcceptedAnswerId="10726" CreationDate="2012-03-12T22:46:12.180" Score="13" ViewCount="730" Body="&lt;p&gt;I would like to know about the history of these two terms: &quot;&lt;strong&gt;efficient&lt;/strong&gt;&quot;, &quot;&lt;strong&gt;feasible&lt;/strong&gt;&quot;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Who used them about computation/algorithms the first time? (in modern sense of these terms, i.e. 20th century).&#xA;How did they become mainstream? &#xA;How did these two terms start to be used as synonyms?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I know that Cobham used the term &quot;feasible&quot; in the statement of &lt;a href=&quot;http://en.wikipedia.org/wiki/Cobham%27s_thesis&quot;&gt;his thesis&lt;/a&gt; which associated with polynomial time computability. But is there an earlier reference? There doesn't seem to be an explicit reference to these terms in &lt;a href=&quot;http://rjlipton.wordpress.com/the-gdel-letter/&quot;&gt;Godel's letter to von Neumann&lt;/a&gt;. I was not able to find any related article predating 1960 (using &lt;a href=&quot;http://scholar.google.com/&quot;&gt;Google Scholar&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another interesting point is that the title of Cobham's paper from 1965 is &quot;The intrinsic &lt;strong&gt;computational difficulty&lt;/strong&gt; of functions&quot;. When did &quot;computational complexity&quot; replace &quot;computational difficulty&quot;?&lt;/p&gt;&#xA;" OwnerUserId="186" LastActivityDate="2012-08-05T19:02:44.720" Title="The origin of the terms &quot;efficient&quot; and &quot;feasible&quot; computation/algorithm" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;ho.history-overview&gt;" AnswerCount="4" CommentCount="0" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="10680" PostTypeId="2" ParentId="10660" CreationDate="2012-03-12T23:35:21.260" Score="10" Body="&lt;p&gt;Here's a Levcopoulos-Petersson sorting algorithm reference, but a different one somewhat older than the one in Andreas' answer:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Levcopoulos, Christos; Petersson, Ola (1989), &quot;Heapsort - Adapted for Presorted Files&quot;, WADS '89: Proceedings of the Workshop on Algorithms and Data Structures, Lecture Notes in Computer Science, 382, London, UK: Springer-Verlag, pp. 499–509, doi:10.1007/3-540-51542-9_41.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There's a description of the algorithm in &lt;a href=&quot;http://en.wikipedia.org/wiki/Cartesian_tree#Application_in_sorting&quot;&gt;http://en.wikipedia.org/wiki/Cartesian_tree#Application_in_sorting&lt;/a&gt; from which the O(n log k) bound is easy to see. More precisely the time for the algorithm is $O(\sum\log k_i)$ where $k_i$ is the number of intervals containing input item $x_i$. In a $k$-idiotic sequence, each $k_i$ is uniformly bounded by $k$ so the total time is just $O(n\log k)$.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2012-03-12T23:35:21.260" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="10681" PostTypeId="2" ParentId="10605" CreationDate="2012-03-13T01:07:53.873" Score="3" Body="&lt;p&gt;Not quite answering what you want, but if you want the &lt;em&gt;gcd&lt;/em&gt; of all $k\times k$ minors, then you can compute it in $O(n^\omega)$ or up to logarithmic factors. This is known as &lt;a href=&quot;http://en.wikipedia.org/wiki/Smith_normal_form&quot; rel=&quot;nofollow&quot;&gt;Smith Normal Form&lt;/a&gt;. For any matrix over principal ideal ring (or PID), the $k$ invariant factor of Smith normal form is the ${\rm gcd}$ of all $k\times k$ minors.&lt;/p&gt;&#xA;" OwnerDisplayName="user17" LastActivityDate="2012-03-13T01:07:53.873" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="10682" PostTypeId="2" ParentId="10542" CreationDate="2012-03-13T02:50:21.763" Score="2" Body="&lt;p&gt;Any mention of similarity without defining a similarity &lt;a href=&quot;http://en.wikipedia.org/wiki/Metric_%28mathematics%29&quot; rel=&quot;nofollow&quot;&gt;metric&lt;/a&gt; is not well-defined. There are many ways in which two algorithms can be similar:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Quicksort and Mergesort solve very similar problems, but they use different algorithms to do so. They have similar algorithmic complexity (although their worst-case performance and memory usage can vary). Quicksort and Mergesort are both similar to Bubblesort,however Bubblesort has very different performance metrics. If you ignore complexity statistics Quicksort, Mergesort and Bubblesort are all in the same equivalence class. However, if you care at all about algorithmic complexity, then Quicksort and Mergesort are much more similar to each other than either is to Bubblesort. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Smith-Waterman dynamic programming and HMM-sequence comparison attempt to solve the problem of aligning two sequences. However, they take different inputs. Smith-Waterman takes two sequences as input, and HMM-sequence comparisons take a HMM and a sequence as input. Both output sequence alignments. In terms of motivating ideas, both of these are similar to &lt;a href=&quot;http://en.wikipedia.org/wiki/Levenshtein_distance&quot; rel=&quot;nofollow&quot;&gt;Levenshtein's edit distance&lt;/a&gt;, but only at a very high level. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here are some criteria by which two algorithms might be called similar:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Input/output types&lt;/li&gt;&#xA;&lt;li&gt;Algorithmic/Memory Complexity&lt;/li&gt;&#xA;&lt;li&gt;Assumptions about types of inputs (eg only positive numbers or floating point stability)&lt;/li&gt;&#xA;&lt;li&gt;Nested relationships (eg some algorithms are special cases of others)&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;The critical decision about the meaning of similarity remains. Sometimes you care about the complexity of an algorithm, sometimes you don't. As the definition of similarity depends on the context of the discussion, the term &quot;similar algorithm&quot; isn't well-defined. &lt;/p&gt;&#xA;" OwnerUserId="6657" LastActivityDate="2012-03-13T02:50:21.763" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10684" PostTypeId="2" ParentId="10650" CreationDate="2012-03-13T04:44:34.537" Score="3" Body="&lt;p&gt;I'm assuming that you mean the Flood Set algorithm for solving the agreement problem in Section 6.2 of [1]. The Flood Set algorithm proceeds in rounds and requires every process $u$ to forward all received values, which it stores in a set $W$; initially $W$ contains $u$'s input value. We assume that $f$ processes can be faulty. After $f+1$ rounds, every alive process $u$ checks if its set $W$ is a singleton. If so, $u$ decides on the singleton value, otherwise $u$ decides on a default value $x$. It can easily be shown that after $f+1$ rounds, all correct processes have the same set $W$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For a general graph, the answer is obviously no: Suppose that the network is cut by a faulty process $u$ into parts $C_0$ and $C_1$ and processes in $C_0$ start with $0$ whereas processes in $C_1$ start with $1$. If $u$ crashes initially, the following happens in round $f+1$: all processes in $C_0$ will decide on $0$ and all processes in $C_1$ will decide on $1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that this impossibility argument holds for &lt;em&gt;any&lt;/em&gt; agreement algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] Nancy Lynch. Distributed Computing. Publisher: Morgan Kaufmann&lt;/p&gt;&#xA;" OwnerUserId="6785" LastActivityDate="2012-03-13T04:44:34.537" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10685" PostTypeId="1" CreationDate="2012-03-13T11:27:35.543" Score="-6" ViewCount="26508" Body="&lt;p&gt;Where are derivatives and integrals used in the field of Computer Science? What are their applications?&lt;/p&gt;&#xA;" OwnerUserId="8731" LastEditorUserId="-1" LastEditDate="2013-10-18T16:53:17.280" LastActivityDate="2013-11-27T01:33:37.743" Title="Application of calculus in computer science" Tags="&lt;big-picture&gt;" AnswerCount="5" CommentCount="5" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="10686" PostTypeId="1" AcceptedAnswerId="10696" CreationDate="2012-03-13T11:31:03.290" Score="5" ViewCount="1036" Body="&lt;p&gt;&lt;strong&gt;Input:&lt;/strong&gt; The number of elements $m$ and an (positive) integer distance $d$.&lt;br&gt;&#xA;&lt;strong&gt;Ouput:&lt;/strong&gt; The number of permutations of $m$ elements which have Kendall-Tau distance $d$ from a fixed permutation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think there should be a closed formula. Does anybody know a good reference?&lt;/p&gt;&#xA;" OwnerUserId="8732" LastEditorUserId="186" LastEditDate="2012-03-13T17:18:17.787" LastActivityDate="2012-03-13T17:56:34.040" Title="Number of permutations which have the same Kendall-Tau distance" Tags="&lt;ds.algorithms&gt;&lt;co.combinatorics&gt;&lt;permutations&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10688" PostTypeId="1" CreationDate="2012-03-13T13:52:08.770" Score="8" ViewCount="2567" Body="&lt;p&gt;I am looking into ML for generating more efficient code (i.e. compile time and run time heuristics). I have a phd (compilers, hpc), but very little ML experience. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would appreciate any references to existing work.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More importantly, which Machine Learning techniques should i be exploring ?&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;each data sample is a code + test run + performance data&lt;/li&gt;&#xA;&lt;li&gt;large number of data samples, with correct labeling&lt;/li&gt;&#xA;&lt;li&gt;large number of parameters to modify &lt;/li&gt;&#xA;&lt;li&gt;any sample can be rerun with any parameters (and get correct labeling)&lt;/li&gt;&#xA;&lt;li&gt;large amount of cpu to run and re run samples&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;And also some of my very suspect assumptions...&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;much of the code is already locally-optimal (basic compiler optimization)&lt;/li&gt;&#xA;&lt;li&gt;some of the parameters are &quot;high level concepts&quot; e.g. replace array with linked list. (so a small parameter change will have varied effects)&lt;/li&gt;&#xA;&lt;li&gt;the desired improvement is bounded (a xK improvement is &quot;good enough&quot;, K is well known)&lt;/li&gt;&#xA;&lt;li&gt;the parameters are sparse i.e. mostly zero (i suspect that most code is basically good, and there are relatively few beneficial changes)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Any pointers to set me on my way would be appreciated &lt;/p&gt;&#xA;" OwnerUserId="8735" LastEditorUserId="2185" LastEditDate="2012-03-19T14:12:57.787" LastActivityDate="2012-03-19T14:12:57.787" Title="machine learning for code and compiler optimization?" Tags="&lt;reference-request&gt;&lt;optimization&gt;&lt;machine-learning&gt;&lt;compilers&gt;" AnswerCount="1" CommentCount="8" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="10692" PostTypeId="2" ParentId="10685" CreationDate="2012-03-13T15:58:15.220" Score="7" Body="&lt;p&gt;This depends on what you mean by &quot;applying calculus to computer science.&quot;  In your comment to Quaternary's answer, you make a distinction between &quot;direct&quot; and &quot;indirect&quot; application, but it's not clear to me exactly what distinction you're making.  Following are some areas of computer science where calculus/analysis is applicable.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;b&gt;Scientific computing&lt;/b&gt;.  Computer algebra systems that compute integrals and derivatives directly, either symbolically or numerically, are the most blatant examples here, but in addition, any software that simulates a physical system that is based on continuous differential equations (e.g., computational fluid dynamics) necessarily involves computing derivatives and integrals.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;b&gt;Design and analysis of algorithms&lt;/b&gt;.  The behavior of a combinatorial algorithm on very large instances is often most easily analyzed using calculus.  This is especially true for randomized algorithms; modern probability theory is heavily analytic.  In the other direction, sometimes one can design an algorithm for a discrete problem by considering a continuous analogue, using calculus to solve the continuous problem, and then discretizing to obtain an algorithm for the original problem.  The simplest example of this might be finding an approximate root of a polynomial equation; using calculus, one can formulate Newton's method, and then discretize it.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;b&gt;Asymptotic enumeration&lt;/b&gt;.  Sometimes the only way to get a handle on an enumeration problem is to form a generating function and use analytic methods to estimate its asymptotic behavior.  See the book &lt;i&gt;Analytic Combinatorics&lt;/i&gt; by Flajolet and Sedgewick.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="2970" LastActivityDate="2012-03-13T15:58:15.220" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10694" PostTypeId="1" CreationDate="2012-03-13T16:43:13.820" Score="9" ViewCount="175" Body="&lt;p&gt;Does anyone know of a concept class known to be (1) efficiently learnable under the uniform distribution but (1) NP-hard to learn under arbitrary [adversarial] distributions? I mean &quot;learning&quot; in the proper PAC sense.&lt;/p&gt;&#xA;" OwnerUserId="1746" LastActivityDate="2012-03-13T22:07:12.637" Title="Separation result for proper learning under the uniform vs. adversarial distributions?" Tags="&lt;machine-learning&gt;&lt;lg.learning&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10695" PostTypeId="2" ParentId="10685" CreationDate="2012-03-13T16:50:28.913" Score="4" Body="&lt;p&gt;The Flajolet-Sedgewick book on analytic combinatorics demonstrates how to analyze running times of algorithms by looking at the poles of a related complex function. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2012-03-13T16:50:28.913" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10696" PostTypeId="2" ParentId="10686" CreationDate="2012-03-13T17:56:34.040" Score="6" Body="&lt;p&gt;This &lt;a href=&quot;https://stackoverflow.com/questions/948341/dynamic-programming-number-of-ways-to-get-at-least-n-bubble-sort-swaps&quot;&gt;StackOverflow question&lt;/a&gt; answers your question. You might also be interested in &lt;a href=&quot;https://oeis.org/search?q=+kendall+tau&amp;amp;sort=&amp;amp;language=english&amp;amp;go=Search&quot; rel=&quot;nofollow noreferrer&quot;&gt;this OEIS sequence&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="5693" LastEditorUserId="-1" LastEditDate="2017-05-23T12:40:09.333" LastActivityDate="2012-03-13T17:56:34.040" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10697" PostTypeId="2" ParentId="10685" CreationDate="2012-03-13T19:50:08.877" Score="3" Body="&lt;p&gt;There are a bunch of approximation algorithms with approximation ratio that is not a rational number. Such a number is often arrived as as the optimum of some continuous function, or as a limit. The most notorious of them is probably (1-1/e)  , which can be arrived at in a surprising number of ways. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The Goemans-Williamson max cut algorithm (http://people.orie.cornell.edu/~dpw/maxcut.ps) also has an approximation ratio that is the optimum of some function.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Factor revealing LP's model worst case instances of a given size. As instance size goes to infinity the optimal LP solution sometimes approaches some continuous function. A toy example of this would be Section 4 in &lt;a href=&quot;http://arxiv.org/pdf/cs/0612052v1.pdf&quot; rel=&quot;nofollow&quot;&gt;http://arxiv.org/pdf/cs/0612052v1.pdf&lt;/a&gt; (I'm sure there are others, this one I'm familiar with because I'm a coauthor on the paper).&lt;/p&gt;&#xA;" OwnerUserId="740" LastActivityDate="2012-03-13T19:50:08.877" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10698" PostTypeId="2" ParentId="10694" CreationDate="2012-03-13T19:56:36.887" Score="6" Body="&lt;p&gt;Here is an example that may not be exactly what you want, but is still emblematic of a general class of problems. In this instance, the hardness is only for agnostic learning, and only for &quot;proper&quot; learning in the sense that the representation class is restricted, and the easyness over the uniform distribution is for trivial reasons. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Width-k conjunctions are NP hard to learn using halfspaces (and in particular using conjunctions) over arbitrary distributions, even for $k &amp;gt; \log(n)$: &lt;a href=&quot;http://www.cs.cmu.edu/~yiwu/paper/mono.pdf&quot;&gt;http://www.cs.cmu.edu/~yiwu/paper/mono.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, for $k \gg \log n$, width $k$ conjunctions are trivial to learn over the uniform distribution over examples using conjunctions, since every width-k conjunction will label a $1-1/2^k$ fraction of examples &quot;0&quot;, so every width-k conjunction is a good hypothesis.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would guess that there are similar examples that hold more broadly. Notice that easyness of learning over the uniform distribution holds for any &quot;unbalanced&quot; function, for the same trivial reason. Take a class of functions that is hard to learn even non-agnostically (poly-sized circuits, say). I would think that you could modify the lower-bound proof to hold even if you modify the circuits to be unbalanced: to evaluate to $1$ only on an $\epsilon$ fraction of random inputs. Meanwhile the hard distribution could still be one in which $\Pr[A(x) = 1] = 1/2$. &lt;/p&gt;&#xA;" OwnerUserId="25" LastEditorUserId="25" LastEditDate="2012-03-13T22:07:12.637" LastActivityDate="2012-03-13T22:07:12.637" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="10699" PostTypeId="2" ParentId="10685" CreationDate="2012-03-13T19:57:25.263" Score="1" Body="&lt;p&gt;In stochastic simulation, we are often interested in estimating the expected value of a random variable. The expected value of a continuous random variable is an integral over the real numbers. To estimate this quantity, we use the Monte Carlo method which consists of generating instances of this random variable from pseudorandom uniform variables. From these uniform variables, we can generate random variables from a given distribution by inverting the cumulative distribution function which is defined itself as an integral.&lt;/p&gt;&#xA;" OwnerUserId="507" LastActivityDate="2012-03-13T19:57:25.263" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10700" PostTypeId="1" AcceptedAnswerId="10710" CreationDate="2012-03-13T20:00:49.270" Score="11" ViewCount="1467" Body="&lt;p&gt;What algorithms/mathematical techniques are available to exactly/approximately count number of independent sets?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is/Are there a good reference/good references on this topic?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am interested in regular graphs.&lt;/p&gt;&#xA;" OwnerUserId="5511" LastEditorUserId="-1" LastEditDate="2012-11-17T07:44:25.180" LastActivityDate="2012-11-17T07:44:25.180" Title="counting independent sets" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;graph-theory&gt;&lt;approximation-algorithms&gt;&lt;counting-complexity&gt;" AnswerCount="3" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10701" PostTypeId="2" ParentId="10685" CreationDate="2012-03-13T20:11:45.793" Score="1" Body="&lt;p&gt;Oh hell yes! &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Lagrange_multipliers#Example%3a_entropy&quot; rel=&quot;nofollow&quot;&gt;Lagrange Multipliers (Entropy example)&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www3.ntu.edu.sg/home/guohua/richter-thomass.pdf&quot; rel=&quot;nofollow&quot;&gt;Relation between crossing numbers of complete and complete bipartite graphs&lt;/a&gt; &lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.johndcook.com/blog/2011/06/10/stirling-approximation/&quot; rel=&quot;nofollow&quot;&gt;Simpler version of Stirling’s approximation&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strike&gt;It is impossible to write computer game without calculus. &lt;/strike&gt; Many computer games use calculus. &lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;It is used but I don't think it is used enough. &lt;/p&gt;&#xA;" OwnerUserId="612" LastEditorUserId="612" LastEditDate="2012-03-14T08:08:32.953" LastActivityDate="2012-03-14T08:08:32.953" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10702" PostTypeId="1" CreationDate="2012-03-13T20:51:50.500" Score="25" ViewCount="909" Body="&lt;p&gt;Suppose we have a class of objects (say graphs, strings), and an equivalence relation on these objects. For graphs this could be graph isomorphism. For strings, we could declare two strings equivalent if they are anagrams of each other.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am interested in computing a representative for an equivalence class. That is, I want a function f() such that for any two objects x, y,&#xA;f(x) = f(y) iff x and y are equivalent.  (*)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the example of anagrams, f(s) could sort letters in the string, ie. f('cabac') = 'aabcc'. For graph isomorphism, we could take f(G) to be a graph G' that is isomorphic to G and is the lexicoraphically first graph to have this property.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now the question: Is there an example where the problem of determining whether two elements are equivalent is &quot;easy&quot; (poly time solvable), while finding a representative is difficult (i.e. there is no poly time algorithm to compute f() that satisfies (*)).&lt;/p&gt;&#xA;" OwnerUserId="740" LastActivityDate="2018-10-16T18:26:00.383" Title="Example where equivalence is easy but finding class representative is hard" Tags="&lt;cc.complexity-theory&gt;" AnswerCount="11" CommentCount="4" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="10703" PostTypeId="2" ParentId="10702" CreationDate="2012-03-13T21:11:43.003" Score="-3" Body="&lt;p&gt;I suppose you can easily achieve that for virtually any problem of the type you describe.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Trivial example: Suppose objects are strings, and any $x$ is equivalent to only itself. Determining whether two elements are equivalent is always easy (it is simply equality). However, you can define $f()$ as your favorite injective hard function.&lt;/p&gt;&#xA;" OwnerUserId="6190" LastActivityDate="2012-03-13T21:11:43.003" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="10704" PostTypeId="2" ParentId="10702" CreationDate="2012-03-13T22:08:52.650" Score="25" Body="&lt;p&gt;Ok, how about: numbers $x$ and $y$ are equivalent if either $x=y$, or both $x$ and $y$ have factorizations $x=pq$ and $y=pr$ where $p$, $q$, and $r$ are all prime and $p &amp;lt; \min(q,r)$. That is: products of two primes are equivalent when they share their smallest prime factor; other numbers are only equivalent to themselves.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's easy to test whether two different numbers are equivalent: compute their gcd, test whether it's nontrivial, test whether the gcd is less than the cofactors, and test whether the gcd and its cofactors are all prime.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But it's not obvious how to compute a representative function $f$ in polynomial time, and if you add the requirement that $f(x)$ must be equivalent to $x$ then any representative function would allow us to factor most products of two primes (every one that isn't its own representative).&lt;/p&gt;&#xA;" OwnerUserId="95" LastEditorUserId="95" LastEditDate="2012-03-15T15:47:39.043" LastActivityDate="2012-03-15T15:47:39.043" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="10705" PostTypeId="2" ParentId="6660" CreationDate="2012-03-13T22:31:01.610" Score="-3" Body="&lt;p&gt;surprisingly one of the most obvious answers not posted yet. finding a clique of size $c$ (edges or vertices) apparently takes $O(n^c)$ time by the naive/brute force algorithm that enumerates all possibilities. or more accurately proportional to $n \choose c$ steps. (strangely enough this basic factoid seems to be rarely pointed out in the literature.) however a strict proof of that would imply $\mathsf{P \neq NP}$. so this question is related to the famous open conjecture, virtually equivalent to it. other NP type problems can be parameterized in this way.&lt;/p&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2012-03-13T22:31:01.610" CommentCount="8" CommunityOwnedDate="2012-12-06T19:38:01.160" ContentLicense="CC BY-SA 3.0" />
  <row Id="10706" PostTypeId="2" ParentId="10702" CreationDate="2012-03-13T22:53:39.053" Score="2" Body="&lt;p&gt;Testing whether two circuits of size $\leq N$ circuits are equivalent.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To determine if $C_1 \sim C_2$ you only need to evaluate at the $2^n$ input points. To determine a class representative, one would probably have to test all $2^{\Omega(N \log N)}$ possible circuits.  For $N$ sufficiently large this is exponentially harder than testing circuit equivalence.&lt;/p&gt;&#xA;" OwnerUserId="5538" LastActivityDate="2012-03-13T22:53:39.053" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="10707" PostTypeId="2" ParentId="6660" CreationDate="2012-03-13T23:03:30.163" Score="-2" Body="&lt;p&gt;computing matrix rigidity[1] via brute force/naive/enumerations apparently takes $O(2^n)$ time for matrices of size $n$ elements. this can be seen as a converging limit of a sequence of increasingly accurate estimates that take $n \choose 1$, $n \choose 2$, &#xA;$n \choose 3$, ... steps. in other words each estimate is in P-time $O(n^c)$ for any arbitrary exponent $c$ (ie $n \choose c$ steps). the naive algorithm chooses any $c$ elements of the matrix to change and tests for resulting dimension reduction. this is not totally surprising given that it has been related to computing circuit lower bounds. this follows a pattern where many algorithms have a conjectured P-time solution for some parameter but a solid proof of a lower bound would likely imply $\mathsf{P \neq NP}$ or something stronger.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] &lt;a href=&quot;https://cstheory.stackexchange.com/questions/10581/questions-about-computing-matrix-rigidity&quot;&gt;Questions about computing matrix rigidity&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2012-03-13T23:03:30.163" CommentCount="2" CommunityOwnedDate="2012-12-06T19:38:01.160" ContentLicense="CC BY-SA 3.0" />
  <row Id="10708" PostTypeId="2" ParentId="10702" CreationDate="2012-03-13T23:06:55.993" Score="21" Body="&lt;p&gt;Two integers $x,y$ mod $n$ are equivalent if $x^{2} \equiv y^{2}$ mod $n$. If one could easily compute a class representative for this function, then factoring can be done in probabilistic polynomial time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In general, such an example would imply that $P \neq NP$. Suppose $R$ is an equivalence relation that is decidable in polynomial time. Then by lexicographic search using an $NP$ oracle, one can find the lexicographically least element in the equivalence class of any string. If $P=NP$, this becomes polynomial time, so you can use the lexicographically least equivalent string as a class representative. This observation is originally due to Blass and Gurevich [1].&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Such an example would also imply $UP \not\subseteq BQP$ (and hence, in particluar, $P \neq UP$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The question you've asked is exactly what we denoted $PEq =? Ker(FP)$ in our paper with Lance Fortnow [2]. That paper also includes the results I've stated here, as well as the example of hash functions pointed out by Peter Shor, a few other possible examples, and related results and questions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] Blass, A. and Gurevich, Y. &lt;a href=&quot;http://dx.doi.org/10.1137/0213042&quot;&gt;Equivalence relations, invariants, and normal forms&lt;/a&gt;.  SIAM J. Comput. 13(4):682-689, 1984.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] Fortnow, L. and Grochow, J. A. &lt;a href=&quot;http://dx.doi.org/10.1016/j.ic.2011.01.006&quot;&gt;Complexity classes of equivalence problems revisited&lt;/a&gt;. Inform. and Comput. 209(4):748-763, 2011. Also available on the &lt;a href=&quot;http://arxiv.org/abs/0907.4775&quot;&gt;arxiv&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="129" LastEditorUserId="129" LastEditDate="2012-03-14T03:24:52.683" LastActivityDate="2012-03-14T03:24:52.683" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10709" PostTypeId="2" ParentId="10702" CreationDate="2012-03-14T01:25:39.913" Score="15" Body="&lt;p&gt;Does the &quot;representative&quot; have to be in the equivalence class?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If it does, then take any &lt;a href=&quot;http://en.wikipedia.org/wiki/Cryptographic_hash_function&quot;&gt;cryptographically strong hash&lt;/a&gt; function $f$ with collision resistance.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $x \simeq y$ if $f(x) = f(y)\,$. It's easy to test whether two things are equivalent, but if, given $f(x) = h$, you could find a canonical preimage of $h$, then you could find two strings $x$ and $y$ such that $f(x)=f(y)\,$. This is supposed to be hard (that's what collision resistance means). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course, computer scientists cannot prove that cryptographically strong hash functions with collision resistance exist, but they have a number of candidates.&lt;/p&gt;&#xA;" OwnerUserId="1677" LastEditorUserId="1677" LastEditDate="2012-03-14T01:33:43.430" LastActivityDate="2012-03-14T01:33:43.430" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10710" PostTypeId="2" ParentId="10700" CreationDate="2012-03-14T08:11:52.303" Score="8" Body="&lt;p&gt;The problem can be restated as a #2SAT. See &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/2-satisfiability&quot;&gt;http://en.wikipedia.org/wiki/2-satisfiability&lt;/a&gt; &lt;/p&gt;&#xA;&#xA;&lt;p&gt;under the &quot;Counting the number of satisfying assignments&quot; section for some references to the currently best exact counting algorithms.&lt;/p&gt;&#xA;" OwnerUserId="679" LastActivityDate="2012-03-14T08:11:52.303" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="10711" PostTypeId="1" AcceptedAnswerId="10716" CreationDate="2012-03-14T11:46:18.123" Score="1" ViewCount="290" Body="&lt;p&gt;I'm trying to find a solution for the following problem. &#xA;You have a set of pictures or let us assume they are just &lt;strong&gt;boxes&lt;/strong&gt; with a given &lt;strong&gt;aspect ratio&lt;/strong&gt;. And you have a two-dimensional &lt;strong&gt;area&lt;/strong&gt; with width and height. &#xA;The boxes can vary in size only their aspect ratio is fixed, BUT they can have also have a max/min size (optional). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm looking for an optimal distribution of the boxes in this area, so that the remaining area is minimal.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a solution to this problem, or a best practice to deal with it? Or are there any papers published on that topic?&#xA;(some toolkit for javascript dealing with this problem would be brilliant)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What I already found during my short research? Similar problem:&#xA;&lt;a href=&quot;https://stackoverflow.com/questions/5129221/treemapping-with-a-given-aspect-ratio&quot;&gt;https://stackoverflow.com/questions/5129221/treemapping-with-a-given-aspect-ratio&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have also thought about a mathematical solution to this problem and what I came up with so far was:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;x1+...+xn &amp;lt;= x_dimension            | x1..xn (box width)&#xA;a1*x1+...+an*xn &amp;lt;= y_dimension      | a1..an (aspect ratio)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;of course there are multiple solution to this problem so what you then need to do is to find out which is the best. So you need to find:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;min(x_remainder*y_remainder)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;whereas&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;(x1+...+xn) - x_dimension = x_remainder &#xA;(a1*x1+...+an*xn) - y_dimension  = y_remainder&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;I'm not even sure if I'm on the right path with this approach, so I would also be grateful, if someone could provide me with some food for thought.&lt;/p&gt;&#xA;" OwnerUserId="8747" LastEditorUserId="-1" LastEditDate="2017-05-23T12:40:09.333" LastActivityDate="2012-11-24T07:21:06.947" Title="Distribution of variable sized images/boxes(only aspect ratio given) on a 2D area" Tags="&lt;cg.comp-geom&gt;&lt;optimization&gt;&lt;packing&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="10712" PostTypeId="2" ParentId="6660" CreationDate="2012-03-14T14:45:04.483" Score="13" Body="&lt;p&gt;&lt;strong&gt;Sandpile Transience Problem&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider the following process. Take a thick tile and drop sand particles on it one grain at a time. A heap gradually builds up and then a large portion of sand slides off from the edges of the tile. If we continue to add sand particles, after a certain point of time, the configuration of the heap repeats. Thereafter, the configuration becomes recurrent, i.e. it keeps revisiting a state that is seen earlier.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider the following model for the above process. Model the tile as an $n \times n$ grid. Sand particles are dropped on the vertices of this grid. If the number of particles at a vertex exceeds its degree, then the vertex collapses and the particles in it move to adjacent vertices (in cascading manner). A sand particle that reaches a boundary vertex disappears into a sink (`falls off'). This is known as the &lt;strong&gt;Abelian Sandpile Model&lt;/strong&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Problem: How long does it take for the configuration to become recurrent in terms of $n$, assuming the worst algorithm for dropping sand particles?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In &lt;a href=&quot;http://people.cs.uchicago.edu/~laci/papers/bg-sandpile-soda07.pdf&quot; rel=&quot;noreferrer&quot;&gt;SODA '07&lt;/a&gt;, László Babai and Igor Gorodezky proved this time to be polynomially bounded but..&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/VRm3y.jpg&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In &lt;a href=&quot;http://arxiv.org/abs/1105.3368&quot; rel=&quot;noreferrer&quot;&gt;SODA '12&lt;/a&gt;, Ayush Choure and Sundar Vishwanathan improved this bound to $O(n^7)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This answer would have looked slightly better if not for their improvement :)&lt;/p&gt;&#xA;" OwnerUserId="547" LastEditorUserId="5693" LastEditDate="2012-03-14T15:28:05.503" LastActivityDate="2012-03-14T15:28:05.503" CommentCount="0" CommunityOwnedDate="2012-12-06T19:38:01.160" ContentLicense="CC BY-SA 3.0" />
  <row Id="10713" PostTypeId="2" ParentId="10700" CreationDate="2012-03-14T14:59:23.747" Score="6" Body="&lt;p&gt;For approximate counting, the following paper (also in APPROX-RANDOM 2011)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://arxiv.org/abs/1105.5131&quot;&gt;http://arxiv.org/abs/1105.5131&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;describes the state of the art.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As Anthony Labarre refers to in a comment above, there was a recent and unexpected breakthrough by Yufei Zhao showing a &lt;em&gt;tight&lt;/em&gt; upper bound on the number of independent sets in an $n$-vertex $d$-regular graph.  His proof used a very clever bijection. The extremal example, conjectured by Alon and Kahn and dating back to 1991, is simply a disjoint union of many copies of a $d$-regular complete bipartite graph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This area of research draws on many mathematical and algorithmic methods, and is an area of interest not only to theoretical computer scientists, but also to number theorists, probabilists, combinatorialists, statistical physicists, and more.  These two recent papers might give you a good start, though there is a rich collection of deep and interesting papers on the topic going back decades.&lt;/p&gt;&#xA;" OwnerUserId="233" LastActivityDate="2012-03-14T14:59:23.747" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10715" PostTypeId="2" ParentId="10700" CreationDate="2012-03-14T17:13:25.747" Score="5" Body="&lt;p&gt;To supplement the answer from @RJK, as of yesterday, there is a new &quot;state of the art.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://arxiv.org/abs/1203.2602&quot; rel=&quot;noreferrer&quot;&gt;Sly and Sun&lt;/a&gt; show&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Theorem 1. For $d \ge 3$ and $\lambda &amp;gt; \lambda_c(d) = \frac{(d−1)^{d-1}}{(d-2)^d}$, unless NP = RP there exists no FPRAS for the partition function of the hard-core model with fugacity $\lambda$ on $d$-regular graphs.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;For $\lambda &amp;lt; \lambda_c(d)$, it is already known that an FPRAS exists. Sly and Sun site those papers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is an open problem what happens when $\lambda = \lambda_c(d)$.&lt;/p&gt;&#xA;" OwnerUserId="3964" LastActivityDate="2012-03-14T17:13:25.747" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="10716" PostTypeId="2" ParentId="10711" CreationDate="2012-03-14T18:33:45.400" Score="4" Body="&lt;p&gt;As mentioned in the comments, the problem is called the (2-dimensional) packing problem. Your problem (Rectangle packing) is NP-complete. It can be shown with a reduction from the Bin Packing problem. See for example this paper &lt;a href=&quot;http://www.aaai.org/Papers/ICAPS/2003/ICAPS03-029.pdf&quot; rel=&quot;nofollow&quot;&gt;Richard E. Korf: Optimal Rectangle Packing: Initial Results&lt;/a&gt;. Here's a &lt;a href=&quot;http://www.codeproject.com/Articles/210979/Fast-optimizing-rectangle-packing-algorithm-for-bu&quot; rel=&quot;nofollow&quot;&gt;link&lt;/a&gt; that describes an algorithm (the same basic idea as in the paper) in quite a bit of detail. In addition, the paper mentions the problem can be modeled as a constraint satisfaction problem (CSP), so you might be interested in using a CSP-solver if you need to solve the problem in practice. One such solver I have used is &lt;a href=&quot;http://minion.sourceforge.net/&quot; rel=&quot;nofollow&quot;&gt;MINION&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="5693" LastActivityDate="2012-03-14T18:33:45.400" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10717" PostTypeId="2" ParentId="5934" CreationDate="2012-03-14T21:04:41.123" Score="9" Body="&lt;p&gt;A &lt;em&gt;cone&lt;/em&gt; of Turing degrees is a set $D$ of degrees with some base $b \in D$ such that for all degrees $c$, $b \leq_T c$ if and only if $c \in D$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The statement of &lt;em&gt;Turing degree determinacy&lt;/em&gt;:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Every set of Turing degrees either contains a cone or is disjoint from some cone&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;is a consequence of the axiom of determinacy (AD), which is independent of ZF and incompatible with ZFC. The weaker statement &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Every Borel set of reals that is closed under Turing equivalence either contains a cone or is disjoint from a cone &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;is a consequence of Martin's theorem on Borel determinacy, which is provable in ZFC. Both of these statements were studied before Martin's result on Borel determinacy was proved, at which time it was only known that they are both provable in ZF+AD. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The second quoted result has the following interesting conclusion: suppose that $S$ is a Borel set of reals closed under Turing equivalence such that for every real $b$ there is some $c \in S$ with $b \leq_T c$ (this just says that $S$ is upwards dense in the Turing degrees). Then $S$ must contain an entire cone of Turing degrees. &lt;/p&gt;&#xA;" OwnerUserId="8316" LastEditorUserId="8316" LastEditDate="2012-03-14T21:12:10.710" LastActivityDate="2012-03-14T21:12:10.710" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10718" PostTypeId="2" ParentId="10688" CreationDate="2012-03-15T00:28:23.613" Score="3" Body="&lt;p&gt;Genetic Programming (GP) has been used to modify source code for performance improvement.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;e.g. &lt;a href=&quot;http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=5688317&quot; rel=&quot;nofollow&quot;&gt;Evolutionary Improvement of Programs&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(This is close to my PhD topic, would be very interested to hear your approach)&lt;/p&gt;&#xA;" OwnerUserId="5345" LastActivityDate="2012-03-15T00:28:23.613" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10719" PostTypeId="2" ParentId="10679" CreationDate="2012-03-15T01:52:39.133" Score="5" Body="&lt;p&gt;Another phrase to consider is &quot;exactly solvable&quot;, which is from statistical physics and also corresponds with our present-day notions of efficient/feasible. The introduction in &lt;a href=&quot;http://arxiv.org/abs/1008.0683&quot;&gt;this paper&lt;/a&gt; contains a nice historical description of this phrase with many references.&lt;/p&gt;&#xA;" OwnerUserId="3964" LastActivityDate="2012-03-15T01:52:39.133" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10720" PostTypeId="1" CreationDate="2012-03-15T02:22:26.723" Score="8" ViewCount="176" Body="&lt;p&gt;It is known how to construct &quot;lossless&quot; unbalanced bipartite expanders with the following properties: the bipartite graph has $n$ left vertices, $m$ right vertices, left-degree $D$, and for all left-sets $S$ of size up to $\gamma n$, the neighbor set $\Gamma(S)$ has size at least $(1 - \epsilon)D|S|$, and this is achieved for any $m \leq n, \epsilon &amp;gt; 0$, and $D = \Theta(\log(n/m)/\epsilon)$, $\gamma = \Theta(\frac{\epsilon m}{Dn})$. The construction due to  Capalbo, et al. achieves these parameters.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's clear that $\gamma \leq m/(Dn)$, but how large can $\gamma$ be? In particular, I'm wondering if it's possible to make $\gamma$ very close to $1/4$, say; this would essentially require one to make $m = n$ and $D = 4$ for any hope of accomplishing this --  $\epsilon$ hasn't even been considered yet! However, does anyone familiar with expander constructions have a sense of what hidden constants lay within the $\Theta$'s? &lt;/p&gt;&#xA;" OwnerUserId="170" LastEditorUserId="186" LastEditDate="2012-03-15T14:34:33.117" LastActivityDate="2012-03-15T14:34:33.117" Title="Lossless, constant-degree expanders that expand large sets" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;expanders&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10721" PostTypeId="2" ParentId="5934" CreationDate="2012-03-15T07:35:14.767" Score="5" Body="&lt;p&gt;I recently attended a talk with one such result, for the determinacy of one-counter Büchi games: Olivier Finkel, &lt;em&gt;The Determinacy of Context-Free Games&lt;/em&gt;, STACS 2012, &lt;a href=&quot;http://drops.dagstuhl.de/opus/volltexte/2012/3389/pdf/5.pdf&quot; rel=&quot;noreferrer&quot;&gt;http://drops.dagstuhl.de/opus/volltexte/2012/3389/pdf/5.pdf&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="609" LastActivityDate="2012-03-15T07:35:14.767" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10724" PostTypeId="2" ParentId="5995" CreationDate="2012-03-15T10:49:16.760" Score="1" Body="&lt;p&gt;The following decision problem is NP-complete:&lt;br&gt;&#xA;&lt;strong&gt;Kemeny Score&lt;/strong&gt;&lt;br&gt;&#xA;&lt;strong&gt;Input:&lt;/strong&gt; An election ($n$ partial or full rankings of $m$ candidates) and a positive integer $k$.&lt;br&gt;&#xA;&lt;strong&gt;Question:&lt;/strong&gt;: Is there a ranking with $\sum_i d(r, q_i) \leq k$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This decision problem is often seen as &quot;natural decision problem&quot; behind Kemeny voting. It is trivially in NP since computing the Kendall-Tau distance is in P. For NP-hardness see for example [Bartholdi, Tovey and Tick, Social Choice and Welfare 1989] or [Dwork, Kumar, Naor, and Sivakumar, WWW 2001].&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, the problem you describe above looks more like an optimization problem. To answer your question I refer to the &lt;strong&gt;Kemeny Winner&lt;/strong&gt; problem which is $P_{||}^{NP}$-complete (see [Hemaspaandra, Spakowski, Vogel, TCS 2005]). Thus, already deciding whether a candidate is an (optimal) winner in Kemeny's system is presumable not in NP.&lt;/p&gt;&#xA;" OwnerUserId="8732" LastActivityDate="2012-03-15T10:49:16.760" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10726" PostTypeId="2" ParentId="10679" CreationDate="2012-03-15T14:39:29.130" Score="11" Body="&lt;p&gt;I don't know about the terms &quot;efficient&quot; and &quot;feasible.&quot;  Since these terms even today have no precise technical meaning, I suspect that the history of their usage will turn out to be murky, just as the history of most words in most languages is murky.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&quot;Computational complexity&quot; is a more interesting term.  With the help of MathSciNet, I find that Juris Hartmanis seems to have been the first to popularize it.  The famous 1965 paper by Hartmanis and Stearns uses the term in the title, but even before that, Hartmanis's Mathematical Review of Michael Rabin's paper &quot;Real time computation&quot; (&lt;i&gt;Israel J. Math.&lt;/i&gt; &lt;b&gt;1&lt;/b&gt; (1963), 203–211) says:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;This result is very instructive and contributes new techniques to the emerging theory of computational complexity of recursive sequences and functions. This theory is mainly concerned with the classification of computable problems by their degree of computational difficulty, the study of the properties of these complexity classes, their relation to each other and their dependence on the (abstract) computing devices.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Note that Rabin himself does &lt;i&gt;not&lt;/i&gt; use the term &quot;computational complexity&quot; in this paper.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;MathSciNet also turns up a couple of earlier reviews that use the term &quot;computational complexity,&quot; but these seem to be spontaneous and sporadic occurrences.&lt;/p&gt;&#xA;" OwnerUserId="2970" LastActivityDate="2012-03-15T14:39:29.130" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10727" PostTypeId="1" AcceptedAnswerId="10730" CreationDate="2012-03-15T17:53:02.617" Score="3" ViewCount="213" Body="&lt;p&gt;This problem is a following up question on  &lt;a href=&quot;https://cstheory.stackexchange.com/questions/10615/is-the-following-optimization-problem-np-hard&quot;&gt;this one&lt;/a&gt;. The only difference is the newly added constraint in the bold font.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Set S, which is an non-empty finite subset of $\{ (i,j) : i, j \in N \land i \neq j \}$ and is also a &lt;strong&gt;&lt;em&gt;transitive closure&lt;/em&gt;&lt;/strong&gt;, is given. E.g. $S=\{(1,2), (2,3), (1,3), (2,4), (1,4)\}$. For each element $(i,j)$, we have weight $w_{ij}=c(i)&amp;gt;0$, where $c$ is some benefit function, and a binary decision variable $x_{ij}$. The optimization problem is defined as follows:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\text{maximize} \sum_{(i,j)\in S} w_{ij}x_{ij} $$&#xA;$$\text{s.t.} x_{ij}+x_{ik} \le 1 $$&#xA;$$x_{ij}+x_{jk} \le 1 $$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note this problem is not the &lt;em&gt;Maximum Weighted  Matching&lt;/em&gt; problem as edges that share the same end point are allowed.&lt;/p&gt;&#xA;" OwnerUserId="8564" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2012-11-17T07:44:04.227" Title="Is the following optimization problem (a variant to a previous problem) NP-hard?" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10728" PostTypeId="1" AcceptedAnswerId="10732" CreationDate="2012-03-15T18:03:53.453" Score="19" ViewCount="644" Body="&lt;p&gt;Consider the following model: an n-bit string r=r&lt;sub&gt;1&lt;/sub&gt;...r&lt;sub&gt;n&lt;/sub&gt; is chosen uniformly at random.  Next, each index i&amp;isin;{1,...,n} is put into a set A with independent probability 1/2.  Finally, an adversary is allowed, for each i&amp;isin;A separately, to flip r&lt;sub&gt;i&lt;/sub&gt; if it wants to.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is this: can the resulting string (call it r') be used by an RP or BPP algorithm as its only source of randomness?  Assume that the adversary knows in advance the entire BPP algorithm, the string r, and the set A, and that it has unlimited computation time.  Also assume (obviously) that the BPP algorithm knows neither the adversary's flip decisions nor A.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm well-aware that there's a long line of work on precisely this sort of question, from Umesh Vazirani's work on semi-random sources (a different but related model), to more recent work on extractors, mergers, and condensers.  So my question is simply whether any of that work yields the thing I want!  The literature on weak random sources is so large, with so many subtly-different models, that someone who knows that literature can probably save me a lot of time.  Thanks in advance!&lt;/p&gt;&#xA;" OwnerUserId="1575" LastEditorUserId="-1" LastEditDate="2012-11-17T07:44:06.863" LastActivityDate="2012-11-17T07:44:06.863" Title="Running a BPP algorithm with a half-random, half-adversarial string" Tags="&lt;cc.complexity-theory&gt;&lt;randomized-algorithms&gt;&lt;derandomization&gt;&lt;extractors&gt;" AnswerCount="3" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="10730" PostTypeId="2" ParentId="10727" CreationDate="2012-03-15T18:14:03.497" Score="9" Body="&lt;p&gt;This is easy to solve in polynomial time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To see this, it may be easiest to interpret $S$ as a preorder $\le$ on $N$:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$i \le j$ iff $(i,j) \in S$ or $i = j$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Then we define the equivalence relation $\sim$:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$i \sim j$ iff $i \le j$ and $j \le i$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Now let $W$ consist of all equivalence classes of $\sim$; for each $i \in N$ let $[i] \in W$ be its equivalence class. Put otherwise, $[i]$ consists of all $j \in N$ such that $(j,i) \in S$ and $(i,j) \in S$. Now we can define the natural partial order $\le&amp;#39;$ on $W$:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$[i] \le&amp;#39; [j]$ iff $i \le j$ for each $i,j \in N$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;We say that $[i] \in W$ is &lt;em&gt;maximal&lt;/em&gt; if $[i] \le&amp;#39; [j]$ implies $[i] = [j]$. We have the following property that is easy to verify:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;If $[i]$ is maximal, we cannot get the benefit $c(j)$ for all $j \in [i]$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Hence in any solution, for every maximal class $[i]$, we have to choose at least one node $j \in [i]$ such that we do not get the benefit of $c(j)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We now construct a solution as follows: For each maximal class $[i]$, choose a node $j \in [i]$ that minimises $c(j)$; we say that $j$ is a &lt;em&gt;sink node&lt;/em&gt;. Now assume that $k \in N$ is not a sink node. There are too cases:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;$k \in [i]$, where $[i]$ is maximal. Now we can simply choose the edge $(k,j) \in S$, where $j \in [i]$ is a sink node, and collect the benefit of $c(k)$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;$k \in [i]$, where $[i]$ is not maximal. Then there is a maximal set $[\ell]$ with $[i] \le [\ell]$. Let $j \in [\ell]$ be the sink node, choose the edge $(k,j) \in S$, and collect the benefit of $c(k)$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;That is, we can get the benefit of $c(k)$ for all nodes $k \in N$ that are not sink nodes; the solution is optimal.&lt;/p&gt;&#xA;" OwnerUserId="74" LastActivityDate="2012-03-15T18:14:03.497" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10732" PostTypeId="2" ParentId="10728" CreationDate="2012-03-15T20:22:29.733" Score="22" Body="&lt;p&gt;What you need is a &quot;seeded extractor&quot; with the following parameters: seed of length $O(\log n)$, crude randomness $n/2$, and output length $n^{\Omega(1)}$. These are known. While I'm not up to date with the most recent surveys, I believe that section 3 of &lt;a href=&quot;http://cs.haifa.ac.il/~ronen/online_papers/ICALPinvited.pdf&quot;&gt;Ronen's survey&lt;/a&gt; is enough.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The only thing you will need to show is that your source has sufficient &quot;min-entropy&quot;, i.e. no n-bit string gets a probability of more than $2^{-n/2}$, which I think is clear in your setting.&lt;/p&gt;&#xA;" OwnerUserId="42" LastEditorUserId="80" LastEditDate="2012-03-15T21:32:41.917" LastActivityDate="2012-03-15T21:32:41.917" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10735" PostTypeId="2" ParentId="6448" CreationDate="2012-03-16T10:41:51.333" Score="2" Body="&lt;p&gt;&lt;strong&gt;Produce epub proceedings&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Nowadays lots of people own an electronic reader/tablet and use it to read proceedings. However the output when reading a pdf file is not optimum.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The translation from pdf to epub is not good either, so readers should not do it by themselves.&#xA;However for someone who owns the tex file it is really easy: &lt;code&gt;tex4ht&lt;/code&gt; does an excellent job at converting LaTeX to (X)HTML (even with math formulas). Then one can use Calibre to convert the html file to epub.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Right now I have not been able to find tex2epub converters, however if there started to be epub proceedings, then I guess it would not be too long before someone decides to code one up!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some references:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://tex.stackexchange.com/questions/16569/latex-document-to-epub-or-mobi-ebook-formats-with-mathematical-formulas&quot;&gt;https://tex.stackexchange.com/questions/16569/latex-document-to-epub-or-mobi-ebook-formats-with-mathematical-formulas&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://tex.blogoverflow.com/2011/07/getting-latex-on-to-the-web/&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://tex.blogoverflow.com/2011/07/getting-latex-on-to-the-web/&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.charlietanksley.net/philtex/converting-from-latex/&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://www.charlietanksley.net/philtex/converting-from-latex/&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.renjusblog.com/2010/04/pdfhtml-to-epub-converter-freewares.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://www.renjusblog.com/2010/04/pdfhtml-to-epub-converter-freewares.html&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="4873" LastEditorUserId="-1" LastEditDate="2017-04-13T12:36:12.330" LastActivityDate="2012-03-16T10:41:51.333" CommentCount="5" CommunityOwnedDate="2012-03-16T10:41:51.333" ContentLicense="CC BY-SA 3.0" />
  <row Id="10736" PostTypeId="2" ParentId="10702" CreationDate="2012-03-16T10:58:23.763" Score="5" Body="&lt;p&gt;Here's an attempt at another answer, where we loosen the requirement on the &quot;representative&quot;; it doesn't actually have to be a member of the equivalence class, but just a function identifying the equivalence class. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose you have a group where you can do subgroup membership testing. That is, given $g_1, g_2, \ldots, g_k$, you can check whether $h$ is in the subgroup generated by $g_1, \ldots, g_k$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Take your equivalence classes to be sets of elements $g_1, g_2, \ldots, g_k$ that generate the same subgroup. It's easy to check whether two sets generate the same subgroup. However, it's not at all  clear how you could find a unique identifier for every subgroup. I suspect that this really is an example if you assume black-box groups with subgroup membership testing. However, I don't know whether there is any non-oracle group where this problem appears to be hard. &lt;/p&gt;&#xA;" OwnerUserId="1677" LastActivityDate="2012-03-16T10:58:23.763" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10738" PostTypeId="1" CreationDate="2012-03-16T20:27:37.067" Score="18" ViewCount="505" Body="&lt;p&gt;Has any work been done on how the complexity of random instances of &lt;strong&gt;#2-SAT&lt;/strong&gt; varies with the clause density? That is: how does &lt;em&gt;the difficulty of counting&lt;/em&gt; satisfying solutions to a randomly generated instance of &lt;strong&gt;2-SAT&lt;/strong&gt; vary, as the clause density varies? In particular, are there any rigorous results known involving critical thresholds?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course, because  &lt;strong&gt;2-SAT&lt;/strong&gt;&amp;nbsp;&amp;isin;&amp;nbsp;&lt;strong&gt;P&lt;/strong&gt;, the typical counting complexity depends partly on the probability with which an instance is satisfiable; instances whose clause density is above the &lt;a href=&quot;http://pre.aps.org/abstract/PRE/v56/i2/p1357_1&quot;&gt;critical threshold for SAT/UNSAT&lt;/a&gt; will typically have an easy counting complexity, as the answer is &quot;&lt;em&gt;zero&lt;/em&gt;&quot; almost surely, in the limit &lt;em&gt;n&lt;/em&gt;&amp;nbsp;$\to \infty$. However, the counting complexity may still be easy for instances of &lt;strong&gt;2-SAT&lt;/strong&gt; having a density near to or just above the critical threshold for finite &lt;em&gt;n&lt;/em&gt;: one might expect that a satisfiable instance will have only a small number of solutions, which might be easy to enumerate due to the tightness of the constraints. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For &lt;strong&gt;&lt;em&gt;k&lt;/em&gt;-SAT&lt;/strong&gt; with &lt;em&gt;k&lt;/em&gt;&amp;nbsp;&amp;ge;&amp;nbsp;3, the &lt;a href=&quot;http://www.cs.cornell.edu/selman/papers/pdf/96.aij.critical_behavior_cost.pdf&quot;&gt;difficulty of determining whether an instance is satisfiable or unsatisfiable&lt;/a&gt;  seems to be highest near the critical thresholds separating the SAT phase from the UNSAT phase, in part as one tries to determine whether there exists &lt;em&gt;at least one&lt;/em&gt; satisfying solution. For &lt;strong&gt;#2-SAT&lt;/strong&gt;, the difficulty &lt;em&gt;cannot&lt;/em&gt; lie in determining whether at least one solution exists; so one should expect that the difficulty is likely to be in determining the number of solutions for satisfiable formulae of a &lt;em&gt;significant but not large&lt;/em&gt; number of constraints &amp;mdash; that is, where there are enough constraints to induce non-trivial dependencies between variables, but not so many as to over-determine the possible assignments.&lt;/p&gt;&#xA;" OwnerUserId="248" LastEditorUserId="-1" LastEditDate="2012-11-17T07:44:09.360" LastActivityDate="2012-11-17T07:44:09.360" Title="What is the counting complexity of random 2-SAT?" Tags="&lt;cc.complexity-theory&gt;&lt;counting-complexity&gt;&lt;random-k-sat&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="10739" PostTypeId="1" AcceptedAnswerId="10751" CreationDate="2012-03-16T22:59:07.247" Score="0" ViewCount="594" Body="&lt;p&gt;am wondering what is the largest language class that is known for which set inclusion is decidable, ie a class such that if $A, B$ are in that class then $A \subset B$ is decidable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;am also interested in the same question for what were once called &quot;GSMs&quot;, generalized sequential machines, or maybe more modernly, FSM &quot;transducers&quot;, where if $f(x)$ is the transducer, $C \subset f(C)$, $C$ in the class.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(of course, the problem is also equivalent to determining whether the intersection of a complement is empty.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[simply asking for the &quot;largest known&quot; language is a literature related question. however some kind of proof that there exists a &quot;largest class&quot; I believe is an open question. although, there might be a straightfwd argument of nonexistence via diagonalization...?]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;unfortunately wikipedia does not have some of this basic info for major language classes. wonder if there is any table, paper, or reference esp online.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;there is a nice table of decidability &amp;amp; undecidability of basic language questions in [1] but its quite dated at this point.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/020102988X&quot; rel=&quot;nofollow&quot;&gt;Hopcroft/Ullman, Intro to Automata Theory, Languages &amp;amp; Computation, 1979&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2012-03-17T21:40:06.657" Title="largest language class for which inclusion is decidable" Tags="&lt;reference-request&gt;&lt;fl.formal-languages&gt;&lt;computability&gt;&lt;open-problem&gt;" AnswerCount="2" CommentCount="13" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10741" PostTypeId="2" ParentId="10738" CreationDate="2012-03-16T23:30:51.273" Score="11" Body="&lt;p&gt;Perhaps this paper can help you:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.aaai.org/ocs/index.php/AAAI/AAAI10/paper/download/1672/1961&quot;&gt;New Worst-Case Upper Bound for #2-SAT and #3-SAT with the Number of Clauses as the Parameter&lt;/a&gt; by J. Zhou, M. Yin, C. Zhou (2010).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;And this one that studies the structure of the set of solutions of a random 2-SAT instance: &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.107.8036&amp;amp;rep=rep1&amp;amp;type=pdf&quot;&gt;Satisfying Assignments of Random Boolean Constraint Satisfaction Problems: Clusters and Overlaps&lt;/a&gt; by G. Istrate (2007)&lt;/p&gt;&#xA;" OwnerUserId="3247" LastActivityDate="2012-03-16T23:30:51.273" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10743" PostTypeId="2" ParentId="10365" CreationDate="2012-03-17T16:17:30.817" Score="2" Body="&lt;p&gt;There is a videogame called SpaceChem which is based on principles of programming. You can read more about it here: &lt;a href=&quot;http://gangles.ca/2011/06/19/programming-in-spacechem/&quot; rel=&quot;nofollow&quot;&gt;http://gangles.ca/2011/06/19/programming-in-spacechem/&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="8779" LastActivityDate="2012-03-17T16:17:30.817" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10744" PostTypeId="2" ParentId="10728" CreationDate="2012-03-17T16:17:37.773" Score="5" Body="&lt;p&gt;Is the adversary allowed to see the entire string r before deciding how to set the bits in A?  If the answer is no then this is a bit-fixing source, which is actually deterministically extractable.  That is, no truly random seed required.  See, for example, Kamp and Zuckerman for constructions of extractors for bit-fixing sources.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If the adversary is allowed to see the rest of the string I would still guess that it's deterministically extractable, but the models are slightly different and I don't know off the top of my head how they relate.  Since the set A is random it's actually even friendlier than a bit-fixing source, where the set A may be arbitrary.&lt;/p&gt;&#xA;" OwnerUserId="8780" LastActivityDate="2012-03-17T16:17:37.773" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10745" PostTypeId="2" ParentId="6642" CreationDate="2012-03-17T16:30:33.860" Score="19" Body="&lt;p&gt;I was just wondering the same thing.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Fortunately, I was able to find a journal-article published in 2011 which explains this very thing; whats more, you don't need a subscription to view it: &lt;strong&gt;&lt;a href=&quot;http://www.ijcaonline.org/volume24/number3/pxc3873876.pdf&quot;&gt;Implementation and Performance Analysis of Exponential Tree Sorting&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I recommend reading the entire article to learn how it can be implemented and to better understand its underlying theory. It also shows how Exponential Trees stack up against Quick-Sort and Binary Trees. Here's the relevant excerpt related to &lt;strong&gt;Han's $\bf O(n \log\log n)$ time, linear space, integer sorting algorithm&lt;/strong&gt;:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Yijie Han has given an idea which reduces the complexity to expected&#xA;  time in linear space.[6] The technique used by him is coordinated pass&#xA;  down of integers on the Andersson’s exponential search tree[8] and the&#xA;  linear time multi-dividing of the bits of integers. Instead of&#xA;  inserting integer one at a time into the exponential search tree, he&#xA;  passed down all integers one level of the exponential search tree at a&#xA;  time. Such coordinated passing down provides the chance of performing&#xA;  multi-dividing in linear time and therefore speeding up the algorithm.&#xA;  This idea may provide speed up, but in practical implementation it is&#xA;  very difficult to handle integers in batches.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;[6]  Y.  Han,  Deterministic  sorting  in  O(n  log  log n)  time  and linear space, 34th STOC, 2002.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[8]  A.  Andersson,  Fast deterministic  sorting  and  searching  in linear  space,  IEEE  Symposium  on  Foundations  of Computer Science, 1996. &lt;/p&gt;&#xA;" OwnerUserId="7860" LastEditorUserId="7860" LastEditDate="2012-03-19T05:35:41.107" LastActivityDate="2012-03-19T05:35:41.107" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="10747" PostTypeId="1" AcceptedAnswerId="10748" CreationDate="2012-03-17T18:07:30.400" Score="2" ViewCount="110" Body="&lt;p&gt;I have two matrices $U$ and $V$.  $U$ is $n \times n$ and $V$ is $n \times m$. (Both are empirical results of an experiment.) I would like to find a linear transformation $A$, $m \times n$, such that $VA = \hat{U}$, where $\hat{U} = \underset{X}{\arg \min}$ $m(X, U)$ for some metric $m$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a closed form or iterative solution to this problem?&lt;/p&gt;&#xA;" OwnerUserId="8781" LastEditorUserId="-1" LastEditDate="2012-11-17T07:56:31.007" LastActivityDate="2012-11-17T07:56:31.007" Title="Finding mapping between two spatial representations of the same objects" Tags="&lt;linear-algebra&gt;&lt;matrices&gt;&lt;na.numerical-analysis&gt;" AnswerCount="1" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="10748" PostTypeId="2" ParentId="10747" CreationDate="2012-03-17T18:53:15.153" Score="6" Body="&lt;p&gt;If your error norm is the Frobenius distance (that is, $m(X, U) = \|X - U \|_F$, then there is a closed form for your problem. $A = V^+ U$, where $V^+$ is the &lt;a href=&quot;http://en.wikipedia.org/wiki/Moore%E2%80%93Penrose_pseudoinverse&quot;&gt;Moore-Penrose pseudoinverse&lt;/a&gt; of $V$ (this is a generalized inverse for non-square matrices).&lt;/p&gt;&#xA;" OwnerUserId="80" LastEditorUserId="80" LastEditDate="2012-03-17T19:05:02.843" LastActivityDate="2012-03-17T19:05:02.843" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="10749" PostTypeId="2" ParentId="10365" CreationDate="2012-03-17T19:42:23.480" Score="0" Body="&lt;p&gt;A good source of problems to get youngsters thinking about theory in CS, and solving the problems themselves, is the &quot;Computer Science Unplugged&quot; &lt;a href=&quot;http://csunplugged.org/&quot; rel=&quot;nofollow&quot;&gt;http://csunplugged.org/&lt;/a&gt; series. We go to schools and do the activities with children, or they come to Uni to do them with us. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's been going for years and years, has been translated into many languages---and the articles give info on how to run the sessions, what materials are needed and tips form people who have run them before.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Highly recommended!&lt;/p&gt;&#xA;" OwnerUserId="8785" LastActivityDate="2012-03-17T19:42:23.480" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10750" PostTypeId="2" ParentId="10739" CreationDate="2012-03-17T20:11:43.583" Score="-2" Body="&lt;p&gt;for a 1st cut answer to this question see p281 of hopcroft/ullman 1979. its a nice table of lots of properties/decision problems wrt basic known languages ie regular, DCFL, CFL, CSL, recursive, r.e. on the horizontal axis and basic questions like &quot;w in L, L= $\oslash $, L=$\Sigma *$&quot; etc on vertical axis.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;now they do not explicitly state how the languages are given, but the assumption is they are using their characteristic form eg regular grammars or DFAs for regular languages, DCGs for DCFLs, CSGs for CSLs etc.; nor do they give reference for all the results in cells of the grid, that would be a big effort because of the large size of the table &amp;amp; the diversity of results.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;for $L_1 \subseteq L_2$ its decidable for regular sets but undecidable for DCFLs and higher (CFLs, CSLs, recursive, r.e.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[I typed this question from old memory &amp;amp; had forgotten this result, oops. namely, inclusion problem is decidable for regular sets but not for all standard well known larger language classes. however,still do wonder, could there be a language class &quot;between&quot; regular sets and DCFLs for which inclusion is decidable? or possibly some language class not contained in any of those standard classes?]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;but the case for FSM transducers raised in the question may have a different answer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&amp;amp; I am still not clear on the table, because [as raised in comments] what is the characteristic form for a recursive set? [the r.e. sets are surely given by TMs]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;sorry for any confusion in the way the original question was phrased, as always there might be a better way to phrase it.&lt;/p&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2012-03-17T20:11:43.583" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10751" PostTypeId="2" ParentId="10739" CreationDate="2012-03-17T21:40:06.657" Score="4" Body="&lt;p&gt;Converted from comment: language inclusion is decidable for very simple deterministic pushdown automata (&quot;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.33.1633&quot; rel=&quot;nofollow&quot;&gt;On the Inclusion Problem for Very Simple Deterministic Pushdown Automata (1999)&lt;/a&gt;&quot; by E. Makinen, 1999) &#xA;and a restricted version of timed finite state machine (&quot;&lt;a href=&quot;http://dl.acm.org/citation.cfm?id=1018438.1021842&quot; rel=&quot;nofollow&quot;&gt;On the Language Inclusion Problem for Timed Automata: Closing a Decidability Gap&lt;/a&gt;&quot; by J. Ouaknine and J. Worrell, 2004).&lt;/p&gt;&#xA;" OwnerUserId="3247" LastActivityDate="2012-03-17T21:40:06.657" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10752" PostTypeId="2" ParentId="10365" CreationDate="2012-03-17T21:49:35.210" Score="1" Body="&lt;p&gt;It is surprising that no one mentioned using multiplication to explain the concept of computational intractability. We state that multiplication is easy since we have the standard textbook fast algorithm for multiplication while the reverse function of finding prime factors is hard since there are no known fast algorithms and the best known algorithm is not significantly faster than exhaustive search.&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2012-03-17T22:17:08.217" LastActivityDate="2012-03-17T22:17:08.217" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="10753" PostTypeId="1" CreationDate="2012-03-17T23:52:10.163" Score="7" ViewCount="1068" Body="&lt;p&gt;I am curious if there are graphs problems for which either -&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;we know that time and/or space complexity is independent of graph sparsity&lt;/li&gt;&#xA;&lt;li&gt;we do not know whether or not graph sparsity can be exploited to reduce time and/or space complexity&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Among many possible notions of the sparsity, I am particularly interested in the one that relies on edge density (or alternatively, average degree).&lt;/p&gt;&#xA;" OwnerUserId="7187" LastEditorUserId="-1" LastEditDate="2012-11-11T05:45:04.953" LastActivityDate="2012-11-11T05:45:04.953" Title="Sparse graphs versus dense graphs" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;" AnswerCount="0" CommentCount="10" ContentLicense="CC BY-SA 3.0" />
  <row Id="10754" PostTypeId="2" ParentId="10365" CreationDate="2012-03-18T12:09:00.390" Score="2" Body="&lt;p&gt;I think &lt;a href=&quot;http://www.planarity.net/&quot; rel=&quot;nofollow&quot;&gt;Planarity&lt;/a&gt; is good game. It gives some idea about planar graphs, and introduces elementary concepts of graph theory (like graph made by node and edges, and degree of nodes, what are planar graphs , ...)&lt;/p&gt;&#xA;" OwnerUserId="1846" LastEditorUserId="1846" LastEditDate="2012-03-18T18:21:37.373" LastActivityDate="2012-03-18T18:21:37.373" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10756" PostTypeId="1" AcceptedAnswerId="10757" CreationDate="2012-03-18T17:53:03.987" Score="6" ViewCount="379" Body="&lt;p&gt;Is saying that a class is non closed analogous to stating there are complete problems that have not been identified for that class under a certain type of reduction?&lt;/p&gt;&#xA;" OwnerUserId="8771" LastEditorUserId="-1" LastEditDate="2012-11-11T05:44:59.043" LastActivityDate="2012-11-11T05:44:59.043" Title="Are there non-closed complexity classes for which there are complete problems?" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;reductions&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10757" PostTypeId="2" ParentId="10756" CreationDate="2012-03-18T18:27:02.137" Score="14" Body="&lt;p&gt;I assume that you are asking about the relation between a complexity class having a complete problem under a certain notion of reducibility and the same complexity class being closed under the same notion of reducibility.  It is a common misunderstanding that these two notions are related.  They are not!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, SAT is an NP-complete problem under polynomial-time Turing reducibility.  But NP is not closed under polynomial-time Turing reducibility unless, say, NP=coNP.  On the other hand, &lt;a href=&quot;http://qwiki.stanford.edu/index.php/Complexity_Zoo%3aP#ph&quot;&gt;PH&lt;/a&gt; is closed under polynomial-time Turing reducibility, but PH does not have a complete problem unless the polynomial hierarchy collapses to a finite level.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is not to say that complete problems and the closure property are unrelated.  For example, consider the equivalence that P=NP if and only if SAT∈P.  One explanation for this equivalence is that it holds because SAT is NP-complete under polynomial-time Turing reducibility and &lt;em&gt;P (not NP!) is closed under the same notion of reducibility&lt;/em&gt;.  Of course, this is a little contrived explanation for this equivalence because we do not have to use Turing reducibility and we can use many-one reducibility instead, under which both P and NP are closed.  But when we consider classes of relation problems such as &lt;a href=&quot;http://qwiki.stanford.edu/index.php/Complexity_Zoo%3aF#fp&quot;&gt;FP&lt;/a&gt; and &lt;a href=&quot;http://qwiki.stanford.edu/index.php/Complexity_Zoo%3aF#fnp&quot;&gt;FNP&lt;/a&gt; and consider polynomial-time function reducibility, then we have to be careful about which class is closed and which class is not, because FNP is not necessarily closed under polynomial-time function reducibility.  Still, the notion of FNP-complete problems is useful because FP is closed under polynomial-time function reducibility.&lt;/p&gt;&#xA;" OwnerUserId="567" LastEditorUserId="567" LastEditDate="2012-03-18T18:42:20.560" LastActivityDate="2012-03-18T18:42:20.560" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10758" PostTypeId="2" ParentId="10659" CreationDate="2012-03-18T19:01:03.897" Score="6" Body="&lt;p&gt;First find the optimal solution, then add the linear constraint that the solution must have value equal to the optimal you want, and restate your LP as the one looking for the largest ball inside the feasible region. Solve this modiefied LP, and you have what you want. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Why the second problem can be solved using LP is a stnadard cute problem in Computational Geometry...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;==============&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More formally, you find the affine subspace spanning the feasible points containing the optimal solution. So, assume that the optimal solution lies on the hyperplane $h \equiv cx = \alpha$ (i.e., $\min c x$ was the original LP target function). If $P$ is the feasible region of the original LP, we are looking for the largest ball in $P \cap h$. To this end, we need to compute the smallest dimensional affine subspace containing this set. Once you found this subspace, change variables so that you consider only this affine subapce. Now, your polytope is full dimenisonal, and you can use the second LP as I described above.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, let $v$ be the vertex computed by the first LP.&#xA;Considering all the neighboring vertices to $v$. Consider the affine subspace of $v$ together with all its neighbors that have the same target value (i.e., $\alpha$). It is not hard to see, that this affine subspace is the desired subspace.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, to summerize: &#xA;(A) solve LP to discover optimal value.&#xA;(B) Compute the smallest dimensional subspace containing the feasible solution with the optimal value.&#xA;(C) Rewrite the original LP in this affine subpsace (i.e., dropping all the irrelevant dimensions), add a variable, and turn it into an LP for finding the largest ball inside this polytope.&lt;/p&gt;&#xA;" OwnerUserId="9594" LastEditorUserId="9594" LastEditDate="2012-03-20T05:49:42.270" LastActivityDate="2012-03-20T05:49:42.270" CommentCount="13" ContentLicense="CC BY-SA 3.0" />
  <row Id="10759" PostTypeId="1" CreationDate="2012-03-18T20:37:42.653" Score="2" ViewCount="219" Body="&lt;p&gt;I am looking for a way to generate an increasing sequence of integers $(x_i)$ such that the sequence of differences $(x_{i+1}-x_i)$ is pseudorandom (in any common way of defining pseudorandomness). It should be possible to efficiently find the $k$-th element in the sequence for a given $k$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Nonexamples:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;A linear congruential generator is not increasing, but it is possible to generate the $k$-th element, $x_k = A^kX_0+(1+\dotsc+A^{k-1})B \pmod{p}$, using $O(log(k))$ arithmetic operations.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Accumulating the sum of a linear congruential generator gives a sequence with the desired pseudorandomness property, but I don't know how to get the $k$-th element efficiently.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="5393" LastEditorUserId="-1" LastEditDate="2012-11-11T05:45:07.917" LastActivityDate="2013-04-21T10:55:48.120" Title="Pseudorandom increasing sequence" Tags="&lt;cr.crypto-security&gt;&lt;pseudorandom-generators&gt;" AnswerCount="1" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="10760" PostTypeId="1" CreationDate="2012-03-19T05:02:06.097" Score="5" ViewCount="1401" Body="&lt;p&gt;I am interesting in studying the complexity of some graph partition problems, where it is important to take into account the weights on the edges as well as the weight on the vertices. Max-cut only cares about the weights on the edges, while other problems only care about the weights on the vertices. Does anyone know problems in which BOTH weights are important in order to make the optimal partition?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thank you very much&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here's an example problem: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Input&lt;/strong&gt;: directed graph with vertex weights $u_i$ and arcs weights $w_{ij}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Output&lt;/strong&gt;: a subset S of V to maximize the sum of the following things:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;$\sum_{i, j \in S} w_{ij} + \sum_{i,j \in V - S} w_{ij}$ (arc weights inside each side)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;$\sum_{|{i,j} \cap S| = 1} w_{ij}u_j$: the sum over all cut edges of product of  arc weight and the weight of the destination vertex. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="8792" LastEditorUserId="80" LastEditDate="2012-03-20T05:22:24.943" LastActivityDate="2014-03-19T13:04:18.863" Title="Graph partition optimization with weights on edges and vertices" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;" AnswerCount="2" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="10761" PostTypeId="2" ParentId="10760" CreationDate="2012-03-19T09:16:56.590" Score="3" Body="&lt;p&gt;I think &lt;a href=&quot;http://en.wikipedia.org/wiki/Cut_%28graph_theory%29#Sparsest_cut&quot; rel=&quot;nofollow&quot;&gt;Sparsest cut&lt;/a&gt; or edge expansion, is good enough for you, because deals with both edges and nodes. The task is to find a cut, with $S\subset V$, $|S|\leq {|V|\over2}$ in one part such that:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\alpha(G) = \min \{ {E(S,S^c)\over |S|}\}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;is minimized over all possible set of $S$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You may look at &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/0166218X9090133W&quot; rel=&quot;nofollow&quot;&gt;Sparsest cut and bottlenecks in graphs&lt;/a&gt; by Matula,Shahrokhi for proof of NP-Hardness (proof is by using max cut).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also P. Bonsmaa et al, shown that it's NP-Hard &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S1570866711001110&quot; rel=&quot;nofollow&quot;&gt;even in uniform case&lt;/a&gt; (means all edges are of weight $1$).&lt;/p&gt;&#xA;" OwnerUserId="1846" LastEditorUserId="1846" LastEditDate="2014-03-19T13:04:18.863" LastActivityDate="2014-03-19T13:04:18.863" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10763" PostTypeId="1" AcceptedAnswerId="10765" CreationDate="2012-03-19T12:13:07.320" Score="16" ViewCount="697" Body="&lt;p&gt;Can you model reliable broadcasts in the pi-calculus? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If so: How?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If not: Are there any similar process algebras where you can?&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;What I have tried: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If sender $S$ wants to send a message $y$ to all $P_1$ to $P_n$, you could write&lt;br&gt;&#xA;!($\overline{x}y).S$ and $x(z).P_1$ to $x(z).P_n$. But how do you guarantee that $(\overline{x}y)$ is replicated $n$ times, i.e. no messages get lost?&#xA;I do not know $n$ in advance. Is it (only) possible with sending several messages back and forth between all processes involved?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;...or do I misunderstand the nondeterministic behavior of replication?&lt;/p&gt;&#xA;" OwnerUserId="6424" LastEditorUserId="2185" LastEditDate="2012-03-19T14:11:50.877" LastActivityDate="2012-03-23T14:19:45.500" Title="(How) can you model broadcasts in the pi-calculus?" Tags="&lt;pl.programming-languages&gt;&lt;formal-modeling&gt;&lt;process-algebra&gt;&lt;pi-calculus&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="10764" PostTypeId="1" AcceptedAnswerId="10768" CreationDate="2012-03-19T14:06:22.990" Score="1" ViewCount="363" Body="&lt;p&gt;In &lt;a href=&quot;http://video.ias.edu/csdm/pvsnp&quot; rel=&quot;nofollow&quot;&gt;this&lt;/a&gt; set of video lectures, Prof. Mulmuley emphasizes several times that P vs. NP is a very deep philosophical question at the core of Mathematics and that the fact that the two classes are not equal stands as an obstruction to proving that they are not equal (I paraphrase here, according to my limited understanding).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, I have two difficulties with this idea. Firstly, it was presented as though it were common mainstream belief (akin to the belief that P != NP). I did not come across this idea before, being expressed explicitly in this manner (maybe this is lack of exposure from my side).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The second difficulty is a bit more technical. P != NP tells something about hardness of finding proofs for provable statements, it does not saying anything about existence vs. non-existence of such proofs. Said naively, if P != NP, then this fact should not obstruct the existence of an easy, verifiable proof of this fact (other facts may provide such an obstruction though).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Am I misunderstanding something?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note: I was not really sure if this question belongs to tcs.SE but I couldn't find a more suitable choice.&lt;/p&gt;&#xA;" OwnerUserId="7925" LastActivityDate="2012-03-19T20:43:19.480" Title="Statement that inequality of P and NP obstructs finding a proof of their separation" Tags="&lt;soft-question&gt;&lt;complexity-classes&gt;&lt;p-vs-np&gt;" AnswerCount="1" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="10765" PostTypeId="2" ParentId="10763" CreationDate="2012-03-19T14:06:37.827" Score="19" Body="&lt;p&gt;About a decade ago, Ene and Muntean showed that broadcasting has no reasonable compositional encoding into the $\pi$-calculus [1]. The essence of their separation between point-to-point communication and message passing is easy to understand: point-to-point is &quot;too asynchronous&quot;. That means that in a broadcasting system, a broadcasting sender can send to $n$ processes in one atomic step for arbitrary $n$. OTOH, if a process wants to communicate with $n$ processes using point-to-point communication, this can only be done using $n$ (or more) separate message exchanges, which have intermediate states (e.g. the sender has sent messages to 100 receivers, and needs to send another 150). A context can observe, interact and interfere with these intermediate states, which is not possible with the atomic broadcast messages. To deal with this shortcoming of $\pi$-calculus (or indeed any calculus based on point-to-point message passing), Ene and Muntean propose a broadcasting variant b$\pi$ [2, 3], based on earlier work by Prasad on CBS, a variant of CCS with broadcasting [4].&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More technically, [1] calls an encoding $e$ &lt;i&gt;reasonable&lt;/i&gt; if the following is the case.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The encoding preserves parallel composition, i.e. $e(P|Q) = e(P) | e(Q)$.&lt;/li&gt;&#xA;&lt;li&gt;The encoding preserves injective renaming, i.e. $e(P\sigma) = e(P)\sigma$&#xA;for any injective renaming $\sigma$.&lt;/li&gt;&#xA;&lt;li&gt;The encoding satisfies some technical conditions about the preservation of input and output actions, see [1] for details.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Then [1] shows that no reasonable encoding from b$\pi$ to $\pi$ can exist. They establish this separation result using a variant of Palamidessi's electoral systems proof technique [5].&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There has been work on this subject since [1-4] were published, e.g. by M. Hennessy, but those are the pioneering papers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As an aside, broadcast is usually understood as one sender communicating with many receivers, but it is also possible to generalise point-to-point communication in the other direction where you have one receiver synchronising with multiple senders (this is used in e.g. &lt;a href=&quot;http://en.wikipedia.org/wiki/Petri_net&quot; rel=&quot;nofollow&quot;&gt;Petri nets&lt;/a&gt;), or hybrid forms of both. &lt;a href=&quot;http://www.doc.ic.ac.uk/~iccp/&quot; rel=&quot;nofollow&quot;&gt;I. Phillips&lt;/a&gt; has established a separation result that shows that this form of broadcasting can also not be encoded in  $\pi$-calculus. I am not sure whether this result is published or not.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] C. Ene, T. Muntean, &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.23.3320&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;nofollow&quot;&gt;Expressiveness of Point-to-Point versus Broadcast Communications&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] C. Ene, T. Muntean, &lt;a href=&quot;http://www.cs.unh.edu/~charpov/Confs/FMPPTA/2001/FMP_05.PDF&quot; rel=&quot;nofollow&quot;&gt;A Broadcast-based Calculus for Communicating Systems&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[3] C. Ene, T. Muntean, &lt;a href=&quot;http://www-verimag.imag.fr/~ene/Papers/test.pdf&quot; rel=&quot;nofollow&quot;&gt;Testing theories for Broadcasting Processes&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[4] K. V. S. Prasad, &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.38.5731&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;nofollow&quot;&gt;A Calculus of Broadcasting Systems&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[5] C. Palamidessi, &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.13.1182&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;nofollow&quot;&gt;Comparing the Expressive Power of the Synchronous and the Asynchronous $\pi$-calculi&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="898" LastEditorUserId="898" LastEditDate="2012-03-23T14:19:45.500" LastActivityDate="2012-03-23T14:19:45.500" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10766" PostTypeId="1" CreationDate="2012-03-19T14:19:37.067" Score="18" ViewCount="479" Body="&lt;p&gt;Suppose $T$ is an constant-degree tree whose structure we do not know. The problem is to output the tree $T$ by asking queries of the form: &quot;Does the node $x$ lie on the path from node $a$ to node $b$?&quot;. Assume that each query can be answered in constant time by an oracle. We know the value of $n$, the number of nodes in the tree. The objective is to minimize the time taken to output the tree in terms of $n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does there exist an $o(n^2)$ algorithm for the above problem?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assume that the degree of any node in $T$ is at most 3.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;What I know&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Bounded diameter case is easy&lt;/strong&gt;. If the diameter of the tree is $D$, then we can get a divide-and-conquer algorithm:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any binary tree has a good separator that divides the tree into components of size no less than 1/3n.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Pick any vertex x. If it is a good separator label that and recurse.&lt;/li&gt;&#xA;&lt;li&gt;Find all the 3 neighbors of x. &lt;/li&gt;&#xA;&lt;li&gt;Move in the direction of the neighbor which has the largest number of nodes. Repeat Step 2 with the neighbor.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Since finding the separator takes at most $D$ steps, we get a $O(nD\log n)$ algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;An $O(n\;\log^2 n)$ randomized algorithm&lt;/strong&gt;. (moved from comments below)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Pick two vertices x and y randomly. With 1/9 probability they will lie on the opposite sides of a separator. Pick the middle node of the path from $x$ to $y$. See if it is a separator, if not do binary search.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It takes $O(n\;\log n)$ expected time to find the separator. So we get a $O(n\;\log^2 n)$ randomized algorithm.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;i&gt;Background. I learnt about this problem from a friend who works in probabilistic graphical models. The above problem roughly corresponds to learning the structure of a &lt;a href=&quot;http://en.wikipedia.org/wiki/Tree_decomposition&quot;&gt;junction tree&lt;/a&gt; using an oracle which, given three random variables X,Y and Z, can tell the value of mutual information between X and Y given the value of Z. If the value is close to zero, we may assume that Z lies on the path from X to Y.&lt;/i&gt;&lt;/p&gt;&#xA;" OwnerUserId="547" LastEditorUserId="-1" LastEditDate="2012-11-11T05:45:01.973" LastActivityDate="2016-05-30T04:21:23.393" Title="Reconstructing a tree from separator queries" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;graph-algorithms&gt;&lt;oracles&gt;&lt;query-complexity&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="10767" PostTypeId="2" ParentId="10766" CreationDate="2012-03-19T14:45:09.557" Score="5" Body="&lt;p&gt;&lt;strong&gt;No.&lt;/strong&gt;  The following simple adversary strategy implies that any algorithm to reconstruct an $n$-node tree requires at least $\binom{n-1}{2} = n(n-1)/2$ &quot;betweenness&quot; queries.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Arbitrarily label the nodes $0,1,2,\dots,n-1$.  The adversary answers all queries as though the tree is a star with vertex $0$ in the center; think of $0$ as the root and the other nodes as its children.&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;Between?(a,x,b)&#xA;    if x=0 return TRUE else return FALSE&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Now suppose the algorithm halts after performing less than $n(n-1)/2$ queries.  Then there must be two vertices $y$ and $z$, neither equal to zero, such that the algorithm has not queried any permutation of the triple $(0,y,z)$.  If the algorithm claims that the tree is not a star with center $0$, the adversary reveals its input, proving the algorithm wrong.  The adversary then reveals that $x$ is actually the only child of $y$, proving the algorithm wrong again.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt; Oops, just noticed the degree constraint.  &lt;strike&gt;Fortunately, this is not a major hurdle.  Replace node $0$ with your favorite binary tree, with the other $n-1$ nodes as leaves in some unknown order, and then reveal this subtree to the reconstruction algorithm.  Reconstructing the resulting $(2n-3)$-node binary tree still requires at least $n(n-1)/2$ queries.  Equivalently, reconstructing an $m$-node binary tree requires at least $(m+3)(m+2)/8$ queries.  (I'm sure a more subtle construction would improve the constant.)&lt;/strike&gt;  &lt;b&gt;As Jagadish points out, this generalization doesn't work; queries about internal nodes in the tree impose an ordering on the leaves, which reduced the number of necessary queries.&lt;/b&gt;&lt;/p&gt;&#xA;" OwnerUserId="111" LastEditorUserId="111" LastEditDate="2012-03-19T15:49:42.613" LastActivityDate="2012-03-19T15:49:42.613" CommentCount="18" ContentLicense="CC BY-SA 3.0" />
  <row Id="10768" PostTypeId="2" ParentId="10764" CreationDate="2012-03-19T15:43:45.307" Score="11" Body="&lt;p&gt;I also think that what was meant might have been obstructions akin to the natural proofs barrier of Razborov and Rudich. The barrier on a high level shows that current methods of proving circuit lower bounds are &quot;self-defeating&quot; when applied to the P vs NP problem. Suppose you want to prove that SAT is hard by showing that it satisfies some predicate which is not satisfied by problems in P. Suppose the predicate is satisfied by most boolean functions (the &lt;em&gt;largeness&lt;/em&gt; property) and can be computed in time $2^{O(n)}$ on functions that take $n$ inputs, when given the $2^n$-size truth table of the function (the &lt;em&gt;constructivity&lt;/em&gt; property). Razborov and Rudich show that if such a predicate exists, then there are no strong pseudorandom number generators. So the existence of the object we're trying to use to separate P from NP would itself imply a statement in the spirit of P=NP.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are arguments why you expect that hardness predicates would satisfy the largeness property. Certain &quot;formal complexity measures&quot; have the property that if they lower bound the complexity of any one function, then they lower bound the complexity of most functions. Also, by the classical counting argument, most functions are hard, so if you expect that the predicate captures hardness, then it should be satisfied by most functions. The constructivity property gets to your question. It is true that there could in principle exist a hardness predicate that cannot be evaluated in time polynomial in the truth table of the function. But most combinatorial proofs of existence can be made constructive. Even proofs that on first inspection seem to use inherently non-constructive arguments were often later made constructive. Two recent examples are the algorithmic Lovasz Local Lemma of Moser and Tardos and Nikhil Bansal's constructive version of Spencer's discrepancy upper bound for general set systems. So it looks like we might not have proof methods that take us outside the realm of polynomial time constructions. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Check the details in the natural proofs chapter of Arora-Barak: &lt;a href=&quot;http://www.cs.princeton.edu/theory/complexity/naturalchap.pdf&quot;&gt;http://www.cs.princeton.edu/theory/complexity/naturalchap.pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="4896" LastEditorUserId="4896" LastEditDate="2012-03-19T20:43:19.480" LastActivityDate="2012-03-19T20:43:19.480" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10769" PostTypeId="1" CreationDate="2012-03-19T17:17:48.160" Score="0" ViewCount="340" Body="&lt;p&gt;I have a huge data set (33K), each represented as a bit-vector of 275-dimensions. Basically my data set can be represented as a $33000 \times 275$ matrix. I want to cluster these bit-vectors. I have tried single link hierarchical clustering on a small data set, $3000 \times 275$, and the result is promising.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I know that single link hierarchical clustering algorithm is not scalable as the time complexity is $O(n^2)$. I am planning to apply a divide-and-conquer approach, i.e., divide the dataset into chunks of equal size and cluster each chunks individually and finally merge the clustered chunks based on distance (if: $d(C_1,C_2)&amp;lt; t$; then: merge $C_1$ and $C_2$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The time complexity for my new approach is $O(p) + O(pq)$, where $p$ is the number of chunks and $q$ the average number of clusters in each chunk. Note: I assume that when hierarchical clustering is applied, each chuck will take same amount of time and its constant for all chunks, thus $O(n^2)$ will become $O(1)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I want to know, whether the above mentioned clustering approach is feasible and efficient. Or is there any logic flaws in applying divide-and-conquer approach for clustering.&lt;/p&gt;&#xA;" OwnerUserId="8262" LastEditorUserId="5693" LastEditDate="2012-03-19T19:36:23.300" LastActivityDate="2012-03-19T19:36:23.300" Title="Divide-and-conquer approach for hierarchical clustering" Tags="&lt;ds.algorithms&gt;&lt;machine-learning&gt;&lt;clustering&gt;" AnswerCount="0" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="10770" PostTypeId="1" CreationDate="2012-03-19T20:43:47.077" Score="-2" ViewCount="393" Body="&lt;p&gt;Disclaimer: I am not a CS person but this question is more philosophical in the sense i could not get a good enough answer ANYWHERE ELSE as to how systems such as Youtube content id work.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In Youtube content id system copyright video and audio files have unique fingerprints and every new file added is compared with all these files to identify the similarity. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If every file does have a unique fingerprint , can fingerprints of similar files (e.g. the same video with different qualities) be compared statistically ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If not every file are there classes of encryption systems that work with different types of files like video, audio and image (with lot of relevant metadata)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I believe this is the best place on the internet to get the answer to this question and flocked here with great hopes&lt;/p&gt;&#xA;" OwnerUserId="8799" LastEditorUserId="186" LastEditDate="2012-03-27T21:51:35.733" LastActivityDate="2012-03-27T21:51:35.733" Title="Can every digital file have a unique fingerprint?" Tags="&lt;cr.crypto-security&gt;&lt;unique-solution&gt;" AnswerCount="1" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="10772" PostTypeId="2" ParentId="10760" CreationDate="2012-03-20T05:42:48.957" Score="4" Body="&lt;p&gt;&lt;em&gt;(not quite an answer, but too long for a comment)&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given your new cost function, I'm wondering if there's a simpler formulatio. Let $W = \sum_{(i,j) \in E} w_{ij}$. Now your goal is to maximize&lt;/p&gt;&#xA;&#xA;&lt;p&gt;\[ W - \sum_{|\{i,j\} \cap S| = 1} w_{ij} + \sum_{|\{i,j\} \cap S| = 1} w_{ij}u_j\]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Collecting terms, your goal is then to minimize&lt;/p&gt;&#xA;&#xA;&lt;p&gt;\[ \sum_{|\{i,j\} \cap S| = 1} w_{ij} (u_j - 1)\]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Setting $w&amp;#39;_{ij} = w_{ij}(u_j - 1)$, your problem now becomes a min cut problem with the twist that it's not a typical min cut (you're not counting edges going from one side to the other, but both sides)&lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2012-03-20T05:42:48.957" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10774" PostTypeId="2" ParentId="10659" CreationDate="2012-03-20T06:28:33.797" Score="4" Body="&lt;p&gt;I have a few observations which are too long for comments.  Here's a summary.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Any algorithm to solve your problem exactly can be used to solve linear programs exactly (i.e., &quot;strong linear programming&quot;, which is used in Sariel's solution, and presently does not have a polynomial time algorithm).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The natural follow-up is if approximate solutions (i.e., &quot;weak linear programming&quot;) can provide a solution.  While the answer is yes, it appears that the stopping condition for this procedure requires quantities which, to the best of my knowledge, can not be computed in polynomial time.  (i.e., the algorithm finds something good, but certifying this is difficult.)  My main suggestion here is to make a meaningful definition of an &quot;$\epsilon$-optimal solution&quot; for your problem, in which case this approach is tractable.  (This strategy effectively throws out tiny faces of the polyhedron.)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;In general, while thinking about your present statement of your problem, I kept running into efficiency considerations.  But there's reasonable intuition to this: the objects we're throwing around -- vertices, faces, etc. -- are discrete, and exponentially abundant.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;(1.)&lt;/strong&gt;  Suppose we have an algorithm which exactly solves your problem.  Notice that any exposed point of any face containing the provided midpoint will be an exact solution to the original linear program.  So proceed as follows.  Add a new linear constraint saying that the original objective value must be equal to the optimal one (which we now know), and set a new objective saying to maximize the first coordinate of the solution.  Repeat this procedure one time for each dimension, each time adding a constraint and choosing a new coordinate to maximize.  This process will reduce the dimension of the solution each time; necessarily, when the process completes, we have a 0-dimensional affine set, meaning a single point.  Thus with $\mathcal O(d)$ iterations of your midpoint-solving algorithm (and only increasing the problem description by an amount polynomial in $d$ each time), strong linear programming is solved.  This shows that while Sariel's solution requires strong linear programming, an exact solution to your question can not avoid it.  (&lt;strong&gt;Edit&lt;/strong&gt;: note that my proof supposes a compact polyhedron (a polytope) as input; otherwise it has to work a little harder to find vertices.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;(2.)&lt;/strong&gt; Here's an iterative scheme, using a full blown convex solver in each iteration, whose solutions will converge to a mild notion of midpoint solution.  Choose a positive yet decreasing sequence of penalty parameters $\{\lambda_i\}_{i=1}^\infty\downarrow 0$; it is reasonable to have these go down geometrically, i.e. $\lambda_i = 2^{-i}$.  Now, for each $i$, approximately minimize the convex function&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\langle c,x\rangle - \lambda_i\sum_{j=1}^m \ln(\langle a_j,x\rangle - b),$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where $\langle c,x\rangle$ is your original objective, and $j$ ranges over the $m$ original constraints, now placed in the objective via logarithmic barriers (note, this is standard).  Now if we think about the minimizing face (of largest dimension) of your polyhedron, notice that for&#xA;sufficiently small $\lambda_i$ and tolerance $\tau$ to your convex opt black box, your approximate optimum will be close to this face, however the barriers will push it as far as possible from the other constraints.  Said another way, as $\lambda_i$ decreases, the original linear objective will eventually dominate some finicky barriers that were keeping you from the appropriate face, but won't impact the barriers keeping you from other boundaries, in particular those of the target face.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In a perfect world, we would sit down and analytically determine a perfect value $\lambda$, or at least a stopping time so you don't have to solve, well, infinitely many problems.  Unfortunately, this seems tough.  One idea is, say, to determine the smallest width of any face having dimension greater than 0; this is a well defined minimization problem with positive optimum, because there are finitely many faces (and width is computed relative to each).  With this, we can set $\lambda$ small enough that the influence of the barriers is tiny within the center of &lt;em&gt;every&lt;/em&gt; face. Unfortunately, there could be exponentially many faces, so computing this quantity is nonsense.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;All the stopping conditions I could come up with had these sorts computational difficulties.  (Moreover, many could again be used to turn this into a strong linear programming solver.)  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For this reason, my recommendation is to construct a notion of ``$\epsilon$-close optimal midpoint'', and solve for it by choosing $\lambda$ and your convex opt black box tolerance $\tau$ appropriately.  I think this is a reasonable choice because you may really not care about faces that have largest width at most $\epsilon$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;(Some final comments.)&lt;/strong&gt; It seems the notion of &quot;midpoint&quot; is crucial; Sasho's comment points out that the centroid (center of mass?) is an extremely difficult problem, whereas finding, say, the largest inscribed ball is easy.  The logarithmic barriers I have suggested above will in general not be consistent with either of these midpoint notions.  On the other hand, for the barriers and the ball, you can derive a lower bound on the distance from your centroid to the relative boundary of the face; maybe this is more useful to you?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Lastly, from your description, I believe you meant the &quot;target face&quot; to have as high a dimension as possible?  This is well defined, however there are also solution faces for all possible smaller dimensions as well.  Anyway, both Sariel's approach and the barrier approach above will work with the face of largest dimension.&lt;/p&gt;&#xA;" OwnerUserId="336" LastEditorUserId="336" LastEditDate="2012-03-20T06:54:47.277" LastActivityDate="2012-03-20T06:54:47.277" CommentCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="10777" PostTypeId="1" AcceptedAnswerId="10808" CreationDate="2012-03-20T08:04:31.013" Score="4" ViewCount="244" Body="&lt;p&gt;This is probably a very trivial question. Suppose a space($S$) machine uses $R$ random bits. Then Nisan's PRG for space bounded machines can fool it using a seed of length $O(S\log (R/S))$. Theorem 1 in section 4 also mentions that this PRG can be computed in space $O(S\log R)$. This is due to the fact that we need to store $\log R$ many hash functions, each of $O(S)$ space. My questions is, can we say that the PRG can be computed in space $O(S\log (R/S))$ (to produce $R$ bits as above) as well in stead of $O(S\log R)$? That is, can we use just $\log (R/S)$ hash functions?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Reference paper: N. Nisan, Pseudorandom generators for space-bounded computation, Combinatorica, vol. 12, no. 4, pp. 449-461, Dec. 1992.&lt;/p&gt;&#xA;" OwnerUserId="5512" LastActivityDate="2012-03-22T10:37:54.770" Title="Computation space of Nisan's generator for space bounded machines" Tags="&lt;cc.complexity-theory&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10779" PostTypeId="1" CreationDate="2012-01-11T11:04:33.690" Score="3" ViewCount="1666" Body="&lt;p&gt;I've read the original paper and some related ones. But the best I can find about the period of &lt;a href=&quot;http://en.wikipedia.org/wiki/Blum_Blum_Shub&quot; rel=&quot;nofollow&quot;&gt;BBS&lt;/a&gt; is that the period is a factor of $λ(λ(M))$, where $λ$ is Carmichael function and $M$ is the product of two large primes that are congruent to 3 (mod 4).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there any way to determine the exact period of BBS?&lt;/p&gt;&#xA;" OwnerDisplayName="Lacek" LastEditorUserId="186" LastEditDate="2012-03-20T17:44:44.410" LastActivityDate="2013-07-08T20:26:47.060" Title="How to find the exact period of Blum-Blum-Shub random number generator?" Tags="&lt;cr.crypto-security&gt;&lt;nt.number-theory&gt;&lt;pseudorandom-generators&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="10781" PostTypeId="1" CreationDate="2012-03-21T01:54:44.083" Score="0" ViewCount="134" Body="&lt;p&gt;I am seeking to augment &lt;a href=&quot;https://en.wikipedia.org/wiki/Random_forest&quot; rel=&quot;nofollow noreferrer&quot;&gt;random forest classification&lt;/a&gt; using &lt;a href=&quot;https://en.wikipedia.org/wiki/Mutual_information&quot; rel=&quot;nofollow noreferrer&quot;&gt;Shannon-Weaver mutual information&lt;/a&gt; as a &lt;a href=&quot;https://en.wikipedia.org/wiki/Metaheuristic&quot; rel=&quot;nofollow noreferrer&quot;&gt;metaheuristic&lt;/a&gt; to partition candidate datasets. Specifically, I am trying to determine if such an approach is both tractable and offers an improved convergence time over bruteforce methods and random forest classification on its own without a major reduction in classification.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose we have a collection of data sets, $K$, that contains rows $\{k1, k2, ..., kn\}$. Each of these rows carries an unknown language $L$ in the context of an unknown, uniformly-applied noise function. Our hypothesis is that at least some subset of these data rows share information: that is, for some rows, $I(kx,ky) &amp;gt; 0$ for ${kx,ky} \in K$. Additionally, we hypothesize that &lt;a href=&quot;https://en.wikipedia.org/wiki/Multivariate_mutual_information&quot; rel=&quot;nofollow noreferrer&quot;&gt;multivariate mutual information&lt;/a&gt; $I(kx,ky,...) \not= 0$ for some set of multivariate relations. That is, that our graph contains compositions that are more informative in the context of multiply-chained relationships, or contain some XOR-shaped relationship.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we attempt to bruteforce this space, because mutual information is commutative, we require n-binomial-n time and space. That is to say, to compute the mutual information of all combinations within collection $D$, we require $\sum\limits_{x=1}^n\binom{n}{x}$ time, assuming for simplicity that the comparison of each row is an $O(1)$ operation. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;We would then prune output data set using a fixed cutoff value, $v$, retaining only connections where $I(kx,...) &amp;gt; v$. We would then sort this set in descending order of the number of terms and use this to construct an undirected graph, by connecting features that share positive mutual information and forming branches when multivariate mutual information is negative.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;br/&gt;&#xA;The obvious reduction to this complexity, at an error-bound cost in robustness, is to use random forest analysis. I wish to simplify this computation further, by computing the pairspace mutual information for each pair of rows, then using a cutoff value similar to $v$, construct sets that only contain the participating nodes of each of these graphs. These sets would then be fed into our random forest classifier to determine the shape of the graphs, at an expected reduced time for convergence.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is this approach tractable? Even if so, are there better approaches to the pruning stage of this problem?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(&lt;a href=&quot;https://stats.stackexchange.com/questions/25039/tractability-of-mutual-information-augmented-ensemble-classification-algorithms&quot;&gt;Crossposted to Stats.SE&lt;/a&gt;)&lt;/p&gt;&#xA;" OwnerUserId="2598" LastEditorUserId="-1" LastEditDate="2017-04-13T12:44:17.130" LastActivityDate="2012-03-21T21:08:58.743" Title="Tractability of mutual information-augmented ensemble classification algorithms" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;machine-learning&gt;&lt;it.information-theory&gt;&lt;heuristics&gt;" AnswerCount="0" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="10782" PostTypeId="1" CreationDate="2012-03-21T04:07:52.527" Score="7" ViewCount="307" Body="&lt;p&gt;Are there any interesting proofs on unconventional computing? When reading on the topic I most often see soft analysis – like following paragraph from Wikipedia (&lt;a href=&quot;http://en.wikipedia.org/wiki/Natural_computation&quot;&gt;Natural computing&lt;/a&gt;):&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Swarm intelligence,[12] sometimes referred to as collective&#xA;  intelligence, is defined as the problem solving behavior that emerges&#xA;  from the interaction of individual agents (e.g., bacteria, ants,&#xA;  termites, bees, spiders, fish, birds) which communicate with other&#xA;  agents by acting on their local environments.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Instead of soft analysis – are there any formal (and important) results in the topic?&lt;/p&gt;&#xA;" OwnerUserId="7918" LastActivityDate="2012-03-22T09:35:31.107" Title="Proofs on unconventional computing" Tags="&lt;soft-question&gt;&lt;natural-computing&gt;" AnswerCount="4" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10783" PostTypeId="2" ParentId="10782" CreationDate="2012-03-21T04:17:10.720" Score="8" Body="&lt;p&gt;A recent and interesting attempt to model flocking behavior is &lt;a href=&quot;http://www.cs.princeton.edu/~chazelle/pubs.html&quot;&gt;Bernard Chazelle's work&lt;/a&gt; (see the four most recent papers (as of Mar 2012). He's also &lt;a href=&quot;http://www.sns.ias.edu/pitp/&quot;&gt;running a summer school&lt;/a&gt; on computation and biology at the Institute for Advanced Science.&lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2012-03-21T04:17:10.720" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10785" PostTypeId="2" ParentId="10169" CreationDate="2012-03-21T07:35:32.100" Score="4" Body="&lt;p&gt;It turns out that $f(k)=3$ for all $k\ge 3$. Recursive diamond graphs are extremal. See &lt;a href=&quot;http://arxiv.org/abs/1203.4483&quot; rel=&quot;nofollow&quot;&gt;arXiv:1203.4483&lt;/a&gt; for a proof.&lt;/p&gt;&#xA;" OwnerUserId="72" LastActivityDate="2012-03-21T07:35:32.100" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10786" PostTypeId="2" ParentId="10782" CreationDate="2012-03-21T08:25:18.880" Score="5" Body="&lt;p&gt;I suggest you this survey/introduction paper (but perhaps you alredy read it):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.cs.ubbcluj.ro/~studia-i/2009-1/08-Oltean.pdf&quot; rel=&quot;nofollow&quot;&gt;Unconventional computing: a short introduction&lt;/a&gt; by M. Oltean (2009).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is a little bit funny (see for example the &lt;em&gt;&quot;Price&quot;&lt;/em&gt; column in the comparison table) ... however the references at the bottom can lead you to other relevant papers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm not an expert but searching papers on other subjects I sometimes found titles about the &lt;em&gt;&quot;DNA computing&quot; model&lt;/em&gt;, so - if you classify Quantum Computing conventional computing :-) - I think it is one of the most studied model, and there are many results out there (see for example &quot;&lt;a href=&quot;http://cs.roosevelt.edu/~wolpert/papers/DW-IJFCS.ps&quot; rel=&quot;nofollow&quot;&gt;A Robust DNA Computation Model that Captures PSPACE&lt;/a&gt;&quot;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm curious to see other answers about other weird models/results.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT:&lt;/strong&gt; I was missing a &quot;must&quot;: Scott Aaronson's &quot;&lt;a href=&quot;http://www.scottaaronson.com/papers/npcomplete.pdf&quot; rel=&quot;nofollow&quot;&gt;NP-Complete Problems and Physical Reality&lt;/a&gt;&quot; (2005). There is also a PowerPoint presentation ... but unfortunately no video (Scott's presentations are great, see for example a small easy introduction on &lt;a href=&quot;http://www.youtube.com/watch?v=SczraSQE3MY&quot; rel=&quot;nofollow&quot;&gt;(un)conventional??? quantum computing&lt;/a&gt; :-) &lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2012-03-21T12:46:43.010" LastActivityDate="2012-03-21T12:46:43.010" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10787" PostTypeId="2" ParentId="3772" CreationDate="2012-03-21T08:28:23.780" Score="7" Body="&lt;p&gt;&lt;em&gt;Are there any good reasons why PL theorists prefer naturals instead of integers?&lt;/em&gt; There are some, but in a text book on programming language semantics, I think there is no technical reason why they need to.  I can't think of any place other than dependent type systems, where induction on data is important in PL theory.  Other text books by &lt;a href=&quot;http://books.google.co.uk/books?id=_QAnAAAAMAAJ&quot; rel=&quot;nofollow&quot;&gt;Mike Gordon&lt;/a&gt;, &lt;a href=&quot;http://books.google.co.uk/books?id=bWMZAQAAIAAJ&quot; rel=&quot;nofollow&quot;&gt;David Schmidt&lt;/a&gt;, &lt;a href=&quot;http://books.google.co.uk/books?id=K7N7QgAACAAJ&quot; rel=&quot;nofollow&quot;&gt;Bob Tennent&lt;/a&gt; and &lt;a href=&quot;http://books.google.co.uk/books?id=2OwlTC4SOccC&quot; rel=&quot;nofollow&quot;&gt;John Reynolds&lt;/a&gt; don't do it.  (And, those books would probably be a lot more suitable for teaching people that care about general-purpose industrial PLs!)  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, there, you have the proof that it is &lt;em&gt;not&lt;/em&gt; necessary.  In fact, I would claim that a good PL theory text book should be &lt;em&gt;parametric&lt;/em&gt; in the primitive types of the programming language, and it is misleading to suggest otherwise.&lt;/p&gt;&#xA;" OwnerUserId="8519" LastEditorUserId="8519" LastEditDate="2013-01-24T12:22:21.960" LastActivityDate="2013-01-24T12:22:21.960" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10788" PostTypeId="1" CreationDate="2012-03-21T09:36:39.890" Score="25" ViewCount="822" Body="&lt;p&gt;Given an undirected and unweighted graph $G=(V,E)$ and an even integer $k$, what is the computational complexity of counting sets of vertices $S\subseteq V$ such that $|S|=k$ and the subgraph of $G$ restricted to the vertex set $S$ admits a perfect matching? Is the complexity #P-complete? Is there a reference for this problem?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that the problem is of course easy for a constant $k$ because then all the subgraphs of size $k$ can be enumerated in time ${|V| \choose k}$. Also note that the problem is different from counting the number of perfect matchings. The reason is that a set of vertices which admits a perfect matching may have multiple number of perfect matchings.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another way to state the problem is as follows. &#xA;A matching is called a $k$-matching if it matches $k$ vertices.&#xA;Two matchings $M$ and $M&amp;#39;$ are ``vertex-set-non-invariant'' if the sets of vertices matched by $M$ and $M&amp;#39;$ are not identical. We want to count the total number of vertex-set-non-invariant $k$-matchings.&lt;/p&gt;&#xA;" OwnerUserId="604" LastEditorUserId="604" LastEditDate="2012-03-27T10:12:06.610" LastActivityDate="2013-11-16T03:28:17.527" Title="Computational complexity of counting induced subgraphs which admit perfect matchings" Tags="&lt;cc.complexity-theory&gt;&lt;co.combinatorics&gt;&lt;counting-complexity&gt;" AnswerCount="2" CommentCount="9" FavoriteCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="10789" PostTypeId="2" ParentId="7253" CreationDate="2012-03-21T13:39:21.200" Score="-1" Body="&lt;p&gt;It is indeed impossible to reverse a function unless either it's injective or you're happy for the reversal to have an unknown number of results. But I don't think that completely answers the question.&#xA;Genetic algorithms can be used as universal function approximators. If the representation used for the individuals is versatile enough (for example: a Turing-complete language): this can include functions from the set of all byte strings to itself.&#xA;For example: you could use a set of pre-existing video files as training data and evolve an algorithm that takes the filename of any of the videos as input and outputs the corresponding video. One of my current hobby projects involves using this idea as the basis of a compression system.&#xA;Depending on what kind of algorithm emerges you may even get valid video files by querying it with filenames that weren't in the training set, although I wouldn't bet on them being entertaining.&lt;/p&gt;&#xA;" OwnerUserId="8822" LastActivityDate="2012-03-21T13:39:21.200" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10790" PostTypeId="1" CreationDate="2012-03-21T13:56:26.270" Score="4" ViewCount="306" Body="&lt;p&gt;Motivated by the NP-completeness of Another-SAT problem, Another-3SAT={$(\phi, m)$: 3CNF formula $\phi$ has a satisfying assignment different from $m$ }, Let us consider a function from all uniquely satisfiable‏‏ ‏‎Horn 3SAT formulas on $n$ variables to binary strings of length $n$ (representing unique solutions). I'm interested in the density of the range of this function. A set is sparse if the number of strings in the set of length $n$ is bounded by a polynomial in $n$ otherwise it is dense. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is the best known lower-bound for the asymptotic growth rate of the number of distinct satisfying assignments for uniquely satisfiable Horn 3SAT formulas on $n$ variables? Is this set dense?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT: Thanks to Tsuyoshi,I realized that the original question had a mistake. So I changed the question to be about uniquely satisfiable Horn 3SAT.&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2012-03-21T18:03:56.580" LastActivityDate="2012-03-23T13:34:54.977" Title="Density of distinct satisfying assignments for uniquely satisfiable formulas" Tags="&lt;cc.complexity-theory&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="10791" PostTypeId="1" AcceptedAnswerId="11246" CreationDate="2012-03-21T14:08:24.237" Score="14" ViewCount="1086" Body="&lt;p&gt;This is not a homework, though it looks like. Any reference is welcome. :-)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Scenario:&lt;/strong&gt; There are $n$ &lt;strong&gt;different&lt;/strong&gt; balls and $n$ &lt;strong&gt;different&lt;/strong&gt; bins (labled from 1 to $n$, from left to right). Each ball is thrown independently and uniformly into bins. Let $f(i)$ be the number of balls in the $i$~th bin. Let $E_i$ denote the following event.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;For each $j\le i$, $\sum_{k\le j}{f(k)} \le j-1$&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;That is, the first $j$ bins (the most left $j$ bins) contains less than $j$ balls, for each $j\le i$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question:&lt;/strong&gt; Estimate $\sum_{i&amp;lt;n}{Pr(E_i)}$, in terms of $n$? When $n$ goes infinity. A lowerbound is preferred. I do not think an easily calculated formula exisit.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt; $\lim\limits_{n\to\infty}{Pr(E_1)}=\lim\limits_{n\to\infty}{(\frac{n-1}{n})^n}=\frac{1}{e}$.  Note $Pr(E_n)=0$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;My guess:&lt;/strong&gt; I guess $\sum_{i&amp;lt;n}{Pr(E_i)}=\ln n$, when $n$ goes infinity. I considered the first $\ln n$ items in the summation.&lt;/p&gt;&#xA;" OwnerUserId="6108" LastEditorUserId="6108" LastEditDate="2012-03-21T15:56:00.753" LastActivityDate="2014-08-13T21:09:41.930" Title="Throwing Balls into Bins, estimate a lowerbound of its probability" Tags="&lt;reference-request&gt;&lt;co.combinatorics&gt;&lt;pr.probability&gt;" AnswerCount="4" CommentCount="11" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="10793" PostTypeId="1" CreationDate="2012-03-21T16:24:07.413" Score="15" ViewCount="1146" Body="&lt;p&gt;There are a number of algorithms and data structures which exploit the idea that $\max \left\{k, n/k\right\}$ gets its minimum value at $k=\sqrt n$. Common examples include&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;baby-step giant-step algorithm for computing discrete logarithm in $O(\sqrt n)$,&lt;/li&gt;&#xA;&lt;li&gt;static 2D orthogonal range counting in $O(\sqrt n)$ time and $O(n)$ memory,&lt;/li&gt;&#xA;&lt;li&gt;priority queue with EXTRACT-MIN in $O(\sqrt[k] n)$ and DECREASE-KEY in $O(1)$, &lt;/li&gt;&#xA;&lt;li&gt;colouring a 3-colourable graph with $O(\sqrt n)$ colours in polynomial time,&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;just to name a few.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;While such algorithms often are suboptimal, they are easy to understand by students and good to quickly show that naive bounds aren't optimal. Also, square-root-idea data structures are sometimes more practical than their binary tree based counterparts because of cache friendliness (not considering cache-oblivious techniques). That's why I give a nice bit of attention to this topic while teaching.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm interested in more distinctive examples of this kind. So I'm looking for any (preferably elegant) algorithms, data structures, communication protocols etc which analysis relies on the square root idea. Their asymptotics do not need to be optimal.&lt;/p&gt;&#xA;" OwnerUserId="7846" LastActivityDate="2012-03-23T06:17:21.123" Title="Notable examples of the square root idea in complexity analysis" Tags="&lt;ds.algorithms&gt;&lt;ds.data-structures&gt;&lt;big-list&gt;&lt;teaching&gt;" AnswerCount="2" CommentCount="6" FavoriteCount="5" CommunityOwnedDate="2012-03-22T08:44:17.590" ContentLicense="CC BY-SA 3.0" />
  <row Id="10794" PostTypeId="2" ParentId="10790" CreationDate="2012-03-21T17:16:54.497" Score="5" Body="&lt;p&gt;If I understand your question correctly, you are asking for asymptotic growth of $f:\mathbb{N} \to \mathbb{N}$ such that $f(n)=k$ iff there are $k$ different 3-CNF formulas on $n$ variables such that each of them has a unique satisfying assignment. As Tsuyoshi Ito, points out you can construct a 3-SAT instance $\phi$ from a given Boolean string $x=b_{n-1},\dots,b_0$ such that $x$ is the only satisfying assignment of $\phi$. This follows from Cook-Levin, theorem as you can write description of T.M which accepts the input iff the input bit string $y$ is equal to $x$, and then using the Cook-Levin construction convert it into a 3-SAT formula where the variables would correspond to input bits. But size of $\phi$ can be polynomial in $n$ (I am not sure if Tsuyoshi Ito was referring to this construction). Also Valiant-Vazirani lemma which  sates that 3-SAT instance on $n$ variables can be reduced (using a randomized algorithm which succeeds on $\frac{1}{8n}$ fraction of random choices) to U-SAT, can be used to deduce that from a 3-SAT instance $\phi$ on $n$ variable we get at least $\frac{1}{8n}$ 3-SAT instances on $2n$ variables (Valiant-Vazirani lemma uses hash functions, and the number of variables it adds to the formula is $k \in [n]$, which denotes the logarithm of number of satisfying assignments of the old formula, and hence to make the formula obtained by the randomized algorithm in the reduction uniformly on $2n$ variables we'll add clauses involving dummy variables). Hence $f(2n)\geq \frac{1}{8n}2^{r(n}g(n)$ where $g(n)$ is the number of different 3-SAT instances and $r(n)$ is the randomness used by Valiant-Vazirani reduction..  &lt;/p&gt;&#xA;" OwnerUserId="8345" LastEditorUserId="8345" LastEditDate="2012-03-23T13:34:54.977" LastActivityDate="2012-03-23T13:34:54.977" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10796" PostTypeId="2" ParentId="10782" CreationDate="2012-03-21T20:41:45.307" Score="2" Body="&lt;p&gt;&lt;a href=&quot;http://www.cse.yorku.ca/~ruppert/papers/pop-survey.pdf&quot; rel=&quot;nofollow&quot;&gt;Population protocols.&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The model is intuitively explained as being inspired by how a flock of birds behaves and processes information.&lt;/p&gt;&#xA;" OwnerUserId="4155" LastActivityDate="2012-03-21T20:41:45.307" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10798" PostTypeId="1" AcceptedAnswerId="10835" CreationDate="2012-03-21T21:44:46.847" Score="10" ViewCount="1045" Body="&lt;p&gt;Does $\mathsf{EXP}=\mathsf{NEXP}$ imply $\mathsf{E}=\mathsf{NE}$?&lt;/p&gt;&#xA;" OwnerUserId="4193" LastEditorUserId="109" LastEditDate="2012-03-26T11:21:38.090" LastActivityDate="2012-03-26T11:21:38.090" Title="Does $\mathsf{EXP}=\mathsf{NEXP}$ imply $\mathsf{E}=\mathsf{NE}$?" Tags="&lt;cc.complexity-theory&gt;&lt;conditional-results&gt;&lt;nexp&gt;&lt;structural-complexity&gt;" AnswerCount="1" CommentCount="10" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="10799" PostTypeId="2" ParentId="10793" CreationDate="2012-03-21T23:16:28.770" Score="10" Body="&lt;p&gt;There are $O(m^{3/2})$ triangles in any $m$-edge graph and that they can be found in $O(m^{3/2})$ time. There are many ways of doing this but I think one of the earliest is &lt;a href=&quot;http://perso.ens-lyon.fr/eric.thierry/Graphes2009/ir77.pdf&quot;&gt;Itai and Rodeh (STOC 1977)&lt;/a&gt; who provide an algorithm that goes through a sequence of linear-time iterations, each of which removes a spanning forest from the graph. In the early iterations when the remaining forest has at least $n-k$ components, the algorithm removes at least $k$ edges per step, and in the late iterations when it has at most $n-k$ components, the maximum degree is $k$ and shrinks by at least one in each step. So the total number of iterations is at most $m/k+k$ and choosing the right tradeoff gives the overall bound of $O(\sqrt m)$ on iterations and $O(m^{3/2})$ on time.&lt;/p&gt;&#xA;" OwnerUserId="95" LastEditorUserId="95" LastEditDate="2012-03-23T06:17:21.123" LastActivityDate="2012-03-23T06:17:21.123" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10800" PostTypeId="2" ParentId="10770" CreationDate="2012-03-21T23:33:13.137" Score="2" Body="&lt;p&gt;The really short answer to your headline question: Yes, and it is the file it self. (Or a pre-optimized version)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the specific answer of YouTube's system, they &lt;a href=&quot;http://www.revenews.com/search-engine-marketing/goog-to-outsource-youtube-filtering-to-audiblemagic/&quot; rel=&quot;nofollow&quot;&gt;out source&lt;/a&gt; to &lt;a href=&quot;http://audiblemagic.com/index.php&quot; rel=&quot;nofollow&quot;&gt;AudibleMagic&lt;/a&gt; (You can request the white papers for their technology from their site if you are interested). The way their fingerprinting system works is content holders submit the content. And then files are compared against this set of fingerprints, this means that each copyrighted audio/video sample has a unique fingerprint in their system, &lt;strong&gt;not every file&lt;/strong&gt;. The files are merely sent to them to be compared against their database (which they can optimize offline, to achieve their sub-second speeds).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The specific how could vary widely. I would start by looking at pattern recognition (the wikipedia article is good).&lt;/p&gt;&#xA;" OwnerUserId="8829" LastEditorUserId="8829" LastEditDate="2012-03-21T23:42:02.283" LastActivityDate="2012-03-21T23:42:02.283" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10802" PostTypeId="1" CreationDate="2012-03-22T05:44:32.250" Score="7" ViewCount="550" Body="&lt;p&gt;In the Arora-Barak book, in the Cook-Levin reduction, the resulting SAT formula is of size $T(n)\log(T(n))$, where $T(n)$  is the running time of the given Turing machine.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a method to get a $O(T(n))$ length SAT formula?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The original TM is made oblivious (a TM is oblivious if the position of the head at the $i$th step depends only on the length of the input string). This step brings the $O(\log(n))$ factor. Once we have an oblivious TM that takes time $T&amp;#39;(n)$, the SAT formula is of length $O(T&amp;#39;(n))$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can we somehow bypass the step of making the TM oblivious?&lt;/p&gt;&#xA;" OwnerUserId="6686" LastEditorUserId="6686" LastEditDate="2012-03-22T06:40:00.663" LastActivityDate="2012-03-22T12:55:58.140" Title="More efficient Cook-Levin reduction" Tags="&lt;cc.complexity-theory&gt;&lt;sat&gt;&lt;reductions&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="10803" PostTypeId="1" AcceptedAnswerId="10807" CreationDate="2012-03-22T05:46:35.693" Score="0" ViewCount="83" Body="&lt;p&gt;&lt;a href=&quot;http://tinyurl.com/6mae3c7&quot; rel=&quot;nofollow&quot;&gt;If OWFs exist&lt;/a&gt;, then a Shared Random String for&#xA;&lt;br&gt;&#xA;&lt;a href=&quot;http://en.wikipedia.org/wiki/Non-interactive_zero-knowledge_proof&quot; rel=&quot;nofollow&quot;&gt;NIZK proofs (of membership)&lt;/a&gt; can be established by:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;verifier commits a random string of the same length using statistically hiding commitment&#xA;&lt;br&gt;&#xA;prover sends random string of the same length&#xA;&lt;br&gt;&#xA;verifier opens the commitments&#xA;&lt;br&gt;&#xA;the xor of the commited bits and the prover's string is used as the shared random string&#xA;&lt;br&gt;&lt;br&gt;&lt;br&gt;&#xA;The problem with using this for NIZK &lt;a href=&quot;http://en.wikipedia.org/wiki/Proof_of_knowledge&quot; rel=&quot;nofollow&quot;&gt;proofs of knowledge&lt;/a&gt; is that the&#xA;&lt;br&gt;&#xA;above protocol is not (at least not obviously) simulable for the prover.&#xA;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there a known concrete obstacle to being able to establish&#xA;  &lt;br&gt;&#xA;  a Shared Random String for NIZK proofs of knowledge?&#xA;  &lt;br&gt;&#xA;  (For example, showing that such a protocol can't be &lt;a href=&quot;http://gog.is/Black%20Box%20Zero%20Knowledge&quot; rel=&quot;nofollow&quot;&gt;black-box zero knowledge&lt;/a&gt;?)&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;If no, is there a plausible computaional assumption that is known to suffice for doing so?&#xA;&lt;br&gt;&lt;br&gt;&lt;/p&gt;&#xA;" OwnerDisplayName="user6973" LastActivityDate="2012-03-22T10:33:23.263" Title="Jointly Establishing a Shared Random String for NIZK proofs of knowledge" Tags="&lt;cr.crypto-security&gt;&lt;zero-knowledge&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10804" PostTypeId="2" ParentId="10802" CreationDate="2012-03-22T07:52:21.757" Score="6" Body="&lt;p&gt;The obliviousness of the Turing machine is very crucial for Cook-Levin construction to run in time $t(n) \log t(n)$. If the Turing machine is not-oblivious (that is the head position at $i^{th}$ step of computation is not a function of input length ) then, on different inputs, the head position at $i^{th}$ step can be at various positions. But then writing a constant size formula which depends only on the two cells adjacent to head position and head position itself, to ensure correctness of transition from one configuration to the next, cannot be written without knowing the input(As Kaveh pointed out, it is easy to get a $t(n)^2$ formula without the TM being oblivious). But whereas if the Turing machine is oblivious, we can know the position of head at step $i$ on a input of length $n$. Hence can write this formula for correctness between two adjacent configurations. So I guess you should be asking for a better simulation of oblivious Turing machines which beats $O(m \log m)$. It is already asked here : &lt;a href=&quot;https://cstheory.stackexchange.com/q/10645/8345&quot;&gt;Oblivious Turing Machine emulation lowerbound&lt;/a&gt;. &lt;/p&gt;&#xA;" OwnerUserId="8345" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2012-03-22T12:55:58.140" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="10805" PostTypeId="2" ParentId="10793" CreationDate="2012-03-22T09:11:33.173" Score="10" Body="&lt;p&gt;Chazelle, Liu, and Magen's paper &lt;a href=&quot;http://www.cs.princeton.edu/~chazelle/pubs/sublinearSIAM.pdf&quot;&gt;Sublinear Geometric Algorithms&lt;/a&gt; (STOC 2003, SICOMP 2006) has several clever applications of the following random sampling trick.  Variations of the same trick were previously used by Gärtner and Welzl [&lt;a href=&quot;http://www.inf.ethz.ch/personal/gaertner/texts/own_work/sampling.pdf&quot;&gt;DCG 2001&lt;/a&gt;], who cite the first edition of CLR (1990).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose we are given a sorted circular linked list of numbers, stored in a contiguous block of memory.  That is, we have two arrays $Key[1..n]$ and $Next[1..n]$, where &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$Key[1..n]$ stores a set of $n$ numbers in &lt;strong&gt;&lt;em&gt;arbitrary&lt;/em&gt;&lt;/strong&gt; order;&lt;/li&gt;&#xA;&lt;li&gt;If $Key[i]$ is the largest number in the set, then $Key[Next[i]]$ is the smallest number in the set; otherwise, $Key[Next[i]]$ is the smallest number in the set that is larger than $Key[i]$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Then we can find the successor of a given number $x$ in $O(\sqrt{n})$ expected time as follows:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Choose a random sample of $\sqrt{n}$ elements of the array $Key$.  Let $Key[j]$ be the largest sample that is smaller than $x$ (or the largest sample, if all samples are greater than $x$).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Follow $Next$ pointers from $Key[j]$ until we see a number greater than or equal to $x$ (after wrapping around if all samples were larger than $x$).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;A relatively simple application of Yao's lemma implies that the $O(\sqrt{n})$ expected time bound is optimal.  Any deterministic algorithm for this problem requires $\Omega(n)$ time in the worst case.&lt;/p&gt;&#xA;" OwnerUserId="111" LastEditorUserId="111" LastEditDate="2012-03-22T09:48:11.830" LastActivityDate="2012-03-22T09:48:11.830" CommentCount="0" CommunityOwnedDate="2012-03-22T09:11:33.173" ContentLicense="CC BY-SA 3.0" />
  <row Id="10806" PostTypeId="2" ParentId="10782" CreationDate="2012-03-22T09:35:31.107" Score="3" Body="&lt;p&gt;There are also continuous time and analog computation models: &lt;a href=&quot;http://arxiv.org/pdf/0907.3117v1.pdf&quot; rel=&quot;nofollow&quot;&gt;Survey on Continuous Time Computation&lt;/a&gt;, &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0885064X07000246&quot; rel=&quot;nofollow&quot;&gt;Polynomial differential equation model&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="2954" LastActivityDate="2012-03-22T09:35:31.107" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10807" PostTypeId="2" ParentId="10803" CreationDate="2012-03-22T10:33:23.263" Score="2" Body="&lt;p&gt;I'm not sure the solution you have given works.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, it can be adapted to work -- both for NIZK proofs and proofs of knowledge -- by using a &lt;em&gt;coin-tossing protocol&lt;/em&gt; where &quot;secure&quot; here means in the sense of general secure two-party computation. This can be done based on one-way functions in polynomially many rounds, or based on stronger assumptions in constant rounds.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A good reference is Lindell's &lt;a href=&quot;http://eprint.iacr.org/2001/107&quot; rel=&quot;nofollow&quot;&gt;paper&lt;/a&gt; on coin tossing.&lt;/p&gt;&#xA;" OwnerUserId="686" LastActivityDate="2012-03-22T10:33:23.263" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10808" PostTypeId="2" ParentId="10777" CreationDate="2012-03-22T10:37:54.770" Score="1" Body="&lt;p&gt;Yes, I believe that is correct. See, for example, these &lt;a href=&quot;http://www.cs.umd.edu/~jkatz/complexity/f11/lecture27.pdf&quot; rel=&quot;nofollow&quot;&gt;lecture notes&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="686" LastActivityDate="2012-03-22T10:37:54.770" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10809" PostTypeId="2" ParentId="10469" CreationDate="2012-03-22T10:49:12.183" Score="1" Body="&lt;p&gt;Regarding the prover's witness, the standard zero-knowledge (ZK) definitions already imply that ZK holds even if the distinguisher is given this witness.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm not sure what you mean by &quot;the random bits used by the algorithm that generated the auxiliary input&quot;. Please clarify.&lt;/p&gt;&#xA;" OwnerUserId="686" LastActivityDate="2012-03-22T10:49:12.183" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="10811" PostTypeId="1" CreationDate="2012-03-22T16:25:35.117" Score="1" ViewCount="947" Body="&lt;p&gt;I have an undirected graph on matris by vertex adjacency relations like that;&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;/*    a  b  c  d&#xA; * a -1  0  1  1&#xA; * b  0 -1  1  1&#xA; * c  1  1 -1  1&#xA; * d  1  1  1 -1 &#xA; *&#xA; */&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;I want to draw this graph on cordinate system. What's the algorithm that gives each vertex position (x,y) by any method(force-directed, spring vs) with no intersection between edges or minimum intersection?&#xA;Thanks.&lt;/p&gt;&#xA;" OwnerUserId="3393" LastEditorUserId="186" LastEditDate="2012-03-27T21:48:35.750" LastActivityDate="2012-03-27T21:48:35.750" Title="Graph layout algorithm" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;cg.comp-geom&gt;&lt;graph-drawing&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10813" PostTypeId="1" AcceptedAnswerId="10814" CreationDate="2012-03-22T22:55:41.383" Score="2" ViewCount="199" Body="&lt;p&gt;I've been looking at a few entries in &lt;a href=&quot;http://library.msri.org/books/Book56/files/10demaine.pdf&quot; rel=&quot;nofollow&quot;&gt;http://library.msri.org/books/Book56/files/10demaine.pdf&lt;/a&gt; (on combinatorial algorithmic game theory). I didn't see the following game listed there, and I want to know if it has a name, and whether it's computational complexity has been studied:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A block sits on a starting position in a room containing a bunch of blocks, and an exterior agent can slide the block in any one of four directions (N, S, E, W). When it's moved, it slides in that direction until it is stopped by hitting a wall or a block.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For an illustration (not the sharpest, but the first I could find on Google), a student designed this game in the Scratch programming language: &lt;a href=&quot;http://scratch.mit.edu/projects/StrykerV/1466085&quot; rel=&quot;nofollow&quot;&gt;http://scratch.mit.edu/projects/StrykerV/1466085&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Specifically, I want to know if this game is NP-hard or PSPACE-complete. It seems that it should be, since it is similar to PushPush-1, but perhaps having only one moving piece makes it easier.&lt;/p&gt;&#xA;" OwnerUserId="7091" LastEditorUserId="186" LastEditDate="2012-03-27T21:48:03.163" LastActivityDate="2012-03-27T21:48:03.163" Title="What is the known complexity of this game? (similar to PushPush-1)" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;&lt;combinatorial-game-theory&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10814" PostTypeId="2" ParentId="10813" CreationDate="2012-03-22T23:13:32.640" Score="4" Body="&lt;p&gt;There are no sliding blocks, so the game is in $P$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Informally: from the starting position just mark the cells reachable by the cursor. The level has a solution iif the final position becomes reachable. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The algorithm is similar to the Dijkstra's algorithm for shortest path applied to the graph derived from the level.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/Pliy2.jpg&quot; alt=&quot;level&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For an $n \times n$ level the complexity is $O(n^4)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let me know if you need further details.&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2012-03-22T23:32:15.520" LastActivityDate="2012-03-22T23:32:15.520" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="10815" PostTypeId="1" CreationDate="2012-03-22T23:14:44.577" Score="15" ViewCount="499" Body="&lt;p&gt;Planar graphs are $K_{3,3}$-free. Such graphs can be decomposed into tri-connected components, which are known to be either planar or $K_5$ components.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there such a &quot;nice&quot; decomposition of graphs of genus one ?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;In their seminal work on graph minors, Roberston and Seymour showed that every minor-free graph can be decomposed into a &quot;clique-sum&quot; of &quot;almost planar&quot; graphs. This, of course, applies to bounded-genus graphs also. I am looking for decompositions specific to graphs of genus one, to better understand their structural properties.&lt;/p&gt;&#xA;" OwnerUserId="344" LastEditorUserId="80" LastEditDate="2012-03-22T23:25:13.957" LastActivityDate="2013-09-30T17:32:45.590" Title="Decomposing graphs of genus one" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;planar-graphs&gt;&lt;graph-minor&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="10816" PostTypeId="1" AcceptedAnswerId="10817" CreationDate="2012-03-22T23:36:29.447" Score="2" ViewCount="211" Body="&lt;p&gt;I attached a picture, where the energy dissipation (entropy increase) on information erasure is explained. Is the explanation correct?&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&quot;RESTORE TO ONE&quot; - is it correct to identify the operation as &quot;information erasure&quot;? It looks like a negation, not like &quot;information erasure&quot;.&lt;/li&gt;&#xA;&lt;li&gt;I would say that the erasurement would be performed, when the &quot;ball&quot; (the black dot near &quot;0&quot; in the picture) would be returned to the meta-stable point between 0 and 1.&lt;/li&gt;&#xA;&lt;li&gt;Maybe the intention of the author was to show, that &quot;negation&quot; has &quot;erasurement&quot; embedded in it? Then, he states that &quot;computing depends on information erasure&quot; - this statement is too strong? - we have reversible computation that do not erase information, correct?&lt;/li&gt;&#xA;&lt;li&gt;The picture and point 2. (above) seem to be a very good metaphore of Landauer's principle. Does it match Landauer's principle closely, or maybe even perfectly - or is it just a picture to help only &lt;em&gt;conceptually&lt;/em&gt; understand the principle?&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;(PS. A better title is welcomed..)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/s0X5O.jpg&quot; alt=&quot;Dissipation on negation?&quot;&gt;&lt;/p&gt;&#xA;" OwnerUserId="7918" LastActivityDate="2012-03-23T00:40:29.570" Title="Landauer's principle internals - how it works" Tags="&lt;it.information-theory&gt;&lt;shannon-entropy&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10817" PostTypeId="2" ParentId="10816" CreationDate="2012-03-23T00:40:29.570" Score="7" Body="&lt;p&gt;You're confused because the example didn't cover all possible cases, and you're extrapolating improperly.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Negation is the operation&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;0 &amp;rarr; 1,&lt;br&gt;&#xA;    1 &amp;rarr; 0.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;This is reversible, and can theoretically be performed using an arbitrarily small amount of energy.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Restore to one is the operation&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;0 &amp;rarr; 1,&lt;br&gt;&#xA;    1 &amp;rarr; 1.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;This is not reversible, and unavoidably  dissipates $k T \ln 2\;$ energy.&lt;/p&gt;&#xA;" OwnerUserId="1677" LastActivityDate="2012-03-23T00:40:29.570" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="10818" PostTypeId="2" ParentId="10811" CreationDate="2012-03-23T01:07:40.960" Score="7" Body="&lt;p&gt;This question may not have been phrased to make it look research-level, but trying to compute the minimum number of crossings in a layout of a given graph is definitely a research-level problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One complication is that there is more than one definition of the number of crossings: see Pach, &quot;Which crossing number is it, anyway?&quot;, FOCS 1998.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you allow a drawing with curved edges, and count the number of intersection points of edges, then the problem is fixed-parameter tractable: it can be solved in time linear in the number of vertices in the graph, but exponential or worse in the number of crossings. See Kawarabayashi and Reed, &quot;Computing crossing number in linear time&quot;, STOC 2007, as well as several previous related papers cited by them.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I don't think the Kawarabayashi-Reed algorithm is practical, but if you restrict attention to drawings with straight line segment edges (giving a different crossing number) there are more practical (though still exponential) approaches based on integer programming. See e.g. Jünger et al, &quot;A polyhedral approach to the multi-layer crossing minimization problem&quot;, Graph Drawing 1997, and Buchheim et al, &quot;A branch-and-cut approach to the crossingnumber problem&quot;, Discrete Optimization 2008.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you want to test if there are no crossings at all (i.e. is the graph planar), then theoretically it has been known for decades that it can be solved in linear time, so this is no longer research-level. But finding a linear time algorithm that is also easy to implement and run in practice is not entirely a solved problem.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2012-03-23T01:07:40.960" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10819" PostTypeId="1" CreationDate="2012-03-23T01:21:35.860" Score="1" ViewCount="731" Body="&lt;p&gt;Suppose the source alphabet is $a, b, c$ with $a$ as the termination symbol and so the unit interval is correspondingly divided as&#xA;$[0, P(a), P(a)+P(b), 1]$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Strings consisting of a bunch of $b$'s and $c$'s ending with an $a$ (the termination symbol) are valid for encoding. Strings with an $a$ in middle are considered invalid for encoding.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So its easy to construct strings with encodings lying in the interval $[P(a), 1)$. But does &lt;a href=&quot;http://en.wikipedia.org/wiki/Arithmetic_coding&quot; rel=&quot;nofollow&quot;&gt;arithmetic coding&lt;/a&gt; assign any string an encoding in the interval $[0, P(a))$? Would the empty string qualify as being encoded to a bitstring lying in $[0, P(a))$? Since the empty string can be thought of as the string &quot;$a$&quot; or as just the termination symbol.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since devoting space to encoding the empty string would seem pointless why not have the first division of the unit interval be&#xA;$[0, (P(b)-P(a))/(1-P(a)), 1]$ which corresponds to mapping $[P(a), P(a)+P(b), 1]$ to fill up the unit interval. Then subsequent refining divisions would use $[0, P(a), P(a)+P(b), 1]$ as usual.&lt;/p&gt;&#xA;" OwnerUserId="5980" LastEditorUserId="4423" LastEditDate="2012-04-07T05:45:01.080" LastActivityDate="2012-04-07T05:45:01.080" Title="Arithmetic coding, the termination symbol, and the empty string" Tags="&lt;it.information-theory&gt;&lt;encoding&gt;&lt;shannon-entropy&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10820" PostTypeId="1" CreationDate="2012-03-23T01:54:04.213" Score="6" ViewCount="453" Body="&lt;p&gt;The combinatorics, needless to say, is very closely related to TCS. But I found it hard to find the applications of enumerative combinatorics or Ramsey theory.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Or rather than being applied to TCS, the enumerative combinatorics or Ramsey theory is related to TCS because we use TCS techs and algorithms to tackle their problems.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I dont know very deep theory works, so please treat it easy.&lt;/p&gt;&#xA;" OwnerUserId="8398" LastEditorUserId="186" LastEditDate="2012-03-27T21:50:44.143" LastActivityDate="2012-03-28T15:09:43.530" Title="Could any one enumerate some applications of enumerative combinatorics and Ramsey theory in TCS?" Tags="&lt;co.combinatorics&gt;&lt;soft-question&gt;&lt;big-list&gt;" AnswerCount="2" CommentCount="5" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10821" PostTypeId="1" AcceptedAnswerId="10822" CreationDate="2012-03-23T03:11:03.507" Score="10" ViewCount="7035" Body="&lt;p&gt;I know that for an unweighted bipartite graph, I can find the minimum vertex cover by first finding the maximum matching and turning it into a vertex cover using König's Theorem. Is there a modification one could use if the nodes are weighted?&lt;/p&gt;&#xA;" OwnerUserId="8840" LastEditorUserId="186" LastEditDate="2012-03-27T21:49:01.040" LastActivityDate="2012-03-27T21:49:01.040" Title="What is an algorithm to find a minimum vertex cover on a bipartite graph with weighted vertices?" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="10822" PostTypeId="2" ParentId="10821" CreationDate="2012-03-23T03:54:42.580" Score="18" Body="&lt;p&gt;The weighted vertex cover problem can be formulated as an Integer Program (see &lt;a href=&quot;http://en.wikipedia.org/wiki/Vertex_cover&quot;&gt;http://en.wikipedia.org/wiki/Vertex_cover&lt;/a&gt;). When the input graph is bipartite, the constraint matrix of this IP is totally unimodular. Hence this IP can be solved in polynomial time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For more details of total unimodular matrices and the corresponding algorithms, see the excellent (three volume) book by &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/3540443894&quot;&gt;Alexander Schrijver&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="344" LastActivityDate="2012-03-23T03:54:42.580" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="10824" PostTypeId="2" ParentId="9940" CreationDate="2012-03-23T07:51:37.137" Score="0" Body="&lt;p&gt;I do not think one needs a counter. Essentially you just check all the permutations but break &lt;/p&gt;&#xA;&#xA;&lt;p&gt;pseudo-code:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;perm-match(input, pattern)&#xA;     if pattern = nil return true&#xA;&#xA;     foreach(rule in pattern)&#xA;         if (match(input, rule))&#xA;             perm-match(input - matchedpart, pattern - rule)&#xA;             break&#xA;         end&#xA;     end&#xA;     return false&#xA;end&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Here is a more concrete example&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose we are trying to match any permutation of abcd and our string is bcda&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Step 1: Find the first matched symbol. In this case it is b&lt;/li&gt;&#xA;&lt;li&gt;Step 2: Remove that symbol from our pattern and reduce the string: e.g., acd and cda  are left&lt;/li&gt;&#xA;&lt;li&gt;Step 3: Repeat step 1 on the new strings&#xA;&lt;ul&gt;&#xA;&lt;li&gt;c matches in cda which leaves us with ad and da&lt;/li&gt;&#xA;&lt;li&gt;a matches in da which leaves us with d and d&lt;/li&gt;&#xA;&lt;li&gt;d matches in d which leaves us with nil in both strings&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;So you see this simple algorithm can check for a permutation quite easily by simply comparing &quot;strings&quot; out of order. Note that the complexity of the function is O(n!) worse case and O(1) best case. In a sense the we are keeping count by storing the symbols to match in an array. I would think this would be &#xA;&quot;fast&quot; in general since one wouldn't deal with very large n in most cases.&lt;/p&gt;&#xA;" OwnerUserId="8776" LastActivityDate="2012-03-23T07:51:37.137" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10825" PostTypeId="1" CreationDate="2012-03-23T13:41:20.523" Score="10" ViewCount="408" Body="&lt;p&gt;The computation of a nondeterministic Turing machine (NTM) is well known to be representable as a tree of configurations, rooted at the starting configuration. Any transition in the program is represented by a father-child link in this tree.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Similar trees can also be constructed for visualising the computations of probabilistic and quantum machines as well. (Note that it is better for some purposes not to view the related graph for quantum computations as a tree, since two nodes representing identical configurations at the same level of the tree can &quot;cancel&quot; each other out, due to quantum interference, but this doesn't have anything to do with the present question.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course, deterministic computations are not like that; there is a single &quot;branch&quot; in the corresponding &quot;tree&quot; for any run of a deterministic machine.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In all the three cases mentioned above, what sometimes makes these computations &quot;difficult&quot; for deterministic computers is not really that there is branching going on, rather, it is a matter of &lt;strong&gt;how much&lt;/strong&gt; branching is present in the tree. For instance, a polynomial-time nondeterministic Turing machine which is guaranteed to produce computation trees whose &quot;widths&quot; (i.e. number of nodes in the most crowded level) are also bounded above by a polynomial function of the input size can be simulated by a polynomial-time deterministic TM. (Note that this &quot;polynomial width&quot; condition is equivalent to restricting the NTM to make at most a logarithmically bounded number of nondeterministic guesses.) The same thing is true when we put similar width bounds on probabilistic and quantum computations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I know that this issue has been examined in detail for nondeterministic computations. See, for example, the survey &quot;&lt;a href=&quot;http://dl.acm.org/citation.cfm?id=235769&quot;&gt;Limited Nondeterminism&lt;/a&gt;&quot; by Goldsmith, Levy, and Mundhenk. My question is, has this phenomenon of &quot;limited branching&quot; or &quot;limited width&quot; been studied in a common framework encompassing all of the nondeterministic, probabilistic, and quantum models? If so, what is the standard name for it? Any links to resources will be appreciated.&lt;/p&gt;&#xA;" OwnerUserId="1454" LastActivityDate="2012-03-24T02:12:05.803" Title="Uniform way of quantifying &quot;branching&quot; in nondeterministic, probabilistic, and quantum computation?" Tags="&lt;cc.complexity-theory&gt;&lt;quantum-computing&gt;&lt;randomness&gt;&lt;derandomization&gt;&lt;nondeterminism&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="10826" PostTypeId="2" ParentId="10820" CreationDate="2012-03-23T15:51:46.970" Score="3" Body="&lt;p&gt;This book will be helpful:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://books.google.co.uk/books/about/Extremal_combinatorics.html?id=g6X2VWuB8qIC&quot; rel=&quot;nofollow&quot;&gt;http://books.google.co.uk/books/about/Extremal_combinatorics.html?id=g6X2VWuB8qIC&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="604" LastActivityDate="2012-03-23T15:51:46.970" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10828" PostTypeId="1" AcceptedAnswerId="10840" CreationDate="2012-03-23T17:28:07.157" Score="10" ViewCount="2535" Body="&lt;p&gt;It is well known that Charles Babbage's analytical machine had an architecture strongly ressembling the modern Von Neumann architecture.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, it's notable that the tables for representing a program for Babbage's analytical machine ( &lt;a href=&quot;http://www.fourmilab.ch/babbage/figures/menat3.png&quot; rel=&quot;nofollow&quot;&gt;http://www.fourmilab.ch/babbage/figures/menat3.png&lt;/a&gt; ) and von Neumann's work (such as &lt;a href=&quot;http://library.ias.edu/files/pdfs/ecp/planningcodingof0103inst.pdf&quot; rel=&quot;nofollow&quot;&gt;http://library.ias.edu/files/pdfs/ecp/planningcodingof0103inst.pdf&lt;/a&gt; ) are quite analogous.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now I'm wondering if there's any indication to what extent von Neumann knew of the work done by Babbage, and if he used it as an inspiration for his own work.&lt;/p&gt;&#xA;" OwnerUserId="8848" LastEditorUserId="77" LastEditDate="2012-03-26T06:25:49.707" LastActivityDate="2012-04-17T07:31:49.380" Title="The Relation between Babbage and von Neumann" Tags="&lt;ho.history-overview&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="10829" PostTypeId="1" AcceptedAnswerId="10856" CreationDate="2012-03-23T17:44:18.453" Score="21" ViewCount="2916" Body="&lt;p&gt;Many years ago I heard that computing the minimal NFA (nondeterministic finite automaton) from a DFA (deterministic) was an open question, as opposed to the vice versa direction which has been known for decades and is well researched with an efficient $O(n \lg n)$ algorithm. Has anyone come up with an algorithm?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A quick search gave me this paper that proves that its definitely a hard problem. Apparently, no algorithm is given.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] &lt;a href=&quot;http://www.springerlink.com/content/y61724u571v487x5/&quot; rel=&quot;noreferrer&quot;&gt;Minimal NFA problems are hard / Tao Jiang and B. Ravikumar&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I was reminded of this problem by the following question on the CS.SE site for which a DFA-&gt;NFA minimization algorithm would be closely related. This following question seems to me to be research level. I suggested migrating it to TCS and I wrote an answer suggesting a statistical/empirical attack.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] &lt;a href=&quot;https://cs.stackexchange.com/questions/130/what-are-the-conditions-for-a-nfa-for-its-equivalent-dfa-to-be-maximal-in-size&quot;&gt;What are the conditions for a NFA for its equivalent DFA to be maximal in size?&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="-1" LastEditDate="2017-04-13T12:48:30.830" LastActivityDate="2020-08-26T02:17:25.003" Title="computing the minimal NFA for a DFA" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;fl.formal-languages&gt;&lt;automata-theory&gt;&lt;optimization&gt;" AnswerCount="2" CommentCount="8" FavoriteCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="10830" PostTypeId="2" ParentId="10825" CreationDate="2012-03-23T18:59:22.097" Score="11" Body="&lt;p&gt;Nondeterministic computations can also be viewed as verification of claims using short proofs. That is, the class NTIME(t) can also be viewed as the class of languages $L$ such that a claim of the form $x \in L$ can be verified in time $t(|x|)$ by reading a short proofs. In this model, &quot;quantifying the braching&quot; is analogous to studying how short the proofs can be. While I don't know of papers that studied this question, this could give you a direction of where to look for them.&#xA;One paper that studied a related question in the context of interactive proofs is &quot;On Interactive Proofs with Laconic prover&quot;, by Goldreich, Vadhan, and Wigderson:&#xA;&lt;a href=&quot;http://www.wisdom.weizmann.ac.il/~oded/p_laconic.html&quot;&gt;http://www.wisdom.weizmann.ac.il/~oded/p_laconic.html&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Regarding probabilistic computation: The amount of &quot;branching&quot; used in the computation is exactly the number of random bits/coin tosses that the algorithm uses. Quantifying this number and minimizing it is studied extensively in the area of &quot;Derandomization&quot;. You can read about it in Chapters 20 and 21 of the Arora-Barak book (&lt;a href=&quot;http://www.cs.princeton.edu/theory/index.php/Compbook/Draft&quot;&gt;http://www.cs.princeton.edu/theory/index.php/Compbook/Draft&lt;/a&gt;) or in Chapter 8 of Goldreich's book (&lt;a href=&quot;http://www.wisdom.weizmann.ac.il/~oded/cc-book.html&quot;&gt;http://www.wisdom.weizmann.ac.il/~oded/cc-book.html&lt;/a&gt;).&#xA;It should also be mentioned that the common belief in this area is that $P=BPP$. If this is true, then the number of random bits a computation uses does not affect its power, as long as this number is polynomial.&lt;/p&gt;&#xA;" OwnerUserId="8429" LastEditorUserId="8429" LastEditDate="2012-03-24T02:12:05.803" LastActivityDate="2012-03-24T02:12:05.803" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="10832" PostTypeId="1" CreationDate="2012-03-23T22:05:26.520" Score="2" ViewCount="190" Body="&lt;p&gt;Proof of universality of Game of Life is straightforward  (&lt;a href=&quot;http://cafaq.com/lifefaq/index.php&quot; rel=&quot;nofollow&quot;&gt;CAFAQ&lt;/a&gt;):&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;(two annihilating glider streams with gaps (ie. 0s) are colliding, one is &quot;data&quot; and the second is all glider filled, ie.: 111111...)&#xA;  For every 0 in the input&#xA;  byte, the missing glider in the input stream allows a glider from the&#xA;  glider gun to pass, whereas for every 1 in the input byte, a glider in&#xA;  the input stream annihilates the corresponding glider coming from the&#xA;  glider gun. Thus, looking at the output stream from the glider-gun&#xA;  DOWNSTREAM of the collision site, there is a glider (a 1) for every&#xA;  &quot;hole&quot; in the input stream (a 0) and there is a hole (a 0) for every&#xA;  glider (1) in the input stream. Thus, the filtered output of the&#xA;  glider-gun is the logical NOT of the encoded input stream.&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;And not a universal computer in sight!&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;By colliding this output stream (call it NOT A if the input steam is&#xA;  A) with another input stream, B, one gets A AND B in the continuation&#xA;  of the input stream B after the collision site.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;So what is sufficient for universality is a particle $\alpha$ such that after collision with itself complete annihilation occurs $\alpha + \alpha = 0$. This seems to be an easy requirement. However, ECA 110 (or Rule 110) was proved via simulating cyclic tag system. And ECA 54 was not yet proven to be universal.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Both ECA 110 and ECA 54 have rich glider/particle sets. I did not yet dig deep into the glider sets. I first want to ask:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Was the contrast between simplicity of $\alpha + \alpha = 0$ and problems with proving universality of ECA examined somehow? Are the particle systems categorized in some way, to explain why &lt;em&gt;rich&lt;/em&gt; particle systems are not necessary universal, while system as simple as $\alpha + \alpha = 0$ can be universal?&lt;/strong&gt;&lt;/p&gt;&#xA;" OwnerUserId="7918" LastEditorUserId="186" LastEditDate="2012-03-27T21:46:55.707" LastActivityDate="2012-03-27T21:46:55.707" Title="Particle collisions for universal computation" Tags="&lt;computability&gt;&lt;universal-computation&gt;&lt;cellular-automata&gt;" AnswerCount="0" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="10833" PostTypeId="2" ParentId="10481" CreationDate="2012-03-24T14:20:08.783" Score="8" Body="&lt;p&gt;It's not completely obvious to me that this problem can be reduced to element distinctness (ED). What if the two sets are disjoint, but the sets contain repeated elements? If you just solve ED on the union of the two sets, ED will return YES, but the sets are disjoint.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But this problem (let's call it Set Disjointness or SD) has query complexity $\Theta(n^{2/3})$ when the two sets are of size $n$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;To show a lower bound of $\Omega(n^{2/3})$, we can reduce ED to SD. Here's a simple probabilistic reduction: Take any ED instance. Randomly partition it into two parts and solve SD on this instance. If it was a NO instance of ED, it will be a NO instance of SD. If it was a YES instance, then with probability &gt;= 1/2, it will be a YES instance of SD.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For an upper bound of $O(n^{2/3})$, I can't, off the top of my head, think of a reduction to a known problem. The easiest way I can think of is to use Ambainis' algorithm for ED, but modify it to work for this problem. It is known that Ambinis' algorithm actually works for any two-place relation R(.,.), not just the relation EQUALITY(x,y), which is 1 iff x and y are the same. So we can use the relation R(x,y) = 1 iff x = y and x and y are from different sets.&lt;/p&gt;&#xA;" OwnerUserId="206" LastActivityDate="2012-03-24T14:20:08.783" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10835" PostTypeId="2" ParentId="10798" CreationDate="2012-03-24T21:17:46.643" Score="20" Body="&lt;p&gt;This is open, as far as I know. It could be provable (because its hypothesis may be false) or it just be difficult to show that any $2^{n^k}$-time algorithm for Succinct3SAT can be converted into a $2^{O(n)}$-time algorithm for Succinct3SAT.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In general, theorems of this kind are called &quot;downward collapses&quot; which say if two &quot;large&quot; classes are equal then two &quot;smaller&quot; classes are equal. These theorems are rare. Usually you can either prove an &quot;upward collapse&quot; (small classes equal implies larger classes equal, like $P = NP$ implies $NEXP = EXP$) or its contrapositive, a &quot;downward separation&quot;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Something along the lines of what you want is the theorem by Hartmanis, Immerman and Sewelson (&lt;a href=&quot;http://dl.acm.org/citation.cfm?id=808769&quot;&gt;http://dl.acm.org/citation.cfm?id=808769&lt;/a&gt;) that $NE = E$ $\iff$ every sparse set in $NP$ is contained in $P$. This gives a &quot;downward collapse&quot; but only for the sparse sets (those sets that contain only $poly(n)$ strings of length $n$). &lt;/p&gt;&#xA;" OwnerUserId="225" LastActivityDate="2012-03-24T21:17:46.643" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10836" PostTypeId="1" CreationDate="2012-03-25T10:55:10.397" Score="4" ViewCount="196" Body="&lt;p&gt;Given a point set $P$ and a triangulation $T$ of $P$ with $d$ triangles, let's define&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\alpha(T) = (\alpha_1, \alpha_2, \ldots, \alpha_{3d})$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;which denotes the series of interior angles of $T$, sorted in &lt;strong&gt;ascending order&lt;/strong&gt;. We can compare two such series (of the same length) easily in lexicographical order. We know that $T$ is a Delaunay-Triangulation iff $\alpha(T) \geq \alpha(T&amp;#39;)$ for all possible triangulations $T&amp;#39;$ of $P$. This is also called the &lt;strong&gt;&quot;maximum smallest angle&quot;&lt;/strong&gt; characteristic of the Delaunay Triangulation. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is now, is there a &lt;strong&gt;&quot;maximum greatest area&quot;&lt;/strong&gt; triangulation? (Yes, not &quot;maximum smallest area&quot;!) More formally, define&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$A(T) = (A_1, A_2, \ldots, A_d)$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;which denotes the series of triangle areas of $T$, sorted in &lt;strong&gt;descending order&lt;/strong&gt;, and I hope to find a triangulation $T$, so that&#xA;$A(T) \geq A(T&amp;#39;)$&#xA;for all possible triangulations $T&amp;#39;$ of $P$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does anyone know such an algorithm, or is it even trivially computable (i.e. with a greedy algorithm)?&lt;/p&gt;&#xA;" OwnerUserId="8867" LastActivityDate="2012-03-25T10:55:10.397" Title="Triangulation with maximum greatest area" Tags="&lt;ds.algorithms&gt;&lt;cg.comp-geom&gt;&lt;delaunay-triangulation&gt;" AnswerCount="0" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10837" PostTypeId="1" AcceptedAnswerId="10838" CreationDate="2012-03-25T12:28:09.673" Score="22" ViewCount="1168" Body="&lt;p&gt;The AND&amp;amp;OR gate is a gate which is given two inputs and returns their AND and their OR. Are circuits made only out of the AND&amp;amp;OR gate, without fanout, capable of doing arbitrary computations? More precisely, is polynomial time computation logspace reducible to AND&amp;amp;OR circuits?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My motivation for this problem is rather strange. As described &lt;a href=&quot;http://www.bay12forums.com/smf/index.php?topic=104772.0&quot;&gt;here&lt;/a&gt;, this question is important for computation inside the computer game &lt;a href=&quot;http://en.wikipedia.org/wiki/Dwarf_Fortress&quot;&gt;Dwarf Fortress&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="1858" LastEditorUserId="186" LastEditDate="2012-03-25T14:33:12.930" LastActivityDate="2012-09-04T14:57:34.240" Title="Are AND&amp;OR circuits P-complete?" Tags="&lt;cc.complexity-theory&gt;&lt;circuit-complexity&gt;" AnswerCount="2" CommentCount="3" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="10838" PostTypeId="2" ParentId="10837" CreationDate="2012-03-25T15:21:14.050" Score="23" Body="&lt;p&gt;If I don't misunderstand what you mean by AND&amp;amp;OR gate, it is basically a comparator gate which takes two input bits $x$ and $y$ and produces two output bits $x\wedge y$ and $x\vee y$. The two output bits $x\wedge y$ and $x\vee y$ are basically min$(x,y)$ and max$(x,y)$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Comparator circuits are built by composing these comparator gates together but &lt;strong&gt;allowing no more fan-outs other than the two outputs produced by each gate&lt;/strong&gt;. Thus, we can draw comparator  circuits using the notations below (similarly to how we draw sorting networks).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/TEuV1.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We can define the &lt;em&gt;comparator circuit value problem&lt;/em&gt; (CCV) as follows: given a comparator circuit with specified Boolean inputs, determine the output value of a designated wire. By taking the closure of this CCV problem under logspace reductions, we get the complexity class &lt;a href=&quot;http://qwiki.stanford.edu/index.php/Complexity_Zoo:C#cc&quot; rel=&quot;noreferrer&quot;&gt;CC&lt;/a&gt;, whose complete problems include natural problems like lex-first maximal matching, stable marriage, stable roomate. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In &lt;a href=&quot;http://arxiv.org/abs/1208.2721&quot; rel=&quot;noreferrer&quot;&gt;this recent paper&lt;/a&gt;, Steve Cook, Yuval Filmus and I showed that even when we use AC$^0$ many-one closure, we still get the same class CC. To the best of our knowledge at this point, NL $\subseteq$ CC $\subseteq$ P. In our paper, we provided evidence that CC and NC are incomparable (so that CC is a proper subset of P), by giving oracle settings where relativized CC and relativized NC are incomparable. We also gave evidence that CC and &lt;a href=&quot;http://en.wikipedia.org/wiki/SC_%28complexity%29&quot; rel=&quot;noreferrer&quot;&gt;SC&lt;/a&gt; are incomparable.&lt;/p&gt;&#xA;" OwnerUserId="1080" LastEditorUserId="1080" LastEditDate="2012-09-03T23:54:55.907" LastActivityDate="2012-09-03T23:54:55.907" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10839" PostTypeId="2" ParentId="10837" CreationDate="2012-03-25T15:50:29.810" Score="0" Body="&lt;p&gt;(the answer is not eligible because it refers to separate AND, OR gates without fan out restriction)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The following article is on topic: &lt;a href=&quot;http://arxiv.org/abs/cond-mat/9701118&quot; rel=&quot;nofollow&quot;&gt;Majority-Vote Cellular Automata, Ising Dynamics, and P-Completeness&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;We show that in three or more dimensions &lt;strong&gt;these systems can simulate&#xA;  Boolean circuits of AND and OR gates, and are therefore P-complete&lt;/strong&gt;.&#xA;  That is, predicting their state t time-steps in the future is at least&#xA;  as hard as any other problem that takes polynomial time on a serial&#xA;  computer.&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;(...)&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;The Monotone Circuit Value problem, where AND and OR gates are allowed&#xA;  but NOT gates are not, is still P-complete for the following reason:&#xA;  using De Morgan’s laws (...), we can shift negations&#xA;  back through the gates until they only affect the inputs themselves.&#xA;  Thus any Circuit Value problem can be converted to a Monotone Circuit&#xA;  Value problem with some of the inputs negated. This kind of&#xA;  conversion, from an instance of one problem to an instance of another,&#xA;  is called a reduction.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="7918" LastEditorUserId="7918" LastEditDate="2012-03-25T16:23:54.997" LastActivityDate="2012-03-25T16:23:54.997" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="10840" PostTypeId="2" ParentId="10828" CreationDate="2012-03-25T17:31:02.123" Score="6" Body="&lt;p&gt;It seems likely that Von Neumann knew about Babbage since Aiken did and was pretty open about it as far back as 1937.  See &lt;a href=&quot;http://books.google.com/books?id=vrvS7rzvsI4C&amp;amp;pg=PA254&amp;amp;lpg=PA254&amp;amp;dq=babbage+aiken&amp;amp;source=bl&amp;amp;ots=_36pFim8p_&amp;amp;sig=pAIGOfZ_tQbNExSGJYhn7hpWBgY&amp;amp;hl=en&amp;amp;sa=X&amp;amp;ei=MlFvT7myN_SO0QHj4q35Bg&amp;amp;ved=0CEsQ6AEwBg#v=onepage&amp;amp;q=babbage%20aiken&amp;amp;f=false&quot;&gt;this&lt;/a&gt;.  Also, Flowers, of Colossus fame &lt;a href=&quot;http://books.google.com/books?id=Tg0WXU5_8EgC&amp;amp;pg=PA154&amp;amp;lpg=PA154&amp;amp;dq=babbage+aiken+1937&amp;amp;source=bl&amp;amp;ots=FjHjhJ-_UW&amp;amp;sig=d2Wjvs9t3M0J684-4kGTwmgZHsI&amp;amp;hl=en&amp;amp;sa=X&amp;amp;ei=DlJvT6u1H8bh0QHayMHyBg&amp;amp;ved=0CDMQ6AEwAg#v=onepage&amp;amp;q=babbage%20aiken%201937&amp;amp;f=false&quot;&gt;did as well&lt;/a&gt;.  Von Nuemann's famous paper appeared in 1945 (see &lt;a href=&quot;http://en.wikipedia.org/wiki/Von_Neumann_architecture#Early_von_Neumann-architecture_computers&quot;&gt;here&lt;/a&gt; and &lt;a href=&quot;http://qss.stanford.edu/~godfrey/vonNeumann/vnedvac.pdf&quot;&gt;here&lt;/a&gt;), and does mention Aiken's work.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But I can't find any direct evidence.  Good question, and a bit of fun to briefly research it.&lt;/p&gt;&#xA;" OwnerUserId="8487" LastActivityDate="2012-03-25T17:31:02.123" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10841" PostTypeId="1" CreationDate="2012-03-25T20:11:39.030" Score="3" ViewCount="146" Body="&lt;p&gt;The grammar classes SLR and strong LL are similar in that they both use FOLLOW sets to resolve conflicts. For still unresolved conflicts, state splitting always works for SLR grammars, if the grammar is LR. Similarly, Aho/Ullman have shown that nonterminal replication can make any LL grammar strong. If the form of the LL grammar is EBNF, the replication is intrinsic if identical EBNF forms are implemented as different nonterminals at each occurrence in the grammar.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I wonder if the nonterminal replication provided by an EBNF formed SLR grammar would provide something equivalent to state splitting such that the grammar would have LR recognition power.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More specifically, for a fixed k, given any LR(k) grammar, if that grammar contains at most one occurrence of each nullable nonterminal on the right hand sides of all productions, must that grammar also be SLR(k)? What I am looking for is a counter example grammar.&lt;/p&gt;&#xA;" OwnerUserId="6290" LastEditorUserId="6290" LastEditDate="2012-03-26T13:56:29.507" LastActivityDate="2012-03-26T19:20:19.147" Title="Is state splitting the LR equivalent of LL nonterminal replication" Tags="&lt;fl.formal-languages&gt;&lt;grammars&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10843" PostTypeId="2" ParentId="10841" CreationDate="2012-03-25T21:26:49.617" Score="3" Body="&lt;p&gt;It is indeed well-known that LR($k$) languages for $k&amp;gt;0$ coincide with SLR($1$) languages, see e.g. M. Dennis Mickunas, Ronald L. Lancaster, and Victor B. Schneider, &lt;em&gt;Transforming LR($k$) Grammars to LR(1), SLR(1), and (1,1) Bounded Right-Context Grammars&lt;/em&gt;, J. ACM 23(3):511--533, 1976, &lt;a href=&quot;http://dx.doi.org/10.1145/321958.321972&quot; rel=&quot;nofollow&quot;&gt;doi: 10.1145/321958.321972&lt;/a&gt;; it's not clear to me what EBNF syntax has to do with it: could you be more specific?&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Edit: in answer to the more specific question regarding nullable nonterminals and LR($k$) vs. SLR($k$), the grammar with rules&#xA;$$S\to aAa\mid bAb\mid aBb\mid bBa, A\to a, B\to a$$&#xA;is LR(1) but neither SLR(1) nor LALR(1) and does not have any nullable nonterminal.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another issue is that there is no &quot;perfect&quot; definition of LR($k$) for EBNF syntax---unless you convert to BNF in some specific way and ask the resulting grammar to be LR($k$); see Heilbrunner, &lt;em&gt;Definition of ELR($k$) and ELL($k$) Grammars&lt;/em&gt;, Acta Inf. 11(2):169--176, 1979, &lt;a href=&quot;http://dx.doi.org/10.1007/BF00264023&quot; rel=&quot;nofollow&quot;&gt;doi: 10.1007/BF00264023&lt;/a&gt;.  The issue is with the reduction operation: how much of the stack should be reduced when reducing, say, $A\to a^\ast$?  Answering this question might require inspecting the stack contents, or adding special stack markers, or $\dots$, and is likely to restrict the class of accepted grammars below ELR($k$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, I do not know about SLR($k$) techniques for EBNF grammars; a survey on the subject of parsing for EBNF was recently written by Hemerik, &lt;em&gt;Towards a Taxonomy for ECFG and RRPG Parsing&lt;/em&gt;, LATA'09, LNCS 5457:410--421, 2009, &lt;a href=&quot;http://dx.doi.org/10.1007/978-3-642-00982-2_35&quot; rel=&quot;nofollow&quot;&gt;doi: 10.1007/978-3-642-00982-2_35&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="609" LastEditorUserId="609" LastEditDate="2012-03-26T19:20:19.147" LastActivityDate="2012-03-26T19:20:19.147" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10845" PostTypeId="1" AcceptedAnswerId="31374" CreationDate="2012-03-26T00:51:03.347" Score="1" ViewCount="268" Body="&lt;p&gt;This problem is a following up question on  &lt;a href=&quot;https://cstheory.stackexchange.com/questions/10727/is-the-following-optimization-problem-a-variant-to-a-previous-problem-np-hard&quot;&gt;this one&lt;/a&gt;. The only difference is the addition of $3^{rd}$ constraint &quot;$\sum_{i} x_{ij} \le M$&quot;, where M is a constant number. This constraint essentially states that each &quot;node&quot; can only take M incoming edges at most.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Set S, which is an non-empty finite subset of $\{ (i,j) : i, j \in N \land i \neq j \}$ and is also a transitive closure, is given. E.g. $S=\{(1,2), (2,3), (1,3), (2,4), (1,4)\}$. For each element $(i,j)$, we have weight $w_{ij}=c(i)&amp;gt;0$, where $c$ is some benefit function, and a binary decision variable $x_{ij}$. The optimization problem is defined as follows:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\text{maximize} \sum_{(i,j)\in S} w_{ij}x_{ij} $$&#xA;$$\text{s.t.} x_{ij}+x_{ik} \le 1 $$&#xA;$$x_{ij}+x_{jk} \le 1 $$&#xA;$$\sum_{i} x_{ij} \le M$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note this problem is not the &lt;em&gt;Maximum Weighted  Matching&lt;/em&gt; problem as edges that share the same end point are allowed. &lt;/p&gt;&#xA;" OwnerUserId="8564" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.743" LastActivityDate="2018-08-27T13:34:25.493" Title="Is the following optimization problem (another variant to a previous problem) NP-hard?" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;" AnswerCount="1" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="10847" PostTypeId="1" AcceptedAnswerId="10849" CreationDate="2012-03-26T16:00:13.250" Score="-1" ViewCount="460" Body="&lt;p&gt;For instance, it is believed that for any $\epsilon&amp;gt;0$ there is an algorithm for matrix multiplication that runs in $O(n^{2+\epsilon})$, but possibly no algorithm that runs in $O(n^2)$. How is this possible? Couldn't we create a meta-algorithm that runs in $O(n^2)$ time by using a better and better algorithm to solve problems of bigger size?&lt;/p&gt;&#xA;" OwnerUserId="7944" LastEditorUserId="7944" LastEditDate="2012-03-26T16:10:50.103" LastActivityDate="2012-03-26T17:28:31.730" Title="How can a problem have complexity $O(n^{2+\epsilon})$ for all $\epsilon &gt; 0$?" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;time-complexity&gt;&lt;matrix-product&gt;" AnswerCount="1" CommentCount="6" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10849" PostTypeId="2" ParentId="10847" CreationDate="2012-03-26T17:28:31.730" Score="2" Body="&lt;p&gt;In this case, it's another way of saying that the algorithm runs in time $O(n^{2+o(1)})$; for example $O(n^2 \log^6 n)$ or $O(n^2 2^{\sqrt{\log n}})$ would both qualify.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Sometimes there are parameters other than the running time involved in an algorithm, for example quality of an approximation, that depend on $\epsilon$. In such cases, an algorithm may be designed to accept a parameter $\epsilon$ as a part of the input and adjust its performance accordingly.&lt;/p&gt;&#xA;" OwnerUserId="6190" LastActivityDate="2012-03-26T17:28:31.730" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10850" PostTypeId="1" CreationDate="2012-03-26T18:05:53.147" Score="1" ViewCount="599" Body="&lt;p&gt;It took me a while to figure out that a &quot;symmetric channel&quot; does not mean a channel with a symmetric channel matrix. (Rather, &quot;symmetric channel&quot; means that the rows of the matrix are all permutations of each other, and so are the columns.) This is obvious in hindsight because an arbitrary channel can have a different number of input symbols and output symbols, in which case the matrix isn't square and so can't possibly be symmetric.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a word for a channel with a symmetric channel matrix (implying it has the same number of input symbols and output symbols)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does this property simplify the computation of channel capacity at all?&lt;/p&gt;&#xA;" OwnerUserId="6281" LastActivityDate="2012-03-26T18:05:53.147" Title="Information channel with symmetric channel matrix" Tags="&lt;it.information-theory&gt;&lt;shannon-entropy&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10851" PostTypeId="1" CreationDate="2012-03-16T02:37:45.260" Score="6" ViewCount="452" Body="&lt;p&gt;My problem:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Dissect a grid polygon into rectangles. (A &lt;em&gt;grid polygon&lt;/em&gt; is a &lt;a href=&quot;http://en.wikipedia.org/wiki/Rectilinear_polygon&quot; rel=&quot;nofollow&quot;&gt;rectilinear polygon&lt;/a&gt; all of whose vertices have integer coordinates.)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The rectangles must be taken from a predefined set (which includes a 1×1 rectangle, so the dissection is always possible).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Each rectangle has a cost which is not directly proportional to its size (a 2×3 rectangle may cost less 'per grid square covered' than a 1×1 rectangle).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;No gaps or overlaps are allowed.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The optimal solution is the cheapest that covers the area.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;My first thoughts were to work out the cheapest 'per square covered' rectangle and fit as many of those into the area as possible, but it seems that might perform poorly if it means filling a lot of spaces with small, expensive pieces.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I realise this is likely NP-hard, so I am probably looking for a heuristic rather than an algorithm. It seems in some ways similar to a bin-packing problem or a knapsack problem, but I can't see how to extend the solutions to these problems. I may just be lacking the right terminology, so if anyone could point me in the right direction to get started, I'd be grateful.&lt;/p&gt;&#xA;" OwnerUserId="8883" OwnerDisplayName="Kallikantzaros" LastEditorUserId="186" LastEditDate="2012-03-27T21:45:51.200" LastActivityDate="2012-03-27T21:45:51.200" Title="Cheapest dissection of a grid polygon into rectangles with cost" Tags="&lt;ds.algorithms&gt;&lt;cg.comp-geom&gt;&lt;heuristics&gt;" AnswerCount="0" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="10853" PostTypeId="1" AcceptedAnswerId="10979" CreationDate="2012-03-26T20:33:44.520" Score="20" ViewCount="633" Body="&lt;p&gt;The following interesting problem came up in my research recently:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;INSTANCE: Graph $G(V, E)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;SOLUTION: A chordless odd-cycle completion, defined as a superset $E&amp;#39;$ of the edge set $E$ so that the completed graph $G&amp;#39;(V, E&amp;#39;)$ has the property that every edge in $G&amp;#39;$ is contained in a chordless odd cycle.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;MEASURE: The size of the completion, i.e., $|E&amp;#39; - E|$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So far, &lt;a href=&quot;http://qosip.tmit.bme.hu/~retvari/publications/infocom2011.pdf&quot;&gt;we were able to prove&lt;/a&gt; that a modified version of this problem is NP-complete, where instead of requiring that &quot;every edge in $G&amp;#39;$ is contained in a chordless odd cycle&quot; we require the stronger property that &quot;every edge is contained in a triangle (cycle of length 3)&quot;. (Note that this is not equivalent with the &lt;a href=&quot;http://www.nada.kth.se/~viggo/wwwcompendium/node51.html&quot;&gt;MINIMUM CHORDAL GRAPH COMPLETION problem&lt;/a&gt;.) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The former is easily seen to be a generalization of the latter, but this far all my efforts to prove it failed. Could anyone come up with a pointer/reference/etc.?&lt;/p&gt;&#xA;" OwnerUserId="6707" LastEditorUserId="186" LastEditDate="2012-03-26T22:58:56.327" LastActivityDate="2012-04-04T16:19:01.653" Title="Minimum chordless odd-cycle graph completion: is it NP-hard?" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;graph-theory&gt;&lt;np-hardness&gt;" AnswerCount="1" CommentCount="15" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="10856" PostTypeId="2" ParentId="10829" CreationDate="2012-03-26T22:01:22.860" Score="28" Body="&lt;p&gt;This is really a stubborn -- and well-studied -- problem. Regarding positive results, an exact algorithm by Kameda and Weiner, a heuristic approach by Polák, and a recent approach using SAT solvers by Geldenhuys et al. come to mind. But there seem to be far more negative results ruling out other possible approaches (e.g. approximation algorithms, special cases, less powerful models of NFAs, ...) See below for some references.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;T. Kameda and P. Weiner. On the state minimization of nondeterministic finite automata. IEEE Transactions on Computers, C-19(7):617–627, 1970.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A. Malcher. Minimizing finite automata is computationally hard. Theoretical Computer Science 327:375-390, 2004.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;L. Polák. Minimalizations of NFA using the universal automaton. International Journal of Foundations of Computer Science, 16(5):999–1010, 2005.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;G. Gramlich and G. Schnitger. &lt;a href=&quot;http://ggramlich.github.com/Publications/approximationSTACS05.pdf&quot;&gt;Minimizing NFAs and Regular Expressions.&lt;/a&gt; Symposium on Theoretical Aspects of Computer Science (STACS 2005), LNCS 3404, pp. 399–411. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;H. Gruber and M. Holzer. &lt;a href=&quot;http://www.hermann-gruber.com/data/dlt07-final.pdf&quot;&gt;Inapproximability of nondeterministic state&#xA;and transition complexity assuming P &amp;lt;&gt; NP.&lt;/a&gt; Developments in Language Theory (DLT 2007), LNCS 4588, pp. 205–216.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;H. Gruber and M. Holzer. &lt;a href=&quot;http://www.hermann-gruber.com/data/lata07-final.pdf&quot;&gt;Computational complexity of NFA minimization for finite and unary languages.&lt;/a&gt; Language and Automata Theory and Applications (LATA 2007), pp. 261–272.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;H. Björklund and W. Martens. &lt;a href=&quot;http://www8.cs.umu.se/~henrikb/papers/icalp08.pdf&quot;&gt;The tractability frontier for NFA minimization.&lt;/a&gt; International Colloquium on Automata, Languages and Programming (ICALP 2008), LNCS 5126, pp. 27–38.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;J. Geldenhuys, B. van der Merwe, L. van Zijl: &lt;a href=&quot;http://www.cs.sun.ac.za/~jaco/wiki/lib/exe/fetch.php?media=research:gvdmvz09.pdf&quot;&gt;Reducing Nondeterministic Finite Automata with SAT Solvers.&lt;/a&gt; Finite-State Methods and Natural Language Processing (FSMNLP 2009), LNCS 6062, 81–92.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT (June 8, 2015)&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Update: The following paper presents a heuristic algorithm for reducing the size of nondeterministic Büchi automata, along with experiments on random automata. As they state in the conclusion, their method applies to NFAs as well: &quot;While we presented our methods in the context of Büchi automata, most of them trivially carry over to the simpler case of automata over finite words.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Richard Mayr, Lorenzo Clemente. &lt;a href=&quot;http://www.inf.ed.ac.uk/publications/report/1414.html&quot;&gt;Advanced Automata Minimization.&lt;/a&gt; POPL 2013. Extended Technical Report EDI-INF-RR-1414.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Their command-line tool &lt;a href=&quot;http://languageinclusion.org/doku.php?id=tools&quot;&gt;Reduce v1.2&lt;/a&gt; can be invoked with the option &quot;-finite&quot; for reducing a given NFA. The implementation is open source and released under the GNU General Public License. &lt;/p&gt;&#xA;" OwnerUserId="2367" LastEditorUserId="2367" LastEditDate="2015-06-08T20:36:42.333" LastActivityDate="2015-06-08T20:36:42.333" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="10857" PostTypeId="2" ParentId="10819" CreationDate="2012-03-27T02:37:54.860" Score="4" Body="&lt;p&gt;Why shouldn't you be able to send the empty string? Shouldn't it be considered a valid message?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But if you don't allow the empty string as a message, then your modified protocol will work fine, and will save you on average a small fraction of a bit per message. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is this tweak worth putting into your implementation so as to improve the performance? Let's work out how much it saves you. Suppose you're using a binary alphabet, and your average message is around 100 bits in length. You then want the termination symbol to have probability 1/100. By not allowing the possibility of the termination symbol being the first bit, you save on the order of 1/100 bits&lt;sup&gt;*&lt;/sup&gt; per message. If you assume a compression ratio of 2, the total improvement in performance is 0.02%. Since 100 bits is a smaller average message length than I expect you would see anywhere, the actual performance improvement would probably be even smaller. I thus suspect that this variant would not actually be used in practice.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;sup&gt;*&lt;/sup&gt; 1/100 nats, or 0.014 bits, to be more precise.&lt;/p&gt;&#xA;" OwnerUserId="1677" LastEditorUserId="1677" LastEditDate="2012-04-04T00:20:13.020" LastActivityDate="2012-04-04T00:20:13.020" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="10862" PostTypeId="1" CreationDate="2012-03-27T17:32:05.200" Score="2" ViewCount="84" Body="&lt;p&gt;I am not much in the field of databases. But the problem I m facing is the following: given a database $D$, we receive a batch of distinct queries $Q = \{q_1, ..., q _k\}$, where each $q_i$ is a distinct key. We are looking for the value of each key (that is, $v(q _i)$. Noticing that, a set of keys $Q&amp;#39; \subset Q$ &lt;em&gt;may&lt;/em&gt; have the same corresponding value [that is, for each $q _i, q _j \in Q' \subset Q, v(q _i) = v (q _j)$].&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;What is the minimum time complexity to search for the values of all keys in $Q$?&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Can it be less then searching individually and sequentially for each $q \in Q$?&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;N.B: I noticed most research in this field considered &lt;em&gt;sequential files&lt;/em&gt;. But what would the answer be if the files was indexed using hash table or B+-tree ? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Example: the database D can be a Domain Name Server .. the queries may be any number of url's ? url's are the keys and the value are the IP addresses .. Some URL's may have the same value ... for instance, google.com and goolgle.com returns the same IP ... [hypothetically]  &lt;/p&gt;&#xA;" OwnerUserId="5411" LastEditorUserId="1037" LastEditDate="2012-03-29T21:02:13.873" LastActivityDate="2012-03-29T21:02:13.873" Title="Lower bounds on batched query search" Tags="&lt;lower-bounds&gt;&lt;time-complexity&gt;&lt;dc.parallel-comp&gt;&lt;db.databases&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10863" PostTypeId="1" CreationDate="2012-03-27T18:44:01.730" Score="6" ViewCount="371" Body="&lt;p&gt;I am interested in the complexity of the directed Steiner tree problem: Given a weighted digraph $D=(V,E)$, a root $r\in V$ of $D$, and a set of terminals $T\subseteq V$. The objective is to find a minimum cost arborescence of $D$ rooted at $r$, in which there is a path from $r$ to each node in $T$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is a polynomial time algorithm known if the input is restricted to digraphs whose underlying undirected graph is a series-parallel graph (or equivalently is a $K_4$-free graph or is a partial $2$-tree or has treewidth at most $2$)?&lt;/p&gt;&#xA;" OwnerUserId="8889" LastEditorUserId="186" LastEditDate="2012-03-27T21:44:54.150" LastActivityDate="2012-03-28T10:38:17.040" Title="Complexity of the directed Steiner tree problem on special graph classes" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;time-complexity&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10864" PostTypeId="2" ParentId="10862" CreationDate="2012-03-27T19:00:14.607" Score="6" Body="&lt;p&gt;It depends on how the query is implemented. If we are doing dictionary lookups and we stored the values using cuckoo hashing for example, then each lookup is $O(1)$ time, and doing the lookup in a batch can't possibly improve that run-time. (It takes that long just to list the values). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, if we use  a tree based data structure, we may be able to improve the run-time from the $k \cdot Q(n)$ time to perform $k$ queries that each individually take $Q(n)$ time. For example, if the keys are clustered closely together, and we use a finger-search tree. (See e.g. &lt;a href=&quot;http://www.cs.au.dk/~gerth/papers/finger05.pdf&quot;&gt;Brodal's chapter on finger search trees&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you are dealing with sequential files, then&#xA;&lt;a href=&quot;http://libres.uncg.edu/ir/uncg/f/P_Palvia_Expressions_1985.pdf&quot;&gt;Expressions for Batched Searching of Sequential and Hierarchical Files&lt;/a&gt; is a relevant reference.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you are concerned with the I/O cost of accessing an external database, then perhaps &lt;a href=&quot;http://www.cs.cmu.edu/afs/cs/project/pscico-guyb/realworld/www/slidesF10/buffertree.pdf&quot;&gt;the buffer tree&lt;/a&gt; is a more relevant reference.&lt;/p&gt;&#xA;" OwnerUserId="8078" LastActivityDate="2012-03-27T19:00:14.607" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10865" PostTypeId="2" ParentId="10863" CreationDate="2012-03-27T19:21:02.820" Score="2" Body="&lt;p&gt;&lt;strike&gt;&lt;a href=&quot;http://www.imsc.res.in/~vraman/pub/cfvs.pdf&quot; rel=&quot;nofollow&quot;&gt;This manuscript&lt;/a&gt; seems to prove exactly that.&lt;/strike&gt; (It doesn't; the complexity parameter is $|T|$, not the treewidth.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In general, most NP-hard optimisation problems have polynomial-time algorithms when the input is restricted to bounded-treewidth graphs. These algorithms use the rather well-known &lt;a href=&quot;http://en.wikipedia.org/wiki/Tree_decomposition&quot; rel=&quot;nofollow&quot;&gt;tree-decomposition&lt;/a&gt; machinery&lt;strike&gt;, which is also used in the linked paper&lt;/strike&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT: The undirected Steiner tree is, on the other hand, known to be fixed-parameter tractable with regards to parameter $w$ the treewidth of the underlying graph. My suggestion would be to try and adapt this algorithm to the directed case, which would in particular give a polynomial time algorithm for series-parallel graphs.&lt;/p&gt;&#xA;" OwnerUserId="290" LastEditorUserId="290" LastEditDate="2012-03-28T10:38:17.040" LastActivityDate="2012-03-28T10:38:17.040" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="10866" PostTypeId="1" CreationDate="2012-03-27T19:49:11.757" Score="-1" ViewCount="83" Body="&lt;p&gt;I am searching for an Implementation for Rabins Algorithm in any language. I've searched but haven't got it anywhere. does anybody have a link ?&lt;/p&gt;&#xA;" OwnerUserId="1652" LastActivityDate="2012-04-25T00:42:11.473" Title="Rabins Signature Implementation" Tags="&lt;ds.algorithms&gt;&lt;cr.crypto-security&gt;&lt;primes&gt;" AnswerCount="1" CommentCount="1" ClosedDate="2013-01-16T18:50:28.807" ContentLicense="CC BY-SA 3.0" />
  <row Id="10868" PostTypeId="2" ParentId="5928" CreationDate="2012-03-27T20:17:18.410" Score="8" Body="&lt;p&gt;Rob, I didn't know this was called the Tarskian Möglichkeit, but Martin Escardo and I have been studying this operator (A -&gt; B) -&gt; A, in the more general case when falsity is an arbitrary formula B, for the past few years, mainly in connection with computational interpretations of classical theorems. If we let B be fixed, then we define&lt;/p&gt;&#xA;&#xA;&lt;p&gt;J A = (A -&gt; B) -&gt; A&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is easy to show that this is a strong monad. We call it the &quot;selection monad&quot; or the &quot;Peirce monad&quot;, as J A -&gt; A is Peirce's law. In fact, the seemingly absurd theorem you mentioned in your post is the cornerstone for our work on interpreting ineffective principles such as the Tychonoff theorem, for instance. Have a look at some of our papers, e.g. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Martín Escardó and Paulo Oliva. Sequential games and optimal strategies. Proceedings of the Royal Society A, 467:1519-1545, 2011.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Martín Escardó Paulo Oliva, The Pierce translation. Annals of Pure and Applied Logic, 163(6):681-692, 2012.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Or others found on our webpages: &lt;a href=&quot;http://www.eecs.qmul.ac.uk/~pbo/&quot;&gt;http://www.eecs.qmul.ac.uk/~pbo/&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any paper which mentions &quot;selection functions&quot; or &quot;game&quot; is related to the operator you are asking about.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I must warn we have been studying this operator in the setting of intuitonistic (minimal) logic. But I find it very interesting that you are looking at this in the more refined (substructural) settings of linear logic and Lukasiewicz logic. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Best regards, Paulo.&lt;/p&gt;&#xA;" OwnerUserId="4071" LastActivityDate="2012-03-27T20:17:18.410" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10869" PostTypeId="1" CreationDate="2012-03-27T20:42:10.653" Score="7" ViewCount="230" Body="&lt;p&gt;We have known how to get a &lt;span class=&quot;math-container&quot;&gt;$2k$&lt;/span&gt; kernel for the Vertex Cover problem for thirty years, and it is not expected to be improved assuming UGC.&lt;/p&gt;&#xA;&lt;p&gt;My question is, can we do better for planar graphs? It is easy to identify lots of &amp;quot;tight&amp;quot; graphs: a graph has &lt;span class=&quot;math-container&quot;&gt;$(2k-1)$&lt;/span&gt; vertices and its minimum Vertex Cover has size &lt;span class=&quot;math-container&quot;&gt;$k$&lt;/span&gt;.  The only known bound is &lt;span class=&quot;math-container&quot;&gt;$1.33k$&lt;/span&gt; by Chen et al. [2007 SIAM J. COMPUT.]&lt;/p&gt;&#xA;" OwnerUserId="7059" LastEditorUserId="42498" LastEditDate="2020-10-14T09:33:05.877" LastActivityDate="2020-10-14T09:33:05.877" Title="Can we achieve a better kernel for the Vertex Cover problem on planar graphs?" Tags="&lt;ds.algorithms&gt;&lt;planar-graphs&gt;&lt;parameterized-complexity&gt;&lt;vertex-cover&gt;&lt;kernelization&gt;" AnswerCount="0" CommentCount="3" FavoriteCount="2" ContentLicense="CC BY-SA 4.0" />
  <row Id="10870" PostTypeId="1" AcceptedAnswerId="10884" CreationDate="2012-03-27T22:02:07.203" Score="34" ViewCount="1597" Body="&lt;p&gt;One usually thinks about approximating solutions (with guarantees) to NP-hard problems. Is there any research going on in approximating problems already known to be in P? This might be a good idea for several reasons. Off the top of my head, an approximation algorithm may run with a much lower complexity (or even a much smaller constant), might use less space or might be much better parallelizable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, schemes that provide time/accuracy tradeoffs (FPTAS's and PTAS's) might be very attractive for problems in P with lower bounds that are unacceptable on large inputs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Three questions: is there anything that I'm missing that makes this obviously a bad idea? Is there research going on in developing a theory of these algorithms? If not, at least, is anyone familiar with individual examples of such algorithms?&lt;/p&gt;&#xA;" OwnerUserId="7925" LastEditorUserId="186" LastEditDate="2012-03-30T17:05:50.387" LastActivityDate="2013-05-13T14:56:04.473" Title="Approximation algorithms for problems in P" Tags="&lt;ds.algorithms&gt;&lt;approximation-algorithms&gt;" AnswerCount="11" CommentCount="2" FavoriteCount="12" ContentLicense="CC BY-SA 3.0" />
  <row Id="10871" PostTypeId="2" ParentId="10870" CreationDate="2012-03-28T01:26:26.760" Score="11" Body="&lt;p&gt;I am not aware of a general theory being developed on approximation algorithms for problems in P. I know of a particular problem, though, that is called approximate distance oracles:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Given a weighted undirected graph $G = (V, E)$ with $n = |V|$ nodes and $m = |E|$ edges, a point-to-point query asks for the distance between two nodes $s, t \in V$. &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;There is a three-way trade-off between space, query time and approximation in the distance oracle problem. One can trivially answer each query exactly (approximation = $1$) in $O(1)$ time by storing the all-pair distance matrix; or in $O(m + n\log n)$ time by running a shortest path algorithm. For massive graphs, these two solutions may require prohibitively large space (to store the matrix) or query time (to run a shortest path algorithm). Hence, we allow approximation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For general graphs, the state-of-the-art is the &lt;a href=&quot;http://www.cs.tau.ac.il/~zwick/papers/oracle-JACM-revision.ps&quot;&gt;distance oracle of Thorup and Zwick&lt;/a&gt;, which for any given approximation $k$, requires optimal space. It also gives you a nice space-approximation trade-off.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For sparse graphs, a more general space-approximation-time trade-off can be &lt;a href=&quot;http://www.cs.illinois.edu/homes/agarwa16/pubs/ismp2012.pdf&quot;&gt;shown&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="7187" LastActivityDate="2012-03-28T01:26:26.760" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10872" PostTypeId="2" ParentId="10870" CreationDate="2012-03-28T02:18:19.253" Score="10" Body="&lt;p&gt;Fast approximation algorithms for maximum matching are known. Atleast one that that comes to my mind immediately is &lt;a href=&quot;http://arxiv.org/pdf/1112.0790v1.pdf&quot;&gt;http://arxiv.org/pdf/1112.0790v1.pdf&lt;/a&gt;. &lt;/p&gt;&#xA;" OwnerUserId="372" LastActivityDate="2012-03-28T02:18:19.253" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10873" PostTypeId="1" CreationDate="2012-03-28T03:03:59.213" Score="5" ViewCount="614" Body="&lt;p&gt;In &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.47.9957&quot; rel=&quot;nofollow&quot;&gt;Relational Databases: Tutorial for Statisticians&lt;/a&gt; Joe R. Hill casts probability view onto database theory. In Table 1 the author summarized the parallels between the two disciplines, describing relation structure together with three relational algebra operations in probabilistic terms.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I seek clarification on 2 items:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;What &lt;a href=&quot;http://en.wikipedia.org/wiki/Probability_distribution&quot; rel=&quot;nofollow&quot;&gt;probability distribution&lt;/a&gt; corresponds to empty relation? An intermediate step in Dr.Hill's paper is indicator function -- which is standard trick of thinking about relations in functional terms. My understanding is that the author generalizes {0,1} valued indicator function to probability distribution. There, the 1 valued tuples are assigned not vanishing discrete probabilities (assuming discrete domain), while all the tuples not belonging to relation inherit their 0 indicator function value as probability. My objection is that this would work for nonempty sets of tuples only.&lt;/li&gt;&#xA;&lt;li&gt;Missing from the parallels is Relational Algebra &lt;em&gt;union&lt;/em&gt; operation -- what probability concept is it analogous to? If we take average, then it would fail to honor associativity law.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Edit: Resolved confusion with &lt;em&gt;transformation constraint&lt;/em&gt;. Consider a relation &lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;x y&#xA;---&#xA;1 a&#xA;2 a&#xA;3 b&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;honoring FD &lt;code&gt;x-&amp;gt;y&lt;/code&gt;. One can match it with joint distribution like this&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;\ |  1   2   3  |&#xA;--+-------------+----&#xA;a | 1/4 1/4  0  | 1/2&#xA;b |  0   0  1/2 | 1/2&#xA;--+-------------+----&#xA;  | 1/4 1/4 1/2 |  1&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Still the analogy is weak: there is well known interpretation of Functional dependencies in terms of entropy.&lt;/p&gt;&#xA;" OwnerUserId="3213" LastEditorUserId="3213" LastEditDate="2012-04-11T14:49:27.490" LastActivityDate="2012-04-16T22:21:55.613" Title="Is analogy between database and probability concepts legitimate?" Tags="&lt;db.databases&gt;&lt;st.statistics&gt;" AnswerCount="2" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10875" PostTypeId="1" CreationDate="2012-03-28T03:25:55.113" Score="2" ViewCount="267" Body="&lt;p&gt;I recently ran into MaxSAT competitions website and was looking into the problem formulation. I vaguely remember reading somewhere that MinCostSAT and MaxSAT are related to each other and one can be reduced to another. I read here &lt;a href=&quot;http://repository.lib.ncsu.edu/ir/handle/1840.16/4594&quot; rel=&quot;nofollow&quot;&gt;http://repository.lib.ncsu.edu/ir/handle/1840.16/4594&lt;/a&gt; that the MaxSAT to MinCostSAT reduction is to use a slack variable for each clause in the MaxSAT and giving it the value of 1 and all other boolean variables 0 reduces the problem to MinCostSAT. Can some one please tell me how does this work? How does it make the MaxSAT instance the instance of MinCostSAT?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, what is the reduction from MinCostSAT to MaxSAT or may be even weighted MaxSAT, especially considering the fact that I have a problem to which I know the cost of assignments and want to minimize this cost and if I have the off the shelf solvers available like the ones that have won MaxSAT competitions, how do I go about reducing my MinCostSAT problem to MaxSAT?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;P.S. I hope this won't be rejected as an implementation level question since my question is really about reduction. I can think about implementing it, if I know the reduction at least.&lt;/p&gt;&#xA;" OwnerUserId="7572" LastEditorUserId="186" LastEditDate="2012-04-27T22:09:09.330" LastActivityDate="2012-09-24T23:08:41.510" Title="Reduction/transformation from MinCostSat to MaxSat" Tags="&lt;cc.complexity-theory&gt;&lt;sat&gt;&lt;reductions&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10876" PostTypeId="1" CreationDate="2012-03-28T05:15:29.140" Score="13" ViewCount="309" Body="&lt;p&gt;Has anyone formalized the relationship between shift-reduce parsing techniques and delimited continuations? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;When constructing a bottom-up parser (eg, LR parsers), we take a grammar and then represent parse states as sets of &lt;em&gt;items&lt;/em&gt;: augmented productions of the form $A \to \alpha \bullet \beta$, where $\alpha$ and $\beta$ are sequences of terminals and nonterminals. The marker $\bullet$ represents how far the parser has gotten into the string, with $\alpha$ representing what has been seen so far, and $\beta$ representing a prediction of what yet may be parsed. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A shift action in a transition of the LR parse automaton matches a prefix of the stack against $\alpha$, and replace it with $A$. Such a deep manipulation of the stack resembles the effect of a control operator, but this is just a qualititative observation. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Has anyone studied the connection between shift-reduce parsing and delimited control operators such as shift/reset?&lt;/p&gt;&#xA;" OwnerUserId="657" LastActivityDate="2014-03-22T22:10:40.890" Title="Relationship between shift-reduce parsing and delimited continuations?" Tags="&lt;pl.programming-languages&gt;&lt;parsing&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="10878" PostTypeId="1" CreationDate="2012-03-28T08:54:05.823" Score="3" ViewCount="138" Body="&lt;p&gt;Any reference is appreciated.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are $n$ jobs and $m$ machines, machines has speeds and jobs have processing times. It takes $p_j/s_i$ units of time for machine $i$ with speed $s_i$ to process job $j$ with processing requirement $p_j$. The objective is to find a non-preemptive schedule to minimize the makespan of the schedule.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Chandra Chekuri and Michael Bender studied it under constraint: &quot;precedence constraints between jobs are given in the form of a partial order&quot; at &lt;a href=&quot;http://www.cs.sunysb.edu/~bender/pub/jalg-uniformly.ps&quot; rel=&quot;nofollow&quot;&gt;CB&lt;/a&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am looking for reference of the problem without precedence constraints. Shmoys, Wein, and Williamson &lt;a href=&quot;http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=185361&amp;amp;tag=1&quot; rel=&quot;nofollow&quot;&gt;SWH&lt;/a&gt; showed a 2-approximation algorithm. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there any other result? &lt;/p&gt;&#xA;" OwnerUserId="6108" LastEditorUserId="-1" LastEditDate="2012-11-11T05:54:08.660" LastActivityDate="2012-11-11T05:54:08.660" Title="minimizing makespan for related machines" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;approximation-algorithms&gt;&lt;scheduling&gt;" AnswerCount="0" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="10879" PostTypeId="2" ParentId="10870" CreationDate="2012-03-28T13:46:05.667" Score="15" Body="&lt;p&gt;Non-exhaustive list of recent papers that find approximate solutions for problems in $P$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) There is a great amount of work on approximate solutions for linear equations (symmetric diagonally dominant) in nearly linear time $\mathcal{O}(n\cdot\text{polylog}(n))$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(list of papers) &lt;a href=&quot;http://cs-www.cs.yale.edu/homes/spielman/precon/precon.html&quot; rel=&quot;nofollow&quot;&gt;http://cs-www.cs.yale.edu/homes/spielman/precon/precon.html&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(In general most iterative solvers for linear equations share the principle of $\epsilon$-approximating the true solution. The same goes for iterative methods that solve more general problems (e.g., some convex/linear programs)).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) Approximate solutions to min/max $s-t$ cuts/flows&#xA;&lt;a href=&quot;http://people.csail.mit.edu/madry/docs/maxflow.pdf&quot; rel=&quot;nofollow&quot;&gt;http://people.csail.mit.edu/madry/docs/maxflow.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;3) Finding a sparse approximation of the Fourier transform of a signal in sublinear time &lt;a href=&quot;http://arxiv.org/pdf/1201.2501v1.pdf&quot; rel=&quot;nofollow&quot;&gt;http://arxiv.org/pdf/1201.2501v1.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;4) Finding the approximate principal component of a matrix &lt;a href=&quot;http://www.stanford.edu/~montanar/RESEARCH/FILEPAP/GossipPCA.pdf&quot; rel=&quot;nofollow&quot;&gt;http://www.stanford.edu/~montanar/RESEARCH/FILEPAP/GossipPCA.pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="6963" LastEditorUserId="6963" LastEditDate="2012-03-31T19:27:47.243" LastActivityDate="2012-03-31T19:27:47.243" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10880" PostTypeId="2" ParentId="10820" CreationDate="2012-03-28T15:09:43.530" Score="0" Body="&lt;p&gt;another book by stasys jukna[1] who was cited in the other answer has some key &quot;applications&quot;. as always applications can be subjective, but in TCS a key application many would agree on is complexity class separations. there are about 30 references to ramsey graphs in this book as counted by a pdf search.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;jukna makes the case that ramsey theory is about large structures guaranteed to contain some kind of &quot;feature&quot; and these can be shown to exist by shannon-style or shannon-reminiscent counting arguments, but building &lt;em&gt;explicit&lt;/em&gt; constructions is very difficult and rarely accomplished in the literature. this is apparently highly analogous, possibly even directly linked, to the inability to explicitly construct complex circuits even though they are known to exist. construction of such circuits is key in complexity class separations. this is further emphasized by constructions in juknas book that directly tie graph complexity to complexity class separations (although so far not directly through ramsey graphs).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;therefore this (same?/crosscutting?) phenomenon seems to be something like the &quot;dark matter&quot; of computer science. it is known to be there, it can be indirectly measured, but cannot be directly exhibited so to speak, and it is yet mysterious. jukna implies ramsey type thms or constructions could possibly be a bridge-type thm for complexity class separations (see sec 1.7).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;see also sec 1.5, &quot;where are all the complex functions&quot;? however it is not so straightfwd, in constrast see also sec 11.7 where he uses ramsey graphs to show how &quot;combinatorially complicated&quot; graphs eg ramsey graphs are not nec &quot;computationally complicated&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] Boolean function complexity, Advances and Frontiers by Stasys Jukna, 2011&lt;/p&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2012-03-28T15:09:43.530" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10881" PostTypeId="1" CreationDate="2012-03-28T15:17:46.423" Score="16" ViewCount="366" Body="&lt;p&gt;I have a small, self-contained, math question, whose motivation is from theoretical computer science (specifically, list decoding of algebraic codes, derivative/multiplicity codes, etc).&#xA;I wonder whether someone might have an idea.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm looking for an operator T that can be applied to m-variate polynomials over a finite field.&#xA;When applied to a polynomial, the operator should yield a polynomial of not much higher degree. The operator should satisfy the following property:&#xA;for every m-variate polynomial $F$, and m univariate non-constant polynomials $g_1,...,g_m$, if you know $g_1,...,g_m$ and $F(g_1(t),...,g_m(t))$ for a parameter t, then you can also compute $TF(g_1(t),...,g_m(t))$. The operator should be non-trivial, in the sense that for a fixing $x_1,..,x_m$, the value $F(x_1,...,x_m)$ does not determine the value of $TF(x_1,...,x_m)$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For $m=1$, the derivative operator gives exactly that:&#xA;By the chain rule&#xA;$(F(g(t)))&amp;#39; = F&amp;#39;(g(t))\cdot g&amp;#39;(t)$, which implies that&#xA;$F&amp;#39;(g(t)) = (F(g(t)))&amp;#39;/g&amp;#39;(t)$.&#xA;My question is whether there is an operator that works for general m.&lt;/p&gt;&#xA;" OwnerUserId="1621" LastEditorUserId="-1" LastEditDate="2012-11-11T05:54:14.120" LastActivityDate="2012-11-11T05:54:14.120" Title="Looking for an operator on polynomials" Tags="&lt;it.information-theory&gt;&lt;coding-theory&gt;&lt;algebra&gt;&lt;polynomials&gt;" AnswerCount="0" CommentCount="8" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="10882" PostTypeId="2" ParentId="5181" CreationDate="2012-03-28T16:11:30.990" Score="2" Body="&lt;p&gt;This recent survey paper lists the application of MCTS to a number of search and optimisation problems other than games, in Section 7.8: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://pubs.doc.ic.ac.uk/survey-mcts-methods/survey-mcts-methods.pdf&quot; rel=&quot;nofollow&quot;&gt;http://pubs.doc.ic.ac.uk/survey-mcts-methods/survey-mcts-methods.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=6145622&quot; rel=&quot;nofollow&quot;&gt;http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=6145622&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As for domains that are totally resistant to bandit-based methods, I'm not aware of any off-hand. Chess is one glaring omission from the MCTS literature, possibly due to &quot;trap states&quot; that hurt the search, but also possibly due to the fact that computer Chess players are just so highly optimised and good these days that any new approach is unlikely to make a dent on them.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Regards,&#xA;Cameron&lt;/p&gt;&#xA;" OwnerUserId="8899" LastActivityDate="2012-03-28T16:11:30.990" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10883" PostTypeId="2" ParentId="5181" CreationDate="2012-03-28T16:14:43.297" Score="3" Body="&lt;p&gt;As for the question of what characteristics make a problem amenable to bandit-based approaches, this paper describes the behaviour of UCT in various search spaces:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.cs.cornell.edu/~raghu/Raghuram_Ramanujan_files/mcts11.pdf&quot; rel=&quot;nofollow&quot;&gt;http://www.cs.cornell.edu/~raghu/Raghuram_Ramanujan_files/mcts11.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Regards,&#xA;Cameron&lt;/p&gt;&#xA;" OwnerUserId="8899" LastActivityDate="2012-03-28T16:14:43.297" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10884" PostTypeId="2" ParentId="10870" CreationDate="2012-03-28T17:35:17.657" Score="20" Body="&lt;p&gt;As Jukka points out, computational geometry is a rich source of problems that can be solved in polynomial time, but we wish to get fast approximations. The classic &quot;ideal&quot; result is an &quot;LTAS&quot; (linear time approximation scheme) whose running time would be of the form $O(n + \text{poly}(1/\epsilon))$ - usually these are obtained by extracting a constant (poly($1/\epsilon$)) sized kernel from the data, and running an expensive algorithm on that kernel, with a guarantee that an exact solution on the kernel is an approximate solution on the entire input. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are a number of tricks, reductions and principles, and &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0821849115&quot;&gt;Sariel Har-Peled's new book&lt;/a&gt; is full of these. I don't think there's a rich complexity theory as such. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2012-03-28T17:35:17.657" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10886" PostTypeId="2" ParentId="10870" CreationDate="2012-03-28T18:51:36.790" Score="11" Body="&lt;p&gt;We often seek approximate solutions to simple problems like finding shortest path in a graph, finding number of unique elements in a set. The constraint here is that the input is large and we want to solve the problem approximately using a single pass over the data. There are several &quot;streaming&quot; algorithms designed to achieve approximate solutions in linear/near-linear time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One problem I worked on, is &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=1777889&quot;&gt;approximating betweenness centrality&lt;/a&gt;. This can be solved in $O(nm)$ time on graphs with $n$ vertices and $m$ edges. A linear time algorithm giving a constant factor approximation to betweenness centrality is of very practical importance.&lt;/p&gt;&#xA;" OwnerUserId="344" LastEditorUserId="5693" LastEditDate="2012-03-28T19:38:08.047" LastActivityDate="2012-03-28T19:38:08.047" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10888" PostTypeId="2" ParentId="10875" CreationDate="2012-03-28T20:22:01.370" Score="1" Body="&lt;p&gt;First thing to realize is that minimization can be rephrased as maximization of the negated literal (and vice a versa). So minimizing $x+y$ is the same as  maximizing $\lnot x + \lnot y$. So to get a &lt;strong&gt;partial&lt;/strong&gt; maxsat problem you just add the unit clauses $\lnot x$, $\lnot y$ as soft clauses and the original clauses as hard. (partial MaxSAT is crucial here, weighted partial MaxSAT is needed if you have  coefficients in the minimization function)&lt;/p&gt;&#xA;" OwnerUserId="4506" LastActivityDate="2012-03-28T20:22:01.370" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="10890" PostTypeId="2" ParentId="10873" CreationDate="2012-03-29T10:30:27.983" Score="6" Body="&lt;p&gt;I would expect that the empty relation corresponds to the always-zero probability distribution.  &lt;em&gt;Disjoint union&lt;/em&gt; corresponds to addition of probability distributions.  However, standard union would be more complicated.  I don't really know if there is some way to encode the standard union for probability distributions.  (I have heard people say that probability distributions form a boolean algebra.  So there must be some operation that serves as the union.)&lt;/p&gt;&#xA;" OwnerUserId="8519" LastEditorUserId="8519" LastEditDate="2012-03-30T09:59:16.677" LastActivityDate="2012-03-30T09:59:16.677" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="10893" PostTypeId="2" ParentId="10870" CreationDate="2012-03-29T16:07:50.230" Score="9" Body="&lt;p&gt;Another reason that we will sometimes look for approximation algorithms for problems in $P$ is because there is some other (non-computational) constraint on our algorithm that precludes an exact solution. One example of such a constraint is &lt;a href=&quot;http://en.wikipedia.org/wiki/Differential_privacy&quot;&gt;differential privacy&lt;/a&gt;: differentially private algorithms will necessarily return only approximate solutions. So in recent years, there has been effort to design approximation algorithms for problems that are otherwise easy to solve exactly: e.g. min-cut, low-rank matrix approximation, computing simple summations, etc. Some of these also happen to run more quickly than the exact solution would, but others have running time that is &lt;em&gt;much&lt;/em&gt; slower than a non-private exact solution. &lt;/p&gt;&#xA;" OwnerUserId="25" LastEditorUserId="5693" LastEditDate="2012-03-29T18:04:08.687" LastActivityDate="2012-03-29T18:04:08.687" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10894" PostTypeId="1" AcceptedAnswerId="10956" CreationDate="2012-03-29T18:20:44.857" Score="8" ViewCount="1017" Body="&lt;p&gt;There are easy algorithms to calculate the upper envelope of an arrangement of lines in the plane. See e.g. section 2.3 in the survey&#xA;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.126.6346&amp;amp;rep=rep1&amp;amp;type=pdf&quot;&gt;Davenport-Schinzel sequences and their geometric applications&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there any known algorithms / data structures for the dynamic version of the same problem? That is, we want to maintain the upper envelope of a set of lines in the plane under the following operations:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;insert$(\ell$): adds line $\ell$ to the set&lt;/li&gt;&#xA;&lt;li&gt;delete$(\ell)$: removes line $\ell$ from the set&lt;/li&gt;&#xA;&lt;li&gt;query$(x)$: return the line with $x$ coordinate in the upper envelope. In other words, return the line in the set which is first hit by a vertical downward ray from the point $(x, \infty)$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="8078" LastActivityDate="2012-04-03T19:33:30.443" Title="Dynamic Upper Envelope of lines in the plane" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;ds.data-structures&gt;&lt;cg.comp-geom&gt;" AnswerCount="2" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10895" PostTypeId="2" ParentId="10894" CreationDate="2012-03-29T19:17:05.813" Score="5" Body="&lt;p&gt;&quot;someone&quot; is right.  Timothy Chan's paper &quot;Dynamic Planar Convex Hull Operations in&#xA;Near-Logarithmic Amortized Time&quot; appears to solve the problem with insertions/deletions taking $O(\log ^{1+\epsilon}n)$ &lt;strong&gt;amortized&lt;/strong&gt; time, and queries taking $O(\log n)$ time.  He solves your problem which is dual to the convex hull problem.&lt;/p&gt;&#xA;" OwnerUserId="196" LastActivityDate="2012-03-29T19:17:05.813" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10896" PostTypeId="1" CreationDate="2012-03-29T22:38:47.993" Score="1" ViewCount="687" Body="&lt;p&gt;Does anyone know what the eigenvalue decomposition of a general n x n complex matrix is? By complexity I mean the number of multiplication operations. I know from another question posted on this site that it is in the &quot;order&quot; of n^3 but I need to know how much is it exactly or at least the coefficient of this n^3.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also I'd appreciate it if this complexity is for the fastest known algorithm as well if possible.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks.&lt;/p&gt;&#xA;" OwnerUserId="8917" LastActivityDate="2012-03-29T22:38:47.993" Title="&quot;Exact&quot; (not just the order) computational complexity of eigenvalue decomposition" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;time-complexity&gt;" AnswerCount="0" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="10898" PostTypeId="2" ParentId="10870" CreationDate="2012-03-30T03:09:19.030" Score="8" Body="&lt;p&gt;I think that the entire area of data streaming and sub-linear algorithms is an effort in this direction. In data streaming, the focus is on solving the problems in o(n) and ideally O(polylog(n)) space whereas in sub-linear algorithms you try to get algorithms with o(n) running time. In both cases, one often needs to compromise with having randomized approximation algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can start with the material on &lt;a href=&quot;http://stellar.mit.edu/S/course/6/fa10/6.896/materials.html&quot;&gt;this page&lt;/a&gt; and &lt;a href=&quot;http://www.cs.tau.ac.il/~ronitt/COURSES/F09course/index.html&quot;&gt;this&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="7567" LastActivityDate="2012-03-30T03:09:19.030" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10899" PostTypeId="2" ParentId="189" CreationDate="2012-03-30T03:30:01.017" Score="2" Body="&lt;p&gt;I think that &lt;a href=&quot;http://www.cse.iitk.ac.in/users/manindra/CS681/2005/Lecture17.pdf&quot; rel=&quot;nofollow&quot;&gt;Hensel Lifting&lt;/a&gt; is pretty nifty too, and it has many applications in algorithmic number theory and algebra.&lt;/p&gt;&#xA;" OwnerUserId="7567" LastActivityDate="2012-03-30T03:30:01.017" CommentCount="0" CommunityOwnedDate="2012-03-30T03:30:01.017" ContentLicense="CC BY-SA 3.0" />
  <row Id="10900" PostTypeId="1" CreationDate="2012-03-30T03:54:46.163" Score="1" ViewCount="93" Body="&lt;p&gt;Is there a belief propagation algorithm for exact inference on a MRF with complex clique structures (i.e. ones involving more than 2 neighbours)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For MRF's with cliques that only involve pairwise interaction, you could just search out far enough and cluster to form an acyclic graph and run the usual BP. With more complex cliques, this seems impossible to me as clustering might involve cutting through a clique with multiple members on either side. Is there a workaround for this? Perhaps some clever conditioning arguments?&lt;/p&gt;&#xA;" OwnerUserId="8918" LastActivityDate="2012-03-30T03:54:46.163" Title="Belief Propagation on MRF with complex cliques" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;machine-learning&gt;&lt;markov-chains&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10901" PostTypeId="1" AcceptedAnswerId="10904" CreationDate="2012-03-30T04:51:55.030" Score="13" ViewCount="1588" Body="&lt;p&gt;Is it known whether the &lt;a href=&quot;http://en.wikipedia.org/wiki/Feedback_vertex_set&quot;&gt;feedback vertex set&lt;/a&gt; problem on undirected planar graphs of bounded degree is $\mathsf{NP}$-hard?&lt;/p&gt;&#xA;" OwnerUserId="8919" LastEditorUserId="186" LastEditDate="2012-03-30T17:05:14.770" LastActivityDate="2013-02-26T10:55:22.103" Title="Is the feedback vertex set problem on planar bounded degree graphs hard?" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;graph-algorithms&gt;&lt;np-hardness&gt;" AnswerCount="4" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10902" PostTypeId="1" CreationDate="2012-03-30T05:35:21.687" Score="0" ViewCount="392" Body="&lt;p&gt;Let $a$ be a vector in $R^m$, such that $\sum_{i=1}^ma_i=0$&#xA;I would like to bound $\sqrt{2m(2m-1)}\|a\|_{\infty}$ by $\sqrt{2m}\|a\|_2$ (or other way arround with the sharp constants), in the case when  vector $a$ is compressible and when vector $a$ is incompressible:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Here is definitions of the compressible and incompressible vectors I use:&#xA;If we consider $R^{\sigma^c}=\mathsf{span}\{e_i: i\in\sigma^c\}$, $\sigma\subset\{1,...,m\}$, $|\sigma^c|=M$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$x \in \mathsf{Comp}(M, \rho)$ iff there exists $\sigma$ with $|\sigma^c|\leq M$, s.t. projection $|P_{\sigma}x|\leq \rho$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$x \in \mathsf{Incomp}(M, \rho)$ iff for any $\sigma$ with $|\sigma^c|\leq M$, s.t. projection $|P_{\sigma}x|&amp;gt; \rho$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I wanted somehow to control $l_{\infty}$ norm. I guess I can do it only with incompressible vectors. But what can we say about compressible vestors?)&lt;/p&gt;&#xA;" OwnerUserId="8920" LastEditorUserId="-1" LastEditDate="2012-11-17T07:44:30.483" LastActivityDate="2012-11-17T07:44:30.483" Title="norms of compressible and incompressible vector" Tags="&lt;linear-algebra&gt;&lt;it.information-theory&gt;&lt;compressed-sensing&gt;" AnswerCount="0" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="10903" PostTypeId="1" CreationDate="2012-03-30T05:45:33.267" Score="7" ViewCount="858" Body="&lt;p&gt;Inspired by this question:&#xA;&lt;a href=&quot;https://cstheory.stackexchange.com/questions/2674/information-theory-used-to-prove-neat-combinatorial-statements&quot;&gt;Information Theory used to prove neat combinatorial statements?&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there any nice applications of theoretical computer science in information theory (the other way has nice applications such as use of coding theory/Kolmogorov complexity in TCS)&lt;/p&gt;&#xA;" OwnerUserId="5511" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2012-03-30T10:54:09.800" Title="Applications of Theoretical Computer Science in Information Theory" Tags="&lt;cc.complexity-theory&gt;&lt;it.information-theory&gt;&lt;application-of-theory&gt;" AnswerCount="0" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10904" PostTypeId="2" ParentId="10901" CreationDate="2012-03-30T08:15:14.477" Score="16" Body="&lt;p&gt;According to Garey and Johnson's book Vertex Cover is NP-complete on planar graphs of maximum degree four. Using a simple reduction from Vertex Cover to Feedback Vertex Set should give maximum degree eight and preserve planarity.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;VC to FVS: Replace each edge by a triangle (or a double edge).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One note:&#xA;Garey and Johnson also state that directed FVS is NP-complete on planar digraphs with no in- or out-degree exceeding two. They do not specifically mention undirected FVS under such restrictions.&lt;/p&gt;&#xA;" OwnerUserId="5063" LastActivityDate="2012-03-30T08:15:14.477" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10905" PostTypeId="1" AcceptedAnswerId="10907" CreationDate="2012-03-30T08:24:44.573" Score="25" ViewCount="522" Body="&lt;p&gt;This question arises out of pure curiosity (it came up while thinking about &lt;a href=&quot;https://cstheory.stackexchange.com/q/34/2241&quot;&gt;unshuffling a string&lt;/a&gt;, but I'm not sure if it's actually related) so I hope it's appropriate.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are various graph products, and I'm interested in any of them here. What is the complexity of determining whether a graph $K$ is isomorphic to a non-trivial product? (Certainly for the Cartesian product, $K = K \square 1$ where $1$ is the graph with one vertex.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I've looked at the pages &quot;factor graph&quot; and &quot;graph factorization&quot; on Wikipedia, but neither seem to be related. Is this problem known under another name?&lt;/p&gt;&#xA;" OwnerUserId="2241" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2012-04-03T11:44:34.257" Title="Complexity of &quot;is a graph a product&quot;" Tags="&lt;cc.complexity-theory&gt;&lt;graph-algorithms&gt;" AnswerCount="3" CommentCount="0" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="10906" PostTypeId="1" CreationDate="2012-03-30T08:55:43.613" Score="-5" ViewCount="989" Body="&lt;p&gt;Is there a polynomial algorithm to solve TSP (or Ham Cycle) on an m by n solid grid graph whose points are at unit distance apart? I've heard about Umans and Lenhart research paper but reading such paper is beyond my capability.&lt;/p&gt;&#xA;" OwnerUserId="8924" LastEditorUserId="186" LastEditDate="2012-04-03T22:22:43.040" LastActivityDate="2012-04-03T22:22:43.040" Title="Polynomial time algorithm to solve the TSP on an m by n solid grid" Tags="&lt;ds.algorithms&gt;&lt;graph-algorithms&gt;" AnswerCount="1" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="10907" PostTypeId="2" ParentId="10905" CreationDate="2012-03-30T10:51:03.693" Score="20" Body="&lt;p&gt;Check the paper Wilfried, Imrich; Iztok, Peterin, &lt;a href=&quot;http://dx.doi.org/10.1016/j.disc.2005.09.038&quot;&gt;Recognizing Cartesian products in linear time&lt;/a&gt;. Discrete Math., 307, 3-5, Page(s): 472--483, 2007. I think that Imrich has more papers for other products.&lt;/p&gt;&#xA;" OwnerUserId="1839" LastEditorUserId="1080" LastEditDate="2012-04-03T04:07:28.953" LastActivityDate="2012-04-03T04:07:28.953" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10908" PostTypeId="2" ParentId="10905" CreationDate="2012-03-30T11:00:38.627" Score="12" Body="&lt;p&gt;There is a linear-time algorithm for determining the prime factors of connected graphs with respect to the Cartesian product. See the &lt;a href=&quot;http://dx.doi.org/10.1016/j.disc.2005.09.038&quot;&gt;paper&lt;/a&gt; by Imrich and Peterin.&lt;/p&gt;&#xA;" OwnerUserId="481" LastActivityDate="2012-03-30T11:00:38.627" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10910" PostTypeId="1" CreationDate="2012-03-30T16:03:12.793" Score="4" ViewCount="249" Body="&lt;p&gt;Is it possible to design an efficient approximation algorithm for an $\sf{NP\text{-}complete}$ problem based on reductions from Shor's algorithm? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are known any (classical) approximation algorithms for an $\sf{NP\text{-}complete}$ problem that uses Factoring as oracle?&lt;/p&gt;&#xA;" OwnerUserId="8926" LastEditorUserId="186" LastEditDate="2012-03-30T17:17:32.163" LastActivityDate="2015-05-17T04:40:16.330" Title="Is it possible to design an efficient approximation algorithm for one NP-complete problem based on Shor's algorithm?" Tags="&lt;cc.complexity-theory&gt;&lt;quantum-computing&gt;&lt;factoring&gt;" AnswerCount="1" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="10911" PostTypeId="2" ParentId="10906" CreationDate="2012-03-30T16:06:58.533" Score="2" Body="&lt;p&gt;This paper is more general than what you're asking for, but should lead you to some answers.  It's pretty accessible too:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://research.cs.queensu.ca/home/yurai/Publications/Hamilt%20of%20thin%20solid%20and%20hard%20grids.pdf&quot; rel=&quot;nofollow&quot;&gt;http://research.cs.queensu.ca/home/yurai/Publications/Hamilt%20of%20thin%20solid%20and%20hard%20grids.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Though looking at it now the primary reference I'd have suggested out of that would be the Umans and Lenhart paper...)&lt;/p&gt;&#xA;" OwnerUserId="8927" LastActivityDate="2012-03-30T16:06:58.533" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10913" PostTypeId="2" ParentId="10870" CreationDate="2012-03-30T17:09:23.347" Score="8" Body="&lt;p&gt;The idea of using approximation algorithms for problems in P is very old and ubiquitous. Several problems in numerical linear algebra including the problem of solving linear systems are solved via iterative methods that converge to the answer quickly. However, they don't always find the exact answer. The rate of convergence to achieve a relative or additive $\epsilon$-approximation is analyzed as a function of the problem size and $\epsilon$. There are a number of papers on solving special cases of linear programming problems such as multicommodity flows (and more generally packing and covering LPs) approximately. There is no separate theory of approximation for problems in P vs problems that are in NP (we don't know whether P is equal to NP or not). One can talk about a certain technique being applicable for a certain class of problems. For instance there are general techniques known for approximately solving packing and covering linear programs and some variants. &lt;/p&gt;&#xA;" OwnerUserId="176" LastActivityDate="2012-03-30T17:09:23.347" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10914" PostTypeId="1" CreationDate="2012-03-30T18:21:39.363" Score="2" ViewCount="211" Body="&lt;p&gt;We all know that arbitrary CFG and FSA can be intersected using the Bar-Hillel Construction, whose time complexity is unfortunately too expensive. On the other hand, there are efficient algorithms that intersects intersect CFGs with lattices (i.e. acyclic FSAs). If an FSA is much like a lattice, except that all circles it can possibly have are self loops, is there any efficient algorithm for intersecting such an FSA with a CFG?&lt;/p&gt;&#xA;" OwnerUserId="8930" LastEditorUserId="8930" LastEditDate="2012-04-03T19:45:36.500" LastActivityDate="2012-04-03T19:45:36.500" Title="Fast weighted intersection algorithm for CFG and FSA with self loops but no other circles?" Tags="&lt;fl.formal-languages&gt;&lt;automata-theory&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="10915" PostTypeId="1" AcceptedAnswerId="10981" CreationDate="2012-03-30T19:43:55.100" Score="8" ViewCount="812" Body="&lt;p&gt;I'm attempting to clarify my understanding in the example presented in Section 2.2 of &lt;a href=&quot;http://arxiv.org/abs/quant-ph/9802062&quot; rel=&quot;noreferrer&quot;&gt;1-way Quantum Finite Automata: Strengths Weaknesses and Generalizations&lt;/a&gt; (this &lt;a href=&quot;http://arxiv.org/abs/quant-ph/9904066&quot; rel=&quot;noreferrer&quot;&gt;alternative link&lt;/a&gt; may also be useful). This example provides a very stripped down example of a 1-QFA with the following transition rules:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$V_a|q_0\rangle = \frac{1}{2}|q_0\rangle + \frac{1}{2}|q_1\rangle + \frac{1}{\sqrt 2}|q_{rej}\rangle$,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$V_a|q_1\rangle = \frac{1}{2}|q_0\rangle + \frac{1}{2}|q_1\rangle - \frac{1}{\sqrt 2}|q_{rej}\rangle$,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$V_{\$}|q_0\rangle = |q_{rej}\rangle$,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$V_{\$}|q_1\rangle = |q_{acc}\rangle$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For instance, if I'm in $q_0$ and I process an $a$ as input, I apply the first rule. My understanding is that I would have a $||\frac{1}{2}||^2 = \frac{1}{4}$ chance of staying in state $|q_0\rangle$, a $||\frac{1}{2}||^2 = \frac{1}{4}$ chance of progressing to state $|q_1\rangle$ and a $||\frac{1}{\sqrt 2}||^2 = \frac{1}{2}$ chance of ending the computation and rejecting the string.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would imagine the automata for this to look like the following image&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/E2HKZ.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm not entirely sure if that is correct however. The probabilities mentioned in the paper for acceptance of the string $aa$ is $\frac{1}{4}$ while the probability of rejection is $\frac{3}{4}$. Just wondering if someone could either point out a flaw or validate what I have conceptually in mind for the example.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Reworked automata model to more accurately reflect the probabilities:&#xA;&lt;img src=&quot;https://i.stack.imgur.com/pkjmC.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;" OwnerUserId="878" LastEditorUserId="7286" LastEditDate="2012-04-04T13:03:39.933" LastActivityDate="2012-04-09T20:10:51.180" Title="1-way Quantum Finite Automata Example Question" Tags="&lt;fl.formal-languages&gt;&lt;quantum-computing&gt;&lt;automata-theory&gt;&lt;grammars&gt;" AnswerCount="3" CommentCount="9" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="10916" PostTypeId="1" AcceptedAnswerId="10929" CreationDate="2012-03-30T20:02:16.587" Score="77" ViewCount="20705" Body="&lt;p&gt;I'm a software practitioner and I'm writing a survey on algebraic structures for personal research and am trying to produce examples of how these structures are used in theoretical computer science (and to a lesser degree, other sub-fields of computer science).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Under group theory I've come across syntactic monoids for formal languages and trace and history monoids for parallel/concurrent computing.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;From a ring theory standpoint, I've come across semiring frameworks for graph processing and semiring based parsing.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have yet to find any uses of algebraic structures from module theory in my research (and would like to).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm assuming that there are further examples and that I'm just not looking in the right place to find them. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;What are some other examples of algebraic structures from the domains listed above that are commonly found in theoretical computer science (and other sub-fields of computer science)? Alternatively, what journals or other resources can you recommend that might cover these topics?&lt;/p&gt;&#xA;" OwnerUserId="5069" LastEditorUserId="55031" LastEditDate="2020-06-16T13:40:28.873" LastActivityDate="2020-06-16T13:40:28.873" Title="Uses of algebraic structures in theoretical computer science" Tags="&lt;reference-request&gt;&lt;big-picture&gt;&lt;big-list&gt;&lt;algebra&gt;&lt;survey&gt;" AnswerCount="13" CommentCount="3" FavoriteCount="76" ContentLicense="CC BY-SA 3.0" />
  <row Id="10917" PostTypeId="2" ParentId="10915" CreationDate="2012-03-30T21:12:04.033" Score="3" Body="&lt;p&gt;You are incorrectly assuming that the state collapses fully (to a computational basis state) after reading each symbol. The measurement at each stage is only partial.&lt;/p&gt;&#xA;" OwnerUserId="7567" LastEditorUserId="7286" LastEditDate="2012-04-04T15:49:50.113" LastActivityDate="2012-04-04T15:49:50.113" CommentCount="11" ContentLicense="CC BY-SA 3.0" />
  <row Id="10918" PostTypeId="2" ParentId="10916" CreationDate="2012-03-30T21:31:02.933" Score="6" Body="&lt;p&gt;Analyzing any problem with a lot of symmetry is facilitated by using group theory. An example would be to find algorithms for things like rubic's cube. Although I do not know the details, I am sure that proving that &lt;a href=&quot;http://www.cube20.org/&quot; rel=&quot;noreferrer&quot;&gt;God's number is 20&lt;/a&gt; required some serious group theoretical pruning. In a different context, practical solvers for graph isomorphism problem like &lt;a href=&quot;http://cs.anu.edu.au/~bdm/nauty/&quot; rel=&quot;noreferrer&quot;&gt;nauty&lt;/a&gt; use the automorphism group of the graph.&lt;/p&gt;&#xA;" OwnerUserId="7567" LastActivityDate="2012-03-30T21:31:02.933" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10920" PostTypeId="2" ParentId="10916" CreationDate="2012-03-30T22:55:06.807" Score="28" Body="&lt;p&gt;My all-time favorite application of group theory in TCS is Barrington's Theorem. You can find &lt;a href=&quot;http://blog.computationalcomplexity.org/2008/11/barringtons-theorem.html&quot;&gt;an exposition of this theorem on the complexity blog&lt;/a&gt;, and Barrington's exposition in the comment section of that post.&lt;/p&gt;&#xA;" OwnerUserId="1080" LastActivityDate="2012-03-30T22:55:06.807" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10921" PostTypeId="2" ParentId="10916" CreationDate="2012-03-30T23:28:22.497" Score="15" Body="&lt;p&gt;Here is a very nice, practical use: &lt;a href=&quot;http://www.cse.cuhk.edu.hk/~chi/papers/conn.pdf&quot; rel=&quot;noreferrer&quot;&gt;an algorithm for computing graph connectivity&lt;/a&gt; (from &lt;a href=&quot;http://ieeexplore.ieee.org/xpl/articleDetails.jsp?arnumber=6108166&quot; rel=&quot;noreferrer&quot;&gt;FOCS2011&lt;/a&gt;). To compute the s-&gt;t connectivity of a graph, the authors give an algorithm that assigns random vectors with entries drawn from a finite field to the out edges from s, then construct similar vectors for all of the edges in the graph by taking random linear combinations, and finally discover the connectivity by computing the rank of the resulting vectors assigned to the in-edges of t. &lt;/p&gt;&#xA;" OwnerUserId="25" LastEditorUserId="1037" LastEditDate="2013-02-24T21:46:29.180" LastActivityDate="2013-02-24T21:46:29.180" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10922" PostTypeId="2" ParentId="10916" CreationDate="2012-03-30T23:57:31.593" Score="6" Body="&lt;p&gt;Check out &lt;em&gt;Ramsey Theory&lt;/em&gt; -- basically a significant generalization of the &lt;em&gt;pigeonhole principle&lt;/em&gt; which underlies a lot of automata and formal language theory (or should I say, the pigeonhole principle is the simplest case of Ramsey Theory). It basically says that even highly disordered structures turn out to necessarily contain a lot of order if they are sufficiently large. For a small example just beyond the pigeonhole principle, note that if you take any six people, then either three of them mutually know each other or three of them mutually do not know each other.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.cs.yale.edu/clique/resources/ramsey.pdf&quot; rel=&quot;noreferrer&quot;&gt;This paper&lt;/a&gt; looks like a nice place to start for connections with computer science, but you can google for more. It's more combinatoric than algebraic in its basic nature, but has many applications in algebra and theoretical CS.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;And also check out the story of the inventor, &lt;a href=&quot;http://en.wikipedia.org/wiki/Frank_P._Ramsey&quot; rel=&quot;noreferrer&quot;&gt;Frank Ramsey&lt;/a&gt; -- truly a remarkable polymath who made fundamental, even revolutionary contributions in economics and philosophy as well as mathematics, many unappreciated until much later, all before dying at the age of 26 -- just think! In fact, Ramsey's original theorem, the basis of Ramsey Theory, was a mere lemma in a paper with a bigger aim in mathematical logic.&lt;/p&gt;&#xA;" OwnerUserId="8487" LastEditorUserId="8487" LastEditDate="2012-03-31T00:08:50.773" LastActivityDate="2012-03-31T00:08:50.773" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="10923" PostTypeId="2" ParentId="4806" CreationDate="2012-03-31T02:27:25.053" Score="1" Body="&lt;p&gt;In my own case, most TCS concepts I feel like I have any intuition about are those I backed into via practical results.  If I find myself evolving and using the same model or algorithm successfully for years, it tends to increasingly drive me to distraction until I can figure out &lt;em&gt;why&lt;/em&gt; the algorithm's been successful.  This is particularly true if it's time for a rewrite -- I want to know what the TCS essence of the thing is, lest I lose the magic dust while refactoring.  Figuring all of that out usually requires (for me) a deep dive back to 1936 or so, and relating what I've been doing with those basic concepts.  A friend once advised me to &quot;think like a turing machine&quot; when I was on one of those dives, and that advice has stuck with me.&lt;/p&gt;&#xA;" OwnerUserId="8895" LastEditorUserId="8895" LastEditDate="2012-03-31T03:25:20.210" LastActivityDate="2012-03-31T03:25:20.210" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10924" PostTypeId="1" CreationDate="2012-03-31T05:33:13.517" Score="11" ViewCount="5378" Body="&lt;p&gt;If we exclude methods that include precalculating of all Fibonacci numbers up to a sufficiently large number of n what would be the fastest  algorithm for calculating nth term of Fibonacci sequence ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I guess that Iterative and Matrix algorithms should be faster than Analytic and Recursive algorithms , ( see &lt;a href=&quot;http://pages.cs.wisc.edu/~mhock/SSL/fibcalc.pdf&quot; rel=&quot;noreferrer&quot;&gt;this paper&lt;/a&gt; ) .&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On &lt;a href=&quot;http://www.ics.uci.edu/~eppstein/161/960109.html&quot; rel=&quot;noreferrer&quot;&gt;this page&lt;/a&gt; I have found five different algorithms . According to author the fastest is a Matrix algorithm that uses  O(log n) arithmetic operations .&lt;/p&gt;&#xA;" OwnerUserId="6818" LastEditorUserId="6818" LastEditDate="2012-03-31T09:42:40.923" LastActivityDate="2018-11-09T16:20:00.480" Title="What is the fastest algorithm for calculating nth term of Fibonacci sequence?" Tags="&lt;ds.algorithms&gt;" AnswerCount="1" CommentCount="7" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="10926" PostTypeId="1" AcceptedAnswerId="10931" CreationDate="2012-03-31T07:59:16.420" Score="18" ViewCount="878" Body="&lt;p&gt;Given an $n$ vertex undirected graph, what is the best known runtime bound for &lt;em&gt;finding&lt;/em&gt; a subgraph which is a $k\times k$-biclique? Are there faster parametrized algorithms than the&#xA;$\binom{n}{k}\mbox{poly}(n)$ time algorithm of &quot;guessing&quot; one side of the biclique and see if there are at least $k$ other vertices incident to all of them?&lt;/p&gt;&#xA;" OwnerUserId="679" LastEditorUserId="186" LastEditDate="2012-04-03T22:10:12.587" LastActivityDate="2020-08-01T16:01:10.377" Title="Parametrized Algorithm for Finding Bicliques" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;graph-algorithms&gt;&lt;parameterized-complexity&gt;" AnswerCount="4" CommentCount="2" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="10927" PostTypeId="1" AcceptedAnswerId="10938" CreationDate="2012-03-31T08:04:06.897" Score="8" ViewCount="306" Body="&lt;p&gt;Tarski's fixpoint theorem states, that the fixpoints of a monotone operator on a complete lattice is a complete lattice. By consequence, we have a unique greatest fixpoint and unique least fixpoint for a monotone operator on a complete lattice. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The fixpoints can be unique but in general can be many. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question would be, under which conditions can a monotone function have a unique fixpoint on a complete lattice? Is there some practical sufficient conditions to guarantee a unique fixpoint? It would useful to know this, because sometimes you have a monotone operator that specifies a property. It can be non-trivial to spell out whether it is the greatest fix point or the least fix point you really want to specify. In some cases, the two coincide, and you know to iterate from top or from bottom yields the same result and you would be happy to pick up the one that is more simple or more efficient. &lt;/p&gt;&#xA;" OwnerUserId="6013" LastEditorUserId="-1" LastEditDate="2012-11-11T05:54:16.507" LastActivityDate="2012-11-11T05:54:16.507" Title="Sufficient conditions to guarantee unique fixpoint (not unique least/greatest fixpoint) for monotone functions on complete lattice" Tags="&lt;algebra&gt;&lt;lattice&gt;&lt;order-theory&gt;" AnswerCount="2" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10928" PostTypeId="2" ParentId="10916" CreationDate="2012-03-31T09:36:54.710" Score="15" Body="&lt;p&gt;Groups, rings, fields, and modules are everywhere in computational topology.  See especially Carlsson and Zomorodian's work [ex: &lt;a href=&quot;http://www.cs.dartmouth.edu/~afra/papers/socg04/persistence.pdf&quot;&gt;1&lt;/a&gt;] on (multidimensional) persistent homology, which is all about graded modules over principal ideal domains.&lt;/p&gt;&#xA;" OwnerUserId="111" LastEditorUserId="1037" LastEditDate="2012-04-01T23:19:18.013" LastActivityDate="2012-04-01T23:19:18.013" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="10929" PostTypeId="2" ParentId="10916" CreationDate="2012-03-31T09:43:23.810" Score="54" Body="&lt;p&gt;My impression is that, by and large, traditional algebra is rather too specific for use in Computer Science.  So Computer Scientists either use weaker (and, hence, more general) structures, or generalize the traditional structures so that they can fit them to their needs.  We also use category theory &lt;em&gt;a lot&lt;/em&gt;, which mathematicians don't think of as being part of algebra, but we don't see why not.  We find the regimentation of traditional mathematics into &quot;algebra&quot; and &quot;topology&quot; as separate branches inconvenient, even pointless, because algebra is generally first-order whereas topology has a chance of dealing with higher-order aspects.  So, the structures used in Computer Science have algebra and topology mixed in.  In fact, I would say they tend more towards topology than algebra.  Regimentation of reasoning into &quot;algebra&quot; and &quot;logic&quot; is another pointless division from our point of view, because algebra deals with equational properties whereas logic deals with all other kinds of properties as well.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Coming back to your question, semigroups and monoids are used quite intensely in automata theory.  Eilenberg has written a &lt;a href=&quot;http://books.google.co.uk/books?id=YkuXEJ34xF0C&amp;amp;source=gbs_slider_cls_metadata_7_mylibrary&amp;amp;redir_esc=y&quot;&gt;2-volume collection&lt;/a&gt;, the second of which is almost entirely algebra.  I am told that he was planning four volumes but his age did not allow the project to be finished.  Jean-Eric Pin has a modernized version of a lot of this content in an &lt;a href=&quot;http://www.liafa.univ-paris-diderot.fr/~jep/PDF/MPRI/MPRI.pdf&quot;&gt;online book&lt;/a&gt;.  Automata are &quot;monoid modules&quot; (also called monoid actions or &quot;acts&quot;), which are at the right level of generality for Computer Science.  Traditional ring modules are probably too specific.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Lattice theory was a major force in the development of denotational semantics.  Topology was mixed into lattice theory when Computer Scientists, jointly with mathematicians, developed &lt;a href=&quot;http://books.google.co.uk/books?id=2QLvAAAAMAAJ&amp;amp;source=gbs_slider_cls_metadata_9_mylibrary&quot;&gt;continuous lattices&lt;/a&gt; and then generalized them to &lt;a href=&quot;http://books.google.co.uk/books?id=xPF9Hb7DPLgC&amp;amp;dq=continuous%20lattices&amp;amp;source=gbs_similarbooks&quot;&gt;domains&lt;/a&gt;.  I would say that domain theory is Computer Scientists' own mathematics, which traditional mathematics has no knowledge of.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Universal algebra is used for defining &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.45.8285&amp;amp;rep=rep1&amp;amp;type=pdf&quot;&gt;algebraic specifications of data types&lt;/a&gt;.  Having gotten there, Computer Scientists immediately found the need to deal with more general properties: conditional equations (also called equational Horn clauses) and first-order logic properties, still using the same ideas of universal algebra.  As you would note, algebra now merges into model theory.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Category theory is the foundation for type theory.  As Computer Scientists keep inventing new structures to deal with various computational phenomena, category theory is a very comforting framework in which to place all these ideas.  We also use structures that are enabled by category theory, which don't have existence in &quot;traditional&quot; mathematics, such as functor categories.  Also, algebra comes back into the picture from a categorical point of view in the use of &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.158.5275&amp;amp;rep=rep1&amp;amp;type=pdf&quot;&gt;monads&lt;/a&gt; and &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.66.5940&amp;amp;rep=rep1&amp;amp;type=pdf&quot;&gt;algebraic theories of effects&lt;/a&gt;.  &lt;a href=&quot;http://ziman.functor.sk/files/coalgebras_and_coinduction.pdf&quot;&gt;Coalgebras&lt;/a&gt;, which are the duals of algebras, also find a lot of application.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, there is a wide-ranging application of &quot;algebra&quot; in Computer Science, but it is not the kind of algebra found in traditional algebra textbooks.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Additional note&lt;/strong&gt;: There is a concrete sense in which category theory is algebra.  &lt;em&gt;Monoid&lt;/em&gt; is a fundamental structure in algebra.  It consists of a binary &quot;multiplication&quot; operator that is associative and has an identity.  Category theory generalizes this by associating &quot;types&quot; to the elements of the monoid, $a : X \rightarrow Y$.  You can &quot;multiply&quot; the elements only when the types match: if $a : X \rightarrow Y$ and $b : Y \to Z$ then $ab : X \to Z$.  For example, $n \times n$ matrices have a multiplication operation making them a monoid.  However, $m \times n$ matrices (where $m$ and $n$ could be different) form a category.  Monoids are thus special cases of categories that have a single type.  Rings are special cases of additive categories that have a single type.  Modules are special cases of functors where the source and target categories have a single type.  So on.  Category theory is &lt;em&gt;typed algebra&lt;/em&gt; whose types make it infinitely more applicable than traditional algebra.&lt;/p&gt;&#xA;" OwnerUserId="8519" LastEditorUserId="20340" LastEditDate="2014-12-10T20:28:16.667" LastActivityDate="2014-12-10T20:28:16.667" CommentCount="14" ContentLicense="CC BY-SA 3.0" />
  <row Id="10930" PostTypeId="2" ParentId="10916" CreationDate="2012-03-31T16:06:03.023" Score="12" Body="&lt;p&gt;Here are two applications from a different part of TCS.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Semirings are used for modelling annotations in databases (especially those needed for provenance), and often also for the valuation structures in valued constraint satisfaction.  In both of these applications, individual values must be combined together in ways which lead naturally to a semiring structure, with associativity and the one semiring operation distributing over the other.  Regarding your query about modules, neither monoid has an inverse in these applications, in general.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Todd J. Green, Grigoris Karvounarakis and Val Tannen. &lt;em&gt;Provenance semirings&lt;/em&gt;, PODS 2007.  &lt;a href=&quot;http://dx.doi.org/10.1145/1265530.1265535&quot;&gt;doi:10.1145/1265530.1265535&lt;/a&gt; (&lt;a href=&quot;http://www.ics.forth.gr/~gregkar/publications/pods2007.pdf&quot;&gt;preprint&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;li&gt;Stefano Bistarelli, Ugo Montanari and Francesca Rossi.  &lt;em&gt;Semiring-based constraint satisfaction and optimization&lt;/em&gt;, JACM 1997.  &lt;a href=&quot;http://dx.doi.org/10.1145/256303.256306&quot;&gt;doi:10.1145/256303.256306&lt;/a&gt; (&lt;a href=&quot;http://www.math.unipd.it/~frossi/jacm.pdf&quot;&gt;preprint&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="109" LastActivityDate="2012-03-31T16:06:03.023" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10931" PostTypeId="2" ParentId="10926" CreationDate="2012-03-31T18:31:39.340" Score="11" Body="&lt;p&gt;Parameterized by degeneracy or arboricity, it's FPT. More specifically, $O(d^3 2^d n)$ where $d$ is the degeneracy (or $a^3 2^{2a}$ for arboricity). See: &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Arboricity and bipartite subgraph listing algorithms.&#xA;D. Eppstein.&#xA;&lt;a href=&quot;http://dx.doi.org/10.1016/0020-0190%2894%2990121-X&quot; rel=&quot;nofollow&quot;&gt;Inf. Proc. Lett. 51:207-211, 1994&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Another parameterized paper has just been &lt;a href=&quot;http://swat2012.helsinki.fi/programme/#papers&quot; rel=&quot;nofollow&quot;&gt;accepted to SWAT 2012&lt;/a&gt;, this time parameterized by longest induced path length:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Aistis Atminas, Vadim Lozin and Igor Razgon: &#xA;Linear time algorithm for computing a small biclique in graphs without long induced paths. SWAT 2012, to appear.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;But my understanding is that whether this is FPT or not with the natural parameter (the size of the biclique) is a big open problem.&lt;/p&gt;&#xA;" OwnerUserId="95" LastEditorUserId="95" LastEditDate="2012-04-07T15:27:00.730" LastActivityDate="2012-04-07T15:27:00.730" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10932" PostTypeId="2" ParentId="10926" CreationDate="2012-03-31T19:18:06.630" Score="5" Body="&lt;p&gt;This approximation&#xA;&quot;Nuclear norm minimization for the planted clique and biclique problems&quot;, by B. Ames&#xA;and S. Vavasis ( &lt;a href=&quot;http://arxiv.org/pdf/0901.3348.pdf&quot; rel=&quot;noreferrer&quot;&gt;http://arxiv.org/pdf/0901.3348.pdf&lt;/a&gt; ) finds a biclique for some specific type of graphs in poly-time, but has no general approximation guarantees.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The authors recast the biclique problem to a rank minimization, subject to affine constraints. Then, they solve a relaxation using a nuclear norm heuristic, which can be posed as an SDP. This heuristic is a pretty exciting gadget of the compressed sensing paraphernalia. This relaxation usually admits some cute optimality conditions when the set of constraints exhibit &quot;an appropriate type&quot; of randomness.&lt;/p&gt;&#xA;" OwnerUserId="6963" LastEditorUserId="6963" LastEditDate="2012-03-31T19:23:10.663" LastActivityDate="2012-03-31T19:23:10.663" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10934" PostTypeId="2" ParentId="10870" CreationDate="2012-03-31T21:57:54.003" Score="1" Body="&lt;p&gt;May be this is not exactly answers your question, because currently I can just remember some heuristics, but I'm sure there are some approximations, because I saw them before.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In some fields like FPT(Fixed parameter tractable) you have a problem, normally in graphs, which can be solved in $O(f(k)*|G|^\alpha)$, like solving TSP in bounded tree width graphs, Or finding tree decomposition of graphs with small tree width. But actually they aren't good enough and $f(k)$ is too large to be used in real world. So using approximations or heuristics are fine here, for example you can take a look at &lt;a href=&quot;http://web.eecs.utk.edu/~langston/projects/papers/tmerge.pdf&quot; rel=&quot;nofollow&quot;&gt;heuristic for TSP in bounded tree-width graphs&lt;/a&gt;, or some algorithms for &lt;a href=&quot;http://www-ist.massey.ac.nz/mccartin/Mypubs/MAF.04.07.pdf&quot; rel=&quot;nofollow&quot;&gt;Maximum Agreement Forest&lt;/a&gt; problem and its later approximations/heuristics (simple google shows results in 2010, 2011), or algorithms for finding tree decomposition of graphs.&lt;/p&gt;&#xA;" OwnerUserId="1846" LastActivityDate="2012-03-31T21:57:54.003" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10935" PostTypeId="2" ParentId="189" CreationDate="2012-04-01T00:19:55.977" Score="7" Body="&lt;p&gt;How can we forget Shor's quantum factoring algorithm ? Even though there may never be a universal quantum computer capable of demonstrating the ability of the algorithm to factor really large integers, it is still a stroke of genius to even think of such an algorithm in the first place. &lt;/p&gt;&#xA;" OwnerUserId="8827" LastActivityDate="2012-04-01T00:19:55.977" CommentCount="0" CommunityOwnedDate="2012-04-01T00:19:55.977" ContentLicense="CC BY-SA 3.0" />
  <row Id="10936" PostTypeId="2" ParentId="10926" CreationDate="2012-04-01T00:51:35.737" Score="0" Body="&lt;p&gt;&lt;strong&gt;(WRONG ANSWER: this answer is wrong -- see David Eppstein's comment below. I'm leaving it here for posterity.)&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;It is worth noting that finding a k by k biclique in an n-vertex graph is as least as hard as finding a size-k clique in an (n/2)-vertex graph: simply take the (n/2) vertex graph, and convert it to a bipartite graph in the obvious way (each vertex v turns into two vertices v1,v2 which are connected by an edge, and each edge (u,v) turns into two edges: (u1,v2) and (u2,v1) ). Since finding a size-k clique is W[1]-hard, then finding a biclique is also W[1]-hard, and so is conjectured to not have an algorithm with running time &lt;span class=&quot;math-container&quot;&gt;$n^{o(k)}$&lt;/span&gt;.&lt;/p&gt;&#xA;" OwnerUserId="154" LastEditorUserId="154" LastEditDate="2020-08-01T16:01:10.377" LastActivityDate="2020-08-01T16:01:10.377" CommentCount="1" ContentLicense="CC BY-SA 4.0" />
  <row Id="10938" PostTypeId="2" ParentId="10927" CreationDate="2012-04-01T01:41:02.883" Score="6" Body="&lt;p&gt;Constant functions have unique fixed points. Another criterion that may be applicable is to compare approximations, $\mu_i = \bigcup_{k&amp;lt;i}f^k(\bot)$ and $\nu_i = \bigcap_{k&amp;lt;i}f^k(\top)$, of the least and the greatest fixed points. Trivially, as soon as $\mu_i = \nu_i$ for some $i$, it has been settled that $f$ has a unique fixed point. The problem with this characterization is that, depending on the lattice and $f$, it is incomplete unless you are prepared to explore transfinite approximations.&lt;/p&gt;&#xA;" OwnerUserId="3552" LastActivityDate="2012-04-01T01:41:02.883" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10940" PostTypeId="1" CreationDate="2012-04-01T09:58:19.457" Score="4" ViewCount="127" Body="&lt;p&gt;I am re-posting the problem &lt;a href=&quot;https://mathoverflow.net/questions/92783/random-task-scheduling-problem&quot;&gt;https://mathoverflow.net/questions/92783/random-task-scheduling-problem&lt;/a&gt; here because I think people here are more familiar with this topic.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assume there are $m$ tasks, each task's working time conforms to some distribution, for instance an exponential distribution with mean $\lambda$.&#xA;So let the r.v. $X_i$ is the working time of the $i$th task, and $\{X_i\}$ are i.i.d. random variables.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are $n$ machines to do these tasks, the scheduling police is, once a task is finished on some machine, if there are still pending tasks, one of the pending tasks (randomly selected) will be scheduled to the idle machine immediately (ignore the scheduling latency here). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The finishing time of the system is defined to be the last job's finishing time which is defined to be a random variable $Y$.&#xA;So my question is, what are the the distribution function of $Y$ and expectation of $\mathbb{E}(Y)$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am interested in the more general distribution of $X_i$, while the distribution of exponential is also welcomed. Papers about this problem is also very helpful to me. &lt;/p&gt;&#xA;" OwnerUserId="4145" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2012-04-02T05:35:59.650" Title="Problem about machine scheduling" Tags="&lt;pr.probability&gt;&lt;scheduling&gt;" AnswerCount="0" CommentCount="1" FavoriteCount="1" ClosedDate="2012-04-02T05:36:20.913" ContentLicense="CC BY-SA 3.0" />
  <row Id="10941" PostTypeId="1" CreationDate="2012-04-01T11:40:00.720" Score="13" ViewCount="301" Body="&lt;p&gt;Is there any known nontrivial result on quantum interactive proof (QIP) systems having a space-bounded verifier?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The only paper I know is &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0022000008001165&quot; rel=&quot;nofollow&quot;&gt;An application of quantum finite automata to interactive proof systems&lt;/a&gt; by Nishimura and Yamakami, in which a restricted 2QFA (two-way quantum finite automaton) model is used as a verifier and the following result is given: &#xA;$ \mathsf{QIP(2qfa,polytime)} \subseteq \mathsf{NP} $.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The motivation: I am preparing a paper containing some new results on space-bounded QIP systems and I want to be sure not missing any related known result!&lt;/p&gt;&#xA;" OwnerUserId="7358" LastEditorUserId="7358" LastEditDate="2012-04-02T19:27:54.427" LastActivityDate="2012-04-02T19:27:54.427" Title="Is there any known nontrivial result on QIP systems having a space-bounded verifier?" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;quantum-computing&gt;&lt;space-bounded&gt;&lt;interactive-proofs&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="10942" PostTypeId="2" ParentId="10870" CreationDate="2012-04-01T15:57:56.380" Score="4" Body="&lt;p&gt;Dimitris mentions approximating fourier transforms. there is a wide use of this in image compression eg in the JPEG algorithm.[1] although I havent seen a paper that emphasizes this, it seems in some sense a &lt;em&gt;lossy compression&lt;/em&gt;[2] (with derivable limits) can also be taken as a P-time approximation algorithm. the approximation aspects are highly developed and finetuned/specialized in the sense they are optimized so that they cannot be perceived by human vision, i.e. the human perception of encoding artifacts (roughly defined as difference between approximation and the lossless compression) is minimized. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;this is related to theories about how the human eye perceives or itself actually &quot;approximates&quot; color encoding via some algorithmic-like process. in other words the theoretical approximation scheme/algorithm is actually intentionally designed to match the physical/biological approximation scheme/algorithm (encoded by biological info processing ie neurons in the human visual system).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;so, the compression is tightly coupled with the approximation. in JPEG the fourier transform is approximated by the DCT, discrete cosine transform[3]. similar principles are employed over multiple frames for the MPEG video compression standard.[4] &lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] &lt;a href=&quot;http://en.wikipedia.org/wiki/JPEG&quot; rel=&quot;nofollow&quot;&gt;jpeg compression, wikipedia&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] &lt;a href=&quot;http://en.wikipedia.org/wiki/Lossy_compression&quot; rel=&quot;nofollow&quot;&gt;lossy compression, wikipedia&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[3] &lt;a href=&quot;http://en.wikipedia.org/wiki/Discrete_cosine_transform&quot; rel=&quot;nofollow&quot;&gt;DCT, discrete cosine transform, wikipedia&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[4] &lt;a href=&quot;http://en.wikipedia.org/wiki/Mpeg&quot; rel=&quot;nofollow&quot;&gt;MPEG, wikipedia&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2012-04-01T15:57:56.380" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10943" PostTypeId="2" ParentId="10905" CreationDate="2012-04-01T16:58:25.457" Score="15" Body="&lt;p&gt;Several graph products can be recognized in polynomial time.  As usual the Cartesian product is the easiest, and the Cartesian case is also the basis for the algorithms for several other products.  Recognition of the lexicographic product (composition) is equivalent to graph isomorphism.&lt;/p&gt;&#xA;&lt;hr /&gt;&#xA;&lt;p&gt;In more detail:&lt;/p&gt;&#xA;&lt;p&gt;Let &lt;span class=&quot;math-container&quot;&gt;$\Gamma$&lt;/span&gt; be the class of finite simple graphs, and &lt;span class=&quot;math-container&quot;&gt;$\Gamma_0$&lt;/span&gt; be the class of finite simple graphs which may have self-loops.  (Clearly &lt;span class=&quot;math-container&quot;&gt;$\Gamma \subset \Gamma_0$&lt;/span&gt;.)&lt;/p&gt;&#xA;&lt;p&gt;Deciding if a connected input graph &lt;span class=&quot;math-container&quot;&gt;$G$&lt;/span&gt; has factors in &lt;span class=&quot;math-container&quot;&gt;$\Gamma_0$&lt;/span&gt; can be done in polynomial time for the Cartesian and strong products, and also for the direct product when &lt;span class=&quot;math-container&quot;&gt;$G$&lt;/span&gt; is non-bipartite.&#xA;Deciding if &lt;span class=&quot;math-container&quot;&gt;$G$&lt;/span&gt; has factors in &lt;span class=&quot;math-container&quot;&gt;$\Gamma$&lt;/span&gt; is in polynomial time for the Cartesian product, but is unlikely to be in polynomial time for the lexicographic product.&#xA;I do not know the status of deciding if &lt;span class=&quot;math-container&quot;&gt;$G$&lt;/span&gt; has factors in &lt;span class=&quot;math-container&quot;&gt;$\Gamma$&lt;/span&gt; for the direct and strong products.&lt;/p&gt;&#xA;&lt;p&gt;Relevant results from Imrich and Klavžar:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Theorem 4.10.  For a connected graph &lt;span class=&quot;math-container&quot;&gt;$G$&lt;/span&gt; on &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt; vertices and &lt;span class=&quot;math-container&quot;&gt;$m$&lt;/span&gt; edges one can find the prime factorization with respect to the Cartesian product in &lt;span class=&quot;math-container&quot;&gt;$O(mn)$&lt;/span&gt; time using &lt;span class=&quot;math-container&quot;&gt;$O(m)$&lt;/span&gt; space.&lt;/p&gt;&#xA;&lt;p&gt;Theorem 5.43. The prime factor decomposition of connected, nonbipartite graphs in &lt;span class=&quot;math-container&quot;&gt;$\Gamma_0$&lt;/span&gt; with respect to the direct product and of connected simple graphs with respect to the strong product can be determined in polynomial time.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;The result for Cartesian product is then improved to &lt;span class=&quot;math-container&quot;&gt;$O(m\log n)$&lt;/span&gt; time and &lt;span class=&quot;math-container&quot;&gt;$O(m)$&lt;/span&gt; space in Chapter 7.  As pointed out in other answers, this has since been improved to linear time.&lt;/p&gt;&#xA;&lt;p&gt;For the lexicographic product:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Theorem 6.20. The decision problem whether a given connected graph is prime with respect to the lexicographic product is at least as difficult as the graph isomorphism problem.&lt;/p&gt;&#xA;&lt;p&gt;Theorem 6.21. The decision problem whether a given connected graph is prime with respect to the lexicographic product is not more difficult than the solution of a polynomial number (in &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt;) of graph isomorphism problems, the size of each of which is also polynomial in &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;So deciding whether a graph is prime with respect to the lexicographic product is equivalent to GRAPH ISOMORPHISM, with respect to Turing reductions.&lt;/p&gt;&#xA;&lt;p&gt;The case of the direct and strong product having factors without self-loops seems to be absent from the references I have looked at.  I would appreciate any pointers to papers that do discuss this case, or a hint why it is uninteresting.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Wilfried Imrich and Sandi Klavžar, &lt;em&gt;Product Graphs: Structure and Recognition&lt;/em&gt;. Wiley, 2000.  ISBN 0-471-37039-8.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="109" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2012-04-03T11:44:34.257" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10944" PostTypeId="1" AcceptedAnswerId="10946" CreationDate="2012-04-02T00:58:15.130" Score="13" ViewCount="365" Body="&lt;p&gt;A set-function $f$ is monotone submodular if for all $A,B$,&#xA;$$ f(A) + f(B) \geq f(A \cup B) + f(A \cap B). $$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A stronger property is&#xA;$$ \begin{multline*} f(A) + f(B) + f(C) + f(A\cup B\cup C) \geq \\f(A\cup B) + f(B\cup C) + f(A\cup C) + f(A \cap B \cap C). \end{multline*}$$&#xA;Taking $C = A\cup B$, this property implies monotone submodularity.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is this property known?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;h3&gt;Background&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;This property came up while trying to characterize coverage functions. Given some weighted universe $U$ (all weights are non-negative) and a family $X$ of subsets of $U$, the coverage function $f(S)$ is defined for $S \subseteq X$ as the total weight of elements covered by sets in $S$. The function $f$ is always monotone and submodular. The converse isn't true.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The property in question implies that $f$ is a coverage function in the case $|X| = 3$. Similar, more complicated properties work for larger $X$. All these properties are satisfied by coverage functions, so this is a complete characterization.&lt;/p&gt;&#xA;" OwnerUserId="40" LastEditorUserId="186" LastEditDate="2012-04-02T05:40:20.377" LastActivityDate="2012-04-05T17:58:12.663" Title="Strengthenings of submodularity" Tags="&lt;ds.algorithms&gt;&lt;approximation-algorithms&gt;&lt;submodularity&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="10945" PostTypeId="2" ParentId="10916" CreationDate="2012-04-02T01:55:50.807" Score="13" Body="&lt;p&gt;Lattices and fixed points are at the foundations of program analysis and verification. Though advanced results from lattice theory are rarely used because we are concerned with algorithmic issues such as computing and approximating fixed points, while research in lattice theory has a different focus (connections to topology, duality theory, etc). The initial abstract interpretation papers use basic lattice theory. The work of Roberto Giacobazzi and his collaborators uses more advanced results.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In distributed computing, a celebrated family of impossibility results was derived using methods of algebraic topology (See the work of Maurice Herlihy and Nir Shavit).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[Edit: See &lt;a href=&quot;https://cstheory.stackexchange.com/questions/2898/applications-of-topology-to-computer-science&quot;&gt;Applications of Topology to Computer Science&lt;/a&gt;.]&lt;/p&gt;&#xA;" OwnerUserId="4155" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2012-04-02T10:36:35.873" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10946" PostTypeId="2" ParentId="10944" CreationDate="2012-04-02T04:32:13.567" Score="13" Body="&lt;p&gt;There is a &lt;a href=&quot;http://arxiv.org/pdf/1107.5559.pdf&quot;&gt;complete characterization of coverage functions&lt;/a&gt; in terms of such equations. For |X|&gt;3 there are more equations than the ones pointed. Each of these equations can be thought as a constraint on discrete $k^{th}$ derivative.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Monotone increase function if and only if first order discrete derivative is +ve. i.e. $f(B)-f(A)\ge 0$  when $A\subseteq B$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Submodularity if and only if second order discrete derivative is -ve. i.e. $(f(A\cup B)-f(B))-(f(A)-f(A\cap B))\le 0$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Similarly if you have conditions on the next $n$ derivatives you get coverage functions. (I think the signs need to be +ve for even order derivative and -ve for odd order derivative)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Something similar was already known in probability. A coverage function can also be thought as a probability measure (upto a scaling constant). The only reference I was able to dig up was page 439 from Feller's book on probability. &lt;/p&gt;&#xA;" OwnerUserId="372" LastEditorUserId="1080" LastEditDate="2012-04-02T05:12:59.040" LastActivityDate="2012-04-02T05:12:59.040" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10947" PostTypeId="2" ParentId="10927" CreationDate="2012-04-02T06:31:02.297" Score="4" Body="&lt;p&gt;Banach's fixed point theorem in constructive metric spaces is one source of unique fixed points. See this &lt;a href=&quot;https://cstheory.stackexchange.com/questions/5922/fixed-point-theorems-for-constructive-metric-spaces&quot;&gt;cstheory&lt;/a&gt; question for both the statement of the theorem and a constructive proof (so you essentially get a simple algorithm). This reference may also interest you.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;a href=&quot;http://www.actamath.com/Jwk_sxxb_en/EN/article/downloadArticleFile.do?attachType=PDF&amp;amp;id=6074&quot; rel=&quot;nofollow noreferrer&quot;&gt;Existence and Uniqueness of Fixed Point in Partially Ordered Sets and Applications to Ordinary Differential Equations&lt;/a&gt;. Juan J. Nieto and Rosana Rodriguez-Lopez. 2007&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="4155" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2012-04-02T06:31:02.297" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10948" PostTypeId="2" ParentId="10926" CreationDate="2012-04-02T09:11:16.280" Score="8" Body="&lt;p&gt;The following papers provide exponential-time algorithms for the non-induced biclique problem and may be of interest to you :&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Daniel Binkele-Raible, Henning Fernau, Serge Gaspers, Mathieu&#xA;Liedloff: &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0020019010003261&quot; rel=&quot;noreferrer&quot;&gt;Exact exponential-time algorithms for finding bicliques&lt;/a&gt;.&#xA;Inf. Process. Lett. 111(2): 64-67 (2010)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Jean-François Couturier, Dieter Kratsch:&lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0020019012000270&quot; rel=&quot;noreferrer&quot;&gt;Bicolored independent sets&lt;br&gt;&#xA;and bicliques&lt;/a&gt;. Inf. Process. Lett. 112(8-9): 329-334 (2012)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="8951" LastEditorUserId="80" LastEditDate="2012-04-02T12:53:52.087" LastActivityDate="2012-04-02T12:53:52.087" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10950" PostTypeId="2" ParentId="10638" CreationDate="2012-04-02T13:27:13.627" Score="4" Body="&lt;p&gt;I think the best way to be convinced of the fact that there is no LTL formula for this language is via $\omega$-semigroups.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Indeed, there is a theorem, that you can find in Diekert/Gastin or Pin, stating that the LTL-definable language have an aperiodic minimal $\omega$-semigroup.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a regular language L on infinite words (via an automaton for instance), the minimal $\omega$-semigroup S recognizing L can be computed. To do this, consider the semigroup generated by transition matrices of the automaton, and then minimize it. Then you can test S for aperiodicity : just iterate all the elements $x\in S$ and check that there is always an $n$ such that $x^n=x^{n+1}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This gives you an algorithm for LTL-definability.&lt;/p&gt;&#xA;" OwnerUserId="8953" LastActivityDate="2012-04-02T13:27:13.627" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10951" PostTypeId="2" ParentId="10916" CreationDate="2012-04-02T15:02:23.317" Score="14" Body="&lt;p&gt;Universal algebra is an important tool in studying the complexity of constraint satisfaction problems. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, the &lt;em&gt;Dichotomy Conjecture&lt;/em&gt; states that, roughly speaking, a constraint satisfaction problem over a finite domain is either NP-complete or polynomial-time solvable. Note that by Ladner's theorem there are problems in NP which are not in P and not NP-complete, unless P = NP, so the conjecture says that CSPs are special in having a dichotomy that the larger complexity classes do not have. It also would provide some explanation why most problems we encounter in practice can be classified to be either NP-complete or in P. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Dichotomies were proven for several special cases, e.g. binary domain CSPs (Schaefer) and ternary domain CSPs (Bulatov), and homomorphisms into undirected graphs (Hell and Nesetril). But the general case is fairly open. One of the major lines of attack is through universal algebra. Very roughly (and I am definitely not an expert in this!) one defines a polymorphism of CSP to be a function on the domain of the CSP which leaves all satisfied constraints satisfied if it is applied to each variable. The set of polymorphisms of a CSP in some sense captures its complexity. For example if a CSP A admits all polymorphisms of a CSP B, then A is polynomial time reducible to B. The set of polymorphisms forms an algebra, whose structure seems helpful in desining algorithms/showing reductions. For example if the polymorphism algebra of a CSP is idempotent and admits the unary type, then the CSP is NP-complete. Idempotence is a simplifying assumption that can be made more or less without loss of generality. Showing that a CSP whose algebra is idempotent and does not admit the unary type can be solved in polynomial time will prove the Dichotomy Conjecture.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See the survey by Bulatov: &lt;a href=&quot;http://www.springerlink.com/content/a553847g6h673k05/&quot;&gt;http://www.springerlink.com/content/a553847g6h673k05/&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="4896" LastActivityDate="2012-04-02T15:02:23.317" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10952" PostTypeId="2" ParentId="10944" CreationDate="2012-04-02T16:56:22.113" Score="7" Body="&lt;p&gt;Higher-order discrete derivatives of set functions are explored in &lt;a href=&quot;http://rutcor.rutgers.edu/pub/rrr/reports2003/44_2003.ps&quot; rel=&quot;nofollow&quot;&gt;Submodularity, supermodularity and higher-order monotonicities of pseudo-boolean functions&lt;/a&gt;. According to them, the strict third-order discrete derivative condition is&#xA;$$&#xD;&#xA;\begin{multline*}&#xD;&#xA;f(A \cap B) + f(A \cap C) + f(B \cap C) + f((A \cap B) \cup (A \cap C) \cup (B \cap C)) \geq \\&#xD;&#xA;f(A \cap (B \cup C)) + f(B \cap (A \cup C)) + f(C \cap (A \cup B)) + f(A \cap B \cap C).&#xD;&#xA;\end{multline*}&#xD;&#xA;$$&#xA;The &quot;aggregate&quot; condition is mentioned in the paper &quot;A characterization of a cone of pseudo-boolean functions via supermodularity-type inequalities&quot; by Cramma, Hammer and Holtzman (inequality (4)), which is part of the rare collection &quot;Quantitative Methoden in den Wirtschaftswissenschaften&quot;. This condition should be the same as mine.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit: The actual condition that Cramma, Hammer and Holtzman give is&#xA;$$&#xD;&#xA;\begin{multline*}&#xD;&#xA;f(A) + f(B) + f(C) + f(A \cap B \cap C)&#xD;&#xA; \geq  \\&#xD;&#xA;f(A \cup B \cup C) + f(A \cap B) + f(A \cap C) + f(B \cap C).&#xD;&#xA;\end{multline*}&#xD;&#xA;$$&#xA;If you put $C = \varnothing$, you get submodularity.&lt;/p&gt;&#xA;" OwnerUserId="40" LastEditorUserId="40" LastEditDate="2012-04-05T17:58:12.663" LastActivityDate="2012-04-05T17:58:12.663" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10953" PostTypeId="1" CreationDate="2012-04-02T19:13:26.560" Score="21" ViewCount="959" Body="&lt;p&gt;As we know, the $k$-clique function $CLIQUE(n,k)$ takes a (&lt;a href=&quot;http://en.wikipedia.org/wiki/Glossary_of_graph_theory&quot; rel=&quot;nofollow&quot;&gt;spanning&lt;/a&gt;) subgraph $G\subseteq K_n$ of a complete $n$-vertex graph $K_n$, and outputs $1$ iff $G$ contains a &lt;a href=&quot;http://en.wikipedia.org/wiki/Glossary_of_graph_theory&quot; rel=&quot;nofollow&quot;&gt;$k$-clique&lt;/a&gt;. Variables in this case correspond to &lt;i&gt;edges&lt;/i&gt; of $K_n$.&#xA;It is know (Razborov, Alon-Boppana)&#xA;that, for $3\leq k\leq n/2$, this function requires monotone&#xA;circuits of size about $n^k$.&#xA;&lt;p&gt;&#xA;But what if we take one &lt;b&gt;fixed&lt;/b&gt; graph $G\subseteq K_n$, and consider&#xA;the monotone boolean function $CLIQUE(G,k)$, which takes a subset $S\subseteq [n]$ of vertices, and outputs $1$ iff some $k$ vertices in $S$ form a clique in $G$. Variables in this case correspond to &lt;i&gt;vertices&lt;/i&gt; of $K_n$, and the function is just the standard clique function but restricted to the &lt;a href=&quot;http://en.wikipedia.org/wiki/Glossary_of_graph_theory&quot; rel=&quot;nofollow&quot;&gt;&lt;b&gt;spanning&lt;/b&gt;&lt;/a&gt; subgraphs of one &lt;b&gt;fixed&lt;/b&gt; graph $G$.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;&lt;b&gt;1.&lt;/b&gt; Does there exist $n$-vertex graphs $G$ for which  $CLIQUE(G,k)$ requires monotone&#xA;circuits of size larger than $n^{O(\log n)}$? I guess - NO.&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;&lt;b&gt;2.&lt;/b&gt; Is $CLIQUE(G_n,k)$ an NP-hard problem for some sequence of graphs &#xA;$(G_n\colon n=1,2\ldots)$? I guess - NO.&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Note that if $C_1,\ldots,C_r$ are all maximal cliques in $G$, then  $CLIQUE(G,k)$&#xA;can be computed as an OR of $r$ threshold-$k$ functions, the $i$-th of&#xA;which tests whether $|S_a\cap C_i|\geq k$. Thus, if $r=poly(n)$, then the entire&#xA;circuit is of polynomial size. But what about graphs with an&#xA;exponential number of maximal cliques? (A clique is maximal it no&#xA;vertex can be added to it.)&#xA;&lt;p&gt;&#xA;It is possible to &quot;embed&quot; $CLIQUE(m,k)$ into $CLIQUE(H,k)$ for a particular&#xA;graph $H$ on $n=2^m$ vertices. In particular, &lt;a href=&quot;http://www.thi.informatik.uni-frankfurt.de/~jukna/EC_Book_2nd/full-graph.pdf&quot; rel=&quot;nofollow&quot;&gt;Bollobas and Thomason (1981)&lt;/a&gt; have shown that,&#xA;if $H$ is a Hadamard graph whose vertices&#xA;are subsets of $[m]$, and two vertices $u$ and $v$ are adjacent iff $|u\cap v|$ is&#xA;even, then $H$ contains an isomorphic copy of every graph $G$ on $m$ vertices.&#xA;Can this fact be combined with Razborov´s lower bound (of about $m^k$)&#xA;for $CLIQUE(m,k)$ to conclude that  $CLIQUE(H,k)$ requires monotone circuits&#xA;of size about $m^k$?  A potential problem here is that, even though the graph $H$ &quot;contains&quot; &lt;i&gt;all&lt;/i&gt; $m$-vertex graphs, these graphs are &lt;b&gt;not&lt;/b&gt; on the &lt;b&gt;same&lt;/b&gt; set of vertices.&#xA;And Razborov's argument rquires that positive and negative inputs&#xA;($k$-cliques and complements of complete $(k-1)$-partite graphs) are&#xA;graphs on the &lt;b&gt;same&lt;/b&gt; set of vertices. Moreover, all positive inputs ($k$-cliques)&#xA;are just isomorphic copies of one and the same &lt;i&gt;fixed&lt;/i&gt; $k$-clique.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;&lt;b&gt;3.&lt;/b&gt; Any ideas? Has anybody seen such type of problems being considered? &#xA;I mean, decision problems for subgraphs of a &lt;b&gt;fixed&lt;/b&gt; graph. Or, say, &#xA;the SAT problem for sub-CNFs of one &lt;b&gt;fixed&lt;/b&gt;&#xA;(satisfiable) CNF (obtained by removing some literals)?&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;b&gt;Motivation:&lt;/b&gt; Problems of this kind are related to the complexity of combinatorial optimization algorithms. But they seem to be interesting in themself.&#xA;Why should we seek for algorithms that are efficient on &lt;i&gt;all&lt;/i&gt; graphs? In reality, we&#xA;are usually interested in the properties of small pieces of one (large) graph&#xA;(network of streets in a country, or facebook, or the like).&#xA;&lt;p&gt;&#xA;&lt;b&gt;Remark 1:&lt;/b&gt; If the graph $G=(L\cup R,E)$ is &lt;b&gt;bipartite&lt;/b&gt;, then the vertex-edge incidence matrix of the inequalities $x_u+x_v\leq 1$ for all $(u,v)\not\in E$ is totally unimodular, and one can solve the clique problem on induced subgraphs of $G$ via linear programming. Thus, for bipartite graphs $G$, $CLIQUE(G,k)$ &lt;b&gt;has&lt;/b&gt; a small (albeit  non-monotone) circuit. &#xA;&lt;p&gt;&#xA;&lt;b&gt;Remark 2:&lt;/b&gt; An indication, that in the case of &lt;b&gt;bipartite&lt;/b&gt; graphs $G$, the answer to Question 1 &quot;should&quot; indeed be NO is that then the following monotone Karchmer-Wigderson game on $G$ needs only $O(\log n)$ bits of communication. Let &#xA;$k$ be the largest number of vertices in a complete bipartite subgraph of $G$.&#xA;Alice gets a set $A$ of red nodes, Bob a set $B$ of blue nodes such that $|A|+|B|&amp;gt;k$. The goal is to find a non-edge between $A$ and $B$.&lt;/p&gt;&#xA;" OwnerUserId="5788" LastEditorUserId="5788" LastEditDate="2012-04-06T19:17:40.597" LastActivityDate="2013-04-17T09:05:27.827" Title="Clique problem on fixed graphs" Tags="&lt;cc.complexity-theory&gt;&lt;optimization&gt;&lt;circuit-complexity&gt;" AnswerCount="3" CommentCount="7" FavoriteCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="10955" PostTypeId="2" ParentId="10953" CreationDate="2012-04-02T20:55:09.920" Score="2" Body="&lt;p&gt;re Q3, there is some empirical work on the &quot;backbone&quot; and possible &quot;backdoors&quot; of SAT problems. the backbone is the set of literals that are true in every satisfying assignment. A backdoor into a SAT problem is a (hopefully small) set of variables which provide a “short cut” into solving the problem. these two structures would probably be helpful and/or key in understanding what you refer to as &quot;sub-CNFs&quot; or CNFs with some variables removed. but also DP, davis putnam algorithm can be seen as systematically exploring many &quot;sub-CNFs&quot; of the CNF to solve it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] &lt;a href=&quot;http://www.cse.unsw.com.au/~tw/kstwaaai05.pdf&quot; rel=&quot;nofollow&quot;&gt;Backbones and Backdoors in Satisfiability&lt;/a&gt; by Kilby et al&lt;/p&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2012-04-02T20:55:09.920" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10956" PostTypeId="2" ParentId="10894" CreationDate="2012-04-03T00:30:59.183" Score="3" Body="&lt;p&gt;The data structure I was looking for is called a &lt;strong&gt;parametric heap&lt;/strong&gt;. That is, a heap in which each key is a linear function (a line) instead of a fixed key. The &lt;code&gt;query(x)&lt;/code&gt; operation described above corresponds to a &lt;code&gt;find-min(x)&lt;/code&gt; operation in a parametric heap. There is a related data structure, called a &lt;strong&gt;kinetic heap&lt;/strong&gt;, which is a parametric heap where the parameter, time, only progresses forwards. In other words, once we have a &lt;code&gt;find-min&lt;/code&gt;($t_1$) query, we are allowed to ask &lt;code&gt;find-min&lt;/code&gt;($t_2$) only if $t_2 \geq t_1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As observed by &quot;someone&quot;, the parametric heap problem can be reduced to dynamic planar convex hull via point-line duality. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Most of the papers that solve this problem use a semi-dynamic &quot;deletions only&quot; data structure, and then use a dynamization technique of Bentley and Saxe to transform their data structure to also support insertions. (&lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/0196677480900152&quot; rel=&quot;nofollow&quot;&gt;J. L. Bentley and J. B. Saxe, Decomposable searching problems. I: Static-to-dynamic transformation&lt;/a&gt;) See also &lt;a href=&quot;http://compgeom.cs.uiuc.edu/~jeffe/teaching/datastructures/notes/01-statictodynamic.pdf&quot; rel=&quot;nofollow&quot;&gt;J$\epsilon$ffe's lecture notes&lt;/a&gt; for an overview on how this type of transformation works. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The classic result in this area is due to Overmars and van Leeuwen, &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/002200008190012X&quot; rel=&quot;nofollow&quot;&gt;Maintenance of configurations in the plane&lt;/a&gt;, which achieves $O(\log n)$ query time and $O(\log^2 n)$ (worst case) update time. If we wanted to implement a solution to this problem, this is the version to go with.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, there have subsequently been several theoretical improvements to the classical result.&#xA;At FOCS 99, Chan's paper &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://dl.acm.org/citation.cfm?id=363652&quot; rel=&quot;nofollow&quot;&gt;Dynamic planar convex hull operations in near-logarithmic amortized time&lt;/a&gt; &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;gave a data structure with $O(\log^{1+\epsilon} n)$ amortized time for updates.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Later, the following authors (independently) improve the time bounds  to $O(\log n \log \log n)$ for deletions and $O(\log n \log \log \log n)$ for insertions.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Brodal and Jacob &lt;a href=&quot;http://www.madalgo.au.dk/~gerth/papers/focs02.pdf&quot; rel=&quot;nofollow&quot;&gt;Dynamic Planar Convex Hull&lt;/a&gt; at FOCS 2002&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Kaplan , Tarjan, and Tsioutsiouliklis &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.18.9174&quot; rel=&quot;nofollow&quot;&gt;Faster Kinetic Heaps and Their Use in Broadcast Scheduling&lt;/a&gt; at SODA 2001&lt;/p&gt;&#xA;&#xA;&lt;p&gt;All of the above citations support &lt;code&gt;find-min&lt;/code&gt; queries in $O(\log n)$ time. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Recently, Brodal and Jacob have further improved their results to support updates in $O(\log n)$ amortized time. Their results are quite complicated, and I have only been able to find the full version of their &lt;a href=&quot;http://pwgrp1.inf.ethz.ch/Current/DPCH/Journal/topdown.pdf&quot; rel=&quot;nofollow&quot;&gt;paper in draft form&lt;/a&gt;, however, the result is also detailed in &lt;a href=&quot;http://www.brics.dk/DS/Ref/BRICS-DS-Ref/BRICS-DS-Ref.html#BRICS-DS-02-3&quot; rel=&quot;nofollow&quot;&gt;Jacob's Ph.D. Dissertation&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Recently, &lt;a href=&quot;http://www.cs.uwaterloo.ca/~tmchan/env_3_11.pdf&quot; rel=&quot;nofollow&quot;&gt;Chan&lt;/a&gt; gave other results related to dynamic planar convex hull queries, including &quot;A fully dynamic data structure for maintaining a set of n points in the plane so that we can find the edges of the convex hull intersecting a query line&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On a word-RAM, &lt;a href=&quot;http://people.csail.mit.edu/mip/papers/dynhull/paper.pdf&quot; rel=&quot;nofollow&quot;&gt;Demaine and Pătraşcu&lt;/a&gt; show that the optimal query time is $\Theta(\log n / \log \log n)$, and depending on the type of query (zero or one dimensional vs two dimensional), give update times of $O(\log n \log \log n)$ or $O(\log^2 n)$.&lt;/p&gt;&#xA;" OwnerUserId="8078" LastEditorUserId="8078" LastEditDate="2012-04-03T19:33:30.443" LastActivityDate="2012-04-03T19:33:30.443" CommentCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="10957" PostTypeId="1" AcceptedAnswerId="10960" CreationDate="2012-04-03T03:04:06.153" Score="9" ViewCount="598" Body="&lt;p&gt;In &lt;strong&gt;Graphic TSP&lt;/strong&gt;, you are given an unweighted undirected graph $G$ and the goal is to find a shortest tour in $G$ that visits every vertex &lt;em&gt;at least once&lt;/em&gt;. Note that this is NOT same as finding a hamiltonian circuit in $G$. My questions are :&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What is the complexity of Graphic TSP on bounded treewidth graphs ?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Are there any special cases of Graphic TSP with non-trivial polynomial-time algorithms ?&lt;/p&gt;&#xA;" OwnerUserId="344" LastEditorUserId="186" LastEditDate="2012-04-03T21:19:34.350" LastActivityDate="2012-04-03T21:20:50.093" Title="Special cases of Graphic TSP" Tags="&lt;ds.algorithms&gt;&lt;treewidth&gt;&lt;tsp&gt;" AnswerCount="3" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10958" PostTypeId="1" AcceptedAnswerId="10961" CreationDate="2012-04-03T03:46:20.343" Score="11" ViewCount="564" Body="&lt;p&gt;Dana Angluin (&lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/0890540187900526&quot; rel=&quot;noreferrer&quot;&gt;1987&lt;/a&gt;; &lt;a href=&quot;http://www.cse.iitk.ac.in/users/chitti/thesis/references/learningRegSetsFromQueriesAndCounterExamples.pdf&quot; rel=&quot;noreferrer&quot;&gt;pdf&lt;/a&gt;) defines a learning model with membership queries and theory queries (counterexamples to a proposed function). She shows that a regular language that is represented by a minimal DFA of &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt; states is learnable in polynomial time (where the proposed functions are DFAs) with &lt;span class=&quot;math-container&quot;&gt;$O(mn^2)$&lt;/span&gt; membership-queries and at most &lt;span class=&quot;math-container&quot;&gt;$n−1$&lt;/span&gt; theory-queries (&lt;span class=&quot;math-container&quot;&gt;$m$&lt;/span&gt; is the size of the largest counter-example provided by the tutor). Unfortunately, she does not discuss lower bounds.&lt;/p&gt;&#xA;&lt;p&gt;We can generalize the model slightly by assuming a magical tutor that can check equality between arbitrary functions and provide counterexamples if different. Then we can ask how hard it is to learn classes bigger than regular languages. I am interested in this generalization and the original restriction to regular languages.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Are there any known lower bounds on the number of queries in the membership and counterexample model?&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;I am interested in lower bounds on the number of membership queries, theory queries, or trade-offs between the two. I am interested in lower-bounds for any class of functions, even for more complicated classes than regular languages.&lt;/p&gt;&#xA;&lt;p&gt;If there are no lower-bounds: &lt;strong&gt;Are there known bariers to proving query lower bounds in this model?&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;hr /&gt;&#xA;&lt;h3&gt;Related questions&lt;/h3&gt;&#xA;&lt;p&gt;&lt;a href=&quot;https://cs.stackexchange.com/q/118/55&quot;&gt;Are there improvements on Dana Angluin's algorithm for learning regular sets&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="1037" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2018-04-30T13:51:10.283" Title="Lower bounds for learning in the membership query and counterexample model" Tags="&lt;cc.complexity-theory&gt;&lt;machine-learning&gt;&lt;lower-bounds&gt;&lt;lg.learning&gt;&lt;query-complexity&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="10959" PostTypeId="2" ParentId="10957" CreationDate="2012-04-03T03:48:35.737" Score="4" Body="&lt;p&gt;I believe for treewidth-$k$ graphs, the problem is exactly solvable in time polynomial in $n$ and $k^k$. This is true also for the metric problem on weighted bounded treewidth graphs. One does a dynamic program, where for each bag, you have an entry for every possible way of crossing from one side of the bag to the other. With $k$ nodes in the bag, one has at most $k^k$ possible configurations of going from one side of the bag to the other. In fact this works for any graph family which can be partitioned using small vertex separators into components belonging to the family (and thus in particular having small vertex separators themselves). The running time would be $poly(n, k^k)$ if the separators are of size $k$.&lt;/p&gt;&#xA;" OwnerUserId="982" LastActivityDate="2012-04-03T03:48:35.737" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10960" PostTypeId="2" ParentId="10957" CreationDate="2012-04-03T03:51:06.057" Score="10" Body="&lt;p&gt;As far as I know, dynamic programming does the trick&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Klein's paper on TSP for planar graphs has the details for planar graphs with bounded tree-width. &#xA;If the graph is not planar, the dynamic program is slower (dependency on the tree-width is worse). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Philip N. Klein: &lt;a href=&quot;http://dx.doi.org/10.1137/060649562&quot;&gt;A Linear-Time Approximation Scheme for TSP in Undirected Planar Graphs with Edge-Weights&lt;/a&gt;. SIAM J. Comput. 37(6): 1926-1952 (2008)&#xA;(&lt;a href=&quot;http://www.cs.brown.edu/~klein/publications/no-contraction.pdf&quot;&gt;PDF on Philip Klein's website&lt;/a&gt;)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Dynamic programming is also used to obtain a PTAS for bounded-genus and minor-free graphs (but as far as I remember the authors do not specify the details of the DP).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Erik D. Demaine, MohammadTaghi Hajiaghayi, Bojan Mohar: &lt;a href=&quot;http://dx.doi.org/10.1007/s00493-010-2341-5&quot;&gt;Approximation algorithms via contraction decomposition&lt;/a&gt;. Combinatorica 30(5): 533-552 (2010)&#xA;(&lt;a href=&quot;http://erikdemaine.org/papers/ContractionTSP_Combinatorica/&quot;&gt;Paper on Erik Demaine's website&lt;/a&gt;)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Erik D. Demaine, MohammadTaghi Hajiaghayi, Ken-ichi Kawarabayashi: &lt;a href=&quot;http://doi.acm.org/10.1145/1993636.1993696&quot;&gt;Contraction decomposition in H-minor-free graphs and algorithmic applications&lt;/a&gt;. STOC 2011: 441-450&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For videos on these PTAS constructions, see &lt;a href=&quot;http://courses.csail.mit.edu/6.889/fall11/lectures/L15.html&quot;&gt;Planar TSP&lt;/a&gt; and &lt;a href=&quot;http://courses.csail.mit.edu/6.889/fall11/lectures/L23.html&quot;&gt;Minor-free TSP&lt;/a&gt; (again not focussing on the tree-width part). &lt;/p&gt;&#xA;" OwnerUserId="4821" LastActivityDate="2012-04-03T03:51:06.057" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10961" PostTypeId="2" ParentId="10958" CreationDate="2012-04-03T05:37:02.563" Score="11" Body="&lt;p&gt;Yes, some lower bounds are known. For example, assuming $NP \neq coNP$, you cannot even properly learn read-thrice DNF formulas in polynomial time.  There is a whole &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=296694&quot; rel=&quot;nofollow noreferrer&quot;&gt;paper&lt;/a&gt; developing such hardness results using something called the &quot;representation problem&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To answer your linked-to question: Schapire, in his &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=136314&quot; rel=&quot;nofollow noreferrer&quot;&gt;dissertation&lt;/a&gt;, in addition to proving that &quot;weak learning&quot; = &quot;strong learning,&quot; also improved on Angluin's bound and gave an algorithm that uses $O(n)$ equivalence queries and $O(n^2+ n \log m)$ membership queries for learning DFA.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One easy way to get lower bounds is information-theory.  You can figure out how many distinct targets there are and how many bits a query gives you, etc.  These upper bounds come close but aren't there.  There are also issues one needs to think about regarding how the &quot;counterexamples&quot; arrive to the learner.  A well-chosen counterexample can give away quite a lot of information.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Update to the discussion above&lt;/em&gt;: Angluin and Dohrn address the question learning with random counterexamples in a &lt;a href=&quot;http://proceedings.mlr.press/v76/angluin17a/angluin17a.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;recent paper&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="123" LastEditorUserId="123" LastEditDate="2018-04-30T13:51:10.283" LastActivityDate="2018-04-30T13:51:10.283" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="10962" PostTypeId="1" CreationDate="2012-04-03T06:03:07.413" Score="11" ViewCount="414" Body="&lt;p&gt;Let a real $k\times n$  ($k\le n$) matrix ${\bf A}$ with the property that any collection of $k$ columns is full rank. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Q:&lt;/strong&gt; Is there an efficient way to deterministically find a vector ${\bf a}$ such that the augmented matrix ${\bf A}&amp;#39; = [{\bf A}\;{\bf a}]$ preserves the same property as ${\bf A}$: any $k$ columns are full rank.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Relevant Sidenote:&lt;/em&gt; A matrix that has this property is the generator of an $(n,k)$ Reed-Solomon Code: adding columns that preserve its Vandermonde structure preserves the rank property.&lt;/p&gt;&#xA;" OwnerUserId="6963" LastEditorUserId="-1" LastEditDate="2012-05-22T19:12:14.683" LastActivityDate="2012-05-22T19:12:14.683" Title="Constructing vectors in general position" Tags="&lt;ds.algorithms&gt;&lt;linear-algebra&gt;&lt;matrices&gt;&lt;coding-theory&gt;" AnswerCount="1" CommentCount="7" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="10963" PostTypeId="2" ParentId="10962" CreationDate="2012-04-03T07:03:06.353" Score="1" Body="&lt;p&gt;If you choose $\mathbf{a}$ uniformly at random from the hypercube $[0,1]^n$, the matrix $[\mathbf{A}~ \mathbf{a}]$ will have the desired property with probability $1$.&lt;/p&gt;&#xA;" OwnerUserId="111" LastActivityDate="2012-04-03T07:03:06.353" CommentCount="15" ContentLicense="CC BY-SA 3.0" />
  <row Id="10964" PostTypeId="2" ParentId="10957" CreationDate="2012-04-03T07:30:27.147" Score="4" Body="&lt;p&gt;Take a look at Marek Cygan, Jesper Nederlof, Marcin Pilipczuk, Michał Pilipczuk, Johan van Rooij, Jakub Onufry Wojtaszczyk, &quot;&lt;a href=&quot;http://arxiv.org/abs/1103.0534&quot; rel=&quot;nofollow&quot;&gt;Solving connectivity problems parameterized by treewidth in single exponential time&lt;/a&gt;&quot;, 2011.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think you can use their ideas to get a randomized $\mbox{poly}(n)2^{O(k)}$ time algorithm for treewidth-$k$ graphs on $n$ vertices.&lt;/p&gt;&#xA;" OwnerUserId="679" LastEditorUserId="186" LastEditDate="2012-04-03T21:20:50.093" LastActivityDate="2012-04-03T21:20:50.093" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10966" PostTypeId="2" ParentId="10953" CreationDate="2012-04-03T11:54:07.583" Score="10" Body="&lt;p&gt;We did some research on the problem of &lt;strong&gt;proving&lt;/strong&gt; in tree-like Resolution whether a fixed graph $G$ has a clique of size $k$ (where $k$ is usually small). In particular we discovered that refutations of size $n^{\Omega(k)}$ are needed for a large class of graphs. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can find the paper &lt;em&gt;Parameterized Complexity of DPLL Search Procedures&lt;/em&gt; at this &lt;a href=&quot;http://wwwusers.di.uniroma1.it/~lauria/writings.html&quot;&gt;link&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="267" LastActivityDate="2012-04-03T11:54:07.583" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10968" PostTypeId="1" CreationDate="2012-04-03T15:47:58.100" Score="6" ViewCount="283" Body="&lt;p&gt;I have what seems like an elementary question, but google didn't throw up any answers for it. I would appreciate any pointers users here may provide. Please note that I have also asked this question on &lt;a href=&quot;https://mathoverflow.net/questions/92962/k-uniform-k-partite-hypergraph-matching-in-polynomial-time&quot;&gt;Mathoverflow&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is well known that for $k\geq 3$ finding the matching number of a $k$-uniform $k$-partite hypergraph is NP hard in general. Are there subclasses of these hypergraphs for which the problem is solvable in polynomial time?&lt;/p&gt;&#xA;" OwnerUserId="8965" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2012-04-03T22:29:07.917" Title="k-uniform k-partite hypergraph matching in polynomial time" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;hypergraphs&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="10971" PostTypeId="2" ParentId="4074" CreationDate="2012-04-03T18:14:03.057" Score="9" Body="&lt;p&gt;&lt;strong&gt;Spectral Graph Theory&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.cs.yale.edu/homes/spielman/561/&quot;&gt;Spielman&lt;/a&gt; (Yale, 2009)&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://math.ucsd.edu/~jthughes/Math261C/Math261C.html&quot;&gt;Chung&lt;/a&gt; (UCSD, 2010)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="2847" LastActivityDate="2012-04-03T18:14:03.057" CommentCount="0" CommunityOwnedDate="2012-04-03T18:14:03.057" ContentLicense="CC BY-SA 3.0" />
  <row Id="10972" PostTypeId="1" AcceptedAnswerId="10987" CreationDate="2012-04-03T20:05:23.393" Score="19" ViewCount="1318" Body="&lt;p&gt;Is there an example of a class of graphs for which the vertex coloring problem is in P but the independent set is problem is NP complete?&lt;/p&gt;&#xA;" OwnerUserId="8965" LastActivityDate="2013-03-14T10:56:52.240" Title="graphs where vertex coloring is in P but independent set is NP complete" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;&lt;complexity-classes&gt;" AnswerCount="3" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10973" PostTypeId="2" ParentId="10972" CreationDate="2012-04-03T21:04:53.497" Score="22" Body="&lt;p&gt;Supposedly the reference &quot;NP-complete problems on a 3-connected cubic planar graph and their applications&quot; by Uehara (a paper I haven't actually seen) proves that independent set is NP-complete even for triangle-free planar graphs. But by &lt;a href=&quot;http://en.wikipedia.org/wiki/Gr%C3%B6tzsch%27s_theorem&quot;&gt;Grötzsch's theorem&lt;/a&gt; they are always 3-colorable, and testing for smaller numbers of colors than 3 is easy in any graph, so they can be optimally colored in P.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Circle_graph&quot;&gt;Circle graphs&lt;/a&gt; have the opposite property: for them, coloring is NP complete but the independent set problem is easy.&lt;/p&gt;&#xA;" OwnerUserId="95" LastEditorUserId="95" LastEditDate="2012-04-04T01:02:25.497" LastActivityDate="2012-04-04T01:02:25.497" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="10974" PostTypeId="1" CreationDate="2012-04-03T21:08:50.683" Score="6" ViewCount="168" Body="&lt;p&gt;Let's say there is a problem in which all possible deterministic online algorithms tha solve this problem are not-competitive. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does this mean that a randomized online algorithm for the same problem will also be not-competitive, or is there a case that it can be k-competitive (k is a constant)?&lt;/p&gt;&#xA;" OwnerUserId="8967" LastEditorUserId="186" LastEditDate="2012-04-03T22:28:24.860" LastActivityDate="2012-04-04T01:03:29.907" Title="Can a non-competitive deterministic algorithm be k-competitive if randomized?" Tags="&lt;ds.algorithms&gt;&lt;gt.game-theory&gt;&lt;online-algorithms&gt;" AnswerCount="2" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10976" PostTypeId="2" ParentId="10974" CreationDate="2012-04-04T00:30:16.643" Score="10" Body="&lt;p&gt;Imagine having to predict 0 or 1 on every round, and we are counting the number of correct predictions.  Every deterministic strategy has an adversarial sequence that makes it always predict incorrectly. Hence, no competitive ratio is possible.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, the randomized strategy of flipping a coin on every round will be $2$-competitive with the best constant prediction (in expectation).&lt;/p&gt;&#xA;" OwnerUserId="123" LastActivityDate="2012-04-04T00:30:16.643" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10977" PostTypeId="2" ParentId="10974" CreationDate="2012-04-04T01:03:29.907" Score="2" Body="&lt;p&gt;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.106.1288&quot; rel=&quot;nofollow&quot;&gt;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.106.1288&lt;/a&gt; studies one such problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem being studied is multi-unit auctions with unknown supply. The setting is a non-strategic setting (i.e each bidder reports truthfully irrespective of the outcome). Each bidder wants a single item among items which arrive online. When an item arrives it must be allocated immediately, else it perishes. At the end of the algorithm designer is allowed to charge a uniform price to each allocated bidder(which is atmost the bidders bid). The paper shows that there is no deterministic algorithm which is constant competitive, while they show a $1/4$ competitive randomized algorithm.&lt;/p&gt;&#xA;" OwnerUserId="372" LastActivityDate="2012-04-04T01:03:29.907" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10979" PostTypeId="2" ParentId="10853" CreationDate="2012-04-04T10:01:08.147" Score="8" Body="&lt;p&gt;We prove that the problem is NP-hard even in its decision form, i.e. ''Is the input graph $G$ already a chordless odd-cycle completion?'' by reduction from the following problem:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Problem P&lt;/strong&gt;: Given a graph $G$ and an edge $e\in E(G)$, is there an chordless odd cycle of length greater than 3 passing through $e$? &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;This problem is known to be NP-hard by reduction from ''detecting chordless even cycles passing through a given node'' in the &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/0012365X9190098M&quot;&gt;reference&lt;/a&gt; given in one of your comments which is stated in the paragraph before section 3 by letting $p=0$ and $q=2$: &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;As an aside, let $q&amp;gt;1$ and $p\ge 0$ be arbitrary fixed integers. The following problems are NP-complete: Does a graph $G$ contain an induced cycle through a prescribed vertex $u$, of length $p$ (mod $q$)? ...&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;(There may be a Karp reduction, but if we allow a Cook one, consider the following reduction: Replacing the given degree d node into a complete subgraph of size d with proper outgoing edges.  Then for each edges in the complete graph we can query the oracle that solves Problem P.  Note that a chordless even cycle passing through the given node corresponds to a chordless odd cycle of length greater than 3 passing through one of the edges in the complete graph.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now for the main reduction.  Given an instance of Problem P, first we detect if there are any triangles passing through $e$; if so, delete every node that forms a triangle with $e$.  Note that deleting nodes that forms a triangle with $e$ will not removing any chordless odd cycles passing through $e$ (by the chordless property).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Next, for each edge $f$ other than $e=(u,v)$ we add an auxiliary node $v_f$ and two edges $(v_f,u)$ and $(v_f,v)$.  Observe that the new graph $G&amp;#39;$ has the following property:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;$G$ has a chordless odd cycle of length greater than 3 passing through $e$ if and only if $G&amp;#39;$ is a chordless odd-cycle completion.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;For the only if direction, it can be proved by considering different types of edges in $G&amp;#39;$.  Every edge other than $e$ (including those newly added edges) will be in at least one triangle (the one that contains the auxiliary node); and $e$ will be in a chordless odd cycle in $G′$ since there is a chordless odd cycle passing through $e$ in $G$, and the cycle is not removed during the node-deleting process.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the if direction, since every edges other than $e$ must be in at least one triangle, we only have to worry about the edge $e$.  There is a chordless odd cycle passing through $e$ in $G&amp;#39;$ ($G'$ is a chordless odd cycle completion).  The cycle cannot have length 3 by construction of $G&amp;#39;$, and since the cycle cannot contain any auxiliary nodes (by chordless property), it will be in graph $G$ as well.  Therefore the proof is complete.&lt;/p&gt;&#xA;" OwnerUserId="1800" LastEditorUserId="1800" LastEditDate="2012-04-04T16:19:01.653" LastActivityDate="2012-04-04T16:19:01.653" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="10980" PostTypeId="1" CreationDate="2012-04-04T11:23:06.777" Score="0" ViewCount="237" Body="&lt;p&gt;Given a sequence &lt;em&gt;s&lt;/em&gt; (or a finite set of sequences) I would like to know if this was generated by a regular or by a context-free (supposes these are the only options) grammar.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course, this is an ill-posed problem because any finite language is regular. So I am more interested in work which tried to discover context-free, non-regular structures inside a given sequence. I could think of two possible ways of doing it:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;is a smallest CF grammar &quot;much smaller&quot; than a smallest regular grammar? If yes, this would be a good indicator that the generative grammar should be CF&lt;/li&gt;&#xA;&lt;li&gt;try to find specific context-free structures (in the sense of the pumping lemma).&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Any work out there I should know about?&lt;/p&gt;&#xA;" OwnerUserId="941" LastActivityDate="2012-04-04T12:49:55.597" Title="Decide if a given sequence is regular or context-free" Tags="&lt;fl.formal-languages&gt;&lt;grammars&gt;&lt;context-free&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10981" PostTypeId="2" ParentId="10915" CreationDate="2012-04-04T12:21:53.573" Score="5" Body="&lt;p&gt;For sure, the automata performs a measurement after reading each symbol &quot;a&quot; and applying an associated unitary $V_a$. Yet, it is not really &lt;strong&gt;meaningful&lt;/strong&gt; to compute the &lt;em&gt;amplitudes&lt;/em&gt; of the state to be measured over $|q_{0}⟩$ and $|q_{1}⟩$ and to put them on the diagram, for the automata does &lt;em&gt;neot&lt;/em&gt; measure the projectors $|q_{0}⟩\langle q_{0}|$, and $|q_{1}⟩\langle q_{1}|$. In other words, this numbers do not represent probabilities, they do not correspond to outcomes of the measurement to be performed. Therefore, labeling the arrows of the diagram with this numbers would give a potentially-misleading illustration of how the measurement process is working. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Although I might say things you already know, let us elaborate on the topic a bit to clarify the meaning of the transition diagrams you depicted. It is important to highlight that after reading a symbol $a$ and applying $V_a$, the automata does &lt;em&gt;not&lt;/em&gt; perform a measurement in the standard computational basis: $$\{|q_0⟩,|q_1⟩,|q_{acc}⟩,|q_{rej}⟩\}$$ Instead, the automata measures this complete set of orthogonal projectors:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$P_{acc}=|q_{acc}⟩\langle q_{acc}|$&lt;/li&gt;&#xA;&lt;li&gt;$P_{rej}=|q_{rej}⟩\langle q_{rej}|$&lt;/li&gt;&#xA;&lt;li&gt;$P_{non}= |q_{0}⟩\langle q_{0}|+|q_{1}⟩\langle q_{1}|$&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;In other words, the measurement has three possible outcomes: (&lt;em&gt;acc&lt;/em&gt;) the automata measures an accepting state and halts; (&lt;em&gt;rej&lt;/em&gt;) the automata measures a rejecting state and halts; (&lt;em&gt;non&lt;/em&gt;) the automate measures something else, does not halt, and reads next symbol (non states for non-halting). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, this is a problem I see in your diagrams: if you had a state $(|q_{0}⟩+|q_{1}⟩)/2$ before some measurement, and you happened to obtain the outcome (non), the state would remain &lt;strong&gt;invariant&lt;/strong&gt; after the measurement (just apply $P_{non}$ and check). Therefore, depicting the probability of transition to either $|q_{0}⟩$ or $|q_{1}⟩$ creates confusion.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Taking all said into account it is easy to follow the calculation given in your &lt;a href=&quot;http://arxiv.org/abs/quant-ph/9802062&quot; rel=&quot;nofollow&quot;&gt;main reference&lt;/a&gt;. In order to illustrate everything said, and, for completeness, I will quote it with here with some minor comments (though I added some modifications, I do not know whether this type of quoting is acceptable;  if its is &lt;em&gt;not&lt;/em&gt;, please, let me know or edit the answer yourself):&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;The automaton starts in $|q_0\rangle$.&lt;/p&gt;&#xA;  &#xA;  &lt;ol&gt;&#xA;  &lt;li&gt;&lt;p&gt;&lt;strong&gt;Read &quot;a&quot;&lt;/strong&gt;.  $V_a$ is applied,&#xA;  giving $\frac{1}{2} |q_0\rangle+\frac{1}{2} |q_1\rangle+&#xD;&#xA;\frac{1}{\sqrt{2}} |q_{rej}\rangle$.&#xA;  This is observed. Two outcomes are possible. With probability&#xA;  $(1/\sqrt{2})^2=1/2$, a rejecting state is observed.&#xA;  Then, the superposition collapses to $|q_{rej}\rangle$,&#xA;  the word is rejected and the computation terminates.&#xA;  Otherwise (with probability $1/2$), a non-halting state is observed and the&#xA;  superposition collapses to $\frac{1}{2} |q_0\rangle+\frac{1}{2} |q_1\rangle$.&#xA;  In this case, the computation continues.&lt;/p&gt;&lt;/li&gt;&#xA;  &lt;li&gt;&lt;p&gt;&lt;strong&gt;Read &quot;a&quot; again&lt;/strong&gt;. A simple computation (we leave the details out) &#xA;  shows that $\frac{1}{2} |q_0\rangle+\frac{1}{2} |q_1\rangle$ is mapped&#xA;  to itself by $V_a$.&#xA;  After that, a non-halting state is observed. (There are no&#xA;  accepting or rejecting states in this superposition.)&lt;/p&gt;&lt;/li&gt;&#xA;  &lt;li&gt;&lt;p&gt;&lt;strong&gt;Read final symbol \$&lt;/strong&gt;. The transformation $V_{\$}$ corresponding&#xA;  to the right endmarker $\$$ is done. It maps&#xA;  the superposition to $\frac{1}{2} |q_{rej}\rangle+\frac{1}{2} |q_{acc}\rangle$.&#xA;  This is observed. With probability $(1/2)^2=1/4$, the rejecting state $q_{rej}$&#xA;  is observed. With probability $1/4$, the accepting state $q_{acc}$ is observed.&lt;/p&gt;&lt;/li&gt;&#xA;  &lt;/ol&gt;&#xA;  &#xA;  &lt;p&gt;The total probability of accepting is $1/4$, the probability&#xA;  of rejecting is $1/2+1/4=3/4$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="7286" LastEditorUserId="7286" LastEditDate="2012-04-09T20:10:51.180" LastActivityDate="2012-04-09T20:10:51.180" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="10982" PostTypeId="2" ParentId="10980" CreationDate="2012-04-04T12:49:55.597" Score="5" Body="&lt;p&gt;As you already noted, a single example or any finite number of words in $L$ is not going to be the right notion. So why not look beyond? A somewhat famous paper did so in 1967 and revealed what happens when you try to &lt;a href=&quot;http://en.wikipedia.org/wiki/Language_identification_in_the_limit&quot;&gt;learn in the limit&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An alternative interpretation of your question leads to the field of descriptive complexity theory where one looks for a minimal representation $\langle M,w\rangle$ of a string in terms of a TM $M$ and an input word $w$ to it. Asking whether a single word had been (better?) generated by a CFG or a DFA is indeed ill-posed: either one would be a special case of such a pair $\langle M,w\rangle$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, given $w\in\Sigma^*$, asking for the smallest DFA $A$ and CFG $G$ with $w\in L(A)$ and $w\in L(G)$ is going to disappoint. The simplest DFA (with just one state) and the simplest CFG (with one non-terminal) will do because the universal language $\Sigma^*$ is blatantly regular. To make this intersting you'd need some negative instances, which brings you back to reading said famous article. I recommend it.&lt;/p&gt;&#xA;" OwnerUserId="3552" LastActivityDate="2012-04-04T12:49:55.597" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10983" PostTypeId="1" AcceptedAnswerId="11013" CreationDate="2012-04-04T15:06:58.013" Score="14" ViewCount="4277" Body="&lt;p&gt;I wonder how to find the &lt;a href=&quot;http://en.wikipedia.org/wiki/Girth_%28graph_theory%29&quot; rel=&quot;nofollow&quot;&gt;girth&lt;/a&gt; of a sparse undirected graph. By sparse I mean $|E|=O(|V|)$. By optimum I mean the lowest time complexity.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I thought about some modification on &lt;a href=&quot;http://en.wikipedia.org/wiki/Tarjan%27s_strongly_connected_components_algorithm&quot; rel=&quot;nofollow&quot;&gt;Tarjan's algorithm&lt;/a&gt; for undirected graphs, but I didn't find good results. Actually I thought that if I could find a 2-connected components in $O(|V|)$, then I can find the girth, by some sort of induction which can be achieved from the first part. I may be on the wrong track, though. Any algorithm asymptotically better than $\Theta(|V|^2)$ (i.e. $o(|V|^2)$) is welcome.&lt;/p&gt;&#xA;" OwnerUserId="1846" LastEditorUserId="1846" LastEditDate="2013-05-13T07:12:39.913" LastActivityDate="2013-05-13T07:12:39.913" Title="Optimal algorithm for finding the girth of a sparse graph?" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;open-problem&gt;" AnswerCount="2" CommentCount="3" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="10985" PostTypeId="2" ParentId="10915" CreationDate="2012-04-04T15:41:46.960" Score="5" Body="&lt;p&gt;Juan Bermejo Vega has given an accurate summary of what is said in the original paper. I will give you a higher-level description.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I will recommend, in your case, to avoid thinking of the amplitudes as probabilities altogether. They are related to probabilities, but this is not especially helpful to think about for these finite automata. I suspect that things will be much clearer if you think of this as a slightly abstract recipe for transforming complex-valued vectors instead.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What vectors are we transforming? Well: suppose you have a finite automaton with &lt;em&gt;n&lt;/em&gt; states. The automaton represents a (yes, probabilistic) model for transforming vectors, which at any time step may give rise to an accepting or rejecting decision.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Define &lt;em&gt;n&lt;/em&gt; axes (coefficients of the vectors being transformed). Label each axis with one of the labels of the states. In particular, there is an &lt;strong&gt;accept&lt;/strong&gt; axis and a &lt;strong&gt;reject&lt;/strong&gt; axis. Call this vector space $\mathcal H$. The vectors we will be transforming are unit vectors in $\mathcal H$, and the only probabilities we will ever consider have to do with the coefficients of the vectors along the accept or reject axes. &lt;/li&gt;&#xA;&lt;li&gt;We have a collection of transformations $V_q : \mathcal H \to \mathcal H$ for each state &lt;em&gt;q&lt;/em&gt;, such that $V_q^\dagger V_q = I$ (&lt;em&gt;i.e.&lt;/em&gt;&amp;nbsp;they are &lt;strong&gt;unitary&lt;/strong&gt;). We also have an initial transformation $V_c$ (neglected in the example you describe; we have $V_c = I$ in that case) and a final transformation $V_\$$ which are also unitary.&lt;/li&gt;&#xA;&lt;li&gt;We start with a vector $V_c\,\mathbf{\hat e}_1$, where $V_c$ is the initial transformation and $\mathbf{\hat e}_1$ is the unit vector in the direction of the axis of the first state ($q_0$ in your example). We then perform the following transformations for each letter:&lt;br&gt;&lt;br&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;If the next letter to be read is $a$, we perform the transformation $V_a$ on the vector.&lt;/li&gt;&#xA;&lt;li&gt;The resulting vector $\mathbf v$ might have coefficients $u_A$ along the accept axis, and $u_R$ along the reject axis. If so, we immediately accept with probability $|u_A|^2$ and reject with probability $|u_R|^2$.&lt;/li&gt;&#xA;&lt;li&gt;If some of the other coefficients are non-zero, there is a probability that the computation continues; if it does so, we multiply the vector by a factor of $(1 - |u_A|^2 - |u_R|^2)^{-1/2}$, and  set the accept and reject coefficients to zero.&lt;/li&gt;&#xA;&lt;li&gt;Proceed for the next letter.&lt;br&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&lt;/li&gt;&#xA;&lt;li&gt;We perform these transformations for each letter of the word, and also for a terminating symbol \$ which we append to the end.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;The only time probabilities come into play is with the accepting and rejecting axis&lt;/em&gt;. While this model of computation is obviously inspired by finite automata, it is simple not useful to interpret any of the other coefficients of the vector, at any point in time (even at the end!), as being probabilities.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that the accept and reject probabilities at each timestep are &lt;em&gt;conditional&lt;/em&gt; probabilities, &lt;em&gt;i.e.&lt;/em&gt;&amp;nbsp;they depend on the computation not having yet halted; if you want to compute the total probability of acceptance/rejection, you can most easily do this by dispensing with the &quot;renormalization&quot; step in the evolution (the part where we multiply by the inverse-square-root value; but still setting the accept/reject coefficients to zero if the computation continues), and simply sum all of the probabilistic contributions to accepting/rejecting that arise along the way.&lt;/p&gt;&#xA;" OwnerUserId="248" LastEditorUserId="248" LastEditDate="2012-04-04T15:46:48.280" LastActivityDate="2012-04-04T15:46:48.280" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10986" PostTypeId="2" ParentId="4565" CreationDate="2012-04-04T16:10:34.287" Score="2" Body="&lt;p&gt;It looks like Gacs is on his way of constructing a fault-tolerant Turing machine.&#xA;Take a look at this: &lt;a href=&quot;http://arxiv.org/abs/1203.1335&quot; rel=&quot;nofollow&quot;&gt;http://arxiv.org/abs/1203.1335&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="8719" LastActivityDate="2012-04-04T16:10:34.287" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10987" PostTypeId="2" ParentId="10972" CreationDate="2012-04-04T16:45:55.460" Score="21" Body="&lt;p&gt;A perhaps more general statement (with an easy proof) is that the following problem is already NP-complete:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Input: A graph G, a 3-coloring of G, an integer k.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Question: Does G have an independent set of size k?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This can be proven by a reduction from Independent Set. Observe that if we take a graph G, pick some edge, and subdivide it twice (i.e. replace edge {u,v} by a path u,x,y,v where x and y have degree two) then the independence number of G increases by exactly one. (You can add exactly one of x or y to any set which was independent in G, and the reverse is not difficult either.) So the question if graph G with m edges has an independent set of size k, is equivalent to the question whether G', which is the result of subdividing all edges in G twice, has an independent set of size k + m. But note that it is easy to get a 3-coloring of G', by partitioning G' into three independent sets as follows: one contains the vertices which were also in G, and the other two classes each contain exactly one of the two &quot;subdivider&quot; vertices for each edge. Hence this procedure constructs a graph G' with a 3-coloring of it, such that computing its independence number gives you the independence number of the original graph G.&lt;/p&gt;&#xA;" OwnerUserId="122" LastActivityDate="2012-04-04T16:45:55.460" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10989" PostTypeId="2" ParentId="10983" CreationDate="2012-04-04T21:00:32.147" Score="5" Body="&lt;p&gt;Finding girth of a planar graph has an interesting history. See &lt;a href=&quot;http://arxiv.org/abs/1104.4892&quot; rel=&quot;nofollow&quot;&gt;this paper&lt;/a&gt; by Chang and Lu for a linear time algorithm and the history of improvements.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is no general technique to find girth of &lt;em&gt;any&lt;/em&gt; sparse graph. Often we have to look the associated special decompositions or embeddings to achieve better bounds. If a graph is &quot;provably&quot; sparse, there is often a nice structure associated with it. For example, bounded treewidth graphs are sparse and they have the associated tree decompositions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Designing a $o(n^2)$ algorithm for general sparse graphs is an open problem.&lt;/p&gt;&#xA;" OwnerUserId="344" LastActivityDate="2012-04-04T21:00:32.147" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10990" PostTypeId="1" AcceptedAnswerId="11021" CreationDate="2012-04-04T21:48:54.677" Score="20" ViewCount="2119" Body="&lt;p&gt;As you know there are many anomolies for the single tape Turing machines when the time is $o(n^2)$: multi-tape TM simulation, simulation of larger tape alphabet with just $\{0,1,b\}$, time constructability, non-tightness of time hierarchy theorem, ...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also results like $\mathsf{DTime}(o(n\lg n)=\mathsf{Reg}$, and very model specific $O(n^2)$ time lowerbounds for simple problems (that don't translate to even superlinear lowerbounds on two tape TMs).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For space complexity, we use a model where we have a separate read only input tape, which is more natural and robust.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A TM model with multiple tapes (or at least 2 working tapes) would be much more robust and will not lead to anomalies like those I listed above. I once asked a prominent complexity theorist who has proven simulation results in the early years of complexity theory if he knows any improvements on one of these old results and the reply was that he doesn't think that &quot;questions about the one tape model are that important&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we change the standard model for time complexity to a two tape TMs, reasonable results in complexity theory will not change and we avoid these anomalies caused by particular model. So my question is:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;is there any reason why the time complexity is still defined in terms of single tape TMs?&#xA;  (other than historical reasons) &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="186" LastEditorUserId="1080" LastEditDate="2012-04-05T00:11:31.033" LastActivityDate="2012-04-07T22:49:06.397" Title="Why do we use single tape Turing machines for time complexity?" Tags="&lt;cc.complexity-theory&gt;&lt;turing-machines&gt;" AnswerCount="3" CommentCount="11" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="10991" PostTypeId="2" ParentId="10990" CreationDate="2012-04-05T00:15:27.323" Score="8" Body="&lt;p&gt;The original Turing machine was described using a single tape:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;www.cs.ox.ac.uk/activities/ieg/e-library/sources/tp2-ie.pdf&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So as you state in your question, this is mainly for historical reasons. Furthermore, there is always the tendency to ask what is the simplest model that can do something...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, since this topic is usually being taught very formally, it is just technically easier to describe a single tape machine than a two tape maching.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See also:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.cs.utah.edu/~draperg/cartoons/2005/turing.html&quot;&gt;http://www.cs.utah.edu/~draperg/cartoons/2005/turing.html&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="9594" LastActivityDate="2012-04-05T00:15:27.323" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="10992" PostTypeId="2" ParentId="10990" CreationDate="2012-04-05T00:31:55.673" Score="15" Body="&lt;p&gt;I've seen texts define TIME( $f(n)$ ) using multi-tape Turing machines, but Sipser uses a single tape machine.  You've almost surely first encountered this material through Sipser because it's so fabulously well written.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is a crystal clear pedagogical reason why Sipser does this, namely the course just naturally flows that way because :&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;You should introduce the single tape machine before the multi-tape machine, otherwise steepens the learning curve.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;There is no compelling reason to introduce the multi-tape machine before introducing O($\cdot$) and TIME($\cdot$) for single tape machines.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;You should ideally compare the multi-tape machine with the single tape machine the moment you introduce the multi-tape machine, otherwise the prolonged ignorance will lead to additional confusion.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;You could omit introducing the analogous TIME classes for multi-tape machines, thus simplifying notation overall.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;There is no reason to quibble over conceptual cleanliness when the pedagogy so clearly dictates the easiest path, and every computer science undergrad must take this elementary course, including all those who still don't understand proofs. &lt;/p&gt;&#xA;" OwnerUserId="6665" LastActivityDate="2012-04-05T00:31:55.673" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="10998" PostTypeId="1" AcceptedAnswerId="11000" CreationDate="2012-04-05T16:48:59.173" Score="8" ViewCount="181" Body="&lt;p&gt;I'm interested in pointers to algorithms (approximation algorithms are fine) that attempt to partition a graph into two subsets such that the sum of the edge weights within each subset is (approximately) equal, and the sum of the edge weights between the two subsets is (approximately) minimal.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any pointers are much appreciated.&lt;/p&gt;&#xA;" OwnerUserId="8993" LastEditorUserId="186" LastEditDate="2012-04-06T04:57:35.927" LastActivityDate="2012-04-06T04:57:35.927" Title="Graph partitioning, balancing on within subset edge weights" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="10999" PostTypeId="1" AcceptedAnswerId="11001" CreationDate="2012-04-05T17:04:12.920" Score="13" ViewCount="536" Body="&lt;p&gt;Can anyone list some well-known problems that satisfies the following conditions:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;1. has a generalization problem that is known to be NP-complete&#xA;2. has not been proved to be NP-complete nor has a known polynomial time solution. &#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;" OwnerUserId="8564" LastEditorUserId="80" LastEditDate="2012-04-06T05:56:23.800" LastActivityDate="2012-04-09T21:35:55.703" Title="Problems with complexity between P and NP that have  NP-complete generalizations" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;" AnswerCount="4" CommentCount="2" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="11000" PostTypeId="2" ParentId="10998" CreationDate="2012-04-05T17:10:50.150" Score="9" Body="&lt;p&gt;The problem is called GRAPH CONDUCTANCE, and the best algorithm is by &lt;a href=&quot;http://doi.acm.org/10.1145/1502793.1502794&quot;&gt;Arora et al.&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Sanjeev Arora, Satish Rao, Umesh V. Vazirani: Expander flows, geometric embeddings and graph partitioning. J. ACM 56(2): (2009)&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;This is a &lt;a href=&quot;http://doi.acm.org/10.1145/1400181.1400204&quot;&gt;more accessible version&lt;/a&gt;, by the same authors:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Sanjeev Arora, Satish Rao, Umesh V. Vazirani: Geometry, flows, and graph-partitioning algorithms. Commun. ACM 51(10): 96-105 (2008)&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="7059" LastActivityDate="2012-04-05T17:10:50.150" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11001" PostTypeId="2" ParentId="10999" CreationDate="2012-04-05T17:17:40.877" Score="18" Body="&lt;p&gt;Most famously: Graph Isomorphism, and Dominating Set on Tournaments.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Generalizations are natural.&lt;/p&gt;&#xA;" OwnerUserId="7059" LastActivityDate="2012-04-05T17:17:40.877" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11002" PostTypeId="1" AcceptedAnswerId="11661" CreationDate="2012-04-05T19:06:55.143" Score="4" ViewCount="1164" Body="&lt;p&gt;In &lt;em&gt;A New Kind of Science&lt;/em&gt;, Wolfram proves that the Rule 110 cellular automaton can emulate a cyclic tag system, and is therefore a universal computer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I was wondering what specific initial conditions are used to model basic computations.  For the sake of specificity, my question is--what initial conditions do I have to give Rule 110 if I want to simulate $1 + 1$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Note:&lt;/em&gt;  On &lt;a href=&quot;http://www.wolframscience.com/nksonline/page-681&quot; rel=&quot;nofollow&quot;&gt;page 681&lt;/a&gt;, Wolfram provides pictures of &quot;black elements&quot; and &quot;white elements&quot; in Rule 110, but it is hard to tell which initial conditions created them.  On &lt;a href=&quot;http://www.wolframscience.com/nksonline/page-1116&quot; rel=&quot;nofollow&quot;&gt;page 1116&lt;/a&gt; (in the &quot;Notes&quot; section), he gives Mathematica code to set up the cyclic tag system.  But I want to know specifically which initial conditions will simulate the computation $1 + 1$.&lt;/p&gt;&#xA;" OwnerUserId="8995" LastEditorUserId="186" LastEditDate="2012-04-05T22:45:02.917" LastActivityDate="2012-06-06T15:39:07.200" Title="Initial conditions for universal Rule 110" Tags="&lt;computability&gt;&lt;universal-computation&gt;&lt;cellular-automata&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="11004" PostTypeId="1" CreationDate="2012-04-06T02:30:23.933" Score="15" ViewCount="778" Body="&lt;p&gt;A connected graph can be decomposed into its biconnected components. This &lt;strong&gt;block cutpoint tree&lt;/strong&gt; is unique. Similarly, biconnected graphs can be decomposed into triconnected components. The corresponding &lt;strong&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/SPQR_tree&quot; rel=&quot;nofollow noreferrer&quot;&gt;SPQR tree&lt;/a&gt;&lt;/strong&gt; describes all the 2-vertex cuts in the graph and is uniquely determined from its graph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This process does not generalize to higher connectivity. For example, given a triconnected graph $G$, there can be multiple &quot;trees&quot; describing all the 3-vertex cuts of $G$.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Are there special classes of graphs such that $k$-connected graphs (in these classes) can be decomposed &lt;strong&gt;uniquely&lt;/strong&gt; into their $k+1$-connected components.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Note that my question is slightly different from &lt;a href=&quot;https://cstheory.stackexchange.com/questions/8627/are-there-nice-generalizations-of-spqr-trees-to-k-connected-components-for-k3&quot;&gt;this question&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="344" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2012-04-06T05:23:23.697" Title="Decomposing k-connected graphs into (k+1)-connected components" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="11005" PostTypeId="2" ParentId="11004" CreationDate="2012-04-06T05:23:23.697" Score="8" Body="&lt;p&gt;The following recent paper seems to be related to your question:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Connectivity and tree structure in finite graphs&lt;br&gt;&#xA;Johannes Carmesin, Reinhard Diestel, Fabian Hundertmark, Maya Stein&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://arxiv.org/abs/1105.1611&quot;&gt;http://arxiv.org/abs/1105.1611&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="3189" LastActivityDate="2012-04-06T05:23:23.697" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11007" PostTypeId="1" AcceptedAnswerId="11011" CreationDate="2012-04-06T08:35:24.540" Score="9" ViewCount="187" Body="&lt;p&gt;Let $G$ be a graph embedded on an orientable compact surface of genus $g$ so that the embedding is cellular. Consider the dual of the graph $G^*$. Let $C_1$ and $C_2$ be disjoint cycles in $G^*$ that are homotopic to each other and let $E_1$ and $E_2$ be their corresponding edge sets in $G$ respectively. Is $G \setminus (E_1 \cup E_2)$ a disconnected graph?&lt;/p&gt;&#xA;" OwnerDisplayName="user1694" LastEditorUserId="186" LastEditDate="2012-04-06T23:39:48.260" LastActivityDate="2012-04-06T23:39:48.260" Title="Does a pair of disjoint homotopic cycles in the dual separate the graph?" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;topological-graph-theory&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11009" PostTypeId="1" AcceptedAnswerId="11018" CreationDate="2012-04-06T13:58:16.380" Score="6" ViewCount="3674" Body="&lt;p&gt;I know that Exceptions as a means of flow-control is generally frowned upon.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But in my opinion, Exceptions have little value short of the flow-control aspect - after all, if you didn't want the program to continue, you could just output an error-message an terminate the program.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Exceptions, on the other hand, provide a means of reporting errors &quot;locally&quot;, allowing a service/component to fail, and a consumer to handle the failure - and regardless of how you look at that, it is a means of controlling the flow of the program.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So here's my question - over the years, I have frequently wondered, why isn't it possible to &lt;em&gt;resume&lt;/em&gt; execution after an exception is thrown?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, you wouldn't want to allow any consumer to resume after an Exception thrown by any other component, as that component was probably not designed to resume after a throw-statement, which would lead to unpredictable results.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So let's say there's a supertype of Exception called Interrupt, that allows this behavior. An Interrupt would behave just like an Exception in every respect, except that by throwing an Interrupt, you indicate that the component is ready and able to resume execution after the throw-statement, and that the stack needs to be preserved either until (A) the Interrupt has been handled, or (B) the program exits with an error-message.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let's say we add a new &quot;resume&quot; statement to the language, to be used inside a traditional &quot;catch&quot; block - if you catch an Interrupt, and issue a &quot;resume&quot; statement, control would return to the point from where the Interrupt was originally thrown, and execution would continue from the next statement.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I've presented this idea in other circles, and I'm met with a lot of resistance, but no clear argument as to why this is not a good idea.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To me, it seems like a natural extension of the idea of exceptions - there are plenty of cases where this could be useful, for example while enumerating a sequence, e.g. in a function that &quot;yields&quot; one result at a time; an unexpected condition could occur while producing one of these results, and you may want the &lt;em&gt;calling&lt;/em&gt; code to decide whether or not it makes sense to continue producing more results.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An exception does not allow for that.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let's say this function throws an interrupt instead - if so, the calling code now has a chance to look at that and decide whether to resume execution (as if the exception never occurred) and produce more results, perhaps log the condition and then resume, or perhaps throw an exception, or perhaps re-throw the interrupt in case it can be handled up-stream.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm sure I'm not the first person to have this idea, but I would like to understand why this isn't feasible or why it's not a good idea.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(PS: I'm a programmer, not a scientist, so go easy on me.)&lt;/p&gt;&#xA;" OwnerUserId="9002" LastEditorUserId="186" LastEditDate="2012-04-06T23:41:43.157" LastActivityDate="2015-06-03T00:39:41.977" Title="Why isn't it possible to recover/resume after an Exception?" Tags="&lt;pl.programming-languages&gt;&lt;language-design&gt;" AnswerCount="3" CommentCount="17" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="11010" PostTypeId="2" ParentId="3548" CreationDate="2012-04-06T14:14:27.047" Score="9" Body="&lt;p&gt;There is a property of the &lt;strong&gt;distance matrix&lt;/strong&gt; (and not the adjacency matrix) of &lt;em&gt;restricted&lt;/em&gt; planar graphs that might be of interest, the &lt;strong&gt;Monge property&lt;/strong&gt;. &#xA;The Monge property (due to Gaspard Monge) for planar graphs essentially means that &lt;em&gt;certain&lt;/em&gt; shortest paths cannot cross. See &lt;a href=&quot;http://en.wikipedia.org/wiki/Monge_array&quot;&gt;Wikipedia: Monge Array&lt;/a&gt; for a formal description of the Monge property. &lt;a href=&quot;http://dx.doi.org/10.1007/3-540-62559-3_14&quot;&gt;Djidjev (WG 1996)&lt;/a&gt; (&lt;a href=&quot;http://public.lanl.gov/djidjev/papers/planar-spp.ps&quot;&gt;paper on Djidjev's website&lt;/a&gt;) and &lt;a href=&quot;http://dx.doi.org/10.1016/j.jcss.2005.05.007&quot;&gt;Fakcharoenphol and Rao (FOCS 2001)&lt;/a&gt; (&lt;a href=&quot;http://courses.csail.mit.edu/6.889/fall11/lectures/L12.html&quot;&gt;Video&lt;/a&gt;) show how to exploit the non-crossing properties in shortest-path algorithms. &lt;/p&gt;&#xA;" OwnerUserId="4821" LastActivityDate="2012-04-06T14:14:27.047" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11011" PostTypeId="2" ParentId="11007" CreationDate="2012-04-06T16:36:30.490" Score="9" Body="&lt;p&gt;Yes.  Let me write $\Sigma$ for the surface on which $G$ and $G^*$ are embedded.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Because the cycles $C_1$ and $C_2$ are homotopic, they are also in the same $\mathbb{Z}_2$-homology class.  So by definition, the symmetric difference $C_1\oplus C_2$ is the boundary of the union of some subset of faces of $G^*$; call this union of faces $U$.  (In fact, either $U$ or its complement $\Sigma\setminus U$ must be an annulus, but this isn't important.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Because $C_1$ and $C_2$ are disjoint, the symmetric difference $C_1\oplus C_2$ is equal to the union $C_1\cup C_2$.  In particular, we have $C_1\oplus C_2\ne \varnothing$, which implies that both $U$ and its complement $\Sigma\setminus U$ are non-empty.  In other words, the subsurface $\Sigma \setminus (C_1\cup C_2)$ is disconnected.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any path in $G$ can be viewed as a path in $\Sigma$ that avoids the vertices of $G^*$, and vice versa (up to homotopy).  Thus, the (graph) components of $G\setminus (E_1\cup E_2)$ correspond bijectively to the (surface) components of $\Sigma \setminus (C_1\cup C_2)$.  We conclude that $G\setminus (E_1\cup E_2)$ is disconnected.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The assumption that $\Sigma$ is orientable is never used.&lt;/p&gt;&#xA;" OwnerUserId="111" LastActivityDate="2012-04-06T16:36:30.490" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="11013" PostTypeId="2" ParentId="10983" CreationDate="2012-04-06T21:55:02.750" Score="25" Body="&lt;p&gt;Here's what I know about the girth problem in undirected unweighted graphs.&#xA;First of all, if the girth is even, you can determine it in $O(n^2)$ time- this is an old result of Itai and Rodeh (A. Itai and M. Rodeh. Finding a minimum circuit in a graph. SIAM J. Computing, 7(4):413–423, 1978.). The idea there is: for each vertex in the graph, start a BFS until the first cycle is closed (then stop and move on to the next vertex); return the shortest cycle found. If the girth is even the shortest cycle found will be the shortest cycle. In particular if your graph is bipartite this will always compute the girth. If the girth $g$ is odd, however, you'll find a cycle of length $g$ or $g+1$, so you may be off by $1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, the real problem with odd girth is that inevitably your algorithm would have to be able to detect if the graph has a triangle. The best algorithms for that use matrix multiplication: $O($ min{$n^{2.38}, m^{1.41})$ time for graphs on $n$ nodes and $m$ edges.&#xA;Itai and Rodeh also showed that any algorithm that can find a triangle in dense graphs can also compute the girth, so we have an $O(n^{2.38})$ time girth algorithm. However, the runtime for the girth in sparse graphs is not as good as that for finding triangles. The best we know in general is $O(mn)$. In particular, what seems to be the hardest is to find a $o(n^2)$ time algorithm for graphs with $m=O(n)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you happen to care about approximation algorithms, Liam Roditty and I have a recent paper in SODA'12 on that: Liam Roditty, V. Vassilevska Williams: Subquadratic time approximation algorithms for the girth. SODA 2012: 833-845.&#xA;There we show that a $2$-approximation can be found in subquadratic time, and some other results concerning additive approximations and extensions. Generally speaking, because of a theorem of Bondy and Simonovits, when you have densish graphs, say on $n^{1+1/k}$ edges, they already contain short even cycles, say roughly $2k$. So the denser the graph is, the easier it is to find a good approximation to the girth. When the graph is very sparse, the girth can be essentially arbitrarily large.&lt;/p&gt;&#xA;" OwnerUserId="410" LastActivityDate="2012-04-06T21:55:02.750" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="11016" PostTypeId="2" ParentId="10819" CreationDate="2012-04-07T03:23:14.790" Score="0" Body="&lt;p&gt;You are right that in many real-world applications, we never need to transmit an empty string.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You are right that in those applications, we &lt;em&gt;could&lt;/em&gt; divide the unit interval into only two pieces, [0,(P(b)−P(a))/(1−P(a)),1] when encoding the first bit, which corresponds to mapping [P(a),P(a)+P(b),1] to fill up the unit interval.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, arithmetic coding already does that, so there is no need to add special case code to handle that, much like there is no need to add special-case hardware to zero the AX register in the special case of XOR AX, AX.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;details&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;At any time during sequentially encoding or decoding, the P(a) is the probability that the message ends at that time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you know for a fact that P(a) is zero at one or more times during sequential decoding -- if you know that you will never need to transmit the empty string, or you know for a fact that you will always transmit a multiple of 8 bits -- then the compression implementation and decompression implementation should set P(a) to zero at those one or more times.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then the normal  [0,P(a),P(a)+P(b),1] intervals becomes [0, 0, P(b), 1], giving effectively only two intervals of non-zero measure -- [0, P(b), 1].&#xA;Your suggestion of [0,(P(b)−P(a))/(1−P(a)),1], when you know P(a) is zero, becomes the same two intervals [0, P(b), 1].&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;does arithmetic coding assign any string an encoding in the interval [0,P(a))?&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Yes, the &lt;em&gt;encoder&lt;/em&gt; assigns the empty string an encoding in that interval -- but only if that interval exists.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, in the special case where P(a) is zero, the interval [0,P(a)) becomes [0, 0), which is empty (not even a single point).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In that special case where you know we will never need to transmit an empty string, then P(a) is zero while encoding that first bit,&#xA;and so arithmetic coding does &lt;em&gt;not&lt;/em&gt; assign any string a finite-length encoding in the interval [0,P(a)).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;And so, in that special case where P(a) is zero during the first bit, a arithmetic decoder will never emit an empty string, no matter what compressed representation it is given.&#xA;Even if the range of some symbol did include exactly one single point -- such as, for example, [0,0] -- the decompressor would never emit that symbol.&#xA;Even the decompressor is given the sequence of decimal digits (or whatever other base the corresponding arithmetic compressor uses) 00000000000.... , each &quot;0&quot; of which narrows the range down more and more but never enough to put the range of that value as exactly equal to or inside the [0,0] range.&#xA;As more and more &quot;0&quot; symbols in the compressed representation is fed to the decoder, the midpoint of the current range keeps getting closer to, but never actually enters into the single-point range [0,0].&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is related to the &lt;a href=&quot;http://en.wikibooks.org/wiki/Data_Compression/The_zero-frequency_problem&quot; rel=&quot;nofollow&quot;&gt;zero-frequency problem&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="4423" LastActivityDate="2012-04-07T03:23:14.790" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="11017" PostTypeId="2" ParentId="10999" CreationDate="2012-04-07T08:41:49.320" Score="14" Body="&lt;p&gt;Another natural one: finding a Nash equilibrium is (likely) not NPC, but finding one with some natural property (e.g. that maximizes the sum of player utilities) is NPC.  The original NPC proof was by Gilboa and Zemel in the late 80s, and for a recent reference see, e.g., &lt;a href=&quot;http://www.cs.duke.edu/~conitzer/nashGEB08.pdf&quot;&gt;http://www.cs.duke.edu/~conitzer/nashGEB08.pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="42" LastActivityDate="2012-04-07T08:41:49.320" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11018" PostTypeId="2" ParentId="11009" CreationDate="2012-04-07T09:21:47.103" Score="18" Body="&lt;p&gt;&quot;Resumable exceptions&quot; are indeed a well-known idea in some programming language circles. In particular, Common Lisp has had resumable exceptions for a long time (so they are really not confined to research language; Common Lisp could be considered &quot;mainstream&quot;, it has been widely available and relatively widely used for a long time).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For a discussion of resumable (or &quot;restartable&quot;) exceptions, see for example &lt;a href=&quot;http://axisofeval.blogspot.fr/2012/01/restartable-exceptions.html&quot;&gt;this blog post&lt;/a&gt; by Manuel Simoni, which links to &lt;a href=&quot;https://groups.google.com/forum/?fromgroups#!topic/comp.lang.dylan/gszO7d7BAok&quot;&gt;this dylan mailing-list post&lt;/a&gt; by Chris Double and the following Lambda-the-Ultimate discussion: &lt;a href=&quot;http://lambda-the-ultimate.org/node/1544&quot;&gt;Common Lisp exception handling&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You made the insightful guess, that resumable exceptions are not a good idea in all contexts. They can make resource handling harder and more generally anything related to side-effects must be considered very carefully when you add new control-flow entry points to a block of code.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is possible for the exception raising code to decide on whether it should be resumable or not. This is natural if you see resumable exceptions as a combination of usual exceptions and continuations: you raise an exception and, in the attached data, decide whether or not to include a continuation to the rest of the computation; the handler then decide whether or not to invoke that continuation, that is &quot;resume&quot; the exception.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Effect handlers (&lt;code&gt;try..catch&lt;/code&gt; block, &lt;code&gt;using&lt;/code&gt;-like resource handler assuming lexical lifetime) can get confused if you re-enter the computation. Combining handlers and rich control flow is difficult and gave way to a lot of different approaches in the Lisp/Scheme communities (keywords: &lt;code&gt;dynamic-wind&lt;/code&gt;, &lt;code&gt;unwind-protect&lt;/code&gt;). You are certainly adding non-trivial complexity to the language.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I speak of &quot;effect handlers&quot; because, once you have such rich forms of control flow, you get very close to the ability of presenting arbitrary effects (exceptions, backtracking, but also logging, mutable state and input/output) on top of it. See for example Andrej Bauer and Matija Pretnar's work on &lt;a href=&quot;http://math.andrej.com/2012/03/08/programming-with-algebraic-effects-and-handlers/&quot;&gt;Eff&lt;/a&gt; a language based on such &quot;effect handlers&quot;.&lt;/p&gt;&#xA;" OwnerUserId="4984" LastActivityDate="2012-04-07T09:21:47.103" CommentCount="12" ContentLicense="CC BY-SA 3.0" />
  <row Id="11019" PostTypeId="1" CreationDate="2012-04-07T16:22:11.143" Score="17" ViewCount="366" Body="&lt;p&gt;(also asked &lt;a href=&quot;http://theoreticalphysics.stackexchange.com/questions/1099/geometric-picture-behind-quantum-expanders&quot;&gt;here&lt;/a&gt;, no replies)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A $(d,\lambda)$-quantum expander is a distribution $\nu$ over the unitary group $\mathcal{U}(d)$ with the property that: a) $|\mathrm{supp} \ \nu| =d$, b) $\Vert \mathbb{E}_{U \sim \nu} U \otimes U^{\dagger} - \mathbb{E}_{U \sim \mu_H} U \otimes U^{\dagger}\Vert_{\infty} \leq \lambda$, where $\mu_H$ is the Haar measure. If instead of distributions over unitaries we consider distributions over permutation matrices, it's not difficult to see that we recover the usual definition of a $d$-regular expander graph. For more background, see e.g.: &lt;a href=&quot;http://arxiv.org/abs/0811.2597&quot;&gt;Efficient Quantum Tensor Product Expanders and k-designs&lt;/a&gt; by Harrow and Low.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is - do quantum expanders admit any kind of geometric interpretation similar to classical expanders (where spectral gap $\sim$ isoperimetry/expansion of the underlying graph)? I don't define &quot;geometric realization&quot; formally, but conceptually, one could hope that purely spectral criterion can be translated to some geometric picture (which, in the classical case, is the source of mathematical richness enjoyed by expanders; mathematical structure of quantum expanders seem to be much more limited).&lt;/p&gt;&#xA;" OwnerUserId="2083" LastActivityDate="2015-11-23T16:43:24.470" Title="Geometric picture behind quantum expanders" Tags="&lt;quantum-computing&gt;&lt;spectral-graph-theory&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="11021" PostTypeId="2" ParentId="10990" CreationDate="2012-04-07T22:49:06.397" Score="15" Body="&lt;p&gt;The other answers look very nice.  I'd like to share a comment Russell Impagliazzo made years ago in a lecture, which has stuck with me ever since.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;I think Turing may have preferred a single tape TM due to physical plausibility.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I pointed Russell to this thread days ago but, seeing as he's not here, I'd like his comment known, and will do my best to interpret it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For a single tape TM, supposing a tape of infinite length (please stick with me), you can build a TM which just needs a bounded amount of energy per iteration.  Imagine the tape as a long rod, and the head, which contains all TM logic, simply moves along this rod.  (I think of it as a cute little geared contraption, using very primitive technology.  The rod can have notches to help it along, and tape cell contents can just be a block slid orthogonally to the rod axis.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, how do you do this for a $k$-tape TM?  If you have $k$ of the above contraptions, they must communicate their read status to the potentially extremely distant other heads, which takes unbounded amounts of energy (say you use wires, which necessarily leak heat), and moreover is not instantaneous, thus complicating the mechanism.  If instead you kept the heads together and moved the tapes underneath them, you'd be using enough energy to move infinite-length tapes..  I don't see how to get bounded energy in either case.  Tricks like shrinking tape increments (to get finite length) suppose an infinitely divisible universe, and violate things like Planck's constant and the holographic principle.  Even ignoring these, the mechanisms in the head must be arbitrarily precise, which again causes energy problems, and is prodigiously complicated.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course, the first scheme has problems: the construction of the infinite tape with infinitely many notches, infinitely many suns to power solar collectors on the moving head, an infinite supply of cleaning and maintenance supplies, etc.  Maybe some major breakthrough in quantum mechanics can let the $k$-tape heads communicate well, but now look how complicated our contraption is.  In any case, I think Russell's comment is very, very interesting.&lt;/p&gt;&#xA;" OwnerUserId="336" LastActivityDate="2012-04-07T22:49:06.397" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="11022" PostTypeId="1" CreationDate="2012-04-08T02:11:04.947" Score="14" ViewCount="1391" Body="&lt;p&gt;SAT solvers give a powerful way to check the validity of a boolean formula with one quantifier.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For instance, to check the validity of $\exists x . \varphi(x)$, we can use a SAT solver to determine whether $\varphi(x)$ is satisfiable.  To check the validity of $\forall x . \varphi(x)$, we can use a SAT solver to determine whether $\neg \varphi(x)$ is satisfiable.  (Here $x=(x_1,\dots,x_n)$ is a $n$-vector of boolean variables, and $\varphi$ is a boolean formula.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;QBF solvers are designed to check the validity of a boolean formula with an arbitrary number of quantifiers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What if we have a formula with two quantifiers?  Are they any efficient algorithms for checking validity: ones  that are better than just using generic algorithms for QBF?  To be more specific I have a formula of the form $\forall x . \exists y . \psi(x,y)$ (or $\exists x . \forall y . \psi(x,y)$), and want to check its validity.  Are there any good algorithms for this?  &lt;strong&gt;Edit 4/8:&lt;/strong&gt; I learned that this class of formulas is sometimes known as 2QBF, so I am looking for good algorithms for 2QBF.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Specializing further: In my particular case, I have a formula of the form $\forall x . \exists y . f(x)=g(y)$ whose validity I want to check, where $f,g$ are functions that produce a $k$-bit output.  Are there any algorithms for checking the validity of this particular sort of formula, more efficiently than generic algorithms for QBF?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;P.S. I am not asking about the worst-case hardness, in complexity theory.  I am  asking about practically useful algorithms (much as modern SAT solvers are practically useful on many problems even though SAT is NP-complete).&lt;/p&gt;&#xA;" OwnerUserId="5038" LastEditorUserId="5038" LastEditDate="2012-04-09T01:53:51.057" LastActivityDate="2020-01-01T18:42:05.073" Title="Checking formulas with two quantifiers ($\forall \exists$) - 2QBF" Tags="&lt;ds.algorithms&gt;&lt;lo.logic&gt;&lt;sat&gt;&lt;boolean-functions&gt;" AnswerCount="3" CommentCount="6" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="11023" PostTypeId="1" CreationDate="2012-04-08T03:41:37.747" Score="1" ViewCount="395" Body="&lt;p&gt;My question is at the bottom.&#xA;(Most of the descriptive words come from Chris. Bishop's &lt;em&gt;Neural Networks for Pattern Recognition&lt;/em&gt;)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;let $w$ be the weight vector of the neural network and $E$ the error function. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;According to the Robbins-Monro algorithm, this $$w_{kj}^{(r+1)}=w_{kj}^{(r)}-\eta\left.\frac{\partial E}{\partial w_{kj}}\right|_{w^{(r)}}$$ will converge to where $$\frac{\partial E}{\partial w_{kj}}=0$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In general the error function is given by a sum of terms each of which is calculated using one of the patterns from the training set, so that $$E=\sum_nE^n(w)$$&#xA;And in applications we just update the weight vector using one pattern at a time $$w_{kj}^{(r+1)}=w_{kj}^{(r)}-\eta\frac{\partial E^n}{\partial w_{kj}}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is: Why the algorithm will converge using the last formula? Once we use it to update the $w$, the value of $w$ is changed, I can't prove the convergence using $$\frac{\partial E}{\partial w_{kj}}=\sum_n \frac{\partial E^n}{\partial w_{kj}}$$&lt;/p&gt;&#xA;" OwnerUserId="9017" LastActivityDate="2012-07-28T16:49:13.680" Title="Theoretical proof of convergence of sequential weight update procedure (Neural Networks and Machine Learning)" Tags="&lt;machine-learning&gt;&lt;ai.artificial-intel&gt;&lt;network-modeling&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11024" PostTypeId="1" AcceptedAnswerId="11034" CreationDate="2012-04-08T04:55:48.463" Score="17" ViewCount="2815" Body="&lt;p&gt;A fractal maze is a maze which contains copies of itself. Eg, the following one by Mark J. P. Wolf from &lt;a href=&quot;http://www.maa.org/editorial/mathgames/mathgames_11_24_03.html&quot; rel=&quot;noreferrer&quot;&gt;this article&lt;/a&gt;:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Begin at the MINUS and make your way to the PLUS. When you enter a smaller copy of the maze, be sure to record the letter name of that copy, as you will have to leave this copy on the way out. You must exit out of each nested copy of the maze that you have entered into, leaving in the reverse order that you entered them in (for example: enter A, enter B, enter C, exit C, exit B, exit A). Think of it as a series of nested boxes. If there is no exit path leaving the nested copy, you have reached a dead end. Color has been added to make the pathways clearer, but it is only decorative.&#xA;  &lt;img src=&quot;https://i.stack.imgur.com/hxh62.gif&quot; alt=&quot;Fractal Maze&quot;&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;If a solution exists, breadth-first-search should find a solution. However, suppose there is no solution to the maze - then our search program would run forever going deeper and deeper. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is: given a fractal maze, how can we determine if it has a solution or not?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Or alternatively, for a fractal maze of a given size (number of inputs/outputs per copy), is there a bound on the length of the shortest solution? (if there was such a bound, we could exaustively search only that deep)&lt;/p&gt;&#xA;" OwnerUserId="9018" LastEditorUserId="9018" LastEditDate="2012-04-08T07:44:25.010" LastActivityDate="2012-05-08T22:13:27.333" Title="Decidability of fractal maze" Tags="&lt;computability&gt;&lt;fractals&gt;" AnswerCount="2" CommentCount="5" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="11025" PostTypeId="2" ParentId="10999" CreationDate="2012-04-08T13:30:25.203" Score="4" Body="&lt;p&gt;The equivalence of two finite closure systems (Moore families) $\mathbb{K}$ and $J$ on a finite set $M$. Where $\mathbb{K} = \{A_i \subseteq M \}$ is given by the set of subsets of $M$ and a set $X$ is closed iff it can be obtained by an intersection of some sets from $\mathbb{K}$. The closure system $J = \{A_i \rightarrow B_i\}$ is given by the set of implications and a set $X$ is closed iff it respects all implications from $J$ i.e. for any $A_i\rightarrow B_i \in J$ if $A_i \subseteq X$ then $B_i \subseteq X$. The complexity of this problem is open and it is known that this problem is at least hard as dualization of monotone boolean functions. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;But if we consider the problem: decide if the closure system of $J$ is a subset of closure system of $\mathbb{K}$ then not hard to proof that this problem becomes co-NP-complete.&lt;/p&gt;&#xA;" OwnerUserId="9019" LastActivityDate="2012-04-08T13:30:25.203" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11026" PostTypeId="1" CreationDate="2012-04-08T18:48:06.940" Score="-4" ViewCount="266" Body="&lt;p&gt;I am looking for a algorithm or an idea for a algorithm for triangulation a polygon with holes (one outer polygon P containing several polygonal holes) via plane sweep. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The diagonals should partition the interior of P outside each hole. Express the complexity as a function of the total number of vertices n.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I will appreciate any ideas.&#xA;Thanks!&lt;/p&gt;&#xA;" OwnerUserId="6788" LastActivityDate="2012-04-08T20:30:30.803" Title="Sweeping a Polygon With Holes" Tags="&lt;ds.algorithms&gt;&lt;polygon&gt;" AnswerCount="1" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="11027" PostTypeId="2" ParentId="11026" CreationDate="2012-04-08T20:30:30.803" Score="6" Body="&lt;p&gt;Excellent question. I recommend you read the following book carefully. They describe how to solve this and a lot of other problems of this kind. In any case, this question is not appropriate for this forum.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Computational Geometry: Algorithms and Applications,&#xA;Mark de Berg, Otfried Cheong, Marc van Kreveld, Mark Overmars.&lt;/p&gt;&#xA;" OwnerUserId="9594" LastActivityDate="2012-04-08T20:30:30.803" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11028" PostTypeId="2" ParentId="11022" CreationDate="2012-04-08T20:36:57.250" Score="22" Body="&lt;p&gt;If I may, quite blatantly, advertise myself, we wrote an article about this last year&#xA;&lt;a href=&quot;http://scholar.google.com/citations?view_op=view_citation&amp;amp;hl=en&amp;amp;user=SFg4raQAAAAJ&amp;amp;citation_for_view=SFg4raQAAAAJ%3aeQOLeE2rZwMC&quot;&gt;Abstraction-Based Algorithm for 2QBF&lt;/a&gt;. I've got an implementation for qdimacs, which I can provide if you wish but from my experience, one can benefit greatly from specializing the algorithm for a particular problem. There is also an older paper &lt;a href=&quot;http://www.satisfiability.org/SAT04/programme/113.pdf&quot;&gt;A Comparative Study of 2QBF Algorithms&lt;/a&gt;, which also presents fairly easily implemetable algorithms.&lt;/p&gt;&#xA;" OwnerUserId="4506" LastActivityDate="2012-04-08T20:36:57.250" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="11029" PostTypeId="2" ParentId="6387" CreationDate="2012-04-08T21:45:00.637" Score="1" Body="&lt;p&gt;Some additional references:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In Macgill S M, 1985, &quot;Structural analysis of social data: a guide to Ho's Galois lattice approach and a partial respecification of Q-analysis&quot; Environment and Planning A 17(8) 1089 – 1109.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;MacGill highlights how those in the social sciences who might benefit from using Q-analysis are (usually) least well placed to understand the maths and hence the potential of such tools in the humanities. Which must be the case even with increased computerization - algorithmic formulations. (Maths is a fascinating mist to this nurse.) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;www.envplan.com/abstract.cgi?id=a171089&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A great many issues of ERCIM news have considered the social applications of maths - inc. algorithmic:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://ercim-news.ercim.eu/back-issues-online&quot; rel=&quot;nofollow&quot;&gt;http://ercim-news.ercim.eu/back-issues-online&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another possible avenue to pursue is visualization in the social sciences. There was a major initiative in England in the 1990s:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;www.agocg.ac.uk/train/review/toc.htm&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The combination of the semantic web, conceptual spaces Gärdenfors (2000) may provide new, hybrid avenues:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Gärdenfors, P. (2000). Conceptual Spaces: The Geometry of Thought, Cambridge.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Conference May - 'Conceptual Spaces at Work'&lt;/p&gt;&#xA;&#xA;&lt;p&gt;www.fil.lu.se/conferences/conference.asp?id=46&amp;amp;lang=se&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I wish I could get to grips with these subjects - post-grad studies possibly. My spare time efforts include plans to attend the above conference and writing about a specific form of big picture (conceptual framework) Hodges model here:&#xA;&lt;a href=&quot;http://hodges-model.blogspot.co.uk/&quot; rel=&quot;nofollow&quot;&gt;http://hodges-model.blogspot.co.uk/&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="9020" LastActivityDate="2012-04-08T21:45:00.637" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11030" PostTypeId="1" AcceptedAnswerId="11089" CreationDate="2012-04-08T23:26:18.583" Score="9" ViewCount="4160" Body="&lt;p&gt;I am searching for the VC-dimension of the following set system.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Universe $U=\{p_1,p_2,\ldots,p_m\}$ such that $U\subseteq \mathbb{R}^3$. In the set system $\mathcal{R}$ each set $S\in \mathcal{R}$ corresponds to a sphere in $\mathbb{R}^3$ such that the set $S$ contains an element in $U$ if and only if the corresponding sphere contains it in $\mathbb{R}^3$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Details which I already know.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;The VC-dimension is atleast 4. This is because if $p_1,p_2,p_3,p_4$ are 4 corners of a tetrahedron then it can be shattered by $\mathcal{R}$&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The VC-dimension is atmost 5. This is because the set system can be embedded in $\mathcal{R}^4$ with spheres in $\mathcal{R}^3$ corresponding to hyperplanes in $\mathcal{R}^4$. It is known that hyperplanes in $\mathcal{R}^d$ have VC-dimension $d+1$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="372" LastEditorUserId="80" LastEditDate="2012-04-14T19:30:43.663" LastActivityDate="2012-04-15T15:08:13.350" Title="VC-dimension of spheres in 3 dimension" Tags="&lt;cg.comp-geom&gt;&lt;machine-learning&gt;&lt;vc-dimension&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="11031" PostTypeId="2" ParentId="11030" CreationDate="2012-04-09T04:01:09.620" Score="8" Body="&lt;p&gt;My solution is incorrect. See other answer...&lt;/p&gt;&#xA;" OwnerUserId="9594" LastEditorUserId="9594" LastEditDate="2012-04-15T15:08:13.350" LastActivityDate="2012-04-15T15:08:13.350" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="11032" PostTypeId="2" ParentId="6387" CreationDate="2012-04-09T05:56:47.697" Score="0" Body="&lt;p&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Fair_division&quot; rel=&quot;nofollow&quot;&gt;cake cutting algorithms&lt;/a&gt; which are important for fair division. I am sure they play a large part in social science.&lt;/p&gt;&#xA;" OwnerUserId="3397" LastActivityDate="2012-04-09T05:56:47.697" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="11033" PostTypeId="1" CreationDate="2012-04-09T09:33:02.303" Score="4" ViewCount="446" Body="&lt;p&gt;As we know, in &lt;a href=&quot;http://en.wikipedia.org/wiki/CAP_theorem&quot; rel=&quot;nofollow&quot;&gt;the CAP theorem&lt;/a&gt;, &quot;A&quot; means &quot;Availability&quot;. On wikipedia, the explanation of &quot;Availability&quot; is:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Availability: a guarantee that every request receives a response about&#xA;  whether it was successful or failed&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;However, from the perspective of engineering, there is no ABSOLUTE availability. We can only say that the availability of a system is 5'9'(99.999%), or even 8'9', but we cannot say that the availability of a system is 100%, 100% available system does not exit in reality, even if the system has millions of duplicated nodes, right?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The CAP theorem proves that no system could satisfy the 3 requirements simultaneously. My question is, if a system claims to satisfy both &quot;A&quot; and &quot;P&quot;, what is the accurate meaning of this &quot;A&quot;? 6'9' or even higher?&lt;/p&gt;&#xA;" OwnerUserId="9023" LastEditorUserId="186" LastEditDate="2012-12-20T05:57:24.730" LastActivityDate="2014-01-07T09:48:16.830" Title="How to understand the &quot;Availability&quot; of the CAP theorem?" Tags="&lt;dc.distributed-comp&gt;&lt;db.databases&gt;&lt;availability&gt;" AnswerCount="3" CommentCount="3" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="11034" PostTypeId="2" ParentId="11024" CreationDate="2012-04-09T12:52:55.237" Score="8" Body="&lt;p&gt;A quick informal algorithm to prove that the problem is decidable:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;suppose that there are $n$ Input/Outputs $I_1,...I_n$;&lt;/li&gt;&#xA;&lt;li&gt;build a graph $G$ where each $I_i$, the $MINUS$ and the $PLUS$ are nodes, and replace each nested maze $Mj$ with a $K_n$ subgraph (complete graph); add the edges between $I_i, MINUS, PLUS, Mj_{I_k}$ according to the maze; keep &quot;extern&quot; $Mj_{I_i} \rightarrow Mj_{I_k}$ edges distinct from the corresponding &quot;internal&quot; edges $I_i \rightarrow I_k$ of $Mj$ as a complete subgraph;&lt;/li&gt;&#xA;&lt;li&gt;enumerate all paths from MINUS to PLUS in $G$ (avoiding cycles);&lt;/li&gt;&#xA;&lt;li&gt;if you find a path that doesn't traverse a nested copy, then it is a solution; otherwise expand each &quot;internal&quot; traversals of the nested mazes $Mj$ of each path:&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Suppose that a path in the first enumeration is $MINUS \rightarrow A_{I_i} \rightarrow A_{I_j} \rightarrow B_{I_k} \rightarrow B_{I_h} \rightarrow PLUS$, then the path is a valid solution iif there is a path from $I_i \rightarrow I_j$ and from $I_k \rightarrow I_h$ in the original maze (graph $G$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So we must &lt;em&gt;expand&lt;/em&gt; the $A_{I_i} \rightarrow A_{I_j}$ and $B_{I_k} \rightarrow B_{I_h}$ traversals enumerating all the paths from $I_i$ to $I_k$ and from $I_k$ to $I_h$ in $G$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Infinite loops are detected when we are enumerating all paths from $I_i$ to $I_k$ in an expansion of a path that in a previous stage already contained $... \rightarrow M_{I_i} \rightarrow M_{I_k} \rightarrow ...$ for some submaze $M$ (there are only $n^2$ possible expansions).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A solution is found if we find a path expansion that contains only inputs/outputs $I_i$; the maze has no solution if we cannot further expand the paths without loops.&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2012-04-09T13:04:11.820" LastActivityDate="2012-04-09T13:04:11.820" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="11035" PostTypeId="1" AcceptedAnswerId="11040" CreationDate="2012-04-09T21:34:33.833" Score="4" ViewCount="895" Body="&lt;p&gt;I've been trying to understand the rationale behind the design of the C# language. Are there any specific advantages that can be gleaned from allowing string type variables to contain null?&lt;/p&gt;&#xA;" OwnerUserId="2381" LastEditorUserId="7304" LastEditDate="2012-05-04T17:55:46.467" LastActivityDate="2012-05-04T17:55:46.467" Title="What advantages does having a null-able string type confer to a programming language?" Tags="&lt;pl.programming-languages&gt;" AnswerCount="3" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11036" PostTypeId="2" ParentId="10999" CreationDate="2012-04-09T21:35:55.703" Score="6" Body="&lt;p&gt;Shortest Vector in Lattice Problem, which is NP hard. The Gap version GapSVP is intermediate:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Lattice_problem#Shortest_vector_problem_.28SVP.29&quot;&gt;http://en.wikipedia.org/wiki/Lattice_problem#Shortest_vector_problem_.28SVP.29&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="6190" LastActivityDate="2012-04-09T21:35:55.703" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11037" PostTypeId="2" ParentId="11035" CreationDate="2012-04-09T23:10:55.693" Score="1" Body="&lt;p&gt;Strings are object variables, unlike the atomic types supported for performance reasons.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For orthoginality it is easier if they are implemented in the same way as any other object and permitted to have a null value.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In practice, strings are rather special and share storage across all instances. This provides the side effect that all string objects with the same value contain the same pointer making comparison trivial.&lt;/p&gt;&#xA;" OwnerUserId="9031" LastActivityDate="2012-04-09T23:10:55.693" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="11038" PostTypeId="2" ParentId="11035" CreationDate="2012-04-10T02:12:27.013" Score="4" Body="&lt;p&gt;Since the .NET Framework is database oriented, it would stand to reason that the designers of the Common Runtime Languate introduced nullable types to mirror SQL values. A null value has special meaning in SQL and is perfectly valid.  For instance, two queries with the clause WHERE table.a &amp;lt;&gt; &quot;&quot; and table.a &amp;lt;&gt; NULL would return two separate results.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Out of convenience and brevity, the CLR introduced nullable types to make it easier to translate values back and forth from SQL without extensive coding for intrinsic types such as int, float, etc. The nullable versions are int?, float?, etc.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Strings are intrinsic types in .NET, but they are really plain old objects under the hood.  Consequently, there's no need for a string? type.&lt;/p&gt;&#xA;" OwnerUserId="9950" LastEditorUserId="9950" LastEditDate="2012-04-10T02:39:19.507" LastActivityDate="2012-04-10T02:39:19.507" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="11040" PostTypeId="2" ParentId="11035" CreationDate="2012-04-10T07:08:32.833" Score="13" Body="&lt;p&gt;At the risk of starting a religious war, I will express my opinion that there are no advantages to having nullable types. These should always be replaced by a sum type such as Ocaml &lt;code&gt;option&lt;/code&gt; or Haskell &lt;code&gt;Maybe&lt;/code&gt; (paired with sane deconcstructors for such types that force the programmer to always consider both possibilities).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The main reason for this is that null pointers, null objects, and the like are responsible for many, many bugs and countless headaches.&lt;/p&gt;&#xA;" OwnerUserId="705" LastActivityDate="2012-04-10T07:08:32.833" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="11041" PostTypeId="1" CreationDate="2012-04-10T10:12:35.683" Score="4" ViewCount="234" Body="&lt;p&gt;I'm not an expert in automata theory, this is a reference request.&#xA;As far as I have understood it is known in the automata comunity that register automata by Kaminski are closed by intersection with pushdown automata over infinite alphabet.&#xA;Unfortunately I'm not able to find any reference about this.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks in advance!&lt;/p&gt;&#xA;" OwnerUserId="998" LastEditorUserId="80" LastEditDate="2012-04-10T22:50:43.593" LastActivityDate="2012-04-10T22:50:43.593" Title="Intersection between register automata and pushdown automata over infinite alphabet" Tags="&lt;reference-request&gt;&lt;fl.formal-languages&gt;&lt;automata-theory&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="11042" PostTypeId="1" AcceptedAnswerId="11043" CreationDate="2012-04-10T10:13:20.893" Score="9" ViewCount="382" Body="&lt;p&gt;In a previous question &lt;a href=&quot;https://cstheory.stackexchange.com/questions/10926/parametrized-algorithm-for-finding-bicliques&quot;&gt;Parametrized Algorithm for Finding Bicliques&lt;/a&gt;, I inquired if there were fast parametrized algorithms for finding a $k\times k$-biclique in an $n$ vertex graph and learnt that it was open if it is FPT w.r.t. $k$. Is the same true for &lt;em&gt;counting&lt;/em&gt; the $k\times k$-bicliques, or is it known that this is #$W\[1\]$-hard w.r.t. $k$ (or some other notion of hardness)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I know that counting &lt;em&gt;induced&lt;/em&gt; $k\times k$-bicliques are #$W\[1\]$-hard, expanding a simple reduction for finding an induced biclique in section 4.5 in &lt;a href=&quot;http://www.kr.tuwien.ac.at/drm/gaspers/SergeBookETA2010_screen.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Serge Gaspers' thesis&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="679" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2012-11-11T05:54:00.050" Title="Parametrized Complexity of Counting Bicliques" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;&lt;counting-complexity&gt;&lt;parameterized-complexity&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11043" PostTypeId="2" ParentId="11042" CreationDate="2012-04-10T10:56:01.400" Score="9" Body="&lt;p&gt;This should be #W[1]-hard by a standard interpolation argument. Here is a rough sketch.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First, consider the multicolored version of the biclique problem: given a graph whose set of vertices is partitioned into classes $X_1,\dots, X_{2k}$, find a biclique containing exactly one vertex from each set. Unlike Biclique, whose FPT status is open, this multicolored version is known to be W[1]-hard: there is an easy reduction from clique. I believe it should also be #W[1]-hard.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a graph $G$ and partition as above, let us obtain a new graph $G&amp;#39;$ by replacing every vertex of $X_i$ with an independent set of size $x_i$ (and replacing each edge between $X_i$ and $X_j$ by an $x_i\times x_j$ biclique). Now the number of $k\times k$ bicliques in $G&amp;#39;$ is a function of the $2k$ variables $x_1,\dots,x_{2k}$. In fact, one can see that this function is a polynomial of degree at most $2k$ and the coefficient of the term $x_1\cdot\dots\cdot x_{2k}$ is exactly the number of multicolored bicliques in $G$. Thus by substituting sufficiently many combination of values into the variables $x_i$ and counting the number of bicliques in $G&amp;#39;$, we can evaluate this polynomial at sufficiently many places to recover its coefficients by interpolation.&lt;/p&gt;&#xA;" OwnerUserId="3189" LastActivityDate="2012-04-10T10:56:01.400" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="11046" PostTypeId="1" AcceptedAnswerId="11049" CreationDate="2012-04-10T20:48:52.280" Score="6" ViewCount="151" Body="&lt;p&gt;We consider two computers who possess two sets of fixed-size values (ie. $k$-bit numbers for some constant $k$), and we assume that the two sets have a large overlap (ie. a large proportion of the values are present on both hosts). We want to find an protocol to synchronize the two sets (ie. give to each host the knowledge of the values of the other hosts) in a way which minimizes the quantity of information transferred between the two hosts.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In particular, if we denote by $N_1$, $N_2$ the size of the sets and $K_1$ (resp. $K_2$) the number of values present only on computer 1 (resp. only on computer 2), the trivial algorithm where both computers exchange their sets is $O(N_1+N_2)$, and the trivial lower bound on the quantity of information to exchange is $O(K_1+K_2)$. Is it possible to reach this bound?&lt;/p&gt;&#xA;" OwnerUserId="4795" LastActivityDate="2012-04-10T23:49:11.833" Title="Minimal bandwidth required to synchronize two sets of values" Tags="&lt;ds.algorithms&gt;&lt;dc.distributed-comp&gt;&lt;it.information-theory&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11047" PostTypeId="1" CreationDate="2012-04-10T22:33:50.137" Score="12" ViewCount="834" Body="&lt;p&gt;Arora and Barak show that $\mathsf{AM}$ can be expressed as $\mathsf{BP}\cdot \mathsf{NP}$ i.e the set of languages that have randomized reductions to 3SAT. $\mathsf{MA}$ is also a natural randomized generalization of $\mathsf{NP}$ in that you replace the deterministic verifier by a randomized one. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a sense in which one of these is a closer fit in the &quot;P is to BPP as NP is to ?&quot;  relation ? &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2012-04-11T12:53:51.320" Title="AM/MA and NP in analogy to P and BPP" Tags="&lt;cc.complexity-theory&gt;&lt;big-picture&gt;" AnswerCount="3" CommentCount="2" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="11048" PostTypeId="2" ParentId="1226" CreationDate="2012-04-10T23:22:06.813" Score="6" Body="&lt;p&gt;The $k$-center problem is a clustering problem, in which we are given a complete undirected graph $G = (V,E)$ with a distance $d_{ij} \geq 0$ between each pair of vertices $i,j \in V$. The distances obey the triangle inequality and model similarity. We are also given an integer $k$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the problem, we have to find $k$ clusters that group together the vertices that are most similar into clusters together. We choose a set $S \subseteq V, |S| = k$ of $k$ cluster centers. Each vertex will assign itself to the closest cluster center grouping the vertices into $k$ different clusters. The objective is to minimize the maximum distance of a vertex to its cluster center. So geometrically, we want to find the centers of $k$ different balls of the same radius $r$ that cover all points so that $r$ is as small as possible.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The optimal algorithm is greedy, and also very simple and intuitive. We first pick a vertex $i \in V$ arbitrarily and put it in our set of $S$ cluster centers. We then pick the next cluster center such that it is as far away as possible from all the other cluster centers. So while $|S| &amp;lt; k$, we repeatedly find a vertex $j \in V$ for which the distance $d(j,S)$ is maximized and add it to $S$. Once $|S| = k$ we are done. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The described algorithm is a $2$-approximation algorithm for the $k$-center problem. In fact, if there exists a $\rho$-approximation algorithm for the problem with $\rho &amp;lt; 2$ then $P = NP$. This can be shown easily with a reduction from the NP-complete &lt;a href=&quot;http://en.wikipedia.org/wiki/Dominating_set&quot; rel=&quot;nofollow&quot;&gt;dominating set problem&lt;/a&gt; by showing we can find a dominating set of size at most $k$ iff an instance of the $k$-center problem in which all distances are either 1 or 2 has optimal value 1. The algorithm and analysis is given by &lt;a href=&quot;https://www.cs.ucsb.edu/~teo/papers/Ktmm.pdf&quot; rel=&quot;nofollow&quot;&gt;Gonzales, Clustering to minimize the maximum intercluster distance, 1985&lt;/a&gt;. Another variant of a $2$-approximation is given by &lt;a href=&quot;http://signal.ece.utexas.edu/~vishal/kcenters.pdf&quot; rel=&quot;nofollow&quot;&gt;Hochbaum and Shmoys, A best possible heuristic for the k-center problem, 1985&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="5693" LastEditorUserId="5693" LastEditDate="2012-04-11T12:24:01.273" LastActivityDate="2012-04-11T12:24:01.273" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11049" PostTypeId="2" ParentId="11046" CreationDate="2012-04-10T23:49:11.833" Score="6" Body="&lt;p&gt;This appears to be known as the &quot;set reconciliation&quot; problem. The key paper appears to be &lt;a href=&quot;http://stafisfics.tribler.org/trac/raw-attachment/wiki/IPv8/Set%20reconciliation%20with%20nearly%20optimal%20communication%20complexity.pdf&quot;&gt;Minsky &amp;amp; Trachtenberg, &quot;Set Reconciliation With Nearly Optimal Communication Complexity&quot;, IEEE Transactions on Information Theory (2003)&lt;/a&gt;. Also, here is some subsequent work on this problem by the same authors: &lt;a href=&quot;http://cis.poly.edu/westlab/papers/ref/practical.pdf&quot;&gt;&quot;Practical Set Reconciliation&quot;&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="751" LastActivityDate="2012-04-10T23:49:11.833" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="11050" PostTypeId="2" ParentId="11047" CreationDate="2012-04-11T02:16:20.703" Score="17" Body="&lt;p&gt;This is of course a very subjective matter, but here is something that might be interpreted as saying that $\mathbf{MA}$ is a closer fit: The same assumptions that imply that $\mathbf{P} = \mathbf{BPP}$ also imply that $\mathbf{NP} = \mathbf{MA}$, but those assumptions are not known to imply $\mathbf{NP} = \mathbf{AM}$.&#xA;In addition, the assumption that $\mathrm{promise}\mathbf{P} = \mathrm{promise}\mathbf{BPP}$ implies that $\mathrm{promise}\mathbf{NP} = \mathrm{promise}\mathbf{MA}$, but is not known to imply $\mathrm{promise}\mathbf{NP} = \mathrm{promise}\mathbf{AM}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, there is an alternative view saying that $\mathbf{MA}$ is the non-deterministic variant of $\mathbf{BPP}$ while $\mathbf{AM}$ is the probabilistic variant of $\mathbf{NP}$. The foregoing facts can also be interpreted as evidence for this view.&lt;/p&gt;&#xA;" OwnerUserId="8429" LastActivityDate="2012-04-11T02:16:20.703" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11051" PostTypeId="2" ParentId="9950" CreationDate="2012-04-11T02:28:42.593" Score="10" Body="&lt;p&gt;This answer is a bit late, but it is known that one can obtain all and only the regular languages by adjoining a generalized group quantifier for each finite group (or equivalently for each finite simple group). Eg, see &quot;Regular Languages Definable by Lindstrom Quantifiers&quot; by Zoltan Esiky and Kim G. Larsen, at &lt;a href=&quot;http://www.brics.dk/RS/03/28/BRICS-RS-03-28.pdf&quot;&gt;http://www.brics.dk/RS/03/28/BRICS-RS-03-28.pdf&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Moreover, this is optimal in the sense that a regular language will only be definable if the quantifiers for every group dividing its syntactic monoid are available.&lt;/p&gt;&#xA;" OwnerUserId="9049" LastActivityDate="2012-04-11T02:28:42.593" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11053" PostTypeId="2" ParentId="11047" CreationDate="2012-04-11T05:27:28.193" Score="16" Body="&lt;p&gt;Here is a point for AM:  For a complexity class C, almost-C is define to be the set of languages that are in C relative to almost every oracle (almost = Probability 1).  Then almost-P=BPP and almost-NP=AM.&lt;/p&gt;&#xA;" OwnerUserId="42" LastActivityDate="2012-04-11T05:27:28.193" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11054" PostTypeId="2" ParentId="6660" CreationDate="2012-04-11T05:29:22.727" Score="37" Body="&lt;p&gt;Here is a recent result from FUN 2012 paper &lt;a href=&quot;http://arxiv.org/abs/1203.3602&quot;&gt;Picture-Hanging Puzzles&lt;/a&gt; by Erik D. Demaine, Martin L. Demaine, Yair N. Minsky, Joseph S. B. Mitchell, Ronald L. Rivest and Mihai Patrascu.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;We show how to hang a picture by wrapping rope around n nails, making a polynomial number of twists, such that the picture falls whenever any k out of the n nails get removed, and the picture remains hanging when fewer than k nails get removed.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Don't let the 'polynomial number' fool you...it turns out to be $O(n^{43737})$.&lt;/p&gt;&#xA;" OwnerUserId="547" LastActivityDate="2012-04-11T05:29:22.727" CommentCount="1" CommunityOwnedDate="2012-12-06T19:38:01.160" ContentLicense="CC BY-SA 3.0" />
  <row Id="11055" PostTypeId="1" AcceptedAnswerId="11061" CreationDate="2012-04-11T07:20:23.367" Score="11" ViewCount="552" Body="&lt;p&gt;I am reading Harrow, Hassidim, and Lloyd's paper &lt;a href=&quot;http://arxiv.org/pdf/0811.3171v3.pdf&quot;&gt;Quantum algorithms for linear systems of equations&lt;/a&gt;. On the third page of that paper, they write&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Next we apply the conditional Hamiltonian evolution $\sum_{\tau=0}^{T-1} \left|\tau\right&amp;gt;\left&amp;lt;\tau\right|^{C}\otimes e^{iA\tau t_{o}/T}$ on $\left|\Psi_{0}\right&amp;gt;^{C}\otimes\left|b\right&amp;gt;\dots$&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;For the life of me, I cannot figure out the meaning of the $C$. What is it doing there? How would $\sum_{\tau=0}^{T-1} \left|\tau\right&amp;gt;\left&amp;lt;\tau\right|^{C}\otimes e^{iA\tau t_{o}/T}$ act on (say) $\left|0\right&amp;gt;\otimes \left|0\right&amp;gt;$ or $\left|1\right&amp;gt;\otimes \left|0\right&amp;gt;$? &lt;/p&gt;&#xA;" OwnerUserId="9051" LastEditorUserId="1037" LastEditDate="2012-04-11T14:57:49.443" LastActivityDate="2019-04-17T08:55:31.547" Title="Notation for a Conditional Hamiltonian Evolution Operator" Tags="&lt;quantum-computing&gt;&lt;notation&gt;" AnswerCount="2" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11056" PostTypeId="2" ParentId="11009" CreationDate="2012-04-11T08:30:52.500" Score="4" Body="&lt;p&gt;Regarding gasche's answer - it's true that &quot;you are certainly adding non-trivial complexity to the language&quot;, but it's important to keep in mind that in Common Lisp and related languages, conditions are &lt;em&gt;orthogonal to control flow&lt;/em&gt;.  The core of condition handling is merely a pattern for looking up handler functions, and does not in any way alter existing or add new control flow powers to the language.  See this sketch of a &quot;condition system&quot; in JS:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://groups.google.com/forum/?fromgroups#!msg/ll-next/mlixSOPwc-c/iQ-xPd-kIjEJ&quot; rel=&quot;nofollow&quot;&gt;https://groups.google.com/forum/?fromgroups#!msg/ll-next/mlixSOPwc-c/iQ-xPd-kIjEJ&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="9052" LastActivityDate="2012-04-11T08:30:52.500" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="11057" PostTypeId="1" AcceptedAnswerId="11058" CreationDate="2012-04-11T11:36:44.327" Score="7" ViewCount="368" Body="&lt;p&gt;For a comparison based sorting algorithm, it is desirable to:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Be stable&lt;/li&gt;&#xA;&lt;li&gt;Run in $O(n\ \log n)$&lt;/li&gt;&#xA;&lt;li&gt;Operate in $O(1)$ space&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;I can find algorithms that satisfy any two of these but I can't find any that satisfy all three. Does it exist? Is it proven not to exist?&lt;/p&gt;&#xA;" OwnerUserId="7925" LastActivityDate="2014-01-20T21:35:46.833" Title="Optimal comparison-based stable sorting in constant space" Tags="&lt;ds.algorithms&gt;&lt;sorting&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11058" PostTypeId="2" ParentId="11057" CreationDate="2012-04-11T11:47:41.583" Score="14" Body="&lt;p&gt;Mergesort satisfies all three requirements (when merging is performed in place).&#xA;See Pardo, L.T., &quot;Stable  sorting  and  merging  with  optimal  space  and  time &#xA;bounds&quot;, SIAM J. Comput. 6 (1977), 351-372.&lt;/p&gt;&#xA;" OwnerUserId="2874" LastActivityDate="2012-04-11T11:47:41.583" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="11059" PostTypeId="2" ParentId="11047" CreationDate="2012-04-11T12:53:51.320" Score="9" Body="&lt;p&gt;To throw in another view, IP is the generalization if you think about NP as what you can prove to a polynomial-time skeptic. &lt;/p&gt;&#xA;" OwnerUserId="550" LastActivityDate="2012-04-11T12:53:51.320" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11061" PostTypeId="2" ParentId="11055" CreationDate="2012-04-11T20:51:37.317" Score="6" Body="&lt;p&gt;I remember struggling with this very same question! Ultimately I concluded that the $C$ is just a notational device (it doesn't represent any mathematical operation), just to indicate that, for a &lt;em&gt;specific&lt;/em&gt; $\tau$, the Hamiltonian evolution operator $e^{iA\tau t_0/T}$ is performed on $\left|b\right&amp;gt;$, but only when &lt;em&gt;conditioned&lt;/em&gt; on $\left|b\right&amp;gt;$ being tensored with $\left|\tau\right&amp;gt;$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you ignore the $C$'s, I think a calculation will show that you just apply the operator $\sum_{\tau=0}^{T-1} \left|\tau\right&amp;gt;\left&amp;lt;\tau\right|\otimes e^{iA\tau t_{o}/T}$ &quot;as-is&quot;. I hope this helps.&lt;/p&gt;&#xA;" OwnerUserId="170" LastEditorUserId="170" LastEditDate="2012-04-11T20:56:43.520" LastActivityDate="2012-04-11T20:56:43.520" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11063" PostTypeId="1" AcceptedAnswerId="11064" CreationDate="2012-04-12T10:50:47.290" Score="1" ViewCount="242" Body="&lt;p&gt;You are given two graphs G and H , and want to know if H is a subgraph of G.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You know that H has a max vertex degree K (constant integer).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What can you say about the complexity of this?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I know that &#xA;&lt;a href=&quot;http://ix.cs.uoregon.edu/~luks/iso.pdf&quot; rel=&quot;nofollow&quot;&gt;Isomorphism of Graphs of Bounded Valence Can Be tested in Polynomial Time - Luks 1982&lt;/a&gt;,&#xA;that's the best I currently have...&lt;/p&gt;&#xA;" OwnerUserId="1712" LastEditorUserId="1712" LastEditDate="2012-04-12T11:56:00.097" LastActivityDate="2012-04-12T17:44:11.900" Title="Complexity of finding if a degree bounded graph H is a subgraph of an unbounded graph G" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;&lt;graph-isomorphism&gt;&lt;bounded-degree&gt;" AnswerCount="2" CommentCount="6" FavoriteCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11064" PostTypeId="2" ParentId="11063" CreationDate="2012-04-12T12:08:11.110" Score="9" Body="&lt;p&gt;If H is the cycle on |G| vertices (and is of maximum degree 2), then this is the Hamiltonian cycle problem. Seems like your problem is NP-hard. &lt;/p&gt;&#xA;" OwnerUserId="8152" LastActivityDate="2012-04-12T12:08:11.110" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11066" PostTypeId="2" ParentId="11063" CreationDate="2012-04-12T17:44:11.900" Score="4" Body="&lt;p&gt;To add to the answer from Marcin Kaminski - H could even be the complement of a complete graph (i.e., regular graph with degree = 0). So your problem is at least as hard as the independent set problem, and is thus NP-hard. The max degree of G is immaterial.&lt;/p&gt;&#xA;" OwnerUserId="8965" LastActivityDate="2012-04-12T17:44:11.900" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="11069" PostTypeId="1" CreationDate="2012-04-12T17:59:00.347" Score="16" ViewCount="1952" Body="&lt;p&gt;Suppose we are given a matrix $A \in \mathbb R^{N\times N}$, and let $m \in \mathbb N_0$. How fast can we compute the power $A^m$ of that matrix?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The next best thing in comparison to computing $m$-products is to utilize fast exponentation, that requires $\mathcal O(\log m )$ matrix products.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For diagonalizable matrices, the eigenvalue decomposition can be used. It's natural generalization, Jordan decomposition, is unstable under pertubation and therefore does not count (afaik).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Can matrix exponentiation in the general case be sped up?&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Fast exponentation suggest a variation of this question is useful, too:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Can the square of a general matrix $A$ be computed faster than by known matrix multiplication algorithms?&lt;/em&gt;&lt;/p&gt;&#xA;" OwnerUserId="4346" LastEditorUserId="-1" LastEditDate="2012-11-11T05:54:11.360" LastActivityDate="2012-11-11T05:54:11.360" Title="How to compute powers of square matrices?" Tags="&lt;ds.algorithms&gt;&lt;matrices&gt;&lt;na.numerical-analysis&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="11070" PostTypeId="1" CreationDate="2012-04-12T18:29:32.137" Score="9" ViewCount="1066" Body="&lt;p&gt;I would like to apologize to all the posts below. Picked the wrong forum to post this in originally. However rather than make this a complete waste I've reworked the question to be a true &quot;Theoretical Computer Science&quot; problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Problem: Create an algorithm that takes a set of n ordered points in a 2D plane that form the contour of a simple polygon A that may or may not be concave and creates a new polygon B with m points such that:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;all points in A are contained within B&lt;/li&gt;&#xA;&lt;li&gt;3 &amp;lt;= m &amp;lt; n&lt;/li&gt;&#xA;&lt;li&gt;B is the polygon in the set of all Bs with the smallest area&lt;/li&gt;&#xA;&lt;li&gt;B must be a simple polygon (i.e. no self-intersections).&lt;/li&gt;&#xA;&lt;li&gt;The input to the algorithm is polygon A and &quot;m&quot;.&lt;/li&gt;&#xA;&lt;li&gt;Coincidence of segments in B with segments in A are allowed.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Some example inputs and expected outputs:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;If A is a square and m is 3 then B would be the triangle with the smallest surface area that contains A.&lt;/li&gt;&#xA;&lt;li&gt;If A is a hexagon and m is 4 then B would be a quadrilateral with the smallest surface area that contains A.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Good luck to everyone who tries this problem out. I can promise you this will be very hard especially now that the solution must be optimal.&lt;/p&gt;&#xA;" OwnerUserId="9072" LastEditorUserId="337" LastEditDate="2012-05-04T23:51:32.700" LastActivityDate="2012-05-04T23:51:32.700" Title="Polygon within polygon generalization problem" Tags="&lt;ds.algorithms&gt;&lt;cg.comp-geom&gt;&lt;polygon&gt;" AnswerCount="2" CommentCount="13" CommunityOwnedDate="2012-05-04T16:10:43.923" ContentLicense="CC BY-SA 3.0" />
  <row Id="11072" PostTypeId="1" CreationDate="2012-04-12T21:11:45.630" Score="7" ViewCount="2344" Body="&lt;p&gt;What data structure or algorithm can be used to efficiently synchronize two nearly identical ordered lists? Two offline systems start with the same ordered list and each edit, insert, delete and move items in the list. Occasionally they will be online to synchronize the list. The algorithm should minimize the amount of changed items or &quot;diffs&quot; that need to be communicated.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For an unordered list we would simply use a modification timestamp and UUID for each item to detect edits respectively inserts/deletions. But what data structure can we use for an ordered list? Using an integer rank would require renumbering all successors after an insert, and thus result in many &quot;diffs&quot; when comparing items in both lists. Using a floating-point rank (having the average of the predecessor and successor ranks) would have accuracy problems after inserting many new items.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Using a doubly linked list (i.e. referencing the UUID of the predecessor and successor item) would result in two changed items and one new item for each insert, thus 3 &quot;diffs&quot; when comparing items in both lists.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any suggestions, pointers to literature or Google search terms about this subject?&lt;/p&gt;&#xA;" OwnerUserId="9075" LastActivityDate="2013-12-07T04:01:23.180" Title="Efficient synchronization of two instances of an ordered list" Tags="&lt;ds.algorithms&gt;&lt;ds.data-structures&gt;&lt;it.information-theory&gt;&lt;dc.distributed-comp&gt;" AnswerCount="2" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="11073" PostTypeId="2" ParentId="11069" CreationDate="2012-04-13T00:34:16.463" Score="20" Body="&lt;p&gt;As you note, computing $A^m$ can be done in $O(\log m)$ times the number of operations for matrix multiplication on $N \times N$ matrices. The answer to your second question is no, at least for asymptotic complexity -- matrix squaring and matrix multiplication have equivalent time/arithmetic complexity (up to constant factors). Reducing squaring to matrix multiplication is obvious. To reduce multiplication to squaring, suppose we wish to compute the product of $A$ and $B$. Form the $2n \times 2n$ matrix $C$ with the block structure:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$[0~~A]$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$[B~~0]$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;That is, $C$ has an $n \times n$ all-zeroes matrix in its upper-left quadrant and lower-right quadrant. Note that $C^2$ contains $A\cdot B$ in its upper-left quadrant.&lt;/p&gt;&#xA;" OwnerUserId="225" LastActivityDate="2012-04-13T00:34:16.463" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11075" PostTypeId="1" CreationDate="2012-04-13T14:26:38.430" Score="4" ViewCount="155" Body="&lt;p&gt;In &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=758079&quot; rel=&quot;nofollow&quot;&gt;P.M.B. Vitányi, Relativized Obliviousness, MFCS'80 paper&lt;/a&gt; one can read that the proof of Theorem 1 is based on the overlap-argument of Cook, however I don't see how this argument is applied.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The paper defines a language that is decided by a turing machine with $k$ stacks. The movements of those heads are the same for each disjunct pair in the alphabet (for instance equal for $a$ and $b$, for $c$ and $d$,...). The alphabet itself is the union of $k$ of those pairs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Furthermore the paper states that if we would recombine the alphabet into $k&amp;#39;&amp;lt;k$ groups (and the head movements need to be the same for each element in the same group). It would not be possible to evaluate the language in linear time. I think thats because in that case it doesn't make sense to have more than $k&amp;#39;$ heads (because they should move the same, one could simply concatenate several stacks into one stack). Furthermore after some time the data in a stack will be spread resulting in additional complexity to look back in the stack.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The author however states that this can be proven with Cooks overlap argument. I don't see how this argument is applied in this case?&lt;/p&gt;&#xA;" OwnerUserId="8715" LastEditorUserId="8715" LastEditDate="2012-04-15T15:37:27.830" LastActivityDate="2012-04-15T15:37:27.830" Title="How is Cooks overlap argument applied in Vitányi's theorem?" Tags="&lt;cc.complexity-theory&gt;&lt;turing-machines&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="11076" PostTypeId="2" ParentId="10023" CreationDate="2012-04-13T16:12:22.060" Score="5" Body="&lt;p&gt;Yes.  From &lt;a href=&quot;https://en.wikipedia.org/wiki/Bloom_filter#Probability_of_false_positives&quot; rel=&quot;noreferrer&quot;&gt;Wikipedia&lt;/a&gt;:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you have inserted $i$ elements into a filter of size $n$ using $k$ hash functions, the probability that a certain bit is still 0 is &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xD;&#xA;z = \left(1 - \frac{1}{n}\right)^{ki}&#xD;&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can &lt;em&gt;measure&lt;/em&gt; this probability as the proportion of 0 bits in your filter.  Solving for $i$ gives&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xD;&#xA;i = \frac{\ln(z)}{k\ln\left(1 - \frac{1}{n}\right)}&#xD;&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have used this in practice, and as long as your filter does not exceed its capacity, the error is generally less than 0.1% for filters up to millions of bits.  As the filter exceeds its capacity, the error of course goes up.&lt;/p&gt;&#xA;" OwnerUserId="9081" LastActivityDate="2012-04-13T16:12:22.060" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11077" PostTypeId="1" CreationDate="2012-04-13T16:14:12.283" Score="3" ViewCount="113" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Possible Duplicate:&lt;/strong&gt;&lt;br&gt;&#xA;  &lt;a href=&quot;https://cstheory.stackexchange.com/questions/3888/np-intermediate-problems-with-efficient-quantum-solutions&quot;&gt;NP-intermediate problems with efficient quantum solutions&lt;/a&gt;  &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&#xA;&#xA;&lt;p&gt;Many suspect that quantum computers will not be able to efficiently solve &lt;strong&gt;NP-complete&lt;/strong&gt; problems and  thus focus on the class &lt;strong&gt;NPI&lt;/strong&gt;. Among the problems regarded as likely canditates to be in &lt;strong&gt;NPI&lt;/strong&gt; are factoring and graph isomorphism. Known yet Shor's algorithm for efficient factorization, what steps have been done towards the design of a polynomial algorithm for graph isomorphism? &lt;/p&gt;&#xA;" OwnerUserId="8926" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2012-04-13T16:14:12.283" Title="Polynomial Quantum Algorithm for Graph Isomorphism?" Tags="&lt;cc.complexity-theory&gt;&lt;quantum-computing&gt;&lt;np&gt;" AnswerCount="0" CommentCount="2" ClosedDate="2012-04-13T19:44:17.223" ContentLicense="CC BY-SA 3.0" />
  <row Id="11078" PostTypeId="1" AcceptedAnswerId="11091" CreationDate="2012-04-13T17:13:27.570" Score="15" ViewCount="620" Body="&lt;p&gt;In implementing a Bloom filter, the traditional approach calls for multiple independent hash functions.  &lt;a href=&quot;http://www.eecs.harvard.edu/~michaelm/postscripts/esa2006a.pdf&quot;&gt;Kirsch and Mitzenmacher&lt;/a&gt; showed that you actually only need two, and can generate the rest as linear combinations thereof.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is: what, really, is the difference between two hash functions and one with twice the entropy?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This comes from looking at what you actually do with the output of your hash functions: you're going to take your (say) 64-bit hash value and scale it to the size of your bit vector, which is probably significantly smaller than 2&lt;sup&gt;64&lt;/sup&gt;.  This is clearly an entropy-losing transformation (except in the rare case your hash size and filter capacity exactly coincide).  Assuming my filter has less than 2&lt;sup&gt;32&lt;/sup&gt; entries, what's to stop me from splitting my 64-bit hash value into two 32-bit hashes and taking linear combinations of those?  Or using it to seed a PRNG?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In other words, how much information do I actually need to know about each element I insert into a Bloom filter to ensure the standard false positive rate holds?  Or more generally, what is the relationship between how well I can distinguish elements (how many bits I use to describe them) and how my Bloom filter performs?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It sure seems like I can get away with $2\lg(m)$ bits for a filter size of $m$, or equivalently $2(\lg(-n\ln{p}) - 2\lg(\ln2))$ bits to store $n$ elements with false positive probability $p$....&lt;/p&gt;&#xA;" OwnerUserId="9081" LastActivityDate="2012-11-27T21:21:48.300" Title="Bloom filter hashes: more or bigger?" Tags="&lt;ds.data-structures&gt;&lt;it.information-theory&gt;&lt;hash-function&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="11079" PostTypeId="2" ParentId="11070" CreationDate="2012-04-13T17:31:42.430" Score="10" Body="&lt;p&gt;I don't know how your polygons look, but perhaps a simplified version of the &lt;a href=&quot;http://en.wikipedia.org/wiki/Ramer%E2%80%93Douglas%E2%80%93Peucker_algorithm&quot; rel=&quot;noreferrer&quot;&gt;Ramer–Douglas–Peucker algorithm&lt;/a&gt; is enough:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;for each &lt;em&gt;convex&lt;/em&gt; part, calculate the area $A_j$ of of the triangles $P_i P_{i+1} P_{i+2}$ formed by three consecutive points;&lt;/li&gt;&#xA;&lt;li&gt;for each &lt;em&gt;concave&lt;/em&gt; part, calculate the area $B_k$ of of the two triangles $P_i P'_i P_{i+1}$ and $P_{i+1} P'_{i+2} P_{i+2}$ formed by the extension of the two points $P_i, P_{i+2}$ and the middle point $P_{i+1}$&lt;/li&gt;&#xA;&lt;li&gt;calculate the $min\{A_j,B_k\}$ and delete the corresponding point (and shift points if the operation is done on the concave part);&lt;/li&gt;&#xA;&lt;li&gt;loop until $n-m$ points have been deleted.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/817Z2.jpg&quot; alt=&quot;enter image description here&quot;&gt;&lt;br&gt;&#xA;The border of the polygon ($A_j$ green triangles, $B_k$ red triangles). On the right, the border after the elimination of two points.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For more complex algorithms you can search for &quot;&lt;a href=&quot;http://www.google.it/search?q=polygon%20generalisation%20techniques&quot; rel=&quot;noreferrer&quot;&gt;polygon generalization techniques&lt;/a&gt;&quot; though your first condition (points in A are contained in B) implies some additional scaling operations.&lt;/p&gt;&#xA;" OwnerUserId="3247" LastActivityDate="2012-04-13T17:31:42.430" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="11080" PostTypeId="1" CreationDate="2012-04-13T20:36:31.217" Score="14" ViewCount="209" Body="&lt;p&gt;It is known that the class of languages recognized by two-way deterministic finite automata with one-counter (2D1CAs) is a proper subset of $ \mathsf{L} $ (deterministic log-space):&#xA;A 2D1CA can run at most $ O(n^2) $ steps if it halts on a given input, and there is a language in $ \mathsf{L} $, i.e.&#xA;\begin{equation}&#xA;\mathtt{DG} = \lbrace w_0 \$ w_1 \$ \cdots \$ w_k \mid k \geq 1, w_{i \in \lbrace 0, \ldots, k \rbrace} \in \lbrace a,b\rbrace^* , \mbox{ and }  w_0=w_i \mbox{ for some }  1 \leq  i  \leq k \rbrace,&#xA;\end{equation}&#xA;which cannot be recognized by any 2D1CA &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/0304397582900871&quot;&gt;(Duris and Galil, 1982)&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What happens if such an automaton can use a coin?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More precisely, what is the best known upper bound for the class of languages recognized by two-way &lt;strong&gt;probabilistic&lt;/strong&gt; finite automata with one-counter (2P1CAs) with bounded error?&lt;/p&gt;&#xA;" OwnerUserId="7358" LastEditorUserId="7358" LastEditDate="2012-04-15T07:57:40.913" LastActivityDate="2012-04-15T07:57:40.913" Title="The best known upper bound for two-way probabilistic finite automata with one-counter" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;automata-theory&gt;&lt;upper-bounds&gt;" AnswerCount="0" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11081" PostTypeId="1" AcceptedAnswerId="11083" CreationDate="2012-04-13T20:47:33.207" Score="1" ViewCount="182" Body="&lt;p&gt;I need support for: grammars, equivalence classes, finite sets, and some smallest grammar approximation functions.  &lt;/p&gt;&#xA;" OwnerUserId="8831" LastEditorUserId="186" LastEditDate="2012-04-13T21:35:31.080" LastActivityDate="2012-04-13T22:42:03.573" Title="Does there exist a CAS for formal language theory?" Tags="&lt;fl.formal-languages&gt;" AnswerCount="1" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="11082" PostTypeId="1" AcceptedAnswerId="11084" CreationDate="2012-04-13T22:35:08.850" Score="-2" ViewCount="558" Body="&lt;p&gt;While examining the package Library &lt;code&gt;ZFC.Sets&lt;/code&gt;, I found the following definition:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;Definition Paire : forall E E' : Ens, Ens.&#xA;intros.&#xA;apply (sup bool).&#xA;simple induction 1.&#xA;exact E.&#xA;exact E'.&#xA;Defined.&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;I don't care, for the moment what is actually defined. What I do care about is that I don't understand this syntax for definitions. Up to now, I've seen definitions follow the syntax of Definition name : statement . This definition, however, is paired with a Defined. at the end, and includes various tactics. My question is: What kind of a definition is this, and where can I read about such definitions?&lt;/p&gt;&#xA;" OwnerUserId="9084" LastEditorUserId="186" LastEditDate="2012-04-14T04:56:33.717" LastActivityDate="2012-04-14T04:56:33.717" Title="Coq definition with unusual syntax (Definition ... Defined.)" Tags="&lt;lo.logic&gt;&lt;coq&gt;&lt;proof-assistants&gt;" AnswerCount="1" CommentCount="7" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11083" PostTypeId="2" ParentId="11081" CreationDate="2012-04-13T22:42:03.573" Score="2" Body="&lt;p&gt;I am vaguely aware that it's possible to do some computations with formal languages in GAP, but I don't know the details, sorry.  There is a package &lt;a href=&quot;http://www.gap-system.org/Manuals/pkg/automata/doc/chap0.html#contents&quot; rel=&quot;nofollow&quot;&gt;&quot;Automata&quot;&lt;/a&gt;, but I'm not sure if there's anything for grammars.&lt;/p&gt;&#xA;" OwnerUserId="9083" LastActivityDate="2012-04-13T22:42:03.573" CommentCount="2" CommunityOwnedDate="2012-04-14T12:39:47.630" ContentLicense="CC BY-SA 3.0" />
  <row Id="11084" PostTypeId="2" ParentId="11082" CreationDate="2012-04-13T23:10:07.747" Score="3" Body="&lt;p&gt;An important theoretical observation behind Coq is the &lt;a href=&quot;http://en.wikipedia.org/wiki/Curry%E2%80%93Howard_correspondence&quot; rel=&quot;nofollow&quot;&gt;Curry-Howard correspondence&lt;/a&gt;, which states that types and logical formulas are fundamentally the same thing, and so are programs and proofs. The intuition is that a proof is a program that constructs an object of the desired type; a formula is true if there is a way to construct a proof of it, i.e. the corresponding type is not empty. In this correspondence, applying a function is the &lt;a href=&quot;http://en.wikipedia.org/wiki/Implication_elimination&quot; rel=&quot;nofollow&quot;&gt;&lt;em&gt;modus ponens&lt;/em&gt;&lt;/a&gt; rule.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;When you prove a theorem in Coq, Coq constructs a proof term behind the scenes. However, you state the proof in Coq's proof language, by stating a sequence of tactics to apply. Executing these tactics builds a term, which Coq typechecks when you write &lt;code&gt;Qed&lt;/code&gt;; if the term has the desired type, i.e. proves the desired formula, then Coq accepts the proof. (The tactic language is constructed so that most tactic sequences form a valid proof when all subgoals are fulfilled, but this can be bypassed.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can terminate a proof with &lt;code&gt;Defined&lt;/code&gt; instead of &lt;code&gt;Qed&lt;/code&gt;. If you do that, the proof term is transparent, which means that you can make use of how the theorem has been proved. With &lt;code&gt;Qed&lt;/code&gt;, the proof is opaque, so you know that the theorem holds, but you can't rely on its having any particular proof.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Knowing the way a theorem is proved is rarely useful. But theorems are the same as types; knowing a way to build a value of a type is often useful — the difference between &lt;code&gt;+&lt;/code&gt; and &lt;code&gt;*&lt;/code&gt; (both of type &lt;code&gt;nat -&amp;gt; nat -&amp;gt; nat&lt;/code&gt;) is very often relevant. So ending a theorem with &lt;code&gt;Defined&lt;/code&gt; is a way to define a term; if you do that, you might as well use the keyword &lt;code&gt;Definition&lt;/code&gt; rather than &lt;code&gt;Theorem&lt;/code&gt; or &lt;code&gt;Lemma&lt;/code&gt; (and in fact the &lt;a href=&quot;http://coq.inria.fr/refman/Reference-Manual003.html#toc13&quot; rel=&quot;nofollow&quot;&gt;syntax&lt;/a&gt; treats these keywords as equivalent).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The reason one would use tactics rather than write out a proof term is that terms with heavily dependent types can be hard to write manually. Often, these terms are what you'd think of as data structures or functions building data structures with bits of proofs embedded in them. Since all Coq guarantees that you're building a term of the right type, you'd better carefully review the tactics when you do this, as it's easy to accidentally build a term which is not what you intended. The &lt;a href=&quot;http://coq.inria.fr/refman/Reference-Manual028.html&quot; rel=&quot;nofollow&quot;&gt;&lt;code&gt;Program&lt;/code&gt;&lt;/a&gt; facility (which is more recent than the &lt;code&gt;ZFC&lt;/code&gt; library) makes it easier to write such programs with embedded bits of proofs: you write the program bits as terms, and then complete the proof bits with tactics.&lt;/p&gt;&#xA;" OwnerUserId="634" LastActivityDate="2012-04-13T23:10:07.747" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11085" PostTypeId="1" AcceptedAnswerId="11146" CreationDate="2012-04-14T08:40:48.383" Score="10" ViewCount="419" Body="&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Parameterized_complexity#FPT&quot;&gt;Wikipedia&lt;/a&gt; writes:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;FPT contains the fixed parameter tractable problems, which are those&#xA;  that can be solved in time $f(k)\cdot|x|^{O(1)}$ for some computable function $f$. Typically,&#xA;  this function is thought of as single exponential, such as $2^{O(k)}$ but the&#xA;  definition admits functions that grow even faster. This is essential&#xA;  for a large part of the early history of this class. The crucial part&#xA;  of the definition is to exclude functions of the form $f(n,k)$, such as $n^k$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question&lt;/strong&gt;: What is the motivation behind this definition?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What's puzzling me is that, if $k$ is fixed (as per &quot;fixed parameter tractability&quot;), then $n^k$ is a polynomial in $n$.  So, why is it crucial to exclude $n^k$?&lt;/p&gt;&#xA;" OwnerUserId="179" LastEditorUserId="186" LastEditDate="2012-04-19T22:14:26.853" LastActivityDate="2012-04-20T16:23:08.933" Title="What is the motivation behind the definition of fixed parameter tractability?" Tags="&lt;cc.complexity-theory&gt;&lt;fixed-parameter-tractable&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11086" PostTypeId="2" ParentId="8503" CreationDate="2012-04-14T14:22:39.717" Score="9" Body="&lt;p&gt;The paper &lt;a href=&quot;http://arxiv.org/abs/0707.1532&quot; rel=&quot;nofollow&quot;&gt;&quot;Sorting and Selection in PoSets&quot; by Daskalakis, Karp, Mossel, Risensefield, Verbin, 2008&lt;/a&gt; which describes a dynamic representation of PoSets based on antichains.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You might also be interested in the paper &lt;a href=&quot;http://arxiv.org/abs/1204.1957&quot; rel=&quot;nofollow&quot;&gt;&quot;Succinct Posets&quot; by Munro, Nicholson, 2012&lt;/a&gt; recently released on Arxiv and in the bibliography therein. Their data-structure is static but I assume that the next step is to have a dynamical data-structure.&lt;/p&gt;&#xA;" OwnerUserId="191" LastEditorUserId="32683" LastEditDate="2016-02-17T20:10:59.583" LastActivityDate="2016-02-17T20:10:59.583" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="11087" PostTypeId="1" AcceptedAnswerId="11090" CreationDate="2012-04-14T15:48:27.993" Score="7" ViewCount="390" Body="&lt;p&gt;I must firstly express that I know only a little about quantum computing and my knowledge comes largely from popular science texts and the media. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, I'm hoping that somebody will be able to help me to correct my understanding of quantum computing.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My understanding is as follows:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;a qubit acts as though it is in both states at once (1 and 0)&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;a register of n qubits can act as though it is in any of $2^n$ states.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;this has obvious benefits in terms of a factoring algorithm: we can identify whether any of these states is a 'correct' solution to a problem.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;however, I understand that although we can identify whether or not there is a correct state, we can not necessarily observe the state which is correct&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;So, my assumption up to now has been that we can 'pin' one or more of the qubits by replacing with a classical bit, and observe whether or not the remaining set of states still contain a correct solution. (Simple!)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My problem is that this would seem to lead to a solution to the factoring problem in $O(log n)$ time, by passing down and pinning each of the bits. I haven't proved that out but it feels right, based on my assumptions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, Shor's algorithm takes $O((logn)^3)$ and doesn't seem that simple. I'd like to know which of my assumptions are wrong, but Wikipedia's description of Shor's algorithm seems intractable to me.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can you help identify my misconception? Which of my points of understanding are correct/incorrect?&#xA;Thanks!&lt;/p&gt;&#xA;" OwnerUserId="9086" LastEditorUserId="80" LastEditDate="2012-04-14T17:47:20.983" LastActivityDate="2012-04-14T17:47:20.983" Title="Layman Interpretation: Quantum Factoring Algorithm" Tags="&lt;quantum-computing&gt;&lt;big-picture&gt;&lt;factoring&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11089" PostTypeId="2" ParentId="11030" CreationDate="2012-04-14T16:24:03.853" Score="8" Body="&lt;p&gt;Here is an easy argument:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assume there is a set $U$ of 5 points that can be shattered by balls. So for any set $S \subseteq U$, there exists a ball $B$ s.t. $B \cap U = S$ and a ball $B&amp;#39;$ s.t. $B&amp;#39; \cap U = U \setminus S$. Therefore, $B \cap B&amp;#39;$ contains no points of $U$. If $B \cap B&amp;#39; = \emptyset$, $B$ and $B&amp;#39;$ can be separated by a plane. Otherwise, the intersection of the surfaces of $B$ and $B&amp;#39;$ is a circle. The plane in which the circle lies separates $S$ from $U \setminus S$. Therefore, $U$ can be shattered by halfspaces, a contradiction.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The same argument in higher dimension shows that the VC-dimension of balls is equal to the VC-dimension of halfspaces.&lt;/p&gt;&#xA;" OwnerUserId="4896" LastActivityDate="2012-04-14T16:24:03.853" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11090" PostTypeId="2" ParentId="11087" CreationDate="2012-04-14T17:10:33.487" Score="11" Body="&lt;p&gt;The problem stems from the fact that your understanding of quantum computing (as outlined in the question) is incorrect. Certainly quantum computers are poorly explained in most popularizations. A quantum computer cannot simply check if a solution exists within a superposition deterministically, let alone in unit time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The most general representation of the quantum state of $n$ qubits is the $2^n \times 2^n$ &lt;a href=&quot;http://en.wikipedia.org/wiki/Density_matrix&quot;&gt;density matrix&lt;/a&gt; $\rho$, where the diagonal entries correspond to the probability of finding the system in a particular classical state, and the off diagonal entries indicate the phase of the superposition (going to 0 for classical probability distributions). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any quantum algorithm can be seen as a unitary operation followed by some measurement in the computational basis. Given an initial input state $\rho$, it will evolve to $\rho&amp;#39; = U\rho U^\dagger$. The most general set of measurements that can be performed are called &lt;a href=&quot;http://en.wikipedia.org/wiki/POVM&quot;&gt;positive operator valued measurements&lt;/a&gt;(POVMs), where each measurement outcome $i$ is associated with a positive sei-definite Hermitian operator $P_i$ and the probability of outcome $i$ is given by $p_i = \mbox{Tr}(P_i \rho)$ (and hence $\sum_i P_i = \mathbb{I}$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Within these constraints the operations you describe simply are not possible.&lt;/p&gt;&#xA;" OwnerUserId="204" LastActivityDate="2012-04-14T17:10:33.487" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="11091" PostTypeId="2" ParentId="11078" CreationDate="2012-04-14T17:28:52.270" Score="16" Body="&lt;p&gt;You're right to think of hash functions in terms of &quot;random bits produced&quot;.  So if you have a hash function that produces a 64 bit hash, you can treat is as 4 16-bit hashes (by splitting), and so on.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the scheme described above (which should be attributed to Dillinger and Manolios;  Kirsch/Mitzenmacher just analyzed it), that means you're correct; if you have a single hash function with $2 \lg(m)$ bits, you should be fine.&lt;/p&gt;&#xA;" OwnerUserId="9087" LastEditorUserId="201" LastEditDate="2012-11-27T21:21:48.300" LastActivityDate="2012-11-27T21:21:48.300" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11093" PostTypeId="1" AcceptedAnswerId="11103" CreationDate="2012-04-15T06:07:41.940" Score="26" ViewCount="736" Body="&lt;p&gt;I am not a computer science theorist, but think this real world problem belongs here.&lt;/p&gt;&#xA;&#xA;&lt;h1&gt;The problem&lt;/h1&gt;&#xA;&#xA;&lt;p&gt;My company have several units accross the country.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We offered to employees the possibility to work on another unit. But there is a condition: The total number of workers on a unit cannot change.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;That means: We'll allow a employee to left his unit if someone wants his place.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Example (ficticious) request data:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;Name            Origin    Destination&#xA;Maria              1  -&amp;gt;  2&#xA;Marcos             2  -&amp;gt;  3&#xA;Jones              3  -&amp;gt;  4&#xA;Terry              4  -&amp;gt;  5&#xA;Joe                5  -&amp;gt;  6&#xA;Rodrigo            6  -&amp;gt;  1&#xA;Barbara            6  -&amp;gt;  1&#xA;Marylin            1  -&amp;gt;  4&#xA;Brown              4  -&amp;gt;  6&#xA;Benjamin           1  -&amp;gt;  3&#xA;Lucas              4  -&amp;gt;  1&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;The above, plotted:&#xA;&lt;img src=&quot;https://i.stack.imgur.com/FS8Gc.png&quot; alt=&quot;Visualization of the above data&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See how we have to choose between the red, blue or black options?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The real problem is a little more complex, because we have 27 units and 751 requests. &lt;a href=&quot;http://arborjs.org/halfviz/#/MjExNw&quot; rel=&quot;noreferrer&quot;&gt;Please take a look at the visualization&lt;/a&gt; &lt;/p&gt;&#xA;&#xA;&lt;h1&gt;The goal&lt;/h1&gt;&#xA;&#xA;&lt;p&gt;Having collected all the requests, how to satisfy most of them?&lt;/p&gt;&#xA;&#xA;&lt;h1&gt;Theory(?) application&lt;/h1&gt;&#xA;&#xA;&lt;p&gt;Having graph $G(V, E)$, let every unit be a vertex $V$ and a request be a directed edge $E$, a successful exchange will take the form of a directed cyle.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Each cycle must use $E$ only once (&lt;em&gt;a worker cannot leave his unit twice&lt;/em&gt;), but can visit $V$ several times (&lt;em&gt;a unit can have many workers wanting to leave&lt;/em&gt;).&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;The question&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;If this problem is expressed as&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&quot;How to find the cycles which, together, involve the biggest number of&#xA;  non-shared edges in a directed graph&quot;?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Will we satisfy most of the requesters?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;That being true, there is an algorithm to find that optimal set of cycles?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Will this greddy approach solve the problem?&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Find the biggest directed cycle on $G$;&lt;/li&gt;&#xA;&lt;li&gt;Remove it's edges from $G$;&lt;/li&gt;&#xA;&lt;li&gt;Repeat 1 until there is not a directed cycle on $G$;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;h2&gt;Can you help me?&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;Do you know another way to describe the original problem (making most of requesters happy)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit&lt;/strong&gt;: changed department to unit, to better describe the problem.&lt;/p&gt;&#xA;" OwnerUserId="9090" LastEditorUserId="9090" LastEditDate="2013-12-14T14:31:39.967" LastActivityDate="2013-12-14T14:31:39.967" Title="How to find the cycles which, together, involve the biggest number of non-shared edges in a directed graph?" Tags="&lt;ds.algorithms&gt;&lt;graph-algorithms&gt;&lt;application-of-theory&gt;" AnswerCount="4" CommentCount="18" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="11094" PostTypeId="2" ParentId="11093" CreationDate="2012-04-15T11:24:05.830" Score="4" Body="&lt;p&gt;This greedy approach will not always give the best solution.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider a cycle $C$ with $n$ edges $\{(v_1, v_2),\dots,(v_n,v_1)\}$ and two disjoint cycles $C_1$ and $C_2$ each having $n-1$ edges and sharing one edge with $C$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you use the largest cycle $C$ first, you can make $n$ employees happy. Then the cycles $C_1$ and $C_2$ each lose one edge and are no cycles anymore.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But if you choose $C_1$ and $C_2$, you can make $2(n-1)=2n-2$ employees happy.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Aside: Instead of adding two cycles in the above example, you could add $\lfloor\frac{n}{2}\rfloor$ cycles which makes the greedy solution even worse.&lt;/p&gt;&#xA;" OwnerUserId="8889" LastEditorUserId="8889" LastEditDate="2012-04-15T15:45:09.427" LastActivityDate="2012-04-15T15:45:09.427" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11096" PostTypeId="2" ParentId="11093" CreationDate="2012-04-15T15:19:56.900" Score="-3" Body="&lt;p&gt;there is probably a graph theory way/formulation to solve this, but this problem sounds more like a permutation problem to me where some of all permutations are rejected and others are valid. the permutations are employees and the positions are &quot;positions&quot; in the company. a permutation is rejected if it doesnt fit the requirements of &quot;person [x] wants position [y]&quot;. the distinction of units/depts/org boundaries is apparently somewhat superfluous to the solution in this case.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;this type of permutation problem with constraints can be readily converted into a instance of SAT (satisfiability) problem. the boolean variable assignments represent employees, and the constraint clauses represent the &quot;person [x] wants position [y]&quot; constraints. there are nearby classic examples of this, one usually called the &quot;dinner table&quot; problem where you have seating positions and guests and not all guests want to sit next to each other (or very similarly some guests want to sit next to other guests). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;and of course there are sophisticated SAT solvers for fairly large instances involving roughly up to hundreds of variables and clauses, on PC, and if the problem is not &quot;hard&quot;, in the thousands.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;see eg [1] for a professional reference and [2] for a class exercise. there is also some structural similarity to what are known as &quot;pigeonhole problems&quot; which are well studied in SAT circles where pigeons are assigned to pigeonholes and you have more or less holes than pigeons. in that case however the pigeons are generally seen as interchangeable. in other words the dinner table problem is like the pigeonhole problem with stronger constraints and the guests/pigeons have required preferences.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;note of course/keep in mind that for these types of problems, depending on the constraints the answer may be &quot;no such constrained solution exists&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] &lt;a href=&quot;http://www.springerlink.com/content/h488427215471887/&quot; rel=&quot;nofollow&quot;&gt;the dinner table algorithm, by crato&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] &lt;a href=&quot;http://www.cs.princeton.edu/courses/archive/fall04/cos402/assignments/satisfaction/index.html&quot; rel=&quot;nofollow&quot;&gt;CS402 princeton HW SAT&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[3] &lt;a href=&quot;http://en.wikipedia.org/wiki/Boolean_satisfiability_problem&quot; rel=&quot;nofollow&quot;&gt;Satisfiability problem, wikipedia&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2012-04-15T15:19:56.900" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11097" PostTypeId="2" ParentId="6448" CreationDate="2012-04-15T19:35:52.793" Score="11" Body="&lt;p&gt;&lt;strong&gt;Put the deadline on Friday.&lt;/strong&gt; This will make many significant others happier.&lt;/p&gt;&#xA;" OwnerUserId="236" LastActivityDate="2012-04-15T19:35:52.793" CommentCount="1" CommunityOwnedDate="2012-04-15T19:35:52.793" ContentLicense="CC BY-SA 3.0" />
  <row Id="11098" PostTypeId="1" AcceptedAnswerId="11107" CreationDate="2012-04-15T19:45:05.087" Score="9" ViewCount="225" Body="&lt;p&gt;Let $S$ be a unit square.&#xA;&lt;strong&gt;As a function of $\beta$, what is the maximum number of $\beta$-fat pairwise-disjoint regions &lt;em&gt;with diameter at least 1&lt;/em&gt; which can intersect $S$?&lt;/strong&gt; &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Below, we give a figure showing that for $\beta=1$, the maximum number is 7. What about for $\beta = 2, 3, \ldots, n$? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Recall the definition of &lt;em&gt;fat&lt;/em&gt; for regions in the plane. Given a region $R$, let circle $C_1$ of radius $r_1$ be the largest circle contained in $R$, and let circle $C_2$ of radius $r_2$ be the smallest circle that contains $R$. The &lt;em&gt;fatness&lt;/em&gt; of $R$ is given by $\frac{r_2}{r_1}$, and we say that $R$ is $\beta$-fat, for $\beta = \frac{r_2}{r_1}$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, if $r_2 = r_1=\frac{1}{2}$, then the regions are unit circles, and there are at 7 circles with diameter at least 1 which can overlap $S$ without overlapping each other.&#xA;In the figure below, we have depicted a unit square and 7 unit circles which overlap the square.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/ggOn5.png&quot; alt=&quot;overlapping circles&quot;&gt;&lt;/p&gt;&#xA;" OwnerUserId="8078" LastEditorUserId="8078" LastEditDate="2012-04-16T19:27:16.847" LastActivityDate="2012-04-16T20:37:33.373" Title="Counting the number of thick regions which overlap a square" Tags="&lt;cg.comp-geom&gt;" AnswerCount="1" CommentCount="8" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="11099" PostTypeId="2" ParentId="11093" CreationDate="2012-04-15T20:12:35.173" Score="22" Body="&lt;p&gt;This is a standard minimum-cost circulation problem.  Give each directed edge capacity $1$ and cost $-1$.  Then a feasible circulation is a sum (ie, union) of edge-disjoint directed cycles, and the cost of the circulation is the negation of the number of edges.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Because all the costs and capacities are bounded by constants, a simple cycle-cancelling algorithm will find the required circulation in polynomial time.  This is &lt;em&gt;almost&lt;/em&gt; the same as the obvious greedy algorithm:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;while G has any negative-cost directed cycles&#xA;    γ = arbitrary negative-cost directed cycle&#xA;    reverse every edge in γ&#xA;    negate the cost of every edge in γ&#xA;return the subgraph of reversed edges&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Here, the cost of a cycle is the sum of the costs of its edges.  Negative-cost cycles can be found using the Bellman-Ford shortest-path algorithm in $O(VE)$ time.  Each iteration reduces the cost of the current circulation by at least 1.  The initial (empty) circulation has cost $0$, and the final circulation has cost at least $-E$.  Thus, the algorithm ends after at most $E$ iterations, so its total running time is at most $O(VE^2)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is not the fastest algorithm known.&lt;/p&gt;&#xA;" OwnerUserId="111" LastActivityDate="2012-04-15T20:12:35.173" CommentCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="11100" PostTypeId="2" ParentId="8503" CreationDate="2012-04-15T21:58:06.660" Score="5" Body="&lt;p&gt;Have you looked at &lt;a href=&quot;http://arxiv.org/abs/1010.1316&quot; rel=&quot;nofollow&quot;&gt;Heeringa et al's &quot;Searching in Dynamic Tree-Like Partial Orders&quot;&lt;/a&gt;? They give a dynamic data structure for the predecessor problem on posets. It is designed for a RAM, but you can represent arrays as balanced binary trees and incur only a $O(\lg n)$ multiplicative overhead while making the structure purely functional.&lt;/p&gt;&#xA;" OwnerUserId="43" LastEditorUserId="32683" LastEditDate="2016-02-17T20:11:13.493" LastActivityDate="2016-02-17T20:11:13.493" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11103" PostTypeId="2" ParentId="11093" CreationDate="2012-04-16T15:59:56.150" Score="9" Body="&lt;p&gt;OK, I read the code of TradeMaximizer and I believe it solves the following, more general problem.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;PROBLEM: Given is a directed graph whose arcs have costs. Find a set of vertex-disjoint cycles that maximizes the number of covered vertices first, and minimizes the total cost second.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;To solve the question asked here, make the vertices be employees and draw an arc $x\to y$ of unit cost when $x$ would like the job of $y$. Note that employees are now vertices rather than edges. The nice thing is that an employee can say &quot;I really want the job of $y$, but that of $z$ would do too&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Solution:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Build a bipartite graph as follows: For each vertex $x$ in the original graph introduce a left vertex $x_L$, a right vertex $x_R$, and an arc $x_L\to x_R$ whose cost is huge (bigger than the sum of costs in the original graph). For each arc $x\to y$ in the original graph, introduce an arc $x_L\to y_R$ in the bipartite graph.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Find a minimum cost perfect matching in the bipartite graph.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;There is some preprocessing of the original graph too: Remove arcs between SCCs, then process all SCCs of size $&amp;gt;1$ as indicated above.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(In fact, TradeMaximizer iterates over all optimal solutions, according to the two criteria above, in order to heuristically optimize other things, such as the length of the biggest cycle. Big cycles increase the chance of a &quot;deal&quot; not going thru because one person changes their mind.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;PS: The author, Chris Okasaki, confirmed that this is what the code does, back at the &lt;a href=&quot;http://okasaki.blogspot.co.uk/2008/03/what-heck-is-math-trade.html&quot;&gt;blog post&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="236" LastEditorUserId="236" LastEditDate="2012-04-17T08:13:40.003" LastActivityDate="2012-04-17T08:13:40.003" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="11104" PostTypeId="2" ParentId="8519" CreationDate="2012-04-16T17:47:30.630" Score="2" Body="&lt;p&gt;Computer vision research often involves high-dimensional analysis of feature space (e.g. pairwise distances, range queries, nearest neighbors, etc). Classical computational geometry data structures, such as KD trees appear a lot in the CV literature.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would start into looking space-partitioning data structures and their usage in clustering, vector quantization, and density estimation. H. Samet is an expert in the field: &lt;a href=&quot;http://store.elsevier.com/product.jsp?isbn=9780123694461&quot; rel=&quot;nofollow&quot;&gt;Foundations of Multidimensional and Metric Data Structures&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="9101" LastActivityDate="2012-04-16T17:47:30.630" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11105" PostTypeId="2" ParentId="8105" CreationDate="2012-04-16T18:01:24.160" Score="2" Body="&lt;p&gt;Those are some very technical terms to be throwing around and although I'm familiar with some of the literature from either side, I don't think that I've ever seen them used together. What is the distinction between using a convex program and an LP? They are significantly different, and you refer to both in your question. What you are mentioning sounds really similar to cutting plane or column generation methods in optimization, so perhaps you want to check those out and see if any active learning approaches have been used. In most cutting plane methods, there is usually an efficient (but ad hoc) way to search for violated constraints, usually found by an optimization subproblem; that could be considered similar to active learning but I'm not sure how a canonical active learning approach would look different.&lt;/p&gt;&#xA;" OwnerUserId="9102" LastActivityDate="2012-04-16T18:01:24.160" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11106" PostTypeId="2" ParentId="5379" CreationDate="2012-04-16T19:33:08.570" Score="2" Body="&lt;p&gt;Well, ${\bf ThC}_0$ is the class of functions a (polynomial size) neural net can solve in constant time. In polynomial time it could handle precisely $\bf{P}$, and in polylog time, $\bf NC$. But maybe we should allow exponentially many neurons and polynomial time? I believe this produces the counting hierarchy, built over $\bf \#P$. The number of levels of the hierarchy is, I believe, the number of times a neuron uses its ability to have exponential inflow. &lt;/p&gt;&#xA;" OwnerUserId="9049" LastActivityDate="2012-04-16T19:33:08.570" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11107" PostTypeId="2" ParentId="11098" CreationDate="2012-04-16T20:37:33.373" Score="2" Body="&lt;p&gt;I think that the maximum number of pairwise disjoint fat regions which overlap the square should be strongly related to circle packing. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The worst-case shape for a region is something like a &quot;ball &amp;amp; chain&quot;. Below I have depicted such a region for $\beta=2$ with diameter 1&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/o8Gen.png&quot; alt=&quot;ball-chain&quot;&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;and these can pack within distance 1 of the unit square obviously much more tightly than I've depicted them. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/LMAaS.png&quot; alt=&quot;ball-chain-packing&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that the actual ball &amp;amp; chain region is defined by the green area, and the outer circle is just a guide to depict the fact that these regions have fatness 2. In fact, the chain part of the region, can &quot;bend&quot; to allow more regions to be packed.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/2gYW4.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;" OwnerUserId="8078" LastActivityDate="2012-04-16T20:37:33.373" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11109" PostTypeId="2" ParentId="10873" CreationDate="2012-04-16T22:21:55.613" Score="1" Body="&lt;p&gt;[from comp.databases.theory]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On Wednesday, 11 April 2012 15:02:41 UTC-7, com...@hotmail.com  wrote:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A (named attribute) relation can be seen as a set of or mapping on multi(-named-)dimensional points. Functional dependencies are properties of relation values and expressions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Database relational operators are designed so that there is a correspondence between relation expressions and predicates (and predicate expressions aka wffs). The value of a relation expression is the extension of a corresponding predicate (and wff) where the relation value's attributes are the predicate's parameters (and the wff's free variables). A relation expression has an associated predicate (and wff) built from it in a certain way according to its operators and its variables' given predicates (and wffs). The fundamental theorem of the relational model is that IF the body of each  relation variable's value is the set of tuples that make a given predicate (or wff) true THEN the body of each relation expression's value is the set of tuples that make that expression's predicate (or wff) true. Eg if the predicate of relation R is R(X,Y) &quot;person X loves person Y&quot; and the predicate of relation variable S is S(Y,Z) &quot;person Y loves food Z&quot; then the expression for (R JOIN S) PROJECT_AWAY Z is EXISTS Z [S(X,Y) AND R(Y,Z)] &quot;there exists a Z such that person X loves person Y and person Y loves food Z&quot; ie &quot;person X loves person Y who loves some food&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Probability operators for treating relations as probability distributions will do different things (in general) than database operators. They will satisfy different theorems.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A relation with a functional dependency can represent a function. Composition and images are relevant in databases when a relation expression corresponds to a function's (or wff term's) value. To the extent that distributions are used as (relational or functional) mappings such representation-independent mapping-oriented operators will appear in that system.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So what we can expect is that what the two systems have in common is... they both somehow involve a relation as a set of or mapping on multi(-named-)dimensional points.  Correspondences between operators other than ones that are oriented to mappings would be coincidental. I don't call that much of an analogy/parallel.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I doubt  that relations are an appropriate abstraction for distributions per se. I expect that a relation is just one constituent of a proper distribution representation (which would include notions of dependent and independent coordinates/variables/attributes and calculating and renormalizing probabilities to sum to 1 and multiplying and summing for conditional and marginal probabilities and binary mappings in particular) and that any relevant operators on relations (which generally won't be database ones) are in turn used to define other operators on distribution representations per se. The paper's abstract says that conditional distributions and marginal distributions are given by selection and projection respectively. However I expect that what is actually the case is that for their relational representation of (some of) a distribution some notion of removing rows and columns happens as part of complex relation operators implementing distribution operations. That is human vague reminiscence, not semantic correspondence.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;philip &lt;/p&gt;&#xA;&#xA;&lt;p&gt;On Monday, 16 April 2012 15:12:27 UTC-7, com...@hotmail.com  wrote:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Having now read the paper, the situation is as expected. (Except its notion of distribution has a very simple relation representation.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This paper has nothing to do with the notion of tuples' associated 0-to-1 values that was discussed in comp.databases.theory.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1.&#xA;It is a great paper. Although it could be clearer about what it means by &quot;correspond&quot; and &quot;parallel&quot;. (Hill also doesn't really understand the relational model: why its values and operators and primitive operator set are what they are.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The paper defines functions representing relations and functions representing probability mass distributions. The functions have domains that are all possible tuples on some attributes. A relation's indicator function returns 0-or-1 per whether a tuple is absent from or present in the relation. A distribution's probability function returns a 0-to-1 probability. By definition the sum of a probability function over all tuples is 1.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The paper gives certain definitions and theorems with parallel structure in expressions and semantics. The definitions and theorems involve the function representations of relations and distributions. (The parallels are not about tuple-based representations per se.) It does not purport to prove them or to make any other claim than that there are a lot of parallels.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2.&#xA;The paper does not associate probabilities with tuples in the relation viewpoint. Its use of an indicator function has nothing to do with probabilities.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The paper would be clearer if the indicator functions were boolean instead of 0-or-1. Because Hill uses multiplication (implicitly expressed by adjacency) as a hack to express conjunction: 0-or-1 TIMES 0-or-1 for F-or-T AND F-or-T. Only the distribution semantics has multiplication.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;3.&#xA;We can define for a distribution a corresponding &quot;positive&quot; relation whose indicator is zero iff the probability is: its tuples are those the distribution gives positive probabilities. A distribution operator maps its arguments' positive relations to its result's positive relation the way its corresponding relation operator maps those positive relations. (There is a homomorphism from distributions to relations.) The paper doesn't mention this. But it isn't needed by the paper!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since every distribution has probabilities summing to 1, there is at least one tuple in every distribution, and no distribution has an empty positive relation. This is irrelevant to the paper!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Informally, the fact that the relation theorems are parallel to distribution theorems means that they are either about the values returned by functions or about functions; ie they are about non-empty relations. (Formally, they are vacuously true for empty relations.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Interestingly the (only) non-emtpy 0-attribute relation, holding the (only) 0-attribute tuple, corresponds to the (only) distribution on the (only) 0-dimensional space, namely the one giving 1 for its (only) point, the (only) 0-dimensional point.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;4.&#xA;The set of tuples mapped by a distribution to positive values can be represented by a relation. (Namely its positive relation.) So distribution operations that drop indicated attributes (marginals) or that drop tuples per conditions (conditionals) have definitions and theorems reminiscent of those of relation projection and restriction (respectively).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A distribution can be represented by a relation. (Namely the relation got from its positive relation by extending each tuple by an attribute giving its image in the probability function.) So some theorems about distributions as mappings are like theorems about relations as mappings.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A relation can be represented by a relation got from it by extending each tuple by an attribute with the value 1. So some theorems about relations having given attributes plus a 0-to-1 one will be similar for such relations and relations representing distributions. And some theorems will be the very same for the 0-to-1 extra-attribute relation representations of relations and distributions. Put another way, some theorems about functions on given attributes returning 0-to-1 will apply to both relation indicator functions and to distribution probability functions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;5.&#xA;Is it not obvious what a distribution union is, ie when an event can be generated from either of two independent distributions on the same variables, and that it would involve addition and division by 2, and its positive relation the union of argument positive relations? (Even though that still has nothing to do with corresponding primitive operator sets.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;6.&#xA;I don't know what you mean by &quot;the analogy is weak&quot;. (FD vs transformation constraint.) The paper is clear about the &quot;analogy&quot;. It gives precise definitions and theorems. Read the paper more closely. Don't jump to conclusions about the paper's claims and then criticize a misinterpretation of them.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In conclusion (1) (a) there is no correspondence set up with relations let alone empty relations; but there's nothing wrong with that and (b) it happens that there is a correspondence between distributions and non-empty relations; but there's nothing wrong with that and (c) the paper does not use &quot;indicator function value as probability&quot;; but absent relation tuples are nevertheless associated with zero; but there's nothing wrong with that and (2) (a) there is no correspondence set up with primitive operator sets; but there is no such correspondence; so there's nothing wrong with that and (b) distribution union has a simple correspondence with relation union. You don't  seem to understand the senses of the correspondences and parallels.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;philip &lt;/p&gt;&#xA;" OwnerUserId="9105" LastActivityDate="2012-04-16T22:21:55.613" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11110" PostTypeId="1" AcceptedAnswerId="11115" CreationDate="2012-04-16T22:42:20.003" Score="19" ViewCount="714" Body="&lt;p&gt;A matrix is called totally regular if all its square submatrices have full rank. Such matrices were used to construct superconcentrators. What is the complexity of deciding whether a given matrix is totally regular over the rationals? Over finite fields?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More general, call a matrix totally $k$-regular if all its square submatrices of size at most $k$ have full rank. Given a matrix and a parameter $k$, what is the complexity of deciding whether the matrix is totally $k$-regular?&lt;/p&gt;&#xA;" OwnerUserId="6456" LastEditorUserId="6456" LastEditDate="2012-04-17T10:47:19.577" LastActivityDate="2014-02-21T16:37:49.007" Title="Complexity of deciding whether a matrix is totally regular" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;linear-algebra&gt;&lt;matrices&gt;" AnswerCount="3" CommentCount="6" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11111" PostTypeId="2" ParentId="3540" CreationDate="2012-04-16T23:38:57.063" Score="11" Body="&lt;p&gt;&lt;a href=&quot;http://www.win.tue.nl/~aeb/2WF02/spectra.pdf&quot;&gt;Spectra of Graphs&lt;/a&gt; by &lt;a href=&quot;http://www.win.tue.nl/~aeb/&quot;&gt;Brouwer&lt;/a&gt; and &lt;a href=&quot;http://lyrawww.uvt.nl/~haemers/home.html&quot;&gt;Haemers&lt;/a&gt;. I came to this book by way of &lt;a href=&quot;http://cs-www.cs.yale.edu/homes/spielman/PAPERS/SGTChapter.pdf&quot;&gt;Chapter 16&lt;/a&gt; (written by Spielman) in &lt;a href=&quot;http://www.crcpress.com/product/isbn/9781439827352&quot;&gt;Combinatorial Scientific Computing&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="2847" LastActivityDate="2012-04-16T23:38:57.063" CommentCount="0" CommunityOwnedDate="2012-04-16T23:38:57.063" ContentLicense="CC BY-SA 3.0" />
  <row Id="11114" PostTypeId="2" ParentId="10828" CreationDate="2012-04-17T07:31:49.380" Score="7" Body="&lt;p&gt;In their 2003 paper &lt;em&gt;Lovelace &amp;amp; Babbage and the Creation of the 1843 ‘Notes'&lt;/em&gt;, John Fuegi and Jo Francis quote H.J. Gray’s &lt;em&gt;Digital Computer Engineering&lt;/em&gt;, Prentice-Hall, 1963, in the annoted bibliography given by B. Randell, ed., &lt;em&gt;The Origins of Digital Computers: Selected Papers&lt;/em&gt;, Springer Verlag, 1973, p. 420, as saying:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;“John von Neumann urged that all the machine units be connected ... so&#xA;  that the machine could be used as a computer of the Babbage type ...&#xA;  This was done and ENIAC was operated in this fashion until it&#xA;  retired.”&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="9109" LastActivityDate="2012-04-17T07:31:49.380" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11115" PostTypeId="2" ParentId="11110" CreationDate="2012-04-17T07:48:04.197" Score="13" Body="&lt;p&gt;The paper &lt;strong&gt;Vandermonde Matrices, NP-Completeness, and Transversal Subspaces&lt;/strong&gt; &lt;a href=&quot;http://perso.ens-lyon.fr/pascal.koiran/Publis/lip.02-31.ps&quot;&gt;[ps]&lt;/a&gt; by Alexander Chistov, Hervé Fournier, Leonid Gurvits and Pascal Koiran may be relevant to your question (though it does not answer it).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;They prove the $\mathsf{NP}$-completeness of the following problem: Given an $n\times m$ matrix over $\mathbb Z$ ($n\le m$), decide whether there exists a $n\times n$ submatrix whose determinant vanishes. &lt;/p&gt;&#xA;" OwnerUserId="976" LastActivityDate="2012-04-17T07:48:04.197" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11118" PostTypeId="1" AcceptedAnswerId="11170" CreationDate="2012-04-17T17:34:17.760" Score="4" ViewCount="260" Body="&lt;p&gt;I am trying to wrap my head around the benefits of salt in cryptography. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Salt_%28cryptography%29&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/Salt_(cryptography)&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I understand that adding salt makes it harder to precompute a table. But exactly how much harder do things get with salt?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It seems to me, like when you add salt, the number of entries in your precomputed table would = number of common passwords to precompute x number of entries in the password table (ie number of different possibile salts). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;So if you have a list of 100 common passwords, then without salt, you would have 100 hashed passwords. But if you have 10 users on a system, with 10 different salts, then you would now have 1000 different combinations to check. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;So as the numbers of users or the size of common password list increases, the precomputed table gets so big that you can't pre-compute it easily (if at all)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Am I getting this? Do I have it right?&lt;/p&gt;&#xA;" OwnerUserId="8812" LastEditorUserId="-1" LastEditDate="2012-04-22T17:15:02.060" LastActivityDate="2012-04-22T20:49:32.773" Title="How much bigger does a precomputed lookup table get when salt is added?" Tags="&lt;cr.crypto-security&gt;" AnswerCount="2" CommentCount="5" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11119" PostTypeId="1" CreationDate="2012-04-17T18:57:44.670" Score="17" ViewCount="356" Body="&lt;p&gt;Time-bounded quantum computation is obviously very interesting. What about space-bounded quantum computation?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I know many interesting results for quantum computation with sublogarithmic space bounds and various kind of quantum automata models.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, it was shown that unbounded-error probabilistic and quantum space are equivalent for any space constructable $ s(n) \in \Omega(\log(n)) $ (Watrous, &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0022000099916550&quot; rel=&quot;nofollow noreferrer&quot;&gt;1999&lt;/a&gt; and &lt;a href=&quot;http://www.springerlink.com/content/dmrehe64pm5h1ywe/?MUD=MP&quot; rel=&quot;nofollow noreferrer&quot;&gt;2003&lt;/a&gt;). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I wonder whether there are some specific results making quantum space interesting (by &lt;strong&gt;excluding&lt;/strong&gt; sublogarithmic-space and automata models).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(I am aware of this entry: &lt;a href=&quot;https://cstheory.stackexchange.com/q/4448/7358&quot;&gt;Quantum analogues of SPACE complexity classes&lt;/a&gt;.)&lt;/p&gt;&#xA;" OwnerUserId="7358" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2014-03-11T05:49:44.990" Title="Which results make quantum space interesting?" Tags="&lt;quantum-computing&gt;&lt;space-bounded&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="11121" PostTypeId="2" ParentId="8178" CreationDate="2012-04-17T22:45:31.437" Score="0" Body="&lt;p&gt;The question of  computing Characters of irreducible representations of the symmetric group might be a natural candidate.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think Charles Hepler shows it is  Gap-P complete, but I'm not sure: for a link to his Master's thesis, see &#xA;&lt;a href=&quot;https://dspace.ucalgary.ca/handle/1880/45530?mode=full&quot; rel=&quot;nofollow&quot;&gt;https://dspace.ucalgary.ca/handle/1880/45530?mode=full&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="9121" LastEditorUserId="9121" LastEditDate="2012-04-18T04:42:30.527" LastActivityDate="2012-04-18T04:42:30.527" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11123" PostTypeId="2" ParentId="189" CreationDate="2012-04-18T03:59:05.770" Score="0" Body="&lt;p&gt;I am sure &quot;&lt;a href=&quot;http://en.wikipedia.org/wiki/Ancient_Egyptian_multiplication&quot; rel=&quot;nofollow&quot;&gt;Ancient Egyptian Multiplication&lt;/a&gt;&quot; algorithm will at least find a mention in sidenote in the BOOK. Simple, elegant and has an known or most probably unknown side effect of  one of the first usages of binary number. Still wondering how they figured it out in the first place.&lt;/p&gt;&#xA;" OwnerUserId="3397" LastActivityDate="2012-04-18T03:59:05.770" CommentCount="0" CommunityOwnedDate="2012-04-18T03:59:05.770" ContentLicense="CC BY-SA 3.0" />
  <row Id="11125" PostTypeId="2" ParentId="9826" CreationDate="2012-04-18T09:20:57.743" Score="4" Body="&lt;p&gt;Judgements are the composition of two things:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;A proposition $P$; and&lt;/li&gt;&#xA;&lt;li&gt;A propositional attitude $\cal A$ – this is what philosophers call it, cf. &lt;a href=&quot;http://plato.stanford.edu/entries/prop-attitude-reports/&quot; rel=&quot;nofollow&quot;&gt;propositional attitude reports&lt;/a&gt; which tie propositional attitudes to the speech acts Kaveh talks of; &lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;giving the basic form ${\cal A} [P]$.  More complex syntaxes are possible if we allow multi-arity propositional judgements.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Usual formulations of first-order logic need only one propositional attitude, which is usually either &quot;$[P]$ is a theorem&quot; or the binary judgement &quot;$[P]$ is a consequence of $[T]$&quot;.  In the two-sided sequent calculus, we have a more complex theory of judgements, most commonly $H_1, \dots, H_n \vdash A_1, \dots, A_n$, where some logics have such judgements that are not trivially equivalent to any proposition of the logic's language.  So different kinds of propositional are seen in fairly elementary classical logic.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Martin-Löf's type theory resorts to a more complex family of judgements for three reasons: First, it is dependently typed, meaning that the propositions occur as syntactic entities inside terms.  Second, he dispensed using a grammar to define which strings of symbols are valid terms and propositions, but used the inferential system to do so – a reasonable thing to do since propositions in such typed theories are generally not context free.  Third, he devised a novel theory of equality, often called propositional equality, which leverages the beta-eta theory (or in some variants, just the beta theory), and the judgements that two terms share the same normal form are expressed using judgements expressing the beta/eta equivalence of two terms – again reasonable, given that beta/eta equivalence is computationally expensive and non-obvious in the proof theory.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The judgements expressing beta/eta equivalence can be eliminated with not too much difficulty - have as the grounds for the introduction rule for propositional equality being that the two terms are beta equivalent (beta-eta equivalence is slightly more problematic) – but eliminating the judgement that terms inhabit types is much trickier; the least bad way I can think of for doing this is to reconstruct type inference in the term grammar, which leads to a more complex and less intuitive theory overall.&lt;/p&gt;&#xA;" OwnerUserId="270" LastActivityDate="2012-04-18T09:20:57.743" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11126" PostTypeId="1" AcceptedAnswerId="37453" CreationDate="2012-04-18T11:38:16.143" Score="12" ViewCount="630" Body="&lt;p&gt;The book &lt;a href=&quot;http://www.math.upenn.edu/~wilf/AeqB.html&quot;&gt;A=B&lt;/a&gt; by Petkovsek, Wilf and Zeilberger describes algorithms to compute different sums of binomials. AFAIK, these algorithms are still being improved by different authors. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Do you know where we can find the most up-to-date implementations of these algorithms? And do you know if there exist implementations in some free softwares such as &lt;a href=&quot;http://sagemath.org&quot;&gt;Sage&lt;/a&gt;?&lt;/p&gt;&#xA;" OwnerUserId="976" LastEditorUserId="186" LastEditDate="2012-04-18T19:04:54.427" LastActivityDate="2017-02-01T16:42:02.797" Title="Implementation of Wilf-Zeilberger and related methods" Tags="&lt;ds.algorithms&gt;&lt;co.combinatorics&gt;&lt;implementation&gt;" AnswerCount="1" CommentCount="7" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="11127" PostTypeId="1" AcceptedAnswerId="11129" CreationDate="2012-04-18T17:48:04.643" Score="8" ViewCount="554" Body="&lt;p&gt;A decision problem has good characterization if it is in $NP \cap coNP$. Many natural graph problems have good characterizations. For instance, Kuratuwski's Theorem gives good characterization of planar graphs. Konig's Theorem gives good characterization of bipartite graphs. Tutte's Theorem gives good characterization of graphs that have perfect matching. Euler's Theorem gives good characterization of Eulerian graphs. All these recognition problems have polynomial-time algorithms.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a natural graph problem that has good characterization but not known to be in $P$? A pointer to a survey of such problems would be appreciated.&lt;/p&gt;&#xA;" OwnerUserId="495" LastActivityDate="2012-04-19T19:01:47.327" Title="Graph problems with good characterization but not known to be in $P$" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;&lt;proof-complexity&gt;" AnswerCount="3" CommentCount="0" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="11128" PostTypeId="2" ParentId="11127" CreationDate="2012-04-18T18:43:23.237" Score="7" Body="&lt;p&gt;Determining the winner of a &quot;parity game&quot; is known to be in $NP\cap coNP$, but it is an outstanding open problem whether it is in $P$. See e.g.,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://lovelace.thi.informatik.uni-frankfurt.de/~klauck/XOR.pdf&quot;&gt;http://lovelace.thi.informatik.uni-frankfurt.de/~klauck/XOR.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note, however, that a parity game is defined by an annotated directed graph, so you might not want to consider it a &quot;natural graph problem.&quot;&lt;/p&gt;&#xA;" OwnerUserId="3189" LastActivityDate="2012-04-18T18:43:23.237" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11129" PostTypeId="2" ParentId="11127" CreationDate="2012-04-18T19:46:11.880" Score="14" Body="&lt;p&gt;In one of my &lt;a href=&quot;http://kintali.wordpress.com/2010/06/06/np-intersect-conp/&quot;&gt;blog posts&lt;/a&gt;, I mentioned four problems (Factoring, Parity Games, Stochastic Games, A Lattice Problem) that are known to be in $NP \cap coNP$ but not known to be in $P$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Parity Games and Stochastic Games can be considered as &quot;graph problems&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, &lt;a href=&quot;http://arxiv.org/abs/1104.3463&quot;&gt;The Two Bicliques Problem&lt;/a&gt; is in $NP \cap coNP$. This is a natural graph problem that is not known to be in $P$.&lt;/p&gt;&#xA;" OwnerUserId="344" LastEditorUserId="344" LastEditDate="2012-04-18T19:52:13.120" LastActivityDate="2012-04-18T19:52:13.120" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="11130" PostTypeId="1" CreationDate="2012-04-19T03:45:10.083" Score="5" ViewCount="220" Body="&lt;p&gt;Currently the best approximation algorithm for the MULTIWAY CUT problem is obtained via the linear program based on geometrical embedding by CKR [1].  Let $U_i$ be those vertices in $V-T$ which is assigned $e_i = \{0, \dots, 1, \dots, 0\}$, that is, $1$ at the $i$-th coordinate and $0$ at all others.  My question is: &lt;strong&gt;is there always an optimal solution that keeps vertices $U_i$ with $t_i$&lt;/strong&gt; (the $i$-th terminal)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Remark.&lt;/strong&gt; For the multicommodity-flow-based linear program for the MULTIWAY CUT problem (see [2]), it is not hard to show the existence of an optimal solution.  It should be verified with the similar idea as [3], which proves the existence of such an optimal solution on the NODE MULTIWAY CUT problem.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Calinescu, G., H. Karloff, Y. Rabani. 2000. An improved approximation algorithm for Multiway Cut. &lt;em&gt;J. Comput. System Sci.&lt;/em&gt; 60(3) 564–574.&lt;/li&gt;&#xA;&lt;li&gt;E. Dahlhaus, D. S. Johnson, C. H. Papadimitriou, P. D. Seymour, and M. Yannakakis, The complexity of multiterminal cuts, &lt;em&gt;SIAM J. Comput&lt;/em&gt;. 23 (1994), 864894. [Preliminary version appeared in STOC '92]&lt;/li&gt;&#xA;&lt;li&gt;Sylvain Guillemot, FPT algorithms for path-transversal and cycle-transversal problems, &lt;em&gt;Discrete Optimization&lt;/em&gt; 8 (2011) 61–71&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;P.S. I'm aware of Karger's result, but that is irrelevant.&lt;/p&gt;&#xA;" OwnerUserId="7059" LastEditorUserId="186" LastEditDate="2012-04-19T05:50:11.753" LastActivityDate="2012-04-21T14:36:58.330" Title="On the optimal solution of the CKR formulation for MULTIWAY CUT" Tags="&lt;ds.algorithms&gt;&lt;approximation-algorithms&gt;&lt;linear-programming&gt;&lt;multicommodity-flow&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="11131" PostTypeId="1" AcceptedAnswerId="11291" CreationDate="2012-04-19T04:27:20.233" Score="2" ViewCount="544" Body="&lt;p&gt;Let there be a sequence of graphs &lt;span class=&quot;math-container&quot;&gt;$G_1, G_2, G_3, ...$&lt;/span&gt; constructed using some particular approach or algorithm. in this particular case &lt;span class=&quot;math-container&quot;&gt;$G_n$&lt;/span&gt; is constructed by modifying &lt;span class=&quot;math-container&quot;&gt;$G_{n-1}$&lt;/span&gt; in some &amp;quot;systematic&amp;quot; way. in this particular case &lt;span class=&quot;math-container&quot;&gt;$G_n$&lt;/span&gt; is &amp;quot;more complex&amp;quot; than &lt;span class=&quot;math-container&quot;&gt;$G_{n-1}$&lt;/span&gt; and generally has more edges/vertices.&lt;/p&gt;&#xA;&lt;h3&gt;Question:&lt;/h3&gt;&#xA;&lt;p&gt;What is some systematic method of determining the &amp;quot;basic differences&amp;quot; between &lt;span class=&quot;math-container&quot;&gt;$G_n$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$G_{n-1}$&lt;/span&gt;?  In some sense, how does one derive a &amp;quot;recurrence relation&amp;quot; like a formula that derives &lt;span class=&quot;math-container&quot;&gt;$G_n$&lt;/span&gt; from &lt;span class=&quot;math-container&quot;&gt;$G_{n-1}$&lt;/span&gt; (similar to [1] but instead of using integers as parameters, here with graphs as the parameters)?  What are some famous examples of graph sequences like this, successfully analyzed in the literature?&lt;/p&gt;&#xA;&lt;p&gt;Presumably this general question is undecidable for some contrived cases [exercise for reader] but is decidable for special cases.  I am interested in the subset of decidable cases.&lt;/p&gt;&#xA;&lt;h3&gt;Background&lt;/h3&gt;&#xA;&lt;p&gt;This is an old problem that first occurred to me about 2 decades ago which to my knowledge has not been studied too much in particular but which seems significant.  I have a particular algorithm in mind for generating &lt;span class=&quot;math-container&quot;&gt;$G_n$&lt;/span&gt; from &lt;span class=&quot;math-container&quot;&gt;$G_{n-1}$&lt;/span&gt; for which I suspect there is not much research (hint, see other question [2]), and might mention/further clarify at a later date; but for now I am interested in a more general approach.&lt;/p&gt;&#xA;&lt;p&gt;Another analogy would be with textual &amp;quot;diff&amp;quot; programs which find lines added, deleted, modified between two text files.  Is there an analogous approach for graphs that has been used somewhere?  Actually, I suspect this type of construction is somewhat widespread in graph theory proofs, maybe even key/famous ones, but not necessarily studied so much in isolation.&lt;/p&gt;&#xA;&lt;p&gt;In the best case scenario, there would be a software package that would actually successfully derive such formulas in some cases, but to my knowledge it does not exist right now.&lt;/p&gt;&#xA;&lt;p&gt;[1] &lt;a href=&quot;http://en.wikipedia.org/wiki/Recurrence_relation&quot; rel=&quot;nofollow noreferrer&quot;&gt;solving recurrence relations, wikipedia &lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;[2] &lt;a href=&quot;https://cstheory.stackexchange.com/questions/10739/largest-language-class-for-which-inclusion-is-decidable&quot;&gt;largest language class for which inclusion is decidable&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2012-05-04T15:06:22.693" Title="techniques or examples of analyzing a series of graphs" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;graph-algorithms&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11132" PostTypeId="1" CreationDate="2012-04-19T12:13:52.460" Score="2" ViewCount="320" Body="&lt;p&gt;Title says it all. I have a weighted Graph G={V,E,ETW} where V is the node set, E the edge set and ETW is a set of edge time windows. A edge time window is a 3-Tuple (edge, starttime, endtime) with the meaning that in the intervall [starttime, endtime] the given edge is not available. The problem now is to find a shortest path from a start node to an end node in which it is allowed to wait at the nodes (to use a edge after it´s time window).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does anybody know a algorithm for this problem? (and in the best case the paper in which the algorithm was published)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Greetings, Christoph&lt;/p&gt;&#xA;" OwnerUserId="9139" LastEditorUserId="186" LastEditDate="2012-04-19T18:57:44.663" LastActivityDate="2012-04-20T07:26:47.817" Title="Do you know a shortest path algorithm for weighted graphs with hard time windows on the edges and waiting allowed?" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;shortest-path&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11133" PostTypeId="2" ParentId="10728" CreationDate="2012-04-19T18:07:23.303" Score="4" Body="&lt;p&gt;Noam is right, of course.  Historically, the first simulation of BPP with a source of any constant entropy rate was given in my paper &quot;Simulating BPP Using a General Weak Random Source.&quot;  Now there are simpler ways to achieve this and even stronger results.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Deterministic extraction of more than a constant number of bits is impossible in your model.  (You can get some weak deterministic extraction of 1 bit by simply outputting the first bit.)  Kamp and I showed that it's impossible to extract more than a constant number of bits in a general non-oblivious bit-fixing source with constant entropy rate, but since the set A is random, those results don't apply as stated.  However, our proof worked by choosing A at random of a fixed size t, so by choosing t=.6n, say, the result for a uniformly random A will follow.&lt;/p&gt;&#xA;" OwnerUserId="9141" LastActivityDate="2012-04-19T18:07:23.303" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11134" PostTypeId="2" ParentId="11127" CreationDate="2012-04-19T19:01:47.327" Score="6" Body="&lt;p&gt;Kuperberg recently proved that &lt;a href=&quot;http://arxiv.org/abs/1112.0845&quot;&gt;knottedness (of a given knot diagram) is in NP ∩ coNP&lt;/a&gt;, assuming that the generalized Riemann hypothesis is true.  A knot diagram is close enough to a graph that I think this counts as an answer to your question.&lt;/p&gt;&#xA;" OwnerUserId="2970" LastActivityDate="2012-04-19T19:01:47.327" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11135" PostTypeId="2" ParentId="10788" CreationDate="2012-04-19T19:24:10.997" Score="6" Body="&lt;p&gt;The problem is #P-complete. It follows from the last paragraph of page 2 of the following paper:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;C. J. Colbourn, J. S. Provan, and D. Vertigan, The complexity of computing the Tutte&#xA;polynomial on transversal matroids, Combinatorica 15 (1995), no. 1, 1–10.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.springerlink.com/content/wk55t6873054232q/&quot; rel=&quot;noreferrer&quot;&gt;http://www.springerlink.com/content/wk55t6873054232q/&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="604" LastActivityDate="2012-04-19T19:24:10.997" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11136" PostTypeId="1" AcceptedAnswerId="11142" CreationDate="2012-04-19T19:47:21.780" Score="6" ViewCount="154" Body="&lt;p&gt;A few papers I've been reading have algorithms on using interpolants for the following clauses (bounded model checking):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$ \begin{align*}&#xD;&#xA;A &amp;amp;= I \wedge T_1 \\&#xD;&#xA;B &amp;amp;= T_2 \wedge T_3 \wedge \ldots \wedge T_k \wedge (F_1 \vee F_2 \vee \ldots \vee F_k) \\&#xD;&#xA;\end{align*} $$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This interpolant is then used to compute an over approximation of reachable states and then we can check for inconsistency with less computation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;BUT, the interpolant itself is derived from a proof of unsatisfiability. So before you get the interpolant, wouldn't you already know if the final states are reachable?&lt;/p&gt;&#xA;" OwnerUserId="9143" LastEditorUserId="186" LastEditDate="2012-04-19T22:09:58.950" LastActivityDate="2012-04-20T08:52:49.863" Title="When we use a proof of unsatisfiability to derive an interpolant, isn't using the interpolant to check satisfiability now redundant?" Tags="&lt;ds.algorithms&gt;&lt;sat&gt;&lt;model-checking&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11138" PostTypeId="2" ParentId="10634" CreationDate="2012-04-19T20:16:38.077" Score="17" Body="&lt;p&gt;I presume you are talking about unconstrained minimization. Your question should specify if you are considering a specific problem structure. Otherwise, the answer is no.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First I should dispel a myth. The classical gradient descent method (also called &lt;em&gt;steepest descent&lt;/em&gt; method) is not even guaranteed to find a local minimizer. It stops when it has found a first-order critical point, i.e., one where the gradient vanishes. Depending on the particular function being minimized and the starting point, you may very well end up at a saddle point or even at a global maximizer!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider for instance $f(x,y) = x^2 - y^2$ and the initial point $(x_0,y_0) := (1,0)$. The steepest descent direction is $-\nabla f(1,0) = (-2,0)$. One step of the method with exact line search leaves you at $(0,0)$ where the gradient vanishes. Alas, it's a saddle point. You would realize by examining the second-order optimality conditions. But now imagine the function is $f(x,y) = x^2 - 10^{-16} y^2$. Here, $(0,0)$ is still a saddle point, but numerically, the second-order conditions may not tell you. In general, say you determine that the Hessian $\nabla^2 f(x^*,y^*)$ has an eigenvalue equal to $-10^{-16}$. How do you read it? Is it negative curvature or numerical error? How about $+10^{-16}$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider now a function such as&#xA;$$&#xD;&#xA;f(x) =&#xD;&#xA;\begin{cases}&#xD;&#xA; 1 &amp;amp; \text{if } x \leq 0 \\&#xD;&#xA;\cos(x) &amp;amp; \text{if } 0 &amp;lt; x &amp;lt; \pi \\&#xD;&#xA;-1 &amp;amp; \text{if } x \geq \pi.&#xD;&#xA;\end{cases}&#xD;&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This function is perfectly smooth, but if your initial point is $x_0 = -2$, the algorithm stops at a global maximizer. And by checking the second-order optimality conditions, you wouldn't know! The problem here is that some local minimizers are global maximizers!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now virtually all gradient-based optimization methods suffer from this by design. Your question is really about &lt;em&gt;global optimization&lt;/em&gt;. Again, the answer is no, there are no general recipes to modify a method so as to guarantee that a global minimizer is identified. Just ask yourself: if the algorithm returns a value and says it is a global minimizer, how would you check that it's true?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are classes of methods in global optimization. Some introduce randomization. Some use multi-start strategies. Some exploit the structure of the problem, but those are for special cases. Pick up a book on global optimization. You will enjoy it.&lt;/p&gt;&#xA;" OwnerUserId="2956" LastActivityDate="2012-04-19T20:16:38.077" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11139" PostTypeId="1" AcceptedAnswerId="11378" CreationDate="2012-04-19T21:40:02.387" Score="4" ViewCount="180" Body="&lt;p&gt;I am exploring using annotated grammars to formalize and enforce parts of contracts between nodes in a distributed application.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I've found a number of articles on languages for specifying fairly general types of contracts, mostly based around the idea of a contract as a state machine; and others (mostly object-capability schemes) based around the idea of identifying a &quot;safe&quot; subset of a language; but none that use a grammar as the specification of the contract.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I was wondering how attempts to formalize contracts tend to fail, and what else should one keep in mind.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Below are details of the particular kind of contract I am trying to enforce.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Given a BNF grammar for part of HTML:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;HTML ::== (Text | Link)*;&#xA;Text ::== (&quot;&amp;amp;amp;&quot; | &quot;&amp;amp;lt;&quot; | &quot;&amp;amp;quot;&quot; | [^&amp;amp;&amp;lt;&quot;])+;&#xA;Link ::== &quot;&amp;lt;a&quot; Href? &quot;&amp;gt;&quot; Text &quot;&amp;lt;/a&amp;gt;&quot;;&#xA;Href ::== &quot;href=\&quot;&quot; Text+ &quot;\&quot;&quot;;&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;I can infer which strings are in the language and which are not, and the structure of a parse tree, but by adding annotations thus&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;HTML ::== (Text | Link)*;&#xA;Text ::== @String((@CharValue{&quot;&amp;amp;&quot;}&quot;&amp;amp;amp;&quot;&#xA;                 | @CharValue{&quot;&amp;lt;&quot;}&quot;&amp;amp;lt;&quot;&#xA;                 | @CharValue{&quot;\&quot;&quot;}&quot;&amp;amp;quot;&quot;&#xA;                 | [^&amp;amp;&amp;lt;&quot;]))+;&#xA;Link ::== &quot;&amp;lt;a&quot; Href? &quot;&amp;gt;&quot; Text? &quot;&amp;lt;/a&amp;gt;&quot;;&#xA;Href ::== &quot; href=\&quot;&quot; @Embeds{URI}Text+ &quot;\&quot;&quot;;&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;I can infer additional facts:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;That plain text can be encoded/decoded by replacing &lt;code&gt;&quot;&amp;amp;&quot;&lt;/code&gt; with &lt;code&gt;&quot;&amp;amp;amp;&quot;&lt;/code&gt;, etc. and that a string can be encoded as a string that matches the &lt;code&gt;Text&lt;/code&gt; non-terminal.&lt;/li&gt;&#xA;&lt;li&gt;That the URI grammar should be recursively applied to the content of the &lt;code&gt;href&lt;/code&gt; post-decoding.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;From this I hope to generate several artifacts:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Encoders.  An encoder for non-terminal T is a &lt;code&gt;'a -&amp;gt; T string&lt;/code&gt; function that encodes a data value.&lt;/li&gt;&#xA;&lt;li&gt;Sanitizers.  A function &lt;code&gt;T string -&amp;gt; T string&lt;/code&gt; that produces a similar string that falls in a subset of the language that is well-handled by many different implementations and which does not contain high-power instructions.&lt;/li&gt;&#xA;&lt;li&gt;A template context propagator.  A function &lt;code&gt;string * context -&amp;gt; string * context&lt;/code&gt; which takes a string from a trusted source and the context before the string (context is a type describing a set of prefixes of strings in the language) and produces a string in the well-handled subset of the language and the context after that string is appended to any of the prefixes described by the input context.  This is useful for composing a string from trusted and untrusted code.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;With these tools, I hope to be able to enforce the contract that any powerful instructions which are parsed by the receiver of a network message composed using these tools are instructions that are present in snippets of code authored by the message sender, and not instructions authored by a provider of untrusted data.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If the sender uses the derived tools to encode or sanitize all untrusted data appropriately, and uses the template propagation algorithm to choose encoders/sanitizers appropriate to the context of the buffer on which the message is being built, then high-power instructions in the buffer must have come from a privileged source.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If the recipient receives a message over a secure channel, and uses the same grammar to parse and decode the message, then it can be confident of the provenance of the instructions it receives.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So the annotated grammar serves as a formal description of a contract, and the tools move the burden of preserving the contract from the application author to the grammar author.  Since there are many application authors who tend to know the well-tested parts of a language, a much smaller number of language specialists who know the poorly tested parts of the grammars as well should be able to make applications robust against code injection.&lt;/p&gt;&#xA;" OwnerUserId="7304" LastEditorUserId="186" LastEditDate="2012-04-19T22:13:21.177" LastActivityDate="2012-10-18T00:11:56.380" Title="Contract preservation using grammars" Tags="&lt;fl.formal-languages&gt;&lt;cr.crypto-security&gt;&lt;grammars&gt;&lt;security&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11140" PostTypeId="1" CreationDate="2012-04-20T04:12:44.377" Score="3" ViewCount="153" Body="&lt;p&gt;rank+($M$) is the minimum $r$ such that the following statement holds. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The statement : there exists matrices $U,V$ such that $M = UV$ and $U$ has $r$ columns and $V$ has $r$ rows.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is rank+($M$) bounded from below by the rectangle covering bound for $M$ ?&lt;/p&gt;&#xA;" OwnerUserId="9144" LastActivityDate="2012-04-20T04:12:44.377" Title="Lower Bound Methods in NonDet Communication Complexity" Tags="&lt;cc.complexity-theory&gt;&lt;co.combinatorics&gt;&lt;linear-algebra&gt;&lt;communication-complexity&gt;" AnswerCount="0" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="11141" PostTypeId="2" ParentId="11132" CreationDate="2012-04-20T07:26:47.817" Score="2" Body="&lt;p&gt;Unfortunately I am not aware of any complete and sound algorithm for solving this task. As far as I am aware, most techniques consist of Stochastic Local Search algorithms.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;TSPTW (Traveling Salesman Problem with Time Windows) is a good example of your problem. For the particular case where constraints are not hard so that they result in a penalty, the best results have been derived with Ant Colony Optimization [1]. Another algorithm known as the Nested Rollout Policy Adaptation [2] has been used as well. Finally, Monte-carlo has been tried (I cite [3] but there are surely a number of references in this regard)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hope this helps,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Bibliography&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] Manuel López Ibáñez and Christian Blum, &quot;Beam-ACO for the tranveling salesman problem with time windows&quot;, Computers &amp;amp; OR 37 (9), 1570--1583 (2010)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] T. Cazenave and F. Teytaud, &quot;Application of the nested rollout policy adaptation algorithm to the traveling salesman problem with time windows&quot;, LION 6, Springer (2012)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[3] A. Rimmel, F. Teytaud, and T. Cazenave, &quot;Optimization of the nested monte-carlo algorithm on the Traveling salesman problem with time windows&quot;, Applications of Evolutionary Computation, 501--510 (2011)&lt;/p&gt;&#xA;" OwnerUserId="6242" LastActivityDate="2012-04-20T07:26:47.817" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11142" PostTypeId="2" ParentId="11136" CreationDate="2012-04-20T08:52:49.863" Score="6" Body="&lt;p&gt;If the formula is satisfiable you cannot construct an interpolant. If the formula is unsatisfiable, you know that the final states are not reachable in at most $k$ steps. You do not know about reachability of final states in $k+1$ or more steps. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If the formula you suggest is unsatisfiable, you can replace the sub-formula $I$ of $A$ with the interpolant and check for satisfiability. If this new formula is unsatisfiable, you know that the error state is not reachable in $k+1$ steps. &lt;em&gt;Something significant just happened.&lt;/em&gt; We were able to determine that the final states are not reachable in $k+1$ steps using only $k$ unwindings. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Interpolant computation can repeat until the formula is unsatisfiable, in which case you are stuck, or until a new interpolant implies the disjunction of the old interpolants. The second case is another advantage of interpolants. We use them to detect fixed points. Detecting a fixed point with just the bounded model checking formula is not easy.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A one-line intuition I once heard was: interpolation is a poor person's quantifier-elimination.&lt;/p&gt;&#xA;" OwnerUserId="4155" LastActivityDate="2012-04-20T08:52:49.863" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11144" PostTypeId="1" CreationDate="2012-04-20T15:56:40.293" Score="3" ViewCount="4611" Body="&lt;p&gt;I was looking at some heuristics for coloring and found this book on Google books: &lt;a href=&quot;http://books.google.be/books?id=nEmcID52qtsC&amp;amp;lpg=PP1&amp;amp;dq=graph%20coloring&amp;amp;pg=PA16#v=onepage&amp;amp;q=greedy&amp;amp;f=false&quot; rel=&quot;nofollow&quot;&gt;Graph &#xA;Colorings By Marek Kubale&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;They describe the Greedy algorithm as follows:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;While there is an uncolored vertex v&#xA;    choose a color not used by its neighbors and assign it to v&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Then they describe a sequential algorithm:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;order the vertices in a random way&#xA;execute the greedy algorithm&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;They claim that this algorithm is $O(m+n)$.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Its seems to me that the greedy algorithm is in fact $O(n^2)$.&#xA;Am I missing something here? Or is the greedy method $O(m)$?&#xA;($m$ = edges, $n$ = vertices)&lt;/p&gt;&#xA;" OwnerUserId="9127" LastEditorUserId="186" LastEditDate="2012-04-20T21:12:26.073" LastActivityDate="2012-04-25T03:26:59.007" Title="Complexity of greedy coloring" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;time-complexity&gt;&lt;graph-colouring&gt;&lt;greedy-algorithms&gt;" AnswerCount="3" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="11145" PostTypeId="2" ParentId="11144" CreationDate="2012-04-20T16:16:11.783" Score="4" Body="&lt;p&gt;The book probably assumes an adjacency list representation. Each vertex is visited once, so to decide what color it should get, all its neighbors are checked, so each edge is crossed twice (once in each direction).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you have an adjacency matrix representation, I think it will be $O(n^2)$.&lt;/p&gt;&#xA;" OwnerUserId="6977" LastEditorUserId="7304" LastEditDate="2012-04-21T06:58:10.247" LastActivityDate="2012-04-21T06:58:10.247" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="11146" PostTypeId="2" ParentId="11085" CreationDate="2012-04-20T16:23:08.933" Score="15" Body="&lt;p&gt;If you require only that the growth rate be a polynomial in $n$ for fixed $k$, then you get the definition of the parameterized complexity class XP, which is certainly an object of interest, so there's nothing wrong with considering it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You get the definition of FPT if you further impose the condition that the &lt;i&gt;degree&lt;/i&gt; of the polynomial in $n$ &lt;i&gt;remains fixed&lt;/i&gt; as the parameter increases.  FPT turns out to be a particularly tractable subclass of XP, and intuitively, the reason is that an expression such as $2^k n^2$ doesn't explode as quickly as an expression such as $k^2 n^k$, if $k$ and $n$ are &lt;i&gt;both&lt;/i&gt; increasing.  This intuition is supported both in practice and in theory; i.e., FPT problems tend to be noticeably more tractable in practice than arbitrary XP problems, and one can also get a nice theoretical picture of the structure of XP by starting with FPT at the bottom and constructing hierarchies of other subclasses of XP (such as the W hierarchy) above it.&lt;/p&gt;&#xA;" OwnerUserId="2970" LastActivityDate="2012-04-20T16:23:08.933" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11147" PostTypeId="2" ParentId="11144" CreationDate="2012-04-20T17:06:31.423" Score="3" Body="&lt;p&gt;A careless implementation of the greedy coloring algorithm leads to a $O(n\Delta)$ algorithm. With some care it can easily be implemented in linear time $O(n+m)$. Create an array $used$ with $\Delta + 1$ components and an array $colors$ of length $n$. Initialize $colors$ and $used$ with 0. Now iterate over all nodes. For each node $v$ iterate over the neighbors $w$ of $v$. If $color[w] &amp;gt; 0$ (i.e. $w$ is already colored) set $used[color[w]]=1$. Then sequentially search the minimal k such that $used[k] == 0$. This is the color of $v$, i.e. $color[v] = k$. Then iterate again over the neighbors $w$ of $v$. If $color[w] &amp;gt; 0$ then set $used[color[w]] == 0$. Upon termination $color$ is a valid coloring. The algorithm obviously requires only $O(n+m)$ time. You can find detailed source code in my book on graph algorithms, but that is in German.&lt;/p&gt;&#xA;" OwnerUserId="2390" LastEditorUserId="2390" LastEditDate="2012-04-20T18:58:16.997" LastActivityDate="2012-04-20T18:58:16.997" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11148" PostTypeId="1" AcceptedAnswerId="11167" CreationDate="2012-04-20T20:57:33.160" Score="4" ViewCount="137" Body="&lt;p&gt;Suppose we have a multigraph with vertex set $V$ where for each $v \in V$, $d_v &amp;gt; 0$ is the diameter of the vertex. We want to put a linear ordering on the set of vertices such it minimizes ($L_1$ or $L_2$ norm of) the sum of edge length when vertices are drawn on a line (according to that linear ordering). The vertices are non overlapping circles with diameter $d_v$ and each edge can start anywhere in the respective circles as long as it is confined to the boundary of the given circles and all the other edges start at the same position. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A physical interpretation of this would be that there are N balls connected with ropes (the rope can start anywhere inside the ball but every rope connected to that same ball must start from the same place too) We want to place the balls on a line such that the total length of the ropes used in minimized.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there any efficient algorithm known for this type of problem? How about approximation algorithms?&lt;/p&gt;&#xA;" OwnerUserId="9151" LastEditorUserId="80" LastEditDate="2012-04-20T23:38:48.053" LastActivityDate="2012-04-23T20:34:01.547" Title="Minimum ($\ell_1$ or $\ell_2$) norm of sum of edge length in multigraph over linear ordering of vertices" Tags="&lt;cg.comp-geom&gt;&lt;optimization&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11150" PostTypeId="1" CreationDate="2012-04-20T21:53:42.560" Score="11" ViewCount="357" Body="&lt;p&gt;A direct product theorem, informally, says that computing $k$ instances of a function $f$ is harder than computing $f$ once.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Typical direct product theorems (e.g., Yao's XOR Lemma) look at &lt;em&gt;average-case complexity&lt;/em&gt;, and argue (very roughly) that is $f$ cannot be computed by circuits of size $s$ with probability better than $p$, then $k$ copies of $f$ cannot be computed by circuits of size $s&amp;#39; &amp;lt; s$ with probability better than $p^k$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am looking for different types of direct product theorems (if they are known). Specifically:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(1) Say we fix the probability of error $p$ and are instead interested in te size of the circuit needed to compute $k$ copies of $f$? Is there a result that says that if $f$ cannot be computed by circuits of size $s$ with probability better than $p$, then $k$ copies of $f$ cannot be computed with probability better than $p$ using a circuit of size less than $O(k \cdot s)$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(2) What is known with respect to &lt;em&gt;worst-case&lt;/em&gt; complexity? E.g., if $f$ cannot be computed (with 0 error) by circuits of size $s$, what can we say about the complexity of computing $k$ copies of $f$ (with 0 error)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any references would be appreciated.&lt;/p&gt;&#xA;" OwnerUserId="686" LastActivityDate="2012-06-06T09:13:51.293" Title="Variants of direct product theorems" Tags="&lt;cc.complexity-theory&gt;&lt;circuit-complexity&gt;&lt;average-case-complexity&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="11151" PostTypeId="1" CreationDate="2012-04-20T23:22:25.780" Score="0" ViewCount="2415" Body="&lt;p&gt;Given $G = (V,E)$ I can formulate a relaxation of graph $K$-coloring as:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;find feasible point s.t.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\min \sum_{ij}v_{ij}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;for all $(i,j)$ in $E$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$z_{ij} \le (c_i - c_j) \bmod k$ (i)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$z_{ij} \le (c_j - c_i) \bmod k$ (ii)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$z_{ij} + v_{ij} \ge 1$ (iii)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Think of the last as something like the soft margin constraint for an SVM.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In other words, all $c_i$ are real numbers and the absolute modulo $k$ difference between all adjacent $c_i,c_j$ must be greater than 1. It seems like a sensible notion of an update to de-violate constraints is to increase a given variable $c_i$ to make minimize the objective, then hop to a neighbor with infeasible edges and do the same, repeat, etc. Each greedy local update is natural.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What sort of issues would this formulation encounter if I tried to put it into practice? Could I get a reasonable approximation procedure from it, or would I be stuck with a heuristic, or is it likely to fall into some sort of weird cyclic behavior.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In general, what can I do and not do with modulo constraints for linear programming?&lt;/p&gt;&#xA;" OwnerUserId="3337" LastEditorUserId="186" LastEditDate="2012-04-21T19:08:50.957" LastActivityDate="2012-04-21T23:26:17.967" Title="Linear Programming with Modulo Linear Constraints" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;optimization&gt;&lt;linear-programming&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11154" PostTypeId="2" ParentId="11150" CreationDate="2012-04-21T08:07:28.773" Score="10" Body="&lt;p&gt;(1): This question was studied in the paper &quot;Towards proving strong direct product theorems&quot; by Ronen Shaltiel, and it turns out that such a conjecture is false: For example, it could be that $f$ can be computed with probability $0.99 * p$ with size much smaller than $s$, and only the additional $0.01 * p$ probability mass requires size $s$. In such case, when computing $f$ on $k$ instances, the circuit could solve $f$ on most of the instances with size much smaller than $s$, and will need size $s$ only on few of the instances.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(2): A direct product theorem for worst-case complexity is known for formulas and for monotone circuits, but is actually known to be false for general circuits. For an easy example, consider a function $f : \{0,1\}^n \to \{0,1\}^n$ that views its input as a vector and multiplies it by some fixed $n \times n$ boolean matrix. Then, computing the function $f$  may require size $n^2$, but computing it on $n$ instances can be done much faster than $n^3$ using a matrix multiplication algorithm.&#xA;You can find a thorough discussion of this subject in the book &quot;The complexity of Boolean Functions&quot; by Ingo Wegener - see Chapter 10.2 here: &lt;a href=&quot;http://eccc.hpi-web.de/static/books/The_Complexity_of_Boolean_Functions/&quot; rel=&quot;nofollow&quot;&gt;http://eccc.hpi-web.de/static/books/The_Complexity_of_Boolean_Functions/&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="8429" LastEditorUserId="8429" LastEditDate="2012-06-06T09:13:51.293" LastActivityDate="2012-06-06T09:13:51.293" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="11156" PostTypeId="2" ParentId="11150" CreationDate="2012-04-21T12:35:41.463" Score="7" Body="&lt;p&gt;Just to complement Or's reply, questions of the flavor of (1) [how much of a resource is needed to do well on k copies] were studied, and the corresponding theorems are called &quot;direct sum theorems&quot;. As with direct product theorems, direct sum theorems may or may not hold, depending on the setup.&lt;/p&gt;&#xA;" OwnerUserId="1621" LastActivityDate="2012-04-21T12:35:41.463" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11157" PostTypeId="1" CreationDate="2012-04-21T13:18:08.880" Score="2" ViewCount="1982" Body="&lt;p&gt;I am looking for an algorithm that, given a large weighted undirected graph, would find the node that has minimum average distance from a given set of nodes in the graph.&lt;/p&gt;&#xA;" OwnerUserId="9156" LastEditorUserId="186" LastEditDate="2012-04-21T18:56:30.907" LastActivityDate="2012-04-22T00:47:03.513" Title="Finding the nearest node to a given set of nodes in a graph" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;" AnswerCount="1" CommentCount="6" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="11160" PostTypeId="2" ParentId="11151" CreationDate="2012-04-21T20:30:06.173" Score="2" Body="&lt;p&gt;If one uses the standard notion of a &quot;linear program&quot;, i.e., minimization of a linear functional over a polyhedral set, then it is not clear to me if your problem is actually a linear program. The constraint with the modulo function is equivalent to a disjunction of several affine constraints. This would in general make your problem nonconvex, and thus quite hard.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you are willing to deal with an integer program, you can exploit the structure. You can write the modulo constraints as  e.g., &#xA;$c_i - c_j -\alpha_{ij} k \geq z_{ij}$, where $\alpha_{ij}$ is an integer for all $i,j$ and a new variable added to your problem. The resulting problem is a mixed integer linear program. Results/algorithms for these are based on the structure of the linear constraints. I am not an expert in MILPs, but I thought this may give you some pointers.&lt;/p&gt;&#xA;" OwnerUserId="8965" LastEditorUserId="8965" LastEditDate="2012-04-21T23:26:17.967" LastActivityDate="2012-04-21T23:26:17.967" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="11161" PostTypeId="1" CreationDate="2012-04-21T21:07:52.860" Score="5" ViewCount="1191" Body="&lt;p&gt;Given items with weight $w_i$ and profits $p_i$, minimization Knapsack problem is to pick a subset of items $I$, s.t. $\sum_{i\in{I}}{w_i} \geq W$ and $\sum_{i\in{I}}{p_i}$ is minimized.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The greedy algorithm simply sorts items based on ratio $\frac{p_i}{w_i}$. It scans and sum up the sorted items in increasing order, until $\sum{w_i}\geq{W}$. Then outputs $\sum{p_i}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If the distribution of $p_i$ is known (say, following zipf distribution) and $w_i$ is randomly distributed, and independently with value of $p_i$, then what is the average optimality ratio which is ratio of $\sum_{i\in{I}}{p_i}$ to the optimal results.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note: in worst case, this greedy algorithm can be arbitrarily bad, according to &#xA;following book. P412, Knapsack Problems, By Hans Kellerer, Ulrich Pferschy, David Pisinger.&lt;/p&gt;&#xA;" OwnerUserId="5742" LastEditorUserId="4795" LastEditDate="2012-04-22T17:15:06.023" LastActivityDate="2013-01-22T00:01:22.453" Title="Optimality of Greedy algorithm for minimization Knapsack Problem" Tags="&lt;cc.complexity-theory&gt;&lt;optimization&gt;&lt;time-complexity&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="11162" PostTypeId="2" ParentId="11157" CreationDate="2012-04-22T00:47:03.513" Score="-3" Body="&lt;p&gt;I think Dijkstra's shortest path algorithm would be suitable for your problem. But since you want to find the shortest-path node from a &lt;em&gt;set&lt;/em&gt; of nodes and not from just one node, you need to tweak it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The algorithm is quite straightforward but a bit obtuse, try searching for animated expositions on YouTube.&lt;/p&gt;&#xA;" OwnerUserId="9162" LastActivityDate="2012-04-22T00:47:03.513" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11165" PostTypeId="1" CreationDate="2012-04-22T13:30:02.140" Score="5" ViewCount="160" Body="&lt;p&gt;In the algebraic decision tree, the result is clear: Elmasry and Belal (&lt;a href=&quot;http://ieeexplore.ieee.org/xpl/articleDetails.jsp?arnumber=1614073&quot; rel=&quot;nofollow&quot;&gt;Verification Of Minimum Redundancy Prefix Codes&lt;/a&gt;)'s lower bound shows that the worst case complexity of computing an optimal prefix free code over all possible sequences of $\sigma$ frequencies is $\Theta(\sigma\lg\sigma)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the $\Omega(\lg \sigma)$-word RAM model, combining Van Leeuwen's reduction to sorting (&lt;a href=&quot;http://www.pubzone.org/dblp/conf/icalp/Leeuwen76&quot; rel=&quot;nofollow&quot;&gt;On The Construction Of Huffman Trees&lt;/a&gt;) with any $O(\sigma\lg\lg\sigma)$ sorting algorithm in the RAM model yields an upper bound of $O(\sigma(1+\lg\lg\sigma))$, which many people seem to assume to be optimal, probably by analogy with the situation in the algebraic decision tree model. But the only lower bound available is $\Omega(\sigma)$, the cost of reading the frequencies, leaving a gap between the two bounds.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;What is the best upper bound known on the asymptotic complexity of computing an optimal prefix free code in the word RAM model?&lt;/strong&gt; Is it $\Theta(\sigma\lg\lg\sigma)$ or $\Theta(\sigma)$? Or somewhere in between?&lt;/p&gt;&#xA;" OwnerUserId="191" LastEditorUserId="191" LastEditDate="2014-02-03T20:23:32.257" LastActivityDate="2014-02-03T20:23:32.257" Title="What is the best upper bound known for the complexity of computing an optimal prefix free code in the RAM model?" Tags="&lt;ds.algorithms&gt;&lt;sorting&gt;&lt;prefix-free-code&gt;" AnswerCount="0" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11166" PostTypeId="1" AcceptedAnswerId="11171" CreationDate="2012-04-22T16:00:29.700" Score="4" ViewCount="295" Body="&lt;p&gt;I have came up with two alternate universe scenarios that I need some help figuring out the outcome of. Thank you in advance.&lt;br&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There exists two complexity classes $\mathsf{A}$ and $\mathsf{B}$. By definition $\mathsf{A}$ $\subseteq$ $\mathsf{B}$ but then it can be easily seen that $\mathsf{A}$ is truth table reducible to $\mathsf{B}$. Furthermore, $\mathsf{B}$ $\subseteq$ $\mathsf{coC_{=}P}$ (&lt;a href=&quot;http://qwiki.stanford.edu/index.php/Complexity_Zoo%3aC#cocequalsp&quot; rel=&quot;nofollow&quot;&gt;Zoo&lt;/a&gt;) and $\mathsf{FewP}$ $\subseteq$ $\mathsf{A}$ (&lt;a href=&quot;http://qwiki.stanford.edu/index.php/Complexity_Zoo%3aF#fewp&quot; rel=&quot;nofollow&quot;&gt;Zoo&lt;/a&gt;).&lt;br&gt;&lt;br&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1)What are the consequences of a Quasi Polynomial Time Algorithm for $\mathsf{B}$ ?&lt;br&gt;&#xA;a)Does it put $\mathsf{A}$ in $\mathsf{QP}$ as well?&lt;br&gt;&#xA;b)Other than proving that $\mathsf{P}$ $\neq$ $\mathsf{PSPACE}$ and $\mathsf{P}$ $\neq$ $\mathsf{PP}$ does it also show that $\mathsf{P}$ $\neq$ $\mathsf{NP}$?&lt;br&gt;&lt;br&gt;&#xA;2)What are the consequences of a Polynomial Time Algorithm for $\mathsf{A}$? &lt;br&gt;&#xA;a)Does it put $\mathsf{B}$ in $\mathsf{P}$ as well?&lt;br&gt;&#xA;b)Since $\mathsf{P} \subseteq \mathsf{UP} \subseteq \mathsf{FewP} \subseteq \mathsf{A}$ we will have $\mathsf{P} = \mathsf{UP} = \mathsf{FewP} = \mathsf{A}$ . Then can it still be the case $\mathsf{P}$ does not equal $\mathsf{NP}$? &lt;br&gt;&#xA;c)Does it also show that $\mathsf{NP} \subseteq \mathsf{RP}$ since now  $\mathsf{RP}^\mathsf{UP} = \mathsf{RP}$? &lt;/p&gt;&#xA;" OwnerUserId="1590" LastEditorUserId="4896" LastEditDate="2012-04-23T01:15:07.920" LastActivityDate="2012-04-23T01:15:07.920" Title="Consequences of Polynomial &amp; QuasiPolynomial time algorithms for UP, FewP and CoC=P" Tags="&lt;cc.complexity-theory&gt;&lt;soft-question&gt;&lt;complexity-classes&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="11167" PostTypeId="2" ParentId="11148" CreationDate="2012-04-22T16:45:11.300" Score="5" Body="&lt;p&gt;The $L_1$ problem with $d_v=1$ for all $v$ is &lt;strong&gt;&lt;em&gt;a variant of&lt;/em&gt;&lt;/strong&gt; the classical NP-hard &lt;a href=&quot;http://www.nada.kth.se/~viggo/wwwcompendium/node55.html#4205&quot; rel=&quot;nofollow&quot;&gt;minimum linear arrangement&lt;/a&gt; problem.   &lt;a href=&quot;http://www-math.mit.edu/~hajiagha/procversion3.pdf&quot; rel=&quot;nofollow&quot;&gt;Charikar et al [SODA 2006]&lt;/a&gt; and independently &lt;a href=&quot;http://www.cs.washington.edu/homes/jrl/papers/feige-lee.pdf&quot; rel=&quot;nofollow&quot;&gt;Feige and Lee [IPL 2007]&lt;/a&gt; described polynomial-time $O(\sqrt{\log n} \log \log n)$-approximation algorithms via semidefinite programming.  &lt;a href=&quot;http://cs.nyu.edu/~khot/papers/usc-mla.pdf&quot; rel=&quot;nofollow&quot;&gt;Devanur et al [STOC 2006]&lt;/a&gt; proved an $\Omega(\log\log n)$ integrality gap for the semidefinite relaxation.&lt;/p&gt;&#xA;" OwnerUserId="111" LastEditorUserId="111" LastEditDate="2012-04-23T20:34:01.547" LastActivityDate="2012-04-23T20:34:01.547" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="11168" PostTypeId="2" ParentId="11118" CreationDate="2012-04-22T16:47:12.017" Score="0" Body="&lt;p&gt;You don't need users X passwords entries...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can store the passwords with one master set of salts (one or more salt - can be double salted, triple salted or more).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;When the user tries to log-in, the server should send him a temporary salt, which should be used to salt the password prior to sending it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The server should then unsalt the password using that temporary salt, then salt it with the master salt(s) and compare it with the DB version.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In other words the time complexity may grow, but the effect on the storage space should not (unless salting algorithm has larger output than input).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are also alternatives such as asymmetric encryption and certificates.&lt;/p&gt;&#xA;" OwnerUserId="9168" LastActivityDate="2012-04-22T16:47:12.017" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11170" PostTypeId="2" ParentId="11118" CreationDate="2012-04-22T20:49:32.773" Score="1" Body="&lt;p&gt;There are a couple of different things going on here, and you need to define your problem more clearly. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For starters, let's just look at a simple case where what is being stored in a database (for each user) is either $H(pw)$ or $s, H(s, pw)$ where $H$ is a hash function, $pw \in \{1, \ldots, N\}$ is a password, and $s \in \{0,1\}^\ell$ is a salt.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To attack a single user without a salt, the attacker can pre-compute $H(pw)$ for all possible values of $pw$ yielding a table of size $N$. Without knowing the salt, however, the attacker has to compute $H(s, pw)$ for all possible salts as well, thus requiring a table of size $N \cdot 2^\ell$. On the other hand, if the attacker does no pre-computation but instead just waits until it compromises the database and then obtains $s^*, H(s^*, pw)$, then we are back to the previous case where the attacker just has to compute $N$ values of $H(s^*, pw)$ to learn the password. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thus, in the single-user case, the salt increases the attacker's off-line computation but does not increase the on-line computation needed.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Before continuing, let me note also that (in the case without the salt) the attacker can use  to obtain various time-space tradeoffs. Use of salts makes rainbow tables less effective as well.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Salts also help, in a somewhat orthogonal way, in the multi-user setting. To see this, note that if the attacker got the database of hashed passwords in the unsalted case, then using $N$ work he gets the passwords of &lt;em&gt;all&lt;/em&gt; users. But in the salted case, assuming each of $M$ users is assigned a different salt, the attacker must do $M \cdot N$ work to recover all passwords.&lt;/p&gt;&#xA;" OwnerUserId="686" LastActivityDate="2012-04-22T20:49:32.773" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11171" PostTypeId="2" ParentId="11166" CreationDate="2012-04-23T00:57:56.693" Score="6" Body="&lt;p&gt;1a) yes by the inclusion.&#xA;b) Not sure what you mean by &quot;it&quot;. If P=PSPACE then A and B are both in P.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2a) Not necessarily, A could be much easier than B.&#xA;b) There are relativized worlds where P=FewP&amp;lt;&gt;NP.&#xA;c) No, RP^UP does not necessarily contain NP. Don't confuse UP with Promise-UP. &lt;/p&gt;&#xA;" OwnerUserId="550" LastActivityDate="2012-04-23T00:57:56.693" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="11172" PostTypeId="2" ParentId="6833" CreationDate="2012-04-23T15:15:35.927" Score="5" Body="&lt;p&gt;I don't know if all convex problems are in P, but I can answer a related question: nonconvex optimization is NP-hard. See &lt;a href=&quot;http://www.springerlink.com/content/k5615715657m9374/&quot; rel=&quot;nofollow&quot;&gt;&quot;Quadratic programming with one negative eigenvalue is NP-hard&quot;&lt;/a&gt;.  &lt;/p&gt;&#xA;" OwnerUserId="8965" LastActivityDate="2012-04-23T15:15:35.927" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11175" PostTypeId="1" CreationDate="2012-04-23T20:42:03.953" Score="10" ViewCount="1336" Body="&lt;p&gt;Deciding Graph Homomorphism is in general NP-Complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there any results which study this problem when the underlying graphs have algebraic structure (such as deciding homomorphisms from Cayley or Cayley coset graphs to other graphs with some definite structure as well)? In addition complexity results I am also interested in helpful algebraic and/or spectral techniques.&lt;/p&gt;&#xA;" OwnerUserId="1812" LastEditorUserId="-1" LastEditDate="2012-11-11T05:54:06.040" LastActivityDate="2012-11-11T05:54:06.040" Title="Deciding graph homomorphism" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;&lt;co.combinatorics&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="11176" PostTypeId="2" ParentId="8102" CreationDate="2012-04-24T00:51:05.393" Score="3" Body="&lt;p&gt;Katz and Lindell were recommending against using LFSRs &lt;em&gt;by themselves&lt;/em&gt; as pseudorandom generators. However, it might be possible to construct a pseudorandom generator &lt;em&gt;using&lt;/em&gt; an LFSR in conjunction with other mechanisms. (In particular, PRGs based on LFSRs must include some non-linear component.)&lt;/p&gt;&#xA;" OwnerUserId="686" LastActivityDate="2012-04-24T00:51:05.393" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11178" PostTypeId="2" ParentId="9469" CreationDate="2012-04-24T08:14:45.170" Score="1" Body="&lt;p&gt;A comment in &lt;code&gt;capability.h&lt;/code&gt; says&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;&lt;pre&gt;&lt;code&gt;// The Task currently holding this Capability.  This task has&#xA;// exclusive access to the contents of this Capability (apart from&#xA;// returning_tasks_hd/returning_tasks_tl).&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;This looks to be an access control mechanism.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the security literature, the word &lt;em&gt;capability&lt;/em&gt; is used to refer to a way of controlling access.  The dominant usage is as a reference to an object that encapsulates authority such that denying access to the object denies access to that authority but there are others as explained at &lt;a href=&quot;http://www.cs.umd.edu/~jkatz/security/downloads/capability-myths.pdf&quot; rel=&quot;nofollow&quot;&gt;&quot;Capability Myths Demolished&quot;&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;We know of no security mechanisms outside  of the&#xA;  object-capability model that have described themselves&#xA;  using the word capability except for “POSIX&#xA;  capabilities”, “Netscape capabilities”, and “split&#xA;  capabilities” [14]. POSIX capabilities are not generally &#xA;  described as “capability-based security”. The&#xA;  “Netscape capabilities” extensions to Java were fairly&#xA;  short-lived and have not been presented in the research&#xA;  literature as a capability system. Moreover, both&#xA;  “POSIX capabilities” and “Netscape capabilities” have&#xA;  never been presented as security mechanisms that can&#xA;  stand on their own, instead only serving as an extension &#xA;  to existing security systems. The split capabilities&#xA;  model is explicitly presented in contrast to the pure&#xA;  capability model [14].&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The Haskell usage is not an object-capability model.  The pointer from a task to a capability would have to go the other way, and probably be proxied through a revokable wrapper to qualify as a capability in the sense explained above.&lt;/p&gt;&#xA;" OwnerUserId="7304" LastEditorUserId="7304" LastEditDate="2012-05-19T16:25:07.087" LastActivityDate="2012-05-19T16:25:07.087" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11179" PostTypeId="2" ParentId="11175" CreationDate="2012-04-24T09:16:02.800" Score="9" Body="&lt;p&gt;If $\mathcal{G}$ is a class of graphs with bounded treewidth, then the homomorphism problem &lt;em&gt;from&lt;/em&gt; graphs in $\mathcal{G}$ is polynomial-time solvable. This can be generalized to the more general property of &quot;graphs whose core has bounded treewidth.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Grohe proves a converse: if the cores of the graphs in $\mathcal{G}$ have unbounded treewidth, then the homomorphism problem from $\mathcal{G}$ is not polynomial-time solvable (assuming $FPT\neq W[1]$). Therefore, if you restrict the left-hand side graph to Cayley graphs etc., then what matters is whether the cores have bounded treewidth.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://dl.acm.org/authorize?951212&quot;&gt;http://dl.acm.org/authorize?951212&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that this does not completely answer your question: in the result of Grohe, it is  assumed that the right-hand side graph is arbitrary. You seem to be interested in results where the right-hand side graph is also restricted to some specific class of graphs.&lt;/p&gt;&#xA;" OwnerUserId="3189" LastActivityDate="2012-04-24T09:16:02.800" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11182" PostTypeId="1" AcceptedAnswerId="11183" CreationDate="2012-04-24T18:45:21.193" Score="3" ViewCount="2457" Body="&lt;p&gt;Let's extend the Turing machine so that it can read from a stream of random number generators (in addition to an infinite tape to read and write). Certainly the TM with randomness can do whatever a classical TM do, but what about the converse?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One can argue that the classical TM will always generate the same result given the same input,  while the TM with randomness can behave randomly, it can do more. But, then random-valued functions are not really what we call computable. I am aware of randomized algorithms and BPP and what not, but is there an extension of computability that deals with these kind of questions?&lt;/p&gt;&#xA;" OwnerUserId="9192" LastEditorUserId="9192" LastEditDate="2012-04-25T13:38:32.357" LastActivityDate="2012-04-25T13:38:32.357" Title="Is a turing machine with random number generator more powerful?" Tags="&lt;computability&gt;&lt;turing-machines&gt;&lt;randomness&gt;" AnswerCount="2" CommentCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="11183" PostTypeId="2" ParentId="11182" CreationDate="2012-04-24T19:12:47.613" Score="3" Body="&lt;p&gt;See &lt;a href=&quot;https://mathoverflow.net/questions/58060/can-randomness-add-computability&quot;&gt;https://mathoverflow.net/questions/58060/can-randomness-add-computability&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="5538" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2012-04-24T19:12:47.613" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="11184" PostTypeId="2" ParentId="6954" CreationDate="2012-04-24T21:11:44.563" Score="16" Body="&lt;p&gt;I thought about this problem again, and I think I have a full proof. It is a bit more tricky than what I anticipated. Comments are very welcome! &lt;strong&gt;Update:&lt;/strong&gt; I submitted this proof on arXiv, in case this is useful to someone: &lt;a href=&quot;http://arxiv.org/abs/1207.2819&quot; rel=&quot;noreferrer&quot;&gt;http://arxiv.org/abs/1207.2819&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\DeclareMathOperator{\fp}{fp}$&#xA;$\DeclareMathOperator{\lp}{lp}$&#xA;$\newcommand{\fpp}[1]{\widehat{\fp{#1}}}$&#xA;$\newcommand{\lpp}[1]{\widehat{\lp{#1}}}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $L$ be a context-free language over an alphabet $\Sigma$. Let $A$ be a&#xA;pushdown automaton which recognizes $L$, with stack alphabet $\Gamma$. We denote&#xA;by $|A|$ the number of states of $A$. Without loss of generality, we can assume&#xA;that transitions of $A$ pop the topmost symbol of the stack and either push no&#xA;symbol on the stack or push on the stack the previous topmost symbol and some&#xA;other symbol.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We define $p' = |A|^2 |\Gamma|$ and $p = |A| (|\Gamma|+1)^{p'}$ the pumping&#xA;length, and will show that all $w \in L$ such that $|w| &amp;gt; p$ have a&#xA;decomposition of the form $w = u v x y z$ such that $|vxy| \leq p$, $|vy| \geq&#xA;1$ and $\forall n \geq 0, u v^n x y^n z \in L$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $w \in L$ such that $|w| &amp;gt; p$. Let $\pi$ be an accepting path of minimal&#xA;length for $w$ (represented as a sequence of transitions of $A$), we denote its&#xA;length by $|\pi|$. We can define, for $0 \leq i &amp;lt; |\pi|$, $s_i$ the size of the&#xA;stack at position $i$ of the accepting path. For all $N &amp;gt; 0$, we define an&#xA;&lt;strong&gt;$N$-level&lt;/strong&gt; over $\pi$ as a set of three indices $i, j, k$ with $0 \leq i&#xA;&amp;lt; j &amp;lt; k \leq p$ such that:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;$s_i = s_k, s_j = s_i + N$&lt;/li&gt;&#xA;&lt;li&gt;for all $n$ such that $i \leq n \leq j$, $s_i \leq s_n \leq s_j$ &lt;/li&gt;&#xA;&lt;li&gt;for all $n$ such that $j \leq n \leq k$, $s_k \leq s_n \leq s_k$.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;(For an example of this, see the picture for case 2 below which illustrates an $N$-level.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We define the level $l$ of $\pi$ as the maximal $N$ such that $\pi$ has an&#xA;$N$-level. This definition is motivated by the following property: if the size&#xA;of the stack over a path $\pi$ becomes larger than its level $l$, then the stack&#xA;symbols more than $l$ levels deep will never be popped. We will now distinguish&#xA;two cases: either $l &amp;lt; p'$, in which case we know that the same configuration&#xA;for the automaton state and the topmost $l$ symbols of the stack is encountered&#xA;twice in the first $p+1$ steps of $\pi$, or $l \geq p'$, and there must be a&#xA;stacking and unstacking position that can be repeated an arbitrary number of&#xA;times, from which we construct $v$ and $y$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Case 1.&lt;/strong&gt; $l &amp;lt; p'$. We define the configurations of $A$ as the couples&#xA;of a state of $A$ and a sequence of $l$ stack symbols (where stacks of size less&#xA;than $l$ with be represented by padding them to $l$ with a special blank symbol,&#xA;which is why we use $|\Gamma| + 1$ when defining $p$). By definition, there are&#xA;$|A| (|\Gamma| + 1)^l$ such configurations, which is less than $p$. Hence, in&#xA;the $p+1$ first steps of $\pi$, the same configuration is encountered twice at&#xA;two different positions, say $i &amp;lt; j$. Denote by $\widehat{i}$ (resp.&#xA;$\widehat{j}$) the position of the last letter of $w$ read at step $i$ (resp.&#xA;$j$) of $\pi$. We have $\widehat{i} \leq \widehat{j}$. Hence, we can factor $w =&#xA;u v x y z$ with $y z = \epsilon$, $u = w_{0 \cdots \widehat{i}}$, $v =&#xA;w_{\widehat{i} \cdots \widehat{j}}$, $x = w_{\widehat{j} \cdots |w|}$. (By $w_{x&#xA;\cdots y}$ we denote the letters of $w$ from $x$ inclusive to $y$ exclusive.) By&#xA;construction, $|vxy| \leq p$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We also have to show that $\forall n \geq 0, u v^n x y^n z = u v^n x \in L$, but&#xA;this follows from our observation above: stack symbols deeper than $l$ are never&#xA;popped, so there is no way to distinguish configurations which are equal&#xA;according to our definition, and an accepting path for $u v^n x$ is built from&#xA;that of $w$ by repeating the steps between $i$ and $j$, $n$ times.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, we also have $|v| &amp;gt; 0$, because if $v = \epsilon$, then, because we&#xA;have the same configuration at steps $i$ and $j$ in $\pi$, $\pi' = \pi_{0 \cdots&#xA;i} \pi_{j \cdots |\pi|}$ would be an accepting path for $w$, contradicting the&#xA;minimality of $\pi$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Note that this case amounts to applying the pumping lemma for regular languages&#xA;by hardcoding the topmost $l$ stack symbols in the automaton state, which is&#xA;adequate because $l$ is small enough to ensure that $|w|$ is larger than the&#xA;number of states of this automaton. The main trick is that we must adjust for&#xA;$\epsilon$-transitions.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Case 2.&lt;/strong&gt; $l \geq p'$. Let $i, j, k$ be a $p'$-level. To any stack&#xA;size $h$, $s_i \leq h \leq s_j$, we associate the &lt;strong&gt;last push&lt;/strong&gt;&#xA;$\lp(h) = \max(\{y \leq j | s_y = h\})$ and the &lt;strong&gt;first pop&lt;/strong&gt;&#xA;$\fp(h) = \min(\{y \geq j | s_y = h\})$.&#xA;By definition, $i \leq \lp(h) \leq j$ and $j \leq \fp(h) \leq&#xA;k$. Here is an illustration of this construction. To simplify the drawing, I omit the distinction between the path positions and word positions which we will have to do later.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/AKqjW.png&quot; alt=&quot;Illustration of the construction for case 2. To simplify the drawing, the distinction between the path positions and word positions are ommitted.&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We say that the &lt;strong&gt;full state&lt;/strong&gt; of a stack size $h$ is the triple formed&#xA;by:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;the automaton state at position $\lp(h)$&lt;/li&gt;&#xA;&lt;li&gt;the topmost stack symbol at position $\lp(h)$&lt;/li&gt;&#xA;&lt;li&gt;the automaton state at position $\fp(h)$&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;There are $p'$ possible full states, and $p' + 1$ stack sizes between $s_i$ and&#xA;$s_j$, so, by the pidgeonhole principle, there exist two stack sizes $g, h$ with&#xA;$s_i \leq g &amp;lt; h \leq s_j$ such that the full states at $g$ and $h$ are the same.&#xA;Like in Case 1, we define by $\lpp(g)$, $\lpp(h)$, $\fpp(h)$ and $\fpp(g)$ the&#xA;positions of the last letters of $w$ read at the corresponding positions in $\pi$.&#xA;We factor $w = u v x y z$ where $u = w_{0 \cdots \lpp(g)}$,&#xA;$v = w_{\lpp(g) \cdots \lpp(h)}$,&#xA;$x = w_{\lpp(h) \cdots \fpp(h)}$,&#xA;$y = w_{\fpp(h) \cdots \fpp(g)}$,&#xA;and $z = w_{\fpp(g) \cdots |w|}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This factorization ensures that $|vxy| \leq p$ (because $k \leq p$ by our&#xA;definition of levels).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We also have to show that $\forall n \geq 0, u v^n x y^n z \in L$. To do so,&#xA;observe that each time that we repeat $v$, we start from the same state and the&#xA;same stack top and we do not pop below our current position in the stack&#xA;(otherwise we would have to push again at the current position, violating the&#xA;maximality of $\lp(g)$), so we can follow the same path in $A$ and push the&#xA;same symbol sequence on the stack. By the maximality of $\lp(h)$ and the&#xA;minimality of $\fp(h)$, while reading $x$, we do not pop below our current&#xA;position in the stack, so the path followed in the automaton is the same&#xA;regardless of the number of times we repeated $v$. Now, if we repeat $w$ as many&#xA;times as we repeat $v$, since we start from the same state, since we have pushed&#xA;the same symbol sequence on the stack with our repeats of $v$, and since we do&#xA;not pop more than what $v$ has stacked by minimality of $\fp(g)$, we can follow&#xA;the same path in $A$ and pop the same symbol sequence from the stack. Hence, an&#xA;accepting path from $u v^n x y^n z$ can be constructed from the accepting path&#xA;for $w$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, we also have $|vy| &amp;gt; 1$, because like in case 1, if $v =&#xA;\epsilon$ and $y = \epsilon$, we can build a shorter accepting path for $w$ by&#xA;removing $\pi_{\lp(g)\cdots\lp(h)}$ and $\pi_{\fp(h)\cdots\fp(g)}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hence, we have an adequate factorization in both cases, and the result is&#xA;proved.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Credit goes to Marc Jeanmougin for helping me with this proof.)&lt;/p&gt;&#xA;" OwnerUserId="4795" LastEditorUserId="12713" LastEditDate="2012-12-02T14:15:34.933" LastActivityDate="2012-12-02T14:15:34.933" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11185" PostTypeId="1" CreationDate="2012-04-24T23:29:51.180" Score="2" ViewCount="390" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Definitions&lt;/strong&gt;&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;&lt;strong&gt;Stencil&lt;/strong&gt; =&#xA;  &lt;em&gt;&quot;For a given point, a stencil is a pre-determined set of nearest&#xA;  neighbors (possibly including itself).&quot;&lt;/em&gt;&#xA;  &lt;a href=&quot;http://www.cs.berkeley.edu/~kdatta/pubs/mspc06_slides.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;(source)&lt;/a&gt;&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;&lt;strong&gt;Wikipedia's definition (&lt;a href=&quot;http://en.wikipedia.org/wiki/Stencil_codes&quot; rel=&quot;nofollow noreferrer&quot;&gt;source&lt;/a&gt;) =&lt;/strong&gt;&#xA;  &lt;img src=&quot;https://i.stack.imgur.com/Lj6nG.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;It looks like CA (cellular automata) is a broader (and perhaps more sexy fuzzy populist) concept while the stencil (S) is more rigorous. Suppose a torus -topology in a grid and a simple structure where each state depends only on the next state (some transition rule, 4 neighbors but only next state matters). This I think is a Stencil, Cellular automaton, a grid, a mesh, easily described with Markov Chain -- and a structure. Now I am confused! So many different words for the same thing? Please, add references to quantify this concept, many authors seem to use different words for the same thing -- not sure what it is, some structure with function -definitions -- perhaps there exists some easy category-theoretic description for them?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If this is too elementary question, I would be happy about some reference covering definitions rigorously and doing some comparisons.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Perhaps related&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;ol start=&quot;2&quot;&gt;&#xA;&lt;li&gt;&lt;p&gt;Automatic Stencil Code Generation Ph.D. Thesis Proposal &lt;a href=&quot;http://www.cs.berkeley.edu/~kdatta/talks/quals_proposal_07.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;here&lt;/a&gt;. The author behind the last paper &lt;a href=&quot;http://www.cs.berkeley.edu/~kdatta/&quot; rel=&quot;nofollow noreferrer&quot;&gt;here&lt;/a&gt;, researching something about stencil things and a lot of perhaps related publications &lt;a href=&quot;https://ftg.lbl.gov/staff/swwilliams/&quot; rel=&quot;nofollow noreferrer&quot;&gt;here&lt;/a&gt;, related to the last author.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Fey, Dietmar et al. (2010) Grid-Computing: Eine Basistechnologie für Computational Science. Page 439. (&lt;a href=&quot;http://en.wikipedia.org/wiki/Stencil_codes#cite_note-Fey-2&quot; rel=&quot;nofollow noreferrer&quot;&gt;Source&lt;/a&gt;)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Complex Systems from the Perspective of Category&#xA;Theory: I. Functioning of the Adjunction Concept &lt;a href=&quot;http://philsci-archive.pitt.edu/1236/1/Axiomath.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;here&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="2844" LastEditorUserId="-1" LastEditDate="2012-11-11T05:54:03.403" LastActivityDate="2012-11-11T05:54:03.403" Title="Difference between Stencil -structures and Cellular Automata Category-theoretically?" Tags="&lt;computability&gt;&lt;terminology&gt;&lt;ct.category-theory&gt;&lt;machine-models&gt;&lt;cellular-automata&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11186" PostTypeId="2" ParentId="11185" CreationDate="2012-04-24T23:45:30.310" Score="2" Body="&lt;p&gt;Judging from the source you provided, there appear to be two key differences:&#xA;(1) stencils have numeric values in each cell and update the cells with functions defined numerically (typically using continuous functions) while cellular automata typically have only a finite set of values per cell and use functions that in general do not arise from numerical methods, and (2) stencils are updated by a sweep across the grid while in cellular automata generally all cells are updated simultaneously.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2012-04-24T23:45:30.310" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="11187" PostTypeId="2" ParentId="10866" CreationDate="2012-04-25T00:42:11.473" Score="2" Body="&lt;p&gt;There is an implementation of Rabin-Williams signatures in the crypto++ library.&lt;/p&gt;&#xA;" OwnerUserId="686" LastActivityDate="2012-04-25T00:42:11.473" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11188" PostTypeId="2" ParentId="11144" CreationDate="2012-04-25T03:26:59.007" Score="0" Body="&lt;p&gt;there is some extended analysis of the greedy coloring algorithm complexity in this recent paper[1] and some further commentary in [2] that should give an idea about the style of complexity estimation &amp;amp; lower/upper bounds but also the difficulty of establishing precise estimates.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] &lt;a href=&quot;http://theory.stanford.edu/~tomas/col.ps&quot; rel=&quot;nofollow noreferrer&quot;&gt;online algorithms for edge coloring by Feder, Motwani, Panigrahy&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2]&#xA;&lt;a href=&quot;https://cstheory.stackexchange.com/questions/10088/can-this-randomized-greedy-algorithm-be-made-online-or-being-proved-impossible/10125#10125&quot;&gt;Can this randomized greedy algorithm be made online? Or being proved impossible?&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2012-04-25T03:26:59.007" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11189" PostTypeId="2" ParentId="11182" CreationDate="2012-04-25T03:49:10.227" Score="-4" Body="&lt;p&gt;seems like an active, even central/core area of current research under the heading of &quot;exact power of derandomization&quot;. its basically an open question with various open complexity class separations whether randomization adds power, or doesnt. theres also a deep connection to the $\mathsf{P \stackrel{?}{=}NP}$ problem in the natural proofs result of razborov/rudich which shows that, loosely, a $\mathsf{P \neq NP}$ proof would likely allow one to &quot;break&quot; what are now conjectured as &quot;secure&quot; random number generators.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] is a broad survey on derandomization literature by Impagliazzo. (think there are other surveys out there but cant find them this moment.) [2] is a rough outline of natural proofs paper. there is also a lot of connection of randomization (via pseudorandom generators) across the semifamous &quot;5 algorithmic worlds&quot; introduced also by Impagliazzo.[3]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;basically various complex algorithms have been successfully derandomized in significant advances, but others resist efforts. one famous case study would be the AKS primality algorithm which for decades was a probabilistic test that was cleverly derandomized by AKS &amp;amp; proven to run in P time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=1132571&quot; rel=&quot;nofollow&quot;&gt;Can every randomized algorithm be derandomized?&lt;/a&gt; by Impagliazzo 2006&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] &lt;a href=&quot;http://cseweb.ucsd.edu/~ccalabro/essays/nat_pfs.pdf&quot; rel=&quot;nofollow&quot;&gt;Natural proofs explained by chris calabro&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[3] &lt;a href=&quot;http://intractability.princeton.edu/blog/2009/05/program-for-workshop-on-impagliazzos-worlds/&quot; rel=&quot;nofollow&quot;&gt;2009 workshop on impagliazzos 5 worlds&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="7884" LastEditDate="2012-04-25T04:04:59.893" LastActivityDate="2012-04-25T04:04:59.893" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11190" PostTypeId="2" ParentId="10815" CreationDate="2012-04-25T05:39:54.330" Score="1" Body="&lt;p&gt;I think that Robertson and Seymour showed that every minor-free graph can be decomposed into a &quot;clique-sum&quot; of &quot;&lt;strong&gt;almost bounded genus&lt;/strong&gt;&quot; graphs. The basic building blocks are not planar graphs but graphs of bounded genus (genus depending on the excluded minor). I think that toroidal graphs are not decomposable any further.&lt;/p&gt;&#xA;" OwnerUserId="8152" LastActivityDate="2012-04-25T05:39:54.330" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11191" PostTypeId="2" ParentId="11185" CreationDate="2012-04-25T11:34:06.023" Score="2" Body="&lt;p&gt;There does indeed exist a category theoretic description of cellular automata. I don't know the details, but I can provide you with a reference. It doesn't look like an &lt;em&gt;easy&lt;/em&gt; description, though.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;S. Capobianco, T. Uustalu. &lt;a href=&quot;http://cs.ioc.ee/~tarmo/papers/jac10.pdf&quot; rel=&quot;nofollow&quot;&gt;A categorical outlook on cellular automata.&lt;/a&gt;&#xA;In J. Kari, ed., Proc. of 2nd Symp. on Cellular Automata, JAC 2010 (Turku, Dec. 2010), v. 13 of TUCS Lecture Notes, pp. 88-99. Turku Centre for Computer Science, 2010.&lt;/p&gt;&#xA;" OwnerUserId="77" LastActivityDate="2012-04-25T11:34:06.023" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="11192" PostTypeId="1" CreationDate="2012-04-25T12:39:49.233" Score="1" ViewCount="183" Body="&lt;p&gt;Consider a system of linear equations $Ax=0$, where $A$ is a $n\times n$ matrix with rational entries. Assume that the rank of $A$ is $&amp;lt;n$. What is the complexiy to check&#xA;whether it has a solution $x$ such that all entries of $x$ are stricly greater than 0 (namely, $x$ is a positive vector)? Of course, one can use Gauss elimination, but this seems not to be optimal.&lt;/p&gt;&#xA;" OwnerUserId="9203" LastActivityDate="2012-04-25T12:39:49.233" Title="Complexity of checking whether linear equations have a positve solution" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;linear-algebra&gt;&lt;linear-equations&gt;" AnswerCount="0" CommentCount="3" ClosedDate="2012-04-25T18:44:39.327" ContentLicense="CC BY-SA 3.0" />
  <row Id="11194" PostTypeId="1" CreationDate="2012-04-26T01:34:12.947" Score="5" ViewCount="241" Body="&lt;p&gt;Let $R(f)$ and $ER(f)$ be the minimum-size for unsat proofs of $f$ in Resolution and Extended Resolution respectively. What's the best bound we have on $D=\min_f (R(f)-ER(f))$ where $f$ belongs to a worst-case family of boolean formulae? Since no superpolynomial lower bounds are known on Extended Resolution, we don't have a good upper bound on $D$, so I'm interested in lower bounds on $D$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit: Clarified question as per Kaveh's answer below&lt;/p&gt;&#xA;" OwnerUserId="9208" LastEditorUserId="9208" LastEditDate="2012-04-26T02:05:42.320" LastActivityDate="2012-04-26T02:19:32.160" Title="Resolution vs Extended Resolution" Tags="&lt;cc.complexity-theory&gt;&lt;lo.logic&gt;&lt;proof-complexity&gt;&lt;proof-theory&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="11195" PostTypeId="2" ParentId="11194" CreationDate="2012-04-26T02:03:42.517" Score="8" Body="&lt;p&gt;Your definition of $D$ is not clear, if it is $D = \max_f (R(f) - ER(f))$, then it is exponential.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are DNFs whose shortest proofs in ER is exponentially shorter than their shortest proofs in R e.g. PHP (pigeon hole principle) has polynomial size ER-proofs but only exponential size R-proofs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Unsatisfiability of $f$ is the same as $\lnot f$ being a tautology. Let $\lnot f$ be as PHP. Then $R(f)$ is exponential where as $ER(f)$ is polynomial, so the difference is exponential. Also it cannot be more than exponential. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Addendum:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $D =  \min_f (R(f) - ER(f))$ then it is 0. Take $\lnot f=\top$ and it has one line proof in both. (R is included in ER so it cannot be less than 0.)&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2012-04-26T02:19:32.160" LastActivityDate="2012-04-26T02:19:32.160" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="11196" PostTypeId="1" CreationDate="2012-04-26T03:11:09.407" Score="-1" ViewCount="297" Body="&lt;p&gt;I need to prove that the modification of MTF, Move to front on every even request of an element, list update problem has a competitive ratio of 2.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;How does one go about proving such results? (I'm aware of the amortized analysis but not sure how to apply in this case)&lt;/p&gt;&#xA;" OwnerUserId="9210" LastActivityDate="2016-07-22T10:05:38.730" Title="Competitive ratio of Move To Front in alternate access - List Update Problem" Tags="&lt;ds.algorithms&gt;&lt;online-algorithms&gt;" AnswerCount="1" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="11197" PostTypeId="1" AcceptedAnswerId="11198" CreationDate="2012-04-26T05:36:45.297" Score="5" ViewCount="204" Body="&lt;p&gt;I've seen poly-time and logspace uniformity for circuit families, typically defined as the existence of a poly-time/logspace Turing machine &quot;generator&quot; that outputs the correctly sized circuit $C_n$ on input $n$. These restrictions upper bound the power of circuit families by requiring that they are computationally generated.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I was wondering what happens when you change the generator model. Here are two (vague) questions: &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;ol&gt;&#xA;  &lt;li&gt;Are there other useful types of uniformity for circuit families? &lt;/li&gt;&#xA;  &lt;li&gt;Are there interesting &quot;generators&quot; besides time/space bounded TMs? For example, consider families that progress from $C_i$ to $C_{i+1}$ by &quot;small&quot; modifications of the circuit. Can these be broad and have interesting complexity properties?&lt;/li&gt;&#xA;  &lt;/ol&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The idea in #2 is far too inclusive, since it allows things like simple recursive definitions. I am more interested in severe restrictions on the range of possible families by limiting the types of modifications.&lt;/p&gt;&#xA;" OwnerUserId="9211" LastEditorUserId="186" LastEditDate="2012-04-26T06:38:09.747" LastActivityDate="2012-04-26T11:19:43.867" Title="Other types of uniformity for circuits (incl. by small modifications)" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;circuit-complexity&gt;&lt;circuit-families&gt;&lt;uniformity&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11198" PostTypeId="2" ParentId="11197" CreationDate="2012-04-26T11:19:43.867" Score="8" Body="&lt;p&gt;When you want to define (fully) uniform versions of circuit classes, log-space or poly-time uniformity is only sensible for classes of circuits whose power exceeds log-space or poly-time, respectively. This means that poly-time uniformity is next to useless, and log-space uniformity is good for classes like P, NC, $\mathrm{NC}^{k+1}$, $\mathrm{AC}^k$ for $k\ge1$, but not, say, for $\mathrm{NC}^1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The standard notion of uniformity for small complexity classes is DLOGTIME-uniformity, where furthermore one has to be careful what exact kind of description of the circuit is asked to be computable in DLOGTIME: in cases where it matters (e.g., $\mathrm{NC}^1$), one needs to use the extended connection language (cf. &lt;a href=&quot;http://dx.doi.org/10.1016/0022-0000%2881%2990038-6&quot;&gt;Ruzzo&lt;/a&gt;) of the circuit. This is known as $U_E$-uniformity.&lt;/p&gt;&#xA;" OwnerUserId="6959" LastActivityDate="2012-04-26T11:19:43.867" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11200" PostTypeId="1" AcceptedAnswerId="11213" CreationDate="2012-04-26T13:38:22.017" Score="1" ViewCount="1010" Body="&lt;p&gt;Consider a m-by-n binary matrix A. Given only an m-dimensional vector of its row sums (R) and an n-dimensional vector of its column sums (C), is there an efficient (ie. polynomial time) algorithm that determines which elements of A must be 1 and which elements of A must be 0?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A trivial example: if R = {2,1,2} and C = {1,1,3}, then&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xD;&#xA; A =&#xD;&#xA; \begin{bmatrix}&#xD;&#xA;  ? &amp;amp; ? &amp;amp; 1 \\&#xD;&#xA;  0 &amp;amp; 0 &amp;amp; 1 \\&#xD;&#xA;  ? &amp;amp; ? &amp;amp; 1 \\&#xD;&#xA; \end{bmatrix}&#xD;&#xA;$$&lt;/p&gt;&#xA;" OwnerUserId="9216" LastActivityDate="2012-04-27T18:35:32.230" Title="Finding invariant elements of binary matrix from row and column sums" Tags="&lt;ds.algorithms&gt;&lt;co.combinatorics&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="11204" PostTypeId="2" ParentId="11161" CreationDate="2012-04-26T20:56:35.413" Score="-1" Body="&lt;p&gt;I didn't understand the question very well, but I think you're asking about the ratio of the greedy solution to the optimal solution when the problem instances are taken out of a certain probability distribution. I don't have a theoretic solution to this problem, but if you need the answer for practical reasons, then I think a Monte-Carlo simulation would give reliable results.  You can approximate knapsack to the desired precision using the well-known dynamic programming algorithm to obtain an approximate value of the optimal solution and then compare it to the greedy algorithm. You generate a number of random instances, and see where the ratio usually falls.&#xA;In order to have more reliable estimates, you can establish confidence intervals for the fraction of instances whose greedy/optimal ratio falls within a given interval, etc.&lt;/p&gt;&#xA;" OwnerUserId="8477" LastActivityDate="2012-04-26T20:56:35.413" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11205" PostTypeId="1" CreationDate="2012-04-27T03:36:00.500" Score="3" ViewCount="577" Body="&lt;p&gt;Is there any algorithm that can orient undirected graph G(V,E) (i.e., assign directions to edges) to achieve maximum flow in the network? Any suggestion?&lt;/p&gt;&#xA;" OwnerUserId="9220" LastEditorUserId="186" LastEditDate="2012-04-27T22:02:35.890" LastActivityDate="2012-04-27T22:02:35.890" Title="Max-Flow and Graph Orientation:" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;" AnswerCount="2" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11206" PostTypeId="1" CreationDate="2012-04-27T06:18:45.617" Score="0" ViewCount="193" Body="&lt;p&gt;How easy is it to estimate a graph by observing only a few random cuts? Is there prior work related to this? I did google but could not find anything concrete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any help would be appreciated. Thanks.&lt;/p&gt;&#xA;" OwnerUserId="9221" LastEditorUserId="186" LastEditDate="2012-04-27T22:02:15.500" LastActivityDate="2012-04-28T17:53:30.270" Title="Estimating graphs using random cuts" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;machine-learning&gt;&lt;spectral-graph-theory&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11207" PostTypeId="2" ParentId="11205" CreationDate="2012-04-27T08:14:10.467" Score="2" Body="&lt;p&gt;One of the most amazing theorems in graph theory is Nash-William's :&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Strong_orientation&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/Strong_orientation&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;.... And its proof is constructive, but not that easy to implement :-)&lt;/p&gt;&#xA;" OwnerUserId="1209" LastActivityDate="2012-04-27T08:14:10.467" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11208" PostTypeId="2" ParentId="11205" CreationDate="2012-04-27T10:56:43.883" Score="3" Body="&lt;p&gt;I assume you are given an undirected network $G$, and two vertices $s,t$, and you wish to maximize the flow from $s$ to $t$, while directing the edges of $G$. In this case, you can just use the normal Ford-Fulkerson algorithm with the following modification:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Every time you take an augmenting $s$-$t$ path in $G$ and send flow along it, direct the edges along the path. Eventually, your algorithm will stop, and all edges (except those with flow 0) will have a direction. The flow will be maximal, which can be proven using the max-flow-min-cut theorem.&lt;/p&gt;&#xA;" OwnerUserId="978" LastActivityDate="2012-04-27T10:56:43.883" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11213" PostTypeId="2" ParentId="11200" CreationDate="2012-04-27T18:35:32.230" Score="2" Body="&lt;p&gt;The answer is yes. The basic idea is to determine whether there is a matrix $A$ with $A_{i, j} = 0$ and one with $A_{i, j} = 1$. If both answers are yes, then $A_{i, j}$ cannot be determined. otherwise you will know what it is.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Consider such a problem: Given $r$ (row sum) and $c$ (column sum), how to determine whether there is a solution or not?&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;This problem can be solved by network flow algorithm. Imagine a bipartite graph $G$ whose two disjoint vertex sets are $S$ and $T$. Each vertex in $S$ corresponds to a row in $A$ (so $|S| = n$), and each vertex in $T$ corresponds to a column in $A$ (so $|T| = m$). The network $N$ can be constructed as follows:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Add edge between source and each $s_i$ in $S$ with capacity $r_i$. &lt;/li&gt;&#xA;&lt;li&gt;Add edge $E_{i, j}$ between each node $s_i$ in $S$ and $t_j$ in $T$ with capacity $1$.&lt;/li&gt;&#xA;&lt;li&gt;Add edge between each $t_j$ in $T$ and sink with capacity $c_j$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Find the maxflow in $N$. All edges form source are full iff there is a binary matrix A whose row sum is $r$ and column sum is $c$. And flow in $E_{i, j}$ equals to the value of $A_{i, j}$. It can be found in poly time.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Consider how to find the answer when some $A_{i, j}$ is determined.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;We can also construct a network $N$ as above and change the upper and lower bound of corresponding $E_{i, j}$. If you want to find whether there is solution with $A_{i, j} = v$, you can change the upper and lower bound to $v$. You should run this algorithm $2nm$ times to find whether each $A_{i, j}$ can be $0$ or $1$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;PS: The first problem can also be solved by a theorem called &quot;Gale-Ryser Theorem&quot;. But I've no idea how to modify it to solve the second one.&lt;/p&gt;&#xA;" OwnerUserId="9005" LastActivityDate="2012-04-27T18:35:32.230" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11214" PostTypeId="1" AcceptedAnswerId="11216" CreationDate="2012-04-27T22:50:47.967" Score="-1" ViewCount="281" Body="&lt;p&gt;I'm not sure if this should go here, so my apologies. The fact is that lately I have heard a lot about quantum computers and that they are not that far away. As it is a totally new technology, which changes from the ground, I'm wondering if the actual software could be reused. Could compilers be moved there? Could Linux be run? I'm guessing no, because of the architecture, but one never knows, as it is a relatively new technology.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It may seem a stupid question, but I'm not really informed about it, besides the small and short information released by the media and some scientifics.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It would be awesome if someone could clarify it for me.&lt;/p&gt;&#xA;" OwnerUserId="9232" LastEditorUserId="5693" LastEditDate="2012-04-29T17:23:22.467" LastActivityDate="2012-04-29T17:23:22.467" Title="Will we be able to use the current software in quantum computers?" Tags="&lt;quantum-computing&gt;&lt;software&gt;&lt;ar.hardware-architecture&gt;" AnswerCount="2" CommentCount="8" ClosedDate="2012-05-01T01:23:43.673" ContentLicense="CC BY-SA 3.0" />
  <row Id="11215" PostTypeId="2" ParentId="11214" CreationDate="2012-04-28T00:10:18.533" Score="-3" Body="&lt;p&gt;I believe that we won't see quantum computers until at least a decade from now. I had asked my professor same question once and he said expecting them in a decade in also optimistic. (He works in cryptography, post-quantum cryptography etc).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So the question of porting the software becomes kind of way into the future.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But from a theoretical perspective it is hard to say if the software can be ported as we don't have a proof that the Quantum Computation model is equivalent to Turing Machine model of computation. {As per my knowledge}. &#xA;So the problem remains open!&lt;/p&gt;&#xA;" OwnerUserId="8755" LastActivityDate="2012-04-28T00:10:18.533" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11216" PostTypeId="2" ParentId="11214" CreationDate="2012-04-28T01:12:13.563" Score="2" Body="&lt;p&gt;Yes, quantum computation is a generalization of usual computation. To be more specific, we can set the superposition of bits a QC device works on to not be a superposition of bits at all, but regular old bits.&lt;/p&gt;&#xA;" OwnerUserId="9234" LastActivityDate="2012-04-28T01:12:13.563" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11217" PostTypeId="1" CreationDate="2012-04-28T03:39:20.473" Score="3" ViewCount="74" Body="&lt;p&gt;My question is related to &lt;a href=&quot;http://en.wikipedia.org/wiki/Randomness_extractor#Explicit_extractors&quot; rel=&quot;nofollow&quot;&gt;explicit extractors&lt;/a&gt; and &lt;a href=&quot;http://books.google.com/books?id=1C83C5rMQKIC&amp;amp;pg=PA337&amp;amp;lpg=PA337&amp;amp;dq=entropy%20%22strong%20blender%22&amp;amp;source=bl&amp;amp;ots=I8QX9XhoMy&amp;amp;sig=6mJkBcNXf2KPDK7haVPjOsNMiUs&amp;amp;hl=en&amp;amp;sa=X&amp;amp;ei=v2ObT8rZIumSiQLQx-1-&amp;amp;ved=0CCMQ6AEwAA#v=onepage&amp;amp;q=entropy%20%22strong%20blender%22&amp;amp;f=false%29&quot; rel=&quot;nofollow&quot;&gt;strong blenders&lt;/a&gt;. We can define &lt;em&gt;explicit strong blender&lt;/em&gt; in a straight forward way. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I want to know if there are any known &lt;em&gt;explicit strong blenders&lt;/em&gt; $\small\text{BLE}$ such&#xA;that &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\: (X,Y) \mapsto \small\text{BLE}\normalsize(Y,X) \:$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;is also a strong blender?&lt;/p&gt;&#xA;" OwnerDisplayName="user6973" LastEditorUserId="186" LastEditDate="2012-04-28T04:12:40.917" LastActivityDate="2012-04-28T04:12:40.917" Title="Are there any &quot;two-sided&quot; strong blenders?" Tags="&lt;cr.crypto-security&gt;&lt;randomness&gt;&lt;extractors&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="11218" PostTypeId="1" AcceptedAnswerId="11248" CreationDate="2012-04-28T04:01:17.403" Score="1" ViewCount="513" Body="&lt;p&gt;wikipedia entry  says without reference that &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&quot;There are even some context-sensitive grammars whose fixed grammar recognition problem is PSPACE-complete.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is stronger than saying that CSG is PSPACE-complete.&#xA;But is this proved? where are the references?&lt;/p&gt;&#xA;" OwnerUserId="518" LastEditorUserId="186" LastEditDate="2012-04-28T04:14:57.593" LastActivityDate="2012-04-30T11:52:56.727" Title="are there fixed context sensitive grammars which are PSPACE complete?" Tags="&lt;cc.complexity-theory&gt;&lt;fl.formal-languages&gt;&lt;grammars&gt;&lt;parsing&gt;&lt;pspace&gt;" AnswerCount="2" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="11220" PostTypeId="1" CreationDate="2012-04-28T07:16:24.530" Score="8" ViewCount="1033" Body="&lt;p&gt;It is well known that testing whether a grammar is ambiguous is undecidable. It is however trivially decidable for any $G$ whether $L_n(G) := \{ w | w \in L(G) \wedge |w| \leq n \}$ for any $n \in \mathbb{N}$ contains any strings that have more than one derivation wrt $G$: just parse all these strings with some general parsing algorithm and check if any of them have more than one derivation. However, this approach has a running time of $\Omega(2^n)$.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Can we decide whether $L_n(G)$ contains any strings that have more than one derivation wrt $G$ in $poly(n)$?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The application of such a fast algorithm would be that one could run the algorithm on your grammar for a while, after which you can be fairly confident that your grammar is unambiguous: most grammars in practice, if they are ambiguous, have a relatively short string that exhibits this ambiguity, so one expects the algorithm to find it quickly.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I know that there has been quite a bit of work on ambiguity tests, but as far as I know most of these tests aim to approximate the ambiguity of a grammar (so it can misclassify grammars) rather than to exactly determine grammar ambiguity. The other approach I know of is fuzzers (test lots of random sentences on ambiguity).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The above question arose when I observed that a certain noncanonical LR algorithm could be used to solve the above problem as a side effect (though I have no idea what its running time would be if used for this purpose).&lt;/p&gt;&#xA;" OwnerUserId="988" LastActivityDate="2012-04-28T07:16:24.530" Title="Is there an ambiguity test for CFGs faster than trying all strings?" Tags="&lt;fl.formal-languages&gt;&lt;time-complexity&gt;&lt;context-free&gt;" AnswerCount="0" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="11221" PostTypeId="1" CreationDate="2012-04-28T10:27:44.493" Score="2" ViewCount="112" Body="&lt;p&gt;Given an edge-weighted graph $G=(V,E)$ the problem of finding the shortest path is known to be in P ---and indeed a simple approach would be Dijkstra's algorithm which can solve this problem in $O(V^2)$. A similar problem is to find the maximum path in G from a source node to a target node and this can be solved with Integer Programming so that, as far as I know, this is not known to be in P.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, the problem of finding a path in G such that it deviates the minimum from a given target value (typically larger than the optimal distance but less than the maximum distance that separates the source and target nodes) has been conjectured to be in EXPTIME (see section &quot;Conventions&quot; of &lt;a href=&quot;http://search-conference.org/index.php/Main/SOCS09program&quot; rel=&quot;nofollow&quot;&gt;A depth-first approach to target-value search&lt;/a&gt; in the proceedings of SoCS 2009). In particular, this paper addresses this particular problem for  directed acyclic graphs (DAGs). A previous work is &lt;a href=&quot;http://www.uwosh.edu/faculty_staff/furcyd/search_symposium_2008/schedule.html&quot; rel=&quot;nofollow&quot;&gt;Heuristic Search for Target-Value Path Problem&lt;/a&gt;. There is event a US Patent of this algorithm &lt;a href=&quot;http://www.google.es/patents?hl=es&amp;amp;lr=&amp;amp;vid=USPATAPP12497353&amp;amp;id=gojwAAAAEBAJ&amp;amp;oi=fnd&amp;amp;dq=%22depth-first+search+for+target+value+problems%22&amp;amp;printsec=abstract#v=onepage&amp;amp;q=%22depth-first%20search%20for%20target%20value%20problems%22&amp;amp;f=false&quot; rel=&quot;nofollow&quot;&gt;US 2011/0004625&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I've been searching for related problems in other fields of Computer Science and Mathematics and strikingly, I have found none though this problem is clearly relevant in practice ---there are tons of opportunities to look for a specific target value instead of the minimum or the maximum path.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Do you know related problems to this or additional bibliographical references to this problem? Any information on this problem including studies of their complexity would be very welcome&lt;/p&gt;&#xA;" OwnerUserId="6242" LastActivityDate="2012-04-28T10:27:44.493" Title="Target-Value Search" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;" AnswerCount="0" CommentCount="2" ClosedDate="2012-05-02T05:28:29.407" ContentLicense="CC BY-SA 3.0" />
  <row Id="11223" PostTypeId="1" CreationDate="2012-04-28T15:03:56.200" Score="7" ViewCount="347" Body="&lt;p&gt;Hopcroft &amp;amp; Ullman 1979, &lt;em&gt;Intro to Automata Theory, Languages, &amp;amp; Computation&lt;/em&gt; states (p. 224) that &quot;almost any language one can think of is CSL; the only known proofs that certain languages are not CSLs are ultimately based on diagonalization.&quot; They give for example the universal Turing machine. I presume this statement is still true today more than three decades later but wonder anyway. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Are there any non-CSLs known that are not &quot;ultimately based on diagonalization&quot;?&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I agree that this question is not necessarily strictly defined. I would also be willing to accept examples in the form where an algorithm was initially/originally built or constructed for some purpose and had unknown complexity and later the algorithm was proved to be non-CSL.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Note non CSLs are also the Exp-space hard problems. &lt;a href=&quot;http://en.wikipedia.org/wiki/Context-sensitive_language&quot; rel=&quot;nofollow&quot;&gt;Wikipedia mentions&lt;/a&gt; without reference &quot;An example of recursive language that is not context-sensitive is any recursive language whose decision is an EXPSPACE-hard problem, say, the set of pairs of equivalent regular expressions with exponentiation.&quot;  I would like to know a reference for this if anyone has it.&lt;/p&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="1761" LastEditDate="2012-10-06T19:22:14.457" LastActivityDate="2012-10-06T19:22:14.457" Title="Examples of non-CSLs not created through diagonalization" Tags="&lt;reference-request&gt;&lt;fl.formal-languages&gt;&lt;automata-theory&gt;&lt;big-picture&gt;" AnswerCount="0" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11224" PostTypeId="2" ParentId="11206" CreationDate="2012-04-28T17:53:30.270" Score="4" Body="&lt;p&gt;Its not clear what you want to estimate, or what you mean by looking at a random cut. But it is hard to learn much about a graph by just observing the size of a random cut. This is because a random cut will always cut $m/2$ edges in expectation (where $m$ is the number of edges in the graph), independent of the structure of the graph. Of course, the entire graph can be thought of as a vector of length ${n \choose 2}$, so if you get to observe the -exact- size of that many random cuts, because they are likely to be linearly independent, you can reconstruct the graph. There's nothing special about cuts here: you're just observing the exact value of the dotproduct of $d$ linearly independent vectors with an unknown vector of length $d$, and this system of linear equations will have an exact solution. &lt;/p&gt;&#xA;" OwnerUserId="25" LastActivityDate="2012-04-28T17:53:30.270" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11225" PostTypeId="2" ParentId="5861" CreationDate="2012-04-28T18:39:06.520" Score="9" Body="&lt;p&gt;This is not an answer but maybe this will point you or someone else in the right direction.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I found the paper by D. Kozen and S. Zaks called &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.53.3170&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;&quot;Optimal Bounds for the Change-Making Problem&quot;&lt;/a&gt; wherein they give conditions for when a coin change instance's greedy change making algorithm is optimal.  I will use their notation.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Given a coin change instance of $m$ distinct coins&#xA;  $$ ( c_1, c_2, c_3, \cdots, c_{m-1}, c_{m} ) $$&#xA;  $$ c_1 = 1 &amp;lt; c_2 &amp;lt; c_3 &amp;lt; \cdots &amp;lt; c_{m-1} &amp;lt; c_m $$&#xA;  a function $M(x)$ representing the optimal number of coins needed to make change for $x$ and a function $G(x)$ representing the number of coins needed to greedily make change for $x$, then if $M(x) \ne G(x)$, there exists a counterexample in the range&#xA;  $$ c_3 + 1 &amp;lt; x &amp;lt; c_{m-1} + c_m $$&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;They go on to show that&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;If for every $x$ in the range $c_3 + 1 &amp;lt; x &amp;lt; c_{m-1} + c_m $&#xA;  $$ G(x) \le G(x-c) + 1$$&#xA;  $$ c \in (c_1, c_2, \cdots, c_m )$$&#xA;  then $G(x) = M(x)$ (i.e. the greedy algorithm is the optimal).&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;This gives us an &quot;efficient&quot; (up to pseudo polynomial time) test to determine whether a coin change instance is greedy or not.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Using the above, I have run a short simulation the results of which are plotted on a log-log scale below&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/qwmEW.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Each point represents the average of 10000 instance creations for $m$ shown and each element chosen to be distinct but otherwise uniform and at random from the range of $[1 \cdots N]$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given that we know the probability of the greedy algorithm being optimal for $m=3$ goes as $\frac{8}{3} N^{-\frac{1}{2}}$, from just looking at the graph I would hazard a guess that the probability of the greedy algorithm being optimal goes as:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$ p_m(N) \propto N^{-\frac{(m-2)}{2} } $$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where $p_m(N)$ is the probability that $m$ distinct coins drawn uniformly at random from the range of $N$ is greedy optimal (otherwise known as 'canonical').&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the large $m$ limit, the probability that the greedy solution is optimal goes quickly to 0 for any non-trivial value of $N$.  If the above equation holds, then it is easy to see, but there might be other ways of looking at it that give the same conclusion.  For example, looking at Borgs, Chayes, Mertens and Nair's &lt;a href=&quot;http://arxiv.org/pdf/cond-mat/0508600.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Random Energy Model&lt;/a&gt; work indicate that the energy is too jagged at the bottom to expect local moves (i.e. greedy moves) to give an optimal solution.  This is of course for the Number Partition Problem and is only provided to give some intuition rather than a definite answer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;At the risk of answering a question that you did not ask, I wanted to point out that &quot;real world&quot; coin systems do not follow a uniform distribution for coin denominations.  For example, the USA has at least 12 denominations (including bills: $ (1, 5, 10, 25, 50, 100, 200, 500, 1000, 2000, 5000, 10000)$ ) which do not appear to be uniformly distributed.  Perhaps looking at other distributions to generate the coin denominations would yield non-trivial results in the large system limit.  For example, a power law distribution might yield coin denominations that are more similar to the USA's.&lt;/p&gt;&#xA;" OwnerUserId="834" LastEditorUserId="834" LastEditDate="2012-04-29T05:23:34.490" LastActivityDate="2012-04-29T05:23:34.490" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11227" PostTypeId="1" AcceptedAnswerId="11403" CreationDate="2012-04-28T22:16:23.817" Score="18" ViewCount="533" Body="&lt;p&gt;The &lt;a href=&quot;http://qwiki.stanford.edu/index.php/Complexity_Zoo%3aS#sc&quot;&gt;complexity zoo&lt;/a&gt; doesn't have much about the &lt;a href=&quot;http://en.wikipedia.org/wiki/SC_%28complexity%29&quot;&gt;$\mathsf{SC}$&lt;/a&gt;. I am looking for a nice$^\dagger$ problem that is in higher levels of the hierarchy, i.e. a problem in $\mathsf{DTimeSpace}(n^{O(1)},\lg^{O(1)} n)$ but not known to be in $\mathsf{DTimeSpace}(n^{O(1)},\lg^2n)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As a side question, is there any known reason why finding examples of nice problems in higher levels of hierarchies ($\mathsf{AC}$, $\mathsf{NC}$, $\mathsf{SC}$, $\mathsf{PH}$, etc.) is more difficult than the first levels? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\dagger$ although &lt;em&gt;nice&lt;/em&gt; is not a mathematical term I think we intuitively understand what it means, e.g. accepting problem for NTMs is an artificial problem that people are not interested in it aside from it being complete for $\mathsf{NP}$, while the graph coloring problem was interesting before being known to be in/complete for $\mathsf{NP}$ and is still interesting aside from the complexity class it belongs to.&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2012-04-29T01:27:55.607" LastActivityDate="2012-05-08T19:51:40.473" Title="Looking for a nice problem inside SC but not in the first two levels" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;" AnswerCount="1" CommentCount="8" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="11229" PostTypeId="1" AcceptedAnswerId="11231" CreationDate="2011-09-18T15:42:32.413" Score="10" ViewCount="312" Body="&lt;p&gt;When considering interactions on networks, it is usually very hard to calculate the dynamics &lt;strong&gt;analytically&lt;/strong&gt;, and approximations are employed. Mean-field approximations usually end up ignoring the network structure completely, and so are seldom a good approximation. A popular approximation is the pair approximation, which considers the correlations inherent between adjacent nodes (intuitively we can think of it as a type of mean-field approximation on edges).&lt;/p&gt;&#xA;&lt;p&gt;The approximation is exact if we are considering Cayley graphs, and very good if we are looking at &lt;span class=&quot;math-container&quot;&gt;$k$&lt;/span&gt;-regular random graphs. In practice it also provides good approximations for cases when we have a random graph with average degree &lt;span class=&quot;math-container&quot;&gt;$k$&lt;/span&gt; and a tight distribution of degree around &lt;span class=&quot;math-container&quot;&gt;$k$&lt;/span&gt;. Unfortunately, a lot of the networks and interactions that are of interest, are not well modeled by these sort of graphs. They are usually well-modeled by graphs with very different degree distributions (like scale-free networks, for instance), with specific (and high) &lt;a href=&quot;http://en.wikipedia.org/wiki/Clustering_coefficient&quot; rel=&quot;nofollow noreferrer&quot;&gt;clustering coefficients&lt;/a&gt;, or specific average shortest-path distance (for more, see &lt;a href=&quot;http://arxiv.org/abs/cond-mat/0106096&quot; rel=&quot;nofollow noreferrer&quot;&gt;Albert &amp;amp; Barabasi 2001&lt;/a&gt;).&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Are there refinements of pair approximation that work well for these types of networks? Or are there other analytic approximations available?&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;hr /&gt;&#xA;&lt;h3&gt;An example of interactions on networks&lt;/h3&gt;&#xA;&lt;p&gt;I thought I would give an example of what I mean by interactions on networks. I will include a relatively general example from evolutionary game theory.&lt;/p&gt;&#xA;&lt;p&gt;You can think of each node as an agent (usually represented just by a strategy), that plays some fixed game pairwise with each other agent it has an edge to. Thus, a given network with a some assignment of strategy to each node produces a payoff for each node. We then use these payoffs and the network structure to determine the distribution of strategies among the nodes for the next iteration (A common example might be for each agent to copy the neighbor with the highest payoff, or some probabilistic variant of this). The questions we are usually interested in corresponding to knowing the numbers of agents of each strategy and how that changes overtime. Often we have stable distribution (which we then want to know, or approximate) or sometimes limit-cycles or even more exotic beasts.&lt;/p&gt;&#xA;&lt;p&gt;If we do mean-field approximation on this sort of model, we use get the &lt;a href=&quot;http://en.wikipedia.org/wiki/Replicator_equation&quot; rel=&quot;nofollow noreferrer&quot;&gt;replicator equation&lt;/a&gt; as our dynamic, which blatantly ignores the network structure and is only accurate for complete graphs. If we use pair approximation (as &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0022519306002426&quot; rel=&quot;nofollow noreferrer&quot;&gt;Ohtsuki &amp;amp; Nowak 2006&lt;/a&gt;) we will get slightly different dynamics (it will actually be replicator dynamics with a modified payoff matrix, where the modification depends on the degree of the graph, and the specifics of the update step) which matches simulation well for random graphs, but not for other networks of interest.&lt;/p&gt;&#xA;&lt;p&gt;For a more physics like example: replace the agents by spins and the call the payoff matrix an interaction Hamiltonian, then cool your system while performing periodic random measurements.&lt;/p&gt;&#xA;&lt;h3&gt;Notes and related questions&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Straightforward generalizations of pair approximation of the sort that consider a type of mean-field approximation on triples, or quadruples of nodes) are unwieldy and still don't take into account very different degree distributions or average shortest-path distance.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/q/7286/1037&quot;&gt;Sources for Algorithmic Evolutionary Game Theory&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="1037" OwnerDisplayName="Artem Kaznatcheev" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2012-04-29T15:30:04.000" Title="Refinements of pair approximation for network analysis" Tags="&lt;graph-theory&gt;&lt;gt.game-theory&gt;&lt;evolutionary-game-theory&gt;" AnswerCount="3" CommentCount="10" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="11230" PostTypeId="2" ParentId="11229" CreationDate="2011-09-18T18:05:01.800" Score="8" Body="&lt;p&gt;The way you formulate your question makes it sound like you care about dynamics, but since what you are looking for seems to be a steady state solution, ground states seem like a much more productive route to go down.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since you want to go beyond pairwise approximation, the most natural candidate technique seems to be &lt;a href=&quot;http://www.quantiki.org/wiki/Matrix_product_states&quot; rel=&quot;nofollow&quot;&gt;matrix product states&lt;/a&gt;, which is a pretty hot topic at the moment for dealing with quantum ground states. The way this approach works is basically by introducing maximally entangled pairs between nodes, and at each node introducing a projector. By adding higher dimensional systems you'll capture more features of the graph. I know your problem probably isn't quantum, but I don't see why this technique still shouldn't work. You should be able to simply replace the entangled states with $\frac{1}{2}(|00\rangle \langle 00| + |11\rangle \langle 11|).$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, I'm not sure if this is the kind of thing you are looking for or not, but there are some recent results on realizibility of scale-free networks, showing that they exhibit two phase transitions which seems to have just been accepted to PRL. A preprint entitled &quot;All scale-free networks are sparse&quot; can be found as &lt;a href=&quot;http://arxiv.org/abs/1106.5150&quot; rel=&quot;nofollow&quot;&gt;arXiv:1106:5150&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="204" OwnerDisplayName="Joe Fitzsimons" LastActivityDate="2011-09-18T18:35:30.080" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11231" PostTypeId="2" ParentId="11229" CreationDate="2011-09-19T08:47:58.320" Score="7" Body="&lt;p&gt;In general, you may be interested in spectral methods in graph theory, as they are a powerful tool. You can analyze the eigenvalues of adjacency matrix of the graph (or of the &lt;a href=&quot;http://en.wikipedia.org/wiki/Laplacian_matrix&quot;&gt;Laplacian matrix of the graph&lt;/a&gt;).  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Such methods not only take into account local properties of the graph (e.g. degree distribution) but also global (e.g. connectivity, presence or absence of shortcuts). In particular, the spectrum is directly related to number of pairs, triangles and to the shortest path (see the second reference).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As a reference (I only skimmed through them, but they look useful):&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;S. Boccaletti et al. (Phys Rep 2006), &lt;a href=&quot;http://dx.doi.org/10.1016/j.physrep.2005.10.009&quot;&gt;Complex networks: Structure and dynamics&lt;/a&gt; (or &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.122.7590&amp;amp;rep=rep1&amp;amp;type=pdf&quot;&gt;here&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;li&gt;K.-I. Goh et at. (PRE 2001), Spectra and eigenvectors of scale-free networks, &lt;a href=&quot;http://arxiv.org/abs/cond-mat/0103337&quot;&gt;arXiv:cond-mat/0103337&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="5582" OwnerDisplayName="Piotr Migdal" LastActivityDate="2011-09-19T09:13:49.850" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11232" PostTypeId="2" ParentId="11229" CreationDate="2011-10-05T07:42:29.223" Score="5" Body="&lt;p&gt;Two things you might want to look at:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.cambridge.org/journals/nisan/downloads/Nisan_Non-printable.pdf&quot;&gt;Algorithmic Game Theory Ch. 7 : Graphical Games&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.santafe.edu/media/workingpapers/11-03-010.pdf&quot;&gt;Fluctuations in Evolutionary Games&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The first goes over how to find equilibria in games or spin systems like you described. Certain meta-strategies for strategy adoption (specifically the one identical to Gibbs Sampling that leads to a correlated equilibria) allow very general, tractable analyses.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The second attempts to predict large fluctuations or change in &quot;norms&quot; in an evolutionary game theory model using large deviations theory. The examples tackled are small-scale, but the author attempts to make the mathematical machinery he uses as general and powerful as possible, so it may be applicable to your case.&lt;/p&gt;&#xA;" OwnerUserId="3337" OwnerDisplayName="Elliot Jans" LastActivityDate="2011-10-05T07:42:29.223" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11233" PostTypeId="1" CreationDate="2012-04-29T14:11:23.397" Score="1" ViewCount="199" Body="&lt;p&gt;&lt;strong&gt;You may skip to question&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;According to &lt;a href=&quot;http://en.wikipedia.org/wiki/General_number_field_sieve&quot; rel=&quot;nofollow&quot;&gt;Wikipedia&lt;/a&gt;, the complexity of factorizing a number n using the general number field sieve is (&quot;heuristically&quot;):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$ \exp\left( \left(\sqrt[3]{\frac{64}{9}} + o(1)\right)(\log n)^{\frac{1}{3}}(\log \log n)^{\frac{2}{3}}\right)  $.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Probably big O notation. How could I use that to estimate the number of operations to factorize the number?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As I was taught, exponents and logs in complexity are usually base 2. But for this case Wikipedia shows its &quot;L-notation&quot; too, which uses base $e$, so I don't know if it applies.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My attempt was to compare to msieve's (software) expected time to factor a 512-bit number, 6 weeks (got by scaling a 2009 79 day to break a 512-bit RSA key by Benjamin Moody), and assume an average computer for 5 Giga operations per second and work backwards, all in base 2. I got a correction factor of $1/2^{12.5}$, being the estimation of the number of operations to break a $b$-bit modulus:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$f(b) = 2^{ (7.11b(\log b)^2 )^{1/3}-12.5  }$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the said computer ($5\times10^9 \frac{operations}{second}$) it takes aobut 6 weeks to break a 512 bit modulus and for a 768 bit it would take 968 years, which is close of what is claimed about the RSA-768 after scaling (2000 years with a pc at roughly 2.5 GHz)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I estimated the number of operations to factorize a b bit integer using GNFS(by its expected complexity) in:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$f(b) = 2^{ (7.11b(\log b)^2 )^{1/3}-12.5  }$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'd like to know what is wrong with this estimation or if there is a better equation for that.&lt;/p&gt;&#xA;" OwnerUserId="9247" LastEditorUserId="5693" LastEditDate="2012-04-29T14:49:58.180" LastActivityDate="2012-04-29T14:49:58.180" Title="Estimating the number of operations required to factorize a $b$-bit integer using GNFS" Tags="&lt;cc.complexity-theory&gt;&lt;factoring&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11234" PostTypeId="2" ParentId="11175" CreationDate="2012-04-29T14:45:17.620" Score="5" Body="&lt;p&gt;Deciding if there is a graph homomorphism is easier than counting the number of (weighted) graph homomorphisms.&lt;/p&gt;&#xA;&lt;h2&gt;Weighted Case&lt;/h2&gt;&#xA;&lt;p&gt;For undirected target graphs &lt;span class=&quot;math-container&quot;&gt;$H$&lt;/span&gt; (i.e. the number of weighted graph homomorphisms from an input graph &lt;span class=&quot;math-container&quot;&gt;$G$&lt;/span&gt; to &lt;span class=&quot;math-container&quot;&gt;$H$&lt;/span&gt;), there is a dichotomy theorem.&lt;/p&gt;&#xA;&lt;p&gt;Jin-Yi Cai, Xi Chen, Pinyan Lu. &lt;a href=&quot;http://pages.cs.wisc.edu/%7Ejyc/papers/Graph-Homo-Dichotomy.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Graph Homomorphisms with Complex Values: A Dichotomy Theorem&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;That is, every target graph &lt;span class=&quot;math-container&quot;&gt;$H$&lt;/span&gt; either defines a #P-hard or polynomial time computable counting problem (see Theorem 1.1).&lt;/p&gt;&#xA;&lt;p&gt;It is a bit difficult to explain which graphs &lt;span class=&quot;math-container&quot;&gt;$H$&lt;/span&gt; define polynomial computable problems (see Theorem 5.7 for the statement and page 4 for the index of the conditions), but it is also polynomial time computable to decided if a target graph &lt;span class=&quot;math-container&quot;&gt;$H$&lt;/span&gt; defines a easy problem (see Theorem 1.2).&lt;/p&gt;&#xA;&lt;p&gt;The tractability follows from the ability to efficiently compute the exponential sum over a sequence of variables modulo &lt;span class=&quot;math-container&quot;&gt;$q$&lt;/span&gt; that form a quadratic polynomial in the exponent of a &lt;span class=&quot;math-container&quot;&gt;$q$&lt;/span&gt;th root of unity, where &lt;span class=&quot;math-container&quot;&gt;$q$&lt;/span&gt; is a prime power (see the beginning of section 12).&lt;/p&gt;&#xA;&lt;h2&gt;Unweighted Case&lt;/h2&gt;&#xA;&lt;p&gt;The unweighted case is much simpler. Below, I state Theorem 1.1 from the following paper.&lt;/p&gt;&#xA;&lt;p&gt;Martin Dyer, Catherine Greehill. &lt;a href=&quot;http://onlinelibrary.wiley.com/doi/10.1002/1098-2418%28200010/12%2917:3/4%3C260::AID-RSA5%3E3.0.CO;2-W/abstract;jsessionid=44DB8EBE86DB2E1E15B90C505630AFC2.d01t01&quot; rel=&quot;nofollow noreferrer&quot;&gt;The complexity of counting graph homomorphisms&lt;/a&gt;. (Also this direct &lt;a href=&quot;http://pages.cs.wisc.edu/%7Ejyc/880/Dyer-Greenhill.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;link&lt;/a&gt; to a free PDF.)&lt;/p&gt;&#xA;&lt;h3&gt;Theorem 1:&lt;/h3&gt;&#xA;&lt;p&gt;Let &lt;span class=&quot;math-container&quot;&gt;$H$&lt;/span&gt; be a fixed graph. Then problem of counting &lt;span class=&quot;math-container&quot;&gt;$H$&lt;/span&gt;-colourings of graphs is #P-complete if &lt;span class=&quot;math-container&quot;&gt;$H$&lt;/span&gt; has a connected component which is not a complete graph with all loops present or a complete bipartite graph with no loops present. Otherwise, the counting problem is in P.&lt;/p&gt;&#xA;" OwnerUserId="3964" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2012-04-30T16:09:24.813" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11235" PostTypeId="1" CreationDate="2012-04-29T16:23:04.210" Score="3" ViewCount="201" Body="&lt;p&gt;For a given finite alphabet $\Sigma$, my goal is to write an algorithm&#xA;that receives as input a sequence $V=V_{1}V_{2}\dots V_{n}$ of subsets&#xA;($V_{i}\subseteq\Sigma$), and returns a weighted deterministic finite-state&#xA;automaton with the following property: for every input string $s$,&#xA;the automaton penalizes each substring $s_{1}s_{2}\dots s_{n}$ of&#xA;$s$ if $s_{i}\in V_{i}$ for every $1\le i\le n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, if $\Sigma=\{a,b\}$, $V=V_{1}V_{2}=\{b\}\{b\}$, the&#xA;returned automaton would penalize the string $s=bbbb$ $3$ times,&#xA;i.e. when accepting the string and summing over the weighted arcs,&#xA;the result would be $3$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The algorithm should return the weighted DFA as a 4-tuple $&amp;lt;Q,\delta ,q_0 , F&amp;gt;$:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$Q=\{q_{0},q_{1}\}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\delta=\{(q_{0},a,0,q_{0}),(q_{0},b,0,q_{1}),(q_{1},b,1,q_{1}),(q_{1},a,0,q_{0})\}\subseteq Q\times\Sigma\times\{0,1]\times Q$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$q_{0}=q_{0}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$F=\{q_{0},q_{1}\}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The algorithm must return the DFA as a 4-tuple as described. My main concern is the &lt;strong&gt;size&lt;/strong&gt; of the resulting DFA. Therefore, the structure of $V$ should be taken advantage of. Capitalizing on subset relations, it is possible to eliminate states from the resulting automaton. For example, when all subsets are pairwise disjoint,&#xA;the automaton would have $n$ states.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem arises in the general case, where the inclusion relation&#xA;between subsets is unknown.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, if $\Sigma=\{a,b,c,d,e\}$ and $V=\{a,b\}\{b,c,d\}\{d,e\}$,&#xA;the string $abde$ should be penalized twice (both $abd$ and $bde$&#xA;are penalized), where $acde$ should be penalized only once ($acd$&#xA;is penalized, but not $cde$). This happens since there is a chain&#xA;of non-empty intersections between subsets $(V_{1}\cap V_{2},V_{2}\cap V_{3}\not=\emptyset)$,&#xA;so having accepted a penalized substring, some paths taken must be&#xA;remembered in order to know how to move on. Paths in the required automaton&#xA;would have to be splitted accordingly. In this case the resulting automaton could be minimally built with 5 states.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;When the sequence is longer, there is a chance for more complex inclusion&#xA;relations between its subsets.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm interested in a general algorithmic solution for this problem, currently not in any implementation or performance considerations. As stated, my main concern is the size of the DFA.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any insight, reference or suggestion on how to tackle this problem&#xA;would be appreciated.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More specifically, I'm now trying to figure out how to capitalize on inclusion relations between subsets in order to eliminate states (in advance) when building the DFA.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT:&#xA;Added a paragraph and a final comment about using the structure of V to minimize the DFA, emphasis on my need of a smallest DFA as possible.&lt;/p&gt;&#xA;" OwnerUserId="9248" LastEditorUserId="9248" LastEditDate="2012-04-30T12:46:46.847" LastActivityDate="2012-04-30T12:46:46.847" Title="Automatically creating weighted DFAs penalizing sequences of subsets of the alphabet" Tags="&lt;fl.formal-languages&gt;&lt;automata-theory&gt;" AnswerCount="1" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="11238" PostTypeId="1" AcceptedAnswerId="11244" CreationDate="2012-04-29T22:27:00.147" Score="8" ViewCount="252" Body="&lt;p&gt;In which paper did Alonzo Church first describe &lt;a href=&quot;https://en.wikipedia.org/wiki/Church_encoding#Church_numerals&quot;&gt;Church encoding&lt;/a&gt;? I can't find any articles that actually cite the paper, but I am interested in reading it.&lt;/p&gt;&#xA;" OwnerUserId="9252" LastEditorUserId="186" LastEditDate="2012-04-30T01:26:53.640" LastActivityDate="2012-04-30T01:26:53.640" Title="Origin of Church encodings" Tags="&lt;reference-request&gt;&lt;lo.logic&gt;&lt;lambda-calculus&gt;&lt;ho.history-overview&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11239" PostTypeId="1" AcceptedAnswerId="11242" CreationDate="2012-04-29T22:42:32.500" Score="6" ViewCount="408" Body="&lt;p&gt;Consider a d-regular bipartite graph G, for d&gt;=1. Obviously, G contains a perfect matching. Consider a perfect matching M in G chosen uniformly at random from all perfect matchings in G. Is it the case that, for arbitrary edges e and e', the probability e is in M is the same as the probability e' is in M?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Stated differently, I am asking the following: Is it the case that, for an edge e of a regular bipartite graph G, the number of perfect matchings that include e does not depend on e?&lt;/p&gt;&#xA;" OwnerUserId="2945" LastEditorUserId="186" LastEditDate="2012-04-30T01:24:44.547" LastActivityDate="2012-04-30T01:24:44.547" Title="In a random perfect matching of a regular bipartite graph, are all edges equally probable?" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;graph-algorithms&gt;&lt;randomness&gt;&lt;matching&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11240" PostTypeId="2" ParentId="11235" CreationDate="2012-04-29T22:49:46.110" Score="4" Body="&lt;p&gt;I'm still not sure why you want it in strict quadruple form, with a set of structure-less states. That's a model that mainly intended for doing the abstract mathematics surrounding state-transition systems, but famously ill-suited to actual computation unless you are looking for the extreme speed offered by &quot;pre-compiling&quot; into deterministic form, at the expense of storage space. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;User834 is correct that this is a fairly simple sub-problem of regular expression matching, with the added feature of counting matches, so you may take my solution in that vein.  I'm not a RE maven, but I think there is a way to get match counting out of REs in most implementations. So that's an approach you might consider for practical implementation without all the trouble of constructing your own FSAs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I also agree that this probably belongs in the CS area rather than theoretical CS.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If I read your problem correctly, it amounts to taking a set of strings $V$ and looking for every occurrence of a string in $V$ as a maximal substring (prefix, suffix or interior) of $x$, the input to the DFSA we'll call $D$. That count is the &quot;penalty&quot; for $x$. Here's one way to do it, though following your prescription not to worry about performance, takes no advantage of any structure or redundancy in $V$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In your example, $V=\{abd, abe, acd, ace, add, ade, b...\}$. Pre-multiply all the sets $V_i$ into strings of $V$ in tree form, with elements of $V_i$ all on level $i$, each descended directly from each element of $V_{i-1}$. Level $0$ is an abstract root, say $\epsilon$. For your example, descended from $\epsilon$ are $a$ and $b$, the elements of $V_1$. On level 2, descended from each of $a$ and $b$ are the members of $V_2$: $b$, $c$ and $d$. So there are 6 nodes on level 2 altogether, the 3 members of $V_2$ repeated twice. And so on to the leaves.  Each path from $\epsilon$ to a leaf of the tree represents one &quot;penalty string&quot; in V. You did not make clear what happens if a string appears more than once in $V$. If you don't want it to count for multiple penalties, then you should prune duplicate strings out of the tree by some suitable algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Construct the a &lt;strong&gt;non&lt;/strong&gt;-deterministic FSA $D&amp;#39;$ as follows.  States of $Q$ are pointers to nodes of the tree. Each state thus represents a complete string in $V$ or a prefix of such a string, to be represented here by $[x]$ (though that $x$ isn't unique to a node -- I assume there is a pointer to the actual node of the tree).  The transition function $\delta$ contains three kinds of edges:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\langle[x],a,0,[xa])\rangle$ where $a$ is a direct descendant of $[x]$, and $[xa]$ is that descendant node. Note that we output 0 at this point because we aren't sure we've reached the maximal match.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\langle[x],a,1,[])\rangle$ where $a$ is &lt;em&gt;not&lt;/em&gt; a direct descendant of $[x]$ in the tree, and $[]$ is a dead state. We output $1$ here because $[x]$ is matched but it is maximal, since $[xa]$ is not matched.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we were dealing with prefixes only and not interior and suffix matches, we'd be done and this would be a deterministic automaton. To account for non-prefixes, we need to non-deterministically circle back to $[\epsilon]$, the start state, at every stage with an edge like this for every state $[x]$ except $[\epsilon]$ and $[]$:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\langle[x], \epsilon, 0, [\epsilon]\rangle$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Convert that NFSA to a DFSA and you are done.&lt;/p&gt;&#xA;" OwnerUserId="8487" LastEditorUserId="8487" LastEditDate="2012-04-29T23:02:59.480" LastActivityDate="2012-04-29T23:02:59.480" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="11242" PostTypeId="2" ParentId="11239" CreationDate="2012-04-30T00:28:09.093" Score="12" Body="&lt;p&gt;No.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Construction: Take two copies of $K_{3,3}$, one with the nodes $\{a,b,c\} \cup \{a&amp;#39;,b&amp;#39;,c&amp;#39;\}$ and the other one with the nodes $\{d,e,f\} \cup \{d&amp;#39;,e&amp;#39;,f&amp;#39;\}$. Remove the edges $(c,c&amp;#39;)$ and $(d,d&amp;#39;)$. Add the edges $(c,d&amp;#39;)$ and $(d,c&amp;#39;)$.&lt;/p&gt;&#xA;" OwnerUserId="74" LastActivityDate="2012-04-30T00:28:09.093" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11244" PostTypeId="2" ParentId="11238" CreationDate="2012-04-30T00:44:15.207" Score="11" Body="&lt;p&gt;It should be this one:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Church, A. (1941) The Calculi of Lambda-Conversion. Annals of Mathematics Studies&#xA;No. 6, Princeton University Press.&lt;/p&gt;&#xA;" OwnerUserId="9254" LastActivityDate="2012-04-30T00:44:15.207" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11245" PostTypeId="2" ParentId="11218" CreationDate="2012-04-30T03:25:47.840" Score="-1" Body="&lt;p&gt;To draw continued attention, here are some explanatory comments, with a tentative proof based on the idea of universal CSG. &#xA;The original quote (in my original post) is from wikipedia entry: Context-sensitive grammar, requote here: &quot;There are even some context-sensitive grammars whose fixed grammar recognition problem is PSPACE-complete.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The statement that the word recognition problem for CSG is PSPACE-complete and the statement that the same kind of problem for some fixed grammar in CSG is PSPACE compelte are different! The former is sometimes called universal recognition problem for CSG, and the latter, well, may be called just fixed CSG grammar recognition problem. Let's refer to the two problems as UCSG and FCSG respectively.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The instances of UCSG are pairs of (G,x) where G can be any CSG, and x can be any strings; whereas those of FCSG for a fixed grammar G', are pairs of (G',x) where G' is fixed, and x can be any string.&#xA;Thus to say UCSG is PSPACE complete, it means that there is a polynomial time transformation T such that for any decision problem Q in PSPACE, there is pair (G,x)=T(Q) such that the answer to (G,x) is the answer to Q;&#xA;Whereas to say FCSG for a fixed CSG G' is PSPACE complete, it means that there is a polynomial time transformation T' such that for any decision problem Q in PSPACE, there is string x, such that (G',x)=T'(Q) is the equivalent problem to Q.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;When the original author states that FCSG is PSPACE complete without giving a reference, he (she) may think that it is kind of obvious or its importance does not justify more detail. But I think a reference or certain hints are valuable here, assuming it is right.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Along this line of thinking, my tentative proof plan for FCSG being PSPACE complete is the following:&#xA;Let H be such a special grammar in CSG such that H accepts x if and only if x=u#v where u is the coding (by some coding funciton) of arbitrary grammar G(u) in CSG and G(u) accepts v. Since the condition of H is fulfillable by a LBA (or not so?), by the equivalence of LBA and CSG, such H exists; and any ICSG for such a H is PSPACE complete.&#xA;Since this H can simulate any other CSG, we may call it universal CSG.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there proofs along this line already, where, or this purported proof plan has flaws?&#xA;If the idea of universal CSG is essentially right, we may continue asking what other classes have their own universal instances.&lt;/p&gt;&#xA;" OwnerUserId="518" LastActivityDate="2012-04-30T03:25:47.840" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="11246" PostTypeId="2" ParentId="10791" CreationDate="2012-04-30T06:52:23.077" Score="11" Body="&lt;p&gt;EDIT: (2014-08-08)&#xA;As Douglas Zare points out in the comments, the argument below, specifically the 'bridge' between the two probabilities, is incorrect.  I don't see a straight forward way to fix it.  I'll leave the answer here as I believe it still provides some intuition, but know that $$ \Pr(E_m) \le \prod_{l=1}^{m}\Pr(F_l) $$ is &lt;strong&gt;not&lt;/strong&gt; true in general.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;This won't be a complete answer but hopefully it will have enough content that you or someone more knowledgeable than myself can finish it off.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider the probability of exactly $k$ balls falling into the first $l$ (of $n$) bins:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$ \binom{n}{k} \left( \frac{l}{n} \right)^k \left(\frac{n-l}{n} \right)^{n-k} $$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Call the probability that fewer than $l$ balls fall into the first $l$ bins $F_l$:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$ \Pr(F_l) = \sum_{k=0}^{l-1} \binom{n}{k} \left( \frac{l}{n} \right)^k \left( \frac{n-l}{n} \right)^{n-k} $$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The probability that the event, $E_l$, above occurs is less than if we considered each of the $F_l$ events occurring independently and all at once.  This gives us a bridge between the two:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$ \begin{array}{lll} \Pr(E_m) &amp;amp; \le &amp;amp; \prod_{l=1}^m \Pr(F_l) \\&#xA;  &amp;amp; = &amp;amp; \prod_{l=1}^m \left( \sum_{k=1}^{l-1} \binom{n}{k} \left( \frac{l}{n}^k \right) \left( \frac{n-l}{n} \right)^{n-k} \right) \\&#xA; &amp;amp; = &amp;amp; \prod_{l=1}^m F(l-1; n, \frac{l}{n} )&#xA;\end{array} $$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Where $F(l-1; n, \frac{l}{n})$ is the &lt;a href=&quot;http://en.wikipedia.org/wiki/Binomial_distribution#Cumulative_distribution_function&quot; rel=&quot;nofollow noreferrer&quot;&gt;cumulative distribution function for the Binomial distribution&lt;/a&gt; with $p = \frac{l}{n}$.  Just reading a few lines down on the Wikipedia page, and noting that $(l-1 \le p n)$, we can use &lt;a href=&quot;http://en.wikipedia.org/wiki/Chernoff%27s_inequality&quot; rel=&quot;nofollow noreferrer&quot;&gt;Chernoff's inequality&lt;/a&gt; to get:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;\begin{array}{lll}&#xA;\Pr(E_m) &amp;amp; \le &amp;amp; \prod_{l=1}^m \exp\left[ -\frac{1}{2l} \right] \\&#xA; &amp;amp; = &amp;amp; \exp\left[ - \frac{1}{2} \sum_{l=1}^m \frac{1}{l} \right] \\&#xA; &amp;amp; = &amp;amp; \exp\left[ - \frac{1}{2} H_m \right] \\&#xA; &amp;amp; \le &amp;amp; \exp\left[ -\frac{1}{2} \left( \frac{1}{2 m} + \ln(m) + \gamma \right) \right]&#xA;\end{array}&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Where $H_m$ is the $m$'th &lt;a href=&quot;http://mathworld.wolfram.com/HarmonicNumber.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;Harmonic Number&lt;/a&gt;, $\gamma$ is the Euler-Mascheroni constant and the inequality for the $H_m$ is taken from Wolfram's MathWorld linked page.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Not worrying about the $e^{-1/4m}$ factor, this finally gives us:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$ \Pr(E_m) \le \frac{ e^{ -\gamma/2}}{\sqrt{m}} $$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Below is a log-log plot of an average of 100,000 instances for $n=2048$ as a function of $m$ with the function $\frac{e^{ -\gamma/2}}{\sqrt{m}}$ also plotted for reference:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/KZtG8.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;While the constants are off, the form of the function appears to be correct.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Below is a log-log plot for varying $n$ with each point being the average of 100,000 instances as a function of $m$:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/UDSpO.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, getting to the original question you wanted answered, since we know that $\Pr(E_m) \propto \frac{1}{\sqrt{m}}$ we have:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$ \sum_{i&amp;lt;n} \Pr(E_i) \propto \sqrt{n} $$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;And as numerical verification, below is a log-log plot of the sum, $S$, versus instance size, $n$.  Each point represents the average of the sum of 100,000&#xA;instances.  The function $x^{1/2}$ has been plotted for reference:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/BgRGZ.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;While I see no direct connection between the two, the tricks and final form of this problem have a lot of commonalities with the Birthday Problem as initially guessed at in the comments.&lt;/p&gt;&#xA;" OwnerUserId="834" LastEditorUserId="834" LastEditDate="2014-08-09T03:02:22.233" LastActivityDate="2014-08-09T03:02:22.233" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="11248" PostTypeId="2" ParentId="11218" CreationDate="2012-04-30T11:52:56.727" Score="7" Body="&lt;p&gt;$\mathrm{CSL}=\mathrm{NSPACE}(O(n))$. Thus, take your favourite PSPACE-complete problem. If it is decidable in $\mathrm{NSPACE}(O(n))$ (for example, QBF is), you are done. Otherwise, introduce a polynomial amount of padding to make it so.&lt;/p&gt;&#xA;" OwnerUserId="6959" LastActivityDate="2012-04-30T11:52:56.727" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="11249" PostTypeId="2" ParentId="2077" CreationDate="2012-04-30T21:44:46.667" Score="16" Body="&lt;p&gt;See Bach and Sorenson, Sieve algorithms for perfect power testing, Algorithmica 9 (1993), 313-328,  DOI: 10.1007/BF01228507, and D. J. Bernstein, Detecting perfect powers in essentially linear time, Math. Comp. 67 (1998), 1253-1283.&lt;/p&gt;&#xA;" OwnerUserId="3227" LastActivityDate="2012-04-30T21:44:46.667" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11251" PostTypeId="1" CreationDate="2012-05-01T04:12:18.283" Score="0" ViewCount="459" Body="&lt;p&gt;So this is a question from Arora, Barak textbook which was on our homework. I submitted it so no worries. :)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The question asks us to simulate an adaptive PCP with a non-adaptive one. It says this can be done in $2^{q}$ non-adaptive queries. But in that case, how can the verifier be poly-time because it now reads exponential number of proof bits? Shouldn't $q(n) &amp;lt; t(n)$ always hold?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Nilesh.&lt;/p&gt;&#xA;" OwnerUserId="9260" LastEditorUserId="186" LastEditDate="2012-05-01T16:41:17.687" LastActivityDate="2012-05-01T16:41:17.687" Title="Non adaptive PCP" Tags="&lt;cc.complexity-theory&gt;&lt;pcp&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11252" PostTypeId="1" AcceptedAnswerId="11253" CreationDate="2012-05-01T04:44:18.967" Score="3" ViewCount="258" Body="&lt;p&gt;I want to find the current literature for the following problem (I have searched&#xA;on google/asked friends/some Profs didn't get much useful results yet):&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Input&lt;/strong&gt;: weighted undirected graph G = (V,E), $S \subseteq V$, $ s, t \in V$, $ w : E \mapsto R^+$&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;&lt;strong&gt;Output&lt;/strong&gt;: A walk W = $(s,v_1, v_2,..,v_k, t)$ of minimum length such that:&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;1) $I = \{v_i : i \ge 1 \wedge i \leq k\}$, $S \subseteq I$&lt;br&gt;&#xA;  2) $ (s, v_1), (v_k, t) \in E$&lt;br&gt;&#xA;  3) $ (v_{i-1}, v_i) \in E$  $\forall i \geq 2,i \leq k$&lt;br&gt;&#xA;  4) Length of walk is = $w(s,v_1) + w(v_k,t)$ + $\Sigma_{i=2}^k w(v_{i-1}, v_i)$&lt;br&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I know this is somewhat related to TSP/Hamiltonian paths but I think that it is significantly different.&lt;br&gt;&#xA;I came to investigate this problem because I am thinking about solving this problem in a special &lt;br&gt;&#xA;geometric setting. So, It would be helpful If I could get to know the complexity class to which it is known to&lt;br&gt;&#xA;belong and any results for planar graphs, grid graphs.&lt;br&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks,&lt;br&gt;&#xA;Rizwan.&lt;/p&gt;&#xA;" OwnerUserId="288" LastActivityDate="2012-05-01T06:07:20.967" Title="Minimum length walk from s to t covering a subset of vertices" Tags="&lt;ds.algorithms&gt;&lt;graph-algorithms&gt;&lt;optimization&gt;&lt;time-complexity&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11253" PostTypeId="2" ParentId="11252" CreationDate="2012-05-01T06:07:20.967" Score="9" Body="&lt;p&gt;So you are given a weighted undirected graph $G$. You want to find a shortest walk from $s$ to $t$ such that you visit all the vertices of the set $S$. You may choose to visit vertices in $V \setminus S$. You may visit vertices multiple times. You may use the edges multiple times. Let's call this problem $stSWALK$.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;$stSWALK$ is equivalent to metric Traveling Salesman &lt;strong&gt;Path&lt;/strong&gt; problem ($MTSPP$).&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;It is easy to see that, when $S = V$ then $stSWALK$ is same as $MTSPP$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can convert an instance of $stSWALK$ into an instance of $MTSPP$ by simply computing the shortest paths between every pair of vertices in $S$ (and adding the corresponding &quot;new&quot; edges with the weights equal to the lengths of these shortest paths) and then solving $MTSPP$ on the graph induced by $S \cup \{s,t\}$ (lets call this graph $H$). To get a solution to $stSWALK$, we simply expand these newly added edges into their corresponding shortest paths in $G$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that If $G$ is planar then $H$ is not necessarily a planar graph.&lt;/p&gt;&#xA;" OwnerUserId="344" LastActivityDate="2012-05-01T06:07:20.967" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11254" PostTypeId="2" ParentId="11251" CreationDate="2012-05-01T06:46:54.893" Score="3" Body="&lt;p&gt;The assumption is that the number of queries is at most logarithmic in the input size ($n$), so $2^q$ is still polynomial in $n$.&lt;/p&gt;&#xA;" OwnerUserId="170" LastActivityDate="2012-05-01T06:46:54.893" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="11257" PostTypeId="1" CreationDate="2012-05-01T15:29:58.510" Score="2" ViewCount="561" Body="&lt;p&gt;I've implemented a neural network (using the back-propagation algorithm) in a digital marketing application, where the algorithm classifies words according to quality, price and another characteristics in an AdWord Campaign.  I would like to know if there is a paper or book (preferably free) that discusses the accuracy rate of acceptance that a neural network should have.&lt;/p&gt;&#xA;" OwnerUserId="7224" LastEditorUserId="7304" LastEditDate="2012-05-04T15:06:25.437" LastActivityDate="2012-06-28T17:09:44.073" Title="Accuracy rate in neural networks" Tags="&lt;ai.artificial-intel&gt;&lt;ne.neural-evol&gt;" AnswerCount="2" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="11258" PostTypeId="1" AcceptedAnswerId="11262" CreationDate="2012-05-01T19:56:18.727" Score="15" ViewCount="511" Body="&lt;p&gt;For a planar embedding of a planar graph on a plane with straight edges, define a vertex as a &lt;em&gt;sharp&lt;/em&gt; vertex if the maximum angle between two consecutive edges around it is more than 180. Or in other words, if there exists a line passing through that vertex in the embedding such that all the edges incident on that vertex lie on one side of the line, then the vertex is &quot;sharp&quot; otherwise it's not. Also, let us worry only about vertices with degree at least 3.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I want to draw planar graphs with few sharp vertices. Has anyone studied such drawings before?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In particular, I want to draw planar graphs with max degree 3 such that the number of sharp vertices of degree 3 in the embedding is $O(\log n)$ and the coordinates of the vertices can be written down with a polynomial number of bits.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Here's what I can find after spending some time on Google Scholar:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My measure of sharpness of a vertex is related to an already studied concept called the &lt;a href=&quot;http://en.wikipedia.org/wiki/Angular_resolution_%28graph_drawing%29&quot;&gt;Angular Resolution&lt;/a&gt;. From Wikipedia:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;The angular resolution of a drawing of a graph refers to the sharpest angle formed by any two edges that meet at a common vertex of the drawing.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Thus a planar drawing with angular resolution $\pi/2$ around degree 3 vertices will be good for my purpose.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For a vertex with degree $d$ in the drawing, the angular resolution around it can be at most $2\pi/d$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The question of whether this is tight has been studied in the past, but I can only find asymptotic results. For example, Malitz and Papakostas &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=129764&quot;&gt;prove&lt;/a&gt; that any planar graph with maximum degree $d$ can be drawn with an angular resolution of $\alpha^d$. But this result doesn't give good bounds for the case when $d=3$.&lt;/p&gt;&#xA;" OwnerUserId="262" LastEditorUserId="186" LastEditDate="2012-05-02T02:59:11.740" LastActivityDate="2012-05-02T03:50:24.500" Title="Drawing graphs with few &quot;sharp&quot; vertices?" Tags="&lt;graph-theory&gt;&lt;cg.comp-geom&gt;&lt;graph-drawing&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11261" PostTypeId="1" AcceptedAnswerId="11265" CreationDate="2012-05-02T01:53:32.947" Score="14" ViewCount="3628" Body="&lt;p&gt;(already &lt;a href=&quot;https://stackoverflow.com/questions/10387965/need-a-good-overview-for-succinct-data-structures&quot;&gt;asked on main site&lt;/a&gt;, but asking also here for better coverage, sorry)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since I knew about &lt;a href=&quot;http://en.wikipedia.org/wiki/Succinct_data_structure&quot; rel=&quot;nofollow noreferrer&quot;&gt;Succinct Data Structures&lt;/a&gt; I'm in a desperate need of a good overview of most recent developments in that area.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have googled and read a lot of articles I could see in top of google results on requests from top of my head. I still suspect I have missed something important here.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here are topics of particular interest for me:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Succinct encoding of binary trees with efficient operations of getting parent, left/right child, number of elements in a subtree.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The main question here is as following: all approaches I know of assume the tree nodes enumerated in breath-first order (like in the pioneer work in this area Jacobson, G. J (1988). Succinct static data structures), which does not seem appropriate for my task. I deal with huge binary trees given in depth-first layout and the depth-first node indices are keys to other node properties, so changing the tree layout has some cost for me which I'd like to minimize. Hence the interest in getting references to works considering other then BF tree layouts.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Large variable-length items arrays in external memory. The arrays are immutable: I don't need to add/delete/edit the items. The only requirement is O(1) element access time and as low overhead as possible, better then straightforward offset and size approach. Here is some statistics I gathered about typical data for my task:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;typical number of items - hundreds of millions, up to tens of milliards;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;about 30% of items have length not more then 1 &lt;strong&gt;bit&lt;/strong&gt;;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;40%-60% items have length less then 8 bits;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;only few percents of items have length between 32 and 255 bits (255 bits is the limit)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;average item length ~4 bit +/- 1 bit.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;any other distribution of item lengths is theoretically possible but all practically interesting cases have statistics close to the described above.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Links to articles of any complexity, tutorials of any obscurity, more or less documented C/C++ libraries, - anything what was useful for you in similar tasks or what looks like that by your educated guess - all such things are gratefully appreciated.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Update&lt;/strong&gt;: I forgot to add to the question 1: binary trees I'm dealing with are immutable. I have no requirements for altering them, all i need is only traversing them in various ways always moving from node to children or to parent, so that the average cost of such operations was O(1).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, typical tree has milliards of nodes and should not be fully stored in RAM.&lt;/p&gt;&#xA;" OwnerUserId="9276" LastEditorUserId="-1" LastEditDate="2017-05-23T11:33:33.907" LastActivityDate="2015-06-03T17:37:03.683" Title="Need a good overview for Succinct Data Structure algorithms" Tags="&lt;reference-request&gt;&lt;ds.data-structures&gt;&lt;advice-request&gt;&lt;space-time-tradeoff&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="11262" PostTypeId="2" ParentId="11258" CreationDate="2012-05-02T03:50:24.500" Score="13" Body="&lt;p&gt;It is possible to construct 3-regular planar graphs with $\Theta(n)$ biconnected components (see e.g. fig.16 of &lt;a href=&quot;http://arxiv.org/abs/math.CO/0606450&quot;&gt;this paper&lt;/a&gt;), each of which must contain at least one sharp vertex.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, if you require higher levels of connectivity, you can avoid having many sharp vertices. In particular, if you have a 3-connected planar graph, it can be drawn (e.g. by using Steinitz' theorem to find a polyhedral representation and then forming a perspective projection) in such a way that all faces are convex, which causes only the outer face to be sharp. But every 3-connected planar graph can be embedded in such a way that the outer face has at most five vertices (the worst case being a dodecahedron) so you can draw every 3-connected planar graph (3-regular or not) with at most five sharp vertices.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2012-05-02T03:50:24.500" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11264" PostTypeId="1" AcceptedAnswerId="11278" CreationDate="2012-05-02T12:38:58.513" Score="-5" ViewCount="382" Body="&lt;p&gt;I am a first year PhD student in computer science.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The major areas my supervisor is working with are: Theoretical Computer Science (knowledge representation, uncertainty, etc.) and wireless sensor networks (applied Computer Science). I need to select from one of these areas to specialize. In fact I can work in, and have an interest in, both the fields. What I can not figure out is what will be most applicable in a future job in industry (especially as I am not looking to pursue a career in academia). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I deeply appreciate any advice on this from you all.&lt;/p&gt;&#xA;" OwnerUserId="9279" LastEditorUserId="3984" LastEditDate="2014-03-28T15:39:16.427" LastActivityDate="2014-03-28T15:39:16.427" Title="Theoretical Computer Science or Sensor Networks" Tags="&lt;soft-question&gt;&lt;career&gt;&lt;project-topic&gt;" AnswerCount="1" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="11265" PostTypeId="2" ParentId="11261" CreationDate="2012-05-02T14:06:02.993" Score="12" Body="&lt;p&gt;I assume that you are interested in succinct external memory data structures that are efficient in practice. In that case, you can probably get what you want with a few basic techniques and some engineering.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For trees, I would start with reading Arroyuelo et al.: &lt;a href=&quot;http://epubs.siam.org/doi/abs/10.1137/1.9781611972900.9&quot; rel=&quot;nofollow&quot;&gt;Succinct Trees in Practice&lt;/a&gt;. The paper deals with trees in main memory, but most of the techniques can be used in external memory with similar choices as below.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As for your second question, the most important choice is deciding which encoding you use for the items. Given the distribution you describe, I would first try using &lt;a href=&quot;https://en.wikipedia.org/wiki/Elias_gamma_coding&quot; rel=&quot;nofollow&quot;&gt;$\gamma$-codes&lt;/a&gt; or &lt;a href=&quot;https://en.wikipedia.org/wiki/Elias_delta_coding&quot; rel=&quot;nofollow&quot;&gt;$\delta$-codes&lt;/a&gt;. When you have chosen the encoding, the next step is to encode the array in blocks of size $B$, where the block size is chosen so that random disk reads of size $B$ are efficient in practice.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To find the correct block quickly, you need a rank dictionary that resides in main memory. Assuming that you have $n$ items, you build a binary sequence $S$ of length $n$, where $S[i] = 1$ iff item $i$ starts a new block. Gap encoding compresses the sequence well; Gupta et al.: &lt;a href=&quot;http://dx.doi.org/10.1016/j.tcs.2007.07.042&quot; rel=&quot;nofollow&quot;&gt;Compressed data structures: dictionaries and data-aware measures&lt;/a&gt; gives one example of such index. If you want to find item $j$, then you need to retrieve block $rank(j)$ and decode it to get the item.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you want to keep the rank index small, you have to make the block size quite large (probably kilobytes or tens of kilobytes), making the above basic solution CPU-intensive. This can be solved by adding a little overhead to the blocks stored on disk. Basically you apply the same solution recursively, so that each disk block stores a number of small blocks as well as another rank index. When you have retrieved the correct disc block, you use the rank index within it to find the right small block to decode, instead of decoding the entire block. With this secondary index, random accesses probably become I/O-bound even with the fastest solid-state drives available.&lt;/p&gt;&#xA;" OwnerUserId="56" LastEditorUserId="-1" LastEditDate="2015-06-03T17:37:03.683" LastActivityDate="2015-06-03T17:37:03.683" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11266" PostTypeId="1" CreationDate="2012-05-02T14:34:03.003" Score="0" ViewCount="403" Body="&lt;p&gt;I have a set of data which represents slightly imperfect waves of varying amplitudes and periods. I wish to calculate the instantaneous period of the wave around any point within this data set - simply finding the local minima and maxima representing each individual wave and calculating the frequency of these is not precise enough for my needs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a known algorithm that can achieve this? Even better, an existing implementation of this algorithm? I am currently programming in R, but am willing to switch if needed.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;n.b. if this is the wrong StackExchange site for this question, please direct me to a better one.&lt;/p&gt;&#xA;" OwnerUserId="9280" LastActivityDate="2012-06-06T03:31:36.773" Title="Calculating the instantaneous period of a wave" Tags="&lt;ds.algorithms&gt;" AnswerCount="2" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="11269" PostTypeId="1" CreationDate="2012-05-02T19:15:42.140" Score="16" ViewCount="608" Body="&lt;p&gt;While reading Dick Lipton's blog, I stumbled across the following fact near the end of his &lt;a href=&quot;http://rjlipton.wordpress.com/2012/02/26/the-bourne-factor/&quot; rel=&quot;nofollow&quot;&gt;Bourne Factor&lt;/a&gt; post:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;If, for every $n$, there exists a relation of the form&#xA;  $$ (2^n)! = \sum_{k=0}^{m-1} a_k b_k^{c_k} $$&#xA;  where $m = poly(n)$, and each of the $a_k$, $b_k$ and $c_k$ are $poly(n)$ in bit length, then factoring has polynomial sized circuits.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;In other words, the $(2^n)!$, which has an exponential number of &lt;em&gt;bits&lt;/em&gt;, can potentially be represented efficiently.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have a few questions:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Could someone provide a proof of the above relation, tell me the name and/or provide any references?&lt;/li&gt;&#xA;&lt;li&gt;If I were to give you $n$, $m$ and each of the $a_k$, $b_k$ and $c_k$, could you provide me a polynomial time algorithm to check the validity of the relation (i.e. is it in $NP$)?&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="834" LastEditorUserId="834" LastEditDate="2012-05-03T21:01:03.417" LastActivityDate="2012-05-03T21:01:03.417" Title="$(2^n)! = \sum_{k=0}^{m-1} a_k b_k^{c_k} $?" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;factoring&gt;&lt;comp-number-theory&gt;" AnswerCount="1" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="11271" PostTypeId="1" CreationDate="2012-05-02T22:33:18.963" Score="4" ViewCount="111" Body="&lt;p&gt;The &lt;strong&gt;front size&lt;/strong&gt; of a matrix $A$ is the largest number of non-zeros below the diagonal in any column of its Cholesky factor. If $A$ is symmetric then the minimum front size of $A$ is equal to the treewidth of $G(A)$. Here $G(A)$ is an undirected graph with $A$ as its adjacency matrix. Hence, front size of symmetric matrix can be approximated by using the approximation algorithms of treewidth. The best known factor is $O(\sqrt{\log{n}})$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I noticed that an approximation algorithm (to approximate Kelly-Width) in &lt;a href=&quot;http://arxiv.org/abs/1107.4824&quot; rel=&quot;nofollow&quot;&gt;one of my recent papers&lt;/a&gt;, implies $O({\log}^{3/2}{n})$ approximation for front size of &lt;strong&gt;asymmetric&lt;/strong&gt; matrices.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Minimizing front size is a fundamental problem and is very crucial in multi-frontal algorithms. I am wondering if there is an earlier approximation algorithm for front size of &lt;strong&gt;asymmetric&lt;/strong&gt; matrices.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I will be surprised (and simultaneously excited) if the algorithm mentioned in &lt;a href=&quot;http://arxiv.org/abs/1107.4824&quot; rel=&quot;nofollow&quot;&gt;my paper&lt;/a&gt; is &lt;strong&gt;the first&lt;/strong&gt; approximation algorithm with non-trivial approximation factor. &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there an approximation algorithm for the front size of &lt;strong&gt;asymmetric&lt;/strong&gt; matrices, prior to &lt;a href=&quot;http://arxiv.org/abs/1107.4824&quot; rel=&quot;nofollow&quot;&gt;our work&lt;/a&gt; ?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="344" LastEditorUserId="186" LastEditDate="2012-05-06T19:33:52.200" LastActivityDate="2012-05-06T19:33:52.200" Title="Approximating Front Size of Asymmetric Matrices" Tags="&lt;ds.algorithms&gt;&lt;approximation-algorithms&gt;&lt;matrices&gt;&lt;treewidth&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11272" PostTypeId="1" AcceptedAnswerId="27355" CreationDate="2012-05-03T09:46:18.340" Score="12" ViewCount="346" Body="&lt;p&gt;A MPA (multipebble automaton) is a 2DFA (two-way deterministic finite automaton) that can use arbitrary number of pebbles (actually at most $ |w|+2 $ pebbles on a given input $ w $ - the input is written on the tape between two end-markers as $ \# w \# $ ). During the computation, a MPA can detect whether the symbol under the head has a pebble, and then it can put a pebble (remove the pebble) if there is no pebble (a pebble).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$ h_k(\sigma) = \underbrace{\sigma \cdots \sigma}_{k \mbox{ times}} = \sigma^k $ is a homomorphism, where $ \sigma $ is a symbol and $ k&amp;gt;0 $.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For any deterministic context-sensitive language $ \mathtt{L} ~~ \left( \mathtt{L} \in \mathsf{DSPACE(n)} \right), $ it is not hard to show that there exists a $ k&amp;gt;0~ $ such that $  h_k( \mathtt{L} ) $ can be recognized by a MPA. So, loosely speaking, we can say that&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;any &quot;problem&quot; decidable by a linear-space DTM (deterministic Turing machine) can be decidable by a MPA.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Is it also true for any language in $ \mathsf{DSPACE(n)} $? Can MPAs decide all deterministic context-sensitive languages?&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;$ |w| $ is the length of $ w $.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$ w_i $ is the $ i^{th} $ symbol of $ w $, where $ 1 \leq i \leq |w| $. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$ h_k(\mathtt{L}) = \left\lbrace h_k(w_1) h_k(w_2) \cdots h_k(w_{|w|}) \mid w \in \mathtt{L} \right\rbrace $.&lt;/p&gt;&#xA;" OwnerUserId="7358" LastEditorUserId="7358" LastEditDate="2012-05-03T10:17:26.710" LastActivityDate="2014-11-06T09:10:52.933" Title="Can multipebble automata decide all deterministic context-sensitive languages?" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;automata-theory&gt;&lt;space-bounded&gt;" AnswerCount="2" CommentCount="7" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11273" PostTypeId="1" CreationDate="2012-05-03T12:18:34.123" Score="8" ViewCount="229" Body="&lt;p&gt;Why does one need valuations in order to define the semantics of first-order logic? Why not just define it for sentences and also define formula substitutions (in he expected way). That should be enough:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$M \models \forall x. \phi \iff \text{for all }d\in \mathrm{dom}(M),\ M \models \phi[x\mapsto d]$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;instead of&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$M,v \models \forall x. \phi \iff \text{for all }d\in \mathrm{dom}(M),\ M, v[x\mapsto d] \models \phi$$&lt;/p&gt;&#xA;" OwnerUserId="9294" LastEditorUserId="6959" LastEditDate="2012-05-03T17:18:01.793" LastActivityDate="2012-05-05T06:18:03.223" Title="Why valuations when defining FOL?" Tags="&lt;lo.logic&gt;" AnswerCount="4" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="11274" PostTypeId="2" ParentId="11273" CreationDate="2012-05-03T13:20:54.017" Score="3" Body="&lt;p&gt;Simply because it's more natural to say &quot;$x &gt; 2$ is true when $x$ is $\pi$&quot; (that is, on a valuation which sends $x$ to $\pi$) than &quot;$x &gt; 2$ is true when we substitute $\pi$ (the number itself, not the Greek letter) for $x$&quot;. Technically the approaches are equivalent.&lt;/p&gt;&#xA;" OwnerUserId="1336" LastActivityDate="2012-05-03T13:20:54.017" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11275" PostTypeId="1" CreationDate="2012-05-03T13:40:22.457" Score="2" ViewCount="388" Body="&lt;p&gt;I have a decision problem that I have formulated as a feasibility SDP. The answer to the decision problem depends on whether the SDP is feasible or not. It is known that a SDP can be solved to arbitrary precision in time that is polynomial in the input size as well as the precision value. I know that in general I cannot claim that I have a polynomial time algorithm for my decision problem. But if I know that the feasible space of my SDP lies in the convex hull of a finite set of rank-$1$ matrices (having only rational entries), then does the situation improve in my favor or is it still as bad as the general case? Is it wishful thinking that the SDP in this case can be solved exactly?&lt;/p&gt;&#xA;" OwnerUserId="9295" LastEditorUserId="186" LastEditDate="2012-05-06T19:34:39.143" LastActivityDate="2012-05-06T19:34:39.143" Title="SDP Feasibility" Tags="&lt;ds.algorithms&gt;&lt;semidefinite-programming&gt;" AnswerCount="0" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="11276" PostTypeId="2" ParentId="11273" CreationDate="2012-05-03T15:16:08.117" Score="2" Body="&lt;p&gt;I want to strengthen Alexey's answer, and claim that the reason is that &lt;strong&gt;the first definition suffers from technical difficulties&lt;/strong&gt;, and not just that the second (standard) way is more natural.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Alexy's point is that the first approach, i.e.:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$M \models \forall x . \phi \iff$ for all $d \in M$: $M \models \phi[x\mapsto d]$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;mixes syntax and semantics. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, let's take Alexey's example: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;${(0,\infty)} \models x &amp;gt; 2$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then in order to show that, one of the things we have to show is:&#xA;$(0,\infty) \models \pi &amp;gt; 2$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The entity $\pi &amp;gt; 2$ is not a formula, unless our language includes the symbol $\pi$, that is interpreted in the model $M$ as the mathematical constant $\pi \approx 3.141\ldots$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A more extreme case would be to show that $M\models\sqrt[15]{15,000,000} &amp;gt; 2$, and again, the right hand side is a valid formula only if our language contains a binary radical symbol $\sqrt{}$, that is interpreted as the radical, and number constants $15$ and $15,000,000$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To ram the point home, consider what happens when the model we present has a more complicated structure. For example, instead of taking real numbers, take Dedekind cuts (a particular implementation of the real numbers). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then the elements of your model are not just &quot;numbers&quot;. They are pairs of sets of rational numbers $(A,B)$ that form a Dedkind cut.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, look at the object $({q \in \mathbb Q | q &amp;lt; 0 \vee q^2 &amp;lt; 5}, {q \in \mathbb Q | 0 \leq q \wedge q^2 &gt; 5}) &gt; 2$&quot; (which is what we get when we &quot;substitute&quot; the Dedekind cut describing $\sqrt{5}$ in the formula $x &amp;gt; 2$. &#xA;What is this object? It's not a formula --- it has sets, and pairs and who knows what in it. It's potentially infinite. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;So in order for this approach to work well, you need to extend your notion of &quot;formula&quot; to include such mixed entities of semantic and syntactic objects. Then you need to define operations such as substitutions on them. But now substitutions would no longer be syntactic functions: $[ x \mapsto t]: Terms \to Terms$. They would be operations on very very large collections of these generalised, semantically mixed terms. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's possible you will be able to overcome these technicalities, but I guess you will have to work very hard.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The standard approach keeps the distinction between syntax and semantics. What we change is the valuation, a semantic entity, and keep formulae syntactic.&lt;/p&gt;&#xA;" OwnerUserId="142" LastEditorUserId="142" LastEditDate="2012-05-03T15:21:41.337" LastActivityDate="2012-05-03T15:21:41.337" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11277" PostTypeId="2" ParentId="11273" CreationDate="2012-05-03T15:40:07.670" Score="13" Body="&lt;p&gt;It is perfectly possible to define satisfaction using just sentences as you suggest, and in fact, it used to be the standard approach for quite some time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The drawback of this method is that it requires to mix semantic objects into syntax: in order to make an inductive definition of satisfaction of sentences in a model $M$, it is not sufficient to define it for sentences of the original language of $M$. You need to first expand the language with individual constants for all elements of the domain of $M$, and then you can define satisfaction for sentences in the expanded language. This is, I believe, the main reason why this approach went into disuse; if you use valuations, you can maintain a clear conceptual distinction between syntactic formulas of the original language and semantic entities that are used to model them.&lt;/p&gt;&#xA;" OwnerUserId="6959" LastActivityDate="2012-05-03T15:40:07.670" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11278" PostTypeId="2" ParentId="11264" CreationDate="2012-05-03T18:10:31.120" Score="4" Body="&lt;p&gt;I would choose wireless sensor networks. Theoretical computer science is exactly what it sounds like - theoretical rather than practical, and not usually applicable in industry. One may claim that a background in theoretical computer science will help you find a job since it's more prestigious, but I doubt it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Whatever you do, don't try to focus on both fields. By the very nature of focus, it can't be applied to two things at once. Don't forget that there is life after PhD. If you're hoping to build on your speciality, you should spend your time specializing, however tempting it is to have &quot;a bit of anything&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It might be that your supervisor switched from theory to sensor networks - this is just a hypothesis, a wild guess - because it's easier to get grant money this way. What holds true for your professor holds even truer for you.&lt;/p&gt;&#xA;" OwnerUserId="40" LastActivityDate="2012-05-03T18:10:31.120" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="11279" PostTypeId="2" ParentId="11269" CreationDate="2012-05-03T18:22:13.553" Score="8" Body="&lt;p&gt;I’ll comment on why a relation as in the question&#xA;$$ (2^n)! = \sum_{k=0}^{m-1} a_k b_k^{c_k} $$&#xA;(for every $n$) helps factoring. I can’t quite finish the argument, but maybe someone can.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The first observation is that a relation as above (and more generally, the existence of poly-size arithmetic circuits for $(2^n)!$) gives a poly-size circuit for computing $(2^n)!\bmod x$ for $x$ given in binary: simply evaluate the sum modulo $x$, using exponentiation by repeated squaring.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, if we could compute $y!\bmod x$ for arbitrary $y$, we could factor $x$: using binary search, find the smallest $y$ such that $\gcd(x,y!)\ne1$ (which we can compute using $\gcd(x,(y!\bmod x))$). Then $y$ must be the smallest prime divisor of $x$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we only can do powers of $2$ for $y$, we can still try to compute $\gcd(x,(2^n)!)$ for every $n\le\log x$. One of these will be a nontrivial divisor of $x$, except for the unfortunate case when there is an $n$ such that $x$ is coprime to $(2^n)!$, and divides $(2^{n+1})!$. This is equivalent to saying that $x$ is square-free, and all its prime factors have the same bit-length. I don’t know what to do in this (rather important, cf. Blum integers) case.&lt;/p&gt;&#xA;" OwnerUserId="6959" LastActivityDate="2012-05-03T18:22:13.553" CommentCount="1" CommunityOwnedDate="2012-05-03T18:22:13.553" ContentLicense="CC BY-SA 3.0" />
  <row Id="11280" PostTypeId="1" AcceptedAnswerId="11282" CreationDate="2012-05-03T19:09:55.867" Score="2" ViewCount="509" Body="&lt;p&gt;Dear Mods: this may be a non-research question, but I am asking it because from my knowledge, the question appears nontrivial. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This &lt;a href=&quot;http://www.youtube.com/watch?v=il5oEPNASmg&quot; rel=&quot;nofollow&quot;&gt;video&lt;/a&gt; claims that a Rubik's cube can be &quot;solved&quot; from &lt;em&gt;any starting position&lt;/em&gt; with the repeated application of two fixed moves. The method is easily seen as wrong because the specific moves he suggests actually leave the bottom right $2\times 2 \times 3$ block unaffected. My question is more general: does there exist a finite set of moves which if applied repeatedly from any starting position, yield a solved Rubik's cube?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Moves can be thought of as permutations on the set configurations of a Rubik's cube. A solved Rubik's cube is a specific configuration of interest. If these moves get you from any configuration to a solved configuration, then (by symmetry) these moves must get you from any configuration to any other configuration. This means these moves constitute a permutation of maximum period. Does such a permutation even exist? What is known about the existence of such a permutation?&lt;/p&gt;&#xA;" OwnerUserId="8965" LastActivityDate="2012-05-04T07:27:05.417" Title="Permutations of maximum period: applications to Rubik's cube" Tags="&lt;co.combinatorics&gt;&lt;board-games&gt;" AnswerCount="2" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11282" PostTypeId="2" ParentId="11280" CreationDate="2012-05-03T21:31:43.470" Score="4" Body="&lt;p&gt;Copy/paste from another (slightly different) &lt;a href=&quot;https://cstheory.stackexchange.com/questions/6682/synchronizing-sequences-for-rubiks-cube&quot;&gt;cstheory question&lt;/a&gt; on Rubik's cube:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&quot;What is the shortest sequence that scans all cube's configurations&quot;, or &quot;&lt;strong&gt;does the configuration graph of the cube have a Hamiltonian path?&lt;/strong&gt;&quot; is a special case of a more general unsolved problem: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;For an arbitrary permutation group with a given generating set, is its Cayley graph Hamiltonian?&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are some good info available online, you can download the lecture notes by W.D.Joyner: &lt;em&gt;&lt;a href=&quot;http://www.permutationpuzzles.org/rubik/webnotes/rubik.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Mathematics of the Rubik's cube&lt;/a&gt;&lt;/em&gt; (downloadable in pdf format).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Chapter 6 of the lecture notes is devoted to &lt;em&gt;Cayley graphs&lt;/em&gt; and &lt;em&gt;God's algorithm&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT&lt;/strong&gt;: If I correctly interpret the question &lt;em&gt;&quot;Does such a permutation even exist?&quot;&lt;/em&gt;, the answer is &lt;em&gt;yes&lt;/em&gt; (the Cayley graph of a finite group is connected); a trivial argument:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;let $k$ be the total number of wrong configurations;&lt;/li&gt;&#xA;&lt;li&gt;for every wrong configuration $W_i, 1 \leq i \leq k$ write down the solving sequence of moves $S_i$;&lt;/li&gt;&#xA;&lt;li&gt;let $S_i^{-1}$ be the inverse sequence of $S_i$;&lt;/li&gt;&#xA;&lt;li&gt;obviously the (long) sequence $S_1 \cdot S_1^{-1} \cdot S_2 \cdot S_2^{-1} ... \cdot S_{k-1}^{-1} \cdot S_{k-1}^{-1} \cdot S_k$ will lead you to the solved configuration from any wrong starting configuration, but you must &lt;em&gt;&quot;look at the cube&quot;&lt;/em&gt; to see when to stop (there is no &quot;synchronizing sequence&quot;).&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2012-05-04T07:27:05.417" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="11284" PostTypeId="1" CreationDate="2012-05-03T22:36:13.390" Score="1" ViewCount="998" Body="&lt;p&gt;I noticed that dual decomposition methods tend to be preferred over primal ones in the large scale optimization literature (here are some examples: &lt;a href=&quot;http://www.csd.uoc.gr/~komod/publications/docs/DualDecomposition_PAMI.pdf&quot; rel=&quot;nofollow&quot;&gt;(1)&lt;/a&gt;, &lt;a href=&quot;http://people.csail.mit.edu/tommi/papers/SonGloJaa_optbook.pdf&quot; rel=&quot;nofollow&quot;&gt;(2)&lt;/a&gt;). The reason seems to be, from what I understand, that dual decomposition methods often lead to more efficient algorithms.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;After reading about decomposition methods on various sources (e.g. see &lt;a href=&quot;http://see.stanford.edu/materials/lsocoee364b/08-decomposition_notes.pdf&quot; rel=&quot;nofollow&quot;&gt;these&lt;/a&gt; notes by &lt;a href=&quot;http://www.stanford.edu/~boyd/&quot; rel=&quot;nofollow&quot;&gt;Stephen Boyd&lt;/a&gt;), I don't get the intuition of why this would be the case.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Perhaps an important difference is that, as S. Boyd notes in his &lt;a href=&quot;http://www.ee.kth.se/~mikaelj/dopt/slides/decomposition_slides.pdf&quot; rel=&quot;nofollow&quot;&gt;slides&lt;/a&gt;, in primal decomposition methods:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;the master problem manipulates the primal (complicating) variables&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;while in the dual decomposition methods, this would not be the case. However, when S. Boyd describes the procedures for primal vs dual methods, the decomposition looks essentially the same:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;repeat&#xA;   solve the subproblems (presumably on the slaves)&#xA;   update complicating variable (presumably on the master)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;So my questions are:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Is it true that dual decomposition methods tend to be more efficient in practice than primal methods?  If so, why?&lt;/li&gt;&#xA;&lt;li&gt;Why does S. Boyd say that in primal decomposition methods, &quot;the master problem manipulates the complicating variables&quot; ? How is this different from the way these variables are handled in a dual decomposition?&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;h3&gt;Update: Additional background:&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;Statistical machine learning problems, such as &lt;a href=&quot;http://en.wikipedia.org/wiki/Markov_random_field&quot; rel=&quot;nofollow&quot;&gt;MAP-MRF&lt;/a&gt; estimation, arise often in bioinformatics, computer vision and NLP, and are usually formulated as quadratic pseudoboolean problems (i.e. mathematical programming problems with binary and quadratic cost functions) (e.g. &lt;a href=&quot;http://www.google.com/url?sa=t&amp;amp;rct=j&amp;amp;q=&amp;amp;esrc=s&amp;amp;source=web&amp;amp;cd=1&amp;amp;ved=0CMMEEBYwAA&amp;amp;url=http://www.robots.ox.ac.uk/~vilem/QPBOPI.pdf&amp;amp;ei=m-OjT4CAOazG6AGBvvSlCQ&amp;amp;usg=AFQjCNEjfI1q1HWd-W_g0iba4dvhw255-Q&amp;amp;sig2=zwLC6j_h8VkpXhxHjoeXyA&quot; rel=&quot;nofollow&quot;&gt;(3)&lt;/a&gt;).  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;There seems to be a growing trend in the literature to solve these problems via dual decomposition (as pointed out by the two articles I linked to above: &lt;a href=&quot;http://www.csd.uoc.gr/~komod/publications/docs/DualDecomposition_PAMI.pdf&quot; rel=&quot;nofollow&quot;&gt;(1)&lt;/a&gt;, &lt;a href=&quot;http://people.csail.mit.edu/tommi/papers/SonGloJaa_optbook.pdf&quot; rel=&quot;nofollow&quot;&gt;(2)&lt;/a&gt;). Moreover, some of these authors have pointed out that there are connections between an important class of inference algorithms, such as &lt;a href=&quot;http://en.wikipedia.org/wiki/Belief_propagation&quot; rel=&quot;nofollow&quot;&gt;belief propagation&lt;/a&gt; and other general &lt;a href=&quot;http://en.wikipedia.org/wiki/Variational_message_passing&quot; rel=&quot;nofollow&quot;&gt;message passing methods&lt;/a&gt;, to dual decomposition &lt;a href=&quot;http://cs.nyu.edu/~dsontag/papers/sontag_phd_thesis.pdf&quot; rel=&quot;nofollow&quot;&gt;(4)&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="3137" LastEditorUserId="3137" LastEditDate="2013-02-09T00:51:59.503" LastActivityDate="2013-02-09T00:51:59.503" Title="Primal vs dual decomposition methods" Tags="&lt;ds.algorithms&gt;&lt;optimization&gt;&lt;primal-dual&gt;&lt;convex-optimization&gt;&lt;intuition&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="11285" PostTypeId="2" ParentId="11284" CreationDate="2012-05-03T23:27:03.913" Score="2" Body="&lt;p&gt;I don't think one can make a blanket statement on whether primal decomposition methods or dual decomposition methods are more efficient. The efficiency is dictated by the structure of the problem; primal decomposition and dual decomposition are ways of exploiting this structure to develop efficient algorithms.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The key aspect in making a choice between these methods is the kind of parametrization the master brings about on the slaves. Fo e.g., sometimes it is convenient (in terms of theory or practice) to have the parametrization in the objective function of the slave problems instead of having it in the constraints. If the parametrization happens to appear in the constraints (and it has suitable structure), one can try to dualize the slave problem to get in the objective.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the slides you have linked, the effort seems to be in exploiting the structure for parallelization of the solution of subproblems. For parallelization one would require subproblems that are independent of each other. If there is a natural separability in the constraints, dual variables can be used to parametrize the problem and thereby create such subproblems.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit:&lt;/strong&gt; I repeat once again that structure is important in determining the choice of the method. I am still not completely clear on the structure afforded by the problems you have in mind. Based on the information given, this is my best attempt at answering your question. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;From the examples you have added, the problems appear to be what can be called &quot;nearly separable&quot;. In essence, these problems appear to be variants of the problem $\min \{\sum_{i=1}^n f_i(x_i) : (x_1,...,x_n) \in K\}$, where $K$ is a constraint that has a separable structure. For example, the constraint $(x_1,...,x_n) \in K$ may be $\sum_ix_i =b$, where $b$ is a vector of appropriate size. By separable structure I mean that the optimal values of variables $x_1,...,x_n$ can be chosen independently of each other. If one looks at the problem as a whole, the objective functions are decoupled in individual variables, but because of the coupling in $K$ these variables cannot be independently optimized. However because this coupling in $K$ is mild, one can still salvage separability. Dual decomposition lets you separate the variables when they are coupled in the constraints. If the variables were coupled in the objective, one may have to employ primal decomposition (as in Boyd's slides). One may of course try to reformulate problems to bring them in some or the other form that one is comfortable using.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To demonstrate separation by dual decomposition, define the Lagrangian $L(x,\lambda) =\sum_i f_i(x_i) + \lambda^T(\sum_i x_i)$. If $(x,\lambda)$ is a saddle point of $L$, then $x$ solves the original problem. A dual decomposition method would for each value of $\lambda$, minimize $L(x,\lambda)$ over $x$, altering $\lambda$ until a saddle point is found. The minimization in $x$ is easier, in particular separable and parallelizable.&lt;/p&gt;&#xA;" OwnerUserId="8965" LastEditorUserId="8965" LastEditDate="2012-05-05T21:03:05.983" LastActivityDate="2012-05-05T21:03:05.983" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="11287" PostTypeId="2" ParentId="11280" CreationDate="2012-05-04T04:12:07.533" Score="2" Body="&lt;p&gt;You asked whether there exists a finite set of moves which if applied repeatedly from any starting position, yield a solved Rubik's cube. Then you asked a harder question. The former question has a simple solution. Enumerate the group of permutations of the Rubik cube: $G = \{g_1,\ldots,g_{|G|}\}$. Every $g_i$ can be realized as some sequence of moves which we will identify with $g_i$. The following sequence answers your question:&#xA;$$&#xD;&#xA;g_1, g_1^{-1}, g_2, g_2^{-1}, \ldots, g_{|G|}.&#xD;&#xA;$$&lt;/p&gt;&#xA;" OwnerUserId="40" LastActivityDate="2012-05-04T04:12:07.533" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11289" PostTypeId="1" AcceptedAnswerId="11290" CreationDate="2012-05-04T11:02:19.070" Score="10" ViewCount="290" Body="&lt;p&gt;A few years back, I ran across the following left-rule for equality in sequent calculus:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xD;&#xA;\frac{s \doteq t \leadsto \theta \qquad&#xD;&#xA;       \theta(\Gamma) \vdash \theta(C)}&#xD;&#xA;     {\Gamma, s \doteq t \vdash C}&#xD;&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here, $s \doteq t \leadsto \theta$ computes the most general unifier $\theta$ for $s$ and $t$, and then applies the substition to the conclusion $C$ and all the hypotheses in the context $\Gamma$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The interesting thing about this unification is that it equates finds a substitution for universal (i.e., skolem) variables. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, I cannot remember where I read this, and was wondering if anyone could help me find a reference to it. &lt;/p&gt;&#xA;" OwnerUserId="657" LastActivityDate="2012-05-04T12:39:12.787" Title="Unification-based elimination rule for equality" Tags="&lt;reference-request&gt;&lt;lo.logic&gt;&lt;pl.programming-languages&gt;&lt;proof-theory&gt;&lt;sequent-calculus&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11290" PostTypeId="2" ParentId="11289" CreationDate="2012-05-04T12:16:13.097" Score="9" Body="&lt;p&gt;I've often attributed this to &lt;a href=&quot;http://dx.doi.org/10.1109/LICS.1993.287585&quot;&gt;Rules of definitional reflection&lt;/a&gt; by Schroeder-Heister, though the idea goes back beyond that to Girard and others; the rule you're looking for is an instance of the first display in Section 4. You also, however, need a rule that says that if the unification instance is unsatisfiable, then the assumption of equality has the force of a contradiction.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A more general account has been used recently in a lot of work by Dale Miller, David Baelde, and company (see, for instance, &lt;a href=&quot;http://www.lix.polytechnique.fr/Labo/Dale.Miller/papers/lpar07final.pdf&quot;&gt;Least and greatest fixed points in linear logic&lt;/a&gt;). The more general formulation - which also doesn't originate with Miller et al - is that the rule is&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$${\{\theta \in {\sf csu}(t,s) \mid \theta\Gamma \vdash \theta{C} \}}\over{\Gamma, t \doteq s \vdash C}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where ${\sf csu}(t,s)$ is the &lt;i&gt;complete set of unifiers&lt;/i&gt; - the set of all unifying substitutions of $t$ and $s$. You might also prefer the equivalent way of writing this rule that I prefer (see &lt;a href=&quot;http://reports-archive.adm.cs.cmu.edu/anon/2010/abstracts/10-147.html&quot;&gt;here&lt;/a&gt; for example). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$${\forall \theta. \theta{t} = \theta{s} \longrightarrow \theta\Gamma \vdash \theta{C}}\over{\Gamma, t \doteq s \vdash C}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In any case, in a term language with decidable unification where the existence of a unifier implies the existence of a most general unifier, having either of these rules above can be shown to be equivalent to having these two rules:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xD;&#xA;{{{\sf no~mgu}(t,s)}\over{\Gamma, t \doteq s \vdash C}}&#xD;&#xA;\qquad&#xD;&#xA;{{{\sf mgu}(t,s) = \theta \quad \theta\Gamma \vdash \theta{C}}\over{\Gamma, t \doteq s \vdash C}}&#xD;&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(P.S. Frank discussed this in his &lt;a href=&quot;http://www.cs.cmu.edu/~fp/courses/lp/lectures/lp-all.pdf&quot;&gt;logic programming course&lt;/a&gt; in lectures 6, 7, and 8, which may be where you remember it from.)&lt;/p&gt;&#xA;" OwnerUserId="1024" LastEditorUserId="1024" LastEditDate="2012-05-04T12:39:12.787" LastActivityDate="2012-05-04T12:39:12.787" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="11291" PostTypeId="2" ParentId="11131" CreationDate="2012-05-04T14:10:48.783" Score="3" Body="&lt;p&gt;I think your question falls in the context of &quot;graph operators&quot;. A graph operator $S$ is just a map from the class of graphs to the class of graphs, and you then have a sequence $G$, $S(G)$, $S^2(G)$, etc. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I do not think that there could possibly be a general way to determine $S^n(G)$ as a function of $n$ and $G$ that could work for all $S$, even for a fixed $S$. For example, if $S(G)$ is the intersection graph of the maximal cliques of $G$ (considered in Harary's book and denoted by $K$), then what you ask is known for only a handful of families, including the complements of $nK_2$, the locally $C_6$ graphs and the so called &quot;clockwork graphs&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Many other graph operators are studied in the book &quot;Graph Dynamics&quot; by Erich Prisner.&lt;/p&gt;&#xA;" OwnerUserId="9311" LastActivityDate="2012-05-04T14:10:48.783" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11293" PostTypeId="2" ParentId="11266" CreationDate="2012-05-04T15:04:44.603" Score="-2" Body="&lt;p&gt;There is &lt;em&gt;no such thing&lt;/em&gt; as the instantaneous period of a wave.  The Heisenberg uncertainty principle guarantees this.  Oh you can find a set of estimated frequencies for a given window over the signal, but that is frequencies for the whole window, not for &lt;em&gt;that instant&lt;/em&gt;.   You need to figure out what size of time-frequency window satisfies your needs and then calculate something the Fourier transform for that window over the entire signal (and maybe search the resulting frequencies for the peak).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Two things to remember, the larger the window, the higher the frequency resolution (how many frequencies you can see), but the smaller the time resolution (when something happened--and this is a bit hard to explain as it's been a few years since I've had to learn and deal with it extensively so I may not be saying it right). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another factor is that amplitude (multiplication in the time domain) is convolution in the frequency domain.  To remove some artifacts of that you may have to do some filtering (that is, convolution in the &lt;em&gt;time&lt;/em&gt; domain or multiplication in the frequency domain.)  It might even make sense to filter with one widow size then do analysis with another window size.  There's a lot of finicky business when it comes down to signal sampling.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Ok, this &quot;Heisenberg uncertainty principle&quot; with regard to signal sampling is not some random thing I pulled out of my ear one day.  It is, AFAIK, a well established concept within Wavelet literature.  (Wavelets involve a whole family of mathematical non-Fourier techniques to analyze a signal)  &quot;The World According to Wavelets: The Story of a Mathematical Technique in the Making&quot; by Barbra Burke Hubbard (ISBN 1-56881-072-5) devotes at least one (if not two) chapters to the subject and has a proof in the Appendices.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;According to her, (I'm going to have to paraphrase as my attempts to translate to Mathjax/TeX/LaTeX are failing, please also forgive as it's been years since I've looked at this anyway)  For every $f(t)$ ($t$ a real number) such that the integral (from negative infinity to positive infinity) of $|f(t)|^2$ with respect to $t$  equals $1$, the product of the variance of $t$ and the variance of $\tau$ (the variable of $\hat f$) is at least $1/(16*\pi^2)$, and then gives a large, explicit inequality to state what exactly she means with further non mathematical explanation throughout the chapter.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I will make no attempt to explain further, partially for fear I'd likely mess up. But if you want, you can read that and/or its references and see that, yes, the Heisenberg uncertainty principle &lt;strong&gt;does indeed&lt;/strong&gt; apply here.&lt;/p&gt;&#xA;" OwnerUserId="9314" LastEditorUserId="9314" LastEditDate="2012-06-05T22:51:10.047" LastActivityDate="2012-06-05T22:51:10.047" CommentCount="16" ContentLicense="CC BY-SA 3.0" />
  <row Id="11295" PostTypeId="1" CreationDate="2012-05-04T17:16:33.280" Score="5" ViewCount="654" Body="&lt;p&gt;Admittedly, this is less of a research-y question (and admittedly, a little non-algorithmic trivial question), but I am hoping to get some meaningful answer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given an undirected graph $G = (V, E)$, with $n = |V|$ vertices and $m = |E|$ edges, what is a good upper bound on $\sum_{v \in V} \deg^2(v)$ in terms of $m$ and $n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Two obvious upper bounds are $O(n^3)$ and $O(m^2)$, which are quite weak for extremely sparse and extremely dense graphs respectively. Is there any reference to find a non-trivial (asymptotic) bound? For example, can we bound it as $O(m^\alpha n^\beta)$ for some $\alpha &amp;lt; 2$ and $\beta &amp;lt; 3$? &lt;/p&gt;&#xA;" OwnerUserId="7187" LastEditorUserId="186" LastEditDate="2012-05-06T19:33:26.337" LastActivityDate="2012-05-06T19:33:26.337" Title="Bounds on sum of squares of node degrees in undirected graphs" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11296" PostTypeId="2" ParentId="11295" CreationDate="2012-05-04T17:50:40.053" Score="9" Body="&lt;p&gt;It's $\Theta(m^2)$ for multigraphs (consider a graph with $m$ edges between the same pair of nodes and all other nodes isolated) and $\Theta(mn)$ for simple graphs (the sum of squared degrees equals the number of directed two-edge walks; each edge can be continued to form a two-edge walk in $O(n)$ ways; consider $K_{m/n,n}$).&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2012-05-04T17:50:40.053" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11297" PostTypeId="2" ParentId="11070" CreationDate="2012-05-04T20:43:18.747" Score="6" Body="&lt;p&gt;I wrote a paper long ago that detailed an linear-time algorithm for finding the smallest&#xA;area triangle enclosing a point set (or a polygon):&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;J. O'Rourke, Alok Aggarwal, Sanjeev Maddila, Michael Baldwin,&#xA;  &quot;An optimal algorithm for finding minimal enclosing triangles,&quot;&#xA;  &lt;em&gt;J. Algorithms&lt;/em&gt;, 1986, &lt;strong&gt;7&lt;/strong&gt;:258--269. &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/0196677486900076&quot;&gt;Link&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Our work was followed by a general algorithm:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&quot;Minimum area circumscribing polygons,&quot;&#xA;  Alok Aggarwal, J. S. Chang and Chee K. Yap,&#xA;  &lt;em&gt;The Visual Computer&lt;/em&gt;,&#xA;  Volume 1, Number 2 (1985), 112-117. &lt;a href=&quot;http://www.springerlink.com/content/n82r1k7261145298/&quot;&gt;Link&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;You can use Google Scholar to track those later papers that cite these to find improvements and related work.&lt;/p&gt;&#xA;" OwnerUserId="337" LastActivityDate="2012-05-04T20:43:18.747" CommentCount="0" CommunityOwnedDate="2012-05-04T20:43:18.747" ContentLicense="CC BY-SA 3.0" />
  <row Id="11298" PostTypeId="1" CreationDate="2012-01-20T16:30:38.353" Score="11" ViewCount="116" Body="&lt;p&gt;Given a finite set of quantum gates $\mathcal{G} = \{G_1, \dots, G_n\}$, is it decidable (in computation theoretic sense) whether $\mathcal{G}$ is a universal gate set? On one hand, &quot;almost all&quot; gate sets are universal, on the other, non-universal gate sets are still not well understood (in particular, of course, it is not known whether every non-universal gate set is classically simulatable), so I imagine giving an explicit algorithm for checking universality could be nontrivial. &lt;/p&gt;&#xA;" OwnerUserId="2083" OwnerDisplayName="Marcin Kotowski" LastActivityDate="2012-01-20T16:59:46.147" Title="Decidability/algorithm for checking universality of a quantum gate set" Tags="&lt;quantum-computing&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="11299" PostTypeId="2" ParentId="11298" CreationDate="2012-01-20T16:59:46.147" Score="6" Body="&lt;p&gt;For the case of Hamiltonians, rather than gates the answer is trivially yes: you simply enumerate the independent elements of the Lie algebra. Since the Lie algebra is a vector space with the addition of the Lie bracket operator. Since the space is finite, it has a finite basis, and which can easily be checked as to whether it is closed or open under the Lie bracket operation. Simply checking the Lie bracket of all pairs of orthogonal operators can be done in time polynomial in the dimensionality of the space, and a suitable operator basis can be found by the Gram-Schmidt method.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For gates, you don't really have the same option to resort to infinitesimals straight off, and need to construct gates with irrational eigenvalues so that you can arbitrarily well approximate the required infinitesimal generators. I guess that there is a relatively simple way to do this, but it is not immediately obvious to me. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In any case, taking the log of the gates to obtain a set of operators which generate them when exponentiated and checking whether these generated the full Lie algebra would provide a simple necessary but not sufficient criteria for universality.&lt;/p&gt;&#xA;" OwnerUserId="204" OwnerDisplayName="Joe Fitzsimons" LastActivityDate="2012-01-20T16:59:46.147" CommentCount="12" ContentLicense="CC BY-SA 3.0" />
  <row Id="11300" PostTypeId="1" CreationDate="2012-01-31T01:51:04.710" Score="10" ViewCount="87" Body="&lt;p&gt;Let $\mathcal{B} = \{B_1, \dots, B_k\}$ be a set of Mutually Unbiased Bases (MUB) in $\mathbb{C}^n$, i.e. each $B_i$ is an orthonormal basis and for $v \in B_i, w \in B_j, i \neq j $ we have $|\langle v\vert w\rangle| = \frac{1}{\sqrt{n}}$. We are interested in discriminating between arbitrary vectors from $\mathcal{B}$. Is the optimal (worst case or average with uniform prior) POVM measurement identified explicitly anywhere in the literature (e.g. using Holevo criterion), at least for some specific constructions of MUBs?&lt;/p&gt;&#xA;" OwnerUserId="2083" OwnerDisplayName="Marcin Kotowski" LastEditorUserId="7286" LastEditDate="2012-05-07T14:31:08.637" LastActivityDate="2012-05-07T14:31:08.637" Title="Optimal measurement for MUBs" Tags="&lt;reference-request&gt;&lt;quantum-information&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="11301" PostTypeId="2" ParentId="11300" CreationDate="2012-02-05T14:47:37.877" Score="4" Body="&lt;p&gt;It seems that this problem in full-generality is though. These two references might be helpful to you.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://arxiv.org/abs/quant-ph/0608014&quot; rel=&quot;nofollow&quot;&gt;Here [1]&lt;/a&gt; the pure-state discrimination of &lt;strong&gt;MUBs&lt;/strong&gt; is studied in a cryptographic set-up. The &lt;strong&gt;optimality&lt;/strong&gt; of different  measurement schemes is rigorously discussed. It also includes a good bunch of useful references about distinguishability of pure quantum states.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;For particular choices of pure-state ensembles the &lt;strong&gt;Pretty Good Measurement&lt;/strong&gt;  is proven to be optimal in this task. &lt;a href=&quot;http://authors.library.caltech.edu/3842/1/MOCpra06.pdf&quot; rel=&quot;nofollow&quot;&gt;This [2]&lt;/a&gt; is a nice exposition on this topic, although not focused on MUBs.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;If you are interested in more restricted scenarios that the ones considered above, regard that there are some factors that influence the complexity of this problem. The following two are considered in several references:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The choice of quantum states to distinguish (in this case the choice of MUBs). This issue is &lt;a href=&quot;http://arxiv.org/abs/quant-ph/0504083&quot; rel=&quot;nofollow&quot;&gt;important [3]&lt;/a&gt; to find efficient implementations of optimal POVMs.&lt;/li&gt;&#xA;&lt;li&gt;The particular probabilities $p_{i,j}$ of receiving the $i$th state of the $j$th basis $B_k$ as an input &lt;a href=&quot;http://arxiv.org/abs/quant-ph/0608014&quot; rel=&quot;nofollow&quot;&gt;[1]&lt;/a&gt;&lt;a href=&quot;http://authors.library.caltech.edu/3842/1/MOCpra06.pdf&quot; rel=&quot;nofollow&quot;&gt;[2]&lt;/a&gt; (in your notation).&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Also, in cryptographic applications the next two seem to be relevant &lt;a href=&quot;http://arxiv.org/abs/quant-ph/0608014&quot; rel=&quot;nofollow&quot;&gt;[1]&lt;/a&gt;:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;If you are using this states to encode some information the particular &lt;em&gt;functions&lt;/em&gt; used to encode and decode this information.&lt;/li&gt;&#xA;&lt;li&gt;Other: ability to store qubits between measurements, some given knowledge about the bases used.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Hope it helps.&lt;/p&gt;&#xA;" OwnerUserId="7286" OwnerDisplayName="Juan Bermejo Vega" LastActivityDate="2012-02-05T17:50:58.910" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11302" PostTypeId="1" CreationDate="2012-01-20T01:19:51.510" Score="15" ViewCount="609" Body="&lt;p&gt;Is there any software package allowing decomposition of unitaries from $U(2^n)$ into quantum circuits over a predefined universal gate set? &lt;/p&gt;&#xA;" OwnerUserId="2083" OwnerDisplayName="Marcin Kotowski" LastActivityDate="2012-02-16T18:53:46.810" Title="Software package for decomposing quantum circuits" Tags="&lt;quantum-computing&gt;&lt;software&gt;" AnswerCount="5" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11303" PostTypeId="2" ParentId="11302" CreationDate="2012-01-20T01:57:23.590" Score="9" Body="&lt;p&gt;&lt;a href=&quot;http://arxiv.org/abs/1201.3538&quot;&gt;This package&lt;/a&gt; (CUGates.m) was announced on the arXiv a couple of days ago which could be useful for you. It uses Mathematica. I haven't tried it out though, and it may or may not do what you need. From the abstract:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;This paper presents a highly efficient decomposition scheme and its&#xA;  associated Mathematica notebook for the analysis of complicated&#xA;  quantum circuits comprised of single/multiple qubit and qudit quantum&#xA;  gates. In particular, this scheme reduces the evaluation of multiple&#xA;  unitary gate operations with many conditionals to just two matrix&#xA;  additions, regardless of the number of conditionals or gate&#xA;  dimensions. This improves significantly the capability of a quantum&#xA;  circuit analyser implemented in a classical computer. This is also the&#xA;  first efficient quantum circuit analyser to include qudit quantum&#xA;  logic gates.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="7407" OwnerDisplayName="Mark S. Everitt" LastActivityDate="2012-01-20T01:57:23.590" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="11304" PostTypeId="2" ParentId="11302" CreationDate="2012-01-20T06:47:50.067" Score="8" Body="&lt;p&gt;There was a paper up about 6 years ago on implementing and optimising the Barenco decomposition:&#xA;&lt;a href=&quot;http://arxiv.org/abs/quant-ph/0607123&quot;&gt;http://arxiv.org/abs/quant-ph/0607123&lt;/a&gt;&#xA;I don't know if they've released their software, or if you need to ask them nicely for it.&lt;/p&gt;&#xA;" OwnerDisplayName="Clare" LastActivityDate="2012-01-20T06:47:50.067" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11305" PostTypeId="2" ParentId="11302" CreationDate="2012-01-20T18:13:13.690" Score="2" Body="&lt;p&gt;In addition to the previous answers, there is a &lt;a href=&quot;http://www.ece.cmu.edu/~smart/arep/arep.html&quot; rel=&quot;nofollow&quot;&gt;package&lt;/a&gt; that computes Fourier transforms for solvable non-commutative groups based on &lt;a href=&quot;http://arxiv.org/abs/quant-ph/9807064&quot; rel=&quot;nofollow&quot;&gt;this algorithm&lt;/a&gt;. The software has a tool to decompose Fourier transforms into simpler matrices. Such decomposition is essentially an efficient quantum circuit to implement a non-abelian quantum Fourier transform.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Although it is not a general-purpose package it is a nice tool if you work with this class of (rather complicated) unitaries. In this context there are no alternatives that I know.&lt;/p&gt;&#xA;" OwnerUserId="7286" OwnerDisplayName="Juan Bermejo Vega" LastActivityDate="2012-02-03T10:29:42.783" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11306" PostTypeId="2" ParentId="11302" CreationDate="2012-01-24T12:47:17.353" Score="4" Body="&lt;p&gt;There is a program “Qubiter” by R.R.Tucci that uses CS decomposition, described in &lt;a href=&quot;http://arxiv.org/abs/quant-ph/9902062&quot; rel=&quot;nofollow&quot;&gt;http://arxiv.org/abs/quant-ph/9902062&lt;/a&gt; and distributed free via source code (C++). I just have seen  – a link in e-print still valid, the last version is 1-11, but I never used the program myself and so may not comment that.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[EDIT] There are (at least) two packages for decomposition in list &lt;a href=&quot;http://www.quantiki.org/wiki/List_of_QC_simulators&quot; rel=&quot;nofollow&quot;&gt;http://www.quantiki.org/wiki/List_of_QC_simulators&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="4915" OwnerDisplayName="Alex 'qubeat'" LastActivityDate="2012-02-16T18:53:46.810" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11307" PostTypeId="2" ParentId="11302" CreationDate="2012-01-25T10:19:00.897" Score="7" Body="&lt;p&gt;This website - &lt;a href=&quot;http://quantum-compiler.org/&quot;&gt;Quantum Compiler.org&lt;/a&gt; - has &lt;a href=&quot;https://github.com/ppham/skc-python&quot;&gt;sourcecode&lt;/a&gt; for a python library that does this, in two models, &lt;a href=&quot;http://arxiv.org/abs/quant-ph/0505030&quot;&gt;Solovay-Kitaev&lt;/a&gt; and Kitaev-Shen-Vyalyi.&lt;/p&gt;&#xA;" OwnerUserId="2843" OwnerDisplayName="Noon Silk" LastActivityDate="2012-01-25T10:26:08.653" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11308" PostTypeId="1" AcceptedAnswerId="11311" CreationDate="2012-01-12T11:33:57.217" Score="23" ViewCount="742" Body="&lt;p&gt;In quantum computing we are often interested in cases where group of special unitary operators, G, for some d-dimensional system gives either the whole group SU(d) exactly or even just an approximation provided by a dense cover of SU(d).  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A group of finite order, such as the Clifford group for a d-dimensional system C(d), will not give a dense cover.  A group of infinite order will not give a dense cover if the group is Abelian. However, my rough intuition is that an infinite number of gates and basis changing operations of the Clifford group should suffice to provide a dense cover.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Formally, my question is:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have a group G that is a subgroup of SU(d). G has infinite order and C(d) is a subgroup of G. Do all such G provide a dense cover of SU(d).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that I am particular interested in the case when d&gt;2.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;I take the Clifford group to be as defined here:&#xA;&lt;a href=&quot;http://arxiv.org/abs/quant-ph/9802007&quot;&gt;http://arxiv.org/abs/quant-ph/9802007&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerDisplayName="Earl" LastActivityDate="2012-05-04T12:21:37.340" Title="Universal sets of gates for SU(3)?" Tags="&lt;quantum-computing&gt;" AnswerCount="5" CommentCount="2" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="11309" PostTypeId="2" ParentId="11308" CreationDate="2012-01-12T12:05:55.910" Score="5" Body="&lt;p&gt;I think the following paper may contain the relevant constructions for proving qudit universality&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://dx.doi.org/10.1088/0305-4470/39/11/010&quot;&gt;http://dx.doi.org/10.1088/0305-4470/39/11/010&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In particular, the comment at the end of section $4$ says that Controlled-phase $CZ$, Fourier transform $F$, and a diagonal gate $D$ with irrational and incommensurate phases gives approximate universality. (This is a sufficient condition on $D$ but I'm pretty sure it is not a necessary condition.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If your $G$ is of the correct form (and diagonal gates would seem a natural choice) then the result applies&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An alternative approach would be to create the ancilla states required for implementation of the qudit Toffoli, or directly using $G$ along with Cliffords to implement the Toffoli. It's hard to say whether this is possible without knowing more about $G$.&lt;/p&gt;&#xA;" OwnerDisplayName="MHoward" LastActivityDate="2012-01-12T12:05:55.910" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="11310" PostTypeId="2" ParentId="11308" CreationDate="2012-01-13T11:34:13.630" Score="9" Body="&lt;p&gt;It's not clear to me whether you're asking about SU(3) or SU(3$^{n}$) acting on a tensor product of qudits. I'll assume you're asking about SU(3). It's not clear to me (despite what I said in a previous version of my answer) that the statement for SU(3) implies the statement for SU(3$^n$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As long as the set of gates doesn't lie in a subgroup of SU(3), it will generate a dense cover of SU(3). So you need to check whether any of the infinite subgroups of SU(3) contains the Clifford group. I am fairly sure they don't, but I can't say for sure. &lt;a href=&quot;https://mathoverflow.net/questions/65522/lie-subgroups-of-su3&quot;&gt;Here&lt;/a&gt; is a math overflow question giving all the Lie subgroups of SU(3).&lt;/p&gt;&#xA;" OwnerUserId="1677" OwnerDisplayName="Peter Shor " LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2012-01-19T05:34:07.760" CommentCount="10" ContentLicense="CC BY-SA 3.0" />
  <row Id="11311" PostTypeId="2" ParentId="11308" CreationDate="2012-01-17T09:00:46.463" Score="10" Body="&lt;p&gt;This is not a complete answer, but perhaps it goes some way towards answering the question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since $G$ has infinite order but $C(d)$ is not, then $G$ necessarily contains a non-Clifford group gate. However $G$ has $C(d)$ as a subgroup. But for $d=2$ the Clifford group plus any other gate not in the Clifford group is approximately universal (see e.g. Theorem 1 &lt;a href=&quot;http://dx.doi.org/10.1088/0305-4470/39/11/010&quot;&gt;here&lt;/a&gt;). Therefore all such $G$ provide dense cover on $SU(2^n)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the case where $d&amp;gt;2$ it seems like it may be possible to prove that you still get dense cover along the following lines (using the notation of the paper linked to in the question):&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;As all gates in $G$ are unitary, all of their eigenvalues are roots of unity, which for simplicity I will parameterize by real angles $0 \leq \theta_i &amp;lt; 2\pi$.&lt;/li&gt;&#xA;&lt;li&gt;As $G$ has infinite order, either $G$ contains gates for which at least one value $\theta_k$ is an irrational multiple of $\pi$ or contains an arbitrarily good approximation to such an irrational multiple of $\pi$. Let us designate one such gate $g$.&lt;/li&gt;&#xA;&lt;li&gt;Then there exists an $n$ such that $g^n$ is arbitrarily close to, but not equal to the identity.&lt;/li&gt;&#xA;&lt;li&gt;Since $g^n$ is unitary it can be written as $\exp(-iH)$.&lt;/li&gt;&#xA;&lt;li&gt;Since the Pauli group as defined in &lt;a href=&quot;http://arxiv.org/abs/quant-ph/9802007&quot;&gt;quant-ph/9802007&lt;/a&gt; forms a basis for $d \times d$ matrices, you can write $H = \sum_{j,k = 0}^{d-1}\alpha_{jk} X_d^j Z_d^k$, where $\alpha_{jk} \in \mathbb{C}$ and $|\alpha_{jk}|\leq \epsilon$ for any $\epsilon &amp;gt; 0$ (by [3]), with at least one such $\alpha_{ab}$ not equal to zero.&lt;/li&gt;&#xA;&lt;li&gt;We can then choose $C$ an element from the Clifford group which maps $X_d^j Z_d^k$ to $Z_d$ under conjugation. Thus $C g^n C^\dagger = \exp(-iCHC^\dagger) = \exp(-i(\alpha_{ab}Z_d + \sum_{(j, k) \neq (a,b)} \alpha&amp;#39;_{jk} X_d^j Z_d^k))$, where $\alpha&amp;#39;$ is just a permutation of $\alpha$ and $\alpha_{ab} = \alpha&amp;#39;_{01}$.&lt;/li&gt;&#xA;&lt;li&gt;Note that $Z_d$ satisfies $Z_d (X_d^u Z_d^v) = \omega^{u} (X_d^u Z_d^v) Z_d$. Let us define $g_\ell = Z_d^{-\ell} C g^n C^\dagger Z_d^{\ell} = \exp(-i(\alpha_{ab}Z_d + \sum_{(j, k) \neq (a,b)} \omega^{j\ell} \alpha&amp;#39;_{jk} X_d^j Z_d^k))$.&lt;/li&gt;&#xA;&lt;li&gt;By the Baker-Cambel-Hausdorff theorem, since all $\alpha$ have been made arbitrarily close to the identity, we can evaluate the product of $g&amp;#39; = g_1 \times ... \times g_d$ to first order as $\exp(-i(d\times(\sum_{k} \alpha_{0k} Z^k) + (\sum_{\ell = 1}^d \omega^d)\times\sum_{j \neq 0}\sum_k \alpha_{jk}X_d^j Z_d^k))$. Summing over all routes of unity, for $d&amp;gt;1$ yields $g&amp;#39; = \exp(-i(d\times(\sum_{k\neq b} \alpha_{0k} Z^k))$. This is basically a decoupling sequence which decouples the non-diagonal elements.&lt;/li&gt;&#xA;&lt;li&gt;As only diagonal matrices remain in the exponential, $g&amp;#39;$ must be diagonal. Further due to the restrictions on $\alpha&amp;#39;$ it necessarily has eigenvalues which are non-zero but proportional to $\epsilon$.&lt;/li&gt;&#xA;&lt;li&gt;By varying $\epsilon$ and repeating the above process it should be possible to generate $d$ linearly independent gates: $g&amp;#39;_1 ... g&amp;#39;_d$, such that their product results in a diagonal gate with with irrational and incommensurate phases or an arbitrarily close approximation to one.&lt;/li&gt;&#xA;&lt;li&gt;By &lt;a href=&quot;http://dx.doi.org/10.1088/0305-4470/39/11/010&quot;&gt;the reference&lt;/a&gt; given in Mark Howard's answer this, together with the Clifford group, should suffice for approximate universality.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="204" OwnerDisplayName="Joe Fitzsimons" LastActivityDate="2012-01-19T06:57:05.040" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="11312" PostTypeId="2" ParentId="11308" CreationDate="2012-01-17T16:53:40.173" Score="13" Body="&lt;p&gt;I believe the answer to original question is probably yes, but unfortunately, I can't say that definitively.  I can help answer Peter's extended question, however.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In math/0001038, by Nebe, Rains, and Sloane, they show that the Clifford group is a maximal finite subgroup of U(2^n).  Solovay has also shown this in unpublished work that &quot;uses essentially the classification of finite simple groups.&quot;  The Nebe et al. paper also shows that the qudit Clifford group is a maximal finite subgroup for prime p, also using the classification of finite groups.  This means that the Clifford group plus any gate is an infinite group, which makes one of the assumptions of the original question redundant.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, both Rains and Solovay told me that the next step, showing that an infinite group containing the Clifford group is universal, is relatively straightforward. However, I don't know how that step actually works.  And more importantly for the original question, I don't know if they were only considering the qubit case or also the qudit case.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Actually, I might add that I don't understand the Nebe, Rains, and Sloane proof either, but would like to.&lt;/p&gt;&#xA;" OwnerDisplayName="Daniel Gottesman" LastActivityDate="2012-01-17T16:53:40.173" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11313" PostTypeId="2" ParentId="11308" CreationDate="2012-05-04T01:58:03.510" Score="9" Body="&lt;p&gt;I thought I should update this thread before the site is frozen forever.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Daniel's answer is on the right lines. This &quot;next step&quot; that he mentions appears in Nebe, Rains and Sloane's later book, &quot;&lt;a href=&quot;http://books.google.co.uk/books?id=jvMASeT8oyYC&amp;amp;dq=%22theorem%205.6%22%20nebe%20clifford&amp;amp;source=gbs_navlinks_s&quot;&gt;Self-Dual Codes and Invariant Theory&lt;/a&gt;&quot;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The answer to this question is therefore &quot;Yes&quot; - and it follows directly from Corollary 6.8.2 in Nebe, Rains and Sloane's book.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am grateful to Vadym Kliuchnikov who pointed this out to me while I was visiting Waterloo.&lt;/p&gt;&#xA;" OwnerUserId="6076" OwnerDisplayName="Dan523451513" LastActivityDate="2012-05-04T12:21:37.340" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11314" PostTypeId="1" AcceptedAnswerId="11315" CreationDate="2012-02-21T00:01:01.997" Score="6" ViewCount="374" Body="&lt;p&gt;In Preskill's quantum computing notes &lt;a href=&quot;http://www.theory.caltech.edu/people/preskill/ph229/notes/chap7.pdf&quot; rel=&quot;nofollow&quot;&gt;Chapter 7&lt;/a&gt; approximate page 82, he shows that a Pauli channel has capacity $Q \geq 1-H(p_I,p_X,p_Y,p_Z)$ where $H$ is Shannon entropy and $p_I, p_X, p_Y, p_Z$ are the probabilities of the channel acting like the appropriate Pauli matrix. In particular this gives us the 'hashing bound' or 'random coding bound' for the quantum capacity of the depolarizing channel $Q(p) \geq 1-H(p,1-p)-p\log_23$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;He then describes work of Shor and Smolin [1]: if you take a $m$-repetition code and concatenate it with a suitable random code you can do better than the hashing bound. The argument for this is that taking $m-1$ measurements the inner repetition code thought of as a super channel is a Pauli channel with entropy $H_i$. Then averaging over the $2^{m-1}$ possible classical measurements you can find the average entropy of the superchannel $\langle H \rangle$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] P.W. Shor and J.A. Smolin, “Quantum Error-Correcting Codes Need Not Completely Reveal the Error Syndrome” &lt;a href=&quot;http://arxiv.org/abs/quant-ph/9604006&quot; rel=&quot;nofollow&quot;&gt;quant-ph/9604006&lt;/a&gt;; D.P. DiVincen, P.W. Shor, and J.A. Smolin, “Quantum Channel Capacity of Very Noisy Channels,” &lt;a href=&quot;http://arxiv.org/abs/quant-ph/9706061&quot; rel=&quot;nofollow&quot;&gt;quant-ph/9706061&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then by random coding on this new channel you can achieve a rate $R=\frac{1-\langle H \rangle}{m}$ (dividing by $m$ to get this rate in bits/original channel use).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I don't see how random coding works. You have a random code which is optimal for each particular channel but how do you decide which one to use? By the time you know the classical measurements for your channel you have already sent the codeword.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So two questions:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) If you have an ensemble of Pauli channels with average entropy $\langle H\rangle$, can you by using random coding achieve a rate $1-\langle H \rangle$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) If you can't do this, am I misinterpreting the results of Shor and Smolin or Preskill's exposition?&lt;/p&gt;&#xA;" OwnerUserId="6623" OwnerDisplayName="Martin Leslie" LastEditorUserId="7286" LastEditDate="2012-05-07T14:32:02.737" LastActivityDate="2012-05-07T14:32:02.737" Title="Quantum capacity for ensemble of Pauli channels" Tags="&lt;quantum-computing&gt;&lt;quantum-information&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11315" PostTypeId="2" ParentId="11314" CreationDate="2012-02-21T12:26:21.217" Score="5" Body="&lt;p&gt;For your question (1), the answer is yes. The 'hashing construction' for quantum encoding is independent of the quantum channel you use, so if you use this construction for encoding, you can send information over an ensemble of Pauli channels at the right rate. (Actually, this is slightly incorrect ... you do need that the input state you use in the formula for coherent information is the same for all the channels, but in the construction discussed by Preskill it is.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The original paper Shor and Smolin does not mention an ensemble of channels. If you take a depolarizing channel near the quantum-capacity threshold you can achieve a larger quantum capacity by considering a new superchannel where one signal of the superchannel is five consecutive uses of the original channel. When you apply the 'hashing bound' to this superchannel (acting on a 32-dimensional quantum space rather than a 2-dimensional one), you find that the formula for quantum capacity is larger than five times the formula for the original channel. There is only one channel being considered here: the superchannel composed of five uses of the original channel, and not an ensemble of channels. The ensemble of channels comes in when Preskill gives the intuition for what is happening in Shor-Smolin.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(And of course you should replace five in the above paragraph with the appropriate value of $m$, which is only five for some of these constructions.)&lt;/p&gt;&#xA;" OwnerUserId="1677" OwnerDisplayName="Peter Shor " LastActivityDate="2012-02-21T12:50:18.007" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11316" PostTypeId="1" AcceptedAnswerId="11317" CreationDate="2012-02-09T15:17:55.613" Score="24" ViewCount="339" Body="&lt;p&gt;In &lt;a href=&quot;http://arxiv.org/abs/quant-ph/0302125&quot; rel=&quot;noreferrer&quot;&gt;&quot;Requirement for quantum computation&quot;&lt;/a&gt;, Bartlett and Sanders summarize some of the known results for continuous variable quantum computation in the following table:  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/vBXE6.jpg&quot; alt=&quot;Table from Bartlett and Sanders, 2003&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;MY question is three-fold:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Nine years later, can the last cell be filled in?&lt;/li&gt;&#xA;&lt;li&gt;If a column is added with the title &quot;Universal for BQP&quot;, how would the rest of the column look?&lt;/li&gt;&#xA;&lt;li&gt;Can Aaronson and Arkhipov's &lt;a href=&quot;http://arxiv.org/abs/1011.3245&quot; rel=&quot;noreferrer&quot;&gt;95 page masterpiece&lt;/a&gt; be summarized into a new row?&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="7119" OwnerDisplayName="Chris Ferrie" LastActivityDate="2013-02-10T16:18:11.610" Title="Computational complexity of quantum optics" Tags="&lt;quantum-computing&gt;" AnswerCount="2" CommentCount="6" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11317" PostTypeId="2" ParentId="11316" CreationDate="2012-02-09T17:39:42.313" Score="15" Body="&lt;p&gt;With respect to your third question, Aaronson and Arkhipov (A&amp;amp;A for brevity) use a construction of linear optical quantum computing very closely related to the KLM construction. In particular, they consider the case of $n$ identical non-interacting photons in a space of $\text{poly}(n) \ge m \ge n$ modes, starting in the initial state&#xA;$$&#xD;&#xA;\left|1_n\right&amp;gt;=\left|1,\dots,1,\ 0,\dots,0\right&amp;gt;\quad (n\text{ 1s}).&#xD;&#xA;$$&#xA;In addition, A&amp;amp;A allow beamsplitters and phaseshifters, which are enough to generate all $m\times m$ unitary operators on the space of modes (importantly, though, not on the full state space of the system). Measurement is performed by counting the number of photons in each mode, producing a tuple $(s_1, s_2, \dots, s_m)$ of occupation numbers such that $\sum_i s_i = n$ and $s_i \ge 0$ for each $i$. (Most of these definitions can be found in pages 18-20 of A&amp;amp;A.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thus, in the language of the table, the A&amp;amp;A BosonSampling model would likely best be described as &quot;$n$ photons, linear optics and photon counting.&quot; While the classical efficiency of sampling from this model is, strictly speaking, unknown, the ability to classically sample from the A&amp;amp;A model would imply a collapse of the polynomial hierarchy. Since any collapse of PH is generally considered extremely unlikely, it's not at all a stretch to say that BosonSampling is very probably not efficiently and classically simulatable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As for BQP-universality of the A&amp;amp;A model, while linear optics of non-interacting bosons alone is not known to be universal for BQP, the addition of post-selected measurement is enough to obtain full BQP universality, via the celebrated KLM theorem. The acceptance probability of the postselection in the KLM construction scales as $1/16^\Gamma$, where $\Gamma$ is the number of controlled-Z gates that appear in a given circuit. Whether that is enough to conclude that the postselected linear optics model of BQP is efficient or not is thus a matter of what one defines to be efficient, but it is universal.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Aaronson explores the postselected linear optics case more in his &lt;a href=&quot;http://www.scottaaronson.com/papers/sharp.pdf&quot;&gt;followup paper&lt;/a&gt; on the #P-hardness of the permanent. This result was earlier proved by Valiant, but Aaronson presents a novel proof based on the KLM theorem. As a side note, I find that this paper makes a very nice introduction to many of the concepts that A&amp;amp;A use in their BosonSampling masterpiece.&lt;/p&gt;&#xA;" OwnerUserId="8118" OwnerDisplayName="Chris Granade" LastActivityDate="2012-02-09T17:39:42.313" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="11318" PostTypeId="2" ParentId="11316" CreationDate="2012-02-23T17:47:17.797" Score="9" Body="&lt;p&gt;After a two-week self-taught crash-course on continuous variable quantum computation (start with &lt;a href=&quot;http://arxiv.org/abs/1110.3234&quot; rel=&quot;nofollow noreferrer&quot;&gt;this&lt;/a&gt; review article), I am $\cos^2(\frac\pi8)$% confident in the following answer:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;I believe it is fair to say that the last entry in the table is an &quot;X&quot; due to &lt;a href=&quot;http://arxiv.org/abs/0903.3233&quot; rel=&quot;nofollow noreferrer&quot;&gt;Quantum Computing with Continuous-Variable Clusters&lt;/a&gt; by Gu &lt;em&gt;et al&lt;/em&gt;.  They show that non-Gaussian cluster states can be acted upon by homodyne measurements for UQC.&lt;/li&gt;&#xA;&lt;li&gt;The hypothetical column &quot;Universal for BQP&quot; would have an &quot;X&quot; for the first row and &quot;checks&quot; for rest - except the hypothetical row on the Aaronson and Arkhipov result, which would have a &quot;?&quot; (although it is probably an &quot;X&quot; according to the authors).&lt;/li&gt;&#xA;&lt;li&gt;See Chris Granade's &lt;a href=&quot;http://theoreticalphysics.stackexchange.com/a/909/493&quot; rel=&quot;nofollow noreferrer&quot;&gt;answer&lt;/a&gt; above.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;UPDATE: I should have also asked if any new rows can be added.  In any case, indeed one can:&#xA;&lt;img src=&quot;https://i.stack.imgur.com/heXVK.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;That is from &lt;a href=&quot;http://arxiv.org/abs/1210.1783&quot; rel=&quot;nofollow noreferrer&quot;&gt;Veitch et al&lt;/a&gt;.   See also &lt;a href=&quot;http://arxiv.org/abs/1208.3660&quot; rel=&quot;nofollow noreferrer&quot;&gt;Mari and Eisert&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="7119" OwnerDisplayName="Chris Ferrie" LastEditorUserId="7119" LastEditDate="2013-02-10T16:18:11.610" LastActivityDate="2013-02-10T16:18:11.610" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11319" PostTypeId="1" AcceptedAnswerId="11320" CreationDate="2011-11-02T06:12:30.420" Score="24" ViewCount="132" Body="&lt;p&gt;It is well established that there exists a noise threshold for quantum computation, such that below this threshold, the computation can be encoded in such a way that it yields the correct result with bounded probability (with at most polynomial computational overhead). This threshold depends on the encoding used and the exact nature of the noise, and it is the case that results from simulation often give thresholds much higher than what can be proved for adversarial noise models.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;So my question is simply what is the highest lower bound that has been&#xA;  proved for independent stochastic noise?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The noise model I am referring to is the one dealt with in &lt;a href=&quot;http://arxiv.org/abs/quant-ph/0504218&quot;&gt;quant-ph/0504218&lt;/a&gt;, where Aliferis, Gottesman and Preskill prove a lower bound $2.73 \times 10^{-5}$. Note, however, I do not care which type of encoding is used, and it need not be restricted to the code considered in that paper. The highest I'm aware of is $1.94 \times 10^{-4}$ due to Aliferis and Cross (&lt;a href=&quot;http://arxiv.org/abs/quant-ph/0610063&quot;&gt;quant-ph/0610063&lt;/a&gt;). Has this value been improved upon since then?&lt;/p&gt;&#xA;" OwnerUserId="204" OwnerDisplayName="Joe Fitzsimons" LastActivityDate="2011-11-02T20:55:50.650" Title="What is the best lower bound for the fault-tolerance threshold in quantum computing?" Tags="&lt;quantum-computing&gt;&lt;reference-request&gt;&lt;fault-tolerance&gt;" AnswerCount="2" CommentCount="10" ContentLicense="CC BY-SA 3.0" />
  <row Id="11320" PostTypeId="2" ParentId="11319" CreationDate="2011-11-02T18:33:32.357" Score="15" Body="&lt;p&gt;The highest threshold lower bound for for independent stochastic noise of which I am aware is $1.04 \times 10^{-3}$ by Aliferis, Gottesman and Preskill (&lt;a href=&quot;http://arxiv.org/abs/quant-ph/0703264&quot; rel=&quot;nofollow&quot;&gt;quant-ph/0703264&lt;/a&gt;).  They analyze Knill's teleportation-based scheme with postselection.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you are willing to consider independent depolarizing noise, then I know of two slightly higher lower bounds: $1.25\times 10^{-3}$ by Aliferis and Preskill (&lt;a href=&quot;http://arxiv.org/abs/0809.5063&quot; rel=&quot;nofollow&quot;&gt;arXiv:0809.5063&lt;/a&gt;) and $1.32 \times 10^{-3}$ by myself and Ben Reichardt (&lt;a href=&quot;http://arxiv.org/abs/1106.2190&quot; rel=&quot;nofollow&quot;&gt;arXiv:1106.2190&lt;/a&gt;).&lt;/p&gt;&#xA;" OwnerUserId="1040" OwnerDisplayName="Adam Paetznick" LastActivityDate="2011-11-02T20:55:50.650" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11321" PostTypeId="2" ParentId="11319" CreationDate="2011-11-02T20:35:57.290" Score="6" Body="&lt;p&gt;The best that I am aware of is in the surface code proposal due to Fowler et al (&lt;a href=&quot;http://arxiv.org/abs/0803.0272&quot;&gt;arXiv:0803.0272&lt;/a&gt;), where it is shown that they achieve a bound of 0.75%.&lt;/p&gt;&#xA;" OwnerUserId="8118" OwnerDisplayName="Chris Granade" LastActivityDate="2011-11-02T20:54:31.730" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="11323" PostTypeId="1" AcceptedAnswerId="11324" CreationDate="2012-04-18T02:12:24.097" Score="14" ViewCount="1150" Body="&lt;p&gt;As far as I can tell, almost all implementations of QKD use &lt;a href=&quot;http://assassin.cs.rpi.edu/~edmanm2/wiphysec/cache/brassard%3aeurocrypt94.ps&quot;&gt;Brassard and Salvail's CASCADE algorithm&lt;/a&gt; for error correction. Is this really the best known method of correcting errors in a shared sequence of random qubits, or is there a better proposition that implementations of QKD should be using instead?&lt;/p&gt;&#xA;" OwnerDisplayName="Catherine Holloway" LastEditorUserId="7286" LastEditDate="2012-05-07T14:31:11.337" LastActivityDate="2013-06-19T06:21:14.060" Title="Best method of Error Correction in Quantum Key Distribution" Tags="&lt;cr.crypto-security&gt;&lt;quantum-computing&gt;&lt;quantum-information&gt;" AnswerCount="2" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11324" PostTypeId="2" ParentId="11323" CreationDate="2012-04-19T08:55:59.653" Score="12" Body="&lt;p&gt;Actually, there is a lot going on in the research of better and faster error correction codes for QKD. The biggest bottleneck of the CASCADE protocol is that it requires a lot of classical communication between Alice and Bob.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A lot of work has been done on LDPC codes. You can have a look to the following papers:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;-&lt;a href=&quot;http://arxiv.org/abs/0901.2140&quot;&gt;Efficient reconciliation protocol for discrete-variable quantum key distribution&lt;/a&gt; (arXiv:0901.2140v1)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;-&lt;a href=&quot;http://arxiv.org/abs/1006.2660&quot;&gt;Rate Compatible Protocol for Information Reconciliation: An application to QKD&lt;/a&gt; (arXiv:1006.2660v1).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Moreover, I suggest to look at the slides at &lt;a href=&quot;https://sqt.ait.ac.at/software/projects/hipanq/wiki/Schedule&quot;&gt;https://sqt.ait.ac.at/software/projects/hipanq/wiki/Schedule&lt;/a&gt; where there are many talks about error correction in QKD.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, regarding the applications, I would like to point out that the &lt;a href=&quot;http://arxiv.org/abs/1103.3566&quot;&gt;demostration that has been done in Tokyo&lt;/a&gt; was also implemented using LDPC codes (see arXiv:1103.3566v1 on page 13 for a reference).&lt;/p&gt;&#xA;" OwnerUserId="7650" OwnerDisplayName="user7650" LastActivityDate="2012-04-19T08:55:59.653" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11325" PostTypeId="1" CreationDate="2012-02-11T12:48:44.907" Score="27" ViewCount="472" Body="&lt;h2&gt;Question.&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;In adiabatic evolution, to ensure that the ground state high overlap with the unique ground state of the system (i.e. to achieve arbitrarily small error) using adiabatic theorems, it is crucial that there is always some measurable eigenvalue gap.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;How badly do things go wrong if there is a single eigenvalue crossing with the ground state &amp;mdash; where there can be any number of crossings between other energy eigenvalues, but which are well-separated from the crossing of the ground state with the first excited state?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Does the answer to the above question depend crucially on details of the physical system involved? Are there special cases for which the &quot;error&quot; is known to be bounded by constants (&lt;em&gt;i.e.&lt;/em&gt;&amp;nbsp;the state still has a substantial overlap with the ground state after the level crossing, though the overlap may be bounded away from 1)? Are there special cases for which the overlap with the ground state, after the crossing, is almost certainly going to be nearly zero?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Are there systems for which the question of whether the system is in the &quot;bounded error&quot; regime or the &quot;unbounded error&quot; regime will depend very sensitively on certain factors?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;h2&gt;Details.&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Adiabatic_quantum_computation&quot;&gt;Adiabatic Quantum Computation&lt;/a&gt; is a model of computation which is meant to exploit adiabatic evolution to perform possibly quite difficult computations. The idea is as follows: if you prepare an initial state which is the unique ground state of an initial Hamiltonian &lt;em&gt;H&lt;/em&gt;&lt;sub&gt;0&lt;/sub&gt;, and slowly vary the Hamiltonian of the system until it is another Hamiltonian &lt;em&gt;H&lt;/em&gt;&lt;sub&gt;1&lt;/sub&gt; which also has a unique ground state, then the final state of the system is that ground state. There are all sorts of details:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Interpolation of Hamiltonians.&lt;/strong&gt; The most common way to describe how the Hamiltonian varies is as a time-varying Hamiltonian which interpolates between &lt;em&gt;H&lt;/em&gt;&lt;sub&gt;0&lt;/sub&gt; and &lt;em&gt;H&lt;/em&gt;&lt;sub&gt;1&lt;/sub&gt;, that is &lt;em&gt;H(s)&lt;/em&gt;&amp;nbsp;=&amp;nbsp;(1&amp;nbsp;&amp;minus;&amp;nbsp;&lt;em&gt;s&lt;/em&gt;)&lt;em&gt;H&lt;/em&gt;&lt;sub&gt;0&lt;/sub&gt;&amp;nbsp;+&amp;nbsp;&lt;em&gt;sH&lt;/em&gt;&lt;sub&gt;1&lt;/sub&gt;, although any parameterization of a continuous curve in the space of Hamiltonians, from &lt;em&gt;H&lt;/em&gt;&lt;sub&gt;0&lt;/sub&gt; to &lt;em&gt;H&lt;/em&gt;&lt;sub&gt;1&lt;/sub&gt;, is in principle allowable (subject to the considerations below).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Adiabatic Theorems.&lt;/strong&gt; The reliability of obtaining the ground state is guaranteed by Adiabatic Theorems (often called &quot;the&quot; adiabatic theorem, though there is more than one and they seem to be incomparable). For instance, &lt;a href=&quot;http://arxiv.org/abs/quant-ph/0411152&quot;&gt;Ambainis and Regev&lt;/a&gt; show that if:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;the Hamiltonian function &lt;em&gt;H(s)&lt;/em&gt; is at least twice-differentiable,&lt;/li&gt;&#xA;&lt;li&gt;there is a continuously varying energy function &lt;em&gt;E(s)&lt;/em&gt;, such that &lt;em&gt;E(s)&lt;/em&gt; is an energy eigenvalue for the corresponding Hamiltonian &lt;em&gt;H(s)&lt;/em&gt;,&lt;/li&gt;&#xA;&lt;li&gt;the &lt;em&gt;E(s)&lt;/em&gt;-eigenstate of &lt;em&gt;H(s)&lt;/em&gt; is unique, and furthermore all other eigenstates of &lt;em&gt;H(s)&lt;/em&gt; have energy separated away from &lt;em&gt;E(s)&lt;/em&gt; by at least some constant &amp;lambda;,&lt;/li&gt;&#xA;&lt;li&gt;the initial state of the system is the &lt;em&gt;E&lt;/em&gt;(0)-eigenstate of &lt;em&gt;H&lt;/em&gt;&lt;sub&gt;0&lt;/sub&gt;, &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;then for any error parameter &amp;delta;&amp;gt;0, evolving the system under the Hamiltonian &lt;em&gt;H(t/T)&lt;/em&gt;, from time &lt;em&gt;t&lt;/em&gt;&amp;nbsp;=&amp;nbsp;0 to time &lt;em&gt;t&lt;/em&gt;&amp;nbsp;=&amp;nbsp;&lt;em&gt;T&lt;/em&gt;, suffices to ensure that the final state of the system is within &amp;delta; (in the Euclidean norm) of the &lt;em&gt;E&lt;/em&gt;(1)-eigenstate of the Hamiltonian &lt;em&gt;H&lt;/em&gt;&lt;sub&gt;1&lt;/sub&gt;, provided that&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$ T \geqslant \frac{10^5 \| H&amp;#39; \|}{\delta^2 \lambda^3} \,\max \Bigl\{ \tfrac{1}{\lambda}\!\| H&amp;#39; \|^2\,,\; \| H&amp;#39;&amp;#39; \| \Bigr\} \;. $$ &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In particular, the smaller the desired error &amp;mdash; and the smaller the guaranteed eigenvalue gap &amp;lambda; about the energy eigenvalue &amp;mdash; the larger &lt;em&gt;T&lt;/em&gt; must be and therefore the longer the evolution must take for this Theorem to guarantee an error less than &amp;delta;. By slowing the rate of evolution of the Hamiltonian in regimes where the eigenvalue gap is small, and increasing the rate where the eigenvalue gap is large, we can try to optimize the evolution of the Hamiltonian in order to achieve a minimum evolution time for any given error precision.&#xA;The usual notion of adiabatic evolution follows for the case that &lt;em&gt;E(s)&lt;/em&gt; is the ground energy for the Hamiltonians &lt;em&gt;H(s)&lt;/em&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Level Crossings.&lt;/strong&gt; A non-negotiable feature of the Hamiltonian evolution, if we are to apply an adiabatic theorem, is that there &lt;em&gt;exist&lt;/em&gt; an eigenvalue gap. I suppose that if the final Hamiltonian is degenerate because some number of excited states converge upon the ground-state energy &amp;mdash; but that there is a gap between these &lt;em&gt;cold convergent&lt;/em&gt; energy eigenvalues and the &lt;em&gt;warm non-convergent&lt;/em&gt; eigenvalues &amp;mdash; then things will still be okay; the cold-but-not-ground energies might become populated, but as these states converge to the ground-state manifold of the final Hamiltonian anyhow, nothing is lost. However, if there is a &lt;em&gt;level crossing&lt;/em&gt; &amp;mdash; where the ground state's energy intersects the first excited state's energy at one time &lt;em&gt;t&lt;/em&gt;, and separate again &amp;mdash; then the adiabatic theorems say nothing.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the context of Adiabatic Quantum Computation, everything that I have heard is in the regime where one assumes (or strives to ensure) that there are no level crossings, and one tries to make the eigenvalue gap as large as possible wherever possible. This corresponds naturally to a model of computation with very tightly bounded error. However, if one is content to repeat the computation several times, then constant error suffices; and so if at a level crossing half of the amplitude leaks into the first excited energy state, with the remainder remaining in the ground state manifold of the Hamiltonians &lt;em&gt;H(s)&lt;/em&gt;, this is no terrible loss. Of course, the question is then: what &lt;em&gt;actually does&lt;/em&gt; happen to the amplitude of the ground-state manifold at a level crossing? How much does it depend on the particular system or the details of the evolution of the Hamiltonian? Can the responses be applied to the regime where there is always a gap, but it is inconveniently small?&lt;/p&gt;&#xA;" OwnerUserId="248" OwnerDisplayName="Niel de Beaudrap" LastEditorUserId="186" LastEditDate="2015-10-01T23:20:36.067" LastActivityDate="2015-10-01T23:20:36.067" Title="Adiabatic quantum computing with level crossings" Tags="&lt;quantum-computing&gt;&lt;machine-models&gt;&lt;adiabatic&gt;" AnswerCount="0" CommentCount="14" FavoriteCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="11326" PostTypeId="1" CreationDate="2011-12-07T19:01:11.653" Score="15" ViewCount="74" Body="&lt;p&gt;(&lt;em&gt;this question is a &lt;a href=&quot;https://cstheory.stackexchange.com/questions/9304/lower-bounds-for-quantum-circuits-using-the-geodesic-framework&quot;&gt;crosspost from cstheory&lt;/a&gt;. I've incorporated the one answer there into the question)&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some of us have been reading &lt;a href=&quot;https://cstheory.stackexchange.com/questions/9304/lower-bounds-for-quantum-circuits-using-the-geodesic-framework&quot;&gt;Michael Nielsen's paper&lt;/a&gt; on a geometric approach to using quantum lower bounds (in brief, the construction of a Finsler metric on $SU(2^n)$ such that the geodesic distance from $I$ to an element $U$ is a lower bound on the number of gates in a quantum circuit that computes $U$). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I was wondering if there were concrete examples of problems where this program led to a lower bound that came close to, matched or beat prior lower bounds obtained by other means ? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;One example that Joe Fitzsimmons provided is &lt;a href=&quot;http://arxiv.org/abs/0705.0378&quot; rel=&quot;nofollow noreferrer&quot;&gt;this paper on optimal transfer rates in spin chains&lt;/a&gt;. While it's a good example of the &quot;spirit&quot; of the original idea, I'm specifically looking for methods that use Nielsen's program to provide &lt;strong&gt;lower bounds&lt;/strong&gt;.&lt;/p&gt;&#xA;" OwnerUserId="80" OwnerDisplayName="Suresh Venkat" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2011-12-07T19:01:11.653" Title="Lower bounds for quantum circuits using the geodesic framework" Tags="&lt;quantum-computing&gt;" AnswerCount="0" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="11327" PostTypeId="1" AcceptedAnswerId="11329" CreationDate="2011-11-07T21:36:59.823" Score="18" ViewCount="208" Body="&lt;p&gt;I am a physicist at heart, and so I think One-Way Quantum Computing is brilliant. In particular, Graph State Measurement-based Quantum Computing (MBQC) has been a really nice development in Quantum Computing research as originated by &lt;a href=&quot;http://arxiv.org/abs/quant-ph/0010033&quot;&gt;Raussendorf &amp;amp; Briegel&lt;/a&gt;. One just needs to prepare a multi-partite entangled state as described by a graph, and then perform sequential measurements on each node or qubit (adaptive measurements for deterministic computations). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another excellent aspect of this approach is that Clifford circuits can be implemented in a single-round of measurements as shown by &lt;a href=&quot;http://arxiv.org/abs/quant-ph/0301052&quot;&gt;Raussendorf, Browne and Briegel&lt;/a&gt;. These circuits can be classically simulated (efficiently) as shown by Gottesman and Knill so it is an interesting connection between classical simulation and temporal resources.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, not all temporally flat Graph State MBQC circuits (consisting of one round of measurements) are believed to be simulatable classically. For example, families of circuits in the quantum circuit model consisting of commuting gates called IQP circuits as introduced by &lt;a href=&quot;http://arxiv.org/abs/0809.0847&quot;&gt;Shepherd and Bremner&lt;/a&gt; can be implemented in single time-step in MBQC. These IQP circuits are believed not to be classically simulatable &lt;a href=&quot;http://arxiv.org/abs/1005.1407&quot;&gt;(in computational complexity terms, it would lead to a collapse of the polynomial hierarchy)&lt;/a&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;See also a nice description of a class of circuits implemented in one time-step &lt;a href=&quot;http://arxiv.org/abs/quant-ph/0603226&quot;&gt;here&lt;/a&gt;. Given that commuting/diagonal unitaries can have some interesting behaviour but non-commuting circuits be classically simulatable. It would be interesting if there were non-commuting circuits that can be implemented but not yet shown to be classically simulatable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Anyway, my question is: &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Are there other interesting circuits that can be implemented in a single time-step in MBQC?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Though I would prefer relations to computational complexity or classical simulation, I would find anything interesting.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;&lt;strong&gt;Edit:&lt;/em&gt;&lt;/strong&gt; After Joe's excellent answer below, I should clarify a couple of things. As Joe said (and somewhat embarrassingly I have said in one of my own papers), single measurement-round MBQC circuits are in IQP. To be more precise, I am interested in interesting circuits in the problems in IQP that can be implemented in one round of measurements in MBQC. Clifford circuits are an interesting example. If there any other examples which are classically simulatable that would be extremely interesting. Since simulating IQP circuits is believed to be unlikely classically, it would be interesting to find instances of circuits that are.&lt;/p&gt;&#xA;" OwnerUserId="7049" OwnerDisplayName="Matty Hoban" LastActivityDate="2011-11-09T06:47:24.410" Title="Temporally Flat One-Way Quantum Computing" Tags="&lt;quantum-computing&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11328" PostTypeId="2" ParentId="11327" CreationDate="2011-11-08T04:26:01.947" Score="9" Body="&lt;p&gt;It doesn't make sense to me to ask about non-commuting operators being implemented in a single time step (though constant depth certainly makes sense). However, you can implement non-commuting gates on the logical subspace of an MBQC which are implemented using commuting measurements on the resource state, though the implemented gates are not deterministic.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Actually, I believe you are viewing IQP more narrowly than you probably should. The answer to your question is that any MBQC which can be implemented in a single measurement layer in MBQC is contained in IQP. This is simply because rather than expressing the result in terms of the logical Hilbert space, you can express it as a series of commuting operations on the physical qubits. Shepherd and Bremner actually deal with this in their paper (in section 5.2 where such operations are called graph-programs).&lt;/p&gt;&#xA;" OwnerUserId="204" OwnerDisplayName="Joe Fitzsimons" LastActivityDate="2011-11-08T04:26:01.947" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="11329" PostTypeId="2" ParentId="11327" CreationDate="2011-11-09T06:47:24.410" Score="5" Body="&lt;p&gt;Given the update on the question, I thought it best to post this as a new answer, as it is totally different from my previous answer, and hopefully is interesting.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It seems by the new phrasing of the question that there is a hidden assumption that the MBQC resource state has a number of qubits polynomial in the number of logical qubits. This doesn't necessarily have to be the case, which leads to a potentially interesting situation. It is possible to construct single layer measurement based computations for which the resource state is necessarily exponential in the number of logical qubits, $n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To see this, just note that any qubit $j$ in a graph state which is measured in the $X$-$Z$ plane has the same effect as applying the operator $\exp{\big(i \theta \prod_i Z_i \big)}$ where $i$ ranges over all the neighboring qubits of $j$. To see this, note that the entanglement operator applied to $j$ is $|0\rangle\langle 0|\otimes I + |1\rangle\langle 1|\otimes \prod_i Z_i$. As the qubit is initially prepared in state $|+\rangle$ the net result is that the following operator is applied over the neighbouring qubits: $\frac{1}{\sqrt{2}}\left(|0\rangle \otimes I + |1\rangle\otimes \prod_i Z_i\right)$. If the qubit is then rotated by $\exp(i\theta X)$ the result is $\frac{1}{\sqrt{2}}\left(|0\rangle \otimes (\cos \theta I + i \sin \prod_i Z_i) + |1\rangle\otimes (\prod_i Z_i\right)(\cos \theta I + i \sin \prod_i Z_i)$. Thus up to a Pauli correction of $\prod_i Z_i$ we deterministically implement the operator $\cos \theta I + i \sin \prod_i Z_i$ which is just an alternate form of $\exp{\big(i \theta \prod_i Z_i \big)}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that such operators are the Hadamard transform of the basic building blocks of X-programs, and that all such operators commute independent of which qubits they operate on. IQP is defined in terms of X-programs which are restricted to having a number of terms at most polynomial in the number of qubits. However, there are an exponential number of independent such terms, and so it is possible to specify temporally flat computations which have exponential sized X-programs. Indeed the $n$-input phase Toffoli gate (i.e. the $C....CZ$ gate) is an example of such an operation that requires an exponential number of commuting gates, though it can be achieved with a linear number of non-commuting gates. Thus it is possible to construct single layer measurement based computations which implement X-programs which are exponential in the number of logical qubits, and hence outside of IQP for the logical qubits (though inside IQP for the physical qubits). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Potentially there is a problem here, in that they require an exponential number of parameters to uniquely specify all of the pairs in the X-program. However, if you consider such angles to be generated algorithmically (say with the restriction that each angle can be computed in polynomial time) then it is not even clear whether simulating such a computation can be done in BQP.&lt;/p&gt;&#xA;" OwnerUserId="204" OwnerDisplayName="Joe Fitzsimons" LastActivityDate="2011-11-09T06:47:24.410" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11330" PostTypeId="2" ParentId="11295" CreationDate="2012-05-04T21:02:03.967" Score="7" Body="&lt;p&gt;You may also like to know that this &quot;sum of squares of the degrees&quot; is also called &quot;First Zagreb Index&quot;. When you type it in Google you get results like this one :&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.springerlink.com/content/a5352252v5376u37/&quot;&gt;http://www.springerlink.com/content/a5352252v5376u37/&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="1209" LastActivityDate="2012-05-04T21:02:03.967" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11331" PostTypeId="1" CreationDate="2012-05-04T21:25:41.260" Score="0" ViewCount="138" Body="&lt;p&gt;I am reading a lot about logic programming - ASP (Answer Set Programming) is one example or this. They (logic programs) are usually in the form:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[Program 1]&#xA;Rule1: a &amp;lt;- a1, a2, ..., not am, am+1;&#xA;Rule2: ...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This set of rules is called the logic program and the s.c. model is the result of such computation - some kind of assignment of True/False values to each of a1, a2, ...&#xA;There is lot of research going on - e.g. how such kind of programs (rules) can be integrated with the (semantic web) ontologies to build knowledge bases that contain both - rules and ontologies (some kind of constraints/behaviour and data); there is lot of research about ASP itself - like parallel extensions, extensions for probabilistic logic, for temporal logic and so on.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;My question is - is there some kind of research and maybe some proof-of-concept projects where this analysis is extended from Boolean variables to variables with integer and maybe even float domains?&lt;/strong&gt; Currently I have not found any research that could address the following programs:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[Program 2]&#xA;Rule1 a1:=5 &amp;lt;- a2=5, a3=7, a4&amp;lt;8, ...&#xA;Rule2 ...&#xA;...&#xA;[the final assignment of values to a1, a2, etc., is the solution of this program]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Currently - as I understand - if one could like to perform some kind of analysis on Program-2 (e.g. to find if this program is correct in some sense - e.g. if it satisfies some properties, if it terminates, what domains are allowed not to violate some kind of properties and so on), then he or she must restate Program-2 in terms of Program-1 and then proceed in way which seems to be completely unexplored - to my knowledge (and I don't believe that is it unexplored, simply - I don't know some sources or trend). There is constraint logic programming that allow the use of statements with inequalities in Program-1, but it is too focused on Boolean variables as well. Actually - Programm-2 is of kind that can be fairly common in business rules systems, that was the cause of my interest in logic programming.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;SO - my question has some history - my practical experience has led me to appreciate business rules systems/engines, especially - JBoss project Drools and it was my intention to do some kind of research of theory underlying s.c. production rules systems (I was and I am planning to do my thesis about them - if I would spot what can be done here), but I can say that there is little to do - after going over the literature (e.g. &lt;a href=&quot;http://www.computer.org/csdl/trans/tk/2010/11/index.html&quot; rel=&quot;nofollow&quot;&gt;http://www.computer.org/csdl/trans/tk/2010/11/index.html&lt;/a&gt; was excellent IEEE TKDE special issues with some articles about them, one of them was writter by Drools leader) one can see that there is some kind of technical improvements of the decades old Rete algorithm but there is no theory of Drools or other production rule systems that could help with to do some formal analysis about them. So - the other question is - &lt;strong&gt;is there theory of production rule systems (for rule engines like Drools, Jess, CLIPS and so on) and is there practical need for such theory and what are the practical issues of using Drools and other systems that can be addressed by the theory of production rule systems&lt;/strong&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;p.s. I know - all these are questions that should be directed to thesis advisor, but my current position is that there is no (up to my knowledge) person in department where I am enrolled with who could fit to answer them, so - I am reading journals and also conference proceedings (there are nice conference series series of Lecture Notes in Computer Science - RuleML and RR)...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks for any hint in advance!&lt;/p&gt;&#xA;" OwnerUserId="9317" LastActivityDate="2012-05-05T05:07:44.933" Title="Logic programming with integer or even floating point domains" Tags="&lt;lo.logic&gt;&lt;ai.artificial-intel&gt;&lt;semantics&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11332" PostTypeId="1" CreationDate="2012-05-04T21:47:51.880" Score="6" ViewCount="274" Body="&lt;p&gt;In the usual presentations of the calculus of constructions (CC) with two kinds Prop and Type such that Prop:Type and impredicative on Prop, it is easy to show the following result:&#xA;every closed term A such that $\Gamma \vdash A:\kappa$ (where $\kappa$ is a kind) reduces to a product, namely $A \rightsquigarrow^* \forall x^C.D$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The easy proof relies on the size of the longuest path from $A$ to its normal form, namely on strong normalization of CC (lexicographic induction on the length of the longuest path to normal form, and height of the derivation).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In &quot;Benthem Jutting, Typing in Pure Type Systems, 1993, Information and computation&quot; there is the following result for all pure type systems:&#xA;if $a \in T_S$ and $\Gamma \vdash a:A$ then $A \rightsquigarrow^* \forall x_1^{C_1}\ldots\forall x_n^{C_n}.s$ where $s$ is a sort and $T_S$ is almost the &quot;set of types&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We can think prove first statement using the second: if $\Gamma \vdash A:\kappa$ then $\Gamma, x:A \vdash x:A$ and then $A$ reduces to a product. Unfortunately $T_S$ does not contain the variables.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The question is: is there a proof of the first statement not relying on the strong normalization of CC ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My guess is that the answer is no: $A$ can $\beta$-reduces to an application, that can reduces to an application, ... The only way to know if it eventually reduces to a product is to effectively $\beta$-reduce it, and in the worst case to normalize $A$.&lt;/p&gt;&#xA;" OwnerUserId="9318" LastEditorUserId="186" LastEditDate="2012-05-06T19:45:07.787" LastActivityDate="2016-08-09T12:44:25.990" Title="Forms of types in the calculus of constructions" Tags="&lt;lo.logic&gt;&lt;type-theory&gt;&lt;type-systems&gt;&lt;calculus-of-constructions&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11336" PostTypeId="2" ParentId="11331" CreationDate="2012-05-05T05:07:44.933" Score="3" Body="&lt;p&gt;The first question can be solved by googling integer logic programming.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Constraint_logic_programming&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/Constraint_logic_programming&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The second question is called the theory of expert programming. I was also able to google this.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Expert_system&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/Expert_system&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is a practical need for expert systems and rule based systems. They are used in many domains as you can see from here.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Expert_system#Examples_of_applications&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/Expert_system#Examples_of_applications&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="5385" LastActivityDate="2012-05-05T05:07:44.933" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11337" PostTypeId="2" ParentId="11273" CreationDate="2012-05-05T06:18:03.223" Score="5" Body="&lt;p&gt;The meaning of a closed formula is a truth value $\bot$ or $\top$. The meaning of a formula containing a free variable $x$ ranging over a set $A$ is a &lt;em&gt;function&lt;/em&gt; from $A$ to truth values. Functions $A \to \lbrace \bot, \top \rbrace$ form a complete Boolean algebra, so we can interpet first-order logic in it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Similarly, a closed term $t$ denotes an element of some domain $D$, while a term with a free variable denotes a function $D \to D$ because the element &lt;em&gt;depends&lt;/em&gt; on the value of the variable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is therefore natural to interpret a formula $\phi(x_1, \ldots, x_n)$ with free variables $x_1, \ldots, x_n$ in the complete Boolean algebra $D^n \to \lbrace{\bot, \top\rbrace}$ where $D$ is the domain of range of the variables. Whether you phrase the interpretation in this complete Boolean algebra in terms of valuations or otherwise is a technical matter.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Mathematicians seem to be generally confused about free variables. They think they are implicitly universally quantified or some such. The cause of this is a meta-theorem stating that $\phi(x)$ is provable if and only if its universal closure $\forall x . \phi(x)$ is provable. But there is more to formulas than their provability. For example, $\phi(x)$ is &lt;em&gt;not&lt;/em&gt; generally equivalent to $\forall x . \phi(x)$, so we certainly cannot pretend that these two formulas are interchangable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To summarize:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;formulas with free variables are unavoidable, at least in the usual first-order logic,&lt;/li&gt;&#xA;&lt;li&gt;the meaning of a formula with a free variable is a &lt;em&gt;truth function&lt;/em&gt;,&lt;/li&gt;&#xA;&lt;li&gt;therefore in semantics we are forced to consider complete Boolean algebras $D^n \to \lbrace\bot, \top\rbrace$, which is where valuations come from,&lt;/li&gt;&#xA;&lt;li&gt;the universal closure of a formula is &lt;em&gt;not&lt;/em&gt; equivalent to the original formula,&lt;/li&gt;&#xA;&lt;li&gt;it is a mistake to equate the meaning of a formula with the meaning of its universal closure, just as it is a mistake to equate a function with its codomain.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="705" LastActivityDate="2012-05-05T06:18:03.223" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="11338" PostTypeId="1" AcceptedAnswerId="21073" CreationDate="2012-05-05T08:37:50.713" Score="1" ViewCount="110" Body="&lt;p&gt;Define a &quot;predicting oracle&quot; to be an oracle that does as described in &lt;a href=&quot;https://cstheory.stackexchange.com/questions/2910/is-predicting-in-the-limit-computable-sequences-as-hard-as-the-halting-problem&quot;&gt;this question&lt;/a&gt;.&#xA;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&#xA;default (weak) version:&#xA;&lt;br&gt;&lt;br&gt;&#xA;Is it the case that, for every predicting oracle $O$, there exists an&#xA;&lt;br&gt;&#xA;&lt;a href=&quot;http://en.wikipedia.org/wiki/Oracle_machine&quot; rel=&quot;nofollow noreferrer&quot;&gt;oracle machine&lt;/a&gt; $M$ such that when $M$ operates on $O$, the result&#xA;&lt;br&gt;&#xA;computes a function that dominates all (ordinarily) computable functions?&#xA;&lt;br&gt;&lt;br&gt;&lt;br&gt;&#xA;uniform (strong) version:&#xA;&lt;br&gt;&lt;br&gt;&#xA;Does there exist an &lt;a href=&quot;http://en.wikipedia.org/wiki/Oracle_machine&quot; rel=&quot;nofollow noreferrer&quot;&gt;oracle machine&lt;/a&gt; $M$ such that for every predicting oracle $O$, when $M$ operates on $O$, the result computes a function that dominates all (ordinarily) computable functions?&#xA;&lt;br&gt;&lt;br&gt;&lt;/p&gt;&#xA;" OwnerDisplayName="user6973" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2014-02-15T16:01:56.880" Title="Is predicting (in the limit) computable sequences as hard as a dominating function?" Tags="&lt;computability&gt;&lt;oracles&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11339" PostTypeId="1" AcceptedAnswerId="11340" CreationDate="2012-05-05T09:31:47.090" Score="9" ViewCount="911" Body="&lt;p&gt;There are some NP-Complete problems ($ \mathsf{SAT} $, $ \mathsf{SUBSETSUM} $, etc.) known to be in $ \mathsf{DSPACE(n)} $. What about the sub-linear spaces?&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there any known NP-Complete (or NP-Intermediate) problem in &lt;strong&gt;sublinear nondeterministic&lt;/strong&gt; space?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="7358" LastActivityDate="2012-05-05T23:02:21.827" Title="Is there any known NP-Complete (or NP-Intermediate) problem in sublinear nondeterministic space?" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;&lt;nondeterminism&gt;&lt;np-intermediate&gt;" AnswerCount="3" CommentCount="0" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="11340" PostTypeId="2" ParentId="11339" CreationDate="2012-05-05T11:16:09.297" Score="14" Body="&lt;p&gt;The planar version of many NP-complete problems belong to $NTISP(n,n^q)$ for some $q&amp;lt;1$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See for example &quot;&lt;a href=&quot;http://arxiv.org/abs/cs/0606058&quot;&gt;Lower Bounds and Complete Problems in Nondeterministic Linear Time and&#xA;Sublinear Space Complexity Classes&lt;/a&gt;&quot; by P. Chapdelaine and E. Grandjean (2006)&lt;/p&gt;&#xA;" OwnerUserId="3247" LastActivityDate="2012-05-05T11:16:09.297" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11341" PostTypeId="2" ParentId="11339" CreationDate="2012-05-05T11:21:41.357" Score="14" Body="&lt;p&gt;Any problem has such a version, just PAD it! E.g. the language that consists of a true 3CNF of length m followed by m^2 0's is in DSPACE(sqrt(n)).&lt;/p&gt;&#xA;" OwnerUserId="419" LastActivityDate="2012-05-05T11:21:41.357" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="11342" PostTypeId="1" CreationDate="2012-05-05T13:53:55.840" Score="3" ViewCount="332" Body="&lt;p&gt;I am looking for algorithms to create directed networks with an arbitrary distribution of 3-node network motifs (i.e. subgraphs of the order 3), see &lt;a href=&quot;http://www.plosbiology.org/article/slideshow.action?uri=info%3adoi/10.1371/journal.pbio.0020369&amp;amp;imageURI=info%3adoi/10.1371/journal.pbio.0020369.g001&quot; rel=&quot;nofollow&quot;&gt;this picture&lt;/a&gt; from &lt;a href=&quot;http://dx.doi.org/10.1371/journal.pbio.0020369&quot; rel=&quot;nofollow&quot;&gt;O. Sporns, R. Kotter, Motifs in Brain Networks, (2004)&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It should work in a reasonable time for up to 10,000 nodes with total graph density of $p=0.1$ (probability of every connection + no self-connectivity). Of course, some distributions are impossible because motifs in the network overlap with each other. Thus, it should work for distributions relatively close to a random-network distribution  (let's say, it should give a result for input motif numbers of $50-200\%$ of mean numbers in random networks).&lt;/p&gt;&#xA;" OwnerUserId="9324" LastEditorUserId="186" LastEditDate="2012-05-06T21:53:28.983" LastActivityDate="2012-05-08T16:47:13.450" Title="Algorithms for creating a directed network with a given 3-node motifs distribution" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;planar-graphs&gt;&lt;network-modeling&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11343" PostTypeId="1" AcceptedAnswerId="11442" CreationDate="2012-05-05T15:58:25.140" Score="9" ViewCount="633" Body="&lt;p&gt;Per the title, other than using a general purpose LP solver, is there an approach for solving systems of inequalities over variables $x_i, \ldots, x_k$ where inequalities have the form $\sum_{i \in I} x_i &amp;lt; \sum_{j \in J} x_j$? What about the special case of inequalities that form a total order over the sums of the members of the power set of $\{x_i, \ldots, x_k\}$?&lt;/p&gt;&#xA;" OwnerUserId="2422" LastEditorUserId="2422" LastEditDate="2012-05-07T03:18:49.923" LastActivityDate="2012-05-12T13:50:15.760" Title="Efficiently solve a system of strict linear inequalities with all coefficients equal to 1 without using a general LP solver?" Tags="&lt;ds.algorithms&gt;&lt;linear-algebra&gt;&lt;linear-programming&gt;" AnswerCount="1" CommentCount="13" ContentLicense="CC BY-SA 3.0" />
  <row Id="11344" PostTypeId="2" ParentId="11339" CreationDate="2012-05-05T16:42:05.427" Score="11" Body="&lt;p&gt;For any language in $\mathsf{NP}$ there exists a proof that can be verified using $O(\log n)$ working space. One just needs to use the same ideas used to prove SAT is $\mathsf{NP}$-complete. By definition, given an $\mathsf{NP}$ language $L$, we know that there exists a turing machine $M$ such that for any $x \in L$ there exists a $y$ such that $M(x, y)$ accepts. We can construct a logspace verifiable proof for $x$ by writing down $y$ and the computation tableau of $M$ on input $x, y$. It is easy to verify in logspace that the tableau describes a valid accepting computation of $M$. Similarly, for any $x \not \in L$ and any $y$, no valid computation of $M(x, y)$ accepts, so the logspace verifier won't accept any tableau.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course this does &lt;strong&gt;not&lt;/strong&gt; show that $\mathsf{NP} = \mathsf{NL}$ (because that would imply $\mathsf{NP} = \mathsf{P}$). The reason is that the verifier has two-way access to the proof (can go back and forth). The proof-verifier definition of $\mathsf{NL}$ gives the the logspace verifier only one-way access to the proof (once a bit of the proof is read and the head moves right it cannot move left). &lt;/p&gt;&#xA;" OwnerUserId="4896" LastEditorUserId="4896" LastEditDate="2012-05-05T23:02:21.827" LastActivityDate="2012-05-05T23:02:21.827" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="11345" PostTypeId="1" AcceptedAnswerId="11361" CreationDate="2012-05-05T19:37:35.497" Score="9" ViewCount="1354" Body="&lt;p&gt;This is a question I asked in mathematics SE forum, and I was referred here. So here is the question- &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm a newbie in both formal mathematics and theoretical computer science, so please bear with me if you find my question is not properly framed. Object Oriented Modeling seems very useful in defining complex interactions when simulating real world. But it's mostly used in programming. I was wondering if we have a similar concept in mathematics. When we're doing programming, we can understand the concept of &quot;Objects&quot; and &quot;Object Oriented Programming&quot; and just implement it. But do we have formal definition of &quot;Objects&quot; in terms of Set Theory? Or for that matter, any other formal mathematical theory?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can we implement/ formally define three primary object orient modeling concepts- 1. Encapsulation 2. Inheritance 3. Polymorphism&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I know question is too broad, but would really appreciate if you can provide some pointers as well so that I can understand these concepts better.&lt;/p&gt;&#xA;" OwnerUserId="9328" LastActivityDate="2014-05-05T21:53:51.693" Title="Formal Definition/counter part in mathematics for “Objects” of Object Oriented Models" Tags="&lt;pl.programming-languages&gt;&lt;semantics&gt;&lt;formal-modeling&gt;&lt;set-theory&gt;&lt;object-oriented&gt;" AnswerCount="2" CommentCount="4" FavoriteCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="11346" PostTypeId="2" ParentId="11257" CreationDate="2012-05-05T21:19:42.687" Score="3" Body="&lt;p&gt;What do you mean by &quot;should have&quot;?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In principle you could train a neural network (a multi-layer perceptron, I assume) to perfectly classify the training set (provided that it doesn't contain conflicting examples), however doing so might require a long time (exponential in the size of the training set) and more importantly will usually impair the neural network ability to generalise to unseen data points.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In practice you usually divide your training examples in a training set proper and a validation set: train on the training set and after each epoch you measure accuracy on the validation set, repeat until the accuracy on the validation doesn't increase for a small number of epochs and keep the network with the best accuracy on the validation set. You might also reiterate the whole training process a few times starting from random weights each time, in order to avoid being trapped in local optima.&#xA;Moreover, you can experiment varying parameters such as the number of hidden layers, the number of nodes in each hidden layer, and the learning rate, changing the data encoding, and carefully selecting the input features.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Eventually your neural network will reach a maximum accuracy which depends on the problem difficulty.&lt;/p&gt;&#xA;" OwnerUserId="1749" LastActivityDate="2012-05-05T21:19:42.687" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11348" PostTypeId="1" CreationDate="2012-05-06T12:35:39.133" Score="7" ViewCount="223" Body="&lt;p&gt;I am trying to find out if there is any work on applying the Codd's relational model (underlying relational databases) for reasoning about linked data structures.  Any connections with UML models and reasoning about them (other than drawing diagrams) would also be of interest to me.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[There is of course a lot of work - and tool sets - for mapping data structures to relational databases and back.  But my interest is in reasoning about in-memory data structures using relational models.]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[For example, a doubly-linked list can be represented in the relational model as a pair of relations: $successor$ and $predecessor$, tied together by a couple of integrity constraints $successor(x,y) \Rightarrow predecessor(y,x)$ and its converse (modulo boundary cases).  In more interesting examples, we would have tons of relations and constraints.  The question I am wondering about is whether the relational database theory can help us get handle on how to build good data structures, modularise them appropriately and provide some structure to the constraints (or &quot;invariants&quot;) so that it is easier to verify them or to ensure correctness by construction.]&lt;/p&gt;&#xA;" OwnerUserId="8519" LastEditorUserId="8519" LastEditDate="2012-05-06T21:46:38.413" LastActivityDate="2012-05-06T21:46:38.413" Title="Relational model for data structure reasoning" Tags="&lt;reference-request&gt;&lt;ds.data-structures&gt;&lt;db.databases&gt;&lt;relational-structures&gt;" AnswerCount="0" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="11351" PostTypeId="1" AcceptedAnswerId="11354" CreationDate="2012-05-06T13:40:27.913" Score="4" ViewCount="183" Body="&lt;p&gt;The &lt;a href=&quot;http://www.cs.toronto.edu/~arkadev/singleLayer2G.pdf&quot; rel=&quot;nofollow&quot;&gt;following&lt;/a&gt; paper briefly mentions the power of $MOD_6$ gates (page 3), and relies on the unstated fact that every boolean function can be computed with an arithmetic circuit of depth 2 over $\mathbb{F}_3$. I'm not sure how this is done.&lt;/p&gt;&#xA;" OwnerUserId="9244" LastEditorUserId="186" LastEditDate="2012-05-06T19:30:11.380" LastActivityDate="2012-05-06T19:30:11.380" Title="Computing every boolean function with a polynomial over $\mathbb{F}_3$?" Tags="&lt;cc.complexity-theory&gt;&lt;circuit-complexity&gt;&lt;boolean-functions&gt;&lt;arithmetic-circuits&gt;" AnswerCount="1" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="11354" PostTypeId="2" ParentId="11351" CreationDate="2012-05-06T18:04:57.133" Score="2" Body="&lt;p&gt;Every function $\mathbb{F}_p^n \longrightarrow \mathbb{F}_p$ (where $p$ is prime) can be written as a polynomial. For the proof, consider all $p^n$ monomials, and show that they are linearly independent.&lt;/p&gt;&#xA;" OwnerUserId="40" LastActivityDate="2012-05-06T18:04:57.133" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11355" PostTypeId="1" CreationDate="2012-05-06T18:09:58.707" Score="6" ViewCount="262" Body="&lt;p&gt;Property Testing refers to the problem of making a small number of queries to determine whether $x$ is in some language $L$ or whether it is far away from being in $L$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More precisely we want to distinguish&lt;br&gt;&#xA;1)  $x \in L$&lt;br&gt;&#xA;2)  $x$ epsilon-far from every $y \in L$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here, epsilon-far is generally taken to mean hamming distance.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I don't quite understand why property testing has this asymmetric definition, i.e. why don't we want 1) to be  &quot;$x$ epsilon-close to some $y \in L$&quot;&lt;/p&gt;&#xA;" OwnerUserId="9339" LastEditorUserId="186" LastEditDate="2012-05-10T05:07:05.777" LastActivityDate="2012-05-10T05:07:05.777" Title="Asymmetry in Property Testing Definition" Tags="&lt;machine-learning&gt;&lt;big-picture&gt;&lt;property-testing&gt;" AnswerCount="3" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11356" PostTypeId="2" ParentId="11355" CreationDate="2012-05-06T18:22:35.057" Score="7" Body="&lt;p&gt;This is because there isn't really a gap between $\epsilon$-close to having a property $P$ and being $\epsilon$-far to having property $P$. As a crude example, suppose we're testing the property of being the all $0$ string. What's the difference between being $\epsilon$-far and $\epsilon$-close to the $0$ string? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;You could try to distinguish between being $\epsilon/2$-close vs $\epsilon$-far, because there's a gap. However, in many applications of property testing, we're guaranteed that either the object $x$ has property $P$ or is quite far from having property $P$. For example, in probabilistically checkable proofs, the object is the PCP proof, and it's either satisfying, or far from satisfying, and we want to determine which is the case.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hope this helps. So, short answer: there's an asymmetry because of how property testing is used &quot;in practice&quot;.&lt;/p&gt;&#xA;" OwnerUserId="170" LastEditorUserId="170" LastEditDate="2012-05-06T18:28:48.137" LastActivityDate="2012-05-06T18:28:48.137" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11357" PostTypeId="2" ParentId="11355" CreationDate="2012-05-06T18:25:05.720" Score="11" Body="&lt;p&gt;There is a notion of property testing in which 1) is indeed &quot;x is epsilon'-close to some y in L&quot; (where epsilon' &amp;lt; epsilon), which is called &lt;strong&gt;tolerant property testing&lt;/strong&gt;. In general, tolerant testers are harder to design than property tester (since property testing is a special case).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In many cases, one can actually construct a one-sided error property tester which accepts all x in L with probability 1. These constructions rely on locally testing some sort of condition which things in L satisfy globally (and hence anything in L always passes) whereas inputs that are far away from L are unlikely to pass. For example, say you want to test whether a boolean function is linear, i.e. f(x) + f(y) = f(x+y). A natural test would be to randomly pick two points x,y and verify that f(x) + f(y) = f(x+y). Any f that is already linear always passes this test, and one can easily show that those f which are far from being linear fail this test with high constant probability. The problem with detecting if f is close to being linear comes from the fact that the probability of detecting this is too small. &lt;/p&gt;&#xA;" OwnerUserId="5448" LastActivityDate="2012-05-06T18:25:05.720" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11358" PostTypeId="2" ParentId="10916" CreationDate="2012-05-06T19:44:26.353" Score="13" Body="&lt;p&gt;Rings, modules, and algebraic varieties are used in error correction and, more generally, coding theory.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Specifically, there is an abstract error correcting scheme (algebraic-geometry codes) which generalizes Reed-Solomon codes and Chinese Remainder codes. The scheme is basically to take your messages to come from a ring R and encode it by taking its residues modulo many different ideals in R. Under certain assumptions about R, one can prove that this makes a decent error correcting code.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the world of list decoding, a recent &lt;a href=&quot;http://arxiv.org/pdf/1106.0436.pdf&quot;&gt;paper&lt;/a&gt; by Guruswami gives an linear-algebraic method of list decoding folded Reed-Solomon codes, which has the nice property that all of the candidate messages lie in a low-dimensional affine subspace of the message space. One can construct &lt;strong&gt;subspace evasive sets&lt;/strong&gt;, sets which are almost as large as the whole space but have small intersection with every low-dimensional affine subspace. If one restricts messages to come from a subspace evasive set inside the message space, then Guruswami's scheme gives an algorithm that guarantees nice list size. So far the only explicit construction of subspace evasive sets is given by Dvir and Lovett in their upcoming STOC paper, &lt;a href=&quot;http://arxiv.org/pdf/1110.5696.pdf&quot;&gt;Subspace Evasive Sets&lt;/a&gt; and construct the set by taking a specific affine variety (and taking its Cartesian product with itself).&lt;/p&gt;&#xA;" OwnerUserId="5448" LastActivityDate="2012-05-06T19:44:26.353" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11361" PostTypeId="2" ParentId="11345" CreationDate="2012-05-07T01:49:57.650" Score="9" Body="&lt;p&gt;The answer is complicated, for two reasons.  &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Different people in Computer Science interpret the term &quot;object&quot; differently.  One is that an object consists of some data and operations packaged together.  The other is that an object is all that but also has &quot;state,&quot; i.e., it is some form of a &lt;em&gt;changeable&lt;/em&gt; entity.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;There are deep philosophical issues to do with what &quot;change&quot; means (and what &quot;entity&quot; means, as it is constantly changing), and whether mathematical descriptions actually capture changeable entities.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Object in the sense of &lt;em&gt;data + operations&lt;/em&gt;: That is pretty standard in mathematics.  Take any group theory text book.  It will have somewhere a definition such as $h_g(x) = g x g^{-1}$.  (It is a conjugation operator.)  The $h_g$ is an &quot;object&quot; in this terminology.  It has some data ($g$) and an operation $x \mapsto g x g^{-1}$.  Or you can make it more object-y by taking the pair $\langle g, x \mapsto gxg^{-1}\rangle$ or the triple $\langle g, x \mapsto gxg^{-1}, x \mapsto g^{-1}xg\rangle$.  You can construct these kind of &quot;objects&quot; in any functional programming language that has lambda abstraction and some way to form tuples.  Abadi and Cardelli's &quot;Theory of Objects&quot; deals with objects of this kind extensively.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Objects with &lt;em&gt;state&lt;/em&gt; (or objects that &lt;em&gt;change&lt;/em&gt;): Does mathematics have such things?  I don't think so.  I haven't seen a mathematician talk about anything that changes, not in his/her professional life.  Newton used to write $x$ for the position of a particle, which is supposedly changing, and $\dot{x}$ for its rate of change.  Mathematicians eventually figured out that what Newton was talking about was a function $x(t)$ from real numbers into a vector space, and $\dot{x}$ was another such function which was the first derivative of $x(t)$ with respect to $t$.  From this, many deep-thinking mathematicians have concluded that change doesn't really exist and all you have are functions of time.  But what was changing in Newtonian mechanics wasn't the position, but the &lt;em&gt;particle&lt;/em&gt;.  The position is its instantaneous state.  No mathematician or physicist would pretend that a particle is a mathematical idea.  It is a physical thing.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So it is with objects.  They are &quot;physical&quot; things, and the states are their mathematical attributes.  For a nice discussion of this aspect, see the Chapter 3 of Abelson and Sussman's &lt;a href=&quot;http://mitpress.mit.edu/sicp/full-text/book/book.html&quot; rel=&quot;nofollow&quot;&gt;Structure and Interpretation of Computer Programs&lt;/a&gt;.  This is a text-book at MIT and they teach it to all scientists and engineers, who I think understand &quot;physical&quot; things perfectly fine.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The fact that particles aren't mathematical doesn't mean that we can't deal with them mathematically.  If you ask a mathematician to model a two-particle system, he will immediately make up two functions and call them $x_1(t)$ and $x_2(t)$.  So, the two particles reduces to two meaningless indices (1 and 2).  This is the mathematician's way of saying we don't know what those particles are and we don't care.  All we need to know is that their positions evolve independently (or separately).  So, we will model them by two separate functions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Similarly the standard mathematical way to model object-oriented programs is to treat each object as an index into the state space.  The only difference is that since objects come and go, and the structure of the system is dynamic, we need to extend it to a &quot;possible world&quot; model where each world is basically a collection of indices.  Allocation and deallocation of objects would involve moving from one world to another.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is a problem though.  Unlike in mechanics, we want the state of our objects to be &lt;em&gt;encapsulated&lt;/em&gt;.  But the mathematical descriptions of objects put states all over the place, completely destroying encapsulation.  There is a mathematical trick called &quot;relational parametricity&quot; which can be used to cut things back to size.  I won't go into it now, except to emphasize that it is a mathematical trick, not a very conceptual explanation of encapsulation.  A second way of modelling objects mathematically, &lt;em&gt;with&lt;/em&gt; encapsulation, is to finesse the states and describe the object behaviour in terms of observable events.  For a good discussion of both of these models, I can refer you to my paper titled &lt;a href=&quot;http://www.cs.bham.ac.uk/~udr/papers/objects-and-classes.pdf&quot; rel=&quot;nofollow&quot;&gt;Objects and classes in Algol-like Languages&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;[Note added:]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A nice analysis of the mathematical underpinnings of objects can be found in William Cook's article &quot;&lt;a href=&quot;http://www.cs.utexas.edu/~wcook/Drafts/2009/essay.pdf&quot; rel=&quot;nofollow&quot;&gt;On Understanding Data Abstraction, Revisited&lt;/a&gt;&quot;.&lt;/p&gt;&#xA;" OwnerUserId="8519" LastEditorUserId="8519" LastEditDate="2014-05-05T21:53:51.693" LastActivityDate="2014-05-05T21:53:51.693" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="11362" PostTypeId="2" ParentId="11345" CreationDate="2012-05-07T02:28:58.523" Score="0" Body="&lt;p&gt;think theres a pretty good theoretical description of objects in the old classic book &quot;structure and interpretation of computer programs&quot;[1] by abelson &amp;amp; sussman, based on scheme (a lisp variant). now free online! this does show how the concept of object orientation can be embedded even into the lambda calculus (~aka Lisp) if you have some mechanism to store local state. as I understand it, this was a std MIT textbook for many yrs. not saying this is the best ref on the subj; am sure there are other better ones at this pt.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I dont think this has been totally formalized anywhere Ive heard of but loosely speaking objects are basically composed of code + data in the form of&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;methods (with parameters)&lt;/li&gt;&#xA;&lt;li&gt;state, ie instance variables&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;in some encapsulated form. arguably other aspects such as inheritance are not fundamental. as is stated in abelson &amp;amp; sussman, what they call &quot;syntactic sugar&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] &lt;a href=&quot;http://mitpress.mit.edu/sicp/full-text/book/book.html&quot; rel=&quot;nofollow&quot;&gt;structure &amp;amp; interpretation of computer programs by abelson &amp;amp; sussman&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2012-05-07T02:28:58.523" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="11363" PostTypeId="1" AcceptedAnswerId="11365" CreationDate="2011-10-24T12:49:49.657" Score="51" ViewCount="1720" Body="&lt;p&gt;In his celebrated paper &quot;Conjugate Coding&quot; (written around 1970), Stephen Wiesner proposed a scheme for quantum money that is unconditionally impossible to counterfeit, assuming that the issuing bank has access to a giant table of random numbers, and that banknotes can be brought back to the bank for verification.  In Wiesner's scheme, each banknote consists of a classical &quot;serial number&quot; $s$, together with a quantum money state $|\psi_s\rangle$ consisting of $n$ unentangled qubits, each one either&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$|0\rangle,\ |1\rangle,\ |+\rangle=(|0\rangle+|1\rangle)/\sqrt{2},\ \text{or}\ |-\rangle=(|0\rangle-|1\rangle)/\sqrt{2}.$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The bank remembers a classical description of $|\psi_s\rangle$ for every $s$.  And therefore, when $|\psi_s\rangle$ is brought back to the bank for verification, the bank can measure each qubit of $|\psi_s\rangle$ in the correct basis (either $\{|0\rangle,|1\rangle\}$ or ${|+\rangle,|-\rangle}$), and check that it gets the correct outcomes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, because of the uncertainty relation (or alternatively, the No-Cloning Theorem), it's &quot;intuitively obvious&quot; that, if a counterfeiter who &lt;i&gt;doesn't&lt;/i&gt; know the correct bases tries to copy $|\psi_s\rangle$, then the probability that &lt;i&gt;both&lt;/i&gt; of the counterfeiter's output states pass the bank's verification test can be at most $c^n$, for some constant $c&amp;lt;1$.  Furthermore, this should be true regardless of what strategy the counterfeiter uses, consistent with quantum mechanics (e.g., even if the counterfeiter uses fancy entangled measurements on $|\psi_s\rangle$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, while writing a paper about other quantum money schemes, my coauthor and I realized that we'd never seen a rigorous proof of the above claim anywhere, or an explicit upper bound on $c$: neither in Wiesner's original paper nor in any later one.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, &lt;i&gt;has&lt;/i&gt; such a proof (with an upper bound on $c$) been published?  If not, then can one derive such a proof in a more-or-less straightforward way from (say) approximate versions of the No-Cloning Theorem, or results about the security of the BB84 quantum key distribution scheme?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;b&gt;Update:&lt;/b&gt; In light of the discussion with Joe Fitzsimons below, I should clarify that I'm looking for more than just a reduction from the security of BB84.  Rather, I'm looking for an &lt;i&gt;explicit upper bound&lt;/i&gt; on the probability of successful counterfeiting (i.e., on $c$)---and ideally, also some understanding of what the optimal counterfeiting strategy looks like.  I.e., does the optimal strategy simply measure each qubit of $|\psi_s\rangle$ independently, say in the basis&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\{ \cos(\pi/8)|0\rangle+\sin(\pi/8)|1\rangle, \sin(\pi/8)|0\rangle-\cos(\pi/8)|1\rangle \}?$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Or is there an entangled counterfeiting strategy that does better?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;b&gt;Update 2:&lt;/b&gt; Right now, the best counterfeiting strategies that I know are (a) the strategy above, and (b) the strategy that simply measures each qubit in the $\{|0\rangle,|1\rangle\}$ basis and &quot;hopes for the best.&quot;  Interestingly, &lt;i&gt;both&lt;/i&gt; of these strategies turn out to achieve a success probability of (5/8)&lt;sup&gt;n&lt;/sup&gt;.  So, my conjecture of the moment is that (5/8)&lt;sup&gt;n&lt;/sup&gt; might be the right answer.  In any case, the fact that 5/8 is a &lt;i&gt;lower&lt;/i&gt; bound on c rules out any security argument for Wiesner's scheme that's &quot;too&quot; simple (for example, any argument to the effect that there's nothing nontrivial that a counterfeiter can do, and therefore the right answer is c=1/2).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;b&gt;Update 3:&lt;/b&gt; Nope, the right answer is (3/4)&lt;sup&gt;n&lt;/sup&gt;!  See the discussion thread below Abel Molina's answer.&lt;/p&gt;&#xA;" OwnerUserId="1575" OwnerDisplayName="Scott Aaronson" LastActivityDate="2012-05-07T05:30:45.520" Title="Rigorous security proof for Wiesner's quantum money?" Tags="&lt;quantum-computing&gt;" AnswerCount="3" CommentCount="11" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="11364" PostTypeId="2" ParentId="11363" CreationDate="2011-10-24T18:40:13.980" Score="16" Body="&lt;p&gt;I don't know of a published security proof.  I would think the simplest way and strongest bound would come from approximate no-cloning, but I guess you'd need a version specialized for the BB84 states.  Even a reduction from BB84 is not obvious, since the security condition for BB84 is different.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I do think you can get a proof straightforwardly as a consequence of the security proof of uncloneable encryption (&lt;a href=&quot;http://arxiv.org/abs/quant-ph/0210062&quot;&gt;quant-ph/0210062&lt;/a&gt;).  This won't get a tight upper bound on the cheating probability, but at least it gives security.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In uncloneable encryption, A sends B a classical message using quantum states.  (A and B share a secret key.)  The security condition is two-fold: a) When Eve intercepts the initial transmission, she gets no information about message.  b) Whatever strategy Eve adopts, either she will be caught by Bob with very high probability, or her residual state $\rho_k$ when the key is k has almost no information about the message.  b says that if Eve is unlikely to be caught, she retains no information about the message &lt;em&gt;even if she later learns the key used by A and B&lt;/em&gt;.  This is interpreted as a no-cloning result: Eve could steal the ciphertext, but she cannot copy it without messing up Bob's received message.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This can be used to create a quantum money scheme: Bank A uses uncloneable encryption to encrypt a random string the &quot;message&quot;.  There is an uncloneable encryption scheme which is basically BB84, so this could give Weisner's scheme.  Eve intercepts the money, interacts with it, and sends the modified original on to Bank B.  She also tries to make a copy, which goes to Bank C.  Banks B and C accept if the state provided to them passes the uncloneable encryption eavesdropping test, and if they decode the correct random &quot;message&quot; string.  Uncloneable encryption property b says that, with high probability, either B's copy fails the eavesdropping test or C's copy contains almost no information about the message.  This is stronger than needed, but sufficient to prove security.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For best asymptotic attack, I would imagine, due to quantum de Finetti, that the best collective attack is the same as the best individual attack.&lt;/p&gt;&#xA;" OwnerDisplayName="Daniel Gottesman" LastActivityDate="2012-01-18T14:24:21.630" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11365" PostTypeId="2" ParentId="11363" CreationDate="2011-10-25T17:47:58.497" Score="34" Body="&lt;p&gt;It seems like this interaction can be modeled in the following way:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Alice prepares one of the states $|000\rangle$, $|101\rangle$,$(|0\rangle+|1\rangle)|10\rangle/\sqrt{2}$, $(|0\rangle-|1\rangle)|11\rangle/\sqrt{2}$, according to a certain probability distribution, and sends the first qubit to Bob.&lt;/li&gt;&#xA;&lt;li&gt;Bob performs an arbitrary quantum channel that sends his qubit to two qubits, which are then returned to Alice.&lt;/li&gt;&#xA;&lt;li&gt;Alice performs a projective measurement on the four qubit on her possession. &lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;If I am not wrong about this (and sorry if I am), this falls within the formalism from Gutoski and Watrous presented &lt;a href=&quot;http://www.cs.uwaterloo.ca/~watrous/Papers/General%20Theory%20of%20Quantum%20Games.pdf&quot;&gt;here&lt;/a&gt; and &lt;a href=&quot;http://arxiv.org/abs/1003.0038&quot;&gt;here&lt;/a&gt;, which implies that:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;From Theorem 4.9 in the second of those, it is optimal to Bob to act independently  when Alice repeats this process with several qubits in an independent way, if the objective of Bob is to always fool Alice.&lt;/li&gt;&#xA;&lt;li&gt;It is possible to obtain the value of c from a small semidefinite program. You can find more details of how to obtain this program in Section 3 &lt;a href=&quot;http://arxiv.org/abs/1104.1140&quot;&gt;here&lt;/a&gt;. See the comments for the cvx code for the program and its value.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="1632" OwnerDisplayName="Abel Molina" LastActivityDate="2011-11-25T16:30:37.277" CommentCount="18" ContentLicense="CC BY-SA 3.0" />
  <row Id="11366" PostTypeId="2" ParentId="11363" CreationDate="2011-10-26T10:02:36.173" Score="19" Body="&lt;p&gt;The question of cloning the BB84 states was covered in &lt;a href=&quot;http://arxiv.org/abs/quant-ph/9909046&quot;&gt;the paper&lt;/a&gt; &quot;Phase covariant quantum cloning&quot; by Dagmar Bruß, Mirko Cinchetti, G. Mauro D'Ariano, and Chiara Macchiavello [&lt;em&gt;Phys Rev. A,&lt;/em&gt; &lt;strong&gt;62,&lt;/strong&gt; 012302 (2000), Eq. 36]. They give an optimal cloner for these states (which is also an optimal cloner for any states $\alpha |0\rangle + \beta |1\rangle$ with $\alpha$, $\beta\in \mathbb{R}\:$). They do not optimize using the same fidelity measure that you are asking about, but I suspect that their cloner is optimal for your question. Their cloner gives success probability $$\left(\frac{1}{2}+ \frac{1}{\sqrt{8}}\right)^{2n} \approx .72855^n$$&#xA;for counterfeiting $n$ BB84 states, quite a bit better than $(\frac{5}{8})^n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;UPDATE: Bruß et al.'s optimal cloner is given by $\sum_{i=1}^2 A_i \rho A_i^\dagger$  where&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$A_1 = \left( \begin{array}{cc} \frac{1}{2}+\frac{1}{\sqrt{8}} &amp;amp; 0\\&#xD;&#xA;0 &amp;amp; \frac{1}{\sqrt{8}}\\&#xD;&#xA;0 &amp;amp; \frac{1}{\sqrt{8}}\\&#xD;&#xA;\frac{1}{2}-\frac{1}{\sqrt{8}} &amp;amp; 0&#xD;&#xA;\end{array} &#xD;&#xA;\right) \ \ \ \ &#xD;&#xA;A_2 = \left(\begin{array}{cc} 0&amp;amp; \frac{1}{2}-\frac{1}{\sqrt{8}} \\&#xD;&#xA;\frac{1}{\sqrt{8}}&amp;amp;0\\&#xD;&#xA;\frac{1}{\sqrt{8}}&amp;amp;0\\&#xD;&#xA;0&amp;amp;\frac{1}{2}+\frac{1}{\sqrt{8}} &#xD;&#xA;\end{array} &#xD;&#xA;\right) .&#xD;&#xA;$$ &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The optimal cloner found by the solution to Abel's semindefinite program is $\sum_{i=1}^2 A_i \rho A_i^\dagger$  where:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$A_1 = \frac{1}{\sqrt{12}}\left( \begin{array}{cc} 3 &amp;amp; 0\\&#xD;&#xA;0 &amp;amp; 1\\&#xD;&#xA;0 &amp;amp; 1\\&#xD;&#xA;1 &amp;amp; 0&#xD;&#xA;\end{array} &#xD;&#xA;\right) \ \ \ \ &#xD;&#xA;A_2 = \frac{1}{\sqrt{12}}\left(\begin{array}{cc} 0&amp;amp; 1 \\&#xD;&#xA;1&amp;amp;0\\&#xD;&#xA;1&amp;amp;0\\&#xD;&#xA;0&amp;amp;3 &#xD;&#xA;\end{array} &#xD;&#xA;\right) .&#xD;&#xA;$$ &lt;/p&gt;&#xA;&#xA;&lt;p&gt;These clearly come from the same family of transformations, but have been optimized to satisfy different objective functions. This family of covariant transformations appears to be given by&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$A_1 = \frac{1}{\sqrt{2x^2+4y^2}}\left( \begin{array}{cc} x+y &amp;amp; 0\\&#xD;&#xA;0 &amp;amp; y\\&#xD;&#xA;0 &amp;amp; y\\&#xD;&#xA;x-y &amp;amp; 0&#xD;&#xA;\end{array} &#xD;&#xA;\right) \ \ \ \ &#xD;&#xA;A_2 = \frac{1}{\sqrt{2x^2+4y^2}}\left(\begin{array}{cc} 0&amp;amp; x-y \\&#xD;&#xA;y&amp;amp;0\\&#xD;&#xA;y&amp;amp;0\\&#xD;&#xA;0&amp;amp;x+y &#xD;&#xA;\end{array} &#xD;&#xA;\right) .&#xD;&#xA;$$ &lt;/p&gt;&#xA;" OwnerUserId="1677" OwnerDisplayName="Peter Shor " LastActivityDate="2011-10-27T02:18:54.180" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="11367" PostTypeId="1" AcceptedAnswerId="11368" CreationDate="2012-05-07T10:11:57.350" Score="1" ViewCount="1552" Body="&lt;p&gt;&lt;strong&gt;What's the worst-case asymptotic-complexity of the &lt;a href=&quot;http://en.wikipedia.org/wiki/Set_cover_problem&quot; rel=&quot;nofollow&quot;&gt;Set-cover problem&lt;/a&gt; in &lt;a href=&quot;http://en.wikipedia.org/wiki/Big_O_notation&quot; rel=&quot;nofollow&quot;&gt;Big O notation&lt;/a&gt;?&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I've been developing some novel techniques to try and solve this problem but am having trouble finding the theoretical limits I need to surpass.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks for all information&lt;/p&gt;&#xA;" OwnerUserId="7860" LastActivityDate="2012-05-07T12:03:59.683" Title="Worst-case asymptotic-complexity of the Set-cover problem?" Tags="&lt;cc.complexity-theory&gt;&lt;time-complexity&gt;&lt;set-cover&gt;&lt;notation&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11368" PostTypeId="2" ParentId="11367" CreationDate="2012-05-07T10:25:00.190" Score="7" Body="&lt;p&gt;I don't see how you can say that SCP or any other problem has &quot;worst-case asymptotic complexity&quot;, but surely an algorithm solving it can have. However, the problem is NP-complete, and the optimization version is NP-hard. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For an exact algorithm, this is clearly a &quot;theoretical limit&quot;. For an exact algorithm, see for example E. Balas and M. C. Carrera, A Dynamic Subgradient-Based Branch-and-Bound Procedure for Set Covering, Operations Research 44, 875-890, 1996. According to &lt;a href=&quot;http://www.dei.unipd.it/~fisch/papers/survey_set_covering_problem.pdf&quot;&gt;A. Caprara et al., Algorithms for the Set Covering Problem, 2000&lt;/a&gt;, this algorithm of Balas and Carrera is the fastest known exact algorithm. The result is a bit old already, so I'm not sure if there are newer and faster exact algorithms.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is a &lt;a href=&quot;http://en.wikipedia.org/wiki/Set_cover_problem#Greedy_algorithm&quot;&gt;simple greedy polynomial time approximation algorithm&lt;/a&gt; with an approximation ratio of $H_n$, where $H_n$ is the $n$th harmonic number. Under reasonable assumptions, this is the best one can do, since if there exists a $c \ln n$-approximation algorithm for the (unweighted) set cover problem for some constant $c &amp;lt; 1$, then there is an $O(n^{O(\log \log n)})$-time deterministic algorithm for each NP-complete problem. I think the Wikipedia page gives the essential references.&lt;/p&gt;&#xA;" OwnerUserId="5693" LastEditorUserId="5693" LastEditDate="2012-05-07T12:03:59.683" LastActivityDate="2012-05-07T12:03:59.683" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11369" PostTypeId="1" CreationDate="2012-05-07T13:05:02.457" Score="4" ViewCount="388" Body="&lt;p&gt;Suppose that I have a &quot;sub-stochastic&quot; matrix, namely, for an $n\times n$ matrix $A$ with nonnegative entries such that&#xA;for any $i$, $\sum_j a_{ij}\leq 1$ and there exists some $i$ with $\sum_j a_{ij}&amp;lt;1$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is not hard to see the spectral radius of $A$, $\rho(A)&amp;lt;1$. I am wondering how can I bound $\rho(A)$ tightly in terms of entries of $A$ (e.g., the minimal nonzero entry of $A$). One can make reasonable assumptions (e.g. irreducibility). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that I do NOT have that for any $i$, $\sum_j a_{ij}&amp;lt;1$. That case would be much easier. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks!&lt;/p&gt;&#xA;" OwnerUserId="9203" LastEditorUserId="80" LastEditDate="2012-05-10T19:06:17.657" LastActivityDate="2014-02-06T22:12:21.977" Title="Bounding the spectral radius of a sub-stochastic matrix" Tags="&lt;co.combinatorics&gt;&lt;linear-algebra&gt;&lt;matrices&gt;" AnswerCount="0" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="11371" PostTypeId="2" ParentId="11342" CreationDate="2012-05-07T13:57:40.070" Score="3" Body="&lt;p&gt;As I understand, you are interested in an approximate solution. I have two heuristic ideas, maybe they can serve as a starting point.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, if you want more (e.g. randomness in the Haar-measure sense or fixing other properties (graph diameter, spectrum, number of connected components, ...)) they are not sufficient. &lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Rewiring&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;Especially when you want to have distributions of network motifs close to a 'random' one.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Generate a graph with desired distribution of in-degrees and out-degrees.&lt;/li&gt;&#xA;&lt;li&gt;For each pair of nodes $(x,y)$ calculate the number of each motif $m_i(x,y)$&lt;/li&gt;&#xA;&lt;li&gt;Now, in each step:&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Randomly draw two edges.&lt;/li&gt;&#xA;&lt;li&gt;Perform rewiring (i.e. $(a\rightarrow b, c \rightarrow d) \mapsto (a\rightarrow d, c \rightarrow b) $) if it is possible and if it results in distribution of motifs closer to the desired one (e.g. in the sense of the &lt;a href=&quot;http://en.wikipedia.org/wiki/Kullback%E2%80%93Leibler_divergence&quot; rel=&quot;nofollow&quot;&gt;Kullback-Leibler divergence&lt;/a&gt; or perhaps the Euclidian distance). Modify $4\times13$ affected $m_i(x,y)$.&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;As variance is of order $\sqrt{n}$, each rewiring takes a fixed time, you need roughly $n^3/\sqrt{n}$ steps, so I guess that it should scale as $O(n^{2.5})$.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Addition&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;Alternatively, you can try to add edges to an empty graph in such way it produces the desired distribution. Also, one need to hold $m_i(x,y)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For each step one randomly draws a pair of nodes and put an edge if it results in a desired distribution &lt;em&gt;at this step&lt;/em&gt; (perhaps with some randomness).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then the time cost is $O(n^2)$ (or rather $O(\#\text{edges})$ ), so better by $\sqrt{n}$ than the rewiring.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The tricky part is to calculate the desired distribution at each step (or rather - at each edge count). For example, even if one wants to have only $(\bullet\leftrightarrows \bullet\quad \bullet)$ and $(\bullet\quad \bullet\quad \bullet)$ 3-motifs, then when starting one needs to create mostly $(\bullet\rightarrow \bullet\quad \bullet)$ 3-motifs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would guess that the desired distribution at a given edge count $E$ is the one resulting from the final motif distribution with removed edges with the probability $1-\frac{E}{E_{final}}$.   &lt;/p&gt;&#xA;" OwnerUserId="5582" LastEditorUserId="5582" LastEditDate="2012-05-07T15:43:24.870" LastActivityDate="2012-05-07T15:43:24.870" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11372" PostTypeId="2" ParentId="3806" CreationDate="2012-05-07T14:21:11.130" Score="-1" Body="&lt;p&gt;You may be interested in &lt;a href=&quot;http://en.wikipedia.org/wiki/Trace_monoid&quot; rel=&quot;nofollow&quot;&gt;trace theory&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There has also been research on (fully) commutative languages.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Not having studied either, I can't give you any more specific references, but Google can.&lt;/p&gt;&#xA;" OwnerUserId="3113" LastActivityDate="2012-05-07T14:21:11.130" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11373" PostTypeId="5" CreationDate="2012-05-07T14:59:48.787" Score="0" Body="&lt;p&gt;Questions related to &lt;a href=&quot;http://en.wikipedia.org/wiki/Quantum_information&quot; rel=&quot;nofollow&quot;&gt;quantum information&lt;/a&gt;. Some topics that are often considered (cf. &lt;a href=&quot;http://books.google.de/books/about/Quantum_Computation_and_Quantum_Informat.html?id=65FqEKQOfP8C&amp;amp;redir_esc=y&quot; rel=&quot;nofollow&quot;&gt;[1]&lt;/a&gt;) subfields of quantum information are : quantum communication and cryptography, quantum process tomography, quantum error correction, entropy and entanglement theory, and data compression.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For more information, see also:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Information_theory&quot; rel=&quot;nofollow&quot;&gt;&quot;Classical&quot; information theory&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.quantiki.org/wiki/&quot; rel=&quot;nofollow&quot;&gt;Quantiki&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Note: the tag differs from quantum-computing, mainly because it applies to questions about TCS and quantum physics that are not exclusively computational.&lt;/p&gt;&#xA;" OwnerUserId="7286" LastEditorUserId="7286" LastEditDate="2012-05-07T16:48:10.827" LastActivityDate="2012-05-07T16:48:10.827" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11374" PostTypeId="4" CreationDate="2012-05-07T14:59:48.787" Score="0" Body="Theoretical issues related to the quantum treatment of information" OwnerUserId="7286" LastEditorUserId="7286" LastEditDate="2012-05-07T16:48:14.273" LastActivityDate="2012-05-07T16:48:14.273" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11375" PostTypeId="1" AcceptedAnswerId="11380" CreationDate="2012-05-07T17:04:40.020" Score="22" ViewCount="1310" Body="&lt;p&gt;In a tower defense game, you have an NxM grid with a start, a finish, and a number of walls.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/k0wUG.png&quot; alt=&quot;Image1&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Enemies take the shortest path from start to finish without passing through any walls &lt;em&gt;(they aren't usually constrained to the grid, but for simplicity's sake let's say they are.  In either case, they can't move through diagonal &quot;holes&quot;)&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/fbO4P.png&quot; alt=&quot;Image2&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem &lt;em&gt;(for this question at least)&lt;/em&gt; is to place &lt;strong&gt;up to&lt;/strong&gt; K additional walls to maximize the path the enemies have to take, without completely blocking start from the finish.  For example, for K=14&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/5fdlJ.png&quot; alt=&quot;Image3&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;I've determined that this is the same as the &quot;k most vital nodes&quot; problem:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Given an undirected graph G = (V,E) and two nodes s,t ∈ V, the k-most-vital-nodes are the k nodes whose removal maximizes the shortest path from s to t.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Khachiyan et al&lt;sup&gt;1&lt;/sup&gt; showed that, even if the graph is unweighted and bipartite, &lt;strong&gt;even approximating the length of the max-shortest-path within a factor of 2 is NP-Hard&lt;/strong&gt; &lt;em&gt;(given k,s,t)&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;All is not lost, however:  later, L. Cai et al&lt;sup&gt;2&lt;/sup&gt; showed that, for &quot;bipartite permutation graphs&quot; this problem can be solved in pseudo-polynomial time using the &quot;intersection model.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I haven't been able to find anything on unweighted grid-graphs specifically, and I can't figure how &quot;bipartite permutation graphs&quot; are related, if at all.  &lt;strong&gt;Has there been any research published relating to my problem&lt;/strong&gt; - maybe I am looking in the completely wrong place?  Even a decent pseudo-polynomial approximation algorithm would work well.  Thanks!&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;sup&gt;1&lt;/sup&gt; L. Khachiyan, E. Boros, K. Borys, K. Elbassioni, V. Gurvich, G. Rudolf and J. Zhao &lt;em&gt;&quot;On Short Path Interdiction Problems: Total and Node-Wise Limited Interdiction,&quot;&lt;/em&gt; Theory of Computer Systems 43 (2008), 2004-233.  &lt;a href=&quot;http://www.mpi-inf.mpg.de/~elbassio/pub/Inappro+Dijkstra.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;link&lt;/a&gt;.&lt;br&gt;&#xA;&lt;sup&gt;2&lt;/sup&gt; L. Cai and J. Mark Keil, &lt;em&gt;&quot;Finding the k most vital nodes in an interval graph.&quot;&lt;/em&gt;  &lt;a href=&quot;http://homepage.usask.ca/~tsv552/WAGT2011/talk%20MK.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;link&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Note: this question is a follow-up to my stackoverflow question found &lt;a href=&quot;https://stackoverflow.com/questions/10338049/generating-a-tower-defense-maze-longest-maze-with-limited-walls-near-optimal&quot;&gt;here&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;&#xA;" OwnerUserId="8532" LastEditorUserId="-1" LastEditDate="2017-05-23T12:40:09.333" LastActivityDate="2012-05-10T05:06:18.400" Title="Generating a tower defense maze, aka Finding the K most vital nodes (&quot;nodewise interdiction&quot;) in an unweighted grid-graph" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="11377" PostTypeId="1" AcceptedAnswerId="11379" CreationDate="2012-05-07T21:43:41.770" Score="7" ViewCount="288" Body="&lt;p&gt;It is easy to show (by probabilistic argument) that there exist functions that require circuits of size $O(2^n/n)$. This, in turn, can be used to prove a non-deterministic hierarchy theorem showing (roughly) that if $2^n/n &amp;gt; T(n) \gg t(n)$ then there exist functions that can be computed by circuits of size $T$ but not by circuits of size $t$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is known if we are instead interested in &lt;em&gt;approximating&lt;/em&gt; functions rather than computing them exactly? This question can be asked in many ways, but for concreteness let us say that $f \in approxSIZE(t)$ if there is a circuit family of size $t$ that (for each input length) computes $f$ correctly 3/4 of the time. What can be said about existence of hard functions here? What kind of hierarchy theorem is known? Does the answer change if we require the circuits to compute $f$ correctly $1-1/n$ of the time?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note (added after Ryan Williams's answer): In fact, the answer to my first question follows from a simple modification of Shannon's lower bound, since a circuit on $n$ input bits can only $\epsilon$-approximate $\sum_{i=0}^{\epsilon \cdot 2^n} {2^n \choose i} &amp;lt; 2^{H(\epsilon) \cdot 2^n}$ functions, where $H$ denotes the binary entropy function. A hierarchy theorem should follow from this in the usual way.&lt;/p&gt;&#xA;" OwnerUserId="686" LastEditorUserId="686" LastEditDate="2012-05-08T13:36:19.733" LastActivityDate="2012-05-08T13:36:19.733" Title="Non-uniform hierarchy theorem for approximating functions" Tags="&lt;cc.complexity-theory&gt;&lt;circuit-complexity&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="11378" PostTypeId="2" ParentId="11139" CreationDate="2012-05-07T21:56:41.423" Score="1" Body="&lt;p&gt;(I'm not in theory; please regard this as a placeholder answer.)&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Is this a research-level question? You may have more luck at &lt;a href=&quot;https://cs.stackexchange.com/&quot;&gt;cs.stackexchange.com&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The reason you haven't found much relevant literature may be your choice of keywords. The terms  &lt;em&gt;contract&lt;/em&gt; and &lt;em&gt;communication&lt;/em&gt; often refer to describing patterns of interaction formed by message passing as a whole, usually abstracting away from the contents of the messages; your contracts, on the other hand, are limitations on the possible contents of individual messages. That subject is better known as &lt;em&gt;validation&lt;/em&gt;, and indeed, grammars are routinely used for that purpose.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Your example uses HTML as the language to restrict, and introduces a BNF for describing it. Don't do that if you can avoid it; SGML and XML were invented for a reason.  They take away the need for you to describe how to recognize syntax trees in strings, so a grammar merely needs to describe a set of allowable trees. XML is a well-established and well-supported standard, and so are several grammar definition formalisms for XML-based languages: XML Schema, Relax-NG, DTDs, Schematron.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Your example also introduces a technique for describing entity encoding and decoding. SGML and XML come equipped with such a technique, and it is applied in HTML, so why not just use that? (Not that I'm happy with how that works, but it's standard: if you have an XML language, the mechanism is there for you to use.)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;I'm puzzled by &lt;code&gt;@Embeds{URI}&lt;/code&gt; - why isn't &lt;code&gt;URI&lt;/code&gt; simply a nonterminal?  I can see that its grammar isn't that of HTML, but that of URIs, but XML has a way of dealing with that already: XIncludes and namespaces.  (Not that I'm happy with how that works, but it's standard: if you have an XML language, the mechanism is there for you to use.)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;I don't understand your sanitizers or template context propagators. If you do need a more general annotation mechanism that can be used both to constrain syntax and to interpret it, have a look at stuff such as &lt;a href=&quot;http://en.wikipedia.org/wiki/Attribute_grammar&quot; rel=&quot;nofollow noreferrer&quot;&gt;attribute grammar&lt;/a&gt;s, &lt;a href=&quot;http://en.wikipedia.org/wiki/Affix_grammar&quot; rel=&quot;nofollow noreferrer&quot;&gt;affix grammar&lt;/a&gt;s and &lt;a href=&quot;http://en.wikipedia.org/wiki/Definite_clause_grammar&quot; rel=&quot;nofollow noreferrer&quot;&gt;definite clause grammar&lt;/a&gt;s.  I'm not aware of a pendant for XML, but XSLT can be used in a similar way.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;If the point of sanitizers and template context propagators really is to restrict the HTML language, why not just override the grammar for some nonterminals in the HTML grammar with your own, more restrictive definitions? Both XML Schema and Relax NG support this, although I must add that they don't provide any support for limiting such overrides to defining &lt;em&gt;restrictions&lt;/em&gt; only.  An alternative is to use Schematron, in which syntactic constraints are a language construct.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;HTML is an odd choice of language for an example - in a typical web application, there is no great need to constrain the HTML being sent (largely owing to the language being used for markup only and being SGML/XML-based) while it is imperative to put very clear constraints on the messages being accepted in the opposite direction, the HTTP requests. But those are usually simple and don't really use a standard language, unless you put something like SOAP on top. So I'm curious what sort of application you have in mind for this.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;To summarize: yes, there is a lot of support for what you want to do (if I'm not too mistaken about your sanitizers and propagators), especially when the languages you use are XML-based.&lt;/p&gt;&#xA;" OwnerUserId="3113" LastEditorUserId="-1" LastEditDate="2017-04-13T12:48:30.830" LastActivityDate="2012-10-18T00:11:56.380" CommentCount="15" ContentLicense="CC BY-SA 3.0" />
  <row Id="11379" PostTypeId="2" ParentId="11377" CreationDate="2012-05-08T00:38:44.163" Score="9" Body="&lt;p&gt;There are some fairly tight results known for tradeoffs between circuit size and theirapproximation, with which one can prove hierarchy theorems for approximating functions. I would start with the following reference:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://eccc.hpi-web.de/report/1995/041/&quot;&gt;Alexander E. Andreev, Andrea E. F. Clementi, Jose Rolim. Optimal Bounds for the Approximation of Boolean Functions and Some Applications. ECCC, 1995.&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="225" LastActivityDate="2012-05-08T00:38:44.163" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11380" PostTypeId="2" ParentId="11375" CreationDate="2012-05-08T01:05:06.007" Score="12" Body="&lt;p&gt;This appears to be NP-complete by a reduction from Hamiltonian cycle in planar graphs of degree at most three. Hamiltonian cycle should still be hard in planar graphs of degree at most three that contain two adjacent degree-two nodes (this is the part I haven't checked very carefully). Embed the given planar graph into the grid in such a way that each vertex becomes a grid point, each edge becomes a grid path, and all edges have the same length $\ell$ (pad the shorter ones by zigzagging if necessary to achieve this). Let $s$ and $f$ be two adjacent degree-two nodes. Include walls in the initial placement of walls so that only the vertices and edges of the embedding remain available to connect $s$ to $f$. Let $n$ and $m$ be the numbers of vertices and edges in the original graph. Then, the original graph has a Hamiltonian cycle if and only if it is possible to place $m-(n-1)$ more walls in such a way that the new shortest path from $s$ to $f$ has length $(n-1)l+(n-2)$. A path of that length must be a Hamiltonian path in the original graph which together with the edge from $s$ to $f$ forms a Hamiltonian cycle, and conversely if the graph contains a Hamiltonian cycle then you can force the path from $s$ to $f$ to be that long by placing a wall in each other edge.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2012-05-08T01:05:06.007" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="11381" PostTypeId="1" CreationDate="2012-05-08T06:07:11.447" Score="4" ViewCount="796" Body="&lt;p&gt;I have a working genetic algorithm which uses a few genetic operators on pairs of individuals.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;These two individuals are selected by fitness-proportional (roulette-wheel) selection, that is, an individual's likelihood of being selected is proportional to its fitness.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The way a pair is selected is simply by selecting a single individual from the population twice. Sometimes, the same chromosome can be selected twice, and then all genetic operators are simply operating on two copies of the same individual.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, crossover is meaningless in this case.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is, should I take measures to ensure the pair that are selected are not equal?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Or should I mitigate the problem by performing operators on single individuals first (such as mutation), so the pair are more likely to be different when it comes to things like crossover?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Or should I ignore the problem completely, &quot;let nature take its course&quot;, and allow an individual to breed with itself?&lt;/p&gt;&#xA;" OwnerUserId="9352" LastEditorUserId="186" LastEditDate="2012-05-10T05:07:34.437" LastActivityDate="2012-05-10T05:07:34.437" Title="Selection in a genetic algorithm" Tags="&lt;ne.neural-evol&gt;&lt;genetic-algorithms&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="11382" PostTypeId="1" AcceptedAnswerId="11386" CreationDate="2012-05-08T06:42:10.027" Score="22" ViewCount="3213" Body="&lt;p&gt;I noticed that regular languages over the alphabet $\Sigma$ can be naturally thought of as a poset, and indeed a lattice. Moreover, concatenation together with the empty language $\epsilon$ defines a strict monoidal structure on this category that is distributive over joins (I'm not sure about meets). Is this a useful construct in theory or practice of regular languages? Are there some nice adjunctions to be found, e.g. can we define the Kleene star as one?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is a copy of a question asked at the Compilers course at Coursera:&#xA;&lt;a href=&quot;https://class.coursera.org/compilers/forum/thread?thread_id=311&quot;&gt;https://class.coursera.org/compilers/forum/thread?thread_id=311&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="8302" LastEditorUserId="186" LastEditDate="2012-05-10T05:27:11.633" LastActivityDate="2021-04-26T07:40:17.870" Title="Regular languages from category-theoretical point of view" Tags="&lt;fl.formal-languages&gt;&lt;regular-language&gt;&lt;ct.category-theory&gt;" AnswerCount="3" CommentCount="6" FavoriteCount="20" ContentLicense="CC BY-SA 3.0" />
  <row Id="11383" PostTypeId="2" ParentId="11381" CreationDate="2012-05-08T06:51:25.370" Score="0" Body="&lt;p&gt;Having crossover between the same individual can lead to local optima where only that individual will stay in the population. However, this is not always the case, it is best to test each of your ideas to your own problem :)&lt;/p&gt;&#xA;" OwnerUserId="9212" LastActivityDate="2012-05-08T06:51:25.370" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11384" PostTypeId="2" ParentId="11355" CreationDate="2012-05-08T07:55:21.290" Score="5" Body="&lt;p&gt;To complement Alan Guo's answer, you can also note that such a tolerant tester cannot have one-sided error and still have a sublinear query complexity (since an adversary is always allowed to change some fraction of the input). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's actually an interesting open question to tell whether there is some universal translation between property testers and tolerant property testers. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For dense graph properties a constant query tester implies a constant query tolerant tester (actually it implies a bit more, you can obtain an approximation of the distance with a constant number of queries): &#xA;E. Fischer and I. Newman, Testing versus estimation of graph properties, SIAM Journal on Computing37 (2007), 482-501&#xA;&lt;a href=&quot;http://www.cs.technion.ac.il/~eldar/genf.ps&quot; rel=&quot;noreferrer&quot;&gt;http://www.cs.technion.ac.il/~eldar/genf.ps&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For Boolean strings this translation cannot be too good. There are properties of Boolean string that can be tested with a constant number of queries but there exists no tolerant tester with a constant number of queries:&#xA;E. Fischer and L. Fortnow, Tolerant versus intolerant testing for Boolean properties, Theory of Computing 2 (2006), Article 9, 173-183&#xA;&lt;a href=&quot;http://www.cs.technion.ac.il/~eldar/ttg.ps&quot; rel=&quot;noreferrer&quot;&gt;http://www.cs.technion.ac.il/~eldar/ttg.ps&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="5835" LastActivityDate="2012-05-08T07:55:21.290" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="11385" PostTypeId="2" ParentId="11381" CreationDate="2012-05-08T09:33:05.260" Score="6" Body="&lt;p&gt;The usual course is to feign ignorance and let it happen.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, it is generally bad, so you'd ideally take steps to make it less likely to happen. The brute force solution is of course to simply check for equality and reselect one of the parents if necessary. You can do this, but there's a decent chance that if all you do is throw away the duplicates, the overhead of checking every time may start to limit the returns you get.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another way to minimize these effects is to use a selection operator that is less biased. Roulette-wheel selection has a very high probability of selecting from only the handful of best individuals in many cases (depends on the particular distribution of fitness values of course). You're probably better off starting off with tournament selection as your default choice. It will give you a wider coverage of the parent pool, which keeps more diversity around for longer. Also, you can tweak the knobs a bit by looking at how you do environment selection (replacing old parents by some combination of old parents and new offspring). The more strongly elitist you are, the faster you'll converge, which you usually want to avoid.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One of the best black-box GAs out there is CHC (Eshelman, 1990) (always be wary of black boxes, but if you're going to treat the method as one, CHC seems to be one of the more effective ones). CHC is worth looking at, partly because it is a pretty good search algorithm, and partly because it provides a window into the types of things you can do to a standard GA to try and exert a bit more control over what it's doing.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;CHC takes a very odd approach. It pairs parents completely randomly and without replacement. This means that every parent is selected exactly once (recombination produces two offspring, so each parent is selected as part of one mating pair giving N/2 pairs * 2 offspring/pair = N offspring). Crossover is &quot;HUX&quot; or half-uniform crossover, which produces offspring maximally distant from their parents. Combined, these give a very explorative search. In addition though, it is maximally elitist. Of the N parents and N offspring, the best N of the total are kept. This drives convergence very quickly -- very exploitative. Finally, parents produce no offspring at all if they are closer than a threshold value to one another. The threshold starts at L/4 (L=length of encoding), and is decremented each time zero offspring are produced in a generation. Thus the number of offspring produced in each generation is variable, and this number is used to determine how much the population has converged. At some point, when it has converged sufficiently (when the threshold reaches zero), CHC performs a &quot;cataclysmic mutation&quot; in which all but one individual have 35% of their bits randomly flipped and the process restarts.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Unfortunately the original paper describing CHC is only available in dead-tree form as far as I know. However, you can find a few descriptions online and in other papers that reference it.&lt;/p&gt;&#xA;" OwnerUserId="5832" LastActivityDate="2012-05-08T09:33:05.260" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11386" PostTypeId="2" ParentId="11382" CreationDate="2012-05-08T09:33:26.193" Score="19" Body="&lt;p&gt;There has been a lot done applying category theory to regular languages and automata. One starting point is the recent papers:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.springerlink.com/content/287512r87275mk8x/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Bialgebraic Review of Deterministic Automata, Regular Expressions and Languages&lt;/a&gt;&#xA;by Bart Jacobs&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://pi.math.cornell.edu/~worthing/bialgebra.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;A Bialgebraic Approach to Automata and Formal Language Theory&lt;/a&gt; by James Worthington.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;In the first of these papers, the structure of regular expressions is treated algebraically and the languages generated are dealt with coalgebraically. These two views are integrated in a bialgebraic setting.  A bialgebra is an algebra-coalgebra pair with a suitable distributive law capturing the interplay between the syntactic terms (the regular expressions) and the computational behaviour (languages generated). The basis of this paper is algebra and coalgebra, as treated in computer science under the umbrellas of universal algebra and coalgebra, rather than what one sees in mathematics (groups etc).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The second paper uses techniques that come from the more traditional mathematical treatment of algebra (modules etc) and coalgebra, but I'm afraid that I don't know the details.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Neither treats Kleene star as an adjunction, as far as I can tell.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More generally, there is a lot of work applying category theory to automata instead of regular expressions. A sample of this work includes:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Bloom S.L.; Sabadini N.; Walters R.F.C. &lt;a href=&quot;http://www.cs.stevens.edu/~bloom/research/pubs2/mmb.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Matrices, Machines and Behaviors.&lt;/a&gt; Applied Categorical Structures, Volume 4, Number 4, December 1996 , pp. 343-360(18)  &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Michael A. Arbib, Ernest G. Manes: &lt;a href=&quot;http://www.springerlink.com/content/y650u4451q421573/&quot; rel=&quot;nofollow noreferrer&quot;&gt;A categorist's view of automata and systems.&lt;/a&gt; Category Theory Applied to Computation and Control 1974: 51-64&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;M.A. Arbib and E.G. Manes. &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/0022404975900286&quot; rel=&quot;nofollow noreferrer&quot;&gt;Adjoint machines, state-behaviour machines, and &#xA;duality&lt;/a&gt;. Journal of Pure and Applied Algebra, 6:313-344, 1975.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;M.A. Arbib and E.G. Manes. &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/0022404980900900&quot; rel=&quot;nofollow noreferrer&quot;&gt;Machines in a category&lt;/a&gt;. Journal of Pure and Applied&#xA;Algebra, 19:9-20, 1980.&lt;/li&gt;&#xA;&lt;li&gt;Jirí Adámek and Vera Trnková's book  &lt;a href=&quot;http://books.google.co.uk/books?id=MkADy_WxInsC&amp;amp;lpg=PP1&amp;amp;dq=automata%20and%20algebras%20in%20categories&amp;amp;pg=PA82#v=onepage&amp;amp;q&amp;amp;f=false&quot; rel=&quot;nofollow noreferrer&quot;&gt;Automata and Algebras in Categories&lt;/a&gt;, &lt;em&gt;as pointed out in a comment&lt;/em&gt;.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Finally, there's the work on iteration theories, &lt;a href=&quot;http://www.cs.stevens.edu/~bloom/research/bk3.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Iteration theories: the equational logic of iterative processes&lt;/a&gt; by Stephen L. Bloom and Zoltán Ésik, which focusses on iteration (e.g., Kleene star), but from a more general perspective, where regular languages are just one thing that falls under the theory.&lt;/p&gt;&#xA;" OwnerUserId="77" LastEditorUserId="32941" LastEditDate="2019-07-05T15:54:59.447" LastActivityDate="2019-07-05T15:54:59.447" CommentCount="3" ContentLicense="CC BY-SA 4.0" />
  <row Id="11387" PostTypeId="1" CreationDate="2012-05-08T10:20:52.763" Score="7" ViewCount="113" Body="&lt;p&gt;It is known that &lt;a href=&quot;http://en.wikipedia.org/wiki/Planar_separator_theorem&quot;&gt;planar graphs admit &quot;good&quot; separators&lt;/a&gt;, allowing to design PTASes for specific problems such as MINIMUM INDEPENDENT SET by recursive separation of the graph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, it seems that this specific approach does not lead to a PTAS for the MINIMUM DOMINATING SET problem (MDS), whereas other approaches do, see &lt;a href=&quot;http://erikdemaine.org/papers/PlanarApprox_Encyclopedia2008/&quot;&gt;E. D. Demaine and M. Hajiaghayi: Approximation Schemes for Planar Graph Problems (1983, 1984; Baker)&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In &lt;a href=&quot;http://www.springerlink.com/content/m4g170852t346356/&quot;&gt;T. Nieberg and J. Hurink: A PTAS for the Minimum Dominating Set Problem in Unit Disk Graphs&lt;/a&gt; (also accessible &lt;a href=&quot;http://doc.utwente.nl/65916/&quot;&gt;here&lt;/a&gt;), the authors define the notion of 2-separated sets, that is, a collection of subsets of vertices of a graph such that two vertices from different sets are at distance at least two from each other.&#xA;If a graph admits such a set (with additional suitable properties), they prove that MDS admits a PTAS. This is the case for unit disk graphs for example.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This notion is really similar to the technique of recursive separators in planar graphs, except for the distance-2 requirement. So my question:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;b&gt;Do good (in the sens of usual separators) &quot;distance-2-separators&quot; exist in planar graphs, and if yes, can we compute them efficiently?&lt;/b&gt;&lt;/p&gt;&#xA;" OwnerUserId="1930" LastActivityDate="2012-05-08T10:20:52.763" Title="Can one find good distance-2-separators in planar graphs?" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;planar-graphs&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11388" PostTypeId="1" AcceptedAnswerId="11390" CreationDate="2012-05-08T12:55:04.473" Score="5" ViewCount="436" Body="&lt;p&gt;For a while, I have been wondering if there exists some site where you can subscribe to receive TCS-conference announcements via e-mail, or, alternatively, that offers some periodically-updated &lt;em&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Web_feed#Confusion_between_Web_feed_and_RSS&quot; rel=&quot;nofollow noreferrer&quot;&gt;web-feed&lt;/a&gt;&lt;/em&gt;. This is obviously very useful, but I have been unable to find one myself. Does anyone know of some reliable options? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Two examples of what I had in mind, which I use to look for conferences in &lt;em&gt;quantum information/quantum physics&lt;/em&gt; and to keep track of their deadlines.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://qserver.usc.edu/confs/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Quantum Meetings&lt;/a&gt;, has a RSS channel.&lt;/li&gt;&#xA;&lt;li&gt;QUROPE, for European events, has a &lt;a href=&quot;http://qurope.eu/user&quot; rel=&quot;nofollow noreferrer&quot;&gt;mailing list&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Related posts: &lt;a href=&quot;https://cstheory.stackexchange.com/questions/7900/list-of-tcs-conferences-and-workshops&quot;&gt;List of TCS conferences and workshops&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="7286" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2012-05-08T16:20:06.807" Title="Are there websites for TCS announcements that maintain mailing-lists  or web feeds?" Tags="&lt;soft-question&gt;&lt;conferences&gt;" AnswerCount="3" CommentCount="0" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="11390" PostTypeId="2" ParentId="11388" CreationDate="2012-05-08T14:21:54.653" Score="2" Body="&lt;p&gt;I think &lt;a href=&quot;http://www.zaik.uni-koeln.de/mailman/listinfo/dmanet&quot; rel=&quot;nofollow&quot;&gt;dmanet&lt;/a&gt; is one of a good sites for this, it also emails open positions for job and education in CS. But it's good for Europe.&lt;/p&gt;&#xA;" OwnerUserId="1846" LastActivityDate="2012-05-08T14:21:54.653" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11391" PostTypeId="2" ParentId="11388" CreationDate="2012-05-08T14:35:38.917" Score="2" Body="&lt;p&gt;You might want to check the &lt;a href=&quot;https://listserv.nodak.edu/cgi-bin/wa.exe?A0=THEORYNT&quot; rel=&quot;nofollow&quot;&gt;theorynet&lt;/a&gt; mailing list for CS theory related announcements. I believe there are several lists for specific communites, for example, for distributed computing there is the &lt;a href=&quot;http://www.podc.org/podc-mailinglist.txt&quot; rel=&quot;nofollow&quot;&gt;PODC&lt;/a&gt; list.&lt;/p&gt;&#xA;" OwnerUserId="6785" LastActivityDate="2012-05-08T14:35:38.917" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11392" PostTypeId="1" AcceptedAnswerId="11395" CreationDate="2011-11-11T12:37:29.393" Score="12" ViewCount="1235" Body="&lt;p&gt;I'm more of a quantum optics guy than a quantum info guy, and deal mainly in master equations. I'm interested in operator-sum form, and I'd like to derive the errors in this form for a small quantum system that I'm simulating.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The catch: The quantum system is driven by an external (classical) field modelled with a sinusoidal function, and the damping rates are low, so I can't make a rotating wave approximation to eliminate this time dependence. Given that I must solve the master equation numerically by integration, and the result of each integration at time $t$ is not sufficient information to figure out these errors, and I need to do some work to recover the superoperator matrix that has operated on a vectorised density matrix. i.e. I feed the master equation a vectorised density matrix with a single entry of 1 and the rest zero, and build the matrix like that for a particular time $\tau$. Am I on the right track here (sanity check)? More explicitly, if $\mathrm{vec}(\rho_{ij,t=\tau})$ is the vectorised (so it's a column vector) form of a density matrix with a single entry of 1 in position $i,j$, at $t=0$ that has been evolved to time $\tau$, then a matrix to take the vector form of the density matrix from $t=0$ to $t=\tau$ is given as $\mathbf{M}=\sum_{i,j}\mathrm{vec}(\rho_{ij,t=0})\mathrm{vec}(\rho_{ij,t=\tau})^\dagger$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;The question:&lt;/strong&gt; Given this superoperator $\mathbf{M}$ that does $\mathbf{M}\,\mathrm{vec}(\rho_0)=\mathrm{vec}(\rho_\tau)$, how can I get Krauss operators for the operator-sum equivalent of $\mathbf{M}$ that are in a useful form? i.e. the system in question is a qubit or a qutrit and another qubit or qutrit. I'd like to be able to do the operator sum in the form of tensor products of spin matrices on each channel if possible.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Side question:&lt;/strong&gt; Is $\mathbf{M}$ a Choi matrix?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Final note:&lt;/strong&gt; I awarded the acceptance to Pinja, as I used the paper Pinja suggested. I have provided an answer myself below that fills in the details.&lt;/p&gt;&#xA;" OwnerUserId="7407" OwnerDisplayName="Mark S. Everitt" LastActivityDate="2012-05-08T15:33:40.950" Title="Master Equations and Operator Sum Form" Tags="&lt;quantum-information&gt;" AnswerCount="4" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="11393" PostTypeId="2" ParentId="11392" CreationDate="2011-11-11T16:12:00.187" Score="7" Body="&lt;p&gt;The references given in answer to &lt;a href=&quot;http://theoreticalphysics.stackexchange.com/questions/495/quantum-mechanics-as-a-markov-process/496#496&quot; rel=&quot;nofollow noreferrer&quot;&gt;Quantum mechanics as a Markov process&lt;/a&gt; — in particular Carlton Caves' on-line notes &amp;quot;&lt;a href=&quot;http://info.phys.unm.edu/%7Ecaves/reports/lindblad.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Completely positive maps, positive maps, and the Lindblad form&lt;/a&gt;&amp;quot; — survey physical ideas and mathematical tools that are helpful in answering the question.&lt;/p&gt;&#xA;&lt;p&gt;A key point is associated to the specific question asked &amp;quot;How can I get Kraus operators for the operator-sum equivalent of &lt;span class=&quot;math-container&quot;&gt;$M$&lt;/span&gt; that are in a useful form?&amp;quot;  For large quantum systems, a generic superoperator &lt;span class=&quot;math-container&quot;&gt;$M$&lt;/span&gt; will &lt;em&gt;not&lt;/em&gt; have an algorithmically compressible form.  Moreover, Kraus representations are non-unique, and to the best of my (non-expert) knowledge there is no procedure that is both general and efficient for finding Kraus representations of a given &lt;span class=&quot;math-container&quot;&gt;$M$&lt;/span&gt; that have a &amp;quot;useful form&amp;quot; (by whatever criteria are given for a form being &amp;quot;useful&amp;quot;).  That &lt;a href=&quot;http://en.wikipedia.org/wiki/Separable_states#Separability_criterion&quot; rel=&quot;nofollow noreferrer&quot;&gt;deciding quantum separability is NP-hard&lt;/a&gt; suggests that no efficient, general representation-finding algorithm exists, even when &lt;span class=&quot;math-container&quot;&gt;$M$&lt;/span&gt; is numerically given in its entirety.&lt;/p&gt;&#xA;&lt;p&gt;To make progress, it may be helpful to ask heuristic questions: &amp;quot;What is special about my particular superoperator?  Can I exhibit a set of Lindbladian generators for it that have useful symmetry properties and/or generate compatible compressive flows on the Hilbert state-space?  Are these Lindbladian properties associated to a natural Hilbert basis in which &lt;span class=&quot;math-container&quot;&gt;$M$&lt;/span&gt; has a sparse, factored, or otherwise algorithmically compressible representation?&amp;quot;&lt;/p&gt;&#xA;&lt;p&gt;If questions like these could be efficiently answered by &amp;quot;turning an algorithmic crank&amp;quot;, then quantum physics would be a far less interesting subject! :)&lt;/p&gt;&#xA;" OwnerUserId="1519" OwnerDisplayName="John Sidles" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2011-11-11T16:12:00.187" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="11394" PostTypeId="2" ParentId="11392" CreationDate="2011-11-12T01:44:22.197" Score="6" Body="&lt;p&gt;I think what you might be looking for is this: &lt;a href=&quot;http://arxiv.org/abs/quant-ph/0302176&quot;&gt;The Real Density Matrix&lt;/a&gt;.  It gives you a recipe for converting between various superoperator representations (including using a tensor product basis of Paulis).  A detailed quantum process tomography experiment utilizing the results are here: &lt;a href=&quot;http://arxiv.org/abs/quant-ph/0406239&quot;&gt;Quantum Process Tomography of the Quantum Fourier Transform&lt;/a&gt;.  More generally, Havel has also derived algorithms to convert to minimal Kraus representations here:  &lt;a href=&quot;http://arxiv.org/abs/quant-ph/0201127v4&quot;&gt;Procedures for Converting among Lindblad, Kraus and Matrix Representations of Quantum Dynamical Semigroups&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit to answer the added question: unfortunately, this area is plagued by inconsistent notation and conventions.  Nevertheless, I will give you the one that seems most natural to me.   So let me take ${\rm vec}(\rho)$ to be the operation of taking the the &lt;em&gt;rows&lt;/em&gt; of $\rho$ and stacking them on top of each other.  That is ${\rm vec}(|i\rangle\langle j|)=|i\rangle\otimes|j\rangle$ rather than ${\rm vec}(|i\rangle\langle j|)=|j\rangle\otimes|i\rangle$, which would be &quot;column stacking&quot; (But!  This of course depends on your convention for the Kronecker product---here I am taking the second index to &quot;vary most rapidly&quot;).  Let's instead define the &quot;column stacking&quot; convention as ${\rm col}(\rho)$.  Now, neither of the matrices which act as ${\rm \bf M}^{\rm row}{\rm vec}(\rho_0)={\rm vec}(\rho_t)$ or ${\rm \bf M}^{\rm col}{\rm col}(\rho_0)={\rm col}(\rho_t)$ are the &quot;Choi&quot; matrix.  The Choi matrix is defined as&#xA;$$&#xD;&#xA;{\rm\bf C} = \sum_{i,j} ({\rm\bf 1}\otimes |i\rangle\langle j|) {\rm \bf M}^{\rm row} (|i\rangle\langle j|\otimes {\rm\bf 1}),&#xD;&#xA;$$ &#xA;or, equivalently&#xA;$$&#xD;&#xA;{\rm\bf C} = \sum_{i,j} (|i\rangle\langle j|\otimes {\rm\bf 1}) {\rm \bf M}^{\rm col} ({\rm\bf 1}\otimes |i\rangle\langle j|).&#xD;&#xA;$$ &#xA;Note that since all these representations are defined in terms of the basis $\{|i\rangle\langle j|\otimes |k\rangle\langle l|\}$, the transformation between them is just a permutation. &lt;/p&gt;&#xA;" OwnerUserId="7119" OwnerDisplayName="Chris Ferrie" LastActivityDate="2011-11-15T13:30:29.727" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="11395" PostTypeId="2" ParentId="11392" CreationDate="2011-11-16T09:46:39.793" Score="9" Body="&lt;p&gt;I worked on a very similar problem on my Masters thesis, in which I studied the non-Markovian dynamics of a driven qubit in a dissipative environment. My interest was in checking that the master equation I obtained was completely positive, but this is just one side of your problem. The question turned out to be very non-trivial if no RWA is made, but I was able to get some results using Ref. [&lt;a href=&quot;http://dx.doi.org/10.1080/09500340701352581&quot; rel=&quot;nofollow&quot;&gt;J Mod. Opt. 54, 1695 (2007)&lt;/a&gt;] and exploiting the fact that the qubit is weakly coupled to the environment. I'll beat my drum and also give the Ref. to an article where I present some of these results, &lt;a href=&quot;http://dx.doi.org/10.1103/PhysRevA.81.052103&quot; rel=&quot;nofollow&quot;&gt;[P. Haikka and S. Maniscalco, Phys. Rev. A 81, 052103 (2010)]&lt;/a&gt;, you may find it useful.&lt;/p&gt;&#xA;" OwnerDisplayName="Pinja Haikka" LastActivityDate="2011-11-17T04:23:48.097" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11396" PostTypeId="2" ParentId="11392" CreationDate="2011-11-18T07:18:33.847" Score="4" Body="&lt;p&gt;As Pinja noted, a paper by Andersson et al. (&lt;a href=&quot;http://arxiv.org/abs/0801.4100&quot; rel=&quot;nofollow&quot;&gt;arXiv&lt;/a&gt;)(&lt;a href=&quot;http://dx.doi.org/10.1080/09500340701352581&quot; rel=&quot;nofollow&quot;&gt;DOI&lt;/a&gt;) has been especially useful. The paper goes into a great deal of detail, and I finally sat down today to take a proper look at it. As an example problem, I picked two qubits with an exchange interaction to check this which is a minimal version of what I'm considering. To begin, the master equation is given by&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xD;&#xA;\dot\rho = \Lambda(\rho).&#xD;&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The method requires that basis operators of the system are chosen. It is convenient to give these in terms of the Pauli matrices in the case of two qubits, but for a qutrit one would employ the Gell-Mann matrices. Defining $\sigma_i = \mathbf{1},\sigma_x,\sigma_y,\sigma_z$ for each qubit, this system has a basis built up of the tensor products of these with a factor of $1/2$ for normalisation, yielding 16 operators $G_i$ e.g. $G_5 = G_{xx} = (\sigma_x\otimes\sigma_x)/2$. Sticking with Hermitian operators keeps things neat as well, since some daggers can be neglected.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A special matrix is now composed called $L$, which is related to the master equation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xD;&#xA;L_{n,m} = \mathrm{Tr}[G_n\Lambda(G_m)].&#xD;&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we are dealing with the master equation as a matrix acting on a vectorised density operator as discussed in the question, then this can be expressed as&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xD;&#xA;L_{n,m} = \mathrm{vec}(G_n)^\dagger\,\Lambda\,\mathrm{vec}(G_m),&#xD;&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;which allows L to be derived in a single matrix equation, but that's getting a little off topic.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the sample case I considered, $L$ is does not contain time varying terms, so it may be exponentiated to get a new matrix $F$, which is related to the solution of the master equation $\phi$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xD;&#xA;F(t) = \exp(Lt).&#xD;&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$F$ can be used to get a Choi matrix $S$, which is exactly what I need. At this point, a basis needs to be chosen for the future Krauss operators. I'm quite happy with the Pauli operators so I'll stick with those for this next equation,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xD;&#xA;S_{a,b} = \sum_{n,m}F_{m,n}\mathrm{Tr}[G_nG_aG_sG_b].&#xD;&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, the wonderful part.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xD;&#xA;\rho_t=\phi_{n,m}(\rho_0,t) = S_{n,m}(t)G_n\rho_0 G_m^\dagger&#xD;&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As you can see, $S$ is a matrix of weights for a sum of superoperators &lt;em&gt;in a useful basis&lt;/em&gt; that I can select. This has been referred to as the &lt;em&gt;process matrix&lt;/em&gt; (&lt;a href=&quot;http://arxiv.org/abs/quant-ph/0408063&quot; rel=&quot;nofollow&quot;&gt;arXiv&lt;/a&gt;)(&lt;a href=&quot;http://dx.doi.org/10.1103/PhysRevA.71.062310&quot; rel=&quot;nofollow&quot;&gt;DOI&lt;/a&gt;) which is unique to a process in a given basis. In the sample case, in which the master equation has no time dependent terms on the RHS, the solution can be directly verified by representing $\Lambda$ in matrix form and exponentiating it to get $\phi(t)=\exp(\Lambda t)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This works in the time independent case for quits and qutrits as expected. I need to check that this works in the case of time dependence.&lt;/p&gt;&#xA;" OwnerUserId="7407" OwnerDisplayName="Mark S. Everitt" LastActivityDate="2011-12-02T03:14:24.033" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11399" PostTypeId="2" ParentId="11388" CreationDate="2012-05-08T16:20:06.807" Score="1" Body="&lt;p&gt;Different sections of the arxiv have their own RSS feeds for paper announcement, or you can subscribe to the &lt;a href=&quot;http://feedworld.net/toc/&quot; rel=&quot;nofollow&quot;&gt;theory aggregator&lt;/a&gt; (for ECCC/arxiv/blogs)&lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2012-05-08T16:20:06.807" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11400" PostTypeId="2" ParentId="11342" CreationDate="2012-05-08T16:47:13.450" Score="3" Body="&lt;p&gt;Adding to Piotr's answer: I would do the random rewiring suggested by Piotr, but in a &lt;b&gt;simulated annealing&lt;/b&gt; way, rather than only doing swaps when it gets you closer to the desired 3-motif distribution [1, 2]. I have had some success using this approach to take a given graph and then generate random graphs with the same degree and 3-motif distribution. The simulated annealing can take some time, but should be reasonable on the graph sizes you mentioned. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, I have no experience with how well it would work if you have a target 3-motif distribution and you start from a random graph. But perhaps starting from a graph built from something like Piotr's &quot;Addition&quot; suggestion would work better.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that for 4-node motifs this approach seems to get stuck in local optima [2].&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] Priya Mahadevan, Dmitri Krioukov, Kevin Fall, and Amin Vahdat, &lt;a href=&quot;http://arxiv.org/abs/cs/0605007&quot; rel=&quot;nofollow&quot;&gt;Systematic topology analysis and generation using degree correlations&lt;/a&gt;, ACM&#xA;SIGCOMM (2006).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] R. Milo, S. Shen-Orr, S. Itzkovitz, N. Kashtan, D. Chklovskii, and U. Alon,&#xA;&lt;a href=&quot;http://www.sciencemag.org/content/298/5594/824.full&quot; rel=&quot;nofollow&quot;&gt;Network motifs: simple building blocks of complex networks&lt;/a&gt;, Science&#xA;298 (2002), no. 5594, 824–827.&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2012-05-08T16:47:13.450" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="11401" PostTypeId="1" CreationDate="2012-05-08T17:42:21.487" Score="5" ViewCount="504" Body="&lt;p&gt;Well, today I just got my &lt;a href=&quot;https://stackoverflow.com/a/243573/15401&quot;&gt;15 minutes of fame,&lt;/a&gt; but now I think I am wrong on the point about formal proofs on Erlang systems.  The discussion on &lt;a href=&quot;http://news.ycombinator.com/item?id=3943556&quot; rel=&quot;nofollow noreferrer&quot;&gt;news.ycombinator.com&lt;/a&gt; suggests that Erlang code may or may not lend itself so well to formal reasoning (and it's certainly not pure a pure functional language), although a bit of google-fu turns up a fair number of peer reviewed articles on formal proofs on Erlang systems.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'd like to get this right.  Can somebody here give a decent, in-depth explanation of the ins and outs of formal proofs on Erlang systems?  &lt;/p&gt;&#xA;" OwnerUserId="5584" LastEditorUserId="-1" LastEditDate="2017-05-23T12:40:09.333" LastActivityDate="2012-05-09T06:18:44.190" Title="What are the limitations on formal proofs of Erlang systems?" Tags="&lt;pl.programming-languages&gt;&lt;formal-methods&gt;" AnswerCount="1" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="11402" PostTypeId="1" CreationDate="2012-05-08T19:10:58.510" Score="4" ViewCount="170" Body="&lt;p&gt;Suppose $f$ is a submodular set function on a universe $U$ of size $n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For $k \in \{0,\ldots,n\}$, let&#xA;$$ F(k) = \operatorname*{\mathbb{E}}_{X \in \binom{U}{k}} f(X), $$&#xA;where $\binom{U}{k}$ is the set of all subsets of $U$ of size $k$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We are interested in proving the following inequality:&#xA;$$ F(k) \geq \frac{k}{n} F(n) + \frac{n-k}{n} F(0). $$&#xA;One can prove this inequality by induction on $k$ (or even directly, if we're careful), but this doesn't explain why the inequality holds. Instead, we will use some form of term rewriting.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Submodularity directly implies the following inequality, for $k \in \{1,\ldots,n-1\}$:&#xA;$$ F(k) \geq \frac{1}{2} F(k+1) + \frac{1}{2} F(k-1). $$&#xA;Imagine applying this inequality over and over again, in an arbitrary way. Here is an example for $n = 3$ and $k = 2$:&#xA;$$&#xD;&#xA;\begin{align*}&#xD;&#xA;F(2) &amp;amp;\geq&#xD;&#xA;\frac{1}{2} F(3) + \frac{1}{2} F(1) \\ &amp;amp;\geq&#xD;&#xA;\frac{1}{2} F(3) + \frac{1}{4} F(2) + \frac{1}{4} F(0) \\ &amp;amp;\geq&#xD;&#xA;\frac{5}{8} F(3) + \frac{1}{8} F(1) + \frac{1}{4} F(0) \\ &amp;amp;\geq&#xD;&#xA;\frac{5}{8} F(3) + \frac{1}{16} F(2) + \frac{5}{16} F(0) \\ &amp;amp;\geq&#xD;&#xA;\cdots \\ &amp;amp;\geq&#xD;&#xA;\frac{2}{3} F(3) + \frac{1}{3} F(0).&#xD;&#xA;\end{align*}&#xD;&#xA;$$&#xA;The dots hide infinitely many steps.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is a way to make this argument completely rigorous. One can cook up some potential function that increases whenever one applies any instance of submodulary (for example, the expectation of squared cardinality). Taking the consequence of $F(k)$ maximizing this potential, it's easy to see that we get an inequality of the form&#xA;$$ F(k) \geq \alpha F(n) + \beta F(0). $$&#xA;If $f$ is any modular function then there is equality. Taking $f = 1$ we find that $\alpha + \beta = 1$, and taking $f(X) = |X|$ we determine $\alpha = k/n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This argument extends to prove more interesting inequalities on submodular functions.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Does this sort of reasoning look familiar?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="40" LastActivityDate="2012-05-08T19:10:58.510" Title="Term rewriting for proving inequalities" Tags="&lt;co.combinatorics&gt;&lt;term-rewriting-systems&gt;&lt;submodularity&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="11403" PostTypeId="2" ParentId="11227" CreationDate="2012-05-08T19:51:40.473" Score="12" Body="&lt;p&gt;I don't have a suggestion for a natural problem in $\mathsf{DTimeSpace}(n^{O(1)}, \log^4 n)$, but I do have a suggestion for your side question, of why finding such a problem seems difficult. I think this has something to do with the folk-idea that people can only really comprehend (or maybe are only interested in? or both?) math that is a few quantifier alternations deep. For example, the definition of limit is two quantifiers deep (for all epsilon there exists a delta...); the definition of &quot;$L \in \mathsf{NP}$&quot; is two quantifiers (there exists a machine such that for all inputs...), and the statement &quot;$\mathsf{P} \neq \mathsf{NP}$&quot; is three quantifiers deep.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;With regards to $\mathsf{PH}$, this is somewhat borne out by the fact that there are lots of natural problems that are $\mathsf{NP}$-complete, many natural problems that are $\mathsf{\Sigma_2 P}$-complete, and only a few known natural problems that are $\mathsf{\Sigma_3 P}$-complete (see the &lt;a href=&quot;http://ovid.cs.depaul.edu/documents/phcom.pdf&quot;&gt;compendium by Schaefer and Umans&lt;/a&gt;). The most natural problems known to be complete for higher levels of $\mathsf{PH}$ come from logic itself, which is less surprising since within a given logic one often has the notion of &quot;$k$-many quantifier alternations,&quot; or at least some natural way to simulate it. These perhaps fall into the same category as &quot;accepting problems for NTMs,&quot; which you've declared &quot;not nice enough&quot; for this question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It might also be worth mentioning that the same thing happens in the world of computability, which maybe suggests that it has to do more with our understanding of alternating quantifiers and less with complexity per se. Lots of natural problems are known to be $\mathsf{\Sigma^0_1}$-complete (equivalent to the halting problem), and many natural problems are known to be complete for the second and third levels of the arithmetic hierarchy. But as you go to higher levels of the arithmetic hierarchy fewer and fewer natural problems are known to be complete for those levels. I'm not sure I know of a natural problem complete for $\mathsf{\Sigma^0_4}$, and I've never heard of a natural problem complete for $\mathsf{\Sigma^0_5}$ (though maybe there is).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;With regards to polylogarithmic space bounds, I think a similar reasoning applies, but even more so. Since $\mathsf{NL} = \mathsf{coNL} \subseteq \mathsf{DSPACE}(\log^2 n)$, even problems that are in the &quot;first few&quot; levels of the &quot;$\mathsf{NL}$ hierarchy&quot; are all in fact in $\mathsf{NL}$ (the hierarchy collapses), which is contained in log-squared space.&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2012-05-08T19:51:40.473" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="11404" PostTypeId="2" ParentId="11401" CreationDate="2012-05-08T20:22:06.550" Score="5" Body="&lt;p&gt;Erlang is a &lt;em&gt;concurrent&lt;/em&gt;, &lt;em&gt;higher-order&lt;/em&gt; programming language. To a decent approximation, this covers everything difficult about program verification. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;When a language is higher-order, the control structure of the program is not evident from the source code, since code are values, and so the control structure depends on the data flow in the program. When a language is concurrent, this means you have to reason about interference -- the possibility that multiple processes are trying to act on the same data at once. As a result, you have to think through all the possible interleavings of thread executions.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Erlang is a reasonably clean language design, so it doesn't layer many  accidental difficulties on top of these two. But those two capabilities ensure that the essential difficulty is not easy. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In fact, it's fair to say that the general problem of how to verify concurrent higher-order programs is still open --  proofs still tend to be &lt;em&gt;tour-de-force&lt;/em&gt; efforts, rather than a systematic application of a methodology. We're a lot closer than we were five or ten years ago, though.&lt;/p&gt;&#xA;" OwnerUserId="657" LastActivityDate="2012-05-08T20:22:06.550" CommentCount="15" ContentLicense="CC BY-SA 3.0" />
  <row Id="11405" PostTypeId="2" ParentId="11024" CreationDate="2012-05-08T22:13:27.333" Score="1" Body="&lt;p&gt;This is not an &quot;answer&quot; to my question, but rather an extended comment that people here might find interesting.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I claim that there is a natural &quot;analysis-type&quot; definition of a maze and a solution, and it differs from the computer-science/graph-theoretic definition we've used here. In particular, you can have a fractal maze that has a &quot;solution&quot; under the analysis definition, but would be declared unsolvable by Marizio De Biasi's algorithm and Peter Shor's pushdown automata technique.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Definition:&lt;/strong&gt; A &lt;em&gt;maze&lt;/em&gt; $M$ is a compact subset of the plane $M \subset \mathbb{R}^2$ containing a start point and an endpoint $s,e \in M$, respectively. A &lt;em&gt;solution&lt;/em&gt; is a continuous function $f:[0,T] \rightarrow M$ such that $f(0)=s$ and $f(T)=e$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now consider the the &lt;a href=&quot;http://en.wikipedia.org/wiki/Hilbert_curve&quot; rel=&quot;nofollow noreferrer&quot;&gt;Hilbert Curve&lt;/a&gt;:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/aYbwi.gif&quot; alt=&quot;Hilbert curve gif from wikipedia&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One could interpret this curve as a &quot;fractal maze&quot; with the following diagram:&#xA;&lt;img src=&quot;https://i.stack.imgur.com/N9IEe.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since the Hilbert Curve iterations converge uniformly, that uniform limit is a continuous path that solves the maze in the analytic sense. It's as if you were able to do the following recursively defined infinite set of moves $P$:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$P = APA^{-1}BPB^{-1}CPC^{-1}DPD^{-1}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now you might argue that this is not in the spirit of fractal mazes since the Hilbert curve fills the entire square and therefore you could just draw a straight line segment from the start to the finish. This objection is easily overridden though - simply use the hilbert curve diagram embedding directly, as shown here:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/tLcz4.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This too contains a sequence of uniformly convergent continuous paths going from the start to the finish, by the same argument used to show the uniform convergence of the Hilbert curve. However it is a true &quot;fractal maze&quot; in the sense that it does not fill the whole space.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thus we have a fractal maze that is solvable by the analytic definition, but unsolvable by the graph theoretic definition..!?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Anyways, I'm pretty sure my logic is correct, but it seems counterintuitive so if anyone can shed some light on this I would appreciate it.&lt;/p&gt;&#xA;" OwnerUserId="9018" LastActivityDate="2012-05-08T22:13:27.333" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="11406" PostTypeId="2" ParentId="4646" CreationDate="2012-05-08T22:52:45.733" Score="17" Body="&lt;p&gt;As was pointed out at the beginning of this discussion in the comments, there is not necessarily a single &quot;right&quot; definition for random $k$-SAT.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;That said, the two most common variants of random $k$-SAT are both fixed clause length (FCL) models, meaning that &lt;em&gt;exactly&lt;/em&gt; $k$ literals appear in each clause. These variants both disallow repeated variables and literals within a clause, but differ in whether they allow repeated clauses within a formula. Nevertheless, they are essentially the same as will be discussed below.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Two main models:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The &lt;a href=&quot;http://www.cs.sfu.ca/~mitchell/papers/aij-hsat.ps&quot;&gt;Selman random model&lt;/a&gt; - Repeated clause are &lt;em&gt;allowed&lt;/em&gt;. Kyle gave this nice reference in the comments to his answer, but incorrectly assumed that the model disallowed repeated clauses. The linked (slightly different) version of the paper contains a more detailed discussion of the random model in Section 3: &quot;This method of generation allows duplicate clauses in a formula... However, as N gets large duplicates will become rare because we generally select only a linear number of clauses.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The Achlioptas random model - Repeated clauses are &lt;em&gt;disallowed&lt;/em&gt;. We treat generating a random formula as selecting $m$ clauses u.a.r. from the $2^k {n \choose k}$ total possible clauses without replacement. See Ch.8 of the &lt;a href=&quot;http://profs.info.uaic.ro/~croitoru/oc/Handbook%20of%20Satisfiability.pdf&quot;&gt;Handbook of Satisfiability&lt;/a&gt; [1]  (Random SAT by Achlioptas) as a reference. This model seems more prevalent in the theoretical literature, possibly because so much of it was written by Achlioptas himself.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Equivalence of phase transition locations&lt;/strong&gt;:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, the phase transition (50% satisfiability threshold) occurs at the same clause-to-variable ratio regardless of which of these models is chosen for essentially the reason that Selman et al. noted in their paper.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $A(n,m,k)$ denote the expected number of identical pairs of clauses in a Selman random $(n,m,k)$-SAT instance. The probability of a given pair of clauses being identical is $p = 1/(2^k {n \choose k})$, whereas the total number of pairs of clauses is $N = {m \choose 2}$. By the linearity of expectation, $A(n,m,k) = p \cdot N = {m \choose 2}/{2^k {n \choose k}}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By Theorem 3 in  [1], the &lt;em&gt;provable&lt;/em&gt; upper bound on the location of the $k$-SAT phase transition, using the Achlioptas model occurs when $m = O(2^k n)$. Fixing $k \geq 3$ and setting $m = O(2^k n)$ we get&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$A(n,m,k) = {m \choose 2}/{2^k {n \choose k}} = O(m^2)/O(n^k) = O(n^2)/O(n^k)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then, because $k \geq 3$, $\displaystyle \lim_{n \rightarrow \infty} O(n^2)/O(n^k) = 0$, meaning that in expectation there will be zero repeated clauses around the $k$-SAT phase transition when generating random SAT formulas using the Selman model.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Shameless self promotion - I discuss these topics briefly in Section 4.1 of my &lt;a href=&quot;https://csel.cs.colorado.edu/~bennethd/thesis/thesis.pdf&quot;&gt;master's thesis&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Random QBF&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As it turns out, the situation is much more interesting for random QBF. What are AFAIK the first three papers on random QBF each proposed a new random model, critiquing their predecessor.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See the following papers:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Cadoli et al. &quot;Experimental Analysis of the Computational Cost of Evaluating Quantified Boolean Formulae.&quot; AI*IA 1997&lt;/li&gt;&#xA;&lt;li&gt;Gent + Walsh &quot;Beyond NP: the QSAT phase transition.&quot; AAAI/IAAI 1999&lt;/li&gt;&#xA;&lt;li&gt;Chen + Interian &quot;A Model for Generating Random Quantified Boolean Formulas.&quot; IJCAI 2005&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="969" LastActivityDate="2012-05-08T22:52:45.733" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11408" PostTypeId="1" CreationDate="2012-05-09T06:32:16.247" Score="5" ViewCount="313" Body="&lt;p&gt;My friend dislikes Rubik's cubes, and he asked me how to frustrate amateur solvers by adversarially scrambling the cube. I expect that the answer depends highly on the particular solving algorithm.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Are there &quot;human&quot; algorithms for solving a Rubik's cube that are known to be very inefficient (compared to optimal) against particular &quot;bad&quot; configurations?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;By &quot;human&quot;, I mean the common algorithms that are taught in practice to amateurs or used by enthusiasts. There might be too much variety in common human techniques for this question to make sense, but even that would be good to know. (I'm looking for something more interesting than naive random walk, which is clearly almost always inefficient.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;And the relevant followup question:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Are there ways to find these bad configurations by applying random moves?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;That is, is there an easy way to randomly generate hard cube instances for a particular human algorithm?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is (somewhat) related to another question of mine about &lt;a href=&quot;https://cstheory.stackexchange.com/questions/11410/shortest-paths-when-randomly-scrambling-a-rubiks-cube&quot;&gt;shortest paths to solution when randomly scrambling a Rubik's cube&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="9211" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2012-05-09T14:41:20.647" Title="Scrambling a Rubik's cube by an adversarial noob" Tags="&lt;co.combinatorics&gt;&lt;puzzles&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="11410" PostTypeId="1" AcceptedAnswerId="11413" CreationDate="2012-05-09T06:49:41.107" Score="5" ViewCount="2601" Body="&lt;p&gt;I saw a &lt;a href=&quot;https://cstheory.stackexchange.com/questions/2395/are-there-local-maxima-in-the-number-of-moves-required-to-solve-a-rubiks-cube&quot;&gt;previous question about local maxima&lt;/a&gt; for the number of moves in a Rubik's cube solution, and I wondered what is known about the distribution of shortest paths when randomly scrambling a Rubik's cube.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;ol&gt;&#xA;  &lt;li&gt;If I were to pick a (solvable) configuration at random, how far is it&#xA;  to the solved state? &lt;/li&gt;&#xA;  &lt;li&gt;How many random moves does it take to sufficiently scramble the cube?&lt;/li&gt;&#xA;  &lt;/ol&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;For the second question, I'm thinking of it as the &lt;em&gt;mixing time&lt;/em&gt;, like for the Diaconis 7 shuffle result for a deck of cards. (Perhaps this is the wrong terminology?)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is related to another question of mine about &lt;a href=&quot;https://cstheory.stackexchange.com/questions/11408/scrambling-a-rubiks-cube-by-an-adversarial-noob&quot;&gt;adversarially scrambling a Rubik's cube&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;&lt;em&gt;Edit&lt;/strong&gt;: I accepted Marzio's answer, though I still wonder about the mixing time. Google revealed some results for particular finite groups, but I didn't see anything about Rubik's cube. Maybe one of these is applicable / can be ported over?&lt;/em&gt;&lt;/p&gt;&#xA;" OwnerUserId="9211" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2012-05-10T02:33:28.027" Title="Shortest paths when randomly scrambling a Rubik's cube" Tags="&lt;co.combinatorics&gt;&lt;puzzles&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="11413" PostTypeId="2" ParentId="11410" CreationDate="2012-05-09T09:44:30.917" Score="5" Body="&lt;p&gt;At &lt;a href=&quot;http://www.cube20.org/&quot; rel=&quot;nofollow noreferrer&quot;&gt;God's number is 20&lt;/a&gt; site you can find a nice distance/count table:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/ttPGz.jpg&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&quot;... Distance-20 positions are both rare and plentiful; they are rarer than one in a billion positions, yet there are probably more than one hundred million such positions. We do not yet know exactly how many there are. The table on the right gives the count of positions at each distance; for distances 16 and greater, the number given is just an estimate. Our research has confirmed the prior results for entries 0 through 14 below, and the entry for 15 is a new result, which has since been independently confirmed by another researcher ....&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;According to the table if you pick a random configuration it will be with high probability at distance 17-18 from the solution.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See also D. Joyner's notes &lt;a href=&quot;http://www.permutationpuzzles.org/rubik/webnotes/rubik.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Mathematics of the Rubik's cube&lt;/a&gt; (and D. Joyner's book &quot;Adventures in Group Theory: Rubik’s Cube, Merlin’s Machine, and Other Mathematical Toys&quot;)&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2012-05-09T13:50:02.290" LastActivityDate="2012-05-09T13:50:02.290" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="11414" PostTypeId="1" AcceptedAnswerId="11531" CreationDate="2012-05-09T13:05:30.723" Score="14" ViewCount="835" Body="&lt;h2&gt;The problem&lt;/h2&gt;&#xA;&lt;p&gt;Let &lt;span class=&quot;math-container&quot;&gt;$A=\langle \Sigma, Q, q_0,F,\Delta\rangle$&lt;/span&gt; be a Büchi automaton, recognizing a language &lt;span class=&quot;math-container&quot;&gt;$L\subseteq\Sigma^\omega$&lt;/span&gt;.&#xA;We assume that &lt;span class=&quot;math-container&quot;&gt;$A$&lt;/span&gt; has an acceptance strategy in the following sense : there is a function &lt;span class=&quot;math-container&quot;&gt;$\sigma:\Sigma^*\to Q$&lt;/span&gt; which can be used to pilot runs of &lt;span class=&quot;math-container&quot;&gt;$A$&lt;/span&gt;. We formalize this by the following conditions :&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$\sigma(\epsilon)=q_0$&lt;/span&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;for all &lt;span class=&quot;math-container&quot;&gt;$u\in\Sigma^*$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$a\in\Sigma$&lt;/span&gt;, &lt;span class=&quot;math-container&quot;&gt;$(\sigma(u),a,\sigma(ua))\in\Delta$&lt;/span&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;for all &lt;span class=&quot;math-container&quot;&gt;$w=a_0a_1a_2\dots\in L$&lt;/span&gt;, the run piloted by &lt;span class=&quot;math-container&quot;&gt;$\sigma$&lt;/span&gt; is accepting, i.e. the sequence &lt;span class=&quot;math-container&quot;&gt;$\sigma(\epsilon),\sigma(a_0),\sigma(a_0a_1),\sigma(a_0a_1a_2),\dots$&lt;/span&gt; has infinitely many elements in &lt;span class=&quot;math-container&quot;&gt;$F$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;To subsume the conditions, &lt;span class=&quot;math-container&quot;&gt;$A$&lt;/span&gt; can accept any word of its language without having to guess anything about the future.&lt;/p&gt;&#xA;&lt;p&gt;Then, under these assumptions on &lt;span class=&quot;math-container&quot;&gt;$A$&lt;/span&gt;, is it true that &lt;span class=&quot;math-container&quot;&gt;$A$&lt;/span&gt; can be determinized just by removing transitions ? In other words, can we always choose the next transition depending only on the current state and letter ? Is there any reference on the subject ? The same question can then be asked on co-Büchi automata, and more generally on parity automata.&lt;/p&gt;&#xA;&lt;h2&gt;What is known&lt;/h2&gt;&#xA;&lt;p&gt;Here are some partial results.&lt;/p&gt;&#xA;&lt;p&gt;First, we can restrict &lt;span class=&quot;math-container&quot;&gt;$\sigma$&lt;/span&gt; to nondeterminstic choices between states having the same residual. Indeed, if &lt;span class=&quot;math-container&quot;&gt;$L(q)$&lt;/span&gt; is the language accepted from &lt;span class=&quot;math-container&quot;&gt;$q$&lt;/span&gt;, an accepting strategy cannot choose &lt;span class=&quot;math-container&quot;&gt;$q_1$&lt;/span&gt; over &lt;span class=&quot;math-container&quot;&gt;$q_2$&lt;/span&gt; at some point, if there is &lt;span class=&quot;math-container&quot;&gt;$w\in L(q_2)\setminus L(q_1)$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Notice that the remaining choices do matter, so despite the intuition, this is not enough to get rid of the nondeterminism. This is because it is possible to stay ad infinitum in a good residual (i.e. the remaining of the word is in the residual), but reject the word because not infinitely many Büchi states are seen. This is the main difficulty of the problem : an infinite run can be wrong, without making any fatal mistake at some point.&lt;/p&gt;&#xA;&lt;p&gt;Second, the problem is solved if &lt;span class=&quot;math-container&quot;&gt;$L=\Sigma^\omega$&lt;/span&gt;, i.e. all words are accepted by &lt;span class=&quot;math-container&quot;&gt;$A$&lt;/span&gt;. In this case, we can view &lt;span class=&quot;math-container&quot;&gt;$A$&lt;/span&gt; as a Büchi game where Player I chooses input letters and Player II chooses transitions. Then we can use positional determinacy of Büchi games to extract a positional strategy for Player II. This arguments even works in the more general case of parity automata. The difficulty of this problem comes from the fact that some words are not in &lt;span class=&quot;math-container&quot;&gt;$L$&lt;/span&gt;, and in this case the strategy &lt;span class=&quot;math-container&quot;&gt;$\sigma$&lt;/span&gt; can have any behaviour.&lt;/p&gt;&#xA;&lt;p&gt;Third, here is a proof that under the assumptions, the language &lt;span class=&quot;math-container&quot;&gt;$L$&lt;/span&gt; is in the class of deterministic Büchi languages, witnessed by an automaton with states &lt;span class=&quot;math-container&quot;&gt;$2^Q$&lt;/span&gt;.&#xA;Notice that this implies that &lt;span class=&quot;math-container&quot;&gt;$L$&lt;/span&gt; cannot be any &lt;span class=&quot;math-container&quot;&gt;$\omega$&lt;/span&gt;-regular language, for instance  if &lt;span class=&quot;math-container&quot;&gt;$L=(a+b)^*a^\omega$&lt;/span&gt;, no strategy &lt;span class=&quot;math-container&quot;&gt;$\sigma$&lt;/span&gt; matching the conditions can exist.&lt;/p&gt;&#xA;&lt;p&gt;We start by restricting the transitions according to the first remark : the only choices we can make do not impact on the residual language. We only take successors with the maximum residual, they must exist because &lt;span class=&quot;math-container&quot;&gt;$\sigma$&lt;/span&gt; exists.&lt;/p&gt;&#xA;&lt;p&gt;Then, we build &lt;span class=&quot;math-container&quot;&gt;$A'=\langle \Sigma, 2^Q, \{ q_0\},F',\Delta'\rangle$&lt;/span&gt; in the following way. &lt;span class=&quot;math-container&quot;&gt;$A'$&lt;/span&gt; is the subset automaton of &lt;span class=&quot;math-container&quot;&gt;$A$&lt;/span&gt;, but every time a Büchi state &lt;span class=&quot;math-container&quot;&gt;$q$&lt;/span&gt; appears in the component, all other states can be removed from the component, and we start again from the singleton &lt;span class=&quot;math-container&quot;&gt;$\{ q\}$&lt;/span&gt;. Then we can set &lt;span class=&quot;math-container&quot;&gt;$F'=\{\{ q\} : q\in F\}$&lt;/span&gt;. We can verify that &lt;span class=&quot;math-container&quot;&gt;$A'$&lt;/span&gt; is a deterministic Büchi automaton for &lt;span class=&quot;math-container&quot;&gt;$L$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Finally, by putting together the second and the third remarks, we can always obtain a finite memory-strategy &lt;span class=&quot;math-container&quot;&gt;$\sigma$&lt;/span&gt;, by using a positional strategy for Player II in the game &lt;span class=&quot;math-container&quot;&gt;$A\times A'$&lt;/span&gt; where Player I chooses letters, Player II chooses transitions in &lt;span class=&quot;math-container&quot;&gt;$A$&lt;/span&gt; and wins if &lt;span class=&quot;math-container&quot;&gt;$A$&lt;/span&gt; accepts whenever &lt;span class=&quot;math-container&quot;&gt;$A'$&lt;/span&gt; accepts.&lt;/p&gt;&#xA;" OwnerUserId="8953" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2020-11-02T11:52:22.493" Title="Büchi automata with acceptance strategy" Tags="&lt;fl.formal-languages&gt;&lt;automata-theory&gt;&lt;regular-language&gt;&lt;nondeterminism&gt;&lt;omega-language&gt;" AnswerCount="2" CommentCount="8" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="11417" PostTypeId="2" ParentId="11408" CreationDate="2012-05-09T14:41:20.647" Score="5" Body="&lt;p&gt;If the aim is to frustrate amateur solvers, maybe the best is to give them a configuration that seems very simple to solve, but will be hard with the common algorithms.&#xA;For instance you can just invert all the centers, or do a few swaps between squares, to have just 1 or 2 wrong on each face.&#xA;This is of course betting they don't know the special algorithms to create/solve these special configurations ;)&lt;/p&gt;&#xA;" OwnerUserId="8953" LastActivityDate="2012-05-09T14:41:20.647" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11418" PostTypeId="1" CreationDate="2012-05-09T14:46:44.353" Score="18" ViewCount="1642" Body="&lt;p&gt;&lt;strong&gt;Mafia&lt;/strong&gt; is a popular role-playing game at parties, a detailed description is available at wikipedia &lt;a href=&quot;http://en.wikipedia.org/wiki/Mafia_%28game%29&quot;&gt;http://en.wikipedia.org/wiki/Mafia_%28game%29&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Basically, it works as follows:&lt;/h2&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;At the beginning, each of the $N$ players is secretly assigned a role, either aligned with the Mafia or with the Town. Each role may have special abilities; more about that later.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;There are two game phases: Day and Night. At Night, the Mafia can communicate secretly with each other; and they may agree upon one target player who they murder that night. At Day, all (alive) players communicate in an open forum. The players may agree to lynch one player, an absolute majority of all players is needed.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The game ends if there is only the Mafia left, or there is only the Town left. The surviving party wins.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Let's assume that there are three roles: Citizen, Investigator, and Mafioso. Citizens have no powers. Mafiosi also have no abilities beyond being able to communicate with each other at night and voting for one murder victim each night. Investigators can investigate one other player in each night, finding out their exact role.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Assume the game starts at day, and that the role of a player is revealed upon death&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;h2&gt;Winning strategies&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;Given a setup $(i,c,m)$ of $i$ Investigators, $c$ Citizen, and $m$ Mafiosi, we say that the setup is &lt;em&gt;winning for Town&lt;/em&gt;, if there is a strategy for the Town players, such that they win, no matter how the Mafia plays.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that we can assume that the Mafia plays with full information, since we want to account for &lt;em&gt;any&lt;/em&gt; decision they can make.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt; The setup $(4,1,1)$ wins for Town.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Day 1:&lt;/strong&gt; All Town players truthfully report their role in the open chat. The Mafia player has to claim to be either Investigator or Citizen.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If he claims Citizen, then the Mafioso is one of the two alleged Citizens. Each Investigator can investigate either one, and will find out the true one. At most one Investigator can die in the night, and the other two simply hang the Mafioso. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hence, the Mafioso must claim Investigator. There are 5 alleged Invesigators. In the open chat, the Investigators agree upon a permutation to check each other.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Night 1:&lt;/strong&gt; The Investigators check their targets, and the Mafioso kills one.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Day 2:&lt;/strong&gt; There are 3 Investigators left. All alleged Investigators report their findings. No matter who was killed, at least one of them is also confirmed by another alive Investigator. Since the Mafioso claimed Investigator, he also needs to say if his assigned target was Mafia or not. If he frames someone, then the Town knows that either he, or the framed one is Mafia, against the other confirmed 3 Town. If he does not frame anybody, there will also be 3 confirmed Town. Either way, not hanging anyone, and investigating the only 2 left suspects wins for Town.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Questions&lt;/h2&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;How hard is it to decide whether a given setup admits a winning strategy for Town? Intuitively, this sounds like a $PSPACE$-complete problem. Can anybody come up with a reduction?&lt;/li&gt;&#xA;&lt;li&gt;Can we find minimal winning setups? As in can we minimize the ratios $i:m$ or $(i+c):m$?&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="9366" LastEditorUserId="9366" LastEditDate="2012-05-09T21:10:31.263" LastActivityDate="2012-10-31T08:17:33.723" Title="How hard is Mafia?" Tags="&lt;cc.complexity-theory&gt;&lt;gt.game-theory&gt;&lt;combinatorial-game-theory&gt;" AnswerCount="2" CommentCount="6" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="11419" PostTypeId="2" ParentId="11418" CreationDate="2012-05-09T15:02:19.750" Score="12" Body="&lt;p&gt;Here's a reference that you will want to look at: &lt;a href=&quot;http://www.jstor.org/stable/10.2307/25442651&quot;&gt;http://www.jstor.org/stable/10.2307/25442651&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Mafia: A theoretical study of players and coalitions in a partial information environment&#xA;Braverman, M. and Etesami, O. and Mossel, E.&#xA;The Annals of Applied Probability&#xA;2008&lt;/p&gt;&#xA;" OwnerUserId="25" LastActivityDate="2012-05-09T15:02:19.750" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="11421" PostTypeId="1" CreationDate="2012-05-09T17:00:01.513" Score="1" ViewCount="117" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Possible Duplicate:&lt;/strong&gt;&lt;br&gt;&#xA;  &lt;a href=&quot;https://cstheory.stackexchange.com/questions/10542/when-are-two-algorithms-said-to-be-similar&quot;&gt;When are two algorithms said to be &amp;ldquo;similar&amp;rdquo;?&lt;/a&gt;  &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&#xA;&#xA;&lt;p&gt;Generic Overview of promblem:&lt;br&gt;&#xA;I read somewhere once that a quicksort could be done without recursion in O(1) space overhead.   I thought about it for a while, and then coded a version of quicksort that uses O(1)-space overhead (eg: in-place).  However, since it lacks a lot of the metainformation that quicksort normally has available (beginning and ending of each chunk to recurse down), I had to add a pre-step to &quot;format&quot; the data a specific way so that the rest of the quicksort can correctly determine where each chunk begins and ends.  When discussing this algorithm in StackOverflow chat, R.Martinho speculated that this is no longer a quicksort due to the requirement of the prestep.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Overview of Algorithm:&lt;br&gt;&#xA;The general idea is that for each chunk of data, the algorithm picks a pivot P from the chunk (the first in my case), and partitions the data on P into two chunks: data less than P and data greater than P.  It then puts the data in the order of [P][less than P][Greater than P]. (So that it can determine where the partitions begin and end without metadata.)  On the next iteration it can scan until it finds the first two elements out of order, which will be P and one element less than P, and scan until it finds an element greater than P.  It then moves P to the end of the chunk, and performs the algorithm on the chunk of data less than P.  Other than the temporary relocation of P, this is basically how quicksort works.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Deviation of Algorithm from Quicksort:&lt;br&gt;&#xA;Since the algorithm needs the data to be in a series of &quot;chunks&quot; of [partition][data between this partition and the previous partition], we have to format the data down the right side until we find the maximum element to get it into this series of chunks, before the rest of the algorithm can run.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This algorithm is quite strange, and I am terrible at explanations, but as proof of concept, here's the a link to my C++ code with a naive quicksort, my inplace quicksort, and stdsort: &lt;a href=&quot;http://ideone.com/4iCSo&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://ideone.com/4iCSo&lt;/a&gt;  (I acknowledge there's still a lot of optimizing that could be done, and that this algorithm is so slow it is almost completely useless in general)  The meat of the question is: &lt;strong&gt;is this algorithm still a quicksort&lt;/strong&gt;?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm not clear on the scope of this site, this question might be better suited to &lt;a href=&quot;https://cs.stackexchange.com/&quot;&gt;https://cs.stackexchange.com/&lt;/a&gt; or &lt;a href=&quot;https://stackoverflow.com/&quot;&gt;https://stackoverflow.com/&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="8293" LastEditorUserId="-1" LastEditDate="2017-05-23T12:40:09.333" LastActivityDate="2012-05-10T03:59:27.483" Title="How much variation is allowed before an algorithm is no longer a quicksort?" Tags="&lt;ds.algorithms&gt;&lt;sorting&gt;" AnswerCount="0" CommentCount="11" ClosedDate="2012-05-10T22:34:02.047" ContentLicense="CC BY-SA 3.0" />
  <row Id="11422" PostTypeId="1" AcceptedAnswerId="11424" CreationDate="2012-05-09T17:55:48.127" Score="25" ViewCount="696" Body="&lt;p&gt;This is related to the question &lt;a href=&quot;https://cstheory.stackexchange.com/questions/2271/is-the-witness-size-of-membership-for-every-np-language-already-known&quot;&gt;Is the Witness Size of Membership for Every NP Language Already Known?&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some natural $\mathsf{NP}$(-complete) problems have linear length witnesses: a satisfying assignment for $SAT$, a sequence of vertices for $HAMPATH$, etc.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider the complexity class &quot;$\mathsf{NP}$ restricted to linear length witnesses&quot;. Formal definition of this complexity class, call it $\mathcal{C}$: $L\in\mathcal{C}$ if $\exists L'\in\mathsf{P}\colon (x\in L \iff \exists w\in\{0, 1\}^{O(|x|)}\colon (x, w)\in L')$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is this a known complexity class? What are its properties?&lt;/p&gt;&#xA;" OwnerUserId="4193" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:30.623" LastActivityDate="2012-05-09T20:50:52.860" Title="What is $\mathsf{NP}$ restricted to linear size witnesses?" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;np&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="11424" PostTypeId="2" ParentId="11422" CreationDate="2012-05-09T20:50:52.860" Score="28" Body="&lt;p&gt;The class ${\cal C}$ you are proposing is probably not $NP$. (If ${\cal C} = NP$, then every $NP$ language would have linear-size witnesses, which would imply that every $NP \subseteq TIME[2^{O(n)}]$ and $NP \neq EXP$, among other things). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is very natural to consider such classes; they arise in several settings. In &lt;a href=&quot;http://homepages.inf.ed.ac.uk/rsanthan/Papers/segsepfinal.pdf&quot;&gt;this paper&lt;/a&gt;, Rahul Santhanam (implicitly) proposed the notation $TIGU(t(n),g(n))$ for time-$t(n)$ computation with $g(n)$-guess bits. Hence ${\cal C} = \bigcup_{k} TIGU(n^k,kn)$. In &lt;a href=&quot;http://www.stanford.edu/~rrwill/sat-journal-final.pdf&quot;&gt;this paper&lt;/a&gt;, I defined an analogous class $NTIBI[t(n),b(n)]$. (NTIBI stands for &quot;nondeterministic time and bits&quot;.) Also, Cai and Chen would call your class $GC(O(n), P)$ (GC stands for &quot;Guess and Check&quot;, cf. L. Cai and J. Chen. On the amount of nondeterminism and the power of verifying. SIAM Journal on Computing, 1996). Finally, if you search for &quot;bounded nondeterminism&quot; you may find three more notations for the same class...&lt;/p&gt;&#xA;" OwnerUserId="225" LastActivityDate="2012-05-09T20:50:52.860" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11425" PostTypeId="1" AcceptedAnswerId="11437" CreationDate="2012-05-09T22:15:02.600" Score="21" ViewCount="1403" Body="&lt;p&gt;Is there an example of a natural problem that's in BPP but that's not known to be in RP or co-RP?&lt;/p&gt;&#xA;" OwnerUserId="15" LastEditorUserId="15" LastEditDate="2012-05-09T22:26:07.890" LastActivityDate="2012-05-17T20:23:47.263" Title="Problem in BPP but not known to be in RP or co-RP" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;randomness&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="11426" PostTypeId="1" AcceptedAnswerId="11427" CreationDate="2012-05-09T22:31:58.787" Score="7" ViewCount="443" Body="&lt;p&gt;Most NP-completeness proofs I have seen pertain to proving that a problem on a class of instances is NP-complete. E.g., satisfiability is NP-complete on the class of instances with clauses having three literals. Usually these proofs exploit the room that the definition of the class allows to reduce every instance from a known NP-complete class to an instance in the class of interest.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The question I am interested in is somewhat nonstandard: suppose I have a sequence of instances $P_1,P_2,...$ with size of input $n_1,n_2,...$. The size  $n_k \rightarrow \infty$ as $k\rightarrow \infty$. I want to claim that this specific sequence of instances is NP-complete. I know the instances are in NP, only NP-hardness remains to be shown. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here's the challenge. Because I have a specific instance for each $k$, I don't have adequate room in the definition to reduce the known broad classes to this class. Furthermore, the sizes of my instances are also fixed, which restricts me further. Conceptually, I think I will have to argue that for every instance in some NP-complete class, there exists a $k$ such that this instance reduces to $P_k$. But I am not aware of techniques that reduce known instances to instances of interest with such specificity. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;So my question is: are there techniques for proving NP-completeness/NP-hardness type results for a specific sequence of instances? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In case it helps, the instances $P_k$ are 0-1 integer programming problems with specific constants; in fact the constraint matrix of $P_k$ contains that of $P_{k-1}$ as a submatrix for all $k$ and the number of variables $n_k = 2^k$. Notice also that the set of instances $P_k$ has cardinality of $\mathbb{N}$, which is also the cardinality of the number of SAT instances (or finite graphs, or integer programs etc); thus as far as I understand, there is nothing in principle preventing my sequence instances from being NP-complete. &lt;/p&gt;&#xA;" OwnerUserId="8965" LastEditorUserId="8965" LastEditDate="2012-05-09T22:58:59.620" LastActivityDate="2012-05-10T00:57:11.773" Title="Techniques for proving NP completeness for a specific sequence of instances" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;np-hardness&gt;&lt;complexity-classes&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="11427" PostTypeId="2" ParentId="11426" CreationDate="2012-05-10T00:57:11.773" Score="9" Body="&lt;p&gt;If I understand the question correctly, I think that you are essentially asking whether a problem can be NP-hard even when it is defined on a sparse set of input strings.  If your notion of NP-hardness is under polynomial-time many-one reducibility, such a problem cannot exist (unless P=NP) because of Mahaney’s theorem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See a &lt;a href=&quot;http://blog.computationalcomplexity.org/2006/04/favorite-theorems-small-sets.html&quot;&gt;blog article about Mahaney’s theorem&lt;/a&gt; by Lance Fortnow for a nice explanation of Mahaney’s theorem and related results.&lt;/p&gt;&#xA;" OwnerUserId="567" LastActivityDate="2012-05-10T00:57:11.773" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="11429" PostTypeId="2" ParentId="2323" CreationDate="2012-05-10T03:32:07.860" Score="-2" Body="&lt;p&gt;center for quantum computation, Clarendon Laboratory, university of Oxford, who run &lt;a href=&quot;http://www.qubit.org&quot; rel=&quot;nofollow&quot;&gt;www.qubit.org&lt;/a&gt; and home of &lt;a href=&quot;http://www.qubit.org/people/david/David.html&quot; rel=&quot;nofollow&quot;&gt;David Deutsch&lt;/a&gt; one of the premier &amp;amp; senior researchers in the field.&lt;/p&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2012-05-10T03:32:07.860" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="11430" PostTypeId="2" ParentId="2323" CreationDate="2012-05-10T04:22:38.383" Score="5" Body="&lt;p&gt;Max Planck Institute does a lot of work on Quantum Computation. You can look at their &lt;a href=&quot;http://www.mpq.mpg.de/Theorygroup/CIRAC/wiki/index.php/Theory_Division.html&quot;&gt;Theory group website&lt;/a&gt; for more information on their publications, projects and positions open.&lt;/p&gt;&#xA;" OwnerUserId="3397" LastActivityDate="2012-05-10T04:22:38.383" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11431" PostTypeId="2" ParentId="11382" CreationDate="2012-05-10T07:55:23.847" Score="12" Body="&lt;p&gt;Actually, I think what you're looking for is Kleene algebra. See Dexter Kozen's classic article. He gives an axiomatization of Kleene-star. I assume this is the very first step you're interested in.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;a href=&quot;https://www.cs.cornell.edu/%7Ekozen/Papers/ka.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;A completeness theorem for Kleene algebras and the algebra of regular events.&lt;/a&gt;  Information and Computation, 110(2):366-390, May 1994.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;That article does not use category theory, but it gives an equational axiomatization of Kleene algebras, whose structure includes that of the regular languages. Kleene algebras with tests can be viewed as the extension of regular expressions to model simple programs with loops and conditionals (but without assignments). This extension is useful for reasoning about such simple programs in a purely algebraic manner.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.cs.cornell.edu/%7Ekozen/papers/ChenPucella.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;On the coalgebraic theory of Kleene algebra with tests.&lt;/a&gt; Technical Report. Cornell University, March 2008.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Regular languages form a Boolean algebra with additional structure, as you observe. This structure has been studied from the viewpoint of Stone duality by Nick Pippenger.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.springerlink.com/content/fm0gwum3umh4jvre/?MUD=MP&quot; rel=&quot;nofollow noreferrer&quot;&gt;Regular Languages and Stone Duality&lt;/a&gt;. Nicholas Pippenger. Theory Computing Systems, 1997: 121-134.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;The duality approach to language recognition has been in the spotlight recently and has been applied to derive new results about language recognition.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;a href=&quot;http://liafa.jussieu.fr/%7Ejep/PDF/DualityWeb.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Duality and equational theory of regular languages.&lt;/a&gt; M. Gehrke, S. Grigorieff, J.-E. Pin.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="4155" LastEditorUserId="62091" LastEditDate="2021-04-26T07:40:17.870" LastActivityDate="2021-04-26T07:40:17.870" CommentCount="1" ContentLicense="CC BY-SA 4.0" />
  <row Id="11433" PostTypeId="1" AcceptedAnswerId="11434" CreationDate="2012-05-10T16:17:24.513" Score="0" ViewCount="885" Body="&lt;p&gt;So what are the advantages of ANN classifiers over the AdaBoost or Boosting algorithm?&lt;/p&gt;&#xA;" OwnerUserId="9217" LastEditorUserId="5693" LastEditDate="2012-05-10T19:04:21.997" LastActivityDate="2015-01-30T10:02:42.030" Title="Advantages of ANN classifiers over the AdaBoost" Tags="&lt;machine-learning&gt;&lt;lg.learning&gt;&lt;cv.computer-vision&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11434" PostTypeId="2" ParentId="11433" CreationDate="2012-05-10T20:25:20.180" Score="2" Body="&lt;p&gt;from comments, by request:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In terms of running time, performance, something else? In terms of error rates, these two methods are hard to compare theoretically. AdaBoost's performance depends on the choice of a base learner and whether the weak learning assumption is satisfied in the particular instance. ANN will work for some problems/distributions but not others. I think this question would be better answered in a different forum. &lt;/p&gt;&#xA;" OwnerUserId="123" LastActivityDate="2012-05-10T20:25:20.180" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11435" PostTypeId="1" AcceptedAnswerId="11441" CreationDate="2012-05-10T22:04:35.127" Score="3" ViewCount="238" Body="&lt;p&gt;This is a vague question. I will do my best, I think it has definite answers. I am hoping for answers of the form &quot;Read book x, learn this specific topic, read this paper/s&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is bothering me is that every AI system I have read about seems to have an internal model which is set up to operate in a specific way. The task of the learning algorithm is to then optimise the parameters of this model to solve the problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am thinking that this is akin to setting up a custom description language which preserves or translates some structure of the thing to be modelled in such a way that it becomes amenable to solution through some understood algorithmic technique; iterative gradient descent, analytic, whatever.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The Question: Is there any framework in which the optimum model/description language can be discovered? For instance in a GA the mapping from the genome to the phenotype is critical to the effective operation of the algorithm. This mapping is manually defined and, I would posit, is the most critical component of the GA. Specifically how would one search through the space of mappings? Or going meta how would one search through the space of algorithms for finding that best mapping? It feels like you could disappear up that ladder forever. In order to solve the problem you must first solve the problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Neural networks seem to represent an effective model for solving real world problems, why? How would one generate another model for a different set of problems? Cellular Automata seem good for modelling traffic flows or disease transmission, why? How would I automatically generate alternative systems which also model the set of problems effectively? etc.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is this something that is thought about and discussed? Where would I find it? This is my first question, please be gentle! :)&lt;/p&gt;&#xA;" OwnerUserId="9386" LastEditorUserId="1993" LastEditDate="2018-07-24T13:40:06.563" LastActivityDate="2018-07-24T13:40:06.563" Title="Discerning the best model for a problem" Tags="&lt;machine-learning&gt;&lt;big-picture&gt;" AnswerCount="2" CommentCount="4" ContentLicense="CC BY-SA 4.0" />
  <row Id="11436" PostTypeId="2" ParentId="2323" CreationDate="2012-05-10T22:57:57.197" Score="-8" Body="&lt;p&gt;the &lt;a href=&quot;http://www.perimeterinstitute.ca/&quot; rel=&quot;nofollow&quot;&gt;Perimeter institute&lt;/a&gt; in canada seems apparently not affiliated with a particular university but has a strong research program incl quantum foundations, quantum information processing etcetera. (questioner did mention &quot;institute&quot; &amp;amp; seems like artificial restriction to strictly limit to universities.)&lt;/p&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2012-05-10T22:57:57.197" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="11437" PostTypeId="2" ParentId="11425" CreationDate="2012-05-11T03:50:35.387" Score="21" Body="&lt;p&gt;Moved my comment here after Suresh's request.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An example of a natural problem for which we only know algorithms that require error on both sides is the following: given three algebraic circuits, decide whether exactly two of them are identical. This comes from the fact that deciding whether two algebraic circuits are identical is in co-RP.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Reference: see the post &lt;a href=&quot;http://blog.computationalcomplexity.org/2008/12/how-many-sides-to-your-error.html&quot;&gt;How Many Sides to Your Error?&lt;/a&gt; (Dec 2, 2008) about the very same question on Lance Fortnow's blog and the comments below his post for a discussion about the naturalness of the problem.&lt;/p&gt;&#xA;" OwnerUserId="1542" LastActivityDate="2012-05-11T03:50:35.387" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11440" PostTypeId="2" ParentId="11425" CreationDate="2012-05-11T08:13:57.907" Score="21" Body="&lt;p&gt;An arguably more natural problem - not designed specifically for the purpose of finding a problem that might be in $\mathsf{BPP} \backslash \mathsf{RP} \cup \mathsf{coRP}$, and also not so closely related to a problem known to be in $\mathsf{coRP}$ - is furnished by Problem 2.6 of [1]: Given a prime $p$, integers $N$ and $d$, and a list $A$ of invertible $d \times d$ matrices over $\mathbb{F}_{p}$, does the group generated by $A$ have a quotient of order $\geq N$ with no abelian normal subgroups? In [1] it is shown that this problem is in $\mathsf{BPP}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;While asking for quotients with no abelian normal subgroups might seem eccentric, the class of groups with no abelian normal subgroups (sometimes called semisimple) is actually fairly natural from the point of view of the structure theory of groups. See [2] and references therein.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] L. Babai, R. Beals, A. Seress. &lt;a href=&quot;http://dx.doi.org/10.1145/1536414.1536425&quot;&gt;Polynomial-time theory of matrix groups&lt;/a&gt;. STOC 2009.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] L. Babai, P. Codenotti, Y. Qiao. &lt;a href=&quot;http://people.cs.uchicago.edu/~laci/papers/icalp12.pdf&quot;&gt;Polynomial-time isomorphism test for groups with no abelian normal subgroups&lt;/a&gt;. To appear, ICALP 2012.&lt;/p&gt;&#xA;" OwnerUserId="129" LastEditorUserId="129" LastEditDate="2012-05-17T20:23:47.263" LastActivityDate="2012-05-17T20:23:47.263" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11441" PostTypeId="2" ParentId="11435" CreationDate="2012-05-11T18:46:48.467" Score="4" Body="&lt;p&gt;Unfortunately, there are many possible levels of description for a problem; choosing one among them is strictly dependent on your aims and on the tools available to you. In general, there are three possible approaches: analytical, numerical and observational. Each one is characterized by pro and cons. When you need to build a model, there are many possible decisions that must be made. For instance, you may decide among:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;specific - general &lt;/li&gt;&#xA;&lt;li&gt;model estimation - first-principles models&lt;/li&gt;&#xA;&lt;li&gt;numerical - analytical &lt;/li&gt;&#xA;&lt;li&gt;stochastic -deterministic &lt;/li&gt;&#xA;&lt;li&gt;microscopic - macroscopic &lt;/li&gt;&#xA;&lt;li&gt;discrete - continuous &lt;/li&gt;&#xA;&lt;li&gt;qualitative - quantitative&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;and so on. You must understand that, in general, there are no rigorous rules of thumb when making these choices. As pointed out by @Suresh, this a matter of experience, requires a careful understanding of the domain, and some inspired guessing as well. The good news is that once you have made your choices, then there are rigorous ways to proceed. Probably, the best model overall for a given problem is the one given by the Minimum Description Length Principle (essentially the Occam's razor): the best model is the smallest one. But determining it is beyond hope. So, the best model is almost always, the one that works best for you, given your explicit and even implicit assumptions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;That said, analytical and numerical approaches allows you to explore the behavior of a model, but the assumption here is that the underlying model is known. It's up to you to derive this model. Observational approaches allows you to derive a model from the experimentally observed data. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Analytical models may lead to a closed-form solution; they are of great importance, given their power: if and when an analytical model may be successfully applied, then you will be able to deduce almost everything there is to know about a system. Their major drawback is limited applicability, since much of the world is simply too complicated to be described this way. Examples include ODE, PDE, difference equations, variational calculus and stochastic processes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Numerical models are required when the equations in an analytical model are too complex to be solved exactly in closed-form. This usually happens as soon as we move too far from linearity to nonlinearity. It's important to remember that numerical and analytical solutions are complementary approaches rather than exclusive alternatives. Examples include Runge-Kutta methods, finite element methods, cellular automata and lattice gases.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Observational models can come from introspection or observation (or both).In some cases you may want to infer a model from experimentally measured data.This model may then be used to characterize and classify the data at hand, or to generalize from the measurements to predict the outcome of new observations etc. Examples include function fitting, SVD, Fourier and Wavelets transforms, neural networks, genetic algorithms, Expectation-Maximization algorithms, Wiener and Kalman filters, HMM, and time series. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A very good introductory book you may want to read is &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0521570956&quot; rel=&quot;nofollow&quot;&gt;The nature of mathematical modeling&lt;/a&gt;. Of course, given the huge amount of topics covered, do not expect a detailed treatment. &lt;/p&gt;&#xA;" OwnerUserId="4208" LastActivityDate="2012-05-11T18:46:48.467" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11442" PostTypeId="2" ParentId="11343" CreationDate="2012-05-11T19:30:22.290" Score="9" Body="&lt;p&gt;For your first question, without the total order, the answer to your question is that it's essentially as hard as linear programming. Here's an outline of a proof.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First, let's establish a variable $x_1&amp;gt;0$, which we call $\epsilon$. Now, let's choose another variable $x_i$, which we will call $1$. We want to make sure that $$\epsilon \ll 1\, .$$&#xA;To do this, consider the inequalities&#xA;$$x_1 &amp;lt; x_2,$$ &#xA;$$x_1 + x_2 &amp;lt; x_3,$$&#xA;$$x_2+x_3 &amp;lt; x_4,$$&#xA;and so on. With a long enough chain, this will tell us that $Nx_1 &amp;lt; x_i$, or $\epsilon &amp;lt; 1/N$, for some very large $N$ ($N$ is a Fibonacci number, and so grows exponentially in $i$). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;We can now manufacture a linear program with integer coefficients. If we want a coefficient of 3 on $x_t$, we add the inequalities&#xA;$$x_t &amp;lt; x_{t&amp;#39;} &amp;lt; x_{t&amp;#39;&amp;#39;} &amp;lt; x_t + \epsilon$$ and let $x_t + x_{t&amp;#39;} + x_{t&amp;#39;&amp;#39;}$ stand in for 3$x_t$. If you want larger coefficients, you can get them by expressing the coefficients in binary notation, and making inequalities that guarantee that $x_u \approx 2x_t$, $x_v \approx 2x_u$, and so on. To get the right-hand-side, we do the same with the variable $x_i = 1$. This technique will let us use linear programs of the OP's form to approximately check feasibility for arbitrary linear programs with integer coefficients, a task which is essentially as hard as linear programming.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I don't know how to analyze the second question, asking about the case where there's a total order on all subsets. &lt;/p&gt;&#xA;" OwnerUserId="1677" LastEditorUserId="1677" LastEditDate="2012-05-12T13:50:15.760" LastActivityDate="2012-05-12T13:50:15.760" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11448" PostTypeId="2" ParentId="9807" CreationDate="2012-05-12T18:37:54.743" Score="0" Body="&lt;p&gt;It seems to me that you can use a refinement of Myhill-Nerode equivalence for this problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We can define $u\nsim v$ if there exists $x\in\Sigma$ such that $ux\in A$ and $vx\in B$. This means that any automaton separating $A$ from $B$ must be in different states after reading $u$ and $v$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It suffices to study this relation over prefixes of elements of $A$ and $B$. This will give you a lower bound on the number of states you need. I'm not sure it directly gives you a way to build the minimal automaton, but it is at least a path to explore.&lt;/p&gt;&#xA;" OwnerUserId="8953" LastActivityDate="2012-05-12T18:37:54.743" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11451" PostTypeId="2" ParentId="9807" CreationDate="2012-05-13T18:55:14.983" Score="-1" Body="&lt;p&gt;I think this problem may have been inexactly phrased by the questioner. The questioner apparently wants an algorithm that generalizes infinite words based on specific finite word examples, using some kind of mechanized induction, i.e. recognizing apparent patterns in the examples. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In addition to some CS theory research cited in comments, there is also some more empirical research in this area e.g. below, using ANNs to create FSMs from examples. Note one can always run a standard DFA minimization algorithm on the result. The AT&amp;amp;T FSM library is good for work in this area.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The questioner is not specific about his problem domain, that can help to understand the structure of examples and get more specific references. However, one example that can be seen is AI algorithms in games that use FSM algorithms. I suspect there are some cases where the FSMs are learned from examples using learning algorithms.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] &#xA;&lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/0893608095000410&quot; rel=&quot;nofollow&quot;&gt;Learning a class of large finite state machines with a recurrent neural network&#xA;C. Lee Giles, 1, B.G. Horne, T. Lin 1995&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] &lt;a href=&quot;http://authors.library.caltech.edu/13654/1/ZENnc93.pdf&quot; rel=&quot;nofollow&quot;&gt;Learning FSMs with self-clustering recurrent networks &lt;/a&gt; by Zeng &amp;amp; Smyth 1993&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[3] &lt;a href=&quot;http://www2.research.att.com/~fsmtools/fsm/&quot; rel=&quot;nofollow&quot;&gt;AT&amp;amp;T FSM library&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="5693" LastEditDate="2012-05-14T20:04:41.797" LastActivityDate="2012-05-14T20:04:41.797" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="11453" PostTypeId="1" CreationDate="2012-05-14T00:58:14.137" Score="14" ViewCount="751" Body="&lt;p&gt;What is the computational complexity of optimizing various functions over the unitary group $\mathcal{U}(n)$? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A typical task, arising often in quantum information theory, would be maximizing a quantity of type $\mathrm{Tr}AUBU^{\dagger}$ (or higher order polynomials in $U$) over all unitary matrices $U$. Is this type of optimization efficiently (perhaps approximately) computable, or is it NP-hard? (maybe this is well known, but I've been unable to find any general references)&lt;/p&gt;&#xA;" OwnerUserId="2083" LastEditorUserId="5385" LastEditDate="2012-10-20T19:11:34.303" LastActivityDate="2012-10-20T22:05:06.613" Title="Complexity of optimization over unitary group" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;optimization&gt;&lt;quantum-information&gt;" AnswerCount="2" CommentCount="7" FavoriteCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="11454" PostTypeId="2" ParentId="9807" CreationDate="2012-05-14T01:23:54.070" Score="5" Body="&lt;p&gt;As you already know from the comments, finding the minimal DFA satisfying a finite set of positive and negative examples is $\mathsf{NP}$-hard. However, not all hope is lost, if you are willing to modify your learning paradigm slightly then we can get back into $\mathsf{P}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assume that you are trying to learn a an unknown DFA $W$ which is minimal for some language $L_W$. If you allow the oracle membership queries &lt;em&gt;and&lt;/em&gt; to act as a teacher by answering the following question: Given a proposed DFA $G$ does it recognize $L_W$? If not, can you provide a counter-example?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that if the oracle has access to $W$ it can compare $G$ to $W$ in poly-time, since testing equality between regular languages is easy. Generating a counter-example can also be done in polynomial time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In this framework, you can learn $W$ in polynomial time using Angluin's (&lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/0890540187900526&quot; rel=&quot;nofollow noreferrer&quot;&gt;1987&lt;/a&gt;; &lt;a href=&quot;http://www.cse.iitk.ac.in/users/chitti/thesis/references/learningRegSetsFromQueriesAndCounterExamples.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;pdf&lt;/a&gt;) algorithm (or &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=136314&quot; rel=&quot;nofollow noreferrer&quot;&gt;Schapire's refinement&lt;/a&gt; of it; see section 5.4.5). For more info about this model, here are two questions on cstheory and CS.SE about it:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/q/10958/1037&quot;&gt;Lower bounds for learning in the membership query and counterexample model&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://cs.stackexchange.com/q/118/55&quot;&gt;Are there improvements on Dana Angluin's algorithm for learning regular sets&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="1037" LastEditorUserId="-1" LastEditDate="2017-04-13T12:48:30.830" LastActivityDate="2012-05-14T01:23:54.070" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11457" PostTypeId="1" CreationDate="2012-05-14T15:29:23.617" Score="9" ViewCount="344" Body="&lt;p&gt;Suppose we have a graph on $n$ nodes. We would like to assign to each node either a $+1$ or a $−1$. Call this a configuration $\sigma \in \{+1,−1\}^n$.  The number of $+1$s that we have to assign is exactly $s$ (hence the number of $−1$s is $n−s$.) Given a configuration $\sigma$, we look at each node $i$ and sum the values assigned to its neighbors, call this $\xi_i(\sigma)$. We then count the number of nodes for which $\xi_i(\sigma)$ is nonnegative:&#xA;$$N(\sigma):=\sum_{i=1}^n 1\{\xi_i(\sigma) \ge 0\}.$$&#xA;The question is: what is the configuration $\sigma$ that maximizes $N(\sigma)$? More importantly, can we give a bound on $(\max N)/n$ in terms of $s/n$. I am wondering if this problem looks familiar to anyone, or if it can be reduced to some known problem in graph theory. If it helps, the graph can be assumed to be random of Erdős-Renyi type (say, G(n,p) with edge probability $p ~  (\log n)/n$, i.e. average degree growing as $\log n$). The main instrest is in the case where $s/n \in (0,1/2)$.&lt;/p&gt;&#xA;" OwnerUserId="9424" LastEditorUserId="-1" LastEditDate="2012-05-22T18:53:31.493" LastActivityDate="2012-05-22T18:53:31.493" Title="A variation on discrepancy involving random graphs" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;optimization&gt;" AnswerCount="2" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="11459" PostTypeId="2" ParentId="7633" CreationDate="2012-05-14T17:41:31.453" Score="1" Body="&lt;p&gt;Eventually, I found an answer myself and I used it to implement this bioinformatics library: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://bioinformatics.oxfordjournals.org/content/early/2012/05/02/bioinformatics.bts258.abstract&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://bioinformatics.oxfordjournals.org/content/early/2012/05/02/bioinformatics.bts258.abstract&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(see the supplementary data for a theoretical analysis on minimum covering path set).&lt;/p&gt;&#xA;" OwnerUserId="5984" LastEditorUserId="5984" LastEditDate="2017-10-08T16:40:10.313" LastActivityDate="2017-10-08T16:40:10.313" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11461" PostTypeId="1" AcceptedAnswerId="11493" CreationDate="2012-05-14T19:33:12.283" Score="17" ViewCount="918" Body="&lt;p&gt;As far as I'm aware, most implementations of pseudorandom number generation in practice use methods such as linear shift feedback registers (LSFRs), or these &quot;Mersenne Twister&quot; algorithms. While they pass lots of (heuristic) statistical tests, there are no theoretical guarantees that they look pseudorandom to, say, all efficiently computable statistical tests. Yet these methods are used indiscriminately in all sorts of applications, ranging from cryptographic protocols to scientific computing to banking (probably). I find it somewhat worrisome that we have little to no guarantee about whether these applications work as intended (because any sort of analysis would likely have assumed true randomness as input). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, complexity theory and cryptography provide a very rich theory of pseudorandomness, and we even have candidate constructions of pseudorandom generators that would fool ANY efficient statistical test you could come up with, using candidate one way functions. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is: has this theory made its way into practice? I would hope that for important uses of randomness, such as cryptography or scientific computing, theoretically sound PRGs are used. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;As an aside, I could find some limited analysis of how well popular algorithms such as quicksort work when using LSFRs as a source of randomness, and apparently they work well. See Karloff and Raghavan's &lt;a href=&quot;http://dl.acm.org/citation.cfm?doid=174130.174132&quot;&gt;&quot;Randomized algorithms and pseudorandom numbers&quot;&lt;/a&gt;. &lt;/p&gt;&#xA;" OwnerUserId="170" LastEditorUserId="186" LastEditDate="2012-05-14T23:47:48.507" LastActivityDate="2012-05-18T15:10:14.970" Title="Are theoretically sound pseudorandom generators used in practice?" Tags="&lt;cr.crypto-security&gt;&lt;randomized-algorithms&gt;&lt;pseudorandomness&gt;&lt;pseudorandom-generators&gt;" AnswerCount="2" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="11462" PostTypeId="2" ParentId="11457" CreationDate="2012-05-14T20:27:03.313" Score="8" Body="&lt;p&gt;You could approach this with a &quot;second moment method&quot; calculation, similar to the one I used in &lt;a href=&quot;http://www.math.cmu.edu/~adf/research/genksat.pdf&quot;&gt;A sharp threshold for a random constraint satisfaction problem&lt;/a&gt;, &lt;em&gt;Discrete Mathematics&lt;/em&gt; 285/1-3 (2004), 301-305.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;When the average degree grows like a sufficiently large constant times $\log n$, this approach has often been sufficient to find precisely the threshold of satisfiability.  It could possibly also show the fraction of clauses that can be satisfied in an unsatisfiable instance, although I have not investigated that.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To make your problem look more like my general one, you can view it as a &quot;MAX-AT-LEAST-HALF-SAT&quot; with a special graphical structure underlying the clauses in the CNF formula. I don't think that this special structure will help in a worst-case analysis, however, and since your clause size is non-uniform and your &quot;bad&quot; assignment set is growinyou'll have to go through the calculation and see if it still works.&lt;/p&gt;&#xA;" OwnerUserId="9428" LastActivityDate="2012-05-14T20:27:03.313" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="11463" PostTypeId="2" ParentId="11457" CreationDate="2012-05-14T20:38:57.847" Score="3" Body="&lt;p&gt;Let me elaborate on my comment. First, this is similar to discrepancy, but of course different in several ways. Given a system of $m$ sets $S_1, \ldots, S_m \subseteq \{1, \ldots n\} = [n]$, the discrepancy of the system is $\min_{\sigma:[n] \rightarrow \{\pm 1\}}{\max_{j}{|\sum_{i \in S_j}{\sigma(i)}|}}$. Let's denote $\sigma(S_j) = |\sum_{i \in S_j}{\sigma(i)}|$. Your definition differs in that you want to know for how many sets $\sigma(S_j)$ is positive and discrepancy asks how big is $\sigma(S_j)$ in magnitude in the worst case. For a quick intro, maybe my &lt;a href=&quot;http://paul.rutgers.edu/~anikolov/Files/Discrepancy.pdf&quot; rel=&quot;nofollow&quot;&gt;scribe notes&lt;/a&gt; can help. Chazelle has a nice &lt;a href=&quot;http://www.cs.princeton.edu/~chazelle/pubs/book.pdf&quot; rel=&quot;nofollow&quot;&gt;book&lt;/a&gt; that goes into a lot of detail.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For an easy probabilistic lower bound when $s &amp;gt; n/2$, as in my comment, given a graph $G = ([n], E)$ with degree sequence $\delta_1, \ldots, \delta_n$, you can pick $\sigma$ uniformly at random from all sequences with $s$ $1$'s (the $\sigma_i$ are not independent, but it should be possible to prove a Chernoff bound in this case too). We have $E[\xi_i(\sigma)] = \delta_i s/n$ and, by a Chernoff bound, $\Pr[\xi_i(\sigma) &amp;lt; 0] \leq \exp(-C\delta_i (s/n - 1/2)^2)$ for some constant $C$. So $E[N(\sigma)] \geq n - \sum_i{\exp(-C\delta_i (s/n - 1/2)^2)}$. So there exists some $\sigma$ that achieves this bound. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT: Seems that you are interested in the case $s &amp;lt; n/2$. Let's pick $\sigma$ at random in the same way as in the previous paragraph. Using a version of the central limit theorem for sampling without replacement ($\sigma$ is a sample of size $s$ without replacement from the vertices of the graph), you should be able to show that $\xi_i(\sigma)$ behaves like a Gaussian with mean $\delta_i (2s/n - 1)$ and variance about $\delta_i$, so $\Pr[\xi_i(\sigma) \geq 0] =\exp(-C\delta_i(2s/n - 1)^2) \pm \eta(n)$ for some C and $\eta(n)$ an error parameter from the central limit theorem. We should have $n\eta(n) = o(n)$, so you can take $N(\sigma) \geq \sum_{i}{\exp(-C\delta_i(2s/n - 1)^2)} - o(n)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Disclaimers: this is only meaningful if $\delta_i$ are constant/small or $s/n$ is very close to $n/2$. Also the calculations are somewhat heuristic and not very carefully done.&lt;/p&gt;&#xA;" OwnerUserId="4896" LastEditorUserId="4896" LastEditDate="2012-05-15T23:31:04.803" LastActivityDate="2012-05-15T23:31:04.803" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="11464" PostTypeId="1" CreationDate="2012-05-14T21:46:24.687" Score="9" ViewCount="328" Body="&lt;p&gt;I am looking for a theorem which say something like this: if the cover time of a reversible Markov chain is small, then the spectral gap is large. Here the spectral gap means $1-|\lambda_2|$, that is, we ignore the smallest eigenvalue of the chain. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The only result I was able to find in this direction is from &lt;a href=&quot;http://www.computer.org/portal/web/csdl/doi/10.1109/SFCS.1988.21964&quot;&gt;Bounds on the Cover Time&lt;/a&gt;, Broder and Karlin, FOCS 88. There it is assumed that the transition matrix of the chain is doubly stochastic (but not necessarily reversible) and aperiodic; roughly speaking, the paper shows that under these assumptions if the cover time is $O(n \log n)$, then $1-\max(|\lambda_2|, |\lambda_n|)$ is at least $n^{-1}$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Intuitively, it seems very plausible that if you can cover all the vertices of a graph quickly, then mixing time ought to be small. In particular, if you can cover all the vertices of a graph in $n^2$ time, surely you should be able to rule out a spectral gap of, say, $n^{-1000}$? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;One possible obstacle that would break the implication between small cover time and large spectral gap is bipartiteness: on a bipartite graph, you can have a small cover time with an eigenvalue of $-1$. By in my question, I am bypassing this issue by ignoring the smallest eigenvalue. &lt;/p&gt;&#xA;" OwnerUserId="5773" LastEditorUserId="186" LastEditDate="2012-05-14T23:48:10.690" LastActivityDate="2013-07-02T10:12:12.947" Title="Cover time and spectral gap for reversible random walks" Tags="&lt;ds.algorithms&gt;&lt;pr.probability&gt;&lt;random-walks&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11465" PostTypeId="1" CreationDate="2012-05-15T13:34:13.253" Score="4" ViewCount="542" Body="&lt;p&gt;For natural numbers $n \geq 5$, $m \geq 2^{n-2} + 1$ the following context-free language is given:&#xA;$$&#xA;L_{n,m} = \{ a^i | 2 \leq i \leq  m \} \setminus \{a^{2^i}|2 \leq i \leq  n-2\}  &#xA;$$&#xA;Find and prove a &lt;em&gt;minimal&lt;/em&gt; context-free grammar according to the &lt;em&gt;number of rules&lt;/em&gt; that generates $L_{n,m}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think this cannot be done with a fewer number of rules as shown below:&#xA;$$&#xA;P = \{S \rightarrow a^{2^{i-1} + 1} A^{2^{i-1} - 2} | 2 \leq i \leq n-2 \} \cup \\ \{S \rightarrow a^{2^{n-2}+1}A^{m - (2^{n-2}+1)}, A \rightarrow a, A \rightarrow \epsilon\}&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note: For the &quot;complement&quot; language&#xA;$$\{a^{2^i}|1 \leq i \leq  n\}$$&#xA;it’s known that a minimal context-free grammar needs exactly $n$ rules (one rule for each word $a^{2^i}$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any suggestions to prove or disprove my conjecture?&lt;/p&gt;&#xA;" OwnerUserId="9435" LastEditorUserId="9435" LastEditDate="2012-06-18T11:14:14.643" LastActivityDate="2012-06-18T11:14:14.643" Title="Minimal context-free Grammar for a special one-letter Language" Tags="&lt;fl.formal-languages&gt;&lt;optimization&gt;&lt;context-free&gt;&lt;context-free-languages&gt;" AnswerCount="0" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="11466" PostTypeId="2" ParentId="11414" CreationDate="2012-05-15T17:20:09.213" Score="-2" Body="&lt;p&gt;As you pointed out, non-deterministic and deterministic Buchi automata accept different languages. The most famous 'determinization' for a Buchi automaton is given by Safra (search &quot;Safra's construction&quot; on web. Here's one document that comes up: www.cs.cornell.edu/courses/cs686/2003sp/Handouts/safra.pdf). The procedure is quite intricate and involves transforming given Buchi automaton into a deterministic Rabin automaton (having 'accepting' F states and 'rejecting' G states: \sigma has only finitely many states in G). Safra's construction involves much more than simply removing transitions and/or usual subset construction. &lt;/p&gt;&#xA;" OwnerUserId="9423" LastActivityDate="2012-05-15T17:20:09.213" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11467" PostTypeId="2" ParentId="9679" CreationDate="2012-05-15T21:43:34.347" Score="0" Body="&lt;p&gt;Non-optimal tricks I might use:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) Use a force directed graph drawing program, then use the layout coordinates to generate a quadtree(z-curve).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) Use k-means, with k= 3, and distance being the shortest path length. Then recursively apply the kmeans to each cluster. You will get something close to the notion of a space filling curve. When you subdivide one cell into three, use the distance between the generator for each of the three children and the two generators of the other two parent level cells to determine the ordering. For the highest level ordering just pick something. &lt;/p&gt;&#xA;" OwnerUserId="2021" LastActivityDate="2012-05-15T21:43:34.347" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11468" PostTypeId="1" AcceptedAnswerId="11480" CreationDate="2012-05-16T00:21:04.753" Score="3" ViewCount="516" Body="&lt;p&gt;Just had this random idea... but unfortunately I'm not quite versed in complexity theory, so I thought it would be a good idea to ask it here.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let's equip a normal Turing machine with a &quot;black box oracle&quot; that contains a boolean circuit of unknown size, and call this Turing machine a &quot;black box machine&quot;. The black box oracle pretty much works the same way as an ordinary oracle machine, whose input and output (which are just the input/output of the circuit) are both polynomially bounded by the input size of our black box machine. As in the usual oracle machine's case, the evaluation of the black box circuit takes $O(1)$ time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now we define the boolean black box (BBB) problem:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(&lt;strong&gt;BBB&lt;/strong&gt;) Given a circuit $C$ which size is polynomially bounded by $n$ and a black box $B$ which input and output are both polynomially bounded by $n$, determine whether $C$ will always behave identically as $B$ (in other words, for any possible input, whether $C$ and $B$ always produce the same result).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;And the corresponding function problem:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(&lt;strong&gt;BBB-F&lt;/strong&gt;) Given a black box $B$ which input and output are both polynomially bounded by $n$, compute a circuit $C$ that always behaves identically as $B$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It seems to me that &lt;strong&gt;BBB&lt;/strong&gt; is unlikely to be in $P$, or even $NP$, because generally one needs to check all $2^n$ possible input/output pairs, which would take more than polynomial time. However, what happens if we restrict the size of the black-box circuit to be polynomially bounded by $n$? (Notice that this does change something: if we restrict the size to be some constant $c$, then the problem can be solved in linear time. But what happens when the bound is polynomial?) Of course, we would also like to know if &lt;strong&gt;BBB-F&lt;/strong&gt; will fall into $FP/FNP$ with this restriction.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A variant of this problem is that we only require the machine to be correct with a probability that is significantly higher than $1/2$. In other words, does $BBB \in PP$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Third question: $PSPACE$. Can this possibly be solved in polynomial space?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, I can see some vague connections between this problem and some craptographic problems. For instance, I would guess that a CCA2-secure cryptosystem exists if and only if &lt;strong&gt;BBB-F&lt;/strong&gt; is not in FP. To see the left-to-right part, simply put the decrypting procedure along with the secret key into a black box. An attacker with access to this black box has essentially the power to perform CCA2 attack. Now if &lt;strong&gt;BBB-F&lt;/strong&gt; is indeed in FP, then we can construct a valid circuit $C$ within polynomial time that behaves the same as the black box circuit, which is the decryptor, and that would break the security of the system.&#xA;As for the other way around, I don't have a good idea yet.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I googled quite a bit but couldn't find useful info about work done along this direction, so I would really appreciate it if someone can point me to some relevant literature. Any further thoughts on this problem would also be much appreciated. Thanks for your time!&lt;/p&gt;&#xA;" OwnerUserId="9439" LastEditorUserId="5385" LastEditDate="2012-05-16T06:34:03.887" LastActivityDate="2012-05-17T05:53:27.960" Title="Boolean Circuit in a Black Box?" Tags="&lt;reference-request&gt;&lt;cr.crypto-security&gt;&lt;circuit-complexity&gt;&lt;boolean-functions&gt;&lt;black-box&gt;" AnswerCount="2" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="11469" PostTypeId="1" AcceptedAnswerId="11471" CreationDate="2012-05-16T00:21:34.533" Score="4" ViewCount="148" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;Bob and Alice each have a bit string they want to keep private. They each want to know what the bitwise AND of their two strings would be without telling the other or anyone else listening to their exchange their actual bit strings... how can they do this? Keep in mind that even once they both hold the AND of their two bit strings, they should still not be able to calculate the other person's string exactly (unless of course one of their strings was all 1s).&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I asked this on Stack Overflow and got yelled at to move it here. Not really sure how to tag it either if anyone knows what it would fit under better please feel free to edit. I know that I have seen something similar before in some sort of mutual key system/voting system but I couldn't remember where. It has to be something like make a private random key, xor it and use that somehow... but I couldn't work out the details. Any clever encryption design people out there?&lt;/p&gt;&#xA;" OwnerUserId="9441" LastEditorUserId="4896" LastEditDate="2012-05-16T05:03:38.920" LastActivityDate="2012-05-16T05:03:38.920" Title="Algorithm Design for only Mutual Information Sharing" Tags="&lt;reference-request&gt;&lt;cr.crypto-security&gt;&lt;homomorphic-encryption&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11470" PostTypeId="2" ParentId="11469" CreationDate="2012-05-16T00:50:08.757" Score="1" Body="&lt;p&gt;An &lt;a href=&quot;http://en.wikipedia.org/wiki/Oblivious_transfer&quot; rel=&quot;nofollow&quot;&gt;OT1/2 protocol&lt;/a&gt; can be used here. For example, let Alice's first bit be $a_0$. She can prepare a table $T = \{a_0\text{ AND }0, a_0\text{ AND }1\}$. Bob, holding the bit $b_0$, can ask for $T[b_0]$ to get the value $(a_0\text{ AND }b_0)$ without revealing $b_0$ to Alice. Then Bob can simply tell Alice the result.&lt;/p&gt;&#xA;" OwnerUserId="9439" LastActivityDate="2012-05-16T00:50:08.757" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="11471" PostTypeId="2" ParentId="11469" CreationDate="2012-05-16T01:29:03.677" Score="7" Body="&lt;p&gt;What you want to do is called &quot;Private Set Intersection&quot;. You can think of Alice and Bob as each holding sets (the indices for which their strings are &quot;1&quot;), and they want to compute the intersection (the bitwise AND) so that neither of them learns anything about the other's set except what is implied by the intersection itself. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This problem is well studied. See, for example, Freedman, Nissim, and Pinkas: &lt;a href=&quot;http://www.pinkas.net/PAPERS/FNP04.pdf&quot;&gt;http://www.pinkas.net/PAPERS/FNP04.pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="25" LastActivityDate="2012-05-16T01:29:03.677" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11472" PostTypeId="2" ParentId="11468" CreationDate="2012-05-16T05:51:10.477" Score="2" Body="&lt;p&gt;Googling &quot;learning boolean function problem&quot; from M. Alaggan says that   &lt;a href=&quot;http://www.google.com/url?sa=t&amp;amp;rct=j&amp;amp;q=&amp;amp;esrc=s&amp;amp;source=web&amp;amp;cd=1&amp;amp;sqi=2&amp;amp;ved=0CFMQFjAA&amp;amp;url=http://cis.poly.edu/~hstein/AMSTalk.ppt&amp;amp;ei=Sz-zT5rpA8f_ggeR6Iy4CQ&amp;amp;usg=AFQjCNGF49a-dOcUowbMEgBoh52Z7ec7Pw&amp;amp;sig2=8WxIMRyrIMiPQpgtdvdH1Q&quot; rel=&quot;nofollow&quot;&gt;BBB and BBB-F is at most NP-Hard&lt;/a&gt; and you can optimize the problem for certain inputs.&lt;/p&gt;&#xA;" OwnerUserId="5385" LastActivityDate="2012-05-16T05:51:10.477" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11476" PostTypeId="1" CreationDate="2012-05-16T14:15:02.577" Score="4" ViewCount="852" Body="&lt;p&gt;I am currently reviewing my way through Katz and Lindell's Intro to Modern Cryptography, and have found the following question early in the book (exercise 2.6) surprisingly difficult to answer cleanly:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Say encryption scheme (Gen,Enc,Dec) satisﬁes Deﬁnition 2.1 for all distributions over&#xA;  $\mathcal{M}$ that assign non-zero probability to each $m\in \mathcal{M}$ (as per the simplifying convention used in this&#xA;  chapter). Show that the scheme satisﬁes the definition for all distributions over $\mathcal{M}$ (i.e. including those&#xA;  that assign zero probability to some messages in $\mathcal{M}$). Conclude that the scheme is also perfectly secret&#xA;  for any message space $\mathcal{M}&amp;#39; \subset \mathcal{M}$&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Where $\mathcal{M}$ is the message space the encryption scheme is defined over, and def 2.1 is&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;An encryption scheme (Gen,Enc,Dec) over a message space $\mathcal{M}$ is perfectly secret if for&#xA;  every probability distribution over $\mathcal{M}$, every message $m \in \mathcal{M}$, and every ciphertext $c \in \mathcal{C}$ for which&#xA;  $\Pr[C = c] &amp;gt; 0$ :&lt;br&gt;&#xA;  $\Pr[M = m \mid C = c] = Pr[M = m]$&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Maybe I am just missing something really basic, does anyone have a simple solution? &lt;/p&gt;&#xA;" OwnerUserId="9447" LastActivityDate="2017-08-27T16:03:55.530" Title="Justifying simplifying assumption about message distributions for perfectly secret encryption?" Tags="&lt;cr.crypto-security&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="11477" PostTypeId="2" ParentId="11461" CreationDate="2012-05-16T15:02:38.713" Score="9" Body="&lt;p&gt;You seem to be confusing theory with practice. A theoretically sound pseudorandom generator is a bad fit for practical use for several reasons:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;It's probably very inefficient.&lt;/li&gt;&#xA;&lt;li&gt;The security proof is only asymptotic, and so for the particular security parameter used, the pseudorandom generator may be easy to break.&lt;/li&gt;&#xA;&lt;li&gt;All security proofs are conditional, so in some sense it doesn't even satisfy the notion of theoretical security.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;In contrast to this, actual pseudorandom generators are fast, and come in different flavors depending on their use. For non-cryptographic use, almost anything other than a plain LFSR will do the job - not provably, but in practice (which is more important for people using stuff in reality).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For cryptographic use, people try to be more clever. At this point your criticism makes sense: we can't know that a particular pseudorandom generator used is &quot;safe&quot;, and indeed some old ones have been broken, for example RC4 as used in WEP. However, for the reasons stated above, using a theoretically (conditionally) sound pseudorandom generator is unfortunately not a realistic solution. Instead, the cryptological community relies on &quot;peer review&quot; - other researchers that try to &quot;break&quot; the system (their definition of when a cipher is broken is very wide).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, in applications when the money can be invested and security is important enough - say nuclear codes - people use physically generated noise (passed through a randomness extractor), though even that is not beyond theoretical criticism.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;When researchers write grant proposals or introductions to papers, they often claim that their research pertains and informs practice. Whether they believe in it or it's just lip service I don't know (and it may depend on the researcher), but you should be aware that the connection is greatly exaggerated in academic circles, for obvious reasons.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One thing that limits us as mathematical researchers is our dogmatic attachment to formal proof. You mention analysis of randomized algorithms fed by simple pseudorandom generators. This kind of analysis cannot be extended to real-world problems, since they are simply too complicated. And yet, in practice people solve even NP-hard problems all the time, with informed methods.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Real-world problems are better understood with a more scientific and experimental eye. They are better solved from an engineering perspective. They inspire theoretical research, and occasionally are informed by it. As Dijsktra said, (theoretical) computer science is not really about computers, not any more.&lt;/p&gt;&#xA;" OwnerUserId="40" LastActivityDate="2012-05-16T15:02:38.713" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="11479" PostTypeId="2" ParentId="11476" CreationDate="2012-05-17T02:56:22.673" Score="1" Body="&lt;p&gt;My initial crack at a solution is the following, please let me know what you think&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Fix an encryption scheme (Gen, Enc, Dec) satisfying definiton 2.1 for all distributions over&#xA;$\mathcal{M}$ that assign non-zero probability to each $m\in&#xA;\mathcal{M}$. Fix a distribution $p_{\mathcal{M}}$ over $\mathcal{M}$&#xA;for which $\exists m \in \mathcal{M}$ such that $p_{\mathcal{M}}(m) = 0$. Let $N$ denote the set of all such $m$. To avoid triviality, assume $\exists$ at least 2 messages $m_0, m_1 \in \mathcal{M}$ such that $p_{\mathcal{M}}(m_0) &amp;gt; 0$ and $p_{\mathcal{M}}(m_1) &amp;gt; 0$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, we let $p^* = p_{\mathcal{M}}(m_0)$, and create an &quot;altered&quot;&#xA;distribution as follows. Let $p'_{\mathcal{M}}(m) =&#xA;p_{\mathcal{M}}(m)$ for all $m \in \mathcal{M} \setminus (N \cup&#xA;\{m_0\})$, and let $p'_{\mathcal{M}}(m) = \frac{p(m_0)}{| N \; \cup \;&#xA;  \{m_0\} |}$ (that is, the altered distribution is the same as the&#xA;original, except it distributes the probability $p_{\mathcal{M}}(m_0)$&#xA;evenly amongst $m_0$ and all the messages in $N$). For notational&#xA;convenience, let $N' :=  N \; \cup \;&#xA;  \{m_0\} $.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now,&#xA;$p'_{\mathcal{M}}$ is a distribution in which all messages have&#xA;non-zero probability, so (Gen, Enc, Dec) is perfectly secret with&#xA;respect to this distribution. That is, Gen and Enc define a distribution&#xA;over the set of ciphertexts $\mathcal{C}$ such that:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$p'(M = m \mid C = c) = \frac{p'(M=m, C = c)}{p'(C = c)} = p'(M = m)$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;for all $m \in \mathcal{M}, c \in \mathcal{C}$. (Here $p'$ denotes the&#xA;joint probability over messages and ciphertexts determined by the&#xA;distribution $p'_{\mathcal{M}}$ over $\mathcal{M}$, the distribution&#xA;over keys generated by Gen, and the randomness of Enc). Then, I claim, (Gen,&#xA;Enc, Dec) must be perfectly secret with respect to the original&#xA;distribution, $p_{\mathcal{M}}$ over $\mathcal{M}$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Claim 1&lt;/strong&gt;: For all $m \not \in  N'$, and for all $c \in \mathcal{C}$:&#xA; $$p'(M=m, C=c) = p(M=m,&#xA;  C=c)$$&#xA;(where $p'$ is as before and $p$ denotes the&#xA;joint probability over messages and ciphertexts determined by the&#xA;distribution $p_{\mathcal{M}}$ over $\mathcal{M}$, the distribution&#xA;over keys generated by Gen, and the randomness of Enc). The reason&#xA;this holds is that Gen and Enc act independently of the&#xA;  distribution over $\mathcal{M}$. Since $p'_{\mathcal{M}}(m) =&#xA;  p_{\mathcal{M}}(m) \forall m \not \in  N'$, the claim follows.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Claim 2&lt;/strong&gt;: For all $c \in \mathcal{C}$:&#xA;$$p(M=m_0, C=c) = \sum_{m \in N'} p'(M=m, C=c) $$&#xA;First, we note that for any $c\in \mathcal{C}$ and for any $m \in&#xA;\mathcal{M} \setminus N'$, $p(C=c \mid M= m) = p'(C = c \mid M = m)$,&#xA;since the randomness of Gen and Enc are completely independent of the&#xA;distribution over $\mathcal{M}$, and so the message-conditional&#xA;probability of any particular ciphertext is equal. Then, fix $c\in \mathcal{C}$&#xA;$$&#xA;\begin{align*}&#xA;p(M=m_0, C = c) &amp;amp;= p(C=c \mid M=m_0)p(M=m_0) \\&#xA;&amp;amp;= p'(C = c \mid M = m_0)p(M = m_0), \text{ by the above discussion} \\&#xA;&amp;amp;= p'(C=c)p(M= m_0), \text{ since (Gen, Enc, Dec) is perfectly secret&#xA;  for } p'_{\mathcal{M}} \\&#xA;&amp;amp;= p'(C=c) \sum_{m \in N'} p'(M = m) \\&#xA;&amp;amp;= p'(C=c) \sum_{m \in N'} p'(M = m \mid C = c) \\&#xA;&amp;amp;= \sum_{m \in N'} p'(M=m, C=c)&#xA;\end{align*}&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thus, since &#xA;$$p(C = c) = \sum_{m \in \mathcal{M}} p(M=m, C=c) = \sum_{m&#xA;  \in \mathcal{M}} p'(M=m, C=c) = p'(C=c)$$&#xA; we see that the&#xA;distribution over ciphertexts remains the same with respect to both distributions&#xA;over $\mathcal{M}$. Combined with Claim 1, we see that &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;\begin{align}&#xA;p(M =m \mid C=c) &amp;amp;= \frac{p(M=m, C=c)}{p(C=c)} \\&#xA;&amp;amp;= \frac{p'(M=m, C=c)}{p'(C=c)} \\&#xA;&amp;amp;= p'(M=m \mid C=c) \\&#xA;&amp;amp;= p'(M=m) \\&#xA;&amp;amp;= p(M=m)&#xA;\end{align}&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;for all $m \in \mathcal{M} \setminus N'$ and all $c \in&#xA;\mathcal{C}$. For $m \in N' \setminus \{m_0\}$, &#xA;$$p(M= m \mid C = c) =&#xA;0 = p(M=m)$$&#xA;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;What remains to be seen is that $p(M=m_0 \mid C =&#xA;c) = p(M =m_0)$. This is the case, since for all $c \in \mathcal{C}$&#xA;$$&#xA;\begin{align}&#xA;p(M=m_0 \mid C = c) &amp;amp;= \frac{p(M=m_0, C=c)}{p(C=c)} \\&#xA;&amp;amp;= \sum_{m \in N'} \frac{p'(M=m, C=c)}{p'(C=c)}, \text{ by Claim 2} \\&#xA;&amp;amp;= \sum_{m \in N'} p'(M=m \mid C=c) \\ &#xA;&amp;amp;= \sum_{m \in N'} p'(M=m), \text{ since (Gen, Enc, Dec) is&#xA;  perfectly secret w.r.t }p'_{\mathcal{M}}\\ &#xA;&amp;amp;= p(M=m_0), \text{ by definition of }p'_{\mathcal{M}}&#xA;\end{align}&#xA;$$&#xA;And so the claim is proven.&lt;/p&gt;&#xA;" OwnerUserId="9447" LastEditorUserId="9447" LastEditDate="2017-08-27T16:03:55.530" LastActivityDate="2017-08-27T16:03:55.530" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11480" PostTypeId="2" ParentId="11468" CreationDate="2012-05-17T05:53:27.960" Score="7" Body="&lt;p&gt;Actually, the problems BBB and BBB-F above are not currently specified as languages or decision problems (the black box is not explicitly given to us as a binary string of some kind, is it?), so these problem cannot be in NP, PP, PSPACE, or even decidable/undecidable. A fundamental property of languages in the computability/complexity sense is that no bit of the initial input is &quot;hidden&quot; from you.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As suggested by M. Alaggan, the problems BBB and BBB-F are probably closest to the &quot;learning with membership queries&quot; framework, where one can only access a target function by querying it at various points and tries to infer the function. Nevertheless, both problems require superpolynomially many queries to the black box in the worst case, so they are both &quot;intractable&quot; in that sense. For BBB and BBB-F, your intuition is correct: it requires $\Omega(2^n)$ queries just to check that $B$ is not the &quot;all-zeroes&quot; function. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Even if you assume that the black box in these problems can be indeed modeled by some polynomial size circuit, it is highly unlikely that this helps. For example, if pseudorandom functions exist (a common cryptographic assumption) then for all $n$ there are polynomial size circuits $C_n$ with $n$ bits of input that cannot be distinguished from a completely random $n$-bit function, by any probabilistic &lt;em&gt;subexponential&lt;/em&gt; time algorithm with black-box access to $C_n$. It follows that no subexponential time algorithm can efficiently reconstruct $C_n$ just from queries to $C_n$.&lt;/p&gt;&#xA;" OwnerUserId="225" LastActivityDate="2012-05-17T05:53:27.960" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11481" PostTypeId="1" AcceptedAnswerId="11488" CreationDate="2012-05-17T13:39:57.583" Score="0" ViewCount="154" Body="&lt;p&gt;I have read a stream computation paper in STOC07(Paul Beame, T. S. Jayram, and Atri Rudra. Lower bounds for randomized read/write stream algorithms.) and FOCS08（Paul Beame and Trinh Huynh. On the value of multiple read/write streams for approximating frequency moments).&#xA;I am interested in this topic with design of algorithms and analysis of limitations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I want a list of natural counting functions, which stream algorithm theorists often consider like NPcomplete problems list by Garey and Johnson .&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there such a list ? &lt;/p&gt;&#xA;" OwnerUserId="9144" LastEditorUserId="9144" LastEditDate="2012-05-18T01:25:48.170" LastActivityDate="2012-05-18T02:39:50.753" Title="Functions and Counting Problems in Streaming Computation" Tags="&lt;ds.algorithms&gt;&lt;lower-bounds&gt;&lt;survey&gt;&lt;data-streams&gt;&lt;streaming&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11482" PostTypeId="1" AcceptedAnswerId="11485" CreationDate="2012-05-17T13:46:44.550" Score="0" ViewCount="210" Body="&lt;p&gt;If we have a machine which can solve any problem in the second level of PH, &#xA;can this machine solve optimization problems which is generalized version of NP-complete problems such as MAX-CLIQUE or MIN-COLORING ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think that the answer is yes and that the power of this machine is strictly powerful than the one for solving the optimization version.  However, I am not sure the differences between decision class and function class,i.e, PH is a class of decision problems but optimization problems are not. &lt;/p&gt;&#xA;" OwnerUserId="9144" LastEditorUserId="5385" LastEditDate="2012-05-17T17:45:41.033" LastActivityDate="2012-05-18T08:16:42.703" Title="PH and Optimization Problems" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;optimization&gt;&lt;polynomial-hierarchy&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11483" PostTypeId="1" AcceptedAnswerId="11490" CreationDate="2012-05-17T14:37:01.740" Score="7" ViewCount="522" Body="&lt;p&gt;The approximation mothods is used for deriving lower bounds on the monotone circuit size of k-cliue and perfect matching problem. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;People in parameterized complexity theory strongly believe that k-colooring is strictly harder than the k-clique problem, because k-clique problems can be solved by an exhaustive search of all ${n \choose k}$ potential cliques while k-coloring is NP-complete for a fixed k (k=3). k-coloring is also monotone function. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It seems to be natural that the approx method is appropriate for deriving lower bounds of the problem but I haven't seen a paper which justifies this intuition. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is Razborov's method useful to derive the exponential monotone lower bound of k-coloring?&lt;/p&gt;&#xA;" OwnerUserId="9144" LastEditorUserId="5693" LastEditDate="2012-05-18T09:42:03.253" LastActivityDate="2017-08-22T17:15:40.520" Title="Razborov's Approximation methods" Tags="&lt;cc.complexity-theory&gt;&lt;circuit-complexity&gt;&lt;lower-bounds&gt;&lt;graph-colouring&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11485" PostTypeId="2" ParentId="11482" CreationDate="2012-05-17T23:20:57.547" Score="0" Body="&lt;p&gt;Let machine M solves the $\Sigma_2^p$-complete problem. We can use  this  machine to solve &#xA;any &quot;NP-Hard&quot; optimization problem (which includes MAX-CLIQUE and MIN-COLORING)  in &#xA;additional time polynomial in size of input as follows:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The solution is described for MAX-CLIQUE but the same idea works for any NP-Hard optimization problem. Let G = (V, E) and&lt;/p&gt;&#xA;&#xA;&lt;p&gt;O = { $&amp;lt;G,k&amp;gt;$ : the size of largest clique in G is k }&lt;/p&gt;&#xA;&#xA;&lt;p&gt;D = { $&amp;lt;G,k&amp;gt;$ : there is a clique of size &gt;= k in G  }&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Observation 1:&lt;/em&gt; Problem of deciding language O can be solved by making $\log{|V|}$ calls &#xA;to  the machine that decides D [Using Binary search]&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Reduce instance of O to instance of D by using observation 1&lt;/li&gt;&#xA;&lt;li&gt;Reduce instance of D obtained to instance of $\sigma_2^p$ complete problem P&lt;/li&gt;&#xA;&lt;li&gt;Solve P using M&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The reductions are all polynomial time, so its easy to see that if M works in polynomial&#xA;time then we can compute MAX-CLIQUE using M with polynomial time overhead.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Using the above reduction we can also see that M is at least as powerful as the machine&#xA;that solves NP-hard optimization problems.&lt;/p&gt;&#xA;" OwnerUserId="288" LastEditorUserId="288" LastEditDate="2012-05-18T08:16:42.703" LastActivityDate="2012-05-18T08:16:42.703" CommentCount="2" CommunityOwnedDate="2012-05-17T23:20:57.547" ContentLicense="CC BY-SA 3.0" />
  <row Id="11487" PostTypeId="2" ParentId="8354" CreationDate="2012-05-18T00:58:20.077" Score="1" Body="&lt;p&gt;I actually recognize that fragment since I'm still reading that book.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Your insight is correct, you just misinterpreted the author when he writes. &quot;...  we cannot immediately point to the body ....&quot;. By immediately he means without reasoning about the code, be it your own reasoning expressed in your question, or by the Constraint Based Analysis being introduced by the book.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Constraint Based Analysis is just another way a computer can tell which of the two functions will be bound to x at each step of the execution.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is a great book. You do need to know your math for this one.&lt;/p&gt;&#xA;" OwnerUserId="9460" LastActivityDate="2012-05-18T00:58:20.077" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11488" PostTypeId="2" ParentId="11481" CreationDate="2012-05-18T02:39:50.753" Score="2" Body="&lt;p&gt;I don't know if there's a list of canonical hard problems, but there is a &lt;a href=&quot;http://people.cs.umass.edu/~mcgregor/papers/11-openproblems.pdf&quot; rel=&quot;nofollow&quot;&gt;list of open problems in streaming&lt;/a&gt; as maintained by Andrew McGregor. This is not limited to the specific models you're referring to  though. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2012-05-18T02:39:50.753" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11490" PostTypeId="2" ParentId="11483" CreationDate="2012-05-18T09:44:59.967" Score="8" Body="&lt;p&gt;Let $f(G)=1$ iff $G$ is &lt;strong&gt;not&lt;/strong&gt; $(k-1)$-colorable. Then $f$ accepts all $k$-cliques, and rejects all complete $(k-1)$-partite graphs, just like the $k$-clique function does. So, the lower bounds for clique hold also for $f$.&lt;/p&gt;&#xA;" OwnerUserId="5788" LastEditorUserId="46515" LastEditDate="2017-08-22T17:15:40.520" LastActivityDate="2017-08-22T17:15:40.520" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="11491" PostTypeId="1" AcceptedAnswerId="11492" CreationDate="2012-05-18T10:00:46.023" Score="0" ViewCount="357" Body="&lt;p&gt;I have two questions&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(1)Circuit lower bound for coNP&lt;/p&gt;&#xA;&#xA;&lt;p&gt;TAUT is a set of formulae such that any formula in TAUT is satisfied for all boolean assignments.&#xA;UnSAT is the complement problem of SAT.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is known that if NP$\neq$coNP then P$\neq$ NP, and that solving NP vs coNP problem is harder task than proving circuit lower bound of NP-complete problems. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is the following statement true?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Proving NP is not equal to coNP by showing a super-poly lower bound of proof size is &quot;harder&quot; task than deriving super-poly circuit lower bounds for a coNP-complete problem such as TAUT or UnSAT.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think that this is true because NP and coNP has a &quot;symmentric&quot; relation. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;(2)Uniform theory of  proof complexity&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are two streams of circuit complexity. First one is concrete complexity lower bounds for Non-uniform models like Sipser's PARITY lower bounds for constant depth circuit. Second one is simulation based lower bounds which is intensively argued in a book of Introduction to Circuit Complexity: A Uniform Approach by Vollmer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can we construct a simulation based uniform theory of proof systems and deriving structural separatins beween two classes of proof systems ?&lt;/p&gt;&#xA;" OwnerUserId="9144" LastActivityDate="2012-05-22T20:45:00.953" Title="Proof Complexity and Circuit Lower bound for coNP" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;circuit-complexity&gt;&lt;proof-complexity&gt;&lt;uniformity&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11492" PostTypeId="2" ParentId="11491" CreationDate="2012-05-18T14:08:22.840" Score="6" Body="&lt;p&gt;For the first question, it depends on what you mean by &quot;harder&quot;. If you mean one logically implies the other then yes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A lowerbound in a deterministic model of computation (containing negation) works also for the complement of the language because it is deciding the language. Therefore a circuit lowerbound for an $\mathsf{NP}$ problem is also a circuit lowerbound for its complement which is in $\mathsf{coNP}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(If you mean finding a proof of one is considerable harder than finding a proof of the other then it is a matter of opinion and arguable.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the second question, &#xA;the concept of uniform proof complexity corresponds to theories in bounded arithmetic. You can translate proofs in such theories to propositional proofs using the &lt;em&gt;propositional translation&lt;/em&gt;. See Stephen A. Cook and Phuong Nguyen, &quot;Logical Foundations of Proof Complexity&quot;, 2010. These theories correspond to the uniform version of propositional proof systems in a similar way that uniform complexity classes like $\mathsf{P}$ are considered to be the uniform version of non-uniform complexity classes like $\mathsf{P/poly}$. &#xA;There are other nice relations between the uniform and non-uniform proof systems that add justification to this correspondence. &#xA;(Some ideas goes back to Steve'e original paper &quot;Feasibly Constructive Proofs and the Propositional Calculus&quot; from 1975 paper). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;One can define other types of uniform proofs between these two, but it is not clear what you are asking (seems more like a post to solicit opinion about an idea than a question). You can find related stuff in &lt;a href=&quot;http://www.karlin.mff.cuni.cz/~krajicek/&quot; rel=&quot;nofollow&quot;&gt;Jan Krajicek&lt;/a&gt;'s and other peoples' lecture notes on proof complexity.&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2012-05-22T20:45:00.953" LastActivityDate="2012-05-22T20:45:00.953" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11493" PostTypeId="2" ParentId="11461" CreationDate="2012-05-18T15:10:14.970" Score="13" Body="&lt;p&gt;The notion of &quot;theoretically sound&quot; pseudorandom generators is not really well defined. After all, no pseudorandom generator has a proof of security. I don't know that we can say that a pseudorandom generator based on the hardness of factoring large integers is &quot;more secure&quot; than, say, using AES as a pseudorandom generator. (In fact, there is a sense that it is less secure, since we know of quantum factoring algorithms but not quantum algorithms to break AES.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What we do have mathematical proofs for are various composition results, saying that if you compose block-ciphers or hash functions in certain ways you can get pseudorandom generators or pseudorandom function. Some such results are widely used in practice, e.g., &lt;a href=&quot;http://en.wikipedia.org/wiki/HMAC&quot;&gt;HMAC&lt;/a&gt;. But it's true that the results that achieve a PRG and start with just assuming that the basic component is a plain one-way function are not efficient enough to use for applications (and this is at least partly &lt;a href=&quot;http://www.cs.umd.edu/~jkatz/&quot;&gt;inherent&lt;/a&gt;). So, typically we need to assume a  PRG/stream cipher/block-cipher/hash function as a basic primitive, and start building other things from it. The issue is not really about asymptotic analysis since essentially all cryptographic reductions (except perhaps for Levin's universal PRG) can be made concrete and so give concrete guarantees under concrete assumptions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But even though they are not based on one-way functions, there is a sense in which constructions such as AES are &quot;theoretically sound&quot; because:&#xA;(1) There are formal conjectures about their security.&#xA;(2) There is work to try to refute these conjectures, and also derive implications from them.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;And indeed, people are aware that for many applications, it would not be smart to use PRG's such as LSFR that do not satisfy (1) and (2) above.&lt;/p&gt;&#xA;" OwnerUserId="9466" LastActivityDate="2012-05-18T15:10:14.970" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11495" PostTypeId="1" AcceptedAnswerId="11496" CreationDate="2012-05-18T22:54:03.580" Score="3" ViewCount="225" Body="&lt;p&gt;I have two questions related to agnostic learning, one specific and one more general, specifically when the distribution relative to which the learner must operate is given explicitly as part of the input. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The specific question is closely related to proper agnostic learning of k-Juntas, though the connection is fuzzy. Consider the following optimization problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Problem statement:&lt;/strong&gt; You are given a set $S$ of $m$ binary strings in $\{0,1\}^n$, a boolean function $f: \{0,1\}^n \to \{0,1\}$, and a parameter $k$. Find a k-Junta $g:\{0,1\}^n \to \{0,1\}$ which agrees with $f$ on as many elements of $S$ as possible.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question:&lt;/strong&gt; What is the best (multiplicative or additive) approximation algorithm for this problem if you are allowed to query f on points in S, and are allowed to run in time polynomial in m, n, and k? What about if you are allowed to run in time polynomial in m,n and $2^k$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I sense that the answer to this question may be known or follow directly from existing techniques. A literature search reveals several works on agnostic learning of k-Juntas relative to the uniform distribution, where additive approximation schemes are possible (see, e.g. &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.190.4530&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;). Observe that the problem above differs from the settings considered in much of the literature in that the set of points S in the hypercube that we &quot;care&quot; about classifying correctly is explicitly given in the input. In essense, this can be thought of as learning with respect to a uniform distribution on a subset S of the hypercube, where the runtime of the learner may depend on the size of S and the learner is allowed to query $f$ on $S$. This interpretation raises a more general reference-request question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question:&lt;/strong&gt; Is there literature on agnostic learning relative to &quot;succinctly given&quot; distributions? Anyone know of example papers? What are the keywords one should search for? Also, to what extent do upper/lower bound results on agnostic learning w.r.t the uniform distribution imply something for succinct-distribution variants of the same problem?&lt;/p&gt;&#xA;" OwnerUserId="2945" LastEditorUserId="2945" LastEditDate="2012-05-19T00:31:58.943" LastActivityDate="2012-05-19T01:38:15.717" Title="Agnostic Learning of K-Juntas over &quot;small&quot; distribution" Tags="&lt;reference-request&gt;&lt;machine-learning&gt;&lt;lg.learning&gt;&lt;boolean-functions&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="11496" PostTypeId="2" ParentId="11495" CreationDate="2012-05-19T01:38:15.717" Score="3" Body="&lt;p&gt;Uniform convergence bounds should imply that agnostic learning with respect to a succinct distribution specified by a finite set S is no easier than learning with respect to the uniform distribution, at least for large enough $S$. Specifically, for any class of functions $C$ with VC-dimension $d$, the canonical algorithm which takes a randomly sampled collection of $m$ points for $m = O(d/\epsilon^2)$ and finds the function $f \in C$ which minimizes error with respect to the sample, will be within an additive $\epsilon$ of the minimum error function over the entire target distribution. So if you have an algorithm for agnostically learning with respect to an explicitly represented set of points $S$, you can learn over the uniform distribution by just taking a sufficiently large sample of points $S$ and feeding $S$ to your algorithm for concise distributions. In fact, this holds for any distribution, not just the uniform distribution.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now there are ${d \choose k}\cdot 2^{2^{k}}$ size $k$ juntas, and so they have VC-dimension at most $d \leq 2^k + k\log d \approx 2^k$.  So for large enough $S$ (at least, larger than $2^k$), lower bounds for agnostically learning w.r.t. the uniform distribution (or any other distribution) should apply to the problem of learning w.r.t. a concise distribution. &lt;/p&gt;&#xA;" OwnerUserId="25" LastActivityDate="2012-05-19T01:38:15.717" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11497" PostTypeId="1" CreationDate="2012-05-19T06:15:04.077" Score="3" ViewCount="611" Body="&lt;p&gt;I am an engineer and looking for a reference to find k-shortest path's in a large sparse graph. In the search for it, I came acorss Yen's ranking loopless algorithm and an &lt;a href=&quot;https://estudogeral.sib.uc.pt/bitstream/10316/7763/1/obra.pdf&quot; rel=&quot;nofollow&quot;&gt;improved&lt;/a&gt; implementation of it.&#xA;And did read about other implementations with the help of &lt;a href=&quot;http://liinwww.ira.uka.de/bibliography/Theory/k-path.html&quot; rel=&quot;nofollow&quot;&gt;http://liinwww.ira.uka.de/bibliography/Theory/k-path.html&lt;/a&gt; &lt;/p&gt;&#xA;&#xA;&lt;p&gt;But in every paper there is a reference to multiple others citing improved performance in a different scenario. Ultimately too many options and tough to choose one.&#xA;Hence can some one please provide the reference to most optimized sequential version of finding k-shortest path.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT: Another problem with improved implementation of yen's algorithm is that one cant work with it in parallel. i.e. if I am finding kth shortest path from node 1 to node 100, then in mean time I cannot use it to find from a node to some other node. This is because it removes some nodes and arcs from graph in midst of computation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem with eppstein again is that it uses its own data structure. There are many issues with it. Firstly I will have to construct it to use and the graph in my case is a large graph. The data structure is different for the start and terminal nodes respectively and same data structure cannot be used for other pair. Ultimately resulting in high memory utilization when using multiple instances of the algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT2: Sorry, this is my fault for lack of clarity, What I basically meant was that One should be able to run multiple instances of the algorithm in parallel. With improvised version of Yen algorithm one cannot do that. Basically a sequential algorithm that can have multiple instances (instances and not parallelism in the algorithm) of it running in parallel.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Secondly, in EDIT1, both of the comments are not a comparison but rather a small discussion. Due to inability to find satisfactory loopless shortest paths, I came across Prof.Eppstein paper compromising on loops for performance. What I am basically looking for is a loopless k-shortest path sequential algorithm with less memory utilization (in my case I am dealing with large road networks) which can scale for very large graphs (over 50k nodes). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks a lot.&lt;/p&gt;&#xA;" OwnerUserId="6897" LastEditorUserId="6897" LastEditDate="2012-05-22T05:19:22.090" LastActivityDate="2012-05-22T05:19:22.090" Title="K-shortest path in large sparse graph" Tags="&lt;ds.algorithms&gt;&lt;graph-algorithms&gt;" AnswerCount="0" CommentCount="8" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="11498" PostTypeId="1" CreationDate="2012-05-19T15:20:35.843" Score="11" ViewCount="393" Body="&lt;p&gt;We are given a matroid. Our goal is to find a set of elements of minimum size that has non-empty intersection with every base of the matroid. &#xA;Is the problem studied before? Is it in P?&#xA;For example, in a spanning tree matroid, the minimum hitting set should be a minimum cut. Thanks.&lt;/p&gt;&#xA;" OwnerUserId="383" LastActivityDate="2012-11-11T18:10:29.103" Title="min hitting set of every base of a matroid" Tags="&lt;co.combinatorics&gt;&lt;approximation-algorithms&gt;&lt;optimization&gt;" AnswerCount="3" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11499" PostTypeId="1" CreationDate="2012-05-19T23:10:25.253" Score="3" ViewCount="413" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;Problem: $X$ &lt;br&gt;&#xA;  Instance: A $m\times n$ 0-1 Matrix $A$,  $k \in \mathbb{N}$. &lt;br&gt;&#xA;  Question: Does $A$ contain $k$ pairwise disjoint &quot;column-paths&quot;? &lt;br&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;A column-path starts in the first column, ends in the last one&#xA;and traverses only 1-entries.  It may visit any row at most once.&#xA;Any 1 may be visited once only, by any path.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Example:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;    $ A =&#xA;    \begin{pmatrix}&#xA;    a_{00} &amp;amp; a_{01} &amp;amp; a_{02} \\&#xA;    a_{10} &amp;amp; a_{11} &amp;amp; a_{12} \\&#xA;    a_{20} &amp;amp; a_{21} &amp;amp; a_{22} \\&#xA;    a_{30} &amp;amp; a_{31} &amp;amp; a_{32} \\&#xA;    \end{pmatrix}&#xA;     =&#xA;     \begin{pmatrix}&#xA;    0 &amp;amp; 1 &amp;amp; 0 \\&#xA;    1 &amp;amp; 0 &amp;amp; 0 \\&#xA;    1 &amp;amp; 0 &amp;amp; 1 \\&#xA;    0 &amp;amp; 1 &amp;amp; 1 \\&#xA;    \end{pmatrix}&#xA;    $&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;$A$ contains the paths $(a_{10},a_{01},a_{22})$, $(a_{10},a_{01},a_{32})$, $(a_{10},a_{31},a_{22})$&#xA;and $(a_{20},a_{01},a_{32})$. Since there are (only) 2 disjoint paths, i.e. the&#xA;last 2, $(A,2) \in X$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is easy to see, that this problem reduces to set packing. It&#xA;does not work so easily the other way around, because the set&#xA;packing instance may be too &quot;restrictive&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any idea what kind of problem this is?&lt;/p&gt;&#xA;" OwnerUserId="9471" LastEditorUserId="567" LastEditDate="2012-05-28T16:11:03.820" LastActivityDate="2012-05-28T16:11:03.820" Title="Do you know this problem of deciding whether a given 0-1 matrix contains k pairwise disjoint “column-paths”?" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;np-hardness&gt;" AnswerCount="1" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="11500" PostTypeId="1" CreationDate="2012-05-20T05:25:53.710" Score="5" ViewCount="295" Body="&lt;p&gt;I have been looking in general for results on matching for regular hypergraphs that are not uniform, but I could not find any. Papers I found by internet search seem to focus on uniform hypergraphs (sometimes in addition to being regular). The relative scarcity of results on regular hypergraph matching is somewhat puzzling, since uniform and regular hypergraphs are duals of each other and one would expect that matching may have been studied for both kinds.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would appreciate if someone can point me to any sources. Of most interest to me are necessary and/or sufficient conditions for existence perfect matchings and closed form expressions or bounds for fractional matchings. I am also curious to know explanations (conceptual, historical etc) for the lack of results of this kind for regular hypergraphs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit:&lt;/strong&gt; A matching is a collection of pairwise disjoint hyperedges; a perfect matching is a matching that covers all vertices.&lt;/p&gt;&#xA;" OwnerUserId="8965" LastEditorUserId="8965" LastEditDate="2012-05-20T19:27:07.990" LastActivityDate="2012-05-25T21:05:04.117" Title="(perfect fractional) matching in regular hypergraphs" Tags="&lt;reference-request&gt;&lt;co.combinatorics&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="11502" PostTypeId="2" ParentId="11498" CreationDate="2012-05-21T14:35:05.417" Score="3" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Update&lt;/strong&gt;: The argument is incorrect as pointed out. The mistake is in the last line where I thought that one gets total dual&#xA;  integrality but the primal is covering LP and it doesn't work.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Let's write an LP for the problem with variable $x(e)$ for each element $e$. We want to $\min \sum_e c(e) x(e)$ such that $\sum_{e \in B} x(e) \ge 1$ for all bases $B$ and $x(e) \ge 0$ for all $e$. First observation is that this LP can be solved in polynomial time because the separation oracle for the LP is simply the problem of finding a minimum-weight basis of the given matroid. We want to claim that this polytope is integral. If you look at the dual it corresponds to packing bases of the matroid in the capacity vector given by $c$. Schrijver Chapter 42 shows that when $c$ is integral the dual is integral. This implies that the primal is integral.&lt;/p&gt;&#xA;" OwnerUserId="176" LastEditorUserId="80" LastEditDate="2012-11-11T18:10:29.103" LastActivityDate="2012-11-11T18:10:29.103" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11505" PostTypeId="2" ParentId="11498" CreationDate="2012-05-21T22:55:25.653" Score="11" Body="&lt;p&gt;I meant to leave this as a comment, but I don't have the reputation to do so yet.  This question was crossposted over at Mathoverflow, where I mention that the problem is NP-complete. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;See &lt;a href=&quot;https://mathoverflow.net/questions/97517/a-minimum-set-hitting-every-base-of-a-matroid&quot;&gt;here&lt;/a&gt;.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;To avoid a contradiction with Chandra Chekuri's answer, I do not believe that the LP given in his answer is integral.  To see this consider the uniform matroids $U_{k,n}$, where the bases are &lt;em&gt;all&lt;/em&gt; $k$-subsets of a $n$-set.  Note that the vector $(1/k, 1/k, \dots, 1/k)$ is a feasible solution to the LP.  Thus, if $c$ is identically 1, then the minimum value of the LP is at most $n/k$.  On the other hand, a minimum hitting for $U_{k,n}$ has size $n-k+1$. &lt;/p&gt;&#xA;" OwnerUserId="9482" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2012-07-05T07:13:56.053" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="11506" PostTypeId="1" CreationDate="2012-05-21T23:57:11.147" Score="0" ViewCount="128" Body="&lt;p&gt;I am interested in the following problem. One has two collections $Q$ and $T$ of strings, and a set $A$ of alignments of strings in $Q$ to strings in $T$. I want to find a subset $A'$ of $A$ that (i) involves each element of $Q$ only once and (ii) maximizes the total number of characters in elements $T$ that are covered by an alignment in $A'$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(To be precise: Let $a$ be an alignment in $A$. We can think of $a$ as a tuple $(q,t,f)$ where $q\in Q$, $t\in T$, and $f : \mathcal I_a \to \mathcal J_a$ is a bijection such that $f(i)=j$ if $a$ aligns the $i$th character of $q$ to the $j$th character of $t$. Here $\mathcal I_a \subset \{1,2,\dots,|q|\}$ and $\mathcal J_a \subset \{1,2,\dots,|t|\}$, where $|\cdot|$ means length. We can think of characters in elements of $T$ as pairs $(t,j)$ where $t\in T$ and $j\in\{1,2,\dots,|t|\}$. We say that $(t,j)$ is covered by an alignment in $A'$ if there exists $a=(q,t',f)\in A'$ such that $t=t'$ and $j\in\mathcal J_a$. (Note that there might exist several such $a\in A'$.) Let $\chi(t,j,A') = 1$ if such an $a\in A'$ exists, and 0 otherwise. We want to maximize the cardinality of $\{(t,j) : \chi(t,j,A')=1\}$ over $A'\subset A$ such that for all $q\in Q$, there exists at most one $a=(q',t,f)\in A'$ with $q=q'$.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question: What is a name for this problem, if any? Thanks in advance! I guess that it is related to maximum matchings and maximum coverage, but it's not quite the same as either.&lt;/p&gt;&#xA;" OwnerUserId="9483" LastEditorUserId="-1" LastEditDate="2012-05-22T18:53:27.517" LastActivityDate="2012-05-22T20:02:06.270" Title="Name of the problem to find the maximum number of characters covered by a set of strings" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;optimization&gt;" AnswerCount="1" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="11507" PostTypeId="2" ParentId="11435" CreationDate="2012-05-22T04:10:47.593" Score="1" Body="&lt;p&gt;In case you know the generation model of your data, you may use the  maximum likelihood estimation (MLE)&lt;/p&gt;&#xA;" OwnerUserId="9484" LastActivityDate="2012-05-22T04:10:47.593" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11508" PostTypeId="1" AcceptedAnswerId="11515" CreationDate="2012-05-22T12:28:13.190" Score="11" ViewCount="705" Body="&lt;p&gt;It was shown in the paper &quot;Integer Programming with a Fixed Number of Variables&quot; that integer programmings with constant number of constraints (or variables) are polynomially solvable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does this hold for 0-1 programming?&lt;/p&gt;&#xA;" OwnerUserId="553" LastEditorUserId="-1" LastEditDate="2012-05-22T18:53:29.560" LastActivityDate="2012-05-23T22:45:51.197" Title="Is 0-1 programming with constant number of constraints polynomially solvable?" Tags="&lt;cc.complexity-theory&gt;&lt;integer-programming&gt;" AnswerCount="4" CommentCount="3" FavoriteCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11510" PostTypeId="2" ParentId="11508" CreationDate="2012-05-22T13:37:26.753" Score="-1" Body="&lt;p&gt;0-1 integer programming or binary integer programming (BIP) is the special case of integer programming where variables are required to be 0 or 1 (rather than arbitrary integers). This problem is also classified as NP-hard, and in fact the decision version is NP-Complete.&lt;/p&gt;&#xA;" OwnerUserId="9488" LastActivityDate="2012-05-22T13:37:26.753" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11512" PostTypeId="1" CreationDate="2012-05-22T14:33:11.963" Score="22" ViewCount="1517" Body="&lt;p&gt;I'm interested in the complexity of deciding whether a given non-simple polygon is &lt;em&gt;almost&lt;/em&gt; simple, in either of two different formal senses: &lt;em&gt;weakly simple&lt;/em&gt; or &lt;em&gt;non-self-crossing&lt;/em&gt;.  Since these terms are not widely known, let me start with some definitions.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;A &lt;strong&gt;polygon&lt;/strong&gt; $P$ is the closed cycle of line segments connecting some finite sequence $p_0, p_1, p_2, \dots, p_{n-1}$ of points in the plane.  The points $p_i$ are called the &lt;em&gt;vertices&lt;/em&gt; of the polygon, and the segments $p_i p_{i+1\bmod n}$ are called its &lt;em&gt;edges&lt;/em&gt;.  We can specify any polygon by just listing its vertices in order.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;A polygon is &lt;strong&gt;simple&lt;/strong&gt; if all $n$ vertices are distinct and edges intersect only at their endpoints.  Equivalently, a polygon is simple if it is homeomorphic to a circle and every edge has positive length.  In general, however, the vertices and edges of a polygon may intersect arbitrarily, or even coincide.&lt;sup&gt;1&lt;/sup&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Consider two polygonal paths $A$ and $B$ whose intersection is a common subpath of both (possibly a single point).  We say that $A$ and $B$ &lt;strong&gt;cross&lt;/strong&gt; if their endpoints $A(0), B(0), A(1), B(1)$ alternate on the boundary of a neighborhood of the common subpath $A\cap B$.  A polygon is &lt;strong&gt;self-crossing&lt;/strong&gt; if it has two crossing subpaths and  &lt;strong&gt;non-self-crossing&lt;/strong&gt; otherwise.&lt;sup&gt;2&lt;/sup&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;A polygon is &lt;strong&gt;weakly simple&lt;/strong&gt; if it is the limit of a sequence of simple polygons, or equivalently, if there is an arbitrarily small perturbation of the vertices that makes the polygon simple.  Every weakly simple polygon is non-self-crossing; however, some non-self-crossing polygons are &lt;em&gt;not&lt;/em&gt; weakly simple.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;For example, consider the six points $a,b,p,q,x,y$ shown below.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/Wjs8f.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;The polygon $abpqyz$ is simple; see the left figure.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The polygon $papbpqyqzq$ is weakly simple; the middle figure shows a nearby simple polygon.  However, this polygon is not simple, because it visits $p$ three times.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The polygon $papbpqzqyq$ is self-crossing, because the subpaths $bpqz$ and $yqpa$ cross.  See the right figure for some intuition.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Finally, the polygon $papbpqyqzqpapbpqyqzq$ (which winds twice around the middle polygon) is non-self-crossing, but it is &lt;em&gt;not&lt;/em&gt; weakly simple.  Intuitively, the &lt;a href=&quot;http://en.wikipedia.org/wiki/Winding_number#Turning_number&quot; rel=&quot;nofollow noreferrer&quot;&gt;turning number&lt;/a&gt; of this polygon is $\pm 2$, while the turning number of any simple polygon must be $\pm 1$.  (A formal proof requires some case analysis, in part because the turning number is not actually well-defined for polygons with $0^\circ$ angles!)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Update (Sep 13):&lt;/strong&gt; In the figure below, the polygon $abcabcxyzxpqrxzyx$ is non-self-crossing &lt;strong&gt;and has turning number 1&lt;/strong&gt;, but it is not weakly simple.  The polygon arguably has several crossing &lt;em&gt;non-simple subwalks&lt;/em&gt;, but it has no crossing &lt;em&gt;simple subpaths&lt;/em&gt;.  (I say &quot;arguably&quot; because it's unclear how to define when two non-simple walks cross!)&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/9R4hV.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;So finally, here are my actual questions:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;How quickly can we determine whether a given polygon is non-self-crossing?&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;How quickly can we determine whether a given polygon is weakly simple?&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The first problem can be solved in $O(n^5)$ time as follows.  Since there are $n$ vertices, there are $O(n^2)$ vertex-to-vertex subpaths; we can test whether any particular subpath is simple in $O(n^2)$ time (by brute force).  For each pair of simple vertex-to-vertex subpaths, we can test whether they cross in $O(n)$ time.  But this &lt;em&gt;can't&lt;/em&gt; be the best possible algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I don't know whether the second problem can be solved in polynomial time.  I think I can quickly compute a well-defined turning number for any non-simple polygon (unless the union of polygon edges is just a path, in which case the polygon must be weakly simple); see my answer below.  &lt;strong&gt;However, the new example polygon above implies that non-self-crossing and turning number 1 does &lt;em&gt;not&lt;/em&gt; imply weakly simple.&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We can determine whether a given polygon is &lt;em&gt;simple&lt;/em&gt; in $O(n^2)$ time by checking every pair of edges for intersection, or in $O(n\log n)$ time using a standard sweepline algorithm, or even in $O(n)$ time using Chazelle's triangulation algorithm.  (If the input polygon is not simple, any triangulation algorithm will either throw an exception, infinite-loop, or produce output that is not a valid triangulation.)  But none of these algorithms solve the problems I'm asking about.  &lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;sup&gt;1&lt;/sup&gt; Branko Grünbaum.  &lt;a href=&quot;http://dx.doi.org/10.1007/s13366-011-0047-5&quot; rel=&quot;nofollow noreferrer&quot;&gt;Polygons: Meister was right and Poinsot was wrong but prevailed&lt;/a&gt;. &lt;em&gt;Beiträge zur Algebra und Geometrie&lt;/em&gt; 53(1):57–71, 2012. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;sup&gt;2&lt;/sup&gt; See, for example:  Erik D. Demaine and Joseph O'Rourke.  &lt;a href=&quot;http://gfalop.org/&quot; rel=&quot;nofollow noreferrer&quot;&gt;&lt;em&gt;Geometric Folding Algorithms: Linkages, Origami, Polyhedra&lt;/em&gt;&lt;/a&gt;. Cambridge University Press, 2007.&lt;/p&gt;&#xA;" OwnerUserId="111" LastEditorUserId="111" LastEditDate="2012-09-13T21:04:03.047" LastActivityDate="2012-09-13T21:04:03.047" Title="Detecting two kinds of almost-simple polygons" Tags="&lt;ds.algorithms&gt;&lt;cg.comp-geom&gt;&lt;polygon&gt;" AnswerCount="2" CommentCount="11" FavoriteCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="11513" PostTypeId="1" AcceptedAnswerId="11520" CreationDate="2012-05-22T18:39:39.343" Score="3" ViewCount="390" Body="&lt;p&gt;See &lt;a href=&quot;http://hackage.haskell.org/package/category-extras&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;. Has anyone attempted to use this to verify category theoretic proofs? Given the relationship between categories and &lt;a href=&quot;http://ncatlab.org/nlab/show/quiver&quot; rel=&quot;nofollow&quot;&gt;graphs&lt;/a&gt;, are there some applications with respect to graph algorithms? What other possible uses are there for this package and those associated with it?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I realize this is a broad, open-ended question, which may not be entirely appropriate for Stack Exchange. A better place to post this question could also be a helpful answer.&lt;/p&gt;&#xA;" OwnerUserId="9021" LastEditorUserId="-1" LastEditDate="2012-05-22T18:53:24.410" LastActivityDate="2012-05-23T14:32:31.233" Title="What can the Haskell package category-extras be used for?" Tags="&lt;pl.programming-languages&gt;&lt;functional-programming&gt;&lt;ct.category-theory&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="11514" PostTypeId="2" ParentId="11506" CreationDate="2012-05-22T20:02:06.270" Score="3" Body="&lt;p&gt;This sounds like the &lt;a href=&quot;http://en.wikipedia.org/wiki/Maximum_coverage_problem&quot; rel=&quot;nofollow&quot;&gt;maximum cover problem&lt;/a&gt; which is NP-hard.&lt;/p&gt;&#xA;" OwnerUserId="5385" LastActivityDate="2012-05-22T20:02:06.270" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11515" PostTypeId="2" ParentId="11508" CreationDate="2012-05-22T22:51:20.923" Score="20" Body="&lt;p&gt;I'm assuming that by &quot;0-1 programming with a constant number of constraints&quot; you mean the following problem:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Maximize some linear function of (x_1, x_2, ..., x_n) subject to the constraints that each x_i is in {0,1} and a constant number of additional linear constraints.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This problem is NP-complete even with 1 additional constraint since 0-1 knapsack can be written in this form.&lt;/p&gt;&#xA;" OwnerUserId="206" LastActivityDate="2012-05-22T22:51:20.923" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11516" PostTypeId="2" ParentId="11508" CreationDate="2012-05-22T23:12:55.180" Score="-1" Body="&lt;p&gt;In addition to what Robin said, if I understood the question correctly, if we have a constant number of variables $k$ that can take only the values 0 or 1, a brute force algorithm that tries all $2^k$ possibilities for the variables and checks whether each possibility obeys the constraints would be a polynomial time algorithm. &lt;/p&gt;&#xA;" OwnerUserId="8477" LastActivityDate="2012-05-22T23:12:55.180" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11518" PostTypeId="1" AcceptedAnswerId="11519" CreationDate="2012-05-23T04:16:37.027" Score="7" ViewCount="552" Body="&lt;p&gt;I'm trying to preprocess a very large and sparse directed graph in order to do faster shortest path searches.  The vertices have no natural distance function, and the edges are unweighted.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One thought I had was to try and use a force directed graph layout algorithm to project the graph into space.  This way I could use cartesian distance for ASTAR and maybe get some improvements.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Constraint: There are so many vertices that any solution requiring a data with $O(n^2)$ space isn't viable.  However $O(n)$ space is fine, which is what made me think about assigning spacial coordinates to each vertex and doing distance calculations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any thoughts on this idea or others?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;- Dan&lt;/p&gt;&#xA;&#xA;&lt;p&gt;UPDATE: For anyone interested, here's a paper that discusses my initial idea exactly: &lt;a href=&quot;http://www.siam.org/meetings/alenex05/papers/02d.wagner.pdf&quot; rel=&quot;nofollow&quot;&gt;http://www.siam.org/meetings/alenex05/papers/02d.wagner.pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="9497" LastEditorUserId="186" LastEditDate="2012-05-29T21:51:40.750" LastActivityDate="2012-05-29T21:51:40.750" Title="Preprocessing Sparse, Directed Non-Planar Graphs for Faster Shortest Path" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;shortest-path&gt;" AnswerCount="3" CommentCount="12" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="11519" PostTypeId="2" ParentId="11518" CreationDate="2012-05-23T08:50:21.427" Score="4" Body="&lt;p&gt;There have been many results on distance oracles and approximate distance oracles for directed graphs. A distance oracle for a graph is a data structure which can be queried on any pair of vertices (u,v) and returns the distance from u to v. It might also return the path realizing this distance. A good place to start (for the undirected case) would be:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Mikkel Thorup and Uri Zwick. Approximate distance oracles.&#xA;Journal of the ACM, 52(1):1–24, 2005.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the directed case you should check out:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edith Cohen, Eran Halperin, Haim Kaplan, Uri Zwick,&#xA;Reachability and distance queries via 2-hop labels&#xA;SIAM Journal on Computing 32, 1338--1355 (2003).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some other works also manage to construct such data structures which are also dynamic, that is, it is possible to update the data structure with changes to the graph.&lt;/p&gt;&#xA;" OwnerUserId="5835" LastActivityDate="2012-05-23T08:50:21.427" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="11520" PostTypeId="2" ParentId="11513" CreationDate="2012-05-23T14:32:31.233" Score="5" Body="&lt;p&gt;This library is not especially useful for category-theoretic proofs, since Haskell's typechecking is not sufficient to verify that the constructions satisfy the required properties. Surprisingly enough ;), it's actually intended to be used for writing Haskell programs. You are best off asking on the &lt;a href=&quot;http://www.haskell.org/mailman/listinfo/haskell-cafe&quot;&gt;Haskell-cafe mailing list&lt;/a&gt; for examples. &lt;/p&gt;&#xA;" OwnerUserId="657" LastActivityDate="2012-05-23T14:32:31.233" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11521" PostTypeId="1" CreationDate="2012-05-23T16:11:28.493" Score="-3" ViewCount="283" Body="&lt;p&gt;Over the years, two novel encryption techniques have come to mind and been implemented as programming libraries that could be integrated into applications. However, how to analyze their security and vulnerability characteristics has never been very clear, and their usage has been limited to mainly experimental tests. Are there tools available for automated examination of such parameters one may be interested in understanding for an encryption library? Are there bodies of people who are interested in being introduced to new encryption concepts for the purpose of executing their own personal analysis on such a process? I'm not sure where to look.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The first encryption algorithm is a mono-alphabetic simple substitution cipher. It requires two keys to operate and is designed to frustrate frequency analysis. The longer of the keys forms a table by which plain-text has a normal substitution cipher applied. Each encoded byte is then split into four values of two bits each. The second, shorter key is then used to allow a random selection from four groups of sixty-four unique bytes each. Each two bit value from the encoded byte is used to select which group of sixty-four bytes to use. Encoding has two disadvantages: the output is four times larger, and repeated data encoding may allow some frequency analysis.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The second encryption algorithm is a stream cipher like the first but internally operates on blocks of data. It utilizes two keys to operate: the first is a two-dimensional array that describes how to construct a (virtual) multidimensional grid, and the second is an initialization vector for the encoding/decoding engine. It attempts to overcome frequency analysis by encoding bytes with a window of preceding bytes (initialized from the second key). A byte with its preceding window of bytes form a multidimensional index into the aforementioned grid. Unfortunately, encoding duplicate blocks of data longer than the window size starts yielding equivalent data.&lt;/p&gt;&#xA;" OwnerUserId="2093" LastEditorUserId="2093" LastEditDate="2012-05-25T13:28:53.743" LastActivityDate="2012-05-25T13:28:53.743" Title="After implementing a novel encryption algorithm, how would one go about analyzing its security or get help from others in doing so?" Tags="&lt;cr.crypto-security&gt;" AnswerCount="1" CommentCount="14" ContentLicense="CC BY-SA 3.0" />
  <row Id="11524" PostTypeId="2" ParentId="11508" CreationDate="2012-05-23T22:19:37.857" Score="0" Body="&lt;p&gt;Lenstra showed in the mentioned paper, that the &lt;em&gt;Integer&#xA;Linear Programm &lt;strong&gt;Feasibility&lt;/strong&gt; Problem&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Given integral matrix $A_{m,n}$ and $b \in \mathbb{Z}^m$. &lt;br&gt; Is there a $x \in \mathbb{Z}^n$ such that $Ax \le b$ ?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;is polynomially solvable, if n or m is constant.  (Note the absence of&#xA;a goal function.)  This result is commonly used in the&#xA;analysis of parameterized problems, i.e. it can be used to prove&#xA;fixed-parameter-tractability by a reduction.&lt;/p&gt;&#xA;" OwnerUserId="9507" LastEditorUserId="9507" LastEditDate="2012-05-23T22:45:51.197" LastActivityDate="2012-05-23T22:45:51.197" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11525" PostTypeId="2" ParentId="11500" CreationDate="2012-05-23T23:30:53.333" Score="5" Body="&lt;p&gt;You are asking many things in the question, and I can only answer part of it:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;necessary and/or sufficient conditions for existence perfect matchings&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;It is unlikely that a nice necessary and sufficient characterization is known, because deciding whether a given 3-regular hypergraph has a perfect matching or not is NP-complete.  Indeed, it is equivalent to the &lt;a href=&quot;http://en.wikipedia.org/wiki/One-in-three_3SAT#Variations&quot; rel=&quot;nofollow&quot;&gt;monotone 1-in-3 SAT&lt;/a&gt; problem, which is proved to be NP-complete by Schaefer [Sch78].  (In [Sch78], the same problem is called “ONE-IN-THREE SATISFIABILITY” without the word “monotone.”)  To see this equivalence, interpret each hyperedge as a variable and each vertex as a clause.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[Sch78] Thomas J. Schaefer.  The complexity of satisfiability problems.  In &lt;em&gt;Proceedings of the 10th Annual ACM Symposium on Theory of Computing (STOC)&lt;/em&gt;, pp. 216–226, May 1978.  DOI: &lt;a href=&quot;http://dx.doi.org/10.1145/800133.804350&quot; rel=&quot;nofollow&quot;&gt;10.1145/800133.804350&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="567" LastEditorUserId="567" LastEditDate="2012-05-25T21:05:04.117" LastActivityDate="2012-05-25T21:05:04.117" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11527" PostTypeId="2" ParentId="11518" CreationDate="2012-05-24T03:46:59.877" Score="1" Body="&lt;p&gt;you dont mention your data type, which certainly helps to narrow the literature, but it appears that much or even most literature related to this is based on finding shortest paths in highway networks.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;this is a new phd thesis that looks promising &amp;amp; focuses on sparse graphs&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.sommer.jp/csom_phdthesis.pdf&quot; rel=&quot;nofollow&quot;&gt;Approximate Shortest Path and Distance Queries in Networks&lt;/a&gt; by christian sommer&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;this paper discusses shortest path heuristics that work well with low space requirements&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://research.microsoft.com/pubs/115272/soda10.pdf&quot; rel=&quot;nofollow&quot;&gt;Highway Dimension, Shortest Paths, and Provably Efficient Algorithms&lt;/a&gt; by Abraham et al, microsoft research&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;as I mention in a comment many real world graphs are &quot;small world&quot; which tend to have highly connected hubs. have not seen papers that specifically use/exploit this property for shortest path estimation however here is one that considers the question generally, considering the existence of effective decentralized [ie using local information] short-path algorithms &amp;amp; proving they must exist for some graphs.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.cs.cornell.edu/home/kleinber/swn.pdf&quot; rel=&quot;nofollow&quot;&gt;The Small-World Phenomenon: An Algorithmic Perspective&lt;/a&gt;&#xA;by Jon Kleinberg&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="7884" LastEditDate="2012-05-24T03:59:43.293" LastActivityDate="2012-05-24T03:59:43.293" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11529" PostTypeId="2" ParentId="11518" CreationDate="2012-05-24T09:05:38.217" Score="2" Body="&lt;p&gt;Just an initial association—one kind of preprocessing based only on distances is &lt;a href=&quot;http://hetland.org/research/2009/metric.pdf&quot; rel=&quot;nofollow&quot;&gt;metric indexing&lt;/a&gt;. There are even some &lt;a href=&quot;http://en.wikipedia.org/wiki/BK-tree&quot; rel=&quot;nofollow&quot;&gt;specific, simple structures&lt;/a&gt; for integer metrics, like in your case. That'll only let you retrieve all nodes within a given distance, but maybe you could use the basic ideas somehow?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, one common idea in metric indexing is is to use &lt;em&gt;sample objects&lt;/em&gt; as pivot points in the distance space, and to use the triangle inequality to find cheap heuristics and bounds for the (expensive) actual distance. Applied to your example of a graph $G=(V,E)$ with $n$ nodes under the unit-weight graph geodesic $d(\cdot,\cdot)$, you could select a subset $P\subset V$ of $m$ pivot nodes, and then pre-compute an $n\times m$ matrix $T$ of distances. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assuming one-to-one shortest path (given your mention of $A^*$), if you're going from $s$ to $t$, you would then fetch two rows $x=T[s]$ and $y=T[t]$, and compute $h(s,t)=L_\infty(x,y)$, which is simply $\max_{i=1\ldots m} |x_i-y_i|$. Because of the triangle inequality, this will be a lower bound to the the actual distance $d(s, t)$, i.e., $h(s,t)\leq d(s,t)$. (See &lt;a href=&quot;http://hetland.org/research/2009/metric.pdf&quot; rel=&quot;nofollow&quot;&gt;my tutorial&lt;/a&gt; for a more thorough explanation.) The heuristic is (as mentioned) guaranteed to be a lower bound, and the more pivots you add, the tighter it will (probably) be. Randomly selected pivots work well in practice, so the method is really simple.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In metric indexing, this lower-bounding heuristic is used for filtering out candidate objects during search (we only want close objects, so those guaranteed to be far away are eliminated). In your case, you could use the bound as a heuristic for $A^*$. Because it's a lower bound, $A^*$ will work correctly, and the number of pivots is a parameter for you to set. The more memory you have, the better your heuristic will be. It works for any starting node and any ending node, and it's really simple. And, as requested, for a constant number of pivots, it takes $\mathcal{O}(n)$ memory.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As for the number of pivots needed—there is some contention in general. Some people claim the optimal number grows with data size (e.g., logarithmically), and some claim it's a function of the inherent hardness of the distance function, regardless of problem size. I guess you could experiment. And while there are specialized algorithms for picking out good pivots, you could just try random ones first; they usually work quite well.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Come to think of it, I once read some papers on using &lt;em&gt;waypoint&lt;/em&gt; or somesuch with $A^*$. I don't remember the details, but that, too, was based on selecting some representative nodes and using them—probably in a manner at least &lt;em&gt;similar&lt;/em&gt; to what I've described. I have a look and see if I can find that material again.)&lt;/p&gt;&#xA;" OwnerUserId="901" LastEditorUserId="901" LastEditDate="2012-05-24T09:49:32.203" LastActivityDate="2012-05-24T09:49:32.203" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11530" PostTypeId="1" CreationDate="2012-05-24T11:26:45.773" Score="3" ViewCount="297" Body="&lt;p&gt;Boolean circuit is used to measure  time in a nonuniform way, which Pippenger showed the relation between a time complexity of uniform model (Turing Machines) and size complexity of boolean circuits.  In the theory of space complexity, branching programs are considered to measure nonuniform space complexity.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I want a survey to answer the following question. My motivation came from the state of the art of attempts for separation between NL and L, that is , proving L vs NL problem. I would like to know whether there is any analogous approach for proving separation between  time complexity classes (deriving circuit lower bounds is useful for separation of time complexity classes because this approach is supported by Pippenger's theorem).  Thus I would like to know whether there is an analogue of Pippernger's theorem which would support non-uniform approaches for separation of the space complexity classes like circuit lower bounds. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there a Nondeterministic polynomial size branching program solving&#xA;  an NL-complete problem  if we take a Nondeterministic Turing Machine&#xA;  solving the same problem ?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Reference:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;N.Pippenger and M.Fischer, Relations among complexity measures, J of ACM, 1979.&lt;/p&gt;&#xA;" OwnerUserId="9144" LastEditorUserId="1080" LastEditDate="2012-09-04T11:26:51.310" LastActivityDate="2012-09-04T11:26:51.310" Title="Separation of  space complexity classes: differeces between uniform class and nonuniform one as an analogy of circuit lower bounds project" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;advice-and-nonuniformity&gt;" AnswerCount="2" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="11531" PostTypeId="2" ParentId="11414" CreationDate="2012-05-24T13:16:31.050" Score="4" Body="&lt;p&gt;It turns out the answer is no, some counter-examples can be found in &lt;a href=&quot;http://perso.ens-lyon.fr/denis.kuperberg/papers/ICALP13long.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;this paper&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Also here is a &lt;a href=&quot;http://perso.ens-lyon.fr/denis.kuperberg/papers/GFGness.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;more recent work&lt;/a&gt; showing that such Büchi automata can be recognized in polynomial time.&lt;/p&gt;&#xA;" OwnerUserId="8953" LastEditorUserId="8953" LastEditDate="2020-11-02T11:52:22.493" LastActivityDate="2020-11-02T11:52:22.493" CommentCount="2" ContentLicense="CC BY-SA 4.0" />
  <row Id="11534" PostTypeId="1" CreationDate="2012-05-24T15:15:06.330" Score="2" ViewCount="667" Body="&lt;p&gt;I am reading a paper called &quot;&lt;a href=&quot;http://people.csail.mit.edu/azar/wp-content/uploads/2012/04/RationalProofsApril262012.pdf&quot; rel=&quot;nofollow&quot;&gt;Rational Proof&lt;/a&gt;&quot;. It mentioned the following one-to-one reduction. I cannot google an introduction of it. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;An excerpt from the paper.&#xA;&quot;Recall that a one-to-one reduction from a function $f$ to another function $g$ is a triple of polynomial time computable functions ($\alpha$, $\beta$, $\gamma$) such that:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;For all $x$ in the domain of $f$ we have $y=f(x)$ if and only if $g(\alpha(x))=\beta(y)$&lt;/li&gt;&#xA;&lt;li&gt;For all $x$ in the domain of $f$, let $w=\alpha(x)$. Then we have $g(w)=z$ if and only if $f(x)=\gamma(z)$.&#xA;&quot;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Any reference for the formal definiton of the so-called &quot;one-to-one reduction&quot; is appreciated. Thanks. &lt;/p&gt;&#xA;" OwnerUserId="6108" LastEditorUserId="-1" LastEditDate="2012-05-24T18:36:03.380" LastActivityDate="2013-09-21T02:53:28.747" Title="what is &quot;one-to-one reduction from a function f to another function g&quot;" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;terminology&gt;&lt;reductions&gt;" AnswerCount="3" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="11536" PostTypeId="1" CreationDate="2012-05-24T18:15:54.457" Score="8" ViewCount="364" Body="&lt;p&gt;I need an algorithm for adaptive sampling a well-behaved function and computing its derivative in the sampling range with prescribed accuracy. The function has no more than one minimum in the sampling range. If it has no minimum in the sampling range it is monotonic. The derivatives of the first and of the second order exist in any point in the sampling range and are continuous as well as the function itself. The algorithm &lt;strong&gt;must take the minimum number of points&lt;/strong&gt; of the objective function and allow computing its derivative in any point in the sampling range with prescribed accuracy (number of precise digits of the derivative). Probably such an algorithm is already developed and well-tested. Please help me to find it. The algorithm is supposed to be implemented in the &lt;a href=&quot;http://www.wolfram.com/mathematica/&quot; rel=&quot;nofollow&quot;&gt;Wolfram &lt;em&gt;Mathematica&lt;/em&gt;&lt;/a&gt; system.&lt;/p&gt;&#xA;" OwnerUserId="6505" LastEditorUserId="6505" LastEditDate="2012-05-28T04:01:23.010" LastActivityDate="2012-05-29T08:05:02.280" Title="Efficiently approximating derivative of a well-behaved function" Tags="&lt;ds.algorithms&gt;&lt;approximation-algorithms&gt;&lt;na.numerical-analysis&gt;" AnswerCount="0" CommentCount="7" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11538" PostTypeId="2" ParentId="11521" CreationDate="2012-05-24T19:28:04.880" Score="6" Body="&lt;p&gt;I probably shouldn't answer this, and wouldn't if it had taken any length of time. However, for what it's worth the first cipher is not secure, unless the plaintext is relatively short and you choose new keys randomly with each use. This is because you map each letter to one of a fixed set of 4 byte strings independent of it's position, and the set for each letter is unique. Thus the cipher is simply a &lt;a href=&quot;http://en.wikipedia.org/wiki/Substitution_cipher#Homophonic_substitution&quot;&gt;substitution cipher with homophones&lt;/a&gt;, and there are known ways to break these given sufficiently long cipher text.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, potentially your 'short key' could be enormous since the number of ways to partition all 256 strings into 4 sets of 64 strings is extremely large, and the longer this key the more ciphertext would be necessary to break the code, but this is only a polynomial increase with key length. &lt;/p&gt;&#xA;" OwnerUserId="204" LastEditorUserId="204" LastEditDate="2012-05-24T19:46:56.417" LastActivityDate="2012-05-24T19:46:56.417" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11541" PostTypeId="1" AcceptedAnswerId="11543" CreationDate="2012-05-25T02:49:07.497" Score="15" ViewCount="629" Body="&lt;p&gt;I've recently become quite interested in parametricity after seeing Bernardy and Moulin's 2012 LICS paper ( &lt;a href=&quot;https://dl.acm.org/citation.cfm?id=2359499&quot; rel=&quot;noreferrer&quot;&gt;https://dl.acm.org/citation.cfm?id=2359499&lt;/a&gt;). In this paper, they internalize unary parametricity in a pure type system with dependent types and hint at how you can extend the construction to arbitrary arities. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I've only seen binary parametricity defined before. My question is: what is an example of an interesting theorem that can be proved using binary parametricity, but not with unary parametricity? It would also be interesting to see an example of a theorem provable with tertiary parametricity, but not with binary (although I've seen evidence that n-parametricity is equivalent for n &gt;= 2: see &lt;a href=&quot;http://www.sato.kuis.kyoto-u.ac.jp/~takeuti/art/par-tlca.ps.gz&quot; rel=&quot;noreferrer&quot;&gt;http://www.sato.kuis.kyoto-u.ac.jp/~takeuti/art/par-tlca.ps.gz&lt;/a&gt;)&lt;/p&gt;&#xA;" OwnerUserId="3062" LastEditorUserId="34737" LastEditDate="2018-06-21T20:25:47.990" LastActivityDate="2018-06-21T20:25:47.990" Title="Unary parametricity vs. binary parametricity" Tags="&lt;lo.logic&gt;&lt;pl.programming-languages&gt;&lt;type-systems&gt;&lt;logical-relations&gt;&lt;parametricity&gt;" AnswerCount="4" CommentCount="0" FavoriteCount="5" ContentLicense="CC BY-SA 4.0" />
  <row Id="11543" PostTypeId="2" ParentId="11541" CreationDate="2012-05-25T05:39:39.297" Score="12" Body="&lt;p&gt;Typically, you use binary parametricity to prove program equivalences. It's unnatural to do this with a unary model, since it only talks about one program at a time. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Normally, you use a unary model if all you are interested in is a unary property. For example, see our recent draft, &lt;em&gt;&lt;a href=&quot;http://www.mpi-sws.org/~neelk/icfp12-superficial-krishnaswami-turon-dreyer-garg.pdf&quot;&gt;Superficially Substructural Types&lt;/a&gt;&lt;/em&gt;, in which we prove a type soundness result using a unary model. Since soundness talks about the behavior of one program (if $e : A$  then it either diverges or reduces to a value $v : A$), a unary model is sufficient. If we wanted to prove program equivalences in addition, we would need a binary model. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT: I just realized that if you look at our paper, it just looks like a plain old logical relations/realizability model. I should say a little bit more about what makes it (and other models) parametric. Basically, a model is parametric when you can prove the identity extension lemma for it: that is, for any type expression, if all of the free type variables are bound to identity relations, then the type expression is the identity relation. We don't explicitly prove it as a lemma (I don't know why, but you rarely need to when doing operational models), but this property is essential for our language's soundness.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The definition of &quot;relation&quot; and &quot;identity relation&quot; in parametricity is actually a bit up for grabs, and this freedom is actually essential if you want to support fancy types like higher kinds or dependent types, or wish to work with fancier semantic structures. The most accessible account of this I know is in Bob Atkey's draft paper &lt;a href=&quot;https://personal.cis.strath.ac.uk/robert.atkey/fomega-parametricity.html&quot;&gt;&lt;em&gt;Relational Parametricity for Higher Kinds&lt;/em&gt;&lt;/a&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you have a good appetite for category theory, this was first formulated in an abstract way by Rosolini in his paper &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.51.9972&quot;&gt;&lt;em&gt;Reflexive Graphs and Parametric Polymorphism&lt;/em&gt;&lt;/a&gt;. It has since been developed further by Dunphy and Reddy in their paper &lt;a href=&quot;http://www.cs.bham.ac.uk/~udr/papers/parametric.pdf&quot;&gt;&lt;em&gt;Parametric Limits&lt;/em&gt;&lt;/a&gt;, and also by Birkedal, Møgelberg, and Petersen in &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=1316367&quot;&gt;&lt;em&gt;Domain-theoretical Models of Parametric Polymorphism&lt;/em&gt;&lt;/a&gt;. &lt;/p&gt;&#xA;" OwnerUserId="657" LastEditorUserId="657" LastEditDate="2012-05-25T08:54:14.863" LastActivityDate="2012-05-25T08:54:14.863" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11544" PostTypeId="2" ParentId="11541" CreationDate="2012-05-25T09:17:33.200" Score="2" Body="&lt;p&gt;Probably the easiest paper to read for the applications of binary parametricity is Wadler's &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=99404&quot; rel=&quot;nofollow&quot;&gt;Theorems for Free!&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Actually, I am a bit surprised by the question because binary parametricity is what is most often mentioned in parametricity papers.  Even the original Reynolds paper &quot;Types, abstraction and parametric polymorphism&quot; mentions it everywhere.  It is rather the unary parametricity that is not widely known.&lt;/p&gt;&#xA;" OwnerUserId="8519" LastEditorUserId="8519" LastEditDate="2012-06-04T07:38:12.960" LastActivityDate="2012-06-04T07:38:12.960" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="11545" PostTypeId="1" AcceptedAnswerId="11550" CreationDate="2012-05-25T15:09:46.030" Score="6" ViewCount="1242" Body="&lt;p&gt;There is a well-known reduction from MINIMUM SET COVER to MINIMUM DOMINATING SET provided at &lt;a href=&quot;http://en.wikipedia.org/wiki/Dominating_set#L-reductions&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/Dominating_set#L-reductions&lt;/a&gt; (attributed there to Kann 1992, but seen, for example, in Paz and Moran, Non Deterministic Polynomial Optimization Problems and Their Approximations, 1981).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I've seen several claims (for example, Lund and Yannakakis, On the Hardness of Approximating Minimization Problems, 1994) that this reduction means the approximation factor bound of $c \log m$ for some $c &amp;gt; 0$ (proven in Raz and Safra, A sub-constant error-probability low-degree test, and sub-constant error-probability PCP characterization of NP, 1997 and cited in the mentioned Wikipedia article) gives a similar bound of $c \log n$ for MINIMUM DOMINATING SET.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But $m$ in the MINIMUM SET COVER bound is the cardinality of the universe of the sets, while the size $n = |V|$ of the graph obtained by the reduction is bigger by the number of the subsets provided for covering. When the number of subsets gets as large as $2^m$, $\log n = \log (m + 2^m)$ becomes $\Theta(m)$. How do we prove the $c \log m$ approximation factor for SET COVER when the DOMINATING SET approximation differs from the optimum only by a factor of $c m$ in the worst case?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One might argue that subsets contained in other subsets are redundant - but this still leaves $m \choose {\lfloor m/2\rfloor}$ subsets due to the Sperner's theorem, which is yet of the order of $2^m$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Note&lt;/em&gt;: &lt;a href=&quot;http://www.nada.kth.se/~viggo/wwwcompendium/node11.html&quot; rel=&quot;nofollow&quot;&gt;this page&lt;/a&gt; in &lt;strong&gt;A compendium of NP optimization problems&lt;/strong&gt; also cites Raz and Safra's result on SET COVER inapproximability as sufficient for ($c \log |V|$)-inapproximability for DOMINATING SET.&lt;/p&gt;&#xA;" OwnerUserId="9528" LastEditorUserId="-1" LastEditDate="2012-05-25T21:03:55.517" LastActivityDate="2018-05-18T13:59:38.753" Title="Why the reduction from MINIMUM SET COVER to MINIMUM DOMINATING SET means $c \log n$-inapproximability for MINIMUM DOMINATING SET" Tags="&lt;cc.complexity-theory&gt;&lt;approximation-hardness&gt;&lt;reductions&gt;&lt;set-cover&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="11548" PostTypeId="1" CreationDate="2012-05-25T20:26:12.710" Score="6" ViewCount="456" Body="&lt;p&gt;More generally, how do you reconcile questions that you may have about the paper's technical material?&lt;/p&gt;&#xA;" OwnerUserId="9531" LastEditorUserId="186" LastEditDate="2012-05-25T21:01:03.647" LastActivityDate="2012-05-26T19:35:25.197" Title="Is it considered OK to email authors to inquire about their paper while subreviewing their paper for a conference?" Tags="&lt;soft-question&gt;&lt;paper-review&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11549" PostTypeId="2" ParentId="11548" CreationDate="2012-05-25T20:49:15.470" Score="11" Body="&lt;p&gt;Usually any such ex-parte communication needs to go through the relevant PC. For example I was once on a PC where a subreviewer identified a bug in a paper they were reviewing for me. They relayed it to me, I discussed it with the other PC members assigned to the paper, and then we presented our conclusions to the PC chair who initiated contact with the authors. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is for conferences without a rebuttal process (typically true for theory confs). If the conference has a rebuttal process then there's a formal mechanism for discussing this with the authors. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, if you're not sure if there's a bug, then merely raise your doubt with the PC. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Update&lt;/strong&gt;: a secondary issue that comes to mind after seeing Jeff's comment is a matter of fairness. Suppose ex-parte communications are not officially sanctioned, but are not frowned on. Then an author who happens to know people on the PC gets a slight advantage, because PC members might be more likely to contact the author. However, an official policy on how to handle such communication that does not depend on &quot;knowing the author&quot; implicitly or explicitly seems fairer. &lt;/p&gt;&#xA;" OwnerUserId="80" LastEditorUserId="80" LastEditDate="2012-05-26T19:35:25.197" LastActivityDate="2012-05-26T19:35:25.197" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="11550" PostTypeId="2" ParentId="11545" CreationDate="2012-05-25T22:20:06.177" Score="1" Body="&lt;p&gt;I didn't at first understand that the question &lt;a href=&quot;https://cstheory.stackexchange.com/questions/8449/inapproximability-of-set-cover-can-i-assume-m-polyn&quot;&gt;Inapproximability of set cover: can I assume m=poly(n)?&lt;/a&gt; contains the answer to my own question. (Thanks to @Tsuyoshi Ito for pointing out.) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In short, the proof by Raz and Safra (and any other PCP-based proof) builds an instance of SET COVER where the number of subsets is a polynomial of the universe cardinality.&lt;/p&gt;&#xA;" OwnerUserId="9528" LastEditorUserId="9528" LastEditDate="2018-05-18T13:59:38.753" LastActivityDate="2018-05-18T13:59:38.753" CommentCount="1" ContentLicense="CC BY-SA 4.0" />
  <row Id="11551" PostTypeId="2" ParentId="11512" CreationDate="2012-05-26T06:46:34.063" Score="2" Body="&lt;p&gt;It seems like the first question has a $O(n^3)$ algorithm (though this is also likely not optimal).  Assuming that there is a crossing, the key to finding it seems to be that the edges that must be found are those immediately on either side of the common subpath.  Therefore, we look at all pairs of consecutive pairs of edges.  There are a quadratic number of these.  If we find a pair of pairs of edges with vertices $abc$ and $def$ such that edges $bc$ and $ef$ are the same, then we follow the common subpath to the end and inspect the edges that leave it.  If they form a crossing along with $ab$ and $de$, then we are done, otherwise we go on to the next pair.  Following the common subpath is at most a linear-time operation, so the whole algorithm is $O(n^3)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This analysis probably isn't tight since the number of times a linear-length common subpath will be followed isn't linear in the number of pairs of pairs.  There should be only a constant number of those.  Similarly, if the length of the longest common subpath is constant, then we are okay in terms of the amount of time following common subpaths.  I would expect that the worst case arises when there is a single subpath of length $O(\sqrt{n})$ that is common to $O(\sqrt{n})$ subpaths.  Then there are $O(n)$ interactions and in each interaction $O(\sqrt{n})$ edges are being followed.  So even still, the number of edges that are followed is $o(n^2)$, and the bound is provided by the number of pairs.  Thus I would guess that the true bound for this algorithm is $O(n^2)$. &lt;/p&gt;&#xA;" OwnerUserId="9535" LastActivityDate="2012-05-26T06:46:34.063" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="11554" PostTypeId="2" ParentId="4165" CreationDate="2012-05-26T16:57:33.833" Score="4" Body="&lt;p&gt;I wrote an answer to a very similar question at cs.stackexchange.com (&lt;a href=&quot;https://cs.stackexchange.com/a/2096/1490&quot;&gt;https://cs.stackexchange.com/a/2096/1490&lt;/a&gt;) and then I found this question. The answer there is for &lt;em&gt;approximate&lt;/em&gt; near neighbor search in the edit distance (i.e. the algorithm outputs a string which is approximately as close to the query string as the nearest neighbor of the query string).  I am posting here since I am not finding any of the references I gave there in the answers given here. &lt;/p&gt;&#xA;" OwnerUserId="4896" LastEditorUserId="2367" LastEditDate="2018-10-09T19:15:37.940" LastActivityDate="2018-10-09T19:15:37.940" CommentCount="0" ContentLicense="CC BY-SA 4.0" />
  <row Id="11556" PostTypeId="2" ParentId="9561" CreationDate="2012-05-26T21:25:20.353" Score="8" Body="&lt;p&gt;I've studied the problem and I found some results.&#xA;Shortest Common Superstring (SCS) can be solved in time $2^n$ with only polynomial space(&lt;a href=&quot;http://dl.acm.org/citation.cfm?id=810218&quot; rel=&quot;nofollow&quot;&gt;Kohn, Gottlieb, Kohn&lt;/a&gt;; &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/016763778290044X&quot; rel=&quot;nofollow&quot;&gt;Karp&lt;/a&gt;; &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0020019096001597&quot; rel=&quot;nofollow&quot;&gt;Bax, Franklin&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The best known approximation is $2\frac{11}{30}$ (&lt;a href=&quot;http://arxiv.org/pdf/1401.3670v1.pdf&quot; rel=&quot;nofollow&quot;&gt;Paluch&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The best known approximation of compression is $3\over4$ (&lt;a href=&quot;http://arxiv.org/pdf/1401.3670v1.pdf&quot; rel=&quot;nofollow&quot;&gt;Paluch&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If SCS can be approximated by a factor $\alpha$ over the binary alphabet, then it can be approximated by a factor $\alpha$ over any alphabet (&lt;a href=&quot;http://www.springerlink.com/content/9fcr047tk9xdv27n/&quot; rel=&quot;nofollow&quot;&gt;Vassilevska-Williams&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;SCS cannot be approximated with a ratio better than $1.0029$ unless P=NP (&lt;a href=&quot;http://arxiv.org/abs/1111.5442&quot; rel=&quot;nofollow&quot;&gt;Karpinski, Schmied&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Maximal Compression cannot be approximated with a ratio better than $1.0048$ unless P=NP (&lt;a href=&quot;http://arxiv.org/abs/1111.5442&quot; rel=&quot;nofollow&quot;&gt;Karpinski, Schmied&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would be grateful for any additions and suggestions.&lt;/p&gt;&#xA;" OwnerUserId="7454" LastEditorUserId="7454" LastEditDate="2014-01-18T12:40:23.963" LastActivityDate="2014-01-18T12:40:23.963" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11557" PostTypeId="2" ParentId="9241" CreationDate="2012-05-26T21:30:46.990" Score="59" Body="&lt;p&gt;I've studied the problem and I found the best known algorithms for TSP.&lt;/p&gt;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt; is the number of vertices, &lt;span class=&quot;math-container&quot;&gt;$M$&lt;/span&gt; is the maximal edge weight.&#xA;All bounds are given up to a polynomial factor of the input size (&lt;span class=&quot;math-container&quot;&gt;$poly(n, \log M)$&lt;/span&gt;).&#xA;We denote Asymmetric TSP by ATSP.&lt;/p&gt;&#xA;&lt;h2&gt;1. Exact Algorithms for TSP&lt;/h2&gt;&#xA;&lt;h3&gt;1.1. General ATSP&lt;/h3&gt;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$M2^{n-\Omega(\sqrt{n/\log (Mn)})}$&lt;/span&gt; time and &lt;span class=&quot;math-container&quot;&gt;$exp$&lt;/span&gt;-space (&lt;a href=&quot;http://arxiv.org/pdf/1211.0391v2.pdf&quot; rel=&quot;noreferrer&quot;&gt;Björklund&lt;/a&gt;).&lt;/p&gt;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$2^n$&lt;/span&gt; time and &lt;span class=&quot;math-container&quot;&gt;$2^n$&lt;/span&gt; space (&lt;a href=&quot;http://dl.acm.org/citation.cfm?id=321111&quot; rel=&quot;noreferrer&quot;&gt;Bellman&lt;/a&gt;; &lt;a href=&quot;http://epubs.siam.org/doi/pdf/10.1137/0110015&quot; rel=&quot;noreferrer&quot;&gt;Held, Karp&lt;/a&gt;).&lt;/p&gt;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$4^n n^{\log n}$&lt;/span&gt; time and &lt;span class=&quot;math-container&quot;&gt;$poly$&lt;/span&gt;-space (&lt;a href=&quot;http://research.microsoft.com/en-us/um/people/gurevich/Opera/71.pdf&quot; rel=&quot;noreferrer&quot;&gt;Gurevich, Shelah&lt;/a&gt;; &lt;a href=&quot;http://www.springerlink.com/content/lp241v54q2854859/&quot; rel=&quot;noreferrer&quot;&gt;Björklund, Husfeldt&lt;/a&gt;).&lt;/p&gt;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$2^{2n-t} n^{\log(n-t)}$&lt;/span&gt; time and &lt;span class=&quot;math-container&quot;&gt;$2^t$&lt;/span&gt; space for &lt;span class=&quot;math-container&quot;&gt;$t=n,n/2,n/4,\ldots$&lt;/span&gt; (&lt;a href=&quot;http://dl.acm.org/citation.cfm?id=1873642&quot; rel=&quot;noreferrer&quot;&gt;Koivisto, Parviainen&lt;/a&gt;).&lt;/p&gt;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$O^*(T^n)$&lt;/span&gt; time and &lt;span class=&quot;math-container&quot;&gt;$O^*(S^n)$&lt;/span&gt; space for any &lt;span class=&quot;math-container&quot;&gt;$\sqrt2&amp;lt;S&amp;lt;2$&lt;/span&gt; with &lt;span class=&quot;math-container&quot;&gt;$TS&amp;lt;4$&lt;/span&gt; (&lt;a href=&quot;http://dl.acm.org/citation.cfm?id=1873642&quot; rel=&quot;noreferrer&quot;&gt;Koivisto, Parviainen&lt;/a&gt;).&lt;/p&gt;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$2^n\times M$&lt;/span&gt; time and poly-space (&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.192.3413&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;noreferrer&quot;&gt;Lokshtanov, Nederlof&lt;/a&gt;).&lt;/p&gt;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$2^n\times M$&lt;/span&gt; time and space &lt;span class=&quot;math-container&quot;&gt;$M$&lt;/span&gt; (&lt;a href=&quot;http://dl.acm.org/citation.cfm?id=810218&quot; rel=&quot;noreferrer&quot;&gt;Kohn, Gottlieb, Kohn&lt;/a&gt;; &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/016763778290044X&quot; rel=&quot;noreferrer&quot;&gt;Karp&lt;/a&gt;; &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0020019096001597&quot; rel=&quot;noreferrer&quot;&gt;Bax, Franklin&lt;/a&gt;).&lt;/p&gt;&#xA;&lt;p&gt;Even for Metric TSP nothing better is known than algorithms above. It is a big challenge to develop &lt;span class=&quot;math-container&quot;&gt;$2^n$&lt;/span&gt;-time algorithm for TSP with polynomial space (see Open Problem 2.2.b, &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0166218X0700128X&quot; rel=&quot;noreferrer&quot;&gt;Woeginger&lt;/a&gt;).&lt;/p&gt;&#xA;&lt;h3&gt;1.2. Special Cases of TSP&lt;/h3&gt;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$1.657^n\times M$&lt;/span&gt; time and exponentially small probability of error(&lt;a href=&quot;http://dl.acm.org/citation.cfm?id=1918382&quot; rel=&quot;noreferrer&quot;&gt;Björklund&lt;/a&gt;) for Undirected TSP.&lt;/p&gt;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$(2-\epsilon)^n$&lt;/span&gt; and exponential space for TSP in graphs with bounded average degree, &lt;span class=&quot;math-container&quot;&gt;$\epsilon$&lt;/span&gt; depends only on degree of graph (&lt;a href=&quot;http://arxiv.org/pdf/1302.3763v1.pdf&quot; rel=&quot;noreferrer&quot;&gt;Cygan, Pilipczuk&lt;/a&gt;; &lt;a href=&quot;https://arxiv.org/pdf/1607.04002.pdf&quot; rel=&quot;noreferrer&quot;&gt;Björklund, Kaski, Koutis&lt;/a&gt;).&lt;/p&gt;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$(2-\epsilon)^n$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$poly$&lt;/span&gt;-space for TSP in graphs with bounded maximal degree and bounded integer weights, &lt;span class=&quot;math-container&quot;&gt;$\epsilon$&lt;/span&gt; depends only on degree of graph (&lt;a href=&quot;http://www.springerlink.com/content/68x34k07762gp425/&quot; rel=&quot;noreferrer&quot;&gt;Björklund, Husfeldt, Kaski, Koivisto&lt;/a&gt;).&lt;/p&gt;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$1.251^n$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$poly$&lt;/span&gt;-space for TSP in cubic graphs (&lt;a href=&quot;http://www.springerlink.com/content/qu47268n210j3nrr/&quot; rel=&quot;noreferrer&quot;&gt;Iwama, Nakashima&lt;/a&gt;).&lt;/p&gt;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$1.890^n$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$poly$&lt;/span&gt;-space for TSP in graphs of degree &lt;span class=&quot;math-container&quot;&gt;$4$&lt;/span&gt; (&lt;a href=&quot;http://www.springerlink.com/content/ae8vn6yh2ldtn2w0/&quot; rel=&quot;noreferrer&quot;&gt;Eppstein&lt;/a&gt;).&lt;/p&gt;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$1.733^n$&lt;/span&gt; and exponential space for TSP in graphs of degree &lt;span class=&quot;math-container&quot;&gt;$4$&lt;/span&gt; (&lt;a href=&quot;http://www.siam.org/proceedings/analco/2008/anl08_023gebauerh.pdf&quot; rel=&quot;noreferrer&quot;&gt;Gebauer&lt;/a&gt;).&lt;/p&gt;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$1.657^n$&lt;/span&gt; time and &lt;span class=&quot;math-container&quot;&gt;$poly$&lt;/span&gt;-space for Undirected Hamiltomian Cycle (&lt;a href=&quot;http://dl.acm.org/citation.cfm?id=1918382&quot; rel=&quot;noreferrer&quot;&gt;Björklund&lt;/a&gt;).&lt;/p&gt;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$(2-\epsilon)^n$&lt;/span&gt; and exponential space for TSP in graphs with at most &lt;span class=&quot;math-container&quot;&gt;$d^n$&lt;/span&gt; Hamiltonian cycles (for any constant &lt;span class=&quot;math-container&quot;&gt;$d$&lt;/span&gt;) (&lt;a href=&quot;https://arxiv.org/pdf/1607.04002.pdf&quot; rel=&quot;noreferrer&quot;&gt;Björklund, Kaski, Koutis&lt;/a&gt;).&lt;/p&gt;&#xA;&lt;h2&gt;2. Approximation Algorithms for TSP&lt;/h2&gt;&#xA;&lt;h3&gt;2.1. General TSP&lt;/h3&gt;&#xA;&lt;p&gt;Cannot be approximated within any polynomial time computable function unless P=NP (&lt;a href=&quot;http://dl.acm.org/citation.cfm?id=321975&quot; rel=&quot;noreferrer&quot;&gt;Sahni, Gonzalez&lt;/a&gt;).&lt;/p&gt;&#xA;&lt;h3&gt;2.2. Metric TSP&lt;/h3&gt;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$3 \over 2$&lt;/span&gt;-approximation (&lt;a href=&quot;http://en.wikipedia.org/wiki/Christofides_algorithm&quot; rel=&quot;noreferrer&quot;&gt;Christofides&lt;/a&gt;).&lt;/p&gt;&#xA;&lt;p&gt;Cannot be approximated with a ratio better than &lt;span class=&quot;math-container&quot;&gt;$123\over 122$&lt;/span&gt; unless P=NP (&lt;a href=&quot;http://arxiv.org/pdf/1303.6437v1.pdf&quot; rel=&quot;noreferrer&quot;&gt;Karpinski, Lampis, Schmied&lt;/a&gt;).&lt;/p&gt;&#xA;&lt;h3&gt;2.3. Graphic TSP&lt;/h3&gt;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$7\over5$&lt;/span&gt;-approximation (&lt;a href=&quot;http://arxiv.org/pdf/1201.1870.pdf&quot; rel=&quot;noreferrer&quot;&gt;Sebo, Vygen&lt;/a&gt;).&lt;/p&gt;&#xA;&lt;h3&gt;2.4. (1,2)-TSP&lt;/h3&gt;&#xA;&lt;p&gt;MAX-SNP hard (&lt;a href=&quot;http://www.jstor.org/discover/10.2307/3690150?uid=3738936&amp;amp;uid=2&amp;amp;uid=4&amp;amp;sid=56204759503&quot; rel=&quot;noreferrer&quot;&gt;Papadimitriou, Yannakakis&lt;/a&gt;).&lt;/p&gt;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$8 \over 7$&lt;/span&gt;-approximation (&lt;a href=&quot;http://dl.acm.org/citation.cfm?id=1109627&quot; rel=&quot;noreferrer&quot;&gt;Berman, Karpinski&lt;/a&gt;).&lt;/p&gt;&#xA;&lt;h3&gt;2.5. TSP in Metrics with Bounded Dimension&lt;/h3&gt;&#xA;&lt;p&gt;PTAS for TSP in a fixed-dimensional Euclidean space (&lt;a href=&quot;http://dl.acm.org/citation.cfm?id=796342&quot; rel=&quot;noreferrer&quot;&gt;Arora&lt;/a&gt;; &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=312204&quot; rel=&quot;noreferrer&quot;&gt;Mitchell&lt;/a&gt;).&lt;/p&gt;&#xA;&lt;p&gt;TSP is APX-hard in a &lt;span class=&quot;math-container&quot;&gt;$\log{n}$&lt;/span&gt;-dimensional Euclidean space (&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.53.6336&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;noreferrer&quot;&gt;Trevisan&lt;/a&gt;).&lt;/p&gt;&#xA;&lt;p&gt;PTAS for TSP in metrics with bounded doubling dimension (&lt;a href=&quot;http://arxiv.org/pdf/1112.0699.pdf&quot; rel=&quot;noreferrer&quot;&gt;Bartal, Gottlieb, Krauthgamer&lt;/a&gt;).&lt;/p&gt;&#xA;&lt;h3&gt;2.6. ATSP with Directed Triangle Inequality&lt;/h3&gt;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$O(1)$&lt;/span&gt;-approximation (&lt;a href=&quot;https://arxiv.org/pdf/1708.04215.pdf&quot; rel=&quot;noreferrer&quot;&gt;Svensson, Tarnawski, Végh&lt;/a&gt;)&lt;/p&gt;&#xA;&lt;p&gt;Cannot be approximated with a ratio better than &lt;span class=&quot;math-container&quot;&gt;$75\over 74$&lt;/span&gt; unless P=NP (&lt;a href=&quot;http://arxiv.org/pdf/1303.6437v1.pdf&quot; rel=&quot;noreferrer&quot;&gt;Karpinski, Lampis, Schmied&lt;/a&gt;).&lt;/p&gt;&#xA;&lt;h3&gt;2.7. TSP in Graphs with Forbidden Minors&lt;/h3&gt;&#xA;&lt;p&gt;Linear time PTAS (&lt;a href=&quot;http://www.cs.brown.edu/people/klein/publications/no-contraction.pdf&quot; rel=&quot;noreferrer&quot;&gt;Klein&lt;/a&gt;) for TSP in Planar Graphs.&lt;/p&gt;&#xA;&lt;p&gt;PTAS for minor-free graphs (&lt;a href=&quot;http://erikdemaine.org/papers/ContractionMinorFree_STOC2011/paper.pdf&quot; rel=&quot;noreferrer&quot;&gt;Demaine, Hajiaghayi, Kawarabayashi&lt;/a&gt;).&lt;/p&gt;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$22\frac{1}{2}$&lt;/span&gt;-approximation for ATSP in planar graphs (&lt;a href=&quot;http://www.stanford.edu/%7Esaberi/atsp2.pdf&quot; rel=&quot;noreferrer&quot;&gt;Gharan, Saberi&lt;/a&gt;).&lt;/p&gt;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$O(\frac{\log g}{\log\log g})$&lt;/span&gt;-approximation for ATSP in genus-&lt;span class=&quot;math-container&quot;&gt;$g$&lt;/span&gt; graphs (&lt;a href=&quot;http://www.cs.uiuc.edu/%7Ejeffe/pubs/pdf/atsp.pdf&quot; rel=&quot;noreferrer&quot;&gt;Erickson, Sidiropoulos&lt;/a&gt;).&lt;/p&gt;&#xA;&lt;h3&gt;2.8. MAX-TSP&lt;/h3&gt;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$7\over9$&lt;/span&gt;-approximation for MAX-TSP (&lt;a href=&quot;http://arxiv.org/pdf/0812.5101.pdf&quot; rel=&quot;noreferrer&quot;&gt;Paluch, Mucha, Madry&lt;/a&gt;).&lt;/p&gt;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$7\over8$&lt;/span&gt;-approximation for MAX-Metric-TSP (&lt;a href=&quot;http://duch.mimuw.edu.pl/%7Emucha/pub/approx08.pdf&quot; rel=&quot;noreferrer&quot;&gt;Kowalik, Mucha&lt;/a&gt;).&lt;/p&gt;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$3\over4$&lt;/span&gt;-approximation for MAX-ATSP (&lt;a href=&quot;http://arxiv.org/pdf/1401.3670v1.pdf&quot; rel=&quot;noreferrer&quot;&gt;Paluch&lt;/a&gt;).&lt;/p&gt;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$35\over44$&lt;/span&gt;-approximation for MAX-Metric-ATSP (&lt;a href=&quot;http://www.mimuw.edu.pl/%7Emucha/pub/wads07-max-tsp.pdf&quot; rel=&quot;noreferrer&quot;&gt;Kowalik, Mucha&lt;/a&gt;).&lt;/p&gt;&#xA;&lt;h3&gt;2.9. Exponential-Time Approximations&lt;/h3&gt;&#xA;&lt;p&gt;It is possible to compute &lt;span class=&quot;math-container&quot;&gt;$(1+\epsilon)$&lt;/span&gt;-approximation for MIN-Metric-TSP in time &lt;span class=&quot;math-container&quot;&gt;$2^{(1-\epsilon/2)n}$&lt;/span&gt; with exponential space&#xA;for any &lt;span class=&quot;math-container&quot;&gt;$\epsilon\le \frac{2}{5}$&lt;/span&gt;, or in time &lt;span class=&quot;math-container&quot;&gt;$4^{(1-\epsilon/2)n} n^{\log n}$&lt;/span&gt; with polynomial space for any &lt;span class=&quot;math-container&quot;&gt;$\epsilon \leq \frac{2}{3}$&lt;/span&gt; (&lt;a href=&quot;http://www.lamsade.dauphine.fr/%7Eboria/papers/SteinerTSP.pdf&quot; rel=&quot;noreferrer&quot;&gt;Boria, Bourgeois, Escoffier, Paschos&lt;/a&gt;).&lt;/p&gt;&#xA;&lt;p&gt;I would be grateful for any additions and suggestions.&lt;/p&gt;&#xA;" OwnerUserId="7454" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2019-01-25T03:01:50.353" CommentCount="12" CommunityOwnedDate="2013-05-12T12:35:29.757" ContentLicense="CC BY-SA 4.0" />
  <row Id="11558" PostTypeId="1" AcceptedAnswerId="27209" CreationDate="2012-05-27T03:40:21.710" Score="7" ViewCount="200" Body="&lt;p&gt;A dynamic predecessor data structure supporting &lt;code&gt;findPredecessor&lt;/code&gt;, &lt;code&gt;insert&lt;/code&gt;, and &lt;code&gt;delete&lt;/code&gt; over unique ordered keys in an unbounded universe in $O(\lg n)$ worst-case time can be stored contiguously using only $O(1)$ extra words of storage in addition to the storage for the keys themselves:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.di.unipi.it/~grossi/PAPERS/wads03final.ps.gz&quot;&gt;&quot;Optimal Worst-Case Operations for Implicit Cache-Oblivious Search Trees&quot;, Franceschini and Grossi&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The structure is complex (IMHO).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Storing $n$ keys in an array that can grow dynamically requires at space for at least $\Theta(\sqrt{n})$ additional keys:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://erikdemaine.org/papers/ResizableArrays_WADS99/&quot;&gt;&quot;Resizable Arrays in Optimal Time and Space&quot;, Brodnik et al.&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given the latter constraint, is there a simpler dynamic predecessor data structure that uses contiguous space for $n + O(\sqrt{n})$ keys?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There were many implicit ($O(1)$ extra words) dynamic predecessor data structures that predate the result of Franceschini and Grossi:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://dl.acm.org/citation.cfm?id=322364&quot;&gt;&quot;Implicit Data Structures for the Dictionary Problem&quot;, Frederickson&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://dx.doi.org/10.1007/BF01933727&quot;&gt;&quot;Searchability in merging and implicit data structures&quot;, Munro and Poblete&lt;/a&gt; (does not support &lt;code&gt;delete&lt;/code&gt;)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://dx.doi.org/10.1007/BFb0016241&quot;&gt;&quot;Developing Implicit Data Structures&quot;, Munro&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm wondering if it is possible to simplify even these structures by using $\Theta(\sqrt{n})$ extra space. I am hoping to find a structure supporting all three operations in $o(n^\varepsilon)$ time.&lt;/p&gt;&#xA;" OwnerUserId="43" LastEditorUserId="43" LastEditDate="2012-05-27T04:44:25.093" LastActivityDate="2014-10-26T15:57:55.377" Title="Simple succinct dynamic predecessor with $O(\sqrt{n})$ redundancy in contiguous space" Tags="&lt;ds.data-structures&gt;&lt;succinct&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="11560" PostTypeId="2" ParentId="3873" CreationDate="2012-05-27T16:02:51.110" Score="11" Body="&lt;p&gt;I think this is a type of &quot;educational snowball effect&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The academics writing the papers have &quot;snowballed&quot; so much information about their subject, that when they write their paper, they speak entirely in terms of their subject.  Any given sentence in that paper, however, might make mention of several &lt;em&gt;other&lt;/em&gt; research topics that you have no idea about.  For example:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;In particular, we discuss how the &lt;b&gt;harmonic basis&lt;/b&gt;, which is derived analytically from a model of an object, can be used in a &lt;b&gt;linear&lt;/b&gt; &lt;b&gt;subspace-based&lt;/b&gt; &lt;b&gt;object recognition algorithm&lt;/b&gt;, in place of a basis derived by performing &lt;b&gt;SVD&lt;/b&gt; on large collections of rendered images.&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;So every bolded set of words there actually requires a substantial amount of information for you to even know what they're talking about.  If you don't have the prereqs to understand the paper, the paper will be opaque to you.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The author assumes you just know, because he doesn't have the space to explain absolutely everything, and advanced readers (his target audience) would find the paper &quot;too basic&quot;, or filled with stuff they already know.  People in the field want the author to &quot;get to the good bits&quot;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&quot;Tutorials&quot; are all about filling in those gaps that papers tend to leave.  This is just the entry barrier research topics have.  Once you know a bit about your topic, you'll find it easier to read the papers.  Just keep at it.&lt;/p&gt;&#xA;" OwnerUserId="1983" LastActivityDate="2012-05-27T16:02:51.110" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11563" PostTypeId="2" ParentId="11499" CreationDate="2012-05-27T20:20:39.640" Score="6" Body="&lt;p&gt;&lt;em&gt;(from comments, per request)&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is a sketch of a polynomial-time solution.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First, interpret matrix $A$ as a bipartite graph $G=(V \cup U,E)$, with $m$ nodes in part $V$ and $n$ nodes in part $U$, $n \le m$. Then column-paths are $U$-saturating matchings, i.e., matchings of size $n$ (each node of $U$ is incident to precisely one edge in the matching).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The union of $k$ such matchings is a simple $k$-matching of size $kn$ (each node of $U$ is &quot;covered&quot; precisely $k$ times). Conversely, if there is a simple $k$-matching of size $kn$, by &lt;a href=&quot;http://en.wikipedia.org/wiki/Hall%27s_marriage_theorem&quot;&gt;Hall's theorem&lt;/a&gt; there are also $k$ disjoint $U$-saturating matchings.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hence to solve the problem it is enough to find a maximum-size simple $k$-matching. This is possible in polynomial time.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Some background:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A simple $k$-matching is a subset $M \subseteq E$ such that each node is incident to at most $k$ edges in $M$. A simple $1$-matching is a &lt;a href=&quot;http://en.wikipedia.org/wiki/Matching_%28graph_theory%29&quot;&gt;matching&lt;/a&gt; in the usual sense. For more information on (simple) $k$-matchings and algorithms for finding them, see, for example:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Korte &amp;amp; Vygen (2008): &lt;em&gt;Combinatorial Optimization—Theory and Algorithms&lt;/em&gt;, 4th edition, Chapter 12.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="74" LastActivityDate="2012-05-27T20:20:39.640" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11564" PostTypeId="1" CreationDate="2012-05-27T20:52:06.483" Score="5" ViewCount="257" Body="&lt;p&gt;Fix $f(\_; \_)$, which represents a class of optimization problems, ie, for a specific $P$, $f(\_; P)$ is a function we'd like to optimize.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, we have an algorithm $A$ that takes as input $P, a, b$, runs for $t$ CPU cycles, and outputs $x$ such that $a{\cdot}f(x; P) + b{\cdot}t$ is minimized.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;edit (much cut)&lt;/strong&gt;: As Sasho points out, it is very tricky to define in what sense $A$ &quot;minimizes&quot; $a{\cdot}f(x; P) + b{\cdot}t$. I'm pretty convinced now that the criterion I gave earlier (see older version of this question) is no good. Let me try a different one similar to the one from the &lt;a href=&quot;http://theory.stanford.edu/~tim/f11/l1.pdf&quot; rel=&quot;nofollow&quot;&gt;notes Sasho linked to&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $\mathcal{A}$ be the set of algorithms that take in $a, b, P$ and give out some $x$. Also say that the $P$s have &quot;sizes&quot; which are integers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Say then that $A$ is optimal iff for every $A' \in \mathcal{A}$ and $a, b \in R$ there exists an $N \in Z$ such that&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;$\forall{n} \ge N, ~~ \operatorname*{max}_{P \text{ with size ≤ n }}\{a{\cdot}f(x_P; P) + b{\cdot}t\} \leq \operatorname*{max}_{P \text{ with size ≤ n }}\{a{\cdot}f(x'_P; P) + b{\cdot}t'\}$&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;where $x, t$ are the result and running time of $A(a,b,P)$ and $x', t'$ are the result and running time of $A'(a,b,P)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Maybe that will work, not sure. Let me give an example.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt; Say we take the problem of finding the smallest element in a list. Say we are given a list of size $n$, which we know contains some permutation of $1 ... n$, and we are asked to give an index at which lies a value that is as small as possible (ie, if the list were $[2, 1, 3]$ the best we could output would be $2$, then $1$, then $3$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Say accessing the list (random access) takes $1$ step, everything else takes $0$ steps. Now our algorithm ($A$) will be:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;If a &amp;gt; b:&#xA;    Search through the list 1 by 1 looking for the number 1,&#xA;    then output that index.&#xA;Else:&#xA;    Output 1.&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;For a list of size $\leq n$, the worst this can do is $min(a + b{\cdot}(n-1), a{\cdot}n)$ (note that the comparison, somewhat unrealistically, takes no time). Any algorithm guaranteed of finding a value no less than $k$ must see at least $n - k$ elements of the list, giving a worst-case score of $a{\cdot}k + b{\cdot}(n - k)$. Differentiate that wrt $k$ gives $a - b$, and substituting $1$ or $n$ for $k$ gives $a + b{\cdot}(n-1)$ or $a{\cdot}n$ respectively, so by induction $A$ scores at least as well. So, according to the above optimality constraint, $A$ is optimal.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question:&lt;/strong&gt; Does this problem, of including &lt;em&gt;both&lt;/em&gt; an algorithm's &lt;em&gt;own&lt;/em&gt; running time, and the result of another problem, in its score, have a name? Or does something similar have a name? Can such an algorithm usually exist in theory? Any other information I could check out?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(This question was inspired by a friend of mine who's computer freezes up for several minutes when he runs optimization algorithms).&lt;/p&gt;&#xA;" OwnerUserId="9551" LastEditorUserId="9551" LastEditDate="2012-05-28T19:55:44.003" LastActivityDate="2012-06-27T20:35:24.763" Title="Is it possible to include an optimization algorithm's own running time in the cost?" Tags="&lt;ds.algorithms&gt;&lt;optimization&gt;" AnswerCount="1" CommentCount="8" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11565" PostTypeId="2" ParentId="11564" CreationDate="2012-05-28T02:49:19.780" Score="1" Body="&lt;p&gt;Analyzing algorithms on real word machines is complicated but there has been some work done in this area in terms of how an algorithm behaves based on access to memory hierarchy. External Memory or memory hierarchy access based analysis are much more useful in understanding how an algorithm grows for large data-sets and in modern machines on most problems external memory access is the one which creates most latency AFAIK. You should check out work done on Cache Oblivious algorithms and algorithms for External Memory for understanding the run time cost of your problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am not aware of work done on CPU cycles but someone who knows about this can pitch in.&lt;/p&gt;&#xA;" OwnerUserId="3397" LastActivityDate="2012-05-28T02:49:19.780" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="11566" PostTypeId="1" CreationDate="2012-05-28T05:47:57.587" Score="3" ViewCount="80" Body="&lt;p&gt;Given a signal $y(t)\in\mathbb{R}$ I wish to detect edge patterns.  $s(f,t)$ is a time-frequency decomposition of $y(t)$ in some window $(t-n,t+n)$ so that $f$ loosely corresponds to a local frequency. Edges are located where $||s(f,t)|-|s(f+ i,t+j||&amp;gt;\tau$ for some threshold $\tau$ and $i,j\in \{-1,0,1\}$.  I do not have a precise model or setting: at present I have been working with $s(f,t)$ being a short-time Fourier transform.  My assumption is that there should only be a few such edges locations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What measurement efficient and time efficient algorithms exist to solve this sort of problem?  One can adapt methods of compressive sensing to the computed time frequency distribution but that seems wasteful: one should not have to compute an entire Fourier transform in order to discover these heavy hitters.&lt;/p&gt;&#xA;" OwnerUserId="8269" LastEditorUserId="-1" LastEditDate="2012-11-11T05:59:37.357" LastActivityDate="2012-11-11T05:59:37.357" Title="Efficiently Detecting &quot;edges&quot; in the time frequency plane" Tags="&lt;machine-learning&gt;&lt;linear-algebra&gt;&lt;na.numerical-analysis&gt;&lt;compressed-sensing&gt;" AnswerCount="0" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11568" PostTypeId="2" ParentId="7303" CreationDate="2012-05-28T09:44:54.060" Score="9" Body="&lt;p&gt;There is a class $\mathsf{D}$, defined in a 1975 paper by L. Adelman and K. Manders, which is a diophantine analogue of the class $\mathsf{NP}$.&#xA;A language $L$ is contained in $\mathsf{D}$ iff there exists a polynomial $P$ such that&#xA;$$x \in L \Leftrightarrow \exists y_1, \dots y_n &amp;lt; poly(|x|) \colon ~P(x, y_1,\dots, y_n) = 0.$$&#xA;Whether $\mathsf{D}$ equals $\mathsf{NP}$ is an open problem. This equality would show connections between number theory and computer science.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is a diophantine analogue of the polynomial hierarchy, called the &quot;diophantine hierarchy&quot;. The polynomial and diophantine hierarchies are intertwined:&#xA;$$\forall i \ge 1,~\Sigma^i D \subset \Sigma^i P \subset \Sigma^{i + 1}D$$&lt;/p&gt;&#xA;" OwnerUserId="9554" LastEditorUserId="4193" LastEditDate="2012-11-05T21:18:22.640" LastActivityDate="2012-11-05T21:18:22.640" CommentCount="3" CommunityOwnedDate="2012-05-28T09:44:54.060" ContentLicense="CC BY-SA 3.0" />
  <row Id="11569" PostTypeId="2" ParentId="3873" CreationDate="2012-05-28T13:23:07.060" Score="10" Body="&lt;p&gt;Normal research papers are written primarily for other researchers, typically people in the same field, who are also at the cutting edge of research themselves.  It is not surprising that they are hard to understand for normal professionals.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some top researchers do know that a wide readership is a prize to be sought and develop skills to write in such a way that they can reach it as well as impress their colleagues.  But that is hard to do.  A typical research author would write whatever he/she can get accepted by the referees.  So they are our prime audience, perhaps not even all the conference attendees.  But conference talks are generally more accessible and, these days, we put the slides on the web so that everybody can benefit from them.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Perhaps there is room for a journal (or journals) that invite papers that are understandable to professionals, even if they are rewrites of earlier research papers.  It is worth a thought.&lt;/p&gt;&#xA;" OwnerUserId="8519" LastActivityDate="2012-05-28T13:23:07.060" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11570" PostTypeId="1" AcceptedAnswerId="11575" CreationDate="2012-05-28T17:55:16.217" Score="11" ViewCount="1286" Body="&lt;h3&gt;Answer: not known&lt;/h3&gt;&#xA;&lt;p&gt;Many thanks to all who helped refine this question and the definitions associated to it.&lt;/p&gt;&#xA;&lt;p&gt;The definitions of this wiki provided the starting point for the more recent TCS wiki &amp;quot;&lt;a href=&quot;https://cstheory.stackexchange.com/q/11691/1519&quot;&gt;Does P contain languages whose existence is independent of PA or ZFC? (TCS community wiki)&lt;/a&gt;&amp;quot;.&lt;/p&gt;&#xA;&lt;p&gt;The more recent wiki is preferred because its definitions and nomenclature are substantially more sophisticated than those of this older wiki.&lt;/p&gt;&#xA;&lt;p&gt;In particular, this older wiki's nomenclature &lt;em&gt;incomprehensible&lt;/em&gt; &lt;span class=&quot;math-container&quot;&gt;$\Leftrightarrow$&lt;/span&gt; &lt;em&gt;comprehensible&lt;/em&gt;  languages and TMs is supplanted in the newer wiki by &lt;em&gt;cryptic&lt;/em&gt; &lt;span class=&quot;math-container&quot;&gt;$\Leftrightarrow$&lt;/span&gt; &lt;em&gt;gnostic&lt;/em&gt;.  Aside from definitional details — which however are important — the two wikis address a similar class of questions.&lt;/p&gt;&#xA;&lt;h3&gt;Further answers are welcome&lt;/h3&gt;&#xA;&lt;p&gt;Further answers are welcome (needless to say), and it is likely that further definitional tuning is appropriate.  One main lesson has been that this class of questions is challenging to formulate and still more challenging to answer rigorously.&lt;/p&gt;&#xA;&lt;p&gt;As background, &lt;a href=&quot;https://cstheory.stackexchange.com/a/11575/1519&quot;&gt;Sasho Nikolov's answer was rated  &amp;quot;accepted,&amp;quot;&lt;/a&gt; because it provided a formulation that captured the intent of the question: the answer to the question is (apparently) not known.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/a/11592/1519&quot;&gt;Philip White's valuable answer&lt;/a&gt; motivated the graded definition of TMs that are incomprehensible, versus strongly incomprehensible, versus canonically incomprehensible (per the list &amp;quot;graded definitions of incomprehensibility&amp;quot; below).&lt;/p&gt;&#xA;&lt;p&gt;The following statement of the question provisionally incorporates valuable insights and suggestions provided by Tsuyoshi Ito,  Marzio De Biasi, Huck Bennett, Ricky Demer, Peter Shor, and also a valuable weblog post by &lt;a href=&quot;http://lucatrevisan.wordpress.com/2011/02/04/two-interesting-questions/#comment-2962&quot; rel=&quot;nofollow noreferrer&quot;&gt;Luca Trevisan&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;h3&gt;Formal definition&lt;/h3&gt;&#xA;&lt;p&gt;&lt;i&gt;Incomprehensible Turing machines&lt;/i&gt; are defined (within ZFC) as follows:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;b&gt;D1&lt;/b&gt;  Given a Turing machine M that provably halts for all input strings, M is called &lt;i&gt;incomprehensible&lt;/i&gt; iff the following statement is neither provable nor refutable for at least one positive semidefinite real number &lt;span class=&quot;math-container&quot;&gt;$r$&lt;/span&gt;:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;b&gt;Statement:&lt;/b&gt; M's runtime is &lt;span class=&quot;math-container&quot;&gt;${O}(n^r)$&lt;/span&gt; with respect to input length &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Conversely, M is called &lt;i&gt;comprehensible&lt;/i&gt; iff it is not incomprehensible.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;h3&gt;Disambiguating &lt;em&gt;decidable&lt;/em&gt;&lt;/h3&gt;&#xA;&lt;p&gt;The Wikipedia entry &amp;quot;&lt;a href=&quot;http://en.wikipedia.org/wiki/Undecidable_problem#Examples_of_undecidable_statements&quot; rel=&quot;nofollow noreferrer&quot;&gt;Undecidable problem: Examples of undecidable statements&lt;/a&gt;&amp;quot; concisely reviews the differing senses of the term &amp;quot;undecidable&amp;quot; that are customary in the proof-theoretic versus computability-theoretic literature.  With a view to avoiding ambiguity, the definitions and questions asked employ exclusively the terminology &amp;quot;neither provable nor refutable.&amp;quot;&lt;/p&gt;&#xA;&lt;p&gt;Further references in this regard are Jeremy Avigad's course notes &amp;quot;&lt;a href=&quot;http://www.andrew.cmu.edu/user/avigad/Teaching/halting.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Incompleteness via the Halting Problem&lt;/a&gt;&amp;quot;, Scott Aaronson's weblog essay &amp;quot;&lt;a href=&quot;http://www.scottaaronson.com/blog/?p=710&quot; rel=&quot;nofollow noreferrer&quot;&gt;Rosser’s Theorem via Turing machines&lt;/a&gt;&amp;quot; and Luca Trevisan's weblog post &lt;a href=&quot;http://lucatrevisan.wordpress.com/2011/02/04/two-interesting-questions/#comment-2962&quot; rel=&quot;nofollow noreferrer&quot;&gt;Two interesting questions&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;h3&gt;On the existence of incomprehensible Turing machines&lt;/h3&gt;&#xA;&lt;p&gt;That incomprehensible Turing machines exist follows concretely from &lt;a href=&quot;https://cstheory.stackexchange.com/a/5006/1519&quot;&gt;a construction by Emmanuele Viola&lt;/a&gt; and broadly from the complexity-theoretic framework of Juris Hartmanis.  In particular, Viola's construction provides, via the methods of &lt;a href=&quot;http://www.andrew.cmu.edu/user/avigad/Teaching/halting.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Jeremy Avigad's course notes&lt;/a&gt; (as I understand them), the following lemma:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;b&gt;Lemma [Viola's Implication]&lt;/b&gt;&lt;br&gt;    (if a language L is accepted by a comprehensible TM) &lt;span class=&quot;math-container&quot;&gt;$\to$&lt;/span&gt;&lt;br&gt;        (L is accepted by an incomprehensible TM).&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;h3&gt;Respecting naturality in defining incomprehensibility&lt;/h3&gt;&#xA;&lt;p&gt;It is natural to wonder whether the converse implication to Viola's Implication is true.&lt;/p&gt;&#xA;&lt;p&gt;Considerations of naturality require that the converse implication be posed carefully, in that &lt;a href=&quot;https://cstheory.stackexchange.com/a/11592/1519&quot;&gt;Philip White's comment below&lt;/a&gt; shows how to trivially reduce incomprehensible TMs to comprehensible TMs via &lt;em&gt;polylimiters&lt;/em&gt;, which are computational modules that (in effect) &amp;quot;pad&amp;quot; the runtime of an incomprehensible machine so as to reduce it to a comprehensible machine.&lt;/p&gt;&#xA;&lt;p&gt;In particular, it is natural to require that we not “&lt;a href=&quot;https://cstheory.stackexchange.com/questions/11570/does-p-contain-languages-decided-solely-by-incomprehensible-tms#comment31708_11592&quot;&gt;unaesthetically mask old elements of incomprehensibility by introducing new elements of incomprehensibility&lt;/a&gt;.” The key challenge associated to the question asked amounts to &amp;quot;Does there exist a natural definition of incomprehensibility?&amp;quot; … which (given the discussion here of TCS) we should perhaps regard as a nontrivial meta-question that may have more than one natural answer.&lt;/p&gt;&#xA;&lt;p&gt;With a view to this guiding naturality principle, graded definitions of incomprehensibility are specified as follows.&lt;/p&gt;&#xA;&lt;h3&gt;Graded definitions of incomprehensibility&lt;/h3&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;b&gt;D2&lt;/b&gt;  We say that a Turing machine M is &lt;em&gt;efficient&lt;/em&gt; iff it has a runtime exponent &lt;span class=&quot;math-container&quot;&gt;$r$&lt;/span&gt; such that the language L that M accepts is accepted by no other TM having a runtime exponent smaller than &lt;span class=&quot;math-container&quot;&gt;$r$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;p&gt;&lt;b&gt;D3&lt;/b&gt;  We say that a language L is &lt;em&gt;incomprehensible&lt;/em&gt; iff it is accepted by &lt;b&gt;(a)&lt;/b&gt; at least one Turing machine M is that is both efficient and incomprehensible, and moreover &lt;b&gt;(b)&lt;/b&gt; there is no efficient and comprehensible TM that provably (in ZFC) accepts L.&lt;/p&gt;&#xA;&lt;p&gt;&lt;b&gt;D4&lt;/b&gt;  We say that an incomprehensible TM is &lt;em&gt;strongly incomprehensible&lt;/em&gt; iff the language it accepts is incomprehensible.&lt;/p&gt;&#xA;&lt;p&gt;&lt;b&gt;D5&lt;/b&gt;  We say that a strongly incomprehensible TM is &lt;em&gt;canonically incomprehensible&lt;/em&gt; iff it is efficient.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;These definitions ensure that every incomprehensible language is accepted by at least one TM that is canonically incomprehensible, and moreover — in view of &lt;b&gt;D3(a)&lt;/b&gt; and &lt;b&gt;D3(b)&lt;/b&gt; — there exists no trivial polylimiter reduction of a canonically incomprehensible TM to a comprehensible TM that provably recognizes the same language.&lt;/p&gt;&#xA;&lt;h3&gt;The three questions asked&lt;/h3&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;b&gt;Q1&lt;/b&gt;  Does the &lt;a href=&quot;http://en.wikipedia.org/wiki/P_%28complexity%29#Definition&quot; rel=&quot;nofollow noreferrer&quot;&gt;complexity class P&lt;/a&gt; contain incomprehensible languages?&lt;/p&gt;&#xA;&lt;p&gt;&lt;b&gt;Q2&lt;/b&gt;  Can at least one incomprehensible language be represented concretely? (if so, provide a constructive example).&lt;/p&gt;&#xA;&lt;p&gt;&lt;b&gt;Q3&lt;/b&gt;  Can at least one canonically incomprehensible TM be represented concretely? (if so, provide a constructive example).&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;hr /&gt;&#xA;&lt;h3&gt;Motivation&lt;/h3&gt;&#xA;&lt;p&gt;The incomprehensible properties of the complexity class P obstructs the understanding of a broad class of problems that (for &lt;a href=&quot;https://cstheory.stackexchange.com/users/1519/john-sidles&quot;&gt;the original proposer of this question&lt;/a&gt;) includes Terry Tao's &lt;a href=&quot;http://terrytao.wordpress.com/2011/04/07/the-blue-eyed-islanders-puzzle-repost/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Blue-Eyed Islanders Puzzle&lt;/a&gt;,  Dick Lipton and Ken Regan's &lt;a href=&quot;http://rjlipton.wordpress.com/2012/05/23/beyond-las-vegas-and-monte-carlo-algorithms/#comment-20565&quot; rel=&quot;nofollow noreferrer&quot;&gt;Urn-Choice Game&lt;/a&gt;, and their hybridization in the context of Newcomb's Paradox via the &lt;a href=&quot;http://philtcs.wordpress.com/2011/12/04/class-12b-newcombs-paradox-and-free-will/#comment-539&quot; rel=&quot;nofollow noreferrer&quot;&gt;Balanced Advantage Newcomb Game&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;As Juris Hartmanis' monograph &lt;em&gt;&lt;a href=&quot;http://books.google.com/books?id=DTMrTZJH1NYC&amp;amp;pg=PA41&quot; rel=&quot;nofollow noreferrer&quot;&gt;Feasible computations and provable complexity properties&lt;/a&gt;&lt;/em&gt; (1978) puts it:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Results about the complexity of algorithms change quite radically if we consider only properties of computations which can be proven formally.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;The struggle to construct well-posed definitions and postulates that capture Hartmanis' insight helps us to a better appreciation that the complexity class P has some exceedingly peculiar languages in it, that are recognized by exceedingly peculiar Turing machines, whose properties we are (at present) very far from grasping.  It is striking that in a completely rigorous sense, it is not presently known whether the complexity class P is comprehensible.&lt;/p&gt;&#xA;&lt;p&gt;Many thanks are extended to all who have contributed comments and answers.&lt;/p&gt;&#xA;" OwnerUserId="1519" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2012-06-28T14:43:17.077" Title="Does P contain incomprehensible languages? (TCS community wiki)" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;turing-machines&gt;&lt;decidability&gt;" AnswerCount="3" CommentCount="23" FavoriteCount="6" CommunityOwnedDate="2012-05-31T19:34:02.223" ContentLicense="CC BY-SA 3.0" />
  <row Id="11571" PostTypeId="1" CreationDate="2012-05-28T17:57:29.473" Score="3" ViewCount="303" Body="&lt;p&gt;Is there any non-trivial approximation algorithm for a variant of &lt;a href=&quot;http://www.nada.kth.se/~viggo/wwwcompendium/node255.html&quot; rel=&quot;nofollow&quot;&gt;betweenness problem&lt;/a&gt;: namely, we want to minimize the number of unsatisfied triples rather than to maximize the number of satisfied ones?&lt;/p&gt;&#xA;" OwnerUserId="141" LastEditorUserId="186" LastEditDate="2012-05-29T21:52:06.350" LastActivityDate="2012-05-29T21:52:06.350" Title="A variant of betweenness problem" Tags="&lt;ds.algorithms&gt;&lt;approximation-algorithms&gt;&lt;csp&gt;" AnswerCount="1" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="11572" PostTypeId="2" ParentId="11571" CreationDate="2012-05-28T18:46:01.817" Score="2" Body="&lt;p&gt;The particular minimization version which you mentioned does not make much sense, because even deciding whether all triples can be satisfied simutaneously or not is NP-comlpete.  Also, it is easy to see that unless P=NP, for every choice of constants &lt;i&gt;k&lt;/i&gt;&lt;sub&gt;1&lt;/sub&gt; and &lt;i&gt;k&lt;/i&gt;&lt;sub&gt;2&lt;/sub&gt;, there is no polynomial-time approximation algorithm for the minimization version of the betweenness problem in the sense that it produces an assignment which violates at most (&lt;i&gt;k&lt;/i&gt;&lt;sub&gt;1&lt;/sub&gt;⋅OPT + &lt;i&gt;k&lt;/i&gt;&lt;sub&gt;2&lt;/sub&gt;) triples, where OPT is the minimum number of violated triples.  (Just consider the case where OPT=0.)  &lt;em&gt;[Edit: In an earlier revision, I stated that this follows from [CS98], but [CS98] was overkill for it.]&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On a tangentially related topic, if you consider the &lt;em&gt;additive&lt;/em&gt; approximation of the &lt;em&gt;ratio&lt;/em&gt; of (un)satisfied triples, the problem becomes much more interesting.  Chor and Sudan [CS98] showed that for every &lt;i&gt;s&lt;/i&gt;∈(47/48,1), it is NP-complete to decide whether a given instance of the betweenness problem is satisfiable or no assignment satisfies more than &lt;i&gt;s&lt;/i&gt; fraction of constraints.  In particular, the ratio version is NP-hard to approximate within any constant additive error less than 1/48, and this clearly applies equally to both the maximization version and the minimization version.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For more on approximation of a satisfaction ratio within an additive error, see my answer to the question “&lt;a href=&quot;https://cstheory.stackexchange.com/questions/2421/hardness-of-approximation-additive-error&quot;&gt;Hardness of approximation - additive error&lt;/a&gt;” by Raphael Clifford.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[CS98] Benny Chor and Madhu Sudan.  A geometric approach to betweenness.  &lt;em&gt;SIAM Journal on Discrete Mathematics&lt;/em&gt;, 11(4):511–523, Nov. 1998.  DOI: &lt;a href=&quot;http://dx.doi.org/10.1137/S0895480195296221&quot; rel=&quot;nofollow noreferrer&quot;&gt;10.1137/S0895480195296221&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="567" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2012-05-28T19:57:36.640" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11573" PostTypeId="2" ParentId="7303" CreationDate="2012-05-29T02:28:23.377" Score="2" Body="&lt;p&gt;Counting Polynomial Hierarchy, #PH for short. First level is #P then #NP... etc. &lt;/p&gt;&#xA;" OwnerUserId="1590" LastActivityDate="2012-05-29T02:28:23.377" CommentCount="0" CommunityOwnedDate="2012-05-29T02:28:23.377" ContentLicense="CC BY-SA 3.0" />
  <row Id="11575" PostTypeId="2" ParentId="11570" CreationDate="2012-05-29T05:43:54.927" Score="11" Body="&lt;p&gt;(I am retiring as no longer relevant the portion of the answer that just explained why there are no undecidable &lt;em&gt;instances&lt;/em&gt; of a problem/no polytime algorithms with uncomputable time bound)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now the question has changed to a question about TMs whose running time is provable in some logical theory. For any (powerful enough) logical theory $T$, there exists a machine $M$ whose running time is polynomial but both the sentence &quot;the running time of $M$ is polynomial&quot; and its negation cannot be proved in $T$. In particular that means that there are polytime TMs whose running time bound cannot be proved in ZFC. This should follow from Viola's reduction with some additional tricks as in Scott's blog post. But rather than figure this out, look at the last comment by Luca in &lt;a href=&quot;http://lucatrevisan.wordpress.com/2011/02/04/two-interesting-questions/#comment-2962&quot; rel=&quot;nofollow&quot;&gt;this blog post&lt;/a&gt;. In a way, Luca answers your question here. He shows that:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;there exists a polytime machine $M$ such that ZFC cannot prove that $M$ does not take exponential time&lt;/li&gt;&#xA;&lt;li&gt;for any polytime machine $M$ there exists a machine $M'$ which decides the same language and whose running time is provably (in ZFC say) polynomial (the simple simulation that proves this was also offered by Peter Shor in a comment)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;So it seems that the answer to your question is &quot;no&quot;: any language decidable in polytime by some machine is decided by a provably polytime machine. But maybe your question should be:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;is there a polytime machine $M$ such that any machine $M'$ which decides the same language either cannot be proved (in ZFC) to decide the same language as $M$ or cannot be proved (in ZFC) to run in polynomial time.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I suspect that the answer is yes, but right now I do not have any more time to devote to this.&lt;/p&gt;&#xA;" OwnerUserId="4896" LastEditorUserId="4896" LastEditDate="2012-05-30T01:51:42.573" LastActivityDate="2012-05-30T01:51:42.573" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="11578" PostTypeId="2" ParentId="7673" CreationDate="2012-05-29T12:25:48.623" Score="1" Body="&lt;p&gt;In the same flavour as the answer by Y. Okamoto, there is an easy argument showing that the dominating set problem admits an $(\ell-1)$-approximation algorithm in induced $K_{1,\ell}$-free graphs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Indeed, just take any independent dominating set $I$ (i.e. a maximal independent set): we have the chain of inequalities $\frac{\alpha(G)}{\ell-1}\leq \gamma(G)\leq I\leq\alpha(G)$, where $\gamma(G)$ and $\alpha(G)$ are the domination number and independence number of $G$, respectively (see &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0890540108000928&quot; rel=&quot;nofollow&quot;&gt;here, Lemma 1&lt;/a&gt; for a proof of, in particular, the first inequality).&lt;/p&gt;&#xA;" OwnerUserId="1930" LastActivityDate="2012-05-29T12:25:48.623" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11579" PostTypeId="1" CreationDate="2012-05-29T12:29:55.733" Score="14" ViewCount="1144" Body="&lt;p&gt;It would be nice to collect a list of conditions that imply that a context-free language L&#xA;is regular, i.e. conditions of the form: &#xA;&quot;if a given CFG/PDA has property P, then its languages is regular&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The property P does not have to characterize &#xA;the CFGs generating regular languages. Furthermore, P does not have to be decidable, and P should &quot;somehow depend&quot; on the language being &#xA;context-free (&quot;the syntactic monoid of L is finite&quot;, &#xA;&quot;L is decidable in space o(log log n)&quot; and so on, are not what I am looking for).&lt;/p&gt;&#xA;" OwnerUserId="9586" LastEditorUserId="9586" LastEditDate="2012-06-01T15:31:47.313" LastActivityDate="2012-06-01T15:31:47.313" Title="Sufficient conditions for the regularity of a context-free language" Tags="&lt;reference-request&gt;&lt;fl.formal-languages&gt;&lt;regular-language&gt;&lt;context-free&gt;&lt;survey&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11580" PostTypeId="1" CreationDate="2012-05-29T12:44:03.517" Score="8" ViewCount="167" Body="&lt;p&gt;I am interested in the complexity of the minimum dominating set problem (MDSP) in some specific graph class.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A graph is an &lt;a href=&quot;http://www.graphclasses.org/classes/gc_129.html&quot; rel=&quot;nofollow&quot;&gt;undirected path graph&lt;/a&gt; if it is the vertex-intersection graph of a family of paths in some undirected tree (this is a subclass of chordal graphs). It is known that the MDSP is NP-hard when considering undirected path graphs (see &lt;a href=&quot;http://epubs.siam.org/sicomp/resource/1/smjcat/v11/i1/p191_s1&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;). My question is:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What is known about the (in)approximability of the MDSP in undirected path graphs? In particular, is there a constant-factor (polynomial-time) approximation algorithm for this problem?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Notes:&lt;br&gt;&#xA;1) I could not find a reference for this question, including in &lt;a href=&quot;http://books.google.fr/books/about/Domination_in_Graphs.html?id=iBFrQgAACAAJ&amp;amp;redir_esc=y&quot; rel=&quot;nofollow&quot;&gt;this standard textbook about domination&lt;/a&gt;, where Chapter 8 is devoted to the complexity of the (decision problem) dominating set.&lt;br&gt;&#xA;2) It is NP-hard to approximate the MDSP within $o(log(n))$ in another subclass of chordal graphs, split graphs. This follows from an easy reduction from minimum set cover (see &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0890540108000928&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;).&lt;br&gt;&#xA;3) I think the original NP-hardness reduction for undirected path graphs from the above reference can be used to show that the MDSP admits no PTAS in this class of graphs. But would this be tight?&lt;/p&gt;&#xA;" OwnerUserId="1930" LastEditorUserId="186" LastEditDate="2012-05-29T21:48:45.713" LastActivityDate="2012-05-29T21:48:45.713" Title="Is the dominating set problem constant-factor-approximable in undirected path graphs?" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;graph-theory&gt;&lt;approximation-algorithms&gt;&lt;approximation-hardness&gt;" AnswerCount="0" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="11581" PostTypeId="2" ParentId="11570" CreationDate="2012-05-29T13:24:10.830" Score="2" Body="&lt;p&gt;Just an extended comment trying to interpret the question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a Turing machine $M$ that &lt;del&gt;is promised to halt&lt;/del&gt; halts on all input strings; $M$ is called &lt;em&gt;incomprehensible&lt;/em&gt; if and only if for at least one &lt;del&gt;positive semidefinite real number&lt;/del&gt; integer $r$ the following &lt;del&gt;question&lt;/del&gt; decision problem  $Q_{M,r}$ is undecidable (i.e. it is impossible to construct a single algorithm that always leads to a correct yes-or-no answer):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;OPTION 1&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$Q_{M,r}(n)$ = &quot;Does $M$ halts in less than $n^r$ steps on all inputs of length $n$ ?&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Trivially decidable (finite $2^n$ strings and $M$ always halts by hypothesis) $\Rightarrow$ there are no &lt;em&gt;incomprehensible&lt;/em&gt; TMs&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;OPTION 2&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$Q_{M,r}$ = &quot;Is $M$ running time $O(n^r)$ ?&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Trivially decidable (1 or 0) $\Rightarrow$ there are no &lt;em&gt;incomprehensible&lt;/em&gt; TMs&lt;/p&gt;&#xA;&#xA;&lt;p&gt;And if you ask: &quot;Ok, but can we calculate the value 1 or 0 to build the algorithm that answer the question of Option 2?&quot;, then we fall back to this:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$Q_{r}(M)$ = &quot;Is $M$ running time $O(n^r)$?&quot; which is undecidable (using the standard definition of undecidable) as showed by Emanuele. But in this version M is an &lt;em&gt;input&lt;/em&gt; of the problem and not the fixed $M$ for which you are defining the notion of &quot;&lt;em&gt;incomprehensible&lt;/em&gt;&quot;.&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2012-05-29T13:37:47.380" LastActivityDate="2012-05-29T13:37:47.380" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="11584" PostTypeId="1" CreationDate="2012-05-29T21:26:05.080" Score="1" ViewCount="195" Body="&lt;p&gt;I am learning about Rademacher averages and their relation to VC-dimension for a project I am working on, but I am not sure I got everything right, so I will recap what I understood below and I would be really thankful if someone can comment and/or correct the following reasoning. It should be fairly easy for someone familiar with these tools. I also need a couple of pointers for the correct original references of some results I'll be using, and possibly pointers to sharper versions if they exist. I assume that most/all what I am saying in the following is common knowledge and it is probably already written somewhere, but I want to be sure (pointers to references are appreciated and encouraged). Thank you in advance.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $\mathcal{S}=(X,R)$ be a range space, where $X$ is a set of points in $\Re^d$, and $R$ is a subset of $2^X$ (i.e., a collection of subsets of $X$). I want to build an $\varepsilon$-approximation of $X$, that is, a subset $A$ of $X$ such that, for each $B\in R$, we have $\left|\frac{|B|}{|X|}-\frac{|B\cap A|}{|A|}\right|\le\varepsilon$. It is easy to obtain such a $A$ probabilistically by using random sampling and a classic result from statistical learning theory which involves the VC-dimension of the range space $\mathcal{S}$. Can we build a smaller sample if we can do more than just give a bound (or compute) this quantity? Specifically, consider a set $C=\{x_1,\dotsc,x_n\}$ of $n$ points drawn uniformly at random from $X$. Let $\mathcal{F}(C)$ be the class of $n$-vectors $(\mathbb{1}_D(x_1),\mathbb{1}_D(x_2),\dotsc,\mathbb{1}_D(x_n))$ with $D\in R$. Let $R_n(\mathcal{F}(C))$ be the (conditional? I'm not sure about the correct name) Rademacher average associated with $\mathcal{F}(C)$, i.e., $$R_n(\mathcal{F}(C))=E_\sigma\left[\sup_{a\in\mathcal{F}(C)}\frac{1}{n}\left|\sum_{i=1}^n\sigma_i a_i\right|\right],$$ where the $\sigma_i$'s are independent Rademacher random variables. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, according to [1,Thm. 3.2] (modified for our case, and for which I would appreciate a pointer to the original version and if there exists a sharper version), with probability at least $1-\delta$,  $$\sup_{D\in R}\left|\frac{|D|}{|X|}-\frac{|D\cap C|}{|C|}\right|\le 2 R_n(\mathcal{F}(C))+\sqrt{\frac{2\log\frac{2}{\delta}}{n}},$$ where the probability is on the choice of $C$. Note that this is equivalent to say that $$\Pr\left[\exists D\in R \mbox{ s.t. } \left|\frac{|D|}{|X|}-\frac{|D\cap C|}{|C|}\right|&amp;gt; 2 R_n(\mathcal{F}(C))+\sqrt{\frac{2\log\frac{2}{\delta}}{n}}\right]&amp;lt;\delta.$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, from [1,Eq. 6], we have that $$R_n(\mathcal{F}(C))\le\sqrt{\frac{2\log\mathbb{S}_{\mathcal{F}(C)}}{n}},$$ where $\mathbb{S}_{\mathcal{F}(C)}$ is the VC shatter coefficient of $\mathcal{F}(C)$&quot;, that is the size of the set $\mathcal{F}(C)$. &#xA;Plugging this result in the previous equation we obtain&#xA;$$\Pr\left[\exists D\in R \mbox{ s.t. } \left|\frac{|D|}{|X|}-\frac{|D\cap C|}{|C|}\right|&amp;gt; 2\sqrt{\frac{2\log\mathbb{S}_{\mathcal{F}(C)}}{n}} +\sqrt{\frac{2\log\frac{2}{\delta}}{n}}\right]&amp;lt;\delta.$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the case I have at hand, it is very easy to give an upper bound $\mathbb{U}$ to $\mathbb{S}_{\mathcal{F}(C)}$ independent from $C$. It is also easy, given $C$ to directly compute the shatter coefficient $\mathbb{S}_{\mathcal{F}(C)}$. Therefore, fixed $\varepsilon$, it is possible to compute how many points to sample at random from $X$ to obtain an $\varepsilon$-approximation of $X$ with probability at least $1-\delta$ by setting $$2\sqrt{\frac{2\log\mathbb{U}}{n}} +\sqrt{\frac{2\log\frac{2}{\delta}}{n}} = \varepsilon$$ and solving for $n$. Alternatively, fixed $n$ and extracted a sample $C$ from $X$ of size $n$, I can compute $\phi=2\sqrt{\frac{2\log\mathbb{S}_{\mathcal{F}(C)}}{n}} +\sqrt{\frac{2\log\frac{2}{\delta}}{n}}$ and say that $C$ is a $\phi$-approximation of $X$ with probability at least $1-\delta$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Am I missing something obvious that would invalidate the above reasoning?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] S. Boucheron, O. Bousquet, and G. Lugosi, (2005), Theory of Classification: a Survey of Recent Advances. ESAIM: Probability and Statistics, 9: 323--375. Available from &lt;a href=&quot;http://www.econ.upf.edu/~lugosi/esaimsurvey.pdf&quot; rel=&quot;nofollow&quot;&gt;http://www.econ.upf.edu/~lugosi/esaimsurvey.pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="4828" LastActivityDate="2012-05-29T21:26:05.080" Title="Rademacher Averages, VC shatter coefficient, and eps-approximations" Tags="&lt;reference-request&gt;&lt;lg.learning&gt;&lt;vc-dimension&gt;" AnswerCount="0" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="11586" PostTypeId="2" ParentId="11541" CreationDate="2012-05-30T10:40:09.430" Score="5" Body="&lt;p&gt;This should be a comment to Neel's answer, but it's a bit long. Prompted by a hint from Rasmus Petersen, I found the following in Møgelberg's thesis (emphasize mine):&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Ivar Rummelhoff [36] has studied the encoding of natural numbers in&#xA;  per-models over different PCA’s, and showed that in some of these&#xA;  models, the encoding contains more than natural numbers. So these&#xA;  models cannot be parametric. &lt;em&gt;Even though he does not mention it, this&#xA;  shows that unary parametricity is different from binary (relational)&#xA;  parametricity, since one can easily show that the encoding of the&#xA;  natural numbers in any per-model is unary parametric.&lt;/em&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The cited paper is &lt;a href=&quot;http://scholar.google.co.uk/scholar?q=polynat%20in%20per%20models&quot; rel=&quot;noreferrer&quot;&gt;Polynat in PER-models&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="236" LastActivityDate="2012-05-30T10:40:09.430" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11587" PostTypeId="1" CreationDate="2012-05-30T13:46:00.700" Score="0" ViewCount="300" Body="&lt;p&gt;I want to use multiple runs of maximal independent set (Luby's algorithm) to find a lower bound on the size of &lt;strong&gt;maximum&lt;/strong&gt; independent set. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there any bounds on the number of times the maximal algorithm has to be run to find the true maximum with a high probability ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The graphs don't possess any special properties.&lt;/p&gt;&#xA;" OwnerUserId="9574" LastEditorUserId="186" LastEditDate="2012-05-30T17:22:26.513" LastActivityDate="2012-05-30T17:22:26.513" Title="Maximum Independent Set using Maximal MIS" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;approximation-algorithms&gt;&lt;randomized-algorithms&gt;" AnswerCount="1" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="11588" PostTypeId="2" ParentId="11587" CreationDate="2012-05-30T16:05:14.143" Score="2" Body="&lt;p&gt;If the graph is a clique (or a set of disconnected cliques), then Luby's algorithm succeeds on the first iteration.&lt;/p&gt;&#xA;" OwnerUserId="5538" LastActivityDate="2012-05-30T16:05:14.143" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11589" PostTypeId="2" ParentId="7346" CreationDate="2012-05-30T16:26:03.837" Score="8" Body="&lt;p&gt;A simple DFS+DP implementation was added to SAGE 4.8 last year:&#xA;sage.graphs.graph_decompositions.vertex_separation.path_decomposition&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's implemented in Cython (GNU GPL) &lt;a href=&quot;http://trac.sagemath.org/sage_trac/browser/sage/graphs/graph_decompositions/vertex_separation.pyx&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt; and &lt;a href=&quot;http://trac.sagemath.org/sage_trac/browser/sage/graphs/graph_decompositions/fast_digraph.pyx&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;. Very simple and short if you ignore everything nonessential. $O(n\omega 2^n)$ time where $\omega = pw(G)$. It could be sped up with pruning rules, and particularly a heuristic.&lt;/p&gt;&#xA;" OwnerUserId="9575" LastEditorUserId="9575" LastEditDate="2012-06-01T08:29:57.523" LastActivityDate="2012-06-01T08:29:57.523" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="11590" PostTypeId="1" AcceptedAnswerId="11591" CreationDate="2012-05-30T17:09:48.273" Score="10" ViewCount="252" Body="&lt;p&gt;Is there any known construction of a linear error correcting code $\mathsf{ECC}:\mathbb{F}_q^n \to \mathbb{F}_q^m$ (with reasonable parameters), such that when given a Boolean vector $v\in \{0,1\}^n$, it also returns a Boolean vector w.h.p.? (although it is over $\mathbb{F}_q$)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(that is, $\Pr[\mathsf{ECC}(v) \in \{0,1\}^m]&amp;gt;1-\epsilon$, where the probability is taken over uniformly choosing $v\in \{0,1\}^n$, and $\epsilon$ is arbitrarily small)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If not, what if we relax the condition to&#xA;$$\Pr[\mathsf{ECC}_i(v) \in \{0,1\}]&amp;gt; 1-\epsilon$$&#xA;Where $\mathsf{ECC}_i$ returns the $i$'th coordinate of $\mathsf{ECC}$, $\epsilon$ is arbitrarily small, and the probability is taken both over uniformly choosing $v\in \{0,1\}^n$ and uniformly choosing a coordinate $i\in[m]$.&lt;/p&gt;&#xA;" OwnerDisplayName="user887" LastEditorDisplayName="user887" LastEditDate="2012-05-30T18:26:38.943" LastActivityDate="2012-05-30T23:02:15.427" Title="Boolean error correcting code over $\mathbb{F}_q$" Tags="&lt;co.combinatorics&gt;&lt;linear-algebra&gt;&lt;coding-theory&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11591" PostTypeId="2" ParentId="11590" CreationDate="2012-05-30T21:15:56.963" Score="7" Body="&lt;p&gt;Yes. For example, a Reed-Solomon code contains a BCH code, which is a binary linear code, as a sub-code. These are called subfield-subcodes.&lt;/p&gt;&#xA;" OwnerUserId="6190" LastEditorUserId="6190" LastEditDate="2012-05-30T23:02:15.427" LastActivityDate="2012-05-30T23:02:15.427" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="11592" PostTypeId="2" ParentId="11570" CreationDate="2012-05-30T21:59:18.823" Score="1" Body="&lt;p&gt;The answer to your question #1 is definitely &quot;no.&quot;  As I believe someone pointed out in the (very lengthy) comments section, you could easily add a &quot;polylimiting&quot; to a machine.  That is, even if you don't know what r is, if you guess any integer larger than r (this is definitely possible, obviously), you could set up an overhead machine that simulates your &quot;incomprehensible&quot; Turing machine, and force it to stop running in polynomial time...without changing the language that the Turing machine accepts at all.  In this fashion, you could convert any &quot;incomprehensible&quot; polynomial time Turing machine to a &quot;comprehensible&quot; polynomial time Turing machine, meaning that there is no language in P that can be decided by exclusively &quot;incomprehensible&quot; Turing machines.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I hope this helps.  Unless I've completely misinterpreted your question and your intent, my answer is quite certainly correct; it's not at all an open question.&lt;/p&gt;&#xA;" OwnerUserId="9508" LastActivityDate="2012-05-30T21:59:18.823" CommentCount="10" ContentLicense="CC BY-SA 3.0" />
  <row Id="11593" PostTypeId="1" AcceptedAnswerId="11641" CreationDate="2012-05-30T22:03:50.553" Score="15" ViewCount="479" Body="&lt;p&gt;Consider the following problem: Given a query graph $G = (V, E)$ and a reference graph $G' = (V', E')$, we want to find the injective mapping $f : V \rightarrow V'$ which minimizes the number of edges $(v_1, v_2) \in E$ such that $(f(v_1), f(v_2)) \notin E'$. This is a generalization of the &lt;a href=&quot;https://en.wikipedia.org/wiki/Subgraph_isomorphism_problem&quot; rel=&quot;nofollow&quot;&gt;subgraph isomorphism problem&lt;/a&gt; where we allow the subgraphs to be isomorphic up to a few missing edges and want to find the way to minimize the number of missing edges.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would also be interested in the weighted version of this problem, where vertex couples $(v_1, v_2) \in V^2$ carry a weight $w(v_1, v_2)$ (which must be zero if $(v_1, v_2) \notin E)$, and likewise for $G'$, and we wish to minimize $\sum_{v_1, v_2} (\max(0, w(v_1, v_2) - w(f(v_1), f(v_2))))$ (the $\max$ is there to only penalize weights from the query graph being larger than those of the reference graph).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question are: Has this problem already been studied? Does it have a well-known name? Are there any efficient approximation algorithms known? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The motivation of this problem (apart from the fact that it seems like a natural generalization of the subgraph isomorphism problem) is that it is a nice way to make a table plan for a party: the query graph is the graph of guests with edge weights representing the extent to which two people want to interact, the reference graph has the table seats as vertices and edge weights indicating to what extent communication is possible, the solution of the problem is a mapping from people to table seats which respects the social structure to the fullest possible extent.&lt;/p&gt;&#xA;" OwnerUserId="4795" LastEditorUserId="-1" LastEditDate="2012-11-11T05:59:35.063" LastActivityDate="2012-11-11T05:59:35.063" Title="Imperfect subgraph isomorphism" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;approximation-algorithms&gt;&lt;graph-isomorphism&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="11596" PostTypeId="1" AcceptedAnswerId="11604" CreationDate="2012-05-31T12:22:17.900" Score="13" ViewCount="492" Body="&lt;p&gt;I assigned my students the problem of finding a triangle consistent with a collection of $m$ points in $\mathbb{R}^2$, labeled with $\pm1$. (A triangle $T$ is &lt;em&gt;consistent&lt;/em&gt; with the labeled sample if $T$ contains all of the positive and none of the negative points; by assumption, the sample admits at least 1 consistent triangle).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The best they (or I) could do is an algorithm that runs in time $O(m^6)$, where $m$ is sample size. Can anyone do better?&lt;/p&gt;&#xA;" OwnerUserId="1746" LastEditorUserId="3247" LastEditDate="2012-05-31T14:20:36.493" LastActivityDate="2012-06-01T07:24:44.717" Title="Learning triangles in the plane" Tags="&lt;cg.comp-geom&gt;&lt;machine-learning&gt;&lt;lg.learning&gt;&lt;convex-geometry&gt;" AnswerCount="2" CommentCount="5" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="11597" PostTypeId="1" CreationDate="2012-05-31T14:00:06.817" Score="24" ViewCount="849" Body="&lt;p&gt;&lt;em&gt;Edit: I first misformulated my constraint (2), it is now corrected. I also added more information and examples.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;With some colleagues, studying some other algorithmic question, we were able to reduce our problem down to the following interesting problem, but we were not able to solve the question of its complexity. The problem is as follows.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Instance:&lt;/strong&gt; An integer $n$, an integer $k&amp;lt;n$, and a set $S=\{\{s_1,t_1\},\ldots,\{s_n,t_n\}\}$ of $n$ pairs from the set $\{1,\ldots,n\}$.&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;&lt;strong&gt;Question:&lt;/strong&gt; Is there a set $S'\subseteq S$ of size $k$ such that for each element $i$ of $\{1,\ldots,n\}$:&lt;br&gt;&#xA;  (1) if $i&amp;lt;n$, the interval $[i,i+1]$ is included in some interval $[s_i,t_i]$ defined by a pair in $S'$, and&lt;br&gt;&#xA;  &lt;strike&gt;(2) at least one of $i$, $i+1$ belongs to some pair of $S'$?&lt;/strike&gt;&lt;br&gt;&#xA;  (2) $i$ belongs to some pair of $S'$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Example&lt;/em&gt;&lt;br&gt;&#xA;The set $\{\{i,i+1\}~|~i~\text{ is odd}\}\cup\{1,n\}$ is a feasible solution (assuming $n$ is even): the pair $\{1,n\}$ ensures condition (1), whereas all other pairs ensure condition (2).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Remarks&lt;/em&gt;&lt;br&gt;&#xA;(I) Since each pair contains exactly two elements, in order to fulfill condition (2), we need at least $\frac{n}{2}$ pairs. BTW this implies a trivial 2-approximation by returning the whole $S$, since we assume $|S|\leq n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(II) Another way of looking at the problem is to consider a ladder with $n$ steps (such as the one &lt;a href=&quot;https://upload.wikimedia.org/wikipedia/commons/c/c1/Ladder_graph_L8.svg&quot; rel=&quot;nofollow noreferrer&quot;&gt;below&lt;/a&gt;), together with a set $S$ of $n$ cycles of the ladder. Each step of the ladder corresponds to some element, and each side edge is an interval $[i,i+1]$. A cycle including steps $s,t$ corresponds exactly to a pair $\{s,t\}$: it covers all consecutive intervals between $s$ and $t$, and it stops at both $s$ and $t$.&lt;br&gt;The question is then whether there is a set $S'\subseteq S$ of $k$ cycles whose union covers all the edges of the ladder (including step edges and side edges).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://upload.wikimedia.org/wikipedia/commons/c/c1/Ladder_graph_L8.svg&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(III) If one was asking only for condition (1), the problem would correspond to the &lt;a href=&quot;http://en.wikipedia.org/wiki/Dominating_set&quot; rel=&quot;nofollow noreferrer&quot;&gt;dominating set problem&lt;/a&gt; in some interval graph defined from the intervals $[s_i,t_i]$ given by the pairs of $S$ together with additional tiny intervals $[i+\epsilon,i+1-\epsilon]$ for each $i$ in $\{1,\ldots, n-1\}$. This problem is classically solvable in linear time (see e.g. &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/0020019088900919&quot; rel=&quot;nofollow noreferrer&quot;&gt;here&lt;/a&gt;).&lt;br&gt;Similarly, if one was just asking for condition (2), this could be reduced to the &lt;a href=&quot;http://en.wikipedia.org/wiki/Edge_cover&quot; rel=&quot;nofollow noreferrer&quot;&gt;edge cover problem&lt;/a&gt; (vertices are the elements, edges are the pairs), which is also polynomial-time solvable by a maximum matching approach.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;So my question is in the title: &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Is this problem in P? Is it NP-complete?&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Any reference to a similar problem is welcome.&lt;/p&gt;&#xA;" OwnerUserId="1930" LastEditorUserId="-1" LastEditDate="2017-03-09T18:04:14.480" LastActivityDate="2012-08-27T09:53:24.013" Title="What is the complexity of this covering problem?" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;reference-request&gt;" AnswerCount="1" CommentCount="8" FavoriteCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="11598" PostTypeId="2" ParentId="9438" CreationDate="2012-05-31T14:45:04.503" Score="1" Body="&lt;p&gt;To stir the pot a bit, I will add &lt;a href=&quot;http://www.mdpi.com/journal/algorithms&quot; rel=&quot;nofollow&quot;&gt;Algorithms&lt;/a&gt;.  Publication fees are ~$300.  Some of the papers seem to have ridiculously short turnaround times, but there are some people on the Editorial Board that I know and some people that I respect.&lt;/p&gt;&#xA;" OwnerUserId="5728" LastActivityDate="2012-05-31T14:45:04.503" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11600" PostTypeId="2" ParentId="11596" CreationDate="2012-05-31T20:44:55.367" Score="3" Body="&lt;p&gt;It seems to me that it is enough to consider tangent lines from the '-1' points onto the convex hull of the '+1' points as the candidates for the sides of $T$ (let's say that '+1' points will be inner to $T$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Too bad, I can't publish images here. But picture this: $t$ is the tangent line to the convex hull that goes through some '-1' point. $A$ is the tangency point. $B$ is the extreme (see below) point on $t$, and $BC$ is the tangent line from the point $B$ ($C$ is the tangency point).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, the algorithm is the following. For every line $t$ of the tangents lines we can try to build a triangle based on it:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Compute the intersection points of $t$ with all the other lines;&lt;/li&gt;&#xA;&lt;li&gt;Find an extreme (farthest from $A$) point $B$ and the corresponding line $t'$ to the right (or left) from $A$, such that the psuedotriangle $ABC$ (=$AB$, $BC$ and the part of the convex hull between $A$ and $C$) doesn't contain '-1' points (i.e. doesn't contain any points).&lt;/li&gt;&#xA;&lt;li&gt;Do the same with the line $t'$ and see if we can 'close' the triangle.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;It looks like this would be a $O(m^2)$ running time. Maybe this can be improved by using some data structures?&lt;/p&gt;&#xA;" OwnerUserId="9587" LastActivityDate="2012-05-31T20:44:55.367" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11603" PostTypeId="2" ParentId="11512" CreationDate="2012-06-01T07:02:11.247" Score="2" Body="&lt;p&gt;At Pat Morin's suggestion, here is my idea for computing the turning number.  Sorry if this is a bit sloppy; I'm still fighting the notation demons.  Moreover, Pat's comment to Chris's answer reveals that I've ignored some important degenerate cases.  But I'll post this here anyway in case others find it useful.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For any index $i$, let $\theta(p_i) = \theta(p_{i-1}, p_i, p_{i+1})$ denote the &lt;em&gt;signed external angle&lt;/em&gt; at vertex $p_i$; this is the counterclockwise angle between the rays $\overrightarrow{p_{i-1}p_i}$ and $\overrightarrow{p_ip_{i+1}}$, normalized to the range $-\pi \le \theta_i \le \pi$.  (All index arithmetic is implicitly mod $n$.)  The &lt;a href=&quot;http://en.wikipedia.org/wiki/Winding_number#Turning_number&quot; rel=&quot;nofollow&quot;&gt;&lt;em&gt;turning number&lt;/em&gt;&lt;/a&gt; of $P$ is defined as&#xA;$$&#xA;Turn(P) = \frac{1}{2\pi} \sum_{i=0}^{n-1} \theta(p_i).&#xA;$$&#xA;Let me call a vertex $p_i$ a &lt;em&gt;spur&lt;/em&gt; if the &lt;em&gt;internal&lt;/em&gt; angle at $p_i$ is equal to $0$.  The external angle $\theta_i$ at a spur is not well-defined; it could be either $\pi$ or $-\pi$.  More generally, the turning number of $P$ is well-defined if and only if $P$ has no spurs (and no repeated vertices $p_i=p_{i+1}$).  It's not hard to prove that $Turn(P)$ is an integer if it is well-defined; in particular, $Turn(P) = \pm 1$ if $P$ is a simple polygon.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now suppose $P$ contains a walk of the form $p\mathord\to r\mathord\leadsto s\mathord\leadsto r\mathord\to q$, where $p\ne q$ and the path $r\mathord\leadsto s$ is the reversal of the path $s\mathord\leadsto r$.  Then $s$ is a spur; call $r$ the &lt;em&gt;root&lt;/em&gt; of $s$.  In this case, let me &lt;em&gt;define&lt;/em&gt; the external angle at $s$ as follows:&#xA;$$&#xA;  \tilde\theta(s) = \pi \cdot \mathop{sgn}\theta(p, r, q) =&#xA;\begin{cases}&#xA;   \pi &amp;amp; \text{if } \theta(p, r, q) &amp;gt; 0\\&#xA;   -\pi &amp;amp; \text{if } \theta(p, r, q) &amp;lt; 0&#xA;\end{cases}&#xA;$$&#xA;&lt;strong&gt;(But what if $\theta(p,r,q)=0$?  As Pat observes, this can actually happen.  Probably there's some sort of recursive way to define $\tilde\theta(s)$ even in this case, but I don't know what it is.)&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $P$ is weakly simple, then there is a simple $n$-gon $\tilde{P}$ arbitrarily close to $P$; tet $\tilde{s}$ be the vertex of $\tilde{P}$ closest to $P$.  As $\tilde{P}$ approaches $P$, the internal angle at $\tilde{s}$ approaches zero.  It's not hard to prove (by induction on the length of $r\mathord\leadsto s$) that the external angle $\theta(\tilde{s})$ approaches $\tilde\theta(s)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $P$ consists entirely of a walk followed by its reversal, $r\mathord\leadsto s\mathord\leadsto r$, then the external angles at the spurs $r$ and $s$ are still not well-defined.  But in this case, I believe $P$ is weakly simple if and only if the walk $r\mathord\leadsto s$ is non-self-crossing.  &lt;strong&gt;(There are more complex cases where I cannot define a reasonable modified turning number, in particular, if the polygon wanders back and forth through a single walk.  But in all such cases, it appears that the polygon is weakly simple if and only if it is non-self-crossing.)&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Otherwise, if we define $\tilde\theta(p_i) = \theta(p_i)$ for any non-spur vertex $p_i$, we now have a well-defined turning number $\widetilde{Turn}(P) = \sum_i\tilde\theta(p_i)/2\pi = Turn(\tilde{P})$, which must be $\pm 1$ if $P$ is weakly simple.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm no longer confident that $\widetilde{Turn}(P)$ can be computed in linear time.  The main difficulty is that the walk $r\mathord\leadsto s$ can itself contain spurs.  The naive algorithm that finds the root of each spur by brute force actually takes $\Theta(n^2)$ time in the worst case; consider an $n$-gon that has a subwalk of length $\Omega(n)$ that simply alternates between two points.&lt;/p&gt;&#xA;" OwnerUserId="111" LastActivityDate="2012-06-01T07:02:11.247" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11604" PostTypeId="2" ParentId="11596" CreationDate="2012-06-01T07:24:44.717" Score="14" Body="&lt;p&gt;As @TsuyoshiIto suggests, there is an $O(n\log n)$-time algorithm for this problem, due to Edelsbrunner and Preparata.  In fact, their algorithm finds a convex polygon with the minimum possible number of edges that separates the two point sets.  They also prove an $\Omega(n\log n)$ lower bound for the more general problem in the algebraic decision tree model; however, it's not clear whether this lower bound applies to the triangle case.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A full description of the algorithm is too long to post here, but here's the basic idea.  Let $C$ be the convex hull of the positive points.  For each negative point $q$, consider the lines through $q$ that are tangent to $C$.  These lines split the plane into four wedges, one of which contains $C$; let $W(q)$ be the wedge &lt;em&gt;opposite&lt;/em&gt; the one that contains $C$.  Finally, let $F$ (the &quot;forbidden region&quot;) be the union of all wedges $W(q)$.  Any separating triangle must separate $C$ from $F$.  Both $C$ and $F$ can be constructed in $O(n\log n)$ time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/n39yz.png&quot; alt=&quot;example of $C$ and $F$&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Label the edges of $F$ alternately clockwise and counterclockwise.  Edelsbrunner and Preparata further prove that if a separating triangle exists, then there is a separating triangle whose edges are collinear with clockwise edges of $F$.  In $O(n)$ additional time, we can find the (necessarily clockwise) edge of $F$ first hit by a ray from each clockwise edge $e$; call this edge the &quot;successor&quot; of $e$.  The successor pointers partition the clockwise edges into cycles; if there is a separating triangle, one of these successor cycles has length 3 (and none have length more than 4).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See the original paper for more details:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Herbert Edelsbrunner and Franco P. Preparata.  &lt;a href=&quot;http://prophet.cs.duke.edu/~edels/Papers/1988-J-01-PolygonalSeparation.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Minimum polygonal separation&lt;/a&gt;.  &lt;em&gt;Information and Computation&lt;/em&gt; 77(3):218–232, 1988.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="111" LastActivityDate="2012-06-01T07:24:44.717" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11605" PostTypeId="1" AcceptedAnswerId="11606" CreationDate="2012-06-01T10:22:46.773" Score="7" ViewCount="206" Body="&lt;p&gt;Consider this problem in quantum cryptography:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We have two pure states $\phi_1,\phi_2$ as input and constants $0 \leq \alpha &amp;lt;\beta \leq 1 $, where &quot;Yes instances&quot; are those for which $$\left|\left&amp;lt;\phi_1,\phi_2\right&amp;gt;\right| \leq \alpha$$ and &quot;No instances&quot; are those for which $$\left|\left&amp;lt;\phi_1,\phi_2\right&amp;gt;\right|\geq \beta$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I need to devise a quantum circuit that accepts &quot;Yes instances&quot; with probability at least $p$, and &quot;No instances&quot; with at most probability $q$ for some $q&amp;lt;p$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;How can I do this? Is there a reference in which this problem is solved?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks in advance.&lt;/p&gt;&#xA;" OwnerUserId="9593" LastEditorUserId="567" LastEditDate="2012-06-01T11:24:46.587" LastActivityDate="2012-06-01T11:24:46.587" Title="A promise problem to decide whether two given pure quantum states are close or far apart" Tags="&lt;quantum-computing&gt;&lt;quantum-information&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11606" PostTypeId="2" ParentId="11605" CreationDate="2012-06-01T11:23:17.680" Score="10" Body="&lt;p&gt;A standard tool is the swap test, which receives two unentangled pure states |&lt;i&gt;φ&lt;/i&gt;&lt;sub&gt;1&lt;/sub&gt;⟩ and |&lt;i&gt;φ&lt;/i&gt;&lt;sub&gt;2&lt;/sub&gt;⟩ and answers “equal” with probability (1+|⟨&lt;i&gt;φ&lt;/i&gt;&lt;sub&gt;1&lt;/sub&gt;|&lt;i&gt;φ&lt;/i&gt;&lt;sub&gt;2&lt;/sub&gt;⟩|&lt;sup&gt;2&lt;/sup&gt;)/2 and “not equal” with probability (1−|⟨&lt;i&gt;φ&lt;/i&gt;&lt;sub&gt;1&lt;/sub&gt;|&lt;i&gt;φ&lt;/i&gt;&lt;sub&gt;2&lt;/sub&gt;⟩|&lt;sup&gt;2&lt;/sup&gt;)/2.  See [BCWW01] (Figure 1 shows the circuit).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[BCWW01] Harry Buhrman, Richard Cleve, John Watrous, and Ronald de Wolf.  Quantum fingerprinting.  &lt;em&gt;Physical Review Letters&lt;/em&gt;, 87, article 167902, Sept. 2001.  DOI: &lt;a href=&quot;http://link.aps.org/doi/10.1103/PhysRevLett.87.167902&quot;&gt;10.1103/PhysRevLett.87.167902&lt;/a&gt;.  A preprint version: &lt;a href=&quot;http://arxiv.org/abs/quant-ph/0102001&quot;&gt;arXiv:quant-ph/0102001&lt;/a&gt;v1.&lt;/p&gt;&#xA;" OwnerUserId="567" LastActivityDate="2012-06-01T11:23:17.680" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11608" PostTypeId="2" ParentId="11579" CreationDate="2012-06-01T13:53:11.210" Score="15" Body="&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Every unary context-free language is regular.&#xA;(e.g. a direct consequence of Parikh's theorem)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;If every iterative/pumping pair of a context-free language L is &#xA;&lt;em&gt;degenerated&lt;/em&gt;, then L is regular, i.e. L is regular if, for all words x,u,y,v,z it satisfies:&#xA;$$xu^nyv^nz \in L, \text{for all } n \geq 0 \implies xu^iyv^jz \in L, \text{ for all }i,j \geq 0.$$This was proved by Ehrenfeucht, Rozenberg, &quot;Strong iterative pairs and the regularity of context-free languages&quot;, 1983. See&#xA;&lt;a href=&quot;http://www-igm.univ-mlv.fr/~berstel/Articles/1990HandbookCfl.pdf&quot;&gt;&quot;Context-free languages&quot;&lt;/a&gt; by Berstel and Boasson for an exposition.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;If a context-free language is commutative and linear, then it is regular.&#xA;(Ehrenfeucht, Haussler, Rozenberg, &lt;a href=&quot;http://www.google.com/url?sa=t&amp;amp;rct=j&amp;amp;q=context%20free%20regularity&amp;amp;source=web&amp;amp;cd=2&amp;amp;ved=0CFMQFjAB&amp;amp;url=http://www.cs.colorado.edu/department/publications/reports/docs/CU-CS-235-82.pdf&amp;amp;ei=s8PIT82pBs3Hsgb2lpH-Dg&amp;amp;usg=AFQjCNHLwMru5mO9cIZD63wx5AAbAzG7xw&amp;amp;cad=rja&quot;&gt;&quot;On regularity of Context-free Languages&quot;&lt;/a&gt;,  1983)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="9586" LastActivityDate="2012-06-01T13:53:11.210" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11611" PostTypeId="1" AcceptedAnswerId="11614" CreationDate="2012-06-02T04:44:14.927" Score="15" ViewCount="4332" Body="&lt;p&gt;I am interested in the &amp;quot;nearest&amp;quot; (and &amp;quot;most complex&amp;quot;) problem to the &lt;a href=&quot;http://en.wikipedia.org/wiki/Collatz_conjecture&quot; rel=&quot;noreferrer&quot;&gt;Collatz conjecture&lt;/a&gt; that has been successfully solved (which Erdos famously said &amp;quot;mathematics is not yet ripe for such problems&amp;quot;). It has been proven that a class of &amp;quot;Collatz-like&amp;quot; problems is undecidable. However, problems that are vaguely similar such as &lt;a href=&quot;http://en.wikipedia.org/wiki/MU_puzzle&quot; rel=&quot;noreferrer&quot;&gt;Hofstadter's MIU game&lt;/a&gt; (resolved, but admittedly more of a toy problem) are indeed decidable or have been solved.&lt;/p&gt;&#xA;&lt;h3&gt;Related questions&lt;/h3&gt;&#xA;&lt;p&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/questions/5675/collatz-conjecture-grammars-automata&quot;&gt;Collatz Conjecture &amp;amp; Grammars / Automata&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2015-07-14T15:32:41.750" Title="What is the &quot;nearest&quot; problem to the Collatz conjecture that has been successfully resolved?" Tags="&lt;reference-request&gt;&lt;open-problem&gt;&lt;nt.number-theory&gt;&lt;halting-problem&gt;&lt;computability&gt;" AnswerCount="2" CommentCount="4" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="11612" PostTypeId="1" CreationDate="2012-06-02T08:29:58.680" Score="10" ViewCount="272" Body="&lt;p&gt;The simplest representations for graphs use adjacency matrices/lists, meaning that each node and edge is explicitly represented. The importance of implicit representations for graphs exhibiting strong regularities has long been recognized. For instance, Galperin &amp;amp; Wigderson (1983), Papadimitriou &amp;amp; Yannakakis (&lt;em&gt;A Note on Succinct Representations of Graphs&lt;/em&gt;, 1986) explored the question of graphs whose adjacency matrix is represented by a Boolean formula answering whether or not (i,j) is an edge given the binary representation of the node numbers i and j. Under some commonly satisfied constraints on reductions, P-complete problems for explicit graphs become PSPACE-complete for this representation, NP-complete problems become NEXPTIME-complete, etc.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A natural approach to such regular graphs is to represent the Boolean formula using a ROBDD; the difficulty is that classical algorithms tend to enumerate nodes one by one, which incurs exponential cost on such a representation and thus is to be avoided. There have been papers published on classical problems being solved using such a representation, e.g. Gentilini et al. (&lt;em&gt;Computing strongly connected components in a linear number of symbolic steps&lt;/em&gt;), Woelfel (&lt;em&gt;Symbolic topological sorting with OBDDs&lt;/em&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm wondering whether there is some survey of such techniques, because it's inconvenient to dredge the literature in such of the state of the art...&lt;/p&gt;&#xA;" OwnerUserId="9598" LastEditorUserId="186" LastEditDate="2012-06-02T18:40:17.477" LastActivityDate="2018-08-13T09:10:43.933" Title="Algorithms on graphs represented using BDDs" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;graph-theory&gt;&lt;survey&gt;&lt;binary-decision-diagrams&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="11613" PostTypeId="2" ParentId="5473" CreationDate="2012-06-02T08:33:06.943" Score="3" Body="&lt;p&gt;It is solvable in linear time for reducible digraphs (that is, those for which there is only one entry point at most in each strongly connected subgraph; they occur naturally in compilation and program analysis, because the control-flow graphs of structured programs are reducible).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Adi Shamir &lt;em&gt;A Linear Time Algorithm for Finding Minimum Cutsets in Reducible Graphs&lt;/em&gt;. SIAM J. Comput. 8(4): 645-655 (1979)&lt;/p&gt;&#xA;" OwnerUserId="9598" LastActivityDate="2012-06-02T08:33:06.943" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11614" PostTypeId="2" ParentId="11611" CreationDate="2012-06-02T09:55:11.443" Score="22" Body="&lt;p&gt;An extended comment:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Collatz-like sequences can be computed by &lt;em&gt;small&lt;/em&gt; Turing machines having few symbols and states.  In &quot;&lt;a href=&quot;http://www.dm.unito.it/~cerruti/ac/paperpm1.pdf&quot; rel=&quot;noreferrer&quot;&gt;Small Turing machines and generalized busy beaver competition&lt;/a&gt;&quot; by P. Michel (2004), there is a nice table that positions Collatz-like problems between decidable TMs (for which the halting problem is decidable) and Universal TMs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/DlnUG.jpg&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are TMs that compute Collatz-like sequences for which the decidability is still an open problem: $TM(5,2)$, $TM(3,3)$ and $TM(2,4)$ (where $TM(k,l)$ is the set of Turing Machine with $k$ states and $l$ symbols). I don't know if the results have been inproved.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;From the comclusion of the paper:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;... The present Collatz-like line is already on its lowest possible level, with the possible exception of $TM(4,2)$, but we conjecture that all machines in this set can be proved to be decidable...&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See also &quot;&lt;a href=&quot;http://www.dna.caltech.edu/~woods/download/WoodsNearyTCS07-DRAFT.pdf&quot; rel=&quot;noreferrer&quot;&gt;The complexity of small universal Turing machines: a survey&lt;/a&gt;&quot; by D. Woods and T. Neary (2007).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another example of Collatz-like problem for which decidability is an open problem is the Post's tag system: $\mu = 2, v=3,0\rightarrow 00, 1 \rightarrow 1101$; for a recent analysis see &quot;&lt;a href=&quot;http://arxiv.org/pdf/0906.3329.pdf&quot; rel=&quot;noreferrer&quot;&gt;On the boundaries of solvability and unsolvability in tag systems. Theoretical and Experimental Results&lt;/a&gt;&quot; by L. De Mol (2009).&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2012-06-02T10:27:17.567" LastActivityDate="2012-06-02T10:27:17.567" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="11615" PostTypeId="1" AcceptedAnswerId="11647" CreationDate="2012-06-02T10:15:35.107" Score="8" ViewCount="119" Body="&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Decisional_Diffie-Hellman_assumption&quot; rel=&quot;nofollow&quot;&gt;Decisional Diffie–Hellman assumption&lt;/a&gt;, or DDH in short, is a famous problem in cryptography.&#xA;The DDH assumption holds on a cyclic group $(G,*)$ of (prime) order $q$, if for a generator $g \in G$, and for randomly chosen $a,b,c \in $\mathbb{Z}_q$$, the following pairs are indistinguishable (for probabilistic poly-time algorithms):&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Type 1: $(g,g^a,g^b,g^{ab})$&lt;/li&gt;&#xA;&lt;li&gt;Type 2: $(g,g^a,g^b,g^{c})$&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Now, assume that $G$ is a group on which DDH is hard, and consider the following &lt;em&gt;informal&lt;/em&gt; question:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Do we know of a probabilistic poly-time (PPT) algorithm, which gets a Diffie-Hellman pair, along with some &lt;strong&gt;partial&lt;/strong&gt; information about $a$ (say, $a$ is odd), and can correctly output whether the input pair is &quot;Type 1&quot; or &quot;Type 2&quot; (with non-negligible probability)?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;By partial information, I mean a string $z$, such that given $z$ and a Diffie-Hellman pair, no PPT algorithm can compute $a$, with non-negligible probability.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;It's possible to formalize the above question. However, since the amount of notation required is tedious, I try to use an analogy.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A famous, non-standard cryptographic assumption is called &lt;a href=&quot;http://www.springerlink.com/content/pweyck7f2vyd11aa/&quot; rel=&quot;nofollow&quot;&gt;Knowledge-of-Exponent&lt;/a&gt; (KEA).&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;For any adversary &lt;strong&gt;A&lt;/strong&gt; that takes input $q$, $g$, $g^a$ and returns $(C,C^a)$, there exists&#xA;  an &quot;extractor&quot; &lt;strong&gt;B&lt;/strong&gt;, which given the same inputs as $A$ returns $c$ such that $g^c = C$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Intuitively, it states that, since the adversary cannot solve discrete log to obtain $a$, the only way to output a pair $(C,C^a)$ is to &quot;know&quot; the exponent $c$ where $g^c = C$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, I'm asking a similar question, based on DDH (rather than discrete log): to distinguish &quot;Type 1&quot; and &quot;Type 2&quot; Diffie-Hellman pairs, should we &quot;know&quot; either $a$ or $b$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A bit more formally (but still not fully formal):&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Let $(G,*)$ be a group of prime order $q$, and let $f(\cdot)$ be an arbitrary function whose output length is polynomial in the length of its input.&#xA;  Pick $a$, $b$, and $c$ randomly from $\mathbb{Z}_q$, and let $z=f(a)$.&#xA;  Toss a coin, and let $X = ab$ if the result is heads. Otherwise let $X=c$.&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;For any PPT adversary &lt;strong&gt;A&lt;/strong&gt; that takes input $(q,g,g^a,g^b,g^X,z)$, and correctly decides between Type 1 and Type 2 with non-negligible probability, there exists&#xA;  a PPT &quot;extractor&quot; &lt;strong&gt;B&lt;/strong&gt;, which takes the same input as &lt;strong&gt;A&lt;/strong&gt;, outputs either $a$ or $b$ (with non-negligible probability).&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="873" LastEditorUserId="873" LastEditDate="2012-06-04T15:00:56.333" LastActivityDate="2012-06-05T05:56:55.337" Title="Deciding DDH based in partial information" Tags="&lt;cr.crypto-security&gt;&lt;randomized-algorithms&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11617" PostTypeId="1" AcceptedAnswerId="11618" CreationDate="2012-06-02T15:40:39.807" Score="9" ViewCount="212" Body="&lt;p&gt;&lt;strong&gt;Edit:&lt;/strong&gt; there is now a &lt;a href=&quot;https://cstheory.stackexchange.com/questions/11620/existence-of-colouring-matrices-a-generalisation&quot;&gt;follow-up question&lt;/a&gt; related to this post.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;h2&gt;Definitions&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;Let $c$ and $k$ be integers. We use the notation $[i] = \{1,2,...,i\}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A $c \times c$ matrix $M = (m_{i,j})$ is said to be a &lt;strong&gt;$c$-to-$k$ colouring matrix&lt;/strong&gt; if the following holds:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;we have $m_{i,j} \in [k]$ for all $i, j \in [c]$,&lt;/li&gt;&#xA;&lt;li&gt;for all $i,j,\ell \in [c]$ with $i \ne j$ and $j \ne \ell$ we have $m_{i,j} \ne m_{j,\ell}$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;We write $c \leadsto k$ if there exists a $c$-to-$k$ colouring matrix.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Note that the diagonal elements are irrelevant; we are only interested in the non-diagonal elements of $M$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The following alternative perspective may be helpful. Let $R(M,\ell) = \{ m_{\ell,i} : i \ne \ell \}$ be the set of non-diagonal elements in row $\ell$, and similarly let $C(M,\ell) = \{ m_{i,\ell} : i \ne \ell \}$ be the set of non-diagonal elements in column $\ell$. Now $M$ is a $c$-to-$k$ colouring matrix iff $$R(M,\ell) \subseteq [k], \quad C(M,\ell) \subseteq [k], \quad R(M,\ell) \cap C(M,\ell) = \emptyset$$ for all $\ell \in [c]$. That is, row $\ell$ and column $\ell$ must consist of distinct elements (except, of course, at the diagonal).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It may or may not be helpful to try to interpret $M$ as a special kind of hash function from $[c]^2$ to $[k]$.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Examples&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;Here is a $6$-to-$4$ colouring matrix: $$\begin{bmatrix}&#xA;-&amp;amp;2&amp;amp;2&amp;amp;1&amp;amp;1&amp;amp;1\\&#xA;3&amp;amp;-&amp;amp;3&amp;amp;1&amp;amp;1&amp;amp;1\\&#xA;4&amp;amp;4&amp;amp;-&amp;amp;1&amp;amp;1&amp;amp;1\\&#xA;3&amp;amp;2&amp;amp;2&amp;amp;-&amp;amp;3&amp;amp;2\\&#xA;4&amp;amp;2&amp;amp;2&amp;amp;4&amp;amp;-&amp;amp;2\\&#xA;3&amp;amp;4&amp;amp;3&amp;amp;4&amp;amp;3&amp;amp;-&#xA;\end{bmatrix}.$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In general, it is known that for any $n \ge 2$ we have $${2n \choose n} \leadsto 2n.$$ For example, $20 \leadsto 6$ and $6 \leadsto 4$. To see this, we can use the following construction (e.g., Naor &amp;amp; Stockmeyer 1995).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $c = {2n \choose n}$ and let $k = 2n$. Let $f$ be a bijection from $[c]$ to the set of all $n$-subsets of $[2n]$, that is, $f(i) \subseteq [2n]$ and $|f(i)| = n$ for all $i$. For each $i,j \in [c]$ with $i \ne j$, choose arbitrarily $$m_{i,j} \in f(i) \setminus f(j).$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that $f(j) \setminus f(i) \ne \emptyset$. It is straightforward to verify that the construction is indeed a colouring matrix; in particular, we have $R(M,\ell) = f(\ell)$ and $C(M,\ell) = [k] \setminus f(\ell)$.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Question&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Is the above construction optimal?&lt;/strong&gt; Put otherwise, do we have $${2n \choose n} + 1 \leadsto 2n$$ for any $n \ge 2$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is well-known that the above construction is asymptotically tight; necessarily $k = \Omega(\log c)$. This follows, e.g., from Linial's (1992) result or from a straightforward application of Ramsey theory. But to me it is not clear whether the construction is also tight up to constants. Some numerical experiments suggest that the above construction might be optimal.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Motivation&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;The question is related to the existence of fast distributed algorithms for graph colouring. For example, assume that we are given a directed tree (all edges oriented towards a root node), and assume that we are given a proper $c$-colouring of the tree. Now there is a distributed algorithm that computes a proper $k$ colouring of the tree in $1$ synchronous communication round if and only if $c \leadsto k$.&lt;/p&gt;&#xA;" OwnerUserId="74" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2012-06-03T02:31:13.497" Title="Existence of &quot;colouring matrices&quot;" Tags="&lt;co.combinatorics&gt;&lt;lower-bounds&gt;&lt;dc.distributed-comp&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="11618" PostTypeId="2" ParentId="11617" CreationDate="2012-06-02T16:46:20.583" Score="9" Body="&lt;p&gt;The construction is optimal in the sense that $\binom{2n}{n}+1 \leadsto n$ cannot hold.  Indeed, it is easy to see that &lt;i&gt;c&lt;/i&gt;-to-&lt;i&gt;k&lt;/i&gt; coloring matrix exists if and only if there are &lt;i&gt;c&lt;/i&gt; subsets &lt;i&gt;A&lt;/i&gt;&lt;sub&gt;1&lt;/sub&gt;, …, &lt;i&gt;A&lt;/i&gt;&lt;sub&gt;&lt;i&gt;c&lt;/i&gt;&lt;/sub&gt; of the set {1, …, &lt;i&gt;k&lt;/i&gt;} such that no distinct &lt;i&gt;i&lt;/i&gt; and &lt;i&gt;j&lt;/i&gt; satisfy &lt;i&gt;A&lt;/i&gt;&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt; ⊆ &lt;i&gt;A&lt;/i&gt;&lt;sub&gt;&lt;i&gt;j&lt;/i&gt;&lt;/sub&gt;.  (For the “only if” direction, take &lt;i&gt;A&lt;/i&gt;&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt; = &lt;i&gt;R&lt;/i&gt;(&lt;i&gt;M&lt;/i&gt;, &lt;i&gt;i&lt;/i&gt;) for a &lt;i&gt;c&lt;/i&gt;-to-&lt;i&gt;k&lt;/i&gt; coloring matrix &lt;i&gt;M&lt;/i&gt;.  For the “if” direction, set &lt;i&gt;m&lt;/i&gt;&lt;sub&gt;&lt;i&gt;ij&lt;/i&gt;&lt;/sub&gt; ∈ &lt;i&gt;A&lt;/i&gt;&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt; ∖ &lt;i&gt;A&lt;/i&gt;&lt;sub&gt;&lt;i&gt;j&lt;/i&gt;&lt;/sub&gt;.)  A family of sets none of which contains another is called a &lt;a href=&quot;http://en.wikipedia.org/wiki/Sperner_family&quot;&gt;Sperner family&lt;/a&gt;, and it is Sperner’s theorem that the maximum number of sets in a Sperner family on the universe of size &lt;i&gt;k&lt;/i&gt; is $\binom{k}{\lfloor k/2\rfloor}$.  This implies that $c \leadsto k \iff c \le \binom{k}{\lfloor k/2\rfloor}$.&lt;/p&gt;&#xA;" OwnerUserId="567" LastEditorUserId="567" LastEditDate="2012-06-02T16:51:27.767" LastActivityDate="2012-06-02T16:51:27.767" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11619" PostTypeId="2" ParentId="1885" CreationDate="2012-06-02T16:57:47.993" Score="3" Body="&lt;p&gt;I question your excluding number theory involving questions of whether some number theoretic sets are finite or infinite as part of TCS and would definitely argue otherwise. the greeks questioned whether:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;are there any odd perfect numbers? [possibly considered by euclid]&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;are there an infinite number of twin primes?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;these can easily be rephrased as computability theory questions based on the strong correspondence between questions about specific TM halting and most number theory questions. in the 1st case build a $TM_x$ that searches for odd perfect numbers, counting upwards and halts if it finds one. in the 2nd case build a machine $TM_y$ that uses a large upper bound in a search of a twin prime found after a prior twin prime pair. does it halt?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;so arguably these are two ancient algorithmic problems and the greeks pioneered the earliest TCS mainly in the form of number theory and early number theory problems are just special cases of Turings halting problem, and  early circumstantial evidence  for its difficulty. and there is a close relation between asking about/finding/searching for proofs and undecidability theory.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;arguably new research is showing  the collatz conjecture, once considered a number theory curiosity, has deep liinks to computability theory,  &amp;amp; &lt;a href=&quot;https://cstheory.stackexchange.com/a/11614/7884&quot;&gt;may lie right at the boundary&lt;/a&gt; between undecidable and decidable problems. also the example you cite of hilberts 10th problem shows a very  fundamental link between number  theory and TCS.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;two other ancient algorithmic questions:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;what is an efficient, or most efficient algorithm for computing gcd, greatest common divisor?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;what is an efficient, or most efficient algorithm for computing primes?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;agreed the 2nd question is quite closely related to factoring, but its not quite the same of course. it was considered by eratosthenes' sieve and euclid. of course it was recenttly shown to be in P by AKS, but even then the algorithm is not proven totally optimal.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;there is very modern TCS research into euclids gcd algorithm (ie 20th century) that showed that fibonacci numbers give it the worst case performance. [not sure who 1st showed this]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;until euclids algorithm is proven optimal, arguably efficient computation of gcd is still open.&lt;/p&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.743" LastActivityDate="2012-06-02T16:57:47.993" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="11620" PostTypeId="1" CreationDate="2012-06-02T19:45:04.643" Score="8" ViewCount="256" Body="&lt;p&gt;This is a generalisation of the following post: &lt;a href=&quot;https://cstheory.stackexchange.com/questions/11617/existence-of-colouring-matrices&quot;&gt;Existence of &quot;colouring matrices&quot;&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As the base case turned out to be fairly straightforward (in essence, precisely equal to the existence of Sperner families), I am feeling a bit more optimistic about the general case as well. Let's see how far we can get.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Definition&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;Let's switch from the matrix notation to a function notation. Again, $[i] = \{1,2,...,i\}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A function $f\colon [c]^d \to [k]$ is a &lt;strong&gt;$d$-dimensional $c$-to-$k$ colouring function&lt;/strong&gt;, in notation $f\colon c \leadsto_d k$, if the following holds for all $x_1, x_2, ..., x_{d+1} \in [c]$ with $x_1 \ne x_2 \ne ... \ne x_{d+1}$: $$f(x_1,x_2,...,x_d) \ne f(x_2,x_3,...,x_{d+1}).$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We write $c \leadsto_d k$ if $f\colon c \leadsto_d k$ for some $f$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now $c \leadsto k$ in the &lt;a href=&quot;https://cstheory.stackexchange.com/questions/11617/existence-of-colouring-matrices&quot;&gt;previous question&lt;/a&gt; is exactly equal to $c \leadsto_2 k$ in this question, as it is trivial to interpret a colouring matrix as a $2$-dimensional colouring function.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;An example&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;The $1$-dimensional case is trivial. We already saw examples of $2$-dimensional colouring functions in the previous question. Here is a simple example of a $3$-dimensional colouring function $f\colon k+1 \leadsto_3 k$, for any $k \ge 3$:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$f(x,y,z) = y$ if $y \ne k+1$,&lt;/li&gt;&#xA;&lt;li&gt;$f(x,y,z) = \min ( \{1,2,3\} \setminus \{x,z\} )$ if $y = k+1$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;(This can be interpreted as a greedy graph colouring algorithm, in the case of $2$-regular graphs; $y$ is the old colour of a node $v$, $x$ and $z$ are the old colours of its two neighbours, and $f(x,y,z)$ is the new colour of node $v$. In essence, nodes of colour $k+1$ pick the smallest free colour that is available in their neighbourhood.)&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Composition&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;Lower-dimensional colouring functions can be easily composed into higher-dimensional colouring functions. For example, assume that $$f_1\colon c_0 \leadsto_2 c_1, \quad f_2\colon c_1 \leadsto_2 c_2.$$ Now we can construct a colouring function $$g\colon c_0 \leadsto_3 c_2$$ as follows: $$g(x,y,z) = f_2(f_1(x,y), f_1(y,z)).$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To see that this construction is correct, it is sufficient to note that $w \ne x \ne y \ne z$ implies $f_2(w, x) \ne f_2(x,y) \ne f_2(y,z)$, which implies $f_1(f_2(w, x), f_2(x,y)) \ne f_1(f_2(x, y), f_2(y,z))$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As we observed in the &lt;a href=&quot;https://cstheory.stackexchange.com/questions/11617/existence-of-colouring-matrices&quot;&gt;previous post&lt;/a&gt;, we have, for example, $$20 \leadsto_2 6 \leadsto_2 4.$$ Therefore we also have $$20 \leadsto_3 4.$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, &lt;strong&gt;this is not optimal&lt;/strong&gt;! There is a computer-generated construction that shows that $$24 \leadsto_3 4.$$ Note that this is not possible to achieve by merely composing any $2$-dimensional colouring functions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(If we construct $d$-dimensional colouring functions by composing $2$-dimensional colouring functions, we do get an &lt;em&gt;asymptotically&lt;/em&gt; optimal solution; for example, $c \leadsto_2 \Theta(\log c)$, $c \leadsto_3 \Theta(\log \log c)$, etc. However, this question is really about exact constants, especially for small values of $c, k, d$.)&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Questions&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;Of course ideally we would like to understand precisely when we have $c \leadsto_d k$. But here are some more down-to-earth questions; resolving any of those would be helpful:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Is there a &lt;em&gt;simple&lt;/em&gt; (human-generated) function $f\colon 24 \leadsto_3 4$? Or anything substantially better than $20 \leadsto_3 4$?&lt;/li&gt;&#xA;&lt;li&gt;Is there a &lt;em&gt;simple&lt;/em&gt; (human-generated) proof that $25 \leadsto_3 4$ does not hold?&lt;/li&gt;&#xA;&lt;li&gt;More generally, can we construct optimal $3$-dimensional colouring functions?&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit:&lt;/strong&gt; Here is yet another example of a relevant question:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;By composition, we have $24 \leadsto_5 3$. Can we do better, for example, does $25 \leadsto_5 3$ hold?&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;h2&gt;Notes&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;The existence of colouring functions is closely related to the chromatic number of a certain graph. For example, you can construct a graph $G(c,d)$ in which each $d$-tuple $(x_1,x_2,...,x_d) \in [c]^d$ is a node, and there are edges between nodes $(x_1,x_2,...,x_d)$ and $(x_2,x_3,...,x_{d+1})$ for all $x_1 \ne x_2 \ne ... \ne x_{d+1}$. Now the chromatic number of $G(c,d)$ is at most $k$ if and only if $c \leadsto_d k$. However, while this interpretation is helpful from the perspective of understanding the asymptotics, I do not know if it helps with the above questions.&lt;/p&gt;&#xA;" OwnerUserId="74" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.743" LastActivityDate="2012-06-06T07:33:49.397" Title="Existence of &quot;colouring matrices&quot; — a generalisation" Tags="&lt;co.combinatorics&gt;&lt;lower-bounds&gt;&lt;dc.distributed-comp&gt;" AnswerCount="0" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11622" PostTypeId="1" AcceptedAnswerId="11633" CreationDate="2012-06-02T23:39:52.813" Score="8" ViewCount="538" Body="&lt;p&gt;When learning optimization problems, we usually consider linear programming (or more generally: convex optimization) as the simplest example. It is solvable in polynomial time, and has relatively easy to understand algorithms. However, the decision version of LP is &lt;span class=&quot;math-container&quot;&gt;$\mathsf{P}$&lt;/span&gt;-complete. This suggests that it is one of the hardest problems we can solve in polynomial time.&lt;/p&gt;&#xA;&lt;p&gt;Under the assumption that &lt;span class=&quot;math-container&quot;&gt;$\mathsf{NC} \neq \mathsf{P}$&lt;/span&gt;. &lt;strong&gt;What is the 'hardest' natural kind of optimization problems with decision problems in &lt;span class=&quot;math-container&quot;&gt;$\mathsf{NC}$&lt;/span&gt;?&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;If this is too vague, then we can restrict to restrictions. &lt;strong&gt;What is the minimal set of restrictions we need to place on linear programs (or more generally: convex programs) to allow the decision problem associated with the restricted programs to be solvable in &lt;span class=&quot;math-container&quot;&gt;$\mathsf{NC}$&lt;/span&gt;?&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;hr /&gt;&#xA;&lt;h3&gt;Motivation&lt;/h3&gt;&#xA;&lt;p&gt;To a large extent, this is idle curiosity. However, it was brought about by Cosma Shalizi's &amp;quot;&lt;a href=&quot;http://crookedtimber.org/2012/05/30/in-soviet-union-optimization-problem-solves-you/&quot; rel=&quot;noreferrer&quot;&gt;In Soviet Union, Optimization Problem Solves You&lt;/a&gt;&amp;quot;. In particular, if LP is too difficult to solve to have a centralized economy (i.e. optimizing in &lt;span class=&quot;math-container&quot;&gt;$\mathsf{P}$&lt;/span&gt; is asking too much), then any decentralized system must be doing some sort of parallel processing faster than poly-time (for me: &lt;span class=&quot;math-container&quot;&gt;$\mathsf{NC}$&lt;/span&gt;).&lt;/p&gt;&#xA;" OwnerUserId="1037" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2012-06-03T18:51:30.077" Title="Hardest optimization problems in NC" Tags="&lt;cc.complexity-theory&gt;&lt;optimization&gt;&lt;linear-programming&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11623" PostTypeId="2" ParentId="11617" CreationDate="2012-06-03T02:31:13.497" Score="0" Body="&lt;p&gt;For a slightly tighter asymptotic, it could be proven that:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;if $c \leadsto k$,  then $c \leq 2^k$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose there is a coloring of a $ c \times c$ matrix using $k$ colors. Now, color each row in the matrix by the set of colors present it contains. That gives a coloring of the rows using subsets of $[k]$. Different rows must have different colors. Otherwise, suppose that for $i \lt j$,  row $i$ has the same color as row $j$. That means the color of $(i,j)$ is present at both row $j$ and at column $j$ which contradict the fact that we started with a coloring. It follows that $c \leq 2^k$&lt;/p&gt;&#xA;" OwnerUserId="9604" LastActivityDate="2012-06-03T02:31:13.497" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11626" PostTypeId="2" ParentId="1885" CreationDate="2012-06-03T02:51:56.697" Score="2" Body="&lt;p&gt;Not sure how serious this answer is, but....&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It really depends how widely you are willing to define your question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Surely &quot;can one build an intelligent machine?&quot; is the oldest open question in CS that started computer science, but is probably old by a millinium or two than CS. No? &#xA;(It is a theory question, since it asks for an answer - not for the machine itself...)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A natural reference to a search for an intelligent machine would be the Golem... &#xA;&lt;a href=&quot;http://en.wikipedia.org/wiki/Golem#History&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/Golem#History&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="9594" LastActivityDate="2012-06-03T02:51:56.697" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11627" PostTypeId="1" AcceptedAnswerId="11631" CreationDate="2012-06-03T05:01:00.770" Score="4" ViewCount="219" Body="&lt;p&gt;We are given a graph $G = (V,E)$, where each edge $e \in E$ has a capacity $c_e$. There are a set of $k$ requests $R_1,\ldots,R_k$. Request $R_i$ has a demand $d_i$, and has an interval $I_i = [s_i,t_i]$ associated with it, where $s_i$ is the source and $t_i$ is the destination vertex. A set of requests $\mathcal{R}$ is called feasible, if the total demand of all requests in $\mathcal{R}$ passing through any edge $e$ does not exceed it's capacity, i.e., $\sum_{i:e \in R_i} d_i \le c_e$ for all $e \in E$. The goal is to partition the requests $R_1,\ldots,R_k$ into a number of sets such that each set is feasible and the total number of sets is minimized. This problem is called &lt;strong&gt;Interval Coloring with Capacities and Demands&lt;/strong&gt;. This is because we can think of this as coloring the requests in such a manner so that requests in each color class are feasible and we want to minimize the number of colors. This can also be thought of as routing the requests in a feasible manner in a number of rounds. We consider the special case where $G$ is a path $(v_1,e_1,v_2,e_2,\ldots,e_{n-1},v_n)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is the best approximation algorithm and hardness result known for this problem?&lt;/p&gt;&#xA;" OwnerUserId="9569" LastActivityDate="2012-06-03T14:18:47.977" Title="Algorithms for Interval Coloring with Capacities and Demands" Tags="&lt;ds.algorithms&gt;&lt;approximation-algorithms&gt;&lt;optimization&gt;&lt;approximation-hardness&gt;&lt;graph-colouring&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11628" PostTypeId="2" ParentId="1885" CreationDate="2012-06-03T06:34:37.317" Score="1" Body="&lt;p&gt;I can answer your question with 100% certainty for a time period. If we consider the period from &lt;a href=&quot;http://www.ams.org/journals/tran/1965-117-00/S0002-9947-1965-0170805-7/S0002-9947-1965-0170805-7.pdf&quot; rel=&quot;nofollow&quot;&gt;the seminal paper of Hartmanis and Stearns&lt;/a&gt; to any point in the future, the oldest problem in TCS which is still open is:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What is the minimum overhead needed for the simulation of deterministic TMs?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The first answer was $T^{2}(n)$ , where $T(n)$ is the running time of the TM being simulated, with an improvement quickly provided by &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=321362&quot; rel=&quot;nofollow&quot;&gt;Hennie and Stearns&lt;/a&gt; to $\log T(n)$, which is the best current answer to the best of my knowledge.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This problem is still open and an improvement to it would improve many results, with the most important perhaps being the gap in the deterministic time hierarchy. However, research on the subject suggests that the $\log T(n)$ gap is necessary.&lt;/p&gt;&#xA;" OwnerUserId="879" LastEditorUserId="879" LastEditDate="2012-06-04T07:44:17.307" LastActivityDate="2012-06-04T07:44:17.307" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="11630" PostTypeId="1" AcceptedAnswerId="11638" CreationDate="2012-06-03T12:51:05.960" Score="5" ViewCount="2168" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;A &lt;em&gt;prefix-free function&lt;/em&gt; is one whose domain is prefix-free.&#xA;  Similarly, a &lt;em&gt;prefix-free (Turing) machine&lt;/em&gt; is one whose domain is&#xA;  prefix-free. It is usual to consider such a machine as being&#xA;  &lt;em&gt;self-demiliting&lt;/em&gt;, which means that it has a one-way read head that halts when the machine accepts the string described by the bits read&#xA;  so far. The point is that such a machine is forced to accept strings&#xA;  without knowing whether there are any more bits written on the input&#xA;  tape.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;From Downey and Hirschfeldt, &lt;em&gt;Algorithmic Randomness and Complexity&lt;/em&gt;, page 122.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I don't understand why such a device would ensure that the domain of the function is prefix-free. Take a word $\omega$ accepted by the machine. Then, as the next bits won't be read, $\omega \eta$ is also accepted. So $\omega$ and $\omega \eta$ are in the domain, which is not prefix-free.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Where am I wrong ?&lt;/p&gt;&#xA;" OwnerUserId="9606" LastEditorUserId="186" LastEditDate="2012-06-03T18:57:27.200" LastActivityDate="2019-12-19T07:26:52.000" Title="Definition of a prefix-free Turing machine" Tags="&lt;computability&gt;&lt;turing-machines&gt;&lt;kolmogorov-complexity&gt;&lt;prefix-free-code&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11631" PostTypeId="2" ParentId="11627" CreationDate="2012-06-03T14:18:47.977" Score="4" Body="&lt;p&gt;If the demands satisfy the no-bottleneck assumption, that is $\max_i d_i \leq \min_e c(e)$ then a constant factor approximation is known even for trees. See &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=1273343&quot; rel=&quot;nofollow&quot;&gt;http://dl.acm.org/citation.cfm?id=1273343&lt;/a&gt; which gives a 48-approx for trees. For paths a better bound can be obtained and may have been shown but I am not sure where or whether it was published. For the general case it is not quite clear what the best known result is. One can get an easy $O(\log n)$-approximation as follows. Consider the problem of maximizing the number of requests that can be feasibly routed; there is a constant factor approximation for this problem, see &lt;a href=&quot;http://arxiv.org/abs/1102.3643&quot; rel=&quot;nofollow&quot;&gt;http://arxiv.org/abs/1102.3643&lt;/a&gt;. Using this as a black box one can do a greedy set-cover like algorithm to repeatedly pack as many requests as possible to get the desired $O(\log n)$-approximation. A paper by Chalermsook on coloring rectangles may have some implications including giving an $O(\log \log n)$-approximation; the paper is available at &lt;a href=&quot;http://sites.google.com/site/chalermsook/academic/coloring_full.pdf?attredirects=0&quot; rel=&quot;nofollow&quot;&gt;http://sites.google.com/site/chalermsook/academic/coloring_full.pdf?attredirects=0&lt;/a&gt;. However it may require figuring out several technical details. One suspects that there is a constant factor approximation for the coloring problem.&lt;/p&gt;&#xA;" OwnerUserId="176" LastActivityDate="2012-06-03T14:18:47.977" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11632" PostTypeId="2" ParentId="11622" CreationDate="2012-06-03T18:17:10.573" Score="2" Body="&lt;p&gt;I am not sure, but you may be interested - if not, I beg your pardon - to the following &lt;a href=&quot;http://onlinelibrary.wiley.com/doi/10.1002/net.10027/abstract&quot; rel=&quot;nofollow&quot;&gt;paper&lt;/a&gt;, which is not related to a natural kind of optimization problem, but deals with a problem which can be reduced to a particular optimization problem, whose solution is in NC. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Igor Averbakh, Oded Berman, &quot;Parallel NC-algorithms for multifacility location problems with mutual communication and their applications&quot;, Networks, Volume 40, Issue 1, pages 1–12, August 2002, Wiley&lt;/p&gt;&#xA;&#xA;&lt;p&gt;DOI: 10.1002/net.10027&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Abstract&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The generic problem studied is to locate p distinguishable facilities on a tree to satisfy upper-bound constraints on distances between pairs of facilities, given that each facility must be located within its own feasible region, which is defined as a subtree of the tree. We present a parallel location scheme (PLS) for solving the problem that can be implemented as an NC-algorithm. We also introduce parallel NC-algorithms based on the PLS for the minimax versions of the problem, including the distance-constrained p-center problem with mutual communication. Combining the PLS and the improved Megiddo's parametric technique, we develop strongly polynomial serial algorithms for the minimax problems; the algorithms have the best complexities currently available in the literature. Efficient parallel algorithms are given for obtaining optimal regions of the facilities.&lt;/p&gt;&#xA;" OwnerUserId="4208" LastActivityDate="2012-06-03T18:17:10.573" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11633" PostTypeId="2" ParentId="11622" CreationDate="2012-06-03T18:51:30.077" Score="9" Body="&lt;p&gt;Are you aware of the work on positive LPs/SDPs? There are a bunch of results in the area, mostly along the lines of &quot;if the constraints of the LP/SDP are positive, then the problem can be solved in NC.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some important references in this line of work are &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=167211&quot;&gt;Luby-Nisan 93&lt;/a&gt; and &lt;a href=&quot;http://arxiv.org/abs/1104.2502&quot;&gt;Jain-Yao 11&lt;/a&gt;. Another excellent resource is &lt;a href=&quot;http://www.youtube.com/watch?v=_Mf-KQmUJwA&amp;amp;t=7m0s&quot;&gt;this slide of Rahul Jain's talk&lt;/a&gt; at the &quot;Recent Progress in Quantum Algorithms&quot; conference at IQC. The entire talk is available on youtube.&lt;/p&gt;&#xA;" OwnerUserId="206" LastActivityDate="2012-06-03T18:51:30.077" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="11634" PostTypeId="2" ParentId="11266" CreationDate="2012-06-04T00:58:20.683" Score="2" Body="&lt;p&gt;The instantaneous frequency of a wave is defined as $f(t) = \frac{1}{2\pi}\frac{d\phi}{dt}$ where $\phi$ is the instantaneous phase. See the Wikipedia page on &lt;a href=&quot;http://en.wikipedia.org/wiki/Instantaneous_frequency#section_2&quot; rel=&quot;nofollow&quot;&gt;Instantaneous Frequency&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Presumably you have discrete data, in which case you need to estimate $\phi$ and its derivative numerically. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This isn't an entirely meaningful measure, since it doesn't make very much sense to ascribe a frequency to a non-periodic function, but nonetheless there does seem to be a convention for it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let me close by saying that I don't consider this a TCS problem. It is firmly in signal processing territory, and so I wouldn't consider here the ideal venue for such questions.&lt;/p&gt;&#xA;" OwnerUserId="204" LastEditorUserId="4896" LastEditDate="2012-06-06T03:31:36.773" LastActivityDate="2012-06-06T03:31:36.773" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11636" PostTypeId="1" AcceptedAnswerId="11643" CreationDate="2012-06-04T04:54:08.143" Score="4" ViewCount="275" Body="&lt;p&gt;In the preface of Friedman and Felleisen's book The Little Schemer it states:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;We could, for example, describe the entire technical content of this book in less than a page of mathematics, but a reader who understands that page has little need for that book. &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Has anyone got an online link to the equivalent of this mathematical summary of The Little Schemer in a single page? Presumably this would cover recursion,  lambda and the y-combinator. &lt;/p&gt;&#xA;" OwnerUserId="608" LastEditorUserId="186" LastEditDate="2012-06-04T21:33:55.953" LastActivityDate="2012-06-04T22:42:10.797" Title="Mathematical explanation of recursion and lambda (referenced in The Little Schemer)" Tags="&lt;computability&gt;&lt;recursion&gt;&lt;lisp&gt;&lt;scheme&gt;" AnswerCount="2" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11637" PostTypeId="2" ParentId="11541" CreationDate="2012-06-04T07:37:21.557" Score="3" Body="&lt;p&gt;Let me a bit more abstract in answering this.  At each arity $n$, you have the following situation: $n$-ary relations $R$ can be embedded into $(n+1)$-ary relations by defining $R'(\vec{x},y) \iff R(\vec{x}) \land y = x_i$ (for some fixed $i \in [1..n]$). In words, you can use some $n$ arguments out of the $n+1$ arguments for simulating the smaller relation and make the new argument equal to some old one.  (Note that &lt;em&gt;equality&lt;/em&gt; is key to doing this.)  So, you have &quot;more&quot; relations at arity $n+1$ than you had at arity $n$, and this goes on &lt;em&gt;ad infinitum&lt;/em&gt;.  Since more relations means stronger parametricity and fewer function families would be regarded &quot;parametric&quot;, we understand that &quot;true parametricity&quot; is what we obtain in the limit, and each finitary parametricity is an approximation to it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;These infinitary relations have been formalized as &quot;Kripke logical relations of varying arity&quot;, also called Jung-Tiuryn relations.  &lt;a href=&quot;http://www.cs.bham.ac.uk/~axj/pub/papers/log-rel.ps.gz&quot; rel=&quot;nofollow&quot;&gt;Jung and Tiuryn have shown&lt;/a&gt; that such infinitary parametricity is enough to characterize lambda-definability, and &lt;a href=&quot;http://www.dcs.qmw.ac.uk/~ohearn/papers/pcf.ps.Z&quot; rel=&quot;nofollow&quot;&gt;O'Hearn and Riecke have shown&lt;/a&gt; that it is enough to characterize fully abstract models for programming languages, including sequential PCF.  These are fundamental and beautiful results!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thus, unary parametricity is the simplest, and least expressive, approximation of true parametricity, and binary parametricity gets a little better.  Your question is &quot;how much better&quot;?  My impression is that it is a &lt;em&gt;lot&lt;/em&gt; better.  The reason is that, at the unary level, the &quot;identity relation&quot; is the every-true relation, which doesn't mean very much.  At the binary level, the &quot;identity relation&quot; is equality.  So, you get a sudden jump in the power of parametricity in going from the unary to binary level.  After that, it gets increasingly refined.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Kurt Sieber has studied these issues in some depth: for &lt;a href=&quot;http://books.google.com/books?hl=en&amp;amp;lr=&amp;amp;id=7g5WU-D8RkIC&amp;amp;oi=fnd&amp;amp;pg=PA258&amp;amp;dq=kurt+sieber&amp;amp;ots=ZggRFB5YN7&amp;amp;sig=WZZ21OVzuEi3ivZOnrOZaJ4zoEo&quot; rel=&quot;nofollow&quot;&gt;sequentiality&lt;/a&gt; and for &lt;a href=&quot;http://www.springerlink.com/index/p635542k74t2mg77.pdf&quot; rel=&quot;nofollow&quot;&gt;Algol-like languages&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="8519" LastActivityDate="2012-06-04T07:37:21.557" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11638" PostTypeId="2" ParentId="11630" CreationDate="2012-06-04T11:58:49.193" Score="8" Body="&lt;p&gt;If you were using a self-delimiting machine as described, you have to change your notion of what it means for the machine to accept a string. You want to say that the machine accepts a string $\omega$ if it halts in an accept state &lt;em&gt;with the read head on the last symbol&lt;/em&gt;. The idea is to think of the computation as a loop: it first asks whether $\omega\upharpoonright 1$ is in the language, then whether $\omega \upharpoonright 2$ is, and so forth, and it halts if it finds a prefix of $\omega$ in the language or if it runs out of bits of $\omega$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The point is that if the input tape contains an infinite juxtaposed sequence of nonempty words from the language, the prefix free machine can be used to parse out the individual words from the sequence.  The definition of a prefix-free machine from the book is designed for this sort of application, not for the problem of deciding whether an individual word is in the language. &lt;/p&gt;&#xA;" OwnerUserId="8316" LastActivityDate="2012-06-04T11:58:49.193" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11639" PostTypeId="2" ParentId="5379" CreationDate="2012-06-04T12:21:08.040" Score="-1" Body="&lt;p&gt;I have been thinking about this question for a long time. This is what I have come to :&lt;br/&gt;&lt;br/&gt;&#xA;    We humans think usually in abstract mental objects and not in algorithms. The numbers we know, the language we speak, the thinking was once some abstract idea. These ideas were extended by philosophers, scientists and then put to use. What we have is different than how they originated.&lt;br/&gt;&lt;br/&gt;&#xA;    Your question - &quot;Which complexity class most precisely captures the totality of what human beings can accomplish with their minds?&quot; can be answered only if there is enough proof that humans follow mathematical/algorithmic/probabilistic models. Well, they might follow each ones of the above or combination of them. But they are actually something different. This is just normal human thinking. Breaking down the creative thoughts like Mozart's composition, a poem or the thinking of a sportsman in respective formal ways(mathematical/logical methods of their thinking) and trying to generalize would be quite a feat, not sure if that will be possible though.&lt;br/&gt;&lt;br/&gt;&#xA;    I also think we might approximate the complexity class, but we can never be sure.&lt;/p&gt;&#xA;" OwnerUserId="9618" LastActivityDate="2012-06-04T12:21:08.040" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11640" PostTypeId="2" ParentId="11636" CreationDate="2012-06-04T15:00:51.810" Score="3" Body="&lt;p&gt;All you really need is the definition of the untyped $\lambda$-calculus, which you can find in numerous places.  Everything else follows from that.&lt;/p&gt;&#xA;" OwnerUserId="2185" LastActivityDate="2012-06-04T15:00:51.810" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11641" PostTypeId="2" ParentId="11593" CreationDate="2012-06-04T15:03:16.953" Score="7" Body="&lt;p&gt;Your problem is Maximum Common Edge Subgraph Problem (Max CES) defined as follows:&#xA;given two graphs $G$ and $G'$, find a graph $H$ with the maximum number of edges&#xA;that is isomorphic to a subgraph of $G$ and to a subgraph of $G'$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Proof&lt;/em&gt;: You are finding a subgraph $H$ of $G$ isomorphic to a subgraph of $G'$,&#xA;where $|E_{G}| - |E_{H}|$ is minimized. Since $|E_{G}|$ is an invariant of $G$,&#xA;$|E_{G}| - |E_{H}|$ is minimized if and only if $|E_{H}|$ is maximized.&#xA;Clearly, $H$ is isomorphic to a subgraph of $G$ and to a subgraph of $G'$. &lt;em&gt;Q.E.D.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Approximability. In the Ph.D thesis of Kann, I found the description&#xA;&quot;not known to be approximable within a constant&quot; [3] (p. 115).&#xA;In a recent paper by Bahiense et al. [1],&#xA;it is mentioned that if $|V_{G}|$ and $|V_{G'}|$ are not required to be equal,&#xA;the problem becomes APX-hard.&#xA;But the citation for this result is an unpublished private communication [2].&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;L. Bahiense, G. Manic, B. Piva, C.C. de Souza. The maximum common edge subgraph problem: A polyhedral investigation. Discrete Applied Mathematics, to appear. doi:10.1016/j.dam.2012.01.026&lt;/li&gt;&#xA;&lt;li&gt;M.M. Halldorsson, Personal communication, unpublished manuscript, 1994.&lt;/li&gt;&#xA;&lt;li&gt;V. Kann. On the Approximability of NP-complete Optimization Problems. Ph.D. Thesis, NADA report TRITA-NA-9206, 1992. &lt;a href=&quot;http://www.nada.kth.se/~viggo/papers/phdthesis.pdf&quot; rel=&quot;nofollow&quot;&gt;http://www.nada.kth.se/~viggo/papers/phdthesis.pdf&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="481" LastEditorUserId="481" LastEditDate="2012-06-04T23:04:03.763" LastActivityDate="2012-06-04T23:04:03.763" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="11642" PostTypeId="1" CreationDate="2012-06-04T18:08:26.027" Score="6" ViewCount="292" Body="&lt;p&gt;In a recent presentation by Sedgewick, he recounts in 1977 Flajolet noticed that they had a formula in common, both in different domains (see slide 4 in &lt;a href=&quot;http://www.cs.princeton.edu/~rs/talks/AofA2AC.pdf&quot;&gt;http://www.cs.princeton.edu/~rs/talks/AofA2AC.pdf&lt;/a&gt; )&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I saw the same thing in an article on tantalizing links between matrix eigenvalues distributions, nuclear physics and Riemann's zeta zeros &lt;a href=&quot;http://web.williams.edu/go/math/sjmiller/public_html/RH/Hayes_spectrum_riemannium.pdf&quot;&gt;http://web.williams.edu/go/math/sjmiller/public_html/RH/Hayes_spectrum_riemannium.pdf&lt;/a&gt; &lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is: Say I have derived a formula/equation - how would I go about searching for an occurrence of the formula in other domains? Can I make Wolfram Alpha do that?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks for any pointers&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Daniel Bilar&lt;/p&gt;&#xA;" OwnerUserId="9623" LastEditorUserId="186" LastEditDate="2012-06-04T21:29:59.217" LastActivityDate="2012-06-04T21:29:59.217" Title="Formula in common: How to search for same/similar equations in other knowledge domains?" Tags="&lt;soft-question&gt;&lt;research-practice&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="11643" PostTypeId="2" ParentId="11636" CreationDate="2012-06-04T19:49:36.190" Score="4" Body="&lt;p&gt;What Sam said.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, it's really &lt;em&gt;well&lt;/em&gt; under a page.  If you're familiar with evaluation contexts, you can specify the call-by-value lambda calculus like this:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Terms &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$M ::= x \mid (M \, M) \mid (\lambda x . M)$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Values&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$V = (\lambda x . M)$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Evaluation contexts&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$E ::= [\:] \mid ([\:] M) | (V [\:])$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The (only) reduction rule:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$E[((\lambda x . M) V)] \to E[M.\mathrm{subst}(V,x)]$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where $.\mathrm{subst}$ denotes capture-avoiding substitution.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Again, though, the background knowledge involved in reading this definition is by no means self-evident. There are many free places on the web to read about it. For a tidy and well-typeset presentation, you might also be interested in Felleisen/Flatt/Findler's book, &lt;em&gt;Semantics Engineering with Redex&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Holey Moley! I just googled for it, and got the full PDF online. Well, that won't last...&lt;/p&gt;&#xA;" OwnerUserId="3513" LastEditorUserId="634" LastEditDate="2012-06-04T22:42:10.797" LastActivityDate="2012-06-04T22:42:10.797" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="11644" PostTypeId="1" CreationDate="2012-06-04T20:08:57.670" Score="3" ViewCount="156" Body="&lt;p&gt;Given the complete graph on n vertices. Each vertex and each edge has a positive weight associated with it. What is desired is to partition the vertices into parts so that the sum of the weights of the vertices of any part is less or equal to the minimum of the weights of edges connecting vertices in that part. What is the minimum size of such a partition?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Has anyone seen this before?&lt;/p&gt;&#xA;" OwnerUserId="9604" LastActivityDate="2012-06-04T20:08:57.670" Title="Partitioning the vertices of a complete graph with weights on both vertices and edges with constraints" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;graph-algorithms&gt;&lt;np-hardness&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11645" PostTypeId="1" AcceptedAnswerId="11646" CreationDate="2012-06-05T00:15:22.450" Score="8" ViewCount="271" Body="&lt;p&gt;Let $X$ and $Y$ be sets, and $\mathcal{B}$ be a partition of $X \times Y$. I would like to prove that there exists a distribution $\mathcal{D}$ over $X \times Y$ whose marginal is uniform over $X$, and such that the distribution over $\mathcal{B}$ induced by $\mathcal{D}$ has large entropy(the latter distribution is defined by assigning each $B∈\mathcal{B}$ the total probability mass of the elements of $B$ under $\mathcal{D}$). We can use the following condition:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider the bipartite graph $G$ whose sides are $X$ and $\mathcal{B}$, such that for each $(x,y) \in B$ there is an edge $(x,B)$ in $G$ (multiple edges possible). Then, every set of $x$'s of size at least $\frac{3}{4}|X|$ has at least $\frac{1}{100}|B|$ neighbors in G.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would appreciate it if someone could refer me to a relevant theorem. This question can be viewed in a sense as a generalization of Hall's theorem, where the above condition is a relaxation Hall's condition, and where instead of getting a perfect matching, we get a set of edges whose corresponding subgraph is roughly regular.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Background&lt;/em&gt;: The motivation for this questions comes from communication complexity. In the setting of communication complexity, two players, Alice and Bob, get inputs $x$ and $y$ respectively, and interact in order to compute some function $f(x,y)$. Here, each set $B \in \mathcal{B}$ consists of pairs $(x,y)$ that yield the same transcript of communication between Alice and Bob, and I would like to prove that under some condition, one can find a distribution over $X \times Y$ such that Alice gets a uniformly distributed input, and such that the entropy of the transcript under the distribution is large.&lt;/p&gt;&#xA;" OwnerUserId="8429" LastEditorUserId="8429" LastEditDate="2012-06-05T01:10:52.053" LastActivityDate="2012-06-05T01:22:13.067" Title="A balanced generalization of Hall’s theorem" Tags="&lt;cc.complexity-theory&gt;&lt;co.combinatorics&gt;&lt;communication-complexity&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="11646" PostTypeId="2" ParentId="11645" CreationDate="2012-06-05T01:22:13.067" Score="5" Body="&lt;p&gt;You might look into the concept of $f$-factors and specially Tutte's theorem on the existence  of $f$-factors. You might find Proposition 2 of this &lt;a href=&quot;http://www.math.u-szeged.hu/~csaba/cikkek/fesz-reg.pdf&quot;&gt;paper&lt;/a&gt; relevant.&lt;/p&gt;&#xA;" OwnerUserId="9604" LastActivityDate="2012-06-05T01:22:13.067" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11647" PostTypeId="2" ParentId="11615" CreationDate="2012-06-05T03:37:09.643" Score="2" Body="&lt;p&gt;Given the latest formulation of your question, this appears to be impossible. Consider the case where you have (families of) cyclic groups $\mathbb{G}$ and $\mathbb{H}$, where $\mathbb{G} \ne \mathbb{H}$ and we have a bilinear map $e: \mathbb{G} \times \mathbb{H} \to \mathbb{T}$. Under the XDH assumption we can suppose that DDH is hard in $\mathbb{G}$ and discrete log is hard in $\mathbb{H}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $g$ be a generator of $\mathbb{G}$ and $h$ be a generator of $\mathbb{H}$.&#xA;Then define $f : \mathbb{Z}_{|\mathbb{G}|} \to \mathbb{H}$ as $f(a) = h^a$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now given $(g, g^a, g^b, g^X, z=f(a)=h^a)$, we can easily determine whether $X = ab$ by checking $e(g^b, z) \overset{?}= e(g^X,h)$. (You can also similarly verify the correctness of $z$ if you like.) Yet, it would seem unlikely that an extractor could extract $a$ or $b$ from such a tuple. Extracting $b$ is obviously equivalent to discrete log; if there is a distortion map from $\mathbb{H}$ to $\mathbb{G}$ (there cannot be one in the other direction) then extracting $a$ is equivalent to discrete log (in $\mathbb{H}$).&lt;/p&gt;&#xA;" OwnerUserId="149" LastEditorUserId="149" LastEditDate="2012-06-05T05:56:55.337" LastActivityDate="2012-06-05T05:56:55.337" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11648" PostTypeId="1" AcceptedAnswerId="11649" CreationDate="2012-06-05T03:59:42.373" Score="11" ViewCount="793" Body="&lt;p&gt;According to the book Topological Graph Theory by Gross and Tucker, given a &lt;a href=&quot;http://en.wikipedia.org/wiki/Graph_embedding#Terminology&quot;&gt;cellular embedding&lt;/a&gt; of a graph on a surface (by 'surface' I mean here a sphere with some $n\geq 0$ handles, and below $S_n$ refers to the sphere with exactly $n$ handles), one can define a dual multigraph by treating the faces of the original graph embedding as vertices and adding an edge between two vertices for every side the corresponding faces have in common in the original graph. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here's my &lt;strong&gt;problem&lt;/strong&gt;. Given a graph $G$, I need to find another graph $G'$ such that there exists a surface $S$ and a cellular embedding of $G$ on $S$ such that $G'$ is the dual of this embedding of $G$. I know that there are many possible graphs $G'$; I just need to find one for every graph $G$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have several &lt;strong&gt;questions&lt;/strong&gt;. My current strategy is to (1) determine the genus $n$ of $G$, (2) find an embedding of $G$ on $S_n$, and (3) find the dual of this embedding. All those steps have known algorithms (although (1) is NP-Hard). I wonder if there's a way to find a $G'$ that bypasses the computation of the genus, since that is the bottleneck of this approach, and that's my first question. My second question is: If I know that $G$ is regular, can that ease the computation of the genus? And my third question is a request for any references that can help me solve this problem.&lt;/p&gt;&#xA;" OwnerUserId="5982" LastEditorUserId="186" LastEditDate="2012-06-05T04:58:03.317" LastActivityDate="2012-06-05T11:43:39.283" Title="Finding a dual of a graph" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;graph-theory&gt;&lt;cg.comp-geom&gt;&lt;topological-graph-theory&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11649" PostTypeId="2" ParentId="11648" CreationDate="2012-06-05T05:23:51.097" Score="17" Body="&lt;p&gt;Does your dual have to be of minimum genus? Because it's trivial to find a cellular embedding for any graph: just choose a circular ordering for the edges incident to each vertex, arbitrarily, and then determine the faces of the embedding as the sequences of edges consistent with the chosen orderings.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I like the GEM (graph-encoded map) representation of an embedding from the book Foundations of Topological Graph Theory by Bennington and Little. In this representation, an embedding is represented by a 3-edge-colored 3-regular graph with one vertex for every flag of the embedding (an incident triple of vertex, edge, and face) and one edge for every two flags that differ in only one of the elements of the vertex/edge/face sets that they represent. For instance, the image below from Wikipedia can be interpreted as a GEM of a regular dodecahedron, in which the red cycles represent its faces, the yellow cycles represent its edges, and the blue cycles represent its vertices; the edges may be colored according to the colors of their two incident faces.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/L8RH0.png&quot; alt=&quot;great rhombicosidodecahedron&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a circular ordering of the edges of a graph G, its GEM can be found by making a cycle of 2d vertices for each degree-d vertex of G, two for each edge, with the pairs of vertex for each incident edge occurring in the cycle in the chosen circular order, and then for each edge e of G linking the two pairs of GEM edges for the two endpoints of e into a rectangle. If you want an oriented embedding the choice of how to link these four vertices into a rectangle should be consistent with the circular orderings, otherwise it can be arbitrary.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then, the vertices, edges, and faces of the embedding of G are represented by cycles in the GEM that alternate between two of the three edge colors. The dual of G is represented by a GEM with the same underlying 3-regular graph but with two of its edge colors swapped. And the graph represented by a GEM can be formed by contracting all of its vertex cycles and merging pairs of parallel edges into single edges. So constructing a dual of G (as long as you don't care which dual) can easily be done in linear time.&lt;/p&gt;&#xA;" OwnerUserId="95" LastEditorUserId="95" LastEditDate="2012-06-05T11:43:39.283" LastActivityDate="2012-06-05T11:43:39.283" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="11652" PostTypeId="1" AcceptedAnswerId="11654" CreationDate="2012-06-05T14:03:38.047" Score="5" ViewCount="640" Body="&lt;p&gt;My original question was: Is &lt;a href=&quot;http://en.wikipedia.org/wiki/Kappa_calculus&quot; rel=&quot;nofollow&quot;&gt;Kappa calculus&lt;/a&gt; less powerful than Lambda calculus? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does the lack of Higher-Order functions on a programming language excludes some programs that could only be written in functional programming (and therefore in a turing machine)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By &quot;powerful&quot; I mean a Turing Complete programming language. For example, a language that can not contain infinite recursive expressions, ie infinite recursion or an infinite &lt;code&gt;while&lt;/code&gt; loop, is not as powerful as Lambda-Calculus and Turiung Machines, since it would otherwise be a contradiction to the Halting Problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I can't find the reference right now, byt I remember something about an algorithm that on a non-lazy functional programming language has an $\Omega( n \log n )$ complexity, while the same algorithm in imperative programming is $\Omega( n )$&lt;/p&gt;&#xA;" OwnerUserId="4481" LastEditorUserId="969" LastEditDate="2012-06-07T01:22:04.127" LastActivityDate="2012-06-08T08:48:22.067" Title="Do Higher-Order Functions provide more power to Functional Programming?" Tags="&lt;lo.logic&gt;&lt;type-theory&gt;&lt;lambda-calculus&gt;" AnswerCount="2" CommentCount="6" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="11654" PostTypeId="2" ParentId="11652" CreationDate="2012-06-05T17:39:58.370" Score="9" Body="&lt;p&gt;Even the full simply typed lambda calculus with products is not Turing-complete (cf. &lt;a href=&quot;http://en.wikipedia.org/wiki/Simply_typed_lambda_calculus#General_observations&quot;&gt;http://en.wikipedia.org/wiki/Simply_typed_lambda_calculus#General_observations&lt;/a&gt;), and since the kappa calculus is a fragment of it (if I understand the Wikipedia page correctly), it isn't either. &lt;/p&gt;&#xA;" OwnerUserId="6579" LastActivityDate="2012-06-05T17:39:58.370" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11655" PostTypeId="2" ParentId="11534" CreationDate="2012-06-05T18:16:16.030" Score="1" Body="&lt;p&gt;Following is my own understanding, which may be wrong. Thanks a lot for the comments.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The one-to-one reduction mentioned in the question is just another formulation of parsimonious reduction which applied to build #P-completeness. The following definition is from &quot;&lt;a href=&quot;http://www.wisdom.weizmann.ac.il/~oded/cc-book.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;Computational Complexity - A Conceptual Perspective&lt;/a&gt;&quot; by Odede Goldreich.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Definition 6.17&lt;/strong&gt; (parsimonious reductions): Let $R,R'\in\mathcal{PC}$ and let $g$ be a Karp-reduction of $S_R = \{x \mid R(x)\neq\emptyset\}$ to $S_{R'} = \{x \mid R'(x)\neq \emptyset\}$, where $R(x) = \{y\mid (x,y)\in R\}$ and $R'(x) = \{y\mid (x,y)\in R'\}$.  We say that $g$ is &lt;em&gt;parsimonious&lt;/em&gt; (with respect to $R$ and $R'$) if for every $x$ it holds that $|R(x)| = |R'(g(x))|$.  In such a case we say that $g$ is a &lt;em&gt;parsimonious reduction of $R$ to $R'$.&lt;/em&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;So the triple $(\alpha,\beta, \gamma)$ in the paper actually defines the transition $g$ in terms of $\alpha$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/x7UfC.jpg&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;" OwnerUserId="6108" LastEditorUserId="17082" LastEditDate="2013-09-21T02:53:28.747" LastActivityDate="2013-09-21T02:53:28.747" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="11656" PostTypeId="2" ParentId="11652" CreationDate="2012-06-06T01:15:41.113" Score="3" Body="&lt;p&gt;As a concrete example, try representing the exponentiation function in this language (or even in the simply typed lambda calculus). If you try to type the exponentiation function for the untyped version, you'll see the difficulties that come up. On the other hand, if you have some sort of polymorphism then it is quite easy to represent exponentiation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The functions on the natural numbers that the simply typed lambda calculus can represent is exactly that of the extended polynomial functions on the natural numbers, i.e. the class of functions generated by the constant functions outputting 0 and 1 and the operations of addition, multiplication and conditionals. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;As Jan Johannsen says above, since the kappa calculus is (as I also am led to understand from the Wikipedia page) a fragment of the simply typed lambda calculus, its expressive power will consequently be less.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the above result about the representable functions in the simply typed lambda calculus, see: H. Schwichtenberg. Definierbare Funktionen im $\lambda$-Kalkul mit Typen. Archiv fur mathematische Logik und Grundlagenforschung, 17 (1976), pp. 113{114&lt;/p&gt;&#xA;" OwnerUserId="9610" LastEditorUserId="9610" LastEditDate="2012-06-08T08:48:22.067" LastActivityDate="2012-06-08T08:48:22.067" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="11661" PostTypeId="2" ParentId="11002" CreationDate="2012-06-06T15:39:07.200" Score="2" Body="&lt;p&gt;the rule 110 initial condition constructions are extremely intricate even for simple computations and generally cannot be constructed by hand. one would generally start with a &lt;em&gt;real/concrete&lt;/em&gt; TM [turing machine] built to compute your problem, ie the complete state table (TMs are of course alluded to in thousands of TCS papers but rarely actually built directly). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;generally the papers build initial conditions using complex algorithmic conversions to tag systems. the cook paper cited by DE in comments above[1] does improve the simulation time by a polynomial instead of exponential construction. in other words, theres more than one way to create suitable initial conditions. another recent construction with emphasis on regular languages by martinez et al can be found[2]. the authors of the papers generally do not seem to release code they used to construct their paper results [scanning the two papers below], a legitimate complaint that could be made of much research papers in TCS which tend to give short shrift to experimental approaches[3] even as they seem to focus on them. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;so once you have the TM alphabet and state table one runs the conversion algorithms &lt;em&gt;described&lt;/em&gt; but not really explicitly/manifestly &lt;em&gt;implemented&lt;/em&gt; in the papers [because no code is given, only a prose description of the algorithm(s)] which take the TM alphabet and state table as input and then output a tag-system setup and 110 initial tape conditions that simulates the TM. my understanding is that in some cases, an infinite periodic starting &quot;tape&quot; pattern may be required.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;in their papers they do not even seem to mention what coding languages they use for their simulations/experiments. they might release code if you contact them directly. therefore wolframs release/publishing of some mathematica code you mention above [nice but now rather dated based on later developments in the area] seems to be an exception in this area. therefore to actually independently construct concrete machines built using these techniques a researcher might have to reimplement the algorithms described in the papers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;footnote: the exact TM problem must be defined with some care because in your case, does a TM that simply erases and outputs 2 to its tape compute 1+1? you probably want a TM that computes $a+b$ and starts with input 1,1 on the tape.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] &lt;a href=&quot;http://www.complex-systems.com/pdf/15-1-1.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;A concrete view of rule 110 computation&lt;/a&gt; by matthew cook&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] &lt;a href=&quot;http://uncomp.uwe.ac.uk/genaro/Papers/Papers_on_CA_files/repCTSR110.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Reproducing the cyclic tag system&#xA;developed by Matthew Cook with&#xA;Rule 110 using the phases fi_1&lt;/a&gt; by Martinez et al&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[3] &lt;a href=&quot;https://cstheory.stackexchange.com/questions/524/isexperimental-complexity-theory-being-used-to-solve-open-problems&quot;&gt;Is &amp;quot;Experimental Complexity Theory&amp;quot; being used to solve open problems?&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2012-06-06T15:39:07.200" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11662" PostTypeId="1" CreationDate="2012-06-06T17:51:45.723" Score="3" ViewCount="393" Body="&lt;p&gt;Assume that UG is $\mathsf{NPI}$, i.e. not solvable in $\mathsf{P}$ nor in $\mathsf{NP\text{-}complete}$ (so &lt;a href=&quot;http://en.wikipedia.org/wiki/Unique_games_conjecture&quot; rel=&quot;nofollow&quot;&gt;UGC&lt;/a&gt; is false). Is it still NP-hard to give a $(2-\epsilon)$ polytime approximation algorithm for Vertex Cover, for example? If not, where does the new threshold of NP-hardness move in $(1,2-\epsilon]$?  &lt;/p&gt;&#xA;" OwnerUserId="8353" LastEditorUserId="8353" LastEditDate="2012-06-10T20:50:54.893" LastActivityDate="2012-06-10T21:13:47.143" Title="Consequences of Unique Games being a NPI problem" Tags="&lt;cc.complexity-theory&gt;&lt;pcp&gt;&lt;unique-games-conjecture&gt;" AnswerCount="1" CommentCount="10" FavoriteCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11665" PostTypeId="2" ParentId="6404" CreationDate="2012-06-07T02:42:51.150" Score="3" Body="&lt;p&gt;Another framework of counting problems comes from computing the &lt;a href=&quot;http://en.wikipedia.org/wiki/Tutte_polynomial&quot; rel=&quot;nofollow&quot;&gt;Tutte polynomial&lt;/a&gt; of a graph.  In this framework, any two complex numbers defines a counting problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The book &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0521381657&quot; rel=&quot;nofollow&quot;&gt;Matroid Applications&lt;/a&gt; devotes chapter 6 to &lt;a href=&quot;http://www.math.lsu.edu/~oxley/bryox.pdf&quot; rel=&quot;nofollow&quot;&gt;The Tutte Polynomial and Its Applications&lt;/a&gt;. The previous link is to a scan of that chapter from the &lt;a href=&quot;https://www.math.lsu.edu/~oxley/&quot; rel=&quot;nofollow&quot;&gt;website of James Oxley&lt;/a&gt;, one of the coauthors. Last semester, he taught a course based on that chapter.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another good reference on this topic is &lt;a href=&quot;http://www.math.ucdavis.edu/~deloera/MISC/BIBLIOTECA/trunk/Welsh/welsh-tutte-polynomial.pdf&quot; rel=&quot;nofollow&quot;&gt;this survey-like paper&lt;/a&gt; by Welsh.&lt;/p&gt;&#xA;" OwnerUserId="3964" LastEditorUserId="3964" LastEditDate="2012-06-07T12:38:25.130" LastActivityDate="2012-06-07T12:38:25.130" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11670" PostTypeId="1" CreationDate="2012-06-07T20:53:00.883" Score="8" ViewCount="615" Body="&lt;p&gt;The origin of life problem is the wide-ranging inquiry into the mechanisms underpinning the emergence of life, where one definition of life is &quot;a self-sustained chemical system capable of undergoing Darwinian evolution&quot; [1].&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In one model - the &quot;RNA world&quot; hypothesis [2] - a sea of self-replicating RNA molecules are the precursors to cellular organisms. The mechanism behind the emergence of RNA from the prebiotic chemicals found on earth's surface is an open problem. However, in a series of groundbreaking results, the Sutherland Group at the University of Manchester described a plausible mechanism that combines prebiotic feedstock molecules to yield 2 of the 4 nucleotide types (ribocytidine, ribouridine) found in RNA [3].&lt;/p&gt;&#xA;&#xA;&lt;p&gt;From a computational complexity perspective, what can be said in general about the difficulty of reverse-engineering the remaining nucleotides found in RNA? That is, the problem of determining if a desired organic molecule is &quot;reachable&quot; using basic chemical reactions from the set of less-complex molecules thought to be abundant on the earth's surface. Are there any phase transition conditions which would make it easier or harder to reverse engineer a molecule, similar to the phase transitions found in satisfiability problems [4]?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem is related to retrosynthetic analysis (for which Elias James Corey received the Nobel Prize in chemistry in 1990) and computer-assisted organic synthesis, however when considering the origins of life, we tend to think of a primitive environment where the available building blocks and plausible pathways leading to good yields are constrained compared to a modern wetlab.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another approach is the &lt;em&gt;metabolism first&lt;/em&gt; model, where cyclical chemical reactions based on small molecules evolve to develop increasingly complex structures.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The generalized, abstract problem of determining reachable outcomes given a set of starting materials and allowable reactions is undecidable when the number of steps is unconstrained and NP-hard when bounded [5]. This observation however does not say how difficult the organic chemistry we actually see in our world is.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In general, basic organic chemistry is not Turing-complete because termination is decidable [6]. However, stochastic chemistry [7] can approximate Turing machines to arbitrary precision [8]. Arbitrary protein structure prediction (protein folding) is known to be NP-complete [9].&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are some machine learning methods for assessing whether or not a particular target compound or drug is likely to be synthesizable [10]. Does this approach say anything about RNA/DNA?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem of RNA formation may be completely tractable even if the more general problem of organic synthesis is intractable. This would mirror the situation in physics. Deducing the dynamical equations governing an arbitrary physical system is NP-hard [11], however the physics we encounter in our world is much easier to analyze and appears to be tractable (what has also been called &quot;the unreasonable effectiveness of mathematics in the natural sciences&quot; [12]).&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;[1] http://originlife.org/&#xA;[2] http://en.wikipedia.org/wiki/RNA_world_hypothesis&#xA;[3] http://www.nature.com/nature/journal/v459/n7244/full/nature08013.html&#xA;[4] http://www.cs.ubc.ca/~kevinlb/papers/2012-PredictingSatisfiability.pdf&#xA;[5] http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.49.9276&amp;amp;rep=rep1&amp;amp;type=pdf&#xA;[6] http://dna.caltech.edu/Papers/sCRN_computation_2008.pdf&#xA;[7] http://demonstrations.wolfram.com/DeterministicVersusStochasticChemicalKinetics/&#xA;[8] http://lucacardelli.name/Talks/2009-05-08%20Biochemistry%20%28Warsaw%29.pdf&#xA;[9] http://www.bentribelhorn.com/files/cs524.pdf&#xA;[10] http://www.dtc.umn.edu/publications/reports/2010_02.pdf&#xA;[11] http://arxiv.org/pdf/1005.0005.pdf&#xA;[12] http://www.dartmouth.edu/~matc/MathDrama/reading/Wigner.html&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;" OwnerUserId="9661" LastEditorUserId="495" LastEditDate="2012-06-11T08:51:09.320" LastActivityDate="2012-06-11T08:51:09.320" Title="How hard is the origin of life problem?" Tags="&lt;cc.complexity-theory&gt;&lt;big-picture&gt;&lt;natural-computing&gt;&lt;bioinformatics&gt;" AnswerCount="0" CommentCount="8" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="11671" PostTypeId="1" CreationDate="2012-06-08T01:26:06.657" Score="5" ViewCount="135" Body="&lt;p&gt;Recently, I have been studying a quantum protocol for the &quot;Hidden Matching&quot; problem that makes use of states that can be expressed as&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$|\psi\rangle=\frac{1}{\sqrt{n}}\sum_{i=1}^n (-1)^{x_i}|i\rangle$,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where $x_i\in \{0,1\}$ and $n$ is a power of 2. Note that instead of an $n$-level system we can consider these as states of $\log_2 n$ qubits. I suspect these states to have appeared in other contexts as they are a straightforward and useful way to map an $n$ bit string into an exponentially smaller amount of qubits. Hence I am wondering: have the properties of these types of states been already extensively studied?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am particularly interested in how the reduced density matrix of each qubit and the entanglement of the state depend on the bit values $x_i$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thank you!&lt;/p&gt;&#xA;" OwnerUserId="8380" LastActivityDate="2012-06-08T15:02:57.117" Title="Known properties of a specific class of quantum states" Tags="&lt;reference-request&gt;&lt;quantum-computing&gt;&lt;quantum-information&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11673" PostTypeId="2" ParentId="174" CreationDate="2012-06-08T10:37:51.503" Score="1" Body="&lt;p&gt;Is $\mathsf{L}=\mathsf{NL}$? What about non-uniform versions? &lt;/p&gt;&#xA;" OwnerUserId="9144" LastEditorUserId="186" LastEditDate="2013-03-31T21:18:43.860" LastActivityDate="2013-03-31T21:18:43.860" CommentCount="2" CommunityOwnedDate="2012-06-08T10:37:51.503" ContentLicense="CC BY-SA 3.0" />
  <row Id="11675" PostTypeId="2" ParentId="11671" CreationDate="2012-06-08T15:02:57.117" Score="6" Body="&lt;p&gt;M. G. Parker and V. Rijmen have studied the quantum entanglement of binary and bipolar sequences in &lt;a href=&quot;http://arxiv.org/abs/quant-ph/0107106&quot;&gt;arXiv:quant-ph/0107106&lt;/a&gt;. I remember reading their paper long ago. They use a lot of terminology from coding theory, so now by just skimming through, I can't understand exactly what their result is, but you can have a deeper look.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Notice also that &lt;a href=&quot;http://www.quantiki.org/wiki/Graph_states&quot;&gt;graph states&lt;/a&gt; are a special case of your states. In particular, $\psi$ is a graph state if and only if the sequence $x$ is generated by a quadratic polynomial in GF(2).&lt;/p&gt;&#xA;" OwnerUserId="1542" LastActivityDate="2012-06-08T15:02:57.117" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="11678" PostTypeId="1" CreationDate="2012-06-08T23:58:43.527" Score="-2" ViewCount="309" Body="&lt;p&gt;I have implemented consensus algorithm (based on Paxos). I have added some random test cases and it seems fine. To be sure, I want to do testing via model checking. I couldn't find a correct article for it. Are there any standard references on how to do model checking for Paxos?&lt;/p&gt;&#xA;" OwnerUserId="9676" LastEditorUserId="1037" LastEditDate="2012-06-09T17:12:47.890" LastActivityDate="2013-06-16T19:12:30.703" Title="Model checking Paxos" Tags="&lt;reference-request&gt;&lt;dc.distributed-comp&gt;&lt;model-checking&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11679" PostTypeId="2" ParentId="174" CreationDate="2012-06-09T00:07:29.490" Score="6" Body="&lt;p&gt;Finding natural SampNP-complete distributional problems.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Informally, Samp-NP is the class of NP problems restricted to distributions that are samplable in polynomial time (&quot;On the Theory of Average Case Complexity&quot;, Ben-David, Chor, Goldreich and Luby, JCSS 1992, doi:&lt;a href=&quot;http://dx.doi.org/10.1016/0022-0000%2892%2990019-F&quot; rel=&quot;nofollow&quot;&gt;10.1016/0022-0000(92)90019-F&lt;/a&gt;). This class aims to capture the complexity of solving NP on real life instances. While it is known that this class has complete problems, we do not know of any natural complete problems for this class.&#xA;Finding such a problem would yield the first natural problem for which we have good theoretical reasons to believe that it is hard on average. &lt;/p&gt;&#xA;" OwnerUserId="8429" LastEditorUserId="109" LastEditDate="2014-02-28T21:28:02.523" LastActivityDate="2014-02-28T21:28:02.523" CommentCount="0" CommunityOwnedDate="2012-06-09T00:07:29.490" ContentLicense="CC BY-SA 3.0" />
  <row Id="11680" PostTypeId="2" ParentId="11678" CreationDate="2012-06-09T04:07:24.107" Score="-1" Body="&lt;p&gt;I think you can get a better idea by referring the following paper,&#xA;Model Checking for Programming Languages using VeriSoft by Patrice Godefroid&lt;/p&gt;&#xA;" OwnerUserId="9679" LastActivityDate="2012-06-09T04:07:24.107" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11682" PostTypeId="2" ParentId="4301" CreationDate="2012-06-09T17:14:46.760" Score="3" Body="&lt;p&gt;In addition to domotorp's excellent answer giving $c\le 2$, let me mention that the recent monograph of Jukna (2012) provides an in-depth discussion of this question in Chapter 6.1. According to Jukna, the current best bound is $c \le 1.73$ by Khrapchenko (1978).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;References&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Stasys Jukna. &lt;a href=&quot;http://www.thi.informatik.uni-frankfurt.de/~jukna/boolean/q.pdf&quot; rel=&quot;nofollow&quot;&gt;Boolean Function Complexity: Advances and Frontiers.&lt;/a&gt; Springer, 2012.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;V. M. Khrapchenko. On a relation between the complexity and the depth. Metody Diskretnogo Analiza in Synthezis of Control Systems 32: 76–94, 1978.&lt;/p&gt;&#xA;" OwnerUserId="2367" LastEditorUserId="-1" LastEditDate="2012-06-09T17:58:28.747" LastActivityDate="2012-06-09T17:58:28.747" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="11684" PostTypeId="1" AcceptedAnswerId="11685" CreationDate="2012-06-10T00:16:49.950" Score="5" ViewCount="202" Body="&lt;p&gt;Given a &lt;a href=&quot;http://en.wikipedia.org/wiki/Graph_embedding#Terminology&quot; rel=&quot;nofollow&quot;&gt;cellular embedding&lt;/a&gt; of a graph on a surface (by 'surface' I mean here a sphere with some $n\geq 0$ handles), one can define a dual multigraph by treating the faces of the original graph embedding as vertices and adding an edge between two vertices for every side the corresponding faces have in common in the original graph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here's my &lt;strong&gt;problem&lt;/strong&gt;. Given a &lt;strong&gt;simple&lt;/strong&gt; graph $G$, I need to find another &lt;strong&gt;simple&lt;/strong&gt; graph $G'$ such that there exists a surface $S$ and a cellular embedding of $G$ on $S$ such that $G'$ is the dual of this embedding of $G$. Some simple graphs $G$ do not have simple duals on any surface (for example, a simple path; see JɛﬀE's comment). On the other hand, I think that for some simple graphs $G$, there can be many possible simple duals $G'$, depending on the surface and the embedding chosen.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question&lt;/strong&gt;: Given a simple graph $G$, give a method that finds a simple dual graph $G'$, if it exists.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;None of the embeddings is required to be of minimum genus. The graphs are assumed to be connected.&lt;/p&gt;&#xA;" OwnerUserId="5982" LastEditorUserId="5982" LastEditDate="2012-06-10T02:37:25.547" LastActivityDate="2012-06-10T07:41:31.010" Title="Finding a simple dual of a simple graph in some surface" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;graph-theory&gt;&lt;cg.comp-geom&gt;&lt;topological-graph-theory&gt;" AnswerCount="1" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="11685" PostTypeId="2" ParentId="11684" CreationDate="2012-06-10T07:41:31.010" Score="5" Body="&lt;p&gt;For 3-regular graphs, having a simple dual is the same thing as having a polyhedral embedding (an embedding in which each face is a simple cycle and every two faces intersect in an empty set, a vertex, or an edge). But testing for the existence of a polyhedral embedding is known to be NP-complete: see B. Mohar, Existence of polyhedral embeddings of graphs, Combinatorica 21 (2001), 395–401, &lt;a href=&quot;http://www.fmf.uni-lj.si/~mohar/Papers/Fw3npc.pdf&quot;&gt;http://www.fmf.uni-lj.si/~mohar/Papers/Fw3npc.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm not sure whether polyhedral embeddability is known to remain NP-complete when restricted to 3-regular graphs — it doesn't seem to be in Mohar's paper — but it seems very likely to be true.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2012-06-10T07:41:31.010" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="11687" PostTypeId="1" AcceptedAnswerId="11688" CreationDate="2012-06-10T15:23:37.343" Score="24" ViewCount="795" Body="&lt;p&gt;There are many inapproximability results which rely on the unique games conjecture.  For example,&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Assuming the unique games conjecture, it is NP-hard to approximate the maximum cut problem within a factor &lt;i&gt;R&lt;/i&gt; for any constant &lt;i&gt;R&lt;/i&gt; &amp;gt; &lt;i&gt;R&lt;/i&gt;&lt;sub&gt;GW&lt;/sub&gt;.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;(Here &lt;i&gt;R&lt;/i&gt;&lt;sub&gt;GW&lt;/sub&gt; = 0.878… is the approximation ratio of the Goemans–Williamson algorithm.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, some people prefer to use the term “&lt;a href=&quot;http://blog.computationalcomplexity.org/2005/12/ug-hard.html&quot;&gt;UG-hard&lt;/a&gt;” as:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;It is UG-hard to approximate the maximum cut problem within a factor &lt;i&gt;R&lt;/i&gt; for any constant &lt;i&gt;R&lt;/i&gt; &amp;gt; &lt;i&gt;R&lt;/i&gt;&lt;sub&gt;GW&lt;/sub&gt;.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Is the latter just a shorthand for the former, or do they mean different statements?&lt;/p&gt;&#xA;" OwnerUserId="567" LastEditorUserId="567" LastEditDate="2012-06-10T16:04:04.263" LastActivityDate="2012-06-11T16:17:50.557" Title="What is UG-hardness, and how is it different from NP-hardness based on the unique games conjecture?" Tags="&lt;cc.complexity-theory&gt;&lt;approximation-hardness&gt;&lt;unique-games-conjecture&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="11688" PostTypeId="2" ParentId="11687" CreationDate="2012-06-10T15:23:37.450" Score="17" Body="&lt;p&gt;&lt;em&gt;An earlier version of this answer was originally posted as an answer to the question “&lt;a href=&quot;https://cstheory.stackexchange.com/questions/11662/consequences-of-unique-games-being-a-npi-problem&quot;&gt;Consequences of Unique Games being a NPI problem&lt;/a&gt;” by NicosM.  Because it turned out that it did not answer what he wanted to ask, I moved it to this question.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Short answer: They mean different statements.  The latter implies the former, but the former does not necessarily imply the latter.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Long answer: Recall that the unique game problem is the following promise problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Unique game problem with parameters &lt;i&gt;k&lt;/i&gt;∈ℕ and &lt;i&gt;ε&lt;/i&gt;, &lt;i&gt;δ&lt;/i&gt; &amp;gt; 0 (1−&lt;i&gt;ε&lt;/i&gt; &amp;gt; &lt;i&gt;δ&lt;/i&gt;)&lt;/strong&gt;&lt;br&gt;&#xA;&lt;em&gt;Instance&lt;/em&gt;: A two-player one-round unique game &lt;i&gt;G&lt;/i&gt; with label size &lt;i&gt;k&lt;/i&gt;.&lt;br&gt;&#xA;&lt;em&gt;Yes-promise&lt;/em&gt;: &lt;i&gt;G&lt;/i&gt; has value at least 1−&lt;i&gt;ε&lt;/i&gt;.&lt;br&gt;&#xA;&lt;em&gt;No-promise&lt;/em&gt;: &lt;i&gt;G&lt;/i&gt; has value at most &lt;i&gt;δ&lt;/i&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The unique games conjecture states:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Unique games conjecture.&lt;/strong&gt;  For all constants &lt;i&gt;ε&lt;/i&gt; and &lt;i&gt;δ&lt;/i&gt;, there exists a constant &lt;i&gt;k&lt;/i&gt; such that the unique game problem with parameters &lt;i&gt;k&lt;/i&gt;, &lt;i&gt;ε&lt;/i&gt;, and &lt;i&gt;δ&lt;/i&gt; is NP-complete.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Consider results of the following form:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;(1) Assuming the unique games conjecture, problem &lt;i&gt;X&lt;/i&gt; is NP-hard.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;(An example of &lt;i&gt;X&lt;/i&gt; is the problem of approximating maximum cut within some constant factor &lt;i&gt;R&lt;/i&gt; &amp;gt; &lt;i&gt;R&lt;/i&gt;&lt;sub&gt;GW&lt;/sub&gt;.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Most (if not all) of the results of the form (1) actually prove the following fact:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;(2) There exist constants &lt;i&gt;ε&lt;/i&gt; and &lt;i&gt;δ&lt;/i&gt; such that for every constant &lt;i&gt;k&lt;/i&gt;, the unique game problem with parameters &lt;i&gt;k&lt;/i&gt;, &lt;i&gt;ε&lt;/i&gt;, and &lt;i&gt;δ&lt;/i&gt; is reducible to &lt;i&gt;X&lt;/i&gt;.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;It is easy to verify that (2) implies (1).  However, (2) implies more than (1): for example, suppose that one day we can prove that a variant of the unique games conjecture where “NP-complete” is replaced with “&lt;a href=&quot;http://qwiki.stanford.edu/index.php/Complexity_Zoo:G#gi&quot; rel=&quot;nofollow noreferrer&quot;&gt;GI&lt;/a&gt;-hard.”  Then (2) implies that &lt;i&gt;X&lt;/i&gt; is also GI-hard.  (1) does not imply this.  This is why some people consider that statement (1) is not the best way to state the theorem: (1) is weaker than what is actually proved, and the difference might be important.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Although (2) is a more accurate statement of what is proved, it is clearly mouthful.  This is why people have come up with a shorthand for it: “Problem &lt;i&gt;X&lt;/i&gt; is UG-hard” is a shorthand for (2).&lt;/p&gt;&#xA;" OwnerUserId="567" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2012-06-11T16:17:50.557" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="11690" PostTypeId="2" ParentId="11662" CreationDate="2012-06-10T21:13:47.143" Score="4" Body="&lt;p&gt;To address your revised question:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;If UGC is false, is it still NP-hard to give a $(2-\epsilon)$ polytime approximation algorithm for Vertex Cover?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;If it were known that it is NP-hard to approximate VC better than a factor of 2, even if the UGC is false, then we would unconditionally know that approximating VC to a factor better than 2 is NP-hard. This also works with a factor smaller than 2. If it were known that if UGC is false, then VC is NP-hard to approximate better than a factor of (say) 1.5, then we would know that it is (unconditionally) NP-hard to approximate it better than a factor of 1.5.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since we don't know that, I guess the best we can say if the UGC is false is that it's NP-hard to approximate it to within a factor of 1.3606 by the result of &lt;a href=&quot;http://annals.math.princeton.edu/2005/162-1/p08&quot; rel=&quot;nofollow&quot;&gt;Dinur and Safra (2005)&lt;/a&gt;. (I think that's the current best-known inapproximability result.)&lt;/p&gt;&#xA;" OwnerUserId="206" LastActivityDate="2012-06-10T21:13:47.143" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11691" PostTypeId="1" CreationDate="2012-06-11T02:29:13.730" Score="15" ViewCount="2293" Body="&lt;h3&gt;Answer: not known.&lt;/h3&gt;&#xA;&lt;p&gt;The questions asked are natural, open, and apparently difficult; the question now is a  community wiki.&lt;/p&gt;&#xA;&lt;h3&gt;Overview&lt;/h3&gt;&#xA;&lt;p&gt;The question seeks to divide languages belonging to the complexity class &lt;span class=&quot;math-container&quot;&gt;$P$&lt;/span&gt;  — together with the decision Turing machines (TMs) that accept these languages — into two complementary subclasses:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;em&gt;gnostic&lt;/em&gt; languages and TMs (that are feasible to validate/understand), versus&lt;/li&gt;&#xA;&lt;li&gt;&lt;em&gt;cryptic&lt;/em&gt; languages and TMs (that are infeasible to validate/understand).&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3&gt;Definitions: &lt;em&gt;gnostic&lt;/em&gt; vs &lt;em&gt;cryptic&lt;/em&gt; numbers, TMs, and languages&lt;/h3&gt;&#xA;&lt;p&gt;Within the axiom frameworks &lt;a href=&quot;http://en.wikipedia.org/wiki/Peano_axioms&quot; rel=&quot;nofollow noreferrer&quot;&gt;PA&lt;/a&gt; and &lt;a href=&quot;http://en.wikipedia.org/wiki/Zermelo%E2%80%93Fraenkel_set_theory&quot; rel=&quot;nofollow noreferrer&quot;&gt;ZFC&lt;/a&gt;, we distinguish gnostic from cryptic Turing machines and languages as follows:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;D0&lt;/strong&gt;  We say that a &lt;a href=&quot;http://en.wikipedia.org/wiki/Computable_number#Formal_definition&quot; rel=&quot;nofollow noreferrer&quot;&gt;computable real number&lt;/a&gt; &lt;span class=&quot;math-container&quot;&gt;$r$&lt;/span&gt; is &lt;em&gt;gnostic&lt;/em&gt; iff it is associated to a non-empty set of TMs, with each TM specified in PA as an explicit list of numbers comprising valid code upon a universal TM, such that for any accuracy &lt;span class=&quot;math-container&quot;&gt;$\epsilon\gt0$&lt;/span&gt; supplied as an input, each TM provably (in ZFC) halts with an output number &lt;span class=&quot;math-container&quot;&gt;$o$&lt;/span&gt; that provably (in ZFC) satisfies &lt;span class=&quot;math-container&quot;&gt;$r-\epsilon\lt o\lt r+\epsilon$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;Remark&lt;/strong&gt;  It is known that some computable reals are not gnostic (for a concrete example see &lt;a href=&quot;https://cstheory.stackexchange.com/a/12168/1519&quot;&gt;Raphael Reitzig's answer&lt;/a&gt; to jkff's question &amp;quot;&lt;a href=&quot;https://cstheory.stackexchange.com/q/12162/1519&quot;&gt;Are there non-constructive algorithm existence proofs?&lt;/a&gt;&amp;quot;).  To avoid grappling with these computable-yet-awkward numbers, the restriction is imposed that runtime exponents be computable by TMs that are explicitly enumerated in PA (as contrasted with TMs implicitly specified in ZFC).  For further discussion see the section &lt;strong&gt;Definitional considerations&lt;/strong&gt; (below).&lt;/p&gt;&#xA;&lt;p&gt;Now we seek definitions that capture the intuition that the complexity class &lt;span class=&quot;math-container&quot;&gt;$P$&lt;/span&gt; includes a subset of &lt;em&gt;cryptic&lt;/em&gt; languages to which no (gnostic) runtime exponent lower-bound can provably be assigned.&lt;/p&gt;&#xA;&lt;p&gt;To look ahead, the concluding definition (&lt;strong&gt;D5&lt;/strong&gt;) specifies the idea of a &lt;i&gt;canonically cryptic decision TM&lt;/i&gt;, whose definition is crafted with a view toward obviating reductions that (trivially) mask cryptic computations by overlaying computationally superfluous epi-computations.  The rationale and sources of this key definition are discussed later on — under the heading &lt;strong&gt;Definitional Considerations&lt;/strong&gt; — and the contributions of comments by Timothy Chow, Peter Shor, Sasho Nikolov, and Luca Trevisan are gratefully acknowledged.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;D1&lt;/strong&gt;  Given a Turing machine M that halts for all input strings, M is called &lt;em&gt;cryptic&lt;/em&gt; iff the following statement is neither provable nor refutable for at least one gnostic real number &lt;span class=&quot;math-container&quot;&gt;$r \ge 0$&lt;/span&gt;:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;Statement:&lt;/strong&gt; M's runtime is &lt;span class=&quot;math-container&quot;&gt;${O}(n^r)$&lt;/span&gt; with respect to input length &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Turing machines that are not cryptic we say are gnostic TMs.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;D2&lt;/strong&gt;  We say that a decision Turing machine M is &lt;em&gt;efficient&lt;/em&gt; iff it has a gnostic runtime exponent &lt;span class=&quot;math-container&quot;&gt;$r$&lt;/span&gt; such that the language L that M accepts is accepted by no other TM having a gnostic runtime exponent smaller than &lt;span class=&quot;math-container&quot;&gt;$r$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;D3&lt;/strong&gt;  We say that a language L is &lt;em&gt;cryptic&lt;/em&gt; iff it is accepted by &lt;strong&gt;(a)&lt;/strong&gt; at least one Turing machine M is that is both efficient and cryptic, and moreover &lt;strong&gt;(b)&lt;/strong&gt; no TM that is both efficient and gnostic provably accepts L.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;To express &lt;strong&gt;D3&lt;/strong&gt; another way, a language is cryptic iff the TMs that accept that language most efficiently are themselves cryptic.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Languages that are not cryptic we say are &lt;em&gt;gnostic&lt;/em&gt; languages.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;D4&lt;/strong&gt;  We say that a cryptic TM is &lt;em&gt;strongly cryptic&lt;/em&gt; iff the language it accepts is cryptic.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;D5&lt;/strong&gt;  We say that a strongly cryptic TM is &lt;em&gt;canonically cryptic&lt;/em&gt; iff it is efficient.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;To express &lt;strong&gt;D5&lt;/strong&gt; another way, every cryptic language is accepted by a set of canonically cryptic decision TMs, which are the most efficient decision TMs that accept that language.&lt;/p&gt;&#xA;&lt;h3&gt;The questions asked&lt;/h3&gt;&#xA;&lt;p&gt;The following conjecture &lt;strong&gt;C0&lt;/strong&gt; is natural and (apparently) open:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;C0&lt;/strong&gt;  The complexity class P contains at least one cryptic language.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Three questions are asked, &lt;strong&gt;Q1&lt;/strong&gt;–&lt;strong&gt;Q3&lt;/strong&gt;, of which the first is:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;Q1&lt;/strong&gt;  Is the &lt;strong&gt;C0&lt;/strong&gt; conjecture independent of PA or ZFC?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Under the assumption that &lt;strong&gt;C0&lt;/strong&gt; is true — either provably in ZFC, or as an independent axiom that is supplemental to ZFC — two further questions are natural:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;Q2&lt;/strong&gt;  Can at least one cryptic language in &lt;em&gt;P&lt;/em&gt; be presented concretely, that is, exhibited as a dictionary of explicit words in a finite alphabet that includes all words up to any specified length?  If so, exhibit such a dictionary.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Q3&lt;/strong&gt;  Can at least one canonically cryptic decision TM be presented concretely, that is, as an enabling description for building a physical Turing machine that decides (in polynomial time) all the words of the dictionary of &lt;strong&gt;Q2&lt;/strong&gt;?   If so, construct such a Turing machine and by computing with it, exhibit the cryptic language dictionary of &lt;strong&gt;Q2&lt;/strong&gt;.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;h3&gt;Definitional considerations&lt;/h3&gt;&#xA;&lt;p&gt;Definition &lt;strong&gt;D0&lt;/strong&gt; implies that every gnostic real number is computable, but it is known that some computable real numbers are &lt;em&gt;not&lt;/em&gt; gnostic.  For examples, see answers on &lt;em&gt;MathOverflow&lt;/em&gt; by &lt;a href=&quot;https://cstheory.stackexchange.com/a/1979/1519&quot;&gt;Michaël Cadilhac&lt;/a&gt; and &lt;a href=&quot;https://cstheory.stackexchange.com/a/1991/1519&quot;&gt;Ryan Williams&lt;/a&gt; and on &lt;em&gt;TCS StackExchange&lt;/em&gt; by &lt;a href=&quot;https://cstheory.stackexchange.com/a/12168/1519&quot;&gt;Raphael Reitzig&lt;/a&gt;.  More generally, definitions &lt;strong&gt;D0–D5&lt;/strong&gt; are crafted to exclude references to non-gnostic runtime exponents.&lt;/p&gt;&#xA;&lt;p&gt;As discussed in the TCS wiki &amp;quot;&lt;a href=&quot;https://cstheory.stackexchange.com/q/11570/1519&quot;&gt;Does P contain incomprehensible languages?&lt;/a&gt;,&amp;quot; definitions &lt;strong&gt;D0–D5&lt;/strong&gt; ensure that every cryptic language is accepted by at least one TM that is canonically cryptic. (Note also that in the present question the word &amp;quot;cryptic&amp;quot; replaces the less descriptive word &amp;quot;incomprehensible&amp;quot; used in the wiki).&lt;/p&gt;&#xA;&lt;p&gt;Moreover — in view of &lt;strong&gt;D3(a)&lt;/strong&gt; and &lt;strong&gt;D3(b)&lt;/strong&gt; — there exists no computationally trivial reduction of a canonically cryptic TM to a gnostic TM that provably recognizes the same language.  In particular, &lt;strong&gt;D3(a)&lt;/strong&gt; and &lt;strong&gt;D3(b)&lt;/strong&gt; obstruct the &lt;em&gt;polylimiter&lt;/em&gt; reduction strategies that were outlined in comments by &lt;a href=&quot;https://cstheory.stackexchange.com/questions/11570/does-p-contain-incomprehensible-languages-tcs-community-wiki#comment31657_11570&quot;&gt;Peter Shor&lt;/a&gt;, and by &lt;a href=&quot;https://cstheory.stackexchange.com/a/11575&quot;&gt;Sasho Nikolov&lt;/a&gt;, and independently by &lt;a href=&quot;http://lucatrevisan.wordpress.com/2011/02/04/two-interesting-questions/#comment-2962&quot; rel=&quot;nofollow noreferrer&quot;&gt;Luca Trevisan&lt;/a&gt;, and obstructs too the &lt;em&gt;polynomially clocked&lt;/em&gt; reduction strategy of &lt;a href=&quot;https://cstheory.stackexchange.com/a/11707/1519&quot;&gt;Timothy Chow&lt;/a&gt;, all of which similarly mask cryptic computations by overlaying a computationally superfluous &lt;a href=&quot;https://cstheory.stackexchange.com/questions/11570/does-p-contain-incomprehensible-languages-tcs-community-wiki#comment31708_11592&quot;&gt;epi-computation&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;In general, the definitions of &amp;quot;gnostic&amp;quot; and &amp;quot;cryptic&amp;quot; are deliberately tuned so as to be robust with respect to mathematically trivial reductions (and it is entirely possible that further tuning of these definitions may be desirable).&lt;/p&gt;&#xA;&lt;h3&gt;Methodological considerations&lt;/h3&gt;&#xA;&lt;p&gt;Lance Fortnow's review &amp;quot;&lt;a href=&quot;http://cacm.acm.org/magazines/2009/9/38904-the-status-of-the-p-versus-np-problem/fulltext&quot; rel=&quot;nofollow noreferrer&quot;&gt;The status of the P versus NP problem&lt;/a&gt;&amp;quot; surveys methods for establishing the independence (or otherwise) of conjectures in complexity theory; particularly desired are suggestions as to how the methods that Lance reviews might help (or not) to answer &lt;strong&gt;Q1&lt;/strong&gt;.&lt;/p&gt;&#xA;&lt;p&gt;It is clear that many further questions are natural.  E.g., the &lt;a href=&quot;http://rjlipton.wordpress.com/2012/06/15/why-the-hartmanis-stearns-conjecture-is-still-open/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Hartmanis-Stearns Conjecture&lt;/a&gt; inspires us to ask &amp;quot;Do cryptic real-time multitape Turing machines exist? Is their existence (or not) independent of PA or ZFC?&amp;quot;&lt;/p&gt;&#xA;&lt;h3&gt;Zeilberger-type considerations&lt;/h3&gt;&#xA;&lt;p&gt;In the event that &lt;strong&gt;Q1&lt;/strong&gt; is answered by &amp;quot;yes&amp;quot;, then oracles that decide membership in &lt;span class=&quot;math-container&quot;&gt;$P$&lt;/span&gt; exist outside of PA or ZFC, and therefore, an essential element of modern complexity theory is (at present) not known to reside within any formal system of logic.&lt;/p&gt;&#xA;&lt;p&gt;In this respect complexity theory stands apart from most mathematical disciplines, such that the apprehensions that Doron Zeilberger expresses in his recent &amp;quot;&lt;a href=&quot;http://www.math.rutgers.edu/%7Ezeilberg/Opinion125.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;Opinion 125: Now that Alan Turing turned 100-years-old, it is time to have a Fresh Look at His Seminal Contributions, that did lots of Good But Also Lots of Harm&lt;/a&gt;&amp;quot; arguably are well-founded.&lt;/p&gt;&#xA;&lt;p&gt;Zeilberger's concerns take explicit form as the criterion &lt;strong&gt;Z0&lt;/strong&gt; &lt;span class=&quot;math-container&quot;&gt;$\equiv $&lt;/span&gt; ( !&lt;strong&gt;Q1&lt;/strong&gt; ) &amp;amp;&amp;amp; ( !&lt;strong&gt;C0&lt;/strong&gt; ), which is equivalent to the following criterion:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;Z0:&lt;/strong&gt;  &lt;strong&gt;Zeilberger's sensibility criterion&lt;/strong&gt;  Definitions of the complexity class &lt;em&gt;P&lt;/em&gt;  are called &lt;em&gt;Zeilberger-sensible&lt;/em&gt; iff all languages in &lt;em&gt;P&lt;/em&gt; are provably gnostic.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;At present it is not known whether &lt;a href=&quot;http://www.claymath.org/millennium/P_vs_NP/pvsnp.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Stephen Cook's definition of the complexity class &lt;em&gt;P&lt;/em&gt;&lt;/a&gt;  is Zeilberger-sensible.&lt;/p&gt;&#xA;&lt;h3&gt;Motivational considerations&lt;/h3&gt;&#xA;&lt;p&gt;The definitions of &amp;quot;gnostic&amp;quot; and &amp;quot;cryptic&amp;quot; are crafted with a view toward (eventually) deciding conjectures like the following:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;C1&lt;/strong&gt;  Let &lt;span class=&quot;math-container&quot;&gt;$P'$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$NP'$&lt;/span&gt; be the gnostic restrictions of &lt;span class=&quot;math-container&quot;&gt;$P$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$NP$&lt;/span&gt; resp. Then &lt;span class=&quot;math-container&quot;&gt;$P' \ne NP'$&lt;/span&gt; is either provable or refutable in PA or ZFC.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;C2&lt;/strong&gt;  &lt;span class=&quot;math-container&quot;&gt;$P' \ne NP'$&lt;/span&gt; (as explicitly proved in PA or ZFC)&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Clearly &lt;strong&gt;C2&lt;/strong&gt; &lt;span class=&quot;math-container&quot;&gt;$\to$&lt;/span&gt; &lt;strong&gt;C1&lt;/strong&gt;, and conversely it is conceivable that a proof of the (meta) theorem &lt;strong&gt;C1&lt;/strong&gt; might provide guidance toward a proof of the (stronger) theorem &lt;strong&gt;C2&lt;/strong&gt;.&lt;/p&gt;&#xA;&lt;p&gt;The overall motivation is the expectation/intuition/hope that for some well-tuned distinction between gnostic and cryptic TMs and languages, a proof of &lt;strong&gt;C1&lt;/strong&gt; and possibly even &lt;strong&gt;C2&lt;/strong&gt; might illuminate — and even have comparable practical implications to — a presumably far harder and deeper proof that &lt;span class=&quot;math-container&quot;&gt;$P\ne NP$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Juris Hartmanis was among the first complexity theorists to seriously pursue this line of investigation; see Hartmanis' monograph &lt;em&gt;&lt;a href=&quot;http://books.google.com/books?id=DTMrTZJH1NYC&amp;amp;pg=PA1&quot; rel=&quot;nofollow noreferrer&quot;&gt;Feasible Computations and Provable Complexity Properties&lt;/a&gt;&lt;/em&gt; (1978), for example.&lt;/p&gt;&#xA;&lt;h3&gt;Nomenclatural considerations&lt;/h3&gt;&#xA;&lt;p&gt;From the Oxford English Dictionary (OED) we have:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;gnostic&lt;/strong&gt; (adj)  &lt;em&gt;Relating to knowledge; cognitive; intellectual&lt;/em&gt;  &amp;quot;They [the numbers] exist in a vital, gnostic, and speculative, but not in an operative manner.&amp;quot;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;cryptic&lt;/strong&gt; (adj)  &lt;em&gt;Not immediately understandable; mysterious, enigmatic&lt;/em&gt;  &amp;quot;Instead of plain Rules useful to Mankind, they [philosophers] obtrude cruptick and dark Sentences.&amp;quot;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Apparently no Mathematical Review has previously used the word &amp;quot;gnostic&amp;quot; in any sense whatsoever.   However, attention is drawn to Marcus Kracht’s recent article “&lt;a href=&quot;http://www.springerlink.com/content/02308147205q2860&quot; rel=&quot;nofollow noreferrer&quot;&gt;Gnosis&lt;/a&gt;” (&lt;em&gt;Journal of Philosophical Logic&lt;/em&gt;, MR2802332), which uses the OED sense.&lt;/p&gt;&#xA;&lt;p&gt;Apparently no Mathematical Review has used the word &amp;quot;cryptic&amp;quot; — in its technical sense — with relation to complexity theory.  However, attention is drawn to Charles H. Bennett's article &amp;quot;&lt;a href=&quot;http://dl.acm.org/citation.cfm?id=57257&quot; rel=&quot;nofollow noreferrer&quot;&gt;Logical Depth and Physical Complexity&lt;/a&gt;&amp;quot; (in &lt;em&gt;The Universal Turing Machine: A Half-Century Survey&lt;/em&gt;, 1988) which contains the passage&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Another kind of complexity associated with an object would be the difficulty,&#xA;given the object, of finding a plausible hypothesis to explain it. Objects&#xA;having this kind of complexity might be called &lt;em&gt;&amp;quot;cryptic&amp;quot;&lt;/em&gt;: to find a&#xA;plausible origin for the object is like solving a cryptogram.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;h3&gt;Considerations of naturality, openness, and difficulty&lt;/h3&gt;&#xA;&lt;p&gt;The naturality of these questions illustrates the thesis of Juris Hartmanis' monograph &lt;em&gt;&lt;a href=&quot;http://books.google.com/books?id=DTMrTZJH1NYC&amp;amp;pg=PA1&quot; rel=&quot;nofollow noreferrer&quot;&gt;Feasible Computations and Provable Complexity Properties&lt;/a&gt;&lt;/em&gt; (1978) that:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&amp;quot;Results about the complexity of algorithms change quite radically if we consider only properties of computations which can be proven formally.&amp;quot;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;The openness and difficulty of these questions are broadly consonant with the conclusion of Lance Fortnow's review &amp;quot;&lt;a href=&quot;http://cacm.acm.org/magazines/2009/9/38904-the-status-of-the-p-versus-np-problem/fulltext&quot; rel=&quot;nofollow noreferrer&quot;&gt;The Status of the P Versus NP Problem&lt;/a&gt;&amp;quot; (2009) that:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&amp;quot;None of us truly understands the P versus NP problem, we have only begun to peel the layers around this increasingly complex question.&amp;quot;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;h3&gt;Wiki guidance&lt;/h3&gt;&#xA;&lt;p&gt;Particularly sought are definitional adjustments and proof strategies specifically relating to the questions &lt;strong&gt;Q1–Q3&lt;/strong&gt; and broadly illuminating the Hartmanis-type conjectures &lt;strong&gt;C1–C2&lt;/strong&gt;.&lt;/p&gt;&#xA;" OwnerUserId="1519" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2013-03-16T16:16:55.420" Title="Does P contain languages whose existence is independent of PA or ZFC? (TCS community wiki)" Tags="&lt;cc.complexity-theory&gt;&lt;polynomial-time&gt;&lt;undecidability&gt;&lt;independence&gt;" AnswerCount="3" CommentCount="14" FavoriteCount="9" CommunityOwnedDate="2012-06-27T12:36:16.740" ContentLicense="CC BY-SA 3.0" />
  <row Id="11692" PostTypeId="1" AcceptedAnswerId="11694" CreationDate="2012-06-11T03:58:29.307" Score="3" ViewCount="317" Body="&lt;p&gt;In connection to this question:&#xA;&lt;a href=&quot;https://cstheory.stackexchange.com/questions/7993/expected-values-of-kolmogorov-complexity-in-a-random-sample&quot;&gt;Expected values of Kolmogorov complexity in a random sample&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $n$ be number of bits. Let $A = \{0,1,2,\dots,2^{n}-1\}$ be indexed by the $n$-bits. Let $ \delta &amp;gt; 0$ be fixed. Is there an estimate of what fraction of integers in $A$ can have Kolmogorov complexity be greater than $\delta n$?&lt;/p&gt;&#xA;" OwnerUserId="5511" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2012-06-12T18:33:45.220" Title="More complex integers" Tags="&lt;cc.complexity-theory&gt;&lt;computability&gt;&lt;kolmogorov-complexity&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="11693" PostTypeId="2" ParentId="11691" CreationDate="2012-06-11T04:38:47.077" Score="8" Body="&lt;p&gt;Q1: $\:$ No&#xA;&lt;br&gt;&#xA;Q2: $\:$ Yes, at-least-two-1s-in-binary&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Lemma: $\:$ Every TM with a computable runtime exponent that is at least 1 is transcendental.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Proof:&lt;br&gt;&#xA;Let A and B be &lt;a href=&quot;http://en.wikipedia.org/wiki/Recursively_inseparable_sets&quot;&gt;recursively inseparable sets&lt;/a&gt;. $\:$ Let $M_0$ be a Turing machine that enumerates A. $\:$ Let $M_1$ be a Turing machine that enumerates B. $\;\;$ For any Turing machine with computable runtime exponent r, when $\langle r_0,r_1,r_2,r_3,...\rangle$ is defined as [if $M_0$ accepts m in exactly s steps then r+(1/t), if $M_1$ accepts m in exactly s steps then r-(1/t), otherwise r], every $r_m$ is non-negative and computable and one always has [if $\:m\in A\:$ then D1's statement is true] and [if $\:m\in B\:$ then D1's statement is false]. $\;\;$ For any Turing machine with computable runtime exponent r, when $\langle r_0,r_1,r_2,r_3,...\rangle$ is defined as above, since A and B are recursively inseparable, there is at least one m for which D1's statement with $r_m$ is neither provable nor refutable. $\:$ Therefore the Turing machine is transcendental.&#xA;&lt;br&gt;&lt;br&gt;&lt;br&gt;&#xA;Definition:&#xA;&lt;br&gt;&#xA;at-least-two-1s-in-binary is the set of non-negative integers whose binary&#xA;&lt;br&gt;&#xA;representation has at least two 1s. $\:$ (bet you never would have guessed ^_^)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Definition:&#xA;&lt;br&gt;&#xA;M is the Turing machine that scans the binary representation of&#xA;&lt;br&gt;&#xA;its input, accepts if it finds at least two 1s, and rejects otherwise.&#xA;&lt;br&gt;&lt;br&gt;&#xA;Obviously, M decides at-least-two-1s-in-binary and has runtime exponent 1, and no other Turing machine with a smaller runtime exponent also decides at-least-two-1s-in-binary.&#xA;&lt;br&gt;&#xA;Trivially, $\: 1\leq 1 \:$ and $1$ is computable. $\;\;$ By the Lemma, M is efficient and transcendental.&#xA;&lt;br&gt;&#xA;These mean at-least-two-1s-in-binary is also transcendental.&#xA;&lt;br&gt;&lt;br&gt;&#xA;Therefore TPCCC is a theorem of PA (and ZFC), and&#xA;&lt;br&gt;&#xA;at-least-two-1s-in-binary is a concrete transcendental language.&#xA;&lt;br&gt;&lt;br&gt;&lt;/p&gt;&#xA;" OwnerDisplayName="user6973" LastActivityDate="2012-06-11T04:38:47.077" CommentCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="11694" PostTypeId="2" ParentId="11692" CreationDate="2012-06-11T10:32:22.160" Score="10" Body="&lt;p&gt;The argument is the same, there are only $1 + 2 + 4 + ... + 2^{\delta n - 1}$ programs shorter than $\delta n$ so there are at least $2^n - (2^{\delta n} - 1)$ integers with $K(x) \geq \delta n$.&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2012-06-11T10:43:19.307" LastActivityDate="2012-06-11T10:43:19.307" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11696" PostTypeId="1" CreationDate="2012-06-11T12:16:01.397" Score="8" ViewCount="1276" Body="&lt;p&gt;I am looking for a solution to the following problem and wonder if anyone could point me to some existing research on this topic. I am coming from a real world application of graph so bear with me if my terminology is not exactly right. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have a database system where user can add/remove/move objects by creating/deleting and altering relationships. As such, I can see the objects as been vertices in a graph and the relationships been edges and edges can be weighted depending on the type of relationships (either composition, association, or aggregation). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;From the user's point of view, adding a new element can be a single click and underneath the hood, the program creates a graph of objects linked by relationships. This graph, is then added to the main graph that defines the entire database. Removing an element, would be the reverse where links/edges are disconnected and the graph becomes two disjoint graphs where 1 is the database, and the other consists of vertices formed by the element and its sub elements.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I need a really quick way to determine when I have a disjoint graphs and when 2 disjoint graphs becomes 1 again. I had a brief look at Holm, de Lichtenberg, and Thorup (&lt;a href=&quot;http://dl.acm.org/citation.cfm?id=502095&quot;&gt;2001&lt;/a&gt;; &lt;a href=&quot;http://www.cs.princeton.edu/courses/archive/fall09/cos521/Handouts/polylogarithmic.pdf&quot;&gt;pdf&lt;/a&gt;). It seems like the way to go, but the author did mention they are only considering a graph with fixed number of vertices. Just wondering do algorithms usually extend themselves to adding/removal of vertices by just performing the adding of edges incrementally? Or has there been works that tailors specifically for such scenario? &lt;/p&gt;&#xA;" OwnerUserId="9696" LastEditorUserId="1037" LastEditDate="2012-06-11T14:56:35.913" LastActivityDate="2013-12-20T01:06:28.687" Title="Determining connectivity for a fully dynamic graph with vertex/subgraph insertion and deletion" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;dynamic-algorithms&gt;" AnswerCount="3" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11697" PostTypeId="1" AcceptedAnswerId="11699" CreationDate="2012-06-11T13:32:21.993" Score="-10" ViewCount="2953" Body="&lt;p&gt;I see some algorithms can do sorting in O(nloglogn) time. Is it reasonable to assume that as research progresses, more and more will be done to logarithm the extra time e.g. next research will produce an algorithm that is O(nlogloglogn) and so on and therefore in the limit sorting could be done in linear time or is there a proof that it can't be done as close to linear time as possible?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What are the charactaristics of a set that a very fast e.g. O(nloglogn) algorithm can sort? Are these fast algorthms as general as quicksort or only for very special sets?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is O(nloglogn) still the fastest (it was the fastest in 2000)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thank you&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;In defense of the question&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;If I have one comparator circuit per element, why would it not be direct i.e. O(1) ?&lt;/p&gt;&#xA;" OwnerUserId="3174" LastEditorUserId="3174" LastEditDate="2013-01-21T00:24:05.827" LastActivityDate="2013-01-21T00:24:05.827" Title="Are sorting algorithms approaching linear time?" Tags="&lt;ds.algorithms&gt;&lt;time-complexity&gt;&lt;sorting&gt;" AnswerCount="2" CommentCount="23" ClosedDate="2013-01-21T02:26:48.810" ContentLicense="CC BY-SA 3.0" />
  <row Id="11698" PostTypeId="2" ParentId="11696" CreationDate="2012-06-11T13:37:36.543" Score="4" Body="&lt;p&gt;This isn't a trivial question at all. One of the problems you'll have finding algorithms for this is the disconnectedness (pun intended) of the work on dynamic graphs. Thorup et al.'s work (the one you mention) is probably the best start for the kind of thing you're looking for.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You could also try &lt;a href=&quot;http://www-lih.univ-lehavre.fr/~guinand/Enseignement/RI2D/References/2003_bhadra-ferreira_complexity_connected_components_evolving_graphs_computation_multicast_trees_dynamic_networks.pdf&quot; rel=&quot;nofollow&quot;&gt;Bhadra &amp;amp; Ferreira&lt;/a&gt;, they're probably getting a bit off-topic for what you want, but they do have references to other material that could be useful.&lt;/p&gt;&#xA;" OwnerUserId="9520" LastActivityDate="2012-06-11T13:37:36.543" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11699" PostTypeId="2" ParentId="11697" CreationDate="2012-06-11T20:04:29.587" Score="9" Body="&lt;p&gt;(&lt;em&gt;Hope the question can be migrated to cs.SE even though I am posting an answer? I am only answering rather than commenting because of the length of what I am writing&lt;/em&gt;)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Ok, let me try to clarify this. Say the model of computation is the C language, and elementary C operations (basic arithmetic, dereferencing a pointer, shifting left and right, etc.) take time 1. The (various flavors) of the RAM machine are abstractions of this &quot;C language model&quot;. You could try to do one of two things:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Implement a function &lt;code&gt;sort&lt;/code&gt; (like C's &lt;code&gt;qsort&lt;/code&gt;) that takes as input an array of pointers to &lt;em&gt;any arbitrary set of $n$ objects&lt;/em&gt; (say $n$ is also part of the input). That is nice because it's very general, i.e. it gives the user/programmer a single function for all his sorting needs. But because &lt;code&gt;sort&lt;/code&gt; does not know apriori what objects it is dealing with, it does not even know when they are sorted. So you need to somehow tell &lt;code&gt;sort&lt;/code&gt; about these objects. The standard way is to pass to &lt;code&gt;sort&lt;/code&gt; a pointer to a &lt;code&gt;compare&lt;/code&gt; function (i.e. &lt;code&gt;compare(obj1, obj2)&lt;/code&gt; returns 1 if obj1 is greater than obj2 in the sorted order, for example). If this will be the design you follow for &lt;code&gt;sort&lt;/code&gt;, then you are in the decision tree model world, and provably &lt;code&gt;sort&lt;/code&gt; will need to call &lt;code&gt;compare&lt;/code&gt; at lest $\Theta(n \log n)$ times. You might try to tell &lt;code&gt;sort&lt;/code&gt; about its set of objects in some other way, but it is not clear what that would be. Also, if your method is general enough to work with arbitrary sets of objects, it will likely hit the $\Theta(n \log n)$ barrier again.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Implement a function &lt;code&gt;sortInteger&lt;/code&gt; that takes an array of say &lt;code&gt;long int&lt;/code&gt;, because you know that you will be sorting integers that fit in a single machine word (i.e. are in the range of &lt;code&gt;long int&lt;/code&gt;). Now you can use the algorithm &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S002200009891580X&quot;&gt;from the paper you referred to&lt;/a&gt; and that algorithm will take $O(n \log \log n)$ time (i.e. make that many elementary C operations). But &lt;code&gt;sortInteger&lt;/code&gt; will &lt;strong&gt;only&lt;/strong&gt; work correctly if it is passed an array of &lt;code&gt;long int&lt;/code&gt;, to be sorted in the natural order (Note: the algorithm will still be correct and run in time $O(n \log \log n)$ if the size of &lt;code&gt;long&lt;/code&gt; grows with the years; in fact that is an implicit assumption for the asymptotic analysis here). Now afaik, it is consistent with current knowledge that there exists some algorithm that you can use for &lt;code&gt;sortInteger&lt;/code&gt; that takes linear time. But keep in mind that computer science has had zero success in showing that any problem takes more than linear time in the &quot;C language model&quot; (aside from some dynamic data structure problems). So do not read too much into &quot;we don't know if $n$ integers that each fit in a single computer word can be sorted in linear time.&quot;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Also, if you are ok with randomized algorithms, there is an &lt;a href=&quot;http://ieeexplore.ieee.org/xpl/articleDetails.jsp?arnumber=1181890&quot;&gt;improvement&lt;/a&gt; by Han and Thorup, who show how to sort $n$ integers that each fit in a single computer word in expected time $O(n \sqrt{\log \log n})$. &lt;/p&gt;&#xA;" OwnerUserId="4896" LastEditorUserId="4896" LastEditDate="2012-06-11T22:14:40.790" LastActivityDate="2012-06-11T22:14:40.790" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11700" PostTypeId="2" ParentId="11697" CreationDate="2012-06-11T21:50:09.143" Score="10" Body="&lt;h3&gt;Comparison sorts cannot be linear&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;It depends what you're sorting and how you're sorting it, but under the most common model, an $O(n\,\log \log n)$ sorting algorithm is &lt;strong&gt;impossible&lt;/strong&gt;. The most common model of sorting is the following, called a &lt;a href=&quot;http://en.wikipedia.org/wiki/Comparison_sort&quot;&gt;comparison sort&lt;/a&gt;:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;The order of element can only be determined by comparing two elements. More precisely, the only possible operations on the input elements take two elements and return a result that depends only on their relative order and not on the rest of the input. Typically, the algorithm can contain &lt;code&gt;if x &amp;lt; y then … else …&lt;/code&gt; where &lt;code&gt;x&lt;/code&gt; and &lt;code&gt;y&lt;/code&gt; are two elements of the input. Variants with &lt;code&gt;if x &amp;lt;= y&lt;/code&gt; or &lt;code&gt;if cmp(x,y) == -1&lt;/code&gt;, etc., are equivalent.&lt;/li&gt;&#xA;&lt;li&gt;Nothing is known beforehand about the input data. In particular, the elements may be all distinct.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;The worst case of a comparison sort is always $\Omega(n\,\log n)$. This is not something that can be improved by further research: it is a mathematical theorem. The sketch of the proof is as follows: given $n$ input elements, there are $n!$ (factorial $n$) permutations of these elements, only one of which is sorted (when the elements are all distinct, which can happen by hypothesis 2). The sorting algorithm must work for all possible permutations of the input, so it must have $n!$ different possible executions. If the algorithm makes at most $k$ comparisons (which by hypothesis 1 is the only way to distinguish between inputs that must be sorted differently), then there are at most $2^k$ possible different executions. Therefore $n! \le 2^k$, i.e. $k \ge \log_2 (n!)$. It is known that $\log_2 (n!) = \Omega(n \log n)$ (it's a consequence of &lt;a href=&quot;http://en.wikipedia.org/wiki/Stirling%27s_approximation&quot;&gt;Stirling's approximation&lt;/a&gt;). Hence $k = \Omega(n \log n)$, i.e. the sorting algorithm must make at least $\Omega(n \log n)$ comparisons in the worst case.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are well-known $O(n \log n)$ sorting algorithms on arrays and lists (heap sort, merge sort). Hence $\Theta(n \log n)$ is the best worst-case bound for a comparison sort on an array or a list.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you look at average-case time complexity, you still can't do better than $\Omega(n \log n)$ if all permutations of the input are equiprobable. On the other hand, if you allow different permutations to have different probabilities, you can get a linear sort on average — with assumptions like “the input is already sorted with probability $1 - 1/n^2$”.&lt;/p&gt;&#xA;&#xA;&lt;h3&gt;Other models of sorting&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;It is possible to have a $O(n\,\log \log n)$ or linear or even better sorting algorithm if you relax the assumptions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you allow very exotic models, such as “wave a magic wand” or “the only valid input is already sorted”, then $O(1)$ is possible. Any model that allows $O(1)$ sorting is not likely to be useful.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you allow “return the smallest input element” as a primitive (which invalidates hypothesis 1), bounded-time operation, then selection sort has a linear running time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If there is a finite bound on the number of distinct input elements, then a linear-time sort is possible. For example, if the input consists only of &lt;code&gt;0&lt;/code&gt;'s and &lt;code&gt;1&lt;/code&gt;'s, then you can put all the &lt;code&gt;0&lt;/code&gt;'s before all the &lt;code&gt;1&lt;/code&gt;'s in linear time. &lt;a href=&quot;http://en.wikipedia.org/wiki/Radix_sort&quot;&gt;Radix sort&lt;/a&gt; generalizes this to input data that are $m$-bit strings: it has a run time of $\Theta(n \, m)$. With a fixed $m$ (i.e. a fixed finite input domain), this is linear in the number of inputs.&lt;/p&gt;&#xA;" OwnerUserId="634" LastActivityDate="2012-06-11T21:50:09.143" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11701" PostTypeId="2" ParentId="11696" CreationDate="2012-06-12T00:36:32.887" Score="1" Body="&lt;p&gt;The Vertex updates can be handled using edge updates as follows (Although a bit&#xA;inefficient as it makes deg(u) calls to edge update function):&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;AddVertex(G,u,Adj(u)):- &#xA;  /* Adj(u) is the vertices adjacent to u after adding u */  &#xA;  For each v in Adj(u) do &#xA;    AddEdge(G, (u,v))&#xA;&#xA;DeleteVertex(G,u):- &#xA;  For each v in Adj(u) do&#xA;    DeleteEdge(G, (u,v)) &#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Thorup et. Al's running time analysis states that their update time is amortised &#xA;time per edge update. So, It doesn't directly imply any poly. logarithmic update&#xA;time result under vertex updates. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are some works where the update operation supports vertex/addition&#xA;deletion as well. In [1] for Dynamic All Pairs Shortest Paths problem, they&#xA;basically allow updating edges incident on a vertex by specifying the new &#xA;weights. We can update them all to +infinity for deleting a vertex and similarly&#xA;for adding a vertex.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You might find the references [2], and [3] helpful if you are just starting with&#xA;dynamic graph algorithms. [2] gives a good high level idea of current &#xA;approaches to dynamic connectivity problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;References&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;A new approach to dynamic All pairs shortest paths, Demetrescu. et. Al, JACM 2004 Voume 51 &#xA;issue 6, 2004&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://www.imsc.res.in/~dsmeet/Dyn-algo-I.pptx&quot; rel=&quot;nofollow&quot;&gt;Slide&lt;/a&gt; of Talk on Dynamic graph Algorithms by Dr. Surender Baswana in &quot;Recent advances in data structures and algorithms&quot; workshop held at IMSc, Chennai. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Camil Demetrescu and Pino Italiano, Dynamic graphs, Handbook on Data Structures and Applications, Chapter 36. Dinesh Mehta and Sartaj Sahni (eds.), CRC Press Series, in Computer and Information Science, January 2005.&lt;a href=&quot;http://www.diku.dk/PATH05/CRC-book1.pdf&quot; rel=&quot;nofollow&quot;&gt; [Draft&lt;/a&gt; (pdf)]&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="288" LastActivityDate="2012-06-12T00:36:32.887" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11702" PostTypeId="2" ParentId="8470" CreationDate="2012-06-12T10:09:05.283" Score="9" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;what are the advantages of octrees in spatial/temporal performance or otherwise, and in what situations are they most applicable (I've heard 3D graphics programming)?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;k-D trees are balanced binary trees and octrees are &lt;a href=&quot;http://en.wikipedia.org/wiki/Trie&quot;&gt;tries&lt;/a&gt; so the advantages and disadvantages are probably inherited from those more general data structures. Specifically:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Rebalancing can be expensive (octrees don't need rebalancing).&lt;/li&gt;&#xA;&lt;li&gt;Balancing handles heterogeneity better because it is adaptive.&lt;/li&gt;&#xA;&lt;li&gt;Higher branching factor in octrees means shallower trees (fewer indirections and allocations) for homogeneous distributions.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Also, bisection (as in octrees) lends itself to trivial implementation in terms of bit-twiddling. Similarly, I imagine octrees can benefit greatly from precomputed distances when doing range lookups.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Apparently my references to tries and homogeneity need clarification.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Trie&quot;&gt;Tries&lt;/a&gt; are a family of data structures represented by trees of dictionaries and are used as dictionaries for keys that are sequences (most notably strings but also DNA sequences and the bits in a hash value for hash tries). If each dictionary maps one bit of each of x, y and z coordinates (most significant bit in the first level of the trie, next significant bit in the second level etc.) then the trie is an octree that uniformly subdivides 3D space. Hence octrees inherit the characteristics of tries which are, in general:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;High branching factor can mean shallow trees that incur few indirections so searching is fast, e.g. 20 levels of binary tree can be stored in 4 levels of a tree with a branching factor of 256.&lt;/li&gt;&#xA;&lt;li&gt;Tries don't get rebalanced during insertions and deletions, saving an expensive operation required for balanced binary trees.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The disadvantage is that heterogeneity can result in imbalanced tries/octrees so searches can require many indirections. The equivalent problem in tries is solved using edge compression to collapse multiple levels of indirection into a single level. Octrees don't do this but there is nothing to stop you from compressing an octree (but I don't think you could call the result an octree!).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For comparison, consider a specialized dictionary for string keys that is represented as a trie. The first level of the trie branches on the first character in the key. The second level on the second character and so on. Any string can be looked up by searching for the first character from the key in the dictionary to obtain a second dictionary that is used to lookup the second character from the key and so on. A set of random key strings would be a &lt;em&gt;homogeneous&lt;/em&gt; distribution. A set of key strings that all share some prefix (e.g. all words beginning with &quot;anti&quot;) are a &lt;em&gt;heterogeneous&lt;/em&gt; distribution. In the latter case, the first dictionary contains only one binding, for &quot;a&quot;, the second only one for &quot;n&quot; and so on. Searching for any mapping in the trie always being by searching the same four dictionaries with the same four keys. This is inefficient and this is what octrees do if, for example, they are used to store heterogeneous particle distributions where the vast majority of particles lie in a tiny volume within the vector space.&lt;/p&gt;&#xA;" OwnerUserId="3550" LastEditorUserId="3550" LastEditDate="2012-06-13T10:38:26.447" LastActivityDate="2012-06-13T10:38:26.447" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="11703" PostTypeId="2" ParentId="4007" CreationDate="2012-06-12T11:09:38.657" Score="2" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;What functional dictionary data structures are important to know about?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Height-balanced binary trees and tries of them are a good all-round compromise. Also:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Patricia trees.&lt;/li&gt;&#xA;&lt;li&gt;Hash tries.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What are the pros and cons of these approaches?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Height-balanced binary trees and tries of them are a good all-round compromise for atomic keys. Tries are the same for keys that are sequences, e.g. string keys.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Patricia trees can be several times faster but only permit integer keys.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hash tries can be several times faster than balanced binary trees, particularly if hashing is cheaper than comparison and polymorphism has an overhead (e.g. strings on .NET) and writing pointers into the heap is fast (e.g. VMs like the JVM and CLR that have been optimized for imperative languages rather than functional languages). Hash tries also permit the internal use of mutation as an optimization.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Red-black trees are less important because they do not have any significant benefits over height-balanced trees but have the significant disadvantage that they do not permit efficient union, intersection and difference.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Similarly, finger trees are not much better in practice.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;When does it make sense to use a more imperative data structure?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;When your dictionary is populated once and then used only for lookups, i.e. frozen.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;When you need performance (a decent hash table like the .NET &lt;code&gt;Dictionary&lt;/code&gt; is typically 10-40&amp;#215; faster than any generic purely functional dictionary).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;When you need a weak dictionary because there is no known purely functional weak dictionary.&lt;/p&gt;&#xA;" OwnerUserId="3550" LastActivityDate="2012-06-12T11:09:38.657" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11704" PostTypeId="2" ParentId="8335" CreationDate="2012-06-12T12:28:38.480" Score="1" Body="&lt;p&gt;I am an AE for Journal of Biopharmaceutical Statistics and Statistics in Biopharmaceutical research.  Both journals aim to review articles within 3 months.  They also provide us with lists of referees with the specialties and past perfirmance with the journal. Links: &lt;a href=&quot;http://www.tandf.co.uk/journals/lbps&quot; rel=&quot;nofollow&quot;&gt;http://www.tandf.co.uk/journals/lbps&lt;/a&gt; and &lt;a href=&quot;http://www.amstat.org/publications/sbr.cfm&quot; rel=&quot;nofollow&quot;&gt;http://www.amstat.org/publications/sbr.cfm&lt;/a&gt;. I think this is becoming commonplace and in the case of SBR it is published electronically only.  So the articles get published more quickly than if they had to go to press.  For conferences the Interface between Computer Science and Statistics meetings may be a good place for members of this site to present papers.  Their proceedings is read quite extensively. The Communications in Statistics journal Simulation and Computation may also have a fast review cycle.  Link: &lt;a href=&quot;http://www.math.mcmaster.ca/bala/comstat/cis_sc_2.html&quot; rel=&quot;nofollow&quot;&gt;http://www.math.mcmaster.ca/bala/comstat/cis_sc_2.html&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="9418" LastEditorUserId="9418" LastEditDate="2012-06-12T14:45:33.600" LastActivityDate="2012-06-12T14:45:33.600" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11705" PostTypeId="2" ParentId="384" CreationDate="2012-06-12T12:32:30.690" Score="5" Body="&lt;p&gt;In graph algorithms, vertices and edges are usually thought of as being plain data but they can actually be productively generalized so that they are programmatically generated on-demand.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;During my PhD (in computational chemistry) I implemented many graph algorithms in higher-order form in order to apply them to the analysis of implicit graphs, mainly because my actual graphs were infinite so I could not afford to store them explicitly! Specifically, I was studying the topology of amorphous materials represented as 3D tilings of unit cells (supercells).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, you can write a function to compute the nth-nearest neighbor shell of an origin vertex &lt;code&gt;i&lt;/code&gt; like this:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;nth i 0 = {i}&#xA;nth i 1 = neighbors i&#xA;nth i n = diff (diff (fold union empty (map neighbors (nth i (n-1)))) (nth i (n-1))) (nth i (n-2))&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;where &lt;code&gt;neighbors&lt;/code&gt; is a function that returns the set of neighboring vertices to the given vertex.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, the 2D square lattice:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;neighbors (x, y) = {(x-1, y), (x+1, y), (x, y-1), (x, y+1)}&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Other interesting algorithms in this context include Franzblau's shortest path ring statistics.&lt;/p&gt;&#xA;" OwnerUserId="3550" LastActivityDate="2012-06-12T12:32:30.690" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="11706" PostTypeId="2" ParentId="5801" CreationDate="2012-06-12T15:00:47.043" Score="4" Body="&lt;p&gt;Of the books mentioned I agree on Brieman's &quot;Probability&quot;, Sheldon Ross' book &quot;A First Course in Probability&quot;  The book &quot;Probability&quot; by Hoel, Port and Stone from their three Volume series.  Most of the other books I either don't know or don't think they are appropriate.  Bayesian statistics is not part of probability theory.  Kai Li Chung's &quot;A Course in Probability Theory&quot; is the one i learned out of along with volume II of Feller's book &quot;An Introduction to Probability Theory and its Applications&quot; are good books that I learned from.  Feller is good for heuristics and interesting problems. Chung is good for the formal mathematics.  Feller and Chung can be difficult to read though, especially for self-study.  Another great writer of probability books is Sid Resnick.  His book &quot;A Probability Path&quot; is delightful to read. Neveu's &quot;Calculus of Probability&quot; was another book that we used in my graduate probability course.&lt;/p&gt;&#xA;" OwnerUserId="9418" LastEditorUserId="9418" LastEditDate="2012-06-12T19:46:26.613" LastActivityDate="2012-06-12T19:46:26.613" CommentCount="0" CommunityOwnedDate="2012-06-12T15:00:47.043" ContentLicense="CC BY-SA 3.0" />
  <row Id="11707" PostTypeId="2" ParentId="11691" CreationDate="2012-06-12T15:15:47.180" Score="27" Body="&lt;p&gt;I think that there is a fundamental underlying difficulty with the question you are asking here (and that you asked in your related question about incomprehensible languages).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Roughly speaking, it seems you're seeking a language $L$ such that&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;$L\in P$ but ZFC doesn't know that $L\in P$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;To understand the difficulties with your question, I think you must first appreciate that there's a fundamental difference between &lt;i&gt;intensional&lt;/i&gt; and &lt;i&gt;extensional&lt;/i&gt; definitions of a language $L$.  Extensionally, $L$ is determined by what words are or are not members of $L$.  That is, two languages $L$ and $L'$ are extensionally equal if and only if they contain exactly the same words as members.  In contrast, an &lt;i&gt;intensional&lt;/i&gt; definition of $L$ describes some &lt;i&gt;conditions&lt;/i&gt; for a word to be in $L$.  A Turing machine that accepts $L$, or a first-order formula $\phi(x)$ that holds if and only if $x\in L$, can be thought of as an intensional definition of $L$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The point is that every $L$ that is (extensionally) in $P$ admits a description that is extremely straightforward, because $P$ is a so-called &quot;syntactic&quot; complexity class.  Namely, just take a &lt;i&gt;polynomially clocked&lt;/i&gt; Turing machine, that terminates in exactly the amount of time desired.  Any &quot;reasonable&quot; system for doing mathematics, such as PA or ZFC, is going to be able to prove that $L\in P$ if you use this straightforward description of $L$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So if you want to confuse ZFC, you're going to have to come up with some (intensional) description of $L$ that is &quot;too complicated&quot; for ZFC to recognize as being equivalent to the straightforward description of $L$.  This is possible, but in some sense it's too easy to be interesting.  All you have to do is to take something that we know that ZFC doesn't understand (e.g., its own consistency) and mix it up with the definition of $L$ somehow.  For example, here's a description of a set of integers:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;$x$ is even and $x$ doesn't encode a proof that ZFC is inconsistent.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Assuming ZFC is consistent, the above formula defines the set of even integers, but ZFC doesn't know it.  With a bit more tinkering, we can easily get a description of the set of even integers that ZFC won't be able to prove is in $P$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The upshot is that if you're hoping that the reason it's hard to prove that $P\ne NP$ is that there are languages in $P$ that are &quot;too complicated&quot; for us to reason about, then I think you're barking up the wrong tree.  Extensionally, every language in $P$ is in $P$ for trivial reasons.  You can muddy the waters by playing around with impossibly opaque descriptions of languages in $P$, but this is a general trick that has nothing to do with $P$ in particular, so I don't think it yields much insight.&lt;/p&gt;&#xA;" OwnerUserId="2970" LastActivityDate="2012-06-12T15:15:47.180" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="11708" PostTypeId="2" ParentId="8335" CreationDate="2012-06-12T16:00:25.913" Score="10" Body="&lt;p&gt;&lt;strong&gt;Edit&lt;/strong&gt;: It's been 2+ years so I'm updating the answer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Every year the Notices of the AMS publishes a list of math journals and their backlogs, turnaround times, etc. Here are some of the previous articles: &lt;a href=&quot;http://www.ams.org/notices/200910/rtx091001316p.pdf&quot; rel=&quot;nofollow&quot;&gt;Nov 2009&lt;/a&gt;, &lt;a href=&quot;http://www.ams.org/notices/201010/rtx101001331p.pdf&quot; rel=&quot;nofollow&quot;&gt;Nov 2010&lt;/a&gt;, &lt;a href=&quot;http://www.ams.org/notices/201110/rtx111001476p.pdf&quot; rel=&quot;nofollow&quot;&gt;Nov 2011&lt;/a&gt;, &lt;a href=&quot;http://www.ams.org/notices/201210/rtx121001473p.pdf&quot; rel=&quot;nofollow&quot;&gt;Nov 2012&lt;/a&gt;, &lt;a href=&quot;http://www.ams.org/notices/201310/rnoti-p1390.pdf&quot; rel=&quot;nofollow&quot;&gt;Nov 2013&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Based on the Nov 2013 article, here are some CS Journals and their median submission to final acceptance times:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Algorithmica (Springer): 7 months&lt;/li&gt;&#xA;&lt;li&gt;Theory of Computing Systems (Springer): 7 months&lt;/li&gt;&#xA;&lt;li&gt;Theory of Computing: 12 months&lt;/li&gt;&#xA;&lt;li&gt;Theoretical Computer Science (Elsevier): 13 months&lt;/li&gt;&#xA;&lt;li&gt;SIAM Journal on Computing: 15.4 months&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="206" LastEditorUserId="206" LastEditDate="2014-07-04T13:57:36.357" LastActivityDate="2014-07-04T13:57:36.357" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11709" PostTypeId="2" ParentId="8470" CreationDate="2012-06-12T20:12:26.833" Score="26" Body="&lt;p&gt;The cells in a $kD$-tree can have high aspect ratio, whereas octree cells are guaranteed to be cubical. Since this is a theory board, I'll give you the theoretical reason why high aspect ratio is a problem: it makes it impossible to use volume bounds to control the number of cells that you have to examine when solving approximate nearest neighbor queries.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In more detail: if you ask for an $\epsilon$-approximate nearest neighbor to a query point $q$, and the actual nearest neighbor is at distance $d$, you typically end up with a search that examines every data structure cell that reaches from the inside to the outside of an annulus or annular shell with inner radius $d$ and outer radius $(1+\epsilon)d$. If the cells have bounded aspect ratio, as they are in a quadtree, then there can be at most $1/\epsilon^{d-1}$ such cells, and you can prove good bounds on the time for the query. If the aspect ratio is not bounded, as in a $kD$-tree, these bounds do not apply.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$kD$-trees have a different advantage over quadtrees, in that they are guaranteed to have at most logarithmic depth, which also contributes to the time for a nearest neighbor query. But  the depth of a quadtree is at most the number of bits of precision of the input which is generally not large, and there are theoretical methods for controlling the depth to be essentially logarithmic (see the skip quadtree data structure).&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2012-06-12T20:12:26.833" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="11710" PostTypeId="1" CreationDate="2012-06-12T20:45:58.040" Score="5" ViewCount="291" Body="&lt;p&gt;Here is a quick algorithmic problem: given a graph $G=(V,E)$ such that for each two distinct nodes $u,v \in V$ there's exactly &lt;em&gt;one&lt;/em&gt; directed edge between them, and a probability $p$, such that each node is available w.p. $p$, find the maximum in-degree node in the induced realized subgraph. The goal is to minimize the expected number of queries, where a query means checking whether a node is available or not. The existence of an edge can be verified only after querying both of its end-points, of course.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, I am interested in proving lower bounds for either adaptive or non-adaptive sublinear time algorithms (as a function of p and n), and the complexity of constructing a policy tree that in each node either makes a query or declares the answer. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any thoughts? Potentially useful directions would be most welcome.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks,&#xA;Joel.&lt;/p&gt;&#xA;" OwnerUserId="7701" LastEditorUserId="7701" LastEditDate="2012-06-12T20:54:12.943" LastActivityDate="2012-06-12T20:54:12.943" Title="Sublinear time algorithm for maximum degree node" Tags="&lt;ds.algorithms&gt;&lt;property-testing&gt;" AnswerCount="0" CommentCount="3" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="11711" PostTypeId="1" AcceptedAnswerId="11716" CreationDate="2012-06-13T09:24:11.673" Score="7" ViewCount="2494" Body="&lt;p&gt;For all words of fixed length L over a given alphabet, I am interested in a practical algorithm that can give me a subset of maximal cardinality such that the Hamming distance between any two words in the subset equals D. &#xA;(The following variation is also of great interest: ... Hamming distance between any two words in the subset is at least D.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a mathematical result about the cardinality of such sets, depending on the alphabet, the length L of the words, and the minimum distance D?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thank you very much.&lt;/p&gt;&#xA;" OwnerUserId="9719" LastEditorUserId="111" LastEditDate="2012-06-14T20:28:33.710" LastActivityDate="2012-10-07T11:40:01.940" Title="Maximum subset of words with Hamming distance ≥ D" Tags="&lt;ds.algorithms&gt;&lt;co.combinatorics&gt;&lt;coding-theory&gt;" AnswerCount="3" CommentCount="8" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="11712" PostTypeId="2" ParentId="5801" CreationDate="2012-06-13T09:37:51.537" Score="12" Body="&lt;p&gt;I think the solution to your problem is not reading a probability book, but reading more papers in TCS.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Most papers in TCS don't actually use very advanced probability tools. Most of them use a small collection of basic and well known probability tricks. The reason you have a hard time following them is that you are not yet familiar with this bag of tricks, and many of those papers don't bother to explain these tricks because they assume the reader knows them. Some of those tricks are not taught in most probability books, at least not in the specific form they are used in TCS papers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another reason is that TCS papers use a slightly different terminology than the one taught in basic probability courses - e.g., in TCS papers a random variable can usually take values in $\{0,1\}^n$, while usually in probability courses random variables are defined as taking real values.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, by reading more TCS papers, you will get more familiar with the bag of common tricks and with the terminology, and and with time they will be easier to understand.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;That said, reading a book on probability is always a good idea. Among the books suggested above, I am only familiar with &quot;Probability and Computing: Randomized Algorithms and Probabilistic Analysis&quot; of Mitzenmacher and Upfal, and it is a very good read - in particular, it will help you get familiar with the some of the terminology and tricks used in TCS.&lt;/p&gt;&#xA;" OwnerUserId="8429" LastActivityDate="2012-06-13T09:37:51.537" CommentCount="2" CommunityOwnedDate="2012-06-13T09:37:51.537" ContentLicense="CC BY-SA 3.0" />
  <row Id="11713" PostTypeId="1" AcceptedAnswerId="11715" CreationDate="2012-06-13T10:43:53.027" Score="11" ViewCount="357" Body="&lt;p&gt;In a &lt;a href=&quot;http://www.cs.umd.edu/~gasarch/BLOGPAPERS/LLspace.pdf&quot;&gt;paper&lt;/a&gt; on relativizing logspace computations, Ladner and Lynch construct an oracle relative to which $\mathsf{NL} \nsubseteq \mathsf{P}$. There are some&#xA;more pathological examples in this vein in the literature. I have been reading some papers on relativized small space classes, and one of the primary tools in this area is the &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/0022000084900667&quot;&gt;Ruzzo-Simon-Tompa&lt;/a&gt;(RST) oracle access mechanism which demands that a non-deterministic space-bounded turing machine act deterministically while making queries to the oracle. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now consider circuit families with oracle gates - say, $A^B$, where $A$ is a circuit complexity class containing logspace with oracle access to another class $B$, via oracle gates appended to the basis of $A$. Are there any pathological examples similar in spirit to the Ladner-Lynch paper, known for such classes? What would be a RST-like restriction necessary for such classes?&#xA;In case there are indeed such examples, am I right in guessing that a RST analogue would be to insist that $A$ be a logspace-uniform circuit family?&lt;/p&gt;&#xA;" OwnerUserId="256" LastEditorUserId="6579" LastEditDate="2018-08-14T10:17:59.420" LastActivityDate="2018-08-14T10:17:59.420" Title="Ruzzo-Simon-Tompa oracle access mechanism" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;circuit-complexity&gt;&lt;oracles&gt;&lt;relativization&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="11714" PostTypeId="2" ParentId="5801" CreationDate="2012-06-13T13:54:27.637" Score="9" Body="&lt;p&gt;Another classic of TCS/Combinatorics oriented probability is Alon and Spencer's &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0470170204&quot;&gt;The Probabilistic Method&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="5835" LastActivityDate="2012-06-13T13:54:27.637" CommentCount="1" CommunityOwnedDate="2012-06-13T13:54:27.637" ContentLicense="CC BY-SA 3.0" />
  <row Id="11715" PostTypeId="2" ParentId="11713" CreationDate="2012-06-13T15:00:26.963" Score="8" Body="&lt;p&gt;A definition of oracle access that works for small circuit complexity classes (the $AC^k$ and $NC^k$ hierarchies) as well as for logarithmic space classes, with the property that all known inclusions relativize, can be found in this paper: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.springerlink.com/content/6646254324g645p7/&quot;&gt;Klaus Aehlig, Stephen Cook and Phuong Nguyen: Relativizing Small Complexity Classes and their Theories, CSL 2007, Springer LNCS 4646&lt;/a&gt; &lt;/p&gt;&#xA;" OwnerUserId="6579" LastActivityDate="2012-06-13T15:00:26.963" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11716" PostTypeId="2" ParentId="11711" CreationDate="2012-06-13T20:59:39.833" Score="13" Body="&lt;p&gt;In coding theory, the quantity you are looking for is called $A_q(n, d)$, where $n$ is the length of vectors, $d$ is the minimum distance between them, and $q$ is the alphabet size (omitted when $q=2$). Characterizing $A_q(n,d)$ is a challenging open problem (with many basic questions remaining unanswered) but various asymptotic and non-asymptotic upper and lower bounds are known. See Chapter 17 of the book &quot;The Theory of Error-Correcting Codes&quot; by MacWilliams and Sloane for a summary of the most important ones.&lt;/p&gt;&#xA;" OwnerUserId="6190" LastActivityDate="2012-06-13T20:59:39.833" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11717" PostTypeId="1" CreationDate="2012-06-14T03:36:21.380" Score="10" ViewCount="255" Body="&lt;p&gt;Let $g\geq 3$. I need to generate simple graphs $G$ of girth $g$ such that the set of all $g$-cycles forms a double edge cover of $G$ (that is, every edge is shared by exactly two $g$-cycles), and such that the intersection of any two $g$-cycles is either a vertex, an edge, or empty. The generated graphs should be arbitrarily large. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The method of generation should have some randomness to it, but not in a trivial sense. I want to be able to obtain fairly complicated graphs. For example, imagine an $n\times m$ rectangular grid in the plane. If we identify the opposite sides of the bounding rectangle, we obtain a graph that satisfies all of the above requirements for $g=4$. I would qualify this graph as simple. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there any such method?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any references to similar problems are also appreciated.&lt;/p&gt;&#xA;" OwnerUserId="5982" LastEditorUserId="-1" LastEditDate="2012-11-11T05:59:45.093" LastActivityDate="2012-11-11T05:59:45.093" Title="Generating graphs of girth $g$ such that the minimum cycles form a double edge cover" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;pseudorandom-generators&gt;" AnswerCount="1" CommentCount="7" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="11718" PostTypeId="1" CreationDate="2012-06-14T04:19:18.927" Score="1" ViewCount="288" Body="&lt;p&gt;Are there necessary and sufficient conditions for a uniform hyper graph to have a perfect fractional matching ? &lt;/p&gt;&#xA;" OwnerUserId="9728" LastEditorUserId="80" LastEditDate="2012-06-14T05:10:38.367" LastActivityDate="2012-06-16T17:07:51.860" Title="Perfect fractional matching of uniform hyper graph" Tags="&lt;co.combinatorics&gt;&lt;matching&gt;" AnswerCount="0" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="11719" PostTypeId="2" ParentId="11717" CreationDate="2012-06-14T20:55:57.747" Score="4" Body="&lt;p&gt;&lt;strong&gt;My half-baked idea was a little too ambitious.&lt;/strong&gt;  I'm including it below for reference, but the distance condition I specified is not actually sufficient to guarantee large girth.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are arbitrarily large highly symmetric surface maps with large girth, but published existence proofs are largely based on group theory rather than topology or geometry per se.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Specifically, for any integers $g$, $d$, and $r$ such that $1/g + 1/d &amp;lt; 1/2$, there is a regular surface map in which every face has $g$ edges, every vertex has degree $d$, and every non-contractible cycle on the surface crosses at least $r$ edges.  Here &quot;regular&quot; means &lt;strong&gt;both&lt;/strong&gt; that every vertex has the same degree &lt;strong&gt;and&lt;/strong&gt; that for any pair of directed edges, there is an automorphism of the embedding that sends directed edge to the other.  Setting $r$ large enough in this construction guarantees that the girth of the graph is $g$.  See, for example:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Roman Nedela and Martin Škoviera.  &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0195669800904414&quot; rel=&quot;nofollow&quot;&gt;Regular maps on surfaces with large planar width.&lt;/a&gt;  &lt;em&gt;European J. Combinatorics&lt;/em&gt; 22(2):243--262, 2001.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Jozef Širáň.  &lt;a href=&quot;http://plms.oxfordjournals.org/content/82/3/513&quot; rel=&quot;nofollow&quot;&gt;Triangle group representations and constructions of regular maps.&lt;/a&gt; &lt;em&gt;Proc. London Math. Soc.&lt;/em&gt; 82(3):513-532, 2001. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Once you have one such surface map, larger maps with the same girth and degree can be generated by constructing covering spaces.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Here is one (half-baked) way to generate such graphs. Let $G$ be a &lt;em&gt;plane&lt;/em&gt; graph with the following properties:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Every bounded face of $G$ has exactly $g$ edges.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The outer face of $G$ has an even number of edges; call these the &lt;em&gt;boundary edges&lt;/em&gt; of $G$.   (This condition holds automatically when $g$ is even; if $g$ is odd, $G$ must have an even number of bounded faces.)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;It is possible to pair the boundary edges of $G$, &lt;strike&gt;so that the distance in $G$ from any boundary edge to its partner is at least $g$.&lt;/strike&gt;  &lt;strong&gt;This condition is not actually enough; the exact condition needed here is unclear.&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Arbitrarily large plane graphs with these properties can be constructed by taking a sufficiently large finite portion of a &lt;a href=&quot;http://en.wikipedia.org/wiki/Uniform_tilings_in_hyperbolic_plane&quot; rel=&quot;nofollow&quot;&gt;regular tiling of the hyperbolic plane by $g$-gons&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, to obtain a surface graph $G'$ where every face has length $g$, identify pairs of boundary edges in $G$ according to the pairing described above.  The bounded faces of $G$ become the faces of a cellular embedding of $G'$ on &lt;em&gt;some&lt;/em&gt; closed surface without boundary.  The distance condition on the pairing guarantees that the girth of $G'$ is $g$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By choosing both $G$ and the pairing more carefully, once can construct arbitrarily large $d$-&lt;em&gt;regular&lt;/em&gt; graphs satisfying your girth condition, for any integers $d$ and $g$ such that $1/d + 1/g &amp;lt; 1/2$.  Even within these constraints, the construction has &lt;em&gt;lots&lt;/em&gt; of degrees of freedom.&lt;/p&gt;&#xA;" OwnerUserId="111" LastEditorUserId="111" LastEditDate="2012-06-15T16:45:29.760" LastActivityDate="2012-06-15T16:45:29.760" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="11721" PostTypeId="2" ParentId="3873" CreationDate="2012-06-15T15:35:55.817" Score="24" Body="&lt;p&gt;I like to give my students Keshav's &quot;How to Read a Paper&quot; (&lt;a href=&quot;http://dl.acm.org/citation.cfm?id=1273445.1273458&amp;amp;coll=DL&amp;amp;dl=GUIDE&quot;&gt;ACM DL&lt;/a&gt;)(&lt;a href=&quot;http://blizzard.cs.uwaterloo.ca/keshav/home/Papers/data/07/paper-reading.pdf&quot;&gt;PDF&lt;/a&gt;). He outlines some pretty effective strategies. In general, I'd say practice makes perfect and you just have be very patient with the process. Try different strategies and just keep reading and re-reading the paper until it makes sense.  If you have to read and re-read one paragraph for 30 minutes, so be it. Treat it as a non-linear process and don't be afraid to stop and start so you can check some formulas or skip around the paper if necessary.  As you get more practice reading the style, reading research papers begins to feel less hard.  When people are new to reading research papers I think they confuse hard for different.  We assume that previous experience reading translates, but research-style writing is, in my opinion, totally different than any of the styles you've previously encountered.  You have to adjust to the style and that takes time and practice.&lt;/p&gt;&#xA;" OwnerUserId="7189" LastEditorUserId="1542" LastEditDate="2014-10-12T04:54:45.093" LastActivityDate="2014-10-12T04:54:45.093" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="11722" PostTypeId="1" CreationDate="2012-06-15T16:15:05.583" Score="27" ViewCount="1419" Body="&lt;p&gt;(Sorry if this is well known.) I would like to give some item to one of $k$ agents, so that agent $j$ will get the item with probability $p_i$. Is there a cryptographic (or other) tool so that every agent (and even every observer) will be able to be convinced that the random drawing was indeed fair?&lt;/p&gt;&#xA;" OwnerUserId="712" LastActivityDate="2014-02-12T14:26:19.460" Title="A lottery that you can be convinced that it is fair" Tags="&lt;cr.crypto-security&gt;" AnswerCount="4" CommentCount="2" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="11723" PostTypeId="2" ParentId="11722" CreationDate="2012-06-15T18:21:07.230" Score="11" Body="&lt;p&gt;&lt;strong&gt;Note: please read the comments below.  This protocol seems to have problems.&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;I don't know much crypto, but perhaps the following would work. Assuming the $p_j$'s are publicly known, all that's needed to determine the winner is to select a random number from [0,1].  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here's the process:&#xA;Each agent selects a random vector in $\{0,1\}^b$, where $b$ is the number of bits of precision that are needed for the process.  Then they all cryptography commit to their vectors using known protocols.  Finally, once all the vectors are committed to, all their vectors are revealed (and checked) and XORed and the result is the random number to be used.  Namely the resulting vector is the binary representation of digits past the decimal point.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any agent can be sure the chosen random number came uniformly at random by choosing his own vector uniformly at random.  For any observer to be convinced, they have to trust that at least one agent followed the protocol, but if none did, I guess nobody really wanted a fair lottery to begin with.&lt;/p&gt;&#xA;" OwnerUserId="123" LastEditorUserId="123" LastEditDate="2013-02-28T15:49:35.697" LastActivityDate="2013-02-28T15:49:35.697" CommentCount="13" ContentLicense="CC BY-SA 3.0" />
  <row Id="11724" PostTypeId="2" ParentId="11722" CreationDate="2012-06-15T18:32:54.080" Score="19" Body="&lt;p&gt;If I am understanding the problem correctly, it would seem to amount to public flipping a $k$-sided coin. There seem to be lots of ways to do this if you assume bit commitment. One example would be having each party generate a random integer between 0 and $k-1$, using bit commitment to publicly commit to that bit string. Then once each agent has committed, they all publicly reveal their secret integer. The winning agent is then the one indexed by the sum of the integers modulo $k$. If even one agent is honest, then the flip must be random.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course one problem with this is that it requires bit commitment. Information theoretic schemes for bit commitment are impossible for both classical and quantum computing (though Adrian Kent recently proposed a scheme exploiting relativity). However, secure bit commitment can be achieved with computational assumptions.&lt;/p&gt;&#xA;" OwnerUserId="204" LastActivityDate="2012-06-15T18:32:54.080" CommentCount="10" ContentLicense="CC BY-SA 3.0" />
  <row Id="11725" PostTypeId="1" AcceptedAnswerId="11745" CreationDate="2012-06-15T19:14:12.507" Score="5" ViewCount="431" Body="&lt;p&gt;Why are standard unitary transforms such as the Fourier and the Hadamard transforms believed to have a multiplicative complexity (number of multiplications) of $O(n^{1+\delta_{m}})$ and an additive complexity of $O(n^{1+\delta_{a}})$ (number of additions) where both $\delta_{m}$ and $\delta_{a}$ cannot be $0$ simultaneously?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Please refer: Section 2.2 Page 15 of &quot;Complexity Lower Bounds Using Linear Algebra&quot;, by Satyanarayana V. Lokam, for candidate matrices conjectured to have an arithmetic complexity (multiplicative + additive complexity)  of $\Omega(n^{1+\delta})$).&lt;/p&gt;&#xA;" OwnerUserId="1812" LastEditorUserId="186" LastEditDate="2012-06-18T17:09:49.580" LastActivityDate="2012-06-18T18:53:48.987" Title="Classical Matrix-Vector multiplication Complexity of standard matrices" Tags="&lt;cc.complexity-theory&gt;&lt;algebraic-complexity&gt;" AnswerCount="1" CommentCount="12" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11726" PostTypeId="2" ParentId="3873" CreationDate="2012-06-15T20:25:32.357" Score="8" Body="&lt;p&gt;Usually the main idea of a paper is simple. However it is often the case that the translation from the simple idea to mathematically rigorous proofs adds quite a bit of minor technical details, which contribute to the difficulty of understanding the paper. If you ask an author to explain their result in person, they are often able to do so pretty efficiently on a black board or even over a quick lunch.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Ideally a paper should explain every mathematical proof in simple and plain English in addition to the formal terms. Alas few researchers put that into practice for several reasons, most notably time constraints and space limitations for the conference version and the fact that our journal papers, if they exist, are typically minor revisions of the conference submission (basically, with the omitted proofs back in the text). There are other factors mentioned by others, for example the unfortunate fact that technically difficult papers look more appealing to some reviewers.&lt;/p&gt;&#xA;" OwnerUserId="6190" LastActivityDate="2012-06-15T20:25:32.357" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11727" PostTypeId="2" ParentId="11722" CreationDate="2012-06-16T02:32:56.027" Score="15" Body="&lt;p&gt;As other users have hinted at, this is a well-studied problem in cryptography. It is called &quot;coin-flipping&quot; and is a special case of multiparty computation. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;What protocol does the job actually depends on the context quite a lot. &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;In the &quot;standalone&quot; setting, the protocol will be run in isolation, without players being involved in other protocols (or indeed, any interaction with the outside world) at the same time. There is a wonderfully thorough treatment of this in Oded Goldreich's textbook &quot;Foundations of Cryptography&quot; (Volume 2, I think).&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Just to give an idea of how subtle it is, the &quot;everybody commits to random values&quot; protocol suggested by another responder is &lt;em&gt;insecure&lt;/em&gt; if the commitment scheme you use is malleable. Nonmalleable commitment schemes do give you a secure protocol, but they are a bit complicated to design. &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;In settings where participants are involved in other concurrent protocols, you want a protocol that is &lt;em&gt;composable&lt;/em&gt;. There are various notions of composability, but the strongest one, called &lt;em&gt;universal composability&lt;/em&gt;, requires some additional set-up assumptions (for example, a PKI or a common random string visible to all parties but controllable by none of them). I don't know of an accessible treatment of this topic, unfortunately. But looking at a recent paper on either universal composability or nonmalleable commitment would be a good place to start. &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="9751" LastActivityDate="2012-06-16T02:32:56.027" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="11729" PostTypeId="1" AcceptedAnswerId="11739" CreationDate="2012-06-16T15:20:51.920" Score="11" ViewCount="477" Body="&lt;p&gt;Given a quantum state $\rho_A$ chosen uniformly at random from a set of $N$ mixed states $\rho_1 ... \rho_N$, what is the maximum average probability of correctly identifying $A$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This problem can be turned into a two state distinguishability problem by considering the problem of distinguishing $\rho_A$ from $\rho_{B} = \frac{1}{N-1}\sum_{i\neq A}\rho_i$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I know for two quantum states the problem has a nice solution in terms of the trace distance between the states when you minimize the maximum probability of error rather than the minimizing the average probability of error, and I was hoping that there might be something similar for this case. It is of course possible to write the probability in terms of an optimization over POVMs, but I am hoping for something where the optimization has already been performed.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I know there is a huge literature on the distinguishability of quantum states, and I've been reading through a lot of papers over the last few days trying to find the answer to this question, but I'm having trouble finding the answer to this particular variation of the problem. I'm hoping someone who knows that literature better can save me some time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Strictly speaking, I don't need the exact probability, a good upper bound would do. However, the difference between any one state and the maximally mixed state is quite small, so the bound would have to be useful in that limit. &lt;/p&gt;&#xA;" OwnerUserId="204" LastActivityDate="2012-06-17T17:31:39.967" Title="Distinguishing between $N$ quantum states" Tags="&lt;quantum-computing&gt;&lt;it.information-theory&gt;&lt;quantum-information&gt;&lt;st.statistics&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="11731" PostTypeId="1" AcceptedAnswerId="11732" CreationDate="2012-06-16T20:22:41.993" Score="7" ViewCount="238" Body="&lt;p&gt;Comparing each pair of elements and sorting according to&#xA;&lt;br&gt;&#xA;[[number less than] minus [number greater than]] is a parallel comparison&#xA;&lt;br&gt;&#xA;sorting algorithm with a depth of $1$ comparison and $O\left(n^2\right)$ total comparisons.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By the &lt;a href=&quot;http://en.wikipedia.org/wiki/Sorting_network#Optimal_sorting&quot;&gt;AKS network&lt;/a&gt;, there is a parallel comparison sorting algorithm with&#xA;&lt;br&gt;&#xA;a depth of $O(\log(n))$ comparisons and $O(n\cdot \log(n))$ total comparisons.&#xA;&lt;br&gt;&lt;br&gt;&lt;br&gt;&#xA;1.&lt;br&gt;&#xA;Are there any parallel comparsion sorts with a depth of&#xA;&lt;br&gt;&#xA;$o(\log(n))$ comparisons and $o\left(n^2\right)$ total comparisons?&#xA;&lt;br&gt;&lt;br&gt;2.&lt;br&gt;&#xA;Are there any parallel comparison sorts with a depth&#xA;&lt;br&gt;&#xA;of $1$ comparison and $O(n\cdot \log(n))$ total comparisons?&#xA;&lt;br&gt;&lt;br&gt;&lt;/p&gt;&#xA;" OwnerDisplayName="user6973" LastEditorUserId="567" LastEditDate="2012-06-16T22:34:42.840" LastActivityDate="2013-02-23T11:38:30.617" Title="Are there [good/optimal] parallel comparison sorts?" Tags="&lt;dc.parallel-comp&gt;&lt;sorting&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11732" PostTypeId="2" ParentId="11731" CreationDate="2012-06-16T22:20:54.183" Score="5" Body="&lt;p&gt;(answering my own question)&#xA;&lt;br&gt;&lt;br&gt;&#xA;1. $\:$ Yes&#xA;&lt;br&gt;&#xA;2. $\:$ No&#xA;&lt;br&gt;&lt;br&gt;&lt;br&gt;&#xA;Reference:&#xA;&lt;br&gt;&lt;br&gt;&#xA;Tight Comparison Bounds On The Complexity Of Parallel Sorting&#xA;&lt;br&gt;&#xA;by Yossi Azar , Uzi Vishkin (1987)&#xA;&lt;br&gt;&#xA;publisher: Courant Institute of Mathematical Sciences, New York University&#xA;&lt;br&gt;&#xA;retrieved from &lt;a href=&quot;http://archive.org/details/tightcomparisonb00azar&quot;&gt;http://archive.org/details/tightcomparisonb00azar&lt;/a&gt; (June 17, 2012)&#xA;&lt;br&gt;&lt;br&gt;&lt;/p&gt;&#xA;" OwnerDisplayName="user6973" LastEditorDisplayName="user6973" LastEditDate="2012-06-17T07:43:49.893" LastActivityDate="2012-06-17T07:43:49.893" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="11734" PostTypeId="2" ParentId="9362" CreationDate="2012-06-17T02:00:15.750" Score="6" Body="&lt;p&gt;In a recent work with Rafael Pass, it is shown that without those extra complexity assumptions of Barak-Ong-Vadhan, noninteractive commitments can not be based on one-way functions in a black-box way. In fact even with these extra assumptions (when formalized as some kind of hitting property assumed in addition to one-way-ness) still a black-box separation holds:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://eprint.iacr.org/2012/523.pdf&quot; rel=&quot;nofollow&quot;&gt;http://eprint.iacr.org/2012/523.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(the construction of Barak-Ong-Vadhan is non-black-box).&lt;/p&gt;&#xA;" OwnerUserId="9759" LastEditorDisplayName="user6973" LastEditDate="2015-05-30T23:44:43.140" LastActivityDate="2015-05-30T23:44:43.140" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11735" PostTypeId="1" CreationDate="2012-06-17T04:38:42.307" Score="7" ViewCount="215" Body="&lt;p&gt;A polyhedral embedding of a graph on a surface is an embedding without edge crossings such that all the faces are bounded by simple cycles, and any two faces share a common vertex, share a common edge, or do not intersect at all.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I need an algorithm that, given a graph, finds a polyhedral embedding if the graph admits it. I have been looking around but haven't found it. I also need to know the time order of the algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Deciding whether a graph admits a polyhedral embedding is NP-complete (proved here: B. Mohar, Existence of polyhedral embeddings of graphs, Combinatorica 21 (2001), 395–401, &lt;a href=&quot;http://www.fmf.uni-lj.si/~mohar/Papers/Fw3npc.pdf&quot;&gt;http://www.fmf.uni-lj.si/~mohar/Papers/Fw3npc.pdf&lt;/a&gt;). I don't expect an efficient algorithm, just something that works.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: I should mention that I am only interested in the combinatorial aspect of this problem. An embedding of a graph can be described by specifying the cyclic orderings of the edges incident on any vertex, and a signature for each edge, which is +1 or -1 according to whether the cyclic orderings of the two vertices on this edge are consistent along this edge. A face-walk is a walk in the graph where at all vertices the next edge is the leftmost edge according to the cyclic ordering on the vertex. A polyhedral embedding is an embedding where all the face-walks are simple cycles. The problem is then to find a circular ordering of edges around each edge and a signature for each edge such that all face-walks are simple cycles.&lt;/p&gt;&#xA;" OwnerUserId="5982" LastEditorUserId="5982" LastEditDate="2012-06-18T01:33:57.163" LastActivityDate="2012-06-18T19:30:51.757" Title="Algorithm to find a polyhedral embedding" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;co.combinatorics&gt;&lt;topological-graph-theory&gt;" AnswerCount="1" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="11736" PostTypeId="1" AcceptedAnswerId="11737" CreationDate="2012-06-17T04:44:43.170" Score="2" ViewCount="79" Body="&lt;p&gt;A polyhedral embedding of a graph on a surface is an embedding without edge crossings such that all the faces are bounded by simple cycles, and any two faces share a common vertex, share a common edge, or do not intersect at all. Moreover, all the faces are disks.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a graph $G$ with a polyhedral embedding on a surface $S$, one can define a dual graph $G'$ embedded in the same surface $S$, by creating a vertex in $G'$ for each face of $G$, and adding an edge between two vertices of $G'$ for each edge that the corresponding two faces in $G$ share.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have a feeling that this will be simple, but I don't know how to prove it, so here it goes anyways. &lt;strong&gt;Question&lt;/strong&gt;: The dual embedding that one obtains for $G'$ is also polyhedral?&lt;/p&gt;&#xA;" OwnerUserId="5982" LastActivityDate="2012-06-17T07:28:09.630" Title="Is the dual of a polyhedral embedding a polyhedral embedding?" Tags="&lt;co.combinatorics&gt;&lt;topological-graph-theory&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11737" PostTypeId="2" ParentId="11736" CreationDate="2012-06-17T05:36:52.703" Score="7" Body="&lt;p&gt;You need to specify that $G$ is a simple graph (else the trigonal &lt;a href=&quot;http://en.wikipedia.org/wiki/Hosohedron&quot;&gt;hosohedron&lt;/a&gt; is a counterexample) but then the answer is yes. What can go wrong? If a dual face is not a simple cycle then one of its edges is repeated, giving a self-loop in the primal, or a vertex but not an edge is repeated, in which case this face and vertex form a configuration of the same type in the primal. If two dual faces meet at more than one edge then there is a multiple adjacency in the primal. If the dual has a self-loop or multiple adjacency then we get a face with a repeated edge or two dual faces meeting at more than one edge in the primal. If two dual faces meet at two vertices but do not share an edge between these two vertices then a configuration of the same type happens in the primal. And if two dual faces meet in an edge and a third vertex then in the primal we have three faces sharing the same two vertices and they can't all three contain the edge connecting these two vertices.&lt;/p&gt;&#xA;" OwnerUserId="95" LastEditorUserId="95" LastEditDate="2012-06-17T07:28:09.630" LastActivityDate="2012-06-17T07:28:09.630" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11738" PostTypeId="1" AcceptedAnswerId="11748" CreationDate="2012-06-17T11:50:51.487" Score="18" ViewCount="761" Body="&lt;p&gt;Let $\mathsf{BPTIME}(f(n))$ be the class of the decision problems having a bounded two-sided error randomized algorithm running in time $O(f(n))$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Do we know of any problem $Q \in \mathsf{P}$ such that $Q \in \mathsf{BPTIME}(n^k)$ but $Q \not \in \mathsf{DTIME}(n^k)$? &#xA;Is its non-existence proven?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This question was asked on cs.SE &lt;a href=&quot;https://cs.stackexchange.com/questions/2362/problems-in-p-with-provably-faster-randomized-algorithms&quot;&gt;here&lt;/a&gt;, but did not get a satisfactory answer.&lt;/p&gt;&#xA;" OwnerUserId="7925" LastEditorUserId="-1" LastEditDate="2017-04-13T12:48:30.830" LastActivityDate="2014-03-08T04:58:06.010" Title="Does randomness buy us anything inside P?" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;randomized-algorithms&gt;&lt;derandomization&gt;" AnswerCount="3" CommentCount="6" FavoriteCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11739" PostTypeId="2" ParentId="11729" CreationDate="2012-06-17T17:31:39.967" Score="10" Body="&lt;p&gt;As you mention, it is possible to determine the optimal average success probability numerically, which can be done efficiently via semidefinite programming (see e.g. &lt;a href=&quot;http://arxiv.org/abs/quant-ph/0205178&quot;&gt;this paper&lt;/a&gt; by Eldar, Megretski and Verghese or &lt;a href=&quot;http://www.cs.uwaterloo.ca/~watrous/quant-info/lecture-notes/20.pdf&quot;&gt;these lecture notes&lt;/a&gt; by John Watrous), but no closed form expression is known.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, there are several known upper and lower bounds on the probability of error (i.e. 1 minus the average success probability). In terms of pairwise fidelities, the probability of error in your setting is known to be &lt;a href=&quot;http://arxiv.org/abs/0711.2012&quot;&gt;lower bounded&lt;/a&gt; by $\frac{1}{N^2} \sum_{i&amp;gt;j} F(\rho_i,\rho_j)$, and &lt;a href=&quot;http://arxiv.org/abs/quant-ph/0004088&quot;&gt;upper bounded&lt;/a&gt; by $\frac{2}{N} \sum_{i&amp;gt;j} F(\rho_i,\rho_j)^{1/2}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is also another &lt;a href=&quot;http://arxiv.org/abs/0707.3970&quot;&gt;lower bound&lt;/a&gt; known in terms of trace distance: $\frac{1}{2}(1 - \frac{1}{N(N-1)} \sum_{i&amp;gt;j} tr|\rho_i-\rho_j|)$, which reduces to the exact Helstrom bound in the case $N=2$. See &lt;a href=&quot;http://arxiv.org/abs/0812.2378&quot;&gt;this paper&lt;/a&gt; for a comparison of all of these, and some other bounds too. Note that all of these bounds hold in the average-case setting where there is a prior probability distribution on the states.&lt;/p&gt;&#xA;" OwnerUserId="447" LastActivityDate="2012-06-17T17:31:39.967" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="11740" PostTypeId="1" AcceptedAnswerId="11742" CreationDate="2012-06-17T18:36:12.100" Score="0" ViewCount="992" Body="&lt;p&gt;My question is rather general, but I have not been able to find a satisfactory answer for quite a long time, and I wonder if there has been a research concerning these issues.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have come over a relatively large number of optimization problems, that can be expressed as a Linear Programming problem, or as an Integer Linear Programming problem. Also decision problems could be expressed as LP or ILP, with a constant objective function (i.e., concerning only (in)feasibility). If a problem can be expressed as LP, then it is certainly in $\mathbf{P}$, since Linear Programming problems can be solved in polynomial time. On the other hand, problems that cannot be expressed as LP, but only as ILP, usually are $\mathbf{NP}$-complete, despite the fact that this is not a valid proof of $\mathbf{NP}$-completeness (there could be a polynomial algorithm not based on LP solving the problem).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So my question is: is there any known relation between the complexity of a problem and it's expressibility in the form of (integer) Linear Programming (except the obvious facts stated in the previous paragraph)? Moreover, I believe that there are inherently nonlinear problems that cannot be expressed in the form of LP nor ILP. Is there some known relation between their complexity and their expressibility in the form of some type of Nonlinear Programming problems? Are there any references dealing with similar problems?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thank you in advance.&lt;/p&gt;&#xA;" OwnerUserId="9762" LastActivityDate="2012-06-17T21:01:57.317" Title="Computational complexity and reductions to linear programming" Tags="&lt;cc.complexity-theory&gt;&lt;linear-programming&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11741" PostTypeId="1" CreationDate="2012-06-17T19:05:39.270" Score="7" ViewCount="262" Body="&lt;p&gt;I am sure the following problem has been studied before, but I did not find any literature about it.&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;Place m points in a simple polygon such that &#xA;the minimum geodesic distance among those points is maximized.&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Does anybody know the name of this problem, or has any references?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Maybe the problem corresponds to a known special case of the facility location problem?&lt;/p&gt;&#xA;" OwnerUserId="9764" LastEditorUserId="9764" LastEditDate="2012-06-17T20:42:16.297" LastActivityDate="2012-06-18T00:25:52.983" Title="Placing points far away from each other in simple polygon" Tags="&lt;reference-request&gt;&lt;cg.comp-geom&gt;" AnswerCount="1" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="11742" PostTypeId="2" ParentId="11740" CreationDate="2012-06-17T21:01:57.317" Score="10" Body="&lt;p&gt;ILP is NP-complete.  This has a few implications to your question.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Moreover, I believe that there are inherently nonlinear problems that cannot be expressed in the form of LP nor ILP.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;As long as you consider problems in NP, no, all problems in NP can be rewritten as ILP in polynomial time.  If you consider problems not in NP, then they cannot be expressed in the form of LP or ILP because both LP and ILP are in NP.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;is there any known relation between the complexity of a problem and it's expressibility in the form of (integer) Linear Programming (except the obvious facts stated in the previous paragraph)?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;This is essentially asking which special cases of ILP can be solved in polynomial time.  One of the fairly large classes of ILP which can be solved in polynomial time is ILP with totally unimodular constraint matrices; see &lt;a href=&quot;http://en.wikipedia.org/wiki/Linear_programming#Integer_unknowns&quot;&gt;Wikipedia&lt;/a&gt;.  But if you want a very general result, it is unlikely that you get anything more than tautological statements such as “the optimization problem is in P if there is a polynomial-time algorithm to solve it.”  Indeed, your question is formally equivalent to asking which problems in NP are in P, and obviously we do not know any necessary and sufficient characterization which is easy to check.&lt;/p&gt;&#xA;" OwnerUserId="567" LastActivityDate="2012-06-17T21:01:57.317" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11743" PostTypeId="2" ParentId="11741" CreationDate="2012-06-18T00:20:45.287" Score="4" Body="&lt;p&gt;This does &lt;em&gt;not&lt;/em&gt; answer your (interesting) question, but it may be worth mentioning that&#xA;this variant (which does not use geodesic distance) has been studied:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thomas Shermer, &quot;Hiding people in polygons,&quot;&#xA;&lt;em&gt;Computing&lt;/em&gt;,&#xA;Volume 42, Numbers 2-3 (1989), 109-131 (&lt;a href=&quot;http://www.springerlink.com/content/p87416004583tr0r/&quot; rel=&quot;nofollow&quot;&gt;Springer link&lt;/a&gt;):&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;A hidden set is a set of points such that no two points in the set are visible to each other. A hidden guard set is a hidden set which is also a guard set. In this paper we consider the problem for finding hidden sets and hidden guard sets in and around polygons. In particular, we establish bounds on the maximum size of hidden sets, and show that the problem of finding a maximum hidden set is NP-hard.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;To more directly address your question, perhaps this is the most natural interpretation for $m=1$:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Pollack, Sharir, Rote, &quot;Computing the Geodesic Center of a Simple Polygon,&quot;&#xA;&lt;em&gt;Discrete Comput. Geom.&lt;/em&gt; &lt;strong&gt;4&lt;/strong&gt;:611-626 (1989):&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;The geodesic center of a simple polygon is a point inside the polygon which minimizes the maximum internal distance to any point in the polygon. We present an algorithm which calculates the geodesic center of a simple polygon with $n$ vertices in time $O(n \log n)$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="337" LastEditorUserId="337" LastEditDate="2012-06-18T00:25:52.983" LastActivityDate="2012-06-18T00:25:52.983" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11744" PostTypeId="2" ParentId="11738" CreationDate="2012-06-18T06:01:05.640" Score="13" Body="&lt;p&gt;&lt;strong&gt;Problem&lt;/strong&gt;: An array $A[1..2n]$ consists of $n$ 1s and $n$ 0s. Find an $i$ such that $A[i]$ is 1. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;You are allowed to query 'Which number is present in $A[i]$'? Each query takes constant time. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Solution&lt;/strong&gt;: &#xA;Randomized Algorithm: Pick a random index $i$ and check if $A[i]$ is 1. Expected number of queries is 2, but any deterministic algorithm must make at least $n$ queries. Therefore, the randomized upper bound is strictly better than the deterministic lower bound in this model.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is an example from query complexity which Tsuyoshi was referring to in the comment. &lt;/p&gt;&#xA;" OwnerUserId="547" LastEditorUserId="547" LastEditDate="2012-06-20T06:17:22.663" LastActivityDate="2012-06-20T06:17:22.663" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="11745" PostTypeId="2" ParentId="11725" CreationDate="2012-06-18T09:19:07.683" Score="3" Body="&lt;p&gt;Essentially, your are asking why people believe that DFT or DHT do not have linear size arithmetic circuits. First, researcher tried to find such circuits for decades but did not succeed. Second, there are superlinear lower bounds (Morgenstern's theorem, see the book by Bürgisser, Clausen, Shokrollahi) in restricted models. From Morgenstern's theorem, in follows that in linear arithmetic circuits of linear size over the complex numbers  for the DFT, the absolute values of the constants used in the circuit go to infinity as $n$ goes to infinity. &lt;/p&gt;&#xA;" OwnerUserId="6456" LastEditorUserId="6456" LastEditDate="2012-06-18T18:53:48.987" LastActivityDate="2012-06-18T18:53:48.987" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="11747" PostTypeId="1" CreationDate="2012-06-18T14:22:10.413" Score="5" ViewCount="311" Body="&lt;p&gt;Given is the language&#xA;$$L_n = \{a^n\},$$&#xA;where $n$ is a natural number and $a$ is a letter. &lt;strong&gt;What are the productions/rules of a minimal context-free grammar according to the number of symbols of the productions (e.g. the number of symbols of the productions $\{ S \rightarrow a, S \rightarrow aS \}$ is 7).&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For $n = 1$ the (only) rule is $\{ S \rightarrow a \}$ and for $n = 2$ we get $\{ S \rightarrow aa \}$, which can be proved easily. The number of symbols are $3$ and $4$, respectively. You may think, that $\{ S \rightarrow a^n \}$ ($2 + n$ Symbols) is always the shortest rule according the number of symbols for $L_n$ but $L_{10} = \{a^{10}\}$ can be constructed by $\{ S \rightarrow A^5, A \rightarrow aa \}$ that has only $11$ symbols (instead of $2 + 10 = 12$). This looks like an optimal compression problem.&lt;/p&gt;&#xA;" OwnerUserId="9435" LastActivityDate="2012-10-21T23:43:04.860" Title="Minimal Number of Symbols in Context-Free Grammar for a Special One-Letter Language" Tags="&lt;cc.complexity-theory&gt;&lt;fl.formal-languages&gt;&lt;context-free&gt;&lt;context-free-languages&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="11748" PostTypeId="2" ParentId="11738" CreationDate="2012-06-18T15:08:19.110" Score="10" Body="&lt;p&gt;Another example is estimating the volume of a polyhedron in high dimensions. There's an unconditional lower bound on deterministic strategies to approximate the volume to even an exponential factor, but there's an FPRAS for the problem. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Update: the relevant paper is (link to &lt;a href=&quot;http://www.math.uiuc.edu/~z-furedi/PUBS/furedi_barany_dcg1987_volume.pdf&quot; rel=&quot;nofollow&quot;&gt;PDF&lt;/a&gt;): &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I. Barany and Z. Furedi. Computing the volume is difficult, &#xA;Discrete and Computational Geometry 2 (1987), 319-326. &lt;/p&gt;&#xA;" OwnerUserId="80" LastEditorUserId="80" LastEditDate="2014-03-08T03:29:27.467" LastActivityDate="2014-03-08T03:29:27.467" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="11749" PostTypeId="2" ParentId="3873" CreationDate="2012-06-18T15:30:35.663" Score="9" Body="&lt;p&gt;The excellent answers so far have left out one reason that I think is critical to both understanding and publishing papers: &lt;em&gt;the reviewers are not really the eventual audience&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A paper's reviewers are generally experts in the sub-field, and experts on the topic if possible. A paper's readership are generally newcomers, or are only passingly familiar with the topic. The reviewers are generally professors. Most readers are graduate students.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This contributes to the unpleasant effects on the clarity of the writing that you've been struggling with.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It also makes publishing a readable paper very difficult. For example, I would &lt;em&gt;love&lt;/em&gt; to include a short, targeted tutorial in every paper I publish because very few readers in my field are familiar with my application area. But my reviewers are usually familiar enough with it that &lt;em&gt;they&lt;/em&gt; don't need a tutorial, and suggest removing it in favor of expanding the results, regardless of how efficient the paper's presentation is. They just feel like something &lt;em&gt;must&lt;/em&gt; be missing if there's room for a tutorial.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;That's just the most obvious effect, though.&lt;/p&gt;&#xA;" OwnerUserId="3644" LastActivityDate="2012-06-18T15:30:35.663" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11751" PostTypeId="2" ParentId="11735" CreationDate="2012-06-18T19:30:51.757" Score="2" Body="&lt;p&gt;Doesn't this give you what you want?  Because you only care about the combinatorics, your problem is to embed a graph in a surface, I gather a surface of genus zero.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Bojan Mohar, &quot;Embedding graphs in an arbitrary surface in linear time,&quot; &lt;em&gt;STOC&lt;/em&gt; 1996 (&lt;a href=&quot;http://dl.acm.org/citation.cfm?id=237986&quot; rel=&quot;nofollow&quot;&gt;ACM link&lt;/a&gt;).&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="337" LastActivityDate="2012-06-18T19:30:51.757" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="11754" PostTypeId="1" CreationDate="2012-06-19T09:13:05.567" Score="9" ViewCount="295" Body="&lt;p&gt;Sorting using 2-elements comparisons has an asymptotic worst-case complexity of $n \log_2(n)$ (reached by mergesort, heapsort, binary insertion, ford-johnson at least), which is optimal.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we sort using comparisons that sort k elements as building blocks, the information theoretic lower bound is $n \log_{k!}(n)$.&#xA;We can easily reach $n \log_k(n)$ with k-ary insertion.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Question: Where is the optimal complexity between $n \log_k(n)$ and $n \log_{k!}(n)$ ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Appropriate refs would be appreciated too.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit : because it wasn't clear :&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm interested about the complexity in $n$, with $k=O(1)$. It has the asymptotic behavior of $\alpha n\log_2(n)$ with $\alpha \in [\frac{1}{\log_2(k)},\frac{1}{\log_2(k!)}]$, and i'd like more precision about $\alpha$.&lt;/p&gt;&#xA;" OwnerUserId="9778" LastEditorUserId="9778" LastEditDate="2012-06-19T12:14:52.183" LastActivityDate="2013-06-09T19:16:54.573" Title="Asymptotic complexity of sorting using k-comparisons" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;sorting&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="11755" PostTypeId="1" AcceptedAnswerId="11776" CreationDate="2012-06-19T10:55:55.183" Score="12" ViewCount="838" Body="&lt;p&gt;What is the relationship between the expressiveness of &lt;a href=&quot;http://en.wikipedia.org/wiki/Linear_temporal_logic&quot; rel=&quot;nofollow&quot;&gt;LTL&lt;/a&gt;, &lt;a href=&quot;http://en.wikipedia.org/wiki/B%C3%BCchi_automaton&quot; rel=&quot;nofollow&quot;&gt;Büchi&lt;/a&gt;/&lt;a href=&quot;http://react.cs.uni-sb.de/teaching/automata-games-verification-11/downloads/s7.pdf&quot; rel=&quot;nofollow&quot;&gt;QPTL&lt;/a&gt;, &lt;a href=&quot;http://en.wikipedia.org/wiki/Computation_tree_logic&quot; rel=&quot;nofollow&quot;&gt;CTL&lt;/a&gt; and &lt;a href=&quot;http://en.wikipedia.org/wiki/CTL%2a&quot; rel=&quot;nofollow&quot;&gt;CTL*&lt;/a&gt;?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can you give some references that cover as many of these temporal logics as possible (especially between linear- and branching-time)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A Venn diagram with those temporal logics and some practical properties as examples would be perfect.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;For instance:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Is it true that there are properties specifiable in Büchi but not in CTL*? Do you have a good example?&lt;/li&gt;&#xA;&lt;li&gt;How about in Büchi and CTL but not in LTL? &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Details: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The expressiveness of the logics is more relevant for me than the examples. The latter is just helpful for understanding and motivation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I already know of the expressibility theorem between CTL* and LTL from &lt;a href=&quot;http://www.springerlink.com/content/5n2702u432119wx8/?MUD=MP&quot; rel=&quot;nofollow&quot;&gt;[Clarke and Draghicescu, 1988]&lt;/a&gt;, but do not like the usual example of fairness being in CTL and not in LTL since there are a plethora of fairness variants, some of which are expressible in LTL.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strike&gt;&#xA;I also do not like the usual example of the evenness Büchi-property, given, e.g., in &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0019995883800515&quot; rel=&quot;nofollow&quot;&gt;[Wolper83]&lt;/a&gt; about the restrictions of LTL, since adding another propositional variable would solve the problem ($even(p) \equiv q \wedge \Box ( q \implies X \neg q ) \wedge \Box ( \neg q \implies X q ) \wedge \Box ( q \implies p )$).&lt;/strike&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I do like the example of the evenness Büchi-property, given, e.g., in &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0019995883800515&quot; rel=&quot;nofollow&quot;&gt;[Wolper83]&lt;/a&gt; about the restrictions of LTL, since it is simple and shows the necessity of PQTL for evenness (thanks for the note below).&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Update:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think the expressibility theorem between CTL* and LTL from &lt;a href=&quot;http://www.springerlink.com/content/5n2702u432119wx8/?MUD=MP&quot; rel=&quot;nofollow&quot;&gt;[Clarke and Draghicescu, 1988]&lt;/a&gt; can be lifted to Büchi automata, resulting in: &lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;Let $\phi$ be a CTL* state formula. &#xA;Then $\phi$ is expressible via Büchi automaton &#xA;         iff $\phi$ is equivalent to $A\phi^d$.&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;With this, Büchi $\cap$ CTL* = LTL, answering my questions above:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Is it true that there are properties specifiable in Büchi but not in CTL*? &lt;code&gt;Yes, e.g. evenness.&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;How about in Büchi and CTL but not in LTL? &lt;code&gt;No.&lt;/code&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Has anyone lifted Clarke and Draghicescu's theorem already to Büchi automata, or stated a similar theorem? Or is this too trivial to be mentioned in a paper, since CTL*'s path quantifiers are obviously &quot;orthogonal&quot; to the criteria on accepted paths states by Büchi automata?&lt;/p&gt;&#xA;" OwnerUserId="6424" LastEditorUserId="4155" LastEditDate="2013-01-18T06:49:07.927" LastActivityDate="2013-01-18T06:49:07.927" Title="Expressiveness of Büchi vs CTL(*)" Tags="&lt;lo.logic&gt;&lt;automata-theory&gt;&lt;model-checking&gt;&lt;temporal-logic&gt;" AnswerCount="2" CommentCount="5" FavoriteCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="11756" PostTypeId="1" AcceptedAnswerId="11760" CreationDate="2012-06-19T11:03:21.637" Score="5" ViewCount="371" Body="&lt;p&gt;A graph $G=(V,E)$ is a chordal graph, if it does not contain an induced&#xA;cycle of length at least four. We say a graph $H$ is a chordalization of graph&#xA;$G$, if $H$ contains $G$ as a subgraph, and $H$ is chordal. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$Q_1$: Find &lt;em&gt;minimum number&lt;/em&gt; of edges whose addition to a given graph makes the graph a chordal graph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;According to &lt;a href=&quot;http://www.cse.cuhk.edu.hk/~lcai/papers/graph-modify.pdf&quot; rel=&quot;nofollow&quot;&gt;this&lt;/a&gt;, $Q_1$ is NP-hard.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$Q_2$: Find a chordalization that does not introduce new $K_4$? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is the complexity of $Q_2$? Is $Q_2$ harder than $Q_1$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;{&#xA;Remark: After Florent comment, I changed $Q_1$ from the following: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$Q_1$ in first version of my post: What is the complexity of giving an arbitrary chordalization of input graph?&#xA;}&lt;/p&gt;&#xA;" OwnerUserId="4222" LastEditorUserId="4222" LastEditDate="2012-06-19T15:33:17.330" LastActivityDate="2012-06-19T17:23:22.077" Title="What is the complexity of chordalization?" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="11757" PostTypeId="2" ParentId="11754" CreationDate="2012-06-19T11:18:58.163" Score="3" Body="&lt;p&gt;First, lets bring those into what I think is the right form to look at.&#xA;&lt;br&gt;&lt;br&gt;&lt;br&gt;&#xA;$\Theta\left(n\cdot \log_k(n)\right) \: = \: \Theta\left(n\cdot \frac{\log_2(n)}{\log_2(k)}\right) \: = \: \Theta\left(\frac{n\cdot \log_2(n)}{\log_2(k)}\right)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;and&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\Theta\left(n\cdot \log_{k!}(n)\right) \: = \: \Theta\left(n\cdot \frac{\log_2(n)}{\log_2(k!)}\right) \: = \: \Theta\left(\frac{n\cdot \log_2(n)}{k\cdot \log_2(k)}\right)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;br&gt;&lt;br&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Observe that a $k$-ary comparison suffices for $\: \left\lfloor \frac{k}2 \right\rfloor \:$ simultaneous (binary) comparisons.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For $\: 2\leq k \:$, $\:$ $\;\; \left\lfloor \frac{k}2 \right\rfloor \: \in \: \Theta(k) \;\;$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By the &lt;a href=&quot;http://en.wikipedia.org/wiki/Sorting_network#Optimal_sorting&quot; rel=&quot;nofollow&quot;&gt;AKS network&lt;/a&gt;, for $\: 2\leq k\leq O(n) \:$, $\:$ $O\left(\frac{n\cdot \log_2(n)}k\right)$ $k$-ary comparisons are sufficient to sort.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;When $\: n\leq k \:$, $\:$ $1 \:\: k$-ary comparison is sufficient to sort. $\quad$ $1\in O\left(\frac{n\cdot \log_2(n)}k\right)$&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Therefore, for $\: 2\leq k \:$, $\:$ $O\left(\frac{n\cdot \log_2(n)}k\right)$ $k$-ary comparisons are sufficient to sort.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;br&gt;&#xA;$5$ $k$-ary comparisons suffice for a $\: \left(4\cdot \left\lfloor \frac{k}2 \right\rfloor \right)$-ary $\:$ comparison.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For $\: 4\leq k \:$, $\:$ $5\:\:k$-ary comparisons suffice for a $\: \left(\frac32 \cdot k\right)$-ary $\:$ comparison.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For $\: 2\leq k\leq n \:$, $\:$ $\log_{\frac32}\left(\frac{n}k\right) = \frac{\log_2\left(\frac{n}k\right)}{\log_2\left(\frac32\right)} \:$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For $\: 2\leq k\leq n \:$, $\:$ $5^{\left\lceil \frac{\log_2\left(\frac{n}k\right)}{\log_2\left(\frac32\right)} \right\rceil}$ $k$-ary comparisons are sufficient to sort.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For $\: 2\leq n \:$, $\:$ at least one $k$-ary comparison is necessary to sort.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Therefore, for $\: 2\leq k\leq n \:$ and $\: \frac{n}k \in O(1) \:$, $\:$ sorting takes exactly $\Theta(1)$ $k$-ary comparisons.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;br&gt;&#xA;I suspect one could refine the second of my two&#xA;&lt;br&gt;&#xA;conclusions to show that your lower bound is achieved.&#xA;&lt;br&gt;&lt;br&gt;&lt;/p&gt;&#xA;" OwnerDisplayName="user6973" LastActivityDate="2012-06-19T11:18:58.163" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="11758" PostTypeId="2" ParentId="11756" CreationDate="2012-06-19T11:34:10.577" Score="4" Body="&lt;p&gt;One characterization of chordal graphs is that they have a so-called elimination ordering: You always find a simplicial vertex (i.e., neighbors form a clique) and upon deletion of it you again have a chordal graph. This gives an ordering such that the neighbors with higher number must form a clique.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now to get a chordal graph, fix any vertex ordering in G and vertex by vertex make the neighborhood a clique and delete the vertex. The set of introduced edges will make $G$ chordal (also called a fill-in). Thus, your first question is efficiently solvable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finding the minimum fill-in (minimum number of edges to make a graph chordal) is NP-complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the second one, I'm not so sure. First of all, it should be easy to construct graphs $G$ where no chordalization without new $K_4$ is possible. In fact, if you have a biclique (two independent sets with all possible edges between them) then you have to make one side a clique. Furthermore, the treewidth of $G$ is the minimum clique size minus one over all chordalizations $H$ of $G$. The Treewidth problem is NP-complete. Finding graphs $H$ that have essentially the same cliques as $G$ therefore seems hard. Hence, my guess(!) is that this is NP-hard to find if it exists.&lt;/p&gt;&#xA;" OwnerUserId="5063" LastEditorUserId="4222" LastEditDate="2012-06-19T13:21:00.657" LastActivityDate="2012-06-19T13:21:00.657" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11759" PostTypeId="1" AcceptedAnswerId="11786" CreationDate="2012-06-19T15:08:41.010" Score="5" ViewCount="1968" Body="&lt;p&gt;Is it possible to modify the computation of &lt;a href=&quot;http://en.wikipedia.org/wiki/Damerau%E2%80%93Levenshtein_distance&quot; rel=&quot;nofollow&quot;&gt;Damerau–Levenshtein distance&lt;/a&gt; to take into account not only the transposition of &lt;strong&gt;adjacent&lt;/strong&gt; characters, but the transposition of &lt;strong&gt;any&lt;/strong&gt; characters?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Maybe some heuristic would help?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;update&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I will identify the application.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have two sequences of characters. An &quot;Old&quot; one and a &quot;New&quot; one. I need to compute editorial prescription (is it a correct English term?) as a series of actions that could be applied to an &quot;Old&quot; sequence to make it equal to a &quot;New&quot; one.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are not more than 10-20 characters in a sequence in most cases, thus O(n) is not so important.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The important part is... characters in that &quot;Old&quot; sequence have some metadata assigned to each other. That's why transposition is more welcome than remove/insert when it's possible.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My goal is to make an &quot;Old&quot; sequence equal to a &quot;New&quot; one preserving that metadata as much as possible.&lt;/p&gt;&#xA;" OwnerUserId="9779" LastEditorUserId="9779" LastEditDate="2012-06-22T14:43:45.387" LastActivityDate="2012-06-23T11:18:43.403" Title="Transposition of any characters in Damerau–Levenshtein edit distance computation" Tags="&lt;co.combinatorics&gt;&lt;it.information-theory&gt;&lt;coding-theory&gt;" AnswerCount="2" CommentCount="5" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11760" PostTypeId="2" ParentId="11756" CreationDate="2012-06-19T17:23:22.077" Score="9" Body="&lt;p&gt;If the graph doesn't already have any K4, then Q2 is the same as asking for whether the graph has treewidth at most two. This is easy to check in linear time: it's true iff every biconnected component is series-parallel.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2012-06-19T17:23:22.077" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11765" PostTypeId="2" ParentId="11382" CreationDate="2012-06-20T12:09:02.480" Score="4" Body="&lt;p&gt;Looking at the world using category theory goggles is called &lt;a href=&quot;http://en.wikipedia.org/wiki/Categorification&quot; rel=&quot;nofollow&quot;&gt;categorification&lt;/a&gt;.  Sometimes it produces really nice and surprising results.  Physicists have begun to say that thinking of a group as a one-element gropoid makes a really &lt;a href=&quot;http://unapologetic.wordpress.com/2007/06/09/groupoids-and-more-group-actions/&quot; rel=&quot;nofollow&quot;&gt;big difference&lt;/a&gt;.  I am beginning to realize that thinking of a monoid as a one-element category simplifies a lot of things too.  (For instance, a monoid action is then a functor into &lt;strong&gt;Set&lt;/strong&gt;. Such things form cartesian-closed categories and toposes.  So, they have a lambda calculus and an intuitionistic logic too!)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You want to categorify regular languages.  I don't know whether it has been done, or done and found to be uninteresting.  I haven't seen anything written about it.  However, the algebraic structure of regular languages, Kleene algebras, is sufficiently interesting.  There is a vast amount of literature on them.  But, in my opinion, the theory of regular languages and finite automata suffers from a premature commitment to finiteness.  (Finite groups are interesting and important, but you don't want the definition of &quot;group&quot; to commit to finiteness at the outset.)  So, it would be useful to throw out finiteness and study the structures more generally.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The most interesting work going on at the moment is related to structures called &lt;strong&gt;locality bimonoids&lt;/strong&gt; defined by Hoare.  Concurrent Kleene algebras have been found to be &lt;a href=&quot;http://www.springerlink.com/content/6x76827105u6t8n2/&quot; rel=&quot;nofollow&quot;&gt;an instance of them&lt;/a&gt;.  &lt;a href=&quot;http://www.springerlink.com/index/P426725Q333268H8.pdf&quot; rel=&quot;nofollow&quot;&gt;Locality bimonoids and concurrency&lt;/a&gt; is an active research direction.&lt;/p&gt;&#xA;" OwnerUserId="8519" LastActivityDate="2012-06-20T12:09:02.480" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11766" PostTypeId="1" CreationDate="2012-06-20T13:12:44.777" Score="9" ViewCount="333" Body="&lt;p&gt;I've asked this problem in &lt;a href=&quot;https://mathoverflow.net/questions/86884&quot;&gt;MathOverflow&lt;/a&gt;, without any satisfactory answer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider the following two-player game, which is a simplification of the card game called &lt;a href=&quot;http://en.wikipedia.org/wiki/Winner_%28card_game%29&quot; rel=&quot;nofollow noreferrer&quot;&gt;Winner&lt;/a&gt;.  (The following formulation was taken from a comment by Guillaume Brunerie on MathOverflow.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are two players A and B. Each player has a set of cards (a subset of $\{1,\dots,n\}$), visible from both players. The aim of the game is to get rid of its own cards. The first player plays any card on the table, then the other player must play a (strictly) bigger card, and so on until one of the players cannot play or decides to pass. Then the cards on the table are discarded, and the other player start again by playing any card (which will be followed by a bigger card). And so on until one of the two players run out of cards and win the game.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I want to know the best strategy for the players (if he can win).&lt;/p&gt;&#xA;&#xA;&lt;h3&gt;Formal definition&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;Denote by $w(i,A,B)$ the configuration of the game where the set of the first player's cards is $A$, the set of the second player's cards is $B$, and the largest card on the table is $i$, where $i=0$ means that there is no card on the table.  I would like an algorithm to compute, given $i,A,B$, whether the first player has a winning strategy in configuration $w(i,A,B)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Formally, I would like an algorithm to compute the function $f$ defined as follows:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $\mathbb{Z}_n = \left\{1, 2, \cdots, n\right\}$, $\mathrm{Bool} = \left\{\mathrm{False}, \mathrm{True}\right\}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Function $f:\;\left\{ 0, 1, \cdots, n \right\} \times 2^{\mathbb{Z}_n} \times 2^{\mathbb{Z}_n} \to \mathrm{Bool}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where&#xA;$$  f ( i, A, B ) = \begin{cases}&#xA;        \mathrm{False} &amp;amp; B = \emptyset \\&#xA;        \mathrm{True} &amp;amp; B \ne \emptyset \land \exists j \in A: j &amp;gt; i, f(j, B, A - \left\{j\right\}) = \mathrm{False} \\&#xA;        \mathrm{True} &amp;amp; B \ne \emptyset \land f(0, B, A) = \mathrm{False} \\&#xA;        \mathrm{False} &amp;amp; \textrm{otherwise}&#xA;    \end{cases}&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;h3&gt;Wrong strategies&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;Here are some wrong strategies:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Always play the smallest card. Let $n = 3, A = \{1,3\}, B = \{2\}$, the winning strategy for player A in configuration $w(0, A, B)$ is to play card $3$. If player A plays card 1, he will lose.&lt;/li&gt;&#xA;&lt;li&gt;Play the smallest card unless the other player has only one card.&#xA;It is a stronger strategy than strategy 1, but it is also wrong.&#xA;Only think about configuration $w(0, \{1, 4, 6, 7\}, \{2, 3, 5, 8\})$. If player A uses strategy 2, he'll lose: $1\rightarrow2\rightarrow4\rightarrow5\rightarrow6\rightarrow8\rightarrow\textrm{pass}\rightarrow3$, thus player A lose.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="8138" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2012-06-24T02:30:53.173" Title="A simplified version of card game Winner" Tags="&lt;gt.game-theory&gt;&lt;card-games&gt;" AnswerCount="1" CommentCount="11" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="11768" PostTypeId="1" CreationDate="2012-06-20T18:01:30.063" Score="6" ViewCount="339" Body="&lt;p&gt;In &quot;On The Complexity of Numerical Analysis&quot; (SIAM J. Comp. Vol. 38, 2009), Allender et al. introduce the problem of PosSLP and show that its complexity lies in the counting hierarchy, and more precisely in&#xA;$P^{\mathit{PP}^{\mathit{PP}^{\mathit{PP}}}}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have a problem, call it $X$, that I have shown can be solved in&#xA;$\mathit{NP}^{\mathit{PosSLP}}$. Can I correctly conclude that $X$ lies in &#xA;$\mathit{NP}^{\mathit{PP}^{\mathit{PP}^{\mathit{PP}}}}$? &lt;/p&gt;&#xA;" OwnerUserId="9802" LastActivityDate="2012-06-21T11:05:06.320" Title="Oracle complexity of a problem in the Counting Hierarchy" Tags="&lt;cc.complexity-theory&gt;&lt;counting-complexity&gt;&lt;oracles&gt;&lt;computing-over-reals&gt;" AnswerCount="2" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="11769" PostTypeId="2" ParentId="8093" CreationDate="2012-06-20T19:28:36.260" Score="12" Body="&lt;p&gt;You can easily check this in linear time, since a graph has edge&#xA;connectivity at least $n/2$ if and only if its minimum degree is at&#xA;least $n/2$. You already argued for the “only if” part. Consider now a&#xA;graph where every vertex has degree at least $n/2$ and a cut that&#xA;divides the graph into two vertex sets $X$ and $\bar X$ with $x := |X|&#xA;\leq n/2$. A vertex in $X$ can have at most $x - 1$ connections to&#xA;other vertices in $X$, and thus must contribute at least $n/2 - (x -&#xA;1)$ edges to the cut. Thus, the cut must have size at least $x (n/2 -&#xA;x + 1)$. It remains to show that $x (n/2 - x + 1) \geq n/2$, which is&#xA;true since $(x - 1)(n/2 - x) \geq 0$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Strangely enough, the only reference I find to this result is &lt;a href=&quot;http://dx.doi.org/10.1109/ICBBE.2008.127&quot;&gt;this&lt;/a&gt; from a bioinformatics conference. I'd be really curious to see whether it has been proven somewhere else.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit:&lt;/strong&gt; An earlier reference is: Gary Chartrand: &lt;a href=&quot;http://dx.doi.org/10.1137/0114065&quot;&gt;A Graph-Theoretic Approach to a Communications Problem&lt;/a&gt;, SIAM J. Appl. Math. 14-4 (1966), pp. 778-781.&lt;/p&gt;&#xA;" OwnerUserId="251" LastEditorUserId="251" LastEditDate="2012-06-21T08:48:02.283" LastActivityDate="2012-06-21T08:48:02.283" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11770" PostTypeId="1" AcceptedAnswerId="11771" CreationDate="2012-06-21T06:27:07.607" Score="-3" ViewCount="336" Body="&lt;p&gt;For example, for the $k$-center problem we want to prove that a 2-approximation algorithm is optimal.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A proof is presented on page 39 (Theorem 2.4) in &lt;a href=&quot;http://www.designofapproxalgs.com/book.pdf&quot; rel=&quot;nofollow&quot;&gt;Williamson and Shmoys, The Design of Approximation Algorithms&lt;/a&gt;. In the proof, by taking dominating set problem we get a special case of $k$-center problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I don't get the part from here.&lt;/p&gt;&#xA;" OwnerUserId="7355" LastEditorUserId="186" LastEditDate="2012-06-21T21:38:51.030" LastActivityDate="2012-06-21T21:38:51.030" Title="What is meant by &quot;if there exists a $\rho$-approximation algorithm with $\rho &lt; 2$, then P = NP&quot;?" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;&lt;approximation-algorithms&gt;&lt;approximation-hardness&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11771" PostTypeId="2" ParentId="11770" CreationDate="2012-06-21T08:46:56.047" Score="1" Body="&lt;p&gt;Here's the same proof in other words. The idea is that if we had a $(2-\epsilon)$-approximation algorithm with $\epsilon &amp;gt; 0$, we could decide whether or not there is a dominating set of size $k$. In other words, we want to show that there is no $(2-\epsilon)$-approximation algorithm with $\epsilon &amp;gt; 0$ for $k$-center unless $\mathsf{P} = \mathsf{NP}$. Recall that the dominating set problem is indeed $\mathsf{NP}$-complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $G = (V,E)$ with integer $k$ be an instance of the dominating set problem. Let us then define a complete graph $G'$ such that the distance between adjacent vertices is 1 while nonadjacent vertices have a distance of 2. $G'$ satisfies the triangle inequality as well.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose $G$ has a dominating set of size at most $k$. Then, $G'$ has a $k$-center cost of 1. Now, a $(2-\epsilon)$-approximation algorithm gives us a solution with cost $&amp;lt; 2$. If there is no such dominating set in $G$, every $k$-center has cost $\geq 2 &amp;gt; 2-\epsilon$. Thus, a $(2-\epsilon)$-approximation algorithm for the $k$-center problem can decide whether or not there is a dominating set of size $k$.&lt;/p&gt;&#xA;" OwnerUserId="5693" LastEditorUserId="5693" LastEditDate="2012-06-21T12:33:25.393" LastActivityDate="2012-06-21T12:33:25.393" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="11772" PostTypeId="1" AcceptedAnswerId="11782" CreationDate="2012-06-21T08:52:49.027" Score="13" ViewCount="405" Body="&lt;p&gt;I have a question concerning low-degree polynomials and probability:&#xA;What is the (assyptotic behavior of the) probability that a &#xA;random* polynomial, $p$, over GF(2), with degree $\le d$ and n variables&#xA;has $bias(p) \triangleq |\Pr_{x\in\{0,1\}^n}(p(x)=0)-\Pr_{x\in\{0,1\}^n}(p(x)=1)| \gt \epsilon$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;*When I'm writing random polynomial with degree $\le d$ and n variables, you can think of each monomials of total degree $\le d$ picked with probability 1/2.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The only relevant thing I know is a variant of Schwartz-Zippel that states that if the polynomial is nonconstant then its bias is at most $1-2^{1-d}$. Hence, for $\epsilon=1-2^{1-d}$ the probaiblity is exactly $1/{2^{{n \choose 1}+\ldots+{n \choose d}}}$ where this is the probability that $p$ is a constant. Unfortunately, this $\epsilon$ is quite big.&lt;/p&gt;&#xA;" OwnerUserId="9811" LastEditorUserId="9811" LastEditDate="2013-01-24T09:00:23.260" LastActivityDate="2013-01-24T09:00:23.260" Title="What's the bias of random polynomials with low degree over GF(2)?" Tags="&lt;randomness&gt;&lt;pr.probability&gt;&lt;algebra&gt;&lt;polynomials&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="11773" PostTypeId="2" ParentId="11768" CreationDate="2012-06-21T09:07:56.567" Score="-2" Body="&lt;p&gt;Let's take this step by step, so we are not confused by that small tower of oracles.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$X \in NP^{PosSLP}$. Since $PosSLP \in P^{PP^{PP^{PP}}}$, we derive that $X \in NP^{P^{PP^{PP^{PP}}}}$. We want to prove that $X \in NP^{PP^{PP^{PP}}}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since $NP \subseteq NP^{P}$ and due to oracle properties, adding the power of the same oracles to both hands of the relation preserves it. Therefore we have:&#xA;$NP^{PP^{PP^{PP}}} \subseteq NP^{P^{PP^{PP^{PP}}}}$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;So yes, the problem is in $NP^{P^{PP^{PP^{PP}}}}$.&lt;/p&gt;&#xA;" OwnerUserId="879" LastActivityDate="2012-06-21T09:07:56.567" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11774" PostTypeId="2" ParentId="11768" CreationDate="2012-06-21T11:05:06.320" Score="5" Body="&lt;p&gt;Yes. Each time your $\sf NP$ machine want to query the $\sf PosSLP$ oracle, simply simulate the polynomial time oracle Turing machine underlying the inclusion $\sf PosSLP \subseteq {P}^{{PP}^{PP^{PP}}}$, passing its oracle queries to the $\sf {PP}^{PP^{PP}}$ oracle.&lt;/p&gt;&#xA;" OwnerUserId="313" LastActivityDate="2012-06-21T11:05:06.320" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11775" PostTypeId="2" ParentId="11755" CreationDate="2012-06-21T12:49:41.620" Score="3" Body="&lt;p&gt;I'm not answering the full question but only part of it (I have no interest in branching time).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Your definition of $\mathit{even}$ would better read $\mathit{even}(p) \equiv \exists q.(q \land \Box ( q \leftrightarrow \mathsf{X} \lnot q ) \land \Box ( q \rightarrow p ))$.  You are introducing $q$ only to remember if you are on an odd or even position, but this $q$ information is not on your system so it should not be a free variable of your formula (otherwise your system and your formula are defined on different alphabets).  Such a formula is an Existentially-Quantified LTL formula (EQLTL for short).  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;EQLTL formula can only have $\exists$ quantifiers at the top-level.  And they are as expressive as Büchi automata.  For instance to translate&#xA;the EQLTL formula $\exists q.(q \land \Box ( q \leftrightarrow \mathsf{X} \lnot q ) \land \Box ( q \rightarrow p ))$ as a Büchi automaton, you would simply translate the LTL formula $q \land \Box ( q \leftrightarrow \mathsf{X} \lnot q ) \land \Box ( q \rightarrow p )$, and then erase the $q$ variable from everywhere in the automaton.   Conversely any Büchi automaton can be converted into an EQLTL formula easily: declare an existential variables for all the states $\exists s_1.\exists s_2\ldots$, and use these to encode transitions and acceptance states (e.g. $\exists s_1.\exists s_2.(s_1\land\Box(s_1\rightarrow a\land \mathsf{X}s_2)\land\Box(s_2)\rightarrow b\land\mathsf{X}(s_1))\land\Box\Diamond s_2\land\Box(\bigwedge_i (s_i\rightarrow\bigwedge_{j\ne i}\neg s_j)))$ if $s_1$ can go to $s_2$ with $a$, $s_2$ can go to $s_1$ with $b$, and $s_2$ is Büchi-accepting; the last conjunction of implications make sure you cannot be in two states at once).  You might want to read &lt;a href=&quot;http://homepages.inf.ed.ac.uk/kousha/stut_eqltl_vac.ps&quot; rel=&quot;nofollow&quot;&gt;Stutter-Invariant Languages, ω-Automata, and Temporal-Logic&lt;/a&gt; on this subject.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Basically the $\exists q$ is used here like some second-order quantifier (there exist a set of states where $q$ hold and such that...).  EQLTL and Büchi automata are equalivent to S1S, and LTL is equalivent to F1S.  $even$ is the typical S1S formula that cannot be expressed by F1S.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;QPTL, which you mentioned, adds $\exists$, $\forall$ (not only at the top-level), and past operators.  It contains EQLTL but is not more expressive (since QPTL can be converted to Büchi automata and Büchi automata can be converted to EQLTL).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;CTL is about branching time, so it's a different world.  A CTL formula like $\mathsf{EF}\mathsf{AG}p$ which is reasoning on the tree of all possible futures have now equivalent in LTL which is reasoning on all possible scenarios.&lt;/p&gt;&#xA;" OwnerUserId="4068" LastEditorUserId="4068" LastEditDate="2012-06-26T17:00:19.470" LastActivityDate="2012-06-26T17:00:19.470" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="11776" PostTypeId="2" ParentId="11755" CreationDate="2012-06-21T13:11:42.540" Score="3" Body="&lt;p&gt;One thing we have to be clear on is the kind of property we are talking about: CTL and CTL* are branching-time logics, used to talk about tree languages, whereas LTL is a linear-time logic, which per se talks about words, but can be applied to trees by requiring all branches to satisfy the formula. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This already gives you a hint for some CTL properties which LTL cannot express, namely ones which mix universal and existential path quantifiers, like AGEFp (&quot;It will always be possible to get to a p-state&quot;). The usual example in the other direction is FGa, see for example &lt;a href=&quot;http://blob.inf.ed.ac.uk/mlcsb/files/2010/02/mlcsb7.pdf&quot; rel=&quot;nofollow&quot;&gt;http://blob.inf.ed.ac.uk/mlcsb/files/2010/02/mlcsb7.pdf&lt;/a&gt; for details (and a Venn diagram).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Regarding automata, things get more complicated. You could be talking about word or tree automata; if the latter, note that Büchi automata are less expressive than the other acceptance conditions (Rabin/parity/...) in this case. See for example &lt;a href=&quot;http://www.cs.rice.edu/~vardi/papers/lics96r1.ps.gz&quot; rel=&quot;nofollow&quot;&gt;http://www.cs.rice.edu/~vardi/papers/lics96r1.ps.gz&lt;/a&gt; for comparisons (including the case of derived languages, which are the tree languages recognizable by word automata).&lt;/p&gt;&#xA;" OwnerUserId="5183" LastActivityDate="2012-06-21T13:11:42.540" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11779" PostTypeId="2" ParentId="11772" CreationDate="2012-06-21T18:04:56.753" Score="5" Body="&lt;p&gt;Your question is equivalent to tail bounds on the weight distribution of Reed-Muller codes. Understanding weight distribution of Reed-Muller codes is an old and challenging question in coding theory, and several interesting results are known about it (the weight distribution is completely understood only for $d=1$ and $d=2$). As a great starting point, see &quot;Weight Distribution and List-Decoding Size of Reed-Muller Codes&quot; by Tali Kaufman, Shachar Lovett, Ely Porat, and the references therein.&lt;/p&gt;&#xA;" OwnerUserId="6190" LastEditorUserId="6190" LastEditDate="2012-06-21T18:23:52.143" LastActivityDate="2012-06-21T18:23:52.143" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11781" PostTypeId="2" ParentId="11759" CreationDate="2012-06-22T00:18:53.427" Score="-1" Body="&lt;p&gt;I agree to user834 comment - this seems like exacly this kind of problem. It is not simplified because after each swap we can perform another and another ... so in each step of the algorithm we have O(n^2) possible swaps. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It would be helpful if you could identify the application of this question - perhaps the question itself is ill-posed. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would also appreciate if you could elaborate on the cost-metric you would like to use for swaps other than adjectant - would it still be = 1?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you a sure that this is exactly what you want I could propose a following metaheuristic based on local search (&lt;a href=&quot;http://www.google.pl/url?sa=t&amp;amp;rct=j&amp;amp;q=&amp;amp;esrc=s&amp;amp;source=web&amp;amp;cd=2&amp;amp;ved=0CFQQFjAB&amp;amp;url=http://cs.gmu.edu/~sean/book/metaheuristics/Essentials.pdf&amp;amp;ei=mLbjT4zTFo-e-Qbaz7iTCg&amp;amp;usg=AFQjCNGA7zwoYBsB2X7GHl9FDl7RkbK4Yg&amp;amp;sig2=tdfEzqbCsUCBOoSugX2jvg&quot; rel=&quot;nofollow&quot;&gt;An accessible publication about local search and other metaheurestics&lt;/a&gt;):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Define following: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;neighbourhood (possible move) | size:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;swap | O(n^2)&lt;/li&gt;&#xA;&lt;li&gt;letter change | O(n*alphabethSize)&lt;/li&gt;&#xA;&lt;li&gt;delete        | O(n)&lt;/li&gt;&#xA;&lt;li&gt;insert        | O(n*alphabethSize)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Steps:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Try each move and evaluate the D-L distance of the new sequence to target sequence.&lt;/li&gt;&#xA;&lt;li&gt;Chose best move.&lt;/li&gt;&#xA;&lt;li&gt;Go back to 1.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Stop if you have the target sequence or there are no more moves that get you closer to it (local minimum).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Possible execution optimisations:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;don't consider letters that are not in target seqence&lt;/li&gt;&#xA;&lt;li&gt;candidate moves (see the .pdf)&lt;/li&gt;&#xA;&lt;li&gt;you could use the greedy version of local search - choose the first move that betters the distance to target sequence (much faster but more likely to produce worse results). Also remember to evaluate the moves in random order in this version.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Optimality guarantee: &lt;strong&gt;none&lt;/strong&gt; this is a heurestic. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Guys please justify downvoting if you can.&lt;/strong&gt;&lt;/p&gt;&#xA;" OwnerUserId="9826" LastEditorUserId="9826" LastEditDate="2012-06-22T10:42:20.113" LastActivityDate="2012-06-22T10:42:20.113" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11782" PostTypeId="2" ParentId="11772" CreationDate="2012-06-22T10:50:52.390" Score="5" Body="&lt;p&gt;The paper &quot;Random low-degree polynomials are hard to approximate&quot; by Ben-Eliezer, Hod, and Lovett answers your question. They show strong bounds on the correlation of random polynomials of degree $d$ with polynomials of degree at most $d-1$, by analyzing the bias of random polynomials. See their Lemma 2: the bias of a random degree-$d$ polynomial (up to some $d$ that is linear in $n$) is at most $2^{-\Omega(n / d)}$, except with probability $2^{-\Omega\Big(\binom{n}{\le d}\Big)}$.&lt;/p&gt;&#xA;" OwnerUserId="2874" LastActivityDate="2012-06-22T10:50:52.390" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11783" PostTypeId="1" CreationDate="2012-06-22T15:56:28.853" Score="0" ViewCount="283" Body="&lt;p&gt;Consider a set of trees $T=\{T_{\alpha}\}$, and for any $T_{\alpha}\in T$, $T_{\alpha}$ has $n$ nodes. Can we find a ‘characteristic’ function $f:T\longmapsto{\mathbb{R}}$ describing trees' topological feature? That is to say, $T_{\alpha}\simeq T_{\beta}$ only and if only $f(T_{\alpha})=f(T_{\beta})$, and if $T_{\alpha}$ is more similar to $T_{\gamma}$ than $T_{\beta}$ is, then $|f(T_{\alpha})-f(T_{\gamma})|&amp;lt;|f(T_{\beta})-f(T_{\gamma})|$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It seems that $f$ is a topological invariant of $T$ and this is a very natural thought. I'm not much familiar with graph theory and I'm wondering if someone has considered this problem before. There are two aspects about this problem, one is such $f$ exists, and another is how to calculate $f$， or what the algorithm is.&lt;/p&gt;&#xA;" OwnerUserId="9841" LastEditorUserId="-1" LastEditDate="2012-11-11T05:59:39.837" LastActivityDate="2012-11-11T05:59:39.837" Title="Is there a characteristic function of a tree?" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;tree&gt;&lt;topology&gt;" AnswerCount="1" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="11784" PostTypeId="1" AcceptedAnswerId="11851" CreationDate="2012-06-22T16:12:07.487" Score="7" ViewCount="1076" Body="&lt;p&gt;This question &lt;a href=&quot;https://cstheory.stackexchange.com/questions/82/where-and-how-did-computers-help-prove-a-theorem&quot;&gt;Where and how did computers help prove a theorem?&lt;/a&gt; considers some automated theorem proving successes.&lt;br&gt;&#xA;However they seem to be mostly &lt;em&gt;supervised&lt;/em&gt; approaches, such as with the 4 color graph theorem, the researcher did/does the hard conceptual, non-automatable work of narrowing the conjecture to a finite (but large) set of computer-checkable cases.&lt;br&gt;&#xA;Also, in other cases/examples the computer may have found an &quot;infinite&quot; type proof but have been obtained largely by the researcher closely intervening/guiding the overall theorem proving process.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there any significant examples of what could be called &lt;em&gt;unsupervised&lt;/em&gt; theorem proving successes?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This would generally come in two forms:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;only the theorem statement/conjecture, which refers to infinite cases, is given to the computer and the computer manages to find it (ie prove it) without any human intervention/assistance.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;the computer searches all theorems and lists &quot;interesting&quot; ones based on some algorithmic criteria/rating, and later after browsing through the list, the researcher recognizes &quot;mathematically significant&quot; proof(s) that are standard or can be found in the literature.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;&lt;sup&gt;(Note: I have some possible example(s) of the above &amp;amp; depending on response may answer with them.)&lt;/sup&gt;&lt;/p&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2014-10-19T15:04:45.117" Title="Automated theorem proving via unsupervised approaches" Tags="&lt;reference-request&gt;&lt;lo.logic&gt;&lt;proof-complexity&gt;&lt;automated-theorem-proving&gt;" AnswerCount="2" CommentCount="8" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="11785" PostTypeId="1" CreationDate="2012-06-22T18:27:03.007" Score="5" ViewCount="134" Body="&lt;p&gt;The $\mathsf{P}$-complete problems can be considered &quot;inherently sequential&quot;. $\mathsf{P}$-completeness may be defined using either $\mathsf{NC}$ reductions or $\mathsf{L}$ reductions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since $\mathsf{L}\subseteq\mathsf{NL}\subseteq\mathsf{NC^2}\subseteq\mathsf{NC}\subseteq\mathsf{P}$, an $\mathsf{NC}$ reduction should be at least as powerful as an $\mathsf{L}$ reduction. What separations or equivalences are known between these two types of reductions?&lt;/p&gt;&#xA;" OwnerUserId="4193" LastActivityDate="2012-06-22T18:27:03.007" Title="What is the relationship between $\mathsf{L}$ reductions and $\mathsf{NC}$ reductions?" Tags="&lt;cc.complexity-theory&gt;&lt;dc.parallel-comp&gt;&lt;reductions&gt;" AnswerCount="0" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11786" PostTypeId="2" ParentId="11759" CreationDate="2012-06-22T18:27:54.473" Score="2" Body="&lt;p&gt;Thanks for updating the question - here goes an answer tailored to your application:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since we are dealing with realatively small instances we could define an optimal algorithm based on a backtracking branch and bound schema (&lt;a href=&quot;http://www.google.pl/url?sa=t&amp;amp;rct=j&amp;amp;q=&amp;amp;esrc=s&amp;amp;source=web&amp;amp;cd=2&amp;amp;ved=0CF8QFjAB&amp;amp;url=http://www.academic.marist.edu/~jzbv/algorithms/StudentProjects/BacktrackingandBandB.ppt&amp;amp;ei=ObXkT9rqI83ntQaStbz5CA&amp;amp;usg=AFQjCNHJFlUnnQjUemvLCbg5FL0QWzFdPw&amp;amp;sig2=R783eQNjhJQ-hMS-SeHyDg&quot; rel=&quot;nofollow&quot;&gt;Presentation on B&amp;amp;B - easy&lt;/a&gt;, &lt;a href=&quot;http://www.win.tue.nl/~mdberg/Onderwijs/Algoritmiek_Material/backtracking.pdf&quot; rel=&quot;nofollow&quot;&gt;Something more thorough with common application&lt;/a&gt;) by constructing a &quot;path&quot; of permutations with following assuptions:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;We want to promote swaps to preserve metadata - cost = 1&lt;/li&gt;&#xA;&lt;li&gt;We want to penilize other operations but allow them if nessesary - cost = 2&lt;/li&gt;&#xA;&lt;li&gt;Dissalow &quot;stupid&quot; moves ex. Inserting a letter that's not in the target sequence&lt;/li&gt;&#xA;&lt;li&gt;Innitial Upper Bound = Levensthein (plain version not the Damerau extension) x 2 (because of the costs)&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Lower Bound current path cost + how many letters (disregard positions) do not match in current and target sequences Example:&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;i have ABCCDD&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;i want CCWGZDD&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;the cost added to current path is (1 (W) + 1 (G) + 1 (Z) + 2 (D)) = 5&#xA;(probably there is room for a better Lower Bound but it's usually non-trivial to come up with one)&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Each time you get to target sequence and path cost is lower than Upper Bound - update it and backtrack.&lt;/li&gt;&#xA;&lt;li&gt;Each time your Lower Bound exeeds Upper Bound - backtrack &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Please google backtracking algorithms and branch and bound for more information. Should you like the solution but have no idea how to go about implementing it please let me know (PW) I'll try to cook-up some pseudocode for you.   &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The algorithm in worst case is exponential but on real istances should perform very well.&lt;/p&gt;&#xA;" OwnerUserId="9826" LastEditorUserId="9826" LastEditDate="2012-06-23T11:18:43.403" LastActivityDate="2012-06-23T11:18:43.403" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11787" PostTypeId="1" AcceptedAnswerId="11813" CreationDate="2012-06-23T03:24:18.223" Score="4" ViewCount="1140" Body="&lt;p&gt;I'm building an application for Android devices that requires it to recognize, by accelerometer data, the difference between walking noise and double tapping it. I'm trying to solve this problem using Neural Networks.&lt;/p&gt;&#xA;&lt;p&gt;At the start it went pretty well, teaching it to recognize the taps from noise such as standing up/ sitting down and walking around at a slower pace. But when it came to normal walking it never seemed to learn even though I fed it with a large proportion of noise data.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;My question&lt;/strong&gt;: Are there any serious flaws in my approach? Is the problem based on lack of data?&lt;/p&gt;&#xA;&lt;h3&gt;The network&lt;/h3&gt;&#xA;&lt;p&gt;I've choosen a 25 input 1 output multi-layer perceptron, which I am training with backpropagation. The input is the changes in acceleration every 20ms and output ranges from -1 (for no-tap) to 1 (for tap). I've tried pretty much every constallation of hidden inputs there are, but had most luck with 3 - 10.&lt;/p&gt;&#xA;&lt;p&gt;I'm using Neuroph's easyNeurons for the training and exporting to Java.&lt;/p&gt;&#xA;&lt;h3&gt;The data&lt;/h3&gt;&#xA;&lt;p&gt;My total training data is about 50 pieces double taps and about 3k noise. But I've also tried to train it with proportional amounts of noise to double taps.&lt;/p&gt;&#xA;&lt;p&gt;The data looks like this (ranges from +10 to -10):&lt;/p&gt;&#xA;&lt;p&gt;Sitting double taps: &lt;a href=&quot;https://i.stack.imgur.com/a7PDT.png&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://i.stack.imgur.com/a7PDT.png&lt;/a&gt;&lt;/p&gt;&#xA;&lt;hr /&gt;&#xA;&lt;p&gt;Fast walking: &lt;a href=&quot;https://i.stack.imgur.com/ljRwp.png&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://i.stack.imgur.com/ljRwp.png&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;So to reiterate my questions: Are there any serious flaws in my approach here? Do I need more data for it to recognize the difference between walking and double tapping? Any other tips?&lt;/p&gt;&#xA;" OwnerUserId="9847" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2012-06-24T18:47:30.787" Title="Neural Networks to classify accelerometer double taps" Tags="&lt;machine-learning&gt;&lt;ne.neural-evol&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11788" PostTypeId="2" ParentId="11783" CreationDate="2012-06-23T10:01:09.610" Score="4" Body="&lt;p&gt;First, Yixin Cao's comment that similarity is problem-specific is &lt;em&gt;entirely correct&lt;/em&gt;. It doesn't make sense to talk about trees being similar or not, without having an idea of what you are trying to compute. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;That caveat aside, it is indeed very common to equip trees with metrics. One of the most common is to equip them with an ultrametric, where we define a distance function on trees:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$d(t_1, t_2) = 2^{-n}$$ &lt;/p&gt;&#xA;&#xA;&lt;p&gt;where $n$ is the first level at which the branching structure of $t_1$ and $t_2$  differ. This is a generalization of the Cantor metric for sequences, where two strings have a distance of $2^-n$ where $n$ is the first position at which they differ. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The intuition behind this is a temporal one -- we think of a sequence as representing a series of events, and we want to say that two series are more similar the longer we have to wait to distinguish them. When we move from sequences to trees, it's a bit like moving from a linear model of time to a branching model of time. Trees with this kind of ultrametric are, IIRC, used a lot in phylogenetics, where they are called dendrograms, and used to work out possible lineages for species. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another important metric on sequences is the Levenshtein distance, or edit distance. This measures the number of edits you have to make to change one string into another one. Generalizing this to trees gives you what is unsurprisingly called a &quot;tree edit distance&quot;. Here's a survey by Phillip Bille on tree edit distances:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0304397505000174&quot; rel=&quot;nofollow&quot;&gt;A survey on tree edit distance and related problems&lt;/a&gt;, Philip Bille. &lt;em&gt;Theoretical Computer Science&lt;/em&gt;, 2004. &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;These tree edit distances are used for problems like detecting plagiarism in student source code, or diff algorithms for HTML and XML. &lt;/p&gt;&#xA;" OwnerUserId="657" LastActivityDate="2012-06-23T10:01:09.610" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="11789" PostTypeId="1" CreationDate="2012-06-23T12:50:01.540" Score="2" ViewCount="144" Body="&lt;p&gt;In page 3 of &lt;a href=&quot;http://ilpubs.stanford.edu:8090/422/1/1999-66.pdf&quot; rel=&quot;nofollow&quot;&gt;PageRank&lt;/a&gt; paper is mentioned: &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;let c be a factor used for normalization&#xA;  (so that the total rank of all web pages is constant).&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;What is the use of &lt;code&gt;c&lt;/code&gt; and how can its value be computed?&lt;/p&gt;&#xA;" OwnerUserId="9850" LastEditorUserId="9850" LastEditDate="2012-11-11T09:29:37.173" LastActivityDate="2012-11-11T09:29:37.173" Title="c factor in PageRank" Tags="&lt;co.combinatorics&gt;&lt;graph-algorithms&gt;&lt;ni.networking-internet&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11790" PostTypeId="2" ParentId="11789" CreationDate="2012-06-23T14:10:13.170" Score="5" Body="&lt;p&gt;The point of such a factor in general is that you want to be able to calibrate the scores you get, by forcing them to be within a specific range like $[0,1]$. In particular, this factor would be computed (in principle) by getting the rank of all pages and then dividing by their sum. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2012-06-23T14:10:13.170" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11791" PostTypeId="1" AcceptedAnswerId="11806" CreationDate="2012-06-23T14:35:47.290" Score="13" ViewCount="1541" Body="&lt;p&gt;To celebrate Alan Turing 100th birthday, I want to watch a documentary about his life.  However, there are several documentaries to choose from.&lt;/p&gt;&#xA;&lt;h3&gt;Which documentary about Alan Turing is your favorite?&lt;/h3&gt;&#xA;&lt;p&gt;Please include only one documentary per answer.&lt;/p&gt;&#xA;" OwnerUserId="3964" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2014-11-19T00:47:47.367" Title="Alan Turing Documentaries" Tags="&lt;reference-request&gt;&lt;soft-question&gt;&lt;big-list&gt;&lt;ho.history-overview&gt;" AnswerCount="4" CommentCount="3" FavoriteCount="2" CommunityOwnedDate="2012-06-24T03:09:59.497" ContentLicense="CC BY-SA 3.0" />
  <row Id="11792" PostTypeId="1" CreationDate="2012-06-23T15:27:53.167" Score="-5" ViewCount="1257" Body="&lt;p&gt;I tried to research the following question with no results: Can you find one example where the following holds true:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let  L = {xxxxxxx} be a deterministic-context-free Language and Let h(...) = xxxxx be a Homomorphism.&#xA;Then the Homomorphism on that language L h(L) ist NOT a deterministic-CFG anymore.&lt;/p&gt;&#xA;" OwnerUserId="8375" LastEditorUserId="5385" LastEditDate="2012-06-24T19:36:28.140" LastActivityDate="2012-12-30T18:41:30.850" Title="Deterministic CFL closure Property Homomorphism" Tags="&lt;reference-request&gt;&lt;fl.formal-languages&gt;&lt;context-free-languages&gt;" AnswerCount="2" CommentCount="13" ClosedDate="2012-12-06T07:55:19.110" ContentLicense="CC BY-SA 3.0" />
  <row Id="11794" PostTypeId="1" CreationDate="2012-06-23T19:49:26.987" Score="10" ViewCount="1256" Body="&lt;p&gt;In celebration of Alan Turing's birthday, Google published a &lt;a href=&quot;http://en.wikipedia.org/wiki/List_of_Google_Doodles_in_2012#June_23&quot; rel=&quot;nofollow noreferrer&quot;&gt;doodle&lt;/a&gt; showing a machine. What kind of machine is the doodle? Can it express a Turing Complete&#xA;language?  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are obvious differences to the classical turing machine: a finite tape, constraints in how state can be connected,...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The doodle is still be available &lt;a href=&quot;http://www.google.com/doodles/alan-turings-100th-birthday&quot; rel=&quot;nofollow noreferrer&quot;&gt;here&lt;/a&gt;&#xA;&lt;img src=&quot;https://i.stack.imgur.com/1UeTz.png&quot; alt=&quot;Screenshot of the doodle&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(The display on the top right shows the expected output.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The  tape in the middle is divided into squares that can hold a blank, a zero or a one. The head is positioned above one of the squares and is used for reading and writing.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Below the tape you can see a green arrow which you can click on to start the machine. There are two lines of circles next to it, some of which are connected. I will call them &quot;states&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;After the machine starts, the first state to the right of the green button lights up, then the next one to the right, and so on... Each state contains one of the following commands:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;blank = do nothing (just move to the next state)&lt;/li&gt;&#xA;&lt;li&gt;1 = write a one to the tape at the current position of the head&lt;/li&gt;&#xA;&lt;li&gt;0 = write a zero to the tape at the current position of the head&lt;/li&gt;&#xA;&lt;li&gt;arrow to the left = move the head one step to the left&lt;/li&gt;&#xA;&lt;li&gt;arrow to the right = move the head one step to the right&lt;/li&gt;&#xA;&lt;li&gt;condition: if the value under the head is equal to the value shown in the square go down to the second line of states. if not, move to the next state to the right&lt;/li&gt;&#xA;&lt;li&gt;left jump: return to a (fixed) previous state but only on the upper row [I originally forgot that one, thanks  @Marzio!]&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;There is no way to &quot;overlap&quot; two jumps (one over another). &#xA;The machine stops when there it leaves a state and there is no next state to the right of it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(After the machine stops the contents of the tape are compared to the contents of the display, but I don't consider that to be part of the intended functionality of the machine.)&lt;/p&gt;&#xA;" OwnerUserId="9854" LastEditorUserId="9854" LastEditDate="2012-06-26T04:12:32.047" LastActivityDate="2012-06-28T01:03:01.433" Title="What type of automaton is Google's Turing Doodle?" Tags="&lt;cc.complexity-theory&gt;&lt;turing-machines&gt;" AnswerCount="3" CommentCount="10" FavoriteCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="11796" PostTypeId="2" ParentId="11766" CreationDate="2012-06-24T02:30:53.173" Score="4" Body="&lt;p&gt;This should probably be a comment, but it's too long. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A related game was studied by Jeff Kahn, Jeff Lagarias and Hans Witsenhausen, in the series of articles &lt;em&gt;Single-Suit Two-Person Card Play I, II, III,&lt;/em&gt; and &lt;em&gt;On Laskar's Card Game.&lt;/em&gt; In the game they studied, each player has $n$ cards, dealt from $2n$ cards numbered $1$ $\ldots$ $2n$. Each trick consists of two cards, the higher card wins the trick, and the winner leads. The object is to take the most tricks. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;They proved a number of interesting facts about the optimal strategy, but were unable to find an efficient algorithm for optimal play, and were also unable to prove that it was NP-hard. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the &lt;em&gt;misère&lt;/em&gt; game, where each person tries to take the fewest number of tricks, they were able to give the optimal strategy.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the most part, these results were obtained by first looking at the results of a computer program which found the optimal strategy for small instances, then looking for patterns to obtain conjectures, and finally proving these conjectures. I suspect that this would also be a fruitful approach to take for the OP's game.&lt;/p&gt;&#xA;" OwnerUserId="1677" LastActivityDate="2012-06-24T02:30:53.173" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11797" PostTypeId="1" AcceptedAnswerId="14863" CreationDate="2012-06-24T02:47:56.787" Score="35" ViewCount="10696" Body="&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Alan_Turing&quot;&gt;Alan Turing&lt;/a&gt;, one of the pioneers of (theoretical) computer science, made many seminal scientific contributions to our field, including defining Turing machines, the Church-Turing thesis, undecidability, and the Turing test.  However, his important discoveries are not limited to the ones I listed.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In honor of his 100th Birthday, I thought it would be nice to ask for a more complete list of his important contributions to computer science, in order to have a better appreciation of his work.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, &lt;strong&gt;what are Alan Turing's important/influential contributions to computer science?&lt;/strong&gt;&lt;/p&gt;&#xA;" OwnerUserId="123" LastEditorUserId="-1" LastEditDate="2012-11-11T06:05:20.300" LastActivityDate="2014-11-24T15:00:22.527" Title="Alan Turing's Contributions to Computer Science" Tags="&lt;soft-question&gt;&lt;ho.history-overview&gt;" AnswerCount="8" CommentCount="4" FavoriteCount="17" CommunityOwnedDate="2012-06-24T02:56:38.877" ContentLicense="CC BY-SA 3.0" />
  <row Id="11801" PostTypeId="2" ParentId="11797" CreationDate="2012-06-24T04:39:09.520" Score="13" Body="&lt;p&gt;One lesser-known contribution is the &lt;a href=&quot;http://johncarlosbaez.wordpress.com/2012/06/21/the-mathematics-of-biodiversity-part-1/&quot;&gt;Good-Turing estimator&lt;/a&gt; for estimating the fraction of a population &quot;not yet seen&quot; when taking samples. This is used in biodiversity. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2012-06-24T04:39:09.520" CommentCount="0" CommunityOwnedDate="2012-06-24T04:39:09.520" ContentLicense="CC BY-SA 3.0" />
  <row Id="11802" PostTypeId="2" ParentId="8143" CreationDate="2012-06-24T06:28:52.517" Score="2" Body="&lt;p&gt;Construct an ordered balanced binary tree with $s_1,\dots,s_n$ in the leaves (in order).  In each internal node $v$ store the product of the leaves of the subtree rooted at $v$.  This preprocessing obviously runs in O$(n)$ time and space.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, to compute a product $s_i\circ\ldots\circ s_j$ (where $i&amp;lt;j$) walk the tree up from $i$ to the least common ancestor (LCA) of $i$ and $j$.  Collect the products stored in each right child hanging off the path, excluding the right child of the LCA.  In other words, as you go up from $u$ to its parent $v$, if $u$ is a left child of $v$, then pick up the product stored in $v$'s right child.  Similarly, walk up from $j$ to the LCA and collect the products stored in left children hanging off that path.  Multiply all these products, along with $s_i$ and $s_j$ in order.&lt;/p&gt;&#xA;" OwnerUserId="5124" LastActivityDate="2012-06-24T06:28:52.517" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11803" PostTypeId="2" ParentId="11792" CreationDate="2012-06-24T10:01:36.190" Score="0" Body="&lt;p&gt;It's easy:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Take this Deterministic-CFL L = {$a^{l}b^{m}c^{n}\,|\, m=n$} and take this homomorphism-function:&lt;br/&gt; &#xA;h(a)=b, &lt;br/&gt;&#xA;h(b)=b, &lt;br/&gt;&#xA;h(c)=c. &lt;br/&gt;&#xA;Then this homomorphism on L looks like this $$h(L)=\{{b^{l}b^{m}c^{n}\,|\, m=n}\}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now there is no Deterministc-PDA for this anymore, because the PDA would have to guess the end of the first &quot;package&quot; of b's ($b^{l}$).&lt;/p&gt;&#xA;" OwnerUserId="8375" LastActivityDate="2012-06-24T10:01:36.190" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11805" PostTypeId="2" ParentId="11797" CreationDate="2012-06-24T14:41:52.513" Score="7" Body="&lt;p&gt;Turing was interested in and did some seminal work in chemical reaction-diffusion patterns. this area of research has expanded substantially since he started investigating it. it has been shown to have ties to computability eg is in a sense &quot;Turing complete&quot; [1]. the chemical reactions can be modeled with complex nonlinear differential equations so in a sense it has been shown that nonlinear differential equations with enough complexity can simulate Turing machines. stemming from his 1951 paper &quot;chemical basis of morphogenesis&quot; [4]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] &lt;a href=&quot;http://asterion.rockefeller.edu/marcelo/Reprints/16chemturing.pdf&quot;&gt;chemical kinetics is Turing universal&lt;/a&gt; by Magnasco in PRL 97&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] &lt;a href=&quot;http://pubs.acs.org/doi/abs/10.1021/ar00029a002&quot;&gt;Turing structures in simple chemical reactions&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[3] &lt;a href=&quot;https://www.uleth.ca/dspace/handle/10133/659&quot;&gt;Turing patterns in linear chemical reaction systems with nonlinear cross diffusion&lt;/a&gt; by Franz&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[4] &lt;a href=&quot;http://en.wikipedia.org/wiki/The_Chemical_Basis_of_Morphogenesis&quot;&gt;chemical basis of morphogenesis, wikipedia&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2012-06-24T14:41:52.513" CommentCount="0" CommunityOwnedDate="2012-06-24T14:41:52.513" ContentLicense="CC BY-SA 3.0" />
  <row Id="11806" PostTypeId="2" ParentId="11791" CreationDate="2012-06-24T15:07:05.167" Score="5" Body="&lt;p&gt;a leading one is &lt;a href=&quot;http://www.turingfilm.com/&quot;&gt;Codebreaker&lt;/a&gt; with a list of reviews/publicity &lt;a href=&quot;http://www.turingfilm.com/turing-film-media-coverage&quot;&gt;here&lt;/a&gt; [unfortunately several are behind paywalls]. here is one &lt;a href=&quot;http://www.telegraph.co.uk/culture/tvandradio/8904124/Britains-Greatest-Codebreaker-the-tragic-story-of-Alan-Turing.html&quot;&gt;web review&lt;/a&gt; by chris harvey &amp;amp; with quotes by the writer warner.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;this documentary originated by &lt;a href=&quot;http://www.channel4.com/info/press/news/channel-4-commissions-alan-turing-documentary&quot;&gt;channel 4&lt;/a&gt; seems balanced and avoids hagiography, looking at all the aspects of his complex life. has award winning writer, actors and acclaimed producer.&lt;/p&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="7884" LastEditDate="2012-06-24T17:10:21.390" LastActivityDate="2012-06-24T17:10:21.390" CommentCount="0" CommunityOwnedDate="2012-06-24T15:07:05.167" ContentLicense="CC BY-SA 3.0" />
  <row Id="11810" PostTypeId="2" ParentId="11791" CreationDate="2012-06-24T17:39:22.307" Score="-5" Body="&lt;p&gt;closely related is a highly-viewed documentary circulating on a &lt;a href=&quot;http://www.legoturingmachine.org/&quot; rel=&quot;nofollow&quot;&gt;lego turing machine&lt;/a&gt; built in honor of the 100th anniversary of Turings birthday, by &lt;a href=&quot;http://www.cwi.nl/aboutCWI&quot; rel=&quot;nofollow&quot;&gt;CWI&lt;/a&gt; Phd student &amp;amp; software engr/researcher&lt;/p&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2012-06-24T17:39:22.307" CommentCount="0" CommunityOwnedDate="2012-06-24T17:39:22.307" ContentLicense="CC BY-SA 3.0" />
  <row Id="11811" PostTypeId="2" ParentId="11797" CreationDate="2012-06-24T17:56:45.220" Score="21" Body="&lt;p&gt;As mentioned in the question, Turing was central to defining algorithms and computability, thus he was one of the people that helped assemble the algorithmic lens. However, I think his biggest contribution was &lt;strong&gt;viewing science through the algorithmic lens&lt;/strong&gt; and not just computation for the sake of computation.&lt;/p&gt;&#xA;&lt;p&gt;During WW2 Turing used the idea of computation and electro-mechanical (as opposed to human) computers to help create the &lt;a href=&quot;http://en.wikipedia.org/wiki/Bombe&quot; rel=&quot;noreferrer&quot;&gt;Turing–Welchman bombe&lt;/a&gt; and other tools and formal techniques for doing crypto-analysis. He started the transformation of cryptology, the art-form, to cryptography, the science, that Claude Shannon completed. &lt;strong&gt;Alan Turing viewed cryptology through algorithmic lenses.&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;In 1948, Turing followed his interested in the brain, to create the &lt;a href=&quot;https://cogsci.stackexchange.com/q/1263/29&quot;&gt;first learning artificial neural network&lt;/a&gt;. Unfortunately his manuscript was rejected by the director of the NPL and not published (until 1967). However, it predated both Hebbian learning (1949) and Rosenblatt's perceptrons (1957) that we typically associated with being the first neural networks. Turing foresaw the foundation of connectionism (still a huge paradigm in cognitive science) and computational neuroscience. &lt;strong&gt;Alan Turing viewed the brain through algorithmic lenses.&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;In 1950, Turing published his famous &lt;em&gt;Computing machinery and intelligence&lt;/em&gt; and launched AI. This had a transformative effect on Psychology and Cognitive Science which continue to view the cognition as computation on internal representations. &lt;strong&gt;Alan Turing viewed the mind through algorithmic lenses.&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;Finally in 1952 (as @vzn mentioned) Turing published &lt;em&gt;The Chemical Basis of Morphogenesis&lt;/em&gt;. This has become his most cited work. In it, he asked (and started to answer) the question: how does a spherically symmetric embryo develop into a non-spherically symmetric organism under the action of symmetry-preserving chemical diffusion of morphogens? His approach in this paper was very physics-y, but some of the approach did have an air of TCS; His paper made rigorous qualitative statements (valid for various constants and parameters) instead of quantitative statements based on specific (in some fields: potentially impossible to measure) constants and parameters. Shortly before his death, he was continuing this study by working on the basic ideas of what was to become artificial life simulations, and a more discrete and non-differential-equation treatment of biology. In a blog post &lt;a href=&quot;http://egtheory.wordpress.com/2012/06/23/turing-biolog/&quot; rel=&quot;noreferrer&quot;&gt;I speculate on how he would develop biology&lt;/a&gt; if he had more time. &lt;strong&gt;Alan Turing started to view biology through algorithmic lenses.&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;I think Turing's greatest (and often ignored) contribution to computer science was showing that we can glean great insight by viewing science through the algorithmic lens. I can only hope that we honour his genious by continuing his work.&lt;/p&gt;&#xA;&lt;hr /&gt;&#xA;&lt;h3&gt;Related questions&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/q/6387/1037&quot;&gt;Algorithmic lens in the social sciences&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://cogsci.stackexchange.com/q/1263/29&quot;&gt;Modern treatments of Alan Turing's B-type neural networks&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://biology.stackexchange.com/q/2739/500&quot;&gt;Impact of Alan Turing's approach to morphogenesis&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="1037" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2012-06-24T18:02:19.613" CommentCount="0" CommunityOwnedDate="2012-06-24T17:56:45.220" ContentLicense="CC BY-SA 3.0" />
  <row Id="11812" PostTypeId="2" ParentId="11797" CreationDate="2012-06-24T18:19:59.290" Score="27" Body="&lt;p&gt;I did not know of these until recently.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) The &lt;a href=&quot;http://qjmam.oxfordjournals.org/content/1/1/287.full.pdf&quot;&gt;LU decomposition&lt;/a&gt; of a matrix is due to Turing! Considering how fundamental LU decomposition is, this is one contribution that deserves to be highlighted and known more widely (1948).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) Turing was the first to come up with a &quot;paper algorithm&quot; for chess. At that point, the first digital computers were still being built (1952). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Chess programming has had an illustrious set of people associated with it, with Shannon, Turing, Herb Simon, Ken Thompson, etc. The last two won the Turing Award. And Simom, of course, won the Nobel as well. (Shannon came up with a way to evaluate a chess position in 1948.)&lt;/p&gt;&#xA;" OwnerUserId="1449" LastEditorUserId="1449" LastEditDate="2012-06-25T09:19:37.100" LastActivityDate="2012-06-25T09:19:37.100" CommentCount="3" CommunityOwnedDate="2012-06-24T18:19:59.290" ContentLicense="CC BY-SA 3.0" />
  <row Id="11813" PostTypeId="2" ParentId="11787" CreationDate="2012-06-24T18:47:30.787" Score="4" Body="&lt;p&gt;Based on your post I'm assuming you haven't had much experience with this type of work. Here are several things that immediately jump out as being potential problems:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;You should probably perform some type of preprocessing so your inputs are in a more acceptable range such as (-1, 1), or (0, 1). When the magnitude of the input values are large, the the hidden units are likely to saturate (i.e. be very close to $\pm$ 1 assuming you're using tanh hidden units). This causes the gradients to be nearly zero which can result in backpropagation performing poorly.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;In my experience, you will not get good results when you have very unbalanced classes (50 tap, 3000 no tap) if you just naively apply some machine learning algorithm. For example, a classifier which always outputs -1 will achieve approximately 98% accuracy on your dataset, while being completely useless for your task.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Since you have not mentioned a training/test split of your dataset or cross validation, I'm assuming you're not doing these things. You should be. Neural networks are notorious for overfitting and if you use the same data to train and assess accuracy, you almost surely will.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;That being said, I'm surprised this question hasn't been closed or migrated. It is almost certainly a better match for the CS stack exchange or &lt;a href=&quot;http://metaoptimize.com/qa&quot; rel=&quot;nofollow&quot;&gt;Metaoptimize&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="9459" LastActivityDate="2012-06-24T18:47:30.787" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="11815" PostTypeId="1" AcceptedAnswerId="11880" CreationDate="2012-06-24T21:19:05.287" Score="4" ViewCount="294" Body="&lt;p&gt;It is well-known that the worst case performance for a &lt;a href=&quot;http://infoweekly.blogspot.nl/2010/01/basic-hashtables.html&quot; rel=&quot;nofollow&quot;&gt;chaining hashtable&lt;/a&gt;, is O(n), where n is the number of objects in the table. The normal assumption is that the hash is either uniform, or secure, however this is &lt;a href=&quot;http://armoredbarista.blogspot.de/2012/02/investigating-hashdos-issue.html&quot; rel=&quot;nofollow&quot;&gt;not always the case&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One possible solution to this problem would be to use a tree, or other O($\log n$) data structure, instead of the list. This would result in the worst-case performance of O($\log n$) for insertion and retrieval, at the expense of adding an extra constraint on the import data, namely that it would need to be comparable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a name for such a data structure?&lt;/p&gt;&#xA;" OwnerUserId="6166" LastEditorUserId="1800" LastEditDate="2012-06-30T03:35:24.653" LastActivityDate="2012-06-30T03:35:24.653" Title="Is there a name for a hashtable with a tree for each bin instead of a list?" Tags="&lt;ds.data-structures&gt;&lt;terminology&gt;" AnswerCount="3" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11816" PostTypeId="1" CreationDate="2012-06-24T21:40:35.837" Score="3" ViewCount="178" Body="&lt;h2&gt;Background&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;One issue with modern security proofs is that they are usually asymptotic. In other words, such proofs are usually formulated as follows: For any polynomial-time adversary $\mathcal A$, we can select a &lt;strong&gt;large enough&lt;/strong&gt; security parameter $n$, such that the probability that $\mathcal A$ breaks the system is a negligible function of $n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Unfortunately, concrete values for parameters of the protocol cannot be readily deduced from such asymptotic proofs. For instance, the size of RSA modulus for a secure signature scheme may not be obtained from an asymptotic proof of security for the given scheme.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This issue was first formalized by Bellare and Rogaway, in their famous paper &quot;&lt;a href=&quot;http://cseweb.ucsd.edu/~mihir/papers/exactsigs.html&quot; rel=&quot;nofollow&quot;&gt;The exact security of digital signatures: How to sign with RSA and Rabin&lt;/a&gt;.&quot; They provided a new type of analyzing and proving the security of some scheme, which they termed &lt;em&gt;exact security&lt;/em&gt;. Soon after, numerous papers considered this notion, and gave various results on the exact security of signature schemes.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;h2&gt;Assumptions&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;This question considers &quot;exact security&quot; for identification protocols. Since we're going to give concrete parameters, we have to make some explicit assumptions:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;The time-complexity of entities is limited to $2^{80}$ operations.&lt;/li&gt;&#xA;&lt;li&gt;Entities can perform up to $2^{30}$ operations per second.&lt;/li&gt;&#xA;&lt;li&gt;The best algorithm for factoring an integer is &lt;a href=&quot;http://en.wikipedia.org/wiki/General_number_field_sieve&quot; rel=&quot;nofollow&quot;&gt;GNFS&lt;/a&gt;. Given this assumption, factoring a carefully chosen $1024$-bit integer requires about $2^{86}$ operations, which is infeasible according to assumption 1.&lt;/li&gt;&#xA;&lt;li&gt;In the identification protocol, there is a $30$-second time-out. The adversary can take its time to perform any preprocessing, but when engaged in protocol execution, he must reply within $30$ seconds, or time-out occurs and he fails. (This is in contrast to signature schemes, where the adversary is not faced with such restriction.)&lt;/li&gt;&#xA;&lt;li&gt;During the lifetime of the system, the adversary may engage in at most $10^8$ identification sessions. He is successful if he can impersonate in at least one session, and he fails otherwise. In other words, a successful adversary is one whose success probability is at least $10^{-8}$.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;h2&gt;Protocol and Proof&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;The honest prover has the factorization of an integer $n$, and the verifier is going to verify this. Let $L = \Theta(1)$ and $m = \Theta(|n|)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The identification protocol is the $m$-time repetition of a &lt;a href=&quot;http://en.wikipedia.org/wiki/Proof_of_knowledge#Sigma_protocols&quot; rel=&quot;nofollow&quot;&gt;$\Sigma$ protocol&lt;/a&gt;. The challenge of the $\Sigma$ protocol is chosen randomly from the set $\{0,\ldots,L-1\}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, we are given the following &quot;tight&quot; security proof (the details of how this proof is obtained is unimportant):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For any adversary $\mathcal A$ whose time-complexity is $T$, and who breaks the identification protocol with probability at least $\epsilon$, there exists another adversary $\mathcal B$, whose (expected) time-complexity is $\frac{TLm}{\epsilon} + \Theta(|n|^2)$, and can factor $n$ with probability 1.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;h2&gt;Question&lt;/h2&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;How can we use these assumptions and facts, to suggest concrete values for $|n|$, $L$, and $m$, such that the system is both efficient and secure? (The &lt;strong&gt;efficiency&lt;/strong&gt; condition is included because the choice of extremely large parameters will obviously make the system secure.) &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="873" LastEditorUserId="873" LastEditDate="2012-07-04T21:08:56.460" LastActivityDate="2012-07-04T21:08:56.460" Title="Setting protocol parameters to achieve concrete security" Tags="&lt;cr.crypto-security&gt;&lt;cryptographic-attack&gt;" AnswerCount="0" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="11818" PostTypeId="1" AcceptedAnswerId="11820" CreationDate="2012-06-25T09:16:09.783" Score="1" ViewCount="114" Body="&lt;p&gt;I've been able to model a particular decision problem as a&#xA;&lt;a href=&quot;http://en.wikipedia.org/wiki/Markov_decision_process&quot; rel=&quot;nofollow&quot;&gt;Markov Decision Process&lt;/a&gt;, where the optimal policy (i.e. what decision should be taken at each step) is defined in order to optimize a given utility function. Hence, given the utility function and the probabilistic behaviour of the system, I can calculate what actions to take.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm interested in knowing if there exists some &quot;reverse&quot; process: if I know the probabilistic behaviour of the system and which action should be taken, can I calculate what the utility values should be in order to get the expected behaviour? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;My first guess was to look at Monte-Carlo simulations, where I would set up some (more or less) random utility values, perform some simulations, see if it's consistent with what I would expect, and keep going until I find something satisfactory. But I'm not sure it's converging, and I have the feeling that I'm not the first one to want to do this. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If it helps, the context is security decision mechanisms, where we would know the actual policy for some base cases, the goal being to calculate the utility values for more complex cases. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT: Give a bit more details following Markus' comment&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let us assume I have a set of states $\Sigma$, a set of actions $A$ and a probabilistic transition function $P : \Sigma \times A \times \Sigma \to [0, 1]$. I also have a boolean function that can tell me, given a trace $\sigma_0, a_0, \sigma_1, a_1, \dots, \sigma_n$, if this trace is &quot;good&quot; or not. Note that I assume here that the system is completely observable, i.e, &lt;em&gt;after&lt;/em&gt; executing an action in a state, I know in which state the system is. I also consider working at a finite horizon $n$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The question becomes: how can I calculate a reward function $W : \Sigma \times A \times \Sigma \to U$, where U is a utility domain (e.g. $\mathbb{R}$) such that the optimal policy (i.e. the  policy returning the maximum utility for a finite horizon $n$) only outputs &quot;good&quot; traces. &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Refinement 1: What if I want to define the utility function only on the states and not on transitions, that is, if I just want to define a function $W : \Sigma \to U$? &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Refinement 2: What if I consider that the state consists of some attributes $x_1, \cdots, x_k$, and I want to define a reward function only based on the attributes of the state? &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Refinement 3: What if, instead of simply classifying the traces into the good ones, and the bad ones, I can define a partial order over them, can I calculate the reward function that always returns the &quot;best&quot; trace? &lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I hope this clarifies a bit the question, and although any general results is interesting, I'm also interested in practical approaches, that would provide only an approximation (since calculating the general solution is likely to be intractable in general). &lt;/p&gt;&#xA;" OwnerUserId="8030" LastEditorUserId="8030" LastEditDate="2012-06-25T18:33:23.847" LastActivityDate="2012-06-25T18:33:23.847" Title="Inferring optimal utility values from a decision process" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;markov-chains&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="11820" PostTypeId="2" ParentId="11818" CreationDate="2012-06-25T14:43:08.103" Score="1" Body="&lt;p&gt;You might want to have a look at Inverse Reinforcement Learning. IRL tries to infer a reward function given observed optimal behavior in some MDP. I believe the framework was originally described in the 1998 paper &lt;a href=&quot;http://www.eecs.berkeley.edu/~russell/papers/colt98-uncertainty.pdf&quot; rel=&quot;nofollow&quot;&gt;Learning agents for uncertain environments&lt;/a&gt; by Stuart Russel. This paper and and those that cite it should be a good place to start, assuming IRL is a good fit for your problem.&lt;/p&gt;&#xA;" OwnerUserId="9459" LastActivityDate="2012-06-25T14:43:08.103" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11823" PostTypeId="2" ParentId="2132" CreationDate="2012-06-25T17:31:42.387" Score="6" Body="&lt;p&gt;&lt;strong&gt;You can merge trees in $\bf\mathcal{O}(1)$ worst-case time&lt;/strong&gt; whilst still supporting: insert, delete and search in $\mathcal{O}(log\ n)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Unfortunately splitting causes problems, and would result in $\mathcal{O}(log\ n\ log\ log\ n)$ search and update times.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Brodal, Gerth Stølting, Christos Makris, and Kostas Tsichlas. &lt;a href=&quot;http://dx.doi.org/10.1007/11841036_18&quot; rel=&quot;nofollow&quot;&gt;&lt;strong&gt;‘Purely Functional Worst Case Constant Time Catenable Sorted Lists’&lt;/strong&gt;&lt;/a&gt;. &lt;em&gt;In Proceedings of the 14th Conference on Annual European Symposium - Volume 14, 172–183. ESA’06. London, UK, UK: Springer-Verlag,&lt;/em&gt; 2006.&#xA;[&lt;a href=&quot;http://www.cs.au.dk/~gerth/papers/esa06trees.pdf&quot; rel=&quot;nofollow&quot;&gt;PDF&lt;/a&gt;]&lt;/p&gt;&#xA;" OwnerUserId="7860" LastEditorUserId="1080" LastEditDate="2013-10-31T22:14:19.933" LastActivityDate="2013-10-31T22:14:19.933" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11824" PostTypeId="2" ParentId="10407" CreationDate="2012-06-25T17:33:24.973" Score="0" Body="&lt;p&gt;&lt;strong&gt;You can merge trees in $\bf\mathcal{O}(1)$ worst-case time&lt;/strong&gt; whilst still supporting: insert, delete and search in $\mathcal{O}(log\ n)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://dx.doi.org/10.1007/11841036_18&quot; rel=&quot;nofollow&quot;&gt;Brodal, Gerth Stølting, Christos Makris, and Kostas Tsichlas. &lt;strong&gt;‘Purely Functional Worst Case Constant Time Catenable Sorted Lists’&lt;/strong&gt;. &lt;em&gt;In Proceedings of the 14th Conference on Annual European Symposium - Volume 14, 172–183. ESA’06. London, UK, UK: Springer-Verlag,&lt;/em&gt; 2006.&lt;/a&gt;&#xA;[&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download;?doi=10.1.1.70.1493&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;nofollow&quot;&gt;PDF&lt;/a&gt;]&lt;/p&gt;&#xA;" OwnerUserId="7860" LastActivityDate="2012-06-25T17:33:24.973" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="11825" PostTypeId="2" ParentId="11794" CreationDate="2012-06-25T18:15:32.257" Score="5" Body="&lt;blockquote&gt;&#xA;&lt;p&gt;The machine is supplied with a “tape”, (the analogue of paper) running through it, and divided into sections (called “squares”) each capable of bearing a “symbol”. At any moment there is just one square, say the r-th, bearing the symbol S(r) which is “in the machine”. We may call this square the “scanned square”. The symbol on the scanned square may be called the “scanned symbol”. The “scanned symbol” is the only one of which the machine is, so to speak, “directly aware”. However, by altering its m-configuration the machine can effectively remember some of the symbols which it has “seen” (scanned) previously. The possible behaviour of the machine at any moment is determined by the m-configuration qn and the scanned symbol S(r). This pair qn, S(r) will be called the “configuration”: thus the configuration determines the possible behaviour of the machine. In some of the configurations in which the scanned square is blank (i.e. bears no symbol) the machine writes down a new symbol on the scanned square: in other configurations it erases the scanned symbol. The machine may also change the square which is being scanned, but only by shifting it one place to right or left. In addition to any of these operations the m-configuration may be changed. Some of the symbols written down {232} will form the sequence of figures which is the decimal of the real number which is being computed. The others are just rough notes to “assist the memory”. It will only be these rough notes which will be liable to erasure.&lt;/p&gt;&#xA;&lt;p&gt;It is my contention that these operations include all those which are used in the computation of a number. The defence of this contention will be easier when the theory of the machines is familiar to the reader. In the next section I therefore proceed with the development of the theory and assume that it is understood what is meant by “machine”, “tape”, “scanned”, etc.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;This is an excerpt from the original Turing paper &amp;quot;On Computable Numbers, with an Application to the Entscheidungsproblem&amp;quot;.&lt;/p&gt;&#xA;&lt;p&gt;A modern good companion to the paper which I recommend is &lt;a href=&quot;http://www.charlespetzold.com/AnnotatedTuring/&quot; rel=&quot;noreferrer&quot;&gt;The Annotated Turing&lt;/a&gt; by Charles Petzold.&lt;/p&gt;&#xA;&lt;p&gt;As you may see, Google just attempted to resemble a machine which is very similar to the Turing's description.&lt;/p&gt;&#xA;&lt;p&gt;EDIT: Assuming the Google's T. M. complete alphabet is &lt;a href=&quot;http://sbf5.com/%7Ecduan/technical/turing/&quot; rel=&quot;noreferrer&quot;&gt;the one shown at the end of the game&lt;/a&gt; after clicking the &lt;strong&gt;bunny&lt;/strong&gt; icon, and taking from the fact that it's producing an &lt;strong&gt;infinite&lt;/strong&gt; sequence, got more rows and columns (so we may assume we can add any) , has &lt;em&gt;left jumps&lt;/em&gt; (and also &lt;strong&gt;overlaping&lt;/strong&gt; left jumps) &lt;strong&gt;at any row&lt;/strong&gt;, has conditional and unconditional jump between adjacent rows, I think it's &lt;a href=&quot;http://en.wikipedia.org/wiki/Turing_completeness&quot; rel=&quot;noreferrer&quot;&gt;Turing complete&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="9878" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2012-06-27T19:30:29.133" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="11826" PostTypeId="1" CreationDate="2012-06-25T21:36:06.210" Score="3" ViewCount="78" Body="&lt;p&gt;I'm trying to implement a disinterval analysis similiar to what is described in &lt;a href=&quot;http://research.microsoft.com/pubs/138696/Main.pdf&quot; rel=&quot;nofollow&quot;&gt;Clousot: Static Contract Checking with Abstract Interpretation&lt;/a&gt; (under section 5.2) - and I'm trying to find some papers describing the abstract operators (+, -, join, meet - etc) - however I have been unable to dig these up.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are any of you aware of such papers and could you please link me to them?&lt;/p&gt;&#xA;" OwnerUserId="9880" LastEditorUserId="-1" LastEditDate="2012-11-11T06:05:15.120" LastActivityDate="2012-11-11T06:05:15.120" Title="Research papers regarding disinterval analysis" Tags="&lt;reference-request&gt;&lt;pl.programming-languages&gt;&lt;na.numerical-analysis&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11827" PostTypeId="1" CreationDate="2012-06-25T23:45:47.560" Score="11" ViewCount="1656" Body="&lt;p&gt;Let $A$ be any EXP complete problem. Then, $P^A = NP^A$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $B$ be some oracle that takes into accounts the queries that $M$ (a TM in P) will make, and we can get $P^B \neq NP^B$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Question: Do we have similar oracle results for P vs BPP?&lt;/p&gt;&#xA;" OwnerDisplayName="user9883" LastEditorUserId="186" LastEditDate="2012-06-26T03:47:40.753" LastActivityDate="2012-08-21T04:30:01.417" Title="Oracle results on P vs BPP" Tags="&lt;cc.complexity-theory&gt;&lt;oracles&gt;&lt;relativization&gt;" AnswerCount="4" CommentCount="3" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="11828" PostTypeId="1" CreationDate="2012-06-22T09:57:32.613" Score="4" ViewCount="567" Body="&lt;p&gt;As I understand it, a fundamental of &lt;a href=&quot;http://freehaven.net/anonbib/cache/chaum-mix.pdf&quot; rel=&quot;nofollow&quot;&gt;Chaum's mix-net&lt;/a&gt; is that, absent an external adversary who can analyse traffic on links within the network, no mix can link the source and destination of any message unless it collaborates with every other mix participating in the cascade through which that message passes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Most of the mix-net projects about which I have read (both those that have been implemented and those that remain theoretical) mitigate such a &quot;collaboration attack&quot; by introducing randomness into path selection: thus an adversary must collaborate with a significant proportion of all mixes throughout the network in order to achieve a high probability that those in any given cascade will all be collaborators.  Various techniques have been suggested to further frustrate an adversary who attempts to so bias the network, such as viewing all mixes on a single subnet as potential collaborators.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If one is certain (at least, as much as one can ever be) that some particular mixes are honest (i.e. not collaborating with an adversary), it would at first glance &lt;em&gt;appear&lt;/em&gt; desirable to ensure that &lt;em&gt;at least one&lt;/em&gt; such honest mix is included in every cascade used for one's messages so as to significantly reduce (if not completely eliminate) the threat of such &quot;collaboration attacks&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, forcing all one's messages to pass through a subset of the network that is defined by one's trust relationships leaks information about those relationships.  Over time, an adversary might be able to use such information to link together all one's messages or even identify oneself.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is: how can one measure this trade-off?  Is there existing research that already has considered it (I have not been able to find any yet)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Where senders are themselves also acting as mixes in the presence of sufficient inbound cover traffic, does the inclusion of known honest mixes in downstream cascades for their own messages actually provide any additional anonymity given that those messages could arguably have been forwarded for another party?&lt;/p&gt;&#xA;" OwnerUserId="9886" OwnerDisplayName="eggyal" LastEditorUserId="186" LastEditDate="2012-06-26T15:20:38.693" LastActivityDate="2012-06-28T10:36:36.127" Title="To what extent is anonymity through a Chaum mix compromised by using trusted mixes in the cascade?" Tags="&lt;cr.crypto-security&gt;&lt;privacy&gt;" AnswerCount="2" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="11829" PostTypeId="2" ParentId="11828" CreationDate="2012-06-25T16:59:40.563" Score="0" Body="&lt;p&gt;It is hard to answer without knowing your exact adversary model. For example, does the adversary know all of the mixes you trust? What is the adversary able to see (only what is coming into your trusted mixes and what goes out)? How much of the network besides the trusted mixes does the adversary control?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Looking at the worst case (you have only one trusted mix, and you are the only person in the entire network who uses that mix, and the adversary controls all other nodes in the cascade), it would seem that anonymity would be completely broken.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In a slightly better case, say the trusted mix is highly used by others. It now seems that the system remains secure. The attacker could follow your packets up until the trusted mix is used, but after that, the attacker should have no idea which packets are yours.&lt;/p&gt;&#xA;" OwnerUserId="10694" OwnerDisplayName="mikeazo" LastActivityDate="2012-06-25T16:59:40.563" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11830" PostTypeId="2" ParentId="11828" CreationDate="2012-06-25T17:14:04.190" Score="3" Body="&lt;p&gt;I haven't seen a paper that addresses your (first) question specifically. One extreme example of a mix node that you trust is yourself, if you are participating in the network as well as using it. One paper that talks about the trade-offs of using yourself as a node in a mix network is: &lt;a href=&quot;http://freehaven.net/doc/fc03/econymics.pdf&quot; rel=&quot;nofollow&quot;&gt;On the Economics of Anonymity&lt;/a&gt;. It sort of addresses your second question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;While Tor is not exactly a mix network, I believe it carefully &lt;a href=&quot;https://blog.torproject.org/blog/research-problem-better-guard-rotation-parameters&quot; rel=&quot;nofollow&quot;&gt;chooses entry nodes&lt;/a&gt; based on individuals the network maintainers trust. In this case, all users have the same &quot;trust network&quot; and so it avoids the problem you are proposing to study. The drawback is you personally must trust the same nodes. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;As to your specific question, I haven't seen a paper that specifically addresses what you want but I also do not follow the area closely. Most papers on Mix Networks are catalogued here: &lt;a href=&quot;http://freehaven.net/anonbib/&quot; rel=&quot;nofollow&quot;&gt;http://freehaven.net/anonbib/&lt;/a&gt; and so you could thumb through the titles for something that might be related.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, I'm not sure you'll find the adversary has much power unless if they can observe large portions of the network, in which case there are more effective attacks (especially in Tor-like anonymity networks which don't actually mix or obfuscate packet timing).&lt;/p&gt;&#xA;" OwnerUserId="1792" OwnerDisplayName="PulpSpy" LastActivityDate="2012-06-25T17:14:04.190" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="11835" PostTypeId="2" ParentId="11826" CreationDate="2012-06-26T15:35:21.400" Score="1" Body="&lt;p&gt;You could give a shot at Ermedahl &amp;amp; Sjodin: &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.53.3333&quot; rel=&quot;nofollow&quot;&gt;Interval analysis of C-variables using Abstract Interpretation&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="3984" LastActivityDate="2012-06-26T15:35:21.400" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="11838" PostTypeId="1" AcceptedAnswerId="11845" CreationDate="2012-06-26T18:50:27.843" Score="5" ViewCount="451" Body="&lt;p&gt;Given a graph $G$, a rotation system for $G$ is composed of two elements:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$\pi = \{\pi_v: v\in V(G)\}$, where $\pi_v$ is a cyclic permutation of the edges incident on $v$. Thus if $e$ is an edge incident on $v$, $\pi_v(e)$ is another edge incident on $v$, and we say that $\pi_v(e)$ comes after $e$ at $v$.&lt;/li&gt;&#xA;&lt;li&gt;$\lambda:E(G)\rightarrow \{-1,1\}$ is a function that assigns to each edge a sign $\pm 1$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Given a rotation system for a graph $G$, we define a &lt;strong&gt;face-walk&lt;/strong&gt; as a walk in $G$:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$v_0e_1v_1e_2v_2...e_nv_0$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;such that:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$e_{i+1}=\pi_{v_i}^{r_i}(e_i)$ for $1\leq i&amp;lt;n$;&lt;/li&gt;&#xA;&lt;li&gt;$e_1=\pi_{v_0}(e_n)$;&lt;/li&gt;&#xA;&lt;li&gt;$\lambda(e_1)\lambda(e_2)...\lambda(e_n)=1$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Here, $r_i=\lambda(e_1)\lambda(e_2)...\lambda(e_i)$ and $\pi_v^{-1}$ denotes the inverse cyclic permutation to $\pi_v$ (that is, $\pi_v^{-1}(e)$ gives the edge that comes before $e$ at $v$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;According to Theorem 3.2.2 in Topological Graph Theory by Gross and Tucker:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Every rotation system on a graph $G$ defines (up to equivalence of imbeddings) a unique locally oriented graph imbedding $G\rightarrow S$. Conversely, every locally oriented graph imbedding $G\rightarrow S$ defines a rotation system for $G$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;In the same book, an algorithm is given to trace the faces of the embedding. One starts with any vertex $v_0$ and any edge $e_1$ incident on $v_0$ and proceeds to complete a face-walk. They claim that this will give a face boundary of the embedding. To understand this, &lt;strong&gt;I need to see a proof for the following two statements&lt;/strong&gt;:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Given any vertex $v_0$ and any edge $e_1$ incident on $v_0$, one &lt;strong&gt;can&lt;/strong&gt; complete a face-walk starting at $v_0e_1$. Clearly a sequence $v_0e_1v_1e_2v_2...$ can be extended indefinetely. The question is whether this sequence will be periodic.&lt;/li&gt;&#xA;&lt;li&gt;Each edge either belongs to exactly two distinct face-walks (and appears once in each), or it appears exactly twice in one face-walk.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Neither of these claims is proved in the book.&lt;/p&gt;&#xA;" OwnerUserId="5982" LastEditorUserId="5982" LastEditDate="2012-06-26T23:53:43.337" LastActivityDate="2012-06-27T01:35:06.150" Title="Face-walks in rotation systems for graphs" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;topological-graph-theory&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11841" PostTypeId="2" ParentId="11797" CreationDate="2012-06-26T21:35:44.763" Score="11" Body="&lt;p&gt;Turing's paper on &lt;a href=&quot;http://www.turingarchive.org/browse.php/B/8&quot; rel=&quot;noreferrer&quot;&gt;Checking a large routine&lt;/a&gt; which was presented at a conference in Cambridge in 1949 antedates formal reasoning about programs as developed by Floyd and Hoare by nearly two decades. The paper is only three pages long and contains the idea of using invariants to prove properties of programs and well-foundedness to prove termination.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;How can one check a routine in the sense of making sure it is right?&lt;/p&gt;&#xA;&lt;p&gt;In order that the man who checks should not have too difficult a task, the programmer should make a number of definite assertions which can be checked individually, and from which the correctness of the whole program easily follows.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="4155" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2012-06-26T21:35:44.763" CommentCount="2" CommunityOwnedDate="2012-06-26T21:35:44.763" ContentLicense="CC BY-SA 3.0" />
  <row Id="11842" PostTypeId="2" ParentId="11794" CreationDate="2012-06-26T22:35:29.420" Score="10" Body="&lt;p&gt;Assuming that:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;we can add an arbitrarily large number of rows (&quot;status lines&quot;)&lt;/li&gt;&#xA;&lt;li&gt;the rows can be arbitrarily long&lt;/li&gt;&#xA;&lt;li&gt;the tape is infinite&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I tried to build an Alan Turing's Doodle machine configuration that emulates the machine $M_4$ described in &quot;&lt;a href=&quot;http://www.dm.unito.it/~cerruti/ac/paperpm1.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Small Turing Machines and generalized busy beaver competition&lt;/a&gt;&quot; that has a halting problem that depends on an open (up to my knowledge) Collatz-like problem. The full picture is &lt;a href=&quot;http://www.fractalmuse.org/misc/doodle.jpg&quot; rel=&quot;nofollow noreferrer&quot;&gt;available here&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/tKgvf.jpg&quot; alt=&quot;atdoodle&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;... so even if the A.T.'s Doodle is &lt;em&gt;perhaps&lt;/em&gt; not Turing complete (due to the non-overlapping left-only jump operator available only in the first row), it is powerful enough to walk the fine line of (un)decidability :-D&lt;/p&gt;&#xA;&#xA;&lt;h3&gt;EDIT: TURING DOODLE IS TURING COMPLETE&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;(I leave the previous answer above, because I'm not sure that this part is correct :-)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think that even with a single left non-overlapping jump the &lt;strong&gt;Turing Doodle is Turing complete!&lt;/strong&gt;. The (simple) idea is to use the tape itself to store the current state and use multiple cells to represent a larger alphabet.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example a 2 states 8 symbols TM can be simulated using the following tape representation:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;    HEAD POSITION&#xA;    v&#xA;...[s][b2 b1 b0] [_][b2 b1 b0] [_][b2 b1 b0] ....&#xA;   ^^^^^^^^^^^^^&#xA;    &quot;macro cell&quot;&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;The Turing doodle can:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;read $s$ and branch to one of the two different horizontal areas representing STATE A and STATE B;&lt;/li&gt;&#xA;&lt;li&gt;read $b2, b1, b0$ and branch to a row representing one of the eight symbols;&lt;/li&gt;&#xA;&lt;li&gt;write the next symbol, move the head to the &quot;macro cell&quot; on the left or right, and store on it the next state; in the figure below these operations (that can be done on a sequence of cells using the actions move left/right and write) are called &quot;MW&quot;;&lt;/li&gt;&#xA;&lt;li&gt;finally transfer the control to the upper row that with a single left jump will bring the control back to step 1.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;The full picture is &lt;a href=&quot;http://www.fractalmuse.org/misc/doodle_tc.jpg&quot; rel=&quot;nofollow noreferrer&quot;&gt;available here&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/U8MqV.jpg&quot; alt=&quot;TdoodleTC&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the same manner, given a $TM$ with an arbitrary number of states and alphabet symbols we can build an equivalent Turing Doodle machine $DM$.&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2012-06-27T23:27:05.470" LastActivityDate="2012-06-27T23:27:05.470" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="11845" PostTypeId="2" ParentId="11838" CreationDate="2012-06-27T01:11:45.743" Score="4" Body="&lt;ul&gt;&#xA;&lt;li&gt;If the sequence $v_0e_1v_1...$ is extended indefinetely without going back to $v_0e_1$, then since the graph is finite, some couple vertex-edge is repeated and hence it is periodic (since the facewalk always continues the same way after meeting this couple vertex-edge), so it looks like $v_0e_1v_1e_2.. v_{i-1}e_{i}v_ie_{i+1}...v_{i+j}e_{i+j+1}v_ie_{i+1}...v_i...v_i$ and so on indefinitely. We can assume that $e_i\neq e_{i+j+1}$ otherwise the loop never starts. &#xA;But then we have $e_{i+1}=\pi_{v_i}(e_i)$ and $e_{i+1}=\pi_{v_i}(e_{i+j+1})$, so $e_i=e_{i+j+1}$, yielding a contradiction. (I intentionnaly left out the $\lambda$ for the sake of clarity, but it works the same for non-pure rotation systems by replacing couple (vertex-edge) by triple (vertex-edge-value of $r_i$ when arriving at the vertex)).&lt;/li&gt;&#xA;&lt;li&gt;For an edge $e$ attached to vertices $v_1$ and $v_2$, $e$ appears in the facewalks starting by $v_1 e$ and $v_2 e$ (possibly the same facewalk !). Moreover, it only appears in facewalks including $v_1 e$ and $v_2 e$ (where would it come from otherwise ?), so that makes exactly two facewalks (or twice the same). Edit : To be more precise, a facewalk is uniquely defined by a triple (vertex-edge-value of $r_i$ when arriving at that edge). But arriving at $v_1 e$ with orientation (value of $r_i$) -1 yields the same facewalk (up to reversing it) as arriving at $v_2 e$ with orientation +1, so there really are only two different facewalks passing through $e$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="4871" LastEditorUserId="4871" LastEditDate="2012-06-27T01:35:06.150" LastActivityDate="2012-06-27T01:35:06.150" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="11847" PostTypeId="1" CreationDate="2012-06-27T06:29:00.017" Score="8" ViewCount="368" Body="&lt;p&gt;Are there any non-trivial lower bounds on the running time of graph algorithms in RAM/PRAM/&#xA;models of computation ? I am not looking for the NP-Hardness results here.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Following is a result that I could find [see ref L92]:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;3-Coloring of an n-cycle requires $\Omega(\log^*{n})$ time.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I was curious to know whether there has been any progress/work in the direction of getting&#xA;lower bounds for problems like: Shortest Paths(with/without negative weights), Mincut, &#xA;s-t Maximum flows, Maximum (cardinality/weighted) matching. Any references related to&#xA;this are very much appreciated and helpful.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Reference&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[ &lt;strong&gt;L92&lt;/strong&gt; ] N. Linial, Locality in distributed graph algorithms, SIAM Journal on Com-&#xA;puting, 1992, 21(1), pp. 193-201&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT:&lt;/strong&gt; As suggested by Robin Kothari in the comments, I am making the question more directed.&lt;/p&gt;&#xA;" OwnerUserId="288" LastEditorUserId="288" LastEditDate="2012-06-27T17:03:37.617" LastActivityDate="2015-11-23T03:54:53.197" Title="Lower Bounds on Running time of Graph Algorithms" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;graph-algorithms&gt;&lt;lower-bounds&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="11848" PostTypeId="2" ParentId="9840" CreationDate="2012-06-27T16:00:00.800" Score="0" Body="&lt;p&gt;there are two somewhat similar search algorithms that [my understanding is] are optimal based on a particular constraints on the input ordering/distribution. however presentations of the algorithms do not typically emphasize this optimality. &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Golden_section_search&quot; rel=&quot;nofollow&quot;&gt;golden section search&lt;/a&gt; for finding the maximum or minimum (extremum) of a unimodal function. assumes input is a unimodal function. finds it in logarithmic time on average. as I recall there may have been a proof of optimality in the book &lt;a href=&quot;http://mitpress.mit.edu/sicp/full-text/book/book.html&quot; rel=&quot;nofollow&quot;&gt;Structure &amp;amp; Interpretation of computer programs&lt;/a&gt; by abelson &amp;amp; sussman.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Binary_search&quot; rel=&quot;nofollow&quot;&gt;binary search&lt;/a&gt; finds a point in logarithmic time on average in a sorted list, but requires input to be sorted.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;&lt;sup&gt;am citing wikipedia above but it does not have the proofs that they are optimal, maybe some other references that prove optimality can be found by the audience.&lt;/sup&gt;&lt;/p&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2012-06-27T16:00:00.800" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11849" PostTypeId="2" ParentId="9840" CreationDate="2012-06-27T16:33:06.520" Score="4" Body="&lt;p&gt;I am unsure what you mean by &quot;non-trivial&quot;, but how about this. $L = \{0^{2^k} | k \geq 0\}$. This language is not regular therefore, any TM deciding it must run in $\Omega(n \log n)$. The simple algorithm (crossing every other 0) is optimal.&lt;/p&gt;&#xA;" OwnerUserId="7925" LastActivityDate="2012-06-27T16:33:06.520" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11850" PostTypeId="1" AcceptedAnswerId="11859" CreationDate="2012-06-27T18:59:52.600" Score="7" ViewCount="1256" Body="&lt;p&gt;I am working on an algorithm for which the running time is a random variable $X$ that has finite expected value, but infinite variance. Are there examples of other algorithms for which this is the case?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are any such algorithm used in practice, or does the infinite variance make the running time too unpredictable?&lt;/p&gt;&#xA;" OwnerUserId="507" LastActivityDate="2012-07-04T13:37:53.587" Title="Algorithms with finite expected running time and infinite variance" Tags="&lt;ds.algorithms&gt;&lt;time-complexity&gt;&lt;randomized-algorithms&gt;" AnswerCount="3" CommentCount="10" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="11851" PostTypeId="2" ParentId="11784" CreationDate="2012-06-27T19:18:06.607" Score="11" Body="&lt;p&gt;&lt;strong&gt;Clarification on terminology&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The theorem proving community does not use the terms &lt;em&gt;supervised&lt;/em&gt; and &lt;em&gt;unsupervised&lt;/em&gt;. They use the terms &lt;em&gt;interactive theorem proving&lt;/em&gt; or &lt;em&gt;automated theorem proving&lt;/em&gt;. If you give a conjecture to the prover and it always comes back with a yes or no answer, such a prover is a &lt;em&gt;decision procedure for a logical theory&lt;/em&gt; or simply called a &lt;em&gt;decision procedure&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Proving statements of an infinite nature&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The intuition that a theorem that involves an infinite number of cases will be difficult for a machine is misleading. Consider the statement below.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;The sum of two even numbers is an even number. &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;If you were do prove this by enumerating even numbers, there are infinitely many cases to consider. This statement is expressible in Presburger arithmetic. Presburger arithmetic is the first-order theory of the Natural numbers with the constants zero, one, addition, and equality.  Presburger in his 1929 Masters thesis showed this theory to be decidable. There are other facts of an 'infinite' nature that can be expressed in Presburger arithmetic and proved algorithmically.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Fully Automatic Theorem Proving&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In asking for a machine that works with no assistance, you are asking for a decision procedure. It does not make much mathematical sense to ask for a decision procedure for one conjecture. If the conjecture is either true or false, there is a a trivial decision procedure. What we do in practice is try to find a logic that can express a conjecture we care about and try to prove the logic is decidable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are many many logical theories that are known to be decidable. Presburger arithmetic is a standard example. Another famous example is the first-order theory of &lt;a href=&quot;http://en.wikipedia.org/wiki/Real_closed_field&quot;&gt;real closed fields&lt;/a&gt;. The axiomatization provided by Tarski and his collaborators is sufficient to express statements of Euclidean geometry without measurement of angles or trignometric functions. This theory is decidable though the complexity is non-elementary. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Observe again that the intuition that complexity of proving a statement depends on the cardinality of the underlying domain is quite misleading. The intuition that the complexity of automatically proving a statement corresponds with how late in our education we meet that idea is also misleading.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The theory of the natural numbers with addition and multiplication is undecidable. The first order theory of real-closed fields is decidable but the proof is quite complex. The first-order theory of algebraically closed fields, which includes facts about complex numbers is also decidable. The proof for algebraically closed fields takes one or two pages in logic textbooks.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To summarise, you are asking about decision procedures for logical theories. There are many of them.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Interest&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Success of a tool and interest of the theorems are highly subjective. The value of a theorem changes over time. Theorems proved at a certain time are forgotten and rediscovered a few decades later when they are celebrated by the community. It is easy to claim a theorem significant in retrospect and put it in a textbook, but it is not easy to recognise the significance of a theorem when it is proved. There is also the matter of relevance. There is much in a model theory text book I find boring and much in an automated deduction book that a model theorist would find boring, even though we both work in the field of logic.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are decision procedures that can prove statements in textbooks. Tarski's decision procedure can prove the statements in Euclid's Elements. There are some statements in elementary number theory and linear algebra that decision procedures can prove.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The company &lt;a href=&quot;http://theorymine.co.uk/?go=products&quot;&gt;TheoryMine&lt;/a&gt; sells theorems. (Yes, you can now proudly go to a medieval market and barter two theorems about list reversal for a kilo of unwashed potatoes.) The techniques they use to identify interesting theorems may answer your question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Success&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are many ways to define success of a theorem prover. If you're asking whether a fully automatic theorem prover has ever, entirely by itself, proved a statement that mathematicians wanted to prove, I believe there might be stray examples, but they are not considered major successes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Asking if a piece of technology can achieve the same things a human being finds interesting misses the point. It's interesting for a human being to hike up a mountain but trivial for a helicopter. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The major success of automated theorem provers is proving theorems about machines. Reasoning about the correctness of a cache coherence protocol, a floating point multiplication algorithm, a device driver are all highly non-trivial problems of a scale and intricacy that our limited monkey brains cannot deal with. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is a theorem prover in the production flow of an Intel chip. There is a theorem prover shipping with Windows 7 and Windows 8 device driver kits. These theorem provers and the theorems they prove save more money and affect the daily lives of more people than most of our manually derived proofs ever will. That reeks of success to me.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;On The Capabilities of Theorem Provers&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is in response to a question about whether there is an automatically generated proof of the infinitude of the primes (automatic, not computer assisted). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am not aware of such a proof. However, one should ask what the consequences of such a proof are. If a human being can prove this statement, I think we can conclude they know something about numbers and about proofs. The consequences of an automatic proof would be &lt;em&gt;very significant.&lt;/em&gt; The automatic procedure would also be able to solve &lt;a href=&quot;http://en.wikipedia.org/wiki/Twin_prime&quot;&gt;open problems in mathematics&lt;/a&gt;. The problem is that difficulty and capability are very different for human beings and for machines.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To summarise, we have absolutely no illusions about what can be proved completely automatically. The goal of the field is not to replace or compete with human mathematicians. It is not surprising that a machine cannot prove what a human being can prove. It is insightful to understand that the consequences of a human being proving something are quite different from a machine automatically proving something.&lt;/p&gt;&#xA;" OwnerUserId="4155" LastEditorUserId="4155" LastEditDate="2012-06-29T03:09:53.447" LastActivityDate="2012-06-29T03:09:53.447" CommentCount="10" ContentLicense="CC BY-SA 3.0" />
  <row Id="11852" PostTypeId="1" CreationDate="2012-06-27T19:46:46.210" Score="5" ViewCount="136" Body="&lt;p&gt;Suppose I have an exponentially large graph $G$ ($|G|=2^n$) supplied with an efficient (of size $poly(n)$) randomized circuit $C_G$ implementing the random walk on $G$ - that is, $C_G$ takes a vertex index $i$ and outputs a random neighbor of $i$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Has this type of graph specification been studied and is it more powerful that the standard succinct representation, where $G$ is given as an efficient circuit that given $i,j$ outputs whether $(i,j)$ is an edge in $G$? I could imagine that being able to perform a random walk could help e.g. in detecting triangles in a dense graph (e.g. by choosing a random starting vertex and performing a random walk of length $3$; on the other hand, deciding triangle-freeness in the usual succinct model in NP-hard)&lt;/p&gt;&#xA;" OwnerUserId="2083" LastActivityDate="2012-06-27T19:46:46.210" Title="Succinct graphs with ability to perform random walk" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;&lt;succinct&gt;" AnswerCount="0" CommentCount="1" FavoriteCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11853" PostTypeId="2" ParentId="1168" CreationDate="2012-06-27T20:49:11.590" Score="1" Body="&lt;p&gt;Rumelhart, David E.; Hinton, Geoffrey E., Williams, Ronald J. (8 October 1986). &quot;Learning representations by back-propagating errors&quot;. Nature 323 (6088): 533–536. DOI:&lt;a href=&quot;http://dx.doi.org/10.1038/323533a0&quot; rel=&quot;nofollow&quot;&gt;10.1038/323533a0&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The paper that introduced backpropagation and resuscitated neural networks.&lt;/p&gt;&#xA;" OwnerUserId="9905" LastActivityDate="2012-06-27T20:49:11.590" CommentCount="0" CommunityOwnedDate="2012-06-27T20:49:11.590" ContentLicense="CC BY-SA 3.0" />
  <row Id="11854" PostTypeId="2" ParentId="10634" CreationDate="2012-06-27T21:01:49.343" Score="3" Body="&lt;p&gt;There is probably no one-size-fits-all answer to your question. But you may want to look into &lt;a href=&quot;http://en.wikipedia.org/wiki/Simulated_annealing&quot; rel=&quot;nofollow&quot;&gt;simulated annealing&lt;/a&gt; algorithms, or other approaches that rely on Markov chain Monte Carlo (MCMC) methods. These can also be combined with local methods like gradient descent.&lt;/p&gt;&#xA;" OwnerUserId="9905" LastActivityDate="2012-06-27T21:01:49.343" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11855" PostTypeId="1" AcceptedAnswerId="11866" CreationDate="2012-06-27T22:06:19.597" Score="103" ViewCount="48345" Body="&lt;p&gt;A lot of pathfinding algorithms have been developed in recent years which can calculate the best path in response to graph changes much faster than A* - what are they, and how do they differ?  Are they for different situations, or do some obsolete others?&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;These are the ones I've been able to find so far:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.frc.ri.cmu.edu/~axs/doc/icra94.pdf&quot; rel=&quot;noreferrer&quot;&gt;D*&lt;/a&gt; (1994)&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.frc.ri.cmu.edu/~axs/doc/ijcai95.pdf&quot; rel=&quot;noreferrer&quot;&gt;Focused D*&lt;/a&gt; (1995)&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.3.7926&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;noreferrer&quot;&gt;DynamicSWSF-FP&lt;/a&gt; (1996)&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://ccrg.soe.ucsc.edu/publications/shree.ton.pdf&quot; rel=&quot;noreferrer&quot;&gt;LPA&lt;/a&gt; (1997)&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://idm-lab.org/bib/abstracts/papers/nips2001.pdf&quot; rel=&quot;noreferrer&quot;&gt;LPA*/Incremental A*&lt;/a&gt; (2001)&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://idm-lab.org/bib/abstracts/papers/aaai02b.pdf&quot; rel=&quot;noreferrer&quot;&gt;D* Lite&lt;/a&gt; (2002)&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.cs.cmu.edu/~mmv/papers/02aaai-rune.pdf&quot; rel=&quot;noreferrer&quot;&gt;SetA*&lt;/a&gt; (2002)&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://abotea.rsise.anu.edu.au/data/hpastar.pdf&quot; rel=&quot;noreferrer&quot;&gt;HPA*&lt;/a&gt; (2004)&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.cs.cmu.edu/~ggordon/likhachev-etal.anytime-dstar.pdf&quot; rel=&quot;noreferrer&quot;&gt;Anytime D*&lt;/a&gt; (2005)&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.societyofrobots.com/robottheory/Partial_Pathfinding_Using_Map_Abstraction_and_Refinement.pdf&quot; rel=&quot;noreferrer&quot;&gt;PRA*&lt;/a&gt; (2005)&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://robots.stanford.edu/isrr-papers/final/final-23.pdf&quot; rel=&quot;noreferrer&quot;&gt;Field D*&lt;/a&gt; (2007)&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://idm-lab.org/bib/abstracts/papers/jair10b.pdf&quot; rel=&quot;noreferrer&quot;&gt;Theta*&lt;/a&gt; (2007)&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://harablog.files.wordpress.com/2009/01/haa.pdf&quot; rel=&quot;noreferrer&quot;&gt;HAA*&lt;/a&gt; (2008)&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.aamas-conference.org/Proceedings/aamas08/proceedings/pdf/paper/AAMAS08_0026.pdf&quot; rel=&quot;noreferrer&quot;&gt;GAA*&lt;/a&gt; (2008)&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.springerlink.com/content/b8m2765x57155226/?p=9286afb6eee64ea5b896fbc2c85353e8&amp;amp;pi=24&quot; rel=&quot;noreferrer&quot;&gt;LEARCH&lt;/a&gt; (2009)&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.springerlink.com/content/n0561782w7008m03/&quot; rel=&quot;noreferrer&quot;&gt;BDDD*&lt;/a&gt; (2009 - I cannot access this paper :|)&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://idm-lab.org/bib/abstracts/papers/ijcai09d.pdf&quot; rel=&quot;noreferrer&quot;&gt;Incremental Phi*&lt;/a&gt; (2009)&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www-scf.usc.edu/~xiaoxuns/GFRAstar.pdf&quot; rel=&quot;noreferrer&quot;&gt;GFRA*&lt;/a&gt; (2010)&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://idm-lab.org/bib/abstracts/papers/aamas10a.pdf&quot; rel=&quot;noreferrer&quot;&gt;MTD*-Lite&lt;/a&gt; (2010)&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.ifaamas.org/Proceedings/aamas2011/papers/A1_B44.pdf&quot; rel=&quot;noreferrer&quot;&gt;Tree-AA*&lt;/a&gt; (2011)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I'm not sure which of these apply to my specific problem - I'll read them all if necessary, but it would save me &lt;strong&gt;a lot&lt;/strong&gt; of time if someone could write up a summary.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;My specific problem:  I have a grid with a start, a finish, and some walls.  I'm currently using A* to find the best path from the start to the finish.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/fbO4P.png&quot; alt=&quot;Image2&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The user will then &lt;strong&gt;move one wall&lt;/strong&gt;, and I have to recalculate the entire path again.  The &lt;em&gt;&quot;move-wall/recalculate-path&quot;&lt;/em&gt; step happens many times in a row, so I'm looking for an algorithm that will be able to quickly recalculate the best path without having to run a full iteration of A*.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Though, I am not necessarily looking for an alteration to A* - it could be a completely separate algorithm.&lt;/p&gt;&#xA;" OwnerUserId="8532" LastEditorUserId="8532" LastEditDate="2019-11-04T18:49:18.597" LastActivityDate="2019-11-04T18:49:18.597" Title="How do the state-of-the-art pathfinding algorithms for changing graphs (D*, D*-Lite, LPA*, etc) differ?" Tags="&lt;ds.algorithms&gt;&lt;shortest-path&gt;" AnswerCount="6" CommentCount="12" FavoriteCount="119" CommunityOwnedDate="2012-06-29T18:03:56.037" ContentLicense="CC BY-SA 4.0" />
  <row Id="11856" PostTypeId="1" CreationDate="2012-06-27T23:54:35.490" Score="3" ViewCount="122" Body="&lt;p&gt;Suppose one has two rewrite rules $\to^\eta,\to^\beta$, both of which are confluent and such that $\to^A := \to^{(\eta \cup \beta)}$ is also confluent.  Define a &lt;strong&gt;$\beta$-normal form relative to $\eta$&lt;/strong&gt; to be $m$ such that&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$m$ is a $\beta$ normal form;&lt;/li&gt;&#xA;&lt;li&gt;$m \to^\eta n$ implies $n \to_{\beta}^* m$&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;One may think of $\to^\eta$ as being some kind of expansion that could prevent any term from having an $\to^A$ normal form.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does anyone know of a definition like this, and/or nice properties such as: &quot;relative normal forms if they exist are unique.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One &lt;em&gt;can&lt;/em&gt; show that if $\eta$ requests $\beta^*$ : i.e. if there is a divergence between $n \to^\eta n'$ and $n \to_{\beta}^* n''$ then there is a join $n' \to_{\beta}^* m$ and $n'' \to^\eta \cdot \to_\beta^* m$, then relative normal forms (if they exist) are unique.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In fact, one can show that if the confluence of $\to^A$ is proved by decreasing diagrams with $\eta$ bigger than $\beta$, then again the property holds.  Essentially one proves the following first: if $m$ is a relative normal form with &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\newcommand{\ra}[1]{\kern-1.5ex\xrightarrow{\ \ #1\ \ }\phantom{}\kern-1.5ex}&#xA;\newcommand{\ras}[1]{\kern-1.5ex\xrightarrow{\ \ \smash{#1}\ \ }\phantom{}\kern-1.5ex}&#xA;\newcommand{\da}[1]{\bigg\downarrow\raise.5ex\rlap{\scriptstyle#1}}&#xA;\begin{array}{c}&#xA; s &amp;amp; \ra{\eta} &amp;amp; t \\ &#xA;\da{\beta^*}\\&#xA; m&#xA;\end{array}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;then $t \to_\beta^* m$.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The above then implies that any $\to^A$ sequence leaving a relative normal form will return by a $\beta$ sequence.  This in turn, along with the confluence of $\to^A$ can be used to show that relative normal forms are unique.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I can certainly fill in the details if anyone likes; however, this seems like something that should be generally true.  Does anyone know of any such results or counterexamples?&lt;/p&gt;&#xA;" OwnerUserId="9907" LastEditorUserId="-1" LastEditDate="2012-11-11T06:05:07.507" LastActivityDate="2012-11-11T06:05:07.507" Title="Expansion normal forms of confluent term rewriting systems" Tags="&lt;lo.logic&gt;&lt;term-rewriting-systems&gt;&lt;normalization&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11857" PostTypeId="2" ParentId="11850" CreationDate="2012-06-27T23:55:16.153" Score="5" Body="&lt;p&gt;I don't know whether such algorithms are used in practice, but it seems that Markov's inequality should give you a sufficiently good bound on the probability of running for too long time, right?&lt;/p&gt;&#xA;" OwnerUserId="8429" LastActivityDate="2012-06-27T23:55:16.153" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11858" PostTypeId="2" ParentId="11794" CreationDate="2012-06-28T00:50:37.237" Score="4" Body="&lt;p&gt;In the puzzles, jumps are allowed on both lines, but they can't overlap. At the final rabbit-sequence doodle at the end of the game, they allow jumps on every line and they can be &lt;a href=&quot;https://i.stack.imgur.com/DOZcE.png&quot; rel=&quot;nofollow noreferrer&quot;&gt;bracket nested&lt;/a&gt; so  and [()] is allowed, but ([)] seems to not be allowed.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I will use the following assumptions:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;The tape starts with input (which is all $0$s and $1$s) followed by $\epsilon$ (blanks)&lt;/li&gt;&#xA;&lt;li&gt;The machine can use any fixed number of lines&lt;/li&gt;&#xA;&lt;li&gt;Left-jumps are allowed on any line (I will use one left jump per line)&lt;/li&gt;&#xA;&lt;li&gt;The machine can write $\epsilon$, $0$, and $1$.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;With these assumptions, the &lt;strong&gt;Google Doodle Machine is Turing Complete&lt;/strong&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I will show this by showing how to build the state system for any Turing machine (with a slightly non-standard definition). In each state the TM reads the input ($0$, $1$, or $\epsilon$), moves (left, right, or none) and then writes $0$ or $1$. The $n$th state is the designated halt state.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The required Google Doodle Machine (GDM) will need $3(n - 1) + 1$ lines each of length $5n + 1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/TbuM9.png&quot; alt=&quot;Google Doodle Machine&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For each TM state (except the halting one) we use 3 lines of the GDM. Each line corresponds to a possible input symbol $\epsilon$, $0$, or $1$. To reach the right state from the top line, we have down-ways, these carry $\epsilon$, $0$, or $1$ down to the proper line for each TM state. To reach the top again, we have up-ways, these carry $0$, or $1$ to the top line.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The GDM simulates the TM as follows:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Starts at the top left-corner of GDM, which correspond to the control for TM-state $1$.&lt;/li&gt;&#xA;&lt;li&gt;If in control corresponding to TM-state $j$, it reads the input and follows the path to the corresponding GDM line. &lt;/li&gt;&#xA;&lt;li&gt;Upon reach the correct line, the GDM writes $\epsilon$ to the tape. This allows the GDM to walk left on the line without snagging any of the up-ways (since those only carry $0$s and $1$s). There will be no down-ways to snag because of the design.&lt;/li&gt;&#xA;&lt;li&gt;The red box (is actually two boxes) writes down the read letter corresponding to the GDM line we are on (to undo the $\epsilon$-write earlier) and simulates the TM move (left, right, or nothing) &lt;/li&gt;&#xA;&lt;li&gt;The green box simulates the TM write ($0$ or $1$).&lt;/li&gt;&#xA;&lt;li&gt;The yellow box is a left-jump that jumps back to the correct up-way to transition to the next state (based on state-transition function of TM). Since the GDM has to write $0$ or $1$ in each state the previous step, it has to be carried by the up-way.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Pick your favorite universal TM and implement it in the above procedure to get a universal GDM.&lt;/p&gt;&#xA;" OwnerUserId="1037" LastEditorUserId="1037" LastEditDate="2012-06-28T01:03:01.433" LastActivityDate="2012-06-28T01:03:01.433" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11859" PostTypeId="2" ParentId="11850" CreationDate="2012-06-28T07:18:42.693" Score="7" Body="&lt;p&gt;Though I'm having trouble finding the exact exponent of the power laws they purport to exist, Kroc, Sabharwal and Selman have a paper called &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.186.188&amp;amp;rep=rep1&amp;amp;type=pdf&quot;&gt;&quot;An Empirical Study of Optimal Noise and Runtime Distributions in Local Search&quot;&lt;/a&gt; where they show &lt;a href=&quot;http://en.wikipedia.org/wiki/WalkSAT&quot;&gt;WalkSat&lt;/a&gt; (a local solver for SAT) has power law tails in the runtime.  If the power law does not fall within the range of $(2,3]$, then obviously this isn't quite what you're looking for, but maybe it's still of some use.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It looks like Gomes, Selman, Crato and Klautz also have a paper called &lt;a href=&quot;http://www.cs.rochester.edu/u/kautz/papers/jar.pdf&quot;&gt;&quot;Heavy-Tailed Phenomena in Satisﬁability and Constraint Satisfaction Problems&quot;&lt;/a&gt; though from a quick spot check it looks like they're reporting the exponent in the power law in the range of $(1,2)$ which would violate your finite first moment condition.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also Gomes, Selman and Crato published a paper called &lt;a href=&quot;http://pascal.iseg.utl.pt/~ncrato/papers/CP97.pdf&quot;&gt;&quot;Heavy-Tailed Distributions in Combinatorial Search&quot;&lt;/a&gt; which might be of some relevance.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;From what I understand, the sporadic nature of runtimes (for example, because of a power law behavior in running time) gives one a good reason to use random restarts and might even inform you as to when a restart should occur.  Figure 8a in the paper &quot;Heavy-Tailed Distributions in Combinatorial Search&quot; gives two run time plots, one without restarts and one with, where the algorithm with random restart clearly wins out.&lt;/p&gt;&#xA;" OwnerUserId="834" LastActivityDate="2012-06-28T07:18:42.693" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11860" PostTypeId="2" ParentId="11855" CreationDate="2012-06-28T08:14:35.620" Score="9" Body="&lt;p&gt;The main idea is to use an incremental algorithm, that is able to take advantage of the previous calculations when the initial calculated route gets blocked. This is often investigated in the context of robots, navigation and planning.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://pub1.willowgarage.com/~konolige/cs225b/dlite_tro05.pdf&quot;&gt;Koenig &amp;amp; Likkachev, Fast replanning for Navigation in Unknown Terrain, IEEE Transactions on Robotics, Vol. 21, No. 3, June 2005&lt;/a&gt; introduces D* Lite. It seems safe to say that D* is outdated in a sense that D* Lite is always as fast as D*. In addition, D* is complex, hard to understand, analyze and extend. Figure 9 gives the pseudocode for D* Lite, and Table 1 shows experimental results with D* Lite compared to BFS, Backward A*, Forward A*, DynamicSWSF-P and D*.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I do not know the newer algorithms you list (Anytime D*, Field D*, LEARCH). Very recently I saw a robot that used D* Lite for planning in an environment with random walkers in it. In this sense, I don't think D* Lite is outdated by no means. For your practical problem, I guess there's no harm in trying the usual engineering way: take some approach, and if it doesn't fit your needs, try something else (more complex). &lt;/p&gt;&#xA;" OwnerUserId="5693" LastActivityDate="2012-06-28T08:14:35.620" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11861" PostTypeId="1" CreationDate="2012-06-28T10:06:34.483" Score="9" ViewCount="400" Body="&lt;p&gt;I am looking for an algorithm to draw a mixed constituency/dependency graph (for a linguistic application). Such a graph would have two different types of vertices (tokens, nodes), and two different types of edges (hierarchical, non-hierarchical).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm new to graph theory and algorithms in general, and I hope that this question doesn't collide e.g. with the research-level requirements of this site. &lt;a href=&quot;https://cstheory.meta.stackexchange.com/questions/1541/are-graph-visualisation-algorithm-questions-in-the-scope-of-cstheory-stackexchan&quot;&gt;It should however generally be in the scope of cstheory&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The graph would have to be drawn bottom-up (I think), as all tokens should be displayed with the same y-coordinate, and the y-coordinates of nodes grouping tokens and/or nodes into constituents will have to be calculated dynamically, e.g., via their longest path to a token.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hierarchical edges (used for grouping tokens/nodes into constituents) should have a minimum number of bendpoints (ideally 0), but there should also be a minimum number of crossings, overwriting the former requirement if needs be.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Non-hierarchical edges (used for dependencies) should have a minimum number of crossings, and be drawn as Bézier curves.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The next best thing I have come across is the algorithm described by &lt;a href=&quot;http://dirk.jivas.de/papers/buchheim02improving.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Buchheim et al.&lt;/a&gt;, improving Walker's algorithm to run in linear time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Please do let me know should there be any need to improve my question, and thanks a lot in advance for any pointers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As pointed out in a comment, I should mention that I basically want a default graph layout by an algorithm, which I - in the long run - want to edit and revise within the &lt;a href=&quot;http://eclipse.org/gef/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Eclipse GEF&lt;/a&gt; possibilities. I have previously looked into options to get Graphviz to work with GEF, but there seems to be no working solution that preserves all editing functionality inherited from GEF.&lt;/p&gt;&#xA;" OwnerUserId="9788" LastEditorUserId="-1" LastEditDate="2017-03-16T15:45:13.547" LastActivityDate="2012-09-19T22:52:00.070" Title="Is there a suitable algorithm to draw a mixed constituency/dependency graph in a coordinate system?" Tags="&lt;ds.algorithms&gt;&lt;graph-algorithms&gt;&lt;cg.comp-geom&gt;&lt;graph-drawing&gt;" AnswerCount="1" CommentCount="10" ContentLicense="CC BY-SA 3.0" />
  <row Id="11862" PostTypeId="2" ParentId="8850" CreationDate="2012-06-28T14:05:47.710" Score="0" Body="&lt;p&gt;Bayesian filtering is not better than Neural Networks for classifying spam because Bayesian filtering cannot learn a spammer's tactics change but NNs can. &lt;/p&gt;&#xA;" OwnerUserId="9912" LastEditorUserId="80" LastEditDate="2012-06-29T06:12:21.090" LastActivityDate="2012-06-29T06:12:21.090" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11864" PostTypeId="2" ParentId="10634" CreationDate="2012-06-28T16:03:50.887" Score="1" Body="&lt;p&gt;there are many references on &quot;global optimization of neural networks&quot;. the techniques are similar to simulated annealing [see other answer]. the basic idea is to restart the network gradient descent starting at many different weight starting points, sampled randomly or systematically. each result of the gradient descent is then like a &quot;sample&quot;. the more samples are taken, the higher probability that one of the samples is the global optimum, especially if the target function is &quot;well behaved&quot; in the sense of continuous, differentiable, etcetera.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;online refs&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] &lt;a href=&quot;http://faime.demon.co.uk/~streetm/wcci_2002/IJCNN02/PDFFiles/Papers/1373.pdf&quot; rel=&quot;nofollow&quot;&gt;Global Optimization of Neural Network Weights&lt;/a&gt; by Hamm et al&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] &lt;a href=&quot;http://www.cs.uoi.gr/~lagaris/papers/PREPRINTS/globnn-npc.pdf&quot; rel=&quot;nofollow&quot;&gt;A global optimization approach to neural network training&lt;/a&gt; Voglis/Lagaris&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[3] &lt;a href=&quot;http://www.optimization-online.org/DB_FILE/2010/07/2685.pdf&quot; rel=&quot;nofollow&quot;&gt;Calibrating Artificial Neural Networks by Global Optimization&lt;/a&gt; Pinter&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[4] &lt;a href=&quot;http://www.mat.univie.ac.at/~neum/glopt/mss/BelA02&quot; rel=&quot;nofollow&quot;&gt;Global Optimization of Neural Networks using a Deterministic Hybrid Approach&lt;/a&gt; Beliakov&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[5] &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.1.6147&quot; rel=&quot;nofollow&quot;&gt;Global Optimization for Neural Network Training&lt;/a&gt; Shang/Wah&lt;/p&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="7884" LastEditDate="2012-06-28T16:09:00.770" LastActivityDate="2012-06-28T16:09:00.770" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11866" PostTypeId="2" ParentId="11855" CreationDate="2012-06-28T16:20:58.257" Score="84" Body="&lt;p&gt;So, I skimmed through the papers, and this is what I gleamed.  If there is anyone more knowledgable in the subject-matter, please correct me if I'm wrong &lt;em&gt;(or add your own answer, and I will accept it instead!)&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Links to each paper can be found in the question-post, above.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Simple recalculations&lt;/strong&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;D*&lt;/strong&gt; &lt;em&gt;(aka &lt;strong&gt;Dynamic A*&lt;/strong&gt;)&lt;/em&gt; (1994):  On the initial run, D* runs very similarly to A*, finding the best path from start to finish very quickly.  However, as the unit moves from start to finish, if the graph changes, D* is able to very quickly recalculate the best path from that unit's position to the finish, much faster than simply running A* from that unit's position again.  D*, however, has a reputation for being extremely complex, and has been completely obsoleted by the much simpler D*-Lite.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Focused D*&lt;/strong&gt; (1995):  An improvement to D* to make it faster/&quot;more realtime.&quot;  I can't find any comparisons to D*-Lite, but given that this is older and D*-Lite is talked about a lot more, I assume that D*-Lite is somehow better.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;DynamicSWSF-FP&lt;/strong&gt; (1996): Stores the distance from every node to the finish-node.  Has a large initial setup to calculate all the distances.  After changes to the graph, it's able to update only the nodes whose distances have changed.  Unrelated to both A* and D*.  Useful when you want to find the distance from multiple nodes to the finish after each change; otherwise, LPA* or D*-Lite are typically more useful.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;LPA*/Incremental A*&lt;/strong&gt; (2001):  LPA* &lt;em&gt;(Lifelong Planning A*)&lt;/em&gt;, also known as Incremental A* &lt;em&gt;(and sometimes, confusingly, as &quot;LPA,&quot; though it has no relation to the other algorithm named LPA)&lt;/em&gt; is a combination of DynamicSWSF-FP and A*.  On the first run, it is exactly the same as A*.  After minor changes to the graph, however, subsequent searches from the same start/finish pair are able to use the information from previous runs to drastically reduce the number of nodes which need to be examined, compared to A*.  This is exactly my problem, so it sounds like LPA* will be my best fit.  LPA* differs from D* in that it always finds the best path from the same start to the same finish; it is not used when the start point is moving &lt;em&gt;(such as units moving along the initial best path)&lt;/em&gt;.  However...&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;D*-Lite&lt;/strong&gt; (2002):  This algorithm uses LPA* to mimic D*; that is, it uses LPA* to find the new best path for a unit as it moves along the initial best path and the graph changes.  D*-Lite is considered much simpler than D*, and since it always runs &lt;em&gt;at least&lt;/em&gt; as fast as D*, it has completely obsoleted D*.  Thus, there is never any reason to use D*; use D*-Lite instead.&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Any-angle movement&lt;/strong&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Field D*&lt;/strong&gt; (2007):  A variant of D*-Lite which does not constrain movement to a grid; that is, the best path can have the unit moving along any angle, not just 45- (or 90-)degrees between grid-points.  Was used by NASA to pathfind for the Mars rovers.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Theta*&lt;/strong&gt; (2007): A variant of A* that gives better (shorter) paths than Field D*.  However, because it is based on A* rather than D*-Lite, it does not have the fast-replanning capabilities that Field D* does.  &lt;a href=&quot;http://aigamedev.com/open/tutorials/theta-star-any-angle-paths/&quot;&gt;See also&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Incremental Phi*&lt;/strong&gt; (2009): The best of both worlds.  A version of Theta* that is incremental &lt;em&gt;(aka allows fast-replanning)&lt;/em&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Moving Target Points&lt;/strong&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;GAA*&lt;/strong&gt; (2008): GAA* &lt;em&gt;(Generalized Adaptive A*)&lt;/em&gt; is a variant of A* that handles moving target points.  It's a generalization of an even earlier algorithm called &quot;Moving Target Adaptive A*&quot;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;GRFA*&lt;/strong&gt; (2010): GFRA* &lt;em&gt;(Generalized Fringe-Retrieving A*)&lt;/em&gt; appears (?) to be a generalization of GAA* to arbitrary graphs &lt;em&gt;(ie. not restricted to 2D)&lt;/em&gt; using techniques from another algorithm called FRA*.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;MTD*-Lite&lt;/strong&gt; (2010): MTD*-Lite &lt;em&gt;(Moving Target D*-Lite)&lt;/em&gt; is &quot;an extension of D* Lite that uses the principle behind Generalized Fringe-Retrieving A*&quot; to do fast-replanning moving-target searches.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Tree-AA*&lt;/strong&gt; (2011): (???) Appears to be an algorithm for searching unknown terrain, but is based on Adaptive A*, like all other algorithms in this section, so I put it here.  Not sure how it compares to the others in this section.&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Fast/Sub-optimal&lt;/strong&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Anytime D*&lt;/strong&gt; (2005):  This is an &lt;em&gt;&quot;Anytime&quot;&lt;/em&gt; variant of D*-Lite, done by combining D*-Lite with an algorithm called &lt;em&gt;Anytime Repairing A*&lt;/em&gt;.  An &quot;Anytime&quot; algorithm is one which can run under any time constraints - it will find a very suboptimal path very quickly to begin with, then improve upon that path the more time it is given.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;HPA*&lt;/strong&gt; (2004): HPA* &lt;em&gt;(Hierarchical Path-Finding A*)&lt;/em&gt; is for path-finding a large number of units on a large graph, such as in RTS &lt;em&gt;(real-time strategy)&lt;/em&gt; video games.  They will all have different starting locations, and potentially different ending locations.  HPA* breaks the graph into a hierarchy in order to quickly find &lt;em&gt;&quot;near-optimal&quot;&lt;/em&gt; paths for all these units much more quickly than running A* on each of them individually.  &lt;a href=&quot;http://aigamedev.com/open/article/clearance-based-pathfinding/&quot;&gt;See also&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;PRA*&lt;/strong&gt; (2005): From what I understand, PRA* &lt;em&gt;(Partial Refinement A*)&lt;/em&gt; solves the same problem as HPA*, but in a different way.  They both have &lt;em&gt;&quot;similar performance characteristics.&quot;&lt;/em&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;HAA*&lt;/strong&gt; (2008): HAA* &lt;em&gt;(Hierarchical Annotated A*)&lt;/em&gt; is a generalization of HPA* that allows for restricted traversal of some units over some terrains (ex. a small pathway that some units can walk through but larger ones can't; or a hole that only flying units can cross; etc.)&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Other/Unknown&lt;/strong&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;LPA&lt;/strong&gt; (1997): LPA &lt;em&gt;(Loop-free path-finding algorithm)&lt;/em&gt; appears to be a &lt;a href=&quot;http://en.wikipedia.org/wiki/Routing_algorithm&quot;&gt;routing-algorithm&lt;/a&gt; only marginally related to the problems the other algorithms here solve.  I only mention it because this paper is confusingly (and incorrectly) referenced on several places on the Internet as the paper introducing LPA*, which it is not.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;LEARCH&lt;/strong&gt; (2009):  LEARCH is a combination of machine-learning algorithms, used to teach robots how to find near-optimal paths on their own.  The authors suggest combining LEARCH with Field D* for better results.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;BDDD*&lt;/strong&gt; (2009): ??? I cannot access the paper.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;SetA*&lt;/strong&gt; (2002): ??? This is, apparently, a variant of A* that searches over the &lt;em&gt;&quot;binary decision diagram&quot;&lt;/em&gt; (BDD) model of the graph?  They claim that it runs &lt;em&gt;&quot;several orders of magnitude faster than A*&quot;&lt;/em&gt; in some cases.  However, if I'm understanding correctly, those cases are when each node on the graph has many edges?&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Given all this, it appears that &lt;strong&gt;LPA*&lt;/strong&gt; is the best fit for my problem.&lt;/p&gt;&#xA;" OwnerUserId="8532" LastEditorUserId="8532" LastEditDate="2012-07-13T21:05:48.473" LastActivityDate="2012-07-13T21:05:48.473" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="11867" PostTypeId="2" ParentId="11023" CreationDate="2012-06-28T16:23:37.723" Score="1" Body="&lt;p&gt;As pointed out by Rong, for gradient descent to converge the learning rate $\eta$ has to be chosen appropriately. It has to be large enough that every update determines a big enough change in the weights, but it has to be small enough not to overshoot the local minimum of the cost function. You may want to take a look at this paper that analyzes some sufficient conditions for gradient descent to work&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Armijo, Larry (1966). &lt;a href=&quot;http://projecteuclid.org/euclid.pjm/1102995080&quot; rel=&quot;nofollow&quot;&gt;&quot;Minimization of functions having Lipschitz continuous first partial derivatives&quot;&lt;/a&gt;. Pacific J. Math. 16 (1): 1–3.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="9905" LastActivityDate="2012-06-28T16:23:37.723" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11868" PostTypeId="2" ParentId="11257" CreationDate="2012-06-28T17:09:44.073" Score="1" Body="&lt;p&gt;A baseline against which the performance of a classifier can be compared is a naive classifier that only exploits obvious biases in the data. The idea is that if your classifier doesn't do much better than a random biased guess, it is not a very good one. Or it might be that the data doesn't allow you to extract much information.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In general, the answer as to what is a good test performance is problem and application dependent. A useful approach is therefore to apply one's classifiers and algorithms to well-known problems and benchmarks, so that it's possible to compare one's performance to the current state-of-the-art. An example of such a standard benchmark is for instance the &lt;a href=&quot;http://yann.lecun.com/exdb/mnist/&quot; rel=&quot;nofollow&quot;&gt;MNIST data base of handwritten digits&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="9905" LastActivityDate="2012-06-28T17:09:44.073" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11870" PostTypeId="2" ParentId="11815" CreationDate="2012-06-28T21:37:14.440" Score="-1" Body="&lt;p&gt;You might want to take a look at Judy arrays:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Judy_array&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/Judy_array&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://judy.sourceforge.net/&quot; rel=&quot;nofollow&quot;&gt;http://judy.sourceforge.net/&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="9918" LastActivityDate="2012-06-28T21:37:14.440" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11874" PostTypeId="1" AcceptedAnswerId="11876" CreationDate="2012-06-29T08:35:41.863" Score="-1" ViewCount="1504" Body="&lt;p&gt;I have this Kripke model $M$:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;\begin{array}{ccccccc}&#xA;  \to &amp;amp; (p, q) &amp;amp; \to &amp;amp; (\neg p, \neg q) &amp;amp; \to &amp;amp; (p, \neg q) \\&#xA;  &amp;amp; \circlearrowright &amp;amp; &amp;amp; &amp;amp; &amp;amp; \circlearrowright &amp;amp; \\&#xA;\end{array}&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where $(p, \neg q)$ means “$p$ and not $q$” and $\circlearrowright$ is a self loop.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now I cannot wrap my mind as to why:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$M \vDash \mathop{\mathbf{A}}\mathop{\mathbf{F}}\mathop{\mathbf{A}}\mathop{\mathbf{G}}p$ is false in CTL;&lt;/li&gt;&#xA;&lt;li&gt;$M \vDash \mathop{\mathbf{A}}\mathop{\mathbf{F}}\mathop{\mathbf{G}}p$ is true in CTL&lt;sup&gt;*&lt;/sup&gt;.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;If you have a reasonable explanation for the above I might post a second analogous example which might disprove your intuition.&lt;/p&gt;&#xA;" OwnerUserId="9920" LastEditorUserId="4155" LastEditDate="2013-01-18T06:48:43.813" LastActivityDate="2013-01-18T06:48:43.813" Title="Kripke model and LTL vs CTL formulae interpretation" Tags="&lt;lo.logic&gt;&lt;model-checking&gt;&lt;temporal-logic&gt;" AnswerCount="2" CommentCount="4" ClosedDate="2013-01-16T21:56:49.700" ContentLicense="CC BY-SA 3.0" />
  <row Id="11875" PostTypeId="2" ParentId="11874" CreationDate="2012-06-29T09:36:43.187" Score="0" Body="&lt;p&gt;Lets name the states $s_1,s_2,s_3$, from left to right.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First, we show why the first formula is false:&#xA;In order to see this, we first need to check which states satisfy the sub-formula $AG(p)$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$s_3$ satisfies $AG(p)$ because there is only one infinite computation starting from $s_3$ which is $s_3^\omega$. However, $s_1$ does not satisfy $AG(p)$ since there is a computation, namely $s_1 s_2 s_3^\omega$, starting from $s_1$ that does not satisfy $AG(p)$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Next, we check if $s_1$ satisfies $AFAG(p)$. By the above, we need to check, informally, if $s_1$ satisfies $AF(s_3)$. Clearly, it doesn't because of the computation $s_1^\omega$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Next, we show that the structure satisfies $AFG(p)$:&#xA;The computations starting from $s_1$ have one of two formats: either $s_1^\omega$ or $s_1^* \cdot s_2 \cdot s_3^\omega$ (i.e., a finite prefix of $s_1$ and visit to $s_2$ and an infinite suffix of $s_3$). A computation of this form satisfies $FG(p)$, because it either ends in $s_3$ or $s_1$. Since these are all the computations starting from $s_1$ we have that $s_1$ satisfies $AFG(p)$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I hope this helps..&lt;/p&gt;&#xA;" OwnerUserId="1536" LastActivityDate="2012-06-29T09:36:43.187" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="11876" PostTypeId="2" ParentId="11874" CreationDate="2012-06-29T11:16:04.083" Score="3" Body="&lt;p&gt;Intuitively, what happens here is that for $AFGp$, you check each individual path for whether after some point, $p$ will always be true - no matter what other choices are available in a given state.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In particular, for the path which always stays in the first state, this is true even though a $\neg p$-state is reachable. On all other paths it is true because they eventually reach the third state.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the case of $AFAGp$, the second path quantifier &quot;overwrites&quot; the first in a sense: here you have to check whether for all paths, you eventually reach a state such that all paths from that state - not just the one you were originally following - always satisfy $p$. For the path staying in the first state, this is not true, because there is always a branch going to the second state.&lt;/p&gt;&#xA;" OwnerUserId="5183" LastEditorUserId="5183" LastEditDate="2012-06-29T17:29:51.320" LastActivityDate="2012-06-29T17:29:51.320" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="11880" PostTypeId="2" ParentId="11815" CreationDate="2012-06-29T18:25:58.147" Score="2" Body="&lt;p&gt;Yes, there is a name for it: Hashtable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can have whatever you want for collision bins: Lists, trees, hashtables, whatever you fancy.&lt;/p&gt;&#xA;" OwnerUserId="7794" LastActivityDate="2012-06-29T18:25:58.147" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11881" PostTypeId="1" AcceptedAnswerId="11883" CreationDate="2012-06-29T19:16:52.187" Score="13" ViewCount="250" Body="&lt;p&gt;If you're given a collection of partial orders, topological sort will tell you if there's an extension of the collection to a total order (an extension in this case is a total order consistent with each of the partial orders). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I've come across a variation:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Fix a set $V$. You're given sequences $\sigma_1, \ldots \sigma_k$ of&#xA;  elements drawn from $V$ without repetition (the sequences are of&#xA;  length between 1 and $|V|$). &lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;Is there a way to fix orientations for each of the sequences (either&#xA;  forward or reverse) so that the resulting collection of chains (viewed&#xA;  as a partial order) admits an extension ?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Is this problem well-known ? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; The orientation is chosen for an entire sequence. So if the sequence is $1-2-4-5$, you can either keep it that way, or flip it to $5-4-2-1$, but you can't do anything else. &lt;/p&gt;&#xA;" OwnerUserId="80" LastEditorUserId="186" LastEditDate="2012-07-02T07:44:57.533" LastActivityDate="2012-07-02T07:44:57.533" Title="A question on linear extensions of partial orders" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;order-theory&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="11882" PostTypeId="1" CreationDate="2012-06-29T19:33:15.607" Score="10" ViewCount="287" Body="&lt;p&gt;There seem to be many randomized algorithms for polynomial identity testing, checking whether or not a given polynomial is zero.  Are there any results of algorithms that do some sort of estimation of polynomials over a specific set of points? This could be, for instance, approximating for what fraction of these points the polynomial evaluates to zero, or approximating the average value of the polynomial over these points?  The set of points can be specific to the algorithm.&lt;/p&gt;&#xA;" OwnerUserId="9927" LastEditorUserId="9928" LastEditDate="2012-07-02T15:45:28.900" LastActivityDate="2012-07-02T16:35:12.490" Title="What are some results on algorithms that estimate polynomials over a given set of points?" Tags="&lt;ds.algorithms&gt;&lt;approximation-algorithms&gt;&lt;randomized-algorithms&gt;&lt;derandomization&gt;&lt;polynomials&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11883" PostTypeId="2" ParentId="11881" CreationDate="2012-06-29T19:51:25.943" Score="14" Body="&lt;p&gt;If every sequence has length 3, the problem is known as &lt;strong&gt;Betweenness&lt;/strong&gt;. Even the Betweenness problem is NP-hard. In this problem, we are given a set of vertices and a set of constraints of the form $u$ lies between $v$ and $w$. Our goal is to order all vertices so as to maximize the number of satisfied constraints. Opantry [1] proved that the decision version of this problem is NP-hard. Chor and Sudan [2] proved that it is SNP-hard. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The best known approximation algorithm for the problem, by Chor and Sudan, satisfies 1/2 of all constraints if the instance is completely satisfiable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] J. Opantry. &lt;em&gt;Total Ordering Problem, SIAM Journal on Computing&lt;/em&gt;, 8(1):111—114, Feb. 1979.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] B. Chor and M. Sudan. &lt;em&gt;A geometric approach to betweenness&lt;/em&gt;, SIAM Journal on Discrete&#xA;Mathematics, 11(4):511-523, Nov. 1998.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edits:&lt;/strong&gt; clarified that the decision version of the problem is NP-hard.&lt;/p&gt;&#xA;" OwnerUserId="9929" LastEditorUserId="9929" LastEditDate="2012-06-29T20:23:51.937" LastActivityDate="2012-06-29T20:23:51.937" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="11884" PostTypeId="2" ParentId="11815" CreationDate="2012-06-29T20:37:27.343" Score="2" Body="&lt;p&gt;You call them “the structure from Knuth 6.4 exercise 38”.  This is a bit unfair because it does not give credit to P. F. Windley who has suggested this structure first, but then anyone can look up that information in Knuth easily.  &lt;/p&gt;&#xA;" OwnerUserId="8067" LastActivityDate="2012-06-29T20:37:27.343" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11886" PostTypeId="2" ParentId="11597" CreationDate="2012-06-30T01:07:24.163" Score="8" Body="&lt;p&gt;Although this does not resolve the question you raise, some of the previous comments consider approximation algorithms.  FWIW, I think a PTAS (poly-time approximation scheme) is possible using dynamic programming.  Here's the idea.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given any instance and $\epsilon &amp;gt; 0$, build a solution as follows.  Mark every $(1/\epsilon)$'th vertex.  For each marked vertex $i$, from all of the edges $(j,k)$ that &quot;span&quot; $i$ (i.e., that satisfy the constraint (1) for $i$), choose one edge that minimizes $j$ and one that &lt;s&gt;minimizes&lt;/s&gt; maximizes $k$.  Add these $2 \epsilon n$ edges to the solution.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;These edges satisfy the constraints of type (1) for many of the vertices.  Meanwhile they contribute $2n\epsilon$ edges to the solution, which is only $O(\epsilon \mbox{OPT})$.  To finish, we will find an optimal solution to the remaining problem of finding a set of edges that meets all remaining type (1) and type (2) constraints.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Define a &quot;block&quot; of vertices to be a set of consecutive vertices whose type (1) constraints are met by the edges added so far.  Between any two consecutive blocks, there is a sequence of vertices whose type (1) constraints are not met.  (Any such sequence has length at most $1/\epsilon$, because the marked vertices have their type (1) constraints met by the edges already added.)  Call any such sequence a &quot;neighborhood&quot; of the two adjacent blocks (so each block has a neighborhood to its left and a neighborhood to its right).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Within each neighborhood, for each vertex in the neighborhood, each edge leaving the vertex spans a distance of at most $1/\epsilon$ (because the edge doesn't span any marked vertex).  Thus, the vertex has degree at most $1/\epsilon$.  Thus, each neighborhood has at most $1/\epsilon$ vertices and touches at most $1/\epsilon^2$ edges.  Call any subset of those edges a &quot;configuration&quot; of the neighborhood.  If a configuration meets all of the type (1) and type (2) constraints for the vertices in the neighborhood, call the configuration &quot;valid&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For each block $i$, for each pair $(C_i, C_{i+1})$ of valid configurations of the block's two neighborhoods, compute (in polynomial time, using maximum matching etc), the minimum size $F_i(C_i,C_{i+1})$ of any set $S$ of edges (if any exists) such that the edges in $C_i\cup S \cup C_{i+1}$ meet the type (2) constraints for the vertices in the block.  Since there are at most $2^{1/\epsilon^2} = O(1)$ configurations, this can be done in polynomial time (for fixed eps).  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now you can solve the original instance by finding a sequence $D_1, D_2, .., D_k$ of valid configurations, one for each neighborhood, that minimizes $\sum_i |D_i| + F_i(D_i, D_{i+1})$, where $F_i$ is as defined in the previous paragraph.  This can be done by finding a shortest path in the graph formed by all valid configurations, with an edge of cost $|D_i| + F_i(D_i, D_{i+1})$ from each configuration $D_i$ for neighborhood $i$ to each configuration $D_{i+1}$ for neighborhood $i+1$.  (This graph has size $O(2^{1/\epsilon^2} n)$, which is $O(n)$ for fixed $\epsilon$.)&lt;/p&gt;&#xA;" OwnerUserId="8237" LastEditorUserId="8237" LastEditDate="2012-08-27T09:53:24.013" LastActivityDate="2012-08-27T09:53:24.013" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="11889" PostTypeId="1" AcceptedAnswerId="11939" CreationDate="2012-06-30T04:41:36.677" Score="5" ViewCount="3483" Body="&lt;p&gt;Are there any algorithms to draw a billion node graph or to aggregate the information? The idea would be to allow for it to be parallelized using map reduce so it could be done in realtime&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I was wondering if there were any other algorithms? A google search turned up nothing.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Very large graph drawing I have found are as follows&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www2.research.att.com/~yifanhu/GALLERY/GRAPHS/&quot; rel=&quot;nofollow&quot;&gt;http://www2.research.att.com/~yifanhu/GALLERY/GRAPHS/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Below is a sketch of an algorithm I thought up.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Specifically one that you can pan around and zoom? I thought of the following algorithm.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Take a graph layout algorithm (a force directed layout algorithm)&lt;/li&gt;&#xA;&lt;li&gt;Create a window of locality using a graph metric that you define&lt;/li&gt;&#xA;&lt;li&gt;Draw everything in an epsilon of that graph metric.&lt;/li&gt;&#xA;&lt;li&gt;Iterate the window throughout a n-dimentional space. Where n is defined as the amount of data points you have and a tag is a $S \in $ the set of strings. (vertex, edge, $tag_{1}$,  ...  $tag_{n})&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;--Begin amended algorithm--&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Step 5 is due to @vzn answer: Add a visualization of local regions. Therefore we define a region as a set of points that are &quot;close&quot; due to some locality measure. Pagerank is an example so you have a pagerank of 2 you are in the region.&lt;/p&gt;&#xA;" OwnerUserId="5385" LastEditorUserId="5385" LastEditDate="2012-07-05T23:53:12.200" LastActivityDate="2013-04-19T09:01:42.247" Title="An algorithm to efficiently draw a extremely large graph in real time" Tags="&lt;reference-request&gt;&lt;graph-theory&gt;&lt;cg.comp-geom&gt;&lt;graph-drawing&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="11890" PostTypeId="1" AcceptedAnswerId="22743" CreationDate="2012-06-30T05:50:01.880" Score="14" ViewCount="583" Body="&lt;p&gt;What is the best known query complexity of Goldreich-Levin learning algorithm?&#xA;&lt;a href=&quot;http://lucatrevisan.wordpress.com/2009/03/09/cs276-lecture-12-goldreich-levin/&quot;&gt;Lecture notes from Luca Trevisan's blog&lt;/a&gt;, Lemma 3, states it as $O(1/\epsilon^4 n \log n)$.&#xA;Is this the best known in terms of dependence on $n$? I will be particularly grateful for a reference to a citable source! &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Related question: what is the best known query complexity of Kushilevitz-Mansour learning algorithm?&lt;/p&gt;&#xA;" OwnerUserId="254" LastEditorUserId="186" LastEditDate="2012-07-02T07:54:45.913" LastActivityDate="2014-06-01T15:23:05.310" Title="Best query complexity of Goldreich-Levin / Kushilevitz-Mansour learning algorithm" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;lg.learning&gt;&lt;fourier-analysis&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11891" PostTypeId="1" CreationDate="2012-06-30T10:42:11.697" Score="14" ViewCount="6881" Body="&lt;p&gt;I am looking for information about the computational complexity of matrix multiplication of rectangular matrices. Wikipedia states that the complexity of multiplying $A \in \mathbb{R}^{m \times n}$ by $B \in \mathbb{R}^{n \times p}$ is $O(mnp)$ (schoolbook multiplication).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have a case where $m$ and $n$ are much smaller than $p$, and I was hoping to get better complexity than linear in $p$, on the expense of making the dependence on $m$ and $n$ worse than linear.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any ideas?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note: the reason I am hoping for it to be possible is because of the well known result of less than cubic dependence in $p$ if $m=n=p$ (when matrices are all squares).&lt;/p&gt;&#xA;" OwnerUserId="9936" LastEditorUserId="186" LastEditDate="2012-07-02T07:59:12.117" LastActivityDate="2012-07-02T07:59:12.117" Title="The computational complexity of matrix multiplication" Tags="&lt;cc.complexity-theory&gt;&lt;time-complexity&gt;&lt;linear-algebra&gt;&lt;matrix-product&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="11892" PostTypeId="1" AcceptedAnswerId="11954" CreationDate="2012-06-30T11:44:17.873" Score="6" ViewCount="319" Body="&lt;p&gt;Tarjan described a procedure for decomposing a graph using clique separators in &quot;Decomposition by clique separators&quot;, RE Tarjan - Discrete mathematics, 1985 - Elsevier. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;He also proposed different divide-and-conquer algorithms for various graph problems such as maximum clique, minimum coloring and maximum independent set. An atom is a subgraph of a graph that does not contain a separator. If one can solve the problem efficiently in the atoms (local solutions) then Tarjan describes in the same paper how to extend these local solutions to a global solution. Therefore characterization of the atoms is very important. For example an atom of a chordal graph is a clique and the atoms of an edge intersection graphs of paths in a tree are exactly line graphs of a multigraph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am wondering the characterization of atoms for other graph classes like for example disk graphs or AT-free graphs.&lt;/p&gt;&#xA;" OwnerUserId="2296" LastEditorUserId="186" LastEditDate="2012-07-02T07:56:19.763" LastActivityDate="2012-07-06T16:55:52.787" Title="Decomposition by Clique Separators" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;separation&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11894" PostTypeId="1" CreationDate="2012-06-30T17:18:00.637" Score="8" ViewCount="1144" Body="&lt;p&gt;If I have an one-bit uniform random generator, how can I use it to generate a permutation uniformly for the sequence {1, 2, ..., n}.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have a solution:  run the one-bit random generator n*n times to decide if each pair of elements will be exchanged.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The complexity is O(n*n).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I want to know if there more efficiency solution? What is the lower bound for this problem?  &lt;/p&gt;&#xA;" OwnerUserId="9938" LastEditorUserId="186" LastEditDate="2012-07-02T07:42:50.983" LastActivityDate="2012-07-02T07:42:50.983" Title="How to generate a permutation uniformly by repeating using an one-bit uniform random generator?" Tags="&lt;ds.algorithms&gt;&lt;lower-bounds&gt;&lt;randomized-algorithms&gt;" AnswerCount="1" CommentCount="10" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="11896" PostTypeId="2" ParentId="11894" CreationDate="2012-07-01T02:52:08.207" Score="21" Body="&lt;p&gt;Your solution does not work (or I don't understand it): the resulting permutation would not be uniformly random.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To Sasho Nikolov, this &lt;em&gt;is&lt;/em&gt; a research topic and is actually the topic (among others) of a paper I have recently submitted, where I provide an optimal algorithm. I can give you an idea of the lower bound. Indeed, you would have to distinguish between n! different permutations, so theoretically you would need at least log2(n!) bits exactly. But Knuth and Yao show in their seminal paper (&lt;a href=&quot;http://scholar.google.com/scholar?hl=en&amp;amp;q=%22The%20complexity%20of%20nonuniform%20random%20number%22&amp;amp;btnG=&amp;amp;as_sdt=1,5&amp;amp;as_sdtp=&quot; rel=&quot;noreferrer&quot;&gt;&quot;The complexity of nonuniform random number&quot;&lt;/a&gt;), that because of &quot;rounding errors&quot; (to simplify), the actually random-bit complexity is between log2(n!) and log2(n!) + 2, that those are the best bounds, and in addition they provide an exact expression in terms of entropy of the distribution (in this case the uniform distribution).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It can (and has) been shown that the exact complexity involves fluctuations periodic in log2(n), much like the average complexity of divide-and-conquer algorithms such as QuickSort. (Such details are routinely hidden by the traditional sledge-hammer approach known as the &quot;&lt;a href=&quot;http://en.wikipedia.org/wiki/Master_theorem&quot; rel=&quot;noreferrer&quot;&gt;Master theorem&lt;/a&gt;&quot; :-).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/GW3nl.png&quot; alt=&quot;The (optimal) expected number of random bits (y-axis) needed to distinguish between N (x-axis) choices.&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, supposing you have your random number X, the bijection between the number and the corresponding permutation is a subproblem of what is more largely referred to as &quot;unranking&quot;. &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.100.9588&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;noreferrer&quot;&gt;Martinez and Molinero&lt;/a&gt; have devised a nice general framework based on a popular random generation framework introduced by Wilf and Nijenhuis and formalized by &lt;a href=&quot;http://algo.inria.fr/flajolet/Publications/gener.ps.gz&quot; rel=&quot;noreferrer&quot;&gt;Flajolet et al.&lt;/a&gt;. But for permutations it is a much simpler problem: you consider the factorial-base expansion of X to get the random integers needed for the Fisher-Yates algorithm. See the following for more info:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Factorial_number_system&quot; rel=&quot;noreferrer&quot;&gt;http://en.wikipedia.org/wiki/Factorial_number_system&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Fisher%E2%80%93Yates_shuffle&quot; rel=&quot;noreferrer&quot;&gt;http://en.wikipedia.org/wiki/Fisher%E2%80%93Yates_shuffle&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT:&lt;/strong&gt; added the image which shows the optimal number of expected random bits needed to distinguish between N choices.&lt;/p&gt;&#xA;" OwnerUserId="6088" LastEditorUserId="6088" LastEditDate="2012-07-01T03:46:30.603" LastActivityDate="2012-07-01T03:46:30.603" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="11897" PostTypeId="1" CreationDate="2012-07-01T03:06:39.410" Score="2" ViewCount="254" Body="&lt;p&gt;I know that graph contractability is NP-complete: given $G=(V_1,E_1)$ and $H=(V_2,E_2)$, can a graph isomorphic to $H$ be obtained from $G$ by a sequence of edge contractions?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider the following variant of the contractibility problem.  Each node in the input graph is labeled with a unique bit-string of arbitrary length.  The similarity of two nodes is defined to be the length of the longest common prefix of their labels; the weight of an edge is the similarity between its endpoints.  At each step, we are allowed contract any &lt;em&gt;maximum&lt;/em&gt;-weight edge $(u,v)$ and label the new node with the longest common prefix of the labels of $u$ and $v$.  (There may be several maximum-weight edges.)  However, we must also preserve label uniqueness; if some other node already has the new label, we cannot contract the edge $(u,v)$.  Our goal is to &lt;em&gt;minimize&lt;/em&gt; the total length of the node labels.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Are the following problems NP-hard?&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Given a labeled graph $G$, find a sequence of legal contractions that minimizes the total length of all node labels in the resulting graph.&lt;/strong&gt;  &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Given two labeled graphs $G$ and $H$, is there a sequence of legal contractions that transforms $G$ into $H$?&lt;/strong&gt; &lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="9942" LastEditorUserId="186" LastEditDate="2012-07-02T07:46:54.567" LastActivityDate="2012-07-02T07:46:54.567" Title="Help with an np-completeness proof" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;&lt;np&gt;" AnswerCount="0" CommentCount="6" ClosedDate="2012-07-02T07:46:59.963" ContentLicense="CC BY-SA 3.0" />
  <row Id="11898" PostTypeId="1" CreationDate="2012-07-01T03:09:48.217" Score="26" ViewCount="1462" Body="&lt;p&gt;I'm sure everybody knows of &lt;a href=&quot;http://en.wikipedia.org/wiki/Buffon%27s_needle&quot; rel=&quot;nofollow&quot;&gt;Buffon's needle&lt;/a&gt; experiment in the 18th century, that is one of the first probabilistic algorithms to calculate $\pi$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The implementation of the algorithm in computers usually calls for the use of $\pi$, or a trigonometric function, which, even if they are implemented as truncated series, sort of defeats the purpose.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To circumvent this issue, there is the well-known rejection-method algorithm: draw coordinates in the unit square, and see whether they belong to the unit quarter circle. This consists in drawing two uniform reals $x$ and $y$ in (0,1), and counting them only if $x^2+y^2 &amp;lt; 1$. In the end, the number of coordinates that have been kept divided by the total number of coordinates is an approximation of $\pi$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This second algorithm is usually passed off as Buffon's needle, thought it is considerably different. Unfortunately, I have not been able to track down who originated it. Does anybody have any information (documented, or at worst undocumented) as to who/when this idea originated?&lt;/p&gt;&#xA;" OwnerUserId="6088" LastEditorUserId="4896" LastEditDate="2013-12-22T06:24:15.357" LastActivityDate="2014-04-21T09:02:19.277" Title="Who first proposed using $x^2+y^2 &lt; 1$ Monte Carlo algorithm to calculate Pi?" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;randomized-algorithms&gt;&lt;ho.history-overview&gt;&lt;monte-carlo&gt;" AnswerCount="1" CommentCount="9" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11899" PostTypeId="1" CreationDate="2012-07-01T06:08:46.087" Score="11" ViewCount="647" Body="&lt;p&gt;Given a graph with weighted edges, how can we find a negative cycle that contains at least one vertex in a given vertex set $\{V_1, V_2, \ldots, V_k\}$? Thanks.&lt;/p&gt;&#xA;" OwnerUserId="2522" LastEditorUserId="2522" LastEditDate="2012-07-01T10:13:30.100" LastActivityDate="2012-07-02T05:25:29.363" Title="Find negative cycle with vertex constraints" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11901" PostTypeId="1" AcceptedAnswerId="11903" CreationDate="2012-07-01T09:04:38.523" Score="5" ViewCount="173" Body="&lt;p&gt;Alice wants to communicate an arbitrary $x \in \{0 ,1\}^n$ to Bob. Alice and Bob communicate&#xA;in rounds, in each round Alice (or Bob) applies a unitary transformation on his/her part and&#xA;transmits a qubit to the other side, until at the end Bob measures his state and tries to infer&#xA;x. The protocol is successful if for every $x \in \{0,1\}^n$ Bob succeeds with probability 1. Let&#xA;$n_A / n_B$ be the number of messages sent by Alice / Bob respectively.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now I want to show that for any successful protocol we must have $n_A \geq  \lceil n/2 \rceil $, and $n_A+n_B \geq n$, and I need to show that the same argument above follows also for p-successful protocols, i.e if there's a p-successful protocol then the ineqaulities above should also follow for this protocol; a p-successful protocol is one in which Bob succeeds with probability p.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any hints or prefereably bibliography where this or similar problem is disscused?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks.&lt;/p&gt;&#xA;" OwnerUserId="9593" LastActivityDate="2012-07-01T14:08:19.143" Title="Communicating a string of zeros and ones quantumly" Tags="&lt;quantum-computing&gt;&lt;quantum-information&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11902" PostTypeId="1" AcceptedAnswerId="12045" CreationDate="2012-07-01T11:37:33.600" Score="12" ViewCount="596" Body="&lt;p&gt;Define a &quot;problem&quot; to be an algorithm $A$ accepting a natural number and returning 0 or 1 which returns $1$ on at least one $n \in \mathbb{N}$. Any such $n$ is called a &quot;solution&quot; to $A$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Define a &quot;universal problem solver&quot; to be an algorithm $U$ accepting a problem and returning one of its solutions. For example, $U$ can work by looping over all natural numbers and running its input on them until $1$ results (it only has to halt on valid input)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm interested in exploring performance bounds on universal problem solvers&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given $U$ a universal problem solver and $A$ a problem, denote $t(U, A)$ the time it takes $U$ to produce output upon accepting input $A$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A universal problem solver $U$ is called &quot;efficient&quot; when for any universal problem solver $V$, we have&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$t(U, A) &amp;lt; t(V, A) + t_V $$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here $t_V$ depends on $V$ but doesn't depend on $A$&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Do efficient universal problem solvers exist?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;EDIT: I realized it is possible to change the definitions of &quot;problem&quot; and &quot;universal problem solver&quot; into something slightly more elegant and essentially equivalent. A &quot;problem&quot; is an algorithm without input returning 0 or 1 (which halts). A &quot;universal problem solver&quot; is an algorithm accepting a problem and returning its result. It's more or less a universal Turing machine&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Old definition can be reduced to new definition, since given $A$ a problem in the old sense, we can construct $B$ a problem in the new sense which just applies the trivial old-sense universal problem solver to $A$ (the solver described in the text above)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;New definition can be reduced to old definition, since given $B$ a problem in the new sense, we can construct $A$ a problem in the old sense which just computes $B$ and compares the input to the result&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The trivial example of a new-sense universal problem solver is an algorithm which simply runs its input&lt;/p&gt;&#xA;" OwnerUserId="7030" LastEditorUserId="7030" LastEditDate="2012-07-05T17:46:55.217" LastActivityDate="2012-07-18T09:16:08.203" Title="Efficient universal problem solver?" Tags="&lt;cc.complexity-theory&gt;&lt;ai.artificial-intel&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="11903" PostTypeId="2" ParentId="11901" CreationDate="2012-07-01T14:08:19.143" Score="8" Body="&lt;p&gt;This paper proves the results you have described:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Ashwin Nayak and Julia Salzman. &lt;a href=&quot;http://www.math.uwaterloo.ca/~anayak/papers/NayakS06.pdf&quot;&gt;Limits on the Ability of Quantum&#xA;  States to Convey Classical Messages.&lt;/a&gt; Journal of the ACM, 53(1):&#xA;  184-206, 2006.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="819" LastActivityDate="2012-07-01T14:08:19.143" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11904" PostTypeId="2" ParentId="11891" CreationDate="2012-07-01T16:59:35.637" Score="13" Body="&lt;p&gt;Classical work of Coppersmith shows that for some $\alpha &amp;gt; 0$, one can multiply an $n \times n^\alpha$ matrix with an $n^\alpha \times n$ matrix in $\tilde{O}(n^2)$ arithmetic operations. This is a crucial ingredient of Ryan Williams's recent celebrated result.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;François le Gall recently improved on Coppersmith's work, and his &lt;a href=&quot;http://arxiv.org/abs/1204.1111&quot;&gt;paper&lt;/a&gt; has just been accepted to FOCS 2012. In order to understand this work, you will need some knowledge of algebraic complexity theory. Virginia Williams's paper contains some relevant pointers. In particular, Coppersmith's work is completely described in &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/3642082289&quot;&gt;Algebraic Complexity Theory&lt;/a&gt;, the book.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A different strand of work concentrates on multiplying matrices &lt;em&gt;approximately&lt;/em&gt;. You can check &lt;a href=&quot;http://arxiv.org/abs/1005.2724&quot;&gt;this work&lt;/a&gt; by Magen and Zouzias. This is useful for handling really large matrices, say multiplying an $n \times N$ matrix and an $N \times n$ matrix, where $N \gg n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The basic approach is to sample the matrices (this corresponds to a randomized dimensionality reduction), and multiplying the much smaller sampled matrices. The trick is to find out when and in what sense this gives a good approximation. In contrast to the previous strand of work which is completely impractical, sampling algorithms are practical and even necessary for handling large amounts of data.&lt;/p&gt;&#xA;" OwnerUserId="40" LastActivityDate="2012-07-01T16:59:35.637" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11905" PostTypeId="2" ParentId="11902" CreationDate="2012-07-01T17:22:45.907" Score="12" Body="&lt;p&gt;Levin's universal algorithm is an algorithm such that $t(U,A) &amp;lt; s_V t(V,A) + t_V$. By modifying the algorithm (see for example Hutter's &lt;a href=&quot;ftp://ftp.idsia.ch/pub/techrep/IDSIA-16-00.ps.gz&quot;&gt;The Fastest and Shortest Algorithm for All Well-Defined Problems&lt;/a&gt;), you can make $s_V$ a universal constant, though definitely not $1$ as you require. For related work, consult work by Hirsch, Itsykson and their students, for example &lt;a href=&quot;http://eccc.hpi-web.de/report/2011/091/&quot;&gt;this technical report&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit: As Squark comments, the runtime of Levin's algorithm also depends on the runtime of $A$, since it has to verify its answers. To get a constant $s_V$, all you need to do is to set the speeds of the various algorithms in geometric progression (rather than arithmetical progression, like in Levin's original algorithm).&lt;/p&gt;&#xA;" OwnerUserId="40" LastEditorUserId="40" LastEditDate="2012-07-01T19:37:53.193" LastActivityDate="2012-07-01T19:37:53.193" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="11906" PostTypeId="2" ParentId="6761" CreationDate="2012-07-01T17:22:51.043" Score="1" Body="&lt;p&gt;The &lt;a href=&quot;http://en.wikipedia.org/wiki/Graph_isomorphism_problem&quot; rel=&quot;nofollow&quot;&gt;graph isomorphism problem&lt;/a&gt; is in NP but not known to be in P or NP-complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A generalization, the &lt;a href=&quot;http://en.wikipedia.org/wiki/Subgraph_isomorphism_problem&quot; rel=&quot;nofollow&quot;&gt;subgraph isomorphism problem&lt;/a&gt;, is NP-complete since asking if some subgraph of the input graph with $n$ vertices is isomorphic to a cycle of length $n$ is the &lt;a href=&quot;http://en.wikipedia.org/wiki/Hamiltonian_cycle&quot; rel=&quot;nofollow&quot;&gt;Hamiltonian cycle problem&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="3964" LastActivityDate="2012-07-01T17:22:51.043" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="11907" PostTypeId="2" ParentId="11899" CreationDate="2012-07-01T17:31:30.090" Score="6" Body="&lt;p&gt;I'm going to assume your input is a directed graph; I don't know how to do this for the undirected case.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Make $n$ copies of the vertex set of your graph, where $n$ is the number of vertices in the graph. Replace each edge from $u$ to $v$ in your original graph by edges that go from copy $i$ of $u$ to copy $i+1$ of $v$, for all choices of $i$. Additionally, if $u$ belongs to the specified vertex set but not otherwise, also include an edge that goes from copy $i$ of $u$ to copy $0$ of $v$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The cycles in the expanded graph all project back down to cycles in the original graph, but every cycle in the expanded graph contains one of the specified vertices (otherwise you can't go backwards through the layers of expansion), so the original graph contains a negative cycle containing a specified vertex iff the expanded graph contains any negative cycle.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2012-07-01T17:31:30.090" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="11908" PostTypeId="1" AcceptedAnswerId="11919" CreationDate="2012-07-01T20:30:33.687" Score="9" ViewCount="336" Body="&lt;p&gt;I have been struggling with the technical details of a proof concerning auction theory in this paper:  &lt;a href=&quot;http://users.eecs.northwestern.edu/~hartline/omd.pdf&quot;&gt;http://users.eecs.northwestern.edu/~hartline/omd.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Specifically, Theorem 2.5:  The necessary and sufficient conditions for a truthful mechanism. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Even more specifically, the forward direction of the proof, given on page 6.  Defining a truthful value as $v_i$, and a general, possibly false, value (e.g., a bid) as $b_i$, the author goes on to postulate two additional quantities, $z_1$ and $z_2$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;He then stipulates that $v_i = z_1$, $b_i = z_2$, which yields an inequality based on the previous work of the paper.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;He also stipulates that $v_i = z_2$, $b_i = z_1$, which yields a similar but different inequality based on the previous work of the paper.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Okay, fair enough.  He then subtracts one inequality from the other and proceeds to derive his desired result on the basis of the consequent algebra.  I don't understand why that subtraction is justified-- he seems to be subtracting two inequalities that are based on entirely different (in fact, opposite) assumptions, and every time I see it I am thrown violently out of the train of thought.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm pretty sure I've seen this basic approach else (Shoham and Leyton-Brown's book?  I don't have it close at hand to check) so it seems to be a common idea, but I cannot get past it.  Can anyone help me to understand why that is valid, or explain to me what I am missing?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(I've tried proving the desired result by assuming three values-- a true value $v_i$, and two bids, $b_1$ and $b_2$-- to get his desired result, but also failed.  So it may not only be common, but &lt;em&gt;necessary&lt;/em&gt; to do it the author's way.  But I still don't understand it.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt;  I knew I had seen something similar in &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0521899435&quot;&gt;Shoham and Leyton-Brown's&lt;/a&gt; book.  It is not exactly the same, but it is very similar and deals with the same equation and subject matter.  It is Case 1 of Theorem 10.4.3. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Starting from the context of truthful mechanisms, they first assume a truthful $v_i$ and a false $v_i'$ and derive that the payment based on $v_i$ is lesser than or equal to the payment based on $v_i'$, e.g., $P_i(v_i) \leq P_i(v_i')$.  They then assume the opposite, a truthful $v_i'$ and a false $v_i$, and derive the opposite result, that the payment based on $v_i'$ is less than the payment based on $v_i$, e.g., $P_i(v_i') \leq P_i(v_i)$.  Okay, that makes sense.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;They then hold that the payments based on $v_i$ and $v_i'$ must be equal, as though they are saying that $P_i(v_i) \leq P_i(v_i')$ and $P_i(v_i') \leq P_i(v_i)$ are simultaneously true, even though they are the result of not just different, but opposite assumptions.&lt;/p&gt;&#xA;" OwnerUserId="9819" LastEditorUserId="9819" LastEditDate="2012-07-02T18:33:15.313" LastActivityDate="2012-07-03T00:18:23.380" Title="Understanding a Mechanism Design Proof" Tags="&lt;gt.game-theory&gt;" AnswerCount="2" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11909" PostTypeId="1" CreationDate="2012-07-01T21:51:42.013" Score="2" ViewCount="170" Body="&lt;p&gt;I am wondering if there are any existing works/ideas that are related to the following problem. A solution of this problem can be probably useful in software watermarking.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given,&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Two sets $\mathcal{W}$ and $\mathcal{H}$ (whose sizes are typically between 10 and 50)&lt;/li&gt;&#xA;&lt;li&gt;A bijection $f: \mathcal{W} \rightarrow \mathcal{H}$&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The problem is to construct a function $\mathcal{F}$. The domain of $\mathcal{F}$ is the set of sequences of elements of $\mathcal{W}$, and the codomain is the set of sequences of elements of $\mathcal{H}$. The desired properties of $\mathcal{F}$ are given below.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Notation:&lt;/strong&gt;&#xA;$S_i$ represent the $i^{th}$ element of sequence $S$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Definition:&lt;/strong&gt;&#xA;$\mathcal{F}$ &lt;em&gt;behaves normally&lt;/em&gt; $\ $for a sequence $WS$ of length $N$ iff $\mathcal{F}(WS) = HS$, length of $HS$ is $N$, and $HS_i = f(WS_i)$ for $1 \leq i \leq N$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Construct $\mathcal{F}$ and compute a sequence $P$ (of elements of $W$) of length $N$ such that:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) $\mathcal{F}$ behaves normally for &lt;em&gt;almost all&lt;/em&gt; sequences of elements of $W$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) $\mathcal{F}$ and $P$ satisfy following constraints&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\ $  a) $\mathcal{F}(P) = Q$, length of $Q$ is $N$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\ $  b) $Q_i = f(P_i)$ for $1 \leq i &amp;lt; N$  (i.e., $\mathcal{F}$ behaves normally for the $P$’s prefix of length $N-1$)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\ $  c) $Q_N \neq f(P_N)$ &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\ $  d) it is computationally hard to discover the sequence $P$ with the knowledge of $\mathcal{F}$'s implementation and the bijection $f$.&lt;/p&gt;&#xA;" OwnerUserId="9949" LastActivityDate="2013-02-28T02:10:32.840" Title="A mathematical problem in software watermarking" Tags="&lt;reference-request&gt;&lt;co.combinatorics&gt;&lt;cr.crypto-security&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="11910" PostTypeId="2" ParentId="6761" CreationDate="2012-07-01T23:25:12.123" Score="5" Body="&lt;p&gt;From Papadimitriou's paper &quot;&lt;a href=&quot;http://theory.stanford.edu/~megiddo/pdf/papadimX.pdf&quot; rel=&quot;noreferrer&quot;&gt;On total functions, existence, theorems and computational complexity&lt;/a&gt;&quot;:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Nondeterministic multivalued functions with values that &#xA;are polynomially verifiable and guranteed to exist form an&#xA;interesting class (called $TFNP$) between P and NP ...&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;.... It is quite interesting, in view of Theorem 2.1,&#xA;that in some cases of problems in $TFNP$, if together with the input&#xA;we are also given one of the solutions&#xA;that are guaranteed to exist, then the problem indeed becomes NP-complete ...&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example the TRICHROMATIC TRIANGLE problem is in $TFNP$, but the SECOND TRICHROMATIC TRIANGLE is $NPC$ (the paper contains a sketch of the proof).&lt;/p&gt;&#xA;" OwnerUserId="3247" LastActivityDate="2012-07-01T23:25:12.123" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11911" PostTypeId="2" ParentId="11899" CreationDate="2012-07-02T05:25:29.363" Score="8" Body="&lt;p&gt;If you don't require the cycle to be simple, then break the (directed) graph into its strongly connected components, and for each component containing one of the given vertices $V_i$, check whether the component contains a negative cycle.  If no component does, there is no negative cycle containing any $V_i$.  But if some component does, you can find a (non-simple) negative cycle containing $V_i$ by taking many copies of the negative cycle, and adding to that paths to and from some vertex in the cycle to $V_i$.  (The total time to find an implicit representation of the desired cycle will be the same as the time to find a negative cycle in a directed graph, e.g. $O(nm)$, if I recall.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you do require the cycle to be simple, then the problem becomes NP-complete, even if only a single vertex $V_1$ is given.  (You can reduce Hamiltonian Path to the problem: to find a Hamiltonian path from a given source $S$ to a given sink $T$ in a given graph $G$, give the existing edges weight -1, then add an artificial vertex $V_1$ with two edges of cost $N/2-0.01$ each, one from $V_1$ to $S$ and one from $T$ to $V_1$.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you allow the cycle to repeat vertices but not edges, I believe it is still NP-complete (by a similar reduction, but splitting each vertex $v$ into a directed edge $(v,v')$ in a standard way).&lt;/p&gt;&#xA;" OwnerUserId="8237" LastActivityDate="2012-07-02T05:25:29.363" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11914" PostTypeId="1" CreationDate="2012-07-02T15:54:32.883" Score="0" ViewCount="365" Body="&lt;p&gt;Let $\mathcal B$ and $\mathcal O$ denote finite sets (&quot;buckets&quot; and &quot;objects&quot;, respectively) and let &#xA;$$ &#xA;E: \mathcal O \times \mathcal B \to \mathbb{R}_{&amp;gt;= 0}&#xA;$$ &#xA;be a function.  Is there an algorithm that, given a partition of $| \mathcal B |$,&#xA;$$&#xA;| \mathcal B | = \sum_{b \in \mathcal{B}} \mu_b&#xA;$$&#xA;returns a function $\varphi: \mathcal O \to \mathcal B$ maximizing the quantity&#xA;$ \sum_{o \in \mathcal O} E(o, \varphi(o))$, subject to the constraint that $| \varphi^{-1} (b)| = \mu_b$ for all $b \in \mathcal B$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Motivation: all objects need to be put into a bucket, but the buckets have different sizes.  The function $E$ gives the value of placing a given object in a given bucket.  If the buckets each have a certain capacity, how can an optimal distribution of objects in buckets be found?&lt;/p&gt;&#xA;" OwnerUserId="9957" LastActivityDate="2012-07-02T20:30:28.920" Title="putting objects in buckets -- optimization problem" Tags="&lt;ds.algorithms&gt;&lt;optimization&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11915" PostTypeId="1" CreationDate="2012-07-02T16:15:50.343" Score="0" ViewCount="135" Body="&lt;p&gt;Suppose I have an oracle X.  Then let Y be an oracle which will answer any computable question about X.  In other words, Y takes as input a Turing program which can in turn make calls to X.  Y then returns the output of that program (assuming the output is one bit, otherwise, or if the program doesn't halt, then the definition is open to interpretation).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Has this concept been studied?  Is there a name for such oracles?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This relates to communication complexity.  In that case X would be Alice's input, X' would be Bob's input, and Y and Y' would be sufficient to efficiently compute their strategies.  The Y and Y' oracles are a way to express the fact that in communication complexity one usually doesn't care how much time the parties spend on computation.&lt;/p&gt;&#xA;" OwnerUserId="7092" LastEditorUserId="7092" LastEditDate="2012-07-02T21:27:27.713" LastActivityDate="2012-07-02T21:27:27.713" Title="Oracle that will provide any computable information about another oracle" Tags="&lt;reference-request&gt;&lt;computability&gt;&lt;oracles&gt;" AnswerCount="0" CommentCount="10" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11916" PostTypeId="2" ParentId="11882" CreationDate="2012-07-02T16:35:12.490" Score="2" Body="&lt;p&gt;Not really what you asked for, but your question was a bit open, so maybe this will interest you.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the specific problem of estimating infinite polynomials (generating functions), $A(z) = \sum_{n=0}^\infty a_n z^n$, with a combinatorial origin, there is a recently published paper, &quot;&lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0097316512000908&quot; rel=&quot;nofollow&quot;&gt;Algorithms for combinatorial structures: Well-founded systems and Newton iterations&lt;/a&gt;&quot; by Pivoteau, Salvy and Soria. I believe (though I might be slightly off) it shows that approximations can be computed in complexity that is quadratic in the required precision. The set of points is the radius of convergence, and in particular the singularity of the generating function.&lt;/p&gt;&#xA;" OwnerUserId="6088" LastActivityDate="2012-07-02T16:35:12.490" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11917" PostTypeId="2" ParentId="11908" CreationDate="2012-07-02T17:44:31.717" Score="4" Body="&lt;p&gt;I think what you want is the following proposition.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;b&gt;Proposition.&lt;/b&gt;&#xA;Let $V$ and $A$ be sets. Let $f:V^n\to A$ and $p_1,\dots,p_n:V^n\to\mathbb{R}$.&#xA;Assume that for all $i,x_i,y_i,v_{−i}$ we have&#xA;$$x_i (f(x_i , v_{−i})) − p_i (x_i , v_{−i}) \geq x_i (f(y_i , v_{−i})) − p_i (y_i , v_{−i}).$$&#xA;Then for all $i,v_i,v'_i,v_{-i}$ we have&#xA;$$v_i(f(v_i,v_{-i}))-v_i(f(v'_i,v_{-i}))\geq v'_i(f(v_i,v_{-i}))-v'_i(f(v'_i,v_{-i})).$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;b&gt;Proof.&lt;/b&gt;&#xA;Putting $x_i=v_i$ and $y_i=v'_i$ we have&#xA;$$v_i (f(v_i , v_{−i})) − p_i (v_i , v_{−i}) \geq v_i (f(v'_i , v_{−i})) − p_i (v'_i , v_{−i}).$$&#xA;Putting $x_i=v_i$ and $y_i=v'_i$ we have&#xA;$$v'_i (f(v'_i , v_{−i})) − p_i (v'_i , v_{−i}) \geq v'_i (f(v_i , v_{−i})) − p_i (v_i , v_{−i}).$$&#xA;The result follows by adding these inequalities and rearranging.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The mechanism design interpretation of this proposition is that every incentive compatible (i.e. strategy proof, i.e. truthful) mechanism has &quot;weak monotonicity&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For some reason, it is conventional to argue by refering to true bids and lies. In this context, &quot;true&quot; and &quot;lie&quot; are just variable names, like &quot;x&quot; and &quot;y&quot;. It is fine to use the same name to refer to different things in separate arguments, because there is no formal difference between a true bid and a lie.&lt;/p&gt;&#xA;" OwnerUserId="636" LastActivityDate="2012-07-02T17:44:31.717" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="11918" PostTypeId="2" ParentId="11914" CreationDate="2012-07-02T20:30:28.920" Score="6" Body="&lt;p&gt;I assume that $\cal O$ and $\cal B$ are of polynomial size. One way to solve this problem is to reduce it to the Maximum Cost Bipartite Matching Problem. Consider the following bipartite graph $G = (L\cup R, E)$:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;$L = \{b_i: b\in {\cal B}, 1\leq i \leq\mu_b\}$, that is,  for&#xA;every bucket $b$ and $i\in \{1,\dots, \mu_b\}$, we introduce a vertex&#xA;$b_i$    &lt;/li&gt;&#xA;&lt;li&gt;$R = \cal O$    &lt;/li&gt;&#xA;&lt;li&gt;$E = L \times R$, the cost of the edge $(b_i,o)$ equals $E(o,b)$.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;We find a maximum cost matching $M$ in $G$. Now we construct the solution to our original problem: bucket $b$ contains those objects that are matched in $M$ with vertices $b_1, \dots, b_{\mu_b}$. Clearly, each bucket $b$ contains $\mu_b$ objects. The value of this solution equals the cost of $M$.&lt;/p&gt;&#xA;" OwnerUserId="9929" LastActivityDate="2012-07-02T20:30:28.920" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11919" PostTypeId="2" ParentId="11908" CreationDate="2012-07-03T00:18:23.380" Score="11" Body="&lt;p&gt;The answer is that the mechanism must be truthful for &lt;em&gt;every&lt;/em&gt; set of possible types: the mechanism does not know which are the true types ahead of time. So for a pair of types $v_i$ and $v_i'$, the mechanism must be truthful if an agent's true type is $v_i$: i.e. his utility must be greater if he bids $v_i$ than if he bids $v_i'$. But the mechanism must also be truthful if the agent's true type is $v_i'$! After all, as far as the mechanism is concerned, it might be! So in this case, an agent's utility must be greater if he bids $v_i'$ as compared to $v_i$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The point is that truthfulness imposes many different inequalities on the same mechanism simultaneously: one for every type an agent might have, and for every deviation he might consider. All of them hold. This proof uses only two of these inequalities &lt;/p&gt;&#xA;" OwnerUserId="25" LastActivityDate="2012-07-03T00:18:23.380" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11920" PostTypeId="1" CreationDate="2012-07-03T09:30:43.250" Score="-5" ViewCount="981" Body="&lt;p&gt;I have found proof of correctness of Quick sort (not in-place version), Please refer me a proof of correctness of in-place Quick sort, or provide proof here is very appropriated. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;a typical implementation of in-place Quick sort like this&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;public class Quicksort  {&#xA;private int[] numbers;&#xA;private int number;&#xA;&#xA;public void sort(int[] values) {&#xA;    // Check for empty or null array&#xA;    if (values ==null || values.length==0){&#xA;        return;&#xA;    }&#xA;    this.numbers = values;&#xA;    number = values.length;&#xA;    quicksort(0, number - 1);&#xA;}&#xA;&#xA;private void quicksort(int low, int high) {&#xA;    int i = low, j = high;&#xA;    // Get the pivot element from the middle of the list&#xA;    int pivot = numbers[low + (high-low)/2];&#xA;&#xA;    // Divide into two lists&#xA;    while (i &amp;lt;= j) {&#xA;        // If the current value from the left list is smaller then the pivot&#xA;        // element then get the next element from the left list&#xA;        while (numbers[i] &amp;lt; pivot) {&#xA;            i++;&#xA;        }&#xA;        // If the current value from the right list is larger then the pivot&#xA;        // element then get the next element from the right list&#xA;        while (numbers[j] &amp;gt; pivot) {&#xA;            j--;&#xA;        }&#xA;&#xA;        // If we have found a values in the left list which is larger then&#xA;        // the pivot element and if we have found a value in the right list&#xA;        // which is smaller then the pivot element then we exchange the&#xA;        // values.&#xA;        // As we are done we can increase i and j&#xA;        if (i &amp;lt;= j) {&#xA;            exchange(i, j);&#xA;            i++;&#xA;            j--;&#xA;        }&#xA;    }&#xA;    // Recursion&#xA;    if (low &amp;lt; j)&#xA;        quicksort(low, j);&#xA;    if (i &amp;lt; high)&#xA;        quicksort(i, high);&#xA;}&#xA;&#xA;private void exchange(int i, int j) {&#xA;    int temp = numbers[i];&#xA;    numbers[i] = numbers[j];&#xA;    numbers[j] = temp;&#xA;}}&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;the &quot;pointer&quot; i, j has different move track for different data, there are many case to consider here to proof that the i and j are pointed just in the right index after each recursion that all elements with index less than j is less than or equal to pivot, and all elements with index great than i is great than or equal to pivot.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;I think my question is actually to proof of correctness of partition method used in in-place Quicksort&lt;/strong&gt;&lt;/p&gt;&#xA;" OwnerUserId="9965" LastEditorUserId="-1" LastEditDate="2012-11-11T06:05:10.207" LastActivityDate="2012-11-11T06:05:10.207" Title="Proof of correctness of in-place Quick sort" Tags="&lt;ds.algorithms&gt;&lt;sorting&gt;" AnswerCount="2" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="11921" PostTypeId="2" ParentId="11920" CreationDate="2012-07-03T10:05:34.543" Score="3" Body="&lt;p&gt;A very detailed proof you can find in online Stanford course by Tim Roughgarden here: &lt;a href=&quot;https://class.coursera.org/algo/lecture/preview&quot; rel=&quot;nofollow&quot;&gt;https://class.coursera.org/algo/lecture/preview&lt;/a&gt;&#xA;If you want slides you should sign in.&lt;/p&gt;&#xA;" OwnerUserId="3934" LastActivityDate="2012-07-03T10:05:34.543" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11922" PostTypeId="1" AcceptedAnswerId="11992" CreationDate="2012-07-03T13:10:07.937" Score="11" ViewCount="386" Body="&lt;p&gt;Consider $n$ sets of values (represented as sorted arrays with no duplicates, and with a known size (ie. the size can be obtained in O(1)). The values can be tested for equality in O(1) time. I want to obtain the set of values that are present in at least $k$ different sets among the $n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The obvious algorithm to do this is to go through all the sets, count the number of occurrences of each value, and return those with a count higher than $k$. Yet, in some cases, you can do better: for instance, when $n = k = 2$ and when one set $S_1$ is much smaller than the other set $S_2$, it is more efficient to look at all items of $S_1$ and perform a binary search for each of them in $S_2$: the binary search approach costs $O(|S_1| \log(|S_2|))$ whereas the naive approach costs $O(|S_1| + |S_2|)$ which is worse when $|S_1| &amp;lt;&amp;lt; |S_2|$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;With this in mind, in which situations can we do better than the naive algorithm? (If this is a well-known problem, I would be happy to know its usual name and have references.)&lt;/p&gt;&#xA;" OwnerUserId="4795" LastEditorUserId="567" LastEditDate="2012-07-04T01:57:15.223" LastActivityDate="2012-07-11T12:19:11.697" Title="Find items that are in at least $k$ of $n$ sets" Tags="&lt;ds.algorithms&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="11924" PostTypeId="1" AcceptedAnswerId="27445" CreationDate="2012-07-03T14:11:38.237" Score="15" ViewCount="386" Body="&lt;p&gt;Given sets $A$ and $B$, a &lt;em&gt;difunctional relation&lt;/em&gt; $(\sim) \subseteq A \times B$ between them is defined to be a relation satisfying the following property:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;If $a \sim b$ and $a' \sim b'$ and $a \sim b'$, then $a' \sim b$.  &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Difunctional relations are a generalization of the concept of &lt;a href=&quot;http://en.wikipedia.org/wiki/Partial_equivalence_relation&quot; rel=&quot;noreferrer&quot;&gt;partial equivalence relations&lt;/a&gt; which permit one to define a notion of equality from &lt;em&gt;different&lt;/em&gt; sets. As a result, they are also known as quasi-PERs (QPERs), and they are also known as zig-zag relations, due to the following picture:&lt;img src=&quot;https://i.stack.imgur.com/o4Xdi.png&quot; alt=&quot;picture of a zigzag&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm writing a paper that uses them, but I've had trouble tracking down good references for their use in semantics. &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Martin Hoffman uses them in &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.154.7893&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;noreferrer&quot;&gt;&lt;em&gt;Correctness of Effect-Based Program Transformations&lt;/em&gt;&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;I have seen mentions (but no good references) claiming that Tennant and Takeyama have proposed their use as well. &lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;They are such a pretty idea that I have trouble believing my particular use of them is original. I would really appreciate any further references.  &lt;/p&gt;&#xA;" OwnerUserId="657" LastActivityDate="2015-02-04T16:37:45.007" Title="Uses of quasi-PERs/difunctional relations/zig-zag relations?" Tags="&lt;reference-request&gt;&lt;pl.programming-languages&gt;&lt;denotational-semantics&gt;&lt;logical-relations&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="11925" PostTypeId="2" ParentId="11920" CreationDate="2012-07-03T14:17:45.470" Score="0" Body="&lt;p&gt;Tobias Nipkow has formalised a proof in Isabelle/HOL, have a look &lt;a href=&quot;http://isabelle.in.tum.de/library/HOL/ex/Quicksort.html&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;  (I didn't check that this is the right proof, don't have time right now and I'm not super familiar with Isabelle/HOL, please feel free to edit if you find a better formalisation). The paper &lt;a href=&quot;http://www.sussex.ac.uk/Users/mfb21/publications/icfp05/index.html&quot; rel=&quot;nofollow&quot;&gt;A Logical Analysis of Aliasing in Imperative Higher-Order Functions&lt;/a&gt; by N. Yoshida, K. Honda, and myself contains a sketch of a proof for polymorphic quicksort. The sketch assumes that the logic provides positive inductive definitions, which the logic we discuss in the rest of the paper doesn't (to keep the presentation simple). It's easy to add them.&lt;/p&gt;&#xA;" OwnerUserId="898" LastActivityDate="2012-07-03T14:17:45.470" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11926" PostTypeId="1" CreationDate="2012-07-03T15:12:35.990" Score="2" ViewCount="335" Body="&lt;p&gt;I've been studyin' the &lt;a href=&quot;http://en.wikipedia.org/wiki/Spearman%27s_rank_correlation_coefficient&quot; rel=&quot;nofollow&quot;&gt;Spearman's rank correlation coefficient&lt;/a&gt;.&#xA;If computed for two list that have both size $N$, what's the complexity of the algorithm?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$O(N)$ ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks in advance.&lt;/p&gt;&#xA;" OwnerUserId="9966" LastEditorUserId="32187" LastEditDate="2015-04-13T10:59:58.347" LastActivityDate="2015-04-13T10:59:58.347" Title="What's the complexity of Spearman's rank correlation coefficient computation?" Tags="&lt;cc.complexity-theory&gt;&lt;counting-complexity&gt;&lt;time-complexity&gt;" AnswerCount="0" CommentCount="2" ClosedDate="2015-05-07T00:01:53.000" ContentLicense="CC BY-SA 3.0" />
  <row Id="11927" PostTypeId="1" AcceptedAnswerId="11932" CreationDate="2012-07-03T19:41:42.183" Score="17" ViewCount="1540" Body="&lt;p&gt;Recently I stumbled upon quite an interesting theoretical construct. A so called  &lt;a href=&quot;http://www.idsia.ch/~juergen/gmsummary.html&quot;&gt;Gödel machine&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's a general problem solver which is capable of self-optimization. It's suitable for reactive environments.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As I understand, it can be implemented as a program for universal Turing machine, although it's requirements go far beyond hardware currently available. I couldn't find many details, though. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can such machines be built in practice? Are they at least feasible in our Universe?&lt;/p&gt;&#xA;" OwnerUserId="9818" LastEditorUserId="80" LastEditDate="2012-07-05T18:40:13.127" LastActivityDate="2012-07-05T18:40:13.127" Title="Feasibility of Gödel machines" Tags="&lt;computability&gt;&lt;turing-machines&gt;&lt;physics&gt;&lt;machine-models&gt;&lt;ar.hardware-architecture&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="11928" PostTypeId="1" AcceptedAnswerId="11989" CreationDate="2012-07-03T21:05:44.743" Score="3" ViewCount="160" Body="&lt;p&gt;A strategy for a rewriting system is a sub-rewriting system with the same objects and same normal forms.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Definition (from Terese &quot;Term Rewriting Systems&quot;).  Let N be a superset of the normal forms of a rewriting system $\to$.  A strategy S for $\to$ is &lt;strong&gt;normalizing&lt;/strong&gt; if the restriction of S (as a relation) to steps which do not have their sources in N is terminating.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I understand that the authors want a more general notion of normalizing such as the strategy which finds a (weak) head normal form.  However, take N to be be exactly the set of normal forms.  Then the definition should express that the strategy always finds a normal form provided one exists.  I am having trouble bridging the gap here...  It seems that N should have to also include the terms which do not have a normal form.&lt;/p&gt;&#xA;" OwnerUserId="9969" LastEditorUserId="186" LastEditDate="2012-07-05T08:29:55.290" LastActivityDate="2012-07-10T12:24:00.297" Title="Explanation of definition of normalizing: 9.1.12 in Terese &quot;Term Rewriting Systems&quot;?" Tags="&lt;lo.logic&gt;&lt;term-rewriting-systems&gt;&lt;normalization&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11929" PostTypeId="1" AcceptedAnswerId="11931" CreationDate="2012-07-04T03:51:59.700" Score="-3" ViewCount="166" Body="&lt;p&gt;I want to show that $Q_{\epsilon}(IP) \geq (1-O(\epsilon))n$, where $IP:\{0,1\}^n \times \{0,1\}^n \rightarrow \{0,1\}$ is the usual mod 2 inner product.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have Nayak's lower bound, but I am not sure how to use it in the above.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have that for some encoding $p:n\rightarrow m$ $m\geq n(1-H(p))$, I feel that I need to use this bound here, but I am not sure how.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any advice?&lt;/p&gt;&#xA;" OwnerUserId="9593" LastEditorUserId="1037" LastEditDate="2012-07-05T03:57:30.807" LastActivityDate="2012-07-05T03:57:30.807" Title="Lower bounds on $Q_{\epsilon}(IP)$" Tags="&lt;quantum-computing&gt;&lt;lower-bounds&gt;&lt;quantum-information&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="11931" PostTypeId="2" ParentId="11929" CreationDate="2012-07-04T06:02:49.553" Score="0" Body="&lt;p&gt;Ok I believe i found what I was looking for.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In Kremer's Thesis &quot;Quantum Communication&quot; he proves that $Q_{\epsilon}(IP)= \Omega(n)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;here: &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.28.6636&quot; rel=&quot;nofollow&quot;&gt;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.28.6636&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;page 38.&lt;/p&gt;&#xA;" OwnerUserId="9593" LastActivityDate="2012-07-04T06:02:49.553" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11932" PostTypeId="2" ParentId="11927" CreationDate="2012-07-04T06:15:58.350" Score="21" Body="&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Can such machines be built in practice? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Yes. By &quot;machine&quot;, Schmidhuber just means &quot;computer program&quot;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Are they at least feasible in our Universe?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Not in their current form -- the algorithms are too inefficient. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;From a ten thousand meter perspective, Jürgen Schmidhuber (and former students, like Marcus Hutter) have been investigating the idea of combining &lt;a href=&quot;http://www.scholarpedia.org/article/Universal_search&quot;&gt;Levin search&lt;/a&gt; with Bayesian reasoning to work out algorithms for general problem-solving. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The basic idea behind Levin search is that it's possible to use dovetailing and Goedel codes to give a single algorithm which is, up to constant factors, optimal. Loosely, you fix a Godel encoding of programs, and then run a Turing machine that runs the $n$-th program once every $2^{n}$ steps. This means that if the $n$-th program is optimal for some problem, then Levin search will &quot;only&quot; be a constant factor of $2^n$ times slower. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;They have done a fair amount of work on making the constant factors less stupendously, horrifically awful, and are optimistic that this kind of scheme can work in practice. I am (based on my experience in automated theorem proving) very skeptical, since good data structures are critical to theorem proving, and Goedel encodings are terrible data structures. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;But you don't know it can't work until you try to make it work! After all, we already live in a world where people &lt;em&gt;solve&lt;/em&gt; problems by reduction to SAT. &lt;/p&gt;&#xA;" OwnerUserId="657" LastEditorUserId="657" LastEditDate="2012-07-04T06:42:24.453" LastActivityDate="2012-07-04T06:42:24.453" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="11933" PostTypeId="2" ParentId="11850" CreationDate="2012-07-04T13:37:53.587" Score="4" Body="&lt;p&gt;Your algorithm's runtime distribution is &quot;heavy-tailed&quot; i.e. the tail of the survival function (1-F(t)) of the runtime distribution follows a power law. This is a well known phenomenon which has been observed in complete solvers for SAT (see the above ref. to Gomes et al., and other papers by the same authors). If your algorithm is randomized, i.e. you get different runtimes with different random seeds on the same problem instance, it turns out you can remove the heavy tails by running several copies of the algorithm in parallel, with different random seeds, in what is called an &quot;algorithm portfolio&quot;, aborting all runs as the first one arrives to the solution. Alternatively you may want to implement a &quot;restart strategy&quot;, restarting the algorithm with a different seed if no solution found for a certain time. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Main refs (search &quot;algorithm portfolios&quot;, &quot;restart strategies&quot; for more)&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Heavy-tailed phenomenon in satisfiability and constraint satisfaction&#xA;problems by: C. P. Gomes, B. Selman, N. Crato, H. Kautz Journal of&#xA;Automated Reasoning, Vol. 24, No. 1-2. (2000), pp. 67-100&#xA;doi:10.1023/A:1006314320276 &lt;/li&gt;&#xA;&lt;li&gt;Algorithm portfolios by: Carla P. Gomes, Bart Selman Artificial&#xA;Intelligence, Vol. 126, No. 1-2. (February 2001), pp. 43-62,&#xA;doi:10.1016/S0004-3702(00)00081-3 &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;On restarts:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Optimal speedup of Las Vegas algorithms Information Processing&#xA;Letters, Vol. 47, No. 4. (1993), pp. 173-180,&#xA;doi:10.1016/0020-0190(93)90029-9 by M. Luby, A. Sinclair, D.&#xA;Zuckerman&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;On the mechanisms behind heavy tails: most runs are short, some runs get &quot;stuck&quot; in a very deep tree search:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;On the Connections between Heavy-tails, Backdoors, and Restarts in&#xA;Combinatorial search.  Ryan Williams,  Carla Gomes, and Bart Selman. &#xA;In Proc. SAT 2003 &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="9975" LastActivityDate="2012-07-04T13:37:53.587" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11934" PostTypeId="2" ParentId="11924" CreationDate="2012-07-04T16:01:10.197" Score="6" Body="&lt;p&gt;I don't know about the field of semantics, but the concept you mention is crucial in the complexity of counting.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have not seen a relation $R$ called a &lt;em&gt;difunctional relation&lt;/em&gt; before, but it is equivalent to $R$ having some Mal'tsev operation as a polymorphism, a concept from &lt;a href=&quot;http://en.wikipedia.org/wiki/Universal_algebra&quot; rel=&quot;nofollow&quot;&gt;universal algebra&lt;/a&gt;. An operation $m$ is a Mal'tsev operation if $m(x,y,y) = m(y,y,x) = x$ for all $x$ and $y$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The complexity of counting constraint satisfaction problems for a set of weighted constraints $\mathcal{F}$ is #P-complete unless the unweighted versions of the constraints in $\mathcal{F}$ all have a Mal'tsev polymorphism (&lt;a href=&quot;http://arxiv.org/abs/1111.2384&quot; rel=&quot;nofollow&quot;&gt;Cai, Chen&lt;/a&gt;). For the unweighted version, this property is also sufficient for tractability (&lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S089054010600109X&quot; rel=&quot;nofollow&quot;&gt;Bulatov, Dalmau&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is also &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/1584882549&quot; rel=&quot;nofollow&quot;&gt;known&lt;/a&gt; that a set of relations $\Gamma$ has a Mal'tesv polymorphism iff $\Gamma$ is congruence permutable, another definition from universal algebra. In order to simplify the Bulatov-Dalmau proof by removing much the dependence with deep results from universal algebra, &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=1806789&quot; rel=&quot;nofollow&quot;&gt;Dyer and Richerby&lt;/a&gt; further show that $\Gamma$ has a Mal'tsev polymorphism iff $\Gamma$ is (strongly) rectangular (a definition that is new to their paper) and use this to give an &quot;elementary&quot; proof of the same result.&lt;/p&gt;&#xA;" OwnerUserId="3964" LastEditorUserId="109" LastEditDate="2014-11-14T15:35:24.160" LastActivityDate="2014-11-14T15:35:24.160" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="11935" PostTypeId="1" CreationDate="2012-07-04T17:06:09.130" Score="9" ViewCount="455" Body="&lt;p&gt;I am working in the field of structural engineering and I would like to find an efficient algorithm to construct an approximation (in the Hausdorff metric) of a convex body $K$ by the convex hull of $n$ ellipsoids, for some fixed $n$.  Currently I am only working in dimensions 2 and 3.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My first idea was to work in the dual space using the support function $h_K$ of $K$, which I can compute for a sample of $M$ points on the unit sphere $S_d$, and to minimize the discrete error between $h_K$ and the support function of the approximating set in the $l^{\infty}$-norm. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does anybody have another idea or some references to give me?  I was unable to find any related work on this subject.&lt;/p&gt;&#xA;" OwnerUserId="9978" LastEditorUserId="111" LastEditDate="2012-07-05T11:47:48.580" LastActivityDate="2012-12-07T03:03:48.287" Title="Algorithm for approximating convex bodies by a convex hull of ellipsoids" Tags="&lt;cg.comp-geom&gt;&lt;approximation&gt;&lt;convex-geometry&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11936" PostTypeId="1" CreationDate="2012-07-05T03:18:53.313" Score="5" ViewCount="224" Body="&lt;p&gt;I have been wondering about comparison versus RAM models and have some very basic sounding questions.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a name for the subset of P (or FP really) that is computable by comparison RAM algorithms? For the avoidance of confusion we can think of the comparison RAM model as just being the normal RAM model where the input symbols are given in terms of rows/columns of a ternary matrix that tells us if pairs of symbols are bigger, the same, or smaller.  That is we never get to find out or use the value of the input symbols.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What are the biggest known gaps for the time complexity of RAM and comparison RAM algorithms for natural problems coming from this subset of P (or FP)? We can imagine unnatural examples where comparisons are constant time but the RAM model has to spend a lot of time inputting the bits.  Those are not the ones I am interested in.  Sorting is the simplest example with a log gap for poly size inputs but is there anything bigger?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Related to the last question, is there some reason to suppose a maximum gap between (natural) RAM and comparison RAM problems? I suppose one route would be to say that you could simulate one with the other efficiently.&lt;/p&gt;&#xA;" OwnerUserId="1864" LastEditorUserId="1864" LastEditDate="2012-07-05T04:12:19.960" LastActivityDate="2012-07-05T15:37:35.250" Title="Comparison versus RAM models" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;complexity-classes&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11939" PostTypeId="2" ParentId="11889" CreationDate="2012-07-05T15:23:32.607" Score="6" Body="&lt;p&gt;a billion node graphs have probably not been visualized much and are right on the edge of feasibility and an active area of research. the approach would generally have to depend on the unique data characteristics to reveal the features that are relevant/key for that dataset. assuming you mean in 3d. there are at least two roughly independent hard parts of your request&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;realtime visualization of large dataset&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;visualizing a very large graph (not nec realtime)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;for realtime visualization of a very large graph one could use different approaches. you mention panning and zooming. you do not mention if you want to visualize only local regions. if you want global visualization, either some kind of aggregation method or high performance backend would be required (ie large distributed system).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;a reasonable approach would be developing some method of aggregating mass &quot;nearby/related&quot; nodes into representative groups and then visualizing the connectivity of this &quot;super graph&quot; instead. here are some references&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] &lt;a href=&quot;http://www2.research.att.com/~yifanhu/PUB/lowrank_sm.pdf&quot;&gt;Drawing Large Graphs by Low-Rank Stress Majorization&lt;/a&gt; Khoury, Hu et al&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] &lt;a href=&quot;http://www2.research.att.com/~yifanhu/PUB/edge_bundling.pdf&quot;&gt;Multilevel Agglomerative Edge Bundling for Visualizing Large Graphs&lt;/a&gt; Gansner, Hu et al&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[3] &lt;a href=&quot;http://www2.research.att.com/~yifanhu/PUB/ch16.pdf&quot;&gt;Algorithms for Visualizing Large Networks&lt;/a&gt; by Hu&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[4] &lt;a href=&quot;http://www2.research.att.com/~yifanhu/PUB/graph_draw_small.pdf&quot;&gt;Efficient and High Quality Force Directed Graph Drawing&lt;/a&gt; by Hu&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[5] &lt;a href=&quot;http://graphics.stanford.edu/papers/munzner_thesis/&quot;&gt;Interactive Visualization of Large Graphs and Networks&lt;/a&gt; by Munzer&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[6] &lt;a href=&quot;http://91-641.wiki.uml.edu/file/view/zame+-+Interactive+Large-Scale+Graph+Visualization.pdf&quot;&gt;ZAME: Interactive Large-Scale Graph Visualization&lt;/a&gt; Elmqvist et al&lt;/p&gt;&#xA;&#xA;&lt;p&gt;here is a recent successful example/application/breakthrough discovery that primate brain connectivity (with about 10^10 neurons) follows a grid pattern, by Wedeen et al, based on enhanced MRI mapping/visualization&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[7] &lt;a href=&quot;http://www.nih.gov/news/health/mar2012/nimh-29.htm&quot;&gt;NIH brain wiring study by Wedeen et al&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[8] &lt;a href=&quot;http://www.msnbc.msn.com/id/46897519/ns/technology_and_science-science/t/spectacular-brain-images-reveal-surprisingly-simple-structure/&quot;&gt;Spectacular brain images reveal surprisingly simple structure&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2012-07-05T15:23:32.607" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11940" PostTypeId="2" ParentId="11936" CreationDate="2012-07-05T15:37:35.250" Score="5" Body="&lt;p&gt;You can defiintely cook up promise problems where RAM is much stronger.  Of course it's weird because you have to actually phrase your problems in terms of comparisons. suppose your memory is initialised into a permtuation, i.e. with memory registers x(1), ..., x(n) taking on the values 1, .., n exactly once each.    The problem is to compute the # of i s.t. x(i) &amp;lt; x(1).&lt;/p&gt;&#xA;" OwnerUserId="886" LastActivityDate="2012-07-05T15:37:35.250" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11941" PostTypeId="1" AcceptedAnswerId="11942" CreationDate="2012-07-05T18:22:07.417" Score="1" ViewCount="160" Body="&lt;p&gt;This post is related to &lt;a href=&quot;https://cstheory.stackexchange.com/questions/11902/efficient-universal-problem-solver&quot;&gt;my previous question&lt;/a&gt; but takes a different angle&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are several related questions in here&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider an input-less algorithm $A$ generated randomly using a prefix-free universal Turing machine, like in the definition of Chaitin's constant. Consider $T$ the conditional expectation value of $A$'s execution time, the condition being &quot;$A$ halts&quot;&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is T finite?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Consider $U$ an algorithm accepting input-less halting algorithms as input and producing their output as ouput. $U$ is essentially a universal Turing machine or perhaps a &quot;universal algorithm&quot; since we're assuming all algorithms run on the same &quot;hardware&quot;. Consider $T(U)$ the conditional expectation value of the execution time of $U(A)$, the condition still being &quot;$A$ halts&quot;&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is $T(U)$ finite for some $U$?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Obviously, the answer to the 2nd question is &quot;yes&quot; if the answer to the 1st question is &quot;yes&quot;. If the answer to the 2nd question is &quot;no&quot;, the following questions become trivial&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider $T_{min} = \inf_{U} T(U)$&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there $U_{opt}$ s.t. $T(U_{opt}) = T_{min}$?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Consider infinite sequences $U_1, U_2...$ s.t. $\lim_{i \to \infty}T(U_i)=T_{min}$&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there an algorithm $V$ that takes a natural number $i$ for input and outputs $U_i$ as above?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Obviously, &quot;yes&quot; for the 3rd question implies &quot;yes&quot; for the 4th&lt;/p&gt;&#xA;" OwnerUserId="7030" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2012-07-05T22:49:04.767" Title="Average performance of universal computation" Tags="&lt;cc.complexity-theory&gt;&lt;ai.artificial-intel&gt;&lt;universal-computation&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11942" PostTypeId="2" ParentId="11941" CreationDate="2012-07-05T22:43:53.783" Score="3" Body="&lt;p&gt;By $T(A)$ I will mean the runtime of $A$ on the empty input, and will define $T(A) = \infty$ if $A$ doesn't halt. By $|A|$ I mean the length of $A$ in bits.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What you are trying to calculate in part (1) is:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$T = \sum_{A | T(A) &amp;lt; \infty} \frac{1}{2^{|A|}}T(A)$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Where the fraction is the Chaitin probability of generating program $A$. For each length $n$ there is (at least) one machine $A_n$ such that for all halting $A$ with $|A| = n$ we have $T(A) \leq T(A_n) = BB(n)$. Here $BB$ is the relevant &lt;a href=&quot;http://en.wikipedia.org/wiki/Busy_beaver&quot; rel=&quot;nofollow noreferrer&quot;&gt;busy-beaver function&lt;/a&gt;, which grows faster than any computable function, in particular $BB(n) &amp;gt; 2^n$. From this we have:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$T \geq  \sum_{n = 1}^{\infty} \frac{1}{2^n}BB(n) &amp;gt; \sum_{n = 1}^{\infty} 1$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thus your sum does not converge, and $T$ is not finite. I guess that answers the rest of your questions, too. If you want to achieve your goal, then you need to pick a better density function on programs, maybe something where probability of $A$ is proportional to say $\frac{1}{2^{BB(|A|)}}$. However, for learning more about this I recommend &lt;a href=&quot;https://cs.stackexchange.com/&quot;&gt;CS.SE&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="1037" LastEditorUserId="-1" LastEditDate="2017-04-13T12:48:30.830" LastActivityDate="2012-07-05T22:49:04.767" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="11944" PostTypeId="1" AcceptedAnswerId="12031" CreationDate="2012-07-06T01:58:47.383" Score="14" ViewCount="965" Body="&lt;p&gt;We know that if the gap between the values of an integer program and its dual (the &quot;duality gap&quot;) is zero, then the linear programming relaxations of the integer program and the dual of the relaxation, both admit integral solutions (zero &quot;integrality gap&quot;). I want to know if the converse holds, at least in some cases.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose I have a 0-1 integer program $P: \max\{1^Tx: Ax \leq 1, x\in \{0,1\}^n\}$, where the matrix $A$ is a $0-1$ matrix. Suppose the linear programming relaxation $P'$ of $P$ has an integral optimal solution. Then does the linear programming dual of $P'$ also admit an integral solution?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would appreciate any counter-examples or pointers..&lt;/p&gt;&#xA;" OwnerUserId="8965" LastEditorUserId="-1" LastEditDate="2012-11-11T06:05:24.933" LastActivityDate="2012-11-11T06:05:24.933" Title="Does zero integrality gap imply zero duality gap for certain problems?" Tags="&lt;ds.algorithms&gt;&lt;optimization&gt;&lt;linear-programming&gt;&lt;integrality-gap&gt;" AnswerCount="1" CommentCount="9" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="11946" PostTypeId="1" AcceptedAnswerId="11952" CreationDate="2012-07-06T02:56:05.587" Score="7" ViewCount="338" Body="&lt;h2&gt;Background&lt;/h2&gt;&#xA;&lt;p&gt;The &lt;span class=&quot;math-container&quot;&gt;$\mathcal{H}$&lt;/span&gt;-factor problem (a.k.a. the degree prescribed factor problem, or the degree prescribed subgraph problem) is defined as follows:&lt;/p&gt;&#xA;&lt;p&gt;Given a graph &lt;span class=&quot;math-container&quot;&gt;$G=(V,E)$&lt;/span&gt; and a set &lt;span class=&quot;math-container&quot;&gt;$H_v \subseteq \mathbb{N}$&lt;/span&gt; for each vertex &lt;span class=&quot;math-container&quot;&gt;$v \in V$&lt;/span&gt;, does &lt;span class=&quot;math-container&quot;&gt;$G$&lt;/span&gt; contain a spanning subgraph &lt;span class=&quot;math-container&quot;&gt;$F$&lt;/span&gt; such that &lt;span class=&quot;math-container&quot;&gt;$\operatorname{deg}_F(v) \in H_v$&lt;/span&gt; for all &lt;span class=&quot;math-container&quot;&gt;$v \in V$&lt;/span&gt;?&lt;/p&gt;&#xA;&lt;p&gt;(I would also say that &lt;span class=&quot;math-container&quot;&gt;$H_v \in \mathcal{H}$&lt;/span&gt; for all &lt;span class=&quot;math-container&quot;&gt;$v \in V$&lt;/span&gt;, but I have never seen it stated this way. Thus, the &lt;span class=&quot;math-container&quot;&gt;$\mathcal{H}$&lt;/span&gt;-factor problem is defined by &lt;span class=&quot;math-container&quot;&gt;$\mathcal{H}$&lt;/span&gt; and the input is a graph &lt;span class=&quot;math-container&quot;&gt;$G=(V,E)$&lt;/span&gt; and a mapping &lt;span class=&quot;math-container&quot;&gt;$f : V \to \mathcal{H}; v \mapsto H_v$&lt;/span&gt;.)&lt;/p&gt;&#xA;&lt;p&gt;A spanning subgraph is also known as a &lt;a href=&quot;http://en.wikipedia.org/wiki/1-factor&quot; rel=&quot;nofollow noreferrer&quot;&gt;factor&lt;/a&gt;, hence the name. This framework of problems captures many classic problems. For example, when &lt;span class=&quot;math-container&quot;&gt;$H_v = \{1\}$&lt;/span&gt; for all &lt;span class=&quot;math-container&quot;&gt;$v \in V$&lt;/span&gt;, the problem is to determine if &lt;span class=&quot;math-container&quot;&gt;$G$&lt;/span&gt; contains a perfect matching, also called a 1-factor.&lt;/p&gt;&#xA;&lt;h2&gt;Question&lt;/h2&gt;&#xA;&lt;p&gt;What is currently known about the complexity of this problem for different &lt;span class=&quot;math-container&quot;&gt;$\mathcal{H}$&lt;/span&gt;?&lt;/p&gt;&#xA;&lt;p&gt;What about the special case when &lt;span class=&quot;math-container&quot;&gt;$\mathcal{H}$&lt;/span&gt; is a singleton set (so &lt;span class=&quot;math-container&quot;&gt;$H_v$&lt;/span&gt; is the same for all &lt;span class=&quot;math-container&quot;&gt;$v \in V$&lt;/span&gt;)?&lt;/p&gt;&#xA;&lt;h2&gt;Strongest Results I Know&lt;/h2&gt;&#xA;&lt;p&gt;Tractability:&#xA;If each set in &lt;span class=&quot;math-container&quot;&gt;$\mathcal{H}$&lt;/span&gt; does not contain two consecutive gaps, then the &lt;span class=&quot;math-container&quot;&gt;$\mathcal{H}$&lt;/span&gt;-factor problem is in P (Cornuejols 1988). A integer &lt;span class=&quot;math-container&quot;&gt;$h$&lt;/span&gt; is a gap in &lt;span class=&quot;math-container&quot;&gt;$H \subseteq \mathbb{N}$&lt;/span&gt; if &lt;span class=&quot;math-container&quot;&gt;$h \not\in H$&lt;/span&gt; but &lt;span class=&quot;math-container&quot;&gt;$H$&lt;/span&gt; contains an element less than &lt;span class=&quot;math-container&quot;&gt;$h$&lt;/span&gt; and an element greater than &lt;span class=&quot;math-container&quot;&gt;$h$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Hardness: There exist some &lt;span class=&quot;math-container&quot;&gt;$\mathcal{H}$&lt;/span&gt; such that the &lt;span class=&quot;math-container&quot;&gt;$\mathcal{H}$&lt;/span&gt;-factor problem is NP-hard (Lovasz 1972).&lt;/p&gt;&#xA;&lt;p&gt;See (&lt;a href=&quot;http://www.cs.elte.hu/egres/www/tr-04-19.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;Szabo 2004&lt;/a&gt;) for a modern reference that cites these two results.&lt;/p&gt;&#xA;" OwnerUserId="3964" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2012-07-09T15:26:48.580" Title="What is known about the H-factor problem?" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;graph-theory&gt;&lt;np-hardness&gt;&lt;csp&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11947" PostTypeId="2" ParentId="11946" CreationDate="2012-07-06T05:49:32.290" Score="4" Body="&lt;p&gt;Assuming you want to stick to &lt;i&gt;spanning&lt;/i&gt; subgraphs, $r$-FACTOR is the version where you have each vertex with $H_{v} = \{r\}$, a slightly more general version is $f$-FACTOR, where each vertex has a singleton for its degree target list, but it can be different for each vertex. Both of these are in &lt;b&gt;P&lt;/b&gt;, along with the (PERFECT-)$b$-MATCHING problem. Tutte &lt;a href=&quot;http://cms.math.ca/10.4153/CJM-1954-033-3&quot; rel=&quot;nofollow&quot;&gt;1&lt;/a&gt; gives the algorithm, but getting hold of that paper might prove tricky. A later publication of Tutte's &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/3540431543&quot; rel=&quot;nofollow&quot;&gt;2&lt;/a&gt; might be more readily available. Korte &amp;amp; Vygen &lt;a href=&quot;http://www.kr.tuwien.ac.at/drm/szeider/abstract39&quot; rel=&quot;nofollow&quot;&gt;3&lt;/a&gt; is definitely easier to find, and they have quite a bit of detail on variants and the &lt;b&gt;P&lt;/b&gt;-time algorithms.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A clear parameterized result is that GENERAL FACTOR is $W[1]$-hard when parameterized by treewidth, even when the graph is bipartite and one partite set uniformly has $H_{v}=\{1\}$ [4]. If you want to go down the parameterized complexity road further, then I can shamelessly plug my thesis (my website is linked off my profile), but these results are probably too far from what you want -  they're more related to editing versions of the problem, where we only want to change the graph a small amount to get the factor.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://cms.math.ca/10.4153/CJM-1954-033-3&quot; rel=&quot;nofollow&quot;&gt;W. T. Tutte. A short proof of the factor theorem for finite graphs. Canad. J.&lt;/a&gt;&#xA;Math., 6:347–352, 1954.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;W. T. Tutte. Graph factors. Combinatorica, 1(1):79–97, 1981.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/3540431543&quot; rel=&quot;nofollow&quot;&gt;B. Korte and J. Vygen. Combinatorial Optimization, volume 21 of Algorithms&#xA;and Combinatorics. Springer, Berlin, fourth edition, 2008.&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://www.kr.tuwien.ac.at/drm/szeider/abstract39&quot; rel=&quot;nofollow&quot;&gt;M. Samer and S. Szeider. Tractable cases of the extended global cardinality&#xA;constraint. In Computing: The Australasian Theory Symposium (CATS’08),&#xA;volume 77 of CRPIT, pages 67–74. ACS, 2008.&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="9520" LastEditorUserId="3964" LastEditDate="2012-07-06T15:01:16.560" LastActivityDate="2012-07-06T15:01:16.560" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="11948" PostTypeId="1" CreationDate="2012-07-06T08:03:49.943" Score="0" ViewCount="90" Body="&lt;p&gt;Computer science is not my major, hence my question is two folded :&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;how is defined the problem I have (if I can name it, it will be easier for me to look for references) ?&lt;/li&gt;&#xA;&lt;li&gt;what kind algorithm would be more suited to solve it ?&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Let's take a wheeled remote controlled turtle (the &lt;strong&gt;real turtle&lt;/strong&gt;) and a numerical model of it (the &lt;strong&gt;model turtle&lt;/strong&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We first play once with the &lt;strong&gt;real turtle&lt;/strong&gt;, record the commands and the resulting trajectory.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem is to find the right commands for the &lt;strong&gt;model turtle&lt;/strong&gt; in order to fit (as much as possible) with the trajectory obtained previously with the &lt;strong&gt;real turtle&lt;/strong&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;With a perfectly representative model, it won't be an issue at all: for similar commands, one would get similar trajectory. But the model turtle will never be perfect, and commands will need to be tweaked.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Extra constraints are :&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;model turtle&lt;/strong&gt; can only be initialized (at t=0) and run forward (in time) to the end of the trajectory (no reverse play, snapshot/recall, etc.). Simulation can be run many times though.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;model turtle&lt;/strong&gt; is in fact a complex black box system, with no known equations of it and a bunch of internal states (mostly filters).&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Thanks in advance for the leads&lt;/p&gt;&#xA;" OwnerUserId="9999" LastEditorUserId="9999" LastEditDate="2012-07-06T11:31:53.523" LastActivityDate="2012-07-06T11:31:53.523" Title="Control optimization for a black box model" Tags="&lt;ds.algorithms&gt;&lt;optimization&gt;" AnswerCount="0" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11949" PostTypeId="1" AcceptedAnswerId="11968" CreationDate="2012-07-06T08:50:49.933" Score="0" ViewCount="230" Body="&lt;p&gt;In Boyd &amp;amp; Vandenberghe's &quot;Convex Optimization&quot;, question 2.31(d) asks to prove that the interior of the dual cone $K^*$ is equal to&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(1)  $\text{int } K^* = \{ z \mid z^\top x &amp;gt; 0 $ for all $ x \in K \}.$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Recall that the dual cone of a cone K is the set:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$K^* = \{ y \mid y^\top \ge 0 $ for all $ x \in K \}.$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I've spent a solid chunk of time trying to prove this simple and seemingly evident statement about the interior of the dual cone but keep getting stuck on the problem of bounding the inner product of x with a perturbed version of z (details provided below).  Frustratingly, the proof in the book's answer key (available online) takes as given this very fact that that I am stuck on proving.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My work in proving statement (1) is given below.  I hope someone can show me the piece of mathematical technology I'm missing.  Thanks!&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Question 2.31(d):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $K$ be a convex cone and $K^* = \{ y \mid y^\top x \ge 0 $ for all $ x \in K \}$ be its dual cone.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $S = \{ z \mid z^\top x &amp;gt; 0 $ for all $ x \in K \}.$   Show that $S = \text{int } K^*.$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Certainly $S \subseteq K^*.$  Now consider some arbitrary point $z_0 \in S$.  For all $x \in K$ we have $z_0^\top x &amp;gt; 0$.  It's clear that we need to find an $\epsilon$ such that for all $z' \in D(z_0, \epsilon)$,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$~~~~ z'^\top x &amp;gt; 0 $ for all $ x \in K.$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Unfortunately, I don't know how to show $z'^\top x &amp;gt; 0$ for $z' \in D(z_0, \epsilon)$ when $\epsilon$ is chosen sufficiently small.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I do know we can write $z'$ as $z_0 + \gamma u$ where $\|u\| = 1$ and $\gamma \in (0,\epsilon)$.  And I do know that&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$~~~~ z_0^\top x - \gamma \|x\| ~\le~ z_0^\top x + \gamma u^\top x ~\le~ z_0^\top x + \gamma \|x\|$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where $z_0^\top x &amp;gt; 0$ and $\gamma \|x\| \ge 0.$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, I don't know how to show the critical piece, that&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$~~~~ z_0^\top x - \gamma \|x\| &amp;gt; 0$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;when $\epsilon$ is chosen sufficiently small since $x$ can range over $K$ and therefore $\|x\|$ can be arbitrarily large.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Frustratingly, the solution in B&amp;amp;V just takes it for granted that for sufficiently small $\epsilon$,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$~~~~ z_0^\top x + \gamma u^\top x &amp;gt; 0$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I've looked online for some matrix perturbation theory results to apply but nothing I've found has been useful.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any help is greatly appreciated,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Ted&lt;/p&gt;&#xA;" OwnerUserId="10001" LastEditorUserId="186" LastEditDate="2012-07-08T07:29:03.590" LastActivityDate="2012-07-08T21:53:38.863" Title="Boyd &amp; Vandenberghe, question 2.31(d). Stuck on simple problem regarding interior of a dual cone" Tags="&lt;ds.algorithms&gt;&lt;optimization&gt;&lt;convex-optimization&gt;" AnswerCount="1" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="11950" PostTypeId="1" AcceptedAnswerId="11956" CreationDate="2012-07-06T15:52:55.953" Score="6" ViewCount="134" Body="&lt;p&gt;Suppose we want to join two relations on a predicate. Is this in NC?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I realize that a proof of it not being in NC would amount to a proof that $P\not=NC$, so I'd accept evidence of it being an open problem as an answer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm interested in the general case as well as specific cases (e.g. perhaps with some specific data structure it can be parallelized). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some specifics:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;We could consider an equijoin $A.x = B.y$. On a single processor, a hash-based algorithm runs in $O(|A|+|B|)$ and this is the best we can do since we have to read each relation&lt;/li&gt;&#xA;&lt;li&gt;If the predicate is a &quot;black box&quot; where we have to check each pair, there are $|A|\cdot|B|$ pairs, and each one could be in or not, so $2^{ab}$ possibilities. Checking each pair divides the possibilities in half, so the best we can do is $O(ab)$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Could either of these (or some third type of join) be improved to $\log^k n$ on multiple processors?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Reposted from &lt;a href=&quot;https://cs.stackexchange.com/questions/2235/can-joins-be-parallelized&quot;&gt;here&lt;/a&gt; as per &lt;a href=&quot;https://cstheory.meta.stackexchange.com/questions/225/official-faq-for-theoretical-computer-science/231#231&quot;&gt;site policy&lt;/a&gt;.)&lt;/p&gt;&#xA;" OwnerUserId="1418" LastEditorUserId="-1" LastEditDate="2017-04-13T12:48:30.830" LastActivityDate="2012-07-07T01:35:10.877" Title="Can we do joins in NC?" Tags="&lt;time-complexity&gt;&lt;dc.parallel-comp&gt;&lt;db.databases&gt;" AnswerCount="1" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="11952" PostTypeId="2" ParentId="11946" CreationDate="2012-07-06T16:11:18.187" Score="6" Body="&lt;p&gt;This can be considered as a type of read-twice constraint satisfaction problem. Unless I'm mistaken, it is quite easy to construct an &quot;equality&quot; gadget whenever $H$ has a double gap, if you allow constant constraints (requiring an edge to be in or out). Then you can use Schaeffer's Boolean CSP classification. So the problem then comes down to whether constants are important.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is a big generalisation:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&quot;Fanout limitations on constraint systems&quot;, Tomás Feder, Theoretical Computer Science, Volume 255, Issue 1-2, March 28, 2001, Pages 281 - 293.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0304397599002881&quot; rel=&quot;nofollow&quot;&gt;http://www.sciencedirect.com/science/article/pii/S0304397599002881&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Basically, for constraint languages $\Gamma$ (i.e. a finite set of Boolean relations) such that $\Gamma$ contains the constant relations $\{(0)\}$ and $\{(1)\}$, Feder considers the following problem: the input is a conjunction of constraints of the form $(v_{i_1},\dots,v_{i_k})\in R$ for some $R\in\Gamma$, such that each variable appears at most twice, and we ask if there is a satisfying assignment. Feder shows that if the constraint language contains a non-delta-matroid, the problem is equivalent to the unbounded-degree CSP. A set $H$ that has gaps (i.e. whenever Cornuejols' algorithm doesn't work) is a non-delta-matroid.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can reduce read-once-or-twice to read-twice by doubling the instance and identifying the variables that were read exactly once.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Added later:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For your particular problem, I believe the assumption about constants is easy to get around. Let $\mathbb{N}=\{0,1,2,\dots\}$. For all $\mathcal{H}\subseteq 2^{\mathbb{N}}$ and all $d\in\mathbb{N}\cup\{\infty\}$, the following problem is either in P or NP-complete.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Name: Factor$(\mathcal{H},d)$.&lt;/li&gt;&#xA;&lt;li&gt;Input: a simple graph $G$ of maximum degree at most $d$, and a set $H_v\in\mathcal{H}$ for each $v$.&lt;/li&gt;&#xA;&lt;li&gt;Output: Is there a spanning subgraph of $G$ in which the degree of each vertex $v$ is in $H_v$?&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Sketch proof:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;If for all $H\in\mathcal{H}$, there are no gaps of length $\geq 2$ in $H\cap\{0,\dots,d\}$, the problem is tractable by Cornuejols' algorithm.&lt;/li&gt;&#xA;&lt;li&gt;If for $H\in\mathcal{H}$ we have $0\in H$ or $H\cap\{0,\dots,d\}=\emptyset$, the problem is trivial: every graph has a 0-factor so all inputs are accepted.&lt;/li&gt;&#xA;&lt;li&gt;Otherwise, since (2.) fails, there is a non-empty set $H\in\mathcal{H}$ with $0\notin H$ and $\min(H)\leq d$.&#xA;So if a vertex $v$ has degree $\min(H)$ and $H_v$, then all its edges must be in. So we can force edges to be in, and simulate constants,&#xA;and appeal to Feder's result.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;This kind of gadgetry fails if we restrict the degrees of the input graph. For example let $H=\{1,4\}\subset\{0,1,2,3,4,5\}$,&#xA;and restrict the inputs to graphs that are regular of degree five. By symmetry, one cannot simulate constants.&lt;/p&gt;&#xA;" OwnerUserId="636" LastEditorUserId="3964" LastEditDate="2012-07-09T15:26:48.580" LastActivityDate="2012-07-09T15:26:48.580" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="11954" PostTypeId="2" ParentId="11892" CreationDate="2012-07-06T16:55:52.787" Score="6" Body="&lt;p&gt;Chvátal and Sbihi (Recognizing Claw-free Perfect Graphs, JCTB 44) described the atoms for the class of claw-free perfect graphs, a.k.a. quasi-line perfect graphs.  This description was later refined by Maffray and Reed, and essentially consists of two classes: &quot;peculiar&quot;, which are kind of a special case, and &quot;elementary&quot;, which are constructed by modifying the line graph of a bipartite multigraph through an operation called augmentation.&lt;/p&gt;&#xA;" OwnerUserId="1929" LastActivityDate="2012-07-06T16:55:52.787" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="11955" PostTypeId="1" CreationDate="2012-07-06T17:19:43.380" Score="2" ViewCount="302" Body="&lt;p&gt;This post is a refinement of &lt;a href=&quot;https://cstheory.stackexchange.com/questions/11941/average-performance-of-universal-computation&quot;&gt;a previous question&lt;/a&gt; which turned out to be trivial&lt;/p&gt;&#xA;&lt;p&gt;It is also related to &lt;a href=&quot;https://cstheory.stackexchange.com/questions/11902/efficient-universal-problem-solver&quot;&gt;another previous question&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Motivation:&lt;/strong&gt; A property commonly ascribed to artificial intelligence is the ability to solve generic problems. In my opinion, this must be supplemented by a requirement of efficiency, otherwise any solvable problem can be solved by brute force which would hardly count for intelligence. Therefore it seems natural to explore the complexity bounds of universal problem solvers. Also, rather than treating all problems &amp;quot;equally&amp;quot;, it makes sense to focus on problems with low Kolmogorov complexity which is elegantly achieved by generating random programs for a prefix-free universal Turing machine. The significance of these random programs in the context of artificial intelligence was acknowledged in the context of Solomonoff induction, the intelligence measure introduced by &lt;a href=&quot;http://arxiv.org/abs/0712.3329&quot; rel=&quot;nofollow noreferrer&quot;&gt;Legg and Hutter&lt;/a&gt; and other works on universal intelligence&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Formal statement of question&lt;/strong&gt;: Consider an input-less algorithm &lt;span class=&quot;math-container&quot;&gt;$A$&lt;/span&gt; generated randomly using a prefix-free universal Turing machine, like in the definition of Chaitin's constant. Suppose further we have an infinite sequence &lt;span class=&quot;math-container&quot;&gt;$A_1, A_2, A_3...$&lt;/span&gt; of such algorithms, each generated randomly and independently of the others. Denote &lt;span class=&quot;math-container&quot;&gt;$t_1, t_2, t_3...$&lt;/span&gt; the execution times of these algorithms. We can then define&lt;/p&gt;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$$\nu(t):=E_{halt}(\max\left\{{n:\sum_{i=1}^n{t_i}&amp;lt;t}\right\})$$&lt;/span&gt;&lt;/p&gt;&#xA;&lt;p&gt;Here &lt;span class=&quot;math-container&quot;&gt;$E_{halt}$&lt;/span&gt; is conditional expectation value, the condition being that all algorithms halt. In other words, &lt;span class=&quot;math-container&quot;&gt;$\nu(t)$&lt;/span&gt; is the average number of algorithms that can be executed during time &lt;span class=&quot;math-container&quot;&gt;$t$&lt;/span&gt;, assuming the algorithms are sampled randomly from our ensemble, but avoiding algorithms which don't halt. If the conditional expectation value of the execution time of &lt;span class=&quot;math-container&quot;&gt;$A$&lt;/span&gt; had a finite value &lt;span class=&quot;math-container&quot;&gt;$\tau$&lt;/span&gt;, &lt;span class=&quot;math-container&quot;&gt;$\nu(t)$&lt;/span&gt; would behave asymptotically as &lt;span class=&quot;math-container&quot;&gt;$t / \tau$&lt;/span&gt;. However &lt;span class=&quot;math-container&quot;&gt;$\tau$&lt;/span&gt; is infinite since the busy beaver function grows (much) faster than exponentially, as pointed out by Artem Kaznatcheev in response to my previous question. Hence &lt;span class=&quot;math-container&quot;&gt;$\nu(t)$&lt;/span&gt; grows much slower than linearly.&lt;/p&gt;&#xA;&lt;p&gt;Now consider &lt;span class=&quot;math-container&quot;&gt;$U$&lt;/span&gt; a universal computer i.e. an algorithm taking an input-less algorithm &lt;span class=&quot;math-container&quot;&gt;$B$&lt;/span&gt; for input and producing &lt;span class=&quot;math-container&quot;&gt;$B$&lt;/span&gt;'s output for output. My point of view is that &lt;span class=&quot;math-container&quot;&gt;$B$&lt;/span&gt; is a &amp;quot;problem&amp;quot; and &lt;span class=&quot;math-container&quot;&gt;$U$&lt;/span&gt; is a &amp;quot;universal problem solver&amp;quot;. It seems reasonable to assume that if &lt;span class=&quot;math-container&quot;&gt;$U$&lt;/span&gt; represents an intelligent agent it should in some sense perform better than simple execution of &lt;span class=&quot;math-container&quot;&gt;$B$&lt;/span&gt;. One is reminded of the anecdote about Gauss when his school teacher gave the class an assignment to sum all numbers from 1 to 100. Instead of doing it head-on, like the teacher intended, Gauss discovered the formula&lt;/p&gt;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$$\sum_{i=1}^n i = \frac{n(n+1)}{2}$$&lt;/span&gt;&lt;/p&gt;&#xA;&lt;p&gt;Denote &lt;span class=&quot;math-container&quot;&gt;$t^U_1, t^U_2, t^U_3...$&lt;/span&gt; the execution times of &lt;span class=&quot;math-container&quot;&gt;$U$&lt;/span&gt; given the input &lt;span class=&quot;math-container&quot;&gt;$A_1, A_2, A_3...$&lt;/span&gt;. Define&lt;/p&gt;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$$\nu_U(t):=E_{halt}(\max\left\{{n:\sum_{i=1}^n{t^U_i}&amp;lt;t}\right\})$$&lt;/span&gt;&#xA;&lt;span class=&quot;math-container&quot;&gt;$$T:=\inf_U \limsup_{t \to \infty} \frac{\nu(t)}{\nu_U(t)}$$&lt;/span&gt;&lt;/p&gt;&#xA;&lt;p&gt;Obviously &lt;span class=&quot;math-container&quot;&gt;$T &amp;lt; \infty$&lt;/span&gt;. Finally, the questions:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Is T &amp;gt; 0?&lt;/p&gt;&#xA;&lt;p&gt;Is T achieved for a specific &lt;span class=&quot;math-container&quot;&gt;$U$&lt;/span&gt; i.e. is it a minimum?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="7030" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2014-06-29T20:42:50.167" Title="Complexity of universal computation on random input" Tags="&lt;cc.complexity-theory&gt;&lt;ai.artificial-intel&gt;&lt;universal-computation&gt;" AnswerCount="3" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11956" PostTypeId="2" ParentId="11950" CreationDate="2012-07-07T01:35:10.877" Score="6" Body="&lt;p&gt;$n^2$ processors can compare all ${n \choose 2}$ possibilities in constant depth, so yes it's in NC.&lt;/p&gt;&#xA;" OwnerUserId="1418" LastActivityDate="2012-07-07T01:35:10.877" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11957" PostTypeId="2" ParentId="11955" CreationDate="2012-07-07T06:24:22.607" Score="2" Body="&lt;p&gt;Yes, T&gt;0. I am not sure I correctly get all your conditions, so I suppose that each $A_i$ is an algorithm and each of them contains an upper bound for its running time. A constant fraction of the algorithms will be the following type: &quot;Run U on ``This'' program and if it stops in less then k steps, then output something different from its output, otherwise stop after k steps&quot;. obviously U cannot run faster than such an algorithm. (Here faster means more than a constant factor faster.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For your other question, you gotto be more specific about what kind of Turing-machines you allow. Probably the answer is no, see &lt;a href=&quot;http://en.wikipedia.org/wiki/Linear_speedup_theorem&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/Linear_speedup_theorem&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Update 7/7 to Squark's comment: I see, you are right, I have proved that for every U the limsup &gt;0. But if you take inf for all U, then you can take a U that knows the answer for the first many A_i and need not spend any time on them, and with high probability many of our random A_i will be from the first many, so T will go to 0. (Here I suppose that $t_i^U\le t_i$ which is not necessary, as programs can have never needed parts, but without this I cannot even prove $T&amp;lt;\infty$.)&lt;/p&gt;&#xA;" OwnerUserId="419" LastEditorUserId="419" LastEditDate="2012-07-07T18:07:37.773" LastActivityDate="2012-07-07T18:07:37.773" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="11961" PostTypeId="1" AcceptedAnswerId="11963" CreationDate="2012-07-07T22:47:25.527" Score="2" ViewCount="1002" Body="&lt;p&gt;I am studying the complexity of &lt;a href=&quot;http://en.wikipedia.org/wiki/Portal_2&quot; rel=&quot;nofollow&quot;&gt;Portal 2&lt;/a&gt; and I would like to know if the problem has been studied before. In particular, I would be interested any reference discussing the complexity of Portal 2 and it being NP-hard/PSPACE-hard and approaches to prove such results.&lt;/p&gt;&#xA;" OwnerUserId="5385" LastEditorUserId="186" LastEditDate="2012-07-11T04:52:36.920" LastActivityDate="2012-07-11T04:52:36.920" Title="Complexity of Portal 2" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;np-hardness&gt;&lt;pspace&gt;" AnswerCount="3" CommentCount="23" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="11962" PostTypeId="1" AcceptedAnswerId="11965" CreationDate="2012-07-07T23:05:45.910" Score="10" ViewCount="1654" Body="&lt;p&gt;Recently I've been reading a decent number of CoLT papers. Although I don't struggle with the individual papers (at least not more than I usually struggle with other theory papers), I don't feel I have a good broad grasp of the field as a whole.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Is there a standard text, surveys, or lecture notes for introducing CoLT at the graduate level?&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;I have a basic Theory A background, but no specific knowledge of Machine Learning or Statistics. I am mostly interested in things like PAC-learning and learning automata, and less interested in things like Bayesian inference and VC theory.&lt;/p&gt;&#xA;&lt;h3&gt;Related questions&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/q/9027/1037&quot;&gt;Resource / book for recent advances in statistical learning theory&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="1037" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2014-05-21T00:48:55.530" Title="Introductory resources on Computational Learning Theory" Tags="&lt;reference-request&gt;&lt;machine-learning&gt;&lt;lg.learning&gt;&lt;survey&gt;&lt;books&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="11963" PostTypeId="2" ParentId="11961" CreationDate="2012-07-07T23:46:11.663" Score="10" Body="&lt;p&gt;I think you could show it PSPACE-hard fairly easily, as there are doors controlled by pressure switches.  I'm not sure exactly what the limitations of the level design are in Portal so this may not be quite right.  (As I recall most levels have one door and one switch, which is not sufficient).  The HalfLife 2 engine in general seems certainly capable of making PSPACE-complete puzzles.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some good tools for this are in this paper:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Viglietta, G.  Gaming is a hard job, but someone has to do it! &lt;em&gt;Fun with Algorithms&lt;/em&gt; 2012&#xA;&lt;a href=&quot;http://arxiv.org/pdf/1201.4995v3.pdf&quot;&gt;http://arxiv.org/pdf/1201.4995v3.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course, none of this uses the actual portal aspect of the game.&lt;/p&gt;&#xA;" OwnerUserId="8927" LastActivityDate="2012-07-07T23:46:11.663" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="11964" PostTypeId="2" ParentId="11962" CreationDate="2012-07-08T01:03:43.177" Score="7" Body="&lt;p&gt;&lt;a href=&quot;http://mitpress.mit.edu/catalog/item/default.asp?ttype=2&amp;amp;tid=7334&quot;&gt;Kearns and Vazirani&lt;/a&gt; is maybe a bit old, but good introduction.&lt;/p&gt;&#xA;" OwnerUserId="4896" LastActivityDate="2012-07-08T01:03:43.177" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11965" PostTypeId="2" ParentId="11962" CreationDate="2012-07-08T02:00:43.533" Score="7" Body="&lt;p&gt;For some material more recent than Kearns and Vazirani, you could check out Rocco Servedio's lecture notes for &lt;a href=&quot;http://www.cs.columbia.edu/~rocco/Teaching/S12/&quot;&gt;Advanced Topics in Computational Learning Theory&lt;/a&gt;, or the notes from &lt;a href=&quot;http://www-stat.wharton.upenn.edu/~rakhlin/courses/stat928/stat928_notes.pdf&quot;&gt;Sasha Rakhlin's class&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="25" LastActivityDate="2012-07-08T02:00:43.533" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="11966" PostTypeId="2" ParentId="11961" CreationDate="2012-07-08T02:58:00.443" Score="14" Body="&lt;p&gt;(An earlier version of this question asked if anyone has shown Portal 2 to be NP-hard.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Yes, someone has done this.  Portal 2 is at least NP-hard.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My friend created a proof-of-concept map showing that the ability to beat a Portal 2 level implies the ability to solve 3SAT instances:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://steamcommunity.com/sharedfiles/filedetails/?id=73499175&quot;&gt;http://steamcommunity.com/sharedfiles/filedetails/?id=73499175&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="3964" LastEditorUserId="3964" LastEditDate="2012-07-09T14:45:40.160" LastActivityDate="2012-07-09T14:45:40.160" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="11967" PostTypeId="2" ParentId="11955" CreationDate="2012-07-08T03:32:47.060" Score="0" Body="&lt;p&gt;Maybe I misunderstood your question, or maybe my reasoning is flawed, but I disagree with @domotorp and think $T = 0$ with the reason stemming from the freedom you give by using $\inf_U$ in your definition. I outline my argument below. &lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;To make my life easier, I am going to make your definition of $A$s slightly more precise. By input-less I will think about algorithms that run on the all 0s input, and by output of $A$ I will take the decision problem approach: halt and return $D(A) \in \{0,1\}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The $A$s (including those that don't halt) have some ordering which is easy (i.e. we have an algorithm $N$ running in $O(|A|)$ such that $N(A) = i$ if $A$ is the $i$th program in our ordering) to compute from their code. Now I will define a magical infinite string $d$ (over $\{0,1,\bot\}$). Let $A$ be the $i$th machine in our ordering, if $A$ halts then $d(i) = D(A)$ else $d(i) = \bot$. By $d(1, ..., k)$ I will mean the string $d$ truncated to the first $k$ bits.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Fix a favorite universal machine $V$ and consider the following sequence of universal machines $U_k$:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;On input $A$, compute $i = N(A)$&lt;/li&gt;&#xA;&lt;li&gt;Search $d(1,...,k)$ for index $i$ and output&lt;/li&gt;&#xA;&lt;li&gt;If $i &amp;gt; k$ then output $V(A)$&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;What is the run-time of $U_k$ on input $A$? If $N(A) \leq k$ then it is $O(|A|)$, else it is $O(|A| + T(V(A))$ where $T(V(A))$ is the runtime of $V$ simulating $A$. Since you use $\inf_U$ in your definitions, I can reason about $U_\infty$ which is not a finite machine and simulates any $A$ in time $O(|A|)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, let us make two reasonable assumptions:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;$\forall A \quad T(A) \in \Omega(|A|)$: no self-delimiting program returns an answer faster than its description.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;$Pr_{halt}\{ T(A) \in \omega(|A|)\} = p &amp;gt; 0$: the probability $p$ that a halting program runs for strictly longer than its description is some non-zero.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Then under these assumptions we have that $\nu(t) \in o(\nu_{U_\infty}(t))$ and so T = 0.&lt;/p&gt;&#xA;" OwnerUserId="1037" LastActivityDate="2012-07-08T03:32:47.060" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="11968" PostTypeId="2" ParentId="11949" CreationDate="2012-07-08T04:46:17.093" Score="2" Body="&lt;p&gt;Arnaud is correct.  The critical piece I was missing is that for any $z$, $z^\top x &amp;gt; 0 \iff z^\top x / \|x\| &amp;gt; 0.$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So pick $z \in S$. Let $x_0 = \text{arg inf } \{ z^\top x \mid x \in \text{cl}(K) \cap \{0\}, \|x\|=1 \}$&#xA;and let $c_{x_0} = z^\top x_0 &amp;gt; 0$.  We know $x_0$ exists because the set $\text{cl}(K)\cap \{x \mid \|x\| = 1 \}$ is closed and bounded.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now let $\varepsilon = c_{x_0} / 2$ so that for any $z' = z + \gamma u$ where  $\|u\|=1$ and  $\gamma \in (0,\varepsilon)$, we have&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$~~~~ z'^\top x_0 \ge c_{x_0} - \gamma &amp;gt; c_{x_0} / 2 &amp;gt; 0.$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Furthermore, for any other $x \in \text{cl}(K)\cap \{x \mid \|x\| = 1 \}$ we know&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$~~~~ z'^\top x \ge z'^\top x_0 &amp;gt; 0.$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Therefore, for any $x \in \text{cl}(K) \backslash \{0\}$ we have&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$~~~~ z'^\top x / \|x\| &amp;gt; 0$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;which proves $z'^\top x &amp;gt; 0$ whenever $z' \in D(z,\varepsilon)$.&lt;/p&gt;&#xA;" OwnerUserId="10001" LastEditorUserId="10001" LastEditDate="2012-07-08T21:53:38.863" LastActivityDate="2012-07-08T21:53:38.863" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="11969" PostTypeId="2" ParentId="11961" CreationDate="2012-07-08T04:53:10.043" Score="1" Body="&lt;p&gt;&lt;strong&gt;PSPACE proof attempt of Portal 2 by reduction from TQBF&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;Application of section 2.2 of Gaming is a hard job, but someone has to do it! On portal 2.&#xA;A direct proof of the statement: Given Portal 2 can you encode a TQBF in the game?&lt;/p&gt;&#xA;&lt;p&gt;We disallow portals in certain parts to simplify the proof since this is allowed in the game but, we will show that if all surfaces were white then this would allow you to bypass the proof. This either changes the topology of the graph or collapses quantifiers into being the same quantifier.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/YunKK.png&quot; alt=&quot;Gaming is a hard job metatheorem 2.a,b,c&quot; /&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;(2.a) &lt;a href=&quot;http://steamcommunity.com/sharedfiles/filedetails/?id=80765883&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://steamcommunity.com/sharedfiles/filedetails/?id=80765883&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;(2.b) &lt;a href=&quot;http://steamcommunity.com/sharedfiles/filedetails/?id=80767793&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://steamcommunity.com/sharedfiles/filedetails/?id=80767793&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;(2.c) &lt;a href=&quot;http://steamcommunity.com/sharedfiles/filedetails/?id=80764848&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://steamcommunity.com/sharedfiles/filedetails/?id=80764848&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;strong&gt;Description of each gadget&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;I define a door as two tiles of deadly water that can't be jumped over.&#xA;To unlock a door you place a block on it and the door unlocks.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;span class=&quot;math-container&quot;&gt;$\forall$&lt;/span&gt; there is two doors activated by independent switches&lt;/li&gt;&#xA;&lt;li&gt;&lt;span class=&quot;math-container&quot;&gt;$\exists$&lt;/span&gt; is modeled by a sequence of switches with blocks that are deployed and you must put a block for each one.&lt;/li&gt;&#xA;&lt;li&gt;Clause gadgets are cone by allowing companion cubes to travel with you to open doors. Note that in my proof I have made each quantifier in sections to explicitly show the proof.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;strong&gt;Clause Satisfaction&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;I model clause satisfaction by companion cubes.&lt;/p&gt;&#xA;&lt;p&gt;Assuming you can always move companion cubes between rooms if one companion cube is with you then the &lt;span class=&quot;math-container&quot;&gt;$or$&lt;/span&gt; operation satisfies and you can pass.&lt;/p&gt;&#xA;&lt;p&gt;Note that each door is dependent on the next one if they are in a line in portal or if they are in one path.&lt;/p&gt;&#xA;&lt;p&gt;For the reverse operation on 2.a I allow you to portal backwards and have a piston allow you to go up.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Removal of Portal Restriction&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;If we allow for unrestricted portals and your portal simplifies the problem occurs then this removes quantifiers and sets the variable to be true.&lt;/p&gt;&#xA;&lt;p&gt;For 2.a and 2.b if there is the ability to shoot a portal past the door then you skip the quantifier.&lt;/p&gt;&#xA;&lt;p&gt;For 2.c if you allow successful portaling you skip the whole clause.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Further work&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;What does the physics engine do for computational complexity?&lt;/p&gt;&#xA;" OwnerUserId="5385" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2012-07-08T07:14:03.203" CommentCount="0" CommunityOwnedDate="2012-07-08T05:50:20.347" ContentLicense="CC BY-SA 3.0" />
  <row Id="11970" PostTypeId="2" ParentId="7346" CreationDate="2012-07-08T11:20:55.567" Score="2" Body="&lt;p&gt;Hisao Tamaki recently devised an exact algorithm for directed pathwidth (WG 2011). There he refers to some successful practical application of his approach (ISCIT 2010), so I guess he also has an implementation of the algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hisao Tamaki: A directed path-decomposition approach to exactly identifying attractors of boolean networks. International Symposium on Communications and Information Technologies (ISCIT 2010), pp. 844-849&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hisao Tamaki: A Polynomial Time Algorithm for Bounded Directed Pathwidth. In: 37th International Workshop on Graph-Theoretic Concepts in Computer Science (WG 2011), LNCS 6986, pp. 331-342.&lt;/p&gt;&#xA;" OwnerUserId="2367" LastActivityDate="2012-07-08T11:20:55.567" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11971" PostTypeId="1" AcceptedAnswerId="11972" CreationDate="2012-07-08T14:17:18.703" Score="4" ViewCount="1825" Body="&lt;p&gt;I am interested in the following variant of the subset sum problem:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a set of positive integer weights $w_1,..., w_n$, such that each $w_i$ is polynomial in $n$, and given integers $s$ and $k$, count the number of subsets of weights of cardinality exactly $s$ such that the sum of the weights in each subset is at most $k$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I expect that there is a polynomial-time dynamic programming algorithm for this problem but don't have a reference. Can anyone please point me to the relevant reference? &lt;/p&gt;&#xA;" OwnerUserId="604" LastEditorUserId="3964" LastEditDate="2012-07-09T02:06:22.783" LastActivityDate="2012-07-09T02:06:22.783" Title="A counting subset sum problem with fixed subset size and bounded weights" Tags="&lt;cc.complexity-theory&gt;&lt;counting-complexity&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11972" PostTypeId="2" ParentId="11971" CreationDate="2012-07-08T19:17:55.397" Score="4" Body="&lt;p&gt;Even if $s$ is not constant, a dynamic programming algorithm similar to that for the knapsack problem would work.  For this to be polynomial time, we need each $w_i$ to be polynomial in $n$ (implying that $k \leq \sum w_i$ is polynomial in n).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The idea is that $T(j,i)$ is the number of subsets of weight $j$ and cardinality $i$.  Start with all $T(j,i) = 0$ except $T(0,0) = 1$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;For i = 1 to $n$&#xA;For j = 0 to $k$&#xA;For h = 1 to $s$&#xA;T(w_i + j,h+1) += T(j,h)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Then your answer is $\sum_{j \leq k} T(j,s)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$s$, $n$, and $w_i$ (and therefore $k$) are all polynomial so all of this is polynomial.  Specifically this is at worst $O(n^2k)$ time.&lt;/p&gt;&#xA;" OwnerUserId="8927" LastEditorUserId="8927" LastEditDate="2012-07-08T22:34:28.767" LastActivityDate="2012-07-08T22:34:28.767" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11973" PostTypeId="1" CreationDate="2012-07-08T20:20:11.777" Score="17" ViewCount="445" Body="&lt;p&gt;2dca's (two-way deterministic one-counter automata) &lt;a href=&quot;http://dl.acm.org/citation.cfm?doid=193820.193835&quot;&gt;(Petersen, 1994)&lt;/a&gt; can recognize the following unary language:&#xA;\begin{equation} &#xA;\mathtt{POWER} = \lbrace  0^{2^n} \mid n \geq 0 \rbrace.&#xA;\end{equation}&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there any other nontrivial unary language recognized by 2dca's?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Remark that it is still unknown whether 2dca's can recognize $ \mathtt{SQUARE} = \lbrace  0^{n^2} \mid n \geq 0 \rbrace $?&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;DEFINITION: A 2dca is a two-way deterministic finite automaton with a counter. A 2dca can test whether the value of the counter is zero or not, and increment or decrement the value of the counter by 1 in each step.&lt;/p&gt;&#xA;" OwnerUserId="7358" LastEditorUserId="-1" LastEditDate="2012-11-11T06:05:22.700" LastActivityDate="2013-07-02T10:44:59.553" Title="Unary languages recognized by two-way deterministic counter automata" Tags="&lt;fl.formal-languages&gt;&lt;automata-theory&gt;&lt;counter-automata&gt;" AnswerCount="2" CommentCount="16" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="11978" PostTypeId="1" CreationDate="2012-07-09T09:09:39.517" Score="3" ViewCount="182" Body="&lt;p&gt;Let $A$ be an $n \times n$ matrix with $0$ or $1$ as entries. Under ETH, the permanent of $A$ cannot be calculated in $exp(o(n))$ time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider $A$ has $O(n^{r})$ entries as $0$ where $r \in [0,2]$. It is reasonable to assume ETH breaks down at $r=0$. Fix a $r_{o} \in (0,2)$. Is there an $s \in (0,1)$ such that $\forall r \le r_{o}$, $Perm(A)$ can be computed in $O(2^{n^{s}})$ time? If so, is there a formula for $s$ in terms of $n$ and $r_{o}$?&lt;/p&gt;&#xA;" OwnerUserId="1812" LastEditorUserId="186" LastEditDate="2012-07-09T16:52:33.263" LastActivityDate="2012-07-09T16:52:33.263" Title="An ETH-hardness sparsity transition for the permanent " Tags="&lt;cc.complexity-theory&gt;&lt;permanent&gt;" AnswerCount="0" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11979" PostTypeId="1" CreationDate="2012-07-09T18:31:57.570" Score="2" ViewCount="76" Body="&lt;p&gt;We have a network of $N$ agents moving in a field. Every agent has communication bandwidth of range $R$. During the process we must keep all-to-all communication among the agents. So we have constantly the constraint &lt;strong&gt;max(inter-agent distance)&amp;lt;=R&lt;/strong&gt;. At every step of the process a metric is minimized, which depends on the current positions of the agents. This minimization defines the directions which must be followed by the agents during the next step of the algorithm. In general the directions are different for every agent, but can be communicated to the others.&#xA;&lt;strong&gt;How the agents should be controlled in order to achieve the most efficient motion&lt;/strong&gt; (in the sense of maximizing the total distance covered in let's say $m$ steps)&lt;strong&gt;?&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;PS I suppose that our approach must be greedy.&lt;/p&gt;&#xA;" OwnerUserId="8926" LastEditorUserId="32187" LastEditDate="2015-04-13T10:59:38.010" LastActivityDate="2015-04-13T10:59:38.010" Title="Connectivity keeping centralized algorithm for multi-agent network navigation" Tags="&lt;cg.comp-geom&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11980" PostTypeId="1" AcceptedAnswerId="12010" CreationDate="2012-07-09T19:14:58.077" Score="7" ViewCount="638" Body="&lt;p&gt;I have a background in number theory and I'm trying to learn how to reason rigorously about algorithms. I'm reading chapter 2 of Katz and Lindell's &lt;em&gt;Introduction to Modern Cryptography&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Show that no probabilistic polynomial-time algorithm $A$ can distinguish between a random function $f:\{0,1\}^n\to \{0,1\}^n$ and a random permutation $g:\{0,1\}^n\to \{0,1\}^n$ when in each case $A$ is given oracle access to the tested function. Distinguish here is of course except with a negligible probability.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Proof idea&lt;/strong&gt;: $A$ can make at most $q(n)$ queries to the oracle for some polynomial $q(n)$. The chance that $A$ will find out that the given function is not injective is at most whatever probability comes out of the birthday problem of probability theory, but this is negligible in terms of $n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $A$ does not find a collision among the $q(n)$ queries, then $A$ can't know where the $2^n-q(n)$ remaining elements are mapped, so the function can be any function out of&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$(2^n)^{2^n-q(n)}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;possibilities of which $(2^n-q(n))!$ are permutations, which is a negligible fraction.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Now fix the algorithm and assume it's been given the function $F$ as an oracle. Say $A^F$ returns $1$ if $F$ is determined to be a random permutation by $A$ and $0$ if not. The problem is that I can't know anything about the strategy that $A$ uses and in order to rigorously prove the problem, I would need to show that&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$|P(A^f(n)=1)-P(A^g(n)=1)|\leq \epsilon(n),$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where $\epsilon$ is a negligible function. How is this done in a mathematically precise way? Where (even though the book is very vague about this), the probability of each term is taken over the choice of $f$ and $g$ and whatever coin flips $A$ does.&lt;/p&gt;&#xA;" OwnerUserId="10031" LastEditorUserId="149" LastEditDate="2012-07-11T21:41:03.307" LastActivityDate="2012-07-12T18:21:35.177" Title="Rigorous proof that a random function and a random permutation cannot be distinguished in polynomial time" Tags="&lt;cr.crypto-security&gt;&lt;randomized-algorithms&gt;&lt;query-complexity&gt;&lt;pseudorandomness&gt;" AnswerCount="2" CommentCount="5" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11982" PostTypeId="1" CreationDate="2012-07-09T21:27:17.073" Score="14" ViewCount="2359" Body="&lt;p&gt;I am starting my PhD this autumn and I am planning to work in complexity theory for my thesis.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am compiling a list of important papers that every complexity theorist should know.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What papers would you suggest to a person like me? And please briefly explain why you think the paper is important. &lt;/p&gt;&#xA;" OwnerUserId="10032" LastActivityDate="2012-07-11T23:49:25.537" Title="Papers every complexity theorist should read" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;big-list&gt;" AnswerCount="5" CommentCount="11" FavoriteCount="15" CommunityOwnedDate="2012-07-10T03:07:01.433" ContentLicense="CC BY-SA 3.0" />
  <row Id="11983" PostTypeId="2" ParentId="11791" CreationDate="2012-07-10T00:30:56.033" Score="1" Body="&lt;p&gt;this HuffingtonPost &lt;a href=&quot;http://www.huffingtonpost.com/2012/07/09/alan-turing-part-one_n_1655056.html&quot; rel=&quot;nofollow&quot;&gt;video documentary/interviews/transcript&lt;/a&gt; was produced at the 2012 ACM Turing Award celebration &amp;amp; includes commentary by prior Turing award winners incl Bachman (1973), Allen (2006), Cerf (2004), Pearl (2011), also Papadimitriou author of widely read complexity theory textbook.&lt;/p&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2012-07-10T00:30:56.033" CommentCount="0" CommunityOwnedDate="2012-07-10T00:30:56.033" ContentLicense="CC BY-SA 3.0" />
  <row Id="11984" PostTypeId="2" ParentId="11935" CreationDate="2012-07-10T01:10:51.703" Score="1" Body="&lt;p&gt;You may want to look into the &quot;Crust&quot; and &quot;Power Crust&quot; algorithms from Amenta, et al.  Rather than ellipsoids, it uses spheres, but I believe the concept is simliar as they are able to, at the limit, construct a water-tight body from an unorganized point-cloud.  In their case the desire was to mesh the original intended shape from the medial axis created between the delaunay and voroni spaces of the point-cloud rather than a convex hull of the points, but you may be able to glean some interesting ideas.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The associated papers can be found here:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.cs.ucdavis.edu/~amenta/pubs/crust.pdf&quot; rel=&quot;nofollow&quot;&gt;A New Voronoi-Based Surface Reconstruction Algorithm&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.cs.ucdavis.edu/~amenta/pubs/sm.pdf&quot; rel=&quot;nofollow&quot;&gt;The Power Crust&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.cs.ucdavis.edu/~amenta/pubs/powerTheory.pdf&quot; rel=&quot;nofollow&quot;&gt;The Power Crust, Unions of Balls, and the Medial Axis Transform&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="10034" LastActivityDate="2012-07-10T01:10:51.703" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11985" PostTypeId="1" CreationDate="2012-07-10T03:34:19.163" Score="3" ViewCount="75" Body="&lt;p&gt;Reading various articles in the literature have given me only a few decent methods of keeping track of nodes before-&gt;after load-balancing them on a very large network.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One popular method uses virtual-servers and a DHT (Distributed Hash Table)[1]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem with DHTs is they are very difficult to maintain, and can result in single point of failure.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Recently I've been looking at implementing a tree of &lt;a href=&quot;http://www.eecs.harvard.edu/~michaelm/postscripts/esa2006b.pdf&quot; rel=&quot;nofollow&quot;&gt;counting bloom filters&lt;/a&gt; for finding nodes once their position has been moved.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Can you recommend an alternate method of keeping track of nodes?&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] Frank Dabek, M. Frans Kaashoek, David Karger, Robert Morris, and Ion Stoica. Wide-area cooperative storage with CFS. SIGOPS Oper. Syst. Rev., 35(5):202215, October 2001.&lt;/p&gt;&#xA;" OwnerUserId="10036" LastActivityDate="2012-07-10T03:34:19.163" Title="Load-balancing; Alternate methods of keeping track of nodes?" Tags="&lt;ds.algorithms&gt;&lt;graph-algorithms&gt;&lt;ds.data-structures&gt;&lt;tree&gt;&lt;search-problem&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11987" PostTypeId="2" ParentId="10279" CreationDate="2012-07-10T09:16:28.573" Score="-2" Body="&lt;p&gt;If you consider 7 binary questions, then covering codes with radius one, is 16 number, (and it is the minimum one, because every answer will cover 8, and with 16 number of answers we will reach 16*8=128).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I was pondering the same, when I was 18 years old, in 1999, and I wrote a program with Q-Basic to find the solution, I wrote not in a proper way, but I got the result, &#xA;The concept of program was simple but for CPU to solve and find the answer was time consuming. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;My algorithm was very simple:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1- creating space for all possibilities (128)&#xA;2- selecting 16 member of this 128, and consider it as a group. &#xA;3- checking all 128 possibilities in this group,&#xA;4- if find a code that could not be covered by the selected group, then select another group with 16 member. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;5- Repeat it until reach the answer. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;when I went to university I research about it, and I found scientists are calling them as covering codes, &#xA;recently I extent my program in many different algorithms to find the result for different combinations, ( many questions not only Boolean answers, maybe 4 or 5 choices per answer ). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I wrote some program with Matlab too. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Regards&#xA;(Navid.Chaichi@gmail.com)&lt;/p&gt;&#xA;" OwnerUserId="10040" LastActivityDate="2012-07-10T09:16:28.573" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11988" PostTypeId="2" ParentId="11982" CreationDate="2012-07-10T09:32:02.603" Score="9" Body="&lt;p&gt;Although this is not a direct answer to your question, I would like to recommend the following book:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;&lt;a href=&quot;http://www.calvin.edu/~rpruim/publications/gems/&quot;&gt;Gems of Theoretical Computer Science&lt;/a&gt;&lt;/strong&gt; by Uwe Schöning and Randall J. Pruim.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Most of its chapters are related to complexity theory. The book can be seen as a nice collection of the results from some important research papers. You can get the papers from the results!&lt;/p&gt;&#xA;" OwnerUserId="7358" LastActivityDate="2012-07-10T09:32:02.603" CommentCount="0" CommunityOwnedDate="2012-07-10T09:32:02.603" ContentLicense="CC BY-SA 3.0" />
  <row Id="11989" PostTypeId="2" ParentId="11928" CreationDate="2012-07-10T12:24:00.297" Score="1" Body="&lt;p&gt;I think you have misunderstood the definitions:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;TERESE (9.1.1):&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A &lt;em&gt;strategy&lt;/em&gt; $S$ for an ARS $\rightarrow$ is a sub-ARS $\rightarrow_S$ of $\rightarrow$ having the same objects and normal forms.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This means that&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;If $a\rightarrow_S b$, then $a\rightarrow b$ (sub-ARS condition)&lt;/li&gt;&#xA;&lt;li&gt;If there exists $b$ such that $a\rightarrow b$, then there exists $b'$ such that $a\rightarrow_S b'$ (same normal forms).&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;The second condition can be read as: if $a$ is not a normal form, then there is some rewrite step from $a$ which conforms to strategy $S$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;TERESE (9.1.12):&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $A$ is a superset of the set of normal forms for $\rightarrow$, a strategy $S$ is $A$-normalizing if the restriction of $S$ to terms &lt;em&gt;not&lt;/em&gt; in $A$ is normalizing.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This means that a strategy is $A$-normalizing if every reduction sequence for $\rightarrow_S$ either&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Ends on a normal form&lt;/li&gt;&#xA;&lt;li&gt;Ends in $A$.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Clearly if $A=NF$ then only case 1. is relevant. However if $A$ is taken to be terms in head-normal form, then case 2. may occur independently of case 1.&lt;/p&gt;&#xA;" OwnerUserId="3984" LastActivityDate="2012-07-10T12:24:00.297" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11990" PostTypeId="2" ParentId="11982" CreationDate="2012-07-10T14:57:47.543" Score="5" Body="&lt;p&gt;I agree with Abuzer's answer above: I think that every chapter of a computational complexity book (like Arora and Barack's &quot;&lt;a href=&quot;http://www.cs.princeton.edu/theory/complexity/&quot;&gt;Computational Complexity: a Modern Approach&lt;/a&gt;&quot; or Goldreich's &quot;&lt;a href=&quot;http://www.wisdom.weizmann.ac.il/~oded/cc-book.html&quot;&gt;Computational Complexity: a Conceptual Perspective&lt;/a&gt;&quot; ) contains (and often explains in a more clear way) results that come from important/fundamental papers. And while reading a computational complexity book you can better understand why they are considered important.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However these are my favourites:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Savitch%27s_theorem&quot;&gt;Savitch's theorem&lt;/a&gt;: Savitch, Walter J. (1970), &quot;Relationships between nondeterministic and deterministic tape complexities&quot;, Journal of Computer and System Sciences 4 (2): 177–192, &lt;a href=&quot;http://dx.doi.org/10.1016/S0022-0000%2870%2980006-X&quot;&gt;DOI:10.1016/S0022-0000(70)80006-X&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Cook%E2%80%93Levin_theorem&quot;&gt;Cook-Levin theorem&lt;/a&gt;: Cook, Stephen (1971). &quot;&lt;a href=&quot;http://portal.acm.org/citation.cfm?coll=GUIDE&amp;amp;dl=GUIDE&amp;amp;id=805047&quot;&gt;The complexity of theorem proving procedures&lt;/a&gt;&quot;. Proceedings of the Third Annual ACM Symposium on Theory of Computing. pp. 151–158&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;J. Hopcroft, W. Paul, and L. Valiant, &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=322015&quot;&gt;On time versus space&lt;/a&gt;, J. ACM, 24, 332–337 (1977)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;T. P. Baker, J. Gill, R. Solovay. Relativizations of the P =? NP Question. SIAM Journal on Computing, 4(4): 431-442 (1975)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="3247" LastActivityDate="2012-07-10T14:57:47.543" CommentCount="0" CommunityOwnedDate="2012-07-10T14:57:47.543" ContentLicense="CC BY-SA 3.0" />
  <row Id="11991" PostTypeId="2" ParentId="11982" CreationDate="2012-07-10T15:26:50.770" Score="6" Body="&lt;p&gt;1)R. Lader, N. Lynch, and A. Selman. A comparison of polynomial time reducibilities. Theoretical Computer Science, 1(2):103-124, 1975.&lt;br&gt;&lt;br&gt;&#xA;2)L.G. Valiant “The complexity of computing the permanent”, Theoretical Computer Science, 8 (1979), pp. 181-201. &lt;br&gt;&lt;br&gt;&#xA;3)A. Blass &amp;amp; Y. Gurevich “On the unique satisfiability problem.” Information and Control, 55(1-3) pages 80-88, 1982. &lt;br&gt;&lt;br&gt;&#xA;4)J. Balcazar, R. Book &amp;amp; U. Schoning. “The Polynomial-Time Hierarchy &amp;amp; Sparse Oracles” Journal of the Associate for Computing Machinery, Vol 33, No3. July1986. pages 603-617. &lt;br&gt;&lt;br&gt;&#xA;5)L.G. Valiant &amp;amp; V. Vazirani “NP is as easy as detecting Unique Solutions” Theoretical Computer Science 47 (1986) pages 85-93.&lt;br&gt;&lt;br&gt;&#xA;6)E. Allender. The complexity of sparse sets in P. In proceedings of the 1st Structure in Complexity Theory Conference, pages 1-11. Springer-Verlag Lecture Notes in Computer Science #223, June 1986. &lt;br&gt;&lt;br&gt;&#xA;6)R. Beigel. On the relativized power of additional accepting paths. In proceedings of the 4th Structure in Complexity Theory Conference, pages 216-224. IEEE Computer Society Press, June 1989. &lt;br&gt;&lt;br&gt;&#xA;7)R.Beigel &amp;amp; J. Gill “Counting Classes: Thresholds, parity, Mods, and Fewness” Theoretical Computer Science Volume 103 Pages 3-23. 1992. &lt;br&gt;&lt;br&gt;&#xA;8)S. Fenner, L. Fortnow &amp;amp; S. Kurtz “Gap-Definable Counting Classes” Journale of Computer And System Sciences Volume 48 Pages 116-148 1994.&lt;br&gt;&lt;br&gt;&#xA;9)R. Beigel, H. Buhrman, and L. Fortnow. NP might not be as easy as detecting unique solutions. In Proceedings of the 30th ACM Symposium on Theory of Computing, pages 203-208. ACM Press, May 1998. &lt;br&gt;&lt;br&gt;&#xA;10)B. Borchert, L. Hemaspaandra &amp;amp; J. Rothe “Restrictive Acceptance Suffices for Equivalance Problems”  LMS J Comput. Math 3 Pages 86-95 2000. &lt;/p&gt;&#xA;" OwnerUserId="1590" LastActivityDate="2012-07-10T15:26:50.770" CommentCount="0" CommunityOwnedDate="2012-07-10T15:26:50.770" ContentLicense="CC BY-SA 3.0" />
  <row Id="11992" PostTypeId="2" ParentId="11922" CreationDate="2012-07-10T16:14:50.870" Score="2" Body="&lt;p&gt;OK, I think I found something relevant: &lt;a href=&quot;http://www.ics.uci.edu/~chenli/pub/icde08-stringsearch.pdf&quot; rel=&quot;nofollow&quot;&gt;this paper&lt;/a&gt; mentions a &quot;T-occurrence problem&quot; in section III (p. 2) which is exactly our problem (where $T$ is what we called $k$), hidden behind some domain-specific jargon. The ScanCount algorithm that they propose is the naive approach I suggested in my question. The MergeOpt algorithm is a generalization of the binary search trick. Their main proposal (DivideSkip) is a combination of this binary search trick and a different trick (MergeSkip) to skip multiple values. It even seems that experimentally the clever approaches are much better than the naive approaches (look at the &quot;No filters&quot; column in page 8, the filters are heuristics for their domain-specific stuff).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This can be combined with David Eppstein's trick to make multiple binary searches in $S_2$ more efficient, and with the idea of using interpolation search instead of binary search (an idea from &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.87.9365&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;nofollow&quot;&gt;this other paper from the same field&lt;/a&gt;).&lt;/p&gt;&#xA;" OwnerUserId="4795" LastActivityDate="2012-07-10T16:14:50.870" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="11995" PostTypeId="2" ParentId="11982" CreationDate="2012-07-10T18:55:34.187" Score="7" Body="&lt;p&gt;I'd recommend the results in &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.cs.rochester.edu/u/lane/=companion/#list&quot;&gt;The Complexity Theory Companion&lt;/a&gt; by Hemaspaandra and Ogihara. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's organized around techniques rather than results, though often the technique was developed for a particular result, and it covers several seminal results and important proof techniques.&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2012-07-10T18:55:34.187" CommentCount="0" CommunityOwnedDate="2012-07-10T18:55:34.187" ContentLicense="CC BY-SA 3.0" />
  <row Id="11996" PostTypeId="2" ParentId="11982" CreationDate="2012-07-10T19:01:00.017" Score="10" Body="&lt;p&gt;Ryan William's &lt;a href=&quot;https://www.stanford.edu/~rrwill/acc-lbs.pdf&quot;&gt;Non-uniform ACC Circuit Lower Bounds&lt;/a&gt; and all the results cited therein. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Not only is this a recent important result, it is a very well-written paper. Furthermore, the results the paper uses and cites cover a pretty good range of seminal complexity results. So if you trace through the references and read those as well - get to a point where you understand every part of the ACC lower bound from first principles - I would think that would be an excellent start to a graduate complexity education.&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2012-07-10T19:01:00.017" CommentCount="1" CommunityOwnedDate="2012-07-10T19:01:00.017" ContentLicense="CC BY-SA 3.0" />
  <row Id="11997" PostTypeId="1" AcceptedAnswerId="12000" CreationDate="2012-07-10T21:08:38.403" Score="8" ViewCount="237" Body="&lt;p&gt;Is it known if tensor rank of three dimensional tensors lies in VNP (non deterministic valiant class)? If yes, what is known about high dimensional tensor rank?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In fact I am interested in much more simple problem. I would like  to know if one can construct class non-zero polynomials $f_n$ which lies in VNP, in $n^3$ variables such that $f_i(T)=0$ if tensor rank of $T$ less than $n^{1.9}$.&#xA;For simplicity let us assume that we are working over $\mathbb{C}$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would like to mention that it is O.K. if $f_i(T)=0$ for $T$ of high rank only what I need is that $f_i(T)=0$ for all small rank tensors. &lt;/p&gt;&#xA;" OwnerUserId="1821" LastEditorUserId="1821" LastEditDate="2012-07-11T05:08:48.610" LastActivityDate="2012-07-11T05:08:48.610" Title="Is tensor rank is in VNP?" Tags="&lt;cc.complexity-theory&gt;&lt;algebraic-complexity&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="11998" PostTypeId="2" ParentId="1168" CreationDate="2012-07-10T21:26:06.227" Score="11" Body="&lt;p&gt;&lt;a href=&quot;http://www.lri.fr/perso/~mdr/pcp-newproof.pdf&quot;&gt;PCP Theorem by Gap Amplification&lt;/a&gt; by Irit Dinur&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This paper should be of interest to anyone who uses the PCP theorem for approximation algorithms. It gives an alternate proof which arises much more naturally from approximation algorithms than the original proof. This one is a so-called &quot;combinatorial proof&quot;.&lt;/p&gt;&#xA;" OwnerUserId="10047" LastActivityDate="2012-07-10T21:26:06.227" CommentCount="0" CommunityOwnedDate="2012-07-10T21:26:06.227" ContentLicense="CC BY-SA 3.0" />
  <row Id="11999" PostTypeId="1" AcceptedAnswerId="12003" CreationDate="2012-07-10T21:50:55.663" Score="19" ViewCount="992" Body="&lt;p&gt;A basic property of vector spaces is that a vector space $V \subseteq \mathbb{F}_2^n$ of dimension $n-d$ can be characterized by $d$ linearly independent linear constraints - that is, there exist $d$ linearly independent vectors $w_1, \ldots, w_d \in \mathbb{F}_2^n$ that are orthogonal to $V$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;From a Fourier perspective, this is equivalent to saying that the indicator function $1_V$ of $V$ has $d$ &lt;i&gt;linearly independent&lt;/i&gt; non-zero Fourier coefficients. Note that $1_V$ has $2^d$ non-zero Fourier coefficients in total, but only $d$ of them are linearly independent.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am looking for an approximate version of this property of vector spaces. Specifically, I am looking for a statement of the following form:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $S \subseteq \mathbb{F}_2^n$ be of size $2^{n-d}$. Then, the indicator function $1_S$ has at most $d\cdot\log(1/\varepsilon)$ &lt;i&gt;linearly independent&lt;/i&gt; Fourier coefficients whose absolute value is at least $\varepsilon$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This question can be viewed from a &quot;Structure vs. Randomness&quot; perspective - Intuitively, such a claim says that every large set can be decomposed to a sum of a vector space and a small biased set. It is well known that every function $f:\mathbb{F}_2^n \to \mathbb{F}_2$ can be decomposed into a &quot;linear part&quot; of which has $\mathrm{poly}(1/\varepsilon)$ large Fourier coefficients, and a &quot;pseudorandom part&quot; that has small bias. My question asks whether the linear part has only a logarithmic number of &lt;i&gt;linearly independent&lt;/i&gt; Fourier coefficients.&lt;/p&gt;&#xA;" OwnerUserId="8429" LastEditorUserId="186" LastEditDate="2012-07-12T19:25:25.213" LastActivityDate="2012-07-12T20:05:34.887" Title="Linearly independent Fourier coefficients" Tags="&lt;co.combinatorics&gt;&lt;linear-algebra&gt;&lt;boolean-functions&gt;&lt;fourier-analysis&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="12000" PostTypeId="2" ParentId="11997" CreationDate="2012-07-10T22:37:05.180" Score="9" Body="&lt;p&gt;The collection of tensors of a given rank, or even of tensors with rank at most $k$ is not a (Zariski-)closed set, so it cannot be described as the vanishing locus of any set of polynomials, regardless of their complexity. (However, over finite fields tensor-rank is $NP$-complete and over $\mathbb{Q}$ it is $NP$-hard but not known to be in $NP$. But these are the usual Boolean classes, not the Valiant analogues.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The closure of the the set of tensors of rank at most $k$ is the set of tensors of &lt;em&gt;border&lt;/em&gt;-rank at most $k$. Call a set of polynomials whose vanishing locus is the set of tensors of border-rank at most $k$ a system of (set-theoretic) defining equations for border rank at most $k$. Such defining equations are known for small $k$, but for most $k$ finding such defining equations is a long-standing open problem, related the border-rank and multiplicative complexity of matrix multiplication.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See Landsberg's Bulletin article &lt;a href=&quot;http://www.ams.org/journals/bull/2008-45-02/S0273-0979-08-01176-2/&quot;&gt;Geometry and the complexity of matrix multiplication&lt;/a&gt; for an introduction and some references, and see Landsberg's recent book &lt;a href=&quot;http://www.ams.org/bookstore-getitem/item=gsm-128&quot;&gt;Tensors: Geometry and Applications&lt;/a&gt; (&lt;a href=&quot;http://www.math.tamu.edu/~jml/Tbookintro.pdf&quot;&gt;freely available introduction&lt;/a&gt;) for all that is known about defining equations for border-rank.&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2012-07-10T22:37:05.180" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="12001" PostTypeId="2" ParentId="2681" CreationDate="2012-07-10T23:07:41.687" Score="0" Body="&lt;p&gt;this is a recent breakthrough google research result where a large distributed network running stochastic gradient descent optimization (SGD) and working with &lt;em&gt;unlabeled&lt;/em&gt; images (from random youtube videos and frames) was able to develop highly meaningful emergent feature detectors including facial recognition and other object recognition (cats, human bodies, etc). as the researchers note in the article, this was previously considered impossible by conventional wisdom. most prior experiments tend to focus on labelled data samples or supervised algorithms. note however the training phase is extremely CPU intensive.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;it seems likely the technology will have wideranging applications in the future including eg, most basically, for detecting similarity of images, but with much more advanced possibilities such as for cutting edge problems in AI.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;based on its operational similarity to an old biological evidence/observations/speculation sometimes referred to as &quot;grandmother neurons&quot; (ie high level &quot;feature detectors&quot;) it is seen as not so merely &quot;ad hoc&quot; and may have some real relation to actual &quot;algorithms&quot; used by the human brain for image recognition (or perhaps even deeper or more general cerebral processing).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;presented at ICML 2012: 29th International Conference on Machine Learning,&#xA;Edinburgh, Scotland, June, 2012. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] &lt;a href=&quot;http://research.google.com/archive/unsupervised_icml2012.html&quot; rel=&quot;nofollow&quot;&gt;Building High-level Features Using Large Scale Unsupervised Learning&lt;/a&gt; by Le et al&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] &lt;a href=&quot;http://www.nytimes.com/2012/06/26/technology/in-a-big-network-of-computers-evidence-of-machine-learning.html&quot; rel=&quot;nofollow&quot;&gt;How Many Computers to Identify a Cat? 16,000&lt;/a&gt; by John Markoff/NYT&lt;/p&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="7884" LastEditDate="2012-07-10T23:13:15.547" LastActivityDate="2012-07-10T23:13:15.547" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12002" PostTypeId="2" ParentId="11922" CreationDate="2012-07-11T12:19:11.697" Score="1" Body="&lt;p&gt;Your problem is similar to the data mining problem of finding &lt;em&gt;frequent itemsets&lt;/em&gt;, also known as &lt;a href=&quot;http://en.wikipedia.org/wiki/Association_rule_learning&quot; rel=&quot;nofollow&quot;&gt;Association rule learning&lt;/a&gt;. If I understood correctly, your problem may be reduced to finding frequent itemsets of cardinality 1 (i.e., singletons) with &lt;em&gt;support&lt;/em&gt; &gt;= &lt;em&gt;k&lt;/em&gt;. Of course, the available algorithms (such as Apriori, Eclat, D-CLUB etc) for the problem also allow determining frequent itemsets of cardinality &gt; 1.&lt;/p&gt;&#xA;" OwnerUserId="4208" LastActivityDate="2012-07-11T12:19:11.697" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12003" PostTypeId="2" ParentId="11999" CreationDate="2012-07-11T15:45:12.333" Score="12" Body="&lt;p&gt;Isn't the following a counter-example?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $f(x)$ be the majority of $x_1, \ldots, x_{1/\epsilon^2}$, which is an indicator of a set of size $2^n/2$, so $d = 1$.  However, $\hat{f}(\{i\}) = \Theta(\epsilon)$ for $1 \le i \le 1/\epsilon^2$, so you have $1/\epsilon^2$ linearly independent large Fourier coefficients.&lt;/p&gt;&#xA;" OwnerUserId="664" LastActivityDate="2012-07-11T15:45:12.333" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12004" PostTypeId="1" CreationDate="2012-07-11T16:36:35.493" Score="15" ViewCount="1205" Body="&lt;p&gt;Larry Wasserman has a recent post where he talks about the &quot;p-value police&quot;. He makes an interesting point (all emphasis mine) (the premise in italics that I added, and his response below it):&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;em&gt;The most common complaint is that physicists and journalists explain&#xA;  the meaning of a p-value incorrectly. For example, if the p-value is&#xA;  0.000001 then we will see statements like “there is a 99.9999% confidence that the signal is real.” We then feel compelled to correct&#xA;  the statement: if there is no effect, then the chance of something as&#xA;  or more extreme is 0.000001.&lt;/em&gt;&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;Fair enough. But does it really matter? The big picture is: the&#xA;  evidence for the effect is overwhelming. Does it really matter if the&#xA;  wording is a bit misleading? &lt;strong&gt;I think we reinforce our image as pedants&#xA;  if we complain about this.&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Which got me thinking - &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Are there good examples of pedantry in TCS ? Such an example would&#xA;  consist of &lt;/p&gt;&#xA;  &#xA;  &lt;ul&gt;&#xA;  &lt;li&gt;A claim that is commonly made in the popular press&lt;/li&gt;&#xA;  &lt;li&gt;A standard correction that people insist on making&lt;/li&gt;&#xA;  &lt;li&gt;The correct &quot;big picture&quot; that the claim does capture even while being imprecise.&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;  &#xA;  &lt;p&gt;where the claim is mathemtically wrong  but &quot;morally right&quot; and the&#xA;  correction is technically correct but doesn't change the intuitive&#xA;  understanding.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;To lead things off, my example would be:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Claim - NP-complete problems take exponential time to solve&lt;/li&gt;&#xA;&lt;li&gt;Correction - No in fact we just don't know if they can be solved in polynomial time&lt;/li&gt;&#xA;&lt;li&gt;Big picture - NP-complete problems are HARD&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Caution: I know there are many on this forum whose head will explode at the idea of claims that are wrong but &quot;morally correct&quot; :). Remember that these are statements targeted towards the public (where some degree of license can be permitted), rather than statements made in a research paper. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2012-07-14T00:25:59.363" Title="Examples of pedantry in TCS" Tags="&lt;ds.algorithms&gt;&lt;soft-question&gt;&lt;big-list&gt;" AnswerCount="5" CommentCount="3" FavoriteCount="5" CommunityOwnedDate="2012-07-11T16:36:35.493" ContentLicense="CC BY-SA 3.0" />
  <row Id="12005" PostTypeId="2" ParentId="12004" CreationDate="2012-07-11T17:20:22.063" Score="12" Body="&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;claim by press: about things that grow &quot;exponentially&quot; ie claim of O(k^n)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;actually true: often, a constant power O(n^k)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;big picture: it grows fast enough, all right&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="9866" LastActivityDate="2012-07-11T17:20:22.063" CommentCount="5" CommunityOwnedDate="2012-07-11T17:20:22.063" ContentLicense="CC BY-SA 3.0" />
  <row Id="12006" PostTypeId="2" ParentId="12004" CreationDate="2012-07-11T17:23:07.553" Score="17" Body="&lt;p&gt;Hm, its tough even to think of examples of claims about TCS that make it to the popular press. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;One thing I have seen occasionally is the claim that factoring is NP-hard, when explaining cryptography. This is related to the less innocuous error of claiming that quantum computers can solve NP hard problems, but restricted to the context of cryptography, this is a relatively mild error. The point is just that we (users of cryptography) seem to believe that there is no efficient algorithm for solving the problem. The particular conjectures we use to justify this assertion are besides the point.&lt;/p&gt;&#xA;" OwnerUserId="25" LastActivityDate="2012-07-11T17:23:07.553" CommentCount="0" CommunityOwnedDate="2012-07-11T17:23:07.553" ContentLicense="CC BY-SA 3.0" />
  <row Id="12007" PostTypeId="1" AcceptedAnswerId="32815" CreationDate="2012-07-11T17:31:35.220" Score="10" ViewCount="332" Body="&lt;p&gt;$\underline{\bf Background}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In 2005, Regev [1] introduced the Learning with Errors (LWE) problem, a generalization of the Learning Parity with Error problem. The assumption of this problem's hardness for certain parameter choices now underlies the security proofs for a host of post-quantum cryptosystems in the field of lattice-based cryptography. The &quot;canonical&quot; versions of LWE are described below.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Preliminaries:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $\mathbb{T} = \mathbb{R}/\mathbb{Z}$ be the additive group of reals modulo 1, i.e. taking values in $[0, 1)$. For positive integers $n$ and $2 \le q \le poly(n)$, a &quot;secret&quot; vector ${\bf s} \in \mathbb{Z}_q^n$, a probability distribution $\phi$ on $\mathbb{R}$, let $A_{{\bf s}, \phi}$ be the distribution on $\mathbb{Z}_q^n \times \mathbb{T}$ obtained by choosing ${\bf a} \in \mathbb{Z}_q^n$ uniformly at random, drawing an error term $x \leftarrow \phi$, and outputting $({\bf a}, b' = \langle{\bf a}, s\rangle/q + x) \in \mathbb{Z}_q^n \times \mathbb{T}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $A_{{\bf s}, \overline{\phi}}$ be the &quot;discretization&quot; of $A_{{\bf s}, \phi}$. That is, we first draw a sample $({\bf a}, b')$ from $A_{{\bf s}, \phi}$ and then output $({\bf a}, b) = ({\bf a}, \lfloor b'\cdot q\rceil) \in \mathbb{Z}_q^n \times \mathbb{Z}_q$. Here $\lfloor\circ\rceil$ denotes rounding $\circ$ to the nearest integral value, so we can view $({\bf a}, b)$ as $({\bf a}, b= \langle {\bf a}, {\bf s} \rangle + \lfloor q\cdot x\rceil)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the canonical setting, we take the error distribution $\phi$ to be a Gaussian. For any $\alpha &amp;gt; 0$, the density function of a 1-dimensional Gaussian probability distribution over $\mathbb{R}$ is given by $D_{\alpha}(x)=e^{-\pi(x/\alpha)^2}/\alpha$. We write $A_{{\bf s}, \alpha}$ as shorthand for the discretization of $A_{{\bf s}, D_\alpha}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;LWE Definition:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the &lt;strong&gt;search version&lt;/strong&gt; $LWE_{n, q, \alpha}$ we are given $N = poly(n)$ samples from $A_{{\bf s}, \alpha}$, which we can view as &quot;noisy&quot; linear equations (Note: ${\bf a}_i, {\bf s} \in \mathbb{Z}_q^n, b_i \in \mathbb{Z}_q$):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\langle{\bf a}_1, {\bf s}\rangle \approx_\chi b_1\mod q$$&#xA;$$\vdots$$&#xA;$$\langle{\bf a}_N, {\bf s}\rangle \approx_\chi b_N\mod q$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where the error in each equation is independently drawn from a (centered) discrete Gaussian of width $\alpha q$. Our goal is to recover ${\bf s}$. (Observe that, with no error, we can solve this with Gaussian elimination, but in the presence of this error, Gaussian elimination fails dramatically.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the &lt;strong&gt;decision version&lt;/strong&gt; $DLWE_{n, q, \alpha}$, we are given access to an oracle $\mathcal{O}_{\bf s}$ that returns samples $({\bf a}, b)$ when queried. We are promised that the samples either all come from $A_{{\bf s}, \alpha}$ or from the uniform distribution $U(\mathbb{Z}_q^n)\times U(\mathbb{Z}_q)$. Our goal is to distinguish which is the case.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Both problems are believed to be $hard$ when $\alpha q &amp;gt; 2\sqrt n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Connection to Complexity Theory:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is known (see [1], [2] for details) that LWE corresponds to solving a Bounded Distance Decoding (BDD) problem on the dual lattice of a GapSVP instance. A polynomial time algorithm for LWE would imply a polynomial time algorithm to approximate certain lattice problems such as SIVP and SVP within $\tilde O(n/\alpha)$ where $1/\alpha$ is a small polynomial factor (say, $n^2$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Current Algorithmic Limits&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;When $\alpha q \le n^\epsilon$ for $\epsilon$ strictly less than 1/2, Arora and Ge [3] give a subexponential-time algorithm for LWE. The idea is that, from well-known properties of the Gaussian, drawing error terms this small fits into a &quot;structured noise&quot; setting except with exponentially low probability. Intuitively in this setting, every time we would have received 1 sample, we receive a block of $m$ samples with a promise that no more than some constant fraction contain error. They use this observation to &quot;linearize&quot; the problem, and enumerate over the error space.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\underline{\bf Question}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose we are, instead, given access to an oracle $\mathcal{O}_{\bf s}^+$. When queried, $\mathcal{O}_{\bf s}^+$ first queries $\mathcal{O}_{\bf s}$ to obtain a sample $({\bf a}, b)$. If $({\bf a}, b)$ was drawn from $A_{{\bf s}, \alpha}$, then $\mathcal{O}_{\bf s}^+$ returns a sample $({\bf a}, b, d) \in \mathbb{Z}_q^n \times \mathbb{Z}_q \times \mathbb{Z}_2$ where $d$ represents the &quot;direction&quot; (or $\pm$-valued &quot;sign&quot;) of the error term. If $({\bf a}, b)$ was drawn at random, then $\mathcal{O}_{\bf s}^+$ returns $({\bf a}, b, d) \leftarrow U(\mathbb{Z}_q^n)\times U(\mathbb{Z}_q)\times U(\mathbb{Z}_2)$. (Alternatively, we could consider the case when the bit $d$ is chosen adversarially when $b$ is drawn uniformly at random.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $n, q, \alpha$ be as before, except that now $\alpha q &amp;gt; c\sqrt n$ for a sufficiently large constant $c$, say. (This is to ensure that the absolute error in each equation remains unaffected.) Define the Learning with Signed Error (LWSE) problems $LWSE_{n, q, \alpha}$ and $DLWSE_{n, q, \alpha}$ as before, except that now we have the additional bit of advice for each error term's sign.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;Are either version of LWSE significantly easier than their LWE counterparts?&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;E.g.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA; 1. Is there a subexponential-time algorithm for LWSE?&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA; 2. What about a polynomial-time algorithm based on, say, linear programming?&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;In addition to the above discussion, my motivation is an interest in exploring algorithmic options for LWE (of which we currently have relatively few to choose from). In particular, the only restriction known to provide good algorithms for the problem is related to the &lt;em&gt;magnitude&lt;/em&gt; of the error terms. Here, the magnitude remains the same, but the range of error in each equation is now &quot;monotone&quot; in a certain way. (A final comment: I'm unaware of this formulation of the problem appearing in the literature; it appears to be original.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;References:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] Regev, Oded. &quot;On Lattices, Learning with Errors,&#xA;Random Linear Codes, and Cryptography,&quot; in JACM 2009 (originally at STOC 2005) (&lt;a href=&quot;http://www.cs.tau.ac.il/~odedr/papers/qcrypto.pdf&quot;&gt;PDF&lt;/a&gt;)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] Regev, Oded. &quot;The Learning with Errors Problem,&quot; invited survey at CCC 2010 (&lt;a href=&quot;http://www.cs.tau.ac.il/~odedr/papers/lwesurvey.pdf&quot;&gt;PDF&lt;/a&gt;)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[3] Arora, Sanjeev and Ge, Rong. &quot;New Algorithms for Learning in Presence of Errors,&quot; at ICALP 2011 (&lt;a href=&quot;http://www.cs.princeton.edu/~rongge/LPSN.pdf&quot;&gt;PDF&lt;/a&gt;)&lt;/p&gt;&#xA;" OwnerUserId="108" LastActivityDate="2015-10-14T17:03:25.893" Title="Learning with (Signed) Errors" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;cr.crypto-security&gt;&lt;machine-learning&gt;&lt;open-problem&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12008" PostTypeId="1" AcceptedAnswerId="12020" CreationDate="2012-07-11T18:03:20.640" Score="10" ViewCount="419" Body="&lt;p&gt;I haven't been able to find a statement relating $\mathsf{MA}$ and $\mathsf{NP}^\mathsf{RP}$ in the literature; pointers would be appreciated.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I believe they are equal:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;$\mathsf{MA} \subseteq \mathsf{NP}^\mathsf{RP}$:&#xA;The $\mathsf{NP}$ machine guesses Merlin's string, and the $\mathsf{RP}$ oracle verifies the string as Arthur would.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;$\mathsf{NP}^\mathsf{RP} \subseteq \mathsf{MA}$:&#xA;Merlin guesses the accepting computation of the $\mathsf{NP}$ machine, including all calls, as well as the outcomes of these calls, to the $\mathsf{RP}$ oracle. Arthur then verifies that the computation is valid and that all the guessed outcomes of calls to the $\mathsf{RP}$ oracle were correct. He uses amplification and union bounds to bound the overall total probability of error.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Is this correct?&lt;/p&gt;&#xA;" OwnerUserId="9802" LastActivityDate="2012-07-13T10:13:25.690" Title="Is $\mathsf{MA}$ equal to $\mathsf{NP}^\mathsf{RP}$?" Tags="&lt;cc.complexity-theory&gt;&lt;oracles&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="12009" PostTypeId="2" ParentId="12004" CreationDate="2012-07-11T18:41:00.063" Score="-7" Body="&lt;p&gt;Scott Aaronson, while a foremost authority, seems to regularly take the media to task for not hairsplitting accurately. eg his recent column in the NYT article &lt;a href=&quot;http://www.nytimes.com/2011/12/06/science/scott-aaronson-quantum-computing-promises-new-insights.html&quot; rel=&quot;nofollow&quot;&gt;&quot;Quantum Computing Promises New Insights, Not Just Supermachines&quot;&lt;/a&gt; [italics added]&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Struggling to shoehorn that mathematics into newspaper-friendly metaphors, &lt;em&gt;most popular writers describe a quantum computer as a magic machine that could process every possible answer in parallel,&lt;/em&gt; rather than trying them one at a time. Supposedly, it could do that because, unlike today’s computers that manipulate bits, a quantum computer would manipulate quantum bits, or qubits, which can be 0 and 1 simultaneously.&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;But that’s a crude way to visualize what a quantum computer does, and misses the most important part of the story. When you measure a quantum computer’s output, you see just a single, random answer — not a listing of all possible answers. Of course, if you had merely wanted a random answer, you could have picked one yourself, with much less trouble. &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;yet the metaphor of a quantum computer processing answers in parallel is widespread &amp;amp; a reasonable conceptual simplification of QM computing, and referred to in many QM computing textbooks. there are probably other examples from QM theory/computing. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;there is a natural tension in TCS and other theoretical research in communicating with the public/media because it sometimes tends to emphasize critical distinctions/concepts as part of rigorous training that are not known or crucial to laymen. in other words in many cases research theory works against various conceptual &quot;big picture&quot; simplifications that are legitimate to laymen.&lt;/p&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="7884" LastEditDate="2012-07-11T18:56:56.297" LastActivityDate="2012-07-11T18:56:56.297" CommentCount="9" CommunityOwnedDate="2012-07-11T18:41:00.063" ContentLicense="CC BY-SA 3.0" />
  <row Id="12010" PostTypeId="2" ParentId="11980" CreationDate="2012-07-11T19:47:04.620" Score="7" Body="&lt;p&gt;A good reference is &#xA;&lt;a href=&quot;http://eprint.iacr.org/2004/331&quot;&gt;Code-Based Game-Playing Proofs and the Security of Triple Encryption&lt;/a&gt; by Bellare &amp;amp; Rogaway. The statement that you are asking about is called the &lt;strong&gt;PRF/PRP switching lemma&lt;/strong&gt;. This paper goes into significant detail about &quot;standard&quot; proofs of this lemma and the subtleties therein. It uses the switching lemma as an illustrative example to advocate for a &quot;game-playing&quot; paradigm for cryptographic proofs that is the &quot;real&quot; purpose of the paper.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is another paper (&lt;a href=&quot;http://eprint.iacr.org/2008/078&quot;&gt;A Short Proof of the PRP/PRF Switching Lemma&lt;/a&gt;, Chang &amp;amp; Nandi) that claims a short self-contained proof as well.&lt;/p&gt;&#xA;" OwnerUserId="149" LastActivityDate="2012-07-11T19:47:04.620" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12012" PostTypeId="1" CreationDate="2012-07-11T20:54:55.880" Score="1" ViewCount="873" Body="&lt;p&gt;An elaboration on &lt;a href=&quot;https://stackoverflow.com/questions/3944649/suitable-choice-of-data-structure-and-algorithm-for-fast-k-nearest-neighbor-sear&quot;&gt;this question&lt;/a&gt;, but with more constraints.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The idea is the same, to find a simple, fast algorithm for k-nearest-neighbors in 2 euclidean dimensions.  The bucketing grid seems to work nicely if you can find a grid size that will suitably partition your data.  However, what if the data is not uniformly distributed, but has areas with both very high and very low density (for example, the US population), so that no fixed grid size could guarantee both enough neighbors and efficiency?  Can this method still be salvaged?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If not, other suggestions would be helpful.&lt;/p&gt;&#xA;" OwnerUserId="10059" LastEditorUserId="-1" LastEditDate="2017-05-23T12:40:09.333" LastActivityDate="2012-07-17T18:47:35.613" Title="Simple k-nearest-neighbor algorithm for euclidean data with highly variable density?" Tags="&lt;ds.algorithms&gt;&lt;ds.data-structures&gt;&lt;cg.comp-geom&gt;&lt;clustering&gt;&lt;near-neighbors&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12013" PostTypeId="5" CreationDate="2012-07-11T23:47:01.157" Score="0" Body="&lt;p&gt;Mathematical and computational method for finding the best outcome in a given mathematical model where the list of requirements is represented as linear relationships.&lt;/p&gt;&#xA;" OwnerUserId="1037" LastEditorUserId="1037" LastEditDate="2012-07-12T04:37:01.137" LastActivityDate="2012-07-12T04:37:01.137" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12014" PostTypeId="4" CreationDate="2012-07-11T23:47:01.157" Score="0" Body="Mathematical and computational method for finding the best outcome in a given mathematical model where the list of requirements is represented as linear relationships." OwnerUserId="1037" LastEditorUserId="1037" LastEditDate="2012-07-12T04:37:23.243" LastActivityDate="2012-07-12T04:37:23.243" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12018" PostTypeId="2" ParentId="11980" CreationDate="2012-07-12T18:21:35.177" Score="4" Body="&lt;p&gt;@mikero mentioned Bellare &amp;amp; Rogaway's paper, which gives a full proof. It's a rather advanced one, which is hard to digest. I suggest reading section 5.1 of Victor Shoup's &lt;a href=&quot;http://eprint.iacr.org/2004/332.pdf&quot; rel=&quot;nofollow&quot;&gt;Sequences of Games: A Tool for Taming Complexity in Security Proofs&lt;/a&gt;, which, IMHO, is a much easier read. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The basic idea is a to show a sequence of 3 games:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;In game 0, adversary A is given oracle access to a random permutation $\pi$. &lt;/li&gt;&#xA;&lt;li&gt;In game 1, the random permutation $\pi$ is replaced with a &quot;stateful&quot; random function, which preserves the &quot;permutation&quot; property. (In Bellare-Rogaway terminology, this is called &quot;lazy sampling&quot;).&lt;/li&gt;&#xA;&lt;li&gt;Finally, in game 2, the stateful random function is replaced with a &quot;stateless&quot; (of &quot;forgetful&quot;) one.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Shoup shows how these games are connected, and thus proves the following:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any oracle machine that makes at most $q$ queries to its oracle, its RF/RP-advantage is at most $\frac{q^2}{2} \cdot 2^{-\ell}$.&lt;/p&gt;&#xA;" OwnerUserId="873" LastActivityDate="2012-07-12T18:21:35.177" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12019" PostTypeId="2" ParentId="11999" CreationDate="2012-07-12T20:05:34.887" Score="9" Body="&lt;p&gt;Perhaps you want what's sometimes called &quot;Chang's Lemma&quot; or &quot;Talagrand's Lemma&quot;... called the &quot;Level-1 Inequality&quot; here:&#xA;&lt;a href=&quot;http://analysisofbooleanfunctions.org/?p=885&quot;&gt;http://analysisofbooleanfunctions.org/?p=885&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It implies that if $1_S$ has mean $2^{-d}$ then the number of linearly independent Fourier coefficients whose square is at least $\gamma 2^{-d}$ is at most $O(d/\gamma^2)$.  (This is because an $F_2$-linear transformation on the input does not change the mean, so you can always move linearly independent Fourier characters to degree-1.)&lt;/p&gt;&#xA;" OwnerUserId="661" LastActivityDate="2012-07-12T20:05:34.887" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12020" PostTypeId="2" ParentId="12008" CreationDate="2012-07-13T10:13:25.690" Score="10" Body="&lt;p&gt;In the first bullet, we would need the oracle to answer&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;YES, if Arthur’s check succeeds with probability $1$ (assuming the MA protocol has perfect completeness),&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;NO, if Arthur’s check succeeds with probability $\le 1/2$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;This sounds like a coRP algorithm, but the catch is that there is no guarantee that one of these two conditions applies for every possible input to the oracle. Thus, the oracle does not compute a coRP &lt;em&gt;language&lt;/em&gt;, but a coRP &lt;em&gt;promise problem&lt;/em&gt;, and the whole argument only shows that $\mathrm{MA}\subseteq\mathrm{NP}^{\mathrm{promiseRP}}$.&lt;/p&gt;&#xA;" OwnerUserId="6959" LastActivityDate="2012-07-13T10:13:25.690" CommentCount="1" CommunityOwnedDate="2012-07-13T10:13:25.690" ContentLicense="CC BY-SA 3.0" />
  <row Id="12021" PostTypeId="1" AcceptedAnswerId="12024" CreationDate="2012-07-13T12:48:04.773" Score="-3" ViewCount="505" Body="&lt;p&gt;I need help proving that this problem is decidable in polynomial-time:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Input:&lt;/strong&gt; a 3CNF formula with more than one clause.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question:&lt;/strong&gt; can the formula be divided into two satisfiable 3CNF formulas ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt; given the formula: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;(x1 or not(x2) or x3) and (x1 or x2 or x3) and (not(x1) or not(x2) or not(x3))&lt;/p&gt;&#xA;&#xA;&lt;p&gt;the answer is &quot;yes&quot;, as we can divide into these two satisfiable 3CNF formulas:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;(x1 or not(x2) or x3) and (x1 or x2 or x3)&lt;/li&gt;&#xA;&lt;li&gt;(not(x1) or not(x2) or not(x3))&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="10076" LastActivityDate="2012-07-15T04:32:01.510" Title="Help proving a 3CNF related prob. is in P" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;computability&gt;&lt;sat&gt;&lt;polynomial-time&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12022" PostTypeId="1" AcceptedAnswerId="12023" CreationDate="2012-07-13T13:20:37.867" Score="15" ViewCount="364" Body="&lt;p&gt;What is computational complexity of the following problem:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;given two complex $n\times n$ matrices $A$ and $B$ check if there is a permutation matrix $P$ such that:&#xA;$$B = P A P^T.$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If it helps, one can assume that $A$ and $B$ are hermitian (or even that $A$ and $B$ are real and symmetric).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Notes:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem stems from checking if two sets of vectors are related by an unitary rotation, see &lt;a href=&quot;https://mathoverflow.net/questions/101694/sets-of-vectors-related-by-a-rotation&quot;&gt;Sets of vectors related by a rotation - MathOverflow&lt;/a&gt;. In that context $A$ and $B$ are their &lt;a href=&quot;http://en.wikipedia.org/wiki/Gramian_matrix&quot; rel=&quot;nofollow noreferrer&quot;&gt;Gramian matrices&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem is at least as hard as the &lt;a href=&quot;http://en.wikipedia.org/wiki/Graph_isomorphism_problem&quot; rel=&quot;nofollow noreferrer&quot;&gt;graph isomorphism problem&lt;/a&gt; - take $A$ and $B$ as adjacency matrices.&lt;/p&gt;&#xA;" OwnerUserId="5582" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2012-07-14T01:12:25.380" Title="Two matrices related by a permutation $B = P A P^T$ - complexity" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;&lt;cg.comp-geom&gt;&lt;linear-algebra&gt;&lt;permutations&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12023" PostTypeId="2" ParentId="12022" CreationDate="2012-07-13T13:30:02.660" Score="18" Body="&lt;p&gt;It is equivalent to deciding whether two given multigraphs (or edge-labelled graphs) are isomorphic or not, which is known to be equivalent to the usual graph isomorphism problem.&lt;/p&gt;&#xA;" OwnerUserId="567" LastEditorUserId="567" LastEditDate="2012-07-14T01:12:25.380" LastActivityDate="2012-07-14T01:12:25.380" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12024" PostTypeId="2" ParentId="12021" CreationDate="2012-07-13T13:47:44.043" Score="12" Body="&lt;p&gt;Take a formula $\phi$ in 3-CNF over variables $V=\{v_{i}\}$ and clauses $C=\{c_{j}\}$, and let $A:V\rightarrow \{TRUE,FALSE\}$ be an arbitrarily chosen assignment.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The clauses of $\phi$ can be divided into two categories, those that are satisfied by $A$ and those that aren't. All those that are satisfied have at least one literal that evaluates to $TRUE$, however those that aren't have no such literals. Let $C_{T} = \{c^{T}_{j}\}$ be set of clauses that evaluate to $TRUE$ under $A$, and $C_{F} = \{c^{F}_{j}\}$ be the rest.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assuming that neither $C_{F}$ nor $C_{T}$ are empty, then $\bigwedge_{j} c^{T}_{j}$ is satisfiable under $A$, and $\bigwedge_{j} c^{F}_{j}$ is satisfiable under $\bar{A}$, the inverse assignment of $A$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the trivial cases (thanks to Marzio! q.v. the comments) where either $C_{F} = \emptyset$ or $C_{T} = \emptyset$ any split is valid, with $A$ being a satisfying assignment for both subformula in the first case, and $\bar{A}$ being a satisfying assignment in the second.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;These two formula are in 3-CNF, and partition the clauses of $\phi$.&lt;/p&gt;&#xA;" OwnerUserId="9520" LastEditorUserId="9520" LastEditDate="2012-07-15T04:32:01.510" LastActivityDate="2012-07-15T04:32:01.510" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="12026" PostTypeId="1" CreationDate="2012-07-13T16:24:50.003" Score="7" ViewCount="274" Body="&lt;p&gt;An &lt;em&gt;addition chain&lt;/em&gt; for $n \in \mathbb{N}$ is a sequence of natural numbers&#xA;$$1 = a_0,\ldots,a_l =n$$&#xA;such that each $a_t$ is the sum of two previous elements in the sequence. The length of minimal addition chains for natural numbers has been studied intensely.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I wonder if &quot;graph addition chains&quot; have been studied, most probably under different names. For a graph $G$, a &lt;em&gt;graph addition chain&lt;/em&gt; could be a sequence of graphs&#xA;$$G_0,\ldots,G_l =G$$&#xA;such that $G_0$ is contained in &lt;strong&gt;some set&lt;/strong&gt; $\mathcal{F}$ of elementary graphs, and each $G_t$ is &lt;strong&gt;some sum&lt;/strong&gt; of two previous elements. Depending on $\mathcal{F}$ and the sum operation, one could ask about the length of minimal graph addition chains (if they exist). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;As an example, set $\mathcal{F} = \{K_{k+1}\}$ and let the sum operation be the $k$-sum of graphs. Graph addition chains with these parameters produce partial $k$-trees, and we ask to construct partial $k$-trees using the minimal number of $k$-sums. For $k=1$, graph addition chains for path graphs correspond to addition chains for natural numbers, making this problem already $NP$-hard.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would be thankful for any references to algorithmic and structural results about this or related concepts.&lt;/p&gt;&#xA;" OwnerUserId="2666" LastEditorUserId="-1" LastEditDate="2012-11-11T06:07:44.050" LastActivityDate="2017-05-24T20:02:48.437" Title="Graph addition chains" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;treewidth&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12027" PostTypeId="1" AcceptedAnswerId="21475" CreationDate="2012-07-13T21:05:32.187" Score="8" ViewCount="833" Body="&lt;p&gt;I know the following variants of SUBSETSUM problems: $ \mathtt{UNARY\mbox{-}SUBSETSUM} \in \mathsf{L} $ (&lt;a href=&quot;http://ieeexplore.ieee.org/xpl/articleDetails.jsp?arnumber=5670819&quot; rel=&quot;nofollow noreferrer&quot;&gt;Elberfeld at. al., 2010&lt;/a&gt;), NP-complete $ \mathtt{SUBSETSUM} $, and NEXP-complete $ \mathtt{SUCCINCT\mbox{-}SUBSETSUM} $ (&lt;a href=&quot;https://cstheory.stackexchange.com/a/3303/7358&quot;&gt;link&lt;/a&gt;). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Recently, I also ran into $ \Sigma_2^p $-complete $ \mathtt{GENERALIZED\mbox{-}SUBSETSUM} $ problem (&lt;a href=&quot;http://www.google.com/url?sa=t&amp;amp;rct=j&amp;amp;q=&amp;amp;esrc=s&amp;amp;source=web&amp;amp;cd=1&amp;amp;ved=0CFkQFjAA&amp;amp;url=http://ovid.cs.depaul.edu/documents/phcom.ps&amp;amp;ei=M4IAULzUC8Te4QTRmsWCCA&amp;amp;usg=AFQjCNGqacj8opgRw32nxe0nRPpGi0A0_g&amp;amp;sig2=cHvaw8vS_8l63zs5XsD0bA&quot; rel=&quot;nofollow noreferrer&quot;&gt;Page 16: Schaefer and Umans, 2008&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Do you know some other (non-trivial) interesting variants of SUBSETSUM problems? Specifically, $ \Sigma_l^p $- or $ \Pi_l^p $- complete problems for some $ l &amp;gt; 1 $.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Some definitions:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$&#xA;\mathtt{UNARY\mbox{-}SUBSETSUM} = \{ 0^n \# 0^{i_1} \# \cdots\#0^{i_k} \mid \exists I \in \{1,\ldots,k\} \sum_{j \in I}i_j = n \}.&#xA;$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$ \mathtt{SUBSETSUM} = \{ S \# a_1 \# \cdots\# a_k \mid \exists I \in \{1,\ldots,k\} \sum_{j \in I}a_j = S \}, $ where $S$ and $a_j$'s are binary numbers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$ \mathtt{GENERALIZED\mbox{-}SUBSETSUM} = \{ u \# v \# t \mid (\exists x) (\forall y) [ux+vy \neq t] \}, $ where $u$ and $v$ are integer vectors, $t$ is an integer, and $x$ and $y$ are binary vectors of the same length as $u$ and $v$, respectively.&lt;/p&gt;&#xA;" OwnerUserId="7358" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2014-03-10T23:17:22.070" Title="Interesting SUBSET-SUM problems" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;np-hardness&gt;&lt;polynomial-hierarchy&gt;&lt;subset-sum&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="12028" PostTypeId="2" ParentId="12004" CreationDate="2012-07-13T22:29:30.610" Score="6" Body="&lt;p&gt;The popular press often gives the impression that the primary, if not the only, reason that computers are succeeding at more and more tasks (beating Kasparov at chess, beating Jennings at Jeopardy, etc.) is increased raw processing power.  Algorithmic advances are typically not given that much credit.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, I'm ambivalent about whether insisting that algorithmic advances be given more weight is &quot;pedantry.&quot;  On the one hand, I think that those of us who are more theoretically inclined can sometimes overstate the importance of algorithmic advances and only grudgingly admit the importance of increased processing power.  On the other hand, I do think the public should be better informed about the role of theoretical advances in solving practical problems.&lt;/p&gt;&#xA;" OwnerUserId="2970" LastActivityDate="2012-07-13T22:29:30.610" CommentCount="1" CommunityOwnedDate="2012-07-13T22:29:30.610" ContentLicense="CC BY-SA 3.0" />
  <row Id="12029" PostTypeId="1" CreationDate="2012-07-13T22:50:47.733" Score="7" ViewCount="418" Body="&lt;p&gt;Consider the following simple problem:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Given fractions $a/b$, $c/d$ with $a/b&amp;lt;1$ and $c/d&amp;lt;1$, and natural&#xA;  number $e$, both encoded in binary (so the problem size is&#xA;  $\log(a)+\log(b)+\log(c)+\log(d)+\log(e)$, decide whether&#xA;  $$(\frac{a}{b})^e \geq \frac{c}{d}$$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;What's the precise complexity of this problem? Note that one can simply compute $(\frac{a}{b})^e$, as it might require $e\cdot (\log(a)+\log(b))$ bits to store. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any upper/lower bound? Do I miss something here?&lt;/p&gt;&#xA;" OwnerUserId="10081" LastEditorUserId="80" LastEditDate="2012-07-16T05:54:54.103" LastActivityDate="2012-07-24T16:44:22.440" Title="The complexity of comparing a power to some threshold" Tags="&lt;cc.complexity-theory&gt;" AnswerCount="1" CommentCount="21" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="12030" PostTypeId="2" ParentId="12004" CreationDate="2012-07-14T00:25:59.363" Score="12" Body="&lt;ul&gt;&#xA;&lt;li&gt;Claim by press: First polynomial time algorithm for an important practical problem will necessarily change our lives, will be the next  best thing after sliced bread, etc.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;For examples, take any press article about the ellipsoid algorithm from the time it was discovered (great account of the story: &lt;a href=&quot;http://www.springerlink.com/content/vh32532p5048062u/&quot;&gt;http://www.springerlink.com/content/vh32532p5048062u/&lt;/a&gt;). The press claimed that this new great mathematical discovery will affect everyone's lives, solve TSP (which they found especially ironic given how few traveling salesmen there were in the USSR!), turn crypto upside down, etc.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then there is AKS, which in some reports was even implied to solve factoring..or at least to be an industry-changing innovation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am sure there are plenty more examples.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Actually true: Polynomial time does not mean practical! Case in point: ellipsoid algorithm, sampling from high-dimensional convex bodies. Worst-case exponential time does not mean impractical. Case in point: simplex algorithm. When the new algorithm is merely the first deterministic polytime algorithm for a problem, this has even less relevance to practice.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Big picture: these results are breakthroughs, and at least the press gets people excited about them, even if it is for the wrong reasons. And much of the time a polynomial time algorithm eventually turns into a reasonably efficient algorithm. For example Gentry's homomorphic encryption scheme is not practical yet, but its running time has been improved significantly. Near-linear time solvers for SDD systems of equations seem to be well on the way to practicality but started off with a $\log^5 n$ factor hidden in the soft-oh notation.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="4896" LastActivityDate="2012-07-14T00:25:59.363" CommentCount="0" CommunityOwnedDate="2012-07-14T00:25:59.363" ContentLicense="CC BY-SA 3.0" />
  <row Id="12031" PostTypeId="2" ParentId="11944" CreationDate="2012-07-14T02:10:55.790" Score="5" Body="&lt;p&gt;Here is an instance that could be &lt;em&gt;close&lt;/em&gt; to a counterexample to the&#xA;claim.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider the LP $P = \max \{ 1^T x \,|\, Ax \leq 1, x \leq 1, x \geq&#xA;0\}$ and its dual $P' = \min \{1^Ty + 1^Tz ~|~ A^Ty + z \geq 1, ~y&#xA;\geq 0, z \geq 0 \}$ for the $12 \times 6$ matrix&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$ A =&#xA;\begin{bmatrix}&#xA; 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; 1\\&#xA; 0 &amp;amp; 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; 1 &amp;amp; 0\\&#xA; 1 &amp;amp; 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0\\&#xA; 0 &amp;amp; 0 &amp;amp; 1 &amp;amp; 0 &amp;amp; 1 &amp;amp; 1\\&#xA; 0 &amp;amp; 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0\\&#xA; 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; 1 &amp;amp; 0\\&#xA; 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; 1\\&#xA; 0 &amp;amp; 0 &amp;amp; 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0\\&#xA; 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; 1 &amp;amp; 0\\&#xA; 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; 1 &amp;amp; 0 &amp;amp; 0\\&#xA; 0 &amp;amp; 1 &amp;amp; 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; 1\\&#xA; 0 &amp;amp; 0 &amp;amp; 1 &amp;amp; 1 &amp;amp; 0 &amp;amp; 0&#xA;\end{bmatrix}\,.&#xA;$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An optimal solution of $P'$ is given by $y_1=y_2=y_{12}=1$ (all other&#xA;variables are zero), with the objective function value of $3$. The&#xA;Optimal solution of $P$ is given by the vector $x =&#xA;[0.5~0.5~0~1~0.5~0.5]^T$. If you solve $P$ as an integer program, the&#xA;optimal objective function value is only $2$, and $x = [1~0~0~1~0~0]$&#xA;is an optimal solution.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In summary, the LP $P'$ has &lt;em&gt;an&lt;/em&gt; integral optimal solution, but its&#xA;dual, $P$ does not have an integral optimal solution. The primal-dual&#xA;roles are reversed from the set up that Ankur wanted. But given the&#xA;nature of LP duality, this instance could still be considered a&#xA;counterexample to the general statement of the original claim.&lt;/p&gt;&#xA;" OwnerUserId="10079" LastActivityDate="2012-07-14T02:10:55.790" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="12034" PostTypeId="1" AcceptedAnswerId="12035" CreationDate="2012-07-14T16:48:34.953" Score="-5" ViewCount="314" Body="&lt;p&gt;pondering another Q/A &amp;amp; the responses on here[1] leads to this question:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;whats the difference between nondeterminism and parallelism?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;am aware of basic answers. have some of my own ideas on this &amp;amp; have researched some of the basics but think it can be seen as a nontrivial, subtle, or even deep question that can be answered multiple valid ways &amp;amp; relates to open areas of research.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;am also interested in accounts that attempt to explain one in terms of the other or contrast the two or relate the two in a theoretical way.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] &lt;a href=&quot;https://cstheory.stackexchange.com/a/12009/7884&quot;&gt;media &quot;fails&quot; in describing/summarizing TCS&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.743" LastActivityDate="2012-07-15T11:22:25.567" Title="whats the difference between nondeterminism and parallelism?" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;" AnswerCount="1" CommentCount="9" FavoriteCount="1" ClosedDate="2012-07-15T11:16:17.350" ContentLicense="CC BY-SA 3.0" />
  <row Id="12035" PostTypeId="2" ParentId="12034" CreationDate="2012-07-15T00:22:59.943" Score="3" Body="&lt;p&gt;The word you are missing to bind the two terms is &quot;concurrency&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My favorite phrasing [1] is the following:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;ul&gt;&#xA;  &lt;li&gt;&lt;p&gt;Concurrency is non-determinism with regards to the order in which events &lt;em&gt;may&lt;/em&gt; occur.&lt;/p&gt;&lt;/li&gt;&#xA;  &lt;li&gt;&lt;p&gt;Parallelism is the degree to which events occur simultaneously.&lt;/p&gt;&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Another way to look at it is that descriptions of computations that allow non-determinism in the scheduling of operations are suitable for parallel execution (and the corresponding expected performance improvements).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] from PKF Holzenspies. On run-time exploitation of concurrency. PhD thesis, University of Twente, Enschede, the Netherlands, April 2010. URL &lt;a href=&quot;http://doc.utwente.nl/70959/&quot; rel=&quot;nofollow&quot;&gt;http://doc.utwente.nl/70959/&lt;/a&gt;. page 3.&lt;/p&gt;&#xA;" OwnerUserId="9866" LastActivityDate="2012-07-15T00:22:59.943" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12039" PostTypeId="1" CreationDate="2012-07-16T07:17:56.947" Score="16" ViewCount="410" Body="&lt;p&gt;It's well-known that in System F, you can encode binary products with the type&#xA;$$&#xA;A \times B \triangleq \forall\alpha.\; (A \to B \to \alpha) \to \alpha&#xA;$$&#xA;You can then define projection functions $\pi_1 : A \times B \to A$ and $\pi_2 : A \times B \to B$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This isn't so surprising, even though the natural reading of the F type is of a pair with a &#xA;let-style elimination $\mathsf{let}\;(x,y) = p \;\mathsf{in}\; e$, because the two kinds of pair&#xA;are interderivable in intuitionistic logic. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, in a dependent type theory with impredicative quantification, you&#xA;can follow the same pattern to encode a dependent record type $\Sigma x:A.\; B[x]$ as&#xA;$$&#xA;\Sigma x:A.\;B[x] \triangleq \forall\alpha.\; (\Pi x:A.\; B[x] \to \alpha) \to \alpha&#xA;$$&#xA;But in this case, there isn't a simple way of defining the projective eliminators&#xA;$\pi_1 : \Sigma x:A.\;B[x] \to A$ and $\pi_2 : \Pi p:(\Sigma x:A.\;B[x]).\; B[\pi_1\,p]$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, if the type theory is parametric, you can use parametricity to show that $\pi_2$ is definable. This appears to be known --- see, for example, &lt;a href=&quot;http://code.haskell.org/~dolio/agda-share/html/ParamInduction.html#3960&quot;&gt;this Agda development by Dan Doel&lt;/a&gt; in which he derives it without comment --- but I can't seem to find a reference for this fact. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does anyone know a reference for the fact that parametricity allows defining projective eliminations for dependent types?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT: The closest thing I've found so far is this 2001 paper by Herman Geuvers, &lt;a href=&quot;http://www.cs.ru.nl/~herman/PUBS/IndNonder.ps.gz&quot;&gt;&lt;em&gt;Induction is not derivable in second order dependent type theory&lt;/em&gt;&lt;/a&gt;, in which he proves that you can't do it without parametricity. &lt;/p&gt;&#xA;" OwnerUserId="657" LastEditorUserId="657" LastEditDate="2012-07-17T07:15:45.860" LastActivityDate="2014-10-29T19:13:29.467" Title="Parametricity and projective eliminations for dependent records" Tags="&lt;reference-request&gt;&lt;pl.programming-languages&gt;&lt;dependent-type&gt;&lt;parametricity&gt;" AnswerCount="1" CommentCount="6" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12041" PostTypeId="1" CreationDate="2012-07-16T15:13:38.740" Score="0" ViewCount="130" Body="&lt;p&gt;Say you have 3 algorithms, A B and C.  You want to present a comparison of A B and C based on:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Precompute overhead (say tree building etc that occurs prior to runtime)&lt;/li&gt;&#xA;&lt;li&gt;Runtime speed (say query response time)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The problem is, however, A B and C &lt;strong&gt;&lt;em&gt;each have their own unique set of parameters that will dictate the quality of the results&lt;/em&gt;&lt;/strong&gt;.  &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;A has 3 parameters x, xx and xxx&lt;/li&gt;&#xA;&lt;li&gt;B has 1 parameter y&lt;/li&gt;&#xA;&lt;li&gt;C has 2 parameters z and zz&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;If A has it's parameter x increased from 10 to 50, say, then A's precompute overhead doubles, and A's runtime speed is halved.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If B has it's parameter y increased from 0 to 0.001 say, it's precompute time stays the same but it's runtime speed becomes 1/3 of it's former speed.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So each algorithm has it's own set of quirks and behaves differently, depending on how you set each algorithm's parameters.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;But we are interested in comparing A B and C based on the two categories (precompute and runtime) listed above!&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;How can you compare algorithms A B and C?&lt;/p&gt;&#xA;" OwnerUserId="1983" LastActivityDate="2012-07-16T15:13:38.740" Title="Making algorithm comparison when algorithms use parameters" Tags="&lt;ds.algorithms&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="12043" PostTypeId="1" CreationDate="2012-07-17T04:55:05.100" Score="8" ViewCount="341" Body="&lt;p&gt;Given a connected and non-bipartite graph $G=(V,E)$ with vertex set $V=\{1,\cdots, n\}$, let $A$ denote its adjacency matrix and let $deg(i)$ denote the degree of vertex $i$. Let $D$ be a diagonal matrix such that $D_{ii}=deg(i)$ and $D_{ij}=0$ if $i\neq j$. Let $W=D^{-1}A$ be the random walk matrix of $G$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's well known that the largest eigenvector (i.e., the eigenvector corresponding to the largest eigenvalue) of $W$ is the probability distribution $\pi$ such that $\pi_i=\frac{deg(i)}{2|E|}$. And there is a simple &lt;em&gt;combinatorial method&lt;/em&gt; (in this case, by performing random walk) to approximately computing $\pi$:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;perform m random walks of length $l$ from some vertex $i$. &lt;/li&gt;&#xA;&lt;li&gt;for each vertex $j$, count the number $w_j$ of walks that ending at $j$. &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;It can be shown that $\frac{w_k}{m}$ is a good approximation to $\pi_k$ under some mild conditions (for example, if $\pi_k$ is 'large'). One merit of such an algorithm is that we can estimate $\pi$ without traversing the whole graph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there a similar combinatorial method for approximately computing the laregest eigenvector of the adjacency matrix $A$, instead of the random walk matrix $W$?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="1531" LastActivityDate="2012-07-17T04:55:05.100" Title="Combinatorial method for computing the largest eigenvector of the adjacency matrix of a graph" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;spectral-graph-theory&gt;" AnswerCount="0" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12045" PostTypeId="2" ParentId="11902" CreationDate="2012-07-17T08:48:24.600" Score="5" Body="&lt;p&gt;There is no efficient universal problem solver. Intuitively, U should have the (almost) optimal runtime for any decidable decision problem; while the speedup theorem says that there are decidable decision problems that have no optimal algorithm (not even in a very mild sense). To formalize this:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The time speed-up theorem (see for example [1])): For every computable (and super-linear) function $g$ there exists a decidable set $S$ such that if $S \in DTIME(t)$ then $S \in DTIME(t')$ for $t'$ satisfying $g(t'(n)) &amp;lt; t(n)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the following, we work with the second definition. Let $U$ be any universal problem solver. Let $g(n)=2^{2n}$ and $A$ be an algorithm that decides $S$. Let $A_i$ be the no input TMs s.t $A_i = A(i)$. There is a TM  $\tilde U(i)=U(A_i)$  with about a logarithmic overload in runtime (The coding of $A$ and $A_i$ differ only $O(\log i)$).&#xA;By the speed-up thoerem, there is a TM $B$ that decides $S$ and $2^{ 2 TIME(B)} &amp;lt; TIME(\tilde U)$. So we have $2^{TIME(B)} &amp;lt; TIME(\{U(A_i)\})$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $V$ be a universal problem solver such that for input $A_i$, it simulates $B(i)$ with a logarithmic overload in time. (Obviously the runtime functions of both $A(i)$ and $B(i)$ is unbounded) So we have&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\forall c \; \exists A_i \;\; t(U, A_i) &amp;gt; t(V, A_i) +c$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So $U$ cannot be efficient.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] Oded Goldreich, Computational Complexity, A Conceptual Perspective, theorem 4.8.&#xA;Chapter 4.2.1.2 is also relevant. &lt;/p&gt;&#xA;" OwnerUserId="9836" LastEditorUserId="9836" LastEditDate="2012-07-18T09:16:08.203" LastActivityDate="2012-07-18T09:16:08.203" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12046" PostTypeId="2" ParentId="12012" CreationDate="2012-07-17T17:21:16.033" Score="1" Body="&lt;p&gt;I'd recommend using a kd-tree or an R-tree. These structures automatically partition the data.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A &lt;a href=&quot;http://en.wikipedia.org/wiki/Kd-tree&quot; rel=&quot;nofollow&quot;&gt;kd-tree&lt;/a&gt; (k-dimensional tree) is a binary tree in which every node is a point. Every non-leaf node splits the space in half along one of the axes. Points on one side of the split form the left subtree, points on another side form the right subtree. A kd-tree has guaranteed space complexity O(n) and average search, insertion and deletion complexity of O(log n). The cost of building the tree is O(n log n) when using an advanced linear median-finding algorithm. The k-nearest-neighbors search boils down to moving down the tree, checking distances to the elements in final subtree and unwinding the recursion up the tree if more elements are needed. kd-trees are easy to implement in memory, but non-trivial to implement on disk. They may need to be rebuilt when changing data.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/R-tree&quot; rel=&quot;nofollow&quot;&gt;R-trees&lt;/a&gt; (rectangle trees) group nearby objects in minimum bounding rectangles, group the rectangles in larger rectangles, and so on. This means that they can store not only points, but also polygons. The complexity of search is between O(log n) and O(n), depending on the amount of overlap between rectangles. There are various optimization strategies and algorithms for splitting overflowing nodes and bulk-loading. While more complicated, R-trees have advantages over kd-trees. They are more disk-oriented, making them useful for real databases. Unlike non-bulk-loaded kd-trees, they are balanced, and therefore preferred for changing data.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In conclusion, if the data will change after building the tree or you want the data to be stored on disk, I'd use an R-tree, otherwise kd-tree.&lt;/p&gt;&#xA;" OwnerUserId="10105" LastEditorUserId="10105" LastEditDate="2012-07-17T18:47:35.613" LastActivityDate="2012-07-17T18:47:35.613" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12048" PostTypeId="5" CreationDate="2012-07-17T18:15:49.937" Score="0" Body="" OwnerUserId="-1" LastEditorUserId="-1" LastEditDate="2012-07-17T18:15:49.937" LastActivityDate="2012-07-17T18:15:49.937" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12049" PostTypeId="4" CreationDate="2012-07-17T18:15:49.937" Score="0" Body="Coq is an interactive theorem prover." OwnerDisplayName="user9358" LastEditorDisplayName="user9358" LastEditDate="2012-07-17T20:06:30.543" LastActivityDate="2012-07-17T20:06:30.543" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12050" PostTypeId="5" CreationDate="2012-07-17T18:18:14.037" Score="0" Body="" OwnerUserId="-1" LastEditorUserId="-1" LastEditDate="2012-07-17T18:18:14.037" LastActivityDate="2012-07-17T18:18:14.037" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12051" PostTypeId="4" CreationDate="2012-07-17T18:18:14.037" Score="0" Body="Automated theorem proving is the proving of mathematical theorems by a computer program." OwnerDisplayName="user9358" LastEditorDisplayName="user9358" LastEditDate="2012-07-17T20:06:26.223" LastActivityDate="2012-07-17T20:06:26.223" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12052" PostTypeId="1" CreationDate="2012-07-18T05:59:02.693" Score="7" ViewCount="255" Body="&lt;p&gt;I am trying to trace back the origins of transition system semantics for imperative programs. I am assuming a transition system is a tuple $(\mathit{States}, \mathit{Trans})$ consisting of a set of states and a (binary) transition relation over states. By transition system semantics, I mean that there should be a mapping from programs to transition systems. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The presentation need not be exactly as I describe above and the mapping from programs to transition systems need not be completely explicit. For example, I would consider Plotkin's Structural Operational Semantics as providing transition system semantics to a formal language. Other early references I know of are due to Cousot &amp;amp; Cousot, and even earlier, due to Robert Keller in &lt;em&gt;Formal Verification of Parallel Programs.&lt;/em&gt; There is earlier work by Richard Karp and Raymond Miller on reasoning about parallel programs, but their model is closer to Petri Nets and I am unsure about whether to read their paper as giving transition system semantics to programs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does anyone know of references from the early 80s or earlier where transition system semantics are provided for programs? Please add a few lines about the semantics and whether it is used today, and in what form. &lt;/p&gt;&#xA;" OwnerUserId="4155" LastEditorUserId="6088" LastEditDate="2012-07-22T19:04:24.147" LastActivityDate="2012-07-27T09:24:11.853" Title="Early References for Transition System Semantics of Programs" Tags="&lt;reference-request&gt;&lt;pl.programming-languages&gt;&lt;ho.history-overview&gt;&lt;semantics&gt;" AnswerCount="4" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12053" PostTypeId="2" ParentId="12052" CreationDate="2012-07-18T06:41:46.127" Score="5" Body="&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;There's Amir Pnueli's 1977 &lt;a href=&quot;http://www.cs.nyu.edu/pnueli/focs77.ps.gz&quot;&gt;&lt;em&gt;The Temporal Logic of Programs&lt;/em&gt;&lt;/a&gt;, where (as you doubtless know) the transition system is viewed as a Kripke frame. He cited the Keller paper you mention as his source of the idea that programs are transition systems. (I've never seen that one though.) &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Christopher Strachey gave semantics to stateful programs as state transformers on domains (i.e., a command is a partial function $S \to S_\bot$). This has an obvious reading as a transition function. This semantics is described in his amazing 1967 lecture notes &lt;a href=&quot;http://dx.doi.org/10.1023/A:1010000313106&quot;&gt;&lt;em&gt;Fundamental Concepts in Programming Languages&lt;/em&gt;&lt;/a&gt;. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="657" LastActivityDate="2012-07-18T06:41:46.127" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12055" PostTypeId="2" ParentId="11861" CreationDate="2012-07-18T15:06:07.817" Score="1" Body="&lt;p&gt;you seem to want the following&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;a graph layout algorithm. many std algorithms typically use force-based methods where nodes are connected by replusive/attractive &quot;springs&quot; and the equilibrium/low energy state is obtained through some amt of iteration (of the corresponding globally-constructed force-related differential equation). the output of the algorithm is a set of 2-d or 3-d coordinates for nodes and (usually) edges.&lt;/li&gt;&#xA;&lt;li&gt;ability to hand-modify the results of that algorithm. typically called a &quot;graph editor&quot;. this starts with the coordinates from the layout algorithm and allows adjustment.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;re (1) the forefront software seems to be &lt;b&gt;graphviz&lt;/b&gt;. re (2) see eg this question &lt;a href=&quot;https://mathoverflow.net/questions/15664/what-is-the-best-graph-editor-to-use-in-your-articles&quot;&gt;&quot;what is the best graph editor&quot; on mathoverflow&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;browsing the &lt;a href=&quot;http://www.graphviz.org/Gallery.php&quot; rel=&quot;nofollow noreferrer&quot;&gt;graphviz gallery,&lt;/a&gt; here are two graph types similar to what you want. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.graphviz.org/content/ER&quot; rel=&quot;nofollow noreferrer&quot;&gt;ER diagram&lt;/a&gt; and &lt;a href=&quot;http://www.graphviz.org/content/traffic_lights&quot; rel=&quot;nofollow noreferrer&quot;&gt;traffic light&lt;/a&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;you say you have two types of edges. a simple way would be to have directed edges &quot;toward or away&quot; as in the traffic light example. or the edges can be labelled in two ways as in the ER diagram. both examples show two different node types using different shapes or labels, or shading etc. other approaches would be to use coloring.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;as the mathoverflow Q/As indicate there are many graph editors. the std one with graphviz is &quot;dotty&quot;. see eg pdf &lt;a href=&quot;http://www.graphviz.org/pdf/dottyguide.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;&quot;editing graphs with dotty&quot;&lt;/a&gt; by Koutsofious.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;another technique for graphing, possibly large graphs, is to look at structural compositions eg clique decompositions.&lt;/p&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2012-07-18T15:18:46.927" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12057" PostTypeId="1" AcceptedAnswerId="37888" CreationDate="2012-07-18T16:10:35.147" Score="24" ViewCount="859" Body="&lt;p&gt;&lt;strong&gt;EDIT&lt;/strong&gt; (v2): Added a section at the end on what I know about the problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT&lt;/strong&gt; (v3): Added discussion on threshold degree at the end.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This question is mainly a reference request. I don't know much about the problem. I want to know if there has been previous work on this problem, and if so, can someone point me to any papers that talk about this problem? I'd also like to know the current best bounds on the approximate degree of $\textrm{AC}^0$. Any other information would also be appreciated (e.g., historical information, motivation, relation to other problems, etc.).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Definitions&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $f:\{0,1\}^n \to \{0,1\}$ be a Boolean function. Let $p$ be a polynomial over the variables $x_1$ to $x_n$ with real coefficients. The degree of a polynomial is the maximum degree over all monomials. The degree of a monomial is the sum of exponents of the various $x_i$ that appear in that monomial. For example $\textrm{deg}(x_1^7x_3^2) = 9$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A polynomial $p$ is said to $\epsilon$-approximate $f$ if $|f(x)-p(x)|&amp;lt;\epsilon$ for all $x$. The $\epsilon$-approximate degree of a Boolean function $f$, denoted as $\widetilde{\textrm{deg}}_{\epsilon}(f)$, is the minimum degree of a polynomial that $\epsilon$-approximates $f$. For a set of functions, $F$, $\widetilde{\textrm{deg}}_{\epsilon}(F)$ is the minimum degree $d$ such that every function in $F$ can be $\epsilon$-approximated by a polynomial of degree at most $d$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that every function can be represented with no error by a degree $n$ polynomial. Some functions really do need a degree $n$ polynomial to approximate to any constant error. Parity is an example of such a function.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Problem statement&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is $\widetilde{\textrm{deg}}_{1/3}(\textrm{AC}^0)$? (The constant 1/3 is arbitrary.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Notes&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I encountered this problem in the paper &lt;a href=&quot;http://arxiv.org/abs/1008.2422v2&quot;&gt;The Quantum Query Complexity of AC0&lt;/a&gt; by Paul Beame and Widad Machmouchi. They say&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Also, our results do nothing to close the gap in the lower bound on the approximate degree of AC0 functions.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;They mention &quot;the problem of the approximate degree of AC0&quot; in their acknowledgements too.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So I assume there has been some work on this problem before? Can someone point me to a paper that talks about the problem? And what are the best known upper and lower bounds?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;What I know about the problem&lt;/strong&gt; (This section was added in v2 of the question)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The best known upper bound on $\widetilde{\textrm{deg}}_{1/3}(\textrm{AC}^0)$ that is know is the trivial upper bound $n$. The best lower bound I know comes from Aaronson and Shi's lower bound for the collision and element distinctness problems, which gives a lower bound of $\tilde{\Omega}(n^{2/3})$. (For severely restricted versions of $\textrm{AC}^0$, like formulas with $o(n^2)$ formula size, or depth-2 circuits with $o(n^2)$ gates, we can prove a $o(n)$ upper bound using quantum query complexity.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Related: threshold degree&lt;/strong&gt; (Added in v3)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As Tsuyoshi points out in the comments, this problem is related to the problem of determining the threshold degree of $\textrm{AC}^0$. The threshold degree of a function $f$ is the minimum degree of a polynomial $p$ such that $f(x)=1 \implies p(x)&amp;gt;0$ and $f(x)=0 \implies p(x)&amp;lt;0$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Lower bounds for the threshold degree of $\mathrm{AC}^0$ have now been improved by Sherstov. He exhibits a family of constant-depth read-once formulas on $n$ variables whose threshold degree approaches $\Omega(\sqrt{n})$ as the depth goes to infinity, which is almost tight since read-once formulas have threshold (and even approximate) degree $O(\sqrt{n})$. See &lt;a href=&quot;http://eccc.hpi-web.de/report/2014/009/&quot;&gt;http://eccc.hpi-web.de/report/2014/009/&lt;/a&gt;. (Jan, 2014)&lt;/p&gt;&#xA;" OwnerUserId="206" LastEditorUserId="206" LastEditDate="2014-01-21T15:46:10.463" LastActivityDate="2017-03-31T13:58:36.770" Title="Approximate degree of $\textrm{AC}^0$" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;circuit-complexity&gt;&lt;polynomials&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="12058" PostTypeId="1" CreationDate="2012-07-18T17:29:24.497" Score="-5" ViewCount="315" Body="&lt;p&gt;Consider the following system of inequalities:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$Ax=b$;&#xA;$x\geq 0$;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A is a $m\times n$ (non-square) and sparse matrix in which some part of entries are rational. a) How feasibility of this system can be checked without using linear programming? &#xA;b) Is the ellipsoid method useful for checking feasibility of the corresponding polyhedral?&lt;/p&gt;&#xA;" OwnerUserId="10119" LastEditorUserId="-1" LastEditDate="2012-11-11T06:07:40.260" LastActivityDate="2012-11-11T06:07:40.260" Title="Solving a system of linear inequations" Tags="&lt;ds.algorithms&gt;&lt;optimization&gt;&lt;linear-algebra&gt;&lt;linear-programming&gt;" AnswerCount="1" CommentCount="8" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12059" PostTypeId="1" AcceptedAnswerId="12224" CreationDate="2012-07-18T18:25:12.390" Score="9" ViewCount="334" Body="&lt;p&gt;I am new to studying rewriting systems as a first year PhD student.  I would like to propose a special topics course on rewriting theory, and I want to make sure I don't leave any of the original sources out.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have a copy of Barendregt and Terese as textbook sources.  For original paper's: I have been looking at Dershowitz's work on proving termination, Huet's paper on confluence, Van Oostrom's paper on decreasing diagrams, and Ohlebusch's paper on confluence modulo equivalence, and Toyama's work on modularity.  I hope to end up with a smattering of both classical and recent influential papers.  Also, if anyone can recommend some good papers on the links between algebraic topology, category theory, and rewriting theory, I would appreciate that as well.&lt;/p&gt;&#xA;" OwnerUserId="9969" LastEditorUserId="6088" LastEditDate="2012-07-31T22:56:22.547" LastActivityDate="2012-08-05T06:34:39.617" Title="Reading list on rewriting systems?" Tags="&lt;lo.logic&gt;&lt;big-list&gt;&lt;type-theory&gt;&lt;lambda-calculus&gt;&lt;term-rewriting-systems&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="12060" PostTypeId="1" CreationDate="2012-07-18T18:54:42.473" Score="20" ViewCount="422" Body="&lt;p&gt;The PCP theorem, $\mathsf{NP} = \mathsf{PCP}(\mathsf{log}\, n, 1)$, involves probabilistically checkable proofs with polynomial time verifiers, so the smallest class that can be characterized in this way (that is, $\mathsf{PCP}(0, 0)$) must be $\mathsf{P}$. There are also PCP characterizations of larger complexity classes (for example, $\mathsf{NEXP} = \mathsf{PCP}(\mathsf{poly}, \mathsf{poly})$), also using polynomial time verifiers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can we achieve an interesting (that is, not immediately following from the definitions) PCP characterization of smaller complexity classes by restricting the time or space used by the verifier? For example, by using a logarithmic space verifier, or an $\mathsf{NC}$ circuit verifier?&lt;/p&gt;&#xA;" OwnerUserId="4193" LastEditorUserId="4193" LastEditDate="2013-01-09T20:38:33.550" LastActivityDate="2013-01-09T20:38:33.550" Title="Interesting PCP characterization of classes smaller than P?" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;pcp&gt;" AnswerCount="0" CommentCount="3" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="12063" PostTypeId="2" ParentId="12058" CreationDate="2012-07-18T22:05:47.803" Score="9" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;How can this system be solved without using linear programming?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;It cannot.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Your problem is the linear feasibility problem in the standard form, with an extra condition that the constraint matrix is sparse.  Now note:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(1) It is well-known that linear programming is equivalent to the linear feasibility problem in the standard form.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(2) You can easily convert a linear feasibility problem in the standard form to one with the extra condition that each row of the constraint matrix has at most three nonzero elements.  For example, decompose &lt;i&gt;w&lt;/i&gt;−&lt;i&gt;x&lt;/i&gt;+&lt;i&gt;y&lt;/i&gt;−&lt;i&gt;z&lt;/i&gt;=&lt;i&gt;b&lt;/i&gt; into &lt;i&gt;w&lt;/i&gt;+&lt;i&gt;y&lt;/i&gt;−&lt;i&gt;t&lt;/i&gt;=0 and &lt;i&gt;t&lt;/i&gt;−&lt;i&gt;x&lt;/i&gt;−&lt;i&gt;z&lt;/i&gt;=&lt;i&gt;b&lt;/i&gt;, where &lt;i&gt;t&lt;/i&gt; is a fresh nonnegative variable.  (The detail is left as an exercise.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;These together mean that an algorithm for your problem can be used to solve the linear programming.  Equivalently, you cannot hope for an essentially simpler algorithm for your problem than an algorithm for linear programming.&lt;/p&gt;&#xA;" OwnerUserId="567" LastEditorUserId="567" LastEditDate="2012-07-19T10:57:31.383" LastActivityDate="2012-07-19T10:57:31.383" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12065" PostTypeId="1" CreationDate="2012-07-19T05:17:05.923" Score="1" ViewCount="246" Body="&lt;p&gt;The classical Kchinchine inequality states that for vector $a=(a_1, \ldots, a_{2m})\in R^{2m}$, for $p\geq 2$, and for independent Rademacher random variables $r_1, \ldots, r_{2m}$, one has&#xA;$$&#xA;E(|\sum_{i=1}^{2m}r_ia_i|^p)^{1/p}\leq C\sqrt{p}\|a\|_2,&#xA;$$&#xA;where $C$ is some (known) constant. &#xA;Note, Rademacher random variables are such that $P(r_i=1)=P(r_i=-1)=1/2, i=1, \ldots 2m$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question: Suppose we have dependent Rademacher random variables. Say, we have extra assumption that the sum $\sum_{i=1}^{2m}r_i=0$. Is there some application in the Computer Science of the Khinchine inequality with this extra condition on the dependence of the Rademacher random variables?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thank you.&lt;/p&gt;&#xA;" OwnerUserId="9772" LastEditorUserId="-1" LastEditDate="2012-11-11T06:16:43.180" LastActivityDate="2013-03-22T00:52:59.197" Title="application for the Kchinchine inequality in Computer Science" Tags="&lt;linear-algebra&gt;&lt;pr.probability&gt;" AnswerCount="0" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="12068" PostTypeId="1" AcceptedAnswerId="12075" CreationDate="2012-07-19T14:00:15.523" Score="11" ViewCount="461" Body="&lt;p&gt;I'm translating a book on LISP and naturally it touches some elements of $\lambda$-calculus. So, a notion of extensionality is mentioned there alongside some models of $\lambda$-calculus, namely: $\mathcal{P}_\omega$ and $D^\infty$ (yes, with the infinity at the top). And it is said that $\mathcal{P}_\omega$ is extensional while $D^\infty$ is not.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But... I was looking through the Barendregt's &lt;em&gt;Lambda Calculus, It's Syntax and Semantics&lt;/em&gt;, and (hopefully, correctly) read there exactly the opposite: $\mathcal{P}_\omega$ is not extensional, $D_\infty$ is.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does anybody know about that strange model $D^\infty$? Could it be just the same model as $D_\infty$, but erroneously written? Am I right about the extensionality of the models?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks.&lt;/p&gt;&#xA;" OwnerUserId="10128" LastEditorUserId="270" LastEditDate="2014-03-24T08:07:57.557" LastActivityDate="2014-03-24T08:07:57.557" Title="Extensionality of lambda calculus models" Tags="&lt;lo.logic&gt;&lt;lambda-calculus&gt;&lt;formal-modeling&gt;&lt;extensionality&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="12069" PostTypeId="1" CreationDate="2012-07-19T15:53:42.000" Score="6" ViewCount="493" Body="&lt;p&gt;I am looking for a simple example of a charging scheme. That is, one that will take 1-2 minutes to explain in a talk. I know of one such example, though it concerns a geometric question, while I hope to find something more graph-theoretic.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My geometric example is about upper bounding the complexity of an envelope of squares,  (that is, how many vertices can appear in the union of $n$ squares, counting only vertices that are on the border / not contained in the interior of another square). We allow the squares to have different sizes. A vertex on the envelope is either a vertex of a square or an intersection point of two squares, and thus, we immediately obtain a quadratic upper bound. A very simple charging scheme yields a linear bound.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We wish to charge every vertex of the envelope to a vertex of a square, such that every square vertex will be charged at most twice. This will immediately imply that there are at most $8n$ vertices on the envelope. A vertex of the envelope that is also a vertex of a square will charge itself. Let $p$ be a vertex of the envelope that is formed by the intersection of the squares $A,B$ such that $A$ is larger or equal to $B$. We travel from $p$ along the edge of $B$ in the direction that enters the interior of $A$, and charge the vertex of $B$ that is at the end of this edge. By drawing this, it is easy to verify that every vertex is indeed charged at most twice.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I hope that you will agree that this charging scheme can be explained in a talk in 1-2 minutes. Are there any such simple graph-theoretic examples?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Many thanks,&#xA;Adam&lt;/p&gt;&#xA;" OwnerUserId="7879" LastActivityDate="2012-07-19T15:53:42.000" Title="Examples of simple charging schemes" Tags="&lt;graph-theory&gt;&lt;cg.comp-geom&gt;&lt;examples&gt;" AnswerCount="0" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12070" PostTypeId="1" CreationDate="2012-07-19T15:56:05.733" Score="13" ViewCount="526" Body="&lt;p&gt;I've been reading a bit of the literature lately, and have found some rather interesting data-structures.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have researched various different methods of getting update times down to $\mathcal{O}(1)$ worst-case update time [1-7].&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Recently I begun looking into lock-free data-structures, to support efficient concurrent access.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Have any of these worst-case $\mathcal{O}(1)$ update-time techniques been used in the implementation of lock-free data structures?&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I ask because; to me, they seem like the obvious practical extension of this &quot;theoretical enhancement&quot;.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/0020019083900996&quot; rel=&quot;nofollow noreferrer&quot;&gt;Tarjan, Robert Endre. “Updating a Balanced Search Tree in O(1) Rotations.” Information Processing Letters 16, no. 5 (1983): 253 – 257.&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.133.4630&quot; rel=&quot;nofollow noreferrer&quot;&gt;Driscoll, J R, N Sarnak, D D Sleator, and R E Tarjan. “Making Data Structures Persistent.” In Proceedings of the Eighteenth Annual ACM Symposium on Theory of Computing, 109–121. STOC  ’86. New York, NY, USA: ACM, 1986.&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://dx.doi.org/10.1007/BF00299635&quot; rel=&quot;nofollow noreferrer&quot;&gt;Levcopoulos, C., and Mark H. Overmars. “A Balanced Search Tree with O(1) Worst Case Update Time.” Acta Inf. 26, no. 3 (November 1988): 269–277.&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.55.9433&quot; rel=&quot;nofollow noreferrer&quot;&gt;Fleischer, Rudolf. A Simple Balanced Search Tree With O(1) Worst-Case Update Time&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://dx.doi.org/10.1016/0020-0190%2894%2900115-4&quot; rel=&quot;nofollow noreferrer&quot;&gt;Dietz, Paul F, and Rajeev Raman. “A Constant Update Time Finger Search Tree.” Information Processing Letters 52, no. 3 (1994): 147 – 154.&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://dl.acm.org/citation.cfm?id=998223.998229&quot; rel=&quot;nofollow noreferrer&quot;&gt;Lagogiannis, George, Christos Makris, Yannis Panagis, Spyros Sioutas, and Kostas Tsichlas. “New Dynamic Balanced Search Trees with Worst-case Constant Update Time.” J. Autom. Lang. Comb. 8, no. 4 (July 2003): 607–632.&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://www.cs.au.dk/~gerth/papers/stoc02.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Brodal, Gerth Stølting, George Lagogiannis, Christos Makris, Athanasios Tsakalidis, and Kostas Tsichlas. “Optimal Finger Search Trees in the Pointer Machine.” J. Comput. Syst. Sci. 67, no. 2 (September 2003): 381–418.&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;FYI: This is a reposting of &lt;a href=&quot;https://cs.stackexchange.com/q/2680&quot;&gt;Lock-free, constant update-time concurrent tree data-structures?&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="7860" LastEditorUserId="-1" LastEditDate="2017-04-13T12:48:30.830" LastActivityDate="2012-07-19T15:56:05.733" Title="Lock-free, constant update-time concurrent tree data-structures?" Tags="&lt;reference-request&gt;&lt;ds.data-structures&gt;&lt;time-complexity&gt;&lt;tree&gt;&lt;concurrency&gt;" AnswerCount="0" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12071" PostTypeId="1" CreationDate="2012-07-19T16:35:04.273" Score="-7" ViewCount="603" Body="&lt;ol&gt;&#xA;&lt;li&gt;Valid progams for NP  imply    every solution is a valid answer.  &lt;/li&gt;&#xA;&lt;li&gt;NP not equals #P      implies  not all solutions are answers.  &lt;/li&gt;&#xA;&lt;li&gt;Therefore, Validity   implies  NP=#P. &lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;NP is the problem class for finding single verifiable solutions.&#xA;#P is the related problem class of counting solutions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If the proof is invalid, where is the flaw?  By my reasoning, the &#xA;proof is a three boolean variable three clause 2cnf expression, &#xA;one of the smallest possible uniquely solvable boolean formulas,&#xA;requiring three inferences to resolve.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My best counting benchmark (4cnf 4 coloring, degree 6 graph) took eleven weeks:&#xA;C4D6N66c.cnf + #P 472,406,068,323,174  retros 76865745357  infers 66385 billion &#xA;Send to pehoushek1 at gmail for single file C++ program, bob, for #sat, dimacs &#xA;forms.  The three thousand line bob program can solve millions of small formulas &#xA;in a single run, but can be exponential on large formulas.  bob also solves sat,&lt;br&gt;&#xA;unsat, and qbfs, in roughly the same order of magnitude of time as #P, computing&lt;br&gt;&#xA;nearly two trillion inferences per day.  My main publication in the general area &#xA;is Introduction to Qspace (Satisfiability 2002), containing a short proof of the &#xA;theorem #P=#Q: the number of satisfying assignments to a boolean formula equals &#xA;the number of valid quantifications of the formula. bob uses #P=#Q to solve qbfs, &#xA;indicating coNP=NP=#P=#Q=PSpace=Exp.  Garey and Johnson is the main reference.  &lt;/p&gt;&#xA;" OwnerUserId="10130" LastEditorUserId="10130" LastEditDate="2018-12-23T18:46:32.127" LastActivityDate="2018-12-23T18:46:32.127" Title="Validity implies NP=#P?" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;computability&gt;&lt;counting-complexity&gt;" AnswerCount="2" CommentCount="2" ClosedDate="2012-07-23T18:19:22.143" ContentLicense="CC BY-SA 4.0" />
  <row Id="12072" PostTypeId="2" ParentId="12071" CreationDate="2012-07-19T17:26:01.600" Score="11" Body="&lt;p&gt;You have some fundamental misunderstanding of what a language $L$ being in $\mathsf{NP} \cap \mathsf{coNP}$ means. You'd need to show that there exist two machines: $M$ which is an $\mathsf{NP}$ machine, and $M'$, which is a $\mathsf{coNP}$ machine, such that $L$ is decided by $M$, and $L$ is also decided by $M'$. Each one should be able to solve the problem on its own, without being given the other one as an oracle, like you do. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Your construction on the other hand requires a linear number of calls to &lt;em&gt;both&lt;/em&gt; $\mathsf{NP}$ and $\mathsf{coNP}$. In other words you have an alternating Turing machine with linear number of alternations.  It's easy to see that such a machine can solve TQBF and therefore any problem in $\mathsf{PSPACE}$. Since the functional equivalent $\mathsf{FPSPACE}$ of $\mathsf{PSPACE}$ contains $\mathsf{\#P}$ and $\mathsf{FPSPACE}$ reduces easily (in the Turing reduction sense) to $\mathsf{PSPACE}$, your statement is not at all surprising. In fact your machine is more powerful than needed for solving $\mathsf{\#P}$ problems.&lt;/p&gt;&#xA;" OwnerUserId="4896" LastEditorUserId="4896" LastEditDate="2012-07-20T01:37:09.883" LastActivityDate="2012-07-20T01:37:09.883" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="12073" PostTypeId="1" AcceptedAnswerId="12074" CreationDate="2012-07-19T17:39:27.960" Score="1" ViewCount="243" Body="&lt;p&gt;I don't know if CS theory is the best place for this, sorry if it's not.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm not a computer scientist so I don't know complex maths, but I have a theoretical problem in an application I'm working on that I can't wrap my head around. I would appreciate any help.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I need to find the best or correct string to fit between two other strings.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given the strings &lt;code&gt;strA&lt;/code&gt; and &lt;code&gt;strB&lt;/code&gt; the function should analyse a database and return a string that looks like:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;code&gt;strA strC strD strE strB&lt;/code&gt; The number of strings in between can vary in number.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have a database in place that looks something like this:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;strA strC&#xA;strA strD&#xA;strA strB&#xA;&#xA;strB strA&#xA;strB strC&#xA;&#xA;strC strA&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;This basically says that in the final string &lt;code&gt;strC&lt;/code&gt; can come after &lt;code&gt;strB&lt;/code&gt; but &lt;code&gt;strD&lt;/code&gt; cannot come after &lt;code&gt;strB&lt;/code&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I also have a secondary database which describes which strings can come before which strings. So for example...&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;strA strC&#xA;strA strD&#xA;strA strB&#xA;&#xA;strB strA&#xA;strB strC&#xA;&#xA;strC strA&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;But this database states that &lt;code&gt;strC&lt;/code&gt; can come before &lt;code&gt;strB&lt;/code&gt;, but not &lt;code&gt;strD&lt;/code&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have a function which, only given the beginning string can find all the strings which would fit after it in the correct order. But I need to also include an ending string and have it find the correct path between the start and finish.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I've thought about it over and over again and I don't even know where to start with this. I hope my explanation is not too convoluted. I would greatly appreciate any ideas.&lt;/p&gt;&#xA;" OwnerUserId="10131" LastEditorUserId="-1" LastEditDate="2012-11-11T06:16:53.630" LastActivityDate="2012-11-11T06:16:53.630" Title="Find the best path between two strings" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;application-of-theory&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12074" PostTypeId="2" ParentId="12073" CreationDate="2012-07-19T17:48:42.743" Score="5" Body="&lt;p&gt;This is technically not in scope for this site, but we're friendly people here :), and your question is relatively well-formed. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It sounds like what you have is a &lt;a href=&quot;http://en.wikipedia.org/wiki/Directed_graph&quot;&gt;directed graph&lt;/a&gt; where the strings are your vertices, and your two tables are storing the &quot;forward edges&quot; (a -&gt; b) and the backward edges (a &amp;lt;- b). The question you're asking is whether there's a way to go from one vertex in this graph to another. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The answer is to do a &lt;a href=&quot;http://en.wikipedia.org/wiki/Graph_traversal&quot;&gt;graph traversal&lt;/a&gt; (breadth-first or depth-first) on this graph. Any basic textbook on algorithms (&lt;a href=&quot;http://en.wikipedia.org/wiki/Introduction_to_Algorithms&quot;&gt;like this one&lt;/a&gt;) should help. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2012-07-19T17:48:42.743" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12075" PostTypeId="2" ParentId="12068" CreationDate="2012-07-19T20:59:50.637" Score="14" Body="&lt;p&gt;I presume that by extensionality you mean the law&#xA;$$(\forall x . f x = g x) \implies f = g.$$&#xA;If this is what you mean then the graph model $\mathcal{P}\omega$ is &lt;em&gt;not&lt;/em&gt; extensional, while Dana Scott's $D_\infty$ is (I presume $D^\infty$ is Dana Scott's model of the $\beta\xi\eta\lambda$-calculus).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To see this, recall that $\mathcal{P}\omega$ is an algebraic lattice with the property that its space of continuous maps $[\mathcal{P}\omega \to \mathcal{P}\omega]$ is a proper retract of $\mathcal{P}\omega$, i.e., there are continuous maps&#xA;$$\Lambda : \mathcal{P}\omega \to [\mathcal{P}\omega \to \mathcal{P}\omega]$$&#xA;and&#xA;$$\Gamma : [\mathcal{P}\omega \to \mathcal{P}\omega] \to \mathcal{P}\omega$$&#xA;such that $\Lambda \circ \Gamma = \mathrm{id}$ but $\Gamma \circ \Lambda \neq \mathrm{id}$. Given $u, v \in \mathcal{P}\omega$, the application $u v$ is interpreted as $\Lambda(u)(v)$. Now take $u$ and $u'$ such that $u \neq u'$ but $\Lambda(u) = \Lambda(v)$ (these exist because $\Gamma \circ \Lambda \neq \mathrm{id}$). Then for all $v$ we have $u v = u v'$ yet $u \neq u'$. Extensionality is violated.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In contrast, $[D_\infty \to D_\infty]$ is &lt;em&gt;isomorphic&lt;/em&gt; to $D_\infty$, i.e., there are continuous maps&#xA;$$\Lambda : D_\infty \to [D_\infty \to D_\infty]$$&#xA;and&#xA;$$\Gamma : [D_\infty \to D_\infty] \to D_\infty$$ which are inverses of each other. So consider any $u, u' \in D_\infty$ and suppose that $u v = u' v$ for all $v \in D_\infty$. This means that $\Lambda(u)(v) = \Lambda(u')(v)$ for all $v \in D_\infty$, hence $\Lambda(u) = \Lambda(u')$ and so $u = \Gamma(\Lambda(u)) = \Gamma(\Lambda(u')) = u'$. Extensionality is established.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We see that extensionality is a consequence of $\Gamma \circ \Lambda = \mathrm{id}$. What is the other equation $\Lambda \circ \Gamma = \mathrm{id}$ good for? For this we have to remember how $\lambda$-abstraction is interpreted:&#xA;$$\lambda X. u(X) = \Gamma (v \mapsto u(v))$$&#xA;In words, an expression $u(X)$ with a variable $X$ may be interpreted as a map which takes $v$ to $u(v)$. Then the $\lambda$-abstraction $\lambda X . u(X)$ is interpreted as the $\Gamma$-image of that function. Now from $\Lambda \circ \Gamma = \mathrm{id}$ we get&#xA;$$(\lambda X . u(X)) w = \Lambda (\Gamma (v \mapsto u(v))) (w) = (v \mapsto u(v))(w) = u(w)$$&#xA;which is just $\beta$-reduction.&lt;/p&gt;&#xA;" OwnerUserId="705" LastActivityDate="2012-07-19T20:59:50.637" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="12076" PostTypeId="5" CreationDate="2012-07-19T22:04:08.617" Score="0" Body="&lt;p&gt;A dynamic theory of games for studying the evolution of populations of agents that interact according to simple games.&lt;/p&gt;&#xA;" OwnerUserId="1037" LastEditorUserId="1037" LastEditDate="2012-07-19T22:50:26.420" LastActivityDate="2012-07-19T22:50:26.420" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12077" PostTypeId="4" CreationDate="2012-07-19T22:04:08.617" Score="0" Body="A dynamic theory of games for studying the evolution of populations of agents that interact according to simple games." OwnerUserId="1037" LastEditorUserId="1037" LastEditDate="2012-07-19T22:50:29.870" LastActivityDate="2012-07-19T22:50:29.870" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12079" PostTypeId="2" ParentId="10901" CreationDate="2012-07-20T11:44:29.607" Score="5" Body="&lt;p&gt;According to Wikipedia Garey &amp;amp; Johnson also showed that &quot; Vertex cover remains NP-complete ... even in planar graphs of degree at most 3.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thus FVS is hard on planar graphs with maximum degree 6.&lt;/p&gt;&#xA;" OwnerUserId="7785" LastEditorUserId="7785" LastEditDate="2013-02-01T00:16:34.887" LastActivityDate="2013-02-01T00:16:34.887" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12080" PostTypeId="1" AcceptedAnswerId="12085" CreationDate="2012-07-20T12:10:09.017" Score="22" ViewCount="861" Body="&lt;p&gt;Consider the following reasoning:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $K(x)$ denote the &lt;a href=&quot;https://en.wikipedia.org/wiki/Kolmogorov_complexity&quot;&gt;Kolmogorov complexity&lt;/a&gt; of the string $x$. &#xA;&lt;a href=&quot;https://en.wikipedia.org/wiki/Chaitin%27s_incompleteness_theorem#Chaitin.27s_incompleteness_theorem&quot;&gt;Chaitin's incompleteness theorem&lt;/a&gt; says that&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;for any consistent and sufficiently strong formal system $S$, there&#xA;  exists a constant $T$ (depending only on the formal system and its language) such&#xA;  that for any strings $x$, &#xA;  $S$ cannot prove that $K(x) \geq T$. &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Let $f_n$ be a Boolean function on $n$ variables s.t. the Kolmogorov complexity of its spectrum is at most $k$.&#xA;Let $S(f_n)$ be the circuit complexity of $f_n$, i.e. the size of the minimal circuit computing $f_n$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A (rough) upper bound on for $S(f_n)$ is &#xA;$$S(f_n)\leq c\cdot BB(k) \cdot n$$ &#xA;for a constant $c$ and $BB(k)$ is a &lt;a href=&quot;https://en.wikipedia.org/wiki/Busy_beaver&quot;&gt;busy beaver&lt;/a&gt; function (the maximum possible steps a halting Turing machine with a description of size $k$ can perform).&#xA;(For every $1$ in the spectrum, construct the minterm of the corresponding&#xA;truth assignment, and take OR of all these minterms together.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose now for an infinite family of Boolean functions &#xA;$L = \{f_n\}_{n}$, we have a formal proof that&#xA;$L$ requires superlinear size circuits, i.e. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$S \vdash \forall n \geq n_0, \ g(n)\cdot n \leq S(f_n)$$&#xA;where $g(n)\in \omega(1)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we take $n$ to be sufficiently large, we will have&#xA;$$g(n) &amp;gt; c\cdot BB(T)$$ &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In particular this would be a proof that the Kolmogorov complexity of the spectrum&#xA;of $f_n$ is at least $T$, which is impossible.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This leads to two questions:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) There should be something wrong in the above reasoning.&#xA;Mainly because it would make superlinear circuit lower bounds formally not provable. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) Do you know of similar approaches to show barriers for lower bounds, that is, showing that certain types of (circuit) lower bounds are formally unprovable?&lt;/p&gt;&#xA;" OwnerUserId="4201" LastEditorUserId="186" LastEditDate="2012-07-22T03:55:28.327" LastActivityDate="2012-07-23T03:28:41.840" Title="Circuit lower bounds and kolmogorov complexity" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;lo.logic&gt;&lt;circuit-complexity&gt;&lt;kolmogorov-complexity&gt;" AnswerCount="2" CommentCount="4" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="12081" PostTypeId="2" ParentId="12052" CreationDate="2012-07-20T13:11:24.140" Score="7" Body="&lt;p&gt;Landin's SECD machine, originally described in &lt;a href=&quot;http://comjnl.oxfordjournals.org/content/6/4/308.abstract&quot;&gt;The mechanical evaluation of expressions&lt;/a&gt; in 1964, is a transition system in the form of an abstract machine, later inspiring lots of of other abstract machines such as the CESK machine.&lt;/p&gt;&#xA;" OwnerUserId="2185" LastActivityDate="2012-07-20T13:11:24.140" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12082" PostTypeId="2" ParentId="12071" CreationDate="2012-07-20T15:23:55.690" Score="-3" Body="&lt;p&gt;After further review, if the given construction is valid, then Certificates for coNP are possible, so coNP is in NP, or else the relatively simple construction is invalid.  Imagine, certificates for unsatisfiable problems!  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The size increase would be O(M*N) on M k-clauses and N variables.  The certificate can be obtained for an unsatisfiable formula by partitioning 2^N as #rootsat on the logical complement of the original unsatisfiable formula.  I am not saying that the certificate is easy to construct, just that it Exists, for unsatisfiable formulas, among shallow binary trees where leafs are all labelled with #sat and #unsat. Language relativization does not actually seem to apply to the tree construction.   &lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, solving #P would still require binary search, which means O(N) calls to determine an N bit number.  But the conclusion is entirely in NP, and so is easily checked once found!  One certificate labels the precise number of solutions X in O(M) trees related to the original formula; and a second certificate labels 2^N - X as the number of solutions in O(M) trees related to the logical complement of the orignal formula.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The size of both certificates is O(M*N).  Checking the certificates of the trees is easy, just adding of the #sat labels on each leaf of each tree. Every tree has #rootsat as the total number of satisfying assignments.  So the conclusion now is that #P is entirely in NP, by using two easy to check certificates, one on the formula, and one on its complement.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;coNP is also in NP, with an easily checkable certificate on the complementary formula.  These certificates may be hard to construct, but they Exist.  The construction deserves alot of attention to details, of course.  If the construction is invalid, then please ignore my rambling.&lt;/p&gt;&#xA;" OwnerUserId="10130" LastActivityDate="2012-07-20T15:23:55.690" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12083" PostTypeId="2" ParentId="12080" CreationDate="2012-07-20T20:13:10.910" Score="1" Body="&lt;p&gt;Here is an even simpler problematic situation. Let $A(k)$ be the first string (in lexicographic order) such that $K(A(k)) \geq k$; such a string provably exists for all $k$. Then $K(A(k)) \geq k$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The culprit might be that the formal system cannot compute $BB(T)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit: Here is a &quot;more explicit&quot; problematic situation. Let $\alpha(k)$ be the maximal length of a string whose Kolmogorov complexity is at most $k$; $\alpha(k)$ provably exists. Then $K(0^{\alpha(k)+1}) &amp;gt; k$.&lt;/p&gt;&#xA;" OwnerUserId="40" LastEditorUserId="40" LastEditDate="2012-07-21T18:33:26.463" LastActivityDate="2012-07-21T18:33:26.463" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="12084" PostTypeId="1" AcceptedAnswerId="14436" CreationDate="2012-07-20T20:19:07.943" Score="27" ViewCount="897" Body="&lt;p&gt;Suppose $G$ is a graph with coloring number $d = \chi(G)$. Consider the following game between Alice and Bob. At each round, Alice picks a vertex, and Bob answers with a color in $\{1,\ldots,d-1\}$ for this vertex. The game ends when a monochromatic edge is discovered. Let $X(G)$ be the maximal length of the game under optimal play by both players (Alice wants to shorten the game as possible, Bob wants to delay it as possible). For example, $X(K_n) = n$ and $X(C_{2n+1}) = \Theta(\log n)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is this game known?&lt;/p&gt;&#xA;" OwnerUserId="40" LastEditorUserId="-1" LastEditDate="2012-11-11T06:16:51.430" LastActivityDate="2014-10-01T01:20:23.030" Title="Coloring complexity of graphs" Tags="&lt;reference-request&gt;&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;graph-colouring&gt;&lt;decision-trees&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12085" PostTypeId="2" ParentId="12080" CreationDate="2012-07-21T07:52:07.353" Score="11" Body="&lt;p&gt;There is nothing wrong with your argument, but there is no contradiction. You prove that from some large enough $N$ the Kolmogorov complexity of the spectrum of $f_n$ is always at least $T$. But this statement is trivially true! Although we cannot prove that the Kolmogorov complexity of one string is large, if we have a sequence, then from some point it must contain only strings of large complexity. So what is this $N$ that you got? It must satisfy $N&amp;gt;g^{-1}(c \cdot BB(T))$, what is a number that we cannot compute (because of $BB$), so there is no problem at all.&lt;/p&gt;&#xA;" OwnerUserId="419" LastActivityDate="2012-07-21T07:52:07.353" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12089" PostTypeId="1" CreationDate="2012-07-21T17:00:47.030" Score="11" ViewCount="424" Body="&lt;p&gt;Cheeger's inequality can be used to relate the size of the worst cut in the graph to the eigenvalue gap of a simple random walk on that graph. I am wondering if it possible to extend this result to directed graphs. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I state a possible generalization of Cheeger's inequality next. I am asking first about its correctness and secondly about whether any results along these lines are known or possible. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $G=(V,E)$ be a strongly connected directed graph. Consider the lazy random walk on $G$: this is the Markov chain whose transition probability matrix is $P_{ii} = 1/2$, $P_{ij}=1/d(i)$ if $(i,j) \in E$, where $d(i)$ is the out-degree of node $i$, and $P_{ij}=0$ otherwise. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $\pi$ be the unique left eigenvector corresponding to the eigenvalue $1$. Naturally, define $\pi(S) = \sum_{i \in S} \pi(i)$. Then the Cheeger constant of $P$ may be defined as  $$ h(P) = \min_{S \subset V} \frac{\sum_{i \in S, j \in S^c} \pi(i) P_{ij}}{\pi(S) \pi(S^c)}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now if $G$ is &lt;em&gt;undirected&lt;/em&gt;, the part of Cheeger's inequality I am interested in says that&#xA;$$ 1 - \lambda_1 \geq \Omega(h(P)^2)$$ where $\lambda_1$ is the largest eigenvalue of $P$ not equal to $1$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the directed case, the eigenvalues are no longer real. Nevertheless, one can define $\lambda$ to be the largest absolute value of any eigenvalue of $P$ not equal to $1$. Then, is it true that &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$ 1 - \lambda \geq \Omega (h(P)^2)$$ &#xA;Alternatively, is any sort of result along these lines possible, perhaps with different definition of Cheeger constant? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The only reference I was able to find was &lt;a href=&quot;http://people.cs.umass.edu/~mahadeva/cs791bb/reading/dichee.pdf&quot;&gt;Laplacians and the Cheeger inequality&#xA;for directed graphs&lt;/a&gt;, F. Chung, Annals of Combinatorics, 2005 (see also &lt;a href=&quot;http://www.math.ucsd.edu/~fan/teach/262/notes/paul/11_16_notes.pdf&quot;&gt;these lecture notes&lt;/a&gt;). However, the main results of that paper appear to be different than what I'm asking about. In particular, this paper seems to prove a form of Cheeger's inequality for a certain symmetric matrix, though the symmetric matrix is derived from a directed graph.&lt;/p&gt;&#xA;" OwnerUserId="5773" LastEditorUserId="-1" LastEditDate="2012-11-11T06:16:48.653" LastActivityDate="2012-11-11T06:16:48.653" Title="Cheeger's inequality for directed graphs?" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;pr.probability&gt;&lt;markov-chains&gt;&lt;random-walks&gt;" AnswerCount="0" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12090" PostTypeId="2" ParentId="1471" CreationDate="2012-07-21T17:26:53.667" Score="4" Body="&lt;p&gt;I always start by pointing them toward some creative, intentionally-irreverent video or article that explains a technical concept at an intuitive level. Here's a good example: &lt;a href=&quot;http://www.youtube.com/watch?v=ahXIMUkSXX0&quot; rel=&quot;nofollow&quot;&gt;Doodling in Math: Spirals, Fibonacci, and Being a Plant&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Once they understand the concept (and hopefully have had a little fun with it), I try to generalize what they've learned to something about TCS. For instance, the above video could lead into a basic explanation of algorithms or computation as a recursive process -- &quot;something that generates a complex structure out of a few, simple rules.&quot; TCS people, then, just study what types of rules produce what types of structure!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;From there, it's generally easy enough to go from general TCS to the domain-specific thing you do. :)&lt;/p&gt;&#xA;" OwnerUserId="108" LastActivityDate="2012-07-21T17:26:53.667" CommentCount="0" CommunityOwnedDate="2012-07-21T17:26:53.667" ContentLicense="CC BY-SA 3.0" />
  <row Id="12092" PostTypeId="2" ParentId="944" CreationDate="2012-07-22T03:01:03.367" Score="12" Body="&lt;p&gt;I think you are asking two questions about applicability, type A and type B separately.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As you note, there are many substantive applications of category theory to type B topics: semantics of programming languages (monads, cartesian closed categories), logic and provability (topoi, varieties of linear logic).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, there seems to be little substantive applications to theory A (algorithms or complexity).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are some uses in elementary objects, such as describing categories of automata or combinatorial objects (graphs, sequences, permutations, etc). But these don't seem to account for a deeper understanding of language theory or algorithms.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Speculatively, it could be a mismatch between the current strategies of category theory and theory A subjects:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;The central strategy of category theory is dealing with equality (when things are the same and when they are different and how they map to each other). &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;For complexity theory, the primary strategy is reductions and setting bounds (one would think a reduction is like an arrow, but I don't think anything beyond this superficial similarity has been studied). &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;For algorithms, there is no overarching strategy to it other than ad hoc clever combinatorial thinking. For certain domains, I'd expect there could be fruitful exploration (algorithms for algebras?) but I haven't seen it yet.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="497" LastEditorUserId="497" LastEditDate="2017-11-19T13:20:53.297" LastActivityDate="2017-11-19T13:20:53.297" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12094" PostTypeId="1" AcceptedAnswerId="12096" CreationDate="2012-07-22T06:02:01.227" Score="15" ViewCount="447" Body="&lt;p&gt;We know that DPLL based SAT-solvers fail to answer correctly on unsatisfiable instances of $\mathrm{PHP}$ (pigeon hole principle), e.g. on &quot;there is a injective mapping from $n+1$ to $n$&quot;:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\mathrm{PHP^{n+1}_{n}} := \left(\bigwedge_{i\in[n+1]} \ \bigvee_{j\in[n]} \ p_{i,j}\right) \wedge \left(\bigwedge_{i\neq i'\in[n+1]} \ \bigwedge_{j\in[n]} \ (\lnot p_{i,j} \vee \lnot p_{i',j})\right)$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am looking for results about how they perform on satisfiable instances of $\mathrm{PHP}$, e.g. on &quot;there is a injective mapping from $n$ to $n$&quot;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Do they find a satisfying assignment quickly on such instances?&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2012-07-22T06:14:13.943" LastActivityDate="2012-07-23T20:02:49.943" Title="How efficient are DPLL-based SAT-solvers on satisfiable instances of PHP?" Tags="&lt;cc.complexity-theory&gt;&lt;lo.logic&gt;&lt;proof-complexity&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="12095" PostTypeId="1" AcceptedAnswerId="12098" CreationDate="2012-07-22T19:40:17.283" Score="9" ViewCount="369" Body="&lt;p&gt;My question is about finite model theory/descriptive complexity, so $FO(R)$ will mean &quot;first order over finite binary words, using predicates Rs and a unary predicate P true on the position of the 1 in the word&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would like to know, are there any caracterisation of $FO(&amp;lt;,R)$ with R any predicate on $\mathbb N^r$ for some r? For example on $FO(&amp;lt;,+)$, or $FO(&amp;lt;,P_2)$ where $P_2$ is the set of power of 2. Especially, it seems to me that it should be equal to $AC^0$ with some uniformity condition, but I can not find any resultat that states this.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is what I already know, for some value of $R$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is well known that $FO(&amp;lt;,bit)$, the first order logic on words with an order and a bit predicate is equal to $AC^0$-$FO(&amp;lt;,bit)$ uniform. By this it means they both recognise exactly the same languages.  See for example &quot;Descriptive complexity&quot; of Immerman, page 82.&#xA;(It is also equal to a lot of other caracterisation, such as $AC^0$-logtime uniform, and constant-time parallel random access machine, but it is not what I am searching for here.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we can use arbitrary numerical predicate in our first order logic, then we have $AC^0$ (non uniform), if $C$ is a class of function containing the log-time computable function, then $FO(&amp;lt;,C)$ is equal to $AC^0-C$-uniform (for these two results see Barrington, &quot;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.34.9364&quot;&gt;Extensions of an Idea of Mc-Naughton&lt;/a&gt;&quot;, 1993).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally $FO(&amp;lt;)$ is the class of star-free language (language that can be defined by a regular expression using no Kleene star), but this give no information in term of circuit complexity.&lt;/p&gt;&#xA;" OwnerUserId="328" LastEditorUserId="186" LastEditDate="2012-07-22T20:54:04.757" LastActivityDate="2012-07-23T18:43:50.963" Title="FO-uniform AC0 with some predicate" Tags="&lt;cc.complexity-theory&gt;&lt;lo.logic&gt;&lt;circuit-complexity&gt;&lt;descriptive-complexity&gt;&lt;finite-model-theory&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12096" PostTypeId="2" ParentId="12094" CreationDate="2012-07-23T12:59:12.430" Score="14" Body="&lt;p&gt;On satisfiable instances of $PHP$, DPLL based SAT solvers will furnish a satisfying assignment in linear time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To see why, observe how the CNF encoding of an unsatisfiable instance of $PHP$ with $n$ holes and $n + 1$ pigeons is sintactically identical to an instance of $k = n$ Graph Coloring, where the input graph is a clique of $n + 1$ vertices. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Similarly, the CNF encoding of a satisfiable instance of $PHP$ with $n$ holes and $n$ pigeons is sintactically identical to an instance of $k = n$ Graph Coloring, where the input graph is a clique of $n$ vertices.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, coloring a clique of $n$ vertices with $n$ colors is straightforward: scan the vertices, and assign to each of them one of the remaining colors (already assigned colors are automatically ruled out by the &lt;em&gt;clique-ness&lt;/em&gt; of the graph, using unit propagation). Whatever of the remaining colors you choose, it will be good and will lead you to a satisfying assignment.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;From the DPLL solver point of view: each time it will try to guess the boolean value of a variable $v_i$, such value will be right (whatever it is), because there will certainly be a satisfying assignment in which variable $v_i$ has the guessed value. Unit propagation will do the rest of the job, by guiding the solver along the satisfying path (in other words: by preventing it to guess wrong values).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The search then proceeds one variable after the other, linearly, each time making the correct guess.&lt;/p&gt;&#xA;" OwnerUserId="947" LastEditorUserId="947" LastEditDate="2012-07-23T20:02:49.943" LastActivityDate="2012-07-23T20:02:49.943" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="12098" PostTypeId="2" ParentId="12095" CreationDate="2012-07-23T18:43:50.963" Score="5" Body="&lt;p&gt;I am not completely sure what you are looking for, but the following might &#xA;be interesting to you:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;The idea that restricting numerical predicates in FO-formula corresponds to uniformity conditions is explicitly investigated, for example, in the paper&#xA;&lt;a href=&quot;http://fuseki.informatik.uni-tuebingen.de/~lange/Arbeiten/BeLa/uniform.ps.gz&quot;&gt;&quot;FO(&amp;lt;)-uniformity&quot;&lt;/a&gt; by Behle and Lange.&lt;/li&gt;&#xA;&lt;li&gt;The survey &lt;a href=&quot;http://www.tks.informatik.uni-frankfurt.de/getpdf?id=466&quot;&gt;&quot;Arithmetic, first-order logic, and counting quantifiers&quot;&lt;/a&gt;&#xA;by Schweikardt provides i.a. an overview of known results about&#xA;the expressive power of different arithmetical predicates&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="9586" LastActivityDate="2012-07-23T18:43:50.963" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12100" PostTypeId="1" CreationDate="2012-07-24T11:54:06.567" Score="2" ViewCount="95" Body="&lt;p&gt;I am currently working on some property defined in the following way. Let &lt;span class=&quot;math-container&quot;&gt;$S$&lt;/span&gt; be a set of positive integers. We say that &lt;span class=&quot;math-container&quot;&gt;$S$&lt;/span&gt; has the property &lt;span class=&quot;math-container&quot;&gt;$P$&lt;/span&gt; iff one of the following two conditions holds.&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;This set &lt;span class=&quot;math-container&quot;&gt;$S$&lt;/span&gt; is a singleton.&lt;/li&gt;&#xA;&lt;li&gt;For every &lt;span class=&quot;math-container&quot;&gt;$x \in \{1,…,\lfloor \frac{|S|}{2} \rfloor\}$&lt;/span&gt;, there exists a partition of &lt;span class=&quot;math-container&quot;&gt;$S$&lt;/span&gt; into two parts &lt;span class=&quot;math-container&quot;&gt;$S_1$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$S_2$&lt;/span&gt; such that their sizes are &lt;span class=&quot;math-container&quot;&gt;$x$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$|S|-x$&lt;/span&gt;, respectively, and they both satisfy the property &lt;span class=&quot;math-container&quot;&gt;$P$&lt;/span&gt;.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;In other words, &lt;span class=&quot;math-container&quot;&gt;$S$&lt;/span&gt; has the property &lt;span class=&quot;math-container&quot;&gt;$P$&lt;/span&gt; iff it can always be partitioned into two subsets of arbitrary sizes having the property &lt;span class=&quot;math-container&quot;&gt;$P$&lt;/span&gt; themselves.&lt;/p&gt;&#xA;&lt;p&gt;Now, I would like to consider the complexity of the associated decision problem.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;P-PROPERTY&lt;/p&gt;&#xA;&lt;p&gt;Instance: A set &lt;span class=&quot;math-container&quot;&gt;$S$&lt;/span&gt; of positive integers.&lt;/p&gt;&#xA;&lt;p&gt;Question: Does &lt;span class=&quot;math-container&quot;&gt;$S$&lt;/span&gt; have the property &lt;span class=&quot;math-container&quot;&gt;$P$&lt;/span&gt;?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;At first sight, such a problem belongs neither to NP nor to co-NP (does it?). Moreover, because of the recursivity, I do not see how this problem could belong to the polynomial hierarchy.&lt;/p&gt;&#xA;&lt;p&gt;I never saw a problem recursively defined like this one, that is why I am getting some trouble dealing with it. So, is there a way to deal with the complexity of such a problem?&lt;/p&gt;&#xA;&lt;p&gt;Thanks in advance (and sorry if the answer is obvious :o) )!&lt;/p&gt;&#xA;" OwnerUserId="10172" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2012-07-26T04:03:54.137" Title="Catching the complexity of determining some recursively defined property" Tags="&lt;cc.complexity-theory&gt;&lt;co.combinatorics&gt;&lt;complexity-classes&gt;&lt;property-testing&gt;" AnswerCount="0" CommentCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="12101" PostTypeId="2" ParentId="12029" CreationDate="2012-07-24T14:00:04.097" Score="5" Body="&lt;p&gt;The problem is decidable in polynomial time (in fact, in uniform $\mathrm{TC}_0$). We can recast the question as follows: given positive integers $a,b,c,d,e$, find the sign of&#xA;$$\Lambda=e\log(a/b)-\log(c/d).$$&#xA;First, note that we can test whether $\Lambda=0$: if we assume w.l.o.g. that $\gcd(a,b)=\gcd(c,d)=1$, then $da^e=cb^e$ implies $a^e\mid c$ and $b^e\mid d$; in particular, apart from the trivial case $a=b=1$, equality can hold only if $e\le\max\{\log c,\log d\}$, in which case we can evaluate $a^e,b^e$ in polynomial time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Likewise, we can rule out the case when $(a/b)^{e_1}=(c/d)^{e_2}$ for some positive integers $e_1,e_2$. The argument above shows that if this is the case, then $e_1,e_2\le\max\{\log a,\log b,\log c,\log d\}$, hence we can find $e_1,e_2$ by brute force in polynomial time, and then it suffices to compare $e$ with $e_1/e_2$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thus, suppose $a/b$ is not a rational power of $c/d$, which implies $\Lambda\ne0$. Write $\alpha_1=a/b$, $\alpha_2=c/d$, $\lambda_1=\log\alpha_1$, $\lambda_2=\log\alpha_2$, $\beta_1=e$, $\beta_2=-1$. Note that the logarithmic height $h(\alpha_1)=\max\{\log a,\log b\}$, $h(\alpha_2)=\max\{\log c,\log d\}$, and $\lambda_1,\lambda_2$ are linearly independent over $\mathbb Q$. By some version of Baker’s theorem (e.g., the “explicit result by Baker and Wüstholz” in &lt;a href=&quot;http://en.wikipedia.org/wiki/Baker%27s_theorem#Statement&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/Baker%27s_theorem#Statement&lt;/a&gt;), we have&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\log\lvert\Lambda\rvert&amp;gt;-Ch(\alpha_1)h(\alpha_2)\log\beta_1$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;for some constant $C$ (note that in the statement given in the link, we have $n=2$ and $d=1$, hence $C$ is really independent of the input data). The number on the right-hand side is polynomial in the length of the input, and it thus suffices to approximately evaluate $\Lambda$ with polynomially many bits of precision, which can be done by standard numerical algorithms in polynomial time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(If you want to look for more information, the keyword is “linear forms in logarithms”.)&lt;/p&gt;&#xA;" OwnerUserId="6959" LastEditorUserId="6959" LastEditDate="2012-07-24T16:44:22.440" LastActivityDate="2012-07-24T16:44:22.440" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12103" PostTypeId="1" CreationDate="2012-07-24T14:44:52.643" Score="10" ViewCount="373" Body="&lt;p&gt;Fix $k\ge5$.&#xA;For any big enough $n$, we would like to label all subsets of $\{1..n\}$ of size exactly $n/k$ by positive integers from $\{1...T\}$.&#xA;We would like this labelling to satisfy the following property: there is a set $S$ of integers, s.t.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;If $k$ subsets of size $n/k$ don't intersect (i.e. the union of these sets form all the set $\{1..n\}$), then the sum of their labels is in $S$.&lt;/li&gt;&#xA;&lt;li&gt;Otherwise, the sum of their labels isn't in $S$.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Does there exist a $k\ge5$ and a labelling, s.t. $T\cdot|S|=O(1.99^n)$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, for any $k$ we can label subsets in the following way.&#xA;$T=2^n$, each subset has $n$ bits in their number: first bit is equal $1$ iff the subset contains $1$, the second bit is equal $1$ iff the subset contains $2$ e.t.c.&#xA;It's easy to see, that $S$ contains only one element $2^n-1$.&#xA;But here $T\cdot|S|=\Theta(2^n)$. Can we do it better?&lt;/p&gt;&#xA;" OwnerUserId="7454" LastActivityDate="2012-07-25T19:25:51.700" Title="Subset Numbering" Tags="&lt;ds.algorithms&gt;&lt;graph-algorithms&gt;&lt;it.information-theory&gt;&lt;nt.number-theory&gt;&lt;exp-time-algorithms&gt;" AnswerCount="2" CommentCount="6" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12104" PostTypeId="1" AcceptedAnswerId="12105" CreationDate="2012-07-24T16:40:50.857" Score="2" ViewCount="173" Body="&lt;p&gt;Consider an acyclic directed graph in which a traversal from any node in the graph must eventually end at some terminal node &lt;em&gt;R&lt;/em&gt;.  Borrowing from tree-based vocabulary, I would tend call this the &quot;root&quot; of the graph, since all traversals eventually terminate there.  However, the term &quot;&lt;a href=&quot;http://mathworld.wolfram.com/RootedGraph.html&quot; rel=&quot;nofollow&quot;&gt;rooted graph&lt;/a&gt;&quot; seems to already be in use for something else.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a term I can use to describe this property?  The best way I can describe the graph at present is a &quot;multi-parented directed tree&quot; -- all nodes point toward the root, but, unlike a directed tree, nodes may have more than one parent. I don't like this terminology, though, as it seems like an abuse of the term &quot;tree&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I considered &quot;hierarchical graph&quot;, but a node can have more than one outgoing vertex, so I think that may disqualify it from being hierarchical.&lt;/p&gt;&#xA;" OwnerUserId="10177" LastEditorUserId="186" LastEditDate="2012-07-25T07:44:03.097" LastActivityDate="2012-07-25T07:44:03.097" Title="Term for a &quot;rooted&quot; directional graph?" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;terminology&gt;" AnswerCount="1" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="12105" PostTypeId="2" ParentId="12104" CreationDate="2012-07-24T17:35:07.853" Score="9" Body="&lt;p&gt;I don't know if these graphs have a common name. But I think, one would call vertices with no outgoing edge rather a &lt;strong&gt;sink&lt;/strong&gt; than a &lt;strong&gt;root&lt;/strong&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This &lt;a href=&quot;http://www.mth.msu.edu/~sagan/Papers/Old/sao.pdf&quot;&gt;paper&lt;/a&gt; studies acyclic orientations of grid graphs. They call an orientation, which would correspond to the graphs you consider, &lt;em&gt;acyclic orientations with a unique sink&lt;/em&gt;. &lt;/p&gt;&#xA;" OwnerUserId="10092" LastActivityDate="2012-07-24T17:35:07.853" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12106" PostTypeId="1" AcceptedAnswerId="12107" CreationDate="2012-07-24T19:53:58.907" Score="8" ViewCount="212" Body="&lt;p&gt;Consider a rational polytope $P$ that is defined by means of a separation oracle. That is, $P$ can be described implicitly as $P = \{x \in R^k: Ax \leq b, A \in Z^{m \times k}, b \in Z^m \}$, but since $m$ is very large, we use an oracle, that given a point $x \in R^k$, either says $x \in P$ or returns a half-space such that $x \notin S$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;My goal is to find a point in $P$ or determine that $P$ is empty. I'm aiming for  a polynomial running time in the representation size of $U$ and $k$, where $U$  is the largest absolute value in $A$. That is, the algorithm should make only polynomial many calls to the separation oracle.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In general, $P$ might be contained in a hyper-plane of lower dimension and thus it is problematic to use the ellipsoid method. So, as in Khachiyan's trick, I alter $P$ (and the separation oracle) to use $P^\epsilon$, where $\epsilon$ is something like $1/U$. Intuitively, the half-spaces that define $P^\epsilon$ are the same as the ones that define $P$ only that they are translated by $\epsilon$. The polytope $P^\epsilon$ has the following properties: $P^\epsilon$ is empty iff $P$ is empty, and if $P$ is not empty, $P^\epsilon$ is full-dimensional. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is as follows: &#xA;Assume the algorithm finds a point $p \in P^\epsilon$. Is it possible to generate a point in $P$ using $p$?&lt;/p&gt;&#xA;" OwnerUserId="1536" LastEditorUserId="1536" LastEditDate="2012-07-26T18:29:18.520" LastActivityDate="2012-07-27T08:54:28.790" Title="Generating a point in a rational polytope $P \subseteq R^k$ given a point in $P^\epsilon$" Tags="&lt;ds.algorithms&gt;&lt;convex-optimization&gt;&lt;convex-geometry&gt;&lt;high-dimensional-geometry&gt;" AnswerCount="2" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12107" PostTypeId="2" ParentId="12106" CreationDate="2012-07-24T23:08:30.183" Score="8" Body="&lt;p&gt;From any choice of a polytope $P$ in ${\mathbb R}^k$, $\epsilon$, and a point $q$ in ${\mathbb R}^k$ it is possible to find a polytope $\hat P$ in ${\mathbb R}^{k+1}$, together with an embedding of ${\mathbb R}^k$ into ${\mathbb R}^{k+1}$, such that $\hat P$ is within $\epsilon$ Hausdorff distance of (the embedded image of) $P$ and such that (the embedded image of) $q$ belongs to $\hat P^\epsilon$. To do this, simply make the facets of $\hat P$ be nearly parallel to the embedded image of ${\mathbb R}^k$, so that translating them by $\epsilon$ in ${\mathbb R}^{k+1}$ causes their intersection with ${\mathbb R}^k$ to move away from $\hat P$ by a much greater distance.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Because $q$ was arbitrary, the knowledge of $q$ is of no use in finding a point in or near $P$; everything you could do with it you could do without it. But, because $\hat P$ and $P$ are so close, finding a point near $P$ is equivalent to finding a point near $\hat P$. Therefore, the knowledge of $q$ (a point in $\hat P^\epsilon$) is of no use in finding a point near $\hat P$.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2012-07-24T23:08:30.183" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="12108" PostTypeId="1" CreationDate="2012-07-24T23:41:21.757" Score="3" ViewCount="158" Body="&lt;p&gt;Say I want to find a unification for the following two sentences in first-order logic:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;P(x) &amp;amp; Q(y)&lt;/li&gt;&#xA;&lt;li&gt;Q(A) &amp;amp; P(B)&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Common sense tells us that {x: B, y: A} is such a unification. However, if I apply the standard unification algorithm, then we will go through the following steps:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Attempt to match &amp;amp; with &amp;amp; (&lt;em&gt;succeeds, returns &lt;code&gt;{}&lt;/code&gt;, go to step 2&lt;/em&gt;)&lt;/li&gt;&#xA;&lt;li&gt;Attempt to unify P(x) with Q(A) (&lt;em&gt;go to step 3&lt;/em&gt;)&lt;/li&gt;&#xA;&lt;li&gt;Attempt to match P with Q (&lt;em&gt;return failure&lt;/em&gt;)&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;The algorithm returns failure because it doesn't know that &amp;amp; is commutative.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We could fix that by telling our unification algorithm that And and Or are commutative. But more generally we might have a user-defined relation that is commutative, for example&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;IsRelated(Mother(x),Father(x))&lt;/li&gt;&#xA;&lt;li&gt;IsRelated(Father(John),Mother(John))&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Again, the standard unification algorithm would return failure, even though these terms can be unified.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;How is this dealt with in practice, e.g. in theorem provers, or type inference algorithms?&lt;/p&gt;&#xA;" OwnerUserId="9640" LastActivityDate="2012-07-25T00:51:05.480" Title="Commutative operators in unification" Tags="&lt;ds.algorithms&gt;&lt;lo.logic&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12109" PostTypeId="2" ParentId="12108" CreationDate="2012-07-25T00:51:05.480" Score="9" Body="&lt;p&gt;The keywords you want to look into are &quot;AC Unification,&quot; &quot;ACU Unification,&quot; and &quot;Associative-commutative unification.&quot; People have been looking into this for a long time (see this &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0747717187800044&quot;&gt;1987 paper, for example&lt;/a&gt;). &lt;/p&gt;&#xA;" OwnerUserId="1024" LastActivityDate="2012-07-25T00:51:05.480" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12112" PostTypeId="1" CreationDate="2012-07-25T07:17:23.473" Score="5" ViewCount="1603" Body="&lt;p&gt;Consider a shortest path problem between the source $s$ and sink $t$ in an undirected weighted graph. There's a well known algorithm such as &lt;a href=&quot;http://en.wikipedia.org/wiki/Dijkstra%27s_algorithm&quot; rel=&quot;nofollow&quot;&gt;Dijkstra's algorithm&lt;/a&gt; that solves this problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Naturally, this graph can be considered as a resistive network where each edge $e$ with distance (or a cost) $d_{e}$ corresponds to a resistor with resistance $d_{e}$ or conductance $1/d_{e}$. From a physical point of view, assume that we send one unit of current from s to t, say by attaching $s$ to a current source and $t$ to ground. It will induce a certain electric flow in $G$ and this flow is unique. And the approximated solution (or the approximate electric flow) can be obtained in time $\tilde{O}(m)$ where $m$ is the number of edges in the graph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;My question&lt;/strong&gt;: what is the relation between the shortest path in a graph and the path in an electric network where the max electric current flows? Is it true that two paths are always the same when there exists a unique shortest path from $s$ to $t$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;The intuition&lt;/strong&gt;: The electric current tends to flow through the path with the least resistance, and the least resistance between $s$ to $t$ may be interpreted as the shortest path between $s$ to $t$. &lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;updated&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;8--R--7--R--+&#xA;|     |     |&#xA;|     R     |&#xA;|     |     |&#xA;+--R--6--R--+&#xA;|     |     |&#xA;|     R     |&#xA;|     |     |&#xA;+--R--5--R--+&#xA;|     |     |&#xA;|     R     |&#xA;|     |     |&#xA;+--R--3--R--4&#xA;|     |     |&#xA;|     R     |&#xA;|     |     |&#xA;+--R--2     R&#xA;|           |&#xA;|           |&#xA;|           |&#xA;+--R--1--R--0&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;@MarzioDeBiasi: Thank you for the picture and actual current computation. But ironically, your answer only fortifies my conjecture about the shortest path and max current path. (I apologize for not explaining my conjecture clearly if that causes some confusion.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As you pointed out, we have the current of 33.9 mA from 4 to 0, but that's due to the superimposition of many currents. For example, the current flows 8 - 2 - 3 - 4 - 0, 8 - 3 - 4 - 0, 8 - 5 - 6 - 7 - 4 - 0 and 8 - 7 - 4 - 0 contribute to the current flow from 4 to 0. And none of them are larger than the curent of 25mA on the path of 8 - 1 - 0. On the other hand, there's only one path for the flow 8 - 1 - 0 and it sends the largest amoun of current in the circuit.&lt;/p&gt;&#xA;" OwnerUserId="7411" LastEditorUserId="7411" LastEditDate="2012-07-27T07:36:28.400" LastActivityDate="2012-07-27T07:36:28.400" Title="In a resistor network, is there any relation between the shortest path and the maximum electric current path?" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;spectral-graph-theory&gt;&lt;shortest-path&gt;" AnswerCount="2" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="12113" PostTypeId="2" ParentId="12103" CreationDate="2012-07-25T08:23:25.920" Score="4" Body="&lt;p&gt;This is not an answer, just an explanation why for k=2 no such labeling can exist (I am sure this was already known to Alex, so this is just a write-up for other readers like myself...)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For k=2 we have $T\ge {n \choose n/2}\ge 1.99^n$. This is because there are ${n \choose n/2}$ subsets of size n/2. If any two get the same label, e.g. A and B, then either the sum of the label of A and its complement is not in S, or the sum of the label of B and the complement of A is in S. This implies $T\ge {n \choose n/2}$ (for large n).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For larger k a similar argument shows that all the labels must be different, but this only gives a weaker exponential lower bound. So already k=3 seems to be unknown.&lt;/p&gt;&#xA;" OwnerUserId="419" LastActivityDate="2012-07-25T08:23:25.920" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12114" PostTypeId="1" CreationDate="2012-07-25T10:59:34.977" Score="10" ViewCount="267" Body="&lt;p&gt;It is a well-known fact that $ \mathsf{NL} = \cup_{k&amp;gt;0} \mathsf{2NFA[k]} $, where $ \mathsf{2NFA[k]} $ is the class of languages recognized by two-way nondeterministic finite automata with $ k&amp;gt;0 $ input heads, shortly 2nfa(k).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have two but similar questions:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there any known language in $ \mathsf{NL} $ requiring super-linear time, where the model is a standard space-bounded NTM having a read-only input tape and a read/write work tape?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there any known language recognized by some 2nfa(k) in super-linear time but not recognized by any 2nfa(k) in linear time?&lt;/p&gt;&#xA;" OwnerUserId="7358" LastEditorUserId="7358" LastEditDate="2012-07-26T13:46:43.937" LastActivityDate="2012-07-26T13:46:43.937" Title="A super-linear time problem in NL" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;automata-theory&gt;&lt;logspace&gt;" AnswerCount="0" CommentCount="6" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12115" PostTypeId="1" AcceptedAnswerId="12116" CreationDate="2012-07-25T12:53:02.327" Score="39" ViewCount="1756" Body="&lt;p&gt;This is a non-technical question, but certainly relevant for the TCS community. If considered inappropriate, feel free to close.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The &lt;a href=&quot;http://qwiki.stanford.edu/index.php/Complexity_Zoo&quot; rel=&quot;nofollow noreferrer&quot;&gt;Complexity Zoo&lt;/a&gt; webpage (&lt;a href=&quot;http://qwiki.stanford.edu/index.php/Complexity_Zoo&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://qwiki.stanford.edu/index.php/Complexity_Zoo&lt;/a&gt;) has certainly been of great service to the TCS community over the years. Apparently it is down since quite a while. I was wondering, if someone is still maintaining it, if it has moved, if there is a backup server, or if there are other plans to preserve this wonderful database of complexity classes, their relationships and citations to relevant publications. If not, are there comparable webpages that could be used as a replacement?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;UPDATE (Aug 1, 2012): The Zoo is &lt;a href=&quot;https://complexityzoo.uwaterloo.ca/Complexity_Zoo&quot; rel=&quot;nofollow noreferrer&quot;&gt;back online&lt;/a&gt;, and &lt;a href=&quot;http://www.scottaaronson.com/blog/?p=1082&quot; rel=&quot;nofollow noreferrer&quot;&gt;Scott is looking for people volunteering to mirror&lt;/a&gt; it to avoid any future outages.&lt;/p&gt;&#xA;" OwnerUserId="121" LastEditorUserId="6959" LastEditDate="2020-05-26T06:07:16.333" LastActivityDate="2020-05-26T06:07:16.333" Title="Is there a backup/replacement for the Complexity Zoo?" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;soft-question&gt;" AnswerCount="3" CommentCount="19" FavoriteCount="6" ContentLicense="CC BY-SA 4.0" />
  <row Id="12116" PostTypeId="2" ParentId="12115" CreationDate="2012-07-25T15:39:40.633" Score="13" Body="&lt;p&gt;I cannot remark on whether the Zoo has a continuous existence on the web or elsewhere. However, there are still some proto-Zoo and Zoo-derived resources available on the web.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;There seems to be a copy of at least an earlier incarnation of the Zoo on &lt;a href=&quot;http://www.math.ucdavis.edu/~greg/zoology/&quot;&gt;Greg Kuperburg's UC&amp;nbsp;Davis website&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;A &lt;a href=&quot;http://cse.unl.edu/~cbourke/latex/ComplexityZoo.pdf&quot;&gt;Latex/PDF version of some state of the Zoo&lt;/a&gt; written by Chris Bourke seems still to be available on his webspace at the University of Nebraska–Lincoln.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Other sources on the net seem to be links to the first (or to the URL to the &lt;strong&gt;stanford.edu&lt;/strong&gt; subsite), or pieces of the second.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is worth noting that the entire &lt;strong&gt;qwiki.stanford.edu&lt;/strong&gt; subsite seems to have disappeared, and that google searches for &quot;qwiki&quot;, with or without specifying &quot;stanford&quot;, either yields references to &lt;a href=&quot;http://en.wikipedia.org/wiki/Qwiki&quot;&gt;a multimedia product launched in January of last year&lt;/a&gt;, or produces &lt;a href=&quot;http://www.google.co.uk/search?hl=en&amp;amp;q=%22qwiki%22+stanford&quot;&gt;the typical spoor&lt;/a&gt; of SEO companies trying to leach off of online resources.&lt;/p&gt;&#xA;" OwnerUserId="248" LastActivityDate="2012-07-25T15:39:40.633" CommentCount="0" CommunityOwnedDate="2012-07-25T15:39:40.633" ContentLicense="CC BY-SA 3.0" />
  <row Id="12117" PostTypeId="2" ParentId="12103" CreationDate="2012-07-25T15:43:16.153" Score="7" Body="&lt;p&gt;A partial answer is that for even $k$ such a labeling does not exist.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For a set of $t$ disjoint subsets $S_1, \ldots, S_{t}$ (of size $n/k$, let $f(S_1, \ldots, S_t)$ denote the sum of their values).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Claim: if $t &amp;lt; k$ and $S_1 \cup \ldots \cup S_t \ne S'_1 \cup \ldots \cup S'_t$ then $f(S_1, \ldots, S_t) \ne f(S'_1, \ldots, S'_t)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To see why the claim is true, choose a set $S_{t+1}, \ldots, S_{k}$ such that $\bigcup_{i=1}^{k} S_i = [n]$ but then one of these new sets intersects one of the $S'_i$'s so $f(S_1, \ldots, S_k)$ is not allowed to be the same as $f(S'_1, \ldots, S'_t, S_{t+1}, \ldots, S_k)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Corollary: $T &amp;gt; {n \choose tn/k}/t$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Setting $t = k/2$ gives a lower bound of $T \ge 2{n \choose n/2}/k = \Omega(2^n/\sqrt{n})$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that for odd $k$ one gets a lower bound of order ${n \choose n(1-1/k)/2} \approx 2^{H((1-1/k)/2)n} = 2^{n(1-O(1/k^2))}$.  Already for $k = 5$ we have $H((1-1/k)/2) = H(0.4) \approx 0.97$ so the exponent tends to $1$ pretty quickly.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would guess that no solution exists for odd $k$ either but I'm not sure how to prove it.&lt;/p&gt;&#xA;" OwnerUserId="664" LastEditorUserId="419" LastEditDate="2012-07-25T19:25:51.700" LastActivityDate="2012-07-25T19:25:51.700" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12118" PostTypeId="1" CreationDate="2012-07-25T17:17:55.133" Score="5" ViewCount="167" Body="&lt;p&gt;We are given a path $P = (V,E)$ on $n$ nodes, where each edge $e \in E$ has a capacity $c_e$. There are a set of $k$ &lt;em&gt;requests&lt;/em&gt; $R_1,\ldots,R_k$. Request $R_i$ has a &lt;em&gt;demand&lt;/em&gt; $d_i$, and has an interval $I_i = [s_i,t_i]$ associated with it, where $s_i$ is the start vertex and $t_i$ is the end vertex. A set of requests $\mathcal{R}$ is called &lt;em&gt;feasible&lt;/em&gt;, if the total demand of all requests in $\mathcal{R}$ passing through any edge $e$ does not exceed it's capacity, i.e., $\sum_{i:e \in R_i, R_i \in \mathcal{R}} d_i \le c_e$ for all $e \in E$. The goal is to partition the requests $R_1,\ldots,R_k$ into a number of sets such that each set is feasible and the total number of sets is minimized. We can think of this as coloring the requests in such a manner so that requests in each color class are feasible and we want to &lt;strong&gt;minimize&lt;/strong&gt; the number of colors.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $r_e = \frac{\sum_{i:e \in R_i} d_i}{c_e}$ be the &lt;em&gt;congestion&lt;/em&gt; on edge $e$ and let $r = \max_{e \in E} r_e$ be the &lt;strong&gt;maximum&lt;/strong&gt; congestion. Clearly, $r$ is a lower bound on the number of colors required.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We consider the online scenario, where the requests are coming one after another, and we have to assign a color to each request upon its arrival. What is the best online algorithm and hardness result (lower bound) known for this problem? In particular, for small values of $r$ what is the number of colors required? For $r = 1$, one color is sufficient. For $r = 2$ and $r = 3$ can we do it with small number of colors? What is the performance of &lt;strong&gt;first-fit&lt;/strong&gt; for $r = 2$ and $r = 3$?&lt;/p&gt;&#xA;" OwnerUserId="9569" LastActivityDate="2012-07-25T17:17:55.133" Title="Online Interval Coloring Problem" Tags="&lt;ds.algorithms&gt;&lt;approximation-algorithms&gt;&lt;randomized-algorithms&gt;&lt;online-algorithms&gt;" AnswerCount="0" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12119" PostTypeId="2" ParentId="12112" CreationDate="2012-07-25T19:54:37.107" Score="6" Body="&lt;p&gt;&lt;strong&gt;Just an extended comment to include the picture&lt;/strong&gt;: if the following (random) resistor network is valid then the max current flow 33.9mA is not on the shortest path from $s$ (+5V) to $t$ (GND).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/OE4Ks.jpg&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;" OwnerUserId="3247" LastActivityDate="2012-07-25T19:54:37.107" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12122" PostTypeId="1" CreationDate="2012-07-25T20:56:47.457" Score="5" ViewCount="212" Body="&lt;p&gt;I call &lt;code&gt;Fill3&lt;/code&gt; the following simple game: the input is a $n \times n$ grid;&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;every cell of the grid has a type: OR, AND, CHOICE, FANOUT and FIXED and can be rotated 0, 90, 180 or 270 degrees;&lt;/li&gt;&#xA;&lt;li&gt;every cell (except the FIXED) contains three green squares that according to the cell's type can be placed in several different &lt;em&gt;valid configurations&lt;/em&gt; (see figure);&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The aim of the game is to choose a valid configuration for each cell (the type and the rotation cannot be changed) in such a way that no two green squares are adjacent (vertically or horizontally). The game is NP-complete (a quick reduction is from planar 3SAT).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/LKvTA.jpg&quot; alt=&quot;enter image description here&quot;&gt;&#xA;Valid configurations for each type of cell.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But the cell types are obviously a direct transposition of the four gadgets used in the &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.134.6525&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;bounded planar Nondetermnistic Constraint Logic (NCL)&lt;/a&gt; and the valid configurations match  the constraints of the corresponding vertices in a constraint graph (blue/red arrows in the figure). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm wondering if a direct quick reduction from NCL is possible. It is immediate to reduce a planar constraint graph to a &lt;code&gt;Fill3&lt;/code&gt; game (CHOICE cells with a &quot;free&quot; endpoint can be used to build straight links and 90° turns). But in a bounded planar NCL problem $P$ the edges are reversed &lt;strong&gt;dinamically&lt;/strong&gt; (though an edge can be reversed at most once) and the aim is to reverse a single edge; on the contrary the game &lt;code&gt;Fill3&lt;/code&gt; is &lt;strong&gt;static&lt;/strong&gt;. A possible approach is: build the corresponding &lt;code&gt;Fill3&lt;/code&gt; game from $P$; &quot;break&quot; the edge that must be reversed (eventually expanding the board) and force it in the final direction using FIXED cells. Then one way is easy: if $P$ is solvable, the corrisponding &lt;code&gt;Fill3&lt;/code&gt; game has a solution (represented by the final configuration of the constraint graph); but &lt;strong&gt;the other way is more problematic&lt;/strong&gt;:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;If &lt;code&gt;Fill3&lt;/code&gt; has a (static) solution $s$, can we say that a (dynamic) solution for the corresponding planar bounded NCL problem $P$ always exist (i.e. a sequence of valid edge reversals)? And how to prove it formally?&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="186" LastEditDate="2012-07-25T21:00:16.760" LastActivityDate="2012-07-25T21:00:16.760" Title="Reduction from planar bounded NCL to a static puzzle game" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;&lt;puzzles&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="12124" PostTypeId="1" CreationDate="2012-07-26T05:23:37.523" Score="13" ViewCount="436" Body="&lt;p&gt;There are several well-known $\mathsf{AC^0}$ circuit size lower-bound results based on random restrictions and the &lt;a href=&quot;http://en.wikipedia.org/wiki/Switching_lemma&quot;&gt;Switching Lemma&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can we develop a Switching Lemma result to prove a size lower-bound for $\mathsf{TC^0}$ circuits (similar to the lower-bound proofs for $\mathsf{AC^0}$)? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Or is there any inherent obstacle to using this approach for proving $\mathsf{TC^0}$ lower-bounds? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Do barrier results like &lt;a href=&quot;http://en.wikipedia.org/wiki/Natural_proof&quot;&gt;Natural Proofs&lt;/a&gt; say anything regarding using Switching Lemma like techniques to prove $\mathsf{TC^0}$ lower-bounds?&lt;/p&gt;&#xA;" OwnerUserId="9144" LastEditorUserId="186" LastEditDate="2012-07-26T22:49:01.280" LastActivityDate="2016-05-02T22:03:54.893" Title="Is it possible to use random restrictions to obtain a lower-bound for $\mathsf{TC^0}$?" Tags="&lt;cc.complexity-theory&gt;&lt;circuit-complexity&gt;&lt;lower-bounds&gt;&lt;boolean-functions&gt;" AnswerCount="2" CommentCount="5" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="12127" PostTypeId="2" ParentId="238" CreationDate="2012-07-26T09:26:23.637" Score="7" Body="&lt;p&gt;We have been starting some &lt;a href=&quot;https://cs.meta.stackexchange.com/questions/599/reference-answers-to-frequently-asked-questions&quot;&gt;reference questions&lt;/a&gt; on &lt;a href=&quot;http://cs.stackexchange.com&quot;&gt;cs.SE&lt;/a&gt; covering typical (so far introductory) TCS problems. Besides general relevance, some answers contain methods that may not be known to every researcher, e.g. in these:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://cs.stackexchange.com/q/1031/98&quot;&gt;How to prove that a language is not regular?&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://cs.stackexchange.com/q/265/98&quot;&gt;How to prove that a language is not context-free?&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://cs.stackexchange.com/q/2016/98&quot;&gt;How to convert finite automata to regular expressions?&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://cs.stackexchange.com/q/2789/98&quot;&gt;Solving or approximating recurrence relations for sequences of numbers&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;We also have &lt;a href=&quot;https://cs.stackexchange.com/q/1877/98&quot;&gt;How not to solve P=NP?&lt;/a&gt; which is more about anti-techniques.&lt;/p&gt;&#xA;" OwnerUserId="1546" LastEditorUserId="-1" LastEditDate="2017-04-13T12:48:30.830" LastActivityDate="2013-09-30T09:39:24.393" CommentCount="0" CommunityOwnedDate="2012-07-26T09:26:23.637" ContentLicense="CC BY-SA 3.0" />
  <row Id="12128" PostTypeId="1" CreationDate="2012-07-26T13:18:53.813" Score="10" ViewCount="152" Body="&lt;p&gt;In &lt;a href=&quot;http://pra.aps.org/abstract/PRA/v57/i2/p830_1&quot;&gt;&quot;Quantum-channel capacity of very noisy channels&quot;&lt;/a&gt;, DiVincenzo, Shor and Smolin showed that it is possible to perform quantum communication over depolarizing channels provided that the fidelity was greater than 0.80944. What I want to know is the lowest value known for the fidelity such that quantum communication is still possible. Does anyone know the current state of the art with respect to this problem?&lt;/p&gt;&#xA;" OwnerUserId="204" LastActivityDate="2012-07-30T21:39:00.593" Title="Threshold for non-zero quantum capacity of depolarizing channels" Tags="&lt;it.information-theory&gt;&lt;quantum-information&gt;" AnswerCount="0" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12129" PostTypeId="2" ParentId="12052" CreationDate="2012-07-26T13:21:36.800" Score="4" Body="&lt;p&gt;If you enlarge the idea of &quot;programs&quot; to include Turing machines, then the original Turing's description of their semantics was as transition systems.  So, I think transition systems have always been with us!&lt;/p&gt;&#xA;" OwnerUserId="8519" LastActivityDate="2012-07-26T13:21:36.800" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="12130" PostTypeId="1" AcceptedAnswerId="12137" CreationDate="2012-07-26T13:26:49.027" Score="8" ViewCount="200" Body="&lt;p&gt;What is the largest set admitting a deterministic quantum search algorithm, for a single marked element, that operates with only a single call to the oracle?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The question is interesting since Grover's algorithm, which for unstructured search on an $N$-element set requires $O(\sqrt{N})$ calls to the oracle, can in fact search a 4-element set using only a single call.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In general, it is interesting to ask for the minimum number of calls to a quantum oracle required to deterministically search an unstructured set of size $N$ for a single marked element.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that Grover's algorithm is optimal up to a constant factor in the limit of large $N$, although of course that does not mean it is optimal for any given finite set.&lt;/p&gt;&#xA;" OwnerUserId="10196" LastEditorUserId="10196" LastEditDate="2012-07-26T14:14:00.093" LastActivityDate="2012-07-27T19:47:23.640" Title="Largest set allowing one-step unstructured quantum search" Tags="&lt;quantum-computing&gt;&lt;quantum-information&gt;" AnswerCount="2" CommentCount="3" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="12132" PostTypeId="2" ParentId="12106" CreationDate="2012-07-26T17:05:24.877" Score="2" Body="&lt;p&gt;If your goal is to find a point in $P$ or determine that $P$ is empty, why don't you do the following.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $H$ be a set of half-spaces, initially empty.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $x$ be a point, initially equal to $0^k$.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Give $x$ to the oracle.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;If the oracle said $x \in P$, you've done.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Otherwise, let $S$ be the violated half-space returned by the oracle. Let $y$ be the orthogonal projection of $x$ on $S$.  &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;If there exists at least one $T \in H$ such that $y \not \in T$, then you've done: $P$ is empty.&lt;/li&gt;&#xA;&lt;li&gt;Otherwise set $H := H \cup \{S\}$, and set $x := y$.  &lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Go back to 1.    &lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="947" LastEditorUserId="947" LastEditDate="2012-07-27T08:54:28.790" LastActivityDate="2012-07-27T08:54:28.790" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="12134" PostTypeId="1" AcceptedAnswerId="12135" CreationDate="2012-07-26T19:46:20.577" Score="9" ViewCount="565" Body="&lt;p&gt;This is a soft question aimed at establishing what people think is the professional best-practise for submitting &lt;em&gt;unoriginal&lt;/em&gt; work on the arXiv.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is a draft of an article [1] by Robert Szelepcsényi, at his webspace at the University of Chicago, apparently written more than a decade ago during his graduate studies. The work seems to be  correct, modulo some very minor errors, and contains a result that I would like to refer to, independently of what the University of Chicago intends to do with that webspace. It seems to be available only at that single location; and there doesn't seem to be any publicly available works which duplicate his results.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Partly for the sake of ensuring its correctness, I have taken it upon myself to write notes recapitulating the results and motivations of that draft, acknowledging that it is essentially a recapitulation of [1], and which hopefully smooths over some of the roughness present in the existing draft. I can certainly put these notes online on webspace of my own, but at present the arXiv seems to be the most responsible place to submit this draft for future reference.&lt;/p&gt;&#xA;&#xA;&lt;h3&gt;Question.&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;Assuming correct attribution, and granted that these results are not widely available otherwise, is there any particular reason that I should not submit my draft of Szelepcsényi's results on the arXiv?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] &lt;a href=&quot;http://people.cs.uchicago.edu/~robert/papers/mod-log.ps&quot;&gt;Logspace MOD Classes with Composite Moduli (Preliminary Version)&lt;/a&gt; &amp;mdash; Postscript File&lt;/p&gt;&#xA;" OwnerUserId="248" LastEditorUserId="5385" LastEditDate="2012-07-26T20:03:19.900" LastActivityDate="2012-07-27T21:13:11.263" Title="Submitting other people's work to the arXiv" Tags="&lt;soft-question&gt;&lt;research-practice&gt;" AnswerCount="3" CommentCount="15" CommunityOwnedDate="2012-07-26T20:21:38.297" ContentLicense="CC BY-SA 3.0" />
  <row Id="12135" PostTypeId="2" ParentId="12134" CreationDate="2012-07-26T21:04:06.363" Score="10" Body="&lt;p&gt;This should be perfectly acceptable if it is framed as an exposition article. There is a long tradition of expository articles in mathematics (one example that comes to mind is Thurston's exposition of a method developed by Conway to determine if the plane can be tiled by a given shape, see &lt;a href=&quot;http://www.cimat.mx/ciencia_para_jovenes/pensamiento_matematico/thurston.pdf&quot;&gt;here&lt;/a&gt;). Just make sure that the abstract and the introduction convey that all you're doing is to explain Szelepcsényi's proof.&lt;/p&gt;&#xA;" OwnerUserId="4896" LastActivityDate="2012-07-26T21:04:06.363" CommentCount="3" CommunityOwnedDate="2012-07-26T21:04:06.363" ContentLicense="CC BY-SA 3.0" />
  <row Id="12136" PostTypeId="2" ParentId="12130" CreationDate="2012-07-26T21:09:22.410" Score="0" Body="&lt;p&gt;Lov Grover published an &lt;a href=&quot;http://prl.aps.org/abstract/PRL/v79/i23/p4709_1&quot; rel=&quot;nofollow&quot;&gt;article&lt;/a&gt; in 1997 in which he shows that if you can query the database on multiple items, then a single query suffices to find the marked element. However, it requires a number of preprocessing and postprocessing steps in $\Omega(N\log N)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you let $S_1, \dots, S_N$ denote the elements of the database, you query the oracle with the string $S_{i_1}, \dots, S_{i_\eta}$ for some number $\eta$ and the oracle returns $1$ if the marked state appears an odd number of times in the string and $0$ if it appears an even number of times. You query this oracle on a superposition $(|S_1\rangle+ \dots+ |S_N\rangle)^\eta$ and then apply the inversion about the mean operator from Grover's algorithm. Now in each the the $\eta$ subsystems, the marked element has a greater amplitude than the unmarked ones. Measuring all subsystems yield the marked state with greater probability and to have sufficient certitude about the resulting state, $\eta$ must be in $\Omega(N\log N)$.&lt;/p&gt;&#xA;" OwnerUserId="507" LastActivityDate="2012-07-26T21:09:22.410" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="12137" PostTypeId="2" ParentId="12130" CreationDate="2012-07-26T21:33:56.740" Score="6" Body="&lt;p&gt;Perhaps a more appropriate for your question: Dong Pyo Chi and Jinsoo Kim showed that for any &quot;Grover-like&quot; algorithm, in which we may change the phase of the diffusion operator and the oracle gate from $-1$ to possibly independent and arbitrary complex phases, a marked element can be found with a single query if &lt;strong&gt;and only if&lt;/strong&gt; there are at least $N/4$ marked items. &lt;a href=&quot;http://www.springerlink.com/content/a50j9m6dxld2vlxa/&quot;&gt;Here&lt;/a&gt; is a link to their article.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that the case $t=N/4$ was discovered earlier by Brassard, Boyer, Hoyer and Tapp.&lt;/p&gt;&#xA;" OwnerUserId="507" LastEditorUserId="248" LastEditDate="2012-07-27T19:47:23.640" LastActivityDate="2012-07-27T19:47:23.640" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="12138" PostTypeId="1" AcceptedAnswerId="12143" CreationDate="2012-07-26T23:58:02.270" Score="3" ViewCount="542" Body="&lt;p&gt;I have $N$ bins with capacity $M$ and $k$ objects with size $s_i$. The goal is to pack these objects in the bins. Until now it is similar to the bin-packing problem. But the twist is that each object has a partial overlap with others. So while object 1 and 2 have sizes $s_1$ and $s_2$, when I put them in the same bin the filled space will be $s_1+s_2-O_{12}$ where $O_{12}\ge0$. Note that for 3 objects it is $s_1+s_2+s_3-O_{12}-O_{23}-O_{13}+O_{123}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there any approximation algorithm like the ones for original bin-packing for this problem too?&lt;/p&gt;&#xA;" OwnerUserId="10188" LastEditorUserId="186" LastEditDate="2012-07-27T20:56:17.510" LastActivityDate="2012-08-01T17:23:04.617" Title="bin packing with overlapping objects" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;&lt;approximation-algorithms&gt;&lt;packing&gt;" AnswerCount="3" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12140" PostTypeId="2" ParentId="12112" CreationDate="2012-07-27T02:08:28.553" Score="2" Body="&lt;p&gt;Your intuition is in a certain sense correct. By straightforward linear&#xA;algebra we can find the electric potential of each node in the&#xA;graph, given the net current from source to sink.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now we can calculate the probability distribution of the path taken&#xA;by the electric current through the graph. By the second law of thermodynamics,&#xA;(that no process may independently cause a decrease in entropy,) it&#xA;is impossible for electric current to independently flow from a lower&#xA;to a higher potential, and even by the first law (conservation of&#xA;energy,) it is impossible for current to flow between nodes of equal&#xA;potential through a non-zero resistance. So every edge in the graph&#xA;is directed from a higher to a lower potential, any edges of zero resistance are identified to a single node, and any non-zero-resistance edges between&#xA;nodes of equal potential are eliminated. Thus the graph is &lt;a href=&quot;http://en.wikipedia.org/wiki/Directed_acyclic_graph&quot; rel=&quot;nofollow&quot;&gt;directed&#xA;and acyclic&lt;/a&gt;, and the path taken by the electric current from the source&#xA;node to the sink node is a finite &lt;a href=&quot;http://en.wikipedia.org/wiki/Markov_chain&quot; rel=&quot;nofollow&quot;&gt;Markov chain&lt;/a&gt;,&#xA;because we are confident that an electric current will take an independent&#xA;and memoryless path through the given graph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The Markov transition probability of each edge in the graph is then&#xA;given by the ratio of the current through that edge to the total (gross, not net!) current flowing out from the same node:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$P(T_{ij})=&#xA;\frac{(I_{ij})_+}{\sum_k (I_{ik})_+}=&#xA;\frac{\frac 1 {R_{ij}}(E_{i}-E_{j})_{+}}{\sum_{k}\frac 1 {R_{ik}}(E_{i}-E_{k})_{+}}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where we have denoted the &lt;a href=&quot;http://en.wikipedia.org/wiki/Positive_and_negative_parts&quot; rel=&quot;nofollow&quot;&gt;positive part&lt;/a&gt; of a parenthesized expression&#xA;by a subscript &quot;+&quot;. If we compute the &lt;a href=&quot;http://en.wikipedia.org/wiki/Self-information&quot; rel=&quot;nofollow&quot;&gt;self-information&lt;/a&gt; of each&#xA;edge&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$S(T_{ij})=-\log P(T_{ij})$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;then the shortest path weighted additively by self-information is indeed the&#xA;most likely path taken by the electric current, and &lt;strong&gt;the current that&#xA;actually traverses that entire path&lt;/strong&gt; is equal to the total current times the product of the Markov transition probabilities of all the edges along that path.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, as to your question the shortest path weighted by Markov self-information is not necessarily the shortest path weighted by resistance, (because of the effects of &quot;crowding out&quot; by current taking other paths sharing the same edge.)&lt;/p&gt;&#xA;" OwnerUserId="10168" LastActivityDate="2012-07-27T02:08:28.553" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="12141" PostTypeId="2" ParentId="12138" CreationDate="2012-07-27T04:19:04.970" Score="1" Body="&lt;p&gt;So, each object is a set and the size of a collection of objects is the size of their union, right?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I don't have a proof, but my guess is that the problem is hard/difficult.  Here's why:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One special case of the problem is this: when all objects correspond to sets of size 2, then we have the following graph problem (each object corresponds to an edge of the graph): given a graph G, cover its edges with the minimum number of complete graphs of size M. The more general problem is essentially the hypergraph version of this problem. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Observation: this problem is essentially a set cover problem (with sets corresponding to M-subsets of the vertices of graphs, and covering all edges that are contained in that subset). So, the greedy algorithm that each time picks the set that covers most uncovered objects is a log(k) approximation to the optimal. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Unfortunately, this algorithm is not poly-time in general, since computing the set that covers the maximum number of uncovered objects is equivalent to the densest M-subgraph problem, which is believed to be a hard problem.&lt;/p&gt;&#xA;" OwnerUserId="10201" LastActivityDate="2012-07-27T04:19:04.970" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12142" PostTypeId="2" ParentId="815" CreationDate="2012-07-27T04:54:48.843" Score="4" Body="&lt;p&gt;The problem is NP-hard. Proof is by reduction from the following problem:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a tripartite graph $G$ with $N$ vertices in each part, are there $N$ vertex-disjoint triangles in $G$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here's the reduction: given an instance $G$ of the above problem, let $A_1$, $A_2$, $A_3$ denote the set of vertices in each part of $G$, and $E_{ij}$ be the set of edges between $A_i$ and $A_j$. Also, number the vertices in each part by $1,\dotsc,N$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We construct an instance of your problem with $n = |E(G)| + M$, where $M$ is a large number (say, $M = 10 |E(G)|$), and $p = N + 1$.  The first $|E(G)|$ elements of $\{1,\dotsc,n\}$ correspond to the edges of $G$.  The partition $P$ is defined as follows: $P_i$ for $i=1,\dotsc,N$ is the set of edges that have the $i$th vertex of $A_1$ as one of their endpoints. Clearly these sets are disjoint and their union is $E_{1,2} \cup E_{1,3}$. $P_{N+1}$ is everything else, i.e., $E_{2,3} \cup \{|E(G)| + 1, \dotsc, |E(G)| + M\}$. Similarly, we define $Q$ using $A_2$ instead of $A_1$, and $R$ using $A_3$ instead of $A_1$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, we claim is that this instance has a solution of cost at most $3|E(G)| - 3N + M$ if and only if $G$ has $N$ disjoint triangles. To see this, first notice that since $M$ is large, any solution that has cost less than $2 M$ must map $P_{N+1}$ to $Q_{N+1}$ and $R_{N+1}$. This already accounts for $|E(G)| + M$ of the total cost, so we are left with $2 |E(G)| - 3 N$. Now, note that the intersection of each $P_i$ and each $Q_j$ is at most one (and similarly for $P_i$ and $R_k$, and also for $Q_j$ and $R_k$). So, the objective function is minimized if all these intersections can be 1 at the same time. This corresponds to $N$ disjoint triangles in $G$.&lt;/p&gt;&#xA;" OwnerUserId="10201" LastEditorUserId="3964" LastEditDate="2012-07-27T18:53:12.443" LastActivityDate="2012-07-27T18:53:12.443" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12143" PostTypeId="2" ParentId="12138" CreationDate="2012-07-27T04:58:09.243" Score="5" Body="&lt;p&gt;Your problem is a generalization of the sharing-aware virtual machine colocation problem, and so hard to approximate.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Read this paper for more information:&#xA;&lt;a href=&quot;http://lass.cs.umass.edu/papers/pdf/SindelarSS11.pdf&quot;&gt;Michael Sindelar, Ramesh K. Sitaraman, Prashant J. Shenoy: Sharing-aware algorithms for virtual machine colocation. SPAA 2011: 367-378&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="3825" LastActivityDate="2012-07-27T04:58:09.243" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12144" PostTypeId="2" ParentId="9165" CreationDate="2012-07-27T05:14:11.063" Score="7" Body="&lt;p&gt;You can write the problem as an LP, can't you?  For any two vertices u, v, and any path P from u to v, the weight of P is greater than or equal to the weight of the given shortest path between u and v. These are all linear inequalities, and even though there are exponentially many, the separation problem is in P (it's just an all-pairs shortest path problem).  So, you can use the Ellipsoid algorithm to solve it.&lt;/p&gt;&#xA;" OwnerUserId="10201" LastActivityDate="2012-07-27T05:14:11.063" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12145" PostTypeId="2" ParentId="12134" CreationDate="2012-07-27T09:23:57.303" Score="7" Body="&lt;p&gt;Depending on what you want to do with it, a possible alternative is to just fold it into the work you're doing, i.e. recapitulate the results, with clear attribution, but inside your work. The results in Szelepcsenyi's paper don't seem to take up too much space to do this with a journal paper. It'd be a bad idea with a conference paper. Of course if you're not sure about where this might be published in any reasonable time frame then a purely expository paper is a better idea.&lt;/p&gt;&#xA;" OwnerUserId="9520" LastActivityDate="2012-07-27T09:23:57.303" CommentCount="1" CommunityOwnedDate="2012-07-27T09:23:57.303" ContentLicense="CC BY-SA 3.0" />
  <row Id="12146" PostTypeId="2" ParentId="12052" CreationDate="2012-07-27T09:24:11.853" Score="1" Body="&lt;p&gt;Go read Knuth, The Art of Computer Programming, where he gives definitions similar to what you mention.  It appears that he gives exactly one reference, namely to a book by A. A. Markov from 1951 called Theory of Algorithms.  This may or may not be what you want.  &lt;/p&gt;&#xA;" OwnerUserId="8067" LastActivityDate="2012-07-27T09:24:11.853" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12147" PostTypeId="1" AcceptedAnswerId="12149" CreationDate="2012-07-27T12:13:53.297" Score="9" ViewCount="1418" Body="&lt;p&gt;I know that the &lt;em&gt;expected&lt;/em&gt; worst-case runtime of the randomized incremental delaunay triangulation algorithm (as given in &lt;a href=&quot;http://www.cs.uu.nl/geobook/&quot;&gt;Computational Geometry&lt;/a&gt;) is $\mathcal O(n \log n)$.&#xA;There is an exercise which implies the worst-case runtime is $\Omega(n^2)$.&#xA;I've tried to construct an example where this actually is the case but haven't been successful so far.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One of those tries was to arrange and order the point set in a manner such that, when adding a point $p_r$ in step $r$, about $r-1$ edges are created.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another approach might involve the point-location structure:&#xA;Try to arrange the points such that the path taken in the point-location structure for locating a point $p_r$ in step $r$ is as long as possible.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Still, I'm unsure which of these two approaches is correct (if at all) and would be glad for some hints.&lt;/p&gt;&#xA;" OwnerUserId="10202" LastEditorUserId="186" LastEditDate="2012-07-27T21:51:30.733" LastActivityDate="2012-07-27T21:51:30.733" Title="What is the worst case of the randomized incremental delaunay triangulation algorithm?" Tags="&lt;ds.algorithms&gt;&lt;randomized-algorithms&gt;&lt;delaunay-triangulation&gt;&lt;worst-case&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12148" PostTypeId="1" AcceptedAnswerId="12170" CreationDate="2012-07-27T13:54:24.177" Score="1" ViewCount="228" Body="&lt;p&gt;There are two well-known mapping reducibilities: polytime and logspace. In both cases, the length of the output string can be at most polynomial in the length of a given input string. If we allow to use more space (super-logspace), then the length of the output string can be super-polynomial. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Therefore, it seems interesting to me to ask whether this blow-up helps us to reduce some difficult problems to some easier problems when using super-logspace $ \left(\omega(\log n) \right) $. I am not interested in the &quot;cheap&quot; tricks such as padding.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More generally, is there any literature on super-logspace (or super-polynomial) mapping reducibility? &lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;DEFINITION&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Language $ \mathtt{A} $ is $s(n)$-space mapping reducible to language $ \mathtt{B} $, shown as $ \mathtt{A} \le_{m}^{s} \mathtt{B} $, if there exists a $ s(n) $-space DTM $ \mathcal{D} $ outputting $ f_{\mathcal{D}} (w) $ for a given input $ w $ such that &lt;/p&gt;&#xA;&#xA;&lt;p&gt;\begin{equation*}&#xA; w \in \mathtt{A} \mbox{ if and only if } f_{\mathcal{D}} (w) \in \mathtt{B},&#xA;\end{equation*}&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where $ \mathcal{D} $ has a two-way read-only input tape, a two-way read/write work tape, and a one-way write-only output tape.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;UPDATE:&lt;/strong&gt;&#xA;I have found an answer to my own question. But, I am still interested in further results. &lt;/p&gt;&#xA;" OwnerUserId="7358" LastEditorUserId="7358" LastEditDate="2012-07-30T15:26:17.193" LastActivityDate="2012-09-28T16:08:47.280" Title="Super-logspace mapping reducibility" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;reductions&gt;&lt;space-bounded&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="12149" PostTypeId="2" ParentId="12147" CreationDate="2012-07-27T15:35:58.923" Score="9" Body="&lt;p&gt;The first approach can be formalized as follows.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $P$ be an arbitrary set of $n$ points on the positive branch of the parabola $y=x^2$; that is,&#xA;$$&#xA;P = \{ (t_1, t_1^2), (t_2, t_2^2), \dots, (t_n, t_n^2) \}&#xA;$$&#xA;for some positive real numbers $t_1, t_2, \dots, t_n$.  Without loss of generality, assume these points are indexed in increasing order: $0 &amp;lt; t_1 &amp;lt; t_2 &amp;lt; \cdots &amp;lt; t_n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Claim:&lt;/strong&gt; &lt;em&gt;In the Delaunay triangulation of $P$, the leftmost point $(t_1, t_1^2)$ is a neighbor of every other point in $P$.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This claim implies that adding a new point $(t_0, t_0^2)$ to $P$ with $0 &amp;lt; t_0 &amp;lt; t_1$ adds $n$ new edges to the Delaunay triangulation.  Thus, inductively, if we incrementally contract the Delaunay triangulation of $P$ by inserting the points &lt;em&gt;in right-to-left order&lt;/em&gt;, the total number of Delaunay edges created is $\Omega(n^2)$.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;We can prove the claim as follows.  For any real values $0&amp;lt;a&amp;lt;b&amp;lt;c$, let $C(a,b,c)$ denote the unique circle through the points $(a,a^2), (b,b^2), (c,c^2)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Lemma:&lt;/strong&gt; &lt;em&gt;$C(a,b,c)$ does not contain any point $(t,t^2)$ where $a&amp;lt;t&amp;lt;b$ or $c&amp;lt;t$.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Proof:&lt;/strong&gt; Recall that four points $(a,b), (c,d), (e,f), (g,h)$ are cocircular if and only if &#xA;$$&#xA;\begin{vmatrix}&#xA;1 &amp;amp; a &amp;amp; b &amp;amp; a^2 + b^2 \\&#xA;1 &amp;amp; c &amp;amp; d &amp;amp; c^2 + d^2 \\&#xA;1 &amp;amp; e &amp;amp; f &amp;amp; e^2 + f^2 \\&#xA;1 &amp;amp; g &amp;amp; h &amp;amp; g^2 + h^2 \\&#xA;\end{vmatrix}&#xA;=&#xA;0&#xA;$$&#xA;Thus, a point $(t,t^2)$ lies on the circle $C(a,b,c)$ if and only if&#xA;$$&#xA;\begin{vmatrix}&#xA;1 &amp;amp; a &amp;amp; a^2 &amp;amp; a^2 + a^4 \\&#xA;1 &amp;amp; b &amp;amp; b^2 &amp;amp; b^2 + b^4 \\&#xA;1 &amp;amp; c &amp;amp; c^2 &amp;amp; c^2 + c^4 \\&#xA;1 &amp;amp; t &amp;amp; t^2 &amp;amp; t^2 + t^4 \\&#xA;\end{vmatrix}&#xA;=&#xA;0&#xA;$$&#xA;It's not hard (for example, ask Wolfram Alpha) to expand and factor the $4\times4$ determinant into the following form:&#xA;$$&#xA;(a-b)(a-c)(b-c)(a-t)(b-t)(c-t)(a+b+c+t) = 0&#xA;\tag{$*$}&#xA;$$&#xA;Thus, $(t,t^2)$ lies on $C(a,b,c)$ if and only if $t=a$, $t=b$, $t=c$, or $t=-a-b-c &amp;lt; 0$.  Moreover, because $0&amp;lt;a&amp;lt;b&amp;lt;c$, these four roots are distinct, which implies that the parabola actually crosses $C(a,b,c)$ at those four points.  It follows that $(t,t^2)$ lies &lt;em&gt;inside&lt;/em&gt; $C(a,b,c)$ if and only if $-a-b-c&amp;lt;t&amp;lt;a$ or $b&amp;lt;t&amp;lt;c$.$\qquad\Box$&lt;/p&gt;&#xA;" OwnerUserId="111" LastActivityDate="2012-07-27T15:35:58.923" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12150" PostTypeId="2" ParentId="6100" CreationDate="2012-07-27T15:50:23.330" Score="4" Body="&lt;p&gt;From what i know, The BSP and LogP models are used today for distributed algorithms. Also, since GPU computing, the PRAM as become again popular, however one should include the memory hierarchies in the analysis.&#xA;You can check the UPMH model (Uniform Parallel memory hierarchy) which complements nicely to PRAM.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;B. Alpern, L. Carter, E. Feig, and T. Selker. The uniform memory hierarchy model of&#xA;computation. Algorithmica, 12:72–109, 1994. 10.1007/BF01185206.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Bowen Alpern, Larry Carter, and Jeanne Ferrante. Modeling parallel computers as memory&#xA;hierarchies. In In Proc. Programming Models for Massively Parallel Computers, pages 116–&#xA;123. IEEE Computer Society Press, 1993.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also for GPU computing, there has been a proposal for a theoretical computing model; the K-model:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Gabriele Capannini, Fabrizio Silvestri, and Ranieri Baraglia. K-model: A new computational&#xA;model for stream processors. In Proceedings of the 2010 IEEE 12th International Conference&#xA;on High Performance Computing and Communications, HPCC ’10, pages 239–246, Washing-&#xA;ton, DC, USA, 2010. IEEE Computer Society.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Lastly, i've seen cellular automata (CA) modelled as parallel computers, personally i think this is a very interesting research topic. Who knows in the future processors will be made this way, like little spaces of computation. I do not have a solid reference for this, you can look in the web.&lt;/p&gt;&#xA;" OwnerUserId="9917" LastEditorUserId="9917" LastEditDate="2012-07-27T16:10:09.483" LastActivityDate="2012-07-27T16:10:09.483" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12151" PostTypeId="2" ParentId="12124" CreationDate="2012-07-27T17:56:36.737" Score="11" Body="&lt;p&gt;It is actually possible to make use of random restrictions to prove lower bounds for threshold circuits.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In particular in the paper &lt;a href=&quot;http://dx.doi.org/10.1137/S0097539792282965&quot;&gt;Size-Depth Tradeoffs for Threshold Circuits&lt;/a&gt;, Impagliazzo, Paturi, and Saks use random restrictions to prove a superliner lower bound (on the number of wires) for constant depth threshold circuits computing the parity function.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;With regards to proving superpolynomial lower bounds for $\mathsf{TC}^0$&#xA; circuits then yes, the natural proof concept is of relevance since there are &lt;a href=&quot;http://dx.doi.org/10.1145/972639.972643&quot;&gt;constructions&lt;/a&gt; of pseudo-random function generators in $\mathsf{TC}^0$.&lt;/p&gt;&#xA;" OwnerUserId="313" LastActivityDate="2012-07-27T17:56:36.737" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12153" PostTypeId="2" ParentId="12134" CreationDate="2012-07-27T21:13:11.263" Score="1" Body="&lt;p&gt;I think this is tricky territory.  The author of any creative work legally owns the copyright for that work unless he/she cedes it to another party.  Notwithstanding the legal issues, any researcher would naturally feel that they have ownership of their work.  So, publishing it (and I believe putting it on arXiv is a method of publication) without their permission would be unseemly.  Putting it on one's own web page would be less confrontational.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is perfectly acceptable, however, to cite a draft paper that sits on somebody's web space.  It does not need to be on arXiv to be cited.&lt;/p&gt;&#xA;" OwnerUserId="8519" LastActivityDate="2012-07-27T21:13:11.263" CommentCount="9" CommunityOwnedDate="2012-07-27T21:13:11.263" ContentLicense="CC BY-SA 3.0" />
  <row Id="12155" PostTypeId="1" CreationDate="2012-07-28T09:54:00.960" Score="4" ViewCount="330" Body="&lt;p&gt;I'm studying &quot;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.50.4048&quot; rel=&quot;nofollow&quot;&gt;A simple proof of a theorem of Statman&lt;/a&gt;&quot; by H.G. Mairson.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;At page 4, he encodes set/type theory in lambda calculus.&#xA;In particular, note che &quot;op&quot; trick in the definition of $eq_{k+1}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Mairson stress the fact that this trick is essential, because writing $subset_{k+1}$ twice would cause exponential blowup in term size.&#xA;I'm asking why! That would not just double the term size? &lt;/p&gt;&#xA;" OwnerUserId="2707" LastEditorUserId="186" LastEditDate="2012-08-31T18:00:11.023" LastActivityDate="2012-08-31T18:00:11.023" Title="Exponential blowup in Simple Proof of a theorem of Statman by Mairson" Tags="&lt;lo.logic&gt;&lt;lower-bounds&gt;&lt;lambda-calculus&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12156" PostTypeId="1" CreationDate="2012-07-28T10:16:59.100" Score="20" ViewCount="1438" Body="&lt;p&gt;The standard approach to simply typed lambda calculus considers computations over Church numerals. &#xA;If input and outputs are Church numerals always typed as $Int$, where $Int = (\tau \rightarrow \tau) \rightarrow \tau \rightarrow \tau $, a result of Schwichtenberg showed that expressible functions are the &lt;strong&gt;extended polynomials&lt;/strong&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If inputs are Church numerals given more complex types than $Int$, exponentiation and predecessor can be expressed (however Statman showed that equality, ordering and subtraction are not expressibile for any typing of church numerals.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However we should be more permissive and provide only an output restriction: a boolean type ( $Bool = \tau \rightarrow \tau \rightarrow \tau $).&#xA;Under this convention, &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.50.4048&quot;&gt;Statman's theorem&lt;/a&gt; that &quot;deciding equivalence of normal forms of two simply typed lambda-terms is not elementary recursive&quot; can be seen as an expressibility result (right?): we can express nonelementary functions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Pushing to the limit, where we can arrive?&#xA;Of course (by strong normalization) we can express only total functions. But I'm asking if there is a precise upper bound to simply typed lambda calculus expressive power.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I've found many articles, in particular &quot;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.23.8845&quot;&gt;On the expressive power of simply typed and let-polymorphic lambda calculi&lt;/a&gt;&quot; but I'm not able to understand if it is what I'm looking for.&lt;/p&gt;&#xA;" OwnerUserId="2707" LastEditorUserId="-1" LastEditDate="2012-11-11T06:16:38.203" LastActivityDate="2012-11-11T06:16:38.203" Title="What's the expressive power of Simply Typed Lambda calculus?" Tags="&lt;lo.logic&gt;&lt;lambda-calculus&gt;&lt;upper-bounds&gt;" AnswerCount="0" CommentCount="7" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="12157" PostTypeId="2" ParentId="6100" CreationDate="2012-07-28T20:09:07.017" Score="-6" Body="&lt;p&gt;this will be considered controversial by some, and even proponents of this angle will have to admit its in the early stages of research, but basically &lt;b&gt;quantum computing&lt;/b&gt; seems to have many connections to parallelism and parallel computation. the references are right now scattered but an emerging theme can be seen by a determined researcher.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;maybe the best connection is with &lt;a href=&quot;http://en.wikipedia.org/wiki/Grover%27s_algorithm&quot; rel=&quot;nofollow&quot;&gt;Grovers search algorithm&lt;/a&gt; which has recently been shown to be more general in the sense of being usable for speedup on most NP complete problems in general[5]. Grovers algorithm seems to have a strong analogy/connection with parallel database search algorithms. the best classical serial algorithms cannot meet the same performance but at least one authority recently argues that QM approaches for search actually do not outperform parallelized classical algorithms.[1]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;further evidence are schemes that explicitly look at the parallelism in quantum search eg [2]. also quantum simulator(s) have been proposed that are based on parallel/distributed processing[3][4] and because the scheme fits well &amp;amp; leads to efficient and tractable simulations (30 qubits are simulated in ref [3]), this conversion is surely not merely a coincidence and indicates a deeper bridge between parallel classical computing and QM computing, but probably so-far uncovered.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] &lt;a href=&quot;http://web.eecs.umich.edu/~imarkov/pubs/jour/cise05-grov.pdf&quot; rel=&quot;nofollow&quot;&gt;Is quantum search practical?&lt;/a&gt; by Viamontes et al&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] &lt;a href=&quot;http://pra.aps.org/abstract/PRA/v78/i1/e012303&quot; rel=&quot;nofollow&quot;&gt;Exact quantum search by parallel unitary discrimination schemes&lt;/a&gt; by Wu/Dian&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[3] &lt;a href=&quot;http://arxiv.org/pdf/quant-ph/0201042.pdf&quot; rel=&quot;nofollow&quot;&gt;General purpose parallel simulator for quantum computing&lt;/a&gt; by Niwa, Matsumoto, Imai.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[4] &lt;a href=&quot;http://arxiv.org/pdf/1207.2307.pdf&quot; rel=&quot;nofollow&quot;&gt;efficient distributed quantum computing&lt;/a&gt; by Beals et al 2012&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[5] &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=1792918.1792985&quot; rel=&quot;nofollow&quot;&gt;Solving NP complete problems with quantum search&lt;/a&gt; by Furer 2008&lt;/p&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2012-07-28T20:09:07.017" CommentCount="12" ContentLicense="CC BY-SA 3.0" />
  <row Id="12159" PostTypeId="2" ParentId="6100" CreationDate="2012-07-28T20:24:21.990" Score="-3" Body="&lt;p&gt;you mention Cloud computing specifically. there has been within just a few years intense innovation in this area with the &lt;a href=&quot;http://aws.amazon.com/ec2/&quot; rel=&quot;nofollow&quot;&gt;Amazon elastic compute cloud,&lt;/a&gt; the &lt;a href=&quot;https://developers.google.com/appengine/&quot; rel=&quot;nofollow&quot;&gt;google app engine&lt;/a&gt; &amp;amp; various tools and their associated conceptual parallel processing &quot;models&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;special open source tools include google's &lt;a href=&quot;http://en.wikipedia.org/wiki/MapReduce&quot; rel=&quot;nofollow&quot;&gt;Mapreduce&lt;/a&gt;, Apache &lt;a href=&quot;http://en.wikipedia.org/wiki/Hadoop&quot; rel=&quot;nofollow&quot;&gt;Hadoop,&lt;/a&gt; and &lt;a href=&quot;http://en.wikipedia.org/wiki/Hadoop&quot; rel=&quot;nofollow&quot;&gt;NoSQL&lt;/a&gt; databases which are emerging as new, strong, widely-adapted standards in parallelization algorithm &quot;best practices&quot; and &quot;design patterns&quot;. also &lt;a href=&quot;http://en.wikipedia.org/wiki/Hadoop&quot; rel=&quot;nofollow&quot;&gt;memcacheD&lt;/a&gt; is increasingly being used as an in-memory distributed database. an example of this is in use at Facebook described in a recent paper [1].&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] &lt;a href=&quot;http://gigaom2.files.wordpress.com/2011/07/facebook-tilera-whitepaper.pdf&quot; rel=&quot;nofollow&quot;&gt;Many core key-value store&lt;/a&gt; by Berezecki et al &lt;/p&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2012-07-28T20:24:21.990" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="12162" PostTypeId="1" AcceptedAnswerId="12168" CreationDate="2012-07-29T05:46:48.047" Score="48" ViewCount="4589" Body="&lt;p&gt;I remember I might have encountered references to problems that have been proven to be solvable with a particular complexity, but with no known algorithm to actually reach this complexity.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I struggle wrapping my mind around how this can be the case; how a non-constructive proof for the existence of an algorithm would look like.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Do there actually exist such problems? Do they have a lot of practical value?&lt;/p&gt;&#xA;" OwnerUserId="326" LastActivityDate="2012-08-11T20:01:18.213" Title="Are there non-constructive algorithm existence proofs?" Tags="&lt;ds.algorithms&gt;&lt;soft-question&gt;&lt;lo.logic&gt;&lt;proofs&gt;" AnswerCount="8" CommentCount="10" FavoriteCount="19" ContentLicense="CC BY-SA 3.0" />
  <row Id="12164" PostTypeId="2" ParentId="12162" CreationDate="2012-07-29T13:38:28.910" Score="8" Body="&lt;p&gt;Yes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;At one point in (1), the complex-weighted counting graph homomorphism dichotomy theorem for any finite domain size, Cai, Chen, and Lu only prove the existence of a polynomial-time reduction between two counting problems via polynomial interpolation.  I don't know of any practical value for such an algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See Section 4 of the arXiv version.  The lemma in question is Lemma 4.1, called the &quot;First Pinning Lemma&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One way to make this proof constructive is to prove the complex-weighted version of a &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0195669805000788&quot; rel=&quot;nofollow&quot;&gt;result of Lovasz&lt;/a&gt;, namely:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For all $G$, $Z_H(G, w, i) = Z_H(G, w, j)$ iff there exists an automorphism $f$ of $G$ such that $f(i) = j$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here, $w$ is a vertex in $H$, $i$ and $j$ are vertices in $G$, and $Z_H(G, w, i)$ is the sum over all complex-weighted graph homomorphisms from $G$ to $H$ with the added restriction that $i$ must be mapped to $w$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;(1) Jin-Yi Cai, Xi Chen and  Pinyan Lu, Graph Homomorphisms with Complex Values: A Dichotomy Theorem (&lt;a href=&quot;http://arxiv.org/abs/0903.4728&quot; rel=&quot;nofollow&quot;&gt;arXiv&lt;/a&gt;) (&lt;a href=&quot;http://www.springerlink.com/content/46275700132p5250/&quot; rel=&quot;nofollow&quot;&gt;ICALP 2010&lt;/a&gt;)&lt;/p&gt;&#xA;" OwnerUserId="3964" LastEditorUserId="3964" LastEditDate="2012-07-31T11:53:47.183" LastActivityDate="2012-07-31T11:53:47.183" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12165" PostTypeId="2" ParentId="12162" CreationDate="2012-07-29T16:36:42.340" Score="28" Body="&lt;p&gt;This may not be &lt;em&gt;exactly&lt;/em&gt; what you mean, but Seth Pettie and Vijaya Ramachandran's &lt;a href=&quot;http://www.cs.utexas.edu/~vlr/papers/optmsf-jacm.pdf&quot;&gt;optimal minimum spanning tree algorithm&lt;/a&gt; is in some sense non-constructive.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is an open question whether there is a deterministic algorithm to compute minimum spanning trees in linear (meaning $O(n+m)$) time.  Pettie and Ramachandran describe an algorithm that computes MSTs in linear time &lt;em&gt;if such an algorithm exists&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Intuitively, their algorithm reduces any $n$-vertex instance of the MST problem to $O(n/k)$ smaller instances with $O(k)$ vertices in linear time, where (say) $k = O(\log\log\log\log\log\log\log n)$.  Then they compute &lt;strong&gt;the optimal comparison tree&lt;/strong&gt; that computes the minimum spanning tree of any $k$-vertex graph by brute force enumeration; even if this takes quintuply exponential time in $k$, that's only $O(\log\log n)$ time.  Finally, they solve the small instances using this optimal decision tree.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In other words, Pettie and Ramachandran construct an optimal MST algorithm only indirectly, by constructing an algorithm that constructs an optimal MST algorithm.&lt;/p&gt;&#xA;" OwnerUserId="111" LastActivityDate="2012-07-29T16:36:42.340" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="12167" PostTypeId="1" CreationDate="2012-07-30T04:27:00.080" Score="0" ViewCount="154" Body="&lt;p&gt;I have two time-based data sources (one providing data by month and the other by week) that must be combined to create a third daily source (recognizing that at best we're getting one possible projection of those two data sources).  To make things really interesting, they do not cover entirely the same timeframe (the monthly stops at the most recent month end at least 45 days ago, while the weekly data covers only the last six weeks).  The main issue (for me) is addressing the days where the two datasources overlap.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Not looking for someone to give me a fish, but for some papers on how to fish (actually, I hate fishing).&lt;/p&gt;&#xA;" OwnerUserId="10213" LastEditorUserId="4483" LastEditDate="2012-08-27T04:35:19.437" LastActivityDate="2012-08-27T04:35:19.437" Title="Combining multiple time-based datasources with different periods" Tags="&lt;ds.data-structures&gt;&lt;db.databases&gt;&lt;data-sets&gt;&lt;ir.information-retrieval&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12168" PostTypeId="2" ParentId="12162" CreationDate="2012-07-30T08:52:55.277" Score="36" Body="&lt;p&gt;Consider the function (taken from &lt;a href=&quot;https://cs.stackexchange.com/q/367/98&quot;&gt;here&lt;/a&gt;)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\qquad \displaystyle f(n) = \begin{cases} 1 &amp;amp; 0^n \text{ occurs in the decimal representation of } \pi \\ 0 &amp;amp; \text{else}\end{cases}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Despite the looks, $f$ is computable by the following argument. Either&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;$0^n$ occurs for every $n$ or&lt;/li&gt;&#xA;&lt;li&gt;there is a $k$ so that $0^k$ occurs but $0^{k+1}$ does not.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;We do not know which it is (yet), but we know that $f \in F = \{f_\infty, f_0, f_1, \dots \}$ with&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;$f_\infty(n) = 1$ and&lt;/li&gt;&#xA;&lt;li&gt;$f_k(n) = [n \leq k]$.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Since $F \subset \mathsf{RE}$, $f$ is computable -- but we can not say what  $f$ is.&lt;/p&gt;&#xA;" OwnerUserId="1546" LastEditorUserId="-1" LastEditDate="2017-04-13T12:48:30.830" LastActivityDate="2012-07-30T08:52:55.277" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="12169" PostTypeId="1" AcceptedAnswerId="12227" CreationDate="2012-07-30T09:54:26.910" Score="13" ViewCount="445" Body="&lt;p&gt;In their seminal paper &lt;em&gt;Group-theoretic algorithms for matrix multiplications&lt;/em&gt;, Cohn, Kleinberg, Szegedy and Umans introduce the concept of uniquely solvable puzzle (defined below) and USP capacity. They claim that Coppersmith and Winograd, in their own groundbreaking paper &lt;em&gt;Matrix multiplication via arithmetic progressions&lt;/em&gt;, &quot;implicitly&quot; prove that the USP capacity is $3/2^{2/3}$. This claim is reiterated in several other places (including here on cstheory), yet nowhere is an explanation to be found. Below is my own understanding on what Coppersmith and Winograd do prove, and why it's not enough.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is it true that the USP capacity is $3/2^{2/3}$? If so, is there a reference for the proof?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;h3&gt;Uniquely solvable puzzles&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;A uniquely solvable puzzle (USP) of length $n$ and width $k$ consists of a subset of $\{1,2,3\}^k$ of size $n$, which we also think of as three collections of $n$ &quot;pieces&quot; (corresponding to the places where the vectors are $1$, the places where they are $2$, and the places where they are $3$), satisfying the following property. Suppose we arrange all the $1$-pieces in $n$ lines. Then there must be a unique way to put the other pieces, one of each type in each line, so that they &quot;fit&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $N(k)$ be the maximum length of a USP of width $k$. The &lt;em&gt;USP capacity&lt;/em&gt; is&#xA;$$ \kappa = \sup_k N(k)^{1/k}. $$&#xA;In a USP, each of the pieces needs to be unique - that means that no two lines contain a symbol $c \in \{1,2,3\}$ in exactly the same places. This shows (after a short argument) that&#xA;$$ N(k) \leq \sum_{a+b+c=k} \min \left\{ \binom{k}{a}, \binom{k}{b}, \binom{k}{c} \right\} \leq \binom{k+2}{2} \binom{k}{k/3}, $$&#xA;and so $\kappa \leq 3/2^{2/3}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Example (a USP of length $4$ and width $4$):&#xA;$$\begin{align*}&#xA;1111 \\ 2131 \\ 1213 \\ 2233&#xA;\end{align*}$$&#xA;Non-example of length $3$ and width $3$, where the $2$- and $3$-pieces can be arranged in two different ways:&#xA;$$\begin{align*}&#xA;123 &amp;amp;&amp;amp; 132 \\ 231 &amp;amp;&amp;amp; 321 \\ 312 &amp;amp;&amp;amp; 213&#xA;\end{align*}$$&lt;/p&gt;&#xA;&#xA;&lt;h3&gt;Coppersmith-Winograd puzzles&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;A Coppersmith-Winograd puzzle (CWP) of length $n$ and width $k$ consists of a subset $S$ of $\{1,2,3\}^k$ of size $n$ in which the &quot;pieces&quot; are unique - for any two $a \neq b \in S$ and $c \in \{1,2,3\}$,&#xA;$$ \{ i \in [k] : a_i = c \} \neq \{ i \in [k] : b_i = c \}. $$&#xA;(They present it somewhat differently.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Every USP is a CWP (as we commented above), hence the CWP capacity $\lambda$ satisfies $\lambda \geq \kappa$. Above we commented that $\lambda \leq 3/2^{2/3}$. Coppersmith and Winograd showed, using a sophisticated argument, that $\lambda = 3/2^{2/3}$. Their argument was simplified by Strassen (see &lt;em&gt;Algebraic complexity theory&lt;/em&gt;). We sketch a simple proof below.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given $k$, let $V$ consist of all vectors containing $k/3$ each of $1$s, $2$s, $3$s. For $c \in \{1,2,3\}$, let $E_c$ consist of all pairs $a,b \in V$ such that $\{ i \in [k] : a_i = c \} = \{ i \in [k] : b_i = c \}$, and put $E = E_1 \cup E_2 \cup E_3$. Every independent set in the graph $G = (V,E)$ is a CWP. It is well-known that every graph has an independent set of size $|V|^2/4|E|$ (proof: select each vertex with probability $|V|/2|E|$, and remove one vertex from each surviving edge). In our case,&#xA;$$ |V| = \binom{k}{k/3} \binom{2k/3}{k/3}, \quad |E| \leq 3|E_1| = \frac{3}{2}\binom{k}{k/3} \binom{2k/3}{k/3}^2. $$&#xA;Hence&#xA;$$ \frac{|V|^2}{4|E|} = \frac{1}{6} \binom{k}{k/3} \Longrightarrow \lambda \geq \frac{3}{2^{2/3}}. $$&lt;/p&gt;&#xA;" OwnerUserId="40" LastEditorUserId="186" LastEditDate="2012-08-03T22:22:58.273" LastActivityDate="2012-08-05T12:36:38.777" Title="Capacity of Uniquely Solvable Puzzle (USP)" Tags="&lt;ds.algorithms&gt;&lt;co.combinatorics&gt;&lt;algebraic-complexity&gt;&lt;matrix-product&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="12170" PostTypeId="2" ParentId="12148" CreationDate="2012-07-30T15:05:36.097" Score="1" Body="&lt;p&gt;In &lt;a href=&quot;http://www.springerlink.com/content/g5005673824gg68n/?CFID=133785327&amp;amp;CFTOKEN=38362984&amp;amp;MUD=MP&quot; rel=&quot;nofollow&quot;&gt;Model Checking Recursive Programs with Numeric Data Types&lt;/a&gt;, Hague and Lin presented a NEXP-complete language under logspace reduction, called $ \mathtt{SUCCINCT~0\mbox{-}1~KNAPSACK} $ composed by strings &lt;/p&gt;&#xA;&#xA;&lt;p&gt;\begin{equation*}&#xA;a^m \# a^k \# \theta,&#xA;\end{equation*} where $ \theta $ is a Boolean formula with variables $ x_1, \ldots, x_{m+k} $ satisfying that the string $ b \# a_1 \# \cdots \# a_{2^k-1} $ defined based on $ \theta $ (described below) is a member of $ \mathtt{KNAPSCAK} $, i.e. $ \sum_{i=1}^{2^k-1} a_i z_i = b $ for some $ z_1, \ldots,z_{2^k-1} \in \{0,1\} $, where $ b $ and each $ a_i $ are precisely $ 2^m $ bits (leading 0s permitted) binary numbers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The string $ b \# a_1 \# \cdots \# a_{2^k-1} $ is defined based on $ \theta $ as follows. Let $ (i)_{2,k} $ be the $ k $-bit binary representation of $ i $.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The $ i^{th} $ bit of $ b $ is the value of $ \theta $ by setting $ x_1,\ldots,x_{k+m} $ to the digits of $ 0^k  (i)_{2,m} $ in order.&lt;/li&gt;&#xA;&lt;li&gt;The $ i^{th} $ bit of $ a_j $ is the value of $ \theta $ by setting $ x_1,\ldots,x_{k+m} $ to the digits of $ (j)_{2,k}  (i)_{2,m} $ in order.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;It is not hard to show that $ \mathtt{SUCCINCT~0\mbox{-}1~KNAPSACK} $ can be reduced to NP-Complete $ \mathtt{KNAPSCAK} $ via &lt;strong&gt;linearspace reduction&lt;/strong&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Moreover, since any language in NEXP is logspace reducible to $ \mathtt{SUCCINCT~0\mbox{-}1~KNAPSACK} $, we can say that any language in NEXP is &lt;strong&gt;polyspace reducible&lt;/strong&gt; to $ \mathtt{KNAPSACK} $. (Here we can combine logspace and linearspace reductions. Since the output string after logspace reduction can have polynomial length, we can use polynomial space overall.)&lt;/p&gt;&#xA;" OwnerUserId="7358" LastActivityDate="2012-07-30T15:05:36.097" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12172" PostTypeId="1" AcceptedAnswerId="19464" CreationDate="2012-07-30T17:27:20.997" Score="21" ViewCount="1015" Body="&lt;p&gt;Using carry look ahead algorithm we can compute addition using a polynomial size depth 5 (or 4?) $AC^0$ circuit family. Is it possible to reduce the depth? Can we compute the addition of two binary numbers using a polynomial size circuit family with depth less than that obtained by carry look ahead algorithm? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there any super polynomial lowerbounds for the size of $AC^0_d$ circuit families computing addition where $d$ is 2 or 3?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By depth I mean alternation depth.&lt;/p&gt;&#xA;" OwnerUserId="14197" LastEditorUserId="-1" LastEditDate="2012-08-04T21:15:03.870" LastActivityDate="2013-10-22T16:23:38.343" Title="Can addition be carried out in less than depth 5?" Tags="&lt;cc.complexity-theory&gt;&lt;circuit-complexity&gt;&lt;lower-bounds&gt;&lt;upper-bounds&gt;" AnswerCount="2" CommentCount="6" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="12173" PostTypeId="1" CreationDate="2012-07-30T21:12:27.737" Score="12" ViewCount="1347" Body="&lt;p&gt;Given a directed graph with n nodes such that each vertex has exactly two outgoing edges, and a natural number N encoded in binary, two vertices s and t, &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I want to count the number of (not necessarily simple) paths from s to t within N steps. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is this a #P-hard problem? Or generally, what's the complexity of this problem?&lt;/p&gt;&#xA;" OwnerUserId="10081" LastEditorUserId="186" LastEditDate="2012-07-31T06:01:58.167" LastActivityDate="2016-10-30T04:46:39.670" Title="Complexity of counting paths in a graph" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;&lt;counting-complexity&gt;" AnswerCount="3" CommentCount="14" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="12174" PostTypeId="2" ParentId="12162" CreationDate="2012-07-30T21:16:03.380" Score="3" Body="&lt;p&gt;From &quot;Bidimensionality Theory and Algorithmic Graph Minor Theory Lecture Notes&quot; for MohammadTaghi Hajiaghayi’s Tutorial, by Mareike Massow, Jens Schmidt, Daria Schymura and Siamak Tazari.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Each minor-closed graph property can be characterized by a finite set of forbidden minors.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Unfortunately, their result is “inherently” non-constructive, i.e. there is no algorithm that can generally determine which minors are to be excluded for a given minor-closed graph property. Moreover, the number of forbidden minors can be high: For example, for graphs embeddable on the torus more than 30,000 forbidden minors are known, yet the list is incomplete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[...]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Each minor-closed graph property can be decided in polynomial time (even in cubic time).&lt;/p&gt;&#xA;" OwnerUserId="10224" LastActivityDate="2012-07-30T21:16:03.380" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12175" PostTypeId="2" ParentId="12162" CreationDate="2012-07-30T22:16:40.293" Score="7" Body="&lt;p&gt;Some early results from late 80s: &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Fellows and Langston, &quot;&lt;a href=&quot;http://dl.acm.org/citation.cfm?doid=44483.44491&quot;&gt;Nonconstructive tools for proving polynomial-time decidability&lt;/a&gt;&quot;, 1988&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Brown, Fellows, Langston, &quot;&lt;a href=&quot;http://www.tandfonline.com/doi/abs/10.1080/00207168908803783&quot;&gt;Polynomial-time self-reducibility: theoretical motivations and practical results&lt;/a&gt;&quot;, 1989 &lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;From the abstract of the second item:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Recent fundamental advances in graph theory, however, have made available powerful new nonconstructive tools that can be applied to guarantee membership in P. These tools are nonconstructive at two distinct levels: they neither produce the decision algorithm, establishing only the finiteness of an obstruction set, nor do they reveal whether such a decision algorithm can be of any aid in the construction of a solution. We briefly review and illustrate the use of these tools, and discuss the seemingly formidable task of finding the promised polynomial-time decision algorithms when these new tools apply. &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="186" LastEditDate="2012-08-02T11:19:40.457" LastActivityDate="2012-08-02T11:19:40.457" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12176" PostTypeId="2" ParentId="12173" CreationDate="2012-07-30T22:33:27.017" Score="13" Body="&lt;p&gt;The output number of paths may be $\Omega(2^N/n)$ (choose $s$ arbitrarily and then choose $t$ as the vertex that is the endpoint of the largest number of the $2^N$ walks from $s$) which requires $\Omega(N)$ bits to write down explicitly; this is exponential in the input size. On the other hand, the matrix powering approach has complexity polynomial in the sum of the input and output sizes. So that seems to place it squarely in the class of counting problems that have exponential-sized output and may be solved deterministically in time polynomial in their output size, whatever the notation for that class is (it's some sort of counting analogue for EXP, and definitely not #EXP which is more analogous to NEXP).&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2012-07-30T22:33:27.017" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="12177" PostTypeId="2" ParentId="12162" CreationDate="2012-07-30T22:37:07.627" Score="0" Body="&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Algorithmic_Lov%C3%A1sz_local_lemma&quot; rel=&quot;nofollow&quot;&gt;Algorithmic Lovász local lemma&lt;/a&gt; -- &quot;the algorithmic Lovász local lemma gives an algorithmic way of constructing objects that obey a system of constraints with limited dependence. ... However, the lemma is non-constructive in that it does not provide any insight on how to avoid the bad events.&quot; On some assumptions/limitations on the distribution, a constructed algorithm is given by Moser/Tardos[1]. the Lovasz local lemma seems to have various deep connections to complexity theory eg see [2]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] &lt;a href=&quot;http://arxiv.org/abs/0903.0544&quot; rel=&quot;nofollow&quot;&gt;A constructive proof of the general Lovász Local Lemma&lt;/a&gt; by Moser,Tardos&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] &lt;a href=&quot;http://www.inf.ethz.ch/personal/gebauerh/lllsat.pdf&quot; rel=&quot;nofollow&quot;&gt;The Lov´asz Local Lemma and Satisfiability&lt;/a&gt; Gebauer, Moser, Scheder, Welzl&lt;/p&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="7884" LastEditDate="2012-07-30T22:42:17.073" LastActivityDate="2012-07-30T22:42:17.073" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="12179" PostTypeId="2" ParentId="12162" CreationDate="2012-07-31T05:56:48.830" Score="13" Body="&lt;p&gt;Here are two examples.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Some algorithms using &lt;a href=&quot;http://en.wikipedia.org/wiki/Robertson%E2%80%93Seymour_theorem#Polynomial_time_recognition&quot;&gt;the Robertson-Seymour theorem&lt;/a&gt;. The theorem states there exits a finite obstruction for each case, but does not provide a way to find such a finite set. Therefore, although we can prove that the algorithm exists, the explicit statement of the algorithm will depend on the finite obstruction set which we don't know how to find. In other words, we know there is an algorithm, but we don't know (yet) how to find one.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;A stronger example, although less natural is essentially using PEM or similar non-constructive axioms. This is stronger in the sense that we can prove the constructive existence of an algorithm would imply a non-constructive axiom (similar to &lt;a href=&quot;http://en.wikipedia.org/wiki/Constructive_proof#Brouwerian_counterexamples&quot;&gt;Brouwer's weak counter-examples&lt;/a&gt;). Such an example is stronger because it not only says that we don't &lt;em&gt;know right now&lt;/em&gt; any explicit algorithm (or any algorithmic way of finding one), but also that there is no hope of doing so.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As an example, we can use &lt;a href=&quot;http://en.wikipedia.org/wiki/Principle_of_excluded_middle&quot;&gt;PEM&lt;/a&gt; to prove an algorithm exists whereas we don't know which one and a constructive way of finding one would imply a non-constructive axiom. Let me give a simple example: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Halting problem is trivially decidable for each &lt;em&gt;fixed&lt;/em&gt; Turing machine (each TM either halts or doesn't halt, and in each case there is a TM that outputs the right answer), but how can we find an algorithm solving the problem correctly without solving (the uniform version of) the halting problem? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;More formally, we cannot prove constructively that given a TM $M$, there is a TM $H_T$ that decides the halting problem for $M$. More formally, the following statement cannot be proven constructively:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\forall e\in \mathbb{N} \ \exists f\in \mathbb{N} \ &#xA;\left[&#xA;(\{f\}( \ )=0 \land \{e\}\mathord{\downarrow})&#xA;\lor&#xA;(\{f\}( \ )=1 \land \{e\}\mathord{\uparrow})&#xA;\right]$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here $\{e\}$ is the TM with code $e$ (in some fixed representation of TMs), $\{e\}\mathord{\downarrow}$ means $\{e\}$ halts, and $\{f\}\mathord{\uparrow}$ means $\{f\}$ doesn't halt.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="186" LastActivityDate="2012-07-31T05:56:48.830" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12182" PostTypeId="1" AcceptedAnswerId="12184" CreationDate="2012-07-31T10:15:20.790" Score="5" ViewCount="257" Body="&lt;p&gt;Two common ways of formulating operational semantics for programming languages based on lambda-calculus are &lt;em&gt;big-step&lt;/em&gt; and &lt;em&gt;small-step&lt;/em&gt; semantics. &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;In a big step semantics, you give a relation $e \Downarrow v$ which directly relates an expression to the value it computes. &lt;/li&gt;&#xA;&lt;li&gt;In a small-step semantics, you give a transition relation $e \mapsto e'$ which does one step of evaluation, and you get to a value by iterating the transition relation. $e \mapsto^{*} v$. &lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;These two relations are equivalent, in the sense that $e \Downarrow v$ if and only if $e \mapsto^{*} v$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, some things are easier to define one way or another. For example, we can say that a set of terms $R \subseteq \mathrm{Exp}$ is &lt;em&gt;closed under expansion&lt;/em&gt; if it satisfies the property that:&#xA;$$\forall e \in R, e' \in \mathrm{Exp}.\;e' \mapsto e \;\mathrm{implies}\; e' \in R$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Likewise, a set $R$ is &lt;em&gt;closed under reduction&lt;/em&gt; if if satisfies:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\forall e \in R, e' \in \mathrm{Exp}.\;e \mapsto e' \;\mathrm{implies}\; e' \in R$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's not immediately obvious to me how to formulate expansion or contraction in terms of a big-step semantics. Does anyone know how?&lt;/p&gt;&#xA;" OwnerUserId="657" LastActivityDate="2012-08-01T12:53:25.647" Title="Characterizing closure under expansion/reduction for big-step semantics?" Tags="&lt;pl.programming-languages&gt;&lt;lambda-calculus&gt;&lt;operational-semantics&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12183" PostTypeId="2" ParentId="12115" CreationDate="2012-07-31T12:00:50.337" Score="7" Body="&lt;p&gt;Scott Aaronson just &lt;a href=&quot;http://www.scottaaronson.com/blog/?p=1082&quot;&gt;reported&lt;/a&gt; that the Complexity Zoo is down because the graduate student that was hosting it has graduated.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To get the Complexity Zoo working again, we need someone to host and a copy of the site.&lt;/p&gt;&#xA;" OwnerUserId="3964" LastActivityDate="2012-07-31T12:00:50.337" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12184" PostTypeId="2" ParentId="12182" CreationDate="2012-07-31T12:10:08.110" Score="5" Body="&lt;p&gt;The notion of &quot;next&quot; and &quot;last&quot; - prior to the idea of &quot;expansion&quot; and &quot;reduction&quot; - are  essentially lost when we read a big-step operational semantics as an inductive definition, which is too bad because the way we usually prove things about big-step operational semantics is by reading it as an inductive definition! &lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can prove a &quot;full expansion&quot; property (big step preservation) that $e \Downarrow v$ and $e \in R$ imply $v \in R$, and then observe that the &lt;i&gt;proof&lt;/i&gt; of this property actually proves a small-step expansion property. This is because computational structure of the proof actually recovers the small-step evaluation process that Prolog/Twelf would use to execute the big-step semantics as a logic program! But for appropriately tricky semantics (especially non-deterministic ones), I've noticed it's frequently the case that you can prove a big-step property when it doesn't hold for the small-step evaluation process that Prolog/Twelf proof proof search would imply.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In my view, the best option - if we want to use big-step specifications but recover the information that was lost when we treated the big-step semantics as inductive definition - to characterize the small-step evaluation process that Prolog/Twelf would use. (This ends up basically or exactly being an abstract machine semantics.) This may not be satisfying depending on what it is you're trying to do, of course. There are a couple of versions of this: see &lt;a href=&quot;http://repository.upenn.edu/cgi/viewcontent.cgi?article=1523&amp;amp;context=cis_reports&quot; rel=&quot;nofollow&quot;&gt;Hannan and Miller&lt;/a&gt; or &lt;a href=&quot;http://www.springerlink.com/content/ht7067y2hhpj905r/&quot; rel=&quot;nofollow&quot;&gt;Ager&lt;/a&gt;, for instance. (There's also a bit about this in my thesis, some work I did with Ian Zerny, but I'll link to that when there's a thing to link to.) You could also carefully characterize a set of &lt;i&gt;partial&lt;/i&gt; derivations of $e_1 \Downarrow v_1, \ldots, e_n \Downarrow v_n \vdash e \Downarrow v$ that corresponded to partial executions, but when I've contemplated this the details have seemed fraught enough that the abstract machine interpretation seems like a safer bet.&lt;/p&gt;&#xA;" OwnerUserId="1024" LastEditorUserId="1024" LastEditDate="2012-08-01T12:53:25.647" LastActivityDate="2012-08-01T12:53:25.647" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="12187" PostTypeId="1" CreationDate="2012-07-31T20:40:23.577" Score="21" ViewCount="2681" Body="&lt;p&gt;I am an undergraduate, and have recently come to terms with the fact that I may not have the intellect to do research in theoretical computer science, or be able to be admitted into and complete a PhD program.  However, I would still like to be involved with theoretical computer science as I find it very interesting.  So far, the only careers in theoretical computer science that do not require a PhD that I can think of would be being a secretary or administrative assistant for the theory group in some university.  Are there any others?&lt;/p&gt;&#xA;" OwnerUserId="10240" LastActivityDate="2012-08-02T02:30:33.213" Title="What are some careers in theoretical computer science that do not require a PhD?" Tags="&lt;soft-question&gt;&lt;career&gt;" AnswerCount="1" CommentCount="10" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12189" PostTypeId="1" CreationDate="2012-08-01T04:00:52.610" Score="-2" ViewCount="908" Body="&lt;p&gt;We are given a ${\bf \it syntactic }$ complexity class ${\bf A}$ such that ${\bf P}$ $\subseteq$ ${\bf A}$ $\subseteq$ ${\bf PSPACE}$. Is it possible that ${\bf A}$ is ${\bf \it not}$ closed under any polynomial time reduction? Conversely, is there a default reduction that all ${\bf \it syntactic }$ complexity classes between ${\bf PSPACE}$ and ${\bf P}$ are closed under? (Such as ${\bf NP}$,${\bf C_{=}P}$, ${\bf PP}$, ... ) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A given language $L$ is in syntactic complexity class ${\bf A }$ if there exists a polynomial $p$ and a poynomial-time predicate $R$ such that, for each $x$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$x$ ${\in}$ $L$ ${\leftrightarrow}$ $||\{y|$  $ |y|=p(|x|) \wedge R(x,y)\}||$ is equal, less than, greater than... etc. a function that has $x$ as input.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$x$ ${\notin}$ $L$   otherwise. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then the related problem is in that complexity class given the definition above. And the completeness follows from the parsimonious reductions of any problem in $\#{\bf P}$ to #SAT. Then is this class closed under some reduction by default?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, Complexity class ${\bf \oplus P}$ can be defined as follows:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A language $L$ is in syntanctic complexity class ${\bf \oplus P}$ if there exists a polynomial $p$ and a plynomial-time predicate $R$ such that, for each $x$ &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$x$ ${\in}$ $L$ ${\leftrightarrow}$ $||\{y|$  $ |y|=p(|x|) \wedge R(x,y)\}||$ $\not\equiv$ 0 (mod 2).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$x$ ${\notin}$ $L$   otherwise.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then Papadimitrou shows in his text book that ${\bf \oplus P}$-SAT is in ${\bf \oplus P}$ given the definition above and the completeness follows from the parsimonious reductions of any problem in $\#{\bf P}$ to #SAT. Does this imply that ${\bf \oplus P}$ is closed under some type of a reduction? such as, many-one, truth-table, conjunctive truth table,... etc. This is regardless of any other fact we might know about ${\bf \oplus P}$ such as the fact that we know ${\bf \oplus P}$ is low for itself, that is ${\bf \oplus P}$ = ${\bf \oplus P}^{\bf \oplus P}$ or ${\bf \oplus P}$ is closed under completed, that is ${\bf \oplus P}$ = ${\bf Co\oplus P}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In general, when we define a complexity class like above and show that it has a complete problem, does that imply that this complexity class is closed under any type of a reduction. &lt;/p&gt;&#xA;" OwnerUserId="1590" LastEditorUserId="186" LastEditDate="2012-08-02T22:28:17.700" LastActivityDate="2012-08-02T22:28:17.700" Title="Are all complexity classes closed under a particular reduction?" Tags="&lt;cc.complexity-theory&gt;&lt;reductions&gt;" AnswerCount="1" CommentCount="7" ClosedDate="2012-08-02T22:27:56.187" ContentLicense="CC BY-SA 3.0" />
  <row Id="12190" PostTypeId="2" ParentId="12155" CreationDate="2012-08-01T06:13:07.177" Score="1" Body="&lt;p&gt;Ok, I think I've got it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$eq_{k+1}$ calls (indirectly) $eq_k$, so, if I call $subset_{k+1}$ twice, I fall in an exponential blowup because of the two recursive calls of $eq_k$: it is simple to see with a &quot;linear recurrence relation of constant order&quot;.&lt;/p&gt;&#xA;" OwnerUserId="2707" LastActivityDate="2012-08-01T06:13:07.177" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12191" PostTypeId="2" ParentId="12189" CreationDate="2012-08-01T12:01:48.173" Score="5" Body="&lt;p&gt;I'm not entirely clear on your notation, but if you define a complexity class as the closure of a particular problem under PTIME reductions, then it will of course be closed under PTIME reductions. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other side, you can easily create a class $A$ that isn't closed under PTIME reductions, a trivial example would be to just pick a class that contains one $NP$-complete problem (say $A = \{SAT\}$). Is this what you mean?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A third point is that you can have classes that are closed, but have no complete problems - the Polynomial Hierarchy has no complete problems unless it collapses to finitely many levels (which seems unlikely).&lt;/p&gt;&#xA;" OwnerUserId="9520" LastActivityDate="2012-08-01T12:01:48.173" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="12192" PostTypeId="1" CreationDate="2012-08-01T12:24:27.120" Score="11" ViewCount="183" Body="&lt;p&gt;In &lt;a href=&quot;http://groups.csail.mit.edu/cis/pubs/shafi/1988-stoc-bgkw.pdf&quot; rel=&quot;nofollow&quot;&gt;&quot;Multi-Prover Interactive Proofs: How to Remove Intractability Assumptions&quot;&lt;/a&gt; by Ben-Or, Goldwasser, Kilian, and Wigderson, the authors introduce a bit commitment protocol as a subroutine to their Theorem 1 that every language in NP has a perfect zero-knowledge protocol in the two-prover model.  The protocol is presented as a &lt;em&gt;bit&lt;/em&gt; commitment scheme, which generalizes to a commitment scheme for arbitrary data by the well-known fact that all we are is 0s and 1s. My question is about the existence of more &quot;direct&quot; generalizations.  Specifically, it seems to me that the protocol is based on some simple facts about the finite fields ${\bf Z}_2$ and ${\bf Z}_3$, and I was wondering whether anyone has worked out how to abstract away these facts and generalize the commitment scheme to values over larger finite fields?&lt;/p&gt;&#xA;" OwnerUserId="674" LastEditorUserId="674" LastEditDate="2012-08-07T14:01:11.600" LastActivityDate="2012-08-07T14:01:11.600" Title="generalizing Ben-Or et al's two-prover bit commitment scheme beyond bits" Tags="&lt;cr.crypto-security&gt;&lt;nt.number-theory&gt;&lt;interactive-proofs&gt;&lt;zero-knowledge&gt;" AnswerCount="0" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12193" PostTypeId="2" ParentId="12138" CreationDate="2012-08-01T17:23:04.617" Score="1" Body="&lt;p&gt;As mentioned by snowie, your problem is a generalization of the sharing-aware virtual machine colocation problem, and is hard to approximate.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Read this paper for more information: Michael Sindelar, Ramesh K. Sitaraman, Prashant J. Shenoy: Sharing-aware algorithms for virtual machine colocation. SPAA 2011: 367-378&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The paper shows hardness for the general problem. But also provides efficient algorithms when the sharing (&quot;overlaps&quot;) are not arbitrary but hierarchical (which is often the case with VMs.) Example of hierarchical sharing: Windows VM's share more pages with each other than Linux VMs, etc.&lt;/p&gt;&#xA;" OwnerUserId="10250" LastActivityDate="2012-08-01T17:23:04.617" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12195" PostTypeId="2" ParentId="12115" CreationDate="2012-08-01T22:21:54.863" Score="7" Body="&lt;p&gt;Now that the site is again up and running, I guess anyone can download most (?) of the data (machine-readable source code, with full edit history) as follows:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Go to &lt;a href=&quot;http://qwiki.stanford.edu/index.php/Special:Export&quot;&gt;http://qwiki.stanford.edu/index.php/Special:Export&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Enter &lt;code&gt;Computational Complexity&lt;/code&gt; in the field &quot;Add pages from category&quot;, click &quot;Add&quot; — double-check that all relevant pages are now listed in the text box&lt;/li&gt;&#xA;&lt;li&gt;Un-check &quot;Include only the current revision&quot;&lt;/li&gt;&#xA;&lt;li&gt;Click &quot;Export&quot;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;It produces a fairly large file, approx. 160 MB.&lt;/p&gt;&#xA;" OwnerUserId="74" LastActivityDate="2012-08-01T22:21:54.863" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12196" PostTypeId="1" CreationDate="2012-08-01T22:32:54.870" Score="12" ViewCount="1069" Body="&lt;p&gt;We know from e.g. &lt;a href=&quot;http://arxiv.org/abs/1102.4842&quot; rel=&quot;noreferrer&quot;&gt;Koutis-Miller-Peng&lt;/a&gt; (based on work of Spielman &amp;amp; Teng), that we can very quickly solve linear systems $A x = b$ for matrices $A$ that are the graph Laplacian matrix for some sparse graph with non-negative edge weights.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now (first question) consider using one of these graph Laplacian matrices $A$ as the covariance or (second question) inverse covariance matrix of a zero-mean multivariate normal distribution $\mathcal{N}(\boldsymbol{0}, A)$, or $\mathcal{N}(\boldsymbol{0}, A^{-1})$.  For each of these cases, I have two questions:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A. How efficiently can we draw a sample from this distribution?  (Typically to draw a sample, we compute the Cholesky decomposition $A = LL^T$, draw a standard normal $y \sim \mathcal{N}(\boldsymbol{0}, I)$, then compute a sample as $x = L^{-1} y$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;B. How efficiently can we compute the determinant of $A$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that both of these could be solved easily given a Cholesky decomposition, but I don't immediately see how to extract $L$ more efficiently than just by using a standard sparse Cholesky algorithm, which wouldn't use the techniques presented in the above-referenced works, and which would have cubic complexity for sparse-but-high-treewidth graphs.&lt;/p&gt;&#xA;" OwnerUserId="144" LastEditorUserId="186" LastEditDate="2012-08-11T23:31:02.443" LastActivityDate="2014-11-05T15:08:45.343" Title="Sampling from Multivariate Gaussian with Graph Laplacian (inverse) Covariance" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;linear-algebra&gt;&lt;pr.probability&gt;&lt;spectral-graph-theory&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="12197" PostTypeId="2" ParentId="6100" CreationDate="2012-08-01T22:58:49.530" Score="-3" Body="&lt;p&gt;another angle on this. admittedly this could be regarded as somewhat obscure or fringe by some, but there is some work on parallelizing, in a general way, probabilistic algorithms, which are asserted to be somewhat naturally suited to parallelism.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;see eg&#xA;&lt;a href=&quot;http://www1.chapman.edu/~radenski/research/papers/parallel.pdf&quot; rel=&quot;nofollow&quot;&gt;Parallel Probabilistic Computations on a Cluster of Workstations&lt;/a&gt; Radenski, Vann, Norris:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Probabilistic algorithms are computationally intensive approximate methods for solving&#xA;  intractable problems. Probabilistic algorithms are excellent candidates for cluster computations&#xA;  because they require little communication and synchronization. It is possible to specify a&#xA;  &lt;b&gt;common parallel control structure as a generic algorithm for probabilistic cluster computations.&lt;/b&gt;&#xA;  Such a generic parallel algorithm can be glued together with domain-specific sequential&#xA;  algorithms in order to derive approximate parallel solutions for different intractable problems.&#xA;  In this paper we propose a generic algorithm for probabilistic computations on a cluster of&#xA;  workstations. We use this generic algorithm to derive specific parallel algorithms for two&#xA;  discrete optimization problems: the knapsack problem and the traveling salesperson problem.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;in case its not clear, the &quot;common parallel control structure as a generic algorithm&quot; referred to along with the probabilistic computation, and the overall conversion, is the &quot;model&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;it could be argued that probabilistic computation is not strictly classical computing or Turing complete. so note there is some work in tying classical with probabilistic computation also specifically in a parallel context eg&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://dl.acm.org/citation.cfm?id=177724&quot; rel=&quot;nofollow&quot;&gt;Reasoning about probabilistic parallel programs&lt;/a&gt; by Rao:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;The use of randomization in the design and analysis of algorithms promises simple and efficient algorithms to difficult problems, some of which may not have a deterministic solution. This gain in simplicity, efficiency, and solvability results in a trade-off of the traditional notion of absolute correctness of algorithms for a more quantitative notion: correctness with a probability between 0 and 1. The addition of the notion of parallelism to the already unintuitive idea of randomization makes reasoning about probabilistic parallel programs all the more tortuous and difficult. In this paper we address the problem of specifying and deriving properties of probabilistic parallel programs that either hold deterministically or with probability 1.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;of course QM computing is highly similar to probabilistic computing (a nice ref that emphasizes this is &lt;a href=&quot;http://people.cs.uchicago.edu/~fortnow/papers/quantview.pdf&quot; rel=&quot;nofollow&quot;&gt;One Complexity Theorist's View of Quantum Computing by Fortnow&lt;/a&gt;) &amp;amp; there is some hint these approaches might be extended there, eg in the work in parallel QM simulation.&lt;/p&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2012-08-01T22:58:49.530" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12199" PostTypeId="2" ParentId="12187" CreationDate="2012-08-02T02:30:33.213" Score="9" Body="&lt;p&gt;I work at a national lab and in a directorate that employs many theoretical computer scientists, of which some do not have PhDs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think that what would differentiate or establish you would be a quality of your work.&#xA;If you are a talented theoretician, strong at algorithms and you can/have been publishing your work in reputable theoretical computer science journals then I do not see why place like national lab would not hire you.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;PhD is a testimony of ones ability to pursue relevant and significant research on his or her own.&lt;/p&gt;&#xA;" OwnerUserId="10258" LastActivityDate="2012-08-02T02:30:33.213" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12201" PostTypeId="2" ParentId="5312" CreationDate="2012-08-02T15:21:07.600" Score="1" Body="&lt;p&gt;Great question. I just recently passed the PhD qualifying exam that was in part an entrance exam - mix of undergraduate and graduate topics.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To be practical - it depends on the school you are planning to attend, type of entrance exam they might require and type of the program they offer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some require GRE, so preparing to enroll is not CS specific. Some require GRE subject, which is equivalent to 5-6 core CS undergraduate courses and theory will be covered (automata theory, discrete math, etc)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To get the most fundamental background I would take Discrete Math, Algorithms and Theory of Computation from &lt;a href=&quot;http://aduni.org/courses/&quot; rel=&quot;nofollow&quot;&gt;Ad Uni&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are other fantastic sources from MIT and Stanford but these three courses, presented by great Shai Simonson are excellent foundation. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hope this helps.&lt;/p&gt;&#xA;" OwnerUserId="10258" LastActivityDate="2012-08-02T15:21:07.600" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12205" PostTypeId="2" ParentId="5312" CreationDate="2012-08-03T15:16:36.823" Score="2" Body="&lt;p&gt;excellent/wide responses so far. I suggest some classes not mentioned so far. esp classes that lean toward application of the theory &amp;amp; require the student to write/debug code &amp;amp; visualize [graph results] as part of assignments. or build/debug working systems. etc. &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;differential equations. esp the relationship between it &amp;amp; discrete differential equations eg generating functions.&lt;/li&gt;&#xA;&lt;li&gt;numerical methods. optimization. Runge Kutta diffeq solver etc. a neat/highly educational exercise is to solve/graph the Lorentz weather equation. concepts about precision/accuracy in software arithmetic etc.&lt;/li&gt;&#xA;&lt;li&gt;there is an MIT class &quot;modelling and simulation of dynamical systems&quot;. something similar would not be available at all universities but maybe some will have it.&lt;/li&gt;&#xA;&lt;li&gt;some universities will have principles/dynamics of complex systems or complex adaptive systems etc&lt;/li&gt;&#xA;&lt;li&gt;anything related to modelling or simulation of systems using software with a mathematical focus&lt;/li&gt;&#xA;&lt;li&gt;fractal systems &amp;amp; mathematics&lt;/li&gt;&#xA;&lt;li&gt;machine learning (esp with gradient descent techniques)&lt;/li&gt;&#xA;&lt;li&gt;quantum computing (some classes in this are highly or mostly mathematical)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2012-08-03T15:16:36.823" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12207" PostTypeId="1" CreationDate="2012-08-03T17:17:32.837" Score="18" ViewCount="1005" Body="&lt;p&gt;Category theory and abstract algebra deal with the way functions can be combined with other functions.  Complexity theory deals with how hard a function is to compute.  It's weird to me that I haven't seen anyone combine these fields of study, since they seem like such natural pairs.  Has anyone done this before?&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;As a motivating example, let's take a look at monoids.  It's well known that if an operation is a monoid, then we can parallelize the operation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example in Haskell, we can trivially define that addition is a monoid over the integers like this:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;instance Monoid Int where&#xA;    mempty = 0&#xA;    mappend = (+)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Now if we want to compute the sum of 0 to 999, we could do it sequentially like:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;foldl1' (+) [0..999]&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;or we could do it in parallel&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;mconcat [0..999] -- for simplicity of the code, I'm ignoring that this doesn't *actually* run in parallel&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;But parallelizing this monoid makes sense only because mappend runs in constant time.  What if this weren't the case?  Lists, for example, are monoids where mappend does not run inconstant time (or space!).  I'm guessing this is why there is no default parallel mconcat function in Haskell.  The best implementation depends on the complexity of the monoid.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;It seems like there should be a convenient way to describe the differences between these two monoids.  We should then be able to annotate our code with these differences and have programs automatically choose the best algorithms to use depending on a monoid's complexity.&lt;/p&gt;&#xA;" OwnerUserId="10267" LastEditorUserId="10267" LastEditDate="2012-08-03T18:01:25.407" LastActivityDate="2015-07-22T12:08:44.227" Title="Is there a theory that combines category theory/abstract algebra and computational complexity?" Tags="&lt;cc.complexity-theory&gt;&lt;algebra&gt;&lt;algebraic-complexity&gt;" AnswerCount="2" CommentCount="10" FavoriteCount="10" ContentLicense="CC BY-SA 3.0" />
  <row Id="12210" PostTypeId="2" ParentId="5312" CreationDate="2012-08-03T20:10:56.790" Score="2" Body="&lt;p&gt;i really support the answers above. I can add the following that may be useful for the big picture of math in CS:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Math can be part of the goal itself; algorithm analysis, complexity bounds, deterministic or probabilistic proofs, parallel algorithms and many more research areas related to time and space of computation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other side, math can be the actual path for a higher level goal; PDEs, light equations for computer graphics, the whole research area of computational physics (dynamical systems, statistical mechanics, galaxy formation) to name some of them.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Under the right circumstances, both forms of math could live together.&lt;/p&gt;&#xA;" OwnerUserId="9917" LastActivityDate="2012-08-03T20:10:56.790" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12211" PostTypeId="2" ParentId="10679" CreationDate="2012-08-03T20:35:26.620" Score="-1" Body="&lt;p&gt;Edit: Answer re-written &lt;/p&gt;&#xA;&#xA;&lt;p&gt;How it got mainstream? probably by spreading the idea of comparing new research with older one in terms of performance, with the supposition that creating new ideas is more difficult.&lt;/p&gt;&#xA;" OwnerUserId="9917" LastEditorUserId="9917" LastEditDate="2012-08-03T22:03:51.603" LastActivityDate="2012-08-03T22:03:51.603" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="12214" PostTypeId="2" ParentId="10679" CreationDate="2012-08-03T22:07:52.083" Score="3" Body="&lt;p&gt;This isn't exactly what you asked for, but it's too long for a comment.&lt;/p&gt;&#xA;&lt;p&gt;The oldest explicit reference I know to an algorithm being &lt;em&gt;infeasible&lt;/em&gt; is in Évariste Galois' &lt;em&gt;Mémoire sur les conditions de résolubilité des équations par radicaux&lt;/em&gt;, written in 1830:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Si maintenant vous me donnez une équation que vous aurez choisie à&#xA;votre gré et que vous desirez connaître si elle est ou non soluble&#xA;par radicaux, je n’aurais rien à y faire que de vous indiquer le&#xA;moyen de répondre à votre question, sans vouloir charger ni moi ni&#xA;personne de la faire. En un mot les calculs sont &lt;strong&gt;impracticables.&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;[Now if you give me an equation that you have chosen at your&#xA;discretion and you want to know whether or not it is solvable by&#xA;radicals, I need only to indicate to you the method needed to answer&#xA;your question, without wanting to make myself or anyone else carry it&#xA;out. In a word, the calculations are &lt;strong&gt;impractical&lt;/strong&gt;.]&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Although it's &lt;em&gt;true&lt;/em&gt; that Galois' algorithm doesn't run in polynomial time, Galois clearly meant something much less precise.  This is also the oldest reference I know of that considers the mere &lt;em&gt;existence&lt;/em&gt; of an algorithm significant in its own right.&lt;/p&gt;&#xA;&lt;hr /&gt;&#xA;&lt;p&gt;As Niel de Beaudrap mentions in the comments, Gauss already discussed the (in)efficiency of algorithms for primality testing in his 1801 &lt;a href=&quot;http://gdz.sub.uni-goettingen.de/dms/load/img/?PPN=PPN235993352&amp;amp;IDDOC=137206&quot; rel=&quot;nofollow noreferrer&quot;&gt;&lt;em&gt;Disquisitiones Arithmeticae&lt;/em&gt;&lt;/a&gt;, almost 30 years before Galois.  For completeness, here is the relevant passage from article 329:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Nihilominus fateri oportet, omnes methodos hucusque prolata vel ad casus vlade speciales restrictas esse, vel &lt;strong&gt;tam operosas et prolixas&lt;/strong&gt;, ut iam pro numeris talibus, qui tabularum a varis meritis constructarum limites non excedunt, &lt;em&gt;i.e.&lt;/em&gt; pro quibus methodi artificiales supervacuae sunt, calculatoris etiam exercitati patientiam fatigent, ad maiores autem plerumque vix applicari possint. ... Ceterum in problematis natura fundatum est, ut methodi &lt;em&gt;quaecunque&lt;/em&gt; continuo prolixiores evadant, quo maiores sunt numeri, ad quos applicantur; attamen pro methodis sequentibus difficultates perlente increscunt, numerique e septem, octos vel adeo adhuc pluribus figuris constantes praesertim per secundam felici semper successu tractati fuerunt, omnique celeritate, quam pro tantis numeris exspectare aequum est, qui secundum omnes methodos hactenus notas &lt;strong&gt;laborem, etiam calculatori indefatigabili intolerabilem,&lt;/strong&gt; requirerent.&lt;/p&gt;&#xA;&lt;p&gt;[Nevertheless we must confess that all methods that have been proposed thus far are either restricted to very special cases or are &lt;strong&gt;so laborious and prolix&lt;/strong&gt; that even for numbers that do not exceed the limits of tables constructed by estimable men, &lt;em&gt;i.e.&lt;/em&gt; for numbers that do not require ingenious methods, they try the patience of even the most practiced calculator.  And these methods can hardly be used for larger numbers. ... It is in the nature of the problem that &lt;em&gt;any&lt;/em&gt; method will become more prolix as the numbers to which it is applied grow larger.  Nevertheless, in the following methods the difficulties increase rather slowly, and numbers with seven, eight, or even more digits have been handled with success and speed beyond expectation, especially by the second method.  The techniques that were previously known would require &lt;strong&gt;intolerable labor even for the most indefatigable calculator&lt;/strong&gt;.]&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="111" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2012-08-05T19:02:44.720" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="12216" PostTypeId="1" AcceptedAnswerId="12226" CreationDate="2012-08-04T05:03:08.520" Score="6" ViewCount="606" Body="&lt;p&gt;Reading available literature (yep, including wikipedia), I see that hash functions should have (&lt;a href=&quot;http://en.wikipedia.org/wiki/Hash_function#Continuity&quot; rel=&quot;nofollow&quot;&gt;continuity&lt;/a&gt;) and map values that differ very little to similar/same hash codes, in particular for (&lt;a href=&quot;http://en.wikipedia.org/wiki/Hash_function#Continuity&quot; rel=&quot;nofollow&quot;&gt;hash tables that use linear search&lt;/a&gt;) ... if that makes any sense. Supposedly, this would help linear search benefits from locality of reference.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;OTH, a hash function should be &lt;a href=&quot;http://en.wikipedia.org/wiki/Hash_function#Uniformity&quot; rel=&quot;nofollow&quot;&gt;uniform&lt;/a&gt;, in the sense that hash values are uniformly distributed. Unless I'm misunderstanding something, it looks to me as if these two properties are in conflict. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let's say we have a sequence $S$ of input values $(s_1, ..., s_n)$ such that the delta between any two value pairs is small and similar across the set. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;That is&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\forall s_i, s_j \in S\,\,|\,\varepsilon_{min} &amp;lt; \delta(s_i, s_j) &amp;lt; \varepsilon_{max}$$ &lt;/p&gt;&#xA;&#xA;&lt;p&gt;and with the differences between any two values ($\delta(s_i,s_j)$) being uniformly distributed. In such a case the values in the sequence have a uniform distribution. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let's suppose we aim to store these values in a hash table with open addressing (linear probing) and a hash function $h$. Obviously, we assume that the hash table is large enough to accommodate all input values (and to be below an initial load factor.) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If the hash function $h$ exhibits continuity, then it will map all the values in $S$ very close to one another (if not, to the same hash code) ergo increasing collisions. That is, it would exhibit &lt;em&gt;clustering&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Wouldn't that then, deteriorate the search performance (via liner probing) as a result of the resulting collisions. If continuity is desirable when using linear probing, then how does one cope with the collisions when a large part of the values are close to one another?&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;--- EDIT ---&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;Sorry, I left some things out. $\delta(s_i,s_j)$ represents the number of symbols by which the strings $s_i$ and $s_j$ differ (or the number of changes that need to occur to convert $s_i$ into $s_j$.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For a better example, let $\Sigma = {\sigma_1, \sigma_2, ... , \sigma_n}$ be an alphabet, and $L(i, n)$ be a language over $\Sigma$ such that&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;L(i,n)\,\triangleq \{s| (s=\sigma_i^*\sigma_k\sigma_i)\wedge (|s| = n) \wedge (\{\sigma_i,\sigma_k\} \subset \Sigma)\}&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, if we were to consider input strings, all of length $n$ such as &#xA;$$aaa..., baaa..., abaa..., ....aaab, caaa..., acaa$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;that only differ on one character, the value and position of which is uniformly distributed among the input strings, then a hash function $h$ that possess continuity will cluster them all on top or near the same hash value.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;-- ADDITIONAL EDIT --&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;The only place I've read so far that mentions continuity as a desirable property has been in the Wikipedia article for hash functions. I've consulted all the other books I have on Algorithms (CLRS, Sedgewick's, Berman and Paul's and others), and I've not found any such assertion on hash functions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So it seems to me that continuity is not a desirable trait despite what the Wiki entry says. Or am I missing something????&lt;/p&gt;&#xA;" OwnerUserId="1752" LastEditorUserId="1752" LastEditDate="2012-08-04T18:06:05.773" LastActivityDate="2012-08-06T03:10:02.080" Title="Continuity vs Uniformity when designing Hash functions" Tags="&lt;ds.data-structures&gt;&lt;hash-function&gt;" AnswerCount="1" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="12218" PostTypeId="2" ParentId="3697" CreationDate="2012-08-04T13:23:34.937" Score="3" Body="&lt;p&gt;&lt;a href=&quot;http://www.wisdom.weizmann.ac.il/~oded/bc-book.html&quot; rel=&quot;nofollow&quot;&gt;P, NP, and NP-Completeness: The Basics of Complexity Theory&lt;/a&gt; by Oded Goldreich would be an another good introductory book.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;After introductory contents, I would like to also recommend &lt;a href=&quot;http://www.springer.com/computer/theoretical+computer+science/book/978-1-4419-7154-8&quot; rel=&quot;nofollow&quot;&gt;The P=NP Question and Gödel’s Lost Letter&lt;/a&gt; by Richard J. Lipton.&lt;/p&gt;&#xA;" OwnerUserId="7358" LastActivityDate="2012-08-04T13:23:34.937" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="12224" PostTypeId="2" ParentId="12059" CreationDate="2012-08-05T06:34:39.617" Score="9" Body="&lt;p&gt;I don't have a specific recommendation for your reading list, but I want to alert you to the excellent survey on &quot;Rewrite Systems&quot; by Dershowitz and Jouannaud in Handbook of Theoretical Computer Science, volume B.&lt;/p&gt;&#xA;" OwnerUserId="8519" LastActivityDate="2012-08-05T06:34:39.617" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12225" PostTypeId="1" CreationDate="2012-08-05T07:52:15.043" Score="7" ViewCount="204" Body="&lt;p&gt;Is sample complexity of PAC learning all $k$-DNFs over the uniform distribution known (that is all DNFs with all terms of size at most $k$ and without restriction on the number of terms)? &#xA;The only bounds I'm aware of are &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;the obvious upper bound of $O(n^k/\epsilon)$ (which is true even for distribution independent learning)&lt;/li&gt;&#xA;&lt;li&gt;the obvious lower bound of $\Omega(2^k)$ (even for a constant $\epsilon$).&lt;/li&gt;&#xA;&lt;li&gt;the upper bound of $\tilde{O}(k^{k \log{1/\epsilon}})$ which is implied by Mansour's (1992) paper on learning DNF (the algorithm there uses membership queries but the structural result can also be used to get a sample upper bound).&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;I'm primarily interested in lower bounds.&#xA;Also, anyone knows anything interesting about the same question for monotone $k$-DNF? For this case I don't know if even the trivial lower bound is true. Although slightly weaker bounds can be obtained by scaling lower bounds for learning monotone functions from Blum-Birch-Langford paper.&lt;/p&gt;&#xA;" OwnerUserId="968" LastActivityDate="2012-08-05T07:52:15.043" Title="Sample complexity of PAC learning all k-DNFs over the uniform distribution" Tags="&lt;machine-learning&gt;&lt;lg.learning&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12226" PostTypeId="2" ParentId="12216" CreationDate="2012-08-05T07:58:50.043" Score="2" Body="&lt;p&gt;While continuity in a strong sense is probably too much to ask for, locality sensitive hashing (LSH) achieves a very similar goal: given a set of items $x_1, \ldots, x_n$ which belong to some metric space with metric $d$, an LSH family of hash functions (parametrized by $D, c, p, q$) maps $x_i$ and $x_j$ into the same bucket with probability $\geq p$ if $d(x_i, x_j) \leq D$ and maps $x_i$ and $x_j$ into different buckets with probablity $\geq q$ if $d(x_i, x_j) &amp;gt; cD$. Of course there is tension in the requirements, so one looks for tradeoffs. Look at the &lt;a href=&quot;http://en.wikipedia.org/wiki/Locality-sensitive_hashing&quot; rel=&quot;nofollow&quot;&gt;wiki page&lt;/a&gt; and Alex Andoni's &lt;a href=&quot;http://www.mit.edu/~andoni/LSH/&quot; rel=&quot;nofollow&quot;&gt;webpage&lt;/a&gt;, especially the CACM survey.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For context, LSH is a tool to solve the approximate nearest neighbor problem in high dimensional metric spaces. There exist solutions for various metrics, like hamming distance and $\ell_p$ norms, see the CACM survey. The approximate nearest neighbor problem is an important problem in computational geometry, and the high-dimensional version comes up in a variety of applications, for example in computer vision and information retrieval. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The way LSH is used to solve approximate near neighbor search is a fairly natural two-level hashing scheme. As you note, there is tension between the &quot;continuity&quot; property and bounding the number of collisions. For that reason, usually the gap between $p$ and $q$ (as I defined them above) is pretty small. To overcome this we construct a new hash function by choosing several functions from an LSH family and taking their concatenation. The resulting universe is too big, so it is reduced using traditional hashing. Then we build several hash tables using these hash functions. A query is answered by hashing the query point and inspecting the other points in the same bucket(s) to determine if they are close enough (this is the linear search part). Parameters can be chosen so that a query is answered in sublinear time.&lt;/p&gt;&#xA;" OwnerUserId="4896" LastEditorUserId="4896" LastEditDate="2012-08-06T03:10:02.080" LastActivityDate="2012-08-06T03:10:02.080" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="12227" PostTypeId="2" ParentId="12169" CreationDate="2012-08-05T12:36:38.777" Score="7" Body="&lt;p&gt;Like many other questions, the answer to this one can be found in Stothers' thesis. A local USP is a CWP in which the only way in which a 1-piece, a 2-piece and a 3-piece can fit together is if their union is in $S$. Clearly a local USP is a USP, and a construction from [CKSU] shows that the USP capacity is achieved by local USPs (we are going to show that constructively).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Coppersmith and Winograd construct an almost 2-wise independent distribution $S$ on $2^V$ with the following two properties: (1) $\Pr[x \in S] = (|V|/2|E|)^{1-\epsilon}$, (2) For any $x,y,z \in V$ such that the 1-piece of $x$, the 2-piece of $y$ and the 3-piece of $z$ together form a vector $w \in V$: if $x,y,z \in S$ then $w \in S$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We choose a random subset $S$ of $V$ according to the distribution, and for each edge $(x,y) \in E$, we remove &lt;em&gt;both&lt;/em&gt; vertices $x,y$. The expected number of vertices left is roughly $(|V|^2/2|E|)^{1-\epsilon}$. The resulting set $T$ is a local USP: if there are $x,y,z \in T$ in which the 1-piece of $x$, the 2-piece of $y$ and the 3-piece of $z$ fit, forming a piece $w$, then $x,y,z,w \in S$, and so all of $x,y,z$ are removed from $S$.&lt;/p&gt;&#xA;" OwnerUserId="40" LastActivityDate="2012-08-05T12:36:38.777" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12229" PostTypeId="1" CreationDate="2012-08-05T16:08:16.260" Score="4" ViewCount="609" Body="&lt;p&gt;Can you please suggest possible approaches for the following problem: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Find a path through graph vertices so that the distance (sum of edges weights) between two vertex $i$ occurrences would be no more than $D_i$. It is obviously infinite, so I want to have a generator for this path. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks in advance.&lt;/p&gt;&#xA;" OwnerUserId="10284" LastEditorUserId="32187" LastEditDate="2015-04-13T10:59:27.847" LastActivityDate="2015-04-13T12:51:31.473" Title="TSP with multiple visits" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;tsp&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="12231" PostTypeId="1" CreationDate="2012-08-06T08:25:44.223" Score="2" ViewCount="359" Body="&lt;p&gt;I want to encode a logic into Coq. The semantics of the logic are very complex and I just want to encode the syntax, axioms, inference rules. I use deep embedding, but I can't use notation like:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;Axiom nxc:forall (p q:formula),&#xA; chop (next p) q-&amp;gt;  (next (chop p q)).(it is wrong) &#xA;,true.&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;They need type prop, but my type is formula. How can I make them unify?&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;Theorem nxn:forall (p:formula),&#xA;derivable (Fnext p)-&amp;gt; derivable(Fneg (Fnext (Fneg p))).&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;To prove this, I have to give all the axioms. I can't use the axioms of &lt;em&gt;and&lt;/em&gt; (in Prop). This would be a very tedious work. Any suggestions?&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;This is part of the code. &#xA;&#xA;Require Import Setoid.&#xA;Variables (state : Set).&#xA;CoInductive stream : Set :=&#xA;    cons_str : state -&amp;gt; stream -&amp;gt; stream.&#xA;Inductive formula :Set:=&#xA;  |ftrue:formula&#xA;  |ffalse:formula&#xA;  | For : formula -&amp;gt; formula -&amp;gt; formula&#xA;  | Fneg: formula -&amp;gt; formula&#xA;  | Fnext: formula -&amp;gt; formula&#xA;  | prj : list formula -&amp;gt; formula-&amp;gt;formula.&#xA;&#xA;Definition derivable : formula -&amp;gt;stream-&amp;gt; Prop.&#xA;Admitted.&#xA;&#xA;Definition model_p (f :formula) := forall pi : stream, derivable f pi .&#xA;Notation &quot;'|- f&quot; := (model_p f) (at level 100, no associativity) .&#xA;&#xA;Notation &quot;p '|| q&quot; := (For p q) (at level 76, right associativity) .&#xA;Notation &quot;! p&quot; := (Fneg p) (at level 71, right associativity) .&#xA;Notation &quot;f 'prj g&quot; := (prj f g) (at level 77, right associativity).&#xA;Notation &quot;'x g&quot; := (Fnext g) (at level 73, right associativity).&#xA;&#xA;(************************derived  formulas  ********************)&#xA;&#xA;Definition and(p q: formula) : formula :=!(!p '|| !q).&#xA;Notation &quot;p '&amp;amp;&amp;amp; q&quot; :=(and p q) (at level 74, left associativity).&#xA;&#xA;Definition imp(p q: formula) : formula :=!p '|| q.&#xA;Notation &quot;p '==&amp;gt; q&quot; := (imp p q) (at level 79, no associativity) .&#xA;&#xA;Definition iff (A B:formula) :formula:= ( (A '==&amp;gt;  B) '&amp;amp;&amp;amp; (B '==&amp;gt; A)) .&#xA;Notation &quot;p &amp;lt;'==&amp;gt; q&quot; := (iff p q) (at level 79, no associativity) .&#xA;&#xA;Definition empty := ! 'x ftrue .&#xA;&#xA;Definition chop(p:formula)(q:formula):= (cons p (cons q nil)) 'prj (empty).&#xA;Notation &quot;p ; q&quot; := (chop p q) (at level 75, right associativity).&#xA;&#xA;Axiom t2 :forall(p q:formula),('|-('x p '&amp;amp;&amp;amp;  'x q) )&amp;lt;-&amp;gt;('|-('x(p '&amp;amp;&amp;amp; q))).&#xA;Theorem tt2 :forall(p q r:formula),('|-('x p '&amp;amp;&amp;amp;  'x q) ; r)-&amp;gt;('|-('x(p '&amp;amp;&amp;amp; q))&#xA;; r).&#xA;intros.&#xA;rewrite t2 in H.&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;" OwnerUserId="10290" LastEditorUserId="77" LastEditDate="2012-08-29T09:49:54.830" LastActivityDate="2012-08-29T09:49:54.830" Title="Encoding a logic in Coq" Tags="&lt;lo.logic&gt;&lt;application-of-theory&gt;&lt;coq&gt;" AnswerCount="0" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="12232" PostTypeId="2" ParentId="12173" CreationDate="2012-08-06T10:01:25.873" Score="1" Body="&lt;p&gt;The problem is #P-complete. Look at the problem of counting shortest paths in a graph (ND31 in Garey&amp;amp;Johnson) which is #P-complete for the counting version. Read carefully the comment. This gives the answer for paths of length $\leq N$. To get the answer for paths of length $=N$, call the shortest paths problem for $\leq N$ and $\leq N-1$, then subtract the latter from the former, i.e. perform a subtractive reduction.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since the reduction from #HAMILTONIAN PATHS / CIRCUITS to #SHORTEST PATHS works also for 3-regular graphs, the #P-completeness result will work also for your restriction of digraphs with out-degree $\leq 2$.&lt;/p&gt;&#xA;" OwnerUserId="10291" LastActivityDate="2012-08-06T10:01:25.873" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="12233" PostTypeId="2" ParentId="12167" CreationDate="2012-08-06T11:14:09.540" Score="3" Body="&lt;p&gt;(not enough rep for comment)&#xA;Can you tell us more about the data streams? I am a roboticist, and I often deal with sensors which are outputting data streams at different rates. Specifically, can you please elaborate on the following:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;do the data streams have the same modality? (eg, are they all telling you the velocity of something, or is one telling you velocity and the other position, leaving you to infer velocity?)&lt;/li&gt;&#xA;&lt;li&gt;is either stream noisy and/or can you otherwise get conflicting data from the streams? If so, do you have an error model?&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Once I know more about your streams, I will try to suggest some relevant literature.&lt;/p&gt;&#xA;" OwnerUserId="10292" LastEditorUserId="10292" LastEditDate="2012-08-08T01:46:42.103" LastActivityDate="2012-08-08T01:46:42.103" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="12237" PostTypeId="1" CreationDate="2012-08-06T22:22:25.040" Score="11" ViewCount="146" Body="&lt;p&gt;Suppose I have an $d$-regular expander graph with $n$ vertices, where the stochastic version of its adjacency matrix $A$ (with entries $1/d$ and zero) has second eigenvalue $\lambda$.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $x \in {\mathbb C}^n$ be a vector whose components are on the unit circle, i.e. $|x_i|=1$ for all $1 \le i \le n$.  Note that the $k$-norm of $x$ is $|x|_k^k = \sum_i |x_i|^k = n$ for any $k &amp;gt; 0$.  Furthermore, suppose that $x$ is perpendicular to the uniform vector, so that ${\mathbb E}_i x_i=0$.  Then &lt;/p&gt;&#xA;&#xA;&lt;p&gt;${\mathbb E}_i |(Ax)_i|^2 = \frac{1}{n} |Ax|_2^2 \le \lambda^2$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can we say anything about the $k$-norm of $Ax$, &lt;/p&gt;&#xA;&#xA;&lt;p&gt;${\mathbb E}_i |(Ax)_i|^k = \frac{1}{n} |Ax|_k^k$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;for $k \ge 2$?  For instance, is &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\frac{1}{n} |Ax|_3^3 \le \lambda^\alpha$ for some $\alpha &amp;gt; 2$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $x_i = \pm 1$ for all $i$, then this has to do with how nonuniform the neighborhoods are.  If a $\lambda^2$ fraction of vertices $i$ have the same value of $x_j$ for all their neighbors $j$ so that $|(Ax)_i|=1$, and the other $1-\lambda^2$ fraction have half $x_j=+1$ and half $x_j=-1$ so that $(Ax)_i=0$, then ${\mathbb E}_i |(Ax)_i|^k = \lambda$ for all $k$.  But is this possible?  If there is more of a spread in the fraction of neighbors $j$ with $a_j=+1$, then perhaps an nice inequality holds.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am especially interested in the case of Ramanujan-like graphs, where $\lambda = O(1/\sqrt{d})$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks!&#xA;- Cris&lt;/p&gt;&#xA;" OwnerUserId="10297" LastActivityDate="2012-08-06T22:22:25.040" Title="expansion with respect to p-norms for p other than 2" Tags="&lt;co.combinatorics&gt;&lt;spectral-graph-theory&gt;&lt;expanders&gt;&lt;norms&gt;" AnswerCount="0" CommentCount="2" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="12240" PostTypeId="1" CreationDate="2012-08-07T09:30:41.713" Score="0" ViewCount="167" Body="&lt;p&gt;I have a graph-problem which seems to be not very exotic but I do not know its proper name.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As given in the heading I am looking for a path between two given vertices that maximises the product of weights along the path, were all weights are in [0,1].&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Coverstory is that vertices are states and weights denote the probability of a transition along that edge. Since the probabilities are independent, the product is the probability that this path will happen.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any help with this would be appreciated especially the name of the problem or related google keywords, possible transformations into well known problems and/or an intuition about its complexity.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks!&lt;/p&gt;&#xA;" OwnerUserId="10300" LastEditorUserId="186" LastEditDate="2012-08-07T15:01:25.327" LastActivityDate="2012-08-07T15:01:25.327" Title="Finding a path between two given vertices that maximises the product of weights" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;" AnswerCount="0" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="12241" PostTypeId="1" CreationDate="2012-08-07T12:12:54.100" Score="0" ViewCount="125" Body="&lt;p&gt;I'm looking for a way to find the smallest possible regular-expression that accepts a sequence.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To make it interesting I don't want any stars(Kleene stars) and preferably no wildcards?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For instance the sequence : 'aaaaaaaa' would be accepted by 'a^8' and a^8 would be the shortest possible expression to accept the sequence.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does anyone body know how to generate such an expression?&lt;/p&gt;&#xA;" OwnerUserId="9537" LastEditorUserId="186" LastEditDate="2012-08-07T15:01:04.997" LastActivityDate="2012-08-07T15:01:04.997" Title="Given a sequence find the shortest reg exp that generates it?" Tags="&lt;ds.algorithms&gt;&lt;fl.formal-languages&gt;&lt;regular-expressions&gt;" AnswerCount="0" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="12245" PostTypeId="1" CreationDate="2012-08-07T22:28:20.827" Score="2" ViewCount="759" Body="&lt;p&gt;Is there a canonical name for the following data structure for list of lists?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose we have got a list of length $Z$ of finite lists $[a_0,\dots,a_n], [b_0,\dots,b_m], [c_0,\dots,c_o], \dots$ of the same data type, but with variable length. Then we can represent them in the following way in one single data strucutre.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $P = [0,p_1,p_2,\dots,p_Z]$ be a list of integers, and let&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$Q = [a_0,\dots,a_n,b_0,\dots,b_m,c_0,\dots,c_o,d_1,\dots ]$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;be the concatenation of all list entries. We demand that for all indices $0 \leq z &amp;lt; Z$ we have that the $z$-th list is given by the entries of Q with indices $q$, $P[z] \leq q &amp;lt; P[z+1]$. Note that $P[Z]$ is the total number of elements listed.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An instance of this idea is the compressed sparse rows format for sparse matrices&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Sparse_matrix#Compressed_sparse_row_.28CSR_or_CRS.29&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/Sparse_matrix#Compressed_sparse_row_.28CSR_or_CRS.29&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would like to know a proper for the general idea.&lt;/p&gt;&#xA;" OwnerUserId="4346" LastEditorUserId="186" LastEditDate="2012-08-08T07:27:49.543" LastActivityDate="2012-08-08T07:27:49.543" Title="Name this list-of-lists data structure" Tags="&lt;ds.data-structures&gt;&lt;terminology&gt;" AnswerCount="0" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="12250" PostTypeId="2" ParentId="9622" CreationDate="2012-08-08T07:59:55.483" Score="1" Body="&lt;p&gt;If we restrict $K$ and $L$ to be both ellipsoids, then your problem can be solved to any accuracy with an SDP. I know this is not what you asked originally, but it seems we have no solution even for this restricted case, and maybe it can help in general.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So let's say $E$ is the input ellipsoid and we are looking to find an optimal enclosing ellipsoid $J$. There exists a linear map $F$ s.t. $E = FB_2$ and a map $G$ s.t. $J = GB_2$, where $B_2$ is the unit ball. Then $\mathbb{E}_{x \sim J}[\|x\|_2^2] = \frac{1}{n}\mathsf{Tr}(G^TG)$. Also $E  \subseteq J \Leftrightarrow J^\circ \subseteq E^\circ$, where $E^\circ$ is the &lt;a href=&quot;http://ocw.mit.edu/courses/mathematics/18-409-topics-in-theoretical-computer-science-an-algorithmists-toolkit-fall-2009/lecture-notes/MIT18_409F09_scribe11.pdf&quot; rel=&quot;nofollow&quot;&gt;polar body&lt;/a&gt; of $E$. Conveniently, $E^\circ = \{x: x^TF^TFx \leq 1\}$ and $J^\circ = \{x: x^TG^TGx \leq 1\}$. It follows that $J^\circ \subseteq E^\circ$ (and therefore $E  \subseteq J$) if and only if $G^TG - F^TF$ is a positive semidefinite matrix. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;So the SDP is defined by: given a symmetric PSD matrix $M$, find a symmetric PSD matrix $N$ s.t. $N - M$ is PSD and $\mathsf{Tr}(N)$ is minimized. $N$ can be found by solving the SDP and then an SVD will give the axes and axes lengths of $J$. &lt;/p&gt;&#xA;" OwnerUserId="4896" LastActivityDate="2012-08-08T07:59:55.483" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12251" PostTypeId="1" CreationDate="2012-08-08T08:31:14.460" Score="3" ViewCount="630" Body="&lt;p&gt;I've got the following problem:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider a graph $G=(V,E)$ with $V=\{v_1,\ldots,v_n\}$, and edge-set $E=\{e_1,\ldots,e_m\}$, with associated costs $c_1,\ldots,c_m$. The problem is to find the shortest paths from an initial vertex $s$ to multiple targets $t_1,\ldots,t_k\,$, taking into account these costs. This is the shortest path problem. So minimize the sum of total costs from $s$ to all $t_1, \ldots , t_k$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My problem is similar, but now with the constraint that the total number of vertices (not counting $s$ and $t_1, \ldots ,t_k$) used by these shortest paths is bounded (upperbound) by an integer $M$ satisfying $0 \leqslant M \leqslant n - k - 1$. If a vertex is used by multiple paths, it only counts once for the constraint. So these paths can, together, use no more than $M$ vertices to go from $s$ to $t_1, \ldots, t_k$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is the complexity of this problem, is it polynomial or exponential? &#xA;Is this problem &lt;strong&gt;NP&lt;/strong&gt;-hard?&lt;/p&gt;&#xA;" OwnerUserId="10314" LastEditorUserId="10314" LastEditDate="2012-08-08T17:06:26.573" LastActivityDate="2012-08-08T17:06:26.573" Title="A constrained shortest path problem. What is the complexity?" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;&lt;shortest-path&gt;" AnswerCount="0" CommentCount="10" ContentLicense="CC BY-SA 3.0" />
  <row Id="12252" PostTypeId="1" CreationDate="2012-08-08T12:05:24.030" Score="8" ViewCount="265" Body="&lt;p&gt;Suppose we want to find the smallest element of a set $S$, whose elements are indexed from $1$ to $n$.  We do not have access to the values of these elements, but we can compare any two elements of $S$ to see which one is smaller.  For any indices $i$ and $j$, there is an associated &lt;strong&gt;cost&lt;/strong&gt; $C_{i,j}$ to compare the $i$th and $j$th elements of $S$.  The complete cost matrix $C_{i,j}$ is given to us in advance.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is well known that $n-1$ comparisons are necessary and sufficient to find the smallest element of $S$.  However, since each comparison may have a different cost, we also want to keep the total cost of the comparisons as small as possible. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Is there an online algorithm that finds a sequence of comparisons of small total cost that finds the smallest element of $S$?&lt;/strong&gt;  There is no online algorithm that finds the set of comparisons with &lt;em&gt;minimum&lt;/em&gt; total cost, even when $n=3$, but perhaps there is an online algorithm with small competitive ratio.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In particular, does allowing the online algorithm to perform more than $n-1$ comparisons help?  Is it better to make several &quot;extra&quot; cheap comparisons instead of a few expensive comparisons?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am especially interested in the case $C_{i,j} = 4^{d(i,j)}$, where $d$ is a discrete metric over the set $S$, and $0 \le d(i,j) \le k$, for all $i,j$.  An &lt;em&gt;optimal&lt;/em&gt; online algorithm is still impossible in this setting.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any references to similar problems are appreciated. I'm not searching for someone to solve my problem (although some ideas may help and are appreciated).  I just want to know if this problem is known. (I couldn't find anything.) &lt;/p&gt;&#xA;" OwnerUserId="1657" LastEditorUserId="1657" LastEditDate="2012-08-09T21:36:10.327" LastActivityDate="2012-08-11T06:09:26.807" Title="Cheap online selection with weighted comparisons" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;online-algorithms&gt;" AnswerCount="2" CommentCount="6" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="12253" PostTypeId="1" CreationDate="2012-08-08T12:37:52.790" Score="7" ViewCount="712" Body="&lt;p&gt;Suppose you have two vectors of real numbers $\langle a_1, \dots, a_n \rangle, \langle b_1, \dots, b_n \rangle$, with $a_i, b_i \geq 0$, and wish to compute the convolution&#xA;$$&#xA;c_i = \sum_{j \leq i} a_j b_{i-j}&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is an obvious algorithm to compute this in time $O(n^2)$. This obvious algorithm basically involves a sum of many positive summands, so there is no numerical cancellation. Hence the obvious algorithm is numerically stable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The other obvious algorithm is to use a Fast Fourier transform to compute $\hat a, \hat b$, obtain $\hat c = \hat a \hat b$, and then use an inverse transform to obtain $c$. This algorithm is much faster, like $O(n \log n)$ time. Unfortunately, the Fourier transforms require adding many terms with different complex phases, so there is catastrophic cancellation. So this algorithm is numerically unstable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there any algorithm which is both fast (near-linear time) and numerically stable?&lt;/p&gt;&#xA;" OwnerUserId="5538" LastActivityDate="2012-08-09T21:05:31.893" Title="Numerically stable fast convolution algorithm?" Tags="&lt;ds.algorithms&gt;&lt;na.numerical-analysis&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12255" PostTypeId="1" AcceptedAnswerId="12256" CreationDate="2012-08-09T05:52:01.670" Score="8" ViewCount="356" Body="&lt;p&gt;I am looking for sources about formalized notion of programs. This seems to be closely related to Curry-Howard correspondence, but one could also track this back to Universal Turing Machines and its ability to read description and input of any TM.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;When reading about Curry-Howard correspondece I feel that the primordiality of UTM-s can harm research on programs with the unique conclusion that any program can be reduced to symbols, states and rules. Does there exist the opposite approach, where high-level computation systems are defined and examined? What are good resources about it?&lt;/p&gt;&#xA;" OwnerUserId="10321" LastEditorUserId="-1" LastEditDate="2012-10-17T15:59:42.037" LastActivityDate="2012-10-17T15:59:42.037" Title="Proofs techniques related to Curry–Howard correspondence" Tags="&lt;pl.programming-languages&gt;&lt;universal-computation&gt;&lt;type-systems&gt;&lt;program-verification&gt;&lt;formal-methods&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="12256" PostTypeId="2" ParentId="12255" CreationDate="2012-08-09T08:35:30.563" Score="20" Body="&lt;p&gt;What you want exists, and is an enormous area of research: it's the entire theory of programming languages. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Loosely speaking, you can view computation in two ways. You can think of &lt;em&gt;machines&lt;/em&gt;, or you can think of &lt;em&gt;languages&lt;/em&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A &lt;em&gt;machine&lt;/em&gt; is basically some kind of finite control augmented with some (possibly unbounded) memory. This is why introductory TOC classes go from finite automata to pushdown automata to Turing machines --- each class takes a finite control and adds some more memory to it. (Nowadays, the finite control is often  limited even more, as in circuit models.)  The essential thing is that the finite control is given up front, and all at once. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A &lt;em&gt;language&lt;/em&gt; is a way of specifying a whole family of controls, in a compositional way. You have primitive forms for basic controls, and operators for building up larger controls from smaller ones. The primordial language, the lambda-calculus, in fact specifies &lt;em&gt;nothing but&lt;/em&gt; control -- the only things you can define are function abstractions, applications, and variable references. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can go back and forth between these two views: the $snm$-theorem is essentially a proof that Turing machines can implement function abstraction and application, and Church encodings demonstrate that the lambda-calculus can encode data. But there's nontrivial content in both of these theorems, and so you should not make the mistake of thinking that the two ways of understanding computation are the same.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Researchers in complexity and algorithms typically take machines as fundamental, because they are interested in &lt;em&gt;costs&lt;/em&gt; and in &lt;em&gt;feasibility&lt;/em&gt; results. To exaggerate a bit, the basic research question they have is: &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What is the &lt;em&gt;least powerful&lt;/em&gt; machine that can &lt;em&gt;solve&lt;/em&gt; a certain kind of problem? &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Language researchers take languages as fundamental, because we are interested in &lt;em&gt;expressiveness&lt;/em&gt; and &lt;em&gt;impossibility&lt;/em&gt; results. With a similar exaggeration, our basic research question is: &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What is the &lt;em&gt;most expressive&lt;/em&gt; language that &lt;em&gt;rules out&lt;/em&gt; a certain kind of bad behavior?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;As an aside, note how the two goods each kind of theoretician values are directly in conflict! Good work in algorithms and complexity lets you solve a harder problem, using less resources. Good work in languages lets programmers do more things, while forbidding more bad behaviors. (This conflict is basically why research is hard.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, you might ask why more Theory A types don't use languages, or why more Theory B researchers don't use machines. The reason arises from the shape of the basic research question. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that the stylized basic research question in algorithms/complexity is a lower bound question -- you want to know that you have the best solution, and that there is no possible way to do better, no matter how clever you are. A language definition &lt;em&gt;fixes the means of program composition&lt;/em&gt;, and so if you prove that a lower bound with a language model, then you might be left with the question of whether it might not somehow be possible to do better if you extended your language with some new feature. A machine model &lt;em&gt;gives you the whole control&lt;/em&gt; in one go, and so you know everything the machine can possibly do right from the outset. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;But machine specifications are exactly the wrong thing for saying interesting things about blocking bad behavior. A machine gives you a whole control up-front, but knowing that &lt;em&gt;one particular&lt;/em&gt; program is okay or bad doesn't help you when you want to extend it or use it as a subroutine -- as Perlis's epigram states, &quot;Every program is a part of some other program and rarely fits.&quot; Since language researchers are interested in saying things about whole &lt;em&gt;classes&lt;/em&gt; of programs, languages are much better suited for purpose. &lt;/p&gt;&#xA;" OwnerUserId="657" LastActivityDate="2012-08-09T08:35:30.563" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="12257" PostTypeId="1" CreationDate="2012-08-09T17:15:40.627" Score="26" ViewCount="3282" Body="&lt;p&gt;Volume III of Knuth's &lt;em&gt;The Art of Computer Programming&lt;/em&gt; (chapter 5, verse 3.2) includes the following table listing the &lt;em&gt;exact&lt;/em&gt; minimum number of comparisons required to select the $t$th smallest element from an unsorted set of size $n$, for all $1\le t \le n\le 10$.  This table, along with the well-known closed-form expressions $V_1(n) = n-1$ and $V_2(n) = n - 2 + \lceil n/2 \rceil$, represents &lt;em&gt;most&lt;/em&gt; of the state of the art &lt;strong&gt;as of 1976&lt;/strong&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/lEBNQ.png&quot; alt=&quot;Table from Knuth III:5.3.2&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Have any more &lt;em&gt;exact&lt;/em&gt; values of $V_t(n)$ been computed in the last 36 years?  I'm particularly interested in exact values of $M(n) = V_{\lceil n/2 \rceil}(n)$, the minimum number of comparisons required to compute the median.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;As @MarkusBläser points out, Knuth's table seems to already incorporate more recent results from Bill Gasarch, Wayne Kelly, and Bill Pugh (&lt;a href=&quot;http://dl.acm.org/citation.cfm?id=235772&quot; rel=&quot;noreferrer&quot;&gt;Finding the ith largest of n for small i,n&lt;/a&gt;. &lt;em&gt;SIGACT News&lt;/em&gt; 27(2):88-96, 1996.)&lt;/p&gt;&#xA;" OwnerUserId="111" LastEditorUserId="111" LastEditDate="2012-08-13T11:59:13.083" LastActivityDate="2013-06-05T02:17:15.743" Title="Exact number of comparisons to compute the median" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;co.combinatorics&gt;&lt;sorting&gt;&lt;selection&gt;" AnswerCount="2" CommentCount="13" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="12258" PostTypeId="1" AcceptedAnswerId="12260" CreationDate="2012-08-09T18:22:14.617" Score="-5" ViewCount="1271" Body="&lt;p&gt;&lt;em&gt;[Edited to provide better context.]&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;In &lt;a href=&quot;https://cstheory.meta.stackexchange.com/questions/1572/on-modifying-our-scope-a-proposal#comment5147_1572&quot;&gt;a comment on meta&lt;/a&gt;, JɛﬀE suggested that this would be a good topic for a question to ask here.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;why is a Turing machine defined as a 5-tuple?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2012-08-10T15:06:26.347" Title="why is a Turing machine defined as a 5-tuple?" Tags="&lt;soft-question&gt;&lt;turing-machines&gt;&lt;big-picture&gt;" AnswerCount="1" CommentCount="10" FavoriteCount="1" ClosedDate="2012-08-14T02:10:15.053" ContentLicense="CC BY-SA 3.0" />
  <row Id="12259" PostTypeId="1" CreationDate="2012-08-09T19:07:18.980" Score="12" ViewCount="168" Body="&lt;p&gt;I am looking for any related work to the following problem. Say you have a large directed graph $G$ and you want to find rare (or unique) subgraphs of minimal size that are not isomorphic to any other subgraph of $G$.  I assume this problem is NP-hard but is there any work on it? For example, exact algorithms for sparse, planar etc. graphs or approximation algorithms or even heuristics.  Just to fix ideas, every node or edge connected pair of nodes will be isomorphic to some other subgraph so the minimum size this could ever be in a non-trivial graph would be of size $3$ nodes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is a very nice bibliography as of 1995 of the subgraph isomorphism problem linked from David Eppstein's &lt;a href=&quot;http://www.ics.uci.edu/~eppstein/pubs/graph-sgi.html&quot;&gt;publication page&lt;/a&gt; . Is there anything more relevant to my problem?&lt;/p&gt;&#xA;" OwnerUserId="10328" LastEditorUserId="10328" LastEditDate="2012-08-09T19:12:39.290" LastActivityDate="2012-08-14T12:23:09.120" Title="Minimal rare subgraphs" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;graph-theory&gt;&lt;ds.data-structures&gt;" AnswerCount="0" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="12260" PostTypeId="2" ParentId="12258" CreationDate="2012-08-09T19:19:53.490" Score="7" Body="&lt;p&gt;&lt;em&gt;Short meta preamble &amp;mdash;&lt;/em&gt; Despite my misgivings (in particular, despite the comment on meta, I don't really think that this question is parallel to the question of &lt;a href=&quot;https://mathoverflow.net/questions/19152/why-is-a-topology-made-up-of-open-sets/30231&quot;&gt;why one should define topologies in terms of open sets&lt;/a&gt;), I think it may be important for the sake of the exercise and in particular as a point of empiricism to see if we can squeeze out a meaningful answer to this particular question. &lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;We have to recall that the theory of computation began a few decades after mathematicians and logicians became quite keen on formalization, and in particular on simple, universal foundations for mathematics. In particular, when Turing defined his machines, people had recently been &lt;a href=&quot;http://en.wikipedia.org/wiki/Ordered_pair#Defining_the_ordered_pair_using_set_theory&quot; rel=&quot;nofollow noreferrer&quot;&gt;fretting about the best way to define ordered pairs in terms of sets&lt;/a&gt;. This sort of pre-occupation with minutiae probably strikes some of us as a little bit funny today, but it was the context in which definitions were set out.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As I hint in my comment above about groups &amp;mdash; that although they are sometimes described as an ordered pair $(G,\ast)$ consisting of a set $G$ and some binary operator $\ast$, most people talk about $G$ itself as though it were the group &amp;mdash; the notion that a Turing machine is a tuple is really beside the point; the role served by the tuple description is just to say that &lt;em&gt;the machine is characterized by a collection of mathematical objects which have some relationships to one another&lt;/em&gt;.&#xA;Furthermore, whether it is a 5-tuple, or a 7-tuple, depends on how you want to present the particular mathematical pieces. It makes a lot of sense to lump some of them together, as I argue below, so that (if you care about tuples) you can have some sort of argument as to the &quot;best&quot; arity of the tuple.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;The set of states $Q$ is simple enough and could stand on its own, but doesn't really have any meaning on its own either, without &lt;em&gt;e.g.&lt;/em&gt;&amp;nbsp;the transition function alongside it to give it the semantics of the state of a &quot;machine&quot; which depends on &quot;time&quot;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The initial state, and the halting states, of the machine are just special elements of $Q$. These can be supplied separately (with the proviso that they are elements of $Q$), or we might say that $Q$ is not merely a set but some more exotic object in which the distinguished elements are supposed to be given.&#xA;For instance, perhaps $Q$ is a &lt;a href=&quot;http://en.wikipedia.org/wiki/Pointed_set&quot; rel=&quot;nofollow noreferrer&quot;&gt;&lt;em&gt;pointed set&lt;/em&gt;&lt;/a&gt; in which the initial state is an intrinsically special element, so that we could easily describe the unions of languages by joins of nondeterministic Turing machines which accept those languages. Perhaps some other clever special roles could be given to accept and reject states; or perhaps those could just be states designated specially by the transition function, rather than along with $Q$ or separately on their own.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The alphabet on which the machine acts can again stand on its own, and it makes an enormous amount of sense to consider this again as a &lt;a href=&quot;http://en.wikipedia.org/wiki/Pointed_set&quot; rel=&quot;nofollow noreferrer&quot;&gt;pointed set&lt;/a&gt;, where the blank symbol is the special element, rather than supplying that blank symbol separately.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The tape is some function from a set such as $\mathbb N$ to the alphabet in which all but finitely many symbols are blank; so the tape immediately has some relation to the alphabet as a pointed set.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Finally, the transition function is impossible to define without the set of states, the alphabet, and the tape &amp;mdash; but it is what gives them meaning as a model of computation by giving some sort of sense of evolution via repeated application.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Recognizing that this is what we care about in the definition of a Turing machine, the only thing that a tuple (of any arity) serves to do is to present them all together, in definite positions so that (if your foundations of mathematics are so thoroughly set-theoretic that you would be constitutionally unable to distinguish &lt;a href=&quot;http://en.wikipedia.org/wiki/Von_Neumann_ordinal#Von_Neumann_definition_of_ordinals&quot; rel=&quot;nofollow noreferrer&quot;&gt;the number zero from the empty set&lt;/a&gt;) you can tell which is supposed to be the set of states $Q$ and which is supposed to be the transition function.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Indeed, if you want to describe Universal Turing Machines, in which a machine can read an encoding of another machine, &lt;em&gt;some&lt;/em&gt; encoding must be used; and so describing a Turing machine as a tuple of some sort is a reasonable conceit. But does this mean that a Turing machine is really &quot;a tuple&quot;, as opposed to being &lt;em&gt;presentable&lt;/em&gt; (really, encodable) as a tuple? Not meaningfully so. They might be presented just as well or better in terms of categories, or some class of mathematical structures of which Turing machines are the first interesting exemplar.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Mathematical objects, Turing machines included, derive their &lt;em&gt;meaning&lt;/em&gt; from what they &lt;em&gt;do&lt;/em&gt;. What tuples &lt;em&gt;do&lt;/em&gt; is present several things at once; they are a data structure. What Turing machines &lt;em&gt;do&lt;/em&gt; is allow us to express a robust notion of computability through the relationships of several related mathematical structures, and through our understanding of how to apply those relationships to things that we care about.&lt;/p&gt;&#xA;" OwnerUserId="248" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2012-08-09T20:29:46.197" CommentCount="5" CommunityOwnedDate="2012-08-09T19:19:53.490" ContentLicense="CC BY-SA 3.0" />
  <row Id="12261" PostTypeId="2" ParentId="12253" CreationDate="2012-08-09T20:41:23.053" Score="1" Body="&lt;p&gt;There is the number theoretic transform where all calculations are done using integers which should completely get round any concerns about numerical stability, at the possible expense of some speed (see e.g. &lt;a href=&quot;https://ccrma.stanford.edu/~jos/st/Number_Theoretic_Transform.html&quot; rel=&quot;nofollow&quot;&gt;https://ccrma.stanford.edu/~jos/st/Number_Theoretic_Transform.html&lt;/a&gt;).  However this will only work for you if your numbers are rational and can be converted to integer representation easily.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is also a whole range of asymptotically slower algorithms known as Toom-Cook multiplication &lt;a href=&quot;http://en.wikipedia.org/wiki/Toom-Cook_multiplication&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/Toom-Cook_multiplication&lt;/a&gt;. However, I am not sure it is true that multiplication via FFT calculations is necessarily numerically unstable. Do you have a reference for this claim?  &lt;/p&gt;&#xA;" OwnerUserId="10328" LastEditorUserId="10328" LastEditDate="2012-08-09T21:05:31.893" LastActivityDate="2012-08-09T21:05:31.893" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12262" PostTypeId="1" CreationDate="2012-08-09T21:17:33.200" Score="2" ViewCount="269" Body="&lt;p&gt;Consider a directed graph where the edges are labelled with integer values.  In such a graph a path $a \rightarrow b \rightarrow c \rightarrow d$ is valid if the values of the labels of the edges followed strictly increase along the path.  I would like to be able to compute standard graph properties taking into account this extra restriction. Have such graphs been considered in the theory literature before?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT: (This should be a comment but it is too long.) There is a simple reduction that follows by replacing each node $A$ by a bipartite graph with indegree($A$) incoming nodes and outdegree($A$) outgoing nodes. We can then connect the relevant incoming nodes to the outgoing nodes that respect the precedence constraints. This would increase the total number of edges by an additive term which is something like the sum of the square of the degrees of the nodes, where $n$ is the number of nodes in the original. Alternatively one can choose a more compact encoding where the nodes in the first half of the bipartite graph are connected in a line and so are the nodes in the second half and the nodes across from the first half to the second just point to the first node with a valid outgoing edge. This reduces the additive expansion factor to something like $n$ times the average degree of the nodes. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Unfortunately, neither reduction preserves crucial properties of the graph. As an example of the problem, if I want to find out if there is a simple path of length $k$ in the original graph, we can't simply look for simple paths in the transformed graphs. The reason is that a simple path in the transformed graph may correspond to a cycle in the original graph.  This means that any graph algorithm will have to be modified to take into account which nodes are in fact the same. In particular any algorithm that relies simply on a matrix representation of the graph (or its eigendecomposition) will not work any more.   &lt;/p&gt;&#xA;" OwnerUserId="10328" LastEditorUserId="10328" LastEditDate="2012-08-11T09:23:16.040" LastActivityDate="2012-08-11T09:23:16.040" Title="Graphs with precedence constraints on paths" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;graph-theory&gt;" AnswerCount="0" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="12263" PostTypeId="1" CreationDate="2012-08-10T00:52:25.937" Score="8" ViewCount="368" Body="&lt;p&gt;I would like to know the importance of TCS in Malware research. Due to the large volume of new malware variants received per day (~50,000 samples/day according to McAfee), malware researchers are heavily dependent on dynamic analysis (i.e. running the samples in a sandbox and monitoring their behavior) and moving away from static analysis and Reverse engineering as these approaches are very time consuming and sometimes becomes very challenging due to  obfuscation/encryption. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I found a very useful &lt;a href=&quot;http://www.youtube.com/watch?v=k4Ry1trQhDk&quot;&gt;talk&lt;/a&gt; (BlackHat 2010) by Greg Hoglund on &lt;code&gt;Malware attribution&lt;/code&gt; where the speaker talks about the importance of bringing in the malware authors and their networks into the picture which gives valuable information than just analyzing the binary itself.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have two questions:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;If malware researchers move towards analyzing the behavior of malware authors and their network, in the future does TCS has any importance in malware research.  &lt;/li&gt;&#xA;&lt;li&gt;As I am not strong in TCS, I would like to know where exactly TCS fits&#xA;in malware research.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Thank you.&lt;/p&gt;&#xA;" OwnerUserId="8262" LastActivityDate="2012-08-10T18:54:38.687" Title="Appilicability of Theoritical Computer Science in Malware research" Tags="&lt;cr.crypto-security&gt;&lt;security&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="12265" PostTypeId="1" CreationDate="2012-08-10T05:04:05.160" Score="1" ViewCount="94" Body="&lt;p&gt;Are there any papers that deal with something like the following scenario?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a large corpus of text, find all n-tuples of documents that are semantically identical.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is not a categorization problem as if it were to be treated as one, there would be an indeterminate (until its finished) number of categories, with the vast majority of categories only having one document in them.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In fact, I don't think it is a part of any of &lt;a href=&quot;http://en.wikipedia.org/wiki/Natural_language_processing#Major_tasks_in_NLP&quot; rel=&quot;nofollow&quot;&gt;these&lt;/a&gt; major areas on NLP.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Additionally, I believe that all purely statistical approaches are doomed to fail here as the training set cannot cover every post.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, are there any papers on this topic?&lt;/p&gt;&#xA;" OwnerUserId="8279" LastEditorUserId="186" LastEditDate="2012-08-11T23:28:37.363" LastActivityDate="2012-08-11T23:28:37.363" Title="Semantic similarities in text" Tags="&lt;reference-request&gt;" AnswerCount="0" CommentCount="4" ClosedDate="2013-02-12T23:42:14.337" ContentLicense="CC BY-SA 3.0" />
  <row Id="12266" PostTypeId="1" CreationDate="2012-08-10T05:48:28.897" Score="4" ViewCount="238" Body="&lt;p&gt;Where can I find surveys in languages than English ? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If the question is found to be interesting (it could be usefull for graduated students who are not fluent in English for instance), it would be practical to propose one reference by answer, i.e. by subject and by language.&lt;/p&gt;&#xA;" OwnerUserId="6346" LastEditorUserId="5385" LastEditDate="2012-08-22T17:59:58.130" LastActivityDate="2012-08-22T17:59:58.130" Title="Surveys in other languages than English" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;soft-question&gt;&lt;big-picture&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="12267" PostTypeId="2" ParentId="12266" CreationDate="2012-08-10T05:49:38.037" Score="1" Body="&lt;p&gt;To open the list, here is a survey on SAT in French by Cristina Bazgan: &#xA;&lt;a href=&quot;http://www.lamsade.dauphine.fr/~bazgan/Papers/chap07.pdf&quot; rel=&quot;nofollow&quot;&gt;Optimisation Combinatoire : problèmes paradigmatiques et nouvelles problématiques, Hermes, ed. Vangelis Paschos, pp. 21-50, 2007&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="6346" LastEditorUserId="6346" LastEditDate="2012-08-10T08:05:49.930" LastActivityDate="2012-08-10T08:05:49.930" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12268" PostTypeId="1" AcceptedAnswerId="19171" CreationDate="2012-08-10T12:34:20.990" Score="16" ViewCount="1093" Body="&lt;p&gt;If we have a large (directed) graph $G$ and a smaller rooted tree $H$, what is the best known complexity for finding subgraphs of $G$ isomorphic to $H$?  I am aware of results for subtree isomorphism where both $G$ and $H$ are trees and also where $G$ is planar or has bounded treewidth (and others) but not for this graph and tree case.  &lt;/p&gt;&#xA;" OwnerUserId="1864" LastActivityDate="2013-10-01T13:37:41.490" Title="Subgraph isomorphism with a tree" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;graph-theory&gt;" AnswerCount="3" CommentCount="5" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12269" PostTypeId="1" CreationDate="2012-08-10T16:05:02.903" Score="8" ViewCount="280" Body="&lt;p&gt;Does anybody know of any work that links Theoretical Computer Science and Cheap/Sustainable Energy? i.e is there any work in TCS with the application being in Cheap/Sustainable Energy.&lt;/p&gt;&#xA;" OwnerUserId="10333" LastEditorUserId="186" LastEditDate="2012-08-11T23:14:07.677" LastActivityDate="2012-08-14T09:37:41.737" Title="Is there any link between TCS and Sustainable Energy research?" Tags="&lt;application-of-theory&gt;" AnswerCount="2" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12270" PostTypeId="2" ParentId="12269" CreationDate="2012-08-10T16:43:46.603" Score="7" Body="&lt;p&gt;I'm sure there are quite a few, but here's one. The &quot;standard&quot; book on Kolmogorov complexity by Li &amp;amp; Vitanyi has a chapter on physics, information and computation. The part dealing with energy goes back to the likes of von Neumann and Landauer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The book looks at energy dissipation from the TCS point of view. Basically, advances in the miniaturization and mobilization of devices will at some point require almost dissipationless computing. It seems that there are no physical laws that require reversible computation to dissipate energy. The book looks briefly at some physical implementations of reversible computers that are theoretically possible. There's also a logical model: the reversible Turing machine.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In addition to Li &amp;amp; Vitanyi, you can take a look at [1] and [2]. You might also be interested in the question &lt;a href=&quot;https://cs.stackexchange.com/questions/271/is-there-an-abstract-machine-that-can-capture-power-consumption&quot;&gt;Is there an abstract machine that can capture power consumption?&lt;/a&gt; on CS.SE.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;[1] R. Landauer. Irreversibility and heat generation in the computing process. IBM J. Res. Develop., 5:183–191, 1961.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] C.H. Bennett and R. Landauer. The fundamental physical limits of computation. Scientific American, 256(7):48–56, July 1985.&lt;/p&gt;&#xA;" OwnerUserId="5693" LastEditorUserId="-1" LastEditDate="2017-04-13T12:48:30.830" LastActivityDate="2012-08-14T09:37:41.737" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12271" PostTypeId="2" ParentId="12252" CreationDate="2012-08-10T17:17:21.597" Score="-3" Body="&lt;p&gt;A start is:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Sort all elements of your cost matrix C&lt;/li&gt;&#xA;&lt;li&gt;Perform the lowest cost comparison first, putting the loser in set NOPE&lt;/li&gt;&#xA;&lt;li&gt;For each subsequent cost comparison, if either of the the two elements is in NOPE, don't perform the comparison&lt;/li&gt;&#xA;&lt;li&gt;You have to keep going until all but one element is in NOPE, which is n-1 comparisons.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Is this a decent algorithm?  Depends on the relative cost of sorting C vs. doing the comparisons in S:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;For any item you are evaluating, if there were a comparison cheaper than the current one being performed, it has already been performed, and the current item won that comparison&lt;/li&gt;&#xA;&lt;li&gt;Cost == n^2 numeric comparisons to sort C, plus n-1 comparisons of S&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;-t.&lt;/p&gt;&#xA;" OwnerUserId="10335" LastActivityDate="2012-08-10T17:17:21.597" CommentCount="14" ContentLicense="CC BY-SA 3.0" />
  <row Id="12272" PostTypeId="2" ParentId="12263" CreationDate="2012-08-10T18:54:38.687" Score="1" Body="&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Fred_Cohen&quot; rel=&quot;nofollow&quot;&gt;Fred Cohen&lt;/a&gt; is an authority &amp;amp; early researcher on the theory of computer viruses.  see that wikipedia page for references. his 1987 paper is given credit as maybe the 1st analogy of the virus checking problem to the halting problem. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;the basic idea is to create a program X that calls a virus checking subroutine with a program code as parameter. then, if the subroutine returns &quot;is a virus&quot;, exit. if it returns &quot;is not a virus&quot;, infect the system. such a program cannot exist by diagonalization/contradiction, passing its own code as the parameter. therefore there is no perfect virus checker. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;but it would seem an easy counterargument to this statement could be, program X contains a harmful section of code, and that its irrelevant whether it is called or not-- the program is potentially harmful if it contains any &quot;harmful section of code&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;as I recall this result was published separately in a mathematical journal but cant find the reference right now.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;a more recent/advanced topic is detecting polymorphic viruses that change their code in equivalent but random ways.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;another promising approach that seems to avoid the halting problem issue (in a way that demonstrates abstract theoretical &quot;no-go theorems&quot; can be misleading or even inapplicable in practice) is to create a secure &quot;sandbox&quot; in which a program can run but cannot do anything harmful.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;the modern web browser can be seen as an attempt to build such a system. the complexity of securing it arises mainly with Javascript.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Google is building the NaCL[3] framework that partly originated in academia and is the current leading contender for a high functional sandbox system integrated into the modern browser that still allows machine code. a provably secure software checker validates candidate programs. there are recent dramatic improvements announced[4].&lt;/p&gt;&#xA;&#xA;&lt;p&gt;a novel recent idea is to use graph based analysis of execution traces[5].&lt;/p&gt;&#xA;&#xA;&lt;p&gt;a more recent topic of virtualization has various security implications/applications as you note eg virus vendors building virtualization systems to find/detect viruses etc.[6]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;the sophistication of the recent &lt;a href=&quot;http://en.wikipedia.org/wiki/Stuxnet&quot; rel=&quot;nofollow&quot;&gt;stuxnet virus&lt;/a&gt;, apparently the worlds 1st state/govt-sponsored, military-agency-developed virus for cyber/espionage/sabotage purposes, has led to serious/heavy academic study, see the extensive references on wikipedia. there is a recent/new variant discovered targeting the financial industry called &lt;a href=&quot;http://en.wikipedia.org/wiki/Flame_%28malware%29&quot; rel=&quot;nofollow&quot;&gt;flame&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] &lt;a href=&quot;http://www.research.ibm.com/antivirus/SciPapers/VB2000DC.htm&quot; rel=&quot;nofollow&quot;&gt;An Undetectable Computer Virus David M. Chess and Steve R. White&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] &lt;a href=&quot;http://all.net/books/tech/japan.pdf&quot; rel=&quot;nofollow&quot;&gt;Trends in computer virus research&lt;/a&gt; Cohen, 1991&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[3] &lt;a href=&quot;http://static.googleusercontent.com/external_content/untrusted_dlcp/research.google.com/en/us/pubs/archive/34913.pdf&quot; rel=&quot;nofollow&quot;&gt;Native Client: A Sandbox for Portable, Untrusted x86 Native Code&lt;/a&gt; by Yee et al 2009&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[4] &lt;a href=&quot;http://phys.org/news/2012-07-nacl-rocksalt-scientists-tool-software.html&quot; rel=&quot;nofollow&quot;&gt;NaCl to give way to RockSalt: Computer scientists develop a tool to improve software fault isolation&lt;/a&gt; 2012&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[5] &lt;a href=&quot;http://www.stat.lanl.gov/staff/CurtStorlie/malware_JCV.pdf&quot; rel=&quot;nofollow&quot;&gt;Graph-based malware detection using dynamic analysis&lt;/a&gt; by Anderson et al&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[6] &lt;a href=&quot;http://www.csc.liv.ac.uk/~grant/PS/eicar.pdf&quot; rel=&quot;nofollow&quot;&gt;Detection of Metamorphic and Virtualization-based&#xA;Malware using Algebraic Specification&lt;/a&gt; by Webster, Malcolm&lt;/p&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2012-08-10T18:54:38.687" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12274" PostTypeId="2" ParentId="6903" CreationDate="2012-08-11T01:01:29.473" Score="2" Body="&lt;p&gt;There is now a &lt;a href=&quot;http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/SFMT/JUMP/index.html&quot; rel=&quot;nofollow&quot;&gt;jump function&lt;/a&gt; for &lt;a href=&quot;http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/SFMT/index.html&quot; rel=&quot;nofollow&quot;&gt;SFMT&lt;/a&gt; (a fast Mersenne Twister implementation).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This allows me to initialise 1000 MTs so that there is no cycle overlap. And SFMT should be faster than MTGP. Almost perfect for my purposes.&lt;/p&gt;&#xA;" OwnerUserId="74" LastActivityDate="2012-08-11T01:01:29.473" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12276" PostTypeId="2" ParentId="7862" CreationDate="2012-08-11T02:42:47.223" Score="16" Body="&lt;p&gt;This isn't my answer, but Terrence Tao gave &lt;a href=&quot;https://mathoverflow.net/questions/3820/how-hard-is-it-to-compute-the-number-of-prime-factors-of-a-given-integer/10062#10062&quot;&gt;a beautiful answer&lt;/a&gt; to this question on MathOverflow.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here are the first few lines of his answer. To read the complete answer, follow the link.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;There is a folklore observation that if one was able to quickly count the number of prime factors of an integer n, then one would likely be able to quickly factor n completely. So the counting-prime-factors problem is believed to have comparable difficulty to factoring itself.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;(I wasn't sure whether this should be an answer or a comment. But it is really an answer, although it isn't written by me. I've made the answer Community Wiki so that it may be upvoted or accepted without unnecessarily giving me reputation.)&lt;/p&gt;&#xA;" OwnerUserId="206" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.530" LastActivityDate="2012-08-11T02:42:47.223" CommentCount="3" CommunityOwnedDate="2012-08-11T02:42:47.223" ContentLicense="CC BY-SA 3.0" />
  <row Id="12277" PostTypeId="2" ParentId="12269" CreationDate="2012-08-11T05:05:13.427" Score="8" Body="&lt;p&gt;Kirk Pruhs is a leader in the area of &quot;green computing&quot;, the study of algorithms that treat energy as an expensive resource. Take a look at &lt;a href=&quot;http://www.dagstuhl.de/mat/Files/11/11091/11091.PruhsKirk.Slides.pdf&quot;&gt;these slides&lt;/a&gt; and  &lt;a href=&quot;http://www.cs.pitt.edu/~kirk/papers/sigactreview.pdf&quot;&gt;this survey&lt;/a&gt; by Sandy Irani and Pruhs.&lt;/p&gt;&#xA;" OwnerUserId="15" LastActivityDate="2012-08-11T05:05:13.427" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12278" PostTypeId="2" ParentId="12252" CreationDate="2012-08-11T06:09:26.807" Score="6" Body="&lt;p&gt;Brute-force case analysis reveals that the optimal competitive ratio for the special case  $n=3$, with no other restrictions on the cost matrix, is the golden ratio $\phi = (\sqrt{5}+1)/2$.  &lt;strong&gt;Thus, no online algorithm can achieve a competitive ratio better than $\phi$.&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose $C_{1,2}=0$, $C_{1,3}=1$, and $C_{2,3}=\phi$.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Without loss of generality, the algorithm starts by comparing $S_1$ to $S_2$, at cost zero.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The adversary declares $S_1 &amp;gt; S_2$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;If the algorithm compares $S_1$ to $S_3$:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The adversary declares $S_1 &amp;gt; S_3$.&lt;/li&gt;&#xA;&lt;li&gt;The algorithm must compare $S_2$ and $S_3$.&lt;/li&gt;&#xA;&lt;li&gt;The adversary declares $S_2 &amp;lt; S_3$, so $S_2$ is the minimum.&lt;/li&gt;&#xA;&lt;li&gt;The total cost of the algorithm's comparisons is $1+\phi$.&lt;/li&gt;&#xA;&lt;li&gt;The adversary reveals the total order $S_2 &amp;lt; S_3 &amp;lt; S_1$.&lt;/li&gt;&#xA;&lt;li&gt;The total cost of the optimal comparisons ($S_1&amp;gt;S_2$ and $S_2&amp;lt;S_3$) is $\phi$.&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;If the algorithm compares $S_2$ to $S_3$:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The adversary declares $S_3 &amp;gt; S_2$, so $S_2$ is the minimum.&lt;/li&gt;&#xA;&lt;li&gt;The total cost of the algorithm's comparisons is $\phi$.&lt;/li&gt;&#xA;&lt;li&gt;The adversary reveals the total order $S_2 &amp;lt; S_1 &amp;lt; S_3$.&lt;/li&gt;&#xA;&lt;li&gt;The total cost of the optimal comparisons ($S_1&amp;gt;S_2$ and $S_1&amp;lt;S_3$) is $1$.&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;In either case, the algorithm's comparisons cost a factor of $\frac{1+\phi}{\phi} = \frac{\phi}{1} = \phi$ more than the optimal set of comparisons for the revealed total order.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;More generally, the competitive ratio is $\min\{\frac{a+c}{a+b} , \frac{a+b+c}{a+c}\}$, where $a\le b\le c$ are the three comparison costs.  (There are more cases to consider here, because there are optimal algorithms that do not perform the cheapest comparison first, but the case analysis is still elementary.)  Tedious calculations imply that the expression $\min\{\frac{a+c}{a+b} , \frac{a+b+c}{a+c}\}$ is maximized when $a=0$, $b=1$, and $c=\phi$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In particular, if $\frac{a+c}{a+b} &amp;gt; \frac{a+b+c}{a+c}$, the best possible algorithm can be forced to perform all three comparisons.&lt;/p&gt;&#xA;" OwnerUserId="111" LastActivityDate="2012-08-11T06:09:26.807" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="12279" PostTypeId="2" ParentId="12162" CreationDate="2012-08-11T20:01:18.213" Score="6" Body="&lt;p&gt;An example of an infinite family of problems (of questionable practical value) for which we can show:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;That for each problem there exists an algorithm to solve it.&lt;/li&gt;&#xA;&lt;li&gt;That there is no way to construct these algorithms (in general).&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;In other words, a provably non-constructive proof. Our family of problem (from &lt;a href=&quot;https://cs.stackexchange.com/q/3090/55&quot;&gt;this question&lt;/a&gt;) for each Turing machine $M$:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$L_{M}=\Bigl\{\langle M'\rangle \;\Big|\;\; L(M)=L(M') \text{ and } |\langle M\rangle| \geq | \langle M' \rangle| \Bigr\} $ &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;For each $M$ this is a finite set, and thus decidable. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;If we had a constructive proof $P$ (in a suitable formal system) that given a description of a Turing Machine $M$ generated a Turing Machine $P(\langle M \rangle)$ that decided $L_M$ then given two machines $M$ and $M'$ (with $|\langle M \rangle | \geq |\langle M' \rangle|$) then we could test for equality of the languages recognized by these machines by running $P(\langle M \rangle)(\langle M' \rangle)$. An impossibility by Rice's theorem; thus, such a constructive proof $P$ does not exist.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="1037" LastEditorUserId="-1" LastEditDate="2017-04-13T12:48:30.830" LastActivityDate="2012-08-11T20:01:18.213" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="12280" PostTypeId="1" CreationDate="2012-08-12T03:45:08.787" Score="11" ViewCount="363" Body="&lt;p&gt;This is similar to SAT, except that we know the assignment of each variable, but do not know the assignment of any boolean operator. In that case, is finding the assignment of each operator so the expression evaluates to a given boolean value a NPC problem? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Actually, I was wondering if finding assignment of arithmetic operators to satisfy an integer arithmetic expression(e.g., $1$ $op_1$ $3$ $op_2$ $7$ $op_3$ $op_4$ = 10) is NP complete?&lt;/p&gt;&#xA;" OwnerUserId="10349" LastEditorUserId="10349" LastEditDate="2012-08-14T17:35:58.683" LastActivityDate="2012-08-14T23:13:20.253" Title="Is the problem of finding operators to satisfy a list of boolean variables NP complete?" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;" AnswerCount="2" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="12281" PostTypeId="2" ParentId="12280" CreationDate="2012-08-12T05:36:23.430" Score="10" Body="&lt;p&gt;With addition and subtraction, I think the &lt;a href=&quot;http://en.wikipedia.org/wiki/Partition_problem&quot;&gt;Partition problem&lt;/a&gt;, which is NP-hard, reduces to your second problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a set $S = \{s_1, s_2, \ldots, s_n\}$ we create the problem &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$s_1$ $op_1$ $s_2$ $op_2$ $s_3$ $op_3$ $\ldots op_{n-1}$ $s_n = 0$.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If a solution exists, we create two sets:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$S_1 = \{s_1\}\cup \{s_i | op_{i-1} = +\}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$S_2 =  \{s_i | op_{i-1} = -\}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;These two sets have to have the same sum by the setup of our original problem, so the partition problem is solved.  This shows that not only is coming up with the actual solution to this problem hard, it's in fact NP hard to determine if a solution exists (at least for addition and subtraction).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For a set of operations that doesn't allow creation of negative integers, say multiplication and addition, it's not so clear.  Also, this only shows that the problem is weakly NP-hard; there may be a reduction that gives a stronger result than this.&lt;/p&gt;&#xA;" OwnerUserId="8927" LastEditorUserId="567" LastEditDate="2012-08-12T13:54:27.173" LastActivityDate="2012-08-12T13:54:27.173" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="12282" PostTypeId="1" AcceptedAnswerId="12286" CreationDate="2012-08-12T07:08:40.627" Score="7" ViewCount="149" Body="&lt;p&gt;I'm investigating whether it is feasible to be able to learn a system interface by watching network traffic (assuming the usual problems are solved e.g. encryption etc)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I haven't been able to find any literature on this - but there might be a cross-discipline piece of work which could assist.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The main purpose here would be to allow complex enterprise systems to be refactored independently. A simple replay of data doesn't always work because we want to learn the request-response interface - though e.g. something like a market trade having multiple fills is an example of very complex orchestration that might make the whole thing unpractical.&lt;/p&gt;&#xA;" OwnerUserId="10352" LastActivityDate="2012-08-13T10:49:47.260" Title="Is it possible to create a machine learning classifier to generate Mock interfaces for systems testing?" Tags="&lt;machine-learning&gt;&lt;network-modeling&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12283" PostTypeId="2" ParentId="2312" CreationDate="2012-08-12T11:08:15.347" Score="7" Body="&lt;p&gt;Your problem has a logarithmic approximation by reduction to a quadratic programming problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The MaxQP problem is the problem of approximating the quadratic form $x^TMx$ for a $n \times n$ matrix $M$, where $x$ ranges over $\{\pm 1\}^n$. MaxCut can be written in this form by setting $M = \frac{1}{2n}(\sum{w_e})I - \frac{1}{2}A$ where $I$ is the identity matrix and $A$ is the adjacency matrix. The &lt;a href=&quot;http://www.cs.princeton.edu/~moses/papers/maxqp.ps&quot; rel=&quot;nofollow noreferrer&quot;&gt;MaxQP algorithm of Charikar and Wirth&lt;/a&gt; gives an $O(\log n)$ approximation for MaxQP as long as $M$ has a non-negative diagonal. So as long as $\sum{w_e} \geq 0$, MaxCut with negative weights has a logarithmic approximation. &lt;/p&gt;&#xA;" OwnerUserId="4896" LastEditorUserId="4896" LastEditDate="2016-11-11T01:07:35.357" LastActivityDate="2016-11-11T01:07:35.357" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12285" PostTypeId="1" CreationDate="2012-08-12T20:39:03.513" Score="6" ViewCount="215" Body="&lt;p&gt;I'm trying to implement an online distinct counting algorithm, and I have thousands of small sets of 32 bit IP addresses whose sizes I want to estimate with high accuracy (1-5%). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I came across quite a few algorithms such as linear counting$^1$, PCSA$^2$, HyperLogLog$^3$ etc. According to their papers, their space needed varies with relative error as $1/\epsilon^2$. For my purpose, this seems really wasteful e.g., PCSA needs &gt; 10,000 bits when the set size is 50 and $\epsilon$ is 1%. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there any reason why in practice, we may not need that many bits? Is there any algorithm that uses little space to estimate the size of small sets with high accuracy? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;References:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] Linear Counting: Kyu-Young Whang, Brad T. Vander-Zanden, and Howard M. Taylor. 1990. A linear-time probabilistic counting algorithm for database applications. ACM Trans. Database Syst. 15, 2 (June 1990), 208-229. DOI=10.1145/78922.78925 &lt;a href=&quot;http://doi.acm.org/10.1145/78922.78925&quot;&gt;http://doi.acm.org/10.1145/78922.78925&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] PCSA: Philippe Flajolet and G. Nigel Martin. 1985. Probabilistic counting algorithms for data base applications. J. Comput. Syst. Sci. 31, 2 (September 1985), 182-209. DOI=10.1016/0022-0000(85)90041-8 &lt;a href=&quot;http://dx.doi.org/10.1016/0022-0000(85)90041-8&quot;&gt;http://dx.doi.org/10.1016/0022-0000(85)90041-8&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[3] HyperLoglog: the analysis of a near-optimal cardinality estimation algorithm, by Philippe Flajolet, Éric Fusy, Olivier Gandouet, and Frédéric Meunier. Proceedings of the AofA07 Conference (Analysis of Algorithms-2007), published in Discrete Mathematics and Theoretical Computer Science (DMTCS) Proceedings, vol AH, pp. 127--146 (2007).&lt;/p&gt;&#xA;" OwnerUserId="10355" LastEditorUserId="-1" LastEditDate="2012-11-11T06:16:45.613" LastActivityDate="2013-08-16T17:22:27.420" Title="What are good set size estimation algorithms for small sets (around 10-50 elements)?" Tags="&lt;db.databases&gt;&lt;online-algorithms&gt;&lt;ni.networking-internet&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12286" PostTypeId="2" ParentId="12282" CreationDate="2012-08-13T10:49:47.260" Score="4" Body="&lt;p&gt;A classical result from automaton theory shows that even the problem of finding minimum-size DFA consistent with given positive and negative samples is NP-hard. This was shown by Gold in 1978. Your problem is much harder, as in practice you would have to learn data relationships in addition to any finite-state control of the system interface.&lt;/p&gt;&#xA;" OwnerUserId="4576" LastActivityDate="2012-08-13T10:49:47.260" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="12287" PostTypeId="2" ParentId="12257" CreationDate="2012-08-13T11:51:06.350" Score="17" Body="&lt;p&gt;&lt;a href=&quot;http://www.cs.hut.fi/~cessu/&quot; rel=&quot;noreferrer&quot;&gt;Kenneth Oksanen&lt;/a&gt; has published an &lt;a href=&quot;http://www.cs.hut.fi/~cessu/selection/&quot; rel=&quot;noreferrer&quot;&gt;expanded table&lt;/a&gt; of values up to $n=15$, based on his own &lt;a href=&quot;http://www.cs.hut.fi/~cessu/selection/selgen.c.html&quot; rel=&quot;noreferrer&quot;&gt;computer search&lt;/a&gt;.  Okansen also provides descriptions of the optimal comparison trees for most of the values he reports.  Here's a screenshot of his table:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/rLJYJ.png&quot; alt=&quot;Kenneth Oksanen&amp;#39;s bounds for selection&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks to @MarkusBläser for the lead!&lt;/p&gt;&#xA;" OwnerUserId="111" LastActivityDate="2012-08-13T11:51:06.350" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12289" PostTypeId="1" AcceptedAnswerId="12455" CreationDate="2012-08-13T17:58:15.837" Score="25" ViewCount="991" Body="&lt;p&gt;What is known about the complexity of the following problem:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Given: rational numbers $x_1 &amp;lt; x_2 &amp;lt; \dotso &amp;lt; x_n$.&lt;/li&gt;&#xA;&lt;li&gt;Output: integers $y_1 \le y_2 \le \dotso \le y_n$.&lt;/li&gt;&#xA;&lt;li&gt;Objective: minimise $$\sum_{1 \le i &amp;lt; j \le n} e(i,j),$$ where $$e(i,j) = | (y_j-y_i) - (x_j-x_i)|.$$&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;That is, we would like to round the rational numbers to integers so that we minimise the sum of errors in pairwise distances. For each pair $i, j$ we would like to have the rounded distance $y_j-y_i$ as close as possible to the true distance $x_j-x_i$.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Motivation: a boring metro trip, and a poster that shows the &quot;locations&quot; of the stations at the resolution of one minute of travelling time. Here we are minimising the error that people make if they use the poster to look up the travelling time between stations $i$ and $j$, averaging over all pairs $i&amp;lt;j$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/fWVwn.png&quot; alt=&quot;route map&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.hsl.fi/EN/timetablesandroutes/maps/Pages/Metro.aspx&quot; rel=&quot;nofollow noreferrer&quot;&gt;(source)&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, here we can read the following approximations of the pairwise distances between the four stations (using A, B, C, D for brevity):&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;A–B ≈ 1 minute, B–C ≈ 2 minutes, C–D ≈ 2 minutes&lt;/li&gt;&#xA;&lt;li&gt;A–C ≈ 3 minutes, B–D ≈ 4 minutes&lt;/li&gt;&#xA;&lt;li&gt;A–D ≈ 5 minutes&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Is this the best possible approximation? If you knew the actual travelling times, could you find a better solution?&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;At first, this sounded like a simple exercise in dynamic programming, but now it seems that some amount of actual thinking is required.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does anyone recognise this problem? Or see a clever algorithm for solving it?&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Edit:&lt;/em&gt; There are some natural variants of the question that have been mentioned in the comments; let's give them some names:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;floor/ceil&lt;/strong&gt; version: it is required that $y_i \in \{ \lfloor x_i \rfloor, \lceil x_i \rceil \}$ for all $i$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;integer&lt;/strong&gt; version: it is sufficient that $y_i \in \mathbb{Z}$ for all $i$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;monotonic&lt;/strong&gt; version: it is required that $y_1 \le y_2 \le \dotso \le y_n$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;non-monotonic&lt;/strong&gt; version: we can have $y_i &amp;gt; y_j$ for $i &amp;lt; j$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The original question considers the monotonic integer version, but answers related to any of these versions are welcome.&lt;/p&gt;&#xA;" OwnerUserId="74" LastEditorUserId="74" LastEditDate="2012-08-31T00:08:15.757" LastActivityDate="2012-08-31T03:40:49.990" Title="Rounding to minimise the sum of errors in pairwise distances" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;optimization&gt;" AnswerCount="3" CommentCount="11" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="12292" PostTypeId="1" CreationDate="2012-08-13T21:50:27.550" Score="4" ViewCount="94" Body="&lt;p&gt;I'd like to know if anything is known about the following problem:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose we choose positive integer $t$ to be constant. Let $S = \{1,2,\dots,n\}$, where $n$ is sufficiently large. Consider a partition $A_j$ of $S$ of the form $S = A_{j,1} \cup S_{j,2} \cup \dots \cup S_{j,\sqrt{n}}$, where each $S_{j,i}$ is roughly of size $\sqrt{n}$. Is it possible to find an explicit construction of $k = O(1)$ such partitions ($k$ not depending on $n$ or $t$), say $A_1, A_2, \dots, A_k$, such that for any choice of $i_1, i_2, \dots, i_{t/10}$ (for each $i \leq k$), we have&#xA;$|\bigcap_{i=1}^k (A_{i,i_1} \cup A_{i,i_2} \cup \cdots \cup A_{i,i_{t/10}})| = O(t)$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks!&lt;/p&gt;&#xA;" OwnerUserId="10366" LastActivityDate="2012-08-13T21:50:27.550" Title="Explicit combinatorial construction minimizing intersection of sets" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;graph-algorithms&gt;&lt;expanders&gt;" AnswerCount="0" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12293" PostTypeId="1" CreationDate="2012-08-13T22:38:30.147" Score="5" ViewCount="660" Body="&lt;p&gt;It is standard to express the running time of linear-time graph algorithms as $O(m+n)$ (such as depth-first-search, etc.).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For nearly all such algorithms, vertices of degree zero have no effect on the underlying graph problem. So a solution to the graph problem can usually treat all these unsupported vertices jointly, and does not need to process them individually. For example, in depth-first-search, it suffices to list the dfs-tree for the supported vertices, along with an auxiliary record that all other vertices are unsupported.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If the graph is presented with any kind of intelligent data structure, it should be possible to process in time $O(m)$, and to generate a data structure that encodes the solution in time $O(m)$. This applies even in the case that $n \gg m$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is, what is the reason for the notation $O(m+n)$? Are there really algorithms which require this running time $\Omega(n)$ in the regime $n \gg m$? Is this basically for pedagogical purposes only?&lt;/p&gt;&#xA;" OwnerUserId="5538" LastActivityDate="2012-08-14T06:28:37.063" Title="$O(m+n)$ really necessary for graph algorithms?" Tags="&lt;ds.algorithms&gt;&lt;terminology&gt;&lt;asymptotics&gt;" AnswerCount="1" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="12294" PostTypeId="1" AcceptedAnswerId="12295" CreationDate="2012-08-13T22:46:53.710" Score="2" ViewCount="417" Body="&lt;p&gt;I've been reading about mechanism design and the field seems a little abstract, in that I cannot ascertain whether a certain approach towards solving games falls under mechanism design. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let me clarify with the help of a specific example of an evolutionary game.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have a population within which agents are either mutants or incumbents. The parameters to be decided are: &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;the fraction of the mutants ($\epsilon$)&lt;/li&gt;&#xA;&lt;li&gt;the fitness $F$ of the agents&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Now, if I came up with algorithms to define/calculate the above in such a way that the population ends up being evolutionarily stable, would my solution be called a mechanism?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks&lt;/p&gt;&#xA;" OwnerUserId="10368" LastEditorUserId="969" LastEditDate="2013-02-18T02:03:39.683" LastActivityDate="2013-02-18T02:03:39.683" Title="What does mechanism design constitute? (Game Theory)" Tags="&lt;gt.game-theory&gt;&lt;evolutionary-game-theory&gt;&lt;mechanism-design&gt;" AnswerCount="2" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12295" PostTypeId="2" ParentId="12294" CreationDate="2012-08-14T02:14:46.347" Score="9" Body="&lt;p&gt;Mechanism design is basically just algorithm design, where you don't control the inputs: instead, you assume that the inputs are controlled by different agents, who each have their own set of feasible actions, and their own utility function over outcomes, and are acting to maximize their own utility (and not yours, as the mechanism designer). So you are constrained in how you can design your algorithm, because you have to design it in such a way so as to manage the incentives of the agents so that they will want to share their data with you. The classic example is designing an auction for a good in such a way so that the bidders will reveal to you how much they really value the good.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So the fundamental characteristic in mechanism design is that you have agents who will act independently of the mechanism to further their own goals. Its hard to tell from your description, but it sounds like you simply have an algorithms problem. Possibly your problem is to design an algorithm to compute an equilibrium of some sort, but this would not typically be thought of as mechanism design. &lt;/p&gt;&#xA;" OwnerUserId="25" LastActivityDate="2012-08-14T02:14:46.347" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12296" PostTypeId="2" ParentId="7862" CreationDate="2012-08-14T02:29:11.200" Score="1" Body="&lt;p&gt;As others have stated, counting the factors would most likely require factoring n. However, trial division can bound the number of factors. You know, for instance, that $N$ has at most $n$ factors, since no factor can be less than 2. By testing if $N$ is divisible by 2, you also know that $N$ has at most $\log_3(N)$ factors, etc. The downside is that each reduction in size is progressively harder - you have to test up to $N^{1/p}$ to rule out $N$ containing more than $p$ factors.&lt;/p&gt;&#xA;" OwnerUserId="10369" LastEditorUserId="4896" LastEditDate="2012-08-14T03:07:08.953" LastActivityDate="2012-08-14T03:07:08.953" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12297" PostTypeId="2" ParentId="12293" CreationDate="2012-08-14T06:28:37.063" Score="6" Body="&lt;p&gt;Even when stored very efficiently, vertices with zero degree must be stored in some nonzero space (otherwise, how can we say they even exist)?  That said, they can be stored and searched more efficiently than $O(|V| + |E|)$ using similar ideas to what you describe.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, you could just take a &lt;a href=&quot;http://www.algorithmist.com/index.php/Graph_data_structures&quot;&gt;standard data structure for storing graphs&lt;/a&gt; and store the set of nodes $V' \subseteq V$ which have degree greater than 0.  We don't need to store any information about $V_0$, the set of nodes with degree 0, except for how many there are.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In other words, in a graph with vertices $V$ and edges $E$, if we define&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$V' = \{v\in V | v \mbox{ has degree} &amp;gt; 0\}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$V_0 = \{v\in V | v \mbox{ has degree }  0\}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We can store the nodes with nonzero degree in $O(|V'| + |E|)$ space, and the nodes with zero degree in $O(\log |V_0|)$ space, giving a total of $O(|V'| + |E| + \log |V_0|)$ space.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Many algorithms that run in linear time, for example BFS and DFS, will run in time $O(|V'| + |E|)$ because the algorithm can just ignore the vertices with degree zero.  Like you say, if $n &amp;gt;&amp;gt; m$, this is much more efficient than the standard algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are many cases where algorithms are parameterized by factors in addition to the size of the input.  Other examples of this include &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Output-sensitive algorithms like range queries for &lt;a href=&quot;http://en.wikipedia.org/wiki/Range_tree&quot;&gt;range trees&lt;/a&gt;, which run in time $O(\log n + k)$ where $k$ is the size of the query returned.  &lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Succinct_data_structure&quot;&gt;Succinct data structures&lt;/a&gt;, which store data in space proportional to the entropy of the stored data&lt;/li&gt;&#xA;&lt;li&gt;Algorithms in the &lt;a href=&quot;http://courses.csail.mit.edu/6.851/spring12/scribe/lec7.pdf&quot;&gt;external memory model&lt;/a&gt; (section 2 of that in particular--in fact the lecture notes for &lt;a href=&quot;http://courses.csail.mit.edu/6.851/spring12/lectures/&quot;&gt;Erik Demaine's class on Data Structures&lt;/a&gt; deal with most of these concepts) depend on the size of a cache and the size of a block transferred from the cache to the processor.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Sparse_matrix&quot;&gt;Sparse matrix data structures&lt;/a&gt;, and similar structures and algorithms for sparse graphs, which are probably the most similar to what you're asking about.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Most of the references here are fairly general/low level, but there are a great deal of research papers on many of these topics.  In any case, there are sometimes good reasons to use another parameter while analyzing an algorithm's running time, but for general algorithms like DFS, it's assumed that no special data structure or storage methodology is used, leading to $O(|V| + |E|)$ time.&lt;/p&gt;&#xA;" OwnerUserId="8927" LastActivityDate="2012-08-14T06:28:37.063" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12298" PostTypeId="2" ParentId="12172" CreationDate="2012-08-14T06:47:28.583" Score="9" Body="&lt;p&gt;Depth 2 circuits require exponential size to compute addition since a depth 2 circuit must be either DNF or CNF and it is easy to verify that there are exponentially many minterms and maxterms.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Warning&lt;/strong&gt;: the part below is &lt;em&gt;buggy&lt;/em&gt;. See the comments under the answer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The way I count it, addition can be done in depth 3.  Assume $a_i$ and $b_i$ are the $i$th bits of the two numbers, where $0$ is the index of the LSB and $n$ of the MSB.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let us compute the $i$th bit of the sum, $s_i$ in the standard way with carry look ahead:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$s_i = a_i \oplus b_i \oplus c_i$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where $\oplus$ is XOR and $c_i$ is the carry computed as:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$c_i = \bigvee_{j\mid j &amp;lt; i} (g_j \wedge p_j)$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;and $g_j$ means that the $j$th location &quot;generated&quot; the carry:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$g_j = (a_j \wedge b_j)$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;and $p_j$ means that the carry gets propagated from $j$ to $i$:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$p_j = \bigwedge_{k\mid j &amp;lt; k &amp;lt; i} (a_j \vee b_j)$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Counting the depth, $p_j$ is depth 2, and $c_i$ is depth 3.  While it would seem that $s_i$ is depth 4 or 5, it really is also just depth 3 since it is a bounded fanin computation of depth 3 circuits so one may push the top two levels down using de-Morgan formulas, while blowing the circuit size by a polynomial amount.&lt;/p&gt;&#xA;" OwnerUserId="42" LastEditorUserId="14197" LastEditDate="2013-10-22T16:23:38.343" LastActivityDate="2013-10-22T16:23:38.343" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="12299" PostTypeId="1" AcceptedAnswerId="12300" CreationDate="2012-08-14T07:22:27.603" Score="4" ViewCount="125" Body="&lt;p&gt;Recently a friend of mine asked a question I couldn't give immediate answer to.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Say we have $ n $ messages of length $ m $ bits each. Now we can pack them in a single message of length $ n * m $ bits. So far so good, information quantity is additive. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;But, from another side of view, besides coding the meaning of $n$ messages we also gave an order to them, this gives us additional $ \log _2( n!) $ bits. How is that?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I told that unordered messages are meaningless, but he replied, &quot;Take something like photos or novels for example, clearly the order doesn't matter and we can use it to pass additional information&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can you please explain this apparent paradox?&lt;/p&gt;&#xA;" OwnerUserId="9818" LastActivityDate="2012-08-16T04:19:08.743" Title="Gift bits when encoding a sequence of messages, how is that?" Tags="&lt;it.information-theory&gt;&lt;coding-theory&gt;" AnswerCount="2" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12300" PostTypeId="2" ParentId="12299" CreationDate="2012-08-14T08:16:18.853" Score="6" Body="&lt;p&gt;The important thing is what &quot;information quantity is additive&quot; with respect to.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Information quantity is additive with respect to &lt;em&gt;concatenating&lt;/em&gt; messages&#xA;&lt;br&gt;&#xA;each of which can only have one length, rather than &lt;em&gt;forming a multiset&lt;/em&gt;&#xA;&lt;br&gt;&#xA;of messages each of which can only have one length.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Information quantity is &lt;em&gt;subadditive&lt;/em&gt; with respect to forming a multiset of messages&#xA;&lt;br&gt;&#xA;each of which can only have one length, because for every concatenation,&#xA;&lt;br&gt;&#xA;there is a unique multiset that is consistent with that concatenation.&#xA;&lt;br&gt;&lt;br&gt;&lt;/p&gt;&#xA;" OwnerDisplayName="user6973" LastActivityDate="2012-08-14T08:16:18.853" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="12301" PostTypeId="1" AcceptedAnswerId="12352" CreationDate="2012-08-14T11:47:15.950" Score="12" ViewCount="1096" Body="&lt;p&gt;I'm looking for a way to generate graphs so that the optimal vertex cover is known. There are no restrictions on the number of nodes or edges, only that the graph is completely connected.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;the idea is to generate a graph that's not easy to find the optimal vertex cover, to be able to test different heuristics on it&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I found the paper &lt;a href=&quot;http://www.jstor.org/discover/10.2307/2582378?uid=3737512&amp;amp;uid=2&amp;amp;uid=4&amp;amp;sid=21101132412531&quot;&gt;Arthur, J. &amp;amp; Frendeway, J. Generating Travelling-Salesman Problems with Known Optimal Tours, The Journal of the Operational Research Society, Vol. 39, No. 2 (Feb., 1988), pp. 153-159&lt;/a&gt; for generating TSP with known optimal, alas I cannot access it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a known algorithm?&lt;/p&gt;&#xA;" OwnerUserId="10367" LastEditorUserId="10367" LastEditDate="2012-08-17T00:09:04.577" LastActivityDate="2012-08-19T21:37:15.510" Title="How to generate graphs with known optimal vertex cover" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;" AnswerCount="2" CommentCount="12" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12302" PostTypeId="2" ParentId="12280" CreationDate="2012-08-14T14:10:20.567" Score="4" Body="&lt;p&gt;&lt;strong&gt;Short answer.&lt;/strong&gt; The operator version of &lt;strong&gt;SAT&lt;/strong&gt; is efficiently solvable &amp;mdash; at least, if we assume arbitrary circuits of two-input gates with no fan-out, over any desired choice of gate-set.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Long answer.&lt;/strong&gt;&#xA;I assume the following form of the boolean problem:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;2-TREE-OPSAT.&lt;/strong&gt; Given an input $x \in \{0,1\}^n$ for $n \geqslant 2$ and a gate set $\mathcal G$ consisting of 2-input one-output gates, does there exists a circuit $C$ consisting of  gates in $\mathcal G$ which &lt;em&gt;accepts&lt;/em&gt; $x$, that is, which is satisfied when given the input $x$ (mapping bits of $x$ to the leaves of the circuit $C$ in-order)?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;In particular, we impose no particular structure on the circuits $C$ (aside from being binary trees), do not allow fan-out (so that each bit of $x$ is used only once), and the gates may be asymmetric. By allowing only two-bit gates, I exclude the &lt;strong&gt;NOT&lt;/strong&gt; gate (but which may be simulated by having multiple gates which are related to each other by negations, such as &lt;strong&gt;AND&lt;/strong&gt;/&lt;strong&gt;NAND&lt;/strong&gt;; and I also exclude gates that simply output constants with no inputs, so that the number of gates in the circuit will in fact always be $n-1$ for an $n$-bit input. For the sake of brevity, I will refer to &lt;strong&gt;2-TREE-OPSAT&lt;/strong&gt; below simply as &lt;strong&gt;OPSAT&lt;/strong&gt;; though analysis of the problem may become much more difficult for circuits allowing arbitrary &lt;em&gt;k&lt;/em&gt;-input gates (&lt;strong&gt;k-TREE-OPSAT&lt;/strong&gt;) or allowing fan-out (which we might call &lt;strong&gt;k-FANOUT-OPSAT&lt;/strong&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[&lt;em&gt;Edited to add&lt;/em&gt;: we can easily adapt this to consider the more general problem of the current revision of your question, in which we attempt to map a given $x \in \{0,1\}^\ast$ to a target value $b \in \{0,1\}$, by interchanging the roles of $0$ and $1$ in the analysis below; this has the effect of interchanging the roles of &lt;strong&gt;AND&lt;/strong&gt; and &lt;strong&gt;OR&lt;/strong&gt;, &lt;strong&gt;NAND&lt;/strong&gt; and &lt;strong&gt;NOR&lt;/strong&gt;, &lt;em&gt;etc.&lt;/em&gt;] &#xA;$\def\et{\wedge}\def\ou{\vee}\def\AND{\mathop{\text{AND}}}\def\NAND{\mathop{\text{NAND}}}\def\OR{\mathop{\text{OR}}}\def\NOR{\mathop{\text{NOR}}}\def\EQUAL{\mathop{\text{EQUAL}}}\def\PARITY{\mathop{\text{PARITY}}}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For a fixed choice of $x \in \{0,1\}^n$, the problem of choosing a suitable tree with suitable gates is not unlike a logical disjunction: using equivalences such as &#xA;$$ \OR(x,y) \;\equiv\;\Bigl(\AND(x,y) \;\ou\; \PARITY(x,y)\Bigr) $$&#xA;we may perform reductions between collections relating more complicated gate sets to simple (and powerful) gate sets; a may speak of one gate set being able to emulate other gates not belonging to the set, by wisely choosing some element of $\mathcal G$ which has the same effect (when presented with a particular input) as a gate $G \notin \mathcal G$. In particular, certain combinations of gates (such as $\{ \OR, \NAND \}$) can simulate the constant function yielding $1$: we say that such gate-sets are &lt;em&gt;tautologous&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We proceed by considering gate sets including different types of gates $G$, later excluding those gates from later cases of the analysis, to show that gate-sets involving any single one of the gates leads to a tractible problem. We will proceed in the order of the number of two-bit strings which satisfy the gate in question, starting from the constant $1$ gate to the constant $0$ gate.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;For any gate set $\mathcal G$ which contains the constant gate $G(x,y) = 1$, we may simply build a circuit $C$ using that gate alone, in which case $C$ accepts any $x$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;OR and NAND.&lt;/strong&gt; For any gate set $\mathcal G$ which contains $\OR$: if all other gates $G \in \mathcal G$ satisfy $G(x,y) \implies \OR(x,y)$, then there is no advantage to choosing any other gate but $\OR$ in building the circuit $C$. A circuit of only $\OR$ gates accepts any string except $x \in 0^\ast$.  Otherwise, there exists a gate $G \in \mathcal G$ such that $\{G, \OR\}$ is tautologous. So any instance of &lt;strong&gt;OPSAT&lt;/strong&gt; with $\OR \in \mathcal G$ is easy; and similar remarks apply for $\NAND \in \mathcal G$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Implication-like gates.&lt;/strong&gt; Consider the gate $G(x,y) = \neg x \ou y$, which only outputs zero if $(x,y) = (1,0)$. For what follows, a similar analysis will apply for the gate $G'(x,y) = x \ou \neg y$. &lt;br&gt;&lt;br&gt;&#xA;Consider any string $x \in \{0,1\}^n$.&#xA;If $x$ ends in $0$, decompose $x$ into substrings of the form $w_j = 1^\ast 0$; on each such $w_j$, we recursively apply $G$ from the right to the left, which yields output $0$ for each $w_j$. (For a substring of length 1, we use the trivial circuit, i.e. leave that input alone.) Similarly, if $x$ ends in $1$, decompose $x$ into substrings of the form $w_j =0^\ast 1$, and recursively apply $G$ from left to right on each $w_j$, which yields the output $1$ for each $w_j$. Thus we may reduce the problem to building circuits which are satisfied either by $0^m$ or $1^m$, where $m$ is the number of substrings $1^\ast0$ or $0^\ast 1$. For $m \geqslant 2$, we may accept either using $G$ gates by recursively applying $G$ from left to right. This just leaves the case $m = 1$, for which the problematic case are inputs $x \in 1^\ast 0$.&lt;br&gt;&lt;br&gt; For $x= 1^\ast 0$, any circuit consisting only of $G$ gates will only yield shorter strings of the form $1^\ast 0$, ultimately yielding the single-bit string $0$: so that no circuit of $G$ gates can be satisfied by this input. If there is &lt;em&gt;also&lt;/em&gt; a gate $H \in \mathcal G$ for which $H(1,0) = 1$, then $\{G,H\}$ is tautologous; or, if there is a gate $H \in \mathcal G$ for which $H(1,1) = 0$, we may reduce strings of the form $11^\ast 0$ to strings of the form $(1^\ast 0)^\ast$, by applying $H$ to the first two bits of $x$. Otherwise, no circuit can be constructed which accepts $x \in 1^\ast 0$.&lt;br&gt;&lt;br&gt;&#xA;Thus, for any gate-set $\mathcal G$ which contains an implication-like gate, &lt;strong&gt;OPSAT&lt;/strong&gt; is easy. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Negations of projections.&lt;/strong&gt; Consider the gates $\neg \pi_1(x,y) = \neg x$ and $\neg \pi_2(x,y) = \neg y$. We consider $\neg \pi_1$, the analysis with $\neg \pi_2$ being similar. On its own, $\neg \pi_1$ can  accept any string in $0(0|1)^{n-1}$ for $n \geqslant 2$ by reducing the final $n-1$ bits to a single bit, and then applying $\neg \pi_1$; and it can similarly accept $1(0|1)^{n-1}$ for $n \geqslant 3$ by reducing the final $n-2$ bits to a single bit, and then applying the circuit $\neg \pi_1(\neg \pi_1(x_1, x_2),x_3)$. The only inputs that $\neg \pi_1$ circuits cannot accept are then $10$ or $11$; determining whether any supplemental gate accepts these is trivial. Thus, &lt;strong&gt;OPSAT&lt;/strong&gt; is easy for the negations of projections.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;PARITY and EQUALITY&lt;/strong&gt;. Consider the gate $\PARITY(x,y) = (x \ou \neg y) \et (\neg x \ou y)$.&#xA;The gate set $\mathcal G = \{\PARITY\}$ obviously can only be&#xA;satisfied precisely by strings $x \in \{0,1\}^n$ with an odd number&#xA;of 1s; we consider the benefit of adding any other gate.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Any gate-set which contains both $\PARITY$ and either $\AND$ or&#xA;$\NOR(x,y) = \neg(x \ou y)$ can simulate circuits which contain&#xA;$\OR$ or $\NAND$ gates (respectively) for fixed inputs, which are&#xA;easy cases of &lt;strong&gt;OPSAT&lt;/strong&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Either $\pi_1(x,y) = x$ or $\pi_2(x,y) = y$ can be used to simulate either $\AND$ or $\NOR$ on two-bit substrings of even parity, so that we may reduce gate-sets with these gates and $\PARITY$ to the preceding case.&lt;/li&gt;&#xA;&lt;li&gt;$\PARITY$ together with $\EQUAL = \neg \PARITY$ is tautologous.&lt;/li&gt;&#xA;&lt;li&gt;If we supplement $\PARITY$ with the gate $G_{01} = \neg x \et y$, we can accept any even-parity string except for $x \in (11)^\ast 0^\ast$ by applying $G_{01}$ to a $01$-substring of $x$ and then applying a $\PARITY$ circuit to the rest. Similarly, $\PARITY$ together with $G_{10} = x \et \neg y$ can accept any string except those of the form $x \in 0^\ast (11)^\ast$. Supplementing $\PARITY$ with both $G_{01}$ and $G_{10}$ allow us to build circuits which accept all inputs except $x \in 0^\ast$ and $x = 11$.&lt;/li&gt;&#xA;&lt;li&gt;Finally, if we supplement $\PARITY$ with the constant gate $Z(x,y) = 0$, we can accept any input except for $x \in (11)^\ast$ or $x \in 0^\ast$ by applying a $G$ gate to a substring $01$ or $10$, reducing to the odd parity case.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Thus, &lt;strong&gt;OPSAT&lt;/strong&gt; is easy for any $\mathcal G$ containing $\PARITY$.&lt;br&gt;&lt;br&gt;A similar analysis applies for the $\EQUAL$ gate as for the $\PARITY$ gate: because $\EQUAL(x,y) = \neg \PARITY(x,y) = \neg \PARITY(\neg x, \neg y)$, circuits of $\EQUAL$ gates essentially count the parity of the number of $0$s in the input. We may then reduce the analysis for $\EQUAL$ to that of $\PARITY$ by exchanging $0$ and $1$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Projection gates.&lt;/strong&gt; The gates $\pi_1(x,y) = x$ and $\pi_2(x,y) = y$, taken on their own, can only build circuits which accept strings starting or ending in $1$, respectively. Consider the effect of augmenting the gate $\pi_1$ with any other gate (a similar analysis holds for $\pi_2$):&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Allowing both $\pi_1$ and $\pi_2$ allows the construction of a &quot;selection&quot; circuit, which simply outputs any single bit from the input; these can accept any $x \ne 0^n$, and supplementing them with any gate $G$ for which $G(0,0) = 1$ allows a satisfied circuit to be built for any $x$. &lt;/li&gt;&#xA;&lt;li&gt;If we supplement $\pi_1$ with either $\NOR$ or $G_{01} = \neg x \et y$, we may simulate either $\OR$ or an implication-like gate for fixed inputs; &lt;strong&gt;OPSAT&lt;/strong&gt; is solved for both of these cases.&lt;/li&gt;&#xA;&lt;li&gt;If we supplement $\pi_1$ with either $\AND$, $G_{10} = x \et \neg y$, the constant gate $Z(x,y) = 0$, or any combination of them, we get no additional accepting power, so that we still can only accept strings starting with $1$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Thus, for any other gate we may supplement $\pi_1$ (or $\pi_2$) with, we obtain either a tautologous set, obtain no additional accepting power over just $\pi_1$ (or $\pi_2$), or may reduce to an earlier easy case of &lt;strong&gt;OPSAT&lt;/strong&gt;. Then any instance of &lt;strong&gt;OPSAT&lt;/strong&gt; with $\pi_1 \in \mathcal G$ or $\pi_2 \in \mathcal G$ is easy.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Delta-function gates.&lt;/strong&gt; Consider the two-bit gates for which there is only one input which satisfies them: $\AND$, $\NOR$, $G_{10}(x,y) = x \et \neg y$, and $G_{01}(x,y) = \neg x \et y$. Circuits made only with $\AND$ gates can only accept the string $1^\ast$: supplementing them with any other delta-function  gate allows them to simulate either $\EQUAL$, $\pi_1$, or $\pi_2$, which are solved cases; similar remarks apply to $\NOR$.&#xA;As well, the gate-set $\{G_{01}, G_{10}\}$ can be used to also simulate the $\PARITY$ gate. We may thus focus on either the gate $G_{10}$ or $G_{01}$, possibly supplemented with the gate $Z(x,y) = 0$. We focus on $G_{10}$, with the case of $G_{01}$ being similar.&lt;br&gt;&lt;br&gt;Circuits made of $G_{10}$ alone can be built to accept $1(0|1)^{n-1}$, except for the string $11$, by applying an arbitrary circuit to the final $n-2$ bits and then applying the circuit $G_{10}(x_1, G_{10}(x_2, x_3))$. Clearly, the string $11$ can't be accepted by $G_{10}$ or by $Z$; and we can show by induction that any $G_{10}$ circuit which accepts a string must have intermediate outcomes of the gates in the left-most branch all yielding $1$, up to the left-most input itself. No additional benefit is obtained by adding $Z$ gates. Therefore, $G_{10}$ circuits can only accept $x \in 1(0|10|11)(0|1)^\ast$. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Finally, circuits composed only of $Z$ gates accept no inputs.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;As each gate gives rise to a well-defined and generally quite large class of inputs which it accepts, with additional gates tending to trivialize the problem, we find that &lt;strong&gt;2-TREE-OPSAT&lt;/strong&gt; is in &lt;strong&gt;P&lt;/strong&gt;.&lt;/p&gt;&#xA;" OwnerUserId="248" LastEditorUserId="248" LastEditDate="2012-08-14T23:13:20.253" LastActivityDate="2012-08-14T23:13:20.253" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12304" PostTypeId="2" ParentId="9422" CreationDate="2012-08-14T19:18:04.750" Score="4" Body="&lt;p&gt;Let's split it into two parts:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First let $m$ and $n$ be terms that &lt;em&gt;have a normal form&lt;/em&gt; (but are not necessarily &lt;em&gt;in&lt;/em&gt; normal form). Let&#xA;\begin{align*}&#xA; \mathbf{A} &amp;amp;= \{x \;|\; x =_\beta m\} \\&#xA; \mathbf{B} &amp;amp;= \{x \;|\; x \neq_\beta m \mbox{ and $x$ has a normal form }\}&#xA;\end{align*}&#xA;These sets are nonempty, disjoint and closed under $\beta$-equivalence, so &#xA;we can apply Scott-Curry theorem and conclude that they're inseparable. So there is no algorithm that can determine if two such terms $m$ and $n$ are equal or not.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the second part: Intuitively, a lambda term cannot distinguish if its arguments are in normal form or not. Suppose we have $f$ that can determine if two terms &lt;em&gt;in&lt;/em&gt; normal form $m$ and $n$ are equal or not. Now let $m'$ and $n'$ be terms that &lt;em&gt;have&lt;/em&gt; a normal form. We can use &lt;a href=&quot;http://mathgate.info/cebrown/notes/barendregt.php#redstratdefs&quot; rel=&quot;nofollow&quot;&gt;a normalizing reduction strategy&lt;/a&gt; to reduce them to their normal forms (which is accomplished in a finite number of steps), apply $f$ and determine if they're equal or not, which contradict the previous part.&lt;/p&gt;&#xA;" OwnerUserId="10336" LastActivityDate="2012-08-14T19:18:04.750" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12305" PostTypeId="1" CreationDate="2012-08-14T19:33:41.967" Score="11" ViewCount="261" Body="&lt;p&gt;Back in 2005, Scott Aaronson posted a list of &lt;a href=&quot;http://www.scottaaronson.com/writings/qchallenge.html&quot;&gt;10 &quot;semi-grand&quot; challenges for quantum computing theory&lt;/a&gt; which contained the following challenge: &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;The power of small-depth quantum circuits.&lt;/strong&gt; Is $BQP = BPP^{BQNC}$? In other words, can the &quot;quantum&quot; part of any quantum algorithm be compressed to polylog(n) depth, provided we're willing to do polynomial-time classical postprocessing? (This is known to be true for Shor's algorithm.) If so, building a general-purpose quantum computer would be much easier than is generally believed! Incidentally, it's not hard to give an oracle separation between $BQP$ and $BPP^{BQNC}$, but the question is whether there's any concrete function &quot;instantiating&quot; such an oracle. &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I am currently searching for  a Ph.D. project and this is the kind of stuff that interests me. I would certainly like to contribute to solving this problem, if it is still open. That is why I would like to know some of the recent developments on this. Is this still an open problem? What contributions were made in the last decade?&lt;/p&gt;&#xA;" OwnerUserId="507" LastEditorUserId="1037" LastEditDate="2012-08-14T20:22:57.160" LastActivityDate="2013-03-01T00:44:03.933" Title="What are the most recent developments in small-depth quantum circuits?" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;quantum-computing&gt;&lt;open-problem&gt;" AnswerCount="0" CommentCount="5" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="12306" PostTypeId="1" CreationDate="2012-08-14T20:31:16.280" Score="6" ViewCount="190" Body="&lt;p&gt;I'm trying to find a solution for the following problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have a tree $T$ of branching factor $b$ and depth $d$. For the moment, I only care about the case where I restrict $b=2$, but I would be interested in the general case as well.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am looking for an element in $T$ guaranteed to be somewhere at depth $d$, but I can't directly compare with the nodes in $T$. Instead, I must consult a probabilistic oracle $O$. Given a set of nodes, $S=\{n_0,n_1,\dotsc\}$, the oracle $O$ gives me the correct subtree with some probability $p$, where $0 \le p \le 1$, and a random subtree from the set with probability $1-p$. Furthermore, the oracle always gives the same answer when comparing two nodes, even if that answer might be wrong.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given $\{b,d,p\}$, what might b the most efficient search technique to find the desired element at depth $d$? The cases where $p = 0$ (random search, since the oracle provides no information) and $p = 1$ (the oracle is perfect - just follow the directions from the oracle) are straight-forward, so I'm interested in $0 &amp;lt; p &amp;lt; 1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My first thought was at each branch, consult the oracle with all frontier nodes seen thus far and choose the one the oracle rated as best as my current optim the cases where the oracle provides some information, but not perfect knowledge.um subtree, remove it from the list of frontier nodes, and examine its children to see if they match. I wasn't sure if this is optimal or not. Obviously, for $p = 1$ this algorithm is optimal, and reduces to a $b$-ary search, but for $p = 0$, I think it might spend more time opening up the frontier than checking nodes at depth $d$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;edit:&lt;/strong&gt; I've updated the oracle's probabilities to be more correct in the behavior where it is truly random and provides no information content.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;update:&lt;/strong&gt; To clarify the desired problem soluion, what I am looking for is an algorithm for, say $p = 0.5$ where I can locate a desired element a known depth $d$ with a greater than $0.5$ probability by examining as few nodes as possible. For now, the running time of the oracle isn't that important compared to exploring the tree, but I believe the oracle gives me a solution in $O(m)$ where $m$ is the size of the set given to the oracle.&lt;/p&gt;&#xA;" OwnerUserId="10369" LastEditorUserId="10369" LastEditDate="2012-08-15T12:44:43.483" LastActivityDate="2012-08-15T12:44:43.483" Title="Tree search guided by a probabilistic oracle" Tags="&lt;ds.algorithms&gt;&lt;pr.probability&gt;&lt;tree&gt;&lt;search-problem&gt;" AnswerCount="0" CommentCount="7" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="12307" PostTypeId="1" CreationDate="2012-08-14T23:35:08.853" Score="29" ViewCount="1377" Body="&lt;p&gt;A string has $2^n$ subsequences, but they are usually not all distinct. What is the complexity of finding the maximum frequency of any subsequence?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, the string &quot;subsequence&quot; contains 7 copies of the subsequence &quot;sue&quot; and this is the maximum.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Sample brute-force code at &lt;a href=&quot;http://ideone.com/UIp3t&quot;&gt;http://ideone.com/UIp3t&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there related structural theorems? Both of these turn out to be &lt;strong&gt;false&lt;/strong&gt;:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;the longest of the maximum-frequency subsequences is unique&lt;/li&gt;&#xA;&lt;li&gt;the maximum frequency of any length-$k$ subsequence is unimodal in $k$&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Possibly related links:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Counting # distinct subsequences $\in \mathbf{P}$ &lt;a href=&quot;http://11011110.livejournal.com/254164.html&quot;&gt;http://11011110.livejournal.com/254164.html&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Related contest problem for multiple sources &lt;a href=&quot;http://www.spoj.pl/problems/CSUBSEQS/&quot;&gt;http://www.spoj.pl/problems/CSUBSEQS/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Related paper &lt;a href=&quot;http://dx.doi.org/10.1016/j.tcs.2008.08.035&quot;&gt;http://dx.doi.org/10.1016/j.tcs.2008.08.035&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Edit 10 days later:&lt;/em&gt; thanks for taking a look! I had wondered if this would make a nice polynomial-time solvable programming contest problem. I guess not, but I hope to think about it again later.&lt;/p&gt;&#xA;" OwnerUserId="771" LastEditorUserId="771" LastEditDate="2012-08-24T22:29:23.357" LastActivityDate="2012-08-29T07:22:19.197" Title="Commonest Subsequence" Tags="&lt;ds.algorithms&gt;&lt;string-search&gt;" AnswerCount="2" CommentCount="13" FavoriteCount="10" ContentLicense="CC BY-SA 3.0" />
  <row Id="12309" PostTypeId="1" CreationDate="2012-08-15T05:50:57.797" Score="6" ViewCount="238" Body="&lt;p&gt;I was wondering if this problem has a name and/or it has been already studied.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Problem:&lt;/strong&gt; Given an undirected graph $G=(V,E)$, a function $f: V \to \mathbb N$, and a natural number $k$&amp;nbsp;:&#xA;  Does there exist a subset $S\subseteq V$ with $|S| \geqslant k$, such that &#xA;  $$ \forall v \in V \,:\, \biggl|\;\Bigr(N(v) \cup \{v\}\Bigr) \cap S\;\biggr| \;\leqslant\; f(v) \;?$$&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Question.&lt;/em&gt;&#xA;Is this problem NP-complete? Are there good approximation algorithms?&lt;/p&gt;&#xA;" OwnerUserId="10384" LastEditorUserId="567" LastEditDate="2012-08-21T20:00:58.030" LastActivityDate="2012-08-21T20:00:58.030" Title="Vertex subset of maximum size" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;approximation-algorithms&gt;&lt;time-complexity&gt;" AnswerCount="2" CommentCount="10" ContentLicense="CC BY-SA 3.0" />
  <row Id="12310" PostTypeId="1" AcceptedAnswerId="12330" CreationDate="2012-08-15T06:12:13.043" Score="3" ViewCount="828" Body="&lt;p&gt;I have the following optimization problem:&#xA;$$&#xA;\arg\max_{\{\phi_p\}_{p=1}^M}\sum_{i=1}^N \max_{p=1,\ldots,M}\{\phi_p a_{ip}\}&#xA;\mbox{ such that }\sum_{p}\phi_p\leq 1\mbox{ and }0\leq \phi_p\leq 1,\forall p=1,\ldots,M,&#xA;$$&#xA;where $a_{ij} \geq 0,\forall i,j$. The objective function is clearly convex since $\max_{p}\{\phi_p a_{ip}\}$ is convex in $\{\phi_p\}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I realize that, in general, convex maximization problems can be NP-hard but I was wondering whether there are any known efficient solutions for this specific problem structure.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;I apologize but there was a typo in my question. The constraint is supposed to be $\sum_{p}\phi_p\leq K$. Hence, I need to search over ${M\choose K}$ vertices, which may be an exponential number of vertices if $K=O(M)$.&lt;/p&gt;&#xA;" OwnerUserId="10385" LastEditorUserId="-1" LastEditDate="2012-10-17T16:26:09.303" LastActivityDate="2012-10-17T16:26:09.303" Title="Maximizing a convex function with linear constraints" Tags="&lt;ds.algorithms&gt;&lt;approximation-algorithms&gt;&lt;optimization&gt;&lt;convex-optimization&gt;" AnswerCount="1" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="12313" PostTypeId="1" CreationDate="2012-08-15T11:29:03.980" Score="5" ViewCount="126" Body="&lt;p&gt;Suppose I have $n+1$-dimensional vectors $a$ and $b$. For each $i = 0, \dots, n$, I also have integers $0 \leq j_0(i) \leq j_1(i) \leq i$. I want to compute the following variant of a convolution:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;c_i = \sum_{j_0(i) \leq j \leq j_1(i)} a_j b_{i-j}&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $j_0(i) = 0, j_1(i) = i$ for all $i$ this is a standard convolution, so you can do this via FFT in time $O(n \log n)$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there any good algorithms for this when $j_0, j_1$ are arbitrary?&lt;/p&gt;&#xA;" OwnerUserId="5538" LastEditorUserId="5538" LastEditDate="2012-08-16T13:11:53.680" LastActivityDate="2012-08-16T13:11:53.680" Title="Truncated convolution algorithm" Tags="&lt;ds.algorithms&gt;&lt;fourier-analysis&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="12316" PostTypeId="1" CreationDate="2012-08-15T16:19:38.663" Score="2" ViewCount="758" Body="&lt;p&gt;(This is an attempt to reformulate &lt;a href=&quot;https://stackoverflow.com/questions/11941402/ultimate-jedi-challenge-multiarmed-bandit-reinforcement-learing-advanced-ai&quot;&gt;this question&lt;/a&gt; more concisely.)&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Context&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;You are a Jedi master who wants to prepare a training program (online-algorithm) for his apprentice, &quot;Luke&quot;. Luke needs to practice several (10-20) &lt;em&gt;abilities&lt;/em&gt;. You can train Luke by preparing &lt;em&gt;challenges&lt;/em&gt;, each connected to one &lt;em&gt;ability&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The outcome of each challenge is binary: Luke succeeds (1) or Luke fails (0). If Luke fails a challenge in an ability, you give him a &lt;em&gt;lecture&lt;/em&gt; that you can assume will improve his chance of succeeding in next challenge in this ability.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You have a limited number (~50) of challenges to use before Luke has to take a test. However, if Luke fails at some challenge during practice you receive extra challenges. The goal of your training program is to maximize the outcome of the &lt;em&gt;test&lt;/em&gt;. The &lt;em&gt;test&lt;/em&gt; is a set of (about 20-25) challenges uniformly distributed between abilities.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Problem definition&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;Consider a problem of probing a set $P = \{p_0,...,p_n\}$ of $N$ independent processes which resemble human learning (practice makes perfect). At each time the program chooses one process $i$ to probe, denoted by the action $U(t)$, and receives an information of the current, &lt;strong&gt;binary&lt;/strong&gt; state $S_i(t)$ of that process. The probability of $S_i(t)$ = 1 is defined by &#xA;$$&#xA; p(S_i(t) = 1) = g_i(c_i(t))&#xA;$$&#xA; Where $g_i$ is a non-decreasing function and $c_i(t)$ describes how many times proces $p_i$ was probed so far. We can assume $g_i$ ressembles the &lt;strong&gt;learning curve&lt;/strong&gt;, but each $g_i$ can have an arbitraty offset at $t_0$ ie:&#xA;&lt;img src=&quot;https://i.stack.imgur.com/W0u5t.png&quot; alt=&quot;$g_i$ offset on the learning curve at time $t_0$&quot;&gt;&#xA; Knowing that the amount of remaining probing action is given by&#xA;$$&#xA;h(t+1) = \begin{cases}&#xA;            h(t)-1\,, &amp;amp;\text{ if $i \in U(t)$ and $S_i(t) = 1$;} \\&#xA;            h(t)-1+f(h(t))\,, &amp;amp;\text{ otherwise,}&#xA;\end{cases}&#xA;$$&#xA;where the function $f$ is one of the input variables &amp;mdash; propose a &lt;em&gt;probing policy&lt;/em&gt; which maximizes a testing function $q$ that will evaluate the state of all processes when there are no more remaining probes, namely:&#xA;$$q(t_{stop}) = \sum_{i = 0}^{N}S_i(t_{stop}),$$&#xA;where $t_{stop}$ is such that $h(t_{stop}) = 0$.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;My ideas of approaching this problem&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;We can try to model this problem in at least two ways:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;As a special case of Non-Bayesian Binary Restless Multi-armed Bandit (RMBA) with Non-Identical Arms (some reading &lt;a href=&quot;http://arxiv.org/abs/1011.4752&quot; rel=&quot;nofollow noreferrer&quot;&gt;one&lt;/a&gt;, &lt;a href=&quot;http://www-scf.usc.edu/~ygai/papers/Allerton2011.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;two&lt;/a&gt;, &lt;a href=&quot;http://www.isif.org/sites/isif.org/files/journals/2-6075D01.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;three&lt;/a&gt;) meaning :&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Restless - reward probability evolves over time &lt;/li&gt;&#xA;&lt;li&gt;Non-Bayesian - underlying Markov transitions are not known&lt;/li&gt;&#xA;&lt;li&gt;Non-Identical Arms - each arm is an independent Markov process &lt;/li&gt;&#xA;&lt;li&gt;We would assume that the algorithm receives a reward each time it probes a process that will return 0 (Luke fails a challenge). &lt;/li&gt;&#xA;&lt;li&gt;I would start by adopting some policy similar to $\epsilon$-greedy.&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;As a case for Reinforcement Learning .&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;I'm just starting to familiarize myself with these areas of research so I can't provide any insight here, although according to my initial reading it seems very promising. I will update the question once I learn anything meaningful.&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;h2&gt;Question&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;What would you recommend as the best references for this problem, or closely related problems? I'm interested primarily in approaches which are not just theoretically feasible, but which would be effective in practise.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can you suggest a policy that would be effective with these constraints? I am especially interested in good ways to update the belief vector.&lt;/p&gt;&#xA;" OwnerUserId="9826" LastEditorUserId="-1" LastEditDate="2017-05-23T12:40:09.333" LastActivityDate="2012-08-21T21:39:26.333" Title="Ultimate Jedi Challenge - Multiarmed Bandit / Reinforcment Learning / advanced AI problem" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;machine-learning&gt;&lt;ai.artificial-intel&gt;&lt;genetic-algorithms&gt;" AnswerCount="0" CommentCount="25" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="12319" PostTypeId="1" AcceptedAnswerId="12321" CreationDate="2012-08-15T18:51:27.943" Score="12" ViewCount="417" Body="&lt;p&gt;The general adversary lower-bound is now known to characterize quantum query complexity&#xA;due to breakthrough work by Reichardt et al. The same line of work also establishes connections&#xA;to the span program framework to design quantum algorithms.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Many interesting quantum algorithms, including ones with exponential speed-up like&#xA;Simon's algorithm and Shor's algorithm for period finding can be expressed in the&#xA;quantum query model. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there any work showing lower-bounds for these algorithms in the general adversary model?&#xA;&lt;strong&gt;Is there any work re-deriving Simon's or Shor's algorithms in the span-program framework?&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Apparently, only quantum algorithms with polynomial speed-up, like Grover's , have been re-derived using span programs (or Belov's learning graph) framework.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is work by Korian et al. showing lower-bounds for Simon using the polynomial method, but there is apparently no known way to translate polynomial-method lower-bounds to general adversary lower bounds.&lt;/p&gt;&#xA;" OwnerUserId="10398" LastEditorUserId="1037" LastEditDate="2012-08-15T19:18:40.590" LastActivityDate="2012-09-14T02:39:24.427" Title="Can quantum algorithms with exponential speed-up be rederived using span-programs?" Tags="&lt;cc.complexity-theory&gt;&lt;quantum-computing&gt;&lt;query-complexity&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="12321" PostTypeId="2" ParentId="12319" CreationDate="2012-08-15T22:12:14.873" Score="8" Body="&lt;p&gt;I guess there are at least 3 questions in your question. I don't have a satisfactory answer to all of them, so this isn't a complete answer. Hopefully there will be more answers that answer all your questions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The question in the title: &lt;strong&gt;Can quantum algorithms with exponential speed-up be rederived using span-programs?&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As you noted, the general adversary bound characterizes the quantum query complexity of all decision problems, including promise problems for which we have exponential speedups. So, in principle, there is a span program that solves the Abelian hidden subgroup problem, which is the query problem used in Simon's and Shor's algorithms. But whether there is an explicit span program for this is your next question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Is there any work re-deriving Simon's or Shor's algorithms in the span-program framework?&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I haven't heard of any such results. I don't know of a span program for Simon's problem or any other AHSP.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Is there a way to translate polynomial-method lower-bounds to general adversary lower bounds?&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Yes, I believe there is. I can't seem to find the paper that has this result, but I can give you a link to &lt;a href=&quot;http://www.youtube.com/watch?v=N9BuArGFqjU&quot; rel=&quot;nofollow&quot;&gt;a talk given by Jérémie Roland&lt;/a&gt;. In the abstract of the talk, he says the following:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;... More precisely, we will show that the multiplicative adversary method, a variation of the original adversary method, generalizes not only the generalized adversary method, but also the polynomial method, so that it essentially encompasses all known lower bound methods. Therefore, this provides a constructive approach to cast polynomial lower bounds into the adversary method framework.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Update&lt;/strong&gt;: The paper is now available online:&#xA;&lt;a href=&quot;http://arxiv.org/abs/1209.2713&quot; rel=&quot;nofollow&quot;&gt;Explicit relation between all lower bound techniques for quantum query complexity by Loïck Magnin and Jérémie Roland&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="206" LastEditorUserId="206" LastEditDate="2012-09-14T02:39:24.427" LastActivityDate="2012-09-14T02:39:24.427" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="12322" PostTypeId="2" ParentId="12309" CreationDate="2012-08-16T02:19:27.963" Score="6" Body="&lt;p&gt;I think a general polynomial time solution to this would be able to be used to solve k-SAT.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For each variable create two vertexes corresponding to true and false and connect them by an edge. Start by assigning k to to the number of variables (half the number of vertexes), and each of their f values to 1. Let not being in S mean true or false. Now we have a graph where each variable has to be either true or false.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For each OR operation on x variables create one vertex and connect it to the appropriate true/false vertexes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For each OR operation create a large number Z of auxilary vertexes with an f value of 1, and connect each by an edge to the OR vertex. Increment k by Z for each OR operation. We can see this will force the OR operation vertex to not be a member of S, and all the auxilary vertexes to be in S.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now assign the f value of each OR vertex to Z+x-1. Z of these will be taken by the auxilary vertexes.  The OR vertex is not in S, so this means at maximum x-1 of the connected variable vertexes can be in S, so at least one of the variable nodes connected to an OR vertex will have to not be in S.&lt;/p&gt;&#xA;" OwnerUserId="10310" LastEditorUserId="10310" LastEditDate="2012-08-16T04:59:23.600" LastActivityDate="2012-08-16T04:59:23.600" CommentCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="12324" PostTypeId="2" ParentId="12299" CreationDate="2012-08-16T04:19:08.743" Score="2" Body="&lt;p&gt;Another answer is to consider how you apply concatenation process. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;When you concatenate two messages (apply the concatenation operator) you choose &lt;em&gt;a priori&lt;/em&gt; an order for the two messages, before concatenation takes place. This order is extra information &lt;em&gt;besides&lt;/em&gt; the message bits. Concatenation essentially &lt;em&gt;preserves&lt;/em&gt; the order you have presented the messages to the concatenation operator, it does not add any.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you use a commutative operator, such as &quot;building a multiset&quot;, then there is no extra ordering information in the input and thus no extra information in the output. &lt;/p&gt;&#xA;" OwnerUserId="9866" LastActivityDate="2012-08-16T04:19:08.743" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12326" PostTypeId="1" CreationDate="2012-08-16T05:37:39.350" Score="23" ViewCount="555" Body="&lt;p&gt;Does anyone knows of references that precisely spell out the connection between the &lt;a href=&quot;http://en.wikipedia.org/wiki/Unification_%28computer_science%29&quot;&gt;unification algorithm&lt;/a&gt; and Gaussian elimination? I'm particularly interested in the relationship between &lt;a href=&quot;http://www.nicta.com.au/pub?doc=3724&quot;&gt;triangular substitutions&lt;/a&gt; and LU decompositions. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Wayne Snyder and Jean Gallier mention this analogy in passing in their paper, &lt;a href=&quot;http://cifo.in/uploads/Higher%20order%20unification%20revisited.pdf&quot;&gt;&lt;em&gt;Higher-Order Unification Revisited: Complete Sets of Transformations&lt;/em&gt;&lt;/a&gt;. &lt;/p&gt;&#xA;" OwnerUserId="657" LastEditorUserId="657" LastEditDate="2012-08-16T18:16:00.400" LastActivityDate="2012-08-25T10:21:55.003" Title="Unification and Gaussian Elimination" Tags="&lt;reference-request&gt;&lt;lo.logic&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="12327" PostTypeId="1" CreationDate="2012-08-16T07:25:56.590" Score="8" ViewCount="137" Body="&lt;p&gt;The standard Cheeger's inequality for graph $G$ states that &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\frac{1}{2}$ $\lambda$ &amp;lt; $\phi(G)$ &amp;lt; $\sqrt{2\lambda}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where $\lambda$ is the second smallest eigenvalue of the normalized Laplacian of G, and $\phi(G)$ is the conductance of G.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now suppose we are also given two special vertices $s$ and $t$, and would like to consider only cuts that separate $s$ and $t$.&#xA;Can we have a similar result relating the conductance in this special case, an some Rayleigh coefficient of the normalized Laplacian of the graph?&lt;/p&gt;&#xA;" OwnerUserId="10403" LastEditorUserId="186" LastEditDate="2012-08-16T10:19:48.403" LastActivityDate="2012-08-16T10:19:48.403" Title="Extension of Cheeger's inequality with distinguished vertices" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;linear-algebra&gt;&lt;spectral-graph-theory&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12329" PostTypeId="1" CreationDate="2012-08-16T09:11:48.287" Score="3" ViewCount="436" Body="&lt;p&gt;I'm struggling with a facility location problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In its original form the problem is quite straightforward: Given a matrix of distances between cities, I have to pick a minimal number of centers from them and create districts, such that no city in a district is farther from the center than a predefined distance parameter. This is a set covering problem that can be formulated as a binary integer program which I can solve with MATLAB's &lt;code&gt;bintprog()&lt;/code&gt;. The solution vector gives me the list of cities that are selected as centers, after which I can establish districts by assigning each city to the closest center, and that's OK.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But I would also like to solve a specialized version of the problem, and this is where it gets ugly and I get stuck:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let's assume we also know the population of each city and want to minimize the amount  of people who have to commute to the district center, and also the distance they have to do. So we would like to prefer solutions where the cost&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;C =\sum_{v \in V}P_v \times d_{vc}&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;is minimal ($v \in V$ are the cities in the district, $P_v$ is the population of $v$, and $d_{vc}$ is the distance to the center).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My problem is that I cannot think of a way to incorporate these constraints into the binary integer program, because computing these costs require the districts to be already established, which right now only happens &lt;em&gt;after&lt;/em&gt; &lt;code&gt;bintprog()&lt;/code&gt; has returned. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I suspect this problem might not even be formulated as a linear program at all, but I'm yet to find another way to solve it, so any help would be much appreciated. Thanks.&lt;/p&gt;&#xA;" OwnerUserId="10405" LastEditorUserId="186" LastEditDate="2012-08-16T10:19:29.947" LastActivityDate="2012-11-06T07:00:57.007" Title="Facility location problem with a cost function" Tags="&lt;cg.comp-geom&gt;&lt;optimization&gt;&lt;application-of-theory&gt;&lt;set-cover&gt;&lt;integer-programming&gt;" AnswerCount="3" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12330" PostTypeId="2" ParentId="12310" CreationDate="2012-08-16T13:38:43.693" Score="4" Body="&lt;p&gt;Your problem in revision 3 of the question is NP-hard by a reduction from the vertex cover problem.  Slightly more precisely, even if &lt;i&gt;a&lt;/i&gt;&lt;sub&gt;&lt;i&gt;ip&lt;/i&gt;&lt;/sub&gt;’s are restricted to 0 or 1, it is NP-complete to decide whether the maximum value in the question is equal to &lt;i&gt;N&lt;/i&gt; or less than &lt;i&gt;N&lt;/i&gt;.  (Note that the maximum value cannot be greater than &lt;i&gt;N&lt;/i&gt; if &lt;i&gt;a&lt;/i&gt;&lt;sub&gt;&lt;i&gt;ip&lt;/i&gt;&lt;/sub&gt;’s are 0 or 1.)  The detail is left as an exercise.&lt;/p&gt;&#xA;" OwnerUserId="567" LastActivityDate="2012-08-16T13:38:43.693" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12331" PostTypeId="1" AcceptedAnswerId="12332" CreationDate="2012-08-16T16:56:16.707" Score="4" ViewCount="371" Body="&lt;p&gt;I come from &lt;a href=&quot;http://haskell.org&quot; rel=&quot;nofollow&quot;&gt;Haskell&lt;/a&gt; programming and currently writing my (Diploma/Master) thesis. I'm having trouble finding a formal/mathematical notation for a Haskell data-type.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The Haskell data type is:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;data ARE = ARE [(ARF, ARF)] [ARF]   -- Haskell form&#xA;type ARE = ( [(ARF, ARF)], [ARF] )  -- alternate form&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;An &lt;code&gt;ARE&lt;/code&gt; is an &lt;em&gt;affine randomized encoding&lt;/em&gt; and an &lt;code&gt;ARF&lt;/code&gt; is an &lt;em&gt;affine randomized function&lt;/em&gt;. You can think of an &lt;code&gt;ARF&lt;/code&gt; just as an abstract entity, just like a field or group element. My problem is how to formally notate a definition for an &lt;code&gt;ARE&lt;/code&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First, I'll try to describe what an &lt;code&gt;ARE&lt;/code&gt; is in english: An &lt;code&gt;ARE&lt;/code&gt; is a tuple (in the &quot;alternate form&quot;, in my Haskell program it's represented as in the &quot;Haskell form&quot;) containing:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;a list (not a set since it could contain duplicates) containing tuples. Each of these tuples is just two &lt;code&gt;ARF&lt;/code&gt;s&lt;/li&gt;&#xA;&lt;li&gt;a list of &lt;code&gt;ARF&lt;/code&gt;s&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;What I'm looking for is a formal notation of such an &lt;code&gt;ARE&lt;/code&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(&lt;strong&gt;edit&lt;/strong&gt;: removed nonsense notation proposal...)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;About the expected audience (and their knowledge domain) of my thesis: I will provide Haskell code, but the entire thesis should be understandable by someone who is not a programmer (and in particular no Haskell programmer). The reader will need some knowledge in cryptography, computer science (but not programming) and basic mathematics (some field theory, especially the finite fields $\mathbb{F}_{2^n}$). In the text I simply want to tell the reader what AREs are and how I transform general expressions to AREs.&lt;/p&gt;&#xA;" OwnerUserId="9042" LastEditorUserId="186" LastEditDate="2012-08-17T14:02:27.400" LastActivityDate="2012-08-23T13:58:27.593" Title="Formal Representation of Haskell Data-Types" Tags="&lt;ds.data-structures&gt;&lt;pl.programming-languages&gt;&lt;notation&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12332" PostTypeId="2" ParentId="12331" CreationDate="2012-08-16T17:49:20.530" Score="6" Body="&lt;p&gt;Unter the assumption, that lists simply represents arbitrary sets, the mathematical notation should probably read:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;An ARE is an element of the following set:&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;$\{ (P, Q) \mid P \subseteq ARF \times ARF, Q \subseteq ARF \} $    &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;But as you stated, lists in your domain are always finite, ordering is not important, but multiplicity is. Thus, I would model the lists as finite multisets. Using an explicit notation for mulitsets, a possible definition would be:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;An ARE is an element of the following set:&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;$\{ (P_\chi, Q_\xi) \mid P \subseteq ARF \times ARF, &#xA;                           P~\text{finite},~&#xA;                           \chi \in (P \to \mathbb{N}^+),&#xA;                           Q \subseteq ARF, Q~\text{finite},~&#xA;                           \xi \in (Q \to \mathbb{N}^+) \} $    &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Here, the notation $P_\chi$ denotes a multiset with P being the underlying ordinary set and $\chi \in P \to \mathbb{N}^+$ being the multiplicity function of the multiset. &lt;/p&gt;&#xA;" OwnerUserId="10412" LastEditorUserId="10412" LastEditDate="2012-08-23T13:58:27.593" LastActivityDate="2012-08-23T13:58:27.593" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="12334" PostTypeId="1" AcceptedAnswerId="12349" CreationDate="2012-08-17T03:39:16.200" Score="9" ViewCount="630" Body="&lt;p&gt;Let $X$ be a random variable taking values in $\Sigma^n$ (for some large alphabet $\Sigma$), which has very high entropy - say, $H(X) \ge (n- \delta)\cdot\log|\Sigma|$ for an arbitrarily small constant $\delta$. Let $E \subseteq \rm{Supp}(X)$ be an event in the support of $X$ such that $\Pr[X \in E] \ge 1 - \varepsilon$, where $\varepsilon$ is an arbitrarily small constant.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We say that a pair $(i,\sigma)$ is a &lt;i&gt;low probability coordinate&lt;/i&gt; of $E$ if $\Pr[X \in E | X_i = \sigma] \le \varepsilon$. We say that a string $x \in \Sigma^n$ &lt;i&gt;contains a low probability coordinate of $E$&lt;/i&gt; if $(i, x_i)$ is a low probability coordinate of $E$ for some $i$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In general, some strings in $E$ may contain low probability coordinates of $E$. The question is can we always find a high probability event $E' \subseteq E$ such that no string in $E'$ contains a low probability coordinate of $E'$ (and not of $E$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks!&lt;/p&gt;&#xA;" OwnerUserId="8429" LastEditorUserId="8429" LastEditDate="2012-08-18T09:37:55.860" LastActivityDate="2012-08-19T16:55:29.383" Title="High probability events without low probability coordinates" Tags="&lt;it.information-theory&gt;&lt;pr.probability&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="12338" PostTypeId="2" ParentId="12334" CreationDate="2012-08-17T09:38:39.347" Score="6" Body="&lt;p&gt;How does $\epsilon$ compare to $n$? If $\epsilon$ can be $O(1/\sqrt{n})$, then I think we can accomplish what you want. Let $B = \mbox{Supp}(X) - E$. Note that $B$ is given $\epsilon$ probability mass under $X$. Let $\lambda(i,\sigma)\epsilon$ denote the probability mass assigned to strings in $B$ such that the $i$th coordinate has symbol $\sigma$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose $(i,\sigma)$ were a low probability coordinate for some strings in $E$. Let $\delta(i,\sigma)$ denote the probability mass assigned to those strings. Then, by definition, $\frac{\delta(i,\sigma)}{\delta(i,\sigma) + \lambda(i,\sigma)\epsilon} \leq \epsilon$, implying that $\delta(i,\sigma) \leq 2\lambda(i,\sigma)\epsilon^2$. We can discard these low probability strings while only suffering a $\delta(i,\sigma)$ loss in prob. mass to $E$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Continue doing this for all possible bad $(i,\sigma)$, and in the end we only discard at most $\sum_{i,\sigma} \delta(i,\sigma) \leq \sum_{i} \sum_{\sigma} 2\lambda(i,\sigma)\epsilon^2 \leq 2\sum_{i} \epsilon^2 = 2n\epsilon^2$. This uses the fact that for all $i$, $\sum_{\sigma} \lambda(i,\sigma) = 1$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you wanted $E'$ to have probability mass $1 -\gamma$, then $\epsilon$ needs to be such that $\epsilon + 2n\epsilon^2 \leq \gamma$, or that $\epsilon = O(\gamma/\sqrt{2n})$ suffices. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's not clear to me at the moment whether this dependence on $n$ can be gotten rid of; I'll continue thinking about it.&lt;/p&gt;&#xA;" OwnerUserId="170" LastActivityDate="2012-08-17T09:38:39.347" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="12340" PostTypeId="2" ParentId="12257" CreationDate="2012-08-17T15:41:14.743" Score="3" Body="&lt;p&gt;I wonder if this piece of information might be useful to you. Unfortunately it does not provide any additional information to the question of this post, but is rather more in reply to your comment about what this was for (analyzing variants of QuickSelect).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The expected minimum number of comparisons, noted $v(n,t)$ or $v_t(n)$ is of course significantly easier to compute (with expectation taken uniformly over all permutations),&#xA;$$v_t(n)=n+\min(t,n-t)+\text{l.o.t.}.$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This result is not infrequently used, and in particular is the basis for the algorithms in &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=982856&quot; rel=&quot;nofollow&quot;&gt;&quot;Adaptive Sampling for QuickSelect&quot; by Martínez, Panario and Viola&lt;/a&gt;. The starting point of the paper is QuickSelect median-of-three, and then to ask: is it pertinent to systematically pick the median, when the element we seek has a relative rank much lower than n/2 or much higher than n/2?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In other words, suppose you are looking for the $k$-th element in a list of $n$ elements, and you are choosing your pivot from clusters of $m$ elements. Instead of taking the median ($m/2$), you will take $\alpha m$ where $\alpha = k/n$. They show this algorithm can, for the right choice of $m$ be practically more efficient than the median-of-three variant.&lt;/p&gt;&#xA;" OwnerUserId="6088" LastEditorUserId="6088" LastEditDate="2012-08-17T18:10:04.420" LastActivityDate="2012-08-17T18:10:04.420" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12341" PostTypeId="2" ParentId="12301" CreationDate="2012-08-17T18:21:24.780" Score="2" Body="&lt;p&gt;closest ref I found was-- &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=1435375.1435382&quot; rel=&quot;nofollow noreferrer&quot;&gt;On hard instances of approximate vertex cover&lt;/a&gt; by Sundar Vishwanathan. did not see refs for looking at hard instances of the exact problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;as in my comment, there is massive amt of research into this corresponding approach for SAT which is reducible to vertex cover.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;re DEs comment, the idea of generating random instances and just choosing those instances that are hard for a standard algorithm seems totally reasonable to me esp with an empirical/experimental research approach[1], its a standard operating procedure for similar research into the SAT transition point.[2] &lt;/p&gt;&#xA;&#xA;&lt;p&gt;which by the way does have something to say where the &quot;hard&quot; region is for any other NP complete problem[3,4,5] which relates roughly to a critical point in the &quot;density&quot; of 1s in random instances specified in binary. for vertex cover this would probably correspond to edge density.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;note that proving one can construct a set of hard instances, and only hard instances, is basically equivalent to the P vs NP problem. a more formal analysis of this equivalence is in the Razborov/Rudich Natural Proofs paper.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] &lt;a href=&quot;https://cstheory.stackexchange.com/a/5084/7884&quot;&gt;experimental algorithmics&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] &lt;a href=&quot;https://cstheory.stackexchange.com/a/4404/7884&quot;&gt;SAT phase transition research&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[3] &lt;a href=&quot;https://cstheory.stackexchange.com/questions/3841/phase-transitions-in-np-hard-problems&quot;&gt;Phase Transitions in NP Hard Problems&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[4] &lt;a href=&quot;http://www.math.ucla.edu/~roch/ams2010_files/moore.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Phase transitions in NP-complete problems:&#xA;a challenge for probability, combinatorics, and&#xA;computer science&lt;/a&gt; by Moore&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[5] &lt;a href=&quot;http://www.cse.unsw.edu.au/~tw/phase.ppt&quot; rel=&quot;nofollow noreferrer&quot;&gt;Phase transition behavior&lt;/a&gt; by Walsh&lt;/p&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2012-08-17T19:15:01.527" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12343" PostTypeId="1" AcceptedAnswerId="12374" CreationDate="2012-08-18T14:30:13.867" Score="12" ViewCount="727" Body="&lt;p&gt;Say we have a function $f:\mathbb{Z}_2^n \to \mathbb{R}$, such that $\sum _{x\in \mathbb{Z}_2^n} f(x)^2 = 1$ (so we can think of $\{ f(x)^2\} _{x\in \mathbb{Z}_2^n}$ as a distribution). It is natural to define the entropy of such a function as follows:&#xA;$$H(f) = -\sum _{x \in \mathbb{Z}_2^n} f(x)^2 \log \left( f(x)^2 \right) .$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, consider the convolution of $f$ with itself:&#xA;$$ [ f*f] (x) = \sum_{y \in \mathbb{Z}_2^n}f(y)f(x+y) .$$&#xA;(Note that since we are dealing with $\mathbb{Z}_2^n$, then $x+y=x-y$)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is it possible to upper bound the entropy of $f*f$ (normalized in its $L_2$-norm, in order for it to be a distribution) by the entropy of $f$? Formally, is there any constant $C$ such that&#xA;$$ H \left( \frac{f*f}{\|f*f\|_2} \right) \le C \cdot H(f)$$ &lt;/p&gt;&#xA;" OwnerDisplayName="user887" LastActivityDate="2012-08-21T18:14:52.150" Title="The entropy of a convolution over the hypercube" Tags="&lt;it.information-theory&gt;&lt;boolean-functions&gt;&lt;fourier-analysis&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="12344" PostTypeId="2" ParentId="9679" CreationDate="2012-08-18T21:35:31.667" Score="0" Body="&lt;p&gt;I don't see how the fact that the graph results from a voronoi diagram substantially changes the problem. You have a graph and want to do a k-cut, where k is the number of your workers. Instead of minizing just the cut, you also want to make the partitions equal in size.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is a ridiculously simple heuristic for k-kut. Pick an edge at random and merge the nodes at both endpoints. Repeat, until desired number of components is reached. Try again from the beginning, until bored. Output best result.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This works, because expensive cuts have lots of edges that could get picked, while cheap cuts have few and are therefore selected less often.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Normally, the problem is formulated with edge weights, and edges get picked at nonuniform probabilities, scaled by their weight. If you would instead pick edges with probabilities scaled in such a way, that it favors equally sized components, it should be possible to find a heuristic that gets good results for both minimizing cut size and spreading nodes equally.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'd suggest to weight the edges according to the number of nodes in the original graph that the resulting node would represent. Edges which represent multiple edges in the original graph, should also get higher probability (their weights start at one, but must still be aggregated on a merge). The resulting probability to pick an edge would be: (number of edges in the original graph the edge represents) / (number of nodes both endpoints represent in the original graph, combined). Off course, this needs to be normalized to 1.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In this way the components would grow at roughly equal speeds, and components which are well connected are merged together with higher preference. I just tried this with a small pen and paper example, and it seems to actually work out just like that.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Depending on whether your problem suffers more from unequal work loads or too much network access, you can tune the probabilities to prefer merging due to high edge count over merging due to low node count or vice versa.&lt;/p&gt;&#xA;" OwnerUserId="10433" LastEditorUserId="10433" LastEditDate="2012-08-18T21:48:18.790" LastActivityDate="2012-08-18T21:48:18.790" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12345" PostTypeId="2" ParentId="12309" CreationDate="2012-08-19T02:41:25.157" Score="3" Body="&lt;p&gt;There's a couple of things I want to add to this discussion/Q&amp;amp;A. First I think it's an interesting exercise to rewrite user10310's reduction from SAT to this problem in a more formal manner. The second bit is an alternative NP-completeness proof that might be a useful starting point for looking for approximation results.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For convenience, let's give this problem a name (the most important step in any complexity result!). Unfortunately, I can't think of a good proper name, so for now I'm going to call it OUR PROBLEM, or OP for short, because that's a nice pun.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;b&gt;Lemma 1&lt;/b&gt; OP $\in$ NP.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;i&gt;Proof.&lt;/i&gt; Given a set $S$ we can check that each vertex $v$ in the graph has at most $f(v)$ neighbours in $S$ in polynomial time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;b&gt;Lemma 2&lt;/b&gt; 3-SAT $\leq_{P}$ OP.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;i&gt;Proof.&lt;/i&gt; Given an instance $I$ of 3-SAT with variable set $X=\{x_{1},\ldots,x_{n}\}$ and clause set $C=\{c_{1},\ldots,c_{m}\}$, we construct an instance $I'$ of OP as follows:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We create a graph $G=(V,E)$ where&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;For each variable $x_{i}\in X$ we have two vertices $x_{i}^{+}$ and $x_{i}^{-}$ in $V$. Denote this subset of $V$ as $V_{X}$.&lt;/li&gt;&#xA;&lt;li&gt;For each clause $c_{j}\in C$ we have a vertex $c_{j}\in V$. Denote the set of clause vertices as $V_{C}$.&lt;/li&gt;&#xA;&lt;li&gt;In addition there is a set of vertices $V_{Z}$ with $|V_{Z}| = 2n+m+1$.&lt;/li&gt;&#xA;&lt;li&gt;For each pair of vertices $x_{i}^{+}$ and $x_{i}^{-}$, we have $x_{i}^{+}x_{i}^{-} \in E$.&lt;/li&gt;&#xA;&lt;li&gt;For each clause $c_{j} \in C$, if the literal $x_{i}$ is in the clause we have $c_{j}x_{i}^{+} \in E$, if the literal $\neg x_{i}$ is in the clause we have $c_{j}x_{i}^{-}\in E$.&lt;/li&gt;&#xA;&lt;li&gt;For every pair of vertices $z \in V_{Z}$ and $c_{j} \in V_{C}$ we have $zc_{j}\in E$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;We then set the function $f:V\rightarrow\mathbb{N}$ as follows:&#xA;$$&#xA;f(v) := \left\{\begin{array}{ll}1&amp;amp;\text {if }v\in V_{X}.\\2n+m+3&amp;amp;\text{if }v\in V_{C}\\1&amp;amp;\text{if }v\in V_{Z}\end{array}\right.&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally we choose $k$ to be $3n+m+1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now we establish certain properties of a solution set $S$ for $I'$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;b&gt;Proposition&lt;/b&gt; At most $n$ vertices of $V_{X}$ are in $S$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For each pair $x_{i}^{+}$, $x_{i}^{-}$ we can only have one vertex in $S$, otherwise both vertices violate their $f$ value constraint.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;b&gt;Proposition&lt;/b&gt; Any solution $S$ contains all the vertices of $V_{Z}$ and none of the vertices of $V_{C}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Clearly as $k$ is so large, we need at least some vertices of $V_{Z}$ in $S$, but then if any vertices of $V_{C}$ are in $S$, there is some vertex in $V_{Z}\cap S$ that has at least two vertices in its closed neighbourhood in $S$, which exceeds its $f$ value of $1$. Thus we can have no vertices of $V_{C}$ in $S$. Then $S$ can contain only vertices of $V_{Z}\cup V_{X}$. If we do not include all vertices of $V_{Z}$ in $S$, we have $|S| \leq 3n+m$, thus $S$ is not of size at least $k$, and is therefore not a solution.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So we can see the solution set $S$ is quite constrained, and must take all of $V_{Z}$ and half of $V_{X}$ (which will correspond to a truth assignment).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;b&gt;Proposition&lt;/b&gt; If $I$ is a Yes-instance of 3-SAT then $I'$ is a Yes-instance of OP.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $I$ is a Yes-instance, we have a truth assignment $A:X\rightarrow\{T,F\}$ that satisfies the formula. We construct a set $S \subseteq V$ by taking the vertices of $V_{Z}$ and for each variable $x_{i} \in X$, if $A(x) = T$, we add $x_{i}^{-}$ to $S$, otherwise we add $x_{i}^{+}$. This is clearly a suitable set $S$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;b&gt;Proposition&lt;/b&gt; If $I'$ is a Yes-instance of OP then $I$ is a Yes-instance of 3-SAT.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The set $S$ that constitutes a solution for $I'$ contains $n$ vertices of $V_{X}$, and more particularly, one vertex out of each variable pair. Moreover, as $f(c_{j}) = 3n+m+2$ for all $c_{j}\in V_{C}$, we know that $c_{j}$ is adjacent to at least one vertex in $V_{X}$ that is not in $S$. This vertex then gives us the satisfying assignment for the corresponding variable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;b&gt;Theorem 3&lt;/b&gt; OP is NP-complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;i&gt;Proof.&lt;/i&gt; By combining lemmas 1 &amp;amp; 2.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now I want prove the same thing, but via an alternate route. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that the dual problem is the following: Given a graph $G$, a function $g:V(G)\rightarrow\mathbb{N}$ and an integer $k'$, is there a set $S\subseteq V(G)$ with $|S|\leq k'$ such that for all $v \in V$ we have $|N[v]\cap S|\geq g(v)$. To see that this is the dual, starting with OP, we just take $k' = n-k$ and $g(v) = d(v)-f(v)$, where $d(v)$ is the degree of $v$. We then immediately get NP-completeness for OP and &lt;i&gt;dual&lt;/i&gt;-OP by observing that DOMINATING SET is a special case of &lt;i&gt;dual&lt;/i&gt;-OP; we just take $g(v)$ to be $1$ for all vertices.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then we know that &lt;i&gt;dual&lt;/i&gt;-OP has no $O(\log n)$ approximation unless P=NP (if I recall the result correctly). Unfortunately this doesn't say anything immediately about OP, but is a possible start.&lt;/p&gt;&#xA;" OwnerUserId="9520" LastEditorUserId="9520" LastEditDate="2012-08-19T02:47:16.790" LastActivityDate="2012-08-19T02:47:16.790" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12346" PostTypeId="1" AcceptedAnswerId="12350" CreationDate="2012-08-19T05:11:05.667" Score="3" ViewCount="118" Body="&lt;p&gt;&quot;Given a finite set $A$, a set of functions $S=\left\{f_{1}, f_{2}, \ldots, f_{k}\right\}$, each $A \to A$, and a candidate function $g:A \to A$, is $g$ in the monoid generated by $S$ with respect to composition?&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Kozen's paper &quot;&lt;a href=&quot;http://www.cs.cornell.edu/~kozen/papers/LowerBounds.pdf&quot; rel=&quot;nofollow&quot;&gt;Lower bounds for natural proof systems&lt;/a&gt;&quot; shows that this problem is PSPACE-complete. The following question is about his argument that the problem is in PSPACE.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;He argues that it is easy to compute function composition if we represent the functions as bipartite graphs. Now we just guess a sequence of $f_{i}$s, compose them, and check whether it equals $g$. Thus, it can be done in nondeterministic linear space, and by Savitch's theorem, the problem is in PSPACE.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But is this really sufficient to see that the problem is in nondeterministic linear space? The representation of $g$ using terms from $S$ might itself be exponentially long. The paper concedes this just before definition 3.2.2, and is an otherwise interesting little fact about permutations (which are a special case of the system being considered) -- the order of a permutation over $n$ elements may be exponentially large in $n$ (See &lt;a href=&quot;http://en.wikipedia.org/wiki/Landau%27s_function&quot; rel=&quot;nofollow&quot;&gt;this&lt;/a&gt;).&lt;/p&gt;&#xA;" OwnerUserId="6318" LastEditorUserId="6318" LastEditDate="2012-08-19T19:27:30.320" LastActivityDate="2012-08-19T22:01:31.743" Title="Membership testing in transformation monoids" Tags="&lt;co.combinatorics&gt;" AnswerCount="1" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="12348" PostTypeId="1" AcceptedAnswerId="12385" CreationDate="2012-08-19T12:28:18.640" Score="14" ViewCount="761" Body="&lt;p&gt;My first question is whether an interactive proof system characterisation is known for all the classic complexity classes. I would call P, NP, PSPACE, EXP, NEXP,EXPSPACE, recursive and recursively enumerable functions classic (among others). Specifically,is an interactive proof system characterisation known for recursive and recursively enumerable functions?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I only know that IP = PSPACE and that MIP = NEXPTIME. By `know'  means I understand the definitions of objects on both sides of the equality and possibly understand the equality.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My second question is whether there is a graphical summary of different types of interactive proof systems and the complexity classes they characterise.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Specifically, I would like a reference to a figure similar to Immerman's picture of &lt;a href=&quot;http://people.cs.umass.edu/~immerman/descriptiveWorld.jpg&quot;&gt;description complexity characterisations&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="4155" LastEditorUserId="4155" LastEditDate="2012-08-19T22:02:18.027" LastActivityDate="2012-08-23T08:23:21.753" Title="Landscape of interactive proof systems" Tags="&lt;cc.complexity-theory&gt;&lt;big-picture&gt;&lt;interactive-proofs&gt;" AnswerCount="2" CommentCount="9" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="12349" PostTypeId="2" ParentId="12334" CreationDate="2012-08-19T16:55:29.383" Score="4" Body="&lt;p&gt;Here is an example complementing Harry Yuen's answer. For a counter-example, it suffices to define appropriate $X,E$ and show that any large subset $E'\subseteq E$ must have a low probability co-ordinate of $E$ - a low probability co-ordinate of $E$ is necessarily a low probability co-ordinate of $E'$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, I'll ignore the condition about entropy - appending $N$ independent uniformly distributed random variables to $X$ (and taking $E$ to $E\times \Sigma^N$) will increase $H(X)/(n+N)\log|\Sigma|$ to nearly $1$ without affecting whether such an $E'$ exists (I haven't though this through carefully).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here's the example. Let $X$ be a random element of $\{0,1\}^n$ such that every vector with Hamming weight $1$ (i.e. vectors of the form $0\dots 010\dots 0$) have probability $(1-\epsilon)/n$ and the all-ones vector $1\dots 1$ has probability $\epsilon$. Let $E$ be the set of vectors with Hamming weight $1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider a subset $E'\subseteq E$. If $E'$ is not empty, it contains a vector of Hamming weight $1$, say $100\dots 0$ without loss of generality.&#xA;But $\Pr[X \in E'|X_i=1]=\frac{(1-\epsilon)/n}{(1-\epsilon)/n + \epsilon}$, which is less than $\epsilon$ if $n$ is about $2/\epsilon^2$.&lt;/p&gt;&#xA;" OwnerUserId="636" LastActivityDate="2012-08-19T16:55:29.383" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12350" PostTypeId="2" ParentId="12346" CreationDate="2012-08-19T20:08:16.903" Score="5" Body="&lt;p&gt;The nondeterministic polynomial-space algorithm for this problem works as follows:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Initialize &lt;i&gt;h&lt;/i&gt;: &lt;i&gt;A&lt;/i&gt;→&lt;i&gt;A&lt;/i&gt; to the identity mapping.&lt;/li&gt;&#xA;&lt;li&gt;Is &lt;i&gt;h&lt;/i&gt;=&lt;i&gt;g&lt;/i&gt;?  If so, we found out that &lt;i&gt;g&lt;/i&gt; is in the monoid generated by &lt;i&gt;S&lt;/i&gt;; accept and halt.&lt;/li&gt;&#xA;&lt;li&gt;Guess one element &lt;i&gt;f&lt;/i&gt;∈&lt;i&gt;S&lt;/i&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Update &lt;i&gt;h&lt;/i&gt; to &lt;i&gt;f&lt;/i&gt;∘&lt;i&gt;h&lt;/i&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Go to step 2.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;As you correctly pointed out, the sequence can be exponentially long in the input size, so this algorithm may take exponential time before accepting.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that the algorithm does not guess a whole sequence at once and store this sequence in the work space—doing so would require exponential space.&lt;/p&gt;&#xA;" OwnerUserId="567" LastEditorUserId="567" LastEditDate="2012-08-19T22:01:31.743" LastActivityDate="2012-08-19T22:01:31.743" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12351" PostTypeId="1" CreationDate="2012-08-19T20:41:34.787" Score="27" ViewCount="726" Body="&lt;p&gt;I would like to ask about a special case of the question “&lt;a href=&quot;https://cstheory.stackexchange.com/questions/8664/deciding-if-a-given-mathsfnc0-circuit-computes-a-permutation&quot;&gt;Deciding if a given NC&lt;sup&gt;0&lt;/sup&gt; circuit computes a permutation&lt;/a&gt;” by QiCheng that has been left unanswered.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A Boolean circuit is called an NC&lt;sup&gt;0&lt;/sup&gt;&lt;sub&gt;&lt;i&gt;k&lt;/i&gt;&lt;/sub&gt; circuit if each output gate syntactically depends on at most &lt;i&gt;k&lt;/i&gt; input gates.  (We say that an output gate &lt;i&gt;g&lt;/i&gt; &lt;em&gt;syntactically depends on&lt;/em&gt; an input gate &lt;i&gt;g&lt;/i&gt;′ when there is a directed path from &lt;i&gt;g&lt;/i&gt;′ to &lt;i&gt;g&lt;/i&gt; in the circuit as viewed as a directed acyclic graph.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the aforementioned question, QiCheng asked about the complexity of the following problem, where &lt;i&gt;k&lt;/i&gt; is a constant:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Instance&lt;/em&gt;: An NC&lt;sup&gt;0&lt;/sup&gt;&lt;sub&gt;&lt;i&gt;k&lt;/i&gt;&lt;/sub&gt; circuit with &lt;i&gt;n&lt;/i&gt;-bit input and &lt;i&gt;n&lt;/i&gt;-bit output.&lt;br&gt;&#xA;&lt;em&gt;Question&lt;/em&gt;: Does the given circuit compute a permutation on {0, 1}&lt;sup&gt;&lt;i&gt;n&lt;/i&gt;&lt;/sup&gt;? In other words, is the function computed by the circuit a bijection from {0, 1}&lt;sup&gt;&lt;i&gt;n&lt;/i&gt;&lt;/sup&gt; to {0, 1}&lt;sup&gt;&lt;i&gt;n&lt;/i&gt;&lt;/sup&gt;?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As Kaveh commented on that question, it is easy to see that the problem is in coNP.  In an answer, I showed that the problem is coNP-complete for &lt;i&gt;k&lt;/i&gt;=5 and that it is in P for &lt;i&gt;k&lt;/i&gt;=2.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Question&lt;/strong&gt;.  What is the complexity for &lt;i&gt;k&lt;/i&gt;=3?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Clarification on May 29, 2013&lt;/em&gt;: “A permutation on {0, 1}&lt;sup&gt;&lt;i&gt;n&lt;/i&gt;&lt;/sup&gt;” means a bijective mapping from {0, 1}&lt;sup&gt;&lt;i&gt;n&lt;/i&gt;&lt;/sup&gt; to itself.  In other words, the problem asks whether every &lt;i&gt;n&lt;/i&gt;-bit string is the output of the given circuit for some &lt;i&gt;n&lt;/i&gt;-bit input string.&lt;/p&gt;&#xA;" OwnerUserId="567" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2016-07-12T05:46:24.420" Title="Deciding whether an NC${}^0_3$ circuit computes a permutation or not" Tags="&lt;cc.complexity-theory&gt;&lt;open-problem&gt;&lt;permutations&gt;&lt;circuit-families&gt;" AnswerCount="2" CommentCount="3" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="12352" PostTypeId="2" ParentId="12301" CreationDate="2012-08-19T21:37:15.510" Score="10" Body="&lt;p&gt;Expanding vzn's comment into an answer: The standard reduction from CNF-SAT to vertex cover is pretty easy: make a vertex for each term (variable or its negation), connect each variable to its negation by an edge, make a clique for each clause, and connect each vertex in the clique to the vertex for one of the terms in the clause. If you start with a satisfiability problem with a known satisfying assignment, this will give you a vertex cover problem with a known optimal solution (choose the term vertices given by the assignment, and in each clause clique choose all but one vertex, so that the clause vertex that is not chosen is adjacent to a term vertex that is chosen).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So now you need to find satisfiability problems that have a known satisfying assignment but where the solution is hard to find. There are many known ways of generating hard satisfiability problems (e.g. generate random k-SAT instances close to the satisfiability threshold) but the extra requirement that you know the satisfying assignment restricts the possibilities. One thing you can do here is go through another level of reduction, from a cryptographically hard problem such as factorization. I.e. choose two large primes p and q, set up a Boolean circuit for multiplying p and q as binary numbers, and translate it into a CNF formula in which there is a variable for each input (p and q) and for each intermediate value on a wire in the circuit, a clause for each output forcing it to have the right value, and a clause for each gate forcing the inputs and outputs of the gate to be consistent with each other. Then translate this CNF formula into vertex cover.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For a simpler strategy, choose the satisfying assignment to a 3CNF formula first, and then generate clauses at random, keeping only the clauses that are consistent with the assignment, and then convert to vertex cover. If the clauses have uniform probability this will be vulnerable to a degree-based heuristic (the term vertices that match the chosen assignment will have lower degree than the term vertices that do not) but this shortcoming can be avoided by adjusting the probabilities of the clauses according to how many of the clause's terms agree with the chosen assignment. Probably this is vulnerable to some kind of polynomial time attack but it might not be one that's natural for vertex cover, so it might make a good set of test instances despite not having much guarantee of hardness.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2012-08-19T21:37:15.510" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12353" PostTypeId="1" CreationDate="2012-08-20T00:55:03.880" Score="15" ViewCount="424" Body="&lt;p&gt;&lt;strong&gt;Background&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A read-once formula over a set of gates (also called a basis) is a formula in which each input variable appears once. Read-once formulas are commonly studied over the De Morgan basis (which has the 2-bit gates AND and OR, and the 1-bit gate NOT) and the full binary basis (which has all 2-bit gates).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So for example, the AND of 2 bits can be written as a read-once formula over either basis, but the parity of 2 bits cannot be written as a read-once formula over the De Morgan basis.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The set of all functions that can be written as a read-once formula over the De Morgan basis has a combinatorial characterization. See, for example, &lt;a href=&quot;http://www.cs.huji.ac.il/~nati/PAPERS/read_once.pdf&quot;&gt;Combinatorial characterization of read-once formulae&lt;/a&gt; by M. Karchmer , N. Linial , I. Newman , M. Saks , A. Wigderson.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there an alternate characterization of the set of functions that can be computed by a read-once formula over the full binary basis?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Easier Question&lt;/strong&gt; (added in v2)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;While I'm still interested in an answer to the original question, since I haven't received any answers I thought I'll ask an easier question: What are some lower bound techniques that work for formulae over the full binary basis? (Other than the ones I list below.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that now I'm trying to lower bound the formula size (= number of leaves). For read-once formulae, we have formula size = number of inputs. So if you can prove that a function needs a formula of size strictly greater than n, then that also means it cannot be represented as a read-once formula.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm aware of the following techniques (along with a reference for each technique from &lt;a href=&quot;http://www.thi.informatik.uni-frankfurt.de/~jukna/boolean/index.html&quot;&gt;Boolean Function Complexity: Advances and Frontiers by Stasys Jukna&lt;/a&gt;): &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Nechiporuk's method for universal functions (Sec 6.2): Shows an $n^{2-o(1)}$ size lower bound for a certain function. This doesn't help you find lower bounds for a particular function that you might be interested in though.&lt;/li&gt;&#xA;&lt;li&gt;Nechiporuk's theorem using subfunctions (Sec 6.5): This is a proper lower bound technique in the sense that it will provide a lower bound for any function you're interested in. For example it shows that any formula over the full binary basis that represents the element distinctness function has size $\Omega(n^2/\log n)$. (And this is the largest lower bound the technique can prove &amp;mdash; for any function.)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="206" LastEditorUserId="206" LastEditDate="2012-08-28T18:24:39.533" LastActivityDate="2012-09-10T17:44:09.600" Title="Characterization of read-once formulae over the full binary basis" Tags="&lt;cc.complexity-theory&gt;&lt;circuit-complexity&gt;&lt;lower-bounds&gt;&lt;formulas&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="12354" PostTypeId="1" AcceptedAnswerId="12368" CreationDate="2012-08-20T02:55:31.753" Score="13" ViewCount="5491" Body="&lt;p&gt;Are there any applications of Abstract Algebra to Programming Language Theory? Is there anything that would be useful in language design and compiler implementation?&lt;/p&gt;&#xA;" OwnerUserId="10442" LastActivityDate="2012-08-22T15:26:59.357" Title="Programming Language Theory and Abstract Algebra" Tags="&lt;pl.programming-languages&gt;" AnswerCount="3" CommentCount="2" FavoriteCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="12355" PostTypeId="2" ParentId="12348" CreationDate="2012-08-20T04:25:30.190" Score="16" Body="&lt;p&gt;NP is ofter characterized as a proof system in which the prover sends a polynomial-length proof to a deterministic polynomial-time verifier, and after which there is no interaction. The class of recursively enumerable languages can be characterized similarly by replacing &quot;polynomial&quot; with &quot;finite&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, since the class of recursive languages R is the intersection of RE and coRE, you can characterize R as a proof system in which an all-mighty prover can convince a finite time verifier both in the validity of correct claims and in the invalidity of false claims.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The class EXP has a characterization in terms of a proof system with &quot;competing provers&quot; - i.e., a proof system in which there is a prover that tries to convince the verifier that the claim is true and a refuter that tries to convince the verifier that the claim is false. See the paper &quot;Making games short&quot; of Feige and Kilian for more details.  &lt;/p&gt;&#xA;" OwnerUserId="8429" LastEditorUserId="8429" LastEditDate="2012-08-21T21:00:57.600" LastActivityDate="2012-08-21T21:00:57.600" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12356" PostTypeId="1" CreationDate="2012-08-20T06:13:24.103" Score="20" ViewCount="264" Body="&lt;p&gt;Are there &lt;a href=&quot;http://en.wikipedia.org/wiki/Descriptive_complexity_theory&quot;&gt;descriptive complexity&lt;/a&gt; characterizations for &lt;a href=&quot;https://complexityzoo.uwaterloo.ca/Complexity_Zoo%3aD#dtisp&quot;&gt;TimeSpace&lt;/a&gt; complexity classes like &lt;a href=&quot;https://complexityzoo.uwaterloo.ca/Complexity_Zoo%3aS#sc&quot;&gt;$\mathsf{SC^i}= \mathsf{DTimeSpace}(n^{O(1)},O(\lg^i n))$&lt;/a&gt;?&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="1037" LastEditDate="2014-02-17T07:42:42.773" LastActivityDate="2014-02-17T07:42:42.773" Title="Descriptive complexity characterization of TimeSpace classes" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;descriptive-complexity&gt;" AnswerCount="0" CommentCount="0" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="12357" PostTypeId="1" CreationDate="2012-08-20T11:58:10.127" Score="-1" ViewCount="6653" Body="&lt;p&gt;What is the most efficient algorithm to compute the difference between two set data structures? In particular, the algorithm should efficiently discover elements in the first set that are also in the second set and return the difference-set.&lt;/p&gt;&#xA;" OwnerUserId="2861" LastActivityDate="2017-07-31T18:40:22.990" Title="Most efficient algorithm to compute set difference?" Tags="&lt;ds.data-structures&gt;&lt;data-sets&gt;" AnswerCount="2" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12358" PostTypeId="2" ParentId="12354" CreationDate="2012-08-20T12:38:24.583" Score="8" Body="&lt;p&gt;I've hesitated to answer because any answer beyond a simple &quot;yes&quot; could and does fill volumes. Programming language semantics has been profoundly shaped by and in turn has deeply shaped the development of categorical logic, which is the application of algebra to logic.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But I suspect the best way of answering this question is to tell you to go learn &lt;a href=&quot;http://wiki.portal.chalmers.se/agda/pmwiki.php&quot;&gt;Agda&lt;/a&gt; -- the experience of learning to program with dependent types is in large measure coming to grips with how comprehensively algebra pervades computer programming. &lt;/p&gt;&#xA;" OwnerUserId="657" LastActivityDate="2012-08-20T12:38:24.583" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12359" PostTypeId="2" ParentId="12357" CreationDate="2012-08-20T14:03:18.207" Score="0" Body="&lt;p&gt;Call your sets &lt;em&gt;A&lt;/em&gt; and &lt;em&gt;B&lt;/em&gt; respectively, and assume wlog that &lt;em&gt;Card(A) = n &amp;lt; Card(B) = m&lt;/em&gt;. If you are allowed to choose a data structure, you may want to use a hash table &lt;em&gt;H&lt;/em&gt; as follows. Store all of the elements of set &lt;em&gt;B&lt;/em&gt; in &lt;em&gt;H&lt;/em&gt;. Then iterate through the elements in &lt;em&gt;A&lt;/em&gt;. For each element &lt;em&gt;e&lt;/em&gt;, check if &lt;em&gt;e&lt;/em&gt; is in &lt;em&gt;H&lt;/em&gt;. If yes, output &lt;em&gt;e&lt;/em&gt; in the intersection set, otherwise in the difference set.&#xA;Since looking up an element in the hash table is &lt;em&gt;O(1)&lt;/em&gt; (on average), the algorithm requires &lt;em&gt;O(n)&lt;/em&gt; and is linear in the cardinality of &lt;em&gt;A&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If &lt;em&gt;Card(A) = Card(B)&lt;/em&gt;, a fast intersection algorithm is to use a &lt;a href=&quot;http://en.wikipedia.org/wiki/Bloom_filter&quot; rel=&quot;nofollow&quot;&gt;Bloom filter&lt;/a&gt; to store the sets, and then intersection is implemented with bitwise AND operations. &lt;/p&gt;&#xA;" OwnerUserId="4208" LastActivityDate="2012-08-20T14:03:18.207" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="12360" PostTypeId="2" ParentId="12357" CreationDate="2012-08-20T15:32:14.830" Score="2" Body="&lt;p&gt;Although many efficient set intersection algorithms have been proposed in the literature, my recommendation is the algorithm proposed in this paper:&#xA;&lt;a href=&quot;https://arxiv.org/abs/1103.2409&quot; rel=&quot;nofollow noreferrer&quot;&gt;Bolin Ding, Arnd Christian König: Fast Set Intersection in Memory. PVLDB 4(4): 255-266 (2011)&lt;/a&gt;, which seems most practical.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, note that there is a related question in the &lt;a href=&quot;https://stackoverflow.com/questions/497338/efficient-set-intersection-algorithm&quot;&gt;stackoverflow&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="3825" LastEditorUserId="43775" LastEditDate="2017-07-31T18:40:22.990" LastActivityDate="2017-07-31T18:40:22.990" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12361" PostTypeId="1" CreationDate="2012-08-20T16:15:28.337" Score="14" ViewCount="2305" Body="&lt;p&gt;Suppose we have a regular language specified by a regex, for example, (ab|ac)* and we wish to find an equivalent regex with the minimal number of symbols, (a(b|c))*. Is there any efficient way to do this? From what I've read, minimizing the number of states in a DFA is easy, but minimizing a NFA is PSPACE-Complete, and I'm not sure which if either of these it falls under. If it's not tractable, are there any good approximation algorithms or special cases under which it can be done efficiently?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note: By minimizing the number of symbols, I mean the number of times symbols in the alphabet (a,b,c in the example) appear in the regular expression. The number of parenthesis, | and *s don't matter.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Motivation - this idea comes from the challenge of minimizing program code size, given that if and while statements are the only allowable control flow. The possible paths through the control flow graph correspond to a regular language, with if being union, while being the Kleene star, and symbols representing primitive statements that don't transfer control.&lt;/p&gt;&#xA;" OwnerUserId="10448" LastEditorUserId="186" LastEditDate="2012-08-21T14:37:31.200" LastActivityDate="2012-08-27T08:05:41.500" Title="minimizing size of regular expression" Tags="&lt;ds.algorithms&gt;&lt;fl.formal-languages&gt;&lt;regular-language&gt;" AnswerCount="0" CommentCount="8" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12362" PostTypeId="1" CreationDate="2012-08-20T18:38:07.807" Score="0" ViewCount="232" Body="&lt;h3&gt;Abstract problem description&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;The way I see it, unparsing means to create a token stream from an AST, which when parsed again produces an equal AST, i.e. &lt;code&gt;parse(unparse(AST)) = AST&lt;/code&gt; should hold.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is the equal to finding a valid parse tree which would produce the same AST. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The language is described by a context free S-attributed grammar using a eBNF variant. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;So the unparser has to find a valid 'path' through the traversed nodes in which all grammar constraints hold. This bascially means to find a valid allocation of AST nodes to grammar production rules. This is a constraint satisfaction problem (CSP) in general and could be solved, like parsing, by backtracking in $O(e^n)$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Fortunately for parsing, this can be done in $O(n^3)$ using GLR (or better restricting the grammar). Because the AST structure is so close to the grammar production rule structure, I was really surprised seeing an implementation where the runtime is worse than parsing: XText uses ANTLR for parsing and backtracking for unparsing. &lt;/p&gt;&#xA;&#xA;&lt;h3&gt;Questions&lt;/h3&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Is a context free S-attribute grammar everything a parser and unparser need to share or are there further constraints, e.g. on the parsing technique / parser implementation?&lt;/li&gt;&#xA;&lt;li&gt;I've got the feeling this problem isn't $O(e^n)$ in general -- could some genius help me with this?&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;The question has been posted on &lt;a href=&quot;https://stackoverflow.com/questions/11918961/unparse-ast-oexpn&quot;&gt;StackOverflow&lt;/a&gt; and &lt;a href=&quot;https://cs.stackexchange.com/questions/3233/can-abstract-syntax-trees-be-unparsed-in-subexponential-time&quot;&gt;Computer Science&lt;/a&gt; without any answers.&lt;/p&gt;&#xA;" OwnerUserId="10450" LastEditorUserId="-1" LastEditDate="2017-05-23T12:40:09.333" LastActivityDate="2012-09-06T21:20:27.117" Title="Can abstract syntax trees be unparsed in subexponential time?" Tags="&lt;ds.algorithms&gt;&lt;graph-algorithms&gt;&lt;fl.formal-languages&gt;&lt;parsing&gt;" AnswerCount="1" CommentCount="7" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="12364" PostTypeId="2" ParentId="11827" CreationDate="2012-08-21T01:59:11.767" Score="9" Body="&lt;p&gt;The &lt;a href=&quot;http://qwiki.stanford.edu/index.php/Complexity_Zoo%3aB#bpp&quot;&gt;complexity zoo&lt;/a&gt; is your friend! As Robin said, you have half the answer: any EXP-complete problem collapses NP to P, and therefore BPP to P. &lt;a href=&quot;http://people.cs.uchicago.edu/~fortnow/papers/rpvsbpp.pdf&quot;&gt;Buhrman and Fortnow&lt;/a&gt; constructed an oracle relative to which P = RP but BPP is not equal to P. This is more than what you asked for; I suspect there are easier constructions that separate P from both RP and BPP. &lt;/p&gt;&#xA;" OwnerUserId="4896" LastActivityDate="2012-08-21T01:59:11.767" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12365" PostTypeId="2" ParentId="11827" CreationDate="2012-08-21T02:04:56.763" Score="-1" Body="&lt;p&gt;Bennett &amp;amp; Gill give oracles for both cases: &lt;a href=&quot;http://epubs.siam.org/doi/abs/10.1137/0210008&quot; rel=&quot;nofollow&quot;&gt;http://epubs.siam.org/doi/abs/10.1137/0210008&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="9520" LastActivityDate="2012-08-21T02:04:56.763" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="12366" PostTypeId="2" ParentId="11827" CreationDate="2012-08-21T02:53:02.890" Score="14" Body="&lt;p&gt;I had a vague recollection that I knew an excellent reference for such oracle separations. I finally found it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A great reference for oracle separations (for classes between P and PSPACE) is &lt;a href=&quot;http://iopscience.iop.org/1468-4810/42/2/A02&quot;&gt;the following paper&lt;/a&gt;:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Vereshchagin, N K (1994), &quot;RELATIVIZABLE AND NONRELATIVIZABLE THEOREMS IN THE POLYNOMIAL THEORY OF ALGORITHMS&quot;, Russian Academy of Sciences. Izvestiya Mathematics 42 (2): 261&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The paper shows (or gives a citation for) an oracle separation between almost every pair of classes that you might care about between P and PSPACE (e.g., it has classes like P, RP, BPP, UP, FewP, NP, MA, AM, other levels of PH, PH, IP, PSPACE, etc.).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, Theorem 8 shows an oracle problem in coRP that is not in NP. Since (relative to all oracles) coRP is in BPP and NP contains P, we get an oracle problem in BPP that is not in P.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As I mentioned in my comment, showing an oracle for which $\text{P}^A = \text{BPP}^A$ is easy. Let A be a EXP-complete language or a PSPACE-complete language.&lt;/p&gt;&#xA;" OwnerUserId="206" LastActivityDate="2012-08-21T02:53:02.890" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="12367" PostTypeId="2" ParentId="11827" CreationDate="2012-08-21T04:30:01.417" Score="7" Body="&lt;p&gt;A nice description of an oracle that separates P and BPP is given by  Greg Kuperberg in one of the comments of this interesting &lt;a href=&quot;http://terrytao.wordpress.com/2009/08/01/pnp-relativisation-and-multiple-choice-exams/&quot;&gt;blog post&lt;/a&gt;, where Terence Tao describes Turing machines with oracles and complexity results relative to oracles in the form of an allegory.&lt;/p&gt;&#xA;" OwnerUserId="1542" LastActivityDate="2012-08-21T04:30:01.417" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12368" PostTypeId="2" ParentId="12354" CreationDate="2012-08-21T05:21:00.350" Score="12" Body="&lt;p&gt;Algebra in the classical sense of the word is used in modeling of computational effects as algebraic operations, see for example &lt;a href=&quot;http://li2012.univ-mrs.fr/media/talk21/France_lectures_1.pdf&quot;&gt;these slides&lt;/a&gt; by Gordon Plotkin, or you can read &lt;a href=&quot;http://matija.pretnar.info/pdf/handlers-of-algebraic-effects.pdf&quot;&gt;real&lt;/a&gt; &lt;a href=&quot;http://homepages.inf.ed.ac.uk/gdp/publications/Logic_Algebraic_Effects.pdf&quot;&gt;papers&lt;/a&gt; and &lt;a href=&quot;http://matija.pretnar.info/pdf/the-logic-and-handling-of-algebraic-effects.pdf&quot;&gt;Ph.D. theses&lt;/a&gt;, if you actually meant to ask the question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;And to blow my own horn, have a look at &lt;a href=&quot;https://github.com/matijapretnar/eff&quot;&gt;Eff&lt;/a&gt; and &lt;a href=&quot;http://arxiv.org/abs/1203.1539&quot;&gt;read about it&lt;/a&gt;, a language designed around the idea that computational effects are algebraic operations and that handlers are homomorphisms of algebras.&lt;/p&gt;&#xA;" OwnerUserId="705" LastActivityDate="2012-08-21T05:21:00.350" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="12369" PostTypeId="1" AcceptedAnswerId="12388" CreationDate="2012-08-21T06:52:05.923" Score="17" ViewCount="1715" Body="&lt;p&gt;I am reading about classes of graphs for which Graph Isomorphism ($GI$) is in $P$. One of such case is graphs of bounded valence (maximum over degree of each vertex) as explained &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/0022000082900095&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;. But I found it too abstract. I would be thankful if anybody can suggest me some references of expository nature. I do not have strong background in group theory, so I would prefer papers which use group theory in a gentle way (my background is in CS).&lt;/p&gt;&#xA;" OwnerUserId="10456" LastEditorUserId="4896" LastEditDate="2016-06-01T19:50:28.987" LastActivityDate="2016-06-01T19:50:28.987" Title="Gentle introduction to graph isomorphism for bounded valance graphs" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;graph-theory&gt;&lt;graph-isomorphism&gt;" AnswerCount="2" CommentCount="3" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="12370" PostTypeId="2" ParentId="12362" CreationDate="2012-08-21T12:59:26.550" Score="3" Body="&lt;p&gt;If the synthesized attributes compute a parse tree, then unparsing can be done in time linear in the size of the parse tree, assuming that string concatenation happens in constant time -- the obvious recursive algorithm on the parse tree will do the job.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would guess XText is doing backtracking in order to minimize the number of parentheses in arithmetic expressions, line breaks, or some other pretty-printing criteria. However, for most languages it's possible to do that in linear time, as well. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;See Norman Ramsey, &lt;a href=&quot;http://www.cs.tufts.edu/~nr/pubs/unparse-abstract.html&quot; rel=&quot;nofollow&quot;&gt;&lt;em&gt;Unparsing Expressions With Prefix and Postfix Operators&lt;/em&gt;&lt;/a&gt;. Software—Practice and Experience, 28(12):1327–1356, October 1998. &lt;/p&gt;&#xA;" OwnerUserId="657" LastActivityDate="2012-08-21T12:59:26.550" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12372" PostTypeId="1" CreationDate="2012-08-21T15:07:35.473" Score="7" ViewCount="195" Body="&lt;p&gt;Consider a planar subdivision, with F faces, V vertices, E edges, and I face-vertex incidences. For simplicity, assume a &quot;non-degenerate&quot; situation in which each vertex occurs on the boundary cycle of each face only once. Then I is the sum over all faces of the number of vertices per face, or equivalently, the sum over all vertices of the number of incident faces. We have I = 2E, and therefore Euler's formula gives us:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;F + V = I/2 + 2.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;All I actually care about is:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;F + V &amp;lt; I/2.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does this also hold in for three-dimensional subdivisions, when F is the number of three-dimensional cells of the subdivision, and V and I are as defined above? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that I am looking for an inequality that is independent of the number of one- and two-dimensional faces in the subdivision. When the cells are convex I can get something using quite a bit of geometry, but it seems to me that the requirement that the cells be convex is an artifact of my proof technique, and something more general should be possible and/or known. Does anybody have an idea where to look for the answer?&lt;/p&gt;&#xA;" OwnerUserId="10458" LastEditorUserId="-1" LastEditDate="2012-10-17T16:26:12.113" LastActivityDate="2012-10-17T16:26:12.113" Title="Relation between vertices, cells, and vertex-cell-incidences in 3D subdivisions" Tags="&lt;graph-theory&gt;&lt;cg.comp-geom&gt;&lt;topology&gt;" AnswerCount="2" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="12374" PostTypeId="2" ParentId="12343" CreationDate="2012-08-21T18:14:52.150" Score="9" Body="&lt;p&gt;There is no such $C$. Define $g\colon\mathbb{Z}_2^n\to\mathbb{R}$ by&#xA;$$g(x_1,\dots,x_n)=\begin{cases}&#xA;2^{2n/3}&amp;amp;\text{ if $x_1=\dots=x_n=0$}\\&#xA;1&amp;amp;\text{ otherwise.}\end{cases}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then $g*g$ satisfies&#xA;$$(g*g)(x_1,\dots,x_n)=\begin{cases}&#xA;2^{4n/3}+2^n-1&amp;amp;\text{ if $x_1=\dots=x_n=0$}\\&#xA;2^{2n/3}\cdot 2+2^n-2&amp;amp;\text{ otherwise.}\end{cases}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $f=g/\|g\|_2$. Then $H(f)=H(g/\|g\|_2)$ is $o(1)$ (in fact it's exponentially small in $n$), while $H(g*g/\|g*g\|_2)$ is about $n$.&lt;/p&gt;&#xA;" OwnerUserId="636" LastActivityDate="2012-08-21T18:14:52.150" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12375" PostTypeId="1" CreationDate="2012-08-21T18:33:21.703" Score="1" ViewCount="151" Body="&lt;p&gt;Let $G = (V,E)$ with a weight function $w(e)$ for $e \in E$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $T$ be the set of &lt;em&gt;minimal&lt;/em&gt; spanning trees of $G$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am interested in finding $\min_{t \in T} \max_{e \in t} w(e)$, where $t$ ranges over &lt;em&gt;minimal&lt;/em&gt; spanning trees.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is the minimally heaviest edge in all minimal spanning trees.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there an algorithm for finding this value? What if I am interested in finding this value approximately, without exploring the whole graph (because the graph is quite large)? Is there a sampling or an approximate algorithm in this case?&lt;/p&gt;&#xA;" OwnerUserId="10461" LastEditorUserId="186" LastEditDate="2012-08-22T06:28:56.537" LastActivityDate="2012-08-22T06:28:56.537" Title="Is there an algorithm for finding the maximal edge weight over all spanning trees?" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;approximation-algorithms&gt;" AnswerCount="0" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="12376" PostTypeId="1" CreationDate="2012-08-21T20:46:38.967" Score="11" ViewCount="2143" Body="&lt;p&gt;I am trying to cover a simple concave polygon with a minimum rectangles. My rectangles can be any length, but they have maximum widths, and the polygon will never have an acute angle.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I thought about trying to decompose my concave polygon into triangles that produce a set of minimumally overlapping rectangles minimally bounding each triangle and then merging those rectangles into larger ones. However, I don't think this will work for small notches in the edges of the polygon. The triangles created by the reflex vertices on those notches will create the wrong rectangles. I am looking for rectangles that will span/ignore notches. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I don't really know anything about computational geometry, so I'm not really sure on how to begin asking the question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I found other posts that were similar, but not what I need:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://mathoverflow.net/questions/28303/split-polygon-into-minimum-amount-of-rectangles-and-triangles&quot;&gt;split polygon into minimum amount of rectangles and triangles&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://mathoverflow.net/questions/91279/covering-an-arbitrary-polygon-with-minimum-number-of-squares&quot;&gt;Covering an arbitrary polygon with minimum number of squares&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://stackoverflow.com/questions/3476778/find-k-rectangles-so-that-they-cover-the-maximum-number-of-points&quot;&gt;Find $k$ rectangles so that they cover the maximum number of points&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://stackoverflow.com/questions/5919298/algorithm-for-finding-the-fewest-rectangles-to-cover-a-set-of-rectangles&quot;&gt;Algorithm for finding the fewest rectangles to cover a set of rectangles&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Some examples: Black is the input. Red is the acceptable output.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/0NDBF.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another exmaple: The second output is prefered. However, generating both outputs and using another factor to determine preference is probably necessary and not the responsibility of this algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/9qgeJ.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/n02UR.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Polygons that mimic curves are extremely rare. In this scenario much of the area of the rectangles is wasted. However, this is acceptable because each rectangle obeys the max width constraint.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.imgur.com/KyQPn.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, I found this article to be close to what I need:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.emis.de/journals/ASUO/mathematics/pdf6/75_86_PIacob_DMarinescu_CLuca.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Covering with rectangular pieces&lt;/a&gt; by Paul Iacob, Daniela Marinescu, and Cristina Luca&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Maybe a better question is &quot;How can I identify rectangular-like portions of a concave polygon?&quot;&#xA;&lt;img src=&quot;https://i.imgur.com/S0nfQ.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is an image showing the desired implementation:&#xA;&lt;img src=&quot;https://i.imgur.com/fzjFP.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The green is the actual material usage. The red rectangles are the layouts. The blue is the MBR of the entire polygon. I am thinking I should try to get little MBRs and fill them in. The 2-3 green rectangles in the upper left corner that terminate into the middle of the polygon are expensive. That is what I want to minimize. The green rectangles have a min and max width and height, but I can use as many rows and columns necessary to cover a region. Again, I must minimize the number of rectangles that do not span across the input. I can also modify the shape of the green rectangle to fit in small places that is also very expensive. In other words, getting as many rectangles as possible to span as much as possible is ideal.&lt;/p&gt;&#xA;" OwnerUserId="10463" LastEditorUserId="-1" LastEditDate="2017-05-23T11:33:33.907" LastActivityDate="2012-12-01T05:56:24.853" Title="Cover a Concave Polygon with a minimum number of rectangles" Tags="&lt;co.combinatorics&gt;&lt;cg.comp-geom&gt;" AnswerCount="2" CommentCount="18" FavoriteCount="4" CommunityOwnedDate="2012-08-29T14:01:50.840" ContentLicense="CC BY-SA 3.0" />
  <row Id="12377" PostTypeId="1" CreationDate="2012-08-21T23:58:16.307" Score="39" ViewCount="6367" Body="&lt;p&gt;Paul Wegner and Dina Goldin have for over a decade been publishing papers and books arguing primarily that the Church-Turing thesis is often misrepresented in the CS Theory community and elsewhere.  That is, it is presented as encompassing all computation when in fact it applies only to computation of functions, which is a very small subset of all computation.  Instead they suggest we should seek to model interactive computation, where communication with the outside world happens during the computation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The only critique I have seen of this work is in the &lt;a href=&quot;http://lambda-the-ultimate.org/node/1038&quot;&gt;Lambda the Ultimate&lt;/a&gt; forum, where somebody lamented these authors for continually publishing what is obviously known.  My question then is, is there any more critique into this line of thinking, and in particular their Persistent Turing Machines.  And if not, why then is it seemingly studied very little (I could be mistaken).  Lastly, how does the notion of universality translate to an interactive domain.&lt;/p&gt;&#xA;" OwnerUserId="4501" LastEditorUserId="186" LastEditDate="2012-08-22T06:22:44.770" LastActivityDate="2016-02-27T13:21:56.617" Title="Applicability of Church-Turing thesis to interactive models of computation " Tags="&lt;computability&gt;&lt;turing-machines&gt;&lt;machine-models&gt;&lt;church-turing-thesis&gt;" AnswerCount="7" CommentCount="6" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="12378" PostTypeId="2" ParentId="12372" CreationDate="2012-08-22T02:30:03.410" Score="4" Body="&lt;p&gt;As Tsuyoshi points out in the comments, the following answer is about &lt;em&gt;upper&lt;/em&gt; bounds for $I$ in terms of $F$ and $V$, while the original question is about the &lt;em&gt;lower&lt;/em&gt; bound $I \ge 2(F+V)$.  (Sorry!)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;See David Eppstein's response for the correct answer to the original question.&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://arxiv.org/abs/math/0208073v2&quot; rel=&quot;nofollow&quot;&gt;Ziegler&lt;/a&gt; defines the &lt;em&gt;fatness&lt;/em&gt; and &lt;em&gt;complexity&lt;/em&gt; of a cell decomposition $X$ of the 3-sphere (for example, a 4-dimensional convex polytope) as follows:&#xA;$$&#xA;F(X) = \frac{f_1 + f_2 - 20}{f_0 + f_3 - 10}&#xA;\quad\text{and}\quad &#xA;C(X) = \frac{f_{03} - 20}{f_0 + f_3 - 10}.&#xA;$$&#xA;Here, $f_i$ denotes the number of $i$-dimensional cells (0=vertices, 1=edges, 2=polygons, 3=chambers), and $f_{03}$ is the number of incidences between vertices and chambers.  (The -10 and -20 terms simplify some inequalities.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Your question is equivalent to asking whether $C(X)$ is always less than some fixed constant.  Ziegler observes that the generalized Dehn-Sommerville relations (a particular generalization of a generalization of Euler's formula) imply that &#xA;$$&#xA;C(X) \le 2F(X) -2 \quad\text{and}\quad F(X) \le 2C(X) - 2.&#xA;$$&#xA;So equivalently, you are asking whether there is an upper bound on the maximum possible &lt;em&gt;fatness&lt;/em&gt; of a 3d cell complex.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;In fact, there is no such upper bound.&lt;/strong&gt;  &lt;a href=&quot;http://arxiv.org/abs/math/0204007v3&quot; rel=&quot;nofollow&quot;&gt;Eppstein, Kuperberg, and Ziegler&lt;/a&gt; construct, for any integer $n$, a cellular 3-sphere $X_n$ with $O(n^{12})$ vertices and chambers but $\Omega(n^{13})$ edges and polygons, so $C(X_n) = \Omega(n)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Moreover, it is an open question whether $C(X)$ is bounded for convex 4-polytopes.  &lt;a href=&quot;http://arxiv.org/abs/math/0204007v3&quot; rel=&quot;nofollow&quot;&gt;Eppstein, Kuperberg, and Ziegler&lt;/a&gt; also construct an infinite family of 4-polytopes $X$ such that $F(X)&amp;gt;5$ and thus $C(X)&amp;gt;3.5$; these are the fattest 4-polytopes known.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, it is known that fatness cannot grow arbitrarily quickly; specifically, any $n$-vertex cell decomposition has fatness $O(n^{2/3})$, and any $n$-vertex convex 4-polytope has fatness $O(n^{1/3})$.&lt;/p&gt;&#xA;" OwnerUserId="111" LastEditorUserId="111" LastEditDate="2012-08-22T19:48:31.940" LastActivityDate="2012-08-22T19:48:31.940" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="12381" PostTypeId="2" ParentId="12354" CreationDate="2012-08-22T15:26:59.357" Score="-1" Body="&lt;p&gt;Actually there a software for theorical abstract algebra. This soft allow compute some kinds of things like actions groups, Homomorphism etc...&#xA;It is Magma: &lt;a href=&quot;http://magma.maths.usyd.edu.au/magma/&quot; rel=&quot;nofollow&quot;&gt;http://magma.maths.usyd.edu.au/magma/&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I hope this can help you.&lt;/p&gt;&#xA;" OwnerUserId="10472" LastActivityDate="2012-08-22T15:26:59.357" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="12383" PostTypeId="2" ParentId="12372" CreationDate="2012-08-22T18:05:33.370" Score="6" Body="&lt;p&gt;Doesn't $F + V \le 2I$ hold trivially for every system of incidences between things called vertices and things called faces? Under some reasonable assumptions, every vertex has at least one incidence, and every face has at least one incidence. If you add those incidences together you count each incidence at most twice.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To get from there to your desired $F + V \le I/2 + O(1)$ you'd need to use some actual geometry show that the vertices and faces each have at least four incidences on average. This is obvious for convex subdivisions but maybe needs more assumptions in general (e.g. consider a system of bubbles in 3d space, linked one to the next in a chain: each face has no vertex-face incidences, because there are no vertices).&lt;/p&gt;&#xA;" OwnerUserId="95" LastEditorUserId="95" LastEditDate="2012-08-22T18:12:25.900" LastActivityDate="2012-08-22T18:12:25.900" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="12385" PostTypeId="2" ParentId="12348" CreationDate="2012-08-22T20:56:39.807" Score="12" Body="&lt;p&gt;You can find many characterizations (particularly on space-bounded verifiers) in Condon's famous survey: &lt;a href=&quot;http://www.cs.ubc.ca/~condon/papers/ips-survey.pdf&quot;&gt;The complexity of space bounded interactive proof systems&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is a list of some of them:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;$ \mathsf{RE} = \mathsf{weak\mbox{-}IP(2pfa)} $, where 2pfa (the verifier) is a two-way probabilistic finite automaton.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;$ \mathsf{R} = \mathsf{2IP(pfa)} $, where pfa (the verifier) is a one-way probabilistic finite automaton interacting with two provers.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;$ \mathsf{NEXP} = \mathsf{2IP(pfa,poly\mbox{-}time)} $.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;$ \mathsf{PSPACE} = \mathsf{IP(log\mbox{-}space,poly\mbox{-}time)} $.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;$ \mathsf{NP} = \mathsf{oneway\mbox{-}IP(log\mbox{-}space,poly\mbox{-}time)} = \mathsf{oneway\mbox{-}IP(log\mbox{-}space,log\mbox{-}random\mbox{-}bits)} $.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;$ \mathsf{P} = \mathsf{AM(log\mbox{-}space)} $, $ \mathsf{EXP} = \mathsf{AM(poly\mbox{-}space)} $, and etc.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Some recent (mostly quantum) results:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;$ \mathsf{RE} = \mathsf{weak\mbox{-}AM(2qcfa)} $ by &lt;a href=&quot;http://arxiv.org/abs/1205.5395&quot;&gt;Yakaryilmaz&lt;/a&gt;, where 2qcfa (the verifier) is a two-way finite automaton having a constant-size quantum register.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;$ \mathsf{R} = \mathsf{IP(2pca)} = \mathsf{AM(2qca)} $ by &lt;a href=&quot;http://eccc.hpi-web.de/report/2012/091/&quot;&gt;Yakaryilmaz&lt;/a&gt;, where 2pca (the former verifier) is a two-way probabilistic finite automaton with one counter and 2qca (the latter verifier) is a two-way quantum finite automaton with one counter.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://dl.acm.org/citation.cfm?doid=2090236.2090259&quot;&gt;Ito, Kobayashi, and Watrous&lt;/a&gt; gave a new characterization of $ \mathsf{EXP} $ based on quantum interactive proof systems with a double-exponentially small gap in acceptance probability between the completeness and soundness cases.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;$ \mathsf{PSPACE} = \mathsf{QIP(poly\mbox{-}time)} $ by &lt;a href=&quot;http://dl.acm.org/citation.cfm?doid=2049697.2049704&quot;&gt;Jain, Ji, Upadhyay, and Watrous&lt;/a&gt;, where QIP is the quantum generalization of IP systems.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;$ \mathsf{NP} $ is the class of languages for which membership has a logarithmic-size quantum proof with perfect completeness and soundness, which is polynomially close to 1 in a context where the verifier is provided a proof with two unentangled parts (&lt;a href=&quot;http://www.springerlink.com/content/m53u141735462m33/&quot;&gt;Blier and Tapp&lt;/a&gt;).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;$ \mathsf{NL} = \mathsf{weak\mbox{-}oneway\mbox{-}IP(2pfa,constant\mbox{-}random\mbox{-}bits)} $ by &lt;a href=&quot;http://dx.doi.org/10.1007/978-3-642-30870-3_65&quot;&gt;Say and Yakaryilmaz&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="7358" LastEditorUserId="7358" LastEditDate="2012-08-23T08:23:21.753" LastActivityDate="2012-08-23T08:23:21.753" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="12386" PostTypeId="1" AcceptedAnswerId="12739" CreationDate="2012-08-22T21:04:40.677" Score="1" ViewCount="3009" Body="&lt;p&gt;Is there any greedy solution with an approximation bound for the bin-packing problem when we have bins of different size?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More formally, there are $n$ bins of size $b_i$ for $i=1,\dotsc,n$, and $m$ objects, each of size $o_j$ for $j=1,\dotsc,m$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a solution that can pack all of these items into the bins?&lt;/p&gt;&#xA;" OwnerUserId="10188" LastEditorUserId="14081" LastEditDate="2013-03-07T13:28:50.427" LastActivityDate="2013-03-07T13:28:50.427" Title="Bin packing approximation with different bin sizes" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;&lt;approximation-algorithms&gt;&lt;packing&gt;" AnswerCount="2" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12388" PostTypeId="2" ParentId="12369" CreationDate="2012-08-23T04:00:43.573" Score="14" Body="&lt;p&gt;The algorithm for bounded-degree graph isomorphism is so closely tied to (permutation) group theory that I doubt there is an introduction that uses groups &quot;only gently.&quot; However, you might consult &lt;a href=&quot;http://people.cs.uchicago.edu/~laci/students/codenotti.pdf&quot; rel=&quot;nofollow&quot;&gt;Paolo Codenotti's Ph.D. thesis&lt;/a&gt; for more complete background. He doesn't cover bounded-degree graph isomorphism exactly, but covers the tools needed for it (and the rest of the thesis is about bounded-rank hypergraphs, extending the best known algorithm for general graph isomorphism to the bounded-rank hypergraph case).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You may also find the book &lt;a href=&quot;http://dx.doi.org/10.1007/3-540-11493-9&quot; rel=&quot;nofollow&quot;&gt;Group-Theoretic Algorithms and Graph Isomorphism&lt;/a&gt; useful, as it covers most of the background necessary (Chapter 2, &quot;Basic Concepts&quot;, is 47 pages) and is a much more leisurely exposition than most of the published papers on the topic.&lt;/p&gt;&#xA;" OwnerUserId="129" LastEditorUserId="4896" LastEditDate="2015-12-24T14:30:21.030" LastActivityDate="2015-12-24T14:30:21.030" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12389" PostTypeId="2" ParentId="12377" CreationDate="2012-08-23T15:04:36.417" Score="27" Body="&lt;p&gt;In terms of number computability (i.e., computing functions from $\mathbb{N} \to \mathbb{N}$), all known models of computation are equivalent. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, it's still true that Turing machines are fairly painful for modelling properties like interactivity. The reason is a little bit subtle, and has to do with the kinds of questions that we want to ask about interactive computations. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The usual first pass at modelling interaction with TMs is with oracle tapes. Intuitively, you can think of the string printed on the oracle tape as being a &quot;prediction&quot; of the Turing machine's I/O interaction with the environment. However, consider the sorts of questions we want to ask about interactive programs: for example, we might want to know that a computer program will not output your financial data unless it receives your username and password as input, and furthermore that programs do not leak information about passwords. Talking about this kind of constraint is very painful with oracle strings, since it reflects a temporal, epistemic constraint on the trace of the interaction, and the definition of oracle tapes ask you to supply the whole string up front. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I suspect getting this right is doable, and essentially amounts (1) to considering oracle strings not as a set, but as a topological space whose open sets encode the modal logic of time and knowledge that you want to model, and (2) ensuring that the theorems you prove are all continuous with respect to this topology, viewing predicates as continuous functions from oracle strings to truth values viewed as the Sierpinski space. I should emphasize that &lt;strong&gt;this is a guess&lt;/strong&gt;, based on the analogy with domain theory. You'd need to work out the details (and probably submit them to LICS or something) to be sure.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As a result, people prefer to model interaction using things like the &lt;a href=&quot;http://en.wikipedia.org/wiki/Dolev-Yao_model&quot;&gt;Dolev-Yao&lt;/a&gt; model, where you explicitly model the interaction between computers and the environment, so that you can explicitly characterize what the attacker knows. This makes it a lot easier to formulate appropriate modal logics for reasoning about security, since the state of the system plus the state of the environment are represented explicitly. &lt;/p&gt;&#xA;" OwnerUserId="657" LastActivityDate="2012-08-23T15:04:36.417" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12390" PostTypeId="2" ParentId="12376" CreationDate="2012-08-23T17:00:38.577" Score="2" Body="&lt;p&gt;I think &lt;a href=&quot;http://www.cs.helsinki.fi/u/polishch/pages/suit.pdf&quot; rel=&quot;nofollow&quot;&gt;this paper&lt;/a&gt; may be of some help.  Obviously it's not the same problem--in fact it's the reverse problem, covering a rectangle with polygons--but some of the ideas could be a starting point.  In particular, this reverse problem is NP-hard and I suspect yours may be as well (though there's no obvious extension of the reduction as far as I can tell).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;E. Arkin, A. Efrat, G. Hart, I. Kostitsyna, A. Kroller, J. Mitchell, and V. Polishchuk. Scandinavian Thins on Top of Cake: On the Smallest One-Size-Fits-All Box.&#xA;&lt;em&gt;Fun with Algorithms&lt;/em&gt;. pg.16-27.  2012&lt;/p&gt;&#xA;" OwnerUserId="8927" LastActivityDate="2012-08-23T17:00:38.577" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12392" PostTypeId="2" ParentId="12386" CreationDate="2012-08-23T19:30:12.367" Score="2" Body="&lt;p&gt;The &lt;a href=&quot;http://en.wikipedia.org/wiki/Bin_packing_problem#First-fit_algorithm&quot; rel=&quot;nofollow&quot;&gt;first-fit algorithm&lt;/a&gt; is a greedy algorithm that states &quot;For each item, it attempts to place the item in the first bin that can accommodate the item&quot;.&lt;/p&gt;&#xA;" OwnerUserId="10463" LastActivityDate="2012-08-23T19:30:12.367" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="12393" PostTypeId="1" CreationDate="2012-08-23T21:22:36.040" Score="6" ViewCount="578" Body="&lt;p&gt;I'm considering a network planning problem which is stated as follows:&#xA;From the given ground set $\mathcal{V}$, select $\mathcal{A} \subseteq \mathcal{V}$ such that &#xA;\begin{equation}&#xA;f(\mathcal{A}) - \sum_{v_i \in \mathcal{A}} c_i&#xA;\end{equation}&#xA;is maximized where $f$ is a monotone submodular function and $c_i \ge 0$ is the cost of selecting $v_i$. The problem is an instance of nonomonotone submodular maximization for which a local search heuristic with approximation bound of $\frac{2}{5} - \frac{\epsilon}{n}$ is presented in&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Uriel Feige, Vahab S. Mirrokni, Jan Vondrák: &quot;Maximizing Non-Monotone Submodular Functions &quot;, FOCS 2007.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm wondering if anyone is aware of a better approximation algorithm for my specific problem?&lt;/p&gt;&#xA;" OwnerUserId="10487" LastEditorUserId="186" LastEditDate="2012-08-29T16:06:51.007" LastActivityDate="2020-05-18T23:01:42.440" Title="Maximizing difference of a submodular and a modular function" Tags="&lt;ds.algorithms&gt;&lt;approximation-algorithms&gt;&lt;optimization&gt;&lt;submodularity&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="12394" PostTypeId="2" ParentId="9679" CreationDate="2012-08-24T05:09:20.193" Score="1" Body="&lt;p&gt;One natural thing would be to try a separator kind of trick. If the Voronoi cells are fat, and of similar size then a randomly shifted grid of the right side would do reasonably well. in particular, there is a paper by Miller and Thurston (and some other people - their names escape me) about finding a separator if you have fat regions covering space, and every point is covered only a constant number of times. It is essentially an extension of their proof of the existence of a planar separator to these more general settings.&lt;/p&gt;&#xA;" OwnerUserId="9594" LastActivityDate="2012-08-24T05:09:20.193" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12395" PostTypeId="1" AcceptedAnswerId="12398" CreationDate="2012-08-24T09:11:13.497" Score="9" ViewCount="318" Body="&lt;p&gt;Say we have a function $f:\mathbb{Z}_2^n \to \mathbb{R}$ such that&#xA;$$\forall x\in \mathbb{Z}_2^n \quad f(x) \in \left\{\frac{1}{2^n}, \frac{2}{2^n}, \ldots, \frac{2^n}{2^n} \right\},$$&#xA;and $f$ is a distribution, i.e., $\sum_{x\in \mathbb{Z}_2^n} f(x) = 1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The Shannon entropy of $f$ is defined as follows:&#xA;$$H(f) = -\sum _{x \in \mathbb{Z}_2^n} f(x) \log \left( f(x) \right) .$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $\epsilon$ be some constant.&#xA;Say we get an $\epsilon$-noisy version of $f(x)$, i.e., we get a function  $\tilde{f}:\mathbb{Z}_2^n \to \mathbb{R}$ such that $|\tilde{f}(x)- f(x) | &amp;lt; \epsilon$ for every $x\in \mathbb{Z}_2^n$. What is the effect of the noise on the entropy? That is, can we bound $H(\tilde{f})$ by a &quot;reasonable&quot; function of $\epsilon$ and $H(f)$, such as:&#xA;$$(1-\epsilon)H(f) &amp;lt; H(\tilde{f}) &amp;lt; (1+\epsilon)H(f),$$&#xA;or even,&#xA;$$(1-\epsilon^c n)^d H(f) &amp;lt; H(\tilde{f}) &amp;lt; (1+\epsilon^c n)^d H(f),$$&#xA;for some constants $c,d$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Edit: Trying to get a feeling for the effect of noise on Shannon's entropy, any &#xA; &quot;reasonable&quot; additive bound on $H(\tilde{f})$ would also be very interesting.&lt;/em&gt;&lt;/p&gt;&#xA;" OwnerDisplayName="user887" LastEditorDisplayName="user887" LastEditDate="2012-08-25T05:08:14.837" LastActivityDate="2012-08-25T20:14:59.297" Title="The entropy of a noisy distribution" Tags="&lt;it.information-theory&gt;&lt;boolean-functions&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12396" PostTypeId="1" CreationDate="2012-08-24T11:04:47.380" Score="7" ViewCount="185" Body="&lt;p&gt;Let's say we have a graph $G$ with $n$ vertices. Given $\epsilon&amp;gt;0$ and a specific vertex $v$, consider the problem of deciding whether $\mathrm{deg}(v) &amp;lt; \frac{\epsilon}{3}n$ or $\mathrm{deg}(v) &amp;gt; \frac{\epsilon}{2}n$. A simple uniform sampling of edges between $v$ and the other vertices, together with the Chernoff bound, tells us that we need $\Theta\left(1 / \epsilon^2 \right)$ samples in order to decide with high probability which is the case.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now consider a (seemingly) easier problem: under the same settings, decide whether $\mathrm{deg}(v) &amp;lt; \epsilon^2 n$ or $\mathrm{deg}(v) &amp;gt; \epsilon n$. Again the Chernoff bound tells us that we need $\Theta\left(1 / \epsilon^2 \right)$ samples in order to decide with high probability which is the case. Same goes for deciding whether $\mathrm{deg}(v) &amp;lt; \epsilon^c n$ or $\mathrm{deg}(v) &amp;gt; \epsilon n$ for $c$ as large as we want.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is somewhat counter intuitive to me, as loosely speaking, if $\mathrm{deg}(v) &amp;gt; \epsilon n$, and we sample $\Theta(1/\epsilon)$ edges, we can expect to catch at least one edge with a constant probability - as opposed to the case that $\mathrm{deg}(v) &amp;lt; \epsilon^2 n$, wherein if we only sample $\Theta(1/\epsilon)$ edges, we can expect to catch at least one edge with a probability that is proportional to $\epsilon$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is it really the case that number of samples needed to decide whether $\mathrm{deg}(v) &amp;lt; \epsilon^c n$ or $\mathrm{deg}(v) &amp;gt; \epsilon n$ is asymptotically the same for every $c$, or is there a stronger concentration of measure bound that shows we can use less than $\Theta\left(1 / \epsilon^2 \right)$ samples?&lt;/p&gt;&#xA;" OwnerUserId="10489" LastEditorUserId="-1" LastEditDate="2012-10-08T04:12:57.920" LastActivityDate="2012-10-08T04:12:57.920" Title="Testing the degree of a vertex" Tags="&lt;ds.algorithms&gt;&lt;graph-algorithms&gt;&lt;machine-learning&gt;&lt;pr.probability&gt;&lt;property-testing&gt;" AnswerCount="0" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="12397" PostTypeId="2" ParentId="12329" CreationDate="2012-08-24T15:50:20.427" Score="0" Body="&lt;p&gt;I don't think the matrix is necessarily helping you. Have you looked at &lt;a href=&quot;http://en.wikipedia.org/wiki/K-means_clustering&quot; rel=&quot;nofollow&quot;&gt;$k$-mean&lt;/a&gt;.  For a scattered collection of points, $k$-mean divides those points into $k$ collections around center points. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;You may want to evaluate your results with different values of $k$ to determine what is most cost effective. However, I once saw an implementation of a $k$-mean in conjunction with a &lt;a href=&quot;http://en.wikipedia.org/wiki/Self-organizing_map&quot; rel=&quot;nofollow&quot;&gt;self-organizing map&lt;/a&gt;. I believe the self-organizing map was used to divide a collection of points into various regions to determine an optimum $k$. Then, $k$-mean was used to find the center of each collection. &lt;/p&gt;&#xA;" OwnerUserId="10463" LastActivityDate="2012-08-24T15:50:20.427" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12398" PostTypeId="2" ParentId="12395" CreationDate="2012-08-24T18:48:53.507" Score="8" Body="&lt;p&gt;Such a bound is not possible. Consider the case where $f$ is the distribution that is uniform over some set $S$ of size $2^{\delta \cdot n}$, and let $\tilde{f}$ be the distribution that with probability $\delta$ outputs a uniformly distributed element of $S$, and otherwise outputs a uniformly distributed string.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is not hard to see that you can get from $f$ to $\tilde{f}$ you only need noise of at most $(1-\delta) \cdot 2^{-\delta \cdot n}$.  However, $H(f)= \delta \cdot n$ while $H(\tilde{f}) \approx (1 - \delta + \delta^2) \cdot n$. Thus, you get a difference of $(1 - \delta)^2 \cdot n$ for arbitrarily small $\delta$ for an extremely low noise.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In particular, you can set $\delta = \frac{\log(1/\varepsilon)}{n}$, and obtain noise $\varepsilon$ and entropy difference $\approx n - 2\log(1/\varepsilon)$. &lt;/p&gt;&#xA;" OwnerUserId="8429" LastEditorUserId="8429" LastEditDate="2012-08-25T20:14:59.297" LastActivityDate="2012-08-25T20:14:59.297" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="12399" PostTypeId="1" CreationDate="2012-08-24T22:52:36.527" Score="1" ViewCount="94" Body="&lt;p&gt;I asked this question a few days ago on &lt;a href=&quot;https://mathoverflow.net/questions/105204/is-there-a-name-for-this-property-in-set-valued-analysis&quot;&gt;MO&lt;/a&gt;, but I haven't received an answer. So I thought I would ask here. I have also added a relaxed version of the question here.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $F$ be a set-valued, finite-valued map from a set $X$ to subsets of $X$. Consider the following property: $|F(x)| \geq |F(y)|$ for all $x,y$ such that $y \in F(x)$. &#xA;I have defined this property myself in a specific context but I am not sure what name to give it. I would like to know if there is a standard name for this property or similar property in set-valued analysis, combinatorics or elsewhere. Any suggestions for names would also be appreciated.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As a relaxation, suppose $X$ is given by the disjoint union, $X = \bigcup_{i \in \mathbb{N}} X_i$ and assume that $F$ maps elements of $X_i$ to subsets of $X_{i+1}$ for any $i$. In this case one can think of elements of $X$ as nodes of a tree-like graph, where a parent node $x$ is joined to nodes $y \in F(x)$. There are no edges between nodes belonging to the same partition $X_i$. But a child could have multiple parents, so this graph is not necessarily a tree. The property $F$ here says that every child of a node has at most as many children as the node. Any suggestions for names here would also be helpful.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;At first this property appears to be a kind of monotonicity, but I would like to resort to the name &quot;monotone&quot; only if I can't find something more suitable. &lt;/p&gt;&#xA;" OwnerUserId="8965" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2012-08-25T04:14:15.393" Title="Is there a name for this property in set-valued analysis or combinatorics?" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;terminology&gt;&lt;set-theory&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="12400" PostTypeId="2" ParentId="12329" CreationDate="2012-08-25T00:31:53.853" Score="3" Body="&lt;p&gt;The problem you're asking to solve is a variant of the $k$-median problem on a metric space. You haven't mentioned anything about the various sizes involved, but as a formal matter, there are only $n$ choices for the magic number $k$ (the number of centers), and so after &quot;guessing&quot; the right value of $k$, you can run any of the standard approximation algorithms for $k$-median in graphs (your graph is a complete graph). In particular, one such is the method by &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=375845&quot; rel=&quot;nofollow&quot;&gt;Jain and Vazirani&lt;/a&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;There's an older technique by &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=129787&amp;amp;CFID=107848450&amp;amp;CFTOKEN=31892640&quot; rel=&quot;nofollow&quot;&gt;Lin and Vitter&lt;/a&gt; that says that if you're willing to expand the number of centers by a tiny amount, you can get a pretty good approximation to the cost (w.r.t optimal centers). &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2012-08-25T00:31:53.853" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="12401" PostTypeId="2" ParentId="12326" CreationDate="2012-08-25T05:24:46.283" Score="9" Body="&lt;p&gt;I don't consider this an answer. I'm abusing the answer box to pretty print a comment.&lt;/p&gt;&#xA;&lt;p&gt;There is a strict sense in which Euclid's GCD algorithm, Gaussian elimination, Buchberger's algorithm and Knuth-Bendix form a strict sequence of generalisations and are all instances of what is called a &lt;em&gt;completion algorithm&lt;/em&gt;. There is also a close relationship between these algorithms and resolution in logic. I do not know a good reference for this but I have seen the fact mentioned very often. These might help.&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.risc.jku.at/publications/download/risc_353/1987-04-00-A.pdf&quot; rel=&quot;noreferrer&quot;&gt;History and basic features of the critical-pair/completion procedure&lt;/a&gt;, Bruno Buchberger, 1987&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.risc.jku.at/education/courses/ss2011/rw/1-intro.pdf&quot; rel=&quot;noreferrer&quot;&gt;Canonical Reduction Systems in Symbolic Mathematics&lt;/a&gt;, Franz Winkler. &lt;a href=&quot;http://www.springerlink.com/content/w37631426j273383/&quot; rel=&quot;noreferrer&quot;&gt;Springer Link&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;Let me know if you find better references.&lt;/p&gt;&#xA;" OwnerUserId="4155" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2012-08-25T10:21:55.003" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12403" PostTypeId="1" CreationDate="2012-08-25T14:59:01.000" Score="15" ViewCount="1114" Body="&lt;p&gt;Consider a collection of sets $F=\{F_1,F_2,\dotsc,F_n\}$ over a base set $U=\{e_1,e_2,\dotsc,e_n\}$ where $|F_i|$ $\ll$ $n$ and $e_i \in F_i$, and let $k$ be a positive integer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The goal is to find another collection of sets $C=\{C_1,C_2,\dotsc,C_m\}$ over $U$ such that each $F_i$ can be written as a union of at most $k$ $(k&amp;lt;&amp;lt;|C|)$ &lt;strong&gt;mutually disjoint&lt;/strong&gt; sets in $C$ and also we want $\sum_1^m |C_j|$ to be minimal (i.e., the aggregate number of elements in all sets of $C$ should be as small as possible) .&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that $F$ has the same size with $U$, but the size of $C$ is uncertain.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can anyone tell whether the above problem is NP-hard? (set covering？packing？perfect covering）&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks for your time.&lt;/p&gt;&#xA;" OwnerUserId="10493" LastEditorUserId="10493" LastEditDate="2012-09-02T14:23:36.337" LastActivityDate="2017-05-21T09:04:44.573" Title="Is the following problem NP hard?" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;&lt;set-cover&gt;&lt;packing&gt;" AnswerCount="1" CommentCount="18" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="12404" PostTypeId="1" AcceptedAnswerId="12406" CreationDate="2012-08-25T16:57:02.223" Score="4" ViewCount="515" Body="&lt;p&gt;Suppose I have four sets A={0, 4, 9}, B={2, 6, 11}, C={3, 8, 13}, and D={7, 12}.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I need to choose exactly one number from each of these sets, so that the difference between the largest and smallest chosen numbers is as small as possible. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;What type of problem is this?  Is there a graph algorithm that could be used to solve this problem? &lt;/p&gt;&#xA;" OwnerUserId="10494" LastEditorUserId="567" LastEditDate="2012-08-27T15:00:41.330" LastActivityDate="2012-08-27T15:00:41.330" Title="Choosing one number from each set so that the difference between maximum and minimum is minimized" Tags="&lt;ds.algorithms&gt;&lt;graph-algorithms&gt;" AnswerCount="1" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="12405" PostTypeId="2" ParentId="12377" CreationDate="2012-08-25T17:18:12.193" Score="76" Body="&lt;p&gt;Here's my favorite analogy.  Suppose I spent a decade publishing books and papers arguing that, contrary to theoretical computer science's dogma, the Church-Turing Thesis fails to capture all of computation, because &lt;i&gt;Turing machines can't toast bread&lt;/i&gt;.  Therefore, you need my revolutionary &lt;i&gt;new&lt;/i&gt; model, the Toaster-Enhanced Turing Machine (TETM), which allows bread as a possible input and includes toasting it as a primitive operation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You might say: sure, I have a &quot;point&quot;, but it's a totally uninteresting one.  No one ever claimed that a Turing machine could handle every possible interaction with the external world, without first hooking it up to suitable peripherals.  If you want a TM to toast bread, you need to connect it to a toaster; then the TM can easily handle the toaster's &lt;i&gt;internal logic&lt;/i&gt; (unless this particular toaster requires solving the halting problem or something like that to determine how brown the bread should be!).  In exactly the same way, if you want a TM to handle interactive communication, then you need to hook it up to suitable communication devices, as Neel discussed in his answer.  In neither case are we saying anything that wouldn't have been obvious to Turing himself.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, I'd say the reason why there's been no &quot;followup&quot; to Wegner and Goldin's diatribes is that TCS has known how to model interactivity whenever needed, and has happily done so, since the very beginning of the field.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;b&gt;Update (8/30):&lt;/b&gt; A related point is as follows.  Does it ever give the critics pause that, here inside the Elite Church-Turing Ivory Tower (the ECTIT), the major research themes for the past two decades have included interactive proofs, multiparty cryptographic protocols, codes for interactive communication, asynchronous protocols for routing, consensus, rumor-spreading, leader-election, etc., and the price of anarchy in economic networks? If putting Turing's notion of computation at the center of the field makes it so hard to discuss interaction, how is it that so few of us have noticed?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;b&gt;Another Update:&lt;/b&gt; To the people who keep banging the drum about higher-level formalisms being vastly more intuitive than TMs, and no one thinking in terms of TMs as a practical matter, let me ask an extremely simple question.  What is it that lets all those high-level languages &lt;i&gt;exist&lt;/i&gt; in the first place, that ensures they can always be compiled down to machine code?  Could it be ... err ... &lt;b&gt;THE CHURCH-TURING THESIS&lt;/b&gt;, the very same one you've been ragging on?  To clarify, the Church-Turing Thesis is not the claim that &quot;TURING MACHINEZ RULE!!&quot;  Rather, it's the claim that any reasonable programming language will be equivalent in expressive power to Turing machines -- and &lt;i&gt;as a consequence&lt;/i&gt;, that you might as well think in terms of the higher-level languages if it's more convenient to do so.  This, of course, was a radical new insight 60-75 years ago.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;b&gt;Final Update:&lt;/b&gt; I've created a &lt;a href=&quot;http://www.scottaaronson.com/blog/?p=1121&quot;&gt;blog post&lt;/a&gt; for further discussion of this answer.&lt;/p&gt;&#xA;" OwnerUserId="1575" LastEditorUserId="1575" LastEditDate="2012-08-30T20:55:26.743" LastActivityDate="2012-08-30T20:55:26.743" CommentCount="42" ContentLicense="CC BY-SA 3.0" />
  <row Id="12406" PostTypeId="2" ParentId="12404" CreationDate="2012-08-25T18:35:30.197" Score="10" Body="&lt;p&gt;It's not really a graph problem, I think. Problems in which you try to choose some objects to minimize the difference between the min and max chosen object are called &quot;minimum range&quot; problems — e.g. look up &quot;minimum range cut&quot;, which is a graph problem — but this one looks like you're trying to find the minimum range basis of a &lt;a href=&quot;http://en.wikipedia.org/wiki/Partition_matroid&quot;&gt;partition matroid&lt;/a&gt; with one partition set for each of your groups.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In general minimum range matroid basis problems can be solved in $O(n\log n)$ time, plus $O(n)$ steps of a subroutine that finds a basis of a set with corank one: sort the elements from smallest to largest and then process the elements one by one. While you process the elements maintain an independent set $I$; when you process an element $e$, add $e$ to $I$ and, if that addition causes $I$ to become dependent, kick out the minimum weight element in the unique circuit of $I$. The minimum range basis is one of the sets $I$ that you found in this process: the one that has full rank and has as small a range between min and max as possible.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For your partition matroid special case it's easy to find the circuit in $I$ when it becomes dependent: a circuit happens when $e$ belongs to the same group as an element $f$ that you previously added, and $f$ is the element you should kick out of $I$. So the whole algorithm takes $O(n\log n)$ time, or possibly faster depending on how much time it takes to do the sorting step.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2012-08-25T18:35:30.197" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12407" PostTypeId="2" ParentId="12377" CreationDate="2012-08-25T22:05:54.513" Score="-8" Body="&lt;p&gt;skimming Wegner's paper, its clear he's being a bit melodramatic and contrarian, but he has a point. the future of computing is arguably much more significantly centered in &lt;em&gt;robotics&lt;/em&gt;, &lt;em&gt;AI&lt;/em&gt;, or &lt;em&gt;datamining&lt;/em&gt; (of vast real world &quot;big data&quot;) which he doesnt seem to mention very much by name, but which he is clearly alluding to with his model. and these areas very much largely focus on the universe outside of a TMs inputs and outputs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;historically it also went by the name &lt;em&gt;cybernetics&lt;/em&gt; as invented/formulated by Weiner. the point of robotics is that inputs and outputs are not merely digital and without meaning, which one might conclude looking at a TM; they are, but they have real world implications/effects/causes etc., and the machine forms a feedback loop with the environment.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;so I would argue that TMs and robotics form a very natural synergy or symbiotic relationship so to speak. but this is not a radical assertion and what Wegner announces with great fanfare is, phrased in different terms, not very controversial or novel. in other words, Wegner seems to be setting himself up as an intellectual or academic iconoclast in his style on purpose... and so who is the TCS community to deny him that melodramatic framing? nevertheless see [2] for a serious rebuttal.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Wegner's example of driving a car is very relevant &amp;amp; other key recent breakthoughs in &lt;em&gt;TCS&lt;/em&gt; can be cited: &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;the DARPA road race challenge and also Google's closing in on the technology of a driving car.[3]&lt;/li&gt;&#xA;&lt;li&gt;the case of the Big Blue AI chess victory over Kasparov&lt;/li&gt;&#xA;&lt;li&gt;the recent Deep Blue Jeopardy Challenge victory&lt;/li&gt;&#xA;&lt;li&gt;the increasingly autonomous Mars rover&lt;/li&gt;&#xA;&lt;li&gt;a recent announced breakthrough in unsupervised object recognition by Google.[4]&lt;/li&gt;&#xA;&lt;li&gt;commercialized speech recognition&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;but it is true, what started out decades ago as mere theory with TMs is now a very real-world phenomenon and segments of the &lt;em&gt;ivory tower&lt;/em&gt; TCS community might be in some resistance or even denial of that fact and the associated, fundamental [near Kuhnian] transformation and shift &quot;currently in play&quot;. this somewhat ironic because Turing was very applied in many of his perspectives &amp;amp; studies such as his interest in an operational AI test (the Turing test), chemical dynamics, chess solving computation, etc [5]. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;you can even see this in a microcosm on this site in clashes over how to define the scope, and heated arguments over whether a specific seemingly innocuous tag called &lt;em&gt;application-of-theory&lt;/em&gt; is legitimate.[7]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;and lets note that TCS is in fact studying many &lt;em&gt;interactive&lt;/em&gt; models of computation and much key research is going on in that area... particularly interactive proof systems of which all the important computing classes can be defined in terms of.[6]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] &lt;a href=&quot;http://www.cse.uconn.edu/~dqg/papers/cie05.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;The Church-Turing thesis-- breaking the myth by Goldin &amp;amp; Wegner&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.102.3854&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Are there new models of computation? a reply to Goldin &amp;amp; Wegner by Cockshott &amp;amp; Michaelson&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[3] &lt;a href=&quot;http://m.theatlantic.com/technology/archive/2012/08/googles-self-driving-cars-300-000-miles-logged-not-a-single-accident-under-computer-control/260926&quot; rel=&quot;nofollow noreferrer&quot;&gt;Googles self-driving cars-- 300K miles logged, not a single accident under computer control, the Atlantic&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[4] &lt;a href=&quot;https://cstheory.stackexchange.com/questions/2681/algorithm-for-finding-similar-images/12001#12001&quot;&gt;Google unsupervised object recognition of Youtube images&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[5] &lt;a href=&quot;https://cstheory.stackexchange.com/questions/11797/alan-turings-contributions-to-computer-science&quot;&gt;Alan Turings contributions to CS&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[6] &lt;a href=&quot;https://cstheory.stackexchange.com/questions/12348/landscape-of-interactive-proof-systems&quot;&gt;Landscape of interactive proof systems&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[7] &lt;a href=&quot;https://cstheory.meta.stackexchange.com/questions/1572/on-modifying-our-scope-a-proposal&quot;&gt;On modifying our scope-- a proposal&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2012-08-25T22:22:12.693" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="12408" PostTypeId="2" ParentId="12307" CreationDate="2012-08-26T07:40:24.457" Score="3" Body="&lt;p&gt;Not an answer, just a lemma.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So first of all one might wonder what the commonest subsequence of strings like 12..t12..t12..t.. is. After a little thinking one realizes that it must also have the form 12..t12..t12.., just obviously shorter. If the original string has length nt, and the subsequence of this special form has length k, then the number of its occurrences is exactly ${n+k-\lceil k/t\rceil \choose k}={n+k-\lceil k/t\rceil \choose n-\lceil k/t\rceil}$. This implies that the most common subsequence also ends with $t$ (i.e. $k$ has to be divisible by $t$). But where does this take its maximum and how much is it??? Quite embarassing, but I could not figure it out...&lt;/p&gt;&#xA;" OwnerUserId="419" LastEditorUserId="419" LastEditDate="2012-08-29T07:22:19.197" LastActivityDate="2012-08-29T07:22:19.197" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12412" PostTypeId="1" AcceptedAnswerId="12414" CreationDate="2012-08-27T07:57:06.497" Score="46" ViewCount="5813" Body="&lt;p&gt;I'd like to understand &lt;code&gt;Applicative&lt;/code&gt; in terms of category theory.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The &lt;a href=&quot;http://hackage.haskell.org/packages/archive/base/latest/doc/html/Control-Applicative.html&quot;&gt;documentation&lt;/a&gt; for &lt;code&gt;Applicative&lt;/code&gt; says that it's &lt;em&gt;a strong lax monoidal functor&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First, Wikipedia page about &lt;a href=&quot;https://en.wikipedia.org/wiki/Monoidal_functor&quot;&gt;monoidal functors&lt;/a&gt; says that a monoidal functor is either &lt;em&gt;lax&lt;/em&gt; or &lt;em&gt;strong&lt;/em&gt;. So it seems to me that either one of the sources is wrong, or they use the terms differently. Can anybody explain that?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Second, what are the monoidal categories of which &lt;code&gt;Applicative&lt;/code&gt; are monoidal functors? I assume that the functors are endo-functors on the standard Haskell category (objects = types, morphisms = functions), but I have no idea what is the monoidal structure on this category.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks for help.&lt;/p&gt;&#xA;" OwnerUserId="10336" LastEditorUserId="186" LastEditDate="2012-08-29T16:06:15.080" LastActivityDate="2015-10-29T12:49:46.423" Title="Explaining Applicative functor in categorical terms - monoidal functors" Tags="&lt;lo.logic&gt;&lt;type-theory&gt;&lt;functional-programming&gt;&lt;ct.category-theory&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="23" ContentLicense="CC BY-SA 3.0" />
  <row Id="12414" PostTypeId="2" ParentId="12412" CreationDate="2012-08-27T08:25:24.307" Score="41" Body="&lt;p&gt;There are actually two uses of the word &quot;strength&quot; in play here. &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;A &lt;em&gt;strong endofunctor&lt;/em&gt; $F : C \to C$ over a monoidal category $(C, \otimes, I)$ is one which comes with a natural transformation $\sigma : A \otimes F(B) \to F(A \otimes B)$, satisfying some coherence conditions with respect to the associator which I will gloss over. This condition is sometimes also pronounced &quot;$F$ has a strength&quot;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;A &lt;em&gt;lax monoidal functor&lt;/em&gt; $F : C \to D$ is a functor between two monoidal categories $(C, \otimes, I)$ and $(D, \oplus, J)$ with natural transformations $\phi : F(A) \oplus F(B) \to F(A \otimes B)$ and $i : J \to F(I)$, again satisfying a coherence condition with respect to the associators. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;A &lt;em&gt;strong monoidal functor&lt;/em&gt; $F : C \to D$ is one in which $\phi$ and $i$ are natural isomorphisms. That is, $F(A \otimes B) \simeq F(A) \oplus F(B)$, with $\phi$ and its inverse describing the isomorphism. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;An applicative functor, in the sense of Haskell programs, is a &lt;em&gt;lax monoidal endofunctor with a strength&lt;/em&gt;, with the monoidal structure in question being the Cartesian products. So this is why you get the paradoxical-sounding term &quot;strong lax monoidal functor&quot;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;As an aside, in a Cartesian closed category, $F$ having a strength is equivalent to the existence of a natural transformation $\mathrm{map} : (A \Rightarrow B) \to (F(A) \Rightarrow F(B))$. That is, having a strength means that the functorial action is definable as a higher-order function in the programming language. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, if you're interested in the type theory of Haskell-style applicative functors, &lt;a href=&quot;http://semantic-domain.blogspot.com/2012/08/a-computational-lambda-calculus-for.html&quot;&gt;I've just blogged about it.&lt;/a&gt; &lt;/p&gt;&#xA;" OwnerUserId="657" LastEditorUserId="657" LastEditDate="2012-08-27T11:41:50.237" LastActivityDate="2012-08-27T11:41:50.237" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="12415" PostTypeId="1" CreationDate="2012-08-27T12:09:51.063" Score="1" ViewCount="146" Body="&lt;p&gt;Let $S$ be a collection of sets of binary vectors (in $\{0,1\}^m$) $S_1, S_2, \dotsc, S_t$ (say $t = O(m^d)$) each of VC dimension $d$. What can be said about the size of a hitting set $S_\text{hit}$ which consists of binary vectors that intersect every set $S_1, \dotsc, S_t$? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any relevant reference would be of great help.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks!&lt;/p&gt;&#xA;" OwnerUserId="10511" LastEditorUserId="3964" LastEditDate="2012-08-27T12:27:05.497" LastActivityDate="2012-08-27T12:27:05.497" Title="Hitting sets for sets of VC dimension d" Tags="&lt;co.combinatorics&gt;&lt;vc-dimension&gt;&lt;epsilon-nets&gt;" AnswerCount="0" CommentCount="7" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="12416" PostTypeId="1" AcceptedAnswerId="12417" CreationDate="2012-08-27T18:17:17.293" Score="0" ViewCount="677" Body="&lt;p&gt;I recently watched &lt;a href=&quot;http://www.youtube.com/watch?v=YZUNRmwoijw&quot; rel=&quot;nofollow&quot;&gt; this&lt;/a&gt; video on youtube. It featured someone explaining how he used genetic algorithms to improve the efficiency of wind mill turbines by finding the optimal shape for the blades. Eventually, the narrator found a non-trivial shape for the blades that seemed to be more efficient than windmills that have blades with a &quot;standard&quot; shape. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;He did, however, use the wrong viscosity for the substance in which the wind mills are situated. Therefore the preliminary questions are: &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Would the shape of the new blades be the same if the same procedure would be carried out in a substance with the correct viscosity? Would the blades still be more efficient than the &quot;standard&quot; blades? &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Now to the real question(s). The narrator in the video carries out this genetic algorithm procedure with two-dimensional wind turbine blades. &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;I was wondering, though, if a similar procedure could also be carried out in a tree-dimensional environment? I guess it would be more complicated, and perhaps would require more computing power/time, but if it can be used to enhance the efficiency of wind turbine blades, it would be a good idea to do so, right? Has this already been done? Why or why not? &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Last question: &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;if the genetic algorithm would indeed create novel, more efficient wind turbine blades, would that mean that some company would actually pick up on the idea and start producing them? Or would the novel shape be too complicated and therefore too expensive to produce, rendering the design useless from a financial perspective?&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Thanks a lot in advance!&lt;/p&gt;&#xA;" OwnerUserId="5712" LastEditorUserId="40" LastEditDate="2012-08-31T16:29:42.117" LastActivityDate="2012-08-31T16:29:42.117" Title="To what extent is it possible to use genetic algorithms to make wind mill turbine blades more efficient?" Tags="&lt;optimization&gt;&lt;ne.neural-evol&gt;&lt;genetic-algorithms&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="12417" PostTypeId="2" ParentId="12416" CreationDate="2012-08-27T21:49:41.837" Score="6" Body="&lt;p&gt;Short answer, yes you could build a GA that worked on a 3D model of a turbine with the correct viscosity, and (probably) yes, it would still find good designs. Exactly what those designs would be is somewhat unpredictable -- they might be very conventional blade arrangements or they might be completely novel and weird. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, that's also true of many other search algorithms. GAs are, at heart, just one of a class of hundreds of stochastic search algorithms. All you need for a GA to work is three things: (1) a way of describing what a possible solution looks like, (2) a way of trying to combine good solutions to get more good solutions, and (3) a way of determining when one solution is better than another. The former can be as simple as just a vector of numbers ([number of blades, distance between blades, angle of attack, ...]) or may be arbitrarily complex, allowing for each blade to have an independent length and position, etc. For number three, you need a model that tells you how good a turbine is. This is where you need to get the viscosity of air correct, embed the right equations governing the electrical outputs, etc. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;That just leaves the genetic operators -- how do you take good designs and produce more or better ones? Again, this can be very complex, but it can also be quite simple. For instance, you have a design with three blades, each five meters long. OK, make a small random change to that. Try blades that are 5.2 meters long. If the model tells you this is better, keep it. If not, throw it away and keep the original five meter blades. It's in this stage where domain knowledge is often invaluable. Having someone who can say, &quot;the number of blades is really important -- taking a good five blade design and removing a blade isn't going to work unless you also change lots of other aspects of the design&quot; allows you to simply say, &quot;OK, my algorithm will avoid making that type of change in favor of making changes that are more likely to help.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Like I said, GAs are just search algorithms. They tend to often perform a &quot;broader&quot; search, which can sometimes make them more likely to find these off-the-wall solutions than some other methods. On the flip side, they typically take much longer to find good solutions than some other methods. That's also an approximation; sometimes a GA works great, sometimes it works very poorly. Understanding which cases will be which is one of the great unsolved problems for people working in optimization.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, would companies adopt them if better designs were found? As you say, that's a more complex question. It isn't even just a matter of &quot;too complicated&quot;. Suppose you find a 5% better turbine design that's completely feasible. You'll still likely have to redesign manufacturing equipment and processes, perhaps find new suppliers, etc. In the real world, &quot;good enough&quot; is often just that. However, there are numerous examples of real-world problems where methods like GAs or other random search methods have found solutions that were adopted. A lot of them are tucked behind corporate walls, but there have been notable successes in things like antenna design and aircraft design, as well as non engineering optimization problems like vehicle routing problems, scheduling problems, etc.&lt;/p&gt;&#xA;" OwnerUserId="5832" LastEditorUserId="5832" LastEditDate="2012-08-31T09:26:06.573" LastActivityDate="2012-08-31T09:26:06.573" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12418" PostTypeId="1" CreationDate="2012-08-27T22:19:42.803" Score="4" ViewCount="510" Body="&lt;p&gt;This question is a try of making &#xA;&lt;a href=&quot;https://cstheory.stackexchange.com/questions/1574/do-you-use-any-article-organizers&quot;&gt;Do you use any article organizers?&lt;/a&gt; question suitable for TCS (as suggested in meta answer &lt;a href=&quot;https://cstheory.meta.stackexchange.com/a/359/6133&quot;&gt;https://cstheory.meta.stackexchange.com/a/359/6133&lt;/a&gt; )&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Question similar -&gt; about organizers, but ...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What organizer do you use, know that are possible to handle TCS related meta-information ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We organize our knowledge in many ways.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Some of them are hierarchical, as complexity zoo.&lt;/li&gt;&#xA;&lt;li&gt;Others more like graph -&gt; let's take algorithms as vertices and how they are related with each other as edges&lt;/li&gt;&#xA;&lt;li&gt;As another extreme, some knowledge we organize like sets and think about it in terms of sets intersections - to be more specific conjunction of criteria, just like &lt;a href=&quot;http://www.adammathes.com/academic/computer-mediated-communication/folksonomies.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;&lt;em&gt;flat tags&lt;/em&gt;&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I would love to see tool that combines many approaches and enables collaboration between researches, even better, if between strangers (possibly with crowdsourcing).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Above might relate to Academia in general.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What I mean is that TCS people have more CS skills, knowledge and are able to apply it in organizing their own information. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I believe our approach in organizing information is different, partially because we use concepts of graphs, sets, ontology in our job, so they are natural to us and we are able to handle complex models of organizing information, which might use or even might all of mentioned. On the other hand, people from non scientific fields (especially not math related), might have problems with using such models and I believe that's the reason why almost all tools have so much simplified models.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I use &quot;hacks&quot;, &quot;tips&amp;amp;tricks&quot; to extend them, but it's not comfortable and not build-in. I even run sometimes analysis tools on my own collections of data - but again, in hacky, why. I would love to see really flexible tools, suitable for CS / TCS people.&lt;/p&gt;&#xA;" OwnerUserId="6133" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2012-10-29T01:11:19.080" Title="How to do organize papers, urls and other TCS related resources?" Tags="&lt;soft-question&gt;&lt;research-practice&gt;" AnswerCount="2" CommentCount="6" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="12419" PostTypeId="2" ParentId="12418" CreationDate="2012-08-27T22:19:42.803" Score="1" Body="&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;For graph organizing research papers I like &lt;a href=&quot;http://kleenk.com/&quot; rel=&quot;nofollow&quot;&gt;http://kleenk.com/&lt;/a&gt; approach. They create relations between papers with semantic type and description text. This helps in organizing information more like in our heads -&gt; how things relate to each other.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;For set approach - flat tags - there are many services, like OdySci, Bibsonomy etc.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;For Hierarchies, there might be Mendeley with it's directories structure. I put tag keywords into description, what enables me to search through them in &quot;tag style. But it's not built-in feature and I have to maintain collection of tags which are special keywords not conflicting with natural language. One more disadvantage - so far Medneley does not handle efficiently big hierarchies. I hope it will be improved in future. On more advantage -&gt; Mendeley  benefits from users, but performing crowd-sourcing and providing results as suggestion for automatic filling meta-information (this as well needs improvements, I've found it has problems with syncing with your own meta-info, especially when I corrected provided data it tried again and again to overwrite it with their -&gt; thankfully, it asks before synchronization so I can refuse)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;I've found interesting post about ordered tags. &lt;a href=&quot;http://pubnotes.wordpress.com/2007/10/14/ordered-tags/&quot; rel=&quot;nofollow&quot;&gt;http://pubnotes.wordpress.com/2007/10/14/ordered-tags/&lt;/a&gt; -&gt; interesting concept. It's like flat tags but benefits from tags arrangement. It seems there was source code of prototype provided in past, but unfortunately, not any-more.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="6133" LastActivityDate="2012-08-27T22:19:42.803" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12420" PostTypeId="1" CreationDate="2012-08-27T23:44:55.480" Score="1" ViewCount="110" Body="&lt;p&gt;I was using Markov Clustering to cluster nodes in my bidirectional graph, and overall the results were great.  However, there were a couple instances where a weakly connected node would attract a node that's much more strongly connected to other nodes.  So, for instance (this is a bit contrived, but it gets the point across) if I have a strongly connected clique of A,B,C,D, and a small offshoot between A and E the Markov algorithm may cluster B,C,D together and A and E together, because E is connected 100% to D.&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;A--[weight:10]--B&#xA;A--[weight:10]--C&#xA;A--[weight:10]--D&#xA;B--[weight:10]--C&#xA;B--[weight:10]--D&#xA;C--[weight:10]--D&#xA;A--[weight:1]--E&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;I'd prefer A,B,C, and D to be clustered together at minimum.  Are there any known techniques for adjusting the probability matrix to account for this?  Or is there a better algorithm?  I like Markov Clustering because it uses a probability matrix which takes into account the weight of each connection, but in this instance it's problematic.&lt;/p&gt;&#xA;" OwnerUserId="10507" LastEditorUserId="186" LastEditDate="2012-08-29T16:08:44.047" LastActivityDate="2012-08-29T16:08:44.047" Title="Techniques to get nodes in the best Markov Cluster?" Tags="&lt;graph-theory&gt;&lt;machine-learning&gt;&lt;clustering&gt;&lt;markov-chains&gt;&lt;data-mining&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12422" PostTypeId="1" AcceptedAnswerId="12454" CreationDate="2012-08-28T09:56:33.490" Score="13" ViewCount="919" Body="&lt;p&gt;Gaussian elimination makes determinant of a matrix polynomial-time computable.   The reduction of complexity in computing the determinant, which is otherwise sum of exponential terms, is due to presence of alternate negative signs (lack of which makes computing permanent is $ \#P\mbox{-}hard$ ie. harder then $NP\mbox{-}C$ problems). This leads to some sort of symmetry in determinant, eg exchange of a pair of rows or columns just reverses the signs. I read somewhere, probably in connections with holographic algorithms introduced by Valiant, that Gaussian elimination could be explained in terms of group action and this in turns leads to generic techniques in complexity reduction.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, i feel that almost all source of complexity reduction for any computational problem is some sort of symmetry present. Is it true? Can we rigorously formalize this in terms of group theory?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit&lt;/strong&gt; &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I found the &lt;a href=&quot;http://arxiv.org/abs/0910.2443&quot;&gt;reference&lt;/a&gt;. (pg 2, last line of second paragraph). I did not understand the paper properly, If my question is based on wrong understanding of the paper, please correct me.&lt;/p&gt;&#xA;" OwnerUserId="10456" LastEditorUserId="186" LastEditDate="2012-08-29T16:19:43.980" LastActivityDate="2012-10-13T00:08:43.500" Title="Gaussian Elimination in terms of Group Action" Tags="&lt;cc.complexity-theory&gt;&lt;time-complexity&gt;&lt;algebraic-complexity&gt;&lt;gr.group-theory&gt;&lt;determinant&gt;" AnswerCount="2" CommentCount="15" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="12424" PostTypeId="1" CreationDate="2012-08-28T14:26:40.040" Score="1" ViewCount="118" Body="&lt;p&gt;I'm searching for an algorithm to do the following&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have a graph $G = (V, E)$ and a set of terminal pairs $\{(s_i, t_i)\}$. I need to find a cut smaller than a given quantity $k$, such that there is a path connecting at least a terminal pair in both subgraphs created by the cut.&lt;/p&gt;&#xA;" OwnerUserId="10522" LastEditorUserId="186" LastEditDate="2012-08-29T16:11:18.770" LastActivityDate="2012-08-29T16:11:18.770" Title="Min-cut variation" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="12425" PostTypeId="2" ParentId="12307" CreationDate="2012-08-28T15:50:34.237" Score="4" Body="&lt;p&gt;from a search, here is a paper with some research &amp;amp; findings for graduate level research but (caveat) no references. it has some heuristics, estimates, empirical results &amp;amp; commentary on the problem and some ideas on proving its (approximation) complexity etc.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://bautin.org/pdf/most_freq_subseq.pdf&quot; rel=&quot;nofollow&quot;&gt;Identification of Most Frequent Subsequences&lt;/a&gt;&lt;br&gt;&#xA;CSE 549 Computational Biology Project Final Report&lt;br&gt;&#xA;Mikhail Bautin 2006&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(while there are some standard subsequence problems that are somewhat similar &amp;amp; studied eg in the Elzinga et al paper, is it possible this particular subsequence problem has not been studied too much?) &lt;/p&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2012-08-28T15:50:34.237" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="12426" PostTypeId="1" AcceptedAnswerId="13939" CreationDate="2012-08-28T20:20:18.717" Score="10" ViewCount="880" Body="&lt;p&gt;Ownership types and Separation Logic seem to have similar goals, control over ownership and aliasing.  Perhaps, I should also add: the ability to write modular specifications.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is known about the relationship between ownership types and Separation Logic?&lt;/p&gt;&#xA;" OwnerUserId="8519" LastEditorUserId="8519" LastEditDate="2012-10-13T18:30:32.593" LastActivityDate="2012-10-14T09:14:17.430" Title="Ownership types and Separation Logic" Tags="&lt;pl.programming-languages&gt;&lt;type-systems&gt;&lt;object-oriented&gt;&lt;program-logic&gt;" AnswerCount="2" CommentCount="3" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="12427" PostTypeId="1" CreationDate="2012-08-29T04:12:49.297" Score="-2" ViewCount="254" Body="&lt;p&gt;I want to embed  PPTL(a kind of logic) in Coq. Because of its complex&#xA;semantics, I just embed its systax.  &lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;  Inductive formula :Set:= &#xA;  | For : formula -&amp;gt; formula -&amp;gt; formula &#xA;  | Fneg: formula -&amp;gt; formula  &#xA;  | Fnext: formula -&amp;gt; formula  &#xA;  | prj : list formula -&amp;gt; formula-&amp;gt;formula.&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;And then I define some axioms for it.&#xA;But I have a problem when proving this, I don't know why.&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;Axiom t2 :forall(p q:formula),('|-('x p '&amp;amp;&amp;amp;  'x q) )&amp;lt;-&amp;gt;('|-('x(p '&amp;amp;&amp;amp; q))).&#xA;Theorem tt2 :forall(p q r:formula),('|-('x p '&amp;amp;&amp;amp;  'x q) ; r)-&amp;gt;('|-('x(p '&amp;amp;&amp;amp; q)) ; r).&#xA;intros.&#xA;rewrite t2 in H.&#xA;&#xA;Error: Found no subterm matching &quot;'|-'x ?63 '&amp;amp;&amp;amp; 'x ?&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;This is part of the code. &lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;Require Import Setoid.&#xA;Variables (state : Set).&#xA;CoInductive stream : Set :=&#xA;cons_str : state -&amp;gt; stream -&amp;gt; stream.&#xA;Inductive formula :Set:=&#xA;|ftrue:formula&#xA;|ffalse:formula&#xA;| For : formula -&amp;gt; formula -&amp;gt; formula&#xA;| Fneg: formula -&amp;gt; formula&#xA;| Fnext: formula -&amp;gt; formula&#xA;| prj : list formula -&amp;gt; formula-&amp;gt;formula.&#xA;&#xA;Definition derivable : formula -&amp;gt;stream-&amp;gt; Prop.&#xA;Admitted.&#xA;&#xA;Definition model_p (f :formula) := forall pi : stream, derivable f pi .&#xA;Notation &quot;'|- f&quot; := (model_p f) (at level 100, no associativity) .&#xA;&#xA;Notation &quot;p '|| q&quot; := (For p q) (at level 76, right associativity) .&#xA;Notation &quot;! p&quot; := (Fneg p) (at level 71, right associativity) .&#xA;Notation &quot;f 'prj g&quot; := (prj f g) (at level 77, right associativity).&#xA;Notation &quot;'x g&quot; := (Fnext g) (at level 73, right associativity).&#xA;&#xA;(************************derived  formulas  ********************)&#xA;&#xA;Definition and(p q: formula) : formula :=!(!p '|| !q).&#xA;Notation &quot;p '&amp;amp;&amp;amp; q&quot; :=(and p q) (at level 74, left associativity).&#xA;&#xA;Definition imp(p q: formula) : formula :=!p '|| q.&#xA;Notation &quot;p '==&amp;gt; q&quot; := (imp p q) (at level 79, no associativity) .&#xA;&#xA;Definition iff (A B:formula) :formula:= ( (A '==&amp;gt;  B) '&amp;amp;&amp;amp; (B '==&amp;gt; A)) .&#xA;Notation &quot;p &amp;lt;'==&amp;gt; q&quot; := (iff p q) (at level 79, no associativity) .&#xA;&#xA;Definition empty := ! 'x ftrue .&#xA;&#xA;Definition chop(p:formula)(q:formula):= (cons p (cons q nil)) 'prj (empty).&#xA;Notation &quot;p ; q&quot; := (chop p q) (at level 75, right associativity).&#xA;&#xA;Axiom t2 :forall(p q:formula),('|-('x p '&amp;amp;&amp;amp;  'x q) )&amp;lt;-&amp;gt;('|-('x(p '&amp;amp;&amp;amp; q))).&#xA;Theorem tt2 :forall(p q r:formula),('|-('x p '&amp;amp;&amp;amp;  'x q) ; r)-&amp;gt;('|-('x(p '&amp;amp;&amp;amp; q)) ; r).&#xA;intros.&#xA;rewrite t2 in H.&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;" OwnerUserId="10290" LastEditorUserId="13408" LastEditDate="2015-10-22T08:27:39.383" LastActivityDate="2015-10-22T08:27:39.383" Title="Problem in embedding" Tags="&lt;lo.logic&gt;&lt;coq&gt;&lt;linear-temporal-logic&gt;" AnswerCount="1" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="12428" PostTypeId="2" ParentId="12426" CreationDate="2012-08-29T06:53:11.057" Score="9" Body="&lt;p&gt;The way I understand the difference is that ownership types &lt;em&gt;constrain&#xA;the shape of the object graph&lt;/em&gt;, and substructural systems (like&#xA;separation logic) &lt;em&gt;manage permissions to access the heap&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the original work on ownership types, the idea is to maintain the&#xA;invariant of &lt;em&gt;owners as dominators&lt;/em&gt;. An object $o$ is &lt;em&gt;dominated&lt;/em&gt; by&#xA;an object $d$, if every path from the root set to $o$ contains $d$. So&#xA;$o$ is only reachable from $d$. So the system is designed so that&#xA;class declarations are parameterized by their owners, and then this&#xA;fact gives you a derived frame condition for $o$: its state cannot&#xA;change unless a method on its owner $d$ is invoked.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In contrast, substructural systems like linear types and separation&#xA;logic rely on the idea of &lt;em&gt;resources&lt;/em&gt;. Each region of the heap is a&#xA;resource, and if you don't possess the resource you can't touch it.&#xA;This makes frame conditions very easy: they always hold.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One superficial difference (which nevertheless confused me for a long&#xA;time) was that ownership types were types, and separation logic was a&#xA;program logic. Luckily, while ownership types were born in a&#xA;type-theoretic setting, people have applied these ideas to program&#xA;logics as well.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The two main pieces of theoretical work I know on this are Kassios's&#xA;work on &lt;a href=&quot;http://n.ethz.ch/~kassiosi/papers/fm06.pdf&quot; rel=&quot;noreferrer&quot;&gt;&lt;em&gt;dynamic frames&lt;/em&gt;&lt;/a&gt;, which Bannerjee and Naumann (and their&#xA;students) systematically exploited in their work on &lt;a href=&quot;http://www.cs.stevens.edu/~naumann/pub/BanerjeeEtalECOOP.pdf&quot; rel=&quot;noreferrer&quot;&gt;&lt;em&gt;regional logic&lt;/em&gt;&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As I understand it, their basic approach is to take Hoare logic, and&#xA;then:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Add a new type of region variables, which you use to associate objects and regions.&lt;/li&gt;&#xA;&lt;li&gt;Add an effect system to Hoare logic to track the regions reads and writes touch.&lt;/li&gt;&#xA;&lt;li&gt;Use the effects to determine if an assertion is frame-respecting or not.&#xA;If it is, you can frame it, and if it isn't, you can't.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Each approach has benefits and weaknesses.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Ownership makes frame properties significantly less convenient to&#xA;use than in substructural approaches, since you have to compute frame&#xA;conditions.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;On the other hand, algorithms on DAGs support prettier inductive&#xA;proofs in an ownership style, since you can decouple the footprint&#xA;from the pointer structure. In a separation-style spec, the natural&#xA;thing is to give an inductive invariant on a spanning tree.  But if&#xA;the spanning tree the algorithm computes is ever different than the&#xA;one your invariant has, you're in for a world of hurt.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;My general sense is that separation is easier to use than ownership,&#xA;since we need frame properties for nearly every command in an&#xA;imperative program. (Dave Naumann argues that region logic is more amenable to automation, since the assertion logic remains plain old FOL, and so&#xA;you can use off-the-shelf theorem provers and SMT solvers.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT: I just found the following paper by Matt Parkinson and Alex Summers, &lt;a href=&quot;http://www.lmcs-online.org/ojs/viewarticle.php?id=1081&amp;amp;layout=abstract&quot; rel=&quot;noreferrer&quot;&gt;&lt;em&gt;The Relationship between Separation Logic and Implicit Dynamic Frames&lt;/em&gt;&lt;/a&gt;, where they claim to give a logic unifying the two methods. &lt;/p&gt;&#xA;" OwnerUserId="657" LastEditorUserId="657" LastEditDate="2012-08-30T12:17:04.923" LastActivityDate="2012-08-30T12:17:04.923" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12429" PostTypeId="2" ParentId="12377" CreationDate="2012-08-29T10:01:17.460" Score="37" Body="&lt;p&gt;I think the issue is quite simple.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;All interactive formalisms can be simulated by Turing machines.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;TMs are inconvenient languages for research on interactive computation (in most cases)    because the interesting issues get drowned out in&#xA;the noise of encodings.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Everybody working on the mathematisation of interaction knows this.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Let me explain this in more detail.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Turing machines can obviously model all existing interactive models of&#xA;computing in the following sense: Choose some encoding of the relevant&#xA;syntax as binary strings, write a TM that takes as input two encoded&#xA;interactive programs P, Q (in a chosen model of interactive&#xA;computation) and returns true exactly when there is a one-step&#xA;reduction from P to Q in the relevant term rewriting system (if your&#xA;calculus has a ternary transition relation, proceed mutatis mutandis).&#xA;So you got a TM that does a step-by-step simulation of computation in&#xA;the interactive calculus.  Clearly pi-calculus, ambient calculus, CCS,&#xA;CSP, Petri-nets, timed pi-calculus and any other interactive model of&#xA;computation that has been studied can be expressed in this&#xA;sense. This is what people mean when they say interaction does not go beyond TMs. &#xA;If you can come up with an interactive formalism that is physically&#xA;implementable but not expressible in this sense, please apply for your&#xA;Turing award.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;N. Krishnaswami refers to a second approach to modelling interactivity&#xA;using oracle tapes. This approach is different from the interpretation&#xA;of the reduction/transition relation above, because the notion of TM&#xA;is changed: we move from plain TMs to TMs with oracle tapes. This&#xA;approach is popular in complexity theory and cryptography, mostly&#xA;because it enables researchers in these fields to transfer their tools&#xA;and results from the sequential to the concurrent world.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem with both approaches is that the genuinly concurrency&#xA;theoretic issues are obscured. Concurrency theory seeks to understand &#xA;interaction as a phenomenon sui generis. Both approaches via TMs simply replace a&#xA;convenient formalism for expressing an interactive programming&#xA;language with a less convenient&#xA;formalism.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In neither approach genuinely concurrency theoretic issues,&#xA;i.e. communication and its supporting infrastructure have a direct&#xA;representation. They are there, visible to the trained eye, but encoded, hidden in the impenetrable fog of&#xA;encoding complexity.  So both approaches are bad at mathematisation of&#xA;the key concerns of interactive computation.  Take for example what&#xA;might be the best idea in the theory of programming languages in the&#xA;last half century, Milner et al's axiomatisation of scope extrusion (which&#xA;is a key step in a general theory of compositionality):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$P|(\nu x)Q \ \equiv\ (\nu x)(P|Q) \quad\text{provided}\ x \notin fv(P)$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;How beautifully simple this idea is when expressed in a tailor-made&#xA;language language like the pi-calculus. Doing this using the encoding&#xA;of pi-calculus into TMs would probably fill 20 pages.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In other words, the invention of explicit formalisms for interaction&#xA;has made the following contribution to computer science: the direct&#xA;axiomatisation of the key primitives for communication (e.g. input and&#xA;output operators) and the supporting mechanisms (e.g. new name&#xA;generation, parallel composition etc). This axiomatisation has grown&#xA;into a veritable research tradition with its own conferences, schools,&#xA;terminology.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A similar situation obtains in mathematics: most concepts could be&#xA;written down using the language of set theory (or topos theory), but&#xA;we mostly prefer higher level concepts like groups, rings, topological&#xA;spaces and so on.&lt;/p&gt;&#xA;" OwnerUserId="898" LastEditorUserId="898" LastEditDate="2012-08-29T10:15:27.143" LastActivityDate="2012-08-29T10:15:27.143" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="12431" PostTypeId="2" ParentId="12289" CreationDate="2012-08-29T13:31:51.953" Score="1" Body="&lt;p&gt;Just an extended comment ... (perhaps trivial and/or wrong :)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $x_i = a_i / b_i$ and $M$ is the least common multiple of the $b_i$s, then we can get rid of the rationals: $x'_i = M*x_i$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $y_i \in \{ \lceil x_i \rceil, \lfloor x_i \rfloor \}$ (floor,ceil restriction) then we can use binary variables $v_i$ to express $y'_i$ using its distance from $x'_i$ ($L_i = x'_i - M*\lfloor x_i \rfloor$ or $R_i = x'_i - M*\lceil x_i \rceil$):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$y'_i = x'_i + L_i * v_i + R_i * (1 - v_i) = x'_i + (L_i - R_i)*v_i + R_i = x'_i + D_i *v_i + R_i$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;And the original problem should (?!?) be equivalent to finding the $v_i$ that minimize:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\sum_{1 \le i &amp;lt; j \leq n} | D_i * v_i - D_j * v_j |$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;with $v_i \in \{0,1\}, D_i \in \mathbb{Z}$&lt;/p&gt;&#xA;" OwnerUserId="3247" LastActivityDate="2012-08-29T13:31:51.953" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="12432" PostTypeId="2" ParentId="11033" CreationDate="2012-08-29T13:58:10.773" Score="3" Body="&lt;p&gt;Your question is mixing two somewhat orthogonal interpretations of the term &amp;quot;Availability&amp;quot;.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;The &amp;quot;reliability theory&amp;quot;/&amp;quot;engineering&amp;quot; interpretation, where availability is basically&#xA;the ratio of time the system is not failed.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The &amp;quot;distributed computing&amp;quot; interpretation, which is centered around the idea that&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&amp;quot;every request received by a non-failing node in the system must result in a response&amp;quot;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;So, let's consider a system of two nodes, that crash at midnight, and are resume operation at noon, every day.&lt;/p&gt;&#xA;&lt;p&gt;So in the first interpretation we have 50% availability, that is, no nines at all. However, the system can still fulfill the second interpretation.&lt;/p&gt;&#xA;" OwnerUserId="4483" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2012-08-29T13:58:10.773" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12433" PostTypeId="1" CreationDate="2012-08-29T14:01:07.470" Score="0" ViewCount="499" Body="&lt;p&gt;I'm looking for an algorithm to find a set of largest inscribed rectangles of a concave polygon where each rectangle must be collinear with one of the edges of the polygon. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In other words, I want to continually cut my polygon down using rectangles until I am left with regions were the largest-inscribed rectangle is not sharing an edge with the original polygon.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a known algorithm for this? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;An example:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.imgur.com/erkL5.png&quot; alt=&quot;&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This post is related to another post: &lt;a href=&quot;https://cstheory.stackexchange.com/questions/12376/&quot;&gt;Cover a Concave Polygon with a minimum number of rectangles&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am hoping to split up the questions so I can attract better answers.&lt;/p&gt;&#xA;" OwnerUserId="10463" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2012-08-29T14:01:07.470" Title="Get Largest Inscribed Rectangle of a Concave Polygon" Tags="&lt;co.combinatorics&gt;&lt;cg.comp-geom&gt;" AnswerCount="0" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="12434" PostTypeId="1" CreationDate="2012-08-29T14:04:35.237" Score="0" ViewCount="468" Body="&lt;p&gt;I am looking for an algorithm to identify all of the rectangles bounded by two parallel edges of a polygon. The rectangle must remain inside of the polygon at all times. My polygon is simple and will never have an acute angle. I have looked for algorithms already, but they seem to only work for convex or orthogonal polygons. Is there a good approach to this. At this point, I am thinking I should group all edges by parallelity and inspect those sets to find rectangular regions. It sounds bad.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.imgur.com/me43C.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This post is related to another post: &lt;a href=&quot;https://cstheory.stackexchange.com/questions/12376/&quot;&gt;Cover a Concave Polygon with a minimum number of rectangles&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am hoping to split up the questions so I can attract better answers.&lt;/p&gt;&#xA;" OwnerUserId="10463" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2012-08-29T14:04:35.237" Title="Identify all of the non-overlapping rectangular regions of a simple concave polygon" Tags="&lt;co.combinatorics&gt;&lt;cg.comp-geom&gt;" AnswerCount="0" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="12435" PostTypeId="2" ParentId="12289" CreationDate="2012-08-29T14:26:04.257" Score="1" Body="&lt;p&gt;Another extended comment... Could be wrong.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm also considering the case with floor/ceil restrictions, and I'm trying to solve it using dynamic programming (I can't, but maybe it works when the common divisor is small).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $\{x_i\}$ be the fractional part of $x_i$, we consider things from the smallest $\{x_i\}$ to the largest. Suppose the largest is $\{x_k\}$, and because we are doing dynamic programming we already know &quot;something&quot; (I will explain what this something is) about optimal solution for everything else except $x_k$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now consider the difference in objective function when we round $x_k$ up or down. If originally some $x_i$ is rounded up, then the difference is simply 1 (haven't really checked very carefully but seems like this is the case, it is really important that no matter whether $x_i$ is to the left or right of $x_k$, the difference is always the same); if originally some $x_i$ is rounded down, then the difference is $2\{x_k\}-2\{x_i\}-1$. So: we know what decision we should make if the following three quantities are known:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;how many things are rounded up&lt;/li&gt;&#xA;&lt;li&gt;how many things are rounded down&lt;/li&gt;&#xA;&lt;li&gt;what is the sum of $\{x_i\}$ among those $x_i$'s that are rounded down&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;OK, 1 and 2 are essentially the same, we can let f[N, Ndown, Sdown] be the optimal solution for the first N points (when the points are sorted in ascending order of $\{x_i\}$), the number of $x_i$'s rounded down is Ndown, and the sum of $\{x_i\}$ for those that are rounded down is Sdown. Then it is not hard to write out how to go from f[N-1] to f[N].&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem is of course, Sdown can have exponentially many values. But it works when either the common divisor is small, or we can round everything to a grid point first and get a FPTAS (if the above dynamic program is correct...)&lt;/p&gt;&#xA;" OwnerUserId="7193" LastActivityDate="2012-08-29T14:26:04.257" CommentCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="12437" PostTypeId="1" CreationDate="2012-08-29T16:11:34.590" Score="3" ViewCount="262" Body="&lt;p&gt;Define a directed graph $G(V,E)$. We divide its vertex set $V$ into $t$ partitions: $p_1, p_2, \ldots, p_t$. Suppose we have a path $v_1 \to v_2 \to v_3 \to \ldots \to v_n$ where the same vertex can be visited multiple times. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;We define the &lt;strong&gt;valid point of partition $p_i$&lt;/strong&gt; as the last point $\in p_i$ appearing in the abovementioned path. For example, if the path goes through $y, x, z$ and $y, x, z \in p_i$ holds, the &lt;strong&gt;valid point of $p_i$&lt;/strong&gt; is $z$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given $k$ vertices as input (we guarantee that these $k$ vertices belong to different partitions), if there exists an $s-t$ path, such that all these $k$ vertices are all &lt;strong&gt;valid points&lt;/strong&gt; of their respective partitions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can we find a polynomial-time algorithm?&lt;/p&gt;&#xA;" OwnerUserId="7166" LastEditorUserId="567" LastEditDate="2012-08-29T21:42:00.090" LastActivityDate="2012-08-30T00:52:55.380" Title="Finding a path with certain properties in a directed graph" Tags="&lt;ds.algorithms&gt;&lt;graph-algorithms&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12438" PostTypeId="2" ParentId="9787" CreationDate="2012-08-29T16:20:54.297" Score="1" Body="&lt;p&gt;NOE reduction strategy (as you define it) won't find the $\beta$-normal form of a term. For example, the normal form of $\lambda x.((\lambda y.y)x)$ is $\lambda x.x$&#xA;but NOE won't find it, because it won't reduce the inner redex $(\lambda y.y)x$ which is under the outer $\lambda$-abstraction. So it's not a normalizing reduction strategy.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, in a typed functional language with data types like &lt;code&gt;Int&lt;/code&gt;, if you know that some expression is of such a type, you know that it cannot be a function, so it's enough to restrict reductions to so-called &lt;em&gt;Weak Head Normal Form&lt;/em&gt; (which is close to NOE), and it simplifies many things. See also:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.haskell.org/haskellwiki/Weak_head_normal_form&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://www.haskell.org/haskellwiki/Weak_head_normal_form&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://en.wikibooks.org/wiki/Haskell/Graph_reduction#Weak_Head_Normal_Form&quot; rel=&quot;nofollow noreferrer&quot;&gt;https://en.wikibooks.org/wiki/Haskell/Graph_reduction#Weak_Head_Normal_Form&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://stackoverflow.com/questions/6872898/haskell-what-is-weak-head-normal-form&quot;&gt;https://stackoverflow.com/questions/6872898/haskell-what-is-weak-head-normal-form&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="10336" LastEditorUserId="-1" LastEditDate="2017-05-23T12:40:09.333" LastActivityDate="2012-08-29T16:20:54.297" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12439" PostTypeId="2" ParentId="12437" CreationDate="2012-08-29T18:22:52.393" Score="5" Body="&lt;p&gt;If all partitions contain only a single vertex and you're given all of them as your initial set of $k$ vertices then the path you seek must be a Hamiltonian path. So it's NP-complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, it's fixed-parameter tractable when parametrized by $t$ — it can be turned into a reachability problem on a larger graph where each vertex is a pair $(S,v)$ of a set $S$ of the partition sets whose valid point has already been passed and a vertex $v$ of the original graph. So the time is $O(\binom{t}{\le k}(m+n))=O(2^t(m+n))$.&lt;/p&gt;&#xA;" OwnerUserId="95" LastEditorUserId="95" LastEditDate="2012-08-30T00:52:55.380" LastActivityDate="2012-08-30T00:52:55.380" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="12441" PostTypeId="1" AcceptedAnswerId="12447" CreationDate="2012-08-29T20:10:01.527" Score="5" ViewCount="684" Body="&lt;p&gt;Let &lt;span class=&quot;math-container&quot;&gt;$G = ( V_G, E_G )$&lt;/span&gt; be a graph. Let &lt;span class=&quot;math-container&quot;&gt;$E_H \subseteq E_G$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;p&gt;The subgraph of &lt;span class=&quot;math-container&quot;&gt;$G$&lt;/span&gt; edge-induced by &lt;span class=&quot;math-container&quot;&gt;$E_H$&lt;/span&gt; is &lt;span class=&quot;math-container&quot;&gt;$H = ( V_H, E_H)$&lt;/span&gt;, where&lt;/p&gt;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$V_H = \{ v \in V_G : \exists ( u, w ) \in E_H\ v = u \lor v = w \}$&lt;/span&gt;&lt;/p&gt;&#xA;&lt;p&gt;Let &lt;span class=&quot;math-container&quot;&gt;$k_1 \leq |E_G|$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$k_2 \leq |V_G|$&lt;/span&gt; be given in input.&lt;/p&gt;&#xA;&lt;p&gt;I would like to determine the number &lt;span class=&quot;math-container&quot;&gt;$k_3$&lt;/span&gt; of edge-induced subgraphs of &lt;span class=&quot;math-container&quot;&gt;$G$&lt;/span&gt; having &lt;span class=&quot;math-container&quot;&gt;$k_1$&lt;/span&gt; edges and &lt;span class=&quot;math-container&quot;&gt;$k_2$&lt;/span&gt; nodes. Clearly, I don't want to enumerate all the (exponentially many) subgraphs of &lt;span class=&quot;math-container&quot;&gt;$G$&lt;/span&gt; having &lt;span class=&quot;math-container&quot;&gt;$k_1$&lt;/span&gt; edges.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;Questions:&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Is it possible to determine &lt;span class=&quot;math-container&quot;&gt;$k_3$&lt;/span&gt; in time polynomial in &lt;span class=&quot;math-container&quot;&gt;$|E_G|$&lt;/span&gt;?&lt;/li&gt;&#xA;&lt;li&gt;What if &lt;span class=&quot;math-container&quot;&gt;$G$&lt;/span&gt; is 3-regular?&lt;/li&gt;&#xA;&lt;li&gt;What if &lt;span class=&quot;math-container&quot;&gt;$G$&lt;/span&gt; is 3-regular planar?&lt;/li&gt;&#xA;&lt;li&gt;What if &lt;span class=&quot;math-container&quot;&gt;$G$&lt;/span&gt; is 3-regular planar bipartite?&lt;/li&gt;&#xA;&lt;li&gt;Which is the best known algorithm to compute &lt;span class=&quot;math-container&quot;&gt;$k_3$&lt;/span&gt;? &lt;span class=&quot;math-container&quot;&gt;$\longleftarrow$&lt;/span&gt; &lt;strong&gt;Added on 30/08/2012&lt;/strong&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="947" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2012-09-01T14:22:05.410" Title="Number of subgraphs with a given number of nodes" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;counting-complexity&gt;" AnswerCount="1" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="12442" PostTypeId="2" ParentId="12377" CreationDate="2012-08-29T21:51:03.913" Score="1" Body="&lt;p&gt;reading &lt;a href=&quot;http://blog.computationalcomplexity.org&quot; rel=&quot;nofollow&quot;&gt;Lance Fortnows blog,&lt;/a&gt; just ran across this recent/nice/long survey article on the subj with many perspectives &amp;amp; refs [1] (which has not been cited so far), includes Wegner/Goldin's perspective (among many others). Ill just quote Fortnows excellent/emphatic summary/declaration/assertion of the &lt;b&gt;near-official/uniform/unanimous TCS party line:&lt;/b&gt;&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&quot;A few computer scientists nevertheless try to argue that the [Church-Turing] thesis fails to capture some aspects of computation. Some of these have been published in prestigious venues such as Science, Communications of the ACM, and now as a whole series of papers in ACM Ubiquity. &lt;b&gt;Some people outside of computer science might think that there is a serious debate about the nature of computation. There isn't.&quot;&lt;/b&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;[1] &lt;a href=&quot;http://cacm.acm.org/magazines/2012/3/146259-turings-titanic-machine/fulltext&quot; rel=&quot;nofollow&quot;&gt;Turings Titanic Machine&lt;/a&gt; by Barry S Cooper CACM Vol 55&lt;/p&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="7884" LastEditDate="2012-08-29T22:19:28.843" LastActivityDate="2012-08-29T22:19:28.843" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12444" PostTypeId="2" ParentId="12377" CreationDate="2012-08-30T02:29:59.720" Score="-8" Body="&lt;p&gt;Here's the thing, once you add (pure) interactivity, formality goes out the window.  It's no longer a &quot;closed&quot; system.  The question then is, what is the notion of &lt;strong&gt;computation&lt;/strong&gt; once interactivity enters in?   That answer:  well, either the other user/machine is substituting for some of your computation (which can be enscribed by just another, bigger, state machine) &lt;em&gt;or&lt;/em&gt; you're no longer in a formally-definable system and you're now playing a &lt;strong&gt;&lt;em&gt;game&lt;/em&gt;&lt;/strong&gt;, in which case there is no application of the Church-Turing thesis.&lt;/p&gt;&#xA;" OwnerUserId="10512" LastEditorUserId="10512" LastEditDate="2012-09-07T14:23:54.823" LastActivityDate="2012-09-07T14:23:54.823" CommentCount="10" ContentLicense="CC BY-SA 3.0" />
  <row Id="12445" PostTypeId="2" ParentId="12422" CreationDate="2012-08-30T03:18:32.423" Score="7" Body="&lt;p&gt;There are cases where the symmetries of a problem ( seem to ) characterize its complexity. One very interesting example is constraint satisfaction problems (CSPs). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Definition of CSP&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A CSP is given by a domain $U$, and a constraint language $\Gamma$ ($k$-ary functions from $U^k$ to $\{0, 1\}$). A constraint satisfaction instance is given by a set of variables $V$ and constraints from $\Gamma$. A solution to the instance is an assignment $\phi:V \rightarrow U$ such that all constraints are satisfied.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, in this language 3-SAT is given by $\Gamma$ which is the set of all disjunctions of 3 literals, $U$ is simply $\{0, 1\}$. For another example, systems of linear equations mod 2 are given by a $\Gamma$ which is all linear equations mod 2 with $k$ variables, and $U$ is again $\{0, 1\}$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Polymorphisms&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is a sense in which the hardness of a CSP is characterized by its symmetries. The symmetries in question are called polymorphisms. A polymorphism is a way to &lt;em&gt;locally&lt;/em&gt; combine several solutions to a CSP to get a new solution. Locally here means that there is a function that  is applied to each variable separately. More precisely, if you have several solutions (satisfying assignments) $\phi_1, \ldots, \phi_t$, a polymorphism is a function $f:U^t \rightarrow U$ that can be applied to each variable to get a new solution $\phi$: $\phi(v) = f(\phi_1(v), \ldots, \phi_t(v))$. For $f$ to be a polymorphism it should map all tuples of $t$ satisfying assignments to any instance to a satisfying assignment of the same instance. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A polymorphism for systems of linear equations for example is $f(x, y, z) = x + y + z \pmod 2$. Notice that $f(x, x, y) = f(y, x, x) = y$. An $f$ that satisfies this property is known as a Maltsev operation. CSPs that have a Maltsev polymorphism are solvable by Gaussian elimination. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, disjunctions of 3 literals only have dictators as polymorphisms, i.e. functions of the type $f(x, y) = x$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Polymorphisms and Complexity (the dichotomy conjecture)&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Polymorphisms in fact have computational implications: if a CSP $\Gamma_1$ admits all polymorphisms of $\Gamma_2$, then $\Gamma_1$ is polynomial-time reducible to $\Gamma_2$. This is a way to formally say that a CSP $\Gamma_2$ which is &quot;less symmetric&quot; than another CSP $\Gamma_1$ is in fact harder. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A major open problem in complexity theory is to characterize the hardness of CSPs. The dichotomy conjecture of Feder and Vardi states that any CSP is either in P or NP-complete. The conjecture can be reduced to a statement about polymorphisms: a CSP is NP-hard if and only if the only polymorphisms it admits are &quot;dictators&quot; (otherwise it is in P). I.e. a CSP is hard only if there is no local way to form genuine new solutions from old solutions. The if part (hardness) is known, but the only if part (designing a polytime algorithm) is open.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, an important case where we do have a dichotomy is boolean CSPs (where $U = \{0, 1\}$). According to &lt;a href=&quot;http://en.wikipedia.org/wiki/Schaefer%27s_dichotomy_theorem&quot; rel=&quot;nofollow&quot;&gt;Schaefer's theorem&lt;/a&gt;, a boolean CSP is in P if it admits one of 6 polymorphisms, otherwise it is NP-complete. The six polymorphisms are basically what you need to solve the problem either by gaussian elimination or by propagation (as you do with horn-sat for example), or to solve it by a trivial assignment. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;To read more about polymorphisms, universal algebra, and the dichotomy conjecture, you can look at the &lt;a href=&quot;http://www.springerlink.com/content/a553847g6h673k05/&quot; rel=&quot;nofollow&quot;&gt;survey by Bulatov&lt;/a&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Polymorphisms and Approximability&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I also recommend an &lt;a href=&quot;http://video.ias.edu/csdm/complexityconstraint&quot; rel=&quot;nofollow&quot;&gt;IAS lecture by Prasad Raghavendra&lt;/a&gt; where he puts his &lt;a href=&quot;http://www.cc.gatech.edu/fac/praghave/Files/extabstract.pdf&quot; rel=&quot;nofollow&quot;&gt;result&lt;/a&gt; giving optimal approximability of any CSP assuming the unique games conjecture in a similar framework. On a high level, if all polymorphisms (this needs to be generalized to handle approximation problems) of a CSP are close to dictators, one can use the CSP to design a way to test if a function is a dictator, and that turns out to be all you need in order to give a hardness of approximation reduction from unique games. This gives the hardness direction of his result; the algorithmic direction is that when a CSP has a polymorphism which is far from a dictator, one can use an invariance principle (generalization of central limit theorems) to argue that an SDP rounding algorithm gives a good approximation. A really sketchy intuition for the algorithmic part: a polymorphism that is far from a dictator doesn't care if it is given as arguments (a distribution over) variable assignments or gaussian random variables that locally approximate a distribution over variable assignments. This is the same way that a sum function &quot;doesn't care&quot; if it is given discrete  random variables with small variance or gaussian r.v.'s with the same variance, by the central limit theorem. The gaussian random variables we need can be computed from an SDP relaxation of the CSP problem. So we find a polymorphism that is far from a dictator, feed it the gaussian samples, and get a good solution back.&lt;/p&gt;&#xA;" OwnerUserId="4896" LastEditorUserId="4896" LastEditDate="2012-08-30T07:37:34.307" LastActivityDate="2012-08-30T07:37:34.307" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12446" PostTypeId="1" CreationDate="2012-08-30T08:06:14.147" Score="1" ViewCount="128" Body="&lt;p&gt;I've been struggling with this problem for weeks, and couldn't find an appropriate algorithm to solve it. Could you guys please give me some advices or suggestions in addressing this question. Or if you know anyone who could answer this question, please send it to them. I really need the solution as I have been trying to figure it out for quite long time :| Many thanks!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/JCryc.jpg&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As can be seen in the picture, I have more than 200 lines in 3D. They consist of 3 different groups of lines, and the common property of the lines in each group is that they pass close to the same point. However, in this problem, we don't know which line belongs to which group. What is given are only the 3D coordinates $(x,y,z)$ of the 2 ends of all the lines.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My job is to find an algorithm to match/fit/register a triangle (a rigid body) to those lines such that the sum of the sum of distances between 3 vertexes of the triangle and their corresponding lines is minimized. In some cases, one vertex may be the closest point in a group, but the other vertexes would be dragged further away from their corresponding lines (because they are in a rigid body), thus this sum will not be minimal. What I need is the best positions of the 3 vertexes (the best fit of the triangle) to minimize the global sum.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In conclusion, given more than 200 sets of $(x_1,y_1,z_1,x_2,y_2,z_2)$ (which are coordinates of 2 ends of a line), I need to find the best positions of 3 vertexes of a triangle to fit in those lines (given the relative distance between the 3 vertexes).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Without the rigid-body condition, I have successfully determined the positions of the 3 independent points using the Expectation-Maximization (EM) clustering algorithm. However, sometimes 2 or 3 points are assigned to the same position. Then, I realized I had forgotten the &quot;rigid-body&quot; condition. With this added condition, this error will not occur. In the EM algorithm, I can derive the formula for each repositioning step for each point. But when it comes to a rigid-body, I don't know how to figure out the translation and rotation matrix to fit the triangle to the lines.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thank you for reading this post. Your help would be greatly appreciated!&lt;/p&gt;&#xA;" OwnerUserId="10538" LastEditorUserId="80" LastEditDate="2012-08-30T15:56:40.607" LastActivityDate="2012-08-30T15:56:40.607" Title="Rigid-body matching algorithm and clustering algorithm with groups of lines in 3D" Tags="&lt;cg.comp-geom&gt;&lt;clustering&gt;" AnswerCount="0" CommentCount="3" FavoriteCount="1" ClosedDate="2012-08-30T21:44:02.817" ContentLicense="CC BY-SA 3.0" />
  <row Id="12447" PostTypeId="2" ParentId="12441" CreationDate="2012-08-30T14:16:03.307" Score="9" Body="&lt;p&gt;Let $f(G, k_1, k_2)$ be the counting problem that you have defined. Then&#xA;$$g(G) = \sum_{k_1 = 0}^{|V_G| / 2} f(G, k_1, 2 k_1)$$&#xA;counts the number of matchings in $G$, which only uses a linear number of oracle calls to your problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since counting matchings in 3-regular planar graphs is #P-hard (see ref below), your questions (1), (2), and (3) all give a #P-hard problem. Your last question (4) probably gives a #P-hard problem as well because counting matchings in 3-regular biparitie planar graphs is probably #P-hard, but I don't know if anyone has proved this.  The closest that I know of is that&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0304397507004653&quot;&gt;counting matchings in 2,3-regular biparitie planar graphs is #P-hard&lt;/a&gt; and&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://epubs.siam.org/doi/abs/10.1137/S0097539797321602&quot;&gt;counting matchings in biparitie planar graphs of max degree 6 is #P-hard&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;The reference that I promised above is &lt;a href=&quot;http://arxiv.org/abs/1008.0683&quot;&gt;Holographic Algorithms with Matchgates Capture Precisely Tractable Planar #CSP&lt;/a&gt; by Jin-Yi Cai, Pinyan Lu, Mingji Xia. Theorem 6.1 proves that counting matchings in 3-regular planar graphs is #P-hard in the special case that $[y_0, y_1, y_2] = [1,0,1]$ and $[x_0, x_1, x_2, x_3] = [1,1,0,0]$.&lt;/p&gt;&#xA;" OwnerUserId="3964" LastEditorUserId="3964" LastEditDate="2012-08-30T15:14:19.463" LastActivityDate="2012-08-30T15:14:19.463" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12448" PostTypeId="1" AcceptedAnswerId="12452" CreationDate="2012-08-30T16:41:17.837" Score="13" ViewCount="816" Body="&lt;p&gt;The smallest known formula for the determinant has size $n^{\mathcal O(\log n)}$ according to the folklore (or to Ran Raz in its paper &lt;em&gt;&lt;a href=&quot;http://eccc.hpi-web.de/report/2003/067/&quot;&gt;Multi-Linear Formulas for Permanent and Determinant are of Super-Polynomial Size&lt;/a&gt;&lt;/em&gt;). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Do you have any reference for this? In particular, what is this formula?&lt;/p&gt;&#xA;" OwnerUserId="976" LastEditorUserId="3964" LastEditDate="2012-08-30T20:18:27.917" LastActivityDate="2013-02-15T05:42:13.583" Title="Smallest known formula for the determinant" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;algebraic-complexity&gt;&lt;determinant&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12450" PostTypeId="1" AcceptedAnswerId="12491" CreationDate="2012-08-30T20:48:00.117" Score="13" ViewCount="508" Body="&lt;p&gt;The theory of cluster-state computation is well-established by now, showing that any BQP circuit can be modified so it uses only single qubit quantum gates, possibly classically controlled, provided ample supply of a state known as the &quot;cluster state&quot; - which is a simple to produce stablizer state.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is: is a similar notion known for quantum verification - i.e.&#xA;can one replace QMA circuits with classically controlled 1-qubit gates, possibly using some &quot;special state&quot;?&#xA;At least initially, I'm unclear on why the cluster state can even work in this case.&lt;/p&gt;&#xA;" OwnerUserId="6238" LastActivityDate="2012-09-05T08:45:25.610" Title="One-way quantum verification" Tags="&lt;quantum-computing&gt;" AnswerCount="3" CommentCount="3" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="12451" PostTypeId="2" ParentId="4254" CreationDate="2012-08-30T20:51:13.567" Score="5" Body="&lt;p&gt;Edit: A complete (simplified) PSPACE-completeness proof appears below.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Two updates. First, the normal form described in my other answer appears already in a paper by Calbrix and Nivat titled &lt;em&gt;Prefix and period languages of rational $\omega$-langauges&lt;/em&gt;, unfortunately not available online.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Second, deciding whether a language is circular given its DFA is PSPACE-complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Circularity in PSPACE.&lt;/strong&gt; Since NPSPACE=PSPACE by Savitch's theorem, it is enough to give an NPSPACE algorithm for non-circularity. Let $A = (Q,\Sigma,\delta,q_0,F)$ be a DFA with $|Q|=n$ states. The fact that the syntactic monoid of $L(A)$ has size at most $n^n$ implies that if $L(A)$ is not circular then there is a word $w$ of length at most $n^n$ such that $w \in L(A)$ but $w^k \notin L(A)$ for some $k \leq n$. The algorithm guesses $w$ and computes $\delta_w(q) = \delta(q,w)$ for all $q \in Q$, using $O(n\log n)$ space (used to count up to $n^n$). It then verifies that $\delta_w(q_0) \in F$ but $\delta_w^{(k)} \notin F$ for some $k \leq n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Circularity is PSPACE-hard.&lt;/strong&gt; Kozen showed in his classic 1977 paper &lt;a href=&quot;http://www.cs.cornell.edu/~kozen/papers/LowerBounds.pdf&quot; rel=&quot;nofollow&quot;&gt;&lt;em&gt;Lower bounds for natural proof systems&lt;/em&gt;&lt;/a&gt; that it is PSPACE-hard to decide, given a list of DFAs, whether the intersection of the languages accepted by them is empty. We reduce this problem to circularity. Given binary DFAs $A_1,\ldots,A_n$, we find a prime $p \in [n,2n]$ and construct a ternary DFA $A$ accepting the language&#xA;$$ L(A) = \overline{\{2w_12w_2\cdots2w_p : w_i \in L(A_{1+(i\mod{n})})\}}. $$&#xA;(With some more effort, we can make $A$ binary as well.) It is not difficult to see (using the fact that $p$ is prime) that $L(A)$ is circular if and only if the intersection $L(A_1) \cap \cdots \cap L(A_n)$ is empty.&lt;/p&gt;&#xA;" OwnerUserId="40" LastEditorUserId="40" LastEditDate="2012-09-03T02:40:20.310" LastActivityDate="2012-09-03T02:40:20.310" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12452" PostTypeId="2" ParentId="12448" CreationDate="2012-08-30T21:18:41.497" Score="13" Body="&lt;p&gt;One way is described in Berkowitz, &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/0020019084900188&quot;&gt;&lt;em&gt;On computing the determinant in small parallel time using a small number of processors&lt;/em&gt;&lt;/a&gt; (see also Soltys, &lt;a href=&quot;http://arxiv.org/pdf/math/0201315&quot;&gt;&lt;em&gt;Berkowitz's algorithm and clow sequences&lt;/em&gt;&lt;/a&gt;). Another way is described in Hrubeš and Tzameret, &lt;a href=&quot;http://arxiv.org/pdf/1112.6265&quot;&gt;&lt;em&gt;Short proofs for the determinant identities&lt;/em&gt;&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="40" LastEditorUserId="13756" LastEditDate="2013-02-15T05:42:13.583" LastActivityDate="2013-02-15T05:42:13.583" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="12453" PostTypeId="2" ParentId="12450" CreationDate="2012-08-30T23:27:08.580" Score="3" Body="&lt;p&gt;My interpretation of the question is that you are asking, may we assume that the verifier circuit for a QMA protocol uses only single-qubit measurements?  (The idea being that the prover sends you both the quantum proof and the quantum cluster state needed to implement the original verification circuit by &quot;one-way quantum computing.&quot;)  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem, of course, is that the prover might not send you a valid cluster state at all.  So the verifier would have to test the received state to make sure that it really is a cluster state.  The verifier does this by making single-qubit measurements and checking the correlations satisfy the necessary stabilizer checks.  Since such testing is destructive to the state, there would need to be a procedure where the verifier is given many copies of the state, checks most of them, and uses a random one for the computation.  Do polynomially many copies suffice?  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I don't think this is a known theorem.  I don't see an obvious counterexample (with a minute's thought), so it might be believable.  Known proof technology on testing states seems like it should be enough to check this.  For example, see Matthew McKague's paper arXiv:1010.1989 [quant-ph].  If you get a proof working, send the paper to QIP (deadline Oct. 5)!  &lt;/p&gt;&#xA;" OwnerUserId="10546" LastActivityDate="2012-08-30T23:27:08.580" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12454" PostTypeId="2" ParentId="12422" CreationDate="2012-08-31T00:13:33.237" Score="12" Body="&lt;p&gt;In the case of determinant, Gaussian elimination can indeed be seen as equivalent to the idea that the determinant has a large symmetry group (of a particular form) &lt;em&gt;and&lt;/em&gt; is characterized by that symmetry group (meaning any other homogeneous degree $n$ polynomial in $n^2$ variables with those symmetries must be a scalar multiple of the determinant). (And, as to @Tsuyoshi Ito's point that the symmetries of the permanent seem not to help compute it efficiently: although the permanent is also characterized by its symmetries, its symmetry group is much smaller than that of the determinant.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can find a write-up of this - where the symmetries of the determinant are used to do Gaussian elimination, along the way proving that the determinant is characterized by its symmetries - in Proposition 3.4.3 of &lt;a href=&quot;http://www.cs.toronto.edu/~jgrochow/grochow-thesis.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;my thesis&lt;/a&gt; (shameless self plug - but also, I've never seen it phrased quite this way before and written in full detail, as the OP was asking for, though I'm sure it's been done; I'd be happy if someone had other references).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As to the idea that symmetry always leads to complexity reduction (or not), in addition to things already in the comments, see &lt;a href=&quot;https://cstheory.stackexchange.com/questions/871/relationship-between-symmetry-and-computational-intractability/879#879&quot;&gt;this question&lt;/a&gt; and its answers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An interesting point is that in Valiant's first papers on what is now known as Valiant's version of algebraic complexity theory, he was trying to make the point that one reason the determinant is important computationally is because roughly all the (then) known efficient algorithms could be reduced to linear algebra and thence to the computation of the determinant, e.g. the FKT algorithm for counting matchings in planar graphs. This is of course an exaggeration, but continues to be borne out by research into holographic algorithms, which often reduce to computing the Pfaffian (a close relative of the determinant). Surely Valiant knew this was an exaggeration, but here's the exact quote just to make sure I'm not misrepresenting (&lt;a href=&quot;http://dx.doi.org/10.1145/800135.804419&quot; rel=&quot;nofollow noreferrer&quot;&gt;L. Valiant. Completeness classes in algebra. ACM STOC 1979&lt;/a&gt;):&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Our main conclusions can be summarized roughly as follows:&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;(a) Linear algebra offers essentially the only fast technique for computing multivariate polynomials of moderate degree&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;(b) ...&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="129" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2012-10-12T21:36:14.937" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12455" PostTypeId="2" ParentId="12289" CreationDate="2012-08-31T03:40:49.990" Score="9" Body="&lt;p&gt;OK. The DP algorithm seems to be unnecessarily complicated. After reading comments I think this might solve the Monotonic version of the problem (but I have not checked every detail).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First, assume each $x_i = \lfloor x_i\rfloor +\{x_i\}$, where $\lfloor x_i\rfloor$ is the integral part, $\{x_i\}$ is the fractional part. Assume $x_i$ is rounded to $\lfloor x_i \rfloor + v_i$, where $v_i$ is a nonnegative integer (of course in general $v_i$ can be negative, but we can always shift so that the smallest $v_i$ is 0). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, consider the cost for a pair $x_i$, $x_j$ when doing this rounding. The cost should be&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;||v_i-v_j+ \lfloor x_i\rfloor -  \lfloor x_j\rfloor| - |\{x_i\}-\{x_j\} + \lfloor x_i\rfloor - \lfloor x_j\rfloor||&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The expression is complicated because of the absolute values. However, notice that we have monotonicity, so the things inside the two inner absolute values should have the SAME sign. Since we have an outer absolute value, it really doesn't matter what that sign is, the expression just simplifies to&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;|v_i-v_j - (\{x_i\} - \{x_j\})|&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;From now on we do not assume the solution is monotonic, but instead, we change the objective to minimize the sum of the above term for all pairs. If the solution to this problem happens to be monotonic, then of course it is also the optimal solution for the monotonic version. (Think of this as: original problem has an infinite penalty when the solution is not monotonic, the new problem has smaller penalty, if a monotonic solution wins even in the new version, it must be the solution to the monotonic version)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now we would like to prove, if $\{x_i\} &amp;gt; \{x_j\}$, in the optimal solution we must have $v_i \ge v_j$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assume this is not true, that we have a pair $\{x_i\} &amp;gt; \{x_j\}$ but $v_i &amp;lt; v_j$. We shall show that if we swap $v_i$ $v_j$ the solution gets strictly better.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First we compare the term between $i$ and $j$, here it is really clear that swapping is strictly  better because in the non-swap version, $v_i-v_j$ and $\{x_j\}-\{x_i\}$ has the same sign, the absolute value will be the sum of the two absolute values.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now for any $k$, we compare the sum of pairs $(i,k)$ and $(j,k)$. That is, we need to compare&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$|v_i-v_k-(\{x_i\}-\{x_k\})|+|v_j-v_k-(\{x_j\}-\{x_k\})|$ and $|v_j-v_k-(\{x_i\}-\{x_k\})|+|v_i-v_k-(\{x_j\}-\{x_k\})|$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Use $A$, $B$, $C$, $D$ to denote the four terms inside the absolute value, it is clear that $A+B = C+D$. Also it is clear that $|A-B| \ge |C-D|$. By convexity of the absolute value, we know $|A|+|B| \ge |C|+|D|$. Take the sum over all $x_k$'s, we know swapping can only be better.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Notice that now we already have a solution for the Monotonic floor/ceil version: there must be a threshold, when $\{x_i\}$ is bigger always round up, when it is smaller always round down, when it is equal round some up and some down, while the solution quality only depends on the number. We enumerate all these solutions and pick the one with smallest objective function. (All these solutions are necessarily monotonic).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally we would like to go to the monotonic integer version of the problem. We can actually prove the optimal solution is the same as Monotonic floor/ceil version.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As we assumed, the smallest $v_i$ is 0. Group all the $x_i$'s according to their $v_i$'s, and call them group $0,1,2,...,\max\{v_i\}$. We shall first prove that there are no empty groups, but this is simple, if the $k$-th group is empty, for any $v_i &amp;gt; k$ just let $v_i = v_i-1$. It is easy to see the objective function always improves (basically because $|\{x_i\}-\{x_j\}| &amp;lt; 1$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now we shall prove, the average of $\{x_i\}$ in group $k+1$ is at least the average of $\{x_i\}$ in group $k$ plus $1/2$. If this is not true, simply let $v_i = v_i-1$ for all $v_i &amp;gt; k$, computation again shows the objective function improves.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since the average of $\{x_i\}$ is in range $[0,1)$, there are really at most two groups, which corresponds to the floor/ceil version.&lt;/p&gt;&#xA;" OwnerUserId="7193" LastActivityDate="2012-08-31T03:40:49.990" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12456" PostTypeId="1" AcceptedAnswerId="12457" CreationDate="2012-08-31T14:24:37.890" Score="4" ViewCount="289" Body="&lt;p&gt;In typical object-oriented programming languages like Java, &lt;em&gt;classes&lt;/em&gt; are used as types.  On the other hand, type-theoretic approaches to object-oriented languages treat &lt;em&gt;interfaces&lt;/em&gt; as types.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there any theoretical frameworks that formalize the use of classes as types?&lt;/p&gt;&#xA;" OwnerUserId="8519" LastActivityDate="2012-08-31T14:48:04.710" Title="Classes and types in object-oriented languages" Tags="&lt;pl.programming-languages&gt;&lt;type-systems&gt;&lt;object-oriented&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12457" PostTypeId="2" ParentId="12456" CreationDate="2012-08-31T14:48:04.710" Score="6" Body="&lt;p&gt;Core calculi for Java typically take the classes-as-types approach.  Two well-known examples are &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=320395&quot;&gt;Featherweight Java&lt;/a&gt; and &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=268961&quot;&gt;Classic Java&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="2185" LastActivityDate="2012-08-31T14:48:04.710" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="12458" PostTypeId="1" AcceptedAnswerId="12470" CreationDate="2012-08-31T15:39:12.087" Score="12" ViewCount="4122" Body="&lt;p&gt;If we are given two strings of size $n_1$ and $n_2$, the standard Levenshtein edit distance computation is by a dynamic algorithm with time complexity $O(n_1 n_2)$ and space complexity $O(n_1 n_2)$. (Some improvements can be made as a function of the edit distance $d$, but we make no assumption on $d$ being especially small.) If you are only interested in the value of the edit distance (i.e., the minimal number of edits), a well-known improvement of the usual algorithm (where you only keep the previous and current row of the alignment table) reduces the space complexity to $O(\max(n_1, n_2))$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, if you want to get the actual edits of an optimal edit script, is it possible to do better than $O(n_1 n_2)$ memory usage, possibly at the expense of running time?&lt;/p&gt;&#xA;" OwnerUserId="4795" LastEditorUserId="4795" LastEditDate="2012-08-31T15:47:45.570" LastActivityDate="2012-09-01T15:08:08.063" Title="Space complexity to compute the optimal string alignment for the Levenshtein edit distance" Tags="&lt;cc.complexity-theory&gt;&lt;dynamic-algorithms&gt;&lt;edit-distance&gt;&lt;space-time-tradeoff&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="12459" PostTypeId="1" AcceptedAnswerId="12464" CreationDate="2012-08-31T15:55:35.053" Score="-9" ViewCount="669" Body="&lt;p&gt;Recently there was a big response here to a question relating to the Church-Turing (from now on referred to as &amp;quot;CT&amp;quot;) thesis [1].  this is another question that has nagged at me for close to a decade after studying some areas of TCS (more on background/motivation below) &amp;amp; afaik seems like it could be seen as yet unrecognized but a somewhat related/connected phenomenon, or a flip/mirror side of the CT thesis.&lt;/p&gt;&#xA;&lt;p&gt;I have not ever seen this proven as a theorem or a discussion in a paper or book, but think there is some evidence, and may even have a rough (not overly difficult) proof myself. (have some intention to post it depending on the response.) wondered what the experts would think of this.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;is every &amp;quot;nontrivial&amp;quot; algorithm Turing-complete?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;I don't see an immediate easy way to disprove this, maybe others have an idea.&lt;/p&gt;&#xA;&lt;p&gt;The CT thesis tells us that computation is very broadly modelled by TMs. if the above was a thm, it would seem to mesh with that broad scope. moreover it would emphasize the importance of complexity theory in discriminating the difference between algorithms, because without the study of complexity of the conversions between them, they are all &amp;quot;equivalent&amp;quot; in a broad sense.&lt;/p&gt;&#xA;&lt;p&gt;Here's some background: the idea initially occurred to me many yrs ago in studying cellular automata and primitive rules like rule 110.[2] there is a Mathew Cook proof that rule 110 is Turing complete. however, the conversion process for the inputs and outputs is extremely intricate/elaborate. which leads to the conjecture that maybe one can relate all nontrivial algorithms using extremely elaborate conversion processes/subroutines/&amp;quot;wrappers&amp;quot;. by elaborate, I mean also that the complexity in time/space may be extremely inefficient in some cases.&lt;/p&gt;&#xA;&lt;p&gt;Also it would seem that a maybe very primitive computation system like rule 110 along with very timeconsuming conversion on the input and output balances out in some sense. in other words, one can convert primitive languages to complex ones using complex input/output &amp;quot;wrappers&amp;quot;, and vice versa. also reminiscent of the idea of &amp;quot;padding&amp;quot;, used in many TCS proofs, which can be a special case of wrapping.&lt;/p&gt;&#xA;&lt;p&gt;By &amp;quot;nontrivial&amp;quot;, am not sure exactly what is meant right now, but that term is used intentionally to call some analogy with Rices theorem.[3] a proof sketch I have in mind does not use Rices theorem but maybe there is some connection? in any case it means some &amp;quot;weak&amp;quot; property of algorithms that is somewhat easily fulfilled. its slightly more strict than Recursive, but not much more. and not nec the same defn of &amp;quot;trivial&amp;quot; in Rices thm but maybe close.&lt;/p&gt;&#xA;&lt;p&gt;In fact if the above theorem could be proven, it might make it easier to prove Turing completeness of many systems eg CAs etcetera, by better understanding this very &amp;quot;weak property&amp;quot;.&lt;/p&gt;&#xA;&lt;p&gt;In my opinion this conjecture is also somewhat influenced/inspired by the Berman-Hartmanis isomorphism conjecture[4] which in its current form is not widely believed but proposes an isomorphism for NP complete problems. the above Turing completeness conjecture seems to suggest maybe some kind of an isomorphism across all algorithms that is based on arbitrary complexity classes (possibly for later study).&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;[1] &lt;a href=&quot;https://cstheory.stackexchange.com/questions/12377/applicability-of-church-turing-thesis-to-interactive-models-of-computation&quot;&gt;Applicability of Church-Turing thesis to interactive models of computation &lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;[2] &lt;a href=&quot;https://cstheory.stackexchange.com/questions/11002/initial-conditions-for-universal-rule-110&quot;&gt;Initial conditions for universal Rule 110&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;[3] &lt;a href=&quot;http://en.wikipedia.org/wiki/Rices_theorem&quot; rel=&quot;nofollow noreferrer&quot;&gt;Rices thm, wikipedia&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;[4] &lt;a href=&quot;http://www.cse.iitk.ac.in/users/manindra/presentations/CiE%20Talk.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Berman/Hartmanis Isomorphism conjecture slides by Manindra Agrawal&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="35155" LastEditDate="2021-03-08T09:31:12.423" LastActivityDate="2021-03-08T09:31:12.423" Title="Is every &quot;nontrivial&quot; algorithm Turing-complete?" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;computability&gt;&lt;turing-machines&gt;&lt;big-picture&gt;" AnswerCount="2" CommentCount="20" ContentLicense="CC BY-SA 4.0" />
  <row Id="12460" PostTypeId="1" CreationDate="2012-08-31T16:00:55.153" Score="6" ViewCount="141" Body="&lt;p&gt;A discrete-time Markov chain (DTMC) is a tuple $M=(S,s_{init},P)$ where $S$ is a finite set of states, $s_{init}\in S$ the initial state, and $P:S\times S\to[0,1]$ the one-step transition probability matrix.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For a subset $S'\subseteq S$ with $s_{init},t\in S'$ we define the induced sub-DTMC $M_{S'}=(S',s_{init},P')$ with $P'(s,s')=P(s,s')$ for all $s,s'\in S'$.&#xA;If the sum of the out-going probabilities of a state $s\in S'$ is less than 1, a deadlock state is entered with probability $1-\sum_{s'\in S'}P(s,s')$ such that $t$ cannot be reached anymore.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assume we are given a DTMC $M=(S,s_{init},P)$ and a target state $t\in S$ such that the probability to finally reach $t$ from $s_{init}$ is larger than a given bound $\lambda$. We are interested in subsets $S'\subseteq S$ with $s_{init},t\in S'$ such that the probability of reaching $t$ from $s_{init}$ in $M_{S'}$ is still larger than $\lambda$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Question: What is the complexity of deciding whether there is such a $S'$ containing at most $k$ states (for a given $k$)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We suppose that this problem is NP-complete (obviously it is in NP: guess an appropriate $S'$ and compute the reachability probabilities to check if the bound $\lambda$ is exceeded; this can be done by solving a linear equation system). However, we have not found a reduction to show the NP-hardness. Maybe someone can help ...&lt;/p&gt;&#xA;&#xA;&lt;hr /&gt;&#xA;&#xA;&lt;p&gt;For Markov decision processes, which feature non-deterministic choices in addition to the probabilistic choices of DTMCs, the same problem has been proven to be NP-complete, see&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Chadha, Viswanathan - &lt;i&gt;A counterexample-guided abstraction-refinement framework for Markov decision processes&lt;/i&gt;, ACM Trans. Comput. Log. 12(1), 2010&#xA;&lt;a href=&quot;http://dl.acm.org/citation.cfm?doid=1838552.1838553&quot; rel=&quot;nofollow&quot;&gt;http://dl.acm.org/citation.cfm?doid=1838552.1838553&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The same holds also for DTMCs and PCTL properties, if &lt;i&gt;nested&lt;/i&gt; formulae are allowed. However, for pure reachability I was not able to find a proof for NP-hardness.&lt;/p&gt;&#xA;" OwnerUserId="10558" LastEditorUserId="10558" LastEditDate="2012-09-01T09:04:00.240" LastActivityDate="2012-09-01T09:04:00.240" Title="Complexity of DTMC subsystems" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;&lt;markov-chains&gt;" AnswerCount="0" CommentCount="6" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12461" PostTypeId="1" CreationDate="2012-08-31T16:11:47.853" Score="-2" ViewCount="292" Body="&lt;p&gt;I have read the proof of lower bound of Sorting Algorithm that use comparison to know input is NlogN. In this paper, the author use decision tree for this proof. Everything on this proof I have understand well ( height of decision tree, the inequality is used...) but one thing :&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;lower bound on height equivalent to  lower bound on sorting.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I have thought so much, but I still cannot understand why. In sorting algorithm, in &quot;normal sense&quot;, I feel that there are many ways for sorting (although just use comparison), and I don't see connection between decision tree(to compare n items) to the sorting problem. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Anyone here please give me an idea for this statement.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks :)&lt;/p&gt;&#xA;" OwnerUserId="10401" LastEditorUserId="186" LastEditDate="2012-08-31T17:59:41.990" LastActivityDate="2012-08-31T17:59:41.990" Title="Sorting : proof for lower bound of Sorting" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;sorting&gt;&lt;decision-trees&gt;" AnswerCount="1" CommentCount="6" ClosedDate="2012-08-31T21:59:32.413" ContentLicense="CC BY-SA 3.0" />
  <row Id="12462" PostTypeId="2" ParentId="12461" CreationDate="2012-08-31T16:23:10.490" Score="2" Body="&lt;p&gt;Any comparison-based algorithm corresponds to a decision tree. To construct the decision tree, just follow the workings of the algorithm. Each time the algorithm makes a comparison, consider both outcomes. Since the algorithm only has access to the array to be sorted via these comparisons, you don't have to keep any kind of array in mind. Finally, when the algorithm is done, it knows the correct order of the elements in the array. That's exactly the decision tree model.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Each root-to-leaf path in the decision tree corresponds to one possible computation path of the algorithm. The height of the tree is thus the length of the longest computation path, which is a lower bound on the worst-case running time of the algorithm.&lt;/p&gt;&#xA;" OwnerUserId="40" LastActivityDate="2012-08-31T16:23:10.490" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12463" PostTypeId="2" ParentId="12458" CreationDate="2012-08-31T16:28:47.173" Score="3" Body="&lt;p&gt;The algorithm you describe that runs in space $O(n_1 + n_2)$ actually recovers the final edit, and the state just before the final edit. So if you run this algorithm $O(n_1 + n_2)$ times, you can recover the entire edit sequence, at the expense of increasing the runtime. In general, there is a time-space trade-off which is controlled by the number of rows you retain at the time. The two extreme points of this trade-off are space $O(n_1n_2)$ and space $O(n_1+n_2)$, and between these, the product of time and space is constant (up to big O).&lt;/p&gt;&#xA;" OwnerUserId="40" LastActivityDate="2012-08-31T16:28:47.173" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12464" PostTypeId="2" ParentId="12459" CreationDate="2012-08-31T16:54:43.770" Score="9" Body="&lt;p&gt;Take any non-trivial algorithm with bounded runtime, e.g. &lt;a href=&quot;http://en.wikipedia.org/wiki/AKS_primality_test&quot;&gt;AKS primality testing algorithm&lt;/a&gt; (I don't think anyone would refer to AKS as &quot;trivial&quot;). It is not Turing-complete, in fact, no  algorithm with computably bounded runtime can be Turing-complete. &#xA;(This means that no algorithm which always terminates can be Turing-complete since the run-time of any such algorithm would be computable.)&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2012-08-31T18:02:07.790" LastActivityDate="2012-08-31T18:02:07.790" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12465" PostTypeId="1" CreationDate="2012-08-31T18:47:27.050" Score="6" ViewCount="158" Body="&lt;p&gt;Does anyone know if the &lt;a href=&quot;http://vsr.sourceforge.net/&quot; rel=&quot;nofollow&quot;&gt;verified software repository&lt;/a&gt; is still &lt;em&gt;alive&lt;/em&gt;?  Bar that, are there other repositories out there of verified (or just certified) software?  The &lt;a href=&quot;http://afp.sourceforge.net/&quot; rel=&quot;nofollow&quot;&gt;archive of formal proofs&lt;/a&gt; is nice, but not quite 'right'.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finding singular examples of verified software is possible (with seL4 and CompCert being obvious examples), but finding whole groups of them is hard.  I would have expected to be able to find whole repositories of certified software components by now, but I have been unable to do so.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[While not TCS per se, the amount of underlying TCS issues involved in software verification/certification is enormous, so hopefully this will be considered to be on topic]&lt;/p&gt;&#xA;" OwnerUserId="66" LastEditorUserId="-1" LastEditDate="2012-10-08T04:13:06.360" LastActivityDate="2012-10-08T04:13:06.360" Title="Verified Software Repository" Tags="&lt;program-verification&gt;&lt;se.software-engineering&gt;" AnswerCount="0" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="12466" PostTypeId="2" ParentId="12459" CreationDate="2012-08-31T20:03:56.760" Score="17" Body="&lt;p&gt;&lt;strong&gt;Not even no.&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Algorithms are not the right class of objects to be Turing-complete; asking whether an algorithm is Turing-complete is like asking whether a cat is prime.  Objects that &lt;em&gt;can&lt;/em&gt; be Turing-complete are usually called &lt;em&gt;models of computation&lt;/em&gt;.&lt;/p&gt;&#xA;" OwnerUserId="111" LastActivityDate="2012-08-31T20:03:56.760" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12467" PostTypeId="1" CreationDate="2012-08-31T21:20:35.293" Score="11" ViewCount="225" Body="&lt;p&gt;A &lt;strong&gt;$k$-coloring of an $m \times n$ grid&lt;/strong&gt; is a function $C:[m] \times [n] \to [k]$. A &lt;strong&gt;broken rectangle&lt;/strong&gt; in $C$ is a tuple $(i,i',j,j')$ satisfying $C(i,j) = C(i',j) = C(i,j') \ne C(i',j')$ -- that is, exactly three corners of the rectangle are the same color.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm interested in the following question:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;As a function of $k$, how many $k$-colorings exist (for grids of any size) that avoid duplicate rows, duplicate columns, and broken rectangles?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;So far I know that the answer is finite, and the best upper bound I can prove is $k^{(1.5 k!)^2}$ (see below).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'll also just point out that this is a different question than the one talked about by Gasarch frequently on his blog (and in &lt;a href=&quot;http://www.cs.umd.edu/~gasarch/papers/grid.pdf&quot;&gt;this paper&lt;/a&gt;). He wants to avoid all monochromatic rectangles, whereas I don't mind monochromatic rectangles, it's just the &quot;broken&quot; ones that I want to avoid.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;What is the motivation?&lt;/strong&gt; In cryptography, we consider the problem of Alice (who has $x$) and Bob (who has $y$) both learning $f(x,y)$ for an agreed-upon function $f$, in such a way that they learn no more than $f(x,y)$. You can associate $f$ naturally with a 2-dimensional table, hence, a grid coloring. There are characterizations for this kind of problem of the following form (but with different notation): &quot;$f$ has some cryptographically interesting property if and only if $f$ contains a broken rectangle.&quot; For examples, see &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=103475&quot;&gt;Kilian91&lt;/a&gt; and &lt;a href=&quot;http://www.springerlink.com/content/drabtvm7wp8kljna/&quot;&gt;BeimelMalkinMicali99&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So this problem has come up in some setting of cryptography that I was investigating. For my purposes, it was enough to know that there are a finite number of grid colorings that avoid broken rectangles and duplicate rows/columns. But I thought the combinatorial problem itself is interesting and I believe better bounds should be possible.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;The best bound I can prove:&lt;/strong&gt; Define $R(2)=3$ and $R(k) = k \cdot R(k-1)$; hence $R(k) = 1.5 k!$. First, one can prove that if $C$ is a $k$ coloring with at least $R(k)$ rows, then it either has a duplicate row or a broken rectangle. Symmetrically, one can show the same thing with respect to columns. (The proof is pretty basic, following from the pigeonhole principle on the # of colors.) From this, we know that the colorings we care about all have dimensions smaller than $R(k) \times R(k)$, and we can get a very loose upper bound of $k^{R(k)^2}$ such colorings.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think this can be improved in two ways: &lt;strong&gt;First,&lt;/strong&gt; I think the optimal value of $R(k)$ is $2^{k-1}+1$. Below is a (recursively defined) family of colorings, where $C_k$ is a $k$-coloring of size $2^{k-1} \times 2^{k-1}$ that avoids these forbidden features:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$&#xA;     \qquad&#xA;     C_1 = [1];&#xA;        \qquad&#xA;     C_k = \left[ \begin{array}{ccc|ccc}&#xA;                k &amp;amp; \cdots &amp;amp; k &amp;amp; \\&#xA;                \vdots &amp;amp; \ddots &amp;amp; \vdots &amp;amp;  &amp;amp; C_{k-1} \\&#xA;                k &amp;amp; \cdots &amp;amp; k &amp;amp; \\&#xA;                    \hline&#xA;                 &amp;amp; &amp;amp; &amp;amp; k &amp;amp; \cdots &amp;amp; k \\&#xA;                 &amp;amp; C_{k-1} &amp;amp; &amp;amp; \vdots &amp;amp; \ddots &amp;amp; \vdots \\&#xA;                 &amp;amp; &amp;amp; &amp;amp; k &amp;amp; \cdots &amp;amp; k&#xA;            \end{array} \right].&#xA;$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I believe these to be the largest $k$-colorings that avoid these forbidden structures.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Second&lt;/strong&gt;, even if one could improve the bound on $R(k)$ described above, we still have the fact that $k^{R(k)^2}$ is a very coarse bound for the total number of colorings. This counts all possible $R(k) \times R(k)$ grid colorings, of which a large portion presumably have the forbidden features.&lt;/p&gt;&#xA;" OwnerUserId="149" LastActivityDate="2013-06-14T21:31:14.867" Title="Counting grid colorings that avoid certain features" Tags="&lt;co.combinatorics&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12468" PostTypeId="2" ParentId="392" CreationDate="2012-09-01T01:16:21.050" Score="6" Body="&lt;p&gt;Most answers have already addressed the main reason to care about the integrality gap, namely, that an approximation algorithm based solely on using the bound provided by the relaxation cannot hope to prove a ratio better than the integrality gap. Let me give two other meta reasons why the integrality gap is a useful guide. For a large class of combinatorial optimization problems the equivalence of separation and optimization shows that exact algorithms are intimately related to the convex hull of the feasible solutions for the problem. Thus the geometric and algorithmic perspective are very closely tied together. A similar formal equivalence is not known for approximation algorithms but it is a useful guide - algorithms go hand in hand with geometric relaxations. Algorithmic innovation happens when people have a concrete target to improve. Integrality gap is one such target and attempts to find better gaps has resulted in improved relaxations for various problems which in turn led to improved approximation algorithms for those problems. &lt;/p&gt;&#xA;" OwnerUserId="176" LastActivityDate="2012-09-01T01:16:21.050" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12470" PostTypeId="2" ParentId="12458" CreationDate="2012-09-01T15:08:08.063" Score="15" Body="&lt;p&gt;There is no need for the tradeoff that Yuval suggests.  The entire optimal editing sequence can be computed in $O(nm)$ time and $O(n+m)$ space, using a mixture of dynamic programming and divide-and-conquer first described by Dan Hirschberg.  (&lt;a href=&quot;http://dl.acm.org/citation.cfm?id=360861&quot; rel=&quot;noreferrer&quot;&gt;A linear space algorithm for computing maximal common subsequences.&lt;/a&gt;  &lt;em&gt;Commun. ACM&lt;/em&gt; 18(6):341–343, 1975.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Intuitively, Hirschberg's idea is to compute a single editing operation halfway through the optimal edit sequence, and then recursively compute the two halves of the sequence.  If we think of the optimal edit sequence as a path from one corner of the memoization table to the other, we need a modified recurrence to record where this path crosses the middle row of the table.  One recurrence that works is the following:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;Half(i,j) = \begin{cases}&#xA;   \infty &amp;amp; \text{if $i&amp;lt;m/2$}\\&#xA;   j &amp;amp; \text{if $i=m/2$}\\&#xA;   Half(i-1,j) &amp;amp; \text{if $i&amp;gt;m/2$ and $Edit(i,j) = Edit(i-1,j)+1$}\\&#xA;   Half(i,j-1) &amp;amp; \text{if $i&amp;gt;m/2$ and $Edit(i,j) = Edit(i,j-1)+1$}\\&#xA;   Half(i-1,j-1) &amp;amp; \text{otherwise}&#xA;\end{cases}&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The values of $Half(i,j)$ can be computed at the same time as the edit distance table $Edit(i,j)$, using $O(mn)$ time.  Since each row of the memoization table depends only on the row above it, computing both $Edit(m,n)$ and $Half(m,n)$ requires only $O(m+n)$ space.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/5Pjr7.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, the optimal editing sequence transforming the input strings $A[1..m]$ into $B[1..n]$ consists of the optimal sequences transforming $A[1 .. m/2]$ into $B[1 .. Half(m, n)]$ followed by the optimal sequence transforming $A[m/2 + 1 .. m]$ into $B[Half(m, n) + 1 .. n]$.  If we compute those two subsequences recursively, the overall running time obeys the following recurrence:&#xA;$$&#xA;T(m,n) = \begin{cases}&#xA;  O(n) &amp;amp; \text{if $m\le 1$}\\&#xA;  O(m) &amp;amp; \text{if $n\le 1$}\\&#xA;  O(mn) + \max_h \left( T(m/2,h) + T (m/2, n−h)\right)  &amp;amp; \text{otherwise}&#xA;\end{cases}&#xA;$$&#xA;It's not hard to prove that $T(m,n) = O(mn)$.  Similarly, since we only require space for one dynamic-programming pass at a time, the total space bound is still $O(m+n)$.  (The space for the recursion stack is negligible.)&lt;/p&gt;&#xA;" OwnerUserId="111" LastActivityDate="2012-09-01T15:08:08.063" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="12471" PostTypeId="1" CreationDate="2012-09-01T20:10:48.383" Score="12" ViewCount="2432" Body="&lt;p&gt;I am looking for a bound on the entropy &lt;span class=&quot;math-container&quot;&gt;$H(X+Y)$&lt;/span&gt; of the sum of two independent discrete random variables &lt;span class=&quot;math-container&quot;&gt;$X$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$Y$&lt;/span&gt;. Naturally, &lt;span class=&quot;math-container&quot;&gt;$$H(X+Y) \leq H(X) + H(Y) ~~~~~~(*)$$&lt;/span&gt; However, applied to the sum of &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt; independent Bernoulli random variables &lt;span class=&quot;math-container&quot;&gt;$Z_1, \ldots, Z_n$&lt;/span&gt;, this gives&#xA;&lt;span class=&quot;math-container&quot;&gt;$$ H(Z_1 + Z_2 + \cdots + Z_n) \leq n H(Z_1)  $$&lt;/span&gt; In other words, the bound grows linearly with &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt; when applied repeatedly. However, &lt;span class=&quot;math-container&quot;&gt;$Z_1 + \cdots Z_n$&lt;/span&gt; is supported on a set of size &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt;, so its entropy is at most &lt;span class=&quot;math-container&quot;&gt;$\log n$&lt;/span&gt;. In fact, by the central limit theorem, I'm guessing that &lt;span class=&quot;math-container&quot;&gt;$H(Z_1 + \cdots + Z_n) \approx (1/2) \log n$&lt;/span&gt; since it is essentially supported on a set of size &lt;span class=&quot;math-container&quot;&gt;$\sqrt{n}$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;p&gt;In short, the bound &lt;span class=&quot;math-container&quot;&gt;$(*)$&lt;/span&gt; overshoots by quite a bit in this situation. From perusing &lt;a href=&quot;http://terrytao.wordpress.com/2009/06/25/sumset-and-inverse-sumset-theorems-for-shannon-entropy/&quot; rel=&quot;noreferrer&quot;&gt;this blog post&lt;/a&gt;, I gather all sorts of bounds on &lt;span class=&quot;math-container&quot;&gt;$H(X+Y)$&lt;/span&gt; are possible; is there a bound that gives the right asymptotics (or, at least, more reasonable asymptotics) when applied repeatedly to the sum of Bernoulli random variables?&lt;/p&gt;&#xA;" OwnerUserId="5773" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2013-05-16T10:15:59.747" Title="On the entropy of a sum" Tags="&lt;it.information-theory&gt;&lt;shannon-entropy&gt;" AnswerCount="3" CommentCount="8" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="12472" PostTypeId="1" CreationDate="2012-09-01T20:51:01.907" Score="3" ViewCount="40" Body="&lt;p&gt;&lt;strong&gt;Given&lt;/strong&gt;: A degree sequence.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Wanted&lt;/strong&gt;: A graph and a polyhedral embedding of this graph (described by a rotation system or something equivalent). By polyhedral embedding I mean only the combinatorial concept. See &lt;a href=&quot;http://en.wikipedia.org/wiki/Rotation_system&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a fast way to do this? I tried a backtracking approach, adding edges one at a time, but it is too slow. It becomes intractable for a 3-regular graph of 30 vertices.&lt;/p&gt;&#xA;" OwnerUserId="5982" LastActivityDate="2012-09-01T20:51:01.907" Title="Polyhedral embedding from graph degree sequence" Tags="&lt;ds.algorithms&gt;&lt;co.combinatorics&gt;&lt;topological-graph-theory&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12473" PostTypeId="1" AcceptedAnswerId="12503" CreationDate="2012-09-02T01:16:08.303" Score="0" ViewCount="495" Body="&lt;p&gt;Can this statement be confirmed or disproved:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;$\mathsf{DTime}(O(n^k)) \subseteq \mathsf{NTime}(g)$ for some $g \in o(n^k)$&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;[Question changed to use &lt;a href=&quot;https://cstheory.stackexchange.com/a/12503/10576&quot;&gt;Kaveh's brilliant formulation&lt;/a&gt;.]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here the NDTM must &quot;outrun&quot; the DTM.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This seems similar to the PvNP question, but I'm not sure...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT: This question seeks an inequality between the run time of polytime DTM deciders and their corresponding NP verifiers. If k=1, the proposition fails (e.g.: determining &lt;a href=&quot;http://en.wikipedia.org/wiki/Parity_function&quot; rel=&quot;nofollow noreferrer&quot;&gt;parity&lt;/a&gt; requires n steps on a TM and therefore a verifier cannot take any shortcuts). But if k&gt;=2 ...?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I wonder if the statement can be disproved without leading to any major or unexpected complexity class separations... Is there a diagonalization argument that could work here.&lt;/p&gt;&#xA;" OwnerUserId="10576" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2012-09-18T03:15:56.210" Title="$\mathsf{DTime}(O(n^k)) \subseteq \mathsf{NTime}(g)$ for some $g \in o(n^k)$?" Tags="&lt;cc.complexity-theory&gt;&lt;time-complexity&gt;&lt;np&gt;" AnswerCount="1" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="12475" PostTypeId="1" AcceptedAnswerId="14911" CreationDate="2012-09-02T15:31:04.600" Score="9" ViewCount="535" Body="&lt;p&gt;Let $G = ( V, E )$ be a graph. Let $k \leq |V|$ be an integer. Let $O_k$ be the number of edge induced subgraphs of $G$ having $k$ vertices and an odd number of edges. Let $E_k$ be the number of edge induced subgraphs of $G$ having $k$ vertices and an even number of edges. Let $\Delta_k = O_k - E_k$. The ODD EVEN DELTA problem consists in computing $\Delta_k$, given $G$ and $k$.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Questions&lt;/strong&gt;  &lt;/p&gt;&#xA;  &#xA;  &lt;ol&gt;&#xA;  &lt;li&gt;Is it possible to compute $\Delta_k$ in polynomial time? Which is the best known algorithm to compute it?&lt;/li&gt;&#xA;  &lt;li&gt;What if $G$ is 3-regular?&lt;/li&gt;&#xA;  &lt;li&gt;What if $G$ is 3-regular bipartite?&lt;/li&gt;&#xA;  &lt;li&gt;What if $G$ is 3-regular bipartite planar?&lt;/li&gt;&#xA;  &lt;/ol&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="947" LastEditorUserId="947" LastEditDate="2013-01-01T09:11:31.217" LastActivityDate="2013-01-10T15:37:33.713" Title="The ODD EVEN DELTA problem" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;counting-complexity&gt;" AnswerCount="2" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12476" PostTypeId="2" ParentId="12475" CreationDate="2012-09-02T17:15:16.160" Score="7" Body="&lt;h3&gt;UPDATE:&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;I should have pointed out that the answer below is about the special case of $k = |V|$.  Since this case is hard, the problem for general $k$ is also hard.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The Holant framework is essentially an exponential sum over spanning subgraphs (i.e. all vertices are present in the subgraph, so the sum is over the subsets of edges).  In contrast, the current version of the question is about edge induced subgraphs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An earlier version of this question concerned counting certain subgraphs with no isolated vertices.  The answer below correctly addresses this requirement.  When considering both spanning subgraphs (i.e. the Holant framework) and no isolated vertices, this is the same as considering edge induced subgraphs with $|V|$ vertices.  The OP basically pointed this out in &lt;a href=&quot;https://cstheory.stackexchange.com/questions/15012/how-hard-is-to-compute-delta-v&quot;&gt;this question&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;3-Regular Planar Graphs&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;For the moment, I will ignore your requirement that the graph $G$ is bipartite.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose that $G$ is a 3-regular planar graph.  Your problem can be expressed as the bipartite planar Holant problem&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\text{Pl-Holant}([1,0,-1]|[0,1,1,1]).$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let me explain how.  For more detail than I provide below, see &lt;a href=&quot;http://arxiv.org/abs/1204.6445&quot; rel=&quot;nofollow noreferrer&quot;&gt;this paper&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The Holant is a sum over (Boolean) assignments to edges. On the vertices are constraints who's inputs are the assignments to their incident edges.  For each assignment to the edges, we take the product of all the vertex constraints.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Your requirement that there be no isolated vertices is the constraint that is not satisfied at a particular vertex if none of its incident edges is selected and is satisfied if at least one edge is a selected.  This &lt;a href=&quot;http://en.wikipedia.org/wiki/Symmetric_function&quot; rel=&quot;nofollow noreferrer&quot;&gt;symmetric&lt;/a&gt; constraint is denoted by [0,1,1,1], which outputs 0 (i.e. unsatisfied) when the number of input 1's is 0 (i.e. no incident edges in the subgraph) and outputs 1 (i.e. satisfied) when the number of input 1's is 1, 2, or 3 (i.e. 1, 2, or 3 incident edges in the subgraph).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Your other requirement is to compute the number of subgraphs with an even number of edges minus the subgraphs with an odd number of edges.  For our graph $G$, we replace each edge by a path of length 2 (which is also called the 2-stretch of $G$).  This gives a (2,3)-regular bipartite graph.  To all of the original vertices, we assign the constraint [0,1,1,1] from above.  To all of the new vertices, we assign the constraint [1,0,-1].  Since the middle entry of this constraint is 0, this forces the incident edges of these degree 2 vertices to either both be assigned 0 (i.e. not in the subgraph) or both be assigned 1 (i.e. in the subgraph).  Now for a particular assignment to the edges, if the number $n$ of &quot;original&quot; edges is even, then the contribution from all the degree 2 vertices is $(-1)^n = 1$. Otherwise, $n$ is odd and the contribution is $(-1)^n = -1$.  This is exactly what you want.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This bipartite Holant problem is #P-hard by Theorem 6.1 in &lt;a href=&quot;http://arxiv.org/abs/1008.0683&quot; rel=&quot;nofollow noreferrer&quot;&gt;this paper&lt;/a&gt;.  However, that theorem is not the easiest to apply. Instead, consider the following.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We do a holographic transformation by $T = \begin{bmatrix} -1 &amp;amp; 1 \\ 0 &amp;amp; 1 \end{bmatrix},$ which does not change the value of the Holant.  Thus, the above problem is exactly the same as&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;\begin{align*}&#xA; \text{Pl-Holant}([1,0,-1]|[0,1,1,1])&#xA; &amp;amp;= \text{Pl-Holant}([1,0,-1] T^{\otimes 2}|(T^{-1})^{\otimes 3}[0,1,1,1])\\&#xA; &amp;amp;= \text{Pl-Holant}([1,-1,0]|[1,0,0,1]).&#xA;\end{align*}&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then it is easy to see that this problem is #P-hard by Theorem 1.1 in &lt;a href=&quot;http://arxiv.org/abs/1001.0464&quot; rel=&quot;nofollow noreferrer&quot;&gt;this paper&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Restricting to Bipartite Graphs&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;Just like &lt;a href=&quot;https://cstheory.stackexchange.com/questions/12441/number-of-subgraphs-with-a-given-number-of-nodes&quot;&gt;your previous question&lt;/a&gt;, the same problem restricted to bipartite graphs is much harder to handle and I believe it is still an open problem.  We have a conjecture as to the tractable cases (and I will check to see if your problem is one of them), but I think your problem is still #P-hard even when restricted to bipartite graphs.&lt;/p&gt;&#xA;" OwnerUserId="3964" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2013-01-10T15:37:33.713" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12477" PostTypeId="1" AcceptedAnswerId="12486" CreationDate="2012-09-02T19:22:13.363" Score="2" ViewCount="1530" Body="&lt;p&gt;The five basic operator select, project, cross, union and diff in relational algebra are independent of each other. I'm trying to formally prove this statement but can only progress for cross product as it would have columns greater than the rest which cannot be made possible by others. But can't think of anything for Select etc.&lt;/p&gt;&#xA;" OwnerUserId="4396" LastEditorUserId="40" LastEditDate="2012-09-03T05:03:42.650" LastActivityDate="2012-09-03T05:13:53.507" Title="How to go about proving the basic operators in relational algebra are independent of each other?" Tags="&lt;db.databases&gt;&lt;algebra&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12478" PostTypeId="2" ParentId="427" CreationDate="2012-09-02T20:05:49.360" Score="3" Body="&lt;p&gt;recently there was a question about using GAs to evolve wind turbine blade designs using fluid dynamics simulations of physical power generated as the fitness function.[1]&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;This video shows the use of a genetic algorithm to develop VAWT wind turbine blades. One of the resulting blades is quite different and seems to simulate well. The breeding software was written in Perl, the display software Java, and the CFD software was OpenFoam. &#xA;  More than 672 CPU hours went into the making of this video.&#xA;  Note: I have since discovered I used the wrong viscosity for air on this experiment, so the results aren't valid for use on the earth. (Maybe Jupiter.)&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;[1] &lt;a href=&quot;http://www.youtube.com/watch?v=YZUNRmwoijw&quot; rel=&quot;nofollow noreferrer&quot;&gt;&quot;Evolving wind turbine blades&quot;&lt;/a&gt; on youtube by &quot;sjh7132&quot;. cited by/from the TCS.se question: &lt;a href=&quot;https://cstheory.stackexchange.com/questions/12416/to-what-extent-is-it-possible-to-use-genetic-algorithms-to-make-wind-mill-turbin&quot;&gt;To what extent is it possible to use genetic algorithms to make wind mill turbine blades more efficient?&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2012-09-02T20:05:49.360" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12479" PostTypeId="2" ParentId="427" CreationDate="2012-09-02T20:20:48.167" Score="1" Body="&lt;p&gt;a remarkable, even extraordinary or paradigm shifting use of GAs, highly cited in later surveys, was pioneered by Koza to solve a video game &quot;problem&quot;— namely Pac Man for a proof of principle, but the concept can likely be applied to possibly almost any video game, and the results are definitely far from trivial or &quot;toy&quot;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;that is, he evolved algorithms that implement actual &lt;em&gt;behavior&lt;/em&gt; to win at playing the game for extended periods of time. results are on the level of performance of amateur or even &lt;em&gt;advanced&lt;/em&gt; human players. a fitness function can be either points scored by the algorithm or length of time played (the later will presumably evolve algorithms that survive without scoring points, such as a classic case of &quot;hunting&quot; spaceships in the game Asteroids). the behavior is implemented with &quot;primitives&quot; (eg sense monsters/act by turning etc) and trees that represent the combinations of primitive strategies.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] &lt;a href=&quot;http://algoval.essex.ac.uk/rep/games/UKCIDiversePacMan.pdf&quot; rel=&quot;nofollow&quot;&gt;Evolving Diverse Ms. Pac-Man Playing&#xA;Agents Using Genetic Programming&lt;/a&gt; by Atif M. Alhejali and Simon M. Lucas&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] &lt;a href=&quot;http://www.itu.dk/~edge/CEC2003-1432.pdf&quot; rel=&quot;nofollow&quot;&gt;Learning to Play Pac-Man: An Evolutionary, Rule-based Approach&lt;/a&gt; by Gallagher and Ryan&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[3] &lt;a href=&quot;http://www.jair.org/media/2368/live-2368-3623-jair.pdf&quot; rel=&quot;nofollow&quot;&gt;Learning to Play Using Low-Complexity Rule-Based Policies: Illustrations through Ms. Pac-Man&lt;/a&gt; by István Szita&#xA;András L~orincz&lt;/p&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="7884" LastEditDate="2012-09-02T21:55:27.543" LastActivityDate="2012-09-02T21:55:27.543" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="12481" PostTypeId="2" ParentId="427" CreationDate="2012-09-02T21:06:43.020" Score="3" Body="&lt;p&gt;there is some research into using GAs for wine classification. it accurately classifies the variety of wine and the production place (&quot;origin denomination&quot;).[1] this is a subset of use of GAs in Agricultural Systems of which there are many applications. [2]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] &lt;a href=&quot;http://www.captura.uchile.cl/jspui/bitstream/2250/2139/1/Beltran_NH.pdf&quot; rel=&quot;nofollow&quot;&gt;Feature selection algorithms using Chilean wine chromatograms as examples&lt;/a&gt; by N.H.Beltran et al&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] &lt;a href=&quot;http://www.captura.uchile.cl/jspui/bitstream/2250/2139/1/Beltran_NH.pdf&quot; rel=&quot;nofollow&quot;&gt;State of Art in Genetic Algorithms for Agricultural Systems&lt;/a&gt; by Bolboaca et al&lt;/p&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2012-09-02T21:06:43.020" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12482" PostTypeId="2" ParentId="427" CreationDate="2012-09-02T21:38:16.973" Score="1" Body="&lt;p&gt;there are many papers on use of GAs for flight control in the aerospace field. many of these are published or searchable by &lt;a href=&quot;http://ieeexplore.ieee.org/&quot; rel=&quot;nofollow&quot;&gt;IEEE explorer&lt;/a&gt;. the fitness function generally measures how well/effectively the algorithm controls the flight.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S1270963804001117&quot; rel=&quot;nofollow&quot;&gt;Flight control system design and optimisation with a genetic algorithm&lt;/a&gt; by Fantinutto et al&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] Application of genetic algorithms to hypersonic flight control. Austin, Jacobs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[3] &#xA;Multi-core implementation of F-16 flight surface control system using Genetic Algorithm based adaptive control algorithm, Xiaoru Wang&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[4] &#xA;Fuzzy logic control based on genetic algorithm to integrated flight control for hypersonic vehicles. by Wang Jian &lt;/p&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2012-09-02T21:38:16.973" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12483" PostTypeId="2" ParentId="427" CreationDate="2012-09-02T22:28:49.440" Score="4" Body="&lt;p&gt;Antenna design has already been mentioned, and it is an extremely rich domain.  (It is, very directly, what started my motion from electrical engineering to computer science (in the late 90's) and more specifically to bio-inspired computation and artificial intelligence (in the last five years or so.))&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the same vein, I'll add antenna &lt;em&gt;array&lt;/em&gt; optimization, especially for phased array optimization, which is all of the headaches of antenna design, and more.  There are opportunities in the entire field of electromagnetic device design, really:  Antennas, antenna arrays, microwave filters, optical gratings, metamaterial device design, all off the top of my head.  A dated survey is &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0471295450&quot; rel=&quot;nofollow&quot;&gt;Electromagnetic Optimization by Genetic Algorithms&lt;/a&gt;, and a more recent survey is &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0471488895&quot; rel=&quot;nofollow&quot;&gt;Genetic Algorithms in Electromagnetics&lt;/a&gt;.  (I should really buy that second one.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I've seen a lot of good papers on non-electromagnetic circuit design as well:  GAs coming up with competitive op-amp or other integrated circuit designs, GAs &quot;learning&quot; to take advantage of the analog imperfections in FPGAs to implement analog functions like clocks, etc.  Even something as simple as dumb, discrete element filter design can be a target for GAs:  I've seen one that factors in q-factors, tolerances, discrete values and soldering parasitic models to get good, manufacturable filters from the parts you have at hand.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;These often involve some novel (to me, anyway) circuit representations to get the genetic operators to fit the paradigm, as well as variable size chromosomes. &lt;/p&gt;&#xA;" OwnerUserId="9819" LastActivityDate="2012-09-02T22:28:49.440" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12484" PostTypeId="2" ParentId="11691" CreationDate="2012-09-02T22:56:56.457" Score="1" Body="&lt;p&gt;Definition 1: Let $x_n := 2 + \sum_{i=0}^n [1/2^i \mbox{ if $i$ encodes a proof that $\bf{ZF}$ is inconsistent, and 0 otherwise}]$. Clearly, we can build a Turing machine which, given $n$, will compute $x_n$. Also the $x_n$ converge to $x := 2 + \sum_{i=0}^\infty [1/2^i \mbox{ if $i$ encodes a proof that $\bf{ZF}$ is inconsistent, and 0 otherwise}]$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So $x$ is a gnostic real, which is equal to 2 if and only if $\bf{ZF}$ is consistent.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Definition 2: For any gnostic real $x &amp;gt; 1$, let $M'_x$ be a Turing machine which takes an index $n$ of a Turing machine $N$ and an input $s$, simulates $N$ on $s$ for $|s|^x/\log(|s|)$ steps (this function is time-constructible, because $x$ is gnostic), and inverts the result. By the Recursion Theorem, we may choose $M_x$ to be $M'_x$ with a fixed index of $M_x$ as its first input. Then a standard argument (the Time Hierarchy Theorem) shows that $M_x$ has runtime $\mathcal O(|s|^y)$ precisely when $y\ge x$, and that $M_x$ is efficient for its language.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Therefore, for $x$ as in Definition 1, $M_x$ will run in time $\mathcal O(|s|^2)$ precisely if $x = 2$, ie if $\bf{ZF}$ is consistent; moreover this fact will itself be provable in $\bf ZF$. So [if $\bf ZF$ is consistent], $M_x$ is a [strongly and canonically] cryptic machine, and this fact will be provable in $\bf ZF + Con(\bf ZF)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, $\bf ZF + \not Con(\bf ZF)$ proves that all languages in $\bf P$ are gnostic, since it proves that $\bf ZF$ proves that every language has runtime $\mathcal O(|s|^z)$ for every $z$. So it is undecidable in $\bf ZF$ whether any cryptic language exists.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To answer your second and third questions, the definition I gave above for $M_x$ is quite concrete; I don't think a full Turing machine description would be very illuminating. I suppose I could give a pseudo-code description of the program, though.&lt;/p&gt;&#xA;" OwnerUserId="9049" LastActivityDate="2012-09-02T22:56:56.457" CommentCount="1" CommunityOwnedDate="2012-09-02T22:56:56.457" ContentLicense="CC BY-SA 3.0" />
  <row Id="12485" PostTypeId="2" ParentId="6392" CreationDate="2012-09-03T05:07:02.397" Score="1" Body="&lt;p&gt;My favorite example (due to Grzegorczyk):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Define $\mathcal G_2$ to be the closure of the following natural-number functions under composition and polynomial-bounded primitive recursion: $x + y, x y,$ projection (sending $(x, y)$ to $x$ or $y$), &quot;cutoff-subtraction&quot; $x \dot- y$ (it will return 0 if $y &amp;gt; x$), and the constant functions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is clear that any function in $\mathcal G_2$ is computable in pseudo-polynomial time; but it can be shown that a natural-number function is in $\mathcal G_2$ precisely if it is computable in deterministic linear space, viewing the inputs as binary strings. So evaluating an arbitrary expression of this form will be PSPACE-complete, but still pseudo-polynomial.&lt;/p&gt;&#xA;" OwnerUserId="9049" LastActivityDate="2012-09-03T05:07:02.397" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12486" PostTypeId="2" ParentId="12477" CreationDate="2012-09-03T05:13:53.507" Score="6" Body="&lt;p&gt;Here are some hints:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Select: consider the relation $\{(1),(2)\}$.&lt;/li&gt;&#xA;&lt;li&gt;Project: number of columns can't decrease.&lt;/li&gt;&#xA;&lt;li&gt;Cross product: number of columns can't increase.&lt;/li&gt;&#xA;&lt;li&gt;Union: consider the database $\{(1)\},\{(2)\}$ with identical attributes.&lt;/li&gt;&#xA;&lt;li&gt;Difference: similar to union.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="40" LastActivityDate="2012-09-03T05:13:53.507" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="12489" PostTypeId="2" ParentId="8335" CreationDate="2012-09-03T15:41:08.937" Score="2" Body="&lt;p&gt;While it is not a typical core-TCS journal, it seems that &lt;a href=&quot;http://tods.acm.org/&quot; rel=&quot;nofollow&quot;&gt;&lt;strong&gt;ACM Transactions on Database Systems&lt;/strong&gt;&lt;/a&gt; sets a very good example:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;they &lt;a href=&quot;http://tods.acm.org/Statistics.html&quot; rel=&quot;nofollow&quot;&gt;publish statistics on average and maximum reviewing times for each month&lt;/a&gt;,&lt;/li&gt;&#xA;&lt;li&gt;their statistics indicate that reviewing times are consistently reasonably short.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="74" LastActivityDate="2012-09-03T15:41:08.937" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12490" PostTypeId="1" CreationDate="2012-09-03T15:59:35.830" Score="17" ViewCount="596" Body="&lt;p&gt;Planar graphs have genus zero. Graphs embeddable on a torus have genus at most 1. My question is simple :&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Are there any problems that are polynomially solvable on planar graphs but NP-hard on graphs of genus one ?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;More generally are there any problems that are polynomially solvable on graphs of genus g but NP-hard on graphs of genus &gt; g ?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="344" LastEditorUserId="186" LastEditDate="2012-09-05T18:30:13.123" LastActivityDate="2013-07-26T12:59:30.570" Title="Hard Problems for higher genus graphs" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;planar-graphs&gt;" AnswerCount="4" CommentCount="2" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="12491" PostTypeId="2" ParentId="12450" CreationDate="2012-09-03T16:38:18.247" Score="7" Body="&lt;p&gt;It is possible to restrict the QMA verifier to single-qubit measurements and classical pre- and postprocessing (with randomness) while keeping QMA-completeness. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;To see why, take any class of $k$-local QMA-complete Hamiltonians on qubits. By adding a constant of order $\mathrm{poly}(n)$ and rescaling with a $1/\mathrm{poly}(n)$ factor, the Hamiltonian can be brought into the form&#xA;$$&#xA;H=\sum_i w_i h_i\ ,&#xA;$$&#xA;where $w_i&amp;gt;0$, $\sum_i w_i=1$, and $h_i = \tfrac12(\mathrm{Id}\pm P_i)$, where $P_i$ is a product of Paulis. Estimating the smallest eigenvalue of $H$ up to accuracy $1/\mathrm{poly}(n)$ is still QMA-hard.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We can now build a circuit which only uses single-qubit measurements which, given a state $|\psi\rangle$, accepts with probability $1-\langle\psi|H|\psi\rangle$ (which by construction is between $0$ and $1$).  To this end, first randomly pick one of the $i$'s according to the distribution $w_i$. Then, measure each of the Paulis in $P_i$, and take the parity $\pi$ of the outcomes, which is now related to $\langle\psi|h_i|\psi\rangle$ via&#xA;$$&#xA;\langle\psi|h_i|\psi\rangle = \tfrac12(1\pm (-1)^\pi)\in\{0,1\}\ .&#xA;$$&#xA;The circuit now outputs $1-\langle\psi|h_i|\psi\rangle$, and the output is therefore distributed according to $\langle\psi|H|\psi\rangle$.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is, if we picked a yes-instance of the (QMA-complete) local Hamiltonian problem, there is a state $|\psi\rangle$ such that this verifier will accept with some probability $\ge a$, while otherwise any state will be rejected with probability $\le b$, with $a-b&amp;gt;1/\mathrm{poly}(n)$.  The variant of QMA where the verifier is restricted to one-qubit measurements is therefore QMA-complete for some $1/\mathrm{poly}(n)$ gap.  Finally, this version of QMA can be amplified using just the conventional amplification techniques for QMA, which finally proves it is QMA-complete independent of the gap (within the same range as QMA).&lt;/p&gt;&#xA;" OwnerUserId="4047" LastActivityDate="2012-09-03T16:38:18.247" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="12492" PostTypeId="2" ParentId="12490" CreationDate="2012-09-03T18:02:59.230" Score="16" Body="&lt;p&gt;This is publicity of my own work, but crossing number and 1-planarity are trivially solvable in planar graphs but hard for graphs of genus one. See &lt;a href=&quot;http://arxiv.org/abs/1203.5944&quot;&gt;http://arxiv.org/abs/1203.5944&lt;/a&gt; &lt;/p&gt;&#xA;" OwnerUserId="1839" LastActivityDate="2012-09-03T18:02:59.230" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="12493" PostTypeId="2" ParentId="2547" CreationDate="2012-09-03T18:28:24.403" Score="0" Body="&lt;p&gt;I thought about this once, and decided to try implementing a non-context-free language using the expected semantics; the key part of the implementation is the following function:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;void *it;&#xA;&#xA;void read_triple(void *back)&#xA;{&#xA;  if(read_a()) read_triple(&amp;amp;back);&#xA;  else reject();&#xA;  for(it = back; it != NULL; it = *it)&#xA;     if(!read_b()) reject();&#xA;  if(read_c()) return;&#xA;  else reject();&#xA;}&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Then calling read_triple on a null pointer will return only if the input consists of the non-context-free language $\{a^n b^n c^n\}$. The functions read_a, read_b, and read_c will return TRUE if the specified character is read, and FALSE otherwise. And the function reject terminates the computation with a failure.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;At least, I think this works. It may be that I am making some fundamental mistake, though.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A fixed version:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;void *it;&#xA;&#xA;void read_triple(void *back)&#xA;{&#xA;  if(read_a()) read_triple(&amp;amp;back);&#xA;  else for(it = back; it != NULL; it = * (void **) it)&#xA;     if(!read_b()) reject();&#xA;  if(read_c()) return;&#xA;  else reject();&#xA;}&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;" OwnerUserId="9049" LastEditorUserId="9049" LastEditDate="2013-10-17T14:00:17.037" LastActivityDate="2013-10-17T14:00:17.037" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="12494" PostTypeId="5" CreationDate="2012-09-03T18:41:35.310" Score="0" Body="" OwnerUserId="-1" LastEditorUserId="-1" LastEditDate="2012-09-03T18:41:35.310" LastActivityDate="2012-09-03T18:41:35.310" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12495" PostTypeId="4" CreationDate="2012-09-03T18:41:35.310" Score="0" Body="" OwnerUserId="-1" LastEditorUserId="-1" LastEditDate="2012-09-03T18:41:35.310" LastActivityDate="2012-09-03T18:41:35.310" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12496" PostTypeId="2" ParentId="11530" CreationDate="2012-09-03T19:52:08.403" Score="0" Body="&lt;p&gt;If I'm understanding your question correctly, there is probably no way to do it. While there must be a nondeterministic branching program for the problem (since it is in $\bf NL$), you couldn't necessarily find it if all you know is an $\bf NP$ algorithm for the problem. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;And it seems that the one-way constraint on the nondeterministic bitstream would block any attempt to build a universal Levin-style algorithm for $\bf NL$.&lt;/p&gt;&#xA;" OwnerUserId="9049" LastActivityDate="2012-09-03T19:52:08.403" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12497" PostTypeId="1" CreationDate="2012-09-03T20:23:53.073" Score="2" ViewCount="987" Body="&lt;p&gt;Short summary: The problem is to assign people to meetings at different days while respecting the capacities and (inter-day) constraints of the meetings. Each person can only attend at most one meeting at a day.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I don't know if this problem has a common name - therefore the weird title question, sorry. If I overcomplicated any part of the problem definition, let me know.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;People&lt;/strong&gt; P = $\{p_1, .., p_n\}$, Meeting &lt;strong&gt;days&lt;/strong&gt; D = $\{d_1, .., d_m\}$,  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Meetings&lt;/strong&gt; for each day: $M_{d_1} = \{m_{d_1,1}, .., m_{d_1,a}\}, M_{d_2} = \{m_{d_2,1}, .., m_{d_2,b}\}, .., M_{d_m} = \{m_{d_m,1}, .., m_{d_m,z}\}$&lt;br&gt;&#xA;The $M_{d_i}$'s are pairwise disjoint.&lt;br&gt;&#xA;Each meeting $m$ can hold a maximum number of people of $\text{cap}_{m}$ (&lt;strong&gt;capacity&lt;/strong&gt;),  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A person must not attend two (or more) meetings at different days that are &quot;similar&quot;. (These conflicts are only between different days (&quot;inter-day conflicts&quot;). There are no conflicts within a day.)&lt;br&gt;&#xA;Therefore define meeting &lt;strong&gt;constraints&lt;/strong&gt; $C=\{c_1,..c_q\}$. Every meeting $m$ has exactly one corresponding constraint $c_i = \text{const}(m)$, s.t. [$\text{const}(m_i) = \text{const}(m_j)$] iff. [$m_i$ is &quot;similar&quot; to $m_j$] for all meetings.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are &lt;strong&gt;preferences&lt;/strong&gt; which person wants to attend which meeting at a particular day, e.g.:&lt;br&gt;&#xA;(here 2 preferences are specified - if we generalize it to a fixed $K$ does the problem get any harder with regards to NP-hardness etc?)&lt;br&gt;&#xA;$\text{Prefs} = \{$&lt;br&gt;&#xA;$(p_1, \color{red}{d_1}, m_{\color{red}{d_1}, \color{green}{2}}, m_{\color{red}{d_1}, \color{green}{4}}),$ // Person 1 wants to attend the $\color{green}{2nd}$ or $\color{green}{4th}$ meeting at $\color{red}{day 1}$&lt;br&gt;&#xA;$(p_1, d_3, m_{d_3, 1}, m_{d_3, 2}),$&lt;br&gt;&#xA;$(p_3, d_2, m_{d_2, 2}, m_{d_2, 3}),$&lt;br&gt;&#xA;$..$&#xA;$\}$, where:&lt;br&gt;&#xA;a) every person-day combination $(p_i, d_j, ..)$ appears at most once.&lt;br&gt;&#xA;b) every tuple has the form: $(p_i, \color{red}{d_j}, m_{\color{red}{d_j}, a}, m_{\color{red}{d_j}, b})$, with $a \neq b$ ($\widehat{=}$ valid preferences only)&lt;br&gt;&#xA;(Note: The meeting preferences for each person-day combination are not supposed to be in any order, so (.., .., $x$, $y$) does not mean $x$ is preferred over $y$.)  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A &lt;strong&gt;valid solution&lt;/strong&gt; to the problem is:&lt;br&gt;&#xA;Assign each person-day combination $(p_i, d_j, X, Y) \in \text{Prefs} $ to the meeting X or the meeting Y or no meeting at all, s.t.:&lt;br&gt;&#xA;a) for every meeting $m$: we don't assign more people to $m$ than its capacity.&lt;br&gt;&#xA;b) for every person $p$: for every constraint $c$: the person $p$ is assigned to (at most) one meeting with constraint $c$. (Otherwise, $p$ would attend two meetings at different days that are &quot;similar&quot;.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We want to &lt;strong&gt;maximize&lt;/strong&gt; the number of person-day combinations that are assigned to a meeting. (So minimize the number of person-day combinations that are assigned to no meeting at all.)  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is this problem in $P$? (If yes, what is the idea for a polynomial-time algorithm?)&lt;br&gt;&#xA;Is this problem NP-hard? (I tried a reduction from Bin-Packing $\leq_p$ ThisProblem, but without success. I think it's NP-hard and would appreciate any helpful ideas for reductions.)&lt;/p&gt;&#xA;" OwnerUserId="10589" LastEditorUserId="10589" LastEditDate="2012-09-03T20:43:45.147" LastActivityDate="2012-09-07T05:27:55.357" Title="Is &quot;meeting/room planning&quot; NP-complete?" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;co.combinatorics&gt;&lt;np-hardness&gt;&lt;np&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="12498" PostTypeId="2" ParentId="2547" CreationDate="2012-09-03T20:55:43.233" Score="3" Body="&lt;p&gt;I think it is &lt;strong&gt;Turing complete&lt;/strong&gt;: we can write a program that simulates an UTM using this trick (I quickly wrote the code by hand so there are probably some syntax errors ... but I hope there are no (major) errors in the logic :-)&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;define a structure that can be used as a double linked list for tape representation&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;pre&gt;    typdef struct {&#xA;      cell_t *pred; // cell on the left&#xA;      cell_t *succ; // cell on the right&#xA;      int val; // cell value&#xA;    } cell_t &lt;/pre&gt;&#xA;&#xA;&lt;p&gt;The &lt;code&gt;head&lt;/code&gt; will be a pointer to a &lt;code&gt;cell_t&lt;/code&gt; structure&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;define a structure that can be used to store current state and a flag&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;pre&gt;    typedef struct {&#xA;      int state;&#xA;      int flag;&#xA;    } info_t &lt;/pre&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;then define a single loop function that simulates an Universal TM when the head is between the boundaries of the double linked list; when the head hit a boundary set the  flag of the info_t structure (HIT_LEFT, HIT_RIGHT) and return:&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;pre&gt;void simulate_UTM( cell_t *head, info_t *info) {&#xA;  while (true) {&#xA;    head-&gt;val = UTM_nextsymbol[info-&gt;state, head-&gt;val]; // write symbol&#xA;    info-&gt;state = UTM_nextstate[info-&gt;state, head-&gt;val]; // next state&#xA;    if (info-&gt;state == HALT_STATE) { // print if accepts and exit program&#xA;       putchar( (info-&gt;state == ACCEPT_STATE)? '1' : '0' );&#xA;       exit(0);&#xA;    }&#xA;    int move = UTM_nextmove[info-&gt;state, head-&gt;val];&#xA;    if (move == MOVE_LEFT) {&#xA;      head = head-&gt;pred; // move left&#xA;      if (head == NULL) { info-&gt;flag = HIT_LEFT; return; }&#xA;    } else {&#xA;      head = head-&gt;succ; // move right&#xA;      if (head == NULL) { info-&gt;flag = HIT_RIGHT; return; }&#xA;    }&#xA;  }  // still in the boundary ... go on&#xA;}&lt;/pre&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;then define a recursive function that first calls the simulation UTM routine and then recursively calls itself when the tape needs to be expanded; when the tape needs to be expanded on the top (HIT_RIGHT) no problems, when it needs to be shifted on the bottom (HIT_LEFT) just shift up the values of the cells using the double linked list:&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;pre&gt;void stacker( cell_t *top, cell_t *bottom, cell_t *head, info_t *info ) {&#xA;  simulate_UTM(head, info);&#xA;  cell_t newcell;  // the new cell&#xA;  newcell.pred = top; // update the double linked list with the new cell&#xA;  newcell.succ = NULL;&#xA;  top-&gt;succ = &amp;newcell;&#xA;  newcell.val = EMPTY_SYMBOL;&#xA;&#xA;  switch (info-&gt;hit) {&#xA;    case HIT_RIGHT :&#xA;      stacker( &amp;newcell, bottom, newcell, info);&#xA;      break;&#xA;    case HIT_BOTTOM :&#xA;      cell_t *tmp = newcell;&#xA;      while (tmp-&gt;pred != NULL) { // shift up values&#xA;        tmp-&gt;val = tmp-&gt;pred-&gt;val;&#xA;        tmp = tmp-&gt;pred;&#xA;      }&#xA;      tmp-&gt;val = EMPTY_SYMBOL;&#xA;      stacker( &amp;newcell, bottom, bottom, info);&#xA;      break;&#xA;  }&#xA;}&lt;/pre&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;the initial tape can be filled with a simple recursive function that builds the double linked list and then call the &lt;code&gt;stacker&lt;/code&gt; function when it reads the last symbol of the input tape (using readchar)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;pre&gt;void init_tape(cell_t *top, cell_t *bottom, info_t *info) {&#xA;  cell_t newcell;&#xA;  int c = readchar();&#xA;  if (c == END_OF_INPUT) stacker(&amp;top, bottom, bottom, info); // no more symbols, start&#xA;  newcell.pred = top;&#xA;  if (top != NULL) top.succ = &amp;newcell; else bottom = &amp;newcell;&#xA;  init_tape( &amp;newcell, bottom, info);&#xA;}&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT:&lt;/strong&gt; after thinking a little bit about it, there is a problem with the pointers ...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;if every call of the recursive function &lt;code&gt;stacker&lt;/code&gt; can mantain a valid pointer to a variable defined locally in the caller then everything is fine&lt;/em&gt;; otherwise my algorithm cannot mantain a valid double-linked list on the unlimited recursion (and in this case a don't see a way to use recursion to simulate an unlimited random-access storage).&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2012-09-03T21:25:04.793" LastActivityDate="2012-09-03T21:25:04.793" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="12499" PostTypeId="2" ParentId="11530" CreationDate="2012-09-04T02:04:02.140" Score="4" Body="&lt;p&gt;Perhaps you'd be interested in switching networks. According to Potechin's &lt;em&gt;&lt;a href=&quot;http://eccc.hpi-web.de/report/2009/142/download/&quot; rel=&quot;nofollow&quot;&gt;Bounds on monotone switching networks for directed connectivity&lt;/a&gt;&lt;/em&gt;, one way to separate L from NL is to show that there is no polysize switching network for directed connectivity. There is in fact a (trivial) polysize switching-and-rectifier network for directed connectivity. The difference between the two models is that the former is undirected and the latter directed.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Potechin has been working on separating L and NL, but so far his method only works for monotone networks. See also his &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=2214024&quot; rel=&quot;nofollow&quot;&gt;STOC 2012 paper&lt;/a&gt; with Siu Man Chan. (More papers are on the way.)&lt;/p&gt;&#xA;" OwnerUserId="40" LastActivityDate="2012-09-04T02:04:02.140" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12500" PostTypeId="1" CreationDate="2012-09-04T12:31:28.070" Score="5" ViewCount="122" Body="&lt;p&gt;Let $\phi(x_1,\dots,x_n)$ be a CNF. It is satisfiable if $\exists X=(x_1,\dots,x_n): \phi(X)=1$. Assume $\phi$ has a &lt;em&gt;unique&lt;/em&gt; satisfying assignment. Then, by allowing only black-box queries to $\phi$, essentially $\Theta(2^n)$ queries will be required to find the satisfying $X$, i.e. to solve this &lt;strong&gt;NP&lt;/strong&gt;-complete problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now let us construct a circuit $C(X) = \bigvee_{\sigma_i \in S_n} \phi(\sigma_i(X))$, where $\bigvee$ is over all $n!$ many permutations $\sigma_i$ in the symmetric group $S_n$ of of $n$ elements. Thus, if evaluated in the trivial black-box way, $C(X)$ requires exponential time. But let us ignore this problem for a moment.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$C(X)$ has the nice property, that $C(X)$ has $n!$ satisfying assignment, if $\phi(x)$ has a unique one, and $C(X)$ remains unsatisfiable if $\phi(x)$ is. Essentially inputs to $C(X)$ are equivalent up to the number of $1$'s in the input. Thus testing $n+1$ different assignments with $0 \dots n$ bits set suffices to decide satisfiability of $\phi(x)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let us now come back to the resources required to evaluate $C(X)$. Essentially $C(X)$ is solving $n!$ instances of the same problem (CNF evaluation) in parallel. There are (strong) direct product theorems which essentially say that solving $k$ &lt;em&gt;independent&lt;/em&gt; instances of the same problem in parallel require essentially $k$ times the resources of solving a single instance (with non-neglible probability). But, crucially, the $n!$ instances of CNF evaluation we are solving are &lt;strong&gt;not&lt;/strong&gt; &lt;em&gt;indepent&lt;/em&gt;. We can walk over all permutations from one $\sigma_i$ to another $\sigma_j$ which differ only in the mapping of two variables. Thus, many clauses in $\phi(\sigma_i(X))$ and $\phi(\sigma_j(X))$ refer to the same variables and will evaluate to the same value. Thus evaluation of (large?) sets of clauses may be shared and reused while evaluating $\phi(\sigma_i(X))$ for various $i$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;The question I have is&lt;/strong&gt;: are there any results on the resources required for &lt;em&gt;dependent&lt;/em&gt; evaluation of $k$ instances of a problem (like direct product theorems, but maybe with contrary conclusion)? What impossibility result would an approach like the above run into as it implies a (novel?) approach for solving $NP$-complete problems? Would assuming $P \neq NP$ already imply a lower-bound on the &lt;em&gt;dependent&lt;/em&gt; evaluation problem of $k$-instances, i.e. a generalization of direct product theorems?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT:&lt;/strong&gt; The problem appears to be a special case of the &lt;em&gt;OR(SAT)-problem&lt;/em&gt; where one is given a set of SAT-instances $\psi_1, \dots, \psi_t$ and is aked to decide $\psi = \bigvee_{i=1}^t \psi_t$. The related &lt;em&gt;instance compression&lt;/em&gt; problem asks for a reduction of $\psi$ to a much smaller instance $\psi'$. See &lt;a href=&quot;http://eccc.hpi-web.de/report/2012/112/&quot; rel=&quot;nofollow&quot;&gt;this paper&lt;/a&gt; by Drucker for details and (references to) negative results on the problem. Thus, the minimized circuit $C'(X)$ in the answer below is an exponentially compressed instance of an OR(SAT)-problem, where the $\psi_i$ are equivalent to a single CNF $\phi$ up to relabeling of the input variables and the complete set of all possible relablings.&lt;/p&gt;&#xA;" OwnerUserId="10408" LastEditorUserId="10408" LastEditDate="2012-09-07T04:35:25.353" LastActivityDate="2012-09-07T04:35:25.353" Title="Are resource savings for the evaluation of $k$ dependent instances in parallel possible?" Tags="&lt;cc.complexity-theory&gt;" AnswerCount="1" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="12503" PostTypeId="2" ParentId="12473" CreationDate="2012-09-04T17:46:25.830" Score="1" Body="&lt;p&gt;It seems to me that you are not familiar with the basic complexity theory and therefore your question is probably not suitable for cstheory.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You probably mean to ask if the following statement is true:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;$\mathsf{DTime}(O(n^k)) \subseteq \mathsf{NTime}(g)$ for some $g \in o(n^k)$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Note that &lt;a href=&quot;http://en.wikipedia.org/wiki/Time_hierarchy_theorem#Non-deterministic_time_hierarchy_theorem&quot; rel=&quot;nofollow noreferrer&quot;&gt;the $\mathsf{NTime}$ hierarchy theorem&lt;/a&gt; is tight. If the answer to your question was positive then it would separate $\mathsf{NTime}$ from $\mathsf{DTime}$ which is not known as explained in the answers to &lt;a href=&quot;https://cstheory.stackexchange.com/q/1079/&quot;&gt;the question linked by Robin&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2012-09-05T19:04:14.097" CommentCount="10" ContentLicense="CC BY-SA 3.0" />
  <row Id="12504" PostTypeId="1" CreationDate="2012-09-04T19:04:52.710" Score="24" ViewCount="2389" Body="&lt;p&gt;What implications would a proof of the &lt;a href=&quot;http://en.wikipedia.org/wiki/Abc_conjecture&quot;&gt;abc conjecture&lt;/a&gt; have for tcs?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://quomodocumque.wordpress.com/2012/09/03/mochizuki-on-abc/&quot;&gt;http://quomodocumque.wordpress.com/2012/09/03/mochizuki-on-abc/&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="10596" LastEditorUserId="-1" LastEditDate="2012-11-17T08:03:06.040" LastActivityDate="2012-11-17T08:03:06.040" Title="Implications of proof of abc conjecture for cs theory" Tags="&lt;big-picture&gt;&lt;nt.number-theory&gt;" AnswerCount="2" CommentCount="3" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="12505" PostTypeId="2" ParentId="12500" CreationDate="2012-09-04T21:06:21.903" Score="2" Body="&lt;p&gt;Assume $C'(X)$ is a logically equivalent but minimized version of $C(X)$. Then $C'(X) \notin  SIZE(poly(X))$, unless the polynomial hierarchy collapses. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;To see this, assume $C'(X) \in SIZE(poly(X))$, i.e. $C'(X) \in P/poly$. As noted in the original post, this would imply $NP \in P/poly$, but then the claim follows from Karp-Lipton.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thus, even the &lt;em&gt;existence&lt;/em&gt; of a poly-sized circuit equvialent to $C(X)$ is unlikely. Or, in turn, a generalization of direct product theorems to the dependent case appears plausible under complexity theoretic assumptions.&lt;/p&gt;&#xA;" OwnerUserId="10408" LastActivityDate="2012-09-04T21:06:21.903" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12506" PostTypeId="2" ParentId="12490" CreationDate="2012-09-04T21:09:45.517" Score="4" Body="&lt;p&gt;If toy problems are fine:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $g\in\mathbb{N}$ and let $H$ be some graph of genus $g+1$. For $\phi$ a CNF-formula, let $G_\phi$ be some encoding of $\phi$ as a planar graph &lt;em&gt;plus&lt;/em&gt; a disjoint copy of $H$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given $G_\phi$, which is a graph of genus $g+1$, it is NP-hard to decide whether $\phi$ is satisfiable. This problem however becomes trivial when restricted to graphs of genus $\leq g$.&lt;/p&gt;&#xA;" OwnerUserId="2666" LastActivityDate="2012-09-04T21:09:45.517" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="12507" PostTypeId="2" ParentId="12490" CreationDate="2012-09-04T21:59:59.953" Score="2" Body="&lt;p&gt;&lt;strong&gt;EDIT (2012-09-05):&lt;/strong&gt; Jeff's and Radu's comments are right. The cited result does not answer the question. To expand on Radu's comment, here is a related algorithm by &lt;a href=&quot;http://arxiv.org/pdf/1008.0683.pdf&quot; rel=&quot;nofollow&quot;&gt;Bravyi&lt;/a&gt; which gives an algorithm for contracting matchgate tensors on a graph $G$ with genus $g$ with run-time $T=poly(n) + 2^{2g} O(m^3)$ where $m$ is the minimum number of edges one has to remove from $G$ in order to make it planar. &lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://arxiv.org/pdf/1008.0683.pdf&quot; rel=&quot;nofollow&quot;&gt;Cai, Lu, and Xia&lt;/a&gt; recently proved the following dichotomy for #CSP counting problems:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;We prove complexity dichotomy theorems in the framework of counting&#xA;  CSP problems. The local constraint functions take Boolean inputs, and&#xA;  can be arbitrary real-valued symmetric functions. We prove that, every&#xA;  problem in this class belongs to precisely three categories: &lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;(1) those which are tractable (i.e., polynomial time computable) on&#xA;  general graphs, or&lt;br&gt;&#xA;  (2) those which are &lt;strong&gt;#P-hard on general graphs but&#xA;  tractable on planar graphs&lt;/strong&gt;, or&lt;br&gt;&#xA;  (3) those which are #P-hard even on&#xA;  planar graphs. &lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;The classication criteria are explicit.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="121" LastEditorUserId="121" LastEditDate="2012-09-05T08:35:30.517" LastActivityDate="2012-09-05T08:35:30.517" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="12508" PostTypeId="2" ParentId="5155" CreationDate="2012-09-04T23:53:11.840" Score="4" Body="&lt;p&gt;I believe that it has not been shown that bidegreed graphs are reconstructible. Bidegreed graphs are edge-reconstructible. Kocay did some work on reconstruction of bidegreed graphs, but did not reach a comprehensive result that I have been able to find. The notion that it has been proven that bidegreed graphs are reconstructible seems to be a bit of misinformation circulating on the web.&lt;/p&gt;&#xA;" OwnerUserId="10603" LastActivityDate="2012-09-04T23:53:11.840" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12511" PostTypeId="2" ParentId="12450" CreationDate="2012-09-05T08:45:25.610" Score="2" Body="&lt;p&gt;Perhaps I am misunderstanding this question. If you are asking whether you can implement the verifier circuit for a problem in QMA using a measurement based computation, where Merlin supplies the input layer, and Arthur supplies all further qubits in the resource state and entangles both sets of qubits before measurements commence, then the answer is trivially yes. This follows directly from the fact that any quantum circuit can be implemented as a measurement based computation whether you care about classical or quantum input. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;You'll notice that in most papers on measurement based computation input sites are generally identified separately from the other sites, and this is why (i.e. specifically to deal with the case of quantum input).&lt;/p&gt;&#xA;" OwnerUserId="204" LastActivityDate="2012-09-05T08:45:25.610" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="12512" PostTypeId="1" CreationDate="2012-09-05T09:50:14.973" Score="4" ViewCount="169" Body="&lt;p&gt;Does a function exist which is easily computable for one space capacity and is hard to compute for another? I am looking for a function which can be computed in polytime when available space is at least $n^2$ (where $n$ is the length of the input) and is NP-hard when there is only linear space.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If there is such a function, please show one.&lt;/p&gt;&#xA;" OwnerUserId="10607" LastEditorUserId="186" LastEditDate="2012-09-05T18:29:20.207" LastActivityDate="2012-09-05T18:29:20.207" Title="Function with space-depending computation time" Tags="&lt;cc.complexity-theory&gt;&lt;time-complexity&gt;&lt;space-complexity&gt;" AnswerCount="2" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12513" PostTypeId="2" ParentId="12512" CreationDate="2012-09-05T11:13:33.397" Score="4" Body="&lt;p&gt;By the &lt;a href=&quot;http://en.wikipedia.org/wiki/Space_hierarchy_theorem&quot; rel=&quot;nofollow&quot;&gt;Space Hierarchy Theorem&lt;/a&gt;, for every &lt;a href=&quot;http://en.wikipedia.org/wiki/Space-constructible_function&quot; rel=&quot;nofollow&quot;&gt;space-constructible&lt;/a&gt; space bound $s&amp;gt;\log(n)$, there is a problem $L \in \mathsf{SPACE}(s)\setminus \mathsf{SPACE}(o(s))$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In other words, $L$ can be solved in space $s$, and thus in time $c^{s(n)}$, but not in space $o(s)$, &lt;em&gt;regardless&lt;/em&gt; of how much extra time you allow.&lt;/p&gt;&#xA;" OwnerUserId="2666" LastActivityDate="2012-09-05T11:13:33.397" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12516" PostTypeId="2" ParentId="12512" CreationDate="2012-09-05T17:18:47.357" Score="0" Body="&lt;p&gt;In the world of streaming, there are many problems that are easy to compute with linear space and impossible (not just hard) for sublinear space. For example, computing the most frequent element of a stream exactly is impossible without linear space via communication complexity lower bounds. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2012-09-05T17:18:47.357" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12517" PostTypeId="1" CreationDate="2012-09-05T21:18:07.960" Score="6" ViewCount="322" Body="&lt;p&gt;I'm looking for a reference of the complexity of the following problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let our input $C$ be a finite set of graphs. Is there a graph $G$ such that:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;$G$ has a minor in $C$&lt;/li&gt;&#xA;&lt;li&gt;$G$ has &lt;strong&gt;no&lt;/strong&gt; subgraph in $C$?&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;As per Robin's suggestion, here's why I believe it's $NP$-hard and within $NP^{NP}$. This is just written out informally, I can formalize if it'd help.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;co-NP Hardness&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $G = (V, E)$ be an arbitrary graph with internal and external edges, an even number of vertices, and maximum degree 3. Such graphs in general are still $NP$-hard for Hamiltonian Path.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First, create a subvidided claw $H$ by attaching 3 paths of lengths $|V|/2$, $|V|/2$ and $|V|$ to a central vertex. Next, make $|E|$ copies of $G$, labelled $G_1, ..., G_{|E|}$. For each $G_i$, subdivide edge $i$ once, and to this new intermediate vertex, attach a dangling path $P_i$ of length $|V|$. Finally, attach one new vertex to the second-to-last vertex in this path, so that the addition consisted of 2 external and $|V|-1$ internal edges. Finally, let $G'$ be the disjoint union of all $G_i$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, we can define $C$ as $\{G', H\}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose that $G$ has a Hamiltonian Path. Then $H$ is a subgraph of some $G_i$, as the long arm fits into some $P_i$, the central vertex on the vertex added thru subdivision, and the other two arms make the path.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppoes that $H$ is a subgraph of $G'$. Well, $H$ is a simple component, and a little simple math shows that $G$ must have a Hamiltonian path.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;OK, now we have that $H$ is a minor and subgraph of $G'$ iff $G$ has a Hamiltonian path. So consider the graph $G''$ obtained by subdividing an edge on $P_1$ a bunch of times. As this edge is internal, $G'$ is not a subgraph of $G''$. And $H$ is a subgraph of $G''$ iff $G$ has a Hamiltonian path.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;NP to the NP&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;From my comment, why $G$ won't be too big:&lt;/strong&gt; Let's consider the smallest such $G$. Let $x$ be number of edges in graph of $C$ with most edges. No graph in C can consume all of a path of length $x+1$. As $G$ has as a minor some $H \in C$, we can look at the model of $H$ in $G$. Clearly, no reason to simply add edges or vertices to $H$. So we can get from $G$ to $H$ with just contraction. No path needs to be contracted more than $x+1$ times or we could have shortened it. This gives a reasonable size bound.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For $NP^{NP}$: given a graph $G$ with a minor in $C$, we need to ensure that for each graph $H$ in $C$, $H$ is not a subgraph $G$. One can imagine a TM which has a computation path for every each graph and way to split its vertices, which then queries an $NP$ oracle for each graph in $C$ to see if it's not a subgraph.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Any citations out there?&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;I'm also interested in a version where either all graphs of $C$ are subcubic or &lt;em&gt;condition 1&lt;/em&gt; is for topological minors instead of normal ones.&lt;/p&gt;&#xA;" OwnerUserId="4014" LastEditorUserId="186" LastEditDate="2012-09-12T18:37:35.300" LastActivityDate="2012-09-12T18:37:35.300" Title="Citation request: Complexity of determining if a graph exists with a minor but no subgraph in set" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;graph-theory&gt;&lt;graph-minor&gt;" AnswerCount="0" CommentCount="36" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12518" PostTypeId="1" CreationDate="2012-09-05T22:18:57.687" Score="5" ViewCount="1292" Body="&lt;p&gt;I'm looking for a simple proof that shows that the &lt;a href=&quot;https://en.wikipedia.org/wiki/Post_correspondence_problem&quot; rel=&quot;nofollow&quot;&gt;Bounded-PCP&lt;/a&gt; problem belongs to NP-Complete as many text books say so.&#xA;It is clear to me that the problem is decidable but I cannot find any reduction from an NP-Hard problem to this one.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Moreover, the verifying algorithm might go through a series of N indexes which is exponential in comparison to the input size (N) which is logN, so how can this problem be in NP?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks.&lt;/p&gt;&#xA;" OwnerUserId="10614" LastEditorUserId="186" LastEditDate="2012-09-05T22:32:18.453" LastActivityDate="2012-09-05T22:32:18.453" Title="Bounded Post Correspondence Problem NP-Complete Proof" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;&lt;post-correspondence&gt;" AnswerCount="0" CommentCount="14" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="12521" PostTypeId="2" ParentId="12497" CreationDate="2012-09-06T13:47:11.660" Score="1" Body="&lt;p&gt;While my initial instinct was also that the problem should be NP-hard, it looks like it might be close to a problem in P, namely list coloring on graphs whose blocks, or 2-connected components, are cliques. I am not sure to what extent this is helpful, because when you solve the reduced instance all meetings will be filled to capacity, which is an additional constraint on your problem. But if the rest of the argument holds up this might have workarounds, so I will state the partial progress.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If sensible, this reduction does not need to know which day a meeting happens to fall on, so I am using more relaxed notation (dropping the info about which day the meeting was on).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Introduce cap$_m$ vertices $$\{v_m^{(1)}, v_m^{(2)}, \ldots, v_m^{(c_m)}\}$$ for every meeting $m$. Let $M_r$ denote the set of all meetings $m$ that are associated with the constraint $c_r$. the edge set involves a big clique on all vertices involved in representing $m \in M_r$, that is, $$E = \{ (v_p^{(i)},v_q^{(j)}) | p,q \in M_r \}$$&#xA;$$\color{red}{\cup \{(v_p^{(i)}, v_q^{(j)})| p, q \text{ are meetings at the same day})\}\text{  [see comment below]} }.$$ &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The color pallette has one color for every person, and the list asssociated with a meeting vertex is the set of all people for whom the meeting is on their preference list. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A valid list coloring in the graph will fill all meetings to full capacity, and will never assign the same person to similar meetings, and will always give a person a meeting that they wanted to be in.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some things to note:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;The meetings will be filled to capacity, so this is not a completely accurate reduction. The simplest fix is to ask for a partial coloring, but I am not sure about the complexity of this question.  One could make the same copies of every meeting an independent set, and add a complete partite structure across meetings with the same constraint. Now, the color corresponding to a person can be repeated within a meeting. However, I am not completely sure that the graph structure now allows for the Ptime algorithm! The other fix would be to introduce junk colors in the pallette, but then some people may not get assigned to meetings at all.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The reduction works with longer preference lists, too.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Conflicts within the same day can also be handled with this modelling. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;And &lt;a href=&quot;http://www.math.unipd.it/~faenza/coloring.pdf&quot; rel=&quot;nofollow&quot;&gt;this paper&lt;/a&gt; mentions that list coloring can be resolved in polynomial time when the blocks of the graph are cliques. &lt;/p&gt;&#xA;" OwnerUserId="688" LastEditorUserId="10589" LastEditDate="2012-09-07T05:27:55.357" LastActivityDate="2012-09-07T05:27:55.357" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="12522" PostTypeId="1" CreationDate="2012-09-06T14:06:59.327" Score="-3" ViewCount="225" Body="&lt;p&gt;I have a basic understanding of how machine learning works, but my knowledge isn't enough in order to develop a personal project I would like to start.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I want to develop a system based on &lt;em&gt;online machine learning&lt;/em&gt;, aimed to &lt;em&gt;binary classification&lt;/em&gt;:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The inputs/features I should consider are only &lt;em&gt;categorical&lt;/em&gt; (but I may as well introduce also numerical inputs in the future, I cannot exclude the possibility as I'm still not sure about the features of the samples I will consider).&lt;/li&gt;&#xA;&lt;li&gt;I would like to have some &lt;em&gt;decay&lt;/em&gt; notion for older samples, in order to enhance the responsiveness of the system to changes.&lt;/li&gt;&#xA;&lt;li&gt;I'm searching for something more like a compromise between complexity and correctness of the results.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;This is the context. I want to write a software for writing down lists of things to do. Each list will be associated to a category by the user itself (the categories are not fixed, the user will be able to edit them). By relying on the history of previous lists, I want to predict what the user will put in the next one. Thus, basically, given a particular todo written in the past few lists, I want to classify it as &quot;insert in list&quot; or &quot;do not insert in list&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Could you give me some pointers, please? I need your help in order to focus towards the most fitting algorithms and techniques for my needs. Many thanks in advance.&lt;/p&gt;&#xA;" OwnerUserId="6307" LastEditorUserId="6307" LastEditDate="2012-09-07T17:03:51.143" LastActivityDate="2012-09-12T14:47:14.763" Title="Which algorithm for a project about online machine learning?" Tags="&lt;machine-learning&gt;&lt;ai.artificial-intel&gt;&lt;online-learning&gt;" AnswerCount="1" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="12523" PostTypeId="1" CreationDate="2012-09-06T15:15:59.727" Score="9" ViewCount="472" Body="&lt;p&gt;As far as I know, a Haskell function with type classes constraints is internally compiled to a function with additional arguments that receive dictionaries with the necessary implementations of each particular type class.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Are there any other possibilities how compile type classes?&lt;/li&gt;&#xA;&lt;li&gt;If so, what are their (dis)advantages?&lt;/li&gt;&#xA;&lt;li&gt;And what compilers use them?&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="10336" LastEditorUserId="-1" LastEditDate="2012-10-08T04:13:00.620" LastActivityDate="2012-11-26T23:00:44.443" Title="What are possible implementations of Haskell's type classes and what are their (dis)advantages?" Tags="&lt;pl.programming-languages&gt;&lt;functional-programming&gt;&lt;compilers&gt;&lt;type-systems&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12524" PostTypeId="1" AcceptedAnswerId="12530" CreationDate="2012-09-06T15:58:01.273" Score="15" ViewCount="1097" Body="&lt;p&gt;&#xA;A functional language can be viewed as a &lt;a href=&quot;http://www.haskell.org/haskellwiki/Hask&quot;&gt;category&lt;/a&gt; where its objects are types and morphisms functions between them.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;How do &lt;a href=&quot;https://en.wikipedia.org/wiki/Type_class&quot;&gt;type classes&lt;/a&gt; fit in this model?&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I assume we should only consider those implementations that satisfy the constraint that most type-classes have, but that are not expressed in Haskell. For example, we should only consider those implementations of &lt;code&gt;Functor&lt;/code&gt; for which &lt;code&gt;fmap id ≡ id&lt;/code&gt; and &lt;code&gt;fmap f . fmap g ≡ fmap (f . g)&lt;/code&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Or are there any other theoretical foundations for type classes (for example based on typed lambda calculi)?&lt;/p&gt;&#xA;" OwnerUserId="10336" LastEditorUserId="186" LastEditDate="2012-09-15T05:54:20.893" LastActivityDate="2012-09-15T05:54:20.893" Title="A mathematical (categorical) description of type classes" Tags="&lt;lo.logic&gt;&lt;functional-programming&gt;&lt;ct.category-theory&gt;&lt;denotational-semantics&gt;&lt;type-systems&gt;" AnswerCount="1" CommentCount="9" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="12526" PostTypeId="1" AcceptedAnswerId="12528" CreationDate="2012-09-06T19:07:36.110" Score="4" ViewCount="504" Body="&lt;p&gt;I would like to know whether counting number of induced (full) subgraphs (of an undirected graph) that have even number of edges is P or #P-complete. Additionally, is the problem easier if we assume that given undirected graph has constant degree (all vertices have up to k incident edges)?&lt;/p&gt;&#xA;" OwnerUserId="10626" LastEditorUserId="10626" LastEditDate="2012-09-06T20:12:19.580" LastActivityDate="2012-09-06T23:49:06.883" Title="Number of subgraphs with given edge parity" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;counting-complexity&gt;" AnswerCount="1" CommentCount="10" ContentLicense="CC BY-SA 3.0" />
  <row Id="12527" PostTypeId="2" ParentId="11711" CreationDate="2012-09-06T19:32:54.177" Score="2" Body="&lt;p&gt;In general this is an open problem, so you should not expect anything like a clean formula or an algorithm. For linear codes (at least) an awful lot is known. The authors of&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://mint.sbg.ac.at/desc_CBrouwerTable-Bound.html&quot; rel=&quot;nofollow&quot;&gt;http://mint.sbg.ac.at/desc_CBrouwerTable-Bound.html&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;maintain a database of everything(?) that is known about this problem (lower bounds, upper bounds, constructions).&lt;/p&gt;&#xA;" OwnerUserId="5932" LastActivityDate="2012-09-06T19:32:54.177" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12528" PostTypeId="2" ParentId="12526" CreationDate="2012-09-06T23:42:48.643" Score="7" Body="&lt;p&gt;This problem is tractable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $G = (V,E)$ be the input graph with $|V| = n$ and let $e$ and $o$ be the number of vertex-induced subgraphs of $G$ with an even and odd number of edges respectively. Of course, $e + o = 2^n$. In polynomial time, we can compute $e - o$, which I explain below.  With two equations and two unknowns, we can solve the linear system to determine the value of $e$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;From $G$, we create an instance of a counting constraint satisfaction problem (#CSP). Every vertex in $V$ is a Boolean variable and every edge in $E$ a constraint $f$ that depends on its incident vertices. The constraint $f$ evaluates to 1 unless the both vertices are assigned 1, in which case, $f$ evaluates to -1. The symmetric notation for this constraint is $[1,1,-1]$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now the answer to this #CSP instance is (by definition)&#xA;$$\sum_{\sigma : V \to \{0,1\}} \prod_{e \in E} f(\sigma|_{I(e)}),$$&#xA;which is a sum over all vertex subsets, the product of the outputs of every constraint $f$, where $I(e)$ is the vertices incident to $e$ and $\sigma|_{I(e)}$ is the restriction of $\sigma$ to $I(e)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Fix a subset of $V$. Assigned 1 to the vertices in the subset and 0 to the vertices not in the subset. If either vertex incident to the same edge is assigned 0, then this edge is not in the vertex-induced subgraph and the constraint $f$ on this edge contributes a 1 to the product, which has no effect. If both vertices incident to the same edge are assigned 1, then this edge is in the vertex-induced subgraph and the constraint $f$ on this edge contributes a -1 to the product.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Vertex-induced subgraphs with an even number of edges contribute a 1 to the sum while vertex-induced subgraphs with an odd number of edges contribute a -1. Thus, the answer to this #CSP instance is exactly $e - o$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since the constraint $f$ is affine, this #CSP is tractable. The polynomial algorithm for any set of affine signatures is given in &lt;a href=&quot;http://pages.cs.wisc.edu/~jyc/papers/cw-csp.pdf&quot;&gt;The Complexity of Complex Weighted Boolean #CSP&lt;/a&gt; by Jin-Yi Cai, Pinyan Lu, and Mingji Xia. There may be a simpler algorithm for this particular case. If such an algorithm is known, it is probably contained in one of the references cited in the above paper.&lt;/p&gt;&#xA;" OwnerUserId="3964" LastEditorUserId="3964" LastEditDate="2012-09-06T23:49:06.883" LastActivityDate="2012-09-06T23:49:06.883" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="12529" PostTypeId="1" CreationDate="2012-09-07T06:41:57.260" Score="3" ViewCount="394" Body="&lt;p&gt;The best known algorithm for computing the &lt;strong&gt;exact&lt;/strong&gt; edit distance between two strings is I believe an algorithm by Masek and Paterson that runs in time $O(n^2/\log^2 n)$, for binary alphabets. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there any algorithm that possibly by taking advantage of larger alphabet sizes (and potentially the possibility of few matches to explore) can run in time that might be strictly better than the above bound for large (i.e non-constant sized) alphabets ? Or is there some easy reason why this would be as hard as the case for a binary alphabet ? &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2012-09-13T20:20:18.263" Title="Edit distance algorithms that depend on alphabet" Tags="&lt;ds.algorithms&gt;&lt;edit-distance&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="12530" PostTypeId="2" ParentId="12524" CreationDate="2012-09-07T06:44:13.943" Score="18" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;How do type classes fit in this model?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The short answer is: they don't. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Whenever you introduce coercions, type classes, or other mechanisms for ad-hoc polymorphism into a language, the main design issue you face is &lt;em&gt;coherence&lt;/em&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Basically, you need to ensure that typeclass resolution is deterministic, so that a well-typed program has a single interpretation. For example, if you could give multiple instances for the same type in the same scope, you could potentially write ambiguous programs like this:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;class Blah a where&#xA;   blah : a -&amp;gt; String &#xA;&#xA;instance Blah T where&#xA;   blah _ = &quot;Hello&quot;&#xA;&#xA;instance Blah T where&#xA;   blah _ = &quot;Goodbye&quot;&#xA;&#xA;v :: T = ...&#xA;&#xA;main :: IO ()&#xA;main = print (blah v)  -- does this print &quot;Hello&quot; or &quot;Goodbye&quot;?&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Depending on the choice of instance the compiler makes, &lt;code&gt;blah v&lt;/code&gt; could equal either &lt;code&gt;&quot;Hello&quot;&lt;/code&gt; or &lt;code&gt;&quot;Goodbye&quot;&lt;/code&gt;. Therefore, the meaning of a program would not be completely determined by the syntax of the program, but rather could be influenced by arbitrary choices the compiler makes. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Haskell's solution to this problem is to require that each type has at most one instance for each typeclass. To ensure this, it permits instance declarations only at the top level, and furthermore makes all declarations globally visible. That way, the compiler can always signal an error if an ambiguous instance declaration is made. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, making declarations globally visible breaks the compositionality of the semantics. What you can do to recover is to give an &lt;em&gt;elaboration semantics&lt;/em&gt; for the programming language -- that is, you can show how to translate Haskell programs into a better-behaved, more compositional language. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This actually gives you a way to compile typeclasses, as well -- it's usually called the &quot;evidence translation&quot; or &quot;dictionary-passing transformation&quot; in Haskell circles, and is one of the early stages of most Haskell compilers. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Typeclasses are also a good example of how programming language design differs from pure type theory. Typeclasses are a really awesome language feature, but they're quite ill-behaved from a proof-theoretic point of view. (This is why Agda does not have typeclasses at all, and why Coq makes them part of its heuristic inference infrastructure.) &lt;/p&gt;&#xA;" OwnerUserId="657" LastActivityDate="2012-09-07T06:44:13.943" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="12531" PostTypeId="1" CreationDate="2012-09-07T13:33:39.190" Score="3" ViewCount="100" Body="&lt;p&gt;I am currently working on a property of graphs defined as follows. A graph $G$ is said to be OL-AP iff one of the following two conditions holds:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;$G$ is an isolated vertex.&lt;/li&gt;&#xA;&lt;li&gt;$G$ is connected and for every $x \in [1,|V(G)|-1]$ there exists a subset $V_x$ of $V(G)$ with size $x$ such that $G[V_x]$ is connected and $G-V_x$ is OL-AP.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Basically, we would like to take some connected parts off a graph whatever their sizes are without disconnecting it. The recursive aspect of this definition should be obvious. &lt;a href=&quot;http://www.opuscula.agh.edu.pl/vol31/4/art/opuscula_math_3137.pdf&quot; rel=&quot;nofollow&quot;&gt;One can refer to this article for some more details&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have been trying to characterize the complexity of computing this property, but I could not get anything because of the recursivity arising from the definition. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the one hand, to show that computing this property is in $NP$, I would naively give, as a certificate showing that a graph is OL-AP, a connected part for every possible size of each level. I mean that if my graph has order $n$, I would give the first parts of size $1, ..., n-1$ as well as those of the induced subgraphs, and so on. But I do not think that such a certificate as a polynomial size.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, a witness to show that the property is in $co-NP$ would be to give a size $x$ such that we cannot take a connected part with this size off the graph in such a way that the remaining graph is OL-AP. But how the algorithm could check whether a subgraph is OL-AP since this is the property I am dealing with? If such an algorith exists, then dealing with my property would be pointless.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think that such a problem is in a higher level of the polynomial hierarchy, but I cannot find where because of its recursive aspect. So, any idea or comment is welcomed :) .&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks in advance!&lt;/p&gt;&#xA;" OwnerUserId="10172" LastActivityDate="2012-09-07T13:33:39.190" Title="Computational complexity of some recursive property" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;&lt;recursive&gt;" AnswerCount="0" CommentCount="6" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12532" PostTypeId="1" CreationDate="2012-09-07T16:48:44.330" Score="8" ViewCount="504" Body="&lt;p&gt;Prolog execution process may be seen as a search that model scientific search for a proof of a proposition. At the same time, real world scientific search greatly differs from Prolog search in the following way:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As we know, Prolog is based on closed world assumption (CWA) -- that is, if a proposition is not in the fact database and not derivable from the fact database, then it is not true. So Prolog search may yield 2 results:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;proposition is proved; here is the proof: ...&lt;/li&gt;&#xA;&lt;li&gt;proposition is false or it can not be proved using fact database&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;At the same time, scientific search is not limited by CWA and may be seen in at least 4 states:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;proposition is proved; here is the proof: ...&lt;/li&gt;&#xA;&lt;li&gt;proposition is disproved by counter-example; here is the counter-example: ...&lt;/li&gt;&#xA;&lt;li&gt;proposition is neither proved, nor disproved to the specified (current) time&lt;/li&gt;&#xA;&lt;li&gt;proposition is proved to be independent from the axiom set; here is the proof: ...&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I suspect that, because of popularity of Prolog in the end of the XX century, there were successful attempts to improve it by removing CWA in order to better model scientific search in resulting language. CWA removing seems to open possibility to use 3 or even all the 4 above-mentioned states in programming language execution process.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, I suspect, there are papers that describe such attempts and explore theoretic foundations of such a prolog-like languages. If so, please point out a survey or a bunch of most significant of such a papers.&lt;/p&gt;&#xA;" OwnerUserId="8294" LastEditorUserId="12438" LastEditDate="2012-11-13T08:42:23.713" LastActivityDate="2012-11-13T08:42:23.713" Title="Papers on Prolog-like languages without closed world assumption (CWA)" Tags="&lt;reference-request&gt;&lt;soft-question&gt;&lt;pl.programming-languages&gt;&lt;big-picture&gt;&lt;logic-programming&gt;" AnswerCount="1" CommentCount="10" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="12534" PostTypeId="2" ParentId="12471" CreationDate="2012-09-08T04:15:14.847" Score="19" Body="&lt;p&gt;For such questions, you often get the right intuition by thinking of &quot;flat&quot; random variables. That is, think of $X$ as the uniform distribution over a set $A$ of size $2^{H(X)}$ and of $Y$ as the uniform distribution over a set $B$ of size $2^{H(Y)}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, the question you're asking is (roughly speaking) what can you say about the size $|A+B|$ compared to $|A|$ and $|B|$. Generically (e.g., if they were random sets) then indeed you'll have $|A+B| \sim |A|\cdot |B|$ which corresponds to $H(X+Y) \sim H(X)+H(Y)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are some special cases when $|A+B| \ll |A|\cdot |B|$, most notably when $A$ and $B$ are intervals (or more generally arithmetic progressions). There are some results that say that (at least under some conditions and if $|A+B|$ is almost as small as it can be) this is the only case. The area that studies such questions is known as &quot;additive combinatorics&quot;, and some results have the flavor that in a group $(G,+)$ if $|A+B|=O(|A|+|B|)$ then $A,B$ are approximately subgroups of $G$ (as you mention in your question, Terence Tao's blog discusses some such results, generally speaking set size results can be transferred to the entropy setting).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The case you describe roughly corresponds to the case where $A$ is an integer interval $[a..b]$ and $B$ is an integer interval of the form $[0..c]$  (in fact, if don't try to take advantage of concentration and shoot for a $(1/2)\log n$ entropy bound, one would have $c=1$ and $a=0$ and $b=k$ for $k=1,...,n-1$ as you apply this repeatedly, however actually this will be more like $a \sim k-\sqrt{k}$ , $b \sim k+ \sqrt{k}$). Obviously in this case $|A+B| \leq |A|+c$, but I'm not sure if there is a more general bound this falls from as a special case. &lt;/p&gt;&#xA;" OwnerUserId="1202" LastEditorUserId="1202" LastEditDate="2012-09-08T04:38:38.050" LastActivityDate="2012-09-08T04:38:38.050" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12538" PostTypeId="1" CreationDate="2012-09-09T02:47:48.810" Score="5" ViewCount="853" Body="&lt;p&gt;If L=P then P is not equal to PSPACE. This follows from PSPACE properly containing L.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am wondering if L=P implies any stronger separation between complexity classes? Does it imply P is properly contained in NP?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As Tsuyoshi points out, it is consistent with current state of our knowledge that L=NP in which case L=P=NP.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The question can be state more rigorously as improving the result in the first line of this post:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there an interesting complexity class C which we don't know if it is separated from L (by the space hierarchy theorem, etc.), however we know that if L=P then L will be strictly contained in C? &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="14197" LastEditorUserId="16283" LastEditDate="2015-04-06T04:06:31.930" LastActivityDate="2015-04-06T04:06:31.930" Title="Does L=P imply any new complexity class separations?" Tags="&lt;cc.complexity-theory&gt;&lt;time-complexity&gt;&lt;p-vs-np&gt;&lt;conditional-results&gt;&lt;space-complexity&gt;" AnswerCount="0" CommentCount="4" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="12539" PostTypeId="1" AcceptedAnswerId="14197" CreationDate="2012-09-09T15:47:50.190" Score="7" ViewCount="371" Body="&lt;p&gt;I see most of the analysis for the greedy set cover analyses the approximation ratio. However, assume that each element in $T$ belong with a constant probability to one of the sets of $S$ (where $S = \{S_1, ...., S_k\}$). The question is then what is the expected number of sets generated by the greedy set cover in this case ?&lt;/p&gt;&#xA;" OwnerUserId="5411" LastEditorUserId="-1" LastEditDate="2012-11-11T06:28:33.197" LastActivityDate="2012-11-11T06:28:33.197" Title="expected number of sets generated by greedy set cover ?" Tags="&lt;ds.algorithms&gt;&lt;pr.probability&gt;&lt;set-cover&gt;&lt;greedy-algorithms&gt;" AnswerCount="1" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="12541" PostTypeId="1" CreationDate="2012-09-09T17:00:55.590" Score="4" ViewCount="1749" Body="&lt;p&gt;I had a problem where I need to apply bipartite weighted matching on a graph where the edge weights are real (positive and negative). I have looked at several implementations of the &lt;a href=&quot;http://en.wikipedia.org/wiki/Hungarian_algorithm&quot; rel=&quot;nofollow&quot;&gt;Hungarian method&lt;/a&gt; but all of them expect a cost matrix of non-negative integers as input.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Moreover, I even looked at the pseudo code given in Figure 11-2 of &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0486402584&quot; rel=&quot;nofollow&quot;&gt;Combinatorial Optimization: Algorithms and Complexity by Papadimitriou &amp;amp; Steiglitz&lt;/a&gt;. Even there, the pseudo code expects as input, cost matrix of non-negative integers. From what I understand of the algorithm, there shouldn't be any such restriction. Am I missing something here?&lt;/p&gt;&#xA;" OwnerUserId="8526" LastEditorUserId="3964" LastEditDate="2012-09-10T12:51:57.180" LastActivityDate="2012-09-10T12:51:57.180" Title="Can the Hungarian method be used with real edge weights?" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;graph-algorithms&gt;&lt;optimization&gt;&lt;linear-programming&gt;" AnswerCount="0" CommentCount="10" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="12548" PostTypeId="1" CreationDate="2012-09-10T14:12:25.773" Score="1" ViewCount="240" Body="&lt;p&gt;I am doing an optimization on a n-dimensional cube. That means that every solution is a set of $0$ and $1$, hence $s=\{0,1\}^n$. Most optimization algorithms though need a differential to work. E.g. going down a Slope&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Examples for algorithms that i cannot use: Newton's method, Quasi-Newton method, Finite difference, Approximation theory, and Numerical analysis&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However on a cube those do not work. My problem size is $n=20$ and higher, so a breadth first search is out of the question. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is a working optimization strategy for optimization on a cube? What would be its running time? I hope to get better than just a brute-force optimization that needs me to iterate through all possible combinations. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit&lt;/strong&gt;:&#xA;Here is my problem fleshed out. I am interested in a theoretical analysis and would like to have - as stated in the question - an algorithm that tackles this along with the runtime analysis. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have a combination of lightwaves. Each lightwave $L$ has a interaction with all other lightwaves. Meaning there is a relation $REL_{L_i,L_j} = func(Li,Lj)$ matrix. What i can do now is remove lightwaves, to remove interactions between waves. I would like to have the most lightwaves possible, while keeping the sum of the relations low. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem turns into a $(0,1)^n$ optimization, where $0$ is exclusion of a lightwave, $1$ is inclusion. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I hope this clarifies the problem up a bit and made sense. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit 2&lt;/strong&gt;:&#xA;I am optimizing for the term $\sum$ of relations divided by the number of lightwaves since a full pareto optimization would be useful, but impractical to display as a solution. (thanks  Tsuyoshi Ito)&lt;/p&gt;&#xA;" OwnerUserId="931" LastEditorUserId="186" LastEditDate="2012-09-15T05:51:52.657" LastActivityDate="2012-09-15T05:51:52.657" Title="Optimizing along a cube $s=\{0,1\}^n$" Tags="&lt;ds.algorithms&gt;&lt;optimization&gt;&lt;simplex&gt;" AnswerCount="0" CommentCount="19" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12549" PostTypeId="1" CreationDate="2012-09-10T15:08:18.550" Score="6" ViewCount="276" Body="&lt;p&gt;Consider a pushdown automaton $A$ with stack alphabet $\Gamma$. Let $L$ be the language on $\Gamma$ of the stack configurations encountered during accepting runs of $A$. Is $L$ a context-free language?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Preliminary observations:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$L$ is prefix-closed (any prefix of $L$ is in $L$)&lt;/li&gt;&#xA;&lt;li&gt;Using Bar-Hillel's lemma, pumping on the context-free language amounts to pumping on the stack language like a regular language. Hence, $L$ can be pumped as a regular language.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="4795" LastEditorUserId="4795" LastEditDate="2012-09-10T16:00:36.847" LastActivityDate="2012-09-10T16:00:36.847" Title="Language of stack configurations of a pushdown automaton" Tags="&lt;fl.formal-languages&gt;&lt;automata-theory&gt;&lt;context-free-languages&gt;" AnswerCount="0" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12550" PostTypeId="2" ParentId="12353" CreationDate="2012-09-10T17:44:09.600" Score="-2" Body="&lt;p&gt;there is also a method called the Krapchenko lower bound &quot;which can be slightly larger than Nechiporuks method&quot;. see John E Savage, &lt;a href=&quot;http://www.cs.brown.edu/~jes/book/pdfs/ModelsOfComputation.pdf&quot; rel=&quot;nofollow&quot;&gt;Models of Computation, section 9.4.2.&lt;/a&gt; (which is covered right after the Nechiporuk method in section 9.4.1)&lt;/p&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2012-09-10T17:44:09.600" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="12552" PostTypeId="1" CreationDate="2012-09-10T21:54:47.973" Score="9" ViewCount="251" Body="&lt;p&gt;Functors built from finite products and sums have closure ordinal $\omega$, detailed nicely in&#xA;&lt;a href=&quot;http://www.pps.univ-paris-diderot.fr/~metayer/PDF/fix.pdf&quot;&gt;this manuscript&lt;/a&gt; by Francois Metayer. i.e. we can reach the inductive type $nat := \mu X. 1 + X$ by iterating the functor $1 + X$, which reaches its fixed point after $\omega$ iterations. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;But once we allow constant exponentiation, such as in $\mu X. 1 + X + (nat \rightarrow X)$, then $\omega$ isn't enough.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm looking for results that include exponentiation. What kind of ordinals are sufficient?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Especially appreciated would be a reference that presents a proof that such functors are $\alpha$-continuous for some ordinal $\alpha$ like in the above manuscript.&lt;/p&gt;&#xA;" OwnerUserId="10661" LastEditorUserId="186" LastEditDate="2012-09-12T02:06:34.543" LastActivityDate="2012-09-12T20:32:22.910" Title="Closure ordinals for inductive types with function spaces" Tags="&lt;lo.logic&gt;&lt;type-theory&gt;&lt;ct.category-theory&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12553" PostTypeId="1" AcceptedAnswerId="12555" CreationDate="2012-09-11T04:22:41.570" Score="21" ViewCount="3146" Body="&lt;p&gt;I have just read on the &lt;a href=&quot;http://de.wikipedia.org/wiki/Unendlicher_Graph&quot;&gt;German Wikipedia&lt;/a&gt; that an infinite graph is a graph with an infinite number of nodes or an infinite number of edges. I only know applications and algorithms for finite graphs. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;What are infinite graphs good for?&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What are applications of those? I can't imagine algorithms that would work on infinite graphs, as you can't store an infinite graph. So you can't operate on it.&lt;/p&gt;&#xA;" OwnerUserId="4149" LastEditorUserId="186" LastEditDate="2012-09-12T02:06:19.713" LastActivityDate="2012-09-12T02:06:19.713" Title="What are infinite graphs good for?" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;" AnswerCount="4" CommentCount="2" FavoriteCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="12554" PostTypeId="2" ParentId="12553" CreationDate="2012-09-11T04:53:26.700" Score="9" Body="&lt;p&gt;In the anti-ferromagnetic region of the &lt;a href=&quot;http://en.wikipedia.org/wiki/Ising_model&quot;&gt;Ising model&lt;/a&gt;, the computation complexity of approximating counting depends on the &lt;a href=&quot;http://en.wikipedia.org/wiki/Gibbs_measure&quot;&gt;Gibbs measure&lt;/a&gt; over infinite $d$-regular trees. The Gibbs measure on these infinite $d$-regular trees undergoes a phase transition on a line called the uniqueness threshold.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On one side of the threshold, the Ising model is hard to approximate. On the other side of the threshold, the Ising model is easy to approximate. The complexity of the Ising model along the uniqueness threshold is currently an open problem, but the conjecture is that it is tractable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The most recent &lt;a href=&quot;http://arxiv.org/abs/1203.2602v1&quot;&gt;result&lt;/a&gt; in this line of work is by Sly an Sun.  See their references for other related works.&lt;/p&gt;&#xA;" OwnerUserId="3964" LastActivityDate="2012-09-11T04:53:26.700" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12555" PostTypeId="2" ParentId="12553" CreationDate="2012-09-11T04:56:32.100" Score="19" Body="&lt;p&gt;Many search problems in artificial intelligence (such as searching the game tree of a chess game, or searching for solutions to puzzles like the Rubik's cube, or more generally searching for sequences of actions to perform in order to accomplish some desired goal) are, in effect, algorithms on infinite graphs, even though the desired answer is a finite path. It is certainly possible to perform algorithms on such graphs, if they are represented &lt;a href=&quot;http://en.wikipedia.org/wiki/Implicit_graph&quot;&gt;implicitly&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But it is also true that mathematics may be useful even if it is not the mathematics of problems that can be solved by algorithms. Infinite graphs can be used to model birth and death processes (e.g. how do our rules for inheritance of names, and the rates at which people are born and die, lead to nonuniform distributions of family names among different human cultures?), to give a framework for approaching questions about mathematical symmetries (via &lt;a href=&quot;http://en.wikipedia.org/wiki/Cayley_graph&quot;&gt;Cayley graphs&lt;/a&gt;, which are often infinite), to provide models for reasoning about systems of logic (see &lt;a href=&quot;http://en.wikipedia.org/wiki/Rado_graph&quot;&gt;Rado graph&lt;/a&gt; and &lt;a href=&quot;http://en.wikipedia.org/wiki/Saturated_model&quot;&gt;saturated model&lt;/a&gt;), etc.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2012-09-11T04:56:32.100" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="12556" PostTypeId="2" ParentId="12504" CreationDate="2012-09-11T05:15:20.477" Score="22" Body="&lt;p&gt;this paper points out that computing the reciprocal square root value using floating point representation is widespread in CS applications (&quot;very common in scientific computations&quot;); the authors show that a more efficient formula is possible for computing the correctly rounded value if the ABC conjecture holds.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.103.6358&amp;amp;rep=rep1&amp;amp;type=pdf&quot;&gt;The abc conjecture and correctly rounded reciprocal square roots&#xA;&lt;/a&gt; Ernie Croot, Ren-Cang Li, Hui June Zhu, Elsevier TCS 2004&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] &lt;a href=&quot;http://en.wikipedia.org/wiki/Fast_inverse_square_root&quot;&gt;fast inverse square root calculation, wikipedia&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2012-09-11T05:15:20.477" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12558" PostTypeId="1" AcceptedAnswerId="12648" CreationDate="2012-09-11T09:59:51.110" Score="27" ViewCount="1025" Body="&lt;p&gt;In computational complexity there is an important distinction between monotone and general computations and a famous theorem by Razborov asserts that 3-SAT and even MATCHING are not polynomial in the monotone Boolean circuits model.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is simple: Is there a quantum analog for monotone circuits (or more than one)? Is there a quantum Razborov's theorem?&lt;/p&gt;&#xA;" OwnerUserId="712" LastActivityDate="2012-09-22T19:29:09.577" Title="A Notion of Monotone Quantum Circuits" Tags="&lt;cc.complexity-theory&gt;&lt;quantum-computing&gt;&lt;circuit-complexity&gt;" AnswerCount="3" CommentCount="12" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="12563" PostTypeId="2" ParentId="12552" CreationDate="2012-09-11T17:42:25.317" Score="4" Body="&lt;p&gt;I think I've found an answer that works in categories sufficiently like Set. It's theorem 3.1.12 in &lt;a href=&quot;https://www.tu-braunschweig.de/Medien-DB/iti/survey_full.pdf&quot; rel=&quot;nofollow&quot;&gt;Initial algebras and terminal coalgebras: a survey&lt;/a&gt; by Adamek, Milius, and Moss.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The answer is that no one ordinal is sufficient for all such functors. They get arbitrarily large.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More precisely, for $F(X) = C_0\times(A_0 \rightarrow X) + C_1\times(A_1 \rightarrow X)\;+\;...\;+\; C_n\times(A_n \rightarrow X)$, the answer is the first &lt;a href=&quot;http://en.wikipedia.org/wiki/Regular_cardinal&quot; rel=&quot;nofollow&quot;&gt;regular ordinal&lt;/a&gt; larger than all the $A_i$. We say $\alpha$ is regular if for all $\beta &amp;lt; \alpha$, all $\beta$-indexed chains of ordinals &amp;lt; $\alpha$ have a supremum &amp;lt; $\alpha$. Roughly, $\alpha$ is not reachable from a smaller chain of smaller ordinals.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The key result is that for $\alpha$ a regular ordinal, the well-founded $\alpha$-branching trees have transfinite depth &amp;lt; $\alpha$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Informally, I understand it as any $f : A_k \rightarrow F^\alpha(0)$ (i.e. $f : A_k \rightarrow \bigcup_{i&amp;lt;\alpha} F^i(0)$) &quot;fits into&quot; $A_k \rightarrow F^j(0)$ where $j := \mathrm{sup}_{(a:A_k)} \text{``the i such that }f(a) \text{ fits into } F^i(0)&quot;$. That $j &amp;lt; \alpha$ holds is precisely because $\alpha$ is regular and $|A_k| &amp;lt; \alpha$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So $(A_k \rightarrow \bigcup_{i&amp;lt;\alpha}F^i(0)) \subseteq \bigcup_{j&amp;lt;\alpha} (A_k \rightarrow F^j(0))$ for each $k$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So extending this across the $+$s and $\times$s, we have: $F(F^\alpha(0)) \subseteq \bigcup_{j&amp;lt;\alpha}F(F^j(0)) = \bigcup_{j&amp;lt;\alpha}F^j(0) = F^\alpha(0)$, and so it's reached the fixed point at $\alpha$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's not quite clear to me how to generalize this argument beyond Set though. How do we take $A_k$-indexed colimits?&lt;/p&gt;&#xA;" OwnerUserId="10661" LastEditorUserId="10661" LastEditDate="2012-09-11T18:58:38.890" LastActivityDate="2012-09-11T18:58:38.890" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12564" PostTypeId="1" AcceptedAnswerId="12572" CreationDate="2012-09-11T18:12:22.560" Score="8" ViewCount="350" Body="&lt;p&gt;Is that known something about languages recognized by two-way deterministic multihead counter automaton or logspace TM with counter (equivalent model)? This class called Aux2DC in my advisor's &lt;a href=&quot;http://arxiv.org/pdf/0811.2586.pdf&quot; rel=&quot;noreferrer&quot;&gt;paper&lt;/a&gt;. Or about such nondeterministic class? I've obtained that class of languages recognized by such nondeterministic maschines includes NL and it seems to be included in LOGCFL. Are there any papers on this subject? Is that result trivial?&lt;/p&gt;&#xA;" OwnerUserId="10676" LastEditorUserId="186" LastEditDate="2012-09-12T02:03:42.093" LastActivityDate="2012-09-12T02:03:42.093" Title="Two way deterministic multihead counter automata or logspace TM with counter" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;fl.formal-languages&gt;&lt;logspace&gt;&lt;counter-automata&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12565" PostTypeId="2" ParentId="12553" CreationDate="2012-09-11T18:50:30.543" Score="1" Body="&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Universal_graph&quot; rel=&quot;nofollow&quot;&gt;universal graphs&lt;/a&gt; are infinite &amp;amp; a generalization of the Rado random graph mentioned by DE. recent research in the area is in the direction of identifying universal graphs for a graph family F: ie, an infinite graph belonging to F that contains all finite graphs in F as induced subgraphs.&lt;/p&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2012-09-11T18:50:30.543" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12566" PostTypeId="2" ParentId="12552" CreationDate="2012-09-11T18:51:18.490" Score="5" Body="&lt;p&gt;The answer to your question depends on several things, the most important of which is the &lt;em&gt;size of your function spaces&lt;/em&gt;. I'll explain. Define&#xA;$$O_0 = nat $$&#xA;$$O_{n+1} = \mu X.\ 1+X+(O_n\rightarrow X)$$&#xA;As you noted in your answer, each $O_n$ can be considered &lt;em&gt;internally&lt;/em&gt; to be the $n$-th regular cardinal of your system. In set theory, this datatype can be represented by an actual ordinal and is appropriately huge. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, such constructions may be added to some version of type theory, and the question becomes: what ordinal is needed to give a &lt;em&gt;set-theoretic interpretation&lt;/em&gt; to this construct? Now if we restrict ourselves to &lt;em&gt;constructive&lt;/em&gt; semantics, a natural idea is to try to interpret each type by the set of &quot;realizers&quot; of this type, which is a subset of the set of $\lambda$-terms, or equivalently, the natural numbers $\mathbb{N}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In this case, it is easy to show that the ordinal is countable for any $O_n$, but that this ordinal grows very quickly. How quickly? Again, this depends on the amount of freedom you have when trying to build functions. The theory to building such ordinals is described in the theory of Large Countable Ordinals, of which &lt;a href=&quot;http://en.wikipedia.org/wiki/Large_countable_ordinal&quot; rel=&quot;nofollow&quot;&gt;Wikipedia&lt;/a&gt; has, surprisingly, a lot to say. In general it is easy to show that the ordinals in question are smaller than the &lt;a href=&quot;http://en.wikipedia.org/wiki/Church-Kleene_ordinal&quot; rel=&quot;nofollow&quot;&gt;Church-Kleene Ordinal&lt;/a&gt;, unless you allow non-constructive means of building functions (say $Beaver(n)$ that computes the busy beaver number for machines with $n$ states).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This isn't saying much though, except that in a constructive theory, you only require constructive ordinals to build interpretations. There is a bit more to say though. First, there is a very nice presentation by &lt;a href=&quot;http://www.cse.chalmers.se/~coquand/ordinal.ps&quot; rel=&quot;nofollow&quot;&gt;Thierry Coquand&lt;/a&gt; that details that &lt;strong&gt;in the absence of an eliminator for all other types but $nat$&lt;/strong&gt;, you can build $O_1$ in exactly $\epsilon_0$ steps. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In general there seems to be a correspondence between the logical strength of a type theory, and the size of the largest ordinal that it can represent in this manner. This correspondence is the subject matter of &lt;a href=&quot;http://en.wikipedia.org/wiki/Ordinal_analysis&quot; rel=&quot;nofollow&quot;&gt;Ordinal Analysis&lt;/a&gt;, which has been studied at great length since the late sixties, and is still under study today (with some amazing open questions). Warning though: the subject matter is as technical as it is fascinating.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hope this helps.&lt;/p&gt;&#xA;" OwnerUserId="3984" LastEditorUserId="3984" LastEditDate="2012-09-12T20:32:22.910" LastActivityDate="2012-09-12T20:32:22.910" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12567" PostTypeId="2" ParentId="12553" CreationDate="2012-09-11T19:00:21.090" Score="3" Body="&lt;p&gt;To give you a particular application where it is useful to think about infinite graphs, consider a network of distributed nodes, each of which runs a distributed algorithm that proceeds in rounds. In every round a node can update its state by performing local computation and communicate by sending/receiving messages to/from its neighbors. The output of such an algorithm is the combined output of all nodes. For example, every node could locally decide whether it is part of an independent set.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Certain distributed computing problems can be solved in constant time (i.e. constant number of rounds until all nodes terminate), no matter how many nodes are&#xA;in the network. In particular, any such algorithm will work on an infinite&#xA;(but locally finite) graph. That said, many classic problems (like MIS)&#xA;are subject to a &lt;a href=&quot;http://www.cs.huji.ac.il/~nati/PAPERS/locality_dist_graph_algs.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;lower bound&lt;/a&gt; of $\Omega(\log^* n)$ and thus cannot be computed on an infinite network.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Further discussion on this point can be found&#xA;&lt;a href=&quot;https://cstheory.stackexchange.com/questions/9313/infinitely-large-but-locally-finite-computation-problems/9321#9321&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="6785" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2012-09-11T19:00:21.090" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12568" PostTypeId="1" AcceptedAnswerId="12588" CreationDate="2012-09-11T19:18:21.547" Score="28" ViewCount="2390" Body="&lt;p&gt;Edit: I choice the answer with highest score by December 06, 2012.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is a soft question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The concept of (deterministic) algorithms dates back to BC. What about the probabilistic algorithms? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In &lt;a href=&quot;http://en.wikipedia.org/wiki/Randomized_algorithm#History&quot; rel=&quot;noreferrer&quot;&gt;this wiki entry&lt;/a&gt;, Rabin's algorithm for the closest pair problem in computational geometry was given as the first randomized algorithm (year???). Lipton introduced Rabin's algorithm as the start of the modern era of random algorithms &lt;a href=&quot;http://rjlipton.wordpress.com/2009/03/01/rabin-flips-a-coin/&quot; rel=&quot;noreferrer&quot;&gt;here&lt;/a&gt;, but not as the first one. I also know many algorithms for probabilistic finite automata (a very simple computational model) discovered during 1960s.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Do you know any probabilistic/randomized algorithms (or method) even before 1960s? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;or&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Which finding can be seen as the first probabilistic/randomized algorithm?&lt;/p&gt;&#xA;" OwnerUserId="7358" LastEditorUserId="7358" LastEditDate="2012-12-08T05:58:10.673" LastActivityDate="2012-12-09T11:59:30.403" Title="Probabilistic (randomized) algorithms before &quot;modern&quot; computer science appeared" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;big-list&gt;&lt;randomized-algorithms&gt;&lt;ho.history-overview&gt;" AnswerCount="10" CommentCount="4" FavoriteCount="5" CommunityOwnedDate="2012-12-12T19:24:16.087" ContentLicense="CC BY-SA 3.0" />
  <row Id="12569" PostTypeId="1" CreationDate="2012-09-11T20:04:05.390" Score="1" ViewCount="421" Body="&lt;p&gt;Is there any known result on the maximum degree of faces in regular-and-planar graphs ? In particular, is anything known about maximum degree of the faces in a 4-regular planar graph? By degree of a face I mean the number of edges forming it.&lt;/p&gt;&#xA;" OwnerUserId="5868" LastEditorUserId="186" LastEditDate="2012-09-12T02:05:02.577" LastActivityDate="2012-09-12T02:05:02.577" Title="Degree of faces in a regular graph" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;" AnswerCount="0" CommentCount="8" ClosedDate="2012-09-12T02:05:12.530" ContentLicense="CC BY-SA 3.0" />
  <row Id="12570" PostTypeId="1" CreationDate="2012-09-11T20:27:33.227" Score="15" ViewCount="325" Body="&lt;p&gt;This is a follow-up question to &lt;a href=&quot;https://cstheory.stackexchange.com/questions/12553/what-are-infinite-graphs-good-for&quot;&gt;this one&lt;/a&gt; about infinite graphs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Answers and comments to that question list objects and situations which are naturally modeled by infinite graphs. But there are also numerous theorems about infinite graphs (see chapter 8 in Diestel's book) of which, for example, &lt;a href=&quot;http://en.wikipedia.org/wiki/Koenig&amp;#39;s_lemma&quot; rel=&quot;nofollow noreferrer&quot;&gt;Koenig's infinity lemma&lt;/a&gt; is a very famous one.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now I have the following question: What can we prove with infinite graphs that we cannot prove without them? Or more specifically, what is an example where we model something as an infinite graph, then invoke a theorem about infinite graphs, and in the end have proved something about the original problem -- without knowing how to prove it otherwise?&lt;/p&gt;&#xA;" OwnerUserId="9735" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2012-09-19T09:56:57.180" Title="What can we prove with infinite graphs that we cannot prove without them?" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;lo.logic&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="12571" PostTypeId="2" ParentId="12568" CreationDate="2012-09-11T20:33:07.890" Score="28" Body="&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Buffon%27s_needle&quot;&gt;Buffons needle algorithm&lt;/a&gt; for estimating $\pi$, basically a &lt;a href=&quot;http://en.wikipedia.org/wiki/Monte_carlo_method&quot;&gt;Monte Carlo method&lt;/a&gt;, dates to publication in 1777. note that Monte Carlo methods date to the 1940s with the US &quot;Manhattan&quot; atom bomb project &amp;amp; were coinvented by Ulam, Von Neumann, and Metropolis.&lt;/p&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2012-09-11T20:33:07.890" CommentCount="2" CommunityOwnedDate="2012-12-12T19:24:16.087" ContentLicense="CC BY-SA 3.0" />
  <row Id="12572" PostTypeId="2" ParentId="12564" CreationDate="2012-09-11T20:39:03.573" Score="5" Body="&lt;p&gt;A two-way deterministic (nondeterministic) multi-head finite automaton can be simulated by a logspace DTM (NTM), and vice versa.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, for including class $ \mathsf{NL} $, you do not need a counter!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The value of the counter belonging to a two-way nondeterministic multi-head finite automaton with one-counter can be bounded by a polynomial, otherwise, the computation enters an infinite loop. Since both such a counter and the input heads can be simulated in logspace, $ \mathsf{LOGCFL} $ upper bound can be replaced with $ \mathsf{NL} $.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that any language recognized by a two-way deterministic (nondeterministic) one-head finite automaton with one-counter is in $ \mathsf{L} $ ($ \mathsf{NL} $).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are many papers on these topics, e.g. &lt;a href=&quot;http://arxiv.org/abs/0906.3051&quot;&gt;this paper&lt;/a&gt;. You can find more after some googling. (Check also Lemma 1 of &lt;a href=&quot;http://arxiv.org/abs/1207.3880&quot;&gt;this paper&lt;/a&gt;.)&lt;/p&gt;&#xA;" OwnerUserId="7358" LastActivityDate="2012-09-11T20:39:03.573" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12573" PostTypeId="2" ParentId="12568" CreationDate="2012-09-11T20:46:06.657" Score="1" Body="&lt;p&gt;one of Einsteins 1905 &quot;miracle&quot; papers was on &lt;a href=&quot;http://en.wikipedia.org/wiki/Brownian_motion#Einstein.27s_Theory&quot; rel=&quot;nofollow&quot;&gt;brownian motion&lt;/a&gt;, a classic physical example of a &lt;a href=&quot;http://en.wikipedia.org/wiki/Random_walk&quot; rel=&quot;nofollow&quot;&gt;random walk&lt;/a&gt; and yields a formula (ie, basically an algorithm, if the physical process is the &quot;computer&quot;) for estimating/calculating particle (molecule) diameter given other known physical constants and the observation/measurement of the (random) particle displacement over time. this paper also served as early theoretical/experimental/foundational evidence for the atomic theory of matter.&lt;/p&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2012-09-11T20:46:06.657" CommentCount="1" CommunityOwnedDate="2012-12-12T19:24:16.087" ContentLicense="CC BY-SA 3.0" />
  <row Id="12574" PostTypeId="2" ParentId="12568" CreationDate="2012-09-11T20:59:58.640" Score="11" Body="&lt;p&gt;The &lt;a href=&quot;http://en.wikipedia.org/wiki/Normal_distribution&quot;&gt;Gaussian normal curve/distribution&lt;/a&gt; of statistics can be &quot;computed&quot; by many very simple physical processes. One of the simplest is a &lt;a href=&quot;http://en.wikipedia.org/wiki/Bean_machine&quot;&gt;board with a pin array&lt;/a&gt; in a triangular grid  (also known as a &lt;a href=&quot;http://en.wikipedia.org/wiki/Francis_Galton&quot;&gt;&quot;Galton box&quot;&lt;/a&gt; dating to the 1800s) where pins are offset 1/2 square distance on alternating rows. Dropping balls repeatedly from the same position, the balls randomly displace left or right with probability 0.5. The cumulative distribution recorded at bottom positions yields the Gaussian curve/normal.&lt;/p&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="1761" LastEditDate="2012-09-12T14:30:35.153" LastActivityDate="2012-09-12T14:30:35.153" CommentCount="1" CommunityOwnedDate="2012-12-12T19:24:16.087" ContentLicense="CC BY-SA 3.0" />
  <row Id="12575" PostTypeId="2" ParentId="12568" CreationDate="2012-09-11T23:55:36.357" Score="11" Body="&lt;p&gt;In my opinion, &lt;a href=&quot;http://en.wikipedia.org/wiki/DNA&quot;&gt;natural evolution&lt;/a&gt; is a good and rather old probabilistic algorithm :-)&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2012-09-12T00:16:00.950" LastActivityDate="2012-09-12T00:16:00.950" CommentCount="10" CommunityOwnedDate="2012-12-12T19:24:16.087" ContentLicense="CC BY-SA 3.0" />
  <row Id="12576" PostTypeId="2" ParentId="12568" CreationDate="2012-09-12T00:18:13.333" Score="19" Body="&lt;p&gt;The &lt;a href=&quot;http://en.wikipedia.org/wiki/Metropolis%E2%80%93Hastings_algorithm&quot;&gt;Metropolis–Hastings algorithm&lt;/a&gt; was published in 1953 and dates back earlier to the Manhattan project, long before Rabin. Like many of the early randomized methods given in other answers, it is a Monte Carlo algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is it possible that the claim on the Wikipedia page is a garbled form of the claim that Rabin's was the first &lt;a href=&quot;http://en.wikipedia.org/wiki/Las_Vegas_algorithm&quot;&gt;Las Vegas algorithm&lt;/a&gt;?&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2012-09-12T00:18:13.333" CommentCount="0" CommunityOwnedDate="2012-12-12T19:24:16.087" ContentLicense="CC BY-SA 3.0" />
  <row Id="12578" PostTypeId="1" AcceptedAnswerId="12625" CreationDate="2012-09-12T04:32:51.737" Score="1" ViewCount="218" Body="&lt;p&gt;I'm finding is there any range summable hash function.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;ADD: The hash function I refer to is the one that is typically used in tug-of-war sketch(AMS sketch). Please refer to &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=237823&quot; rel=&quot;nofollow&quot;&gt;The space complexity of approximating the frequency moments&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://dl.acm.org/citation.cfm?id=776779&quot; rel=&quot;nofollow&quot;&gt;Improved range-summable random variable construction algorithms&lt;/a&gt; gives one for any k-wise independence, &#xA;but its author &lt;a href=&quot;http://web.eecs.umich.edu/~martinjs/&quot; rel=&quot;nofollow&quot;&gt;Martin J. Strauss&lt;/a&gt; shows it is &lt;a href=&quot;http://web.eecs.umich.edu/~martinjs/papers/ll-2005.pdf&quot; rel=&quot;nofollow&quot;&gt;incorrect&lt;/a&gt; from his homepage.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The only one I can find is from &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=1070550&quot; rel=&quot;nofollow&quot;&gt;One-Pass Wavelet Decompositions of Data Streams&lt;/a&gt;, where a 4-wise one is given. It used second-order Reed-Muller hash functions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there any other range summable hash functions with 4 or more independence?&lt;/p&gt;&#xA;" OwnerUserId="9885" LastEditorUserId="9885" LastEditDate="2012-09-13T00:40:47.817" LastActivityDate="2012-09-16T03:51:11.810" Title="fast range summable hash functions" Tags="&lt;ds.algorithms&gt;&lt;coding-theory&gt;&lt;hash-function&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="12579" PostTypeId="1" CreationDate="2012-09-12T08:11:40.513" Score="15" ViewCount="2139" Body="&lt;p&gt;I am self learning formal methods. I heard that formal methods is used (and usually only used) to create mission critical software (such as nuclear reactor controller, aircraft flight controller, space probe controller). That's why I am interested to learn it :p&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, after learning formal methods (especially LTL, CTL and their siblings), I feel that they can only be used to verify the correctness of the specification (safety, liveness, fairness, etc).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But then how to verify that the software (not only the specification) is indeed correct?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Disclaimer: I am a 90% idiot when it comes to theoretical computer science. So please be merciful while answering.&lt;/p&gt;&#xA;" OwnerUserId="10685" LastEditorUserId="186" LastEditDate="2012-09-12T18:16:25.843" LastActivityDate="2014-04-27T22:27:57.710" Title="How to Create Mission Critical Software?" Tags="&lt;program-verification&gt;&lt;formal-methods&gt;&lt;se.software-engineering&gt;" AnswerCount="9" CommentCount="5" FavoriteCount="10" ContentLicense="CC BY-SA 3.0" />
  <row Id="12580" PostTypeId="2" ParentId="12579" CreationDate="2012-09-12T13:18:41.610" Score="-2" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;But then how to verify that the software (not only the specification) is indeed correct?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Unit testing? Write a test for every single requirement in the spec, and then test every single method in your implementation to see that its output/input conforms to said spec. This can be automated so that these tests are run continuously to ensure no change ever breaks previously working features.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Theoretically speaking, if your unit tests have 100% code coverage (i.e. every single method in your code is tested) your software should be correct, provided the tests themselves are accurate and realistic.&lt;/p&gt;&#xA;" OwnerUserId="10688" LastActivityDate="2012-09-12T13:18:41.610" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="12581" PostTypeId="1" CreationDate="2012-09-12T14:11:27.960" Score="5" ViewCount="372" Body="&lt;p&gt;Counting the order of automorphism group of a graph is polynomial-time equivalent to graph isomorphism problem. But if we just want to know if the order is greater than 1, what is the complexity of this problem? Graphs which have no automorphism except for the trivial one, that is identity permutation, are called asymmetric graphs. So the problem is to check if the graph is asymmetric.&lt;/p&gt;&#xA;" OwnerUserId="10456" LastEditorUserId="80" LastEditDate="2012-09-12T19:24:13.527" LastActivityDate="2013-12-10T16:55:40.507" Title="Complexity of algorithm to test if a graph is asymmetric" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;&lt;graph-isomorphism&gt;&lt;algebraic-complexity&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12582" PostTypeId="2" ParentId="12579" CreationDate="2012-09-12T14:14:55.430" Score="4" Body="&lt;p&gt;fajrian, this question you've done cover two of the biggest problems in the research of software engineer: the conformity between the specification and the model and between the model and the code. Model here a representation of what the system will do, or how it will be done, there are lots of levels to model a system.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, there are some people trying to find the best answer to your question. Because it is very difficult to check the correctness of a software based on a model, for example, using formal methods. I know &lt;a href=&quot;http://www.eecs.ucf.edu/~leavens/JML/&quot; rel=&quot;nofollow&quot;&gt;JML&lt;/a&gt; is a way to do it, but i don't know the limits of its usage. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;To wrap up, how checking the correctness of code is hard to do, people try to mix formal methods and test, creating testing automatically from specifications for example. One example for real-time systems is the &lt;a href=&quot;https://sites.google.com/a/computacao.ufcg.edu.br/symbolrt/home/tiosts&quot; rel=&quot;nofollow&quot;&gt;TIOSTS&lt;/a&gt; that is a  based on input/output timed events.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Testing only is not a formal method approach, doing it improves reliability but not checks correctness.&lt;/p&gt;&#xA;" OwnerDisplayName="user10690" LastActivityDate="2012-09-12T14:14:55.430" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12584" PostTypeId="2" ParentId="12579" CreationDate="2012-09-12T14:36:07.147" Score="6" Body="&lt;p&gt;An old approach (but it is still used in some applications) is the &lt;a href=&quot;http://en.wikipedia.org/wiki/N-version_programming&quot;&gt;N-version programming&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;From Wikipedia:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;N-version programming&lt;/strong&gt; (&lt;strong&gt;NVP&lt;/strong&gt;), also known as &lt;em&gt;multiversion programming&lt;/em&gt;, is a method or process in software engineering where multiple functionally equivalent programs are independently generated from the same initial specifications. The concept of N-version programming was introduced in 1977 by Liming Chen and Algirdas Avizienis with the central conjecture that the &quot;independence of programming efforts will greatly reduce the probability of identical software faults occurring in two or more versions of the program&quot;.The aim of NVP is to improve the reliability of software operation by building in fault tolerance or redundancy.&lt;br&gt;....&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See for example: &quot;&lt;a href=&quot;http://www.iaeng.org/IJCS/issues_v35/issue_4/IJCS_35_4_07.pdf&quot;&gt;Challenges in Building Fault - Tolerant Flight Control System for a Civil Aircraft&lt;/a&gt;&quot;&lt;/p&gt;&#xA;" OwnerUserId="3247" LastActivityDate="2012-09-12T14:36:07.147" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="12585" PostTypeId="1" AcceptedAnswerId="12592" CreationDate="2012-09-12T14:44:07.823" Score="23" ViewCount="1264" Body="&lt;p&gt;The &lt;a href=&quot;http://en.wikipedia.org/wiki/Halting_problem&quot;&gt;Halting problem&lt;/a&gt; states that it is impossible to write a program that can determine if another program halts, for &lt;em&gt;all possible input programs&lt;/em&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I can, however, certainly write a program that can compute the running time of a program of  like:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;for(i=0; i&amp;lt;N; i++)&#xA;    { x = 1; }&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;and return a time complexity of $N$, without ever running it. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For all other input programs, it would return a flag indicating it was unable to determine the time-complexity.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is this:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;What conditions must hold, such that we can algorithmically determine the time-complexity of a given program?&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;*If there is a canonical reference or review article to this I would appreciate a link to it in the comments.&lt;/p&gt;&#xA;" OwnerUserId="10692" LastEditorUserId="186" LastEditDate="2012-09-12T18:20:45.773" LastActivityDate="2015-05-03T16:36:21.620" Title="To what extent can an algorithm predict the time complexity an arbitrary input program?" Tags="&lt;computability&gt;&lt;time-complexity&gt;&lt;formal-methods&gt;&lt;se.software-engineering&gt;" AnswerCount="2" CommentCount="10" FavoriteCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="12586" PostTypeId="2" ParentId="12522" CreationDate="2012-09-12T14:47:14.763" Score="0" Body="&lt;p&gt;At first, if you're going to create binary classifiers as you say, you need one classifier per category.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You should determine the features you going to use, and then, if you need to improve the accuracy or whatever, you think in adding others. But every classifier will suffer with it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I always think that decision trees are the simplest and most powerful classifiers when dealing with categorical data. You can start with it. The best part is that the resulting model is completely readable by everyone, and you can understand the logical rules that makes an instance to be accepted or not in a list.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The decay you want to create is something hard to do. Because the supervised classifiers do not care with the age of the instance. One way is to add a new feature &quot;timestamp&quot; and so you can simulate the decay behavior in the train dataset.&lt;/p&gt;&#xA;" OwnerDisplayName="user10690" LastActivityDate="2012-09-12T14:47:14.763" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12587" PostTypeId="2" ParentId="12579" CreationDate="2012-09-12T15:27:02.780" Score="7" Body="&lt;p&gt;The science of building reliable software in the &quot;real world&quot; is still being developed and is to some degree verging on an inherently cultural or anthropological study, because computers and software dont &quot;cause&quot; bugs— humans do! this answer will focus on general Q/A approaches of which formal software verification can be seen as one element.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;a remarkable observation is that often software that is &quot;good enough&quot; yet &quot;buggy&quot; can frequently outsell better tested but lower functionality software in the marketplace. in other words, the marketplace does not always put a premium on software quality and the modern techniques of software engineering, which do not always emphasize quality, somewhat reflect that. moreover quality can often add a significant expense to the final product. with those caveats, here are some of the basics:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;redundant/fault tolerant systems.&lt;/strong&gt; this is a wide area of study. fault tolerance &amp;amp; redundancy can be designed into the many layers of a system. eg a router, a server, a disk drive, etcetera.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;testing&lt;/strong&gt;. all the types— unit testing, integration testing, user acceptance testing, regression testing, etc.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;nowadays &lt;strong&gt;automated testing&lt;/strong&gt; via test suites that can be run unattended is more developed/important. test suites running are often coupled with the build tool.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;an important concept in testing is &lt;strong&gt;code coverage&lt;/strong&gt;. ie what code is &lt;strong&gt;exercised&lt;/strong&gt; by the test. a test cannot find a bug in code that is not &quot;touched&quot; by the test.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;another key concept in testing is &lt;strong&gt;test harnessess&lt;/strong&gt; that exercise code that is not easily accessed directly.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;tests should exercise all levels of the software. if the software is well modularized, this is not difficult. higher level tests should penetrate deeply into the code. tests that exercise large amounts of code with small test setup increase &lt;strong&gt;&quot;test leverage&quot;&lt;/strong&gt;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;making the code &lt;strong&gt;as least complicated as possible&lt;/strong&gt; is important for testing. testing should be a consideration in the architecture design. often there are multiple ways to implement the same feature yet some have much different implications for test coverage/leverage. for every branch in the code, its often another test case. branches within branches escalate to exponential increase in code paths. therefore avoiding highly nested/conditional logic improves ability to test.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;studying &lt;strong&gt;famous (massive) software failures&lt;/strong&gt; of which there are many examples &amp;amp; case studies is helpful for understanding the history and developing a mindset oriented towards quality considerations.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;one can get carried away with testing! there is both a problem with &lt;strong&gt;too little or too much&lt;/strong&gt; testing. there is a &quot;sweet spot&quot;. the software cannot be successfully built in either extreme.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;use all the basic tools in the most effective way. debuggers, code profilers, test code coverage tools, defect tracking system, etc! do not necessarily commit to fixing, but &lt;strong&gt;track&lt;/strong&gt; even the smallest defects in the tracking software. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;careful use of SCM, source code management, and &lt;strong&gt;branching&lt;/strong&gt; techniques is important in avoiding regressions, isolating and progressing fixes, etc&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;http://gse.ufsc.br/~bezerra/disciplinas/Confiabilidade/docs/n-versionprogramming.pdf&quot; rel=&quot;nofollow&quot;&gt;N-version Programming&lt;/a&gt;&lt;/strong&gt;: a practice used often for developing Mission Critical Software. The premise of this practice is that N independently developed programs are unlikely to have the same common bug / fault. This has been criticized in a few &lt;a href=&quot;http://sunnyday.mit.edu/critics.pdf&quot; rel=&quot;nofollow&quot;&gt;papers&lt;/a&gt; . &lt;a href=&quot;http://en.wikipedia.org/wiki/N-version_programming&quot; rel=&quot;nofollow&quot;&gt;NVP&lt;/a&gt; is, however, a practice not a theoretical concept.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I believe physicist Feynman has some account of the method that NASA used to guarantee reliability of the space shuttle systems in his book &quot;What do you care what other people think?&quot; — he said they had two teams, say Team A and Team B. team A built the software. team B took an adversarial approach to Team A and tried to break the software. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;it helps if Team B has good software engineering background, ie themselves can write code harness/programmatic tests etcetera. in that case Team B had almost equal level of resources as Team A. on the other hand, this approach is expensive because it can nearly double the cost of building the software. more typically, there is a smaller QA team compared to the development team.&lt;/p&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="111" LastEditDate="2012-09-17T11:05:06.887" LastActivityDate="2012-09-17T11:05:06.887" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="12588" PostTypeId="2" ParentId="12568" CreationDate="2012-09-12T16:51:42.673" Score="34" Body="&lt;p&gt;This is discussed a bit in my paper with H. C. Williams, &quot;Factoring Integers before Computers&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In a 1917 paper, H. C. Pocklington discussed an algorithm for finding sqrt(a), modulo p, which depended on choosing elements at random to get a nonresidue of a certain form.  In it, he said, &quot;We have to do this [find the nonresidue] by trial, using the Law of Quadratic Reciprocity, which is a defect in the method.  But as for each value of u half the values of t are suitable, there should be no difficulty in finding one.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So this is one of the first explicit mentions of a randomized algorithm.&lt;/p&gt;&#xA;" OwnerUserId="3227" LastActivityDate="2012-09-12T16:51:42.673" CommentCount="5" CommunityOwnedDate="2012-12-12T19:24:16.087" ContentLicense="CC BY-SA 3.0" />
  <row Id="12590" PostTypeId="2" ParentId="1198" CreationDate="2012-09-12T18:43:57.473" Score="5" Body="&lt;p&gt;If you are interested in concurrency theory, programming languages or interactive theorem proving, I warmly recommend the videos of the recent &lt;a href=&quot;http://events.inf.ed.ac.uk/Milner2012/videos.html&quot; rel=&quot;noreferrer&quot;&gt;Milner Symposium&lt;/a&gt;. For example J. Parrow's talk &lt;em&gt;The pi-calculus: Origin and recent developments&lt;/em&gt; tells the beautiful story of the early development of $\pi$-calculus, and B. Pierce's talk &lt;em&gt;Types à la Milner&lt;/em&gt; is a lucid overview of work on types for process calculi.&lt;/p&gt;&#xA;" OwnerUserId="898" LastEditorUserId="898" LastEditDate="2012-09-12T18:49:38.400" LastActivityDate="2012-09-12T18:49:38.400" CommentCount="0" CommunityOwnedDate="2012-09-12T18:43:57.473" ContentLicense="CC BY-SA 3.0" />
  <row Id="12592" PostTypeId="2" ParentId="12585" CreationDate="2012-09-12T21:57:40.623" Score="23" Body="&lt;p&gt;In general you cannot determine complexity, even for halting programs: let $T$ be some arbitrary Turing machine and let $p_T$ be the program (that always returns 0):&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;input: n&#xA;run T for n steps&#xA;if T is in halting state, output: 0&#xA;otherwise, loop for n^2 steps and output: 0&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;It is clear that it is undecidable in general whether $p_T$ is linear-time or quadratic-time. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, much work has been carried out on the effective computation of program complexity. I have particular fondness for &lt;a href=&quot;http://lipn.univ-paris13.fr/~baillot/GEOCAL06/ICCworkshop.html&quot; rel=&quot;nofollow&quot;&gt;Implicit Complexity Theory&lt;/a&gt; which aims at creating languages that, using special constructs or type disciplines, allows one to write only programs that inhabit a certain well-defined complexity class. By what I consider to be something of a miracle, these languages are often complete for that class!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One particularly nice example is described in &lt;a href=&quot;http://hal.archives-ouvertes.fr/docs/00/59/18/53/PDF/effraie.pdf&quot; rel=&quot;nofollow&quot;&gt;this paper&lt;/a&gt; by J.-Y. Marion, which describes a tiny imperative language, with a type discipline inspired from information-flow and security analysis techniques, which allows a characterization of algorithms in &lt;strong&gt;P&lt;/strong&gt;.&lt;/p&gt;&#xA;" OwnerUserId="3984" LastEditorUserId="705" LastEditDate="2015-05-03T16:36:21.620" LastActivityDate="2015-05-03T16:36:21.620" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="12593" PostTypeId="1" AcceptedAnswerId="14438" CreationDate="2012-09-12T22:44:31.207" Score="21" ViewCount="696" Body="&lt;p&gt;The one-dimensional traveling salesperson path problem is, obviously, the same thing as sorting, and so can be solved exactly by comparisons in $O(n\log n)$ time, but it is formulated in such a way that approximation as well as exact solution makes sense. In a model of computation in which the inputs are real numbers, and rounding to integers is possible, it's easy to approximate to within a $1+O(n^{-c})$ factor, for any constant $c$, in time $O(n)$: find the min and max, round everything to a number within distance $(\max-\min)n^{-(c+1)}$ of its original value, and then use radix sort. But models with rounding have problematic complexity theory and this led me to wonder, what about weaker models of computation?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, how accurately can the one-dimensional TSP be approximated, in a linear comparison tree model of computation (each comparison node tests the sign of a linear function of the input values), by an algorithm whose time complexity is $o(n\log n)$? The same rounding method allows any approximation ratio of the form $n^{1-o(1)}$ to be achieved (by using binary searches to do the rounding, and rounding much more coarsely to make it fast enough). But is it possible to achieve even an approximation ratio like $O(n^{1-\epsilon})$ for some $\epsilon&amp;gt;0$?&lt;/p&gt;&#xA;" OwnerUserId="95" LastEditorUserId="186" LastEditDate="2012-09-15T05:56:13.527" LastActivityDate="2013-03-26T23:27:36.130" Title="Approximate 1d TSP with linear comparisons?" Tags="&lt;ds.algorithms&gt;&lt;approximation-algorithms&gt;&lt;sorting&gt;&lt;tsp&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="12595" PostTypeId="1" CreationDate="2012-09-13T05:05:21.820" Score="9" ViewCount="266" Body="&lt;p&gt;Let $\mathsf{ZPL}$/$\mathsf{RL}$/$\mathsf{BPL}$ denote the classes of the languages which are accepted (with zero/one-side/two-side error) by a logspace Turing machine with one-way access to the random tape.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $\mathsf{ZP^*L}$/$\mathsf{R^*L}$/$\mathsf{BP^*L}$ denote the corresponding classes by replacing one-way to two-way access.  We have the normal inclusions $\mathsf{ZPL} \subseteq\mathsf{RL}\subseteq\mathsf{BPL}$ and $\mathsf{ZP^*L} \subseteq\mathsf{R^*L}\subseteq\mathsf{BP^*L}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the following paper, &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;a href=&quot;http://www.google.com.tw/url?sa=t&amp;amp;rct=j&amp;amp;q=&amp;amp;esrc=s&amp;amp;source=web&amp;amp;cd=1&amp;amp;cad=rja&amp;amp;ved=0CCoQFjAA&amp;amp;url=http://www.cs.huji.ac.il/~noam/otway.ps&amp;amp;ei=3GZRUIa2CeLkygHMzYHABg&amp;amp;usg=AFQjCNFx98mhnv7p-a_GTfkeNHIYhsA-3w&quot;&gt;On Read-Once vs. Multiple Access to Randomness in Logspace&lt;/a&gt;, Noam Nisan, 1995&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;he prove that $\mathsf{BPL} \subseteq \mathsf{ZP^*L}$, which is rather surprising because it seems that two-way access may be stronger than the one-way access.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Question.&lt;/strong&gt;  Do we have any further results which demonstrate the power of two-way access randomized logspace?  &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="1800" LastEditorUserId="1800" LastEditDate="2012-09-13T05:22:40.597" LastActivityDate="2020-01-30T18:52:22.550" Title="The power of randomized logspace with two-way access to the random tape" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;turing-machines&gt;&lt;randomness&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="12596" PostTypeId="1" CreationDate="2012-09-13T12:29:44.750" Score="0" ViewCount="288" Body="&lt;p&gt;It is well known that connecting NAND gates allows the construction of arbitrary circuits. Furthermore, a NAND gate can be represented as a digraph with four vertices (in order, the two inputs, the &quot;core&quot; of the gate, and the output) and adjacency matrix &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\begin{pmatrix}0 &amp;amp; 0 &amp;amp; 1 &amp;amp; 0 \\ 0 &amp;amp; 0 &amp;amp; 1 &amp;amp; 0 \\ 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; 1 \\ 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 \end{pmatrix}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Gluing these together gives a bijective correspondence between a certain class of digraphs and circuits built from wires and NAND gates. With this in mind, &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;is there a standard terminology for this correspondence/construction?&#xA;  Are there common references where it is discussed?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I am particularly interested in the extent to which topological features of the digraph (e.g., the non-trivial homotopy induced by flip-flops) can be or have been related to the computational features of the corresponding circuit.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;NB. This was &lt;a href=&quot;https://math.stackexchange.com/questions/194361/boolean-circuits-and-digraphs&quot;&gt;cross posted from MSE&lt;/a&gt; after two days.&lt;/p&gt;&#xA;" OwnerUserId="1671" LastEditorUserId="-1" LastEditDate="2017-04-13T12:19:19.363" LastActivityDate="2012-09-15T05:56:36.553" Title="Boolean circuits and digraphs" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;boolean-functions&gt;" AnswerCount="0" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="12597" PostTypeId="2" ParentId="12568" CreationDate="2012-09-13T14:56:42.853" Score="-7" Body="&lt;p&gt;JS mentions number theory. Fermat is credited with the &lt;a href=&quot;http://en.wikipedia.org/wiki/Fermat_primality_test&quot; rel=&quot;nofollow&quot;&gt;Fermat primality test&lt;/a&gt;, a probabilistic algorithm which dates to the 1600s and serves as a precursor to more modern primality tests such as Solovay-Strassen and Miller-Rabin. [it would take a historian specializing in math &amp;amp; number theory to try to pinpoint exactly what Fermat knew about it versus modern knowledge which is much more complete about the structure of its pseudoprimes (false positives) etc.]&lt;/p&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2012-09-13T14:56:42.853" CommentCount="8" CommunityOwnedDate="2012-12-12T19:24:16.087" ContentLicense="CC BY-SA 3.0" />
  <row Id="12598" PostTypeId="1" CreationDate="2012-09-13T15:04:46.817" Score="10" ViewCount="1729" Body="&lt;p&gt;For a node $v$ of a directed unweighted graph $G$, I define the $k$-hop neighborhood of $v$ as the set of vertices that are reachable from $v$ in $k$ hops or fewer (that is following a path with  $k$ edges or fewer).  I would like to compute the cardinality of this $k$-hop neighborhood for very node $v$ in $G$.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;One option is to simply raise the adjacency matrix of $G$ to the power $k$ using Boolean arithmetic and then sum the rows.  This is however rather slow and seems wasteful (consider for example the complete graph or a very sparse graph). Another approach is to naively search from each node but this is at least $O(n d^k)$ time for a $d$-regular graph, for example. This naive method is also wasteful as it doesn't take advantage of any previous computations it has done.  The sizes of the neighborhood of two adjacent nodes are surely not independent.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a fast, perhaps randomized,  way of solving this problem?  &lt;/p&gt;&#xA;" OwnerUserId="10708" LastEditorUserId="10708" LastEditDate="2012-09-13T16:16:59.460" LastActivityDate="2021-02-01T23:03:20.377" Title="Count $k$-hop neighborhood for every vertex" Tags="&lt;ds.algorithms&gt;&lt;graph-algorithms&gt;&lt;randomized-algorithms&gt;" AnswerCount="1" CommentCount="7" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="12599" PostTypeId="2" ParentId="12568" CreationDate="2012-09-13T15:12:39.550" Score="-6" Body="&lt;p&gt;here are some cases of the early and even ancient/prehistory beginnings of concepts related to randomized algorithms.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;consider the &lt;a href=&quot;http://en.wikipedia.org/wiki/Sieve_of_Eratosthenes&quot; rel=&quot;nofollow&quot;&gt;&lt;strong&gt;Sieve of Eratosthenes,&lt;/strong&gt;&lt;/a&gt; approx 2 millenia old. somewhat implicit in the algorithm would be the idea of &quot;stopping early&quot; in marking off the prime intervals, before all intervals up to $n/2$ have been marked off. it is clear that the &quot;later&quot; longer intervals are less likely to mark off a given number under consideration. in other words, its a rough visualization of the basic number theory fact that &quot;most composite numbers have small factors&quot; and that testing a bunch of small factors is enough to rule out many composite numbers. this concept would probably be understood by the Greeks.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;games of chance&lt;/strong&gt; and &lt;strong&gt;gambling&lt;/strong&gt; are very ancient. from modern theory, games have strong similarities if not direct connections to algorithms. gambling/gaming &lt;a href=&quot;http://en.wikipedia.org/wiki/dice&quot; rel=&quot;nofollow&quot;&gt;&lt;strong&gt;dice&lt;/strong&gt;&lt;/a&gt; are known to be at least &lt;em&gt;five millenia&lt;/em&gt; old.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;the Greeks &amp;amp; Romans also had the concept of &lt;strong&gt;drawing straws&lt;/strong&gt; where the person drawing the shortest straw lost. similar to dice, its in a sense the simplest possible algorithm to make a single random choice.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;full disclosure, there is a tinge of bloody history and connection. in other answer MDB mentions &lt;strong&gt;evolution&lt;/strong&gt;. part of evolution is &lt;strong&gt;natural selection&lt;/strong&gt; which also has parallels to &lt;strong&gt;human warfare&lt;/strong&gt; — apparently an intrinsic part of the evolution of human cities/societies. in a sense a war is a crude semirandom algorithm for &quot;something&quot; which sociologists &amp;amp; historians still argue over exact causes. theft/looting? allocating resources? territory? political power? slaves? (etc.) the Romans also had a grisly practice called &lt;a href=&quot;http://en.wikipedia.org/wiki/Decimation_%28Roman_army%29&quot; rel=&quot;nofollow&quot;&gt;&lt;strong&gt;decimation&lt;/strong&gt;&lt;/a&gt; (the modern word actually derives in etymology from the ancient one!) in which, as punishment for mutiny or cowardice, every 10th soldier selected at random was executed by remaining soldiers. it might seem a forgotten and atavistic practice, but it seems to have some parallel to modern &lt;a href=&quot;http://en.wikipedia.org/wiki/Russian_roulette&quot; rel=&quot;nofollow&quot;&gt;&lt;strong&gt;russian roulette&lt;/strong&gt;&lt;/a&gt;, a &quot;modern&quot; randomized quasi-game for suicide.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="7884" LastEditDate="2012-09-13T15:25:45.193" LastActivityDate="2012-09-13T15:25:45.193" CommentCount="14" CommunityOwnedDate="2012-12-12T19:24:16.087" ContentLicense="CC BY-SA 3.0" />
  <row Id="12600" PostTypeId="1" CreationDate="2012-09-13T17:05:37.600" Score="3" ViewCount="121" Body="&lt;p&gt;I have an $n \times m$ matrix of data $\mathbf{D}$ as well as a $k$-partition $P$ of $n$ indices each representing a row in a dataset. Assuming an arbitrary clustering algorithm $A$, I would like to find a subset $F$ of $\{1,\ldots, m\}$, representing indices of the columns of $D$, such that applying $A$ to only the columns indexed by $F$, an $n \times |F|$ matrix, minimizes the average variation of information (VI) between $P$ and the output of $A$. Another way of saying this is that I would like to be able to find the subspace on which $\mathbf{D}$ is most informative about $P$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;(That the metric is VI or that the statistic taken over multiple runs is an average is not necessarily important. I'm looking for a general solution, but if a solution that specifies either the metric or the clustering algorithm exists, I'd be interested.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Attempting to build the distribution of (normalized) variation of information values by brute force is not practical since the number of possible subsets of $\{1,\ldots, m\}$ is the Stirling number (of the second kind) $S(m, 2)$, which obviously gets monstrous as $m$ gets to any interesting size.&lt;/p&gt;&#xA;" OwnerUserId="8781" LastActivityDate="2012-09-13T17:05:37.600" Title="Finding most informative feature subsets given dataset, clustering algorithm and gold standard partition" Tags="&lt;machine-learning&gt;&lt;clustering&gt;&lt;data-mining&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="12601" PostTypeId="1" CreationDate="2012-09-13T17:11:44.283" Score="2" ViewCount="522" Body="&lt;p&gt;I have a recursive algorithm in which the time for each step depends on the time for smaller steps. Essentially a structure is built at steps 1, 2, ..., n which must be searched at larger heights:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;T(n)=T(n-1)+(1+o(1))\log(T(n-1))&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(yes, the larger the time searching the more data is added to the structure!)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It seems 'obvious' that $T(n)\approx n\log n,$ but can this be proved? In particular:&#xA;$$&#xA;T(n)\stackrel{?}{=}n\log n+o(n\log n)&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Better bounds on the error term would be great. I believe the error is $\omega(n).$&lt;/p&gt;&#xA;" OwnerUserId="962" LastEditorUserId="186" LastEditDate="2012-09-15T05:58:30.763" LastActivityDate="2012-09-15T05:58:30.763" Title="Tricky big-O calculation" Tags="&lt;ds.algorithms&gt;&lt;time-complexity&gt;&lt;analysis-of-algorithms&gt;" AnswerCount="0" CommentCount="9" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12602" PostTypeId="2" ParentId="12471" CreationDate="2012-09-13T19:13:06.317" Score="5" Body="&lt;p&gt;I believe &lt;a href=&quot;http://www.harremoes.dk/Peter/poisson.pdf&quot;&gt;this paper&lt;/a&gt; by Harremoes proves that if you take a sum of $n$ Bernoulli random variables $Z_1,Z_2,...,Z_n$, each with parameter $p$ then then entropy of $Z_1+Z_2+...+Z_n$ is less that the entropy of a Poisson distribution with the mean $np$. From a quick look at Wikipedia, it seems that for large values of $np$ the entropy of a Poisson is $\frac{1}{2}\log n + O(\log n)$, which is what you expect.&lt;/p&gt;&#xA;" OwnerUserId="10454" LastEditorUserId="10454" LastEditDate="2012-09-13T19:18:46.920" LastActivityDate="2012-09-13T19:18:46.920" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12603" PostTypeId="2" ParentId="12529" CreationDate="2012-09-13T20:15:01.920" Score="5" Body="&lt;p&gt;The answer is certainly yes. Assume for simplicity that the two strings are of equal length $n$. If the &quot;induced&quot; alphabet of each string is also of size $n$, then both strings are permutations, and the problem degenerates to the classical &lt;em&gt;longest increasing subsequence (LIS) problem&lt;/em&gt;: it is easy to see that the edit distance between a given permutation $\pi$ and the sorted permutation $1,2,\ldots,n$ is $n-LIS(\pi)$. The LIS problem was studied as early as 1930s by Erdos and Szekeres, and by Robinson. The best algorithms for LIS run in time $O(n \log n)$ or $O(n \log\log n)$, depending on the computation model. Such algorithms were (re)discovered dozens of times (or perhaps hundreds of thousands, considering that the problem makes a good programming exercise), often with various twists. It is easy to find the relevant papers, since most of them cite previous work. The most recent result I am aware of, and a good point to start exploring the references, is the $O(n \log\log LIS(\pi))$ algorithm by Crochemore and Porat:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;M. Crochemore and E. Porat. Fast computation of a longest increasing subsequence and application. &lt;em&gt;Information and Computation&lt;/em&gt;, 208(9):1054--1059, 2010. &lt;a href=&quot;http://dx.doi.org/10.1016/j.ic.2010.04.003&quot;&gt;http://dx.doi.org/10.1016/j.ic.2010.04.003&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The same paper also describes how to interpolate between this extreme case and the general edit distance problem, taking the total number of character matches as a parameter. This is relevant when your &quot;induced&quot; alphabet size is large, but not exactly equal to $n$. For smaller &quot;induced&quot; alphabet sizes (say $n/2$), it is easy to construct examples that are essentially binary over a significant part (say, one half) of each input string, so a large &quot;induced&quot; alphabet over the whole string won't help more than by a constant factor.&lt;/p&gt;&#xA;" OwnerUserId="2869" LastEditorUserId="2869" LastEditDate="2012-09-13T20:20:18.263" LastActivityDate="2012-09-13T20:20:18.263" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12606" PostTypeId="1" AcceptedAnswerId="12607" CreationDate="2012-09-14T06:39:35.440" Score="12" ViewCount="1195" Body="&lt;p&gt;Here : &lt;a href=&quot;http://www.planarity.org/Klein_elementary_graph_theory.pdf&quot;&gt;http://www.planarity.org/Klein_elementary_graph_theory.pdf&lt;/a&gt; (in chapter embeddings) is given definition of &lt;em&gt;combinatorial embedding&lt;/em&gt; of a planar graph. (with definition of faces and so on) Though it could be easily used for any graph, they define planar graph as the graph, for which Euler formula holds (assuming that graph is connected). It pretty much understandable that for every &lt;strong&gt;plane&lt;/strong&gt; graph the definition of faces in combinatorial embedding is similar to the definition of faces in topological embedding. (assuming that graph is connected. Otherwise in combinatorial embedding we'll have infinite face for every connected component)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The question is: if for some connected graph it's combinatorial embedding satisfies Euler formula, does this mean that this graph is planar in topological sense (it has plane embedding, i.e. it's &lt;strong&gt;plane&lt;/strong&gt; graph)?&lt;/p&gt;&#xA;" OwnerUserId="7612" LastEditorUserId="186" LastEditDate="2012-09-15T05:57:32.963" LastActivityDate="2012-09-15T05:57:32.963" Title="Combinatorial embedding of a graph" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;planar-graphs&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="12607" PostTypeId="2" ParentId="12606" CreationDate="2012-09-14T07:13:35.190" Score="16" Body="&lt;p&gt;This is really less about graph per se and more about topology. A combinatorial embedding defines a 2-manifold, a topological space in which every point has a neighborhood homeomorphic to a 2-dimensional open disk: the embedding allows a face to be defined, and we can define a topological space by choosing a disk for each face and gluing them together along the graph edges. A well known theorem in topology (called the classification of 2-manifolds) tells us exactly which 2-manifolds are possible, and they are all distinguishable from each other either by whether they are orientable or whether they have the same Euler characteristic (or both) — see &lt;a href=&quot;http://www.maths.ed.ac.uk/~aar/surgery/zeeman.pdf&quot;&gt;http://www.maths.ed.ac.uk/~aar/surgery/zeeman.pdf&lt;/a&gt; for some reasonable lecture notes on this subject, that include the proof you're asking for. There are no other 2-manifolds in this classification that have the same Euler characteristic as the sphere, so if you calculate the Euler characteristic and find that it matches the formula for a sphere, you know your embedding must be onto a sphere.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finding an embedding with actual geometric coordinates in the plane, once you have a planar combinatorial embedding, is not entirely trivial but can be done e.g. using the theory of Schnyder woods. I have some lecture notes on this at &lt;a href=&quot;http://www.ics.uci.edu/~eppstein/gina/schnyder/&quot;&gt;http://www.ics.uci.edu/~eppstein/gina/schnyder/&lt;/a&gt; for instance.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2012-09-14T07:13:35.190" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="12608" PostTypeId="2" ParentId="12579" CreationDate="2012-09-14T09:18:52.187" Score="8" Body="&lt;p&gt;One approach to reducing the gap between a program and its specification is to use a language with a formal semantics.  An interesting example here would be &lt;a href=&quot;http://www-sop.inria.fr/meije/esterel/doc/main-papers.html&quot;&gt;Esterel&lt;/a&gt;.  Have a look at Gérard Berry's web page for some interesting talks about his work bringing formal methods into the real world.&#xA;&lt;a href=&quot;http://www-sop.inria.fr/members/Gerard.Berry/&quot;&gt;http://www-sop.inria.fr/members/Gerard.Berry/&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;p.s. Been on an Airbus?  You have flown with formal methods!&lt;/p&gt;&#xA;" OwnerUserId="2632" LastActivityDate="2012-09-14T09:18:52.187" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="12613" PostTypeId="1" AcceptedAnswerId="12618" CreationDate="2012-09-14T20:26:57.733" Score="2" ViewCount="166" Body="&lt;p&gt;The crossing number of a graph $G$ is defined as the least number of crossings introduced when $G$ is drawn as a topological graph in the plane.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there anything known about the maximum number of crossings which can be introduced by drawing $G$ as a topological graph in the plane?&lt;/p&gt;&#xA;" OwnerUserId="7785" LastEditorUserId="186" LastEditDate="2012-09-15T05:53:16.917" LastActivityDate="2012-09-15T05:54:35.243" Title="Maximum Crossing number of topological graph" Tags="&lt;graph-theory&gt;&lt;cg.comp-geom&gt;&lt;planar-graphs&gt;&lt;graph-drawing&gt;" AnswerCount="2" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12617" PostTypeId="2" ParentId="12613" CreationDate="2012-09-15T03:59:19.100" Score="2" Body="&lt;p&gt;I don't think this value is well defined the way it was posed, since there is always a drawing where an edge cross every other, but if you restrict the problem to linear drawings, then you have the maximum linear crossing number. &lt;a href=&quot;http://www.math.uiuc.edu/~west/regs/crossnum.html&quot; rel=&quot;nofollow&quot;&gt;This page of Douglas West&lt;/a&gt; relates this parameter with other parameters involving crossings. I think it can be useful.&lt;/p&gt;&#xA;" OwnerUserId="282" LastActivityDate="2012-09-15T03:59:19.100" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12618" PostTypeId="2" ParentId="12613" CreationDate="2012-09-15T05:54:35.243" Score="5" Body="&lt;p&gt;As Vinicius Santos has already said, this doesn't make sense without further restrictions (you can make any single edge cross itself as many times as you like). But a well-studied variant of this arises if you only allow each pair of edges to cross at most once, and not at all if they share an endpoint. Then, the graph drawings in which every possible crossing exists are called thrackles, and it's &lt;a href=&quot;http://en.wikipedia.org/wiki/Conway%27s_thrackle_conjecture&quot;&gt;a longstanding open problem&lt;/a&gt; to characterize them.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2012-09-15T05:54:35.243" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12619" PostTypeId="1" CreationDate="2012-09-15T06:35:27.877" Score="1" ViewCount="218" Body="&lt;p&gt;I'm interested in IR and Search Engines and want to work on a theory problem in this space. Most thoughts that I get are focused towards implementation and would like to explore something not solved or can be bettered instead of implementing&lt;/p&gt;&#xA;" OwnerUserId="4396" LastEditorUserId="5385" LastEditDate="2014-05-18T18:23:02.063" LastActivityDate="2014-05-18T18:23:02.063" Title="What are some theory problems in Information Retrieval and Search Engines which are not yet solved or can be bettered?" Tags="&lt;reference-request&gt;&lt;lg.learning&gt;&lt;ir.information-retrieval&gt;&lt;search-engines&gt;" AnswerCount="2" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="12620" PostTypeId="2" ParentId="12568" CreationDate="2012-09-15T15:22:51.960" Score="-4" Body="&lt;p&gt;another answer in the vein of JS's number theory direction. one of the earliest analog-digital computers constructed is the &lt;a href=&quot;http://en.wikipedia.org/wiki/Lehmer_sieve&quot; rel=&quot;nofollow noreferrer&quot;&gt;Lehmer sieve&lt;/a&gt; dating to ~1932, predating electronic computers by about a decade. it basically computes remainder of division &lt;em&gt;mod&lt;/em&gt; $n_i$ for a finite number of $n_i$ and applies the &lt;a href=&quot;http://en.wikipedia.org/wiki/Chinese_remainder_theorem&quot; rel=&quot;nofollow noreferrer&quot;&gt;chinese remainder thm&lt;/a&gt;. for larger numbers it computes probabilistic answers to number theory questions including factoring. although the terminology at the time may not have referred to &quot;probabilistic algorithms&quot; it was possibly used in this way in some cases. (in this way it also has some similarity to the Fermat probabilistic prime test.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;the machine also bears some similarity to the &lt;a href=&quot;http://en.wikipedia.org/wiki/Babbage_engine&quot; rel=&quot;nofollow noreferrer&quot;&gt;Babbage differential engine&lt;/a&gt; (~1830s). its not entirely inconceivable that Babbage or Lovelace may have envisioned something similar to probabilistic algorithms. the machine(s) can certainly be &lt;em&gt;used&lt;/em&gt; to implement probabilistic algorithms, borrowing modern theory and superimposing it on the past.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] &lt;a href=&quot;http://ed-thelen.org/comp-hist/Lehmer-Factoring-Machines.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;Lehmer factoring machine&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] &lt;a href=&quot;http://en.wikipedia.org/wiki/Babbage_engine&quot; rel=&quot;nofollow noreferrer&quot;&gt;Babbage engine&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/5yK4D.jpg&quot; width=&quot;200&quot; height=&quot;230&quot;&gt;&lt;br&gt;&#xA;Lehmer &lt;em&gt;mod n&lt;/em&gt; &amp;amp; factoring machine&lt;/p&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="7884" LastEditDate="2012-09-15T15:37:35.117" LastActivityDate="2012-09-15T15:37:35.117" CommentCount="13" CommunityOwnedDate="2012-12-12T19:24:16.087" ContentLicense="CC BY-SA 3.0" />
  <row Id="12623" PostTypeId="1" CreationDate="2012-09-15T23:23:51.207" Score="5" ViewCount="1583" Body="&lt;p&gt;Does anyone know of any tools that solve the approximate minimum set cover problem?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I know of the greedy algorithm (which is straightforward to implement myself), but I've also been reading about more sophisticated algorithms/heuristic that do better on many problems in practice.  (e.g., &lt;a href=&quot;http://www.dei.unipd.it/~fisch/papers/survey_set_covering_problem.pdf&quot; rel=&quot;nofollow&quot;&gt;Algorithms for the Set Covering Problem&lt;/a&gt; by Caprara et al.)  Are there any implementations generally available?  Any tools that others can use to find approximately optimal solutions, for large problem instances?  I'd prefer to use an existing tool, rather than try to understand and implement these sophisticated algorithms myself.&lt;/p&gt;&#xA;" OwnerUserId="5038" LastEditorUserId="186" LastEditDate="2012-09-22T20:33:48.250" LastActivityDate="2012-09-22T20:33:48.250" Title="Implementation that solves minimum set cover" Tags="&lt;ds.algorithms&gt;&lt;optimization&gt;&lt;set-cover&gt;&lt;implementation&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="12624" PostTypeId="2" ParentId="12619" CreationDate="2012-09-15T23:51:37.350" Score="1" Body="&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Anaphora_%28linguistics%29#Anaphor_resolution&quot; rel=&quot;nofollow&quot;&gt;Anaphor resolution&lt;/a&gt;:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Since this type of understanding is still poorly implemented in software, automated anaphora resolution is currently an area of active research within the realm of natural language processing.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="10736" LastEditorUserId="10736" LastEditDate="2012-09-15T23:58:30.820" LastActivityDate="2012-09-15T23:58:30.820" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12625" PostTypeId="2" ParentId="12578" CreationDate="2012-09-16T03:51:11.810" Score="1" Body="&lt;p&gt;I have found the newest one that gives 7-wise independence using MR code, also two others based on BCH and EH code with 3-wise independence. They are tested to be good enough for AMS sketch in &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=1242528&quot; rel=&quot;nofollow&quot;&gt;this paper&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="9885" LastActivityDate="2012-09-16T03:51:11.810" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12627" PostTypeId="1" CreationDate="2012-09-16T12:50:52.417" Score="14" ViewCount="353" Body="&lt;p&gt;Thanks for a great forum. This is my first post here. I am working on a signal processing application and the core of one the main algorithms reduces to a graph theoretical problem.   &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $G=(V,E)$ be a simple connected graph. Each edge is of length 1. In addition, we assign directions to edges. Note that the graph is undirected, as we can traverse each edge in either direction. The assigned direction only determines the weight of each edge (either +1 or -1) depending on the direction of the traverse. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For each pair $v,u \in V$ of vertices, we define &lt;i&gt;anti-distance&lt;/i&gt; $d(u,v)=-d(v,u)$, as the weighted average length of all the paths from $u$ to $v$. Note that the weights are dependent on the path and can be negative. The goal is to find $d(u,v)$ for all the pairs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The algorithm I currently use is to generate many random spanning trees of $G$ (say, using the Aldous-Broder Algorithm), find $d(u,v)$ for each spanning tree (which is unambiguous and easy to find), and then average them all. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For our signal processing application, the input graphs have few hundreds nodes and it takes $\approx 10^5$ spanning trees to get  reasonable values. It is practical, but not pretty! The question is whether there is a better way to do this that does not need what is essentially amount to a Monte-Carlo simulation.&lt;/p&gt;&#xA;" OwnerUserId="10740" LastEditorUserId="186" LastEditDate="2012-09-19T22:53:11.457" LastActivityDate="2012-09-19T22:53:11.457" Title="Finding all-pairs anti-distance" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;approximation&gt;&lt;monte-carlo&gt;" AnswerCount="0" CommentCount="6" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="12630" PostTypeId="1" CreationDate="2012-09-16T15:46:05.363" Score="3" ViewCount="195" Body="&lt;p&gt;Assume we are given an arbitrary undirected graph $G = (V, E)$ where $|V| = n$. We are also given real numbers $x_e \in [0, 1]$ for each $e \in E$. These numbers satisfy the following constraint:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;\begin{equation}&#xA;\sum_{e \in E(N, \bar N)} x_e \leq c&#xA;\end{equation}&lt;/p&gt;&#xA;&#xA;&lt;p&gt;for each neighborhood $N$, and for some fixed constant $c$ ($c$ may be given as part of the input. The crucial point is that it independent of $n$). A &quot;neighborhood&quot; is a $k$-hop neighborhood of any vertex, for any $k$. A $k$-hop neighborhood of a vertex $v$ is the set of all vertices that can be reached from $v$ using $k$ or less edges. &#xA;$E(A, B)$ denotes the edges between sets $A$ and $B$, $E(N, \bar N)$ is thus the set of edges crossing the cut defined by $N$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am interested in (randomized?) rounding $x_e$ that will give me a binary solution that is of approximately the same size and satisfies the constraints approximately.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In other words, how can I round $x_e$ to binary $x'_e$ such that $\sum_{e \in E} x'_e = \Omega(\sum_{e\in E} x_e)$ and &lt;/p&gt;&#xA;&#xA;&lt;p&gt;\begin{equation}&#xA;\sum_{e \in E(N, \bar N)} x'_e \leq O(c)&#xA;\end{equation}&#xA;for each neighborhood $N$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Randomized rounding seems to give only $\sum_{e \in E(N, \bar N)} x'_e \leq O(\log n)$ since we need to union bound over polynomially many neighborhoods.&lt;/p&gt;&#xA;" OwnerUserId="360" LastEditorUserId="186" LastEditDate="2012-09-19T22:48:53.273" LastActivityDate="2012-09-19T22:48:53.273" Title="Randomized rounding on a graph" Tags="&lt;ds.algorithms&gt;&lt;graph-algorithms&gt;&lt;randomized-algorithms&gt;" AnswerCount="0" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="12631" PostTypeId="1" AcceptedAnswerId="25758" CreationDate="2012-09-16T18:18:07.820" Score="10" ViewCount="152" Body="&lt;p&gt;Let $P$ be a set of $N$ points in $\mathbb{R}^d$. For any $t \geq 1$, a $t$&lt;a href=&quot;http://en.wikipedia.org/wiki/Geometric_spanner&quot;&gt;-spanner&lt;/a&gt; is an undirected graph $G=(P, E)$ weighted under the Euclidian measure, such that for any two points $v$, $u$, the shortest distance in $G$, $d(v, u)$, is at most $t$ times the Euclidian distance between $v$ and $u$, $|v u|$ (note that this definition can easily be extended to arbitrary measure spaces).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider the following algorithm with $P$ and $t$ as input:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;E = empty&#xA;for every pair of points (v, u) in ascending order under |vu|&#xA;    if the shortest path in (P, E) is more than t times |vu|&#xA;        add (v, u) to E&#xA;return E&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;This algorithm computes the so-called greedy spanner (or path-greedy spanner). This graph has been subject to considerable research: it produces extremely good spanners, both in practice and in theory.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm interested in the length of the longest edge in the greedy spanner if $P$ is uniformly distributed in $[0,1]^d$ (the case that d=2 is fine as well). I conjecture this maximal length is at most about $1 / \sqrt{N}$, potentially with some log factors and factors $d$. This conjecture is motivated by experimental data.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The reason for my interest is that I have an algorithm that computes the greedy spanner quickly if the length of the longest edge is relatively short. If the above is correct, then it would mean my algorithm is applicable to the above scenario, and therefore potentially useful in practice.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have found some papers analyzing the number of edges and the degree of other types of spanners on randomly distributed pointsets, but none on the length of the longest edge. The probability theory involved seemed rather complicated, so I was hoping something was known before attempting a proof myself.&lt;/p&gt;&#xA;" OwnerUserId="988" LastActivityDate="2014-09-14T08:10:22.753" Title="Longest edge length of the greedy spanner on uniformly distributed pointsets in $[0,1]^d$" Tags="&lt;cg.comp-geom&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12633" PostTypeId="2" ParentId="12579" CreationDate="2012-09-16T21:09:30.217" Score="11" Body="&lt;p&gt;The question is rather broad.  To answer it in a reasonable space I will make many oversimplifications.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let us agree on terminology.  A program is &lt;em&gt;correct&lt;/em&gt; when it implies its specification.  This vague statement is made precise in many ways, by pinning down what exactly is a program and what exactly is a specification.  For example, in model checking the program is a &lt;a href=&quot;http://en.wikipedia.org/wiki/Kripke_structure_%28model_checking%29&quot; rel=&quot;nofollow noreferrer&quot;&gt;Kripke structure&lt;/a&gt; and the specification is often an &lt;a href=&quot;http://en.wikipedia.org/wiki/Linear_temporal_logic&quot; rel=&quot;nofollow noreferrer&quot;&gt;LTL&lt;/a&gt; formula.  Or, the program could be a list of PowerPC instructions and the specification could be a set of &lt;a href=&quot;http://en.wikipedia.org/wiki/Hoare_logic&quot; rel=&quot;nofollow noreferrer&quot;&gt;Hoare-Floyd assertions&lt;/a&gt; written in, say, &lt;a href=&quot;http://en.wikipedia.org/wiki/First-order_logic&quot; rel=&quot;nofollow noreferrer&quot;&gt;first-order logic&lt;/a&gt;.  There are very many possible variations.  It is tempting to conclude that in one case (Kripke structure) we do not verify an actual program, while in the second case (list of PowerPC instructions) we do.  However, it is important to realize we really are looking at mathematical models in both cases, and this is perfectly fine.  (The situation is quite similar to physics where, for example, classical mechanics is a mathematical model of reality.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Most formalizations distinguish between the syntax and the semantics of a program; that is, how it is represented and what does it mean.  The semantics of a program is what counts from the point of view of program verification.  But, it is of course important to have a clear way of assigning meanings to (syntactical representations of) programs.  Two popular ways are the following:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;(small step) &lt;em&gt;operational semantics&lt;/em&gt;: This is very much like defining a programming language by writing an interpreter for it. For this you need to say what is the &lt;em&gt;state&lt;/em&gt;, and it is affected by each statement in the language.  (You may wonder in which language you write the interpreter, but I'll pretend you aren't.)&lt;/li&gt;&#xA;&lt;li&gt;&lt;em&gt;axiomatic semantics&lt;/em&gt;: Here each statement type comes with an axiom schema. So, roughly, whenever a particular statement of that type is used, it translates in being able to use certain axioms.  For example, the assignment ${\bf x}:={\bf e}$ comes with the schema $\{P[{\bf x}/{\bf e}]\}\,{\bf x}:={\bf e}\,\{P\}$; the particular assignment $x:=x+1$ comes with the axiom $\{x+1=1\}\,x:=x+1\,\{x=1\}$ if we instantiate the schema with $P=(x=1)$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;(There are others.  I feel particularly bad for omitting denotational semantics, but this answer is already long.)  Machine code plus operational semantics is pretty close to what most people would call a ‘real program’.  Here is a seminal paper, which happens to use operational semantics for a subset of the DEC Alpha machine code:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Necula, Lee, &lt;a href=&quot;http://scholar.google.co.uk/scholar?q=proof-carrying%20code&quot; rel=&quot;nofollow noreferrer&quot;&gt;Proof-Carrying Code&lt;/a&gt;, 1996&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Why would you ever use some higher-level semantics, like the axiomatic ones?  When you do not want your proof of correctness to depend on the hardware on which you run.  The approach then is to prove correctness of an algorithm with respect to some convenient high-level semantics, and then prove that semantics sound with respect to lower-level semantics that are closer to actual machines.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In summary, I could think of three reasons that led to your question:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;You saw only high-level semantics that don't look like what you are used to call a program, and you wonder if there are low-level ones.  The answer is yes.&lt;/li&gt;&#xA;&lt;li&gt;You wonder how you prove that a model corresponds to reality.  Like in physics, you don't.  You simply come up with better models and check them against reality.&lt;/li&gt;&#xA;&lt;li&gt;You have not seen the distinction between syntax and semantics, and various ways to assign meanings to programs.  Two &lt;a href=&quot;https://cstheory.stackexchange.com/questions/3670/formal-semantics-of-programming-languages&quot;&gt;previous&lt;/a&gt; &lt;a href=&quot;https://cstheory.stackexchange.com/questions/3533/books-on-programming-language-semantics&quot;&gt;questions&lt;/a&gt; list some books.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;This answer is merely trying to identify three different ways in which I understood the question.  Going deep in &lt;em&gt;any&lt;/em&gt; of these points would require a lot of space.&lt;/p&gt;&#xA;" OwnerUserId="236" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2012-09-16T21:09:30.217" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12636" PostTypeId="1" CreationDate="2012-09-17T17:33:14.447" Score="2" ViewCount="379" Body="&lt;p&gt;Hello the question was also posted on stackoverflow, but since this is theoretical oriented, thought I'd give it a try. I have an undirected graph similar to the one below, I need to implement a graph traversing algorithm.&#xA;&lt;strong&gt;Example&lt;/strong&gt;: &lt;br/&gt;&#xA;&lt;a href=&quot;https://i.imgur.com/15L6m.png&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://i.imgur.com/15L6m.png&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The idea is that each vertex is a city, and each edge is a road.&lt;br/&gt;&#xA;The weight of an edge represents the time needed to traverse the specified edge.&lt;br/&gt;&#xA;The conditions are: &lt;br/&gt;&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Each edge is open for traversal in a specified time window: Time Open1, Time Open2, TimeClose1, Time Close2 - the current time must be in these intervals in order to traverse the edge.&lt;br/&gt;&lt;/li&gt;&#xA;&lt;li&gt;Only some vertices must be visited. The vertices must be visited at leas once in the specified time window for each one:  Time Open1, Time Open2, TimeClose1, Time Close2 - the current time must be in these intervals in order to mark the vertex as visited.&lt;br/&gt;&lt;/li&gt;&#xA;&lt;li&gt;The starting point is always vertex 0 &lt;br/&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;For &lt;strong&gt;my example&lt;/strong&gt; I have: &lt;br/&gt;&#xA;Vertices that must be visited and their time window (values with -1 are not taken into consideration): &lt;br/&gt;&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;Vertex To1  Tc1  To2  Tc2&#xA;  1    0    260  340  770&#xA;  4    0    240  -1   -1 &#xA;  5    170  450  -1   -1 &#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Edges are open in the following time window (values with -1 are not taken into &#xA;consideration):&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;Edge To1  Tc1  To2  Tc2&#xA;0-1  0    770  -1   -1 &#xA;0-4  0    210  230  770&#xA;0-5  0    260  -1   -1 &#xA;1-2  0    160  230  770&#xA;1-5  40   770  -1   -1 &#xA;2-4  80   500  -1   -1 &#xA;3-4  60   770  -1   -1 &#xA;3-5  0    770  -1   -1 &#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;So the basic idea is to start with vertex 0 and find the shortest route to traverse&#xA;vertices 1, 4 and 5 taking in consideration the specified time. &lt;br/&gt;&#xA;Also if for example you have done 0-1 but you can't use 1-5 you can do 0-1-0-1-5.&lt;br/&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I start with vertex 0, end with one target vertex while I have visited all other target vertices at least once respecting the conditions imposed on the edges and target vertices. &lt;br/&gt;&#xA;For example: &lt;br/&gt;&#xA;A possible solution is 0 - 4 - 3 - 5 - 1 with a total time of 60+50+60+50=220 &lt;br/&gt;&#xA;From 0 I can also go directly to 5 but as stated in conditions in order to mark vertex 5 &#xA;I must have a cumulative time between 170 and 450. Also if I go 0-4 I can't use edge 4-2 because it opens at 80 and my cumulative time is 60. Note I can use 0-4-3 because 4-3 opens at 60 and to do 0-4 it takes a time equal to 60. &#xA;So is there a way to solve this using dijkstra or other path finding algorithms ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks in advance for any help!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit&lt;/strong&gt; &lt;br/&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My solution for now is something like this&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;         0    &#xA;  1      4      5&#xA;0 2 5  0 2 3  0 1 3 &#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Basically I try all possibilities. The conditions for stopping in expanding a branch are: &lt;br/&gt;&#xA;1. I have too many duplicates like I have 0 1 0 4 0 1 0 - so I stop because I have a set number of duplicate 0 values which is 4&lt;br/&gt;&#xA;2. I find a road that contains all the vertices to mark&lt;br/&gt;&#xA;3. I find a road that takes longer than another complete road&lt;br/&gt;&lt;/p&gt;&#xA;" OwnerUserId="10755" LastEditorUserId="186" LastEditDate="2012-09-19T22:51:10.087" LastActivityDate="2012-09-19T22:51:10.087" Title="Graph traversal with vertex and edge deadlines/windows" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;application-of-theory&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="12637" PostTypeId="1" AcceptedAnswerId="12645" CreationDate="2012-09-17T18:42:20.190" Score="2" ViewCount="120" Body="&lt;p&gt;I wonder if someone could direct me to a basic introduction to formal methods applied to role-based security.  I'm particularly interested in the question of formal verification and the kind of mathematical abstractions that would appropriately address confidentiality and / or conflicts of interest that arise from overlapping roles in a SSO (single sign-on) system.  Thanks much in advance.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;PS I'm asking this question in parallel w/ conducting my own literature search.&lt;/p&gt;&#xA;" OwnerUserId="10756" LastActivityDate="2012-09-18T17:27:48.870" Title="Formal Methods Applied to Role-Based Security (RBAC)" Tags="&lt;lo.logic&gt;&lt;security&gt;&lt;formal-methods&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12638" PostTypeId="2" ParentId="12636" CreationDate="2012-09-17T23:19:42.710" Score="6" Body="&lt;p&gt;It is NP-hard to decide whether your problem is soluble. That's bad news from a theoretical point of view, but in practice it is possible that a heuristic algorithm will fare quite well. Also, you're (possibly) dealing with the &quot;promise&quot; variant of the problem, that is, you assume that a solution exists, and want to find it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To see that the problem is NP-hard, we reduce Hamiltonian cycle to it. All the edges are always open, and they always have unit weight. The windows for each non-zero vertex are $[1,n-1]$ and $[n+1,2n-1]$; for vertex zero they are $\{0\}$ and $\{n\}$. These constraints are satisfiable only via a Hamiltonian cycle, and the converse is also true.&lt;/p&gt;&#xA;" OwnerUserId="40" LastActivityDate="2012-09-17T23:19:42.710" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="12639" PostTypeId="2" ParentId="12579" CreationDate="2012-09-18T03:24:47.940" Score="0" Body="&lt;p&gt;&lt;em&gt;Certifying algorithms&lt;/em&gt; can be useful when building mission critical software. &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;A certifying algorithm is an algorithm that produces, with each&#xA;  output, a certiﬁcate or witness (easy-to-verify proof) that the&#xA;  particular output has not been compromised by a bug.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Read more in this survey paper &lt;a href=&quot;http://www.cs.colostate.edu/~rmm/cert11.pdf&quot; rel=&quot;nofollow&quot;&gt;Certifying algorithms&#xA;by McConnell, R.M. and Mehlhorn, K. and Naher, S. and Schweitzer, P.&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="612" LastActivityDate="2012-09-18T03:24:47.940" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12640" PostTypeId="1" CreationDate="2012-09-18T06:44:35.053" Score="4" ViewCount="304" Body="&lt;p&gt;There are several well known results regarding random oracles, e.g.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;$\mathsf{IP}^A \neq \mathsf{PSpace}^A$ for almost all oracles. &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Are there any known natural examples where a similar statement is both true and false for significant fractions of the random oracles (e.g. it is true with probability $1/2$)?&lt;/p&gt;&#xA;" OwnerUserId="186" LastActivityDate="2012-09-18T06:44:35.053" Title="A natural result that relativized to a random oracle is true with probability 1/2" Tags="&lt;cc.complexity-theory&gt;&lt;relativization&gt;&lt;random-oracles&gt;" AnswerCount="0" CommentCount="3" FavoriteCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12641" PostTypeId="1" CreationDate="2012-09-18T08:41:20.650" Score="5" ViewCount="345" Body="&lt;p&gt;Jukna's book &lt;em&gt;Extremal Combinatorics&lt;/em&gt; explains basic results about sunflowers.  Is there a more thorough survey of various sunflower results?&lt;/p&gt;&#xA;" OwnerUserId="10760" LastEditorUserId="111" LastEditDate="2012-09-18T14:35:05.210" LastActivityDate="2012-09-18T14:35:05.210" Title="Detailed Materials on Sunflowers" Tags="&lt;co.combinatorics&gt;&lt;survey&gt;" AnswerCount="0" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12642" PostTypeId="1" AcceptedAnswerId="12643" CreationDate="2012-09-18T12:40:20.693" Score="9" ViewCount="411" Body="&lt;p&gt;The book by Arora and Barak contains in chapter notes on PCP&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;We note that Dinur's general strategy is somewhat reminiscent of the zig-zag construction of expander graphs and Reingold's deterministic logspace algorithm for undirected connectivity described in Chapter 20, which suggests that more connections are waiting to be made between these different areas of research. (pg 494)&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;What precisely is meant by this reminiscence? Is there a common property/lemma than can be &quot;factored out&quot; of these two proofs?&lt;/p&gt;&#xA;" OwnerUserId="1886" LastActivityDate="2012-09-18T14:14:07.363" Title="Connection between PCP and L=SL" Tags="&lt;cc.complexity-theory&gt;&lt;pcp&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="12643" PostTypeId="2" ParentId="12642" CreationDate="2012-09-18T14:14:07.363" Score="12" Body="&lt;p&gt;The precise answer to your question is given by Oded Goldreich in his article &quot;Bravely, Moderately: A Common Theme in Four Recent Works&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is the link: &lt;a href=&quot;http://www.wisdom.weizmann.ac.il/~oded/COL/brave.pdf&quot;&gt;http://www.wisdom.weizmann.ac.il/~oded/COL/brave.pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="6190" LastActivityDate="2012-09-18T14:14:07.363" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12644" PostTypeId="2" ParentId="12558" CreationDate="2012-09-18T15:39:30.953" Score="-6" Body="&lt;p&gt;you ask basically two questions of widely divergent difficulty, at the frontier of two large fields, ie boolean circuits &amp;amp; QM computing, about the possibility of what is sometimes called a &quot;bridge theorem&quot; in mathematics:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;quantum analog of monotone circuits&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;quantum analog of Razborovs thm&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;the short candid answer is &lt;em&gt;no&lt;/em&gt; or &lt;em&gt;not so far&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;for (1), not as hard a question, but still apparently rarely considered, did turn up the following reference which could be taken as a related case in the literature.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://arxiv.org/pdf/1209.1055.pdf&quot; rel=&quot;nofollow&quot;&gt;Hardness of approximation for quantum problems&lt;/a&gt; by Gharibian and Kempe&lt;/p&gt;&#xA;&#xA;&lt;p&gt;they consider some &quot;monotone&quot; problems in a quantum context eg QMSA, &quot;Quantum Monotone Minimum Satisfying Assignment, QMSA&quot;, ie a SAT QM analog; (also another problem Quantum Monotone Minimum Weight Word, QMW) and show some approximation hardness results, ie lower bounds. they dont consider monotone quantum circuits &lt;em&gt;per se&lt;/em&gt; but an idea could be that a quantum circuit or algorithm that solves the monotone &lt;em&gt;function&lt;/em&gt; QMSA can be taken as a QM analog.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;as for (2) it would be a very advanced result if it existed which it does not seem to &quot;so far&quot;. Razborov's thm is basically a lower bound &quot;bottleneck&quot; type result considered a distinct breakthrough and near-unrivalled result in (monotone) circuit theory. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;so roughly speaking yes of course there are some lower bound bottlenecks found in QM computing, eg related to direct product theorems, for a survey see eg&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.illc.uva.nl/Research/Dissertations/DS-2006-04.text.pdf&quot; rel=&quot;nofollow&quot;&gt;Quantum Algorithms, Lower Bounds, and Time-Space Tradeoffs&lt;/a&gt; by Spalek&lt;/p&gt;&#xA;&#xA;&lt;p&gt;however, arguably a better analogous QM computing lower bound would put a lower bound on number of &lt;em&gt;qubit operations&lt;/em&gt; or possibly based on &quot;complete&quot; gates like Toffoli gates for a monotone function. am not aware of proofs of this type.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;another approach might limit the analysis to special quantum AND and OR gates with extra &quot;ancilla&quot; bits added to make the gates reversible.&lt;/p&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="7884" LastEditDate="2012-09-18T16:03:25.603" LastActivityDate="2012-09-18T16:03:25.603" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="12645" PostTypeId="2" ParentId="12637" CreationDate="2012-09-18T17:27:48.870" Score="4" Body="&lt;p&gt;My knowledge is a bit stale, as I haven't actively researched this field in the last couple of years. None of these is probably the state of the art, but a good place to start looking backwards (i.e., chase references) and forwards (i.e., see who cites it).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you're looking into information flow (making sure classified information doesn't leak to untrusted roles), a reasonable place to start is Martin Abadi et al's &lt;a href=&quot;http://dl.acm.org/citation.cfm?doid=292540.292555&quot; rel=&quot;nofollow&quot;&gt;Dependency Core Calculus&lt;/a&gt;. I think it's reasonable enough that anyone who does formal methods in the area would refer to it (directly, or once removed).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you're looking into access control/authorisation (role A says role B controls the data, role B says you can access the data, etc.), Abadi recently published a &lt;a href=&quot;http://www.springerlink.com/content/87428t143533142q/?MUD=MP&quot; rel=&quot;nofollow&quot;&gt;tutorial book chapter&lt;/a&gt; on the subject, so might be a good place to start.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you're looking into authentication (whether the agent saying he is A is indeed A), I defer to someone else. I'll try to have a look later. &lt;/p&gt;&#xA;" OwnerUserId="142" LastActivityDate="2012-09-18T17:27:48.870" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12646" PostTypeId="2" ParentId="12558" CreationDate="2012-09-18T19:04:05.480" Score="7" Body="&lt;p&gt;As evidenced by the comments from Robin and Tsuyoshi, the notion of monotone circuits does seem to be easily extendable to quantum circuits. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In order to have a meaningful definition of quantum monotone circuit, we need to pick an ordering on quantum states with respect to which the monotonicity is defined. Classically a reasonable option (and one which leads to the normal notion of monotonic circuits), is the Hamming weight, but let's consider an ordering given by an arbitrary function $f$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since the evolution of a closed quantum system is unitary (which we can assume is given by $U$), then for every state $|\psi\rangle$ such that $f(U|\psi\rangle)&amp;gt;f(|\psi\rangle)$ there exists an alternate state $|\phi\rangle$ such that $f(|\phi\rangle) &amp;gt; f(|\psi\rangle)$ but for which $f(U|\psi\rangle)&amp;gt;f(U|\phi\rangle)$, and hence the evolution $U$ is not monotonic.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thus the only circuits which are monotonic with respect to $f$ are those which $f(U|\psi\rangle)=f(|\psi\rangle)$ for all $|\psi\rangle$. Thus any gate set which is monotonic with respect to $f$ is composed of gates which commute with $f$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Obviously, the sets of gates which can satisfy this depend on the definition of $f$. If $f$ is constant, then all gates sets are monotonic with respect to it. However, if we choose $f$ as the Hamming weight of states in the computational basis (a somewhat natural extension of the $f$ used in the classical case), we get an interesting structure. The restriction imposed requires that the Hamming weight remains unchanged. The operations which preserve this amount to either diagonal operations or partial SWAPs, or combinations of these. This structure shows up quite often in physics (in tight binding models etc.), and is similar to the Boson scattering problem studied by &lt;a href=&quot;http://arxiv.org/abs/1011.3245&quot;&gt;Aaronson and Arkhipov&lt;/a&gt;, though not identical (it's a slightly different scattering problem). Further it contains circuits for &lt;a href=&quot;http://arxiv.org/abs/1005.1407&quot;&gt;IQP&lt;/a&gt;, and hence should not be efficiently simulable classically.&lt;/p&gt;&#xA;" OwnerUserId="204" LastEditorUserId="204" LastEditDate="2012-09-18T23:12:37.390" LastActivityDate="2012-09-18T23:12:37.390" CommentCount="20" ContentLicense="CC BY-SA 3.0" />
  <row Id="12647" PostTypeId="1" AcceptedAnswerId="12652" CreationDate="2012-09-18T22:29:05.837" Score="0" ViewCount="2454" Body="&lt;p&gt;I currently try implementing the D* Lite Algorithm for path-planning (see also &lt;a href=&quot;https://cstheory.stackexchange.com/questions/11855/how-do-the-state-of-the-art-pathfinding-algorithms-for-changing-graphs-d-d-l&quot;&gt;here&lt;/a&gt;) to get a grasp on it. I found two implementations on the web, both for C/C++, but somehow couldn't entirely follow the ideas since they seem to differ more than expected from the pseudo code in the whitepapers. I especially use the following two papers:&#xA;&lt;a href=&quot;http://idm-lab.org/bib/abstracts/papers/aaai02b.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Koening,S.;Likhachev,M. - D* Lite, 2002&lt;/a&gt;&#xA;&lt;a href=&quot;http://pub1.willowgarage.com/~konolige/cs225b/dlite_tro05.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Koenig &amp;amp; Likkachev, Fast replanning for Navigation in Unknown Terrain, IEEE Transactions on Robotics, Vol. 21, No. 3, June 2005&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I tried implementing the optimized version of D* Lite from the first whitepaper (p.5,Fig.4) and for &quot;debugging&quot; I use the example as shown and explained in the second whitepaper (p.6,Fig.6 and Fig.7). All work is done in MatLab (easier for exchanging code with others).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So far I got the code running to find the initial shortest path by running computeShortestPath() once. But now I am stuck at lines {36''} and {37''} of the pseudo-code: &lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;{36”} Scan graph for changed edge costs;&#xA;{37”} if any edge costs changed&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;How do I detect those changes? I somehow don't seem to have a grasp on how this is being detected? In my implementation so far, I mainly used 3 matrices.&#xA;One matrix of same size as the grid map containing all rhs-values. One matrix of same size containing similarly all g-values. And one matrix with variable row count for the priority queue with the first two columns being the priority keys and the third and fourth row being the x- and y-coordinates.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Comparing my results, I get the same result for the first run of computeShortestPath() in Step5 as seen in the second whitepaper, p.6 Fig.6. Moving the robot one step also isn't that a problem. But I really have no clue how the next step of scanning for changed edge costs should be implemented. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks for any hint, advice and/or help!!!&lt;/p&gt;&#xA;" OwnerUserId="10766" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2012-09-19T14:48:40.453" Title="Implementing D* Lite for Path-Planning - How detect Edge Cost Change?" Tags="&lt;ds.algorithms&gt;&lt;shortest-path&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12648" PostTypeId="2" ParentId="12558" CreationDate="2012-09-18T23:11:45.677" Score="17" Body="&lt;p&gt;You're really asking two different questions and hoping that there is a single response which answers both: &lt;strong&gt;(1)&lt;/strong&gt; What natural notions of quantum monotone circuits are there? &lt;strong&gt;(2)&lt;/strong&gt; What would a lattice-based Razborov-style quantum result look like?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It isn't obvious how to achieve both at the same time, so I'll describe what to me seems a reasonable notion of quantum monotonic circuits (without indicating whether or not there is a corresponding Razborov result), and a completely different notion of what a &quot;natural&quot; quantum Razborov conjecture would look like (without indicating whether it is likely to be true).&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;What we want from quantum&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;As I remark in the comments, I think that it is not necessary to try to squeeze the notion of monotonic circuits into a mold of unitarity. Whether it is in the fact that evolution with time need not preserve the standard basis, or in the fact that there exists multiple bases of measurement in which the outcomes may be entangled, I think the &lt;em&gt;sine qua non&lt;/em&gt; of quantum computation is the fact that the standard basis is not the only basis. Even among the product states, it is in some implementations defined only by a choice of frame of reference.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What we must do is to consider things in such a way as to remove the standard basis from its traditional privilidged place &amp;mdash; or, in this case, as much as is possible while retaining a meaningful notion of monotonicity.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;A simple model of quantum monotone circuits&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;Consider a circuit model which is implicit in Tsuyoshi Ito's comment about &quot;monotone quantum channels&quot; (and which is pretty much what one must do if one wants a notion of &quot;a circuit&quot; which is not restricted to unitary evolution).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $\mathbf H$ be the space of Hermitian operators on $\mathbb C^2$ (so that it contains all density operators on one qubit). How would we define a quantum monotone gate $\mathsf G: \mathbf H_a \otimes \mathbf H_b \to \mathbf H_c$ from two input qubits $a,b$ to an output qubit $c$, in such a way that it isn't effectively a classical monotone gate? I think it's straightforward to say that the output should not be restricted to $|0\rangle\!\langle 0|$ or $|1\rangle\!\langle 1|$, or mixtures of them; bu that to be &quot;monotone&quot;, we should require that as $\langle 1 | \,\mathop{\mathrm{Tr}_a}\bigl(\rho_{ab}\bigr)  |1\rangle$ and  $\langle 1 | \,\mathop{\mathrm{Tr}_b}\bigl(\rho_{ab}\bigr) |1\rangle$ increase, the value of $\langle 1 | \mathsf G(\rho_{ab}) | 1 \rangle$ must be non-decreasing. For a two-input-qubit gate, this means that $\mathsf G$ must be implementable in principle as&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;performing a two-qubit measurement with respect to some orthonormal basis $\{ |00\rangle, |\mu\rangle, |\nu\rangle, |11\rangle \}$, where $|\mu\rangle,|\nu\rangle$ span the subspace of Hamming weight 1, and&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;producing as output some state $\rho \in \{ \rho_{00}, \rho_\mu, \rho_\nu, \rho_{11} \}$ corresponding to the outcome it measured, where $\langle 1 | \rho_{00} | 1 \rangle \leqslant \langle 1 | \rho_\lambda | 1 \rangle \leqslant \langle 1 | \rho_{11} | 1 \rangle$ for each $\lambda \in \{ \mu, \nu \}$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;The circuits are just compositions of these in the sensible way. We might also allow fan-out, in the form of circuits which unitarily embed $|0\rangle \mapsto |00\cdots 0\rangle$ and $|1\rangle \mapsto |11\cdots 1\rangle$; we should at the very least permit these maps at the input, to allow each (nominally classical) input bit to be copied.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It seems reasonable either to consider the entire continuum of such gates, or to restrict to some finite collection of such gates. Any choice gives rise to a different &quot;quantum monotone gate basis&quot; for the circuits; one can consider what properties different monotone bases have. The states $\rho_{00}, \rho_\mu, \rho_\nu, \rho_{11}$ can be chosen completely independently, subject to the monotonicity constraint; it would undoubtedly be interesting (and probably practical to bound error) to set $\rho_{00} = |0\rangle\!\langle 0|$ and $\rho_{11} = |1\rangle\!\langle 1|$, though I see no reason to require this in the theory. Obviously AND and OR are gates of this type, where $\rho_\mu = \rho_\nu = |0\rangle\!\langle 0|$ and $\rho_\mu = \rho_\nu = |1\rangle\!\langle 1|$ respectively, whatever one chooses $|\mu\rangle$ or $|\nu\rangle$ to be.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For any constant &lt;em&gt;k&lt;/em&gt;, one might also consider gate bases including &lt;em&gt;k&lt;/em&gt;-input-one-output gates. The simplest approach in this case would probably be to allow gates $\mathsf G: \mathbf H^{\otimes k} \to \mathbf H$ which may be implemented as above, allowing any decomposition of the subspaces $\mathcal V_w \leqslant \mathcal H_2^{\otimes k}$ of each Hamming weight $0 \leqslant w \leqslant k$, and to require that&#xA;$$ \max_{|\psi\rangle \in \mathcal V_w}\;\langle 1 | \,\mathsf G\Bigl( |\psi\rangle\!\langle\psi| \Bigr)\, |1\rangle \;\;\leqslant\;\; \min_{|\psi\rangle \in \mathcal V_{w+1}}\;\langle 1 | \,\mathsf G\Bigl( |\psi\rangle\!\langle\psi| \Bigr)\, |1\rangle $$&#xA;for each $0 \leqslant w &amp;lt; k$.&#xA;It is not clear how much additional computational power this would give you (nor even in the classical case).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I don't know whether there's anything interesting to say about such circuits beyond the classical case, but this seems to me to be the most promising candidate definition of a &quot;quantum monotone circuit&quot;.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;A quantum variant of Razborov's result&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;Consider the &lt;a href=&quot;http://gowers.files.wordpress.com/2009/05/razborov2.pdf&quot;&gt;exposition by Tim Gowers&lt;/a&gt; of the results of &lt;a href=&quot;http://tau.ac.il/~nogaa/PDFS/Publications/The%20monotone%20circuit%20complexity%20of%20Boolean%20functions.pdf&quot;&gt;Alon &amp;amp; Boppana (1987), Combinatorica &lt;strong&gt;7&lt;/strong&gt; pp.&amp;nbsp;1&amp;ndash;22&lt;/a&gt; which strengthen Razborov's results (and makes explicit some of his techniques) for the monotone complexity of CLIQUE. Gowers presents this in terms of a recursive construction of a family of sets, staring from the &quot;half-spaces&quot; $$E_j = \Bigl\{ \mathbf x \in \{0,1\}^n \;:\; x_j = 1 \Bigr\}$$ of the boolean cube for each $1 \leqslant j \leqslant n$. If we remove the priviledged position of the standard basis in the base sets, in analogy to the &lt;a href=&quot;http://arxiv.org/abs/0911.1696&quot;&gt;Quantum Lov&amp;aacute;sz Local Lemma&lt;/a&gt;, we may consider a subspace of $\mathcal H_2^{\otimes n}$ to correspond to a binary proposition (whether a state belongs to the subspace, or is instead orthogonal to it) which might arise from measurement. For instance, we may consider $n$ subspaces $\mathcal A_j \leqslant \mathcal H_2^{\otimes n}$ given by&#xA;$$\begin{align*} \mathcal A_j = U_j \mathcal E_j \;, &amp;amp; \text{ for each $1 \leqslant j \leqslant n$} \\ \text{where }&#xA;&amp;amp;\mathcal E_j := \Bigl\{ | \mathbf x \rangle \;:\; \mathbf x \in E_j \Bigr\} ; \\&#xA;&amp;amp;U_j : \mathcal H_2^{\otimes n} \to \mathcal H_2^{\otimes n} \text{ a unitary of bounded complexity}.&#xA;\end{align*}$$&#xA;We allow the &lt;a href=&quot;http://en.wikipedia.org/wiki/Quantum_logic#Introduction&quot;&gt;quantum-logical&lt;/a&gt; analogues of conjunction and disjunction of subspaces:&#xA;$$\begin{gather*}&#xA;\mathcal A \wedge \mathcal B = \mathcal A \cap \mathcal B ; \\&#xA;\mathcal A \vee \mathcal B = \mathcal A + \mathcal B = \Bigl\{ \mathbf a + \mathbf b \,:\, \mathbf a \in \mathcal A\;,\; \mathbf b \in \mathcal B \Bigr\} .&#xA;\end{gather*}$$&#xA;We then ask how long a recursive construction of conjunctions and disjunctions of spaces are required to obtain a space $C$, such that the projector $\Pi_C$ onto $C$ differs only slightly from the projector $\Pi_{K(r)}$ onto the space spanned by the indicator functions of graphs having cliques of size $r$; for instance, so that $\| \Pi_C - \Pi_{K(r)} \|_\infty &amp;lt;\; 1/\mathrm{poly}(n) $. The monotonic part is involved in the quantum logical operations, and the primitive propositions about the input are quantum as well.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the general case, there is a problem with treating this as a computational problem: the disjunction doesn't correspond to any knowledge which could be obtained with certainty by measurements on a finite number of copies using black-box measurements for $\mathcal A$ and $\mathcal B$ alone, unless they are the images of commuting projectors. This general problem can still be treated as an interesting result about geometrico-combinatorical complexity, and might give rise to results related to frustrated local Hamiltionians. However, it might be more natural to just require that the subspaces $\mathcal A_j$ arise from commuting projectors, in which case the disjunction is just the classical OR of the measurement outcomes of those projectors. Then we may require that the unitaries $U_j$ all be the same, and this becomes a problem about a unitary circuit (which gives rise to the &quot;primitive events&quot;) with monotone classical post-processing (which performs the logical operations on those events).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note also that if we do not impose any further restrictions on the spaces $\mathcal A_j$, it may being a subspace with very high overlap with some space $\mathcal E_k^\bot$ spanned by standard basis states $\mathbf x \in \bar E_k$, which are those binary strings in which $x_k = 0$. &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;If this possibility makes you squeamish, you can always require that $\mathcal A_j$ has an angle of separation from any $\mathcal E_k^\bot$ of at least $\frac{\pi}{2} - 1/\mathrm{poly}(n)$ (so that our primitive subspaces are, at worst, approximately unbiased from the subspaces in which one of the bits is set to 1).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;If we don't impose such a restriction, it seems to me that admitting subspaces having high overlap with $\mathcal E_k^\bot$ would be an obstacle to approximating CLIQUE(r) anyway; either we would be more-or-less restricted to considering the &lt;em&gt;absence&lt;/em&gt; of a particular edge (rather than its presence), or we would be forced to ignore one of the edges altogether. So, I do not see it as terribly important to impose any restrictions on $\mathcal A_j$, except possibly that they all are the images of a commuting set of projectors, if one's goal is to consider how to &quot;monotonically evaluate CLIQUE from simple quantum propositions&quot;. At worst, it would amount classically to allowing NOT gates at the input (and having all fan-out occur after the negation).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Again, it is not clear to me whether substituting the base sets with arbitrary subspaces of $\mathcal H_2^{\otimes n}$ gives rise to a more interesting problem than just using the subspaces $\mathcal E_j$; though if we restrict ourselves to the case of CNF formulae (either in the commuting or the non-commuting case), the results we obtain would correspond to some notion of complexity of a frustration-free Hamiltonian whose ground-state manifold consisted of standard basis states representing cliques.&lt;/p&gt;&#xA;" OwnerUserId="248" LastEditorUserId="248" LastEditDate="2012-09-20T13:55:03.923" LastActivityDate="2012-09-20T13:55:03.923" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="12649" PostTypeId="1" AcceptedAnswerId="12676" CreationDate="2012-09-19T01:19:01.413" Score="17" ViewCount="784" Body="&lt;p&gt;I taught $AC^0$ lower bounds today, and one of the students asked about the reason for the name $AC$.&#xA;The official explanation is that the &quot;A&quot; stands for &quot;Alternation&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I vaguely remember being told many years ago that &lt;strike&gt;Nick Pippenger&lt;/strike&gt; Steve Cook named $NC$ after Nick Pippenger (Nick's class), and later Nick named $SC$ after Steve (Steve's class). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The $NC$ part of the story is documented, e.g., in &lt;a href=&quot;http://en.wikipedia.org/wiki/NC_%28complexity%29&quot; rel=&quot;nofollow noreferrer&quot;&gt;Wikipedia&lt;/a&gt; and in the complexity zoo, the story for $SC$ is told &lt;a href=&quot;https://cstheory.stackexchange.com/questions/9298/steves-class-origin-of-sc&quot;&gt;here&lt;/a&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I wonder whether $AC$ has a similar history, but I couldn't find any reference to $AC$'s inventor.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does someone know who defined $AC$?&lt;/p&gt;&#xA;" OwnerUserId="1621" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2012-09-21T00:14:32.103" Title="Who introduced the complexity class AC?" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;ho.history-overview&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12650" PostTypeId="2" ParentId="12570" CreationDate="2012-09-19T09:56:57.180" Score="3" Body="&lt;p&gt;Here's an example from distributed computing:&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;1 Background&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;1.1 Asynchronous Shared Memory Model&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let's consider a collection of distributed nodes that communicate using&#xA;shared memory variables. There is an adversary that controls when a node take steps &#xA;and when to deliver messages. The computation is &lt;em&gt;asynchronous&lt;/em&gt;, i.e., the &#xA;adversary can delay the steps of nodes for any (finite) amount of time.&lt;br&gt;&#xA;You can think of a &lt;em&gt;step&lt;/em&gt; of a node as a state transition of its local &#xA;automaton (according to the algorithm) where the next state is determined &#xA;by the current state and the observations of the node since the last step.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;1.2 Safety and Liveness&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;When formally reasoning about the properties of an asynchronous algorithm, &#xA;we distinguish between safety and liveness properties. Informally, a &#xA;&lt;em&gt;safety&lt;/em&gt; property can be interpreted as a guarantee that something &quot;bad&quot; &#xA;never happens. (E.g., for mutual exclusion, a safety property would be &#xA;that no two nodes enter the critical section  simultaneously.) &lt;em&gt;Liveness&lt;/em&gt;, &#xA;on the other hand, can be interpreted as &quot;something good will eventually &#xA;happen&quot;, e.g.: every node eventually terminates. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;To formalize safety, we consider the infinite set ${M}$ of all possible &#xA;executions of all possible algorithms, taking into account all possible &#xA;choices of the adversary. An &lt;em&gt;execution&lt;/em&gt; is an infinite sequence of steps.  We can define a metric on $M$ by taking the distance between two distinct &#xA;runs $\alpha,\beta \in M$ to be $2^{-n}$ where $n$ is the first index where $\alpha$ and $\beta$ differ.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A safety property $S$ corresponds to some nonempty set $P\subseteq M$ that &#xA;is &lt;em&gt;closed&lt;/em&gt; in the sense that the limit of an infinite &#xA;sequence of runs in $P$ cannot be in $M\setminus P$. So once we know that some property is a safety property, it is sufficient to show that this property holds on &lt;em&gt;finite&lt;/em&gt; prefixes.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Applying Koenig's Infinity Lemma&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's not always straightforward to see whether a specific property is a &#xA;safety property: Consider the implementation of read/write atomic objects &#xA;on top of basic shared memory variables. Such an implementation should handle requests and their responses in a way that makes them look as if they happen at some instant in time and don't violate their order of invocation. (Due to the asynchronous operation, the actual duration between request and response might be nonzero.) Atomicity is also known as &lt;a href=&quot;http://en.wikipedia.org/wiki/Linearizability&quot; rel=&quot;nofollow&quot;&gt;Linearizability&lt;/a&gt;. Section 13.1 of [A] gives a proof that Atomicity is a safety property. The proof uses Koenig's lemma to show that the limit of any infinite sequence of executions (each of which satisfies Atomicity) also satisfies Atomicity. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;[A] N. Lynch. Distributed Algorithms. Morgan Kaufmann, 1996.&lt;/p&gt;&#xA;" OwnerUserId="6785" LastActivityDate="2012-09-19T09:56:57.180" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="12651" PostTypeId="1" AcceptedAnswerId="21586" CreationDate="2012-09-19T14:32:58.867" Score="5" ViewCount="11178" Body="&lt;p&gt;Both problems are well-known NP-hard problems with great similarities. In fact, I do not see the real difference between these two problems. It seems relatively easy to model TSR in the form of VRP and likewise inversely. So what is the essential point to make VRP a different problem from TSP?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;p.s. I cannot find appropriate tags for this question.  I think important problems such as TSP should be tags themselves. &lt;/p&gt;&#xA;" OwnerUserId="8564" LastEditorUserId="186" LastEditDate="2012-09-19T22:46:33.930" LastActivityDate="2018-06-26T10:41:37.237" Title="what is the real difference between traveling salesman problem (TSP) and vehicle routing problem (VRP)?" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;&lt;tsp&gt;" AnswerCount="3" CommentCount="7" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12652" PostTypeId="2" ParentId="12647" CreationDate="2012-09-19T14:48:40.453" Score="0" Body="&lt;p&gt;In real-world code, you almost never have to &quot;scan the graph for changes.&quot;  Your graph only changes when you change it in the code, so you already know exactly when and where it can change!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One common way of implementing this is to have a &lt;code&gt;OnGraphChanged&lt;/code&gt; &lt;a href=&quot;https://stackoverflow.com/questions/2298242/callback-functions-in-c&quot;&gt;callback&lt;/a&gt; in your &lt;code&gt;Graph&lt;/code&gt; class, which can be setup to call the &lt;code&gt;OnGraphChanged&lt;/code&gt; method in your &lt;code&gt;PathFinder&lt;/code&gt; class.  Then anywhere the graph changes in your &lt;code&gt;Graph&lt;/code&gt; class, make sure the &lt;code&gt;OnGraphChanged&lt;/code&gt; callback is called.&lt;/p&gt;&#xA;" OwnerUserId="8532" LastEditorUserId="-1" LastEditDate="2017-05-23T12:40:09.333" LastActivityDate="2012-09-19T14:48:40.453" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="12653" PostTypeId="1" CreationDate="2012-09-19T14:52:48.397" Score="4" ViewCount="175" Body="&lt;p&gt;What is best known approximation ratio for the following problem :&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given n points in d dimensions , what is the minimum number of axis parallel lines needed to cover them . A line is said to cover a point , if the point lies on the line .&lt;/p&gt;&#xA;" OwnerUserId="8847" LastEditorUserId="80" LastEditDate="2012-09-19T19:50:01.337" LastActivityDate="2012-09-19T19:50:01.337" Title="Approximation ratio for covering n points in d dimensions" Tags="&lt;cg.comp-geom&gt;&lt;approximation-algorithms&gt;&lt;set-cover&gt;" AnswerCount="0" CommentCount="4" FavoriteCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12654" PostTypeId="2" ParentId="12579" CreationDate="2012-09-19T16:58:57.553" Score="1" Body="&lt;p&gt;The answers so far covered already most of what should be said about the foundations of how relate specification and code to each other. I just want to add a more practical point that approaches the question in the header of this thread: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;How create mission critical software? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;There exists tools that automatically analyze your code for errors (violations of the specification, or &quot;typical bugs&quot;). To my knowledge, these methods mostly build on static analysis and are not immediately related to the theories you mentioned (LTL/CTL/...), but they do find errors in real code and it is already feasible, from a practical point of view, to use such tools in industrial projects. I personally have not used many of them, but it seems that these tools start being accepted by practitioners. For further reading, I can recommend the following blog article:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.altdevblogaday.com/2011/12/24/static-code-analysis/&quot; rel=&quot;nofollow&quot;&gt;http://www.altdevblogaday.com/2011/12/24/static-code-analysis/&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="7908" LastActivityDate="2012-09-19T16:58:57.553" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12655" PostTypeId="1" AcceptedAnswerId="12656" CreationDate="2012-09-19T17:29:31.523" Score="7" ViewCount="513" Body="&lt;p&gt;Let $p$ be a large prime.  Let $A$ be a $2\times 2$ matrix with coefficients in $GF(p)$ (i.e., coefficients taken modulo $p$).  Let $B=A^k$, where $k$ is an integer not given to us.  Given $p$, $A$, and $B$, the problem to find some $k$ such that $A^k=B$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For which matrices $A$ does this problem have an efficient (poly-time) solution, and for which is it hard (say, as difficult as the discrete logarithm in $GF(p)$)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I realize that for some choices of $A$ this problem can be solved efficiently.  For others, it is as hard as the discrete log problem modulo $p$, for which there is no known poly-time algorithm.  Can we somehow classify which matrices $A$ make this easy and which make it hard?  I can work out the answer for some special cases but am having a hard time getting the overall picture.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In other words: When is there an efficient algorithm to solve the discrete logarithm problem, when working with $2\times 2$ matrices over $GF(p)$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Follow-up question: is there a neat way to generalize from $2\times 2$ matrices to $n\times n$ matrices?&lt;/p&gt;&#xA;" OwnerUserId="5038" LastEditorUserId="5038" LastEditDate="2012-09-19T18:16:27.973" LastActivityDate="2012-10-24T02:35:42.380" Title="Discrete log in GL(2,p)" Tags="&lt;cr.crypto-security&gt;&lt;matrices&gt;&lt;nt.number-theory&gt;&lt;comp-number-theory&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12656" PostTypeId="2" ParentId="12655" CreationDate="2012-09-19T18:34:37.997" Score="5" Body="&lt;p&gt;Start by putting $A$ into Jordan normal form, i.e., write $A=PJP^{-1}$ where $J$ is the Jordan normal form and $P$ is a suitably chosen invertible matrix.  Then $A^k = PJ^k P^{-1}$, so without loss of generality I only need to consider possibilities for $A$ that are already in Jordan normal form.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For $2\times 2$ matrices, there are only three interesting cases:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Repeated eigenvalues:&lt;/strong&gt; Suppose&#xA;$$A = \begin{pmatrix} \lambda &amp;amp;1\\ 0 &amp;amp;\lambda \end{pmatrix}$$&#xA;where $\lambda \ne 0$.  A simple induction shows that&#xA;$$A^k = \begin{pmatrix} \lambda^k &amp;amp;k\lambda^{k-1}\\ 0 &amp;amp;\lambda^k \end{pmatrix}.$$&#xA;Therefore in this case, the problem is easy: $k = \lambda \times (k \lambda^{k-1})  / \lambda^k = A_{1,1} \times B_{1,2} /B_{1,1}$. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;A zero eigenvalue:&lt;/strong&gt; Suppose&#xA;$$A = \begin{pmatrix} \lambda &amp;amp;0\\ 0 &amp;amp;0 \end{pmatrix}$$&#xA;where $\lambda$ is a generator modulo $p$ (i.e., it has order $p-1$ in the multiplicative group).&#xA;Then this problem is exactly as hard as the discrete log problem to base $\lambda$ modulo $p$, i.e., it is unlikely to have a poly-time solution.  This is because&#xA;$$A^k = \begin{pmatrix} \lambda^k &amp;amp;0\\ 0 &amp;amp;0 \end{pmatrix},$$&#xA;so we have exactly an instance of the discrete log problem modulo $p$ hiding in there.&#xA;If $\lambda$ is not a generator, the problem is exactly as hard as the discrete&#xA;log to the base $\lambda$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that this case is not in $GL(2,p)$, so strictly speaking it could be excluded from the case analysis, but I thought I'd show how to handle it. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Diagonal matrix:&lt;/strong&gt; Suppose&#xA;$$A = \begin{pmatrix} a &amp;amp;0\\ 0 &amp;amp;b \end{pmatrix}.$$&#xA;Then this problem is hard in general.  For instance, if $a$ is a generator of $GF(p)$ and $b=1$, this problem is exactly as hard as the discrete log problem modulo $p$ (so most likely there is no polytime algorithm for it).  If $a,b$ are both generators, then I believe the problem remains hard (see, e.g., &lt;a href=&quot;https://crypto.stackexchange.com/q/3837/351&quot;&gt;this question&lt;/a&gt;), though I'm not aware of any reduction from the discrete log problem modulo $p$.  If either $a$ or $b$ is such that the discrete log to base $a$ or $b$ is easy, then this problem is easy, though the chances of this happening by blind chance (if $a$ and $b$ are randomly chosen) is very low.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;When we generalize to $n\times n$ matrices, I &lt;em&gt;think&lt;/em&gt; the story remains approximately the same.    If there is any Jordan block of size $&amp;gt;1$, then the discrete log problem is easy ($A^k$ contains the values $\lambda^k$ and $k \lambda^{k-1}$, so the same trick works).  If $A$ is diagonal, then this is just an instance of &lt;a href=&quot;https://crypto.stackexchange.com/q/3837/351&quot;&gt;this question&lt;/a&gt;; when the diagonal elements are chosen randomly, we can expect this to be hard (except with negligible probability).&lt;/p&gt;&#xA;" OwnerUserId="5038" LastEditorUserId="-1" LastEditDate="2017-04-13T12:48:17.970" LastActivityDate="2012-10-24T02:35:42.380" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="12658" PostTypeId="1" CreationDate="2012-09-20T06:40:35.727" Score="-3" ViewCount="338" Body="&lt;p&gt;If one way functions exist, what would the truth table of a one way boolean function look like?&lt;/p&gt;&#xA;" OwnerUserId="10418" LastActivityDate="2012-09-20T07:28:25.313" Title="One Way Boolean Function" Tags="&lt;cr.crypto-security&gt;&lt;one-way-function&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="1" ClosedDate="2012-09-26T07:23:17.093" ContentLicense="CC BY-SA 3.0" />
  <row Id="12659" PostTypeId="2" ParentId="12658" CreationDate="2012-09-20T07:28:25.313" Score="4" Body="&lt;p&gt;There exist no boolean one way functions, since for a boolean function, you can always guess a preimage of the output, and with high probability, you'll be right. &lt;/p&gt;&#xA;" OwnerUserId="8429" LastActivityDate="2012-09-20T07:28:25.313" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="12661" PostTypeId="1" CreationDate="2012-09-20T09:06:40.680" Score="14" ViewCount="508" Body="&lt;p&gt;Result 1: Linial-Mansour-Nisan theorem says that the fourier weight of the functions computed by the $\mathsf{AC}^0$ circuits is concentrated on the subsets of small size with high probability.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Result 2: The $\mathsf{PARITY}$ has its fourier weight concentrated on the co-efficient of degree $n$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Question: Is there a way to prove(if provable) $\mathsf{PARITY}$ is not computable by $\mathsf{AC}^0$ circuits via/using the results 1 and 2 ?&lt;/p&gt;&#xA;" OwnerUserId="4461" LastEditorUserId="186" LastEditDate="2012-09-22T19:22:24.127" LastActivityDate="2016-10-06T12:59:20.050" Title="Can one prove $\mathsf{PARITY} \notin \mathsf{AC}^0$ using Linial-Mansour-Nisan theorem and the knowledge of fourier spectrum of $\mathsf{PARITY}$?" Tags="&lt;cc.complexity-theory&gt;&lt;circuit-complexity&gt;&lt;boolean-functions&gt;&lt;fourier-analysis&gt;" AnswerCount="1" CommentCount="8" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12663" PostTypeId="1" CreationDate="2012-09-20T13:41:27.670" Score="6" ViewCount="170" Body="&lt;p&gt;As far as I know, it is not known whether $ \mathsf{NP} \subseteq \mathsf{IP(2pfa)} $, where $ \mathsf{IP(2pfa)} $ is the class of languages having interactive proof systems with some two-way probabilistic finite automata verifiers (&lt;a href=&quot;http://dl.acm.org/citation.cfm?doid=146585.146599&quot; rel=&quot;nofollow&quot;&gt;Finite state verifiers I: the power of interaction&lt;/a&gt; by Dwork and Stockmeyer).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does anybody know any progress on this issue?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I know the following results:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$ \mathsf{IP(2pfa)} $ contains some NP-complete languages, where the verifier runs in poly-time.&lt;/li&gt;&#xA;&lt;li&gt;$ \mathsf{P} \subseteq \mathsf{IP(2pfa)} $, where the verifier runs in exp-time.&lt;/li&gt;&#xA;&lt;li&gt;$ \mathsf{DTIME(2^{O(n)})} \subseteq \mathsf{IP(2pfa)} $, where the verifier runs in double-exp-time.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="7358" LastEditorUserId="186" LastEditDate="2012-09-22T19:31:09.997" LastActivityDate="2012-09-22T19:31:09.997" Title="The relation between NP and IP(2pfa)" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;cr.crypto-security&gt;&lt;np&gt;&lt;interactive-proofs&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="12665" PostTypeId="1" CreationDate="2012-09-20T14:22:47.817" Score="-5" ViewCount="622" Body="&lt;p&gt;Could you point me a reference, an answer or it is an open question?&lt;/p&gt;&#xA;" OwnerUserId="10782" LastEditorUserId="186" LastEditDate="2012-09-22T19:24:28.367" LastActivityDate="2012-09-22T19:24:28.367" Title="Is 3SAT problem APX-hard or not?" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;&lt;complexity-classes&gt;&lt;approximation-hardness&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="12666" PostTypeId="1" AcceptedAnswerId="12670" CreationDate="2012-09-20T14:37:34.217" Score="3" ViewCount="164" Body="&lt;p&gt;Title pretty much explains the question. E.g. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Selection_algorithm#Linear_general_selection_algorithm_-_Median_of_Medians_algorithm&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/Selection_algorithm#Linear_general_selection_algorithm_-_Median_of_Medians_algorithm&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Should there in theory also be an algorithm with guaranteed runtime that is also linear? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Not looking for a response to this specific case necessarily, but more generally.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks all. &lt;/p&gt;&#xA;" OwnerUserId="10783" LastActivityDate="2012-09-20T18:35:26.253" Title="For a given algorithm with expected runtime M, does there exist (in theory) an algorithm with equivalent guaranteed runtime?" Tags="&lt;cc.complexity-theory&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12667" PostTypeId="2" ParentId="12665" CreationDate="2012-09-20T15:02:19.250" Score="5" Body="&lt;p&gt;If the optimization problem you have in mind is MAX-3SAT, it's not only APX-hard but also approximation resistant, in the sense that whenever all clauses have exactly 3 literals, it is hard to satisfy much more than 7/8 of the clauses (even if the instance is satisfiable), something that is trivially achieved by a random assignment. When some clauses may have less than 3 literals, there is still an algorithm that satisfies a 7/8 fraction of the optimum and that is the best you can do assuming P $\neq$ NP.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See the paper &quot;Some optimal inapproximability results&quot; by Johan Håstad.&lt;/p&gt;&#xA;" OwnerUserId="6190" LastEditorUserId="6190" LastEditDate="2012-09-20T15:11:02.067" LastActivityDate="2012-09-20T15:11:02.067" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12668" PostTypeId="2" ParentId="12623" CreationDate="2012-09-20T15:22:29.873" Score="3" Body="&lt;p&gt;sometimes with various CS optimization problems, the best available or most evolved implementations can be found in EE applications. in this case, consider &lt;a href=&quot;http://en.wikipedia.org/wiki/Espresso_heuristic_logic_minimizer&quot; rel=&quot;nofollow&quot;&gt;Espresso&lt;/a&gt;, a logic minimizer. its open source and mainly written in C. it has a built in [exact] and also heuristic set cover as a subroutine after generating prime implicants for SAT. the exact covering is chosen with a command line switch.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;ie it implements the &lt;a href=&quot;http://en.wikipedia.org/wiki/Quine_McCluskey&quot; rel=&quot;nofollow&quot;&gt;Quine-McCluskey&lt;/a&gt; method where set cover is part of the final optimization. there is some research on an improved exact set cover (also called the &quot;minimum canonical cover&quot;) by McGeer et al called &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.51.4580&quot; rel=&quot;nofollow&quot;&gt;Espresso Signature&lt;/a&gt; which was implemented but may be more difficult to obtain source code. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;note the set cover algorithms are apparently decoupled in the code but possibly not decoupled in the &lt;a href=&quot;http://bear.ces.cwru.edu/eecs_cad/man_octtools_espresso.html&quot; rel=&quot;nofollow&quot;&gt;interface&lt;/a&gt;. ie it might require a little bit of &quot;wrapper&quot; coding to provide a direct interface to the set cover subroutines. another possibility is using monotone formula inputs in which there are no &quot;derived&quot; prime implicants other than those supplied as input in which the entire logic minimization reduces to set cover only.&lt;/p&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2012-09-20T15:22:29.873" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12670" PostTypeId="2" ParentId="12666" CreationDate="2012-09-20T18:35:26.253" Score="5" Body="&lt;p&gt;No. See Chapter 2 of the book Randomized Algorithms by Motwani and Raghavan. They discuss a tree-evaluation problem for which:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;any deterministic algorithm takes linear time;&lt;/li&gt;&#xA;&lt;li&gt;there is a Las Vegas randomized algorithm with sublinear expected running time.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="1839" LastActivityDate="2012-09-20T18:35:26.253" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12671" PostTypeId="1" AcceptedAnswerId="12672" CreationDate="2012-09-20T18:47:20.170" Score="21" ViewCount="2222" Body="&lt;p&gt;The best upper bound known on the time complexity of multiplication is Martin Fürer's bound $n\log n2^{O(\log^* n)}$, which is more than linear time complexity of addition.  Do we have a proof that addition is inherently easier than multiplication? &lt;/p&gt;&#xA;" OwnerUserId="10742" LastEditorUserId="186" LastEditDate="2012-09-22T19:32:02.070" LastActivityDate="2012-09-22T19:46:50.373" Title="Is there a proof that addition is faster than multiplication?" Tags="&lt;cc.complexity-theory&gt;&lt;time-complexity&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="12672" PostTypeId="2" ParentId="12671" CreationDate="2012-09-20T19:58:45.180" Score="30" Body="&lt;h2&gt;No.&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;No unconditional better lower bound than the trivial $\Omega(n)$ is currently known for integer multiplication. There are some conditional lower bounds though. For more on this, you can have a look at Martin Fürer's paper &lt;a href=&quot;http://www.cse.psu.edu/~furer/Papers/mult.pdf&quot;&gt;&lt;em&gt;Faster Integer Multiplication&lt;/em&gt;&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit following Andrej's comment: Addition can be done in time $\mathcal O(n)$. In comparison, the best known upper bound for multiplication is (approximately) $\mathcal O(n\log n)$. On the other hand, no non trivial lower bound is known for multiplication, thus there is no proof that addition is faster than multiplication yet. As (too) often in complexity theory, we just don't know!&lt;/p&gt;&#xA;" OwnerUserId="976" LastEditorUserId="111" LastEditDate="2012-09-22T19:46:50.373" LastActivityDate="2012-09-22T19:46:50.373" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="12674" PostTypeId="1" AcceptedAnswerId="12675" CreationDate="2012-09-20T22:08:32.537" Score="10" ViewCount="481" Body="&lt;p&gt;In most probabilistic proof systems ( PCP theorem, for instance), the error-probabilities are usually defined on the side of the false-positives, i.e., a typical definition could look like :  if $x \in L$ then the verifier always accepts, but in other case the probability of rejection is at least 1/2. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a problem in allowing the error to happen on the other side ? That means the verifier always rejects when it should, and makes no more than a constant error when it needs to accept. Another obvious possibility is allowing the error on both sides.&#xA;Will these definitions be equivalent to the one usually given? Or, they behave differently ? Or for that matter, is there a genuine problem in allowing the errors on the other side.?&lt;/p&gt;&#xA;" OwnerUserId="5868" LastEditorUserId="-1" LastEditDate="2012-10-08T04:25:30.900" LastActivityDate="2012-10-08T04:25:30.900" Title="One-sided errors in probablistic proof systems" Tags="&lt;cc.complexity-theory&gt;&lt;pcp&gt;&lt;interactive-proofs&gt;" AnswerCount="1" CommentCount="7" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12675" PostTypeId="2" ParentId="12674" CreationDate="2012-09-21T00:13:14.430" Score="12" Body="&lt;p&gt;Allowing completeness error has no problem, and it is often considered.  &lt;a href=&quot;https://cstheory.stackexchange.com/questions/2780/pcps-with-imperfect-completeness&quot;&gt;Here are some pointers&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, generally speaking, disallowing soundness error removes the power of a model significantly.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the case of interactive proof systems, disallowing soundness error renders interaction useless except for one-way communication from a prover to a verifier; that is, IP with perfect soundness is equal to NP.  This can be shown by considering an NP machine which guesses the verifier’s random bits and the transcript of the interaction which make the verifier accept [FGMSZ89].&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the case of probabilistically checkable proof (PCP) systems, the same reasoning shows that requiring perfect soundness makes randomness useless for choosing the locations to query.  More precisely, it can be shown that PCP(&lt;i&gt;r&lt;/i&gt;(&lt;i&gt;n&lt;/i&gt;), &lt;i&gt;q&lt;/i&gt;(&lt;i&gt;n&lt;/i&gt;)) with completeness &lt;i&gt;c&lt;/i&gt;(&lt;i&gt;n&lt;/i&gt;) and perfect soundness (even with adaptive queries) is equal to the class &lt;i&gt;C&lt;/i&gt; of decision problems &lt;i&gt;A&lt;/i&gt;=(&lt;i&gt;A&lt;/i&gt;&lt;sub&gt;yes&lt;/sub&gt;, &lt;i&gt;A&lt;/i&gt;&lt;sub&gt;no&lt;/sub&gt;) for which there exists a language &lt;i&gt;B&lt;/i&gt; ⊆ {0,1}*×{0,1}*×{0,1}* in P such that&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;if &lt;i&gt;x&lt;/i&gt;∈&lt;i&gt;A&lt;/i&gt;&lt;sub&gt;yes&lt;/sub&gt;, then Pr&lt;sub&gt;&lt;i&gt;y&lt;/i&gt;∈{0,1}&lt;sup&gt;&lt;i&gt;r&lt;/i&gt;(&lt;i&gt;n&lt;/i&gt;)&lt;/sup&gt;&lt;/sub&gt;[∃&lt;i&gt;z&lt;/i&gt;∈{0,1}&lt;sup&gt;&lt;i&gt;q&lt;/i&gt;(&lt;i&gt;n&lt;/i&gt;)&lt;/sup&gt; such that (&lt;i&gt;x&lt;/i&gt;, &lt;i&gt;y&lt;/i&gt;, &lt;i&gt;z&lt;/i&gt;)∈&lt;i&gt;B&lt;/i&gt;] ≥ &lt;i&gt;c&lt;/i&gt;(&lt;i&gt;n&lt;/i&gt;), and&lt;/li&gt;&#xA;&lt;li&gt;if &lt;i&gt;x&lt;/i&gt;∈&lt;i&gt;A&lt;/i&gt;&lt;sub&gt;no&lt;/sub&gt;, then ∀&lt;i&gt;y&lt;/i&gt;∈{0,1}&lt;sup&gt;&lt;i&gt;r&lt;/i&gt;(&lt;i&gt;n&lt;/i&gt;)&lt;/sup&gt; ∀&lt;i&gt;z&lt;/i&gt;∈{0,1}&lt;sup&gt;&lt;i&gt;q&lt;/i&gt;(&lt;i&gt;n&lt;/i&gt;)&lt;/sup&gt;, (&lt;i&gt;x&lt;/i&gt;, &lt;i&gt;y&lt;/i&gt;, &lt;i&gt;z&lt;/i&gt;)∉&lt;i&gt;B&lt;/i&gt;,&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;where &lt;i&gt;n&lt;/i&gt;=|&lt;i&gt;x&lt;/i&gt;|.  (Note that in the definition of class &lt;i&gt;C&lt;/i&gt;, the yes case does not require a whole certificate to be prepared before the verifier picks the random string &lt;i&gt;y&lt;/i&gt;, unlike the usual definition of a PCP system.  A certificate can be prepared after knowing &lt;i&gt;y&lt;/i&gt;, and only the queried portion of the certificate is needed, which is why the length of &lt;i&gt;z&lt;/i&gt; is &lt;i&gt;q&lt;/i&gt;(&lt;i&gt;n&lt;/i&gt;).)  Combined with straightforward lower bounds, this implies the following:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;PCP(log, log) with perfect soundness = P.&lt;/li&gt;&#xA;&lt;li&gt;PCP(poly, log) with perfect soundness = &lt;a href=&quot;http://qwiki.stanford.edu/index.php/Complexity_Zoo:R#rp&quot; rel=&quot;nofollow noreferrer&quot;&gt;RP&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;PCP(poly, poly) with perfect soundness = NP.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Comparing these to the PCP theorems PCP(log, O(1)) = NP and PCP(poly, O(1)) = NEXP, we can see that requiring perfect soundness has a huge impact.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[FGMSZ89] Martin Fürer, Oded Goldreich, Yishay Mansour, Michael Sipser, and Stathis Zachos.  On completeness and soundness in interactive proof systems.  In &lt;em&gt;Randomness and Computation&lt;/em&gt;, vol. 5 of &lt;em&gt;Advances in Computing Research&lt;/em&gt;, pp. 429–442, 1989.  &lt;a href=&quot;http://www.wisdom.weizmann.ac.il/~oded/PS/fgmsz.ps&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://www.wisdom.weizmann.ac.il/~oded/PS/fgmsz.ps&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="567" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2012-09-25T12:59:05.153" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12676" PostTypeId="2" ParentId="12649" CreationDate="2012-09-21T00:14:32.103" Score="18" Body="&lt;p&gt;I believe that the &lt;em&gt;notation&lt;/em&gt; AC first appears in Cook's &quot;A Taxonomy of Problems with Fast Parallel Algorithms&quot; from 1985. On page 11 (page 12 of the journal) we read:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;To state a more general form of this result we introduce the following terminology.&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;&lt;strong&gt;Definition&lt;/strong&gt;. $AC^k$, for $k=1,2,\ldots$, is the class of problems solvable by an ATM in space $O(\log n)$ and alternation depth $O(\log^k n)$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;This class is actually a uniform version of AC.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There follows an alternative characterization by Ruzzo and Tompa, appearing in a technical report by Stockmeyer and Vishkin, and later on in &quot;Constant depth reducibility&quot; by Chandra, Stockmeyer and Vishkin from 1984. They use the notation SIZE-DEPTH(poly, constant) (see page 3).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Cook goes on to mention another unpublished characterization by himself and Ruzzo. Further results due to Ruzzo are mentioned, including $AC^k \subseteq NC^{k+1}$ (&quot;On uniform circuit complexity&quot;, Ruzzo, 1981). The latter paper (as well as Ruzzo's earlier paper also mentioned) doesn't contain the notation AC, but rather a myriad of other notations, emphasizing the notion of uniformity used.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;All these papers mention alternating Turing machines a lot, giving credence to the hypothesis that A stands for alternating.&lt;/p&gt;&#xA;" OwnerUserId="40" LastActivityDate="2012-09-21T00:14:32.103" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12678" PostTypeId="1" AcceptedAnswerId="12679" CreationDate="2012-09-21T06:16:00.490" Score="63" ViewCount="6785" Body="&lt;p&gt;Over the years I have gotten used to seeing many TCS theorems proved using discrete Fourier analysis. The Walsh-Fourier (Hadamard) transform is useful in virtually every subfield of TCS, including property testing, pseudorandomness, communication complexity, and quantum computing.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;While I got comfortable using Fourier analysis of Boolean functions as a very useful tool when I'm tackling a problem, and even though I have a pretty good hunch for which cases using Fourier analysis would probably yield some nice results; I have to admit that I'm not really sure what it is that makes this change of basis so useful.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does anyone has an intuition as to why Fourier analysis is so fruitful in the study of TCS? Why so many seemingly hard problems get solved by writing the Fourier expansion and performing some manipulations?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Note: my main intuition thus far, meagre as it may be, is that we have a pretty good understanding of how polynomials behave, and that the Fourier transform is a natural way of looking at a function as a multilinear polynomial. But why specifically this base? what is so unique in the base of parities?&lt;/em&gt;&lt;/p&gt;&#xA;" OwnerDisplayName="user887" LastEditorUserId="313" LastEditDate="2012-09-21T11:08:42.040" LastActivityDate="2015-10-22T13:42:29.237" Title="Why does Fourier analysis of Boolean functions &quot;work&quot;?" Tags="&lt;soft-question&gt;&lt;boolean-functions&gt;&lt;fourier-analysis&gt;" AnswerCount="3" CommentCount="2" FavoriteCount="39" ContentLicense="CC BY-SA 3.0" />
  <row Id="12679" PostTypeId="2" ParentId="12678" CreationDate="2012-09-21T06:48:13.083" Score="67" Body="&lt;p&gt;Here is my point of view, which I learned from Guy Kindler, though someone more experienced can probably give a better answer: Consider the linear space of functions $f: \{0,1\}^n\to\mathbb{R}$, and consider a linear operator of the form $\sigma_w$ (for $w\in\{0,1\}^n$), that maps a function $f(x)$ as above to the function $f(x+w)$. In many of the questions of TCS, there is an underlying need to analyze the effects that such operators have on certain functions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, the point is that the Fourier basis is the basis that diagonalizes all those operators at the same time, which makes the analysis of those operators much simpler. More generally, the Fourier basis diagonalizes the convolution operator, which also underlies many of those questions. Thus, Fourier analysis is likely to be effective whenever one needs to analyze those operators.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By the way, Fourier analysis is just a special case of the representation theory of finite groups. This theory considers the more general space of functions $f:G\to \mathbb{C}$ where $G$ is a finite group, and operators of the form $\sigma_h$ (for $h\in G$) that map $f(x)$ to $f(x\cdot h)$, The theory then allows you to find a basis that makes the analysis of such operators easier - even though for general groups you don't get to actually diagonalize the operators.&lt;/p&gt;&#xA;" OwnerUserId="8429" LastEditorUserId="8429" LastEditDate="2012-10-06T05:23:40.947" LastActivityDate="2012-10-06T05:23:40.947" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="12680" PostTypeId="1" AcceptedAnswerId="12681" CreationDate="2012-09-21T07:23:38.417" Score="16" ViewCount="353" Body="&lt;p&gt;Given two $n \times n$ matrices $A$ and $B$, the problem of deciding  if there exist a permutation matrix $P$ such that $B = P^{-1}AP$ is equivalent to &lt;code&gt;GI&lt;/code&gt;(Graph Isomorphism). But if we relax $P$ to be just an invertible matrix, then what is the complexity? Are there any other restrictions on an invertible matrix $P$, apart from being a permutation, that relate this problem to &lt;code&gt;GI&lt;/code&gt; or other hard problems?&lt;/p&gt;&#xA;" OwnerUserId="10456" LastEditorUserId="567" LastEditDate="2012-09-21T12:19:39.327" LastActivityDate="2014-10-07T19:34:06.737" Title="similar matrices" Tags="&lt;ds.algorithms&gt;&lt;time-complexity&gt;&lt;linear-algebra&gt;&lt;matrices&gt;&lt;graph-isomorphism&gt;" AnswerCount="2" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="12681" PostTypeId="2" ParentId="12680" CreationDate="2012-09-21T12:14:18.323" Score="11" Body="&lt;p&gt;Matrices &lt;i&gt;A&lt;/i&gt; and &lt;i&gt;B&lt;/i&gt; whose elements are in a field &lt;i&gt;F&lt;/i&gt; are similar (in &lt;i&gt;F&lt;/i&gt;) if and only if they have the same &lt;a href=&quot;http://en.wikipedia.org/wiki/Frobenius_normal_form&quot;&gt;Frobenius normal form&lt;/a&gt;.  According to a quick search, it seems that the Frobenius normal form of an &lt;i&gt;n&lt;/i&gt;×&lt;i&gt;n&lt;/i&gt; matrix can be computed with O(&lt;i&gt;n&lt;/i&gt;&lt;sup&gt;3&lt;/sup&gt;) field operations [Sto98], and that this can be improved to something comparable to the complexity of matrix multiplication [Sto01].&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[Sto98] Arne Storjohann.  An O(&lt;i&gt;n&lt;/i&gt;&lt;sup&gt;3&lt;/sup&gt;) algorithm for the Frobenius normal form.  In &lt;em&gt;Proceedings of the 1998 International Symposium on Symbolic and Algebraic Computation (ISSAC)&lt;/em&gt;, pp. 101–105, Aug. 1998.  DOI: &lt;a href=&quot;http://dx.doi.org/10.1145/281508.281570&quot;&gt;10.1145/281508.281570&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[Sto01] Arne Storjohann.  Deterministic computation of the Frobenius form.  In &lt;em&gt;42nd IEEE Symposium on Foundations of Computer Science (FOCS)&lt;/em&gt;, pp. 368–377, Oct. 2001.  DOI: &lt;a href=&quot;http://dx.doi.org/10.1109/SFCS.2001.959911&quot;&gt;10.1109/SFCS.2001.959911&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="567" LastActivityDate="2012-09-21T12:14:18.323" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12682" PostTypeId="1" AcceptedAnswerId="12733" CreationDate="2012-09-21T12:47:18.280" Score="12" ViewCount="9207" Body="&lt;p&gt;The N-queen problem is this:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Input : N&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Output : A placement of N &quot;queens&quot; on an NXN chessboard such that no two queens lie on the same row, column or diagonal.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Doing a google search on this, I found that many slides by many professors claim this is an NP-Hard problem.(eg. web.mst.edu/~ercal/387/slides/NP-Hard.ppt)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However I havent been able to find a proof (or derive one).&#xA;The reason I ask this question is because I think I have an algorithm that solves certain instances of the problem i.e. with N not a multiple of 2 or 3 (N is the number of queens)&#xA;Related Issue - Can we consider the input size to be N (where N is the number of queens)? Or do we take the input size to be log(N), since the number 'N' can be represented in log(N) bits? &lt;/p&gt;&#xA;" OwnerUserId="10793" LastEditorUserId="10793" LastEditDate="2012-09-25T15:37:12.970" LastActivityDate="2017-09-07T15:51:22.407" Title="Is the N Queens problem NP-hard?" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;&lt;csp&gt;" AnswerCount="2" CommentCount="12" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="12683" PostTypeId="1" AcceptedAnswerId="12684" CreationDate="2012-09-21T13:50:01.193" Score="18" ViewCount="516" Body="&lt;p&gt;The probabilistic proof system $\mathcal{PCP}[f(n),g(n)]$ is commonly referred to as a restriction of $\mathcal{MA}$, where Arthur can only use $f(n)$ random bits and can only examine $g(n)$ bits of the proof certificate sent by Merlin (see, &lt;a href=&quot;http://en.wikipedia.org/wiki/Interactive_proof_system#PCP&quot;&gt;http://en.wikipedia.org/wiki/Interactive_proof_system#PCP&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However,  In 1990 Babai, Fortnow, and Lund proved that $\mathcal{PCP}[poly(n), poly(n)] = \mathcal{NEXP}$, so its not &lt;em&gt;exactly&lt;/em&gt; a restriction. What are the parameters ($f(n),g(n)$) for which $\mathcal{PCP}[f(n), g(n)] = \mathcal{MA}$?&lt;/p&gt;&#xA;" OwnerUserId="10489" LastEditorUserId="186" LastEditDate="2012-09-22T19:32:44.457" LastActivityDate="2012-09-23T16:28:48.380" Title="$\mathcal{MA}$ in terms of $\mathcal{PCP}$" Tags="&lt;cc.complexity-theory&gt;&lt;pcp&gt;&lt;interactive-proofs&gt;" AnswerCount="3" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="12684" PostTypeId="2" ParentId="12683" CreationDate="2012-09-21T14:19:22.813" Score="18" Body="&lt;p&gt;If you want to restate the definition of MA in terms of PCP, you need another parameter for PCP, namely the proof length.  MA is clearly the same as PCP with polynomial randomness, polynomial queries, and polynomial-length proofs.  Usually the proof length in PCP is not restricted (that is, it is bounded only implicitly by randomness and queries), but this is insufficient to restate the definition of MA.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you are looking for some characterization of the form MA = PCP(&lt;i&gt;q&lt;/i&gt;(&lt;i&gt;n&lt;/i&gt;), &lt;i&gt;r&lt;/i&gt;(&lt;i&gt;n&lt;/i&gt;)), which is not just the restatement of the definition of MA, then I do not think that any such characterization is known.&lt;/p&gt;&#xA;" OwnerUserId="567" LastActivityDate="2012-09-21T14:19:22.813" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12685" PostTypeId="2" ParentId="12683" CreationDate="2012-09-21T14:56:48.270" Score="11" Body="&lt;p&gt;Under a hardness assumption, namely, that the complexity class $E = DTIME(2^{O(n)})$ requires circuits of exponential size, suffices to derandomize $MA$, so that $MA = NP$. In fact, the derandomization is to show that $BPP = P$ (see Impagliazzo-Wigderson or Sudan-Trevisan-Vadhan) . But since in $MA$ the verifier is a $BPP$ machine, we can replace it with a deterministic machine.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thus, modulo this hardness assumption, $MA$ should have the exact same PCP characterization as $NP$. The complexity community seems to strongly believe that the hardness assumption is true, as well. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit: You might also want to take a look at Andy Drucker's Masters Thesis: &quot;A PCP Characterization of $AM$&quot;: &lt;a href=&quot;http://eccc.hpi-web.de/report/2010/019/&quot;&gt;http://eccc.hpi-web.de/report/2010/019/&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Impagliazzo-Wigderson: &lt;a href=&quot;http://www.math.ias.edu/~avi/PUBLICATIONS/MYPAPERS/IW97/proc.pdf&quot;&gt;http://www.math.ias.edu/~avi/PUBLICATIONS/MYPAPERS/IW97/proc.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Sudan-Trevisan-Vadhan: &lt;a href=&quot;http://www.cs.berkeley.edu/~luca/pubs/stv-full.ps&quot;&gt;http://www.cs.berkeley.edu/~luca/pubs/stv-full.ps&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="170" LastEditorUserId="170" LastEditDate="2012-09-21T17:32:51.623" LastActivityDate="2012-09-21T17:32:51.623" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12687" PostTypeId="1" CreationDate="2012-09-21T18:42:55.013" Score="7" ViewCount="124" Body="&lt;p&gt;The &lt;a href=&quot;http://en.wikipedia.org/wiki/Boolean_satisfiability_problem&quot;&gt;boolean satisfiability problem&lt;/a&gt; is in $\mathcal{NPC}$. But if you only get &lt;a href=&quot;http://en.wikipedia.org/wiki/Horn-satisfiability&quot;&gt;Horn clauses&lt;/a&gt;, it is in $\mathcal{P}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I've already heard similar statements. Do you know a more general statement when problems in $\mathcal{NPC}$ get to problems in $\mathcal{P}$ because of restrictions? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If something like that does not exist, do you know literature where such restrictions are described?&lt;/p&gt;&#xA;" OwnerUserId="4149" LastEditorUserId="186" LastEditDate="2012-09-22T19:11:53.327" LastActivityDate="2012-09-22T19:11:53.327" Title="Literature for restrictions that make NPC-Problems to P" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;complexity-classes&gt;&lt;np&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="12688" PostTypeId="2" ParentId="12687" CreationDate="2012-09-21T19:12:07.493" Score="8" Body="&lt;p&gt;While there are numerous individual examples of sharp thresholds (2-coloring vs 3-coloring is another one), probably the best &lt;em&gt;structural&lt;/em&gt; result along the lines you're looking for is &lt;a href=&quot;http://en.wikipedia.org/wiki/Schaefer%27s_dichotomy_theorem&quot;&gt;Schaefer's dichotomy theorem&lt;/a&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Roughly speaking, the theorem looks at very general classes of problems (called constraint satisfaction problems) and completely characterizes (merely in terms of the kind of input) when the problem is NP-complete and when it's in P. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I haven't read it, but the linked wikipedia page indicates a recent survey by Hubie Chen that presents this result in a more general framework. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2012-09-21T19:12:07.493" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12689" PostTypeId="1" CreationDate="2012-09-21T21:55:04.943" Score="8" ViewCount="292" Body="&lt;p&gt;Is the following problem NP-hard?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a set of $N$ real numbers (targets) $x_1,\dotsc,x_N$ and a &quot;trident&quot; defined by two distances $a$, $b$ from the center of the trident, what is the minimum number $K$ of positions $p_1,\dotsc,p_K$ of the trident to cover all targets, i.e.&#xA;$$ \bigcup_{k=1}^K \{p_k-a,p_k,p_k+b\} \supseteq \{x_1,\dotsc,x_N\}.$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Obviously, this is a special case of the &lt;a href=&quot;http://en.wikipedia.org/wiki/Set_cover_problem&quot; rel=&quot;nofollow&quot;&gt;set cover problem&lt;/a&gt;: Considering all sets $\{p_k-a,p_k,p_k+b\}$, with $p_k\in\{x_n+t\mid n\in\{1,\dotsc,N\}, t\in\{a,0,-b\}\}$ representing all &quot;relevant&quot; potential positions, we look for the minimum number of sets covering the universe $\{x_1,\dotsc,x_N\}$. Equivalently, we can represent the problem as a bipartite graph of position and target nodes and consider the &lt;a href=&quot;http://en.wikipedia.org/wiki/Set_cover_problem#Hitting_set_formulation&quot; rel=&quot;nofollow&quot;&gt;hitting set problem&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that the problem is not NP-hard if the trident loses one of its &quot;jags&quot;: Then each target can be covered from 2 positions and each position covers at most 2 targets, so the corresponding bipartite graph of potential positions and targets is a union of paths. In each path it is easy to determine a minimal hitting set (namely, the inner position nodes).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But is the trident case NP-hard?&lt;/p&gt;&#xA;" OwnerUserId="10803" LastEditorUserId="186" LastEditDate="2012-09-22T19:12:12.547" LastActivityDate="2015-09-08T17:37:21.457" Title="NP-hardness of a Set Cover specialization" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;&lt;set-cover&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12690" PostTypeId="2" ParentId="12678" CreationDate="2012-09-21T22:59:48.940" Score="2" Body="&lt;p&gt;a great answer to this question probably does not yet exist because its a relatively young and very active area of research. for example Ingo Wegeners comprehensive book on boolean functions from 1987 has nothing on the subject (except for analyzing the circuit complexity of the DFT).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;a simple intuition or conjecture is that it appears that large Fourier coefficients of higher order indicate the presence of subfunctions that must take into account many input variables and therefore require many gates. ie the Fourier expansion is apparently a natural way to quantitatively measure the hardness of a boolean function. have not seen this directly proven but think its hinted in many results. eg Khrapchenkos lower bound can be related to Fourier coefficients.[1]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;another rough analogy can be borrowed from EE or other engineering fields to some degree where Fourier analysis is used extensively. it is often used for &lt;a href=&quot;http://en.wikipedia.org/wiki/Filter_%28signal_processing%29&quot; rel=&quot;nofollow&quot;&gt;EE filters/signal processing&lt;/a&gt;. the Fourier coefficients represent a particular &quot;band&quot; of the filter. the story there is also that &quot;noise&quot; seems to manifest in particular ranges of frequencies, eg low or high. in CS an analogy to &quot;noise&quot; is &quot;randomness&quot; but also its clear from much research (reaching a milestone in eg [4]) that randomness is basically the same as complexity. (in some cases &quot;entropy&quot; also shows up in the same context.) Fourier analysis seems to be suited to study &quot;noise&quot; even in CS settings.[2]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;another intuition or picture comes from voting/choice theory.[2,3] it is helpful to analyze boolean functions as having subcomponents that &quot;vote&quot; and influence the outcome. ie analysis of voting is a sort of decomposition system for functions. this also leverages some voting theory which reached heights of mathematical analysis and which apparently predates the use of much Fourier analysis of boolean functions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;also, the concept of &lt;em&gt;symmetry&lt;/em&gt; appears to be paramount in Fourier analysis. the more &quot;symmetric&quot; the function, the more that Fourier coefficient cancel out, and also the more &quot;simple&quot; the function is to compute. but also the more &quot;random&quot; and therefore more complex the function, the less the coefficients cancel out. in other words symmetry and simplicity, and conversely asymmetry and complexity in the function seem to be coordinated in a way that Fourier analysis can measure.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.39.1857&quot; rel=&quot;nofollow&quot;&gt;On the Fourier analysis of boolean functions&lt;/a&gt; by Bernasconi, Codenotti, Simon&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.217.4338&quot; rel=&quot;nofollow&quot;&gt;A brief introduction to Fourier analysis on the Boolean cube (2008)&lt;/a&gt; by De Wolf&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[3] &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.141.6300&quot; rel=&quot;nofollow&quot;&gt;Some topics on the analysis of boolean functions&lt;/a&gt; by O'Donnell&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[4] &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.13.122&quot; rel=&quot;nofollow&quot;&gt;Natural proofs&lt;/a&gt; by Razborov &amp;amp; Rudich&lt;/p&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="7884" LastEditDate="2012-09-22T02:01:32.427" LastActivityDate="2012-09-22T02:01:32.427" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="12691" PostTypeId="1" AcceptedAnswerId="12710" CreationDate="2012-09-22T04:32:10.210" Score="43" ViewCount="4015" Body="&lt;p&gt;Inspired by &lt;a href=&quot;https://cstheory.stackexchange.com/questions/12678/why-does-fourier-analysis-of-boolean-functions-work&quot;&gt;this question&lt;/a&gt; and in particular the final paragraph of Or's answer, I have the following question:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Do you know of any applications of the representation theory of the symmetric group in TCS?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The symmetric group $S_n$ is the group of all permutations of $\{1, \ldots, n\}$ with group operation composition. A representation of $S_n$ is a homomorphism from $S_n$ to the general linear group of invertible $n \times n$ complex matrices. A representation acts on $\mathbb{C}^n$ by matrix multiplication. An irreducible representation of $S_n$ is an action that leaves no proper subspace of $\mathbb{C}^n$ invariant. Irreducible representations of finite groups allow one to define a &lt;a href=&quot;http://en.wikipedia.org/wiki/Fourier_transform_on_finite_groups&quot; rel=&quot;noreferrer&quot;&gt;Fourier transform over non-abelian groups&lt;/a&gt;. This Fourier transform shares some of the nice properties of the discrete Fourier transform over cyclic/abelian groups. For example convolution becomes pointwise multiplication in the Fourier basis.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The &lt;a href=&quot;http://en.wikipedia.org/wiki/Representation_theory_of_the_symmetric_group&quot; rel=&quot;noreferrer&quot;&gt;representation theory of the symmetric group&lt;/a&gt; is beautifully combinatorial. Each irreducible representation of $S_n$ corresponds to an integer partition of $n$. &lt;em&gt;Has this structure and/or the Fourier transform over the symmetric group found any application in TCS?&lt;/em&gt; &lt;/p&gt;&#xA;" OwnerUserId="4896" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2014-03-22T20:57:17.703" Title="Applications of representation theory of the symmetric group" Tags="&lt;co.combinatorics&gt;&lt;permutations&gt;&lt;fourier-analysis&gt;&lt;gr.group-theory&gt;" AnswerCount="12" CommentCount="8" FavoriteCount="25" ContentLicense="CC BY-SA 3.0" />
  <row Id="12692" PostTypeId="1" AcceptedAnswerId="12696" CreationDate="2012-09-22T06:42:06.363" Score="1" ViewCount="1472" Body="&lt;p&gt;I am studying IR and &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am not clearly understand  &quot;probability ranking principle&quot; ( I tried to google the definition, but i couldn't find clear answer.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am assuming that it's system which response to each request is a ranking of the documents in the collection in order of decreasing probability.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;but, I am not clearly understand concept of probability ranking principle&lt;/p&gt;&#xA;&#xA;&lt;p&gt;does anyone can explain it ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;thanks &lt;/p&gt;&#xA;" OwnerUserId="10806" LastActivityDate="2013-11-20T14:57:28.577" Title="question about probability ranking principle" Tags="&lt;pr.probability&gt;&lt;ir.information-retrieval&gt;&lt;search-engines&gt;" AnswerCount="2" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="12693" PostTypeId="2" ParentId="12691" CreationDate="2012-09-22T08:12:04.120" Score="14" Body="&lt;p&gt;A very good question. I don't know the full answer and would like to know it myself. However, you may find the following interesting. If, instead of the group $S_n$, we consider its 0-Hecke monoid $H_0(S_n)$, it has a representation on a certain class of integer matrices which acts by tropical $(\min,+)$-multiplication. This has a lot of interesting applications in stringology, via multiple-source shortest paths in grid-like graphs. For details, see my technical report:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A. Tiskin. Semi-local string comparison: Algorithmic techniques and applications.&#xA;&lt;a href=&quot;http://arxiv.org/abs/0707.3619&quot;&gt;http://arxiv.org/abs/0707.3619&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="2869" LastActivityDate="2012-09-22T08:12:04.120" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12694" PostTypeId="2" ParentId="6660" CreationDate="2012-09-22T09:42:55.053" Score="56" Body="&lt;p&gt;News from &lt;a href=&quot;http://arxiv.org/pdf/1205.0458v2.pdf&quot;&gt;SODA 2013&lt;/a&gt;: Max-Bisection problem is approximable to within a factor 0.8776 in around $O(n^{10^{100}})$ time.&lt;/p&gt;&#xA;" OwnerUserId="547" LastActivityDate="2012-09-22T09:42:55.053" CommentCount="0" CommunityOwnedDate="2012-12-06T19:38:01.160" ContentLicense="CC BY-SA 3.0" />
  <row Id="12696" PostTypeId="2" ParentId="12692" CreationDate="2012-09-22T15:36:25.597" Score="7" Body="&lt;p&gt;This is a clear definition of the &lt;a href=&quot;http://nlp.stanford.edu/IR-book/html/htmledition/the-10-loss-case-1.html&quot; rel=&quot;nofollow&quot;&gt;probability ranking principle&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;If a reference retrieval system's response to each request is a ranking of the documents in the collection in order of decreasing probability of relevance to the user who submitted the request, where the probabilities are estimated as accurately as possible on the basis of whatever data have been made available to the system for this purpose, the overall effectiveness of the system to its user will be the best that is obtainable on the basis of those data.&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;As an IR professional (I work on Google Local Search), the principle is definitely wrong in the case that you assume the searcher doesn't examine every result and is just looking for one to satisfy their request.  Imagine you have 10 results that are excellent independently, but are near duplicates of each other.  Then the probability that the user finds something relevant barely increases as you spend results on the duplicate documents.  If you would have shown a diverse set of results with just one of the excellent, non-duplicate results, and others that satisfy the a secondary interpretation of the query, you'd do better to satisfy the user.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, if your evaluation metrics for a set of results are just a sum of independent, result level metrics, then the principle is certainly correct.  You want to maximize the relevance of each result, and you can do that by picking the best ones in a vacuum.&lt;/p&gt;&#xA;" OwnerUserId="646" LastEditorUserId="646" LastEditDate="2012-09-22T19:35:15.373" LastActivityDate="2012-09-22T19:35:15.373" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12697" PostTypeId="1" CreationDate="2012-09-22T19:44:31.790" Score="5" ViewCount="191" Body="&lt;p&gt;In Kurt Mehlhorn's monograph &quot;Data Structures and Algorithms 1: Sorting and Searching&quot;, he poses the following question  (III.9.22):&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Design a balanced tree scheme where the worst case rebalancing cost after an insertion or deletion is $O(\log \log n)$. Hint: Use weight-balanced trees. If $n$ elements are stored then rebalance up to height  $O(\log \log n)$ as described in the text. With every node $v$ of height $\log \log n$ associate a pointer which points to an ancestor $p(v)$ of $v$ in the tree. If a transaction goes through $v$ then we also rebalance $p(v)$, if necessary, and advance $p$ one step towards the root. Show that the root balance of nodes of height $\log \log n$ or more cannot deteriorate too much.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;It is not obvious to me how a slowly-moving $p(v)$ can keep nodes of height $\Omega(\log \log n)$ but $o(\log n)$ balanced. My intuition is that these nodes must be cared to more frequently than I can manage with the &quot;one ancestor pointer&quot; system.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any ideas on how to maintain $p(v)$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There has been some work on reducing the cost of updates at a known location in weight-balanced trees, but I'm not aware of any weight-balanced tree with $o(\lg n)$ worst-case updates. (Treaps are weight balanced and have $O(1)$ expected-time updates.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.mpi-inf.mpg.de/~mehlhorn/DatAlgbooks.html&quot; rel=&quot;nofollow&quot;&gt;Mehlhorn's monograph is available electronically in an updated form that unfortunately leaves out III.9.&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="43" LastEditorUserId="43" LastEditDate="2012-09-23T02:29:32.063" LastActivityDate="2013-11-10T07:01:54.687" Title="Local updates in weight-balanced search trees" Tags="&lt;ds.data-structures&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12699" PostTypeId="1" CreationDate="2012-09-22T21:46:08.753" Score="9" ViewCount="113" Body="&lt;p&gt;I am looking for the original reference for the following statement:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Let &lt;span class=&quot;math-container&quot;&gt;$P$&lt;/span&gt; be a propositional proof system containing &lt;span class=&quot;math-container&quot;&gt;$EF$&lt;/span&gt;. Then &lt;span class=&quot;math-container&quot;&gt;$P$&lt;/span&gt; is equivalent to &lt;span class=&quot;math-container&quot;&gt;$EF+Sound(P)$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;hr /&gt;&#xA;&lt;h3&gt;Background&lt;/h3&gt;&#xA;&lt;p&gt;A propositional proof system (pps) &lt;span class=&quot;math-container&quot;&gt;$Q$&lt;/span&gt; can thought of as an nondeterministic algorithm for &lt;span class=&quot;math-container&quot;&gt;$TAUT$&lt;/span&gt; (a certificate for a tautology is called a &lt;span class=&quot;math-container&quot;&gt;$Q$&lt;/span&gt;-proof for that formula).&lt;/p&gt;&#xA;&lt;p&gt;A &lt;span class=&quot;math-container&quot;&gt;$Frege$&lt;/span&gt; system is a pps similar to those used in the logic textbooks. It has lines which are formulas (using an adequate set of connectives, e.g. &lt;span class=&quot;math-container&quot;&gt;$\land, \lor, \lnot$&lt;/span&gt;) and a finite  complete set of deduction rules and axioms. &lt;em&gt;Extended Frege&lt;/em&gt;, usually denoted by &lt;span class=&quot;math-container&quot;&gt;$EF$&lt;/span&gt; or &lt;span class=&quot;math-container&quot;&gt;$EFrege$&lt;/span&gt;, is the pps resulting from adding the extension rule (which allows introducing new propositional variable as shorthand for formulas, i.e. it allows definitions). An equivalent system which might be easier conceptually to imagine is &lt;em&gt;Circuit Frege&lt;/em&gt; (denoted by &lt;span class=&quot;math-container&quot;&gt;$CF$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$CFrege$&lt;/span&gt;) and has circuits as its lines in place of formulas (refer to Emil Jeřábek's thesis for the definition of &lt;span class=&quot;math-container&quot;&gt;$CFrege$&lt;/span&gt;).&lt;/p&gt;&#xA;&lt;p&gt;Soundness formula for a pps &lt;span class=&quot;math-container&quot;&gt;$Q$&lt;/span&gt;, denoted by &lt;span class=&quot;math-container&quot;&gt;$Sound(P)$&lt;/span&gt; is the (family of) propositional tautologies that express the soundness of &lt;span class=&quot;math-container&quot;&gt;$Q$&lt;/span&gt;, i.e.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;if &lt;span class=&quot;math-container&quot;&gt;$\varphi$&lt;/span&gt; is provable in &lt;span class=&quot;math-container&quot;&gt;$Q$&lt;/span&gt; then &lt;span class=&quot;math-container&quot;&gt;$\varphi$&lt;/span&gt; is true.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;More explicitly&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;if &lt;span class=&quot;math-container&quot;&gt;$\pi$&lt;/span&gt; is a &lt;span class=&quot;math-container&quot;&gt;$Q$&lt;/span&gt;-proof of &lt;span class=&quot;math-container&quot;&gt;$\varphi$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$\tau$&lt;/span&gt; is a truth assignment then &lt;span class=&quot;math-container&quot;&gt;$\tau$&lt;/span&gt; satisfies &lt;span class=&quot;math-container&quot;&gt;$\varphi$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;In symbols&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$\pi : Q \vdash \varphi \implies \tau \vDash \varphi$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;The parameter for the family is the length of the proofs. Soundness is also known as the &lt;em&gt;Reflection&lt;/em&gt; in the proof complexity literature.&#xA;We say two ppses are equivalent when the size of shortest proofs of tautologies in them are polynomially related, i.e. each one can simulate the other one with at most a polynomial proof size increase.&lt;/p&gt;&#xA;&lt;p&gt;The choice of &lt;span class=&quot;math-container&quot;&gt;$EF$&lt;/span&gt; is not essential for the equivalence in the question and one can take a weaker pps like Resolution (with some modifications). AFAIK this stronger version is first stated by Jan Krajicek.&lt;/p&gt;&#xA;&lt;p&gt;The statement in the question is essentially saying that the soundness tautology for &lt;span class=&quot;math-container&quot;&gt;$Q$&lt;/span&gt; is universal/complete for &lt;span class=&quot;math-container&quot;&gt;$Q$&lt;/span&gt;.&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2012-09-23T05:29:08.530" Title="Reference for a propositional proof system being equivalent to its soundness?" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;proof-complexity&gt;&lt;soundness&gt;" AnswerCount="0" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12702" PostTypeId="2" ParentId="12683" CreationDate="2012-09-23T02:29:51.080" Score="12" Body="&lt;p&gt;Tsuyoshi Ito answered the question literally, but I wanted to comment about the semantics of MA and PCP and how they differ.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;MA is the probabilistic version of NP, i.e., the verifier gets to also use poly-many random bits.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In PCP we may refer to the &quot;randomness&quot; of the verifier, but usually the randomness is logarithmic in the running time of the verifier, i.e., the verifier could have tried all possible random strings by itself. In other words, this &quot;randomness&quot; doesn't buy the verifier any computational power, unlike the case of MA.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[So what is this &quot;randomness&quot; good for? The point of PCP is that for probabilistic verification a single test --with a constant number of queries to the proof-- suffices]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Addendum (following Tsuyoshi's comment):&lt;/strong&gt; In PCP characterizations of NP the verifier's running time can be made poly-logarithmic, and, similarly, in characterizations of NEXP the verifier's running time is polynomial. Nonetheless, the randomness in PCP constructions is typically used only to pick a test (in characterizations of NP, out of poly-many tests, and in characterizations of NEXP, out of exponentially many) and not to help with the computation. Moreover, in MA, the proof is of polynomial size, while in characterizations of NEXP, the proof is of exponential size.&lt;/p&gt;&#xA;" OwnerUserId="1621" LastEditorUserId="1621" LastEditDate="2012-09-23T16:28:48.380" LastActivityDate="2012-09-23T16:28:48.380" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="12703" PostTypeId="1" CreationDate="2012-09-23T03:23:04.193" Score="6" ViewCount="543" Body="&lt;p&gt;I have a n×n grid of binary bits, where n is a natural number. I want to count the number of bit patterns which have the following property: out of the four (North, West, South and East) adjacent bits of any bit, at most 3 can have a value different from it. Alternatively, if C is the center bit, and N, W, E and S are its four adjacent neighbours, then&#xA;              (C xor W)∧(C xor S)∧(C xor E)∧(C xor N)=0  &lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;              N&#xA;            W-C-E&#xA;              S&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;This should hold for every bit in any valid pattern. I am not sure if this is a #P problem. The counting for 1D version of this problem (a 1×n or n×1 grid), where every bit has only two adjacent neighbours, and at most one can be different from the bit, can be done in polynomial time. I am not sure if the same is true for this problem or not..&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Inductive Proof for the case of a $n \times 1$ grid:&lt;/strong&gt;  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Counting for the 1D case can be done using the following inductive argument:  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For an $n \times 1$ grid, let $b_{n}b_{n-1}...b_{1}b_{0}$ be a unique bit pattern. For this pattern to be valid, for any $b_{i}$, $i \in [1, n-1]$, atmost one of $b_{i-1}$ or $b_{i+1}$ can be equal to $\neg b_{i}$.&lt;br&gt;&#xA;We now define the following quantities for a $n \times 1$ grid:&lt;br&gt;&#xA;• $T(n)$ is the total number of distinct $n$ bit patterns&lt;br&gt;&#xA;• $T_{v}(n)$ is the total number of valid patterns&lt;br&gt;&#xA;• $T_{iv}(n)$ is the total number of invalid patterns&lt;br&gt;&#xA;• $T_{vs}(n)$ is the total number of valid patterns which satisfy the property $b_{n} = b_{n-1}$&lt;br&gt;&#xA;• $T_{vd}(n)$ is the total number of valid patterns which satisfy the property $b_{n} \neq b_{n-1}$  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then, for $n \geq 3$:&lt;br&gt;&#xA;$T_{v}(n) = 2 \times T_{vs}(n-1) + T_{vd}(n-1)$&lt;br&gt;&#xA;$T_{vs}(n) = T_{vs}(n-1) + T_{vd}(n-1)$&lt;br&gt;&#xA;$T_{vd}(n) = T_{vs}(n-1)$  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, by the definition of $T_{v}(n)$ and $T_{vs}(n)$, we have:&lt;br&gt;&#xA;$T_{v}(n)=T_{vs}(n)+T_{vd}(n)$&lt;br&gt;&#xA;$T_{vs}(n)=T_{v}(n-1)$  (Only one pattern of the type $T_{vs}$ for a $1 \times n$ grid can be created from a $T_{v}$ pattern for a $1 \times n-1$ grid)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now,&lt;br&gt;&#xA;$T_{v}(n) = 2 \times T_{vs}(n-1) + T_{vd}(n-1)$&lt;br&gt;&#xA;$T_{v}(n) = T_{vs}(n-1) + T_{vs}(n-1) + T_{vd}(n-1)$&lt;br&gt;&#xA;$T_{v}(n) = (T_{vs}(n-1) + T_{vd}(n-1)) + T_{vs}(n-1)$&lt;br&gt;&#xA;$T_{v}(n) = T_{v}(n-1) + T_{v}(n-2)$  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;By using $n=2$ and $n=1$ as the base cases, we can compute the number of valid patterns for a $n \times 1$ grid for any $n$. This inductive method breaks for a $n \times n$ grid, because it would require creating exponential intermediate variables to do an exact counting.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks,&#xA;Rajeev&lt;/p&gt;&#xA;" OwnerUserId="10817" LastEditorUserId="10817" LastEditDate="2012-09-24T23:00:30.387" LastActivityDate="2012-10-03T22:10:35.740" Title="Counting number of solutions to a specific SAT formula" Tags="&lt;cc.complexity-theory&gt;&lt;counting-complexity&gt;&lt;application-of-theory&gt;" AnswerCount="2" CommentCount="20" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="12704" PostTypeId="2" ParentId="12691" CreationDate="2012-09-23T04:58:22.410" Score="14" Body="&lt;p&gt;Here is one example that I know: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.wisdom.weizmann.ac.il/~ranraz/publications/Plogrank.ps&quot;&gt;``On the 'Log-Rank' Conjecture in Communication Complexity''&lt;/a&gt;,&#xA;R.Raz, B.Spieker,&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;Proceeding of the 34th FOCS, 1993, pp. 168-177&#xA;Combinatorica 15(4) (1995) pp. 567-588 &#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;I believe that there much more.&lt;/p&gt;&#xA;" OwnerUserId="1821" LastActivityDate="2012-09-23T04:58:22.410" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="12705" PostTypeId="1" CreationDate="2012-09-23T05:40:08.007" Score="-1" ViewCount="113" Body="&lt;p&gt;I have the following questions about the weights used in threshold circuits: &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;What is the difference beween real weight and non-negative real one? &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Integer weights can efficiently simulate real weights ? &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Certain kind of integer like prime numbers has as powerful as general integer weights?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="10818" LastEditorUserId="186" LastEditDate="2012-09-23T20:26:51.110" LastActivityDate="2012-09-23T20:26:51.110" Title="Weights in threshold circuits" Tags="&lt;cc.complexity-theory&gt;&lt;circuit-complexity&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="12707" PostTypeId="2" ParentId="12691" CreationDate="2012-09-23T13:01:06.340" Score="12" Body="&lt;p&gt;Here's an example from quantum computing:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Roland, Jeremie; Roetteler, Martin; Magnin, Loïck; Ambainis, Andris (2011), &quot;Symmetry-Assisted Adversaries for Quantum State Generation&quot;, Proceedings of the 2011 IEEE 26th Annual Conference on Computational Complexity, CCC '11, IEEE Computer Society, pp. 167–177, &lt;a href=&quot;http://dx.doi.org/10.1109/CCC.2011.24&quot;&gt;doi:10.1109/CCC.2011.24&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;They show that the quantum query complexity of a certain problem called Index Erasure is $\Omega(\sqrt{n})$ using representation theory of the symmetric group to construct an optimal adversary matrix to plug into the quantum adversary method.&lt;/p&gt;&#xA;" OwnerUserId="206" LastActivityDate="2012-09-23T13:01:06.340" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12708" PostTypeId="2" ParentId="12705" CreationDate="2012-09-23T13:05:54.510" Score="2" Body="&lt;ol&gt;&#xA;&lt;li&gt;There is fundamentally little difference between positive and negative weights. It just corresponds to negating the corresponding input. (i.e. replacing $x_i \in \{0,1\}$ by $(1-x_i$)).&lt;/li&gt;&#xA;&lt;li&gt;Yes. It was shown by &lt;a href=&quot;http://dx.doi.org/10.1016/0016-0032%2861%2990702-5&quot; rel=&quot;nofollow&quot;&gt;Muroga, Toda and Takasu&lt;/a&gt; that integer weights of magnitude $(n+1)^{(n+1)/2}/2^n$ are sufficient.&lt;/li&gt;&#xA;&lt;li&gt;I don't know about this (is there a reason for this question by the way?). However one can assume that weights are even integers of magnitude at least 4, and such numbers can be written as the sum of at most 6 primes. Hence any threshold function on $n$ variables is a &lt;em&gt;projection&lt;/em&gt; of a threshold function on at most $6n$ variables where all weights are prime numbers (or the negative of prime numbers). So it would be reasonable to say that threshold functions with prime weights are as powerful as threshold functions with no such restriction.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="313" LastActivityDate="2012-09-23T13:05:54.510" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12710" PostTypeId="2" ParentId="12691" CreationDate="2012-09-23T15:28:23.400" Score="28" Body="&lt;p&gt;Here are a few other examples. &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Diaconis and Shahshahani (1981) studied how many random transpositions are required in order to generate a near uniform permutation. They proved a sharp threshold of 1/2 n log(n) +/- O(n). &lt;a href=&quot;http://www.springerlink.com/content/j602u8m7w061467r/fulltext.pdf&quot;&gt;Generating a Random Permutation with Random Transpositions&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Kassabov (2005) proved that one can build a bounded degree expander on the symmetric group. &lt;a href=&quot;http://arxiv.org/abs/math.GR/0505624&quot;&gt;Symmetric Groups and Expander Graphs&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Kuperberg, Lovett and Peled (2012) proved that there exist small sets of permutations which act uniformly on k-tuples. &lt;a href=&quot;http://arxiv.org/abs/1111.0492&quot;&gt;Probabilistic existence of rigid combinatorial structures&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="10823" LastEditorUserId="4896" LastEditDate="2012-09-23T16:15:54.667" LastActivityDate="2012-09-23T16:15:54.667" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12711" PostTypeId="2" ParentId="12691" CreationDate="2012-09-23T18:19:15.703" Score="-5" Body="&lt;p&gt;an older example, but still with recent/ongoing research, some of this theory shows up in the mathematics of the &lt;a href=&quot;http://en.wikipedia.org/wiki/Faro_shuffle&quot; rel=&quot;nofollow&quot;&gt;&quot;perfect shuffle&quot;&lt;/a&gt;, seen as an element of the symmetric group &amp;amp; which was a famous discovery at the time. [1] mentions applications of the perfect shuffle to parallel processing algorithms and also the connection to Cooley-Tukey O(n log n) DFT. [2] is more recent. the perfect shuffle shows up in parallel processing [3], memory design, and sorting networks.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] &lt;a href=&quot;http://www-stat.stanford.edu/~cgates/PERSI/papers/83_05_shuffles.pdf&quot; rel=&quot;nofollow&quot;&gt;Mathematics of the perfect shuffle&lt;/a&gt; by Diaconis, Graham, Cantor. 1983&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] &lt;a href=&quot;http://www.emis.de/journals/DMTCS/pdfpapers/dm050111.pdf&quot; rel=&quot;nofollow&quot;&gt;Cycles of the multiway perfect shuffle permutation&lt;/a&gt; by Ellis, Fan, Shallit (2002)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[3] &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=1309584&quot; rel=&quot;nofollow&quot;&gt;Parallel processing with the perfect shuffle&lt;/a&gt; by Stone, 1971&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[4] &lt;a href=&quot;http://en.wikipedia.org/wiki/Omega_network&quot; rel=&quot;nofollow&quot;&gt;Omega network&lt;/a&gt; based on perfect shuffling&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[5] &lt;a href=&quot;http://arxiv.org/pdf/1204.1958.pdf&quot; rel=&quot;nofollow&quot;&gt;Parallel and sequential in-place permuting and perfect shuffling using involutions&lt;/a&gt; Yang et al (2012)&lt;/p&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2012-09-23T18:19:15.703" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="12712" PostTypeId="1" AcceptedAnswerId="12716" CreationDate="2012-09-23T19:27:50.980" Score="21" ViewCount="1125" Body="&lt;p&gt;Feedback Vertex Set (FVS) is NP-complete for general graphs. It is known to be NP-complete for degree-&lt;span class=&quot;math-container&quot;&gt;$8$&lt;/span&gt; bounded graphs due to a reduction from vertex cover.&#xA;The &lt;a href=&quot;http://en.wikipedia.org/wiki/Feedback_vertex_set&quot; rel=&quot;nofollow noreferrer&quot;&gt;Wikipedia article&lt;/a&gt; says that it is poly-time solvable for degree-&lt;span class=&quot;math-container&quot;&gt;$3$&lt;/span&gt; bounded graphs and is NP-complete for degree-&lt;span class=&quot;math-container&quot;&gt;$4$&lt;/span&gt; bounded graphs. But I have not been able to find any proof for this anywhere. Is it true?&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;What is the minimum &lt;span class=&quot;math-container&quot;&gt;$d$&lt;/span&gt; such that FVS in degree-&lt;span class=&quot;math-container&quot;&gt;$d$&lt;/span&gt; bounded graphs is&#xA;NP-complete?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="10827" LastEditorUserId="46469" LastEditDate="2021-02-15T09:30:43.770" LastActivityDate="2021-02-15T09:30:43.770" Title="Is feedback vertex set problem solvable in polynomial time for 3-degree bounded graphs?" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;np-hardness&gt;&lt;bounded-degree&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="6" ContentLicense="CC BY-SA 4.0" />
  <row Id="12713" PostTypeId="2" ParentId="9654" CreationDate="2012-09-23T20:16:22.947" Score="3" Body="&lt;p&gt;I don't know whether your result -- if valid -- would be a non-trivial advance, but here is one sort of problem you could test it on:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Problem.&lt;/strong&gt; Fix a function $f:\{0,1\}^n \to \{0,1\}^n$.  Given $y \in \{0,1\}^n$, find $x \in \{0,1\}^n$ such that $f(x)=y$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $f$ can be computed efficiently (say, by a small circuit), your result implies some sort of solution to this problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the cryptographic world, the best known algorithm for this problem does a precomputation (depending only upon $f$) that requires $2^n$ time and $2^{2n/3}$ space, and outputs some advice of size $2^{2n/3}$; then, given $x$, it can find $y$ in $2^{2n/3}$ time, using the advice string of size $2^{2n/3}$ from the precomputation.  You can adjust the space vs time tradeoff, to use an advice string of size $S$ and take time $T$, as long as $S \sqrt{T} = 2^n$.  As far as I know, this complexity is believed to be the best possible, for algorithms that do not take into account any of the internal structure of $f$.  In particular, it is likely to be optimal when $f$ is a cryptographically secure hash function.  (This technique is known as the Hellman time-space tradeoff.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, if your technique can do better than the Hellman time-space tradeoff on some cryptographically secure $f$, it would certainly be news.&lt;/p&gt;&#xA;" OwnerUserId="5038" LastActivityDate="2012-09-23T20:16:22.947" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12714" PostTypeId="2" ParentId="12712" CreationDate="2012-09-24T01:31:54.820" Score="10" Body="&lt;p&gt;The relevant references appear to be:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Ueno, Shuichi; Kajitani, Yoji; Gotoh, Shin'ya. On the nonseparating independent set problem and feedback set problem for graphs with no vertex degree exceeding three. Proceedings of the First Japan Conference on Graph Theory and Applications (Hakone, 1986).  &lt;a href=&quot;http://dx.doi.org/10.1016/0012-365X%2888%2990226-9&quot;&gt;Discrete Math. 72 (1988), no. 1-3, 355–360&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Li, Deming; Liu, Yanpei. A polynomial algorithm for finding the minimum feedback vertex set of a 3-regular simple graph. Acta Math. Sci. 19 (1999), no. 4, 375–381. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Warning: I have not read either one but they both claim to solve the problem in polynomial time. I don't think the difference between 3-regular and max degree three is important for this problem.)&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2012-09-24T01:31:54.820" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12715" PostTypeId="1" CreationDate="2012-09-24T09:58:37.320" Score="16" ViewCount="403" Body="&lt;p&gt;It is not known if graph isomorphism (GI) for &lt;a href=&quot;http://en.wikipedia.org/wiki/Strongly_regular_graph&quot;&gt;strongly regular graphs&lt;/a&gt; (SRGs) is in &lt;strong&gt;P&lt;/strong&gt;. Are there any hints that it might or might not be &lt;strong&gt;GI&lt;/strong&gt;-Complete? Are there any strong consequences in such cases? (Similar to the &lt;em&gt;belief&lt;/em&gt; that GI may not be NP-Complete).&lt;/p&gt;&#xA;" OwnerUserId="10456" LastEditorUserId="567" LastEditDate="2012-09-24T16:34:27.017" LastActivityDate="2014-10-07T19:49:31.767" Title="Strongly Regular Graph and GI-Completeness" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;graph-isomorphism&gt;&lt;structural-complexity&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="12716" PostTypeId="2" ParentId="12712" CreationDate="2012-09-24T11:42:45.823" Score="13" Body="&lt;p&gt;Li and Liu's algorithm is incorrect (see below).  Ueno et al.'s algorithm is correct, and a similar algorithm can be found in Furst et al. &lt;a href=&quot;http://doi.org/10.1145/44483.44485&quot; rel=&quot;nofollow noreferrer&quot;&gt;1&lt;/a&gt;.  Both algorithms reduce the problem to the polynomial-solvable matroid parity problem [3].&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Its reduction from VC ensures the NP-hardness for degree-6 bounded graph!  As VC is already NP-hard on cubic graphs. Speckenmeyer has claimed that his thesis [4] contains the proof of NP-hardness of FVS on planar graphs of maximum degree four, but it's very hard to find (I'll greatly appreciate if who have access to his thesis can send me a copy). Fortunately, a new proof of&#xA;the NP-hardness of degree-four bounded graphs can be found in &lt;a href=&quot;http://doi.org/10.1007/s00453-007-9112-8&quot; rel=&quot;nofollow noreferrer&quot;&gt;2&lt;/a&gt;:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Remarks on &lt;a href=&quot;http://doi.org/10.1007/s00453-007-9112-8&quot; rel=&quot;nofollow noreferrer&quot;&gt;2&lt;/a&gt;: &#xA; - In fact, he proved that the problem is APX-hard, but it is easy to verify&#xA;that his reductions are also valid for the proof of NP-hardness of the problem.&#xA; - Its reduction does NOT apply to planar graphs. &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Merrick L. Furst, Jonathan L. Gross, and Lyle A. McGeoch, “Finding a maximum-genus graph imbedding,” Journal of the ACM, vol. 35, no. 3, pp. 523–534, 1988. &lt;a href=&quot;http://doi.org/10.1145/44483.44485&quot; rel=&quot;nofollow noreferrer&quot;&gt;10.1145/44483.44485&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Rizzi, R.: Weakly fundamental cycle bases are hard to find. Algorithmica 53(3), 402-424 (2009) &lt;a href=&quot;http://doi.org/10.1007/s00453-007-9112-8&quot; rel=&quot;nofollow noreferrer&quot;&gt;10.1007/s00453-007-9112-8&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;László Lovász, “The matroid matching problem,” in Algebraic Methods in Graph Theory, ser. Colloquia Mathematica Societatis János Bolyai, vol. 25, Szeged, Hungary, 1980, pp. 495–517.&lt;/li&gt;&#xA;&lt;li&gt;Ewald Speckenmeyer, “Untersuchungen zum feedback vertex set problem in ungerichteten graphen,” PhD thesis, Universität-GH Paderborn, Reihe Informatik, Bericht, 1983.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="7059" LastEditorUserId="7059" LastEditDate="2020-05-15T15:41:40.120" LastActivityDate="2020-05-15T15:41:40.120" CommentCount="3" ContentLicense="CC BY-SA 4.0" />
  <row Id="12718" PostTypeId="2" ParentId="12691" CreationDate="2012-09-24T14:31:24.560" Score="6" Body="&lt;p&gt;More statistics than computer science, but still interesting: In chapter 8 in Diaconis' monograph on &lt;a href=&quot;http://projecteuclid.org/euclid.lnms/1215467407&quot; rel=&quot;noreferrer&quot;&gt;Group Gepresentations in Probability and Statistics&lt;/a&gt;, spectral analysis techniques for data associated with a group $G$ are developed. This extends more classical spectral analysis of say time series data where the natural $G$ is the reals or the integers under addition. It makes sense to take $G$ to be $S_n$ when data is given by rankings. The monograph goes into interpreting the Fourier coefficients of ranking data. In that case the data set is represented by a sparse $f:S_n \rightarrow \mathbb{R}^+$ which maps rankings (given by a permutation) to the fraction of the population that prefers the ranking.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also in the same chapter, Fourier analysis over the symmetric and other groups is used to derive ANOVA models and tests. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A natural extension of this would be statistical learning theory for ranking problems that benefits from representation theoretic techniques in a way similar to the way learning theory for binary classification under the uniform distribution has benefited from Fourier analysis on the boolean cube.&lt;/p&gt;&#xA;" OwnerUserId="4896" LastEditorUserId="4896" LastEditDate="2012-09-25T00:14:32.123" LastActivityDate="2012-09-25T00:14:32.123" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="12719" PostTypeId="1" AcceptedAnswerId="12728" CreationDate="2012-09-24T16:05:35.000" Score="5" ViewCount="506" Body="&lt;p&gt;If a problem $P$ belongs to both $\Pi_2^p$ and $NP$-hard (thanks to some reduction from a $NP$-complete problem) but not to $NP$, does it imply that $P$ is $\Pi_2^p$-complete?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If the answer is no, are there some problems with these properties which have not been shown to be $\Pi_2^p$-complete?&lt;/p&gt;&#xA;" OwnerUserId="10172" LastEditorUserId="-1" LastEditDate="2012-10-08T04:25:36.533" LastActivityDate="2012-10-08T04:25:36.533" Title="What if a problem is both in $\Pi_2^p$ and $NP$-hard?" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;&lt;complexity-classes&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12720" PostTypeId="2" ParentId="12691" CreationDate="2012-09-24T18:01:27.953" Score="-1" Body="&lt;p&gt;&lt;a href=&quot;http://www.math.tu-dresden.de/~pech/talks/vortrag2.pdf&quot; rel=&quot;nofollow&quot;&gt;Application of the Representation Theory of&#xA;Symmetric Groups for the Computation of&#xA;Chromatic Polynomials of Graphs&lt;/a&gt; by Klin and Pech&lt;/p&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2012-09-24T18:01:27.953" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12722" PostTypeId="2" ParentId="12691" CreationDate="2012-09-24T18:43:25.620" Score="5" Body="&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Huangs Phd thesis, &lt;a href=&quot;http://www.select.cs.cmu.edu/publications/paperdir/thesis2011-huang.pdf&quot; rel=&quot;nofollow&quot;&gt;PROBABILISTIC REASONING AND&#xA;LEARNING ON PERMUTATIONS : exploiting structural decompositions of the&#xA;symmetric group&lt;/a&gt;. the application is &quot;a real camera-based multi-person tracking scenario.&quot;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://jmlr.csail.mit.edu/papers/volume10/huang09a/huang09a.pdf&quot; rel=&quot;nofollow&quot;&gt;Fourier Theoretic Probabilistic Inference over Permutations&lt;/a&gt; by Huang, Guestrin, Guibas; Journal of Machine Learning Research 10 (2009) 997-1070. see eg sec 5. Representation Theory on the Symmetric Group&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;another multitracking application paper. &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.71.1292&quot; rel=&quot;nofollow&quot;&gt;Multi-object tracking with representations of the symmetric group (2007)&lt;/a&gt; by Kondor, Howard, Jebara&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://www.sc.ehu.es/ccwbayes/publications/postscript/EHU-KZAA-TR-1-2011.pdf&quot; rel=&quot;nofollow&quot;&gt;Learning probability distributions over Permutations by Means of Fourier Coefficients,&lt;/a&gt; Irurozki, Calvo, Lozano (Dept CS/AI). see sec 2 The Fourier Transform on the Symmetric Group&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="7884" LastEditDate="2012-09-25T00:37:22.973" LastActivityDate="2012-09-25T00:37:22.973" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="12723" PostTypeId="2" ParentId="12691" CreationDate="2012-09-24T18:52:42.723" Score="7" Body="&lt;p&gt;&lt;a href=&quot;http://arxiv.org/pdf/quant-ph/0501056v3.pdf&quot;&gt;The Symmetric Group Defies Strong Fourier Sampling&lt;/a&gt; by Moore, Russell, Schulman&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&quot;we show that the hidden subgroup problem over the symmetric group cannot be efficiently&#xA;solved by strong Fourier sampling... These&#xA;results apply to the special case relevant to the Graph Isomorphism problem.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;with a connection to solving the Graph Isomorphism problem via QM approaches&lt;/p&gt;&#xA;&#xA;&lt;p&gt;sec 5 Representation theory of the symmetric group&lt;/p&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2012-09-24T18:52:42.723" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12724" PostTypeId="1" CreationDate="2012-09-25T00:03:22.917" Score="7" ViewCount="246" Body="&lt;p&gt;In considering an answer to &lt;a href=&quot;https://cstheory.stackexchange.com/questions/12671/is-there-a-proof-that-addition-is-faster-than-multiplication&quot;&gt;this question&lt;/a&gt;, I once again wondered how quickly we could find a digit in multiplication.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We may first consider previous results.  Finding the least significant digits is fairly obvious.  I was intrigued by &lt;a href=&quot;https://math.stackexchange.com/q/59562/2626&quot;&gt;this question&lt;/a&gt;, on Math.SE, which has several answers that show a mathematical series solution to obtaining the most significant digit to a division, albeit one with little necessary information.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;This brings up a few questions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(1) How quickly can we find the most significant digit in a multiplication (between two $n$-bit integers)?  (Just to clarify, I intended this to mean knowing the position of the digit itself.)  Can we find other most significant digits in approximately the same time?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(2)  How quickly can we find an arbitrary digit in multiplication?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(3) Is finding an arbitrary digit in multiplication as hard as multiplication itself?&lt;/p&gt;&#xA;" OwnerUserId="1549" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2012-09-25T19:01:53.280" Title="How quickly can we find an arbitrary digit in multiplication?" Tags="&lt;ds.algorithms&gt;&lt;time-complexity&gt;" AnswerCount="0" CommentCount="6" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12725" PostTypeId="2" ParentId="12691" CreationDate="2012-09-25T00:30:29.843" Score="11" Body="&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Knuth 3rd volume of &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0321751043&quot;&gt;The Art of Computer Programming&lt;/a&gt; is devoted to searching and sorting and devote much to combinatorics and permutations and to the &lt;a href=&quot;http://en.wikipedia.org/wiki/Robinson%E2%80%93Schensted%E2%80%93Knuth_correspondence&quot;&gt;Robinson-Schensted-Knuth correspondence&lt;/a&gt;, which is central in representation theory of the symmetric group.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;There are several papers by Ellis-Friedgut-Pilpel, and Ellis-Friedgut-Filmus which solve extremal combinatorial problems using harmonic analysis on $S_n$. Not quite TCS, but quite close.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Ajtai had in the early 90s wonderful results on modular representation of $S_n$ which were motivated by computational complexity questions. I don't remember the details or if it was published, but this is worth perusing! &lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="712" LastEditorUserId="1761" LastEditDate="2012-09-25T12:48:37.197" LastActivityDate="2012-09-25T12:48:37.197" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12726" PostTypeId="2" ParentId="12691" CreationDate="2012-09-25T00:58:34.063" Score="-2" Body="&lt;p&gt;this highly cited paper by Beals, 1997, STOC appears to prove that &lt;a href=&quot;http://libra.msra.cn/Publication/575427/quantum-computation-of-fourier-transforms-over-symmetric-groups&quot; rel=&quot;nofollow&quot;&gt;Quantum computation of Fourier transforms over symmetric groups&lt;/a&gt; is in BQP ie quantum polynomial time&lt;/p&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2012-09-25T00:58:34.063" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="12727" PostTypeId="1" AcceptedAnswerId="12735" CreationDate="2012-09-25T01:33:09.503" Score="22" ViewCount="481" Body="&lt;p&gt;In graph property testing, an algorithm queries a target graph for the presence or absence of edges and needs to determine whether the target either has a certain property or is $\epsilon$-far from having the property. (An algorithm can be asked to succeed with 1-sided or 2-sided error.)  A graph is $\epsilon$-far from having a property if no $\epsilon \binom{n}{2}$ edges can be added/subtracted to make it have the property.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A property is said to be testable if it can be tested in the manner specified above in a sub-linear number of queries, or better yet, in a number of queries independent of $n$ (but not $\epsilon$).  The notion of what properties are can also be formalized, but it should be clear.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are many results characterizing what properties are testable, with many examples of natural testable properties.  However, I am not aware of many &lt;em&gt;natural&lt;/em&gt; properties that are known to not be testable (say in a constant number of queries) -- one that I am familiar with is testing for isomorphism to a given graph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, my question is: &lt;strong&gt;what natural graph properties are known &lt;em&gt;not&lt;/em&gt; to be testable?&lt;/strong&gt;&lt;/p&gt;&#xA;" OwnerUserId="123" LastEditorUserId="-1" LastEditDate="2012-10-08T04:27:06.033" LastActivityDate="2012-10-08T04:27:06.033" Title="Natural, untestable graph properties" Tags="&lt;cc.complexity-theory&gt;&lt;machine-learning&gt;&lt;query-complexity&gt;&lt;property-testing&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12728" PostTypeId="2" ParentId="12719" CreationDate="2012-09-25T05:33:40.747" Score="11" Body="&lt;p&gt;The answer is &quot;no&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In fact, in addition to the general argument pointed to by Tsuyoshi, there are a number of well-studied complexity classes which contain NP, but are contained in $\Pi_2^P$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Two interesting containment chains are:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$NP \subseteq \Delta_2^P \subseteq S_2^P \subseteq \Sigma_2^P \cap \Pi_2^P \subseteq \Pi_2^P$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;and&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$NP \subseteq MA \subseteq BP \cdot NP = AM \subseteq \Pi_2^P$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To help clarify the letter soup, see Wikipedia's article on the &lt;a href=&quot;http://en.wikipedia.org/wiki/Arthur%E2%80%93Merlin_protocol&quot; rel=&quot;nofollow noreferrer&quot;&gt;Arthur-Merlin protocol&lt;/a&gt; and &lt;a href=&quot;http://en.wikipedia.org/wiki/S2P_%28complexity%29&quot; rel=&quot;nofollow noreferrer&quot;&gt;$S_2^P$&lt;/a&gt;. There's also of course the &lt;a href=&quot;http://qwiki.stanford.edu/index.php/Complexity_Zoo&quot; rel=&quot;nofollow noreferrer&quot;&gt;complexity zoo&lt;/a&gt; for descriptions of these various classes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also take a look at &lt;a href=&quot;https://cstheory.stackexchange.com/questions/3890/canonical-complete-problems-for-deltap-n&quot;&gt;this question&lt;/a&gt; asking about canonical $\Delta_i^P$-complete problems.&lt;/p&gt;&#xA;" OwnerUserId="969" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2012-09-25T16:22:10.860" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12729" PostTypeId="1" AcceptedAnswerId="32287" CreationDate="2012-09-25T06:25:41.147" Score="26" ViewCount="550" Body="&lt;p&gt;It looks like George Gonthier and his collaborators have &lt;a href=&quot;http://www.msr-inria.inria.fr/events-news/feit-thompson-proved-in-coq&quot;&gt;finished formalizing the Odd Order Theorem&lt;/a&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In his earlier work on the Four Color Theorem, Gonthier invented a bunch of new algorithms (mostly variants of BDDs and graph algorithms) which were especially amenable to formal verification. Since he has said that he was  continuing to use this &lt;a href=&quot;http://www.msr-inria.inria.fr/Projects/math-components&quot;&gt;small-scale reflection&lt;/a&gt; style of verification in the work on finite group theory, I wonder what new algorithmic tricks were developed during this development?&lt;/p&gt;&#xA;" OwnerUserId="657" LastEditorUserId="4155" LastEditDate="2012-09-26T02:14:43.337" LastActivityDate="2015-08-15T13:35:50.357" Title="Interesting algorithms in the formalization of the Feit-Thompson theorem?" Tags="&lt;lo.logic&gt;&lt;proof-assistants&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="12733" PostTypeId="2" ParentId="12682" CreationDate="2012-09-25T15:46:01.913" Score="9" Body="&lt;p&gt;As stated, the answer to this question is NO.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;References : &#xA;A polynomial time algorithm &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=101343&quot; rel=&quot;noreferrer&quot;&gt;http://dl.acm.org/citation.cfm?id=101343&lt;/a&gt; [courtesy: vzn]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another much simpler technique : &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=122322&quot; rel=&quot;noreferrer&quot;&gt;http://dl.acm.org/citation.cfm?id=122322&lt;/a&gt; [courtesy: Jeffe]&lt;/p&gt;&#xA;" OwnerUserId="10793" LastActivityDate="2012-09-25T15:46:01.913" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="12735" PostTypeId="2" ParentId="12727" CreationDate="2012-09-25T17:22:53.053" Score="11" Body="&lt;p&gt;In the adjacency matrix model, there is a lower bound of $\Omega(n)$ on the query complexity of testing whether an $n$ vertex graph consists of two isomorphic copies of some $n/2$-vertex graph (see &lt;a href=&quot;http://www.wisdom.weizmann.ac.il/~oded/COL/tgp-intro.pdf&quot;&gt;Introduction to testing graph properties - Goldreich&lt;/a&gt; for a survey).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, there are many lower bounds that depend on $n$ for testers with one-sided error, e.g.: testing $\rho$-Clique,$\rho$-Cut, and $\rho$-Bisection (see &lt;a href=&quot;http://www.wisdom.weizmann.ac.il/~oded/PS/test1.ps&quot;&gt;Property testing and its connection to learning and approximation - Goldreich, Goldwasser, Ron&lt;/a&gt;)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Moreover, in the bounded degree graph model, testing 3-Colorability requires $\Omega(n)$ queries, whereas testing 2-Colorability (i.e., Bipartiteness) requires $\Omega(\sqrt n)$ (see &lt;a href=&quot;http://www.cs.princeton.edu/courses/archive/spr04/cos598B/bib/GoldreichR-boundedG.pdf&quot;&gt;Property testing in bounded degree graphs - Goldreich, Ron&lt;/a&gt;).&lt;/p&gt;&#xA;" OwnerDisplayName="user887" LastActivityDate="2012-09-25T17:22:53.053" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12736" PostTypeId="1" AcceptedAnswerId="12772" CreationDate="2012-09-25T18:00:05.080" Score="22" ViewCount="1665" Body="&lt;p&gt;Commute time in a connected graph $G=(V,E)$ is defined as the expected number of steps in a random walk starting at $i$, before node $j$ is visited and then node $i$ is reached again. It is basically the sum of the two hitting times $H(i,j)$ and $H(j,i)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there anything similar to the commute time (not exactly the same) but defined in terms of nodes? In other words, what is the expected number of &lt;strong&gt;distinct&lt;/strong&gt; nodes a random walk starting at $i$ and returning at $i$ will visit?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Update (Sept 30, 2012): There is a number of related work on the number of distinct sites visited by a random walker on a lattice (i.e., $\mathbb{Z}^n$). For instance, see: &lt;a href=&quot;http://jmp.aip.org/resource/1/jmapaq/v4/i9/p1191_s1?isAuthorized=no&quot; rel=&quot;nofollow&quot;&gt;http://jmp.aip.org/resource/1/jmapaq/v4/i9/p1191_s1?isAuthorized=no&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Anybody has ever read something on this?&lt;/p&gt;&#xA;" OwnerUserId="6555" LastEditorUserId="-1" LastEditDate="2012-10-08T04:25:45.283" LastActivityDate="2018-03-27T14:28:17.347" Title="Number of distinct nodes in a random walk" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;random-walks&gt;&lt;pr.probability&gt;" AnswerCount="3" CommentCount="13" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="12739" PostTypeId="2" ParentId="12386" CreationDate="2012-09-25T22:53:59.920" Score="4" Body="&lt;p&gt;I started a project under MIT license to try to solve this problem.  Currently it uses the 'best fit' approach.  Sorts 'items' from largest to smallest and sorts bins from smallest to largest.  Finds first bin that is large enough to use that has ALREADY been used (if possible).  Let's see if we can make it a good enough solution for all.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://github.com/asharif/packit4.me&quot; rel=&quot;nofollow&quot;&gt;https://github.com/asharif/packit4.me&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="10858" LastActivityDate="2012-09-25T22:53:59.920" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12742" PostTypeId="1" CreationDate="2012-09-26T12:51:35.823" Score="0" ViewCount="122" Body="&lt;p&gt;How to determine the number of $i$'s as fast as possible such that &#xA;$$1\le i \le L$ and $((ai+b)\mod p) \mod k = l$$ &#xA;where $p$ is a prime number, $1\lt a, b\lt p-1$, and $l \lt k \lt L \lt p$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This problem is related with the simple hash function &#xA;$$h(i) = ((ai+b)\mod p) \mod k$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It seems that no related topics are discussed.&lt;/p&gt;&#xA;" OwnerUserId="9885" LastEditorUserId="-1" LastEditDate="2012-10-08T04:30:24.920" LastActivityDate="2012-10-08T04:30:24.920" Title="count number of i such that ( (a*i+b) mod p) mod k == l" Tags="&lt;ds.algorithms&gt;&lt;nt.number-theory&gt;&lt;hash-function&gt;&lt;algebra&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="12744" PostTypeId="1" CreationDate="2012-09-26T16:42:46.217" Score="14" ViewCount="448" Body="&lt;p&gt;I am interested in graphs on $n$ vertices which can be produced via the following process.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Start with an arbitrary graph $G$ on $k\le n$ vertices. Label all the vertices in $G$ as &lt;i&gt;unused&lt;/i&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Produce a new graph $G'$ by adding a new vertex $v$, which is connected to one or more  &lt;i&gt;unused&lt;/i&gt; vertices in $G$, and is not connected to any &lt;i&gt;used&lt;/i&gt; vertices in $G$. Label $v$ as &lt;i&gt;unused&lt;/i&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Label one of the vertices in $G'$ to which $v$ is connected as &lt;i&gt;used&lt;/i&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Set $G$ to $G'$ and repeat from step 2 until $G$ contains $n$ vertices.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Call such graphs &quot;graphs of complexity $k$&quot; (apologies for the vague terminology). For example, if $G$ is a graph of complexity 1, $G$ is a path.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would like to know if this process has been studied before. In particular, for arbitrary $k$, &lt;b&gt;is it NP-complete to determine whether a graph has complexity $k$?&lt;/b&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This problem appears somewhat similar to the question of whether $G$ is a &lt;a href=&quot;https://cstheory.stackexchange.com/questions/1532/what-is-the-correct-definition-of-k-tree&quot;&gt;partial $k$-tree&lt;/a&gt;, i.e. has &lt;a href=&quot;http://en.wikipedia.org/wiki/Treewidth&quot; rel=&quot;nofollow noreferrer&quot;&gt;treewidth&lt;/a&gt; $k$. It is known that determining whether $G$ has treewidth $k$ is NP-complete. However, some graphs (stars, for example) may have much smaller treewidth than the measure of complexity discussed here.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;4th October 2012: Question &lt;a href=&quot;https://mathoverflow.net/questions/108824/a-graph-parameter-possibly-related-to-treewidth&quot;&gt;cross-posted&lt;/a&gt; to MathOverflow after there was no conclusive answer after a week (though thanks for the info about causal flows).&lt;/p&gt;&#xA;" OwnerUserId="447" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.530" LastActivityDate="2012-11-09T23:48:42.460" Title="A graph parameter possibly related to treewidth" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;treewidth&gt;" AnswerCount="2" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12746" PostTypeId="2" ParentId="12744" CreationDate="2012-09-26T17:37:14.857" Score="8" Body="&lt;p&gt;Though we've chatted about this in person before, I'll add this in the hope that this will allow someone else to provide a complete answer.&lt;/p&gt;&#xA;&lt;p&gt;In your process of adding vertices, define a partial function &lt;span class=&quot;math-container&quot;&gt;$f:V(G) \rightharpoonup V(G)$&lt;/span&gt; from each vertex &lt;span class=&quot;math-container&quot;&gt;$v$&lt;/span&gt; which gets used, to the vertex which was added when &lt;span class=&quot;math-container&quot;&gt;$v$&lt;/span&gt; got used. Then it turns out that &lt;span class=&quot;math-container&quot;&gt;$f$&lt;/span&gt; is a &lt;a href=&quot;http://arxiv.org/abs/0906.4261&quot; rel=&quot;noreferrer&quot;&gt;&lt;em&gt;(causal) flow&lt;/em&gt; function&lt;/a&gt; (p. 39), which is a restricted version of a path cover. Indeed, your description of these graphs of &amp;quot;complexity &lt;em&gt;k&lt;/em&gt;&amp;quot; (given a set of vertices which are to be the initially unused vertices, and the final unused vertices) is precisely the star decomposition of a &amp;quot;geometry&amp;quot; with a causal flow (p. 46 of the above article).&lt;/p&gt;&#xA;&lt;p&gt;Although these &amp;quot;causal flows&amp;quot; have been studied mainly in the context of (measurement-based) quantum computation — where they are motivated by certain structures of unitary circuits — there are graph-theoretic results about them which are totally divorced from quantum computation:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;http://arxiv.org/abs/quant-ph/0611284&quot; rel=&quot;noreferrer&quot;&gt;Uniqueness modulo endpoints&lt;/a&gt;:&lt;/strong&gt; the graphs with &amp;quot; complexity &lt;span class=&quot;math-container&quot;&gt;$k$&lt;/span&gt; &amp;quot; are precisely those for which there exist (possibly intersecting) sets &lt;span class=&quot;math-container&quot;&gt;$S,T \subseteq V(G)$&lt;/span&gt;, both of size &lt;span class=&quot;math-container&quot;&gt;$k$&lt;/span&gt;, such that &lt;span class=&quot;math-container&quot;&gt;$G$&lt;/span&gt; has exactly one path cover of size &lt;span class=&quot;math-container&quot;&gt;$k$&lt;/span&gt; whose paths start in &lt;span class=&quot;math-container&quot;&gt;$S$&lt;/span&gt; and end in &lt;span class=&quot;math-container&quot;&gt;$T$&lt;/span&gt;.&lt;br&gt;&lt;br&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;http://arxiv.org/abs/quant-ph/0611284&quot; rel=&quot;noreferrer&quot;&gt;Extremal graphs&lt;/a&gt;:&lt;/strong&gt; A graph on &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt; vertices which has &amp;quot;complexity &lt;span class=&quot;math-container&quot;&gt;$k$&lt;/span&gt;&amp;quot; has at most &lt;span class=&quot;math-container&quot;&gt;$kn - \binom{k+1}{2}$&lt;/span&gt; edges.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Using these results, and given a candidate pair of sets &lt;span class=&quot;math-container&quot;&gt;$S,T$&lt;/span&gt;, determining whether or not they &amp;quot;subtend&amp;quot; a unique path cover in this way can be determined in time &lt;span class=&quot;math-container&quot;&gt;$O(k^2 n)$&lt;/span&gt;; but finding whether or not such sets of endpoints exist that is the apparent difficulty, and the extremal result above (which is only a necessary condition) seems to represent the state of the art in efficient criteria to determine whether such sets exist.&lt;/p&gt;&#xA;" OwnerUserId="248" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2012-09-27T17:54:38.917" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12747" PostTypeId="1" AcceptedAnswerId="12751" CreationDate="2012-09-26T17:40:54.673" Score="8" ViewCount="843" Body="&lt;p&gt;Is it possible to find a counting reduction from #SAT to #HornSAT? I haven't found this question posted here, so decided to check if anyone has any answer to this. Let me explain what do I mean by counting reduction. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose $f,g : \{0,1\}^* \to \mathbb N$ are two counting problems. For example, #SAT asks how many satisfiable assignments are there for a specific instance $\phi$, and $f,g$ are similar counting problems finding total number of witnesses. A &lt;em&gt;weakly parsimonious counting reduction&lt;/em&gt; from $f$ to $g$ consists of a pair of polynomial time computable functions $\sigma : \{0,1\}^* \to \{0,1\}^*$ and $\tau : \{0,1\}^* \times \mathbb N \to \mathbb N$ such that $f(x) = \tau (x, g(\sigma(x)))$. In the case that $f(x) = g(\sigma(x))$, this is known as strongly parsimonious counting reduction.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I can see that if there is any such counting reduction from #SAT to #HornSAT, it must be weakly parsimonious reduction: a strong reduction would imply that the #SAT and #HornSAT instances will have zero or non-zero number of solutions together, and assuming that $\mathsf P \ne \mathsf{NP}$, this is impossible (as HornSAT $\in \mathsf P$ while SAT is $\mathsf{NP}$-complete).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So my question is: is there any weakly parsimonious counting reduction from #SAT to #HornSAT? If so, can anyone please give me some reference ?   &lt;/p&gt;&#xA;" OwnerUserId="10871" LastEditorUserId="3964" LastEditDate="2013-07-26T00:18:36.210" LastActivityDate="2013-07-26T00:18:36.210" Title="Counting reduction from #SAT to #HornSAT?" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;sat&gt;&lt;counting-complexity&gt;&lt;reductions&gt;" AnswerCount="1" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="12748" PostTypeId="2" ParentId="3982" CreationDate="2012-09-26T18:51:30.860" Score="2" Body="&lt;p&gt;There's this survey:&#xA;&lt;a href=&quot;http://ttic.uchicago.edu/~madhurt/Papers/sdpchapter.pdf&quot; rel=&quot;nofollow&quot;&gt;http://ttic.uchicago.edu/~madhurt/Papers/sdpchapter.pdf&lt;/a&gt;&#xA;which has a focus on the hierarchies of convex programming. It has Max-Cut, Sparsest-Cut, coloring, hypergraph independent set, knapsack.&lt;/p&gt;&#xA;" OwnerUserId="1621" LastActivityDate="2012-09-26T18:51:30.860" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12749" PostTypeId="2" ParentId="3982" CreationDate="2012-09-26T20:13:58.797" Score="4" Body="&lt;p&gt;There is a nice book by Gartner and Matousek on SDPs and their applications to approximation algorithms. It covers a lot with the added benefit of giving a good introduction to the theory of semi-definite programming. See &lt;a href=&quot;http://books.google.com/books/about/Approximation_Algorithms_and_Semidefinit.html?id=5QeLPOvIpNUC&quot; rel=&quot;nofollow&quot;&gt;http://books.google.com/books/about/Approximation_Algorithms_and_Semidefinit.html?id=5QeLPOvIpNUC&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="176" LastActivityDate="2012-09-26T20:13:58.797" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12751" PostTypeId="2" ParentId="12747" CreationDate="2012-09-26T23:46:45.937" Score="10" Body="&lt;p&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/questions/1247/reducing-sat-to-monotone-2sat&quot;&gt;This post&lt;/a&gt; discusses #P-completeness of #Monotone-2SAT under weakly parsimonious reductions. If you negate &lt;em&gt;all&lt;/em&gt; literals in a monotone 2-CNF formula $\phi$, you obtain a Horn 2-CNF formula $\psi$ with the same number of satisfying assignments.&lt;/p&gt;&#xA;" OwnerUserId="2666" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2012-09-26T23:46:45.937" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12752" PostTypeId="1" CreationDate="2012-09-27T02:18:17.010" Score="4" ViewCount="790" Body="&lt;p&gt;Consider an disjunctive normal form boolean expression on $n$ variables. What is the upper bound on the number of terms in a minimal equivalent DNF expression? That is, given an arbitrary DNF expression on $n$ variables, after eliminating redundant terms, what length is it guaranteed to be under (how many $\vee$'s)?&lt;/p&gt;&#xA;" OwnerUserId="10878" LastActivityDate="2012-09-28T07:41:49.570" Title="Length of a minimal DNF Boolean expression" Tags="&lt;cc.complexity-theory&gt;&lt;co.combinatorics&gt;&lt;boolean-functions&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="12753" PostTypeId="2" ParentId="12504" CreationDate="2012-09-27T02:39:40.957" Score="25" Body="&lt;p&gt;&lt;a href=&quot;http://www.cc.gatech.edu/people/home/parik/RESEARCH/jcss.pdf&quot;&gt;Bhatnagar, Gopalan, and Lipton&lt;/a&gt; show that, assuming the abc conjecture, there are polynomials of degree $O((kn)^{1/2+\varepsilon})$ representing the Threshold-of-$k$ function over ${\mathbb Z}_6$. For fixed constant $k$, and $m$ which has $t$ prime factors, the abc conjecture implies a polynomial for Threshold-of-$k$ over $\mathbb Z_m$ with degree $O(n^{1/t+\varepsilon})$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This presumably has relevance to the ${\sf TC^0}$ versus $\sf ACC^0[6]$ problem.&lt;/p&gt;&#xA;" OwnerUserId="225" LastActivityDate="2012-09-27T02:39:40.957" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12754" PostTypeId="2" ParentId="3111" CreationDate="2012-09-27T05:10:18.883" Score="2" Body="&lt;p&gt;&lt;a href=&quot;http://arxiv.org/abs/1107.1720&quot; rel=&quot;nofollow&quot;&gt;Jaywalking your Dog - Computing the Fréchet Distance with Shortcuts&lt;/a&gt; by Anne Driemel and Sariel Har-Peled at SODA 2012.&lt;/p&gt;&#xA;" OwnerUserId="969" LastActivityDate="2012-09-27T05:10:18.883" CommentCount="0" CommunityOwnedDate="2012-09-27T05:10:18.883" ContentLicense="CC BY-SA 3.0" />
  <row Id="12757" PostTypeId="1" AcceptedAnswerId="12767" CreationDate="2012-09-27T10:58:34.417" Score="5" ViewCount="249" Body="&lt;p&gt;Does anybody know of any results on succinct data structures for triangulations that can be constructed efficiently, and preferably also updated efficiently? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does anybody know of practical implementations of succinct data structures for triangulations?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a good and up-to-date survey that discusses this topic?&lt;/p&gt;&#xA;" OwnerUserId="10458" LastActivityDate="2012-09-28T00:20:33.087" Title="Dynamic and/or practical succinct data structures for triangulations" Tags="&lt;graph-theory&gt;&lt;ds.data-structures&gt;&lt;succinct&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="12758" PostTypeId="1" CreationDate="2012-09-27T11:58:58.253" Score="3" ViewCount="184" Body="&lt;p&gt;I want to know if there is counting reduction (weakly or strongly parsimonious) maintaining the length of the witness between two variations of $\#Knapsack$ problem. Let me define the problems first in decision version.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$Knapsack_{1} :$&#xA;$S_1$ is a set of $n_1$ items as follows $S_1 = \{a_1, a_2, \ldots,a_{n_1}\}$. $f : a_i\to \mathbb{N}$ is a function mapping each variable to some natural number. Two other integers $k$ $\leq$ $n_1$ and $B$ are given. $Question:$ Is there a subset $S^{'} \subseteq S_1$, $|S^'|= k$ such that $\Sigma_{z \in S^'}$ $f(z)$ $\leq$ $B$ $?$ &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here the witness length is the number of bits required to represent $S^'$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$Knapsack_{2} :$&#xA;$S_2$ is a set of $n_2$ items as follows $S_2 = \{b_1, b_2, \ldots,b_{n_2}\}$. $f : b_i\to \mathbb{N}$ is a function mapping each variable to some natural number. Another integer $C$ is given. &#xA;$Question:$ Is there a binary string $x$ of length $n_2$ $( x = x_1x_2\ldots x_{n_2}$, $x_i \in \{0,1\} )$ such that $\Sigma_{i=1}^{n_2}$ $f(b_i)x_i$ $\leq$ $C$ $?$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here the witness length is the number of bits required to represent $x$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The way problems are defined, both the decision versions are actually solvable in polynomial time. But I am interested in counting version (i.e. the number of witnesses) and I think counting versions are $\#P$-complete. If we consider the length of the witness, for $Knapsack_1$ problem, it is $k.log(n_1)$. For $Knapsack_2$ length of the witness is $n_2$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now my question is, is it possible to find a counting reduction (weakly or strongly parsimonious) from $\#Knapsack_1$ to $\#Knapsack_2$ so that the length of the witness of the reduced problem instance is at most polynomially bounded to the length of the witness of the original problem instance $?$ I think in the opposite direction it is easy, just by taking $S_1 = S_2$. But for $\#Knapsack_1$ to $\#Knapsack_2$, it won't work as $n_2$ may not be polynomially bounded to $k.log(n_1)$ for any arbitrary $k$ if $n_1 = n_2$. Or can we show that it is not possible to find any such reduction unless some complexity theoretic assumption fails ? Any thoughts/references ?&lt;/p&gt;&#xA;" OwnerUserId="10871" LastEditorUserId="10871" LastEditDate="2012-09-27T13:58:52.397" LastActivityDate="2012-09-27T13:58:52.397" Title="Counting reduction maintaining the length of the witness for #Knapsack" Tags="&lt;cc.complexity-theory&gt;&lt;co.combinatorics&gt;&lt;counting-complexity&gt;&lt;reductions&gt;" AnswerCount="0" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12759" PostTypeId="1" CreationDate="2012-09-27T12:06:35.230" Score="11" ViewCount="385" Body="&lt;p&gt;It is widely believed that some computational problems such as graph isomorphism can not be NP-complete because it does not possess enough structure or redundancy to be computationally hard (NP-hard). I'm interested in the different formal notions for structure of computational problems and redundancy measures.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What are the major results known about such formal notions for computational problems? A recent survey  of such notions would be very nice.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT: Posted on &lt;a href=&quot;https://mathoverflow.net/questions/109126/redundancy-and-structure-of-computational-problems&quot;&gt;MathOverflow&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2013-09-06T16:32:21.430" Title="Redundancy and Structure of computational problems" Tags="&lt;cc.complexity-theory&gt;&lt;graph-isomorphism&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="12760" PostTypeId="2" ParentId="12757" CreationDate="2012-09-27T15:01:33.500" Score="3" Body="&lt;p&gt;Take a look at the theoretical work of Castelli et al.  and also the latest papers of J. Barbay.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&quot;Luca Castelli Aleardi, Olivier Devillers, Gilles Schaeffer: Succinct Representation of Triangulations with a Boundary. WADS 2005: 134-145&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&quot;Luca Castelli Aleardi, Olivier Devillers, Gilles Schaeffer: Dynamic updates of succinct triangulations. CCCG 2005: 134-137&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&quot;Jérémy Barbay, Luca Castelli Aleardi, Meng He, J. Ian Munro: Succinct Representation of Labeled Graphs. Algorithmica 62(1-2): 224-257 (2012)&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the implementation side, i would check CGAL and its triangulation data structures.&lt;/p&gt;&#xA;" OwnerUserId="9917" LastEditorUserId="9917" LastEditDate="2012-09-27T15:13:09.987" LastActivityDate="2012-09-27T15:13:09.987" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12761" PostTypeId="2" ParentId="12703" CreationDate="2012-09-27T15:44:04.727" Score="4" Body="&lt;p&gt;This is not an answer, just a long comment.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First, you say that you are unsure if this problem in in #P.  It depends on how you define your input, which can either be the $n$-by-$n$ graph or just $n$.  I would say that it is more natural to take the graph as input, in which case, an NP machine can guess $n^2$ bits (which is a polynomial, linear even, in the size of the input) and can check in polynomial time, linear even, if all your constraints are satisfied.  If the input is just $n$, then $n^2$ is exponentially larger than the input size $\log(n)$, so we can't say your problem is in #P, but it is in the counting class related to NEXP (in the same way that #P is the counting class related to NP).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Second, this input issue also affects what types of hardness we can expect to prove. If the input is the grid graph, then you have at most one input for each input length.  Such problems are said to be sparse (which means there is at most a polynomial number of inputs for each input length) and are not expected to be hard by (a generalization of) &lt;a href=&quot;http://en.wikipedia.org/wiki/Sparse_language&quot; rel=&quot;nofollow&quot;&gt;Mahaney's theorem&lt;/a&gt;.  But if you pick $n$ to be your input so that set of instances is no longer sparse, then your output is exponentially larger than your input.  What I am trying to say here is that the typical notions of hardness don't apply very well to your problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Third, I can say something about the possibility of this problem being tractable.  My research is in counting problems defined by local constraints, which we formally define as Holant problems. The difference between Holant problems and your problem is that we don't put such tight restrictions on the inputs graphs.  We allow restrictions like planar, bipartie, and prescribed degree (such at $k$-regular or at most degree $k$), none of which defines a sparse set of graphs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The best I can do to cast your problem as a Holant problem is as follows.  For omitted definitions, see the preliminary section in a &lt;a href=&quot;http://arxiv.org/abs/1204.6445&quot; rel=&quot;nofollow&quot;&gt;recent paper of mine&lt;/a&gt;.  In the Holant framework, edges take values from a finite domain and vertices impose constraints on the values assigned to its incident edges.  To (partially) model your problem, we consider the Boolean domain $\{0,1\}$.  As a first attempt to capture your problem, think of an $n$-by-$n$ grid graph as the input.  To associate a bit with each vertex $v$, we add an edge $e_v$ incident $v$ and to a new vertex $u_v$.  To communicate this bit value to the neighboring internal vertices, we duplicate all the edges between internal vertices (i.e. vertices not on the boundary) in the original $n$-by-$n$ grid graph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The vertices on the boundary have no constraint, which is represented by the signature $[1,1]$ tensored with itself twice for the corner vertices and three times for the vertices on the sides.  The remaining interior vertices pick an edge in each direction and require these four edges and the other edge added above (with its associated bit) to take the same value. Then we impose your constraint by comparing this value with the four values assigned to the remaining four edges (one edge in each direction).  Of course, between each pair of internal vertices, they have to agree on which edge each uses to communicate their bit value.  One way to decide this, in a planar embedding of this graph, is that each vertex should use the edge that is encountered first in a clockwise traversal of its incident edges.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The paper of mine that I linked to above is a dichotomy for Holant problems that use symmetric signatures (which means that the output is invariant under any permutation of the input).  Unfortunately, the constraint that I used to capture your problem at internal vertices is not symmetric and it is still an open problem to prove the generalization of that dichotomy for general (i.e. not necessarily symmetric) signatures.  Worse yet, we currently do not even know how to decide if this Holant problem is easy or hard according to what we conjecture the dichotomy to be.  Furthermore, we can impose restrictions on the input graphs like being planar and bipartite that are satisfied by your grid graph, the hope being that this Holant problem may become tractable under these restrictions. However, a dichotomy for such Holant problems is years, maybe even a decade away.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In closing, let me emphasize that this Holant problem that I have described is &quot;more difficult&quot; than your problem (when the input is the grid graph).  The input to this (planar, bipartite) Holant problem can only use the complicated arity 9 constraint (that was assigned to the internal vertices) and the (unconstraining) unary constraint $[1,1]$ but the graph is not restricted to grid graphs. Formally speaking, your problem (when the input is the grid graph) reduces to this Holant problem. So, if this Holant problem were easy, then your problem (when the input is the grid graph) is easy too, but if this Holant problem is hard, then I want to say that your problem is hard, but I don't know how to do so (as I discussed above).&lt;/p&gt;&#xA;" OwnerUserId="3964" LastEditorUserId="3964" LastEditDate="2012-09-27T15:49:23.567" LastActivityDate="2012-09-27T15:49:23.567" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12762" PostTypeId="1" CreationDate="2012-09-27T17:23:05.700" Score="0" ViewCount="330" Body="&lt;p&gt;In self-organizing maps(SOM) algorithm described &lt;a href=&quot;http://www.scholarpedia.org/article/Kohonen_network&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt; it is said about the weights of nodes and data items. If using this algorithm for sine function approximation given a few points are the nodes - points and weights - coordinates?&lt;/p&gt;&#xA;" OwnerUserId="4565" LastEditorUserId="-1" LastEditDate="2012-10-08T04:42:19.507" LastActivityDate="2013-05-05T17:04:13.653" Title="Self-organizing maps algorithm(Kohonen networks)" Tags="&lt;ai.artificial-intel&gt;&lt;data-mining&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12763" PostTypeId="1" CreationDate="2012-09-27T18:31:47.737" Score="7" ViewCount="3840" Body="&lt;p&gt;Are Shannon entropy and Boltzmann entropy mutually convertible, much like mass and energy according to Einstein's formula? &lt;/p&gt;&#xA;" OwnerUserId="10881" LastEditorUserId="-1" LastEditDate="2012-10-08T04:42:17.213" LastActivityDate="2013-01-30T11:57:32.277" Title="Are Shannon entropy and Boltzmann entropy mutually convertible?" Tags="&lt;it.information-theory&gt;&lt;physics&gt;&lt;shannon-entropy&gt;" AnswerCount="3" CommentCount="1" FavoriteCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="12764" PostTypeId="2" ParentId="12763" CreationDate="2012-09-27T19:07:56.653" Score="16" Body="&lt;p&gt;In practice the only difference is that Boltzmann entropy deals with a thermodynamical constant $K_B$:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$&#xA;H = -K_B\sum_{i=1}^{N} P_i log_e\ P_i&#xA;$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;i assume you already know that if $K_B=1$ you have Shannon entropy in a different base. &#xA;However the conceptual backgrounds are important; probability of events (Shannon) and probability of a particle being in one of $N$ states (Boltzmann) under a thermodynamical context.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is theoretical work in making the formal link between the two notions of entropy. Take a look at the work of Edwin Jaynes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Edwin_Jaynes&quot;&gt;http://en.wikipedia.org/wiki/Edwin_Jaynes&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="9917" LastActivityDate="2012-09-27T19:07:56.653" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="12765" PostTypeId="2" ParentId="12752" CreationDate="2012-09-27T20:01:48.717" Score="5" Body="&lt;p&gt;The answer is $2^{n-1}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To see that this is a lower bound consider the n variable parity function and observe that the unique (equivalent) DNF has $2^{n-1}$ clauses, none of which are resolvable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To see that this is an upper bound, consider any DNF and the  full ordered decision tree for that DNF (i.e., tree where every leaf is at depth n and every path from the root to the leaf has all variables and in the same fixed order). Any two leafs which are siblings and which are both &quot;true&quot;  represent resolvable clauses in the full equivalent DNF. In this way one has at least has an equivalent clause-set of size at most $2^{n-1}$ by taking for every node at level n-1 either the DNF clause given by the only true leaf child of that node (if it has one true child) or the resolvent of the two clauses corresponding to its two children (if it has two true children). That is we have at most one clause for each node at this level in the tree, I.e., $2^{n-1}$.&lt;/p&gt;&#xA;" OwnerUserId="5195" LastEditorUserId="5195" LastEditDate="2012-09-28T07:41:49.570" LastActivityDate="2012-09-28T07:41:49.570" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12766" PostTypeId="1" CreationDate="2012-09-27T20:39:40.123" Score="3" ViewCount="620" Body="&lt;p&gt;Suppose that we seed our network with $m$ vertices. Suppose that at each step we add a vertex and c edges adjacent to that vertex. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Should these initial $m$ vertices have no edges at the start of the growth procedure? Should they be an $m$-clique? Should they form a cycle?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It seems that in &lt;a href=&quot;https://en.wikipedia.org/wiki/Barab%C3%A1si%E2%80%93Albert_model&quot; rel=&quot;nofollow&quot;&gt;Barabasi and Albert's model&lt;/a&gt;, there are no edges. The problem here is that each vertex in the seed will have probability 0 of being selected as an endpoint of a new edge.&lt;/p&gt;&#xA;" OwnerUserId="10883" LastEditorUserId="-1" LastEditDate="2012-11-11T06:28:25.223" LastActivityDate="2012-11-11T06:28:25.223" Title="How do you initialize your seed in the preferential attachment model?" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;network-modeling&gt;&lt;ni.networking-internet&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12767" PostTypeId="2" ParentId="12757" CreationDate="2012-09-28T00:20:33.087" Score="2" Body="&lt;p&gt;Regarding practical implementations of Luca's representation, he says that:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Unfortunately, the amount of auxiliary bits needed by the encoding becomes asymptotically negligible only for very huge graphs, which makes succinct representations of mainly theoretical interest.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;(Excerpt from &quot;Explicit array-based compact data structures for triangulations&quot;, by Luca C. Aleardi and Olivier Devillers, INRIA Research Report 7736, 2011, URL: &lt;a href=&quot;http://hal.inria.fr/hal-00678615&quot; rel=&quot;nofollow&quot;&gt;http://hal.inria.fr/hal-00678615&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You may also check Mebarki's thesis for practical results: &lt;a href=&quot;http://tel.archives-ouvertes.fr/tel-00336178/&quot; rel=&quot;nofollow&quot;&gt;http://tel.archives-ouvertes.fr/tel-00336178/&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="183" LastActivityDate="2012-09-28T00:20:33.087" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12768" PostTypeId="2" ParentId="12736" CreationDate="2012-09-28T07:00:29.170" Score="3" Body="&lt;p&gt;This isn't really a proper answer to your question, but is a bit too long for a comment. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The quantity you are after will vary from graph to graph, and will depend on the initial site of the walker. The expected number of distinct intermediate nodes will depend strongly on clustering within the graph, and I would expect the expected number of distinct intermediate nodes to be correlated with the &lt;a href=&quot;http://en.wikipedia.org/wiki/Clustering_coefficient&quot; rel=&quot;nofollow&quot;&gt;clustering coefficient&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A cluster is basically a subset of vertices which share a large number of edges, so that each vertex is connected to a large fraction of the other vertices within the cluster. When a walker enters a cluster it is likely to stay in that region for a large number of hops, possibly revisiting each node many times. Indeed, using random walks in this way is one of the computational techniques used for identifying clusters in large graphs. Thus for a walker starting in a cluster, the expected number of distinct intermediate vertices will likely scale with the size of the cluster and the average probability of leaving the cluster. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;While the above applies to both weighted and unweighted graphs, lets take the maximally connected unweighted graph of $N$ vertices as an example. In this case, at each hop after the first, the walker has probability $\frac{1}{N}$ of returning to the initial vertex. Thus the expected number of hops to return to the initial site is $N+1$. Even if we connect some vertices in this graph to a vertex in some other graph (i.e. outside of this clique) the probability of each hop leaving the cluster before returning to the initial site can be very low. Thus we expect clustering to reduce the number of distinct intermediate vertices by confining the walker within the cluster.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The average degree of vertices within the graph will also play an important role, though this is linked to the clustering. The reason for this is that when the walker jumps onto a vertex with degree 1, it must hop back to the previous vertex on the next hop. Even when the degree is 2, there is only one path which can be followed through the graph, although it can be traversed in either direction at each hop. On the other hand, for graphs with degree higher than 2, the number of paths can explode, making it extremely unlikely to return to the initial site even if the shortest path between then is small.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thus you would expect the number of distinct intermediate vertices to be high for graphs which both have an average degree substantially above 2, and also have no significant clustering, such as trees.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course these comments no longer hold in the case of quantum random walks, but I guess you only care about the classical case.&lt;/p&gt;&#xA;" OwnerUserId="204" LastEditorUserId="204" LastEditDate="2012-09-28T11:26:33.860" LastActivityDate="2012-09-28T11:26:33.860" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12769" PostTypeId="1" AcceptedAnswerId="12776" CreationDate="2012-09-28T11:47:37.760" Score="19" ViewCount="921" Body="&lt;p&gt;Are all the functions whose fourier weight is concentrated on the small sized sets(or terms with low degree) computed by $\mathsf{AC}^0$ circuits ? &lt;/p&gt;&#xA;" OwnerUserId="4461" LastActivityDate="2013-01-02T11:08:38.467" Title="Are all the functions whose fourier weight is concentrated on the small sized sets computed by AC0 circuits?" Tags="&lt;cc.complexity-theory&gt;&lt;circuit-complexity&gt;&lt;boolean-functions&gt;&lt;fourier-analysis&gt;" AnswerCount="2" CommentCount="7" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="12771" PostTypeId="2" ParentId="12736" CreationDate="2012-09-28T13:20:34.537" Score="4" Body="&lt;p&gt;A comment:  I recently attended a talk by Bruce Reed with the title &lt;strong&gt;Catching a Drunk Miscreant&lt;/strong&gt;, which was joint work with Natasha Komorov and Peter Winkler.  If you can get a hold of the results from this work, maybe that might help you in some direction.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In general, they prove an upper bound on the number of steps a cop need in a general graph to be able to catch a robber, when we know the robber moves at random along the edges.&lt;/p&gt;&#xA;" OwnerUserId="10889" LastActivityDate="2012-09-28T13:20:34.537" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="12772" PostTypeId="2" ParentId="12736" CreationDate="2012-09-28T17:44:35.773" Score="4" Body="&lt;p&gt;from Q&amp;amp;A with you in the comments you seem to be interested in studying something defined as the &lt;em&gt;stack distance&lt;/em&gt; in this set of slides, &lt;a href=&quot;http://web.eecs.umich.edu/~brehob/TW/locality.ppt&quot; rel=&quot;nofollow&quot;&gt;On the mathematical modelling of caches&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;define the &lt;strong&gt;stack distance&lt;/strong&gt; of a reference to be the number of unique block addresses between the current reference and the previous reference to the same block number. &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;it has some empirical analysis via benchmarks. it says in general there is &quot;no known measurement of locality&quot; of cache requests and then proposes stack distance as such a measure.&#xA;it does not relate it to random graph theory although you sketch out such a connection in your comments. (it seems like there stack distance could be related to &lt;a href=&quot;http://en.wikipedia.org/wiki/Markov_chain_mixing_time&quot; rel=&quot;nofollow&quot;&gt;markov chain mixing&lt;/a&gt;?)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;it appears that you are interested in modelling cache performance or optimization algorithms by considering cache requests as nodes of a graph and the edges as transitions between adjacent requests. have not seen papers that study the structure of this graph. it does appear to provably &lt;em&gt;not&lt;/em&gt; to be a purely random graph in real applications due to the success of caches in practice and what is referred to as &lt;em&gt;spatial and temporal locality&lt;/em&gt; in the above slides. ie some kind of &quot;clustering&quot; as joe sketches out in his answer. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;(maybe it has a &lt;a href=&quot;http://en.wikipedia.org/wiki/Small-world_network&quot; rel=&quot;nofollow&quot;&gt;small world structure&lt;/a&gt;?, which is quite ubiquitous in real world data)&lt;/p&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2012-09-28T17:44:35.773" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="12774" PostTypeId="1" CreationDate="2012-09-28T19:05:57.490" Score="4" ViewCount="164" Body="&lt;p&gt;I'm reading the paper &lt;em&gt;Succincter&lt;/em&gt; by M. Patrascu (&lt;a href=&quot;http://people.csail.mit.edu/mip/papers/succinct/succinct.pdf&quot; rel=&quot;nofollow&quot;&gt;link&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It introduces on page 7 the &lt;em&gt;aB-tree&lt;/em&gt;. This is a regular B-ary tree that represents an array of values. It stores the element of the array in the leaves. Every node is augmented with a value from some alphabet. The value of a leaf is a function of its array element, and the value of an internal node is a function A of the values of its B children, and the size of the subtree.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The query algorithm examines the values of the root’s children, decides which child to recurse to, examines all values of that node’s children, recurses to one of them, etc. When a leaf is examined, the algorithm outputs the query answer. We assume the query algorithm spends constant time per node, if all values of the children are given packed in a word.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The part I'm having difficulties with is the following: &lt;em&gt;The queries can be solved in constant time per node if the values of all children are given packed in a word. This uses very standard ideas from word-level parallelism that we omit.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Could somebody please point how does word-level parallelism achieve this ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, is there a practical implementation of this structure (and its application to succinct rank/select bitvectors) ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks in advance.&lt;/p&gt;&#xA;" OwnerUserId="10891" LastActivityDate="2012-09-28T19:05:57.490" Title="On aB-trees and its practical implementation" Tags="&lt;ds.data-structures&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="12776" PostTypeId="2" ParentId="12769" CreationDate="2012-09-29T05:09:30.273" Score="19" Body="&lt;p&gt;No. Consider the following function on $\{0,1\}^n$:&#xA;$$ f(x) = x_0 \land \cdots \land x_{n-\sqrt{n}-1} \land (x_{n-\sqrt{n}} \oplus \cdots \oplus x_{n-1}). $$&#xA;Clearly this function is hard for AC&lt;sup&gt;0&lt;/sup&gt;. On the other hand, the function is almost constant, so almost all of its Fourier spectrum is on the first level.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you want a balanced counterexample, consider&#xA;$$ g(x) = x_0 \oplus \left[x_1 \land \cdots \land x_{n-\sqrt{n}-1} \land (x_{n-\sqrt{n}} \oplus &#xA;\cdots \oplus x_{n-1})\right]. $$&#xA;This function is almost always equal to $x_0$, so almost all of its Fourier spectrum is on the first two levels.&lt;/p&gt;&#xA;" OwnerUserId="40" LastActivityDate="2012-09-29T05:09:30.273" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="12778" PostTypeId="1" CreationDate="2012-09-29T12:16:41.670" Score="13" ViewCount="269" Body="&lt;p&gt;A distribution testing algorithm for a distribution property P (which is just some subset of all distributions over [n]) is allowed access to samples according to some distribution D, and is required to decide (w.h.p) if $D\in P$ or $d(D,P)&amp;gt;\epsilon$ ($d$ here is usually the $\ell_1$ distance). The most common measure of complexity is the number of samples used by the algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, in standard property testing, where you have query access to some object, a linear lower bound on query complexity is obviously the strongest lower bound possible, since $n$ queries would reveal the entire object. Is this the case for distribution testing as well?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As far as I understand, the &quot;trivial&quot; upper bound for testing properties of distributions is $O(n^2\log n)$ --- by Chernoff bounds, this is enough to &quot;write down&quot; a distribution D' which is close to D in $\ell_1$ distance, and then we can just check if there are any distributions close to D' which are in P (this might take infinite time, but this is irrelevant to sample complexity). &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Is there a better &quot;trivial&quot; test for all distribution properties?&lt;/li&gt;&#xA;&lt;li&gt;Are there any distribution properties for which we know sample lower bounds stronger than linear?&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="5835" LastEditorUserId="-1" LastEditDate="2012-10-08T04:47:59.010" LastActivityDate="2017-08-14T15:05:33.077" Title="Are there distribution properties which are &quot;maximally&quot; hard to test?" Tags="&lt;cc.complexity-theory&gt;&lt;machine-learning&gt;&lt;query-complexity&gt;&lt;property-testing&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="12780" PostTypeId="1" CreationDate="2012-09-29T18:32:55.197" Score="1" ViewCount="635" Body="&lt;p&gt;I have been reading some papers regarding face recognition, and I often see statistics depicting the performance of the algorithms in the form of CMS or ROC curves.&#xA;I do understand what ROC curves are, but I am having difficulties understanding ranks in CMS curves. Usually the curves are plotted in charts with a % correct axis and rank axis. Can you please tell me what rank is? Or direct me to a resource that explains that?&lt;/p&gt;&#xA;" OwnerUserId="10901" LastActivityDate="2012-09-29T18:32:55.197" Title="Need help understanding Cumulative Match Score (CMS) Curves" Tags="&lt;cv.computer-vision&gt;" AnswerCount="0" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12782" PostTypeId="2" ParentId="12763" CreationDate="2012-09-29T23:45:01.493" Score="13" Body="&lt;p&gt;As has already been answered, Shannon entropy and Boltzman entropy are the same thing, although they are measured in different units. You also asked whether there is a practical link. It may not be practical yet, but the idea of algorithmic cooling uses the link between these two concepts, and has indeed been &lt;a href=&quot;http://www.nature.com/nature/journal/v438/n7067/full/nature04272.html&quot;&gt;experimentally demonstrated&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="1677" LastActivityDate="2012-09-29T23:45:01.493" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12785" PostTypeId="1" CreationDate="2012-10-01T00:36:28.923" Score="26" ViewCount="934" Body="&lt;p&gt;Let $M$ be a square integer matrix, and let $n$ be a positive integer. I am interested in the complexity of the following decision problem:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is the top-right entry of $M^n$ positive?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that the obvious approach of iterated squaring (or any other explicit calculation) requires us to potentially handle integers of doubly exponential magnitude, i.e., having exponentially many bits. However the problem is easily seen to be in Allender et al.'s &quot;PosSLP&quot; class (&lt;a href=&quot;http://epubs.siam.org/doi/abs/10.1137/070697926&quot;&gt;&quot;On the Complexity of Numerical Analysis&quot;, SIAM J. Comput. 38(5)&lt;/a&gt;), and therefore in the fourth level of the counting hierarchy.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) Is it possible to place this matrix powering problem in a lower complexity class?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) If not, could it conceivably be PosSLP-hard?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;3) I am especially interested in the matrix powering problem for low-dimensional matrices, i.e. up to and including 6x6 matrices. Might the complexity be lower for such matrices?&lt;/p&gt;&#xA;" OwnerUserId="9802" LastEditorUserId="9802" LastEditDate="2012-10-01T09:33:26.767" LastActivityDate="2014-12-13T21:21:58.023" Title="Complexity of matrix powering" Tags="&lt;cc.complexity-theory&gt;&lt;linear-algebra&gt;&lt;matrices&gt;" AnswerCount="1" CommentCount="8" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="12786" PostTypeId="1" AcceptedAnswerId="12792" CreationDate="2012-10-01T05:50:39.727" Score="14" ViewCount="490" Body="&lt;p&gt;&lt;strong&gt;GI&lt;/strong&gt; and &lt;a href=&quot;http://en.wikipedia.org/wiki/Knot_invariant&quot;&gt;Knot Problem&lt;/a&gt; both are problem of deciding structural equivalence of mathematical objects. Are there any results establishing connections between them? Nice connections of knot problem to statistical physics have been explored via &lt;a href=&quot;http://en.wikipedia.org/wiki/Knot_polynomial&quot;&gt;knot polynomials&lt;/a&gt;, are there similar results for $GI$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It would be particularly helpful to know if there are any standard results/warnings/suggestions/comments before one start looking into $GI$ motivated by knot problem. Actually, I was wondering if its recommended to explore in this direction for my master's thesis. I am interested in quantum/classical approaches to $GI$ and algebraic problems. Any other suggestions are welcome.&lt;/p&gt;&#xA;" OwnerUserId="10456" LastEditorUserId="-1" LastEditDate="2012-10-08T04:48:01.477" LastActivityDate="2012-10-08T04:48:01.477" Title="Approaches to GI inspired by knot problem" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;graph-theory&gt;&lt;graph-isomorphism&gt;&lt;algebraic-topology&gt;" AnswerCount="2" CommentCount="4" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="12788" PostTypeId="1" CreationDate="2012-10-01T08:37:41.417" Score="3" ViewCount="235" Body="&lt;p&gt;I'm totally new to complexity theory, hence don't know much about how reductions work. So, I'm not sure how hard the following problem is. Please let me know what kind of problems I should look at to attempt for a reduction to my problem (if it is NP-hard or complete). Even reduction from that problem to my problem (yielding this is NP-hard) would be a good result to have.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem is the following. Suppose, we have the set of all possible 'single rooted' trees with $n$ nodes, denoted by ${\cal T}$. The set of nodes is denoted by $N$. Each node has some intrinsic values $\gamma_i$ (these are given beforehand). The function $\mu : 2^N \to \mathbb{R}$ maps the children of each node to real numbers, and this function is also given beforehand. Another function $f: {\cal T} \to \mathbb{R}$ maps the subtree of a given node to reals. Now the problem is,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$ \min_{T \in {\cal T}} \sum_{i \in N} f(T_i) \mu (C_{p(i)}) (\gamma_{p(i)} - \gamma_i).  $$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Where $T_i$ is the subtree rooted at $i$, $p(i)$ is the unique parent of $i$, $C_{p(i)}$ is the children set of $p(i)$. Given a tree $T$, both $f$ and $\mu$ are computable in linear time. The problem basically is to find the right connection of nodes over a tree.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks in advance.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;%%% Editing after getting the answer from Yuval %%%&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Maybe I was unclear. For single rooted trees with $n$ nodes, one can have $(n-1)!$ possible trees (this can be enumerated using the incidence matrix of the tree and considering the placements of 1 in the upper triangular part), and in each of those trees, there are $n!$ ways to place the nodes (remember $\gamma_i$s are node identity specific). And so, in each of the $n! \times (n-1)!$ possible configurations, you'll get a value for the sum. The problem is to find the minimum over such a huge space. My question is: do there exist efficient algorithms to compute this min? Or, is the problem hard, i.e., no efficient algorithm exists?&lt;/p&gt;&#xA;" OwnerUserId="10915" LastEditorUserId="10915" LastEditDate="2012-10-02T07:12:27.967" LastActivityDate="2012-10-02T07:12:27.967" Title="Is this tree minimization problem NP-complete?" Tags="&lt;cc.complexity-theory&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12790" PostTypeId="2" ParentId="12786" CreationDate="2012-10-01T15:56:48.580" Score="7" Body="&lt;p&gt;the more general question is the connection between knot theory and graph theory. as one possible place to start there is a connection between the &lt;a href=&quot;http://en.wikipedia.org/wiki/Jones_polynomial&quot;&gt;Jones polynomial&lt;/a&gt; (used to classify knots) and the &lt;a href=&quot;http://en.wikipedia.org/wiki/Tutte_polynomial&quot;&gt;Tutte polynomial&lt;/a&gt; of planar graphs. ie in knot theory, the Tutte polynomial appears as the Jones polynomial of&#xA;an alternating knot. (so maybe there is some connection of knot theory to GI on planar graphs.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;see thms 7,8 in:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.53.1214&quot;&gt;Computing the Tutte Polynomial of a Graph and&#xA;the Jones Polynomial of an Alternating Link of&#xA;Moderate Size&lt;/a&gt; Sekine, Imai, Tani&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.110.1740&quot;&gt;THE JONES POLYNOMIAL AND GRAPHS ON SURFACES&lt;/a&gt;&#xA;OLIVER T. DASBACH, DAVID FUTER, EFSTRATIA KALFAGIANNI, XIAO-SONG LIN,&#xA;AND NEAL W. STOLTZFUS&lt;/p&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="7884" LastEditDate="2012-10-01T16:04:00.117" LastActivityDate="2012-10-01T16:04:00.117" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12791" PostTypeId="1" AcceptedAnswerId="13978" CreationDate="2012-10-01T16:32:39.437" Score="8" ViewCount="208" Body="&lt;p&gt;In my work arose the problem of classification CFL under rational functions images. In other terms, what class of languages form languages $T(L)$ , for fixed context free language $L$ and  deterministic finite state transducer $T$. I've obtained some easy results like Dyck language with two braces corresponds to CFL and Dyck language with one brace is a strict subset of CFL, now there are a few problems that are still interested to me, but I can't believe that nobody have discovered it yet. Are there any papers on this subject? Googling classification of CFL or Rational Functions (Deterministic FST) + CFL gives bad result.&lt;/p&gt;&#xA;" OwnerUserId="10676" LastActivityDate="2012-11-15T23:01:09.273" Title="Rational Functions and CFL" Tags="&lt;fl.formal-languages&gt;&lt;context-free-languages&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12792" PostTypeId="2" ParentId="12786" CreationDate="2012-10-02T00:40:53.423" Score="17" Body="&lt;p&gt;One connection is that graph isomorphism and knot isomorphism are both special cases of 3-manifold homeomorphism. In the knot case, two knots are isomorphic if their complements (manifolds formed by deleting the points of the knot from 3-space) are homeomorphic.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;And in the graph case it's possible to transform graphs into manifolds in such a way that the graphs are isomorphic if and only if the manifolds are homeomorphic. I wrote a comment about this on a Google+ post last December, but unfortunately not on a post I can share. The construction is to start with a manifold for each vertex v, in the form of the complement in a 3-sphere of a bouquet of degree(v) loops (connected together at a common vertex). For each edge uv, connect the manifolds for u and v together by a &lt;a href=&quot;http://en.wikipedia.org/wiki/Surgery_theory&quot;&gt;surgery&lt;/a&gt;, and link one loop from u and one loop from v across the surgery ball. Then every isomorphism of graphs lifts to a homeomorphism of the resulting manifold (this would be true even if we just used surgery on 3-spheres without the bouquets) and the bouquets prevent the manifold from having extra homeomorphisms that don't come from the graph.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2012-10-02T00:40:53.423" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12793" PostTypeId="1" AcceptedAnswerId="12796" CreationDate="2012-10-02T01:14:25.090" Score="8" ViewCount="946" Body="&lt;p&gt;I'd like an efficient method for calculating the minimum number of transpositions needed to sort a list. I don't need to know what the transpositions actually are.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, the list [1, 1, 2, 0] requires 2 transpositions:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;[1, 1, 2, 0] // Start&#xA;[1, 1, 0, 2] // Swap index 2 and 3&#xA;[0, 1, 1, 2] // Swap index 0 and 2&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;The list [0, 1, 0, 0] requires 1 transposition:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;[0, 1, 0, 0] // Start&#xA;[0, 0, 0, 1] // Swap index 1 and 3&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;The list [2, 2, 2, 2] requires 0 transpositions because it is already sorted.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some meta information:&#xA;1) The list may have repeated elements, so simply using the &lt;a href=&quot;https://cstheory.stackexchange.com/questions/4096/minimum-number-of-transpositions-to-sort-a-list&quot;&gt;Cayley distance between the sort and the identity permutation will not work&lt;/a&gt;.&#xA;2) This &lt;a href=&quot;https://mathoverflow.net/questions/106836/distances-on-generalizations-of-the-symmetric-group&quot;&gt;Math Overflow question&lt;/a&gt; is related.&lt;/p&gt;&#xA;" OwnerUserId="10922" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2012-10-16T12:05:51.840" Title="Efficiently finding the minimum number of transpositions needed to sort a list" Tags="&lt;ds.algorithms&gt;&lt;sorting&gt;&lt;permutations&gt;&lt;edit-distance&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="12794" PostTypeId="2" ParentId="12788" CreationDate="2012-10-02T03:14:42.083" Score="3" Body="&lt;p&gt;Your problem is ill-defined. Since the functions $f\colon \mathcal{T} \rightarrow \mathbb{Q}$ and $\mu\colon 2^N \rightarrow \mathbb{Q}$ (rather than real-valued) have a very long description, you can go over all possible trees $T \in \mathcal{T}$ in polynomial time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To make the question more meaningful you might want the algorithm to have oracle access to $f$ and $\mu$, and then instead of NP-completeness you might want to prove a lower bound on the number of evaluations of $f$ and $\mu$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another possibility is that $f$ and $\mu$ have some structure and so can be specified succinctly. If this is the case, then you need to refine the problem reflecting that feature.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A similar problem occurs in submodular optimization. Suppose we want to maximize a monotone submodular function over a matroid constraint. There are several randomized polynomial time algorithms giving a $1-1/e$ approximation. There is a lower bound by Vondrák showing that in the (so-called) value oracle model, any better approximation requires evaluating the function at exponentially many places (this lower bound is information-theoretic rather than complexity-theoretic). Feige proved that a special case of the problem, maximum coverage, is NP-hard to approximate better than this ratio. Finally, Vondrák and Dobzinski show how to lift the value oracle result to a complexity result in the succinct representation model, assuming RP$\neq$NP (rather than P$\neq$NP as in Feige's result); the technique (whose main ingredient is list-decoding) also gives results that Feige's can't.&lt;/p&gt;&#xA;" OwnerUserId="40" LastActivityDate="2012-10-02T03:14:42.083" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12796" PostTypeId="2" ParentId="12793" CreationDate="2012-10-02T11:49:33.020" Score="7" Body="&lt;p&gt;Unfortunately, the problem is NP-hard in general, according to Amir, Hartman, Kapah, Levy and Porat (see &lt;a href=&quot;http://epubs.siam.org/doi/abs/10.1137/080712969&quot; rel=&quot;nofollow&quot;&gt;http://epubs.siam.org/doi/abs/10.1137/080712969&lt;/a&gt;), even if each symbol appears at most three times. &lt;strike&gt;I didn't find a mention of a constant factor approximation algorithm, or of something reasonably fast to tackle the problem. Are there any additional restrictions you can think of in your case?&lt;/strike&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT: the authors also give a 3/2-approximation algorithm, but I don't know if it's good enough for your purposes.&lt;/p&gt;&#xA;" OwnerUserId="775" LastEditorUserId="775" LastEditDate="2012-10-16T12:05:51.840" LastActivityDate="2012-10-16T12:05:51.840" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="12797" PostTypeId="2" ParentId="8146" CreationDate="2012-10-02T14:43:21.277" Score="7" Body="&lt;p&gt;I don't know much about category theory, but perhaps this will be helpful. The equations governing the graphical diagrams for biproduct categories [Selinger] are exactly equivalent to those for atomic flows [Gundersen] in deep inference proof theory [Guglielmi], in the negation-free fragment. These proof systems are equivalent to the monotone sequent calculus in a natural way [Brunnler, Jerabek].&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Unfortunately there seems to be few links drawn to category theory in the latter area.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Selinger, P. www.mscs.dal.ca/~selinger/papers/graphical.pdf , page 45.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Gundersen, T. tel.archives-ouvertes.fr/docs/00/50/92/41/PDF/thesis.pdf , page 74.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Guglielmi, A. alessio.guglielmi.name/res/cos/&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Brunnler, K. www.iam.unibe.ch/~kai/Papers/n.pdf&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Jerabek, E. www.math.cas.cz/~jerabek/papers/cos.pdf&lt;/p&gt;&#xA;" OwnerUserId="10926" LastActivityDate="2012-10-02T14:43:21.277" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12798" PostTypeId="1" AcceptedAnswerId="12804" CreationDate="2012-10-02T15:04:03.527" Score="2" ViewCount="473" Body="&lt;p&gt;Does there exist a stable comparison sort using $O(1)$ auxiliary memory and achieving $O(n \log n)$ average run time?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Context: There are comparison sorts with any two of those three desirable characteristics (see &lt;a href=&quot;https://en.wikipedia.org/wiki/Sorting_algorithm#Comparison_of_algorithms&quot; rel=&quot;nofollow&quot;&gt;this list&lt;/a&gt;). Is there a reason why the three cannot be achieved simultaneously? &lt;em&gt;[Edit: I added the algorithm from the accepted answer to the list on Wikipedia, obviously it wasn't there when I asked the question.]&lt;/em&gt;&lt;/p&gt;&#xA;" OwnerUserId="4795" LastEditorUserId="4795" LastEditDate="2012-12-26T14:41:16.787" LastActivityDate="2012-12-26T14:41:16.787" Title="Stable comparison sort with $O(1)$ auxiliary memory and $O(n \log n)$ average running time" Tags="&lt;ds.algorithms&gt;&lt;sorting&gt;" AnswerCount="1" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="12800" PostTypeId="1" AcceptedAnswerId="12803" CreationDate="2012-10-02T20:43:05.073" Score="21" ViewCount="664" Body="&lt;p&gt;I'll be teaching a standard undergraduate class on languages and automata next semester, and would prefer to use a legitimate free or low-cost text. Any suggestions?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I love the Sipser text but the latest edition costs $196, which is hard to say with a straight face in the age of free courses.&lt;/p&gt;&#xA;" OwnerUserId="6218" LastEditorUserId="-1" LastEditDate="2012-10-08T04:48:20.133" LastActivityDate="2012-10-08T04:48:20.133" Title="Language and automata textbook, free or low cost?" Tags="&lt;soft-question&gt;&lt;teaching&gt;&lt;books&gt;" AnswerCount="4" CommentCount="0" FavoriteCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="12802" PostTypeId="2" ParentId="12800" CreationDate="2012-10-03T00:33:18.593" Score="6" Body="&lt;p&gt;There are class notes online. For example...&#xA;&lt;a href=&quot;http://valis.cs.uiuc.edu/~sariel/teach/notes/373/&quot;&gt;http://valis.cs.uiuc.edu/~sariel/teach/notes/373/&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="9594" LastActivityDate="2012-10-03T00:33:18.593" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12803" PostTypeId="2" ParentId="12800" CreationDate="2012-10-03T00:47:49.857" Score="12" Body="&lt;p&gt;Maheshwari and Smid's &lt;a href=&quot;http://cg.scs.carleton.ca/~michiel/TheoryOfComputation/TheoryOfComputation.pdf&quot;&gt;Introduction to Theory of Computation&lt;/a&gt; is free, with a Creative Commons license. It has some computability and complexity theory as well but seems to be primarily on languages and automata.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2012-10-03T00:47:49.857" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12804" PostTypeId="2" ParentId="12798" CreationDate="2012-10-03T03:01:12.877" Score="8" Body="&lt;p&gt;There is a sort algorithm with $O(1)$ auxiliary &lt;em&gt;words&lt;/em&gt; and achieving $O(n\log n)$ worst-case run time, where $n$ is the length of the input array.&#xA;&lt;a href=&quot;http://www.springerlink.com/content/d7348168624070v7/&quot;&gt;http://www.springerlink.com/content/d7348168624070v7/&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I don't think that the question seeks an algorithm with $O(1)$ auxiliary &lt;em&gt;bits&lt;/em&gt;, because such algorithm must be &lt;em&gt;tricky&lt;/em&gt;.  I mean, if we cannot use even $O(\log n)$ bits, then we cannot use a simple for-loop (for(i=0, i &amp;lt; n, i++) {...} ) in the algorithm without introducing variable i (which require additional $O(\log n)$ bits).&lt;/p&gt;&#xA;" OwnerUserId="3825" LastActivityDate="2012-10-03T03:01:12.877" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12805" PostTypeId="1" AcceptedAnswerId="12806" CreationDate="2012-10-03T04:25:11.643" Score="11" ViewCount="385" Body="&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Courcelle%27s_theorem&quot; rel=&quot;nofollow noreferrer&quot;&gt;Courcelle's theorem&lt;/a&gt; states that every graph property definable in &lt;a href=&quot;http://en.wikipedia.org/wiki/Monadic_second-order_logic#Syntax&quot; rel=&quot;nofollow noreferrer&quot;&gt;monadic second-order logic&lt;/a&gt; can be decided in linear time on graphs of bounded &lt;a href=&quot;http://en.wikipedia.org/wiki/Treewidth&quot; rel=&quot;nofollow noreferrer&quot;&gt;treewidth&lt;/a&gt;. This is one of the most well-known algorithmic meta-theorems.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Motivated by Courcelle's theorem, I made the following conjecture :&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Conjecture&lt;/strong&gt; : Let $\psi$ be any MSO-definable property. If $\psi$ is solvable in polynomial-time on planar graphs, then $\psi$ is solvable in polynomial-time on all classes of minor-free graphs.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I want to know if the above conjecture is obviously false i.e., is there an MSO-definable property that is polynomial-time solvable on planar graphs but NP-hard on some class of minor-free graphs ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is the motivation behind my &lt;a href=&quot;https://cstheory.stackexchange.com/questions/12490/hard-problems-for-higher-genus-graphs&quot;&gt;earlier question&lt;/a&gt; : Are there any problems that are polynomially solvable on graphs of genus g but NP-hard on graphs of genus &gt; g.&lt;/p&gt;&#xA;" OwnerUserId="344" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2012-10-08T04:48:04.220" Title="MSO properties, planar graphs and minor-free graphs" Tags="&lt;graph-theory&gt;&lt;lo.logic&gt;&lt;treewidth&gt;&lt;planar-graphs&gt;&lt;graph-minor&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12806" PostTypeId="2" ParentId="12805" CreationDate="2012-10-03T05:09:35.723" Score="18" Body="&lt;p&gt;Being 4-colorable?  Certainly MSO, and trivial on planar graphs.  It's NP-complete for a large enough forbidden clique minor, by reduction to planar 3-colorability.&lt;/p&gt;&#xA;" OwnerUserId="7633" LastActivityDate="2012-10-03T05:09:35.723" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12808" PostTypeId="1" CreationDate="2012-10-03T07:24:59.370" Score="1" ViewCount="77" Body="&lt;p&gt;It's well known that using a hash function as message authentication is vulnerable to length extension attacks.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;ie. H(key+message) is a bad idea. H(message+key), H(key+message+key) have their issues as well.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, what if valid messages are a known length? Does length extension still apply?&lt;/p&gt;&#xA;" OwnerUserId="10942" LastEditorUserId="-1" LastEditDate="2012-10-08T04:48:06.327" LastActivityDate="2012-10-08T04:48:06.327" Title="Length Extension Attack with a fixed length message" Tags="&lt;cr.crypto-security&gt;&lt;hash-function&gt;" AnswerCount="0" CommentCount="2" ClosedDate="2012-12-06T07:34:22.433" ContentLicense="CC BY-SA 3.0" />
  <row Id="12809" PostTypeId="2" ParentId="12800" CreationDate="2012-10-03T08:04:20.590" Score="2" Body="&lt;p&gt;I totally recommend the draft of a book &lt;a href=&quot;http://www.liafa.jussieu.fr/~jep/PDF/MPRI/MPRI.pdf&quot; rel=&quot;nofollow&quot;&gt;Mathematical Foundations of Automata Theory&lt;/a&gt; by &lt;a href=&quot;http://www.liafa.jussieu.fr/~jep/indexAnglais.html&quot; rel=&quot;nofollow&quot;&gt;Jean-Eric Pin&lt;/a&gt;. Also, you should check his home page for more automata related stuff. Note however that this books is oriented to semigroup-theory, so it depends on what you want to teach to your students.&lt;/p&gt;&#xA;" OwnerUserId="135" LastActivityDate="2012-10-03T08:04:20.590" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="12810" PostTypeId="2" ParentId="12800" CreationDate="2012-10-03T08:56:29.923" Score="8" Body="&lt;p&gt;&lt;a href=&quot;http://www.cs.brown.edu/~jes/book/pdfs/ModelsOfComputation.pdf&quot;&gt;Models of Computation &amp;mdash; Exploring the Power of Computing&lt;/a&gt; by John E. Savage &lt;em&gt;(Creative Commons Attribution-Noncommercial-No Derivative Works 3.0 United States license)&lt;/em&gt;.&lt;/p&gt;&#xA;" OwnerUserId="10889" LastActivityDate="2012-10-03T08:56:29.923" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12813" PostTypeId="2" ParentId="8146" CreationDate="2012-10-03T16:29:24.370" Score="8" Body="&lt;p&gt;Samson Abramsky and I wrote a paper about the proof theory of compact categories with biproducts.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Abramsky, S. and Duncan, R. (2006) &quot;A Categorical Quantum Logic&quot;,&#xA;  Mathematical Structures in Computer Science 16 (3).&#xA;  10.1017/S0960129506005275&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The ideas were later developed a bit further in this book chapter:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Duncan, Ross (2010) &quot;Generalised Proof-Nets for Compact Categories&#xA;  with Biproducts&quot; in Semantic Techniques in Quantum Computation,&#xA;  Cambridge University Press, pp70--134 arXiv:0903.5154v1&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The full details are there, but the short version is that your logic is inconsistent, because you have a zero proof for every implication, and the rest of your proofs are equivalent to &quot;matrices&quot;, where the matrix entries are the proofs in the biproduct-free part of the logic.  Speaking without the caveats required to make this precise, the resulting category of proofs is the free biproduct category on some category of axioms.&lt;/p&gt;&#xA;" OwnerUserId="2632" LastActivityDate="2012-10-03T16:29:24.370" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12814" PostTypeId="1" AcceptedAnswerId="12831" CreationDate="2012-10-03T16:51:21.397" Score="13" ViewCount="1456" Body="&lt;p&gt;It seems to me that machine learning/data mining experts are familiar with P and NP, but rarely talk about some of the more subtle complexity classes (e.g. NC, BPP, or IP) and their implications for effectively analyzing data. Is there any survey of work doing this?&lt;/p&gt;&#xA;" OwnerUserId="10267" LastActivityDate="2012-10-05T16:49:06.117" Title="Is there any work combining machine learning and the more exotic forms of complexity theory?" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;machine-learning&gt;" AnswerCount="1" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="12820" PostTypeId="2" ParentId="12703" CreationDate="2012-10-03T19:46:49.560" Score="1" Body="&lt;p&gt;If I understand what you're asking, this is a very structured problem.  Have you tried just counting the solutions?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, consider the odd case, n = 2m + 1.  Then it looks to me that you can fill in the grid in a checkerboard pattern without worry (the asterisks below): &lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;* * * * *&#xA;* ? * ? *&#xA;* * ? * *&#xA;* ? * ? *&#xA;* * * * *&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Further, once you've done so, you either have a free choice of what to make the question marks (7/8s of the time) or are forced to make a particular choice (1/8 of the time, when surrounded by all the same bit).  Thus, the number of solutions should be:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$ &#xA;2^{2^n} (\frac{7}{8})^{m^2 + (m-1)^2}&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think you can make the probabilistic reasoning exact with a little care.  And of course, this leaves the even case, but I wouldn't be surprised if it also admits a closed form solution.  &lt;/p&gt;&#xA;" OwnerUserId="10948" LastEditorUserId="10948" LastEditDate="2012-10-03T22:10:35.740" LastActivityDate="2012-10-03T22:10:35.740" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="12823" PostTypeId="1" CreationDate="2012-10-04T00:16:03.590" Score="1" ViewCount="1354" Body="&lt;p&gt;I am looking for references to the variant of the vehicle routing problem over Manhattan distance metric where the aim is to optimize the number of tours starting at the depot.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is the following problem NP-hard&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Problem :The distance constrained version of the vehicle routing problems over Manhattan distance metric considering an complete $N\times N$  grid or a grid where some edges are missing  ?&#xA;The grid graph is a weighted one.&lt;/p&gt;&#xA;" OwnerUserId="8847" LastEditorUserId="-1" LastEditDate="2012-10-08T04:53:45.650" LastActivityDate="2012-10-08T04:53:45.650" Title="Vehicle routing problem over Manhattan distances" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;graph-theory&gt;&lt;np-hardness&gt;&lt;optimization&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12824" PostTypeId="1" CreationDate="2012-10-04T04:28:05.970" Score="24" ViewCount="2298" Body="&lt;p&gt;I am looking for a book on advanced data structures that goes beyond what is covered in standard textbooks like Cormen, Leiserson, Rivest, and Stein's &quot;Introduction to Algorithms&quot;.&lt;br&gt;&#xA;A book that can be used for teaching a graduate level course on advanced data structures like Erik Demaine and André Schulz's &lt;a href=&quot;http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-851-advanced-data-structures-spring-2010/lecture-notes/&quot;&gt;Advanced Data Structures&lt;/a&gt; course at MIT. &#xA;An encyclopedic handbook of data structures would be even nicer.&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2012-10-04T04:34:32.887" LastActivityDate="2012-10-04T15:53:03.237" Title="Handbook of advanced data structures" Tags="&lt;soft-question&gt;&lt;ds.data-structures&gt;&lt;survey&gt;&lt;books&gt;" AnswerCount="4" CommentCount="5" FavoriteCount="18" ContentLicense="CC BY-SA 3.0" />
  <row Id="12825" PostTypeId="2" ParentId="12824" CreationDate="2012-10-04T04:40:21.977" Score="14" Body="&lt;p&gt;I wish I had a good answer for you. I use &lt;a href=&quot;http://en.wikipedia.org/wiki/Book%3aFundamental_Data_Structures&quot;&gt;Book:Fundamental Data Structures&lt;/a&gt; (a collection of relevant Wikipedia articles) for &lt;a href=&quot;http://www.ics.uci.edu/~eppstein/261/&quot;&gt;my course on this subject&lt;/a&gt; but it's not really a complete textbook (for one thing, it has no exercises). CLRS is, I think, at a good level of detail for this sort of class but is missing too many of the important structures.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2012-10-04T04:40:21.977" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12826" PostTypeId="2" ParentId="12824" CreationDate="2012-10-04T05:47:35.620" Score="10" Body="&lt;p&gt;The only advanced data structures book that I'm aware of is the one by Peter Braß (&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0521880378&quot;&gt;Advanced Data Structures&lt;/a&gt;). It's not a bad book, but I'm not convinced that it's truly advanced at the graduate level. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2012-10-04T05:47:35.620" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12828" PostTypeId="2" ParentId="12823" CreationDate="2012-10-04T12:50:22.867" Score="2" Body="&lt;p&gt;The Hamiltonian cycle problem on &lt;em&gt;grid graphs&lt;/em&gt; (a node induced subgraph of the infinite grid) is NP-complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To prove NP-hardness of $VRP$ on grid graphs you can use a direct reduction: given a grid graph $G = (V, E)$ with $|V|= n$ nodes, it easy to see that it has an hamiltonian cycle if and only if the corresponding Vehicle Routing Problem on grid graphs (all edges have cost 1) has a solution with total cost $\leq n$. The weighted edges case is a generalization, so the reduction is immediate:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;HAM CYCLE on grid graphs (NP-complete) $\leq$ VRP on grid graphs with cost 1 edges $\leq$ VRP on grid graphs with weighted edges.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT:&lt;/strong&gt;&#xA;Other stuff: &lt;em&gt;Euclidian (planar)&lt;/em&gt; TSP is NP-complete (see &lt;a href=&quot;http://epubs.siam.org/doi/abs/10.1137/0211056?journalCode=smjcat&quot; rel=&quot;nofollow&quot;&gt;Hamilton paths in grid graphs&lt;/a&gt;), from this result it follows that TSP with distances measured in Manhattan norm is NP-complete, too (&lt;a href=&quot;http://www.cs.ust.hk/mjg_lib/bibs/DPSu/DPSu.Files/SIR000496.pdf&quot; rel=&quot;nofollow&quot;&gt;see for example this survey&lt;/a&gt;). VRP on grid graphs with weighted edegs is a generalization of it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But if we consider VRP on &lt;em&gt;solid&lt;/em&gt; grid graphs (no holes allowed) I suspect that the problem is open because it is directly connected to this: &quot;&lt;a href=&quot;http://cs.smith.edu/~orourke/TOPP/P54.html&quot; rel=&quot;nofollow&quot;&gt;Problem 54: Traveling Salesman Problem in Solid Grid Graphs&lt;/a&gt;&quot;&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2012-10-05T12:45:38.387" LastActivityDate="2012-10-05T12:45:38.387" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="12829" PostTypeId="2" ParentId="12824" CreationDate="2012-10-04T13:54:12.103" Score="8" Body="&lt;p&gt;I'm pretty sure no such book exists.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I drew up an &lt;a href=&quot;http://compgeom.cs.uiuc.edu/~jeffe/teaching/datastructures/schedule.html&quot;&gt;annotated bibliography&lt;/a&gt; for &lt;a href=&quot;http://compgeom.cs.uiuc.edu/~jeffe/teaching/datastructures/&quot;&gt;my recent course&lt;/a&gt;, which was loosely based on Erik's course at MIT.  It's definitely &lt;a href=&quot;http://compgeom.cs.uiuc.edu/~jeffe/teaching/datastructures/schedule.html#nope&quot;&gt;incomplete&lt;/a&gt;—I covered very few geometric data structures and &lt;em&gt;no&lt;/em&gt; text data structures, for example—but you might still find it useful.&lt;/p&gt;&#xA;" OwnerUserId="111" LastActivityDate="2012-10-04T13:54:12.103" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12830" PostTypeId="2" ParentId="12824" CreationDate="2012-10-04T15:53:03.237" Score="9" Body="&lt;p&gt;The &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/1584884355&quot;&gt;Handbook of Data Structures and Applications&lt;/a&gt; (Chapman &amp;amp; Hall/CRC Computer &amp;amp; Information Science Series) is mostly devoted to elementary data structures, but it also contains a few advanced materials that you may find useful for teaching a graduate level course. Given the huge size (1392 pages), this book may be classified as an encyclopedic handbook of data structures, even though certainly it is not an handbook focusing primarily on advanced data structures.&lt;/p&gt;&#xA;" OwnerUserId="4208" LastActivityDate="2012-10-04T15:53:03.237" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12831" PostTypeId="2" ParentId="12814" CreationDate="2012-10-04T16:15:41.197" Score="3" Body="&lt;p&gt;There is some inherent difference or dissimilarity of approaches between the two fields of applied machine learning and TCS/complexity theory.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is a recent workshop on the subject at the Center for Computational Intractability, Princeton with lots of videos.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Description: Many current approaches in machine learning are heuristic: we cannot prove good bounds on either their performance or their running time. This small workshop will focus on the project of designing algorithms and approaches whose performance can be analyzed rigorously. The goal is to look beyond settings where provable bounds already exist.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://intractability.princeton.edu/blog/2012/07/workshop-on-provable-bounds-in-machine-learning-august-1-2-2012/&quot; rel=&quot;nofollow&quot;&gt;Workshop: Provable Bounds in Machine Learning — August 1-2, 2012&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;In TCS a main area of study of &quot;learning&quot; sometimes maybe confusingly even also called &quot;machine learning&quot; is called &lt;a href=&quot;http://en.wikipedia.org/wiki/Probably_approximately_correct_learning&quot; rel=&quot;nofollow&quot;&gt;PAC theory&lt;/a&gt; which stands for Probably Approximately Correct. its early 1980s origin predates much more modern research into &quot;machine learning.&quot; wikipedia calls it part of the field &lt;a href=&quot;http://en.wikipedia.org/wiki/Computational_learning_theory&quot; rel=&quot;nofollow&quot;&gt;computational learning theory&lt;/a&gt;. PAC often concerns results of learning boolean formulas given statistical samples of the distributions etc and the achievable accuracy of learning given various algorithms or limited samples.  This is studied in a rigorous theoretical way with tie-ins to complexity classes.  But it is not so much an applied study &amp;amp; wikipedias page on &lt;a href=&quot;http://en.wikipedia.org/wiki/Machine_learning&quot; rel=&quot;nofollow&quot;&gt;machine learning&lt;/a&gt; does not even list it.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://www.cis.upenn.edu/~mkearns/papers/thesis.pdf&quot; rel=&quot;nofollow&quot;&gt;The Computational Complexity&#xA;of Machine Learning&lt;/a&gt; PhD thesis by Kearns&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://www.cs.cmu.edu/~epxing/Class/10701-08s/Lecture/lecture11-annotated.pdf&quot; rel=&quot;nofollow&quot;&gt;Xing slides on (PAC) machine learning&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="186" LastEditDate="2012-10-05T16:49:06.117" LastActivityDate="2012-10-05T16:49:06.117" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12833" PostTypeId="1" CreationDate="2012-10-05T03:22:29.573" Score="3" ViewCount="267" Body="&lt;p&gt;The problem statement is&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Given convex functions $f_i$ over $X$, find  $$\arg\max_{x\in X} \sum_i f_i(x)$$&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Does this kind of problem structure allow one to use specific strategies to solve the problem?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does it help if I also know the lower bound and upper bound of each $\max_x f_i(x)$ and the corresponding $x$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, is there any algorithm like the objective function analogy of branch and bound method ? &lt;/p&gt;&#xA;" OwnerUserId="10965" LastEditorUserId="-1" LastEditDate="2012-10-08T04:53:48.473" LastActivityDate="2012-10-08T04:53:48.473" Title="Maximizing a convex function where the objective function is separable but the search space is not" Tags="&lt;ds.algorithms&gt;&lt;approximation-algorithms&gt;&lt;optimization&gt;&lt;convex-optimization&gt;&lt;approximation&gt;" AnswerCount="0" CommentCount="5" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12835" PostTypeId="1" CreationDate="2012-10-05T16:01:07.117" Score="7" ViewCount="191" Body="&lt;p&gt;Let $X_0, \ldots, X_{2^n-1}$ be $k$-wise independent random $0/1$ variables over a sample space $\Omega$ and $Prob \left[ X_i = 1 \right] = p$ for every $i$ and some $0 &amp;lt; p &amp;lt; 1$. Let assume $n$ is dividable by 2 and $f(x,y): \lbrace 0,1 \rbrace^{n/2} \times \lbrace 0,1 \rbrace^{n/2} \rightarrow \lbrace 0,1 \rbrace$ is defined by $f(x,y) = X_{\vert xy \vert}$ where $xy$ is the concatenation of $x$ and $y$ and $\vert z \vert := \sum 2^i \cdot z_i$. I'm interested in the 1-way 2-party (deterministic) communication complexity of $f$ such that both players know the random sample (out of $\Omega$) which is chosen at the beginning of the protocol, i.e. both players know the current value of every $X_i$. Of course, it is also ok to know something about the expected number of communicated bits.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Motivation: At first I think this is an interesting problem :) However, I'm currently dealing with such random functions and want to show some lower bounds for my computational model using communication complexity.&lt;/p&gt;&#xA;" OwnerUserId="2517" LastEditorUserId="-1" LastEditDate="2012-10-08T04:53:43.030" LastActivityDate="2012-10-08T04:53:43.030" Title="Communication complexity of random functions with limited independence" Tags="&lt;cc.complexity-theory&gt;&lt;randomness&gt;&lt;communication-complexity&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="12838" PostTypeId="1" CreationDate="2012-10-05T21:56:22.253" Score="0" ViewCount="82" Body="&lt;p&gt;Having a set of numbers $S={s_i}$, I want to assign them to bins, $b_i$, such that the sum of items on bins follow a specific distribution. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For two bins and uniform distribution, this problem is similar to the partition problem. I know there is a simple greedy algorithm for that but I could not generalize it for my problem.&lt;/p&gt;&#xA;" OwnerUserId="10188" LastEditorUserId="-1" LastEditDate="2012-10-08T04:53:51.203" LastActivityDate="2012-10-08T04:53:51.203" Title="Partitioning based on distribution" Tags="&lt;ds.algorithms&gt;&lt;approximation-algorithms&gt;&lt;packing&gt;&lt;greedy-algorithms&gt;&lt;partition-problem&gt;" AnswerCount="0" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="12841" PostTypeId="1" CreationDate="2012-10-06T12:45:04.903" Score="46" ViewCount="1625" Body="&lt;p&gt;In the problem CONN, we obtain a directed $n$-vertex graph (encoded as a boolean string of $n^2$ bits, one for each potential edge), and want to decide&#xA;whether there is a path between &lt;b&gt;all&lt;/b&gt; $n^2$ pairs $(s,t)$ of vertices.&#xA;In its special case, STCONN, the task is only for &lt;b&gt;one&lt;/b&gt; &#xA;fixed pair $(s,t)$ of vertices. I am  interested in &#xA;the size of &lt;b&gt;monotone&lt;/b&gt; circuits with &#xA;fanin-2 AND and OR gates solving STCONN. &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;&lt;b&gt;QUESTION:&lt;/b&gt; Does STCONN require monotone boolean circuits of size $\Omega(n^3)$?  &#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;What I know is:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt; STCONN, and even CONN, can be solved by monotone circuits of size $O(n^3)$: use&#xA;well known dynamic programming algorithms of Bellman-Ford for STCONN,&#xA;and by Floyd-Warshall for CONN.&#xA;&lt;li&gt; Every monotone circuit for STCONN has &lt;b&gt;depth&lt;/b&gt; $\Omega(\log^2 n)$:&#xA;Karchmer-Wigderson (1990), Grigni-Sipser (1995). By binary search, this depth&#xA;is also enough. &#xA;&lt;li&gt; Every monotone circuit for CONN has &lt;b&gt;size&lt;/b&gt; $\Omega(n^3)$:&#xA;CONN has almost the same monotone complexity as boolean multiplication &#xA;of two boolean matrices, and this latter problem is shown, &#xA;by Paterson (1975) and by Mehlhorn-Galil (1976), to require $\Omega(n^3)$ gates.&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;But what about the &lt;b&gt;size&lt;/b&gt; of monotone circuits for &lt;b&gt;STCONN&lt;/b&gt;? &#xA;Is this still an open problem? I guess - it is, but would be happy to hear the opposite.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;p&gt;&#xA;&lt;b&gt;ADDED&lt;/b&gt; (on 9.10.2012) My question is related to the question about the status of &lt;b&gt;tropical circuit&lt;/b&gt; complexity of &quot;weighted&quot; STCONN &#xA;(the shortest $s$-$t$ path problem); see my &lt;a href=&quot;https://cstheory.stackexchange.com/questions/8918/monotone-arithmetic-circuits?rq=1&quot;&gt;answer&lt;/a&gt;;&#xA;a &lt;i&gt;tropical circuit&lt;/i&gt; is a circuit with fanin-2 Min and Plus gates.&#xA; Suppose we have a 0/1 optimization problem&#xA;$f(x)=\min_{S\in{\cal F}}\sum_{i\in S}x_i$, where ${\cal F}$ is a family of&#xA;feasible solutions, and $x_i$'s are real numbers. A &quot;boolean version&quot; of&#xA;this problem is a monotone boolean function &#xA;$f_B(x)=\bigvee_{S\in{\cal F}}\bigwedge_{i\in S}x_i$. &#xA;In the case of the shortest $s$-$t$ path problem, $f_B$ is STCONN. &#xA;&lt;p&gt;&#xA;If the domain of $f(x)$&#xA;contains $0$ and $\infty$, then the minimum size of a tropical circuit&#xA;for $f(x)$ is at least the minimum size of a monotone boolean circuit&#xA;for $f_B(x)$. This holds because the mapping $h:\{0,\infty\}\to\{0,1\}$ given by $h(0):=1$ and $h(\infty):=0$ is a homomorphish from the semiring $(\{o,\infty\},\min,+)$ to the boolean semiring. But lower bounds for tropical circuits could come easier than for &#xA;monotone boolean circuits: the domain now is huge (real numbers), and &#xA;Min does not distribute over Plus. Hence, an ``easier'' question:  &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;Does the shortest $s$-$t$ paths problem requires &#xA;tropical circuits of size $\Omega(n^3)$?  &#xA;&lt;/blockquote&gt; &#xA;&#xA;&lt;p&gt;Another model weaker than monotone boolean circuits and tropical circuits is that of&#xA;&lt;a href=&quot;https://cstheory.stackexchange.com/questions/8918/monotone-arithmetic-circuits?rq=1&quot;&gt;&lt;b&gt;monotone arithmetic circuits&lt;/b&gt;&lt;/a&gt;: here no produced monomials can be&#xA;cancelled later. We can associate with the weighted STCONN &#xA;a multilinear polynomial $P(x)$ by taking one monomial &#xA;for each simple $s$-$t$ path. Hence, yet ``simpler'' question:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;Does $P(x)$ require monotone arithmetic circuits of size $\Omega(n^3)$?  &#xA;&lt;/blockquote&gt; &#xA;&#xA;&lt;p&gt;&lt;hr&gt;&#xA;&lt;b&gt;ADDED&lt;/b&gt; (23.01.2013): The list of known results above is not complete: &#xA;Aaron Potechin has also &lt;a href=&quot;http://eccc.hpi-web.de/report/2009/142/&quot; rel=&quot;noreferrer&quot;&gt;shown&lt;/a&gt; that &lt;i&gt;directed&lt;/i&gt; STCONN&#xA;requires monotone &lt;i&gt;switching networks&lt;/i&gt; of size $n^{\Omega(\log n)}$.&#xA;Each such network is an &lt;i&gt;undirected&lt;/i&gt; graphs with two&#xA;distinguished source and target nodes, an with edges labeled by variables. &#xA;When input vector arrives, all edges evaluated to $0$ are removed,&#xA;and the vector is accepted iff there is a source-target path in the remaining&#xA;subgraph. In contrast, is we would allow a network be &lt;i&gt;directed&lt;/i&gt; then&#xA;even directed STCONN can be solved (using similar construction as &#xA;&lt;a href=&quot;https://cstheory.stackexchange.com/questions/14591/combinatorics-of-bellman-ford-or-how-to-make-cyclic-graphs-acyclic&quot;&gt;here&lt;/a&gt;)&#xA;by a monotone network of size $O(n^4)$, even by an&#xA;acyclic network. This is the largest known gap between monotone directed &#xA;and undirected networks!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;hr&gt;&#xA;&lt;b&gt;CORRECTION&lt;/b&gt; (on 21.05.2014): I was wrong with item 3 above: the lower bound $\Omega(n^3)$ for CONN is also not known! The bound on matrix product only gives such a lower bound for APCONN (all-pairs connectivity): this is a &lt;em&gt;set&lt;/em&gt; of $n^2$ boolean functions $f_{ij}$ outputing $1$ iff there is a path between nodes $i$ and $j$. The (single-output) function CONN is the AND of all $f_{ij}$. Note that circuits computing CONN need not to compute APCONN: the circuit for CONNN needs not to compute the functions $f_{ij}$ on &lt;em&gt;separate&lt;/em&gt; output gates.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;p&gt; &#xA;&lt;b&gt;ADDON&lt;/b&gt; (on 21.05.2014): Lower bounds on the monotone &lt;em&gt;depth&lt;/em&gt; of CONN are also known: by improving an earlier bound $\Omega(n^{3/2}n/\ln\ln n)$ of Yao (1994), Goldman and Hastad (1998) proved an almost optimal bound of $\Omega(\ln^2/\ln\ln n)$. Interestingly, these bounds were proved not by using the Karchmer-Wigderson games (as it was for STCONN) but rather a form of Razboro's approximation method. &#xA;&lt;p&gt;&#xA;&lt;b&gt;ANSWER&lt;/b&gt; (on 21.05.2014): My 3-rd (yet ``simpler'') question indeed has a simple answer: monotone arithmetic circuits for the STCONN polynomial $P(x)$ require even &lt;em&gt;exponential&lt;/em&gt; size. This holds because: (1) every such circuit must also compute the Hamilton s-t path polynomial HP (monomials are s-t path containing all nodes), and (2) HP requires monotone arithmetic circuits of exponential size (a simple covering-by-rectangles argument since nothing can be cancelled in such circuits).  &lt;/p&gt;&#xA;" OwnerUserId="5788" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2020-12-14T22:54:15.690" Title="Monotone complexity of s-t connectivity" Tags="&lt;cc.complexity-theory&gt;&lt;circuit-complexity&gt;&lt;lower-bounds&gt;&lt;dynamic-programming&gt;&lt;monotone&gt;" AnswerCount="0" CommentCount="3" FavoriteCount="14" ContentLicense="CC BY-SA 3.0" />
  <row Id="12842" PostTypeId="1" CreationDate="2012-10-06T21:26:37.483" Score="8" ViewCount="279" Body="&lt;p&gt;I was reading about the &lt;a href=&quot;http://en.wikipedia.org/wiki/Star_height_problem&quot; rel=&quot;nofollow&quot;&gt;Star Height Problem&lt;/a&gt; and noticed that Eggan's family of regular expressions follows a simple pattern which can be described by a regular expression. My question is: are there any interesting results about regular expressions which describe families of regular expressions? Can this process be continued further, so you have a regex describing a family of regexes each of which in turn describes a family of regexes?&#xA;Just a thought.&lt;/p&gt;&#xA;" OwnerUserId="2573" LastEditorUserId="-1" LastEditDate="2012-10-08T04:58:39.450" LastActivityDate="2012-10-08T04:58:39.450" Title="Regular expressions of families of regular expressions" Tags="&lt;fl.formal-languages&gt;&lt;regular-language&gt;&lt;regular-expressions&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12843" PostTypeId="1" AcceptedAnswerId="12845" CreationDate="2012-10-07T08:57:03.253" Score="8" ViewCount="369" Body="&lt;p&gt;I'm looking for the original paper where Hoare (or someone else I suppose) discusses termination (Total Correctness). Or any other early work on termination for &quot;vanilla&quot; Hoare logic (I suppose by that I mean a HL for a C-like toy language). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I've had a look at &lt;a href=&quot;http://www.spatial.maine.edu/~worboys/processes/hoare%20axiomatic.pdf&quot;&gt;&lt;em&gt;Axiomatic basis for Computer Programs&lt;/em&gt;&lt;/a&gt; (PDF) (which seems to be essentially Hoare logic of the partial correctness flavour) and&#xA;&lt;em&gt;A note on the for rule&lt;/em&gt;, which mentions proof of a while rule, but can't seem to find the missing link; a paper on termination/the while rule/Total correctness.&lt;/p&gt;&#xA;" OwnerUserId="8973" LastEditorUserId="8519" LastEditDate="2012-10-13T18:29:45.727" LastActivityDate="2012-10-16T02:55:33.873" Title="Original Hoare Logic termination paper" Tags="&lt;reference-request&gt;&lt;lo.logic&gt;&lt;pl.programming-languages&gt;&lt;program-verification&gt;&lt;program-logic&gt;" AnswerCount="2" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12844" PostTypeId="2" ParentId="11711" CreationDate="2012-10-07T11:40:01.940" Score="-3" Body="&lt;p&gt;Try the following command on MATLAB, as you're looking for a practical solution&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;squareform(pdist(dec2bin(0:255,8),'hamming')*8)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;It gives you a matrix, containing the pairwise hamming distance between binary numbers from 0 to 255.&#xA;You can plot it using any tool in matlab, such as 'imtool'. But be careful about the 1-based indexing of matrices in MATLAB!&lt;/p&gt;&#xA;" OwnerUserId="10980" LastActivityDate="2012-10-07T11:40:01.940" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12845" PostTypeId="2" ParentId="12843" CreationDate="2012-10-07T14:37:44.783" Score="13" Body="&lt;p&gt;You probably want&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Manna, Pnueli, &lt;a href=&quot;https://www.google.co.uk/search?q=Axiomatic%20approach%20to%20total%20correctness%20of%20programs%20stanford%20pdf&quot;&gt;Axiomatic Approach to Total Correctness of Programs&lt;/a&gt;, 1973&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="236" LastActivityDate="2012-10-07T14:37:44.783" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12848" PostTypeId="2" ParentId="12842" CreationDate="2012-10-07T19:45:18.210" Score="3" Body="&lt;p&gt;Regular languages are closed under union, concatenation and star, so regular expressions under regular expressions describes regular languages. So, regex, that describe regex, that describe regex still describe family of regular languages, and you can continue that process as long, as you want.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here, by «describe» I mean that first, you have just regex, like $(aa|b)^+ = R_0$  and regex $(a|bb)^+ = R_1$, than you describe regex level 1 like $(R_0R^*_1R_0)$, this regex describe languages  $(aa|b)^+(aa|b)^+$, $(aa|b)^+(a|bb)^+(aa|b)^+$, $(aa|b)^+(a|bb)^+(a|bb)^+(aa|b)^+$, …  and so on.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In other terms regex under regex can be described using composition operation. Let $L$ be a regular language under alphabet $\Sigma$ and $|\Sigma| = n$. Consider regular languages $L_{\sigma_1}, L_{\sigma_2}, \ldots, L_{\sigma_n}$  under some alphabet $\Delta$. So, for each word $w$ from $L$ we substitute letter $w[i] = \sigma_j$ by corresponding language $L_{\sigma_j}$, so $w = w[1]w[2]\ldots w[k] \to L_{w[1]}L_{w[2]}\ldots L_{w[k]} $  and union of all such languages, forms language $comp(L,L_1,\ldots,L_n)$. So, level of regex under regex is just number of composition operations, that were used. And regular languages are closed under composition-operation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But there are some interesting results obtained by technique that's very closed to the one, that  you describe. I mean the $\delta-$operation. $\delta(L)$ is a such language, that every word from $\delta(L)$ yields by such tree, that every path in that tree lies in $L$. To learn more about it see the &lt;a href=&quot;http://www.google.ru/url?sa=t&amp;amp;rct=j&amp;amp;q=delta%20operation%20regular%20languages%20indexed%20languages&amp;amp;source=web&amp;amp;cd=1&amp;amp;ved=0CCEQFjAA&amp;amp;url=http%3A%2F%2Fciteseerx.ist.psu.edu%2Fviewdoc%2Fdownload%3Bjsessionid%3D079DA590941B48E70C7B1132ACEF4816%3Fdoi%3D10.1.1.8.2989%26rep%3Drep1%26type%3Dps&amp;amp;ei=qthxUP2GD8iC4gSIvIGwBQ&amp;amp;usg=AFQjCNEe9bz0cGXoCa0QG6E_gwEsRhddog&amp;amp;cad=rja&quot; rel=&quot;nofollow&quot;&gt;paper&lt;/a&gt; .   &lt;/p&gt;&#xA;" OwnerUserId="10676" LastActivityDate="2012-10-07T19:45:18.210" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12849" PostTypeId="1" AcceptedAnswerId="12862" CreationDate="2012-10-07T19:59:34.010" Score="7" ViewCount="338" Body="&lt;p&gt;In the oracle query model quantum computers can provably achieve a quadratic speed-up over any classical randomized computer [Grover, BBBV]. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are similar speed-ups provably possible for higher levels of the polynomial hiearchy or even PSPACE or EXP? (i.e. for classes that require single-exponentially many queries classically.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note, that I'm &lt;em&gt;not&lt;/em&gt; asking for superpolynomial speed-ups. Quadratic is fine. Can I get quadratic speed-up e.g. for finding a satisfying assignment to some quantified formular $\forall x \exists y\; \varphi(x,y)$? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that for larger classes &quot;scaling Grover up an exponential&quot; to NEXP gives $2^{2^n}$ vs. $2^{2^{n-1}}$ queries.&lt;/p&gt;&#xA;" OwnerUserId="10408" LastEditorUserId="10408" LastEditDate="2012-10-08T07:13:41.620" LastActivityDate="2012-10-08T18:39:45.067" Title="Are provable quantum speed-ups possible for classes larger than NP?" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;quantum-computing&gt;&lt;query-complexity&gt;" AnswerCount="2" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12850" PostTypeId="1" AcceptedAnswerId="14038" CreationDate="2012-10-07T20:35:57.500" Score="4" ViewCount="1366" Body="&lt;p&gt;I have a weighted bipartite graph consisting of two sets $S$ and $P$. ($|S| &amp;gt; |P|$).&#xA;I need to find a matching so that &lt;strong&gt;every&lt;/strong&gt; node $s$ in $S$ matches a node of $P$. But a node $p$ in $P$ can match &lt;strong&gt;multiple&lt;/strong&gt; nodes of $S$. Each $p$ has an individual limit of how many nodes it can match. The total weight of the matching should be as small as possible.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My research ended quite quick because I do not know the right key words to search for. Does this kind of matching problem have a specific name?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Second question: Do you already know some algorithms I should have a glance at?&lt;/p&gt;&#xA;" OwnerUserId="9630" LastEditorUserId="-1" LastEditDate="2012-10-08T04:58:42.757" LastActivityDate="2012-10-21T08:09:25.363" Title="Matching on bipartite graph - multiple edges" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;matching&gt;" AnswerCount="1" CommentCount="6" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12851" PostTypeId="2" ParentId="12849" CreationDate="2012-10-07T22:59:05.197" Score="6" Body="&lt;p&gt;For total functions it is impossible to achieve more than a polynomial separation (i.e. $D(f) = O(Q^6(f))$) in the quantum query model, for more info see this &lt;a href=&quot;http://cstheory.blogoverflow.com/2011/07/quantum-query-complexity/&quot; rel=&quot;nofollow noreferrer&quot;&gt;cstheory blog post&lt;/a&gt;. With promise problems, you can have exponential seperations between the quantum and classical query complexity. However, classical query complexity is sometimes very deceptive in its correspondence to complexity classes; as are &lt;a href=&quot;https://cstheory.stackexchange.com/questions/7413/trade-off-between-time-and-query-complexity&quot;&gt;partial functions in general&lt;/a&gt;. If you don't allow promise problems, you can't get exponential separations and your relevance to the big classes is questionable. You can never expect more than an exponential seperation, because a quantum algorithm can be simulated by a classical computer with exponential overhead (actually, in PSPACE so looking above that is dubious).&lt;/p&gt;&#xA;" OwnerUserId="1037" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2012-10-07T22:59:05.197" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="12855" PostTypeId="1" CreationDate="2012-10-08T05:02:21.503" Score="9" ViewCount="1993" Body="&lt;p&gt;$k$ distinct points are selected randomly from a $p\times q$ grid. (Obviously $k\leq p\times q$ and is a given constant number.) A complete weighted graph is built from these $k$ points such that weight of the edge between vertex $i$ and vertex $j$ equals the Manhattan distance of two vertices on the original grid.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am looking for an efficient way to calculate the &lt;em&gt;expected length&lt;/em&gt; of the shortest (minimum total weight) hamiltonian path passing through these $k$ nodes. More precisely, the following naive approaches are not desired:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\bullet$ Calculating the exact path length for all combinations of k nodes and deriving the expected length.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\bullet$ Calculating the approximated path length for all combinations of k nodes using the basic heuristic of using minimum spanning tree which gives up to 50% error. (A better heuristic with less error may be helpful)&lt;/p&gt;&#xA;" OwnerUserId="10990" LastEditorUserId="-1" LastEditDate="2012-10-17T17:50:23.250" LastActivityDate="2012-10-17T17:50:23.250" Title="What's the expected length of the shortest hamiltonian path on a randomly selected points from a planar grid?" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;planar-graphs&gt;&lt;hamiltonian-paths&gt;" AnswerCount="1" CommentCount="12" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12856" PostTypeId="2" ParentId="12766" CreationDate="2012-10-08T05:05:22.190" Score="5" Body="&lt;p&gt;As you noted, any vertex with degree $0$ will have zero probability of being selected for attachment, and thus will always remain disconnected. Thus, only vertices of degree $1$ or higher matter in the initial network. In an experimental setting, it doesn't matter what connectivity you pick for your initial $m$ vertices (beyond the non-zero degree, constraint) since the network starts to forget its initial conditions pretty quickly (especially if all the initial vertices have the same degree). The two most popular implementations in practice are:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;$1$ vertex connected to $m$ other vertices. This creates a distinguished vertex to start with (the high-degree vertex has a much higher chance of becoming a hub than the others), but otherwise the network is very typical.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;$m + 1$ fully connected vertices. This creates a balance between any vertices being biased to become a hub, but has the unfortunate effect of artificially increasing the clustering coefficient of your network when it is young. This usually takes longer for the network to forget.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;If you want more exact analytic results on the BA model, than you can't rely on the original heuristic arguments given in the Science paper, and I recommend looking at &lt;a href=&quot;http://www.stanford.edu/class/msande337/notes/lec2.pdf&quot;&gt;these lecture notes&lt;/a&gt; for a formal treatement. To prove things about the BA model, usually self-loops and multiple edges are allowed. In that case the network can be initialized as one vertex with $m$ self-loops.&lt;/p&gt;&#xA;" OwnerUserId="1037" LastActivityDate="2012-10-08T05:05:22.190" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12857" PostTypeId="1" AcceptedAnswerId="12890" CreationDate="2012-10-08T09:11:44.860" Score="16" ViewCount="971" Body="&lt;p&gt;We assume that $G\in G(n,p),p=\frac{\ln n +\ln \ln n +c(n)}{n}$.&#xA;Then the following fact is well known:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;\begin{eqnarray}&#xA;Pr [G\mbox{  has a Hamiltonian cycle}]=&#xA;  \begin{cases}&#xA;    1 &amp;amp; (c(n)\rightarrow \infty) \\&#xA;    0 &amp;amp; (c(n)\rightarrow - \infty) \\&#xA; e^{-e^{-c}} &amp;amp; (c(n)\rightarrow c)&#xA;  \end{cases}&#xA;\end{eqnarray}&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I want to know results about the number of Hamiltonian cycles on random graphs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Q1. How many is the expected number of Hamiltonian cycles on $G(n,p)$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Q2. What is the probability $Pr [G \textrm{ has a *unique* Hamiltonian cycle}]$ for the edge probability $p$ on $G(n,p)$?&lt;/p&gt;&#xA;" OwnerUserId="10888" LastEditorUserId="4795" LastEditDate="2012-10-08T13:54:34.743" LastActivityDate="2012-10-11T01:59:44.157" Title="Number of Hamiltonian cycles on random graphs" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;randomness&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12858" PostTypeId="1" CreationDate="2012-10-08T13:27:52.870" Score="5" ViewCount="253" Body="&lt;p&gt;Consider a two-dimensional random walk, but this time the probabilities are not $1/4$, but some values $p_1, p_2, p_3, p_4$ with $\sum_{i=1}^4 p_i=1$. For example, from $(0,0)$, it goes to $(1,0)$ with $p_1$, goes to $(0,1)$ with $p_2$ etc. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am interested in the probability $x$ of going back to (0,0), starting from (0,0). In general, this probability is not 1 (I guess that $x$ is not rational in general). The question is, given a probability threshold $r$, is it decidable that $x\geq r$?&lt;/p&gt;&#xA;" OwnerUserId="9203" LastEditorUserId="-1" LastEditDate="2012-10-21T04:08:52.620" LastActivityDate="2012-10-21T04:08:52.620" Title="Random walk returning probability" Tags="&lt;computability&gt;&lt;pr.probability&gt;&lt;random-walks&gt;&lt;decidability&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="12861" PostTypeId="2" ParentId="12855" CreationDate="2012-10-08T17:37:38.753" Score="6" Body="&lt;p&gt;Assuming that $p$ and $q$ are fairly large, one would expect that the expected length would mainly depend on the density, with some correction term depending on the perimeter. So it would, to first order, be a function of the following form.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$ L \approx (pqk)^{1/2} f(k/pq) + (p+q) g(k/pq).$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, you could use experiments on smaller-size problems to figure out what $f$ and $g$ are. First, to estimate $f$, you want to do experiments on a sample without a boundary: the easiest way to do this is to use a $p\times p$ grid with the left side connected to the right and the top to the bottom, forming a torus. To estimate $g$, you can use experiments on a $p \times q$ grid. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For estimation, you need to solve (exactly or approximately) relatively large TSPs, since the larger the ones you use for the estimation, the better your results will be. You could either use heuristics that come within a few percent, or exact TSP code. See &lt;a href=&quot;http://www2.research.att.com/~dsj/chtsp/index.html&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt; for some good heuristics. Bill Cook's &lt;a href=&quot;http://www.tsp.gatech.edu/concorde.html&quot; rel=&quot;nofollow&quot;&gt;Concorde&lt;/a&gt; TSP solver will find the exact optimum for reasonably large instances (it's the best TSP code available), and can be used without charge for academic research. &lt;/p&gt;&#xA;" OwnerUserId="1677" LastEditorUserId="1677" LastEditDate="2012-10-09T13:08:13.863" LastActivityDate="2012-10-09T13:08:13.863" CommentCount="13" ContentLicense="CC BY-SA 3.0" />
  <row Id="12862" PostTypeId="2" ParentId="12849" CreationDate="2012-10-08T18:39:45.067" Score="5" Body="&lt;p&gt;I wasn't sure what you were asking in Rev 1 of the question, but in Rev 4 you've added a more precise question that I can answer:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Can I get quadratic speed-up e.g. for finding a satisfying assignment to some quantified formular $\forall x \exists y\; \varphi(x,y)$? &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Before that question can be answered, we have to make the model precise. We can think of Grover's algorithm as solving the following problem: $\exists x\; \varphi(x)$? &#xA;In this model you only have access to $\varphi(\cdot)$ through an oracle who will evaluate it at any input you like. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;So another way of thinking of the same problem is that Grover's algorithm evaluates the following formula: $\varphi(1) \vee \varphi(2) \vee \ldots \vee  \varphi(N)$. &#xA;And this can be done in $O(\sqrt{N})$ queries, where it would need $N$ queries (deterministically) and $\Omega(N)$ (bounded-error) classically.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Similarly, $\forall x \exists y\; \varphi(x,y)$ can be written as a formula using only AND, OR and NOT over the variables $\varphi(i)$. In fact, it is a formula in which every variable appears exactly once (such formulas are called &quot;read-once&quot;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A very general result in quantum algorithms says that any read-once formula over the gate set {AND, OR, NOT} over $N$ variables can be evaluated in $O(\sqrt{N})$ queries. This result has a long history, beginning with generalizations of Grover's algorithm to handle bounded-error inputs, a breakthrough result of Farhi, Goldstone, and Gutmann (&lt;a href=&quot;http://www.scottaaronson.com/blog/?p=207&quot;&gt;Scott Aaronson's blog post&lt;/a&gt;), a beautiful connection with span programs, an SDP characterization of quantum query complexity, etc. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The final $O(\sqrt{N})$ bound for any read-once formula over that gate set is from &quot;Reichardt, B.: Reﬂections for quantum query algorithms. In: 22nd SODA. (2011) 560–569&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This almost answers the quantum part of your question, unless I've misunderstood it. However the classical query complexity of read-once formulas isn't well understood, so I can't tell you whether you always get a provable quadratic speed up or not.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Sometimes you do get a quadratic speedup, as in Grover's algorithm. If the formula is balanced and each gate has fanin 2, i.e., if it looks like $\forall x_1 \exists x_2 \forall x_3 \ldots \varphi(x_1, \ldots x_n)$, then the best classical algorithm, which happens to be a zero-error randomized algorithm, needs $O(N^{0.753})$ queries, so it's not really a quadratic speedup.&lt;/p&gt;&#xA;" OwnerUserId="206" LastActivityDate="2012-10-08T18:39:45.067" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="12865" PostTypeId="1" AcceptedAnswerId="12866" CreationDate="2012-10-09T05:34:48.583" Score="19" ViewCount="720" Body="&lt;p&gt;Can we compute an &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt;-bit threshold gate by polynomial size (unbounded fan-in) circuits of depth &lt;span class=&quot;math-container&quot;&gt;$\frac{\lg n}{\lg \lg n}$&lt;/span&gt;? Alternatively, can we count the number of 1s in the input bits using these circuits?&lt;/p&gt;&#xA;&lt;p&gt;Is &lt;span class=&quot;math-container&quot;&gt;$\mathsf{TC^0} \subseteq \mathsf{AltTime}(O(\frac{\lg n}{\lg  \lg n}), O(\lg n))$&lt;/span&gt;?&lt;/p&gt;&#xA;&lt;hr /&gt;&#xA;&lt;p&gt;Note that &lt;span class=&quot;math-container&quot;&gt;$\mathsf{TC^0} \subseteq \mathsf{NC^1} = \mathsf{ALogTime} = \mathsf{AltTime}(O(\lg n), O(\lg n))$&lt;/span&gt;. So the question is essentially asking if we can save a &lt;span class=&quot;math-container&quot;&gt;$\lg \lg n$&lt;/span&gt; factor in the depth of circuits when computing threshold gates.&lt;/p&gt;&#xA;&lt;hr /&gt;&#xA;&lt;h3&gt;Edit:&lt;/h3&gt;&#xA;&lt;p&gt;As Kristoffer wrote in his answer we can save a &lt;span class=&quot;math-container&quot;&gt;$\lg \lg n$&lt;/span&gt; factor. But can we save a little bit more? Can we replace &lt;span class=&quot;math-container&quot;&gt;$O(\frac{\lg n}{\lg \lg n})$&lt;/span&gt; with &lt;span class=&quot;math-container&quot;&gt;$o(\frac{\lg n}{\lg \lg n})$&lt;/span&gt;?&lt;/p&gt;&#xA;&lt;p&gt;It seems to me that the layered brute-force trick doesn't work for saving even &lt;span class=&quot;math-container&quot;&gt;$2 \lg \lg n$&lt;/span&gt; (more generally any function in &lt;span class=&quot;math-container&quot;&gt;$\lg \lg n + \omega(1)$&lt;/span&gt;).&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2013-07-03T18:35:41.500" Title="Can we count in depth $\frac{\lg n}{\lg \lg n}$?" Tags="&lt;cc.complexity-theory&gt;&lt;circuit-complexity&gt;&lt;circuit-depth&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="12866" PostTypeId="2" ParentId="12865" CreationDate="2012-10-09T09:26:06.263" Score="22" Body="&lt;p&gt;Consider a fanin 2 circuit of $C$ depth $O(\log n)$. Divide the layers of $C$ into $O(\log n/\log\log n)$ blocks each of $\log\log n$ consecutive layers. We now wish to replace each block by a depth 2 circuit. Namely, each gate in the last layer of a block depends on at most $2^{\log\log n} = \log n$ gates of the last layer in the block below. We can thus replace each gate in the last layer by a DNF of polynomial size with inputs being the gates in the last layer of the block below. Doing this for all gates in the last layers for all blocks and connecting these should yield the desired circuit.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let me note this is essentially the best one can obtain: the switching lemma allows for lower bounds all the way to depth $\log n/ \log\log n$.&lt;/p&gt;&#xA;" OwnerUserId="313" LastEditorUserId="313" LastEditDate="2012-10-09T15:49:47.797" LastActivityDate="2012-10-09T15:49:47.797" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="12868" PostTypeId="1" CreationDate="2012-10-09T12:28:10.560" Score="0" ViewCount="160" Body="&lt;p&gt;I am doing implicit Buchi determination for LTL logic in hardware where the combinational logic represents the set of states. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;But instead of using acceptance states, I am using final state (as in NFA). Using this approach it seems that I can synthesize all co-safety  and safety properties.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is my assumption wrong?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;In their paper &quot;Model-checking for safety properties&quot; Orna kupferman and vardi prove that finite alternating automata which is obtained by redefining the set of accepting states as empty states can monitor all the informative prefixes for safety, co-sfety properties. So in my algorithm I construct Buchi automata for LTL property(negation) and define the accepatnce set as the empty set(unconditionally accepting state) in it.   So my question can be reframed as &quot;Is the assumption that the definition of acceptance set as empty in alternating automaton is equivalent to defining acceptance set in Buchi automata as empty and hence the Buchi automata recognizes all the prefixes recognized by finite alternating automata&quot;?&#xA;Thanks for all the suggestions and reply.&lt;em&gt;*&lt;/em&gt;**&lt;/strong&gt; &lt;/p&gt;&#xA;" OwnerUserId="11005" LastEditorUserId="11005" LastEditDate="2013-02-14T05:21:14.150" LastActivityDate="2013-02-14T05:21:14.150" Title="Implicit Non-deterministic Buchi determinization" Tags="&lt;lo.logic&gt;&lt;fl.formal-languages&gt;&lt;automata-theory&gt;&lt;linear-temporal-logic&gt;" AnswerCount="1" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="12870" PostTypeId="1" AcceptedAnswerId="12897" CreationDate="2012-10-09T14:34:10.870" Score="4" ViewCount="501" Body="&lt;p&gt;While CS theorists pursue the beauty and unity of their mathematical theories, their results can have a practical and industrial impact.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As we know, P versus NP is often talked about with its relation to public crypto. systems. Moreover, streaming algorithms often directly lead to industrial benefits. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there any possible research direction that would satisfy the following conditions? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;(1)Solving problems in this area of TCS would lead to a fundamental change in our society.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(2)It would be required to understand other academic subjects (such as physics or electronics) to solve problems related to this TCS field. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am afraid that this question is not appropriate for this stack exchange, but please forgive me if it is.  &lt;/p&gt;&#xA;" OwnerUserId="10888" LastEditorUserId="12438" LastEditDate="2012-11-09T18:19:33.210" LastActivityDate="2012-11-09T18:19:33.210" Title="TCS Research Frontier with Huge Practical and Industrial Impact on our Society" Tags="&lt;soft-question&gt;" AnswerCount="4" CommentCount="1" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="12871" PostTypeId="1" CreationDate="2012-10-09T15:11:38.250" Score="7" ViewCount="245" Body="&lt;p&gt;Have there been any results on lower bounds for implementing data structures on Turing machines, e.g. stacks, queues, etc ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I guess that people are mostly interested in models with random access, but I still wonder.&lt;/p&gt;&#xA;" OwnerUserId="11008" LastEditorUserId="-1" LastEditDate="2012-10-21T03:56:24.420" LastActivityDate="2012-10-21T03:56:24.420" Title="Data structures lower bounds on Turing machines" Tags="&lt;cc.complexity-theory&gt;&lt;ds.data-structures&gt;&lt;lower-bounds&gt;&lt;turing-machines&gt;" AnswerCount="0" CommentCount="2" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="12872" PostTypeId="1" CreationDate="2012-10-09T15:24:47.750" Score="11" ViewCount="374" Body="&lt;p&gt;What kind of hierarchy theorems are there for circuit depth?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Statements like&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;if $g(n) \in o(f(n))$ and $f(n) \in n^{O(1)}$ then&#xA;  $\mathsf{SizeDepth}(n^{O(1)}, g(n)) \subsetneq \mathsf{SizeDepth}(n^{O(1)}, f(n))$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="186" LastActivityDate="2012-10-10T03:47:13.460" Title="Hierarchy theorems for circuit depth" Tags="&lt;cc.complexity-theory&gt;&lt;circuit-complexity&gt;&lt;hierarchy-theorems&gt;&lt;circuit-depth&gt;" AnswerCount="2" CommentCount="3" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="12873" PostTypeId="2" ParentId="12870" CreationDate="2012-10-09T15:36:56.813" Score="13" Body="&lt;p&gt;There are many examples of theoretical research that had a big impact on society, e.g., the RSA cryptosystem, the algorithm behind Google search, the algorithmic ideas behind Akamai, etc.&#xA;But the thing with basic research is that it's hard to know in advance what's going to be influential, when and how.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One potential candidate could be quantum computing, which has strong ties to both physics and electronics, and could make a huge difference (allowing efficient simulations of quantum systems, breaking RSA, and more). However, it's hard to know when quantum computers will be built (if at all).&lt;/p&gt;&#xA;" OwnerUserId="1621" LastActivityDate="2012-10-09T15:36:56.813" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12874" PostTypeId="2" ParentId="12870" CreationDate="2012-10-09T16:51:05.853" Score="5" Body="&lt;p&gt;Fields such as bioinformatics and computational biology could fundamentally change the way we live since it may lead to revolutions in drugs manufacturing, disease prevention and treatment, and possibly synthetic biology. Currently, there is no formal language in TCS that explains how DNA code controls the functions of biological systems. There is no theory in TCS that determines the functions of some DNA segment. Research progress in those fields would have huge impact on medicine, biology and therefore society.&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2012-10-09T17:51:10.810" LastActivityDate="2012-10-09T17:51:10.810" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12875" PostTypeId="1" AcceptedAnswerId="12878" CreationDate="2012-10-09T16:54:07.000" Score="8" ViewCount="305" Body="&lt;p&gt;I have two totally distinct domains (apples and oranges) and I have a function $f$ that takes a set of objects from the first domain and a set of objects from the second domain and returns a real number.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$f(S,T)$ has the following interesting properties:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;fixing $T$, it is non-negative, submodular and monotone w.r.t. $S$;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;fixing $S$, it is non-negative, submodular and monotone w.r.t. $T$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I want to maximize $f(S,T)$ with two cardinality constraints $|S| = s$ and $|T| = t$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;How can I do that?&#xA;If I consider the product space, the function is monotone and submodular.&#xA;Thus I can apply the standard greedy algorithm. &#xA;Dealing with the two different size constraints, might not be an issue: adding $(a, x)$ and $(a, y)$ in sequence allows me to increase $|T|$ without increasing $|S|$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The question is whether the $1-1/e$ approximation still holds.&lt;/p&gt;&#xA;" OwnerUserId="11010" LastEditorUserId="-1" LastEditDate="2012-10-21T03:52:57.593" LastActivityDate="2012-10-21T03:52:57.593" Title="Maximizing a submodular function of two sets with different size constraints" Tags="&lt;ds.algorithms&gt;&lt;optimization&gt;&lt;submodularity&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="12878" PostTypeId="2" ParentId="12875" CreationDate="2012-10-10T01:52:37.707" Score="10" Body="&lt;p&gt;The problem is likely to be hard to approximate. The densest bipartite subgraph problem can be cast as a special case. Given a bipartite graph $(V,E)$ where $V=V_1 \uplus V_2$ define $f(S,T)$ for $S \subseteq V_1, T \subseteq V_2$ to be the number of edges between $S$ and $T$. Then $f$ satisfies the desired property. In fact $f(S,\cdot)$ is modular and so is $f(\cdot,T)$. If $a=b=k$ then we are asking for a $k$ by $k$ densest bipartite subgraph problem. Only a polynomial ratio approximation is known, and under some assumptions this problem can be shown to be hard. &lt;/p&gt;&#xA;" OwnerUserId="176" LastActivityDate="2012-10-10T01:52:37.707" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12879" PostTypeId="2" ParentId="12872" CreationDate="2012-10-10T03:06:24.223" Score="8" Body="&lt;p&gt;A paper of Klawe, Paul, Pippenger, and Yannakakis gives an hierarchy theorem for constant depth monotone formulas:&#xA;&lt;a href=&quot;http://dl.acm.org/citation.cfm?id=808717&quot;&gt;http://dl.acm.org/citation.cfm?id=808717&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Specifically, for every $k$ it gives a function that can be computed by a formula of depth $k$ and size $n$ but requires formulas of depth $k-1$ of size $\exp(n^{1/k})$.&lt;/p&gt;&#xA;" OwnerUserId="8429" LastActivityDate="2012-10-10T03:06:24.223" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12880" PostTypeId="2" ParentId="12872" CreationDate="2012-10-10T03:47:13.460" Score="7" Body="&lt;p&gt;Raz and McKenzie, in &lt;a href=&quot;http://www.wisdom.weizmann.ac.il/~ranraz/publications/Pmonotone.ps&quot;&gt;Separation of the monotone NC hierarchy&lt;/a&gt;, show that the monotone NC hierarchy is strict, and separate monotone NC from monotone P.&lt;/p&gt;&#xA;" OwnerUserId="40" LastActivityDate="2012-10-10T03:47:13.460" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12881" PostTypeId="2" ParentId="9923" CreationDate="2012-10-10T04:50:33.833" Score="8" Body="&lt;p&gt;I'll give it a try on this. I'm going to use Yao's original notation. This way it will be easier to contrast with his paper and his definitions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $\mathcal{I}$ be a finite set of inputs, and let $\mathcal{A}_0$ be a finite set of deterministic algorithms that may fail to give a correct answer for some inputs. Let also $\epsilon(A,x)=0$ if $A$ gives the correct answer for $x$, and $\epsilon(A,x)=1$ otherwise. Also denote by $r(A,x)$ the number of queries made by $A$ on input $x$, or equivalently, the depth of $A$'s decision tree.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Average Cost:&lt;/strong&gt; Given a probability distribution $d$ on $\mathcal{I}$, the &lt;em&gt;average cost&lt;/em&gt; of an algorithm $A\in \mathcal{A}_0$ is $C(A,d)=\sum_{x\in\mathcal{I}} d(x)\cdot r(A,x)$.&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;&lt;strong&gt;Distributional Complexity:&lt;/strong&gt; Let $\lambda\in[0,1]$. For any distribution $d$ on the inputs, let $\beta(\lambda)$ be the subset of $\mathcal{A}_0$ given by $\beta(\lambda)=\{A : A\in \mathcal{A}_0, \sum_{x\in\mathcal{I}} d(x)\cdot \epsilon(A,x)\leq \lambda\}$. The distributional complexity with error $\lambda$ for a computational problem $P$ is defined as $F_{1,\lambda}(P)=\max_{d} \min_{A\in \beta(\lambda)} C(A,d)$.&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;&lt;strong&gt;$\lambda$-tolerance:&lt;/strong&gt; A distribution $q$ on the family $\mathcal{A}_0$ is $\lambda$-tolerant if $\max_{x\in \mathcal{I}} \sum_{A\in\mathcal{A}_0} q(A)\cdot \epsilon(A,x)\leq \lambda$.&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;&lt;strong&gt;Expected Cost:&lt;/strong&gt; For a randomized algorithm $R$, let $q$ be a probability distribution that is $\lambda$-tolerant on $\mathcal{A}_0$. The &lt;em&gt;expected cost&lt;/em&gt; of $R$ for a given input $x$ is $E(R,x)=\sum_{A\in \mathcal{A}_0} q(A)\cdot r(A,x)$.&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;&lt;strong&gt;Randomized Complexity:&lt;/strong&gt; Let $\lambda\in[0,1]$. The randomized complexity with error $\lambda$ is $F_{2,\lambda}=\min_R \max_{x\in\mathcal{I}} E(R,x)$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Now we are ready to go into business. What we want to prove is given a distribution $d$ on the inputs and a randomized algorithm $R$ (i.e., a distribution $q$ on $\mathcal{A}_0$) &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Yao's Minimax Principle for Montecarlo Algorithms&lt;/strong&gt; \begin{equation}\max_{x\in\mathcal{I}} E(R,x)\geq \frac{1}{2}\min_{A\in \beta(2\lambda)} C(A,d) \end{equation}&#xA;  for $\lambda\in[0,1/2]$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I will follow an approach given by &lt;a href=&quot;http://dl.acm.org/citation.cfm?doid=22145.22151&quot; rel=&quot;nofollow noreferrer&quot;&gt;Fich, Meyer auf der Heide, Ragde and Wigderson&lt;/a&gt; (see Lemma 4). Their approach does not yield a characterization for Las Vegas algorithms (only the lower bound), but it is sufficient for our purposes. From their proof, it easy to see that for any $\mathcal{A}_0$ and $\mathcal{I}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Claim 1.&lt;/strong&gt; $\max_{x\in \mathcal{I}} E(R,x)\geq \min_{A\in \mathcal{A}_0} C(A,d)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To get the correct numbers there, we'll do something similar. Given that the probability distribution $q$ given by the randomized algorithm $R$ is $\lambda$-tolerant on $\mathcal{A}_0$ we have that&#xA;\begin{align*}&#xA;\lambda	&amp;amp;\geq \max_{x\in \mathcal{I}}\left\{ \sum_{A\in\mathcal{A}_0} q(A)\cdot \epsilon(A,x) \right\}\\&#xA;		&amp;amp;\geq \sum_{x\in\mathcal{I}} d(x) \sum_{A\in \mathcal{A}_0} q(a)\cdot \epsilon(A,x)\\&#xA;		&amp;amp;= \sum_{A\in \mathcal{A}_0} q(a)\sum_{x\in\mathcal{I}} d(x) \cdot \epsilon(A,x)\\&#xA;		&amp;amp;\geq \min_{A\in \mathcal{A}_0}\left\{ \sum_{x\in\mathcal{I}} d(x) \cdot \epsilon(A,x) \right\}.&#xA;\end{align*}&#xA;If we replace the family $\mathcal{A}_0$ with $\beta(2\lambda)$ we see that&lt;/p&gt;&#xA;&#xA;&lt;p&gt;\begin{align*}&#xA;\lambda &amp;amp;\geq \max_{x\in \mathcal{I}}\left\{ \sum_{A\in\mathcal{A}_0} q(A)\cdot \epsilon(A,x) \right\}\\&#xA;     &amp;amp;\geq \max_{x\in \mathcal{I}}\left\{ \sum_{A\in\beta(2\lambda)} q(A)\cdot \epsilon(A,x) \right\}\\&#xA;     &amp;amp;\geq \sum_{x\in\mathcal{I}} d(x) \sum_{A\in \beta(2\lambda)} q(a)\cdot \epsilon(A,x)\\ &amp;amp;= \sum_{A\in \beta(2\lambda)} q(a)\sum_{x\in\mathcal{I}} d(x) \cdot \epsilon(A,x)\\&#xA;     &amp;amp;\geq \min_{A\in \beta(2\lambda)}\left\{ \frac{1}{2}\sum_{x\in\mathcal{I}} d(x) \cdot \epsilon(A,x) \right\},&#xA;\end{align*}&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where the second inequality follows because $\beta(2\lambda) \subseteq \mathcal{A}_0$, and the last inequality is given by the definition of $\beta(2\lambda)$ where the summation divided by 2 cannot be greater than $\lambda$. Hence, &#xA;\begin{equation}\max_{x\in \mathcal{I}}\left\{ \sum_{A\in\mathcal{A}_0} q(A)\cdot \epsilon(A,x) \right\}\geq\frac{1}{2} \min_{A\in \beta(2\lambda)}\left\{ \sum_{x\in\mathcal{I}} d(x) \cdot \epsilon(A,x) \right\}. \end{equation}&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By noting that $\epsilon$ maps to $\{0,1\}$ and $r$ maps to $\mathbb{N}$ and Claim 1 above, now we can safely replace the function $\epsilon$ in the inequality above by $r(A,x)$ to obtain the desired inequality.&lt;/p&gt;&#xA;" OwnerUserId="135" LastEditorUserId="20340" LastEditDate="2017-12-12T09:31:11.850" LastActivityDate="2017-12-12T09:31:11.850" CommentCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="12882" PostTypeId="1" CreationDate="2012-10-10T06:40:11.310" Score="11" ViewCount="256" Body="&lt;p&gt;What is currently known about the approximability of the genus problem? A preliminary search tells me that a constant factor approximation is trivial for sufficiently dense graphs, and an $n^\epsilon$-approximation algorithm has been ruled out. Is this information up-to-date, or are there better bounds known?&lt;/p&gt;&#xA;" OwnerDisplayName="user1694" LastActivityDate="2012-10-13T01:38:02.447" Title="Approximability of the genus problem" Tags="&lt;cc.complexity-theory&gt;&lt;approximation-hardness&gt;&lt;topological-graph-theory&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12885" PostTypeId="1" CreationDate="2012-10-10T08:23:09.380" Score="6" ViewCount="4026" Body="&lt;p&gt;I am looking for the method / correct way to approach to reduce the traveling salesman problem to an instance of traveling salesman problem which satisfies the triangle inequality, ie:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$D(a, b) \leq D(a, c) + D(c, b)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am not sure how to attack this kind of problem, so any pointers / explanations regarding this would be helpful. Thank you.&lt;/p&gt;&#xA;" OwnerUserId="11021" LastEditorUserId="-1" LastEditDate="2012-10-21T03:52:55.037" LastActivityDate="2012-10-23T18:24:13.263" Title="Guidelines to reduce general TSP to Triangle TSP" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;&lt;np&gt;&lt;tsp&gt;&lt;hamiltonian-paths&gt;" AnswerCount="1" CommentCount="6" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="12886" PostTypeId="1" CreationDate="2012-10-10T13:03:51.270" Score="3" ViewCount="333" Body="&lt;p&gt;I am really curious what the best-known inapproximability result is for MIN-3CNF-DELETION. To clarify, this is the problem of minimizing the number of unsatisfied clauses in a CNF&#xA;SAT formula with at most 3 literals per clause. The objective function is the number of unsatisfied clauses. The strongest hardness result I have been able to find is that of MIN-HORN-DELETION, which is a restricted variant of MIN-3CNF-DELETION. As far as I know the best-known inapproximability result for MIN-HORN-DELETION is that which is given in The Approximability of Constraint Satisfaction Problems by Khanna et al (2000). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, I have not yet been able to find explicit references to MIN-3CNF-DELETION. Is it even harder than MIN-HORN-DELETION? In which case, what is the best known inapproximability threshhold? Any feedback would be most welcome. Thanks!&lt;/p&gt;&#xA;" OwnerUserId="11023" LastEditorUserId="-1" LastEditDate="2012-10-21T03:52:52.210" LastActivityDate="2012-10-21T03:52:52.210" Title="What is the best-known inapproximability result for MIN-3CNF-DELETION?" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;sat&gt;&lt;approximation-hardness&gt;" AnswerCount="2" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="12889" PostTypeId="2" ParentId="12858" CreationDate="2012-10-10T15:13:14.777" Score="4" Body="&lt;p&gt;this ref covers it. &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;In sections 5 &amp;amp; 6 we use the elliptic integral to express the probability, less than one, that certain biased random walks return to the origin. The probability of a return to the origin for these walks can then be computed accurately and easily using Gauss' arithmetic-geometric mean (AGM) method to evaluate the elliptic integral.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;[1] &lt;a href=&quot;http://www.jstor.org/stable/2323770&quot; rel=&quot;nofollow&quot;&gt;Recurrence of Simple Random Walk in the Plane&lt;/a&gt;&#xA;Terence R. Shore and Douglas B. Tyler&#xA;The American Mathematical Monthly&#xA;Vol. 100, No. 2 (Feb., 1993), pp. 144-149&lt;/p&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2012-10-10T15:13:14.777" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12890" PostTypeId="2" ParentId="12857" CreationDate="2012-10-10T15:13:38.837" Score="7" Body="&lt;p&gt;As Yuval said, Q1 is easy to answer using linearity of expectation (spoiler: $(n-1)!p^n$) . I don't know the exact answer to Q2, but it might be good enough if you know it's very low: for the range of $p$ where there is at least one cycle, it holds that $P[\text{there is more than one cycle} | \text{there is at least one cycle}]&amp;gt;1-1/n^{\log n}$ or so. In other words, once there is one cycle, there are many. The reason is that once there is one cycle, there are around $n^2$ ways to create another cycle from it by exchanging two edges of the cycle by the two &quot;crossing&quot; edges (this is called a &quot;2-flip&quot; or something in some of the relevant literature). For any pair of edges, the chance you can do that is $p^2$. So for all of these to fail, the chance is $(1-p^2)^{n^2}$ which is roughly $e^{-(pn)^2}$, which is pretty tiny.&lt;/p&gt;&#xA;" OwnerUserId="11029" LastEditorUserId="40" LastEditDate="2012-10-11T01:59:44.157" LastActivityDate="2012-10-11T01:59:44.157" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12891" PostTypeId="2" ParentId="12886" CreationDate="2012-10-10T16:01:45.427" Score="8" Body="&lt;p&gt;There is no approximation algorithm for MIN-3CNF-DELETION at all since it is not even possible to determine in polynomial time whether a 3 CNF SAT instance is satisfiable or not (if P≠NP). That is, it is not possible to determine if the objective function is equal to 0 or strictly positive. Specifically, if we had an $f(n)$ approximation algorithm for the problem, given a satisfiable instance the algorithm would find a solution of cost $0 \cdot f(n) = 0$ ; that is, a solution that satisfies the instance. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In contrast, if an instance of Min-Horn-Deletion or Min-2CNF-Deletion is (completely) satisfiable, we can efficiently find a solution that satisfies all clauses. Thus it makes sense to talk about approximation algorithms for Min-Horn-Deletion and Min-2CNF-Deletion.&lt;/p&gt;&#xA;" OwnerUserId="9929" LastEditorUserId="9929" LastEditDate="2012-10-10T16:17:57.230" LastActivityDate="2012-10-10T16:17:57.230" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="12892" PostTypeId="1" AcceptedAnswerId="12895" CreationDate="2012-10-10T17:21:14.797" Score="9" ViewCount="305" Body="&lt;p&gt;Suppose Alice has a distribution $\mu$ over a finite (but possibly very large) domain, such that the (Shannon) entropy of $\mu$ is upper bounded by an arbitrarily small constant $\varepsilon$. Alice draws a value $x$ from $\mu$, and then asks Bob (who knows $\mu$) to guess $x$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is the success probability for Bob? If he is only allowed one guess, then one can lower bound this probability as follows: the entropy upper bounds the min-entropy, so there is an element that has probability of at least $2^{-\varepsilon}$. If Bob chooses this element as his guess, his success probability will be $2^{-\varepsilon}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, suppose that Bob is allowed to make multiple guesses, say $t$ guesses, and Bob wins if one of his guesses is correct. Is there a guessing scheme that improves Bob's success probability? In particular, is it possible to show that Bob's &lt;em&gt;failure&lt;/em&gt; probability decreases exponentially with $t$?&lt;/p&gt;&#xA;" OwnerUserId="8429" LastActivityDate="2012-10-12T02:19:28.460" Title="Guessing a low entropy value in multiple attempts" Tags="&lt;it.information-theory&gt;&lt;pr.probability&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12893" PostTypeId="2" ParentId="2908" CreationDate="2012-10-10T19:52:03.420" Score="2" Body="&lt;p&gt;Colin Cooper and Alan Frieze have a set of results in the context of random digraphs that might be of interest. They study the properties of a simple random walk on the random directed graph $D_{n,p}$ when $np=d \log n, d&amp;gt;1$. They have proved that:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;For $d &amp;gt; 1$, whp the cover time of $D_{n,p}$ is asymptotic to $d \log (d/(d-1)) n \log n$. If $d=d(n) \rightarrow \infty$ with $n$, the cover time is asymptotic to $n \log n$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;If $p = d \log n/n$ and $d&amp;gt;1$ then whp $C_{G_{n,p}} \sim d \log (d/(d-1)) n \log n$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Let $d&amp;gt;1$ and let $x$ denote the solution in $(0,1)$ of $x = 1-e^{-dx}$. Let $X_g$ be the giant component of $G_{n,p},p=d/n$. Then whp $C_{X_g} \sim \dfrac{dx(2-x)}{4(dx-\log d)} n (\log n)^2$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;If $r \geq 3$ is a constant and $G_{n,r}$ denotes a random $r$-regular graph on vertex set $[n]$ with $r \geq 3$ then whp $C_{G_{n,r}} \sim \dfrac{r-1}{r-2} n \log n$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;If $m \geq 2$ is a constant and $G_m$ denotes a preferential attachment graph on average degree $2m$ then whp $C_{G_m} \sim \dfrac{2m}{m-1} n \log n$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;If $k \geq 3$ and $G_{r,k}$ is a random geometric graph in $\mathcal{R}^k$ of ball size $r$ such that the expected degree of a vertex is asymptotic to $d \log n$, then whp $C_{G_{r,k}} \sim d \log ( \dfrac{d}{d-1}) n \log n$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;See &lt;a href=&quot;http://arxiv.org/pdf/1103.4317v1.pdf&quot; rel=&quot;nofollow&quot;&gt;Cooper, C., &amp;amp; Frieze, A. Stationary distribution and cover time of random walks on random digraphs. Journal of Combinatorial Theory, Series B. (2011).&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="5693" LastActivityDate="2012-10-10T19:52:03.420" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12895" PostTypeId="2" ParentId="12892" CreationDate="2012-10-10T21:18:52.663" Score="10" Body="&lt;p&gt;Bob's best bet is to guess the $t$ values with largest probability.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you're willing to use Rényi entropy instead, Proposition 17 in Boztaş' &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.26.8601&quot;&gt;Entropies, Guessing and Cryptography&lt;/a&gt; states that the error probability after $t$ guesses is at most&#xA;$$ 1 - 2^{-H_2(\mu)\left(1-\frac{\log t}{\log n}\right)} \approx \ln 2 \left(1-\frac{\log t}{\log n}\right) H_2(\mu), $$&#xA;where $n$ is the size of the domain. Granted, the dependency on $t$ is pretty bad, and perhaps Boztaş was focused on a different regime of the entropy.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the Shannon entropy, you can try to solve the dual optimization problem: given a fixed failure probability $\delta$, find the maximal entropy of such a distribution. Using the convexity of $-x\log x$, we know that the distribution $\mu$ has the form $a,b,\ldots,b;b,\ldots,b,c$, where $a\geq b\geq c$, $a+(t-1)b = 1-\delta$, and $c = \delta-\lfloor\frac{\delta}{b}\rfloor b$. We have $t-1+\lfloor\frac{\delta}{b}\rfloor$ values that get probability $b$. Conditioning on $s = \lfloor\frac{\delta}{b}\rfloor$, we can try to find $b$ which minimizes the entropy. For the correct value of $s$, this will be an internal point (at which the derivative vanishes). I'm not sure how to get asymptotic estimates using this approach.&lt;/p&gt;&#xA;" OwnerUserId="40" LastActivityDate="2012-10-10T21:18:52.663" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="12896" PostTypeId="1" AcceptedAnswerId="12900" CreationDate="2012-10-10T22:04:58.350" Score="16" ViewCount="908" Body="&lt;p&gt;In the rectangle packing problem, one is given a set of rectangles $\{r_1,\dots,r_n\}$ and bounding rectangle $R$.  The task is to find a placement of  $r_1,\ldots,r_n$ inside $R$ such that none of the $n$ rectangles overlap.&#xA;Generally, the orientation of each rectangle $r_i$ is fixed.  That is, the rectangles cannot be rotated.  In this case, the problem is known to be NP-complete (see, e.g., &lt;a href=&quot;http://www.aaai.org/Papers/ICAPS/2003/ICAPS03-029&quot;&gt;Korp 2003&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;What is the complexity of the rectangle packing problem if rectangles can be rotated by $90$ degrees?&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Intuitively, allowing rotations should only make the problem harder since one should first choose an orientation for each rectangle, and then solve the no-rotation packing problem.  But the NP-hardness proof of the no-rotation case is a reduction from bin-packing and seems to critically depend on the fixed orientation of each rectangle in order to construct the bins.&#xA;I have not been able to find a corresponding NP-hardness proof for the case in which rotations are allowed.&lt;/p&gt;&#xA;" OwnerUserId="1040" LastActivityDate="2012-10-10T22:37:07.910" Title="What is the complexity of rectangle packing when rotations are allowed?" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;&lt;packing&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12897" PostTypeId="2" ParentId="12870" CreationDate="2012-10-10T22:21:45.230" Score="2" Body="&lt;p&gt;Just like quantum-computing, I suppose DNA-computing throws in a significantly different physical model of computing (ability to self-replicate). In principle that should stimulate significant cross research between theory and practice.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another potential area is Goemetric Complexity Theory. At this point, of course it is probably the most abstruse area, and no one knows how the final shape will look like. But as Ketan Mulmuley had pointed out in one of his talks (I'll update the reference if I can find it) - that any success of GCT (or any P/NP separation work for that matter) will actually result in establishing the significant largeness of the class P - i.e., to successfully show complexity class separation and avoid Razborov-Rudich-type (or Aaronson-Wigderson-type ) barriers at the same time, one needs algorithms to solve problems for which at present only doubly or triply exponential solutions are known at best. If polynomial time algorithms are discovered, that could be a potential game-changer in many applied areas as well. &lt;/p&gt;&#xA;" OwnerUserId="5868" LastEditorUserId="5868" LastEditDate="2012-10-10T23:02:56.097" LastActivityDate="2012-10-10T23:02:56.097" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12898" PostTypeId="1" AcceptedAnswerId="12902" CreationDate="2012-10-10T22:26:09.760" Score="18" ViewCount="494" Body="&lt;p&gt;A &lt;em&gt;frame rule&lt;/em&gt;, like the one given below, captures the idea that, given a program &lt;code&gt;c&lt;/code&gt; with precondition &lt;code&gt;p&lt;/code&gt; that holds before it runs and postcondition &lt;code&gt;q&lt;/code&gt; that holds afterward, some disjoint condition &lt;code&gt;r&lt;/code&gt; should hold both before and after &lt;code&gt;c&lt;/code&gt; runs.  (The &lt;code&gt;*&lt;/code&gt; connective requires that its arguments be disjoint.)  Often, the pre- and postconditions are states of a heap, and &lt;code&gt;c&lt;/code&gt; is an effectful program that modifies the heap in some way.&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;    {p} c {q}&#xA;----------------- (where no free variable in r is modified by c)&#xA;{p * r} c {q * r}&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Discussions of the frame rule that I've seen always seem to focus on how the disjoint part of the heap, &lt;code&gt;r&lt;/code&gt;, is preserved.  This enables &quot;local reasoning&quot;: when reasoning about the effect that &lt;code&gt;c&lt;/code&gt; has, we can disregard the &lt;code&gt;r&lt;/code&gt; part of the heap and only concern ourselves with the part that actually changes.  But another way to look at it is that the &lt;em&gt;change from &lt;code&gt;p&lt;/code&gt; to &lt;code&gt;q&lt;/code&gt;&lt;/em&gt; is preserved, even though &lt;code&gt;r&lt;/code&gt; is now sitting there.  In other words, it's important that we end up with the postcondition &lt;code&gt;{q * r}&lt;/code&gt;, rather than &lt;code&gt;{q' * r}&lt;/code&gt; for some other &lt;code&gt;q'&lt;/code&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, my question is whether there's any treatment of the frame rule that discusses or makes use of the preservation-of-change-from-&lt;code&gt;p&lt;/code&gt;-to-&lt;code&gt;q&lt;/code&gt; thing.&lt;/p&gt;&#xA;" OwnerUserId="7638" LastEditorUserId="8519" LastEditDate="2012-10-12T13:25:27.573" LastActivityDate="2012-10-12T13:25:27.573" Title="Frame rule as a change-preserver?" Tags="&lt;lo.logic&gt;&lt;pl.programming-languages&gt;&lt;program-logic&gt;" AnswerCount="3" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12899" PostTypeId="2" ParentId="12882" CreationDate="2012-10-10T22:28:42.850" Score="8" Body="&lt;p&gt;The best published results all appear in a &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0020019097002032&quot; rel=&quot;nofollow&quot;&gt;1997 paper&lt;/a&gt; by Jianer Chen, Saroja P. Kanchi, and Arkady Kanevsky.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;For any fixed $\varepsilon&amp;gt;0$, computing the genus of a graph with &lt;em&gt;additive&lt;/em&gt; error $O(n^\varepsilon)$ is NP-hard.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;There is a trivial linear-time algorithm to embed any $n$-vertex graph of (unknown) genus $g$ on an orientable surface of genus $\max\{4g, g+4n\}$: Assign an &lt;em&gt;arbitrary&lt;/em&gt; cyclic order to the edges leaving each vertex (keeping loops and parallel edges together).  In other words, when the genus is large, &lt;em&gt;every&lt;/em&gt; embedding is a good approximation of the &lt;em&gt;best&lt;/em&gt; embedding.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;There is a polynomial-time $O(\sqrt{n})$-approximation algorithm for bounded-degree graphs.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;It is an open question whether there is an efficient constant-factor approximation algorithm.&lt;/p&gt;&#xA;" OwnerUserId="111" LastEditorUserId="111" LastEditDate="2012-10-13T01:38:02.447" LastActivityDate="2012-10-13T01:38:02.447" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="12900" PostTypeId="2" ParentId="12896" CreationDate="2012-10-10T22:37:07.910" Score="12" Body="&lt;p&gt;We can reduce the no-rotations packing problem to the rotations-allowed packing problem as follows.  Take any instance $(R, r_1, r_2, \dots, r_n)$ of the no-rotation problem.  Vertically scale the entire instance by twice the ratio of the smallest width of any rectangle $r_i$ divided by the height of the container rectangle $R$.  (This ratio has a polynomial number of bits, so the transformation can be executed in polynomial time.)  Each scaled rectangle $r'\!\!_i$ fits inside the scaled container $R'$ only in its original orientation, so allowing rotations adds no new solutions.&lt;/p&gt;&#xA;" OwnerUserId="111" LastActivityDate="2012-10-10T22:37:07.910" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12901" PostTypeId="2" ParentId="12898" CreationDate="2012-10-11T00:25:29.080" Score="2" Body="&lt;p&gt;While not 100% related, this has the flavor of contract idempotence. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we think of {p} as a pre-condition on c and {q} as a post-condition on c, this idea of a frame rule would ensure that the pre- and post-conditions hold in every context of computation, not the simple case where nothing else exists.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;That said, I cannot say that I've seen such a frame rule presented in any of the dozens of contract papers I have read. It's certainly a great idea, though, and requiring such a change may do a lot toward developing a reasonable, tangible understanding of &lt;em&gt;idempotent&lt;/em&gt; contracts.&lt;/p&gt;&#xA;" OwnerUserId="11034" LastActivityDate="2012-10-11T00:25:29.080" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12902" PostTypeId="2" ParentId="12898" CreationDate="2012-10-11T02:09:17.727" Score="11" Body="&lt;p&gt;But this no-change-to-&lt;code&gt;q&lt;/code&gt; property does not actually hold!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider &lt;code&gt;{emp} x := alloc(0) {x |-&amp;gt; 0}&lt;/code&gt;.  Now, if I frame in &lt;code&gt;y |-&amp;gt; 3&lt;/code&gt;, I get&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;code&gt;{y |-&amp;gt; 3} x := alloc(0) {x |-&amp;gt; 0 * y |-&amp;gt; 3}&lt;/code&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;but, by the rule of consequence, I could change the postcondition to&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;code&gt;{y |-&amp;gt; 3} x := alloc(0) {(x |-&amp;gt; 0 /\ x != y) * y |-&amp;gt; 3}&lt;/code&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To make this more concrete, suppose &lt;code&gt;y&lt;/code&gt; is the number &lt;code&gt;37&lt;/code&gt;.  When I run the allocation command in a completely empty heap, it's possible that I will end up allocating address &lt;code&gt;37&lt;/code&gt;, so that &lt;code&gt;x = 37&lt;/code&gt;.  But, if I instead start with a heap containing a single cell at address &lt;code&gt;y = 37&lt;/code&gt;, this outcome is no longer possible!  Adding a frame to the precondition has pruned some of the nondeterminism in the postcondition.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The paper &quot;Local action and abstract separation logic&quot; (Calcagno, O'Hearn, and Yang) is all about understanding the frame rule from a deeper, semantic perspective.  The key definition of the paper is &lt;em&gt;locality&lt;/em&gt; for &quot;actions&quot;, where an action is (the semantic representation of) a program.  Locality says that when you add in some frame heap, the &lt;em&gt;only&lt;/em&gt; way that the original postcondition can be changed is by pruning some nondeterminism as above.  And, in fact, pruning only arises because of allocation.&lt;/p&gt;&#xA;" OwnerUserId="11038" LastActivityDate="2012-10-11T02:09:17.727" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="12903" PostTypeId="1" CreationDate="2012-10-11T06:39:53.833" Score="4" ViewCount="130" Body="&lt;p&gt;We require a lower message complexity bound of an asynchronous distributed algorithm that do the following: &#xA;Given a undirected ring, with $n$ vertices, we want to let each node direct its edges to form a directed cycle in the ring. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;That is: if our ring is : a-b-c-d-a ---&gt; then we want our result to be a-&gt;b-&gt;c-&gt;d-&gt;a &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that the nodes in the ring do not have a common definition of left and right .. that is, the left of node a may be the right of node b etc .. (this is why the problem is difficult)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think that the lower bound is $\Omega(n\log n)$ - similar to the election problem. But I cannot prove it until now. &#xA;I was trying to prove it by contradiction with other known lower bounds. That is, if we can solve this problem, then we can solve problem A with a complexity lower than its known lower bound. I tried it with the election problem, it did not work obviously. &#xA;Any suggestions ? &lt;/p&gt;&#xA;" OwnerUserId="5411" LastEditorUserId="6785" LastEditDate="2012-10-17T08:03:45.207" LastActivityDate="2012-10-17T08:03:45.207" Title="Lower bound for orienting an asynchronous ring?" Tags="&lt;ds.algorithms&gt;&lt;graph-algorithms&gt;&lt;dc.distributed-comp&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12904" PostTypeId="2" ParentId="12903" CreationDate="2012-10-11T07:13:24.320" Score="2" Body="&lt;p&gt;&lt;em&gt;Edit: The answer below was written assuming that the ring is &lt;strong&gt;synchronous&lt;/strong&gt;.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that if node ids are chosen from some countable set and you don't care about time complexity, the $\Omega(n\log n)$ messages lower bound for electing a leader in a synchronous ring does not apply.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In that case, there's an $O(n)$ messages algorithm that solves your problem: First, elect a leader using the $O(n)$ time-slicing algorithm of [1], and then, as mentioned in your comment, use the leader to orient the ring. Moreover, $\Omega(n)$ seems to be a trivial lower bound: If $o(n)$ messages are being sent, then there is a segment of $2$ neighboring nodes that do not send/receive any messages throughout the run. By an indistinguishability argument, you can show that there is a run where you get conflicting orientations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] Greg N. Frederickson, Nancy A. Lynch: Electing a leader in a synchronous ring. J. ACM 34(1): 98-115 (1987)&lt;/p&gt;&#xA;" OwnerUserId="6785" LastEditorUserId="6785" LastEditDate="2012-10-11T07:40:27.940" LastActivityDate="2012-10-11T07:40:27.940" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12905" PostTypeId="1" AcceptedAnswerId="12912" CreationDate="2012-10-11T08:11:37.080" Score="15" ViewCount="1456" Body="&lt;p&gt;I recall seeing a study or article a while ago claiming that most of the speedup seen in computer programs over the last several decades is from better algorithms rather than faster hardware. Does anyone know the study or article?&lt;/p&gt;&#xA;" OwnerUserId="11042" LastEditorUserId="-1" LastEditDate="2012-10-21T03:52:46.687" LastActivityDate="2016-06-14T12:51:44.070" Title="Speedup from algorithmic advances vs. hardware" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;big-picture&gt;&lt;ar.hardware-architecture&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="12906" PostTypeId="2" ParentId="12898" CreationDate="2012-10-11T09:42:54.283" Score="11" Body="&lt;p&gt;First, there's a small misconception in the statement of your question, which&#xA;is what Aaron was also getting at in his answer. Predicates in separation logic are &lt;em&gt;sets of&lt;/em&gt; heaps (or equivalently, predicates on heaps), and the separating conjunction $P \ast Q$ is defined as:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;$$&#xA;P \ast R \triangleq \{h_1 \cdot h_2 \;|\; h_1 \in P \;\wedge\; h_2 \in R \;\wedge\; \mathrm{dom}(h_1) \cap \mathrm{dom}(h_2) = \emptyset\}&#xA;$$&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;So in the frame rule&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;$$&#xA;\frac{\{P\}c\{Q\}}{\{P\ast R\}c\{Q \ast R\}}&#xA;$$&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;$R$ (and $P$ and $Q$) are not talking about specific heaps --- they&#xA;are &lt;em&gt;properties&lt;/em&gt; of heaps (since subsets and predicates are equivalent).&#xA;The best way to understand what's going is by looking at the definition &#xA;of what it means for a Hoare triple to hold:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;$$&#xA;\{P\}c\{Q\} \triangleq \forall h_1 \in P.\; \forall h' \in \mathrm{Heap}\;\mbox{s.t.}\; h' \# h_1.\;\exists h_2 \in Q.\; \left&amp;lt;h_1\cdot h'; c\right&amp;gt; \mapsto^\ast \left&amp;lt;h_2\cdot h'; \mathsf{skip}\right&amp;gt;&#xA;$$&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;This definition basically says that (1) if you run $c$ with any $h_1$&#xA;in $P$, then you'll finish in some final state $h_2$ in $Q$, and (2)&#xA;if you add on any extra memory $h'$, that memory will be unchanged at&#xA;the end of the run. But note that the &lt;em&gt;specific&lt;/em&gt; $h_2$ you get can&#xA;differ, for different choices of $h'$ --- what's being guaranteed is&#xA;that the &lt;em&gt;properties&lt;/em&gt; $P$ and $Q$ will continue to hold under extension, not that you get exactly the same result heap.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's not too hard, but still worth working out, to see how this&#xA;definition of Hoare triple implies that the frame rule holds. As you note, this is a kind of &quot;preservation-of-changes&quot; property, and it has a particularly vivid expression in the statement of the parallel composition rule in concurrent separation logic:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;$$&#xA;\frac{\{P_1\}c_1\{Q_1\} \qquad \{P_2\}c_2\{Q_2\}}{\{P_1 \ast P_2\}c_1 || c_2 \{Q_1 \ast Q_2\}}&#xA;$$&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;If $c_1$ and $c_2$ act on disjoint regions of memory, then each will not interfere with the properties of the other one's execution when they are run in parallel. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;There's a discussion of this in the paper by Hoare et al, &lt;a href=&quot;http://www.eecs.qmul.ac.uk/~rusmus/articles/LocalityBimonoid.pdf&quot;&gt;&lt;em&gt;On Locality and the Exchange Law for Concurrent Processes&lt;/em&gt;&lt;/a&gt;, where they show how to give a merged algebra of programs and assertions.&lt;/p&gt;&#xA;" OwnerUserId="657" LastActivityDate="2012-10-11T09:42:54.283" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="12907" PostTypeId="1" CreationDate="2012-10-11T14:05:35.853" Score="5" ViewCount="335" Body="&lt;p&gt;Let $s$ be a Sparse boolean function $s:\{0,1\}^{n}\rightarrow \{0,1\}$ such that $|s^{-1}(1)| \leq 2^{n\delta}, 0 &amp;lt; \delta &amp;lt;1$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The majority function $MAJ_{n}$ takes value 1 if and only if the number of 1 bits in the input is greater than or equal $\frac{n}{2}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is the following. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can we $\epsilon$-approximate $MAJ_{n}(x_{1},..,x_{n})$ as a function of a few sparse functions: $f( s_{1}(x_{1},...,x_{n}),...,s_{m}(x_{1},...,x_{n}) )$ ? ($f$ is some boolean function, and $\epsilon$ approximate means that except for an $\epsilon$ fraction of the inputs, the funciton value of $MAJ_{n}$  is equals to that of $f$  ) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is a good upper bound of m( if  the answer of previous question is YES )?&lt;/p&gt;&#xA;" OwnerUserId="10888" LastEditorUserId="4896" LastEditDate="2012-10-11T14:42:16.940" LastActivityDate="2012-10-11T14:42:16.940" Title="Sparse Boolean Function and Other Boolean Functions" Tags="&lt;cc.complexity-theory&gt;&lt;boolean-functions&gt;" AnswerCount="0" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12908" PostTypeId="2" ParentId="12870" CreationDate="2012-10-11T14:12:01.510" Score="4" Body="&lt;p&gt;Another field that started out in TCS is formal verification. Two very theoretical and important results in the field are: Pnueli's paper on linear temporal logic (LTL) from 77 and Vardi and Wolper LTL to Buchi automata construction from the 80s. In the 90s, McMillan suggested to use BDDs in order to work with huge systems, and from that point the industry started using formal verification regularly. Now it's being used mainly in hardware, and there is much research on developing tools for software as well.&lt;/p&gt;&#xA;" OwnerUserId="1536" LastActivityDate="2012-10-11T14:12:01.510" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12909" PostTypeId="2" ParentId="12886" CreationDate="2012-10-11T15:37:55.410" Score="4" Body="&lt;p&gt;The problem MIN-3CNF-DELETION you refer to is better known as MAX-3CNF-SAT (or simply &lt;a href=&quot;http://en.wikipedia.org/wiki/MAX-3SAT&quot; rel=&quot;nofollow&quot;&gt;MAX-3SAT&lt;/a&gt; for short). Presented as a decision problem, it's the problem of determining (for any input value &lt;em&gt;m&lt;/em&gt;) whether there exists an assignment which satisfies at least &lt;em&gt;m&lt;/em&gt; of the CNF clauses; presented as an optimization problem, it's the problem of determining the maximum number of clauses which any assignment may satisfy.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This presentation as an optimization problem is clearly complementary to the problem you describe, and (unlike MIN-3CNF-DELETION), it makes sense to consider the feasibility of approximation versions of the problem with multiplicative error because the most extreme value isn't zero. In fact, &lt;a href=&quot;http://en.wikipedia.org/wiki/MAX-3SAT#Theorem_2&quot; rel=&quot;nofollow&quot;&gt;MAX-3-SAT cannot be approximated to within a constant factor better than 7/8&lt;/a&gt; (unless &lt;strong&gt;P&lt;/strong&gt;&amp;nbsp;=&amp;nbsp;&lt;strong&gt;NP&lt;/strong&gt;). Furthermore, Karloff and Zwick demonstrated that there does exist &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.51.1351&quot; rel=&quot;nofollow&quot;&gt;an approximation algorithm achieving that upper bound&lt;/a&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edited to add.&lt;/strong&gt; The business with the approximation factor in Karloff and Zwick's result seems to be somewhat more complicated than it appears. Many papers in the literature describe their result simply as a 7/8-approximation algorithm. However, Zwick himself writes the following in a footnote on page 1 of &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.10.2193&quot; rel=&quot;nofollow&quot;&gt;this paper&lt;/a&gt;:  &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;More precisely, [KZ97] obtain a $(7/8 - \epsilon)$-approximation algorithm for satisfiable instances of MAX-3SAT and provide compelling analytical and numerical evidence that suggest that the performance ratio of the algorithm is $7/8-\epsilon$ for &lt;em&gt;all&lt;/em&gt; instances of the problem, for every $\epsilon &amp;gt; 0$. It is possible to show that the $\epsilon$ in the above expressions can be eliminated.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="248" LastEditorUserId="248" LastEditDate="2012-10-11T16:58:30.927" LastActivityDate="2012-10-11T16:58:30.927" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12912" PostTypeId="2" ParentId="12905" CreationDate="2012-10-11T18:30:01.907" Score="8" Body="&lt;p&gt;this is an unintentionally complex question. this idea that software gains have outpaced hardware gains is apparently rooted in a real govt report but (as your question indicates) possibly approaching minor urban legend status due to being misunderstood or misinterpreted. the summary/sound-bite headlines do not really match the actual point being made in the report.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;see [1] or [2] which states&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;A report by an independent group of science and technology advisers to the White House, published last December, cited research showing that performance gains in doing computing tasks that result from improvements in software algorithms often far outpace the gains attributable to faster processors.&lt;br&gt;&#xA;  ...&lt;br&gt;&#xA;  But the White House advisory report cited research, including a study of progress over a 15-year span on a benchmark production-planning task. Over that time, the speed of completing the calculations improved by a factor of 43 million. Of the total, a factor of roughly 1,000 was attributable to faster processor speeds, according to the research by Martin Grotschel, a German scientist and mathematician. Yet a factor of 43,000 was due to improvements in the efficiency of software algorithms.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;but the issue of software vs hardware is very far from this one dimensional simplification, much more complex, and Lohrs blog has it more accurate— software and hardware form a sort of yin-yang symbiotic fusion and both have advanced very significantly, even staggeringly over the decades.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;caveat/fine print: one cannot take individual gains in particular software algorithms, which in some cases have been very substantial, and generalize that across all algorithms.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;the actual quote from the report is on page 71:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Even more remarkable – and even less widely understood – is that in many areas,&#xA;  performance gains due to improvements in algorithms have vastly exceeded even the dramatic performance gains due to increased processor speed. The algorithms that we use today for speech recognition, for natural language translation, for chess playing, for logistics planning, have evolved remarkably in the past decade. It’s difficult to quantify the improvement, though, because it is as much in the realm of quality as of execution time.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;so this government report is highly researched and polished, the basic claim of massive gains due to &lt;em&gt;theoretical software advances in some areas&lt;/em&gt; is correct, and is promoting (theoretical/algorithmic) research partly on that basis.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;however there are several other new/recent fundamental/massive phenomena/trends/shifts in recent years or what Intels Grove calls &quot;inflection points&quot; that are occuring in hardware vs software design. aka &quot;gamechangers&quot;:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;the rise of &quot;Exascale&quot; supercomputing may not be as readily achieved as &quot;Petascale&quot; due to hardware scaling constraints&lt;/li&gt;&#xA;&lt;li&gt;clock speeds, a main drive of prior speed gains, have plateaued (partly due to heat/cooling constraints)&lt;/li&gt;&#xA;&lt;li&gt;hardware is undergoing a massive shift toward less compute intensive, more energy efficient devices eg mobile, datacenters/virtualization/cloud etc&lt;/li&gt;&#xA;&lt;li&gt;improving parallelism in software and hardware (eg &quot;multicore&quot;) is therefore becoming more critical for performance improvements (where theory has a lot to say about how to parallelize algorithms)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;[1] skeptic.se, &lt;a href=&quot;https://skeptics.stackexchange.com/questions/9011/does-progress-in-algorithms-beat-progress-in-hardware&quot;&gt;does progress in algorithms beat progress in hardware&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] &lt;a href=&quot;http://bits.blogs.nytimes.com/2011/03/07/software-progress-beats-moores-law/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Software progress beats Moores law&lt;/a&gt; NYT blog by Lohr&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[3] &lt;a href=&quot;http://www.whitehouse.gov/sites/default/files/microsites/ostp/pcast-nitrd-report-2010.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;REPORT TO THE PRESIDENT&#xA;AND CONGRESS&#xA;DESIGNING A DIGITAL FUTURE:&#xA;FEDERALLY FUNDED RESEARCH&#xA;AND DEVELOPMENT IN&#xA;NETWORKING AND INFORMATION&#xA;TECHNOLOGY&lt;/a&gt; Dec 2010&lt;/p&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="-1" LastEditDate="2017-04-13T12:46:46.700" LastActivityDate="2012-10-11T18:30:01.907" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="12914" PostTypeId="1" AcceptedAnswerId="12917" CreationDate="2012-10-12T01:48:06.610" Score="10" ViewCount="404" Body="&lt;p&gt;I know Gaussian Elimination takes $O(n^3)$ arithmetic operations, but I'm unsure if any better algorithms are known.&lt;/p&gt;&#xA;" OwnerUserId="11051" LastEditorUserId="-1" LastEditDate="2012-10-21T03:44:55.180" LastActivityDate="2012-10-21T03:44:55.180" Title="What is the asymptotically fastest known algorithm for computing the nullspace of a matrix?" Tags="&lt;ds.algorithms&gt;&lt;linear-algebra&gt;&lt;matrices&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12915" PostTypeId="2" ParentId="12892" CreationDate="2012-10-12T02:19:28.460" Score="7" Body="&lt;p&gt;Unfortunately there is no good answer to your question. John Pliam [PhD Thesis, 2 papers in the LNCS series] was the first to observe the disparity between Shannon entropy and expected number of guesses. His thesis is easy to find online. In section 4.3, by choosing a suitable probability distribution for $X$ (dependent on an arbitrary positive integer $N$) &#xA;which comes from self-similar huffman trees  he demonstrates that by guessing in decreasing order of probability, one must make more than $N+H(X)$ guesses before the probability of success reaches $1/2$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is part of the reason why people went on to examine Renyi entropies.&lt;/p&gt;&#xA;" OwnerUserId="11052" LastActivityDate="2012-10-12T02:19:28.460" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12916" PostTypeId="1" CreationDate="2012-10-12T08:10:04.033" Score="14" ViewCount="282" Body="&lt;p&gt;(Apologies for the triviality of this question; nevertheless, it's been bugging me and presumably people here will be able to answer it...)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It seems that it has become popular in recent years to write the names of complexity classes in a sans serif font (see e.g. &lt;a href=&quot;http://www.scottaaronson.com/papers/alg.pdf&quot;&gt;these&lt;/a&gt; &lt;a href=&quot;http://www.stanford.edu/~rrwill/acc-lbs.pdf&quot;&gt;two&lt;/a&gt; papers). My question is: where does this notation come from? In particular, what is the first occurrence of the use of this notation in the literature?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The &lt;a href=&quot;http://www.scottaaronson.com/papers/bfpsiam.pdf&quot;&gt;paper&lt;/a&gt; &quot;Algorithms for Boolean Function Query Properties&quot; by Scott Aaronson (SIAM Journal on Computing 32(5):1140-1157, 2003; the arXiv version dates back to 2001) uses this notation, but is there anything earlier?&lt;/p&gt;&#xA;" OwnerUserId="447" LastActivityDate="2012-10-12T08:10:04.033" Title="First use of sans serif for complexity classes" Tags="&lt;cc.complexity-theory&gt;&lt;soft-question&gt;&lt;ho.history-overview&gt;" AnswerCount="0" CommentCount="4" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="12917" PostTypeId="2" ParentId="12914" CreationDate="2012-10-12T08:53:25.747" Score="12" Body="&lt;p&gt;The exponent of computing a basis of the kernel is the same&#xA;as the exponent of matrix multiplication, see the &#xA;book Algebraic Complexity Theory by Bürgisser, Clausen &amp;amp; Shokrollahi.&#xA;So it can be done in time $O(n^{2.38})$.&lt;/p&gt;&#xA;" OwnerUserId="6456" LastEditorUserId="6456" LastEditDate="2012-10-12T10:49:26.837" LastActivityDate="2012-10-12T10:49:26.837" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="12920" PostTypeId="1" CreationDate="2012-10-12T10:35:16.627" Score="3" ViewCount="363" Body="&lt;p&gt;One of the most basic result in circuit complexity is the constnat depth cirdcuit lower bound computing PARITY function using the switching lemma. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another popular function MAJORITY has also lower bound $exp (\Omega (n^{1/(d-1)}))$ and matching upper bound $exp (O (n^{2/(d-1)}))$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is about upper bound of Threshold function which is a natural generalization of majority function. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The formal definition of the threshold function is the following one. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;DEFINITION:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$THR(x_{1},...,x_{n})=&#xA;  \begin{cases}&#xA;    1 &amp;amp; a_{1}x_{1}+\cdots +a_{n}x_{n} \geq t \\&#xA;    0 &amp;amp; otherwise&#xA;  \end{cases}&#xA;$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We assume that each weight $a_{i} \in \mathbb{Z}$ is at most $2^{O(n)}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;QUESTION1:&#xA;The depth $d$ circuit with unbounded fanin AND OR NOT gates to compute the above function has size $2^{n^{\epsilon}}$ ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Where $\epsilon $ can depend on $d$ like $2^{n^{1/100d}}$ .&lt;/p&gt;&#xA;&#xA;&lt;p&gt;QUESTION2&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can we $\textit{relax}$ the assumption that   $a_{i} \in \mathbb{Z}$ is at most $2^{O(n)}$ ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, even if we assume that  $a_{i} \in \mathbb{R}$ is at most $2^{2^{O(n)}}$ and give the strong power of each threshold gate, does uppwer bounds  $2^{n^{\epsilon}}$  holds ? &lt;/p&gt;&#xA;" OwnerUserId="10888" LastActivityDate="2012-10-12T10:45:16.750" Title="Constant Depth Circuit Computing Threshold Function" Tags="&lt;cc.complexity-theory&gt;&lt;circuit-complexity&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12921" PostTypeId="1" AcceptedAnswerId="12924" CreationDate="2012-10-12T10:41:35.050" Score="6" ViewCount="199" Body="&lt;p&gt;An $\mathcal{MA}$ &lt;em&gt;communication complexity protocol&lt;/em&gt; is communication complexity protocol that starts with an omniscient prover that sends a proof (that depends on the the specific input of the players, but not on their random bits) to both players. The players then communicate with each other, in order to verify the proof (for more details, see: &lt;a href=&quot;http://arxiv.org/abs/1101.0523&quot;&gt;On Arthur Merlin Games in Communication Complexity&lt;/a&gt;, by Hartmut Klauck).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The are quite a few lower bounds (e.g., &lt;a href=&quot;http://www.wisdom.weizmann.ac.il/~ranraz/publications/Pquaproof.ps&quot;&gt;On the power of quantum proof, by Ran Raz and Amir Shplika&lt;/a&gt;) of the following form: Suppose we have a communication complexity problem $\mathcal{P}$ with a tight bound of $\Theta(T(n))$ on its communication complexity (for some function $T$). There exists a lower bound that shows that every $\mathcal{MA}$ &lt;em&gt;communication complexity protocol&lt;/em&gt; that communicates $c$ bits and uses a proof of size $p$, must satisfy $c \cdot p = \Omega(T(n))$. So one can think of it as a tradeoff between the work that prover has to do, and the work that the verifiers have to do.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Moreover, it seems that for every communication complexity problem that I know of (with a tight bound of $\Theta(T(n))$ on its communication complexity), there exists a protocol wherein the prover sends a proof of size $\tilde O(T(n))$, and the verifiers only uses $\tilde O(1)$ bits of communication (cf. the two papers I mentioned above). Thus, in a sense, all of the work has been delegated to the prover (achieving the extreme case of the aforementioned lower bounds).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a result that shows that a verifier-&quot;heavy&quot; protocol implies the existence of a prover-&quot;heavy&quot; protocol? Is there a counter example? What about other models (such as $\mathcal{MA}$ decision trees/query complexity) wherein our understanding of the behaviour of $\mathcal{MA}$ protocols is deeper?&lt;/p&gt;&#xA;" OwnerDisplayName="user887" LastActivityDate="2012-10-12T23:20:04.597" Title="Delegating all of the work to the prover in $\mathcal{MA}$ protocols" Tags="&lt;cc.complexity-theory&gt;&lt;communication-complexity&gt;&lt;interactive-proofs&gt;&lt;query-complexity&gt;" AnswerCount="2" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="12922" PostTypeId="2" ParentId="12920" CreationDate="2012-10-12T10:45:16.750" Score="7" Body="&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;General weight threshold gates can be computed by polynomial size depth 2 circuits built from majority gates. An efficient construction of this is e.g. given by &lt;a href=&quot;http://dx.doi.org/10.1007/11549345_11&quot;&gt;Amano and Maruoka&lt;/a&gt;. Then you can just compute each of these by constant depth circuits built from AND and OR gates.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;You can always assume weights are integers of magnitude at most $(n+1)^{(n+1)/2}/2^n$. See &lt;a href=&quot;http://dx.doi.org/10.1016/0016-0032%2861%2990702-5&quot;&gt;Muroga, Toda and Takasu&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="313" LastActivityDate="2012-10-12T10:45:16.750" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12924" PostTypeId="2" ParentId="12921" CreationDate="2012-10-12T15:11:02.077" Score="5" Body="&lt;p&gt;This is an answer to the last question: MA in the query complexity model.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It isn't always possible to make the prover do all the work (or even any work at all). The reason is that an MA-prover is trying to convince you that the answer is YES. But the problem can be chosen so that in the YES case, there's nothing interesting that the prover can tell you. There are hard problems for which having a YES-prover is completely useless (i.e., it will not reduce the verifier's work at all).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, consider the AND problem, where you have to compute the AND of all the bits in the black box. This requires $\Omega(n)$ queries for a bounded-error algorithm. Now if you have access to a YES-prover, there's nothing interesting he can tell you. The most he could do is give you the entire contents of the black box. But since it is the AND function, and he is trying to convince you that the function evaluates to 1, he will always give you the all ones string. So you could have simulated this yourself.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Added&lt;/strong&gt;: Does this protocol work in communication complexity? Take any CC problem that requires $T(n)$ bits of communication without Merlin. In the MA protocol, Merlin sends the entire transcript of communication to Alice and Bob, had they used the original protocol. Since equality is easy to check in randomized CC, they check that the transcripts are the same with high probability. Once they are convinced that the transcripts are the same, they output the outcome of that transcript of conversation.&lt;/p&gt;&#xA;" OwnerUserId="206" LastEditorUserId="206" LastEditDate="2012-10-12T16:21:21.877" LastActivityDate="2012-10-12T16:21:21.877" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12926" PostTypeId="2" ParentId="12882" CreationDate="2012-10-12T16:06:28.530" Score="5" Body="&lt;p&gt;I wanted to add to JɛﬀE's comprehensive answer that to the best of my knowledge there are no lower bounds on the approximation factor for this problem. As far as we know, there can be an approximation algorithm that &lt;strong&gt;always&lt;/strong&gt; gives a constant factor approximation (even if the genus is very small).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The paper Chen, Kanchi, and Kanevsky [CKK '97] only says that computing the genus with additive error $O(n^{1-\varepsilon})$ is NP-hard. Here is a very informal outline of their argument. It will be clear that this argument cannot be used to prove a lower bound on the approximation factor. Consider a graph $G$ such that it is NP-hard to determine whether $\mathrm{genus}(G) \leq g^*$ or $\mathrm{genus}(G) \geq g^*+1$ (for some $g^*$); such a graph exists since the problem is NP-hard. Let $n$ be the number of vertices in $G$. Let $k$ be a large constant. Take $N = n^k$ disjoint copies of the graph $G$ and consider their union. Then in the obtained graph $G'$, it is NP-hard to determine whether $\mathrm{genus}(G') \leq N g^*$ or $\mathrm{genus}(G') \geq N(g^*+1)$. That is, it is NP-hard to compute $\mathrm{genus}(G')$ with additive error $N = (Nn)^{k/{k+1}} = |V(G')|^{k/{k+1}} = |V(G')|^{1-\varepsilon}$, where $\varepsilon = 1/(k+1)$. This construction does not give us any lower bound on the approximation factor; the ratio of $N(g^*+1)$ to $Ng^*$ equals the ratio of $g^*+1$ to $g^*$.&lt;/p&gt;&#xA;" OwnerUserId="9929" LastActivityDate="2012-10-12T16:06:28.530" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12929" PostTypeId="1" AcceptedAnswerId="21563" CreationDate="2012-10-12T17:51:03.257" Score="3" ViewCount="3486" Body="&lt;p&gt;I want to compute a mixed strategy that will be the Nash Equilibrium of the game.&#xA;I have used my knowledge in order to create the system for the mixed strategy.&#xA;I concluded on a system with 3 variables and 5 constrains.I am not able to solve this system using the common Gaussian Elimination method.This system is a linear program from what I can imagine.I have searched google for similar examples but all the examples was on 2-player games with only 2 strategies per player.In those games was quite easy to compute the mixed strategy.I am thinking of using the simplex method for finding the NE but I am thinking that this is weird for such a small game...&#xA;Are there simpler method that can be used in computing a NE profile?&#xA;Thank you.  &lt;/p&gt;&#xA;" OwnerUserId="11065" LastEditorUserId="11065" LastEditDate="2012-10-12T18:33:18.327" LastActivityDate="2014-03-18T07:00:53.363" Title="Compute Nash Equilibrium for 2-player games" Tags="&lt;linear-programming&gt;&lt;gt.game-theory&gt;" AnswerCount="2" CommentCount="7" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="12930" PostTypeId="2" ParentId="12921" CreationDate="2012-10-12T23:20:04.597" Score="2" Body="&lt;p&gt;It will depend on the model of communication: (1) If the proof is known by both players, (2) if only parts of it is known by Alice and the rest by Bob, or (3) if only one of the players receives the proof (say Alice). Plus, if the communication uses public or private coins.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For instance, in (3) with public coins, Merlin could send a copy of y to Alice, and check its correctness via a SMP-protocol or fingerprinting protocol. Then you can always communicate with Bob with $O(1)$ bits to tell him the correct answer. Also, considering the protocol in Robin Kothari's answer, Merlin could send the whole conversation in the proof, and then Alice and Bob just need to check if their parts are correct.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For more information on model (3) you can check Hartmut Klauck's &lt;a href=&quot;http://arxiv.org/pdf/1101.0523v1.pdf&quot; rel=&quot;nofollow&quot;&gt;paper&lt;/a&gt;. There you will also find a MA-protocol that meets your requirements, i.e., a &quot;verifier-heavy&quot; protocol. For model (2) you have Francois Le Gall's &lt;a href=&quot;http://xxx.lanl.gov/abs/quant-ph/0511025&quot; rel=&quot;nofollow&quot;&gt;paper&lt;/a&gt; where he studies quantum/classical gaps. For (1) I have no reference to give you.&lt;/p&gt;&#xA;" OwnerUserId="135" LastActivityDate="2012-10-12T23:20:04.597" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="12933" PostTypeId="2" ParentId="9923" CreationDate="2012-10-13T03:32:42.620" Score="6" Body="&lt;p&gt;This is just an extended comment on Marcos's answer, using his notation. I am not quite able to follow the details of his argument, and the one below is pretty short and easy.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By averaging, &#xA;$$\sum_A{q(A)\sum_x{d(x)\epsilon(A, x)}} = \sum_x{d(x)\sum_A{q(A)\epsilon(A, x)}} \leq \lambda.$$ &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The fact above and Markov's inequality imply $\sum_{A \in \beta(2\lambda)}{q(A)} \geq 1/2$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;So we get:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;\begin{align*}&#xA;\max_x \sum_A{q(A)r(A,x)} &amp;amp;\geq \sum_x{d(x)\sum_A{q(A)r(A, x)}}\\&#xA;&amp;amp;= \sum_A{q(A)\sum_x{d(x)r(A, x)}}\\&#xA;&amp;amp;\geq \sum_{A \in \beta(2\lambda)}{q(A)\sum_x{d(x)r(A, x)}}\\&#xA;&amp;amp;\geq  \left(\sum_{A \in \beta(2\lambda)}{q(A)}\right) \min_{A \in \beta(2\lambda)}{\sum_x{d(x)r(A, x)}}\\&#xA;&amp;amp;\geq \frac{1}{2}\min_{A \in \beta(2\lambda)}{\sum_x{d(x)r(A, x)}}&#xA;\end{align*}&lt;/p&gt;&#xA;" OwnerUserId="4896" LastEditorUserId="4896" LastEditDate="2012-10-13T04:55:26.463" LastActivityDate="2012-10-13T04:55:26.463" CommentCount="0" CommunityOwnedDate="2012-10-13T03:32:42.620" ContentLicense="CC BY-SA 3.0" />
  <row Id="12938" PostTypeId="1" AcceptedAnswerId="14656" CreationDate="2012-10-13T15:48:39.817" Score="1" ViewCount="215" Body="&lt;p&gt;I've written an unpublished paper that describes FOR-programs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;FOR-programs are programs that only contain bounded for loops and basic operations (assignment, addition, multiplication, etc.). A bounded for loop is a for loop with a bound on the number of times that it can loop. This bound is fixed before entering the for loop for the first time and is not changed until the loop completes. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a complexity class that captures this type of programs? Since the number of for loops in a program is known in advance, the time complexity is of course limited to $O(n^k)$ with $k$ nested for loops. Thus, all FOR-programs run in polynomial time. Are there additional limitations to this class of programs?&lt;/p&gt;&#xA;" OwnerUserId="8715" LastEditorUserId="-1" LastEditDate="2012-10-21T03:44:52.667" LastActivityDate="2012-12-07T12:23:02.520" Title="Is there a computation class describing FOR-programs, what are the limitations?" Tags="&lt;cc.complexity-theory&gt;&lt;pl.programming-languages&gt;" AnswerCount="2" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="13939" PostTypeId="2" ParentId="12426" CreationDate="2012-10-13T19:58:46.360" Score="7" Body="&lt;p&gt;I recently finished writing a survey of Ownership Types and found very little that discusses the relationship between the two topics. The three closest papers I came across are the following, which curiously come from the same conference:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Yang Zhao and John Boyland. A fundamental permission interpretation for ownership types. In Second IEEE/IFIP International Symposium on Theoretical Aspects of Software Engineering, TASE 2008, June 17-19, 2008, Nanjing, China. IEEE Computer Society, 2008., pages 65–72. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Shuling Wang, Luís Soares Barbosa, and José Nuno Oliveira. A relational model for confined separation logic. In In Second IEEE/IFIP International Symposium on Theoretical Aspects of Software Engineering, TASE 2008, June 17-19, 2008, Nanjing, China. IEEE Computer Society, 2008., pages 263–270.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Shuling Wang and Zongyan Qiu. A generic model for confinement and its application. In In Second IEEE/IFIP International Symposium on Theoretical Aspects of Software Engineering, TASE 2008, June 17-19, 2008, Nanjing, China. IEEE Computer Society, 2008., pages 57–64.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The first paper encodes two styles of ownership types, namely owners-as-dominators and owners-as-locks, in terms of Boyland's fractional permissions, which are a capability system developed for reasoning about programs. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The second paper takes confinement ideas similar to those used in ownership types and adds them to separation logic. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The third paper has developed a semantic approach which is used to encode various confinement disciplines such as ownership types. I'm not sure whether their system covers separation logic as well, and I cannot access it at the moment. Their approach is rather ad hoc; it can be seen as a more formal and systematic to a paper I wrote a while ago with James Noble and others:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Towards a model of encapsulation&#xA;James Noble, Robert Biddle, Ewan Tempero, Alex Potanin, Dave Clarke&#xA;The First International Workshop on Aliasing, Confinement and Ownership in Object-Oriented Programming (IWACO), 2003.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="77" LastEditorUserId="77" LastEditDate="2012-10-14T09:14:17.430" LastActivityDate="2012-10-14T09:14:17.430" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="13943" PostTypeId="1" AcceptedAnswerId="13949" CreationDate="2012-10-14T07:07:19.923" Score="15" ViewCount="2716" Body="&lt;p&gt;Is there a linear time in-place riffle shuffle algorithm? This is the algorithm that some especially dextrous hands are capable of performing: evenly dividing an even-sized input array, and then interleaving the elements of the two halves.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Mathworld has a brief page on &lt;a href=&quot;http://mathworld.wolfram.com/RiffleShuffle.html&quot;&gt;riffle shuffle&lt;/a&gt;. In particular, I'm interested in the out-shuffle variety which transforms the input array 1 2 3 4 5 6 into 1 4 2 5 3 6. Note that in their definition, the input length is $2n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's straightforward to perform this in linear time if we've got a second array of size $n$ or more handy. First copy the last $n$ elements to the array. Then, assuming 0-based indexing, copy the first $n$ elements from indices $[0,1,2,...,n-1]$ to $[0, 2, 4,...,2n-2]$. Then copy the $n$ elements from the second array back to the input array, mapping indices $[0,1,2,...,n-1]$ to $[1,3,5,...,2n-1]$. (We can do slightly less work than that, because the first and last elements in the input do not move.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One way of attempting to do this in-place involves the decomposition of the permutation into disjoint cycles, and then rearranging the elements according to each cycle. Again, assuming 0-based indexing, the permutation involved in the 6 element case is&#xA;$$&#xA;\sigma=\begin{pmatrix} 0 &amp;amp; 1 &amp;amp; 2 &amp;amp; 3 &amp;amp; 4 &amp;amp; 5 \\&#xA;0 &amp;amp; 2 &amp;amp; 4 &amp;amp; 1 &amp;amp; 3 &amp;amp; 5\end{pmatrix}=\begin{pmatrix}0 \end{pmatrix} \begin{pmatrix}5 \end{pmatrix} \begin{pmatrix}1 &amp;amp; 2 &amp;amp; 4 &amp;amp;3 \end{pmatrix}.&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As expected, the first and last elements are fixed points, and if we permute the middle 4 elements we get the expected outcome.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Unfortunately, my understanding of the mathematics of permutations (and their $\LaTeX$) is mostly based on wikipedia, and I don't know if this can be done in linear time. Maybe the permutations involved in this shuffling can be quickly decomposed? Also, we don't even need the complete decomposition. Just determining a single element of each of the disjoint cycles would suffice, since we can reconstruct the cycle from one of its elements. Maybe a completely different approach is required.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Good resources on the related mathematics are just as valuable as an algorithm. Thanks!&lt;/p&gt;&#xA;" OwnerUserId="12079" LastActivityDate="2012-10-15T00:38:46.507" Title="Linear time in-place riffle shuffle algorithm" Tags="&lt;ds.algorithms&gt;&lt;time-complexity&gt;" AnswerCount="3" CommentCount="8" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="13944" PostTypeId="1" AcceptedAnswerId="13945" CreationDate="2012-10-14T15:40:24.267" Score="8" ViewCount="142" Body="&lt;p&gt;In Savitch's 1969 paper, &quot;Relationships Between Nondeterministic and Deterministic Tape Complexities&quot;, he states that &quot;all common storage functions L(n) &gt;= lg n are measurable. In particular, any polynomial in n and lg n is measurable.&quot;  His definition of measurable is:  &quot;A function L(n) is said to be measurable if there is some Turing machine with just one storage tape such that, given any input of length n, the machine will halt after a computation in which the storage tape head scans exactly L(n) squares.&quot; &lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, my problem is, based on his definition, I don't understand why storage functions L(n) &gt;= lg n would be measurable, while functions L(n) &amp;lt; lg n would not be.  Is this somehow implicit in his definition?  Or are there some publications that I should read?&lt;/p&gt;&#xA;" OwnerUserId="10870" LastActivityDate="2012-10-14T16:26:52.370" Title="Savitch's use of measurability" Tags="&lt;cc.complexity-theory&gt;&lt;pspace&gt;&lt;space-complexity&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="13945" PostTypeId="2" ParentId="13944" CreationDate="2012-10-14T16:26:52.370" Score="9" Body="&lt;p&gt;I think that this definition is nowadays known under the term &lt;a href=&quot;http://en.wikipedia.org/wiki/Space-constructible_function%20space-constructible%20function&quot;&gt;space-constructible function&lt;/a&gt;. There are functions in sublogarithmic space that are space constructible, while others are not. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://dl2.acm.org/citation.cfm?id=31171&quot;&gt;http://dl2.acm.org/citation.cfm?id=31171&lt;/a&gt; Andrzej Szepietowski: There are no fully space constructible functions between log log n and log n. Information Processing Letters 24(6),361-362.&lt;/p&gt;&#xA;" OwnerUserId="2367" LastActivityDate="2012-10-14T16:26:52.370" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="13946" PostTypeId="2" ParentId="13943" CreationDate="2012-10-14T16:58:21.643" Score="2" Body="&lt;p&gt;What happens if you write down the riffle shuffle as a function? If $m$ is the length of the total array, let $n = m-2$ be the length of the array after removing the first and last element. Then the shuffled index of index $i$ is $ f(i) = 2\cdot i $ if $i \leq n/2$ and $f(i) = 2 \cdot (i \mod n/2) - 1$ if $i &amp;gt; n/2$. Then you can just &quot;pointer jump&quot; through the array, swapping by re-applying the function.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assuming random access, this would be linear time while requiring $O(1)$ extra words (for storing the value of the array at any given index), and so $O(\log n)$ extra space.&lt;/p&gt;&#xA;" OwnerUserId="2652" LastActivityDate="2012-10-14T16:58:21.643" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="13947" PostTypeId="2" ParentId="12938" CreationDate="2012-10-14T17:55:56.617" Score="3" Body="&lt;p&gt;This is the language &lt;a href=&quot;http://en.wikipedia.org/wiki/BlooP_and_FlooP&quot; rel=&quot;nofollow&quot;&gt;Bloop&lt;/a&gt; as describes by Hofstaedter.&lt;/p&gt;&#xA;" OwnerUserId="12084" LastEditorUserId="77" LastEditDate="2012-10-14T18:06:10.353" LastActivityDate="2012-10-14T18:06:10.353" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="13948" PostTypeId="1" AcceptedAnswerId="13952" CreationDate="2012-10-14T22:09:56.023" Score="2" ViewCount="1746" Body="&lt;p&gt;I'm attempting to formulate the semidefinite programs used in the paper &quot;&lt;a href=&quot;http://arxiv.org/abs/1104.1140&quot; rel=&quot;nofollow&quot;&gt;Hedging Bets with Correlated Quantum Strategies&lt;/a&gt;&quot; (specifically those on page 7) into &lt;a href=&quot;http://orion.math.uwaterloo.ca/~hwolkowi/henry/teaching/w11/367.w11/367miscfiles/cvx_usrguide.pdf&quot; rel=&quot;nofollow&quot;&gt;CVX&lt;/a&gt; so that I can play around with the values of the SDPs. The CVX package seems to be very straightforward to get up and running, but I'm a bit unsure in how to convert the SDPs in this scenario and how to interpret the results. For completeness and to try to be a bit helpful, the primal and dual problems for the maximization constraint are replicated from the paper below.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Primal Problem:&lt;/strong&gt; &lt;/p&gt;&#xA;&#xA;&lt;p&gt;maximize: $\langle Q_a, X \rangle$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;subject to: $Tr_{\mathcal{Y}}(X) = \mathcal{I}_{\mathcal{X}},$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\qquad \qquad X \in Pos(\mathcal{Y} \otimes \mathcal{X})$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Dual Problem:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;minimize: $Tr(Y)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;subject to: $\mathcal{I}_{\mathcal{Y}} \otimes Y \geq Q_a,$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\qquad \qquad Y \in Herm(\mathcal{X})$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In this case, these are the SDPs which correspond to Bob's maximum probability for winning some quantum protocol between two parties (more information is in the paper, but if you're going to take the time to help me, by all means ask if I can clarify something in a bit more detail). The variables $Q_a$ and $X$ correspond to the Choi-Jamiolkowski representation of the channel for Alice and Bob respectively. My attempt at putting this into MATLAB is as follows:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;n = 3;&#xA;cvx_begin sdp&#xA;    variable Y(n,n) hermitian;&#xA;    dual variable X;&#xA;    maximize ( trace ( Y ) );&#xA;    subject to&#xA;       X : kron(eye(n), Y) &amp;gt;= 0;&#xA;cvx_end&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Since I don't have a partial trace operation, I'm essentially flipping the roles of the primal and dual functions by swapping the maximization and minimization constraints. This may not be the right way to go about it though, so any feedback would certainly be helpful.  Basically my understanding is that if you provide the primal problem, CVX is smart enough to solve the corresponding dual (&lt;a href=&quot;http://orion.math.uwaterloo.ca/~hwolkowi/henry/teaching/w11/367.w11/367miscfiles/cvx_usrguide.pdf&quot; rel=&quot;nofollow&quot;&gt;Section 3.7&lt;/a&gt; of the CVX manual).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Running the above works, but yields a status failed result, leading me to think that there is something I'm most likely missing here:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;Status: Failed&#xA;Optimal value (cvx_optval): NaN&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;" OwnerUserId="878" LastActivityDate="2012-10-15T01:41:52.683" Title="Using MATLAB's CVX Package for Semidefinite Programming in Quantum Information" Tags="&lt;quantum-computing&gt;&lt;quantum-information&gt;&lt;semidefinite-programming&gt;" AnswerCount="1" CommentCount="8" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="13949" PostTypeId="2" ParentId="13943" CreationDate="2012-10-14T22:21:32.760" Score="12" Body="&lt;p&gt;The problem is surprisingly non-trivial. Here is a nice solution by Ellis and Markov, &lt;a href=&quot;http://webhome.cs.uvic.ca/~jellis/Publications/merge.ps&quot;&gt;In-Situ, Stable Merging by way of the Perfect Shuffle&lt;/a&gt; (section 7). Ellis, Krahn and Fan, &lt;a href=&quot;http://webhome.cs.uvic.ca/~jellis/Publications/shuffle.ps&quot;&gt;Computing the Cycles in the Perfect Shuffle Permutation&lt;/a&gt; succeed in selecting &quot;cycle leaders&quot;, at the expense of more memory. Also related is the nice paper by Fich, Munro and Poblete, &lt;a href=&quot;http://www.cs.utoronto.ca/~fich/permuting.ps&quot;&gt;Permuting In Place&lt;/a&gt;, which gives a general $O(n\log n)$ time algorithm for the oracle model. If only an oracle for the permutation is available, the algorithm requires logarithmic space; if we also have an oracle for the inverse, it requires constant space.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now for Ellis and Markov's solution. First, suppose $n = x+y$. Then computing the perfect shuffle of order $n$ reduces to computing the perfect shuffle of orders $x$ and $y$, with a rotation preceding them. Here is a proof by example ($n=5$, $x=3$, $y=2$):&#xA;$$&#xA;\begin{array}{cc}&#xA;012\mathbf{345} &amp;amp; \mathbf{67}89 \\&#xA;012\mathbf{567} &amp;amp; \mathbf{34}89 \\&#xA;051627 &amp;amp; 3849&#xA;\end{array}&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Ellis and Markov found an easy way to compute the perfect shuffle when $n=2^k$, using constant space and linear time. Using this, we obtain an algorithm for computing the perfect shuffle for arbitrary $n$. First, write $n = 2^{k_0} + \cdots + 2^{k_w}$ using the binary encoding of $n$, and let $n_i = 2^{k_i} + \cdots + 2^{k_w}$. Rotate the middle $n_0$ bits, shuffle the right-hand $2^{k_0}$ bits. Ignoring the righthand $2^{k_0}$ bits, rotate the middle $n_1$ bits, and shuffle the right-hand $2^{k_1}$ bits. And so on. Note that rotation is easy since the first few elements rotated function as cycle leaders. The total complexity of rotation is $O(n_0 + \cdots + n_w) = O(n)$, since $n_{t+1} &amp;lt; n_t/2$. The total complexity of the inner shuffles is $O(2^{k_0} + \cdots + 2^{k_w}) = O(n)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It remains to show how to compute the perfect shuffle when $n=2^k$. In fact, we will be able to identify cycle leaders, following classical work on necklaces (Fredricksen and Maiorana, &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/0012365X7890002X&quot;&gt;Necklaces of beads in $k$ colors and $k$-ary de Bruijn sequences&lt;/a&gt;; Fredricksen and Kessler, &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/0012365X86900890&quot;&gt;An algorithm for generating necklaces of beads in two colors&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is the connection? I claim that the shuffle permutation corresponds to right shifting of the binary representation. Here is a proof by example, for $n=8$:&#xA;$$&#xA;\begin{array}{cccccccc}&#xA;000 &amp;amp; 001 &amp;amp; 010 &amp;amp; 011 &amp;amp; 100 &amp;amp; 101 &amp;amp; 110 &amp;amp; 111 \\&#xA;000 &amp;amp; 100 &amp;amp; 001 &amp;amp; 101 &amp;amp; 010 &amp;amp; 110 &amp;amp; 011 &amp;amp; 111&#xA;\end{array}&#xA;$$&#xA;Therefore, to find cycle leaders, we need to find one representative out of each equivalence class of the rotation of binary strings of length $k$. The papers mentioned above give the following algorithm for generating &lt;em&gt;all&lt;/em&gt; cycle leaders. Start with $0^k$. At each step, we are at some point $a_1 \ldots a_k$. Find the maximal index $i$ of a zero bit, divide $k$ by $i$ to obtain $k = d\cdot i + r$, and let the following point be $(a_1\ldots a_{i-1}1)^d a_1\ldots a_r$. Whenever $r = 0$, the &lt;em&gt;new&lt;/em&gt; string is a cycle leader.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, when $n=16$ this generates the sequence&#xA;$$&#xA;\mathbf{0000}, \mathbf{0001}, 0010, \mathbf{0011},&#xA;\mathbf{0101}, 0110, \mathbf{0111}, \mathbf{1111}.&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The cycle leaders are highlighted.&lt;/p&gt;&#xA;" OwnerUserId="40" LastActivityDate="2012-10-14T22:21:32.760" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="13950" PostTypeId="1" CreationDate="2012-10-15T00:03:44.833" Score="49" ViewCount="3208" Body="&lt;p&gt;I was editing a student manuscript. The student remarked that it would be nice to see examples of quality writing in published work, and I realized that I couldn't really come up with good examples off the top of my head&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What are the best examples of quality mathematical writing you've seen&#xA;  ?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Rules:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;I'd prefer TCS papers as far as possible. Our style is different enough from standard math papers that I think it's better to focus on TCS (also why I'm asking here and not on MO)&lt;/li&gt;&#xA;&lt;li&gt;it would help if you mentioned what exactly you thought the paper did well. Not all exposition is good at everything - some papers have great proof outlines, some use notation really effectively and others convey intuition masterfully. &lt;/li&gt;&#xA;&lt;li&gt;if possible, please link to the paper. &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I'm hoping this can become a resource, like many of our other broad questions. I'm marking it CW for that reason. &lt;/p&gt;&#xA;" OwnerUserId="80" LastEditorUserId="80" LastEditDate="2012-10-15T00:10:05.200" LastActivityDate="2012-10-16T06:24:48.880" Title="Good examples for how to write well in TCS" Tags="&lt;soft-question&gt;&lt;writing&gt;" AnswerCount="6" CommentCount="4" FavoriteCount="35" CommunityOwnedDate="2012-10-15T00:04:24.757" ContentLicense="CC BY-SA 3.0" />
  <row Id="13951" PostTypeId="2" ParentId="13943" CreationDate="2012-10-15T00:32:38.700" Score="6" Body="&lt;p&gt;This was a seeding question at cs.stackexchange.com and an answer is here: &lt;a href=&quot;https://cs.stackexchange.com/questions/332/in-place-algorithm-for-interleaving-an-array/400#400&quot;&gt;https://cs.stackexchange.com/questions/332/in-place-algorithm-for-interleaving-an-array/400#400&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is an explanation of the paper: &lt;a href=&quot;http://arxiv.org/abs/0805.1598&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://arxiv.org/abs/0805.1598&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The above algorithm generalizes for all those $k$-way shuffles (we have a $2$-way shuffle here) for which $k$ is a primitive root of some square of a prime (the paper picks $3^2$ for $k=2$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that that answer deals with the permutation $j \to 2j \mod 2n+1$, (i.e. Inshuffle) and having that makes it easy to solve this problem (Outshuffle) too. &lt;/p&gt;&#xA;" OwnerUserId="126" LastEditorUserId="-1" LastEditDate="2017-04-13T12:48:30.830" LastActivityDate="2012-10-15T00:38:46.507" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="13952" PostTypeId="2" ParentId="13948" CreationDate="2012-10-15T01:41:52.683" Score="5" Body="&lt;p&gt;The new SDP that you obtain by replacing minimize by maximize is not necessarily closely related to the first one. Right now the value is infinity, and if you replaced 0 by $Q_a$ on the right side of the constraint, the value is always going to be 0 or infinity (if it's not 0, you can just multiply any solution with positive value by an arbitrary constant, and increase the value).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The way I went about this general issue when solving these SDPs was just implementing the partial trace, and then coding the dual and primal problem separately. The implementation of the partial trace is at &lt;a href=&quot;https://cs.uwaterloo.ca/~amolinap/prtrace.m&quot;&gt;https://cs.uwaterloo.ca/~amolinap/prtrace.m&lt;/a&gt;, hope it is useful!&lt;/p&gt;&#xA;" OwnerUserId="1632" LastActivityDate="2012-10-15T01:41:52.683" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="13953" PostTypeId="2" ParentId="13950" CreationDate="2012-10-15T01:42:30.707" Score="5" Body="&lt;p&gt;Not sure if it qualifies for TCS, but the classic paper by Kleinberg is a good example for good writing. At least this is what I use as an example when I am asked this question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Authoritative Sources in a Hyperlinked Environment by Jon M. Kleinberg &#xA;&lt;a href=&quot;http://www.cs.cornell.edu/home/kleinber/auth.pdf&quot;&gt;http://www.cs.cornell.edu/home/kleinber/auth.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is also quite interested to contrast this paper with the &quot;Google paper&quot; that was published in WWW. The Kleinberg paper is much better written.&lt;/p&gt;&#xA;" OwnerUserId="12091" LastActivityDate="2012-10-15T01:42:30.707" CommentCount="0" CommunityOwnedDate="2012-10-15T01:42:30.707" ContentLicense="CC BY-SA 3.0" />
  <row Id="13954" PostTypeId="1" AcceptedAnswerId="14036" CreationDate="2012-10-15T02:47:41.570" Score="2" ViewCount="351" Body="&lt;p&gt;Say I have 2 permutations of the the same set of elements.&#xA;I create 2 &lt;a href=&quot;http://en.wikipedia.org/wiki/R-tree&quot; rel=&quot;nofollow noreferrer&quot;&gt;R-Trees&lt;/a&gt;, one for each permutation.&lt;/p&gt;&#xA;&lt;p&gt;Do I end up with 2 structurally identical R-Trees or not?&lt;/p&gt;&#xA;&lt;p&gt;PS: My elements are rectangles on a plane.&lt;/p&gt;&#xA;&lt;h3&gt;Edit:&lt;/h3&gt;&#xA;&lt;p&gt;Reformulation of the question: is there an insertion algorithm that reconstructs the same R-Tree regardless of the order of elements in use?&lt;/p&gt;&#xA;" OwnerUserId="7262" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2012-10-21T02:40:15.023" Title="Does the order of insertion affect the topology of an R-Tree" Tags="&lt;ds.data-structures&gt;&lt;tree&gt;" AnswerCount="1" CommentCount="6" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="13956" PostTypeId="2" ParentId="13950" CreationDate="2012-10-15T04:07:28.247" Score="6" Body="&lt;p&gt;I remember really liking Luca's paper giving a spectral approximation to Max Cut: &lt;a href=&quot;http://arxiv.org/pdf/0806.1978v5.pdf&quot;&gt;http://arxiv.org/pdf/0806.1978v5.pdf&lt;/a&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Except for the clear exposition, he nicely paints the bigger picture: why is any better-than-factor-of-2 approximation to MaxCut hard, why one would expect that spectral techniques could work, how his algorithm relates to Cheeger's inequality, and to the Goemans-Williamson SDP. In addition to the algorithm itself being very neat.  &lt;/p&gt;&#xA;" OwnerUserId="4896" LastActivityDate="2012-10-15T04:07:28.247" CommentCount="0" CommunityOwnedDate="2012-10-15T04:07:28.247" ContentLicense="CC BY-SA 3.0" />
  <row Id="13957" PostTypeId="2" ParentId="13950" CreationDate="2012-10-15T04:18:47.570" Score="6" Body="&lt;p&gt;Luca Trevisan's &lt;a href=&quot;http://www.cs.berkeley.edu/~luca/pubs/extractor-full.pdf&quot; rel=&quot;nofollow&quot;&gt;extractor paper&lt;/a&gt; is beautifully written -- the idea, at that time, was revolutionary, and Luca's exposition of the intuition was great.&lt;/p&gt;&#xA;" OwnerUserId="273" LastEditorUserId="-1" LastEditDate="2012-10-16T02:16:25.517" LastActivityDate="2012-10-16T02:16:25.517" CommentCount="1" CommunityOwnedDate="2012-10-15T04:18:47.570" ContentLicense="CC BY-SA 3.0" />
  <row Id="13958" PostTypeId="1" AcceptedAnswerId="13960" CreationDate="2012-10-15T07:06:33.717" Score="16" ViewCount="450" Body="&lt;p&gt;Let $S_1,S_2,\ldots,S_n$ be sets that may have elements in common.  I'm looking for a smallest set $X$ such that $\forall i,\,X\cap S_i \ne \emptyset$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does this problem have a name?  Or does it reduce to some known problem?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In my context $S_1,\ldots,S_n$ describe the elementary cycles of a strongly connected component, and I'm looking for a smallest set of vertices $X$ that intersects all cycles.&lt;/p&gt;&#xA;" OwnerUserId="4068" LastEditorUserId="80" LastEditDate="2012-10-15T17:26:35.430" LastActivityDate="2012-10-22T12:44:36.330" Title="Smallest set that intersects some given sets" Tags="&lt;ds.algorithms&gt;&lt;graph-algorithms&gt;" AnswerCount="3" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="13959" PostTypeId="2" ParentId="13950" CreationDate="2012-10-15T07:30:16.593" Score="4" Body="&lt;p&gt;Oded Goldreich's &lt;a href=&quot;http://www.wisdom.weizmann.ac.il/~oded/PDF/bpp.pdf&quot; rel=&quot;nofollow&quot;&gt;In a World of P=BPP&lt;/a&gt; is one of the best written papers that I read. This is mostly due to the clarity of the exposition,  the conceptual perspective, and the choice to include reflections regarding the meaning of the results in the paper.&lt;/p&gt;&#xA;" OwnerDisplayName="user887" LastEditorDisplayName="user887" LastEditDate="2012-10-16T06:24:48.880" LastActivityDate="2012-10-16T06:24:48.880" CommentCount="0" CommunityOwnedDate="2012-10-15T07:30:16.593" ContentLicense="CC BY-SA 3.0" />
  <row Id="13960" PostTypeId="2" ParentId="13958" CreationDate="2012-10-15T08:45:06.110" Score="25" Body="&lt;p&gt;Your first problem is the hypergraph transversal problem (aka the &lt;a href=&quot;http://www.shannarasite.org/kb/kbse42.html&quot;&gt;HITTING SET&lt;/a&gt; problem). The second problem is the &lt;a href=&quot;http://en.wikipedia.org/wiki/Feedback_vertex_set&quot;&gt;FEEDBACK VERTEX&amp;nbsp;SET&lt;/a&gt; problem. Both the problems are &lt;strong&gt;NP&lt;/strong&gt;-complete.&lt;/p&gt;&#xA;" OwnerUserId="481" LastEditorUserId="481" LastEditDate="2012-10-15T10:39:58.760" LastActivityDate="2012-10-15T10:39:58.760" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="13963" PostTypeId="2" ParentId="13950" CreationDate="2012-10-15T09:34:03.373" Score="7" Body="&lt;p&gt;In the 'Great proof outline' category, these are my favorites:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&quot;&lt;a href=&quot;http://www.wisdom.weizmann.ac.il/~reingold/publications/sl.ps&quot;&gt;Undirected Connectivity in Log-Space&lt;/a&gt;&quot; by Omer Reingold.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&quot;&lt;a href=&quot;http://www.cs.princeton.edu/~arora/pubs/arvcacm.pdf&quot;&gt;Geometry, Flows, and Graph-Partitioning Algorithms&lt;/a&gt;&quot; by Sanjeev Arora, Satish Rao, and Umesh Vazirani.&lt;/p&gt;&#xA;" OwnerUserId="547" LastEditorUserId="547" LastEditDate="2012-10-15T09:39:15.770" LastActivityDate="2012-10-15T09:39:15.770" CommentCount="0" CommunityOwnedDate="2012-10-15T09:34:03.373" ContentLicense="CC BY-SA 3.0" />
  <row Id="13965" PostTypeId="2" ParentId="13950" CreationDate="2012-10-15T10:23:57.247" Score="7" Body="&lt;p&gt;&lt;a href=&quot;http://arxiv.org/abs/math.CO/0406038&quot;&gt;Entropy waves, the zig-zag graph product, and new constant-degree  expanders&lt;/a&gt; conveys a lot of intuition about graph products and expander graphs and the ideas are accessible to anyone with basic knowledge of linear algebra.&lt;/p&gt;&#xA;" OwnerUserId="6785" LastActivityDate="2012-10-15T10:23:57.247" CommentCount="0" CommunityOwnedDate="2012-10-15T10:23:57.247" ContentLicense="CC BY-SA 3.0" />
  <row Id="13966" PostTypeId="2" ParentId="13958" CreationDate="2012-10-15T11:41:59.393" Score="6" Body="&lt;p&gt;If you want to solve actual instances, you will probably like that :&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.sagemath.org/doc/reference/sage/graphs/digraph.html#sage.graphs.digraph.DiGraph.feedback_vertex_set&quot;&gt;http://www.sagemath.org/doc/reference/sage/graphs/digraph.html#sage.graphs.digraph.DiGraph.feedback_vertex_set&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Nathann&lt;/p&gt;&#xA;" OwnerUserId="1209" LastActivityDate="2012-10-15T11:41:59.393" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="13967" PostTypeId="1" AcceptedAnswerId="13988" CreationDate="2012-10-15T21:36:31.993" Score="3" ViewCount="428" Body="&lt;p&gt;(This question has been substantially revised in an attempt to word it clearly.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am wondering if anyone has seen this problem. Let $[n] = \{1,\ldots,n\}$ for an integer $n$. Consider two finite multisets of bitstrings, $$ A=\{a_i\}_{i\in[r]} \quad\text{and} \quad B=\{b_j\}_{j\in[s]} \;,$$ where each $a_i \in \{0, 1\}^n$ and each $b_j \in \{0, 1\}^n$. We may compute from this a &quot;Cartesian bitwise join&quot; $C$, which is also a multiset of bitstrings $C= \{c_{i,j}\}_{(i,j) \in [r] \times [s]}$ for size $|C| = |A| \cdot |B| = rs$, where&#xA;$$ c_{i,j} = a_i \vee b_j$$ where &quot;$\vee$&quot; is bitwise-OR.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question.&lt;/strong&gt; If you are given such a multi-set $C$, without any particular indexing, can you find multi-sets $A$ and $B$ of which $C$ is the Cartesian bit-wise join? Equivalently: given a sequence $C = (c_k)_{k\in[m]}$ consisting of bitstrings in $\{0,1\}^n$, can you find sequences $A = (a_i)_{i\in[r]}$ and $B = (b_j)_{j\in[s]}$ such that $m = rs$, and a bijection $\varphi: [r] \times [s] \to [m]$, such that $$c_{\varphi(i,j)} = a_i \vee b_j$$ for all $(i,j) \in [r] \times [s]$?&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;This problem is equivalent to the following problem. Consider the ring $R$ whose elements are strings in $\{0,1\}^n$, where addition is done bit-wise by the operation $x + y = x \oplus y \oplus 1$ (where $\oplus$ is parity) with $1^n$ being the identity, and multiplication is the bit-wise OR with $0^n$ being the identity. For some particular ordering of the elements of $A$, we may present $A$ as an element of $R^r$, and similarly present $B$ as an element of $R^s$. &#xA;The Cartesian bitwise join corresponds to the outer product of $A$ and $B$,&#xA;$$ C \;=\; A B^\top \;=\; \begin{bmatrix} a_1 \vee b_1 &amp;amp; a_1 \vee b_2 &amp;amp;\cdots&amp;amp; a_1 \vee b_s \\&#xA;a_2 \vee b_1 &amp;amp; a_2 \vee b_2 &amp;amp; \cdots &amp;amp; a_2 \vee b_s \\&#xA;\vdots &amp;amp; \vdots &amp;amp; &amp;amp; \vdots \\&#xA;a_r \vee b_1 &amp;amp; a_r \vee b_2 &amp;amp; \cdots &amp;amp; a_r \vee b_s &#xA;\end{bmatrix}\;,$$&#xA;except interpreted as a multiset rather than a matrix (that is, the elements of $C$ are not assigned to particular coefficients of an $r \times s$ matrix). Given a multiset $C$ with composite cardinality $m \in \mathbb N$, can its elements be mapped to coefficients of an $r \times s$ array (such that $m = rs$) which is an outer product of the above form?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(By interchanging 0s and 1s in all of the bitstrings, we may replace the bit-wise OR &quot;$\vee$&quot; with the bit-wise AND &quot;$\wedge$&quot;, in which case we may take $R$ to be the ring whose elements are strings in $\{0,1\}^n$, where addition is as vectors over $\mathbb Z_2$, and multiplication is the bit-wise AND. )&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;One may consider additional constraints on this problem, such as minimum Hamming weight of the bitstrings in $A$ and $B$ (in the Cartesian join formulation). We certainly require that $A,B \ne \{0^n\}$ to prevent a trivial solution.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;This problem arises in an EE &amp;amp; complexity theory context. I am looking for other cases or analysis of it.&lt;/li&gt;&#xA;&lt;li&gt;The problem is somewhat analogous to factoring but does not seem to have a unique factorization.&lt;/li&gt;&#xA;&lt;li&gt;Note that bitvectors can be naturally modelled as hypergraphs so maybe something from that theory is applicable. I did research hypergraph products but that theory does not seem to apply directly. The problem translates to finding two hypergraphs $H'$ and $H''$ given a hypergraph $H$, such that the $H$ can be formed by taking all pairwise unions of edges in $H'$ and $H''$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="-1" LastEditDate="2012-10-21T03:44:50.157" LastActivityDate="2012-10-21T03:44:50.157" Title="Factoring Cartesian bitwise join of bit vectors" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;boolean-functions&gt;" AnswerCount="2" CommentCount="29" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="13968" PostTypeId="2" ParentId="13967" CreationDate="2012-10-15T22:44:31.837" Score="4" Body="&lt;p&gt;This problem is very similar to dominating set in bipartite graphs. Indeed, whenever $a_i \lor b_j = 0$, we know that $a_i = b_j = 0$. Remove all these inputs and constraints. Now we are left with sets $A',B'$ and edges containing vertices in $A'$ to vertices in $B'$. Any solution to this system of equations corresponds to a dominating set in this bipartite graph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finding a solution of minimal Hamming weight is the same as solving minimum dominating set, which is known to be NP-hard even for planar bipartite graphs of maximum degree 3, as shown by Jukka Suomela &lt;a href=&quot;https://cstheory.stackexchange.com/a/2508/40&quot;&gt;in this very site&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="40" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2012-10-15T22:44:31.837" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="13969" PostTypeId="2" ParentId="12843" CreationDate="2012-10-16T02:55:33.873" Score="4" Body="&lt;p&gt;There is also a three-page paper by Turing that uses ranking functions to give a correctness proof. His paper is completely readable by modern standards and extremely prescient. &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;a href=&quot;http://www.turingarchive.org/browse.php/B/8&quot; rel=&quot;nofollow&quot;&gt;Checking a large routine&lt;/a&gt;, Alan Turing, Report of a Conference on High Speed Automatic Calculating Machines, pp.67-69, 1949.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="4155" LastActivityDate="2012-10-16T02:55:33.873" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="13970" PostTypeId="1" CreationDate="2012-10-16T15:05:03.203" Score="4" ViewCount="213" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Possible Duplicate:&lt;/strong&gt;&lt;br&gt;&#xA;  &lt;a href=&quot;https://cstheory.stackexchange.com/questions/1854/is-finding-the-minimum-regular-expression-an-np-complete-problem&quot;&gt;Is finding the minimum regular expression an NP-complete problem?&lt;/a&gt;  &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&#xA;&#xA;&lt;p&gt;Let's suppose that I have an unknown language $\mathcal L$, I know only two (particularly large) sets of words $\mathcal I$ and $\mathcal O$ that are and aren't in the langueage, respectively. This means: $\mathcal I\subset\mathcal L$ and $\mathcal O\cap \mathcal L=\emptyset$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there an algorithm that would try to generate the simplest possible automaton such that it accepts words in $\mathcal I$ and denies words in $\mathcal O$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I know that there's no single automaton for any such case, but I believe my language is quite and the automaton should be simple as well.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My idea in the background is that I don't know the language, I have a program that enumerates it. I suppose the language is regular and I would like to prove it by proving that it's accepted by an automaton.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;(NB: If this belongs to CS.SE, feel free to migrate it.)&lt;/em&gt;&lt;/p&gt;&#xA;" OwnerUserId="9523" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2012-10-16T17:22:58.150" Title="Getting an automaton from set of words in and out of a language" Tags="&lt;fl.formal-languages&gt;&lt;automata-theory&gt;&lt;regular-language&gt;" AnswerCount="1" CommentCount="7" ClosedDate="2012-12-06T07:45:16.783" ContentLicense="CC BY-SA 3.0" />
  <row Id="13974" PostTypeId="1" CreationDate="2012-10-16T16:39:59.480" Score="3" ViewCount="460" Body="&lt;p&gt;The problem statement is: &quot;Given a set $J$ of jobs where job $J_i$ has length $L_i$ and a number of processors $m$, jobs have inter-overlapping (For example, if job $J_i$ and $J_k$ are assigned to the same processor, then the length of $J_i$ and $J_k$ is less than $L_i+L_k$), what is the minimum possible time required to schedule all jobs in $J$ on $m$ processors.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is the above problem NP_hard? I'd be happy to get a reference or a description of a reduction.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks!&lt;/p&gt;&#xA;" OwnerUserId="12112" LastEditorUserId="109" LastEditDate="2012-10-17T20:56:27.320" LastActivityDate="2012-10-17T20:56:27.320" Title="Is this multiprocessor scheduling problem with overlaps NP-Hard?" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;&lt;optimization&gt;&lt;scheduling&gt;" AnswerCount="1" CommentCount="6" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="13975" PostTypeId="2" ParentId="13970" CreationDate="2012-10-16T17:22:58.150" Score="3" Body="&lt;p&gt;If I understand your question correctly, it is shown in the following paper that it is an NP-complete problem:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;E. Mark Gold: Complexity of Automaton Identification from Given Data Information and Control 37(3): 302-320 (1978)&lt;/p&gt;&#xA;" OwnerUserId="1536" LastActivityDate="2012-10-16T17:22:58.150" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="13977" PostTypeId="2" ParentId="11453" CreationDate="2012-10-16T19:13:04.547" Score="-3" Body="&lt;p&gt;Determining whether two Hadamard matrices are equivalent is a Graph Isomorphism (GI) complete problem. Brendon McKay has a paper on this topic. See B. D. McKay, Hadamard equivalence via graph isomorphism, Discrete Mathematics, 27 (1979) 213-216.&lt;/p&gt;&#xA;" OwnerUserId="12116" LastActivityDate="2012-10-16T19:13:04.547" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="13978" PostTypeId="2" ParentId="12791" CreationDate="2012-10-16T22:56:21.280" Score="3" Body="&lt;p&gt;In general the determinism of the transducer seems to be no real restrition. The choices that can be made by a transducer can be moved into the input language. If that is OK for you, the objects sometimes denoted ${\cal M}(L)$ are called &lt;em&gt;principal trio&lt;/em&gt;'s. Examples include families of &lt;em&gt;linear&lt;/em&gt;, &lt;em&gt;blind counter&lt;/em&gt; and &lt;em&gt;one turn counter&lt;/em&gt; languages (fixed number of counters).&lt;br&gt;&#xA;The Habilitation-thesis of Kluas Reinhardt (Counting as Method, Model and Task in Theoretical Computer Science, available on-line) contains a nice inclusion diagram of several families (page 64). &lt;/p&gt;&#xA;" OwnerUserId="12122" LastActivityDate="2012-10-16T22:56:21.280" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="13980" PostTypeId="1" AcceptedAnswerId="13981" CreationDate="2012-10-17T04:35:05.500" Score="8" ViewCount="410" Body="&lt;p&gt;It is not difficult to show that sorting an array of numbers is hard for $\mathsf{TC^0}$. &#xA;If the input is an array of 1s and 0s then it is essentially the function $Count$ (given $n$ bits, output the number of 1s in binary) since $Count$ is complete for $\mathsf{TC^0}$ and it is possible to convert unary numbers to binary numbers and (logarithmicly) small binary numbers to unary numbers in $\mathsf{AC^0}$:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;$Count(\vec{x}) = Binary(Sort(\vec{x}))$&lt;br&gt;&#xA;  $Sort(\vec{x}) = Unary(Count(\vec{x}))$&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;So the power of $\mathsf{TC^0}$ is essentially sorting a binary string (eg. 100011 to 000111).&#xA;This is true more generally when the numbers in the array are bounded. My question is what if the numbers are not bounded? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is the problem of sorting an array of unbounded numbers still in $\mathsf{TC^0}$?  Is it  complete for a larger class like $\mathsf{NC^1}$?&lt;/p&gt;&#xA;" OwnerUserId="186" LastActivityDate="2012-10-17T05:12:22.547" Title="Complexity of sorting" Tags="&lt;cc.complexity-theory&gt;&lt;circuit-complexity&gt;&lt;sorting&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="13981" PostTypeId="2" ParentId="13980" CreationDate="2012-10-17T05:12:22.547" Score="9" Body="&lt;p&gt;Suppose you have $n$ numbers $x_1,\ldots,x_n$ of width $m \geq \log n$. Without loss of generality, all numbers are different (add an extra $\log n$ lower-order bits). Two numbers can be compared in AC&lt;sup&gt;0&lt;/sup&gt;, so in AC&lt;sup&gt;0&lt;/sup&gt; we can compute, for each $x_i$, a binary vector $v$, defined by $v_j = 1$ if $x_j \geq x_i$. In TC&lt;sup&gt;0&lt;/sup&gt; we can sort $v$ to $w$, and then locate (in AC&lt;sup&gt;0&lt;/sup&gt;) the position $k$ such that $w_k = 1$ while $w_{k-1} = 0$ (where $w_0=0$, $w_{n+1}=1$). Given these values $k$ for each $i \in [n]$, we can compute the sorted array in AC&lt;sup&gt;0&lt;/sup&gt;. In total, we get a TC&lt;sup&gt;0&lt;/sup&gt; circuit.&lt;/p&gt;&#xA;" OwnerUserId="40" LastActivityDate="2012-10-17T05:12:22.547" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="13985" PostTypeId="1" CreationDate="2012-10-17T16:35:56.157" Score="0" ViewCount="80" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Possible Duplicate:&lt;/strong&gt;&lt;br&gt;&#xA;  &lt;a href=&quot;https://cstheory.stackexchange.com/questions/1854/is-finding-the-minimum-regular-expression-an-np-complete-problem&quot;&gt;Is finding the minimum regular expression an NP-complete problem?&lt;/a&gt;  &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&#xA;&#xA;&lt;p&gt;Let $\Sigma$ be an alphabet. Let $P$ and $N$ (the set of &lt;em&gt;positive&lt;/em&gt; and &lt;em&gt;negative&lt;/em&gt; examples) be two disjoint finite sets of words over $\Sigma$. I say that a deterministic finite automaton (DFA) over $\Sigma$ is &lt;em&gt;acceptable&lt;/em&gt; if it accepts all words of $P$ and rejects all words of $N$ (the behavior on words in $\Sigma^* \backslash (P \cup N)$ is unspecified).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is the complexity, given $P$ and $N$, of building a minimal acceptable DFA? Can we say that the number of states of a minimal acceptable DFA expresses an interesting intrinsic property of $P$ and $N$? Does a minimal acceptable DFA generalize the sets $P$ and $N$ in a useful way? In other words, does the behavior of a minimal acceptable automaton on $\Sigma^* \backslash (P \cup N)$ reflect a reasonable rule to distinguish $P$ and $N$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is a simple example to explain why I ask this question. If P = {abc, ade, aaaac} and N = {bac, bbe, baabb}, then a minimal acceptable DFA would be the one which only reads the first letter and either accepts or rejects; this represents the reasonable rule &quot;words starting by 'a' are in $P$, words starting by 'b' are in $N$&quot;. Likewise, if $P = \{aaaa, cab, baa, aab\}$ and $N = \{aba, abb, bba, bb, cbac\}$, I would expect the minimal acceptable DFA to accept or reject based on the second letter. I wonder what is the expressiveness of DFAs to generalize this sort of examples.&lt;/p&gt;&#xA;" OwnerUserId="4795" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.743" LastActivityDate="2012-10-17T16:35:56.157" Title="Generalizing a set of positive and negative examples through DFAs" Tags="&lt;fl.formal-languages&gt;&lt;automata-theory&gt;&lt;machine-learning&gt;&lt;lg.learning&gt;" AnswerCount="0" CommentCount="5" ClosedDate="2012-10-19T19:31:06.183" ContentLicense="CC BY-SA 3.0" />
  <row Id="13988" PostTypeId="2" ParentId="13967" CreationDate="2012-10-17T18:16:08.530" Score="5" Body="&lt;p&gt;&lt;strong&gt;Passing to the dual hypergraphs to look for products.&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As you mention in the comments, we may interpret the bitstrings contained in $A$, $B$, and $C$ as edges in hypergraphs.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Vertices are the elements of $[n]$; &lt;/li&gt;&#xA;&lt;li&gt;An edge $x \in \{0,1\}^n$ contains a vertex $v \in [n]$ if $x_v = 1$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;(Because these are multi-sets, they're actually multi-hyper-graphs. We may consider the edges to have some generic labels to distinguish them.) We may consider the dual hypergraph $H$ in which the vertices and the edges are interchanged; that is, where&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The (labelled) bitstrings $x \in \{0,1\}^n$ now distinct vertices, and&lt;/li&gt;&#xA;&lt;li&gt;A bitstring $x \in \{0,1\}^n$ belongs to an edge represented (that is, labelled) by $e \in [n]$ if and only if $x_e =1$;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;&amp;mdash; that is, a bitstring $x \in \{0,1\}^n$ describes all of the edges which are incident to it; of which there are always $n$ in this graphical model, albeit some of them may be the &quot;empty edge&quot;.&#xA;This puts us in a much better position to describe the hypergraph as a product in some conventional manner. The hypergraph $H_C$ obtained from a multiset $C$ now has a composite number of vertices $m$:  we would like hypergraphs $H_A$ and $H_B$ such that $V(H_C)$ has some particular bijective correspondance with $V(H_A) \times V(H_B)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;A diagonally restricted tensor product of hypergraphs.&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider the alternative formulation of the problem, replacing bit-wise OR with bit-wise AND, alluded to in the recent revision of the problem. (To do this, we take the bitwise complement of all of the bitstrings.)  The Cartesian bit-wise &lt;strong&gt;&lt;em&gt;meet&lt;/em&gt;&lt;/strong&gt; condition (rather than &quot;join&quot;, as we're using &quot;$\wedge$&quot; now in place of &quot;$\vee$&quot;) corresponds to the existence of a particular bijection $$\varphi: V(H_A) \times V(H_B) \to V(H_C)$$ such that the edge labelled $e \in [n]$ in $H_C$ contains only the vertices $\varphi(a,b) \in V(H_C)$ such that both $a \in V(H_A)$ and $b \in V(H_B)$ are contained in the respective edges labelled by $e$ in $H_A$ and $H_B$. This seems somewhat different from most graph products, in that we do not take combinations of arbitrary edges, but only those with consistent labels.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;If we suspended this label consistency condition, the join construction would correspond to a hypergraph tensor product (generalizing the &lt;a href=&quot;http://en.wikipedia.org/wiki/Tensor_product_of_graphs&quot; rel=&quot;nofollow&quot;&gt;tensor product of graphs&lt;/a&gt;, also commonly known as the direct product in the literature), in which we define edge-pairs $(e,f) \in E(H_A) \times E(H_B)$ which contain all vertices $(a,b) \in V(H_A) \times V(H_B)$ such that $a \in e$ and $b \in f$. This glosses over some issues to do with edges which contain $(a,b)$ and $(a,b')$ for a fixed co-ordinate $a$; but the construction we consider is appropriate to hypergraphs, taking the tensor product of the incidence matrices (characteristic functions of the edges, ranging over the vertices) to form the incidence matrix of $H_A \otimes H_B$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;To re-obtain the Cartesian bit-wise join of $H_A$ and $H_B$, we must &#xA;restrict to the diagonal edges $(e,e) \in E(H_A) \times E(H_B) =&#xA;   [n] \times [n]$, which we re-label by $(e,e) \mapsto e$. Note that $H_A$ and $H_B$ are edge-labelled hypergraphs, as their edges are non-negotiably labelled by the elements of $[n]$ from the formulation of the vertices as bitstrings with a fixed order. (Of course, when we are &lt;em&gt;searching&lt;/em&gt; for hypergraphs $H_A$ and $H_B$, re-labelling the edges simply corresponds to considering a different hypergraph.) Selecting the diagonal is a plausible restriction, if somewhat unnatural in the context of graph products.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;The resulting reformualtion.&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;From this, asking &quot;does $C$ arise from the Cartesian bitwise join of $A$ and $B$?&quot; is equivalent to asking:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is an edge-labelled hypergraph $H_C$ with $m$ vertices and at msot $n$ edges, with distinct edge-labels selected from $[n]$ isomorphic to the diagonal subgraph (&lt;em&gt;i.e.&lt;/em&gt; taking only the diagonally labelled edges) of the tensor product $H_A \otimes H_B$ of two labelled hypergraphs $H_A$ and $H_B$, which also have at most $n$ edges each and also have edges labels over $[n]$?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I'm not sure if you're going to come closer to a natural graph product formulation of than this. I rather suspect that if this does play a deep role in computational complexity that someone has studied something like this; but without knowing what areas of complexity theory it is pertinent to, I would not be able to tell you where to look, beyond perhaps investigating tensor products of hypergraphs.&lt;/p&gt;&#xA;" OwnerUserId="248" LastEditorUserId="248" LastEditDate="2012-10-20T23:42:04.250" LastActivityDate="2012-10-20T23:42:04.250" CommentCount="12" ContentLicense="CC BY-SA 3.0" />
  <row Id="13990" PostTypeId="2" ParentId="13974" CreationDate="2012-10-17T20:44:20.283" Score="4" Body="&lt;p&gt;Reduce Garey &amp;amp; Johnson problem [SS8], Multiprocessor Scheduling, to your problem.  This is NP-complete, even if $m=2$.  In this problem there are no overlaps, and a deadline is specified.  Your problem is therefore NP-hard, even in the case of zero overlaps.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you &lt;em&gt;require&lt;/em&gt; non-zero overlaps, then it is still possible to reduce Multiprocessor Scheduling to your problem, by increasing the length of each task by 1, and specifying all overlaps to be exactly 1.&lt;/p&gt;&#xA;" OwnerUserId="109" LastActivityDate="2012-10-17T20:44:20.283" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="13992" PostTypeId="1" AcceptedAnswerId="14004" CreationDate="2012-10-18T02:10:29.507" Score="9" ViewCount="2363" Body="&lt;p&gt;I've begun to get involved with Mathematical Optimization quite recently and am loving it. It seems a lot of optimization problems can be easily expressed and solved as linear programs (e.g. network flows, edge/vertex cover, travelling salesman etc.) I know that some of them are NP-hard, but the point being that they can be 'framed as a linear program' if not solved optimally.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;That got me thinking: We've always been taught systems of linear equations, linear algebra all throughout school/college. And seeing the power of LPs for expressing various algorithms it's kinda fascinating.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Question: Although we have non-linear systems prevalent all around us how/why are linear systems so crucial to computer science? I do understand that they help simplify the understanding and are computationally tractable most of the times but is that it? How good is this 'approximation'? Are we over-simplifying and are the results still meaningful in practice? Or is it just 'nature' i.e. the problems that are the most fascinating are indeed simply linear?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Would it be safe to safe that 'linear algebra/equations/programming' are of the corner stones of CS? If not then what would be a good contradiction? How often do we deal with non-linear stuff (I don't necessarily mean theoretically but also from a 'solveability' standpoint i.e. just saying it's NP doesn't cut it; there should be a good approximation to the problem and would it land up being linear?)&lt;/p&gt;&#xA;" OwnerUserId="7014" LastEditorUserId="80" LastEditDate="2012-10-18T20:42:33.437" LastActivityDate="2012-10-18T22:28:15.417" Title="How/Why are linear systems so crucial to computer science?" Tags="&lt;optimization&gt;&lt;big-picture&gt;&lt;linear-programming&gt;&lt;linear-equations&gt;" AnswerCount="2" CommentCount="6" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="13993" PostTypeId="1" AcceptedAnswerId="14007" CreationDate="2012-10-18T02:20:46.120" Score="8" ViewCount="208" Body="&lt;p&gt;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.16.7135&quot;&gt;Concurrent Zero Knowledge Proofs with Logarithmic&#xA;Round-Complexity&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Page numbers are from the paper itself, and not the pdf.&#xA;&lt;br&gt;&lt;br&gt;&lt;br&gt;&#xA;From page 3,&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&quot;An interactive proof system is said to be black-box (computational) zero&#xA;  &lt;br&gt;&#xA;  knowledge if there is a probabilistic polynomial time oracle machine $S$ such that&#xA;  &lt;br&gt;&#xA;  for any probabilistic polynomial time verifier $V^*$ and for all $\:x \in L\:$, the distribution&#xA;  &lt;br&gt;&#xA;  of the output produced by $S^{V^*}$  on input $x$ is computationally indistinguishable &#xA;  &lt;br&gt;&#xA;  from the view of the verifier at the end of the interaction $(P,V)(x)$.&quot;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;br&gt;&#xA;I assume they mean $\:\left(P,V^*\right)(x)\:$ at the end, otherwise this&#xA;&lt;br&gt;&#xA;just defines Honest Verifier Computational Zero Knowledge.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;br&gt;&#xA;From page 7,&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&quot;If the simulator does not abort till all the sessions are over (or the&#xA;  &lt;br&gt;&#xA;  verifier terminates), it outputs the view of the verifier at that point.&quot;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;br&gt;&#xA;From the third paragraph on page 8,&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&quot;If the depth counter indicates that we are just one level above the leaves, then the&#xA;  &lt;br&gt;&#xA;  simulator has to wait for the next two preamble messages, i.e., it has to move through&#xA;  &lt;br&gt;&#xA;  the two leaves, and then return. For this the simulator keeps modifying the current view&#xA;  &lt;br&gt;&#xA;  by letting the (modified) prover and the verifier run, until two preamble messages arrive.&quot;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;br&gt;&#xA;It seems to me like this can't work, since the prover's message&#xA;&lt;br&gt;&#xA;at that stage is just a statistically binding commitment.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $\: p: \omega \to \omega \:$ be a polynomial that bounds the number of oracle queries $S$ makes when $V^*$ only requests one proof. $\:$ Suppose the statistically binding commitment scheme being used&#xA;&lt;br&gt;&#xA;is such that it is easy to compute a predicate which commitments have a probability of approximately $\: \frac1{2\cdot p(k)} \:$ of satisfying (for example, &lt;a href=&quot;http://en.wikipedia.org/wiki/Commitment_scheme#Bit-commitment_from_a_pseudo-random_generator&quot;&gt;Naor commitments&lt;/a&gt; or &lt;a href=&quot;http://en.wikipedia.org/wiki/Commitment_scheme#Bit-commitment_from_any_one-way_permutation_.28or_injective_one_way_function.29.5B1.5D:226&quot;&gt;commitment from an injective pseudo-random generator&lt;/a&gt;). $\:$ Have the cheating verifier $V_1$ request only one proof and then behave like the honest verifier except that, at one level above the leaves, it will terminate&#xA;&lt;br&gt;&#xA;if the prover's commitment does not satisfy the predicate. $\;\;$ The probability of $\:\left(P,V_1\right)(x)\:$ succeeding is obviously approximately $\: \frac1{2\cdot p(k)} \:$, $\:$ whereas by the union bound, but by the&#xA;&lt;br&gt;&#xA;union bound and the independence of the simulator's, the probability that $S^{V_1}$ outputs a&#xA;&lt;br&gt;&#xA;succeeding view is not non-negligibly more than $\: \frac1{4\cdot p(k)} \:$. $\;\;$ This means that for sufficiently&#xA;&lt;br&gt;&#xA;large $k$, the probability of $\:\left(P,V_1\right)(x)\:$ succeeding will be more than $\: \frac1{5\cdot p(k)} \:$ greater than&#xA;&lt;br&gt;&#xA;the probability $S^{V_1}$ has of outputting a succeeding view. $\;\;$ That means the distribution&#xA;&lt;br&gt;&#xA;of $S^{V_1}$ is computationally distinguishable from the distribution of $\:\left(P,V_1\right)(x)\:$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is this an error in the paper? $\:$ If no, what am I missing?&#xA;&lt;br&gt;&lt;br&gt;&lt;/p&gt;&#xA;" OwnerDisplayName="user6973" LastEditorUserId="123" LastEditDate="2014-09-24T13:19:52.603" LastActivityDate="2014-09-24T13:19:52.603" Title="question about concurrent ZK paper by Prabhakaran &amp; Sahai" Tags="&lt;cr.crypto-security&gt;&lt;concurrency&gt;&lt;zero-knowledge&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="13996" PostTypeId="1" AcceptedAnswerId="14000" CreationDate="2012-10-18T08:05:46.837" Score="5" ViewCount="133" Body="&lt;p&gt;Let $d,q \in \mathbb{N}$, and let $f:\mathrm{GF}(q) \to \mathrm{GF}(q)$ be a univariate polynomial. In this case, it is possible to test whether $f$ is of degree at most $d$ (or whether $f$ is at least $\epsilon$ from it) using the algorithm of (&lt;a href=&quot;http://dl.acm.org/citation.cfm?id=586678&quot;&gt;RS96&lt;/a&gt;). The testing algorithm works by simply trying to interpolate the function $f$ on $\Theta(1/\epsilon)$ collections of $d + 2$ uniformly selected points, and checking whether the resulting functions are all polynomial of degree at most $d$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there an extension of this result that allows to test whether a bivariate polynomial $g:\mathrm{GF}(q)^2 \to \mathrm{GF}(q)$ is of degree at most $d$ &lt;em&gt;in the first variable&lt;/em&gt;, using $O(\epsilon^{-1} \cdot d)$ queries?&lt;/p&gt;&#xA;" OwnerDisplayName="user887" LastActivityDate="2012-10-18T12:18:25.753" Title="Testing low degree bivariate polynomials" Tags="&lt;ds.algorithms&gt;&lt;property-testing&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14000" PostTypeId="2" ParentId="13996" CreationDate="2012-10-18T12:18:25.753" Score="4" Body="&lt;p&gt;If you only care about the first variable, then I believe the following simple test should work: pick a random value $\beta \in \rm{GF}(q)$ and check that $f(\cdot, \beta)$ is a univariate polynomial of degree at most $d$ - say, by choosing few collections of $d+2$ points of the form $(\cdot,\beta)$ and interpolating them.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The analysis of this test should be trivial: If the function is far from being of degree $d$ in the first variable, it must be far from a univariate polynomial of degree $\le d$ for many values of $\beta$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you wish to test that $f$ is of degree $\le d$ in both variables, you can use the (highly non-trivial) result of Polischuk and Spielman from 1994, which is proved in Sections 2-5 in the following paper (see Theorem 9):&#xA;&lt;a href=&quot;http://cs-www.cs.yale.edu/homes/spielman/Research/holographic.html&quot; rel=&quot;nofollow&quot;&gt;http://cs-www.cs.yale.edu/homes/spielman/Research/holographic.html&lt;/a&gt; &lt;/p&gt;&#xA;" OwnerUserId="8429" LastActivityDate="2012-10-18T12:18:25.753" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="14001" PostTypeId="1" AcceptedAnswerId="14002" CreationDate="2012-10-18T15:42:17.207" Score="6" ViewCount="1251" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Possible Duplicate:&lt;/strong&gt;&lt;br&gt;&#xA;  &lt;a href=&quot;https://cstheory.stackexchange.com/questions/10044/implications-of-unprovability-of-p-neq-np&quot;&gt;Implications of unprovability of $P\neq NP$&lt;/a&gt;  &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&#xA;&#xA;&lt;p&gt;I shortly came across Gödels incompleteness theorem again and I wondered, since so much time has been spent on trying to answer whether $P = NP$, do we know that such a proof exists? Maybe $P = NP$ is a theorem that can't be answered with the kind of math we are currently working with. Do you know evidence or even a proof that Gödels incompleteness theorem does not apply to whether $P = NP$?&lt;/p&gt;&#xA;" OwnerUserId="12149" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2012-10-18T16:42:31.227" Title="Do we know that the P vs. NP question isn't affected by Gödels incompleteness theorem?" Tags="&lt;reference-request&gt;&lt;open-problem&gt;&lt;p-vs-np&gt;" AnswerCount="1" CommentCount="7" FavoriteCount="1" ClosedDate="2012-10-18T20:41:32.470" ContentLicense="CC BY-SA 3.0" />
  <row Id="14002" PostTypeId="2" ParentId="14001" CreationDate="2012-10-18T16:42:31.227" Score="9" Body="&lt;p&gt;Note that G&amp;ouml;del's Incompleteness Theorems are the following statements:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Any formal system which can be used to express arithmetic is either incomplete (there are statements which are neither provable nor disprovable) or inconsistent.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Any formal system which can be used to prove a statement equivalent to  its own consistency, is in fact inconsistent.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;But assuming, for instance, that ZF set theory (or an essentially equivalent  foundation for mathematical subjects such as computer science) is consistent, we don't need G&amp;ouml;del's Theorems anymore to tell us that there are statements which are neither provable nor disprovable from our foundations: interesting specific examples, such as the Axiom of Choice have already been demonstrated. So even without G&amp;ouml;del's Theorem, it is certainly &lt;em&gt;concievable&lt;/em&gt; that a statement such as &quot;&lt;strong&gt;P&lt;/strong&gt; = &lt;strong&gt;NP&lt;/strong&gt;&quot; is indepdendent of set theory.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For this question, &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.89.6548&quot;&gt;Scott Aaronson has written a very accessible article&lt;/a&gt; on the subject, which also goes over the basics of formal logic, what it could mean to have a model of set theory which included an axiom which is equivalent to asserting its own inconsistency, and the subject of logical independence results in general.&lt;/p&gt;&#xA;" OwnerUserId="248" LastActivityDate="2012-10-18T16:42:31.227" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="14004" PostTypeId="2" ParentId="13992" CreationDate="2012-10-18T20:49:38.077" Score="12" Body="&lt;p&gt;The premise of the question is a little flawed: there are many who would argue that quadratics are the real &quot;boundary&quot; for tractability and modelling, since least-squares problems are almost as 'easy' as linear problems. There are others who'd argue that convexity (or even submodularity in certain cases) is the boundary for tractability. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Perhaps what is more relevant is &quot;why do linear systems admit tractable solutions ?&quot; which is not exactly what you asked, but is related. One perspective on this is composability. Since the defining property of a linear system is that $f(x + y) = f(x) + f(y)$, this imparts a kind of &quot;memorylessness&quot; to the system. To build up a solution to a problem I can focus on individual pieces and combine them with no penalty. Indeed, the premise of most algorithms for flow is precisely that. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This memorylessness imparts efficiency: I can break things into pieces, or work iteratively, and I don't lose by virtue of doing so. I can still make bad decisions (c.f. greedy algorithms) but the act of splitting things up itself doesn't hurt me. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is one reason why linearity has such power. There are probably many others. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2012-10-18T20:49:38.077" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="14005" PostTypeId="2" ParentId="13992" CreationDate="2012-10-18T22:15:50.947" Score="5" Body="&lt;p&gt;&quot;&lt;em&gt;Although we have non-linear systems prevalent all around us how/why are linear systems so crucial to computer science?&quot;&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is a partial answer in my mind:&#xA;I think it is because nature is abound with objects/phenomena - representable by functions which albeit being nonlinear on their operands, are actually members of linear spaces. The wave functions in a Hilbert space, the components in a fourier spectrum, polynomial rings, stochastic processes - they all behave in that fashion. &#xA;Even very general definitions of curved spaces are built out of composing small charts of flat spaces ( manifolds, Riemann surfaces, .. ). &#xA;Moreover, nature is full of symmetries and studying symmetries invariably gets into study of linear operators (representation theory, in my mind, is creeping into many areas of computer science ever so ubiquitously).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;These are in addition to the cases where the operators themselves are linear in nature. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A large fraction of problems for which we need computer programs, arise either directly as, or are abstracted from, naturally occuring phenomena. Perhaps studying/solving linear systems shouldn't be a great deal of surprise, after all?&lt;/p&gt;&#xA;" OwnerUserId="5868" LastEditorUserId="5868" LastEditDate="2012-10-18T22:28:15.417" LastActivityDate="2012-10-18T22:28:15.417" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14006" PostTypeId="1" CreationDate="2012-10-18T23:20:07.723" Score="-3" ViewCount="468" Body="&lt;p&gt;Consider rules as they are used for context-sensitive languages:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\alpha A \beta \rightarrow \alpha \gamma \beta$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $\alpha$ is always empty, we have right-context sensitive grammars:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$A \beta \rightarrow \gamma \beta$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So $\beta$ is here the context.&#xA;But now consider rules of the form&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$A \beta \rightarrow \gamma$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(We are now beyond context-sensitive languages.) Is there a name for this $\beta$? It is not a context, but almost. I am particularly interested if $\beta$ is restricted to zero, one or more terminals.&lt;/p&gt;&#xA;" OwnerDisplayName="user12156" LastEditorUserId="1037" LastEditDate="2012-10-27T23:43:44.447" LastActivityDate="2012-10-27T23:43:44.447" Title="Name for terminals on the left-hand side of grammar rules?" Tags="&lt;fl.formal-languages&gt;&lt;terminology&gt;&lt;grammars&gt;" AnswerCount="1" CommentCount="6" ClosedDate="2012-11-01T20:50:34.797" ContentLicense="CC BY-SA 3.0" />
  <row Id="14007" PostTypeId="2" ParentId="13993" CreationDate="2012-10-19T02:13:47.810" Score="10" Body="&lt;p&gt;I'm one of the authors. Someone pointed me to this question. Based on a quick reading, here's an attempt at answering your concern.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What may not be very clear from this version of the description of the simulator (this was the first time I was describing a simulator, and admittedly it reads a bit too much like machine language) is that the view output by the simulator, after all the pushing and popping of the stack, corresponds to only the traversal through edges labeled with L1 and R1. So even if the verifier aborts somewhere else, it just get popped off, and the simulator continues.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'd recommend the FOCS proceedings version (or a slightly expanded version that is available from my homepage) over this e-print version. In terms of the description in the proceedings version, the simulator's output corresponds to the &quot;main thread&quot; of the simulation, and doesn't include any aborts that may happen in the look-ahead blocks. (Just looking at the paper: see Figure 3 for an illustration.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hope that helps.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;-Manoj&lt;/p&gt;&#xA;" OwnerUserId="12158" LastActivityDate="2012-10-19T02:13:47.810" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14009" PostTypeId="1" AcceptedAnswerId="14011" CreationDate="2012-10-19T08:13:08.533" Score="-3" ViewCount="777" Body="&lt;p&gt;I've written a small python program which implements a Turing Machine with a finite tape. It has a tape, a head, a state register and a set of transfer functions (&quot;the program&quot;). The difference to a TM is that when the head reaches the end of the tape, a separate state is triggered: 'end of tape left' and 'end of tape right'. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, my experimental idea is to have the transition table in memory so that I have a more &quot;complete&quot; virtual machine, along the lines of a Von Neumann Universal Constructor (not quite the same). What is the minimal program that can run other programs in memory? I'm interested in a different structure of a minimal computing machine, where the transition table is closer to a machine instruction set and can be hold in memory. This will certainly bloat the structure - I'm fine with that. This would be something like a minimal machine which implements an operating system.&lt;/p&gt;&#xA;" OwnerUserId="10861" LastEditorUserId="-1" LastEditDate="2012-10-21T04:08:46.740" LastActivityDate="2012-10-21T04:08:46.740" Title="Minimal Turing Machine implementation / Von Neumann UC" Tags="&lt;computability&gt;&lt;automata-theory&gt;&lt;turing-machines&gt;&lt;machine-models&gt;&lt;cellular-automata&gt;" AnswerCount="1" CommentCount="6" ClosedDate="2012-11-07T14:57:01.337" ContentLicense="CC BY-SA 3.0" />
  <row Id="14010" PostTypeId="2" ParentId="844" CreationDate="2012-10-19T09:38:07.587" Score="6" Body="&lt;p&gt;Mathematical models of genetic algorithms with finite but non-unitary populations are unwieldy, and have, so far, proven unamenable to analysis for all but the most trivial of fitness functions. Interestingly, if you are willing to accept a &lt;em&gt;symmetry argument&lt;/em&gt;, an argument, in other words, not made within the confines of a formal axiomatic system, then there is an exciting and beautiful result to be had about the computational power of genetic algorithms.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Specifically, a genetic algorithm with uniform crossover is capable of evaluating vast numbers of coarse schema partitions implicitly and in parallel, and can efficiently identify partitions whose constituent schemata have differing average fitness values. This form of &lt;strong&gt;implicit parallelism&lt;/strong&gt; is actually more powerful than the kind described by John Holland and his students, and unlike the implicit parallelism described by Holland, can be verified experimentally. (See &lt;a href=&quot;http://blog.hackingevolution.net/2013/03/24/implicit-concurrency-in-genetic-algorithms/&quot; rel=&quot;nofollow&quot;&gt;this&lt;/a&gt; blog post.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The following paper explains how genetic algorithms with uniform crossover parlay implicit parallelism into a general-purpose, global optimization heuristic called &lt;em&gt;hyperclimbing&lt;/em&gt;:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://s3.amazonaws.com/burjorjee/www/foga010-burjorjee.pdf&quot; rel=&quot;nofollow&quot;&gt;Explaining optimization in genetic algorithms with uniform crossover&lt;/a&gt;. To appear in the proceedings of the Foundations of Genetic Algorithms 2013 conference. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Disclaimer: I am the paper's author) &lt;/p&gt;&#xA;" OwnerUserId="12162" LastEditorUserId="12162" LastEditDate="2013-04-11T07:42:06.673" LastActivityDate="2013-04-11T07:42:06.673" CommentCount="1" CommunityOwnedDate="2013-04-11T07:42:06.673" ContentLicense="CC BY-SA 3.0" />
  <row Id="14011" PostTypeId="2" ParentId="14009" CreationDate="2012-10-19T10:05:59.910" Score="3" Body="&lt;p&gt;Look at the &quot; $U$s &quot; in the first table of the paper &quot;&lt;a href=&quot;http://www.dm.unito.it/~cerruti/ac/paperpm1.pdf&quot; rel=&quot;nofollow&quot;&gt;Small Turing Machines ...&lt;/a&gt;&quot;. For example, 2 states and 18 symbols are enough to build a Turing Machine that can execute an operating system (if you augment it with an adequate I/O mechanism :) ...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you look for small models closer to the Von Neumann architecture then take a look at &lt;a href=&quot;http://en.wikipedia.org/wiki/Random-access_stored-program_machine&quot; rel=&quot;nofollow&quot;&gt;Random-access stored-program machines&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;From Wikipedia: &lt;em&gt;... The RASP is a &lt;a href=&quot;http://en.wikipedia.org/wiki/Random-access_machine&quot; rel=&quot;nofollow&quot;&gt;random-access machine (RAM) model&lt;/a&gt; that, unlike the RAM, has its program in its &quot;registers&quot; together with its input....&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The instruction set has only 3 opcodes: INC, DEC and JZ&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See also &lt;a href=&quot;http://www.cs.utoronto.ca/~sacook/homepage/rams.pdf&quot; rel=&quot;nofollow&quot;&gt;S.A. Cook and R.A. Reckhow, &quot;Time Bounded Random Access Machines&quot;&lt;/a&gt; (they use a larger ALGOL-like set of instructions).&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2012-10-19T10:30:22.733" LastActivityDate="2012-10-19T10:30:22.733" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14012" PostTypeId="1" CreationDate="2012-10-19T12:37:46.430" Score="25" ViewCount="57175" Body="&lt;p&gt;I am currently studying mathematics. However, I don't think I want to become a professional mathematician in the future. I am thinking of applying my knowledge of mathematics to do research in artificial intelligence. However, I am not sure how many mathematics courses I should follow. (And which CS theory courses I should follow.) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;From Quora, I learned that the subjects Linear Algebra, Statistics and Convex Optimization are most relevant for Machine Learning (see &lt;a href=&quot;https://www.quora.com/What-parts-of-mathematics-are-most-relevant-for-machine-learning&quot;&gt;this&lt;/a&gt; question). Someone else mentioned that learning Linear Algebra, Probability/Statistics, Calculus, Basic Algorithms and Logic are needed to study artificial intelligence (see &lt;a href=&quot;https://www.quora.com/What-skills-and-or-maths-are-needed-to-study-artificial-intelligence&quot;&gt; this &lt;/a&gt; question). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I can learn about all of these subjects during my first 1.5 years of the mathematics Bachelor at our university. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I was wondering, though, if there are some upper-undergraduate of even graduate-level mathematics subjects that are useful or even needed to study artificial intelligence. What about ODEs, PDEs, Topology, Measure Theory, Linear Analysis, Fourier Analysis and Analysis on Manifolds? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;One book that suggests that some quite advanced mathematics is useful in the study of artificial intelligence is &lt;em&gt;Pattern Theory: The Stochastic Analysis of Real-World signals&lt;/em&gt; by David Mumford and Agnes Desolneux (see &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/1568815794&quot;&gt;this&lt;/a&gt; page). It includes chapters on Markov Chains, Piecewise Gaussian Models, Gibbs Fields, Manifolds, Lie Groups and Lie Algebras and their applications to pattern theory. To what extend is this book useful in A.I. research?   &lt;/p&gt;&#xA;" OwnerUserId="5712" LastEditorUserId="1037" LastEditDate="2012-10-19T23:31:43.803" LastActivityDate="2017-07-21T15:04:52.967" Title="To what extent is &quot;advanced mathematics&quot; needed/useful in A.I. research?" Tags="&lt;soft-question&gt;&lt;machine-learning&gt;&lt;ai.artificial-intel&gt;" AnswerCount="5" CommentCount="1" FavoriteCount="32" ContentLicense="CC BY-SA 3.0" />
  <row Id="14013" PostTypeId="2" ParentId="14012" CreationDate="2012-10-19T13:27:19.563" Score="61" Body="&lt;p&gt;I do not want to sound condescending, but the math you are studying at the undergraduate and even graduate level courses is not advanced. It is the &lt;em&gt;basics&lt;/em&gt;. The title of your question should be: Is &quot;basic&quot; math needed/useful in AI research? So, gobble up as much as you can, I have never met a computer scientist who complained about knowing too much math, although I met many who complained about not knowing enough of it. I remember helping a fellow graduate student in AI understand a page-rank-style algorithm. It was just some fairly easy linear algebra to me, but he suffered because he had no feeling for what eigenvalues and eigenvectors were about. Imagine the things AI people could do if they actually knew a lot of math!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I teach at a math department and I regularly get requests from my CS colleagues to recommend math majors for CS PhD's becase they prefer math students. You see, math is really, really hard to learn on your own, but most aspects of computer science are not. I know, I was a math major who got into a CS graduate school. Sure, I was &quot;behind&quot; on operating systems knowledge (despite having decent knowledge of Unix and VMS), but I was way, way ahead on &quot;theory&quot;. It is not a symmetric situation.&lt;/p&gt;&#xA;" OwnerUserId="705" LastEditorUserId="705" LastEditDate="2012-10-19T13:40:49.130" LastActivityDate="2012-10-19T13:40:49.130" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="14016" PostTypeId="1" CreationDate="2012-10-19T15:44:15.777" Score="12" ViewCount="474" Body="&lt;p&gt;In one of his papers Edgser Dijkstra makes a statement like:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&quot;What we consider to be the standard case is one case among many exceptional cases only it occurs more often &quot; or something along such lines.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does any one know the paper it came from or the exact quotation?&lt;/p&gt;&#xA;" OwnerUserId="12164" LastEditorUserId="12164" LastEditDate="2012-10-20T09:51:40.830" LastActivityDate="2012-10-23T11:28:52.013" Title="Looking for a quotation by Edsger Dijkstra" Tags="&lt;reference-request&gt;&lt;soft-question&gt;&lt;ho.history-overview&gt;" AnswerCount="0" CommentCount="11" ContentLicense="CC BY-SA 3.0" />
  <row Id="14019" PostTypeId="2" ParentId="14012" CreationDate="2012-10-19T18:48:51.427" Score="7" Body="&lt;p&gt;Max, here is a (necessarily) partial list :&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Basic linear algebra and probability are needed all over the place. I suppose you don't need references for that.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To my knowledge, Fourier analysis has been used in some learning-theory related investigation. Check out &lt;a href=&quot;http://www.almaden.ibm.com/cs/people/vitaly/papers/FGKP_FOCS_06.pdf&quot; rel=&quot;noreferrer&quot;&gt;this paper&lt;/a&gt;, for instance.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The concept of manifold learning is getting popular, and you can start taking a look at the works of Mikhail belkin and Partha Niyogi. This line of work requires understanding of various concepts related to manifolds and riemannian geometry.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is another aspect of machine learning, that has deeper roots into statistics, &lt;em&gt;viz.,&lt;/em&gt;  Information geometry. This area ties in various concepts of Riemannian geometry, information theory, Fisher information, etc. A cousin of this sort of study can be found in Algebraic statistics - which is a nascent field with a lot of potential.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Sumio Watanabe, investigated a different frontier, viz., the existence of singularities in learning models and how to apply deep results of &lt;em&gt;resolutions&lt;/em&gt; from algebraic geometry to address many questions. Watanabe's results draw upon heavily from Heisuke Hironaka's celebrated work that won him the Fields medal.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I suppose I am omitting many other areas that require relatively heavy math. &#xA;But as Andrej pointed out, most of them probably do not lie at the frontiers of mathematics, but are relatively older and established domains.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;At any rate, however, I suppose that the present state of AI that has entered into &lt;em&gt;mainstream computing&lt;/em&gt; - such as in the recommendation systems in Amazon, or the machine learning libraries found in Apache Mahout, do not require any advanced math. I may be wrong.&lt;/p&gt;&#xA;" OwnerUserId="5868" LastEditorUserId="5868" LastEditDate="2012-10-19T21:06:10.550" LastActivityDate="2012-10-19T21:06:10.550" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14020" PostTypeId="1" CreationDate="2012-10-19T23:53:51.460" Score="4" ViewCount="631" Body="&lt;p&gt;I didn't find deep informations on &lt;a href=&quot;http://en.wikipedia.org/wiki/Shortest_path_problem#All-pairs_shortest_paths&quot; rel=&quot;nofollow&quot;&gt;Wikipedia about all-pairs shortest path&lt;/a&gt;, in particular I do not know what is the best algorithm to solve this problem beyond Floyd-Warshall's one, then I do not know if the following observation is too irrelevant or trivial. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In &lt;a href=&quot;http://en.wikipedia.org/wiki/Max-plus_algebra&quot; rel=&quot;nofollow&quot;&gt;maxplus algebra&lt;/a&gt; we revisited linear algebra substituting the usual operations with the max-operation and plus-operation instead of addition and multiplication respectively. In particular we obtain an equivalent theory by taking minimum instead of maximum, then having a minplus algebra (with the obvious changing in the associated semiring, i.e. taking $+\infty$ instead of $-\infty$ as neutral element for the first operation).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Trying to see what the usual graph-theoretic-interpretation of matrix multiplication become in the minplus algebra (with $+\infty$ in the entries corresponding to non-existing edge and $0$s on the diagonal), I see that the $k$-th power of the adjacency matrix gives the shortest paths of length at most $k$. Then, all-pairs shortest path could be solved in $n^\omega \log n$ (where $\omega$ is the present lowest exponent for matrix multiplication) instead of $n^3$ like FW-alg. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Did I made big mistakes about all that? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I consider that maybe the lower bounds on matrix multiplication are not valid changing operations... but then seems plausible that it could be possible to have an exponent less than $3$ also for minplus algebraic matrix multiplication; among other things, the multiplication is far more computationally expensive than addition, and so is taking minimum respect to addition.&lt;/p&gt;&#xA;" OwnerUserId="4417" LastEditorUserId="39090" LastEditDate="2019-10-21T08:11:46.457" LastActivityDate="2019-10-21T08:11:46.457" Title="What about apply maxplus algebra for all-pairs shortest paths?" Tags="&lt;ds.algorithms&gt;&lt;graph-algorithms&gt;&lt;linear-algebra&gt;&lt;shortest-path&gt;&lt;matrix-product&gt;" AnswerCount="0" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="14021" PostTypeId="2" ParentId="2802" CreationDate="2012-10-20T00:11:00.040" Score="7" Body="&lt;p&gt;The linear programming problem is solvable in (weakly) polynomial time. This seems very surprising: why would we be able to find one among an exponential number of vertices of a high-dimensional polytope? Why would we be able to solve a problem which is so ridiculously expressive? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Not to mention all the exponential-size linear programs which we can solved by using the ellipsoid method and separation oracles, and other methods (adding variables, etc.). For example, it's amazing that an LP with an exponential number of variables such as the Karmakar-Karp relaxation of Bin Packing can be efficiently approximated.&lt;/p&gt;&#xA;" OwnerUserId="4896" LastActivityDate="2012-10-20T00:11:00.040" CommentCount="2" CommunityOwnedDate="2012-10-20T00:11:00.040" ContentLicense="CC BY-SA 3.0" />
  <row Id="14025" PostTypeId="1" CreationDate="2012-10-20T04:07:14.233" Score="5" ViewCount="370" Body="&lt;p&gt;Let $T$ be a planar triangulation.  It is known that one can guard the faces of $T$ using at most $\lfloor n/3 \rfloor$ edge-guards (&lt;a href=&quot;http://dx.doi.org/10.1016/S0925-7721%2803%2900027-0&quot; rel=&quot;nofollow&quot;&gt;Worst-case-optimal algorithms for guarding planar graphs and polyhedral surfaces&lt;/a&gt;). I am trying to obtain a similar upper bound for an extension of this problem, as follows.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, let $T$ be a three-dimensional triangulation (a tetrahedralization), and let $S$ be a subset of its edges.  We say that $S$ &lt;strong&gt;strongly guards&lt;/strong&gt; $T$ if, for every tetrahedron in $T$, one of the six edges of that tetrahedron lies in $S$.  &lt;strong&gt;Is there a known nontrivial upper bound for the number of edges required to strongly guard all tetrahedra of a tetrahedralization?&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Obviously, this problem can be solved via &lt;em&gt;edge-coloring with no monochromatic tetrahedra&lt;/em&gt;. Is there any upper bound on the edge chromatic number for three-dimensional triangulations better than $\Delta + 1$? Maybe the assumption that $T$ is a Delaunay triangulation can conduct to a probabilistic bound.&lt;/p&gt;&#xA;" OwnerUserId="183" LastEditorUserId="183" LastEditDate="2012-11-13T18:56:55.350" LastActivityDate="2012-11-13T18:56:55.350" Title="Strongly edge-guarding a 3d triangulation" Tags="&lt;graph-theory&gt;&lt;cg.comp-geom&gt;&lt;upper-bounds&gt;&lt;delaunay-triangulation&gt;" AnswerCount="0" CommentCount="6" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14028" PostTypeId="2" ParentId="11453" CreationDate="2012-10-20T14:30:10.190" Score="12" Body="&lt;p&gt;Sorry I'm late!  In quantum computing theory, there are lots of examples of optimization problems over the unitary group that, surprisingly (at least to me), are solvable in (classical) polynomial time by reduction to semidefinite programming.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here was an early example: solving a &lt;a href=&quot;http://www.scottaaronson.com/papers/bfpsiam.pdf&quot; rel=&quot;nofollow&quot;&gt;problem of mine&lt;/a&gt; from 2000, in 2003 &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.113.1101&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;nofollow&quot;&gt;Barnum, Saks, and Szegedy&lt;/a&gt; showed that Q(f), the quantum query complexity of a Boolean function f:{0,1}&lt;sup&gt;n&lt;/sup&gt;&amp;rarr;{0,1}, can be computed in time polynomial in 2&lt;sup&gt;n&lt;/sup&gt; (i.e., the size of f's truth table).  I had thought about this but couldn't see how to do it, since one needs to optimize the success probability over all possible quantum query algorithms, each one with its own set of (possibly 2&lt;sup&gt;n&lt;/sup&gt;-sized) unitary matrices.  Barnum et al. reduced to SDP by exploiting a &quot;duality&quot; between unitary matrices and positive semidefinite matrices, the so-called &lt;a href=&quot;http://en.wikipedia.org/wiki/Channel-state_duality&quot; rel=&quot;nofollow&quot;&gt;Choi-Jamiolkowski isomorphism&lt;/a&gt;.  For a more recent and simpler SDP characterizing Q(f), see &lt;a href=&quot;http://eccc.hpi-web.de/report/2010/110/&quot; rel=&quot;nofollow&quot;&gt;Reichardt's 2010 paper&lt;/a&gt; showing that the negative-weight adversary method is optimal.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another important case where this trick has been exploited is in quantum interactive proof systems.  While it's not intuitively obvious, in 2000 &lt;a href=&quot;https://cs.uwaterloo.ca/~watrous/Papers/Quantum%20Interactive%20Proofs.pdf&quot; rel=&quot;nofollow&quot;&gt;Kitaev and Watrous&lt;/a&gt; proved that QIP &amp;sube; EXP. by reducing the problem of optimizing over the exponential-sized unitary matrices that arise in a 3-round quantum interactive proof system, to solving a singly-exponential-sized SDP (again, I think, using the Choi-Jamiolkowski isomorphism between mixed states and unitary matrices).  The recent &lt;a href=&quot;http://arxiv.org/abs/0907.4737&quot; rel=&quot;nofollow&quot;&gt;QIP=PSPACE breakthrough&lt;/a&gt; came from showing that that particular SDP could be approximately solved even better, in NC (i.e., by log-depth circuits).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, whatever your specific optimization problem involving the unitary group, my guess is that it can be solved faster than you think -- if not in some even simpler way, then by reduction to SDP!&lt;/p&gt;&#xA;" OwnerUserId="1575" LastEditorUserId="1575" LastEditDate="2012-10-20T22:05:06.613" LastActivityDate="2012-10-20T22:05:06.613" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14030" PostTypeId="1" CreationDate="2012-10-20T18:23:28.480" Score="15" ViewCount="391" Body="&lt;p&gt;Suppose that, for each $\epsilon &amp;gt; 0$, there is an Turing machine $M_{\epsilon}$ that decides a language $L$ in time $O(n^{a + \epsilon})$. Is there a single algorithm deciding $L$ in time $O(n^{a + o(1)})$? (Here, the $o(1)$ term is measured in terms of $n$, the input length.) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does it make a difference if the algorithms $M_{\epsilon}$ are computable, or efficiently computable, in terms of $\epsilon$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Motivation: in many proofs, it is easier to construct algorithms of time $O(n^{a + \epsilon})$ than the limiting algorithm $O(n^{a + o(1)})$. In particular, you need to bound the constant term in $O(n^{a + \epsilon})$ to pass to the limit $O(n^{a+o(1)})$. It would be nice if there is some general result you can invoke to pass to the limit directly.&lt;/p&gt;&#xA;" OwnerUserId="5538" LastActivityDate="2012-10-24T05:18:00.727" Title="Under what circumstances do $O(n^{a + \epsilon})$ algorithms imply $O(n^{a+o(1)})$ algorithms?" Tags="&lt;cc.complexity-theory&gt;&lt;asymptotics&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14031" PostTypeId="2" ParentId="14006" CreationDate="2012-10-20T18:40:20.610" Score="9" Body="&lt;p&gt;In a rule &lt;i&gt;Aβ&lt;/i&gt;→&lt;i&gt;γβ&lt;/i&gt;, &lt;i&gt;β&lt;/i&gt; is called the context because it does not change by applying the rule.  Applying a rule &lt;i&gt;Aβ&lt;/i&gt;→&lt;i&gt;γ&lt;/i&gt; changes the &lt;i&gt;β&lt;/i&gt; part completely, and therefore &lt;i&gt;β&lt;/i&gt; is not a context at all.  In this case, &lt;i&gt;β&lt;/i&gt; does not have a name. It is nothing more than one of the many substrings of the left-hand side of the rule &lt;i&gt;Aβ&lt;/i&gt;→&lt;i&gt;γ&lt;/i&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If I have to call &lt;i&gt;β&lt;/i&gt; as something, I would just call it “the string obtained by dropping the first symbol from the left-hand side of the rule.”  In a comment, you stated that this name does not convey your intent, but it is natural because you did not explain your intent.  If &lt;i&gt;β&lt;/i&gt; has a special meaning in your paper (or whichever use cases that you have in mind), then you should probably come up with a name which describes that special meaning concisely.&lt;/p&gt;&#xA;" OwnerUserId="567" LastActivityDate="2012-10-20T18:40:20.610" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="14032" PostTypeId="2" ParentId="14030" CreationDate="2012-10-20T19:22:46.143" Score="10" Body="&lt;p&gt;The question is similar to the questions about constructive existence of the limit of a sequence of (constructive) objects. Usually if you can uniformly construct those objects (here $M\epsilon$) efficiently enough then you can show the existence of the limit constructively. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, assume that we have a TM $N(k,x)$ which runs $M_{|k|^{-1}}$ on $x$ and its running time is $O(n^{a+|k|^{-1}})+O(|k|)$ (here the bounds are also uniform, e.g. something like $O(2^k.n^{a+|k|^{-1}})$ would not work). Then we can combine this uniform simulator with the function $(k,x)\mapsto x$ to obtain the machine $N(x,x)$ that runs in time $O(n^{a+o(1)})$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;PS: $O(n^{a+o(1)})$ is a little bit ambiguous because of nesting of asymptotic notations, I am interpreting it as $n^{a+o(1)}$. Also we need $a$ to be not too small, e.g. at least $1$.&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2012-10-20T20:14:01.917" LastActivityDate="2012-10-20T20:14:01.917" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14033" PostTypeId="2" ParentId="14012" CreationDate="2012-10-20T23:01:03.373" Score="2" Body="&lt;p&gt;Depends on your definition of advanced, and what sort of AI you want to study.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Many problems in AI are provably intractable-- optimal solutions to POMDPs are provably NP-Complete, optimal solutions to DEC-POMDPs are provably NEXP-Complete, etc.  So, absent some unexpected breakthrough in complexity theory, the more one knows about approximation algorithms and their theoretical underpinnings, the better.  (In addition to the measure theory, etc, needed to truly understand the Bayesian probability that underlies the POMDP model.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Multi-agent artificial intelligence, in particular, intersects with game theory; so knowing game theory is helpful which in turn depends on topology, measure theory, etc.  And likewise, many problems in game theory are intractable.  Some are even intractable under approximation and even understanding when it is &lt;em&gt;possible&lt;/em&gt; to usefully approximate takes a considerable amount of mathematics to work out. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;(I note that the game theorists have been having a pretty good run in the Nobel Economics field, for the past few years, and that's heavily mathematical in nature.  I predict in twenty odd years, today's algorithmic game theorists will be in about the same position.)&lt;/p&gt;&#xA;" OwnerUserId="9819" LastActivityDate="2012-10-20T23:01:03.373" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14035" PostTypeId="1" CreationDate="2012-10-21T02:09:53.683" Score="0" ViewCount="454" Body="&lt;p&gt;I have a bit of a problem, I have a set of sums that add up to X, like so:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A: $i + j + k = X$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;B: $t + z = X$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;C: $z + z = X$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;D: $j + j + k + k = X$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have a limited number of summands so for example I have: 12 of $i$, 35 of $z$, 12 of $j$, and 18 of $k$, 21 of $t$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;What I need is an algorithm that will determine the best way to use those combinations so that I end up with the most complete sums of $X$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So in the example above using:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;17 of combination $C$, 1 of combination $B$, and 12 of combination $A$, total 30 sums of $X$, 72 summands used&lt;/p&gt;&#xA;&#xA;&lt;p&gt;is worse then using:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;21 of combination $B$, 7 of combination $C$, and 6 of combination $D$, total 34 sums of $X$, 80 summands used&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;EDIT&lt;/em&gt;:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To further explain:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;using 21 of combination $B$ will &quot;spend&quot; 21 $t$ and 21 $z$ leaving us with: 12 of $i$, 14 of $z$, 12 of $j$, 18 of $k$, 0 of $t$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;using 7 of combination $C$ will &quot;spend&quot; 14 of $z$ (because it uses 2 summands of $z$ to be achieved) leaving us with: 12 of $i$, 0 of $z$, 12 of $j$, 18 of $k$, 0 of $t$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;using 6 of combination $D$ will spend 12 of $j$ and 12 of $k$ (because it uses both of them twice) leaving us with: 12 of $i$, 0 of $z$, 0 of $j$, 6 of $k$, 0 of $t$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;we can no longer make combinations that will add up to $X$ thus the algorithm is concluded.&lt;/p&gt;&#xA;" OwnerUserId="12185" LastEditorUserId="3247" LastEditDate="2012-10-21T15:23:15.313" LastActivityDate="2012-10-22T21:07:02.410" Title="Find the optimal way to use combinations of summands to get the most sum with a limited number of summands" Tags="&lt;ds.algorithms&gt;&lt;co.combinatorics&gt;" AnswerCount="2" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="14036" PostTypeId="2" ParentId="13954" CreationDate="2012-10-21T02:22:40.940" Score="1" Body="&lt;p&gt;the R tree algorithms typically create &quot;R&quot;s (rectangles) iteratively/sequentially based on the order of insertion of the data. the &quot;R&quot;s are built directly out of the coordinates of the data seen so far. it does not appear that there are widely studied R-tree variants that build identical trees no matter what the order is, it does not seem to be a generally desired design criteria for the algorithms, which are judged on other criteria such as performance of search, insertion, overflow splitting etc. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;except in artificial/contrived/&quot;pathological&quot; cases, the resulting R-trees will be &quot;close&quot; in structure and performance no matter what order the insertion. however it is not inconceivable that such an algorithm could be devised with the property of &quot;resultant tree invariance&quot; based on adjusting the insertion and overflow splitting logic.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;on the other hand if you dont require an online algorithm you could just sort your data according to any criteria beforehand and the R tree will end up with the same structure of course.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;a close alternative that can be adjusted to have the &quot;order invariant&quot; property you describe is the &lt;a href=&quot;http://en.wikipedia.org/wiki/Quadtree&quot; rel=&quot;nofollow&quot;&gt;Quadtree&lt;/a&gt; because it is based on partitioning the overall space (assuming its dimensions are known) in a fractal &quot;4-square&quot; pattern that does not depend on ordering of the input or directly use the individual points for bounding coordinates.&lt;/p&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="7884" LastEditDate="2012-10-21T02:40:15.023" LastActivityDate="2012-10-21T02:40:15.023" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14038" PostTypeId="2" ParentId="12850" CreationDate="2012-10-21T08:02:59.553" Score="2" Body="&lt;p&gt;According to the comments above, the problem can be reduced to a weighted bipartite matching / assignment problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $f(p)$ specifies the limit of matches for a node in $P$, we replace each $p$ by $f(p)$ nodes.&#xA;To assure $|S| = |P|$ we can add dummy nodes to $S$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now we can solve the problem by a standard algorithm. E.g. Hungarian Method.&lt;/p&gt;&#xA;" OwnerUserId="9630" LastEditorUserId="9630" LastEditDate="2012-10-21T08:09:25.363" LastActivityDate="2012-10-21T08:09:25.363" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14040" PostTypeId="2" ParentId="14035" CreationDate="2012-10-21T17:16:38.160" Score="-1" Body="&lt;p&gt;Try researching &lt;a href=&quot;http://en.wikipedia.org/wiki/Dynamic_programming&quot; rel=&quot;nofollow&quot;&gt;dynamic programming&lt;/a&gt;.  Dynamic programming provides the ability to iterate over a problem set that involves multiple equations.  Also, take a look at &lt;a href=&quot;http://en.wikipedia.org/wiki/Gaussian_elimination&quot; rel=&quot;nofollow&quot;&gt;gaussian elimination&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If properly designed and implemented by setting the data up properly, gaussian elimination can intelligently reduce the number of combinations that the algorithm will need to look at.  In your example, a limit of 12 j was specified.  So, if one of the combinations looked at is 12 of A (which consists of i + j + k), then both i and j are exhausted since there are only 12 of each.  So, any other combination that uses i or j (like D which uses 2 of j) no longer needs to be evaluated since we know that this combination can not be used.&lt;/p&gt;&#xA;" OwnerUserId="12192" LastActivityDate="2012-10-21T17:16:38.160" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14041" PostTypeId="1" CreationDate="2012-10-21T20:54:33.537" Score="8" ViewCount="5375" Body="&lt;p&gt;Linear functions in one variable have VC dimension =3 and I remember reading somewhere that the VC for polynomials of degree $d$ is $(d^2 + 3d + 2)/2$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am searching for ideas that can prove the above claim (and perhaps generalize to many variables as well, though that seems too much to hope for).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any approach, even an incomplete one, will be appreciated.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To define the problem properly: Given a plane (2D, x and y coordinates) what is the size of maximum set that can be shattered if you can use classifying functions that are polynomial ($y=p(x)$) of degree at mode $d$, and you are free to choose which side of the curve you want to label positive. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, label (x,y) as positive iff $y &amp;gt; x^2 +5x +9$.&lt;/p&gt;&#xA;" OwnerUserId="10720" LastEditorUserId="1761" LastEditDate="2012-10-22T13:59:05.647" LastActivityDate="2020-11-05T02:37:21.897" Title="VC dimension of polynomials (in one variable) of degree d" Tags="&lt;cg.comp-geom&gt;&lt;vc-dimension&gt;" AnswerCount="3" CommentCount="3" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="14042" PostTypeId="2" ParentId="11747" CreationDate="2012-10-21T23:43:04.860" Score="10" Body="&lt;p&gt;This is essentially the problem of &quot;addition chains&quot;, discussed in great detail in many papers and in Knuth's The Art of Computer Programming.  In brief:  the problem as you have stated it is not known to be NP-hard, but nobody knows an efficient algorithm to find the absolutely minimum.  However, there are good algorithms that come reasonably close to the minimum.&lt;/p&gt;&#xA;" OwnerUserId="3227" LastActivityDate="2012-10-21T23:43:04.860" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14043" PostTypeId="2" ParentId="14041" CreationDate="2012-10-22T01:30:24.080" Score="8" Body="&lt;p&gt;The basic method works like this: Assume your inequalities are of the form &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$ \sum_{i \le d} a_i x^i \le 0$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then you construct a &lt;em&gt;lifting map&lt;/em&gt; to a space of higher dimension in which each monomial corresponds to one dimension. Now the polynomial can be expressed as a linear combination of the new dimensions and you can invoke the usual result for half spaces in the resulting space. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm not sure where you get your bound from: the correct expression for the VC dimension of polynomials in d variables of degree D is $\binom{d + D}{d}$, which is the number of monomials of degree at most D formed from d variables. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2012-10-22T01:30:24.080" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="14044" PostTypeId="2" ParentId="14041" CreationDate="2012-10-22T01:50:21.863" Score="6" Body="&lt;p&gt;The following is based on Jiri Matousek's &lt;a href=&quot;http://books.google.com/books?id=BKvXj1GisP0C&amp;amp;lpg=PP1&amp;amp;pg=PA140#v=onepage&amp;amp;q&amp;amp;f=false&quot;&gt;Geometric Discrepancy&lt;/a&gt; book.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Define a range space in $\mathbb{R}^d$ parametrized by $a_1, \ldots, a_p$ as follows. Let $f$ be a degree $D$ polynomial in $d + p$ variables. For each $a \in \mathbb{R}^p$, the set $S(a)$ is defined as $S(a) = \{x \in \mathbb{R}^d: f(x, a) \leq 0\}$. For example, circles are defined as $(x_1 - a_1)^2 + (x_2 - a_2)^2 - 1 \leq 0$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We can get a bound on a quantity which is more delicate than VC dimension in this model. Define $\pi(m)$ as the maximum number of &lt;em&gt;distinct&lt;/em&gt; sets induced by $\{S(a)\}$ on any set of $m$ points, i.e.&#xA;$$&#xA;\pi(m) = \max_{X \subseteq \mathbb{R}^d}{|\{S(a) \cap X\}|},&#xA;$$&#xA;where the max is taken over sets $X$ of $m$ points. This is the &lt;em&gt;primal shatter function&lt;/em&gt; of the range space $\{S(a)\}$. Notice that the VC-dimension of of the range space is that maximum $m$ such that $\pi(m) = 2^m$. Also, if the VC-dimension of a range space is $k$, then its shatter function is bounded by $O(m^k)$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For $m$ polynomials $f_1(a), \ldots, f_m(a)$, $\sigma = (\sigma_1, \ldots, \sigma_m) \in \{-, +\}^m$ is a sign pattern if there exists some $a$ such that for all $i$ the sign of $f_i(a)$ is $\sigma_i$. A result from algebraic geometry is that the maximum number of distinct sign patterns of $m$ degree $D$ polynomials in $p$ variables is bounded by $2^{O(p)}(Dm/p)^p$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let's use this theorem. Define $f_i(a) = f(x^i, a)$. We get that $|\{S(a) \cap X\}|$ is exactly the number of distinct sign patterns of $f_1, \ldots, f_m$. So, in particular, if a range space is given by a family of constant degree polynomials in $p$ parameters, its shatter function is bounded by $O(m^p)$. &lt;/p&gt;&#xA;" OwnerUserId="4896" LastActivityDate="2012-10-22T01:50:21.863" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14045" PostTypeId="1" CreationDate="2012-10-22T06:35:29.777" Score="12" ViewCount="162" Body="&lt;p&gt;Let &lt;span class=&quot;math-container&quot;&gt;$F$&lt;/span&gt; be the set of functions over real numbers.&#xA;Consider the structure &lt;span class=&quot;math-container&quot;&gt;$M = \langle F, &amp;lt;, \leq, =, \geq, &amp;gt; \rangle$&lt;/span&gt; where the &lt;span class=&quot;math-container&quot;&gt;$&amp;lt;, \leq, =, \geq, &amp;gt;$&lt;/span&gt; are defined as asymptotic notions &lt;span class=&quot;math-container&quot;&gt;$o$&lt;/span&gt;, &lt;span class=&quot;math-container&quot;&gt;$O$&lt;/span&gt;, &lt;span class=&quot;math-container&quot;&gt;$\Theta$&lt;/span&gt;, &lt;span class=&quot;math-container&quot;&gt;$\Omega$&lt;/span&gt;, &lt;span class=&quot;math-container&quot;&gt;$\omega$&lt;/span&gt;. For example, for &lt;span class=&quot;math-container&quot;&gt;$f,g\in F$&lt;/span&gt;, &lt;span class=&quot;math-container&quot;&gt;$f\leq g$&lt;/span&gt; iff &lt;span class=&quot;math-container&quot;&gt;$f \in O(g)$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Consider the first-order theory of this structure &lt;span class=&quot;math-container&quot;&gt;$T = Th(M)$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Questions:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Is &lt;span class=&quot;math-container&quot;&gt;$T$&lt;/span&gt; finitely axiomatizable?&lt;/p&gt;&#xA;&lt;p&gt;Does &lt;span class=&quot;math-container&quot;&gt;$T$&lt;/span&gt; have quantifier elimination property?&lt;/p&gt;&#xA;&lt;p&gt;Is &lt;span class=&quot;math-container&quot;&gt;$T$&lt;/span&gt; a decidable theory?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Is there a references discussing logical and model theoretic properties of this theory (statements similar to those above)?&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2012-10-22T06:35:29.777" Title="Is the theory of asymptotic bounds finitely axiomatizable?" Tags="&lt;lo.logic&gt;&lt;asymptotics&gt;" AnswerCount="0" CommentCount="11" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="14046" PostTypeId="1" AcceptedAnswerId="14314" CreationDate="2012-10-22T07:28:00.703" Score="2" ViewCount="2634" Body="&lt;p&gt;I've been getting myself involved with this topic and would like to read more to gain a conceptual understanding of the various techniques and what each one is trying to achieve and their 'idea' behind achieving it. Basically the 'big-picture' view of things excluding the complicated math if possible.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I've read numerous articles on the web and TCS too :) but still would like to know some good references for the layman (i.e. if you were to explain the various concepts/ideas to your wife/mother/child what you recommend them?) I know they wouldn't all be listed in one book but even if they are spread out across books that's fine.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm quite interested in learning about nonlinear programming, semi-definite programming, convex optimization, I'm fairly well versed with linear/integer programming and do have a decent background in algorithms and a strong CS background too :)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I may not have a strong mathematical background as probably required by these topics and before I develop it I'd like to have some 'fun' understanding the 'what, why and how' at a more humane level before diving into the math :)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What would be some good references for the above? Good books/links covering other aspects of optimization but not listed above would be welcome to.&lt;/p&gt;&#xA;" OwnerUserId="7014" LastEditorUserId="12438" LastEditDate="2012-11-13T08:42:34.413" LastActivityDate="2012-11-13T09:04:04.713" Title="What are some good references for mathematical optimization for the layman?" Tags="&lt;reference-request&gt;&lt;soft-question&gt;&lt;optimization&gt;&lt;big-list&gt;&lt;big-picture&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="14047" PostTypeId="1" CreationDate="2012-10-22T09:53:24.547" Score="1" ViewCount="200" Body="&lt;p&gt;What is the best way to describe the semantics of a new access control model?. I heard the temporal logic is the way to go. Is it true?&lt;/p&gt;&#xA;" OwnerUserId="10004" LastEditorUserId="-1" LastEditDate="2012-11-11T06:28:19.937" LastActivityDate="2018-08-29T04:01:51.733" Title="Temporal Logic and Access Control Models" Tags="&lt;lo.logic&gt;&lt;formal-modeling&gt;&lt;linear-temporal-logic&gt;&lt;se.software-engineering&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="14048" PostTypeId="2" ParentId="13958" CreationDate="2012-10-22T12:44:36.330" Score="-3" Body="&lt;p&gt;If we consider S1,S2...Sn as a different sequences and if we need the longest subsequence which is common in this sequences then this type of problem is called as &quot;Longest Common Subsequence (LCS)&quot;. We can alter the condition to make it as a smallest common subsequence which will find a single element from the set as a smallest subsequence..&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Please see dynamic programing examples you will get the details...&lt;/p&gt;&#xA;" OwnerUserId="12204" LastActivityDate="2012-10-22T12:44:36.330" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14049" PostTypeId="2" ParentId="12885" CreationDate="2012-10-22T15:02:38.343" Score="21" Body="&lt;p&gt;Here is a simple reduction for the TSP problem to the metric TSP problem:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the given TSP instance with $n$ cities, let $D(i,j) \geq 0$ denote the distance between $i$ and $j$. Now let $M = \max_{i,j} D(i,j)$. Define the metric TSP instance by the distances $D'(i,j) := D(i,j)+M$. To see that this gives a metric TSP instance, let $i,j,k$ be arbitrary. Then $D'(i,j) + D'(j,k) = D(i,j) + D(j,k) + 2M \geq 2M \geq D(i,k) + M = D'(i,k)$. Since any tour uses exactly $n$ edges, the transformation adds exactly $nM$ to any tour, which shows the correctness of the reduction.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Remark: We can of course also allow for negative distances in the original TSP instance if you prefer by changing the reduction slightly.&lt;/p&gt;&#xA;" OwnerUserId="313" LastEditorUserId="313" LastEditDate="2012-10-23T18:24:13.263" LastActivityDate="2012-10-23T18:24:13.263" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="14052" PostTypeId="2" ParentId="14035" CreationDate="2012-10-22T21:07:02.410" Score="4" Body="&lt;p&gt;The problem is a generalization of the &lt;a href=&quot;http://en.wikipedia.org/wiki/Set_packing&quot; rel=&quot;nofollow&quot;&gt;set packing problem&lt;/a&gt; (exercise: why?), and therefore it is NP-hard even to approximate in a very weak sense.  See &lt;a href=&quot;http://www.nada.kth.se/~viggo/wwwcompendium/node144.html&quot; rel=&quot;nofollow&quot;&gt;Maximum Set Packing&lt;/a&gt; and &lt;a href=&quot;http://www.nada.kth.se/~viggo/wwwcompendium/node33.html&quot; rel=&quot;nofollow&quot;&gt;Maximum Clique&lt;/a&gt; in the compendium.&lt;/p&gt;&#xA;" OwnerUserId="567" LastActivityDate="2012-10-22T21:07:02.410" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14053" PostTypeId="1" AcceptedAnswerId="14063" CreationDate="2012-10-22T22:27:10.373" Score="8" ViewCount="154" Body="&lt;p&gt;Let $A$ be a set of size $k$ and $B$ be a set of size $\ell$, for fixed $k$ and $\ell$, and such that $A\cap B=\emptyset$.&#xA;What is the (or a) Sperner family $\mathcal{F}$ on $A\cup B$ for which $\mathcal{F}_B=\{C\cap B ~:~ C\in\mathcal{F}\}$ is maximized? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I actually just need an upper bound to $|\mathcal{F}_B|$ (possibly something better than $2^\ell$, which seems to be loose if $2^k&amp;lt;\ell$)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any hint or reference where this kind of information or relevant material could be found would be much appreciated. Thanks.&lt;/p&gt;&#xA;" OwnerUserId="4828" LastActivityDate="2012-10-24T00:13:19.513" Title="Sperner family that maximizes the subsets of a partition" Tags="&lt;reference-request&gt;&lt;co.combinatorics&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14057" PostTypeId="1" AcceptedAnswerId="27620" CreationDate="2012-10-23T09:15:48.430" Score="8" ViewCount="579" Body="&lt;p&gt;Thor Johnson, et al, in their paper: &lt;a href=&quot;http://people.math.gatech.edu/~thomas/PAP/dirtree.pdf&quot;&gt;Directed Tree Width&lt;/a&gt;, introduced a definition for directed grid $J_k$, and they conjectured:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;$(5.1)$ For every integer $k$ there exists an integer $N$ such that every&#xA;  digraph with tree-width $N$ or more has a minor isomorphic to $J_k$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;And they continued by saying:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;We have convinced ourselves that $(5.1)$ holds for planar digraphs,&#xA;  but the general case is open.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;And I'm looking for this unpublished paper (how they proved the conjecture for di-planar graphs), or related stuff in this case, actually how to use such a grid (I mean $J_k$).&lt;/p&gt;&#xA;" OwnerUserId="1846" LastEditorUserId="1846" LastEditDate="2013-10-04T15:51:57.607" LastActivityDate="2015-11-16T13:03:32.073" Title="Grid minor in digraphs" Tags="&lt;reference-request&gt;&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;graph-minor&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14059" PostTypeId="1" AcceptedAnswerId="14068" CreationDate="2012-10-23T16:30:14.647" Score="4" ViewCount="219" Body="&lt;p&gt;Let a finite alphabet $\Sigma$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $\mathcal{Reord_\Sigma}$ be the family of computable partial functions between the strings of this alphabet $r\,:\, \Sigma^*\, \rightarrow \Sigma^*$ with the restriction that the value must be a permutation of the argument.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm interested in a class of deterministic abstract machines with finite control that compute all and only the functions of this family. That is, given a string $s \in \Sigma^*$ as input, the machine either doesn't halt or halts returning a permutation of $s$, and every possible mapping of those is realized by some machine in the class.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;All the transitions should be local (no random access on a tape), and possibly they should not explicitely name the symbols to be written (they should be 'copy' or 'swap' operations, not 'write symbol &quot;A&quot; ').&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does this class of transducers exist? Has it been researched?&lt;/p&gt;&#xA;" OwnerUserId="1749" LastActivityDate="2012-10-24T04:48:53.243" Title="State transducers for generating permutations" Tags="&lt;co.combinatorics&gt;&lt;automata-theory&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="14062" PostTypeId="2" ParentId="10372" CreationDate="2012-10-23T22:46:03.487" Score="2" Body="&lt;p&gt;&lt;em&gt;New answer (10/24):&lt;/em&gt; I think the following paper provides an elegant and efficient solution to your problem:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://crypto.stanford.edu/~dabo/pubs/papers/2dnf.pdf&quot; rel=&quot;nofollow&quot;&gt;Evaluating 2-DNF Formulas on Ciphertexts&lt;/a&gt;, Dan Boneh, Eu-Jin Goh, Kobbi Nissim, TCC 2005.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;They show how to build a public-key encryption algorithm $E(\cdot)$ with the following two useful properties:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;em&gt;Additively homomorphic.&lt;/em&gt; Given $E(x)$ and $E(y)$, anyone can compute $E(x+y)$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;em&gt;Can multiply (once).&lt;/em&gt; Given $E(x)$ and $E(y)$ (neither of which was generated as a result of a multiplication operation), anyone can compute $E(x \cdot y)$.  You can use the result in addition operations, but you cannot use it in any multiplication operations (the result of a multiplication is tainted, and tainted values cannot be used as the input to another multiplication).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The consequence is that, given a &lt;em&gt;quadratic&lt;/em&gt; multivariate polynomial $\Psi(x_1,\dots,x_n)$, and given $E(x_1),\dots,E(x_n)$, anyone can compute an encryption of $\Psi(x_1,\dots,x_n)$.  This is super-useful for your situation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In particular, in your situation, we can form the polynomial&#xA;$$\Psi(b_1,b_2,\dots,b_N) = \sum_{i \ne j} [b_i (1-b_j)].$$&#xA;Note that this is a quadratic multivariate polynomial, so given all of the $E(b_i)$'s, anyone can compute $E(\Psi(b_1,\dots,b_N))$.  Also note that $R=\Psi(b_1,\dots,b_N)$, so we're trying to compute exactly the value of this polynomial.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This suggests a natural protocol for your problem, using a threshold version of the encryption scheme in the paper referenced above:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Everyone jointly generates a public/private keypair for a threshold version of this scheme, such that the public key is known to all but  the private key is shared among everyone (it requires cooperation of all $N$ parties to decrypt a ciphertext encrypted under this public key).  The public key is broadcast to all $N$ participants.&lt;/li&gt;&#xA;&lt;li&gt;Each participant $i$ computes $E(b_i)$ and broadcasts $E(b_i)$ to all other participants.  Everyone checks that this has been done honestly.&lt;/li&gt;&#xA;&lt;li&gt;Each participant computes $E(R) = E(\Psi(b_1,\dots,b_N))$ using the homomorphic properties of this encryption scheme and knowledge of $E(b_1),\dots,E(b_N)$.  Everyone checks that they got the same value.&lt;/li&gt;&#xA;&lt;li&gt;The $N$ participants jointly use the threshold decryption protocol to recover $R$ from $E(R)$.  (Note that they will only apply the threshold decryption protocol to this one ciphertext; the honest participants will refuse to participate in decrypting any other ciphertext.)&lt;/li&gt;&#xA;&lt;li&gt;Everyone proves somehow (maybe via ZK proofs) that they performed each step correctly.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;You'd have to fill in some details, but I bet you could expand this sketch/outline to get a protocol that would solve your problem efficiently and securely.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;My old answer:&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'd still look some more at a secure multiparty protocol for computing the sum $S = \sum_j b_j$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The only way that this falls short of your scheme is it reveals one additional bit: it reveals whether $S&amp;lt;N/2$ or not.  Does that one bit of information matter in your setting?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You say the sum $S$ is sensitive in your application.  I hope you are aware that revealing the value $R$ reveals $S$ up to two possibilities (i.e., given $R$, we can compute a value $Q$ such that $S \in \{Q,N-Q\}$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you absolutely must conceal this information, here is a different approach that you might be able to make work.  For each pair of parties $i,j$, securely compute $E(c_{i,j})$ where $c_{i,j} = b_i \oplus b_j$, $\oplus$ is the xor operation, and $E$ is some sort of additively-homomorphic encryption scheme.  Then you might be able to compute $\sum_{i&amp;lt;j} c_{i,j}=R$ from this. There are some details to work out and the threat model may not be what you were hoping for, but it's possible you might be able to make something like this work.&lt;/p&gt;&#xA;" OwnerUserId="5038" LastEditorUserId="5038" LastEditDate="2012-10-24T20:13:43.210" LastActivityDate="2012-10-24T20:13:43.210" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="14063" PostTypeId="2" ParentId="14053" CreationDate="2012-10-24T00:07:58.820" Score="6" Body="&lt;p&gt;The correct upper bound is the sum of the $2^k$ most central binomial coefficients:&#xA;$$|\mathcal{F}_B|\leq\binom \ell {\lfloor (\ell - 2^k)/2+1\rfloor} + \dots + \binom \ell {\lfloor(\ell + 2^k)/2\rfloor},$$&#xA;or just $|\mathcal{F}_B|\leq 2^\ell$ if $2^k\geq \ell+1$. The sets $\{B\cap C\mid C\in\mathcal F\text{ and }A\cap C=A'\}$ are antichains. By the LYM inequality the union of $2^k$ antichains cannot be larger than the sum of the largest $2^k$ binomial coefficients. To achieve the bound, let $A=\{a_0,\dots,a_{k-1}\}$, and let&#xA;$$\mathcal F=\left\{C\subseteq A\cup B \mid \lfloor(\ell + 2^k)/2\rfloor- \sum_{i\colon a_i\in C} 2^i=|C\cap B| \right\}.$$&lt;/p&gt;&#xA;" OwnerUserId="636" LastEditorUserId="636" LastEditDate="2012-10-24T00:13:19.513" LastActivityDate="2012-10-24T00:13:19.513" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14065" PostTypeId="2" ParentId="9818" CreationDate="2012-10-24T03:52:01.060" Score="3" Body="&lt;p&gt;The idea is growing territories. That is, a candidate broadcast to neighbors that are $\alpha^i$ away in iterations. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The trick is in the analysis! (so it s not really clear) -- by getting to know the worst case of candidates, and the number of messages they send + setting $\alpha$ to a certain constant - we get $O(n)$ &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The solution can be found in N. Santoro book in Chapter 3 (oriented torus) &lt;/p&gt;&#xA;" OwnerUserId="5411" LastActivityDate="2012-10-24T03:52:01.060" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14068" PostTypeId="2" ParentId="14059" CreationDate="2012-10-24T04:48:53.243" Score="2" Body="&lt;p&gt;If you allow an auxiliary work tape, then it is easy to customize the Turing machine model to suit your needs. The Turing machine has two tapes: input/output and work. The work tape operates as usual, while on the input/output tape, all you can do is switch two adjacent values. This is enough since the transpositions $(i \quad i+1)$ generate all of $S_n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you don't allow a work tape, then the goal might be impossible. Let $f$ be a recursive function not computable in $O(n\log n)$ space. We can think of $f$ as a reordering function as follows: convert the $n$ input bits into a permutation in $S_{2n}$ conforming to the regular expression $(12+21)(34+43)\cdots$. The output is read, say, from whether the first element is smaller than the second element or vice versa. In many reasonable models, a computation is convertible to a Turing machine computation with space $O(n\log n)$. (Though a &quot;copy&quot; operation might invalidate this.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, you ask whether this class of transducers has been researched. Since you want this class to encompass all partial recursive reorderings, it is fair to say that recursion theory is the study of these reorderings and their non-recursive generalizations.&lt;/p&gt;&#xA;" OwnerUserId="40" LastActivityDate="2012-10-24T04:48:53.243" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14070" PostTypeId="2" ParentId="14030" CreationDate="2012-10-24T05:18:00.727" Score="8" Body="&lt;p&gt;You can use Levin's universal search algorithm. Suppose that you can somehow enumerate a sequence of algorithms $A_k$ deciding $L$, each running in time $C_k n^{a+1/k}$. Levin's algorithm runs in time $T(n) \leq D_k n^{a+1/k}$ for every $k$, where $D_k$ is a constant depending on $C_k$. So for every $k$,&#xA;$$ \tau(n) \triangleq \frac{\log T(n)}{\log n} - a \leq \frac{\log D_k + (a+1/k) \log n}{\log n} - a = \frac{\log D_k}{\log n} + \frac{1}{k}. $$&#xA;Given $\epsilon&amp;gt;0$, choose $k = \lceil 2/\epsilon \rceil$, and let $N = \lceil D_k^{2/\epsilon} \rceil$. Then for $n \geq N$, $\tau(n) \leq \epsilon$. Therefore $\tau(n) \rightarrow 0$, and we get that Levin's algorithm runs in time $n^{a+\tau(n)} = n^{a+o(1)}$.&lt;/p&gt;&#xA;" OwnerUserId="40" LastActivityDate="2012-10-24T05:18:00.727" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="14073" PostTypeId="1" CreationDate="2012-10-24T10:24:51.227" Score="15" ViewCount="440" Body="&lt;p&gt;Suppose we have $N=pq$, with $p$ and $q$ are unknown odd primes. We can encode factorization problem in the system of polynomial equations. For instance, $p= 1+ \sum_{k=1}^n 2^k x_k$, $q= 1+ \sum_{k=1}^n 2^k y_k$, where $n = \lfloor \log_2 N \rfloor $ is one less the number of bits required to represent $N$, and $x_k, y_k$ are binary indeterminants. By abuse of notation, we can write the following system of equations (here $x, y \in \mathbb{C}^n$)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\left\{ \begin{array}{lll} f_k= &amp;amp;x_k^2-x_k &amp;amp; =0 \\ g_k= &amp;amp;y_k^2-y_k &amp;amp;=0  \\ h= &amp;amp;\left( 1+ \sum_{k=1}^n 2^k x_k \right) \left( 1+ \sum_{k=1}^n 2^k y_k \right) -N &amp;amp; = 0  \end{array} \right.$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finding the solution of this system using Groebner basis is computationally expensive (using standard algorithms). On the other hand, this system has only two solutions for semiprimes - $x$ encoding $p$, $y$ encoding $q$, and vice verse. Therefore, the Groebner basis will consist of $n-1$ linear equations encoding line passing through $p$ and $q$, and one quadratic equation selecting $p$ and $q$ along this line (in constrast to NP-complete problems, where many quadratic equations possible for the same problem with different input).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Q1. Does the knowledge of the form of Groebner basis helps to compute it?&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Using ideas from &lt;em&gt;Nullstellensatz&lt;/em&gt; linear algebra &lt;a href=&quot;http://www.math.ucdavis.edu/~deloera/RECENT_WORK/jsc09_issac08.pdf&quot;&gt;algorithm&lt;/a&gt; we can try to express Goebner basis using a linear combination of our equations with polynomial coefficients. For example linear part should be expressed as $c+ \sum_k a_k x_k +b_k y_k = P_1 h+ \sum_k P_{2,k} f_k + P_{3,k} g_k $ with $P_{...} \in \mathbb{C}[x_1,..., x_n, y_1, ..., y_n] $, Here the coefficients are treated as indeterminates. The nullspace of the solution in terms of coefficients of polynomials $P$ will lead to the solution of system of equations. My little experiments show that terms with monomial $x_1 ... x_n y_1...y_n$ are required on the right part of expression to obtain the solution (which is consistent with the &lt;em&gt;Nullstellensatz&lt;/em&gt; certificate degree for the same system if it has no solution see &lt;a href=&quot;http://www.math.ucdavis.edu/~deloera/RECENT_WORK/jsc09_issac08.pdf&quot;&gt;DeLoera et al.&lt;/a&gt; paper Corollary 2.5). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In solving for $P$ we can start with all possible polynomials $P$ that lead to the monomial $x_1...x_n y_1...y_n$ with coefficients being indeterminates and find linear subspace of coefficients that eliminate it. Then, repeat this with (fixing monomial ordering) leading term in resulted polynomial on the right side. The naive application of this algorithm will lead to exponentially many monomials, on the other hand, the number of terms in encoding the solution line is at most quadratic with n.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Q2. Are there are any references that deal with optimization of monomial elimination in computing &lt;em&gt;Nullstellensatz&lt;/em&gt; certificate?&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Nullstellensatz&lt;/em&gt; certificate for the system of polynomials $f_k=0$ that does not have common solution in algebraically closed field $K$ is a set of polynomials $P_k \in K[...]$ that lead to expression $1= \sum_k P_k f_k $.&lt;/p&gt;&#xA;" OwnerUserId="3573" LastEditorUserId="-1" LastEditDate="2012-11-11T06:51:18.403" LastActivityDate="2012-11-11T06:51:18.403" Title="Semiprime factorization, Groebner bases and a Nullstellensatz certificate" Tags="&lt;ds.algorithms&gt;&lt;nt.number-theory&gt;&lt;factoring&gt;" AnswerCount="0" CommentCount="3" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="14074" PostTypeId="1" CreationDate="2012-10-24T11:58:25.837" Score="1" ViewCount="277" Body="&lt;p&gt;I'm reading through Hellman's &lt;a href=&quot;http://www-ee.stanford.edu/~hellman/publications/36.pdf&quot; rel=&quot;nofollow&quot;&gt;A Cryptanalytic Time-Memory Trade-off&lt;/a&gt; [PDF], and I was wondering if there is code out there that implements this or if there are better explanations of how a password could be decrypted using rainbow table method mentioned in this paper?&lt;/p&gt;&#xA;" OwnerUserId="9422" LastEditorUserId="-1" LastEditDate="2012-11-11T06:28:27.890" LastActivityDate="2012-11-11T06:28:27.890" Title="Is there a better explanation of Hellman's paper on rainbow tables than the paper itself?" Tags="&lt;reference-request&gt;&lt;cr.crypto-security&gt;&lt;cryptographic-attack&gt;" AnswerCount="0" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14079" PostTypeId="1" AcceptedAnswerId="14097" CreationDate="2012-10-24T22:25:04.650" Score="5" ViewCount="637" Body="&lt;p&gt;Given an undirected graph with n nodes, I need to find the shortest cycle of involving exactly n/2 vertices (i.e. keeping the distance traveled by the cycle to a minimum). Some nodes cannot directly connect; they're in specific areas and I can only travel from one area to another, not within one area.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm just asking in general here, what kind of techniques can I use to get the best (shortest) possible cycle of n/2 nodes?  So far I've written a basic substitution optimizer and just a greedy Depth First Search.  I'm wondering what would be the best approach for me to start on now?&lt;/p&gt;&#xA;" OwnerUserId="12236" LastEditorUserId="12236" LastEditDate="2012-11-25T23:02:54.353" LastActivityDate="2012-11-25T23:02:54.353" Title="Shortest cycle with a specific number of vertices" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;tsp&gt;" AnswerCount="1" CommentCount="6" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14080" PostTypeId="1" AcceptedAnswerId="14099" CreationDate="2012-10-25T01:39:58.747" Score="6" ViewCount="226" Body="&lt;p&gt;I am studying Coin Flipping protocols in cryptography, and the complexity of problems related to this.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here, a question has come to my mind: &lt;em&gt;Does there exist a public coin, coin flipping protocol?&lt;/em&gt;. Usual coin flipping protocols (as invented by Manuel Blum) involve that one party hides its random value by a bit commitment, and later makes it public. The coin-function is then just an XOR of the two bits.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is it possible to drop the bit commitment part, and instead put the &quot;hardness&quot; into the coin function (i.e. something much harder than XOR)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In other words:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Does there exists a PPT uniform family of circuits $\phi(x_1,\ldots, x_k, y_1 \ldots, y_k)$ for $k\in \mathbb N$, such that there for any PPT adversary $\mathcal A$ exists a negligible function $\gamma(k)$,  such that the family of circuits (under certain computational assumptions) have the following properties:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$\Pr[\phi(U_X,U_Y) = 1] = \frac{1}{2}$, where $U_X, U_Y$ are uniform distributions on $\{0,1\}^k$&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Consider the function as the output of the following protocol: Alice decides the $x_i$ bits, and Bob decides the $y_i$ bits, and Alice wants $\phi$ to be 1 and Bob wants 0, and the bits have to be published in order $(x_1, y_1, x_2, y_2 , \ldots, x_k, y_k)$. $\phi$ should be resistant to more than negligible bias, when applying $\mathcal A$ against opponent that choses its bits uniformly. In other words:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;When the variables are chosen in the following manner: Let $x_1$ be chosen by $\mathcal A$. Let $y_1$ be chosen uniformly. Let $x_2$ be chosen by  $\mathcal A$ using the knowledge of $(x_1,y_1)$. Let $y_2$ be chosen uniformly, and so on. Then the expected outcome of $\phi$ should be within $\gamma(k)$ of $\frac{1}{2}$&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The same should hold where the $x$'s are uniform and $y$'s are chosen by $\mathcal A$&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;As a remark, one can see that the truth of this statement:&#xA;$ \exists x_1 \forall y_1 \ldots \exists x_k \forall y_k : \phi(x_1, \ldots, x_k, y_1, \ldots, y_k)$&#xA;correspond to the fact, that there exists a strategy for Party 1 to bias completely by $\frac{1}{2}$.&lt;/p&gt;&#xA;" OwnerUserId="4992" LastEditorUserId="4992" LastEditDate="2012-10-25T21:53:38.863" LastActivityDate="2012-10-25T23:45:23.600" Title="Is there a Boolean formula that is resistant to bias from a polytime adversary?" Tags="&lt;cc.complexity-theory&gt;&lt;cr.crypto-security&gt;" AnswerCount="1" CommentCount="12" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14085" PostTypeId="1" AcceptedAnswerId="14098" CreationDate="2012-10-25T11:49:54.187" Score="21" ViewCount="908" Body="&lt;p&gt;Many important results in computational complexity theory, and in particular &quot;structural&quot; complexity theory, have the interesting property that they can be understood as fundamentally following (as I see it...) from &lt;b&gt;algorithmic&lt;/b&gt; results giving an efficient algorithm or communication protocol for some problem. These include the following:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;b&gt;IP = PSPACE&lt;/b&gt; follows from a space-efficient recursive algorithm simulating interactive protocols, and an efficient interactive protocol for evaluating totally quantified boolean formulae. In fact any complexity class equality A=B can be seen as following from two efficient algorithms (an algorithm for problems in A which is efficient with respect to B, and vice versa).&#xA;&#xA;&lt;li&gt;Proving &lt;b&gt;NP-completeness&lt;/b&gt; of some problem is just finding an efficient algorithm to reduce an NP-complete problem to it.&#xA;&#xA;&lt;li&gt;The (arguably!) crucial ingredient in the &lt;b&gt;Time Hierarchy Theorem&lt;/b&gt; is an efficient universal simulation of Turing machines.&#xA;&#xA;&lt;li&gt;The recent &lt;a href=&quot;http://www.cs.cmu.edu/~ryanw/acc-lbs.pdf&quot; rel=&quot;nofollow&quot;&gt;result&lt;/a&gt; of Ryan Williams that &lt;b&gt;ACC $\not \supset$ NEXP&lt;/b&gt; is based on an efficient algorithm to solve circuit satisfiability for ACC circuits.&#xA;&#xA;&lt;li&gt;The &lt;b&gt;PCP Theorem&lt;/b&gt; is that efficient gap amplification is possible for constraint satisfaction problems.&#xA;&#xA;&lt;li&gt;etc., etc.&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;My question (which is possibly hopelessly vague!) is as follows: Are there any important results in structural complexity theory (as distinct from &quot;meta-results&quot; like the relativisation barrier) which are &lt;b&gt;not&lt;/b&gt; known to have a natural interpretation in terms of efficient algorithms (or communication protocols)?&lt;/p&gt;&#xA;" OwnerUserId="447" LastEditorUserId="1886" LastEditDate="2012-11-01T09:05:13.447" LastActivityDate="2012-11-01T09:05:13.447" Title="Algorithms and structural complexity theory" Tags="&lt;cc.complexity-theory&gt;&lt;structural-complexity&gt;" AnswerCount="1" CommentCount="9" FavoriteCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="14086" PostTypeId="1" CreationDate="2012-10-25T13:28:23.733" Score="12" ViewCount="627" Body="&lt;p&gt;Can somebody provide an example of two equivalent (recognizing the same language) minimal non-deterministic automata (NFA) which are not isomorphic?&lt;/p&gt;&#xA;" OwnerUserId="12242" LastEditorUserId="-1" LastEditDate="2012-11-11T06:28:41.510" LastActivityDate="2016-10-23T07:46:24.003" Title="Non-isomorphic minimal non-deterministic finite automata" Tags="&lt;fl.formal-languages&gt;&lt;automata-theory&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14088" PostTypeId="1" AcceptedAnswerId="14090" CreationDate="2012-10-25T14:04:08.993" Score="9" ViewCount="295" Body="&lt;p&gt;I'm trying to under stand the paper &lt;a href=&quot;http://eccc.hpi-web.de/report/2010/008/download/&quot;&gt;On p-Optimal Proof Systems and Logic for PTIME&lt;/a&gt;. There is a notion called &lt;em&gt;proof systems&lt;/em&gt; in the paper and I do not get the intution:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;$\Sigma = \{0,1\}$ ... We identify problems with subsets of $Q$ in $\Sigma^*$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I think the intution is that we encode a certain structure in $\Sigma^*$ (e.g. undirected graphs) and subsets of these structures are problems (e.g. planar graphs).&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;A &lt;em&gt;proof system&lt;/em&gt;  for a problem $Q \subset \Sigma^*$ is a surjective&#xA;  function $P:\Sigma^* \to Q$ computable in polynomial time.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Now one possibilty is to say $\Sigma^*$ is the set of all possible models in a certain structure (e.g. all the undirected graphs). But that does not make sense because why should a undirected graphs be mapped on a subset? It could be encoded turing machines but this does not make sense either ...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any ideas?&lt;/p&gt;&#xA;" OwnerUserId="7594" LastEditorUserId="-1" LastEditDate="2012-11-11T06:49:25.850" LastActivityDate="2012-11-11T06:49:25.850" Title="Intuition behind proof systems" Tags="&lt;lo.logic&gt;&lt;descriptive-complexity&gt;&lt;proof-complexity&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14089" PostTypeId="2" ParentId="14088" CreationDate="2012-10-25T14:48:50.327" Score="5" Body="&lt;p&gt;You should think of the input of the proof system $P$ as the text of a proof $\pi$ of an element $q \in Q$. If the text is valid that $P(\pi) = q$, otherwise $P(\pi)$ is some fixed $q_0 \in Q$. We want $P$ to be polytime since that means that the proof is easy to verify.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As an example, suppose $Q$ is the set of propositional tautologies, and $P$ is any Hilbert-style proof system, which consists of a set of &lt;em&gt;lines&lt;/em&gt;, each of which is either an axiom or follows from previous lines via a derivation rule (usually Modus Ponens). If the proof is valid, that $P$ should output the last line in the proof. Otherwise, output some fixed tautology like $p \lor \lnot p$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Back to your first question, $Q$ is an encoding of all structures of a certain type satisfying some property. One example is tautologies. Another example is the set of all non-3-colorable graphs, which have a proof system known as the Hajós calculus.&lt;/p&gt;&#xA;" OwnerUserId="40" LastActivityDate="2012-10-25T14:48:50.327" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14090" PostTypeId="2" ParentId="14088" CreationDate="2012-10-25T14:48:59.443" Score="8" Body="&lt;p&gt;Think of $\Sigma^{*}$ encoding some sort of objects, and $Q$ as the set of all objects satisfying some property. Think of $P$ as a function which accepts (the encoding of) a pair $(x, p)$ where $x$ is an object and $p$ is alleged &quot;evidence&quot; of $x \in Q$. The function $P$ is a &quot;proof checker&quot;: it verifies that $p$ actually represents valid evidence that $x \in Q$. If so, it returns $x$, otherwise it returns a default element of $Q$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As an example, suppose $\Sigma^{*}$ encodes graphs and let $Q$ be the set (of encodings) of Hamiltonian graphs. A possible $P$ is this: decode input as $(G, \ell)$ where $G$ is a graph and $\ell$ is a list of vertices of $G$; verify that $\ell$ is a Hamiltonian cycle in $G$; if so then return $G$ otherwise return the graph on one point.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You considered the case of planar graphs. To get a suitable $P$ we need a notion of poly-time checkable evidence of planarity.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In general the input to $P$ need not encode a pair $(x, p)$. The important thing is that $P$ can extract two pieces of information from its input: the object in question and the alleged evidence that the object belongs to $Q$. For example, let us take as $Q$ the set of all sentences provable in some first-order theory. Now $P$ decodes its input as a formal proof. If the encoding is invalid, it returns $\top$. If the encoding represents a valid proof, it returns the statement that was proved by the proof (which is likely to be the root of proof tree, or the last formula in a sequence of statements, depending on how you formalize proofs).&lt;/p&gt;&#xA;" OwnerUserId="705" LastEditorUserId="705" LastEditDate="2012-10-25T15:07:23.673" LastActivityDate="2012-10-25T15:07:23.673" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14091" PostTypeId="1" AcceptedAnswerId="14093" CreationDate="2012-10-25T15:30:55.007" Score="15" ViewCount="714" Body="&lt;p&gt;I am generally interested in the forcing method used by Baker-Gill-Solovay and Cohen.  I am looking for as many sources as I can get my hands on concerning either the technique itself or its use. Does anyone have suggestions?&lt;/p&gt;&#xA;" OwnerUserId="10870" LastEditorUserId="80" LastEditDate="2012-10-25T16:21:27.320" LastActivityDate="2014-07-11T12:28:37.493" Title="Forcing method used in Baker-Gill-Solovay Relativization paper and Cohen's Proof of Continuum Hypothesis Independence" Tags="&lt;cc.complexity-theory&gt;&lt;set-theory&gt;" AnswerCount="4" CommentCount="1" FavoriteCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="14092" PostTypeId="2" ParentId="14086" CreationDate="2012-10-25T15:32:17.280" Score="11" Body="&lt;p&gt;See the &lt;a href=&quot;https://www.researchgate.net/publication/220530733_A_note_about_minimal_non-deterministic_automata&quot; rel=&quot;nofollow noreferrer&quot; title=&quot;minimal&quot;&gt;paper&lt;/a&gt; (postscript)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Arnold, Dicky, Nivat. A note about minimal non-deterministic automata &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://i.stack.imgur.com/Q4BPb.jpg&quot; rel=&quot;nofollow noreferrer&quot;&gt;&lt;img src=&quot;https://i.stack.imgur.com/Q4BPb.jpg&quot; alt=&quot;enter image description here&quot;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="12122" LastEditorUserId="12122" LastEditDate="2016-10-21T10:38:52.110" LastActivityDate="2016-10-21T10:38:52.110" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14093" PostTypeId="2" ParentId="14091" CreationDate="2012-10-25T15:52:06.527" Score="17" Body="&lt;p&gt;For more uses of forcing (via so-called generic oracles) in complexity theory, see &lt;a href=&quot;http://dx.doi.org/10.1016/S0890-5401(03)00018-X&quot;&gt;The Oracle Builder's Toolkit&lt;/a&gt; (&lt;a href=&quot;http://www.cs.uchicago.edu/~fortnow/papers/obt.pdf&quot;&gt;freely available from Fortnow's homepage&lt;/a&gt;) by Fenner, Fortnow, Kurtz, and Li. They give a general theory of generic oracles, and show its many applications in complexity. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you're interested in how oracles in complexity are like independence proofs in set theory, you might be interested in the following papers:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Arora, Impagliazzo, Vazirani. &lt;a href=&quot;http://cseweb.ucsd.edu/~russell/ias.ps&quot;&gt;Relativizing versus Nonrelativizing Techniques: the Role of Local Checkability&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Impagliazzo, Kabanets, Kolokolova. &lt;a href=&quot;http://dx.doi.org/10.1145/1536414.1536509&quot;&gt;An Axiomatic Approach to Algebrization&lt;/a&gt;. (&lt;a href=&quot;http://www.cs.sfu.ca/~kabanets/Research/algebrization.html&quot;&gt;full version freely available from Kabanets's homepage&lt;/a&gt;)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;For the uses of forcing in set theory, see the book &lt;a href=&quot;http://www.ams.org/mathscinet-getitem?mr=1940513&quot;&gt;Set Theory&lt;/a&gt; (&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/3540440852&quot;&gt;Set Theory on Amazon&lt;/a&gt;) by Jech, especially Parts II and III of the book (not to be confused with &quot;Introduction to Set Theory&quot; by Hrbáček and Jech).&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2012-10-25T15:52:06.527" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14095" PostTypeId="1" CreationDate="2012-10-25T18:05:47.337" Score="3" ViewCount="1683" Body="&lt;p&gt;If I have a support vector machine which has already been trained, what is the computational complexity of classifying a new example using that machine?  I care about both time and space complexity.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does the answer change if the underlying metric space is unusual -- for instance, Damerau-Levenshtein edit distance (computing which is $O(n^2)$ time and space for strings of equal length) instead of Euclidean ($O(n)$ time and $O(1)$ space)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(This is related to &lt;a href=&quot;https://cstheory.stackexchange.com/questions/4278/computational-complexity-of-learning-classification-algorithms-fitting-the-p&quot;&gt;Computational complexity of learning (classification) algorithms - fitting the parameters&lt;/a&gt; but that's about the training process.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Edit: the paper that sparked this question is &lt;a href=&quot;http://www.cs.stonybrook.edu/~xcai/fp.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://www.cs.stonybrook.edu/~xcai/fp.pdf&lt;/a&gt; )&lt;/p&gt;&#xA;" OwnerUserId="1311" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2012-11-17T07:44:14.493" Title="Computational complexity of classifying with an already-trained SVM" Tags="&lt;cc.complexity-theory&gt;&lt;time-complexity&gt;&lt;machine-learning&gt;&lt;space-complexity&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14096" PostTypeId="2" ParentId="14095" CreationDate="2012-10-25T19:46:19.117" Score="6" Body="&lt;p&gt;If you're classifying using SVMs, then the underlying metric space is always a Hilbert space. If your classifier is linear, then the running time of the classification is linear in the dimensionality of the data (or the number of features).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If the classifier (in general) involves some kernel, then the classifier is expressed in terms of the number of support vectors, and the classification is linear in the number of such vectors. Processing each vector takes time proportional to the kernel computation time (which could be constant, or linear in the data dimension, or something else)&lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2012-10-25T19:46:19.117" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="14097" PostTypeId="2" ParentId="14079" CreationDate="2012-10-25T20:14:34.870" Score="15" Body="&lt;p&gt;The problem of finding the shortest tour that covers a given number k of nodes is usually referred to as k-TSP. Searching Google scholar for that term will find some relevant literature. It is NP-hard but can be approximated within a constant factor. So finding an exact solution may be out of reach, unless you're prepared to use sophisticated branch and bound methods extending what Concorde does for the usual TSP.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2012-10-25T20:14:34.870" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="14098" PostTypeId="2" ParentId="14085" CreationDate="2012-10-25T20:41:21.773" Score="19" Body="&lt;p&gt;For many lower bounds in algebraic complexity, I do not know of a natural interpretation in terms of efficient algorithms. For example:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;the partial derivatives technique of Nisan and Wigderson&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;the rank-of-Hessian technique of Mignon and Ressayre (giving the currently best known lower bound on permanent versus determinant)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;the degree bound of Strassen (and Baur-Strassen)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;the connected components technique of Ben-Or.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;In all the above results, they really seem to be using a property of the functions involved, where that property itself seems unrelated to the existence of any particular algorithm (let alone an effective one). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For non-algebraic results, here are a couple of thoughts:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;The standard counting argument for the $n \log n$ sorting lower bound does not appear to have an interpretation in terms of efficient algorithms. However, there is an adversarial version of this lower bound [1], in which there is an algorithm which, given any decision tree that uses too few comparisons, efficiently constructs a list that the decision tree sorts incorrectly. But the adversarial version, while not difficult, is significantly more difficult than the counting proof. (Note that this is quite a bit stronger than what one gets by applying the adversary lower bound technique, e.g. as in &lt;a href=&quot;http://goldman.cse.wustl.edu/crc2007/handouts/adv-lb.pdf&quot; rel=&quot;nofollow&quot;&gt;these notes&lt;/a&gt;, since in [1] the adversary itself is &lt;em&gt;efficient&lt;/em&gt;.)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;I think I've changed my mind about PARITY not in $AC^0$ (even the original proof, let alone the Razborov-Smolensky proof, as pointed out by @RobinKothari). Although the Switching Lemma can be viewed as a randomized (&lt;a href=&quot;http://eccc.hpi-web.de/report/2012/116/&quot; rel=&quot;nofollow&quot;&gt;or deterministic&lt;/a&gt;) algorithm that lets you swap two rows of a circuit without a big blow-up in size, I think this really has a different flavor than many results in complexity, and specifically the ones you cite. For example, Williams's proof that $ACC \neq NEXP$ is based crucially on the existence of a good algorithm for a particular problem. In contrast, if one could prove something like the Switching Lemma nonconstructively, it would be just as good for proving PARITY not in $AC^0$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Because of these last two examples - especially sorting, where the standard proof &lt;em&gt;is&lt;/em&gt; nonconstructive - it seems to me that the question may not just be about natural interpretations in terms of efficient algorithms, but also somehow about the constructiveness / effectiveness of the proofs of various complexity results (depending on what the OP had in mind). That is, the standard sorting lower bound is not constructive or algorithmic, but there is a constructive, algorithmic proof of the same result.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] Atallah, M. J. and Kosaraju, S. R. &lt;a href=&quot;http://dx.doi.org/10.1016/0020-0190(81)90031-4&quot; rel=&quot;nofollow&quot;&gt;An adversary-based lower bound for sorting&lt;/a&gt;. Inform. Proc. Lett. 13(2):55-57, 1981.&lt;/p&gt;&#xA;" OwnerUserId="129" LastEditorUserId="129" LastEditDate="2012-10-29T18:47:45.613" LastActivityDate="2012-10-29T18:47:45.613" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14099" PostTypeId="2" ParentId="14080" CreationDate="2012-10-25T23:04:34.263" Score="4" Body="&lt;p&gt;There does not exist such a family of circuits. Assume to the contrary that $\{\phi_k\}_{k \in \mathbb N}$ was such a family. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;We will now show the strategy that achieves bias at least $\frac{1}{20k}$ for $k$ big enough, by referring to Impagliazzo's Theorem 4.7.2 on page 71 of &lt;a href=&quot;http://cseweb.ucsd.edu/~russell/format.ps&quot; rel=&quot;nofollow&quot;&gt;http://cseweb.ucsd.edu/~russell/format.ps&lt;/a&gt; : &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $\mathcal A$ be the strategy that:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) Picks a bit string uniformly from $x \in \{0,1\}^k$, and picks a number $ i \in \{0,\ldots,2k-1\}$ uniformly. Now, $i = 2j+b$, for $b \in \{0,1\}$ for an unique $j$ and $b$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) $\mathcal A$ should send the first $j$ messages in correspondance with the first $j$ coordinates of $x$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;3) If $b=0$ Then $\mathcal A$ should wait for answer from the other party. Otherwise, it should just proceed:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;4) $\mathcal A$ picks a new bit string $(x'_{j+1}, \ldots x'_k) \in \{ 0,1 \}^{k-j}$ uniformly, and then calculate 2 estimates of the Expected value of $\phi$, calculated by making polynomially many uniform samples from $\{0,1\}^{k-j-b}$ corresponding to the remaining conversation of the honest party:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;$E_1$ : Estimate of expected value where preceding conversation is fixed, and  $(x_{j+1}, \ldots x_k)$ is fixed.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;$E_2$ : Estimate of expected value where preceding conversation is fixed, and  $(x'_{j+1}, \ldots x'_k)$ is fixed.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;5) The bit string corresponding to the highest expected value, is used for the rest of the conversation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If assuming perfect estimation of expected value, we achieve at least $\frac{1}{16k}$ bias, and since there is some (exponentially decreasing error) caused by the estimation (which can be bounded by additive Chernoff-Hoeffding bound), we just say a bias of at least $\frac{1}{20k}$ for $k$ big enough.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For now, I will just refer to Impagliazzo's proof for the analysis. It is not the easiest proof to read, if one is not used to his style of writing, but it is correct, and I can explain specific details, if anybody have interest.&lt;/p&gt;&#xA;" OwnerUserId="4992" LastEditorUserId="4992" LastEditDate="2012-10-25T23:45:23.600" LastActivityDate="2012-10-25T23:45:23.600" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14103" PostTypeId="1" CreationDate="2012-10-27T00:59:44.517" Score="27" ViewCount="1712" Body="&lt;p&gt;The study of ecology and evolution is becoming increasingly more mathematical, but most of the theoretical tools seem to be coming from physics. However, in many cases the problems have a very discrete nature (see for example &lt;a href=&quot;http://www.ncbi.nlm.nih.gov/pubmed/10962027&quot; rel=&quot;noreferrer&quot;&gt;SLBS00&lt;/a&gt;) and could &lt;a href=&quot;http://egtheory.wordpress.com/2012/06/23/turing-biolog/&quot; rel=&quot;noreferrer&quot;&gt;benefit from a computer science perspective&lt;/a&gt;. Yet, I am aware of only a few serious results from TCS that try to touch on specific questions in ecology and evolution. The two directions that spring to mind are:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Livnat, A., Papadimitriou, C., Dusho, J., &amp;amp; Feldman, M.W. [2008] &amp;quot;A mixability theory for the role of sex in evolution&amp;quot; PNAS 105(50): 19803-19808. [&lt;a href=&quot;http://www.cs.berkeley.edu/%7Echristos/papers/MixabilityTheory-1.pdf&quot; rel=&quot;noreferrer&quot;&gt;pdf&lt;/a&gt;]&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Valiant, L.G. [2009] &amp;quot;Evolvability&amp;quot; Journal of the ACM 56(1): 3.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;The former applies idea from analysis of genetic algorithms to show a qualitative difference between the way sexual and asexual organisms behave in fitness landscapes, and has lead to &lt;a href=&quot;http://www.pnas.org/content/107/4/1452.short&quot; rel=&quot;noreferrer&quot;&gt;follow ups&lt;/a&gt; that help justify observed modularity. The latter connects evolution and computational learning theory, to try to prove evolvability and impositibility results. It has influenced a small collection of papers, but mostly by other computer scientists.&lt;/p&gt;&#xA;&lt;p&gt;Are there more results in these veins? &lt;strong&gt;Are their other deep/non-trivial applications of theoretical computer science to understanding ecology and evolution as it is studied by biologists?&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;hr /&gt;&#xA;&lt;h2&gt;Notes&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;I am not interested in general engineering related genetic or evolutionary algorithms results. Although this is a very interesting and exciting part of computer science, its connection to evolution as studied by biologists is often superficial. Sometimes (as in LPDF08) concrete connections are made, but most standard results are not of biological interest, and hence I am not interested in them in this post.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Bioinformatics is a nearby field, but it is also not what I am looking for. Although it can be used to reconstruct things like phylogenetic trees and thus help evolution/ecology, the theoretical CS aspects do not take centre stage. Here, the CS results seem to be mostly to perfect a tool that can be used largely as a black-box from within existing well established theories, and not to build or extend new biological theories.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;I prefer results that use modern-ish and non-trivial aspects of computer science to influence biology at a theoretic (but still relevant to biologists) level. As such, I am not that interested in things like &lt;a href=&quot;http://egtheory.wordpress.com/2012/06/29/proving-darwin/&quot; rel=&quot;noreferrer&quot;&gt;Chaitin's metabiology&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2&gt;Related questions&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/q/844/1037&quot;&gt;Provable statements about genetic algorithms&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/q/6387/1037&quot;&gt;Algorithmic lens in the social sciences&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/q/7286/1037&quot;&gt;Sources for Algorithmic Evolutionary Game Theory&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/q/7951/1037&quot;&gt;Computational complexity in quantitative finance&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="1037" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2014-06-25T02:40:31.447" Title="Ecology and evolution through the algorithmic lens" Tags="&lt;reference-request&gt;&lt;big-picture&gt;&lt;application-of-theory&gt;&lt;evolutionary-game-theory&gt;&lt;algorithmic-lens&gt;" AnswerCount="5" CommentCount="3" FavoriteCount="15" ContentLicense="CC BY-SA 3.0" />
  <row Id="14104" PostTypeId="1" CreationDate="2012-10-27T04:27:36.563" Score="1" ViewCount="174" Body="&lt;p&gt;Suppose we're sampling a discrete random variable from a distribution f, n times. Is there a simple analytical formulation for the expected number of unique items we obtain, or for the distribution of this number? Is there a name for this characteristic?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This question came up in a practical task: I have a stream of items arriving, every item having several Zipf-distributed parameters, and I'd like to answer queries like &quot;how many items had a parameter equal to x&quot; - I was wondering how feasible it is to just count each parameter value's occurrences (obviously, the space required is exactly what I'm asking about).&lt;/p&gt;&#xA;" OwnerUserId="326" LastActivityDate="2012-10-27T04:27:36.563" Title="Distribution of number of unique items in a sample" Tags="&lt;pr.probability&gt;&lt;st.statistics&gt;" AnswerCount="0" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14105" PostTypeId="1" AcceptedAnswerId="14113" CreationDate="2012-10-27T08:54:20.480" Score="15" ViewCount="365" Body="&lt;p&gt;For systems without dependent types, like Hindley-Milner type system, the types correspond to formulas of intuitionistic logic. There we know that its models are Heyting algebras, and in particular, to disprove a formula, we can restrict to one Heyting algebra where each formula is represented by an open subset of $\mathbb{R}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, if we want to show that $\forall\alpha.\alpha\lor(\alpha\rightarrow\bot)$ is not inhabited, we construct a mapping $\phi$ from formulas to open subsets of $\mathbb{R}$ by defining:&#xA;\begin{align}&#xA;\phi(\alpha) &amp;amp;= (-\infty, 0)&#xA;\end{align}&#xA;Then&#xA;\begin{align}&#xA;\phi(\alpha\rightarrow\bot) &amp;amp;= \mbox{int}( [0, \infty) ) \\ &amp;amp; = (0,\infty) \\&#xA;\phi(\alpha\lor(\alpha\rightarrow\bot)) &amp;amp;= (-\infty, 0) \cup (0,\infty) \\&#xA;  &amp;amp;= \mathbb{R} \setminus {0}.&#xA;\end{align}&#xA;This shows that the original formula cannot be provable, since we have a model where it's not true, or equivalently (by Curry-Howard isomorphism) the type cannot be inhabited.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another possibility would be to use &lt;a href=&quot;https://en.wikipedia.org/wiki/Kripke_frame&quot;&gt;Kriepke frames&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Are there any similar methods for systems with dependent types? Like some generalization of Heyting algebras or Kripke frames?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note: I'm not asking for a decision procedure, I know there cannot be any. I'm asking just for a mechanism that allows to witness unprovability of a formula - to convince someone that it's unprovable.&lt;/p&gt;&#xA;" OwnerUserId="10336" LastActivityDate="2012-10-28T03:53:18.243" Title="How to show that a type in a system with dependent types is not inhabited (i.e. formula not provable)?" Tags="&lt;lo.logic&gt;&lt;dependent-type&gt;&lt;model-theory&gt;&lt;calculus-of-constructions&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="14106" PostTypeId="1" AcceptedAnswerId="14116" CreationDate="2012-10-27T13:14:28.640" Score="16" ViewCount="704" Body="&lt;p&gt;I am not knowledgeable in the area of complexity theory involving groups so I apologize if this is a well known result.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Question 1.&lt;/strong&gt; Let $G$ be a simple undirected graph of order $n$. What is the&#xA;  computational complexity (in terms of $n$) of determining if $G$ is&#xA;  vertex-transitive?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Recall that a graph $G$ is &lt;em&gt;vertex-transitive&lt;/em&gt; if $\mathrm{Aut}(G)$ acts transitively on $V(G).$ &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am not sure if the above definition allows for a polynomial time algorithm since it can be that the order of $\mathrm{Aut}(G)$ is exponential.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However vertex-transitive graphs have some other structural properties that might be exploited in order to be able to efficiently determine them so I am not sure what is the status of the above question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another interesting subclass of vertex-transitive graphs that has even more structure is the class of &lt;a href=&quot;http://en.wikipedia.org/wiki/Cayley_graph&quot;&gt;Cayley&lt;/a&gt; graphs. So it is natural to also pose the following related question&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Question 2.&lt;/strong&gt; What is the computational complexity of determing if a graph $G$ is a&#xA;  Cayley graph?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="2562" LastActivityDate="2012-10-29T06:12:29.367" Title="Complexity of recognizing vertex-transitive graphs" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;&lt;gr.group-theory&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="14109" PostTypeId="2" ParentId="14103" CreationDate="2012-10-27T18:21:49.140" Score="4" Body="&lt;p&gt;Hmmm. As far as evolutionary dynamics/game theory goes, my personal opinion is that the Livnat et al paper you mentioned, while very nice work, doesn't seem to fall &quot;outside&quot; the standard mathematical approach to evolutionary game theory (see work by &lt;em&gt;e.g.&lt;/em&gt; &lt;a href=&quot;http://www.ped.fas.harvard.edu/people/faculty/&quot; rel=&quot;nofollow&quot;&gt;Martin Nowak's group&lt;/a&gt;, such as the '05 paper &lt;a href=&quot;http://www.ped.fas.harvard.edu/people/faculty/publications_nowak/nature05.pdf&quot; rel=&quot;nofollow&quot;&gt;&quot;Evolutionary Dynamics on Graphs&quot;&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So the two claims I would make are: First, while this is some great work in Evolutionary Dynamics that happens to be done by computer scientists, I would not personally place it inside Theoretical Computer Science or as being all that closely related to TCS, except for the preexisting relationship between evolutionary and algorithmic game theory. Second, if you're inclined to disagree, then you may be surprised how much the field of Evolutionary Dynamics already shares/shared with TCS philosophically (but I'm still not sure the techniques are that similar).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In general, I would be inclined to say that there is not any work along these lines, including the reference you mentioned, that fit what you seem to be looking for, which I think is a deep connection between some core concept/technique in TCS and the study of evolution. (Of course, if anyone has a differing opinion, please say so!)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I do think that evolutionary game theory or evolutionary dynamics &lt;em&gt;could&lt;/em&gt; benefit from more algorithic approaches, (such as Livnat et al). For a particular example, I see possible nice extensions for considering evolvable agents with (limited) computional abilities, as modeled by &lt;em&gt;e.g.&lt;/em&gt; finite state machines. This would allow us to study the evolution of discrete agents with more complex conditional strategies such as tit-for-tat. I've looked into this a bit and heard of some preliminary work along these lines but don't have any references to cite.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But even this example is a rather straightforward application, so results of this sort probably still wouldn't answer your question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have much higher hopes on the other hand for learning theory, which could someday make nice connections to evolutionary dynamics as well. But, I'm not very familiar with those results so I will leave that for others to comment on.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Edit) One potential connection that should be mentioned is the known relationship of learning (e.g. the &quot;expert's problem&quot;) and convergence to equilibria in repeated games. Specifically, for example (see Aaron Roth's comment for details), in a repeated game, if all players are playing no-regret strategies, then the past distribution of actions converges to a coarse correlated equilibrium of the single-round game. There may be something interesting and novel to say about this as viewed through the evolutionary game theory lens; I'm not sure.&lt;/p&gt;&#xA;" OwnerUserId="8243" LastEditorUserId="8243" LastEditDate="2012-10-29T22:47:19.017" LastActivityDate="2012-10-29T22:47:19.017" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="14112" PostTypeId="2" ParentId="14091" CreationDate="2012-10-28T00:39:24.293" Score="11" Body="&lt;p&gt;For an excellent introduction to forcing in set theory, there's Timothy Chow's famous USENET post &lt;a href=&quot;http://www-math.mit.edu/~tchow/mathstuff/forcingdum&quot;&gt;&quot;Forcing for dummies&quot;&lt;/a&gt; as well as the more formal paper that arose from it, &lt;a href=&quot;http://www-math.mit.edu/~tchow/forcing.pdf&quot;&gt;&quot;A beginner's guide to forcing&quot;&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="15" LastEditorUserId="15" LastEditDate="2012-10-28T04:51:12.633" LastActivityDate="2012-10-28T04:51:12.633" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14113" PostTypeId="2" ParentId="14105" CreationDate="2012-10-28T03:41:45.053" Score="13" Body="&lt;p&gt;That a formula is not provable can essentially be done in two ways. With some luck we might be able to show within type theory that the formula implies one which is already known to be not provable. The other way is to find a model in which the formula is invalid, and this can be quite hard. For example, it took a very long time to find the &lt;a href=&quot;http://homotopytypetheory.org/references/hofmann-streicher-the-groupoid-interpretation-of-type-theory/&quot;&gt;groupoid model&lt;/a&gt; of dependent type theory, which was the first to invalidate &lt;a href=&quot;http://coq.inria.fr/library/Coq.Logic.EqdepFacts.html#UIP_&quot;&gt;uniqueness of identity proofs&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The question &quot;what is a model of dependent type theory?&quot; has a somewhat complicated answer. If you ignore certain properties of substitution, a model is a &lt;a href=&quot;http://ncatlab.org/nlab/show/locally+cartesian+closed+category&quot;&gt;locally cartesian closed category&lt;/a&gt;, and that might be the simplest answer. If you want a &quot;real&quot; model, then there are several options, see the nLab page on &lt;a href=&quot;http://ncatlab.org/nlab/show/categorical+model+of+dependent+types&quot;&gt;categorical models of dependent type theory&lt;/a&gt;. In any case, the answer is always a bit complicated because dependent type theory is a fairly complex formal system.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If I were to suggest just one article on the subject, I would probably recommend the original paper by Robert Seely, &lt;a href=&quot;http://www.math.mcgill.ca/rags/LCCC/LCCC.pdf&quot;&gt;&quot;Locally cartesian closed categories and type theory&quot;&lt;/a&gt;. If I were to suggest another one, it would probably be one that explains what needs to be corrected in Seely's paper, e.g., Martin Hoffman's &lt;a href=&quot;http://www.dcs.ed.ac.uk/home/mxh/csl94.ps.gz&quot;&gt;&quot;On the Interpretation of Type Theory in Locally Cartesian Closed Categories&quot;&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A recent important advance in this area is the realization that homotopy-theoretic models are also models of dependent type theory, see &lt;a href=&quot;http://homotopytypetheory.org/references/&quot;&gt;homotopytypetheory.org references&lt;/a&gt;. This provides a wealth of possibilities, but one must now learn homotopy theory to get hands on the models.&lt;/p&gt;&#xA;" OwnerUserId="705" LastEditorUserId="705" LastEditDate="2012-10-28T03:53:18.243" LastActivityDate="2012-10-28T03:53:18.243" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="14114" PostTypeId="2" ParentId="14091" CreationDate="2012-10-28T16:08:51.447" Score="4" Body="&lt;p&gt;see also &lt;a href=&quot;http://repository.cmu.edu/cgi/viewcontent.cgi?article=1040&amp;amp;context=philosophy&quot; rel=&quot;nofollow&quot;&gt;Forcing in proof theory&lt;/a&gt; by Avigad, 30pp, 2004. he cites BGS75 but not in detail. there is some reference to Scott/Solovay as a rephrasing of forcing into boolean-valued models.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Ideas in forcing have been influential in computational complexity; for example, the separation of complexity classes relavitized to an oracle (e.g., as in BGS75) can often be viewed as resource-bounded versions of forcing.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2012-10-28T16:08:51.447" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14116" PostTypeId="2" ParentId="14106" CreationDate="2012-10-28T23:48:57.507" Score="14" Body="&lt;p&gt;I don't have a complete answer, but I think both problems are open.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;The paper by Jajcay, Malni&amp;#x10D;, Maru&amp;scaron;i&amp;#x10D; [3] is related to your first question.&#xA;They provide some tools to test vertex-transitivity. They say in the introduction that:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;For a given finite graph $\Gamma$,&#xA;  it is decidedly hard to determine whether $\Gamma$ is vertex-transitive,&#xA;  and the ultimate answer comes usually only after a substantial part of&#xA;  the full automorphism group of $\Gamma$ has been determined.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Note that vertex-transitivity test can be done by testing graph isomorphism $n−1$ times.&#xA;Make two copies $G$ and $G'$ of your graph,&#xA;with special anchors (like paths of length $n+1$) at $u \in V(G)$ and $v \in V(G')$.&#xA;There is an isomorphism between $G$ and $G'$ if and only if&#xA;the original graph has an automorphism mapping $u$ to $v$.&#xA;Thus you can test vertex-tansitivity by fixing a vertex $x$,&#xA;and checking that there are automorphisms mapping $x$ to all the other vertices.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also note that if vertex-transitivity test can be done in polynomial time,&#xA;then so is isomorphism test for vertex-transitive graphs.&#xA;This is because two vertex-transitive graphs are isomorphic if and only if&#xA;their disjoint union is vertex-transitive.&#xA;I believe that complexity of graph isomorphism for vertex-transitive graphs is not known.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;For the 2nd question, I found a partial result.&#xA;A &lt;em&gt;circulant graph&lt;/em&gt; is a Cayley graph on a cyclic group.&#xA;Evdokimov and Ponomarenko [2] show that recognition of&#xA;circulant graphs can be done in polynomial time.&#xA;Also the book chapter by Alspach [1, Chapter 6: Cayley graphs, Section 6.2: Recognition]&#xA;would be interesting for you, although it says that:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;We shall ignore the computational problem of recognizing whether an&#xA;  arbitrary graph is a Cayley graph. Instead, we always assume that&#xA;  Cayley graphs have been described in terms of the groups on which they&#xA;  are built, together with the connection sets. For most problems this&#xA;  is not a drawback.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Beineke, Wilson, Cameron. &lt;a href=&quot;http://books.google.co.jp/books?id=z2K26gZLC1MC&amp;amp;pg=PA156&quot;&gt;Topics in Algebraic Graph Theory&lt;/a&gt;. Cambridge University Press, 2004. &lt;/li&gt;&#xA;&lt;li&gt;Evdokimov, Ponomarenko. Circulant graphs: Recognizing and isomorphism testing in polynomial time. St. Petersburg Math. J. 15 (2004) 813-835. &lt;a href=&quot;http://dx.doi.org/10.1090/S1061-0022-04-00833-7&quot;&gt;doi:10.1090/S1061-0022-04-00833-7&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Jajcay, Malni&amp;#x10D;, Maru&amp;scaron;i&amp;#x10D;. On the number of closed walks in vertex-transitive graphs. Discrete Math. 307 (2007) 484-493. &lt;a href=&quot;http://dx.doi.org/10.1016/j.disc.2005.09.039&quot;&gt;doi:10.1016/j.disc.2005.09.039&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="481" LastEditorUserId="481" LastEditDate="2012-10-29T06:12:29.367" LastActivityDate="2012-10-29T06:12:29.367" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14118" PostTypeId="2" ParentId="12418" CreationDate="2012-10-29T01:11:19.080" Score="2" Body="&lt;p&gt;I am old school and just use files and folders to organize everything. I have it in Dropbox and I share it with my professors or other students. I think using files and folders although it isn't very fancy but it works well. I have tried special organizers but never used them. &lt;/p&gt;&#xA;" OwnerUserId="5385" LastActivityDate="2012-10-29T01:11:19.080" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14119" PostTypeId="2" ParentId="6670" CreationDate="2012-10-29T09:09:41.917" Score="9" Body="&lt;p&gt;You may also take a look at &lt;a href=&quot;http://www.dharwadker.org/pirzada/applications/&quot;&gt;http://www.dharwadker.org/pirzada/applications/&lt;/a&gt;.&#xA;It's about applications of Graph Theory. It states some applications for vertex cover too, like in biochemistry and solving the SNP assembly problem or in a computer network security problem.&lt;/p&gt;&#xA;" OwnerUserId="12277" LastActivityDate="2012-10-29T09:09:41.917" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14121" PostTypeId="1" CreationDate="2012-10-30T05:21:57.357" Score="6" ViewCount="224" Body="&lt;p&gt;Among the many upper bounds for families of codes in $\mathbb F _2 ^n$, the best known bound is the one by McEliece, Rodemich, Rumsey and Welch (derived through a linear programming relaxation approach) which states that the rate $R(\delta)$ corresponding to a relative distance of $\delta$ is such that:&#xA;\begin{equation*}R(\delta) \leq H_2(\frac{1}{2}-\sqrt{\delta(1-\delta)}) \end{equation*}&#xA;where H is the (binary) entropy function.&#xA;(A slight improvement of the above exists in the binary case, but within the same framework)&#xA;In the case of q-ary codes, i.e. codes over $\mathbb F _q ^n$, the above bound is generalized to:&#xA;\begin{equation*}R(\delta) \leq H_q(\frac{1}{q}(q-1-(q-2)\delta-2\sqrt{(q-1)\delta(1-\delta)})) \end{equation*}&#xA;My question is as follows:&#xA;For larger alphabet size q, the above bound seems to weaken significantly. In fact, observing the growth of the above bound as $q \rightarrow \infty$, we see that:&#xA;\begin{equation*} R(\delta) \leq 1-\delta+\mathcal{O}(\frac{1}{\log{q}})  \end{equation*}&#xA;Thus, it seems to get worse than even the Singleton bound $R(\delta) \leq 1-\delta$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So which is the best bound for large alphabet size $q$? Or am I wrong in the above conclusion that the MRRW bound is worse than even the Singleton bound for larger $q$?&#xA;Also, could someone direct me to references for comparisons of different upper bounds for larger $q$? I am able to find reliable comparisons only for $q=2$.&lt;/p&gt;&#xA;" OwnerUserId="12297" LastEditorUserId="12297" LastEditDate="2012-10-30T05:32:40.350" LastActivityDate="2013-09-19T21:10:16.337" Title="Best upper bound on rate for q-ary codes" Tags="&lt;co.combinatorics&gt;&lt;it.information-theory&gt;&lt;coding-theory&gt;&lt;upper-bounds&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="14123" PostTypeId="2" ParentId="14091" CreationDate="2012-10-30T12:15:08.273" Score="9" Body="&lt;p&gt;For uses of forcing like techniques in proof complexity you might want to look at:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;M. Ajtai. &lt;a href=&quot;http://doi.ieeecomputersociety.org/10.1109/SFCS.1988.21951&quot; rel=&quot;nofollow&quot;&gt;The complexity of the pigeonhole principle&lt;/a&gt;. In Proceedings of the 29th Annual IEEE Symposium on Foundations of Computer Science, White Plains, NY, 1988, pp. 346–355; and&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;M. Ajtai. &lt;a href=&quot;http://dx.doi.org/10.1007/BF01302964&quot; rel=&quot;nofollow&quot;&gt;The complexity of the pigeonhole principle&lt;/a&gt;. Combinatorica 14 (1994), no. 4, 417–433. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The method of proof is an arithmetical analogue&#xA;of forcing (of a kind already used by Paris and Wilkie). More combinatorial (and improved lower bounds) are in J. Krajıcek, P. Pudlak, and A. Woods, &lt;a href=&quot;http://www.ams.org/mathscinet-getitem?mr=1346282&quot; rel=&quot;nofollow&quot;&gt;Exponential lower bounds to the size of bounded depth Frege proofs of the pigeonhole principle&lt;/a&gt;, Random Structures Algorithms, 7 (1995),&#xA;pp. 15–39. and T. Pitassi, P. W. Beame, and R. Impagliazzo, &lt;a href=&quot;http://dx.doi.org/10.1007/BF01200117&quot; rel=&quot;nofollow&quot;&gt;Exponential lower bounds for the pigeonhole&#xA;principle&lt;/a&gt;, Comput. Complexity, 3 (1993), pp. 97–140. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;See also: &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Miklos Ajtai. &lt;a href=&quot;http://eccc.hpi-web.de/report/1994/014/&quot; rel=&quot;nofollow&quot;&gt;The Independence of the modulo $ p$  Counting Principles&lt;/a&gt;. ECCC 1994.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Soren Riis. &lt;a href=&quot;http://www.brics.dk/RS/94/23/&quot; rel=&quot;nofollow&quot;&gt;Finitisation in Bounded Arithmetic&lt;/a&gt;. 1994, BRICS, Department of Computer Science University of Aarhus.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Recently, Jan Krajicek published a book unifying these forcing techniques:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;J. Krajicek. &lt;a href=&quot;http://www.ams.org.myaccess.library.utoronto.ca/mathscinet-getitem?mr=2768875&quot; rel=&quot;nofollow&quot;&gt;Forcing with Random Variables and Proof Complexity&lt;/a&gt;. Cambridge University Press, Dec. 2010. (&lt;a href=&quot;http://www.karlin.mff.cuni.cz/~krajicek/fdraft.html&quot; rel=&quot;nofollow&quot;&gt;Draft available from Krajicek's homepage&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="78" LastEditorUserId="129" LastEditDate="2014-07-11T12:28:37.493" LastActivityDate="2014-07-11T12:28:37.493" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="14124" PostTypeId="1" AcceptedAnswerId="37439" CreationDate="2012-10-30T15:19:35.977" Score="31" ViewCount="2022" Body="&lt;p&gt;Any natural number can be regarded as a bit sequence, so inputting a natural number is the same as inputting a 0-1 sequence, so NP-complete problems with natural inputs obviously exist. But are there any natural problems, i.e. ones that do not use some encoding and special interpretation of the digits? For example &quot;Is n a prime?&quot; is such a natural problem, but this one is in P. Or &quot;Who wins the Nim game with heaps of size 3, 5, n, n?&quot; is another problem that I consider natural, but we also know this to be in P. I am also interested in other complexity classes instead of NP.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Update: As pointed out by Emil Jeřábek, given $a,b,c\in \mathbb N,$ to determine whether $ax^2+by-c=0$ has a solution over the naturals is NP-complete. This is exactly what I had in mind as natural, except that here the input is three numbers instead of just one.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Update 2: And after more than four years waiting, Dan Brumleve has given a &quot;better&quot; solution - note that it's still not complete because of the randomized reduction.&lt;/p&gt;&#xA;" OwnerUserId="419" LastEditorUserId="419" LastEditDate="2017-01-31T09:15:46.650" LastActivityDate="2019-05-23T23:20:36.790" Title="Is there a natural problem on the naturals that is NP-complete?" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;&lt;nt.number-theory&gt;&lt;combinatorial-game-theory&gt;" AnswerCount="6" CommentCount="17" FavoriteCount="12" ContentLicense="CC BY-SA 3.0" />
  <row Id="14125" PostTypeId="1" AcceptedAnswerId="14126" CreationDate="2012-10-30T15:26:24.720" Score="8" ViewCount="2337" Body="&lt;p&gt;I see in certain places &quot;lifting computation&quot; or &quot;lifting&quot; mentioned. I haven't been able to accurately define for myself what is meant by that.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This usually comes up in computer science context. Any ideas what it means?&lt;/p&gt;&#xA;" OwnerUserId="12302" LastEditorUserId="-1" LastEditDate="2012-11-11T06:28:35.847" LastActivityDate="2019-03-01T14:52:26.360" Title="what does &quot;lifting&quot; mean?" Tags="&lt;reference-request&gt;&lt;terminology&gt;" AnswerCount="3" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14126" PostTypeId="2" ParentId="14125" CreationDate="2012-10-30T16:19:41.887" Score="10" Body="&lt;p&gt;Computer science (especially theory B) has many connections to category theory, and that is the usual context for &lt;a href=&quot;http://en.wikipedia.org/wiki/Lift_(mathematics)&quot; rel=&quot;noreferrer&quot;&gt;lifting&lt;/a&gt;. The basic idea is that you might have two objects $X$ and $Y$ that interact in a very intuitive way for you, and so it is easy to define a good morphism $f: X \rightarrow Y$. You might have a more complicated object $Z$ that is easy to relate to $Y$, but it is not obvious how it relates to $X$. So you will look at a morphism $g: Z \rightarrow Y$ and then use category theory to &lt;em&gt;lift&lt;/em&gt; $f$ to $Z$ using $g$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/4Uo9d.png&quot; alt=&quot;Lift&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In other words, you will find a morphism $h: X \rightarrow Z$ such that $gh = f$. For more info, see &lt;a href=&quot;http://www.cs.ox.ac.uk/ralf.hinze/WG2.8/26/slides/ralf.pdf&quot; rel=&quot;noreferrer&quot;&gt;these slides&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="1037" LastEditorUserId="1037" LastEditDate="2012-10-30T16:28:36.557" LastActivityDate="2012-10-30T16:28:36.557" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14128" PostTypeId="1" AcceptedAnswerId="14141" CreationDate="2012-10-30T19:14:41.983" Score="13" ViewCount="728" Body="&lt;p&gt;Is it possible to build a single purpose (non Turing complete) mechanical implementation of say, Microsoft Word?  Is it possible to implement such things as iterators, first-order functions, the whole gamut of programming techniques?  Could gears and other mechanical parts represent data structures or even program objects?  At a certain point does this necessitate building a general purpose Turing-equivalent machine, or can each function, variable, etc, have its own unique mechanical construct in the form of flywheels and/or gears, ratchets, what have you?  In summary I wonder if any given piece of software on a standard computer could be compiled to a mechanical blueprint.&lt;/p&gt;&#xA;" OwnerUserId="10579" LastEditorUserId="-1" LastEditDate="2012-11-11T06:31:21.623" LastActivityDate="2012-11-11T06:31:21.623" Title="Can any program be implemented mechanically?" Tags="&lt;computability&gt;&lt;pl.programming-languages&gt;&lt;machine-models&gt;&lt;ar.hardware-architecture&gt;" AnswerCount="3" CommentCount="8" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="14129" PostTypeId="2" ParentId="14124" CreationDate="2012-10-30T19:21:08.387" Score="10" Body="&lt;p&gt;Here's a  $\text{NEXP}$-complete problem with a single natural number as the input.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem is about tiling an $n \times n$ grid with a fixed set of tiles and constraints on adjacent tiles and tiles on the boundary. All of this is part of the specification of the problem; it is not part of the input.  The input is only the number $n$. The problem is  $\text{NEXP}$-complete for some choice of tiling rules as shown in&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;D. Gottesman, S. Irani, &quot;The Quantum and Classical Complexity of Translationally Invariant Tiling and Hamiltonian Problems,&quot; Proc. 50th Annual Symp. on Foundations of Computer Science, 95-104 (2009), &lt;a href=&quot;http://dx.doi.org/10.1109/FOCS.2009.22&quot;&gt;DOI: 10.1109/FOCS.2009.22&lt;/a&gt;. Also &lt;a href=&quot;http://arxiv.org/abs/0905.2419&quot;&gt;arXiv:0905.2419&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The problem is defined on page 5 of the arxiv version.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Additionally, they also define a similar problem that is $\text{QMA}_\text{EXP}$-complete, which is the bounded-error quantum analog of $\text{NEXP}$. (The classical bounded error analog of $\text{NEXP}$ is $\text{MA}_\text{EXP}$.)&lt;/p&gt;&#xA;" OwnerUserId="206" LastActivityDate="2012-10-30T19:21:08.387" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="14130" PostTypeId="2" ParentId="14125" CreationDate="2012-10-30T19:37:29.923" Score="2" Body="&lt;p&gt;If I remember right, in the denotational semantics of programming languages, lifting is used an a rather abstract roundabout way to express partial correctness:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The so-called &quot;lifting&quot; of a state space $\Sigma$ is its disjoint union with a &quot;bottom&quot; symbol $\bot$, which typically represents a non-terminating or divergent state of computation.  This is written, (again, if I remember right) $\Sigma^\bot=\Sigma\amalg\bot,$ and a (very simple) partial order is imposed on $\Sigma^\bot$ where $\forall \sigma\in\Sigma_\bot, \bot \le \sigma,$ but no two distinct states in $\Sigma$ proper are comparable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If a &quot;totally correct&quot; denotation of the execution of an arbitrary command in the language is a function&#xA;$\mathcal C:\mathcal S\to(\Sigma\to\Sigma),$  and we wish to relax the requirement of termination or convergence, then we have $\mathcal C':\mathcal S\to(\Sigma^\bot\to\Sigma^\bot),$ where $\mathcal C'(\mathcal S)(\bot)=\bot$ and $\forall\sigma\in\Sigma,\mathcal C'(\mathcal S)(\sigma)\le \mathcal C(\mathcal S)(\sigma).$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So $\mathcal C'$ is a partially correct denotation of the semantics of command execution in the language.  This is useful, for example, to express the semantics of a &lt;code&gt;while&lt;/code&gt; loop with a &lt;em&gt;loop invariant&lt;/em&gt; without regard to whether or not it would actually terminate, while additional machinery, namely a &lt;em&gt;loop variant&lt;/em&gt;, would be necessary in order express the termination of a &lt;code&gt;while&lt;/code&gt; loop.&lt;/p&gt;&#xA;" OwnerUserId="12305" LastActivityDate="2012-10-30T19:37:29.923" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14131" PostTypeId="2" ParentId="14124" CreationDate="2012-10-30T20:08:31.050" Score="2" Body="&lt;p&gt;I think that using one of the time-bounded variants of Kolmogorov complexity you can build a problem that uses only the binary representation of a number and (I think) is unlikely to be in $\mathsf{P}$; informally it is a decidable version of the problem &quot;Is $n$ compressible?&quot;:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Problem: Given $n$, does a Turing machine $M$ exist such that $|M| &amp;lt; l$ and $M$ on a blank tape outputs $n$ in less than $l^2$ steps, where $l = \lceil \log{n} \rceil$ is the length of the binary representation of $n$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is clearly in $\mathsf{NP}$, because given $n$ and $M$, just simulate $M$ for $l^2$ steps and  if it halts compare the result with $n$.&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2012-10-30T20:22:39.223" LastActivityDate="2012-10-30T20:22:39.223" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="14132" PostTypeId="1" AcceptedAnswerId="14145" CreationDate="2012-10-30T20:31:43.673" Score="9" ViewCount="858" Body="&lt;p&gt;If you have two functions implementing a different sorting algorithm, is it then possible to infer by source code that they both have the same external properties? Meaning that they both will have a possible unsorted sequence as their input and have a sorted sequence as their output? In what way could these external properties be determined by the source code? And how would you describe these external properties? What notation would be used?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The external properties could be made known by defining them explicitly, for example within a type system, but I am wondering whether this could be done implicitly. Or is it somehow theoretically impossible to infer this kind of semantics? I am interested in whether this is possible for arbitrary functions, not just for sorting algorithms, assuming things like functions will always halt and have no side-effects.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Should I look at denotational semantics, or is unrelated?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm interested in pointers to research in this area and to different terms used to describe the subject that might help my literature search.&lt;/p&gt;&#xA;" OwnerUserId="12306" LastEditorUserId="270" LastEditDate="2014-03-24T08:30:16.747" LastActivityDate="2014-03-24T08:30:16.747" Title="Is it possible to compute whether two functions are extensional equal?" Tags="&lt;pl.programming-languages&gt;&lt;decidability&gt;&lt;formal-methods&gt;&lt;extensionality&gt;" AnswerCount="3" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="14133" PostTypeId="1" AcceptedAnswerId="14137" CreationDate="2012-10-30T20:45:38.270" Score="19" ViewCount="2560" Body="&lt;p&gt;What are the limitations of total functional programming? It is not Turing-complete, but still supports a large subset of the possible programs. Are there important constructs that you could write in a Turing-complete language, but not in a total functional language?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;And is it correct to say that programs written in total functional languages can be completely statically analysed, while static analysis in Turing-complete languages is limited by things like the halting problem? With that I do not mean that in total functional languages everything can be staticaly determined, because some things are only known at runtime, but I mean that in theory, programs written in an ideal total functional programming language, can be analysed so that everything that could in theory be determined statically can be determined statically. Or are there still undecidable problems inherit in total functional languages that make static analysis incomplete? Some problems will always be undecidable, no matter in which language they are written, but I am interested in such problems that are inherit to the language, like the halting problem in Turing-complete languages.&lt;/p&gt;&#xA;" OwnerUserId="12306" LastActivityDate="2012-10-31T07:48:06.023" Title="What are the limits of total functional programming?" Tags="&lt;computability&gt;&lt;pl.programming-languages&gt;&lt;functional-programming&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="14135" PostTypeId="1" CreationDate="2012-10-30T20:51:26.113" Score="0" ViewCount="1841" Body="&lt;p&gt;I have a set of nodes which can be connected together through arcs. Every node has an associated value, reflecting the &quot;fitness&quot; that this particular node has in the graph. I have to find the best graph connecting the vertices, defining best as the maximum value achievable by summing node fitness. I already have an algorithm for that, I'm only asking if this is a well-known problem or a more efficient algorithm than NP-hard does exist.&lt;/p&gt;&#xA;" OwnerUserId="12307" LastEditorUserId="-1" LastEditDate="2012-11-11T06:31:27.860" LastActivityDate="2012-11-11T06:31:27.860" Title="Graph building with weighted nodes" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;graph-algorithms&gt;&lt;partition-problem&gt;" AnswerCount="1" CommentCount="7" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="14136" PostTypeId="2" ParentId="14132" CreationDate="2012-10-30T21:04:55.220" Score="-2" Body="&lt;p&gt;A quick answer (I admit I did not spent much time...) Rice theorem says that  for any non trivial question, it is undecidable to say wether the function computed by a program will have the property or not. Therefore the question here is undecidable&lt;/p&gt;&#xA;" OwnerUserId="12309" LastActivityDate="2012-10-30T21:04:55.220" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14137" PostTypeId="2" ParentId="14133" CreationDate="2012-10-31T01:20:29.037" Score="16" Body="&lt;p&gt;It depends on the &lt;a href=&quot;http://en.wikipedia.org/wiki/Total_functional_programming&quot;&gt;total functional language&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This answer sounds like a cop-out, but nothing more specific can be said. After all, consider whatever important decidable program that you're interested in. Write a program in your favorite Turing-complete language to solve it. Since the problem is decidable, your program will halt on all inputs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Arguably, a non-decidable problem could have interesting programs, but not such that people can use, because they'll never be able to wait long enough to know the answer.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, define a new language such that it has only one valid input program: the program that you just wrote, with the same semantics as it had before. It's certainly total, since all inputs to all programs written in it (of which there's only one) always terminate.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This cheap trick is actually useful: the language &lt;a href=&quot;http://en.wikipedia.org/wiki/Coq&quot;&gt;Coq&lt;/a&gt;, for example, is a total functional language in that no program typechecks unless there is a proof that it terminates. (If you were to waive that requirement, it would be Turing-complete, so the only obstacle is finding a proof of termination.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm not sure what you mean by &quot;everything that could in theory be determined statically can be determined statically&quot;; it sounds tautologically true. Nonetheless, total languages aren't inherently easy to analyze; you know that nothing diverges, which is a useful fact, but the relationship between input and output is still complex. (In particular, there are still infinitely many possible inputs, so you can't exhaustively try them all, even in theory.)&lt;/p&gt;&#xA;" OwnerUserId="8499" LastActivityDate="2012-10-31T01:20:29.037" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="14138" PostTypeId="2" ParentId="7131" CreationDate="2012-10-31T03:51:32.953" Score="17" Body="&lt;p&gt;Upon discussing this with Michael T. Goodrich, it seems that the parallel sorting algorithm by Cole for EREW PRAM does the job. See&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Richard Cole: &quot;&lt;a href=&quot;http://dx.doi.org/10.1137/0222081&quot;&gt;Parallel Merge Sort&lt;/a&gt;&quot;. SIAM J. Comput. 17(4): 770-785 (1988).&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;In that algorithm there are $O(\log n)$ rounds and in each round each element participates in $O(1)$ comparisons. (One has to understand the algorithm to see that we do not abuse of making copies of each element.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An extension of that algorithm for parallel pointer machine is given in &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;M.T. Goodrich, S.R. Kosaraju: &quot;&lt;a href=&quot;http://dx.doi.org/10.1145/226643.226670&quot;&gt;Sorting on a Parallel Pointer Machine with Applications to Set Expression Evaluation&lt;/a&gt;&quot;. J. ACM 43(2): 331-361 (1996). &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="1839" LastEditorUserId="186" LastEditDate="2012-11-01T21:02:59.983" LastActivityDate="2012-11-01T21:02:59.983" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="14139" PostTypeId="2" ParentId="14124" CreationDate="2012-10-31T04:12:24.733" Score="1" Body="&lt;p&gt;How about the &lt;a href=&quot;http://en.wikipedia.org/wiki/Partition_problem&quot; rel=&quot;nofollow&quot;&gt;PARTITION problem&lt;/a&gt;?&lt;/p&gt;&#xA;" OwnerUserId="6218" LastActivityDate="2012-10-31T04:12:24.733" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="14140" PostTypeId="2" ParentId="14133" CreationDate="2012-10-31T07:48:06.023" Score="16" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;What are the limitations of total functional programming? It is not Turing-complete, but still supports a large subset of the possible programs. Are there important constructs that you could write in a Turing-complete language, but not in a total functional language?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Assuming your functional language $L$ lets you encode arithmetic operations, there is one program that you can &lt;em&gt;count&lt;/em&gt; on not being expressible if it is total: namely, an interpreter for $L$, written in $L$. &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;The proof of this fact is essentially Goedel's incompleteness theorem, viewed through the lens of the Curry-Howard correspondence. Recall that a consistency proof is a proof that false is not derivable.in a logical system. Since CH says proofs are programs, a consistency proof is hence a proof that there are no closed programs of the empty type. (Note that non-termination gives you an easy way to inhabit all types, since the looping program can be given any type you like, since it will never evaluate to a value.) So in a total functional language, a self-interpreter for $L$ gives a proof in $L$ that every program in $L$ terminates, and hence proves that $L$ is consistent. This is just what Goedel's theorem rules out, assuming you can do arithmetic. So we know that we can't write self-interpreters in total functional languages.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The flip side of this, though, is that the limits on the expressive power of total languages are essentially the limits on the expressive power of &lt;em&gt;mathematics itself&lt;/em&gt;. For example, the functions definable in Coq (a proof assistant) are those that can be proved to be computable using ZFC, with countably many inaccessible cardinals. So essentially any function that you could prove total to the satisfaction of a working mathematician is definable in Coq. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The flip side of the flip side is that mathematics is hard! So there's no easy sense in which total languages are &quot;completely analyzable&quot; -- even if you know that a function terminates, you may still have to do a lot of creative work to prove that it has a property that you want. For example, just knowing that a function from lists to lists is total, doesn't get you very far in proving that it is a sorting function....&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="657" LastActivityDate="2012-10-31T07:48:06.023" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="14141" PostTypeId="2" ParentId="14128" CreationDate="2012-10-31T08:16:42.930" Score="23" Body="&lt;p&gt;Yes, it is. Here's how you do it: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can compile basically any program you like to circuits. See for instance the work of Dan Ghica and his collaborators on the Geometry of Synthesis, which shows how to compile programs into circuits.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Dan R. Ghica. &lt;a href=&quot;http://www.cs.bham.ac.uk/~drg/papers/popl07x.pdf&quot;&gt;Geometry of Synthesis: A structured approach to VLSI design&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Dan R. Ghica, Alex Smith. &lt;a href=&quot;http://www.cs.bham.ac.uk/~drg/papers/mfps10.pdf&quot;&gt;Geometry of Synthesis II: From Games to Delay-Insensitive Circuits&lt;/a&gt;  &lt;/li&gt;&#xA;&lt;li&gt;Dan R. Ghica, Alex Smith. &lt;a href=&quot;http://www.cs.bham.ac.uk/~drg/papers/popl11.pdf&quot;&gt;Geometry of Synthesis III: Resource management through type inference.&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Dan R. Ghica, Alex Smith, Satnam Singh. &lt;a href=&quot;http://www.cs.bham.ac.uk/~drg/papers/icfp11.pdf&quot;&gt;Geometry of synthesis IV: compiling affine recursion into static hardware.&lt;/a&gt; &lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Circuits then turn out to reappear over and over in engineering. John Baez gives a big table of analogies of concepts, and works out a lot of connections, in This Week's Finds 288-296. So the circuit diagrams Dan's compiler generates could be instantiated as mechanical or hydraulic systems, if you really wanted to! &lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;╔══════════════════════════════════════════════════════════════╗&#xA;║                 displacement  flow      momentum     effort  ║&#xA;╠══════════════════════════════════════════════════════════════╣&#xA;║ Mechanics      position      velocity  momentum     force    ║&#xA;║ (translation)                                                ║&#xA;║                                                              ║&#xA;║ Mechanics      angle         angular   angular      torque   ║&#xA;║ (rotation)                   velocity  momentum              ║&#xA;║                                                              ║&#xA;║ Electronics    charge        current   flux         voltage  ║&#xA;║                                        linkage               ║&#xA;║                                                              ║&#xA;║ Hydraulics     volume        flow      pressure     pressure ║&#xA;║                                        momentum              ║&#xA;╚══════════════════════════════════════════════════════════════╝&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://math.ucr.edu/home/baez/week288.html&quot;&gt;http://math.ucr.edu/home/baez/week288.html&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://math.ucr.edu/home/baez/week289.html&quot;&gt;http://math.ucr.edu/home/baez/week289.html&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://math.ucr.edu/home/baez/week290.html&quot;&gt;http://math.ucr.edu/home/baez/week290.html&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://math.ucr.edu/home/baez/week291.html&quot;&gt;http://math.ucr.edu/home/baez/week291.html&lt;/a&gt; &lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://math.ucr.edu/home/baez/week294.html&quot;&gt;http://math.ucr.edu/home/baez/week294.html&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://math.ucr.edu/home/baez/week296.html&quot;&gt;http://math.ucr.edu/home/baez/week296.html&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="657" LastEditorUserId="657" LastEditDate="2012-11-01T08:10:56.207" LastActivityDate="2012-11-01T08:10:56.207" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="14142" PostTypeId="2" ParentId="11418" CreationDate="2012-10-31T08:17:33.723" Score="4" Body="&lt;p&gt;First of all, note that it is always beneficiary to start the game with asking each citizen their role if we are looking for a deterministic winning strategy for Town. This is because if no matter what the Mafiosi declare themselves the Town wins, then it is obviously no harm to ask. And if the Mafiosi can declare themselves something and win in that case, then they pretend that they did the declaration and act accordingly.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, a game like this probably won't be PSPACE-complete as there is no underlying structure. I strongly believe that it is not hard to analyze the game for all values of i, c, m. Below I do this for m=1. So from now on let us suppose that is there is only one mafioso, M, and the game starts with asking the roles. Now M either claims investigator or citizen. Let us check both cases.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Case 1: M claims investigator&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If i=0, then Town wins if c is at least 2.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If i=1, then Town wins if c is at least 4. For smaller numbers they lose because M can kill a citizen each night.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If i=2, then Town wins if c is at least 3. The 3 alleged investigators can ask each other in a circular order. M is revealed unless one of them dies, so he must kill an investigator. This reduces the game to the case i=1.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If i=3, then Town wins if c is at least 1. The 4 alleged investigators can ask each other in a circular order. M is revealed unless one of them dies, so he must kill an investigator. Now there are (at most) two possibilities for M and at least 5 people left, so they can kill both. If c=0, then no matter how they ask each other, M can always kill somebody and stay hidden (by case analysis), so Town has no deterministic win.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If i&gt;=4, then Town wins by the alleged investigators asking each other in a circular order, as in the case i=3.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Case 2: M claims citizen&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here the game is a lot simpler, the investigators ask different people in every round and M kills one of them each night (it is always better to kill an investigator than a citizen). Also, sometimes they might vote to kill a citizen (in fact, it is always ok to do so, unless i=2 and c=1). Because of using recursion, it is better to also allow citizens proved to be innocent, and denote their number by n.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Town wins if&lt;/p&gt;&#xA;&#xA;&lt;p&gt;i=0, n&gt;=c+2,&#xA;i=1, n&gt;=c+1,&#xA;i=2, n&gt;=c-2,&#xA;and from here we can see (and also easily prove) that for general i Town wins if and only if n&gt;=c+2-i^2. Since in the real game there are no innocent citizens at the beginning, this means that the Town wins if i^2&gt;=c+2.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Putting it together: Town has no deterministic win if i&amp;lt;=2. For i=3, Town wins for 1&amp;lt;=c&amp;lt;=7 (as for 0 M can claim investigator and for c&gt;=8, he can claim citizen). For i&gt;=4, Town wins for c&amp;lt;=i^2-2.&lt;/p&gt;&#xA;" OwnerUserId="419" LastActivityDate="2012-10-31T08:17:33.723" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14143" PostTypeId="1" AcceptedAnswerId="14146" CreationDate="2012-10-31T08:32:40.880" Score="12" ViewCount="696" Body="&lt;p&gt;&#xA;Following up &lt;a href=&quot;https://stackoverflow.com/q/13122489/1333025&quot;&gt;What’s an example of a Monad which is an Alternative but not a MonadPlus?&lt;/a&gt;:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Assume $m$ is a monad. What are the relations betweem $m$ being an &lt;em&gt;Alternative&lt;/em&gt;, a &lt;em&gt;MonadPlusCatch&lt;/em&gt; and a &lt;em&gt;MonadPlusDistr&lt;/em&gt;?&lt;/strong&gt; For each of the six possible pairs, I'd like to have either a proof that one implies another, or a counter-example that it doesn't.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(I'm using&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;em&gt;MonadPlusCatch&lt;/em&gt; to distinguish a &lt;em&gt;MonadPlus&lt;/em&gt; that satisfies the &lt;em&gt;Left-Catch&lt;/em&gt; rule:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;mplus (return a) b = return a&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;em&gt;MonadPlusDistr&lt;/em&gt; to distinguish a &lt;em&gt;MonadPlus&lt;/em&gt; that satifies &lt;em&gt;Left-Distribution&lt;/em&gt; rule:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;mplus a b &amp;gt;&amp;gt;= k = mplus (a &amp;gt;&amp;gt;= k) (b &amp;gt;&amp;gt;= k)&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;see &lt;a href=&quot;http://www.haskell.org/haskellwiki/MonadPlus&quot; rel=&quot;nofollow noreferrer&quot;&gt;MonadPlus on HaskellWiki&lt;/a&gt;.)&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;My current knowledge + intuition is that:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;em&gt;MonadPlusDist&lt;/em&gt; $\rightarrow$ &lt;em&gt;Alternative&lt;/em&gt; - &lt;strong&gt;&lt;strike&gt;likely&lt;/strike&gt; true&lt;/strong&gt; - &lt;strike&gt;it seems straightforward, I believe I have sketch of a proof, I'll check it and if it's correct, I'll post it&lt;/strike&gt; AndrewC answered this part.&lt;/li&gt;&#xA;&lt;li&gt;&lt;em&gt;Alternative&lt;/em&gt; $\rightarrow$ &lt;em&gt;MonadPlusDist&lt;/em&gt; - &lt;strong&gt;false&lt;/strong&gt; - as AndrewC showed in &lt;a href=&quot;https://stackoverflow.com/a/13124491/1333025&quot;&gt;his answer&lt;/a&gt;: &lt;code&gt;Maybe&lt;/code&gt; is an &lt;em&gt;Alternative&lt;/em&gt;, but it's known it's not &lt;em&gt;MonadPlusDist&lt;/em&gt; (it's &lt;em&gt;MonadPlusCatch&lt;/em&gt;).&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;em&gt;MonadPlusCatch&lt;/em&gt; $\rightarrow$ &lt;em&gt;Alternative&lt;/em&gt; - &lt;strong&gt;&lt;strike&gt;likely&lt;/strike&gt; false&lt;/strong&gt; - I believe that &lt;code&gt;MaybeT (Either e)&lt;/code&gt; (or basically anything &lt;code&gt;MaybeT m'&lt;/code&gt;) should serve as a counterexample. The reason is that&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;((pure x) &amp;lt;|&amp;gt; g) &amp;lt;*&amp;gt; a =    -- LeftCatch&#xA;    (pure x) &amp;lt;*&amp;gt; a&#xA;-- which in general cannot be equal to&#xA;((pure x) &amp;lt;*&amp;gt; a) &amp;lt;|&amp;gt; (g &amp;lt;*&amp;gt; a)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;again I'll check and post. (Interestingly, for just &lt;code&gt;Maybe&lt;/code&gt; it's provable, because we can analyze if &lt;code&gt;a&lt;/code&gt; is &lt;code&gt;Just something&lt;/code&gt; or &lt;code&gt;Nothing&lt;/code&gt; - see the aforementioned AndrewC's answer.)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;em&gt;Alternative&lt;/em&gt; $\rightarrow$ &lt;em&gt;MonadPlusCatch&lt;/em&gt; - &lt;strong&gt;&lt;strike&gt;likely&lt;/strike&gt; false&lt;/strong&gt; - if we prove that &lt;em&gt;MonadPlusDist&lt;/em&gt; $\rightarrow$ &lt;em&gt;Alternative&lt;/em&gt; then &lt;code&gt;[]&lt;/code&gt; will server as a counter-example. (Or we could explicitly prove &lt;em&gt;Alternative&lt;/em&gt; laws for &lt;code&gt;[]&lt;/code&gt;.)&lt;/li&gt;&#xA;&lt;li&gt;&lt;em&gt;MonadPlusDist&lt;/em&gt; $\rightarrow$ &lt;em&gt;MonadPlusCatch&lt;/em&gt; - &lt;strong&gt;false&lt;/strong&gt; - &lt;code&gt;[]&lt;/code&gt; is a known counter-example.&lt;/li&gt;&#xA;&lt;li&gt;&lt;em&gt;MonadPlusCatch&lt;/em&gt; $\rightarrow$ &lt;em&gt;MonadPlusDist&lt;/em&gt; - &lt;strong&gt;false&lt;/strong&gt; - &lt;code&gt;Maybe&lt;/code&gt; is a known counter-example.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="10336" LastEditorUserId="-1" LastEditDate="2017-05-23T12:40:09.333" LastActivityDate="2012-11-11T06:31:24.587" Title="What are the relations between Alternative, MonadPlus(LeftCatch) and MonadPlus(LeftDistributive)?" Tags="&lt;pl.programming-languages&gt;&lt;functional-programming&gt;&lt;haskell&gt;&lt;monad&gt;&lt;applicative&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="14144" PostTypeId="2" ParentId="14143" CreationDate="2012-10-31T09:05:58.973" Score="6" Body="&lt;p&gt;&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;A counter-example for &lt;em&gt;MonadPlusCatch&lt;/em&gt; $\rightarrow$ &lt;em&gt;Alternative&lt;/em&gt;&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;Indeed it's &lt;code&gt;MaybeT Either&lt;/code&gt;:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;{-# LANGUAGE FlexibleInstances #-}&#xA;import Control.Applicative&#xA;import Control.Monad&#xA;import Control.Monad.Trans.Maybe&#xA;&#xA;instance (Show a, Show b) =&amp;gt; Show (MaybeT (Either b) a) where&#xA;    showsPrec _ (MaybeT x) = shows x&#xA;&#xA;main = print $&#xA;    let&#xA;        x = id :: Int -&amp;gt; Int&#xA;        g = MaybeT (Left &quot;something&quot;)&#xA;        a = MaybeT (Right Nothing)&#xA;    -- print the left/right side of the left distribution law of Applicative:&#xA;    in ( ((return x) `mplus` g) `ap` a&#xA;       , ((return x) `ap` a) `mplus` (g `ap` a)&#xA;       )&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;The output is&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;(Right Nothing, Left &quot;something&quot;)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;which means that &lt;code&gt;MaybeT Either&lt;/code&gt; fails the left distribution law of &lt;code&gt;Applicative&lt;/code&gt;.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;The reason is that&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;(return x `mplus` g) `ap` a&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;ignores &lt;code&gt;g&lt;/code&gt; (due to &lt;em&gt;LeftCatch&lt;/em&gt;) and evaluates just to&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;return x `ap` a&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;but this is different from what the other side evaluates to:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;g `ap` a&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;" OwnerUserId="10336" LastEditorUserId="10336" LastEditDate="2012-10-31T12:22:40.593" LastActivityDate="2012-10-31T12:22:40.593" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14145" PostTypeId="2" ParentId="14132" CreationDate="2012-10-31T09:50:03.630" Score="8" Body="&lt;p&gt;&lt;strong&gt;Yes.&lt;/strong&gt; If you can verify that they are the same, then so can a computer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here's a quick specification for an integer sort in Coq:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;Inductive natlist : Type :=&#xA;| nil : natlist&#xA;| cons : nat → natlist → natlist.&#xA;&#xA;Fixpoint is_sorted (l : natlist ) : bool :=&#xA;    match l with&#xA;    |  nil =&amp;gt; true&#xA;    |  (cons x nil) =&amp;gt; true&#xA;    |  (cons x (cons y r)) =&amp;gt; if x &amp;lt;= y then is_sorted (cons y r) else false&#xA;    end.&#xA;&#xA;...&#xA;&#xA;Theorem sort_spec : forall l, is_sorted (sort_list l).&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;A specification can be directly encoded into the declaration of sort using dependent types.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For this particular problem, John Darlington demonstrated in the 70s that 6 families of sorting algorithms can be derived by mechanically transforming the specification of a sort into an implementation; I believe this goes under the name &quot;semantics-based program derivation.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the software-engineering world, finding extensionally equivalent functions is known as &quot;semantic clone detection.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Dave Clarke also gave a good answer to this question on the CS StackExchange: &lt;a href=&quot;https://cs.stackexchange.com/questions/2059/how-do-you-check-if-two-algorithms-return-the-same-result-for-any-input&quot;&gt;https://cs.stackexchange.com/questions/2059/how-do-you-check-if-two-algorithms-return-the-same-result-for-any-input&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This all falls under the umbrellas of &lt;em&gt;formal methods&lt;/em&gt; and &lt;em&gt;programming languages&lt;/em&gt;. Denotational semantics are one class of techniques for modeling semantics, but they've fallen out of favor for being difficult to use compared to operational semantics. &lt;/p&gt;&#xA;" OwnerUserId="9522" LastEditorUserId="-1" LastEditDate="2017-04-13T12:48:30.830" LastActivityDate="2012-10-31T09:50:03.630" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="14146" PostTypeId="2" ParentId="14143" CreationDate="2012-10-31T09:55:04.883" Score="9" Body="&lt;h1&gt;&lt;em&gt;MonadPlusDist&lt;/em&gt; $\rightarrow$ &lt;em&gt;Alternative&lt;/em&gt; is true.&lt;/h1&gt;&#xA;&#xA;&lt;h2&gt;Corollary: &lt;em&gt;Alternative&lt;/em&gt; $\rightarrow$ &lt;em&gt;MonadPlusCatch&lt;/em&gt; is false&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;(because as Petr Pudlák pointed out, &lt;code&gt;[]&lt;/code&gt; is a counterexample - it doesn't satisfy &lt;em&gt;MonadPlusCatch&lt;/em&gt; but does satisfy &lt;em&gt;MonadPlusDist&lt;/em&gt;, hence &lt;em&gt;Applicative&lt;/em&gt;)&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Assumed: MonadPlusDist Laws&lt;/h2&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;-- (mplus,mzero) is a monoid&#xA;mzero &amp;gt;&amp;gt;= k = mzero`                             -- left identity &amp;gt;&amp;gt;=&#xA;(a `mplus` b) &amp;gt;&amp;gt;= k  =  (a &amp;gt;&amp;gt;=k) `mplus` (b&amp;gt;&amp;gt;=k) -- left dist mplus&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;h2&gt;To prove: Alternative Laws&lt;/h2&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;-- ((&amp;lt;|&amp;gt;),empty) is a monoid&#xA;(f &amp;lt;|&amp;gt; g) &amp;lt;*&amp;gt; a = (f &amp;lt;*&amp;gt; a) &amp;lt;|&amp;gt; (g &amp;lt;*&amp;gt; a) -- right dist &amp;lt;*&amp;gt;&#xA;empty &amp;lt;*&amp;gt; a = empty                       -- left identity &amp;lt;*&amp;gt;&#xA;f &amp;lt;$&amp;gt; (a &amp;lt;|&amp;gt; b) = (f &amp;lt;$&amp;gt; a) &amp;lt;|&amp;gt; (f &amp;lt;$&amp;gt; b) -- left dist &amp;lt;$&amp;gt;&#xA;f &amp;lt;$&amp;gt; empty = empty                       -- empty fmap&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;&lt;code&gt;&amp;lt;*&amp;gt;&lt;/code&gt; expansion lemma&lt;/strong&gt;&lt;br&gt;&#xA;Assume we use the standard derivation of an applicative from a monad, namely &lt;code&gt;(&amp;lt;*&amp;gt;) = ap&lt;/code&gt; and &lt;code&gt;pure = return&lt;/code&gt;. Then&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;mf &amp;lt;*&amp;gt; mx = mf &amp;gt;&amp;gt;= \f -&amp;gt; mx &amp;gt;&amp;gt;= \x -&amp;gt; return (f x)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;because&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;mf &amp;lt;*&amp;gt; mx = ap mf mx                                  -- premise&#xA;          = liftM2 id mf mx                           -- def(ap)&#xA;          = do { f &amp;lt;- mf; x &amp;lt;- mx; return (id f x) }  -- def(liftM2)&#xA;          = mf &amp;gt;&amp;gt;= \f -&amp;gt; mx &amp;gt;&amp;gt;= \x -&amp;gt; return (id f x) -- desugaring&#xA;          = mf &amp;gt;&amp;gt;= \f -&amp;gt; mx &amp;gt;&amp;gt;= \x -&amp;gt; return (f x)    -- def(id)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;&lt;code&gt;&amp;lt;$&amp;gt;&lt;/code&gt; expansion lemma&lt;/strong&gt;&lt;br&gt;&#xA;Assume we use the standard derivation of a functor from a monad, namely &lt;code&gt;(&amp;lt;$&amp;gt;) = liftM&lt;/code&gt;. Then&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;f &amp;lt;$&amp;gt; mx = mx &amp;gt;&amp;gt;= return . f&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;because&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;f &amp;lt;$&amp;gt; mx = liftM f mx                    -- premise&#xA;         = do { x &amp;lt;- mx; return (f x) }  -- def(liftM)&#xA;         = mx &amp;gt;&amp;gt;= \x -&amp;gt; return (f x)     -- desugaring&#xA;         = mx &amp;gt;&amp;gt;= \x -&amp;gt; (return.f) x     -- def((.))&#xA;         = mx &amp;gt;&amp;gt;= return.f               -- eta-reduction &#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;h1&gt;Proof&lt;/h1&gt;&#xA;&#xA;&lt;p&gt;Assume (&lt;code&gt;&amp;lt;+&amp;gt;&lt;/code&gt;,&lt;code&gt;m0&lt;/code&gt;) satisfy the MonadPlus laws. Trivially then it's a monoid.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Right Dist &lt;code&gt;&amp;lt;*&amp;gt;&lt;/code&gt;&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;I'll prove&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;(mf &amp;lt;+&amp;gt; mg) &amp;lt;*&amp;gt; ma = (mf &amp;lt;*&amp;gt; ma) &amp;lt;+&amp;gt; (mg &amp;lt;*&amp;gt; ma) -- right dist &amp;lt;*&amp;gt;&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;because it's easier on the notation.&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;(mf &amp;lt;+&amp;gt; mg) &amp;lt;*&amp;gt; ma = (mf &amp;lt;+&amp;gt; mg) &amp;gt;&amp;gt;= \forg -&amp;gt; mx &amp;gt;&amp;gt;= \x -&amp;gt; return (forg x) -- &amp;lt;*&amp;gt; expansion&#xA;                   =     (mf &amp;gt;&amp;gt;= \f_g -&amp;gt; mx &amp;gt;&amp;gt;= \x -&amp;gt; return (f_g x))&#xA;                     &amp;lt;+&amp;gt; (mg &amp;gt;&amp;gt;= \f_g -&amp;gt; mx &amp;gt;&amp;gt;= \x -&amp;gt; return (f_g x))      -- left dist mplus&#xA;                   = (mf &amp;lt;*&amp;gt; mx) &amp;lt;+&amp;gt; (mg &amp;lt;*&amp;gt; mx)                           -- &amp;lt;*&amp;gt; expansion&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;h2&gt;Left Identity &lt;code&gt;&amp;lt;*&amp;gt;&lt;/code&gt;&lt;/h2&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;mzero &amp;lt;*&amp;gt; mx = mzero &amp;gt;&amp;gt;= \f -&amp;gt; mx &amp;gt;&amp;gt;= \x -&amp;gt; return (f x) -- &amp;lt;*&amp;gt; expansion&#xA;             = mzero                                     -- left identity &amp;gt;&amp;gt;=&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;as required.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Left Dist &lt;code&gt;&amp;lt;$&amp;gt;&lt;/code&gt;&lt;/h2&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;f &amp;lt;$&amp;gt; (a &amp;lt;|&amp;gt; b) = (f &amp;lt;$&amp;gt; a) &amp;lt;|&amp;gt; (f &amp;lt;$&amp;gt; b) -- left dist &amp;lt;$&amp;gt;&#xA;&#xA;f &amp;lt;$&amp;gt; (a &amp;lt;+&amp;gt; b) = (a &amp;lt;+&amp;gt; b) &amp;gt;&amp;gt;= return . f              -- &amp;lt;$&amp;gt; expansion&#xA;                = (a &amp;gt;&amp;gt;= return.f) &amp;lt;+&amp;gt; (b &amp;gt;&amp;gt;= return.f) -- left dist mplus&#xA;                = (f &amp;lt;$&amp;gt; a) &amp;lt;+&amp;gt; (f &amp;lt;$&amp;gt; b)               -- &amp;lt;$&amp;gt; expansion&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;h2&gt;&lt;code&gt;empty fmap&lt;/code&gt;&lt;/h2&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;f &amp;lt;$&amp;gt; mzero = mzero &amp;gt;&amp;gt;= return.f   -- &amp;lt;$&amp;gt; expansion&#xA;            = mzero                -- left identity &amp;gt;&amp;gt;=&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;as required&lt;/p&gt;&#xA;" OwnerUserId="12310" LastEditorUserId="12310" LastEditDate="2012-10-31T10:35:41.403" LastActivityDate="2012-10-31T10:35:41.403" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="14147" PostTypeId="2" ParentId="14124" CreationDate="2012-10-31T11:40:35.000" Score="34" Body="&lt;p&gt;Based on the discussion, I’ll repost this as an answer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As proved by &lt;a href=&quot;http://dx.doi.org/10.1145/800113.803627&quot;&gt;Manders and Adleman&lt;/a&gt;, the following problem is NP-complete: given natural numbers $a,b,c$, determine whether there exists a natural number $x\le c$ such that $x^2\equiv a\pmod b$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem can be equivalently stated as follows: given $b,c\in\mathbb N$, determine whether the quadratic $x^2+by-c=0$ has a solution $x,y\in\mathbb N$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(The original paper states the problem with $ax^2+by-c$, but it is not hard to see that one can reduce it to the case $a=1$.)&lt;/p&gt;&#xA;" OwnerUserId="6959" LastActivityDate="2012-10-31T11:40:35.000" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14148" PostTypeId="2" ParentId="14128" CreationDate="2012-10-31T12:37:06.507" Score="5" Body="&lt;p&gt;A practical example of this is the Tic Tac Toe computer made out of Tinker Toys at the Boston Science Museum (originally made by a team of MIT students).  Of course, this is much simpler than Microsoft Word.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.rci.rutgers.edu/~cfs/472_html/Intro/TinkertoyComputer/TinkerToy.html&quot;&gt;Here&lt;/a&gt; is a 1989 article from Scientific American describing it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There have also been Turing machines made out of &lt;a href=&quot;http://www.legoturingmachine.org/&quot;&gt;legos&lt;/a&gt; (this cheats a bit because it uses electricity---indeed a computer---for movement, but I think the design could be modified to avoid this) &lt;a href=&quot;http://hackaday.com/2011/03/25/mechanical-turing-machine-can-compute-anything-slowly/&quot;&gt;scrap metal&lt;/a&gt;, and more.&lt;/p&gt;&#xA;" OwnerUserId="8927" LastEditorUserId="8927" LastEditDate="2012-10-31T12:43:07.350" LastActivityDate="2012-10-31T12:43:07.350" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14151" PostTypeId="1" CreationDate="2012-10-31T14:46:32.737" Score="5" ViewCount="208" Body="&lt;p&gt;I have been reading a lot on the theory of Turan graphs, but I could not find anything on the graphs I am interested in. They are somewhat between complete $k$-partite graphs and Turan graphs. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $G=(V,E)$ a graph such that $V$ is partitioned into $r$ subsets $V_1, \dots, V_r$. Let $n&amp;lt;r$ be a positive integer such that for all $1\leq m \leq n$ and for all $(i,j)\in V_m^2$, the edge $(i,j)\in E$ exists in the graph $G$. For the remainings sets, the edges do not exist in $G$: for all $n&amp;lt;m\leq r$ and $(i,j)\in V_m^2$, $(i,j)\notin E.$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In others words, in contrast with the Turan graphs where $G$ would contain no $(r+1)$-clique, here I consider &lt;strong&gt;exactly&lt;/strong&gt; $n$ such cliques. Note that if $n=r$, then $G$ is the complete $r$-partite graph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question then is: what can we say about the number of edges in $G$ ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does this graph has a name ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks a lot!&lt;/p&gt;&#xA;" OwnerUserId="8552" LastEditorUserId="-1" LastEditDate="2012-11-11T06:31:31.013" LastActivityDate="2012-11-11T06:31:31.013" Title="Generalized Turan Graphs" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;" AnswerCount="0" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14152" PostTypeId="2" ParentId="14132" CreationDate="2012-10-31T16:31:20.577" Score="5" Body="&lt;p&gt;Extensional equality in Turing complete programming languages is undecidable in general, but that shouldn't stop you from being able to verify or falsify that any two specific functions are extensionally equal.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Verification can proceed in many forms, you could for example reason in ZFC set-theory using the operational semantics. However, that would be painful. If denotational semantics&#xA;exist, they could also be used, but good denotational semantics exist only for a few languages. Usually one uses program logics, e.g. &lt;a href=&quot;http://en.wikipedia.org/wiki/Hoare_logic&quot; rel=&quot;noreferrer&quot;&gt;Hoare logic&lt;/a&gt;, for showing the extensional equality of programs. In order to be able to do this, Hoare logics for languages with functions typically require an axiom stating that $f = g \Leftrightarrow \forall x^{\alpha}. f(x) = g(x)$, assuming that $f$ and $g$ are functions of type $\alpha \rightarrow \beta$ (details of the axiom variy with the details of the chosen approach to Hoare logics). &lt;/p&gt;&#xA;" OwnerUserId="898" LastActivityDate="2012-10-31T16:31:20.577" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="14153" PostTypeId="1" AcceptedAnswerId="14168" CreationDate="2012-10-31T17:23:39.593" Score="18" ViewCount="659" Body="&lt;p&gt;I know that's impossible to decide $\beta$-equivalence for untyped lambda calculus. Quoting &lt;a href=&quot;http://mathgate.info/cebrown/notes/barendregt.php&quot;&gt;Barendregt, H. P. The Lambda Calculus: Its Syntax and Semantics. North Holland, Amsterdam (1984).&lt;/a&gt;:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;If A and B are disjoint, nonempty sets of lambda terms which are closed under equality, then A and B are recursively inseparable. It follows that if A is a nontrivial set of lambda terms closed under equality, then A is not recursive. So, we cannot decide the problem &quot;M=x?&quot; for any particular M. Also, it follows that Lambda has no recursive models.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;If we have a normalizing system, such as System F, then we can decide $\beta$-equivalence &quot;from outside&quot; by reducing the two given terms and comparing if their normal forms are the same or not. However, can we do it &quot;from inside&quot;? &lt;strong&gt;Is there a System-F combinator $E$ such that for two combinators $M$ and $N$ we have $E M N = \mbox{true}$ if $M$ and $N$ have the same normal form, and $E M N = \mbox{false}$ otherwise?&lt;/strong&gt; Or can this be done at least for some $M$s? To construct a combinator $E_M$ such that $E_M N$ is true iff $N\equiv_\beta M$? If not, why?&lt;/p&gt;&#xA;" OwnerUserId="10336" LastEditorUserId="-1" LastEditDate="2012-11-11T06:34:19.970" LastActivityDate="2012-11-11T06:34:19.970" Title="Is it possible to decide $\beta$-equivalence within System F (or another normalizing typed λ-calculus)?" Tags="&lt;lo.logic&gt;&lt;computability&gt;&lt;lambda-calculus&gt;&lt;normalization&gt;&lt;decidability&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="14156" PostTypeId="1" AcceptedAnswerId="14161" CreationDate="2012-10-31T21:44:32.023" Score="6" ViewCount="99" Body="&lt;p&gt;Given a range space $(X,R)$ with VC-Dimension $\le d$, we can create an $\varepsilon$-sample with probability at least $1-\delta$ by sampling $ O\left(\frac{1}{\varepsilon^2}\left(d+\log\frac{1}{\delta}\right)\right)$ points with replacement from $X$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Löffler and Phillips [1] showed experimentally that the constant hidden in the Big-Oh notation is at most 0.5. &#xA;I was wondering whether there is any known theoretical, rather than experimental, upper bound to this constant. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks in advance for any reference&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] Löffler, M and Phillips, J.M. &quot;&lt;a href=&quot;http://arxiv.org/abs/0812.2967&quot; rel=&quot;nofollow&quot;&gt;Shape fitting on point sets with probability distributions&lt;/a&gt;&quot;. ESA'09&lt;/p&gt;&#xA;" OwnerUserId="4828" LastEditorUserId="186" LastEditDate="2012-11-01T20:38:20.963" LastActivityDate="2012-11-01T20:40:35.597" Title="Hidden constant in eps-sample size computation" Tags="&lt;reference-request&gt;&lt;cg.comp-geom&gt;&lt;vc-dimension&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14159" PostTypeId="1" AcceptedAnswerId="32944" CreationDate="2012-11-01T00:09:48.067" Score="48" ViewCount="1493" Body="&lt;p&gt;We know that $\mathsf{L} \subseteq \mathsf{NL} \subseteq \mathsf{P}$ and that $\mathsf{L} \subseteq \mathsf{NL} \subseteq \mathsf{L}^2 \subseteq $ &lt;a href=&quot;http://qwiki.stanford.edu/index.php/Complexity_Zoo:P#polyl&quot; rel=&quot;noreferrer&quot;&gt;$\mathsf{polyL}$&lt;/a&gt;, where $\mathsf{L}^2 = \mathsf{DSPACE}(\log^2 n)$. We also know that $\mathsf{polyL} \neq \mathsf{P}$ because the latter has complete problems under logarithmic space many-one reductions while the former does not (due to the space hierarchy theorem). In order to understand the relationship between $\mathsf{polyL}$ and $\mathsf{P}$, it may help to first understand the relationship between $\mathsf{L}^2$ and $\mathsf{P}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What are the consequences of $\mathsf{L}^2 \subseteq \mathsf{P}$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What about the stronger $\mathsf{L}^{k} \subseteq \mathsf{P}$ for $k&amp;gt;2$, or the weaker $\mathsf{L}^{1 + \epsilon} \subseteq \mathsf{P}$ for $\epsilon &amp;gt; 0$?&lt;/p&gt;&#xA;" OwnerUserId="4193" LastEditorUserId="38604" LastEditDate="2018-01-19T08:29:12.370" LastActivityDate="2018-01-20T01:53:13.313" Title="What are the consequences of $\mathsf{L}^2 \subseteq \mathsf{P}$?" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;conditional-results&gt;&lt;structural-complexity&gt;" AnswerCount="4" CommentCount="19" FavoriteCount="12" ContentLicense="CC BY-SA 3.0" />
  <row Id="14160" PostTypeId="1" AcceptedAnswerId="14205" CreationDate="2012-11-01T00:23:02.383" Score="6" ViewCount="207" Body="&lt;p&gt;I have difficulties finding a good definition of two embeddings of a (planar) graph in the plane being equivalent. &#xA;Intuitively I mean by equivalent that the embeddings look the same up to homeomorphism of the faces. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The only definition I found was: &lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;Two embeddings of a graph are equivalent if for each vertex all &#xA;incident edges have the same circular clockwise order in both embeddings.&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;But this is not strong enough to match my intuitive view, since this notion of equivalence allows connected components to be arbitrarily contained in each other.&lt;/p&gt;&#xA;" OwnerUserId="12322" LastEditorUserId="-1" LastEditDate="2012-11-11T06:34:27.880" LastActivityDate="2012-11-11T06:34:27.880" Title="Equivalent embeddings of a graph" Tags="&lt;reference-request&gt;&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;terminology&gt;&lt;topological-graph-theory&gt;" AnswerCount="1" CommentCount="6" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14161" PostTypeId="2" ParentId="14156" CreationDate="2012-11-01T00:26:01.837" Score="7" Body="&lt;p&gt;I discovered after this publication that there is older work by &#xA;Dvoretzky-Kiefer-Wolfowitz in 1956 that looks specifically at this one-dimensional case for sampling.  There is also follow up by just Kiefer and Wolfowitz a year or two later that handles the (anchored) rectangle case.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For these specific settings, there has been some much more refined work looking at the actual constants.  Here is a reference that might help: &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;P. Massart, &lt;a href=&quot;http://www.jstor.org/discover/10.2307/2244426?uid=3738016&amp;amp;uid=2129&amp;amp;uid=2&amp;amp;uid=70&amp;amp;uid=4&amp;amp;sid=21101380033837&quot; rel=&quot;nofollow&quot;&gt;&quot;The Tight Constant in the Dvoretzky-Kiefer-Wolfowitz Inequality&quot;&lt;/a&gt;, 1990.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I don't know off-hand any other work on the constants other than the 1-d or &quot;anchored&quot; rectangle cases&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Jeff&lt;/p&gt;&#xA;" OwnerUserId="12323" LastEditorUserId="186" LastEditDate="2012-11-01T20:40:35.597" LastActivityDate="2012-11-01T20:40:35.597" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="14162" PostTypeId="1" CreationDate="2012-11-01T01:56:08.550" Score="3" ViewCount="390" Body="&lt;p&gt;Is there any way to get $n$ primes efficiently? That is, is there any polynomial algorithm for doing this? ($n$ is the cardinality.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Re-phrasing the question:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) Suppose that at the input level, we insert $n$. This is the number of primes we want to obtain. (any set) (So, for example, getting five number of prime. The example output would be 2,3,5,7,11)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) Is there any algorithm that does this efficiently? What would be its complexity (based on $n$)?&lt;/p&gt;&#xA;" OwnerUserId="12324" LastEditorUserId="12324" LastEditDate="2012-11-01T04:32:44.543" LastActivityDate="2015-08-16T10:28:07.490" Title="An algorithm for getting $n$ primes" Tags="&lt;cc.complexity-theory&gt;" AnswerCount="2" CommentCount="5" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14163" PostTypeId="1" CreationDate="2012-11-01T03:18:12.417" Score="0" ViewCount="158" Body="&lt;p&gt;Considering loop free cubic graphs (graphs where every node has 3 neighboring nodes)： Is is possible to construct a spanning tree that only has nodes with 3 neighbors in the spanning tree or 1 neighbor in the spanning tree (leaves).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;That is I want to be able to construct a spanning tree where there are no nodes that are connected to only 2 other nodes in the spanning tree. They should all be connected to either 1 node (a leaf) or all their edges in the underlying cubic graph should also be present in the spanning tree (ie attached to 3 nodes in the spanning tree)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does anyone know the answer to this? And if it is possible, how to construct such a spanning tree? Many thanks.&lt;/p&gt;&#xA;" OwnerUserId="12325" LastEditorUserId="-1" LastEditDate="2012-11-11T06:34:25.370" LastActivityDate="2012-11-11T06:34:25.370" Title="Cubic (3-regular) graph spanning tree" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;tree&gt;" AnswerCount="1" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="14164" PostTypeId="2" ParentId="14162" CreationDate="2012-11-01T05:05:57.637" Score="10" Body="&lt;p&gt;Given $n$, let $M = 2n\log n$ (here $2$ is any constant larger than $1$). Put all numbers from $2$ to $M$ in a linked list. Now implement Eratosthenes sieve, by repeatedly running the following algorithm, until you get $n$ primes. Look for the first unmarked number $p$ (they all start unmarked; start looking at the previous prime), take it as a prime, and mark every integer in hops of length $p$. The running time is roughly $M + \sum_p M/p = \Theta(M\log\log M) = \Theta(n \log n \log\log n)$, where $p$ goes over the first $n$ primes. Since the $k$th prime $p_k$ is about $k\log k$, heuristically indeed&#xA;$$ \sum_{k=1}^n \frac{1}{p_k} \approx \sum_{k=2}^n \frac{1}{k\log k} \approx \int_2^n \frac{dk}{k\log k} \approx \log\log n.$$&#xA;This approximation can be proved rigorously, this is one of the results known as Mertens' theorem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See Emil's comment below or the Wikipedia article for improvements on this algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit: Before Emil's comment, I suggested implementing the algorithm using a linked list, but that's a bad suggestion since you can't &quot;hop&quot; in a linked list, causing the runtime to be $\Omega(n^2)$.&lt;/p&gt;&#xA;" OwnerUserId="40" LastEditorUserId="40" LastEditDate="2012-11-02T03:14:43.707" LastActivityDate="2012-11-02T03:14:43.707" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="14165" PostTypeId="2" ParentId="14163" CreationDate="2012-11-01T05:19:31.640" Score="5" Body="&lt;p&gt;Here is a counterexample, which I'm too lazy to draw. Let $G_1,G_2$ be &lt;em&gt;diamonds&lt;/em&gt;, graphs on four vertices having five of the six edges. Connect matching vertices in $G_1$ and $G_2$ so that you get a connected cubic graph. It seems that there is no spanning tree in which every internal vertex has degree exactly $3$.&lt;/p&gt;&#xA;" OwnerUserId="40" LastActivityDate="2012-11-01T05:19:31.640" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14166" PostTypeId="1" AcceptedAnswerId="14461" CreationDate="2012-11-01T06:51:38.993" Score="14" ViewCount="861" Body="&lt;p&gt;I'm reading &quot;&lt;a href=&quot;http://dx.doi.org/10.1007/978-3-642-03351-3_20&quot;&gt;Concatenation of Regular Languages and Descriptional Complexity&lt;/a&gt;&quot; by Galina Jiraskova, 2009 on the state complexity resulting from concatenation of two regular languages ( by Galina Jiraskova), but I can't understand what the practical implications of state complexity would be. The first trivial thought that struck me was that higher complexity would require more time and space by the machine. Is this correct? Also are there any other places where state complexity is relevant and signinficant? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit:&#xA;The state complexity of a regular language is the smallest number of states in any&#xA;deterministic finite automaton (dfa) accepting the language. The nondeterministic&#xA;state complexity of a regular language is defined as the smallest number of states in any nondeterministic finite automaton (nfa) for the language.&lt;/p&gt;&#xA;" OwnerUserId="12327" LastEditorUserId="186" LastEditDate="2012-11-01T19:42:05.860" LastActivityDate="2013-08-26T20:10:00.593" Title="The significance of state complexity in automata and regular languages?" Tags="&lt;fl.formal-languages&gt;&lt;automata-theory&gt;&lt;regular-language&gt;" AnswerCount="3" CommentCount="5" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="14167" PostTypeId="1" AcceptedAnswerId="14169" CreationDate="2012-11-01T07:03:01.093" Score="6" ViewCount="1575" Body="&lt;p&gt;&lt;a href=&quot;http://www.johndcook.com/blog/2012/07/31/why-computers-were-invented/&quot; rel=&quot;nofollow&quot;&gt;This guy&lt;/a&gt; asserts:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;I’ll say it — the computer was invented in order to help to clarify … a philosophical question about the foundations of mathematics.&#xA;  (This problem being Entscheidungsproblem - The Decision Problem)&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Entscheidungsproblem&quot; rel=&quot;nofollow&quot;&gt;The reference here&lt;/a&gt; states that the Church-Turing thesis was attempting to answer this question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is - is it true that modern computers are a byproduct of trying to solve 'The Decision Problem'?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(My intuition told me that modern computers were more a &lt;a href=&quot;http://en.wikipedia.org/wiki/Bletchley_Park#Recruitment&quot; rel=&quot;nofollow&quot;&gt;byproduct of trying to break Nazi encryption codes&lt;/a&gt;). (perhaps with some &lt;a href=&quot;http://en.wikipedia.org/wiki/Konrad_Zuse#Pre-World_War_II_work_and_the_Z1&quot; rel=&quot;nofollow&quot;&gt;pre-war German influence&lt;/a&gt;). &lt;/p&gt;&#xA;" OwnerUserId="608" LastEditorUserId="186" LastEditDate="2012-11-01T19:35:32.167" LastActivityDate="2012-11-03T16:37:19.597" Title="Was the reason that Computers were invented to solve a philosophical question about the foundations of mathematics?" Tags="&lt;computability&gt;&lt;ho.history-overview&gt;&lt;machine-models&gt;" AnswerCount="6" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14168" PostTypeId="2" ParentId="14153" CreationDate="2012-11-01T07:09:05.970" Score="21" Body="&lt;p&gt;No, it's not possible. Consider the following two inhabitants of the type $(A \to B) \to (A \to B)$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;\begin{array}{l}&#xA;M = \lambda f.\;f \\&#xA;N = \lambda f.\;\lambda a.\; f\;a&#xA;\end{array}&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;These are distinct $\beta$-normal forms, but cannot be distinguished by a lambda-term, since $N$ is an $\eta$-expansion of $M$, and $\eta$-expansion preserves observational equivalence in a pure typed lambda calculus. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Cody asked what happens if we mod out by $\eta$-equivalence, also. The answer is still negative, because of parametricity. Consider the following two terms at the type $(\forall \alpha.\;\alpha \to \alpha) \to (\forall \alpha.\;\alpha \to \alpha)$:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;\begin{array}{lcl}&#xA;M &amp;amp; = &amp;amp; \lambda f:(\forall \alpha.\;\alpha \to \alpha).\;\Lambda \alpha.\lambda x:\alpha.\;f \;[\forall \alpha.\;\alpha \to \alpha]\;(\Lambda \beta.\lambda y:\beta.\;y)\;[\alpha]\;x\\&#xA;N &amp;amp; = &amp;amp; \lambda f:(\forall \alpha.\;\alpha \to \alpha).\;\Lambda \alpha.\lambda x:\alpha.\;f\;[\alpha]\;x&#xA;\end{array}&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;They are distinct $\beta$-normal, $\eta$-long form, but are observationally equivalent. In fact, all functions of this type are equivalent, since $\forall \alpha.\;\alpha \to \alpha$ is the encoding of the unit type, and so all functions of the type $(\forall \alpha.\;\alpha \to \alpha) \to (\forall \alpha.\;\alpha \to \alpha)$ must be extensionally equivalent. &lt;/p&gt;&#xA;" OwnerUserId="657" LastEditorUserId="657" LastEditDate="2012-11-02T07:40:13.423" LastActivityDate="2012-11-02T07:40:13.423" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14169" PostTypeId="2" ParentId="14167" CreationDate="2012-11-01T08:34:06.647" Score="5" Body="&lt;p&gt;I can see his point, but I think he's really  (deliberately?) confusing computation (and the mathematics thereof) and computers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A computer is certainly a device for performing computation, but what Church and Turing created was a (well, two, but they're &quot;the same&quot;) theoretical (read mathematical) model of the process of computation. That is, they define a mathematical system which (if you believe the Church-Turing thesis) captures what it is possible to compute on any machine that can perform mechanical computation (mechanical in the sense that it can be automated, and yes, that's a little hand wavy, but that's another story).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Computers don't work like Turing Machines (or the Lambda calculus, which doesn't even pretend to be a machine). Bits of them look kind of similar, and indeed Turing does play an important role in the development of modern computers, but they're not a byproduct of the maths, any more than aeroplanes are a byproduct of the dynamics that describe airflow across their wings. &lt;/p&gt;&#xA;" OwnerUserId="9520" LastActivityDate="2012-11-01T08:34:06.647" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="14175" PostTypeId="2" ParentId="14162" CreationDate="2012-11-01T14:21:24.900" Score="5" Body="&lt;p&gt;There is an algorithm due to Atkin and Bernstein. It computes prime numbers up to $N$ using $O(\dfrac{N}{\log \log N})$ additions and $N^{1/2+o(1)}$ bits of memory. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The Wikipedia article on &lt;a href=&quot;http://en.wikipedia.org/wiki/Sieve_of_Atkin&quot; rel=&quot;nofollow&quot;&gt;Sieve of Atkin&lt;/a&gt; gives pseudocode (caveat: see the comments). For more, see their paper &lt;a href=&quot;http://www.ams.org/journals/mcom/2004-73-246/S0025-5718-03-01501-1/S0025-5718-03-01501-1.pdf&quot; rel=&quot;nofollow&quot;&gt;A.O.L. Atkin, D.J. Bernstein, Prime sieves using binary quadratic forms, Math. Comp. 73 (2004), 1023-1030&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="5693" LastEditorUserId="5693" LastEditDate="2015-08-16T10:28:07.490" LastActivityDate="2015-08-16T10:28:07.490" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="14178" PostTypeId="2" ParentId="14167" CreationDate="2012-11-01T19:27:03.787" Score="4" Body="&lt;p&gt;That is a defensible position to take. &quot;Computational devices&quot; existed before Turing. The idea that Turing had that was so powerful in the development of real computers was the idea of a &quot;universal computer&quot;: i.e. a single piece of hardware that could perform any calculation by taking as input data that described a different machine -- software. This kind of universal computer was useful for Turing's investigations into decidability: this is the kind of object that is used when discussing the halting problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But it is also the thing that defines the modern computer, first physically realized by Von Neumann's machine. (The Eniac came first, but was not universal -- i.e. you could not just feed in a program using punch-cards, you had to physically re-wire it to get it to perform a different computation). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The idea of universal computation was arguably developed to reason about decidability, and forms the core idea of physical computer realizations. &lt;/p&gt;&#xA;" OwnerUserId="25" LastActivityDate="2012-11-01T19:27:03.787" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="14179" PostTypeId="2" ParentId="14167" CreationDate="2012-11-01T19:31:01.173" Score="1" Body="&lt;p&gt;It is a common opinion among experts that Turing's work on foundation of mathematics is part of the foundation of computer science and computers. There are many ideas essential to working of modern computers that came from Turing's work. Part of the motivation for Turing's research were the question about the foundations of mathematics like formalizing and clarifying the meaning of mechanical/algorithmic computation going back to at lease Hilbert's problems.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However this doesn't mean that Turing's work was aimed at creating a computing device.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;AFAIK, the code-breaking work of Turing are part of a much later period of his life.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In any case, if you want to learn more about Turing there are considerable amount of resources that you can refer to. In particular check &lt;a href=&quot;http://www.turing.org.uk/turing/&quot; rel=&quot;nofollow&quot;&gt;Alan Turing's page&lt;/a&gt; by &lt;a href=&quot;http://www.synth.co.uk/&quot; rel=&quot;nofollow&quot;&gt;Andrew Hodges&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Turing work is very important but there are also many other ideas that were essential to the creation of computers. If you want to learn more about history of computing check the Wikipedia articles on &lt;a href=&quot;http://en.wikipedia.org/wiki/History_of_computing&quot; rel=&quot;nofollow&quot;&gt;history of computing&lt;/a&gt;, &lt;a href=&quot;http://en.wikipedia.org/wiki/History_of_computing_hardware&quot; rel=&quot;nofollow&quot;&gt;history of computing hardware&lt;/a&gt; and &lt;a href=&quot;http://en.wikipedia.org/wiki/Timeline_of_computing&quot; rel=&quot;nofollow&quot;&gt;timeline of computing&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2012-11-01T19:38:16.627" LastActivityDate="2012-11-01T19:38:16.627" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14180" PostTypeId="1" AcceptedAnswerId="21689" CreationDate="2012-11-01T19:37:17.377" Score="13" ViewCount="463" Body="&lt;p&gt;In [1], Mitchell Wand demonstrated that adding fexprs to the pure lambda calculus trivializes the theory of contextual equivalence, meaning two terms are contextually equivalent iff they are $\alpha$-congruent.  When exploring related work, he went &quot;our result extends an old observation of Albert Meyer [2] that &lt;code&gt;eval&lt;/code&gt;and &lt;code&gt;quote&lt;/code&gt; render contextual equivalence trivial&quot;.  But referring to [2], what could be found is only the following statement by Meyer: &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;I ﬁrst thought that in languages with a &lt;code&gt;quote&lt;/code&gt;-&lt;code&gt;eval&lt;/code&gt; feature such as LISP [3] there was no type distinction between syntactic and executable objects.  In fact &lt;code&gt;quote&lt;/code&gt;-&lt;code&gt;eval&lt;/code&gt; seems safe enough in LISP because, although &lt;code&gt;quote&lt;/code&gt; syntactically looks like a bona ﬁde operator, like say &lt;code&gt;cond&lt;/code&gt;, it really doesn’t behave like one (it only has behavior at parse time, not run time, e.g., one can't pass &lt;code&gt;quote&lt;/code&gt; as a parameter to a procedure).  Still, I have yet to see convincing examples where the &lt;code&gt;quote&lt;/code&gt;-&lt;code&gt;eval&lt;/code&gt; feature was worthwhile.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Regardless of one minor flaw in these comments that may mislead the reader to infer that &lt;code&gt;cond&lt;/code&gt; could be passed as a parameter to a procedure.  If I understand correctly, what Meyer said &quot;&lt;code&gt;quote&lt;/code&gt;-&lt;code&gt;eval&lt;/code&gt; seems safe enough&quot; means that &lt;code&gt;quote&lt;/code&gt;-&lt;code&gt;eval&lt;/code&gt; may not trivialize the equational theory, although he did not offer a proof.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;&lt;strong&gt;EDIT:&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As suggested by Martin, since all the three papers cited dealing with LISP family languages, let's put the question under this same setting.  &lt;strong&gt;Is contextual equivalence of a language with &lt;code&gt;quote&lt;/code&gt;-&lt;code&gt;eval&lt;/code&gt;, in particular LISP, on earth trivial or not?&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] Mitchell Wand, &lt;em&gt;The Theory of Fexprs Is Trivial&lt;/em&gt;.  Lisp and Symbolic Computation 10(3): 189-199 (1998).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] Albert Meyer, &lt;em&gt;Puzzles in Programming Logic&lt;/em&gt;  Workshop on Formal&#xA;Software Development. 1984&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[3] John McCarthy, &lt;em&gt;Recursive Functions of Symbolic Expressions and Their Computation by Machine, Part I&lt;/em&gt;. Communications of the ACM in April 1960.&lt;/p&gt;&#xA;" OwnerUserId="656" LastEditorUserId="77" LastEditDate="2012-11-03T08:09:48.180" LastActivityDate="2014-03-22T22:06:07.457" Title="Is contextual equivalence of a language with `quote`-`eval` trivial or not?" Tags="&lt;pl.programming-languages&gt;&lt;lisp&gt;&lt;scheme&gt;" AnswerCount="1" CommentCount="18" FavoriteCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="14181" PostTypeId="2" ParentId="14167" CreationDate="2012-11-01T20:24:05.100" Score="6" Body="&lt;p&gt;Just an extended comment, for those who didn't notice that &lt;em&gt;&quot;This guy&quot;&lt;/em&gt; in the question is not the author of the linked blog, but refers to &lt;a href=&quot;http://en.wikipedia.org/wiki/Gregory_Chaitin&quot;&gt;Gregory Chaitin&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The sentence is from the lecture: &lt;em&gt;A Century of Controversy over the Foundations of Mathematics&lt;/em&gt;; the transcription can be found &lt;a href=&quot;http://www.cs.auckland.ac.nz/~chaitin/lowell.html&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It seems interesting (I'm going to read it now)!&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;...&lt;br&gt;&#xA;Okay, I'd like to talk about some crazy stuff. The general idea is that sometimes ideas are very powerful. I'd like to talk about theory, about the computer as a concept, a philosophical concept.&lt;br&gt;&lt;br&gt;&#xA;&#xA;We all know that the computer is a very practical thing out there in the real world! It pays for a lot of our salaries, right? But what people don't remember as much is that really---I'm going to exaggerate, but I'll say it---the computer was invented in order to help to clarify a question about the foundations of mathematics, a philosophical question about the foundations of mathematics.&lt;br&gt;&lt;br&gt;&#xA;&#xA;Now that sounds absurd, but there's some truth in it. There are actually lots of threads that led to the computer, to computer technology, which come from mathematical logic and from philosophical questions about the limits and the power of mathematics.&lt;br&gt;...&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="3247" LastActivityDate="2012-11-01T20:24:05.100" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="14182" PostTypeId="1" CreationDate="2012-11-01T21:03:36.817" Score="1" ViewCount="2852" Body="&lt;p&gt;An additive model constructed using the exponential loss function &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$$L(y, f (x)) = \exp(−yf (x))$$&lt;/span&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;gives   Adaboost. How can we derive the corresponding additive model (known as logitboost) using the logistic loss function &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$$L(y, f (x)) = \log(1 + \exp(−yf (x)))$$&lt;/span&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What steps I should take to do the above proof?&lt;/p&gt;&#xA;" OwnerUserId="12283" LastEditorDisplayName="user30448" LastEditDate="2019-01-24T09:57:12.820" LastActivityDate="2019-01-24T09:57:12.820" Title="Derive logitboost using the logistic loss function" Tags="&lt;machine-learning&gt;&lt;convex-optimization&gt;" AnswerCount="2" CommentCount="1" ContentLicense="CC BY-SA 4.0" />
  <row Id="14183" PostTypeId="2" ParentId="14182" CreationDate="2012-11-01T22:21:38.590" Score="2" Body="&lt;p&gt;Originally, Logitboost was derived by Friedman, Hastie, and Tibshirani (&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.51.9525&quot; rel=&quot;nofollow&quot;&gt;paper&lt;/a&gt;) -- their algorithm internally used a numerical procedure, via Newtons method to solve a regression problem.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Later, Collins, Schapire, and Singer (&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.9.329&quot; rel=&quot;nofollow&quot;&gt;paper&lt;/a&gt;) found an equivalent formulation, with a single-line modification from AdaBoost, setting &#xA;$$D(i) \propto \frac{1}{1+e^{y_i f_{t-1}(x_i)}}.$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Schapire has a nice summary of boosting &lt;a href=&quot;http://www.cis.upenn.edu/~mkearns/teaching/COLT/schapire.pdf&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;, which also discusses Logitboost.&lt;/p&gt;&#xA;" OwnerUserId="123" LastActivityDate="2012-11-01T22:21:38.590" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14189" PostTypeId="1" CreationDate="2012-11-02T02:18:50.470" Score="5" ViewCount="1258" Body="&lt;p&gt;Is there a well-known randomized algorithm for the &lt;a href=&quot;http://en.wikipedia.org/wiki/Set_cover_problem&quot; rel=&quot;noreferrer&quot;&gt;set cover problem&lt;/a&gt; in the literature - such that it has an approximation ratio of $O(\log n)$ or $f$ - where $f$ is the max frequency of an element. please don't mention the randomized rounding method with LP (or any other method depending on LP) ? &lt;/p&gt;&#xA;" OwnerUserId="5411" LastEditorUserId="5411" LastEditDate="2012-11-02T20:47:51.610" LastActivityDate="2018-07-23T19:46:21.443" Title="Is there a randomized algorithm for set-cover?" Tags="&lt;ds.algorithms&gt;&lt;randomized-algorithms&gt;&lt;set-cover&gt;" AnswerCount="1" CommentCount="8" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14190" PostTypeId="1" CreationDate="2012-11-02T10:49:07.103" Score="0" ViewCount="123" Body="&lt;p&gt;I need to maintain a set $\langle(k_1, v_1), (k_2, v_2), \dots, (k_N, v_N)\rangle$ of key-value pairs subject to the following update operation.  Given two keys $a &amp;lt; b$ and a &quot;shift&quot; value $C$ as input, an update first deletes all pairs whose keys are in the range $[a-C, b-C]$  and then shifts all keys in the range $[a,b]$ downward by $C$.  More explicitly:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Delete every pair $(k_i, v_i)$ such that $a-C \le k_i \le b-C$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Replace every pair $(k_i, v_i)$ such that $a\le k_i\le b$ with the pair $(k_i-C,v_i)$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;How can I support this update operation efficiently?  I would prefer an algorithm that performs the update &quot;in-place&quot; instead of allocating and deallocating temporary memory.&lt;/p&gt;&#xA;" OwnerUserId="12350" LastEditorUserId="111" LastEditDate="2012-11-14T22:31:03.253" LastActivityDate="2012-11-14T22:31:03.253" Title="Efficient update of the keys in associative container" Tags="&lt;ds.algorithms&gt;&lt;ds.data-structures&gt;" AnswerCount="0" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="14191" PostTypeId="2" ParentId="14153" CreationDate="2012-11-02T14:59:14.790" Score="11" Body="&lt;p&gt;Another possible answer to Neel's perfectly correct one: Suppose that there &lt;em&gt;is&lt;/em&gt; a combinator $E$, well-typed in system F such that the above condition holds. The type of $E$ is:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$ E : \forall \alpha.\alpha\rightarrow \alpha\rightarrow {\bf bool}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It turns out that there is a &lt;a href=&quot;http://citeseer.ist.psu.edu/viewdoc/summary?doi=10.1.1.38.9875&quot; rel=&quot;noreferrer&quot;&gt;theorem for free&lt;/a&gt; that expresses that such a term is necessarily &lt;strong&gt;constant&lt;/strong&gt;:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$ \forall T,\ t,u,t',u':T,\ E\ T\ t\ u = E\ T\ t'\ u'$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In particular, $E$ is the constantly &lt;strong&gt;true&lt;/strong&gt; function or the constantly &lt;strong&gt;false&lt;/strong&gt; function, and can not possibly be an &quot;equality decider&quot;.&lt;/p&gt;&#xA;" OwnerUserId="3984" LastEditorUserId="3984" LastEditDate="2012-11-05T19:25:04.033" LastActivityDate="2012-11-05T19:25:04.033" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14194" PostTypeId="2" ParentId="9309" CreationDate="2012-11-02T18:55:39.173" Score="9" Body="&lt;p&gt;Here is a proof that this algorithm runs in $O(n\,m)$ time in expectation and with high probability.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First consider the algorithm modified so that $k$ is chosen in $\{2,3,..,\min(c,n)\}$ instead of randomly in $\{1,2,...,\min(c,n)\}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Lemma 1.&lt;/strong&gt; &lt;em&gt;For this modified algorithm, regardless of the random choices of the algorithm, the time is always $O(n\,m)$.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Proof.&lt;/em&gt;  Fix an input $A[1..n]$ and $B[1..m]$ and fix the random&#xA;choices of the algorithm arbitrarily.  In each (possibly recursive)&#xA;call to partition(), the two arguments correspond respectively to two&#xA;subarrays: a subarray $A[i_1..i_2]$ of $A$ and a subarray&#xA;$B[j_1..j_2]$ of $B$.  Identify such a call with the rectangle&#xA;$[i_1-1,i_2] \times [j_1-1,j_2]$.  Thus, the top-level call is&#xA;$[0,n]\times[0,m]$, and each recursive call corresponds to a&#xA;sub-rectangle within this $n\times m$ rectangle.  These rectangles&#xA;form a tree, where the rectangle corresponding to one call has as&#xA;children the rectangles that correspond to the calls made directly by&#xA;that call.  Each parent rectangle is partitioned by its child&#xA;rectangles, which form a $k\times k$ grid (of non-uniform rectangles) with $k$ at least 2.  Of course each rectangle's corners have only integer coordinates.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The running time of the algorithm is bounded by a constant times the sum, over the rectangles, of the perimeters of all of these rectangles.  (This is because the time within each call is O(n+m), and the perimiter of the corresponding rectangle is $2(n+m)$.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I claim that in any set of rectangles as described above, the sum of the perimeters is at most $12 n\,m$.  If true, this proves the lemma.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To prove the claim, observe first that, because $k \ge 2$, for any parent rectangle, the perimeter of the parent is at most 2/3 times the total perimeter of the children. (The perimeter of the parent is $2(n+m)$.  The total perimiter of the children is $(1+k)(n+m)$, and $k &amp;gt;= 2$.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It follows by a standard charging argument that the total perimiter of all the rectangles is at most $(1 + 2/3 + (2/3)^2 + \ldots ) = 3$ times the perimiter of just the &lt;em&gt;leaf&lt;/em&gt; rectangles.  (The observation implies that $P_N \le (2/3) P_T$, where $P_N$ is the total perimeter of the non-leaf rectangles and $P_T$ is the total perimeter of all the rectangles.  This implies $P_T \le 3(P_T-P_N)$, and $P_T-P_N$ is the total perimeter of the leaf rectangles.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Next, observe that the leaf rectangles partition the original $n\times m$ rectangle.  The maximum possible perimeter of the leaves is obtained when the leaves correspond to the unit squares with integer endpoints, in which case the total perimeter of the leaves is $4\,n\,m$.  Thus, the sum of the perimeters is at most $3\cdot 4\,n\,m$, that is, at most $12 n\,m$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This proves Lemma 1.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Corollary:&lt;/strong&gt; &lt;em&gt;The original algorithm runs in $O(n\,m)$ time in expectation.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Proof.&lt;/em&gt; If partition chooses $k=1$, it just duplicates the rectangle.  Since $n&amp;gt;1$, the probability that $k=1$ is at most 1/2.  Thus, the expected number of times each rectangle is duplicated is at most 1 (and the expected number of copies of each rectangle is at most 2).  Thus, for the original algorithm, the expected sum of the perimiters of all the rectangles is at most twice that of the modified algorithm, i.e. at most $24 n\,m$.  Just as in the analysis of that algorithm, the running time is proportional to this sum, so is $O(n\,m)$.  QED&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Corollary.&lt;/strong&gt; &lt;em&gt;The bound also holds with high probability (assuming both $n$ and $m$ tend to infinity).&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Proof sketch.&lt;/em&gt; Fixing every random choice except the number of duplicates of each rectangle, the time is proportional to&#xA;$$\sum_{r\in R} (1+X_r) |r|$$&#xA;where $R$ is the set of rectangles generated, $X_r$ is the number of times $r$ is duplicated (i.e., times when $k=1$ for that rectangle), and $|r|$ is the perimeter of $r$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The variables $\{X_r : r \in R\}$ are independent, and each $|r|$ is $O(n+m) = o(n m)$, so by a standard Chernoff bound, the probability that the sum exceeds twice its expectation is $o(1)$.  (More specifically, take $Y_r = (1+X_r) |r|/2(n+m)$, then apply Chernoff to the sum of the $Y_{r}$'s.) QED&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;As an aside: &lt;em&gt;if the algorithm were to choose $k$ randomly up to $\min(n,m)$ instead of $\min(c,n)$ and then do $O(m n)$ work in each call (instead of $O(m+n)$), the total time would still be $O(mn)$ in expectation.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Proof.&lt;/em&gt; First note that the total time would be proportional to the sum of the &lt;em&gt;areas&lt;/em&gt; of all the rectangles.  This sum equals the sum, over the integer coordinates $(i,j)$, of the number of rectangles that $(i,j)$ occurs in.  This is $O(nm)$ in expectation because, in expectation, any given $(i,j)$ in the original rectangle occurs in $O(1)$ rectangles.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;To see this, suppose $(i,j)$ is contained in a rectangle $r$, and consider the call to partition on $r$.  Let $q(r) = \min(n_r,m_r)$.  Let $r'$ be the rectangle that is the child (containing $(i,j)$) of $r$.  With probability at least $1/3$, $k$ is chosen to be at least $(2/3)q(r)$.  Conditioned on that, $E[q(r')] \le 3/2$, so with constant probability $q(r')$ is at most 1.  If that happens, then $r'$ is a leaf (has no children).  It follows from this that the expected number of rectangles that $(i,j)$ is in is $O(1)$.  QED&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Whether the $O(nm)$ bound would hold with high probability is an interesting question.. I think it would.  Certainly $O(nm\log(nm))$ would hold w.h.p.)&lt;/p&gt;&#xA;" OwnerUserId="8237" LastEditorUserId="8237" LastEditDate="2012-11-07T17:45:48.233" LastActivityDate="2012-11-07T17:45:48.233" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="14196" PostTypeId="2" ParentId="14189" CreationDate="2012-11-03T02:59:54.793" Score="8" Body="&lt;p&gt;Here's one randomized $O(\log n)$-approximation algorithm (not well known I'm afraid), for unit-cost set cover.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;input&lt;/strong&gt;: collection of sets over $n$ elements, upper bound $U$ on opt&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;output&lt;/strong&gt;: w/probability $\ge 1/2$, a set cover of size $O(U \ln n)$.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Let $K=\lceil \ln(2n)U/0.99\rceil$.  Let $T=\ln(100)$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Create $K$ tokens, each with an associated unit-rate Poisson process.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;As time $t$ increases continuously from $0$ to $T$, do the following:&#xA;When a Poisson process fires at time $t$, &#xA;remove its token from its current set (if any), &#xA;then place it on a set $s$ chosen to maximize&#xA;$$&#xA;\sum_{e\in s}&#xA;\Big(&#xA;\frac{1-1/U}{1/f(t) - 1/U}&#xA;\Big)^{C^{(t)}_e},&#xA;$$&#xA;where $C^{(t)}_e$ denotes the number of tokens (other than the firing token) &#xA;currently covering element $e$, and $f(t) \doteq 1-\exp(-(T-t))$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Return the sets that have tokens on them.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;When a token fires, it moves &#xA;to a set whose elements have largest total ``weight''.&#xA;Initially, when $t\approx 0$, the weight of element $e$&#xA;is about $.99^{C_e} \approx 1$,&#xA;so the algorithm essentially moves tokens onto the largest sets.&#xA;When $t\approx T-\ln 2$, the weight of an element $e$ is about $.5^{C_e}$.&#xA;Thus, each token on a set covering $e$ cuts $e$'s weight by a factor of $1/2$.&#xA;Finally, when $t\approx T-\epsilon$, an element $e$ has weight about&#xA;$\epsilon^{C_e}$, so only uncovered (or minimally covered) elements contribute significant weight.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $U$ is unknown, &#xA;then binary search can be used &#xA;to find the smallest integer $U$ &#xA;between $1$ and $n$ &#xA;for which the algorithm works.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is the approximation guarantee:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Theorem.&lt;/strong&gt;&#xA;&lt;em&gt;If there exists a fractional set cover of size $U$,&#xA;then, with probability at least 1/2,  the algorithm returns&#xA;a set cover of size at most $\lceil \ln(2n)U/0.99\rceil$.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the derivation and proof see &lt;a href=&quot;https://algnotes.info/on/obliv/greedy/set-cover-grasp/&quot; rel=&quot;nofollow noreferrer&quot;&gt;https://algnotes.info/on/obliv/greedy/set-cover-grasp/&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;h3&gt;One more&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;Oh, and there is a well-known randomized &lt;em&gt;parallel&lt;/em&gt; algorithm for set cover, namely &lt;a href=&quot;http://www.dcg.ethz.ch/lectures/ws0405/seminar/papers/primal_dual.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Primal-dual RNC approximation algorithms for set cover and covering integer programs&lt;/a&gt; by Rajagopalan and Vazirani.&lt;/p&gt;&#xA;" OwnerUserId="8237" LastEditorUserId="8237" LastEditDate="2018-07-23T19:46:21.443" LastActivityDate="2018-07-23T19:46:21.443" CommentCount="3" ContentLicense="CC BY-SA 4.0" />
  <row Id="14197" PostTypeId="2" ParentId="12539" CreationDate="2012-11-03T04:18:11.323" Score="5" Body="&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Given that a cover exists, greedy will return a cover of expected size $O(p^{-1}\log n)$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;As long as $k$ is not too large, with high probability every cover has size $\Omega(p^{-1}\log n)$ &lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;This implies that (for $k$ not too large) greedy gives an $O(1)$-approximation with probability $1-\delta$, for any constant $\delta&amp;gt;0$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is the upper bound, followed by the lower bound.  &lt;/p&gt;&#xA;&#xA;&lt;h3&gt;Upper bound&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Conditioning on the event that there exists a set cover,&#xA;the greedy set-cover algorithm returns a set cover with expected size&#xA;$O(p^{-1}\log n)$.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Proof of upper bound.&lt;/strong&gt;&#xA;Condition on the event that a set cover exists.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assume without loss of generality that $k\ge (12/p)\ln(n)$&#xA;(otherwise, since greedy chooses at most $k$ sets, we are done).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We prove that there is a &lt;em&gt;fractional&lt;/em&gt; set cover $X$ of expected size at most&#xA;$$\frac{2}{p} + n\exp(-pk/12).$$&#xA;By the assumption on $k$ this is $$O(1/p).$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The upper bound will follow, because&#xA;(as is well-known) greedy returns a cover of size $O(\log n)$ &#xA;times the size of any fractional set cover (and so, here, $O(p^{-1}\log n)$)&#xA;(see &lt;a href=&quot;http://greedyalgs.info/blog/johnson-lovasz-derivation/&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt; or &lt;a href=&quot;http://scholar.google.com/scholar?cluster=16388093127208652632&amp;amp;hl=en&amp;amp;as_sdt=0,5&quot; rel=&quot;nofollow&quot;&gt;Chvatal&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Define the fractional cover $X$ in two stages.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Give each set $s$ weight $X_s = 2/pk$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;For each element $e$ such that $\sum_{e\in s} X_s &amp;lt; 1$,&#xA;choose any set $s$ containing $e$ and raise $X_s$ enough to fully cover $e$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;This clearly gives a fractional set cover.  (Step 2 is well defined,&#xA;because we are conditioning on the event that there is a set cover,&#xA;that is, that each element is in some set.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To finish we bound the expected total weight of $X$, that is, $\sum_s X_s$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Stage 1 contributes exactly $k 2/pk = 2/p$ to the total weight.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Stage 2 contributes, in expectation, at most $n\exp(-pk/12)$,&#xA;because each of the $n$ elements has probability at most&#xA;$\exp(-pk/12)$ of being covered with weight less than 1&#xA;by stage 1. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;(To verify this, fix any element.&#xA;The element is left insufficiently covered &#xA;iff it is contained in fewer than $kp/2$ sets.&#xA;The expected number of sets covering the element&#xA;is $kp$, so by a standard Chernoff bound the &#xA;probability that the number falls below $kp/2$&#xA;is at most $$\exp(-(1/2)^2 k p/3) = \exp(-kp/12).$$&#xA;This ignores the conditioning, but the conditioning&#xA;only decreases the chance that the element is contained&#xA;in fewer than $kp/2$ sets.)&#xA;QED&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As an aside, note that if $k$ is large enough, then greedy will almost certainly return a cover of constant size.  (E.g. if $k$ is $2n2^n$ and $p=1/2$, then won't all possible subsets be present with high probability? And in that case greedy will return just one set of course.)&lt;/p&gt;&#xA;&#xA;&lt;h3&gt;Lower bound&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Assuming  $p\le 1/2$, $k\le \exp(n^{1-\epsilon})$ for some $\epsilon\in [0,1/2]$,&#xA;and $s = \min((\epsilon/4p)\ln n, n^{\epsilon/2})$,&#xA;then the probability that there exists a set cover of size $s$ or less is $o(1)$.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course this implies that greedy does not return a set cover of size less than $s$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The proof is probabilistic, using direct calculation and the naive union bound.&#xA;Hopefully there are no mistakes in the calculations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Proof.&lt;/strong&gt;&#xA;Fix $p$, $k$, $s$, $\epsilon$ as above.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The number of ways of choosing $s$ sets from the $k$ sets available &#xA;is ${k\choose s}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For any fixed collection of $s$ sets, the chance that it covers all&#xA;$n$ elements is $(1-(1-p)^s)^n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Combining these two observations, the expected number of size-$s$ covers among the $k$ sets is&#xA;$${k\choose s} (1-(1-p)^s)^n &#xA;~\le~ k^s \exp(-n(1-p)^s) &#xA;~\le~ \exp\big(s\ln(k) - n e^{-2sp}\big).$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To complete the proof, one shows that the right-hand side above is $o(1)$&#xA;(under the assumptions on $k$ and $s$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To do that, it suffices to show that &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;$n e^{-2sp} \rightarrow \infty$, and&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;$s\ln k \le (1/e) n e^{-2sp}$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;The first of these follows from the assumption on $s$.&#xA;The second reduces (taking logarithms) to&#xA;$$1+2ps + \ln s \le \ln(n) - \ln\ln k.$$&#xA;By the assumption on $k$ this reduces to&#xA;$$(1+2ps) + \ln s \le \epsilon \ln n.$$&#xA;This holds because the assumptions on $s$ imply that each of the two summands&#xA;on the left is at most $(\epsilon/2)\ln n$.&#xA;QED&lt;/p&gt;&#xA;" OwnerUserId="8237" LastEditorUserId="8237" LastEditDate="2012-11-04T16:29:25.050" LastActivityDate="2012-11-04T16:29:25.050" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="14198" PostTypeId="1" AcceptedAnswerId="14202" CreationDate="2012-11-03T10:42:59.490" Score="9" ViewCount="4460" Body="&lt;p&gt;To better understand a paper I'm trying to get a brief understanding of least-fixed point logic. There are a few points where I am stuck.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $G = (V,E)$ is a graph and&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$ \Phi(P) = \{(a,b) \mid G \models E(a,b) \lor P(a,b) \lor \exists z (E(a,z) \land P(z,b)) \}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;is an operator on the binary relation $P$. I do not understand why the least fixed point $P^*$ of $P$ is the transitive closure of $E$. The example is taken from &lt;a href=&quot;http://books.google.de/books?id=e6ST-AVC27AC&amp;amp;printsec=frontcover&amp;amp;hl=de&amp;amp;source=gbs_ge_summary_r&amp;amp;cad=0#v=onepage&amp;amp;q&amp;amp;f=false&quot;&gt;Finite Model Theory and Its Applications&lt;/a&gt; (p. 60).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;When extending the first-order logic with the least-fixed pointer operator I do not understand why the relation symbol $S_i$ needs to be &lt;em&gt;positive&lt;/em&gt; in the formula. Positive means  that every occurence of $S_i$ in the formula is within an even number of negation symbols.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does anyone have idea what is good to read for an intuitive understand of least-fixed pointer logic and its syntax and semantics?&lt;/p&gt;&#xA;" OwnerUserId="7594" LastEditorUserId="7594" LastEditDate="2012-11-03T11:02:21.087" LastActivityDate="2018-11-27T20:10:45.370" Title="Understanding least-fixed point logic" Tags="&lt;lo.logic&gt;&lt;descriptive-complexity&gt;&lt;finite-model-theory&gt;" AnswerCount="3" CommentCount="0" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="14199" PostTypeId="1" AcceptedAnswerId="14201" CreationDate="2012-11-03T12:08:46.720" Score="10" ViewCount="2136" Body="&lt;p&gt;In programming language semantics, it is often heard that people talking about &lt;strong&gt;meaning&lt;/strong&gt; and &lt;strong&gt;denotation&lt;/strong&gt;.  They seem not to be the same.  What is the difference?  Is the former associated with operational semantics while the latter with denotational semantics?  Thanks.&lt;/p&gt;&#xA;" OwnerUserId="656" LastActivityDate="2012-11-09T09:12:28.957" Title="What is the difference between meaning and denotation?" Tags="&lt;pl.programming-languages&gt;&lt;semantics&gt;&lt;denotational-semantics&gt;&lt;operational-semantics&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="14200" PostTypeId="2" ParentId="14167" CreationDate="2012-11-03T13:23:57.367" Score="5" Body="&lt;p&gt;In 1936, &lt;a href=&quot;https://en.wikipedia.org/wiki/Konrad_Zuse&quot;&gt;Konrad Zuse&lt;/a&gt; developed what was for all intents and purposes the &lt;a href=&quot;https://en.wikipedia.org/wiki/Z1_%28computer%29&quot;&gt;Z1&lt;/a&gt; the first computer in the modern sense. This fact is little known but has since been acknowledged even by his international competitors, e.g. IBM. While the Z1 was not very reliable, later models (still developed during WWII) actually worked. Shortly after the war, Zuse's company began building (universal) computers for multiple major universities in Europe.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Zuse's motivation was not to gain mathematical insight, although he did develop a formal, universal programming language called &lt;a href=&quot;https://en.wikipedia.org/wiki/Plankalk%C3%BCl&quot;&gt;Plankalkül&lt;/a&gt;. He primarily wanted to do away with repeated, mechanical calculations often seen in engineering -- surely a machine could perform such mindless manipulations of symbols!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note how Zuse's early work happened concurrently and, due to different background and the political situation, mostly independently of the better known work in the US.&lt;/p&gt;&#xA;" OwnerUserId="1546" LastActivityDate="2012-11-03T13:23:57.367" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14201" PostTypeId="2" ParentId="14199" CreationDate="2012-11-03T13:39:02.020" Score="18" Body="&lt;p&gt;&quot;Meaning&quot; is used in a broader way than denotation is. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The original dichotomy, inherited from logic and philosophy, is between &quot;sense&quot; and &quot;denotation&quot; (which philosophers call &quot;reference&quot;). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This distinction can be illustrated by Frege's original example. He noted that phrases &quot;the morning star&quot; and &quot;the evening star&quot; referred to the same object --- the planet Venus --- but that the sentence &quot;the morning star and the evening star are the same planet&quot; actually conveys some information to a reader. He suggested that the meaning of a noun phrase can go beyond the actual object it denotes, including something about how it presents the object it denotes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Similarly, in a programming language, the expression $8 \times 7$ is not the same as the expression $56$, even though they may be (ought to be!) completely indistinguishable by any client program. But even though they are &lt;em&gt;indistinguishable&lt;/em&gt;, they are not the &lt;em&gt;same&lt;/em&gt; -- when evaluating the two programs, your machine does a multiplication in the first case, and doesn't in the second. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;When building a denotational semantics, we try to build a model of a language in which indistinguishable programs denote --- refer to --- the same mathematical object.  The goal is to simplify reasoning about the behavior of programs, since we can reason about the denotations, the mathematical objects, without having to worry about the details of how the program is presented. This lets us avoid having to deal with aspects of the meaning of programs that are not of interest to us. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The way sense and denotation relate to operational semantics is more complicated, and different. I may extend my answer later to cover this, but I have to run now. :)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT: Okay, I'm extending this answer now. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The connection between &quot;denotation&quot; and &quot;reference&quot; is pretty much exact, and it's exact because the people who invented denotational semantics (e.g., Scott and Strachey) were quite consciously appropriating ideas from philosophical logic as part of their project. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;To understand how meaning and operational semantics relate, it's helpful to recall the philosopher Michael Dummett's notion of a &quot;meaning theory&quot; and how it differs from a &quot;semantic theory&quot;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In Dummett's terminology, a &lt;em&gt;semantic theory&lt;/em&gt; is a compositional way of relating  sentences to determinate mathematical objects. In logic, the meaning of a sentence is its truth-value, and it is determined from the truth-values of its constituents. Denotational semantics of programming languages uses a much wider variety of mathematical objects, but it works the same way -- we give the meaning of a program term in terms of the meaning of its subterms. So in Dummett's terminology, denotational semantics offer semantic theories of programming languages. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A &lt;em&gt;meaning-theory&lt;/em&gt; is also a compositional way of relating sentences to mathematical objects, but in addition it contains an account of what justifies the relationship between the sentence and the mathematical object. He developed this idea in order to understand how intuitionistic mathematicians understood the notion of truth. In particular, they had a compositional account of the meaning of logical connectives, but did not give them semantic values in the same way that classical logicians do. For example, in the Brouwer-Heyting-Kolmogorov account of intuitionistic logic, truth is defined in the following way:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;A canonical proof of $A \land B$ is a pair $(p_1, p_2)$, where $p_1$ is a canonical proof of $A$ and $p_2$ is a canonical proof of $B$.&lt;/li&gt;&#xA;&lt;li&gt;A canonical proof of $A \vee B$ is a pair $(i, p)$, where $i$ is either $0$ or $1$, and if $i$ is $0$, then $p$ is a canonical proof of $A$, and if $i$ is $1$, then $p$ is a canonical proof of $B$. &lt;/li&gt;&#xA;&lt;li&gt;A canonical proof of $A \to B$ is an effective procedure, that takes any canonical proof of $A$ and computes a canonical proof of $B$. &lt;/li&gt;&#xA;&lt;li&gt;A canonical proof of $\forall x.\;A(x)$ is an effective procedure which takes a numeral $n$, and computes a canonical proof of $A(n)$. &lt;/li&gt;&#xA;&lt;li&gt;A canonical proof of $\exists x.\;A(x)$ is a pair $(n, p)$, where $n$ is a numeral and $p$ is a proof of $A(n)$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;A proposition $A$ is said to be &lt;em&gt;true&lt;/em&gt; when it is possible to give a canonical proof of $A$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, note that this definition connects propositions and truth values, but the connection must be justified by the possibility of giving a canonical proofs. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Operational semantics enters the picture via this notion of justification. An operational semantics is just a description of what an abstract machine does. After we give a denotational semantics, we generally want to show that the denotational semantics is faithful to the operational semantics. This property is called &lt;em&gt;adequacy&lt;/em&gt; (along with its big brother &lt;em&gt;full abstraction&lt;/em&gt;), and it exactly amounts to giving a meaning-theory that connects abstract machine states with denotational objects, which is closed under the reduction of the abstract machine.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is actually not the whole story, since what I've laid out here is how to connect operational and denotational approaches via a realizability model. Type theories can also have proof-theoretic semantics (indeed, this prospect was what Dummett was most interested in), but I have not explained that connection in this post. &lt;/p&gt;&#xA;" OwnerUserId="657" LastEditorUserId="657" LastEditDate="2012-11-09T09:12:28.957" LastActivityDate="2012-11-09T09:12:28.957" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="14202" PostTypeId="2" ParentId="14198" CreationDate="2012-11-03T14:16:31.103" Score="12" Body="&lt;p&gt;If you are having trouble with the concept of least fixed point, I would recommend spending some time getting a background in more general order theory.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.cambridge.org/ca/knowledge/isbn/item1167139/&quot;&gt;Davey and Priestley, Introduction to Lattices and Order&lt;/a&gt; is a good intro.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To see why the transitive closure is the least fixed point, imagine building up the closure from an empty set, applying the logical formula one step at a time.  The least fixed point arrives when you can't add any new edges using the formula.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The requirement that the formula be positive ensures that the process is monotonic, i.e. that it grows at each step.  If you had a negative subformula, you could have the case where on some steps the set of edges would decrease, and this could lead to a non-terminating oscillation up and down, rather than a convergence to the LFP.&lt;/p&gt;&#xA;" OwnerUserId="629" LastActivityDate="2012-11-03T14:16:31.103" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14203" PostTypeId="2" ParentId="14198" CreationDate="2012-11-03T15:42:10.860" Score="9" Body="&lt;p&gt;Consider the boolean algebra formed from the powerset of a finite set $S$, ordered by set inclusion. Now, consider the operator $P$ defined by&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;P(X) = \lnot X &#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Clearly $P$ is a non-positive operator. &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Show that there are no fixed points $\mu P$ such that $P(\mu P) = \mu P$. As a result, you can conclude that $\mu X.\;P(X)$ cannot be well-defined. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Prove the Knaster-Tarksi theorem for yourself. That is, if you have a complete lattice $L$, and a monotone function $f : L \to L$, then the set of fixed points of $f$ forms a complete lattice. (As a consequence, $f$ has a least and greatest fixed point.) This proof is very short, but it's a bit of a head-scratcher the first time you see it, and the monotonicity of $f$ is critical to the argument.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Prove for yourself that any operator defined by an expression with a free variable $X$ which occurs only positively is monotone. So positive occurence is a syntactic condition which is sufficient to enforce monotonicity. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;I find that there's no substitute for doing these proofs for yourself for really internalizing the intuition. &lt;/p&gt;&#xA;" OwnerUserId="657" LastActivityDate="2012-11-03T15:42:10.860" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14204" PostTypeId="2" ParentId="14167" CreationDate="2012-11-03T16:27:23.970" Score="-1" Body="&lt;p&gt;here is a very &lt;a href=&quot;http://web.cs.mun.ca/~ulf/csh/revol.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;detailed history &amp;amp; table&lt;/a&gt; of modern computers by By Ulf Schünemann that can help resolve some questions of this type. however its a linear record of facts and in general its very difficult to determine the exact &quot;multidimensional&quot; interconnections between inventors (both theoretical &amp;amp; physical oriented/focused), inventions and ideas; its a big historical project that requires even more deep analysis than just looking at known/written history, and can only inherently partially succeed in definitiveness. see also &lt;a href=&quot;https://cstheory.stackexchange.com/questions/10828/the-relation-between-babbage-and-von-neumann&quot;&gt;The Relation between Babbage and von Neumann&lt;/a&gt; which emphasizes the similarity between Von Neumann architecture and Babbage differential engine.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;conceptually&lt;/em&gt; there is clearly a tight cluster between the following work but apparently the exact historical interconnection has never been fully deconstructed (nor may it be possible because recorded history is inherently incomplete and some degree of educated guesswork and opinion is inevitable). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;strangely while their ideas are all highly interpenetrating mainly on the theme of what is now identified as Von Neumann architecture, there does not seem to be any strong/known historical evidence (such as citations in papers, notes, letters, etc) they were fully or largely aware of each other. one definitely has to resist the assumption/bias that just because one event happened sooner than another, later researchers were aware  of it.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.computerhistory.org/babbage/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Babbage&lt;/a&gt; (~mid 1800s)&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.turingarchive.org/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Turing&lt;/a&gt; (~1930s)&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Von_Neumann_architecture&quot; rel=&quot;nofollow noreferrer&quot;&gt;Von Neumann&lt;/a&gt; (~1940s)&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Von_Neumann_architecture&quot; rel=&quot;nofollow noreferrer&quot;&gt;Zuse&lt;/a&gt; (~1940s)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;(esp it is known that Zuse worked very independently.) and to be fair, &lt;a href=&quot;http://en.wikipedia.org/wiki/Leibniz_wheel&quot; rel=&quot;nofollow noreferrer&quot;&gt;Leibnitz' calculating machine&lt;/a&gt; should be mentioned in this list based on his quotations of imagining more general computations possible than those strictly built into his machine.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;one could create a historical graph and try to determine if there are any connections between historical points/events and draw edges if there are. such a resource might be as least as illuminating and valuable as the highly regarded &lt;a href=&quot;http://qwiki.stanford.edu/index.php/Complexity_Zoo&quot; rel=&quot;nofollow noreferrer&quot;&gt;Complexity Zoo&lt;/a&gt;. Ulf Schünemann's ref seems to be the closest to this in existence but with the caveat its not directly intended for this purpose. again a history of facts is &lt;em&gt;not&lt;/em&gt; the same as a map or graph of interconnections.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;theoreticians sometimes say certain ideas are &quot;in the air&quot; and there are many famous cases of the nearly-same [sometimes complex] idea appearing in different, largely independent works at nearly the same time. the invention of computers clearly/strongly exhibits this &quot;synchronicity&quot; even stretching over a century if Babbage is fully/fairly considered. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;it seems that the &quot;dream&quot; of a computer is old and perhaps very fundamental to the human race and probably inspired by difficult/tedious mechanical calculations combined with the Newtonian mechanistic shift of the Enlightenment, and the metaphor of the &quot;clockwork universe&quot;. especially Babbages analytic engine seems like a highly sophisticated/evolved clockwork mechanism.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;as other striking examples of theoretical synchronicity from computer science and independent discovery of complex/fundamental ideas, to underline the phenomenon, its now known from a &lt;a href=&quot;http://agtb.wordpress.com/2012/02/17/john-nashs-letter-to-the-nsa/&quot; rel=&quot;nofollow noreferrer&quot;&gt;NSA-declassified letter by John Nash&lt;/a&gt; (info by Noam Nisan) that he also came up with some of the ideas underlying computational complexity and codebreaking eg one-way/trap-door systems. this letter was written around the same time as the &lt;a href=&quot;http://rjlipton.wordpress.com/the-gdel-letter/&quot; rel=&quot;nofollow noreferrer&quot;&gt;now-famous lost Godel letter&lt;/a&gt; also musing on foundations of complexity theory.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;another example is Cook-Levin complexity theory of NP completeness. the Levin results were published in Russian and not &quot;discovered&quot; for years later.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;essentially, historical awareness seems to increase over time and we now have a very good/detailed picture of the history of computers as far as a timeline, partly because the subject has such massive historical and economic significance during the Moore transistor miniaturization revolution starting in the 1960s (note that much of the secret military work was still classified in the 1950s!). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;but that awareness was not as great in prior eras. so to attribute the same detailed historical awareness to earlier workers is misguided, unless possibly one wants to take it as as one of the foremost cases of a phenomenon of &lt;a href=&quot;http://en.wikipedia.org/wiki/Philosophy_of_mathematics#Platonism&quot; rel=&quot;nofollow noreferrer&quot;&gt;Mathematical Platonism&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;the closest book to exploring these &quot;threads&quot; Ive found is &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0195405366&quot; rel=&quot;nofollow noreferrer&quot;&gt;from Pebbles to Computers, the Thread by Hans Blohm&lt;/a&gt; (1987)&lt;/p&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2012-11-03T16:37:19.597" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14205" PostTypeId="2" ParentId="14160" CreationDate="2012-11-03T16:45:24.823" Score="1" Body="&lt;p&gt;[Reposting comment as an answer, based on the OP's response to the comment.]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For a combinatorial definition, it seems like what you're looking for is a circular ordering around the vertices together with a map $f$ from the set of components to the set of faces such that $f(C_i)$ is the face of the graph that contains the component $C_i$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you prefer a topological definition, I believe what you're looking for is that the map between the graphs can be extended to a map from the plane to itself that is isotopic to the identity. (Isotopy is, for example, the topological relation typically used to define two knots as being equivalent.)&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2012-11-03T16:45:24.823" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14206" PostTypeId="2" ParentId="14128" CreationDate="2012-11-03T21:31:48.543" Score="1" Body="&lt;p&gt;Trying to address specifically your example of creating an editor in hardware, there was an early experimental computer built which implemented both the operating system and the editor entirely in hardware. Later the editor was replaced with software, which substantially reduced the hardware needed. This was described in a book on computer architecture and history. Unfortunately I've forgotten the name and haven't found the keywords to track down the original source.&lt;/p&gt;&#xA;" OwnerUserId="12359" LastActivityDate="2012-11-03T21:31:48.543" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14207" PostTypeId="1" CreationDate="2012-11-04T12:28:06.517" Score="1" ViewCount="545" Body="&lt;p&gt;I study pure greedy algorithms in different bases.  I am interested in the following question:  Is there such a &lt;a href=&quot;http://math.gmu.edu/~dwalnut/teach/Math772/Fall11/772f11lec11.pdf&quot; rel=&quot;nofollow&quot;&gt;Riesz basis&lt;/a&gt; $D$ in Hilbert space and $f\in H$ such that&#xA;$$&#xA;    \|f-G_m(f,D)\| &amp;gt; Cm^{-1/2} |f|_H&#xA;$$&#xA;for every constant $C$?  In other words, is there a Riesz basis that yields a convergence rate bigger than $-1/2$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I know that there are such dictionaries whose convergence rate is larger than $-1/2$ (even $-0.27$) but I cannot construct such a Riesz basis.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; A Pure Greedy Algorithm is defined inductively by&#xA;\begin{align*}&#xA;  G_0(f) &amp;amp; = 0 \\&#xA;  G_m(f) &amp;amp; = G_{m-1}(f)+G(f-G_{m-1}(f))&#xA;\end{align*}&#xA;where $G(f)=\langle f,g\rangle g$  and $g=g(f)$ is an element from $D$ that maximizes $\left|\langle f,g\rangle\right|$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here are some ideas that might be helpful.  It is known that if&#xA;$$&#xA;    \sup_{g\in D} \sum_{g'\in D,~ g'\ne g} \left|\langle g,g'\rangle\right| &amp;lt; 1/3,&#xA;$$&#xA;then the convergence rate is less than $-1/2$.  That is why I took Riesz basis for which that supremum is equal to 1:&#xA;$$&#xA;    D=(f_j), ~\text{where}~ f_j=e_j+\frac{1}{2}e_{j+1}.&#xA;$$&#xA;Now I want to find $f$. But I can not :(&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some useful information can be found in &lt;a href=&quot;http://mosaic.math.tamu.edu/~rdevore/publications/91.pdf&quot; rel=&quot;nofollow&quot;&gt;this paper by DeVore and Temlyakov&lt;/a&gt; and &lt;a href=&quot;http://www.icm2006.org/proceedings/Vol_II/contents/ICM_Vol_2_70.pdf&quot; rel=&quot;nofollow&quot;&gt;this paper by Temlyakov&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="12363" LastEditorUserId="-1" LastEditDate="2012-11-11T06:42:45.543" LastActivityDate="2012-11-11T06:42:45.543" Title="Pure Greedy algorithms" Tags="&lt;ds.algorithms&gt;&lt;greedy-algorithms&gt;" AnswerCount="0" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="14211" PostTypeId="2" ParentId="6297" CreationDate="2012-11-05T01:43:17.023" Score="5" Body="&lt;p&gt;FWIW, your problem is hard to approximate within a multiplicative factor of $n^{1-\epsilon}$ for any $\epsilon&amp;gt;0$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;We show that below by giving an approximation-preserving reduction from Independent Set, for which the hardness of approximation is known.&lt;/p&gt;&#xA;&#xA;&lt;h3&gt;Reduction from Independent Set&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;Let undirected graph $G=(V,E)$ be an instance of Independent Set.&#xA;Let $d_v$ denote the degree of vertex $v$ in $G$.&#xA;Let $n$ be the number of vertices in $G$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Construct edge-weighted graph $G'=(V',E')$ from $G$ as follows.&#xA;Give each edge in $E$ weight 1.&#xA;For each non-isolated vertex $v\in V$, &#xA;add $d_v-1$ new edges, each with weight $-1$,&#xA;to $d_v-1$ new vertices.&#xA;For each isolated vertex $v\in V$,&#xA;add one new edge of weight 1 to a new vertex.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Note: each new vertex (in $G'$ but not $G$) has exactly one neighbor,&#xA;which is in $G$.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Lemma.&lt;/strong&gt; &lt;em&gt;$G$ has an independent set of size $k$ iff&#xA;$G'$ (as an instance of your problem) has a solution of value at least $k$.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Proof.&lt;/em&gt;  Let $S$ be any independent set in $G$.&#xA;Then, since the vertices in $S$ are independent in $G'$,&#xA;the value of $S$ in $G'$ (by your objective)&#xA;is &#xA;$$\sum_{v\in S} d_v - (d_v-1) ~=~ |S|.$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Conversely, let $S$ be a solution for $G'$ of value at least $k$.&#xA;Without loss of generality, assume $S$ contains no new vertices.&#xA;(Each new vertex $v'$ is on a single edge $(v',v)$.&#xA;If $v$ was not isolated in $G$, then the weight of the edge&#xA;is $-1$, so removing $v'$ from $S$ increases the value of $S$.&#xA;If $v$ was isolated, then the weight of the edge is 1,&#xA;so removing $v'$ from $S$ and adding $v$ maintains the value of $S$.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Without loss of generality, assume that $S$ is an independent set in $G$.&#xA;(Otherwise, let $(u,v)$ be an edge such that $u$ and $v$ are in $S$.&#xA;The total weight of $v$'s incident&#xA;edges in $G'$ is $d_v - (d_v-1) = 1$, so the total weight of $v$'s incident&#xA;edges other than $(u,v)$ is at most zero.&#xA;Thus, removing $v$ from $S$ would not increase the value of $S$.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, by the same calculation as at the start of the proof,&#xA;the value of $S$ is $|S|$.  It follows that $|S| \ge k$. QED&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As an aside, you might ask instead for an &lt;em&gt;additive&lt;/em&gt; approximation,&#xA;of, say, $O(n)$ or $\epsilon m$.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It seems possible to me that for your problem even deciding whether &#xA;there is a positive-value solution could be NP-hard.&lt;/p&gt;&#xA;" OwnerUserId="8237" LastEditorUserId="8237" LastEditDate="2012-11-05T03:43:53.677" LastActivityDate="2012-11-05T03:43:53.677" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14213" PostTypeId="1" CreationDate="2012-11-05T11:56:11.823" Score="8" ViewCount="168" Body="&lt;p&gt;can someone explain me the difference between those two (cell probe model and transdichotomous ram)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In cpm I'm allowed to do computation for free, and complexity of algorithm is just a number of memory reads/writes. Can I use words as pointers in that model? Is the memory size fixed or unbounded?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In transdichotomous ram memory is a table of words indexed from 0 to S - 1 for given S. words have fixed size and serve as pointers. I can read/write constant number of cells at constant time. What about complexity of operations? Are computation free?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I don't feel the difference between them.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks for help!&lt;/p&gt;&#xA;" OwnerUserId="12373" LastActivityDate="2012-11-05T11:56:11.823" Title="Cell probe model vs transdichotomous ram" Tags="&lt;computability&gt;&lt;time-complexity&gt;&lt;machine-models&gt;" AnswerCount="0" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14215" PostTypeId="1" CreationDate="2012-11-05T12:24:45.183" Score="6" ViewCount="419" Body="&lt;p&gt;I've seen that the preferred way to specify the semantics of a concurrent language is to use a process calculus (e.g. pi calculus, join calculus). But in the paper presenting the &lt;a href=&quot;http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-components-postattachments/00-10-07-89-59/async_2D00_padl.pdf&quot; rel=&quot;nofollow&quot;&gt;F# asynchronous programming model&lt;/a&gt; the authors have a different approach: they first perform a CPS conversion to a core language, and then, define the semantics in terms of a transition system in which states are tuples of the form (A, Q, P), where A is the set of active computations, Q is the set of queued computations, and P is the set of pending computations--i.e. Waiting for an event. Each computation is of the form e@ctx, where ctx is a label corresponding to a synchronization context. Finally, they give transition rules for reduction (which uses the reduction rule of the core language), suspension of computations waiting on events, activation of computations (i.e. moving computations from Q to A), and event signaling.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I was wondering if this is an acceptable (i.e. accurate enough) way of specifying the semantics of a concurrent language.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT: can anyone point me to papers that use a similar approach to the one taken in the F# paper?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks.&lt;/p&gt;&#xA;" OwnerUserId="12374" LastEditorUserId="3113" LastEditDate="2012-11-12T16:48:12.137" LastActivityDate="2012-11-12T16:48:12.137" Title="Semantics of concurrent languages" Tags="&lt;reference-request&gt;&lt;pl.programming-languages&gt;&lt;semantics&gt;&lt;concurrency&gt;&lt;process-algebra&gt;" AnswerCount="1" CommentCount="6" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14216" PostTypeId="1" CreationDate="2012-11-05T13:31:13.423" Score="4" ViewCount="503" Body="&lt;p&gt;I'm a little bit lost with the actual definition of IP, some sources define as interaction between algorithms starting with Verifier, another one does not any put restriction on who send the first message. This simple question turn things messy ahead, when take into account  the number of messages on definition of IP(k). Does matter who start the interaction?&lt;/p&gt;&#xA;" OwnerUserId="11027" LastEditorUserId="-1" LastEditDate="2012-11-11T06:42:40.270" LastActivityDate="2015-10-11T18:29:31.727" Title="On definition of IP class" Tags="&lt;cc.complexity-theory&gt;&lt;interactive-proofs&gt;" AnswerCount="3" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14217" PostTypeId="2" ParentId="14216" CreationDate="2012-11-05T14:27:56.830" Score="9" Body="&lt;p&gt;In the definition of class IP(&lt;i&gt;k&lt;/i&gt;), the interaction always &lt;em&gt;ends&lt;/em&gt; with prover’s message.  Otherwise there is no use for the last message (why?).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The situation is different for the definitions of &lt;em&gt;public-coin&lt;/em&gt; interactive proof systems (also known as Arthur-Merlin proof systems), where sending a message from the verifier to the prover is the only way for the verifier to generate a random bit string.  In Babai [Bab85], AM(&lt;i&gt;k&lt;/i&gt;) is defined by the verifier (or Arthur) sending the first message and MA(&lt;i&gt;k&lt;/i&gt;) is defined by the prover (or Merlin) sending the first message.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[Bab85] László Babai.  Trading group theory for randomness.  In &lt;em&gt;Proceedings of the 17th Annual ACM Symposium on Theory of Computing (STOC)&lt;/em&gt;, pp. 421–429, May 1985.  DOI: &lt;a href=&quot;http://dx.doi.org/10.1145/22145.22192&quot;&gt;10.1145/22145.22192&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="567" LastActivityDate="2012-11-05T14:27:56.830" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="14218" PostTypeId="1" AcceptedAnswerId="14219" CreationDate="2012-11-05T14:33:54.277" Score="8" ViewCount="308" Body="&lt;p&gt;I wonder if there is a sublinear algorithm to make deletion or contraction of an edge in a &lt;em&gt;combinatorial embedding&lt;/em&gt; of, lets say, planar graph?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since in combinatorial embedding we have to maintain vertices of &lt;strong&gt;G&lt;/strong&gt; and &lt;strong&gt;G*&lt;/strong&gt; at the same time, taking in account that contraction in the primal is deletion in the dual, it's sufficient only to make deletions, updating primal permutation according to dual and vice-versa. But obvious way to do it is just recompute them, which takes linear time. Can we do any better?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Second question&lt;/em&gt;: is there any technique that helps to get rid of multiple edges between same vertices? (the only solution I see to the second problem is to postpone deletion of multiple edges until we will get graph with, for example, m=6n, where m - number of edges, n - number of vertices, this will make time amortized O(1)) Maybe there is some techniques, which can make this time not amortized? (I am also interested in just o(n) solutions, not necessarily O(1))&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thank you very much!&lt;/p&gt;&#xA;" OwnerUserId="7612" LastEditorUserId="-1" LastEditDate="2012-11-11T06:42:50.940" LastActivityDate="2012-11-11T06:42:50.940" Title="Fast deletion / contraction in combinatorial embedding" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;planar-graphs&gt;&lt;embeddings&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="14219" PostTypeId="2" ParentId="14218" CreationDate="2012-11-05T16:50:32.340" Score="10" Body="&lt;p&gt;This question is incomplete without specifying what information about the graph as it changes you want your dynamic graph data structure to output or support queries for. But the following paper is likely relevant, even though it is described in a more general setting of combinatorial embeddings in arbitrary genus rather than just planar. It definitely supports both contractions and deletions, as well as their reverse operations, in logarithmic time per operation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Dynamic generators of topologically embedded graphs.&#xA;D. Eppstein.&#xA;&lt;a href=&quot;http://arxiv.org/abs/cs.DS/0207082&quot; rel=&quot;nofollow&quot;&gt;arXiv:cs.DS/0207082&lt;/a&gt;.&#xA;SODA 2003, pp. 599-608.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As for the second question: I don't see how to handle multiple adjacencies in general, but it's easy to get rid of bigons (multiple edges with nothing between them) as they can only come from the two faces that are on either side of a contracted edge or from the face that surrounds a deleted edge. That should be sufficient for many purposes since getting rid of the bigons ensures that the remaining graph has a number of edges proportional to its number of vertices.&lt;/p&gt;&#xA;" OwnerUserId="95" LastEditorUserId="95" LastEditDate="2012-11-06T17:24:20.353" LastActivityDate="2012-11-06T17:24:20.353" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14223" PostTypeId="1" CreationDate="2012-11-05T22:14:43.283" Score="0" ViewCount="86" Body="&lt;p&gt;How to design a secret sharing scheme where when participants are positioned as a matrix, the minimum group people who can reconstruct the secret are the ones that are in same row or in same column? &lt;/p&gt;&#xA;" OwnerUserId="12382" LastActivityDate="2012-11-06T13:59:27.253" Title="How to design a secret sharing scheme for matrix-like positioned participants" Tags="&lt;cr.crypto-security&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14224" PostTypeId="2" ParentId="14216" CreationDate="2012-11-05T22:15:09.110" Score="-1" Body="&lt;p&gt;In fact does not matter (the classes of recognized languages are the same) as can be seen &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/0022000088900281#&quot; rel=&quot;nofollow&quot;&gt;here:Arthur-Merlin games: A randomized proof system, and a hierarchy of complexity classes, László Babai&lt;/a&gt;   &lt;/p&gt;&#xA;" OwnerUserId="11027" LastEditorUserId="11027" LastEditDate="2012-11-06T11:14:23.083" LastActivityDate="2012-11-06T11:14:23.083" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14228" PostTypeId="2" ParentId="12329" CreationDate="2012-11-06T06:26:28.117" Score="1" Body="&lt;p&gt;Okay, I'll bite.  Isn't your problem a special case of (non-metric) $k$-medians?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a budget $k$ for the number of centers you want to open, and a bound $D$ on the maximum allowed distance on any city $v$ to its assigned center $c$, define $d'_{vc}$ to be $\infty$ if $d_{vc}&amp;gt;D$ and $P_v d_{vc}$ otherwise.  Then your problem is modeled by the standard integer linear program for $k$-medians with (non-metric) distances $d'_{vc}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$~\displaystyle \min \sum_{vc} d'_{vc} X_{vc}$ subject to&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Each city is assigned to some center: for each $v$, $\sum_c X_{vc} = 1$.  &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Any assigned center must be open: for each $c$ and $v$, $X_{vc} \le Y_c$. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Exactly $k$ centers are opened: $\sum_{c} Y_c = k$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;All variables non-negative.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;For non-metric $k$-medians, I think the best poly-time approximation known is &lt;a href=&quot;http://www.cs.ucr.edu/~neal/Papers/algorithmica_2008_50_4_455.pdf&quot; rel=&quot;nofollow&quot;&gt;here, Theorem 5&lt;/a&gt;, which gives a solution that opens $O(k\log n)$ centers and achieves cost at most the optimum cost possible with $k$ centers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Or, if you'd rather relax the distance constraint (say, if your $d_{vc}$ is metric, and your approximate solution can only use $k$ centers but can assign cities to centers that are $2D$ away), you might be able to get a constant-factor approximation to OPT (where OPT has to assign cities to centers that are at most $D$ away).  I'm not sure for this particular problem, but I know there are existing results of that kind for problems similar to that, such as Jain and Vazirani's 6-approximation for metric k-medians and 2-approximation algorithms for &lt;a href=&quot;http://en.wikipedia.org/wiki/Metric_k-center&quot; rel=&quot;nofollow&quot;&gt;metric k-center&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="8237" LastEditorUserId="8237" LastEditDate="2012-11-06T07:00:57.007" LastActivityDate="2012-11-06T07:00:57.007" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14230" PostTypeId="1" CreationDate="2012-11-06T07:52:02.433" Score="1" ViewCount="92" Body="&lt;p&gt;I'm reading Arora and Barak's book &quot;Computational Complexity&quot;, Chapter 19.4 &quot;Local Decoding and Hardness Amplification&quot;. And I'm confused with the following question:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $f:\{0,1\}^n\rightarrow\{0,1\}$, then $f$ can also be viewed as a binary string of length $N=2^n$. Using some Error Correcting Code $E:\{0,1\}^N\rightarrow\{0,1\}^M$ with distance $2\rho$ and we get $g=E(f)\in\{0,1\}^M$, let $m=\log M$, then $g$ can be viewed as a function $g:\{0,1\}^m\rightarrow\{0,1\}$. In principle, if $g$ can be computed for $1-\rho$ fraction of $\{0,1\}^m$, then we can compute (maybe not efficiently) $f$ for all $\{0,1\}^n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If this can be computed efficiently for some $E$, we're done with some worst-case hardness to mild hardness reduction. So we define Local Decoder for $E:\{0,1\}^N\rightarrow\{0,1\}^M$ handling $\rho$ errors to be an algorithm $D$ given random access to a string $v\in\{0,1\}^M$ such that $\triangle(v,E(u))&amp;lt;\rho$ for some $u\in\{0,1\}^N$, and an index $i$, runs for $poly(m)$ time and output $u_i$ with probability $\geq2/3$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But here's the problem, Local Decoder is a probabilistic algorithm correct with probabilistic at least $2/3$ for every index, but what we require is a deterministic circuit that correct for every index.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To make it more clear, Local Decoder means we have PPT $D$ that $Pr_r[D(x,r)=f(x)]\geq2/3$ for every $x\in\{0,1\}^n$. $2/3$ here is arbitrary, but we can't find some fixed $r$ that $D$ will be correct for every $x$.&lt;/p&gt;&#xA;" OwnerUserId="10071" LastActivityDate="2012-11-06T07:52:02.433" Title="Local Decoding and Hardness Amplification" Tags="&lt;cc.complexity-theory&gt;" AnswerCount="0" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="14231" PostTypeId="2" ParentId="14223" CreationDate="2012-11-06T13:59:27.253" Score="3" Body="&lt;p&gt;For an m x n matrix, you can simply create m+n independent sharings (using any n-out-of-n or m-out-of-m secret sharing scheme, such as the XOR scheme), one for each row and for each column.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Each participant will get tow shares, one for his row and one for his column. His total share size is 2s, where s is the length of the secret. Since you can't get share size less than s, this simple scheme is within a factor of 2 of the optimum. &lt;/p&gt;&#xA;" OwnerUserId="9751" LastActivityDate="2012-11-06T13:59:27.253" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14235" PostTypeId="1" CreationDate="2012-11-06T22:31:00.153" Score="1" ViewCount="93" Body="&lt;p&gt;The group $(\mathbb{Z}, +)$ is &lt;a href=&quot;http://en.wikipedia.org/wiki/Automatic_group&quot; rel=&quot;nofollow&quot;&gt;automatic&lt;/a&gt; (ala Khoussainov) when using the &quot;standard&quot; representation in a decimal base. But if I want to use a different representation of Z, encoding my integers with the alphabet $\Sigma = \{y, z\}$&lt;br&gt;&#xA;$0 = z$&lt;br&gt;&#xA;$1 = yz$&lt;br&gt;&#xA;$-1 = zy$&lt;br&gt;&#xA;$2 = yyz$&lt;br&gt;&#xA;$-2 = zyy$...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;however the representation of each integer is not unique... $ z = yzy = yyzyy = yyyzyyy$ (the standard construction in set theory) This leads to problems later.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we define&lt;br&gt;&#xA;$a + b :=$ match $a$ with&lt;br&gt;&#xA;$|z \rightarrow b$&lt;br&gt;&#xA;$|y^nzy^m \rightarrow y^{n-1}zy^m + yb$&lt;br&gt;&#xA;$|zy^n \rightarrow zy^{n-1} + by$  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, by some convolution function, I can accept equations such as &quot;$z + z = z$&quot; or &quot;$yyyz + zyy = yyyzyy$&quot; but not equations such as &quot;$z + z = yzy$&quot; and &quot;$yyyz + zyy = yz$&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Should this (unary integral addition) count as an automatic function?&lt;/p&gt;&#xA;" OwnerUserId="8973" LastEditorUserId="898" LastEditDate="2012-11-07T00:44:35.177" LastActivityDate="2012-11-07T00:44:35.177" Title="Automatic structures/functions: Is (Z,+) under a unary representation automatic?" Tags="&lt;fl.formal-languages&gt;&lt;automata-theory&gt;&lt;regular-language&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14236" PostTypeId="2" ParentId="14215" CreationDate="2012-11-06T23:36:54.530" Score="5" Body="&lt;p&gt;Legally speaking, the term &quot;calculus&quot; is almost always used to describe a language, i.e., a piece of syntax, with added rules of calculation or reasoning.  Examples include the good old predicate calculus, lambda calculus, process calculi, various type theories and logics (e.g., Martin-Lof type theory and linear logic).  From a programming language point of view, a &quot;calculus&quot; is just a bare bones programming language, that we take to be fundamental in some way.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;People with an engineering bent of mind often take calculi to be good enough for using as a foundation, and describe the &quot;semantics&quot; of other languages in terms of such calculi.  (Prominent examples of such people include Christopher Strachey, Robin Milner, and Tony Hoare to some extent.)  People with a logical/philosophical bent of mind regard such calculi as being inadequate on their own, and needing a proper &quot;semantics&quot;.  (Prominent examples include Dana Scott, Gordon Plotkin, John Reynolds and again Tony Hoare to some extent.)  A true &quot;semantics&quot; then is expressed in terms of abstract &lt;em&gt;concepts&lt;/em&gt;, rather than pieces of syntax.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;From this point of view, the F# paper that you cite is doing the right thing by describing the semantics in terms of concepts.  It is indeed the preferred way of describing the semantics of programming languages (at least for those of us with a logical bent of mind).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[Additional note: See also the previous question &lt;a href=&quot;https://cstheory.stackexchange.com/questions/3577/what-constitutes-denotational-semantics?rq=1&quot;&gt;What constitutes denotational semantics&lt;/a&gt; for related discussion, even though it is dealing with denotational rather than operational semantics.]&lt;/p&gt;&#xA;" OwnerUserId="8519" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2012-11-07T21:24:20.763" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="14239" PostTypeId="1" AcceptedAnswerId="14249" CreationDate="2012-11-07T02:15:43.243" Score="7" ViewCount="321" Body="&lt;p&gt;While trying to understand Baker's approach (also explained in &lt;a href=&quot;http://arxiv.org/pdf/math.CO/9907126.pdf&quot; rel=&quot;nofollow&quot;&gt;this article by Eppstein&lt;/a&gt;) to designing PTAS's for planar graphs, I came across a difficulty. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The idea is, given an integer $k$, decompose the graph into subgraphs of tree-width bounded by $O(k)$ (which for planar graphs happens if $diameter = O(k)$), then solve the problem on the subgraphs in polynomial-time, and finally glue the solutions together to get a polynomial-time $(1 + O(1/k))$-approx.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The decomposition method described in the part $8$ of &lt;a href=&quot;http://arxiv.org/pdf/math.CO/9907126.pdf&quot; rel=&quot;nofollow&quot;&gt;the article&lt;/a&gt;, amounts to, as far as I understood, pick any vertex, get a BFS tree from that vertex, and remove every $k$-th level of the tree (potentially starting at level $0 \leq i &amp;lt; k$, but I do not think it matters for this part).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The author then argues that the obtained subgraphs (consisting each of at most $k-1$ levels of the BFS tree), have bounded diameter (i.e. depending only on $k$). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is the part I do not understand. For instance, what happens if some layer of the tree is a long path ? How is the diameter of a subgraph containing this layer bounded ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thank you for any help,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Lucas&lt;/p&gt;&#xA;" OwnerUserId="12361" LastEditorUserId="-1" LastEditDate="2012-11-11T06:42:53.903" LastActivityDate="2012-11-11T06:42:53.903" Title="Understanding bounded-diameter decomposition of graphs for PTAS" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;planar-graphs&gt;&lt;approximation&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="14240" PostTypeId="1" AcceptedAnswerId="14325" CreationDate="2012-11-07T04:07:59.693" Score="2" ViewCount="122" Body="&lt;p&gt;I had to derivate, by hand, sequential iterative programs at school using an unified Hoare-Dijkstra-Hehner programming theory.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First, write down the formal specification as a Hoare triple and figure out invariants for loops. Second, apply logic rules and theorems to find an implementation that satisfies completely the specification ensuring total correctness. Actually not an easy job.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;How to automate this process? is it feasible?&lt;/p&gt;&#xA;" OwnerUserId="12397" LastEditorUserId="-1" LastEditDate="2012-11-11T06:42:42.563" LastActivityDate="2012-11-14T13:50:02.057" Title="How to auto-derivate sequential iterative programs from a mathematical specification?" Tags="&lt;lo.logic&gt;&lt;pl.programming-languages&gt;&lt;formal-methods&gt;&lt;automated-theorem-proving&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="14242" PostTypeId="1" CreationDate="2012-11-07T05:45:20.417" Score="4" ViewCount="178" Body="&lt;p&gt;Suppose $n = p^k$ for some prime number $p$ and some non-negative integer $k$. What is (the best-known upper bound on) the complexity of computing $k$ on input $n$ (given in binary)? It is important to note that the prime is unknown. The input is just a number $n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It seems that there exists [1] an algorithm for computing $k$ when $n$ is a power of an arbitrary integer (not necessarily a prime) that runs in $O(\log n \log^c \log n)$ time for some $c$. Is there a better algorithm for prime powers?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1]: &lt;a href=&quot;http://www.ams.org/journals/mcom/2007-76-257/S0025-5718-06-01837-0/&quot; rel=&quot;nofollow&quot;&gt;Bernstein, Lenstra, and Pila. &lt;em&gt;Detecting Perfect powers by factoring into coprimes&lt;/em&gt;, 2006.&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="4193" LastEditorUserId="-1" LastEditDate="2012-11-11T06:45:50.057" LastActivityDate="2012-11-11T06:45:50.057" Title="Complexity of computing logarithm of a prime power" Tags="&lt;cc.complexity-theory&gt;&lt;time-complexity&gt;&lt;nt.number-theory&gt;&lt;primes&gt;" AnswerCount="0" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="14243" PostTypeId="1" CreationDate="2012-11-07T08:30:25.807" Score="3" ViewCount="354" Body="&lt;p&gt;This is a &lt;a href=&quot;https://math.stackexchange.com/questions/231455/estimator-for-sum-of-independent-and-identically-distributed-iid-variables&quot;&gt;repost of a question at math.stackexchange&lt;/a&gt;, but I was told by a reliable source that people around here might be able to help me, so I thought I'd give it a shot.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider the Chernoff bound described in Theorem 1 of &lt;a href=&quot;http://cseweb.ucsd.edu/~klevchen/techniques/chernoff.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;this paper&lt;/a&gt;:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Theorem 1.&lt;/strong&gt; Let $X_1,\ldots,X_n$ be discrete, independent random variables such that $E[X_i] = 0$ and $|X_i|&amp;lt;1$ for all $i$. Let $X:=\sum_{i=1}^n X_i$ and $\sigma^2$ be the variance of $X$. Then,&#xA;  $$\Pr\left[|X|\ge \lambda\sigma\right] \le 2e^{-\lambda^2/4}$$&#xA;  for any $0\le\lambda\le 2\sigma$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I want to apply this estimator for a computation, but the variance of the variables $X_i$ is unknown to me. Apart from that, my variables satisfy all the conditions of Theorem 1. In fact, my variables are independent and &lt;em&gt;identically distributed&lt;/em&gt; (iid).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, there is &lt;a href=&quot;http://en.wikipedia.org/wiki/Chebyshev&amp;#39;s_inequality#Finite_samples&quot; rel=&quot;nofollow noreferrer&quot;&gt;Chebyshev's inequality for finite samples&lt;/a&gt; which does not require knowledge of the variance (or mean) of a given random variable and replaces it with the corresponding values of my given sample.&#xA; However, the estimator is not good enough for my application and I was wondering if there is an estimator similar to Theorem 1 but not featuring the variance of the distribution itself. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Intuitively speaking, it would be nice to have the best of both worlds: If that is not possible, then what is the best bound I can achieve for a sum of iid variables, without any knowledge about their variance?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit.&lt;/strong&gt; I will explain the application in greater detail. I have a tree, at its leaves $v$ are labels $\ell(v)$ with values from the interval $[-1,1]$. I want to know whether these values sum to zero, but summing them up would take too long, because there are too many of them. However, I can easily do a random walk from the root to a leaf. Viewing the tree as a decision tree this way, let $p(v)$ be the probability of each leaf $v$. I then sample a couple of leaves $v_1,\ldots,v_n$ and compute the values $\tfrac{\ell(v_i)}{P\cdot p(v_i)}$, where $P$ is an upper bound for $\tfrac{1}{p(v)}$. Under the null hypthesis that the leaf lables sum to zero, the expected value of a random variable sampling this fraction is &#xA;$$\sum_v p(v) \cdot \frac{\ell(v)}{Pp(v)} = \frac{1}{P} \sum_v \ell(v) = 0.$$&#xA;Hence, I am in the situation of Theorem 1. I compute &#xA;$$t=\sum_{i=1}^n \frac{\ell(v_i)}{P\cdot p(v_i)\cdot\sigma}$$&#xA;and by Theorem 1, $2e^{-t^2/4}$ is an upper bound for the probability that this sample was obtained under the assumption of the null hypothesis. Now, this works very well for small test instances when I compute $\sigma$ - which actually requires me to search the entire tree. For larger instances, that's exactly what I am trying to avoid, so I need something different. It would be less of a problem to use the mean or the standard deviation of my &lt;em&gt;sample&lt;/em&gt;, for instance.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that &#xA;$$\textstyle&#xA;\sigma^2 = E(X^2)- E(X)^2 = E(X^2) = E(\sum_{i=1}^n X_i^2) + E(\sum_{i\ne j} X_i X_j).$$&#xA;Since $X_i$ and $X_j$ are independent, this means $\sigma^2 = n E(X_1^2)$. In my application, the expected value of $X_1^2$ is so small that reasonably large sample sizes cannot negate the effect that $\sigma^2$ is very small.&lt;/p&gt;&#xA;" OwnerUserId="12399" LastEditorUserId="-1" LastEditDate="2017-04-13T12:19:19.363" LastActivityDate="2012-11-08T06:54:40.193" Title="Estimator for sum of independent and identically distributed (iid) variables" Tags="&lt;pr.probability&gt;&lt;st.statistics&gt;&lt;chernoff-bound&gt;" AnswerCount="1" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="14245" PostTypeId="2" ParentId="14243" CreationDate="2012-11-07T08:53:06.990" Score="2" Body="&lt;p&gt;You need McDiarmid's inequality, or in particular the &lt;a href=&quot;http://en.wikipedia.org/wiki/Hoeffding%27s_inequality#General_Case&quot; rel=&quot;nofollow&quot;&gt;Hoeffding inequality&lt;/a&gt;, which is a simplification: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given $n$ independent $X_i$ with the property that $X_i \in [a_i, b_i]$, and $X = (1/n)\sum X_i$, then &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$ \text{Pr}(|X - EX| \ge t) \le 2 \exp(\frac{2t^2n^2}{\sum (b_i - a_i)^2}) $$&lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2012-11-07T08:53:06.990" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="14247" PostTypeId="2" ParentId="1677" CreationDate="2012-11-07T12:48:43.223" Score="1" Body="&lt;p&gt;You might take a look at &lt;a href=&quot;https://gephi.org/screenshots/&quot; rel=&quot;nofollow&quot;&gt;GePhi&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="947" LastActivityDate="2012-11-07T12:48:43.223" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14249" PostTypeId="2" ParentId="14239" CreationDate="2012-11-08T00:30:53.000" Score="5" Body="&lt;p&gt;Actually, the obtained subgraphs may not have bounded diameter, but they still have bounded tree-width. In order to see this, take one such subgraph $H$, and build $H'$ by adding a new vertex $u$ that is connected to each of the top-level vertices of $H$ (remember that $H$ was obtained as $k-1$ consecutive layers of a BFS tree). Then clearly $diam(H') \leq 2k$ since any vertex in $H'$ is at distance less than $k$ of $u$. We then know that $tw(H') = O(diam(H')) = O(k)$. Finally, $H$ is a minor of $H'$ so $tw(H) \leq tw(H')$, hence $tw(H) = O(k)$.&lt;/p&gt;&#xA;" OwnerUserId="12361" LastActivityDate="2012-11-08T00:30:53.000" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14250" PostTypeId="1" AcceptedAnswerId="14326" CreationDate="2012-11-08T08:24:34.450" Score="8" ViewCount="250" Body="&lt;p&gt;Suppose we have two numbers factorized into their primes, represented as lists of (p,d), where all p are prime, and d are the power of p.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a way to compare such two numbers without converting them into long integers?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Comparing two numbers can be reduced to comparing two co-primes, but then it seems the luck runs out, and it seems I'd need to do some polynomial arithmetic, which is the same as converting into long integers.&lt;/p&gt;&#xA;" OwnerUserId="12415" LastEditorUserId="12415" LastEditDate="2012-11-13T20:47:46.873" LastActivityDate="2012-11-14T19:44:30.057" Title="Comparing co-primes" Tags="&lt;ds.algorithms&gt;&lt;nt.number-theory&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="14252" PostTypeId="1" AcceptedAnswerId="14273" CreationDate="2012-11-08T17:56:52.843" Score="11" ViewCount="253" Body="&lt;p&gt;Let us relax the coloring a little bit, that is, we allow a small number of adjacent vertices to be assigned the same color.  A monochromatic component is defined to be a connected component in the subgraph induced by the set of vertices that receive the same color, and the question is to ask for &lt;strong&gt;the minimum number $\lambda$ of colors needed to color a graph such that largest monochromatic component has size no more than $C$.&lt;/strong&gt;&lt;br&gt;&#xA;The traditional coloring can be considered as $[\lambda,1]$-coloring in this setting.   Hence to find the minimum number of $\lambda$ is NP-hard for planar graph in general.   &lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is, how about &lt;strong&gt;$[\lambda,2]$-coloring of planar graphs&lt;/strong&gt;, or more generally, $[\lambda,C]$-coloring for $C \geq 2$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This can be viewed as a dual problem of what is studied by &lt;a href=&quot;http://dx.doi.org/10.1016/j.dam.2004.10.005&quot;&gt;Edwards and Farr&lt;/a&gt;, where $\lambda$ is fixed, and one is asked to find the minimum size of $C$.&lt;/p&gt;&#xA;" OwnerUserId="7059" LastEditorUserId="-1" LastEditDate="2012-11-11T06:45:47.780" LastActivityDate="2012-11-11T06:45:47.780" Title="An improper planar coloring with monochromatic component size $\leq 2$" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;&lt;graph-colouring&gt;&lt;planar-graphs&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14255" PostTypeId="1" AcceptedAnswerId="14258" CreationDate="2012-11-08T23:58:24.683" Score="4" ViewCount="162" Body="&lt;p&gt;I'm reading a &lt;a href=&quot;http://eccc.hpi-web.de/report/2010/008/download/&quot; rel=&quot;nofollow noreferrer&quot;&gt;paper&lt;/a&gt; which shows the result:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$(1)$ There is a $p$-optimal proof system for $\operatorname{TAUT}$. $\Leftrightarrow$ &#xA;$(2)$ $L_{\leq}$ is a $P$-bounded logic for $P$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Both $(1)$ and $(2)$ are unproven Conjectures.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A proof system for a problem $Q \subseteq \Sigma^*$ is a surjective function $P: \Sigma^* \to Q$ computable in polynomial time &lt;a href=&quot;https://cstheory.stackexchange.com/questions/14088/intuition-behind-proof-systems&quot;&gt;(see my other question)&lt;/a&gt;. A proof system is $p$-optimal if for every proof system $P'$ for Q there is polynomial computable $T: \Sigma^* \to \Sigma^*$ such that f.a. $w \in \Sigma^*$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$P(T(w)) = P'(w).$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My first question is an intuition of the  $p$-optimal property: Does it mean that $P$ is minimal in a way? How does that work? Is it similar to the polynomial reduction one uses to show that a problem is $\operatorname{NP}$-hard?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A Logic $L$ is $P$-bounded for $P$ if there is a algorithm which decides the model relation $\mathcal{A} \models_{L} \varphi$ polynomial in $|\mathbb{A}|$. $L_{\leq}$ is variant of least fixed point logic (LFP). A formula $\varphi$ is $m$-invariant if for all structures $\mathcal{A}$ of size at most $m$ we have for all orderings $&amp;lt;_1, &amp;lt;_2$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$(\mathcal{A},&amp;lt;_1) \models_{LFP} \varphi \Leftrightarrow (\mathcal{A},&amp;lt;_2) \models_{LFP} \varphi.$$ A formula in $L_{\leq}$ is satisfied on a structure $\mathcal{A}$ if it is at least $|\mathcal{A}|$-invariant and $(\mathcal{A},&amp;lt;) \models_{LFP} \varphi$ for one $&amp;lt;$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am interested in the consequences if $(1)$ was true (or even consequences if it was false?). $\operatorname{TAUT}$ is in $\mathrm{co}-\mathrm{NP}$ and $\operatorname{SAT}$ is in $\mathrm{NP}$. Is $(1) \Rightarrow \operatorname{NP} = &#xA;co-\operatorname{NP}$ and why? Is okay to &quot;mildly assume&quot; that $\operatorname{NP} = co-\operatorname{NP}$ is not true?&lt;/p&gt;&#xA;" OwnerUserId="7594" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2012-11-09T06:14:35.007" Title="Consequences of a $p$-optimal proof system for $\operatorname{TAUT}$" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;descriptive-complexity&gt;&lt;proof-complexity&gt;&lt;conditional-results&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14256" PostTypeId="2" ParentId="4924" CreationDate="2012-11-09T01:51:08.897" Score="1" Body="&lt;p&gt;SMALL is one of the most competitive math REUs in the country.  By contrast, it's very easy to get a SURF.  If I were to choose one it would be SMALL because you could probably apply to SURF next year and easily get accepted.&lt;/p&gt;&#xA;" OwnerUserId="12428" LastActivityDate="2012-11-09T01:51:08.897" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14257" PostTypeId="2" ParentId="8851" CreationDate="2012-11-09T05:27:30.270" Score="5" Body="&lt;p&gt;No one here has addressed the practical issues of why someone studying TCS should learn programming.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you are planning to do a PhD in TCS in a Computer Science department, there is a good chance you will need to take some non-Theory courses, and those will almost certainly be very programming-intensive. Depending on the program you are in, you may also need knowledge of non-Theory subjects to pass your qualifying exams.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;When you finish your PhD, most job opportunities for TCS are in academia. If you work in academia, you will be expected to teach, and you might be expected to teach an intro-level undergrad CS class that will be more programming than theory. Even if you are teaching a theory class to undergrads, like say Algorithms, you can expect that your students will know more about programming than theory, and without knowing what your students know, it will be difficult for you to bridge the gaps in their understanding. I shudder at the thought of CS undergrads being taught by someone who does not know programming!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you don't care about these practical concerns, then you can probably get by doing research without really knowing anything about programming. Certainly you have plenty of company in the TCS community, but mileage will vary depending on what exact area of Theory you're working in. For instance, if you're doing pure computational complexity theory, proving lower bounds on classes that no one has ever heard of, then it's likely that programming will be of no use to you. But if you're doing something more algorithmic, then I feel that being able to write good clean working code will strengthen your intuition if nothing else.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I recommend learning C (not C++). Pick-up a copy of K&amp;amp;R and read it front-to-back. C doesn't have many of the fancy features of modern languages, but it does have simple but elegant syntax and semantics, which you should be able to learn in entirety. However, even when you understand the language in entirety, it still takes practice to master writing good elegant bug-free code in C. Nevertheless, if you can master coding in C, you will be able to master any programming language you encounter. Furthermore, that discipline will help you think how the hardware thinks, which will be beneficial when designing algorithms. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Ideas like pointers are very important to anyone who does algorithm design, but unfortunately, languages like Java and Python obscure them from you, so that's why I don't recommend them as a first language to someone with a math background. OOP is more important for people who have to maintain huge software projects, not someone who is designing algorithms.&lt;/p&gt;&#xA;" OwnerUserId="12429" LastActivityDate="2012-11-09T05:27:30.270" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14258" PostTypeId="2" ParentId="14255" CreationDate="2012-11-09T05:50:35.073" Score="5" Body="&lt;p&gt;See the Wikipedia article for &lt;a href=&quot;http://en.wikipedia.org/wiki/Propositional_proof_system&quot; rel=&quot;noreferrer&quot;&gt;propositional proof complexity&lt;/a&gt;. p-simulation is similar to reductions between complexity classes. Existence of a p-optimal proof system is a well-known open problem in proof complexity.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is statement 7 in Krajicek and Pudlak 1989. See page 1066 and 1067 for a list of statements implied/implying it. There are more statements that you can find by Googling.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are experts who conjecture that extended Frege is an p-optimal proof system. Existence of a p-optimal proof system is a weaker statement than existence of a super proof system (which is equivalent to $\mathsf{NP}=\mathsf{coNP}$). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Jan Krajicek and P. Pudlak, &quot;&lt;a href=&quot;http://www.karlin.mff.cuni.cz/~krajicek/scan10.pdf&quot; rel=&quot;noreferrer&quot;&gt;Propositional Proof Systems, the Consistency of First Order Theories and the Complexity of Computations&lt;/a&gt;&quot;, J. Symbolic Logic, 54(3), (1989), pp. 1063-1079.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Yijia Chen and Jörg Flum, &quot;&lt;a href=&quot;http://eccc.hpi-web.de/report/2010/008/&quot; rel=&quot;noreferrer&quot;&gt;On optimal proof systems and logics for PTIME&lt;/a&gt;&quot;, 2010.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Zenon Sadowski, &quot;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.39.4934&quot; rel=&quot;noreferrer&quot;&gt;On an optimal propositional proof system and the structure of easy subsets of TAUT&lt;/a&gt;&quot;, 2002.&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2012-11-09T06:14:35.007" LastActivityDate="2012-11-09T06:14:35.007" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14262" PostTypeId="1" AcceptedAnswerId="14271" CreationDate="2012-11-09T11:43:14.153" Score="8" ViewCount="3458" Body="&lt;p&gt;According to literature, Babbage's Analytical Engine is turing-complete because it supports conditional branching: it can perform different operations depending on the sign of the result last operation using a conditional arm (see &lt;a href=&quot;http://web.archive.org/web/20100426034840/http://halfbakedmaker.org/2009/12/26/rod-logic-alu-2/&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://web.archive.org/web/20100426034840/http://halfbakedmaker.org/2009/12/26/rod-logic-alu-2/&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, the instruction set as devised by Babbage seems to support only going back or jumping ahead &lt;strong&gt;one single punched card&lt;/strong&gt;. (see &lt;a href=&quot;http://www.fourmilab.ch/babbage/cards.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://www.fourmilab.ch/babbage/cards.html&lt;/a&gt;, &quot;Combinaritorial Cards&quot;)&#xA;Surely this is computationally less mighty than supporting a goto-statement for jumping to arbitrary statements?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If any two turing machines can emulate each other, how can the goto-behaviour be emulated using the conditional jumping of just one instruction?&lt;/p&gt;&#xA;" OwnerUserId="12436" LastEditorUserId="-1" LastEditDate="2018-04-10T16:38:33.043" LastActivityDate="2018-04-10T16:38:33.043" Title="Was Babbage's Analytical Engine really turing-complete?" Tags="&lt;computability&gt;&lt;turing-machines&gt;&lt;universal-computation&gt;" AnswerCount="2" CommentCount="7" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14263" PostTypeId="2" ParentId="14262" CreationDate="2012-11-09T16:36:26.807" Score="0" Body="&lt;p&gt;there are some new modern attempts to build the Babbage machine, one by John Graham-Cumming. he says in this &lt;a href=&quot;http://www.newscientist.com/article/mg20827915.500-lets-build-babbages-ultimate-mechanical-computer.html&quot; rel=&quot;nofollow&quot;&gt;New Scientist article&lt;/a&gt;:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Even though the Analytical Engine would have been mechanical and powered by steam, it would likely have been Turing-complete - that is, capable of computing any computable function.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;however, have not actually seen a strict proof of this published. suspect a proof is not difficult. from your 2nd ref by John Walker it appears that one possible scheme would be to use separate punch cards as Turing tape squares, one &quot;symbol&quot; per punch card. the machine appears to support some operations like &quot;move back 1 card&quot; and &quot;move forward 1 card&quot; based on the current state. since the punch card stack is not conceptually/strictly limited in size, it seems fair to say its Turing complete in the same sense modern computers are. have not seen a good theoretical description of the Babbage engine, most descriptions are more in physical terms. Babbage himself did not seem to focus so much on programming, instead he mostly devised blueprints.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Wikipedia, &lt;a href=&quot;http://en.wikipedia.org/wiki/Analytical_Engine&quot; rel=&quot;nofollow&quot;&gt;Analytical Engine&lt;/a&gt;:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;The programming language to be employed by users was akin to modern day assembly languages. Loops and conditional branching were possible, and so the language as conceived would have been Turing-complete as later defined by Alan Turing.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;this next point from Wikipedia is relevant because it shows that the Babbage design for the analytical engine was analyzed by the &lt;em&gt;mathematician&lt;/em&gt; Menabrea (ie from a symbolic/mathematical and not primarily engineering point of view) which was later annotated by Lovelace, recognized as the &quot;first computer programmer&quot;, more circumstantial evidence for what might be regarded as a &quot;&lt;em&gt;retroactive&lt;/em&gt; Turing completeness&quot; of the Babbage machine.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;In 1842, the Italian mathematician Luigi Menabrea, whom Babbage had met while travelling in Italy, wrote a description of the engine in French. In 1843, the description was translated into English and extensively annotated by Ada Byron, Countess of Lovelace, who had become interested in the engine ten years earlier. In recognition of her additions to Menabrea's paper, which included a way to calculate Bernoulli numbers using the machine, she has been described as the first computer programmer.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;this very apropos NYT article &lt;a href=&quot;http://www.nytimes.com/2011/11/08/science/computer-experts-building-1830s-babbage-analytical-engine.html?pagewanted=all&amp;amp;_r=0&quot; rel=&quot;nofollow&quot;&gt;Computer experts building 1830s Babbage analytical engine&lt;/a&gt; deconstructs the interconnecting historical threads of awareness more carefully.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;The consensus of computer historians is that while Babbage was clearly the first to conceive of the flexible machine that foreshadowed the modern computer, his work was forgotten and was then conceptually recreated by Turing a century later.&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;...&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;“The pioneers of electronic computing reinvented the fundamental principles largely in ignorance of the details of Babbage’s work,” said Dr. Swade, the former museum curator. “They knew of him, there was a continuity of influence, but his drawings were not the DNA of modern computing.”&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;He argues that Turing was a “bridging” figure between Babbage and Lovelace and the modern world of electronic computers.&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;A Turing biographer, Andrew Hodges, doubts that his subject had seen the Lovelace notes when he wrote “On Computable Numbers.”&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;“It’s most unlikely that Babbage/Lovelace had any influence on Turing in 1936,” Dr. Hodges, an Oxford mathematician, wrote in an e-mail. “Motivation, means, language, results were all completely different.” &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;however later than the 30s when Turing wrote his initial paper, he did appear to become aware of Babbage/Lovelace.&lt;/p&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="7884" LastEditDate="2012-11-09T17:01:36.670" LastActivityDate="2012-11-09T17:01:36.670" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14264" PostTypeId="1" CreationDate="2012-11-09T17:14:21.890" Score="4" ViewCount="837" Body="&lt;p&gt;Path coloring is the problem of coloring a set of paths R in graph G, in such a way that any two paths of R which share an edge in G receive different colors.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We know that coloring a set of paths with the minimum number of colors is in $\sf{P}$, if the underlying graph is also a path. It is known that path coloring in trees is $\sf{NP}$-hard. There is a greedy algorithm by Raghavan and Upfal (Efficient routing in all-optical networks,  STOC 1994), which colors any set of paths of load $L$ on an undirected tree using at most $3L/2$ colors. This bound is tight, since there exists a set of undirected paths on an undirected binary tree, which requires at least $3L/2$ colors.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What are the results known for general graphs, both approximation algorithms and lower bounds?&lt;/p&gt;&#xA;" OwnerUserId="9569" LastEditorUserId="-1" LastEditDate="2012-11-11T06:49:28.640" LastActivityDate="2013-01-17T13:27:29.133" Title="Path coloring in general graphs" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;approximation-algorithms&gt;&lt;graph-colouring&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14265" PostTypeId="2" ParentId="1215" CreationDate="2012-11-09T17:31:18.623" Score="3" Body="&lt;p&gt;The Unsplittable Flow Problem. In fact UFP is hard even on a single edge (Knapsack).&lt;/p&gt;&#xA;" OwnerUserId="9569" LastActivityDate="2012-11-09T17:31:18.623" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14266" PostTypeId="1" AcceptedAnswerId="14267" CreationDate="2012-11-09T17:47:45.857" Score="24" ViewCount="3304" Body="&lt;p&gt;We know that Maximum Independent Set (MIS) is hard to approximate within a factor of $n^{1-\epsilon}$ for any $\epsilon &amp;gt; 0$ unless P = NP. What are some special classes of graphs for which better approximation algorithms are known?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What are the graphs for which polynomial-time algorithms are known? I know for perfect graphs this is known, but are there other interesting classes of graphs?&lt;/p&gt;&#xA;" OwnerUserId="9569" LastEditorUserId="-1" LastEditDate="2012-11-11T06:49:34.147" LastActivityDate="2014-01-26T18:56:41.630" Title="Approximation algorithms for Maximum Independent Set on special classes of graphs" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;approximation-algorithms&gt;" AnswerCount="5" CommentCount="1" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="14267" PostTypeId="2" ParentId="14266" CreationDate="2012-11-09T18:21:33.627" Score="19" Body="&lt;p&gt;There is a truly awesome list of all known graph classes that have some nontrivial algorithms for MIS: &lt;a href=&quot;http://www.graphclasses.org/classes/problem_Independent_set.html&quot;&gt;see this entry&lt;/a&gt; in the graph classes website. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2012-11-09T18:21:33.627" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="14268" PostTypeId="2" ParentId="1215" CreationDate="2012-11-09T19:14:00.577" Score="14" Body="&lt;p&gt;The firefighter problem has received a fair amount of attention recently, and is (somewhat surprisingly) &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0012365X0600776X&quot;&gt;NP-hard on trees of maximum degree 3&lt;/a&gt;.  It is actually a fairly natural question, described as follows:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A fire breaks out at the root of the tree (or more generally, a specified vertex in a graph).  At every step, the firefighter protects one non-burning vertex, after which time the fire spreads to every unprotected neighbour.  The process ends when there is no unprotected vertex next to the fire.  Is there a strategy for the firefighter in which at most $k$ vertices burn?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0012365X09002672&quot;&gt;Or a variant, also NP-hard&lt;/a&gt;: Is there a strategy for the firefighter in which no leaf burns?&lt;/p&gt;&#xA;" OwnerUserId="1929" LastActivityDate="2012-11-09T19:14:00.577" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14269" PostTypeId="2" ParentId="14266" CreationDate="2012-11-09T19:25:18.553" Score="12" Body="&lt;p&gt;I don't have a good overview of this problem, but I can give some examples.&#xA;A simple approximation algorithm would be to find some order of the nodes and greedily select the nodes to be in the independent set if non of its previous neighbors have been selected in the independent set.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If the graph has degeneracy $d$ then using the degeneracy ordering will give a $d$-approximation.&#xA;hence for graphs of degeneracy $n^{1-\epsilon}$ we have a good enough approximation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is a couple of other techniques for approximations that work too, but I don't know them well. See:&#xA;&lt;a href=&quot;http://en.wikipedia.org/wiki/Baker%27s_technique&quot;&gt;http://en.wikipedia.org/wiki/Baker%27s_technique&lt;/a&gt;&#xA;and&#xA;&lt;a href=&quot;http://courses.engr.illinois.edu/cs598csc/sp2011/Lectures/lecture_7.pdf&quot;&gt;http://courses.engr.illinois.edu/cs598csc/sp2011/Lectures/lecture_7.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the polynomial algorithms solving the problems exactly The link Suresh gave is the best. Which graphclasses that are more interesting is hard to say.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One class you wont find in that list is the complement of $k$-degenerate graphs.&#xA;Since max clique can be solved in $O(2^k n)$ on graphs of degeneracy $k$ see&#xA;&lt;a href=&quot;http://en.wikipedia.org/wiki/Bron%E2%80%93Kerbosch_algorithm&quot;&gt;http://en.wikipedia.org/wiki/Bron%E2%80%93Kerbosch_algorithm&lt;/a&gt; &#xA;especially the work of Eppstein.&#xA;Then Independent set is polynomial on G if the complement of G has degeneracy $O(\log n)$.&lt;/p&gt;&#xA;" OwnerUserId="8936" LastEditorUserId="8936" LastEditDate="2012-11-14T01:34:03.017" LastActivityDate="2012-11-14T01:34:03.017" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14270" PostTypeId="1" AcceptedAnswerId="14478" CreationDate="2012-11-09T19:51:12.187" Score="2" ViewCount="1666" Body="&lt;p&gt;There's the idea of quantum annealing being used to solve optimization problems in terms of a QUBO problem for D-Wave's quantum algorithm. I understand that the advantage of quantum annealing as opposed to classical simulated annealing is that quantum annealing allows the particle/search point to tunnel through high barriers with probability as a function of barrier width, instead of having to climb all the way over the barrier (which in some cases wouldn't be possible because there wouldn't be enough energy). This is my understanding from here: &lt;a href=&quot;http://en.wikipedia.org/wiki/Quantum_annealing&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/Quantum_annealing&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If quantum annealing is better than simulated annealing in this fundamental way, would it not be faster to implement QA instead of SA or GA's for solving optimization problems on a classical computer? If so, why aren't people using it? Or are they, and I'm just unaware (in which case I'd love to see references)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;D-Wave seems to be banking on the practicality of their quantum computer, not so much insane accuracy or other more &quot;scientific&quot; pursuits. If it just so happens that D-Wave's computers aren't really quantum, shouldn't we be able to find a fast classically implemented quantum annealing algorithm to compete with the quantumly implemented version also?&lt;/p&gt;&#xA;" OwnerUserId="12442" LastEditorUserId="12442" LastEditDate="2013-11-14T12:59:46.647" LastActivityDate="2013-11-14T12:59:46.647" Title="Is quantum annealing faster than simulated annealing/genetic/other state-of-the-art optimization algorithms?" Tags="&lt;quantum-computing&gt;&lt;optimization&gt;&lt;quantum-information&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14271" PostTypeId="2" ParentId="14262" CreationDate="2012-11-09T20:05:20.947" Score="4" Body="&lt;p&gt;Your question states:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;However, the instruction set as devised by Babbage seems to support only going back or jumping ahead &lt;strong&gt;one single punched card&lt;/strong&gt;.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;However, the link you supply as a reference for that says&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;The number starting in column 4 indicates how many cards are to be advanced past or backed up past the reader.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;This would seem to render your question moot.&lt;/p&gt;&#xA;" OwnerUserId="3131" LastActivityDate="2012-11-09T20:05:20.947" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14273" PostTypeId="2" ParentId="14252" CreationDate="2012-11-09T21:36:40.277" Score="3" Body="&lt;p&gt;2-colorable perfect matching in cubic planar graphs is very similar to your problem which was stated to be NP-complete by Schaefer in his famous dichotomy theorem paper although he did not give the proof for cubic planar graphs. The problem asks for the existence of two coloring of cubic planar graphs such that every vertex has exactly one neighbor of the same color as itself.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT:&#xA;Defective coloring is the decision version of your problem. A graph is (k, d)-colorable if one can color the vertices with k colors such that no vertex is adjacent to more than d vertices of its same color. The decision problem (2,1)-coloring with defects, which is equivalent to your optimization problem, was shown to be &lt;a href=&quot;http://dspace.mit.edu/bitstream/handle/1721.1/37006/33976498.pdf?sequence=1&quot; rel=&quot;nofollow&quot;&gt;NP-complete even for planar&lt;/a&gt; graphs.&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2012-11-10T15:15:47.087" LastActivityDate="2012-11-10T15:15:47.087" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="14274" PostTypeId="2" ParentId="14266" CreationDate="2012-11-09T22:12:05.310" Score="5" Body="&lt;p&gt;For the class of cubic planar graphs, this paper, An approximation algorithm for the maximum independent set problem in cubic planar graphs by Elarbi Choukhmane and John Franco, gives a polynomial time approximation algorithm. The approximation factor of their algorithm is 6/7.&lt;/p&gt;&#xA;" OwnerUserId="495" LastActivityDate="2012-11-09T22:12:05.310" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14275" PostTypeId="1" CreationDate="2012-11-09T23:42:58.397" Score="5" ViewCount="278" Body="&lt;p&gt;Would the set of all computable functions be just the set of all maps of the form &lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;f : forall n : nat, P n -&amp;gt; nat&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;where &lt;code&gt;P : nat -&amp;gt; Prop&lt;/code&gt;, and &lt;code&gt;(P n)&lt;/code&gt; has a proof whenever &lt;code&gt;(f n)&lt;/code&gt; is defined - so, &lt;code&gt;n&lt;/code&gt; is in the domain of &lt;code&gt;f&lt;/code&gt;. Is this some smaller set of maps actually computable by Coq, or is this what I want?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If not, is there an existing formalization? Using lambda calculus, or combinators K and S, or some basic concept of an algorithm?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Perhaps along with a proof of the Snm theorem - that says this set is enumerable?&lt;/p&gt;&#xA;" OwnerUserId="12443" LastEditorUserId="634" LastEditDate="2012-11-10T16:08:23.413" LastActivityDate="2012-11-10T16:08:23.413" Title="How to describe the set of &quot;all computable functions&quot; using Coq?" Tags="&lt;computability&gt;&lt;coq&gt;&lt;recursive&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14276" PostTypeId="2" ParentId="12744" CreationDate="2012-11-09T23:48:42.460" Score="3" Body="&lt;p&gt;All graphs of complexity $k$ has path-width at most $k$.&#xA;At every step the set of unused nodes is a separator separating the used nodes from those already created. So at every step, when you add a vertex, you can create a bag containing that vertex plus all unused vertices and connect the bag at the end of the path decomposition.&#xA;This will be a valid path decomposition.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Because of the &quot;which $v$ is connected&quot; in point 3 and 2 the path-width can be much smaller than $k$.&#xA;I am not sure about deciding if $G$ is a complexity $k$, but as Niel says, there must be a path cover of size k, but not only a path cover, the paths have to be induced.&#xA;And inbetween the paths we can have this zig-zag pattern.&#xA;We can in $f(k) \cdot poly(n)$ time compute an optimal path decomposition, then we can use this decomposition to do dynamic programming while keeping track of the different segments of these $k$ paths, which path they belong to and the order of segments belonging to the same path. And for each pair of segments belonging to different paths we only need to know the first and last path of the zig-zag.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Therefore I think we can decide if a graph has complexity $k$ in $f(k) \cdot poly(n)$ time.&lt;/p&gt;&#xA;" OwnerUserId="8936" LastActivityDate="2012-11-09T23:48:42.460" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14277" PostTypeId="1" AcceptedAnswerId="14313" CreationDate="2012-11-10T00:56:48.483" Score="10" ViewCount="226" Body="&lt;p&gt;Given a family $\mathcal F$ of at most $n$ subsets of $\{ 1, 2, \dots, n \}$.&#xA;The union closure $\mathcal F$ is another set family $\mathcal C$ containing every set that can be constructed by taking the union of 1 or more sets in $\mathcal F$.&#xA;By $|\mathcal C|$ we denote the number of sets in $\mathcal C$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is the fastest way to compute the union closure?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have showed a equivalence between the union closure and listing all maximal independent sets in a bipartite graph, therefore we know that deciding the size of the union closure is #P-complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However there is a way to list all maximal independent sets (or maximal cliques) in $O(|\mathcal C| \cdot nm)$ time for a graph with $n$ nodes and $m$ edges Tsukiyama et al. 1977.&#xA;But this is not specialized for bipartite graphs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We gave an algorithm for bipartite graphs with runtime $|\mathcal C| \cdot \log |\mathcal C| \cdot n^2$ &lt;a href=&quot;http://www.ii.uib.no/~martinv/Papers/BooleanWidth_I.pdf&quot; rel=&quot;nofollow&quot;&gt;http://www.ii.uib.no/~martinv/Papers/BooleanWidth_I.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Our method is based on the observation that any element in $C$ can be made by the union of some other element of $C$ and one of the original sets.&#xA;Hence we will whenever we add an element to $C$ try to expand it by one of the $n$ original sets.&#xA;For each of these $n \cdot |C|$ sets we need to check if they are still in $C$. We store $C$ as a binary search tree, so each lookup takes $\log |C| \cdot n$ time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is it possible to find the union closure $\mathcal C$ in $O(|\mathcal C| \cdot n^2)$ time?&#xA;Or even in time $O(|\mathcal C| \cdot n)$?&lt;/p&gt;&#xA;" OwnerUserId="8936" LastEditorUserId="8936" LastEditDate="2012-11-11T16:58:14.383" LastActivityDate="2012-11-13T08:45:55.043" Title="Computing the union closure" Tags="&lt;co.combinatorics&gt;&lt;graph-algorithms&gt;&lt;clique&gt;&lt;independence&gt;" AnswerCount="1" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="14278" PostTypeId="1" AcceptedAnswerId="14279" CreationDate="2012-11-10T01:15:27.087" Score="4" ViewCount="206" Body="&lt;p&gt;Consider the set $S = \{1, \dots, n\}$ and $n$ subsets $S_i \subseteq S$ of size $d$ each (think of $S_i$ as neighborhoods of vertex $i$ in some $d$-regular graph, although the graph structure is not important here). Each vertex can have label $0$ or $1$. Each set $S_i$ comes with 2 constraints: there can be at most $k_i$ zeroes in $S_i$ and at most $l_i$ ones in $S_i$ (assume that $k_i + l_i \geq d$, otherwise constraints are clearly inconsistent). The problem - is it possible to check in time $\mathrm{poly}(n)$ (with fixed $d$) whether this constraint problem is satisfiable by at least one labelling of vertices?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It smells like something NP-hard, but I don't see an obvious reduction e.g. from $d-SAT$ since it's not clear you can implement negation by only this type of constraints.&lt;/p&gt;&#xA;" OwnerUserId="2083" LastEditorUserId="-1" LastEditDate="2012-11-11T06:49:31.497" LastActivityDate="2012-11-11T06:49:31.497" Title="Constraint satisfaction problem on a graph" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;&lt;sat&gt;&lt;csp&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14279" PostTypeId="2" ParentId="14278" CreationDate="2012-11-10T01:25:37.550" Score="9" Body="&lt;p&gt;1 in 3 Sat reduces to this problem.&#xA;&lt;a href=&quot;http://en.wikipedia.org/wiki/One-in-three_3SAT&quot;&gt;http://en.wikipedia.org/wiki/One-in-three_3SAT&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Set d=3, each k_i = 2 and each l_i=1&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To implement negation add $x,\overline{x},a$ and $x,\overline{x},b$ and $a,b,c$.&#xA;The only possible assignment is a=0,b=0 and c=1, so $x$ and $\overline{x}$ must be different.&lt;/p&gt;&#xA;" OwnerUserId="8936" LastEditorUserId="8936" LastEditDate="2012-11-10T01:41:21.993" LastActivityDate="2012-11-10T01:41:21.993" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14280" PostTypeId="1" CreationDate="2012-11-10T03:37:55.127" Score="4" ViewCount="229" Body="&lt;p&gt;In &quot;The Similarity Metric&quot; (Li, Vitanyi, et. al) they define a normalized distance (or similarity distance) as a function $\Omega \times \Omega \to [0,1]$ which is both symmetric and satisfies the density requirement for every $x \in \Omega$ and every constant $c \in [0,1]$:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\displaystyle |\left \{ y : d(x,y) \leq c \right \}| &amp;lt; 2^{cK(x)+1}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;They give a somewhat convoluted example of a normalized version of the Hamming distance which satisfies this definition, and they prove that their normalized information distance satisfies this definition as well.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is not at all clear to me that this definition represents a wide variety of &quot;distance&quot; measurements. Their conclusion is that because the normalized information distance is universal in this class of metrics, it is philosophically universal in all metrics we care about. But it's not even obvious to me that Euclidean distance (restricted to $\left \{0,1\right \}^n$) can be modified to satisfy this definition. That's not even close to mentioning distance measures for, say, language sentiment or other distances used in applications.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It would be great if we could say, for instance, that every computable metric has a normalized version which satisfies this definition. Is this known? If not, what is known?  &lt;/p&gt;&#xA;" OwnerUserId="7091" LastEditorUserId="7091" LastEditDate="2012-11-10T19:16:21.363" LastActivityDate="2014-11-24T16:20:48.473" Title="Is &quot;normalized distance&quot; (as per Li &amp; Vitanyi, Kolmogorov Complexity) a reasonable thing?" Tags="&lt;it.information-theory&gt;&lt;kolmogorov-complexity&gt;&lt;metrics&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14281" PostTypeId="2" ParentId="14275" CreationDate="2012-11-10T11:06:09.980" Score="2" Body="&lt;p&gt;The usual definition of partial recursive functions using Turing machines and classical logic (with a few novelties) has been implemented in Coq: see &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Zammit, Vincent (1997) &lt;a href=&quot;http://kar.kent.ac.uk/21524/&quot; rel=&quot;nofollow&quot;&gt;A Proof of the S-m-n theorem in Coq&lt;/a&gt;. Technical report. University of Kent, The University of Kent, Canterbury, Kent, UK&lt;/p&gt;&#xA;" OwnerUserId="636" LastActivityDate="2012-11-10T11:06:09.980" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14283" PostTypeId="2" ParentId="14135" CreationDate="2012-11-10T20:24:08.277" Score="2" Body="&lt;p&gt;I am not sure I understand the problem correctly, but let me try a definition:&#xA;Given a graph and an integer k.&#xA;Find the subset $S$ of $k+1$ vertices with max sum of weights such that $S$ induces a connected graph (i.e. there is a tree with k edges spanning $S$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This sounds to me like the Steiner tree problem&#xA;&lt;a href=&quot;http://en.wikipedia.org/wiki/Steiner_tree_problem&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/Steiner_tree_problem&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The steiner tree problem gives as input a graph, a set of terminals and asks for a set of edges from the graph (i.e. a tree) that connects all terminals.&#xA;The goal is to minimize the sum of the edge weights.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Gary and Johnson showed this NP-complete, I believe even for all edge weights 1.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Give the terminals a high weight such that any solution would need to take all terminals.&#xA;The rest of the vertices gets weight 1. Since a tree always has 1 edge less than number of nodes the question is find a set of nodes such that all terminals will be connected.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hence your problem is NP-complete.&#xA;Much work has been done on approximation, there has been comparison of different implementations. I seem to remember there was a DIMACS challenge on the Steiner tree problem.&lt;/p&gt;&#xA;" OwnerUserId="8936" LastEditorUserId="8936" LastEditDate="2012-11-10T22:41:19.823" LastActivityDate="2012-11-10T22:41:19.823" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="14284" PostTypeId="1" AcceptedAnswerId="14286" CreationDate="2012-11-10T21:13:34.043" Score="8" ViewCount="343" Body="&lt;p&gt;Are there any known (non-trivial) bounds (combinatorial in nature, based on poly-time computable properties of a graph) on the third, down to the smallest, eigenvalue of an (un-weighted) adjacency matrix? For example we know that the largest eigenvalue admits the following bounds&#xA;$$\max(\sqrt{d_{\max}}, d_{\text{ave}})\le \lambda_{\max}=\lambda_1 \le d_{\max}$$&#xA;Anything of the above flavor for $\lambda_i$, $i\ge 3$?&#xA;(Given that these can be negative, (lower) bounding $|\lambda_i|$ might seem more appealing.)&lt;/p&gt;&#xA;" OwnerUserId="6963" LastEditorUserId="-1" LastEditDate="2012-11-11T06:49:37.020" LastActivityDate="2012-11-11T15:09:04.097" Title="Bounds on the smaller eigenvalues of the adjacency matrix of a graph" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;spectral-graph-theory&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14285" PostTypeId="2" ParentId="11498" CreationDate="2012-11-11T10:28:20.840" Score="0" Body="&lt;p&gt;As long as you can, in polynomial time in number of elements, check whether a set H of elements is a hitting set and if not, find one base that is not hit, then the problem falls into the realm of the &lt;em&gt;Implicit Hitting Set&lt;/em&gt; problems. See &lt;a href=&quot;http://arxiv.org/abs/1102.1472&quot; rel=&quot;nofollow&quot;&gt;the following paper&lt;/a&gt; for algorithms and discussions. &lt;/p&gt;&#xA;" OwnerUserId="317" LastActivityDate="2012-11-11T10:28:20.840" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14286" PostTypeId="2" ParentId="14284" CreationDate="2012-11-11T14:40:46.077" Score="7" Body="&lt;p&gt;You might like this recent paper: &lt;a href=&quot;http://arxiv.org/abs/1211.0589v1&quot;&gt;http://arxiv.org/abs/1211.0589v1&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The paper shows, e.g., that &quot;&lt;em&gt;for any finite graph with $n$ vertices and all $k ≥ 2$, the&#xA;$k$th largest eigenvalue&lt;/em&gt;&quot; of the graph's Laplacian, i.e. $L=I-A/d$, &quot;&lt;em&gt;is at most $1−\Omega(\frac{k^3}{n^3})$&lt;/em&gt;&quot;, where $A$ is the adjacency matrix and $d$ a bound on the degree.&lt;/p&gt;&#xA;" OwnerUserId="121" LastEditorUserId="121" LastEditDate="2012-11-11T15:09:04.097" LastActivityDate="2012-11-11T15:09:04.097" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14287" PostTypeId="1" CreationDate="2012-11-11T17:03:59.873" Score="11" ViewCount="694" Body="&lt;p&gt;I am interested in the question of whether NP is equal to coNP or not. I'd much appreciate some advice on good publications to read on the topic.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the record, I know that this question is intimately connected to the question of whether P equals NP or not (such that if NP != coNP then P != NP).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Cheers,&#xA;Derek&lt;/p&gt;&#xA;" OwnerUserId="10870" LastEditorUserId="80" LastEditDate="2012-11-11T17:59:47.803" LastActivityDate="2012-11-12T23:06:51.663" Title="Recent publications on NP ?= coNP question" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;p-vs-np&gt;" AnswerCount="3" CommentCount="1" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="14289" PostTypeId="1" AcceptedAnswerId="14290" CreationDate="2012-11-12T07:02:15.477" Score="22" ViewCount="1020" Body="&lt;p&gt;Is there a useful description of &lt;a href=&quot;http://en.wikipedia.org/wiki/Futures_and_promises&quot;&gt;futures or promises&lt;/a&gt; in terms of category theory? In particular, what could the categorical dual of Future be?&lt;/p&gt;&#xA;" OwnerUserId="1336" LastEditorUserId="-1" LastEditDate="2012-11-17T07:44:22.060" LastActivityDate="2012-11-17T07:44:22.060" Title="How are Futures described in terms of category theory?" Tags="&lt;pl.programming-languages&gt;&lt;ct.category-theory&gt;&lt;concurrency&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="14290" PostTypeId="2" ParentId="14289" CreationDate="2012-11-12T08:04:10.023" Score="25" Body="&lt;p&gt;As it happens, I'm writing a paper about this now. IMO, a good way to think about futures or promises is in terms of the Curry-Howard correspondence for &lt;a href=&quot;http://en.wikipedia.org/wiki/Temporal_logic&quot;&gt;temporal logic&lt;/a&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Basically, the idea behind futures is that it is a data structure representing a computation that is in progress, and upon which you can synchronize. In terms of temporal logic, this is the eventually operator $\Diamond A$. This has a monadic structure:&#xA;$$&#xA;\begin{array}{lcl}&#xA;\mathrm{return} &amp;amp; : &amp;amp; A \to \Diamond A \\&#xA;\mathrm{bind} &amp;amp; : &amp;amp; (A \to \Diamond{B}) \to \Diamond{A} \to \Diamond{B}&#xA;\end{array}&#xA;$$&#xA;in which the $\mathrm{return}$ operation spawns a process that immediately returns its argument, and $\mathrm{bind}$ creates a new process which waits for $a$'s value, applies $f$ to that value, and then waits for the $B$-value before returning. The &lt;a href=&quot;http://wiki.commonjs.org/wiki/Promises/A&quot;&gt;Promises/A proposal for CommonJS&lt;/a&gt; calls the monadic bind  operation &lt;code&gt;then&lt;/code&gt;, and &lt;a href=&quot;http://docs.scala-lang.org/sips/pending/futures-promises.html&quot;&gt;Scala 2.10 just gives it the standard monadic interface&lt;/a&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The dual to the eventually operator $\Diamond{A}$ is the always operator $\Box{A}$ of temporal logic, which says that at every instant, you get an $A$. When you pass from a Kripke semantics of temporal logic (where you just model provability) to a categorial semantics of a $\lambda$-calculus (where you model lambda-terms/proofs also), it turns out there are actually multiple ways to do this.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The simplest thing you can do is to take $\Box{A} \triangleq A$, on the grounds that once you have an $A$, you always have it. This works, but is kind of boring, IMO. :) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The most natural (IMO) thing to do is to take $\Box{A} \triangleq \mathsf{Stream}\;A$, which permits you to get a (potentially different) $A$ at each instant. Then, you can see the comonadic style of functional  reactive programming (FRP) (first proposed by &lt;a href=&quot;http://cs.ioc.ee/~tarmo/papers/essence.pdf&quot;&gt;Tarmo Uustalu and Varmo Vene&lt;/a&gt;) as the dual to monadic style of programming with futures. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, the comonadic $\lambda$-calculus as they suggest, despite its elegance, causes a serious loss of expressiveness relative to programming explicitly with streams, since the category of free coalgebras they use turns out to have too few global elements to denote many interesting programs, especially fixed points.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Nick Benton and I have argued for programming explicitly with streams in our paper &lt;a href=&quot;http://www.cs.cmu.edu/~neelk/frp-lics11.pdf&quot;&gt;&lt;em&gt;Ultrametric Semantics of Reactive Programs&lt;/em&gt;&lt;/a&gt;. Subsequently, Alan Jeffrey suggested using LTL as a type system in his paper &lt;a href=&quot;http://ect.bell-labs.com/who/ajeffrey/papers/plpv12.pdf&quot;&gt;&lt;em&gt;LTL types FRP&lt;/em&gt;&lt;/a&gt;, an observation that Wolfgang Jeltsch also made in his paper &lt;a href=&quot;http://www.ioc.ee/~wolfgang/research/mfps-2012-paper.pdf&quot;&gt;&lt;em&gt;Towards a Common Categorical Semantics for Linear-Time Temporal Logic and Functional Reactive Programming&lt;/em&gt;&lt;/a&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The difference between the view Nick and I take, and the one that Alan and Wolfgang take is best understood (IMO) by comparing the construction given in Birkedal et al.'s &lt;a href=&quot;http://www.itu.dk/~birkedal/papers/sgdt-journal.pdf&quot;&gt;&lt;em&gt;First steps in synthetic guarded domain theory: step-indexing in the topos of trees&lt;/em&gt;&lt;/a&gt; with Alan's paper. The topos of trees (presheaves over the natural numbers ordered by size) is very similar to category of ultrametric spaces Nick and I used, but much easier to compare with  Alan's category (presheaves over a discrete category of time), since these are both presheaf categories. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you're interested in futures specifically for concurrency, then it might be a better idea to look at &lt;a href=&quot;http://en.wikipedia.org/wiki/Computation_tree_logic&quot;&gt;CTL&lt;/a&gt; rather than LTL, though. AFAIK, that's presently unexplored territory! &lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT: here's a &lt;a href=&quot;http://www.mpi-sws.org/~neelk/simple-frp.pdf&quot;&gt;link to the draft&lt;/a&gt;. The paper is mostly about implementing typed FRP, so the language is synchronous. But most of the discussion of futures/events in section 3.3 should basically apply to truly concurrent languages as well. &lt;/p&gt;&#xA;" OwnerUserId="657" LastEditorUserId="657" LastEditDate="2012-11-14T13:21:50.867" LastActivityDate="2012-11-14T13:21:50.867" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="14293" PostTypeId="1" AcceptedAnswerId="14303" CreationDate="2012-11-12T11:43:19.763" Score="0" ViewCount="132" Body="&lt;p&gt;I am formalizing the type system for a small language, and thus writing inference rules.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Taking &lt;code&gt;unary - operator&lt;/code&gt; for example, its entry may be a number as well as an array of number, thus there is an overloading: $-^1$ and $-^a$. Two of their typing rules are $-^1: \text{Integer} \rightarrow \text{Integer}$, and $-^a: \text{Integer Array} \rightarrow \text{Integer Array}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Actually there are a lot of operators like &lt;code&gt;unary - operator&lt;/code&gt;, which can take one element as well as an array of elements as entry. I just don't know how to generalize this formalization.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For instance, when I introduce the typing rules for &lt;code&gt;FACT&lt;/code&gt; operator, one of its rule is $\text{FACT}^1: \text{Integer} \rightarrow \text{Integer}$. I just would like to say $\text{FACT}^a$ exists, and follows &quot;the map of type&quot; logic as $-^a$. Does anyone know how to formalize that elegantly?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Going further for arithmetic binary operators, one rule is $\text{+}^1: \text{Integer} \rightarrow \text{Integer} \rightarrow \text{Integer}$, how could I say $\text{+}^a$ exists, and follows &quot;a map of type&quot; logic, which implies naturally that $\text{+}^a: \text{Integer Array} \rightarrow \text{Integer Array} \rightarrow \text{Integer Array}$?&lt;/p&gt;&#xA;" OwnerUserId="4923" LastEditorUserId="-1" LastEditDate="2012-11-17T07:44:11.950" LastActivityDate="2012-11-17T07:44:11.950" Title="How to generalize a map of type for many operators?" Tags="&lt;lo.logic&gt;&lt;pl.programming-languages&gt;&lt;type-theory&gt;&lt;type-systems&gt;&lt;type-inference&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14295" PostTypeId="1" CreationDate="2012-11-12T00:27:00.753" Score="2" ViewCount="70" Body="&lt;p&gt;Given a graph &lt;strong&gt;G(V,E)&lt;/strong&gt; and a vertex &lt;strong&gt;v&lt;/strong&gt;, how do i find all the vertices that are reachable via simple paths ( no vertex on the path repeats) of length exactly &lt;strong&gt;k&lt;/strong&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Powers of adjacency matrix gives the number of paths between vertices but it includes non simple paths.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is this problem solvable in polynomial time ? If not are there any known approximation algorithms. Any pointers to literature would be great.&lt;/p&gt;&#xA;" OwnerUserId="9574" OwnerDisplayName="Graddy" LastActivityDate="2012-11-12T14:06:27.140" Title="Vertices that are K away" Tags="&lt;graph-algorithms&gt;" AnswerCount="0" CommentCount="6" ClosedDate="2012-11-12T18:46:09.817" ContentLicense="CC BY-SA 3.0" />
  <row Id="14298" PostTypeId="2" ParentId="135" CreationDate="2012-11-12T14:27:17.183" Score="1" Body="&lt;p&gt;I will try to answer this old question of yours, although I am not sure my answer is conclusive but it should point you in the right direction.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First let us discuss linear clique-width.&#xA;If a graph has linear clique-width $k$, and one add $1$ vertex to the graph, that vertex can always be placed first in the ordering with a unique color.&#xA;Hence linear clique-width only increases by at most 1 when you add a vertex.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Gurski and Wanke showed in &quot;On the relationship between NLC-width and linear NLC-width&quot; that cographs have unbounded linear clique-width.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since cographs have unbounded linear clique-width but bounded clique-width any good clique decomposition must have a tree structure.&#xA;We must show that we can force arbitrarily many deep branches. &#xA;Now we do as we do for trees, construct a tree with at 2^k leaves add k vertices and each leaf is connected to a unique subset of new vertices.&lt;/p&gt;&#xA;" OwnerUserId="8936" LastActivityDate="2012-11-12T14:27:17.183" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14299" PostTypeId="1" AcceptedAnswerId="14368" CreationDate="2012-11-12T16:18:44.990" Score="16" ViewCount="785" Body="&lt;p&gt;We say that a Boolean function $f: \{0,1\}^n \to \{0,1\}$ is a $k$-junta if $f$ has at most $k$ influencing variables.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $f: \{0,1\}^n \to \{0,1\}$ be a $2k$-junta. Denote the variables of $f$ by $x_1, x_2, \ldots, x_n$. Fix &#xA;$$S_1 = \left\{ x_1, x_2, \ldots, x_{\frac{n}{2}} \right\},\quad S_2 = \left\{ x_{\frac{n}{2} + 1}, x_{\frac{n}{2} + 2}, \ldots, x_n \right\}.$$&#xA;Clearly, there exists $S \in \{S_1, S_2\}$ such that $S$ contains at least $k$ of the influencing variables of $f$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now let $\epsilon &amp;gt; 0$, and assume that $f: \{0,1\}^n \to \{0,1\}$ is $\epsilon$-far from every $2k$-junta (i.e., one has to change a fraction of at least $\epsilon$ of the values of $f$ in order to make it a $2k$-junta). Can we make a &quot;robust&quot; version of the statement above? That is, is there a universal constant $c$, and a set $S \in \{S_1, S_2\}$ such that $f$ is $\frac{\epsilon}{c}$-far from every function that contains at most $k$ influencing variables in $S$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Note: In the original formulation of the question, $c$ was fixed as $2$. Neal's example shows that such value of $c$ does not suffice. However, since in property testing we are usually not too concerned with constants, I relaxed the condition a bit.&lt;/em&gt;&lt;/p&gt;&#xA;" OwnerDisplayName="user887" LastEditorDisplayName="user887" LastEditDate="2012-11-18T17:21:00.793" LastActivityDate="2012-11-19T16:06:14.663" Title="Robustness of splitting a junta" Tags="&lt;co.combinatorics&gt;&lt;boolean-functions&gt;&lt;fourier-analysis&gt;&lt;property-testing&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14300" PostTypeId="1" AcceptedAnswerId="14315" CreationDate="2012-11-12T16:53:34.890" Score="1" ViewCount="166" Body="&lt;p&gt;I write paper and I want to distinguish between the class of decision problems which can be decided in polynomial time and the class functions which can be computed in polynomial time. &#xA;The first is just written as $\mathrm{P}$ or $\mathrm{PTIME}$, right? Can the latter be denoted as $m^{\mathcal{O}(1)}$ or is this a confusing definition?&lt;/p&gt;&#xA;" OwnerUserId="7594" LastEditorUserId="186" LastEditDate="2012-11-12T18:59:03.207" LastActivityDate="2012-11-13T13:56:50.827" Title="Set of functions computable in polynomial time" Tags="&lt;cc.complexity-theory&gt;&lt;terminology&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="14301" PostTypeId="2" ParentId="14287" CreationDate="2012-11-12T17:03:36.800" Score="2" Body="&lt;p&gt;(it is not always pointed out that &lt;a href=&quot;http://en.wikipedia.org/wiki/CoNP&quot; rel=&quot;nofollow&quot;&gt;coNP&lt;/a&gt; $\neq$ NP $\rightarrow$ P $\neq$ NP; this is because P is closed under complementation. dont see even Wikipedia currently stating that clearly.)&#xA;have not heard of even an older survey that focuses on the NP $\stackrel{?}{=}$ coNP question in particular, it may be that its perceived as presumably tightly coupled to, or &quot;at least as hard&quot; as P $\stackrel{?}{=}$ NP. the subj is touched on in some P vs NP surveys, &amp;amp; eg some mention of coNP in Allender 2009 [2]. as for recent nearby/related results try [1]:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.121.4503&quot; rel=&quot;nofollow&quot;&gt;NP-Hard Sets are Exponentially Dense Unless coNP ⊆ NP/poly &lt;/a&gt; by Harry Buhrman, John M. Hitchcock &#xA; (2008)  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] &lt;a href=&quot;http://ftp.cs.rutgers.edu/pub/allender/advances.in.computing.pdf&quot; rel=&quot;nofollow&quot;&gt;A status report on the P vs NP question&lt;/a&gt; Allender (2009)  &lt;/p&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="7884" LastEditDate="2012-11-12T17:20:43.987" LastActivityDate="2012-11-12T17:20:43.987" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="14302" PostTypeId="1" AcceptedAnswerId="14318" CreationDate="2012-11-12T17:20:58.480" Score="3" ViewCount="173" Body="&lt;p&gt;Given an undirected graph $G = (V,E)$ and an integer $k &amp;gt; 0$, our objective is to find a subgraph $G' = (V ,E')$ where $E' \subseteq E$ such that $G'$ has the three following properties :  &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$G'$ is connected. (property $p _1$: connected)&lt;/li&gt;&#xA;&lt;li&gt;The vertices of $G'$ are divided into two disjoint subsets $S$ and $T$ ($S \cup T = V$). &lt;/li&gt;&#xA;&lt;li&gt;No pair of nodes in $S$ are neighbors in $G'$. The same applies for $T$. (property $p _2$ bipartite). [Note that they can be neighbors in $G$ - but we then eliminate the edge between them when constructing $G'$]&lt;/li&gt;&#xA;&lt;li&gt;The nodes in $S$ are degree limited. (property $p _3$ call it outdegree bounded)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The problem seems to be NP-Complete, but I found no solution so far. &lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Here are some of my observations: &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;essentially, we are looking for a connected subgraph $G'$ that contains a dominating set $S$ such that every node in $S$ in $G'$ is degree limited to $k$. [and we need to know $S$ too]. [and no pair of nodes in $S$ are neighbors in $G'$] &lt;/li&gt;&#xA;&lt;li&gt;$G'$ with $p _1$ and $p _2$ is easily obtained with a rooted spanning tree algorithm + 2-coloring of tree. &lt;/li&gt;&#xA;&lt;li&gt;$G'$ with $p _1$ and $p _3$ is easily obtained with a rooted spanning tree algorithm + every node in the tree points to its parent. &lt;/li&gt;&#xA;&lt;li&gt;$G'$ with $p_2$ and $p_3$ is trivial, (note that we are looking for any subgraph with the required properties!) &lt;/li&gt;&#xA;&lt;li&gt;A close problem to this is the bounded degree spanning tree problem [proven to be NP-Complete with a reduction to Hamiltonian path] &lt;/li&gt;&#xA;&lt;li&gt;I see the problem sometimes as a set cover problem. Find any set cover $C$ + restrict the size of each set in $C$ to at most $k$ while keeping the coverage  and connectivity properties. [I did not know how to use this observation though] &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;PS:  I am trying to forget it but it always come back to my mind&lt;/p&gt;&#xA;" OwnerUserId="5411" LastEditorUserId="-1" LastEditDate="2012-11-17T07:51:52.830" LastActivityDate="2012-11-17T07:51:52.830" Title="bounded outdegree bipartite spanners" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;&lt;graph-colouring&gt;&lt;set-cover&gt;&lt;bounded-degree&gt;" AnswerCount="1" CommentCount="7" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14303" PostTypeId="2" ParentId="14293" CreationDate="2012-11-12T17:29:04.590" Score="3" Body="&lt;p&gt;The way Haskell solves this problem is through &lt;em&gt;Type Classes&lt;/em&gt; (see &lt;a href=&quot;http://homepages.inf.ed.ac.uk/wadler/topics/type-classes.html&quot; rel=&quot;nofollow&quot;&gt;these papers&lt;/a&gt; for an overview). The idea is that it is not the $\_^{-1}$ operation that is special; it is the $\mathrm{\bf Array}$ type! To this end, you can define a (statically) overloaded method $map$ which works on each such type. In Haskell:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;class Mappable m where&#xA;  map : (a -&amp;gt; b) -&amp;gt; (m a -&amp;gt; m b)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Then you can instantiate this for arrays (in pseudo-Haskell):&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;instance Mappable Array where&#xA;  map f v = [f(v[i]) | i in (index v)]&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;By the way, this class exists and is widely used in Haskell, it goes by the name &lt;em&gt;Functor&lt;/em&gt; (and $map$ is $fmap$ for some reason).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This solves the problem for unary operators. For binary operators, or more generally, $n$-ary operators, things get a tiny bit trickier: in this case, you need to figure out what you mean. Do you want the sum of all pairs of numbers in each array, or just the &quot;fusion&quot; of the arrays by the operation sum? I suspect you mean the latter. The way to solve this problem is by another Type Class named $\mathrm{\bf Applicative}$. The definition is&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;class Applicative m where&#xA;  pure  :: a -&amp;gt; m a&#xA;  fusion :: m (a -&amp;gt; b) -&amp;gt; m a -&amp;gt; m b&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;and&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;instance Applicative Array where&#xA;  pure x = [x]&#xA;  fusion fs v = [fs[i](v[i]) | i in index v]&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;The idea is that you can use map to &quot;build up&quot; arrays of partially applied functions, and then use fusion to apply that array of functions to an array of arguments. In the case of $+$ you can just write&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;fusion (map + [1;2;3]) [4;5;6]&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;to get what you want. I agree that this is ugly, which is why Haskell has the notation&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;+ &amp;lt;$&amp;gt; [1;2;3] &amp;lt;*&amp;gt; [4;5;6]&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;The beauty is that you can iterate this as many times as you want if your function takes more arguments. For example $\mathrm{rem\_mod}$ that computes the remainder of a number $n$ divided by $m$ modulo $r$ of type&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;rem_mod : Int -&amp;gt; Int -&amp;gt; Int&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;can be lifted:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;rem_mod &amp;lt;$&amp;gt; [1;2;3] &amp;lt;*&amp;gt; [4;5;6] &amp;lt;*&amp;gt; [7;8;9]&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;You can find more details &lt;a href=&quot;http://en.wikibooks.org/wiki/Haskell/Applicative_Functors&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;. Finally, I suspect you want to be able to &lt;em&gt;infer&lt;/em&gt; the places in which to insert the $\mathrm{pure}$, $\mathrm{map}$ and $\mathrm{fusion}$ methods. It may be possible to adapt the type-class resolution mechanism to your purposes, but I don't guarantee you can do this without additional restrictions.&lt;/p&gt;&#xA;" OwnerUserId="3984" LastActivityDate="2012-11-12T17:29:04.590" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14304" PostTypeId="2" ParentId="14287" CreationDate="2012-11-12T17:43:19.387" Score="10" Body="&lt;p&gt;NP is equal to coNP if and only if there are efficiently verifiable proofs of unsatisfiability. I.e., if and only if there exists a polynomial time turing machine $M$, which given any SAT formula $\phi$ and a string $\pi$ outputs $M(\phi, \pi) = 1$ if and only if $\phi$ is unsatisfiable. Most theorists believe there are no such efficient proofs, but proving that they don't exist would resolve the P vs NP question. However, there has been progress in showing that proofs of a restricted type must necessarily be superpolynomial in size. This is the subject of proof complexity: see the &lt;a href=&quot;http://www.cs.toronto.edu/~sacook/homepage/cook_reckhow.pdf&quot;&gt;foundational paper&lt;/a&gt; by Cook and Reckhow, the  &lt;a href=&quot;http://www.karlin.mff.cuni.cz/~krajicek/ecm.pdf&quot;&gt;survey&lt;/a&gt; by Krajicek, or these &lt;a href=&quot;http://people.cs.uchicago.edu/~razborov/teaching/winter09/notes.pdf&quot;&gt;lecture notes&lt;/a&gt; by Razborov.&lt;/p&gt;&#xA;" OwnerUserId="4896" LastActivityDate="2012-11-12T17:43:19.387" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14305" PostTypeId="1" AcceptedAnswerId="14306" CreationDate="2012-11-12T17:44:54.590" Score="6" ViewCount="281" Body="&lt;p&gt;The name &lt;a href=&quot;https://en.wikipedia.org/wiki/Coroutine&quot; rel=&quot;nofollow&quot;&gt;&lt;em&gt;coroutine&lt;/em&gt;&lt;/a&gt; suggests that in some sense they should be dual to (sub)routines. Is there a real mathematical duality? I'm hoping for something like &quot;in category theory subroutines are X and coroutines are Y, where X is dual to Y&quot;.&lt;/p&gt;&#xA;" OwnerUserId="10336" LastEditorUserId="-1" LastEditDate="2012-11-17T07:52:03.750" LastActivityDate="2012-11-17T07:52:03.750" Title="In what sense are coroutines dual to (sub)routines?" Tags="&lt;pl.programming-languages&gt;&lt;ct.category-theory&gt;" AnswerCount="1" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="14306" PostTypeId="2" ParentId="14305" CreationDate="2012-11-12T18:43:51.367" Score="11" Body="&lt;p&gt;I think this a misanalysis of the &quot;co&quot; prefix in this case.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&quot;Coroutine&quot; is &quot;co&quot; in the sense of &quot;co-worker&quot;; something that works together with another.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The term precedes by a long way the gross overuse for programming concepts of the prefix &quot;co&quot; in the Category Theoretic sense of a dual of another concept.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Yes, there is editorial content there. ;-) ) &lt;/p&gt;&#xA;" OwnerUserId="629" LastActivityDate="2012-11-12T18:43:51.367" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14307" PostTypeId="2" ParentId="14287" CreationDate="2012-11-12T19:08:51.237" Score="7" Body="&lt;p&gt;As implied by @Sasho's answer, you will have more luck if you search for the equivalent question of &quot;existence of a super propositional proof system&quot; than directly for &quot;$\mathsf{NP}$ vs. $\mathsf{coNP}$&quot;. It is the central question of propositional proof complexity. A large portion of the area has been on proving super-polynomial lower-bounds for particular proof systems (in classical complexity theory terms, proving that some particular non-deterministic algorithms cannot solve $\mathsf{coNP}$ problems in polynomial time).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Sam Buss has a nice recent article which is readable by general-audience. You may want to check it:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Samuel Buss, &quot;&lt;a href=&quot;http://www.math.ucsd.edu/~sbuss/ResearchWeb/lfcsSurvey/&quot; rel=&quot;nofollow&quot;&gt;Towards NP-P via Proof Complexity and Search&lt;/a&gt;&quot;, APAL, 2012.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2012-11-12T23:06:51.663" LastActivityDate="2012-11-12T23:06:51.663" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14309" PostTypeId="1" CreationDate="2012-11-12T21:37:23.353" Score="20" ViewCount="762" Body="&lt;p&gt;Accoring to &lt;a href=&quot;http://rjlipton.wordpress.com/2012/07/02/connect-the-stars/&quot;&gt;K. W. Regan's article &quot;Connect the Stars&quot;&lt;/a&gt;, he mentions at the end that it is still an open problem to find a representation of integers such that the addition, multiplication, and comparision operations are computable in linear time:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Does there exist a representation of integers so that addition, multiplication, and comparison are all doable in linear time? Basically, is there a linear time discretely ordered ring?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;(1)  How close can we come to linear time multiplication and addition, without compares?  Here I assume that the problem sizes may vary, so that we may need a data structure/algorithm that allows for changing integer sizes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(2)  For the complete problem, we can assume that we will find an optimum scheme for multiply, add, and compare on the integers.  How close can we get the slowest of these three operations (in the worst case) towards linear time?  And on that note, how fast would the other operations be?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;FORMAL PROBLEM STATEMENT&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As Emil Jeřábek mentions, we'd like to rule out trivial cases and concentrate on worst case behavior for this question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So we ask, for non-negative integers $\forall x$ and $\forall y$ where $0 \le x &amp;lt; n$ and $0 \le y &amp;lt; n$, can we find a data structure/algorithm that can perform addition, multiplication, and compares with\between $x$ and $y$ in $O(n \log{(n)})$ time and $O(\log^2{(n)})$ space?&lt;/p&gt;&#xA;" OwnerUserId="1549" LastEditorUserId="1549" LastEditDate="2012-11-14T15:12:05.743" LastActivityDate="2012-11-16T09:02:42.347" Title="How close can we get to linear multiply, add, and compare (on integers)?" Tags="&lt;ds.algorithms&gt;&lt;ds.data-structures&gt;&lt;worst-case&gt;" AnswerCount="1" CommentCount="12" FavoriteCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="14310" PostTypeId="1" CreationDate="2012-11-13T01:58:32.993" Score="0" ViewCount="67" Body="&lt;p&gt;This is a problem I ran across recently while trying to schedule classes which I thought might be interesting theoretically.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given &lt;code&gt;k&lt;/code&gt; golfers who want to play on &lt;code&gt;m&lt;/code&gt; courts for &lt;code&gt;n&lt;/code&gt; weeks, is it possible to arrange groups of golfers of fixed size &lt;code&gt;s&lt;/code&gt; (where &lt;code&gt;s&lt;/code&gt; can possibly be smaller than &lt;code&gt;m/k&lt;/code&gt;) such that every golfer plays on every court, and every golfer plays every week?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm actually trying to solve this for k=24, m=n=7, s=6&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there an equivalent or similar problem I should look at?  Is there a way to solve this for small &lt;code&gt;n&lt;/code&gt; so I can get my personal version done in time for the classes?&lt;/p&gt;&#xA;" OwnerUserId="48" LastActivityDate="2012-11-13T01:58:32.993" Title="Variation on Social Golfers" Tags="&lt;co.combinatorics&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="14311" PostTypeId="2" ParentId="5117" CreationDate="2012-11-13T06:24:54.840" Score="2" Body="&lt;p&gt;This very theorem is a worked example (see Example 11) in the tutorial included with my DC Proof 2.0 software. Download it free of charge at my website &lt;a href=&quot;http://www.dcproof.com&quot; rel=&quot;nofollow&quot;&gt;http://www.dcproof.com&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="12470" LastActivityDate="2012-11-13T06:24:54.840" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="14312" PostTypeId="2" ParentId="12532" CreationDate="2012-11-13T07:52:37.543" Score="4" Body="&lt;p&gt;Thank you for a great question! I am looking into papers on related subjects myself--I'll post anything worthwhile that I come across, and would appreciate if you would do the same. = ) Off the top of my head, you might be interested in &lt;a href=&quot;http://www.leancop.de/ileantap/&quot; rel=&quot;nofollow&quot;&gt;ileanTAP, a Prolog theorem prover for intuitionistic logic&lt;/a&gt; (includes a short paper). Just so the term is not left undefined:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Intuitionistic logic, or constructive logic, is a symbolic logic system&#xA;  differing from classical logic in its definition of the meaning of a statement &#xA;  being true. In classical logic, all well-formed statements are assumed to be &#xA;  either true or false, even if we do not have a proof of either. In constructive&#xA;  logic, a statement is 'only true' if there is a constructive proof that it is&#xA;  true, and 'only false' if there is a constructive proof that it is false.&#xA;  Operations in constructive logic preserve justification, rather than truth. (Wikipedia)&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Have you read &lt;a href=&quot;http://en.wikipedia.org/wiki/Paradigm_shift#Kuhnian_paradigm_shifts&quot; rel=&quot;nofollow&quot;&gt;Kuhn on scientific paradigm shifts&lt;/a&gt;? The problem you have described is generally applicable to all of science: theories (and coherent theoretical domains) are abstracted axiomatic systems, and updating a scientific domain (as opposed to &quot;filling out the missing bits&quot; by using what's already established as &quot;axioms&quot;) requires switching from one isomorphic system to another (two systems are isomorphic if they have identical or similar outputs for some narrow set of parameters, e.g. Newtonian physics and GR).&lt;/p&gt;&#xA;" OwnerUserId="12438" LastEditorUserId="12438" LastEditDate="2012-11-13T08:21:52.790" LastActivityDate="2012-11-13T08:21:52.790" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14313" PostTypeId="2" ParentId="14277" CreationDate="2012-11-13T08:45:55.043" Score="3" Body="&lt;p&gt;The complexity of enumerating maximal independent sets in graphs is the same as in bipartite graphs, so bipartiteness does not bring anything new. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;You have an algorithm (with exponential space) in $O(|C|\cdot n^2)$, but no polynomial space algorithm that acheives this time complexity is known. The following paper &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0166218X08004563&quot; rel=&quot;nofollow&quot;&gt;http://www.sciencedirect.com/science/article/pii/S0166218X08004563&lt;/a&gt; is a good survey. &lt;/p&gt;&#xA;" OwnerUserId="4854" LastActivityDate="2012-11-13T08:45:55.043" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14314" PostTypeId="2" ParentId="14046" CreationDate="2012-11-13T09:04:04.713" Score="6" Body="&lt;p&gt;This is a very vast topic. For nonlinear optimization &lt;a href=&quot;http://www.athenasc.com/nonlinbook.html&quot;&gt;the book by Bertsekas&lt;/a&gt; is a standard reference. For convex optimization you should look at &lt;a href=&quot;http://www.stanford.edu/~boyd/cvxbook/&quot;&gt;Boyd and Vandenberghe&lt;/a&gt;. For linear programming, &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0471982326&quot;&gt;the book by Schrijver&lt;/a&gt; is a reasonable (but dense) source. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;But you should also look at course material. Each of the authors mentioned above also has course material/lecture slides that might be useful. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2012-11-13T09:04:04.713" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14315" PostTypeId="2" ParentId="14300" CreationDate="2012-11-13T13:56:50.827" Score="8" Body="&lt;p&gt;The notation $m^{O(1)}$  just denotes the set of functions of polynomial growth rate, so that would be indeed confusing. The class of functions computable in polynomial time is usually denoted $\mathsf{FP}$.&lt;/p&gt;&#xA;" OwnerUserId="6579" LastActivityDate="2012-11-13T13:56:50.827" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14317" PostTypeId="2" ParentId="14266" CreationDate="2012-11-13T19:06:02.933" Score="4" Body="&lt;p&gt;I haven't checked the  answers above, so my apologies if there is an overlap. Here is a special case where you can solve it exactly in polynomial time. If your graph G is a &lt;a href=&quot;http://en.wikipedia.org/wiki/Line_graph&quot; rel=&quot;nofollow&quot;&gt;line graph&lt;/a&gt;, then run a polynomial time &lt;a href=&quot;http://dx.doi.org/10.1016/0020-0190%2873%2990029-X&quot; rel=&quot;nofollow&quot;&gt;algorithm&lt;/a&gt; to find the root graph H, and then find a maximum matching in H. &lt;/p&gt;&#xA;" OwnerUserId="1491" LastActivityDate="2012-11-13T19:06:02.933" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14318" PostTypeId="2" ParentId="14302" CreationDate="2012-11-14T00:17:41.337" Score="3" Body="&lt;p&gt;Perhaps this is a possible weird reduction from 3SAT. The idea is to use the set $S$ with restricted degree to simulate a true/false assignment to the variables using their odd/even distance from the clauses that contain them.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a 3CNF formula with $n$ variables; let $c$ be the maximum among the number of occurrences of the variables in the clauses, and let $k = c+2$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Build $G$ in the following way:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;add a source node $s^T$ linked with $k+1$ nodes of degree 1 (a &quot;fan&quot;);&lt;/li&gt;&#xA;&lt;li&gt;for every variable $x_i$ add a triangle made of three nodes $\{x_i^S,x_i^+,x_i^-\}$ and edges $(x_i^S,x_i^+)$ (left side), $(x_i^S,x_i^-)$ (base), $(x_i^+,x_i^-)$ (right side);&lt;/li&gt;&#xA;&lt;li&gt;add edges from $s^T$ to every $x_i^S$;&lt;/li&gt;&#xA;&lt;li&gt;add $k-2$ fan nodes to $x_i^S$;&lt;/li&gt;&#xA;&lt;li&gt;for every clause $C_j$ add a node $C_j^T$ linked with $k+1$ fan nodes of degree 1;&lt;/li&gt;&#xA;&lt;li&gt;if positive variable $x_k \in C_j$ then add a direct link from $C_j^T$ to $x_k^-$; if negative variable $\bar{x}_k \in C_j$ then add a link from $C^T_j$ to $x_k^-$ with an intermediate node $z_{jk}$&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The resulting graph $G$ has a connected, bipartite subgraph ($S\cup T=V$) in which the nodes of only one of the two set (suppose $S$) has max dregree $k$ if and only if the original 3CNF formula is satisfiable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First of all the fan of the source node $s^T$ forces it to be in the unrestricted set $T$; and the fan of every clause $C_j^T$ forces it to be in $T$, too. Furthermore all nodes $x_i^S$ connected to $s^T$ are forced in the set $S$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, for every variable, only one among $x_i^+, x_i^-$ can be put in $T$ (traverse the base of the triangle or pass through its vertice) because $x_i^S$ is in $S$ and its $k-2$ fan nodes must be connected, so we must drop edge $(x_i^S,x_i^+)$ or edge $(x_i^S,x_i^-)$). Suppose we choose $x_i^+$, and drop the edge $(x_i^S,x_i^-)$; hence $x_i^-$ falls in $S$, and we can use the edges from it&#xA;to safely connect (satisfy) all the clauses (&lt;em&gt;all&lt;/em&gt; because $k=c+2$) that contain $x_i$ and are directly connected to $x_i^-$, but not the clauses that are connected through $z_{ij}$ (which must be in $T$) because in that case $C_j^T$ would fall in $S$. Similarly, if we choose to put $x_i^-$ in $T$ then we can conect all the clauses that contain $\bar{x}_i$ (through $z_{ij}$ which now is in $S$). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;At the end the graph $G$ is connected only if every clause contains at least one variable made true by the assignment.&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2012-11-14T00:27:54.777" LastActivityDate="2012-11-14T00:27:54.777" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="14319" PostTypeId="1" AcceptedAnswerId="14423" CreationDate="2012-11-14T03:12:38.637" Score="25" ViewCount="4452" Body="&lt;p&gt;There is clearly a reduction from CLIQUE to k-Color because they're both NP-Complete. In fact, I can construct one by composing a reduction from CLIQUE to 3-SAT with a reduction from 3-SAT to k-Color. What I'm wondering is whether there is a reasonable direct reduction between these problems. Say, a reduction that I could explain to a friend fairly briefly without needing to describe an intermediate language like SAT.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As an example of what I'm looking for, here's a direct reduction in the reverse direction: Given G with $n$ and some $k$ (the number of colors), make a graph G' with $kn$ vertices (one per color per vertex). The vertices $v'$, $u'$ corresponding to vertices $v, u$ and colors $c, d$ respectively are adjacent if and only if $v \neq u$ and ($c \neq d$ or $vu \not \in G$). An $n$-clique in $G'$ has only one vertex per vertex in $G$, and the corresponding colors are a proper $k$-coloring of $G$. Similarly, any proper $k$-coloring of $G$ has a corresponding clique in $G'$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit&lt;/strong&gt;: To add some brief motivation, Karp's &lt;a href=&quot;http://www.cs.berkeley.edu/~luca/cs172/karp.pdf&quot;&gt;original 21 problems&lt;/a&gt; are proved NP-Complete by a tree of reductions where CLIQUE and Chromatic Number form the roots of major subtrees. There are some natural reductions between problems in the the CLIQUE subtree and the Chromatic Number subtree, but many of them are just as hard to find as the one I'm asking about. I'm trying to drill down on whether the structure of this tree shows some underlying structure in the other problems or if it is entirely a consequence of which reductions were found first, since there is less motivation to search for reductions between two problems when they are known to be in the same complexity class. Certainly the order had some influence, and parts of the tree can be rearranged, but can it be rearranged arbitrarily?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit 2&lt;/strong&gt;: I continue to search for a direct reduction, but here is a sketch of the closest I've gotten (it should be a valid reduction, but has CIRCUIT SAT as a clear intermediary; it's somewhat subjective whether this is any better than composing two reductions as alluded to in the first paragraph).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given $G, k$, we know that $\overline{G}$ can be $n-k+1$-colored with $k$ vertices all colored True iff $G$ has a $k$-clique. We name the original vertices of $G$ $v_1, \ldots, v_n$ and then add to $\overline G$ additional vertices: $C_{ij}$ with $1 \le i \le n$, $0 \le j \le k$. The key invariant will be that $C_{ij}$ can be colored True if and only if among vertices $\{v_1,\ldots, v_i\}$ there are at least $j$ vertices colored True. So, each $C_{i0}$ can be True. Then, $C_{ij}$ for $j &amp;gt; 0$ gets the color $C_{(i-1)j} \vee C_{(i-1)(j-1)} \wedge v_i$ where all non-true colors are treated as false. There is a $k$-clique in $G$ iff $C_{nk}$ can be colored True, so if we force that coloring, the new graph is colorable iff there was a $k$-clique in the original graph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The AND and OR gadgets to enforce the relationships are much like the reduction from CIRCUIT SAT to 3-COLOR, but here we include a $K_{n-k+1}$ in our graph, pick vertices T, F, and Ground, and then connect all others to everything but the $v_i$s; this assure that the $C_{ij}$s and the other gadgets receive only 3 colors.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Anyway, the $\overline G$ part of this reduction feels direct, but the use of AND/OR gates is much less direct. The question remains, is there a more elegant reduction?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit 3&lt;/strong&gt;: There have been a few comments about why this reduction would be hard to find. CLIQUE and k-Color are indeed quite different problems. Even without a reduction, though, an answer that details why the reduction is hard in the one direction but possible in the other would be very helpful and contribute a lot to the problem.&lt;/p&gt;&#xA;" OwnerUserId="12483" LastEditorUserId="12483" LastEditDate="2012-11-19T20:17:45.770" LastActivityDate="2012-11-21T21:17:07.690" Title="Natural CLIQUE to k-Color reduction" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;&lt;np-hardness&gt;&lt;reductions&gt;" AnswerCount="2" CommentCount="6" FavoriteCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="14320" PostTypeId="1" AcceptedAnswerId="14327" CreationDate="2012-11-14T03:19:35.303" Score="16" ViewCount="406" Body="&lt;p&gt;I am reading the classic &quot;Hardness vs Randomness&quot; by Nisan and Wigderson.  Let $B=\{0,1\}$, and fix a function $l\colon \mathbb{N} \to \mathbb{N}$.  They define a family of functions $G = \{G_n : B^{l(n)} \to B^n\}$ to be &lt;strong&gt;pseudorandom&lt;/strong&gt; in case for every circuit of size $n$ we have&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$(*) \ \ | P(C(x) = 1) - P(C(G(y))=1) | &amp;lt; 1/n$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(where $x \in B^{n},y \in B^{l(n)}$ are uniform random variables).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I understand that I am to think of $x$ and $y$ as random variables, and that I want to compare the distance between $x$ and $G(y)$ as random variables.  I get the intuition that circuits are being used as sort of &quot;tests&quot; in to see if $G$ can be &quot;figured out.&quot;  What I am really struggling with is why the condition $(*)$ is the right one.  Does anyone have any advice on how to think of this definition?&lt;/p&gt;&#xA;" OwnerUserId="12484" LastEditorUserId="-1" LastEditDate="2012-11-17T07:52:01.270" LastActivityDate="2012-11-17T07:52:01.270" Title="What is the motivation behind the definition of pseudorandom in Nisan/Wigderson?" Tags="&lt;cr.crypto-security&gt;&lt;pseudorandomness&gt;&lt;pseudorandom-generators&gt;&lt;security&gt;" AnswerCount="3" CommentCount="2" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="14321" PostTypeId="2" ParentId="14320" CreationDate="2012-11-14T04:19:53.130" Score="4" Body="&lt;p&gt;I am by no means an expert on this, but a key component of the definition of pseudorandomness (as opposed to attempts to define randomness) is that the goal of something &quot;pseudorandom&quot; is to fool a circuit. In other words, the motivation is to think of the pseudorandom string being supplied to the circuit instead of the truly random string. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In that sense, it's not really that you're trying to pretend that $x$ and $G(y)$ &quot;look the same&quot;. It's that they &quot;look the same&quot; &lt;em&gt;to a circuit&lt;/em&gt; (of necessarily bounded complexity). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;So the role of the circuit is crucial, as opposed to merely being a &quot;test function&quot;. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2012-11-14T04:19:53.130" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14322" PostTypeId="2" ParentId="14320" CreationDate="2012-11-14T09:08:12.790" Score="2" Body="&lt;p&gt;Hopefully, I can expand just a little on Suresh's response.&#xA;First, I don't think that the strictness of the inequality is needed in your $(*)$, and I am also not sure why $1/n$ is needed, and not $1/2n$ or something else.  However, practically, I think 1/n is enough to get some interesting theoretical results.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But then you almost certainly want to assert that each $G_i$ is computable in some amount of time, say exponential.  Further, I think you will have to assert that $l(n) &amp;lt; n$. You can think of $l(n)$ as the seed length.  Thus $G_i$ is pseudorandom if it can increase the number of bits in a random string of length $l(n)$ without being detected by a circuit of size less than $n$.&lt;/p&gt;&#xA;" OwnerUserId="9969" LastActivityDate="2012-11-14T09:08:12.790" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14323" PostTypeId="1" AcceptedAnswerId="14324" CreationDate="2012-11-14T12:09:00.130" Score="-1" ViewCount="1162" Body="&lt;p&gt;We have a spellchecker software. And one of it crucial parts is hypothesis generator which use &lt;a href=&quot;http://en.wikipedia.org/wiki/Levenshtein_distance&quot; rel=&quot;nofollow&quot;&gt;Levenshtein distance&lt;/a&gt; as a measure of distance between words. The problem with Levenshtein distance is that it's not so easy to calculate (from application performance point of view), so we are came up with an idea to use &lt;a href=&quot;http://en.wikipedia.org/wiki/Hamming_distance&quot; rel=&quot;nofollow&quot;&gt;Hamming distance&lt;/a&gt; as a fast reject algorithm for candidates.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So I interested in formal proof of the following statement: suppose you have two strings of equal length. Is it right that Levenshtein distance between them is no more that Hamming distance?&lt;/p&gt;&#xA;" OwnerUserId="12488" LastEditorUserId="-1" LastEditDate="2012-11-17T07:52:09.210" LastActivityDate="2015-03-24T12:54:40.863" Title="How can I prove that Hamming distance is upper bound for Levenshtein distance?" Tags="&lt;it.information-theory&gt;&lt;application-of-theory&gt;" AnswerCount="2" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="14324" PostTypeId="2" ParentId="14323" CreationDate="2012-11-14T13:12:14.427" Score="4" Body="&lt;p&gt;Homework, I bet.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose $a$ and $b$ are strings of equal length with Hamming distance $k$. This means the strings differ in $k$ places, say $a_{i_1} \neq b_{i_1}$, ..., $a_{i_k} \neq b_{i_k}$. It takes $k$ edits to change $a$ into $b$, namely replacement of the characters $a_{i_1}, \ldots, a_{i_k}$ by the corresponding $b_{i_1}, \ldots, b_{i_k}$. Therefore the Levenshtein distance between $a$ and $b$ is no more than $k$. But it could be smaller than $k$, of course (consider &lt;code&gt;abcdef&lt;/code&gt; and &lt;code&gt;bcdefg&lt;/code&gt;).&lt;/p&gt;&#xA;" OwnerUserId="705" LastEditorUserId="705" LastEditDate="2015-03-24T12:54:40.863" LastActivityDate="2015-03-24T12:54:40.863" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="14325" PostTypeId="2" ParentId="14240" CreationDate="2012-11-14T13:50:02.057" Score="6" Body="&lt;p&gt;&lt;strong&gt;Short answer:&lt;/strong&gt; no.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Long answer:&lt;/strong&gt; No, because the synthesis problem is in general undecidable once you allow for a modest amount of expressive power in the assertions (pre- and post-conditions).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The specification for your synthesizer $S$ would look something like this. Its type would be $S:\mathit{Assn}^2\rightarrow\mathit{Prog}$, that is, given two assertions (a pre- and a post condition) it would return a program. Its functionality would be given by $\{\phi\}S(\phi,\psi)\{\psi\}$, for all $\phi,\psi\in\mathit{Assn}$. I understand your question as &quot;is $S$ computable?&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Before we need to get technical, note that we've been a bit sloppy. $S$ can hardly be a total function for we could feed it an infeasible spec such at $[\mathit{true},\mathit{false}]$. Consequently, the best we could hope for is a partial function that works for all implementable specifications.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To answer the refined question we need to answer another first.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;What expressive power would we need in the assertion language?&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Firstly, assuming that we're living in a simple world where we only deal with integers, we require the usual operations from integer arithmetic.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Secondly, we need a mechanism to refer in the post-condition to the value of a program variable in the pre-condition. Without such a mechanism, we cannot even specify an increment-by-one function. Various such mechanisms exist. Let us here use one borrowed from the Z specification language: in the post-condition primed occurrences $x'$ of a variable $x$ refer to its value after the program has terminated whereas unprimed occurrences denote its value in the pre-condition. With this convention the increment-$x$-by-one function is specified by $[true,x'=x+1]$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thirdly, we'd also want quantifiers so we can at least specify simple examples such as&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;a primality checker&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;$[x &amp;gt; 0, x=x'\land(p\Leftrightarrow x&amp;gt;1\land\forall k(k&amp;gt;1\land \exists j(kj=x)\Rightarrow k=x))]$, and&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;a sorter that takes arrays of arbitrary size as inputs&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;$[\mathit{true},\mathit{length}(a)=\mathit{length}(a')\land\mathit{elements}(a)=\mathit{elements}(a')\land\forall i(1\leq i &amp;lt;\mathit{length}(a')\Rightarrow a'[i]\leq a'[i+1])]$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;With those ingredients, we have quite some power at our disposal, too much as it turns out. Even the domain of $S$ is undecidable because we would need to say whether a spec $[\mathit{true},\phi]$ is implementable or not, for &lt;em&gt;arbitrary formulas $\phi$ of Peano arithmetic&lt;/em&gt;, before worrying about how to synthesize implementations. But that is already undecidable.&lt;/p&gt;&#xA;" OwnerUserId="3552" LastActivityDate="2012-11-14T13:50:02.057" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14326" PostTypeId="2" ParentId="14250" CreationDate="2012-11-14T17:07:29.153" Score="0" Body="&lt;p&gt;This is a really interesting question. I cannot see a way to use the prime&#xA;factorisations of integers to speed up comparison w.r.t. &amp;lt;, =, &gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here&#xA;is my intuition about why it should be difficult to relate&#xA;factorisation with &amp;lt;, = and &gt;: the prime factorisation is about the multiplicative &#xA;structure of the integers, while &amp;lt; and &gt; are additive things. &#xA;Maybe looking at the definition of &amp;lt; in Peano arithmetic makes this clearer: the definition of &amp;lt; is given by (among others) the following clauses.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;$\forall x.x &amp;lt; x+1$ &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;$\forall xy. x &amp;lt; y \Rightarrow x+1 &amp;lt; y+1$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;What's relevant here is the base case (1). Translated&#xA;into prime factorisation, it says that you need to know something about&#xA;the factorisations of $x+1$ and $y+1$ from the &#xA;factorisations of $x$ and $y$. However, as far as I'm aware the &#xA;factorisations of $x$ and $x+1$ are essentially unrelated.&lt;/p&gt;&#xA;" OwnerUserId="898" LastEditorUserId="898" LastEditDate="2012-11-14T19:44:30.057" LastActivityDate="2012-11-14T19:44:30.057" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14327" PostTypeId="2" ParentId="14320" CreationDate="2012-11-14T18:23:43.850" Score="21" Body="&lt;p&gt;There are two aspect that need to be mentioned.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The first is the general idea of defining a PRG by having its output look different than uniform &lt;em&gt;to small circuits&lt;/em&gt;. This idea goes back to Yao and is really the strongest possible definition you can ask for when aiming explicitly at pseudo-randomness for &lt;em&gt;computationally-bounded&lt;/em&gt; observers.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The second aspect is the choice of parameters where we limit the circuit size to be $n$ and the acceptance probability difference to be $1/n$, where $n$ is also the PRG output size. This choice is somewhat different than the usual crypto one where the circuit size is $poly(n)$ and the probability difference is required to be smaller than any $poly(n)$.  In our case specific parameters (rather than $poly(n)$) were needed as to get the tightest results including, in particular polynomial simulations.  While in principle one could have 3 different parameters, it turned out that our results had these working essentially in the same way so we folded them to a single one (in addition to the input size $l(n)$ which was viewed as a function of $n$).&lt;/p&gt;&#xA;" OwnerUserId="42" LastActivityDate="2012-11-14T18:23:43.850" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14328" PostTypeId="1" CreationDate="2012-11-14T19:26:25.617" Score="21" ViewCount="1129" Body="&lt;p&gt;We all know that element distinctness in the comparison based model cannot be done in $o(n\log n)$ time. However, on a word-RAM, one can possibly achieve better.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course, if one assumes the existence of a perfect hash function that can be computed in linear time, we get a linear time algorithm for element distinctness: just keep hashing the numbers one by one and return 1 if there is a collision.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, there are two issues: 1) most constructions of perfect hash functions that I could find used randomness and 2) I cannot find a discussion of the pre-processing time anywhere, i.e., the time required to decide what hash function one is going to use based on the input set of numbers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Fredman et al.'s &quot;&lt;a href=&quot;http://dl.acm.org/citation.cfm?id=1884&amp;amp;bnc=1&quot; rel=&quot;nofollow&quot;&gt;Storing a sparse table with $O(1)$ worst case access time&lt;/a&gt;&quot; does resolve the first issue by providing a hash function with $O(1)$ access time in the worst case, but says nothing about the second issue.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So to sum up, here's what I want:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Design an algorithm that given a set $S$ of $n$ numbers (each number being $w$ bits long) on a word-RAM with word length $w$, finds a hash function $h:S\rightarrow \{1, \ldots , m\}$ in $O(n)$ time, where $m = O(n)$. The function $h$ should have the property that for any $j \in \{1, \ldots , m\}$, the number of elements of $S$ that map to $j$ is a constant &lt;em&gt;and&lt;/em&gt; computing $h(i)$ should take $O(1)$ time in a &quot;reasonable&quot; word-RAM model, i.e., the model should not allow &quot;exotic&quot; functions on words to be evaluated in $O(1)$ time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I will also like to know if there are algorithms to solve element distinctness on the word-RAM that do not use hash functions at all.&lt;/p&gt;&#xA;" OwnerUserId="262" LastEditorUserId="191" LastEditDate="2013-03-25T08:49:43.887" LastActivityDate="2013-03-25T08:49:43.887" Title="Element distinctness in O(n) time?" Tags="&lt;ds.algorithms&gt;" AnswerCount="2" CommentCount="4" FavoriteCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="14329" PostTypeId="1" CreationDate="2012-11-14T19:36:26.450" Score="6" ViewCount="526" Body="&lt;p&gt;I know some schemes to compute &lt;a href=&quot;http://en.wikipedia.org/wiki/Power_sum_symmetric_polynomial&quot; rel=&quot;nofollow&quot;&gt;power sums&lt;/a&gt; (I mean $1^k + 2^k + ... + n^k$) (here I assume that every integer multiplication can be done in $O(1)$ time for simplicity): one using just fast algorithm for computing $n^k$ in $O(\lg k)$ and it's overall time is $O(n \lg k)$, the other, using &lt;a href=&quot;http://en.wikipedia.org/wiki/Bernoulli_number&quot; rel=&quot;nofollow&quot;&gt;Bernoulli numbers&lt;/a&gt;, can be implemented in $O(k^2)$. And the most complicated works in $O(n \lg \lg n + n \lg k / \lg n)$ - it uses somewhat like sieve of Eratosthenes. (Don't know if it's well-known, I came up with this by myself, so if it not well-known, I can explain how to do it)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Every of this 3 algorithms, but the first, has it's own pros and cons, for example for every $k = n^{O(1)}$ the last algorithm works in $O(n \lg \lg n)$ time, while first in runs $O(n \lg n)$ and second is even worse. When $k = o(\sqrt{n \lg \lg n})$ second algorithm performs better than others.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;So my question is: if there exists some more efficient algorithms? (Like in previous problems, I am not merely interested in asymptotics in $n$, but in $k$ too)&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thank you very much!&lt;/p&gt;&#xA;" OwnerUserId="7612" LastEditorUserId="7612" LastEditDate="2012-11-17T19:42:28.997" LastActivityDate="2012-11-20T23:12:09.247" Title="Computing power sums" Tags="&lt;ds.algorithms&gt;&lt;co.combinatorics&gt;&lt;universal-computation&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14332" PostTypeId="2" ParentId="14309" CreationDate="2012-11-15T14:15:47.180" Score="14" Body="&lt;p&gt;Probably not the best answer, but perhaps this is a useful starting point. If we wish to represent a non-negative integer, we can store it as a set of residues modulo sequential prime numbers starting from 2. In this form comparison is potentially hard, but multiplication and addition can be done pretty quickly. The product of the first $n$ primes is &lt;a href=&quot;https://math.stackexchange.com/questions/156509/product-of-all-prime-numbers-upto-some-prime-p&quot;&gt;approximated&lt;/a&gt; by $$p_n\# =\exp((1+\mathcal{o}(1) )n\log n).$$&#xA;Hence to represent an integer $N$ you require residues modulo the first $n$ primes, where $N&amp;lt;\exp((1+\mathcal{o}(1) )n\log n)$. Since we can represent any $N&amp;lt;p_n\#$ using residues modulo the first $n$ prime residues, we can take $n \log n \propto \log(N)$. Addition and multiplication can be done directly between pairs of residues. There are $n$ such pairs, with the maximum prime being around $n\log(n)$. Thus addition should be in $O(n\log\log(N))$, while multiplication via Schonhage-Strassen should be in $O(n\log\log(N)\log\log\log\log(N)\log\log\log(N))$. Since $n \log n \propto \log N$, then a rough approximation gives $n$ in $O(\log N/\log\log N)$. This would give the complexity of addition and multiplication as approximately $O(\log N)$ and $O(\log N \log\log\log N \log\log\log\log N)$.&lt;/p&gt;&#xA;" OwnerUserId="204" LastEditorUserId="-1" LastEditDate="2017-04-13T12:19:19.363" LastActivityDate="2012-11-16T09:02:42.347" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="14336" PostTypeId="1" CreationDate="2012-11-15T21:59:49.233" Score="2" ViewCount="154" Body="&lt;p&gt;I'm wondering if someone can point me towards understanding this problem better. Suppose I have the graph $G = \{V,E\}$ with vertices $v \in V$ and directed edges $e_{i,j} \in E$. Each node has an &quot;in-flow&quot; and an &quot;out-flow&quot; from and to its neighbor nodes respectively.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Each edge $e_{i,j}$ represents a traffic out-flow from $i$ to $j$. For example, an edge weight of $50$ might mean that 50 cars traveled on that road (in the specific direction represented by the edge). Suppose that I know the flow for each road (in other words, I know all the edge weights). I am interested in calculating the following quantity:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I want to know the number of cars that traveled from $i \rightarrow j \rightarrow k$. So of all the cars that traveled from $i \rightarrow j$, I want to know the number of cars that also traveled from $j \rightarrow k$. Can this problem be solved?  Could we add certain assumptions to make the problem feasible?  For example, if I assume that the net flow at each node is 0, in other words, $\sum_j e_{i,j} = \sum_j e_{j,i}$ (a circulation).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here's an example graph that my problem might have. Can I calculate the number of cars that traveled from $1$ to $2$ and then to $4$? What modifications can I possibly make to be able to do this? This graph is simplified and the general case is a little more complicated to describe here.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/b7PbH.jpg&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/uDiKp.jpg&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we consider only the path $1 \rightarrow 2 \rightarrow 4$ then of the 10 cars that travel from $1 \rightarrow 2$, let $x_1$ go back from $2 \rightarrow 1$ and the remaining $x_2$ go from $2 \rightarrow 4$. Similarly, of the 3 cars going from $4 \rightarrow 2$, let $y_1$ go back from $2 \rightarrow 4$ and the remaining $y_2$ go from $2 \rightarrow 1$. The total flow from $2 \rightarrow 1$ and $2 \rightarrow 4$ is the sum of the constituent flows as contributed from node $1$ and node $4$. We can then setup the following equations:&#xA;$$ x_1 + x_2 = 10, \\ y_1 + y_2 = 3, \\ x_1 + y_2 = 5, \\ x_2 + y_1 = 8, \\ x_1, x_2, y_1, y_2 \geq 0.$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This system of equations has many feasible points. Anybody see some constraints etc. that I can add to make the solution unique ?&lt;/p&gt;&#xA;" OwnerUserId="8119" LastEditorUserId="-1" LastEditDate="2012-11-24T07:32:51.863" LastActivityDate="2012-11-24T07:32:51.863" Title="Decomposing Graph Flow (Solution exists?)" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;network-modeling&gt;&lt;ni.networking-internet&gt;" AnswerCount="0" CommentCount="4" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="14337" PostTypeId="1" AcceptedAnswerId="14338" CreationDate="2012-11-15T22:29:20.060" Score="9" ViewCount="852" Body="&lt;p&gt;&lt;a href=&quot;http://spin.atomicobject.com/2012/11/11/unifying-programming-and-math-the-dependent-type-revolution/&quot;&gt;This post&lt;/a&gt; refers to the &lt;a href=&quot;http://en.wikipedia.org/wiki/Curry%E2%80%93Howard_correspondence&quot;&gt;Curry-Howard isomorphism&lt;/a&gt; and the &lt;a href=&quot;http://en.wikipedia.org/wiki/Martin-L%C3%B6f_type_theory&quot;&gt;Martin-Löf Type Theory&lt;/a&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The post makes the claim of a future 'unification' between the the describing language of math, and the operation based language of computer programming. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;My questions are:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Will these ideas lead to a better ability (through languages) to write provably correct code?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Have the full implications of MLTT been discovered on a theoretical level?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Does this post describe anything could couldn't already do in COQ or Agda?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="608" LastEditorUserId="-1" LastEditDate="2012-11-17T07:51:58.540" LastActivityDate="2012-11-17T07:51:58.540" Title="Will Martin-Löf Type Theory lead to a greater ability to write provably correct code?" Tags="&lt;lo.logic&gt;&lt;pl.programming-languages&gt;&lt;type-theory&gt;&lt;automated-theorem-proving&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14338" PostTypeId="2" ParentId="14337" CreationDate="2012-11-16T04:04:34.077" Score="10" Body="&lt;p&gt;I don't think your question is particularly well posed. It mostly asks for opinions. Here are mine:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Yes.&lt;/li&gt;&#xA;&lt;li&gt;I do not know what you mean, but the answer is probably &quot;there is more MLTT theory to be done, although we do know a lot&quot;.&lt;/li&gt;&#xA;&lt;li&gt;You cannot do all of homotopy type theory in Coq and Agda. This is an active area of research.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="705" LastActivityDate="2012-11-16T04:04:34.077" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="14339" PostTypeId="5" CreationDate="2012-11-16T07:57:56.993" Score="0" Body="" OwnerUserId="-1" LastEditorUserId="-1" LastEditDate="2012-11-16T07:57:56.993" LastActivityDate="2012-11-16T07:57:56.993" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14340" PostTypeId="4" CreationDate="2012-11-16T07:57:56.993" Score="0" Body="Refers to Curry–Howard correspondence. It is the relationship between computer programs and proofs, a generalization of a syntactic analogy between systems of formal logic and computational calculi." OwnerUserId="2167" LastEditorUserId="2167" LastEditDate="2012-11-16T08:33:12.253" LastActivityDate="2012-11-16T08:33:12.253" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14342" PostTypeId="1" CreationDate="2012-11-16T14:13:56.830" Score="2" ViewCount="162" Body="&lt;p&gt;I have a special variant of BinPack problem.&#xA;Does anyone know &lt;strong&gt;how to reduce this problem&lt;/strong&gt; to something known?&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;The problem:&#xA;There are items $I$ and bins $B$ in specific quantity and size.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$|I| ∈ ℕ, |B| ∈ ℕ$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$s : (I ∪ B) → ℕ$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The sum of all item-sizes is &lt;strong&gt;not less than&lt;/strong&gt; the sum of all bin-sizes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$∑ _{i∈I} s(i) ≥ ∑ _{b∈B} s(b)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Each bin has to be filled with items or &lt;strong&gt;parts of items&lt;/strong&gt; so that it is filled completely. $s(b,i)$ is the size of that part of $i$ that is in $b$, or $0$ iff not.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$∀ b ∈ B, i ∈ I: s(b,i) ∈ ℕ ∪ \{0\}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$∀ i ∈ I: ∑ _{b∈B} s(b,i) ≤ s(i)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$∀ b ∈ B: ∑ _{i∈I} s(b,i) ≥ s(b)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The goal is to minimize the &lt;strong&gt;number of item-parts&lt;/strong&gt; used to fill all bins.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$numparts = |\{ (b,i) ∈ B×I\ |\ s(b,i)&amp;gt;0 \}|$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$minimize\ numparts$&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Example 1:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$I=[100,5]$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$B=[10,10,7]$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$allparts=[10,10,7,73,5]$ after partitioning the first item&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$usedparts=[10,10,7]$ because we do not need the other parts anymore&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$numparts=3$&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Example 2:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$I=[8,14,5]$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$B=[10,10,7]$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$allparts=[8,10,2,2,5]$ after partitioning the second item&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$usedparts=[8,2,10,5,2]$ because we need all to fill the bins&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$numparts=5$&lt;/p&gt;&#xA;" OwnerUserId="2117" LastEditorUserId="2117" LastEditDate="2012-11-29T14:59:34.553" LastActivityDate="2012-11-29T14:59:34.553" Title="How can I reduce this kind of BinPack algorithm? (&quot;MinBreak-BinFill&quot;)" Tags="&lt;ds.algorithms&gt;&lt;approximation-algorithms&gt;&lt;packing&gt;" AnswerCount="1" CommentCount="8" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14343" PostTypeId="1" CreationDate="2012-11-16T17:48:49.430" Score="17" ViewCount="711" Body="&lt;p&gt;What is the best deterministic result for maintaining the dynamic transitive closure in a directed graph with only edge insertion?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I read some papers on the dynamic transitive closure problem with both edge insertion and deletion. However, is there any better algorithms for that with only edge insertion?&lt;/p&gt;&#xA;" OwnerUserId="12512" LastEditorUserId="-1" LastEditDate="2012-11-17T07:52:06.370" LastActivityDate="2013-01-12T08:09:01.767" Title="What is the fastest deterministic algorithm for dynamic digraph reachability with no edge deletion?" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;dynamic-algorithms&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="14345" PostTypeId="1" CreationDate="2012-11-16T20:58:08.540" Score="7" ViewCount="278" Body="&lt;p&gt;In &quot;The Similarity Metric&quot; Li, et al give the first definition of the normalized information distance as &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\displaystyle d(x,y) = \frac{\max \left \{ K(x|y^*), K(y|x^*) \right \}}{\max \left \{ K(x), K(y) \right \}}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where $x^*$ is the shortest program outputting $x$. I.e. $K(x) = |x^*|$. In most future papers they drop the star notation, turning the metric into &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\displaystyle d(x,y) = \frac{\max \left \{ K(x|y), K(y|x) \right \}}{\max \left \{ K(x), K(y) \right \}}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm unclear on the relationship between the two quantities $K(x|y^*)$ and $K(x|y)$. It seems to me that the former is quite different from the latter, as the latter is providing both $y$ and $K(y)$ as an input to the program computing $x$. However, I can't find any justification as to how these metrics are the same (up to whatever sufficiently sloppy additive precision you like). Could someone point me to an explanation or a reference that clarifies this?&lt;/p&gt;&#xA;" OwnerUserId="7091" LastEditorUserId="80" LastEditDate="2012-11-16T22:34:37.087" LastActivityDate="2012-11-30T18:26:26.183" Title="Conditional Kolmogorov Complexity: $K(y|x^*)$ vs $K(y|x)$" Tags="&lt;it.information-theory&gt;&lt;kolmogorov-complexity&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="14347" PostTypeId="1" AcceptedAnswerId="14751" CreationDate="2012-11-17T00:05:07.517" Score="4" ViewCount="210" Body="&lt;p&gt;${\sf UP}$ is defined in terms of unambiguous-SAT which asks if there exits at most one solution or no solution. On the other hand, ${\sf US}$ is defined in terms of unique-SAT which asks if there exists exactly one solution. I would like to know whether it is known that they are Turing equivalent, ${\sf P^{UP}}={\sf P^{US}}$. Any references would be appreciated. &lt;/p&gt;&#xA;" OwnerDisplayName="user12514" LastEditorUserId="80" LastEditDate="2012-12-17T08:12:40.983" LastActivityDate="2012-12-17T08:13:49.457" Title="Is semantic language complexity class UP Turing equivalent to syntactic language complexity class US?" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;complexity-classes&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14349" PostTypeId="1" AcceptedAnswerId="14355" CreationDate="2012-11-17T10:15:11.233" Score="8" ViewCount="395" Body="&lt;p&gt;I'm reading &lt;a href=&quot;http://or.journal.informs.org/content/38/4/624.abstract&quot; rel=&quot;nofollow&quot;&gt;Efficient Shortest Path Simplex Algorithms&lt;/a&gt; by Donald Goldfarb, Jianxiu Hao and Shen-Roan Kai who considered  &quot;the specialization of the primal simplex algorithm to the problem of finding a tree of directed shortest paths from a given node to all other nodes in a network of n nodes or finding a directed cycle of negative length. Two efficient variants of this shortest path simplex algorithm are analyzed and shown to require at most $(n − 1)(n − 2)/2$ pivots and $O(n^3)$ time.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm trying to find motivation for this article and wonder isn't Bellman-Ford algorithm good enough? It works in $O(nm)$ time which and good for the type of graph which the problem above algorithm deals with.&lt;/p&gt;&#xA;" OwnerUserId="9147" LastEditorUserId="4896" LastEditDate="2012-11-18T00:51:10.437" LastActivityDate="2012-11-18T00:51:10.437" Title="Motivation for Developing Shortest Path Simplex Algorithms" Tags="&lt;ds.algorithms&gt;&lt;linear-programming&gt;&lt;shortest-path&gt;&lt;simplex&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14355" PostTypeId="2" ParentId="14349" CreationDate="2012-11-17T18:26:09.727" Score="16" Body="&lt;p&gt;A major open problem in mathematical programming is designing a strongly polynomial time linear programming algorithm. A related problem is whether any variant of the simplex algorithm runs in strongly polynomial time. It makes sense to first prove strong polynomial time bounds for variants of simplex applied to problems for which we already know strong polynomial time algorithms exist. &lt;/p&gt;&#xA;" OwnerUserId="4896" LastActivityDate="2012-11-17T18:26:09.727" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14356" PostTypeId="2" ParentId="14345" CreationDate="2012-11-17T20:17:41.400" Score="4" Body="&lt;p&gt;As per the comment, $K(x|y) \leq K(x|y^*) + O(1)$. Now denoting the first metric (with the *) by $d_1$ and the second by $d_2$, we have&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\displaystyle \begin{align*} d_2(x,y) &amp;amp;= \frac{\max \left \{ K(x|y), K(y|x) \right \} }{\max \left \{ K(x), K(y) \right \}} \\ &amp;amp;\leq \frac{\max \left \{ K(x|y^*), K(y|x^*) \right \} + O(1) }{\max \left \{ K(x), K(y) \right \}} \\ &amp;amp;= d_1(x,y) + O(1/K) \end{align*}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where $K = \max \left \{ K(x), K(y) \right \}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;All of the theorems in the paper give the metric inequalities and universality claims up to an additive factor of $O(1/K)$, so this fits.&lt;/p&gt;&#xA;" OwnerUserId="7091" LastEditorUserId="7091" LastEditDate="2012-11-30T18:26:26.183" LastActivityDate="2012-11-30T18:26:26.183" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="14357" PostTypeId="1" CreationDate="2012-11-17T23:09:41.257" Score="3" ViewCount="520" Body="&lt;p&gt;I guess there may be a large number of algorithms proposed for generating graphs satisfying some common properties (e.g. clustering coefficient, average path length, degree distribution, etc). I am new to this field, and some google search didn't find me a thorough review of the literature.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question concerns a specific case: I want to generate a few &lt;em&gt;undirected regular&lt;/em&gt; graphs (i.e. each node of each graph has the same number of edges) with different clustering coefficients and average path lengths. More generally, while fixing a degree distribution, generate graphs by varying clustering coefficient and average path length.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I wonder what are the well-known algorithms for doing this (or links to relevant literature reviews would be great too!), and what are the recommended software for generating such graphs?&lt;/p&gt;&#xA;" OwnerUserId="12525" LastActivityDate="2021-02-18T14:13:28.690" Title="Algorithms for graph generation given parameters" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;big-list&gt;" AnswerCount="2" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="14358" PostTypeId="1" CreationDate="2012-11-17T23:33:10.287" Score="4" ViewCount="440" Body="&lt;p&gt;&lt;a href=&quot;http://arxiv.org/abs/1211.3405&quot; rel=&quot;nofollow&quot;&gt;http://arxiv.org/abs/1211.3405&lt;/a&gt;   &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The Measurement Based Quantum Computing Search Algorithm is Faster than Grover's Algorithm  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If this recent paper is true, it seems like a major advance for measurement based quantum computing.  The claim is based on numerical evidence, rather than a formal proof.  Is this as important/revolutionary as I think it is?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This makes me wonder: Is there a known relation between the speed of gate-based quantum computing and the speed of measurement-based quantum computing?&lt;/p&gt;&#xA;" OwnerUserId="12527" LastActivityDate="2012-12-10T14:55:31.067" Title="Major advance for measurement based quantum computing?" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;quantum-computing&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14359" PostTypeId="2" ParentId="14299" CreationDate="2012-11-18T00:31:08.100" Score="12" Body="&lt;p&gt;The smallest $c$ that the bound holds for is $c = \frac{1}{\sqrt 2 - 1} \approx 2.41$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Lemmas 1 and 2 show that the bound holds for this $c$. &#xA;Lemma 3 shows that this bound is tight.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(In comparison, Juri's elegant probabilistic argument gives $c=4$.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $c=\frac{1}{\sqrt 2 - 1}$.&#xA;Lemma 1 gives the upper bound for $k=0$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Lemma 1:&lt;/strong&gt; &#xA;&lt;em&gt;If $f$ is $\epsilon_g$-near a function $g$ that has no influencing variables&#xA;in $S_2$, and $f$ is $\epsilon_h$-near a function $h$ that has no influencing variables &#xA;in $S_1$, then $f$ is $\epsilon$-near a constant function,&#xA;where $\epsilon \le \frac{(\epsilon_g+\epsilon_h)/2}{c}$.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Proof.&lt;/em&gt; &#xA;Let $\epsilon$ be the distance from $f$ to a constant function.&#xA;Suppose for contradiction that $\epsilon$ does not satisfy the claimed inequality.&#xA;Let $y=(x_1,x_2,\ldots,x_{n/2})$ and $z=(x_{n/2}+1,\ldots,x_n)$&#xA;and write $f$, $g$, and $h$ as $f(y,z)$, $g(y,z)$ and $h(y,z)$, &#xA;so $g(y,z)$ is independent of $z$ and $h(y,z)$ is independent of $y$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(I find it helpful to visualize $f$ as the edge-labeling &#xA;of the complete bipartite graph with vertex sets $\{y\}$ and $\{z\}$,&#xA;where $g$ gives a vertex-labeling of $\{y\}$,&#xA;and $h$ gives a vertex-labeling of $\{z\}$.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $g_0$ be the fraction of pairs $(y,z)$ such that $g(y,z) = 0$.&#xA;Let $g_1=1-g_0$ be the fraction of pairs such that $g(y,z) = 1$.&#xA;Likewise let $h_0$ be the fraction of pairs such that $h(y,z) = 0$,&#xA;and let $h_1$ be the fraction of pairs such that $h(y,z) = 1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Without loss of generality, assume that, for any pair such that $g(y,z) = h(y,z)$,&#xA;it also holds that $f(y,z) = g(y,z) = h(y,z)$.  (Otherwise, toggling the value of&#xA;$f(y,z)$ allows us to decrease both $\epsilon_g$ and $\epsilon_h$ by $1/2^n$,&#xA;while decreasing the $\epsilon$ by at most $1/2^n$,&#xA;so the resulting function is still a counter-example.) Say any such pair is ``in agreement''.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The distance from $f$ to $g$ plus the distance from $f$ to $h$&#xA;is the fraction of $(x,y)$ pairs that are not in agreement.&#xA;That is, $\epsilon_g + \epsilon_h = g_0 h_1 + g_1 h_0$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The distance from $f$ to the all-zero function is at most $1 - g_0 h_0$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The distance from $f$ to the all-ones function is at most $1-g_1 h_1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Further, the distance from $f$ to the nearest constant function is at most $1/2$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thus, the ratio $\epsilon/(\epsilon_g+\epsilon_h)$ is at most&#xA;$$\frac{\min(1/2, 1-g_0 h_0, 1-g_1 h_1)}{g_0 h_1 + g_1 h_0},$$&#xA;where $g_0,h_0 \in [0,1]$ and $g_1 = 1-g_0$ and $h_1=1-h_0$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By calculation, this ratio is at most &#xA;$\frac{1}{2(\sqrt 2 - 1)} = c/2$.  QED&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Lemma 2 extends Lemma 1 to general $k$ by arguing pointwise,&#xA;over every possible setting of the $2k$ influencing variables.&#xA;Recall that $c=\frac{1}{\sqrt 2 - 1}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Lemma 2:&lt;/strong&gt; &lt;em&gt;Fix any $k$.&#xA;If $f$ is $\epsilon_g$-near a function $g$ that has&#xA;$k$ influencing variables in $S_2$, and $f$ is $\epsilon_h$-near a function $h$ that&#xA;has $k$ influencing variables in $S_1$,&#xA;then $f$ is $\epsilon$-near a function $\hat f$&#xA;that has at most $2k$ influencing variables,&#xA;where $\epsilon \le \frac{(\epsilon_g+\epsilon_h)/2}{c}$.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Proof.&lt;/em&gt; Express $f$ as $f(a,y,b,z)$ where $(a,y)$ contains the variables in $S_1$&#xA;with $a$ containing those that influence $h$, while $(b,z)$ contains the&#xA;variables in $S_2$ with $b$ containing those influencing $g$.&#xA;So $g(a,y,b,z)$ is independent of $z$,&#xA;and $h(a,y,b,z)$ is independent of $y$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For each fixed value of $a$ and $b$, define $F_{ab}(y,z) = f(a,y,b,z)$,&#xA;and define $G_{ab}$ and $H_{ab}$ similarly from $g$ and $h$ respectively.&#xA;Let $\epsilon^g_{ab}$ be the distance from $F_{ab}$ to $G_{ab}$&#xA;(restricted to $(y,z)$ pairs).&#xA;Likewise let $\epsilon^h_{ab}$ be the distance from $F_{ab}$ to $H_{ab}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By Lemma 1, there exists a constant $c_{ab}$ such that&#xA;the distance (call it $\epsilon_{ab}$)&#xA;from $F_{ab}$ to the constant function $c_{ab}$&#xA;is at most $(\epsilon^h_{ab} + \epsilon^g_{ab})/(2c)$.&#xA;Define $\hat f(a,y,b,z) = c_{ab}$.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Clearly $\hat f$ depends only on&#xA;$a$ and $b$ (and thus at most $k$ variables).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $\epsilon_{\hat f}$ be the average, over the $(a,b)$ pairs,&#xA;of the $\epsilon_{ab}$'s, so that&#xA;the distance from $f$ to $\hat f$ is $\epsilon_{\hat f}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Likewise, the distances from $f$ to $g$ and from $f$ to $h$&#xA;(that is, $\epsilon_g$ and $\epsilon_h)$ are the averages,&#xA;over the $(a,b)$ pairs, of, respectively, $\epsilon^g_{ab}$ and $\epsilon^h_{ab}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since $\epsilon_{ab} \le (\epsilon^h_{ab} + \epsilon^g_{ab})/(2c)$&#xA;for all $a, b$, it follows that &#xA;$\epsilon_{\hat f} \le (\epsilon_g + \epsilon_h)/(2c)$.  QED&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Lemma 3 shows that the constant $c$ above is the best you can hope&#xA;for (even for $k=0$ and $\epsilon=0.5$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Lemma 3:&lt;/strong&gt; &lt;em&gt;There exists $f$ such that $f$ is $(0.5/c)$-near two functions $g$ and $h$,&#xA;where $g$ has no influencing variables in $S_2$ &#xA;and $h$ has no influencing variables in $S_1$,&#xA;and $f$ is $0.5$-far from every constant function.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Proof.&lt;/em&gt;&#xA;Let $y$ and $z$ be $x$ restricted to, respectively, $S_1$ and $S_2$.&#xA;That is, $y=(x_1,\ldots,x_{n/2})$ and $z=(x_{n/2+1},\ldots,x_n)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Identify each possible $y$ with a unique element of $[N]$,&#xA;where $N=2^{n/2}$.&#xA;Likewise, identify each possible $z$ with a unique element of $[N]$.&#xA;Thus, we think of $f$ as a function from $[N]\times[N]$ to $\{0,1\}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Define $f(y,z)$ to be 1 iff $\max(y,z) \ge \frac{1}{\sqrt 2}N$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By calculation, the fraction of $f$'s values that are zero&#xA;is $(\frac{1}{\sqrt 2})^2 = \frac{1}{2}$,&#xA;so both constant functions have distance $\frac{1}{2}$ to $f$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Define $g(y,z)$ to be 1 iff $y\ge \frac{1}{\sqrt 2}N$.&#xA;Then $g$ has no influencing variables in $S_2$.&#xA;The distance from $f$ to $g$ is the fraction of pairs $(y,z)$&#xA;such that $y&amp;lt;\frac{1}{\sqrt 2}N$ and $z\ge \frac{1}{\sqrt 2}N$.&#xA;By calculation, this is at most $\frac{1}{\sqrt 2}(1-\frac{1}{\sqrt2}) = 0.5/c$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Similarly, the distance from $f$ to $h$, where $h(y,z)=1$ &#xA;iff $z\ge \frac{1}{\sqrt 2}N$, is at most $0.5/c$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;QED&lt;/p&gt;&#xA;" OwnerUserId="8237" LastEditorUserId="8237" LastEditDate="2012-11-19T16:06:14.663" LastActivityDate="2012-11-19T16:06:14.663" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="14360" PostTypeId="1" CreationDate="2012-11-18T06:44:29.527" Score="4" ViewCount="143" Body="&lt;p&gt;I have convinced myself of the following:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For every &lt;a href=&quot;http://en.wikipedia.org/wiki/Randomness_extractor#Strong_extractors&quot; rel=&quot;nofollow&quot;&gt;$(k,\epsilon^2\hspace{.005 in})$-strong extractor&lt;/a&gt; Ext, for every distribution $X$,&#xA;if $\;\; k\leq$ &lt;a href=&quot;http://en.wikipedia.org/wiki/Min-entropy#Min-entropy&quot; rel=&quot;nofollow&quot;&gt;$\:H_{\infty}$&lt;/a&gt;$(\hspace{.01 in}X\hspace{.015 in}) \;\;$ then the probability over the seed $U$ that &#xA;the distribution of $\: \text{Ext}\hspace{.01 in}(\hspace{.01 in}X,U\hspace{.015 in}) \:$ is not &lt;a href=&quot;http://en.wikipedia.org/wiki/Total_variation_distance&quot; rel=&quot;nofollow&quot;&gt;$\epsilon$-close&lt;/a&gt; to uniform&#xA;is at most $\epsilon$.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Are there any known&#xA;  &lt;a href=&quot;http://en.wikipedia.org/wiki/Randomness_extractor#Explicit_extractors&quot; rel=&quot;nofollow&quot;&gt;explicit&lt;/a&gt;&#xA;  strong extractors that are known to handle seed reuse better than can&#xA;  be shown by using the above on a standard strong extractor?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;What if each instance of &quot;extractor&quot; in the rest of this post was replaced with &quot;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.3.8086&quot; rel=&quot;nofollow&quot;&gt;blender&lt;/a&gt;&quot;$\hspace{.01 in}$?&lt;/p&gt;&#xA;" OwnerDisplayName="user6973" LastEditorUserId="80" LastEditDate="2012-11-19T16:34:48.817" LastActivityDate="2012-11-19T16:34:48.817" Title="Strong extractors with reusable seeds" Tags="&lt;cr.crypto-security&gt;&lt;randomness&gt;&lt;extractors&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14361" PostTypeId="1" AcceptedAnswerId="14362" CreationDate="2012-11-18T07:54:51.067" Score="3" ViewCount="8951" Body="&lt;p&gt;For an optimization problem $(P)$ and its dual $(D)$, I have read about two concepts: Weak Duality, and strong Duality. What I don't understand is how they are different:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Weak  duality:&lt;/strong&gt;&#xA;If $\bar{x}$ is a feasible solution to $(P)$ and $\bar{y}$ is a feasible solution to $(D)$, then:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;$c^T \bar{x} \le b^T\bar{y}$&lt;/li&gt;&#xA;&lt;li&gt;if equality holds in the above inequality, then $\bar{x}$ is an optimal solution to $(P)$ and $\bar{y}$ is an optimal solution to $(D)$.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Strong duality:&lt;/strong&gt;&#xA;If there exists an optimal solution $x'$ for $(P)$, then there exists an optimal solution $y'$ for $(D)$ and the value of $x'$ in $(P)$ equals the value of $y'$ in $(D)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are these two statements not saying the same thing? In other words, isn't the second statement (2.) in definition of Weak duality saying the same thing as strong duality?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let's say we are given an LP $(P)$ and we find a dual $(D)$. Then can the same dual be used to deduce either strong duality or weak duality?&lt;/p&gt;&#xA;" OwnerUserId="7627" LastEditorUserId="6579" LastEditDate="2017-12-11T09:16:12.937" LastActivityDate="2017-12-11T09:16:12.937" Title="Difference between weak duality and strong duality?" Tags="&lt;ds.algorithms&gt;&lt;optimization&gt;&lt;linear-programming&gt;&lt;primal-dual&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14362" PostTypeId="2" ParentId="14361" CreationDate="2012-11-18T08:40:50.193" Score="8" Body="&lt;p&gt;&lt;em&gt;Weak duality&lt;/em&gt; is a property stating that any feasible solution to the dual problem corresponds to an upper bound on any solution to the primal problem. In contrast, &lt;em&gt;strong duality&lt;/em&gt; states that the values of the optimal solutions to the primal problem and dual problem are always equal.&#xA;Was this helpful enough? &lt;/p&gt;&#xA;" OwnerUserId="12521" LastActivityDate="2012-11-18T08:40:50.193" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="14363" PostTypeId="1" AcceptedAnswerId="14424" CreationDate="2012-11-18T08:43:04.487" Score="1" ViewCount="742" Body="&lt;p&gt;Turing machines can represent any computation. Can they also represent concurrent computations? Eg. multiple computations that can happen at the same time?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If yes, how are the concurrent computations represented and is it possible to convert them into turing machine?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;And do they mathematically describe things like race condition and deadlocks?&lt;/p&gt;&#xA;" OwnerUserId="12531" LastEditorUserId="-1" LastEditDate="2013-03-28T21:49:17.617" LastActivityDate="2013-03-30T09:52:02.330" Title="Does mathematical model for conccurent computations exist?" Tags="&lt;turing-machines&gt;&lt;dc.parallel-comp&gt;&lt;dc.distributed-comp&gt;&lt;machine-models&gt;&lt;concurrency&gt;" AnswerCount="3" CommentCount="4" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="14364" PostTypeId="1" CreationDate="2012-11-18T09:37:11.273" Score="1" ViewCount="151" Body="&lt;p&gt;Given a network where edges represent entities and directed vertices represent relationships between entities, and each vertex has a strength between 0 (no relationship) and 1 (strongest).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm looking for a method to calculate the path strength between two entities.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For simple cases, I'm considering the following formulas:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Path: The strength of the connection is the multiplication of all weights of the links along the path.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/MxUdM.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Parallel direct links: The strength of the connection is &lt;em&gt;1-(1-w1)(1-w2)...(1-wn)&lt;/em&gt;&#xA;&lt;img src=&quot;https://i.stack.imgur.com/j0atJ.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;My questions:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Were these formulas suggested before?&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;How can this method be extended to more complex cases, such as the graphs given below:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/eV3lI.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/Pjkc6.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="4804" LastEditorUserId="4804" LastEditDate="2012-11-18T14:54:35.217" LastActivityDate="2012-11-18T14:54:35.217" Title="Connection strength in a weighted social digraph, based on weights of individual links" Tags="&lt;ds.algorithms&gt;&lt;graph-algorithms&gt;&lt;social-sciences&gt;" AnswerCount="0" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="14365" PostTypeId="2" ParentId="10507" CreationDate="2012-11-18T12:06:53.487" Score="11" Body="&lt;p&gt;The problem of deciding whether two graphs have equivalent labelings and hence also the problem of computing the canonical labeling are PTIME complete. See &lt;/p&gt;&#xA;&#xA;&lt;p&gt;M. Grohe,  Equivalence in finite-variable logics is complete for polynomial time.&#xA;Combinatorica 19:507-532, 1999. (Conference version in FOCS'96.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that colour refinement equivalence corresponds to equivalence in the logic C^2.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;-Martin&lt;/p&gt;&#xA;" OwnerUserId="12533" LastActivityDate="2012-11-18T12:06:53.487" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="14367" PostTypeId="1" CreationDate="2012-11-18T13:12:32.637" Score="1" ViewCount="172" Body="&lt;p&gt;For positive semi-definite matrices $A,B$, how can I find an $X$ that minimizes $\text{Trace}(AX^TBX$) under the constraint:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;that $X$ is orthogonal.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;All the matrices have real entries and $A,B$ are square while $X$ is rectangular. Thanks.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is what I have:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Define $B=F^{T}F$. Define $Y=FX$. You get the above problem as &#xA;\begin{align}&#xA;\min_{Y}~ \text{trace}(AY^{T}Y)&#xA;\end{align}&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But now I want $X^*$ that minimizes the original problem. This is what is confusing me! &lt;/p&gt;&#xA;" OwnerUserId="12534" LastEditorUserId="-1" LastEditDate="2012-11-24T07:32:59.820" LastActivityDate="2012-11-24T07:32:59.820" Title="Trace minimization with an orthogonality constraint" Tags="&lt;ds.algorithms&gt;&lt;optimization&gt;&lt;linear-algebra&gt;" AnswerCount="0" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14368" PostTypeId="2" ParentId="14299" CreationDate="2012-11-18T15:01:11.620" Score="17" Body="&lt;p&gt;The answer is “yes”. The proof is by contradiction.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For notational convenience, let us denote the first $n/2$ variables by $x$ and the second $n/2$ variables by $y$. Suppose that $f(x,y)$ is $\delta$-close to a function $f_1(x,y)$ which depends only on $k$ coordinates of $x$. Denote its influential coordinates by $T_1$. Similarly, suppose that $f(x,y)$ is $\delta$-close to a function $f_2(x,y)$ which depends only on $k$ coordinates of $y$. Denote its influential coordinates by $T_2$. We need to prove that $f$ is $4\delta$- close to a $2k$-junta $\tilde f(x,y)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let us say that $(x_1,y_1) \sim (x_2,y_2)$ if $x_1$ and $x_2$ agree on all coordinates in $T_1$ and $y_1$ and $y_2$ agree on all coordinates in $T_2$. We choose uniformly at random a representative from each equivalence class. Let $(\bar x, \bar y)$ be the representative for the class of $(x,y)$. Define $\tilde f$ as follows:&#xA;$$\tilde f(x,y) = f(\bar x, \bar y).$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is obvious that $\tilde f$ is a $2k$-junta (it depends only on variables in $T_1 \cup T_2)$. We shall prove that it is at distance $4\delta$ from $f$ in expectation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We want to prove that&#xA;$$\Pr_{\tilde f}(\Pr_{x,y}(\tilde f(x,y) \neq f(x,y))) = \Pr(f(\bar x, \bar y) \neq f(x,y)) \leq 4\delta,$$&#xA;where $x$ and $y$ are chosen uniformly at random.&#xA;Consider a random vector $\tilde x$ obtained from $x$ by keeping all bits in $T_1$ and randomly flipping all bits not in $T_1$, and a vector $\tilde y$ defined similarly. Note that&#xA;$$\Pr(\tilde f(x,y) \neq f(x,y)) = \Pr(f(\bar x, \bar y) \neq f(x,y))= \Pr(f(\tilde x, \tilde y) \neq f(x,y)).$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We have,&#xA;$$\Pr(f(x,y) \neq f(\tilde x, y)) \leq  \Pr(f(x,y) \neq f_1(x, y)) + \Pr(f_1(x,y) \neq f_1(\tilde x, y)) + \Pr(f_1(\tilde x,y) \neq f(\tilde x, y)) \leq \delta + 0 + \delta = 2\delta.$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Similarly, $\Pr(f(\tilde x,y) \neq f(\tilde x, \tilde y)) \leq 2\delta$. We have &#xA;$$\Pr(f(\bar x, \bar y) \neq f(x,y))  \leq 4\delta.$$&#xA;QED&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It easy to “derandomize” this proof. For every $(x,y)$, let $\tilde f(x,y) = 1$ if $f(x,y) = 1$ for most $(x',y')$ in the equivalence class of $(x,y)$, and $\tilde f(x,y) = 0$, otherwise.&lt;/p&gt;&#xA;" OwnerUserId="9929" LastEditorUserId="9929" LastEditDate="2012-11-18T15:12:36.043" LastActivityDate="2012-11-18T15:12:36.043" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14370" PostTypeId="1" AcceptedAnswerId="14382" CreationDate="2012-11-18T16:56:16.090" Score="9" ViewCount="475" Body="&lt;p&gt;Suppose we don't know Joe B. Wells's result from 1994 that both typability and type checking are undecidable in System F (AKA $\lambda 2$). In Barendregt's Lambda calculi with types (1992) I found a proof due to Malecki 1989 that type checking implies typability. This is because &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;exists $\sigma$ such that $M:\sigma$&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;is equivalent to&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;$(\lambda xy.y)M : (\alpha\rightarrow\alpha)$&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;(This is because if a term is typable in System F then all its subterms are.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a simple proof the other way around? That is, &lt;strong&gt;a proof that typability implies type checking in System F?&lt;/strong&gt;&lt;/p&gt;&#xA;" OwnerUserId="10336" LastEditorUserId="-1" LastEditDate="2012-11-24T07:32:36.107" LastActivityDate="2012-11-24T07:32:36.107" Title="A simple proof that decidability of typability in System F ($\lambda 2$) implies decidability of type checking?" Tags="&lt;lo.logic&gt;&lt;computability&gt;&lt;type-theory&gt;&lt;lambda-calculus&gt;&lt;type-inference&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="14372" PostTypeId="1" AcceptedAnswerId="16499" CreationDate="2012-11-18T21:15:07.017" Score="3" ViewCount="285" Body="&lt;p&gt;Fix a prefix-free universal Turing machine $U$. Consider the following random process*. The state of the process is a bit-string $s$, initialized with the empty string (say). Suppose the value of the string on step $n$ is $s_n$. At the next step, we randomly generate a program $A$ using $U$, like in the definition of Chaitin's constant $\Omega$**. If $A$ doesn't halt we discard it and generate a new program. If it halts with output $t$ and $s_n$ is &lt;em&gt;not&lt;/em&gt; a prefix of $t$ we also discard it and generate a new program. If $s_n$ &lt;em&gt;is&lt;/em&gt; a prefix of $t$, we update the state according to $s_{n+1}:=t$. Note that $s_n$ is a prefix of $s_{n+1}$ i.e. at each step the string gets appended&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Allowing the process to continue indefinitely, we get an infinite bit-string $s_{\infty}$. The question:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What is the probability $p$ that $s_{\infty}$ is computable? Is $p &amp;gt; 0$?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Of course $p$ a priori depends on $U$ but my intuition is that if it vanishes for some $U$ it vanishes for all, for approximately the same reason Kolmogorov complexity only weakly depends on $U$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;*This process is closely related to the concept of Solomonoff induction&lt;/p&gt;&#xA;&#xA;&lt;p&gt;**This is done as follows. We generate an infinite sequence of bits $a$ by flipping a coin an infinite number of times. Since $U$ is prefix-free, there is a unique prefix $A$ of $a$ which is a valid program for $U$&lt;/p&gt;&#xA;" OwnerUserId="7030" LastEditorUserId="7030" LastEditDate="2012-11-19T19:10:20.447" LastActivityDate="2013-02-16T22:18:44.567" Title="Are randomly generated infinite patterns computable?" Tags="&lt;computability&gt;&lt;randomness&gt;&lt;universal-computation&gt;&lt;stochastic-process&gt;" AnswerCount="1" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="14373" PostTypeId="2" ParentId="14357" CreationDate="2012-11-18T21:57:34.917" Score="1" Body="&lt;p&gt;This certainly isn't the most advanced algorithm, but it should be able to do what you need:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A subset of the $d$-regular graphs are the $d$-regular graphs that are 1-factorizable (they're a union of perfect matchings). So&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Let $G$ be the empty graph on $n$ vertices, with $n$ even.&lt;/li&gt;&#xA;&lt;li&gt;Pick a perfect matching for $n$&lt;/li&gt;&#xA;&lt;li&gt;If none of the edges in your perfect matching are already in $G$, add the whole matching to $G$ (else discard it). If $G$ has degree $d$, halt; otherwise go to 2.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;The key comes in with how you perform step 2. If $d$ is fairly small, then a greedy random algorithm that avoids edges in $G$ should work. As $d$ gets larger the probability that an iteration doesn't increase the degree of your graph grows, and you'll need to start using a matching algorithm or at least looking for augmenting paths. I've deliberately underspecified step 2, because it is also where you'll get the variation in graph properties. For example, if $d$ is small you could run the algorithm 3 times with the following variations to step 2&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The perfect matchings are constructed greedily uniformly at random&lt;/li&gt;&#xA;&lt;li&gt;The perfect matchings are constructed greedily with $v$ being matched to $u$ with higher weight if $u$ is further from $v$ (give each unmatched vertex $u$ weight $d(v,u)$ when picking which is matched to $v$)&lt;/li&gt;&#xA;&lt;li&gt;The perfect matchings are constructed greedily with $v$ being matched to $u$ with higher weight if $u$ is closer to $v$ (give each unmatched vertex $u$ weight $\frac{1}{d(u,v)}$)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Also note, if $d$ is large but $n - d$ is not, you can do all of this and then take $\overline{G}$. If $d$ is $\frac{n}{2}$ or such, you'll need to be much smarter about step 2, probably implementing an algorithm to find a matching in the remaining graph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Regardless, unless you're keen on using graphs that aren't 1-factorizable, approaching it 1 degree at a time makes sense, because the marriage theorem tells you that you should always be able to perform step 2 to add another perfect matching (since the remaining edges are a regular graph, so they have a perfect matching).&lt;/p&gt;&#xA;" OwnerUserId="12483" LastActivityDate="2012-11-18T21:57:34.917" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14375" PostTypeId="1" CreationDate="2012-11-19T04:21:36.237" Score="1" ViewCount="380" Body="&lt;p&gt;What is the relationship between invertible primitive recursive functions (that is, a primitive recursive function that is an isomorphism) and all primitive recursive functions? Can every primitive recursive function be mimicked in some way (like Bennett’s result about reversible computation) by a reversible/invertible primitive recursive function?  Using pairing functions and Godel numbering can we look at all invertible primitive recursive functions from N to N? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, has anyone ever looked at the group of all invertible primitive recursive functions from N to N? Are there generators to this group? Can we talk about properties of this group? What is the relationship with its supergroup of all recursive isomorphisms? What about its relationship with the monoid of all primitive recursive functions from N to N? What about the monoid of all recursive functions from N to N? &lt;/p&gt;&#xA;" OwnerUserId="12541" LastActivityDate="2013-04-03T14:15:58.617" Title="Primitive Recursive Isomorphisms" Tags="&lt;computability&gt;&lt;gr.group-theory&gt;&lt;recursive&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14378" PostTypeId="1" CreationDate="2012-11-19T15:48:29.340" Score="7" ViewCount="104" Body="&lt;p&gt;Thinking about residue number systems, one major operation is to extend the set of primes that a given value is modulated by, also known as &lt;em&gt;base extension&lt;/em&gt;.  For instance, a given number $N$ can be represented by a sequence of remainders or modulated values by another set of numbers, which are primes.  We then have:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$N = (n_0, n_1, \dots, n_m)$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$n_0 \equiv N \bmod p_0$$&#xA;$$n_1 \equiv N \bmod p_1$$&#xA;$$\dots$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$n_m \equiv N \bmod p_m$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose we have a new sequence of additional primes, $(p_{m+1}, p_{m+2}, \dots p_{m+q})$.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;How quickly can we get the &lt;em&gt;new&lt;/em&gt; sequence of remainders (or modulated values), $(n_{m+1}, n_{m+2}, \dots n_{m+q})$ for the same number, $N$, in the worst case?&lt;/strong&gt;&lt;/p&gt;&#xA;" OwnerUserId="1549" LastActivityDate="2012-11-27T11:27:06.713" Title="How quickly can we perform base extension in a residue number system?" Tags="&lt;ds.algorithms&gt;&lt;upper-bounds&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14379" PostTypeId="1" CreationDate="2012-11-19T16:17:03.557" Score="18" ViewCount="1435" Body="&lt;p&gt;The notion of polynomial time reductions (Cook reductions) is an abstraction of a very intuitive concept: efficiently solving a problem by using an algorithm for a different problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, in the theory of $\mathcal{NP}$-completeness, the notion of $\mathcal{NP}$-hardness is captured via mapping reductions (Karp reductions). This concept of &quot;restricted&quot; reductions is much-less intuitive (at least to me). It even seems a bit contrived, as it creates a somewhat less intuitive notion of hardness; by that I'm referring to the fact that $\mathcal{NP}$ does not trivially contains $co-\mathcal{NP}$. Although in complexity theory we are very used to the concept that being able to solve a problem such as $\mathsf{SAT}$ does not imply that we can solve $\overline{\mathsf{SAT}}$, in natural settings (which are captured by Cook reductions), assuming we have an algorithm for solving $\mathsf{SAT}$, we can solve $\overline{\mathsf{SAT}}$ just by running the algorithm for $\mathsf{SAT}$ and returning the opposite.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is why should we use Karp reductions for the theory of $\mathcal{NP}$-completeness? What intuitive notion does it capture? How does it relates to the way we understand &quot;hardness of computation&quot; in the real world?&lt;/p&gt;&#xA;" OwnerUserId="10489" LastActivityDate="2012-11-19T20:01:19.603" Title="The motivation for using Karp-reductions in the theory of $\mathcal{NP}$-completeness" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;&lt;soft-question&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="14380" PostTypeId="2" ParentId="14375" CreationDate="2012-11-19T17:17:49.330" Score="4" Body="&lt;p&gt;I'm not sure if what you are interested in has been studied, but here are a few concepts that may be related to what you are looking for.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://igitur-archive.library.uu.nl/ph/2006-0926-200552/bergstra_80_invertible_terms.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Invertible terms in the $\lambda$-calculus.&lt;/a&gt; By Bergstra and Klop. An effort is made to characterize by semantic means the $\lambda$-terms that admit an inverse. This is classical research from the 80s, when emphasis was on trying to understand the $\lambda$-calculus through domain models.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://stackoverflow.com/questions/8307370/functional-lenses&quot;&gt;Lenses.&lt;/a&gt; This concept was introduced by Phil Wadler I believe (though probably by many others as well). It involves two types $a$ and $b$ and transformations between them, though they are not necessarily bijections.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://pubs.doc.ic.ac.uk/OnReversibleCL/OnReversibleCL.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;On Reversible Combinatory Logic.&lt;/a&gt; By di Pierro, Hankin and Wiklicky. They define a calculus in which each small-step is reversible, to model a type of quantum computation.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Hope this helps!&lt;/p&gt;&#xA;" OwnerUserId="3984" LastEditorUserId="-1" LastEditDate="2017-05-23T12:40:09.333" LastActivityDate="2013-04-03T14:15:58.617" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14382" PostTypeId="2" ParentId="14370" CreationDate="2012-11-19T17:40:26.697" Score="5" Body="&lt;p&gt;As far as I know, showing that this direction is the &lt;em&gt;hard&lt;/em&gt; part of Wells proof! At least this is what Pawel (Urzyczyn) explained to me a few years back.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Apparently it is not too hard to show that type checking is undecidable; the hard part is showing that this implies undecidability of type reconstruction! Indeed there are some cases in which the first is undecidable and the second decidable: see e.g. &lt;a href=&quot;http://www.springerlink.com/content/f07858057147k442/&quot; rel=&quot;noreferrer&quot;&gt;Dowek 1993.&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="3984" LastActivityDate="2012-11-19T17:40:26.697" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14383" PostTypeId="2" ParentId="14379" CreationDate="2012-11-19T17:53:16.310" Score="-5" Body="&lt;p&gt;there are several questions on this site related to Cook vs Karp reductions. have not seen a very clear description of this for the neophyte because its somewhat inherently subtle in many ways and its an active/open area of research. here are some refs that may be helpful to address it. as wikipedia summarizes, &quot;Many-one reductions are valuable because most well-studied complexity classes are closed under some type of many-one reducibility, including P, NP, L, NL, co-NP, PSPACE, EXP, and many others. These classes are not closed under arbitrary many-one reductions, however.&quot; &lt;/p&gt;&#xA;&#xA;&lt;p&gt;it seems fair to say that even advanced theorists are actively pondering the exact distinction and differences as in below refs and the full story wont be available unless important open complexity class separations are resolved, ie these questions seem to cut to the center of the known vs unknown.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.43.8184&quot; rel=&quot;nofollow&quot;&gt;Cook versus Karp-Levin: Separating Completeness Notions If NP Is Not Small (1992)&lt;/a&gt; Lutz, Mayordomo&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] &lt;a href=&quot;http://people.cs.uchicago.edu/~fortnow/papers/turing.pdf&quot; rel=&quot;nofollow&quot;&gt;Are Cook and Karp Ever the Same?&lt;/a&gt; Beigel and Fortnow&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[3] &lt;a href=&quot;http://infolab.stanford.edu/~ullman/ialc/spr10/slides/pnp3.ppt&quot; rel=&quot;nofollow&quot;&gt;More NP-Complete Problems (PPT)&lt;/a&gt; see slides 9-14 on history &amp;amp; Cook vs Karp reduction distinctions&lt;/p&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2012-11-19T17:53:16.310" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14386" PostTypeId="2" ParentId="14379" CreationDate="2012-11-19T19:40:08.050" Score="18" Body="&lt;p&gt;Like Turing reductions, many-one reductions came into complexity theory from computability/recursion theory literature. Cook and Karp reductions are natural complexity theoretic versions of similar existing reductions in computability.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is a intuitive way of explaining many-one reductions: it is a restriction of Turing reductions where we can ask only a single question from the oracle and the oracle's answer will be our answer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now the question is why would we need to study this (and any other kind of reductions like truth-table, weak-truth-table, etc.)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;These reductions give a finer picture than Turing reductions. Turing reductions are too powerful to distinguish between many concepts. A very large portion of computability theory is devoted to the study of c.e./r.e. degrees. The notion of an c.e. set is central. We can have TM machine that can enumerate an infinite set, we may not be able to enumerate its complement. If you want to study c.e. sets then Turing reduction is too strong since c.e. sets are not closed under it. So many-one reductions are a (and maybe the) natural way of defining reductions for this purpose.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Other types of reductions are defined for similar reasons. If you are interested I would suggest checking Piergiorgio Odifreddi's &quot;Classical Recursion Theory&quot;. It has a quite comprehensive chapter on different reductions and their relations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now for complexity theory the argument is similar. If you accept that $\mathsf{NP}$ is a extremely natural class of problems and you want to study $\mathsf{NP}$, then Cook reductions are too strong. The natural choice is a weaker reduction such that $\mathsf{NP}$ is closed under it and we can prove existence of a complete problem w.r.t. to those reduction for $\mathsf{NP}$. Karp reductions are the natural choice for this purpose.&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2012-11-19T20:01:19.603" LastActivityDate="2012-11-19T20:01:19.603" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14387" PostTypeId="1" CreationDate="2012-11-19T21:32:35.193" Score="8" ViewCount="341" Body="&lt;p&gt;&lt;a href=&quot;http://www.chiark.greenend.org.uk/~sgtatham/puzzles/java/net.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;Net (known also as FreeNet, or as NetWalk)&lt;/a&gt; is a puzzle game played on a $n \times n$ grid with the following objects:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;there are $m$ &lt;em&gt;computers&lt;/em&gt; ; each computer occupies one cell and has one link cable;&lt;/li&gt;&#xA;&lt;li&gt;each computer must be connected to the &lt;em&gt;central unit&lt;/em&gt; which occupies one cell and has  1, 2 or 3 link cables;&lt;/li&gt;&#xA;&lt;li&gt;the rest of the grid is filled with &lt;em&gt;wires&lt;/em&gt; (there are no empty cells); a &lt;em&gt;wire cell&lt;/em&gt; can be of three types: straight line, corner, or T-connection.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/fweD8.jpg&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The aim of the game is to rotate each cell in order to connect all computers to the central unit without making loops (i.e. the final configuration must be a tree) and without wires with dead ends (the leaves of the final configuration are the computers).&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;* Has the complexity of this game been studied?&lt;br&gt;&#xA;* And/or do you see a quick reduction from a known similar NP-complete problem?&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Eric Goles and Ivan Rapaport in &quot;&lt;a href=&quot;http://www.dim.uchile.cl/~rapaport/rot01.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Complexity of tile rotation problems&lt;/a&gt;&quot; prove that a similar problem is NP-complete but they use 5 tiles (we can assume that the Net game uses 4 tiles, because we can replace the central unit with a T-connector without changing the game structure), and in their proof loops are not forbidden.&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="-1" LastEditDate="2012-11-24T07:32:38.633" LastActivityDate="2012-11-26T22:24:03.980" Title="The complexity of the puzzle game Net" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;np-hardness&gt;&lt;puzzles&gt;" AnswerCount="1" CommentCount="6" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14388" PostTypeId="2" ParentId="4697" CreationDate="2012-11-19T22:18:22.123" Score="26" Body="&lt;p&gt;Luca, since a year has passed, you probably have researched your own&#xA;answer.  I'm answering some of your questions here just for the&#xA;record.  I review some Lagrangian-relaxation algorithms for the&#xA;problems you mention, and sketch the connection to learning (in&#xA;particular, following expert advice).  I don't comment here on SDP&#xA;algorithms.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that the particular algorithms that you mention do not run in&#xA;nearly linear time.  (There is a nearly linear-time algorithm for&#xA;&lt;em&gt;explicitly&lt;/em&gt; given packing or covering problems.  See&#xA;&lt;a href=&quot;http://arxiv.org/abs/0801.1987&quot; rel=&quot;nofollow noreferrer&quot;&gt;Beating Simplex for Fractional Packing and Covering Linear Programs&lt;/a&gt;.)&#xA;The algorithms you have in mind typically have variants that run in a&#xA;nearly linear number of &lt;em&gt;iterations&lt;/em&gt;, but each iteration typically&#xA;requires at least linear time as well.  I discuss some of these&#xA;algorithms below.&lt;/p&gt;&#xA;&#xA;&lt;h3&gt;Some useful functions&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;Before we start, here are some functions that we will use in the proof sketches.&#xA;(If you are interested in the algorithms, but not the proof details, you can skip ahead.)&#xA;For any vector &lt;span class=&quot;math-container&quot;&gt;$y$&lt;/span&gt;, define &lt;span class=&quot;math-container&quot;&gt;$\mbox{Lmax}(y)$&lt;/span&gt; to be &lt;span class=&quot;math-container&quot;&gt;$\ln \sum_i \exp(y_i)$&lt;/span&gt;.&#xA;This function is an upper bound on &lt;span class=&quot;math-container&quot;&gt;$\max_i y_i$&lt;/span&gt;:&#xA;&lt;span class=&quot;math-container&quot;&gt;$$\max_i y_i ~\le~ \mbox{Lmax}(y) ~\le~ \max_i y_i + \ln m.$$&lt;/span&gt;&#xA;Analogously, define &lt;span class=&quot;math-container&quot;&gt;$\mbox{Lmin}(y)$&lt;/span&gt; to be &lt;span class=&quot;math-container&quot;&gt;$-\mbox{Lmax}(-y)$&lt;/span&gt;,&#xA;a lower bound on &lt;span class=&quot;math-container&quot;&gt;$\min_i y_i$&lt;/span&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For convenience in what follows, &#xA;we use &lt;span class=&quot;math-container&quot;&gt;$g(y)$&lt;/span&gt; to denote the gradient &lt;span class=&quot;math-container&quot;&gt;$\nabla \mbox{Lmin}(y)$&lt;/span&gt; of Lmin.&#xA;We use &lt;span class=&quot;math-container&quot;&gt;$G(y)$&lt;/span&gt; to denote the gradient &lt;span class=&quot;math-container&quot;&gt;$\nabla \mbox{Lmax}(y)$&lt;/span&gt; of Lmax.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Explicitly, &lt;span class=&quot;math-container&quot;&gt;$g_i(y)$&lt;/span&gt; is &lt;span class=&quot;math-container&quot;&gt;$\exp(-y_i)/\sum_{i'} \exp(-y_{i'})$&lt;/span&gt;&#xA;while &lt;span class=&quot;math-container&quot;&gt;$G_i(y)$&lt;/span&gt; is &lt;span class=&quot;math-container&quot;&gt;$\exp(y_i)/\sum_{i'} \exp(y_{i'})$&lt;/span&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Lmin and Lmax are &lt;em&gt;smooth&lt;/em&gt; in the following sense: &#xA;for any vectors &lt;span class=&quot;math-container&quot;&gt;$d\in[0,\varepsilon]^n$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$y\in R^n$&lt;/span&gt;,&#xA;&lt;span class=&quot;math-container&quot;&gt;$$\mbox{Lmin}(y+d) ~\ge~ \mbox{Lmin}(y) &#xA;~+~ (1-O(\varepsilon))\, d \cdot g(y)$$&lt;/span&gt;&#xA;and&#xA;&lt;span class=&quot;math-container&quot;&gt;$$\mbox{Lmax}(y+d) ~\le~ \mbox{Lmax}(y) &#xA;~+~ (1+O(\varepsilon))\, d \cdot G(y).$$&lt;/span&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that both of the gradients have 1-norm equal to 1:&#xA;&lt;span class=&quot;math-container&quot;&gt;$|G(y)| = |g(y)| = 1$&lt;/span&gt;.  (Throughout we use &lt;span class=&quot;math-container&quot;&gt;$|z|$&lt;/span&gt; to denote the 1-norm.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note also that, for a matrix &lt;span class=&quot;math-container&quot;&gt;$A$&lt;/span&gt;, &#xA;the gradient of the function &lt;span class=&quot;math-container&quot;&gt;$x\mapsto \mbox{Lmin}(Ax)$&lt;/span&gt; with respect to &lt;span class=&quot;math-container&quot;&gt;$x$&lt;/span&gt;&#xA;is (by the chain rule) &lt;span class=&quot;math-container&quot;&gt;$(g(Ax))^T A$&lt;/span&gt;.&#xA;More explicitly, the partial derivative of the function with respect to &lt;span class=&quot;math-container&quot;&gt;$x_j$&lt;/span&gt;&#xA;is &lt;span class=&quot;math-container&quot;&gt;$\sum_i A_{ij} \exp(-A_i x) / \sum_i \exp(-A_i x)$&lt;/span&gt;.&#xA;Likewise,  the partial derivative of Lmax&lt;span class=&quot;math-container&quot;&gt;$(Ax)$&lt;/span&gt; &#xA;with respect to &lt;span class=&quot;math-container&quot;&gt;$x_j$&lt;/span&gt; is &lt;span class=&quot;math-container&quot;&gt;$\sum_i A_{ij} \exp(A_i x)/\sum_i \exp(A_i x)$&lt;/span&gt;. &lt;/p&gt;&#xA;&#xA;&lt;h3&gt;Fractional Set Cover&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;Fix a Set-Cover instance.&#xA;Let &lt;span class=&quot;math-container&quot;&gt;$A$&lt;/span&gt; denote the element/set incidence matrix.&#xA;Thus, &lt;span class=&quot;math-container&quot;&gt;$A_{es} = 1$&lt;/span&gt; if &lt;span class=&quot;math-container&quot;&gt;$e\in s$&lt;/span&gt;, else 0,&#xA;and &lt;span class=&quot;math-container&quot;&gt;$A_e x$&lt;/span&gt; is the extent that  fractional cover &lt;span class=&quot;math-container&quot;&gt;$x$&lt;/span&gt; covers element &lt;span class=&quot;math-container&quot;&gt;$e$&lt;/span&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The LP is &lt;span class=&quot;math-container&quot;&gt;$\min\{ |x| : A x \ge 1; x \ge 0\}$&lt;/span&gt;.&#xA;Given &lt;span class=&quot;math-container&quot;&gt;$\varepsilon\in (0,1)$&lt;/span&gt;, the algorithm is&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Initialize all &lt;span class=&quot;math-container&quot;&gt;$x_s = 0$&lt;/span&gt;.  Let &lt;span class=&quot;math-container&quot;&gt;$N=\log(n)/\varepsilon$&lt;/span&gt;.  &lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Repeat until &lt;span class=&quot;math-container&quot;&gt;$\min_e A_e x \ge N$&lt;/span&gt;:   &lt;/p&gt;&#xA;&#xA;&lt;p&gt;2.1. Choose &lt;span class=&quot;math-container&quot;&gt;$s$&lt;/span&gt; maximizing the partial derivative of Lmin&lt;span class=&quot;math-container&quot;&gt;$(Ax)$&lt;/span&gt; w.r.t. &lt;span class=&quot;math-container&quot;&gt;$x_s$&lt;/span&gt;.&lt;br&gt;&#xA;      (Explicitly, choose &lt;span class=&quot;math-container&quot;&gt;$s$&lt;/span&gt; maximizing &lt;span class=&quot;math-container&quot;&gt;$\sum_{e\in s} \exp(-\sum_{s'\ni e} x_{s'})$&lt;/span&gt;.)   &lt;/p&gt;&#xA;&#xA;&lt;p&gt;2.2. Increase &lt;span class=&quot;math-container&quot;&gt;$x_s$&lt;/span&gt; by &lt;span class=&quot;math-container&quot;&gt;$\varepsilon$&lt;/span&gt;.    &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Return &lt;span class=&quot;math-container&quot;&gt;$x/\min_{e} A_e x$&lt;/span&gt;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;The algorithm returns a &lt;span class=&quot;math-container&quot;&gt;$(1+O(\varepsilon))$&lt;/span&gt; approximate solution&#xA;in &lt;span class=&quot;math-container&quot;&gt;$O(|x^*|\log(n)/\varepsilon^2)$&lt;/span&gt; iterations, where &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt; is the number of elements&#xA;and &lt;span class=&quot;math-container&quot;&gt;$x^*$&lt;/span&gt; is the optimal fractional set cover (trivially &lt;span class=&quot;math-container&quot;&gt;$|x^*|\le n$&lt;/span&gt;).&#xA;(A similar algorithm appears in &lt;a href=&quot;http://www.cs.ucr.edu/~neal/non_arxiv/SODA_1995_170.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;the paper Chandra mentioned&lt;/a&gt;.&#xA;Vertex Cover is of course a special case.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(&lt;strong&gt;Remark:&lt;/strong&gt; Note that the iteration bound does not depend on the number&#xA;of sets, just the number of elements.  Thus, the algorithm can be used&#xA;with an implicitly defined set system, as long as, given weights on the&#xA;elements, one can efficiently find a set of maximum (or near-maximum) total weight.&#xA;This kind of oracle is the same as the separation oracle required to apply&#xA;the ellipsoid algorithm to the &lt;em&gt;dual&lt;/em&gt; problem. For packing problems such&#xA;as set packing, you need an oracle that, given weights on the elements,&#xA;returns a set &lt;em&gt;minimizing&lt;/em&gt; the total weight.  For problems such as&#xA;multi-commodity flow, you might, for example, need to find a path&#xA;minimizing the sum of some given edge weights.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here's a sketch of the proof of the performance guarantee.&#xA;In each iteration, the partial derivative w.r.t. the chosen &lt;span class=&quot;math-container&quot;&gt;$s$&lt;/span&gt;&#xA;is at least &lt;span class=&quot;math-container&quot;&gt;$1/|x^*|$&lt;/span&gt;, where &lt;span class=&quot;math-container&quot;&gt;$x^*$&lt;/span&gt; is the optimal fractional set cover.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(To see why, recall that the gradient of Lmin&lt;span class=&quot;math-container&quot;&gt;$(Ax)$&lt;/span&gt; with respect to &lt;span class=&quot;math-container&quot;&gt;$x$&lt;/span&gt; is &lt;span class=&quot;math-container&quot;&gt;$(g(Ax))^T A$&lt;/span&gt;.&#xA;If we were to choose a set &lt;span class=&quot;math-container&quot;&gt;$s'$&lt;/span&gt; at random from the distribution &lt;span class=&quot;math-container&quot;&gt;$x^*/|x^*|$&lt;/span&gt;,&#xA;the expected value of the partial derivative with respect to &lt;span class=&quot;math-container&quot;&gt;$x_{s'}$&lt;/span&gt;&#xA;would thus be &lt;span class=&quot;math-container&quot;&gt;$(g(Ax))^T \,A x^*/|x^*|$&lt;/span&gt;.&#xA;Since &lt;span class=&quot;math-container&quot;&gt;$Ax^* \ge 1$&lt;/span&gt;, this is at least &lt;span class=&quot;math-container&quot;&gt;$|g(Ax)|/|x^*|$&lt;/span&gt;.&#xA;Since &lt;span class=&quot;math-container&quot;&gt;$|g(Ax)|=1$&lt;/span&gt;, this is at least &lt;span class=&quot;math-container&quot;&gt;$1/|x^*|$&lt;/span&gt;.&#xA;Thus, there must exist some &lt;span class=&quot;math-container&quot;&gt;$s$&lt;/span&gt; giving partial derivative at least &lt;span class=&quot;math-container&quot;&gt;$1/|x^*|$&lt;/span&gt;.&#xA;Since the algorithm chooses &lt;span class=&quot;math-container&quot;&gt;$x_s$&lt;/span&gt; in each iteration to &lt;em&gt;maximize&lt;/em&gt;&#xA;the partial derivative, it achieves a partial derivative of at least &lt;span class=&quot;math-container&quot;&gt;$1/|x^*|$&lt;/span&gt;.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then, the step size &lt;span class=&quot;math-container&quot;&gt;$\varepsilon$&lt;/span&gt; is chosen just small enough so that &#xA;no coordinate of &lt;span class=&quot;math-container&quot;&gt;$A x$&lt;/span&gt; increases by more than &lt;span class=&quot;math-container&quot;&gt;$\varepsilon$&lt;/span&gt;.&#xA;Thus, because of the smoothness of Lmin,  increasing &lt;span class=&quot;math-container&quot;&gt;$x_s$&lt;/span&gt;&#xA;to &lt;span class=&quot;math-container&quot;&gt;$x_s+\varepsilon$&lt;/span&gt; increases &lt;span class=&quot;math-container&quot;&gt;$\mbox{Lmin}(Ax)$&lt;/span&gt; by at least&#xA;&lt;span class=&quot;math-container&quot;&gt;$(1-O(\varepsilon))\varepsilon/|x^*|$&lt;/span&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In this way, the algorithm maintains the invariant&#xA;&lt;span class=&quot;math-container&quot;&gt;$$\mbox{Lmin}(Ax) \ge (1-O(\varepsilon)) |x|/|x^*| - \ln n.$$&lt;/span&gt;&#xA;(Note that Lmin&lt;span class=&quot;math-container&quot;&gt;$(\overline 0)$&lt;/span&gt; equals &lt;span class=&quot;math-container&quot;&gt;$\ln n$&lt;/span&gt;.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;At termination, in the invariant, the &lt;span class=&quot;math-container&quot;&gt;$\ln n$&lt;/span&gt; term is &lt;span class=&quot;math-container&quot;&gt;$O(\varepsilon)$&lt;/span&gt; times the left-hand side,&#xA;so by calculation one gets &lt;span class=&quot;math-container&quot;&gt;$\min_e A_e x \ge  (1-O(\varepsilon)) |x|/|x^*|$&lt;/span&gt;.&#xA;After the normalization in the last line of the algorithm,&#xA;this implies &lt;span class=&quot;math-container&quot;&gt;$|x| \le (1+O(\varepsilon))|x^*|$&lt;/span&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;FWIW, the inequalities involved in proving the invariant are essentially&#xA;the same as those involved in proving the Chernoff bound.&#xA;(In fact, this algorithm can be derived by applying the&#xA;method of conditional probabilities to a randomized-rounding&#xA;scheme that repeatedly samples sets from the distribution &lt;span class=&quot;math-container&quot;&gt;$x^*/|x^*|$&lt;/span&gt;&#xA;(with replacement), increasing &lt;span class=&quot;math-container&quot;&gt;$x_s$&lt;/span&gt; for each sampled set &lt;span class=&quot;math-container&quot;&gt;$s$&lt;/span&gt;.&#xA;This derandomization of that gives the algorithm:&#xA;the underlying invariant is just that the pessimistic estimator stays below 1.&#xA;The exponential penalties in the pessimistic estimator come from the&#xA;using the Chernoff bound in the analysis of the rounding scheme.&#xA;This basic idea is explained further in &lt;a href=&quot;http://www.cs.ucr.edu/~neal/non_arxiv/SODA_1995_170.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;the paper Chandra mentioned&lt;/a&gt;.)&lt;/p&gt;&#xA;&#xA;&lt;h3&gt;Fractional Weighted Set Cover (and general fractional Covering)&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;To handle problems such as Weighted Set Cover &lt;em&gt;efficiently&lt;/em&gt;,&#xA;we modify the algorithm to use non-uniform increments&#xA;(an idea due to &lt;a href=&quot;http://scholar.google.com/scholar?cluster=735294650310145635&amp;amp;hl=en&amp;amp;as_sdt=0,5&quot; rel=&quot;nofollow noreferrer&quot;&gt;Garg and Konemann&lt;/a&gt;).   &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The LP is &lt;span class=&quot;math-container&quot;&gt;$\min\{ c\cdot x : (\forall e) \sum_{s\ni e} x_s \ge 1\}$&lt;/span&gt;, &#xA;where &lt;span class=&quot;math-container&quot;&gt;$e$&lt;/span&gt; ranges over the elements, &lt;span class=&quot;math-container&quot;&gt;$s$&lt;/span&gt; ranges over the sets,&#xA;and all variables are non-negative.&#xA;To present the algorithm, first rewrite the problem as a general covering problem.&#xA;Let &lt;span class=&quot;math-container&quot;&gt;$A_{es} = 1/c_s$&lt;/span&gt; for &lt;span class=&quot;math-container&quot;&gt;$e\in s$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$A_{es} = 0$&lt;/span&gt; otherwise.&#xA;Then (with a change of variables, scaling each &lt;span class=&quot;math-container&quot;&gt;$x_s$&lt;/span&gt; by &lt;span class=&quot;math-container&quot;&gt;$c_s$&lt;/span&gt;),&#xA;the LP is &lt;span class=&quot;math-container&quot;&gt;$\min\{ |x| : A x \ge 1; x \ge 0\}$&lt;/span&gt;,&#xA;which we can view as a general covering LP.&#xA;Here is the algorithm:&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Initialize all &lt;span class=&quot;math-container&quot;&gt;$x_s = 0$&lt;/span&gt;.  Let &lt;span class=&quot;math-container&quot;&gt;$N=\log(n)/\varepsilon$&lt;/span&gt;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Repeat until all covering constraints have been deleted:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2.1. Choose &lt;span class=&quot;math-container&quot;&gt;$s$&lt;/span&gt; maximizing the partial derivative of Lmin&lt;span class=&quot;math-container&quot;&gt;$(Ax)$&lt;/span&gt; w.r.t. &lt;span class=&quot;math-container&quot;&gt;$x_s$&lt;/span&gt;.&lt;br&gt;&#xA;     (Explicitly, choose &lt;span class=&quot;math-container&quot;&gt;$s$&lt;/span&gt; maximizing &lt;span class=&quot;math-container&quot;&gt;$\sum_{e\in s} \exp({-\sum_{s'\ni e} x_{s'}})/c_s$&lt;/span&gt;.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2.2. Increase &lt;span class=&quot;math-container&quot;&gt;$x_s$&lt;/span&gt; by &lt;span class=&quot;math-container&quot;&gt;$\delta$&lt;/span&gt;, where &lt;span class=&quot;math-container&quot;&gt;$\delta$&lt;/span&gt; is chosen maximally such that, for every remaining covering constraint &lt;span class=&quot;math-container&quot;&gt;$e$&lt;/span&gt;, the increase in &lt;span class=&quot;math-container&quot;&gt;$A_e \cdot x$&lt;/span&gt; is at most &lt;span class=&quot;math-container&quot;&gt;$\varepsilon$&lt;/span&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2.3 Delete all covering constraints &lt;span class=&quot;math-container&quot;&gt;$e$&lt;/span&gt; such that &lt;span class=&quot;math-container&quot;&gt;$A_e\cdot x \ge N$&lt;/span&gt;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Return &lt;span class=&quot;math-container&quot;&gt;$x/\min_e A_e\cdot x$&lt;/span&gt;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;The algorithm returns a &lt;span class=&quot;math-container&quot;&gt;$(1+O(\varepsilon))$&lt;/span&gt;-approximate solution&#xA;in &lt;span class=&quot;math-container&quot;&gt;$O(n\log(n)/\varepsilon^2)$&lt;/span&gt; iterations, where &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt; is the number of covering constraints.&#xA;(Each iteration increases some remaining &lt;span class=&quot;math-container&quot;&gt;$A_e x$&lt;/span&gt; by &lt;span class=&quot;math-container&quot;&gt;$\varepsilon$&lt;/span&gt;; this can happen&#xA;only &lt;span class=&quot;math-container&quot;&gt;$N/\varepsilon$&lt;/span&gt; times to a constraint before it is deleted.)&#xA;The proof of correctness is via essentially the same invariant as for Set Cover.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Weighted Vertex Cover is a special case. &lt;/p&gt;&#xA;&#xA;&lt;h3&gt;Maximum Fractional Bipartite Matching&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;Given a graph &lt;span class=&quot;math-container&quot;&gt;$G=(U,W,E)$&lt;/span&gt;,&#xA;the natural LP for the problem is &lt;span class=&quot;math-container&quot;&gt;$\max\{|x| : \forall v.\, \sum_{e\ni v} x_e \le 1\}$&lt;/span&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In matrix representation, this is a packing LP &lt;span class=&quot;math-container&quot;&gt;$\max\{|x| : Ax \le 1; x \ge 0\}$&lt;/span&gt;&#xA;with 0-1 coefficients (&lt;span class=&quot;math-container&quot;&gt;$A_{ve} = 1$&lt;/span&gt; if &lt;span class=&quot;math-container&quot;&gt;$v\in e$&lt;/span&gt;).&#xA;Such problems do not require non-uniform increments, so a simple algorithm analogous to the unweighted Set Cover algorithm (but for packing) will do:&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Initialize all &lt;span class=&quot;math-container&quot;&gt;$x_e = 0$&lt;/span&gt;.  Let &lt;span class=&quot;math-container&quot;&gt;$N=\log(n)/\varepsilon$&lt;/span&gt;.&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;While &lt;span class=&quot;math-container&quot;&gt;$A x &amp;lt; N$&lt;/span&gt;:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2.1. Choose &lt;span class=&quot;math-container&quot;&gt;$e$&lt;/span&gt; minimizing the partial derivative of Lmax&lt;span class=&quot;math-container&quot;&gt;$(Ax)$&lt;/span&gt; w.r.t. &lt;span class=&quot;math-container&quot;&gt;$x_e$&lt;/span&gt;.&lt;br&gt;&#xA;      (Explicitly, choose &lt;span class=&quot;math-container&quot;&gt;$e$&lt;/span&gt; to minimize &lt;span class=&quot;math-container&quot;&gt;$\sum_{v\in e} \exp(\sum_{e'\ni v} x_{e'})$&lt;/span&gt;.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2.2. Increase &lt;span class=&quot;math-container&quot;&gt;$x_e$&lt;/span&gt; by &lt;span class=&quot;math-container&quot;&gt;$\varepsilon$&lt;/span&gt;.  &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Return &lt;span class=&quot;math-container&quot;&gt;$x/\max_{v} A_v x$&lt;/span&gt;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;The algorithm returns a &lt;span class=&quot;math-container&quot;&gt;$(1-O(\varepsilon))$&lt;/span&gt;-approximate solution in &lt;span class=&quot;math-container&quot;&gt;$O(n\log(n)/\varepsilon^2)$&lt;/span&gt; iterations.&#xA;(This is because each iteration increases &lt;span class=&quot;math-container&quot;&gt;$|x|$&lt;/span&gt; by &lt;span class=&quot;math-container&quot;&gt;$\varepsilon$&lt;/span&gt;,&#xA;and finally, before normalization, &lt;span class=&quot;math-container&quot;&gt;$|x| = O(N n)$&lt;/span&gt;.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Just for fun, here is a curious alternative algorithm for Perfect Bipartite Matching.&#xA;Recall that &lt;span class=&quot;math-container&quot;&gt;$G=(U,W,E)$&lt;/span&gt;.  Let &lt;span class=&quot;math-container&quot;&gt;$n=|U|=|W|$&lt;/span&gt;.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Initialize all &lt;span class=&quot;math-container&quot;&gt;$x_e = 0$&lt;/span&gt;.  Let &lt;span class=&quot;math-container&quot;&gt;$N=4\ln(n)/\varepsilon$&lt;/span&gt;.  &lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Repeat &lt;span class=&quot;math-container&quot;&gt;$n\,N$&lt;/span&gt; times:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2.1. Choose &lt;span class=&quot;math-container&quot;&gt;$u$&lt;/span&gt; uniformly at random from &lt;span class=&quot;math-container&quot;&gt;$U$&lt;/span&gt;.&lt;br&gt;&#xA; 2.2. Choose &lt;span class=&quot;math-container&quot;&gt;$w$&lt;/span&gt; such that &lt;span class=&quot;math-container&quot;&gt;$(u,w)\in E$&lt;/span&gt; minimizing &lt;span class=&quot;math-container&quot;&gt;$\sum_{e\ni w} x_e$&lt;/span&gt;.&lt;br&gt;&#xA; 2.3. Increase &lt;span class=&quot;math-container&quot;&gt;$x_{uw}$&lt;/span&gt; by &lt;span class=&quot;math-container&quot;&gt;$\varepsilon$&lt;/span&gt;.   &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Return &lt;span class=&quot;math-container&quot;&gt;$x/N$&lt;/span&gt;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;If &lt;span class=&quot;math-container&quot;&gt;$G$&lt;/span&gt; has a perfect matching, the algorithm returns&#xA;an &lt;span class=&quot;math-container&quot;&gt;$x$&lt;/span&gt; such that &lt;span class=&quot;math-container&quot;&gt;$|x|=n$&lt;/span&gt;, and, with high probability,&#xA;for all vertices &lt;span class=&quot;math-container&quot;&gt;$u\in U$&lt;/span&gt;, &lt;span class=&quot;math-container&quot;&gt;$1-O(\varepsilon) \le \sum_{e\ni u} x_e \le 1+O(\varepsilon)$&lt;/span&gt;,&#xA;and for all vertices &lt;span class=&quot;math-container&quot;&gt;$w\in W$&lt;/span&gt;, &lt;span class=&quot;math-container&quot;&gt;$\sum_{e\ni w} x_e \le 1+O(\varepsilon)$&lt;/span&gt;.&#xA;If you are interested in the details of the proof, please ask...&lt;/p&gt;&#xA;&#xA;&lt;h3&gt;Mixed Packing and Covering&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;You may have asked about bipartite matching hoping for an example&#xA;of a &lt;em&gt;mixed&lt;/em&gt; packing and covering problem, that is, one of the form&#xA;&lt;span class=&quot;math-container&quot;&gt;$$\exists x?~ Px \le p; Cx \ge c; x \ge 0.$$&lt;/span&gt;&#xA;Here's one algorithm for such problems.&#xA;First, normalize so that &lt;span class=&quot;math-container&quot;&gt;$p=\overline 1$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$c=\overline 1$&lt;/span&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let &lt;span class=&quot;math-container&quot;&gt;$m$&lt;/span&gt; be the number of constraints (rows in &lt;span class=&quot;math-container&quot;&gt;$P$&lt;/span&gt; plus rows in &lt;span class=&quot;math-container&quot;&gt;$C$&lt;/span&gt;).&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Initialize all &lt;span class=&quot;math-container&quot;&gt;$x_j = 0$&lt;/span&gt;.  Let &lt;span class=&quot;math-container&quot;&gt;$N=2\ln(m)/\varepsilon$&lt;/span&gt;.&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;While &lt;span class=&quot;math-container&quot;&gt;$P x &amp;lt; N$&lt;/span&gt;:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2.1. Choose &lt;span class=&quot;math-container&quot;&gt;$j$&lt;/span&gt; so that the partial derivative of Lmax&lt;span class=&quot;math-container&quot;&gt;$(Px)$&lt;/span&gt; with respect to &lt;span class=&quot;math-container&quot;&gt;$x_j$&lt;/span&gt; is at most the partial derivative of Lmin&lt;span class=&quot;math-container&quot;&gt;$(Cx)$&lt;/span&gt; with respect to &lt;span class=&quot;math-container&quot;&gt;$x_j$&lt;/span&gt;.  (Explicitly, choose &lt;span class=&quot;math-container&quot;&gt;$j$&lt;/span&gt; such that &lt;span class=&quot;math-container&quot;&gt;$$\frac{\sum_i P_{ij} \exp(P_i x)}{\sum_{i}\exp(P_i x)} \le \frac{\sum_i C_{ij} \exp(-C_i x)}{\sum_{i}\exp(-C_i x)}.)$$&lt;/span&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2.2. Increase &lt;span class=&quot;math-container&quot;&gt;$x_j$&lt;/span&gt; by &lt;span class=&quot;math-container&quot;&gt;$\delta$&lt;/span&gt;, where &lt;span class=&quot;math-container&quot;&gt;$\delta$&lt;/span&gt; is chosen maximally such that no constraint &lt;span class=&quot;math-container&quot;&gt;$P_i x$&lt;/span&gt; or remaining constraint &lt;span class=&quot;math-container&quot;&gt;$C_i x$&lt;/span&gt; increases by more than &lt;span class=&quot;math-container&quot;&gt;$\varepsilon$&lt;/span&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;2.3. Delete all covering constraints &lt;span class=&quot;math-container&quot;&gt;$i$&lt;/span&gt; such that &lt;span class=&quot;math-container&quot;&gt;$C_i x \ge N$&lt;/span&gt;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Return &lt;span class=&quot;math-container&quot;&gt;$x/\max_i P_i x$&lt;/span&gt;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Assuming the given problem is feasible, the algorithm&#xA;returns an &lt;span class=&quot;math-container&quot;&gt;$x$&lt;/span&gt; such that &lt;span class=&quot;math-container&quot;&gt;$Px\le 1$&lt;/span&gt; &#xA;and &lt;span class=&quot;math-container&quot;&gt;$Cx\ge 1-O(\varepsilon)$&lt;/span&gt;.&#xA;The number of iterations is &lt;span class=&quot;math-container&quot;&gt;$O(m\ln(m)/\varepsilon^2)$&lt;/span&gt;,&#xA;because each iteration increases some constraint by &lt;span class=&quot;math-container&quot;&gt;$\varepsilon$&lt;/span&gt;,&#xA;and this can happen for each constraint at most &lt;span class=&quot;math-container&quot;&gt;$N$&lt;/span&gt; times.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The proof of correctness is via the invariant&#xA;&lt;span class=&quot;math-container&quot;&gt;$$\mbox{Lmax}(Px) \le 2\ln(m) + (1+O(\varepsilon)) \mbox{Lmin}(Cx).$$&lt;/span&gt;&#xA;The invariant implies&#xA;&lt;span class=&quot;math-container&quot;&gt;$$\max Px \le 2\ln(m) + (1+O(\varepsilon)) \min Cx.$$&lt;/span&gt;&#xA;At termination the left-hand side is &lt;span class=&quot;math-container&quot;&gt;$\Omega(\log(m)/\varepsilon)$&lt;/span&gt;,&#xA;proving the performance guarantee.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In Step 2.1, the desired &lt;span class=&quot;math-container&quot;&gt;$j$&lt;/span&gt; must exist as long as the original problem is feasible.&#xA;(This is because, for any &lt;em&gt;feasible&lt;/em&gt; &lt;span class=&quot;math-container&quot;&gt;$x^*$&lt;/span&gt;, and any &lt;span class=&quot;math-container&quot;&gt;$x$&lt;/span&gt;,&#xA;if we were to choose a random &lt;span class=&quot;math-container&quot;&gt;$j'$&lt;/span&gt; from the distribution &lt;span class=&quot;math-container&quot;&gt;$x^*/|x^*|$&lt;/span&gt;,&#xA;the expected value of the partial derivative of Lmax&lt;span class=&quot;math-container&quot;&gt;$(Px)$&lt;/span&gt; with respect to &lt;span class=&quot;math-container&quot;&gt;$x_{j'}$&lt;/span&gt;&#xA;would be at most &lt;span class=&quot;math-container&quot;&gt;$1/|x^*|$&lt;/span&gt; (see the previous proof sketch for Set Cover).&#xA;Likewise, the expected value of the partial derivative of Lmin&lt;span class=&quot;math-container&quot;&gt;$(Cx)$&lt;/span&gt; with respect to &lt;span class=&quot;math-container&quot;&gt;$x_{j'}$&lt;/span&gt;&#xA;would be at least &lt;span class=&quot;math-container&quot;&gt;$1/|x^*|$&lt;/span&gt;.&#xA;Thus, there is an &lt;span class=&quot;math-container&quot;&gt;$j$&lt;/span&gt; such that the partial derivative of Lmax&lt;span class=&quot;math-container&quot;&gt;$(Px)$&lt;/span&gt; with respect to &lt;span class=&quot;math-container&quot;&gt;$x_{j'}$&lt;/span&gt;&#xA;is at most the partial derivative of Lmin&lt;span class=&quot;math-container&quot;&gt;$(Cx)$&lt;/span&gt;.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then the invariant is maintained in each iteration because,&#xA;by the choice of &lt;span class=&quot;math-container&quot;&gt;$x_j$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$\delta$&lt;/span&gt;, &#xA;and the smoothness of Lmin and Lmax,&#xA;increasing &lt;span class=&quot;math-container&quot;&gt;$x_j$&lt;/span&gt; to &lt;span class=&quot;math-container&quot;&gt;$x_j+\delta$&lt;/span&gt;&#xA;increases Lmax&lt;span class=&quot;math-container&quot;&gt;$(Px)$&lt;/span&gt; &#xA;by at most &lt;span class=&quot;math-container&quot;&gt;$1+O(\varepsilon)$&lt;/span&gt;&#xA;times the increase in Lmin&lt;span class=&quot;math-container&quot;&gt;$(Cx)$&lt;/span&gt;.&lt;/p&gt;&#xA;&#xA;&lt;h3&gt;Learning (following experts / boosting)&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;One reference for understanding this connection is&#xA;&lt;a href=&quot;http://scholar.google.com/scholar?cluster=4120237815378119841&amp;amp;hl=en&amp;amp;as_sdt=0,5&amp;amp;as_vis=1&quot; rel=&quot;nofollow noreferrer&quot;&gt;Adaptive game playing using multiplicative weights&lt;/a&gt;, by Freund and Schapire.&#xA;Here is a quick summary to give the technical idea.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider the following repeated game.  In each round &lt;span class=&quot;math-container&quot;&gt;$t$&lt;/span&gt;:  &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;You choose a probability distribution &lt;span class=&quot;math-container&quot;&gt;$p^t$&lt;/span&gt; on &lt;span class=&quot;math-container&quot;&gt;$[n]$&lt;/span&gt; (the &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt; so-called &lt;em&gt;experts&lt;/em&gt;).  &lt;/li&gt;&#xA;&lt;li&gt;Knowing &lt;span class=&quot;math-container&quot;&gt;$p^t$&lt;/span&gt;, the adversary then chooses a payoff vector &lt;span class=&quot;math-container&quot;&gt;$a^t\in [0,1]^{n}$&lt;/span&gt;.  &lt;/li&gt;&#xA;&lt;li&gt;You receive payoff &lt;span class=&quot;math-container&quot;&gt;$p^t\cdot a^t$&lt;/span&gt; for the round.  &lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;The game stops after some number of rounds.&#xA;Your goal is to minimize your regret&#xA;in comparison to any single expert (i.e., pure strategy) &lt;span class=&quot;math-container&quot;&gt;$i$&lt;/span&gt;.&#xA;That is, your goal is to minimize &lt;span class=&quot;math-container&quot;&gt;$(\max_i \sum_t a^t_i) - \sum_t p^t\cdot a^t$&lt;/span&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Fix any &lt;span class=&quot;math-container&quot;&gt;$\varepsilon&amp;gt;0$&lt;/span&gt;.&#xA;Let vector &lt;span class=&quot;math-container&quot;&gt;$y^t$&lt;/span&gt; denote &lt;span class=&quot;math-container&quot;&gt;$\varepsilon \sum_{s \le t} a^s$&lt;/span&gt;, that is,&#xA;&lt;span class=&quot;math-container&quot;&gt;$\varepsilon$&lt;/span&gt; times the vector sum of the payoff vectors up to time &lt;span class=&quot;math-container&quot;&gt;$t$&lt;/span&gt;.&#xA;Recall that &lt;span class=&quot;math-container&quot;&gt;$G(y)$&lt;/span&gt; is the gradient of Lmax&lt;span class=&quot;math-container&quot;&gt;$(y)$&lt;/span&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here's the basic strategy we will analyze:&#xA;&lt;em&gt;On round &lt;span class=&quot;math-container&quot;&gt;$t$&lt;/span&gt;, choose &lt;span class=&quot;math-container&quot;&gt;$p^t$&lt;/span&gt; to be &lt;span class=&quot;math-container&quot;&gt;$G(y^{t-1})$&lt;/span&gt;.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By inspection, this gives you payoff &lt;span class=&quot;math-container&quot;&gt;$a^t \cdot G(y^{t-1})$&lt;/span&gt; in round &lt;span class=&quot;math-container&quot;&gt;$t$&lt;/span&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Because of the smoothness property of &lt;span class=&quot;math-container&quot;&gt;$F$&lt;/span&gt;,&#xA;&lt;span class=&quot;math-container&quot;&gt;$$\mbox{Lmax}(y^t) \le \mbox{Lmax}(y^{t-1}) + (1+O(\varepsilon))  \varepsilon a^t \cdot G(y^{t-1}).$$&lt;/span&gt;&#xA;That is, in each round, &lt;span class=&quot;math-container&quot;&gt;$\mbox{Lmax}(y^t)$&lt;/span&gt; can't increase by more than &lt;span class=&quot;math-container&quot;&gt;$\varepsilon(1+O(\varepsilon))$&lt;/span&gt; times your payoff.&#xA;Since &lt;span class=&quot;math-container&quot;&gt;$\mbox{Lmax}(\overline 0) = \ln n$&lt;/span&gt;, &#xA;this maintains the invariant that &lt;span class=&quot;math-container&quot;&gt;$\mbox{Lmax}(y^t)$&lt;/span&gt;&#xA;is at most your total payoff times &lt;span class=&quot;math-container&quot;&gt;$\varepsilon(1+O(\varepsilon)$&lt;/span&gt;,&#xA;plus &lt;span class=&quot;math-container&quot;&gt;$\ln(n)$&lt;/span&gt;.&#xA;On the other hand, your regret in comparison to the best expert &lt;span class=&quot;math-container&quot;&gt;$i$&lt;/span&gt;&#xA;is &lt;span class=&quot;math-container&quot;&gt;$\max_i \sum_t a^t_i$&lt;/span&gt;, i.e., &lt;span class=&quot;math-container&quot;&gt;$\varepsilon^{-1} \max_i y^t_i$&lt;/span&gt;,&#xA;which is in turn at most &lt;span class=&quot;math-container&quot;&gt;$\varepsilon^{-1} \mbox{Lmax}(y^t)$&lt;/span&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thus, &lt;em&gt;your regret is at most &lt;span class=&quot;math-container&quot;&gt;$\varepsilon^{-1} \ln(n)$&lt;/span&gt;, plus &lt;span class=&quot;math-container&quot;&gt;$O(\varepsilon)$&lt;/span&gt; times your total payoff.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Remark:&lt;/strong&gt; I think, as Freund and Schapire point out, a &quot;boosting&quot; algorithm (in learning theory) is also implicit in this analysis.  See their paper for more details.&lt;/p&gt;&#xA;&#xA;&lt;strong&gt;Minimizing total payoff&lt;/strong&gt;&#xA;&#xA;&lt;p&gt;You can derive a similar strategy for the setting where the goal is to &lt;em&gt;minimize&lt;/em&gt;,&#xA;rather than maximize, the total payoff.&#xA;Your regret, which you still want to minimize, is &lt;span class=&quot;math-container&quot;&gt;$\sum_t p^t\cdot a^t - \min_i a^t_i$&lt;/span&gt;.&#xA;In that case, the corresponding strategy is to choose &lt;span class=&quot;math-container&quot;&gt;$p^t$&lt;/span&gt; to be the gradient of &lt;span class=&quot;math-container&quot;&gt;$\mbox{Lmin}(y^t)$&lt;/span&gt;.&#xA;With this strategy your regret is again at most&#xA;&lt;span class=&quot;math-container&quot;&gt;$\varepsilon^{-1} \ln n$&lt;/span&gt; plus &lt;span class=&quot;math-container&quot;&gt;$O(\varepsilon)$&lt;/span&gt; times your total payoff.&lt;/p&gt;&#xA;&#xA;&lt;strong&gt;Connection to Lagrangian-relaxation algorithms&lt;/strong&gt;&#xA;&#xA;&lt;p&gt;To see the connection to Lagrangian-relaxation algorithms, fix a Set-Cover instance.&#xA;Consider the latter type of game (with the goal of minimizing payoff),&#xA;where the experts correspond to the elements &lt;span class=&quot;math-container&quot;&gt;$e$&lt;/span&gt; of your set system.&#xA;In each round, choose the probability distribution &lt;span class=&quot;math-container&quot;&gt;$p^t$&lt;/span&gt; &#xA;to be the gradient of Lmin&lt;span class=&quot;math-container&quot;&gt;$(y^t)$&lt;/span&gt; as above, &#xA;and have the adversary choose the payoff vector &lt;span class=&quot;math-container&quot;&gt;$a^t$&lt;/span&gt; as a function of &lt;span class=&quot;math-container&quot;&gt;$p^t$&lt;/span&gt; as follows:&#xA;&lt;em&gt;choose the set &lt;span class=&quot;math-container&quot;&gt;$s^t$&lt;/span&gt; maximizing &lt;span class=&quot;math-container&quot;&gt;$\sum_{e\in s} p^t_e$&lt;/span&gt;,&#xA;then let &lt;span class=&quot;math-container&quot;&gt;$a^t_e = 1$&lt;/span&gt; if &lt;span class=&quot;math-container&quot;&gt;$e\in s^t$&lt;/span&gt;, and &lt;span class=&quot;math-container&quot;&gt;$a^t_e = 0$&lt;/span&gt; otherwise.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given the correct stopping condition (discussed below),&#xA;this process gives you exactly the Set-Cover algorithm discussed at the start.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The performance guarantee of the algorithm follows from the regret bound as follows.&#xA;Let &lt;span class=&quot;math-container&quot;&gt;$X_s$&lt;/span&gt; be the number of times the adversary chose set &lt;span class=&quot;math-container&quot;&gt;$s$&lt;/span&gt; during the play.&#xA;Let &lt;span class=&quot;math-container&quot;&gt;$x^*$&lt;/span&gt; be the optimal fractional set cover.&#xA;Let &lt;span class=&quot;math-container&quot;&gt;$T=|X_s|$&lt;/span&gt; be the number of rounds played.&#xA;The regret bound implies&#xA;&lt;span class=&quot;math-container&quot;&gt;$$\textstyle \sum_t a^t\cdot p^t \le  \varepsilon^{-1}\ln(m) + \min_e \sum_t a_e^t.$$&lt;/span&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Using the definition of &lt;span class=&quot;math-container&quot;&gt;$a^t$&lt;/span&gt;, the &lt;span class=&quot;math-container&quot;&gt;$t$&lt;/span&gt;th payoff&#xA;(the &lt;span class=&quot;math-container&quot;&gt;$t$&lt;/span&gt;th term in the sum on the left)&#xA;equals &lt;span class=&quot;math-container&quot;&gt;$\sum_{e\in s^t} p^t_e$&lt;/span&gt;.&#xA;The adversary chose &lt;span class=&quot;math-container&quot;&gt;$s^t$&lt;/span&gt; to minimize this payoff.&#xA;If the adversary had instead chosen &lt;span class=&quot;math-container&quot;&gt;$s^t$&lt;/span&gt; randomly &#xA;from the distribution &lt;span class=&quot;math-container&quot;&gt;$x^*/|x^*|$&lt;/span&gt;, the expectation of&#xA;the payoff would have been&#xA;&lt;span class=&quot;math-container&quot;&gt;$$ \sum_s \frac{x^*_s}{|x^*|} \sum_{e\in s} p^t_e&#xA;~=~&#xA;\frac{1}{|x^*|} \sum_e p^t_e \sum_{s\ni e} x^*_s &#xA;~\ge~&#xA;\frac{1}{|x^*|} \sum_e p^t_e&#xA; ~=~&#xA;\frac{1}{|x^*|}.$$&lt;/span&gt;&#xA;(Above we use that &lt;span class=&quot;math-container&quot;&gt;$\sum_{s\ni e} x^*_s \ge 1$&lt;/span&gt; for all &lt;span class=&quot;math-container&quot;&gt;$e$&lt;/span&gt;, and &lt;span class=&quot;math-container&quot;&gt;$|p^t| = 1$&lt;/span&gt;.)&#xA;Since each payoff is at least &lt;span class=&quot;math-container&quot;&gt;$1/|x^*|$&lt;/span&gt;, the regret bound implies&#xA;&lt;span class=&quot;math-container&quot;&gt;$$ \frac{T}{|x^*|} \le  \varepsilon^{-1}\ln(m) + \min_e \sum_t a_e^t.$$&lt;/span&gt;&#xA;By the definition of &lt;span class=&quot;math-container&quot;&gt;$X$&lt;/span&gt;,&#xA;we have &lt;span class=&quot;math-container&quot;&gt;$|X| = T$&lt;/span&gt; (each round chooses one set),&#xA;and &lt;span class=&quot;math-container&quot;&gt;$\sum_t a_e^t = \sum_e [e\in s^t] = \sum_{s\ni e} X_s$&lt;/span&gt;,&#xA;giving&#xA;&lt;span class=&quot;math-container&quot;&gt;$$\frac{|X|}{|x^*|} \le  \varepsilon^{-1}\ln(m) +\min_e \sum_{s\ni e} X_s.$$&lt;/span&gt; &#xA;We make the process stop when &lt;span class=&quot;math-container&quot;&gt;$\min_e \sum_{s\ni e} X_s = \Omega(\varepsilon^{-2}\ln m)$&lt;/span&gt;, &#xA;so then (rearranging terms)&#xA;&lt;span class=&quot;math-container&quot;&gt;$$\frac{|X|}{\min_e \sum_{s\ni e} X_s}~ \le~ (1+O(\varepsilon)|x^*|.$$&lt;/span&gt;&#xA;That is, normalizing &lt;span class=&quot;math-container&quot;&gt;$X$&lt;/span&gt; gives a fractional set cover&#xA;of size at most &lt;span class=&quot;math-container&quot;&gt;$(1+O(\varepsilon))$&lt;/span&gt; times optimum.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Remark:&lt;/strong&gt; In a sense, this learning theory interpretation&#xA;generalizes the algorithmic interpretation.  However, some&#xA;of the algorithmic techniques necessary for efficiency &#xA;(such as non-uniform increments and dropping satisfied&#xA;covering constraints) don't seem to carry over into the &#xA;learning theory setting naturally.  Likewise, algorithms for&#xA;&lt;em&gt;mixed&lt;/em&gt; packing and covering LPs (e.g. &lt;a href=&quot;http://arxiv.org/abs/cs/0205039&quot; rel=&quot;nofollow noreferrer&quot;&gt;these&lt;/a&gt;)&#xA;don't seem to have natural analogues in the learning-theory setting.&lt;/p&gt;&#xA;" OwnerUserId="8237" LastEditorUserId="8237" LastEditDate="2019-04-05T21:06:53.970" LastActivityDate="2019-04-05T21:06:53.970" CommentCount="2" ContentLicense="CC BY-SA 4.0" />
  <row Id="14389" PostTypeId="1" AcceptedAnswerId="14399" CreationDate="2012-11-20T05:36:43.387" Score="2" ViewCount="164" Body="&lt;p&gt;In [Randomized Algorithms, Motwani and Raghavan] book, it is stated that the method of independent iterations to reduce the error probability in Monte Carlo algorithms (amplification according to Wikipedia) has its analogy in Las vegas algorithms. The authors then cited the following references:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Alt, Helmut, et al. &quot;A method for obtaining randomized algorithms with small tail probabilities.&quot; Algorithmica 16.4 (1996): 543-547.&lt;/li&gt;&#xA;&lt;li&gt;Luby, Michael, Alistair Sinclair, and David Zuckerman. &quot;Optimal speedup of Las Vegas algorithms.&quot; Information Processing Letters 47.4 (1993): 173-180.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;These suggestions of the mentioned papers are a bet very generalized in my opinion. I am wondering - are there well-known algorithms that use the concepts introduced in the previous papers ? &lt;/p&gt;&#xA;" OwnerUserId="5411" LastEditorUserId="-1" LastEditDate="2012-11-24T07:33:05.060" LastActivityDate="2012-11-24T07:33:05.060" Title="Independent iterations in Las Vegas algorithms" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;randomized-algorithms&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14390" PostTypeId="1" CreationDate="2012-11-20T06:20:22.000" Score="-3" ViewCount="211" Body="&lt;p&gt;It has been proved that a Turing Machine cannot solve the halting problem, but is it (being able to solve the halting problem) really necessary for implementing Strong AI ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We human can understand the halting problem, and tell if a program will halt or not; but that is not our 'program language'. For example, we don't know how long we can live, precisely; we can't determine how much time we will spend for daydreaming while we are daydreaming.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;From this point of view, it seems that we human cannot solve our own 'halting problem', either. So, is being able to solve the halting problem really necessary for implementing Strong AI? I don't think so. What do you think？&lt;/p&gt;&#xA;" OwnerUserId="9017" LastActivityDate="2012-11-20T08:10:16.267" Title="Can Turing Machine implements Strong AI?" Tags="&lt;turing-machines&gt;&lt;ai.artificial-intel&gt;" AnswerCount="1" CommentCount="3" ClosedDate="2012-11-20T16:55:11.653" ContentLicense="CC BY-SA 3.0" />
  <row Id="14391" PostTypeId="1" CreationDate="2012-11-20T06:20:43.170" Score="7" ViewCount="217" Body="&lt;p&gt;Expander constructions given an expander which is a sub-graph of a complete graph. Sometimes we don't want to construct an arbitrary expander, want to find an expander inside another given graph. In a sense this is similar to finding a spanning tree inside a graph. Furthermore we usually don't want just an arbitrary expander, we have some cost function on the edges and we want to minimize the total cost of the edges we select for our expander (similar to minimum wight spanning tree problem). Is there a good algorithm for this purpose? Or is this problem computationally difficult to solve?&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Minimum Expander Problem&lt;/strong&gt;:&lt;br&gt;&#xA;  Given a graph $G$ with weights for its edges, and two numbers $d$ and $h$,&lt;br&gt;&#xA;  Find a a sub-graph of $G$ which is expander of degree $d$ and expansion $h$ and &#xA;  has the minimum total weight among such sub-graphs.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;We can relax the problem to get an approximation version (e.g. the total weight is at most twice of the optimal weight, and the sub-graph is close to a $d$ and $h$ expander.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is known about these problems?&lt;/p&gt;&#xA;" OwnerUserId="14197" LastActivityDate="2012-11-21T07:26:13.353" Title="Minimum weight expander" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;graph-theory&gt;&lt;approximation-algorithms&gt;&lt;expanders&gt;" AnswerCount="0" CommentCount="4" FavoriteCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14392" PostTypeId="2" ParentId="14390" CreationDate="2012-11-20T08:10:16.267" Score="2" Body="&lt;p&gt;This is a very soft question and AI is not my field, but I wanted to clarify about the halting problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is &lt;em&gt;not&lt;/em&gt; generally accepted that humans can tell if a program will halt. This is also more of a question of philosophy than of CS Theory - you might check out &lt;a href=&quot;https://cs.stackexchange.com/questions/3271/human-computing-power-can-humans-decide-the-halting-problem-on-turing-machines&quot;&gt;this post&lt;/a&gt;, and you may find discussions more to your liking on other Stackexchanges (I'm guessing that's the reason for the unexplained down-vote). If you're not convinced that it is questionable whether humans can solve the halting problem, I would recommend reading up on &lt;a href=&quot;http://en.wikipedia.org/wiki/G%C3%B6del%27s_incompleteness_theorems&quot; rel=&quot;nofollow noreferrer&quot;&gt;Gödel's incompleteness theorem&lt;/a&gt;, which is the more mathematical side of the halting problem, and poses questions to me that I don't believe I can answer.&lt;/p&gt;&#xA;" OwnerUserId="12483" LastEditorUserId="-1" LastEditDate="2017-04-13T12:48:30.830" LastActivityDate="2012-11-20T08:10:16.267" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14395" PostTypeId="1" CreationDate="2012-11-20T12:45:14.400" Score="-3" ViewCount="116" Body="&lt;p&gt;When I read NP-completeness for the first time, I really wondered why is the concept of Reductions given such high emphasis, after all we have been looking at concepts such as reductions and 'special case of one another problem' in mathematics since elementary algebra. What I mean by reductions in Algebra is following -&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Problem 1: Find value of x such that $x^2+ax+b=0$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Problem 2: Find value of x such that $(x+m/n)^2=0$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We can go on proving both the problems are same and one solution can be translated to another.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is that &quot;Is the concept of reductions in Computational Intractability same as that in above algebraic theory?&quot; If not, how is the reductions in CI theory different? &lt;/p&gt;&#xA;" OwnerUserId="12559" LastEditorUserId="12559" LastEditDate="2012-11-20T13:02:59.880" LastActivityDate="2012-11-20T14:46:27.183" Title="Difference between 'Reductions' in algebraic problems vs “Reductions” in Computational Intractability" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;&lt;reductions&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="0" ClosedDate="2012-11-24T03:10:44.473" ContentLicense="CC BY-SA 3.0" />
  <row Id="14396" PostTypeId="1" AcceptedAnswerId="14401" CreationDate="2012-11-20T13:06:29.107" Score="34" ViewCount="3482" Body="&lt;p&gt;I often hear that for many problems we know very elegant randomized algorithms, but no, or only more complicated, deterministic solutions. However, I only know a few examples for this. Most prominently&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Randomized Quicksort (and related geometric algorithms, e.g. for convex hulls)&lt;/li&gt;&#xA;&lt;li&gt;Randomized Mincut&lt;/li&gt;&#xA;&lt;li&gt;Polynomial Identity Testing&lt;/li&gt;&#xA;&lt;li&gt;Klee's Measure problem&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Among these, only polynomial identity testing seems to be really hard without the use of randomness. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Do you know more examples of problems where a randomized solution is very elegant or very efficient, but deterministic solutions are not? Ideally, the problems should be easy to motivate for laymen (unlike e.g. polynomial identity testing).&lt;/p&gt;&#xA;" OwnerUserId="12560" LastEditorUserId="-1" LastEditDate="2012-11-24T07:33:02.453" LastActivityDate="2013-05-08T04:58:26.817" Title="Efficient and simple randomized algorithms where determinism is difficult" Tags="&lt;ds.algorithms&gt;&lt;randomized-algorithms&gt;&lt;derandomization&gt;" AnswerCount="6" CommentCount="7" FavoriteCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="14397" PostTypeId="2" ParentId="14396" CreationDate="2012-11-20T14:14:17.243" Score="8" Body="&lt;p&gt;Finding a &lt;strong&gt;maximal independent set in a distributed network&lt;/strong&gt; of $n$ nodes with maximum degree $\Delta$. There's a known lower bound [3] of $\min(\Omega(\log\Delta),\Omega(\sqrt{\log n}))$ that holds for randomized and deterministic algorithms.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The following is a simple randomized distributed algorithm [1] that proceeds in synchronous &lt;em&gt;rounds&lt;/em&gt;. (In a round, every node $u$ can perform some local computation and send messages to its neighbors. These messages are guaranteed to be received before the start of the next round.)&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;In every round, each active node $u$ marks itself with probability $1/d_u$ where $d_u&amp;gt;0$ is the degree of $u$; if $d_u=0$, $u$ simply enters the independent set. (Initially, every node is active.)&lt;/li&gt;&#xA;&lt;li&gt;If $u$ is the only marked node in its neighborhood, $u$ enters the independent set, deactivates itself and notifies all of its neighbors to deactivate themselves. The degrees of the remaining active nodes are decreased accordingly, i.e., all edges to deactivated nodes are removed. &lt;/li&gt;&#xA;&lt;li&gt;Otherwise, if there is some neighboring node $v$ that is also marked, the lower degree vertex unmarks itself and remains active.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;It can be shown that this algorithm terminates in $O(\log n)$ rounds with high probability, by arguing that half of the remaining edges are deleted in every round. In contrast, the fastest known deterministic distributed algorithm [2] takes $O(n^{1/\sqrt{\log n}})$ rounds and is considerably more complicated.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;[1] Michael Luby: A Simple Parallel Algorithm for the Maximal Independent Set Problem. SIAM J. Comput. 15(4): 1036-1053 (1986)&#xA;&lt;a href=&quot;http://dx.doi.org/10.1137/0215074&quot;&gt;http://dx.doi.org/10.1137/0215074&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] Alessandro Panconesi, Aravind Srinivasan: On the Complexity of Distributed Network Decomposition. J. Algorithms 20(2): 356-374 (1996)&#xA;&lt;a href=&quot;http://dx.doi.org/10.1006/jagm.1996.0017&quot;&gt;http://dx.doi.org/10.1006/jagm.1996.0017&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[3] Fabian Kuhn, Thomas Moscibroda, Roger Wattenhofer: Local Computation: Lower and Upper Bounds. CoRR abs/1011.5470 (2010)&#xA;&lt;a href=&quot;http://arxiv.org/abs/1011.5470&quot;&gt;http://arxiv.org/abs/1011.5470&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="6785" LastEditorUserId="6785" LastEditDate="2012-11-20T17:28:59.167" LastActivityDate="2012-11-20T17:28:59.167" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14398" PostTypeId="2" ParentId="14395" CreationDate="2012-11-20T14:46:27.183" Score="1" Body="&lt;p&gt;First, I agree that there is a similarity, and perhaps complexity could be more easily taught if people observed it, and used that when explaining reductions in complexity. Neat!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Second, there's a little bit of a slippery slope here, because really any proof system that people would actually use contains a lot of steps that look like &quot;$A \iff B$&quot;, so we might say that most or all proofs have reductions. The part about complexity reductions and algebraic reductions that makes them beautiful is that you can compress $A \iff B \iff \cdots \iff Z$ to $A \iff Z$ and argue directly by the properties of $A$ and $Z$, without needing to justify the intermediate steps. So, I'll stick to that kind of more &quot;beautiful&quot; reduction.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think there's two parts to why these reductions are defined freshly. First, in complexity there's usually a time bound, so it's not just about saying &quot;$A \iff B$&quot;, but saying &quot;From $A$ I can generate a $B$ very quickly such that $A \iff B$.&quot; When we use reductions in other parts of math, we pay less attention to the time to generate it. If you can generate it, then go for it, and you can use that in your proof.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think the second reason may be that reductions outside of complexity are one of many available tools, but for parts of complexity reduction is the &lt;em&gt;only&lt;/em&gt; tool. In algebra, there are almost always (always?) ways to argue a fact without using a reduction; certainly without using a major, significant, beautiful reduction. In complexity, the way that many classes are defined, you cannot show membership in a class without forming a reduction. This means many people might go through algebra and not see the concept of reductions there. So if they learn complexity theory they must be taught this concept, and the best thing a teacher/book can do at that point is show the concept to everyone.&lt;/p&gt;&#xA;" OwnerUserId="12483" LastActivityDate="2012-11-20T14:46:27.183" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14399" PostTypeId="2" ParentId="14389" CreationDate="2012-11-20T15:39:01.427" Score="4" Body="&lt;p&gt;Rapid restarts in SAT solving are one area where the sequence introduced in Luby,Sinclair,Zuckerman is used. See for example Section 2.1 in &lt;a href=&quot;http://www.st.ewi.tudelft.nl/~marijn/publications/rapid.pdf&quot; rel=&quot;nofollow&quot;&gt;http://www.st.ewi.tudelft.nl/~marijn/publications/rapid.pdf&lt;/a&gt; for some references.&lt;/p&gt;&#xA;" OwnerUserId="5183" LastActivityDate="2012-11-20T15:39:01.427" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14400" PostTypeId="1" AcceptedAnswerId="20167" CreationDate="2012-11-20T15:56:24.200" Score="24" ViewCount="1768" Body="&lt;p&gt;Recently I have seen several articles on arxiv that refer to a proof system called sum-of-squares.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can someone explain what is a sum-of-squares proof and why such proofs are important/interesting? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;How are they related to other algebraic proof systems? Are they some kind of dual to Lassere?&lt;/p&gt;&#xA;" OwnerUserId="14197" LastEditorUserId="14197" LastEditDate="2015-10-19T19:27:45.707" LastActivityDate="2015-10-19T19:27:45.707" Title="Sum-of-squares proof system" Tags="&lt;cc.complexity-theory&gt;&lt;lo.logic&gt;&lt;algebraic-complexity&gt;&lt;proof-complexity&gt;&lt;sum-of-squares&gt;" AnswerCount="2" CommentCount="4" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="14401" PostTypeId="2" ParentId="14396" CreationDate="2012-11-20T16:10:18.767" Score="36" Body="&lt;p&gt;&lt;strong&gt;Sorting nuts and bolts&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The following problem was suggested by Rawlins in 1992:  Suppose you are given a collection of n nuts and n bolts.  Each bolt fits exactly one nut, and otherwise, the nuts and bolts have distinct sizes.  The sizes are too close to allow direct comparison between pairs of bolts or pairs of nuts.  However, you can compare any nut to any bolt by trying to screw them together; in constant time, you will discover whether the bolt is too large, too small, or just right for the nut.  Your task is to discover which bolt fits each nut, or equivalently, to sort the nuts and bolts by size.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A straightforward variant of randomized quicksort solves the problem in $O(n \log n)$ time with high probability.  Pick a random bolt; use it to partition the nuts; use the matching nut to partition the bolts; and recurse.  However, finding a deterministic algorithm that even runs in $o(n^2)$ is nontrivial.  Deterministic $O(n\log n)$-time algorithms were finally found in 1995 by Bradford and independently by Komlós, Ma, and Szemerédi.  Under the hood, both algorithms use variants of the AKS parallel sorting network, so the hidden constant in the $O(n\log n)$ time bound is quite large; the hidden constant for the randomized algorithm is 4.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Noga Alon, Manuel Blum, Amos Fiat, Sampath Kannan, Moni Noar, and Rafail Ostrovsky. Matching nuts and bolts. &lt;em&gt;Proc. 5th Ann. ACM-SIAM Symp. Discrete Algorithms&lt;/em&gt;, 690–696, 1994.&lt;/li&gt;&#xA;&lt;li&gt;Noga Alon, Phillip G. Bradford, and Rudolf Fleischer. Matching nuts and bolts faster. &lt;em&gt;Inform. Proc. Lett.&lt;/em&gt; 59(3):123–127, 1996.&lt;/li&gt;&#xA;&lt;li&gt;Phillip G. Bradford. Matching nuts and bolts optimally. Tech. Rep. MPI-I-95-1-025, Max-Planck-Institut für Informatik, 1995. &lt;a href=&quot;http://domino.mpi-inf.mpg.de/internet/reports.nsf/NumberView/1995-1-025&quot;&gt;http://domino.mpi-inf.mpg.de/internet/reports.nsf/NumberView/1995-1-025&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Phillip G. Bradford and Rudolf Fleischer. Matching nuts and bolts faster.  &lt;em&gt;Proc. 6th. Int. Symp. Algorithms Comput.&lt;/em&gt;, 402–408, 1995. Lecture Notes Comput. Sci. 1004.&lt;/li&gt;&#xA;&lt;li&gt;János Komlós, Yuan Ma, and Endre Szemerédi. Matching nuts and bolts in $O(n\log n)$ time. &lt;em&gt;SIAM J. Discrete Math.&lt;/em&gt; 11(3):347–372, 1998.&lt;/li&gt;&#xA;&lt;li&gt;Gregory J. E. Rawlins. &lt;em&gt;Compared To What? : An Introduction to The Analysis of Algorithms&lt;/em&gt;. Computer Science Press/W. H. Freeman, 1992.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="111" LastEditorUserId="111" LastEditDate="2012-11-21T01:08:51.360" LastActivityDate="2012-11-21T01:08:51.360" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="14402" PostTypeId="2" ParentId="14396" CreationDate="2012-11-20T18:03:07.477" Score="6" Body="&lt;h2&gt;Leader Election in an Anonymous Ring of Processes&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;Suppose that you have a ring network of processes that do not have ids and that communicate by message passing. Initially, every process is in the same state. &#xA;You want to design a distributed algorithm such that eventually exactly $1$ process enters the &lt;em&gt;elected&lt;/em&gt; state and all other processes enter the &lt;em&gt;non-elected&lt;/em&gt; state. This is the so called leader election problem which is one of the fundamental symmetry breaking tasks in a distributed system and has many applications.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There's a simple argument (e.g. [1]) that there is no &lt;em&gt;deterministic&lt;/em&gt; leader election algorithm for an anonymous ring.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Model:&lt;/strong&gt; We assume that the computation advances in synchronous rounds where, in each round, every process performs some local computation, sends messages to its neighbors in the ring, and receives messages from its neighbors.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the sake of a contradiction, let's assume that there is such a deterministic leader election algorithm $A$.&#xA;It is sufficient to show that, at the start of any round $r\ge 0$, all processes are in the same state, since this implies that there cannot be exactly $1$ process in the &lt;em&gt;elected&lt;/em&gt; state.&#xA;Since processes do not have ids and the network is symmetric, every process is in the same initial state, which provides the induction base.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the induction step, consider some round $r\ge 0$ and assume that every process is in the same state at the start of round $r$. Therefore, since algorithm $A$ is deterministic, every process performs exactly the same computation and sends exactly the same messages during round $r$. This in turn implies that every process receives exactly the same messages during $r$ and, by the start of round $r+1$, is in the same state. Thus, no such algorithm $A$ can exist.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $A$ is a randomized algorithm on the other hand and processes know the size of the ring $n$, there's an easy way to break symmetry, by generating a random id from the range $[1,n^4]$, which will result in unique ids for all processes with high probability. A simple and naive algorithm proceeds by letting every process send its id along the ring and instruct processes to forward only messages containing the largest id seen so far. This guarantees that only the process who generated the largest id will  receive its own message once it has traversed the entire ring and elect itself as the leader. &lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;[1] Dana Angluin: Local and Global Properties in Networks of Processors (Extended Abstract). STOC 1980: 82-93.&#xA;&lt;a href=&quot;http://doi.acm.org/10.1145/800141.804655&quot;&gt;http://doi.acm.org/10.1145/800141.804655&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="6785" LastActivityDate="2012-11-20T18:03:07.477" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14403" PostTypeId="2" ParentId="14319" CreationDate="2012-11-20T18:29:19.043" Score="-8" Body="&lt;p&gt;?? coloring and clique finding have been known to be tightly coupled for decades via graph theory (possibly even in the 60s?) even not through SAT as an intermediary (which became typical after the Cook proof in 1971). believe there are algorithms based on the following &lt;a href=&quot;http://en.wikipedia.org/wiki/Graph_coloring&quot; rel=&quot;nofollow&quot;&gt;basic property&lt;/a&gt;:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;If G contains a clique of size k, then at least k colors are needed to color that clique; in other words, the chromatic number is at least the clique number:&#xA;  $\chi(G) \ge \omega(G).\,$&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;not sure of exact refs but [1,2] are good places to start, an exact algorithm or ref is at least likely cited in these books.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] &lt;a href=&quot;http://books.google.com/books/about/Cliques_Coloring_and_Satisfiability.html?id=-ysHoxUwdMUC&quot; rel=&quot;nofollow&quot;&gt;Cliques, coloring, &amp;amp; satisfiability, 2nd DIMACS challenge&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] &lt;a href=&quot;http://dimacs.rutgers.edu/Volumes/Vol26.html&quot; rel=&quot;nofollow&quot;&gt;Dimacs vol 26: Cliques, coloring and satisfiability&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2012-11-20T18:29:19.043" CommentCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="14404" PostTypeId="1" CreationDate="2012-11-20T18:32:36.793" Score="14" ViewCount="668" Body="&lt;p&gt;What is the complexity class associated with exhaustive search algorithms? (if there is one)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is it NP or PSPACE?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there restricted models of computation capturing the class of exhaustive search algorithms similar to models for greedy and dynamic programming?&lt;/p&gt;&#xA;" OwnerUserId="14197" LastEditorUserId="14197" LastEditDate="2015-10-19T19:27:07.063" LastActivityDate="2015-10-19T19:27:07.063" Title="Complexity class associated with exhaustive search" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;big-picture&gt;&lt;machine-models&gt;" AnswerCount="1" CommentCount="9" FavoriteCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="14405" PostTypeId="1" AcceptedAnswerId="14412" CreationDate="2012-11-20T19:49:59.147" Score="3" ViewCount="226" Body="&lt;p&gt;Given a set $S = \{1, ..., n\}$, an element is randomly drawn with replacement from $S$. Let's say we got the following sequence $X = \{x _1, ..., x _k\}$ until all elements of $S$ are seen, where $x _i$ is the element drawn at the $i^{th}$ draw. In here, $k = n H_n$ following the standard solution of the coupon collector problem. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that $x _k$ have been seen only once. We create the $S'$ = $\{S - x _k\}$ and $X' = \{X - x _k\}$. We shuffle $X'$ and get a shuffled series $\{p(x'_1), ..., p(x' _{k-1})\}$, where $p(x' _i)$ is the $i^{th}$ drawn element from the shuffled set $X'$. What is the smallest index $m$ such that the sequence $\{p(x' _1), ..., p(x' _m)\}$ contains all elements in $S'$ ? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can we simply assume that $m = (n-1) H _{n-1}$ following the same logic of coupon collector ?  or is $k$ is too small to assume that the distribution of $X'$ is uniform ? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If not, then what is the expected value of $m$ ?&lt;/p&gt;&#xA;" OwnerUserId="5411" LastEditorUserId="-1" LastEditDate="2012-11-24T07:32:54.687" LastActivityDate="2012-11-24T07:32:54.687" Title="Coupon collector - the effect of randomization" Tags="&lt;ds.algorithms&gt;&lt;pr.probability&gt;&lt;randomness&gt;&lt;randomized-algorithms&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14408" PostTypeId="2" ParentId="14396" CreationDate="2012-11-20T20:26:45.523" Score="12" Body="&lt;p&gt;&lt;strong&gt;Most streaming algorithms&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the streaming model of computation (&lt;a href=&quot;http://www.tau.ac.il/~nogaa/PDFS/amsz4.pdf&quot;&gt;AMS&lt;/a&gt;, &lt;a href=&quot;http://algo.research.googlepages.com/eight.ps&quot;&gt;book&lt;/a&gt;), an algorithm processes an online sequence of updates and is restricted to keep only sublinear space. At any point in time, the algorithm should be able to answer a query.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For many problems there exist sublinear space randomized streaming algorithms while provably no deterministic algorithm can solve the problem in sublinear space. This is related to gaps between randomized and deterministic communication complexity. A simple example is the &lt;em&gt;distinct count&lt;/em&gt; problem: at each time step $t$ the algorithm is given an integer $i_t \in [n]$, and it should be able to approximate $D_m = |\{i_t: t = 1\ldots m\}|$, i.e. the number of distinct integers seen up to time step $m$. It's relatively easy to show that any deterministic algorithm achieving constant approximation must use $\Omega(n)$ space (see e.g. &lt;a href=&quot;http://stellar.mit.edu/S/course/6/fa07/6.895/courseMaterial/topics/topic1/lectureNotes/lec9/lec9.pdf&quot;&gt;lecture notes&lt;/a&gt; by Piotr Indyk). On the other hand the &lt;a href=&quot;http://algo.inria.fr/flajolet/Publications/FlMa85.pdf&quot;&gt;clever sampling algorithm&lt;/a&gt; of Flajolet and Martin (simple analysis with limited randomness in the AMS paper linked above) achieves constant approximation in $O(\log n)$ bits. The &lt;a href=&quot;http://www.almaden.ibm.com/cs/people/dpwoodru/knw11.pdf&quot;&gt;latest work&lt;/a&gt; on the problem gives an optimal $O(\frac{1}{\epsilon^2} + \log n)$ algorithm that computes an $1\pm \epsilon$ approximation. &lt;/p&gt;&#xA;" OwnerUserId="4896" LastEditorUserId="4896" LastEditDate="2012-11-20T21:47:05.860" LastActivityDate="2012-11-20T21:47:05.860" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14409" PostTypeId="2" ParentId="14329" CreationDate="2012-11-20T23:12:09.247" Score="2" Body="&lt;p&gt;Here's another approach, which I think runs in $O(k)$ time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Define $S_k$ by&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$S_k = {1 \choose k} + {2 \choose k} + \dots + {n \choose k} = {n+1 \choose k+1}.$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The right-hand-side can be computed in $O(k)$ time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Similarly,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$S_{k-1} = {1 \choose k-1} + {2 \choose k-1} + \dots + {n \choose k-1} = {n+1 \choose k},$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;and given the value of the previous sum $S_k$, we can compute this sum $S_{k-1}$ in $O(1)$ time (using the fact that ${n+1 \choose k} = {n+1 \choose k+1} \times {k+1 \over n-k+1}$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In this way, we can compute all of the sums $S_k,\dots,S_2,S_1,S_0$ in $O(k)$ time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Furthermore, we can find constants $c_0,\dots,c_k$ such that&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$x^k = c_k {x \choose k} + \dots + c_1 {x \choose 1} + c_0 {x \choose 0}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;holds for all $x$.  It follows that&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$S = 1^k + 2^k + \dots + n^k = c_k S_k + \dots + c_1 S_1 + c_0 S_0,$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;which can be computed in $O(k)$ time.&lt;/p&gt;&#xA;" OwnerUserId="5038" LastActivityDate="2012-11-20T23:12:09.247" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14410" PostTypeId="2" ParentId="14396" CreationDate="2012-11-20T23:52:47.220" Score="18" Body="&lt;p&gt;Once you are not just talking about poly-time but rather look at the many models of computation we study, there are examples everywhere:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In Logspace: Un-directed ST connectivity (in RL since 1979, and in L only since 2005)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In NC: Finding a perfect matching in a bipartite graph in parallel (in RNC and still not known to be in NC)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In interactive proofs: deterministic ones give NP, while randomized ones can do PSPACE.  Related: checking a proof deterministically requires looking at all the proof, while PCP proofs allow you to check only a constant number of bits.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In Algorithmic Mechanism Design: many randomized truthful approximation mechanisms with no deterministic counterpart.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In Communication complexity: the equality function requires linear communication deterministically but logarithmic (or, depending on exact model, constant) communication randomly.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In decision trees: evaluating an and-or tree requires linear queries deterministically but much less with randomization.  This is essentially equivalent to alpha-beta pruning which gives a randomized sub-linear algorithm for game-tree evaluation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In streaming models, distributed computing models: see previous answers.&lt;/p&gt;&#xA;" OwnerUserId="42" LastActivityDate="2012-11-20T23:52:47.220" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14411" PostTypeId="2" ParentId="14396" CreationDate="2012-11-21T06:19:44.447" Score="6" Body="&lt;p&gt;&lt;strong&gt;Majority problem in a query model.&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Problem&lt;/strong&gt;. We are given a set of $n$ balls colored with two or more colors. The goal is to ﬁnd a ball of the majority color (i.e., a color that occurs more than n/2 times) assuming such a color exists, using queries of the form &quot;Does ball $i$ and ball $j$ have the same color?&quot;. The strategy must be oblivious, i.e., queries cannot depend on the results of previous queries.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Randomized Algorithm&lt;/strong&gt;. Pick a random ball and check if more than $n/2$ balls have the same color. This algorithm runs in $O(n)$ time in expectation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Deterministic $O(n)$ algorithm&lt;/strong&gt; is quite non-trivial and is a nice application of expanders. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;F. R. K. Chung, R. L. Graham, J. Mao, and A. C. Yao, Oblivious and adaptive strategies for the Majority and Plurality problems, &lt;em&gt;Proc. COCOON 2005&lt;/em&gt;, pp. 329–338.&lt;/p&gt;&#xA;" OwnerUserId="547" LastEditorUserId="12602" LastEditDate="2013-05-08T04:58:26.817" LastActivityDate="2013-05-08T04:58:26.817" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14412" PostTypeId="2" ParentId="14405" CreationDate="2012-11-21T06:25:00.690" Score="7" Body="&lt;p&gt;$E[m]$ equals $n(H_n-1)$.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here's a more complete proof sketch, following the argument suggested in my comment.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We start by showing that each permutation of the first $k-1$ elements is equally likely.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More precisely, let $X^*=(X_1,X_2,\ldots,X_K, \ldots)$ be an infinite random sequence where each $X_i$ is drawn independently and uniformly from $S$.  Let r.v. $K$ be the first index at which all elements of $S$ have been seen. Let r.v. $X'=(X_1,X_2,\ldots,X_{K-1})$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $i$ denote any positive integer. Let $s$ denote any element of $S$.&#xA;Let $x=(x_1,x_2,\ldots,x_{i-1})$ denote any value of $X'$ that can occur,&#xA;given that $K=i$ and $X_K = s$.  (That is, $x$ is any length-$(i-1)$ sequence in which&#xA;each element of $S-\{s\}$ occurs, and $s$ does not occur.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $\pi$ be any permutation of $[i-1]$.&#xA;Let $\pi(x)$ denote sequence $x$, permuted by $\pi$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Lemma:&lt;/strong&gt; &lt;em&gt;Fix any such $i$, $s$, $x$, and $\pi$. Conditioned on $K=i$ and $X_k=s$, the probability that $X' = x$ is the same as the probability that $X' = \pi(x)$.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Proof.&lt;/em&gt;  To save typing, let $(i,s)$ denote the event that $K=i\wedge X_K=s$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We want to show $\Pr[X'=x ~|~ (i,s)] = \Pr[X'=\pi(x) ~|~ (i,s)]$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $x\prec X^*$ denote that $x$ is a prefix of $X^*$. &#xA;Let $x,s\prec X^*$ denote that $(x_1,\ldots,x_{i-1},s)$ is a prefix of $X^*$. &#xA;Note that &#xA;$$\Pr[X' = x ~|~ (i,s)]\,\Pr[(i,s)] ~=~ \Pr[X' = x \wedge (i,s)] ~=~ \Pr[x,s\prec X^*] ~=~ \frac{1}{n^i}.$$&#xA;Thus, &#xA;$$\Pr[X' = x ~|~ (i,s)] ~=~ \frac{1}{n^i \Pr[(i,s)]}.$$&#xA;Since the right-hand side is independent of $x$,&#xA;and $\pi(x)$ is also a possible value of $X'$,&#xA;$\Pr[X' = \pi(x) ~|~ (i,s)]$ also equals the right-hand side above.  QED&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Corollary:&lt;/strong&gt; &lt;em&gt;Randomly permuting the first $k-1$ elements of $X$&#xA;(as described in the question) does not change the distribution of $X$.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This implies that the distribution of the r.v. $m$ as defined in the question&#xA;(with permutation of the first $k-1$ elements)&#xA;is the same as the distribution of $m$ if the elements are not permuted.&#xA;That is, $m$ is distributed as the first index at which $n-1$ distinct&#xA;elements in $S$ have been seen.  By a standard calculation, &#xA;&lt;em&gt;$E[m]$ equals $n(H_{n}-1)$.&lt;/em&gt;&lt;/p&gt;&#xA;" OwnerUserId="8237" LastEditorUserId="8237" LastEditDate="2012-11-21T06:38:53.887" LastActivityDate="2012-11-21T06:38:53.887" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14414" PostTypeId="1" AcceptedAnswerId="14418" CreationDate="2012-11-21T08:09:36.467" Score="16" ViewCount="647" Body="&lt;p&gt;Sorry, if this is a naive question, but I could not find the justification in any of the major text books like Bondy-Murty, Diestel or West. &lt;a href=&quot;http://en.wikipedia.org/wiki/Perfect_graph&quot;&gt;Perfect graphs&lt;/a&gt; have many beautiful properties, but what is the single reason they are called perfect? Or is it just a aesthetic preference by Berge?&lt;/p&gt;&#xA;" OwnerUserId="9569" LastEditorUserId="-1" LastEditDate="2012-11-21T08:35:10.637" LastActivityDate="2012-11-21T17:13:34.420" Title="Why are perfect graphs called perfect?" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;terminology&gt;&lt;graph-colouring&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="14415" PostTypeId="1" AcceptedAnswerId="14432" CreationDate="2012-11-21T09:28:35.467" Score="13" ViewCount="908" Body="&lt;p&gt;I know how some negative occurrences can definitively be bad:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;data False&#xA;&#xA;data Bad a = C (Bad a -&amp;gt; a)&#xA;&#xA;selfApp :: Bad a -&amp;gt; a&#xA;selfApp (x@(C x')) = x' x&#xA;&#xA;yc :: (a -&amp;gt; a) -&amp;gt; a&#xA;yc f = selfApp $ C (\x -&amp;gt; f (selfApp x))&#xA;&#xA;false :: False&#xA;false = yc id&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;However, I am not sure whether:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;all inductive types with negative occurences can turn wrong ;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;if so, there is a known mechanical way of doing so ;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;For instance, I've been fighting trying to make this type go wrong:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;type Not a = a -&amp;gt; False&#xA;&#xA;data Bad2 a = C2 (Bad2 (Not a) -&amp;gt; a)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Any pointer to literature on this subject would be appreciated.&lt;/p&gt;&#xA;" OwnerUserId="9138" LastEditorUserId="-1" LastEditDate="2012-11-24T07:32:43.923" LastActivityDate="2021-03-22T09:38:13.753" Title="&quot;Guarded&quot; negative occurrences in definition of inductive types, always bad?" Tags="&lt;lo.logic&gt;&lt;type-theory&gt;&lt;soundness&gt;" AnswerCount="3" CommentCount="2" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="14416" PostTypeId="1" AcceptedAnswerId="18873" CreationDate="2012-11-21T14:32:45.337" Score="1" ViewCount="326" Body="&lt;p&gt;A least-fixed point (LFP) formula is $\leq m$-invariant iff f.a. structrues $\mathcal{A}$ with $|A| \leq m$ and all orderings $&amp;lt;_1,&amp;lt;_2$ on $A$ &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$(\mathcal{A},&amp;lt;_1) \models_{LFP} \varphi \Leftrightarrow (\mathcal{A},&amp;lt;_2) \models_{LFP} \varphi.$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The logic $L_\leq$ is defined such that the modelling-relation is &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$ \mathcal{A} \models_{L_\leq} \varphi \Leftrightarrow \varphi \textrm{ is $\leq |A|$-invariant and } (\mathcal{A},&amp;lt;)\models_{LFP}\varphi \textrm{ for some} &amp;lt;.$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A logic $L$ is efficiently $\operatorname{P}$-bounded for $\operatorname{P}$ if &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;for each $Q \in \operatorname{P}$ there is a $\varphi \in L$ which axiomatizes $Q$&lt;/li&gt;&#xA;&lt;li&gt;for each $\varphi \in L$ there is polynomial $p$ such that the modelling &#xA;relation $\mathcal{A} \models_L \varphi$ can be decided by an algorithm in &#xA;$\leq p(\|\mathcal{A}\|)$ steps&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;A known result is that LFP is an efficiently $\operatorname{P}$-bound logic for $\operatorname{P}$ on the class of ordered structures. A paper states that one can easily deduce from the result that $L_\leq$ is a logic for $\operatorname{P}$. Any ideas how?&lt;/p&gt;&#xA;" OwnerUserId="7594" LastEditorUserId="17082" LastEditDate="2013-09-05T18:42:41.583" LastActivityDate="2013-09-05T18:42:41.583" Title="Least fixed point logic is efficiently $\operatorname{P}$-bounded for $\operatorname{P} \Leftrightarrow L_\leq$ is a logic for $\operatorname{P}$" Tags="&lt;cc.complexity-theory&gt;&lt;lo.logic&gt;&lt;descriptive-complexity&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14417" PostTypeId="2" ParentId="14415" CreationDate="2012-11-21T14:56:41.300" Score="8" Body="&lt;p&gt;Sometimes you can solve recursive equations &quot;by luck&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I presume you want to do this in sets (as opposed to some sort of domain theory) If we unfold your definition and write down the equation directly without Haskell annotations, we get&#xA;$$A \cong (A \to \emptyset) \to A.$$&#xA;Let us consider two cases:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;If $A$ is inhabited, i.e., it contains something, then $A \to \emptyset \cong \emptyset$, therefore the equation reduces to $$A \cong \emptyset \to A \cong 1.$$ And indeed, the singleton set $1$ solves the equation.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;If $A$ is empty then we get $\emptyset \cong (\emptyset \to \emptyset) \to \emptyset \cong 1 \to \emptyset \cong \emptyset$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Conclusion: there are two solutions, the empty type (which you called &lt;code&gt;False&lt;/code&gt;) and the unit type &lt;code&gt;()&lt;/code&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is another interesting example:&#xA;$$A \cong (A \to 2) \to 2,$$&#xA;or in Haskell&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;data Cow a = Moo ((a -&amp;gt; Bool) -&amp;gt; Bool)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;In terms of sets this is $A \cong 2^{2^A}$. By Cantor's theorem there is no solution, as $A$ has fewer elements than $2^{2^A}$. However, if we look at this equation in topological spaces, there is a solution, namely&#xA;$$\mathbb{N} \cong 2^{2^\mathbb{N}}.$$&#xA;This is so because $2^\mathbb{N}$ is the Cantor space, $2^{2^\mathbb{N}}$ is the space of its clopen subsets, of which there are countably many (and you have to think to see that they form a discrete space). Similarly, you can &lt;a href=&quot;http://math.andrej.com/2009/10/12/constructive-gem-double-exponentials/&quot;&gt;exhibit a bijection&lt;/a&gt; between &lt;code&gt;Integer&lt;/code&gt; and &lt;code&gt;(Integer -&amp;gt; Bool) -&amp;gt; Bool&lt;/code&gt; in Haskell.&lt;/p&gt;&#xA;" OwnerUserId="705" LastActivityDate="2012-11-21T14:56:41.300" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14418" PostTypeId="2" ParentId="14414" CreationDate="2012-11-21T16:16:23.693" Score="16" Body="&lt;p&gt;perfect graphs were first motivated by information transmission theory originating with Shannon ie &lt;a href=&quot;http://mathworld.wolfram.com/ShannonCapacity.html&quot;&gt;Shannon Capacity of graphs&lt;/a&gt;. they are called &quot;perfect&quot; by Berge because they can be used to model a noiseless or &quot;perfect&quot; information channel wrt transposition errors in transmission called &quot;confounding&quot;. from intro in [3] which also has a very detailed history in the 1st chapter cowritten by Berge.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;When Claude Berge defined perfect graphs in 1961, he was motivated by a very practical problem: how do we maximize the rate at which information is sent through a (noisy) transmission channel while avoiding the introduction of errors because of the physical imperfections of the system?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;[1] C. Berge, The history of the perfect graphs, Southeast Asian Bull. Math.&#xA;20, No.1 (1996) 5-10.&lt;br&gt;&#xA;[2] C. Berge, Motivations and history of some of my conjectures, Discrete Mathematics&#xA;165-166 (1997) 61-70.&lt;br&gt;&#xA;[3] &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0471489700&quot;&gt;Perfect Graphs&lt;/a&gt; by Jorge L. Ramírez-Alfonsín (Editor), Bruce A. Reed (Editor), J.L.R. Alfonsin (Author). Wiley. Ch1, Origins and Genesis by Berge &amp;amp; Ramírez-Alfonsín&lt;/p&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="7884" LastEditDate="2012-11-21T17:13:34.420" LastActivityDate="2012-11-21T17:13:34.420" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="14420" PostTypeId="2" ParentId="14404" CreationDate="2012-11-21T19:31:53.937" Score="21" Body="&lt;p&gt;It's a little vague, but I like the question. I wrote a paper about it a LONG time ago. &#xA;Maybe this will help the Anonymous questioner: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://stanford.edu/~rrwill/bfsearch-rev.ps&quot;&gt;Brute Force Search and Oracle-Based Computation&lt;/a&gt; &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here's a summary. Informally, if you do not keep any scratch work from previous trials, and just try all possible solutions in lexicographical order until a desired solution is found, then brute force corresponds precisely to $P^{NP}$. If you keep around even $3$ bits of scratch work from one possible solution to the next, then you can do $PSPACE$, via Barrington's theorem. There are other possibilities, such as what happens when you don't run in lex order but according to some other efficiently computable list of all strings.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[&lt;strong&gt;&lt;em&gt;WARNING WARNING WARNING:&lt;/em&gt;&lt;/strong&gt; &lt;em&gt;It's likely that I disagree with almost all opinions stated in this paper. It was written about 10 years ago, by someone with the same name but who is essentially a different person.&lt;/em&gt;]&lt;/p&gt;&#xA;" OwnerUserId="225" LastActivityDate="2012-11-21T19:31:53.937" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14422" PostTypeId="2" ParentId="14375" CreationDate="2012-11-21T20:24:51.123" Score="5" Body="&lt;p&gt;Yes, people have looked at this and related groups, though not a whole lot as far as I can tell. For example:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Morozov, A. S. &lt;a href=&quot;http://www.ams.org/mathscinet-getitem?mr=1457785&quot;&gt;Turing reducibility as algebraic embeddability&lt;/a&gt;. Siberian Math. J. 38 (1997), no. 2, 312–313. Let $G_d$ denote the group of permutations of $\mathbb{N}$ computable below the Turing degree $d$. Morozov shows that $d_1 \leq_{T} d_2$ if and only if $G_{d_1} \hookrightarrow G_{d_2}$. (Note that a permutation and its inverse always have the same Turing degree. This no longer holds if we restrict to primitive recursive or poly-time reductions.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Kent, C. F. &lt;a href=&quot;http://www.ams.org/mathscinet-getitem?mr=140406&quot;&gt;Constructive analogues of the group of permutations of the natural numbers&lt;/a&gt;. Trans. Amer. Math. Soc. 104 (1962) 347–362. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In fact, if I recall correctly, the primitive recursive permutations generate the group of all computable permutations. (If you restrict attention to the group of permutations $\pi$ such that both $\pi$ and $\pi^{-1}$ are primitive recursive, you get a smaller group.) Furthermore, every computable permutation can be written as a word of length six in the primitive recursive permutations and their inverses. I think the same result holds if you replace &quot;primitive recursive&quot; by &quot;polynomial time.&quot; [I don't recall the reference just now, but I have a physical copy of the paper at home. I will post the reference when I return from traveling.]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Slightly different but related:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Combarro, E. F. &lt;a href=&quot;http://www.ams.org/mathscinet-getitem?mr=2048758&quot;&gt;Classification of subsets of natural numbers by computable permutations&lt;/a&gt;. Siberian Math. J. 45 (2004), no. 1, 125–135. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The group of computable permutations is not finitely generated (Is that what you meant by &quot;Are there generators to this group?&quot; Every group has generators, for example, the entire group...). If it were, then there would be a c.e. set $I$ of indices such that the set $\{\varphi_i : i \in I\}$ was exactly the set of computable permutations (where $\varphi_i$ is the $i$-th computable function in some acceptable enumeration). It then takes a little argument to show that this cannot happen (start from the fact that the set of &lt;em&gt;all&lt;/em&gt; indices of computable permutations is $\Pi^0_2$-complete).&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2012-11-21T20:24:51.123" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14423" PostTypeId="2" ParentId="14319" CreationDate="2012-11-21T21:07:54.920" Score="16" Body="&lt;p&gt;Given a graph $G$ and a number $k$, such that you want to know whether $G$ contains a $k$-clique, let n be the number of vertices in $G$. We construct another graph $H$, such that $H$ is $n$-colorable if and only if $G$ has a $k$-clique, as follows:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(1) For each vertex $v$ in $G$, make an $n$-clique of vertices $(v,i)$ in $H$, where $i$ ranges from $1$ to $n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(2) Add one additional vertex $x$ to $H$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(3) For each triple $\{x,y,z\}$ of vertices in $H$, where $y=(v,i)$ and $z=(u,j)$, test whether one of the following conditions holds: either $u\ne v$ and $i=j$, or $u$ and $v$ are nonadjacent vertices in $G$ with $\max(i,j)\le k$. If either of these two things is true, add another $n$-clique to $H$. Within this clique, select three vertices $x'$, $y'$, and $z'$. Connect $x$ to every vertex in the clique except for $y'$ and $z'$; connect $y$ to every vertex in the clique except for $x'$ and $z'$; and connect $z$ to every vertex in the clique except for $x'$ and $y'$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The gadgets added in step (3) prevent the triple of vertices $x$, $y$, and $z$ from all being given the same color as each other in a valid coloring of $H$. The clique in $G$ can be recovered from a coloring of $H$ as the set of vertices $(v,i)$ that are in the same color class as $x$ and that have $i\le k$.&lt;/p&gt;&#xA;" OwnerUserId="95" LastEditorUserId="95" LastEditDate="2012-11-21T21:17:07.690" LastActivityDate="2012-11-21T21:17:07.690" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="14424" PostTypeId="2" ParentId="14363" CreationDate="2012-11-21T21:44:29.160" Score="3" Body="&lt;p&gt;As already suggested above, &lt;em&gt;process algebra&lt;/em&gt; or &lt;em&gt;process calculus&lt;/em&gt; is the place to start. Quoting freely from the &lt;a href=&quot;http://en.wikipedia.org/wiki/Process_calculus&quot; rel=&quot;nofollow&quot;&gt;respective Wikipedia page&lt;/a&gt;,&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;History&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;In the first half of the 20th century, various formalisms were&#xA;  proposed to capture the informal concept of a computable function,&#xA;  with μ-recursive functions, Turing Machines and the lambda calculus&#xA;  possibly being the best-known examples today. The surprising fact that&#xA;  they are essentially equivalent, in the sense that they are all&#xA;  encodable into each other, supports the Church-Turing thesis. Another&#xA;  shared feature is more rarely commented on: they all are most readily&#xA;  understood as models of sequential computation. The subsequent&#xA;  consolidation of computer science required a more subtle formulation&#xA;  of the notion of computation, in particular explicit representations&#xA;  of concurrency and communication. Models of concurrency such as the&#xA;  process calculi, Petri nets in 1962, and the Actor model in 1973&#xA;  emerged from this line of enquiry.&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;Research on process calculi began in earnest with Robin Milner's&#xA;  seminal work on the Calculus of Communicating Systems (CCS) during the&#xA;  period from 1973 to 1980. C.A.R. Hoare's Communicating Sequential&#xA;  Processes (CSP) first appeared in 1978, and was subsequently developed&#xA;  into a full-fledged process calculus during the early 1980s. There was&#xA;  much cross-fertilization of ideas between CCS and CSP as they&#xA;  developed. In 1982 Jan Bergstra and Jan Willem Klop began work on what&#xA;  came to be known as the Algebra of Communicating Processes (ACP), and&#xA;  introduced the term process algebra to describe their work.&lt;a href=&quot;http://en.wikipedia.org/wiki/Process_calculus&quot; rel=&quot;nofollow&quot;&gt;1&lt;/a&gt; CCS,&#xA;  CSP, and ACP constitute the three major branches of the process&#xA;  calculi family: the majority of the other process calculi can trace&#xA;  their roots to one of these three calculi.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="121" LastActivityDate="2012-11-21T21:44:29.160" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14425" PostTypeId="1" AcceptedAnswerId="14466" CreationDate="2012-11-21T22:09:06.300" Score="21" ViewCount="3028" Body="&lt;p&gt;While reasoning a bit on &lt;a href=&quot;https://cstheory.stackexchange.com/questions/14319/natural-clique-to-k-color-reduction&quot;&gt;this question&lt;/a&gt;, I've tried to identify all the different reasons for which a graph $G = (V_G,E_G)$ may fail to be $k$ colorable. These are the only 2 reasons that I was able to identify so far:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;$G$ contains a clique of size $k+1$. This is the obvious reason.&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;There exists a subgraph $H = (V_H, E_H)$ of $G$ such that both the following statements are true:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$H$ is not $k-1$ colorable.&lt;/li&gt;&#xA;&lt;li&gt;$\exists x \in V_G - V_H\ \forall y \in V_H\ \{x,y\} \in E_G$. In other words there exists a node $x$ in $G$ but not in $H$, such that $x$ is connected to each node in $H$.&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;We can see the 2 reasons above as rules. By recursively applying them, the only 2 ways to build a non $k$ colorable graph which does not contain a $k+1$ clique are:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Start from a cycle of even length (which is $2$ colorable), then apply rule 2 for $k-1$ times. Note that an edge is not considered to be a cycle of length $2$ (otherwise this process would have the effect of building a $k+1$ clique).&lt;/li&gt;&#xA;&lt;li&gt;Start from a cycle of odd length (which is $3$ colorable), then apply rule 2 for $k-2$ times. The length of the starting cycle must be greater than $3$ (otherwise this process would have the effect of building a $k+1$ clique).&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Question&lt;/strong&gt;  &lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;Is there any further reason, other than those 2 above, that makes a graph non $k$ colorable?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;$\ $&lt;br&gt;&#xA;&lt;strong&gt;Update 30/11/2012&lt;/strong&gt;    &lt;/p&gt;&#xA;&#xA;&lt;p&gt;More precisely, what I need is some theorem of the form:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;A graph $G$ has chromatic number $\chi(G) = k + 1$ if and only if...&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Haj%C3%B3s_construction&quot; rel=&quot;nofollow noreferrer&quot;&gt;Hajós calculus&lt;/a&gt;, pointed out by Yuval Filmus in his answer, is a perfect example of what I am looking for, as a graph $G$ has chromatic number $\chi(G) = k + 1$ if and only if it can be derived from axiom $K_{k+1}$ by repeatedly applying the 2 rules of inference of the calculus. The Hajós number $h(G)$ is then the minimum number of steps necessary to derive $G$ (i.e. it is the length of the shortest proof).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is very interesting that:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The question of whether there exists a graph $G$ whose $h(G)$ is exponential in the size of $G$ is still open.&lt;/li&gt;&#xA;&lt;li&gt;If such $G$ does not exist, then $NP = coNP$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="947" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2013-01-20T16:42:33.293" Title="Reasons for which a graph may be not $k$ colorable?" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;graph-colouring&gt;&lt;clique&gt;" AnswerCount="5" CommentCount="8" FavoriteCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="14426" PostTypeId="1" CreationDate="2012-11-21T22:21:58.857" Score="5" ViewCount="381" Body="&lt;p&gt;I have an ordinary weighted graph. I need to traverse every edge in the graph at least once. BUT I must do it in subpaths of maximum length L. Those subpaths need not be connected to each other. There is no edge greater than L. How to find out the minimum number of paths neccessary and how to find out these paths?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First I thought about Chinese Postman, but it gives one big path, which might not be the optimal solution. I also thought about bin packing problem, but I am not sure how to ensure the edges in every &quot;bin&quot; form a path.&lt;/p&gt;&#xA;" OwnerUserId="12587" LastEditorUserId="-1" LastEditDate="2012-11-24T07:32:46.573" LastActivityDate="2012-11-24T07:32:46.573" Title="Splitting a graph into minimum number of subpaths" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;optimization&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14427" PostTypeId="2" ParentId="14425" CreationDate="2012-11-22T01:06:46.743" Score="15" Body="&lt;p&gt;A partial answer, in that I don't know a nice &quot;reason&quot; that can be generalised, but the following graph (shameless nicked from &lt;a href=&quot;http://math.la.asu.edu/~checkman/Steinberg.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;here&lt;/a&gt;):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/mCg5c.jpg&quot; alt=&quot;Non-3-colorable graph with no K4 or odd cycle with a completely connected neighbour&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Isn't 3-colorable, but is obviously 4-colorable (being planar), and it contains no $K_{4}$, nor any cycle with a additional vertex connected to all the cycle vertices (unless I'm missing something, but the only vertices connected to a vertex and its neighbour are in the 3-cycles). Taking it further, you could apply a version of rule 2 to get a graph of chromatic number 5.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would suspect that for any given genus, there's a graph of a certain minimum chromatic number (see the &lt;a href=&quot;http://en.wikipedia.org/wiki/Heawood_conjecture&quot; rel=&quot;nofollow noreferrer&quot;&gt;Heawood conjecture&lt;/a&gt;) that doesn't follow rules 1 or 2. Of course I have no proof other than intuition.&lt;/p&gt;&#xA;" OwnerUserId="9520" LastActivityDate="2012-11-22T01:06:46.743" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="14428" PostTypeId="2" ParentId="14426" CreationDate="2012-11-22T02:12:31.113" Score="11" Body="&lt;p&gt;Your problem (as stated) seems to be NP-hard.  Here is a reduction from Partition.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given an instance of Partition (a collection $x_1,\ldots,x_n$ of positive integers), construct a graph with $n+1$ vertices $v_1,\ldots,v_{n+1}$ and, for each $i$, two edges from $v_i$ to $v_{i+1}$: one of cost zero, one of cost $x_i$.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose the Partition instance is satisfiable. That is, there is a subset $S$ of $[n]$ such that $\sum_{i\in S} x_i = \sum_{i} x_i/2$.  Then there are two paths that together cover all the edges, with each path costing $L=\sum_{i} x_i/2$.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Conversely, if there are two paths each of cost at most $L$ (that cover all the edges), the two paths together must cover each $x_i$ exactly once, and the total weight on each must be exactly $L$. So there must be a subset $S$ such that $\sum_{i\in S} x_i = \sum_i x_i/2$.  That is, the Partition instance is satisfiable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Perhaps you have further restrictions (e.g. polynomially bounded integer edge weights)?&lt;/p&gt;&#xA;" OwnerUserId="8237" LastActivityDate="2012-11-22T02:12:31.113" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="14430" PostTypeId="1" AcceptedAnswerId="14437" CreationDate="2012-11-22T08:33:48.353" Score="0" ViewCount="294" Body="&lt;p&gt;Undirected graph $G$ can be partitioned into several vertex blocks, each vertex pair $(u,v)$ has an edge if &quot;$u$&quot; and &quot;$v$&quot; are in the different blocks; no edge, otherwise. Question is: Suppose we have several such graphs $G_1,\ldots,G_n$, where a vertex $v_i$ may be in more than one $G_j$.  If we combine graphs $G_1,\ldots,G_n$ by taking the union of their edge sets to get a graph $G'$, as shown in the &lt;strong&gt;example&lt;/strong&gt; below, what is the name of the resulting graph? &lt;/p&gt;&#xA;" OwnerUserId="12592" LastEditorUserId="12592" LastEditDate="2015-05-08T15:17:48.153" LastActivityDate="2015-05-08T15:17:48.153" Title="Is there any special property the resulting graph G' has?" Tags="&lt;graph-theory&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14432" PostTypeId="2" ParentId="14415" CreationDate="2012-11-22T09:23:05.157" Score="12" Body="&lt;p&gt;The reason for the ban on negative occurrences can be understood by analogy with the Knaster-Tarski theorem. This theorem says that&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;if &lt;span class=&quot;math-container&quot;&gt;$L$&lt;/span&gt; is a complete lattice and &lt;span class=&quot;math-container&quot;&gt;$f : L \to L$&lt;/span&gt; is a monotone function on &lt;span class=&quot;math-container&quot;&gt;$L$&lt;/span&gt;, then the set of fixed points of &lt;span class=&quot;math-container&quot;&gt;$f$&lt;/span&gt; is also a complete lattice. In particular, there is a least fixed point &lt;span class=&quot;math-container&quot;&gt;$\mu{f}$&lt;/span&gt; and a greatest fixed point &lt;span class=&quot;math-container&quot;&gt;$\nu f$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;In traditional model theory, lattices &lt;span class=&quot;math-container&quot;&gt;$L$&lt;/span&gt; can be viewed as propositions, and the order relation &lt;span class=&quot;math-container&quot;&gt;$p \leq q$&lt;/span&gt; can be understood as entailment (i.e., that &lt;span class=&quot;math-container&quot;&gt;$q$&lt;/span&gt;'s truth is entailed by &lt;span class=&quot;math-container&quot;&gt;$p$&lt;/span&gt;'s truth).&lt;/p&gt;&#xA;&lt;p&gt;When we move from model theory to proof theory, lattices generalize to categories. Types can be seen as the objects of a category &lt;span class=&quot;math-container&quot;&gt;$\mathbb{C}$&lt;/span&gt;, and a map &lt;span class=&quot;math-container&quot;&gt;$e : P \to Q$&lt;/span&gt; represents a &lt;em&gt;proof&lt;/em&gt; that &lt;span class=&quot;math-container&quot;&gt;$Q$&lt;/span&gt; can be derived from &lt;span class=&quot;math-container&quot;&gt;$Q$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;p&gt;When we try to interpret types defined by recursive equations, e.e., &lt;span class=&quot;math-container&quot;&gt;$\mathbb{N} = \mu \alpha.\;1 + \alpha$&lt;/span&gt;, the obvious thing to do is to look for a generalization of the Knaster-Tarski theorem. So instead of a monotone function on a lattice, we know want a &lt;em&gt;functor&lt;/em&gt; &lt;span class=&quot;math-container&quot;&gt;$F : \mathbb{C} \to \mathbb{C}$&lt;/span&gt;, which sends objects to objects, but generalizes the monotonicity condition so that every map &lt;span class=&quot;math-container&quot;&gt;$e : P \to Q$&lt;/span&gt; gets a map &lt;span class=&quot;math-container&quot;&gt;$F(e) : F(P) \to F(Q)$&lt;/span&gt; (with the coherence conditions that &lt;span class=&quot;math-container&quot;&gt;$F$&lt;/span&gt; sends identities to identities and preserves compositions so that &lt;span class=&quot;math-container&quot;&gt;$F(g \circ f) = F(g) \circ F(f)$&lt;/span&gt;).&lt;/p&gt;&#xA;&lt;p&gt;So if you want an inductive datatype &lt;span class=&quot;math-container&quot;&gt;$\mu \alpha.\;F(\alpha)$&lt;/span&gt;, you also need to supply a functorial action on terms for the type operator &lt;span class=&quot;math-container&quot;&gt;$F$&lt;/span&gt; in order to be assured that the fixed point you want exists. The strict positivity condition in Agda and Coq is a &lt;em&gt;syntactic&lt;/em&gt; condition that implies this &lt;em&gt;semantic&lt;/em&gt; constraint. Loosely speaking, it says that if you build a type operator from sums and products, then you can always cook up the functorial action, and so any type formed in this way should have a fixed point.&lt;/p&gt;&#xA;&lt;p&gt;In dependently-typed languages, you also have indexed and parameterized types, so your real task is more complicated. Bob Atkey (who has blogged about this &lt;a href=&quot;https://bentnib.org/posts/2011-04-22-structural-recursion.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;here&lt;/a&gt; and &lt;a href=&quot;https://bentnib.org/posts/2011-04-28-folds-and-induction.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;here&lt;/a&gt;) tells me that a good place to look for the story is:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://citeseer.ist.psu.edu/viewdoc/download?doi=10.1.1.36.7400&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;&lt;em&gt;Structural Induction and Coinduction in a Fibrational Setting&lt;/em&gt;&lt;/a&gt;,  Claudio Hermida and Bart Jacobs 1997.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://cs.appstate.edu/%7Ejohannp/csl2010.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;&lt;em&gt;Fibrational Induction Rules for Initial Algebras&lt;/em&gt;&lt;/a&gt;, Neil Ghani, Patricia Johann, and Clement Fumex 2010.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;As Andrej notes, fundamentally whether or not a negative occurence is okay or not depends on what your model of type theory. Basically, when you have a recursive definition, you are looking for a fixed point, and there are a &lt;em&gt;lot&lt;/em&gt; of fixed-point theorems in mathematics.&lt;/p&gt;&#xA;&lt;p&gt;One which I, personally, have made a lot of use of is Banach's fixed point theorem, which says that if you have a strictly contractive function on a metric space, then it has a unique fixed point. This idea was introduced into semantics by (IIRC) Maurice Nivat, and was extensively studied by America and Rutten, and was recently connected by Birkedal and his collaborators to a popular operational technique called &amp;quot;step-indexing&amp;quot;.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://homepages.cwi.nl/%7Ejanr/papers/files-of-papers/1989-JCSS.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;&lt;em&gt;Solving Reflexive Domain Equations in a Category of Complete Metric Spaces&lt;/em&gt;&lt;/a&gt;, Pierre America and Jan J. M. M. Rutten 1989.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://cs.au.dk/%7Ebirke/papers/metric-enriched-journal.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;&lt;em&gt;The Category-Theoretic Solution of Recursive Metric-space Equations&lt;/em&gt;&lt;/a&gt;, Lars Birkedal, Kristian Støvring, and Jacob Thamsborg. 2010.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;This gives rise to type theories where negative occurences in recursive types are permitted, but only when the negative occurences occur under a special &amp;quot;guardedness&amp;quot; type constructor. This idea was introduced by Hiroshi Nakano, and the connection to Banach's theorem was made both by myself and Nick Benton, as well as Lars Birkedal and his coauthors.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.22.7573&quot; rel=&quot;nofollow noreferrer&quot;&gt;&lt;em&gt;A Modality for Recursion&lt;/em&gt;&lt;/a&gt;, Hiroshi Nakano, 2000.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.mpi-sws.org/%7Eneelk/frp-lics11.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;&lt;em&gt;Ultrametric Semantics of Reactive Programs&lt;/em&gt;&lt;/a&gt;, Nick Benton and Neel Krishnaswami, 2011.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://cs.au.dk/%7Ebirke/papers/nakano-conf.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;&lt;em&gt;A metric model of guarded recursion&lt;/em&gt;&lt;/a&gt;, Lars Birkedal, Jan Schwinghammer, and Kristian Støvring, 2010.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="657" LastEditorUserId="49793" LastEditDate="2021-03-22T09:38:13.753" LastActivityDate="2021-03-22T09:38:13.753" CommentCount="0" ContentLicense="CC BY-SA 4.0" />
  <row Id="14435" PostTypeId="1" CreationDate="2012-11-22T13:41:25.197" Score="2" ViewCount="38" Body="&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Cram%C3%A9r%E2%80%93Rao_bound&quot; rel=&quot;nofollow noreferrer&quot;&gt;Cramer-Rao&lt;/a&gt;,  &lt;a href=&quot;https://math.stackexchange.com/questions/69398/whats-the-difference-between-rao-blackwell-theorem-and-lehmann-scheffe-theorem&quot;&gt;Rao-Blackwell and Lehmann-Scheffé&lt;/a&gt;, all give you ways to prove that a statistical  estimator has the lowest variance possible. Is there any CS related work on the minimum variance estimator with limited space?  In other words, a variance/space tradeoff theorem.&lt;/p&gt;&#xA;" OwnerUserId="12596" LastEditorUserId="-1" LastEditDate="2017-04-13T12:19:19.363" LastActivityDate="2012-11-22T16:17:36.570" Title="Lower bounds for minimum variance estimators in limited space" Tags="&lt;reference-request&gt;&lt;lower-bounds&gt;&lt;st.statistics&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14436" PostTypeId="2" ParentId="12084" CreationDate="2012-11-22T13:50:50.760" Score="11" Body="&lt;p&gt;It looks fairly similar to &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Coloring random graphs online without creating monochromatic subgraphs (Reto Spöhel, Torsten Mütze, and Thomas Rast)&#xA;  Proceedings of the 22nd annual ACM-SIAM Symposium on Discrete Algorithms (SODA '11), PR 137, 145-158.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://sigma.ict.ac.cn/seminar/web/archive/soda2011/SODA11_013_muetzet.pdf&quot; rel=&quot;nofollow&quot;&gt;SODA PDF&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://onlinelibrary.wiley.com/doi/10.1002/rsa.20445/abstract&quot; rel=&quot;nofollow&quot;&gt;Journal version&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://epubs.siam.org/doi/abs/10.1137/1.9781611973082.13&quot; rel=&quot;nofollow&quot;&gt;Conference proceedings&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="12560" LastEditorUserId="10889" LastEditDate="2014-10-01T01:20:23.030" LastActivityDate="2014-10-01T01:20:23.030" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14437" PostTypeId="2" ParentId="14430" CreationDate="2012-11-22T16:27:37.037" Score="8" Body="&lt;p&gt;The formal statement of the graph you are describing is the sum of $n$ complete $k_i$-partite graphs (where $k_i$ is the number of groups in $G_i$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is an interesting property: $G'$ is $\prod k_i$-colorable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A $k$-partite graph (assuming non-empty parts) is $k$-colorable (color all of the vertices in one part with the same color). A complete $k$-partite graph has chromatic number $k$ (clearly two vertices in two different parts require different colors). In fact, it has a maximal set of edges such that the graph has chromatic number $k$ (adding an edge within a part will force another color). If the graphs $G_1$ and $G_2$ are $k_1$ and $k_2$ colorable respectively, the sum $G = G_1 + G_2$ is $k_1k_2$ colorable by the product coloring. It follows that each $G_i$ is $k_i$ colorable, and that the sum, $G'$ is $\prod k_i$-colorable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This property is tight if we know nothing more about the graphs. For arbitrary $n$ let $p_1p_2\cdots p_k$ be the prime factorization of $n$ (where repeated primes are listed repeatedly). If $G'$ is the sum of $k$ correctly-chosen complete $p_i$ partite graphs, $G' = K_n$. To choose $G_1$, let the parts be the residues modulo $p_1$. For $G_2$, let $i$ be in a part according to the residue of $\lfloor \frac{i}{p_1}\rfloor$ modulo $p_2$. Continuing this for each $k$ makes the right subgraphs. The best way to imagine this is to express $i$ has a number where the 1s place goes up to $p_1$, the $p_1$s place (the next digit over) goes up to $p_2$, etc. Then $G'$ is complete because if $i \neq j$ then The representations of $i$ and $j$ are different.&lt;/p&gt;&#xA;" OwnerUserId="12483" LastActivityDate="2012-11-22T16:27:37.037" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14438" PostTypeId="2" ParentId="12593" CreationDate="2012-11-22T19:12:57.967" Score="10" Body="&lt;p&gt;EDIT (UPDATE): &lt;em&gt;The lower bound in my answer below was proven (by a different proof) in &quot;On the complexity of approximating Euclidean traveling salesman tours and minimum spanning trees&quot;, by Das et al; Algorithmica 19:447-460 (1997).&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;is it possible to achieve even an approximation ratio like $O(n^{1-\epsilon})$ for some $\epsilon&amp;gt;0$ in $o(n\log n)$ time using a comparison-based algorithm?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;No. Here's a lower bound.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Claim.&lt;/strong&gt; &lt;em&gt;For any $\epsilon&amp;gt;0$, every comparison-based &#xA;$n^{1-\epsilon}$-approximation algorithm&#xA;requires $\Omega(\epsilon n\log n)$ comparisons in the worst case.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By &quot;comparison-based&quot; I mean any algorithm that &#xA;only queries the input with binary (True/False) queries.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here's an attempt at a proof. Hopefully there are no mistakes.&#xA;FWIW the lower bound seems likely to extend to randomized algorithms.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Fix any $n$ and any arbitrarily small but constant $\epsilon&amp;gt;0$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider just the $n!$ &quot;permutation&quot; input instances &#xA;$(x_1,x_2,\ldots,x_n)$&#xA;that are permutations of $[n]$.&#xA;The optimum solution for any such instance has cost $n-1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Define the &lt;em&gt;cost&lt;/em&gt; of a permutation $\pi$&#xA;to be $c(\pi) = \sum_i |\pi(i+1) - \pi(i)|$.&#xA;Model the algorithm as taking as input a permutation $\pi$,&#xA;outputting a permutation $\pi'$,&#xA;and paying cost $d(\pi,\pi') = c(\pi'\circ \pi)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Define $C$ to be the minimum number of comparisons&#xA;for any comparison-based algorithm to achieve&#xA;competitive ratio $n^{1-\epsilon}$ on these instances.&#xA;Since opt is $n-1$, the algorithm must guarantee cost at most $n^{2-\epsilon}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We will show $C\ge \Omega(\epsilon n\log n)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Define $P$ to be, for any possible output $\pi'$,&#xA;the fraction of possible inputs for which output $\pi'$ &#xA;would achieve cost at most $n^{2-\epsilon}$.&#xA;This fraction is independent of $\pi'$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$P$ also equals the probability that, for a random permutation $\pi$,&#xA;its cost $c(\pi)$ is at most $n^{2-\epsilon}$.&#xA;(To see why, take $\pi'$ to be the identity permutation $I$.&#xA;Then $P$ is the fraction of inputs for which&#xA;$d(\pi,I)$ at most $n^{2-\epsilon}$,&#xA;but $d(\pi,I) = c(\pi)$.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Lemma 1.&lt;/strong&gt; &lt;em&gt;$C \ge \log_2 1/P$.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Proof.&lt;/em&gt; Fix any algorithm that always uses less than $\log_2 1/P$ comparisons.&#xA;The decision tree for the algorithm has depth less than $\log_2 1/P$,&#xA;so there are at less than $1/P$ leaves, and, for some output&#xA;permutation $\pi'$,  the algorithm gives $\pi'$ as output&#xA;for more than a $P$ fraction of the inputs.  By definition of $P$,&#xA;for at least one such input, the output $\pi'$ gives cost more than $n^{2-\epsilon}$.&#xA;QED&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Lemma 2.&lt;/strong&gt; &lt;em&gt;$P \le \exp(-\Omega(\epsilon n\log n))$.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Before we give the proof of Lemma 2, note that the two lemmas together&#xA;give the claim: &#xA;$$C&#xA;~\ge~ \log_2 \frac{1}{P}&#xA;~=~ \log_2 \exp(\Omega(\epsilon n\log n))&#xA;~=~ \Omega(\epsilon n\log n).$$&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Proof of Lemma 2.&lt;/em&gt;&#xA;Let $\pi$ be a random permutation.&#xA;Recall that $P$ equals the probability that&#xA;its cost $c(\pi)$ is at most $n^{2-\epsilon}$.&#xA;Say that any pair $(i,i+1)$ is an &lt;em&gt;edge&lt;/em&gt;&#xA;with cost $|\pi(i+1)-\pi(i)|$,&#xA;so $c(\pi)$ is the sum of the edge costs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose $c(\pi) \le n^{2-\epsilon}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then, for any $q&amp;gt;0$, at most $n^{2-\epsilon}/q$ of the edges have cost $q$ or more.&#xA;Say that edges of cost less than $q$ are &lt;em&gt;cheap&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Fix $q=n^{1-\epsilon/2}$.  Substituting and simplifying, at most $n^{1-\epsilon/2}$ of the &#xA;edges are not cheap.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thus, &lt;em&gt;at least&lt;/em&gt; $n - n^{1-\epsilon/2} \ge n/2$ of the edges are cheap.&#xA;Thus, there is a set $S$ containing $n/2$ cheap edges.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Claim.&lt;/strong&gt; &lt;em&gt;For any given set $S$ of $n/2$ edges,&#xA;the probability that all edges in $S$ are cheap&#xA;is at most $\exp(-\Omega(\epsilon n \log n))$.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Before we prove the claim, note that it implies the lemma as follows.&#xA;By the claim, and the naive union bound,&#xA;the probability that any there &lt;em&gt;exists&lt;/em&gt; such a set $S$ &#xA;is at most &#xA;$${n\choose n/2} \exp(-\Omega(\epsilon n \log n))&#xA;~\le~ 2^n \exp(-\Omega(\epsilon n \log n))$$&#xA;$$~\le~ \exp(O(n) -\Omega(\epsilon n \log n))&#xA;~\le~ \exp(-\Omega(\epsilon n \log n)).$$&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Proof of Claim.&lt;/em&gt;&#xA;Choose $\pi$ by the following process.&#xA;Choose $\pi(1)$ uniformly from $[n]$,&#xA;then choose $\pi(2)$ uniformly from $[n] - \{\pi(1)\}$,&#xA;then choose $\pi(3)$ uniformly from $[n]-\{\pi(1),\pi(2)\}$, etc.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider any edge $(i,i+1)$ in $S$.&#xA;Consider the time just after $\pi(i)$ has been chosen,&#xA;when $\pi(i+1)$ is about to be chosen.&#xA;Regardless of the first $i$ choices (for $\pi(j)$ for $j\le i$),&#xA;there are at least $n-i$ choices for $\pi(i+1)$,&#xA;and at most $2n^{1-\epsilon/2}$ of those choices will give the edge $(i,i+1)$&#xA;cost less than $n^{1-\epsilon/2}$ (making it cheap).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thus, conditioned on the first $i$ choices,&#xA;the probability that the edge is cheap&#xA;is at most $\frac{2n^{1-\epsilon/2}}{n-i}$.&#xA;Thus, the probability that all $n/2$ &#xA;edges in $S$ are cheap is at most &#xA;$$\prod_{(i,i+1)\in S} \frac{2n^{1-\epsilon/2}}{n-i}.$$&#xA;Since $|S|\ge n/2$, there are at least $n/4$ edges in $S$&#xA;with $n-i\ge n/4$. Thus, this product is at most&#xA;$$\big(\frac{2n^{1-\epsilon/2}}{n/4}\big)^{n/4}&#xA;~\le~(8n^{-\epsilon/2})^{n/4}&#xA;~=~\exp(O(n)-\Omega(\epsilon n \log n))&#xA;~=~\exp(-\Omega(\epsilon n \log n)).$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;QED&lt;/p&gt;&#xA;" OwnerUserId="8237" LastEditorUserId="8237" LastEditDate="2013-03-26T23:27:36.130" LastActivityDate="2013-03-26T23:27:36.130" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14439" PostTypeId="1" AcceptedAnswerId="14443" CreationDate="2012-11-22T19:33:54.440" Score="2" ViewCount="160" Body="&lt;p&gt;Given an undirected graph $G$ with $n$ vertice and $m$ edges, can we construct $p$ &lt;strong&gt;complete $k_i$-partite graphs&lt;/strong&gt;, where $p$ is finite (of course) and &lt;strong&gt;each vertex appears at most a constant number of times&lt;/strong&gt;, satifying &quot; the sum of such $p$ complete $k_i$-partite graphs is $G$ &quot; ?  Moreover, such construction can be done in &lt;em&gt;poly-time&lt;/em&gt; ?&lt;/p&gt;&#xA;" OwnerUserId="12592" LastEditorUserId="7059" LastEditDate="2012-11-23T05:38:35.557" LastActivityDate="2012-11-23T05:38:35.557" Title="Any graph $G$ can be seen as the sum of complete $k_i$-partite graphs?" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;graph-algorithms&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14443" PostTypeId="2" ParentId="14439" CreationDate="2012-11-22T21:32:10.710" Score="8" Body="&lt;p&gt;I think the answer to your first question is &quot;no&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In particular, if you take a random bipartite graph $G=([n],[n],E)$&#xA;where $Pr[(i,j)\in E] = 1/2$ for each pair $(i,j)$,&#xA;the answer is no with probability close to 1.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am interpreting your first question as follow:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given any graph $G$, is it &lt;em&gt;always&lt;/em&gt; possible to find a collection of subgraphs such that &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;each subgraph is a complete $k$-partite graph for some $k$,&lt;/li&gt;&#xA;&lt;li&gt;each edge in $G$ occurs in at least one of the subgraphs, and&lt;/li&gt;&#xA;&lt;li&gt;each vertex in $G$ occurs in at most a constant number of the subgraphs?&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Proof.&lt;/em&gt;&#xA;Fix $n$.  Let $G$ be the random graph described above.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since $G$ is bipartite any complete $k$-partite subgraph has to be bipartite.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First, I claim that with probability $1-o(1)$, every complete bipartite subgraph of $G$ has at most $4n$ edges.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Here's why.&#xA;For any pair of subsets $L\subseteq [n]$ and $R\subseteq [n]$ with $|L\times R| \ge 4n$,&#xA;the probability that the complete bipartite subgraph with edge set $L\times R$&#xA;is in $G$ is $2^{-|L\times R|} \le 2^{-4n}$.&#xA;There are fewer than $2^n\times 2^n = 4^n$ such pairs $L$ and $R$,&#xA;Thus, by the naive union bound, the probability that any of&#xA;the corresponding subgraphs is present in $G$ is at most $4^n 2^{-4n} \le 2^{-2n}$.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, with probability $1-o(1)$, the graph $G$ has at least $n^2/4$ edges.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thus, with probability $1-o(1)$, every complete bipartite subgraph in $G$&#xA;has at most $4n$ edges, and $G$ has at least $n^2/4$ edges.&#xA;Assume this happens.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now suppose for contradiction that a collection of subgraphs with the desired properties exists.&#xA;Each of the subgraphs has edge set $L\times R$ for some pair of subsets $L$ and $R$.&#xA;In $G$, &lt;em&gt;direct&lt;/em&gt; all the edges in $L\times R$ from the larger side to the smaller side&#xA;(to the left if $|L|\le |R|$, and to the right otherwise).&#xA;Since $|L\times R|\le 4n$, the smaller of $L$ or $R$ must have size at most $2\sqrt n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since each vertex is in $O(1)$ of the subgraphs, each vertex now has $O(\sqrt n)$&#xA;edges directed out of it.  But all edges are directed one way or the other,&#xA;so the number of edges in $G$ is at most the number of vertices &#xA;times the maximum out-degree of any vertex, that is, at most $O(n\sqrt n)$.&#xA;This contradicts the graph having at least $n^2/4$ edges.&lt;/p&gt;&#xA;" OwnerUserId="8237" LastActivityDate="2012-11-22T21:32:10.710" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14444" PostTypeId="1" AcceptedAnswerId="14447" CreationDate="2012-11-22T22:15:08.933" Score="6" ViewCount="472" Body="&lt;p&gt;What is the significance of the word &quot;combinational&quot; in &lt;a href=&quot;http://en.wikipedia.org/wiki/Combinational_logic&quot; rel=&quot;nofollow&quot;&gt;combinational logic&lt;/a&gt;?&lt;/p&gt;&#xA;" OwnerUserId="12604" LastEditorUserId="-1" LastEditDate="2012-11-22T23:56:08.500" LastActivityDate="2012-11-23T09:14:35.217" Title="Why is combinational logic called so?" Tags="&lt;lo.logic&gt;&lt;terminology&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14445" PostTypeId="1" AcceptedAnswerId="14599" CreationDate="2012-11-23T00:29:23.990" Score="6" ViewCount="2529" Body="&lt;p&gt;One of the most celebrated results in computer science is that the halting problem is undecidable. However there are still notions of complexity that are applicable. Here are 3 that I have in mind:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;$K(n)$ is the Kolomogorov complexity of the string $h_{&amp;lt;2^n}$ of length $2^n$ whose $k$-th bit is 1 iff the $k$-th program halts&lt;/li&gt;&#xA;&lt;li&gt;$C(n)$ is the minimal size of a Boolean circuit solving the halting problem for programs of size at most $n$&lt;/li&gt;&#xA;&lt;li&gt;$T(n)$ is the time complexity of the halting problem made solvable by introducing an extra-tape into our Turing machine on which an infinite bit-string is written in the initial state. For example the bit-string can be an infinite look-up table: the $k$-th bit is 1 iff the $k$-th program halts. This allows a simple look-up algorithm to solve the halting problem but the complexity would be $O(2^n)$&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;$K$ is at most $O(n)$ since we can construct a program which encodes the longest-running program of length $n$ and checks whether the input program halts before that one. $C(n)$ is at most $O(2^n)$ because we can construct a &quot;look-up table&quot; circuit and $T(n)$ is at most $O(2^n)$ as noted above&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What other bounds on $K$, $C$, $T$ can be found? In particular, are $C$ and/or $T$ less than exponential?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT: Actually, $K(n) = n + O(1)$. To see this, consider $H_n$ an algorithm solving the halting problem for all inputs of length at most $n$ and $P$ the following program. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$P$ runs $H_n$ on $P$ itself. If result is &quot;halts&quot;, it goes into an infinite loop. If result is &quot;doesn't halt&quot;, it terminates.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$H_n$ fails to evaluate $P$'s halting correctly therefore the length of $P$ is greater than $n$. On the other hand $P$ is only longer than $H_n$ by a constant so $H_n$ can't be much shorter than $n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT: If the halting problem is in $P/poly$ i.e. $C$ is polynomial, then $NP \subset P/poly$ (which implies $PH = \Sigma_2$). To see this consider $S \subset \{0,1\}^*$ a decision problem in $NP$ and $V$ a verifier program for $S$. Deciding whether $x \in S$ is equivalent to solving the halting problem for the following program $Q_x$: &quot;Loop over all $p \in \{0,1\}^*$, halt if $V(x,p) = 1$&quot;. The size of $Q_x$ is the same as the size of $x$, up to a constant. Therefore if we can solve the halting problem for $Q_x$ in polynomial time with polynomial advice, we can decide $x \in S$ in polynomial time with polynomial advice&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that $C$ is polynomial iff $T$ is polynomial. Consider $R_n$ a family of circuits solving the halting problem. Then we can construct an infinite-advice program $H$ for solving the halting problem by encoding $R_n$ as advice. This yields&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$T(n) = O(n \, C(n) \ln C(n))$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand if we have $H$ an infinite-advice program solving the halting problem, we can construct a circuit $R_n$ representing the computation process of $H$ on an input of size $n$. The size of this circuit is the product of the spatial complexity by the temporal complexity so&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$C(n) = O(T(n)^2)$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT: If the halting problem is in $coNP/poly$ then $NP \subset coNP/poly$. This is due to reasoning similar to above i.e. an existential quantifier can be replaced by a universal quantifier at the cost of requiring polynomial advice. I think this also implies some kind of collapse of the polynomial hierarchy&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT: It is possible to construct a specific infinite-advice algorithm of optimal complexity, analogous to Levin search for $NP$ problems. As opposed to the case of $NP$, there is no way to verify correctness of solutions, on the other hand it is possible to restrict the dovetailing only to valid programs. This is done by encoding all programs which solve the halting problem together with their respective infinite advice sequences in the infinite advice of our algorithm. The penalty incurred by using this encoding is at most polynomial, hence the resulting algorithm has complexity which is optimal up to a polynomial&lt;/p&gt;&#xA;" OwnerUserId="7030" LastEditorUserId="7030" LastEditDate="2012-11-26T14:23:19.383" LastActivityDate="2012-12-03T18:34:41.000" Title="Complexity of the halting problem" Tags="&lt;cc.complexity-theory&gt;&lt;time-complexity&gt;&lt;circuit-complexity&gt;&lt;advice-and-nonuniformity&gt;&lt;halting-problem&gt;" AnswerCount="2" CommentCount="9" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="14446" PostTypeId="1" CreationDate="2012-11-23T02:45:01.560" Score="9" ViewCount="635" Body="&lt;p&gt;It is well-known that bounded error quantum query complexity of the function $OR(x_1,x_2,\ldots, x_n)$ is $\Theta(\sqrt{n})$. Now the question is what if we want our quantum algorithm to succeed for every input with probability $1-\epsilon$ rather than the usual $2/3$. Now in terms of $\epsilon$ what would be the appropriate upper and lower bounds?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is immediate that $O(\sqrt{n} \log(1/\epsilon))$ queries suffices for this task by repeating the Grover algorithm. But from what I recall this is not at all optimal as even plain Grover algorithm if run carefully, i.e. for appropriate number of iterations, can achieve something like $\epsilon=O(1/n)$ with just $O(\sqrt{n})$ iterations. And hence using that one can get an improvement for all $\epsilon$'s. On the other hand, I don't expect that $\Omega(\sqrt{n})$ be the right answer for very small $\epsilon$'s.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But I am interested to see what one can show in terms of $\epsilon$-dependent upper and lower bounds for different ranges of $\epsilon$ especially when $\epsilon$ is very small say $\epsilon= \exp(-\Omega(n))$ or $\epsilon=1/n^k$ for large $k$'s.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(To give some context, the general phenomenon I am getting at is the amplification in context of quantum query complexity. )&lt;/p&gt;&#xA;" OwnerUserId="12127" LastEditorUserId="12127" LastEditDate="2012-11-23T17:41:48.997" LastActivityDate="2015-12-22T13:09:53.917" Title="On optimality of Grover algorithm with high success probability" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;quantum-computing&gt;&lt;lower-bounds&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="14447" PostTypeId="2" ParentId="14444" CreationDate="2012-11-23T09:14:35.217" Score="2" Body="&lt;p&gt;This &lt;a href=&quot;http://www.allaboutcircuits.com/vol_4/chpt_9/1.html&quot; rel=&quot;nofollow&quot;&gt;source&lt;/a&gt; states that it comes from the concept of a &lt;a href=&quot;http://en.wikipedia.org/wiki/Combination&quot; rel=&quot;nofollow&quot;&gt;combination set&lt;/a&gt;, which is backed up by Hennesy &amp;amp; Patterson's explanation in &quot;Computer Organization and Design&quot;, p.340.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The reasoning behind it seems to be as follows. In a combination the order of elements is irrelevant: in (&lt;em&gt;n&lt;/em&gt; choose &lt;em&gt;k&lt;/em&gt;) it doesn't matter in which order you pick the &lt;em&gt;k&lt;/em&gt; elements. Similarly, a combinational logic circuit is a logic circuit where the order of inputs doesn't matter for the outputs. Note here that &quot;an input&quot; refers to the &lt;em&gt;entire&lt;/em&gt; input to the circuit, not the individual lines. So, the intuition is that you give a combinational circuit some sequence of inputs, and &quot;order doesn't matter&quot; is true in the sense that the output for each input is the same, even if you permute the sequence.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is to be understood in opposition to &lt;em&gt;sequential&lt;/em&gt; logic, where the order of inputs &lt;em&gt;does&lt;/em&gt; matter, because sequential circuit can have internal state (e.g. flip-flops) that can and usually influence individual outputs.&lt;/p&gt;&#xA;" OwnerUserId="3158" LastActivityDate="2012-11-23T09:14:35.217" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14448" PostTypeId="2" ParentId="14445" CreationDate="2012-11-23T14:13:16.710" Score="4" Body="&lt;p&gt;Just an extended comment: I'm not an expert, but for what regards 1., something can be said if you interpret: $HALT(k) = 1$ iif $TM_k$ halts on the &lt;em&gt;empty tape&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In this case the string $s$ that lists the first $n$ bits $HALT(k)$, $k = 1,2,...,n$ is highly compressible:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$|s|=n$&lt;/li&gt;&#xA;&lt;li&gt;let $h$ be the number of halting TMs between $1$ and $n$ ($h \leq n$)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;If you know $h$, in order to build $s$ you can simply simulate all TMs between $1$ and $n$ and when $h$ of them stops you have enough information to reconstruct $s$ (you have the positions of the $1$s, the other can be set to $0$s).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So $K(s) = \lceil \log h \rceil + c$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you interpret $HALT(k) = 1$ iif $TM_k$ halts on &lt;em&gt;all inputs&lt;/em&gt;, then:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$K(s) =  min\{n, K(\lceil \log n \rceil, \lceil \log z \rceil )\} + c$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Where $z$ is the minimum number such that for every &lt;em&gt;non halting&lt;/em&gt; $TM_k$ in 1..n exists $y \leq z$ such that $TM_k(y)$ doesn't halt. Informally you can simulate the $n$ TMs on inputs $1..z$ being sure that those who halts are the only TMs that always halts on all inputs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Perhaps the same reasoning can be applied to points 2. and 3.&lt;/p&gt;&#xA;" OwnerUserId="3247" LastActivityDate="2012-11-23T14:13:16.710" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="14449" PostTypeId="2" ParentId="9801" CreationDate="2012-11-23T16:56:21.407" Score="4" Body="&lt;p&gt;Too bad you have been waiting so long without getting any answer.&#xA;I don't know for the classes you asked for, but I know some related graph classes and new techniques you can try.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First I will mention that &lt;a href=&quot;http://www.cs.utoronto.ca/~chaplick/&quot; rel=&quot;nofollow&quot;&gt;Steven Chaplick&lt;/a&gt; has done work on related graph classes, he finished his thesis earlier this year, you might find his research interesting.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I know some results in this direction follow from my own work&#xA;&lt;a href=&quot;http://www.ii.uib.no/~martinv/Papers/Logarithmic_booleanwidth.pdf&quot; rel=&quot;nofollow&quot;&gt;Graph Classes with Structured Neighbourhoods and Algorithmic Applications&lt;/a&gt;&#xA;This gives a general technique for solving various problems including DSP in certain graph classes. &#xA;We do this by introducing new graph decompositions (see my &lt;a href=&quot;http://www.ii.uib.no/~martinv/Papers/MartinThesis.pdf&quot; rel=&quot;nofollow&quot;&gt;thesis&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For instance if we are give an intersection model of UP where the tree has max degree d and the paths have max length s we can solve dominating set in $(d-1)^{3(s-1)}poly(n)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Similar if we have a graph given with an intersection model consisting of $0$-bend paths in a $k \times n$ grid (for constant k).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The same technique might work for CEPT arising form a host tree of maximum degree 3, but I need some more time to understand this class.&#xA;If you have a link to some characterizations of this class that would help.&lt;/p&gt;&#xA;" OwnerUserId="8936" LastActivityDate="2012-11-23T16:56:21.407" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14450" PostTypeId="1" AcceptedAnswerId="14525" CreationDate="2012-11-23T17:03:58.407" Score="3" ViewCount="241" Body="&lt;p&gt;A &lt;em&gt;search problem&lt;/em&gt; is a relation $R\subseteq \Sigma^*\times\Sigma^*$. A function $f\colon \Sigma^*\to\Sigma^*$ &lt;em&gt;solves&lt;/em&gt; $R$ if $(x,f(x))\in R$ for all $x\in\Sigma^*$. Define a search problem to be &lt;em&gt;reasonable&lt;/em&gt; if for all $(x,y)\in R$ the word $x$ is at least as long as $y$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $R$ and $S$ be reasonable search problems. Consider the following two properties.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;There is a Cook-reduction from $R$ to $S$ (That is, there is a polynomial-time oracle Turing machine $M$ such that for all $f$ solving $S$, the function $M^f$ solves $R$. This is Definition 3.1 of Goldreich's &quot;P, NP, and NP-Completeness: The Basics of Computational Complexity&quot;.)&lt;/li&gt;&#xA;&lt;li&gt;For all functions $f$ such that $S\in\mathsf{FP}^f$, we have $R\in\mathsf{FP}^f$. (Here $\mathsf{FP}^f$ is the set of search problems solved by $M^f$ for some polynomial-time oracle Turing machine $M$.)&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Clearly (1.) implies (2.). Also, if $S$ solves itself (i.e. $S$ is a function) then (2.) implies (1.) because we can take the oracle in (2.) to be $S$ itself to obtain an appropriate $M$. Does (2.) imply (1.) in general? I'd guess the answer is no, but I can't think of a counterexample.&lt;/p&gt;&#xA;" OwnerUserId="636" LastEditorUserId="-1" LastEditDate="2012-11-24T07:32:41.300" LastActivityDate="2012-11-28T20:26:50.413" Title="Cook reduction for search problems, by universal property?" Tags="&lt;cc.complexity-theory&gt;&lt;reductions&gt;&lt;function&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14452" PostTypeId="2" ParentId="11792" CreationDate="2012-11-23T22:43:25.797" Score="1" Body="&lt;p&gt;Let $A=\{a^nb^nc^m\mid m,n\ge0\}$, $B=\{a^nb^mc^m\mid m,n\ge 0\}$, and $L=dA \cup B$. Then the homomorphism $h:\{a,b,c,d\}\to\{a,b,c\}$ defined by $h(a)=a$, $h(b)=b$, $h(c)=c$, and $h(d)=\epsilon$ gives $h(L)= A \cup B$ which is not a DCFL.&lt;/p&gt;&#xA;" OwnerUserId="12574" LastEditorUserId="95" LastEditDate="2012-12-30T18:41:30.850" LastActivityDate="2012-12-30T18:41:30.850" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14454" PostTypeId="2" ParentId="11738" CreationDate="2012-11-24T05:16:20.183" Score="6" Body="&lt;p&gt;&lt;em&gt;Given an $n\times n$ payoff matrix for a zero-sum matrix with payoffs in [0,1], estimate the value of the game within an additive $\epsilon$.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This problem has a randomized algorithm that runs in time $O(n\log^2(n)/\epsilon^2)$, which (provably) no deterministic algorithm can match  [&lt;a href=&quot;http://scholar.google.com/scholar?cluster=3647150107566098261&amp;amp;hl=en&amp;amp;as_sdt=0,5&amp;amp;as_vis=1&quot; rel=&quot;nofollow noreferrer&quot;&gt;GK95&lt;/a&gt;].&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See also &lt;a href=&quot;https://cstheory.stackexchange.com/questions/14396/efficient-and-simple-randomized-algorithms-where-determinism-is-difficult&quot;&gt;Efficient and simple randomized algorithms where determinism is difficult&lt;/a&gt; .&lt;/p&gt;&#xA;" OwnerUserId="8237" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.743" LastActivityDate="2012-11-24T05:22:21.570" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14455" PostTypeId="2" ParentId="6596" CreationDate="2012-11-24T08:28:15.047" Score="22" Body="&lt;p&gt;The answer to this question is &quot;no&quot;. To see why, we can think about a very extreme case, and how a regular bloom filter would work vs. a theoretical &quot;Bizzaro World&quot; bloom filter, which we can call a &quot;gloom filter&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is great about a bloom filter is that you can do one-sided tests for membership of items (with false positives) using a data structure that has a fixed size with respect to the probability of error and the &lt;em&gt;number&lt;/em&gt; of items stored. The &lt;em&gt;sizes&lt;/em&gt; of the items themselves don't matter at all. For example, if we had a bloom filter set up to store up to 1,000 items with less than 3% error, then we could store 1,000 slightly different versions of the entire corpus of Wikipedia, with one letter changed in each, and we would still get the metrics we want, and the data structure would be very tiny (less than a kilobyte). Of course, computing those hashes will be a challenge, but the principle still holds.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, consider storing those same massive strings in a gloom filter! We can only have false negatives now. So if we say &quot;yes, that version of the entire corpus of Wikipedia is in this set&quot;, then we have to be absolutely right about that. That means hashing will not help us, as there will always be some other string that hashes to the same value. The only way to say &quot;yes&quot; and be sure is to store the whole string, or some equivalent data of the same length. We could always not store it and say &quot;no&quot;, but eventually the error rate will catch up with us. The best we could do is compression, getting the size of the structure down to the product of the entropy of data stored and the accuracy we desire.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, unfortunately the gloom filter doesn't exist. Caching is the only solution, but it is not really the opposite of a bloom filter, as its size will be proportional to the product of the quantity of information being stored and the desired accuracy rate of the filter. Of course, in many real-world scenarios, large data can be represented by an ID, so caching can be still be quite acceptable. But it's fundamentally different than the mighty bloom filter.&lt;/p&gt;&#xA;" OwnerUserId="12619" LastActivityDate="2012-11-24T08:28:15.047" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="14457" PostTypeId="1" AcceptedAnswerId="14458" CreationDate="2012-11-24T16:39:47.333" Score="27" ViewCount="644" Body="&lt;p&gt;Cubic graphs are graphs where every vertex has degree 3. They have been extensively studied and I'm aware that several NP-hard problems remain NP-hard even restricted to subclasses of cubic graphs, but some others get easier. A superclass of cubic graphs is the class of graphs with maximum degree $\Delta \leq 3$.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there any problem that can be solve in polynomial time for cubic graphs but that is NP-hard for graphs with maximum degree $\Delta \leq 3$?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="282" LastEditorUserId="32711" LastEditDate="2020-04-15T08:25:57.880" LastActivityDate="2020-04-15T08:25:57.880" Title="Is there a problem that is easy for cubic graphs but hard for graphs with maximum degree 3?" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;np-hardness&gt;" AnswerCount="1" CommentCount="9" FavoriteCount="1" ContentLicense="CC BY-SA 4.0" />
  <row Id="14458" PostTypeId="2" ParentId="14457" CreationDate="2012-11-24T20:55:23.013" Score="27" Body="&lt;p&gt;Here's a reasonably natural one: on an input $(G,k)$, determine whether $G$ has a connected regular subgraph with at least $k$ edges. For 3-regular graphs this is trivial, but if max degree is 3 and the input is connected, not a tree, and not regular, then the largest such subgraph is the longest cycle, so the problem is NP-complete.&lt;/p&gt;&#xA;" OwnerUserId="95" LastEditorUserId="95" LastEditDate="2012-11-25T05:40:28.067" LastActivityDate="2012-11-25T05:40:28.067" CommentCount="10" ContentLicense="CC BY-SA 3.0" />
  <row Id="14459" PostTypeId="1" CreationDate="2012-11-25T00:23:20.580" Score="10" ViewCount="148" Body="&lt;p&gt;Stochastic languages, that is, those accepted by probabilistic automata, are known to not be closed under intersection, union, concatenation, and morphism, even on unary languages.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have two questions about the Boolean closure of the class of stochastic languages:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Is this class closed under morphisms or concatenation?&lt;/li&gt;&#xA;&lt;li&gt;Can we show that  $\{a^{2^n} \mid n \in \mathbb{N}\}$ is not in it?&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Many thanks!&lt;/p&gt;&#xA;" OwnerUserId="88" LastActivityDate="2012-11-25T00:23:20.580" Title="A language outside the Boolean closure of stochastic languages" Tags="&lt;fl.formal-languages&gt;&lt;automata-theory&gt;&lt;probabilistic-automata&gt;" AnswerCount="0" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14461" PostTypeId="2" ParentId="14166" CreationDate="2012-11-25T02:13:20.883" Score="18" Body="&lt;p&gt;State complexity is really about concise &lt;em&gt;description&lt;/em&gt; of an object (in this case, a regular language), not about computational complexity.  The general topic is called &quot;descriptional complexity&quot; in the literature and draws its inspiration, in part, from the classic 1971 paper of Meyer and Fischer entitled &quot;Economy of Expression by Automata, Grammars, and Formal Systems&quot; (see &lt;a href=&quot;http://people.csail.mit.edu/meyer/economy-of-description.pdf&quot;&gt;http://people.csail.mit.edu/meyer/economy-of-description.pdf&lt;/a&gt; ).  This is still an active area, with a yearly conference (DCFS - Descriptional Complexity of Formal Systems).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As for applications, any place where your program essentially relies on a finite-state machine (e.g., parsers) it will be good to have this finite-state machine as small as possible.  &lt;/p&gt;&#xA;" OwnerUserId="3227" LastActivityDate="2012-11-25T02:13:20.883" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="14464" PostTypeId="1" AcceptedAnswerId="14469" CreationDate="2012-11-25T11:00:17.523" Score="2" ViewCount="261" Body="&lt;p&gt;I'm trying to understand a specific part from an article of Agarwal and co.&lt;/p&gt;&#xA;&lt;p&gt;It is about Distance Oracles but there is a specific explanation of &lt;strong&gt;How to convert from average-degree graph to maximum-degree bounded graph&lt;/strong&gt; with linear complexity.&lt;/p&gt;&#xA;&lt;p&gt;I can't understand it so I need a simple language explanation...&lt;/p&gt;&#xA;&lt;p&gt;This is the link to the article: &lt;a href=&quot;http://arxiv.org/pdf/1201.2703.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://arxiv.org/pdf/1201.2703.pdf&lt;/a&gt; and the specific explanation is in section 5.&lt;/p&gt;&#xA;&lt;p&gt;From the article: (I don't understand the reduction)&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Let G = (V, E) be a connected graph with average degree ∆. Given G, we&#xA;will first create a ∆-degree bounded graph G∆ = (V∆ , E∆ ). Then, we&#xA;show how can be used on G∆ to return stretch-s paths on G.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;The Reduction:&lt;/strong&gt; For each node v ∈ V , create α v = ⌈deg(v)/∆⌉ nodes v1 , v2&#xA;, . . . , vαv in V∆ . For each edge e = (u, v) ∈ E, if deg(u) ≤ ∆ and&#xA;deg(v) ≤ ∆, create an edge e = (u1 , v1 ) in E∆ . For each node v ∈ V&#xA;, we arbitrarily distribute N (v) in G to the nodes corresponding to v&#xA;in G∆ such that for i = 1, 2, . . . , (α v − 1), |N (v) ∩ N (vi )| = ∆&#xA;and |N (v) ∩ N (vαv )| = (deg(v) − (α v − 1) · ∆). Finally, for each&#xA;pair vi , vi+1 , we create an edge in E∆ of weight 0.&lt;/p&gt;&#xA;&lt;p&gt;In order to answer an approximate distance query for any pair of nodes u, v ∈ V , we use D to answer approximate distance queries between u1 , v1 ∈ V∆&#xA;in G∆ and let the length of the path returned by the data structure be&#xA;δ′ . We output the distance δ′ as an approximate distance for the pair&#xA;of nodes in G.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Thanks!&lt;/p&gt;&#xA;" OwnerUserId="12633" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2012-11-25T20:04:07.270" Title="Average-degree Bounded Graphs are no harder than Maximum-degree Bounded Graphs (for distance oracles with purely multiplicative stretch)" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;" AnswerCount="1" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="14465" PostTypeId="2" ParentId="4425" CreationDate="2012-11-25T11:39:00.330" Score="13" Body="&lt;p&gt;It's been a long time but I am pretty sure this problem is in P.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I wrote my PhD dissertation about this in 1995. See &quot;Efficient Dynamic Network flow algorithms&quot; by Bruce Hoppe submitted to Cornell CS dept. Online at &lt;a href=&quot;http://dspace.library.cornell.edu/bitstream/1813/7181/1/95-1524.pdf&quot;&gt;http://dspace.library.cornell.edu/bitstream/1813/7181/1/95-1524.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See Chapter 8 &quot;Extensions&quot; section 8.1 about &quot;mortal edges&quot;&lt;/p&gt;&#xA;" OwnerUserId="12636" LastActivityDate="2012-11-25T11:39:00.330" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="14466" PostTypeId="2" ParentId="14425" CreationDate="2012-11-25T17:13:13.760" Score="29" Body="&lt;p&gt;You should check the &lt;a href=&quot;http://en.wikipedia.org/wiki/Haj%C3%B3s_construction&quot;&gt;Hajós calculus&lt;/a&gt;. Hajós showed that every graph with chromatic number at least $k$ has a &lt;em&gt;subgraph&lt;/em&gt; which has a &quot;reason&quot; for requiring $k$ colors. The reason in question is a proof system for requiring $k$ colors. The only axiom is $K_k$, and there are two rules of inference. See also &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.30.5879&quot;&gt;this paper&lt;/a&gt; by Pitassi and Urquhart on the efficiency of this proof system.&lt;/p&gt;&#xA;" OwnerUserId="40" LastEditorUserId="1929" LastEditDate="2013-01-20T16:42:33.293" LastActivityDate="2013-01-20T16:42:33.293" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="14468" PostTypeId="1" AcceptedAnswerId="14472" CreationDate="2012-11-25T19:27:51.743" Score="5" ViewCount="140" Body="&lt;p&gt;I was reflecting on a comment by Rob Simmons on unsound static analyses:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;An analysis that is neither sound nor complete is called pragmatic by Jaspan, as there aren't any theorems to be proved about such an analysis: they can be justified only by their utility in practice.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;This is a pretty unsatisfying way to evaluate a static analysis; surely, we can make stronger claims than statistical correlations. Could we, perhaps, show that analyses are sound given some additional assumptions on the program?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider the classic example of determining if a variable in a C program is constant.  A sound analysis requires a points-to analysis; an unsound analysis requires only a syntactic scan. It seems that it would be straightforward to prove the soundness of this analysis if we also assume that, at every assignment through a pointer, that pointer does not refer to the variable of interest. Such a proof should easily turn into an analysis that also outputs a finite list of assumptions made about specific program points to guarantee its soundness. Indeed, I already see comments on unsound analyses such as &quot;This system is unsound because it assumes the inputs are unaliased,&quot; which suggests the theorem that the system is sound if the inputs are unaliased.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A search for &quot;partial soundness&quot; turns up a type theory paper, but no analysis papers. Systems such as CCured that generate dynamic checks upon the failure of the analysis seem related, but I've not seen them interpreted this way. Is there prior work along these lines?&lt;/p&gt;&#xA;" OwnerUserId="9522" LastActivityDate="2012-11-25T21:36:14.953" Title="Partial soundness proofs for pragmatic static analyses" Tags="&lt;pl.programming-languages&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14469" PostTypeId="2" ParentId="14464" CreationDate="2012-11-25T19:41:56.980" Score="1" Body="&lt;p&gt;Here is, perhaps a more understandable, proof. Let me start with the following claim:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Let $G=(V,E)$ be an undirected weighted graph with $n$ vertices&#xA;      and $m$ edges. For any integer $k \geq 3$, one can convert $G$&#xA;      into a graph $H$ with maximum degree $k$ with $m' = (1+2/(k-2))m$&#xA;      edges and $n' = n + 2m/(k-2)$ vertices. Furthermore, for any two&#xA;      vertices $u$ and $v$ in $G$, the distance between any copy of $u$&#xA;      to any copy of $v$ in $H$ is equal to the distance of $u$ and $v$&#xA;      in $G$. This conversion can be done in $O(n + m)$ time.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Here is a rough proof to the above claim:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We start with a copy $H$ of $G$. We scan the vertices of $H$ one by one. If a vertex $v \in V(H)$ has degree $\leq k$ then we leave it as it is. Otherwise, consider $v$ and the edges coming out of it. We replace $v$ by a list of $\lceil \deg(v)/(k-2) \rceil$ vertices,    all of them connected by a new path of edges having weight $0$.    Each of these new vertices is assigned at most $k-2$ edges that    were adjacent to $v$ (these reassigned edges keep their original&#xA;    weight).  We repeat this process till the degrees in the new graph&#xA;    are bounded by $k$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The number of new vertices created during this process to replace a single vertex $v$ is $ \lceil \deg(v) /(k-2) \rceil$. The number of    new edges created for $v$ is $ \lceil \deg(v) /(k-2) \rceil - 1$.    Clearly, the new graph has $\sum_{v \in V(G)} \lceil \deg(v)/(k-2) \rceil \leq n + \sum_{v \in V(G)} \deg(v) /(k-2) \leq n +&#xA;    2m/(k-2)$ vertices. The number of new edges added because of $v$&#xA;    is at most $2m/(k-2)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the new graph, we replace every vertex by a path (with all its&#xA;    edges having weight $0$), and kept the original edges. As such,&#xA;    the distance between two vertices in the modified graph is the&#xA;    same as the distance between the corresponding vertices in the&#xA;    original graph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A corollary of the above claim is:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Let $G=(V,E)$ be an undirected weighted graph with $n$ vertices,&#xA;      $m$ edges, and average degree $\mu = 2m/n$. Then one construct&#xA;      an equivalent graph with maximum degree $k = \lceil {\mu +2} \rceil$, such&#xA;      that the new graph has $2n$ vertices, $m+n$ edges, and has the&#xA;      same distances between any pair of vertices as the distance in the&#xA;      original graph between the corresponding vertices. The new graph can&#xA;      be computed in $O(n + m)$ time.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The above implies that given a graph with average degree $\mu$, we can&#xA;replace it with a graph with maximum degree $\mu + 2$, and build the&#xA;distance oracle on this new graph instead of the original graph.&lt;/p&gt;&#xA;" OwnerUserId="7187" LastActivityDate="2012-11-25T19:41:56.980" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14470" PostTypeId="2" ParentId="14166" CreationDate="2012-11-25T20:05:57.463" Score="4" Body="&lt;p&gt;The proof that it is decidable whether an arbitrary deterministic context-free grammar (or equivalently a deterministic pushdown automaton) has an equivalent finite state automaton describing the same language is essentially a proof of the state complexity of finite automatons describing deterministic context-free languages: the bound on the size of these finite automatons in terms of the deterministic automatons gives bounds on the length of the decision procedure.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For details, see &quot;&lt;a href=&quot;http://reference.kfupm.edu.sa/content/r/e/regularity_and_related_problems_for_dete_81282.pdf&quot; rel=&quot;nofollow&quot;&gt;Regularity and related problems for deterministic pushdown&#xA;automata.&lt;/a&gt;&quot; by Leslie G. Valiant.&lt;/p&gt;&#xA;" OwnerUserId="988" LastActivityDate="2012-11-25T20:05:57.463" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14471" PostTypeId="1" AcceptedAnswerId="14476" CreationDate="2012-11-25T20:56:12.430" Score="33" ViewCount="4981" Body="&lt;p&gt;Is there an reverse Chernoff bound which bounds that the tail probability is at least so much.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;i.e if $X_1,X_2,\ldots,X_n$ are independent binomial random variables and $\mu=\mathbb{E}[\sum_{i=1}^n X_i]$. Then can we prove $Pr[\sum_{i=1}^n X_i\geq (1+\delta)\mu]\geq f(\mu,\delta,n)$ for some function $f$.&lt;/p&gt;&#xA;" OwnerUserId="372" LastEditorUserId="372" LastEditDate="2012-11-25T21:50:31.773" LastActivityDate="2020-10-14T22:53:38.773" Title="Reverse Chernoff bound" Tags="&lt;pr.probability&gt;&lt;chernoff-bound&gt;" AnswerCount="6" CommentCount="2" FavoriteCount="14" ContentLicense="CC BY-SA 3.0" />
  <row Id="14472" PostTypeId="2" ParentId="14468" CreationDate="2012-11-25T21:36:14.953" Score="4" Body="&lt;p&gt;Program analysis is an inherently applied field, so for many practitioners, the final word on the utility of an analysis is how it performs in practice. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The approach you are suggesting would make explicit situations in which the analysis is sound. However, isolating these situations requires the analyst to know about the semantics of the programming language, the semantics of the static analyzer and further identify the gaps between the two. In my experience, several people  interested in designing a practical analysis find the overhead of studying semantics (and soundness) excessive, and people who focus on semantics and soundness tend not to investigate heuristics required to make the analysis work on large families of practical examples. This may explain the dearth of material.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;That said, there are people who care about both practical utility and soundness, and even the specific problem you speak of (soundness with respect to points-to-analysis results). I think you will have more luck searching with the terms &lt;em&gt;conditional soundness&lt;/em&gt; or &lt;em&gt;relative soundness&lt;/em&gt; or &lt;em&gt;parameterized soundness&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://llvm.org/pubs/2006-06-12-PLDI-SAFECode.html&quot; rel=&quot;nofollow&quot;&gt;SAFECode: Enforcing Alias Analysis for Weakly Typed Languages&lt;/a&gt;, Dinakar Dhurjati, Sumant Kowshik, and Vikram Adve, PLDI 2006&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://www.cs.nyu.edu/~cconway/papers/conway-2008-TR-pointer.pdf&quot; rel=&quot;nofollow&quot;&gt;Pointer Analysis, Conditional Soundness, and Proving the Absence of Errors&lt;/a&gt;, Christopher L. Conway, Dennis Dams, Kedar S. Namjoshi, Clark Barrett, SAS 2008&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://www.ccs.neu.edu/home/pete/research/aposteriori-soundness.html&quot; rel=&quot;nofollow&quot;&gt;A posteriori soundness for non-deterministic abstract interpretations&lt;/a&gt;, Matthew Might and Panagiotis Manolios, VMCAI 2009.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;The first two papers are directly related to your question, and the third is just a slightly different approach to soundness, which may interest you in this context. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The soundness/utility trade-off is an active concern for the problem of &lt;em&gt;call graph construction&lt;/em&gt;. In the presence of reflection and dynamic class loading, call graph construction is a non-trivial problem and it is difficult to achieve sound and useful results. &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;a href=&quot;http://scholar.google.com/scholar?cites=10970319527014749769&amp;amp;as_sdt=2005&amp;amp;sciodt=0,5&amp;amp;hl=en&quot; rel=&quot;nofollow&quot;&gt;Papers citing &lt;em&gt;Call graph construction in object-oriented languages&lt;/em&gt;&lt;/a&gt; as determined by Google Scholar.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;A lot of those papers are not relevant for this discussion, but there are quite a few which contain relevant discussions, so I prefer to let you choose.&lt;/p&gt;&#xA;" OwnerUserId="4155" LastActivityDate="2012-11-25T21:36:14.953" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14473" PostTypeId="2" ParentId="14471" CreationDate="2012-11-25T21:42:33.313" Score="7" Body="&lt;p&gt;The de Moivre-Laplace Theorem shows that variables like $|T\cap S_1|$,  after being suitably normalised and under certain conditions, will converge in distribution to a normal distribution. That's enough if you want constant lower bounds.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For lower bounds like $n^{-c}$, you need a slightly finer tool. Here's one reference I know of (but only by accident - I've never had the opportunity to use such an inequality myself). Some explicit lower bounds on tail probabilities of binomial distributions are given as Theorem 1.5 the book &lt;em&gt;Random graphs&lt;/em&gt; by Béla Bollobás, Cambridge, 2nd edition, where further references are given to &lt;em&gt;An introduction to probability and its applications&lt;/em&gt; by Feller and &lt;em&gt;Foundations of Probability&lt;/em&gt; by Rényi.&lt;/p&gt;&#xA;" OwnerUserId="636" LastEditorUserId="636" LastEditDate="2012-11-25T21:48:22.080" LastActivityDate="2012-11-25T21:48:22.080" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14475" PostTypeId="2" ParentId="14471" CreationDate="2012-11-26T00:44:05.590" Score="22" Body="&lt;p&gt;The &lt;a href=&quot;http://en.wikipedia.org/wiki/Berry%E2%80%93Esseen_theorem&quot; rel=&quot;nofollow noreferrer&quot;&gt;Berry-Esseen theorem&lt;/a&gt; can give tail probability lower bounds, as long as they are higher than &lt;span class=&quot;math-container&quot;&gt;$n^{-1/2}$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Another tool you can use is the &lt;a href=&quot;http://en.wikipedia.org/wiki/Paley%E2%80%93Zygmund_inequality&quot; rel=&quot;nofollow noreferrer&quot;&gt;Paley-Zygmund inequality&lt;/a&gt;. It implies that for any even integer &lt;span class=&quot;math-container&quot;&gt;$k$&lt;/span&gt;, and any real-valued random variable &lt;span class=&quot;math-container&quot;&gt;$X$&lt;/span&gt;,&lt;/p&gt;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$$&#xA;\Pr[|X| \ge \frac{1}{2}(\mathbb{E}[X^k])^{1/k}] \geq \frac{\mathbb{E}[X^k]^2}{4\mathbb{E}[X^{2k}]}&#xA;$$&lt;/span&gt;&lt;/p&gt;&#xA;&lt;p&gt;Together with the multinomial theorem, for &lt;span class=&quot;math-container&quot;&gt;$X$&lt;/span&gt; a sum of &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt; rademacher random variables Paley-Zygmund can get you pretty strong lower bounds. Also it works with bounded-independence random variables. For example you easily get that the sum of &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt; 4-wise independent &lt;span class=&quot;math-container&quot;&gt;$\pm 1$&lt;/span&gt; random variables is &lt;span class=&quot;math-container&quot;&gt;$\Omega(\sqrt{n})$&lt;/span&gt; with constant probability.&lt;/p&gt;&#xA;" OwnerUserId="4896" LastEditorUserId="1746" LastEditDate="2020-10-14T22:53:38.773" LastActivityDate="2020-10-14T22:53:38.773" CommentCount="0" ContentLicense="CC BY-SA 4.0" />
  <row Id="14476" PostTypeId="2" ParentId="14471" CreationDate="2012-11-26T03:56:42.530" Score="29" Body="&lt;p&gt;Here is an explicit proof that a standard Chernoff bound is tight up to constant factors in the exponent for a particular range of the parameters. (In particular, whenever the variables are 0 or 1, and 1 with probability 1/2 or less, and $\epsilon\in(0,1/2)$, and the Chernoff upper bound is less than a constant.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you find a mistake, please let me know.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Lemma 1.&lt;/strong&gt; (tightness of Chernoff bound)&#xA;&lt;em&gt;Let $X$ be the average of $k$ independent, 0/1 random variables (r.v.).&#xA;For any $\epsilon\in(0,1/2]$ and $p\in(0,1/2]$,  assuming $\epsilon^2 p k \ge 3$,&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(i)&#xA;&lt;em&gt;If each r.v. is 1 with probability at most $p$, then&lt;/em&gt;&#xA;$$\displaystyle&#xA;\Pr[X\le (1-\epsilon)p]&#xA;~\ge~ &#xA;\exp\big({-9\epsilon^2 pk}\big).$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(ii)&#xA;&lt;em&gt;If each r.v. is 1 with probability at least $p$, then&lt;/em&gt;&#xA;$$\displaystyle&#xA;\Pr[X\ge (1+\epsilon)p]&#xA;~\ge~ &#xA;\exp\big({-9\epsilon^2 pk}\big).$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Proof.&lt;/em&gt;&#xA;We use the following observation:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Claim 1.&lt;/strong&gt; If $1\le \ell \le k-1$, then&#xA;$\displaystyle {k \choose \ell} ~\ge~ \frac{1}{e\sqrt{2\pi\ell}} \Big(\frac{k}{\ell}\Big)^{\ell} \Big(\frac{k}{k-\ell}\Big)^{k-\ell}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Proof of Claim 1.&lt;/strong&gt;&#xA;By Stirling's approximation, &#xA;$i!=\sqrt{2\pi i}(i/e)^ie^\lambda$ where $\lambda\in[1/(12i+1),1/12i].$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thus, $k\choose \ell$, which is  $\frac{k!}{\ell! (k-\ell)!}$, is at least&#xA;$$&#xA;\frac{\sqrt{2\pi k}\,(\frac{k}{e})^k}&#xA;{  \sqrt{2\pi \ell}\,(\frac{\ell}{e})^\ell&#xA;~~\sqrt{2\pi (k-\ell)}\,(\frac{k-\ell}{e})^{k-\ell} }&#xA;\exp\Big(\frac{1}{12k+1} - \frac{1}{12\ell} - \frac{1}{12(k-\ell)}\Big)$$&#xA;$$&#xA;~\ge~&#xA;\frac{1}{\sqrt{2\pi\ell}} \Big(\frac{k}{\ell}\Big)^{\ell} \Big(\frac{k}{k-\ell}\Big)^{k-\ell}e^{-1}.&#xA;$$&#xA;QED&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Proof of Lemma 1 Part (i).&lt;/em&gt;&#xA;Without loss of generality assume each 0/1 random variable in the sum $X$&#xA;is 1 with probability &lt;em&gt;exactly&lt;/em&gt; $p$.&#xA;Note $\Pr[X\le (1-\epsilon)p]$ equals the sum $\sum_{i = 0}^{\lfloor(1-\epsilon)pk\rfloor} \Pr[X=i/k]$,&#xA;and $\Pr[X=i/k] = {k \choose i} p^i (1-p)^{k-i}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Fix $\ell = \lfloor(1-2\epsilon)pk\rfloor+1$.&#xA;The terms in the sum are increasing,&#xA;so the terms with index $i\ge\ell$&#xA;each have value at least $\Pr[X=\ell/k]$,&#xA;so their sum has total value at least&#xA;$(\epsilon pk - 2) \Pr[X=\ell/k]$.&#xA;To complete the proof, we show that &#xA;$$(\epsilon pk - 2) \Pr[X=\ell/k] ~\ge~ \exp({-9\epsilon^2 pk}).$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The assumptions $\epsilon^2pk\ge 3$ and $\epsilon\le 1/2$&#xA;give $\epsilon pk \ge 6$,&#xA;so the left-hand side above is at least $\frac{2}{3}\epsilon pk\, {k \choose \ell} p^\ell(1-p)^{k-\ell}$.&#xA;Using Claim 1,&#xA;to bound $k\choose \ell$,&#xA;this is in turn at least $A\, B$&#xA;where&#xA;$A =  \frac{2}{3e}\epsilon p k/ \sqrt{2\pi \ell}$&#xA;and&#xA;$&#xA;B=&#xA;\big(\frac{k}{\ell}\big)^\ell &#xA;\big(\frac{k}{k-\ell}\big)^{k-\ell}&#xA;p^\ell (1-p)^{k-\ell}.&#xA;$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To finish we show $A\ge \exp(-\epsilon^2pk)$ and $B \ge \exp(-8\epsilon^2 pk)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Claim 2.&lt;/strong&gt;  $A \ge \exp({-\epsilon^2 pk})$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Proof of Claim 2.&lt;/strong&gt;&#xA;The assumptions $\epsilon^2 pk \ge 3$ and $\epsilon\le 1/2$&#xA;imply&#xA;(i) $pk\ge 12$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By definition, $\ell \le pk + 1$.&#xA;By (i), $p k \ge 12$.&#xA;Thus, (ii) $\ell \,\le\, 1.1 pk$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Substituting the right-hand side of (ii) for $\ell$ in $A$ gives&#xA;(iii) $A \ge \frac{2}{3e} \epsilon \sqrt{p k / 2.2\pi}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The assumption, $\epsilon^2 pk \ge 3$,&#xA;implies $\epsilon\sqrt{ pk} \ge \sqrt 3$,&#xA;which with (iii) gives (iv) $A \ge \frac{2}{3e}\sqrt{3/2.2\pi} \ge 0.1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;From $\epsilon^2pk \ge 3$ it follows that (v) $\exp(-\epsilon^2pk) \le \exp(-3) \le 0.04$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(iv) and (v) together give the claim. QED&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Claim 3.&lt;/strong&gt;   $B\ge \exp({-8\epsilon^2 pk})$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Proof of Claim 3.&lt;/strong&gt;&#xA;Fix $\delta$ such that $\ell=(1-\delta)pk$.&lt;br&gt;&#xA;The choice of $\ell$ implies $\delta\le 2\epsilon$,&#xA;so&#xA;the claim will hold as long as $B \ge \exp(-2\delta^2pk)$.&#xA;Taking each side of this latter inequality to the power $-1/\ell$ and simplifying,&#xA;it is equivalent to&#xA;$$&#xA;\frac{\ell}{p k}  \Big(\frac{k-\ell}{(1-p) k}\Big)^{k/\ell-1}&#xA;~\le~&#xA;\exp\Big(\frac{2\delta^2 pk}{\ell}\Big).&#xA;$$&#xA;Substituting $\ell= (1-\delta)pk$ and simplifying, it is equivalent to&#xA;$$&#xA;(1-\delta)  \Big(1+\frac{\delta p}{1-p}\Big)^{\displaystyle \frac{1}{(1-\delta)p}-1}&#xA;~\le~&#xA;\exp\Big(\frac{2\delta^2}{1-\delta}\Big).&#xA;$$&#xA;Taking the logarithm of both sides and using $\ln(1+z)\le z$ twice,&#xA;it will hold as long as&#xA;$$&#xA;-\delta\, +\,\frac{\delta p}{1-p}\Big(\frac{1}{(1-\delta)p}-1\Big)&#xA;~\le~&#xA;\frac{2\delta^2}{1-\delta}.&#xA;$$&#xA;The left-hand side above simplifies to $\delta^2/\,(1-p)(1-\delta)$,&#xA;which is less than $2\delta^2/(1-\delta)$ because $p\le 1/2$.&#xA;QED&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Claims 2 and 3&#xA;imply $A B \ge \exp({-\epsilon^2pk})\exp({- 8\epsilon^2pk})$.&#xA;This implies part (i) of the lemma.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Proof of Lemma 1 Part (ii).&lt;/em&gt;&#xA;Without loss of generality assume each random variable is $1$ with probability exactly $p$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note $\Pr[X\ge (1+\epsilon)p] = \sum_{i = \lceil(1-\epsilon)pk\rceil}^n \Pr[X=i/k]$.&#xA;Fix $\hat\ell = \lceil (1+2\epsilon)pk \rceil - 1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The last $\epsilon pk$ terms in the sum&#xA;total at least  $(\epsilon pk-2)\Pr[X=\hat\ell/k]$,&#xA;which is at least $\exp({-9\epsilon^2 pk})$.&#xA;(The proof of that is the same as for (i), except with $\ell$ replaced by $\hat\ell$&#xA;and $\delta$ replaced by $-\hat\delta$ such that $\hat\ell = (1+\hat\delta)pk$.)&#xA;QED&lt;/p&gt;&#xA;" OwnerUserId="8237" LastEditorUserId="8237" LastEditDate="2012-11-26T04:34:26.443" LastActivityDate="2012-11-26T04:34:26.443" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14478" PostTypeId="2" ParentId="14270" CreationDate="2012-11-26T13:11:47.927" Score="7" Body="&lt;p&gt;Quantum annealing essentially offers a square-root speed-up over classical simulated annealing in many circumstances. So, yes, it is potentially a faster approach for some optimization problems, but the speed-up isn't enough to make most hard problems tractable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Unfortunately, you cannot efficiently simulate quantum annealing classically, because any approaches we know of require you to keep track of the state of the system, which requires keeping track of exponentially many parameters (the amplitude of each possible classical state). Thus any attempt to simulate quantum annealing incurs a huge overhead which kills any advantage.&lt;/p&gt;&#xA;" OwnerUserId="204" LastActivityDate="2012-11-26T13:11:47.927" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="14480" PostTypeId="1" CreationDate="2012-11-26T13:38:04.043" Score="2" ViewCount="78" Body="&lt;p&gt;A &lt;em&gt;computable predictor&lt;/em&gt; is an algorithm $A$ computing a function $f_A : \{0,1\}^* \rightarrow \{0,1\}$. We regarding the function as providing a predicted continuation of a finite binary sequence. We define an infinite binary sequence $\alpha \in \{0,1\}^\omega$ to be &lt;em&gt;comprehensible&lt;/em&gt; for $A$ when&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\exists n &amp;gt; 0 \, \forall m &amp;gt; n \, f_A(\alpha_{&amp;lt;m})=\alpha_m$$ &lt;/p&gt;&#xA;&#xA;&lt;p&gt;i.e. sufficiently late in the sequence, $A$ always predicts $\alpha$ correctly.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Obviously $\alpha$ can only be comprehensible when it's computable. It's also easy to see that for any computable predictor $A$, $\exists \alpha$ computable s.t. $\alpha$ is not comprehensible for $A$. For example, we can define $\alpha$ recursively by &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\alpha_{n} := \lnot f_A(\alpha_{&amp;lt;n})$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, it is possible to define $p : \{0,1\}^* \rightarrow \{0,1\}$ uncomputable s.t. all computable sequences are comprehensible for $p$. For example, $p(x)$ can be defined to be $\alpha_{|x|}$ where $\alpha$ is the minimal Kolmogorov complexity infinite sequence satisfying $\alpha_{&amp;lt;|x|} = x$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, it is impossible to construct a universal computable predictor, but we can try to make it &quot;approximately universal&quot;. Formally, an infinite sequence of computable predictors $\{A_n\}_{n \in \mathbb{N}}$ is called &lt;em&gt;asymptotically universal&lt;/em&gt; when $\forall \alpha \in \{0,1\}^\omega$ computable $\exists n &amp;gt; 0 \, \forall m &amp;gt; n: \alpha$ is comprehensible for $A_m$. It is easy to construct an example of such a sequence. Namely, define $A_n(x)$ to be the following program: &quot;Run the first $n$ programs producing infinite sequences by dovetailing. The first time one of those programs produces output $y$ s.t. $|y| = |x| + 1$ and $y_{&amp;lt;|x|} = x$, terminate and produce the output $y_{|x|}$. If all of the programs produced outputs of length &gt; $|x|$ and neither satisfied the condition, terminate and produce the output $0$&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose $A_n$ from the above example is a run on $\alpha \in \{0,1\}^\omega$ produced by an algorithm $B$. For $n &amp;gt;&amp;gt; 0$ the time of the computation of $A_n(\alpha_{&amp;lt;k})$ is bounded by $p(t(k), 2^{|B|})$ where $t$ is the time complexity of $B$ and $p$ is polynomial. That is:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\forall B \, \exists n \, \forall N &amp;gt; n \, \forall k: T(A_N(\alpha(B)_{&amp;lt;k})) &amp;lt; p(t(k), 2^{|B|})$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It seems natural to ask whether this can be improved. Specifically, we define an asymptotically universal sequence of computable predictors $\{E_n\}_{n \in \mathbb{N}}$ to be &lt;em&gt;efficient&lt;/em&gt; when the time of the computation $E_n(\alpha_{&amp;lt;k})$ as above can be bounded by $q(t(k),|B|)$ with $q$ polynomial, given $n &amp;gt;&amp;gt; 0$. The question is thus&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there an efficient asymptotically universal sequence of computable predictors?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="7030" LastEditorUserId="80" LastEditDate="2012-11-27T20:42:11.907" LastActivityDate="2012-11-27T20:42:11.907" Title="Efficient asympotically universal predictors" Tags="&lt;cc.complexity-theory&gt;&lt;computability&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14481" PostTypeId="2" ParentId="14471" CreationDate="2012-11-26T14:18:42.350" Score="14" Body="&lt;p&gt;If you are indeed okay with bounding sums of Bernoulli trials (and not, say, bounded random variables), the following is pretty tight.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;b&gt;Slud's Inequality*.&lt;/b&gt;  Let $\{X_i\}_{i=1}^n$ be i.i.d. draws from a Bernoulli r.v. with $\mathbb{E}(X_1) = p$, and let integer $k\leq n$ be given.  If either (a) $p\leq 1/4$ and $np \leq k$, or (b) $np \leq k \leq n(1-p)$, then $$\text{Pr}\big[\sum_i X_i \geq k\big] \geq 1 - \Phi\left(\frac{k-np}{\sqrt{np(1-p)}}\right),$$ where $\Phi$ is the cdf of a standard normal.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;(Treating the argument to $\Phi$ as transforming the standard normal, this agrees exactly with what the CLT tells you; in fact, it tells us that Binomials satisfying the conditions of the theorem will dominate their corresponding Gaussians on upper tails.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;From here, you can use bounds on $\Phi$ to get something nicer.  For instance, in Feller's first book, in the section on Gaussians, it is shown for every $z&amp;gt;0$ that $$\frac{z}{1+z^2}\varphi(z) &amp;lt; 1-\Phi(z) &amp;lt; \frac{1}{z}\varphi(z),$$ where $\varphi$ is the density of a standard normal.  There are similar bounds in the Wikipedia article for &quot;Q-function&quot; as well.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Other than that, and what other people have said,  you can also try using the Binomial directly, perhaps with some Stirling.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(*) Some newer statements of Slud's inequality leave out some of these conditions; I've reproduced the one in Slud's paper.&lt;/p&gt;&#xA;" OwnerUserId="336" LastEditorUserId="-1" LastEditDate="2016-01-11T14:23:17.533" LastActivityDate="2016-01-11T14:23:17.533" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14482" PostTypeId="1" AcceptedAnswerId="14516" CreationDate="2012-11-26T14:55:57.800" Score="8" ViewCount="263" Body="&lt;p&gt;I've been playing around with &lt;a href=&quot;http://homepages.inf.ed.ac.uk/gdp/publications/Powerdomain_Construction.pdf&quot;&gt;resumptions&lt;/a&gt; lately, mostly from Abramsky's classic paper &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.46.7024&quot;&gt;&lt;em&gt;Retracing Some Paths in Process Algebra&lt;/em&gt;&lt;/a&gt;. They are quite slick (basically solutions to the domain equation $R = I \to (O \times R)$), and very reminiscent of Kahn networks.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course, this observation is not original to me --- they form a traced monoidal category, and this fact was used by &lt;a href=&quot;http://www.cs.ox.ac.uk/samson.abramsky/nfgoi.ps.gz&quot;&gt;Abramsky and Jagadeesan&lt;/a&gt; to give semantics to linear logic. At any rate, note that if you feed a resumption $r$ an input of type $I$, you get an output of type $O$ and an updated resumption $r'$, which is what lets you model the fact that a dataflow node can change as it sees inputs come in. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;As a result, it seems like they could give a nice API for building I/O transducers in a higher-order language like ML or Haskell, but I can't seem to find any papers describing such a thing. But they've been around for decades, and &lt;em&gt;Gordon Plotkin&lt;/em&gt; invented them, so it's not like they've languished in obscurity. So I was wondering if anyone had seen them put to such use. &lt;/p&gt;&#xA;" OwnerUserId="657" LastActivityDate="2012-12-01T17:21:40.507" Title="Resumption-based IO systems?" Tags="&lt;reference-request&gt;&lt;pl.programming-languages&gt;&lt;functional-programming&gt;" AnswerCount="2" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="14483" PostTypeId="1" CreationDate="2012-11-26T15:06:17.320" Score="3" ViewCount="299" Body="&lt;p&gt;I have  a large number of long strings, and I need to search them for a given list of words  as fast as reasonably possible. (Neither the strings nor the words are constants)&#xA;I learned that I can preprocess the strings that I'm going to be searching for my words by building a suffix array and  an lcp array, and that I should be able to make the searches faster by doing so.&#xA;I was wondering, however, if I could preprocess the wordlist in some way as well. It is quite possible that the words will have common parts. I would like to build something like a &quot;word genealogy tree&quot; (or another structure that would achieve the same effect ) where the  substring that can be found in a family of words would be at the top and which would then branch down (for both the prefixes and the suffixes of the ancestor) as the descendants would go. &#xA;I imagine that this would allow me to discard whole branches or trees quickly if an ancestral node failed to match.&#xA;Could you please direct me to a suitable strategy that would help me achieve my goal (in this or any other reasonably efficient way)?&#xA;Note: I can't really make use of much existing code (can make use of ideas, though). I'm pretty much limited to the standard c library.&lt;/p&gt;&#xA;" OwnerUserId="12643" LastEditorUserId="12643" LastEditDate="2012-11-26T17:30:41.677" LastActivityDate="2012-11-29T23:03:58.043" Title="Search a string for a list of words" Tags="&lt;string-search&gt;" AnswerCount="3" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14485" PostTypeId="1" AcceptedAnswerId="14528" CreationDate="2012-11-26T16:26:13.887" Score="7" ViewCount="384" Body="&lt;p&gt;I am interested in finding a program which can calculate and preferably also visualize various products of not huge graphs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More specifically, I work with labeled, directed multigraphs, and would like to be able to calculate and visualize especially the lexicographic product of such graphs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Further, as it more precisely is a close variant of the lexicographic product I am interested in, it would be preferable if modifying the predefined operation is possible.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Specifically, I am interested in the following: where &lt;code&gt;L(sG)&lt;/code&gt; constitute the set of labels on node &lt;code&gt;s&lt;/code&gt; in graph &lt;code&gt;G&lt;/code&gt;, and &lt;code&gt;pre(tH)&lt;/code&gt; is one of two sets of labels for &lt;code&gt;t&lt;/code&gt; in &lt;code&gt;H&lt;/code&gt;, the product is one such that 1) the set of nodes is &lt;code&gt;(s,t)&lt;/code&gt; such that &lt;code&gt;pre(tH)&lt;/code&gt; is a subset of &lt;code&gt;L(sG)&lt;/code&gt;, 2) &lt;code&gt;(s,t)&lt;/code&gt; and &lt;code&gt;(s',t')&lt;/code&gt; are related in &lt;code&gt;GxH&lt;/code&gt; as specified by the lexicographic product, and 3) the labels &lt;code&gt;L(sGxH)&lt;/code&gt; are [those from &lt;code&gt;L(sG)&lt;/code&gt; plus those from the second set of labels of &lt;code&gt;t&lt;/code&gt; in &lt;code&gt;H&lt;/code&gt; called &lt;code&gt;post(t,H)&lt;/code&gt;] minus [those from &lt;code&gt;L(sG)&lt;/code&gt; inconsistent with the new &lt;code&gt;post(t,H)&lt;/code&gt;].&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I do not assume that the program in question has the specified operation pre-programmed, but it would be very nice if it was implementable with some tampering.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does any one know of a package that would allow this?&lt;/p&gt;&#xA;" OwnerUserId="12651" LastEditorUserId="12651" LastEditDate="2012-12-04T18:16:22.743" LastActivityDate="2012-12-04T18:16:22.743" Title="Is there software for graph product calculation and visualization?" Tags="&lt;graph-theory&gt;&lt;application-of-theory&gt;&lt;software&gt;" AnswerCount="2" CommentCount="4" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="14486" PostTypeId="1" CreationDate="2012-11-26T16:28:01.953" Score="-1" ViewCount="181" Body="&lt;p&gt;Does anyone know of an algorithm that can perform the following tasks:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Unsupervised clustering &lt;em&gt;without&lt;/em&gt; specifying the number of clusters apriori. For example if all the buildings in wide geographical are plotted as as points on a 2d plane such an algorithm should be able to identify the number of settlements such as cities, towns and villages, regardless of the size of the settlements.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Thinning the cluster of points to a representative points. In the wide geographical area example this thinning operation would select a number of &quot;representative&quot; dwellings (of minimum size 1, for the smallest settlements) for each settlement.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="6776" LastEditorUserId="6776" LastEditDate="2012-11-26T17:01:41.157" LastActivityDate="2015-01-17T08:45:32.353" Title="Clustering without specifying the number of clusters apriori" Tags="&lt;clustering&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="14487" PostTypeId="2" ParentId="14483" CreationDate="2012-11-26T18:10:14.183" Score="1" Body="&lt;p&gt;A convenient way would be to use the KMP algorithm with hash filtering.&#xA;I understand that your list of string can change anytime so preprocessing may be irrelevant. (although there exist dynamic preprocessing methods).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would suggest to assign each string from your list an hash number (if it is integer it is a number between 0 to 2^32) and when you got a query for some string s, you will calculate h=hash(s) [hash(x) could be a function that summarize the values of the characters in string x]. Now you can search for matches only on the strings in the list that their hash value = hash(s).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Clearly the number of required search will reduced.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now for each string in the list such that it's hash = hash(s) make a search using KMP which give you a result in time O(n+m) [n is the text and m is the pattern lengthes] so if there k texts remained after the filtering you will get the result in time O(k(n+m)).&lt;/p&gt;&#xA;" OwnerUserId="12633" LastEditorUserId="12633" LastEditDate="2012-11-27T04:32:49.497" LastActivityDate="2012-11-27T04:32:49.497" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="14488" PostTypeId="2" ParentId="14415" CreationDate="2012-11-26T19:13:47.297" Score="3" Body="&lt;p&gt;It's hard to add anything to Andrej's or Neel's explanations, but I'll give it a shot. I'm going to try to address the syntactic point of view, rather than try to uncover underlying semantics, because the explanation is more elementary and my give a more straightforward answer to your question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am going to work in the &lt;em&gt;simply-typed&lt;/em&gt; $\lambda$-calculus rather than the more complex system underlying Haskell. I believe in particular that the presence of type variables may be confusing you to a certain extent.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The crucial reference is the following:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Mendler, N. (1991). Inductive types and type constraints in the second-order lambda calculus. I haven't found a reference online I'm afraid. The statements and proofs can however be found in Nax's &lt;a href=&quot;http://www.nuprl.org/documents/Mendler/InductiveDefinition.html&quot; rel=&quot;nofollow&quot;&gt;PhD dissertation&lt;/a&gt; (a highly recommended read!).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Mendler explains that positivity is a &lt;em&gt;necessary&lt;/em&gt; and &lt;em&gt;sufficient&lt;/em&gt; condition for termination in the presence of non-recursive case definitions (and structurally decreasing recursive ones). He states it using an &lt;em&gt;equational&lt;/em&gt; formulation. I give a simple example, which is a simplification of your $\mathrm{Bad}$ type.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$ \mathrm{Bad} = \mathrm{Bad}\rightarrow A$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Where $A$ is any type. We then have&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$ \lambda x:\mathrm{Bad}.x\ x: \mathrm{Bad}\rightarrow A$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;and so&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$ (\lambda x:\mathrm{Bad}.x\ x)\ (\lambda x:\mathrm{Bad}.x\ x): A $$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Mendler shows that this can be carried out for &lt;em&gt;any&lt;/em&gt; type&#xA;$$ \mathrm{Bad} = F(\mathrm{Bad})$$&#xA;where $F(X)$ is a type with at least one negative occurrence of $X$ (there may be positive occurrences as well). He gives an explicit term which fails to terminate for a given $F(X)$ (pages 39-40 of his thesis).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course you are working not with equationally defined types but with &lt;em&gt;constructors&lt;/em&gt;, i.e. you have&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;data Bad = Pack (Bad -&amp;gt; A)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;rather than strict equality. However you can define&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;unpack :: Bad -&amp;gt; (Bad -&amp;gt; A)&#xA;unpack (Pack f) = f&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;which is sufficient for this result to continue to hold:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt; (\x:Bad -&amp;gt; unpack x x) (Pack (\x:Bad -&amp;gt; unpack x x))&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;This term is still well typed of type $A$.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;In your second example, things are a bit more tricky, as you have somethings along the lines of&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$ \mathrm{Bad} = \mathrm{Bad}' \rightarrow A$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where $\mathrm{Bad}'$ is &lt;em&gt;related&lt;/em&gt;, but &lt;em&gt;not&lt;/em&gt; equal, to $\mathrm{Bad}$ (in your case they are equal to $\mathrm{Bad}\ a$ and $\mathrm{Bad}\ (\mathrm{Not}\ a)$ respectively). I'll admit that I could not build a straightforward isomorphism between the two. The same problem is present if you replace&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;type Not a = a -&amp;gt; False&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;with&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;data Not a = Not a&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;It would be easily solved if Haskell allowed such type definitions:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;type Acc = Not Acc&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;In this case, you could build a looping combinator in exactly the same manner as before. I suspect you can carry a similar (but more complex) construction using&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;data Acc = D (Not Acc)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;The trouble here is that to build an isomorphism&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;Bad Acc &amp;lt;-&amp;gt; Bad (Not Acc)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;you have to deal with mixed variance.&lt;/p&gt;&#xA;" OwnerUserId="3984" LastActivityDate="2012-11-26T19:13:47.297" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14493" PostTypeId="1" CreationDate="2012-11-26T21:58:40.603" Score="0" ViewCount="1713" Body="&lt;p&gt;Here, we define a nearly-sorted array with k-sized error, as this:&#xA;Elements in the array may be in the wrong order, but only if they are not distanced by more than k indices.&#xA;For example:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1, 2, 3, &lt;strong&gt;6&lt;/strong&gt;, &lt;strong&gt;5&lt;/strong&gt;, &lt;strong&gt;4&lt;/strong&gt;, 7, 8, 9&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The 6 and the 4 are in the wrong order, and they are 2 indices apart from one another.&#xA;The rest of the elements are in order, or of less than 2 indices apart.&#xA;So the above array is nearly-sorted with an error size 2.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;The question is, how to &quot;tweak&quot; the simple and basic version of the QuickSort algorithm, to have it produce a nearly-sorted array instead of a fully-sorted array, given a certain k, and thereby making it faster than &lt;code&gt;O(nlgn)&lt;/code&gt;?&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I've been thinking about this for days now, and I can't seem to understand how &quot;ignoring&quot; some of the elements while sorting, in any way, can ever change the run-time complexity of the algorithm, where k is constant?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;I could easily just stop the recursion if &lt;code&gt;size &amp;lt; k&lt;/code&gt; instead of &lt;code&gt;size &amp;lt; 2&lt;/code&gt;, which would indeed make it faster by a tiny bit, and will indeed have possible errors, but wouldn't it still be &lt;code&gt;O(nlgn)&lt;/code&gt;?&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Any help or direction will be appreciated!&lt;/strong&gt;&lt;/p&gt;&#xA;" OwnerUserId="12653" LastActivityDate="2012-11-26T22:37:26.477" Title="Near-Sort quicksort algorithm faster than O(nlgn)" Tags="&lt;approximation-algorithms&gt;&lt;time-complexity&gt;&lt;sorting&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="1" ClosedDate="2012-11-26T22:46:40.223" ContentLicense="CC BY-SA 3.0" />
  <row Id="14494" PostTypeId="2" ParentId="14387" CreationDate="2012-11-26T22:24:03.980" Score="3" Body="&lt;p&gt;Just a partial self-answer: I think the problem is NP-complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I found 3 gadgets (each one occupies $16 \times 16$ cells) that allows to build a Net game equivalent to a grid graph of degree $\leq 3$ and that should have a solution iif the original graph has an Hamiltonian cycle. The figure shows four different configurations of the gadget equivalent to a node with degree 3 (the full picture can be &lt;a href=&quot;http://www.fractalmuse.org/wp-content/uploads/2012/11/netgadgets.jpg&quot; rel=&quot;nofollow noreferrer&quot;&gt;downloaded here&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/oNvFS.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The gadget SHOULD have the following properties (I'll try to check them with a constraint solver):&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;it can be linked to other gadgets only through the 3 &lt;em&gt;interface pairs&lt;/em&gt; of corner wires ($A$, $B$, $C$);&lt;/li&gt;&#xA;&lt;li&gt;the two wires of an interface pair must be directed both outwards or both inwards (otherwise there is an open ended wire or a cycle in the inner part of the gadget);&lt;/li&gt;&#xA;&lt;li&gt;the gadget must be entered/exited exactly twice and from exactly two interface pairs (the green zones of the first three figures show the traversals A-C, B-C, A-B);&lt;/li&gt;&#xA;&lt;li&gt;exactly two interface pairs must be directed outward (the red zone in the figure shows what happens if the three interface pairs are all directed outward);&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The gadgets equivalent to nodes of degree 2 and 1 are similar (and we can also build &quot;fill&quot; gadgets to fill the holes of the original grid graph).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now replacing the two central cells of one gadget with the central unit that sends the power on one direction and a terminal at the other endpoint, the game SHOULD have a solution iif the original graph has an Hamiltonian cycle.&lt;/p&gt;&#xA;" OwnerUserId="3247" LastActivityDate="2012-11-26T22:24:03.980" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="14496" PostTypeId="2" ParentId="14493" CreationDate="2012-11-26T22:32:21.527" Score="4" Body="&lt;p&gt;You can't do it. Suppose you start with an array where everything is sorted to distance $k$. Then, you can use a modified QuickSort to sort this array in time $n \log k$. &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;First, choose pivot elements every $k$ elements. Now, sort the array so everything is in place with respect to these elements. (You can do this in time $O(n)$ using a modified version of Quicksort. First, put everything to the left of the first pivot element on the correct side of this pivot element. This takes $O(k)$ time. Next, put everything between the first and second pivot elements on the correct side of the second pivot element. Repeat for the rest of the pivot elements, from left to right.) Finally, sort each of the sublists between the pivot elements. &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;This will take total time $O(n \log k)$. Now, if you could take an arbitrary array to a nearly-sorted array in time less than $o(n\log n - n \log k)$, we would sort in time $o(n \log n)$. We can't do this.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thus, there is an $\Omega(n \log \frac{n}{k})$ time bound on near-sorting.  &lt;/p&gt;&#xA;" OwnerUserId="1677" LastEditorUserId="1677" LastEditDate="2012-11-26T22:37:26.477" LastActivityDate="2012-11-26T22:37:26.477" CommentCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="14497" PostTypeId="1" AcceptedAnswerId="14504" CreationDate="2012-11-26T22:38:32.763" Score="7" ViewCount="441" Body="&lt;p&gt;This might be embarrassing, but it turned out I don't know what is $DTIME(n^a)^{DTIME(n^b)}$. It is between $DTIME(n^{ab})$ and $DTIME(n^{a(b+1)})$ but where?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Update: There are three possible ways to define oracle machines.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1, They have an oracle tape, which they can read (see &lt;a href=&quot;http://en.wikipedia.org/wiki/Oracle_machine&quot; rel=&quot;nofollow&quot;&gt;wikipedia&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2, They have an oracle tape, from which they can pose questions (see Arora-Barak book).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;3, Same as two, but after each question the tape is erased (I could swear I heard this too).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I had 2 in mind, as the most common (?) definition.&#xA;In case of 3 it is easy to prove that the answer is $DTIME(n^{ab})$ (see Kristoffer's answer).&#xA;In case of 1, I am not even sure that the bounds I claim hold, but maybe it is not hard to prove, I have no clue about this version.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Update: I have realized that the number of tapes changes the power, so it is best to forget this question...&lt;/p&gt;&#xA;" OwnerUserId="419" LastEditorUserId="419" LastEditDate="2013-01-06T22:37:22.063" LastActivityDate="2013-01-06T22:37:22.063" Title="What is $DTIME(n^a)^{DTIME(n^b)}$?" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;oracles&gt;" AnswerCount="2" CommentCount="7" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14498" PostTypeId="1" CreationDate="2012-11-26T22:50:54.533" Score="12" ViewCount="732" Body="&lt;p&gt;In Wadler's &lt;em&gt;Recursive Types for Free!&lt;/em&gt; [1], he demonstrated two types, $\forall X . (F(X) \rightarrow X) \rightarrow X$ and $\exists X . (X \rightarrow F(X)) \times X$, and claimed they are &lt;em&gt;dual&lt;/em&gt;.  In particular, he pointed out that the type $\exists X . X \rightarrow (X \rightarrow F(X))$ is &lt;em&gt;not&lt;/em&gt; the dual of the former.  It seems the duality in question here is different from De Morgan duality in logic.  I wonder how the duality of types is defined, specfically for the three types mentioned, why the second is dual of the first while the third is not.  Thanks.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] &lt;a href=&quot;http://homepages.inf.ed.ac.uk/wadler/papers/free-rectypes/free-rectypes.txt&quot;&gt;http://homepages.inf.ed.ac.uk/wadler/papers/free-rectypes/free-rectypes.txt&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="656" LastEditorUserId="656" LastEditDate="2012-11-26T22:56:21.683" LastActivityDate="2012-11-28T18:03:01.867" Title="How is duality of types defined?" Tags="&lt;lo.logic&gt;&lt;type-theory&gt;" AnswerCount="3" CommentCount="1" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="14499" PostTypeId="2" ParentId="12523" CreationDate="2012-11-26T23:00:44.443" Score="8" Body="&lt;p&gt;JHC uses a different approach.  The compiler's intermediate language is a dependently typed lambda-calculus where there is no distinction between types and values.  JHC therefore can perform a case analysis on the type parameter of a function and call the correct overloaded function directly.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The JHC &lt;a href=&quot;http://repetae.net/computer/jhc/jhc.shtml&quot;&gt;website&lt;/a&gt; goes into some depth on the implementation, as well as its advantages over the standard dictionary passing implementation.&lt;/p&gt;&#xA;" OwnerUserId="375" LastActivityDate="2012-11-26T23:00:44.443" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14500" PostTypeId="1" CreationDate="2012-11-26T23:12:05.483" Score="0" ViewCount="108" Body="&lt;p&gt;As stated in the question, say i created a random population of 100 timetables. 1 % of these timetables are valid. Then, if I apply the soft constraints evaluation functions on the 1% valid timetables, the population will have few outstanding finesses like below:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;population = 5;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;finesses = { 0.121,0.115,0.117,&lt;strong&gt;0.855&lt;/strong&gt;,0.145} , the one in bold is an outstanding fitness and has the soft constraints evaluation functions applied on it. i have two hard constraints and three soft constraints and i use the weighted average to calculate overall fitness like this: &lt;br&gt;&lt;br&gt;&lt;strong&gt;(0.05)*h1+(0.05)*h2+(0.3)*s1+(0.3)*s2+(0.3)*s3&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;the question is:&#xA;Is this approach correct ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;someone suggested that i should treat soft and hard constraints the same, but if i do how can one soft constraints evaluate an invalid timetable!?&lt;/p&gt;&#xA;" OwnerUserId="12184" LastEditorUserId="186" LastEditDate="2012-12-06T08:18:17.093" LastActivityDate="2012-12-06T08:18:17.093" Title="When to apply soft constraints evaluation functions in genetic algorithms?" Tags="&lt;ai.artificial-intel&gt;&lt;ne.neural-evol&gt;&lt;genetic-algorithms&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14501" PostTypeId="1" CreationDate="2012-11-27T00:15:05.160" Score="7" ViewCount="507" Body="&lt;p&gt;There seem to be many very interesting problems in graph theory that can be written in the form of maximizing/minimizing a quadratic form on either the Adjacency ${\bf A}$ or the Laplacian matrix ${\bf L}$ of a graph. Examples are: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) the max-cut problem is equivalent to finding a sign vector that maximizes a quadratic form&#xA;$$\max_{x_i\in\{\pm1\}} \sum_{i,j}A_{i,j}(1- x_ix_j),$$&#xA;2) The densest $k$-subgraph is equivalent to&#xA;$$\max_{x_i\in\{0,1/\sqrt{k}\},\;{\bf 1}^T{\bf x}=1} {\bf x}^T{\bf A}{\bf x}$$&#xA;3) The Grothendieck constant involves maximizing the adjacency's quadratic form over sign vectors&#xA;$$\max_{x_i\in\{\pm1\}} {\bf x}^T{\bf A}{\bf x},$$&#xA;4) The spectral profile of a graph &#xA;$$\Lambda(\delta) = \min_{d(\text{supp}({\bf x}))\le \delta} \frac{{\bf x}^T{\bf L}{\bf x}}{\sum_i \text{deg}(\text{vertex}_i) x_i^2},$$&#xA;where $d(\text{supp}(x))$ is the fraction of edges incident on vertices within the support of vector ${\bf x}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;( &lt;a href=&quot;http://www.eecs.berkeley.edu/~prasad/Files/spectralprofile.pdf&quot;&gt;http://www.eecs.berkeley.edu/~prasad/Files/spectralprofile.pdf&lt;/a&gt; )&lt;/p&gt;&#xA;&#xA;&lt;p&gt;4+$\epsilon$) Anything involving the computation of an adjacency/laplacian eigenvalue.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;${\bf Q}$: Which other problems in graph theory can be expressed as maximizing/minimizing a quadratic form?&lt;/p&gt;&#xA;" OwnerUserId="6963" LastEditorUserId="6963" LastEditDate="2012-11-27T01:42:57.917" LastActivityDate="2012-11-28T08:46:20.913" Title="Which problems in graph theory can be stated as quadratic programs?" Tags="&lt;graph-theory&gt;&lt;optimization&gt;&lt;spectral-graph-theory&gt;" AnswerCount="0" CommentCount="4" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="14502" PostTypeId="2" ParentId="14483" CreationDate="2012-11-27T04:54:21.810" Score="0" Body="&lt;p&gt;Well the scenario is clear now.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My solution is Generalized Suffix tree. You will need to learn a bit about it before implementation. (I didn't find full 'plug-n-play' implementation in the internet but maybe you'll find).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let's say that the length of all the strings in the list together is N and the pattern you are searching is of length M, the solution will require a processing time of O(N) and query time of O(M + #occ). #occ is the number of occurences found by the query.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are many references in the interner so I will not copy all of them.&#xA;You can see what's GST in &lt;a href=&quot;http://en.wikipedia.org/wiki/Generalized_suffix_tree&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/Generalized_suffix_tree&lt;/a&gt;&#xA;And some article of how to build it in linear time in &lt;a href=&quot;http://www.drdobbs.com/database/a-practical-suffix-tree-implementation/184404184&quot; rel=&quot;nofollow&quot;&gt;http://www.drdobbs.com/database/a-practical-suffix-tree-implementation/184404184&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="12633" LastEditorUserId="12633" LastEditDate="2012-11-27T05:28:32.850" LastActivityDate="2012-11-27T05:28:32.850" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14503" PostTypeId="2" ParentId="14498" CreationDate="2012-11-27T09:35:28.883" Score="6" Body="&lt;p&gt;In my experience, a good and operational way to understand duality of types&#xA;for $\lambda$-calculi is by going through $\pi$-calculus.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;When you translate (decompose) types into process calculus, duality becomes simple: &lt;em&gt;input is dual to output and vice versa&lt;/em&gt;. There is not (much) more to duality.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In $\pi$-calculus you have a straightforward (and almost symmetric)&#xA;duality between input and output. Say you have a type $\alpha = (Bool,&#xA;Int)^{\uparrow}$. Then $\alpha$ says that a channel having type $\alpha$ makes exactly one&#xA;output, carrying a boolean value and an integer. A process inhabiting&#xA;this type at channel $x$ would be $\overline{x}\langle&#xA;false,7\rangle$.  The dual type, which we might write&#xA;$\overline{\alpha}$, would express that an input happens&#xA;of a pair $(v, w)$ where $v$ is a boolean and $w$ is an integer. We&#xA;write $\overline{\alpha}$ as $(bool,int)^{\downarrow}$. A process&#xA;inhabiting $\overline{\alpha}$ at $x$ would be $c(v,w).0$.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Naturally,&#xA;processes don't just communicate simple integer or boolean values, but&#xA;also channels. For example the type $\beta = (int,&#xA;(int)^{\uparrow})^{\downarrow}$ describes a channel that makes one&#xA;input of two values $(v, w)$ where $v$ is an integer and $w$ is a&#xA;channel that is used to make exactly one output (of an&#xA;integer). Clearly its dual must be $\overline{\beta} =(int,&#xA;(int)^{\downarrow})^{\uparrow}$, which describes a channel that&#xA;outputs two pieces of data, an integer and a channel used to input an&#xA;integer. The duality of $\alpha$ and $\overline{\alpha}$ means that we&#xA;can coherently parallel compose a process $P$ that has type $\alpha$&#xA;at a channel name $x$ with a process $Q$ that has type&#xA;$\overline{\alpha}$ at the same $x$ (assuming that the other shared&#xA;channels of $P$ and $Q$ are also dual). And likewise for $\beta$ and its dual $\overline{\beta}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This can easily be generalised to higher-order types, for example&#xA;$\forall X.(X,(X)^{\uparrow})^{\downarrow}$ is a type that inputs two&#xA;items $(v, w)$ where $v$ is of type $X$ and $w$ is a channel used for&#xA;outputting something of type $X$. An example of a process having this type&#xA;at a channel $x$ is the &lt;em&gt;generic forwarder&lt;/em&gt;&#xA;$$&#xA;   x(vw).\overline{w}v&#xA;$$&#xA;Simplifying a bit, this is essentially the only inhabitant of the type&#xA;$\forall X.(X,(X)^{\uparrow})^{\downarrow}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What does the universal quantification mean at the process level?&#xA;There is a straightforward interpretation: if data is typed by a&#xA;type-variable, it cannot be used as the subject of an output, only an&#xA;object. So we cannot inspect this data, we can only pass it on, or&#xA;forget it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The type $\forall X.(X,(X)^{\uparrow})^{\downarrow}$ is    dual to &#xA;$\exists X.(X,(X)^{\downarrow})^{\uparrow}$. How are we    to interpret&#xA;the existential quantification? Quite simple: if data is typed by an&#xA;existentially quantified type variable, it can only be passed to&#xA;processes that do not inspect the data, but only pass it on (or forget&#xA;it). In other words, we can only pass it on to processes that use the&#xA;dual universally quantified type variable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The theory of this has been worked out in some detail in [1, 2, 3] and&#xA;some other, harder to access work, and related very precisely to&#xA;polarised linear logic and its notion of duality in &lt;a href=&quot;http://perso.ens-lyon.fr/olivier.laurent/picppn.pdf&quot; rel=&quot;nofollow&quot;&gt;4&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now you many ask how this relates to type in $\lambda$-calculi.  The&#xA;answer is that $\lambda$-calculi can be decomposed into $\pi$-calculus&#xA;in a precise way, following pioneering work by R. Milner &lt;a href=&quot;http://hal.archives-ouvertes.fr/docs/00/07/54/05/PDF/RR-1154.pdf&quot; rel=&quot;nofollow&quot;&gt;5&lt;/a&gt;, and each&#xA;$\lambda$-calculus type has a precise correspondence with&#xA;$\pi$-calculus types. The duality at the process type level translates back to&#xA;duality at the function type level. It's just that function application is less of a  symmetric operation, and the simplicity of the duality at the process level is&#xA;hidden in the complications of $\lambda$-calculus.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.sussex.ac.uk/Users/mfb21/publications/lics01/lics01.pdf&quot; rel=&quot;nofollow&quot;&gt;1&lt;/a&gt; N. Yoshida et al., &lt;em&gt;&lt;a href=&quot;http://www.sussex.ac.uk/Users/mfb21/publications/lics01/lics01.pdf&quot; rel=&quot;nofollow&quot;&gt;Strong Normalisation in the $\pi$-Calculus&lt;/a&gt;&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.sussex.ac.uk/Users/mfb21/publications/fossacs03/fossacs03-full.pdf&quot; rel=&quot;nofollow&quot;&gt;2&lt;/a&gt; K. Honda et al., &lt;em&gt;&lt;a href=&quot;http://www.sussex.ac.uk/Users/mfb21/publications/fossacs03/fossacs03-full.pdf&quot; rel=&quot;nofollow&quot;&gt;Genericity and the $\pi$-Calculus&lt;/a&gt;&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.sussex.ac.uk/Users/mfb21/publications/cw04/cw04.pdf&quot; rel=&quot;nofollow&quot;&gt;3&lt;/a&gt; K. Honda et al., &lt;em&gt;&lt;a href=&quot;http://www.sussex.ac.uk/Users/mfb21/publications/cw04/cw04.pdf&quot; rel=&quot;nofollow&quot;&gt;Control in the $\pi$-Calculus&lt;/a&gt;&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://perso.ens-lyon.fr/olivier.laurent/picppn.pdf&quot; rel=&quot;nofollow&quot;&gt;4&lt;/a&gt; K. Honda et al., &lt;em&gt;&lt;a href=&quot;http://perso.ens-lyon.fr/olivier.laurent/picppn.pdf&quot; rel=&quot;nofollow&quot;&gt;An exact correspondence between a typed pi-calculus and polarised proof-nets&lt;/a&gt;&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://hal.archives-ouvertes.fr/docs/00/07/54/05/PDF/RR-1154.pdf&quot; rel=&quot;nofollow&quot;&gt;5&lt;/a&gt; R. Milner, &lt;em&gt;&lt;a href=&quot;http://hal.archives-ouvertes.fr/docs/00/07/54/05/PDF/RR-1154.pdf&quot; rel=&quot;nofollow&quot;&gt;Functions as Processes&lt;/a&gt;&lt;/em&gt;.&lt;/p&gt;&#xA;" OwnerUserId="898" LastEditorUserId="898" LastEditDate="2012-11-28T18:03:01.867" LastActivityDate="2012-11-28T18:03:01.867" CommentCount="14" ContentLicense="CC BY-SA 3.0" />
  <row Id="14504" PostTypeId="2" ParentId="14497" CreationDate="2012-11-27T09:59:04.593" Score="8" Body="&lt;p&gt;It seems your upper bound can be improved as follows: On input $x$ of length $n$, let $y_1,\dots,y_m$ be the oracle queries. Note that $|y_1|+\dots+|y_m| \leq c_1n^a$. The time to simulate the oracle machine to answer query $y_i$ is $c_2|y_i|^b$. Note now that $c_2(|y_1|^b+\dots+|y_m|^b) \leq c_2 (|y_1|+\dots+|y_m|)^b \leq c_2(c_1n^a)b = c_1c_2n^{ab}$. Thus the time to simulate the computation without the oracle is $c_1n^a + c_1c_2n^{ab} = O(n^{ab})$, which matches your lower bound.&lt;/p&gt;&#xA;" OwnerUserId="313" LastActivityDate="2012-11-27T09:59:04.593" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="14505" PostTypeId="2" ParentId="14378" CreationDate="2012-11-27T11:27:06.713" Score="4" Body="&lt;p&gt;Check out Lemma 4.4 in &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.5.8928&quot; rel=&quot;nofollow&quot;&gt;HesseAllenderBarrington&lt;/a&gt; - it may not be terribly useful for sequential complexity but says essentially that CRR (Chinese Remainder Representation) basis extension can be done in very uniform $\mathsf{TC}^0$. The exact bound is $\mathsf{FOM + POW} = \mathsf{FOM}$ (see also Corollary 6.2 of the same paper).&lt;/p&gt;&#xA;" OwnerUserId="214" LastActivityDate="2012-11-27T11:27:06.713" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14506" PostTypeId="2" ParentId="14497" CreationDate="2012-11-27T14:07:22.680" Score="5" Body="&lt;p&gt;You can also prove the other direction, i.e. $DTIME(n^{ab})\subseteq DTIME(n^a)^{DTIME(n^b)}$ using a padding argument,  consider any $L\in DTIME(n^a)$ via some machine $M$ running in time $O(n^{ab})$. Let $L_{\text{pad}}=\left\{1^{n^a}\#x | x\in L \right\}$, $L_{\text{pad}}$ is in $DTIME(n^b)$ via the following algorithm : &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Remove $1^{n^a}\#$, and get $x$, if the input is not of this form reject. &lt;/li&gt;&#xA;&lt;li&gt;Run $M$ on $x$.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;On input $y$ step 1 takes time linear in $|y|$, step 2 takes &#xA;time $|x|^{ab}=\left(|x|^a\right)^b=|y|^b$. Hence $L{\text{pad}} \in DTIME(n^b)$. Given $x$, we can check whether $x\in L$ by the following oracle machine which has oracle access to $L_{\text{pad}}$,&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Write $1^{n^a}\#x$ on the oracle tape.&lt;/li&gt;&#xA;&lt;li&gt;Query $L_{\text{pad}}$ oracle, if it accepts accept $x$, otherwise reject $x$.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;The base machine clearly runs in $DTIME(n^a)$ and, the oracle is in $DTIME(n^b)$ as proved earlier.&lt;/p&gt;&#xA;" OwnerUserId="8345" LastActivityDate="2012-11-27T14:07:22.680" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14507" PostTypeId="2" ParentId="14498" CreationDate="2012-11-27T16:47:02.527" Score="7" Body="&lt;p&gt;The answer can be understood categorically through the lens of &lt;a href=&quot;http://en.wikipedia.org/wiki/F-algebra&quot; rel=&quot;nofollow noreferrer&quot;&gt;F-algebras&lt;/a&gt;. The categorical representation of a recursive type $I$ in a category $\cal C$ can roughly be specified using a functor $F:{\cal C}\rightarrow{\cal C}$. One then works in the category of $F$-algebras with&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;as objects: objects $A$ of $\cal C$ along with a morphism&#xA;$$ \alpha:F(A)\rightarrow A$$&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;as arrows: squares&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/xlVdX.png&quot; alt=&quot;F-algebra morphism&quot;&gt; &lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Now for $I$ to be the recursive type represented by $F$, $I$ needs to be &lt;em&gt;initial&lt;/em&gt; in this category: we need&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;A morphism $in:F(I) \rightarrow I$&lt;/li&gt;&#xA;&lt;li&gt;For each $F$-algebra $(A,\alpha)$ a morphism $fold: I\rightarrow A$ that makes the appropriate square commute.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Now define $I=\forall X.(F(X)\rightarrow X)\rightarrow X$. It is pretty clear how to build $fold$: just take&#xA;$$fold=\lambda i:I. i\ A\ \alpha : I\rightarrow A$$&#xA;Building $in$ is a bit more tricky, Wadler explains it, so I won't try to. Note however that it requires the fact that $F$ is a &lt;em&gt;functor&lt;/em&gt;, which can be seen as a positivity requirement.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now in category theory, we often want to consider the situation in which all arrows are reversed. In this case, given $F$, we can consider the category of &lt;em&gt;$F$-coalgebras&lt;/em&gt; with&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;As objects: objects $Z$ of $\cal C$ along with a morphism&#xA;$$\omega: Z\rightarrow F(Z) $$&lt;/li&gt;&#xA;&lt;li&gt;As arrows, squares as in the $F$-algebra case (but with $\alpha$ and $\beta$ reversed).&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Now we wish to examine the &lt;em&gt;terminal&lt;/em&gt; object $T$ of this category. The requirements are now reversed:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;A morphism $out:T\rightarrow F(T)$&lt;/li&gt;&#xA;&lt;li&gt;For each $F$-coalgebra $Z$, a morphism $cofold: Z\rightarrow T$.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;How do we do this? Well as Wadler prescribes, we take $T=\exists X.(X\rightarrow F(X))\times X$. In a similar manner than before, we have&#xA;$$ cofold = \lambda z:Z.(Z,\omega,z) : Z\rightarrow T$$&#xA;This construction would not have worked if we had instead taken $T=\exists X.X\rightarrow (X\rightarrow F(X))$.&lt;/p&gt;&#xA;" OwnerUserId="3984" LastActivityDate="2012-11-27T16:47:02.527" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14513" PostTypeId="1" AcceptedAnswerId="14514" CreationDate="2012-11-27T23:01:51.157" Score="1" ViewCount="147" Body="&lt;p&gt;I'm courrently rading &quot;Computational Geometry&quot; from Mark de Berg, Otfried Cheong,&#xA;Marc van Kreveld, Mark Overmars and found the following theorem 13.9.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Let $S$ be a collection of convex polygonal pseudodiscs with n&#xA;  edges in total. Then the complexity of their union is at most $2n$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I'm not really sure what this should mean (this might be a a language barrier). First I thought that this would be the time complexity, but I'm now pretty much unsure about this.&lt;/p&gt;&#xA;" OwnerUserId="12673" LastEditorUserId="80" LastEditDate="2012-11-27T23:25:14.890" LastActivityDate="2012-11-28T00:00:28.213" Title="Complexity of union (computational geometry)" Tags="&lt;cg.comp-geom&gt;" AnswerCount="1" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="14514" PostTypeId="2" ParentId="14513" CreationDate="2012-11-28T00:00:28.213" Score="6" Body="&lt;p&gt;The complexity of a union of objects is the number of pieces in the boundary of the union. In the plane &quot;complexity of boundary&quot; is equivalent (upto a constant factor) to &quot;number of vertices&quot;. But in general the boundary complexity is the sum of complexities of all objects needed to describe the boundary (vertices, edges, faces, and so on). It's just that in the plane the number of vertices in the boundary is the same as the number of edges (because the boundary is a set of cycles in this case) &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2012-11-28T00:00:28.213" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14516" PostTypeId="2" ParentId="14482" CreationDate="2012-11-28T07:33:15.447" Score="7" Body="&lt;p&gt;This looks a lot like the I/O API described by Felleisen et al in &lt;a href=&quot;http://www.ccs.neu.edu/racket/pubs/icfp09-fffk.pdf&quot;&gt;&lt;em&gt;A Functional I/O System (or Fun for Freshman Kids)&lt;/em&gt;&lt;/a&gt;.  Basically, you write (in the simpler, non-distributed setting), a series of event handlers, each of which accepts the current state, and returns an updated state. Finally, there's a &lt;code&gt;to-draw&lt;/code&gt; handler, which produces the &quot;output&quot; for each state.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we recast this API slightly, we can package up the handlers and the current state together, and each time a handler returns both a new state and a new set of handlers.  We might call this package of state and operations an &quot;object&quot;. :)  If we then make the result a pair of this object, and the &quot;output&quot;, then we have exactly the type of resumptions.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Interestingly, in the paper, Felleisen et al do exactly this when moving to the distributed setting -- every operation returns a pair of new state and &quot;output&quot; in the form of messages to be sent to the other participants in the system.&lt;/p&gt;&#xA;" OwnerUserId="2185" LastActivityDate="2012-11-28T07:33:15.447" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14519" PostTypeId="1" AcceptedAnswerId="14520" CreationDate="2012-11-28T09:07:10.560" Score="4" ViewCount="1008" Body="&lt;p&gt;In NIZK proofs, the prover can generate its proof for statement $y$ and witness $w$ using&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\pi \gets \mathrm{Prove}(\sigma,y,w)\text{,}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where $\sigma$ is the common reference string. Source: &lt;a href=&quot;http://en.wikipedia.org/wiki/Non-interactive_zero-knowledge_proof&quot; rel=&quot;nofollow&quot;&gt;Wikipedia&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, the zero knowledge property tells us that everyone could have generated a pair $(\sigma, \pi)$ itself. Source: &lt;a href=&quot;http://en.wikipedia.org/wiki/Zero-knowledge_proof&quot; rel=&quot;nofollow&quot;&gt;Wikipedia&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So what is prove needed for? I guess it is needed, because the verifier forces the prover to use a given common reference string $\sigma$? This is probably the reason why the verifier can not convince any other verifier?&lt;/p&gt;&#xA;" OwnerUserId="11069" LastEditorUserId="-1" LastEditDate="2012-11-29T21:55:31.510" LastActivityDate="2013-03-10T18:04:10.383" Title="NIZK proofs: Why is the prove function necessary?" Tags="&lt;cr.crypto-security&gt;&lt;interactive-proofs&gt;&lt;zero-knowledge&gt;" AnswerCount="3" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="14520" PostTypeId="2" ParentId="14519" CreationDate="2012-11-28T09:40:59.353" Score="4" Body="&lt;p&gt;Prove$\:\:$is needed to convince the verifer(s) that $y$ is true.&#xA;&lt;br&gt;Sort of; the verifier(s) will have almost as much control as the prover over the choice of $\sigma$.&#xA;&lt;br&gt;&#xA;The verifier(s) can convince (every) other verifier by forwarding $\pi$ to the other verifier(s).&#xA;&lt;br&gt;&#xA;Unlike ZK protocols in the standard model, which have&#xA;&lt;br&gt;&#xA;deniability, NIZK proofs instead have transferability.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Related to NIZK but not otherwise related to your question:&#xA;&lt;br&gt;&#xA;&lt;a href=&quot;http://www.cs.ucla.edu/~rafail/PUBLIC/85.html&quot; rel=&quot;nofollow&quot;&gt;multi-string NIZK&lt;/a&gt; uses a weaker setup &#xA;assumption.&lt;/p&gt;&#xA;" OwnerDisplayName="user6973" LastActivityDate="2012-11-28T09:40:59.353" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="14522" PostTypeId="2" ParentId="14498" CreationDate="2012-11-28T14:55:34.040" Score="8" Body="&lt;p&gt;In this context the duality refers to taking the &lt;em&gt;least&lt;/em&gt; fixed point in one case and the &lt;em&gt;greatest&lt;/em&gt; fixed point in the other. We should try to understand in what sense $L = \forall X . (F(X) \to X) \to X$ and $G = \exists X . (X \to F(X)) \times X$ are the &quot;least&quot; and &quot;greatest&quot; solutions of recursive equation $F(X) \cong X$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First of all, $L$ and $G$ are indeed fixed points (under certain technical assumptions which restrict the nature of $F$) because the comparison maps $v : F(L) \to L$ and $w : G \to F(G)$ given by&#xA;$$v \, x \, X \, g = g \, (F (\lambda h : L \,.\, h \,X\, g)\, x)$$&#xA;and&#xA;$$w (X, (f, x)) = F (\lambda y : X \,.\, (X, (f, y))) \, (f x)$$&#xA;are isomorphisms. Notice that we used the fact that $F$ is a functor, i.e., it is monotone, when we applied it to functions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose $Y$ is any solution to $F(Y) \cong Y$ with a mediating isomorphism $u : F(Y) \to Y$. Then we have canonical maps $$\alpha : L \to Y \text{  and } \beta : Y\to G$$ defined by&#xA;$$\alpha \, f = f\, Y\, u$$&#xA;and&#xA;$$\beta \, y = (Y, (u^{-1}, y)).$$&#xA;Therefore, $L$ is &lt;em&gt;least&lt;/em&gt; because we can map from it to any other solution, and $G$ is &lt;em&gt;greatest&lt;/em&gt; because we can map from any other solution to it. We could make all this more precise by talking about initial algebras and final coalgebras, but I want my answer to be short and sweet, and cody explained the algebras anyhow.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In practice the least solutions are &lt;em&gt;eager&lt;/em&gt; datatypes and the greatest solutions are &lt;em&gt;lazy&lt;/em&gt; datatypes. For example, if $F(X) = 1 + A \times X$ then in the first case we get &lt;em&gt;finite&lt;/em&gt; lists of $A$'s and in the second finite and infinite lists of $A$'s.&lt;/p&gt;&#xA;" OwnerUserId="705" LastEditorUserId="705" LastEditDate="2012-11-28T16:13:53.120" LastActivityDate="2012-11-28T16:13:53.120" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="14523" PostTypeId="1" AcceptedAnswerId="14536" CreationDate="2012-11-28T18:01:54.847" Score="8" ViewCount="234" Body="&lt;p&gt;I hope this question isn't too naive for this site.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In mathematics (topology, geometry, algebra) it is common for one to distinguish between two objects by coming up with an algebraic or numerical invariant, and proving the two objects have different values. I'm wondering to what extent this has been tried with complexity classes (or if it has, why I haven't ever heard about it). Algebraic structures show up a lot in theoretical computer science as a whole (cf &lt;a href=&quot;https://cstheory.stackexchange.com/questions/10916/uses-of-algebraic-structures-in-theoretical-computer-science?rq=1&quot;&gt;Uses of algebraic structures in theoretical computer science&lt;/a&gt;), so why not in complexity theory?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In my naivete I can imagine a notion of equivalence of two languages: the existence of a polynomial-time reduction which is also reversible (or a bijection on the strings). I can also imagine that this notion is unsuitable: no finite languages of differing cardinality could be considered equivalent, even though we're more often interested in infinite languages.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there any other, weaker notions of isomorphism of languages that have yielded interesting results? Are there other kinds of numerically-flavored invariants that have been used to distinguish complexity classes?&lt;/p&gt;&#xA;" OwnerUserId="7091" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2012-11-29T17:07:20.507" Title="Algebraic (or numeric) invariants of complexity classes" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;algebra&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14524" PostTypeId="2" ParentId="14342" CreationDate="2012-11-28T18:45:16.583" Score="1" Body="&lt;p&gt;Perhaps the corresponding decision problem is NP-complete; given an instance of SUBSET-SUM:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given $K, x_1,...,x_n$ does exist $A \subseteq \{x_1, x_2, ..., x_n\}$ s.t. $\sum_{x_i \in A}x_i = K$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose that $k &amp;gt; 0, x_i &amp;gt; 0$ and let $k' = \sum_{i=1..n} x_i - K$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, if you pick two bins $B_1, B_2$ with sizes $k$ and $k'$, then $n$ items of sizes $x_i$ can be packed with cost $numparts = n$ if and only if the corrsponding SUBSET-SUM problem has a solution.&lt;/p&gt;&#xA;" OwnerUserId="3247" LastActivityDate="2012-11-28T18:45:16.583" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="14525" PostTypeId="2" ParentId="14450" CreationDate="2012-11-28T20:26:50.413" Score="3" Body="&lt;p&gt;(2.) implies (1.) by a standard compactness argument.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First note that it suffices to exhibit a Cook-reduction $M$ from $R$ to $S'$ for any relation $S'$ such that $S(x,y)\iff S'(x,y)$ for all but finitely many values of $x$. This is because we can then give a Cook-reduction from $R$ to $S$ by simulating $S'$ using $S$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose for contradiction that there is no such Cook-reduction. Let $M_1,M_2,\dots$ be a enumeration of polynomial-time oracle Turing machines. Pick a sequence $S_1\supseteq S_2\supseteq \dots$ as follows. Let $S_1=S$. Suppose we have constructed $S_k$ such that $S_k(x,y)\iff S(x,y)$ for all but finitely many $x$. We know that $M_k$ is not a Cook-reduction from $R$ to $S_k$: there is some $f$ solving $S_k$ and some $x$ such that $R(x,M_k^f(x))$ does not hold. Set $S_{k+1}$ to be the relation that agrees with $f$ on all the oracle queries used by evaluating $M_k^f$ on $x$, and otherwise agrees with $S_k$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Pick a function $f$ solving $S_k$ for all $k$. Clearing $S\in\mathsf{FP}^f$, but by construction $R\notin\mathsf{FP}^f$.&lt;/p&gt;&#xA;" OwnerUserId="636" LastActivityDate="2012-11-28T20:26:50.413" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14526" PostTypeId="1" AcceptedAnswerId="14623" CreationDate="2012-11-28T23:49:09.120" Score="15" ViewCount="371" Body="&lt;p&gt;&lt;strong&gt;Edit:&lt;/strong&gt; Since I haven't received any responses/comments in a week, I'd like to add that I'm happy to hear anything about the problem. I don't work in the area, so even if it's a simple observation, I may not know it. Even a comment like &quot;I work in the area, but I haven't seen a characterization like this&quot; would be helpful!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Background:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are several well-studied models of learning in learning theory (e.g., PAC learning, online learning, exact learning with membership/equivalence queries). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, in PAC learning, the sample complexity of a concept class has a nice combinatorial characterization in terms of the VC dimension of the class. So if we want to learn a class with constant accuracy and confidence, this can be done with $\Theta(d)$ samples, where $d$ is the VC dimension. (Note that we're talking about sample complexity, not time complexity.) There is also a more refined characterization in terms of the accuracy and confidence. Similarly, the mistake bound model of online learning has a nice combinatorial characterization.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I want to know if a similar result is known for the model of exact learning with membership queries. The model is defined as follows: We have access to a black box which on input $x$ gives you $f(x)$. We know $f$ comes from some concept class $C$. We want to determine $f$ with as few queries as possible.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there a combinatorial parameter of a concept class $C$ that characterizes the number of queries needed to learn a concept in the model of exact learning with membership queries?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;What I know:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The best such characterization I have found is in &lt;a href=&quot;http://dx.doi.org/10.1137/S0097539704412910&quot; rel=&quot;nofollow&quot;&gt;this paper by Servedio and Gortler&lt;/a&gt;, using a parameter they attribute to &lt;a href=&quot;http://dx.doi.org/10.1006/jcss.1996.0032&quot; rel=&quot;nofollow&quot;&gt;Bshouty, Cleve, Gavaldà, Kannan and Tamon&lt;/a&gt;. They define a combinatorial parameter called $\gamma^C$, where $C$ is the concept class, which has the following properties. (Let $Q_C$ be the optimal number of queries needed to learn $C$ in this model.)&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;$Q_C = \Omega(1/\gamma^C)\qquad Q_C = \Omega(\log |C|) \qquad Q_C = O(\log |C|/\gamma^C)$&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;This characterization is almost tight. However, there could be a quadratic gap between the upper and lower bounds. For example if $1/\gamma^C = \log |C| = k$, then the lower bound is $\Omega(k)$, but the upper bound is $O(k^2)$. (I also think this gap is achievable, i.e., there exists a concept class for which the lower bounds are both $\Omega(k)$, but the upper bound is $O(k^2)$.)&lt;/p&gt;&#xA;" OwnerUserId="206" LastEditorUserId="206" LastEditDate="2012-12-04T20:44:46.397" LastActivityDate="2015-11-27T22:39:05.990" Title="Combinatorial characterization of exact learning with membership queries" Tags="&lt;reference-request&gt;&lt;machine-learning&gt;&lt;lg.learning&gt;" AnswerCount="3" CommentCount="1" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="14527" PostTypeId="1" AcceptedAnswerId="14537" CreationDate="2012-11-29T05:21:17.793" Score="12" ViewCount="331" Body="&lt;p&gt;There has been some efforts to attack graph isomorphism problem using quantum random walk of hard-core bosons (symmetric but no double occupancy). Symmetric power of adjacency matrix, which seemed promising, was proved to be incomplete for general graphs in this &lt;a href=&quot;http://www.combinatorics.org/ojs/index.php/eljc/article/view/v16i1r120&quot;&gt;paper&lt;/a&gt; by Amir Rahnamai Barghi and Ilya Ponomarenko. Other similar approach was also refuted in &lt;a href=&quot;http://arxiv.org/abs/1004.0206&quot;&gt;this paper&lt;/a&gt;&#xA;by Jamie Smith. In both of these papers, they use the idea of &lt;em&gt;coherent configuration (schemes)&lt;/em&gt; and alternative but equivalent formulation of &lt;em&gt;cellular algebra&lt;/em&gt; (matrix subalgebra indexed by a finite set -here vertex set- closed under point-wise multiplication, complex conjugate transpose, and containing Identity matrix &lt;strong&gt;I&lt;/strong&gt; and all-one matrix &lt;strong&gt;J&lt;/strong&gt;) respectively to provide necessary counter arguments.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I find it very difficult to follow those arguments and even if I follow individual arguments vaguely I do not understand the core idea. I would like to know if the essence of the arguments can be explained in generic terms -may be at the cost of slight rigour- without using  the language of scheme theory or cellular algebra.&lt;/p&gt;&#xA;" OwnerUserId="10456" LastActivityDate="2012-12-29T23:25:47.353" Title="Negative results on identical particles approach to Graph Isomorphism (GI) problem" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;graph-isomorphism&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14528" PostTypeId="2" ParentId="14485" CreationDate="2012-11-29T09:15:58.213" Score="6" Body="&lt;p&gt;I think that &lt;a href=&quot;http://www.sagemath.org/&quot;&gt;Sage&lt;/a&gt; is the right thing for this task.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Example.&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;sage: G = digraphs.Circuit(40)  &#xA;sage: G = G.lexicographic_product(G)&#xA;sage: G.show()&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Other graph products and algorithms are available as well.&lt;/p&gt;&#xA;" OwnerUserId="2562" LastActivityDate="2012-11-29T09:15:58.213" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14529" PostTypeId="2" ParentId="14103" CreationDate="2012-11-29T10:19:23.927" Score="3" Body="&lt;p&gt;One (recent) line of work related to asexual evolution with applications to drug design and uses interesting Markov chain techniques: &lt;a href=&quot;http://research.microsoft.com/en-us/um/people/nvishno/Site/Publications_files/evolution-without-sex.pdf&quot; rel=&quot;nofollow&quot;&gt;Evolution Without Sex&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="12688" LastEditorUserId="14197" LastEditDate="2013-03-14T23:28:25.660" LastActivityDate="2013-03-14T23:28:25.660" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14530" PostTypeId="1" AcceptedAnswerId="14539" CreationDate="2012-11-29T12:44:20.597" Score="24" ViewCount="1920" Body="&lt;p&gt;Suppose we are throwing $m$ balls into $n$ bins, where $m \gg n$. Let $X_i$ be the number of balls ending up in bin $i$, $X_\max$ be the heaviest bin, $X_\min$ be the lightest bin, and $X_{\mathrm{sec-max}}$ be the second heaviest bin. Roughly speaking, $X_i - X_j \sim N(0,2m/n)$, and so we expect $|X_i - X_j| = \Theta(\sqrt{m/n})$ for any two &lt;em&gt;fixed&lt;/em&gt; $i,j$. Using a union bound, we expect $X_{\max} - X_{\min} = O(\sqrt{m\log n/n})$; presumably, we can get a matching lower bound by considering $n/2$ pairs of disjoint bins. This (not completely formal) argument leads us to expect that the gap between $X_{\max}$ and $X_{\min}$ is $\Theta(\sqrt{m\log n/n})$ with high probability.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am interested in the gap between $X_\max$ and $X_{\mathrm{sec-max}}$. The argument outlined above shows that $X_\max - X_{\mathrm{sec-max}} = O(\sqrt{m\log n/n})$ with high probability, but the $\sqrt{\log n}$ factor seems extraneous. Is anything known about the distribution of $X_\max - X_{\mathrm{sec-max}}$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More generally, suppose that each ball is associated with a non-negative &lt;em&gt;score&lt;/em&gt; for each bin, and we are interested in the total score of each bin after throwing $m$ balls. The usual scenario corresponds to scores of the form $(0,\ldots,0,1,0,\ldots,0)$. Suppose that the probability distribution of the scores is invariant under permutation of the bins (in the usual scenario, this corresponds to the fact that all bins are equiprobable). Given the distribution of the scores, we can use the method of the first paragraph to get a good bound on $X_{\max} - X_{\min}$. The bound will contain a factor of $\sqrt{\log n}$ that comes from a union bound (via the tail probabilities of a normal variable). Can this factor be reduced if we're interested in bounding $X_{\max} - X_{\mathrm{sec-max}}$?&lt;/p&gt;&#xA;" OwnerUserId="40" LastEditorUserId="80" LastEditDate="2012-11-29T18:35:58.753" LastActivityDate="2012-11-30T23:21:30.430" Title="Balls and Bins analysis in the $m \gg n$ regime: gaps" Tags="&lt;reference-request&gt;&lt;pr.probability&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="14531" PostTypeId="2" ParentId="3540" CreationDate="2012-11-29T12:45:07.553" Score="6" Body="&lt;p&gt;Networks, Crowds, and Markets: Reasoning About a Highly Connected World by David Easley and Jon Kleinberg.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.cs.cornell.edu/home/kleinber/networks-book/&quot;&gt;http://www.cs.cornell.edu/home/kleinber/networks-book/&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="9569" LastActivityDate="2012-11-29T12:45:07.553" CommentCount="0" CommunityOwnedDate="2012-11-29T12:45:07.553" ContentLicense="CC BY-SA 3.0" />
  <row Id="14532" PostTypeId="1" CreationDate="2012-11-29T12:49:17.477" Score="18" ViewCount="1822" Body="&lt;p&gt;&lt;strong&gt;Short version.&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The original proof that #2-SAT is &lt;strong&gt;#P&lt;/strong&gt;-complete shows, in fact, that those instances of #2-SAT which are both &lt;em&gt;monotone&lt;/em&gt; (not involving the negations of any variables) and &lt;em&gt;bipartite&lt;/em&gt; (the graph formed by the clauses over the variables is a bipartite graph) are &lt;strong&gt;#P&lt;/strong&gt;-hard. Thus, the two special cases #2-MONOTONE-SAT and #2-BIPARTITE-SAT are &lt;strong&gt;#P&lt;/strong&gt;-hard. Are there other special cases which can be characterized in terms of 'natural' properties of the formula, which are also &lt;strong&gt;#P&lt;/strong&gt;-hard?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Long version.&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem #2-SAT is the task of computing &amp;mdash; for a boolean formula $\phi$ consisting of the conjunction of several clauses, where each clause is a disjunction of two literals $x_j$ or $\bar x_j$ &amp;mdash; the number of boolean strings $x \in \{0,1\}^n$ such that $\phi(x) = 1$. Finding out whether or not there &lt;em&gt;exists&lt;/em&gt; such an $x$ is easy; but counting the number of solutions in general is &lt;strong&gt;#P&lt;/strong&gt;-complete, as shown by Valiant in &lt;a href=&quot;http://epubs.siam.org/doi/abs/10.1137/0208032&quot;&gt;The Complexity of Enumeration and Reliability Problems, SIAM J. Comput., &lt;strong&gt;8&lt;/strong&gt;, pp.&amp;nbsp;410–421&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the case of #2-SAT in particular, what Valiant actually shows is a reduction to #2-SAT from counting matchings (including imperfect ones) in bipartite graphs, which gives rise to instances of #2-SAT with a very particular structure, as follows.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;First, note that the monotone problem is equivalent, by substitution, to the problem in which for each variable $x_j$, either $x_j$ occurs in the formula $\phi$ or $\bar x_j$ does but not both. In particular, the &quot;monotone decreasing&quot; problem in which &lt;em&gt;only&lt;/em&gt; the negations $\bar x_j$ occur for every variable is exactly as hard as the monotone case.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;For any graph $G = (V,E)$ with $m$ edges, we can construct a monotone-decreasing 2-SAT formula corresponding to matchings &amp;mdash; collections of edges which do not share any vertices &amp;mdash; by assigning a variable $x_e$ to each edge, representing whether it is included in an edge-set; the property of a set $M \subseteq E$ being a matching is equivalent to the incidence vector $\mathbf x = \chi_M$ satisfying the CNF formula $\phi$ whose clauses are given by $(\bar x_e \vee \bar x_f)$ for every pair of edges $e, f \in E$ which share a vertex.&#xA;By construction, $\phi$ has as many satisfying solutions $\mathbf x \in \{0,1\}^m$ as there are (possibly imperfect) matchings in the graph $G$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;If the graph $G$ for which we want to count the matchings is bipartite, then it contains no odd cycles &amp;mdash; which we can describe as a sequence of &lt;em&gt;edges&lt;/em&gt; in the graph which starts and ends with the same edge (without counting that final edge twice). Then there are no sequence of variables $x_e, x_f, x_g, \ldots, x_e$ of odd length in $\phi$, in which adjacent variables are involved in a common clause. Then the formula $\phi$ would be bipartite in the manner described earlier.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Counting the number of matchings in arbitrary bipartite graphs, in particular, can be used to count the number of perfect matchings in a bipartite graph: given an input bitrarite graph $G = (A \cup B, E)$ with two bipartitions $A, B$ of the same size $n$, one can create graphs $G_k$ by augmenting $A$ with anywhere $0 \leqslant k \leqslant n$ extra vertices connected to all of the vertices of $B$. Because all matchings in $G$ of a given size contribute differently to the number of matchings in $G_k$, by counting these one can determine the number of matchings in $G$ of size $n$ (that is, which are perfect matchings); and note that counting the number of perfect matchings in bipartite graphs is equivalent to computing permanents of $\{0,1\}$-matrices by a simple correspondance.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;The class of instances of #2-SAT which are shown to be &lt;strong&gt;#P&lt;/strong&gt;-hard are then the monotone bipartite instances.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question:&lt;/strong&gt; What are the other special cases of #2-SAT which are &lt;strong&gt;#P&lt;/strong&gt;-complete, as a result of this or some other reduction?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It would be interesting if, in addition to showing/citing a reduction, people could also describe an intuitive reason for how the special case might provide obstacles to natural approaches to counting the satsifying assignments. For instance, although MONOTONE-2-SAT is trivially solvable ($\mathbf x = 1^n$ is always a solution), monotone instances are the ones in which assigning some variable to a fixed value will routinely fail to impose many constraints on the remaining variables. Fixing any variable $x_j = 0$ only restricts the values of the variables immediately related to it by some clause; and setting $x_j = 1$ doesn't restrict the possible values of any other variables at all. (It's not clear that the comparable restriction to bipartite graphs is significant in the same way, however; the bipartite restriction seems to add structure rather than removing it, but it fails to add structure enough to count efficiently.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edited to add.&lt;/strong&gt; Bonus points will be awarded for any such class which &lt;em&gt;doesn't&lt;/em&gt; ultimately rely on the existence of monotone instances (as #2-BIPARTITE-SAT does above, whose hardness is &lt;em&gt;apparently&lt;/em&gt; due to the inclusion of the &lt;strong&gt;#P&lt;/strong&gt;-hard special case #2-MONOTONE-BIPARTITE-SAT). For instance, an argument for the hardness of #2-BIPARTITE-SAT which doesn't rely on monotonic instances (but might rely on some other sub-family) would be interesting. &lt;/p&gt;&#xA;" OwnerUserId="248" LastEditorUserId="248" LastEditDate="2012-11-29T16:05:10.623" LastActivityDate="2012-11-29T16:05:10.623" Title="What are the #P-complete subfamilies of #2-SAT?" Tags="&lt;cc.complexity-theory&gt;&lt;sat&gt;&lt;counting-complexity&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="14533" PostTypeId="1" CreationDate="2012-11-29T13:05:57.650" Score="5" ViewCount="294" Body="&lt;p&gt;In the paper &lt;a href=&quot;http://research.microsoft.com/apps/pubs/default.aspx?id=67488&quot;&gt;“Making a Fast Curry: Push/Enter vs. Eval/Apply for Higher-order Languages”&lt;/a&gt; by Simon Marlow and Simon Peyton Jones it is told that a PAP heap object may be created in the push/enter model (Figure 2. “The evaluation rules.” “Rules for push/enter.”). It is created “if there aren’t enough pending arguments on the stack.” I can't figure out an example of a type correct program which execution may lead to such a situation.&lt;/p&gt;&#xA;" OwnerUserId="1720" LastActivityDate="2013-01-08T14:07:54.510" Title="Why do we need PAP (partial aplication) objects in heap?" Tags="&lt;pl.programming-languages&gt;&lt;functional-programming&gt;&lt;machine-models&gt;&lt;compilers&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14534" PostTypeId="2" ParentId="14533" CreationDate="2012-11-29T13:52:21.237" Score="4" Body="&lt;p&gt;Functions can be &lt;em&gt;partially applied&lt;/em&gt;, so you can end up with a situation in which a function is called with &quot;not enough&quot; arguments. For example, consider the &lt;code&gt;map&lt;/code&gt; functional:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;(* map : ∀α,β. (α → β) → list α → list β *)&#xA;let rec map f xs = &#xA;  match xs with &#xA;  | []      -&amp;gt; []&#xA;  | x :: xs -&amp;gt; (f x) :: map f xs&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;This will take a function &lt;code&gt;f&lt;/code&gt; as an argument, and then pass it one argument, once for each element of the list. Now, consider a two argument function &lt;code&gt;foo&lt;/code&gt;:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;(* val foo : int → int → int *)&#xA;let foo x y = 2*x + y &#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Then, if you map &lt;code&gt;foo&lt;/code&gt; over a list of integers:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;(* val bar : list (int → int → int) *)&#xA;let bar = map foo [1; 2; 3]&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;You get a thunk (because this paper is about lazy evaluation). To force one of these thunks, you need to scrutinize the list to get its head, and then force the evaluation of the head by applying it:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt; let baz = match bar with&#xA;           | f :: fs -&amp;gt; f 6 &#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Now, scrutinizing bar will get you &lt;code&gt;f&lt;/code&gt; bound to &lt;code&gt;THUNK (foo 1)&lt;/code&gt;, and &lt;code&gt;fs&lt;/code&gt; bound to &lt;code&gt;map foo [2;3]&lt;/code&gt;. Then, to apply &lt;code&gt;f 6&lt;/code&gt;, we first evaluate &lt;code&gt;foo 1&lt;/code&gt;. This pushes 1 on the stack, and since &lt;code&gt;foo&lt;/code&gt; is really a two-argument function, &lt;code&gt;foo 1&lt;/code&gt; will not evaluate further -- it will return a fresh &lt;code&gt;p&lt;/code&gt;, bound to &lt;code&gt;PAP(foo 1)&lt;/code&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now the result is the thunk &lt;code&gt;THUNK(p 6)&lt;/code&gt; -- to drive evaluation further, you have to demand this thunk. &lt;/p&gt;&#xA;" OwnerUserId="657" LastEditorUserId="657" LastEditDate="2012-11-29T19:43:03.887" LastActivityDate="2012-11-29T19:43:03.887" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="14535" PostTypeId="2" ParentId="14532" CreationDate="2012-11-29T14:02:48.473" Score="16" Body="&lt;p&gt;&lt;a href=&quot;http://link.springer.com/chapter/10.1007/11750321_34?LI=true&quot;&gt;#3-Regular Bipartite Planar Vertex Cover is #P-Complete&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As counting vertex covers is exactly the same as counting satisfying assignments of a &lt;em&gt;monotone&lt;/em&gt; #2-SAT instance, the above result implies that it is #P-complete to count satisfying assignments of a #2-SAT instance which is &lt;em&gt;monotone&lt;/em&gt; and &lt;em&gt;3-regular&lt;/em&gt; and &lt;em&gt;bipartite&lt;/em&gt; and &lt;em&gt;planar&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This in turn means that, in addition to the two #2-MONOTONE-SAT and #2-BIPARTITE-SAT special cases already cited in the question, the two #2-CUBIC-SAT and #2-PLANAR-SAT special cases are #P-complete as well.&lt;/p&gt;&#xA;" OwnerUserId="947" LastActivityDate="2012-11-29T14:02:48.473" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14536" PostTypeId="2" ParentId="14523" CreationDate="2012-11-29T16:57:31.157" Score="5" Body="&lt;p&gt;First of all, the relation you defined is usually called polynomial-time isomorphism ($\cong^p$). Although isomorphism is an interesting notion that has been studied, the (weaker) relation that is more frequently of concern in complexity is polynomial-time &lt;em&gt;equivalence&lt;/em&gt;: $A$ and $B$ are equivalent ($A \equiv_m^p B$) if there are polynomial-time many-one reductions (aka Karp reductions) from $A$ to $B$ and vice versa, but those reductions need not be inverses to one another, and need not even have polynomial-time inverses. Sometimes we also care about equivalence under polynomial-time Turing reductions rather than many-one ($\equiv_T^p$), aka Cook reductions. For example, either of these notions of equivalence is &quot;good enough&quot; for $P$ vs $NP$ (that is, you don't need to consider isomorphism classes).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;From the perspective of polynomial-time equivalence, there is partial &quot;good reason&quot; that you don't hear about numerical invariants: they can't work in general. A theorem in &lt;a href=&quot;http://www.its.caltech.edu/~marks/papers/thesis.pdf&quot;&gt;Andrew Marks's thesis&lt;/a&gt; states that $\equiv_T^p$ is complete for countable Borel equivalence relations (the introduction of his thesis gives a good overview of Borel equivalence relations and their significance). In particular, this implies that there is no Borel function $f: 2^{\mathbb{N}} \to \mathbb{R}$ such that $A \equiv_T^p B$ iff $f(A) = f(B)$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The reason I say this is only partially a good reason is that there still might be a Borel function $f:2^{\mathbb{N}} \to \mathbb{R}$ such that if $f(A) \neq f(B)$ then $A \not\equiv_T^p B$. Or there might be a non-Borel function that does the job, but if there is we're a little unlikely to find it...&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;But classifying all equivalence classes is also stronger than what we usually care about, since the number of equivalence classes that show up as natural complexity classes is comparatively small (despite the forbidding size of the complexity zoo). However, there are other &quot;numerical&quot; invariants we can associate to languages. One such is their density: the density of a language $A$ is the function $d_A(n) :=$ number of strings in $A$ of length $\leq n$. Note that density is preserved, up to a polynomial change, by poly-time isomorphisms, but not necessarily by polynomial-time equivalences (e.g. all languages in $P$ are polynomial-time equivalent, but they can have wildly different densities).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We know things like: if $A$ is polynomially sparse ($d_A(n) \leq poly(n)$) then $A$ cannot be $NP$-complete unless $P=NP$ (Mahaney's Theorem). There are lots of other results about sparse languages and their relation to complexity classes. For good surveys, see Cai and Ogihara &quot;Sparse Sets versus Complexity Classes&quot; in Complexity Theory Retrospective II (available online - just Google) and Hemaspaandra and Glaßer's pair of articles &quot;A Moment of Perfect Clarity I,II&quot; in SIGACT News.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;As mentioned by @SureshVenkat, you can kind of view Geometric Complexity Theory in the light you're talking about. However, the algebraic objects used there - namely representations - are more akin to general properties of a language than to numerical properties per se, but at least they are properties of an algebraic flavor.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Finally, in algebraic complexity theory one numerical property that's worth mentioning, but probably won't work to resolve the big questions, is degree. (As in the degree of a polynomial.) Strassen's degree bound is still the only known super-linear lower bound on unrestricted algebraic circuits. Degree also gets used e.g. in Razborov-Smolensky and many other areas of low-level (Boolean) circuit complexity.&lt;/p&gt;&#xA;" OwnerUserId="129" LastEditorUserId="129" LastEditDate="2012-11-29T17:07:20.507" LastActivityDate="2012-11-29T17:07:20.507" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14537" PostTypeId="2" ParentId="14527" CreationDate="2012-11-29T22:45:35.187" Score="4" Body="&lt;p&gt;You can do much better than checking all n! permutations when brute forcing a solution, &lt;a href=&quot;http://oeis.org/A186202&quot; rel=&quot;nofollow&quot;&gt;http://oeis.org/A186202&lt;/a&gt;  The grail is showing that you can't do much better than that, or exploiting the fact that most graphs have no symmetry in them and using this to speed calculation.&lt;/p&gt;&#xA;" OwnerUserId="2021" LastActivityDate="2012-11-29T22:45:35.187" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="14538" PostTypeId="2" ParentId="14500" CreationDate="2012-11-29T22:48:53.633" Score="1" Body="&lt;p&gt;Experiment.  It depends on the topology of your problem domain. If you knew how to optimize more efficiently you wouldn't be throwing a GA at it.&lt;/p&gt;&#xA;" OwnerUserId="2021" LastActivityDate="2012-11-29T22:48:53.633" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="14539" PostTypeId="2" ParentId="14530" CreationDate="2012-11-29T23:03:37.853" Score="22" Body="&lt;p&gt;&lt;strong&gt;Answer:&lt;/strong&gt; $\Theta\left(\sqrt{\frac{m}{n\log n}}\right)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Applying a multidimensional version of the Central Limit Theorem, we get that the vector $(X_1,\dots, X_n)$ has asymptotically multivariate Gaussian distribution with &#xA;$$\mathrm{Var}[X_i] = m\left(\frac{1}{n} - \frac{1}{n^2}\right),$$&#xA;and&#xA;$$\mathrm{Cov}(X_i, X_j) = -m/n^2.$$&#xA;We will assume below that $X$ &lt;em&gt;is&lt;/em&gt; a Gaussian vector (and not only approximately a Gaussian vector). Let us add a Gaussian random variable $Z$ with variance $m/n^2$ to all $X_i$ ($Z$ is independent from all $X_i$). That is, let&#xA;$$&#xA;\begin{pmatrix}&#xA;Y_1\\Y_2\\ \vdots\\Y_n &#xA;\end{pmatrix}&#xA;=&#xA;\begin{pmatrix}&#xA;X_1+Z\\X_2+Z\\ \vdots\\X_n +Z&#xA;\end{pmatrix}.&#xA;$$&#xA;We get a Gaussian vector $(Y_1, \dots, Y_n)$. Now each $Y_i$ has variance $m/n$:&#xA;$$\mathrm{Var}[Y_i] = \mathrm{Var}[X_i] + \underbrace{2\mathrm{Cov}(X_i,Z)}_{=\, 0}+\mathrm{Var}[Z] = m/n,$$&#xA;and all $Y_i$ are independent:&#xA;$$\mathrm{Cov}(Y_i, Y_j) = \mathrm{Cov}(X_i, X_j) + \underbrace{\mathrm{Cov}(X_i,Z) + \mathrm{Cov}(X_j,Z)}_{=\, 0} +\mathrm{Cov}(Z, Z) = 0.$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that $Y_i - Y_j = X_i - X_j$. Thus our original problem is equivalent to the problem of finding $Y_{\mathrm{max}} - Y_{\mathrm{sec-max}}$. Let us first for simplicity analyze the case when all $Y_i$ have variance $1$.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Problem.&lt;/strong&gt; We are given $n$ independent Gaussian r.v. $\gamma_1,\dots, \gamma_n$ with mean $\mu$ and variance $1$. Estimate the expectation of $\gamma_{\mathrm{max}} - \gamma_{\mathrm{sec-max}}$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Answer:&lt;/strong&gt; $\Theta\left(\frac{1}{\sqrt{\log n}}\right)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Informal Proof.&lt;/strong&gt; &#xA;Here is an informal solution to this problem (it's not hard to make it formal).&#xA;Since the answer does not depend on the mean, we assume that $\mu = 0$. Let $\bar\Phi(t) = \Pr[\gamma &amp;gt; t]$, where $\gamma\sim{\cal N}(0,1)$. We have (for moderately large $t$),&#xA;$$\bar\Phi(t)\approx \frac{1}{\sqrt{2\pi}t} e^{-\frac{1}{2}t^2}.$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;$\Phi(\gamma_i)$ are uniformly and independently distributed on $[0,1]$, &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;$\Phi(\gamma_{\mathrm{max}})$ is the smallest among $\Phi(\gamma_i)$,&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;$\Phi(\gamma_{\mathrm{sec-max})}$ is the second smallest among $\Phi(\gamma_i)$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Thus $\Phi(\gamma_{\mathrm{max}})$ is close to $1/n$ and $\Phi(\gamma_{\mathrm{max}})$ is close to $2/n$ (there is no concentration but if we don't care about constants these estimates are good enough; in fact, they are even pretty good if we care about constants — but that needs a justification). Using the formula for $\bar\Phi(t)$, we get that&#xA;$$&#xA;2\approx \bar\Phi(\gamma_{\mathrm{sec-max}})\left/\bar\Phi(\gamma_{\mathrm{max}})\right. \approx e^{\frac{1}{2}\left(\gamma_{\mathrm{max}}^2 - \gamma_{\mathrm{sec-max}}^2\right)}.&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thus $\gamma_{\mathrm{max}}^2 - \gamma_{\mathrm{sec-max}}^2$ is $\Theta(1)$ w.h.p. Note that $\gamma_{\mathrm{max}}\approx \gamma_{\mathrm{sec-max}} = \Theta(\sqrt{\log n})$. We have, &#xA;$$\gamma_{\mathrm{max}} - \gamma_{\mathrm{sec-max}}\approx \frac{\Theta(1)}{\gamma_{\mathrm{max}} + \gamma_{\mathrm{sec-max}}} \approx \frac{\Theta(1)}{\sqrt{\log n}}.$$ &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;QED&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We get that &#xA;\begin{align}&#xA;\mathbb{E}[{X_{\mathrm{max}} - X_{\mathrm{sec-max}}}] &amp;amp;= \mathbb{E}[{Y_{\mathrm{max}} - Y_{\mathrm{sec-max}}}] \\&#xA;&amp;amp;= \sqrt{\mathrm{Var}[Y_i]} \times\mathbb{E}[{\gamma_{\mathrm{max}} - \gamma_{\mathrm{sec-max}}}] = \Theta\left(\sqrt{\frac{m}{n\log n}}\right).&#xA;\end{align}&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;The same argument goes through when we have arbitrary scores. It shows that &#xA;  $$\mathbb{E}[X_{\mathrm{max}}- X_{\mathrm{sec-max}}] = c\, \left. \mathbb{E}[X_{\mathrm{max}}- X_{\mathrm{min}}]\right/\log n.$$&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="9929" LastEditorUserId="9929" LastEditDate="2012-11-30T23:21:30.430" LastActivityDate="2012-11-30T23:21:30.430" CommentCount="12" ContentLicense="CC BY-SA 3.0" />
  <row Id="14540" PostTypeId="2" ParentId="14483" CreationDate="2012-11-29T23:03:58.043" Score="2" Body="&lt;p&gt;Searching in a string that changes often, and looking for a set of words, I would use &lt;a href=&quot;http://en.wikipedia.org/wiki/Aho%E2%80%93Corasick_string_matching_algorithm&quot; rel=&quot;nofollow&quot;&gt;Aho-Corasick&lt;/a&gt;, an extension of KMP that builds a tree (based on the set of words) and looks for the words in parallel. &lt;/p&gt;&#xA;" OwnerUserId="12122" LastActivityDate="2012-11-29T23:03:58.043" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14541" PostTypeId="1" AcceptedAnswerId="14545" CreationDate="2012-11-29T23:05:48.727" Score="20" ViewCount="635" Body="&lt;p&gt;Two related questions about bounded depth computing:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) Suppose that you start with n bits, and to start with bit i can be 0 or 1 with some probability p(i), independently. (If it makes the problem simpler we can assume that all p(i)s are 0,1, or 1/2. &lt;del&gt;or even that all of them are 1/2.&lt;/del&gt;)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now you make a bounded number of computation round. In each round you apply reversible classical gates on disjoint sets of bits. (Fix your favorite set of universal classical reversible gates.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;At the end you get a probability distribution on strings on n bits. Are there results on restriction of such distributions? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am looking to something analogous to Hastad switching lemme, Boppana result that the total influence is small or LMN theorem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) The same question as 1) but with bounded depth quantum circuits. &lt;/p&gt;&#xA;" OwnerUserId="712" LastEditorUserId="712" LastEditDate="2012-11-30T17:51:52.590" LastActivityDate="2012-12-12T11:52:08.237" Title="Bounded depth probability distributions" Tags="&lt;cc.complexity-theory&gt;&lt;quantum-computing&gt;&lt;circuit-complexity&gt;&lt;randomness&gt;&lt;circuit-depth&gt;" AnswerCount="2" CommentCount="7" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="14543" PostTypeId="2" ParentId="14530" CreationDate="2012-11-29T23:16:03.743" Score="14" Body="&lt;p&gt;For your first question, I think you can show that w.h.p. $X_{\max}-X_{\textrm{sec-max}}$ is &#xA;$$o\left(\sqrt{\frac{m}{n}\frac{\log^2\log n}{\log n}}\right).$$&#xA;Note that this is $o(\sqrt{m/n})$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Compare your random experiment to the following alternative: Let $X_1$ be the maximum load of any of the first $n/2$ buckets. Let $X_2$ be the maximum load of any of the last $n/2$ buckets.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On consideration, $|X_1-X_2|$ is an upper bound on $X_{\max}-X_{\mathrm{sec-max}}$.&#xA;Also, with probability at least one half, $|X_1-X_2| =  X_{\max}-X_{\mathrm{sec-max}}$.&#xA;So, speaking roughly, $X_{\max}-X_{\mathrm{sec-max}}$ is distributed similarly to $|X_1-X_2|$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To study $|X_1-X_2|$, note that with high probability $m/2\pm O(\sqrt m)$ balls are thrown into the first $n/2$ bins, and likewise for the last $n/2$ bins.&#xA;So $X_1$ and $X_2$ are each distributed essentially like the maximum load when throwing $m' = m/2\pm o(m)$ balls into $n' = n/2$ bins.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This distribution is well-studied and, luckily for this argument, is tightly concentrated around its mean.  For example, if $m' \gg n\log^3 n$, then with high probability $X_1$ differs from its expectation by at most the quantity displayed at the top of this answer [&lt;a href=&quot;http://www.ic.unicamp.br/~celio/peer2peer/math/balls-into-bins.pdf&quot; rel=&quot;noreferrer&quot;&gt;Thm. 1&lt;/a&gt;]. (Note: this upper bound is, I think, loose, given Yuri's answer.)  Thus, with high probability $X_1$ and $X_2$ also differ by at most this much, and so $X_{\max}$ and $X_{\mathrm{max-sec}}$ differ by at most this much.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Conversely, for a (somewhat weaker) lower bound, if, for any $t$, say, $\Pr[|X_1-X_2| \ge t] \ge 3/4$, then $\Pr[X_{\max}-X_{\textrm{sec-max}} \ge t]$ is at least&#xA;$$\Pr\big[|X_1-X_2| \ge t ~\wedge~ X_{\max}-X_{\textrm{sec-max}} = |X_1-X_2|\big]$$&#xA;which (by the naive union bound) is at least $1 - (1/4) - (1/2) = 1/4.$  I think this should give you (for example) the expectation of $X_{\max}-X_{\textrm{sec-max}}$ within a contant factor.&lt;/p&gt;&#xA;" OwnerUserId="8237" LastEditorUserId="8237" LastEditDate="2012-11-30T16:37:39.853" LastActivityDate="2012-11-30T16:37:39.853" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="14544" PostTypeId="1" AcceptedAnswerId="14546" CreationDate="2012-11-30T00:33:53.343" Score="10" ViewCount="430" Body="&lt;p&gt;My question is why lower bounds for depth 3 Boolean circuits with gates &quot;and&quot; and &quot;xor&quot; for determinant does not imply the same lower bounds for arithmetic circuits over $\mathbb{Z}$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is wrong with the following argument: Let $C$ be an arithmetic circuit calculating determinant then by taking all variables mod 2 we will get Boolean circuit calculating determinant.     &lt;/p&gt;&#xA;" OwnerUserId="12691" LastActivityDate="2012-11-30T06:03:04.573" Title="Why lower bounds for boolean Circuits does not imply arithmetic circuits lower bounds" Tags="&lt;cc.complexity-theory&gt;&lt;circuit-complexity&gt;&lt;arithmetic-circuits&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14545" PostTypeId="2" ParentId="14541" CreationDate="2012-11-30T01:22:02.050" Score="14" Body="&lt;p&gt;There are some relatively recent papers by Emanuele Viola et al., which deal with the complexity of sampling distributions. They focus on restricted model of computations, like bounded depth decision trees or bounded depth circuits.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Unfortunately they don't discuss reversible gates. On the contrary there is often loss in the output length. Nevertheless these papers may be a good starting point.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://link.springer.com/article/10.1007/s00037-012-0039-3&quot;&gt;Bounded-Depth Circuits Cannot Sample Good Codes&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://epubs.siam.org/doi/abs/10.1137/100814998?journalCode=smjcat&quot;&gt;The complexity of Distributions&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="267" LastEditorUserId="267" LastEditDate="2012-11-30T08:00:39.437" LastActivityDate="2012-11-30T08:00:39.437" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="14546" PostTypeId="2" ParentId="14544" CreationDate="2012-11-30T02:02:11.647" Score="12" Body="&lt;p&gt;For arithmetic circuits over $\mathbb{Z}$ your argument is exactly right. The same argument works for arithmetic circuits over $\mathbb{Q}$ which don't use any fractions $a/b$ where $b$ is even.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, the argument no longer works if you talk about arithmetic circuits over other rings, such as: general arithmetic circuits over $\mathbb{Q}$ (i.e. without the restriction above), $\mathbb{R}$, algebraic number fields, $\mathbb{C}$, or finite fields $\mathbb{F}_{q}$ with $q \neq 2$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;(This is essentially the same reason that in algebraic geometry $\mathbb{Z}$ is often considered of so-called &quot;mixed characteristic,&quot; rather than characteristic zero.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, depth 3 Boolean lower bounds for circuits with {AND,OR,NOT} are less easily related to lower bounds for arithmetic circuits over $\mathbb{Z}$. (Yes, {AND,XOR} is a complete basis, but typically depth 3 circuits over {AND, OR, NOT} you consider NOT gates free, whereas implementing NOT with XOR you're then using an XOR gate, which you actually count. Similarly, although $a \vee b = \neg (\neg a \wedge \neg b)$, when you implement this single OR gate with AND and XOR, you get a little gadget of depth 3.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The general statement is: let $f$ be a polynomial with coefficients in a ring $R$, and suppose $\varphi\colon R \to S$ is a ring homomorphism. By applying $\varphi$ to every coefficient of $f$ you get a polynomial with coefficients in $S$, which I'll denote $f_S$. Then a lower bound for computing $f_S$ by $S$-arithmetic circuits implies the same lower bound for computing $f$ by $R$-arithmetic circuits.&lt;/p&gt;&#xA;" OwnerUserId="129" LastEditorUserId="129" LastEditDate="2012-11-30T06:03:04.573" LastActivityDate="2012-11-30T06:03:04.573" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="14547" PostTypeId="2" ParentId="34" CreationDate="2012-11-30T04:58:09.173" Score="75" Body="&lt;p&gt;Michael Soltys and I have succeeded in proving that the problem of determining whether a string can be written as a square shuffle is NP complete. This applies even over a finite alphabet with only $7$ distinct symbols, although our proof is written for an alphabet with $9$ symbols.  This question is still open for smaller alphabets, say with only $2$ symbols. We have not looked at the problem under the restriction that each symbol appears only $6$ times (or, more generally, a constant number of times); so that question is still open.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The proof uses a reduction from $3$-Partition.  It is too long to post here, but a preprint, &quot;Unshuffling a string is $\text{NP}$-hard&quot;, is available from our web pages at:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.math.ucsd.edu/~sbuss/ResearchWeb/Shuffle/&quot;&gt;http://www.math.ucsd.edu/~sbuss/ResearchWeb/Shuffle/&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;and&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.cas.mcmaster.ca/~soltys/#Papers&quot;&gt;http://www.cas.mcmaster.ca/~soltys/#Papers&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The paper has been published in the Journal of Computer System Sciences:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S002200001300189X&quot;&gt;http://www.sciencedirect.com/science/article/pii/S002200001300189X&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="4668" LastEditorUserId="5038" LastEditDate="2013-12-06T20:25:48.387" LastActivityDate="2013-12-06T20:25:48.387" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="14548" PostTypeId="1" AcceptedAnswerId="14550" CreationDate="2012-11-30T05:38:49.053" Score="18" ViewCount="2491" Body="&lt;p&gt;We know that linear programs (LP) can be solved exactly in polynomial time using the ellipsoid method or an interior point method like Karmarkar's algorithm. Some LPs with super-polynomial (exponential) number of variables/constraints can also be solved in polynomial time, provided we can design a polynomial time separation oracle for them.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What about semidefinite programs (SDP)? What classes of SDPs can be solved exactly in polynomial time? When an SDP can't be solved exactly, can we always design an FPTAS/PTAS for solving it? What are the technical conditions under which this can be done? Can we solve an SDP with exponential number of variables/constraints in polynomial time, if we can design a polynomial time separation oracle for it?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can we solve the SDPs that occur in combinatorial optimization problems (MAX-CUT, graph coloring) efficiently? If we can solve only within a $1+\epsilon$ factor, will it not have an effect on constant factor approximation algorithms (like 0.878 for Goemans-Williamson MAX-CUT algorithm)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any good reference on this will be highly appreciated.&lt;/p&gt;&#xA;" OwnerUserId="9569" LastEditorUserId="9569" LastEditDate="2012-12-01T02:57:26.907" LastActivityDate="2019-11-12T02:15:20.290" Title="Solving semidefinite programs in polynomial time" Tags="&lt;linear-programming&gt;&lt;semidefinite-programming&gt;&lt;convex-optimization&gt;" AnswerCount="1" CommentCount="9" FavoriteCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="14549" PostTypeId="2" ParentId="5399" CreationDate="2012-11-30T06:34:30.020" Score="4" Body="&lt;p&gt;Below I expand a little bit on the point in Peter's answer by trying to carry out the quantifier removal for more than constant number of steps to see where it fails and if anything can be salvaged from such an attempt.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let's try to amplify &lt;span class=&quot;math-container&quot;&gt;$\mathsf{P}=\mathsf{NP}$&lt;/span&gt; for more than constant number times.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assume that &lt;span class=&quot;math-container&quot;&gt;$\mathsf{P}=\mathsf{NP}$&lt;/span&gt;. Therefore there is polynomial time machine that solves Ext-Circuit-SAT (is there a satisfying extension for a given circuit and a partial assignment to its inputs?).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More formally, we have a polytime algorithm &lt;span class=&quot;math-container&quot;&gt;$A$&lt;/span&gt; with polynomial running time &lt;span class=&quot;math-container&quot;&gt;$p(n)\in\rm{poly}(n)$&lt;/span&gt; s.t.  &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Given a Boolean circuit &lt;span class=&quot;math-container&quot;&gt;$\varphi$&lt;/span&gt;, and a partial assignment &lt;span class=&quot;math-container&quot;&gt;$\tau$&lt;/span&gt; to the inputs,&lt;br&gt;&#xA;  &lt;span class=&quot;math-container&quot;&gt;$A$&lt;/span&gt; returns &quot;yes&quot; if there is an extension of &lt;span class=&quot;math-container&quot;&gt;$\tau$&lt;/span&gt; that satisfies &lt;span class=&quot;math-container&quot;&gt;$\varphi$&lt;/span&gt;, and &#xA;  return &quot;no&quot; otherwise.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;To go over constant times, we need to do the quantifier removal effectively. We can do this because the Cook-Levin theorem is a constructive theorem, in fact it gives a polynomial time algorithm &lt;span class=&quot;math-container&quot;&gt;$Cook$&lt;/span&gt; s.t.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Given a DTM &lt;span class=&quot;math-container&quot;&gt;$M$&lt;/span&gt; receiving two inputs, and three unary numbers &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt;, &lt;span class=&quot;math-container&quot;&gt;$m$&lt;/span&gt;, and &lt;span class=&quot;math-container&quot;&gt;$t$&lt;/span&gt;,&lt;br&gt;&#xA;  &lt;span class=&quot;math-container&quot;&gt;$Cook(M, n, m, t)$&lt;/span&gt; returns a Boolean circuit of size &lt;span class=&quot;math-container&quot;&gt;$O(t^2)$&lt;/span&gt; that &#xA;  simulates &lt;span class=&quot;math-container&quot;&gt;$M$&lt;/span&gt; on inputs of length &lt;span class=&quot;math-container&quot;&gt;$(n,m)$&lt;/span&gt; for &lt;span class=&quot;math-container&quot;&gt;$t$&lt;/span&gt; steps.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Let's try to use these to extend the argument for &lt;span class=&quot;math-container&quot;&gt;$\mathsf{P}=\mathsf{PH}$&lt;/span&gt; to obtain an algorithm solving TQBF (actually TQBCircuit, i.e. Totally Quantified Boolean Circuit problem).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The idea of the algorithm is as follows: we repeatedly use &lt;span class=&quot;math-container&quot;&gt;$Cook$&lt;/span&gt; on &lt;span class=&quot;math-container&quot;&gt;$A$&lt;/span&gt; to remove the quantifiers from a given quantified circuit. There are linear number of quantifiers so we hope to get a polynomial time algorithm (we have an algorithm with polynomially many steps using the polynomial time subroutine &lt;span class=&quot;math-container&quot;&gt;$Cook$&lt;/span&gt;). At the end of this process of quantifier elimination we will have a quantifier-free circuit which can be evaluated in polynomial time (Circuit Value problem is in &lt;span class=&quot;math-container&quot;&gt;$\mathsf{P}$&lt;/span&gt;, let &lt;span class=&quot;math-container&quot;&gt;$CV$&lt;/span&gt; be a polynomial time algorithm for computing the circuit value of a given circuit).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However we will see that this idea does &lt;strong&gt;not&lt;/strong&gt; work (for the same reason pointed out by Peter).&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Let &lt;span class=&quot;math-container&quot;&gt;$\varphi$&lt;/span&gt; be a quantified circuit, (initialized to the given quantified formula).&lt;/li&gt;&#xA;&lt;li&gt;Let &lt;span class=&quot;math-container&quot;&gt;$k$&lt;/span&gt; the number of quantifiers in &lt;span class=&quot;math-container&quot;&gt;$\varphi$&lt;/span&gt;.&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;For &lt;span class=&quot;math-container&quot;&gt;$i$&lt;/span&gt; from &lt;span class=&quot;math-container&quot;&gt;$k$&lt;/span&gt; to &lt;span class=&quot;math-container&quot;&gt;$1$&lt;/span&gt; do  &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Let &lt;span class=&quot;math-container&quot;&gt;$\psi$&lt;/span&gt; = &lt;span class=&quot;math-container&quot;&gt;$Qx_k \sigma(x_1,...,x_k)$&lt;/span&gt; be the last quantifier and the quantifier-free part.  &lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;If &lt;span class=&quot;math-container&quot;&gt;$Q = &quot;\exists&quot;$&lt;/span&gt;,  &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Compute &lt;span class=&quot;math-container&quot;&gt;$C = Cook(A, |\sigma|, |x_1|+...+|x_k-1|, p)$&lt;/span&gt;,  &lt;/li&gt;&#xA;&lt;li&gt;Substitute the input bits with &lt;span class=&quot;math-container&quot;&gt;$\sigma$&lt;/span&gt; in the circuit &lt;span class=&quot;math-container&quot;&gt;$C$&lt;/span&gt;,  &lt;/li&gt;&#xA;&lt;li&gt;Replace &lt;span class=&quot;math-container&quot;&gt;$\psi$&lt;/span&gt; with &lt;span class=&quot;math-container&quot;&gt;$C$&lt;/span&gt; in &lt;span class=&quot;math-container&quot;&gt;$\varphi$&lt;/span&gt;.  &lt;/li&gt;&#xA;&lt;/ol&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;If &lt;span class=&quot;math-container&quot;&gt;$Q = &quot;\forall&quot;$&lt;/span&gt;,  &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Consider &lt;span class=&quot;math-container&quot;&gt;$\psi$&lt;/span&gt; as &lt;span class=&quot;math-container&quot;&gt;$\lnot \exists x_k \lnot \sigma$&lt;/span&gt;,  &lt;/li&gt;&#xA;&lt;li&gt;Compute &lt;span class=&quot;math-container&quot;&gt;$C = Cook(A, |\lnot \sigma|, |x_1|+...+|x_k-1|, p)$&lt;/span&gt;,  &lt;/li&gt;&#xA;&lt;li&gt;Substitute the input bits with &lt;span class=&quot;math-container&quot;&gt;$\lnot \sigma$&lt;/span&gt; in the circuit &lt;span class=&quot;math-container&quot;&gt;$C$&lt;/span&gt;,  &lt;/li&gt;&#xA;&lt;li&gt;Replace &lt;span class=&quot;math-container&quot;&gt;$\psi$&lt;/span&gt; with the &lt;span class=&quot;math-container&quot;&gt;$\lnot C$&lt;/span&gt; in &lt;span class=&quot;math-container&quot;&gt;$\varphi$&lt;/span&gt;.&lt;/li&gt;&#xA;&lt;/ol&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;li&gt;Compute and return &lt;span class=&quot;math-container&quot;&gt;$CV(\varphi)$&lt;/span&gt;.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The resulting algorithm &lt;em&gt;looks&lt;/em&gt; polynomial time: we have polynomial many steps, each step is polynomial time computable. However this is not correct, the algorithm is not polynomial time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Using polynomial time subroutines in a polynomial time algorithm is polynomial time. The problem is that in general this does not need to be true if the values returned by the subroutines are not of polynomial size in the original input and we assume that we do assignments about the values returning from the subroutines. (In the TM model we have to read the output of any polynomial time subroutine bit by bit.) Here the size of the returned value from algorithm &lt;span class=&quot;math-container&quot;&gt;$Cook$&lt;/span&gt; is increasing (can be a power of the size of the input given to it, the exact power depends on the running time of &lt;span class=&quot;math-container&quot;&gt;$A$&lt;/span&gt; and is around &lt;span class=&quot;math-container&quot;&gt;$p^2(|input|)$&lt;/span&gt;, so since we know that &lt;span class=&quot;math-container&quot;&gt;$A$&lt;/span&gt; cannot be less than linear time, &lt;span class=&quot;math-container&quot;&gt;$|output|$&lt;/span&gt; is at least &lt;span class=&quot;math-container&quot;&gt;$|input|^2$&lt;/span&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem is similar to the simple code below:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Given &lt;span class=&quot;math-container&quot;&gt;$x$&lt;/span&gt;,&lt;/li&gt;&#xA;&lt;li&gt;Let &lt;span class=&quot;math-container&quot;&gt;$n = |x|$&lt;/span&gt;,&lt;/li&gt;&#xA;&lt;li&gt;Let &lt;span class=&quot;math-container&quot;&gt;$y = x$&lt;/span&gt;,&lt;/li&gt;&#xA;&lt;li&gt;For &lt;span class=&quot;math-container&quot;&gt;$i$&lt;/span&gt; from &lt;span class=&quot;math-container&quot;&gt;$1$&lt;/span&gt; to &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt; do&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Let &lt;span class=&quot;math-container&quot;&gt;$y = y^{|y|}$&lt;/span&gt;, (i.e. concatenation of &lt;span class=&quot;math-container&quot;&gt;$|y|$&lt;/span&gt; copies of &lt;span class=&quot;math-container&quot;&gt;$y$&lt;/span&gt;)&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;li&gt;Return y&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Each time we execute &lt;span class=&quot;math-container&quot;&gt;$y = y^{|y|}$&lt;/span&gt; we square the size of &lt;span class=&quot;math-container&quot;&gt;$y$&lt;/span&gt;. After &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt; executions we will have a &lt;span class=&quot;math-container&quot;&gt;$y$&lt;/span&gt; which is &lt;span class=&quot;math-container&quot;&gt;$x^{2^n}$&lt;/span&gt; and has size &lt;span class=&quot;math-container&quot;&gt;$n2^n$&lt;/span&gt;, obviously not a polynomial in the size of the input.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let's assume that we only consider quantified formulas with &lt;span class=&quot;math-container&quot;&gt;$k(n)$&lt;/span&gt; quantifier alternations (where &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt; is the total size of the quantified formula). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assume that &lt;span class=&quot;math-container&quot;&gt;$A$&lt;/span&gt; runs in time &lt;span class=&quot;math-container&quot;&gt;$p$&lt;/span&gt; (e.g. linear time which is not ruled out so far), and have maybe a more efficient &lt;span class=&quot;math-container&quot;&gt;$Cook$&lt;/span&gt; algorithm outputting a smaller circuit of size &lt;span class=&quot;math-container&quot;&gt;$l(t)$&lt;/span&gt; in place of &lt;span class=&quot;math-container&quot;&gt;$t^2$&lt;/span&gt;, then we get an algorithm for ExtCircuitSat that runs in time &lt;span class=&quot;math-container&quot;&gt;$(l\circ p)^{O(k)}(n)=\underbrace{l(p(l(p(\dots(l(p(n)))))))}_{O(k)\mbox{ compositions}}$&lt;/span&gt;. Even in the case that both &lt;span class=&quot;math-container&quot;&gt;$l$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$p$&lt;/span&gt; were linear (but with total coefficient &lt;span class=&quot;math-container&quot;&gt;$a\geq 2$&lt;/span&gt;) we would get an algorithm which runs in time &lt;span class=&quot;math-container&quot;&gt;$\Omega(n2^{k(n)})$&lt;/span&gt; and if &lt;span class=&quot;math-container&quot;&gt;$k(n) = \Theta(n)$&lt;/span&gt; it would be &lt;span class=&quot;math-container&quot;&gt;$\Omega(n2^n)$&lt;/span&gt; similar to the brute-force algorithm (and even this was based on assuming Cook-Levin can be performed on algorithms resulting circuits of linear size in the running time of the algorithm). &lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="1812" LastEditDate="2019-09-13T01:10:50.007" LastActivityDate="2019-09-13T01:10:50.007" CommentCount="2" ContentLicense="CC BY-SA 4.0" />
  <row Id="14550" PostTypeId="2" ParentId="14548" CreationDate="2012-11-30T07:04:34.190" Score="16" Body="&lt;p&gt;The ellipsoid method and interior point methods can be extended to solve SDPs as well. You can refer to any standard-texts on SDPs for details. Here's one:&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.stanford.edu/%7Eboyd/papers/pdf/semidef_prog.pdf&quot; rel=&quot;noreferrer&quot;&gt;Semidefinite Programming&lt;/a&gt;. Vandenberge and Stephen Boyd, 1996.&lt;/p&gt;&#xA;" OwnerUserId="547" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2012-11-30T07:04:34.190" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="14553" PostTypeId="1" CreationDate="2012-11-30T11:58:14.397" Score="1" ViewCount="61" Body="&lt;p&gt;Given large positive integers $m$ and $n$:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $S$ be the set of integers $\{1,2,\dots,m\}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We are given as input two vectors $L$ and $U$ both over $S^n$ such that:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\bigwedge_{i=1}^{n}{L_i \le U_i}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We are interested in the set of vectors $X$ over $S^n$ such that:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\bigwedge_{i=1}^{n}{L_i \le X_i \le U_i}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Notice that if we define $D = U - L$ than there are:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\prod_{i=1}^{n}(D_i+1)$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;valid $X$ vectors.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We want an algorithm that takes $L$ and $U$ and generates a self-contained program as output.  That program when executed may output &lt;em&gt;any one&lt;/em&gt; valid $X$, and be as small as possible (in terms of total code and data).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Therefore we would like to know which valid $X$ vector is the one that is the &quot;most compressible&quot;.  We can then generate a program that contains that vector compressed in its data section, and the program will simply decompress it and output it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;How can we determine which $X$ is most compressible as a function of $L$ and $U$?&lt;/p&gt;&#xA;" OwnerUserId="10310" LastActivityDate="2012-11-30T11:58:14.397" Title="Finding Most Compressible Vector Within Bounds?" Tags="&lt;it.information-theory&gt;" AnswerCount="0" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14555" PostTypeId="2" ParentId="12376" CreationDate="2012-12-01T05:56:24.853" Score="3" Body="&lt;p&gt;This is a variant of geometric set cover. Depending on the exact settings, you might be able to do some good approximation. The problem is of course NP-Hard. The natural huersitics are to use greedy algorithm (always pick the rectangle/strip that covers the most area not covered yet. The alternative technique is to use reweighing. There are some interesting theoretical results, but frankly, nothing that should be too useful in practice. One interesting hueristic you might want to try, is to first decompose your polygon into minimal number of convex shapes (using Keil dynamic programming algorithm), and then covering each convex polygon separately...&lt;/p&gt;&#xA;" OwnerUserId="9594" LastActivityDate="2012-12-01T05:56:24.853" CommentCount="1" CommunityOwnedDate="2012-12-01T05:56:24.853" ContentLicense="CC BY-SA 3.0" />
  <row Id="14558" PostTypeId="1" CreationDate="2012-12-01T17:09:05.613" Score="11" ViewCount="447" Body="&lt;p&gt;I am interesting in the sunflower system and its applications in computer science.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a Universe $U$ and a collection of $k$ sets $A_i$ is called a &lt;strong&gt;k-sunflower system&lt;/strong&gt; if $A_i \cap A_j = Y $ for all $i \neq j$. And $Y$ is called as the core and $A_i - Y$ is called petals.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A family of sets $F$ is called $s$-uniform is all the sets it contained possess $s$ elements.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Erdos and Rado proved that for a $s$ uniform family of sets $F$ , $F$ must contain a $k$-sunflower system  petals if $|F| &amp;gt; s!(k-1)^s $.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This result is called the sunflower lemma and has many important applications.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Erdos conjectured that for every $k$ there exist a constant $c_k$ such that the upper bound should be $c_k^s$ every $s$-uniform family $F$.&#xA;(The  sunflower conjecture)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Unfortunately, this conjecture is still open for $k=3$.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Here is what I want to know.&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;If we limit the number of elements in the universe $U$.Suppose $|U|$= $u$. Then the problem turns out be:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a universe with $u$ elements, and $s$-uniform family $F$ of sets containing the elements in $U$, we supposed can find sequence of constants $c_1$, $c_2$, $c_3$ ,... such that every $s$-uniform family $F$ contains a $3$-sunflower system if $|F|&amp;gt;$ $c_i^s$ and $|U|=i$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Moreover, if we could prove that the sequence $c_i$ converges to a constant $c$, then it seems we can prove the sunflower conjecture.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But I cannot find such result.It might be that this approach is too stupid or too hard.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Could any one provide the state of art of sunflower lemma and the conjecture(finite version is also OK).&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;Here is some I can provide. &#xA;There is a chapter in Junka's book The Extremal Combinatorics.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The paper above is one of its application(finite version)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.google.com/url?sa=t&amp;amp;rct=j&amp;amp;q=&amp;amp;esrc=s&amp;amp;source=web&amp;amp;cd=1&amp;amp;cad=rja&amp;amp;ved=0CC4QFjAA&amp;amp;url=http%3A%2F%2Fwww.cs.technion.ac.il%2F~shpilka%2Fpublications%2FASU11.pdf&amp;amp;ei=u_y5UP6rKIWBiQei94DwDg&amp;amp;usg=AFQjCNHnR0rNmULcyDTBGtvG3qsU5a9d2w&amp;amp;sig2=BeclrG8vsTX_DJOAvrwSFg&quot;&gt;On Sunflowers and Matrix Multiplication N Alon et.al &lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="8398" LastActivityDate="2012-12-02T17:36:30.013" Title="The state of art for sunflower system" Tags="&lt;co.combinatorics&gt;&lt;set-theory&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="14559" PostTypeId="2" ParentId="14482" CreationDate="2012-12-01T17:21:40.507" Score="5" Body="&lt;p&gt;Just came across this post. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Do go back to the early 1980s. Friedman et al @ Indiana invented the concept of 'engines' in the context of Scheme 84 (not Scheme 48). An engine is roughly an element of this type: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;code&gt;E = Unit x Nats -&amp;gt; E + O&lt;/code&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can also use I instead of Unit and the x Nats part is optional. You can think of&#xA;these as a form of resumptions, and depending on context engines are more practical&#xA;than resumptions. &lt;/p&gt;&#xA;" OwnerUserId="12705" LastActivityDate="2012-12-01T17:21:40.507" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14560" PostTypeId="2" ParentId="14425" CreationDate="2012-12-01T19:35:26.250" Score="11" Body="&lt;p&gt;Not having a large independent set can be as important as having a large clique.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An important obstruction for a graph to be non k-colorable is that the maximum size of an independent set is smaller than n/k, where n is the number of vertices. This is a very important obstraction. For example it implies that a random graph in G(n,1/2) has chromatic number at least n/log n.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A more refine obstruction is that for every assignment of nonnegative weights for the vertices   there is no independent set that capture a fraction 1/5 (or more) of the total weight. Note that this also include the &quot;no clique obstructions.&quot; LP-duality tells you that this obstruction is equivalent to the &quot;fractional chromatic number&quot; of G being larger than k. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are also obstructions for k-colorability of a different nature that sometimes go beyond the fractional chromatic number barrier. I will devote a separate asnwer to them.&lt;/p&gt;&#xA;" OwnerUserId="712" LastActivityDate="2012-12-01T19:35:26.250" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14561" PostTypeId="2" ParentId="14425" CreationDate="2012-12-01T20:10:07.167" Score="12" Body="&lt;p&gt;Lovasz found topological obstructions for k-colorability and used his theory to solve Knaser's conjecture. His theorem is the following. Let G be a connected graph, and let N(G) be a simplicial complex whose faces are subsets of V that have a common neighbors. Then if N(K) is k-connected (namely, all its reduced homology groups are 0 up to dimension k-1) then the number of colors needed to color G is at least k+3.&lt;/p&gt;&#xA;" OwnerUserId="712" LastActivityDate="2012-12-01T20:10:07.167" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14562" PostTypeId="1" AcceptedAnswerId="16827" CreationDate="2012-12-01T20:56:45.360" Score="5" ViewCount="200" Body="&lt;p&gt;We are given a Boolean formula in Conjunctive Normal Form (CNF) with $n$ variables and $m$ clauses, where we do not allow repetition of clauses in a given formula and we do not allow repetition of variables in a given clause. Then it is well known that we can have up to $3^n-1$ distinct clauses.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What I would like to know is the complexity of eliminating clauses where their unsatisfying assignments are already covered by some other clause. For example, given the following CNF formula $ \{ (a,b,c,d), (a,b,c,\bar{d}), (a,\bar{b},c,d), (a,b,c), (a,b,d), (b,c,d), (c,d) \}.$ After we eliminate the clauses where their unsatisfying truth assignments are already covered by some other clause we get following CNF formula $\{ (a,b,c), (a,b,d), (c,d) \}.$ How fast can this be done for an arbitrary formula? Could it be done in polynomial time in terms of the length of the input? &lt;/p&gt;&#xA;" OwnerUserId="1590" LastActivityDate="2013-03-11T00:41:13.570" Title="Eliminating clauses from a CNF formula based on their unsatisfying truth assignments being covered by some other clause" Tags="&lt;cc.complexity-theory&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="14563" PostTypeId="2" ParentId="4889" CreationDate="2012-12-01T21:16:54.223" Score="2" Body="&lt;p&gt;Here's one interpretation of your question, which you may or may not have intended, but for which I have an answer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Computers are obviously real physical devices and therefore can be modeled by the laws of physics.  But we don't use the laws of physics that would be needed to describe a real computer as a model of computation because it's too complex.  To make a model of computation, we define something like a Turing machine that is simple enough to be mathematically tractable. However, now we've untethered the model from the physical world, because we don't say how the Turing machine is built or what forces drive it to run.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So can we devise some simple models that capture &quot;computation&quot;, but whose fundamental rules are physical in nature?  My answer to this would be to check out the Feynman Lectures on Computation: &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0738202967&quot; rel=&quot;nofollow&quot;&gt;http://www.amazon.com/Feynman-Lectures-Computation-Richard-P/dp/0738202967&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;He talks about a lot of different simple physical systems that carry out a computation.  For example, there is the billiard ball model of Fredkin and Toffoli (http://en.wikipedia.org/wiki/Billiard-ball_computer), where the point was to explicitly account for energy requirements and to design a computer that can run for arbitrarily many steps for arbitrarily little energy.  In particular, the chapter on reversible computing has a lot of these kinds of examples.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We think about this issue a lot in my lab.  For example, we've done some work on what it means for chemical reaction networks to do computation: &lt;a href=&quot;http://www.dna.caltech.edu/DNAresearch_publications.html#DeterministicCRNs&quot; rel=&quot;nofollow&quot;&gt;http://www.dna.caltech.edu/DNAresearch_publications.html#DeterministicCRNs&lt;/a&gt; and &lt;a href=&quot;http://www.dna.caltech.edu/DNAresearch_publications.html#ComputationalCRNs&quot; rel=&quot;nofollow&quot;&gt;http://www.dna.caltech.edu/DNAresearch_publications.html#ComputationalCRNs&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We also think about how seeded crystal formation can carry out computation: &lt;a href=&quot;http://www.dna.caltech.edu/DNAresearch_publications.html#Simulations&quot; rel=&quot;nofollow&quot;&gt;http://www.dna.caltech.edu/DNAresearch_publications.html#Simulations&lt;/a&gt; as well as actually trying to make it happen experimentally: &lt;a href=&quot;http://www.dna.caltech.edu/DNAresearch_publications.html#OrigamiSeed&quot; rel=&quot;nofollow&quot;&gt;http://www.dna.caltech.edu/DNAresearch_publications.html#OrigamiSeed&lt;/a&gt;, and some other work based on computing using a physical phenomenon called DNA strand displacement: &lt;a href=&quot;http://www.dna.caltech.edu/DNAresearch_publications.html#DNALogicCircuits&quot; rel=&quot;nofollow&quot;&gt;http://www.dna.caltech.edu/DNAresearch_publications.html#DNALogicCircuits&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="165" LastActivityDate="2012-12-01T21:16:54.223" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14565" PostTypeId="1" AcceptedAnswerId="14589" CreationDate="2012-12-02T03:23:51.677" Score="11" ViewCount="2256" Body="&lt;p&gt;This may be a naive question, but here goes. (Edit -- it is not getting upvotes, but nobody has offered a response either; perhaps the question is more difficult, obscure, or unclear than I thought?)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Gödel's First Incompleteness Theorem can be proven as a corollary of the undecidability of the halting problem (e.g. Sipser Ch. 6; &lt;a href=&quot;http://www.scottaaronson.com/blog/?p=710&quot; rel=&quot;nofollow noreferrer&quot;&gt;blog post by Scott Aaronson&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;From what I understand (confirmed by the comments), this proof does &lt;em&gt;not&lt;/em&gt; depend on the Church-Turing thesis. We derive a contradiction by showing that, in a complete and consistent formal system, a Turing Machine could solve the halting problem. (If on the other hand we had just shown that some &lt;em&gt;effective procedure&lt;/em&gt; could decide the halting problem, we would need to also assume the Church-Turing thesis to get a contradiction.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, we might say that this result provides a bit of intuitive support for the Church-Turing thesis, because it shows that a limitation of Turing Machines implies a universal limitation. (Aaronson's blog post certainly supports this view.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is whether we can gain something more concrete by going in reverse: &lt;strong&gt;What formal implications do Gödel's theorems have for the Church-Turing thesis?&lt;/strong&gt; For instance, it seems intuitively possible that the First Incompleteness theorem implies that no effective procedure can determine if an arbitrary Turing Machine halts; the reasoning might go that the existence of such a procedure implies ability to construct a complete $\omega$-consistent theory. Is this correct? Are there any results along these lines?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(I'm asking out of curiosity -- I don't study logic myself -- so I apologize if this is well-known or not research-level. In that case, consider this a reference request! Thanks for any comments or responses!)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Question that sounds related, but isn't: &lt;a href=&quot;https://cstheory.stackexchange.com/questions/1612/churchs-theorem-and-godels-incompleteness-theorems&quot;&gt;Church's Theorem and Gödel's Incompleteness Theorems&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;EDIT: I'll try to make the question more clear! First -- my naive intuition is that Gödel's Incompleteness should imply at least &lt;em&gt;some&lt;/em&gt; limitations on what is or is not computable. These limitations would be unconditional, &lt;em&gt;i.e.&lt;/em&gt;, they should apply to &lt;em&gt;all&lt;/em&gt; models of computation rather than just Turing Machines.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So I am wondering if this is the case (there must be &lt;em&gt;some&lt;/em&gt; implication, right?). Assuming it is, I'm most curious about how it impacts the Church-Turing Thesis -- the notion that anything effectively calculable can be computed by a Turing Machine. For example, it seems possible that the existence of an effective procedure for deciding whether a Turing Machine halts would contradict  the First Incompleteness Theorem. This result would demonstrate that no possible method of computation can be &quot;much&quot; more powerful than Turing Machines; but is this result true? I have a couple similar questions in the comments. I would be very interested to hear an answer to one of these questions, a pointer to an answer in the literature, an explanation of why my entire reasoning is off-base, or any other comments!&lt;/p&gt;&#xA;" OwnerUserId="8243" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2012-12-04T23:24:53.327" Title="The relation of Gödel's Incompleteness Theorems to the Church-Turing Thesis" Tags="&lt;lo.logic&gt;&lt;computability&gt;&lt;church-turing-thesis&gt;" AnswerCount="2" CommentCount="16" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="14566" PostTypeId="2" ParentId="14485" CreationDate="2012-12-02T03:43:50.913" Score="0" Body="&lt;p&gt;try also this recent ref:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://dl.acm.org/citation.cfm?id=1907992&quot; rel=&quot;nofollow&quot;&gt;Visualization of Graph Products by Janicke et al&lt;/a&gt;, IEEE Transactions on Visualization and Computer Graphics (2010)&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;... Graph products constitute a class that arises frequently in graph theory, but for which no visualization algorithm has been proposed until now. In this paper, we present an algorithm for drawing graph products and the aesthetic criterion graph product's drawings are subject to. We show that the popular High-Dimensional Embedder approach applied to cartesian products already respects this aestetic criterion, but has disadvantages. We also present how our method is integrated as a new component into the TopoLayout framework. Our implementation is used for further research of graph products in a biological context.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2012-12-02T03:43:50.913" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14567" PostTypeId="2" ParentId="14425" CreationDate="2012-12-02T04:10:37.000" Score="11" Body="&lt;p&gt;Re your reformulation of the question as &quot;More precisely, what I need is some theorem of the form: A graph $G$ has chromatic number $\chi(G)=k+1$ if and only if...&quot;:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I don't know whether you will think this is adequately explanatory, but it at least fits the syntax you request: an undirected graph $G$ has chromatic number $\chi(G)\ge k$ if and only if, no matter how you orient the edges of $G$, the resulting directed graph will include at least one directed path of length $k-1$. This is the &lt;a href=&quot;http://en.wikipedia.org/wiki/Gallai%E2%80%93Hasse%E2%80%93Roy%E2%80%93Vitaver_theorem&quot; rel=&quot;noreferrer&quot;&gt;Gallai–Hasse–Roy–Vitaver theorem&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="95" LastEditorUserId="95" LastEditDate="2012-12-02T16:39:33.643" LastActivityDate="2012-12-02T16:39:33.643" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14568" PostTypeId="1" AcceptedAnswerId="14570" CreationDate="2012-12-02T04:19:28.693" Score="36" ViewCount="3404" Body="&lt;p&gt;An important application of the PCP theorem is that it yields &quot;hardness of approximation&quot; type results. In some relatively simpler cases one can prove such hardness without PCP. Is there, however, any case where the hardness of approximation result was first proved using the PCP theorem, i.e., the result was not known before, but later a more direct proof was found that does not depend on PCP? In other words, is there any case where PCP appeared necessary first, but later it could be eliminated?&lt;/p&gt;&#xA;" OwnerUserId="12710" LastEditorUserId="80" LastEditDate="2012-12-02T04:41:42.973" LastActivityDate="2014-03-14T03:16:56.557" Title="Hardness of approximation without the PCP theorem" Tags="&lt;cc.complexity-theory&gt;&lt;approximation-hardness&gt;&lt;pcp&gt;" AnswerCount="4" CommentCount="0" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="14569" PostTypeId="2" ParentId="5673" CreationDate="2012-12-02T05:01:09.260" Score="1" Body="&lt;p&gt;You can exhaustively guess all possible sets of non-zero variables and then solve the resulting integer programs to optimality (this is a famous result of Lenstra), so there should be an O(n^(constant+k))-time algorithm. This works even without getting the hairy big-M constraints, e.g. if no upper bound on the variables is known.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If it's a maximization problem, you could extend this to get an alpha-approximation in O(n^(constant+k/alpha)) time since it's enough to guess the k/alpha most profitable nonzero variables. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have a paper with a coauthor called &quot;Approximability of Sparse Integer Programs&quot; but this refers to the notion of sparseness identified by Suresh above. I guess I would call the version you want a &quot;sparse-solution integer program.&quot;&lt;/p&gt;&#xA;" OwnerUserId="771" LastActivityDate="2012-12-02T05:01:09.260" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14570" PostTypeId="2" ParentId="14568" CreationDate="2012-12-02T12:53:38.547" Score="35" Body="&lt;p&gt;An example is this paper:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Guruswami, V., &amp;amp; Khanna, S. (2004). On the hardness of 4-coloring a 3-colorable graph. &lt;em&gt;SIAM Journal on Discrete Mathematics&lt;/em&gt;, 18(1): 30-40. &lt;a href=&quot;http://epubs.siam.org/doi/abs/10.1137/S0895480100376794&quot;&gt;link&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Using the PCP-Theorem, &lt;a href=&quot;http://link.springer.com/article/10.1007/s004930070013&quot;&gt;Khanna, Linial, and Safra (2000)&lt;/a&gt; proved that it is NP-hard to color a &#xA;3-colorable graph using just 4 colors. Later, Guruswami &amp;amp; Khanna (2004) gave, among other nice things, a PCP-free proof for the same result.&lt;/p&gt;&#xA;" OwnerUserId="6706" LastEditorUserId="1037" LastEditDate="2014-03-14T03:15:03.367" LastActivityDate="2014-03-14T03:15:03.367" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14571" PostTypeId="2" ParentId="14568" CreationDate="2012-12-02T14:24:16.493" Score="15" Body="&lt;p&gt;For the maximum edge disjoint paths problem in directed graphs the paper of &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0022000099916616&quot; rel=&quot;nofollow&quot;&gt;Ma &amp;amp; Wang (2000)&lt;/a&gt; was based on the label cover problem which in turn is based on the PCP theorem. Subsequently a simple reduction via the 2-disjointpath problem hardness was found by &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0022000003000667&quot; rel=&quot;nofollow&quot;&gt;Guruswami et. al. (2003)&lt;/a&gt; which gave improved hardness as well.&lt;/p&gt;&#xA;" OwnerUserId="176" LastEditorUserId="1037" LastEditDate="2014-03-14T03:16:56.557" LastActivityDate="2014-03-14T03:16:56.557" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="14573" PostTypeId="2" ParentId="14568" CreationDate="2012-12-02T15:31:45.880" Score="13" Body="&lt;p&gt;There are examples from approximate counting. Approximately counting the number of satisfying assignments of an NP-relation can only be harder than deciding whether a satisfying assignment exists, so it's not too surprising that one doesn't need the PCP theorem to prove hardness for such problems. Still, the PCP theorem sometimes gives a convenient starting point, e.g., for this paper about approximately counting the number of independent sets in a sparse graph:&#xA;&lt;a href=&quot;http://www.dcs.ed.ac.uk/home/mrj/papers/DFJ02.pdf&quot;&gt;http://www.dcs.ed.ac.uk/home/mrj/papers/DFJ02.pdf&lt;/a&gt;&#xA;Later, Sly proved a hardness result for approximately counting independent sets just based on standard NP-hardness of Max-Cut:&#xA;&lt;a href=&quot;http://arxiv.org/pdf/1005.5584v1.pdf&quot;&gt;http://arxiv.org/pdf/1005.5584v1.pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="1621" LastActivityDate="2012-12-02T15:31:45.880" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="14574" PostTypeId="1" AcceptedAnswerId="14614" CreationDate="2012-12-02T16:14:56.470" Score="11" ViewCount="604" Body="&lt;p&gt;&lt;strong&gt;Some background:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm interested in finding &quot;lesser-known&quot; lower bounds (or hardness results) for the Learning with Errors (LWE) problem, and generalizations thereof like Learning with Errors over Rings. For specific definitions, etc., here is a nice survey by Regev: &lt;a href=&quot;http://www.cims.nyu.edu/~regev/papers/lwesurvey.pdf&quot;&gt;http://www.cims.nyu.edu/~regev/papers/lwesurvey.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The standard type of (R)LWE-style assumption is via (perhaps, quantum) reduction to the Shortest Vector Problem on (perhaps, ideal) lattices. The usual formulation of SVP is known to be NP-hard, and it's BELIEVED to be hard to approximate to small polynomial factors. (Related: It's hard to approximate CVP to within /almost-polynomial/ factors: &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=1005180.1005182&quot;&gt;http://dl.acm.org/citation.cfm?id=1005180.1005182&lt;/a&gt; ) I've also heard it mentioned that (in terms of quantum algorithms) approximating certain lattice problems (like SVP) to small polynomial approximation factors is related to the non-Abelian hidden subgroup problem (which is believed to be hard for its own reasons), though I've never seen an explicit, formal source for this.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm more interested, however, in hardness results (of any type) that come as a result of the Noisy Parity problem from Learning Theory. These could be &lt;em&gt;complexity class hardness results, concrete algorithmic lower bounds, sample complexity bounds, or even proof size lower bounds&lt;/em&gt; (e.g. Resolution). It is known (perhaps, obvious) that LWE can be viewed as a generalization of the Noisy Parity/Learning Parity with Noise (LPN) problem, which (from Googling) appears to have been used in hardness reductions in areas like coding theory and PAC learning.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;From looking around myself, I've only found (mildly subexponential) UPPER BOUNDS on the LPN problem, e.g. &lt;a href=&quot;http://www.di.ens.fr/~lyubash/papers/parityproblem.pdf&quot;&gt;http://www.di.ens.fr/~lyubash/papers/parityproblem.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I know LPN is BELIEVED HARD in the learning community. My question is: &lt;strong&gt;Why?&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is it because everyone tried really hard, but no one's found a good algorithm yet? Are there known lower bounds of the &lt;em&gt;italicized variety above&lt;/em&gt; (or others I left out)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If the answer is very clear-cut, a succinct summary of what's known and/or references to surveys/lecture notes would be great.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If much is unknown, the more &quot;state-of-the-art&quot; papers, the better. :) (Thanks ahead of time!)&lt;/p&gt;&#xA;" OwnerUserId="108" LastActivityDate="2012-12-04T19:39:21.483" Title="Noisy Parity (LWE) lower bounds/hardness results" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;cr.crypto-security&gt;&lt;machine-learning&gt;&lt;lg.learning&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="14576" PostTypeId="1" CreationDate="2012-12-02T16:50:53.360" Score="4" ViewCount="186" Body="&lt;p&gt;I'm interested in an computational geometry problem that's sensibly expressed as an infinite dimensional 0-1 integer program.  I'm not worried about finding an actual minimum for the objective function, any solution with isn't stupidly big will do.  It thus seems natural to apply an approximation algorithm that starts by running simplex or similar restricted to $[0,1]$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'd expect the solutions usually require only a few hundred dimensions, &lt;em&gt;but&lt;/em&gt; any naive restriction of the problem space yields millions of dimensions.  As I understand it, good implementations of a linear program solver should be polynomial time in both the dimension and constraints on average cases, but nevertheless this problem chokes GLPK.  Should GLPK really choke on a million dimensions?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I've therefore started looking for less naive restrictions of the problem space, which lead me to LP-type problems. In particular, there is a claim that Clarkson's algorithm applied to linear programs are equivalent to running the simplex algorithm on the dual problem.  In what sense is this true? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I find this claim highly dubious with respect to complexity for several reasons.  First, Clarkson's algorithm does not exploit any $[0,1]$ solutions with fast average case solutions, but merely randomly chooses pivots.  Second, Clarkson's algorithm has running time worse than exponential in the dimension $O(dn + d! d^k \log n)$, which doesn't rule out polynomial time for average cases, but I haven't found that fact yet.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As an aside, any nice examples of improving a restriction of an infinite dimensional linear program over time? &lt;/p&gt;&#xA;" OwnerUserId="6665" LastEditorUserId="6665" LastEditDate="2012-12-02T17:17:50.450" LastActivityDate="2012-12-02T17:17:50.450" Title="LP-type vs. Approximation" Tags="&lt;linear-programming&gt;&lt;integer-programming&gt;&lt;simplex&gt;" AnswerCount="0" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="14578" PostTypeId="2" ParentId="14558" CreationDate="2012-12-02T17:36:30.013" Score="7" Body="&lt;p&gt;the &lt;a href=&quot;http://en.wikipedia.org/wiki/Sunflower_(mathematics)&quot; rel=&quot;nofollow noreferrer&quot;&gt;Erdos sunflower conjecture&lt;/a&gt; seems to be very difficult after now over a half century(!) of being open. youve already listed some of the very best and most recent refs on the subj that would be very hard to beat (Alons recent paper, Juknas book on combinatorics). the Alon paper is highly notable for newly linking the conjecture to lower bounds on matrix multiplication, an area that has seen recent groundbreaking advance in the Williams results.[4]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;you can find some further treatment, mainly applications to extremal circuit theory (circuit lower bounds 1st discovered by Razborov &amp;amp; extended by others), in Jukna's outstanding book [1]. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;one notable/related recent ref along these lines apparently not-so-widely-known-or-cited-so-far is [2] by Rossman with a new direction of application (Erdos-Renyi random graphs over monotone circuits) and who proves extended and/or stronger results on &quot;quasi-&quot; sunflowers. the paper is a result from his Phd thesis [3]. from the paper abstract&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;We introduce a new variant of sunflowers and prove an analogue of the sunflower lemma that may be of independent interest.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;[1] &lt;a href=&quot;http://www.thi.informatik.uni-frankfurt.de/~jukna/boolean/index.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;Boolean function complexity, advances and frontiers&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.156.5526&quot; rel=&quot;nofollow noreferrer&quot;&gt;The Monotone Complexity of k-Clique on Random Graphs (2009)&lt;/a&gt; Rossman&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[3] &lt;a href=&quot;http://www.mit.edu/~brossman/mit-thesis.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Average-case complexity of detecting cliques&lt;/a&gt; by Rossman&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[4] &lt;a href=&quot;http://rjlipton.wordpress.com/2011/11/29/a-breakthrough-on-matrix-product/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Commentary on Williams breakthrough on matrix product lower bound&lt;/a&gt; RJ Liptons Godels Lost Letter blog&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[5] &lt;a href=&quot;https://cstheory.stackexchange.com/questions/12641/detailed-materials-on-sunflowers&quot;&gt;Detailed Materials on Sunflowers&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2012-12-02T17:36:30.013" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14579" PostTypeId="2" ParentId="10603" CreationDate="2012-12-02T18:34:12.120" Score="5" Body="&lt;p&gt;&quot;Dangerous reference graphs and semantic paradoxes&quot;, Rabern, Rabern &amp;amp; Macauley, Journal of Philosophical Logic.&lt;a href=&quot;http://philpapers.org/rec/RABDRG&quot;&gt;Here&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://philpapers.org/rec/RABDRG&quot;&gt;http://philpapers.org/rec/RABDRG&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="12716" LastActivityDate="2012-12-02T18:34:12.120" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14580" PostTypeId="2" ParentId="14519" CreationDate="2012-12-02T19:35:35.603" Score="2" Body="&lt;p&gt;I think you are confusing zero knowledge with soundness.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Fix some language $L$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[Adaptive] soundness for NIZK says, roughly, that when $\sigma$ is chosen at random a prover cannot find a $y \not \in L$ and a proof $\pi$ for which a verifier will accept.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Zero knowledge says that, for any $y \in L$, a simulator can output $(\sigma, \pi)$ that is indistinguishable from $\sigma$ being chosen at random and then an honest prover generating a proof $\pi$ for $y$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It makes a huge difference whether $\sigma$ is chosen &lt;em&gt;first&lt;/em&gt;, or whether the simulator gets to &lt;em&gt;choose&lt;/em&gt; $\sigma$.&lt;/p&gt;&#xA;" OwnerUserId="686" LastActivityDate="2012-12-02T19:35:35.603" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14581" PostTypeId="2" ParentId="11476" CreationDate="2012-12-02T20:02:05.030" Score="1" Body="&lt;p&gt;(1) You should try emailing the authors directly (their address is in the forward) --- they are quite responsive to people asking questions about their book.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(2) Here is a sketch of another solution. First, observe that perfect secrecy for all distributions that assign non-zero probability to each $m$ implies that for any $m, m' \in {\cal M}$ and any ciphertext $c$ we have $\Pr[{\sf Enc}_K(m)=c] = \Pr[{\sf Enc}_K(m')=c]$ (the probability is over choice of key $k$). This, in turn, implies that to each $c$ we can assign a number $\delta_c$ such that $\Pr[{\sf Enc}_K(m)=c]$ for any $m \in {\cal M}$. From there, you can now work directly with the definition of perfect secrecy to show that perfect secrecy holds even for distributions that assign 0 probability to some messages.&lt;/p&gt;&#xA;" OwnerUserId="686" LastActivityDate="2012-12-02T20:02:05.030" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14584" PostTypeId="1" AcceptedAnswerId="14606" CreationDate="2012-12-03T04:44:20.063" Score="13" ViewCount="892" Body="&lt;p&gt;Are there any recent books on Online Algorithms? I know of only two books on the subject.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Online Computation and Competitive Analysis by Allan Borodin and Ran El-Yaniv: This is a classic but old book, and does not contain many recent advances in the field.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.tau.ac.il/~nivb/download/pd-survey.pdf&quot;&gt;The Design of Competitive Online Algorithms via a Primal-Dual Approach&lt;/a&gt; by Niv Buchbinder and Joseph (Seffi) Naor: This is a new book and contains lot of recent results. However, it's scope is limited to LP based primal-dual algorithms.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Please list here all the books on Online Algorithms that you may know. If there are any books freely available on the web, that will be great.&lt;/p&gt;&#xA;" OwnerUserId="9569" LastEditorUserId="80" LastEditDate="2012-12-03T04:52:12.733" LastActivityDate="2019-09-07T04:55:41.767" Title="Online Algorithms books" Tags="&lt;reference-request&gt;&lt;big-list&gt;&lt;online-algorithms&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="14585" PostTypeId="1" CreationDate="2012-12-03T05:11:59.277" Score="6" ViewCount="336" Body="&lt;p&gt;Consider the 3SUM problem: given a set $S$ of $n$ numbers identify $x$,$y$,$z$, s.t $x + y = z$. It is believed that the simple $O(n^2)$ algorithm is the best possible; reductions from 3SUM have been used to prove lower bounds for other problems assuming 3SUM is hard [Patrascu 2010].&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is it possible to prove that a small amount $n^\delta$ ($\delta &amp;lt; 1$) of free cache does not help for 3SUM? (An algorithm can store information in the cache and access it for free while accesses to regular RAM cost 1.) &lt;/p&gt;&#xA;" OwnerUserId="12724" LastEditorUserId="80" LastEditDate="2012-12-03T08:00:38.740" LastActivityDate="2012-12-03T17:13:53.840" Title="Lower bounds for 3SUM with a free cache" Tags="&lt;lower-bounds&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14587" PostTypeId="1" AcceptedAnswerId="14590" CreationDate="2012-12-03T11:02:52.170" Score="3" ViewCount="161" Body="&lt;p&gt;A universal computer is a program that can execute any other program. It is interesting to ask whether there are &quot;booster&quot; computers that execute programs faster than they execute &quot;on their own&quot;. In the simplest sense of the question, the answer is negative, as can be seen by the following argument.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose $V$ is a universal computer. Consider the following program $P$: &quot;Run $V$ on my own source code. If it halts in less than $n$ steps, produce output which is different than the output of $V(P)$. Otherwise produce the output '0' (say)&quot;. It is clear that $V$ will take at least $n$ steps to execute $P$ and $P$ will execute in approximately $n$ steps on its own. So $P$ and $V(P)$ take approximately the same time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, what happens if we allow a pre-computed cache of arbitrary size? Formally, we consider a universal Turing machine with the addition of a special read-only tape on which an infinite computable bit-string $s$ is written in the initial state. Fix $U$ an &quot;ordinary&quot; universal computer program, i.e. $U$ doesn't use the special tape. The question is then &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Can we construct $V$ a program (using the special tape) and $s$ as above s.t. for any $U$-program $P$ if $U(P)$ halts in $t$ steps then $V(P)$ halts in at most $max(f(t), g(|P|))$ steps where $f \in o(t)$ and $g$ is computable?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Repeating the self-referential construction above only yields that the time complexity of $s$ has to be at least $f^{-1}$&lt;/p&gt;&#xA;" OwnerUserId="7030" LastEditorUserId="7030" LastEditDate="2012-12-03T17:05:02.453" LastActivityDate="2012-12-03T17:05:02.453" Title="Speed-up of universal computation by caching" Tags="&lt;cc.complexity-theory&gt;&lt;time-complexity&gt;&lt;universal-computation&gt;&lt;advice-and-nonuniformity&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14588" PostTypeId="2" ParentId="7677" CreationDate="2012-12-03T11:29:24.377" Score="4" Body="&lt;p&gt;You must be referring to page 91 of that book. The reference is T. GALLAI, Transitiv orientierbare Graphen, Acta Math. Acad. Sci. Hung., 18 (1967), 25-66. A translation exists, but I was unable to find it online.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The list is apparently also available in W.T. TROTTER, JR., Combinatorics and Partially Ordered Sets — Dimension Theory, Johns Hopkins University Press, Baltimore, London (1992).&lt;/p&gt;&#xA;" OwnerUserId="775" LastEditorUserId="775" LastEditDate="2012-12-03T11:43:31.783" LastActivityDate="2012-12-03T11:43:31.783" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="14589" PostTypeId="2" ParentId="14565" CreationDate="2012-12-03T14:13:27.137" Score="9" Body="&lt;p&gt;Here is a philosophical answer that may entertain you.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Gödel's incompleteness theorems are about the formal system of Peano arithmetic. As such they say nothing about models of computation, at least not without some amount of interpretation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Peano arithmetic easily shows existence of non-computable functions. For example, being a  classical theory expressive enough to talk about Turing machines, it shows the particular instance of excluded middle which says that every Turing machine halts or runs forever. Nevertheless, from the work of Gödel an important notion of computability arose, namely that of a &lt;em&gt;(primitive) recursive function&lt;/em&gt;. So it is not the theorems themselves that connect to computability, but rather the &lt;em&gt;method&lt;/em&gt; of proof which establishes them.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The gist of the incompleteness theorems can be expressed in an abstract form using &lt;a href=&quot;http://plato.stanford.edu/entries/logic-provability/&quot;&gt;provability logic&lt;/a&gt;, which is a kind of modal logic. This gives the incompleteness theorems a wide range of applicability well beyond Peano arithmetic and computability. As soon as certain fixed-point principles are satisfied, incompleteness kicks in. These fixed-point principles are satisfied by traditional computability theory, which therefore falls victim to incompleteness, by which I mean existence of inseparable c.e. sets. Because the provable and refutable sentences of Peano arithmetic form inseparable c.e. sets, the traditional Gödel's incompleteness theorems can be seen as a corollary to incompleteness phenomena in computability. (I am being philosophically vague and your head will hurt if you try to understand me as a mathematician.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I suppose we can take two stands on how all this relates to the &lt;em&gt;informal&lt;/em&gt; notion of effectivity (&quot;stuff that can actually be computed&quot;):&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;For all we know, we are just a rather large finite automaton, capable of contemplating fictional super-heroes called &quot;Turing machines&quot; that are able to calculate with unbounded numbers (gasp!). If this is the case, Gödel was just a very good story-teller. How his stories translate to effectivity is then a matter of some (necessarily inaccurate) application of imagination to reality.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Because incompleteness phenomena arise naturally in many contexts, and certainly in all reasonable notions of computability, we conclude that the same has to be the case for effectivity. For example, suppose we could send Turing machines into black holes to compute a la &lt;a href=&quot;http://jdh.hamkins.org/asurveyofinfinitetimeturingmachines/&quot;&gt;Joel Hamkin's infinite-time Turing machines&lt;/a&gt;. This gives us immense computational power in which the halting oracle is a kindergarten toy. But still, the model satisfies the basic conditions that allow us to show the existence of inserparable sets. And therefore once again, computation is not all-powerful and incompleteness is a fact of life.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="705" LastActivityDate="2012-12-03T14:13:27.137" CommentCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="14590" PostTypeId="2" ParentId="14587" CreationDate="2012-12-03T14:40:55.770" Score="4" Body="&lt;p&gt;Using a pairing function we can allow $s$ to be defined on $\mathbb{N}^2$. Let $s(i,j)=1$ if and only if the $i$'th program $P_i$ halts in at most $2^j$ steps. Then $V$ can test whether $P_i$ halts by testing $s(i,1),s(i,2),\dots$. If $U(P_i)$ halts in at most $2^j$ steps then $V(P_i)$ halts in about $(i+j)^2$ time, assuming the pairing function is sensible. This means that if $U(P)$ halts in $t$ steps then $V(P)$ halts in about&#xA;$$(2^{|P|}+\log t)^2\leq \max(4\cdot 2^{2|P|},4(\log t)^2)$$&#xA;steps. But $(\log t)^2=o(t)$.&lt;/p&gt;&#xA;" OwnerUserId="636" LastEditorUserId="636" LastEditDate="2012-12-03T15:04:42.730" LastActivityDate="2012-12-03T15:04:42.730" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14591" PostTypeId="1" CreationDate="2012-12-03T15:49:53.240" Score="31" ViewCount="5078" Body="&lt;p&gt;Roughly speaking, my question is:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;How costly is to make a &lt;b&gt;cyclic&lt;/b&gt; graph&#xA;&lt;b&gt;acyclic&lt;/b&gt; while preserving all simple $s$-$t$ paths?&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Let $K_n$ be a complete undirected graph on vertices $\{0,1,\ldots,n+1\}$.&#xA;(My apologies  to purists: I should write $K_{n+2}$, but so is simpler.)&#xA;By an $s$-$t$ &lt;b&gt;path&lt;/b&gt; in $K_n$ we will mean a simple path from vertex $s=0$ to&#xA;vertex $t=n+1$ (no&#xA;repeated visits of vertices allowed).&#xA;We want to represent these paths by $s$-$t$&#xA;paths in a DAG (directed &lt;b&gt;acyclic&lt;/b&gt; graph) $G$ in the following sense. Each edge of $G$ is either unlabeled or is labeled by some edge of $K_n$. Multiple edges joining the same two vertices are allowed.&#xA;A path $p$ in $G$ &lt;b&gt;represents&lt;/b&gt;&#xA;a path $q$ in $K_n$, if each edge of $q$ is a label of some edge of $p$,&#xA;and each label of $p$ is an edge of $q$. The order of labels in $p$ is irrelevant, that is,&#xA;it is enough that the path $q$ is represented as a &lt;b&gt;set&lt;/b&gt; of edges, not as a &lt;b&gt;sequence&lt;/b&gt;.&#xA;&lt;p&gt;&#xA;Example: An $s$-$t$ path $p$ =  $s\xrightarrow{e_3} u_1 \xrightarrow{\phantom{e_3}} u_2&#xA;\xrightarrow{e_1}&#xA;u_3 \xrightarrow{e_2} u_4 \xrightarrow{\phantom{e_3}} t$ in $G$ represents the path&#xA;$q=(e_1,e_2,e_3)$ in $K_n$.&#xA;&lt;p&gt;&#xA;A path $p$ in $G$ &lt;b&gt;contains&lt;/b&gt; a path $q$ in $K_n$, if every edge of $q$ appears (at least&#xA;once) as a label along $p$.&#xA;&lt;p&gt;&#xA;Example: An $s$-$t$ path $p$ =  $s\xrightarrow{e_3} u_1 \xrightarrow{\phantom{e_3}} u_2&#xA;\xrightarrow{e_1} u_3  \xrightarrow{e_5}&#xA;u_4 \xrightarrow{e_2} u_5 \xrightarrow{\phantom{e_3}} u_6 \xrightarrow{e_1} t$ in $G$ contains the path&#xA;$q=(e_1,e_2,e_3)$ in $K_n$.&#xA;&lt;p&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thus, $p$ represents $q$ if $p$ contains $q$, and&#xA;the number of labels in $p$ equals the number of edges in $q$ (there is a 1-1 correspondence&#xA;between labels and edges in $q$).&#xA;&lt;p&gt;&#xA;A DAG $G$ &lt;b&gt;represents&lt;/b&gt; $K_n$ if&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Every $s$-$t$ path in $K_n$ is represented by some $s$-$t$ path in $G$.&lt;/li&gt;&#xA;&lt;li&gt;Every $s$-$t$ path in $G$ contains at least one $s$-$t$ path in $K_n$.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;&lt;p&gt;&#xA;Let $f(n)$ be the smallest number of edges in a DAG representing $K_n$.&lt;br&gt;&#xA;It is not difficult to show that&#xA;$f(n)=O(n^3)$.&#xA;&lt;p&gt;&#xA;&lt;img src=&quot;https://i.stack.imgur.com/W3mAE.jpg&quot; alt=&quot;The Bellman-Ford graph&quot;&gt;&#xA;&lt;p&gt;&#xA;The construction is inspired by the Bellman-Ford&lt;sup&gt;$\ast$&lt;/sup&gt; dynamic programming algorithm for the single-source all&#xA;shortest paths problem.&#xA;Take a DAG $G=(V,E)$ with $n^2+2$ vertices arranged into $n+2$ layers.&#xA;The first (resp. last)&#xA;layer consists of one vertex $s$ (resp. $t$), corresponding to the vertex $0$&#xA;(resp. $n+1$) of $K_n$.&#xA;Each middle layer consists of $n$ vertices which are the copies&#xA;of the vertices $\{1,\ldots,n\}$ of $K_n$. There is a directed edge from each $u_i$ on one layer to each vertex $v_j$ on the next layer. The edge $(u_i,v_j)$ with $i\neq j$&#xA;is labeled by the edge $\{i,j\}$ of $K_n$ (or by its length $x_{ij}$). The edges $(u_i,v_i)$ joining two copies of the&#xA;same vertex of $K_n$ are unlabeled.&#xA;Then paths from $s$ to the vertices on the $k$-th layer represent all paths of length at most&#xA;$k$ from $0$ to all the vertices $1,\ldots,n$ in $K_n$. The obtained graph is in fact the&#xA;subproblem graph of Bellman-Ford algorithm: if we let unlabeled edges in $G$ to have length $0$, then the minimum length of an $s$-$t$ path in $G$ is exactly the minimum length of an $s$-$t$ path in $K_n$ (under the lengths-assignment $x_{ij}$).&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;&lt;b&gt;Question: &amp;nbsp;&amp;nbsp;&lt;/b&gt;Does $f(n)=\Omega(n^3)$?&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;b&gt; Motivation:&lt;/b&gt;&#xA;If the answer is YES, this would show that the Bellman-Ford &#xA;is optimal in a wide class of DP algorithms. If the answer is NO, then we would have a better&#xA;DP algorithm!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;hr&gt;&#xA;The second condition (2) is important:&#xA;without it, $O(n^2)$ edges are already sufficient.&#xA;&lt;p&gt;&#xA;&lt;img src=&quot;https://i.stack.imgur.com/Skc0U.jpg&quot; alt=&quot;Necessity of condition (2)&quot;&gt;&#xA;&lt;p&gt;&#xA;To see this, let $H_i$ for $i=0,1,\ldots,n$ be a DAG consisting of $n+2$ parallel edges&#xA;from $u_i$ to $u_{i+1}$. The $j$-th edge for $j\leq n+1$ is labeled by the edge $x_{i,j}$&#xA;between $i$ and $j$ in $K_n$. The last edge is unlabeled. Let now $G=H_0\circ H_1\circ\cdots\circ H_n$ be the graph&#xA;obtained by connecting these graphs sequentially. Let $s=u_0$ and $t=u_{n+1}$.&#xA;The graph $G$ has only $O(n^2)$ edges.&#xA;&lt;p&gt;&#xA;Now, if $0=j_0\to j_1\to j_2\to\cdots\to j_k\to j_{k+1}=n+1$ is a simple $s$-$t$ path in $K_n$,&#xA;then chose in each $H_{j_i}$ with $i\in\{0,1,\ldots,k\}$ the edge labeled by the edge&#xA;$j_i\to j_{i+1}$, that is, by $x_{j_i,j_{i+1}}$.&#xA;In all the remaining $H_j$'s chose the unlabeled edge. Then the obtained directed path in $G$ represents our path in $K_n$. Note however that $G$ does not satisfy condition (2): say the $s$-$t$ path in $G$ consisting of only unlabeled edges contains no $s$-$t$ path of $K_n$.&#xA;Thus, $G$ cannot be turned into a DP algorithm.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;Has anybody seen something similar&#xA;(cost of turning cyclic graphs into acyclic) being dealt with?&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;hr&gt;&#xA;Footnote$^{\ast}$&#xA;The Bellman-Ford-Moore algorithm for this problem&#xA;  takes as subproblems $f_k(j)$ = length of a shortest path from the source vertex $s=0$&#xA;  to vertex $j$ using at most $k$ edges.  The terminal values are the lengths&#xA;  $f_1(j)=x_{s,j}$ of edges incident to the source vertex.  The DP recursion is:&#xA;  $f_k(j)$ = minimum of $f_{k-1}(j)$ and $f_{k-1}(i)+x_{ij}$ for&#xA;    all $i$.&#xA;&#xA;&lt;hr&gt;&#xA;&lt;b&gt;EDIT&lt;/b&gt; (of 5.01.2013): Yuval Filmus reminded me about one related&#xA;&lt;a href=&quot;http://eccc.hpi-web.de/report/2009/142/&quot; rel=&quot;noreferrer&quot;&gt;result&lt;/a&gt; of&lt;br&gt;&#xA;Aaron Potechin showing that it is important to use DAGs (not undirected graphs)&#xA;to have efficient representations. Namely, if $\vec{K}_n$ is a &lt;b&gt;directed&lt;/b&gt;&#xA;complete graph, and $G$ is an  &lt;b&gt;undirected&lt;/b&gt; graph representing&#xA;all $s$-$t$ paths in  $\vec{K}_n$, then $G$ must have&#xA;$n^{\Omega(\log n)}$ edges. Intuitively, this holds &quot;because&quot; it is difficult to&#xA;ensure condition (2), if $G$ is undirected: then every edge $\{u,v\}$&#xA;may be traversed  (by an $s$-$t$ path in $G$)&#xA;in &lt;i&gt;both&lt;/i&gt; directions, but the label of $\{u,v\}$&#xA;can be consistent with only one of two directed edges $(i,j)$&#xA;and $(j,i)$ in $\vec{K}_n$. Potechin's result implies that&#xA;monotone-$L$ $\neq$ monotone-$NL$.&#xA;Note that, if we allow $G$ be &lt;b&gt;directed&lt;/b&gt;, then&#xA;the construction above gives a&#xA;DAG with $O(n^3)$ edges representing  $\vec{K}_n$.&#xA;&lt;hr&gt;&#xA;&lt;b&gt;NOTE&lt;/b&gt; [added 03.07.2018]: As noted by Neal Young, conditions (1) and (2) alone are not sufficient to get from $G$ a DP algorithm for the shortest s-t paths. For this, condition (1) must be strengthened to: every s-t path $p$ in $K_n$ is represented by some s-t path $q$ in $G$ in a &lt;i&gt;read-once&lt;/i&gt; manner, that is, every edge of $p$ must appear along $q$ exactly once (as label). The graph $G$ arising from the Belman-Ford DP algorithm has this (stronger) property.&lt;/p&gt;&#xA;" OwnerUserId="5788" LastEditorUserId="8237" LastEditDate="2018-07-04T12:35:35.470" LastActivityDate="2018-07-04T12:35:35.470" Title="Combinatorics of Bellman-Ford or how to make cyclic graphs acyclic?" Tags="&lt;graph-theory&gt;&lt;lower-bounds&gt;&lt;directed-acyclic-graph&gt;&lt;dynamic-programming&gt;&lt;shortest-path&gt;" AnswerCount="0" CommentCount="18" FavoriteCount="11" ContentLicense="CC BY-SA 4.0" />
  <row Id="14592" PostTypeId="1" AcceptedAnswerId="14593" CreationDate="2012-12-03T16:09:27.653" Score="7" ViewCount="160" Body="&lt;p&gt;I've read a few different presentations of Cohen's proof. All of them (that I've seen) eventually make a move where a Cartesian product (call it CP) between the (M-form of) $\aleph_2$ and $\aleph_0$ into {1, 0} is imagined. From what I gather, whether $CP \in M$ is what determines whether $\neg$CH holds in M or not such that if $CP \in M$ then $\neg$CH.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Anyway, my question is: Why does this product, CP, play this role? How does it show us that $\aleph_2 \in M$ (the 'relativized' form of $\aleph_2$, not the $\aleph_2 \in V$)? Could not some other set-theoretical object play the same role?&lt;/p&gt;&#xA;" OwnerUserId="10870" LastEditorUserId="10870" LastEditDate="2012-12-03T19:49:23.977" LastActivityDate="2012-12-03T19:49:23.977" Title="Trying understand a move in Cohen's proof of the independence of the continuum hypothesis" Tags="&lt;lo.logic&gt;&lt;set-theory&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="14593" PostTypeId="2" ParentId="14592" CreationDate="2012-12-03T17:00:08.667" Score="14" Body="&lt;p&gt;Our goal is to prove that $\aleph_1 &amp;lt; 2^{\aleph_0}$ in the model $M[G]$, and therefore the Continuum Hypothesis is not true in $M[G]$. This is equivalent to saying that $\aleph_2 \leq 2^{\aleph_0}$. So we need to construct a model $M[G]$ such that there is an injective map $f$ from $\aleph_2$ to $2^{\aleph_0}$ in $M[G]$. Note that each element of  $2^{\aleph_0}$ is a function from $\aleph_0$ to $\{0,1\}$ (by definition). Thus $f(x)$ (the value of $f$ at point $x$) is actually a function that maps a natural number to $\{0,1\}$. In the proof, we treat $f$ as a function of two parameters&#xA;$$h(x,y) = f(x)(y)$$&#xA;where $x\in \aleph_2$ and $y\in \aleph_0$. This is the reason why we want to prove that there exist a function $h$ from $\aleph_2 \times \aleph_0$ to $\{0,1\}$ satisfying certain properties. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The choice of $\aleph_2$ here is not arbitrary. Say, if we wanted to prove that $2^{\aleph_0} &amp;gt; \aleph_{19}$, we would consider functions from $\aleph_{20} \times \aleph_0$ to $\{0,1\}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;BTW, $\aleph_2^M$ is always an element of $M$ and $M[G]$ (for any generic set $G$); on the other hand $\aleph_2$ is usually neither an element of $M$ nor $M[G]$, since $M$ is a &lt;em&gt;countable&lt;/em&gt; transitive model of ZFC (or more precisely is a countable model of a large finite fragment of ZFC). So I'm not sure what you mean in the last paragraph.&lt;/p&gt;&#xA;" OwnerUserId="9929" LastEditorUserId="9929" LastEditDate="2012-12-03T17:24:35.643" LastActivityDate="2012-12-03T17:24:35.643" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="14594" PostTypeId="2" ParentId="14585" CreationDate="2012-12-03T17:13:53.840" Score="7" Body="&lt;p&gt;Well, sure, it's &lt;strong&gt;possible&lt;/strong&gt;.  But since we basically don't know how to prove that &lt;em&gt;anything&lt;/em&gt; is hard, it doesn't look easy.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the mid 90s I proved &lt;a href=&quot;http://compgeom.cs.uiuc.edu/~jeffe/pubs/linsat.html&quot;&gt;an $\Omega(n^2)$ lower bound for 3SUM&lt;/a&gt; in a variant of the linear decision tree model; my proof was later simplified by &lt;a href=&quot;http://www.cs.princeton.edu/~chazelle/pubs/lindegen-jacm.pdf&quot;&gt;Ailon and Chazelle&lt;/a&gt;.  This model of computation has nothing corresponding to &quot;memory&quot;; the running time of an algorithm is defined simply as the worst-case number of (generalized) comparisons.  So adding a cache won't break these lower bounds; to beat $O(n^2)$ time, you have to do some non-obvious &lt;em&gt;computation&lt;/em&gt; with the data in the cache. &lt;/p&gt;&#xA;" OwnerUserId="111" LastActivityDate="2012-12-03T17:13:53.840" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14597" PostTypeId="1" CreationDate="2012-12-03T18:04:37.110" Score="7" ViewCount="178" Body="&lt;p&gt;Has anyone classified the (non-quantum) complexity of the hidden subgroup problem for finite Abelian groups? Is it known to be in any classical (not quantum) complexity classes? &lt;/p&gt;&#xA;" OwnerUserId="7362" LastActivityDate="2012-12-03T22:34:11.440" Title="Complexity of Hidden Subgroup problems" Tags="&lt;complexity-classes&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="14598" PostTypeId="1" CreationDate="2012-12-03T18:13:44.783" Score="8" ViewCount="127" Body="&lt;p&gt;This is a non-uniform (and simplified) version of my &lt;a href=&quot;https://cstheory.stackexchange.com/questions/14450/cook-reduction-for-search-problems-by-universal-property&quot;&gt;previous question about Cook reductions&lt;/a&gt;. Let $R\subseteq \{0,1\}^*\times\{0,1\}$. A function $r\colon \{0,1\}^*\to\{0,1\}$ &lt;em&gt;solves&lt;/em&gt; $R$ if $(x,r(x))\in R$ for all $x\in\{0,1\}^*$. Let $f\colon\{0,1\}^*\to\{0,1\}$. Consider the following two properties.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;There are polynomial-sized circuits using AND,OR,NOT and &quot;$r$&quot; gates, such that for all choices of function $r$ solving $R$, the circuits compute $f$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;For all choices of function $r$ solving $R$, there are polynomial-sized circuits that compute $f$, using AND,OR,NOT and $r$ gates.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Does (2) imply (1)? A negative answer would mean that there's a problem $f$ that can be computed using any particular choices of $r(x)$, but cannot be computed efficiently if we do not fix particular choices of $r(x)$. The funny thing here is that the only obstacles are inputs $x$ with $(x,0),(x,1)\in R$. &lt;/p&gt;&#xA;" OwnerUserId="636" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2012-12-03T18:13:44.783" Title="Can polynomial-sized circuits use garbage?" Tags="&lt;circuit-complexity&gt;&lt;advice-and-nonuniformity&gt;&lt;function&gt;" AnswerCount="0" CommentCount="4" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="14599" PostTypeId="2" ParentId="14445" CreationDate="2012-12-03T18:34:41.000" Score="4" Body="&lt;p&gt;The question was answered by Emil Jerabek at &lt;a href=&quot;https://mathoverflow.net/questions/115275/non-uniform-complexity-of-the-halting-problem&quot;&gt;https://mathoverflow.net/questions/115275/non-uniform-complexity-of-the-halting-problem&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="7030" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2012-12-03T18:34:41.000" CommentCount="1" CommunityOwnedDate="2012-12-06T14:01:09.623" ContentLicense="CC BY-SA 3.0" />
  <row Id="14600" PostTypeId="2" ParentId="2734" CreationDate="2012-12-03T20:09:57.547" Score="6" Body="&lt;p&gt;I thought of this weird reduction (chances that it is wrong are high :-). Idea: reduction from Hamiltonian path on grid graphs with degree $\leq 3$; each node of the planar graph can be shifted in such a way that every &quot;row&quot; ($y$ value) and every &quot;column&quot; ($x$ value) contains at most one node. The graph can be scaled and each node can be replaced by a square gadget with many points; horizontal links between the gadgets (the edges of the original graph) are made using pairs of points on distinct rows, vertical links using pair of points on distinct columns. Node traversals are forced using the &quot;many points&quot; of the square gadgets.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The node gadget is represented in the following figure:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/L4amL.jpg&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It has 3 &quot;interface points&quot; $[W,N,E]$ (on distinct columns/rows), and an inner border of $C \times C$ points. A polyline that traverses the gadget from one interface point to another can have a number of corners that is proportional to $C$ (three traversals of the gadget are shown in the figure), in particular the number of corner points is between $2C$ and $2C+2$ (the total number of points of the gadget is $C \times C - 4 + 6$).&#xA;The gadget can be rotated to get other interface point combinations ($[N,E,S]$, $[E,S,W]$, $[S,W,N]$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now we can shift the planar grid graph in such a way that for every pair of nodes $(x_1,y_1), (x_2,y_2)$, $x_1 \neq x_2$ and $y1 \neq y_2$. See the following figure of a simple $4 \times 3$ grid. Next, we can scale the graph and replace each node with the gadget above. At this stage each gadget is &quot;isolated&quot;: a polyline cannot go from one gadget to another. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/8DksT.jpg&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now we can simulate the edges of the original graph using pairs of points on the bottom or on the right, each pair on a separate row or on a separate column; see the following figure for two adjacent nodes linked horizontally (in a new bottom row two points are added one on the same column of interface point $E$ of the first gadget, the other on the same column of interface point $W$ of the second gadget).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/F1aMk.jpg&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On every gadget there can be max $4 + 2C$ corner points (1 generated by the enter interface point, 1 generated by the exit interface point, 2 generated by the extra turn on straight traversals and 2C on the inner zig-zag), the points used for the edges can generate max $2e$ corner points. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose that the original graph has $n$ nodes and $e$ edges, if we pick $C &amp;gt; (4n+2e)$, and $k = 2Cn$ as the number of corner points that must be used, then we force the &quot;hidden&quot; polygon of the puzzle to traverse every gadget; but every gadget can be entered/exited exactly once (through a pair of interface cells); so the problem has a solution if and only if the original grid graph has an Hamiltonian path. &lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2012-12-03T21:11:15.143" LastActivityDate="2012-12-03T21:11:15.143" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14602" PostTypeId="2" ParentId="14597" CreationDate="2012-12-03T22:34:11.440" Score="4" Body="&lt;p&gt;If $G=\mathbb{Z}_{2}^{n}$ and the hidden subgroup $H$ has order $2$, then finding the hidden subgroup is equivalent to finding two elements in the same coset of $H$. The latter is in turn a birthday paradox-type problem, so should require $\Theta(\sqrt{|G|})$ queries for a randomized algorithm and $\Theta(|G|)$ queries for a deterministic algorithm. Note that $|G|=2^{n}$ is exponential in the input size.&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2012-12-03T22:34:11.440" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="14603" PostTypeId="2" ParentId="14568" CreationDate="2012-12-03T22:52:44.127" Score="10" Body="&lt;p&gt;Another answer, which is in a somewhat different spirit than the previous answers, is this paper of Uri Feige:&#xA;&lt;a href=&quot;http://www.google.com/url?sa=t&amp;amp;rct=j&amp;amp;q=&amp;amp;esrc=s&amp;amp;source=web&amp;amp;cd=3&amp;amp;ved=0CD8QFjAC&amp;amp;url=http://www.wisdom.weizmann.ac.il/~feige/Approx/r3sat.ps&amp;amp;ei=nCq9UJ2QHunkyQHq0YCQDw&amp;amp;usg=AFQjCNEl2WfbgVob8pfzjYEgQYr-dIQxyw&amp;amp;sig2=j_mRu8HLciPsUEw05DRs_g&amp;amp;cad=rja&quot;&gt;Relations between Average Case Complexity and Approximation Complexity&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Uri shows that average case assumptions can replace the PCP theorem for proving hardness of approximation of some problems.&#xA;Note, however, that we don't know how to prove the average-case assumptions, and we have some evidence that we won't be able to prove them based on standard NP-hardness assumptions (see the papers of Feigenbaum-Fortnow, Bogdanov-Trevisan, etc).&lt;/p&gt;&#xA;" OwnerUserId="1621" LastActivityDate="2012-12-03T22:52:44.127" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14604" PostTypeId="2" ParentId="6954" CreationDate="2012-12-04T00:26:47.540" Score="3" Body="&lt;p&gt;For completeness a reference to a proof in this direction.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A.Ehrenfeucht, H.J.Hoogeboom, G.Rozenberg: &#xA;Coordinated pair systems. I: Dyck words and classical pumping&#xA;RAIRO, Inf. Théor. Appl. 20, 405-424 (1986)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Abstract. &#xA;The notion of a coordinated pair system [...] corresponds very closely to (is another formulation of) the notion of a push-down automaton. In this paper we [...] investigate the possibility of obtaining pumping properties of context-free languages via the analysis of computations in cp systems. In order to do this we analyze the combinatorial structure of Dyck words. The properties of Dyck words we investigate stem from the combinatorial analysis of computations in cp systems. We demonstrate how this correspondence can be used for proving the classical pumping lemma.&lt;/p&gt;&#xA;" OwnerUserId="12122" LastActivityDate="2012-12-04T00:26:47.540" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14605" PostTypeId="1" CreationDate="2012-12-04T02:42:50.400" Score="4" ViewCount="285" Body="&lt;p&gt;In recent years there have been major, diverse, sometimes surprising advances in &lt;em&gt;experimental mathematics&lt;/em&gt; [1] for a variety of sophisticated uses such as developing/deriving exact formulas, theorem proving, resolving previously unresolved conjectures (some deep), etc., ie basically core areas of mathematical research activity.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Are there applications of this &quot;experimental mathematics&quot; in TCS/complexity theory?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;[1] &lt;a href=&quot;http://www.ams.org/notices/200505/fea-borwein.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Experimental mathematics: examples, methods, and implications.&lt;/a&gt; by Bailey &amp;amp; Borwein, Notes of the American Mathematical Society, 2005&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] &lt;a href=&quot;https://cstheory.stackexchange.com/questions/524/isexperimental-complexity-theory-being-used-to-solve-open-problems&quot;&gt;Is &amp;quot;Experimental Complexity Theory&amp;quot; being used to solve open problems?&lt;/a&gt;, tcs.se&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[3] &lt;a href=&quot;https://cstheory.stackexchange.com/questions/822/a-reading-list-on-experimental-algorithmics&quot;&gt;A reading list on experimental algorithmics&lt;/a&gt;, tcs.se&lt;/p&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2012-12-04T06:12:46.077" Title="Are there applications of experimental mathematics in TCS?" Tags="&lt;cc.complexity-theory&gt;&lt;application-of-theory&gt;&lt;automated-theorem-proving&gt;&lt;experimental&gt;" AnswerCount="0" CommentCount="0" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="14606" PostTypeId="2" ParentId="14584" CreationDate="2012-12-04T04:26:45.210" Score="2" Body="&lt;p&gt;It seems that there are no recent books or survey papers on online algorithms.&lt;/p&gt;&#xA;" OwnerUserId="9569" LastActivityDate="2012-12-04T04:26:45.210" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14607" PostTypeId="2" ParentId="14565" CreationDate="2012-12-04T07:47:12.180" Score="7" Body="&lt;p&gt;I would like to emphasis &lt;a href=&quot;https://cstheory.stackexchange.com/questions/14565/the-relation-of-godels-incompleteness-theorems-to-the-church-turing-thesis#comment39499_14589&quot;&gt;Neel's comment&lt;/a&gt;, the main tools for both undecidability of halting and Godel's incompleteness theorems are: &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;encoding syntactic concepts like proofs, computation, etc. by numbers/strings and relations/functions over them; &lt;/li&gt;&#xA;&lt;li&gt;Godel's fixed point theorem. &lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;The encoding of syntactic objects and concepts might seem obvious today that we are used to digital computers but it is an ingenious idea essential for universal computers and software. All that is needed for proving existence of a universal simulator are in his paper. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Godel also shows that we can represent these syntactic concepts and generally TM computable relations/functions by simple arithmetical formulas. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Godel's incompleteness proof in short is as follows: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $T$ be a strong enough consistent theory with c.e. axioms, then&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;there is a formula $Provable_T(x)$ in the language of $T$ that represents provability of the formula encoded by $x$ in $T$,&lt;/li&gt;&#xA;&lt;li&gt;by Godel's fixed point theorem, there is a formula $G$ which is a fixed point for $\lnot Provable(x)$, i.e. $T \vdash G \leftrightarrow \lnot Provable_T(\ulcorner G \urcorner)$.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Undecidability of halting problem for TMs uses similar ingredients: &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;there is a TM $Halt(x)$ that recognizes if the TM encoded by $x$ halts,&lt;/li&gt;&#xA;&lt;li&gt;Kleene's fixed point to find a TM $N$ s.t. $N$ accepts iff $\lnot Halt(\langle M \rangle)$ accepts.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Undecidability of halting for TMs gives incompleteness because we can represent $Halt(x)$ in $T$ and we can computably enumerate the theorems of $T$, and if $T$ is complete we can decide whether a given TM halts or not by checking if the corresponding formula is provable in $T$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The reverse is also simple: if a theory $T$ is c.e., then the provability in $T$ is decidable using the halting problem, therefore we could construct a complete theory by just adding more and more formulas whose negations are not provable. Therefore if the halting problem was decidable, then we could have a complete c.e. extension of $T$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The proofs are very similar and use the same ingredients (though for someone whose is more familiar with TMs but not much with logic the undecidability of halting problem might look simpler: the particular instance of fixed point theorem used in the undecidability proof might look simpler than the particular instance of the fixed point used in Godel's theorem though they are essentially the same, but the essential ideas are just encoding syntactic objects and concepts using numbers/strings and formulas/functions about them, and applying a fixed point theorem).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think you can use stronger models of computation for the theorems, you can take computability w.r.t. oracle $O$, consider the halting problem for TM's with access to oracle $O$, and consider arithmetic which has a predicate $P_O(x)$ and axioms defining the graph of $O$. We will have a similar situation for computability with respect to $O$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;ps:&lt;br&gt;&#xA;Note that Godel's theorems are published in 1931, whereas Turing's undecidability is published in 1936. At the time of publication of Godel's paper TMs were not defined and Godel was using another equivalent model. IIRC, Godel was not completely satisfied with his result as settling the original goal of Hilbert's program because he was not convinced that the model of computation he used really captured the intuitive notion of algorithmic computability, he was only satisfied after Turing's philosophical argument about TMs capturing the intuitive notion of algorithmic computability. I think you can read more about this in Godel's collected works.&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.743" LastActivityDate="2012-12-04T23:24:53.327" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14608" PostTypeId="1" AcceptedAnswerId="14615" CreationDate="2012-12-04T10:26:32.047" Score="13" ViewCount="423" Body="&lt;p&gt;It's formulated by extending &lt;a href=&quot;http://www.graphclasses.org/classes/gc_328.html&quot;&gt;threshold graphs&lt;/a&gt;.  Given a threshold graph $(C,I)$ where $C$ is the clique and $I$ is the independent set, my extension is as follows: Each vertex $v\in I$ can be replaced by a new clique $K_v$ such that the vertices of $K_v$ have the same neighbors of $v$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I guess this should have been studied, but it is hard to search such thing in graphclasses.org.  &lt;/p&gt;&#xA;" OwnerUserId="7059" LastEditorUserId="80" LastEditDate="2012-12-04T23:36:50.940" LastActivityDate="2012-12-04T23:36:50.940" Title="Does this graph class have a name ?" Tags="&lt;graph-theory&gt;&lt;graph-classes&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14609" PostTypeId="1" AcceptedAnswerId="14628" CreationDate="2012-12-04T10:55:17.580" Score="14" ViewCount="926" Body="&lt;p&gt;ETH states that SAT cannot be solved in the worst case in subexponential time. What about average case? Are there natural problems in NP that are conjectured to be exponentially hard in the average case?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Take average case to mean average running time with uniform distribution on the inputs.&lt;/p&gt;&#xA;" OwnerUserId="14197" LastEditorUserId="14197" LastEditDate="2015-12-03T06:31:58.677" LastActivityDate="2015-12-03T06:31:58.677" Title="Are there any known NP problems which are conjectured to be exponentially hard on average?" Tags="&lt;cc.complexity-theory&gt;&lt;np&gt;&lt;average-case-complexity&gt;" AnswerCount="4" CommentCount="11" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="14610" PostTypeId="1" CreationDate="2012-12-04T13:52:27.120" Score="14" ViewCount="1139" Body="&lt;p&gt;Consider the $n$ dimensional space $\{0,1\}^n$, and let $c$ be a linear constraint of the form $a_1x_1 + a_2x_2 + a_3x_3 +\ ...\ + a_{n-1}x_{n-1} + a_nx_n \geq k$, where $a_i \in \mathbb{R}$, $x_i \in \{0,1\}$ and $k \in \mathbb{R}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Clearly, $c$ has the effect of splitting $\{0,1\}^n$ in two subsets $S_c$ and $S_{\lnot c}$. $S_c$ contains all and only those points satisfying $c$, whereas $S_{\lnot c}$ contains all and only those points falsifying $c$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assume that $|S_c| \geq n$. Now, let $O$ be a subset of $S_c$ such that all the following three statements hold:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;$O$ contains exactly $n$ points.&lt;/li&gt;&#xA;&lt;li&gt;Such $n$ points are linearly independent.&lt;/li&gt;&#xA;&lt;li&gt;Such $n$ points are those at minimum distance from the hyperplane represented by $c$. More precisely, let $d( x, c )$ be the distance of a point $x \in \{0,1\}^n$ from the hyperplane $c$. Then, $\forall B \subseteq S_c$ such that $B$ satisfies 1 and 2 it is the case that $\sum_{x \in B} d(x, c) \geq \sum_{x \in O} d(x, c)$. In other words $O$ is, among all the subsets of $S_c$ satisfying both conditions 1 and 2, the one that minimizes the sum of the distances of its points from the hyperplane $c$.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Questions&lt;/strong&gt;  &lt;/p&gt;&#xA;  &#xA;  &lt;ol&gt;&#xA;  &lt;li&gt;Given $c$, is it possible to compute $O$ efficiently?  &lt;/li&gt;&#xA;  &lt;li&gt;Which is the best known algorithm to compute it?&lt;/li&gt;&#xA;  &lt;/ol&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;$\ $&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Example with&lt;/strong&gt; $n = 3$  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/snbXL.png&quot; alt=&quot;Example with n = 3&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$S_{\lnot c} = \{ ( 1, 0, 1 ) \}$, $O = \{ ( 0, 0, 1 ), ( 1, 1, 1 ), ( 1, 0, 0 ) \}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\ $&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Update 05/12/2012&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Motivation&lt;/strong&gt;&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;The motivation is that using $O$ it should be possible to determine the optimal constraint $c^*$, as it should be the hyperplane defined by the $n$ points in $O$.  &lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;The optimal constraint $c^*$ is the one that leads to the optimal polytope $P^*$.&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;The optimal polytope $P^*$ is the one whose vertices are all and only the integer vertices of the initial polytope $P$ (an integer vertex is a vertex whose coordinates are all integer).&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/e29WJ.png&quot; alt=&quot;Optimal Formulation&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The process can be iterated for each constraint $c$ of a 0-1 $LP$ instance $I$, each time substituting $c$ with its corresponding optimal constraint $c^*$. At the end, this will lead to the optimal polytope $P^*$ of $I$. Then, since the vertices of $P^*$ are all and only the integer vertices of the initial polytope $P$ of $I$, any algorithm for $LP$ can be used to compute the optimal integer solution. I know that being able to compute $P^*$ efficiently would imply $P = NP$, however the following additional question still stands:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Additional Question&lt;/strong&gt;  &lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;Is there any previous work along these lines? Did anyone already investigated the task of computing, given a polytope $P$, its corresponding optimal polytope $P^*$? Which is the best known algorithm to do that?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="947" LastEditorUserId="947" LastEditDate="2012-12-19T22:16:40.377" LastActivityDate="2013-12-10T04:37:05.203" Title="0-1 Linear Programming: computing the Optimal Formulation" Tags="&lt;reference-request&gt;&lt;co.combinatorics&gt;&lt;optimization&gt;&lt;linear-programming&gt;&lt;convex-optimization&gt;" AnswerCount="2" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="14611" PostTypeId="2" ParentId="14610" CreationDate="2012-12-04T15:24:33.007" Score="6" Body="&lt;p&gt;This seems to be NP-hard to do exactly, by reduction from subset sum. Suppose we had an efficient procedure to compute $O$. Given positive integers $v_1,\dots,v_n$ encoded in binary, we wish to test whether there is a subset summing to $s$. Preprocess by throwing out any integers larger than $s$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Call the procedure to obtain a small set $O$ of points satisfying $v_1x_1+\dots+v_1x_n\leq s$, satisfying your minimality conditions (the preprocessing ensures $|S_c|\geq n$). This set will certainly contain a point on the hyperplane $v_1x_1+\dots+v_1x_n= s$ if there is one.&lt;/p&gt;&#xA;" OwnerUserId="636" LastEditorUserId="636" LastEditDate="2012-12-05T22:41:25.450" LastActivityDate="2012-12-05T22:41:25.450" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="14612" PostTypeId="1" CreationDate="2012-12-04T15:53:01.393" Score="7" ViewCount="327" Body="&lt;p&gt;What is the inapproximability status of Max-One-in-Three SAT for satisfiable instances?&lt;/p&gt;&#xA;" OwnerUserId="8314" LastEditorUserId="567" LastEditDate="2012-12-04T23:33:35.837" LastActivityDate="2012-12-07T16:34:24.197" Title="Inappoximability status of Max One in Three SAT for satisfiable instances" Tags="&lt;sat&gt;&lt;approximation-hardness&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14613" PostTypeId="1" CreationDate="2012-12-04T15:54:32.993" Score="7" ViewCount="594" Body="&lt;p&gt;We do not know yet whether the 2-sided error of $BPP$ allows more computing power than the one sided error of $RP$. In view of derandomization results, the conjectured answer is no, since both classes are conjectured to collapse into $P$. However, not having a proof of that yet, I wonder if there are any results that at least bring $BPP$ closer to $RP$. For example, is there any condition that is known to imply $BPP=RP\cup co-RP$, or $BPP=P^{RP}$, or something similar, but is not known to imply $BPP=RP$?&lt;/p&gt;&#xA;" OwnerUserId="12710" LastActivityDate="2012-12-04T15:54:32.993" Title="Narrowing the gap between BPP and RP" Tags="&lt;complexity-classes&gt;&lt;randomized-algorithms&gt;&lt;derandomization&gt;" AnswerCount="0" CommentCount="12" ContentLicense="CC BY-SA 3.0" />
  <row Id="14614" PostTypeId="2" ParentId="14574" CreationDate="2012-12-04T17:14:37.953" Score="7" Body="&lt;p&gt;The LPN problem is indeed believed to be hard, but like most problems we believe are hard, the main reason for it is that many smart people have tried to find an efficient algorithm and failed.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The best &quot;evidence&quot; for LPN's hardness comes from the high statistical query dimension of the parity problem.  Statistical queries capture most known learning algorithms, except for gaussian elimination (which fails whenever noise is introduced), hashing, and techniques similar to these two.  It is hard to design non statistical-query algorithms, and this is the main bottleneck.  Other evidence of LPN's hardness is its relationship to other hard problems (like LWE, SVP as you've pointed out).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the SQ-hardness, here is the &lt;a href=&quot;http://www.cis.upenn.edu/~mkearns/papers/sq-journal.pdf&quot; rel=&quot;nofollow&quot;&gt;link&lt;/a&gt; to Kearns's ('98) paper. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For progress on the upper bounds on this problem, there are several results:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Probably the most famous is the Blum-Kalai-Wasserman ('00) result which beats the $2^N$ SQ barrier by a little, giving an algorithm that runs in time $2^{n / \log n}$. (&lt;a href=&quot;http://www.google.com/url?sa=t&amp;amp;rct=j&amp;amp;q=&amp;amp;esrc=s&amp;amp;source=web&amp;amp;cd=3&amp;amp;ved=0CE0QFjAC&amp;amp;url=http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.87.1696&amp;amp;rep=rep1&amp;amp;type=pdf&amp;amp;ei=LC6-UOLZHqik2gXMtoHACQ&amp;amp;usg=AFQjCNFvv5tEgKSHF7UrwmvHlW-DiPCvYA&amp;amp;sig2=U3Qh04GHuPGBFHhnDMqm2g&quot; rel=&quot;nofollow&quot;&gt;link&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;li&gt;Lyubashevsky ('05) found an algorithm with worse running time $O(2^{n / \log\log n})$ but better sample complexity of $O(n^{1 + \epsilon})$. (&lt;a href=&quot;http://www.di.ens.fr/~lyubash/papers/parityproblem.pdf&quot; rel=&quot;nofollow&quot;&gt;link&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;li&gt;In the sparse case, where we know the parity is on $k$ variables, Grigorescu-Reyzin-Vempala ('11) gave a $\approx O(n^{0.5 k})$ algorithm, beating the $O(n^k)$ brute-force.  However, this bound decays toward $O(n^k)$ as the noise rate $\eta$ approaches $1/2$. (&lt;a href=&quot;http://www.levreyzin.com/papers/GrigorescuRV11.pdf&quot; rel=&quot;nofollow&quot;&gt;link&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;li&gt;Valiant ('12) recently gave a $\approx O(n^{0.8 k})$ algorithm for the sparse case.  This bound is stronger because it does not decay in the exponent with the noise rate (unlike the GRV result). (&lt;a href=&quot;http://www.cs.berkeley.edu/~gvaliant/papers/corrFOCS.pdf&quot; rel=&quot;nofollow&quot;&gt;link&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="123" LastEditorUserId="123" LastEditDate="2012-12-04T19:39:21.483" LastActivityDate="2012-12-04T19:39:21.483" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14615" PostTypeId="2" ParentId="14608" CreationDate="2012-12-04T18:52:32.353" Score="16" Body="&lt;p&gt;I believe that these are exactly the ($C_4$, $P_4$, $2P_3$)-free graphs — that is, the graphs whose induced subgraphs do not include 4-cycles, 4-vertex paths, or the graphs formed from the disjoint union of two 3-vertex paths. This class seems to lie between the threshold graphs themselves, which may be characterized as the ($C_4$, $P_4$, $2K_2$)-free graphs, and the trivially perfect graphs (intersections of nested intervals), which may be characterized as the ($C_4$, $P_4$)-free graphs. I don't think it has a name; at least, it doesn't seem to be listed at graphclasses.org.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To see that this is the correct characterization, consider the representation of trivially perfect graphs as the transitive closures of rooted forests. A forest gives rise to a (connected) threshold graph if and only if it has a directed path that contains all non-leaf nodes: adding a new isolated vertex corresponds, in the forest, to adding a new single-node tree, which doesn't change this property, and adding a new vertex connected to all of the others corresponds to adding a new root connected to all the previous tree roots, which again doesn't change this property (the new root can be part of the path).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now your clique-replacement operation corresponds, in the tree view of a trivially perfect graph, to subdividing tree edges into paths (or replacing a one-vertex tree by a path). The forests that you can get from this operation are the ones in which there is a single directed path that contains all nodes with two or more children. A forest has such a path if and only if it does not have two unrelated forks (nodes with two or more children, neither of which can reach each other). And the subgraph you get in your trivially perfect graph when there are two forks is exactly $2P_3$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The graphs whose complements are in the class you ask about — that is, the ($2K_2$,$P_4$,co-$2P_3$)-free graphs — were studied by Gurski, who showed that they are the same as the graphs of linear clique-width at most two. See theorem 10 of Gurski, Frank, &quot;Characterizations for co-graphs defined by restricted NLC-width or clique-width operations&quot;, &lt;a href=&quot;http://dx.doi.org/10.1016/j.disc.2005.11.014&quot;&gt;&lt;em&gt;Discrete Math.&lt;/em&gt; 306 (2006), no. 2, 271–277&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="95" LastEditorUserId="95" LastEditDate="2012-12-04T19:08:16.897" LastActivityDate="2012-12-04T19:08:16.897" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="14617" PostTypeId="2" ParentId="14609" CreationDate="2012-12-05T02:13:47.467" Score="6" Body="&lt;p&gt;There are several psuedorandom number generators that we have no polynomial time algorithms for breaking. I guess you could consider them to be hard on average cases. Check out the generators at www.ecrypt.eu.org/stream/  There are others of course, you can research most of them online.&lt;/p&gt;&#xA;" OwnerUserId="10820" LastActivityDate="2012-12-05T02:13:47.467" CommentCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="14618" PostTypeId="2" ParentId="14526" CreationDate="2012-12-05T03:13:41.460" Score="4" Body="&lt;p&gt;I don't know of such a characterization. However, it's worthwhile to note that for almost any concept class, one needs to query all points. To see this, consider the concept class that consists of all n-dimensional boolean vectors with Hamming weight 1. This concept class obviously requires n queries to learn, which is equal to its cardinality. You can probably generalize this observation to get that almost any concept class also requires performing all queries.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would suspect that given a concept class C as input, it is NP-hard to determine the complexity of exactly learning the concept class with membership queries, or even to approximate it up to say a constant. This would give some indication that a &quot;good&quot; combinatorial characterization does not exist. If you wish to prove such an NP-hardness result but try and fail feel free to post here and I'll see if I can figure it out (I have some ideas).&lt;/p&gt;&#xA;" OwnerUserId="12745" LastActivityDate="2012-12-05T03:13:41.460" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14619" PostTypeId="1" AcceptedAnswerId="14624" CreationDate="2012-12-05T10:36:15.373" Score="2" ViewCount="331" Body="&lt;p&gt;Discalimer:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The approach below may be usefull to prove P=NP. I would understand down-voting.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Many NP-complete problems can be encoded in the system of polynomial equations. Some examples are in the introduction &lt;a href=&quot;http://homepages.cwi.nl/~monique/files/moment-ima-update-new.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;here&lt;/a&gt;. Basically the idea is to encode binary variables in the equations $f_k= x_k^2-1= 0$, or $f_k = x_k^2-x_k=0$, and add one or more equations ($g_k=0 $) encoding satisfiability problem. Since the system can have exponentially many solutions finding them is hard. On the other hand, we can try to figure out if the system has solutions at all. One of the approaches is &lt;a href=&quot;http://www.math.ucdavis.edu/~deloera/RECENT_WORK/jsc09_issac08.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;to use &lt;em&gt;Nulstellensatz&lt;/em&gt; certificate&lt;/a&gt;, e.g. find the set of polynomials $P_k, P'_k  \in \mathbb{K}[x_1,...x_n]$, where $\mathbb{K} $ is an algebraically closed field, for example $\mathbb{C} $ such that the following equation is satisfied $1= \sum_k P_k f_k +\sum_m P'_m g_m$. The problem with this approach is that one need very high degree polynomials $P_k, P'_k $ and the certificate has exponentially many monomials. The intuition here is following. The problem is hard since all variables are influencing other variables, otherwise the problem can be split into independent subproblems. Since all of them are important the term with monomial $x_1 ... x_n$ has to appear in the certificate. That lead to the certificate of degree $n$, which has too many monomials.&lt;a href=&quot;https://cstheory.stackexchange.com/questions/14073/semiprime-factorization-groebner-bases-and-a-nullstellensatz-certificate&quot;&gt;There is no clear way of selecting right monomials&lt;/a&gt;, and we need to use all of them. So the problem is that by increasing the degree of certificate the &quot;mixing&quot; of variables is too slow - we introduce too much noise - too many problem irrelevant tautologies!!! And we need a way to speed-up mixing of the variables.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We do usual trick of linearizing quadratic equations in terms of quadratic monomials (for 3-SAT we need cubic monomials), e.g. $y_{x_k,x_m}= x_k x_m,\ k, m = 0..n,\ x_0=1 $. This linear system has $\approx n^2$ linear variables (monomials), and $\approx n$ equations, e.g. highly under-complete. The solution of this (homogenised) linear system is $\approx n^2 $ dimensional projective space. The original system has a solution iff there is a point $c \in \mathbb{C}^{\approx n^2}$ in this projective space such that all corresponding equations on $y_{x_k,x_m} = y_{x_0,x_k} y_{x_0, x_m}, y_{0,0}=1$  are satisfied. These are quadratic equations on $c$, so we can write all the quadratic in $c$ constraints $y_{x_k,x_m} y_{x_p,x_q}= y_{x_k,x_p} y_{x_m,x_q}= y_{x_k,x_q} y_{x_p,x_m}$ (tautologies). Therefore, we have $\approx \frac{2}{3} n^4 $ quadratic equations with $\approx n^2 $ indeterminates $c_k$. Now we have equivalent, in terms of satisfiability, system of quadratic equations with $O(n^4)$ equations and $O(n^2)$ variables $c_k$, In other words, now we have $O(1)$ equations in terms of the number of quadratic in monomials, and the system is almost complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now we can write &lt;em&gt;Nulstellensatz&lt;/em&gt; certificate for the new system of tautologies in terms of $c_k$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Q1. Does anyone see a simple way of proving fixed certificate degree for the new &quot;almost complete&quot; system?&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any relevant references are appreciated.&lt;/p&gt;&#xA;" OwnerUserId="3573" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2012-12-05T15:09:30.980" Title="Proof of Nullstellensatz certificate degree" Tags="&lt;cc.complexity-theory&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14620" PostTypeId="1" CreationDate="2012-12-05T11:19:22.947" Score="6" ViewCount="223" Body="&lt;p&gt;I would like to know if somebody has studied the following very simple fragment of the modal mu-calculus:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$F::= X \;| \; p \; | \; F \wedge G \; | \; [a]F \; | \; \nu X.F$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where p ranges over propositional letters. In other words this is the mu-calculus where no disjunction, diamond or least fixed point operators are ever used.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is a almost trivial fragment, of course. But i'm interested in the following two questions:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A) Is it true that if F is satisfiable, then it is satifiable in a finite model such that every vertex $X$ in the labeled Kripke structure has at most one $a$-labeled children?&#xA;i.e., such that $X\xrightarrow{a}Y$ and $X\xrightarrow{a}Z$ then $Y=Z$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;B) What is the complexity of the satisfiablity problem for this logic?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;C) What is the complexity of model checking?&lt;/p&gt;&#xA;" OwnerUserId="12748" LastEditorUserId="77" LastEditDate="2012-12-05T18:34:22.623" LastActivityDate="2012-12-06T12:52:04.443" Title="Fragments of the mu calculus" Tags="&lt;lo.logic&gt;&lt;mu-calculus&gt;" AnswerCount="2" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14621" PostTypeId="1" AcceptedAnswerId="14635" CreationDate="2012-12-05T11:37:04.437" Score="19" ViewCount="10271" Body="&lt;p&gt;In distributed computing, the consensus problem seems to be one of the central topics which has attracted intensive research. In particular, the paper &quot;Impossibility of Distributed Consensus with One Faulty Process&quot; received the &lt;a href=&quot;http://www.podc.org/influential/2001-influential-paper/&quot;&gt;2001 PODC Influential Paper Award&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So why is the consensus problem so important? What can we achieve with consensus both in theory and in practice? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any references or expositions would be really helpful.&lt;/p&gt;&#xA;" OwnerUserId="12739" LastEditorUserId="4193" LastEditDate="2013-02-06T17:36:40.137" LastActivityDate="2016-02-22T17:17:50.300" Title="Why is the consensus problem so important in distributed computing?" Tags="&lt;reference-request&gt;&lt;big-picture&gt;&lt;dc.distributed-comp&gt;" AnswerCount="4" CommentCount="0" FavoriteCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="14622" PostTypeId="2" ParentId="14621" CreationDate="2012-12-05T13:14:12.717" Score="7" Body="&lt;p&gt;It shows that there are no fault-tolerant deterministic algorithm. Quite a strong theoretical result, which forces designers to deal differently with fault-tolerance, some of which are synchronization and randomization. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Comment: In my opinion, synchronization is an additional assumption of the system that are hardly found in practical applications. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For references, check &lt;a href=&quot;http://en.wikipedia.org/wiki/Consensus_%28computer_science%29#Applications_of_consensus_protocols&quot;&gt;the Wikipedia link&lt;/a&gt;. &#xA;Check also this &lt;a href=&quot;http://jsaia.wordpress.com/2009/08/21/consensus/&quot;&gt;blog&lt;/a&gt; for practical applications &lt;/p&gt;&#xA;" OwnerUserId="5411" LastEditorUserId="5411" LastEditDate="2012-12-06T21:33:56.540" LastActivityDate="2012-12-06T21:33:56.540" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="14623" PostTypeId="2" ParentId="14526" CreationDate="2012-12-05T14:30:39.677" Score="6" Body="&lt;p&gt;To drive home the point of anonymous moose's example, consider the concept class that consists of functions that output 1 on only one point in {0,1}^n. The class is of size 2^n, and 2^n queries are needed in the worst-case. Take a look at worst-case Teaching Dimension (Goldman &amp;amp; Schapire) which provides something similar to what you're looking for.&lt;/p&gt;&#xA;" OwnerUserId="12751" LastActivityDate="2012-12-05T14:30:39.677" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14624" PostTypeId="2" ParentId="14619" CreationDate="2012-12-05T15:09:30.980" Score="3" Body="&lt;p&gt;The research area relevant to your question is &lt;em&gt;propositional proof complexity&lt;/em&gt;, more specifically &lt;em&gt;algebraic proof systems&lt;/em&gt;. Nullstellensatz is in fact only one of a family of proof systems which includes also the &lt;em&gt;polynomial calculus&lt;/em&gt; (PC), &lt;em&gt;polynomial calculus with resolution&lt;/em&gt; (PCR), and a proof system which has received some notice from a surprising directions, the &lt;em&gt;sum of squares&lt;/em&gt; (SoS) system.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Unfortunately, I wasn't able to find a recent survey of algebraic proof systems. Toni Pitassi has an old &lt;a href=&quot;http://www.cs.toronto.edu/~toni/Papers/pitassi-algebraic.ps&quot; rel=&quot;nofollow&quot;&gt;survey&lt;/a&gt;, but there are many results not mentioned there. There is some material in the more general &lt;a href=&quot;http://homes.cs.washington.edu/~beame/papers/eatcs-survey.ps&quot; rel=&quot;nofollow&quot;&gt;survey&lt;/a&gt; by Paul Beame and Toni Pitassi. Some more recent results are referenced in a &lt;a href=&quot;http://www.math.cas.cz/~pudlak/fall-school09.pdf&quot; rel=&quot;nofollow&quot;&gt;lecture&lt;/a&gt; by Pavel Pudlák.&lt;/p&gt;&#xA;" OwnerUserId="40" LastActivityDate="2012-12-05T15:09:30.980" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="14626" PostTypeId="2" ParentId="14612" CreationDate="2012-12-05T18:19:44.553" Score="12" Body="&lt;p&gt;The most relevant paper I know is &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&quot;The Complexity of Making Unique Choices: Approximating 1-in-k SAT&quot; by Guruswami and Trevisan &lt;a href=&quot;http://theory.stanford.edu/~trevisan/pubs/gt05.pdf&quot;&gt;(link)&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;They give an algorithm for satisfiable instances which for $k=3$ would achieve a ratio of $\frac{4}{9}$, beating the random assignment. They also mention that 1-in-3 SAT is $\frac{5}{6}$-inapproximable, but I'm not sure if that applies to satisfiable instances. They cite Guruswami's Master's thesis for this.&lt;/p&gt;&#xA;" OwnerUserId="3168" LastActivityDate="2012-12-05T18:19:44.553" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14627" PostTypeId="2" ParentId="14609" CreationDate="2012-12-05T18:21:05.657" Score="0" Body="&lt;p&gt;my understanding is that while there are some candidates from the theory of unbreakability of cryptography and random number generators [eg some cited in Razborov/Rudich, Natural Proofs], most aspects of your question are acknowledged as basically key &quot;still open&quot; questions by experts in the field. from the introduction to the comprehensive survey, &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/1933019492&quot; rel=&quot;nofollow&quot;&gt;&lt;em&gt;Average Case Complexity&lt;/em&gt;&lt;/a&gt; by Bogdanov and Trevisan (2006) has some related points. Trevisan's &lt;a href=&quot;http://www.youtube.com/watch?v=Yo-naUur464&quot; rel=&quot;nofollow&quot;&gt;youtube lecture on findings and open questions of average case complexity&lt;/a&gt; may also be helpful.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Applying the theory to natural&#xA;  distributional problems remain an outstanding open question.&lt;br&gt;&#xA;  ...&lt;br&gt;&#xA;  A major open question is whether the existence of hard-on-average&#xA;  problems in NP can be based on the P$\neq$NP assumption or on related&#xA;  worst-case assumptions. We review negative results showing that certain&#xA;  proof techniques cannot prove such a result.&lt;br&gt;&#xA;  ...&lt;br&gt;&#xA;  In particular, a long-standing open question is whether it is possible&#xA;  to base the existence of one-way functions on the P$\neq$NP assumption,&#xA;  or related ones (such as NP-complete problems not allowing polynomial&#xA;  size circuits).&lt;br&gt;&#xA;  ...&lt;br&gt;&#xA;  The right techniques to apply such a theory to natural problems and&#xA;  distributions have not been discovered yet. From this point of view, the&#xA;  current state of the theory of average-case complexity in NP is similar&#xA;  to the state of the theory of inapproximability of NP optimization&#xA;  problems before the PCP Theorem.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2012-12-05T18:21:05.657" CommentCount="10" ContentLicense="CC BY-SA 3.0" />
  <row Id="14628" PostTypeId="2" ParentId="14609" CreationDate="2012-12-05T18:34:53.953" Score="13" Body="&lt;p&gt;It might be conjectured that the Learning Parity with Noise Problem (LPN) at constant error rate requires time $2^{n^{1-o(1)}}$.  The fastest known algorithm (Blum-Kalai-Wasserman) uses time $2^{O(n/\log n)}$.&lt;/p&gt;&#xA;" OwnerUserId="661" LastActivityDate="2012-12-05T18:34:53.953" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="14629" PostTypeId="2" ParentId="14620" CreationDate="2012-12-05T18:49:07.623" Score="0" Body="&lt;p&gt;I don't have any proofs, but I suspect the following. &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;The satisfiability problem is trivial: all closed formula are satisfiable. This can be demonstrated by constructing a model in the following way based on the structure of the formula.&#xA;Assume that $s$ is the state which is the current focus of the algorithm. Start from a model with a single state and no transitions. In state $s$:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;For $p$, set $p$ in the current state. &lt;em&gt;In fact, I can set all $p$ to be true in all states, as I can never ask whether $\lnot p$ holds.&lt;/em&gt;&lt;/li&gt;&#xA;&lt;li&gt;For $F\land G$, process $F$ starting from  state $s$, then again from state $s$, process $G$.&lt;/li&gt;&#xA;&lt;li&gt;For $[a]F$ if there is an $a$ transition, follow it and ensure that $F$ holds in the resulting state. Otherwise, add a new state $t$ and an $a$ transition to it from state $s$, and ensure that $F$ is satisfied in $s$. &lt;/li&gt;&#xA;&lt;li&gt;For $\nu X.F$, remember that $X$ corresponds state $s$. Perform the construction to satisfy $F$, and whenever $X$ is seen in $F$ make the state the same as the one corresponding to $X$.&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;A) is true. The above construction can be modified to ensure that if an $a$ edge exists already from a given state.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;B) is constant time, as all (closed) formula are satisfiable. (Or time proportional to the size of the formula if you need to check that it is well-formed.)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Not sure about C). Probably not very complex.&lt;/p&gt;&#xA;" OwnerUserId="77" LastEditorUserId="77" LastEditDate="2012-12-06T12:52:04.443" LastActivityDate="2012-12-06T12:52:04.443" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="14630" PostTypeId="1" AcceptedAnswerId="14718" CreationDate="2012-12-05T20:14:53.083" Score="13" ViewCount="866" Body="&lt;p&gt;This question is about quadratic programming problems with box constraints (box-QP), i.e., optimisation problems of the form&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;minimise $f(\mathbf{x}) = \mathbf{x}^T A \mathbf{x} + \mathbf{c}^T \mathbf{x}$ subject to $\mathbf{x} \in [0,1]^n$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;If $A$ was positive semi-definite, then everything would be nice and convex and easy, and we could solve the problem in polynomial time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, if we had the integrality constraint $\mathbf{x} \in \{0,1\}^n$, we could easily solve the problem in time $O(2^n \cdot \mathrm{poly}(n))$ by brute force. For the purposes of this question, this is reasonably fast.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But what about the non-convex continuous case? What is the fastest known algorithm for general box-QPs?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, can we solve these in moderately exponential time, e.g., $O(3^n \cdot \mathrm{poly}(n))$, or is the worst-case complexity of the best known algorithms something much worse?&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Background:&lt;/strong&gt; I have some fairly small box-QPs that I would actually like to solve, and I was a bit surprised to see how poorly some commercial software packages perform, even for very small values of $n$. I started to wonder if there is a TCS explanation for this observation.&lt;/p&gt;&#xA;" OwnerUserId="74" LastActivityDate="2012-12-13T09:05:55.103" Title="Exact algorithms for non-convex quadratic programming" Tags="&lt;ds.algorithms&gt;&lt;optimization&gt;&lt;exp-time-algorithms&gt;" AnswerCount="1" CommentCount="8" FavoriteCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14631" PostTypeId="2" ParentId="14609" CreationDate="2012-12-05T21:56:58.963" Score="12" Body="&lt;p&gt;It's not quite the same as &quot;every algorithm&quot;, but in SODA'04 Achlioptas Beame and Molloy suggested that every backtracking algorithm should require exponential time on random 3SAT instances with $n$ variables and $cn$ clauses, with $c$ chosen within a range of values near the satisfiability threshold.&lt;/p&gt;&#xA;" OwnerUserId="95" LastEditorUserId="95" LastEditDate="2012-12-05T23:48:00.683" LastActivityDate="2012-12-05T23:48:00.683" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="14632" PostTypeId="1" AcceptedAnswerId="14695" CreationDate="2012-12-05T22:05:55.883" Score="2" ViewCount="2252" Body="&lt;p&gt;I am currently researching ways to define the semantics of programs for some ideas I have for a new programming language. Most ways to define semantics involve mapping the programming language syntax representation of a program to some semantic specification. I dislike this approach, because the syntax restricts what semantics you are able to express and it often results in the under and over specification of the semantics.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Instead of thinking of a programming language in terms of syntax constructs and their corresponding semantics, I want to focus on semantics first, syntax, although important to be able to best read and write programs and ultimately necessary to formulate the semantics, is of lesser importance. But in order to do so, I need a language that is capable of defining the semantics as accurately as possible. This semantic language should not be a programming language by itself, because its main purpose is defining semantics accurately, not computations. So I think most formal semantic specifications do not comply to these requirements, because they focus on extracting semantics out of existing programs instead of defining them as accurately as possible in the first place. Therefore I would like to ask the following question:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&quot;Are there any languages or methods that focus mainly on expressing formal and&#xA;  informal semantics of an algorithm as accurately as possible?&quot;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;During my research I was reading &quot;Formal Syntax and Semantics of Programming Languages&quot; by Kenneth Slonneger which include some chapters about the different ways to define the semantics for a programming language. In chapter 11 (Axiomatic Semantics), page 397, he states that &quot;Extensive literature has dealt with the difficult problem of accurate specifications of algorithms.&quot;. But I have a difficult time finding literature that is specific about &quot;accurate specifications of algorithms&quot;. Therefore my second question is as follows:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&quot;Do you know about any literature that specificly talks about how to&#xA;  define accurate specifications of algorithms?&quot;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit:&lt;/strong&gt; To make more clear what I mean by &quot;expressing semantics of an algorithm as accurately as possible&quot; I will give an example. If with axiomatic semantics the following pre and post conditions were given:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;pre  = m &amp;gt;= 0 and n &amp;gt;= 0&#xA;post = minimum &amp;lt;= m and minimum &amp;lt;= n and minimum &amp;gt;= 0&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Then the following function would comply:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;minimum m n = 0&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;But this does not capture the intent the person writing the specification had.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&quot;Do you know of methods that could capture this intent more accurately?&quot;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="12306" LastEditorUserId="12306" LastEditDate="2012-12-07T11:41:10.460" LastActivityDate="2013-11-23T14:37:00.813" Title="How to define the formal and informal semantics of an algorithm as accurately as possible?" Tags="&lt;pl.programming-languages&gt;&lt;semantics&gt;" AnswerCount="3" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="14633" PostTypeId="1" AcceptedAnswerId="14637" CreationDate="2012-12-05T23:58:16.490" Score="8" ViewCount="409" Body="&lt;p&gt;It is now a well known observation that many graphical structures that arise in natural settings tend to obey scale-free properties, such as the power law of degree distribution. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there any good example of natural graphs that are fairly random and not do not necessarily obey scale-free properties?&lt;/p&gt;&#xA;" OwnerUserId="5868" LastActivityDate="2012-12-06T16:56:38.220" Title="Natural graphs that are not scale free" Tags="&lt;graph-theory&gt;&lt;ni.networking-internet&gt;" AnswerCount="3" CommentCount="0" FavoriteCount="2" CommunityOwnedDate="2012-12-06T19:45:10.150" ContentLicense="CC BY-SA 3.0" />
  <row Id="14635" PostTypeId="2" ParentId="14621" CreationDate="2012-12-06T04:52:48.267" Score="17" Body="&lt;p&gt;The paper you mention is important for 2 reasons:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;It shows that there is no &lt;strong&gt;asynchronous&lt;/strong&gt; deterministic consensus algorithm that tolerates even a single crash fault. Note that in the &lt;strong&gt;synchronous&lt;/strong&gt; setting,there is a deterministic algorithm that terminates in $f+1$ rounds when $\le f$ processes crash.&lt;/li&gt;&#xA;&lt;li&gt;It introduces &lt;em&gt;bivalence&lt;/em&gt; and &lt;em&gt;univalence&lt;/em&gt; of configurations (*), which are used in many lower bounds and impossibility proofs later on. &lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Applications&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One important application of the consensus problem is the election of a coordinator or leader in a fault-tolerant environment for initiating some global action. A consensus algorithm allows you to do this on-the-fly, without fixing a &quot;supernode&quot; in advance (which would introduce a single point of failure). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another application is maintaining consistency in a distributed network: Suppose that you have different sensor nodes monitoring the same environment. In the case where some of these sensor nodes crash (or even start sending corrupted data due to a hardware fault), a consensus protocol ensures robustness against such faults.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;(*) A run of a distributed algorithm is a sequence of configurations. A configuration is a vector of the local states of the processes. Each process executes a deterministic state machine. Any correct consensus algorithm must eventually reach a configuration where every process has decided (irrevocably) on the same input value. A configuration $C$ is $1$-&lt;em&gt;valent&lt;/em&gt; if, no matter what the adversary does, all possible extensions of $C$ lead to a decision value of $1$. Analogously, we can define $0$-&lt;em&gt;valency&lt;/em&gt;. A configuration $C$ is &lt;em&gt;bivalent&lt;/em&gt; if both decisions are reachable from $C$ (which one of the two is reached depends on the adversary). Clearly, no process can have decided in a bivalent configuration $C$, as otherwise we get a contradiction to agreement! So if we can construct an infinite sequence of such bivalent configurations, we have shown that there is no consensus algorithm in this setting.&lt;/p&gt;&#xA;" OwnerUserId="6785" LastEditorUserId="6785" LastEditDate="2012-12-12T03:38:35.397" LastActivityDate="2012-12-12T03:38:35.397" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="14636" PostTypeId="2" ParentId="14633" CreationDate="2012-12-06T06:07:56.270" Score="3" Body="&lt;p&gt;Although I am not sure what you mean by &quot;random&quot;, obvious natural non-scale-free graphs are the road networks.&lt;/p&gt;&#xA;" OwnerUserId="3825" LastActivityDate="2012-12-06T06:07:56.270" CommentCount="2" CommunityOwnedDate="2012-12-06T19:45:10.150" ContentLicense="CC BY-SA 3.0" />
  <row Id="14637" PostTypeId="2" ParentId="14633" CreationDate="2012-12-06T06:33:52.230" Score="7" Body="&lt;p&gt;The connections between neurons do not form scale-free networks, I think. See e.g. Figure 1 on p.181 of &lt;a href=&quot;http://www.indiana.edu/~cortex/Koetter_chapter_modified.pdf&quot;&gt;http://www.indiana.edu/~cortex/Koetter_chapter_modified.pdf&lt;/a&gt; and observe that the vertex degrees only span a single order of magnitude.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2012-12-06T06:33:52.230" CommentCount="0" CommunityOwnedDate="2012-12-06T19:45:10.150" ContentLicense="CC BY-SA 3.0" />
  <row Id="14638" PostTypeId="2" ParentId="14632" CreationDate="2012-12-06T06:48:25.600" Score="6" Body="&lt;p&gt;I don't know how you can define the informal semantics as accurately as possibly, but there does exist machinery for defining semantics that is purely, well, semantic. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Your semantics could be based on mathematical functions, relations, or domains. Indeed, the style of semantics known as Denotational Semantics builds upon these (and other) semantic notions by mapping the syntax in a compositional fashion to some semantic domain. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you don't want syntax for your programming language, then start directly with the semantic domains (for example, those from Domain Theory). In this setting, each type in your programming language will be represented by a semantic domain and algorithms will then be functions from one type to another.&lt;/p&gt;&#xA;" OwnerUserId="77" LastActivityDate="2012-12-06T06:48:25.600" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14639" PostTypeId="2" ParentId="14620" CreationDate="2012-12-06T08:32:52.527" Score="2" Body="&lt;p&gt;To answer the first part of your question &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;a href=&quot;http://hal.inria.fr/inria-00070396/PDF/RR-5612.pdf&quot; rel=&quot;nofollow&quot;&gt;Modal specifications are a syntactic fragment of the Mu-calculus&lt;/a&gt;, Guillaume Feuillade, 2005.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;From the introductory paragraph&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;As a consequence, we define a syntactic fragment of the Mu-calculus, called the conjunctive modal Nu calculus, ...In this report, we prove that the conjunctive modal Nu-calculus and modal specifications have the same expressive power and that we can switch between both without loss of generality. We also prove that the set of models of a modal specification is a lattice with finite models as extrema. &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;You should examine the details, particularly because the notion of a modal specification is not standard, and is defined in the article.&lt;/p&gt;&#xA;" OwnerUserId="4155" LastActivityDate="2012-12-06T08:32:52.527" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="14641" PostTypeId="1" AcceptedAnswerId="14655" CreationDate="2012-12-06T11:17:13.307" Score="8" ViewCount="326" Body="&lt;p&gt;The language of &lt;code&gt;while&lt;/code&gt; programs can express the computably enumerable functions.  (This is true even if the only arithmetical operations on variables are, say, incrementation and decrementation.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If &lt;code&gt;while&lt;/code&gt; is replaced by &lt;code&gt;for&lt;/code&gt;, making loops always bounded, the language can then express only the primitive recursive functions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I recently became aware of the class of &lt;a href=&quot;http://en.wikipedia.org/wiki/ELEMENTARY&quot;&gt;elementary functions&lt;/a&gt;, which are strictly below the primitive recursive functions, but still strictly above the exponential hierarchy.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Obviously it would be possible to define an imperative programming language which captures exactly the elementary functions, say by introducing operators for bounded sum and product.  However, my question is,&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there a syntactic change to the language of &lt;code&gt;while&lt;/code&gt; programs which restricts it to the elementary functions and which can be stated as simply as the (&lt;code&gt;while&lt;/code&gt; -&gt; &lt;code&gt;for&lt;/code&gt;) restriction to primitive recursive functions?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;A restriction on &lt;code&gt;for&lt;/code&gt; programs instead would also suffice, of course, and perhaps I should clarify that I'm not looking for something that is &lt;em&gt;absolutely&lt;/em&gt; as simply-stated, just something with comparable simplicity which does not require the addition of extra operators or the like.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit&lt;/strong&gt;: An example of a representative &lt;code&gt;for&lt;/code&gt; language is PL-{GOTO} from Brainerd and Landweber's &quot;Theory of Computation&quot; (1974), in which each program has a finite but unrestricted number of variables, each of which can contain a natural number, and which consists essentially of the following commands:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;X &amp;lt;- 0&lt;/code&gt; (assign 0 to a variable)&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;X &amp;lt;- Y&lt;/code&gt; (assign the value of &lt;code&gt;Y&lt;/code&gt; to &lt;code&gt;X&lt;/code&gt;)&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;X &amp;lt;- Y + 1&lt;/code&gt; (assign the successor of the value of &lt;code&gt;Y&lt;/code&gt; to &lt;code&gt;X&lt;/code&gt;)&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;LOOP X; ... END;&lt;/code&gt; (repeat the contained block of code &lt;code&gt;X&lt;/code&gt; times; does not alter &lt;code&gt;X&lt;/code&gt;)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The authors give a proof that this can express exactly the primitive recursive functions.  The language PL does not match the question perfectly, as it uses &lt;code&gt;GOTO&lt;/code&gt; instead of &lt;code&gt;while&lt;/code&gt;, and PL-{GOTO} is derived from PL by removing &lt;code&gt;GOTO&lt;/code&gt; from it.  However, PL programs are just as powerful as &lt;code&gt;while&lt;/code&gt; programs, and this &lt;code&gt;GOTO&lt;/code&gt;-removal transformation is just as simply stated as replacing &lt;code&gt;while&lt;/code&gt; with &lt;code&gt;for&lt;/code&gt;.  (Arguably perhaps even a bit simpler.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit 2&lt;/strong&gt;: &lt;a href=&quot;http://en.wikipedia.org/wiki/Total_Turing_machine&quot;&gt;http://en.wikipedia.org/wiki/Total_Turing_machine&lt;/a&gt; suggests this result goes back to: Meyer, A.R., Ritchie, D.M. (1967), &lt;em&gt;The complexity of loop programs&lt;/em&gt;, Proc. of the ACM National Meetings, 465.&lt;/p&gt;&#xA;" OwnerUserId="12747" LastEditorUserId="12747" LastEditDate="2012-12-06T14:12:51.690" LastActivityDate="2012-12-08T04:58:57.213" Title="Simply-stated restriction on imperative programming language that captures the elementary functions?" Tags="&lt;cc.complexity-theory&gt;&lt;computability&gt;&lt;pl.programming-languages&gt;" AnswerCount="2" CommentCount="3" FavoriteCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14642" PostTypeId="1" CreationDate="2012-12-06T13:19:53.803" Score="4" ViewCount="134" Body="&lt;p&gt;In multiprocessor programming, consistency model is the key concept to express the correctness of concurrent objects ranging from simple read/write shared variable to concurrent data structures like FIFO, SkipList, etc.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think I can understand the principle underlying consistency model when it is treated as an abstract specification of correctness. I am also able to check an execution of some concurrent object against a specific consistency model.       &lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, when I want to explore more about multiprocessor programming, especially when it comes to the layers of the hardware, operating system, compiler, and virtual machines (JVM, for example), I am totally confused.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;At the hardware level, there is only one main memory while each processors holds its own caches. As a consequence, so called cache coherence problem arises and many protocols are proposed to address it. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;code&gt;What is the relation between cache coherence and consistency model?&lt;/code&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Up to the operating system and compiler, processes are interleaved and method calls may be reordered for optimization. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;code&gt;Do these make consistency model indispensable?&lt;/code&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;At the programming language level, I know there is Java Memory Model and it does not enforce Sequential consistency. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;code&gt;What does it mean for JVM to follow some given consistency model?&lt;/code&gt;&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;In summary, what are the parts of consistency model playing in hardware, operating system, and programming language? &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I don't understand the whole story and very confused.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thank you for any suggestions and references.&lt;/p&gt;&#xA;" OwnerUserId="12739" LastEditorUserId="12739" LastEditDate="2015-01-10T11:22:58.617" LastActivityDate="2015-01-10T11:22:58.617" Title="What are the parts of consistency model playing in hardware, operating system, and programming language?" Tags="&lt;pl.programming-languages&gt;&lt;dc.parallel-comp&gt;&lt;concurrency&gt;" AnswerCount="0" CommentCount="7" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14643" PostTypeId="2" ParentId="14633" CreationDate="2012-12-06T16:56:38.220" Score="7" Body="&lt;p&gt;The network topology of wireless ad hoc networks and wireless sensor networks are often captured by a random geometric graph. This means, picking random points in a planar domain, and connecting any two that are within a certain distance threshold. These graphs have Poisson degree distributions, even though they are quite different from the Erdos-Renyi random graphs, and they arise naturally as a network model.&lt;/p&gt;&#xA;" OwnerUserId="12710" LastActivityDate="2012-12-06T16:56:38.220" CommentCount="0" CommunityOwnedDate="2012-12-06T19:45:10.150" ContentLicense="CC BY-SA 3.0" />
  <row Id="14645" PostTypeId="1" CreationDate="2012-12-06T17:00:28.013" Score="2" ViewCount="117" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Possible Duplicate:&lt;/strong&gt;&lt;br&gt;&#xA;  &lt;a href=&quot;https://cstheory.stackexchange.com/questions/6660/polynomial-time-algorithms-with-huge-exponent-constant&quot;&gt;Polynomial-time algorithms with huge exponent/constant&lt;/a&gt;  &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&#xA;&#xA;&lt;p&gt;In many texts you find statements like 'The class P characterizes the problems that are &lt;em&gt;efficiently&lt;/em&gt; solvable. Even though $n^{100}$ algorithms are in P, these don't occur in practice'.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Today I came across a $n^{120}$ algorithm for a problem where, apparently, no better algorithm is known: Recognizing Map Graphs &lt;a href=&quot;http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=00743490&quot; rel=&quot;nofollow noreferrer&quot;&gt;Reference&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then there are algorithms with huge constants like the graph minor algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Do you know of any other problems where the best known algorithm is polynomial, but terribly impractical?&lt;/p&gt;&#xA;" OwnerUserId="12560" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2012-12-06T19:42:07.580" Title="Impractical problems in P" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;big-list&gt;" AnswerCount="0" CommentCount="1" FavoriteCount="0" ClosedDate="2012-12-06T19:40:26.913" ContentLicense="CC BY-SA 3.0" />
  <row Id="14646" PostTypeId="2" ParentId="6660" CreationDate="2012-12-06T17:25:46.710" Score="11" Body="&lt;p&gt;There are some nonconstructive algorithms, most notably &lt;a href=&quot;http://dx.doi.org/10.1145/44483.44491&quot; rel=&quot;nofollow&quot;&gt;Fellows and Langston&lt;/a&gt;&lt;strike&gt; and &lt;a href=&quot;http://dx.doi.org/10.1016/0890-5401%2890%2990043-H&quot; rel=&quot;nofollow&quot;&gt;Courcelle's theorem&lt;/a&gt;&lt;/strike&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, &lt;a href=&quot;http://dx.doi.org/10.1137/S0097539793251219&quot; rel=&quot;nofollow&quot;&gt;Bodlaender's linear-time algorithm&lt;/a&gt; for tree-width  and &lt;a href=&quot;http://dx.doi.org/10.1016/0890-5401%2890%2990043-H&quot; rel=&quot;nofollow&quot;&gt;Courcelle's theorem&lt;/a&gt; are notoriously impractical.&lt;/p&gt;&#xA;" OwnerUserId="7059" LastEditorUserId="7059" LastEditDate="2014-06-20T02:49:25.923" LastActivityDate="2014-06-20T02:49:25.923" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14648" PostTypeId="1" CreationDate="2012-12-06T20:31:11.193" Score="2" ViewCount="233" Body="&lt;p&gt;I don't exactly know if this is the place to ask it, but I'm looking for the original paper of the &lt;a href=&quot;http://en.wikipedia.org/wiki/Moore_neighborhood&quot; rel=&quot;nofollow&quot;&gt;Moore Neighborhood algorithm&lt;/a&gt;. I need to make a reference to it (or whoever came up with it). I can't seem to find the origin, just other people using it. Does anyone have an idea what I need to cite for this ?&lt;/p&gt;&#xA;" OwnerUserId="8527" LastEditorUserId="123" LastEditDate="2014-09-24T13:21:15.990" LastActivityDate="2014-09-24T13:21:15.990" Title="Initial paper of the Moore Neighborhood algorithm" Tags="&lt;graph-algorithms&gt;" AnswerCount="0" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14649" PostTypeId="2" ParentId="14641" CreationDate="2012-12-06T20:46:31.900" Score="1" Body="&lt;p&gt;My guess based purely on the definition: one answer might be &quot;restriction of loops to &lt;em&gt;embarassingly parallel&lt;/em&gt; &lt;code&gt;for&lt;/code&gt; loops&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My working definition of &quot;embarassingly parallel &lt;code&gt;for&lt;/code&gt; loop&quot; is one in which no iteration has any data dependency on any other iteration and there is a binary reducer function for aggregating the output (along with a base case). Bonus embarrassment points if the reducer function is associative, but I don't know if that distinction would limit the power of the language.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we limit the allowable reducers to addition and multiplication, it seems likely to me that any program implemented under these restrictions can be written as an elementary recursive function (and vice versa). I'm less sure about more general reducers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So a fun way to put it is that your language's only looping construct is MapReduce.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am a non-expert in the area, but I'd like to propose this as a hypothesis and see what people's opinions are.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Edit&lt;/em&gt;. To prove or disprove this fact, we could use a useful characterization from Meyer and Ritchie: A LOOP program implements an elementary function if it runs in time $O(2^{2^{\dots^{n}}})$ where $\dots$ represents a tower of some fixed size $k$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This seems clearly true of parallel-&lt;code&gt;for&lt;/code&gt; programs when the reducer function is limited to addition or multiplication, but seems to be untrue for a more broad choice of reducer. I would like to find that we can get the elementary functions whenever we restrict the reducer to run in polynomial time (multiplication is linear in this model), but I'll have to try to work it out.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Edit 2&lt;/em&gt;. Right, so it looks like we should allow exactly the reducer functions that run in polynomial time in order to recover the elementary recursive functions.[1] Then we notice that this restriction is not that interesting, because the polynomial functions in this model are just those expressible by programs with a single &lt;code&gt;for&lt;/code&gt; loop or a parallel-&lt;code&gt;for&lt;/code&gt; loop with a non-looping reducer function. So we've basically just recovered the restriction that programs have up to two nested &lt;code&gt;for&lt;/code&gt; loops, but we've just moved that restriction into the reducer function.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Summary: Characterization seems to be true for reducers that run in polynomial time. It's unclear if this is at all interesting.&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1]: On input $n$, let the reducer function run in time $O(n^k)$ for some $k$. We can roughly argue by induction that a program containing nested parallel-&lt;code&gt;for&lt;/code&gt; loops runs in time $2^{2^{\dots^n}}$ for some constant-sized stack of exponents.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In an embarrassingly parallel &lt;code&gt;for&lt;/code&gt; loop on input $n$, we can run up to $n$ iterations, each of which (since they're independent) runs in time up to $f(n)$. Suppose for induction $f(n) \in O(2^{2^{\dots^n}})$ for some constant-depth exponential stack.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If the reducer function is $p$, the &lt;code&gt;for&lt;/code&gt; loop consists of $n$ compositions of $p$ on an input of size $f(n)$: $p(f(n),p(f(n),\dots))$. By assumption the running time on input size $x$ is bounded by $x^k$ for each step of the reducer, so it runs in time $O(f(n)^{k^n})$, which is asymptotically dominated by $f(n)^{2^{2^n}}$. By inductive assumption, $f(n)$ was bounded by $2^{\dots^n}$ for some constant-sized stack of exponents, so the same must be true for our running time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;And on the other hand, of course, if the reducer runs in exponential time, then this argument will fail and we'll get an exponential stack whose size depends on $n$, which means we can implement a non-elementary recursive function.&lt;/p&gt;&#xA;" OwnerUserId="8243" LastEditorUserId="8243" LastEditDate="2012-12-08T04:58:57.213" LastActivityDate="2012-12-08T04:58:57.213" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14652" PostTypeId="2" ParentId="14612" CreationDate="2012-12-07T05:09:45.030" Score="9" Body="&lt;p&gt;The best algorithm I am aware of is the algorithm by Zwick, which gives $3/4$ approximation for satisfiable instances. It is presented in    &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Uri Zwick. “Approximation Algorithms for Constraint Satisfaction Problems Involving at Most Three Variables per Constraint.” In Proc. of the 9th Annual ACM-SIAM Symposium on Discrete Algorithms, 1997.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I don't know if this is the best currently known algorithm. This paper also describes an algorithm that gives 5/8 approximation for satisfiable instances of every Boolean 3-CSP. This result is known to be optimal [O'Donnell, Wu '09 (assuming Khot's $d$-to-$1$ conjecture), Håstad '12 (assuming $\mathrm{P\neq NP}$)].&lt;/p&gt;&#xA;" OwnerUserId="9929" LastEditorUserId="9929" LastEditDate="2012-12-07T16:34:24.197" LastActivityDate="2012-12-07T16:34:24.197" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14654" PostTypeId="2" ParentId="6660" CreationDate="2012-12-07T09:15:02.777" Score="17" Body="&lt;p&gt;The current best known algorithm for recognizing map graphs (a generalization of planar graphs) runs in $n^{120}$. &lt;a href=&quot;http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=00743490&quot;&gt;Thorup, Map graphs in polynomial time.&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Computing the equilibrium of the Arrow-Debreu market takes $O(n^6\log(nU))$ max-flow computations, where $U$ is the maximum utility. &lt;a href=&quot;http://arxiv.org/abs/1212.0979&quot;&gt;Duan, Mehlhorn, A Combinatorial Polynomial Algorithm for the Linear Arrow-Debreu Market.&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="12560" LastEditorUserId="12560" LastEditDate="2012-12-12T19:45:20.543" LastActivityDate="2012-12-12T19:45:20.543" CommentCount="3" CommunityOwnedDate="2012-12-07T09:15:02.777" ContentLicense="CC BY-SA 3.0" />
  <row Id="14655" PostTypeId="2" ParentId="14641" CreationDate="2012-12-07T09:36:25.153" Score="8" Body="&lt;p&gt;According to a classic result of Meyer and Ritchie (mentioned in the paper cited in the question), the elementary functions are characterized by LOOP programs in which the nesting depth of for-loops is restricted to be at most 2.&lt;/p&gt;&#xA;" OwnerUserId="6579" LastActivityDate="2012-12-07T09:36:25.153" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14656" PostTypeId="2" ParentId="12938" CreationDate="2012-12-07T12:23:02.520" Score="4" Body="&lt;p&gt;Having just asked a &lt;a href=&quot;https://cstheory.stackexchange.com/questions/14641/simply-stated-restriction-on-imperative-programming-language-that-captures-the-e/14655&quot;&gt;very similar question&lt;/a&gt;:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The language of &lt;code&gt;for&lt;/code&gt; programs can express exactly the primitive recursive functions -- see Meyer, A.R., Ritchie, D.M. (1967), &lt;em&gt;The complexity of loop programs&lt;/em&gt;, Proc. of the ACM National Meetings, 465.  (I found a copy online &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.133.9311&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;here&lt;/a&gt;.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The complexity class for the p.r. functions is called &lt;strong&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/PR_%28complexity%29&quot; rel=&quot;nofollow noreferrer&quot;&gt;PR&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;&#xA;" OwnerUserId="12747" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2012-12-07T12:23:02.520" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14657" PostTypeId="2" ParentId="5120" CreationDate="2012-12-07T13:09:05.710" Score="8" Body="&lt;p&gt;I'd also like to mention Implicit Complexity Theory as an approach to this, since I've seen it come up in several somewhat-related questions.  To quote &lt;a href=&quot;https://cstheory.stackexchange.com/a/3422/12747&quot;&gt;this answer by Neel Krishnaswami&lt;/a&gt;:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;The basic technique is to relate complexity classes to subsystems of linear logic (the so-called &quot;light linear logics&quot;), with the idea that the cut-elimination for the logical system should be complete for the given complexity class (such as LOGSPACE, PTIME, etc). Then via Curry-Howard you get out a programming language in which precisely the programs in the given class are expressible.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="12747" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2012-12-07T13:09:05.710" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14659" PostTypeId="2" ParentId="12763" CreationDate="2012-12-07T15:09:42.620" Score="2" Body="&lt;p&gt;I just found the following paragraphs from J. R. Pierce, An Introduction to Information Theory, p.206, which I surmise would also support the thinking that one could practically use a computer and a deterministic program to turn a string A into a string B of higher Shanon entropy:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&quot;We can regard any process which specifies something concerning which state a system in in as a message source. This source generates a message which reduces our uncertainty as to what state the system is in. Such a source has a certain communication-theory entropy per message. This entropy is equal to the number of binary digits necessary to transmit a message generated by the source. It takes a particular energy per binary digit to transmit the message against a noise corresponding to the temperature T of the system.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&quot;The message reduces our uncertainty as to what state the system is in, thus reducing the entropy (of statistical mechanics) of the system. The reduction of entropy increases the free energy of the system. But the increase in free energy is just equal to the minimum energy necessary to transmit the message which led to the increase of free energy, an energy proportional to the entropy of communication theory.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&quot;This, I believe, is the relation between the entropy of communication theory and that of&#xA;statistical mechanics. One pays a price for information which leads to a reduction of the&#xA;statistical-mechanical entropy of a system. This price is proportional to the communication-theory entropy of the message source which procudes the information. It is always just high enough so that a perpetual motion machine of the second kind is impossible.&quot;&lt;/p&gt;&#xA;" OwnerUserId="10881" LastActivityDate="2012-12-07T15:09:42.620" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14660" PostTypeId="2" ParentId="14358" CreationDate="2012-12-07T17:50:30.527" Score="8" Body="&lt;p&gt;A paper which makes strong claims ought to be sufficiently clearly written for readers to  check those claims. I don't find the current (&lt;a href=&quot;http://arxiv.org/pdf/1211.3405v2.pdf&quot;&gt;http://arxiv.org/pdf/1211.3405v2.pdf)&lt;/a&gt; version of this paper expresses its results clearly enough to make a concrete assessment.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But if it were, I'd want to check:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;a) whether the quantum part of the algorithm solely consists of Pauli measurements on a cluster state. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Such a measurement-based quantum computation can be simulated using polytime classical processing (due to the Gottesman-Knill theorem), and hence one would have a solely &lt;em&gt;classical&lt;/em&gt; superfast search algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;b) whether the oracle used might be of a different type to the oracle in Grover's algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The oracle in Grover's algorithm has the property that it must &lt;em&gt;recognise&lt;/em&gt; the target string, but, crucially, it does not need to &lt;em&gt;know&lt;/em&gt; this string in advance, or be able to calculate that target string in polytime (see Nielsen and Chuang chapter 6 for a discussion of this).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Unless P=NP, an oracle which &lt;em&gt;knows&lt;/em&gt; the target string needs to be more powerful than one which merely &lt;em&gt;recognises&lt;/em&gt; it (consider a search for a solution of an NP-hard problem). I'd want to check whether the oracle here is of the &quot;recognising&quot; or &quot;knowing&quot; kind. If it is the second, then the extra computational power in the oracle might, on its own, explain any exponential improvement reported.&lt;/p&gt;&#xA;" OwnerUserId="6076" LastEditorUserId="6076" LastEditDate="2012-12-07T18:15:24.983" LastActivityDate="2012-12-07T18:15:24.983" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14661" PostTypeId="2" ParentId="2578" CreationDate="2012-12-07T20:54:25.887" Score="5" Body="&lt;p&gt;3-edge coloring of triangle-free graphs with maximum degree 3 is also  NP-complete, see 10.1016/S0096-3003(96)00021-5.&lt;/p&gt;&#xA;" OwnerUserId="12773" LastActivityDate="2012-12-07T20:54:25.887" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14662" PostTypeId="2" ParentId="10141" CreationDate="2012-12-08T00:30:11.903" Score="8" Body="&lt;p&gt;Simulating quantum systems! &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I noticed that in the other answer that mentioned this there were several comments about whether this was true since it is a non-obvious claim. And people requested references. Here are some references.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Original proposal by Feynman:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Feynman, R.: Simulating physics with computers. Int. J. Theor. Phys. 21(6)&#xA;  (1982) 467–488&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Efficient algorithms for all quantum systems defined by &quot;local&quot; Hamiltonians. (Lloyd also explains that any system consistent with special and general relativity evolves according to local interactions.)&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Lloyd, S.: Universal quantum simulators. Science 273(5278) (1996) 1073–1078&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Further generalization to sparse Hamiltonians, which are more general than local Hamiltonians:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Aharonov, D., Ta-Shma, A.: Adiabatic quantum state generation and statistical&#xA;  zero knowledge. In: Proc. 35th STOC, ACM (2003) 20–29&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Further reading:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Berry, D., Ahokas, G., Cleve, R., Sanders, B.: Eﬃcient quantum algorithms for&#xA;  simulating sparse Hamiltonians. Commun. Math. Phys. 270(2) (2007) 359–371&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;Childs, A.M.: Quantum information processing in continuous time. PhD thesis,&#xA;  Massachusetts Institute of Technology (2004)&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="206" LastActivityDate="2012-12-08T00:30:11.903" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14663" PostTypeId="2" ParentId="6430" CreationDate="2012-12-08T06:51:25.320" Score="11" Body="&lt;p&gt;I'll take a shot at your first question:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Are there examples of natural function families that quantum computers can learn faster than classical computers given cryptographic assumptions?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Well, it depends on the exact model and the resource being minimized. One option is to compare the sample complexity (for distribution-independent PAC learning) of the standard classical model with a quantum model that is given quantum samples (i.e., instead of being given a random input and the corresponding function value, the algorithm is provided with a quantum superposition over inputs and their functions values). In this setting, quantum PAC learning and classical PAC learning are basically equivalent. The classical upper bound on sample complexity and the quantum lower bound on sample complexity are almost the same, as shown by the following sequence of papers:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;[1] R. Servedio and S. Gortler, “Equivalences and separations between quantum and classical learnability,” SIAM Journal on Computing, vol. 02138, pp. 1–26, 2004.&lt;/p&gt;&#xA;&lt;p&gt;[2] A. Atici and R. Servedio, “Improved bounds on quantum learning algorithms,” Quantum Information Processing, pp. 1–18, 2005.&lt;/p&gt;&#xA;&lt;p&gt;[3] C. Zhang, “An improved lower bound on query complexity for quantum PAC learning,” Information Processing Letters, vol. 111, no. 1, pp. 40–45, Dec. 2010.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Moving on to time complexity, using the same quantum PAC model, Bshouty and Jackson showed that DNFs can be quantum PAC learnt in polynomial time over the uniform distribution [4], further improved in [5]. The best known classical algorithm for this runs in &lt;span class=&quot;math-container&quot;&gt;$O(n^{\log n})$&lt;/span&gt; time. Atici and Servedio [6] also show improved results for learning and testing juntas.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;[4] N. Bshouty and J. Jackson, “Learning DNF over the uniform distribution using a quantum example oracle,” SIAM Journal on Computing, vol. 28, no. 3, pp. 1136–1153, 1998.&lt;/p&gt;&#xA;&lt;p&gt;[5] J. Jackson, C. Tamon, and T. Yamakami, “Quantum DNF learnability revisited,” Computing and Combinatorics, pp. 595–604, 2002.&lt;/p&gt;&#xA;&lt;p&gt;[6] A. Atıcı and R. Servedio, “Quantum Algorithms for Learning and Testing Juntas,” Quantum Information Processing, vol. 6, no. 5, pp. 323–348, Sep. 2007.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;On the other hand, if you're interested in the standard classical PAC model only, using quantum computing as a post-processing tool (i.e., no quantum samples), then Servedio and Gortler [1] observed that there is a concept class due to Kearns and Valiant that cannot be classically PAC learnt assuming the hardness of factoring Blum integers, but can be quantumly PAC learnt using Shor's algorithm.&lt;/p&gt;&#xA;&lt;p&gt;The situation for Angluin's model of exact learning through membership queries is somewhat similar. Quantum queries can only give a polynomial speedup in terms of query complexity. However, there is an exponential speedup in time complexity assuming the existence of one-way functions [1].&lt;/p&gt;&#xA;&lt;p&gt;I have no idea about the second question. I'd be happy to hear more about that too.&lt;/p&gt;&#xA;" OwnerUserId="206" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2012-12-08T06:51:25.320" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14664" PostTypeId="1" CreationDate="2012-12-08T09:42:29.890" Score="9" ViewCount="354" Body="&lt;p&gt;Intrigued by Chris Pressey's interesting &lt;a href=&quot;https://cstheory.stackexchange.com/questions/14641/simply-stated-restriction-on-imperative-programming-language-that-captures-the-e&quot;&gt;question on elementary-recursive functions&lt;/a&gt;, I was exploring more and unable to find an answer to this question on the web.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The &lt;a href=&quot;http://en.wikipedia.org/wiki/ELEMENTARY&quot; rel=&quot;nofollow noreferrer&quot;&gt;elementary recursive functions&lt;/a&gt; correspond nicely to the exponential hierarchy, $\text{DTIME}(2^n) \cup \text{DTIME}(2^{2^n}) \cup \cdots$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It seems straightforward from the definition that decision-problems decidable (term?) by &lt;a href=&quot;http://en.wikipedia.org/wiki/ELEMENTARY#Lower_elementary_recursive_functions&quot; rel=&quot;nofollow noreferrer&quot;&gt;&lt;em&gt;lower&lt;/em&gt;-elementary functions&lt;/a&gt; should be contained in EXP, and in fact in DTIME$(2^{O(n)})$; these functions also are constrained to output strings linear in their input length [1].&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But on the other hand, I don't see any obvious lower bounds; at first glance it seems conceivable that LOWER-ELEMENTARY could strictly contain NP, or perhaps fail to contain some problems in P, or most likely some possibility I've not yet imagined. It would be epicly cool if LOWER-ELEMENTARY = NP but I suppose that is too much to ask for.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So my questions:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Is my understanding so far correct?&lt;/li&gt;&#xA;&lt;li&gt;What is known about the complexity classes bounding the lower elementary recursive functions?&lt;/li&gt;&#xA;&lt;li&gt;(Bonus) Do we have any nice complexity-class characterizations when making further restrictions on recursive functions? I was thinking in particular of the restriction to $\log(x)$-bounded summations, which I think run in polynomial time and produce linear output; or constant-bounded summations, which I think run in polynomial time and produce output of length at most $n + O(1)$.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;[1]: We can show (I believe) that lower-elementary functions are subject to these restrictions by structural induction, supposing that the functions $h,g_1,\dots,g_m$ have complexity $2^{O(n)}$ and outputs of bitlength $O(n)$ on an input of length $n$. When $f(x) = h(g_1(x),\dots,g_m(x))$, letting $n := \log x$, each $g$ has output of length $O(n)$, so $h$ has an $O(n)$-length input (and therefore $O(n)$-length output); the complexity of computing all $g$s is $m2^{O(n)}$ and of $h$ is $2^{O(n)}$, so $f$ has complexity $2^{O(n)}$ and output of length $O(n)$ as claimed.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;When $f(x) = \sum_{i=1}^x g(x)$, the $g$s have outputs of length $O(n)$, so the value of the sum of outputs is $2^n 2^{O(n)} \in 2^{O(n)}$, so their sum has length $O(n)$. The complexity of summing these values is bounded by $2^n$ (the number of summations) times $O(n)$ (the complexity of each addition) giving $2^{O(n)}$, and the complexity of computing the outputs is bounded by $2^{n}$ (the number of computations) times $2^{O(n)}$ (the complexity of each one), giving $2^{O(n)}$. So $f$ has complexity $2^{O(n)}$ and output of length $O(n)$ as claimed.&lt;/p&gt;&#xA;" OwnerUserId="8243" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2013-09-30T08:13:49.353" Title="Complexity results for Lower-Elementary Recursive Functions?" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;complexity-classes&gt;&lt;computability&gt;" AnswerCount="2" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="14665" PostTypeId="2" ParentId="12585" CreationDate="2012-12-08T10:03:38.143" Score="11" Body="&lt;p&gt;The question you pose and the specific counting trick you describe is a classic one in program analysis. There is the theoretical problem of complexity analysis, and it's practical manifestation in terms of automatically estimating the performance of a piece of code. Such an automated analysis has several applications from detecting performance bugs to estimating the cost for some computation in the cloud.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Cody pointed out that the problem is undecidable in general. This problem is harder than proving termination, because obtaining a complexity bound entails that the program also terminates. There are two approaches to such a problem. One is from program analysis. The idea of adding a counter and estimating its value exists since the 70s. This encoding reduces the problem of determining running time to that of computing an invariant. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A second approach is to design a programming language that only admits programs of a certain bounded complexity. This is the area of &lt;em&gt;implicit computational complexity.&lt;/em&gt; &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some references for both areas follow.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://research.microsoft.com/en-us/um/people/sumitg/pubs/speed.html&quot;&gt;The SPEED Project&lt;/a&gt;, is one specific line of program analysis work that focuses on how to find bounds on counters once introduced into the program. The counters may measure time or space consumption.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.linta.de/~aehlig/university/pub/10-raml.pdf&quot;&gt;Multivariate amortized resource analysis&lt;/a&gt;, Jan Hoffman, Klaus Aehlig, Martin Hoffman, ACM TOPLAS 2012&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://arxiv.org/abs/1005.0518v1&quot;&gt;On Decidable Growth-Rate Properties of Imperative Programs&lt;/a&gt;, Amir Ben Amram,  Developments in Implicit Computational complExity 2010. This is a beautiful line of work on bounding complexity of imperative programs by syntactic restrictions.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="4155" LastEditorUserId="236" LastEditDate="2013-12-29T08:58:46.717" LastActivityDate="2013-12-29T08:58:46.717" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14666" PostTypeId="1" AcceptedAnswerId="14668" CreationDate="2012-12-08T11:19:57.797" Score="12" ViewCount="654" Body="&lt;p&gt;In the famous counter example for graph isomorphism via Weisfeiler-Lehman (WL) method the following gadget was constructed in &lt;a href=&quot;http://www.cs.yale.edu/publications/techreports/tr626.pdf&quot;&gt;this paper&lt;/a&gt; by Cai, Furer and Immerman.&#xA;They construct a graph $X_k = (V_k, E_k)$ given by&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$V_k = A_k \cup B_k \cup M_k \\ \text{ where } \\&#xA;\quad A_k = \{a_i \mid 1 \leq i \leq k\}, \\&#xA;\quad B_k =\{b_i \mid 1 \leq i \leq k\}, \mbox{ and } \\&#xA;\quad  M_k = \{ m_S \mid S \subseteq \{1,2,\ldots, k\},\ |S| \text{ is even} \}\\&#xA;E_k =\{(m_S,a_i) \mid  i \in S\} \cup  \{(m_S, b_i)\mid i \notin S\}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One of the lemmas in the paper (lemma 3.1 page 6 )  states that if we color the vertices $a_i$ and $b_i$ with color $i$ then $|Aut(X_k)| = 2^{k-1}$ (color has to be preserved by the automorphism) where each automorphism corresponds to interchanging $a_i$ and $b_i$ for each $i$ in some subsets $S$ of $\{1,2,\ldots, k\}$ of even cardinality. They say that the proof is immediate. But I fail to see how even in the case of $k= 2$. In $X_2 \ (a_1, m_{\{1,2\}})$ is an edge but if we have automorphism which interchanges $a_1, b_1$ and $a_2, b_2$ the above edge gets transformed to $(b_1, m_{\{1,2\}})$ which is not an edge. So that should not be an automorphism. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would like to understand what is my misunderstanding.&lt;/p&gt;&#xA;" OwnerUserId="10456" LastActivityDate="2012-12-09T11:04:31.260" Title="automorphism in Cai-Furer-Immerman gadgets" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;graph-isomorphism&gt;&lt;algebraic-complexity&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14667" PostTypeId="2" ParentId="4935" CreationDate="2012-12-08T14:30:38.333" Score="3" Body="&lt;p&gt;The Huffman algorithm considers the two least frequent elements recursively as the sibling leaves of maximum depth in code tree. The Fibonacci sequence (as frequencies list) is defined to satisfy F(n) + F(n+1) = F(n+2). As a consequence, the resulting tree will be the most unbalanced one, being a full binary tree.&lt;/p&gt;&#xA;" OwnerUserId="12739" LastActivityDate="2012-12-08T14:30:38.333" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14668" PostTypeId="2" ParentId="14666" CreationDate="2012-12-08T16:18:34.790" Score="6" Body="&lt;p&gt;You're missing the emptyset $\emptyset$ which is connected to all $b$'s. To get an  automorphism, you select a subset $T\subseteq \{1,...,k\}$ of even cardinality and then swaps $a_i$ with $b_i$ for each $i\in T$ and then adjusts the sets in the middle. In your example the graph is $$(a_1,\{12\}),(a_2,\{12\}),(b_1,\emptyset),(b_2,\emptyset).$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Still in your example if $T=\emptyset$ you don't need to do anything and if &#xA;$T=\{1,2\}$ the automorphism is given by swapping $a_1$ with $b_1$, $a_2$ with $b_2$ and $\{1,2\}$ with $\emptyset$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now for the general case, we need to show that there is always a way of adjusting the middle vertices. We know that $T$ has even cardinality. So let $|T|=2r$. We just need to show that such an &#xA;automorphism exists if $|T|=2$ since otherwise we can apply the composition of $r$ automorphisms corresponding to partitioning $T$ into $r$ subsets of size $2$. Thus assume $T=\{i,j\}$.  Then the automorphism swaps $a_i$ with $b_i$, &#xA;$a_j$ with $b_j$, each middle vertex $S$ such that $S\cap\{i,j\}=\emptyset$ with the middle vertex $S\cup \{i,j\}$ (this can be seen in your example), and each subset $S$ such that $S\cap \{i,j\}=\{i\}$ with the subset such that $S\cap \{i,j\}= \{j\}$ (This you can see for $k=3$). Notice that this swapping process is an automorphism since for an index $p\neq \{i,j\}$ the edge relation between $a_p$, $b_p$ and these swapped vertices is completely preserved, and clearly the edge relation between $a_i,a_j,b_i,b_j$ is properly adjusted. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally to see that these are the only possible automorphisms, notice that each $a_i,b_i$ is colored with its own color. So they cannot be mapped to another pair $a_j,b_j$. Also notice that it is not possible to have an automorphism that maps an middle vertex to a middle vertex without swapping some $a_i$ with some $b_j$. $\square$   &lt;/p&gt;&#xA;" OwnerUserId="4237" LastEditorUserId="4237" LastEditDate="2012-12-09T11:04:31.260" LastActivityDate="2012-12-09T11:04:31.260" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="14670" PostTypeId="1" AcceptedAnswerId="14721" CreationDate="2012-12-08T19:34:49.827" Score="29" ViewCount="1055" Body="&lt;p&gt;It is conjectured that $\mathsf{NP} \nsubseteq \mathsf{P}/\text{poly}$ since the converse would imply $\mathsf{PH} = \Sigma_2$. Ladner's theorem establishes that if $\mathsf{P} \ne \mathsf{NP}$ then $\mathsf{NPI} := \mathsf{NP} \setminus(\mathsf{NPC} \cup \mathsf{P}) \ne \emptyset$. However, the proof doesn't seem to generalize to $\mathsf{P}/\text{poly}$ so the possibility $\mathsf{NPI} \subset \mathsf{P}/\text{poly}$ i.e. $\mathsf{NP} \subset \mathsf{NPC} \cup \mathsf{P}/\text{poly}$ seems open.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Assuming $\mathsf{NP} \nsubseteq \mathsf{P}/\text{poly}$ (or even that the polynomial hierarchy doesn't collapse on any level), is $\mathsf{NPI} \subset \mathsf{P}/\text{poly}$ known to be true or&#xA;  false? What evidence can be put for and against it?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="7030" LastEditorUserId="7030" LastEditDate="2012-12-09T18:17:48.420" LastActivityDate="2012-12-13T14:43:12.340" Title="Is NPI contained in P/poly?" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;advice-and-nonuniformity&gt;&lt;p-vs-np&gt;&lt;np-intermediate&gt;" AnswerCount="3" CommentCount="12" FavoriteCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="14671" PostTypeId="1" CreationDate="2012-12-08T20:15:25.623" Score="15" ViewCount="2856" Body="&lt;p&gt;I was reading a chapter in &lt;a href=&quot;http://learnyouahaskell.com/zippers#taking-a-walk&quot;&gt;LYAH&lt;/a&gt; which didn't really make sense to me. I understand that zippers can arbitrarily traverse a tree-like structure, but I need some clarification on it. Also, can zippers be generalized to any data structure?&lt;/p&gt;&#xA;" OwnerUserId="12783" LastEditorUserId="77" LastEditDate="2012-12-08T21:11:22.360" LastActivityDate="2017-10-06T16:28:41.950" Title="What is a zipper, and how does it relate to a tree-like structure?" Tags="&lt;ds.data-structures&gt;&lt;functional-programming&gt;&lt;tree&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="14672" PostTypeId="2" ParentId="14671" CreationDate="2012-12-08T21:11:03.140" Score="14" Body="&lt;p&gt;A zipper, in general, is a data structure with a hole in it. Zippers are used for traversing/manipulating data structures, and the hole corresponds to the current &lt;em&gt;focus&lt;/em&gt; of the traversal. Typically there is also an element of the data structure under consideration, so that one has a (list) zipper and a list or a (tree) zipper and a tree. The zipper allows the programmer to efficiently move around the data structure, even replacing the element at the focus. The pair of the zipper and the element in the focus satisfy the constraint that placing the element at the focus in the hole gives the original data structure.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Zippers can be generalised to arbitrary inductive data types. The concept can be defined in type-indexed fashion (See &lt;a href=&quot;http://www.cs.nott.ac.uk/~gmh/wgp01/jeuring-paper.pdf&quot;&gt;type-indexed data types&lt;/a&gt;). They are also related to the idea of &lt;a href=&quot;http://strictlypositive.org/diff.pdf&quot;&gt;the derivative of a data structure&lt;/a&gt;, and has been studied from a &lt;a href=&quot;http://www.cs.nott.ac.uk/~txa/publ/tlca03.pdf&quot;&gt;Category Theoretic perspective&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="77" LastEditorUserId="77" LastEditDate="2012-12-08T21:17:10.777" LastActivityDate="2012-12-08T21:17:10.777" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14674" PostTypeId="1" CreationDate="2012-12-09T06:32:49.527" Score="11" ViewCount="371" Body="&lt;p&gt;A very interesting open problem in the study of complexity measures of Boolean function is the so called sensitivity vs block sensitivity conjecture. For background on sensitivity versus block sensitivity you can look at the following blogpost of S. Aaronson at &lt;a href=&quot;http://www.scottaaronson.com/blog/?p=453&quot;&gt;http://www.scottaaronson.com/blog/?p=453&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To best of my knowledge, the best upper bound known on $bs(f)$ in terms of $s(f)$ is $bs(f)=O(e^{s(f)}\sqrt{s(f)})$. [Kenyon, Kutin paper] But of course maybe it is more convenient to relate $s(f)$ to some other complexity measure of $f$ say $\deg(f)$, the degree of $f$ as polynomial over $\mathbb{R}$, i.e. the size of its highest Fourier coefficient. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The question is what's the best upper bound known on $\deg(f)$ in terms of $s(f)$? &lt;/p&gt;&#xA;" OwnerUserId="12127" LastActivityDate="2013-06-20T01:13:10.233" Title="Upperbound on the degree of a boolean function in terms of its sensitivity" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;fourier-analysis&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="14675" PostTypeId="1" AcceptedAnswerId="14691" CreationDate="2012-12-09T08:48:26.490" Score="8" ViewCount="1004" Body="&lt;p&gt;The following brief description of the known &quot;Google Eggs Puzzle&quot; comes mainly from the web site &lt;a href=&quot;http://standardwisdom.com/softwarejournal/2010/10/puzzles-and-answers/&quot;&gt;Google Eggs&lt;/a&gt;:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;em&gt;Google Eggs Puzzle:&lt;/em&gt; Given n floors and m eggs, what is the approach to find the highest floor from which eggs can be thrown safely, while minimizing the throws (not broken eggs). &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The so called &quot;highest floor&quot; in the above problem deserves more formal definition:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;em&gt;&quot;highest:&quot;&lt;/em&gt; there must be a floor &lt;em&gt;f&lt;/em&gt; (in any sufficiently tall building) such that an egg dropped from the &lt;em&gt; f &lt;/em&gt;th floor breaks, but one dropped from the (&lt;em&gt;f-1&lt;/em&gt;)st floor will not. Then, &lt;em&gt;f-1&lt;/em&gt; here is the highest floor.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Actually, the description of &quot;highest&quot; is an excerpt from the book &quot;The Algorithm Design Manual (Second Edition)&quot; by Steven S. Skiena. Being an exercise in Chapter 8 &quot;Dynamic Programming&quot;, there are plenty of resources in Web devoted to solving the puzzle by the means of dynamic programming, like &lt;a href=&quot;http://standardwisdom.com/softwarejournal/2010/10/puzzles-and-answers/&quot;&gt;Google Eggs&lt;/a&gt; and &lt;a href=&quot;http://www.datagenetics.com/blog/july22012/index.html&quot;&gt;The Two Egg Problem&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, there is a question from the above book:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Show that $E(n, m) = \Theta(n^{\frac{1}{m}})$, where $E(\cdot)$ is the minimum number of throws. (Note: I have changed the notations used in book for consistency.)&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;It is the question that motivates my problem:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;My Problem:&lt;/strong&gt; Is there some mathematical closed form for general &quot;Google Eggs Puzzle&quot; with n floors and m eggs, instead of dynamic programming recurrence, and of course tighter than the $E(n, m) = \Theta(n^{\frac{1}{m}})$ one? &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="12739" LastActivityDate="2012-12-12T03:35:39.693" Title="Is there some mathematical closed form (or somewhat tight asymptotic one) for &quot;Google Eggs Puzzle&quot;?" Tags="&lt;ds.algorithms&gt;&lt;puzzles&gt;&lt;dynamic-programming&gt;" AnswerCount="2" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14677" PostTypeId="2" ParentId="12568" CreationDate="2012-12-09T11:59:30.403" Score="7" Body="&lt;p&gt;There is a paper about &lt;a href=&quot;https://cs.uwaterloo.ca/~shallit/Papers/ch.pdf&quot; rel=&quot;noreferrer&quot;&gt;randomized algorithms in 'primitive' cultures&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Using oracles (e.g. chicken bones, stones) to decide on where to hunt can be seen as a randomized algorithm. One can argue that randomizing the hunting grounds prevents game adaption and overhunting. &lt;/p&gt;&#xA;" OwnerUserId="12560" LastActivityDate="2012-12-09T11:59:30.403" CommentCount="0" CommunityOwnedDate="2012-12-12T19:24:16.087" ContentLicense="CC BY-SA 3.0" />
  <row Id="14678" PostTypeId="1" AcceptedAnswerId="14680" CreationDate="2012-12-09T12:42:24.207" Score="6" ViewCount="232" Body="&lt;p&gt;For the longest time I was under the impression that &lt;strong&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/PR_%28complexity%29&quot; rel=&quot;nofollow noreferrer&quot;&gt;PR&lt;/a&gt;&lt;/strong&gt; contains &lt;strong&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/NEXP&quot; rel=&quot;nofollow noreferrer&quot;&gt;NEXP&lt;/a&gt;&lt;/strong&gt;.  Try as I might, I am unable to recall where I picked up this notion.  I've looked recently, but I have not been able to find anything about what is known about their relationship.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;All that I can currently conclude about them is that it's almost certainly not the case that &lt;strong&gt;PR&lt;/strong&gt; = &lt;strong&gt;NEXP&lt;/strong&gt;, as &lt;a href=&quot;https://cstheory.stackexchange.com/questions/3297/nexp-complete-problems&quot;&gt;there are known &lt;strong&gt;NEXP&lt;/strong&gt;-complete problems&lt;/a&gt;, while &lt;a href=&quot;https://mathoverflow.net/questions/114770/how-would-one-characterize-a-pr-complete-language&quot;&gt;the notion of completeness for &lt;strong&gt;PR&lt;/strong&gt; is problematic&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What is known about the relationship between &lt;strong&gt;PR&lt;/strong&gt; and &lt;strong&gt;NEXP&lt;/strong&gt;?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="12747" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.530" LastActivityDate="2012-12-10T01:16:30.233" Title="What is known about the relationship between PR and NEXP?" Tags="&lt;cc.complexity-theory&gt;" AnswerCount="1" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="14680" PostTypeId="2" ParentId="14678" CreationDate="2012-12-09T17:40:23.070" Score="13" Body="&lt;p&gt;Transforming the comments above into an answer: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;NEXP is strictly contained in PR. Indeed define the class ELEMENTARY as &#xA;$$\mathsf{ELEMENTARY}=\text{DTIME}(2^n)\cup \text{DTIME}(2^{2^n}) \cup \text{DTIME}(2^{2^{2n}}) \cup ...$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It can be shown that ELEMENTARY is &lt;a href=&quot;http://en.wikipedia.org/wiki/ELEMENTARY&quot;&gt;strictly contained in PR&lt;/a&gt;. Since $\mathsf{NEXP}\subseteq \mathsf{ELEMENTARY}$ we have that $\mathsf{NEXP}$ is strictly contained in $PR$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;As pointed out by Huck Bennett above, the fact that $\mathsf{NEXP}\subseteq \mathsf{ELEMENTARY}$&#xA;is a consequence from the fact that &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\mathsf{NEXP} = \text{NTIME}(2^{\text{poly}(n)}) \subseteq \text{DTIME}(2^{2^{2^n}}) \subsetneq \mathsf{ELEMENTARY}$$&lt;/p&gt;&#xA;" OwnerUserId="4237" LastEditorUserId="80" LastEditDate="2012-12-10T01:16:30.233" LastActivityDate="2012-12-10T01:16:30.233" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14681" PostTypeId="2" ParentId="14541" CreationDate="2012-12-09T20:46:22.403" Score="12" Body="&lt;h3&gt;Short answer.&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;For quantum circuits, there is at least one &lt;em&gt;non&lt;/em&gt;-limitation result: arbitrary bounded-depth quantum circuits are unlikely to be simulatable with small multiplicative error in the probability of the outcome, even for &lt;em&gt;polynomial&lt;/em&gt;-depth classical circuits.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This, of course, does not tell you what resctrictions $\mathsf{QNC^0}$ circuits will actually have; particularly if you're interested in decision problems with bounded error, rather than probability distributions. However, it does mean that an analysis in terms of decision trees, as with &lt;a href=&quot;http://www.contrib.andrew.cmu.edu/~ryanod/?p=811&quot;&gt;Håstad’s Switching Lemma&lt;/a&gt;, is not likely to be in the offing for classical simulation of these circuits.&lt;/p&gt;&#xA;&#xA;&lt;h3&gt;Details&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;We may consider the definition of polylog-depth quantum circuits as given by &lt;a href=&quot;http://arxiv.org/abs/quant-ph/0312209&quot;&gt;Fenner et al. (2005)&lt;/a&gt;:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;em&gt;Definition.&lt;/em&gt; $\mathsf{QNC^k}$ is the class of quantum circuit families $\{C_n\}_{n\geqslant0}$ for which there exists a polynomial $p$ for which each $C_n$  contains $n$ input qubits and at most $p(n)$ fresh ancillas, uses only single-qubit gates and controlled-not gates, and has depth $O(\log^k(n))$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The single-qubit gates must be from a fixed finite set, though this suffices to simulate any fixed unitary on a constant number of qubits to any fixed precision. We also allow any subset of the qubits at then end of the circuit to be used to represent the output of the circuit family (e.g.&amp;nbsp;a&amp;nbsp;single qubit for boolean functions).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://arxiv.org/abs/1005.1407&quot;&gt;Bremner, Jozsa, and Sheppard (2010)&lt;/a&gt; note (see Section 4) that, using an adaptation of the gate-teleportation technique due to &lt;a href=&quot;http://arxiv.org/abs/quant-ph/0205133&quot;&gt;Terhal and DiVincenzo (2004)&lt;/a&gt;, post-selection on some of the qubits in a $\mathsf{QNC^0}$ circuit makes it possible to decide problems in $\mathsf{PostBQP = PP}$. Using their results on simulating postselected circuits, this implies that the problem of classically sampling from the output distribution of an arbitrary $\mathsf{QNC^0}$ circuit with boolean output, with multiplicative error at most $\sqrt 2$ in the sampling probability, is in impossible with random polynomial depth circuits unless the polynomial hierarchy partially collapses (specifically $\mathsf{PH} \subseteq \Delta_3$). &lt;/p&gt;&#xA;" OwnerUserId="248" LastActivityDate="2012-12-09T20:46:22.403" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="14682" PostTypeId="1" CreationDate="2012-12-09T22:43:45.820" Score="9" ViewCount="391" Body="&lt;p&gt;Here is the background for this question. Friends and I were playing a game where everyone needs to give another people some gift. In order to determine who should give gift to whom, we decide to drew lots. But the problem is, someone might end up giving him/herself gifts, which is not funny. You can see that the expected number of such unfortunate people is 1, so this happens quite frequently.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For this purpose, dearrangement seems to be a great fit. If I can fairly generate a dearrangement, then I can just pick one dearrangement and use it to decide who give whom gifts.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Randomized dearrangement generation could be done with Las Vegas method. But the problem is,&#xA;it only has expected polynomial running time. So I came to this problem of finding i-th dearrangement. If I can randomly pick an i in [1, D_n], and use some worst case polynomial time (efficient) algorithm to obtain the i-th dearrangement, then it's done.&lt;/p&gt;&#xA;" OwnerUserId="8184" LastEditorUserId="8184" LastEditDate="2012-12-10T05:35:03.230" LastActivityDate="2012-12-10T05:35:03.230" Title="Is there an efficient algorithm to find the i-th dearrangement?" Tags="&lt;permutations&gt;" AnswerCount="2" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14683" PostTypeId="2" ParentId="14682" CreationDate="2012-12-09T23:26:25.380" Score="0" Body="&lt;p&gt;Why not, for each position &lt;em&gt;i&lt;/em&gt;, randomly choose from all elements other than &lt;em&gt;i&lt;/em&gt;? For example, you could choose an index into the original array from &lt;em&gt;[0..n-2]&lt;/em&gt;, and if you get &lt;em&gt;j &gt;= i&lt;/em&gt; you use &lt;em&gt;j+1&lt;/em&gt;.&lt;/p&gt;&#xA;" OwnerUserId="12797" LastActivityDate="2012-12-09T23:26:25.380" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="14685" PostTypeId="2" ParentId="14682" CreationDate="2012-12-10T01:08:45.600" Score="9" Body="&lt;p&gt;Actually this is might be good question but it is badly formulated in its current form. The well-known algorithms for generating random derangements have linear expected time, but maybe it's an open problem to find a worst case polynomial time algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See for example:&#xA;&lt;a href=&quot;http://www.siam.org/proceedings/analco/2008/anl08_022martinezc.pdf&quot;&gt;http://www.siam.org/proceedings/analco/2008/anl08_022martinezc.pdf&lt;/a&gt; (and slides: &lt;a href=&quot;http://www.lsi.upc.edu/~conrado/research/talks/analco08.pdf&quot;&gt;http://www.lsi.upc.edu/~conrado/research/talks/analco08.pdf&lt;/a&gt;)&lt;/p&gt;&#xA;" OwnerUserId="168" LastActivityDate="2012-12-10T01:08:45.600" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="14686" PostTypeId="1" AcceptedAnswerId="14688" CreationDate="2012-12-10T03:38:20.237" Score="14" ViewCount="453" Body="&lt;p&gt;In the paper &lt;a href=&quot;http://www.cs.cornell.edu/courses/CS6820/2012fa/handouts/djk.pdf&quot;&gt;Randomized Primal-Dual analysis of RANKING for Online Bipartite Matching&lt;/a&gt;, while proving that the RANKING algorithm is $\left(1 - \frac{1}{e}\right)$-competitive, the authors show that the dual is feasible in expectation (see Lemma 3 on page 5). My question is:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is it enough for linear program constraints to be satisfied in expectation?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;It is one thing to show that the expected value of the objective function is something. But if feasibility constraints are satisfied in expectation, there is no guarantee that it will be satisfied on a given run. Moreover, there are many such constraints. So what is the guarantee that &lt;strong&gt;ALL&lt;/strong&gt; of them will be satisfied on a given run?&lt;/p&gt;&#xA;" OwnerUserId="9569" LastEditorUserId="9569" LastEditDate="2012-12-10T05:33:00.740" LastActivityDate="2012-12-11T02:07:49.503" Title="Is it enough for linear program constraints to be satisfied in expectation?" Tags="&lt;linear-programming&gt;&lt;randomized-algorithms&gt;&lt;online-algorithms&gt;&lt;matching&gt;&lt;primal-dual&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14688" PostTypeId="2" ParentId="14686" CreationDate="2012-12-10T06:16:41.350" Score="19" Body="&lt;p&gt;I think the difficulty is that this wording slightly misleading; as they state more clearly in the Introduction (1.2), &quot;the expected values of the dual variables constitute a feasible dual solution.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For every fixed setting of the dual variables $X$, we obtain some primal solution of value $f(X)$ and a dual solution of value $\frac{e}{e-1}f(X)$. (The dual is infeasible in some of these cases, but that's fine.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So the expected value of the primal over all runs of the algorithm is $E[f(X)]$. But $E[X]$ is a dual-feasible solution, so there exists a dual solution of value $\frac{e}{e-1}f(E[X])$. The key trick is that $f(X)$ is linear in the dual variables $X$: In fact, here the dual variables are $\alpha_i$ and $\beta_j$, and each matching of vertex $i$ to $j$ adds a total of $\left(\frac{e-1}{e}\right)(\alpha_i + \beta_j)$ to the primal objective. So $E[f(X)] = f(E[X])$ and the conclusion follows.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(As a side note, I feel that, as this point is one of the main focuses of their paper (according to the abstract), it would have been nicer if they had explained this point! It doesn't seem at all obvious to me, and I would like to find out when it's true more generally.)&lt;/p&gt;&#xA;" OwnerUserId="8243" LastEditorUserId="8243" LastEditDate="2012-12-10T15:11:35.033" LastActivityDate="2012-12-10T15:11:35.033" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14690" PostTypeId="1" CreationDate="2012-12-10T10:49:29.103" Score="2" ViewCount="4426" Body="&lt;p&gt;I have a set of edges [m,n] of a bipartie graph U, V with a cost assigned to each edge and I need to find the minimum cost edge-cover covering all nodes in U, V. There is one additional constraint is that I should not have a length 3 path ( meaning if m in [m,n] is included in other edges then n should not happen on other edges than [m,n] )&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have read that this problem can be reduced to a minimum cost weighted bipartie perfect matching, but I could not find the way to do that.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The relation is not straightforward to me since a node m can be connected to different nodes in the right hand partie and vice versa.&lt;/p&gt;&#xA;" OwnerUserId="12804" LastEditorUserId="12804" LastEditDate="2012-12-11T00:29:16.740" LastActivityDate="2012-12-31T21:43:45.537" Title="Reducing a minimum cost edge-cover problem to minimum cost weighted bipartie perfect matching" Tags="&lt;graph-algorithms&gt;&lt;matching&gt;" AnswerCount="1" CommentCount="9" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="14691" PostTypeId="2" ParentId="14675" CreationDate="2012-12-10T10:56:05.957" Score="8" Body="&lt;p&gt;With m eggs and k measurements the most floors that can be checked is exactly $$n(m,k)={k \choose 0} + {k \choose 1} + \ldots + {k \choose m},$$ (maybe $\pm 1$ depending on the exact def). Proof is trivial by induction. This expression has no closed form inverse but gives good asymptotic.&lt;/p&gt;&#xA;" OwnerUserId="419" LastActivityDate="2012-12-10T10:56:05.957" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="14692" PostTypeId="2" ParentId="14358" CreationDate="2012-12-10T14:55:31.067" Score="6" Body="&lt;p&gt;I think that this is an example of &lt;a href=&quot;https://cstheory.meta.stackexchange.com/q/274/248&quot;&gt;a preprint on a crank-friendly topic&lt;/a&gt; (specifically it asks: &quot;Is the new claimed [revolutionary result] correct?&quot;). But there are specific remarks that can be made about the technical problems of the manuscript in question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the second-to-last paragraph on page 1, they indicate that the &quot;measurement angles&quot; are just going to be from the set $\{0,\pi\}$, so that they measure only the states $| \pm \rangle$ &amp;mdash; or in the language of observables: only the operators $\pm X$ are measured. Echoing Dan's earlier answer, the cluster state is a stabilizer state. It has been known since at least 1997 (from &lt;a href=&quot;http://arxiv.org/abs/quant-ph/9705052&quot; rel=&quot;nofollow noreferrer&quot;&gt;Daniel Gottesman's introduction of the stabilizer formalism&lt;/a&gt;) that Pauli observable measurements on stabilizer states can be simulated efficiently. Indeed, the natural decision problems arising from such simulations belongs not only to $\mathsf P$, but to the rather low class $\mathsf \oplus\mathsf L \subseteq \mathsf{NC^2} \subseteq \mathsf P$, by &lt;a href=&quot;http://arxiv.org/abs/quant-ph/0406196&quot; rel=&quot;nofollow noreferrer&quot;&gt;Aaronson+Gottesman (2004)&lt;/a&gt;. Any such MBQC algorithm &lt;em&gt;cannot possibly&lt;/em&gt; achieve an exponential speedup over a generic classical algorithm, let alone over other quantum algorithms.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Furthermore, they do not even describe how the black box for marking elements (or a suitable substitute) is to be implemented in the MBQC algorithm. They describe something along these lines in Eqns.&amp;nbsp;(4) and&amp;nbsp;(6), but they don't even describe how the angles are chosen, nor how it corresponds to any circuit which marks elements. They show other signs of confusion about Grover's algorithm, as they claim that the &quot;tagging [performed by the oracle] is one to one, i.e. there is a single unique tag for each and every element in the search space&quot;. I don't know what that is supposed to mean, but it doesn't sound like the black box in Grover's algorithm to me.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, with some inspection, I can say that it doesn't seem even to describe how it is meant to represent Grover's algorithm, and there is reason to believe it could never actually do so (nor surpass it) anyway.&lt;/p&gt;&#xA;" OwnerUserId="248" LastEditorUserId="-1" LastEditDate="2017-03-16T15:45:13.547" LastActivityDate="2012-12-10T14:55:31.067" CommentCount="0" CommunityOwnedDate="2012-12-10T14:55:31.067" ContentLicense="CC BY-SA 3.0" />
  <row Id="14695" PostTypeId="2" ParentId="14632" CreationDate="2012-12-10T22:57:09.533" Score="3" Body="&lt;p&gt;I cannot tell from your question how deep your understanding of syntax and semantics is, but I see some pitfalls there. A programming language has an indispensable syntactic component. It also has a semantic component. And there is the connection between syntax and semantics. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are many semantic structures that have been proposed to give meaning to programming languages. These vary from operational semantics to domain theoretic structures. If you want to start with semantics, you can identify a space of domains and then try to define a language that can express properties of these domains. Samson Abramsky, in his PhD thesis, showed that this process can be made very systematic.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;a href=&quot;http://www.cs.ox.ac.uk/files/295/dtlf.pdf&quot; rel=&quot;nofollow&quot;&gt;Domain Theory in Logical Form&lt;/a&gt;, Samson Abramsky, PhD Thesis, 1987.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Specifically, this dissertation shows that there is a family of semantic structures, a family of logics, a family of topological spaces, and a programming language that sit in very tight correspondence (think isomorphism). You can start with one family of objects and derive the other. Samson's work allows you to start with semantic structures and derive a logic, for example.&lt;/p&gt;&#xA;" OwnerUserId="4155" LastActivityDate="2012-12-10T22:57:09.533" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="14699" PostTypeId="2" ParentId="14670" CreationDate="2012-12-11T03:45:21.147" Score="15" Body="&lt;p&gt;I'd just like to write down some version of a padding argument as described in the comments. I don't see why a gap is needed. We want to show that if NP is not contained in P/poly then there is an NP-intermediate problem not contained in P/poly.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is an unbounded function $f$ such that SAT does not have circuits of size less than $n^{f(n)}$, and so there is a function $g$ that is unbounded, increasing, and $g(n)=o(f(n))$. Let SAT' denote the language obtained by padding SAT strings of length $n$ to $n^{g(n)}$. Then:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;SAT' is in NP (see below!)&lt;/li&gt;&#xA;&lt;li&gt;SAT' is not in P/poly: given circuits of size $n^k$ for SAT', we get circuits of size $n^{g(n)k}$ for SAT, but this is less than $n^{f(n)}$ for some $n$. &lt;/li&gt;&#xA;&lt;li&gt;There is no P/poly reduction from SAT to SAT': suppose for contradiction that there are circuits $C_n$ of size $n^k$ for SAT, allowing SAT' gates. Pick $N$ large enough that $g(\sqrt{N}) &amp;gt; 2k$ and let $n&amp;gt;N$.&#xA;Each SAT' gate in $C_n$ has at most $n^k$ inputs. By removing the padding inputs we can trim the SAT' gates in $C_n$ to a SAT gate with less than $\sqrt{n}$ inputs, which we can simulate using $C_{\sqrt{n}}$ - the resulting SAT' gates have at most $n^{k/2}$ inputs. Repeating this and treating $C_N$ by hand, SAT would have circuits of about size $O(n^k n^{k/2} n^{k/4} \dots) \approx O(n^{2k})$ which is less than $n^{f(n)}$ for some $n$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Edit:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The choice of $g$ is slightly fiddly. If you are happy putting SAT' in the promise version of NP, this bit is unnecessary.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Define $f(n)$ to be the maximum integer such that there is no circuit of size $n^{f(n)}$ for length $n$ strings for SAT.&#xA;Define $g(n)$ by an algorithm that calculates $f(m)$ for $m=1,2,\dots$ and&#xA;stops after time $n$ or when $m=n$, and returns the floor of the&#xA;square root of the highest value found in this time.&#xA;So $g(n)$ is unbounded and $\liminf g(n)/f(n)=0$ and $g(n)$ can be computed in time $n$.&#xA;Now note that the above arguments only rely on SAT having no circuits&#xA;of size $n^{f(n)}$ for infinitely many $n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'd also find it interesting to see a proof by blowing holes in SAT as in &lt;a href=&quot;http://blog.computationalcomplexity.org/media/ladner.pdf&quot;&gt;http://blog.computationalcomplexity.org/media/ladner.pdf&lt;/a&gt;.&#xA;Without the NP requirement this is fairly easy:&#xA;there is a sequence $n_1&amp;lt;n_2&amp;lt;\dots$ such that no circuit os size $(n_k)^k$ detects SAT strings of length $n$;&#xA;restrict SAT to strings of length $n_{2^{2^i}}$ for some $i$.&lt;/p&gt;&#xA;" OwnerUserId="636" LastEditorUserId="636" LastEditDate="2012-12-11T14:38:10.193" LastActivityDate="2012-12-11T14:38:10.193" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="14700" PostTypeId="1" CreationDate="2012-12-11T04:54:25.220" Score="5" ViewCount="885" Body="&lt;p&gt;If a circuit ({AND OR NOT} circuit) with depth &lt;em&gt;d&lt;/em&gt; computes the majority function,&lt;br&gt; what's the best lower bound for majority function?&#xA;&lt;br&gt;&lt;br&gt;I know the lower bound for parity function is $ 2^{\Omega (n^{1/d})} $&lt;/p&gt;&#xA;" OwnerUserId="12814" LastEditorUserId="12814" LastEditDate="2012-12-11T06:13:11.447" LastActivityDate="2012-12-11T08:33:41.403" Title="lower bound of majority function?" Tags="&lt;cc.complexity-theory&gt;&lt;lower-bounds&gt;" AnswerCount="2" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14701" PostTypeId="2" ParentId="14700" CreationDate="2012-12-11T05:25:20.673" Score="10" Body="&lt;p&gt;You haven't specified exactly what kind of circuits, but in general since parity $\oplus$ is in $\mathsf{TC^0}$ and majority $Maj$ is complete for $\mathsf{TC^0}$, you get a similar subexponential size lower-bound for majority. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A simple reduction would go through counting function $NumOnes$ that counts the number 1s in the input in binary. This would give $2^{n^{\Omega(1/d)}}$ where constant in the exponent comes from the size of $\mathsf{AC^0}[Maj]$ circuit computing $numones$. I don't know the best value of the constant but it shouldn't be big.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, there are $2^{n^{O(1/d)}}$ circuits for majority as majority is in $\mathsf{NC^1}$ and any $\mathsf{NC^1}$ circuits can be converted into a subexponential-size bounded-depth $\mathsf{AC^0}$ circuit (by performing a layered brute-force).&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2012-12-11T05:53:06.950" LastActivityDate="2012-12-11T05:53:06.950" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="14702" PostTypeId="2" ParentId="14700" CreationDate="2012-12-11T08:33:41.403" Score="10" Body="&lt;p&gt;The original paper by Smolensky, &lt;em&gt;On Representations by Low-Degree Polynomials&lt;/em&gt;, actually contains a direct lower bound on majority. You can have a look at the &lt;a href=&quot;http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=00366874&quot;&gt;original paper&lt;/a&gt; (behind a paywall) or at &lt;a href=&quot;http://www.cs.toronto.edu/~yuvalf/Smolensky.pdf&quot;&gt;this writeup&lt;/a&gt;. For the converse, it is known that an NC$^1$ circuit of size $S$ can be simulated in AC$_0^d$ in size $2^{S^{1/\Omega(d)}}$. Majority has NC$^1$ circuits of polynomial size, and so you can't get a lower bound better than $2^{n^{1/O(d)}}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The state-of-the-art might well be &lt;a href=&quot;http://www.cs.gunma-u.ac.jp/~amano/paper/icalp_cr.pdf&quot;&gt;Amano's paper&lt;/a&gt; for the upper bound, &lt;a href=&quot;http://www.cs.cmu.edu/~odonnell/papers/approx-by-dnf.pdf&quot;&gt;O'Donnell and Wimmer&lt;/a&gt; for the lower bound; the latter use Håstad's switching lemma. According to Amano, the minimum size of a depth $d$ circuit that $\epsilon$-approximates Majority on $n$ variables is $\exp(\Theta(n^{1/(2d-2)}))$.&lt;/p&gt;&#xA;" OwnerUserId="40" LastActivityDate="2012-12-11T08:33:41.403" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="14705" PostTypeId="1" CreationDate="2012-12-11T17:18:00.590" Score="8" ViewCount="471" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;Given a weighted undirected graph $G = (V, E)$ with maximum degree $\mu$ and with positive edge weights, is it possible to construct another graph $H = (V \cup V', E')$ with maximum degree $\mu' = o(\mu)$ (ignoring poly-log factors) such that the following two conditions are satisfied: (1) the exact distance between each pair of vertices $u, v$ remains unchanged; and (2) each edge in $H$ has a positive weight?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Has this problem been studied? Does this problem have a name? Are there any known lower and/or upper bounds on $\mu'$? Are there efficient algorithms to construct, if at all possible, such a graph $H$? What if I am also interested in the poly-log factors? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Do the answer to any of the above questions change if we consider the special case of unweighted graphs? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Clearly, the problem is of interest only if $\mu = \Omega(|V|^{\varepsilon})$ for some $\varepsilon &amp;gt; 0$. Also, note that the problem is extremely trivial if we do not require the second condition. Also, assume that $G$ is a connected graph.&lt;/p&gt;&#xA;" OwnerUserId="7187" LastActivityDate="2012-12-11T17:18:00.590" Title="Reducing the maximum degree in a graph" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;" AnswerCount="0" CommentCount="8" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="14707" PostTypeId="2" ParentId="14675" CreationDate="2012-12-12T03:35:39.693" Score="2" Body="&lt;p&gt;In my comment above I said perhaps $\Theta(\min_{k \le m} kn^{\frac{1}{k}})$ is a tight bound. I'm not sure about the lower bound, but since you just want an explanation for what $k$ means, I can explain the intuition using the upper bound.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As you guessed, $k$ is the number of eggs actually used. That explains the $\min$ on the outside. Now once we've decided to use $k$ eggs, here's a strategy that works: Think of the number $n$ as being written out in base $n^{1/k}$. So $n$'s representation will have $k$ &quot;digits&quot; (the word &quot;digit&quot; is usually reserved for base 10, but I'll use it here), and each digit holds a value from 0 to $n^{1/k}-1$. With our $k$ eggs, we're trying to extract the digits of $n$ one by one. First we start with the most significant digit. This can be determined by throwing an egg from the floor numbered $100..00$, $200..00$, and so on. After at most $n^{1/k}-1$ throws, we've learnt what the most significant bit is, and in the worst case we've broken only 1 egg. Now we do this for all the other digits. Since there are $k$ digits, we'll need $O(kn^{1/k})$ throws.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As a sanity check, observe that when $k=1$, this strategy boils down to dropping eggs from each floor one by one starting from floor 1. When $k = \log n$, we're just working in base 2. So this yields the binary search algorithm. &lt;/p&gt;&#xA;" OwnerUserId="206" LastActivityDate="2012-12-12T03:35:39.693" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14709" PostTypeId="2" ParentId="3111" CreationDate="2012-12-12T07:53:30.923" Score="2" Body="&lt;p&gt;Found this on László Babai's homepage:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&quot;Enjoy a fun paper from 1990 that is only partly technical and tells a fable about Merlin, Arthur, competition, and the ethics of mathematical communication: &#xA;&lt;a href=&quot;http://people.cs.uchicago.edu/~laci/papers/email90.pdf&quot; rel=&quot;nofollow&quot;&gt;E-mail and the Unexpected Power of Interaction&lt;/a&gt;&quot;&lt;/p&gt;&#xA;" OwnerUserId="547" LastActivityDate="2012-12-12T07:53:30.923" CommentCount="0" CommunityOwnedDate="2012-12-12T07:53:30.923" ContentLicense="CC BY-SA 3.0" />
  <row Id="14710" PostTypeId="2" ParentId="14664" CreationDate="2012-12-12T09:28:34.373" Score="5" Body="&lt;p&gt;Concerning (bonus) question 3: the functions definable in the variant with $\log(x)$-bounded summation are all in the complexity class uniform $\mathsf{TC}^0$. This follows from the construction in &lt;a href=&quot;http://dx.doi.org/10.1137/0213027&quot;&gt;Chandra, Stockmeyer and Vishkin &quot;Constant depth reducibility&quot;, SIAM J. Comput. 13 (1984)&lt;/a&gt; showing that the sum of $n$ numbers of $n$ bits each can be computed by poynomial size constant depth circuits with majority gates.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;With constant bounded summation you get a subclass of uniform $\mathsf{AC}^0$. Constant bounded summation can be reduced to addition and composition, and addition can be computed by constant depth boolean circuits using the carry-lookahead method. &lt;/p&gt;&#xA;" OwnerUserId="6579" LastActivityDate="2012-12-12T09:28:34.373" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14713" PostTypeId="2" ParentId="14670" CreationDate="2012-12-12T17:45:45.033" Score="-13" Body="&lt;p&gt;(NPI $\nsubseteq$ P/poly) $\implies$ (P$\neq$NP)&lt;/p&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="7884" LastEditDate="2012-12-12T18:40:40.660" LastActivityDate="2012-12-12T18:40:40.660" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="14715" PostTypeId="2" ParentId="6660" CreationDate="2012-12-12T19:03:32.557" Score="9" Body="&lt;p&gt;The Robertson-Seymour theorem aka Graph Minor Theorem establishes among other things that for any graph $G$, there exists an $O(n^3)$ algorithm that determines whether an arbitrary graph $H$ (of size $n$) has $G$ as a minor.  The proof is nonconstructive and the (I think non-uniform) multiplicative constant is probably so enormous that no formula for it can be written down explicitly (e.g. as a primitive recursive function on $G$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Graph_minor_theorem#Polynomial_time_recognition&quot;&gt;http://en.wikipedia.org/wiki/Graph_minor_theorem#Polynomial_time_recognition&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="12830" LastActivityDate="2012-12-12T19:03:32.557" CommentCount="0" CommunityOwnedDate="2012-12-12T19:03:32.557" ContentLicense="CC BY-SA 3.0" />
  <row Id="14716" PostTypeId="2" ParentId="6068" CreationDate="2012-12-12T21:33:39.733" Score="7" Body="&lt;p&gt;There actually &lt;em&gt;is&lt;/em&gt; a (relatively) simple recursive modular decomposition algorithm that works in linear time. See: &lt;a href=&quot;http://www.cs.utoronto.ca/~mtedder/TedderModular.pdf&quot;&gt;http://www.cs.utoronto.ca/~mtedder/TedderModular.pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="12831" LastActivityDate="2012-12-12T21:33:39.733" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14717" PostTypeId="1" CreationDate="2012-12-12T23:41:54.793" Score="5" ViewCount="225" Body="&lt;p&gt;Given a connected arbitrary network $G = (V,E)$, where $V$ is a set of nodes (processors) and $E$ is the set of edges between the nodes. Each node $v _i$ is assigned a non-empty set $S(v _i)$, where $\bigcup _i S(v _i) = S$. The set $S$ is a universe of size $k$. The objective is to let each node  $v _i$ find  a subset $S'(v _i) \subseteq S(v _i)$ such that (by simply communicating with each other).&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;$\bigcup _i S'(v _i) = S$&lt;/li&gt;&#xA;&lt;li&gt;For each $v_i$ and $v _j$ such that $i \neq j$, $S'(v _i) \cap S'(v _j) = \emptyset$. &lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;The idea is that no two set $S'(v_i)$ and $S'(v _j)$ share any common elements, while a set $S'(v _i)$ may be empty. Yet, every element of $S$ must be in a set $S'(v _i)$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem is quite simple as you notice. The problem is at least as costly as election. My questions though:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Are there similar problems to this problem (note that the sets are not processors !) &lt;/li&gt;&#xA;&lt;li&gt;Do you think there are efficient randomized distributed algorithms for this problem ?  Any hints for some techniques that may help break the election bound. (By randomized: I mean I may relax the Req2. such that some nodes have intersecting sets, but not many of them).    &lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Note: any computational model would be accepted (I m just looking for hints). But asynchronous computational model with unique ID's is perhaps the most preferred. &lt;/p&gt;&#xA;" OwnerUserId="5411" LastEditorUserId="5411" LastEditDate="2012-12-13T18:11:58.957" LastActivityDate="2012-12-13T18:11:58.957" Title="Distributed algorithms on sets" Tags="&lt;reference-request&gt;&lt;randomized-algorithms&gt;&lt;dc.distributed-comp&gt;" AnswerCount="0" CommentCount="14" ContentLicense="CC BY-SA 3.0" />
  <row Id="14718" PostTypeId="2" ParentId="14630" CreationDate="2012-12-13T09:05:55.103" Score="12" Body="&lt;p&gt;An optimal solution lies on some face.  So, we can go through all the faces of the cube, and find all stationary points on each of the faces.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is a more concrete procedure.  A face of the cube can be characterized by two disjoint index sets $I_0$ and $I_1$.  For $i \in I_0$, we fix $x_i = 0$, and for $i \in I_1$ we fix $x_i = 1$.  Let $\tilde{x}$ consist of the remaining unfixed entries of $x$.  This fixing turns the objective function into the following form:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;\tilde{x}^{\top} \tilde{A} \tilde{x} + \tilde{c}^{\top} \tilde{x} + d,&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;with appropriate $\tilde{A}$ and $\tilde{c}$, and some constant $d$, and we want to find the stationary points of this function under the condition that $0 &amp;lt; \tilde{x} &amp;lt; 1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To this end, we take the differentiation of the objective function to obtain&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;\frac{1}{2} \tilde{A} \tilde{x} + \tilde{c} = 0.&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Solving this system of linear equations gives you the stationary points, the candidates for optimal solutions.  We go through all of them, check the condition, and choose one with the minimum objective value.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The overall time complexity is something like $O(3^n \text{poly}(n))$ since the number of faces of the $n$-cube is $3^n$ and a system of linear equations can be solved in polynomial time.  The space complexity is polynomial in $n$.&lt;/p&gt;&#xA;" OwnerUserId="2955" LastActivityDate="2012-12-13T09:05:55.103" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="14721" PostTypeId="2" ParentId="14670" CreationDate="2012-12-13T14:43:12.340" Score="18" Body="&lt;p&gt;Here is a possible alternative to a padding argument, based on Schöning's generalization of Ladner's theorem. To understand the argument, you need to have access to this paper (which will unfortunately be behind a pay wall for many):&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Uwe Schöning. &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/0304397582901141&quot;&gt;A uniform approach to obtain diagonal sets in complexity&#xA;  classes.&lt;/a&gt; Theoretical Computer Science 18(1):95-103, 1982.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;We will apply the main theorem from that paper for $A_1$ and $A_2$ being languages and $\mathsf{C}_1$ and $\mathsf{C}_2$ being complexity classes as follows:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$A_1 = \varnothing$ (or any language in $\mathsf{P}$)&lt;/li&gt;&#xA;&lt;li&gt;$A_2 = \text{SAT}$&lt;/li&gt;&#xA;&lt;li&gt;$\mathsf{C}_1 = \mathsf{NPC}$&lt;/li&gt;&#xA;&lt;li&gt;$\mathsf{C}_2 = \mathsf{NP} \cap \mathsf{P/poly}$&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;For the sake of clarity, the fact we will prove is $\mathsf{NP} \not\subseteq \mathsf{P/poly}$ implies $\mathsf{NPI} \not\subseteq \mathsf{P/poly}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Under the assumption that $\mathsf{NP} \not\subseteq \mathsf{P/poly}$ we have $A_1\not\in\mathsf{C}_1$ and $A_2\not\in\mathsf{C}_2$. It is clear that $\mathsf{C}_1$ and $\mathsf{C}_2$ are closed under finite variations. Schöning's paper includes a proof that $\mathsf{C}_1$ is recursively presentable (the precise definition of which can be found in the paper), and the hardest part of the argument is to prove that $\mathsf{C}_2$ is recursively presentable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Under these assumptions, the theorem implies that there exists a language $A$ that is neither in $\mathsf{C}_1$ nor in $\mathsf{C}_2$; and given that $A_1\in\mathsf{P}$, it holds that $A$ is Karp-reducible to $A_2$, and therefore $A\in\mathsf{NP}$. Given that $A$ is in $\mathsf{NP}$ but is neither $\mathsf{NP}$-complete nor in $\mathsf{NP} \cap \mathsf{P/poly}$, it follows that $\mathsf{NPI} \not\subseteq \mathsf{P/poly}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It remains to prove that $\mathsf{NP} \cap \mathsf{P/poly}$ is recursively presentable. Basically this means that there is an explicit description of a sequence of deterministic Turing machines $M_1, M_2, \ldots$ that all halt on all inputs and are such that $\mathsf{NP} \cap \mathsf{P/poly} = \{L(M_k):k=1,2,\ldots\}$. If there is a mistake in my argument it is probably here, and if you really need to use this result you will want to do this carefully. Anyway, by dovetailing over all polynomial-time nondeterministic Turing machines (which can be simulated deterministically because we don't care about the running time of each $M_k$) and all polynomials, representing upper bounds on the size of a Boolean circuit family for a given language, I believe it is not difficult to obtain an enumeration that works. In essence, each $M_k$ can test that its corresponding polynomial-time NTM agrees with some family of polynomial-size circuits up to the length of the input string it is given by searching over all possible Boolean circuits. If there is agreement, $M_k$ outputs as the NTM would, otherwise it rejects (and as a result represents a finite language).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The basic intuition behind the argument (which is hidden inside Schöning's result) is that you can never have two &quot;nice&quot; complexity classes (i.e., ones with recursive presentations) being disjoint and sitting flush against each other. The &quot;topology&quot; of complex classes won't allow it: you can always construct a language properly in between the two classes by somehow alternating between the two for extremely long stretches of input lengths. Ladner's theorem shows this for $\mathsf{P}$ and $\mathsf{NPC}$, and Schöning's generalization lets you do the same for many other classes.&lt;/p&gt;&#xA;" OwnerUserId="819" LastActivityDate="2012-12-13T14:43:12.340" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="14725" PostTypeId="1" CreationDate="2012-12-14T00:09:54.500" Score="7" ViewCount="883" Body="&lt;h2&gt;Problem&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;I'm writing a document where I have to describe some of the properties of a type system as they relate to a particular formal grammar.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I was trying to refer to the right-hand-sides of the last two productions in the grammar when it struck me that it's very strange that I've pretty much always heard the left- and right-hand sides describes as such.&#xA;In particular it seems like an &lt;strong&gt;artifact of our notation&lt;/strong&gt; having its roots in languages which are read from left-to-right.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It would make sense for there to be terms like in logic, where the left-hand-side of an implication is the &lt;code&gt;antecedent&lt;/code&gt; and the right-hand-side is the &lt;code&gt;consequent&lt;/code&gt;.&#xA;These words don't refer to the notation properties, but actually describe the meaning of the implication from each side (although I suppose you could make the argument that they are artifacts of our conception of causality, but at least this provides some insight into the &lt;em&gt;interpretation&lt;/em&gt; of the terms rather than the &lt;em&gt;notation&lt;/em&gt;).&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;What I've tried so far:&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;I thought about it for a little while and the most natural words I could come up with were &lt;code&gt;source&lt;/code&gt; and &lt;code&gt;destination&lt;/code&gt; (obviously for the left- and right-hand-sides of the production, respectively.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Sources I've checked:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Looked through a couple of my textbooks on formal languages and compilers;&lt;/li&gt;&#xA;&lt;li&gt;Checked some likely Wikipedia pages;&lt;/li&gt;&#xA;&lt;li&gt;Skimmed/ctrl+f'd some online teaching resources, and of course;&lt;/li&gt;&#xA;&lt;li&gt;Checked math.stackexchange and also cstheory.stackexchange&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Are there alternative names which are in colloquial use among computer scientists for referring to these components?&lt;/p&gt;&#xA;" OwnerUserId="6286" LastActivityDate="2012-12-14T00:09:54.500" Title="Names for the left- and right-hand sides of a grammar production?" Tags="&lt;fl.formal-languages&gt;&lt;grammars&gt;&lt;notation&gt;" AnswerCount="0" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="14726" PostTypeId="1" AcceptedAnswerId="14727" CreationDate="2012-12-14T11:16:32.477" Score="17" ViewCount="1168" Body="&lt;p&gt;Most sites I have visited reading on this interesting topic state something along the lines&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&quot;the only powers of two (other than 2 itself) that occur in this sequence are those with prime exponent&quot; (MathWorld)&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;or&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&quot;After 2, this sequence contains the following powers of 2: [...] which are the prime powers of 2.&quot; (Wikipedia)&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;These careful formulations would imply that the set of powers of 2 generated in the sequence is a subset of prime powers of 2.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, the OEIS seems absolutely certain that the two sets are equal: &lt;a href=&quot;http://oeis.org/A034785&quot;&gt;http://oeis.org/A034785&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This result is also cited on other sites I do not consider very reliable for exact wording, like&#xA;&lt;a href=&quot;http://esolangs.org/wiki/Fractran&quot;&gt;http://esolangs.org/wiki/Fractran&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Honestly, I have not understood the internal mechanics of PRIMEGAME enough to answer my own question yet. However, I think it makes a significant difference in the interestingness of PRIMEGAME. Why would sites like MathWorld not state the full fact?&lt;/p&gt;&#xA;" OwnerUserId="12844" LastEditorUserId="80" LastEditDate="2012-12-14T16:21:52.093" LastActivityDate="2015-05-27T21:02:45.690" Title="Does Conway's PRIMEGAME generate all prime powers of 2?" Tags="&lt;reference-request&gt;&lt;primes&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="14727" PostTypeId="2" ParentId="14726" CreationDate="2012-12-14T17:51:29.253" Score="26" Body="&lt;p&gt;Yes, PRIMEGAME outputs $2^k$ if and only if $k$ is prime.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Conway's original paper is well worth reading if you can track it down.  You can also find a very clear exposition in Richard Guy's paper &lt;a href=&quot;http://www.jstor.org/stable/2690263&quot; rel=&quot;noreferrer&quot;&gt;Conway's prime producing machine&lt;/a&gt; (&lt;em&gt;Mathematics Magazine&lt;/em&gt; 56(1):26–33, 1983), including the wonderful cartoon below. (Yes, that's Conway with the Alexander horns, referring to a famous drawing by Simon Fraser.)  Conway himself posted &lt;a href=&quot;http://www.mathematik.uni-bielefeld.de/~sillke/NEWS/fractran&quot; rel=&quot;noreferrer&quot;&gt;a concise proof on the math-fun mailing list&lt;/a&gt;.  There's also &lt;a href=&quot;http://oeis.org/wiki/Conway&amp;#39;s_PRIMEGAME&quot; rel=&quot;noreferrer&quot;&gt;a brief explanation at the OEIS blog&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/6ZPkF.jpg&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;" OwnerUserId="111" LastEditorUserId="111" LastEditDate="2015-05-27T21:02:45.690" LastActivityDate="2015-05-27T21:02:45.690" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14728" PostTypeId="1" AcceptedAnswerId="14731" CreationDate="2012-12-14T19:58:07.450" Score="8" ViewCount="470" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;What are there some applications of modular graph decomposition in TCS/complexity theory?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I am especially interested in its use in proofs or upper/lower bounds if it occurs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] &lt;a href=&quot;http://en.wikipedia.org/wiki/Modular_decomposition&quot; rel=&quot;nofollow noreferrer&quot;&gt;Modular graph decomposition&lt;/a&gt;, Wikipedia.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] &lt;a href=&quot;https://cstheory.stackexchange.com/questions/6068/references-for-modular-decomposition&quot;&gt;References for Modular Decomposition&lt;/a&gt;, TCS.SE.&lt;/p&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2012-12-15T08:07:04.527" Title="Are there applications of modular graph decomposition in TCS/complexity theory?" Tags="&lt;reference-request&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;application-of-theory&gt;&lt;cc.complexity-theory&gt;" AnswerCount="1" CommentCount="8" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="14729" PostTypeId="1" AcceptedAnswerId="14733" CreationDate="2012-12-14T21:54:05.433" Score="3" ViewCount="1652" Body="&lt;p&gt;I was recently reading about &lt;a href=&quot;http://en.wikipedia.org/wiki/Langton%27s_ant&quot; rel=&quot;nofollow&quot;&gt;Langton's ant&lt;/a&gt; and the related conjecture which states that for every initial configuration, the ant eventually starts building a 'highway'.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I also read that it has been shown that Langton's ant can be used to simulate any boolean circuit thus the ant is capable of universal computation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But I am confused by those two facts because if the conjecture is true, then every computation performed by the ant will eventually end up to a highway which is easily detectable thus making any problem related to Langton's ant decidable. But how can this be true if Langton's ant is computationaly equivalent to a Turing machine for which there exist many undecidable problems?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I also read &lt;a href=&quot;http://www.dim.uchile.cl/~anmoreir/oficial/langton_dam.pdf&quot; rel=&quot;nofollow&quot;&gt;this paper&lt;/a&gt; and it specifically says in section 1.2: &quot;If the conjecture is true, then any problem associated to the ant, whose input is an initial configuration with finite support, is decidable&quot; whereas in section 1.3 it states: &quot;There are undecidable problems associated to the behavior of the ant.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I suspect that my confusion on the matter has something to do with the finiteness/infiniteness of the input since in section 4 of the previous paper it says that Langton's ant universality is &quot;a rather weak notion of universality (which requires an infinite - but finitely described - configuration)&quot; which I'm not entirely sure I understand.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So my question is what's wrong with the above reasoning which suggests that the highway conjecture should be false (otherwise there would be no undecidable problems)?&lt;/p&gt;&#xA;" OwnerUserId="12847" LastEditorUserId="5693" LastEditDate="2012-12-14T22:54:23.653" LastActivityDate="2017-01-20T17:29:23.193" Title="Langton's ant highway conjecture and undecidability" Tags="&lt;computability&gt;&lt;turing-machines&gt;&lt;cellular-automata&gt;" AnswerCount="1" CommentCount="7" FavoriteCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14731" PostTypeId="2" ParentId="14728" CreationDate="2012-12-15T08:07:04.527" Score="11" Body="&lt;p&gt;Habib and Paul did a great &lt;a href=&quot;http://dx.doi.org/10.1016/j.cosrev.2010.01.001&quot;&gt;survey&lt;/a&gt; on the algorithmic applications of graph modular decomposition.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In &lt;a href=&quot;http://arxiv.org/pdf/1211.5933&quot;&gt;our recent result&lt;/a&gt; that shows parameterized tractability of INTERVAL DELETION problem (to remove at most $k$ vertices from the give graph to make it into an interval graph), graph modular decomposition does plays an important role. This problem does receive a lot of interest in the parameterized complexity community (though not in the tradition complexity community), and the problems related to graph classes are the most natural candidates of applications of graph modular decomposition.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, I am not aware of any application of graph modular decomposition in proofs of lower bounds, and I doubt its applicability on the negative side (only a personal biased view).  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A final remark.  As far as I know, most algorithmic applications do &lt;em&gt;not&lt;/em&gt; use the full power of graph modular decomposition.  For instance, critical cliques are the &lt;em&gt;series modules&lt;/em&gt; at the second level of a modular decomposition tree (the first level consists of every single vertex); and twins are (not necessarily strong) modules made of two adjacent vertices.&lt;/p&gt;&#xA;" OwnerUserId="7059" LastActivityDate="2012-12-15T08:07:04.527" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14732" PostTypeId="1" AcceptedAnswerId="14741" CreationDate="2012-12-15T08:34:15.947" Score="14" ViewCount="1858" Body="&lt;p&gt;A popular game at holiday parties in North America is the &lt;strong&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/White_elephant_gift_exchange&quot; rel=&quot;noreferrer&quot;&gt;white elephant gift exchange&lt;/a&gt;&lt;/strong&gt;. In brief (ignoring variations) it works as follows:&lt;/p&gt;&#xA;&lt;p&gt;There are &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt; people and &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt; wrapped gifts. Players are ordered arbitrarily. In the &lt;span class=&quot;math-container&quot;&gt;$i^{\text{th}}$&lt;/span&gt; round, player &lt;span class=&quot;math-container&quot;&gt;$i$&lt;/span&gt; either&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;chooses a wrapped gift and unwraps it as their present&lt;/li&gt;&#xA;&lt;li&gt;&amp;quot;steals&amp;quot; one of the already opened gifts (from some player &lt;span class=&quot;math-container&quot;&gt;$k &amp;lt; i$&lt;/span&gt;).&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;If a player's gift is stolen, they now have the opportunity to do the same thing. A round is complete when a player chooses a wrapped gift.&lt;/p&gt;&#xA;&lt;p&gt;While there are many variations in the system, one point to note is that the player going last has an unfair advantage because they alone are guaranteed the ability to choose any &lt;em&gt;unwrapped&lt;/em&gt; gift.&lt;/p&gt;&#xA;&lt;p&gt;THis falls under the class of fair-division methods pertaining to indivisible goods (unlike cake cutting).&lt;/p&gt;&#xA;&lt;p&gt;My questions is:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Are there mechanisms for disbursing the gifts that are fair (in that&#xA;each player has the same opportunity to choose a high value gift under&#xA;their valuation) ?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Note that some flexibility will be needed in the definition of fair since the goods are indivisible and we are not introducing monetary compensation for players.&lt;/p&gt;&#xA;" OwnerUserId="80" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2020-01-08T05:18:16.853" Title="White elephant gift exchanges: mechanisms for fair division" Tags="&lt;gt.game-theory&gt;&lt;mechanism-design&gt;" AnswerCount="3" CommentCount="3" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="14733" PostTypeId="2" ParentId="14729" CreationDate="2012-12-15T11:41:21.353" Score="4" Body="&lt;p&gt;From the comment: the undecidable questions are related to initial configurations with &lt;strong&gt;infinite support&lt;/strong&gt;, whereas the conjecture refers to the behaviour of the ant when starting from a configuration with &lt;strong&gt;finite support&lt;/strong&gt; (all but a finite number of cells are in the same initial state). If the conjecture is true then there are no undecidable problems starting from a finite support: just stop when the ant starts building the highway towards empty space.&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2012-12-15T12:54:33.803" LastActivityDate="2012-12-15T12:54:33.803" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14734" PostTypeId="1" AcceptedAnswerId="40157" CreationDate="2012-12-15T12:56:12.110" Score="8" ViewCount="4875" Body="&lt;p&gt;I am using a calculation of the Variance-Covariance matrix in a program I wrote (for Principal Component Analysis), and am wondering what the complexity of it is. While obviously the Eigenvector decomposition is causing the largest performance hit, I am wondering how much of that hit is caused by the Covariance Matrix computation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The asymptotic running time I estimate it to use is $O(N\cdot n^2)$ using a naive algorithm, because it has to take the means of all the data of size $N$ and then has to do it for every dimension (where $n$ is the number of dimensions) in a nested iteration, and thus producing a $n^2$ size matrix.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is my assumption correct, or if not what is the asymptotic complexity?&lt;/p&gt;&#xA;" OwnerUserId="12852" LastEditorUserId="12852" LastEditDate="2012-12-15T13:02:16.013" LastActivityDate="2018-02-12T13:29:05.547" Title="What is computational complexity of calculating the Variance-Covariance Matrix?" Tags="&lt;time-complexity&gt;&lt;linear-algebra&gt;&lt;matrices&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="14735" PostTypeId="1" AcceptedAnswerId="14745" CreationDate="2012-12-15T13:39:33.253" Score="12" ViewCount="462" Body="&lt;p&gt;Fix &lt;span class=&quot;math-container&quot;&gt;$X \subset \lbrace 0,1 \rbrace^* \times \lbrace 0,1 \rbrace^*$&lt;/span&gt; an NP-complete search problem e.g. the search form of SAT. Levin search provides an algorithm &lt;span class=&quot;math-container&quot;&gt;$L$&lt;/span&gt; for solving &lt;span class=&quot;math-container&quot;&gt;$X$&lt;/span&gt; which is optimal in some sense. Specifically, the algorithm is &amp;quot;Execute all possible programs &lt;span class=&quot;math-container&quot;&gt;$P$&lt;/span&gt; in dovetailing on the input &lt;span class=&quot;math-container&quot;&gt;$x$&lt;/span&gt;, once some &lt;span class=&quot;math-container&quot;&gt;$P$&lt;/span&gt; returns answer &lt;span class=&quot;math-container&quot;&gt;$y$&lt;/span&gt; tests whether it's correct&amp;quot;. It is optimal in the sense that given a program &lt;span class=&quot;math-container&quot;&gt;$P$&lt;/span&gt; that solves &lt;span class=&quot;math-container&quot;&gt;$X$&lt;/span&gt; with time complexity &lt;span class=&quot;math-container&quot;&gt;$t_P(n)$&lt;/span&gt;, the time complexity &lt;span class=&quot;math-container&quot;&gt;$t_L(n)$&lt;/span&gt; of &lt;span class=&quot;math-container&quot;&gt;$L$&lt;/span&gt; satisfies&lt;/p&gt;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$$t_L(n) &amp;lt; 2^{|P|}p(t_P(n))$$&lt;/span&gt;&lt;/p&gt;&#xA;&lt;p&gt;where &lt;span class=&quot;math-container&quot;&gt;$p$&lt;/span&gt; is a fixed polynomial which depends on the precise computation model&lt;/p&gt;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$L$&lt;/span&gt;'s optimality can be formulated in a somewhat stronger way. Namely, for every &lt;span class=&quot;math-container&quot;&gt;$M \subset \lbrace 0,1 \rbrace^*$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$Q$&lt;/span&gt; a program solving &lt;span class=&quot;math-container&quot;&gt;$X$&lt;/span&gt; with promise &lt;span class=&quot;math-container&quot;&gt;$M$&lt;/span&gt; in time &lt;span class=&quot;math-container&quot;&gt;$t^M_Q(n)$&lt;/span&gt;, the time complexity &lt;span class=&quot;math-container&quot;&gt;$t_L^M(n)$&lt;/span&gt; of &lt;span class=&quot;math-container&quot;&gt;$L$&lt;/span&gt; restricted to inputs in &lt;span class=&quot;math-container&quot;&gt;$M$&lt;/span&gt; satisfies&lt;/p&gt;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$$t_L^M(n) &amp;lt; 2^{|Q|}q(n, t^M_Q(n))$$&lt;/span&gt;&lt;/p&gt;&#xA;&lt;p&gt;where &lt;span class=&quot;math-container&quot;&gt;$q$&lt;/span&gt; is a fixed polynomial. The crucial difference is that &lt;span class=&quot;math-container&quot;&gt;$t^M_Q(n)$&lt;/span&gt; can be e.g. polynomial even if &lt;span class=&quot;math-container&quot;&gt;$P \neq NP$&lt;/span&gt;&lt;/p&gt;&#xA;&lt;p&gt;The obvious &amp;quot;weakness&amp;quot; of &lt;span class=&quot;math-container&quot;&gt;$L$&lt;/span&gt; is the large factor &lt;span class=&quot;math-container&quot;&gt;$2^{|Q|}$&lt;/span&gt; in this bound. It is easy to see that if there is an algorithm satisfying a bound of the same form with &lt;span class=&quot;math-container&quot;&gt;$2^{|Q|}$&lt;/span&gt; replaced by a polynomial in &lt;span class=&quot;math-container&quot;&gt;$|Q|$&lt;/span&gt; then &lt;span class=&quot;math-container&quot;&gt;$P = NP$&lt;/span&gt;. This is because we can take &lt;span class=&quot;math-container&quot;&gt;$Q$&lt;/span&gt; to be a program solving some given instance of &lt;span class=&quot;math-container&quot;&gt;$X$&lt;/span&gt; by hard-coding the answer. Similarly, if &lt;span class=&quot;math-container&quot;&gt;$2^{|Q|}$&lt;/span&gt; can be replaced by a sub-exponential function of &lt;span class=&quot;math-container&quot;&gt;$|Q|$&lt;/span&gt; then the exponential time hypothesis is violated. However, the answer to following question is less obvious (to me):&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Assuming the exponential time hypothesis and other well-known conjectures (e.g. non-degeneracy of the polynomial hierarchy, existence of one-way functions) if necessary, is there an algorithm &lt;span class=&quot;math-container&quot;&gt;$A$&lt;/span&gt; solving &lt;span class=&quot;math-container&quot;&gt;$X$&lt;/span&gt; s.t. for every &lt;span class=&quot;math-container&quot;&gt;$M \subset \lbrace 0,1 \rbrace^*$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$Q$&lt;/span&gt; a program solving &lt;span class=&quot;math-container&quot;&gt;$X$&lt;/span&gt; with promise &lt;span class=&quot;math-container&quot;&gt;$M$&lt;/span&gt; in time &lt;span class=&quot;math-container&quot;&gt;$t^M_Q(n)$&lt;/span&gt;, the time complexity &lt;span class=&quot;math-container&quot;&gt;$t_A^M(n)$&lt;/span&gt; of &lt;span class=&quot;math-container&quot;&gt;$A$&lt;/span&gt; restricted to inputs in &lt;span class=&quot;math-container&quot;&gt;$M$&lt;/span&gt; satisfies&lt;/p&gt;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$$t_A^M(n) &amp;lt; f(|Q|)q(n, t^M_Q(n)) + g(|Q|)$$&lt;/span&gt;&lt;/p&gt;&#xA;&lt;p&gt;where &lt;span class=&quot;math-container&quot;&gt;$q$&lt;/span&gt; is polynomial, &lt;span class=&quot;math-container&quot;&gt;$f$&lt;/span&gt; is sub-exponential and &lt;span class=&quot;math-container&quot;&gt;$g$&lt;/span&gt; is arbitrary&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;If the answer is positive, can &lt;span class=&quot;math-container&quot;&gt;$f$&lt;/span&gt; be polynomial? What is the growth rate of &lt;span class=&quot;math-container&quot;&gt;$g$&lt;/span&gt; (clearly at least exponential under ETH)? If the answer is negative, can polynomial &lt;span class=&quot;math-container&quot;&gt;$f$&lt;/span&gt; exist if ETH is wrong but &lt;span class=&quot;math-container&quot;&gt;$P \neq NP$&lt;/span&gt;?&lt;/p&gt;&#xA;" OwnerUserId="7030" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2012-12-16T07:06:44.427" Title="Optimal NP solvers" Tags="&lt;cc.complexity-theory&gt;&lt;time-complexity&gt;&lt;p-vs-np&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14736" PostTypeId="1" AcceptedAnswerId="14748" CreationDate="2012-12-15T13:45:12.300" Score="3" ViewCount="2967" Body="&lt;p&gt;Suppose, we are given a set of $k$ &lt;strong&gt;unit&lt;/strong&gt; vectors $v_1,\ldots,v_k$ in $\mathbb{R}^n$. Consider all possible dot products among distinct vectors $v_i \cdot v_j$, where $i \ne j$. Let,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\alpha = \max_{1 \le i &amp;lt;j \le k} \{v_i \cdot v_j\}.$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is the &lt;strong&gt;minimum&lt;/strong&gt; possible value of $\alpha$?&lt;/p&gt;&#xA;" OwnerUserId="9569" LastActivityDate="2012-12-16T15:26:10.697" Title="Minimizing the maximum dot product among k unit vectors in an n-dimensional space" Tags="&lt;linear-algebra&gt;&lt;convex-optimization&gt;&lt;convex-geometry&gt;" AnswerCount="2" CommentCount="10" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="14737" PostTypeId="2" ParentId="14732" CreationDate="2012-12-15T15:03:14.540" Score="7" Body="&lt;p&gt;Much of the white elephant gift exchange experience is also controlled by random selection. A popular variation includes the rule that the first picks last, but that is not always included in the rule. This takes the unfair advantage of being randomly selected first out of the equation. &#xA;Another rule requires that there are no direct &quot;steal-backs&quot; in the game. In addition, most games are played with a &quot;three-touch&quot; rule, that says that once opened, then stolen once, then stolen twice it becomes frozen from future stealing. This rule creates another level of unfair advantage to those who choose to pick a gift that has been touched twice.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Our recreation specialist as &lt;a href=&quot;http://albinophantblog.com/&quot;&gt;AlbinoPhant&lt;/a&gt; study these gift swap games all year long. If you want to add an extra random dimension to the game, use a Left-Right story within the game play. The story of &lt;a href=&quot;http://albinophantblog.com/white-elephant-gift-exchange/lefty-the-white-elephant-a-gift-exchange-story/&quot;&gt;Lefty the White Elephant&lt;/a&gt; is suggested as a sample.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The actual benefit of the exchanging of gifts within this activity is the social engagement that this process produces - The gifts usually are secondary to the fun of great banter. Nevertheless, all players leave with some level of gift reward.&lt;/p&gt;&#xA;" OwnerUserId="12853" LastActivityDate="2012-12-15T15:03:14.540" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14738" PostTypeId="2" ParentId="14264" CreationDate="2012-12-15T16:36:56.477" Score="2" Body="&lt;p&gt;Edit: In the end I did find a reference for the reduction I remembered. It is given in &lt;a href=&quot;http://www.cs.haifa.ac.il/~marinal/Networks.pdf&quot; rel=&quot;nofollow&quot;&gt;Edge intersection graphs of single bend paths on a grid&lt;/a&gt; by Golumbic, Lipshteyn, and Stern. So, to sum up, the class of graphs obtained as intersections of paths on a grid contains all graphs. Therefore, path coloring on grids is as hard to approximate as graph coloring ($n^{1-\epsilon}$-hard).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Original answer:&#xA;Path Coloring can be reduced to graph coloring in the obvious way (make a vertex for each path, add an edge if two paths intersect). If the underlying graph in path coloring is allowed to be a grid there is also a reduction in the opposite direction, which means that in this case the problems are equivalent. The reduction does not change the number of colors, so all hardness of approximation results for graph coloring carry over to this case of path coloring, and therefore also when the underlying graph can be any graph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I heard this reduction in a talk a while ago, but I can't seem to be able to find a reference, so I'll sketch it here.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We start with a graph $G(V,E)$ on $n$ vertices and the question is if it can be colored with $k$ colors. Construct a graph $H$ which is a $n\times ({n\choose 2}+1)$ grid (we index the rows by the vertices of $G$ and the columns by pairs of vertices of $G$). We will add one path in this graph for each vertex of $G$. Initially, each of these paths is simply a row of the grid, so no two of them intersect and they all have length $n\choose 2$. The idea here is that we will use the $n\choose 2$ edges between columns of the grid to simulate the edges of the original graph. For example, if vertex $i$ is connected to vertex $j$ in $G$, with $i&amp;lt;j$, take the path that runs through row $i$ and re-route it as follows: the path now goes from vertex $(i,(i,j))$ to $(j,(i,j))$, then it uses the next edge on the $j$-th row and then it goes back to row $i$. This creates an intersection between paths $i$ and $j$, but no other edge intersections. By adding the rest of the edges of $G$ this way, the resulting instance is $k$-colorable iff $G$ is.&lt;/p&gt;&#xA;" OwnerUserId="3168" LastEditorUserId="3168" LastEditDate="2012-12-18T13:07:48.230" LastActivityDate="2012-12-18T13:07:48.230" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14739" PostTypeId="2" ParentId="3445" CreationDate="2012-12-15T17:22:36.217" Score="7" Body="&lt;p&gt;The Bandwidth problem remains NP-hard to approximate within any constant factor even when restricted to caterpillars (a special class of trees where all vertices of degree $&amp;gt;2$ lie on a path). This is shown by Dubey, Feige and Unger in &lt;a href=&quot;http://www.wisdom.weizmann.ac.il/~feige/mypapers/DubeyFeigeUnger.pdf&quot;&gt;&quot;Hardness results for approximating the bandwidth&quot;&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="3168" LastActivityDate="2012-12-15T17:22:36.217" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14741" PostTypeId="2" ParentId="14732" CreationDate="2012-12-15T18:49:18.380" Score="14" Body="&lt;p&gt;This isn't a complete answer, but it's an incomplete one.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some background and related lit for those who aren't familiar --&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A nice property would be envy-freeness, in which no player would like to trade with another after the mechanism is complete. Unfortunately, for indivisible goods and no money we can see that this is impossible (there might be one good that two people both think is best). The other common property is proportionality, where everyone gets what they consider to be a value of more than $1/n$; this is also clearly impossible to always obtain (there may be an item that nobody wants, but someone must end up with it).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] focuses on computing the &lt;em&gt;minimum-envy&lt;/em&gt; allocation in an indivisible-goods scenario. They show that a minimum-envy mechanism cannot be truthful. However, we might still be able to design a game with a good price of stability (even though players aren't truthful).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] apply the criterion of &quot;max-min fairness&quot;. The idea is to consider each player's valuation function over subsets of the items, normalizing it to one on the whole set, and to find the allocation which maximizes the minimum utility of any agent. Again, though, they don't consider our setting here with unit demand. Others study approximation algorithms for this problem, but I don't know if anyone has considered this restriction.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;--&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's worth noting that usually notions of fairness are extremely worst-case: A mechanism is usually (perhaps not always?) considered envy-free if every player has a strategy that &lt;em&gt;guarantees&lt;/em&gt; she will not envy any other's allocation. If she is playing to maximize her expected utility, she may or may not end up envious. Same goes for proportionality.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Because of this, it's tricky to try to relax these notions in a way that's natural when taken with this philosophical approach to fair division. It might be tempting to define a criterion like &quot;ex-ante envy-freeness&quot; where we hope to be envy-free in expectation (whatever that means). However, I think this would really be setting off on a whole new track from the current philosophy. If one were to do that, I think we should throw out notions of envy-freeness or proportionality altogether and start thinking about how expected-utility-maximizers would play these fair-division games in the first place.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Instead, we might try to extend the traditional approach in a more consistent way. One question would be how often (over the randomness of the mechanism) a player can guarantee herself a constant fraction of optimal utility. However, consider the case where only one of the $n$ items has any value; then any fair mechanism gives each player a constant-approximation to utility only $\frac{1}{n}$ of the time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To get around this, I think we must consider ordinal criteria instead. I propose the following as a &quot;natural&quot; relaxation:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;A mechanism in our setting is &lt;em&gt;$(\varepsilon,\delta)$-envy-free&lt;/em&gt; if with probability $1-\varepsilon$ an agent can guarantee herself one of her favorite $\delta n$ items.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Considering the case where everyone values each item the same amount, we see that no mechanism can possibly do better than $(\varepsilon,\varepsilon)$-envy-freeness here. (For any $\varepsilon$ -- Because only $\varepsilon n$ agents will get one of their $\varepsilon n$ favorite items.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, it is easy to see that your mechanism, if we order the players uniformly at random, is $(\varepsilon,\varepsilon)$-envy-free for all $\varepsilon$.[3]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I don't pretend that this captures nearly all the interesting questions about this setting or the white elephant mechanism. For example, the $(\varepsilon,\varepsilon)$-envy-free strategy for the second player is to take the first player's gift unless it is the worst of all the gifts. However, I think that this shows that our worst-case solution concepts simply don't capture a lot of what's interesting about these scenarios, so we should maybe think about something else like utility maximization instead.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;--&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] Lipton, Markakis, Mossel, Saberi. &quot;On Approximately Fair Allocations of Indivisible Goods.&quot; EC 2004.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] Bezakova, Dani. &quot;Allocating Indivisible Goods.&quot; SIGECOM 2005.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[3] Well, so is random serial dictator, but random serial dictator often has nice properties in theory. I'm also assuming that each item can only be stolen once per round.&lt;/p&gt;&#xA;" OwnerUserId="8243" LastActivityDate="2012-12-15T18:49:18.380" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14743" PostTypeId="2" ParentId="3445" CreationDate="2012-12-15T20:49:08.870" Score="4" Body="&lt;p&gt;The Group Steiner problem is $\Omega(\log^{2-\epsilon} n)$ hard on trees. The multicut problem is APX-hard on trees. The maximum integer flow problem is also APX-hard in capacitated trees.&lt;/p&gt;&#xA;" OwnerUserId="176" LastActivityDate="2012-12-15T20:49:08.870" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14744" PostTypeId="2" ParentId="14736" CreationDate="2012-12-16T05:02:15.247" Score="0" Body="&lt;p&gt;This problem is closely related to the &lt;em&gt;graph coloring&lt;/em&gt; problem. The problem is to color the vertices of a $k$-colorable graph with as few colors as possible. The following &lt;em&gt;vector program&lt;/em&gt; is a relaxation of the graph coloring problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$minimize \qquad \alpha \qquad \qquad \\&#xA;subject \ to \quad v_i \cdot v_j \le \alpha \quad \; \; \, \forall (i,j) \in E \\&#xA;\qquad \quad \ v_i \cdot v_i = 1 \quad \quad \forall i \in V \\&#xA;\qquad \qquad \quad \ v_i \in \mathbb{R}^n \quad \forall i \in V$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The claim is that $-\frac{1}{k-1}$ is the minimum possible value of $\alpha$.&lt;/p&gt;&#xA;" OwnerUserId="9569" LastActivityDate="2012-12-16T05:02:15.247" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="14745" PostTypeId="2" ParentId="14735" CreationDate="2012-12-16T06:45:14.980" Score="12" Body="&lt;p&gt;Consider the following algorithm (a variant of Levin's algorithm):&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Run the first &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt; algorithms in parallel. Additionally, run in parallel a brute-force algorithm that tries all possible solutions one by one. (Run all algorithms with the same speed.)&lt;/p&gt;&#xA;&lt;p&gt;Stop when one of the algorithms finds a solution.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Consider two cases (given an input &lt;span class=&quot;math-container&quot;&gt;$x$&lt;/span&gt; of length &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt;):&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$Q$&lt;/span&gt; is one of the first &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt; algorithms. Then the running time is &lt;span class=&quot;math-container&quot;&gt;$O(n \cdot t^M_Q(n)) \cdot \mathrm{poly}(n)$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$Q$&lt;/span&gt; is not one of the first &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt; algorithms (thus &lt;span class=&quot;math-container&quot;&gt;$n &amp;lt; 2^{|Q|}$&lt;/span&gt;). Then the running time is bounded by the running time of the brute-force algorithm. We have that the running time is  &lt;span class=&quot;math-container&quot;&gt;$2^{n^{O(1)}} = 2^{2^{O(|Q|)}}$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;We have&#xA;&lt;span class=&quot;math-container&quot;&gt;$$t^M_A(n) \leq \mathrm{poly}(n) \cdot t^M_Q(n)  + 2^{2^{O(|Q|)}}.$$&lt;/span&gt;&lt;/p&gt;&#xA;&lt;p&gt;(Here, &lt;span class=&quot;math-container&quot;&gt;$f(n)$&lt;/span&gt; is polynomial and &lt;span class=&quot;math-container&quot;&gt;$g(n)$&lt;/span&gt; is double exponential in &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt;; we can improve the dependance of &lt;span class=&quot;math-container&quot;&gt;$g(n)$&lt;/span&gt; on &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt; by worsening the dependence of &lt;span class=&quot;math-container&quot;&gt;$f(n)$&lt;/span&gt; on &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt;.)&lt;/p&gt;&#xA;" OwnerUserId="9929" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2012-12-16T07:06:44.427" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14747" PostTypeId="1" AcceptedAnswerId="14749" CreationDate="2012-12-16T12:38:58.850" Score="-2" ViewCount="356" Body="&lt;p&gt;[Note: n is a given integer (not the number of its digits)]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'd like to know how O(sqrt(n)/log(n)) would compare against the computational complexity of the best available algorithms (as well as the other one available) for factoring.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is it conceivable to think that since there are $\sqrt n/\log(\sqrt n) $ primes smaller than $\sqrt n$, in intuitive terms the above complexity could actually represent a lower limit that cannot be broken ? (This would correspond to the ideal situation where all primes were already available (precomputed) and readily accessible at no computational cost.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;After all the information about the divisibility for a given prime does not seem to suggest anything about the divisibility for any other one, and there seems to be no shared information. Or is this thought wrong ? If yes, which is, in intuitive terms clearly, a more plausible candidate for a (larger) lower bound for the factoring complexity?&lt;/p&gt;&#xA;" OwnerUserId="12863" LastEditorUserId="123" LastEditDate="2012-12-23T05:43:59.920" LastActivityDate="2012-12-23T05:43:59.920" Title="Computational complexities in factoring" Tags="&lt;complexity-classes&gt;&lt;cr.crypto-security&gt;&lt;factoring&gt;&lt;primes&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14748" PostTypeId="2" ParentId="14736" CreationDate="2012-12-16T15:18:24.370" Score="7" Body="&lt;p&gt;&lt;strong&gt;Answer:&lt;/strong&gt; $\alpha = - 1/(k-1)$. This value is attained when vectors $v_i$ are the vertices of a regular simplex, centered at the origin. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This follows from symmetry: given a set of vectors $u_i$ consider new vectors $u_i'= \frac{1}{\sqrt{k}}\left( u_i \oplus u_{i+1} \oplus \dots \oplus u_{i-1} \right)$ (where we add up all vectors $u_i$ in the cyclic order starting from $u_i$). It is easy to show that vectors $u'_i$ form a better (or equal) solution than vectors $u_i$, and that vectors $u_i$ are vertices of a regular simplex (not necessarily centered at $0$). Symmetry arguments (like this one) are very useful in general for finding extreme configurations of vectors. In this case, it is very easy to find the value of $\alpha$ directly.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I. Let us first prove that $\alpha \geq -\frac{1}{k-1}$. We have,&#xA;$$0 \leq \|v_1 + \dots + v_k\|^2 = \sum_i \|v_i\|^2 + 2\sum_{i &amp;lt; j} v_i \cdot v_j \leq \sum_i 1 + 2\sum_{i&amp;lt;j} \alpha = k + k(k-1) \alpha.$$&#xA;We get that $\alpha \geq - 1/(k-1)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;II. Now we prove that  $\alpha \leq -\frac{1}{k-1}$. Consider a $k\times k$ matrix $A = (a_{ij})$ with $a_{ii} = 1$ and $a_{ij} = {-1/(k-1)}$ for $i\neq j$. This matrix is (non-strictly) diagonally dominant and thus is positive semidefinite. (Note also that $A$ is the normalized Laplacian matrix of $K_k$.) Therefore, there exist a set of vectors $v_i$ with $v_i \cdot v_j = a_{ij}$. We get that &#xA;$$\alpha \leq \max_{i\neq j} a_{ij}  = -1/(k-1).$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We proved that $\alpha = -1/(k-1)$. Note that vectors $v_i$ are vertices of a regular simplex since the distance $\|v_i - v_j\| = \sqrt{2- 2v_i \cdot v_j} = \sqrt{2k/(k-1)}$ is the same for all pairs $i,j$ (where $i\neq j$), and $\sum v_i =0$ since $\|\sum v_i\|^2 = 0$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What we computed equals &#xA;$$-\frac1{\vartheta(\text{empty graph on } k \text{ vertices})-1},$$&#xA;where $\vartheta$ is the  Lovász Theta Function;&#xA;see the Wikipedia article on &lt;a href=&quot;http://en.wikipedia.org/wiki/Lov%C3%A1sz_number&quot;&gt;the Lovász Theta Function&lt;/a&gt; for details.&lt;/p&gt;&#xA;" OwnerUserId="9929" LastEditorUserId="9929" LastEditDate="2012-12-16T15:26:10.697" LastActivityDate="2012-12-16T15:26:10.697" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="14749" PostTypeId="2" ParentId="14747" CreationDate="2012-12-16T16:56:08.623" Score="9" Body="&lt;p&gt;No, the intuitive observation &quot;There are about $\sqrt{n}$ prime factors to try&quot; does &lt;em&gt;not&lt;/em&gt; imply a lower bound on the complexity of factoring.  There is absolutely no reason that a factoring algorithm must try every possible prime factor, or even that the algorithm's behavior should resemble &quot;trying&quot; different factors at all.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Even though &lt;em&gt;precisely&lt;/em&gt; the same intuitive argument can be applied to checking whether a number is prime, the &lt;a href=&quot;http://en.wikipedia.org/wiki/AKS_primality_test&quot;&gt;AKS primality-testing algorithm&lt;/a&gt; runs in $\log^{O(1)} n$ time.&lt;/p&gt;&#xA;" OwnerUserId="111" LastActivityDate="2012-12-16T16:56:08.623" CommentCount="10" ContentLicense="CC BY-SA 3.0" />
  <row Id="14750" PostTypeId="1" CreationDate="2012-12-16T18:28:29.900" Score="5" ViewCount="286" Body="&lt;p&gt;Where order-$k$ Voronoi diagrams partition according to the $k$ closest sites&#xA;(&lt;a href=&quot;http://books.google.com/books?isbn=3540779736&quot; rel=&quot;nofollow noreferrer&quot;&gt;de Berg et al.&lt;/a&gt;&#xA;p. 169),&#xA;consider partitioning on the 2nd and 3rd closest &amp;mdash;&#xA;call these [2,3]-Voronoi partitions.&lt;br&gt;&#xA;Each cell is tagged with a set (unordered) of 2 sites $\{ p_i, p_j \}$.&lt;br&gt;&#xA;Some pictures with Nsite = 5 random sites in the plane:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/caTz6.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;How does the number of cells in a [2,3]-Voronoi diagram vary with Nsite&lt;br&gt;&#xA;and dimension $d$ in $\mathbb{R}^d$ ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Added 18 Dec: some numbers from Monte Carlo&lt;br&gt;&#xA;(despite &quot;avoid experiment not backed up by a little theory&quot;):&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;1-2-Voronoi 2d  3d  4d&#xA;----------------------&#xA;nsite  5:    7   9   9&#xA;nsite 10:   20  29  40&#xA;nsite 20:   44  79 139&#xA;&#xA;2-3-Voronoi 2d  3d  4d&#xA;----------------------&#xA;nsite  5:   15  28  28&#xA;nsite 10:   57 129 246&#xA;nsite 20:  136 359 740&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;" OwnerUserId="4355" LastEditorUserId="4355" LastEditDate="2012-12-18T13:14:12.850" LastActivityDate="2012-12-18T13:14:12.850" Title="Voronoi partitioning on the 2nd and 3rd closest: how many pieces?" Tags="&lt;cg.comp-geom&gt;" AnswerCount="0" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14751" PostTypeId="2" ParentId="14347" CreationDate="2012-12-16T21:34:41.460" Score="10" Body="&lt;p&gt;[Since it's been a while and no one has added any further answers, I'm reposting my comment as an answer.]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;${\sf US}$ contains ${\sf coNP}$, so ${\sf P^{US}}$ is at least as powerful as ${\sf P^{coNP}} = {\sf P^{NP}}$. The (mostly) common wisdom suggests that ${\sf P^{UP}}$ is strictly contained in ${\sf P^{NP}} \subseteq {\sf P^{US}}$.&lt;/p&gt;&#xA;" OwnerUserId="129" LastEditorUserId="80" LastEditDate="2012-12-17T08:13:49.457" LastActivityDate="2012-12-17T08:13:49.457" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="14753" PostTypeId="1" CreationDate="2012-12-17T09:53:55.070" Score="3" ViewCount="351" Body="&lt;p&gt;The following question was first presented in &lt;a href=&quot;https://math.stackexchange.com/q/258692/51434&quot;&gt;MATHEMATICS of StackExchange&lt;/a&gt;. With a simple description at first sight, it has far-reaching consequences on plenty of recent and advanced theories, such as &lt;a href=&quot;http://en.wikipedia.org/wiki/Common_knowledge_%28logic%29&quot; rel=&quot;nofollow noreferrer&quot;&gt;Knowledge and Common Knowledge&lt;/a&gt; in game theory, logic, and distributed computing. With many excellent answers from MATHEMATICS (with my gratitude), it is still somewhat mysterious to me. So, I am here for more illumination. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Below is the original source from MATHEMATICS for your convenience.&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hua Luogeng (in Chinese, 华罗庚) took a hat-guessing puzzle as an illustration in a booklet focusing on mathematical induction. The following description is a literal translation from Chinese.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Hat-Guessing Puzzle:&lt;/strong&gt; A teacher wants to identify the most smartest one from his three students by the following methods: 5 hats are shown, in which 3 of them are white and the other two are black, to the three students. With eyes closed, each student is put on a &lt;em&gt;white&lt;/em&gt; hat, while the other two &lt;em&gt;black&lt;/em&gt; ones are hidden. Once the permissions of opening eyes are granted, the three students open their eyes simultaneously and are allowed to look at the hats of others without any communication. &lt;strong&gt;After a hesitation&lt;/strong&gt;, they say that &quot;the hat on my own hat is white&quot; with one voice. The question is how do they make it?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The puzzle can be easily generalized to the version with $n$ persons, $n-1$ black hats, and $\ge n$ white hats and be solved by induction on $n$:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;When $n$ is 2, the situation is trivial because there is only one black hat. If &lt;em&gt;I&lt;/em&gt; am wearing the black one, then the other person can tell that the hat on his head is white, &lt;em&gt;without any hesitation&lt;/em&gt;. However, he does hesitate. Contradiction. &lt;/li&gt;&#xA;&lt;li&gt;Suppose that we have solved the puzzle with $n = k$.&lt;/li&gt;&#xA;&lt;li&gt;When $n = k + 1$, the reason goes in the following way: If someone is wearing the black hat, all the other people will know that and the problem is reduced to a version with $k$ person, $k-1$ black hats and $\ge k+1$ white hats. According to the inductive hypothesis, the $k$ persons should tell that the hats on their heads are all white, &lt;em&gt;without any hesitation&lt;/em&gt;. Contradiction.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;While both the puzzle and proof sound very simple, I am very confused with the informal keyword &quot;&lt;strong&gt;hesitation&lt;/strong&gt;&quot; in them. I even cannot tell the vagueness of &lt;em&gt;hesitation&lt;/em&gt; clearly. For example, is the &lt;em&gt;hesitation&lt;/em&gt; itself a suitable object which can be used in mathematical induction? Informally, my problem can be stated as follows.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;My Problem:&lt;/strong&gt; How to &lt;em&gt;formally&lt;/em&gt; model the &lt;strong&gt;hesitation&lt;/strong&gt; in the hat-guessing puzzle?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Now, I will give an account of my confusion (after the discussion with MATHEMATICS users).&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Is it suitable to model the hesitation in terms of &lt;strong&gt;rounds&lt;/strong&gt;? Just like the &lt;a href=&quot;http://sierra.nmsu.edu/morandi/coursematerials/MuddyChildren.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;Muddy Children Puzzle&lt;/a&gt;, the teacher can broadcast the following question &lt;em&gt;over and over&lt;/em&gt;: What is the color of your hat? If the modeling is OK, is it still on the right way to prove the following statement (for the version with $n$ students) &quot;in the first $n−1$ rounds they all say I don't know, &lt;em&gt;and&lt;/em&gt; in the $n$th round, they all say it is white simultaneously&quot;?&lt;/li&gt;&#xA;&lt;li&gt;I think the statement &quot;If someone is wearing the black hat&quot; given in the original proof is based on the &lt;em&gt;unjustified&lt;/em&gt; assumption about the first $n−1$ rounds. In other words, is it necessary to prove first &quot;in the first $n-1$ rounds they all say I don't know&quot;, &lt;em&gt;before&lt;/em&gt; proving the thing in the $n$th round? If it is, how to prove the $n-1$ part?&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Thank you very much for any suggestions.&lt;/p&gt;&#xA;" OwnerUserId="12739" LastEditorUserId="-1" LastEditDate="2017-04-13T12:19:19.363" LastActivityDate="2012-12-17T14:34:34.523" Title="How to formally model the “hesitation” in the hat-guessing puzzle and prove it by mathematical induction?" Tags="&lt;lo.logic&gt;&lt;dc.distributed-comp&gt;&lt;gt.game-theory&gt;&lt;puzzles&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14755" PostTypeId="2" ParentId="11033" CreationDate="2012-12-17T13:44:58.573" Score="2" Body="&lt;p&gt;The &quot;Availability&quot; in the CAP Theorem can be regarded as a classic liveness property: every request &lt;em&gt;eventually&lt;/em&gt; receives a response. It is interpreted in &lt;a href=&quot;http://groups.csail.mit.edu/tds/papers/Gilbert/Brewer2.pdf&quot; rel=&quot;nofollow&quot;&gt;Perspectives on the CAP Theorem&lt;/a&gt; in the context of distributed computing.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Obviously, a fast response is better than a slow response,&#xA;  but for the purpose of CAP, it turns out that even requiring an eventual response is sufﬁcient to create problems. (In&#xA;  most real systems, of course, a response that is sufﬁciently late is just as bad as a response that never occurs.)&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="12739" LastActivityDate="2012-12-17T13:44:58.573" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14756" PostTypeId="2" ParentId="14753" CreationDate="2012-12-17T14:34:34.523" Score="2" Body="&lt;p&gt;This isn't really an answer to your questions, but I think it would help in understanding the problem (or the way to answer your questions is) to write out a formal statement and proof of the solution. The proof you've presented doesn't say what is being proven, and as written is certainly incorrect. It states (final bullet point) that the inductive hypothesis is that $k$ people with $k-1$ black hats and $&amp;gt; k$ white hats can tell that they all have white hats &lt;em&gt;without any hesistation&lt;/em&gt;, but it proves that $k+1$ people with $(k, &amp;gt;k+1)$ hats can tell &lt;em&gt;with&lt;/em&gt; hesitation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Writing out a more formal proof would also make it clear what modeling assumptions you require for it to work. For example, you would probably end up needing to prove &quot;$k$ people with $(k-1,&amp;gt;k)$ hats can all tell if they have white hats after $k$ moments of hesistation&quot;. If so, that means you would need some formal, common-knowledge notion of &quot;moment of hesitation&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I hope that helps a little bit with question #1. (Also, the answers at math.stackexchange seem very good on this topic as well....) It might also help with #2, but I'm not sure what exactly you're asking -- I think the proof by induction would take care of this?&lt;/p&gt;&#xA;" OwnerUserId="8243" LastActivityDate="2012-12-17T14:34:34.523" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14758" PostTypeId="1" AcceptedAnswerId="14760" CreationDate="2012-12-17T22:42:24.503" Score="4" ViewCount="30046" Body="&lt;p&gt;I have a question about how to use a tournament selection in GA. Suppose that I have 100 individuals as an initial population and then I want to apply tournament selection for n generations, so I end up with only 20% of chromosomes for each iteration.&#xA;The algorithm that I came up with is:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;choose 20% of the initial population&#xA;while (not end of iterations)&#xA;    select randomly n individuals from the left population (20%)&#xA;    if (number of chromosomes greater than two)&#xA;        select the best and mutate&#xA;        add to the population&#xA;    if (number of chromosomes greater than three)&#xA;        select best two of each pair and crossover them&#xA;        add crossover product to the population&#xA;    repeat process with new population&#xA;end while&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;is this schema correct?&#xA;Thanks&lt;/p&gt;&#xA;" OwnerUserId="12281" LastActivityDate="2012-12-18T11:10:23.380" Title="tournament selection in genetic algorithms" Tags="&lt;genetic-algorithms&gt;&lt;selection&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="14759" PostTypeId="1" CreationDate="2012-12-18T00:36:06.233" Score="7" ViewCount="419" Body="&lt;p&gt;I am studying algorithm construction and weaknesses to resource consumption.  One vulnerability that really caught my eye was the &lt;a href=&quot;http://httpd.apache.org/security/CVE-2011-3192.txt&quot; rel=&quot;nofollow&quot;&gt;Apache Range Header DoS Vulnerability&lt;/a&gt;.  The following quote was taken from Apache developers &lt;a href=&quot;http://www.gossamer-threads.com/lists/engine?do=post_view_flat;post=401638;page=1;sb=post_latest_reply;so=ASC;mh=25;list=apache&quot; rel=&quot;nofollow&quot;&gt;discussing the flaw&lt;/a&gt;:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;From looking at the code, I think the problem is the bucket structs.&lt;br&gt;&#xA;  With N the number of requested ranges, the initial brigade is&lt;br&gt;&#xA;  partitioned into 2*N buckets at the maximum. Then those buckets are&lt;br&gt;&#xA;  copied into the output brigade N times, which means that O(N^2)&lt;br&gt;&#xA;  buckets are created. The data is not copied, and only N &quot;A-B&quot; strings&lt;br&gt;&#xA;  are allocated from the pool.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Does anyone else know of other resources about building algorithms that are resistant to resource exhaustion attacks?   Does anyone of interesting papers related to Algorithmic analysis and susceptibility to resource exhaustion?  Do you know of other resource consumption vulnerabilities that where caused by flawed algorithms?&lt;/p&gt;&#xA;" OwnerUserId="365" LastEditorUserId="186" LastEditDate="2012-12-20T05:53:48.420" LastActivityDate="2012-12-22T00:00:09.133" Title="Algorithmic Complexity Attacks" Tags="&lt;ds.algorithms&gt;&lt;cr.crypto-security&gt;&lt;security&gt;&lt;availability&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14760" PostTypeId="2" ParentId="14758" CreationDate="2012-12-18T11:10:23.380" Score="12" Body="&lt;p&gt;Here's the basic framework of a genetic algorithm.&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;N = population size&#xA;P = create parent population by randomly creating N individuals&#xA;while not done&#xA;    C = create empty child population&#xA;    while not enough individuals in C&#xA;        parent1 = select parent   ***** HERE IS WHERE YOU DO TOURNAMENT SELECTION *****&#xA;        parent2 = select parent   ***** HERE IS WHERE YOU DO TOURNAMENT SELECTION *****&#xA;        child1, child2 = crossover(parent1, parent2)&#xA;        mutate child1, child2&#xA;        evaluate child1, child2 for fitness&#xA;        insert child1, child2 into C&#xA;    end while&#xA;    P = combine P and C somehow to get N new individuals&#xA;end while&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;There's a little more to it than this basic skeleton, as there are things like crossover rates where you might not always do crossover, opportunities for additional operators, etc., but this is the basic idea at least.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Most often, the &quot;while not enough individuals in C&quot; can be thought of as &quot;while size(C) &amp;lt; N&quot;; that is, you want the same number of offspring as parents. There are plenty of other ways, but that's a good way to start at least. I'm not sure if this is what you mean by having 20% of the chromosomes in the next iteration or what, but for now, just go with it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So then the question of how to do tournament selection can be addressed. Note that selection is only that one step of the process where we pick individuals out of the population to serve as parents of new offspring. To do so with tournament selection, you have to pick some number of &lt;em&gt;possible&lt;/em&gt; parents, and then choose the best one as the winner. How many possible parents should be allowed to compete is the value of &lt;code&gt;k&lt;/code&gt; I mentioned earlier.&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;func tournament_selection(pop, k):&#xA;    best = null&#xA;    for i=1 to k&#xA;        ind = pop[random(1, N)]&#xA;        if (best == null) or fitness(ind) &amp;gt; fitness(best)&#xA;            best = ind&#xA;    return best &#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Let &lt;code&gt;k=1&lt;/code&gt;. Looking at the pseudocode, this yields purely random selection. You pick one individual at random and return it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let &lt;code&gt;k=10*N&lt;/code&gt;. Now we have a pretty high probability of picking every member of the population at least once, so almost every time, we're going to end up returning the best individual in the population.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Neither of these options would work very well. Instead, you want something that returns good individuals more often than bad ones, but not so heavily that it keeps picking the same few individuals over and over again. Binary tournament selection (&lt;code&gt;k=2&lt;/code&gt;) is most often used.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In this basic framework, you can't end up with an empty population. You'll always have &lt;code&gt;N&lt;/code&gt; individuals in the population and you'll always generate &lt;code&gt;N&lt;/code&gt; offspring. At the end of each generation, you'll take those &lt;code&gt;2N&lt;/code&gt; individuals and prune them down to &lt;code&gt;N&lt;/code&gt; again. You can either throw all the parents away and just do &lt;code&gt;P = C&lt;/code&gt; (generational replacement), you can keep a few members of &lt;code&gt;P&lt;/code&gt; and replace the rest with members of &lt;code&gt;C&lt;/code&gt; (elitist replacement), you can merge them together and take the best &lt;code&gt;N&lt;/code&gt; of the &lt;code&gt;2N&lt;/code&gt; total (truncation replacement), or whatever other scheme you come up with.  &lt;/p&gt;&#xA;" OwnerUserId="5832" LastActivityDate="2012-12-18T11:10:23.380" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="14763" PostTypeId="1" CreationDate="2012-12-19T07:33:34.663" Score="4" ViewCount="493" Body="&lt;p&gt;What are the optimal (or best known) bounds (preferably exact or else asymptotic &lt;strong&gt;but not expectation on random graphs&lt;/strong&gt;) on the number of  non-isomorphic (unlabelled) simple (no self-loop), undirected graphs with the following parameters/conditions: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;a) connected, $|V| = m, \ |E| = n$,&lt;br&gt;&#xA;b) (a) AND spectrum of adjacency matrices is same,&lt;br&gt;&#xA;c) (a) AND same degree distribution&lt;br&gt;&#xA;d) (c) and (b) (i.e. all of the above)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My interest is in finding lower bounds on the resource (time steps, variables required etc, enegy.) for solving graph isomorphism problem. I am aware of one such work by &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.32.4863&quot; rel=&quot;nofollow&quot;&gt;Cai, Furer and Immerman&lt;/a&gt;. Any other references aiming at or helpful in understanding the optimal resources (in any form) required for solving graph isomorphism problem will be greatly appreciated.&lt;/p&gt;&#xA;" OwnerUserId="10456" LastActivityDate="2013-01-18T19:27:32.010" Title="Optimal upper bound on the number of non-isomorphic graphs with certain parameter" Tags="&lt;reference-request&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;graph-isomorphism&gt;&lt;spectral-graph-theory&gt;" AnswerCount="2" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14764" PostTypeId="2" ParentId="14763" CreationDate="2012-12-19T09:34:20.653" Score="1" Body="&lt;p&gt;This is just a partial answer mainly answering just $a)$ and $b)$&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;The number of non-isomorphic graphs is asymptotically equivalent to $$\frac{2^{n \choose 2}}{n!}$$ Almost all graphs are connected (in fact $k$-connected for any constant $k$) hence this answer your first question.&lt;/li&gt;&#xA;&lt;li&gt;This is an open problem. If we restrict ourselves to trees then it is well known that almost all trees are cospectral hence that for every tree $T$ there exist another non-isomorphic tree $T'$ with equal adjacency spectrum. I believe there is no other result generalizing this one.  There is plenty of literature on this subject, check on Google for &quot;cospectral graphs&quot;. &lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;It is conjectured that almost all graphs are determined by their spectrum but no real evidence for this fact is known. The conjecture is of course motivated by the isomorphism problem. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The number (and proportion) of cospectral graphs on $n=12$ vertices has been computed recently and can be found &lt;a href=&quot;http://www.win.tue.nl/~aeb/preprints/cospectral12.pdf&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;. &lt;/p&gt;&#xA;" OwnerUserId="2562" LastActivityDate="2012-12-19T09:34:20.653" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="14768" PostTypeId="2" ParentId="14763" CreationDate="2012-12-19T18:34:14.577" Score="1" Body="&lt;p&gt;Tree isomorphism is polynomial time. Reed, Ronald C. (1972). &quot;The Coding of Various Kinds of Unlabeled Trees&quot;. Graph Theory and Computing: 153–182&lt;/p&gt;&#xA;" OwnerUserId="2021" LastActivityDate="2012-12-19T18:34:14.577" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14770" PostTypeId="1" CreationDate="2012-12-19T21:32:42.140" Score="17" ViewCount="1283" Body="&lt;p&gt;This is a followup of a recent question asked by A. Pal: &lt;a href=&quot;https://cstheory.stackexchange.com/q/14548/1542&quot;&gt;Solving semidefinite programs in polynomial time&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am still puzzling over the actual running time of algorithms that compute the solution of  a semidefinite program (SDP). As Robin pointed out in &lt;a href=&quot;https://cstheory.stackexchange.com/questions/14548/solving-semidefinite-programs-in-polynomial-time#comment39404_14548&quot;&gt;his comment&lt;/a&gt; to the above question, SDPs cannot be solved in polynomial time in general.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It turns out that, if we define our SDP carefully and we impose a condition on how well-bounded the primal feasible region is, we can use the ellipsoid method to give a polynomial bound on the time needed to solve the SDP (see Section 3.2 in L. Lovász, &lt;a href=&quot;http://www.cs.elte.hu/~lovasz/semidef.ps&quot; rel=&quot;nofollow noreferrer&quot;&gt;Semidefinite programs and combinatorial optimization&lt;/a&gt;).&#xA;The bound given there is a generic &quot;&lt;em&gt;polynomial time&lt;/em&gt;&quot; and here I am interested in a less coarse bound.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The motivation comes from the comparison of two algorithms used for the quantum separability problem (the actual problem is not relevant here, so don't stop reading classical readers!).&#xA;The algorithms are based on a hierarchy of tests that can be cast into SDPs, and each test in the hierarchy is on a larger space, that is, the size of the corresponding SDP is larger. &#xA;The two algorithms I want to compare differ in the following tradeoff: in the first one, to find the solution you need to climb more steps of the hierarchy and in the second one the steps of the hierarchy are higher, but you need to climb less of them. It is clear that in the analysis of this tradeoff, a precise running time of the algorithm used to solve the SDP is important. The analysis of these algorithms is done by Navascués et al. in &lt;a href=&quot;http://arxiv.org/abs/0906.2731&quot; rel=&quot;nofollow noreferrer&quot;&gt;arxiv:0906.2731&lt;/a&gt;, where they write:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;... the time complexity of an SDP with $m$ variables and of matrix size $n$ is $O(m^2 n^2)$ (with a small extra cost coming from an iteration of algorithms).&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;In &lt;a href=&quot;http://arxiv.org/abs/quant-ph/0308032&quot; rel=&quot;nofollow noreferrer&quot;&gt;another paper&lt;/a&gt;, where this approach to the problem was first proposed, the authors give the same bound, but they use the more cautious term &quot;&lt;em&gt;number of arithmetic operations&lt;/em&gt;&quot; instead of &quot;&lt;em&gt;time complexity&lt;/em&gt;&quot;.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is two-fold:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Which algorithm/bound are Navascués et al. referring to?&lt;/li&gt;&#xA;&lt;li&gt;Can I replace the expression &quot;polynomial time&quot; in Lovász with something less coarse (keeping the same assumptions)?&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="1542" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2012-12-20T03:21:31.390" Title="Polynomial speedups with algorithms based on semidefinite programming" Tags="&lt;quantum-information&gt;&lt;semidefinite-programming&gt;&lt;analysis-of-algorithms&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="14771" PostTypeId="2" ParentId="14770" CreationDate="2012-12-20T03:21:31.390" Score="12" Body="&lt;p&gt;I'm not familiar with details of the ellipsoid method specifically for semi-definite programs, but even for &lt;em&gt;linear&lt;/em&gt; programs, analysis of the ellipsoid method is pretty subtle.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;First, one needs to bound the number of iterations of the &lt;em&gt;ideal&lt;/em&gt; ellipsoid algorithm.  Let $E_i$ be the ellispoid used in the $i$th iteration of the ellipsoid algorithm, and let $c_i$ be its centroid.  In the ideal algorithm, a separation/membership oracle gives you a halfspace $h_i$ that contains the optimum point $x^*$ but not the centroid $c_i$.  The next ellipsoid $E_{i+1}$ is the smallest ellipsoid containing $E_i\cap h_i$.  For each $i$, we have $vol(E_{i+1}) &amp;lt; (1-\frac{1}{n})\cdot vol(E_i)$, where $n$ is the dimension.  Thus, given a reasonable starting ellipsoid, the number of iterations is polynomial in $n$ and $\log(1/\varepsilon)$.  Computing $E_{i+1}$ from $E_i$ and $h_i$ requires (crudely) $O(n^2)$ arithmetic operations.  So the number of arithmetic operations is also polynomial in $n$ and $\log(1/\varepsilon)$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;However, some of those arithmetic operations are square roots!  It follows that the coefficients of the ideal ellipsoid $E_i$ are irrational numbers of degree $2^i$, and so there's no hope of actually computing $E_{i+1}$ &lt;em&gt;exactly&lt;/em&gt; in any reasonable time.  So instead, one computes a close outer approximation $\tilde{E}_i \supset E_i$ at each iteration using finite precision arithmetic.  Grötschel, Lovasz, and Schrijver prove that if one uses (say) $10i$ bits of precision in the $i$th iteration, we still have $vol(\tilde E_{i+1}) &amp;lt; O(1-\frac{1}{n})\cdot vol(\tilde E_i)$, so the number of iterations increases by at most a constant factor.  But now each arithmetic operation during the $i$th iteration (including the operations performed by the separation oracle) requires $O(i~\text{polylog}~i)$ time.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Altogether, the total running time of the ellipsoid method is &lt;em&gt;very&lt;/em&gt; roughly the &lt;em&gt;square&lt;/em&gt; of the number of arithmetic operations.  Since the number of arithmetic operations is polynomial in $n$ and $\log(1/\varepsilon)$, so is the running time.&lt;/p&gt;&#xA;" OwnerUserId="111" LastActivityDate="2012-12-20T03:21:31.390" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="14772" PostTypeId="1" AcceptedAnswerId="14780" CreationDate="2012-12-20T11:41:11.233" Score="12" ViewCount="379" Body="&lt;p&gt;Consider a &lt;em&gt;monotonic&lt;/em&gt; predicate $P$ over the powerset $2^{|n|}$ (ordered by inclusion). By &quot;monotonic&quot; I mean: $\forall x, y \in 2^{|n|}$ such that $x \subset y$, if $P(x)$ then $P(y)$. I am looking for an algorithm to find all the minimal elements of $P$, i.e., the $x \in 2^{|n|}$ such that $P(x)$ but $\forall y \subset x$, $\neg P(y)$. Since the width of $2^{|n|}$ is $n \choose n/2$, there could be exponentially many minimal elements, and therefore the running time of such an algorithm could be exponential in general. However, could there exist an algorithm for this task which is polynomial in the size of the output?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[Context: A more general question &lt;a href=&quot;https://cstheory.stackexchange.com/a/8943/4795&quot;&gt;was asked&lt;/a&gt; but there was no attempt in the answers to evaluate the complexity of the algorithm in the size of the output. If I assume that there is only one minimal element, for instance, then I can perform a binary search following &lt;a href=&quot;https://cstheory.stackexchange.com/questions/8923/binary-search-generalizations-for-posets&quot;&gt;this answer&lt;/a&gt; and find it. However, if I want to continue finding more minimal elements, I need to maintain the current information I have about $P$ in a way which would make it tractable to continue the search without wasting time on what is already known. Is it possible to do this and find all the minimal elements in polynomial time in the size of the output?]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Ideally, I would like to understand if this can be done with general DAGs, but I already don't know how to answer the question for $2^{|n|}$.&lt;/p&gt;&#xA;" OwnerUserId="4795" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2013-02-07T09:31:18.770" Title="Minimal elements of a monotonic predicate over the powerset $2^{|n|}$" Tags="&lt;ds.algorithms&gt;&lt;ds.data-structures&gt;&lt;partial-order&gt;&lt;order-theory&gt;&lt;search-problem&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14776" PostTypeId="1" AcceptedAnswerId="14777" CreationDate="2012-12-20T14:26:27.483" Score="14" ViewCount="355" Body="&lt;p&gt;Given as input an integer $n$ and a set $S$ of sets of elements of $\{1, ..., n\}$, what is the complexity of finding a set $T$ of elements of $\{1, ..., n\}$ such that $T$ has minimal cardinality and $T$ is included in none of the sets of $S$?&lt;/p&gt;&#xA;" OwnerUserId="4795" LastActivityDate="2012-12-20T15:53:07.087" Title="Smallest set not included in a collection of sets" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;" AnswerCount="2" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14777" PostTypeId="2" ParentId="14776" CreationDate="2012-12-20T15:51:06.063" Score="16" Body="&lt;p&gt;Let $[n] = \{ 1, 2, \dotsc, n \}$, and let $\mathcal{F} = \{S_1, S_2, \dotsc, S_m \} \subseteq 2^{[n]}$ be the input set family. Unless I misunderstood your problem formulation, we want to find a minimum-size set $T \subseteq [n]$ such that $T \not\subseteq S_i$ for all $i = 1, 2, \dotsc, m$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To answer your question, note that $T \not\subseteq S_i$ if and only if $T \cap ([n] \setminus S_i) \not= \emptyset$. That is, $T$ has to intersect the complement of each $S_i$. But this means that your problem is, essentially, equivalent to the hitting set problem (consider hitting set with input $\mathcal{G} = \{ [n] \setminus S_i \  \colon \  i = 1, 2, \dotsc, m  \}$):&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Hitting Set.&lt;/strong&gt;&#xA;  Given a set family $\mathcal{F} \subseteq 2^{[n]}$ and integer $k$, does there exists a set $T \subseteq [n]$ with $|T| \le k$ and $T \cap S \not= \emptyset$ for all $S \in \mathcal{F}$?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Hitting set is known to be NP-complete and &lt;a href=&quot;http://arxiv.org/abs/1112.2275&quot;&gt;cannot be, loosely speaking, solved faster than&lt;/a&gt; in time $O(2^n)$ unless the Strong Exponential-time Hypothesis fails.&lt;/p&gt;&#xA;" OwnerUserId="290" LastActivityDate="2012-12-20T15:51:06.063" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14778" PostTypeId="2" ParentId="14776" CreationDate="2012-12-20T15:53:07.087" Score="11" Body="&lt;p&gt;The problem is equivalent to the Set Cover Problem /  Hitting Set Problem:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Given a family $\cal F$ of subsets of $\{1,\dots, n\}$, find a set $T \subset \{1,\dots, n\}$ of minimal possible size that intersects every set in the family $\cal F$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Your problem is equivalent to the Hitting Set Problem since $T$ does not lie in any set in $S$ if and only if it intersects every set in ${\cal F} = \{\bar A: A\in S\}$. (So to solve an instance of the Hitting Set Problem, it suffices to solve the instance of your problem with $S = \{\bar A: A\in {\cal F}\}$.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The Hitting Set problem is NP-hard [Karp' 72]. There is an $O(\log n)$ approximation algorithm for it and a matching hardness of approximation result [Lund, Yannakakis '94, Feige '98].&lt;/p&gt;&#xA;" OwnerUserId="9929" LastActivityDate="2012-12-20T15:53:07.087" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14779" PostTypeId="1" CreationDate="2012-12-20T16:00:43.380" Score="2" ViewCount="232" Body="&lt;p&gt;I'm a mathematician and it looks like I need to learn about these topics. What would be good references that go into the technical details of the following topics?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(s)pi calculus&lt;/p&gt;&#xA;&#xA;&lt;p&gt;model checking&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm not really interested in applying these tools, but in their actual mathematical constructions, since it looks like they might contain ideas that I'm looking for.&lt;/p&gt;&#xA;" OwnerUserId="12911" LastEditorUserId="186" LastEditDate="2012-12-24T21:33:38.983" LastActivityDate="2012-12-24T21:33:38.983" Title="References on model checking and pi calculi" Tags="&lt;reference-request&gt;&lt;pl.programming-languages&gt;&lt;big-list&gt;" AnswerCount="3" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14780" PostTypeId="2" ParentId="14772" CreationDate="2012-12-20T17:05:34.583" Score="14" Body="&lt;p&gt;Your problem is known in the learning literature as &quot;learning monotone functions using membership queries&quot;. A class of monotone functions for which one can identify all minterms is known as &quot;polynomially learnable using membership queries&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It seems that the existence of a polynomial time algorithm is still open. &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0020019000002258&quot;&gt;Schmulevich et al.&lt;/a&gt; prove that &quot;Almost all monotone Boolean functions are polynomially learnable using membership queries&quot;. If we also require that the $t$th minterm be generated in time polynomial in $n$ and $t$, then the problem is equivalent to monotone dualization, as shown by &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0890540185711571&quot;&gt;Bioch and Ibaraki&lt;/a&gt;. Here is a &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0166218X07001278&quot;&gt;survey&lt;/a&gt; addressing monotone dualization.&lt;/p&gt;&#xA;" OwnerUserId="40" LastActivityDate="2012-12-20T17:05:34.583" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="14784" PostTypeId="1" AcceptedAnswerId="14847" CreationDate="2012-12-21T12:03:41.120" Score="13" ViewCount="520" Body="&lt;p&gt;While teaching how to implement FSMs using synchronous logical circuits, I noticed an intriguing coincidence: in both the theoretical CS world, and in the electrical engineering world, &quot;state&quot; is typically denoted $q$ (and the state space $Q$). I first &lt;a href=&quot;https://electronics.stackexchange.com/questions/51625/&quot;&gt;asked on EE.sx&lt;/a&gt;, but then while researching a bit this topic, I found that even &lt;a href=&quot;http://www.cs.virginia.edu/~robins/Turing_Paper_1936.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Turing's original 1936 paper&lt;/a&gt; uses $q_1..q_n$ to denote the states of the Turing machine. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;So I wonder: &lt;em&gt;When&lt;/em&gt; does this convention go back to, and &lt;em&gt;why&lt;/em&gt; would a &quot;state&quot; be denoted $q$ ? &lt;/p&gt;&#xA;" OwnerUserId="3978" LastEditorUserId="-1" LastEditDate="2017-04-13T12:33:11.560" LastActivityDate="2012-12-26T00:33:51.373" Title="Why is the state of a FSM traditionally denoted $q$?" Tags="&lt;automata-theory&gt;&lt;ho.history-overview&gt;" AnswerCount="2" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14785" PostTypeId="1" CreationDate="2012-12-21T14:35:09.257" Score="0" ViewCount="156" Body="&lt;p&gt;I am having a hard time understanding the SC memory model properly.&#xA;The sentence &quot;the result of any execution is the same as if the operations of all the processors were executed in some sequential order, and the operations of each individual processor appear in this sequence in the order specified by its program.&quot; is very ambiguous for me. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does: &#xA;&quot;having the operations in each processor appear in the sequence specified by the program&quot; mean that all memory operations are updated system wide exactly after being run? Or can they reside in the cache, not known to the processors by the new value for a while.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does the sentence also infer that no matter what sequential order i decide to order my commands between the threads (not order differently the commands in each individual thread), I will always get the same read's for all of my writes?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Lets take for example this:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;X=Y=0&#xA;Thread 0         Thread 1           Thread 2&#xA;X=1              EAX=X              Y=1&#xA;                 EBX=Y              ECX = X&#xA;&#xA;Output: &#xA;Thread 1: EAX=1&#xA;Thread 1: EBX=0&#xA;Thread 2: ECX=0&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;It is easily seen that Y=1 MUST be before EBX=Y, because otherwise, EAX cannot be 1 if ECX is 0 or vice versa. But is this still SC? because even though Y=1 was issued before EBX=Y, it could of updated all the threads only after EBX polled Y.&lt;/p&gt;&#xA;" OwnerUserId="12920" LastActivityDate="2012-12-21T14:35:09.257" Title="Sequential Consistency, cannot find a sufficient explanation" Tags="&lt;dc.parallel-comp&gt;&lt;concurrency&gt;" AnswerCount="0" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14786" PostTypeId="1" CreationDate="2012-12-21T17:30:15.980" Score="2" ViewCount="85" Body="&lt;p&gt;The oracles that are used in relativized collapses or separations of complexity classes rarely represent $natural$ algorithmic problems. They are typically constructed &quot;artificially&quot; with techniques like diagonalization, for the sole purpose of achieving the relativized collapse or separation. A notable exception is that for any ${\bf PSPACE}$-complete set $L$ it holds that ${\bf P}^L={\bf NP}^L$. This indeed leads to &quot;natural relativized worlds,&quot; since there are  ${\bf PSPACE}$-complete languages that correspond to  natural algorithmic tasks. Generally, I am looking for such examples, where the oracle represents a natural problem. (And, of course, it is not trivially implied by the above example). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In particular, is there any such known &quot;natural relativized world&quot; in which ${\bf P}$ and ${\bf NP}$ are separated?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$Note:$ A random oracle here does not count as natural, because it does not represent a natural algorithmic problem. It rather represents that a statement holds for almost all oracles, regardless to their &quot;naturality.&quot;&lt;/p&gt;&#xA;" OwnerUserId="12710" LastActivityDate="2012-12-21T17:49:43.407" Title="Natural relativized worlds" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;oracles&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14787" PostTypeId="1" CreationDate="2012-12-21T17:39:43.047" Score="8" ViewCount="405" Body="&lt;p&gt;While studying a problem in algorithmic game theory I got interested&#xA;in the complexity of the following optimization question:&lt;/p&gt;&#xA;&lt;h3&gt;Problem&lt;/h3&gt;&#xA;&lt;p&gt;Given:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;ground set &lt;span class=&quot;math-container&quot;&gt;$U = [n] = \{1,\ldots,n\}$&lt;/span&gt; given by &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt;,&lt;/li&gt;&#xA;&lt;li&gt;&lt;span class=&quot;math-container&quot;&gt;$m$&lt;/span&gt; rankings given as total orders &lt;span class=&quot;math-container&quot;&gt;$\langle S_i, \sigma_i \rangle$&lt;/span&gt;&#xA;where &lt;span class=&quot;math-container&quot;&gt;$S_i \subseteq U$&lt;/span&gt; (&lt;span class=&quot;math-container&quot;&gt;$1 \leq i \leq m$&lt;/span&gt;),&lt;/li&gt;&#xA;&lt;li&gt;weight vector for &lt;span class=&quot;math-container&quot;&gt;$U$&lt;/span&gt; given by &lt;span class=&quot;math-container&quot;&gt;$w \in \mathbb{R}^n$&lt;/span&gt;.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Goal:&#xA;find a subset &lt;span class=&quot;math-container&quot;&gt;$L \subseteq U$&lt;/span&gt; maximizing the following sum:&#xA;&lt;span class=&quot;math-container&quot;&gt;$$r(L) = \sum_{i \in [m],\  S_i \cap L \neq \emptyset} w(t_i(L))$$&lt;/span&gt;&#xA;where &lt;span class=&quot;math-container&quot;&gt;$t_i(L)$&lt;/span&gt; is the highest ranked item in &lt;span class=&quot;math-container&quot;&gt;$L\cap S_i$&lt;/span&gt; according to&#xA;&lt;span class=&quot;math-container&quot;&gt;$\sigma_i$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;p&gt;I suspect that the problem is &lt;span class=&quot;math-container&quot;&gt;$\mathsf{NP}$&lt;/span&gt;-hard. In fact the problem&#xA;seems to be hard even when all the &lt;span class=&quot;math-container&quot;&gt;$S_i$&lt;/span&gt;'s are of size &lt;span class=&quot;math-container&quot;&gt;$2$&lt;/span&gt;. However I&#xA;haven't been able to prove this.&lt;/p&gt;&#xA;&lt;h3&gt;What I know&lt;/h3&gt;&#xA;&lt;p&gt;It easy to see that the following restrictions make the problem easy:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;all of the weights are uniform: selecting all of the elements is&#xA;clearly optimal.&lt;/li&gt;&#xA;&lt;li&gt;all of the rankings are complete rankings over &lt;span class=&quot;math-container&quot;&gt;$U$&lt;/span&gt;: the best&#xA;solution is obtained by taking the element with the maximal weight.&lt;/li&gt;&#xA;&lt;li&gt;the weights are just binary (&lt;span class=&quot;math-container&quot;&gt;$w \in \{0,1\}^n$&lt;/span&gt;), then selecting all&#xA;of the &lt;span class=&quot;math-container&quot;&gt;$1$&lt;/span&gt;-weighing elements is optimal.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;However I haven't been able to find a polynomial time algorithm for&#xA;the general case (for example using LP).&#xA;On the other hand proving the problem to be &lt;span class=&quot;math-container&quot;&gt;$\mathsf{NP}$&lt;/span&gt;-hard doesn't&#xA;look easy. The structure of the problem instances doesn't allow easy&#xA;encoding of other problems. (Note that the hardness of the problem&#xA;will come from using the same &lt;span class=&quot;math-container&quot;&gt;$L$&lt;/span&gt; for all partial orders, however&#xA;using the same weight vector for all of them makes proving hardness&#xA;not straight forward). I have unsuccessfully tried reducing some&#xA;&lt;span class=&quot;math-container&quot;&gt;$\mathsf{NP}$&lt;/span&gt;-hard problems like Subset-Sum, NAND-Circuit-SAT, etc. to&#xA;the decision version of this problem (is there a subset such that&#xA;&lt;span class=&quot;math-container&quot;&gt;$r(L) \geq k$&lt;/span&gt;).&lt;/p&gt;&#xA;&lt;p&gt;A matching IP can be constructed quiet easily for a given instance of&#xA;the problem, but I don't see any sufficient resemblance to any problem&#xA;that I know of.&lt;/p&gt;&#xA;&lt;h3&gt;Question&lt;/h3&gt;&#xA;&lt;p&gt;Do you know the complexity of this problem?&#xA;Are there any references studying the complexity of similar optimization problems?&#xA;How would you prove that this optimization problem is &lt;span class=&quot;math-container&quot;&gt;$\mathsf{NP}$&lt;/span&gt;-hard? (if it is indeed hard).&lt;/p&gt;&#xA;" OwnerUserId="7701" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2013-01-04T18:39:16.800" Title="NP-hardness of an optimization problem" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;np-hardness&gt;&lt;optimization&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14788" PostTypeId="2" ParentId="14786" CreationDate="2012-12-21T17:43:25.033" Score="2" Body="&lt;p&gt;It seems that there is a confusion in the question between oracles resulting in equality vs. oracles resulting in separation. It is easy to find natural oracles resulting in equality. Oracles for separation is a different matter and your question does not contain an example for them. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;We don't have that many techniques for separating complexity classes and relativized separations are no different. The examples you get are expected to result from those techniques so it is unlikely that such oracles are known.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As far as I know, diagonalization is the only method we know of that can separate non-small complexity classes, so no surprise the oracles separating $\mathsf{NP}$ from $\mathsf{P}$ are such sets.&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2012-12-21T17:49:43.407" LastActivityDate="2012-12-21T17:49:43.407" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14789" PostTypeId="1" AcceptedAnswerId="14796" CreationDate="2012-12-21T17:45:49.390" Score="5" ViewCount="3642" Body="&lt;p&gt;As anyone knows who has read Alan Turing's paper describing the Turing Machine (&lt;em&gt;On Computable Numbers, With an Application to the Entscheidungsproblem&lt;/em&gt;), the syntax he uses is vastly different from that of modern languages (and closer to the densely symbolic mathematical writing of the time). This is not very surprising, since he wrote the paper about a decade before the first working electronic computer was finished and several decades before the first compiler was written. More interestingly, though, is the fact that the paradigm Turing uses seems pretty foreign as well. I would expect it to be procedural, but in fact it's what I would call &quot;state-based&quot;: he describes a finite set of possible states in which the machine might find itself, and, given a particular state and an input value, he describes what actions the machine should take. In essence, then, the Turing machine is a finite state machine that has access to an infinite strip of rewritable memory locations. Since Turing proves that this machine is functionally equivalent to any other sufficiently powerful mechanical computational device, we can see that his state-based programming language can implement all the algorithms that other languages can implement.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As far as I know, however, there is no modern programming language that actually uses this paradigm. I suppose this is probably because it's a bit of a pain to wrap one's head around, and because it doesn't provide a very natural way of thinking about most algorithms, but I'd still be surprised if no one has at least tried something like this. And there may be some applications for which such a language would work extremely well. For instance, a processor can be represented quite directly as Turing's &quot;universal&quot; machine, which takes as input a coded representation of another machine and then performs the work that machine would perform; so might it be possible to design new processors by &quot;compiling&quot; something akin to Turing's language into a circuit layout for an FPGA? (True, the compiler might not come up with the optimal layout, and this approach might be too abstract to fully characterize the details of chip design, but this is just an example of something I think might work.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, my question is: does anyone know of any modern programming languages based on the original Turing machine language, or any languages that use a paradigm akin to this &quot;state-based&quot; paradigm?&lt;/p&gt;&#xA;" OwnerUserId="12922" LastEditorUserId="12922" LastEditDate="2012-12-22T07:00:43.733" LastActivityDate="2013-05-17T09:59:58.893" Title="Is there such a thing as a state-based programming language?" Tags="&lt;pl.programming-languages&gt;&lt;turing-machines&gt;" AnswerCount="4" CommentCount="2" FavoriteCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="14790" PostTypeId="1" AcceptedAnswerId="14793" CreationDate="2012-12-21T18:37:09.413" Score="11" ViewCount="865" Body="&lt;p&gt;Is there any $L\in {\bf NP}$ with the following properties:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;It is known that $L\in {\bf P}$ implies ${\bf P}={\bf NP}$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;There is no (known) polynomial time Turing reduction of $SAT$ (or some other ${\bf NP}$-complete problem) to $L$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;In other words, if a polynomial time algorithm for $L$ implies the collapse of ${\bf NP}$ into ${\bf P}$, then  is it necessary that this &quot;general hardness&quot; of $L$ for ${\bf NP}$ must be somehow $constructive$, in the sense that, say, $SAT$ must be reducible to $L$ via some specific reduction? &lt;/p&gt;&#xA;" OwnerUserId="12710" LastActivityDate="2015-08-29T08:15:34.457" Title="Does NP-completeness/hardness have to be constructive?" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;&lt;reductions&gt;" AnswerCount="4" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14791" PostTypeId="1" CreationDate="2012-12-21T19:18:25.827" Score="36" ViewCount="922" Body="&lt;p&gt;It is conjectured that randomness does not extend the power of polynomial time algorithms, that is, ${\bf P}={\bf BPP}$ is conjectured to hold. On the other hand, randomness seems to have a quite different effect on polynomial time &lt;em&gt;reductions&lt;/em&gt;. By the well known result of Valiant and Vazirani, $SAT$ reduces to $USAT$ via randomized polynomial time reduction. It is not likely that the reduction could be derandomized, since it would yield ${\bf NP}={\bf UP}$, which is thought unlikely.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I wonder, what could be the reason for this asymmetric situation: derandomization seems quite possible in probabilistic polynomial time algorithms, but not in  probabilistic polynomial time reductions?&lt;/p&gt;&#xA;" OwnerUserId="12710" LastEditorUserId="95" LastEditDate="2012-12-26T05:37:37.177" LastActivityDate="2014-01-14T10:12:22.443" Title="Why does randomness have stronger effect on reductions than on algorithms?" Tags="&lt;cc.complexity-theory&gt;&lt;reductions&gt;&lt;derandomization&gt;" AnswerCount="3" CommentCount="6" FavoriteCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="14792" PostTypeId="1" CreationDate="2012-12-21T19:48:23.500" Score="3" ViewCount="144" Body="&lt;p&gt;It is known that there is sharp complexity jump between Horn 3-SAT and 3-SAT problems. The former is $P$-complete while the later is $NP$-complete. I would like to see a continuous spectrum of hardness variation between these two problems.&#xA;I'm interested in finding the influence of the number Horn clauses in general 3-SAT problem. Suppose the number of Horn 3-SAT clauses in input 3-SAT formula is given as a function $f(n)$ in the number of variables $n$. What is known about the complexity of the 3-SAT(f) problem where $f(n)$ is one of the following cases:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1- $f(n)$ is $O(1)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2- $f(n)$ is $O(\log n)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;3- $f(n)$ is $\Omega(n)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;4- $f(n)$ is $o(n)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My intuition is that the first case is tractable while the third one is intractable. Also, I guess the second case is of intermediate complexity (NPI). What is known about the complexity of this problem? I'm looking for formal proofs of complexity?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT: There is no restriction on the number of anti-Horn 3-SAT clauses. A 3-SAT clause must be either Horn or anti-Horn but not both.&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2012-12-21T23:44:43.840" LastActivityDate="2012-12-21T23:44:43.840" Title="Hardness of Horn-modulated Satsifiability problem?" Tags="&lt;cc.complexity-theory&gt;&lt;sat&gt;" AnswerCount="0" CommentCount="9" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="14793" PostTypeId="2" ParentId="14790" CreationDate="2012-12-21T19:50:11.843" Score="15" Body="&lt;p&gt;Yes, there are such sets, take any $\mathsf{NP}$-intermediate set (any set that is provably $\mathsf{NP}$-intermediate assuming $\mathsf{P}\neq\mathsf{NP}$), e.g. construct one from SAT using Ladner's theorem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that your $L$ needs to considered an $\mathsf{NP}$-intermediate problem, since it is in $\mathsf{NP}$ but not complete for it. Note also that you are assuming that $\mathsf{P}\neq\mathsf{NP}$ otherwise there is no such $L$ as every non-trivial problem would be complete for $\mathsf{NP}$ if $\mathsf{NP}=\mathsf{P}$. Additionally the conditions that you have given does not imply to completeness so the question in the first part is not the same as the question about constructiveness of completeness.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Regarding the question in the title, i.e. &quot;does $\mathsf{NP}$-hardness have to be constructive?&quot;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The answer depends on what we mean by &quot;constructive&quot;. Classically, a decision problem $A$ is defined to be $\mathsf{NP}$-hard iff&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\forall B\in \mathsf{NP} \ B \leq^\mathsf{P}_m A$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;which means&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\forall B\in \mathsf{NP} \ \exists f\in\mathsf{FP} \ \forall x\in\{0,1\}^* \ (x\in B \leftrightarrow f(x)\in A)$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;And by Cook's theorem this is equivalent to&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$ SAT \leq^\mathsf{P}_m A$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;which means &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\exists f\in\mathsf{FP} \ \forall x\in\{0,1\}^* \ (x\in SAT \leftrightarrow f(x)\in A)$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;How can we make this definition constructive? It is already seems very constructive to me.&#xA;I guess what you want to ask is if we can prove this for some $A$ without knowing what is $f$ explicitly. I don't remember seeing any such hardness proof. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Classically even when we don't have a specific function there is a function, saying that it is impossible that no function is a reduction is equivalent to saying that some function is a reduction. To talk about constructiveness we need to be more considerate. For example we can talk about statements which are provable classically but not constructively (e.g. intuitionism where different state of mathematical knowledge makes sense, Google for &quot;ideal mathematician&quot; or check &lt;a href=&quot;http://plato.stanford.edu/entries/intuitionistic-logic-development/&quot;&gt;this&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Intuitively it seems plausible to me that we can prove such a statement using a proof by contradiction and without giving any explicit reduction function. But it won't mean that there is no constructive proof of the statement. To be say more that no constructive proof exists we have to be more specific: proofs in which theory/system? what do we mean by a constructive proof?&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2013-02-04T22:44:46.403" LastActivityDate="2013-02-04T22:44:46.403" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="14794" PostTypeId="2" ParentId="14790" CreationDate="2012-12-21T20:02:31.587" Score="12" Body="&lt;p&gt;You may be interested in the $k$-creative sets, invented in &lt;a href=&quot;ftp://ftp.cs.wisc.edu/pub/techreports/1984/TR533.pdf&quot;&gt;[1]&lt;/a&gt; as a conjectured counterexample to the &lt;a href=&quot;http://en.wikipedia.org/wiki/Berman%E2%80%93Hartmanis_conjecture&quot;&gt;Berman-Hartmanis conjecture&lt;/a&gt; that all NP-complete sets are isomorphic to SAT.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&quot;Isomorphic&quot; is different from a Turing reduction (significantly weaker in fact), but these sets were shown to be NP-hard directly and as far as I know there's no known reduction to SAT.  That said, by the definition of NP-completeness there must be some reduction between the two, so while this meets the criterion of &quot;no known&quot; reduction it may not be exactly what you're looking for.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] Joseph, D. and Young, P. Some remarks on witness functions for nonpolynomial and noncomplete sets in NP. &lt;em&gt;Theoretical Computer Science.&lt;/em&gt; vol 39, pg 225--237. 1985.&#xA;Elsevier.&lt;/p&gt;&#xA;" OwnerUserId="8927" LastActivityDate="2012-12-21T20:02:31.587" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14795" PostTypeId="2" ParentId="14789" CreationDate="2012-12-21T20:05:56.500" Score="21" Body="&lt;p&gt;The short answer is no. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The long answer is that such languages are invented on a regular basis, but if they see any significant degree of use, for good semantic reasons they never remain in this mode for very long. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The basic problem is that it is very difficult to build programs compositionally using state machines. The modular construction of programs rests on two pillars: the variable, and the procedure abstraction. Variables let you define data in one place, and use it in another, and procedures let you parameterize a computation by some data. Without these features, it is &lt;em&gt;extremely&lt;/em&gt; hard to build larger programs out of smaller programs. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;State machines lack both of these features, and one of the first nontrivial theorems of computability (the $snm$ theorem) is the proof that Turing machines can implement them. However, the $snm$ theorem is too impractical to use as a practical calling convention, since it essentially says that the calling convention for programs is to  pass arguments by passing strings which are interpreted as programs. This doesn't matter for the purposes of computability theory, but it ends up imposing order-of-magnitude slowdowns in practice (i.e., &quot;interpretive overhead&quot;). So people invariably add a primitive variable and procedure call mechanism to every language that sees serious use. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In fact, the lambda calculus demonstrates that you can build a Turing complete language out of nothing but variables and procedural abstractions. Unlike TMs, however, it's surprisingly practical to program in pure lambda calculus. The technical reason for this is that both lambda calculus and TMs form &quot;closed categories&quot; -- that is, they have the algebraic structure necessary to represent variables and procedures. However, the lambda calculus turns out to be basically a syntactic presentation (in the sense of generators and relations) of this algebraic structure, and so it makes it a lot more convenient to work with this structure.&lt;/p&gt;&#xA;" OwnerUserId="657" LastActivityDate="2012-12-21T20:05:56.500" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="14796" PostTypeId="2" ParentId="14789" CreationDate="2012-12-21T20:22:43.913" Score="6" Body="&lt;p&gt;I think that &lt;a href=&quot;http://en.wikipedia.org/wiki/STRIPS&quot;&gt;STRIPS&lt;/a&gt; and other languages used in Automation Planning are very similar to a &quot;&lt;em&gt;state-based&lt;/em&gt;&quot; programming language.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem of finding if a STRIPS planning problem is satisfiable is PSPACE-complete, and in the (easy) proof you can see how it can simulate the behaviour of a Turing machine with a finite tape (LBA).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A STRIP program is composed of:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;An initial state;&lt;/li&gt;&#xA;&lt;li&gt;The specification of the goal states – situations which the planner is trying to reach;&lt;/li&gt;&#xA;&lt;li&gt;A set of actions. For each action, the following are included: &lt;em&gt;preconditions&lt;/em&gt; (what must be established before the action is performed);  &lt;em&gt;postconditions&lt;/em&gt; (what is established after the action is performed)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;There is no &quot;procedural execution&quot;, but instead it is checked if a valid transition  exists from the initial state to a state where the goal states are satisfied.&lt;/p&gt;&#xA;" OwnerUserId="3247" LastActivityDate="2012-12-21T20:22:43.913" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="14797" PostTypeId="1" CreationDate="2012-12-21T21:21:03.403" Score="5" ViewCount="210" Body="&lt;p&gt;It is conjectured that NP-complete problems are hard not only in the worst case but also in the typical case. Formally, given a language $S \in \lbrace 0,1 \rbrace^*$ and for each $n$ a probability distribution $X_n$ on $\lbrace 0,1 \rbrace^n$, $(S, X)$ is called &quot;hard in the typical case&quot; when for any algorithm $A$ and polynomial $q(n)$, the probability $P_n$ that $A$ decides membership in $S$ correctly in time at most $q(n)$ for an $X_n$-random element of $\lbrace 0,1 \rbrace^n$ is s.t. $1-P_n$ decreases with $n$ slower than some polynomial. We henceforth restrict attention to $X_n$ that are polynomial-time-sampleable, that is, $X_n$ can be sampled by a random algorithm with time complexity polynomial in $n$. It can be show than there are problems $(S, X)$ such that&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(i) $S \in NP$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(ii) For any $(T, Y)$ with $T \in NP$, $(T, Y)$ can be reduced to $(S, X)$ in an appropriate sense, in particular if $(S, X)$ is feasible (polynomial) in the typical case then $(T, Y)$ is feasible in the typical case&lt;/p&gt;&#xA;&#xA;&lt;p&gt;O. Goldreich calls such problems sampNP-complete. For most (all?) natural NP-complete problems $S$, we can find $X$ s.t. $(S, X)$ is sampNP-complete. It is conjectured that such problems are hard in the typical case. In particular, it is a necessary condition for existence of one-way functions&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The question is how this theory is affected by introducing non-uniformity. For worst-case complexity, it is known that $NP \subset P/poly$ implies $PH=\Sigma_2$ which is considered unlikely. What about average-case complexity? That is, what evidence can be brought for/against the following statement:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Given $(S, X)$ sampNP-complete, there exists a polynomial-size family of Boolean circuits $C_n$ s.t. $C_n$ decides membership in $S$ correctly except for a fraction of the inputs which diminishes faster than polynomially w.r.t. $X$&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;EDIT: After posting this question I noticed it is more or less the same as &lt;a href=&quot;https://cstheory.stackexchange.com/questions/5087&quot;&gt;that question&lt;/a&gt;. However the answer accepted there seems to me somewhat unsatisfactory. That answer says that the non-degeneracy of the polynomial hierarchy is not known to imply typical-case hardness of $NP$. However it might be that we can get a stronger conclusion by making a stronger assumption e.g. something about the average-case complexity of problems on different levels of the polynomial hierarchy&lt;/p&gt;&#xA;" OwnerUserId="7030" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2012-12-21T21:55:38.870" Title="Non-uniform average-case complexity of NP" Tags="&lt;cc.complexity-theory&gt;&lt;circuit-complexity&gt;&lt;advice-and-nonuniformity&gt;&lt;p-vs-np&gt;&lt;average-case-complexity&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14798" PostTypeId="2" ParentId="14789" CreationDate="2012-12-21T22:19:51.130" Score="3" Body="&lt;p&gt;This is slightly tangential, since Neil's lovely answer already addresses your question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The difference between programming a Turing machine and what is usually considered a programming language is a topic that can be discussed at various levels of sophistication. Usually, we find it convenient to structure programs using variables, functions, function composition, etc. This is largely how we structure our mathematics. We tend to focus on the result of the computation rather than the mechanical process of how those results are derived.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are situations when thinking in terms of state machines is convenient. For example when designing simple protocols, or describing access and locking policies for resources such as files, printers or memory. In such situations, it is easier to take a standard programming language with variables and functions and add support or explicitly encode a little state-machine behaviour. The word &quot;behavioural&quot; is often used in such contexts. You will find explicit state-based programming more often in Verilog/VHDL than in high-level software. There are also certain object oriented design patterns that enable state-based programming. &lt;/p&gt;&#xA;" OwnerUserId="4155" LastActivityDate="2012-12-21T22:19:51.130" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14801" PostTypeId="2" ParentId="14759" CreationDate="2012-12-22T00:00:09.133" Score="1" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;Do you know of other resource consumption vulnerabilities that were caused by flawed algorithms?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;this can be a subtle issue because basically any algorithm that processes requests with responses is subject to a &lt;a href=&quot;http://en.wikipedia.org/wiki/Denial_of_service&quot; rel=&quot;nofollow&quot;&gt;Denial of Service&lt;/a&gt; attack vulnerability due to being overwhelmed with requests, such that even efficient algorithms can be overwhelmed. in a sense the algorithms are not considered &quot;flawed&quot; until an attacker exploits them, during an ongoing, adaptive race between hackers and researchers employing countermeasures. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;one famous example from history is the so-called &lt;a href=&quot;http://en.wikipedia.org/wiki/Ping_of_death&quot; rel=&quot;nofollow&quot;&gt;Ping of Death&lt;/a&gt; which led to large attacks in 2000 against Yahoo, CNN, eBay, Dell, &amp;amp; Amazon by the hacker &quot;mafiaboy&quot;. ref [1] lists the 10 most famous attacks of the past 25 years several of which are DoS attacks. however, some other algorithms are not discovered to be inefficient until hackers find methods/attack vectors for &quot;bogging them down&quot; and the Apache vulnerability you mention apparently fits into that category. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;there are large amounts of research into DoS prevention techniques eg refs below.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] &lt;a href=&quot;http://www.thedailybeast.com/articles/2010/12/11/hackers-10-most-famous-attacks-worms-and-ddos-takedowns.html&quot; rel=&quot;nofollow&quot;&gt;Hackers’ Most Destructive Attacks&lt;/a&gt;, DailyBeast&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] &lt;a href=&quot;http://nms.lcs.mit.edu/HotNets-II/papers/netcap.pdf&quot; rel=&quot;nofollow&quot;&gt;Preventing Internet Denial-of-Service with Capabilities&lt;/a&gt; Anderson, Roscoe, Wetherall&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[3] &lt;a href=&quot;http://www.csl.mtu.edu/cs6461/www/Reading/Razmov00.pdf&quot; rel=&quot;nofollow&quot;&gt;Denial of service attacks and how to defend against them&lt;/a&gt; Razmov&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[4] &lt;a href=&quot;http://people.cs.pitt.edu/~mehmud/docs/abliz11-TR-11-178.pdf&quot; rel=&quot;nofollow&quot;&gt;Internet denial of service attacks and defense mechanisms&lt;/a&gt; Abliz&lt;/p&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2012-12-22T00:00:09.133" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14802" PostTypeId="1" CreationDate="2012-12-22T05:34:28.950" Score="1" ViewCount="102" Body="&lt;p&gt;Let $\mathcal{S}$ be the set of all &lt;a href=&quot;http://en.wikipedia.org/wiki/Strongly_regular_graph&quot; rel=&quot;nofollow&quot;&gt;strongly regular graphs&lt;/a&gt; with parameter&#xA;$(n, k, \lambda, \mu)$. Are there any (interesting) equivalence relations defined on this set? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;My motivation is to approach isomorphism partition (equivalence relation is &lt;em&gt;being isomorphic&lt;/em&gt;) via other coarser partition.&lt;/p&gt;&#xA;" OwnerUserId="10456" LastActivityDate="2012-12-22T05:34:28.950" Title="Equivalence relations on strongly regular graphs with same parameters" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;graph-isomorphism&gt;&lt;algebra&gt;" AnswerCount="0" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14803" PostTypeId="1" CreationDate="2012-12-22T06:53:54.450" Score="14" ViewCount="748" Body="&lt;p&gt;The Löwner-John ellipsoid of a convex set $C$ is the minimum-volume ellipsoid (MVE) that encloses it. The ellipsoid can be computed using Khachiyan's method, and there are a number of approximations available if $C$ is (the convex hull of) a set of points. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there fast (i.e non-ellipsoid-method based) approximations to the MVE of a bounded polyhedron presented only in terms of the halfplanes whose intersections define it ? In particular, I'd be interested in methods that run in time polynomial in the dimension and the inverse error $1/\varepsilon$.&lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2012-12-22T21:10:01.343" Title="Computing the Löwner-John ellipsoid of a polyhedron" Tags="&lt;cg.comp-geom&gt;&lt;convex-geometry&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14804" PostTypeId="1" CreationDate="2012-12-22T16:58:55.067" Score="42" ViewCount="1322" Body="&lt;p&gt;Let $X$ be an algorithmic task. (It can be a decision problem or an optimization problem or any other task.) Let us call $X$ &quot;on the polynomial side&quot; if assuming that $X$ is NP-hard is known to imply that the polynomial hieararchy collapses. Let us call $X$ &quot;on the NP-side&quot; if assuming that $X$ admits a polynomial algorithm is known to imply that the polynomial hierarchy collapses. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course, every problem in P is on the polynomial side and every problem which is NP-hard is in the NP-side. Also, for example, factoring (or anything in NP intersection coNP) is on the polynomial side. Graph isomorphism is on the polynomial side. QUANTUM-SAMPLING is in the NP-side.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) I am interested in more examples (as natural as possible) of algoritmic tasks in the polynomial side and (especially) in more examples in the NP side.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) Naively it looks that the NP side is a sort of a &quot;neighborhood&quot; of the NP-hard problems, and the P-side is a &quot;neighborhood of P&quot;.  Is it a correct insight to regard problems in the NP side as &quot;considerably harder&quot; compared to problems in the P side. Or even to regard problems in the NP side as &quot;morally NP-hard?&quot; &lt;/p&gt;&#xA;&#xA;&lt;p&gt;3) (This might be obvious but I don't see it) Is there an $X$ on both sides or are there theoretical reasons to believe that such an $X$ is unlikely. &lt;strong&gt;Update&lt;/strong&gt; The answer is YES; see Yuval Filmus' answer below.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(If these &quot;sides&quot; are related to actual complexity classes and if I miss some relevant cc jargon or relevant results please let me know.)  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt; There are by now several very good answers to the question. As noted first by Yuval Filmus and mentioned again the question is not formal and some restriction on the argument showing that X is on the P-side/NP-side is needed. (Otherwise, you can have X to be the task of presenting a proof for 0=1 which is on both sides.) Putting this aside, it may be the case that problems X (genuinly) on the NP-side capture somehow the hardness of SAT, although this may also be the case for some problems on the P-side where the hardness of SAT is weakened (even slightly) in a provable way. Yuval Filmus gave a weakened version of SAT which is on both sides. Andy Drucker gave (in two answers) five interesting examples including a reference to Schöning's Low and High hierarchies, and Scott Aaronson gave further interesting examples, mentioned the question of inverting a one-way function which is close to capture NP hardness and yet on the P-side,  and his answer also discusses the interesting case of QUANTUMSAMPLING. I metioned an old result of this kind by Feige and Lund.&lt;/p&gt;&#xA;" OwnerUserId="712" LastEditorUserId="712" LastEditDate="2012-12-27T07:43:04.620" LastActivityDate="2013-01-03T13:23:45.063" Title="The cozy neighborhoods of &quot;P&quot; and of &quot;NP-hard&quot;" Tags="&lt;cc.complexity-theory&gt;" AnswerCount="5" CommentCount="9" FavoriteCount="11" ContentLicense="CC BY-SA 3.0" />
  <row Id="14807" PostTypeId="1" CreationDate="2012-12-22T20:50:31.840" Score="9" ViewCount="251" Body="&lt;p&gt;&lt;em&gt;I approximately copied the brief &quot;introduction&quot; to average-case complexity theory of NP from &lt;a href=&quot;https://cstheory.stackexchange.com/questions/14797&quot;&gt;my previous question&lt;/a&gt;. However, this question is completely different, so please read on&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is conjectured that $\mathsf{NP}$-complete problems are hard not only in the worst case but also in the typical case. Formally, given a language $S \in \lbrace 0,1 \rbrace^*$ and for each $n$ a probability distribution $X_n$ on $\lbrace 0,1 \rbrace^n$, $(S, X)$ is called &quot;hard in the typical case&quot; when for any algorithm $A$ and polynomial $q(n)$, the probability $P_n$ that $A$ decides membership in $S$ correctly in time at most $q(n)$ for an $X_n$-random element of $\lbrace 0,1 \rbrace^n$ is s.t. $1-P_n$ decreases with $n$ slower than some polynomial&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We henceforth restrict attention to $X_n$ that are polynomial-time-sampleable, that is, $X_n$ can be sampled by a random algorithm with time complexity polynomial in $n$. We define a &quot;distributional (decision) problem&quot; to be a pair $(S, X)$ with $S$ a language and $X$ polynomial-time-sampleable. The class of distributional problems which are feasible (not hard) in the typical case will be denoted $\mathsf{sampP}$. The class of distributional problems $(S, X)$ s.t. $S \in \mathsf{NP}$ will be denoted $\mathsf{sampNP}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It can be shown than there are distributional problems $(S, X) \in \mathsf{sampNP}$ such that for any $(T, Y) \in \mathsf{sampNP}$, $(T, Y)$ can be reduced to $(S, X)$ in an appropriate sense, in particular if $(S, X) \in \mathsf{sampP}$ then $(T, Y) \in \mathsf{sampP}$ i.e. in such case $\mathsf{sampNP} \subset \mathsf{sampP}$  (note that $\mathsf{sampNP} \ne \mathsf{sampP}$ since $\mathsf{sampP}$ is uncountable: the language can be &quot;tweaked&quot; arbitrarily in an infinite set of words which is &quot;rare&quot; w.r.t. the distribition)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;O. Goldreich calls such problems $\mathsf{sampNP}$-complete. For most (all?) natural $\mathsf{NP}$-complete languages $S$, we can find $X$ s.t. $(S, X)$ is $\mathsf{sampNP}$-complete. It is conjectured that $\mathsf{sampNP} \not\subseteq \mathsf{sampP}$. In particular, it is a necessary condition for existence of one-way functions&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Ladner's theorem establishes that if $\mathsf{P} \ne \mathsf{NP}$ then $\mathsf{NPI} := \mathsf{NP} \setminus(\mathsf{NPC} \cup \mathsf{P}) \ne \emptyset$. Can we generalize this to the average-case theory?&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What evidence can be brought for/against the idea that any $(S, X) \in \mathsf{sampNP}$ is either in $\mathsf{sampP}$ or $\mathsf{sampNP}$-complete?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;A theorem by Schöning allows generalization of Ladner's theorem to many cases, e.g. see John Watrous' answer to &lt;a href=&quot;https://cstheory.stackexchange.com/questions/14670&quot;&gt;a previous question of mine&lt;/a&gt; to see how Schöning's theorem allows proving that if $\mathsf{NP} \not\subseteq \mathsf{P/poly}$ then  $\mathsf{NPI} \not\subseteq \mathsf{P/poly}$. However, it doesn't cover the current question for two reasons  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The first reason is that we're considering classes of distributional problems rather than classes of languages. This feels like a technicality that can be dealt with by generalizing Schöning's theorem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The second reason is that the result crucially depends on the fact that $\mathsf{NP} \cap \mathsf{P/poly}$ is recursively presentable. On the other hand $\mathsf{sampNP} \cap \mathsf{sampP}$ doesn't seem to be recursively presentable. For any unbounded computable $f: \mathbb{N} \rightarrow \mathbb{N}$ we can recursively present distributional problems in $\mathsf{sampNP}$ for which the probability of error decreases at least as fast as $n^{-f(n)}$ however there seems to be no way of allowing the condition to hold for &lt;em&gt;some&lt;/em&gt; $f$. This would be possible if there was a recursive enumeration of unbounded functions $f_i: \mathbb{N} \rightarrow \mathbb{N}$ s.t. for any computable unbounded function $g: \mathbb{N} \rightarrow \mathbb{N}$, there is $i$ s.t. $f_i$ grows slower than $g$. However there is no such enumeration as can be seen by a diagonalization argument&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The second reason feels to me like a conceptual breakdown of Schöning's reasoning for this case. So, maybe there are no $\mathsf{NP}$-intermediate problems in the average-case sense?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT: Impagliazzo's proof of Ladner's theorem fails even more spectacularly in this setting since the padding employed there yields a language whose density diminishes with superpolynomial speed and therefore it is trivially in $\mathsf{sampP}$. At least this is so for natural $\mathsf{sampNP}$-complete problems since their distributions are close to uniform&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT: I changed the title from &quot;Are problems in $\mathsf{NPI}$ average-case polynomial?&quot; to &quot;Are there $\mathsf{sampNP}$-intermediate problems?&quot; since the former formulation seems inaccurate. AFAIK it is possible there are problems in $\mathsf{NPI}$ which are $\mathsf{sampNP}$-complete since $\mathsf{sampP}$-reductions are not $\mathsf{P}$-reductions. This is not so for $\mathsf{tpcP}$ for which the question also makes sense&lt;/p&gt;&#xA;" OwnerUserId="7030" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2012-12-29T04:55:24.953" Title="Are there sampNP-intermediate problems?" Tags="&lt;cc.complexity-theory&gt;&lt;p-vs-np&gt;&lt;average-case-complexity&gt;&lt;np-intermediate&gt;" AnswerCount="0" CommentCount="4" FavoriteCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14808" PostTypeId="2" ParentId="14803" CreationDate="2012-12-22T21:10:01.343" Score="8" Body="&lt;p&gt;According to Boyd, it's NP-hard: &lt;a href=&quot;http://youtu.be/mNzu42FrlHo?t=41m3s&quot;&gt;http://youtu.be/mNzu42FrlHo?t=41m3s&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="12927" LastActivityDate="2012-12-22T21:10:01.343" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14809" PostTypeId="1" CreationDate="2012-12-22T22:20:30.180" Score="25" ViewCount="741" Body="&lt;p&gt;Szemeredi's Regularity Lemma says that every dense graph can be approximated as a union of $O(1)$ many bipartite expander graphs. More accurately, there's a partition of most vertices into $O(1)$ sets such that most pairs of sets form bipartite expanders (the number of sets in the partition and the expansion parameter depend on the approximation parameter):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Szemer%C3%A9di_regularity_lemma&quot;&gt;http://en.wikipedia.org/wiki/Szemer%C3%A9di_regularity_lemma&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are versions of this lemma for &quot;well-behaving&quot; sparse graphs, see, e.g.:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.estatistica.br/~yoshi/MSs/FoCM/sparse.pdf&quot;&gt;http://www.estatistica.br/~yoshi/MSs/FoCM/sparse.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://people.maths.ox.ac.uk/scott/Papers/sparseregularity.pdf&quot;&gt;http://people.maths.ox.ac.uk/scott/Papers/sparseregularity.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What surprises me about these formulations is that they only guarantee that most &lt;em&gt;pairs of sets&lt;/em&gt; in the partition form bipartite expanders, and these bipartite expanders may be empty. So, in general sparse graphs, it's quite possible that all edges between different parts in the partition of the vertices don't belong to an expander.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I wonder whether there are formulations that give that most edges between parts are from an expander, or whether there's no hope for such a formulation.&lt;/p&gt;&#xA;" OwnerUserId="1621" LastActivityDate="2019-10-01T18:53:12.953" Title="Regularity Lemma for Sparse Graphs" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;expanders&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="14810" PostTypeId="1" CreationDate="2012-12-23T01:02:02.890" Score="11" ViewCount="2727" Body="&lt;p&gt;&lt;em&gt;CFG&lt;/em&gt; here stands for &lt;em&gt;context-free grammar&lt;/em&gt;. I understand that:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Deciding whether a CFG $G$ is ambiguous is undecidable.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Deciding whether a CFL $L$ is inherently ambiguous is undecidable. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;My question is:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there an algorithm $A$ to remove ambiguity from an ambiguous grammar $G$ of a NOT inherently ambiguous language $L(G)$?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;To specify the behavior of $A$ more precisely, $A$ operates on $G$ and:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;If $L(G)$ is not inherently ambiguous, $A$ outputs a CFG $G'$ so that $G'$ is not ambiguous and $L(G') = L(G)$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;If $L(G)$ is inherently ambiguous, $A$ outputs something arbitrarily.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Is this problem known to be undecidable, or still open? Any comments and links are welcome. Thanks.&lt;/p&gt;&#xA;" OwnerUserId="4471" LastEditorUserId="898" LastEditDate="2012-12-23T02:20:25.523" LastActivityDate="2017-11-21T03:35:28.300" Title="Eliminate ambiguity from CFG" Tags="&lt;context-free&gt;&lt;undecidability&gt;" AnswerCount="0" CommentCount="3" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="14811" PostTypeId="1" AcceptedAnswerId="14818" CreationDate="2012-12-23T04:02:44.877" Score="252" ViewCount="97160" Body="&lt;p&gt;I've been revising Theory of Computation for fun and this question has been nagging me for a while (funny never thought of it when I learnt Automata Theory in my undergrad). So &quot;why&quot; exactly do we study deterministic and non-deterministic finite automata (DFA/NFAs)? So here are some answers I came up with after soliloquing  but still fail to see their overall contribution to the 'aha' moment:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;To study what they are and aren't capable of i.e. limitations &#xA;&lt;ul&gt;&#xA;&lt;li&gt;Why?&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;li&gt;Since they are the basic models of theoretical computation and would lay the foundation of other more capable models of computation.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;What makes them 'basic'? Is it that they have only one bit of storage and state transitions?&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;li&gt;Okay, so what? How does all this contribute to answer the question of computability? It seems Turing machines help understand this really well and there are 'lesser' models of computations like PDAs, DFA/NFAs/Regexes etc. But if one didn't know FAs what is it that they are missing out on?&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;So although I 'get it' to some extent, I am unable to answer this question to myself? How best would you explain 'why study D/N-FAs'? What's the question they seek to answer? How does it help and why is it the first thing taught in Automata Theory?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;PS: I'm aware of the various lexicographic applications and pattern matchers that can be implemented as such. However, I don't wish to know what it can be used for practically but what was their reason for use/invention/design during the culmination of studying the theory of computation. Historically speaking what led one to start with this and what 'aha' understanding is it supposed to lead to? If you were to explain their importance to CS students just beginning to study Automata Theory, how'd you do it? &lt;/p&gt;&#xA;" OwnerUserId="7014" LastEditorUserId="7014" LastEditDate="2014-06-15T01:05:10.140" LastActivityDate="2016-01-14T11:00:13.070" Title="What is the enlightenment I'm supposed to attain after studying finite automata?" Tags="&lt;fl.formal-languages&gt;&lt;automata-theory&gt;&lt;big-picture&gt;&lt;teaching&gt;&lt;dfa&gt;" AnswerCount="11" CommentCount="13" FavoriteCount="349" ContentLicense="CC BY-SA 3.0" />
  <row Id="14812" PostTypeId="2" ParentId="14811" CreationDate="2012-12-23T04:23:35.427" Score="34" Body="&lt;p&gt;There are many good theoretical reasons to study N/DFAs.  Two that immediately come to mind are:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Turing machines (we think) capture everything that's computable.  However, we can ask: What parts of a Turing machine are &quot;essential&quot;?  What happens when you limit a Turing machine in various ways? DFAs are a very severe and &lt;em&gt;natural&lt;/em&gt; limitation (taking away memory).  PDAs are a less severe limitation, etc.  It's theoretically interesting to see what memory gives you and what happens when you go without it.  It seems a very &lt;em&gt;natural&lt;/em&gt; and basic question to me.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Turing machines need an infinite tape.  Our universe is finite, so in some sense every computing device is a DFA.  Seems like an important, and again natural, topic to study.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Asking why one should study DFAs is akin to asking why one should learn Godel's &lt;a href=&quot;http://en.wikipedia.org/wiki/G%C3%B6del%27s_completeness_theorem&quot;&gt;completeness&lt;/a&gt; theorem when the real interesting thing is his &lt;a href=&quot;http://en.wikipedia.org/wiki/G%C3%B6del%27s_incompleteness_theorems&quot;&gt;incompleteness&lt;/a&gt; theorem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The reason they are the first topic in automata theory is because it's natural to build up to more complicated modes from less complicated ones.&lt;/p&gt;&#xA;" OwnerUserId="123" LastEditorUserId="123" LastEditDate="2012-12-23T05:10:31.560" LastActivityDate="2012-12-23T05:10:31.560" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="14813" PostTypeId="2" ParentId="14811" CreationDate="2012-12-23T04:57:46.310" Score="16" Body="&lt;p&gt;Another reason is that they're relatively &lt;em&gt;practical&lt;/em&gt; theoretical models. A Turing machine, apart from the impossibility of the infinite tape, is kind of an awkward fit for what it's like to program a computer (note that this  is not a good analogy to begin with!). PDAs and DFAs however are quite amenable to being models of actual programs in the sense that a PDA/DFA design can often easily be turned into a real program. Compiler design, for example, uses them extensively. So at these sort of connection points between theory and practice, we get a handle on how it all ties together, and what we can and can't do.&lt;/p&gt;&#xA;" OwnerUserId="9520" LastActivityDate="2012-12-23T04:57:46.310" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14814" PostTypeId="2" ParentId="14811" CreationDate="2012-12-23T05:40:57.307" Score="21" Body="&lt;p&gt;Although it is not really the reason they were originally studied, finite automata and the regular languages they recognize are tractable enough that they have been used as building blocks for more complicated mathematical theories. In this context see particularly &lt;a href=&quot;http://en.wikipedia.org/wiki/Automatic_group&quot;&gt;automatic groups&lt;/a&gt; (groups in which the elements can be represented by strings in a regular language and in which the products of elements by group generators can be computed by finite state transducers) and &lt;a href=&quot;http://en.wikipedia.org/wiki/Sofic_subshift#Characterization_and_sofic_subshifts&quot;&gt;sofic subshifts&lt;/a&gt; (subshifts of a shift space whose forbidden words form a regular language). So there are reasons to study them even if you are interested in pure mathematics rather than computer science.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finite automata have also been used in the design of algorithms for other kinds of objects. For instance, &lt;a href=&quot;http://www.complex-systems.com/pdf/01-6-1.pdf&quot;&gt;an algorithm of Culik for testing whether a one-dimensional cellular automaton is reversible&lt;/a&gt; involves constructing, modifying, and testing the properties of certain NFAs. And a &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=1382439.1382941&quot;&gt;1986 FOCS paper by Natarajan&lt;/a&gt; showed how to solve a certain problem in the design of mechanical assembly lines by reducing it to a computation about finite automata.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2012-12-23T05:40:57.307" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14815" PostTypeId="2" ParentId="14811" CreationDate="2012-12-23T06:12:13.133" Score="27" Body="&lt;p&gt;State. you need to learn that one can model the world (for certain problems) as a finite state space, and one can think about computation in this settings. This is a simple insight but extremely useful if you do any programming - you would encounter state again and again and again, and FA give you a way to think about them. I consider this to be a sufficient excuse for teaching a complete class. Of course, state can be deterministic or non-deterministic. Thus DFA and NFA, but you can convert between them, etc.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The second thing to learn is the Halting theorem. Which is related to the Godel incompleteness theorem. (You can not build a machine that can compute everything, and there are mathematical claims that you can neither proof nor disprove, and as such needed to be taken as axioms. That is, we live in a world that has no finite description or real oracles - yey for us!)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, I did my undergrad in math, and you get used to the idea that you learn stuff you have no clue why you are learning (group theory, measure theory, set theory, Hilbert spaces, etc, etc, etc [all good stuff, BTW]). There is something to be said about learning how to learn - next time you have to learn some bizarro math (because you need to use it to do something out there in the real world) that looks very strange you take in stride. Specifically, the third thing to learn is mathematical maturity - being able to argue carefully about things, know when proofs are correct or not, write down proofs, etc. If you have it already, this course is easy, and you would not care too much why you are learning it. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Except for these, the course is a complete waste of your time, like everything else. Specifically, you can live a happy life without knowing this stuff. But this is literally true of all knowledge. More or less. For me a course in university is worth its time, if you look on the world differently after learning it. This is definitely one of the courses that changed the way I think about the world. What more can you ask?&lt;/p&gt;&#xA;" OwnerUserId="9594" LastActivityDate="2012-12-23T06:12:13.133" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14816" PostTypeId="2" ParentId="14811" CreationDate="2012-12-23T08:57:08.040" Score="18" Body="&lt;p&gt;You are asking (at least) two different questions: (a) What parts of theory build on finite automata nowadays? (b) Why were finite automata developed in the first place? I think the best way to address the latter is to look at the old papers, such as:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Rabin, Scott, &lt;a href=&quot;http://www.google.co.uk/search?q=Finite%20automata%20and%20their%20decision%20problems&quot;&gt;Finite Automata and Their Decision Problems&lt;/a&gt;, 1959&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Here are the first two paragraphs:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Turing machines are widely considered to be the abstract prototype of&#xA;  digital computers; workers in the field, however, have felt more and&#xA;  more that the notion of a Turing machine is too general to serve as an&#xA;  accurate model of actual computers. It is well known that even for&#xA;  simple calculations it is impossible to give an &lt;em&gt;a priori&lt;/em&gt; upper bound&#xA;  on the amount of tape a Turing machine will need for any given&#xA;  computation. It is precisely this feature that renders Turing's&#xA;  concept unrealistic.&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;In the last few years the idea of a &lt;em&gt;finite automaton&lt;/em&gt; has appeared in&#xA;  the literature. These are machines having only a finite number of&#xA;  internal states that can be used for memory and computation. The&#xA;  restriction on finiteness appears to give a better approximation to&#xA;  the idea of a physical machine. Of course, such machines cannot do as&#xA;  much as Turing machines, but the advantage of being able to compute an&#xA;  arbitrary general recursive function is questionable, since very few&#xA;  of these functions come up in practical applications.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;In short, they were developed as a model of real computers, which have finite resources.&lt;/p&gt;&#xA;" OwnerUserId="236" LastActivityDate="2012-12-23T08:57:08.040" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14817" PostTypeId="2" ParentId="14779" CreationDate="2012-12-23T10:36:30.687" Score="5" Body="&lt;p&gt;For the $\pi$-calculus, the following texts should be of interest. [&lt;a href=&quot;http://www.cambridge.org/us/knowledge/isbn/item1161297/?site_locale=en_US&quot; rel=&quot;nofollow&quot;&gt;1&lt;/a&gt;] is a relatively gentle introduction while [&lt;a href=&quot;http://www.cambridge.org/gb/knowledge/isbn/item1151382/The%20Pi-Calculus/?site_locale=en_GB&quot; rel=&quot;nofollow&quot;&gt;2&lt;/a&gt;] summarises the state of the art about 10 years ago. A lot  of progress has been made since, but that's not yet written up in a textbook. The original papers [&lt;a href=&quot;http://www.lfcs.inf.ed.ac.uk/reports/89/ECS-LFCS-89-85/ECS-LFCS-89-85.ps&quot; rel=&quot;nofollow&quot;&gt;3&lt;/a&gt;] are also quite readable but contain much detail that may overwhelm a novice (or may be instructive, since it's usually omitted in later accounts). Milner has written a little tutorial [&lt;a href=&quot;http://www.lfcs.inf.ed.ac.uk/reports/89/ECS-LFCS-89-86/ECS-LFCS-89-86.ps&quot; rel=&quot;nofollow&quot;&gt;4&lt;/a&gt;]. Finally, if you have not encountered process theory, the original CCS book [&lt;a href=&quot;http://books.google.com.ar/books/about/Communication_and_Concurrency.html?id=QPyyQgAACAAJ&amp;amp;redir_esc=y&quot; rel=&quot;nofollow&quot;&gt;5&lt;/a&gt;] might be a good place to do so. It deals with CCS, a predecessor to the $\pi$ calculus, and key technical ideas in the theory of $\pi$-calculus like bisimulation are explained in a simpler setting.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Regarding the spi-calculus, I suggest to look at the original paper [&lt;a href=&quot;http://www.lfcs.inf.ed.ac.uk/reports/91/ECS-LFCS-91-180/ECS-LFCS-91-180.ps&quot; rel=&quot;nofollow&quot;&gt;6&lt;/a&gt;], but note that the spi-calculus has largely been superseded by the applied pi-calculus [&lt;a href=&quot;ftp://apotheca.hpl.hp.com/pub/DEC/SRC/publications/ma/spi-dist2.pdf&quot; rel=&quot;nofollow&quot;&gt;7&lt;/a&gt;]. The applied pi-calculus is widely used in modelling cryptographic protocols. [&lt;a href=&quot;http://seclab.stanford.edu/pcl/cs259/WWW06/papers/p104-abadi.pdf&quot; rel=&quot;nofollow&quot;&gt;8&lt;/a&gt;] is a tutorial of applied pi.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://www.cambridge.org/us/knowledge/isbn/item1161297/?site_locale=en_US&quot; rel=&quot;nofollow&quot;&gt;Communicating and Mobile Systems: The $\pi$ Calculus&lt;/a&gt;, by R. Milner.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://www.cambridge.org/gb/knowledge/isbn/item1151382/The%20Pi-Calculus/?site_locale=en_GB&quot; rel=&quot;nofollow&quot;&gt;The $\pi$-Calculus: A Theory of Mobile Processes&lt;/a&gt;, by D. Sangiorgi and D. Walker.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;A Calculus of Mobile Processes, &lt;a href=&quot;http://www.lfcs.inf.ed.ac.uk/reports/89/ECS-LFCS-89-85/ECS-LFCS-89-85.ps&quot; rel=&quot;nofollow&quot;&gt;Part 1&lt;/a&gt; and &lt;a href=&quot;http://www.lfcs.inf.ed.ac.uk/reports/89/ECS-LFCS-89-86/ECS-LFCS-89-86.ps&quot; rel=&quot;nofollow&quot;&gt;Part 2&lt;/a&gt;, by R. Milner, J. Parrow and D. Walker.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://www.lfcs.inf.ed.ac.uk/reports/91/ECS-LFCS-91-180/ECS-LFCS-91-180.ps&quot; rel=&quot;nofollow&quot;&gt;The Polyadic pi-Calculus: A Tutorial&lt;/a&gt;, by R. Milner.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://books.google.com.ar/books/about/Communication_and_Concurrency.html?id=QPyyQgAACAAJ&amp;amp;redir_esc=y&quot; rel=&quot;nofollow&quot;&gt;Communication and Concurrency&lt;/a&gt;, by R. Milner.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;ftp://apotheca.hpl.hp.com/pub/DEC/SRC/publications/ma/spi-dist2.pdf&quot; rel=&quot;nofollow&quot;&gt;A Calculus for Cryptographic Protocols The Spi Calculus&lt;/a&gt;, by M. Abadi and A. Gordon.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://seclab.stanford.edu/pcl/cs259/WWW06/papers/p104-abadi.pdf&quot; rel=&quot;nofollow&quot;&gt;Mobile values, new names, and secure communication&lt;/a&gt;, by M. Abadi and C. Fournet.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://www.cs.bham.ac.uk/~mdr/research/papers/pdf/11-applied-pi.extended.pdf&quot; rel=&quot;nofollow&quot;&gt;Applied pi calculus&lt;/a&gt;, by M. Ryan and B. Smyth.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;If you spell out the ideas you are looking for, maybe we can give you more focussed reading recommendations.&lt;/p&gt;&#xA;" OwnerUserId="898" LastEditorUserId="898" LastEditDate="2012-12-23T18:43:26.017" LastActivityDate="2012-12-23T18:43:26.017" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14818" PostTypeId="2" ParentId="14811" CreationDate="2012-12-23T10:37:59.563" Score="349" Body="&lt;p&gt;I have personally enjoyed several &lt;em&gt;Aha!&lt;/em&gt; moments from studying basic automata theory. NFAs and DFAs form a microcosm for theoretical computer science as a whole. &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;strong&gt;Does Non-determinism Lead to Efficiency?&lt;/strong&gt; There are standard examples where the minimal deterministic automaton for a language is exponentially larger than a minimal non-deterministic automaton. Understanding this difference for Turing machines is at the core of (theoretical) computer science. NFAs and DFAs provide the simplest example I know where you can explicitly see the strict gap between determinism and non-determinism.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Computability != Complexity.&lt;/strong&gt; NFAs and DFAs both represent regular languages and are equivalent in &lt;em&gt;what&lt;/em&gt; they compute. They differ in &lt;em&gt;how&lt;/em&gt; they compute. &lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Machines Refine Languages.&lt;/strong&gt; This is a different take on what we compute and how we compute. You can think of computable languages (and functions) as defining an equivalence class of automata. This is a fundamental perspective change in TCS, where we focus not just on the what, but the how of computation and try to choose the right 'how' when designing an algorithm or understand the space of different how's in studying complexity classes.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;The Value of Canonical Representation.&lt;/strong&gt; DFAs are the quintessential example of a data-structure admitting a canonical representation. Every regular language has a unique, minimal DFA. This means that given a minimal DFA, important operations like language inclusion, complementation, and checking acceptance of a word become trivial. Devising and exploiting canonical representations is a useful trick when developing algorithms.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;The Absence of Canonical Representations.&lt;/strong&gt; There is no well accepted canonical representation of regular expressions or NFA. So, despite the point above, canonical representations do not always exist. You will see this point in many different areas in computer science. (for example, propositional logic formulae also do not have canonical representations, while ROBDDs do).&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;The Cost of a Canonical Representation.&lt;/strong&gt; You can even understand the difference between NFAs and DFAs as an algorithmic &lt;em&gt;no-free-lunch&lt;/em&gt; theorem. If we want to check language inclusion between, or complement an NFA, you can determinize and minimize it and continue from there. However, this &quot;reduction&quot; operation comes at a cost. You will see examples of canonization at a cost in several other areas of computer science.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Infinite != Undecidable.&lt;/strong&gt; A common misconception is that problems of an infinitary nature are inherently undecidable. Regular languages contain infinitely many strings and yet have several decidable properties. The theory of regular languages shows you that infinity alone is not the source of undecidability.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Hold Infinity in the Palm of Your Automaton.&lt;/strong&gt; You can view a finite automaton purely as a data-structure for representing infinite sets. An ROBDD is a data-structure for representing Boolean functions, which you can understand as representing finite sets. A finite-automaton is a natural, infinitary extension of an ROBDD. &lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;The Humble Processor.&lt;/strong&gt; A modern processor has a lot in it, but you can understand it as a finite automaton. Just this realisation made computer architecture and processor design far less intimidating to me. It also shows that, in practice, if you structure and manipulate your states carefully, you can get very far with finite automata.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;The Algebraic Perspective.&lt;/strong&gt; Regular languages form a syntactic monoid and can be studied from that perspective. More generally, you can in later studies also ask, what is the right algebraic structure corresponding to some computational problem.  &lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;The Combinatorial Perspective.&lt;/strong&gt; A finite-automaton is a labelled graph. Checking if a word is accepted reduces to finding a path in a labelled graph. Automata algorithms amount to graph transformations. Understanding the structure of automata for various sub-families of regular languages is an active research area.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;The Algebra-Language-Combinatorics love triangle.&lt;/strong&gt; The Myhill-Nerode theorem allows you to start with a language and generate an automaton or a syntactic monoid. Mathematically, we obtain a translation between very different types of mathematical objects. It is useful to keep such translations in mind and look for them in other areas of computer science, and to move between them depending on your application.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Mathematics is the Language of Big-Pictures.&lt;/strong&gt; Regular languages can be characterised by NFAs (graphs), regular expressions (formal grammar), read-only Turing machines (machine), syntactic monoids (algebra), Kleene algebras (algebra), monadic second-order logic, etc. The more general phenomenon is that important, enduring concepts have many different mathematical characterizations, each of which brings different flavours to our understanding of the idea.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Lemmas for the Working Mathematician.&lt;/strong&gt; The Pumping Lemma is a great example of a theoretical tool that you can leverage to solve different problems. Working with Lemmas is good practice for trying to build upon existing results.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Necessary != Sufficient.&lt;/strong&gt; The Myhill-Nerode theorem gives you necessary and sufficient conditions for a language to be regular. The Pumping Lemma gives us necessary conditions. Comparing the two and using them in different situations helped me understand the difference between necessary and sufficient conditions in mathematical practice. I also learnt that a &lt;em&gt;reusable&lt;/em&gt; necessary and sufficient condition is a luxury. &lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;The Programming Language Perspective.&lt;/strong&gt; Regular expressions are a simple and beautiful example of a programming language. In concatenation, you have an analogue of sequential composition and in Kleene star, you have the analogue of iteration. In defining the syntax and semantics of regular expressions, you make a baby step in the direction of programming language theory by seeing inductive definitions and compositional semantics.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;The Compiler Perspective.&lt;/strong&gt; The translation from a regular expression to a finite automaton is also a simple, theoretical compiler. You can see the difference between parsing, intermediate-code generation, and compiler optimizations, because of the difference in reading a regular expression, generating an automaton, and then minimizing/determinizing the automaton.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;The Power of Iteration.&lt;/strong&gt; In seeing what you can do in a finite-automaton with a loop and one without, you can appreciate the power of iteration. This can help understanding differences between circuits and machines, or between classical logics and fixed point logics.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Algebra and Coalgebra.&lt;/strong&gt; Regular languages form a syntactic monoid, which is an algebraic structure. Finite automata form what in the language of category theory is called a coalgebra. In the case of a deterministic automaton, we can easily move between an algebraic and a coalgebraic representation, but in the case of NFAs, this is not so easy. &lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;The Arithmetic Perspective.&lt;/strong&gt; There is a deep connection between computation and number-theory. You may choose to understand this as a statement about the power of number theory, and/or the universality of computation. You usually know that finite automata can recognize an even number of symbols, and that they cannot count enough to match parenthesis. But how much arithmetic are they capable of? Finite automata can decide Presburger arithmetic formulae. The simplest decision procedure I know for Presburger arithmetic reduces a formula to an automaton. This is one glimpse from which you can progress to Hilbert's 10th problem and it's resolution which led to discovery of a connection between Diophantine equations and Turing machines. &lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;The Logical Perspective.&lt;/strong&gt; Computation can be understood from a purely logical perspective. Finite automata can be characterised by weak, monadic second order logic over finite words. This is my favourite, non-trivial example of a logical characterisation of a computational device. Descriptive complexity theory shows that many complexity classes have purely logical characterisations too.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Finite Automata are Hiding in Places you Never Imagined.&lt;/strong&gt;  (Hat-tip to Martin Berger's comment on the connection to coding theory) The 2011 Nobel Prize in Chemistry was given to the discovery of quasi-crystals. The mathematics behind quasi-crystals is connected to aperiodic tilings. One specific aperiodic tiling of the plane is called the Cartwheel Tiling, which consists of a kite shape and a bow-tie shape. You can encode these shapes in terms of 0s and 1s and then study properties of these sequences, which code sequences of patterns. In fact, if you map 0 to 01 and 1 to 0, and repeatedly apply this map to the digit 0, you will get, 0, 01, 010, 01001, etc. Observe that the lengths of these strings follow the Fibonacci sequence. Words generated in this manner are called Fibonacci words. Certain shape sequences observed in Penrose tilings can be coded as Fibonacci words. Such words have been studied from an automat-theoretic perspective, and guess what, some families of words are accepted by finite automata, and even provide examples of worst-case behaviour for standard algorithms such as Hopcroft's minimization algorithm. Please tell me you are dizzy.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;I could go on.(And on.)* I find it useful to have automata in the back of my head and recall them every now and then to understand a new concept or to gain intuition about high-level mathematical ideas. I doubt that everything I mention above can be communicated in the first few lectures of a course, or even in a first course. These are long-term rewards based on an initial investment made in the initial lectures of an automata theory course.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To address your title: I don't always seek enlightenment, but when I do, I prefer finite automata. Stay thirsty, my friend.&lt;/p&gt;&#xA;" OwnerUserId="4155" LastEditorUserId="2583" LastEditDate="2016-01-13T22:40:04.250" LastActivityDate="2016-01-13T22:40:04.250" CommentCount="10" ContentLicense="CC BY-SA 3.0" />
  <row Id="14819" PostTypeId="1" AcceptedAnswerId="14845" CreationDate="2012-12-23T11:52:47.287" Score="8" ViewCount="376" Body="&lt;p&gt;How can one find the $d+1$ corners of the unit cube in $\mathbb{R}^d$&#xA;nearest a point $x$ in the cube ?&lt;br&gt;&#xA;Use the L1 metric, so that in 4d &#xA;|$x$ - 0000| = $\sum {x_i}$,&#xA;|$x$ - 0001| = $x_3 + x_2 + x_1 + (1 - x_0)$&lt;br&gt;&#xA;($x_0$ on the right) and so on.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For an alternate formulation,&#xA;first flip $x_i$ &gt; 1/2 and sort, &#xA;so that $ 0 \leq x_{d-1} \leq \dots\  x_1 \leq x_0 \leq$ 1/2;&#xA;by symmetry, an algorithm for this case can do any $x$ in the cube.&lt;br&gt;&#xA;Define $c \equiv 1 - 2x$, $ 1\geq c_{d-1} \geq \dots\  c_1 \geq c_0 \geq 0$.&lt;br&gt;&#xA;Then we want the $d+1$ corners with smallest $c \cdot$ corner.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In 4d for example, with $x_i$ decreasing 1/2 .. 0 as above,&#xA;the 5 nearest corners can be&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;    0 0 0 0&#xA;    0 0 0 1&#xA;    0 0 1 0&#xA;&#xA;    0 1 0 0  or  0 0 1 1&#xA;                 0 1 * *&#xA;&#xA;    1 0 0 0&#xA; or 0 1 0 1&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;However in 5d, 6d ... the trees of increasing corners look (to me)  increasingly messy.&lt;br&gt;&#xA;Heuristics for approximate-nearest would be fine.&lt;/p&gt;&#xA;" OwnerUserId="4355" LastEditorUserId="80" LastEditDate="2012-12-24T21:50:41.330" LastActivityDate="2012-12-28T12:04:35.593" Title="Find the nearest $d+1$ corners of a cube in $\mathbb{R}^d$" Tags="&lt;ds.algorithms&gt;&lt;approximation-algorithms&gt;&lt;heuristics&gt;" AnswerCount="3" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14823" PostTypeId="2" ParentId="14811" CreationDate="2012-12-23T13:21:16.257" Score="32" Body="&lt;p&gt;To add one more perspective to the rest of the answers: because you can actually do stuff with finite automata, in contrast with Turing machines.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Just about any interesting property of Turing machines are undecidable. On the contrary, with finite automata, just about everything &lt;em&gt;is&lt;/em&gt; decidable. Language equality, inclusion, emptiness and universality are all decidable. Combined with that finite automata are closed under just about every operation you can think of, and that these operations are computable, you can do pretty much anything you'd ever want to do with finite automata.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This means that if you can capture something using finite automata, you automatically gain a lot of tools to analyze it. For instance, in software testing, systems and their specifications can be modeled as finite automata. You can then automatically test whether your system correctly implements the specification.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Turing machines and finite automata therefore teach people an interesting and ubiquitous contrast: more descriptive power goes hand in hand with less tractability. Finite automata can't describe much, but we can at least do stuff with them.&lt;/p&gt;&#xA;" OwnerUserId="988" LastActivityDate="2012-12-23T13:21:16.257" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14825" PostTypeId="2" ParentId="14784" CreationDate="2012-12-23T14:24:57.657" Score="2" Body="&lt;p&gt;I am not sure but I read somewhere that &lt;strong&gt;Q means Quantum.&lt;/strong&gt;  &lt;strong&gt;Because we know automata works in discrete time frame.&lt;/strong&gt; An automaton always remains in some state in finite state set, and even starts with initial state q&lt;sub&gt;0&lt;/sub&gt;. Also an automaton cannot be in more than one state at any instance of time. The word quantum comes from physics that means quantity, amount or number.     &lt;/p&gt;&#xA;" OwnerUserId="12940" LastEditorUserId="4155" LastEditDate="2012-12-26T00:33:51.373" LastActivityDate="2012-12-26T00:33:51.373" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14826" PostTypeId="1" CreationDate="2012-12-23T14:33:28.333" Score="3" ViewCount="413" Body="&lt;p&gt;Does a strongly NP-Complete problem remain strongly NP-Complete if the variable set on which the objective/cost function depends are made stochastic ? &#xA;The problem Tree CVRP(Capacitated Vehicle Routing Problem) is proven to be strongly NP-Complete by Hamaguchi &amp;amp; Katoh (1998)( &lt;a href=&quot;http://bit.ly/VdUBDz&quot; rel=&quot;nofollow&quot;&gt;http://bit.ly/VdUBDz&lt;/a&gt; ). If the demands are made stochastic then does the problem remain strongly NP-Complete?&lt;/p&gt;&#xA;" OwnerUserId="8847" LastEditorUserId="8847" LastEditDate="2012-12-23T14:48:08.063" LastActivityDate="2012-12-25T19:43:46.667" Title="Stochastic version of a strongly NP-Complete problem" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;optimization&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="14827" PostTypeId="1" CreationDate="2012-12-23T16:36:40.803" Score="2" ViewCount="98" Body="&lt;p&gt;I'm trying to collect examples of exhibiting an adversary to prove that a Boolean function is evasive. I know of several examples of graph properties for which adversary methods have been used, i.e. graph connectedness and containing a triangle, however I'm hoping to find other interesting examples. &lt;/p&gt;&#xA;" OwnerUserId="12944" LastEditorUserId="4155" LastEditDate="2012-12-26T00:41:21.080" LastActivityDate="2012-12-26T00:41:21.080" Title="Exhibiting an adversary to prove a boolean function is evasive" Tags="&lt;boolean-functions&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="14831" PostTypeId="1" AcceptedAnswerId="14838" CreationDate="2012-12-23T21:25:31.280" Score="5" ViewCount="2353" Body="&lt;p&gt;It seems the creation of Turing Machines and finite automata were apart by at least 2+ decades. That is TMs don't really reference FAs for their working and vice versa; TMs and FAs were developed independently of each other. So 'what' were the founding reasons of each of them? Why were they developed? What questions were each of the mathematical models aiming to answer?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm aware of TMs being created for answering the Entscheidungsproblem proposed by David Hilbert and it's leading to answer questions as to what is computable and what isn't. Then what about FAs? On &lt;a href=&quot;https://cstheory.stackexchange.com/q/14811/7014&quot;&gt;another question&lt;/a&gt; an answer pointed me to a paper talking about nerve nets and Kleene's papers (both of which I hadn't read before. I didn't even know FAs were traced back to nerve nets.) So what was it that FAs were trying to answer at that time that wasn't answerable by TMs or was too cumbersome to do so? (I don't really know what nerve nets are and what FAs have to do with them. Perhaps the answer lies there?)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Reason for question: ToC is usually taught in a progression from D/N-FAs to PDAs to TMs but all of them were independently created, decades apart. The logical progression subconsciously implies a chronological sequence of 'discovery' but that isn't true and am trying to understanding their genesis better, out of curiosity. It'd be great to have the 'intentions/needs' of creating both of them in one place to better my understanding of the same. I'd also like to use this as a teaching aid if possible for the undergrads who fail to understand the essence of ToC&lt;/p&gt;&#xA;" OwnerUserId="7014" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.743" LastActivityDate="2012-12-24T09:30:02.757" Title="Why were Finite Automata and Turing Machines created?" Tags="&lt;automata-theory&gt;&lt;turing-machines&gt;&lt;big-picture&gt;&lt;ho.history-overview&gt;" AnswerCount="2" CommentCount="4" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="14832" PostTypeId="1" CreationDate="2012-12-23T21:51:22.867" Score="7" ViewCount="354" Body="&lt;p&gt;This is a crosspost of &lt;a href=&quot;https://math.stackexchange.com/questions/259530/mixed-vs-behavior-strategies-for-zero-sum-game-with-infinite-extensive-form&quot;&gt;this post&lt;/a&gt; on math.stackexchange, which didn't get any responses.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For two-player games given in extensive (&quot;game tree&quot;) form, there are several natural ways to define &lt;em&gt;randomized&lt;/em&gt; strategies for the players.  A &lt;em&gt;mixed&lt;/em&gt; strategy is a probability distribution over pure strategies.  A &lt;em&gt;behavior&lt;/em&gt; strategy specifies, for each node in the game tree at which the player must play, a probability distribution on the possible moves.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Strategy_(game_theory)#Behavior_strategy&quot; rel=&quot;nofollow noreferrer&quot;&gt;Kuhn's theorem&lt;/a&gt; gives conditions under which these two notions are &quot;equivalent&quot;.  Equivalence here means, for example, that for any mixed strategy there is a behavior strategy that (for any fixed play of the opponent) gives the same distribution on outcomes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm looking for theorems that extend Kuhn's theorem to games with infinite game trees.  In particular, when one player has finitely many pure strategies, but the other player has uncountably many.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the game I have in mind, I can make an educated guess at reasonable ways to formally define what a mixed strategy is for the player with uncountably many pure strategies, and I'm sure I can prove the results I want.  I'm sure this must be a special case of known results, but I haven't been able to find a good, accessible reference to cite.  Can anyone suggest a good reference?  Thanks.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;p.s. In case you're curious, here is the game I am studying: &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;An instance of the game is specified by a positive integer $n$, a distribution $P$ on $n$ arbitrary &lt;em&gt;items&lt;/em&gt;, and a cost function $c$, where $c(i)\ge 0$ is the cost of &lt;em&gt;slot&lt;/em&gt; $i\in[n]$.  Both players know $P$ and $c$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Player 1 plays first by choosing any permutation $P'$ of the distribution $P$.  We then generate an infinite random sequence $x_1,x_2,\ldots$ of items by repeatedly and independently sampling from $P'$.  The permutation $P'$ is not revealed to Player 2.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;At each time $t=1,2,\ldots$, the item $x_t$ is revealed to Player 2.  If the item has not been seen before time $t$, Player 2 (without knowing $P'$ or future requests) must assign some slot $j$ to the item, where slot $j$ has not yet been assigned to any item.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Once Player 2 has seen all $n$ items, he has assigned a unique slot $j(i)$ to each item $i$, and the game ends. Player 2 pays Player 1 the payout $\sum_{i=1}^n P'_i c({j(i)})$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Each pure strategy of Player 1 is one of the $n!$ permutations of $P$.  Each pure strategy of Player 2 is a function specifying, given any sequence $x_1,x_2,\ldots,x_t$ of items, where $x_t$ is the first occurrence of that item, which slot $j$ to assign to item $x_t$.  (Note that a-priori Player 2 has uncountably many such pure strategies.)  A behavior strategy for Player 2 is a function mapping each such sequence to a distribution on the unassigned slots.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is a technical exercise to show that the (pure) greedy strategy for Player 2 (assign the slots in order of increasing cost) minimizes the maximum expected payoff.  Also, playing uniformly at random is optimal for Player 1.&lt;/p&gt;&#xA;" OwnerUserId="8237" LastEditorUserId="-1" LastEditDate="2017-04-13T12:19:19.363" LastActivityDate="2012-12-28T01:00:15.680" Title="mixed vs behavior strategies for zero-sum game with infinite extensive form" Tags="&lt;reference-request&gt;&lt;gt.game-theory&gt;" AnswerCount="0" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="14833" PostTypeId="2" ParentId="14804" CreationDate="2012-12-23T22:23:17.577" Score="20" Body="&lt;p&gt;&lt;a href=&quot;http://blog.computationalcomplexity.org/media/ladner.pdf&quot;&gt;Russell Impagliazzo's proof of Ladner's theorem&lt;/a&gt; furnishes an example for 3. For completeness' sake, below I copy the definition of the algorithmic task $X$ and sketch the proof that it is on &quot;both sides&quot;, in a strong sense: in both cases, PH collapses to P. More details can be found in the linked note (taken from Fortnow and Gasarch's blog), which is (lightly) adapted from the appendix to &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.64.5432&amp;amp;rep=rep1&amp;amp;type=pdf&quot;&gt;Uniformly Hard Sets&lt;/a&gt; by Downey and Fortnow.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $M_i$ be an enumeration of all clocked polytime Turing machines, such that $M_i$ terminates in time $n^{\log\log i}$. In the sequel, we will mention pairs $(\alpha,\beta)$. These are assumed to be encoded as binary strings in some reasonable manner.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We define recursively a function $f(n)$. First, $f(1) = 1$. Given $f(n)$, $f(n+1)$ is defined as follows. Let $X_n$ consist of all pairs $(\phi,1^{|\phi|^{f(|\phi|)}})$ such that $|\phi| \leq n$ and $\phi$ is a satisfiable formula.&#xA;If there is a binary string $x$ of length at most $\log n$ such that $x \in L(M_{f(n)}) \triangle X_n$ then $f(n+1) = f(n)+1$, otherwise $f(n+1) = f(n)$. It is not hard to check that $f(n)$ can be calculated in time polynomial in $n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, we can define the algorithmic task $X$: it consists of all pairs $(\phi,1^{|\phi|^{f(|\phi|)}})$ for which $\phi$ is a satisfiable CNF. Note that $X = \bigcup_n X_n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $X$ had a polytime algorithm $M_i$ then $f(n) \leq i$ for all $n$ and so $M_i$ can be used to solve SAT.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Next, suppose there were a polytime reduction $g$ from SAT to $X$, say taking time $n^k$. If $X$ had a polytime algorithm then as we have seen PH collapses to P. Otherwise, $f(n) \longrightarrow \infty$, and in particular, $f(n) &amp;gt; k$ for $n \geq n_0$. The reduction $g$ thus takes any instance of SAT of size larger than $n_0$ and either reduces it to a smaller instance, or outputs a string which is not of the form $(\phi,1^{|\phi|^{f(|\phi|)}})$; the latter case can be recognized in polytime since $f$ is polytime. Iterating $g$, we obtain a polytime algorithm for SAT.&lt;/p&gt;&#xA;" OwnerUserId="40" LastActivityDate="2012-12-23T22:23:17.577" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="14834" PostTypeId="2" ParentId="14779" CreationDate="2012-12-23T22:45:38.267" Score="1" Body="&lt;p&gt;&lt;a href=&quot;http://is.ifmo.ru/books/_principles_of_model_checking.pdf&quot; rel=&quot;nofollow&quot;&gt;Principles of Modelchecking&lt;/a&gt; is in my opinion &quot;the book&quot; on modelchecking.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is very comprehensive, understandable and beautifully written.&lt;/p&gt;&#xA;" OwnerUserId="2019" LastEditorUserId="2019" LastEditDate="2012-12-24T09:11:44.763" LastActivityDate="2012-12-24T09:11:44.763" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="14837" PostTypeId="2" ParentId="14831" CreationDate="2012-12-24T05:53:28.117" Score="7" Body="&lt;p&gt;&lt;em&gt;The logical progression subconsciously implies a chronological sequence of 'discovery'&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think the entire premise here is wrong. &#xA;For example, the whole story of analysis is a ton of hard work in the 18th-19th century to &quot;fix&quot; the nonrigorous analysis of earlier times. And if you've ever taken a class that teaches riemannian geometry, it might even start with the category-theoretic view, which is clearly not chronologically accurate. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A logical progression, especially as taught in the classroom, emphasizes a viewpoint and statements about how the material fits together. It can sometimes reflect an orderly chronological understanding, but more often than not is a retroactive imposition of structure on a field that developed in a very unstructured way. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The FA to TM progression is a &lt;strong&gt;viewpoint&lt;/strong&gt;: one that tries to explore the implications of increasing complexity in the computing device being used. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2012-12-24T05:53:28.117" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="14838" PostTypeId="2" ParentId="14831" CreationDate="2012-12-24T09:30:02.757" Score="9" Body="&lt;p&gt;There are different questions being asked here. It is important to keep in mind that most courses on this topic are designed to clearly communicate and deepen a student's understanding of the concept of computation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Historical motivation and precedence is not usually required to communicate the current understanding of the concepts or even their current relevance. Moreover, historical and philosophical issues are often subtle and doing them academic justice requires time and training that is not usually part of a computer science curriculum. &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;strong&gt;The creation of Turing Machines&lt;/strong&gt; I think it is simplistic to believe that Turing Machines were created only to address the Entscheidungsproblem. The theory of computation was an idea whose time has arrived. There were several equivalent models of computation developed in that period with different motivation. The different models were not developed in isolation. Post developed a model of mechanical calculation in addition to more mathematical models of Church and Kleene. Electro-mechanical calculational devices were also in the background of such developments. Turing may have developed his model specifically motivated by a specific problem, but he did not work in a vacuum and his historical and intellectual context should not be discounted. &lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;The creation of Finite Automata&lt;/strong&gt; I would disagree that finite-automata were over two decades apart from the development of computational devices. McCulloch and Pitts proposed a model similar to finite automata while studying human cognition in the early 40s. The modern heritage of finite automata goes back to Rabin and Scott. Their paper is a model of clarity and is one search away. The &lt;em&gt;first two words&lt;/em&gt;  &quot;Turing machines&quot; show that they were clearly aware of Turing machines.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;The modern presentation of computability theory&lt;/strong&gt; It is not true that the material we learn and teach about finite automata was developed independently of work on Turing machines. The material you are taught was developed in the awareness of results of Turing machines and the motivation for these results is clearly available in the work of Rabin and Scott. &lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;I appreciate the desire to know about historical origins, but it is very important to appreciate that this is a nuanced topic and you cannot always find simple answers. Often, we do not even know when or why a concept was developed.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Regarding your last paragraph, the historical origins are, in my opinion, not a good source of motivation for or understanding about the essence of computation. In fact, they are a pretty bad source for undergrads. There are many contemporary essays, books, talks and the like about why computation is important, universal, beautiful, fascinating, and deep. That's where you should be looking. Here are a few random starting points in no particular order.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.cs.princeton.edu/~chazelle/pubs/algorithm.html&quot;&gt;The Algorithm: Idiom of Modern Science&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.kurzweilai.net/the-emotion-universe&quot;&gt;The emotion universe&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.kurzweilai.net/the-computational-universe-2&quot;&gt;The Computational Universe&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-080-great-ideas-in-theoretical-computer-science-spring-2008/index.htm&quot;&gt;Great Ideas in Theoretical Computer Science&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.cs.princeton.edu/courses/archive/spring10/cos116/syllabus.php&quot;&gt;The Computational Universe&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.oup.com/us/catalog/general/subject/ComputerScience/ArtificialIntelligence/?view=usa&amp;amp;ci=0198604424&quot;&gt;Computers Ltd. What They Really Can't Do&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.cs.rice.edu/~vardi/logic/&quot;&gt;The Unusual Effectiveness of Logic in Computer Science&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.fields.utoronto.ca/programs/scientific/11-12/constraint/CLS/index.html&quot;&gt;And Logic Begat Computer Science: When Giants Roamed the Earth&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="4155" LastActivityDate="2012-12-24T09:30:02.757" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="14839" PostTypeId="2" ParentId="14811" CreationDate="2012-12-24T10:08:51.287" Score="10" Body="&lt;p&gt;Check out the &quot;Living Binary Adder&quot; Game here : &lt;a href=&quot;http://courstltc.blogspot.com/2012/12/living-binary-adder-game.html&quot;&gt;http://courstltc.blogspot.com/2012/12/living-binary-adder-game.html&lt;/a&gt;&#xA;I used to present this game to my students in the early chapters about DFA/NFA. It illustrates two important things in Automata Theory:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;How to transform a mental process into a simple mechanical one&lt;/li&gt;&#xA;&lt;li&gt;What abstraction really means. Two states, as C and Z states above, can be anything : transistors in a computer, an hydraulic mechanism or two human players !&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;This, sometimes bring the &quot;Aha&quot; moment to my students.&lt;/p&gt;&#xA;" OwnerUserId="12995" LastEditorUserId="4155" LastEditDate="2012-12-26T00:35:44.893" LastActivityDate="2012-12-26T00:35:44.893" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14840" PostTypeId="2" ParentId="14779" CreationDate="2012-12-24T12:11:51.570" Score="0" Body="&lt;p&gt;Depending on the depth you want to understand the topic, I can also recommend the (nicely written) article &quot;an automata theoretic approach to branching time model checking&quot; by Kupferman, Vardi, and Wolper. It presents a unified approach for model checking LTL, CTL, CTL*, and mu-calculus. I see this approach as a versatile set of tools to handle proof obligations on finite state systems. The article also contains many useful pointers to earlier approaches. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;(In my oppinion, the book &quot;principles of model checking&quot;, though perfectly fine for teaching, is a little too wordy to enter the material as a researcher. It also does not contain the approach of the article above, but relies on older approaches building solely on nondeterministic Büchi automata on words instead of alternating Büchi automata on trees.) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Merry Christmas. &lt;/p&gt;&#xA;" OwnerUserId="7908" LastEditorUserId="7908" LastEditDate="2012-12-24T12:18:54.407" LastActivityDate="2012-12-24T12:18:54.407" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14842" PostTypeId="1" CreationDate="2012-12-24T13:43:46.327" Score="1" ViewCount="186" Body="&lt;p&gt;The problem is&#xA;$$\max  f(\mathbf{x}) \text{ subject to } \mathbf{Ax} = \mathbf{b}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where $f(\mathbf{x}) = \sum_{i=1}^N\sqrt{1+\frac{x_i^4}{(\sum_{i=1}^{N}x_i^2)^2}}$, &lt;br/&gt;&#xA;$\mathbf{x} = [x_1,x_2,...,x_N]^T \in \mathbb{R}^{N\times 1}$, and  &lt;br/&gt;&#xA;$\mathbf{A} \in \mathbb{R}^{M\times N} $ &lt;br/&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$f(.)$ is in the form of $\sqrt{1+y^2}$. Hence &lt;em&gt;f&lt;/em&gt;(.) is a convex function.&#xA;which is bounded in $[\sqrt{2}, 2]$. &lt;br/&gt; &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am looking for efficient algorithms which solve the above problem or convex maximization problem, in general.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, is it possible to solve the above problem using standard convex optimization tools by putting more constraints? &lt;/p&gt;&#xA;" OwnerUserId="13012" LastEditorUserId="13012" LastEditDate="2012-12-26T12:02:30.237" LastActivityDate="2012-12-26T12:02:30.237" Title="Maximizing a convex function with linear constraint" Tags="&lt;ds.algorithms&gt;&lt;convex-optimization&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="14843" PostTypeId="2" ParentId="14811" CreationDate="2012-12-24T14:35:20.547" Score="9" Body="&lt;p&gt;The concept of DFAs is very useful for designing efficient solutions to many types of problems. One example is networking. Every protocol can be implemented as a state machine. Implementing the solution this way makes the code simpler and simpler means a lower defect rate.  It also means that changes to the code are easier and have a lower impact, again having a lower defect rate. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some people find it difficult to view a network protocol as a state machine but those who can make the jump find it very rewarding in terms of return on effort. &lt;/p&gt;&#xA;" OwnerUserId="13016" LastEditorUserId="4155" LastEditDate="2012-12-26T00:40:31.967" LastActivityDate="2012-12-26T00:40:31.967" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14844" PostTypeId="2" ParentId="14610" CreationDate="2012-12-24T15:43:28.370" Score="2" Body="&lt;p&gt;It seems to me you are trying to get to the convex hull of the IP - in essence this is what cut algorithms try to achieve. Although thereotically appealing these methods fare poorly in practice.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is all theory on the generation of valid inequalities. A good starting point would be shrijver's book theory of integer programming. &lt;/p&gt;&#xA;" OwnerUserId="13026" LastActivityDate="2012-12-24T15:43:28.370" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14845" PostTypeId="2" ParentId="14819" CreationDate="2012-12-24T16:39:02.237" Score="8" Body="&lt;h3&gt;Time $O(d^3\log d)$&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;lemma:&lt;/strong&gt; &lt;em&gt;Fix any $x\in[0,1]^d$.  Then there is a set $S$ containing $d+1$ corners of $\{0,1\}^d$ that are closest to $x$ and such that $S$ is connected (meaning that the subgraph of the hypercube induced by $S$ is connected).&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Proof.&lt;/em&gt;&#xA;First consider the case that $x$ has no coordinates equal to $1/2$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given any corner $a$ in $S$, flipping a coordinate $a_j$ of $a$ will not increase the distance from $a$ to $x$ if $|a_j - x_j| \ge 1/2$.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider any two corners $a,b$ in $S$ that differ in at least one coordinate $j$, and assume WLOG that $a_j=0$ and $b_j=1$.  If $x_j&amp;lt;1/2$ then flipping $b_j$ in $b$ gives another point in $S$ (because it decreases the distance from $b$ to $x$).  Or, if $x_j&amp;gt;1/2$ then flipping $a_j$ in $a$ gives a point in $S$.  Repeating this process for each differing coordinate in $a$ and $b$ gives a path connecting $a$ and $b$ within $S$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $x$ has coordinates equal to $1/2$, then, in choosing $S$, break ties among equidistant points by giving precedence to those with more zero coordinates.  Then the same argument will work.  QED&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By the lemma, you can use a Dijkstra-like algorithm to find $S$.  Start with a corner closest to $x$ ($a$ with $a_j = 0$ if $x_j \le 1/2$).  Then repeatedly add to $S$ a corner that is closest to $x$ among those that are adjacent to some point in $S$.  Stop when $d+1$ points have been added.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Naively (using a min-heap to find the next closest point to $x$ in each iteration), I guess there are $d+1$ iterations, and each iteration requires $O(d^2)$ work to generate the $d$ neighbors of the added node (each of which has representation of size $d$), giving run time $O(d^3\log d)$.&lt;/p&gt;&#xA;&#xA;&lt;h3&gt;Time $O(d^2\log d)$&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;Represent each corner $a$ implicitly as a pair $(h, d)$, where $h$ is a hash of the set of indices $i$ such that $a_i=1$, and $d$ is the distance from $x$ to $a$.  From a given corner $a$, the pairs for all neighboring corners can be generated in $O(d)$ time (total).  This brings the run time down to $O(d^2\log d)$.&lt;/p&gt;&#xA;&#xA;&lt;h3&gt;Faster?&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;To make discussion easier, let's rephrase the problem as follows.  &lt;em&gt;Given a sequence of $d$ non-negative numbers $y_1 \le y_2 \le \cdots \le y_d$, find the $d+1$ minimum-cost subsets of the numbers, where the cost of a subset is the sum of the numbers in it.&lt;/em&gt;  (To see the connection with the previous problem, take $y_i = |x_i - 1/2|$; then each subset $Y$ of the $y_i$'s corresponds to a corner $a(y)$ of the hypercube, where $a_i(y)$ is 1 if ($x_i \le 1/2$ and $y_i\in Y$) or ($x_i&amp;gt;1/2$ and $y_i\not\in Y$); and the cost of $Y$ is the distance from $x$ to $a(y)$.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here's a general idea for a faster algorithm.  Maybe somebody can figure out how to make it work.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Define an implicit directed graph where each node is a subset $Y$ of the $y_i$'s.  The start node is the empty set.  Represent the nodes implicitly as pairs $(h, c)$ where $h$ is the hash of the subset and $c$ is the cost.  For each subset $Y$, define the neighboring subsets somehow so that (i) if $Y\rightarrow Y'$ is a directed edge then the cost$(Y') \ge$ cost$(Y)$, and (ii) for any subset $Y'$, there is a directed edge $Y\rightarrow Y'$ from some subset $Y$ where cost$(Y) \le$ cost$(Y')$.  Then run Dijkstra's on this implicit graph starting at the start node.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Choose the edges (somehow) so that (i) and (ii) both hold, and the sum of the degrees of the cheapest $d+1$ nodes is $O(d)$.  (This is always possible, for example, take the edges to be those in some shortest-path tree rooted at the start.)  But can one define such a graph without a-priori knowledge of the shortest-path tree?  If so, this could lead to an $O(d\log d)$-time algorithm (?).&lt;/p&gt;&#xA;" OwnerUserId="8237" LastEditorUserId="8237" LastEditDate="2012-12-27T16:46:53.163" LastActivityDate="2012-12-27T16:46:53.163" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="14846" PostTypeId="1" CreationDate="2012-12-24T17:05:40.620" Score="0" ViewCount="522" Body="&lt;p&gt;The famous MENACE matchbox computer for playing tic-tac-toe, invented by Donald Mitchie, is an early example of a reinforcement learning algorithm. Here is a &lt;a href=&quot;http://brainwagon.org/2011/08/28/donald-michie-alan-turing-martin-gardner-and-tic-tac-toe/&quot; rel=&quot;nofollow&quot;&gt;description&lt;/a&gt;:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;...an interesting machine for playing tic-tac-toe. It was made&#xA;  entirely out of matchboxes, each one of which had a tic tac toe&#xA;  position on the top. Inside was a collection of colored beads. Each&#xA;  color specified a possible legal move for the position on top. The&#xA;  idea was that you’d play a game by drawing these beads from the&#xA;  appropriate box, and making the appropriate move. At the end of the&#xA;  game, you’d remove the bead from the last box that sent you along the&#xA;  losing path. Eventually, all the losing moves get removed, and the&#xA;  machine plays perfect tic-tac-toe. Gardner showed how this same idea&#xA;  could be used to create a matchbox computer to play hexapawn, a simple&#xA;  game played with six pawns on a 3×3 board.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;My question is: what kind of algorithm is this, in modern parlance? Is it policy iteration? Q-learning? Or sooething else? I am a bit new to the subject and can't figure it out for sure.&lt;/p&gt;&#xA;" OwnerUserId="13033" LastActivityDate="2019-08-15T23:00:45.077" Title="What kind of reinforcement learning is MENACE?" Tags="&lt;machine-learning&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="14847" PostTypeId="2" ParentId="14784" CreationDate="2012-12-24T18:11:42.100" Score="6" Body="&lt;p&gt;In &lt;a href=&quot;http://www.cs.virginia.edu/~robins/Turing_Paper_1936.pdf&quot;&gt;his 1936 paper &quot;ON COMPUTABLE NUMBERS, WITH AN APPLICATION TO THE ENTSCHEIDUNGSPROBLEM&quot;&lt;/a&gt;, Alan Turing wrote : &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&quot;We may compare a man in the process of computing a real number to&#xA;  machine which is only capable of a finite number of conditions q1, q2,&#xA;  .... qR which will be called &quot; m-configurations&quot;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;So he stressed the fact that the machine has a finite, discrete (not continuous) number of states or quantities. For me, it is a reference to the term Quanta used in physics to denote phenomena variating not continuously but by &quot;leaps&quot; or &quot;quanta&quot;. In his &lt;a href=&quot;http://www.thocp.net/biographies/papers/CMandI_Turing.htm&quot;&gt;1950 article &quot;Computing Machinery and Intelligence&quot;&lt;/a&gt; Alan Turing is more explicit about &quot;leaps&quot; speaking of &quot;sudden jumps&quot;: &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&quot;The digital computers considered in the last section may be&#xA;  classified amongst the &quot;discrete-state machines.&quot; These are the&#xA;  machines which move by sudden jumps or clicks from one quite definite&#xA;  state to another.&quot;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;So I think that Alan Turing used q instead of s to denote a machine state to stress the fact that the state machine can be only in a set of discrete and finite values like the quanta in physics. And since then, the same notation is generally used.&lt;/p&gt;&#xA;" OwnerUserId="12995" LastActivityDate="2012-12-24T18:11:42.100" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14848" PostTypeId="1" AcceptedAnswerId="14895" CreationDate="2012-12-24T19:30:59.040" Score="0" ViewCount="177" Body="&lt;p&gt;A question partly inspired by a recent question[1] on the utility of FSMs: Years ago noticed the following property of &lt;a href=&quot;http://en.wikipedia.org/wiki/Finite_state_transducer&quot; rel=&quot;nofollow noreferrer&quot;&gt;FSM transducers&lt;/a&gt; with $\epsilon$-transitions (which allow an &quot;empty&quot; transition without an output symbol). Its not complicated but not trivial either; it seems to be rarely taught, and also shows a close relationship between FSMs and TMs. It also shows up as a somewhat/seemingly natural mechanism for studying the Collatz conjecture by linking to questions on automata.[2]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Take any TM and consider the sequence of IDs, instantaneous description strings, associated with the TM tape and current state, also called a &quot;computational tableau&quot;. (Details of the ID format/encoding are not nec so important but one simple method is to have the current TM state located embedded in the string at the current head position.) The sequential results of the TM after each TM step, $d_1, d_2, ... d_n$ can be computed by a FSM transducer with $\epsilon$-transitions, working left-to-right. am interested in answers to any of the following questions.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;ul&gt;&#xA;  &lt;li&gt;What are some refs that refer to this correspondence/construction (computation of TM tableaus by FSM transducer iterations)?&lt;/li&gt;&#xA;  &lt;li&gt;What is the earliest one to point it out? &lt;/li&gt;&#xA;  &lt;li&gt;What are some notable results (if any) related to it?&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Note, FSM transducers were also called &quot;generalized sequential machines&quot; in early automata theory from the 1960s.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] &lt;a href=&quot;https://cstheory.stackexchange.com/questions/14811/what-is-the-enlightenment-im-supposed-to-attain-after-studying-finite-automata&quot;&gt;What is the enlightenment I&amp;#39;m supposed to attain after studying finite automata?&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] &lt;a href=&quot;https://cstheory.stackexchange.com/questions/5675/collatz-conjecture-grammars-automata&quot;&gt;Collatz Conjecture &amp;amp; Grammars / Automata&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2012-12-30T12:55:50.643" Title="iterations of a $\epsilon$-FSM transducer on a tape as equivalent to a TM computation" Tags="&lt;reference-request&gt;&lt;automata-theory&gt;&lt;turing-machines&gt;&lt;ho.history-overview&gt;" AnswerCount="2" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14849" PostTypeId="2" ParentId="14804" CreationDate="2012-12-24T21:22:05.350" Score="20" Body="&lt;p&gt;Two comments, neither of which amount to an answer, but which may provide some useful further reading.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1)  Schöning defined two classes of NP problems called the &quot;Low Hierarchy&quot; and the &quot;High Hierarchy&quot;, that are related to your notions.  In particular, problems in LowH are &quot;on the P-side&quot;, and problems in HighH are on the NP-side.  A number of well-known results in complexity can be stated in this framework.  For example, the Karp-Lipton theorem says that NP is not in P/poly unless PH collapses; this is a consequence of the fact that NP $\cap$ P/poly is contained in a fixed level of LowH (as the Karp-Lipton proof technique shows).  Note that we don't expect that NP $\cap$ P/poly, or LowH, is contained in P.&#xA;For a survey on LowH in particular, see&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.informatik.hu-berlin.de/forschung/gebiete/algorithmenII/Publikationen/Abstracts/low.ps.abstr_html&quot;&gt;http://www.informatik.hu-berlin.de/forschung/gebiete/algorithmenII/Publikationen/Abstracts/low.ps.abstr_html&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2)  Consider the problem where we are given a full truth table of a Boolean function, and asked if it has a Boolean circuit of some size $t$.  This problem is in NP, and unlikely to be in P (it would imply several surprising consequences).  On the other hand, a proof of NP-completeness for this problem, if it obeys certain fairly natural restrictions, would give us powerful new results in complexity theory.  This was shown by Kabanets and Cai in&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://eccc.hpi-web.de/report/1999/045/&quot;&gt;http://eccc.hpi-web.de/report/1999/045/&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To be clear, there's no real evidence that this problem is &lt;em&gt;not&lt;/em&gt; NP-hard, or that it is easy in any sense.  But it seems quite different from other hard problems in NP.  I think this is among the most interesting candidates for NP-intermediate problems, and not one that is well-known.&lt;/p&gt;&#xA;" OwnerUserId="223" LastActivityDate="2012-12-24T21:22:05.350" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14850" PostTypeId="1" CreationDate="2012-12-25T00:33:04.120" Score="3" ViewCount="400" Body="&lt;p&gt;Hoare logic can be used for proving program correctness (e.g. for deriving correctness statements for the whole program from the statements for the individual commands or constructions; good summary is &lt;a href=&quot;http://www.cis.upenn.edu/~bcpierce/sf/Hoare.html&quot; rel=&quot;nofollow&quot;&gt;http://www.cis.upenn.edu/~bcpierce/sf/Hoare.html&lt;/a&gt;). &lt;strong&gt;The question is - is there any line of research where Hoare-style reasoning can be made for programs that creates and deletes objects.&lt;/strong&gt; &lt;/p&gt;&#xA;&#xA;&lt;p&gt;One thought can be that this reasoning can be simulated by defining large pool of objects which have (for the purposes of correctness analysis) additional state attribute with values from the enumeration {not-created, created, destroyed}. But I guess that better approach should exist.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there any references or keywords for furher search into this matter.&lt;/p&gt;&#xA;" OwnerUserId="9317" LastActivityDate="2013-01-03T17:55:20.963" Title="Can Hoare logic be used when objects are created or deleted?" Tags="&lt;program-verification&gt;" AnswerCount="3" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14851" PostTypeId="2" ParentId="14804" CreationDate="2012-12-25T01:00:37.250" Score="28" Body="&lt;p&gt;The very terms &quot;on the P-side&quot; and &quot;on the NP-side,&quot; and of course the question title, encourage us to imagine a &quot;cozy neighborhood&quot; surrounding P and another &quot;cozy neighborhood&quot; surrounding the NP-hard problems.  However, I'd like to argue that these two neighborhoods are not so &quot;cozy&quot; at all!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As a first observation, there are problems &quot;on the P-side&quot; that seem &quot;morally&quot; much closer to NP-hard than to P.  One example, anticipated by Gil of course, is the general problem of inverting one-way functions (depending on exactly what type of reductions are allowed; see Bogdanov-Trevisan or Akavia et al.).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Conversely, there are also problems &quot;on the NP-side&quot; that seem &quot;arbitrarily far&quot; from being NP-hard.  One silly example is a random language L, with probability 1 over L!  For if such an L is in P, then 0=1 and math is inconsistent, and therefore PH collapses also. ;-D&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Note that a random language L is &lt;i&gt;also&lt;/i&gt; &quot;on the P-side,&quot; with probability 1 over L.  For almost all such L's have the property that if they're NP-hard, then NP&amp;sube;BPP and PH collapses.  And this gives a proof, much simpler than the appeal to Ladner's Theorem, that there exist languages on both &quot;sides.&quot;  Indeed, it shows that of the uncountable infinity of languages, &quot;almost all&quot; of them -- in fact, 100% -- are on both sides!)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This sounds like juvenile game-playing, but there's a serious lesson I'd like to draw from it.  I'd argue that, even though QUANTUM SAMPLING is formally &quot;on the NP-side,&quot; that problem is barely any closer to being &quot;morally NP-hard&quot; than the random language L was.  Arkhipov and I (and independently, Bremner-Jozsa-Shepherd) showed that, if QUANTUM SAMPLING is in P (or rather, in SampBPP, the class of polynomially-solvable sampling problems), then P&lt;sup&gt;#P&lt;/sup&gt; = BPP&lt;sup&gt;NP&lt;/sup&gt;, and therefore the polynomial hierarchy collapses.  Yet if you're a BPP machine, an oracle for BosonSampling would, as far as we know, bring you no closer to solving NP-complete problems than a random oracle would.  Only if you &lt;i&gt;already&lt;/i&gt; have the ability to solve NP-complete problems -- say, if you're a BPP&lt;sup&gt;NP&lt;/sup&gt; machine -- do you &quot;notice&quot; that the BosonSampling oracle boosts your capabilities even further, to #P.  But the property of boosting NP up to #P seems different than, and maybe even &quot;orthogonal to,&quot; the property of being NP-hard on one's own.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Incidentally, a wonderful open problem suggested by Gil's question is whether BosonSampling is also &quot;on the P-side.&quot;  That is, can we show that if NP reduces to BosonSampling then PH collapses?  While I might be missing something obvious, at first glance I have no clue how to prove such a thing, any more than I know how to prove the stronger implication that if NP &amp;sube; BQP then PH collapses.&lt;/p&gt;&#xA;" OwnerUserId="1575" LastEditorUserId="1575" LastEditDate="2012-12-25T14:34:21.497" LastActivityDate="2012-12-25T14:34:21.497" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="14852" PostTypeId="2" ParentId="14826" CreationDate="2012-12-25T02:50:55.947" Score="9" Body="&lt;p&gt;A first observation is that the stochastic version of an optimization problem will always be &lt;em&gt;at least as hard&lt;/em&gt; as the deterministic version, since fixed constant values in an optimization instance are degenerate special cases of random-variable values.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now to understand the computational complexity of stochastic optimization problems in more detail, it's important first to explicitly define the &quot;order of quantification&quot; for the problem, and also the measure of &quot;success.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose $x = (x_1, x_2, \ldots, , x_n)$ are the variables to be set by the optimizing party, and $r = (r_1, \ldots, r_m)$ are the &quot;stochastic&quot; variables.  For simplicity of discussion, let's assume these variables are all Boolean.  Let $F(x, r): \{0, 1\}^{n + m} \rightarrow [0, 1]$ be the objective function we want to maximize.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The $r_i$'s are going to be set uniformly at random by Nature, let's assume.  But, are these variables set before the optimizer's decision, or after?  Or, are the optimizer's decisions &quot;interlaced&quot; with the random settings?  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;(I'm assuming that in whatever model we use, the optimizer can at least &quot;see&quot; the random settings that have already been made by Nature.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The different possibilities described above can be denoted concisely as&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(O1)  $[x_1, \ldots, x_n, r_1, \ldots, r_m]$ (optimizer moves first);&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(O2)  $[r_1, \ldots, r_m, x_1, \ldots, x_n]$ (nature moves first);&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(O3)  $[x_1, r_1, x_2, r_2, \ldots, x_n, r_n, r_{n + 1}, \ldots, r_{m}]$  (alternation; assuming here that $m \geq n$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So that's the &quot;quantification order&quot; question.  Next, we also have to decide how to measure the &quot;success&quot; of an optimizer's strategy.  There are two simple possibilities:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(S1)  Measure success as the &lt;em&gt;expected&lt;/em&gt; output value of $F(x, r)$;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(S2)  Measure success as the probability that $F(x, r)$ meets or exceeds a desired threshold value $\alpha \in [0, 1]$.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;To make my life easier, I'm only going to discuss (S1), but most of what I say also applies to (S2).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, we have the issue of what kind of function $F$ is.  There are two fairly general options to consider:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(C1)  $F$ is a general poly-time computable function into $[0, 1]$;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(C2)  $F$ is defined by a collection of local Boolean constraints $\psi_1, \ldots, \psi_\ell$, each acting on $O(1)$ variables in $(x, r)$, and $F(x, r)$ equals the fraction of satisfied constraints.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;OK, now having multiplied the number of questions to consider, I can at least answer some of them.  First, if one is asking for extremely accurate information about the achievable success, then the problem becomes ridiculously hard, even if there are no optimization variables!  (i.e., even if x is empty.)  For instance, if $F(r)$ is a SAT instance outputting 0 or 1 according to whether it is satisfied, then (S1) asks us to compute the fraction of accepting inputs, which is $\# P$-complete.  So I think it is more reasonable to settle for a .001-approximation (accurate to within $\pm .001$), or maybe more ambitiously for a $1/n^c$-approximation to the success measure, for each $c &amp;gt; 0$.  Now with these goals in mind:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;-For (O1), in which the optimizer sets all the $x$-variables first, the problem is $MA$-complete to .001-approximate, if $F$ is a general Ptime-computable function.  (One has to define completeness for an approximation problem appropriately, and for the promise class $MA$, but morally this is the right complexity classification.)  The proof just follows the definitions.  If $F$ is as in (C2), then the problem is in $NP$, since we can use linearity of expectations to compute the expected value of $F(x, r)$ for any fixed $x$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;-For (O2), in which Nature sets the $r$-variables first, the problem is $AM$-complete to .001-approximate, whether $F$ is as in (C1) or (C2).  For (C1) this follows from an easy black-box application of the Cook's theorem plus the PCP theorem.  For (C2), I showed the $AM$-completeness result in the following paper:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://eccc.hpi-web.de/report/2010/019/&quot;&gt;http://eccc.hpi-web.de/report/2010/019/&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;-For (O3), interlaced variable-settings, the problem is $PSPACE$-complete to .001-approximate, even in the (C2) case; this was shown by Condon, Feigenbaum, Lund, and Shor in this paper:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://cs-www.cs.yale.edu/homes/jf/CFLS.pdf&quot;&gt;http://cs-www.cs.yale.edu/homes/jf/CFLS.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hope this is helpful...&lt;/p&gt;&#xA;" OwnerUserId="223" LastEditorUserId="223" LastEditDate="2012-12-25T19:43:46.667" LastActivityDate="2012-12-25T19:43:46.667" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="14853" PostTypeId="2" ParentId="14850" CreationDate="2012-12-25T03:12:28.033" Score="10" Body="&lt;p&gt;There is a lot of work on Hoare Logic for object oriented programs, and for reasoning about memory allocation and deallocation. Some starting points:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.12.2984&quot; rel=&quot;nofollow&quot;&gt;A Syntax-Directed Hoare Logic for Object-Oriented Programming Concepts&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Separation_logic&quot; rel=&quot;nofollow&quot;&gt;Separation Logic&lt;/a&gt;, does not target OO-languages specifically but applies to the more fundamental problem of reasoning about heap-allocated data.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.jstarverifier.org/&quot; rel=&quot;nofollow&quot;&gt;jStar: Bringing separation logic to Java&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="4155" LastEditorUserId="4155" LastEditDate="2013-01-03T17:55:20.963" LastActivityDate="2013-01-03T17:55:20.963" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14855" PostTypeId="2" ParentId="14791" CreationDate="2012-12-25T17:35:32.300" Score="28" Body="&lt;p&gt;First, let me comment on the specific case of the Valiant-Vazirani reduction; this will, I hope, help clarify the general situation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The Valiant-Vazirani reduction can be viewed/defined in several ways.  This reduction is &quot;trying&quot; to map a satisfiable Boolean formula $F$ to a uniquely-satisfiable $F'$, and an unsatisfiable $F$ to an unsatisfiable $F'$.  All output formulas are always obtained by further restricting $F$, so unsatisfiability is always preserved.  The reduction can be defined &lt;em&gt;either&lt;/em&gt; as outputting a single $F'$, or as outputting a list of $F'_1, \ldots, F'_t$. In the latter case, &quot;success&quot; in the case $F \in SAT$ is defined as having &lt;em&gt;at least one&lt;/em&gt; uniquely satisfiable $F'_i$ in the list.  Call these two variants the &quot;singleton reduction&quot; and &quot;list-reduction&quot; respectively (this is not standard terminology).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The first point it's important to note is that the success probability in the singleton reduction is quite small, namely $\Theta(1/n)$ where $n$ is the number of variables.  The difficulties in improving this success probability are explored in the paper&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&quot;Is Valiant-Vazirani's Isolation Probability Improvable?&quot;  by Dell et al.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://eccc.hpi-web.de/report/2011/151/#revision1&quot;&gt;http://eccc.hpi-web.de/report/2011/151/#revision1&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the list-reduction, the success probability can be made large, $1 - 2^{-n}$ say, with a poly$(n)$-sized list. (One can simply repeat the singleton reduction many times, for example.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, it is not at all evident or intuitive that we should be able to directly derandomize a reduction that only has success probability $1/n$.  Indeed, none of the hardness-vs-randomness results give hypotheses under which we can do so in this case.  It is much more plausible that the list-reduction can be derandomized (with a somewhat larger list).  Note though that this would &lt;em&gt;not&lt;/em&gt; imply $NP = UP$: our output list of formulas may have many uniquely-satisfiable formulas, and perhaps some with many satisfying assignments, and it seems hopeless to try to define a uniquely-accepting computation over such a list.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Even if we could somehow give a  list-reduction in which a satisfiable $F$ always induced a list $F'_1, \ldots, F'_t$ where &lt;em&gt;most&lt;/em&gt; of the $F'_j$'s are uniquely satisfiable, there is no clear way to turn that into a deterministic singleton reduction for isolation.  The real underlying difficulty is that we don't know of any &quot;approximate-majority operation for uniquely-satisfiable formulas&quot;, that is, a reduction $R(F'_1, \ldots, F'_t)$ whose output is uniquely satisfiable if most $F'_j$'s are uniquely satisfiable, and unsatisfiable if most $F'_j$'s are unsatisfiable.  This also seems like a general phenomenon: reductions output more complex objects than decision algorithms, and the properties of these objects are harder to check, so it's harder to &lt;em&gt;combine&lt;/em&gt; many of these objects into a single object that inherits some property of the majority.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the Valiant-Vazirani case, it does not even seem likely under plausible derandomization assumptions that we'd be able to obtain $NP = FewP$, that is, to deterministically reduce satisfiable formulas to satisfiable formulas with $\leq$ poly$(n)$ solutions.  Intuitively this stems from the fact that the isolating procedure has no idea of even the rough size of the solution set of the formula $F$ it is given.&lt;/p&gt;&#xA;" OwnerUserId="223" LastActivityDate="2012-12-25T17:35:32.300" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14856" PostTypeId="1" AcceptedAnswerId="14996" CreationDate="2012-12-25T18:44:46.780" Score="19" ViewCount="919" Body="&lt;p&gt;I am looking for a survey paper or a book covering results &#xA;about the space complexity of common linear algebra operations&#xA;such as matrix rank, eigenvalues calculation, etc.&#xA;I stress the &quot;space complexity&quot; part meaning work space complexity, &#xA;rather than time complexity since it is easier to trace time results. &#xA;I appreciate any reference in the matter.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks.&lt;/p&gt;&#xA;" OwnerUserId="13070" LastEditorUserId="13070" LastEditDate="2019-12-09T13:10:11.353" LastActivityDate="2019-12-09T13:10:11.353" Title="What is the space complexity of calculating Eigenvalues?" Tags="&lt;linear-algebra&gt;&lt;space-complexity&gt;" AnswerCount="2" CommentCount="5" FavoriteCount="5" ContentLicense="CC BY-SA 4.0" />
  <row Id="14857" PostTypeId="2" ParentId="685" CreationDate="2012-12-26T01:12:43.530" Score="8" Body="&lt;p&gt;It is over two years since this question was asked, but in that time, there have been more papers published about algorithms for computing Craig interpolants. This is a very active research area and it is not feasible to give a comprehensive list here. I have chosen articles rather arbitrarily below. I would suggest following articles that reference them and reading their related work sections to get a clear picture of the landscape.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://es.fbk.eu/people/griggio/papers/tocl2010_interpolation.pdf&quot;&gt;Efficient Interpolant Generation in Satisfiability Modulo Theory&lt;/a&gt;, Alessandro Cimatti, Alberto Griggio, Roberto Sebastiani, ACM TOCL, 2010.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Covers interpolation for linear rational arithmetic, rational and integer difference logic, and Unit Two Variables Per Inequality logic (UTVPI).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://arxiv.org/abs/1010.4422&quot;&gt;Efficient Interpolant Generation in Satisfiability Modulo Linear Integer Arithmetic&lt;/a&gt;, Alberto Griggio, Thi Thieu Hoa Le, and Roberto Sebastiani. 2010.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://research.microsoft.com/apps/pubs/default.aspx?id=69177&quot;&gt;A Combination Method for Generating Interpolants&lt;/a&gt;, Greta Yorsh and Madanlal Musuvathi. 2005.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Shows how to generate interpolants in the presence of Nelson-Oppen theory combination.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://arxiv.org/abs/1111.5652&quot;&gt;Ground interpolation for the theory of equality&lt;/a&gt;, Alexander Fuchs, Amit Goel, Jim Grundy, Sava Krstic, Cesare Tinelli. 2011.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://cs.nyu.edu/wies/publ/tr-complete-interpolation.pdf&quot;&gt;Complete Instantiation-Based Interpolation&lt;/a&gt;, Nishant Totla and Thomas Wies. 2012.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://research.microsoft.com/apps/pubs/default.aspx?id=158614&quot;&gt;Interpolants as Classifiers&lt;/a&gt;, Rahul Sharma, Aditya V. Nori, and Alex Aiken, 2012.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="4155" LastActivityDate="2012-12-26T01:12:43.530" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14858" PostTypeId="2" ParentId="14804" CreationDate="2012-12-26T05:49:33.900" Score="10" Body="&lt;p&gt;I came accross this result by Feige and Lund which shows that unless the polynomial hierarchy collapses it is hard to guess even very partial information about the permanent of a random matrix.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Uriel Feige and Carsten Lund, &lt;a href=&quot;http://www.wisdom.weizmann.ac.il/~feige/Others/permanent.ps&quot; rel=&quot;nofollow&quot;&gt;On the Hardness of Computing the Permanent of Random Matrices.&lt;/a&gt;&#xA;Computational Complexity 6 (1996/1997) 101-132.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let me also mention two additional relevant results brought to my attention from Uri Feige:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The following two papers apply this in the context of kernelization (fixed parameter tractable algorithms).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hans L. Bodlaender, Rodney G. Downey, Michael R. Fellows, Danny Hermelin: On problems without polynomial kernels. J. Comput. Syst. Sci. 75(8): 423-434 (2009)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Lance Fortnow, Rahul Santhanam: Infeasibility of instance compression and succinct PCPs for NP. J. Comput. Syst. Sci. 77(1): 91-106 (2011)&lt;/p&gt;&#xA;" OwnerUserId="712" LastEditorUserId="712" LastEditDate="2013-01-03T13:23:45.063" LastActivityDate="2013-01-03T13:23:45.063" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14860" PostTypeId="1" AcceptedAnswerId="14887" CreationDate="2012-12-26T16:13:32.417" Score="16" ViewCount="7403" Body="&lt;p&gt;Are there any practical applications for non-von Neumann programming models? What are the most widely adopted non-von Neumann programming languages?&lt;/p&gt;&#xA;" OwnerUserId="13086" LastEditorUserId="123" LastEditDate="2013-01-02T21:33:15.067" LastActivityDate="2014-11-27T19:17:19.790" Title="What is a practical non-von Neumann architecture?" Tags="&lt;universal-computation&gt;&lt;logic-programming&gt;" AnswerCount="3" CommentCount="9" FavoriteCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="14861" PostTypeId="2" ParentId="11797" CreationDate="2012-12-26T17:24:32.617" Score="5" Body="&lt;p&gt;Here's another one I found on &lt;a href=&quot;http://www.scottaaronson.com/blog/?p=697&quot;&gt;Scott Aaronson's blog&lt;/a&gt; (and the Q+A is taken from there):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In his Ph.D. thesis, Turing studied the question ($F_α$ is a theory):&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Given a Turing machine $M$ that runs forever, is there always an ordinal α such that $F_α$ proves that $M$ runs forever?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Turing proved:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Given any Turing machine $M$ that runs forever, there is an encoding of its axioms ($F_{\omega+1}$) that proves that $M$ runs forever.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Unfortunately, the definitions &amp;amp; technical details are harder to summarize, but the linked-to blog post does a good job of explaining them.&lt;/p&gt;&#xA;" OwnerUserId="123" LastActivityDate="2012-12-26T17:24:32.617" CommentCount="0" CommunityOwnedDate="2012-12-26T17:24:32.617" ContentLicense="CC BY-SA 3.0" />
  <row Id="14862" PostTypeId="2" ParentId="8923" CreationDate="2012-12-26T17:50:25.433" Score="5" Body="&lt;p&gt;For the problem of finding all the maximal elements of $P$ over the lattice of subsets $2^{[n]}$, this amounts to exact inference of a positive boolean function of $n$ boolean variables. If you only care about the number of evaluations of $P$ (not the computational complexity), you can find a survey in &lt;em&gt;Data Mining and Knowledge Discovery via Logic-Based Methods&lt;/em&gt;, Chapter 10, section 10.2.4, or in the last paragraph of section 6.1 of &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0166218X07001278&quot; rel=&quot;nofollow noreferrer&quot;&gt;this article&lt;/a&gt;, which I was pointed to by &lt;a href=&quot;https://cstheory.stackexchange.com/a/14780/4795&quot;&gt;this answer&lt;/a&gt; (beware, the rest of this article deals with computational complexity, not just the complexity of evaluating $P$).&lt;/p&gt;&#xA;" OwnerUserId="4795" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2012-12-26T17:50:25.433" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14863" PostTypeId="2" ParentId="11797" CreationDate="2012-12-26T17:56:57.610" Score="17" Body="&lt;p&gt;This question is a lot like asking for Newton's contributions to physics, or Darwin's to biology!  However, there's an interesting aspect to the question that many commenters have already seized on: namely that, besides the enormous contributions that everyone knows, there are plenty of smaller contributions that most people &lt;i&gt;don't&lt;/i&gt; know about --- as well as many insights that we think of as more &quot;modern,&quot; but that Turing demonstrated in various remarks that he understood perfectly well.  (Incidentally, the same is true of Newton and Darwin.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A few examples I like (besides the ones mentioned earlier):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In &quot;Computing Machinery and Intelligence,&quot; Turing includes a quite-modern discussion of the benefits of randomized algorithms:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;It is probably wise to include a random element in a learning machine. A random element is rather useful when we are searching for a solution of some problem. Suppose for instance we wanted to find a number between 50 and 200 which was equal to the square of the sum of its digits, we might start at 51 then try 52 and go on until we got a number that worked. Alternatively we might choose numbers at random until we got a good one. This method has the advantage that it is unnecessary to keep track of the values that have been tried, but the disadvantage that one may try the same one twice, but this is not very important if there are several solutions. The systematic method has the disadvantage that there may be an enormous block without any solutions in the region which has to be investigated first, Now the learning process may be regarded as a search for a form of behaviour which will satisfy the teacher (or some other criterion). Since there is probably a very large number of satisfactory solutions the random method seems to be better than the systematic. It should be noticed that it is used in the analogous process of evolution.&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Turing was also apparently the first person to use a digital computer to search for counterexamples to the Riemann Hypothesis -- &lt;a href=&quot;http://www.ams.org/notices/200610/fea-booker.pdf&quot;&gt;see here&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Besides the technical results from Turing's 1939 PhD thesis (mentioned by Lev Reyzin), that thesis is extremely notable for introducing the concepts of &lt;b&gt;oracles&lt;/b&gt; and &lt;b&gt;relativization&lt;/b&gt; into computability theory.  (Some people might wish Turing had never done that, but I'm not one of them! :-D )&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, while this is basic, it seems no one has yet mentioned the proof of the existence of &lt;i&gt;universal&lt;/i&gt; Turing machines --- that's a distinct contribution from defining the Turing machine model, formulating the Church-Turing Thesis, &lt;i&gt;or&lt;/i&gt; proving the unsolvability of the Entscheidungsproblem, yet arguably the most &quot;directly&quot; relevant of any of them to the course of the computer revolution.&lt;/p&gt;&#xA;" OwnerUserId="1575" LastActivityDate="2012-12-26T17:56:57.610" CommentCount="0" CommunityOwnedDate="2012-12-26T17:56:57.610" ContentLicense="CC BY-SA 3.0" />
  <row Id="14865" PostTypeId="2" ParentId="14804" CreationDate="2012-12-26T18:38:00.510" Score="11" Body="&lt;p&gt;The hypothesis that the Polynomial Hierarchy does not collapse has been one of the most fertile paths to discovery in complexity theory.  Many of these results can be phrased as saying that specific algorithmic tasks are &quot;on the P-side&quot; or &quot;on the NP-side&quot;.  $PH$ non-collapse seems to have many more consequences than the weaker hypothesis $P \neq NP$, and it would be impossible to corral them all into a single brief post.  Let me just give three examples that give a small sense of the variety of this work.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1)  Suppose we are given as input a circuit with &quot;oracle gates,&quot; that makes two oracle queries during any computation.  We want to know whether it accepts when run on a $SAT$ oracle.  Of course, this is $NP$-hard.  But suppose we would be content to reduce the circuit to an equivalent one that makes just a single query to $SAT$.  Is even this task hard?  We don't know if solving it would imply $P = NP$.  However, Kadin in '88 showed that doing so would collapse the Poly Hierarchy.  For a survey and improved result, see this paper of Fortnow, Pavan, and Sengupta:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://people.cs.uchicago.edu/~fortnow/papers/2q.pdf&quot;&gt;http://people.cs.uchicago.edu/~fortnow/papers/2q.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2)  Suppose we are given a $SAT$ instance $\psi$ of size $m$, with only $n \ll m$ Boolean variables.  Can we efficiently &quot;shrink&quot; $\psi$ to a satisfiability-equivalent formula of size bounded by some fixed polynomial in $n$ (independent of $m$)?  This would be a valuable preprocessing step before running an exponential-time algorithm.  Such a reduction would also be a strong expression of the idea that the hardness of $SAT$ derives primarily from the dimension of an instance's solution-search space.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In answer to a question of Bodlaender, Downey, Fellows, and Hermelin, it was shown by Fortnow and Santhanam that such a compression reduction is unlikely, because it would collapse the Poly Hierarchy:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://people.cs.uchicago.edu/~fortnow/papers/compress.pdf&quot;&gt;http://people.cs.uchicago.edu/~fortnow/papers/compress.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Their result applied to randomized reductions allowing one-sided error.  I proved a corresponding result for two-sided error in&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://eccc.hpi-web.de/report/2012/112/&quot;&gt;http://eccc.hpi-web.de/report/2012/112/&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Each of these papers actually gives stronger and more specific information than the results quoted above.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;3) Sometimes we want to prove a problem is hard using the $PH$ non-collapse assumption, but no such result seems forthcoming.  It's sometimes possible to use oracles to explain why.  For example, we'd love to be able to show that the class $PPAD$, which expresses the hardness of finding fixed points of continuous functions (and Nash equilibria of games) is hard assuming $PH$ is infinite.  But Buhrman et al. showed that there is an oracle $A$ which $PPAD^A$ (and all other problems in the class $TFNP^A$) are easy, yet $PH^A$ is infinite: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://people.cs.uchicago.edu/~fortnow/papers/phq.pdf&quot;&gt;http://people.cs.uchicago.edu/~fortnow/papers/phq.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some people dispute the importance of oracle results, but I think there is no question that they can save complexity theorists from pursuing fruitless lines of inquiry.  This is definitely one such case.  (Basically all known proofs of form &quot;$X$ in $P$ $\Rightarrow$ $PH$ collapses&quot; are relativizing, AFAIK.)  It points to the limitations of the $PH$ non-collapse assumption and the importance of exploring additional hypotheses.&lt;/p&gt;&#xA;" OwnerUserId="223" LastEditorUserId="223" LastEditDate="2012-12-26T19:20:40.040" LastActivityDate="2012-12-26T19:20:40.040" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14866" PostTypeId="2" ParentId="6852" CreationDate="2012-12-26T19:00:14.867" Score="1" Body="&lt;p&gt;T. Wagners dissertation is about &lt;a href=&quot;http://www.cs.berkeley.edu/Research/Projects/harmonia/papers/twagner-thesis.pdf&quot; rel=&quot;nofollow&quot;&gt;&quot;Incremental Software Development Environments&quot;&lt;/a&gt;. You can find a bunch of resources at the &lt;a href=&quot;http://harmonia.cs.berkeley.edu/harmonia/publications/harmonia-pubs.html&quot; rel=&quot;nofollow&quot;&gt;Harmonia and Ensemble Homepage&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="10450" LastActivityDate="2012-12-26T19:00:14.867" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14867" PostTypeId="2" ParentId="14811" CreationDate="2012-12-26T19:28:38.397" Score="-4" Body="&lt;p&gt;I see several answers calling FM's &quot;lesser&quot; than Turing machines.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A primary focus in the Post-grad class I took lay in their equivalence, not distinctions. For every FSM model we studied, we had to prove their equivalence to Turing Machines. This is done by implementing a Turing Machine in the FSM. IIRC, we also studied some other computing models that cold not implement a TM, but I forget what those were. The point is, if you can implement a TM, you can run any TM program on the model, given a sufficiently large tape analog for the problem being run.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The thrust of the answer to the question was: TM is the basic computability model, but not very practical when it comes to building useful machines. Hence FSM models.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This was brought home viscerally to me when, at around the same time (1984), I discovered the FORTH language. It's execution engine is built on a pure realization of a Dual Stack PDA. Going deeper I fond this same engine under expression compilers&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Although, for me, the real impact of FSM was discovering the book &quot;Theory of Finite Automata&quot; by Trakhtenbrot and Korzynski (?) when I was 18, a discovery that essentially gave me my career.&lt;/p&gt;&#xA;" OwnerUserId="13088" LastActivityDate="2012-12-26T19:28:38.397" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="14872" PostTypeId="2" ParentId="14791" CreationDate="2012-12-27T03:51:44.853" Score="13" Body="&lt;p&gt;In the oracle world, it is easy to give examples where randomness gives us much more power. Consider, for example, the problem of finding a zero of a balanced Boolean function. A randomized algorithm accomplishes that using $O(1)$ queries with constant success probability, while any deterministic algorithm requires at least $n/2$ queries.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is another situation where it is &lt;em&gt;suspected&lt;/em&gt; that randomization helps. Suppose we want to maximize a monotone submodular function over a matroid constraint. There are two different algorithms which give a $1-1/e$ approximation, and this is optimal in this model by a result of Vondrák. Both algorithms need to compute a function of the form $\mathbb{E}_{x \sim X} f(x)$, where $X$ is a distribution with exponential support. Computing this function exactly is too costly, but it can be approximated by sampling, and the result is a randomized algorithm. In contrast, the best known deterministic algorithm, the greedy algorithm, gives a $1/2$ approximation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A similar situation occurs in unconstrained submodular maximization (here the function is not necessarily monotone). The recent breakthrough algorithm gives an optimal $1/2$ approximation, but its deterministic version gives only a $1/3$ approximation. Here the randomization manifests itself either in exactly the same way as in the monotone case, or (in a different version of the algorithm) by making a few random choices along the way.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One of the authors of the latter paper conjectures that $1/3$ is the best that a deterministic algorithm can achieve, and we can similarly conjecture that $1/2$ is the best that can be achieved in the previous problem. If these conjectures are true, then this is a very natural situation in which randomization provably helps.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Recently, Dobzinski and Vondrák showed how to transform value oracle lower bounds (for randomized algorithms) into hardness results, conditional on NP different from RP (the key ingredient is list decoding). We should mention that the transformation relies on the specific method used to prove the oracle lower bounds. Perhaps it is true that deterministic value oracle lower bounds also translate into hardness results.&lt;/p&gt;&#xA;" OwnerUserId="40" LastActivityDate="2012-12-27T03:51:44.853" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14873" PostTypeId="1" CreationDate="2012-12-27T05:24:56.073" Score="12" ViewCount="1067" Body="&lt;p&gt;We know that $\mathsf{REG}=\mathsf{NSPACE}(O(1))$ and $\mathsf{CSL}=\mathsf{NSPACE}(O(n))$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is the relation of $\mathsf{CFL}$ and $\mathsf{NSPACE}(O(\log n))=\mathsf{NL}$?&lt;br&gt;&#xA;Is $\mathsf{CFL}$ a proper subset of $\mathsf{NL}$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that $\{0^k1^k2^k \mid 0 \leq k \}$ is not context-free, but in $\mathsf{NL}$.&lt;/p&gt;&#xA;" OwnerUserId="13101" LastEditorUserId="186" LastEditDate="2012-12-27T05:34:10.033" LastActivityDate="2012-12-27T05:34:10.033" Title="Is CFL strictly contained in NL?" Tags="&lt;cc.complexity-theory&gt;&lt;fl.formal-languages&gt;&lt;space-bounded&gt;&lt;grammars&gt;" AnswerCount="0" CommentCount="8" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="14874" PostTypeId="2" ParentId="14848" CreationDate="2012-12-27T12:23:52.620" Score="7" Body="&lt;p&gt;Yes, it is a lovely observation. At first it might be a little surprising, but it is widely known, in disguise.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we write the instantaneous description of a Turing machine as $vqw$, where $q$ is the state, $v,w$ are the segments left and right of the head, then the next ID of the TM is obtained by just a local transformation of the string $vqw$ (namely $q$, the letter next to $q$ that the TM is reading, and one or two neighbouring letters). This observation is used when showing that every TM accepted language can be generated by a &lt;strong&gt;type-0 grammar&lt;/strong&gt;. Such a grammar can only transform a local part of the string (and thus this can be simulated by a FST/GSM). Applying consecutive derivation steps then is iterating the transducer.&lt;/p&gt;&#xA;" OwnerUserId="12122" LastActivityDate="2012-12-27T12:23:52.620" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14875" PostTypeId="1" AcceptedAnswerId="37362" CreationDate="2012-12-27T17:13:00.090" Score="5" ViewCount="189" Body="&lt;p&gt;Assume that I have an array $A$ of $n$ numerical values where some are known and some are unknown (with $A[0]$ and $A[n-1]$ assumed to be known). If I want to estimate an unknown value $A[i]$, a reasonable way is to perform linear interpolation: find the largest $j &amp;lt; i$ such that $A[j]$ is known, find the smallest $k &amp;gt; i$ such that $A[k]$ is known, and do a weighted average $A[j] := {k-i \over k-j}A[k] + {i-j \over k-j}A[j]$. In particular, this ensures that the following property (*) holds: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\text{if } A[j] \leq A[k] \text{ then } A[j] \leq A[i] \leq A[k]$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, you can see an array as a totally ordered structure, and wonder about what would happen in the case of a partial order. Assume that I have a DAG $G = (V, E)$ of $n$ nodes where every node $v \in V$ has a numerical value $\mu(v)$ where some values are known and some are unknown (with the values of the roots and leaves assumed to be known). If I want to estimate some unknown $\mu(v)$, it seems that I should interpolate it out of the values of the closest ancestors and descendents of $v$ whose values are known. The question is: what should we do, exactly? Is there a generalization of linear interpolation in this setting?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[Here is a possible choice: for every couple $(u, w)$ of ancestors and descendents of $v$, perform linear interpolation along all the possible chains between $u$, $v$ and $w$ to get a value for $v$, and average all the values over all chains and ancestor-descendent pairs to get your final estimate. Is this the correct way to do things? Can this estimation be computed more efficiently than with this definition? (i.e., could we do it in linear time in the size of the neighborhood of $v$ under consideration, rather than in a quadratic way?). Do we still have some variant of property (*)? (note that, even if you assume monotonicity, i.e. for each ancestor-descendent couple $(u, w)$ you assume $\mu(u) \leq \mu(w)$, then the estimation $\mu(v)$ obtained by the previous process may still violate monotonicity, i.e. $\mu(v) &amp;gt; \mu(u)$ for some ancestor $u$ of $v$)]&lt;/p&gt;&#xA;" OwnerUserId="4795" LastEditorUserId="4795" LastEditDate="2012-12-27T19:57:08.757" LastActivityDate="2017-01-23T01:06:26.900" Title="Generalizing linear interpolation to posets" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;graph-algorithms&gt;&lt;partial-order&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14876" PostTypeId="2" ParentId="14819" CreationDate="2012-12-27T20:21:06.367" Score="8" Body="&lt;p&gt;It is equivalent to ask, among a set of $d$ non-negatively weighted items, for the $d+1$ subsets of minimum total weight. One can form all the subsets of the items into a tree, in which the parent of a subset is formed by removing its heaviest item (with ties broken arbitrarily but consistently); the $d+1$ solutions will form a subtree of this tree connected at its root (the empty set).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, one can search this tree for the smallest $d+1$ items by a form of Dijkstra's algorithm in which we maintain a priority queue of subsets and remove them in priority order. We start with the first selected item being the empty set. Then, at each step, we maintain as an invariant of the algorithm a priority queue containing the next unselected child for each already-selected subset. When we select a set $S$, we remove it from the priority queue, and we add to the priority queue two new subsets: its first child (the set formed by adding the next heavier element than the heaviest element in $S$) and its next sibling (the set formed by removing the heaviest element in $S$ and adding the same next heavier element).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;After sorting the items by their weights, it is straightforward to represent each set implicitly (as its heaviest element plus a pointer to its parent set), maintain the total weight of each set, and find the first child and next sibling needed by the algorithm in constant time per set. Therefore the total time is dominated by the initial sorting and by the priority queue operations, which take total time $O(d\log d)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Even this can be improved, if the items are already sorted by their weights. View the &quot;first child&quot; and &quot;next sibling&quot; relation from the previous algorithm as the left and right children in a binary tree of subsets. This tree is heap-ordered (total weight increases from parent to child) so we can apply an algorithm for finding the $d+1$ minimum-weight nodes in a heap-ordered binary tree [G. N. Frederickson. An optimal algorithm for selection in a min-heap. Information and Computation, 104:197–214, 1993]. The total time, after the sorting step, is $O(d)$.&lt;/p&gt;&#xA;" OwnerUserId="95" LastEditorUserId="95" LastEditDate="2012-12-27T21:22:15.037" LastActivityDate="2012-12-27T21:22:15.037" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14877" PostTypeId="1" CreationDate="2012-12-28T05:22:45.823" Score="1" ViewCount="64" Body="&lt;p&gt;Consider the problem:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\min_X ||XAX^T||_F$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;s.t. $X^TX=I$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If A and X are real matrices, the lagrangian will be $tr(XAX^TXA^TX^T)+\sum_i\alpha_i(x_i^Tx_i-1)+\sum_i\sum_{j\neq i}\beta_{ij} q_i^Tq_j$ where $\alpha_i$ and $\beta_{ij}$ are Lagrangian multipliers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can I apply $X^TX=I$ here such that the Lagrangian becomes $tr(XAA^TX^T)+\sum_i\alpha_i(x_i^Tx_i-1)+\sum_i\sum_{j\neq i}\beta_{ij} q_i^Tq_j$?&lt;/p&gt;&#xA;" OwnerUserId="10965" LastEditorUserId="10965" LastEditDate="2012-12-28T05:31:39.377" LastActivityDate="2012-12-28T05:31:39.377" Title="Can I apply the constraint while constructing the Lagrangian?" Tags="&lt;optimization&gt;&lt;matrices&gt;" AnswerCount="0" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14878" PostTypeId="2" ParentId="2674" CreationDate="2012-12-28T07:15:04.583" Score="5" Body="&lt;p&gt;A great example is the paper &quot;&lt;a href=&quot;http://research.microsoft.com/en-us/um/redmond/groups/theory/jehkim/papers/entropy.pdf&quot; rel=&quot;nofollow&quot;&gt;Sorting and Entropy&lt;/a&gt;&quot; by Kahn and Kim. The entropy method is used to find an algorithm that given a known poset $P$ and an unknon linear extension of $P$, find the linear extension by $O(\log |X|)$ queries where $X$ is the set of linear extensions of $P$. &lt;/p&gt;&#xA;" OwnerUserId="712" LastEditorUserId="712" LastEditDate="2012-12-28T09:18:06.950" LastActivityDate="2012-12-28T09:18:06.950" CommentCount="0" CommunityOwnedDate="2012-12-28T07:15:04.583" ContentLicense="CC BY-SA 3.0" />
  <row Id="14879" PostTypeId="2" ParentId="14791" CreationDate="2012-12-28T10:28:20.507" Score="12" Body="&lt;p&gt;One reason why it might seem strange to you, that we seem to think there is more apparent (or conjectured) power in the randomized reductions from $\mathsf{NP}$ to $\mathsf{UP}$ than the comparable one from $\mathsf{BPP}$ to $\mathsf P$, is because you may be tempted to think of randomness as something which is either powerful (or not powerful) independently of what &quot;machine&quot; you add it to (if we caricature these complexity classes as classes arising from machine models).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;And yet, these reductions of different power exist. In fact, a computational resource such as randomness does not necessarily have a fixed amount of computational power, which is either &quot;significant&quot; or &quot;not significant&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We may consider any complexity class which is low for itself &amp;mdash; for instance, $\mathsf L$, $\mathsf P$, $\mathsf{BPP}$, $\mathsf{BQP}$, $\mathsf{\oplus P}$, or $\mathsf{PSPACE}$ &amp;mdash; to be amenable to a machine model of sorts in which the machine always has a well-defined state about which you can ask questions at any point in time, while also allowing for the computation to continue beyond the question that you ask: in essence, exactly that the machine can simulate one algorithm as a subroutine for another. The machine which performs the computation may not be particularly &lt;em&gt;realistic&lt;/em&gt; if we restrict ourselves to practical constraints on resources (&lt;em&gt;e.g.&lt;/em&gt;&amp;nbsp;physically realisable and able to produce answers in low-degree polynomial time for problems of interest), but unlike classes such as $\mathsf{NP}$ &amp;mdash; for which we have no idea how a nondeterministic machine could produce the answer to another problem in $\mathsf{NP}$ and use the answer in any way aside from (iterated) conjunctive and disjunctive truth-table reductions &amp;mdash; imagining such a class as being embodied by a machine with a well-defined state which we can enquire into does not lead us badly astray.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we take this position, we can ask what happens if we provide these computational models $\mathsf M$ with extra facilities such as randomness or nondeterminism. (These extra facilities don't necessarily preserve the property of being interpretable by a machine model, especially in the case of nondeterminism, but they do give rise to 'new' classes.) If this extra facility gives the model more power, giving rise to a class $\mathsf C$, this is in effect equivalent to saying that there is a reduction from $\mathsf C$ to $\mathsf M$ using that facility, &lt;em&gt;e.g.&lt;/em&gt;&amp;nbsp;a randomized reduction in the case of randomness.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The reason why I'm describing this in terms of classes which are low for themselves is that if we take seriously that they are &quot;possible models of computation in another world&quot;, your question about randomized reductions corresponds to the fact that it seems that &lt;em&gt;randomness dramatically increases the power of some models but not others&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In place of randomized reductions from $\mathsf{NP}$ to $\mathsf{UP}$, we can observe that there is a randomized reduction from all of $\mathsf{PH}$ to the class $\mathsf{BP\cdot\oplus P}$ &amp;mdash; which is obtained if you add bounded-error randomness to $\mathsf{\oplus P}$ &amp;mdash; by Toda's Theorem. And your question can then be posed as: &lt;em&gt;why does this happen&lt;/em&gt;? Why should some machines gain so much from randomness, and others so little? In the case of $\mathsf{PH} \subseteq \mathsf{BP\cdot\oplus P}$, it seems as though the modulo-2 nondeterminism entailed in the definition of $\mathsf{\oplus P}$ (essentially a counting quantifier modulo 2) catalyses the randomness entailed in bounded error (essentially a counting quantifier with a promise gap) to give us the equivalent of an entire unbounded hierarchy of existential and universal quantifiers. But this does not mean that we suppose that $\mathsf{\oplus P}$ is itself approximately as powerful as the entire polynomial hierarchy, does it? Neither the resources of bounded-error randomness nor modulo-2 counting are thought to be nearly that powerful. What we observe is that &lt;em&gt;together&lt;/em&gt;, these two quantifiers &lt;em&gt;are&lt;/em&gt; that powerful.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There's also a question of whether we can really say that randomness is weak in absolute terms, compared say to nondeterminism: if randomness is so weak, and if we're so convinced that $\mathsf{BPP} = \mathsf{P}$, why can we only bound $\mathsf{BPP} \subseteq \Sigma^{\mathsf p}_2 \cap \Delta^{\mathsf p}_2$ in the polynomial hierarchy, using &lt;em&gt;two&lt;/em&gt; levels of indeterminism, let alone one? But this may just be a result that, while we suspect that randomness added to simple polynomial-time computation doesn't give much power, we have no idea of how to simulate that additional power using only a small amount of nondeterminism of the sort involved in $\mathsf{NP}$ and $\mathsf{coNP}$.  (Of course, it's difficult to prove &lt;em&gt;anything&lt;/em&gt; nontrivial in complexity theory; but that &lt;em&gt;again&lt;/em&gt; is just the statement that these different sorts of resources are difficult to compare on a scale!)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is no strong argument that I can give to defend why this should be the case, other than to observe that so far it simply &lt;em&gt;is&lt;/em&gt; the case; and that if you think that $\mathsf{PH}$ doesn't collapse, is different from $\mathsf{\oplus P}$, and that $\mathsf{BPP} \approx \mathsf{P}$, then you should consider the possibility that facilities such as randomness and nondeterminism can have powers which are not easily comparable to one another, and which can &lt;em&gt;synergize&lt;/em&gt; or catalyse one another to give computational power that neither one would plausibly have on its own. The hypothesis that $\mathsf{BPP} = \mathsf{P}$ is not that &quot;randomness has no power&quot;, but that randomness &lt;em&gt;alone&lt;/em&gt; (or rather, supplemented only by polynomial time computation and provided to an otherwise deterministic computational model) is not powerful. But this does not mean that there can be no power in randomness, which may be catalysed by other computational resources.&lt;/p&gt;&#xA;" OwnerUserId="248" LastEditorUserId="248" LastEditDate="2014-01-14T10:12:22.443" LastActivityDate="2014-01-14T10:12:22.443" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="14880" PostTypeId="2" ParentId="14860" CreationDate="2012-12-28T11:42:28.613" Score="11" Body="&lt;p&gt;I assume by non-Von Neumann, you mean languages that bypassed the &quot;Von Neumann Bottleneck&quot; as per Backus' paper &quot;Can Programming Be Liberated from the Von Neumann Style?&quot;.  For those interested, you can find a copy here:&#xA;&lt;a href=&quot;http://www.thocp.net/biographies/papers/backus_turingaward_lecture.pdf&quot; rel=&quot;nofollow&quot;&gt;http://www.thocp.net/biographies/papers/backus_turingaward_lecture.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The answer to your question will have to be ambiguous for a few reasons.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First, what languages satisfied the criteria in his paper?  Although there are those that trace functional programming to this paper, that's now regarded as a misunderstanding as he meant something like point-free programming.  So do you go with the original misunderstanding, or the true intent of the paper?  For a bit of elaboration on what he meant, please see the following:&#xA;&lt;a href=&quot;http://en.wikipedia.org/wiki/Function-level_programming&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/Function-level_programming&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Second, if you go with the misunderstanding, how functional is functional?  You have pure functional languages, impure functional languages, and languages that are relatively friendly to the functional paradigm.  Considering that you mention popularity and there's an inverse relationship between that and functional purity, just what languages should be included?  Do you want the most popular pure functional language (which wouldn't be popular at all), or a more popular one that meets some minimum criteria of &quot;functional-ness&quot;?  If the latter, what are those criteria?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So depending on your viewpoint:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Haskell is the most popular of the completely pure functional languages that I know of and there are applications written in it.  However, while a heavy-weight in the functional programming community, it's not popular in the larger programming community.  Also, having used it, I did not feel it was practical for real-world use, and it seems to be valued for theoretical work.  It does allow a point-free style, so you can approach some of Backus' goals with that.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Clojure, Scala and F# are less pure, but more practical and popular functional languages.  F# is also friendly to the point-free style.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Forth may be the prototypical example of a point-free language, and it was quite widespread in its day, although now...  Factor is another point-free language that has gained some attention, but I doubt it matched Forth's popularity in its heyday.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;APL was mentioned by Backus at one point (perhaps not in his paper) as being a step towards, but not fully compatible with his goals.  In its day it was big in the financial sector. Be sure to check out its descendants, like J.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;JavaScript is not functional, but it is pretty friendly towards a higher order style of programming, as evidenced by its heavy use of closures.  Given its popularity, it might just meet the criteria.  Be sure to check out some of the interesting stuff done with JavaScript, like currying and combinator implementation.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;As a footnote, to give you more perspective on his goals, you can check out the two languages he designed to meet his criteria.  They're not popular at all AFAIK, so this would be purely for the sake of knowledge:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/FP_(programming_language&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/FP_(programming_language&lt;/a&gt;)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/FL_(programming_language&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/FL_(programming_language&lt;/a&gt;)&lt;/p&gt;&#xA;" OwnerUserId="13116" LastEditorUserId="13116" LastEditDate="2013-01-03T13:41:14.090" LastActivityDate="2013-01-03T13:41:14.090" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="14881" PostTypeId="2" ParentId="14819" CreationDate="2012-12-28T12:04:35.593" Score="0" Body="&lt;p&gt;In practice, weights are often distributed uniformly, roughly ~ 1 2 3 $\dots$&lt;br&gt;&#xA;Then a simple heuristic is to start with:&lt;br&gt;&#xA;$\qquad$ the $d$ single bits, e.g. 10000000 01000000 $\dots$ 00000001&lt;br&gt;&#xA;$\qquad$ $\lceil ln_2 d\rceil$ low-bit combinations&#xA;00000011 00000101 00000110 00000111&lt;br&gt;&#xA;$\qquad$ few-bit combinations of the next $\lceil ln_2 d\rceil$, e.g.&#xA;00001001 00001010 00001100 .&lt;br&gt;&#xA;The best $d+1$ of these candidates works pretty well in practice,&#xA;at least for small $d$.&lt;/p&gt;&#xA;" OwnerUserId="4355" LastActivityDate="2012-12-28T12:04:35.593" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14882" PostTypeId="1" CreationDate="2012-12-28T12:24:10.147" Score="9" ViewCount="372" Body="&lt;p&gt;The following seems to me like a natural definition and I wonder whether it's been studied somewhere&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider $\mathsf{X} \subset 2^{\lbrace 0, 1 \rbrace^*}$ a set of languages. &#xA;Then $K \subset \lbrace 0, 1 \rbrace^\omega$ is called &quot;$\mathsf{X}$-verifiable information&quot; when there is $L \in \mathsf{X}$ s.t.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(i) Given $x \in L$, every prefix of $x$ is in $L$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(ii) Given $f \in K$, every prefix of $f$ is in $L$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(iii) Given $f \notin K$, the length $n$ prefix of $f$ is outside $L$ for $n &amp;gt;&amp;gt; 0$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example $\lbrace f \rbrace$ is $\mathsf{R}$-verifiable information iff $f$ is computable. This can be seen by constructing an algorithm which runs the verification on all strings of length $n$ and collects the prefixes of length $m$ of those strings which passed the verification. For $n &amp;gt;&amp;gt; m$, the only prefix which remains is the correct one&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However if $K$ is $\mathsf{R}$-verifiable information it doesn't mean every $f \in K$ is computable: for example consider $K = \lbrace 0, 1 \rbrace^\omega$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A non-trivial example of $\lbrace f \rbrace$ which is $\mathsf{P}$-verifiable is as follows. Consider $L \in \mathsf{NP} \cap \mathsf{coNP}$ and let $f$ be an encoding of $L$ together with the corresponding $\mathsf{NP}$ and $\mathsf{coNP}$ witnesses (i.e. for each $x \in \lbrace 0, 1 \rbrace^*$, $f$ encodes either an $\mathsf{NP}$-witness proving $x \in L$ or a $\mathsf{coNP}$-witness proving $x \notin L$)&lt;/p&gt;&#xA;" OwnerUserId="7030" LastActivityDate="2018-09-23T06:58:50.150" Title="&quot;Verifiable information&quot;: is this a known concept?" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14883" PostTypeId="1" AcceptedAnswerId="14886" CreationDate="2012-12-28T19:05:25.107" Score="17" ViewCount="482" Body="&lt;p&gt;In a problem I am currently working on, an extension of the noise operator arises naturally, and I was curious whether there has been prior work. First let me revise the basic noise operator $T_{\varepsilon}$ on real-valued Boolean functions. Given a function $f: \{0,1\}^n \to \mathbb{R}$ and $\varepsilon$, $p$ s.t $0 \leq \varepsilon \leq 1$, $\varepsilon = 1 - 2p$, &#xA;we define $T_{\varepsilon} \to \mathbb{R}$ as&#xA;$T_{\varepsilon} f(x) = E_{y \sim \mu_p} [f(x+y)]$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\mu_p$ is the distribution on $y$ obtained by setting each bit of a $n$-bit vector to be $1$ independently with probability $p$ and $0$ otherwise. Equivalently, we can think of this process as flipping each bit of $x$ with independent probability $p$. Now this noise operator has many useful properties, including being multiplicative $T_{\varepsilon_1} T_{\varepsilon_2} =&#xA;T_{\varepsilon_1 \varepsilon_2}$ and having nice eigenvalues and eigenvectors($T_{\varepsilon}(\chi_S) = \varepsilon^{|S|} \chi_S$ where $\chi_S$ belongs to the parity basis).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let me now define my extension of $T_\varepsilon$, which I denote as $R_{(p_1,p_2)}$.  $R_{(p_1,p_2)} \to \mathbb{R}$ is given by $R_{(p_1,p_2)} f(x) = E_{y \sim \mu_{p,x}} [f(x+y)]$. But here our distribution $\mu_{p,x}$ is such that we flip the $1$ bits of $x$ to $0$ with probability $p_1$ and $0$ bits of $x$ to $1$ with probability $p_2$. ( $\mu_{p,x}$ is now clearly a distribution dependent on the $x$ where the function is evaluated, and if $p_1 = p_2$ then $R_{(p_1,p_2)}$ reduces to the 'regular' noise operator.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I was wondering, has this operator $R_{(p_1,p_2)}$ already been well-studied somewhere in the literature? Or are the basic properties of it obvious? I am just starting with Boolean analysis, so this might be straightforward to someone more familiar with the theory than I am. In particular I am interested in if the eigenvectors and eigenvalues have some nice characterization, or whether there is any multiplicative property.&lt;/p&gt;&#xA;" OwnerUserId="2302" LastEditorUserId="2302" LastEditDate="2012-12-28T19:23:35.313" LastActivityDate="2014-04-15T21:30:46.457" Title="An extension of the noise operator" Tags="&lt;boolean-functions&gt;&lt;fourier-analysis&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="14885" PostTypeId="1" CreationDate="2012-12-28T23:54:31.750" Score="2" ViewCount="233" Body="&lt;p&gt;I dont know if this question belong to this forum, but I will ask it anyway&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To your opinions, what are the most recent fundamental results in the field of algorithms ? [Results that can be taught in an advanced undergrad or graduate algorithms course]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In here, I am talking about results with high applicability to computer science, a continuation to what is usually taught in a general algorithm course. For instance, if we were in 1995 I would call skiplists and randomized rounding as new fundamental results in CS.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;My main goal: build material for an advanced course on algorithms [that does not get into specific research areas and applications]&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Let's restrict &lt;em&gt;recent&lt;/em&gt; to papers published in the late 1990's). &lt;/p&gt;&#xA;" OwnerUserId="5411" LastEditorUserId="5411" LastEditDate="2012-12-29T07:57:01.270" LastActivityDate="2012-12-29T07:57:01.270" Title="Recent fundamental results in algorithms?" Tags="&lt;ds.algorithms&gt;&lt;soft-question&gt;" AnswerCount="1" CommentCount="6" FavoriteCount="1" ClosedDate="2012-12-29T15:30:16.740" ContentLicense="CC BY-SA 3.0" />
  <row Id="14886" PostTypeId="2" ParentId="14883" CreationDate="2012-12-29T00:01:47.407" Score="15" Body="&lt;p&gt;I'll answer the second part of the question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;I. Eigenvalues and Eigenfunctions&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let's first consider the one dimensional case $n=1$. It is easy to check that the operator $R_{p_1,p_2}$ has two eigenfunctions: $1$ and &#xA;$$\xi(x) = (p_1+p_2)x - p_1 =&#xA;\begin{cases}&#xA;-p_1, &amp;amp;\text{ if } x =0,\\&#xA;p_2, &amp;amp;\text{ if } x =1.&#xA;\end{cases}$$&#xA;with eigenvalues $1$ and $1-p_1 - p_2$, respectively.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now consider the general case. For $S\subset \{1,\dots,n\}$, let $\xi_S(x) = \prod_{i\in S} \xi(x_i)$. Observe that $\xi_S$ is an eigenfunction of $R_{p_1,p_2}$. Indeed since all variables $x_i$ are independent, we have&#xA;\begin{align*}&#xA;R_{p_1,p_2}(\xi(x)) &amp;amp;= R_{p_1,p_2}\left(\prod_{i\in S} \xi(x_i)\right) = \prod_{i\in S} R_{p_1,p_2}(\xi(x_i)) \\&#xA;&amp;amp;= \prod_{i\in S}\left((1-p_1 - p_2)\xi(x_i)\right) = (1-p_1 - p_2)^{|S|} \xi_S(x).&#xA;\end{align*}&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We get that $\xi_S(x)$ is an eigenfunction of $R_{p_1,p_2}$ with eigenvalue $(1-p_1-p_2)^{|S|}$ for every $S\subset \{1,\dots,n\}$. Since functions $\xi_S(x)$ span the whole space, $R_{p_1,p_2}$ has no other eigenfunctions (that are not linear combinations of $\xi_S(x)$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;II. Multiplicative Property&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In general, the “multiplicative property” doesn't hold for $R_{p_1,p_2}$ since the eigenbasis of $R_{p_1,p_2}$ depends on $p_1$ and $p_2$. However, we have &#xA;$$R_{p_1,p_2}^2 = R_{p_1',p_2'},$$&#xA;where $p_1' = 2p_1- (p_1+p_2)p_1$ and $p_2' = 2p_2- (p_1+p_2)p_2$. To verify that, first note that $R_{p_1,p_2}$ and $R_{p_1',p_2'}$ have the same set of eigenfunctions $\{\xi_S\}$. We have,&#xA;$$R_{p_1,p_2}^2(\xi_S) = (1-p_1-p_2)^{2|S|} \xi_S=(1-p_1'-p_2')^{|S|}\xi_S = R_{p_1',p_2'} (\xi_S) $$&#xA;since&#xA;\begin{align*}&#xA; 1-p_1'-p_2' &amp;amp;= 1 - p_1\cdot (2- (p_1+p_2)) - p_2\cdot (2- (p_1+p_2)) \\&#xA;&amp;amp;= 1 - (p_1+p+2) (2- (p_1+p_2)) \\&#xA;&amp;amp;= 1 - 2(p_1 +p_2) + (p_1 + p_2)^2 = (1-p_1-p_2)^2.&#xA;\end{align*}&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;III. Relation to the Bonami—Beckner operator&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let us think of functions from $\{0,1\}^n$ to ${\mathbb R}$ as polylinear polynomials. Let $\delta = \frac{1}{2}\cdot \frac{p_1-p_2}{p_1+p_2}$. Consider the operator &#xA;$$A_{\delta}(f) = f(x_1 + \delta, \dots, x_n + \delta).$$ &#xA;It maps every multilinear polynomial $f$ to a multilinear polynomial $A[f]$. We have,&#xA;$$R_{p_1,p_2}(f) = A_{\delta}^{-1} T_{\varepsilon}A_{\delta}(f),$$&#xA;where $\varepsilon = 1 - p_1 - p_2$. Note that parts I and II follow from this formula and properties of the Bonami—Beckner operator.&lt;/p&gt;&#xA;" OwnerUserId="9929" LastEditorUserId="9929" LastEditDate="2012-12-29T08:32:14.450" LastActivityDate="2012-12-29T08:32:14.450" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="14887" PostTypeId="2" ParentId="14860" CreationDate="2012-12-29T00:21:37.780" Score="12" Body="&lt;p&gt;When I say &quot;von Neumann architecture&quot;, I mean some hardware that is limited by the &quot;von Neumann bottleneck&quot; -- i.e., it has all data is funneled through some narrow data bus.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The non-von Neumann programming languages I bump into most often are &lt;a href=&quot;http://en.wikipedia.org/wiki/VHDL&quot; rel=&quot;nofollow noreferrer&quot;&gt;VHDL&lt;/a&gt; and &lt;a href=&quot;http://en.wikipedia.org/wiki/Verilog&quot; rel=&quot;nofollow noreferrer&quot;&gt;Verilog&lt;/a&gt;.&#xA;In VHDL and Verilog, by default, everything happens at the same time.&#xA;The programmer has to go to extra effort to make a series of events occur in sequential order.&#xA;That is very different from most other programming languages that imply a &quot;instruction pointer&quot; that, by default, executes at most one line of code at any one instant, and the programmer has to go to extra effort to get multiple things happening at the same time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some people would say that's a more natural default.&#xA;Lots of beginning programming students expect a &quot;while( x &gt; 0 ){...}&quot; loop to exit the instant that x becomes equal to zero, and they are surprised to learn that the computer &lt;em&gt;doesn't&lt;/em&gt; continously evaluate that condition.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Most people writing VHDL and Verilog code compile their programs onto FPGAs,&#xA;creating little blocks of activity that all run at full speed all the time.&#xA;Often such people set up a &quot;pipeline&quot; that reads data from the input pins, processes it through a series of blocks, the output pins of one block directly wired to the input pins of the next block, and the final block sends the result out the output pins.&#xA;It's reminiscent of the &lt;a href=&quot;http://en.wikipedia.org/wiki/pipeline_%28Unix%29&quot; rel=&quot;nofollow noreferrer&quot;&gt;Unix pipeline&lt;/a&gt;, except that a new piece of data goes in and a new piece of data comes out on every clock cycle.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The input pins, the intermediate stages, and the output pins are all independent of each other -- you don't have to re-use a single data bus multiplexed between the various pieces of data.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You might also be interested in: &lt;a href=&quot;https://cstheory.stackexchange.com/questions/2836/are-there-other-computer-architectures-apart-fom-the-von-neumann-turing-archite&quot;&gt;Are there other computer architectures apart fom the von neumann /turing architectures?&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="4423" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2012-12-29T00:21:37.780" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14888" PostTypeId="2" ParentId="14885" CreationDate="2012-12-29T07:16:16.230" Score="5" Body="&lt;p&gt;&lt;em&gt;Cache-oblivious algorithms&lt;/em&gt; were first conceived of (according to Wikipedia) in 1996.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An algorithm is cache-oblivious if it uses caches in an optimal way, without knowing the size of the cache (which also means that if there is more than one level of cache, as in a modern PC, it is also used optimally).&lt;/p&gt;&#xA;" OwnerUserId="2241" LastActivityDate="2012-12-29T07:16:16.230" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14889" PostTypeId="2" ParentId="5659" CreationDate="2012-12-29T18:13:00.067" Score="11" Body="&lt;p&gt;Dror Bar-Natan's paper &quot;Lie Algebras and the Four Color Theorem&quot; (Combinatorica 17-1 (1997) 43-52, last updated October 1999, &lt;a href=&quot;http://front.math.ucdavis.edu/q-alg/9606016&quot;&gt;arXiv:q-alg/9606016&lt;/a&gt;) contains an appealing statement about Lie algebras that is equivalent to the Four Color Theorem. The notions appearing in the statement also appear in the theory of finite-type invariants of knots (Vassiliev invariants) and 3-manifolds.&lt;/p&gt;&#xA;" OwnerUserId="712" LastActivityDate="2012-12-29T18:13:00.067" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14890" PostTypeId="2" ParentId="7485" CreationDate="2012-12-29T18:22:42.423" Score="9" Body="&lt;p&gt;In general it is not true: Consider two dual- to cyclic d-polytopes with n facets each and merge them along a vertex. (This is the dual operation of gluing two polutops). The number of vertices will be like $n^{[d/2]}$ and the spectrual gap will be roughly 1 over this. (You can use d edges to separete the graph into two parts. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I proved 1/poly(n) seperation for &quot;dual-to-neighborly&quot; polytopes. (This was my first shot at the polynomial Hiresch conjecture&quot;.) &quot;The diameter of graphs of convex polytopes and f-vector theory&quot; Applied geometry and discrete mathematics, 387–411, DIMACS Ser. Discrete Math. Theoret. Comput. Sci., 4, Amer. Math. Soc., Providence, RI, 1991.&lt;/p&gt;&#xA;" OwnerUserId="712" LastActivityDate="2012-12-29T18:22:42.423" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14891" PostTypeId="1" CreationDate="2012-12-29T19:32:42.470" Score="6" ViewCount="166" Body="&lt;p&gt;It is well known that $\mathsf{NL} \subseteq \mathsf{NC} \subseteq \mathsf{P}$, both inclusions conjectured to be proper. On the other hand $\mathsf{NP} \supseteq \mathsf{P}$, also probably a proper inclusion. There are classes naturally interpolating between $\mathsf{NL}$ and $\mathsf{NP}$, namely $\mathsf{NSC}^k$, languages decidable by non-deterministic Turing machines in simultaneous polynomial time complexity and $O(\log^k n)$ space complexity. How big are these classes? We have $\mathsf{NSC}^k \subseteq \mathsf{polyL}$ since $NSPACE(O(\log^k n)) \subseteq DSPACE(O(\log^{2k} n))$&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Do we have $\mathsf{NSC}^k \subseteq \mathsf{NC}$? $\mathsf{NSC}^k \subseteq \mathsf{P}$?  $\mathsf{NSC}^k = \mathsf{NP}$? What is is known about these questions for different values of $k$ &gt; 1?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="7030" LastEditorUserId="7030" LastEditDate="2012-12-29T19:46:52.390" LastActivityDate="2013-01-30T00:14:07.630" Title="How big is NSC^k?" Tags="&lt;cc.complexity-theory&gt;&lt;space-bounded&gt;&lt;nondeterminism&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14892" PostTypeId="1" CreationDate="2012-12-30T03:08:35.637" Score="11" ViewCount="477" Body="&lt;p&gt;I am looking for references about the complexity of &lt;em&gt;Boolean formula balancing&lt;/em&gt; problem. In particular,&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Was it known that Boolean formulas can be balanced in &lt;span class=&quot;math-container&quot;&gt;$\mathsf{AC^0}$&lt;/span&gt;?&lt;/li&gt;&#xA;&lt;li&gt;Is there a simple proof of Boolean formula balancing being in &lt;span class=&quot;math-container&quot;&gt;$\mathsf{AC^0}$&lt;/span&gt;?&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;By &amp;quot;simple&amp;quot; I mean a proof simpler than the one I mention below, in particular I am looking for a proof which doesn't depend on Boolean formula evaluation being in &lt;span class=&quot;math-container&quot;&gt;$\mathsf{NC^1}$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;hr /&gt;&#xA;&lt;h3&gt;Background&lt;/h3&gt;&#xA;&lt;p&gt;Here all mentioned complexity classes are the uniform ones.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;BFB&lt;/strong&gt; (Boolean formula balancing):&lt;br /&gt;&#xA;Given a Boolean formula &lt;span class=&quot;math-container&quot;&gt;$\varphi$&lt;/span&gt;,&lt;br /&gt;&#xA;Find an equivalent balanced Boolean formula.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;I am interested in the complexity of this problem, in particular simple proofs showing the problem is in &lt;span class=&quot;math-container&quot;&gt;$\mathsf{AC^0}$&lt;/span&gt; (or even &lt;span class=&quot;math-container&quot;&gt;$\mathsf{TC^0}$&lt;/span&gt; or &lt;span class=&quot;math-container&quot;&gt;$\mathsf{NC^1}$&lt;/span&gt;). The common balancing arguments like those based on Spira's lemma apply repeated structural modifications to the formula tree which seem to only give &lt;span class=&quot;math-container&quot;&gt;$BFB \in \mathsf{NC^2}$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;p&gt;I have a proof for &lt;span class=&quot;math-container&quot;&gt;$BFB \in \mathsf{AC^0}$&lt;/span&gt;, however the proof is not simple and depends on the proof of &lt;span class=&quot;math-container&quot;&gt;$BFE \in \mathsf{NC^1}$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;BFE&lt;/strong&gt; (Boolean formula evaluation)&lt;br /&gt;&#xA;Given a Boolean formula &lt;span class=&quot;math-container&quot;&gt;$\varphi$&lt;/span&gt; and a truth assignment &lt;span class=&quot;math-container&quot;&gt;$\tau$&lt;/span&gt; for variables in &lt;span class=&quot;math-container&quot;&gt;$\varphi$&lt;/span&gt;,&lt;br /&gt;&#xA;Does &lt;span class=&quot;math-container&quot;&gt;$\tau$&lt;/span&gt; satisfy &lt;span class=&quot;math-container&quot;&gt;$\varphi$&lt;/span&gt; (&lt;span class=&quot;math-container&quot;&gt;$\tau \vDash \varphi$&lt;/span&gt;)?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;It is known from Sam Buss's celebrated result that &lt;em&gt;Boolean formula evaluation&lt;/em&gt; (&lt;span class=&quot;math-container&quot;&gt;$BFE$&lt;/span&gt;) can be computed in &lt;span class=&quot;math-container&quot;&gt;$\mathsf{NC^1} = \mathsf{ALogTime}$&lt;/span&gt; (see&lt;a href=&quot;http://www.math.ucsd.edu/%7Esbuss/ResearchWeb/Boolean/&quot; rel=&quot;noreferrer&quot;&gt; [Buss87]&lt;/a&gt; and &lt;a href=&quot;http://euclid.ucsd.edu/%7Esbuss/ResearchWeb/Boolean2/&quot; rel=&quot;noreferrer&quot;&gt; [BCGR92]&lt;/a&gt;).&lt;/p&gt;&#xA;&lt;p&gt;It follows (quite surprisingly, at least to me) that &lt;em&gt;Boolean formulas balancing&lt;/em&gt; (&lt;span class=&quot;math-container&quot;&gt;$BFB$&lt;/span&gt;) is also in &lt;span class=&quot;math-container&quot;&gt;$\mathsf{NC^1}$&lt;/span&gt;:&lt;/p&gt;&#xA;&lt;p&gt;The idea is that we can hardcode &lt;span class=&quot;math-container&quot;&gt;$\varphi$&lt;/span&gt; in the input gates of &lt;span class=&quot;math-container&quot;&gt;$BFE$&lt;/span&gt; to obtain a formula equivalent to &lt;span class=&quot;math-container&quot;&gt;$\varphi$&lt;/span&gt; and this is a completely syntactic operation computable in &lt;span class=&quot;math-container&quot;&gt;$\mathsf{AC^0}$&lt;/span&gt;. Since &lt;span class=&quot;math-container&quot;&gt;$BFE$&lt;/span&gt; has balanced formulas we obtain a equivalent balanced formula for &lt;span class=&quot;math-container&quot;&gt;$\varphi$&lt;/span&gt;. In other words, the algorithm is:&lt;/p&gt;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$$\ulcorner \varphi \urcorner \mapsto \ulcorner \lambda \vec{p}. Eval(\ulcorner \varphi \urcorner, \vec{p} )\urcorner$$&lt;/span&gt;&lt;/p&gt;&#xA;&lt;h3&gt;Motivation&lt;/h3&gt;&#xA;&lt;p&gt;A simpler argument for &lt;span class=&quot;math-container&quot;&gt;$BFB$&lt;/span&gt; being in &lt;span class=&quot;math-container&quot;&gt;$\mathsf{AC^0}$&lt;/span&gt; (or &lt;span class=&quot;math-container&quot;&gt;$\mathsf{TC^0}$&lt;/span&gt; or even &lt;span class=&quot;math-container&quot;&gt;$\mathsf{NC^1}$&lt;/span&gt;) would give a new simpler proof of &lt;span class=&quot;math-container&quot;&gt;$BFE \in \mathsf{NC^1}$&lt;/span&gt; since it is easy to see that the &lt;em&gt;balanced&lt;/em&gt; version of BFE can be solved in &lt;span class=&quot;math-container&quot;&gt;$\mathsf{NC^1}$&lt;/span&gt; and we can compose it with &lt;span class=&quot;math-container&quot;&gt;$BFB$&lt;/span&gt; and the result will be in &lt;span class=&quot;math-container&quot;&gt;$\mathsf{NC^1}$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;hr /&gt;&#xA;&lt;h3&gt;Questions&lt;/h3&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Was it known that Boolean formulas can be balanced in &lt;span class=&quot;math-container&quot;&gt;$\mathsf{AC^0}$&lt;/span&gt; (&lt;span class=&quot;math-container&quot;&gt;$BFB\in \mathsf{AC^1}$&lt;/span&gt;)?&lt;/li&gt;&#xA;&lt;li&gt;Is there a simpler argument (e.g. not relying on &lt;span class=&quot;math-container&quot;&gt;$BFE\in \mathsf{NC^1}$&lt;/span&gt;) for &lt;span class=&quot;math-container&quot;&gt;$BFB\in\mathsf{AC^0}$&lt;/span&gt;?&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="186" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2020-10-01T17:26:01.567" Title="Boolean formula balancing in $\mathsf{AC^0}$" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;lo.logic&gt;&lt;boolean-formulas&gt;" AnswerCount="2" CommentCount="3" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="14893" PostTypeId="1" CreationDate="2012-12-30T06:00:52.530" Score="1" ViewCount="129" Body="&lt;p&gt;&lt;em&gt;Input&lt;/em&gt;: Any number $n \in \mathbb{Z}^+$ that can be represented in the form of $n = 2^a + b,\ |b|= c $. &#xA;&lt;em&gt;output&lt;/em&gt;: &lt;strong&gt;YES&lt;/strong&gt; if $n$ is prime , else &lt;strong&gt;NO&lt;/strong&gt; .&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, length of binary input is $\log(a) + O(1)$ which otherwise would be order $a$.&#xA;What would be the complexity of such problem? If we use &lt;em&gt;AKS algorithm&lt;/em&gt;  in straight forward way we would not get polynomial time algorithm, I think. Can we define new problems by tweaking the standard problems in  &lt;strong&gt;P&lt;/strong&gt; to make them harder in this way i.e. by restricting the input in certain way.&lt;/p&gt;&#xA;" OwnerUserId="10456" LastActivityDate="2012-12-30T06:00:52.530" Title="Computational Complexity of RESTRICTED primality testing" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;time-complexity&gt;&lt;nt.number-theory&gt;" AnswerCount="0" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="14894" PostTypeId="2" ParentId="2674" CreationDate="2012-12-30T06:55:29.897" Score="3" Body="&lt;p&gt;&lt;a href=&quot;http://scholar.google.com/scholar?cluster=15743380286314506869&amp;amp;hl=en&amp;amp;as_sdt=0,5&quot; rel=&quot;nofollow&quot;&gt;Average-Case Analysis of Algorithms Using Kolmogorov Complexity&lt;/a&gt; by Jiang, Li, Vitanyi. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;'Analyzing the average-case complexity of algorithms is a very practical but very difficult problem in computer science. In the past few years we have demonstrated that Kolmogorov complexity is an important tool for analyzing the average-case complexity of algorithms. We have developed the incompressibility method [7]. In this paper we use several simple examples to further demonstrate the power and simplicity of such method. We prove bounds on the average-case number of stacks (queues) required for sorting sequential or parallel Queueusort or Stacksort.' &lt;/p&gt;&#xA;&#xA;&lt;p&gt;See also e.g. &lt;a href=&quot;http://scholar.google.com/scholar?cluster=15703903265451195965&amp;amp;hl=en&amp;amp;as_sdt=0,5&quot; rel=&quot;nofollow&quot;&gt;Kolmogorov Complexity and a Triangle Problem of the Heilbronn Type&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="8237" LastActivityDate="2012-12-30T06:55:29.897" CommentCount="0" CommunityOwnedDate="2012-12-30T06:55:29.897" ContentLicense="CC BY-SA 3.0" />
  <row Id="14895" PostTypeId="2" ParentId="14848" CreationDate="2012-12-30T12:55:50.643" Score="6" Body="&lt;p&gt;We used this idea in our paper [J. Shallit and D. Swart, An Efficient Algorithm &#xA;for Computing the ith Letter of phi^n (a), SODA 1990, 768-777] to show that a problem about iterated finite-state transducers is EXPTIME-hard.&lt;/p&gt;&#xA;" OwnerUserId="3227" LastActivityDate="2012-12-30T12:55:50.643" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14896" PostTypeId="2" ParentId="5659" CreationDate="2012-12-30T15:11:36.733" Score="11" Body="&lt;p&gt;Proposition 2.4 in this paper &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/0012365X9500109A#&quot;&gt;http://www.sciencedirect.com/science/article/pii/0012365X9500109A#&lt;/a&gt; gives another formulation for the 4CT.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit:&lt;/strong&gt; For a given graph $G$, the graph $\Delta(G)$ has the edges of $G$ as its vertices; two edges of $G$ are adjacent in $\Delta(G)$ if they span a triangle in $G$. Then the 4CT can be stated as follows: For every planar graph $G$, the chromatic number of $\Delta(G)$ equals to the clique number of $\Delta(G)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I forgot to mention that Albertson and Collins previously proved in the paper&lt;br&gt;&#xA;&lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/0095895684900352&quot;&gt;http://www.sciencedirect.com/science/article/pii/0095895684900352&lt;/a&gt; &#xA;the following similar fact: Given a graph $G$, let $K(G)$ denote the &#xA;graph whose vertices are the edges of $G$. Two vertices of $K(G)$ are &#xA;adjacent if the corresponding edges in $G$ are contained in a clique.&lt;br&gt;&#xA;Then the 4CT is equivalent to: For any planar graph $G$, the chromatic &#xA;number and the clique number of $K(G)$ are equal.&lt;/p&gt;&#xA;" OwnerUserId="6706" LastEditorUserId="6706" LastEditDate="2013-01-15T08:33:15.997" LastActivityDate="2013-01-15T08:33:15.997" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14899" PostTypeId="2" ParentId="14860" CreationDate="2012-12-31T01:12:55.647" Score="2" Body="&lt;p&gt;I think Linda and tuplespace programming could fit the bill. Associative/pattern matching memory operations with concurrency mean that (conceptually) the Von-Neuman bottleneck is eliminated.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Going in that direction, a pure Actor-model languages also model communication rather than instruction sequencing. And although they are formalisms and not actual programming languages, process calculi like the Pi calculus, CSP and Petri Nets model communication in related ways.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See wikipedia for links (I'm a new user and under spam protection), but for some sophomoric humour regarding Linda's name, read &lt;a href=&quot;http://c2.com/cgi/wiki?LindaEtymology&quot; rel=&quot;nofollow&quot;&gt;http://c2.com/cgi/wiki?LindaEtymology&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="13143" LastActivityDate="2012-12-31T01:12:55.647" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14900" PostTypeId="2" ParentId="2674" CreationDate="2012-12-31T06:08:40.063" Score="3" Body="&lt;p&gt;&lt;a href=&quot;http://arxiv.org/abs/1009.5104&quot; rel=&quot;nofollow&quot;&gt;The equivalence of sampling and searching&lt;/a&gt; by Scott Aaronson. Here he shows the equivalence of sampling and searching problem in complexity theory in regards to validity of Extended Church-Turing Thesis. Standard information theory, algorithmic information theory and Kolmogorov complexity are used in a fundamental way.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;He emphasizes:&lt;br&gt;&#xA;&quot;&lt;em&gt;Let us stress that we are not using&#xA;Kolmogorov complexity as just a technical convenience, or as shorthand for a counting argument. Rather, Kolmogorov complexity seems essential even to define a search problem ..&lt;/em&gt;&quot;&lt;/p&gt;&#xA;" OwnerUserId="10456" LastActivityDate="2012-12-31T06:08:40.063" CommentCount="0" CommunityOwnedDate="2012-12-31T06:08:40.063" ContentLicense="CC BY-SA 3.0" />
  <row Id="14905" PostTypeId="2" ParentId="14690" CreationDate="2012-12-31T21:43:45.537" Score="6" Body="&lt;p&gt;If all edge weights are non-negative, then the minimum weight set of edges that covers all the nodes automatically has the property that it has no three-edge paths, because the middle edge of any such path would be redundant. If we assign each vertex to an edge that covers it, some edges will cover both of their endpoints (forming a matching $M$) and others will cover only one of their endpoints (and must be the minimum weight edge adjacent to the covered endpoint). If we let $c_v$ be the cost of the minimum weight edge incident to vertex $v$, and $w_e$ be the weight of $e$, then the cost of a solution is $\sum_{v\in G} c_v + \sum_{(u,v)\in M} (w_{(u,v)}-c_u-c_v)$. The first sum doesn't depend on the choice of the cover, so the problem becomes one of finding a matching that maximizes the total weight, for edge weights $c_u+c_v-w_{(u,v)}$. If you really want this to be a minimum weight perfect matching problem, then instead use weights $w_{(u,v)}-c_u-c_v$ and add enough dummy edges with weight zero to guarantee that any matching with the real edges can be extended to a perfect matching by adding dummy edges.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If the input graph can have negative edge weights, then the three-edge-path constraint becomes meaningful. In this case it's not obvious to me that there is a polynomial time solution.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2012-12-31T21:43:45.537" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="14910" PostTypeId="2" ParentId="7645" CreationDate="2013-01-01T09:10:43.377" Score="7" Body="&lt;p&gt;The property MAXIMAL=MAXIMUM fo independent sets in graphs and more general combinatorial structures is important. It will be interesting to understand graphs where this property holds for all induced subgraphs. One general abstract case where we have MAXIMUM=MAXIMAL is when there is an underlying matroid structure, but there are many other cases, like the case of maximal planar graphs mentioned in the question. Here is a related example: Consider n points in the plane in convex position and let k be an integer. Consider graphs whose vertices are line segments between these points where two vertices are adjacent if the line segments do not cross. Dress proved that for this graph MAXIMIM=MAXIMAL for independent sets.&lt;/p&gt;&#xA;" OwnerUserId="712" LastActivityDate="2013-01-01T09:10:43.377" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14911" PostTypeId="2" ParentId="12475" CreationDate="2013-01-01T09:14:16.583" Score="9" Body="&lt;p&gt;&lt;a href=&quot;http://gcamerani.altervista.org&quot;&gt;The ODD EVEN DELTA problem is #P-hard, even on 3-regular bipartite planar graphs.&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $\mathcal{C}$ be the set of vertex covers of a general graph $G$. Then, assuming $G$ has no isolated vertices, the following equation holds (refer to the above article for the proof):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$|\mathcal{C}| = 2^{|V|} - \sum_{k = 2}^{|V|} \Delta_k \cdot 2^{|V|-k}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Counting vertex covers is #P-complete even on 3-regular bipartite planar graphs, and it can be done with a linear number of calls to an ODD EVEN DELTA oracle.&lt;/p&gt;&#xA;" OwnerUserId="947" LastEditorUserId="947" LastEditDate="2013-01-02T21:02:04.523" LastActivityDate="2013-01-02T21:02:04.523" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14914" PostTypeId="1" CreationDate="2013-01-01T17:12:21.817" Score="5" ViewCount="577" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;Is it known if $\mathsf{P}^\mathsf{BPP}= \mathsf{BPP}$ ?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;It's clear that $\mathsf{BPP} \subseteq \mathsf{P}^\mathsf{BPP}$. Now, since $\mathsf{BPP}$ is closed under complementation, union, and intersection, it seems to provide evidence that $\mathsf{BPP} = \mathsf{P}^\mathsf{BPP}$. However, I can't prove this.&lt;/p&gt;&#xA;" OwnerUserId="13167" LastEditorUserId="80" LastEditDate="2013-01-02T17:41:05.207" LastActivityDate="2013-01-02T17:42:17.210" Title="$\mathsf{P}^\mathsf{BPP}$ vs $\mathsf{BPP}$ (Are they known to be equal)" Tags="&lt;cc.complexity-theory&gt;&lt;oracles&gt;" AnswerCount="1" CommentCount="10" ContentLicense="CC BY-SA 3.0" />
  <row Id="14922" PostTypeId="1" AcceptedAnswerId="14923" CreationDate="2013-01-02T00:44:45.593" Score="4" ViewCount="205" Body="&lt;p&gt;I was wondering if anyone knew on whether it is possible to construct a quantum oracle that was able to detect whether a given state vector was &quot;non-negative&quot;?  Essentially I have a classical problem where the solution would be a non-negative vector but I am unsure about how to bring this into a quantum mechanical form since we're dealing over the complex field.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If anyone has any papers that they have come across that would be along these lines, would be greatly appreciated!&lt;/p&gt;&#xA;" OwnerUserId="13171" LastEditorUserId="186" LastEditDate="2013-06-19T22:02:03.713" LastActivityDate="2013-06-19T22:02:03.713" Title="Quantum oracle for non-negative vector" Tags="&lt;quantum-computing&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14923" PostTypeId="2" ParentId="14922" CreationDate="2013-01-02T06:17:45.757" Score="10" Body="&lt;p&gt;Your question is vague in several ways.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By a &quot;non-negative vector,&quot; do you mean a quantum pure state, all of whose amplitudes are nonnegative real numbers?  (Or rather, a state that's equivalent to such a state under multiplication by a complex scalar, which of course is physically unobservable?)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By a &quot;quantum oracle,&quot; do you mean a unitary transformation that outputs ACCEPT when fed a non-negative state, and REJECT when fed any other state?  With probability close to 1?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If so, then it's immediate that no such oracle exists.  Indeed, the probability that the oracle accepts is a continuous (quadratic) function of the amplitudes, but the amplitudes can be arbitrarily close to 0 while still being either positive or negative.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So at the least, you'd need some lower bound on the absolute values of the amplitudes -- together, perhaps, with the assumption that the amplitudes are all real (or if complex, that their angles with each other are either 0 or else sufficiently large).  If you impose these conditions, then the &quot;non-negativity oracle&quot; &lt;i&gt;does&lt;/i&gt; exist for quantum states of dimension 2: there it's called the &quot;Hadamard gate,&quot; or the &quot;Deutsch-Jozsa algorithm&quot;!  On the other hand, because of quantum-mechanical linearity, one can prove that the non-negativity oracle won't exist for states of dimension 3 or greater -- or will exist but only with very large probability of error (approaching 1).&lt;/p&gt;&#xA;" OwnerUserId="1575" LastActivityDate="2013-01-02T06:17:45.757" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14924" PostTypeId="2" ParentId="5282" CreationDate="2013-01-02T06:23:01.990" Score="12" Body="&lt;p&gt;Answering my own question, there's now a preprint on arXiv showing that double-exponential is the correct dependence, assuming the &lt;a href=&quot;http://en.wikipedia.org/wiki/Exponential_time_hypothesis&quot;&gt;exponential time hypothesis&lt;/a&gt;. See &quot;&lt;a href=&quot;http://arxiv.org/abs/1203.1754&quot;&gt;Known algorithms for EDGE CLIQUE COVER are probably optimal&lt;/a&gt;&quot;, Marek Cygan, Marcin Pilipczuk, and Michał Pilipczuk, arXiv:1203.1754 and SODA 2013&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2013-01-02T06:23:01.990" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14926" PostTypeId="2" ParentId="12769" CreationDate="2013-01-02T10:18:29.860" Score="7" Body="&lt;p&gt;There are several ways to understand the question according to the precise meaning of &quot;small size&quot; and &quot;concentrate.&quot; &lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) If you consider Boolean functions so that $1-o(1)$ of their l-2 norm is concentrated on small sized $S$ then the answer is no - the majority function is an example such that $1-o(1)$ of the l-2 norm is on bounded sets and is not in ${\rm AC^0}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) There is a theorem of Bourgain that if the concentration is well above that of the majority function then the function is approximately a Junta, and thus depends on O(1) variables.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;3) You can ask that the total influence which is expectation of |S| with respect to the distribution described by $\hat f^2(S)$ is small. For functions in $AC^0$ the total influence is at most ${\rm polylog} (n)$. If the total influence is O(1) then the function is close to a Junta, namely depending on O(1) variables.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;4) If the total influence is $O(\log n)$ it is possible but not known that the function is close to a function in $AC^0$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;5) If the total influence is $O(polylog (n))$ then another possibility is a function of bounded depth and $n^{polylog (n)}$ size. It is possible, but unknown, that every function of total influence polylog (n) is close to such a function.  &lt;/p&gt;&#xA;" OwnerUserId="712" LastEditorUserId="712" LastEditDate="2013-01-02T11:08:38.467" LastActivityDate="2013-01-02T11:08:38.467" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14931" PostTypeId="1" AcceptedAnswerId="14932" CreationDate="2013-01-02T13:47:48.743" Score="6" ViewCount="211" Body="&lt;p&gt;I am aware that it is generally believed that P = BPP, but BQP != P (since factoring is in BQP, and factoring seems hard.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For BPP, we have the hardness vs randomness result: which states that circuit lower bounds for EXP imply derandomization results for BPP.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Even though I do not expect BQP to be simulatable in sub-exponential time, I am curious if there are any implication results along the lines of &quot;If pigs can whistle, than donkeys can fly.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Formally, I'm asking if there exists provable statements of the form:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If [XYZ] then BQP can be simulated in sub-exponential time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Ideally, [XYZ] would be about the hardness of certain problems against certain complexity classes. However, any XYZ not of the form &quot;BQP can be simulated in sub-exponential time&quot; would be interesting.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks!&lt;/p&gt;&#xA;" OwnerDisplayName="user13175" LastActivityDate="2013-01-02T14:44:07.707" Title="Things that imply BQP Derandomization" Tags="&lt;cc.complexity-theory&gt;&lt;quantum-computing&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14932" PostTypeId="2" ParentId="14931" CreationDate="2013-01-02T14:44:07.707" Score="5" Body="&lt;p&gt;Interesting!  I don't know of any &lt;i&gt;nontrivial&lt;/i&gt; result of that kind -- neither one that says &quot;if [XYZ] then BPP=BQP&quot;, nor one that says &quot;if [XYZ] then BQP &amp;sube; BPTIME(2&lt;sup&gt;o(n)&lt;/sup&gt;).&quot;  The closest I can think of is a result of &lt;a href=&quot;http://arxiv.org/abs/quant-ph/0205133&quot;&gt;Terhal and DiVincenzo&lt;/a&gt;, who showed that if constant-depth quantum sampling can be efficiently classically simulated then BQP &amp;sube; AM.  (Later work, by Bremner-Jozsa-Shepherd and myself and Arkhipov, shows that the same assumption would even imply P&lt;sup&gt;#P&lt;/sup&gt; = BPP&lt;sup&gt;NP&lt;/sup&gt;.)  Combining that with some assumption that gave AM &amp;sube; BPTIME(2&lt;sup&gt;o(n)&lt;/sup&gt;) would then yield what you wanted.&lt;/p&gt;&#xA;" OwnerUserId="1575" LastActivityDate="2013-01-02T14:44:07.707" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="14933" PostTypeId="1" CreationDate="2013-01-02T15:15:49.483" Score="1" ViewCount="128" Body="&lt;p&gt;Given a function $f : \Sigma^* \to \mathbb{N}$, define function $f_{-1}$ as: $f_{-1}(x) = f(x) - 1$ if $f(x) &amp;gt; 0$, and $f_{-1}(x) = 0$ otherwise. Moreover, say that a class ${\cal C}$ of functions is closed under decrement if for every $f \in {\cal C}$, it holds that $f_{-1} \in {\cal C}$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Define $\#\text{PE}$ [2,3] as the class of functions in $\#\text{P}$ with easy decision versions, that is, the class of functions $f \in \#\text{P}$ for which there exists a polynomial-time deterministic TM $M$ such that $L(M) = \{ x \in \Sigma^* \mid f(x) &amp;gt; 0 \}$. It was shown in [1] that if $\#\text{P}$ is closed under decrement, then $\text{NP} \subseteq \text{SPP}$. But the ideas in the proof of this result cannot be used to provide evidence that  $\#\text{PE}$ is not closed under decrement. So I was wondering what is known about this problem. Is $\#\text{PE}$ closed under decrement? Can at least one prove that if $f \in \#\text{PE}$, then $f_{-1} \in \#\text{P}$? Any help with this would be greatly appreciate it. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] Mitsunori Ogiwara, Lane A. Hemachandra: A Complexity Theory for Feasible Closure Properties. J. Comput. Syst. Sci. 46(3): 295-325 (1993)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] Aris Pagourtzis. On the complexity of Hard Counting Problems with Easy Decision Version. In Proceedings of the 3rd Panhellenic Logic Symposium,  2001.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[3] Aris Pagourtzis, Stathis Zachos: The Complexity of Counting Functions with Easy Decision Version. MFCS 2006: 741-752&lt;/p&gt;&#xA;" OwnerUserId="13185" LastActivityDate="2013-01-02T16:13:52.500" Title="Is #PE (#P Easy) closed under decrement?" Tags="&lt;counting-complexity&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14934" PostTypeId="2" ParentId="14933" CreationDate="2013-01-02T16:13:52.500" Score="6" Body="&lt;p&gt;If $\text{#PE}$ is closed under decrement then $\text P=\text{NP}$: consider $\text{#SAT}+1$. Conversely if $\text P=\text{NP}$ then $\text{#PE}=\text{#P}$ is closed under decrement because we can always find an accepting path if one exists then ignore it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I don't know whether $f\in\text{#PE}$ always implies $f_{-1}\in\text{#P}$. Your $M$ might not provide an accepting path for us to ignore.&lt;/p&gt;&#xA;" OwnerUserId="636" LastActivityDate="2013-01-02T16:13:52.500" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="14935" PostTypeId="1" CreationDate="2013-01-02T17:06:56.930" Score="4" ViewCount="352" Body="&lt;p&gt;In a paper I am reviewing, the authors define the following problem and construct an algorithm. They give no further references and I suspect it has appeared somewhere in the literature before.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $P_1,\ldots,P_n$ be sets of points in a space with a metric $d$. Define the distance to a set as &#xA;    $$\operatorname{dist}(x, P_i) = \min\{ d(x,p) \,|\, x \in P_i\}.$$&#xA;The problem is to compute&#xA;    $$\min_x \sum_{i=1}^n \operatorname{dist}(x, P_i).$$&#xA;What is the name of this problem? Has it been discussed in the literature? What if $d(x,P_i) = ||x - P_i||_2?$&lt;/p&gt;&#xA;" OwnerUserId="1059" LastEditorUserId="80" LastEditDate="2013-01-02T17:42:04.180" LastActivityDate="2013-01-05T23:24:23.320" Title="Finding the closest point to a sets of discrete points" Tags="&lt;reference-request&gt;&lt;cg.comp-geom&gt;" AnswerCount="1" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="14936" PostTypeId="2" ParentId="14914" CreationDate="2013-01-02T17:42:17.210" Score="6" Body="&lt;p&gt;Yes, since BPP is &lt;a href=&quot;http://en.wikipedia.org/wiki/Low_%28complexity%29&quot;&gt;low&lt;/a&gt;, but this is not a research level question.&lt;/p&gt;&#xA;" OwnerUserId="419" LastActivityDate="2013-01-02T17:42:17.210" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="14939" PostTypeId="1" AcceptedAnswerId="14946" CreationDate="2013-01-03T00:12:21.663" Score="11" ViewCount="4160" Body="&lt;p&gt;All of my textbooks use the same algorithm for producing a DFA given a regex: First, make an NFA that recognizes the language of the regex, then, using the subset (aka &quot;powerset&quot;) construction, convert the NFA into an equivalent DFA (optionally minimizing the DFA). I also once heard a professor allude to there being other algorithms. Does anyone know of any? Perhaps one that goes directly from the regex to a DFA without the intermediate NFA?&lt;/p&gt;&#xA;" OwnerUserId="13162" LastActivityDate="2013-01-04T18:11:00.873" Title="What algorithms exist for construction a DFA that recognizes the language described by a given regex?" Tags="&lt;automata-theory&gt;&lt;regular-expressions&gt;&lt;dfa&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="14942" PostTypeId="1" CreationDate="2013-01-03T04:59:28.503" Score="6" ViewCount="1228" Body="&lt;p&gt;Given a large dense matrix $A^{n \times n}$, that does not fit to the memory (RAM). Is there any fast way to compute the exact Frobenius norm of the matrix or its accurate approximation (perhaps, via sampling with reasonable bounds provided)? What if this matrix is a subtraction of two $n \times n$ matrices: $\| A - B \|_F$, where $A$ is sparse, and B is dense?&lt;/p&gt;&#xA;" OwnerUserId="2338" LastEditorUserId="2338" LastEditDate="2013-01-03T05:44:26.637" LastActivityDate="2013-02-20T16:18:17.380" Title="Fast computation of Frobenius norm under memory limits" Tags="&lt;matrices&gt;" AnswerCount="2" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14943" PostTypeId="2" ParentId="14942" CreationDate="2013-01-03T05:33:38.647" Score="3" Body="&lt;p&gt;Some of the results depend on the model under which the matrix is presented, but there's a large collection of results that use sampling or sketching techniques to estimate norms accurately. Among some of the key results are:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;sketching methods based on the use of 2-stable distributions: these work even if the entries are &quot;streamed in&quot; in some order, and also work if you are presented instead with the A and the B entries. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;column sampling methods.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Again, it would be unfair to single out a single paper, also because it's not exactly clear which model you're working in: best to google 'norm estimation' or 'column sampling' to find some of the related results. &lt;a href=&quot;http://arxiv.org/abs/1104.5557&quot; rel=&quot;nofollow&quot;&gt;This survey by Mahoney&lt;/a&gt; is a useful reference for sampling methods. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2013-01-03T05:33:38.647" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14944" PostTypeId="2" ParentId="3612" CreationDate="2013-01-03T06:06:15.713" Score="1" Body="&lt;p&gt;Scott Aaronson may be the best person in the world to answer this question, maybe he will have a better answer after this one is posted. he proposed the original problem which this posted question seems to be a very slight variant on, the so-called &lt;em&gt;fourier checking problem&lt;/em&gt; (more refs on that in the comments). the problem is closely related/nearly equivalent to separating two important complexity classes PH and BQP which is a key open problem of QM complexity theory, and it is presumably very hard. it does not appear that a lot of direct/further research on it has been done on the problem so far by anyone other than Aaronson and maybe not even him (its apparently only a little more than 2 years old).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;however here is at least one paper by someone other than Aaronson that focuses/builds on the conjecture/problem with some new results.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://qip2011.quantumlah.org/scientificprogramme/abstract/1010.3654.pdf&quot; rel=&quot;nofollow&quot;&gt;Exponential Speedups are Generic&lt;/a&gt; by Fernando G.S.L. Brandão and Michał Horodecki&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;In our paper [4] we generalize the Fourier Checking problem [1] and show that the Fourier transform, both in the definition of the problem and in the quantum algorithm solving it, can be replaced by a large class of quantum circuits. These include both the Fourier transform over &lt;em&gt;any&lt;/em&gt; (possibly non-abelian) finite group and &lt;em&gt;almost any&lt;/em&gt; sufficiently long quantum circuit from a natural distribution on the set of quantum circuits. We obtain &lt;em&gt;exponential&lt;/em&gt; separations of quantum and postselected classical query complexities for all such circuits.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="40" LastEditDate="2013-01-04T01:13:47.547" LastActivityDate="2013-01-04T01:13:47.547" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14946" PostTypeId="2" ParentId="14939" CreationDate="2013-01-03T08:21:23.337" Score="13" Body="&lt;p&gt;There are different algorithms to convert regular expressions to finite automata. You can go directly from regular expressions to DFAs without building any other automaton first by implicitly doing the subset construction while generating the automaton. Another option to directly obtain deterministic automata is to use the method of derivatives. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Checking if a regular expression represents the language containing all strings is a PSPACE complete problem (see &lt;a href=&quot;https://cstheory.stackexchange.com/a/14954/4155&quot;&gt;this answer&lt;/a&gt; for a reference). Checking if a DFA accepts that language can be done in polynomial time, so if you go directly from a regular expression to a DFA, there will be a blow-up somewhere.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My understanding of the literature is that we can choose translations that allow us to localise the blow-up. Meaning, there are different ways to go from a regular expression to a finite automaton, and methods that are linear, or polynomial are preferred. Usually, the exponential costs are pushed into determinization of automata.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There has been a lot of work on identifying sub-families of regular expressions from which we can &lt;em&gt;efficiently&lt;/em&gt; generate DFAs. This line of work is dependent on the translation you use. Meaning, you fix a mapping from regular expressions to NFAs and try to characterise the regular expressions which map to DFAs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The standard construction of automata from regular expressions is &lt;em&gt;not the preferred construction&lt;/em&gt; in such work. The constructions of choice produce automata which closely resemble the structure of the regular expression. These constructions use the notion of a &lt;em&gt;derivative&lt;/em&gt; of a regular expression. &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download;jsessionid=3385747B5A9A642D7063785A49CD87FD?doi=10.1.1.98.4378&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Derivatives of regular expressions&lt;/a&gt;, J. A. Brzozowski. 1964.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;A derivative $s$ of a regular expression $r$ with respect to a symbol $a$ from the alphabet is a regular expression representing the language of $r$ with the leading $a$ removed from strings. This notion was extended to partial derivatives of regular expressions by Antimirov.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.56.2509&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Partial Derivatives of Regular Expressions and Finite Automata Constructions&lt;/a&gt;, V. Antimirov. 1995.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;If you think of a state of an automaton as a representation of all strings accepted from that state, (partial) derivatives allow you to treat regular expressions as &lt;em&gt;states&lt;/em&gt;. Contrast with the standard textbook construction which intuitively treats regular expressions as automata, not states.  &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;a href=&quot;https://www.google.com/url?sa=t&amp;amp;rct=j&amp;amp;q=&amp;amp;esrc=s&amp;amp;source=web&amp;amp;cd=2&amp;amp;ved=0CDwQFjAB&amp;amp;url=http://www2.in.tum.de/hp/file?fid=571&amp;amp;ei=ODnlUIqGKM_miwLEsoGIAw&amp;amp;usg=AFQjCNFLZtjJZJ5EL9LANOML4HH2qNhGPw&amp;amp;bvm=bv.1355534169,d.cGE&quot; rel=&quot;nofollow noreferrer&quot;&gt;From regular expressions to deterministic automata&lt;/a&gt;, G. Berry and R. Sethi, 1986.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The correspondence between regular expressions and states of an automaton and determinism is discussed explicitly by Berry and Sethi, who combine the notion of Brzozowski derivatives with the idea of distinguishing between occurrences of the same symbol to give a syntax-based translation of regular expressions into finite automata. &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;a href=&quot;http://www.cs.ust.hk/~dwood/preprints/infcomp.ps.gz&quot; rel=&quot;nofollow noreferrer&quot;&gt;One-Unambiguous Regular Languages&lt;/a&gt;, A. Brüggemann-Klein and Derick Wood, 1998.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;This paper builds on earlier work by Brüggemann-Klein and studies cases in which you can use derivatives to generate DFAs in polynomial time. There is a large amount of work following this paper. It was significant from the perspective of web technologies because regular expressions that can be manipulated efficiently (aka, corresponding to DFAs) were important for processing SGML and XML.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There has been much work studying other special cases of deterministic regular expressions. A very recent paper studying when some of these problems can be solved in linear time is from 2012.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;a href=&quot;http://hal.inria.fr/inria-00618451&quot; rel=&quot;nofollow noreferrer&quot;&gt;Deterministic Regular Expressions in Linear Time&lt;/a&gt;, Benoit Groz, Sebastian Maneth, Slawomir Staworko. 2012.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="4155" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2013-01-04T18:11:00.873" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="14947" PostTypeId="2" ParentId="14850" CreationDate="2013-01-03T11:11:18.760" Score="0" Body="&lt;p&gt;If you are interested in prototype-based objects (such as the ones found in JavaScript), the paper &quot;Towards a Program Logic for JavaScript&quot; describes a separation logic for JavaScript programs. &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=2103663&quot; rel=&quot;nofollow&quot; title=&quot;ACM link&quot;&gt;ACM link&lt;/a&gt; or &lt;a href=&quot;http://www.doc.ic.ac.uk/~gds/TowardsProgramLogicJavaScriptPOPL2012.pdf&quot; rel=&quot;nofollow&quot; title=&quot;PDF&quot;&gt;direct PDF&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="13197" LastActivityDate="2013-01-03T11:11:18.760" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14948" PostTypeId="2" ParentId="14057" CreationDate="2013-01-03T13:12:21.953" Score="8" Body="&lt;p&gt;Johnson et al shown that the planar digraphs are excluding $J_K$ as minor, but they never published this paper, because they were looking to generalize this result. But recently Ken-Ichi Kawarabayashi and Stephan Kreutzer proved &quot;An Excluded Grid Theorem for Digraphs with Forbidden Minors&quot; &lt;a href=&quot;http://www.siam.org/meetings/da14/da14_accepted.pdf&quot; rel=&quot;nofollow&quot;&gt;SODA2014&lt;/a&gt;, which generalizes grid theorem on planar directed graphs by Johnson et al. to digraphs with fix undirected minor excluded.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT:&lt;/strong&gt; The aforementioned paper is now publicly available:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://epubs.siam.org/doi/abs/10.1137/1.9781611973402.6&quot; rel=&quot;nofollow&quot;&gt;http://epubs.siam.org/doi/abs/10.1137/1.9781611973402.6&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Johnson et al. 2001 paper, now is publicly available:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://arxiv.org/abs/1510.00473&quot; rel=&quot;nofollow&quot;&gt;Excluding A Grid Minor In Planar Digraphs&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="1846" LastEditorUserId="1846" LastEditDate="2015-11-16T13:03:32.073" LastActivityDate="2015-11-16T13:03:32.073" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="14949" PostTypeId="2" ParentId="14850" CreationDate="2013-01-03T16:13:29.483" Score="7" Body="&lt;p&gt;Vijay D has mentioned both separation logic and jStar, which is a tool for verifying Java programs. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;jStar uses the logic Matthew Parkinson developed in his PhD thesis, &lt;a href=&quot;http://www.cl.cam.ac.uk/~mjp41/Thesis.pdf&quot;&gt;&lt;em&gt;Local Reasoning for Java&lt;/em&gt;&lt;/a&gt;, which gives a separation-based Hoare logic for verifying Java programs. It is a very well written thesis, and offers one of the most readable introductions to modern techniques for verifying imperative/OO programs. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.cs.cmu.edu/~neelk/thesis.pdf&quot;&gt;My own thesis&lt;/a&gt; is less well-written, but it shows how to extend this style of separation logic to a full Reynolds-style specification logic, which makes it easier to specify and prove correct higher-order imperative programs, such as those using callbacks. This is not for Java, though, but rather for an ML or Haskell-like language. &lt;/p&gt;&#xA;" OwnerUserId="657" LastActivityDate="2013-01-03T16:13:29.483" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14950" PostTypeId="1" AcceptedAnswerId="16118" CreationDate="2013-01-03T17:06:57.303" Score="21" ViewCount="2749" Body="&lt;p&gt;The line graph of a hypergraph $H$ is the (simple) graph $G$ having edges of $H$ as vertices with two edges of $H$ are adjacent in $G$ if they have nonempty intersection. &#xA;A hypergraph is an $r$-hypergraph if each of its edges has at most $r$ vertices. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is the complexity of the following problem: Given a graph $G$, does there exist a $3$-hypergraph $H$ such that $G$ is the line graph of $H$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is well-known that recognizing line graphs of $2$-hypergraph is polynomial, and it is known (by Poljak et al., Discrete Appl. Math. 3(1981)301-312) that recognizing line graphs of $r$-hypergraphs is NP-complete for any fixed $r \ge 4$.    &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note: In case of simple hypergraphs, i.e. all hyperedges are distinct,&#xA;the problem is NP-complete as proved in the paper by Poljak et al.&lt;/p&gt;&#xA;" OwnerUserId="13136" LastEditorUserId="13136" LastEditDate="2013-01-15T17:29:09.753" LastActivityDate="2013-01-16T22:47:11.503" Title="Recognizing line graphs of hypergraphs" Tags="&lt;cc.complexity-theory&gt;&lt;graph-algorithms&gt;&lt;hypergraphs&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="14951" PostTypeId="1" AcceptedAnswerId="14954" CreationDate="2013-01-03T22:44:39.970" Score="12" ViewCount="785" Body="&lt;p&gt;Inspired by &lt;a href=&quot;https://cstheory.stackexchange.com/questions/14939/what-algorithms-exist-for-construction-a-dfa-that-recognizes-the-language-descri&quot;&gt;this question&lt;/a&gt;, I am curious about the following:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What is the worst-case complexity of checking whether a given DFA accepts the same&#xA;  language as a given regular expression?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Is this known?  The hope would be that this problem is in P -- that there is an algorithm polynomial in the size of both.&lt;/p&gt;&#xA;" OwnerUserId="123" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2013-01-04T23:56:12.090" Title="The Cost of an Equivalence Query for DFA" Tags="&lt;automata-theory&gt;&lt;lg.learning&gt;&lt;regular-expressions&gt;&lt;dfa&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14953" PostTypeId="1" CreationDate="2013-01-03T23:02:19.160" Score="26" ViewCount="490" Body="&lt;p&gt;I'm interested in the critical &lt;a href=&quot;http://en.wikipedia.org/wiki/Boolean_satisfiability_problem#3-satisfiability&quot;&gt;3-satisfiability&lt;/a&gt; (3-SAT) density $\alpha$. It's conjectured that such $\alpha$ exists: if the number of randomly generated 3-SAT clauses is $(\alpha + \epsilon) n$ or more, they are almost surely unsatisfiable.&#xA;(Here $\epsilon$ is any small constant and $n$ is the number of variables.)&#xA;If the number is $(\alpha - \epsilon) n$ or less, they are almost surely satisfiable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The thesis &lt;em&gt;&lt;a href=&quot;http://www.maia.ub.edu/~maneva/papers/thesis.pdf&quot;&gt;Belief propagation algorithms for constraint satisfaction problems &lt;/a&gt;&lt;/em&gt; by Elitza Nikolaeva Maneva challenges the problem from the angle of belief propagation known in information theory. On page 13, it says $3.52&amp;lt;\alpha&amp;lt;4.51$ if $\alpha$ exists. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;What are the best known bounds for $\alpha$?&lt;/p&gt;&#xA;" OwnerUserId="13097" LastEditorUserId="2932" LastEditDate="2013-01-04T16:34:19.083" LastActivityDate="2019-03-26T21:09:04.540" Title="Current tightest bounds for critical 3-SAT density" Tags="&lt;pr.probability&gt;&lt;random-k-sat&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="14954" PostTypeId="2" ParentId="14951" CreationDate="2013-01-03T23:31:27.333" Score="16" Body="&lt;p&gt;According to Garey and Johnson (p. 174), REGULAR EXPRESSION NON-UNIVERSALITY is PSPACE-complete. This is the problem of deciding whether a regular expression over $\{0,1\}$ does &lt;em&gt;not&lt;/em&gt; generate all strings. So your problem is also PSPACE-complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is one way to see that the OP's problem is in PSPACE. Given a DFA $A$ and a regular expression $r$, construct an NFA $B$ for $r$, and use the power set construction to virtually construct a DFA $C$ equivalent to $B$; we will not keep $C$ in memory, but we have oracle access to $C$ using only polynomial space. Now virtually construct a DFA $D$ for the symmetric difference of $A$ and $C$ using the product construction. This DFA accepts no strings (and so $L(A) = L(r)$) if there is no path from the starting state to an accepting state. Since reachability is in NL and $D$ has size $2^{\mathrm{poly}(n)}$, we can check whether $L(D) = \emptyset$ in $\mathrm{NSPACE}(\mathrm{poly}(n)) = \mathrm{NPSPACE} = \mathrm{PSPACE}$, the latter equality due to Savitch's theorem.&lt;/p&gt;&#xA;" OwnerUserId="40" LastEditorUserId="40" LastEditDate="2013-01-04T20:03:54.073" LastActivityDate="2013-01-04T20:03:54.073" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="14955" PostTypeId="2" ParentId="3612" CreationDate="2013-01-04T01:05:23.587" Score="10" Body="&lt;p&gt;Sorry I'm late -- it's a wonderful question!  As others have already pointed out, that's exactly why I asked the question in my &lt;a href=&quot;http://www.scottaaronson.com/papers/bqpph.pdf&quot;&gt;BQP vs. PH&lt;/a&gt; paper, and why I spent 4 or 5 months working on it without success back in 2008.  One way to answer the question would have been to prove a much more general statement that I called the &quot;Generalized Linial-Nisan Conjecture&quot;---but unfortunately, &lt;a href=&quot;http://www.scottaaronson.com/papers/glnfalse.pdf&quot;&gt;that conjecture turned out to be false&lt;/a&gt;, at least for circuits of depth 3 and higher.  (I still think it's probably true for depth-2 circuits, which would at least yield an oracle separation between BQP and AM.)  For more recent ideas (the latest, as far as I know) toward an oracle separation between BQP and PH, see the &lt;a href=&quot;http://users.cms.caltech.edu/~umans/papers/FSUV10.pdf&quot;&gt;nice followup paper by Fefferman, Shaltiel, Umans, and Viola&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="1575" LastActivityDate="2013-01-04T01:05:23.587" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="14957" PostTypeId="1" CreationDate="2013-01-04T07:58:57.783" Score="25" ViewCount="896" Body="&lt;p&gt;Recently, Ryan Willams proved that Constructivity in Natural Proof is unavoidable to derive a separation of complexity classes : $\mathsf{NEXP}$ and $\mathsf{TC}^{0}$.   &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Constructivity in Natural Proof is a condition that all combinatorial proofs in circuit complexity satisfies and that we can decide whether the target function in $\mathsf{NEXP}$ (or another &quot;hard&quot; complexity classes) has a &quot;hard&quot; property by a algorithm that runs in poly-time in the length of target function's truth table.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The other two conditions are: useless condition that require &quot;hard&quot; property can not be computed by any circuits in $\mathsf{TC}^0$ and largeness condition that the hard property is easy to find.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is :&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does this result make the Geometric Complexity Theory (GCT) unavailable to resolve main separation problems such as $\mathsf{P}$ vs $\mathsf{NP}$, $\mathsf{P}$ vs $\mathsf{NC}$, or $\mathsf{NEXP}$ vs $\mathsf{TC}^0$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;References:  &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Ryan Williams, &quot;&lt;a href=&quot;http://arxiv.org/abs/1212.1891&quot; rel=&quot;nofollow&quot;&gt;Natural Proofs Versus Derandomization&lt;/a&gt;&quot;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="13211" LastEditorUserId="-1" LastEditDate="2013-04-05T05:40:55.063" LastActivityDate="2013-04-05T05:40:55.063" Title="Constructivity in Natural Proof and Geometric Complexity" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;circuit-complexity&gt;&lt;gct&gt;&lt;barriers&gt;" AnswerCount="3" CommentCount="0" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="14958" PostTypeId="1" CreationDate="2013-01-04T08:28:00.953" Score="8" ViewCount="635" Body="&lt;p&gt;An &lt;strong&gt;affix code&lt;/strong&gt; is a code that is simultaneously a prefix and suffix code. That is, no codeword is neither the prefix nor the suffix of any other codeword. Affix codes can be instantaneously decoded in &lt;em&gt;both directions&lt;/em&gt; (forward and backward).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I want to create one that optimally compresses a given input symbol distribution, given a set of output symbols.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The Huffman algorithm (which creates prefix codes) comes closest, but due to its greedy strategy, it seems unsuitable for modification to this purpose.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;How can optimal affix codes be found? &lt;/p&gt;&#xA;" OwnerUserId="13210" LastActivityDate="2013-01-12T07:16:33.883" Title="How do I construct an optimal affix code?" Tags="&lt;coding-theory&gt;&lt;prefix-free-code&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14963" PostTypeId="2" ParentId="14787" CreationDate="2013-01-04T18:39:16.800" Score="8" Body="&lt;p&gt;Well, here's a possible solution:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The reduction will be from 3SAT.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Input:&lt;/strong&gt; $m$ DNF clauses $(\varphi_1,\ldots,\varphi_m)$ over $n$ variables $(x_1,\ldots,x_n)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Reduction:&lt;/strong&gt;&#xA;Create a set of items composed of two items for every variable: $x_i, \overline x_i$, corresponding to a $True$ assignment to either the variable $x_i$ or its negation, plus one auxiliary item $t$.&#xA;Let the price of all items $\{x_i,\overline x_i\}_{i=1,…,n}$ be $1$, and the price of $t$ be $1.5$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Create two sets of consumers:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Set 1:&lt;/strong&gt; Validity rankings: this set of consumers will encode the validity constraints on the assignments to $x_1,\ldots,x_n$. Namely, that exactly one out of every $\{x_i,\overline x_i\}$ is set to $True$ (i.e., taken by the algorithm).&#xA;For every $i=1,\ldots,n$ create four partial rankings:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\sigma_{i1}: x_i\succ t\\&#xA;\sigma_{i2}: \overline x_i \succ t \\&#xA;\sigma_{i3}: x_i \succ \overline x_i \\&#xA;\sigma_{i4}: x_i \succ \overline x_i$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Taking $t$ can never hurt, so we assume that it's always chosen. If both $x_i$ and $\overline x_i$ are selected, we get a payoff $4$. If none of them is selected, we get a payoff of $3$. If one of them is chosen, we get a payoff of $4.5$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Set 2:&lt;/strong&gt; Clause rankings.&#xA;For each clause of the form $\varphi_j=\ell_{j1} \vee \ell_{i2} \vee \ell_{j3}$, we create a ranking: $\sigma_j: \ell_{j1} &amp;gt; \ell_{j2} &amp;gt; \ell_{j3}$. If $\varphi_j$ is satisfied, it means that at least one of the items corresponding to $\ell_{j1}, \ell_{j2}$, and $\ell_{j3}$ is selected, which gives an extra payoff of $1$ from ranking $\sigma_j$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, the 3CNF formula is satisfiable if and only if there is a set of items that gives a payoff of $m+4.5n$.&lt;/p&gt;&#xA;" OwnerUserId="7701" LastActivityDate="2013-01-04T18:39:16.800" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14964" PostTypeId="2" ParentId="14957" CreationDate="2013-01-04T18:44:58.840" Score="17" Body="&lt;p&gt;Let me first correct a possible misunderstanding: unfortunately we don't know yet that $NEXP \not\subset TC^0$. My most recent lower bound is $NEXP \cap coNEXP \not\subset ACC$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, the answer to your question is no. It is still very possible that techniques based on GCT can separate $P$ from $NP$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A few more comments about this: the relation between GCT and Natural Proofs has been discussed in the past (even in the original GCT papers themselves). While there does not seem to have been consensus about which of &quot;constructivity&quot; or &quot;largeness&quot; would be violated by the GCT approach, Mulmuley and Sohoni did argue at one point that if GCT could be carried out then it should violate largeness. For a relevant reference, see Section 6 of &lt;a href=&quot;http://www.cse.buffalo.edu/~regan/papers/pdf/Reg02MSFD.pdf&quot;&gt;Regan's overview of GCT&lt;/a&gt;. However, I should add that this overview is already 10 years old, and a considerable amount of work has gone into GCT since then; I am not sure if there is any revised/new opinion on this. (Perhaps Josh Grochow can chime in?)&lt;/p&gt;&#xA;" OwnerUserId="225" LastActivityDate="2013-01-04T18:44:58.840" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14965" PostTypeId="2" ParentId="14957" CreationDate="2013-01-04T19:23:40.553" Score="14" Body="&lt;p&gt;The short answer is &lt;strong&gt;No&lt;/strong&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The Geometric Complexity Theory approach targets certain extremely rare property, which Mulmuley argues is not &quot;large&quot; as defined by Razborov and Rudich. For a formal argument, see also Joshua Grochow's &lt;a href=&quot;http://www.cs.toronto.edu/~jgrochow/grochow-thesis.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;thesis&lt;/a&gt;, Section 3.4.3 &lt;em&gt;Symmetry-characterization avoids the Razborov–Rudich barrier&lt;/em&gt;, and his &lt;a href=&quot;https://cstheory.stackexchange.com/a/14978/13218&quot;&gt;answer&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The following paragraph comes from &lt;em&gt;On P vs. NP and Geometric Complexity Theory&lt;/em&gt; by Ketan Mulmuley (&lt;a href=&quot;http://dx.doi.org/10.1145/1944345.1944346&quot; rel=&quot;nofollow noreferrer&quot;&gt;JACM 2011&lt;/a&gt; or &lt;a href=&quot;http://ramakrishnadas.cs.uchicago.edu/gctexplicit.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;manuscript&lt;/a&gt;), Section 4.3 &lt;em&gt;A High Level Plan&lt;/em&gt;:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;The goal is to carry out these steps explicitly, exploiting the characterization by&#xA;  symmetries of the permanent and determinant. We shall specify what explicit means&#xA;  later; cf. Hypothesis 4.6. This approach is extremely rigid in the sense that it only&#xA;  works for extremely rare hard functions that are characterized by their symmetries.&#xA;  This extreme rigidity is much more than what is needed to bypass the natural proof&#xA;  barrier [Razborov and Rudich 1997].&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Since both the conditions of constructivity and largeness are required for a natural proof (where usefulness is implicit), proving that constructivity is unavoidable is not sufficient to rule out such approaches (though a big step forward).&lt;/p&gt;&#xA;" OwnerUserId="13218" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2013-01-06T05:50:27.003" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14969" PostTypeId="1" CreationDate="2013-01-04T21:50:28.160" Score="0" ViewCount="57" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Possible Duplicate:&lt;/strong&gt;&lt;br&gt;&#xA;  &lt;a href=&quot;https://cstheory.stackexchange.com/questions/5004/are-runtime-bounds-in-p-decidable-answer-no&quot;&gt;Are runtime bounds in P decidable? (answer: no)&lt;/a&gt;  &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&#xA;&#xA;&lt;p&gt;Originally asked on SO: &lt;a href=&quot;https://stackoverflow.com/questions/13371025&quot;&gt;https://stackoverflow.com/questions/13371025&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have seen many questions asking if this computation is possible, but they all ask about writing a program to compute the complexity of arbitrary algorithms (which is obviously undecideable). I am willing to make the following restrictions on the input:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The algorithm terminates&#xA;The algorithm is purely functional&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The question is, can a program be written to compute the time complexity of such an algorithm through static analysis? If the input algorithm does not terminate, the program behaviour is undefined (it may crash, return a lie, or fail to terminate).&lt;/p&gt;&#xA;" OwnerUserId="13220" LastEditorUserId="-1" LastEditDate="2017-05-23T12:40:09.333" LastActivityDate="2013-01-04T21:50:28.160" Title="Algorithmically compute a reasonable bound on the runtime of an algorithm" Tags="&lt;time-complexity&gt;" AnswerCount="0" CommentCount="4" ClosedDate="2013-01-05T01:27:47.827" ContentLicense="CC BY-SA 3.0" />
  <row Id="14976" PostTypeId="5" CreationDate="2013-01-05T13:46:08.517" Score="0" Body="&lt;p&gt;A context-sensitive grammar (CSG) is a formal grammar in which the left-hand sides and right-hand sides of any production rules may be surrounded by a context of terminal and nonterminal symbols. Context-sensitive grammars are more general than context-free grammars but still orderly enough to be parsed by a linear bounded automaton.&lt;/p&gt;&#xA;" OwnerUserId="3162" LastEditorUserId="3162" LastEditDate="2013-01-05T15:38:37.773" LastActivityDate="2013-01-05T15:38:37.773" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14977" PostTypeId="4" CreationDate="2013-01-05T13:46:08.517" Score="0" Body="A context-sensitive grammar (CSG) is a formal grammar in which the left-hand sides and right-hand sides of any production rules may be surrounded by a context of terminal and nonterminal symbols" OwnerUserId="3162" LastEditorUserId="3162" LastEditDate="2013-01-05T15:38:20.333" LastActivityDate="2013-01-05T15:38:20.333" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14978" PostTypeId="2" ParentId="14957" CreationDate="2013-01-05T19:52:53.573" Score="20" Body="&lt;p&gt;No, the unavoidability of constructivity definitely still leaves GCT open as a viable plan of attack on lower bound problems such as $NP$ vs. $P/poly$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First, it is worth mentioning that Ryan's result on constructivity is very similar in flavor to the so-called &quot;Flip Theorems&quot; by Mulmuley, which say, for example, that if permanent does not have poly-size arithmetic circuits, then there is a randomized poly-time constructible set of (polynomially many) matrices $\{M_1, \dotsc, M_{p(n)}\}$ such that every small circuit differs from the permanent on one of these matrices. See &lt;a href=&quot;http://gct.cs.uchicago.edu/gctflip.ps&quot; rel=&quot;nofollow noreferrer&quot;&gt; Explicit Proofs and The Flip, Technical Report, Computer Science Department, The University of Chicago, September 2010&lt;/a&gt; by Mulmuley.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Second, the centrality of symmetry-characterization (mentioned already by siuman) in GCT has become more apparent since Regan's survey. If symmetry-characterization turns out to be as crucial to GCT as it seems like it is going to, then this already gets around the largeness condition. For the definition of symmetry-characterzation, see &lt;a href=&quot;https://cstheory.stackexchange.com/a/186/129&quot;&gt;this answer&lt;/a&gt; to a closely related &lt;a href=&quot;https://cstheory.stackexchange.com/q/170/129&quot;&gt;previous question&lt;/a&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For a proof that symmetry-characterization violates largeness, see Section 3.4.3 &quot;Symmetry-characterization avoids the Razborov–Rudich barrier&quot; in &lt;a href=&quot;http://www.cs.toronto.edu/~jgrochow/grochow-thesis.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;my thesis&lt;/a&gt; (shameless self plugs, but I don't know anywhere else where this is written down so completely). I suspect it also violates constructivity, but left that as an open question there. (Earlier in Chapter 3 there's also an overview of the flip theorems in GCT and how they relate to symmetry-characterization.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(I find it interesting that symmetry-characterization - the very property we suspect will be used in GCT that gets around Razborov--Rudich - is used to prove the flip theorems, which essentially say that constructivity is necessary.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, it is worth mentioning that although in the long run GCT aims to address $NP$ versus $P/poly$ and other Boolean problems, at the moment most work in GCT is focused on algebraic analogs of these, such as over the complex numbers, and there is as yet no algebraic analog of Razborov--Rudich (that I know of).&lt;/p&gt;&#xA;" OwnerUserId="129" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2013-01-07T21:13:04.413" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="14979" PostTypeId="2" ParentId="14935" CreationDate="2013-01-05T23:24:23.320" Score="4" Body="&lt;p&gt;It is called p-Median and is known to be NP-hard.&#xA;Refer to the following paper for more info: &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;O. Kariv and S. Hakimi, “&lt;a href=&quot;http://www.jstor.org/discover/10.2307/2100911&quot; rel=&quot;nofollow&quot;&gt;An Algorithmic Approach to Network Location&#xA;  Problems. II: The p-MEDIANS&lt;/a&gt;,” &lt;em&gt;SIAM Journal on Applied Mathematics&lt;/em&gt;,&#xA;  vol. 37, no. 3, pp. 539–560, December 1979.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="9687" LastActivityDate="2013-01-05T23:24:23.320" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14982" PostTypeId="1" CreationDate="2013-01-06T12:46:49.290" Score="17" ViewCount="402" Body="&lt;p&gt;Are there any conjectures in theoretical computer science that involve some parameter n and were proved for small values of n AND for primes but later turned out to be false?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In number theory such problems do exist, eg. as &lt;a href=&quot;https://mathoverflow.net/questions/117891/what-are-conjectures-that-are-true-for-primes-but-then-turned-out-to-be-false-for/117985#117985&quot;&gt;Aaron Meyerowitz points out&lt;/a&gt; the one about the coefficients of the cyclotomic polynomials. From TCS I only know examples like the &lt;a href=&quot;http://en.wikipedia.org/wiki/Aanderaa%E2%80%93Karp%E2%80%93Rosenberg_conjecture&quot; rel=&quot;nofollow noreferrer&quot;&gt;Evasiveness Conjecture&lt;/a&gt; that are still unsettled.&lt;/p&gt;&#xA;" OwnerUserId="419" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2013-01-08T05:59:21.620" Title="What are TCS conjectures that were proved for primes and small values but then turned out to be false?" Tags="&lt;big-list&gt;&lt;primes&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="14983" PostTypeId="2" ParentId="14958" CreationDate="2013-01-06T12:57:07.497" Score="4" Body="&lt;p&gt;I really don't think that there is a known algorithm to be optimal. In fact, there is a major conjecture about how effective a set of code words can be, see: &lt;a href=&quot;http://arxiv.org/abs/0709.2598&quot; rel=&quot;nofollow&quot;&gt;http://arxiv.org/abs/0709.2598&lt;/a&gt;&#xA;(the name I knew for affix code is fix-free code). If an algorithm was proved to be optimal, then most probably it would also solve (or disproof) this conjecture as well.&lt;/p&gt;&#xA;" OwnerUserId="419" LastActivityDate="2013-01-06T12:57:07.497" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="14985" PostTypeId="1" CreationDate="2013-01-06T14:34:09.140" Score="2" ViewCount="373" Body="&lt;p&gt;I don't understand how Distance Product works (or Min Plus Product). If we replace each argument in $A$ from $a_{i,j}$ to $x^{a_{i,j}}$ and each argument in $B$ from $b_{i,j}$ to $x^{b_{i,j}}$ and each and make the polinomial product on each row and column we'll get a matrix $C$ such $c_{i,j}= \sum_{\substack{1&amp;lt;k&amp;lt;n \\}} cx^{a_{i,k}+b_{k,j}})$.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;We want the path, not only the distance, and for the path we must know $k$ which gives us the minimum $x^{a_{i,k}+b_{k,j}}$. &lt;strong&gt;So how do we extract k from it?&lt;/strong&gt;&lt;/li&gt;&#xA;&lt;li&gt;Why does the time of Distance Product is $O(n^{\omega}M)$? (where $\omega$ is the present lowest exponent for matrix multiplication and $M$ is the maximum value in the matrices).&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="12633" LastActivityDate="2013-01-12T07:52:33.730" Title="All Pairs Shortest Path - Directed graph with integer weights" Tags="&lt;ds.algorithms&gt;&lt;graph-algorithms&gt;&lt;linear-algebra&gt;&lt;matrix-product&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14986" PostTypeId="2" ParentId="14953" CreationDate="2013-01-06T15:33:12.610" Score="17" Body="&lt;p&gt;Notwithstanding Friedgut's theorem about $k$-SAT, while we lack techniques to get to negligible $\epsilon$ for small $k$, it seems more useful to talk about the satisfiability threshold ($\alpha - \epsilon$) and the unsatisfiability threshold ($\alpha + \epsilon$) as separate entities.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The unsatisfiability threshold is known to be at most 4.4898, a slight improvement since Maneva's 2001 thesis.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;J. Díaz, L. Kirousis, D. Mitsche, X. Pérez-Gimenéz.  &lt;em&gt;On the satisfiability threshold of formulas with three literals per clause&lt;/em&gt;, Theoretical Computer Science &lt;strong&gt;410&lt;/strong&gt;, 2009, 2920–2934. &lt;a href=&quot;http://dx.doi.org/10.1016/j.tcs.2009.02.020&quot;&gt;doi:10.1016/j.tcs.2009.02.020&lt;/a&gt; (&lt;a href=&quot;http://math.ryerson.ca/~dmitsche/DKMP09.pdf&quot;&gt;preprint from one of the authors&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The satisfiability threshold is known to be at least 3.52, which is unchanged from the time of Maneva's thesis.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;A. C. Kaporis, L. M. Kirousis, E. G. Lalas.  &lt;em&gt;The Probabilistic Analysis of a Greedy Satisfiability Algorithm&lt;/em&gt;, Random Structures and Algorithms &lt;strong&gt;28&lt;/strong&gt;, 2006, 444–480.  &lt;a href=&quot;http://dx.doi.org/10.1002/rsa.20104&quot;&gt;doi:10.1002/rsa.20104&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;These bounds were recently cited by Achlioptas and Menchaca-Mendez as the best known to date.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;D. Achlioptas, R. Menchaca-Mendez.  &lt;em&gt;Unsatisfiability Bounds for Random CSPs from an Energetic Interpolation Method&lt;/em&gt;, ICALP 2012, LNCS 7391, 1–12.  &lt;a href=&quot;http://dx.doi.org/10.1007/978-3-642-31594-7_1&quot;&gt;doi:10.1007/978-3-642-31594-7_1&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="109" LastEditorUserId="109" LastEditDate="2013-01-06T16:40:37.717" LastActivityDate="2013-01-06T16:40:37.717" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14987" PostTypeId="1" AcceptedAnswerId="15043" CreationDate="2013-01-06T17:31:18.470" Score="7" ViewCount="293" Body="&lt;p&gt;There are many papers on learning mixtures of multivariate Gaussians, which exploit various separation/projection techniques. What about one-dimensional (univariate) Gaussians -- any formal guarantees for learning these?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;UPDATE: I should clarify: I am particularly interested in polynomial-time algorithms, &lt;em&gt;in the number of mixture components&lt;/em&gt;.&lt;/p&gt;&#xA;" OwnerUserId="1746" LastEditorUserId="1746" LastEditDate="2013-01-08T06:38:34.830" LastActivityDate="2013-01-11T04:07:02.220" Title="Learning Mixture of Univariate Gaussians" Tags="&lt;machine-learning&gt;&lt;lg.learning&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14989" PostTypeId="2" ParentId="14987" CreationDate="2013-01-06T23:30:46.117" Score="1" Body="&lt;p&gt;Since &lt;em&gt;univariate&lt;/em&gt; Gaussians are a special case of &lt;em&gt;multivariate&lt;/em&gt; Gaussians, &#xA;in terms of formal guarantees (e.g. provable bounds on run time, confidence, etc.), all papers on learning mixtures of &lt;em&gt;multivariate&lt;/em&gt; Guassians also give results on &lt;em&gt;univariate&lt;/em&gt; Gaussians.  (And often the papers start with the simpler case of learning &lt;em&gt;univariate&lt;/em&gt; Gaussians, then reduce the general case of learning &lt;em&gt;multivariate&lt;/em&gt; Gaussians to the special case by some tricks, e.g. projections).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Two recent papers on learning mixtures of Gaussians, based on the method of moments:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;em&gt;Disentangling Gaussians&lt;/em&gt; by Adam Tauman Kalai, Ankur Moitra, and Gregory Valiant. (&lt;a href=&quot;http://dx.doi.org/10.1145/2076450.2076474&quot; rel=&quot;nofollow&quot;&gt;CACM 2012&lt;/a&gt; and &lt;a href=&quot;http://people.csail.mit.edu/moitra/docs/disentangling.pdf&quot; rel=&quot;nofollow&quot;&gt;manuscript&lt;/a&gt;).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;em&gt;Polynomial Learning of Distribution Families&lt;/em&gt; by Mikhail Belkin, Kaushik Sinha. (&lt;a href=&quot;http://doi.ieeecomputersociety.org/10.1109/FOCS.2010.16&quot; rel=&quot;nofollow&quot;&gt;FOCS 2010&lt;/a&gt; and &lt;a href=&quot;http://arxiv.org/abs/1004.4864&quot; rel=&quot;nofollow&quot;&gt;arXiv&lt;/a&gt;).  See also Table 1 for further references.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;They give algorithms for learning mixtures of Gaussians with time bounds polynomial in (the inverse of) precision $\epsilon$, confidence error $\delta$, and some &quot;condition number&quot; measuring the separation in parameters (for each fixed number of Gaussians in the mixture).&lt;/p&gt;&#xA;" OwnerUserId="13218" LastEditorUserId="13218" LastEditDate="2013-01-06T23:46:46.630" LastActivityDate="2013-01-06T23:46:46.630" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14990" PostTypeId="1" CreationDate="2013-01-07T00:05:54.173" Score="8" ViewCount="284" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;Fix a set of $n$ points $P \subset \mathbb{R}^d$. Now a query point&#xA;  $q$ arrives, and the goal is produce a point $r$ sampled &lt;strong&gt;uniformly&#xA;  at random&lt;/strong&gt; from the Voronoi cell of $q$ in the set $P \cup \{q\}$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;For the purpose of this question, you can assume that $q$'s Voronoi cell is always bounded (for example $q$ always lies in the convex hull of $P$). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there anything known about this problem ? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some constraints:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;I might want more than one sample from $q$'s Voronoi cell. These should be IID. &lt;/li&gt;&#xA;&lt;li&gt;I am allowed to preprocess the points, but I cannot spend time exponential in $d$. &lt;/li&gt;&#xA;&lt;li&gt;The sample should be generated in time sublinear in $n$ and polynomial in $d$ ideally. &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Note that the above rule out computing the Voronoi cell explicitly. Also note that while a rejection sampling approach would yield a uniform sample, it's not clear how to do it efficiently.&lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2013-01-09T05:11:13.147" Title="Sampling from the Voronoi cell of a point" Tags="&lt;cg.comp-geom&gt;&lt;randomized-algorithms&gt;&lt;voronoi&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14991" PostTypeId="1" AcceptedAnswerId="15023" CreationDate="2013-01-07T03:00:38.110" Score="5" ViewCount="237" Body="&lt;p&gt;Define the Revision Tracking Graph (RTG), which is an oriented graph (without circles) where each node x has a set C(x) associated with it. C(x) contains all edges on all paths from a node 0 ( C(0) = {} ). Each edge can be in a set at most once!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can also describe this data structure by the rules for its growth:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Start with node 0 with associated empty set &lt;code&gt;C(0) = {}&lt;/code&gt; = &lt;em&gt;creating new object&lt;/em&gt;&lt;/li&gt;&#xA;&lt;li&gt;For any node x create a new node y where (x,y) is oriented edge from x to y and &lt;code&gt;C(y) = C(x) union { (x,y) }&lt;/code&gt; = &lt;em&gt;versioning and branching&lt;/em&gt;&lt;/li&gt;&#xA;&lt;li&gt;For any nodes f and t, create node r, where (f,r) and (t,r) are oriented edges and &lt;code&gt;C(r) = C(f) union C(t) union { (f,r), (t,r) }&lt;/code&gt; = &lt;em&gt;merging&lt;/em&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Note: You can see there is no mathematical difference between creating new version and a branch. It is a semantical difference depending on whether there is already an edge leading from the node or not. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Base node&lt;/strong&gt; is defined as a node b, such as &lt;code&gt;C(b) = C(f) intersect C(t)&lt;/code&gt;, where f and t are nodes representing two versions to be merged. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Simple Merge equation&lt;/strong&gt; &lt;code&gt;Result=To + (From-Base)&lt;/code&gt; = means that if we subtract every edge in C(b) from C(f) and add all edges in C(t) we get a resulting C(r) minus (f,r) and (t,r) edges exactly. No edge would appear twice and all edges in C(f) and C(t) would be represented. = &lt;em&gt;3-way merge&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Complex merge equation&lt;/strong&gt; &lt;code&gt;Result = To + Sum(i=1..n) for (Fi-Bi), where Fn = From&lt;/code&gt;. Each edge can be in exactly one of the sets To, (Fi-Bi). For n=1 this turns into a simple merge equation. In case there exist no base in simple case, we might find sequence of F,B nodes to fit the complex equation. &lt;em&gt;(1+2n)-way merge&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have actually several questions pertaining to this data structure. I am posing the first 3 for &quot;frame of mind&quot;, as I already know the answers. And I believe question 4 directly leads to answering question 5, which I really try to get answered.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;ol&gt;&#xA;  &lt;li&gt;Prove there can be no circles in the graph&lt;/li&gt;&#xA;  &lt;li&gt;Prove that for certain graphs there are such nodes F,T for which base cannot be found as specified in simple equation.&lt;/li&gt;&#xA;  &lt;li&gt;Create algorithm to find B in simple case where n = 1.&lt;/li&gt;&#xA;  &lt;li&gt;Prove that for each RTG and each pair of nodes F and T, there is a set of n pairs of nodes Fi,Bi, where i=1..n to fit the complex merge equation.&lt;/li&gt;&#xA;  &lt;li&gt;Create algorithm to find minimum n and Fi,Bi for i=1..n where n &gt; 1.&lt;/li&gt;&#xA;  &lt;/ol&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="4934" LastEditorUserId="4934" LastEditDate="2013-01-09T01:28:40.163" LastActivityDate="2013-01-09T02:33:07.900" Title="Revision Tracking Graph" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;ds.data-structures&gt;&lt;directed-acyclic-graph&gt;" AnswerCount="1" CommentCount="9" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="14992" PostTypeId="1" AcceptedAnswerId="15059" CreationDate="2013-01-07T04:39:27.383" Score="10" ViewCount="254" Body="&lt;p&gt;Let the class BPNC (the combination of $\mathsf{BPP}$ and $\mathsf{NC}$) be log depth parallel algorithms with bounded error probability and access to a random source (I'm not sure if this has a different name).  Define the class DBPNC similarly, except that all processes have random access into a random stream of bits fixed at algorithm startup.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In other words, each process in BPNC has access to a distinct random source, while DBPNC algorithms have a shared perfectly random counter mode generator.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Do we know whether BPNC = DBPNC?&lt;/p&gt;&#xA;" OwnerUserId="13245" LastEditorUserId="186" LastEditDate="2013-01-07T06:11:17.617" LastActivityDate="2013-01-13T04:34:57.880" Title="Is deterministic pseudorandomness possibly stronger than randomness in parallel?" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;dc.parallel-comp&gt;&lt;randomness&gt;&lt;pseudorandomness&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="14994" PostTypeId="1" AcceptedAnswerId="14995" CreationDate="2013-01-07T06:24:06.033" Score="35" ViewCount="2287" Body="&lt;p&gt;Many believe that &lt;span class=&quot;math-container&quot;&gt;$\mathsf{BPP} = \mathsf{P} \subseteq \mathsf{NP}$&lt;/span&gt;. However we only know that &lt;span class=&quot;math-container&quot;&gt;$\mathsf{BPP}$&lt;/span&gt; is in the second level of polynomial hierarchy, i.e. &lt;span class=&quot;math-container&quot;&gt;$\mathsf{BPP}\subseteq \Sigma^ \mathsf{P}_2 \cap \Pi^ \mathsf{P}_2$&lt;/span&gt;. A step towards showing &lt;span class=&quot;math-container&quot;&gt;$\mathsf{BPP} = \mathsf{P}$&lt;/span&gt; is to first bring it down to the first level of the polynomial hierarchy, i.e. &lt;span class=&quot;math-container&quot;&gt;$\mathsf{BPP} \subseteq \mathsf{NP}$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;p&gt;The containment would mean that nondeterminism is at least as powerful as randomness for polynomial time.&lt;/p&gt;&#xA;&lt;p&gt;It also means that if for a problem we can find the answers using efficient (polynomial time) randomized algorithms then we can verify the answers efficiently (in polynomial time) .&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Are there any known interesting consequences for &lt;span class=&quot;math-container&quot;&gt;$\mathsf{BPP} \subseteq \mathsf{NP}$&lt;/span&gt;?&lt;/p&gt;&#xA;&lt;p&gt;Are there any reasons to believe that proving &lt;span class=&quot;math-container&quot;&gt;$\mathsf{BPP} \subseteq \mathsf{NP}$&lt;/span&gt; is out of reach right now (e.g. barriers or other arguments)?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="186" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2013-01-07T19:47:19.770" Title="Consequences of $\mathsf{NP}$ containing $\mathsf{BPP}$" Tags="&lt;cc.complexity-theory&gt;&lt;randomness&gt;&lt;randomized-algorithms&gt;&lt;nondeterminism&gt;&lt;barriers&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="14995" PostTypeId="2" ParentId="14994" CreationDate="2013-01-07T08:23:44.520" Score="38" Body="&lt;p&gt;For one, proving $BPP \subseteq NP$ would easily imply that $NEXP \neq BPP$, which already means that your proof can't relativize.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But let's look at something even weaker: $coRP \subseteq NTIME[2^{n^{o(1)}}]$. If that is true, then polynomial identity testing for arithmetic circuits is in nondeterministic subexponential time. By &lt;a href=&quot;http://www.cs.sfu.ca/~kabanets/Research/poly.html&quot;&gt;Impagliazzo-Kabanets'04&lt;/a&gt;, such an algorithm implies circuit lower bounds: either the Permanent does not have poly-size arithmetic circuits, or $NEXP \not\subset P/poly$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I personally don't know why it looks &quot;out of reach&quot; but it does seem hard to prove. Certainly some genuinely new tricks will be needed to prove it.&lt;/p&gt;&#xA;" OwnerUserId="225" LastEditorUserId="186" LastEditDate="2013-01-07T19:47:19.770" LastActivityDate="2013-01-07T19:47:19.770" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="14996" PostTypeId="2" ParentId="14856" CreationDate="2013-01-07T11:17:40.983" Score="20" Body="&lt;p&gt;The decision versions of many common problems in linear algebra over the integers (or rationals)&#xA;are in the class $\mathsf{DET}$, see the paper &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Gerhard Buntrock, Carsten Damm, Ulrich Hertrampf, Christoph Meinel: Structure and Importance of Logspace-MOD Class. Mathematical Systems Theory 25(3): 223-237 (1992)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\mathsf{DET}$ is contained in $\mathsf{DSPACE}(\log^2)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Computing the eigenvalues is a little more delicate:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) In $\mathsf{DSPACE}(\log^2)$, one can compute the coefficients&#xA;of the characteristic polynomial.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) Then you can use the parallel algorithm by Reif and Neff&#xA;to compute approximations to the eigenvalues. The algorithm runs on&#xA;a CREW-PRAM in logarithmic time with polynomially many processors, &#xA;so it can be simulated with poly-logarithmic space. &#xA;(It is not explicitely stated in the paper, but their PRAM should to be&#xA;log-space uniform.) &#xA;The space used is&#xA; polylogarithmic in the size of&#xA;the input matrix and the precision $p$. Precision $p$ means that&#xA;you get approximations up to an additive error of $2^{-p}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is a concatenation of functions computable in poly-logarithmic space.&#xA;(Output tapes are write only and oneway.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;C. Andrew Neff, John H. Reif: An Efficient Algorithm for the Complex Roots Problem. J. Complexity 12(2): 81-115 (1996)&lt;/p&gt;&#xA;" OwnerUserId="6456" LastEditorUserId="6456" LastEditDate="2013-01-08T10:52:03.763" LastActivityDate="2013-01-08T10:52:03.763" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14997" PostTypeId="2" ParentId="14982" CreationDate="2013-01-07T11:57:19.670" Score="3" Body="&lt;p&gt;Note: This is more like an extended comment than an answer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is a problem from combinatorics whose status is similiar in flavor to that of Evasiveness Conjecture:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Background&lt;/strong&gt;. A Latin square of order $n$ is an $n × n$ matrix in which each element from {1, . . . , n} occurs exactly once in each row and column. Two Latin squares of order $n$ are said to be orthogonal if you get $n^2$ distinct ordered pairs when you superimpose them. A set of Latin squares are said to&#xA;  be mutually orthogonal if every pair of them are orthogonal. Let $N(n)$&#xA;  denote the maximum number of mutually orthogonal Latin squares of order&#xA;  $n$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;It is known that $N(n)\leq n-1$ for all $n$. If $n$ is a prime power then we know that $N(n)=n-1$, but for general values of $n$ the status of lower bounds is wide open.&lt;/p&gt;&#xA;" OwnerUserId="547" LastEditorUserId="547" LastEditDate="2013-01-08T05:53:13.497" LastActivityDate="2013-01-08T05:53:13.497" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="14998" PostTypeId="2" ParentId="6211" CreationDate="2013-01-07T15:31:05.380" Score="4" Body="&lt;p&gt;For the sake of completeness, I'll note that my version of the proof appears in&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;NdB. &lt;em&gt;A linearized stabilizer formalism for systems of finite dimension&lt;/em&gt;.&lt;br&gt; &lt;a href=&quot;http://www.rintonpress.com/journals/qiconline.html#v13n12&quot; rel=&quot;nofollow&quot;&gt;Quantum Information &amp;amp; Computation &lt;strong&gt;13&lt;/strong&gt; (pp.&amp;nbsp;73&amp;ndash;115)&lt;/a&gt;, 2013.&lt;br&gt; [&lt;a href=&quot;http://arxiv.org/abs/1102.3354v4&quot; rel=&quot;nofollow&quot;&gt;arXiv:1102.3354v4&lt;/a&gt;]&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;appearing as &lt;em&gt;Lemma&amp;nbsp;B.3&lt;/em&gt; (page 38) in the published version, and &lt;em&gt;Lemma&amp;nbsp;12&lt;/em&gt; (page 23) in the arXiv preprint; in both cases occuring in Appendix B.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If anyone can point to an reference to a proof which is older than this question, I'll accept and reward the earliest such reference which is provided.&lt;/p&gt;&#xA;" OwnerUserId="248" LastActivityDate="2013-01-07T15:31:05.380" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="14999" PostTypeId="1" AcceptedAnswerId="15002" CreationDate="2013-01-07T17:19:31.087" Score="21" ViewCount="1634" Body="&lt;p&gt;There are many places where the numbers $\pi$ and $(1+\sqrt5)/2$ show up. I'm curious to know about algorithms whose running time contains the golden ratio or $\pi$ in the exponent.&lt;/p&gt;&#xA;" OwnerUserId="13252" LastEditorUserId="13252" LastEditDate="2013-01-11T12:15:15.427" LastActivityDate="2013-06-21T22:41:47.420" Title="Golden ratio or Pi in the running time" Tags="&lt;reference-request&gt;&lt;big-list&gt;" AnswerCount="7" CommentCount="6" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="15000" PostTypeId="1" AcceptedAnswerId="15001" CreationDate="2013-01-07T21:04:52.013" Score="4" ViewCount="200" Body="&lt;p&gt;The &lt;em&gt;Eulerian Tour&lt;/em&gt; problem is of course a well-studied classical problem in graph theory (&lt;a href=&quot;http://en.wikipedia.org/wiki/Eulerian_path&quot; rel=&quot;nofollow&quot;&gt;Wikipedia article&lt;/a&gt;). This question concerns non-Eulerian graphs; i.e., graphs that contain one or more odd-degree vertices. In a nutshell, I wonder what is the best &quot;Eulerian-like&quot; way of traversing non-Eulerian graphs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given an undirected connected graph, let an Eulerian &quot;semi-tour&quot; be defined as a &quot;cycle&quot; that passes each edge &lt;em&gt;at least&lt;/em&gt; once and can visit any vertex or edge multiple times. Consider the following costs for a given semi-tour:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Total cost: The total number of edges visited by the semi-tour, counting multiplicities.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Width cost: The number of times the most-visited edge is visited.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;I'm interested in optimization problems that aim to find a semi-tour that minimizes the total cost or the width cost on a given graph. Of course, if a graph is Eulerian, an Eulerian tour would be optimal, for which the total cost is the number of edges and the width cost is zero. For graphs containing odd degree vertices, the optimal cost in both senses must be larger.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I suspect these optimization problems (if not trivial) must have been well studied in the literature. What are the relevant references, if any, and what is known about these problems (both algorithmically and combinatorially)?&lt;/p&gt;&#xA;" OwnerUserId="6190" LastActivityDate="2013-01-07T21:50:37.097" Title="Nearly-Eulerian Tours" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;optimization&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="15001" PostTypeId="2" ParentId="15000" CreationDate="2013-01-07T21:50:37.097" Score="8" Body="&lt;p&gt;For total cost, see &lt;a href=&quot;http://en.wikipedia.org/wiki/Route_inspection_problem&quot;&gt;http://en.wikipedia.org/wiki/Route_inspection_problem&lt;/a&gt; (also called the Chinese postman problem). The optimal solutions to this problem visit each edge at most twice, so they also optimize your width cost.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2013-01-07T21:50:37.097" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="15002" PostTypeId="2" ParentId="14999" CreationDate="2013-01-07T22:02:13.690" Score="22" Body="&lt;p&gt;It's the base rather than the exponent, but there's an $O(\varphi^k n^2)$ FPT time bound in&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&quot;&lt;a href=&quot;http://dx.doi.org/10.1007/s00453-004-1093-2&quot;&gt;An Efficient Fixed Parameter Tractable Algorithm for 1-Sided Crossing Minimization&lt;/a&gt;&quot;, Vida Dujmovic, Sue Whitesides, &lt;em&gt;Algorithmica&lt;/em&gt; 40:15–31, 2004.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, it's a lower bound rather than an upper bound, but:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&quot;&lt;a href=&quot;http://dx.doi.org/10.1016/0020-0190%2885%2990020-1&quot;&gt;An $n^{1.618}$ lower bound on the time to simulate one queue or two pushdown stores by one tape&lt;/a&gt;&quot;, Paul M.B. Vitányi, &lt;em&gt;Inf. Proc. Lett.&lt;/em&gt; 21:147–152, 1985.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, the one I was trying to find when I ran across those other two: the ham sandwich tree, a now-obsolete data structure in computational geometry for triangular range queries, has query time $O(n^{\log_2\varphi})\approx O(n^{0.695})$. So the golden ratio is properly in the exponent, but with a log rather than as itself. The data structure is a hierarchical partition of the plane into convex cells, with the overall structure of a binary tree, where each cell and its sibling in the tree are partitioned with a ham sandwich cut. The query time is determined by the recurrence $Q(n)=Q(\frac{n}{2})+Q(\frac{n}{4})+O(\log n)$, which has the above solution. It's described (with a more boring name) by&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&quot;&lt;a href=&quot;http://dx.doi.org/10.1016/0020-0190%2886%2990088-8&quot;&gt;Halfplanar range search in linear space and $O(n^{0.695})$ query time&lt;/a&gt;&quot;, Herbert Edelsbrunner, Emo Welzl, &lt;em&gt;Inf. Proc. Lett.&lt;/em&gt; 23:289–293, 1986.&lt;/p&gt;&#xA;" OwnerUserId="95" LastEditorUserId="95" LastEditDate="2013-01-09T00:01:06.640" LastActivityDate="2013-01-09T00:01:06.640" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="15003" PostTypeId="1" CreationDate="2013-01-07T22:53:58.480" Score="-1" ViewCount="426" Body="&lt;p&gt;I'm reading CLRS's (Cormen et.a al) &lt;em&gt;Introduction to Algorithm&lt;/em&gt;, and arrived at the maximum flow section. It shows that Edmonds-Karp algorithm runs in $O(E^2V)$ time by showing that:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) If we let $\delta_f(s, u)$ be the shortest distance from source $s$ to vertex $u$ in the residual graph after flow $f$ is picked, then CLRS shows that $\delta_f(s, u)$ does not decrease as $f$ gets augmented, for a fixed $u$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) Let $c_f(e)$ be the capacity of edge $e$, and $c_f(p)$ the capacity of a path $p$ (the minimum of all $c_f$ on the edges in the path $p$) in the residual graph after flow $f$. If we say that an edge $(u, v)$ in a residual network $G_f$ is &lt;em&gt;critical&lt;/em&gt; on an augmenting path $p$ if $c_f(p) = c_f(u, v)$, then CLRS shows that each edge can't become critical more than $|V|/2$ times, and therefore, there can be at most $|E||V|$ augmenting flows, if we sum up this bound over all of the potential $2|E|$ edges in residual graphs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In particular, CLRS's proof of the 2nd point goes as follows:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $(u, v)$ becomes critical at $f$, then $\delta_f(s, v) = \delta_f(s, u) + 1$, because we have picked the shortest path from $s$ to $t$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The next time it becomes critical, there must have been some flow $f'$ that ran through $(v, u)$. Then $\delta_{f'}(s, u) = \delta_{f'}(s, v) + 1$. This must mean $\delta_{f'}(s, u) \ge \delta_f(s, u) + 2$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hence every time $(u, v)$ becomes critical after the 1st, $\delta_f(s, u)$ must have increased by 2. As this minimal distance can't exceed $|V|$, each edge can become critical at most $|V|/2$ times. Therefore, there can at most be $O(EV)$ augmenting paths and hence the number of augmentations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So my comment now comes in as a possible improvement over this proof. Why can't we say the following:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we augment the edge $(u, v)$ $k$ times,then $\delta_f(s, u)$ increases at least by $2(k-1)$. Now instead of looking at edges, we look at vertices and their degrees. We just need to guarantee the edges going out from any particular vertex $v$ become critical infrequently enough so that $\delta(v)$ doesn't exceed $|V|$ (from now on for convenience I will shorten $\delta_f(s, v)$ to $\delta(v)$). I claim that for any vertex $v$, $\sum_{(v,u)\in E \text{ or } (u, v)\in E} \text{number of times $(v, u)$ becomes critical}$ is at most $indegree(v)+outdegree(v)+|V|/2$. (we are looking at &quot;reverse&quot; edges here too because they may appear in the residual graph)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Indeed, the first time any edge becomes critical is &quot;free&quot;: it doesn't bump up $\delta(v)$. But for every time after that $\delta(v)$ goes up by 2. So we can get every edge going out from $v$ to become critical once (this is the $indegree(v)+outdegree(v)$ term) and then all other times are bounded by $|V|/2$ for the same reason CLRS writes. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now if we sum up this bound for all vertices, we get&#xA;$$\sum_v indegree(v)+outdegree(v)+|V|/2 = 2|E| + |V|^2/2 = O(V^2)$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This bound is better than the $O(EV)$ bound given by CLRS. Combined with the $O(E+V)=O(E)$ bound for BFS, we find Edmonds-Karp is actually $O(EV^2)$ instead of $O(E^2V)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm suspicious that I'm missing something, since every where I looked, the bound given for Edmonds-Karp is $O(E^2V)$. So please nitpick away and see where I reasoned incorrectly.&lt;/p&gt;&#xA;" OwnerUserId="13257" LastActivityDate="2013-01-08T00:24:09.033" Title="The existing bound on Edmonds-Karp doesn't seem to be tight" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;max-flow&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="15004" PostTypeId="2" ParentId="15003" CreationDate="2013-01-08T00:16:36.510" Score="4" Body="&lt;p&gt;In their solution they prove that an edge can be critical at most V/2 times, and that means that there are at most EV augmenting paths because every augmenting path contains at least one critical edge, meaning that the number of augmenting paths is less than the number of critical edges.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You have proven that the sum of the number of times an edge containing vertex v, for all vertices v is at most V^2, but that does not imply that the number of augmenting paths is at most V^2.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;you want to exploit the fact that not only that every edge is critical at most V/2 times, but all the edges leaving a certain vertex together are critical at most V/2 times, which is useless in the case when every out degree is 1&lt;/p&gt;&#xA;" OwnerUserId="13259" LastEditorUserId="13259" LastEditDate="2013-01-08T00:24:09.033" LastActivityDate="2013-01-08T00:24:09.033" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="15005" PostTypeId="1" AcceptedAnswerId="15011" CreationDate="2013-01-08T02:23:38.780" Score="4" ViewCount="2335" Body="&lt;p&gt;I saw that there is a post with a &lt;a href=&quot;https://cstheory.stackexchange.com/questions/7900/list-of-tcs-conferences-and-workshops&quot;&gt;List of TCS conferences&lt;/a&gt;. However, this does not list important dates like conference date, submission deadline etc. Is there any post or website which maintains these information and also keeps it up-to-date?&lt;/p&gt;&#xA;" OwnerUserId="9569" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2017-03-15T16:30:32.703" Title="List of TCS conferences along with important dates" Tags="&lt;soft-question&gt;&lt;big-list&gt;&lt;conferences&gt;" AnswerCount="2" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="15007" PostTypeId="2" ParentId="14982" CreationDate="2013-01-08T05:59:21.620" Score="3" Body="&lt;p&gt;In a related not-quite answer to @jagadish's, after being defined, &lt;a href=&quot;http://en.wikipedia.org/wiki/Costas_array&quot; rel=&quot;nofollow&quot;&gt;Costas arrays&lt;/a&gt; were quickly found for very small numbers, and were later found for sizes $p-1$, where $p$ is prime.  However, it is open whether they exist for all $n$ and computer searches are making people believe that they do not exist for $n=32$.&lt;/p&gt;&#xA;" OwnerUserId="123" LastActivityDate="2013-01-08T05:59:21.620" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="15009" PostTypeId="1" AcceptedAnswerId="15068" CreationDate="2013-01-08T08:22:01.740" Score="15" ViewCount="474" Body="&lt;p&gt;If you look at the recursive combinators in the untyped lambda-calculus, such as the Y combinator or the omega combinator:&#xA;$$&#xA;\begin{array}{lcl}&#xA;\omega &amp;amp; = &amp;amp; (\lambda x.\,x\;x)\;(\lambda x.\,x\;x)\\ &#xA;Y &amp;amp; = &amp;amp; \lambda f.\,(\lambda x.\,f\;(x\;x))\; (\lambda x.\,f\;(x\;x)) \\&#xA;\end{array}&#xA;$$&#xA;It's clear that all of these combinators end up duplicating a variable somewhere in their definition. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Furthermore, all of these combinators are typeable in the simply-typed lambda calculus, if you extend it with recursive types $\mu\alpha.\,A(\alpha)$, where $\alpha$ is allowed to occur negatively in the recursive type. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, what happens if you add full (negative-occurence) recursive types to the exponential-free fragment of linear logic (i.e., MALL)? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then you don't have an exponential $!A$ to give you contraction. You can encode the &lt;em&gt;type&lt;/em&gt; of exponentials using something like &#xA;$$&#xA;!A \triangleq \mu\alpha.\;I \;\&amp;amp;\; A \;\&amp;amp;\; (\alpha \otimes \alpha)&#xA;$$&#xA;but I don't see how to define the introduction rule for it, since that seems to require a fixed point combinator to define. And I was trying to define exponentials, to get contraction, to get a fixed-point combinator!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is it the case that MALL plus unrestricted recursive types is still normalizing‽&lt;/p&gt;&#xA;" OwnerUserId="657" LastActivityDate="2013-01-13T16:47:26.463" Title="Is MALL + unrestricted recursive types Turing-complete?" Tags="&lt;lo.logic&gt;&lt;pl.programming-languages&gt;&lt;linear-logic&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="15010" PostTypeId="2" ParentId="14999" CreationDate="2013-01-08T08:47:10.293" Score="15" Body="&lt;p&gt;Also in the base rather than the exponent: the &lt;a href=&quot;http://dx.doi.org/10.1016/0166-218X%2885%2990050-2&quot;&gt;Monien-Speckenmeyer algorithm&lt;/a&gt; for 3-SAT has a running time of $\varphi^n\cdot O(n)$. That was the first non-trivial upper bound for 3-SAT. &lt;/p&gt;&#xA;" OwnerUserId="6579" LastActivityDate="2013-01-08T08:47:10.293" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="15011" PostTypeId="2" ParentId="15005" CreationDate="2013-01-08T09:21:05.963" Score="9" Body="&lt;p&gt;I'm maintaining such a list here:&#xA;&lt;a href=&quot;https://sites.google.com/site/yixincaoresearch/conferences&quot;&gt;https://sites.google.com/site/yixincaoresearch/conferences&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks due to  Anupam Gupta and Iftah Gamzu.&lt;/p&gt;&#xA;" OwnerUserId="7059" LastActivityDate="2013-01-08T09:21:05.963" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="15012" PostTypeId="1" AcceptedAnswerId="15028" CreationDate="2013-01-08T12:35:51.600" Score="4" ViewCount="282" Body="&lt;p&gt;Let $G=(V,E)$ be a graph. Let $\Delta_k$ be the quantity defined in &lt;a href=&quot;https://cstheory.stackexchange.com/questions/12475/the-odd-even-delta-problem&quot;&gt;this question&lt;/a&gt;. Let $\mathcal{C}$ be the set of vertex covers of $G$. The following holds:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;|\mathcal{C}| = 2^{|V|} - \sum_{k = 2}^{|V|} \Delta_k \cdot 2^{|V|-k}&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let us focus on $\Delta_{|V|}$.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;h2&gt;Question&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;How hard is to compute $\Delta_{|V|}$?&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;h2&gt;Motivation&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;The quantity&#xA;$$\Delta_{|V|}\ \ mod\ \ 2$$&#xA;is the parity of the number of vertex covers of $G$. If such quantity is $0$ then $|\mathcal{C}|$ is even, otherwise $|\mathcal{C}|$ is odd.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Therefore (forgive me if I'm wrong):&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Being able to compute $\Delta_{|V|}$ in polynomial time implies $\mathbin{\oplus}$P = P.&lt;/li&gt;&#xA;&lt;li&gt;$\Delta_{|V|}$ being $\#$P-hard to compute implies $\mathbin{\oplus}$P = PP. &lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;It seems that in both cases we would get an important result. Clearly there is a third option: computing $\Delta_{|V|}$ may be of intermediate counting complexity, strictly harder than FP but strictly easier than $\#$P-hard.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Update 08/01/2013 21:50&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;After reading again and more carefully T. Williams' answer to &lt;a href=&quot;https://cstheory.stackexchange.com/questions/12475/the-odd-even-delta-problem&quot;&gt;this question&lt;/a&gt;, my understanding is that such answer precisely proves that computing $\Delta_{|V|}$ is $\#$P-hard (because the constraint $[0,1,1,1]$ forces every node of $G$ to be present).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, my second conclusion above does not hold: to conclude $\mathbin{\oplus}$P = PP, computing $\Delta_{|V|}\ \ mod\ \ 2$ should be $\#$P-hard. But the $\#$P-hardness of computing $\Delta_{|V|}$ is not known to imply that computing $\Delta_{|V|}\ \ mod\ \ 2$ is $\#$P-hard as well.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Only a more vague and harmless conclusion can be drawn, more or less along these lines: something which appear to be false from a &lt;em&gt;practical&lt;/em&gt; point of view (i.e. Graph Isomorphism $\not\in$ P) would imply something already formally known to be true (i.e. computing $\Delta_{|V|}$ is $\#$P-hard).&lt;/p&gt;&#xA;" OwnerUserId="947" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2013-01-15T18:09:26.167" Title="How hard is to compute $\Delta_{|V|}$?" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;counting-complexity&gt;&lt;graph-isomorphism&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="15013" PostTypeId="1" AcceptedAnswerId="15014" CreationDate="2013-01-08T12:46:26.133" Score="7" ViewCount="812" Body="&lt;p&gt;I've found this &lt;a href=&quot;https://www-ps.informatik.uni-kiel.de/%7Esad/FreeTheorems/cgi-bin/free-theorems-webui.cgi&quot; rel=&quot;nofollow noreferrer&quot;&gt;webapp&lt;/a&gt; which lets you generate a free theorem for a given type.&lt;/p&gt;&#xA;&lt;p&gt;The generated theorems quantify over types and relations on these types. These theorems (formulas) are theorems of which theory/logical system? How does this system relate to the equational theory of the language?&lt;/p&gt;&#xA;" OwnerUserId="13264" LastEditorUserId="43489" LastEditDate="2021-03-12T09:13:51.557" LastActivityDate="2021-03-12T09:13:51.557" Title="Free theorems, where?" Tags="&lt;lo.logic&gt;&lt;functional-programming&gt;&lt;type-systems&gt;&lt;parametricity&gt;&lt;logical-relations&gt;" AnswerCount="2" CommentCount="3" FavoriteCount="3" ContentLicense="CC BY-SA 4.0" />
  <row Id="15014" PostTypeId="2" ParentId="15013" CreationDate="2013-01-08T13:39:52.430" Score="14" Body="&lt;p&gt;The formulas are formulas of Abadi-Plotkin logic, which they describe in their paper &lt;a href=&quot;http://homepages.inf.ed.ac.uk/gdp/publications/Par_Poly.pdf&quot;&gt;&lt;em&gt;A Logic for Parametric Polymorphism&lt;/em&gt;&lt;/a&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The semantics of System F that Abadi and Plotkin used to interpret their logic can be found in Bainbridge, Freyd, Scedrov, Scott's paper &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/0304397590901517&quot;&gt;&lt;em&gt;Functorial Polymorphism&lt;/em&gt;&lt;/a&gt;. &lt;/p&gt;&#xA;" OwnerUserId="657" LastActivityDate="2013-01-08T13:39:52.430" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="15015" PostTypeId="2" ParentId="14533" CreationDate="2013-01-08T14:07:54.510" Score="2" Body="&lt;p&gt;Consider the following lazy functional program:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;doArith :: Int -&amp;gt; Int&#xA;doArith n = if n &amp;lt; 0 then 1 + 2 else 3 - 4&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;A compiler can figure out that it doesn't need to build a thunk for &lt;code&gt;1 + 2&lt;/code&gt; or &lt;code&gt;3 - 4&lt;/code&gt; in the &lt;code&gt;if&lt;/code&gt; expression. This is because that an &lt;code&gt;if&lt;/code&gt; expression is strict in the branch position, since either &lt;code&gt;1 + 2&lt;/code&gt; or &lt;code&gt;3 - 4&lt;/code&gt; will surely be evaluated after evaluating &lt;code&gt;n &amp;lt; 0&lt;/code&gt;. In this way, the compiler can generate better code while still preserving the lazy semantics.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, the following program shows some problem:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;getFunction :: Int -&amp;gt; Int -&amp;gt; Int&#xA;getFunction n = if n &amp;lt; 0 then (+) 1 else (-) 2&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Here, the compiler will still generate strict code that enters either &lt;code&gt;(+)&lt;/code&gt; or &lt;code&gt;(-)&lt;/code&gt; with only one argument. But &lt;code&gt;(+)&lt;/code&gt; or &lt;code&gt;(-)&lt;/code&gt; require two arguments... So here comes the PAp object.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For further reading, I would suggest Simon Peyton Jones's &lt;a href=&quot;http://research.microsoft.com/en-us/um/people/simonpj/papers/pj-lester-book/&quot; rel=&quot;nofollow&quot;&gt;implementing functional languages: a tutorial&lt;/a&gt;. It illustrates, step by step, three ways to implement lazy functional programming language.&lt;/p&gt;&#xA;" OwnerUserId="13265" LastActivityDate="2013-01-08T14:07:54.510" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="15016" PostTypeId="1" AcceptedAnswerId="15040" CreationDate="2013-01-08T15:43:38.140" Score="9" ViewCount="607" Body="&lt;p&gt;I ran into this matching problem for which I am unable to write down a polynomial time algorithm. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $P, Q$ be complete weighted graphs with vertex sets $P_V$ and $Q_V$, respectively, where $|P_V| = |Q_V|=n$. Also, let $w_P$ and $w_Q$ be the weight functions on the edges of $P$ and $Q$, respectively.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For a bijection $f: P_V \to Q_V$ we modify $Q$ in the following fashion: If $f(p) = q$ and $f(p^\prime) = q^\prime$ with $w_P(p, p^\prime) &amp;gt; w_Q(q, q^\prime)$ then set $w_Q(q, q^\prime) = w_P(p, p^\prime)$. Denote this modified graph by $Q_f$ and let $W(Q_f)$ be the sum of weights of the minimum spanning tree of $Q_f$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Problem:&lt;/strong&gt; Minimize $W(Q_f)$ over all bijections $f: P_V \to Q_V$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;How hard is this problem? If &quot;hard&quot;: what about approximation algorithms?&lt;/p&gt;&#xA;" OwnerUserId="13266" LastEditorUserId="109" LastEditDate="2013-01-11T06:20:16.177" LastActivityDate="2013-01-11T06:20:16.177" Title="Minimum spanning tree over all vertex matchings" Tags="&lt;graph-theory&gt;&lt;optimization&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="15018" PostTypeId="2" ParentId="14999" CreationDate="2013-01-08T16:46:12.333" Score="18" Body="&lt;p&gt;(from my comment above)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.41.6228&amp;amp;rep=rep1&amp;amp;type=ps&quot;&gt;Fortnow and Melkebeek&lt;/a&gt; time/space lower-bound for SAT solvability ($n^{\phi - \epsilon}$ time and $n^{o(1)}$ space) contained the golden ratio in the exponent; but it has been &lt;a href=&quot;http://www.cs.cmu.edu/~ryanw/ccc05.pdf&quot;&gt;improved later by Ryan Williams&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="3247" LastActivityDate="2013-01-08T16:46:12.333" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="15019" PostTypeId="1" CreationDate="2013-01-08T18:07:08.957" Score="13" ViewCount="885" Body="&lt;p&gt;We say that a function &lt;span class=&quot;math-container&quot;&gt;$f:\mathbb{N}\rightarrow\mathbb{N}$&lt;/span&gt; is &lt;em&gt;time-constructible&lt;/em&gt;, if there exists a deterministic multi-tape Turing machine &lt;span class=&quot;math-container&quot;&gt;$M$&lt;/span&gt; that on all inputs of length &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt; makes at most &lt;span class=&quot;math-container&quot;&gt;$f(n)$&lt;/span&gt; steps and for each &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt; there exists some input of length &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt; on which &lt;span class=&quot;math-container&quot;&gt;$M$&lt;/span&gt; makes exacltly &lt;span class=&quot;math-container&quot;&gt;$f(n)$&lt;/span&gt; steps.&lt;/p&gt;&#xA;&lt;p&gt;We say that a function &lt;span class=&quot;math-container&quot;&gt;$f:\mathbb{N}\rightarrow\mathbb{N}$&lt;/span&gt; is &lt;em&gt;fully time-constructible&lt;/em&gt;, if there exists a deterministic multi-tape Turing machine &lt;span class=&quot;math-container&quot;&gt;$M$&lt;/span&gt; that on all inputs of length &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt; makes exactly &lt;span class=&quot;math-container&quot;&gt;$f(n)$&lt;/span&gt; steps.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Q1: Does there exist a function which is time-construcible and not fully time-constructible?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;The answer is yes (see &lt;a href=&quot;https://cstheory.stackexchange.com/questions/15019/equivalent-definitions-of-time-constructibility/16085#16085&quot;&gt;this answer&lt;/a&gt;), if &lt;span class=&quot;math-container&quot;&gt;$EXP-TIME \neq NEXP-TIME$&lt;/span&gt;. Can the condition for &amp;quot;yes&amp;quot; be strengthened to &lt;span class=&quot;math-container&quot;&gt;$P\neq NP$&lt;/span&gt;? Can &amp;quot;yes&amp;quot; be proven?&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Q2: Does the class of (fully) time-constuctible functions changes if we allow only 2-tape Turing machines in the definition?&lt;/p&gt;&#xA;&lt;p&gt;Q3: What are the &amp;quot;provable&amp;quot; reasons for believing that all nice functions are fully time-constructible?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;The paper&lt;br /&gt;&#xA;&lt;em&gt;Kojiro Kobayashi: On Proving Time Constructibility of Functions. Theor. Comput. Sci. 35: 215-225 (1985)&lt;/em&gt;&lt;br /&gt;&#xA;partially answers Q3. The partial summary and upgrade of it is in &lt;a href=&quot;https://cstheory.stackexchange.com/questions/15019/equivalent-definitions-of-time-constructibility/16085#16085&quot;&gt;this answer&lt;/a&gt;. I take Q3 as answered.&lt;/p&gt;&#xA;&lt;p&gt;Historically, the notion of real-time countable function was used instead of (fully) time-constructible. See &lt;a href=&quot;https://cstheory.stackexchange.com/questions/16101/real-time-countable-vs-fully-time-constructible&quot;&gt;this question&lt;/a&gt; for more.&lt;/p&gt;&#xA;" OwnerUserId="7289" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2013-01-20T20:54:46.050" Title="Equivalent definitions of time constructibility" Tags="&lt;cc.complexity-theory&gt;&lt;time-complexity&gt;&lt;terminology&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="15020" PostTypeId="1" CreationDate="2013-01-08T18:55:09.357" Score="5" ViewCount="257" Body="&lt;p&gt;There is a paper on &lt;a href=&quot;http://ropas.snu.ac.kr/~wclee/papers/pldi12a.pdf&quot; rel=&quot;noreferrer&quot;&gt;The Implicit Calculus&lt;/a&gt; as a generalization of type classes. Coq's canonical structures are also a generalization of type classes. The paper does not mention canonical structures however. The approaches seem quite similar. What are the commonalities and differences of these two approaches to generalize type classes?&lt;/p&gt;&#xA;" OwnerUserId="7944" LastActivityDate="2013-01-08T18:55:09.357" Title="Commonalities and differences between canonical structures and the implicit calculus" Tags="&lt;pl.programming-languages&gt;&lt;type-theory&gt;&lt;type-systems&gt;" AnswerCount="0" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="15021" PostTypeId="2" ParentId="6995" CreationDate="2013-01-08T20:19:10.693" Score="6" Body="&lt;p&gt;I now realize that a lower bound has indeed been established by Anthony and Bartlett (see the presentation &lt;a href=&quot;https://rads.stackoverflow.com/amzn/click/026201825X&quot; rel=&quot;nofollow noreferrer&quot;&gt;here&lt;/a&gt;). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit 24-Sep-2018. This question has kept me occupied all of these years, and recently, I. Pinelis and I have obtained the exact optimal constant in the agnostic PAC lower bound &lt;a href=&quot;https://arxiv.org/abs/1606.08920&quot; rel=&quot;nofollow noreferrer&quot;&gt;to appear in Ann. Stat&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="1746" LastEditorUserId="1746" LastEditDate="2018-10-24T19:35:44.773" LastActivityDate="2018-10-24T19:35:44.773" CommentCount="3" ContentLicense="CC BY-SA 4.0" />
  <row Id="15023" PostTypeId="2" ParentId="14991" CreationDate="2013-01-09T02:33:07.900" Score="3" Body="&lt;p&gt;If you insist that the edges in the complex merge equation don't appear twice (eg. that the &lt;code&gt;+&lt;/code&gt; you use is actually a disjunctive union), and you only subtract sets that are superset of one another (*), I think the assertion you want to prove (4) is actually false. Imagine RTG with 5 vertices and 6 edges:&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;V = { 0, a, b, c, d }&#xA;E = { (0,a), (0,b), (a,c), (a,d), (b,c), (b,d) }&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;now, if &lt;code&gt;To = c&lt;/code&gt; and &lt;code&gt;F = d&lt;/code&gt;: &lt;code&gt;C(c)&lt;/code&gt; contains already all the edges except &lt;code&gt;(b,d)&lt;/code&gt; and &lt;code&gt;(c,d)&lt;/code&gt;, So &lt;code&gt;Sum (Fi-Bi)&lt;/code&gt; has to be exactly those edges. Since these edges are only contained in &lt;code&gt;C(d)&lt;/code&gt;, they must be (not necessarily both) contained in summand &lt;code&gt;d-B&lt;/code&gt; for some &lt;code&gt;B&lt;/code&gt;. But that is not possible, because whatever &lt;code&gt;B&lt;/code&gt; we choose, we add also edges that are already in &lt;code&gt;C(To)&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;p&gt;(*) otherwise the assertion (2) is actually false: &lt;code&gt;Result = To + (From - To)&lt;/code&gt; satisfies the simple merge equation for all &lt;code&gt;From&lt;/code&gt; and &lt;code&gt;To&lt;/code&gt; (even if it looks bizarre).&lt;/p&gt;&#xA;&lt;p&gt;Long story short: You gave inadequate or incomplete definitions.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Q: Why do we have to state definitions rigorously if the proofs are usually trivial if the definitions are right?&lt;/p&gt;&#xA;&lt;p&gt;A: The definitions are almost always wrong.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="6586" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2013-01-09T02:33:07.900" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="15024" PostTypeId="2" ParentId="14990" CreationDate="2013-01-09T05:11:13.147" Score="1" Body="&lt;p&gt;Too short for a comment... The following is intuitive bla bla, and feel free not buy it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;That seems extremely unlikely - assuming the points are uniformly distributed, the number of neighbours of the cell of $q$ is going to be $2^d$. Here is maybe a more formal argument. Pick a set of points on the unit hypersphere such that angle between any two points is at least, I dont know, 80 degrees. We know, that one can pick an exponential number of such points on the sphere without too much effort if the dimension is sufficiently large. Now, intuitively, for any subset of half the points, the Voronoi cell of the center of the sphere should have almost double the volume when compared to the cell volume with all the points. This inituitively implies you have to inspect all the points to get a good volume estimate. Which seems to imply, again intuitively, that sampling uniformly is going to be impossible, since the problems seems to be polynomially equivalent...&lt;/p&gt;&#xA;" OwnerUserId="9594" LastActivityDate="2013-01-09T05:11:13.147" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="15025" PostTypeId="1" CreationDate="2013-01-09T06:40:43.000" Score="39" ViewCount="2615" Body="&lt;p&gt;It seems that Geometric Complexity Theory requires much knowledge of pure maths such as algebraic geometry, representation theory. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;While I am a CS student and do NOT have classes of very abstract and pure mathematics, I am interested in this program.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a list of &quot;minimum knowledge&quot; for learning this theory ?   &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This list includes lecture notes of CS or math departments, surveys of any journal or conferences, and text books of pure math.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[&lt;strong&gt;EDIT: Added later&lt;/strong&gt;] Thank you for your comments.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;General theory of computing: I read Sipser's book with the title &quot;Introduction to the Theory of Computation&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Complexity Theory :In particular, I am interested in concrete models for lower bounds of complexity. Thus I read the part of the &quot;concrete lower bounds&quot; in Arora-Barak's text book. I also have basic knowlede in the several chapers of the communication complexity book written by Nisan.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Basic Mathematics : I have learnt about proof-based linear algebra such as general definition of the vector space etc and precicely argument of calculas based on epsilon-delta argument. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Algebra: I have learned about definition and examples of group, ring, and field. I had a class for cs students, and have not learned about general thoery of this algebraic systems. &lt;/p&gt;&#xA;" OwnerUserId="13271" LastEditorUserId="4155" LastEditDate="2013-01-12T16:31:29.287" LastActivityDate="2013-10-23T19:38:47.540" Title="Prerequisite for learning GCT" Tags="&lt;reference-request&gt;&lt;big-list&gt;&lt;survey&gt;&lt;gct&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="25" ContentLicense="CC BY-SA 3.0" />
  <row Id="15028" PostTypeId="2" ParentId="15012" CreationDate="2013-01-09T15:20:46.617" Score="3" Body="&lt;p&gt;As the OP pointed out in an update above, the second question about computing $\Delta_{|V|}$ is answered in &lt;a href=&quot;https://cstheory.stackexchange.com/questions/12475/the-odd-even-delta-problem/12476#12476&quot;&gt;this question&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The first question is about computing the parity of the number of vertex covers. This problem is $\bigoplus$P-hard even for planar 3-regular graphs.  See Section 4.1 of &lt;a href=&quot;http://pages.cs.wisc.edu/~hguo/Papers/ParityHP.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;this paper&lt;/a&gt; (particularly Corollary 4.2).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First, the notation for the corresponding Holant problem is Pl-$\bigoplus$Holant$([0,1,1]|[1,0,0,1])$.  Since there is a 1-to-1 correspondence between vertex covers and independent sets, sometimes people also refer to the Holant expression for independent set (in this case, $\bigoplus$Holant$([1,1,0]|[1,0,0,1])$) as though it were the vertex cover problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Second, I don't know why they called this problem $\bigoplus$3/2-Bip-VC (that is, why &quot;3/2-Bip&quot;).  As I said above, this Holant expression is for the counting of vertex covers (equivalently, independent sets) in 3-regular graphs.&lt;/p&gt;&#xA;" OwnerUserId="3964" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2013-01-09T15:20:46.617" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="15037" PostTypeId="2" ParentId="15025" CreationDate="2013-01-10T05:28:37.920" Score="46" Body="&lt;p&gt;&lt;strong&gt;The short answer&lt;/strong&gt;: the really minimum knowledge of math to understand the first half of the plan of GCT, once you've seen a little of groups, rings, and fields, is basically laid out in Chapter 3 of &lt;a href=&quot;http://www.cs.toronto.edu/~jgrochow/grochow-thesis.pdf&quot; rel=&quot;noreferrer&quot;&gt;my thesis&lt;/a&gt; (shameless self plug). That chapter is, however, incomplete, in that I don't get to the representation theory part of things. The representation theory is crucial for the second half of the plan (which is why I'm working on extending that chapter to include it).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you really want to get into GCT, &lt;a href=&quot;http://www.ams.org/mathscinet-getitem?mr=2522486&quot; rel=&quot;noreferrer&quot;&gt;Symmetry, Representations, and Invariants by Goodman and Wallach&lt;/a&gt; and &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/082475896X&quot; rel=&quot;noreferrer&quot;&gt;Actions and Invariants of Algebraic Groups by W. Ferrers Santos&lt;/a&gt; are both relatively self-contained and have lots of good information that is pertinent to GCT. I'm not sure if they're the best sources to learn from, as I only learned about them after I had learned much of this material, but they are good in terms of the ratio of what they cover to what's relevant to GCT. Fulton and Harris is great for representation theory and lots of the examples/exercises in the book are relevant to GCT.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;The longer answer&lt;/strong&gt;: it really depends on what/how much you want to learn about GCT, as Vijay pointed out. The topics below are just what I think is the &lt;em&gt;background&lt;/em&gt; needed, since that was the question. I'm not sure this is a complete list - I would recommend trying to read some of the papers on GCT, and when you get lost go look for background material. As you're learning the background material, every so often come back to the GCT papers and see if you can follow further.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Depending on what you want to learn, I would actually disagree with Zeyu that you should try some graduate commutative algebra first, though at some point in learning GCT this will become necessary.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;If you want to understand, for example, Mulmuley's recent FOCS paper&lt;/strong&gt;, you'll want to understand:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;the hardness vs. randomness principle (see &lt;a href=&quot;http://www.cs.sfu.ca/~kabanets/Research/poly.html&quot; rel=&quot;noreferrer&quot;&gt;Impagliazzo--Kabanets&lt;/a&gt;, and also perhaps &lt;a href=&quot;http://www.cs.umd.edu/~gasarch/hardrand/hardrand.html&quot; rel=&quot;noreferrer&quot;&gt;Bill Gasarch's list of papers on hardness v randomness&lt;/a&gt;) &lt;/li&gt;&#xA;&lt;li&gt;basic algebraic geometry up to Hilbert's Nullstellensatz and Noether's Normalization Lemma. These can be found in any basic textbook on algebraic geometry and probably in most lecture notes on it.&lt;/li&gt;&#xA;&lt;li&gt;some classical invariant theory (you don't really need geoemtric invariant theory, schemes and the Mumford-Fogarty-Kirwan book for this paper). &lt;a href=&quot;http://www.ams.org/mathscinet-getitem?mr=2667486&quot; rel=&quot;noreferrer&quot;&gt;Sturmfels' book Algorithms in Invariant Theory&lt;/a&gt; comes to mind.&lt;/li&gt;&#xA;&lt;li&gt;For certain results in the paper, but by no means for the paper in general, you might want some of (and these references can also be found in the paper): representation theory of $SL_n$ as in &lt;a href=&quot;http://www.ams.org/mathscinet-getitem?mr=1153249&quot; rel=&quot;noreferrer&quot;&gt;Fulton and Harris&lt;/a&gt;,  results on matrix invariants [Artin, Procesi, Razymslov], ...&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;If you want to understand the general outline of the GCT approach but in some mathematical detail&lt;/strong&gt;, I'd suggest:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;The permanent versus determinant problem. #P-completeness of permanent and GapL-completeness of determinant. Agrawal has a &lt;a href=&quot;http://www.cse.iitk.ac.in/users/manindra/survey/Determinant.pdf&quot; rel=&quot;noreferrer&quot;&gt;good survey&lt;/a&gt; (only very slightly outdated)  on this, and the proofs of completeness can be found in &lt;a href=&quot;http://www.ams.org/mathscinet-getitem?mr=1771845&quot; rel=&quot;noreferrer&quot;&gt;Burgisser's book Completeness and Reductions in Algebraic Complexity Theory&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Groups and group actions (algebraic groups and algebraic group actions are helpful, but not necessary at this level). You should understand the Orbit-Stabilizer Theorem.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Affine algebraic geometry through Hilbert's Nullstellensatz. Basically you just need to understand the correspondence between affine algebraic varieties and their coordinate rings.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Basic representation theory of $GL_n$ as in &lt;a href=&quot;http://www.ams.org/mathscinet-getitem?mr=1153249&quot; rel=&quot;noreferrer&quot;&gt;Fulton and Harris&lt;/a&gt;. Aside from basic definitions, you need to know complete reducibility of these representations, and the fact that representations of $GL_n$ are classified by partitions, but you don't necessarily need to know the proof/constructions of the latter.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;If you want to understand deeply what's going on&lt;/strong&gt; (and I'm not sure I can claim to be there yet, but I think I know what I need to know to get there), you should probably also understand:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;The structure of reductive algebraic groups and orbit closures in their representations. I like the &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/082475896X&quot; rel=&quot;noreferrer&quot;&gt;book by W. Ferrers Santos&lt;/a&gt; for this, but also &lt;a href=&quot;http://www.ams.org/mathscinet-getitem?mr=1102012&quot; rel=&quot;noreferrer&quot;&gt;Linear Algebraic Groups by Borel&lt;/a&gt;, &lt;a href=&quot;http://www.ams.org/mathscinet-getitem?mr=1488158&quot; rel=&quot;noreferrer&quot;&gt;The Classical Groups by Weyl&lt;/a&gt;, and other classics.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The Luna-Vust machinery (Luna's Slice Theorem, Luna-Vust complexity)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Tannakian Duality (see the paper by &lt;a href=&quot;http://www.jmilne.org/math/xnotes/tc.html&quot; rel=&quot;noreferrer&quot;&gt;Deligne--Milne&lt;/a&gt;; this will be tough reading without some background in category theory and affine algebraic groups). This essentially says that &quot;(pro-)affine algebraic groups are determined by their representations.&quot; I don't think you need the whole paper, so much as how to recover a group from its category of representations (Cor. 3.4).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;em&gt;More representation theory&lt;/em&gt;, especially as applied to the coordinate rings of algebraic groups and their orbit closures. I &lt;em&gt;really&lt;/em&gt; like the book by &lt;a href=&quot;http://www.ams.org/mathscinet-getitem?mr=2522486&quot; rel=&quot;noreferrer&quot;&gt;Goodman and Wallach&lt;/a&gt; for this, particularly because it's basically self-contained, and it has a lot of exactly what you need to understand GCT. (Also, many of the expository/side sections and exercises in &lt;a href=&quot;http://www.ams.org/mathscinet-getitem?mr=1153249&quot; rel=&quot;noreferrer&quot;&gt;Fulton and Harris&lt;/a&gt; are right on the mark for GCT, especially those about Littlewood-Richardson and Kronecker coefficients.)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;If you want to actually work on the representation theory&lt;/strong&gt;, you probably want to understand more algebraic combinatorics / combinatorial representation theory. I don't really know all the right references for this, but certainly understanding the Littlewood-Richardson rule is a must, and &lt;a href=&quot;http://www.ams.org/mathscinet-getitem?mr=1464693&quot; rel=&quot;noreferrer&quot;&gt;Fulton's book Young Tableaux&lt;/a&gt; is good for this. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The most recent papers on this side of things that I know of are &lt;a href=&quot;http://arxiv.org/abs/1209.2018&quot; rel=&quot;noreferrer&quot;&gt;Blasiak&lt;/a&gt;, &lt;a href=&quot;http://arxiv.org/abs/1109.5996&quot; rel=&quot;noreferrer&quot;&gt;Kumar&lt;/a&gt;, and &lt;a href=&quot;http://arxiv.org/abs/1210.5579&quot; rel=&quot;noreferrer&quot;&gt;Bowman, De Visscher, and Orellana&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Depending on what direction you want to go in, you may also want to look into quantum groups, though this isn't necessarily necessary (note: these are not a special case of groups, but rather a generalization in a certain direction).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;On the more geometric side of things&lt;/strong&gt;, you'll want to look into things like differential geometry for tangent and osculating spaces, curvature, dual varieties, and the like, which are underlying the best known lower bound on perm vs. det due to &lt;a href=&quot;http://imrn.oxfordjournals.org/content/2004/79/4241.short&quot; rel=&quot;noreferrer&quot;&gt;Mignon--Ressayre&lt;/a&gt; and followed by &lt;a href=&quot;http://arxiv.org/abs/1004.4802&quot; rel=&quot;noreferrer&quot;&gt;Landsberg--Manivel--Ressayre&lt;/a&gt;. (&lt;a href=&quot;http://imrn.oxfordjournals.org/content/2004/79/4241.short&quot; rel=&quot;noreferrer&quot;&gt;Mignon--Ressayre&lt;/a&gt; can be understood without any of these things, but you can view their paper loosely as studying the curvature of certain varieties; for a less loose view, see the use of dual varieties in &lt;a href=&quot;http://arxiv.org/abs/1004.4802&quot; rel=&quot;noreferrer&quot;&gt;Landsberg--Manivel--Ressayre&lt;/a&gt;.) (See also &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=1374446&amp;amp;CFID=169751476&amp;amp;CFTOKEN=83356424&quot; rel=&quot;noreferrer&quot;&gt;Cai, Chen, and Li&lt;/a&gt;, which extends Mignon--Ressayre to all odd characteristics.) See also &lt;a href=&quot;http://arxiv.org/abs/1204.4693&quot; rel=&quot;noreferrer&quot;&gt;Landsberg and Kadish&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;If you're interested in the GCT approach to matrix multiplication&lt;/strong&gt;, it's all about tensor rank, border rank, and secant varieties. I'd suggest looking at the papers by &lt;a href=&quot;http://arxiv.org/abs/1210.8368&quot; rel=&quot;noreferrer&quot;&gt;Burgisser--Ikenmeyer&lt;/a&gt;, &lt;a href=&quot;http://arxiv.org/abs/1112.6007&quot; rel=&quot;noreferrer&quot;&gt;Landsberg and Ottaviani&lt;/a&gt;, &lt;a href=&quot;http://arxiv.org/abs/1206.1530&quot; rel=&quot;noreferrer&quot;&gt;Landsberg&lt;/a&gt;, Landsberg's &lt;a href=&quot;http://arxiv.org/abs/cs/0703059&quot; rel=&quot;noreferrer&quot;&gt;survey&lt;/a&gt; and &lt;a href=&quot;http://www.ams.org/mathscinet-getitem?mr=2865915&quot; rel=&quot;noreferrer&quot;&gt;book&lt;/a&gt;. Of course, it would also be good to know the classical stuff on matrix multiplication (both upper and lower bounds), but that's a whole separate can of worms.&lt;/p&gt;&#xA;" OwnerUserId="129" LastEditorUserId="129" LastEditDate="2013-10-23T19:38:47.540" LastActivityDate="2013-10-23T19:38:47.540" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="15038" PostTypeId="1" AcceptedAnswerId="15041" CreationDate="2013-01-10T18:15:02.450" Score="19" ViewCount="625" Body="&lt;p&gt;It is well-known that the S and K combinators are Turing Complete. Are there combinators that suffice to yield (only) the primitive recursive functions?&lt;/p&gt;&#xA;" OwnerUserId="13286" LastActivityDate="2014-07-24T19:43:54.560" Title="Combinators for the Primitive Recursive Functions" Tags="&lt;lo.logic&gt;&lt;computability&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="15039" PostTypeId="1" AcceptedAnswerId="15048" CreationDate="2013-01-10T20:17:48.237" Score="14" ViewCount="14127" Body="&lt;p&gt;Say we have a vector representation of any integer of magnitude n, V_n&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This vector is the input to a machine learning algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First question : For what type of representations is it possible to learn the primality/compositeness of n using a neural network or some other vector-to-bit ML mapping. This is purely theoretical -- the neural network could be possibly unbounded in size. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let's ignore representations that are already related to primality testing such as : the null separated list of factors of n, or the existence of a compositeness witness such as in Miller Rabin. Let's instead focus on representations in different radices, or representations as coefficient vectors of (possibly multivariate) polynomials. Or other exotic ones as are posited.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Second question : for what, if any, types of ML algorithm will learning this be impossible regardless of the specifics of the representation vector? Again, let's leave out 'forbidden by triviality' representations of which examples are given above. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The output of the machine learning algorithm is a single bit, 0 for prime, 1 for composite.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The title of this question reflects my assessment that the consensus for question 1 is 'unknown' and the consensus for question 2 is 'probably most ML algorithms'. I'm asking this as I don't know any more than this and I am hoping someone can point the way.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The main motivation, if there is one, of this question is : is there an 'information theoretic' limit to the structure of the set of primes that can be captured in a neural network of a particular size? As I'm not expert in this kind of terminology let me rephrase this idea a few times and see if I get a Monte-Carlo approximation to the concept : what is the algorithmic complexity of the set of primes? Can the fact that the primes are Diophantine recursively enumerable (and can satisfy &lt;a href=&quot;http://op.to/primephantine+&quot; rel=&quot;noreferrer&quot;&gt;a particular large diophantine equation&lt;/a&gt;) be used to capture the same structure in a neural network with the inputs and outputs described above. &lt;/p&gt;&#xA;" OwnerUserId="7362" LastEditorUserId="7362" LastEditDate="2013-01-11T16:17:33.493" LastActivityDate="2020-01-15T00:59:07.127" Title="Why can machine learning not recognize prime numbers?" Tags="&lt;co.combinatorics&gt;&lt;machine-learning&gt;&lt;primes&gt;" AnswerCount="5" CommentCount="9" FavoriteCount="10" ContentLicense="CC BY-SA 3.0" />
  <row Id="15040" PostTypeId="2" ParentId="15016" CreationDate="2013-01-10T21:26:05.117" Score="11" Body="&lt;p&gt;(Moved from comments) Here's an idea for getting a constant factor approximation, assuming P and Q satisfy the triangle inequality. I thought it might give a 2-approximation, but all I can prove right now is an approximation ratio of 4.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(1) In the problem as stated, the weight of edge $pq$ in the combined graph (after the correspondence $p$–$p'$ and $q$–$q'$ is determined) is $\max\{P(pq),Q(p'q')\}$. Instead, let's use $P(pq)+Q(p'q')$. This loses at most a factor of two but makes the problem easier to describe: we are now trying to find a spanning tree in $P$, and an isomorphic spanning tree in $Q$, with minimum total weight. The correspondence between $P$ and $Q$ is then given by the isomorphism between these two trees.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(2) In $P$, find a minimum spanning tree, and use the path-doubling Euler tour technique to find a path with at most twice the weight. Do the same thing independently in $Q$. The result is two isomorphic trees (both paths) that are separately at most twice the weight of their graph's MSTs, and therefore at most twice the cost of the solution to the minimum isomorphic spanning tree problem, and four times the weight of the original problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(3) The original problem is NP-complete, by a reduction from Hamiltonian path. Let $P$ be defined from a graph in which you wish to test the existence of a Hamiltonian path; define $P(pq)=1$ when $pq$ is an edge in $P$ and $2$ when $pq$ is not an edge. Let $Q$ be defined in exactly the same way from a path graph. Then there is a solution of total cost $n-1$ if and only if the graph from which $P$ was defined has a Hamiltonian path. Probably this can also be used to prove inapproximability below some fixed constant.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2013-01-10T21:26:05.117" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="15041" PostTypeId="2" ParentId="15038" CreationDate="2013-01-10T21:31:37.983" Score="17" Body="&lt;p&gt;Yes, but you have to consider typed combinators. That is, you need to give $S$ and $K$ &#xA;the following type schemas:&#xA;$$&#xA;\begin{array}{lcl}&#xA;K &amp;amp; : &amp;amp; A \to B \to A \\&#xA;S &amp;amp; : &amp;amp; (A \to B \to C) \to (A \to B) \to (A \to C)&#xA;\end{array}&#xA;$$&#xA;where $A, B$, and $C$ are meta-variables which can be instantiated to any concrete type at each use. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then, you want to add the type $\mathbb{N}$ of natural numbers to the language of types, and add the following combinators: &#xA;$$&#xA;\begin{array}{lcl}&#xA;z &amp;amp; : &amp;amp; \mathbb{N} \\ &#xA;succ &amp;amp; : &amp;amp; \mathbb{N} \to \mathbb{N} \\ &#xA;iter &amp;amp; : &amp;amp; \mathbb{N} \to (\mathbb{N} \to \mathbb{N}) \to \mathbb{N} \to \mathbb{N}&#xA;\end{array}&#xA;$$ &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The equality rules for the additions are:&#xA;$$&#xA;\begin{array}{lcl}&#xA;iter\;i\;f\;z &amp;amp; = &amp;amp; i \\&#xA;iter\;i\;f\;(succ\;e) &amp;amp; = &amp;amp; f(iter\;i\;f\;e)&#xA;\end{array}&#xA;$$ &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's much easier to read the programs you write, if you just write programs in the simply-typed lambda calculus, augmented with the numerals and iteration. The system I've described is a restriction of &lt;em&gt;Goedel's T&lt;/em&gt;, the language of higher-type arithmetic. In Goedel's T, the typing for iteration is less limited:&#xA;$$&#xA;\begin{array}{lcl}&#xA;iter &amp;amp; : &amp;amp; A \to (A \to A) \to \mathbb{N} \to A&#xA;\end{array}&#xA;$$ &#xA;In T, you can instantiate $iter$ at any type, not just the type of natural numbers. This takes you past primitive recursion, and lets you define things like Ackerman's function.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT: Xoff asked how to encode the predecessor function. It follows via a standard trick. To explain, I'll use lambda-notation for this (which can be eliminated with bracket-abstraction), since that's far more readable. First, assume that we have pairs and the more general type for $\mathit{iter}$. Then, we can define:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;\begin{array}{lcl}&#xA;pred' &amp;amp; = &amp;amp; \lambda k.\;iter \;(z, z) \; (\lambda (n, n').\; (succ\;n, n))\;k\\&#xA;pred  &amp;amp; = &amp;amp; \lambda k.\;snd(pred'\;k)&#xA;\end{array}&#xA;$$ &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you just have the nat-type iterator, then you need to exploit the isomorphism that $\mathbb{N} \simeq \mathbb{N} \times \mathbb{N}$, which is annoying but poses no fundamental obstacle. &lt;/p&gt;&#xA;" OwnerUserId="657" LastEditorUserId="657" LastEditDate="2014-07-24T19:43:54.560" LastActivityDate="2014-07-24T19:43:54.560" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="15043" PostTypeId="2" ParentId="14987" CreationDate="2013-01-11T04:07:02.220" Score="7" Body="&lt;p&gt;Sorry, but there is lots of evidence that not only is this problem a pain in the univariate case, but moreover that having few dimensions actually makes things worse.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For evidence of the difficulty, please see Proposition 15 in Section 6 (&quot;Exponential dependence on $k$ is inevitable&quot;) and the related Figure 1 of the following paper, the follow-up to Ankur Moitra and Greg Valiant's original joint work with Adam Kalai:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Ankur Moitra and Greg Valiant, &lt;a href=&quot;http://arxiv.org/abs/1004.4223&quot;&gt;&quot;Settling the Polynomial Learnability of Mixtures of Gaussians&quot;&lt;/a&gt;, FOCS 2010.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Proposition 15 states that there exist two mixtures of $k^2$ Gaussians on the line whose $L^1$ distance is exponentially small in $k$.  Since the construction is careful and the distribution parameters are well-behaved (polynomially-sized), this dependence on $k$ is real, and thus any algorithm whose performance depends on statistical distance will run into trouble.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For evidence that few dimensions actually forms a bad regime, please see the following very recent work:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Daniel Hsu and Sham Kakade, &lt;a href=&quot;http://arxiv.org/abs/1206.5766&quot;&gt;&quot;Learning mixtures of spherical Gaussians: moment methods and spectral decompositions&quot;&lt;/a&gt;, ITCS 2013.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;This work presents a spectral method for recovering spherical mixtures of Gaussians.  So far, so good: univariate Gaussians are spherical.  However, this algorithm requires the $k$ individual means to span a rank-$k$ subspace (and the performance depends on the condition number of these points, meaning you can't just perturb your univariate instance in a $k$-dimensional space and then closely recover your original Gaussians).  As such, you could view their circumvention of the Moitra-Valiant lower bound as coming from an increase in dimension (and of course by maintaining the speherical nature you find from 1-d).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The above two papers have lots of excellent discussion, techniques, nice references.  This is not my field and I can only offer a very surface intuition for what is going on.  In the univariate case, things are really crowded, so the contribution of different Gaussians is confused and it's hard to disentangle them.  In the high-dimensional case, basically everything is far apart and low density; it's hard to get crowded, and easy to pick out points of high density (which now must reside near means).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I only have one other thing to point out, and that's the connection to $k$-means.  $k$-means has a DP in the 1-d case; google tells me it's from the 40s, and while I haven't seen that reference, we can cook up a DP fairly easily:  make your table have size $n\times k$, where $n$ is the number of points, and use &quot;optimal $k$-means cost using $j\leq k$ means and the first $m\leq n$ data points&quot; as your subproblem, noting that each mean owns a contiguous subset of the data.  As I tried just now to adjust this to the Gaussians case, it was interesting to see how the differences between these two scenarios became acute.  First, the hard vs. soft clustering aspect means we can't just knock out contiguous subsets and claim they are owned by some Gaussian (furthermore, for univariate Gaussians of differing variances, the regions where one or the other dominates aren't just two intervals..).  Second, we have no relationship between the variances, the univariate assumption really doesn't help us there (it would seem we need more; and of course, $k$-means is like knowing a fixed (common) variance up front).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, oh well.&lt;/p&gt;&#xA;" OwnerUserId="336" LastActivityDate="2013-01-11T04:07:02.220" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="15045" PostTypeId="2" ParentId="15039" CreationDate="2013-01-11T07:36:28.640" Score="12" Body="&lt;p&gt;The success of a learning algorithm depends critically on the representation. How do you present the input to the algorithm? In an extreme case, suppose you present the numbers as sequences of prime factors -- in this case, learning is quite trivial. In another extreme, consider representing the numbers as binary strings. All the standard learning algorithms I know would fail here. Here is one that would work: find the smallest Turing machine that accepts all the positive examples and rejects all the negative ones. [Exercise: prove that this is a universal learner.] One problem with that is that the task is not Turing-computable. To put things in perspective, can &lt;em&gt;you&lt;/em&gt; learn to recognize primality based only on the binary representation?&lt;/p&gt;&#xA;" OwnerUserId="1746" LastActivityDate="2013-01-11T07:36:28.640" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="15047" PostTypeId="1" CreationDate="2013-01-11T15:52:31.717" Score="7" ViewCount="197" Body="&lt;p&gt;In the pallet loading problem, we are asked to place a set of small identical 2-D rigid objects into a large bounding rectangle such that no two objects overlap.  This problem is a special case of the cutting stock problem and is known to be NP-complete.  It is NP-complete even for the special case in which the objects are identical squares&lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/0020019081901113&quot;&gt; [Fowler, Paterson, Tanimoto 1981]&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is pallet loading also NP-complete when the objects are non-rectangular? In particular, I am interested the case in which the objects are octagons.&lt;/p&gt;&#xA;" OwnerUserId="1040" LastEditorUserId="1542" LastEditDate="2013-01-11T23:45:05.313" LastActivityDate="2013-01-11T23:45:05.313" Title="What is the complexity of pallet loading for identical non-rectangular objects?" Tags="&lt;np-hardness&gt;&lt;packing&gt;" AnswerCount="0" CommentCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="15048" PostTypeId="2" ParentId="15039" CreationDate="2013-01-11T16:06:47.043" Score="-7" Body="&lt;p&gt;this is an old question/problem with many, many connections deep into number theory, mathematics, TCS and in particular Automated Theorem Proving.[5]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;the old, near-ancient question is, &quot;is there a formula for computing primes&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;the answer is, yes, in a sense, there are various &lt;em&gt;algorithms&lt;/em&gt; to compute it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;the Riemann zeta function can be reoriented as an &quot;algorithm&quot; to find primes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;seems possible to me that a GA, genetic-algorithm approach may succeed on this problem some day with an ingenious setup, ie GAs are the nearest known technology that have the most chance of succeeding.[6][7] its the problem of finding an algorithm from a finite set of examples, ie machine learning, which is very similar to mathematical induction. however there does not seem to be much research into application of GAs in number theory so far.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;the nearest to this in existing literature seems to be eg [8] that discusses developing the twin prime conjecture in an automated way ie &quot;automated conjecture making&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;another approach is a program that has a large set of tables of standard functions, along with some sophisticated conversion logic, to recognize standard integer sequences. this is a new function built into Mathematica called &lt;code&gt;findsequence&lt;/code&gt; [3]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;its also connected to a relatively new field called &quot;experimental mathematics&quot; [9,10] or what is also called &quot;empirical&quot; research in TCS.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;another basic point to make here is that the sequence of primes is not &quot;smooth&quot;, highly irregular, chaotic, fractal, and standard machine learning algorithms are historically based on numerical optimization and minimizing error (eg gradient descent), and do not do so well on finding exact answers to discrete problems. but again GAs can succeed and have been shown to succeed in this area/regime.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] &lt;a href=&quot;https://math.stackexchange.com/questions/1257/is-there-a-known-mathematical-equation-to-find-the-nth-prime&quot;&gt;is there a math eqn for the nth prime,&lt;/a&gt; math.se&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] &lt;a href=&quot;http://en.wikipedia.org/wiki/Formula_for_primes&quot; rel=&quot;nofollow noreferrer&quot;&gt;formula for primes&lt;/a&gt;, wikipedia&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[3] &lt;a href=&quot;http://reference.wolfram.com/mathematica/ref/FindSequenceFunction.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;wolfram findsequence function&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[4] &lt;a href=&quot;http://en.wikipedia.org/wiki/Riemann_zeta_function&quot; rel=&quot;nofollow noreferrer&quot;&gt;riemann zeta function&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[5] &lt;a href=&quot;https://cstheory.stackexchange.com/questions/11784/automated-theorem-proving-via-unsupervised-approaches&quot;&gt;top successes of automated theorem proving&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[6] &lt;a href=&quot;https://cstheory.stackexchange.com/questions/427/what-are-some-real-world-applications-for-genetic-algorithms&quot;&gt;applications of genetic algorithms in real world&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[7] &lt;a href=&quot;http://books.google.com/books/about/Applying_Genetic_Algorithms_to_Automated.html?id=5psmMwAACAAJ&quot; rel=&quot;nofollow noreferrer&quot;&gt;applying genetic algorithms to automated thm proving&lt;/a&gt; by Wang&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[8] &lt;a href=&quot;http://www.doc.ic.ac.uk/~sgc/papers/colton_jsc05.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Automated Conjecture Making in Number&#xA;Theory using HR, Otter and Maple&lt;/a&gt; colton&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[9] &lt;a href=&quot;https://cstheory.stackexchange.com/questions/14605/are-there-applications-of-experimental-mathematics-in-tcs&quot;&gt;Are there applications of experimental mathematics in TCS?&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[10] &lt;a href=&quot;https://cstheory.stackexchange.com/questions/822/a-reading-list-on-experimental-algorithmics&quot;&gt;A reading list on experimental algorithmics&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:30.623" LastActivityDate="2013-01-11T16:33:03.997" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="15050" PostTypeId="2" ParentId="15013" CreationDate="2013-01-11T20:09:06.397" Score="7" Body="&lt;p&gt;I'm quite fond of Wadler's paper &lt;a href=&quot;http://homepages.inf.ed.ac.uk/wadler/topics/parametricity.html&quot; rel=&quot;nofollow&quot;&gt;The Girard-Reynolds Isomorphism&lt;/a&gt; which shows that there is a translation from system $\mathrm{F}$ to and from &lt;a href=&quot;http://en.wikipedia.org/wiki/Higher-order_logic&quot; rel=&quot;nofollow&quot;&gt;Second Order Predicate Logic&lt;/a&gt; (a version with higher-order types). One direction is &quot;dependency erasure&quot;, an important idea in dependent types, and the other is the &quot;parametricity theorem&quot; or theorem-for-free of a type.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Wadler shows that in some conditions, these transformations are inverses of each other.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So to answer your question: the theorems-for-free can be expressed in a form of second-order logic, which is described in the aforementioned paper.&lt;/p&gt;&#xA;" OwnerUserId="3984" LastEditorUserId="3984" LastEditDate="2013-03-21T14:23:26.840" LastActivityDate="2013-03-21T14:23:26.840" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="15051" PostTypeId="2" ParentId="15039" CreationDate="2013-01-11T23:40:12.317" Score="19" Body="&lt;p&gt;The question is, in my opinion, quite vague and involves some misunderstanding, so this answer attempts only to provide the right vocabulary and point you in the right direction.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are two fields of computer science that directly study such problems. &lt;em&gt;Inductive inference&lt;/em&gt; and &lt;em&gt;computational learning theory&lt;/em&gt;. The two fields are very closely related and the distinction is a social and aesthetic one, rather than a formal one. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Fix a finite alphabet $A$ and the set of all languages $\mathcal{P}(A^*)$ consisting of finite-length words over $A$. This is everything you can express in terms of $A$. Now consider a family of languages $\mathcal{F} \subseteq \mathcal{P}(A^*)$. You can think of this as the &lt;em&gt;concepts&lt;/em&gt; you are interested in. You often have to fix the family of concepts you care about because, as others have pointed out, the representation of the concept and presentation of data are extremely important.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Imagine a teacher who is going to teach you a concept. The teacher will choose one of the languages without your knowledge. The teacher will then present information to you about the language. There are many presentations. The simplest is to give you examples. A &lt;em&gt;presentation of positive data&lt;/em&gt; is a function $f: \mathbb{N} \to A^*$ satisfying that &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\bigcup_{i \in \mathbb{N}} f(i) = T, \text{ for some } T \text{ in } \mathcal{F}.$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, a presentation of positive data is an enumeration of the target concept, often with some additional fairness conditions thrown in. You can similarly ask for a presentation that labels words depending on whether they are in the language or not. Again, you can add additional conditions to ensure fairness and coverage of all words. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose we have a family $Rep$ of representations of languages. That means every element $M$ of $Rep$ defines a language $L(M)$. Examples of representations are Boolean formulae, finite automata, regular expressions, systems of linear equations, domain specific programming languages, etc. Anything you want, really, except various condition are usually imposed to ensure the representation has basic tractability properties.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A &lt;em&gt;passive learner&lt;/em&gt; is a function $p: \mathbb{N} \to Rep$ that makes a conjecture after seeing each word provided by the teacher. We may often require that the learner is consistent. Meaning, the language $L(p(i))$ should contain all the words $f(j)$ for $j \le i$. The learner &lt;em&gt;stabilizes&lt;/em&gt; if the learner's guess for the target language does not change. Specifically, there should exist some index $k$ such that for all $j \ge k$, $L(p(j)) = L(p(j+1))$. The learner &lt;em&gt;succeeds&lt;/em&gt; if the final language equals the target language. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let me emphasise that this is only one specific formalisation of one specific learning model. But this is step zero before you can start asking and studying questions that you are interested in. The learning model can be enriched by allowing interaction between the learner and the teacher. Rather than arbitrary families of languages, we can consider very specific languages, or even specific representations (such as monotone Boolean functions). There is a difference between what you can learn in each model and the complexity of learning. Here is one example of a fundamental impossibility result.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Gold [1967]&lt;/strong&gt; No family of languages that contains all finite languages and at least one super-finite language is passively learnable from positive data alone.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;One should be very very careful in interpreting this result. For example, Dana Angluin showed in the 80s that &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Angluin [1982]&lt;/strong&gt; The class of $k$-reversible languages is passively learnable in the limit from positive data.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The class of $k$-reversible languages is infinite, contains super-finite languages, but interestingly, does not contain all finite languages. Now once you change the learning model, the fundamental results change. &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Angluin [1987]&lt;/strong&gt; Regular languages are learnable from a teacher that answers equivalence queries and provides counterexamples. The algorithm is polynomial in the set of states of the minimal DFA and length of the maximal counterexample.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;This is quite a strong and positive result and recently has found several applications. However, as always the details are important, as the title of the paper below already suggests.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;a href=&quot;http://dl.acm.org/citation.cfm?doid=73007.73048&quot;&gt;The minimum consistent DFA problem cannot be approximated within and polynomial&#xA;  &lt;/a&gt;, Pitt and Warmuth, 1989.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Now you may be wondering, &lt;em&gt;how is any of this relevant to your question?&lt;/em&gt; To which my answer is that the design space for a mathematical definition of your problem is very large and the specific point you choose in this space is going to affect the kind of answers you will get. The above is not meant to be a comprehensive survey of how to formalise the learning problem. It's just meant to demonstrate the direction you may want to investigate. All the references and results I quote are extremely dated, and the field has done a lot since then. There are basic textbooks you could consult to obtain the sufficient background to formulate your question in a precise manner and determine if the answer you seek already exists. &lt;/p&gt;&#xA;" OwnerUserId="4155" LastActivityDate="2013-01-11T23:40:12.317" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="15052" PostTypeId="2" ParentId="14958" CreationDate="2013-01-12T07:10:56.623" Score="2" Body="&lt;p&gt;FWIW, it seems likely to me there is a PTAS for the problem, following the basic idea in &lt;a href=&quot;http://www.cs.ucr.edu/~neal/Papers/sicomp_41_3_684.pdf&quot; rel=&quot;nofollow&quot;&gt;this paper&lt;/a&gt;.  (This doesn't exactly answer your question, but I'll still describe the PTAS here in the answer section as it is too long to fit in a comment.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Fix any constant $\epsilon&amp;gt;0$.  Let $p$ be an an instance of the problem, i.e., a probability distribution on $[n]$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Say that a code (a set of codewords) is &lt;em&gt;$K$-fix-free&lt;/em&gt; if no codeword in the code &lt;em&gt;that has length $K$ or less&lt;/em&gt; is a prefix or suffix of another codeword.   &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Fix $K=\lceil 1/\epsilon^2\rceil $.  Compute a min-cost $K$-fix-free code for $p$, in time polynomial in $n$, as follows.  For each of the (constantly many) subsets $S$ of strings of length at most $K$, consider the $K$-fix-free code $C(S)$ formed by assigning, to the $|S|$ largest probabilities in $p$, codewords from $S$ (matching smaller codewords to larger probabilities), then enumerating (in order of increasing length) the $n-|S|$ strings of length larger than $K$ that have no prefix or suffix in $S$, and assigning these $n-|S|$ strings as the codewords for the remaining $n-|S|$ probabilities (in order of decreasing probability).  Each subset $S$ gives a code $C(S)$; take $C_0$ to be one of minimum cost (by enumerating all choices for $S$).  $C_0$ is a minimum-cost $K$-fix-free code for $p$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that the cost of $C_0$ is a lower bound on the cost of the optimal fix-free code for $p$, since the optimal fix-free code is also a $K$-fix-free code.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Next, convert $C_0$ into a fix-free code, without increasing its cost by more than a $(1+O(\epsilon))$ factor, as follows.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Within every codeword in $C_0$, insert an extra '1' into every (maximal) group of consecutive '1's of length $K' = \lceil 1/\epsilon \rceil$ or more.  (This increases the cost by at most a $(1+\epsilon)$ factor, and the resulting code will still be $K$-fix free, and no maximal group of consecutive '1's in any codeword has length $K$.)  Then, for every codeword in $C_0$ of length more than $K$, prepend $K'$ '1's followed by a '0', and append $K'$ '1's preceded by a '0'.  (This modification uniquely marks the start and end of each codeword, making the code completely fix-free. The modification increases the cost by at most a $1+O(\epsilon)$ factor overall.)  Take the resulting fix-free code $C_1$ as the solution.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since $C_1$ costs at most $(1+O(\epsilon))$ times $C_0$, and the cost of $C_0$ is a lower bound on the cost of the optimal fix-free code, the fix-free code $C_1$ has cost at most $(1+O(\epsilon))$ times the cost of the optimal fix-free code.&lt;/p&gt;&#xA;" OwnerUserId="8237" LastEditorUserId="8237" LastEditDate="2013-01-12T07:16:33.883" LastActivityDate="2013-01-12T07:16:33.883" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="15053" PostTypeId="2" ParentId="14985" CreationDate="2013-01-12T07:52:33.730" Score="6" Body="&lt;p&gt;I'll first answer question (2). Let's solve the $(\max,+)$ product problem. The $(\min,+)$ product can be solved analogously by negating entries and adding $M$ to each entry to make all entries positive. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Take $A$ and $B$ whose product $C$ we want to compute, and create matrices $A'$ and $B'$ where $A'[i,j]=(n+1)^{A[i,j]}$ and $B'[i,j]=(n+1)^{B[i,j]}$ for all $i,j$.&#xA;Compute the product $C'$ of $A'$ with $B'$. This takes $O(Mn^\omega \log n)$ time since the bit representation of the integers in $A'$ and $B'$ has length $O(M\log n)$.&#xA;Consider now $C'[i,j]=\sum_k A'[i,k]B'[k,j]=\sum_k (n+1)^{A[i,k]+B[k,j]}$.&#xA;If $\max_k A[i,k]+B[k,j] = z$, then $C'[i,j]\geq (n+1)^z$, and if $\max_k A[i,k]+B[k,j]&amp;lt;z$, then $C'[i,j]\leq n\cdot (n+1)^{z-1} &amp;lt; (n+1)^z$. Thus, $C[i,j]$ is the largest power of $n+1$ that's at most $C'[i,j]$ and hence $C$ is easy to obtain from $C'$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;With respect to question (1), in order to find for each $i,j$, the index $k$ that achieves the minimum (called the witness), one uses a method by Zwick (from Uri Zwick. 2002. All pairs shortest paths using bridging sets and rectangular matrix multiplication. J. ACM 49, 3 (May 2002), 289-317.) This method is based on ideas from an earlier paper by Alon, Galil, Margalit and Naor on finding witnesses for Boolean matrix multiplication.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The basic idea is to first figure out a way to extract the witness $k$ for entry $i,j$ provided $k$ is a unique witness for the minimum. Then one uses a carefully chosen, polylogarithmic number of random samples of columns of $A$/rows of $B$ which ensures that $k$ is the unique witness for $i,j$ in one of the samples with high probability. To extract a unique witness, one only needs to do $\log n$ distance products. For each $l=1,\ldots,\log n$, let $K_l$ be the integers whose $l$th bit is $1$, and compute the distance product of $A$ and $B$, restricted to the columns of $A$/rows of $B$ with indices in $K_l$. Then if $k$ is unique such that $C[i,j]=A[i,k]+B[k,j]$, one can compute the the binary representation of $k$ by setting to $1$ only those bits $l$ for which the distance product for $K_l$ had $C[i,j]$ as its $i,j$ entry.&lt;/p&gt;&#xA;" OwnerUserId="410" LastActivityDate="2013-01-12T07:52:33.730" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="15054" PostTypeId="2" ParentId="14343" CreationDate="2013-01-12T08:09:01.767" Score="10" Body="&lt;p&gt;An old paper by Italiano (G.F. Italiano. Amortized efficiency of a path retrieval data structure. Theoretical Computer Science, 48(2–3):273–281, 1986.) gives a data structure that supports edge insertions in $O(n)$ amortized time and reachability queries in constant time. I'm not aware of better incremental algorithms.&lt;/p&gt;&#xA;" OwnerUserId="410" LastActivityDate="2013-01-12T08:09:01.767" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="15055" PostTypeId="1" CreationDate="2013-01-12T08:22:24.537" Score="1" ViewCount="183" Body="&lt;p&gt;On interval graphs, minimal vertex separators are well understood: they are cliques, there are no more than $n$ ones.  However, when we turn to the minimal edge cut, my search found no even one single paper, which surprised me.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To make it more precise, the edge cuts are defined as follows.  In an interval graph $G=(V,E)$, a pair of vertices $u$ and $v$ is called a &lt;em&gt;dominating pair&lt;/em&gt; if there is a path $P$ between them such that all vertices of $V$ are adjacent to some vertex in $P$.  A partition $(X,Y)$ of $V$ is called an edge cut if $u\in X$ and $v\in Y$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A slight different way to define edge cuts is through the clique path decomposition.  It is known that a graph is an interval graph if and only if there is a linear ordering of its $c$ maximal cliques in a way that each vertex appears in a consecutive subset of them.  Then an edge cut is defined as a partition $(X,Y)$ where $K_1\setminus K_2\in X$ and $K_c\setminus K_{c-1}\in Y$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;These two definitions are not exactly the same, and may have different minimum cut sizes.  But I believe they are related.  Also note that it's uninteresting to study the number of minimal edge cuts, as a clique is an interval graph where each partition decides a different minimal edge cut.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT.  My question: what's the properties of the minimum edge cuts?&lt;/strong&gt;&lt;/p&gt;&#xA;" OwnerUserId="7059" LastEditorUserId="7059" LastEditDate="2013-01-12T09:53:27.717" LastActivityDate="2013-01-12T09:53:27.717" Title="Edge Cut of interval graphs" Tags="&lt;reference-request&gt;&lt;max-flow-min-cut&gt;&lt;graph-classes&gt;" AnswerCount="0" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="15056" PostTypeId="1" CreationDate="2013-01-12T11:31:43.260" Score="-5" ViewCount="1939" Body="&lt;p&gt;I'm interested in AI as an area to study on in MSc. I don't have much prior knowledge. So, I decided to develop an AI that plays Tic-Tac-Toe perfectly, as an introduction. I've made some progress that AI can make or block &quot;win&quot; and &quot;fork&quot; positions.&#xA; &quot;Fork&quot; is a position that a mark ( X or O ) creates two one-move-to-win position at once. If opponent can't make another one-move-to-win position himself, forking player has a certain win. &quot;Fork&quot; position requires to calculate two moves after. And I suggest a &quot;Double Fork&quot; position which requires to calculate three moves after. &#xA; I've done this by analyzing game combinatorics, generating &quot;win&quot; and &quot;fork&quot; patterns, and applying algorithm below:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1 - Win&lt;br/&gt;&#xA;2 - If can't win, block opponent's win&lt;br/&gt;&#xA;3 - Fork&lt;br/&gt;&#xA;4 - If can't fork, block opponents fork&lt;br/&gt;&#xA;5 - Play random&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Obviously that is not a perfect-playing method. I've noticed there exists more complex positions by further analyzing game combinatorics. These positions are, as I name them, &quot;win and fork&quot; and &quot;double fork&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It seemed to me that it is inefficiently complex to handle these further positions. I want you to inform me whether I haven't analyzed game combinatorics completely or I should use other methods like using game state space tree.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks.&lt;/p&gt;&#xA;" OwnerUserId="6994" LastEditorUserId="4155" LastEditDate="2013-01-18T19:40:24.193" LastActivityDate="2013-01-18T19:40:24.193" Title="Developing A Perfect Tic-Tac-Toe Player - AI" Tags="&lt;co.combinatorics&gt;&lt;ai.artificial-intel&gt;&lt;gt.game-theory&gt;&lt;board-games&gt;" AnswerCount="1" CommentCount="7" ClosedDate="2013-01-15T19:07:29.867" ContentLicense="CC BY-SA 3.0" />
  <row Id="15057" PostTypeId="1" AcceptedAnswerId="15069" CreationDate="2013-01-12T19:39:35.213" Score="26" ViewCount="10341" Body="&lt;p&gt;There are many applications of real analysis in theoretical computer science, covering property testing, communication complexity, PAC learning, and many other fields of research. However, I can't think of any result in TCS that relies on &lt;em&gt;complex&lt;/em&gt; analysis (outside of quantum computing, where complex numbers are intrinsic in the model). Does anyone has an example of a classical TCS result that uses complex analysis?&lt;/p&gt;&#xA;" OwnerDisplayName="user887" LastActivityDate="2013-02-12T22:39:31.023" Title="Complex analysis in theoretical computer science" Tags="&lt;soft-question&gt;&lt;big-picture&gt;" AnswerCount="13" CommentCount="3" FavoriteCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="15058" PostTypeId="2" ParentId="15056" CreationDate="2013-01-12T20:40:13.777" Score="9" Body="&lt;p&gt;See &lt;a href=&quot;http://xkcd.com/832/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Tic-Tac-Toe&lt;/a&gt;  by Randall Munroe. &#xA;&lt;img src=&quot;https://i.stack.imgur.com/myes0.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;" OwnerUserId="4155" LastActivityDate="2013-01-12T20:40:13.777" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="15059" PostTypeId="2" ParentId="14992" CreationDate="2013-01-12T20:44:31.430" Score="4" Body="&lt;p&gt;They are the same: BPNC = DBPNC.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Say a BPNC machine is given as input a DBPNC program to simulate.  Execute the program in lock step.  First assume that the indices between different steps are distinct, so that we do not need to remember old random bits.  At each step, each processor asks for a random bit at a specific index into the shared stream.  Compute and distribute the random bits as follows:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Sort the indices among the processors and remember the origin of each bit.&lt;/li&gt;&#xA;&lt;li&gt;Coordinate among adjacent processors to compute the ranges of identical indices.&lt;/li&gt;&#xA;&lt;li&gt;Compute each random bit on the first processor that owns it after sorting. &lt;/li&gt;&#xA;&lt;li&gt;Scatter throughout the identical ranges.&lt;/li&gt;&#xA;&lt;li&gt;Send back to the origin process (if necessary by reversing the sorting algorithm).&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;To allow processors to ask for old indices, have each processor remember the (results) of all previous sorting epochs.  To check whether newly requested indices occurred in a given previous epoch, do&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Sort the new indices.&lt;/li&gt;&#xA;&lt;li&gt;Merge the lists of old and new indices (e.g., with &lt;a href=&quot;http://epubs.siam.org/doi/abs/10.1137/0217049&quot; rel=&quot;nofollow&quot;&gt;Cole 1988&lt;/a&gt;).&lt;/li&gt;&#xA;&lt;li&gt;Scatter appropriately.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="13245" LastEditorUserId="13245" LastEditDate="2013-01-13T04:34:57.880" LastActivityDate="2013-01-13T04:34:57.880" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="15060" PostTypeId="2" ParentId="15057" CreationDate="2013-01-12T23:20:15.270" Score="25" Body="&lt;p&gt;It's not a single problem, but the entire field of &lt;a href=&quot;http://en.wikipedia.org/wiki/Analytic_combinatorics&quot;&gt;analytic combinatorics&lt;/a&gt; (see the &lt;a href=&quot;http://algo.inria.fr/flajolet/Publications/book.pdf&quot;&gt;book by Flajolet and Sedgewick&lt;/a&gt;) explores how to analyze the &lt;em&gt;combinatorial&lt;/em&gt; complexity of &lt;strike&gt;counting&lt;/strike&gt; structures (or even algorithm running times) by writing down an appropriate generating function and analyzing the structure of the complex solutions. &lt;/p&gt;&#xA;" OwnerUserId="80" LastEditorUserId="80" LastEditDate="2013-01-13T08:09:09.110" LastActivityDate="2013-01-13T08:09:09.110" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="15061" PostTypeId="1" CreationDate="2013-01-12T23:42:14.790" Score="17" ViewCount="1094" Body="&lt;p&gt;I'm a grad student in math with a solid background in logic. I've taken a year-long graduate course in logic together with graduate courses on finite model theory and another on forcing and set theory. Most CS texts seem to assume only a very modest background in logic, which mostly covers basics of propositional logic and first-order logic.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'd like to get some pointers on where to go for CS applications where heavier material from logic is being used. One interest of mine would be type theory and formal methods in general. Could anyone suggest some good readings past the introductory books on model checking and programming languages?&lt;/p&gt;&#xA;" OwnerUserId="13306" LastEditorUserId="186" LastEditDate="2013-01-13T18:34:52.673" LastActivityDate="2013-01-18T04:23:40.357" Title="Pointers for CS applications of logic" Tags="&lt;lo.logic&gt;&lt;soft-question&gt;&lt;big-list&gt;&lt;books&gt;&lt;formal-methods&gt;" AnswerCount="7" CommentCount="4" FavoriteCount="10" CommunityOwnedDate="2013-01-13T18:35:21.207" ContentLicense="CC BY-SA 3.0" />
  <row Id="15062" PostTypeId="2" ParentId="15061" CreationDate="2013-01-13T00:05:16.743" Score="10" Body="&lt;p&gt;&lt;strong&gt;Edmund M. Clarke, Orna Grumberg, Doron A. Peled:&lt;/strong&gt; &lt;em&gt;Model Checking&lt;/em&gt;. MIT Press 1999, is a nice book (for me) on model checking.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Glynn Winskel:&lt;/strong&gt; &lt;em&gt;The Formal Semantics of Programming Languages: an introduction&lt;/em&gt;. MIT Press 1994, is one of the standard textbooks on programming languages. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Mordechai Ben-Ari:&lt;/strong&gt; &lt;em&gt;Mathematical logic for computer science&lt;/em&gt;. Springer 2001, is perhaps what you are looking for.&lt;/p&gt;&#xA;" OwnerUserId="6706" LastEditorUserId="6706" LastEditDate="2013-01-13T09:00:52.243" LastActivityDate="2013-01-13T09:00:52.243" CommentCount="0" CommunityOwnedDate="2013-01-13T18:35:21.207" ContentLicense="CC BY-SA 3.0" />
  <row Id="15064" PostTypeId="2" ParentId="15061" CreationDate="2013-01-13T01:51:33.010" Score="4" Body="&lt;p&gt;A key use of logic in CS is program logics, also called Hoare logics. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;One good way of thinking about program logics is to see them as sub-calculi of ZFC set-theory (or whatever your preferred foundation of maths might be, e.g. second-order logic) that are just expressive enough to reason about programs in a given programming language, but not more. You can always reason about programs in ZFC set theory, but set theory has too much expressive power in the sense that it contains many formulae that are not really relevant for reasoning about programs (e.g. $2 \in \sqrt(\pi^{17})$ is a valid formula in ZFC that may or may not be true, depending on how you code up real numbers as sets). The superfluous expressive power is a disadvantage when thinking about program correctness because (simplifying a bit) it increases formula and proof size. &#xA;So what we are looking for in the study of program logics are logics with succinct formulae and proofs. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A similar situation obtains in the study of modal logics which (simplfying a bit again)&#xA; are not as expressive as first-order logic, but what they can express, they&#xA;do express with shorter formulae and proofs. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Identifying suitable fragments of ZFC is not hard for simple programming languages, but gets rapidly more challenging as programming languages acquire more features. The last couple of years have seen substantial progress in this endeavour.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The paper &lt;a href=&quot;http://sunnyday.mit.edu/16.355/Hoare-CACM-69.pdf&quot; rel=&quot;nofollow&quot;&gt;An Axiomatic Basis for Computer Programming&lt;/a&gt; by T. Hoare is often seen as founding the study of program logics in earnest, is easy to read, and probably a good way to start venturing into the field. The same logic is studied in more detail in Winskel's book &quot;Formal Semantics of Programming Languages&quot; menioned by @vb le.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Type theory can be seen in a similar light. The key selling point of type-theory is the identification of proofs with (purely functional) programs, leading to a great economy of concepts and to powerful automation (in the form of type-inference and interactive theorem provers). The price for type theory's being an elegant way of organising proofs is that it does not appear to work all that well with programming languages that are not purely functional. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A recent and throughly modern text that introduces program logic in a type-theoretic tinged way is &lt;a href=&quot;http://www.cis.upenn.edu/~bcpierce/sf/index.html&quot; rel=&quot;nofollow&quot;&gt;Software Foundations&lt;/a&gt; by Pierce et al. It'll lead you right near the (a) cutting edge of research in program verification and, as a textbook, probably gives a glimpse of how computer science and maths will be taught in the future.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Once a program logic has been developed for a language, the next&#xA;step is automation, or partial automation: constructing proofs&#xA;for non-trivial programs is labour intensive, and we would like&#xA;machines to do as much of it as possible. Much current research&#xA;in formal methods to do with such automation. &lt;/p&gt;&#xA;" OwnerUserId="898" LastEditorUserId="898" LastEditDate="2013-01-13T08:47:28.200" LastActivityDate="2013-01-13T08:47:28.200" CommentCount="0" CommunityOwnedDate="2013-01-13T18:35:21.207" ContentLicense="CC BY-SA 3.0" />
  <row Id="15065" PostTypeId="1" CreationDate="2013-01-13T02:46:40.457" Score="4" ViewCount="450" Body="&lt;p&gt;If we consider circuits with arbitrary binary logic gates one can prove by a counting argument that there exists a Boolean function on $n$ variables that require a circuit of size $ \Theta \left( 2^n/n \right) $ (in fact almost all of them are such).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This follows from the fact that there are $2^{2^n}$ Boolean functions on $n$ variables and only at most $16^k (k+n+1)^{2k} k / k!$ different Boolean functions on $n$ variables can be computed by circuits of size $k$ (for each gate there are $16$ possibilities to choose its type and $b+n+1$ possibilities to choose its two predesscors (the other $k-1$ gates, $n$ variables and $2$ constants), $k$ possibilities to choose the final gate and there are $k!$ possibilities to renumber the gates)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am interested in probabilistic circuits in the following (nonstandard) sense - using gates which can have arbitrary rational probability distribution of which binary function to output. For example a gate which works as AND(x,y) with probability $\frac{7}{13}$, as OR(x,y) with probability $\frac{5}{13}$ and outputs constant $0$ with probability $\frac{1}{13}$.&#xA;The computation is allowed to have 2 sided bounded error - that is, we say that the circuit computes a function f if for every input $x_1, \ldots, x_n$ it outputs the correct result $f(x_1, \ldots, x_n)$ with probability $\geq 2/3$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is it possible to similarly prove that there exists a Boolean function that requires probabilistic circuit of a superpolynomial size?&#xA;The problem is that there are infinitely many different types of gates. Is there any neat trick that could be applied?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The question I &lt;em&gt;actually&lt;/em&gt; am interested in is the following - does there exist a Boolean function such that every 2-way probabilistic finite automata (having arbitrary rational transition probabilities) that recognizes it with 2-sided error has superpolynomial number of states? Just thinking that people are more familiar with circuits than 2-way automata and the proof could be transferred from one domain to another.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More formally I want to prove the following:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;There exists an infinite sequence of Boolean functions $f_1, f_2,&#xA;\ldots$ of $n_1, n_2, \ldots$ ($n_1 &amp;lt; n_2 &amp;lt; \ldots$) variables such&#xA;  that for every sequence of 2pfas $P_{f_1}, P_{f_2}, \ldots$ such that&#xA;  $P_{f_i}$ recognizes $f_i$ with 2-sided bounded error (that is for&#xA;  every word $x_1, \ldots, x_{n_i}$ accepts it with probability $\leq&#xA;\frac{1}{3}$ if $f_i(x_1, \ldots, x_{n_i}) =0$ and probability $\geq&#xA;\frac{2}{3}$ if $f_i(x_1, \ldots, x_{n_i})=1$) the number of states&#xA;  grows superpolynomially: for every polynomial $p(n)$ exists $i$ such that the number of&#xA;  states $\left| P_{f_i} \right| &amp;gt; p(n_i)$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;If we allowed the 2pfa to have only transition probabilities of $\{0, \frac{1}{2}, 1\}$ (or some other restricted set (size of which might depend on $n$ and even grow exponentially in terms of $n$)) then it is provable by a counting argument. Question is - is it still true if all rational transition probabilites are allowed?&lt;/p&gt;&#xA;" OwnerUserId="13109" LastEditorUserId="13109" LastEditDate="2013-01-14T09:38:54.533" LastActivityDate="2013-01-21T12:06:15.667" Title="Probabilistic circuit complexity or size of probabilistic 2-way automata for Boolean functions" Tags="&lt;cc.complexity-theory&gt;&lt;automata-theory&gt;&lt;lower-bounds&gt;&lt;randomness&gt;&lt;probabilistic-automata&gt;" AnswerCount="1" CommentCount="6" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="15066" PostTypeId="1" AcceptedAnswerId="15074" CreationDate="2013-01-13T06:48:36.560" Score="20" ViewCount="743" Body="&lt;p&gt;While &lt;a href=&quot;http://en.wikipedia.org/wiki/P/poly#Adleman.27s_theorem&quot;&gt;Adleman's theorem&lt;/a&gt; shows, that $\mathsf{BPP} \subseteq \mathsf{P}/\text{poly}$, I'm not aware of any literature investigating the possible inclusion of $\mathsf{BQP} \subseteq \mathsf{P}/\text{poly}$. What complexity-theoretic consequences would such an inclusion have? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Adleman's theorem is &lt;a href=&quot;https://complexityzoo.uwaterloo.ca/Complexity_Zoo%3aP#ppoly&quot;&gt;sometimes&lt;/a&gt; called &quot;the progenitor of derandomization arguments.&quot; $\mathsf{BPP}$ is believed to be derandomizable, whereas there is no evidence that the &quot;quantumness&quot; of $\mathsf{BQP}$ could somehow be removed. Is this possible evidence that $\mathsf{BQP}$ is unlikely to be in $\mathsf{P}/\text{poly}$ ?&lt;/p&gt;&#xA;" OwnerUserId="121" LastEditorUserId="109" LastEditDate="2013-01-17T17:54:05.657" LastActivityDate="2013-01-17T17:54:05.657" Title="Consequences of $BQP \subseteq P/poly$?" Tags="&lt;reference-request&gt;&lt;quantum-computing&gt;&lt;derandomization&gt;&lt;conditional-results&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="15067" PostTypeId="2" ParentId="15057" CreationDate="2013-01-13T12:28:59.533" Score="8" Body="&lt;p&gt;I guess that you might be more interested in complex analysis used directly in the proof. However, here are two examples from a graduate level Algorithms class I am currently attending:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;a) Fast Fourier Transform, for example used in polynomial multiplication. Although the implementation can be done with modulo arithmetic or floating point (and some arithmetic analysis), the proof is best understood in terms of complex numbers and their roots of unity. I have not delved into the subject, but I am aware that FFT has a wide range of applications.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;b) In general, equipping the RAM model with the ability to handle complex numbers in constant time (the real and imaginary parts still have finite precision) allows one to cleverly encode problems and exploit properties of the complex numbers that might reveal a solution (see also the comments why this won't allow you to be faster).&lt;/p&gt;&#xA;" OwnerUserId="879" LastEditorUserId="879" LastEditDate="2013-02-05T15:17:36.130" LastActivityDate="2013-02-05T15:17:36.130" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="15068" PostTypeId="2" ParentId="15009" CreationDate="2013-01-13T16:47:26.463" Score="10" Body="&lt;p&gt;If additive commutations are omited in MALL, it's easy to show that the size of a proof decreases with every cut-elimination step. If additive commutations are allowed, the proof is not as easy, but it was provided in the original “Linear Logic” paper. It's called Small Normalization Theorem (Corollary 4.22, p71), which says that as long as the contraction–promotion rule is not involved (which is the case in MALL) normalization holds. The argument does not rely on formulas themselves, they could be infinite (e.g. recursively defined).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It means that it's not possible to encode a promotion for type $\mu\alpha.\;I \;\&amp;amp;\; A \;\&amp;amp;\; (\alpha \otimes \alpha)$ in MALL, since it would allow for fix point combinators. Some additional recursion construct would be needed for that.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note: I believe that it's possible to use MALL together with a coinduction principle (introduction of $\mu$'s dual) to keep the system normalizing and obtain a promotion for this encoding of $!A$. Allowing recursive types in &lt;em&gt;MALL + coinduction&lt;/em&gt; would then make it Turing complete. But as long as MALL is considered alone, allowing recursive types is not a big deal.&lt;/p&gt;&#xA;" OwnerUserId="5967" LastActivityDate="2013-01-13T16:47:26.463" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="15069" PostTypeId="2" ParentId="15057" CreationDate="2013-01-13T17:47:01.440" Score="15" Body="&lt;p&gt;Barvinok's complex-based algorithm for approximating the permanent &lt;a href=&quot;http://www.math.lsa.umich.edu/~barvinok/permanent.ps&quot;&gt;Polynomial time algorithms to approximate permanents and mixed discriminants within a simply exponential factor&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, obviously, complex operators (and some complex analysis) are important in quantum computing. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let me recommend also this book: &lt;a href=&quot;http://www.cs.bgu.ac.il/~ebachmat/book-26-11-11.pdf&quot;&gt;Topics in performence analysis&lt;/a&gt; by Eitan Bachmat with a lot of great relevant issues and great other things.&lt;/p&gt;&#xA;" OwnerUserId="712" LastEditorUserId="712" LastEditDate="2013-01-14T21:14:31.520" LastActivityDate="2013-01-14T21:14:31.520" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="15070" PostTypeId="2" ParentId="15061" CreationDate="2013-01-13T18:26:00.223" Score="7" Body="&lt;p&gt;Database theory is a sprawling field providing many applications of logic.  Descriptive complexity and finite model theory are closely associated fields.  As far as I can tell, these areas all tend to use algebraic styles of logic (following in the footsteps of Birkhoff and Tarski) rather than proof-theoretic.  However, some of the work of &lt;a href=&quot;http://dblp.uni-trier.de/pers/hd/b/Buneman%3aPeter.html&quot;&gt;Peter Buneman&lt;/a&gt;, &lt;a href=&quot;http://dblp.uni-trier.de/pers/hd/l/Libkin%3aLeonid.html&quot;&gt;Leonid Libkin&lt;/a&gt;, &lt;a href=&quot;http://dblp.uni-trier.de/pers/hd/f/Fan%3aWenfei.html&quot;&gt;Wenfei Fan&lt;/a&gt;, &lt;a href=&quot;http://dblp.uni-trier.de/pers/hd/d/Davidson%3aSusan_B=.html&quot;&gt;Susan Davidson&lt;/a&gt;, &lt;a href=&quot;http://dblp.uni-trier.de/pers/hd/w/Wong%3aLimsoon.html&quot;&gt;Limsoon Wong&lt;/a&gt;, &lt;a href=&quot;http://dblp.uni-trier.de/pers/hd/o/Ohori%3aAtsushi.html&quot;&gt;Atsushi Ohori&lt;/a&gt;, and other researchers who were working at UPenn in the 1980s-90s, did seek to unite programming language theory and databases.  This seems to require being comfortable with both styles of logic.  The same goes for more recent work by &lt;a href=&quot;http://dblp.uni-trier.de/pers/hd/c/Cheney%3aJames.html&quot;&gt;James Cheney&lt;/a&gt; and &lt;a href=&quot;http://dblp.uni-trier.de/pers/hd/w/Wadler%3aPhilip.html&quot;&gt;Philip Wadler&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In terms of specific references, the standard textbook is available online for convenient reference:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Serge Abiteboul, Richard Hull, Victor Vianu.  &lt;em&gt;Foundations of Databases&lt;/em&gt;, 1995.  &lt;a href=&quot;http://webdam.inria.fr/Alice/&quot;&gt;http://webdam.inria.fr/Alice/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Unfortunately I don't know any up to date general textbooks or surveys covering this fast-moving field.  I have found two older surveys useful.  First,&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Jan Van den Bussche, &lt;em&gt;Applications of Alfred Tarski's Ideas in Database Theory&lt;/em&gt;, CSL 2001. &lt;a href=&quot;http://dx.doi.org/10.1007/3-540-44802-0_2&quot;&gt;doi:10.1007/3-540-44802-0_2&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;shows how to connect the dots between Tarski and a specific subfield, constraint databases.  Second,&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Victor Vianu, &lt;em&gt;Databases and Finite-Model Theory&lt;/em&gt;, Descriptive Complexity and Finite Models: Proceedings of a DIMACS Workshop, 1996. &lt;a href=&quot;http://leo.saclay.inria.fr/publifiles/gemo/GemoReport-107.ps.gz&quot;&gt;http://leo.saclay.inria.fr/publifiles/gemo/GemoReport-107.ps.gz&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;pitches (1996-style) database theory to finite model theorists, and in the process highlights many interesting applications of logic in databases.  For more recent work (such as the theory of XML, provenance, streaming models, or graph databases) reading highly-cited research papers is a reasonable approach.&lt;/p&gt;&#xA;" OwnerUserId="109" LastActivityDate="2013-01-13T18:26:00.223" CommentCount="0" CommunityOwnedDate="2013-01-13T18:35:21.207" ContentLicense="CC BY-SA 3.0" />
  <row Id="15071" PostTypeId="2" ParentId="14950" CreationDate="2013-01-13T19:23:17.333" Score="9" Body="&lt;p&gt;I don't have access to the Poljak et al. paper, but the &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/0166218X8190007X&quot;&gt;abstract here&lt;/a&gt; seems to indicate that recognizing line-graphs of $r$-hypergraphs is NP-complete for $r \geq 3$, not $4$. Also, the citation in &lt;a href=&quot;http://www.bsu.by/Cache/pdf/89683.pdf&quot;&gt;&lt;em&gt;Edge intersection graphs of linear 3-uniform hypergraphs&lt;/em&gt;, Skums et al. (pdf)&lt;/a&gt; seems to indicate that this is the case:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;The situation changes principally if one takes $k=3$ instead of $k=2$. Lovasz posed the problem of characterizing the class $L_3$, and noted that it has no characterization by a finite list of forbidden induced subgraphs (&lt;em&gt;a finite characterization&lt;/em&gt;) [10]. It has been proved that recognition problems &quot;$G \in L_3$&quot; [17] and &quot;$G \in L^l_k$&quot; for $k\geq3$ [5] are NP-complete.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Reference 17 in that paper is the aforementioned Poljak et al. (1981). $L_3$ is the class of 3-uniform hypergraphs and $L^l_3$ is the class of linear 3-uniform hypergraphs.&lt;/p&gt;&#xA;" OwnerUserId="751" LastActivityDate="2013-01-13T19:23:17.333" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="15073" PostTypeId="2" ParentId="15057" CreationDate="2013-01-13T20:12:28.670" Score="6" Body="&lt;p&gt;Perhaps this application is somewhat between TCS and Disc math, but I was slightly surprised when I read the paper &quot;On the bent Boolean functions which are symmetric&quot; by Petr Savicky (http://www2.cs.cas.cz/~savicky/papers/symmetric.ps). The theorems are only concerning Boolean functions, however one of the proofs uses complex numbers.&lt;/p&gt;&#xA;" OwnerUserId="4201" LastActivityDate="2013-01-13T20:12:28.670" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="15074" PostTypeId="2" ParentId="15066" CreationDate="2013-01-13T21:20:44.500" Score="14" Body="&lt;p&gt;I'd say we have no good reason to think BQP is in P/poly.  We do have reasons to think that BQP is &lt;i&gt;not&lt;/i&gt; in P/poly, but they're more-or-less identical to our reasons to think that BQP&amp;ne;BPP.  E.g., if BQP&amp;sub;P/poly then Factoring is in P/poly, which is enough to break lots of cryptography according to standard security definitions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, as you correctly point out, there's no quantum analogue of Adleman's trick---indeed, there's no way to &quot;pull the quantumness out of a quantum algorithm,&quot; analogous to how one can pull the randomness out of a randomized algorithm.  So I don't think anyone has a guess for what the P/poly advice for simulating a quantum computer should even consist of (any more than they have a guess, say, in the case of NP vs. P/poly).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A final note: my work with Alex Arkhipov (and the independent work of Bremner-Jozsa-Shepherd), can easily be adapted to show that if QUANTUM-SAMPLING is in P/poly (OK, in &quot;BPP-SAMPLING/poly&quot;), then P&lt;sup&gt;#P&lt;/sup&gt;&amp;sub;BPP&lt;sup&gt;NP&lt;/sup&gt;/poly, and hence the polynomial hierarchy collapses---in this case, I think, to the &lt;i&gt;fourth&lt;/i&gt; level.  At present, though, we don't know how to adapt this sort of result from sampling problems to decision problems.&lt;/p&gt;&#xA;" OwnerUserId="1575" LastActivityDate="2013-01-13T21:20:44.500" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="15076" PostTypeId="2" ParentId="15061" CreationDate="2013-01-13T22:09:24.703" Score="6" Body="&lt;p&gt;Michael Huth and Mark Ryan: &lt;a href=&quot;http://www.cs.bham.ac.uk/research/projects/lics/&quot;&gt;Logic in computer science&lt;/a&gt;, Cambridge University Press, 2004.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I recommend this book highly as a general introduction on how logic plays a role in computer science.&lt;/p&gt;&#xA;" OwnerUserId="705" LastActivityDate="2013-01-13T22:09:24.703" CommentCount="0" CommunityOwnedDate="2013-01-13T22:09:24.703" ContentLicense="CC BY-SA 3.0" />
  <row Id="15077" PostTypeId="2" ParentId="15057" CreationDate="2013-01-13T22:16:32.207" Score="15" Body="&lt;p&gt;Jon Kelner won the STOC Best Student Paper Award in 2004 for his paper &lt;a href=&quot;http://math.mit.edu/~kelner/Publications/Docs/LowGenusJournal.pdf&quot;&gt;&quot;Spectral partitioning, eigenvalue bounds, and circle packings for graphs of bounded genus&quot;&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'll just quote from the abstract:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;As our main technical lemma, we prove an O(g/n) bound on the second&#xA;  smallest eigenvalue of the Laplacian of such graphs and show that this&#xA;  is tight, thereby resolving a conjecture of Spielman and Teng. While&#xA;  this lemma is essentially combinatorial in nature, its proof comes&#xA;  from continuous mathematics, drawing on the theory of circle packings&#xA;  and the geometry of compact Riemann surfaces.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The use of complex analysis (and other &quot;continuous&quot; math) to attack &quot;traditional&quot; graph separator problems was memorable and is the main reason this paper stuck in my head even though it is completely unrelated to my research.&lt;/p&gt;&#xA;" OwnerUserId="847" LastActivityDate="2013-01-13T22:16:32.207" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="15078" PostTypeId="1" AcceptedAnswerId="16094" CreationDate="2013-01-13T22:22:42.467" Score="3" ViewCount="574" Body="&lt;p&gt;I was reading a paper &lt;a href=&quot;http://www0.cs.ucl.ac.uk/staff/J.Brotherston/APLAS12/cyclist.pdf&quot; rel=&quot;nofollow&quot;&gt;A Generic Cyclic Theorem Prover&lt;/a&gt;. This paper explains about automated theorem prover based on various instantiations like the notion of first order logic equations with inductive definitions using cyclic proofs. I was unable to understand about why cyclic proofs are required. As far as I understand, sometime with the induction rules, we can go to an infinite loop, to avoid this condition of going into infinite loop, they introduced cyclic proofs. Can anyone please correct me if I am wrong? &lt;/p&gt;&#xA;" OwnerUserId="7198" LastActivityDate="2013-01-14T22:29:44.430" Title="Why is there a need for cyclic proofs?" Tags="&lt;proof-theory&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="15081" PostTypeId="2" ParentId="15061" CreationDate="2013-01-13T23:06:30.583" Score="15" Body="&lt;p&gt;I briefly reviewed some areas here, trying to focus on ideas that would appeal to someone with a background in advanced mathematical logic.&lt;/p&gt;&#xA;&lt;h2&gt;Finite Model Theory&lt;/h2&gt;&#xA;&lt;p&gt;The simplest restriction of classical model theory from the viewpoint&#xA;of computer science is to study structures over a finite universe.&#xA;These structures occur in the form of relational databases, graphs,&#xA;and other combinatorial objects arising everywhere in computer&#xA;science. The first observation is that several fundamental theorems of&#xA;first-order model theory fail when restricted to finite models. These&#xA;include the compactness theorem, Godel's completeness theorem, and&#xA;ultraproduct constructions. Trakhtenbrot showed that unlike classical&#xA;first order logic, satisfiability over finite models is undecidable.&lt;/p&gt;&#xA;&lt;p&gt;The fundamental tools in this area are Hanf locality, Gaifman&#xA;locality, and numerous variations on Ehrenfeucht-Fraisse games. The&#xA;topics studied include infinitary logics, logics with counting, fixed&#xA;point logics, etc. always with a focus on finite models. There is work&#xA;focusing on expressivity in finite-variable fragments of first-order&#xA;logic and these logics have characterisations via pebble-games. Another direction of enquiry is to identify properties of classical logics that survive the restriction to finite models. A recent result in that direction from Rossman shows that certain homomorphism preservation theorems still hold over finite models.&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://rads.stackoverflow.com/amzn/click/com/3540287876&quot; rel=&quot;noreferrer&quot; rel=&quot;nofollow noreferrer&quot;&gt;Finite Model Theory&lt;/a&gt;, Ebbinghaus and Flum&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://rads.stackoverflow.com/amzn/click/com/3642059481&quot; rel=&quot;noreferrer&quot; rel=&quot;nofollow noreferrer&quot;&gt;Elements of Finite Model Theory&lt;/a&gt;, Libkin&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://researcher.watson.ibm.com/researcher/files/us-fagin/tcs97.pdf&quot; rel=&quot;noreferrer&quot;&gt;On winning strategies in Ehrenfeucht-Fraisse games&lt;/a&gt;, Arora&#xA;and Fagin, 1997.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.mit.edu/%7Ebrossman/hpt-jacm-final.pdf&quot; rel=&quot;noreferrer&quot;&gt;Homomorphism preservation theorems&lt;/a&gt;, Rossman&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h2&gt;The propositional &lt;span class=&quot;math-container&quot;&gt;$\mu$&lt;/span&gt;-calculus&lt;/h2&gt;&#xA;&lt;p&gt;A line of work from the late 60s showed that numerous properties of&#xA;programs could be expressed in extensions of propositional logic that&#xA;supported reasoning about fixed points. The modal-&lt;span class=&quot;math-container&quot;&gt;$\mu$&lt;/span&gt; calculus is&#xA;one logic developed in this period that has found a wide range of&#xA;applications in automated formal methods. A lot of formal methods is&#xA;connected to temporal logic, or Hoare-style logics and much of this&#xA;can be viewed in terms of the &lt;span class=&quot;math-container&quot;&gt;$\mu$&lt;/span&gt;-calculus. In fact, I have heard it&#xA;said that the &lt;span class=&quot;math-container&quot;&gt;$\mu$&lt;/span&gt;-calculus is the assembly language of temporal&#xA;logics.&lt;/p&gt;&#xA;&lt;p&gt;In his paper introducing the &lt;span class=&quot;math-container&quot;&gt;$\mu$&lt;/span&gt;-calculus, Kozen gave an&#xA;axiomatization and only proved it sound and complete for a restricted&#xA;fragment of the logic. The completeness proof was one of the great&#xA;open problems in logical computer science until Walukiewicz gave a&#xA;proof (based on infinite automata). The model theory of the&#xA;&lt;span class=&quot;math-container&quot;&gt;$\mu$&lt;/span&gt;-calculus has many rich results. Similar to van Benthem's theorem&#xA;for modal logic, Janin and Walukiewicz proved that the &lt;span class=&quot;math-container&quot;&gt;$\mu$&lt;/span&gt;-calculus&#xA;is expressively equivalent to the bisimulation invariant fragment of&#xA;monadic second order logic. The &lt;span class=&quot;math-container&quot;&gt;$\mu$&lt;/span&gt;-calculus has also been&#xA;characterised in terms of parity games and automata over infinite&#xA;trees. The satisfiability problem for this logic is EXPTIME complete&#xA;and Emerson and Jutla showed that the logic has the small model&#xA;property. Bradfield showed that the alternation hierarchy of the &lt;span class=&quot;math-container&quot;&gt;$\mu$&lt;/span&gt;-calculus is strict, while Berwanger showed that the variable hierarchy is also strict. Important classical tools used in this area are Rabin's theorem and&#xA;Martin's determinacy theorem.&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.cs.cornell.edu/%7Ekozen/papers/mu.pdf&quot; rel=&quot;noreferrer&quot;&gt;Results on the propositional &lt;span class=&quot;math-container&quot;&gt;$\mu$&lt;/span&gt;-calculus&lt;/a&gt;, Kozen, 1983&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://rads.stackoverflow.com/amzn/click/com/0444506209&quot; rel=&quot;noreferrer&quot; rel=&quot;nofollow noreferrer&quot;&gt;Rudiments of &lt;span class=&quot;math-container&quot;&gt;$\mu$&lt;/span&gt;-calculus&lt;/a&gt; Arnold and Niwinski, 2001&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.labri.fr/perso/igw/Papers/igw-kozen-compl.ps&quot; rel=&quot;noreferrer&quot;&gt;Completeness of Kozen's Axiomatisation of the Propositional&#xA;&lt;span class=&quot;math-container&quot;&gt;$\mu$&lt;/span&gt;-Calculus&lt;/a&gt;, Walukiewicz 1995&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://homepages.inf.ed.ac.uk/jcb/Research/bradfield-stirling-HPA-mu-intro.ps.gz&quot; rel=&quot;noreferrer&quot;&gt;Modal logics and &lt;span class=&quot;math-container&quot;&gt;$\mu$&lt;/span&gt;-calculi&lt;/a&gt;, Bradfield and Stirling, 2001&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://link.springer.com/chapter/10.1007/3-540-61604-7_58?LI=true&quot; rel=&quot;noreferrer&quot;&gt;The modal mu-calculus alternation hierarchy is strict&lt;/a&gt;, Bradfield, 1996&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://mtc.epfl.ch/%7Edwb/pub/hierarchy.pdf&quot; rel=&quot;noreferrer&quot;&gt;The variable hierarchy of the mu-calculus is strict&lt;/a&gt;, Berwanger, E. Grädel, and G. Lenzi, 2005&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h2&gt;Linear Temporal Logic&lt;/h2&gt;&#xA;&lt;p&gt;Linear temporal logic was adopted from philosophical logic into&#xA;computer science for reasoning about the behaviour of computer&#xA;programs. It was considered a good logic because it could express&#xA;properties such as invariance (absence of errors) and termination. The&#xA;proof theory of temporal logic was developed by Manna and Pnueli (and&#xA;others, later) in their articles and books. The model checking and the&#xA;satisfiability problem for LTL can both be solved in terms of automata&#xA;over infinite words.&lt;/p&gt;&#xA;&lt;p&gt;Pnueli also proved fundamental resuls about LTL in his original paper&#xA;introducing the logic for reasoning about programs. Vardi and Wolper&#xA;gave a much simpler compilation of LTL formulae into Buchi automata.&#xA;The connection to temporal logic has led to intense study of&#xA;algorithms for efficiently deriving automata from LTL, and for&#xA;determinization and complementation of Buchi automata. Kamp's theorem&#xA;shows that LTL with &lt;em&gt;since&lt;/em&gt; and &lt;em&gt;until&lt;/em&gt; modalities is expressively&#xA;equivalent to monadic first-order logic with an order relation. There&#xA;is ongoing work extending these results to logics over dense linear&#xA;orders and time intervals. Etessami and Wilke developed a variation of Ehrenfeucht-Fraisse games for LTL and used them to show that the until hierarchy is strict. Another line of work is to extend LTL to express arbitrary &lt;span class=&quot;math-container&quot;&gt;$\omega$&lt;/span&gt;-regular properties. This leads to the linear-time &lt;span class=&quot;math-container&quot;&gt;$\mu$&lt;/span&gt;-calculus, a linear-time counterpart of the modal &lt;span class=&quot;math-container&quot;&gt;$\mu$&lt;/span&gt;-calculus. Unlike the modal counterpart, the linear-time alternation hierarchy collapses at level 2.&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://dl.acm.org/citation.cfm?id=1382534&quot; rel=&quot;noreferrer&quot;&gt;The temporal logic of programs&lt;/a&gt;, Pnueli 1977&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.cs.rice.edu/%7Evardi/papers/25mc.ps.gz&quot; rel=&quot;noreferrer&quot;&gt;From Church and Prior to PSL&lt;/a&gt;, Vardi, 2008&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://link.springer.com/chapter/10.1007/3-540-60915-6_6?LI=true&quot; rel=&quot;noreferrer&quot;&gt;An automata-theoretic approach to linear temporal logic&lt;/a&gt;,&#xA;Vardi and Wolper, 1986&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://rads.stackoverflow.com/amzn/click/com/0387976647&quot; rel=&quot;noreferrer&quot; rel=&quot;nofollow noreferrer&quot;&gt;The Temporal Logic of Reactive and Concurrent Systems:&#xA;Specification&lt;/a&gt;, Manna and Pnueli&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://dl.acm.org/citation.cfm?id=346584&quot; rel=&quot;noreferrer&quot;&gt;An Until hierarchy and other applications of an Ehrenfeucht-Fraïssé game for temporal logic&lt;/a&gt;, Etessami and Wilke, 2000&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h2&gt;Computational-Tree Logics&lt;/h2&gt;&#xA;&lt;p&gt;Instead of a linear notion of time, the behaviour of a computer&#xA;program can be understood as a tree, leading to the notion of&#xA;computational tree logics. The simplest such logic, Computational Tree&#xA;Logic can be viewed as an alternation-free fragment of the&#xA;&lt;span class=&quot;math-container&quot;&gt;$\mu$&lt;/span&gt;-calculus. The difference between LTL and CTL led Emerson and&#xA;Halpern to develop CTL*, which allows reasoning about both properties&#xA;of states and traces.&lt;/p&gt;&#xA;&lt;p&gt;The model checking problem for CTL over finite structures is in&#xA;polynomial time. The model checking problem for CTL* is EXPTIME&#xA;complete. The axiomatization of CTL* was a challenging open problem&#xA;that was finally resolved by Reynolds 2001. The analogue of van&#xA;Benthem's theorem for modal logic and Kamp's theorem for LTL is given&#xA;for CTL* by a theorem of Hafer and Thomas showing that CTL*&#xA;corresponds to a fragment of monadic second order logic over binary&#xA;trees. A later characterisation by Hirschfeld and Rabinovich is that&#xA;CTL* is expressively equivalent to the bisimulation-invariant fragment&#xA;of MSO with path quantification.&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://dl.acm.org/citation.cfm?doid=4904.4999&quot; rel=&quot;noreferrer&quot;&gt;&amp;quot;Sometimes&amp;quot; and &amp;quot;not never&amp;quot; revisited: on&#xA;branching versus linear time temporal logic&lt;/a&gt;, Emerson and Halpern,&#xA;1986&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.computer.org/csdl/proceedings/lics/1999/0158/00/01580360-abs.html&quot; rel=&quot;noreferrer&quot;&gt;On the Expressive Power of CTL&lt;/a&gt;, Moller, Rabinovich, 1999&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://link.springer.com/chapter/10.1007/3-540-18088-5_22&quot; rel=&quot;noreferrer&quot;&gt;Computation tree logic CTL* and path quantifiers in the monadic&#xA;theory of the binary tree&lt;/a&gt;, Hafer and Thomas, 1987&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://projecteuclid.org/DPubS?service=UI&amp;amp;version=1.0&amp;amp;verb=Display&amp;amp;handle=euclid.jsl/1183746544&quot; rel=&quot;noreferrer&quot;&gt;An Axiomatization of Full Computation Tree Logic&lt;/a&gt;, Reynolds,&#xA;2001&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h2&gt;Languages of Infinite Words&lt;/h2&gt;&#xA;&lt;p&gt;The connection to LTL and the necessicity of modelling infinite&#xA;behaviour led to an intense study of &lt;span class=&quot;math-container&quot;&gt;$\omega$&lt;/span&gt;-languages, which are languages in which words are defined as functions from natural numbers to a finite alphabet. The community has studied properties of regular languages over infinite&#xA;words and developed several results analogous to the finite-word case. There are several surprises that show up, so we cannot just lift the finite-word results to the infinite-word case.&lt;/p&gt;&#xA;&lt;p&gt;Some of my favourite results are the characterisiation of &lt;span class=&quot;math-container&quot;&gt;$\omega$&lt;/span&gt;-regular languages in terms of regular languages and analogues of the&#xA;Myhill-Nerode theorems. Staiger showed that you do not just get infinite word automata from an appropriately defined equivalence relation. This holds only for a specific sub-family of &lt;span class=&quot;math-container&quot;&gt;$\omega$&lt;/span&gt;-regular languages. Alpern and Schneider formalised the intuitive notions of safety and liveness of computer programs in terms of  prefix-closed and limit-closed sets of &lt;span class=&quot;math-container&quot;&gt;$\omega$&lt;/span&gt;-words. Moreover, using elementary topology, they showed that every linear-time property can be expressed as the intersection of a safety and a liveness property. This result has significant practical consequences because it means that rather than build complex property checkers, it suffices to build a safety and a liveness checker. A further reduction shows that it is enough to build an invariance checker and a termination checker. The safety-liveness characterisation was extended to trees by Manolios and Trefler and more recently to sets of traces, in the hyperproperties framework, by Clarkson and Schneider.&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.liafa.jussieu.fr/%7Ejep/Resumes/InfiniteWords.html&quot; rel=&quot;noreferrer&quot;&gt;Infinite Words: Automata, Semigroups, Logic and Games&lt;/a&gt;, Perrin and Pin, 2004&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.26.4182&quot; rel=&quot;noreferrer&quot;&gt;&lt;span class=&quot;math-container&quot;&gt;$\omega$&lt;/span&gt;-Languages&lt;/a&gt;, Staiger, 1997&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://hal.archives-ouvertes.fr/docs/00/45/61/13/PDF/bojanczyk.pdf&quot; rel=&quot;noreferrer&quot;&gt;Beyond &lt;span class=&quot;math-container&quot;&gt;$\omega$&lt;/span&gt;-Regular Languages&lt;/a&gt;, Bojanczyk, 2010&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://link.springer.com/chapter/10.1007/3-540-56503-5_58&quot; rel=&quot;noreferrer&quot;&gt;On syntactic congruences for ω—languages&lt;/a&gt;, Maler and Staiger, 1993&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h2&gt;Automata on Infinite Words&lt;/h2&gt;&#xA;&lt;p&gt;Where there are languages, computer scientists will have automata. Enter the theory of automata over infinite words and infinite trees. It is extremely sad that although automata over infinite words appeared within two years of automata on finite words, this fundamental topic is rarely covered in standard computer science curricula. Automata over infinite words and trees provide a very robust approach to prove decidability of satisfiability for a very rich family of logics.&lt;/p&gt;&#xA;&lt;p&gt;A fundamental result is that the different acceptance criteria for&#xA;infinite word automata are all equivalent. The basic problems of&#xA;union, intersection, and complement for &lt;span class=&quot;math-container&quot;&gt;$\omega$&lt;/span&gt;-automata are more&#xA;involved than their finite word counterparts and the details differ&#xA;with the acceptance criterion used. Safra gave a famously complex determinization algorithm for Buchi automata and significant work has been devoted to deriving a new and simpler construction. Rabin famously proved that the monadic second order theory of the binary tree is decidable. His proof uses automata and the cornerstone result is the determinization of Rabin automata. I have heard tell that Rabin's theorem is the &lt;em&gt;mother of all decidability results&lt;/em&gt; in program verification.&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.jstor.org/discover/10.2307/1995086?uid=3739560&amp;amp;uid=2&amp;amp;uid=4&amp;amp;uid=3739256&amp;amp;sid=21101657945657&quot; rel=&quot;noreferrer&quot;&gt;Decidability of Second-Order Theories and Automata on Infinite Trees&lt;/a&gt;, Rabin, 1969&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.automata.rwth-aachen.de/download/papers/thomas/thomas88.pdf&quot; rel=&quot;noreferrer&quot;&gt;Automata on infinite objects&lt;/a&gt;, Thomas, 1988&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.cs.rice.edu/%7Evardi/papers/wal07.pdf&quot; rel=&quot;noreferrer&quot;&gt;Automata: From Logics to Algorithms&lt;/a&gt;, Vardi, 2007&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h2&gt;Infinite Games&lt;/h2&gt;&#xA;&lt;p&gt;Logical and infinite games are an active area of research. Games-theoretic notions show up in computer science all over the place in the duality between non-determinism and parallelism (alternation), a program and its environment, universal and existential quantification, box and diamond modalities, etc. Games turned out to be a great way to study properties of the various types of non-classical logics listed above.&lt;/p&gt;&#xA;&lt;p&gt;As with acceptance criteria for automata, we have different winning conditions for games and many can be shown to be equivalent. Since you asked about classical results, the Borel Determinacy theorem and Gale-Stewart games often lie discreetly in the background of several game models we study. One pressing question of our times has been about the complexity of solving parity games. Jurdzinski gave a strategy-improvement algorithm and showed that deciding the winner was in the intersection of the complexity classes UP and coUP. The precise complexity of Jurdzinski's algorithm was open until Friedmann gave it an exponential-time lower bound in 2009.&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0020019098001501&quot; rel=&quot;noreferrer&quot;&gt;Deciding the winner in parity games is in UP ∩ co-UP&lt;/a&gt;, Jurdzinski, 1998&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/0304397595001360&quot; rel=&quot;noreferrer&quot;&gt;Games for the μ-calculus&lt;/a&gt;, Niwinski and Walukiewicz, 1996&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://files.oliverfriedmann.de/papers/strategy_improvement_lower_bound.pdf&quot; rel=&quot;noreferrer&quot;&gt;An Exponential Lower Bound for the Parity Game Strategy Improvement Algorithm as We Know it&lt;/a&gt;, Friedmann, 2009&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="4155" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2013-01-18T04:23:40.357" CommentCount="0" CommunityOwnedDate="2013-01-13T23:06:30.583" ContentLicense="CC BY-SA 3.0" />
  <row Id="15082" PostTypeId="2" ParentId="15057" CreationDate="2013-01-14T01:47:09.810" Score="5" Body="&lt;p&gt;We use Cauchy's Residue Theorem from complex analysis as the main technical tool in our paper &quot;&lt;a href=&quot;http://eccc.uni-trier.de/report/2010/132&quot;&gt;Approximating Linear Threshold Predicates&lt;/a&gt;&quot;.&lt;/p&gt;&#xA;" OwnerUserId="6190" LastActivityDate="2013-01-14T01:47:09.810" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="15083" PostTypeId="1" CreationDate="2013-01-14T02:50:02.960" Score="11" ViewCount="586" Body="&lt;p&gt;In 1996, a long-standing open problem was solved by a computer; namely, that &lt;a href=&quot;http://en.wikipedia.org/wiki/Robbins_algebra&quot;&gt;Robbins algebra&lt;/a&gt; and Boolean algebra are the same. The proof was found by an automated theorem prover.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Moreover, the known proof of Four color theorem contains computer-generated components.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The aim of this question is to list proofs that are (completely or partially) found by computer (whether the only known proof or the one discovered for the &lt;em&gt;first&lt;/em&gt; time). &lt;/p&gt;&#xA;" OwnerUserId="6190" LastEditorUserId="7059" LastEditDate="2013-01-14T07:34:29.273" LastActivityDate="2013-01-14T10:22:55.557" Title="Proofs found by computer" Tags="&lt;soft-question&gt;&lt;big-list&gt;&lt;proofs&gt;&lt;automated-theorem-proving&gt;" AnswerCount="3" CommentCount="5" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="15084" PostTypeId="2" ParentId="15083" CreationDate="2013-01-14T05:03:44.600" Score="12" Body="&lt;p&gt;Another famous example is &lt;a href=&quot;http://www.math.pitt.edu/~thales/papers/A%20Proof%20of%20the%20Kepler%20Conjecture%20%28Annals%29.pdf&quot;&gt;Hales' proof of Kepler's conjecture&lt;/a&gt; which had a very large computer aided component.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;From &lt;a href=&quot;http://en.wikipedia.org/wiki/Kepler%27s_conjecture#Hales.27_proof&quot;&gt;Wikipedia&lt;/a&gt;:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;In August 1998 Hales announced that the proof was complete. At that stage it consisted of 250 pages of notes and 3 gigabytes of computer programs, data and results.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="969" LastActivityDate="2013-01-14T05:03:44.600" CommentCount="0" CommunityOwnedDate="2013-01-14T05:03:44.600" ContentLicense="CC BY-SA 3.0" />
  <row Id="15085" PostTypeId="2" ParentId="15083" CreationDate="2013-01-14T07:08:44.007" Score="10" Body="&lt;p&gt;This is more of a meta answer in that it is a list of lists.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://www.math.rutgers.edu/~zeilberg/papers1.html&quot;&gt;The papers of Doron Zeilberger&lt;/a&gt;. He is a mathematician and his computer is listed at the coauthor Shalosh B. Ekhad on all papers where the computer played a part in deriving the results.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://www.informatik.uni-trier.de/~ley/pers/hd/g/Gonthier%3aGeorges.html&quot;&gt;Work of Georges Gonthier&lt;/a&gt;. He engineered a machine-checked proof of the four colour theorem and has been recently been working on the Feit-Thompson theorem. He recently completed the formalisation of the Odd-Order Theorem.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://afp.sourceforge.net/&quot;&gt;Archive of Formal Proofs&lt;/a&gt; contains proofs checked with Isabelle, and includes correctness theorems for algorithms, the Gauss-Jordan theorem, some order theory, category theory, and many more classical results.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://www.cs.ru.nl/~freek/100/&quot;&gt;Formalizing 100 Theorems&lt;/a&gt;, contains machine checked proofs of some famous theorems.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="4155" LastEditorUserId="4155" LastEditDate="2013-01-14T07:18:27.513" LastActivityDate="2013-01-14T07:18:27.513" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16083" PostTypeId="2" ParentId="15083" CreationDate="2013-01-14T10:22:55.557" Score="6" Body="&lt;p&gt;One example is the proof of non-existence of a &lt;a href=&quot;http://en.wikipedia.org/wiki/Projective_plane#Finite_projective_planes&quot;&gt;projective plane of order 10&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See &lt;a href=&quot;http://mathdl.maa.org/images/upload_library/22/Ford/Lam305-318.pdf&quot;&gt;The Search for a Finite Projective Plane of Order 10&lt;/a&gt; and &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.39.8684&quot;&gt;The Non-existence of Finite Projective Planes of Order 10&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="13109" LastActivityDate="2013-01-14T10:22:55.557" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16085" PostTypeId="2" ParentId="15019" CreationDate="2013-01-14T10:54:36.740" Score="5" Body="&lt;p&gt;In the last few days I thought a lot about (fully) time-constructible functions and I will present what I found out by answering Q1 and Q3. Q2 seems too hard.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Q3:&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;Kobayashi in his article (the reference is in the question) proved that a function $f:\mathbb{N}\rightarrow\mathbb{N}$, for which there exists an $\epsilon&amp;gt;0$ s.t. $f(n)\geq (1+\epsilon)n$, is fully time constructible iff it is computable in $O(f(n))$ time. (note that it is irrelevant whether the input or output is in unary/binary since we can transform between these two representations in linear time). This makes the following functions fully time-constructible: $2^n$, $2^{2^n}$, $n!$, $n\lfloor \log n \rfloor$, all polynomials $p$ over $\mathbb{N}$ s.t. $p(n)\geq (1+\epsilon)n$ ... Kobayashi also proved fully time-constructibility for some functions that grow slower than $(1+\epsilon)n$, like $n+\lfloor\lfloor\log n\rfloor^q\rfloor$ for $q\in\mathbb{Q}^+$ ...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To continue with examples of fully time-constructible functions, one can prove that if $f_1$ and $f_2$ are fully time-constructible, then $f_1+f_2$, $f_1f_2$, $f_1^{f_2}$ and $f_1\circ f_2$ are also fully time-constructible (the later follows directly from Theorem 3.1 in Kobayashi). This altogether convince me that many nice functions are indeed fully time-constructible.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is surprising that Kobayashi did not see a way to prove fully time-constructibility of the (nice) function $\lfloor n\log n\rfloor$ (and neither do I).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let us also comment the definition from &lt;a href=&quot;http://en.wikipedia.org/wiki/Constructible_function&quot; rel=&quot;nofollow&quot;&gt;Wikipedia article&lt;/a&gt;: &lt;em&gt;A function $f$ is time-constructible, if there exists a Turing machine $M$ which, given a string $1^n$, outputs $f(n)$ in $O(f(n))$ time.&lt;/em&gt;  We see that this definition is equivallent to our definition of fully time-constructibility for functions $f(n)\geq (1+\epsilon)n$.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Q1:&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;This question has a really interesting answer. I claim that if all time-constructible functions are fully time-constructible, then $EXP-TIME=NEXP-TIME$. To prove that, let us take an arbitrary problem $L\in NEXP-TIME$, $L\subseteq\{0,1\}^*$. Then there exists a $k\in\mathbb{N}$, s.t. $L$ can be solved by a NDTM $M$ in $2^{n^k-1}$ steps. We can assume that at each step $M$ goes in at most two different states for simplicity. Now define the function&#xA;$$f(n)=\left\{\begin{array}{ll}&#xA;		8n+2  &amp;amp; \mbox{if }\left(\mbox{first } \lfloor\sqrt[k]{\lfloor\log n\rfloor+1}\rfloor\mbox{ bits of } bin(n)\right)\in L\\&#xA;		8n+1 &amp;amp; \mbox{else}&#xA;	\end{array}&#xA;\right.$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I claim that $f$ is time-construcible. Consider the following deterministic Turing machine $T$:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;on input $w$ of length $n$ it computes $\left(\textrm{first }\lfloor\sqrt[k]{\lfloor\log n\rfloor+1}\rfloor\textrm{ bits of }bin(n)\right)$ in $O(n)$ time&lt;/li&gt;&#xA;&lt;li&gt;then it simulates $M$ on these bits, where the bits of $w$ determine which (formerly nondeterminisic) choices to take.&lt;/li&gt;&#xA;&lt;li&gt;accept iff $\left(M\textrm{ accepts using choices given by }w\right)$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Note that the length of $w$ ($=n$) is enough that it determines all nondeterministic choices, since $M$ on input $\left(\textrm{first }\lfloor\sqrt[k]{\lfloor\log n\rfloor+1}\rfloor\textrm{ bits of }bin(n)\right)$ makes at most $n$ steps.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We can make  $T$ run in at most $8n+1$ steps. Now the following Turing machine proves that $f$ is time-constructible:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;on input $w$ of length $n$ run $T$ and count steps in parallel so that exacly $8n$ steps are done. &lt;/li&gt;&#xA;&lt;li&gt;if $T$ rejected or would reject in the next step, go to a halting state in the next step. Else, make one more step and then go to a halting state.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Now suppose that $f$ is fully time-constructible. We will prove that this leads to $EXP-TIME=NEXP-TIME$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The following algorithm solves $L$:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;on input $x$, let $n$ be the number with binary representation $x00\ldots 0$ ($|x|^{k-1}$ zeros). It follows that $x=\left(\textrm{first }\lfloor\sqrt[k]{\lfloor\log n\rfloor+1}\rfloor\textrm{ bits of }bin(n)\right)$.&lt;/li&gt;&#xA;&lt;li&gt;compute $f(n)$ in time $f(n)$ and check whether it is divisible by 2.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;This algorithm runs in exponential time and solves $L$. Since $L\in NEXP-TIME$ was arbitrary, $EXP-TIME=NEXP-TIME$. &lt;/p&gt;&#xA;" OwnerUserId="7289" LastEditorUserId="7289" LastEditDate="2013-01-20T20:54:46.050" LastActivityDate="2013-01-20T20:54:46.050" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="16086" PostTypeId="1" AcceptedAnswerId="22470" CreationDate="2013-01-14T14:02:19.193" Score="2" ViewCount="135" Body="&lt;p&gt;Consider the following situation, I want to send one of two bitstrings, A or B, to a receiver. Clearly, I can do this by sending the shortest, but is there a better way? It seems that the requirement that one of either should arrive should allow us to save on bits.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To give a specific application: say the receiver and I have a DFA, and I want to send some word in the language described by the automaton. I can do this by encoding a path over the automaton as an n-ary string. But if there are several paths over the automaton, I don't care which the receiver decodes, so long as it decodes to the right word.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there research into this question? Are there google-able phrases that I don't know about? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, if we use a probabilistic DFA, it defines a probability distribution over the words in its language. By the Kraft inequality, there exists a coding for this probability whereby the length of the code for word W is equal to the logarithm of P(W). However if we use a specific path A over the automaton to encode W, that path may only contribute part of the probability mass of P(W). Say there are two paths A and B that produce W, so that P(A) + P(B) = P(W). Is there a scheme that allows us to send a message with length log(P(W)) that decodes into either A or B?&lt;/p&gt;&#xA;" OwnerUserId="7892" LastActivityDate="2014-05-08T20:02:25.777" Title="Ambivalent Coding" Tags="&lt;coding-theory&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16087" PostTypeId="1" AcceptedAnswerId="16128" CreationDate="2013-01-14T14:31:51.923" Score="4" ViewCount="373" Body="&lt;p&gt;In &lt;a href=&quot;http://www.lfcs.inf.ed.ac.uk/reports/92/ECS-LFCS-92-217/&quot; rel=&quot;nofollow&quot;&gt;[1]&lt;/a&gt;, the extended computation tree logic ECTL* is inductively defined as the propositional formulas over all E($A(F_1,..F_n)$), where E is the existential path quantifier and $A$ some Büchi automaton whose alphabet is $2^{\{F_1,..,F_n\}}$ for some ECTL* formulas $F_1,..F_n$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Obviously E($A(F_1)$) with $F_1=$E$(A(F_1)$) is not well-defined for some Büchi automata. So &lt;strong&gt;what does inductively defined exactly mean in this case?&lt;/strong&gt; &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Maybe that no $F_1,..,F_n$ may use $F_1,..,F_n$ in their respective Büchi automata, but the Büchi automata may occur recursively if the alphabet is correctly exchanged. Or may, e.g., $F_1$ use $F_2,..,F_n$, as long as there is no mutual recursion between the $F_i$?&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Update: Does the following define ECTL*'s syntax?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\langle\text{sf}\rangle::=\;&#xA;  \langle\text{atomic prop}\rangle\;\big\vert\;&#xA;\langle\text{sf}\rangle \vee \langle\text{sf}\rangle\;\big\vert&#xA;\neg\langle\text{sf}\rangle\;\big\vert\; \text{E&#xA;}\langle \text{Buechi}\;\mathcal{A}\rangle (\langle\text{sf}\rangle,\dots,\langle\text{sf}\rangle);&#xA;$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(as opposed to &#xA;$\langle\text{sf}\rangle::=\;&#xA;  \langle\text{atomic prop}\rangle\;\big\vert\;&#xA;\langle\text{sf}\rangle \vee \langle\text{sf}\rangle\;\big\vert&#xA;\neg\langle\text{sf}\rangle\;\big\vert\; \text{E&#xA;}\langle \text{Buechi}\;\mathcal{A}\rangle (F_1,\dots,F_n);&#xA;$ where the $F_i$ are ECTL* formulas).&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;h3&gt; In detail,&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.lfcs.inf.ed.ac.uk/reports/92/ECS-LFCS-92-217/&quot; rel=&quot;nofollow&quot;&gt;[1]&lt;/a&gt; says &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Formulas of ECTL* are inductively defined as usual and built from&#xA;  propositional variables using boolean connectives and containing the&#xA;  formula $E(A)$ for each Büchi automaton $A$ over an alphabet&#xA;  $2^{\{F_1,..,F_n\}}$ where the $F_i$ are ECTL* formulas.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;[1] &lt;a href=&quot;http://www.lfcs.inf.ed.ac.uk/reports/92/ECS-LFCS-92-217/&quot; rel=&quot;nofollow&quot;&gt;CTL* and ECTL* as fragements of the modal $\mu$-calculus by Mads Dam&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="6424" LastEditorUserId="4155" LastEditDate="2013-01-18T06:47:00.043" LastActivityDate="2013-01-18T06:47:00.043" Title="Inductive definition of ECTL*: how are recursive formulas forbidden?" Tags="&lt;lo.logic&gt;&lt;automata-theory&gt;&lt;model-checking&gt;&lt;temporal-logic&gt;" AnswerCount="2" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="16088" PostTypeId="2" ParentId="15057" CreationDate="2013-01-14T15:10:26.213" Score="4" Body="&lt;p&gt;There is use of complex numbers and analysis in a recent paper by Naor, Regev and Vidick, yielding results in approximation algorithms for NP-hard optimization problems:&#xA;&lt;a href=&quot;http://arxiv.org/abs/1210.7656&quot; rel=&quot;nofollow&quot;&gt;http://arxiv.org/abs/1210.7656&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="13319" LastActivityDate="2013-01-14T15:10:26.213" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16089" PostTypeId="1" AcceptedAnswerId="16126" CreationDate="2013-01-14T18:45:22.177" Score="2" ViewCount="186" Body="&lt;p&gt;I am interested in references to NP-complete problems that involve some non-linear terms (e.g. quadratic terms). So far I am aware of the &quot;Quadratic Assignment problem&quot; and &quot;Quadratic Programming&quot;. The non-linear terms can be part of e.g. the constraints or the objective function. My motivation is to get some ideas for the following problem:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $k&amp;gt;0$ be an integer and $G=(V,E)$ an undirected graph such that the degree of each vertex is at least $k$. Each node of $G$ picks $k$ of its neighbors as its mates. For each node $v$ let $m(v)$ be the number of neighbors that selected $v$ as a mate. Then $\sum_{v\in V} m(v) = |V|k$. Given a number $C&amp;gt;0$. The mate-problem is to decide whether there exists a selection of mates such that the variance of this selection is less than $C$. In other words &#xA;$\sum_{v\in V} (m(v) - \mu)^2 &amp;lt; C$&#xA;where $\mu$ is the mean value, i.e. $\mu = \frac{1}{|V|}\sum_{v\in V}m(v)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is this decision problem NP-complete? The case $C=0$ can be solved by a max-flow problem.&lt;/p&gt;&#xA;" OwnerUserId="2390" LastActivityDate="2013-01-17T13:52:24.913" Title="NP-complete problems related to Minimizing Variance" Tags="&lt;cc.complexity-theory&gt;&lt;graph-algorithms&gt;&lt;optimization&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16090" PostTypeId="2" ParentId="15057" CreationDate="2013-01-14T19:47:13.527" Score="5" Body="&lt;p&gt;The Koebe-Andreev-Thurston circle packing theorem is originated in Riemann-mapping theorem and has various algorithmic aspects. For examle, it allos a proof of the Lipton-Tarjan seperor theorem for planar graphs. &lt;/p&gt;&#xA;" OwnerUserId="712" LastActivityDate="2013-01-14T19:47:13.527" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16091" PostTypeId="2" ParentId="16087" CreationDate="2013-01-14T20:20:59.680" Score="6" Body="&lt;p&gt;The formula in your statement&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Obviously E(A(F1)) with F1=E(A(F1)) is not well-defined for some Büchi automata. So what does inductively defined exactly mean in this case?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;cannot arise if you built ECTL* inductively. This means, in standard academic parlance, we would present a syntax definition of the form below.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $Prop$ be a set of propositions and $p$ range over $Prop$. If $\varphi_1, \ldots, \varphi_n$ are formulae of ECTL* let $\mathcal{A}[\varphi_1, \ldots, \varphi_n]$ denote an automaton $\mathcal{A}$ over the alphabet $\mathcal{P}(\{\varphi_1, \ldots, \varphi_n\})$ of subsets of the $n$ formulae shown.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$ \varphi ::= p ~\mid~ \varphi \land \varphi ~\mid~ \neg \varphi ~\mid~ \mathsf{E}(\mathcal{A}[\varphi_1, \ldots, \varphi_n])$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I believe there is some confusion in how you may be reading the presentation above. In academic terms this qualifies as BNF. I see that the Wikipedia page gives a slightly different presentation. &#xA;However, the definition above&#xA;is &lt;em&gt;equivalent&lt;/em&gt; to the BNF grammar you give below. It is not a &quot;relaxed BNF&quot; to use your terminology. It is just an inductive definition where some BNF is used where convenient.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;BNF&lt;/strong&gt;: $\langle\text{sf}\rangle::=\;   \langle\text{atomic prop}\rangle\;\big\vert\; \langle\text{sf}\rangle \vee&#xA;\langle\text{sf}\rangle\;\big\vert&#xA;\neg\langle\text{sf}\rangle\;\big\vert\; \text{E }\langle&#xA;\text{Buechi}\;\mathcal{A}\rangle&#xA;(\langle\text{sf}\rangle,\dots,\langle\text{sf}\rangle); $&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Academic writing mixes English and BNF when we make inductive definitions because it is convenient. To see the need for convenience, consider your grammar. It does not inform the reader what $\langle\mathrm{atomic~prop}\rangle$ and what $\langle \mathrm{sf}\rangle$ are. You have chosen an intuitive naming convention, so one can guess the first represents atomic propositions. But in general, we want to have short symbols in our papers, so we prefer a one-time cost of verbose English, which is why we write something like &quot;where $\varphi$ is an ECTL* formula&quot;. This text does not in any way change the language being defined.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To your specific question:&#xA;Your formula $F$ with $F = E(A(F))$ is not a formula of ECTL*. This type of formula cannot arise as the result of an inductive of the form above. This impossibility has nothing to do with the difference in presentation between BNF as you write it and inductive definitions in papers. To derive your formula, you need some atomic propositions, and a sequence of syntactic compositions to build up the more complex formula.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now about fixed points. There is some confusion here too. BNF grammars are specific ways to present certain inductive definitions. They are not the only way and they do not cover all inductive definitions. Inductive definitions are a more general class and can be presented in many ways. Least fixed points are a strict generalisation of inductive definitions. Below I will only give an example of how both the BNF grammar above and the inductive definition I gave define a least fixed point. I emphasise that both definitions give rise to the same least fixed point.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let's assume that $Prop = \{q,r,s\}$ is a set of atomic propositions and $p$ ranges over $Prop$. Consider a lattice $L$ which contains all sets of sequences of symbols appearing in the definitions above. The formulae of ECTL* are one specific element of this lattice. Consider a function $G:L \to L$, which is generated by the definitions above. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$G(\emptyset) = Props$, which accounts for $q$, $r$ and $s$ being formulae, or for the instantiation of $\langle \mathrm{atomic~prop}\rangle$ in BNF.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$G(G(\emptyset)) = G(Props)$, which is the set containing elements, $q \land r$, $q \land s$, $r \land s$, $\neg q$, $\neg s$, $\neg r$, $E(\mathcal{A}(\{q\}))$, $E(\mathcal{A}(\{r\}))$, $E(\mathcal{A}(\{s\}))$, $E(\mathcal{A}(\{q,r\}))$, $E(\mathcal{A}(\{q,s\}))$, $E(\mathcal{A}(\{r,s\}))$, $E(\mathcal{A}(\{q,r,s\}))$.&#xA;This is equivalent to applying the formation rules $\langle \mathrm{sf} \rangle \lor \langle \mathrm{sf} \rangle$, $\neg \langle \mathrm{sf} \rangle $ and the others with $\langle \mathrm{sf} \rangle$ being replaced by $\langle \mathrm{atomic~prop}\rangle$. Alternatively, this is equivalent to one unwinding of the inductive definition where we say, if $\varphi_1$ and $\varphi_2$ are atomic propositions, then $\varphi_1 \land \varphi_2$, $\neg \varphi_1$, $E(\mathcal{A}(\{\varphi_1, \varphi_2\}))$, etc are formulae.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The set $G(G(G(\emptyset)))$ contains $q \land r\land  s$, $r \land \neg s$, $\neg (q \land s)$, $\neg E(\mathcal{A}(\{r\}))$,  $E(\mathcal{A}(\{q \land s, \neg r\}))$ and so on.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The set of ECTL* formulae is the least fixed point of the function $G$ above. Note that I have not explicitly defined it, but this is possible to do and might be an insightful exercise to work out the details. Equivalently, you can obtain exactly the same fixed point by the BNF grammar or the inductive definition I give.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The kind of formula you suggest will occur in a fixed point that is not a least fixed point. I emphasise that both the BNF grammar and the inductive definition I give generate the same function $G$, hence they have the same least fixed point and the same set of fixed points. So, if the inductive definition allows for a certain formula, your BNF must allow for the at formula, and vice versa.&lt;/p&gt;&#xA;" OwnerUserId="4155" LastEditorUserId="4155" LastEditDate="2013-01-17T03:58:33.330" LastActivityDate="2013-01-17T03:58:33.330" CommentCount="14" ContentLicense="CC BY-SA 3.0" />
  <row Id="16092" PostTypeId="2" ParentId="3616" CreationDate="2013-01-14T20:31:35.883" Score="13" Body="&lt;p&gt;Until recently I thought that every multi-tape Turing machine $M$ that runs in time $T(n)$ can be simulated by a two-tape oblivious Turing machinne $M_o$ in time $O(T(n)\log T(n))$ in the following sense: &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;the movement of $M_o$'s heads depends only on the input length&lt;/li&gt;&#xA;&lt;li&gt;for all inputs of the same length, $M_o$ stops at the same time (which is $\Theta(T(n)\log T(n))$).&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;(see &lt;a href=&quot;http://rjlipton.wordpress.com/2009/07/28/oblivious-turing-machines-and-a-crock/&quot; rel=&quot;nofollow noreferrer&quot;&gt;this post&lt;/a&gt; of rjlipton for example)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Well, the second line does not hold in general, if $EXP-TIME\neq NEXP-TIME$. We need a fully time-constructible function of order $\Theta(T(n)\log T(n))$ (see &lt;a href=&quot;https://cstheory.stackexchange.com/questions/15019/equivalent-definitions-of-time-constructibility&quot;&gt;this&lt;/a&gt; question for the definition of (fully) time-constructible functions) or we need to allow $M_o$ to run for infinite time (we allow $M_o$ to run after it reaches the accept state in $O(T(n)\log T(n))$ time). The problem is, that for general time-constructible $T:\mathbb{N}\rightarrow\mathbb{N}$ we are unable to &quot;measure&quot; $\Theta(T(n)\log T(n))$ steps in time $O(T(n)\log T(n))$ unless $EXP-TIME=NEXP-TIME$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The proof of this claim is very similar to the proof in the answer of Q1 &lt;a href=&quot;https://cstheory.stackexchange.com/questions/15019/equivalent-definitions-of-time-constructibility/16085#16085&quot;&gt;here&lt;/a&gt;, thus we will only give the key ideas.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Take an arbitrary problem $L\in NEXP-TIME$, $L\subseteq\{0,1\}^*$. Then there exists a $k\in\mathbb{N}$, s.t. $L$ can be solved by a NDTM $M$ in $2^{n^k}$ steps. We can assume that at each step $M$ goes in at most two different states for simplicity. Next define the function&#xA;$$f(n)=\left\{\begin{array}{ll}&#xA;		(8n+2)^2  &amp;amp; \mbox{if }\left(\mbox{first } \lfloor\sqrt[k]{\lfloor\log n\rfloor+1}\rfloor\mbox{ bits of } bin(n)\right)\in L\\&#xA;		8n+1 &amp;amp; \mbox{else}&#xA;	\end{array}&#xA;\right.$$&#xA;It can be proven that $f$ is time-construcible.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now suppose that some oblivious Turing machine runs in time $g(n)=\Theta(f(n)\log f(n))$. Then $g$ is fully time-constructible. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now the following algorithm solves $L$:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;on input $x$, let $n$ be the number with binary representation $x00\ldots 0$ ($|x|^{k-1}$ zeros). It follows that $x=\left(\textrm{first }\lfloor\sqrt[k]{\lfloor\log n\rfloor+1}\rfloor\textrm{ bits of }bin(n)\right)$.&lt;/li&gt;&#xA;&lt;li&gt;compute $g(n)$ in time $g(n)$. If $g(n)$ is large enough, then $x\in L$, else $x\not\in L$. (this only works for large enough $n$. How large depends on $g$.)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;This algorithm runs in exponential time and solves $L$. Since $L\in NEXP-TIME$ was arbitrary, $EXP-TIME=NEXP-TIME$. &lt;/p&gt;&#xA;" OwnerUserId="7289" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:30.623" LastActivityDate="2013-01-14T20:36:51.217" CommentCount="0" CommunityOwnedDate="2013-01-14T20:31:35.883" ContentLicense="CC BY-SA 3.0" />
  <row Id="16093" PostTypeId="7" CreationDate="2013-01-14T20:59:01.930" Score="0" Body="&lt;ul&gt;&#xA;&lt;li&gt;Specific &lt;em&gt;research-level&lt;/em&gt; questions in &lt;em&gt;theoretical&lt;/em&gt; computer science&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="-1" LastEditorUserId="186" LastEditDate="2013-05-22T17:54:11.957" LastActivityDate="2013-05-22T17:54:11.957" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16094" PostTypeId="2" ParentId="15078" CreationDate="2013-01-14T22:29:44.430" Score="8" Body="&lt;p&gt;In order to reason about inductively defined objects (numbers, lists, trees...), one needs to use induction, or some principle that is at least as powerful as induction.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But explicit induction rules cause huge difficulties for automatic proof search, because they typically force you to invent the necessary induction schema and induction hypotheses at the beginning of the proof.  For some discussion of these difficulties, see &lt;a href=&quot;http://www.era.lib.ed.ac.uk/bitstream/1842/3394/1/0002.pdf&quot;&gt;this paper&lt;/a&gt; by Bundy.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Cyclic proof is an alternative to explicit induction; that is, instead of using a standard proof system with explicit induction rules, one can use a cyclic proof system &lt;em&gt;without&lt;/em&gt; explicit induction rules.  This allows a somewhat more exploratory approach to proof search, where the induction argument is essentially created implicitly through the discovery of a cyclic proof. See &lt;a href=&quot;http://www0.cs.ucl.ac.uk/staff/J.Brotherston/TABLEAUX05/cyclic_proofs_folind.pdf&quot;&gt;this paper&lt;/a&gt; for a comparison between cyclic and non-cyclic proofs (for first-order logic with inductive predicates).&lt;/p&gt;&#xA;" OwnerUserId="13324" LastActivityDate="2013-01-14T22:29:44.430" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16098" PostTypeId="1" CreationDate="2013-01-15T01:54:25.367" Score="1" ViewCount="192" Body="&lt;p&gt;Given a point on a plane A, I want to be able to map to a corresponding point on plane B. I have a set of N corresponding pairs of reference points between the two planes, however, the overall mapping is not a simple affine transform (no homographies for me).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Things I have tried:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;For a given point, find the three closest reference points in plane&#xA;A, compute barrycentric coordinates of that triangle, and then apply&#xA;that transform to the corresponding reference points in plane B. How&#xA;it failed: sometimes the three closest points were nearly collinear,&#xA;so errors were huge. Also, there was no consistency in the mapping&#xA;when crossing borders. It was very &quot;jittery.&quot;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Compute all possible triangles given the N reference points (N^3).&#xA;    Order them by size. For the given point, find the smallest triangle&#xA;    that it's in. This fixes the linearly of the points problem, but was&#xA;    still extremely jittery and slow.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Start with a triangulated plane A. Iterate through the reference&#xA;    points, adding each one to the reference plane. Every time you add a&#xA;    point it exists in at least one triangle. Break that triangle into&#xA;    three triangles using the new reference point as a vertex. You end&#xA;    up with plane A triangulated so you can map from plane A to plane B&#xA;    with ease. Issues: You can prove that every triangle will have a&#xA;    point that is on the edge of the planes. This results in huge errors&#xA;    if your reference points are far from the edge of the planes.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;I feel like this should be a fairly standard problem. Are there standard algorithms/libraries for this?&lt;/p&gt;&#xA;" OwnerUserId="7540" LastActivityDate="2013-01-15T01:54:25.367" Title="Map points from one plane into another" Tags="&lt;graph-algorithms&gt;" AnswerCount="0" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="16099" PostTypeId="1" CreationDate="2013-01-15T02:19:24.883" Score="1" ViewCount="419" Body="&lt;p&gt;First off, I just want to say that I am not well versed in computational geometry, so if this question has some obvious answer, I apologize.  I tried googling it but I could not find anything.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question: Given an input of a plane with 1 or more line segments, is there an efficient algorithm for determining if there exists a closed region on this plane?  For example, see the following picture:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;benjamindicken.com/closed_region.png&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On this plane, there exists one closed region.  I would like the algorithm to return true if a closed region exists, and false if one does not.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;At the moment, I only need this algorithm to determine if a closed region exists or not, but I could foresee needing this to return the number of closed regions as well.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks for your help.&lt;/p&gt;&#xA;" OwnerUserId="13331" LastEditorUserId="13331" LastEditDate="2013-01-15T05:31:42.257" LastActivityDate="2013-01-16T07:48:17.677" Title="Algorithm for detecting closed region on a plane" Tags="&lt;ds.algorithms&gt;&lt;cg.comp-geom&gt;" AnswerCount="1" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="16100" PostTypeId="2" ParentId="16099" CreationDate="2013-01-15T08:06:52.573" Score="2" Body="&lt;p&gt;Let $S$ be a set of segments with the property that no two segments have an intersection with positive length. The set $S$ bounds a region if and only if the intersection graph of the segments in $S$ has a cycle. &lt;/p&gt;&#xA;" OwnerUserId="1839" LastEditorUserId="1839" LastEditDate="2013-01-16T07:48:17.677" LastActivityDate="2013-01-16T07:48:17.677" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="16101" PostTypeId="1" CreationDate="2013-01-15T08:59:24.117" Score="4" ViewCount="133" Body="&lt;p&gt;Real-time countable functions were used in time hierarchy theorem in the papers of &lt;a href=&quot;http://people.irisa.fr/Sophie.Pinchinat/HartmanisStearns1965.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Hartmanis and Stearns&lt;/a&gt; (Theorem 9, 9.1 ...) and also of &lt;a href=&quot;http://www.ccs.neu.edu/home/viola/classes/papers/HennieStearns66.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Hennie and Stearns&lt;/a&gt; (Theorems 3, 5, 7 ...). Now it is a &quot;standard&quot; to use the notion of time-constructible function instead. This question has the aim to compare these two notions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We say that a function $f:\mathbb{N}\rightarrow\mathbb{N}$ is &lt;em&gt;fully time-constructible&lt;/em&gt;, if there exists a deterministic multi-tape Turing machine $M$ that on all inputs of length $n$ makes exactly $f(n)$ steps. See &lt;a href=&quot;https://cstheory.stackexchange.com/questions/15019/equivalent-definitions-of-time-constructibility&quot;&gt;this&lt;/a&gt; question for more about (fully) time-constructible functions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We say that a function $f:\mathbb{N}\rightarrow\mathbb{N}$ is &lt;em&gt;real-time countable&lt;/em&gt;, if &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$f$ is monotone increasing&lt;/li&gt;&#xA;&lt;li&gt;there exists a deterministic multi-tape Turing machine $M$ that on empty input, on $n$-th step outputs 1 if $\exists m: f(m)=n$ and else outputs 0.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The second condition sais that started on empty input, $M$ on each step outputs 0 or 1, depending on whether the number of the step is in the image of $f$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is easy to see that the function $(n-2)^2+5$ is fully time-constructible. But it is not real-time countable, since it is not monotone increasing. It is also easy to see that the function, given recursively by $f(0)=1$,&#xA;$$f(n)=\left\{\begin{array}{ll}&#xA;		f(n-1)  &amp;amp; \mbox{if the turing machine encoded by }n \mbox{ halts on empty input}\\&#xA;		f(n-1)+1 &amp;amp; \mbox{else}&#xA;	\end{array}&#xA;\right.$$&#xA;is not recursive, thus not fully time-constructible. But it is real-time countable (consider a Turing machine that on each step outputs one).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thus, the discussed notions are in general incomparable. But the reason just given is in some sense &quot;primitive&quot;. Thus it is interesting to consider an injective real-time countable function and a monotone fully time-constructible function (I think that the essence of both definitions remains).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is easy to see that all injective real-time countable functions are fully time-constructible: just wait for the $n$-th one to be outputted (it will be in the $f(n)$-th step). And the question that remains is:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Q: Is every monotone fully time-constructible function real-time countable?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I think that the answer to this question would somehow shed more light on which notion is &quot;stronger&quot;. Note that fully time-constructibility of some function $f$ tells us that we can compute fast enough whether on the $f(n)$-th step we should output 1 or 0. But in the next step we need the information about $f(n+1)$ and then for $f(n+2)$ ... &lt;/p&gt;&#xA;" OwnerUserId="7289" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2013-01-15T08:59:24.117" Title="Real-time countable vs fully time-constructible" Tags="&lt;cc.complexity-theory&gt;&lt;time-complexity&gt;&lt;time-hierarchy&gt;" AnswerCount="0" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16102" PostTypeId="2" ParentId="15065" CreationDate="2013-01-15T17:11:12.553" Score="4" Body="&lt;p&gt;You can still argue by counting. No matter how randomness is used, there is a way to fix the randomness in such a way that the function is computed correctly deterministically on at least $\frac{2}{3}2^n$ inputs. Thus assuming any function can be computed with error at most $\frac{1}{3}$ by some circuit in size $S$, any function can be described by a circuit of size $S$ together with a set of at most size $\frac{1}{3}2^n$ of inputs where the answer is incorrect.&lt;/p&gt;&#xA;" OwnerUserId="313" LastEditorUserId="313" LastEditDate="2013-01-21T12:06:15.667" LastActivityDate="2013-01-21T12:06:15.667" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="16103" PostTypeId="1" CreationDate="2013-01-15T18:03:07.527" Score="7" ViewCount="425" Body="&lt;p&gt;The $\oplus$3-REGULAR BIPARTITE PLANAR VERTEX COVER problem consists in computing the parity of the number of vertex covers of a 3-regular bipartite planar graph.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Question&lt;/strong&gt;&lt;/p&gt;&#xA;  &#xA;  &lt;ol&gt;&#xA;  &lt;li&gt;&lt;p&gt;Which is the complexity of such problem? Is it $\oplus$P-hard, or is it in P?&lt;/p&gt;&lt;/li&gt;&#xA;  &lt;li&gt;&lt;p&gt;What if we remove the planarity restriction (i.e. $\oplus$3-REGULAR BIPARTITE VERTEX COVER)?&lt;/p&gt;&lt;/li&gt;&#xA;  &lt;/ol&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The closest I was able to find is that $\oplus$3/2 BIPARTITE PLANAR VERTEX COVER is $\oplus$P-complete (see Theorem 2.2 in &lt;a href=&quot;http://people.seas.harvard.edu/~valiant/focs06.pdf&quot;&gt;this paper&lt;/a&gt;).&lt;/p&gt;&#xA;" OwnerUserId="947" LastActivityDate="2015-12-29T13:37:03.017" Title="Complexity of $\oplus$ 3-REGULAR BIPARTITE PLANAR VERTEX COVER" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;&lt;complexity-classes&gt;&lt;counting-complexity&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="16104" PostTypeId="1" AcceptedAnswerId="16123" CreationDate="2013-01-15T19:44:25.643" Score="10" ViewCount="1365" Body="&lt;p&gt;The following question is related to the optimality of the Bellman-Ford $s$-$t$ shortest&#xA;path dynamic programming algorithm (see &lt;a href=&quot;https://cstheory.stackexchange.com/questions/14591/combinatorics-of-bellman-ford-or-how-to-make-cyclic-graphs-acyclic&quot;&gt;this post&lt;/a&gt; for a connection). Also, a positive answer would imply that the minimal size of &#xA;a monotone &lt;a href=&quot;http://people.cs.uchicago.edu/~razborov/files/fct.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;nondeterministic branching program&lt;/a&gt; for the &#xA;&lt;a href=&quot;https://cstheory.stackexchange.com/questions/12841/monotone-complexity-of-s-t-connectivity&quot;&gt;STCONN&lt;/a&gt; problem is $\Theta(n^3)$.&#xA;&lt;p&gt;&#xA;Let $G$ be a DAG (directed acyclic graph)&#xA;with one source node $s$ and one target node $t$.&#xA;A $k$-&lt;b&gt;cut&lt;/b&gt; is a set of edges, whose removal destroys all $s$-$t$ paths&#xA;of length $\geq k$; we assume that there are such paths in $G$. &#xA;Note that shorter $s$-$t$ paths need &lt;i&gt;not&lt;/i&gt; be destroyed.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;&lt;b&gt;Question:&lt;/b&gt;&#xA;Does $G$ must have at least (about) $k$ &lt;b&gt;disjoint&lt;/b&gt; $k$-cuts?&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;If there are no $s$-$t$ paths shorter than $k$, the answer is YES, because&#xA;we have the following known min-max fact (a dual to&#xA;&lt;a href=&quot;http://en.wikipedia.org/wiki/Menger%27s_theorem&quot; rel=&quot;nofollow noreferrer&quot;&gt;Menger’s theorem&lt;/a&gt;) attributed to Robacker&lt;sup&gt;$\ast$&lt;/sup&gt;.&#xA;An $s$-$t$ cut is&#xA;a $k$-cut for $k=1$ (destroys &lt;i&gt;all&lt;/i&gt; $s$-$t$ paths).&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;&lt;b&gt;Fact:&lt;/b&gt;&#xA;In any directed graph, the &lt;i&gt;maximum&lt;/i&gt; number of edge-disjoint $s$-$t$ cuts is equal to the &lt;i&gt;minimum&lt;/i&gt; length of an $s$-$t$ path.&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Note that this holds even if the graph is &lt;i&gt;not&lt;/i&gt; acyclic.&#xA;&lt;p&gt;&#xA;&lt;b&gt;Proof:&lt;/b&gt;&#xA;Trivially, the minimum is at least the maximum, since each $s$-$t$&#xA;path intersects&#xA;each $s$-$t$ cut in an edge.&#xA;To see equality, let $d(u)$ be the length of a shortest path from $s$ to $u$.&#xA;Let  $U_r=\{u\colon d(u)=r\}$, for $r = 1,\ldots, d(t)$, and&#xA;let $E_r$ be the set of edges leaving $U_r$.&#xA;It is clear that the sets $E_r$ are disjoint, because the sets $U_r$ are such.&#xA;So, it remains to show that each $E_r$ is an $s$-$t$ cut.&#xA;To show this, take an arbitrary $s$-$t$ path $p=(u_1, u_2, \ldots,u_m)$&#xA;with $u_1=s$ and $u_m=t$. Since $d(u_{i+1})\leq d(u_i)+1$, the sequence&#xA;of distances $d(u_1),\ldots,d(u_m)$ must reach the value&#xA;$d(u_m)=d(t)$ by starting at $d(u_1)=d(s)=0$ and increasing the value by at&#xA;most $1$ in each step. If some value $d(u_i)$ is decreased , then we must&#xA;reach value $d(u_i)$ latter. So, there must be a $j$ where a jump&#xA;from $d(u_j)=r$ to $d(u_{j+1})=r+1$ happens, meaning the edge $(u_j,u_{j+1})$&#xA;belongs to $E_r$, as desired. Q.E.D.&#xA;&lt;p&gt;&#xA;But what if there are also shorter (than $k$) paths? Any hint/reference?&#xA;&lt;p&gt;&#xA;&lt;hr&gt;&#xA;$^{\ast}$&#xA;J.T. Robacker, Min-Max Theorems on Shortest Chains and Disjoint Cuts of a Network, &#xA;Research Memorandum RM-1660, The RAND Corporation, Santa Monica, California, [12 Jan-&#xA;uary] 1956. &#xA;&lt;hr&gt;&#xA;&lt;b&gt;EDIT&lt;/b&gt; (a day later): Via a short and very nice argument, &#xA;David Eppstein answered the original question &#xA;above in &lt;em&gt;negative&lt;/em&gt;: the &lt;strong&gt;complete&lt;/strong&gt; DAG $T_n$ (a &lt;a href=&quot;http://en.wikipedia.org/wiki/Tournament_%28graph_theory%29&quot; rel=&quot;nofollow noreferrer&quot;&gt;transitive tournament&lt;/a&gt;) cannot have more than four disjoint $k$-cuts! In fact, he proves the following interesting &lt;em&gt;structural&lt;/em&gt; fact, for $k$ about $\sqrt{n}$. A cut is &lt;i&gt;pure&lt;/i&gt; if it contains no edges incident to $s$ or to $t$.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;Every pure $k$-cut in $T_n$ contains a path of length $k$.&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;This, in particular, implies that every two pure $k$-cuts must intersect! But perhaps there still are many pure $k$-cuts that do not overlap&#xA;&quot;too much&quot;. Hence, a relaxed question (the consequences for STCONN would be the &lt;i&gt;same&lt;/i&gt;):&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;&lt;b&gt;Question 2:&lt;/b&gt; &#xA;If every pure $k$-cut has $\geq M$ edges, does then the graph must have &#xA;about $\Omega(k\cdot M)$ edges?&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The connection with the complexity&#xA;of STCONN comes from the &lt;a href=&quot;http://www.renyi.hu/~p_erdos/1959-10.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;result&lt;/a&gt; of Erd&amp;#337;s and Gallai that one has to remove all but $(k-1)m/2$ edges from (undirected) $K_m$ in order to destroy all paths of length $k$. &#xA;&lt;hr&gt;&#xA;&lt;b&gt;EDIT 2:&lt;/b&gt; I now asked Question 2 at &lt;a href=&quot;https://mathoverflow.net/questions/119511/do-sparse-dags-can-have-large-min-cuts&quot;&gt;mathoverflow&lt;/a&gt;. &lt;/p&gt;&#xA;" OwnerUserId="5788" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2013-01-22T19:07:02.010" Title="How many disjoint edge-cuts a DAG must have?" Tags="&lt;graph-theory&gt;&lt;circuit-complexity&gt;&lt;lower-bounds&gt;" AnswerCount="1" CommentCount="0" CommunityOwnedDate="2013-01-19T12:33:50.853" ContentLicense="CC BY-SA 3.0" />
  <row Id="16105" PostTypeId="1" CreationDate="2013-01-15T19:52:12.567" Score="18" ViewCount="334" Body="&lt;p&gt;Assuming $\mathsf{P} \ne \mathsf{NP}$ can we show $\mathsf{P} \ne \mathsf{P/poly} \cap \mathsf{NP}$? Obviously this would be the case if $\mathsf{P} \ne \mathsf{NP}$ and $\mathsf{P/poly} \supset \mathsf{NP}$ but this is unlikely. This is also true under the assumption $\mathsf{P} \ne \mathsf{BPP}$, however AFAIK it is commonly believed $\mathsf{P} = \mathsf{BPP}$. Can we prove $\mathsf{P} \ne \mathsf{P/poly} \cap \mathsf{NP}$ under a weaker assumption? What evidence can be provided for/against? Is there a specific language which is believed to be in $\mathsf{P/poly} \cap \mathsf{NP}$ but not in $\mathsf{P}$?&lt;/p&gt;&#xA;" OwnerUserId="7030" LastEditorUserId="7030" LastEditDate="2013-01-15T20:02:59.710" LastActivityDate="2013-01-30T01:15:52.343" Title="$\mathsf{P} \ne \mathsf{P/poly} \cap \mathsf{NP}$?" Tags="&lt;cc.complexity-theory&gt;&lt;p-vs-np&gt;&lt;advice-and-nonuniformity&gt;" AnswerCount="0" CommentCount="6" ClosedDate="2013-02-11T20:58:35.113" ContentLicense="CC BY-SA 3.0" />
  <row Id="16106" PostTypeId="1" CreationDate="2013-01-16T02:01:21.403" Score="1" ViewCount="115" Body="&lt;h2&gt;Assumptions&lt;/h2&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;I believe RL can be derandomized in polynomial time:&#xA;&lt;ul&gt;&#xA;&lt;li&gt;We need to store the following state:&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The position of the head on the input.&lt;/li&gt;&#xA;&lt;li&gt;The state of the TM&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;li&gt;Both can be stored with O(log n) bits.&lt;/li&gt;&#xA;&lt;li&gt;We use dynamic programming, building a table of poly(n) size encapsulating the state of the TM. Then, we march along the random bits, calculating the probability of each TM state after reading a given bit.&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;This should give us &lt;em&gt;exact&lt;/em&gt; acceptance probability in $poly(n)$ time.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Observation&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;People care about prgs for log space machines.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Question:&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;Why? What can we do with a prg for RL that we can't do with an exact acceptance probability algo for RL ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is implied by a O(log n) seed length PRG for RL?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks!&lt;/p&gt;&#xA;" OwnerDisplayName="user13175" LastActivityDate="2013-01-16T03:41:39.643" Title="For log-space machines, why do we care about PRGs?" Tags="&lt;cc.complexity-theory&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16107" PostTypeId="2" ParentId="16106" CreationDate="2013-01-16T03:41:39.643" Score="7" Body="&lt;p&gt;You show that RL$\subseteq$P. Better derandomization could show that RL=L.&lt;/p&gt;&#xA;" OwnerUserId="40" LastActivityDate="2013-01-16T03:41:39.643" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="16108" PostTypeId="1" AcceptedAnswerId="16110" CreationDate="2013-01-16T05:22:22.613" Score="2" ViewCount="241" Body="&lt;p&gt;In the paper &lt;em&gt;Fast LTL to Buchi Automata Translation&lt;/em&gt; (2001, Gastin and Oddoux)  the authors, while defining co-Buchi alternating automata define  $\Sigma’= 2^\Sigma$ where $\Sigma$ is the alphabet.&#xA;They say that because of this the transitions that differ only by action can be gathered. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;What does this statement exactly mean? Any pointers will be helpful.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;thanks&lt;/p&gt;&#xA;" OwnerUserId="11005" LastEditorUserId="4155" LastEditDate="2013-01-19T22:37:15.700" LastActivityDate="2013-01-19T22:37:15.700" Title="Alternating automata" Tags="&lt;automata-theory&gt;&lt;temporal-logic&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16109" PostTypeId="2" ParentId="16108" CreationDate="2013-01-16T11:14:49.147" Score="4" Body="&lt;p&gt;I only had a quick look at the paper, but it sounds as if they mean the following. If there are two transitions from state $s_1$ to state $s_2$ with different labels $a$ and $b$, they &quot;group&quot; them into one transition with label $\{a,b\}$. However, they write that they interpret the set in such a way that the resulting automaton still accepts the same words in $\Sigma^{\omega}$. The sets of actions are represented as boolean expressions about the actions, e.g. $a\vee b$. &#xA;That is, they simply choose a more efficient datat structure than listing the possible transitions from $s_1$ to $s_2$. &lt;/p&gt;&#xA;" OwnerUserId="7908" LastEditorUserId="7908" LastEditDate="2013-01-16T11:22:12.767" LastActivityDate="2013-01-16T11:22:12.767" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16110" PostTypeId="2" ParentId="16108" CreationDate="2013-01-16T11:58:39.687" Score="6" Body="&lt;p&gt;Expanding on Markus' answer a bit, note that the alphabet $\Sigma$ is in turn the powerset $2^{Prop}$ of the set $Prop=\{p_1,\dots,p_k\}$ of atomic propositions, i.e. it represents the set of valuations $a:Prop\to\{T,F\}$ of the $p_i$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the LTL formula, most boolean subformulas involve only a few of the propositions. In the translation, any such subformula corresponds to the set of all valuations $a\in\Sigma$ satisfying it, which is typically large. Using $\Sigma'$, you still only have one transition.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, Figure 1 in the paper shows an automaton with transitions labelled simply by $p$ or $q\wedge\neg r$ (where $p,q,r$ are the propositions from the formula). Using $\Sigma$, for the first you would instead have four transitions labelled $\{p\},\{p,q\},\{p,r\},$ and $\{p,q,r\}$. &lt;/p&gt;&#xA;" OwnerUserId="5183" LastActivityDate="2013-01-16T11:58:39.687" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16111" PostTypeId="1" AcceptedAnswerId="16120" CreationDate="2013-01-16T12:54:56.917" Score="6" ViewCount="625" Body="&lt;h2&gt;Background:&lt;/h2&gt;&#xA;&lt;p&gt;In their &lt;a href=&quot;http://seclab.cs.ucdavis.edu/papers/Rogaway/3pkd.pdf&quot; rel=&quot;noreferrer&quot;&gt;1995 paper&lt;/a&gt;, Bellare and Rogaway describe a formal model for authenticated key exchange in a tripartite setting. In this setting, each client has a shared key with a central server, which is willing to help in key distribution between any two mutually distrustful clients. This model is reminiscent of the security settings for &lt;a href=&quot;http://en.wikipedia.org/wiki/Needham-Schroeder_protocol&quot; rel=&quot;noreferrer&quot;&gt;Needham-Schroeder protocol&lt;/a&gt;, Kerberos and Active Directory.&lt;/p&gt;&#xA;&lt;p&gt;For brevity, let's denote the Bellare-Rogaway-1995 model by &amp;quot;BR95.&amp;quot;&lt;/p&gt;&#xA;&lt;p&gt;The adversary in the BR95 model is a probabilistic polynomial-time algorithm, which has total control over the communication between each pair of parties. Moreover, the adversary&#xA;can mount a number of attacks on any single party. The attacks include revealing the session key, corrupting a party, and a special &amp;quot;TEST&amp;quot; attack, which is described next.&lt;/p&gt;&#xA;&lt;p&gt;When the adversary has finished with experimenting different attacks on the parties, it makes a &lt;strong&gt;final&lt;/strong&gt; TEST attack. The attack is restricted in several ways; for instance, the adversary cannot mount the TEST attack on a corrupted party, or on a party whose session key is already revealed. (Nor can the adversary mount the test attack on the partner of such party.)&lt;/p&gt;&#xA;&lt;p&gt;On issuing the TEST attack, the adversary is given either of the following, each with probability 1/2:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;The session key of the party on which the TEST attack is mounted; or&lt;/li&gt;&#xA;&lt;li&gt;A random string of the same length as the session key.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;The idea is that the adversary must be unable to distinguish the above two cases with advantage more than negligibly over 1/2.&lt;/p&gt;&#xA;&lt;hr /&gt;&#xA;&lt;h2&gt;The Flaw&lt;/h2&gt;&#xA;&lt;p&gt;In another paper, &lt;a href=&quot;http://www.iacr.org/archive/eurocrypt2000/1807/18070140-new.pdf&quot; rel=&quot;noreferrer&quot;&gt;Bellare, Pointcheval, and Rogaway&lt;/a&gt; write:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Soon after the appearance of [BR95], Rackoff came up with an example showing how the definition given in that paper was not strong enough to&#xA;guarantee security for certain applications using the distributed session key. The&#xA;authors of [BR95] traced the problem to a simple issue: they had wrongly made the&#xA;restriction that the TEST query be the adversary's &lt;strong&gt;last&lt;/strong&gt;. Removal of this restriction&#xA;solved the problem. This minor but important change in the definition of [BR95],&#xA;made in 1995, has since been folklore in the community of researchers in this&#xA;area, and is explicitly incorporated into our current work.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Along the same lines, &lt;a href=&quot;http://www.shoup.net/papers/skey.pdf&quot; rel=&quot;noreferrer&quot;&gt;Shoup&lt;/a&gt; explains:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;We have taken the opportunity here to correct a serious flaw that appears in [BR95,...] that was pointed out to the authors of [BR95] by Charles Rackoff. In the formulation in [BR95, ...], the TEST operation is only allowed to be performed at the &lt;strong&gt;very end&lt;/strong&gt; of the adversary's execution, whereas we have allowed it to occur at any time.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Shoup then tries to pinpoint the flaw on a contrived version of a protocol called &amp;quot;DHKE-1&amp;quot; (designed by himself). However, the contrived version is too &amp;quot;non-standard&amp;quot; for me to understand. Specifically, it includes the operation (or attack) &lt;strong&gt;core dump&lt;/strong&gt;, which is not compatible with the attacks listed in the BR95 model.&lt;/p&gt;&#xA;&lt;hr /&gt;&#xA;&lt;h2&gt;Question&lt;/h2&gt;&#xA;&lt;p&gt;Could you please illustrate the flaw in the BR95 via an example, where &lt;strong&gt;disallowing&lt;/strong&gt; the TEST attack in the middle of execution can result in a false proof of security?&lt;/p&gt;&#xA;" OwnerUserId="873" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2013-01-17T03:50:05.980" Title="The flaw in Bellare-Rogaway (1995) model on authenticated key exchange" Tags="&lt;cr.crypto-security&gt;&lt;security&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16115" PostTypeId="2" ParentId="6684" CreationDate="2013-01-16T13:46:51.540" Score="3" Body="&lt;p&gt;Not a perfect answer to my question, but you can give &lt;a href=&quot;http://scantailor.sourceforge.net/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Scan Tailor&lt;/a&gt; a shot. It does magic with poorly scanned documents.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I also use Adobe Acrobat's ClearScan OCR, after processing the document with Scan Tailor. It vectorizes the text, and therefore enhances the readability.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here's an example of converting a &quot;photographed&quot; page to one that looks like a &quot;scanned&quot; one. It is provided to give an impression of the quality enhancement provided by Scan Tailor.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/jv4aJ.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;" OwnerUserId="873" LastEditorUserId="873" LastEditDate="2013-01-17T22:29:22.143" LastActivityDate="2013-01-17T22:29:22.143" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16116" PostTypeId="2" ParentId="6684" CreationDate="2013-01-16T20:02:15.403" Score="14" Body="&lt;p&gt;If you work on a university campus, there's likely a large building nearby full of study carrels and magazine racks called a &quot;&lt;strong&gt;&lt;em&gt;LIE-BURY&lt;/em&gt;&lt;/strong&gt;&quot;.  Deep in the bowels of such buildings, one can often find images of old research papers inscribed onto thin sheets of cellulose fiber extracted from wood and cotton, called &quot;paper&quot;, and then bound into larger brick-sized objects called &quot;books&quot;.  (At least according to Wikipedia, this &lt;em&gt;is&lt;/em&gt; the reason we call our research reports &quot;papers&quot;.  Who knew?!)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Surprisingly, despite the crudeness of the technology that produced them, these so-called &quot;books&quot; are often significantly easier to read than their more modern electronic counterparts.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One serious disadvantage of this approach is that one must actually &lt;em&gt;walk all the way across campus&lt;/em&gt;, but we all must occasionally suffer for our art.&lt;/p&gt;&#xA;" OwnerUserId="111" LastActivityDate="2013-01-16T20:02:15.403" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="16118" PostTypeId="2" ParentId="14950" CreationDate="2013-01-16T22:47:11.503" Score="9" Body="&lt;p&gt;I found the journal version of the preprint by Skums et al. pointed by @mhum; it is here: &#xA;&lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0012365X07010539&quot;&gt;Discrete Mathematics 309 (2009) 3500–3517&lt;/a&gt;. &#xA;There, the authors corrected their citation as follows: &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;The situation changes radically if one takes $k \ge 3$ instead of $k = 2$. &#xA;  Lovasz posed  the problem of characterizing the class $L_3$, and&#xA;  noted that it has no characterization by  a finite list of forbidden&#xA;  induced subgraphs (&lt;em&gt;a finite characterization&lt;/em&gt;) [9]. It has been &#xA;  proved that the recognition problems &quot;$G \in L_k$” for “$k \ge 4$”&#xA;  [15], “$G \in L^l_3$” for $k \ge 3$ and the problem of recognition of&#xA;  edge intersection graphs of $3$-uniform  hypergraphs without multiple&#xA;  edges [15] are NP-complete.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Reference 15 is the aforementioned Poljak et al. (1981). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, I think, recognizing line graphs of $3$-hypergraphs (with multiple edges allowed) is an &lt;strong&gt;OPEN PROBLEM&lt;/strong&gt;, and @mhum's answer indeed was helpful in this finding. Thanks!&lt;/p&gt;&#xA;" OwnerUserId="6706" LastActivityDate="2013-01-16T22:47:11.503" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16119" PostTypeId="1" AcceptedAnswerId="16125" CreationDate="2013-01-17T00:51:48.083" Score="33" ViewCount="1691" Body="&lt;p&gt;Let $X$ denote a (decision) problem in NP and let #$X$ denote its counting version.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Under what conditions is it known that &quot;X is NP-complete&quot; $\implies$ &quot;#X is #P-complete&quot;?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course the existence of a parsimonious reduction is one such condition, but this is obvious and the only such condition of which I am aware.  The ultimate goal would be to show that no condition is needed.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Formally speaking, one should start with the counting problem #$X$ defined by a function $f : \{0,1\}^* \to \mathbb{N}$ and then define the decision problem $X$ on an input string $s$ as $f(s) \ne 0$?&lt;/p&gt;&#xA;" OwnerUserId="3964" LastEditorUserId="3964" LastEditDate="2013-01-21T15:16:50.420" LastActivityDate="2017-05-24T18:17:28.040" Title="When does &quot;X is NP-complete&quot; imply &quot;#X is #P-complete&quot;?" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;&lt;counting-complexity&gt;" AnswerCount="2" CommentCount="11" FavoriteCount="17" ContentLicense="CC BY-SA 3.0" />
  <row Id="16120" PostTypeId="2" ParentId="16111" CreationDate="2013-01-17T03:50:05.980" Score="4" Body="&lt;p&gt;The &quot;protocol interference&quot; attack:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;From Fig 2 of &lt;a href=&quot;http://seclab.cs.ucdavis.edu/papers/Rogaway/3pkd.pdf&quot; rel=&quot;nofollow&quot;&gt;http://seclab.cs.ucdavis.edu/papers/Rogaway/3pkd.pdf&lt;/a&gt; --&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In Flow3A (resp. 3B), before the intended message is delivered, the adversary manages to obtain an encryption under $K_A$ (resp. $K_B$) of a different session key $\sigma'$ (through interacting with $S$ in a higher-level protocol) and sends this &quot;forged&quot; message to $A$ and $B$. This is a successful man-in-the-middle style attack.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Why the security definition should include TEST in the middle of execution:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If the interaction doesn't terminate immediately after TEST, then the forged session breaks security in a very obvious way. Namely, with probability 1/2, the TEST operation hands a key to the adversary; it &lt;em&gt;becomes&lt;/em&gt; the &quot;higher-level protocol&quot; we're worried about with constant probability. If the adversary is not forced to immediately halt, then it can use this key to perform the man-in-the-middle attack above (at least in the BR95 scheme).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The security definition given in BR95 is, therefore, too weak as this is a plausible attack (Why would an adversary arbitrarily halt, especially after they've just extracted useful information?). That is, a protocol vulnerable to this attack is (wrongly) proven secure under the given definition.&lt;/p&gt;&#xA;" OwnerUserId="108" LastActivityDate="2013-01-17T03:50:05.980" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16121" PostTypeId="1" CreationDate="2013-01-17T06:16:30.570" Score="11" ViewCount="158" Body="&lt;p&gt;Consider two sequences &lt;span class=&quot;math-container&quot;&gt;$u_1 \geq u_2 \geq ... \geq u_n$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$l_1 \geq l_2 \geq ... \geq l_n$&lt;/span&gt; with &lt;span class=&quot;math-container&quot;&gt;$u_i \geq l_i$&lt;/span&gt; for every &lt;span class=&quot;math-container&quot;&gt;$i$&lt;/span&gt;. Let &lt;span class=&quot;math-container&quot;&gt;$\mathcal{G}(l_{1:n},u_{1:n})$&lt;/span&gt; be all undirected unweighted simple graphs on &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt; vertices that have their spectrum lower-bounded by &lt;span class=&quot;math-container&quot;&gt;$l_{1:n}$&lt;/span&gt; and upper-bounded by &lt;span class=&quot;math-container&quot;&gt;$u_{1:n}$&lt;/span&gt;. In other words, let &lt;span class=&quot;math-container&quot;&gt;$G$&lt;/span&gt; be a graph on &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt; vertices, and &lt;span class=&quot;math-container&quot;&gt;$\lambda_1 \geq \lambda_2 \geq ... \geq \lambda_n$&lt;/span&gt;  the eigenvalues of &lt;span class=&quot;math-container&quot;&gt;$G$&lt;/span&gt;'s adjacency matrix; if &lt;span class=&quot;math-container&quot;&gt;$l_i \leq \lambda_i \leq u_i$&lt;/span&gt; for all &lt;span class=&quot;math-container&quot;&gt;$i$&lt;/span&gt; then &lt;span class=&quot;math-container&quot;&gt;$G \in \mathcal{G}(l_{1:n},u_{1:n})$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Is there an efficient procedure to sample a graph uniformly at random from &lt;span class=&quot;math-container&quot;&gt;$\mathcal{G}(l_{1:n},u_{1:n})$&lt;/span&gt;?&lt;/strong&gt; If not, what restrictions do we need to place on &lt;span class=&quot;math-container&quot;&gt;$l_{1:n}$&lt;/span&gt;, &lt;span class=&quot;math-container&quot;&gt;$u_{1:n}$&lt;/span&gt;, or elsewhere to have such a procedure? What if we just need the distribution over &lt;span class=&quot;math-container&quot;&gt;$\mathcal{G}(l_{1:n},u_{1:n})$&lt;/span&gt; to be approximately uniform?&lt;/p&gt;&#xA;&lt;p&gt;In the application I am considering, I really only care about the first few eigenvalues (biggest 2 or 3). If we constain only &lt;span class=&quot;math-container&quot;&gt;$l_i \leq \lambda_i \leq u_i$&lt;/span&gt; for all &lt;span class=&quot;math-container&quot;&gt;$i \in \{1,2\}$&lt;/span&gt; or &lt;span class=&quot;math-container&quot;&gt;$i \in \{1,2,3\}$&lt;/span&gt; (instead of all &lt;span class=&quot;math-container&quot;&gt;$i$&lt;/span&gt; as before) then is there a good sampling algorithm?&lt;/p&gt;&#xA;&lt;p&gt;If no good sampling algorithm is known even in the restricted case then what do people usually do in practice?&lt;/p&gt;&#xA;&lt;hr /&gt;&#xA;&lt;h3&gt;Related question&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/q/3742/1037&quot;&gt;Reverse Graph Spectra Problem?&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="1037" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2013-01-18T00:48:52.373" Title="Generating a random graph with constraints on spectrum" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;randomness&gt;&lt;spectral-graph-theory&gt;" AnswerCount="0" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16122" PostTypeId="1" CreationDate="2013-01-17T06:41:24.697" Score="3" ViewCount="117" Body="&lt;p&gt;I normally do machine learning work, and when I'm evaluating an algorithm on a data set, I always use cross-validation to determine how effective the algorithm is.  Is there a similar method for evaluating approximation algorithms on specific instances of NP-hard problems?  If not, how do you determine which algorithm is best for a given problem domain in practice?&lt;/p&gt;&#xA;" OwnerUserId="10267" LastActivityDate="2013-01-17T08:24:58.370" Title="Is there an algorithm that's &quot;like&quot; cross-validation for approximation algorithms of NP-hard problems?" Tags="&lt;np-hardness&gt;&lt;approximation-algorithms&gt;&lt;machine-learning&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16123" PostTypeId="2" ParentId="16104" CreationDate="2013-01-17T06:41:49.583" Score="9" Body="&lt;p&gt;Short answer: no.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $G$ be a complete DAG (transitive tournament) on $n$ vertices with $s$ and $t$ its source and sink, and let $k=\sqrt{n/3}$. Observe that there can be at most four disjoint cuts that contain more tham $n/3$ edges incident to $s$ or more than $n/3$ edges incident to $t$. So, if there are to be many disjoint cuts, we can assume that there exists a cut $C$ that does not contain large numbers of edges incident to $s$ and $t$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now let $X$ be the complete subgraph induced in $G$ by the set of vertices $x$ such that edges $sx$ and $xt$ do not belong to $C$. The number of vertices in $X$ is at least $n/3$, because otherwise $C$ would touch too many edges incident to $s$ or $t$. However, $X\setminus C$ cannot contain a $k$-path, because if such a path existed it could be concatenated with $s$ and $t$ to form a long path in $G\setminus C$. Therefore, the longest-path layering of $X\setminus C$ has fewer than $k$ layers, and has a layer containing more than $(n/3)/k=k$ vertices. Since this is a layer of the longest path layering, it is independent in $X\setminus C$, and therefore complete in $C$, so $C$ contains a path $P$ through the vertices of this layer, of length $k$. This path must be disjoint from all of the other cuts.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Every cut that is not $C$ must contain either the edge from $s$ to the start of path $P$ or the edge from the end of path $P$ to $t$, or else it would not block the path $s$–$P$–$t$. So if $C$ exists, there can be at most three disjoint cuts. And if $C$ does not exist (that is, if all cuts cover more than $n/3$ edges incident to $s$ or to $t$) there can be at most four disjoint cuts. Either way, this is a lot fewer than $k$ cuts.&lt;/p&gt;&#xA;" OwnerUserId="95" LastEditorUserId="95" LastEditDate="2013-01-17T16:48:23.947" LastActivityDate="2013-01-17T16:48:23.947" CommentCount="11" ContentLicense="CC BY-SA 3.0" />
  <row Id="16124" PostTypeId="2" ParentId="16122" CreationDate="2013-01-17T08:24:58.370" Score="4" Body="&lt;p&gt;Crossvalidation is used to test the difference in behaviour between training and test data. There's no equivalent notion for approximations. However, for many problems it's possible (often via an LP relaxation) to get a good lower bound for a problem. This can be used to test the quality of a given approximation algorithm in practice. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For a good example of this, you should look at &lt;a href=&quot;http://www2.research.att.com/~dsj/papers/TSPchapter.pdf&quot; rel=&quot;nofollow&quot;&gt;David Johnson's survey of experimental work&lt;/a&gt; on the travelling salesman problem. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2013-01-17T08:24:58.370" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16125" PostTypeId="2" ParentId="16119" CreationDate="2013-01-17T13:03:19.437" Score="26" Body="&lt;p&gt;The most recent paper on this question seems to be:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Noam Livne, &lt;em&gt;A note on #P-completeness of NP-witnessing relations&lt;/em&gt;, &#xA;Information Processing Letters, Volume 109, Issue 5, 15 February 2009, Pages 259–261&#xA;&lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0020019008003141&quot;&gt;http://www.sciencedirect.com/science/article/pii/S0020019008003141&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;which gives some sufficient conditions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Interestingly the introduction states &quot;To date, all known NP complete sets have a defining relation which is #P complete&quot;, so the answer to Suresh's comment is &quot;no examples are known&quot;.&lt;/p&gt;&#xA;" OwnerUserId="636" LastActivityDate="2013-01-17T13:03:19.437" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16126" PostTypeId="2" ParentId="16089" CreationDate="2013-01-17T13:52:24.913" Score="0" Body="&lt;p&gt;The problem should be solved in polynomial time since it can be reduced to the integral convex quadratic minimum-cost flow problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The essential part of the objective function is $\sum_{v \in V}m(v)^2$ since $\sum_{v \in V}m(v)$ does not change by a choice of mates.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a graph $G=(V,E)$ we construct the following network. The vertex set is $V_+ \cup V_- \cup \{s,t\}$, where $V_+ = \{v_+ \mid v \in V\}$ and $V_- = \{v_- \mid v \in V\}$ are copies of $V$, and $s,t \not\in V_+\cup V_-$.  The vertex $s$ is a source, and $t$ is a sink. The arcs are constructed as follows. &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;There is an arc from $s$ to each vertex in $V_+$.  The capacity is $k$, and the cost is $0$.&lt;/li&gt;&#xA;&lt;li&gt;There is an arc from each vertex in $V_-$ to $t$.  The capacity is $+\infty$, and the cost is the square of flow on the arc.&lt;/li&gt;&#xA;&lt;li&gt;There is an arc from $u_+ \in V_+$ to $v_- \in V_-$ if and only if there is an edge $\{u,v\} \in E$ in $G$.  The capacity is $1$, and the cost is $0$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Now, we inject the $k|V|$ unit of flow to the network from $s$ toward $t$.  Then, a feasible integral flow corresponds to a mate assignment, and the total cost is $\sum_{v \in V} m(v)^2$.&lt;/p&gt;&#xA;" OwnerUserId="2955" LastActivityDate="2013-01-17T13:52:24.913" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16127" PostTypeId="1" CreationDate="2013-01-17T14:14:51.087" Score="5" ViewCount="339" Body="&lt;p&gt;I have a question about a answer of a question which is proposed in this stack exchange.&lt;/p&gt;&#xA;&#xA;&lt;h1&gt;The Past Question&lt;/h1&gt;&#xA;&#xA;&lt;p&gt;One of the most basic result in circuit complexity is the constnat depth cirdcuit lower bound computing PARITY function using the switching lemma. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another popular function MAJORITY has also lower bound $exp (\Omega (n^{1/(d-1)}))$ and matching upper bound $exp (O (n^{2/(d-1)}))$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is about upper bound of Threshold function which is a natural generalization of majority function. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The formal definition of the threshold function is the following one. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;DEFINITION:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$THR(x_{1},...,x_{n})=&#xA;  \begin{cases}&#xA;    1 &amp;amp; a_{1}x_{1}+\cdots +a_{n}x_{n} \geq t \\&#xA;    0 &amp;amp; otherwise&#xA;  \end{cases}&#xA;$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We assume that each weight $a_{i} \in \mathbb{Z}$ is at most $2^{O(n)}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;QUESTION1:&#xA;The depth $d$ circuit with unbounded fanin AND OR NOT gates to compute the above function has size $2^{n^{\epsilon}}$ ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Where $\epsilon $ can depend on $d$ like $2^{n^{1/100d}}$ .&lt;/p&gt;&#xA;&#xA;&lt;h1&gt;Answer&lt;/h1&gt;&#xA;&#xA;&lt;p&gt;Kristoffer Arnsfelt Hansen said that:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1.$General$ $weight$ $threshold$ $gates$ can be computed by polynomial size depth 2 circuits built from $majority$ $gates$. An efficient construction of this is e.g. given by Amano and Maruoka. Then you can just compute each of these by constant depth circuits built from AND and OR gates.&lt;/p&gt;&#xA;&#xA;&lt;h1&gt;My Question&lt;/h1&gt;&#xA;&#xA;&lt;p&gt;$majority$ $gates$ is a monotone gate which is computes a monotone function. A monotone functin does not decreace its function value by increasing the number of &quot;1&quot;s in the input 0-1 bit string. However, $General$ $weight$ $threshold$ $gates$  is NOT a monotone function. For example, we can check the function which output 1 if and only if $2x_{1} -5x_{2} + 3x_{3} \geq 3.5$ is not a monotone function because increasing the value of  $x_{2}$ brokes the monotone property. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is :&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For a givern arbitrary threshold function $THR:\{0,1\}^{n}\rightarrow \{0,1\}$ with arbitrary real number weights and with no monotonicity, can we construct a constant depth circuit with $poly(n)$ threshold gates such that for any gate, any weight of the gate is integer number and is at most $poly(\Delta) $, where $\Delta$ is fan-in of the gate?&lt;/p&gt;&#xA;" OwnerUserId="13354" LastActivityDate="2013-01-18T08:45:36.223" Title="Monotonicity and Threshold function" Tags="&lt;cc.complexity-theory&gt;&lt;circuit-complexity&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="16128" PostTypeId="2" ParentId="16087" CreationDate="2013-01-17T16:40:40.170" Score="5" Body="&lt;p&gt;I think the key problem here is not understanding how inductive definitions of syntax work. Here are three approaches to understanding what a BNF grammar means.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider a simple grammar:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$ t ::= \mathtt{true} ~~|~~ \mathtt{false} ~~|~~ 0 ~~|~~ \mathtt{succ}\ t ~~|~~ \mathtt{if}\ t\ \mathtt{then}\ t\ \mathtt{else}\ t$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Following &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0262162091&quot; rel=&quot;nofollow&quot;&gt;Pierce's &lt;em&gt;Types and Programming Languages&lt;/em&gt;&lt;/a&gt; pages 26-27, the set of terms defined by this grammar is given by the following three equivalent ways.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Inductively&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The set of terms is the smallest set $\mathcal{T}$ such that:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;$\{\mathtt{true},\mathtt{false},0\}\subseteq\mathcal{T}$.  &lt;/li&gt;&#xA;&lt;li&gt;if $t_1\in\mathcal{T}$, then $\mathtt{succ}\ t_1\in\mathcal{T}$.&lt;/li&gt;&#xA;&lt;li&gt;if $t_1,t_2,t_3\in\mathcal{T}$, then $\mathtt{if}\ t_1\ \mathtt{then}\ t_2\ \mathtt{else}\ t_3\in\mathcal{T}$.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;By Inference Rules&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The set of terms is defined by the following rules:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\mathtt{true}\in\mathcal{T} \qquad&#xA;\mathtt{false}\in\mathcal{T} \qquad 0\in\mathcal{T}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\dfrac{t_1\in\mathcal{T}}{\mathtt{succ}\ t_1\in\mathcal{T}}&#xA;\qquad &#xA;\dfrac{t_1\in\mathcal{T}\quad t_2\in\mathcal{T}\quad t_3\in\mathcal{T}}{\mathtt{if}\ t_1\ \mathtt{then}\ t_2\ \mathtt{else}\ t_3\in\mathcal{T}}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Concretely&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For each natural number $i$, define set $S_i$ as follows:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;$S_0=\emptyset$.&lt;/li&gt;&#xA;&lt;li&gt;$S_{i+1}=\{\mathtt{true},\mathtt{false},0\}\cup\{\mathtt{succ}\ t_1\mid t_1\in S_i\} \cup \{\mathtt{if}\ t_1\ \mathtt{then}\ t_2\ \mathtt{else}\ t_3 \mid t_1,t_2,t_3\in S_i\}$&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Finally,     $S=\bigcup_i S_i$ is the set of all terms.&lt;/p&gt;&#xA;" OwnerUserId="77" LastEditorUserId="6424" LastEditDate="2013-01-17T19:01:20.983" LastActivityDate="2013-01-17T19:01:20.983" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="16129" PostTypeId="1" CreationDate="2013-01-17T17:02:30.717" Score="6" ViewCount="187" Body="&lt;p&gt;I came up with a result the other day that arbitrary length Roman numeral evaluation can be modeled as a monoid:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://gist.github.com/4542999&quot;&gt;https://gist.github.com/4542999&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) Is this a known result?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) If not, any suggestions of a niche journal that might be interested in such a submission?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;3) Any known results on the space complexity of finite monoid elements?&#xA;I have yet to come across a monoid representation with efficient parallel computation that took more than O(log N) space, with N being the number of elements being &quot;added&quot;/&quot;multiplied&quot;. Useful monoid data structures seem to be a constant number of counters or a member of a transformation semigroup of constant size; i.e. a fixed length array of size K with elements in 0...(K-1).&lt;/p&gt;&#xA;" OwnerUserId="2021" LastActivityDate="2013-01-17T17:02:30.717" Title="Complexity of Roman numeral evaluation" Tags="&lt;kolmogorov-complexity&gt;&lt;parallel&gt;&lt;monoid&gt;&lt;ds.algorithms&gt;" AnswerCount="0" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16130" PostTypeId="2" ParentId="15057" CreationDate="2013-01-17T22:08:25.573" Score="0" Body="&lt;p&gt;there is some research showing undecidability associated with various aspects of computation of the &lt;a href=&quot;http://en.wikipedia.org/wiki/Mandelbrot_set&quot; rel=&quot;nofollow&quot;&gt;Mandelbrot set&lt;/a&gt;, a famous, prototype &lt;a href=&quot;http://en.wikipedia.org/wiki/Fractal&quot; rel=&quot;nofollow&quot;&gt;fractal&lt;/a&gt; which is computed using complex numbers and counting the number of iterations associated with the equation $z \leftarrow z^2 + c$ to reach an unbounded increasing sequence. a detailed account and survey can be found in [1], which appeared in a physics journal but with heavy use of TCS concepts eg Turing Machines etc. an early ref [2] by Blum concludes that the Mandelbrot set is not decidable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] &lt;a href=&quot;http://chaos.c.u-tokyo.ac.jp/papers/others/saito.pdf&quot; rel=&quot;nofollow&quot;&gt;Inaccessibility and undecidability in computation, geometry, and dynamical systems&lt;/a&gt;&#xA; Asaki Saito, Kunihiko Kaneko&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] &lt;a href=&quot;http://www.icsi.berkeley.edu/pubs/techreports/tr-90-058.pdf&quot; rel=&quot;nofollow&quot;&gt;A theory of computation and complexity over the real numbers&lt;/a&gt; Lenore Blum, 1990&lt;/p&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2013-01-17T22:08:25.573" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16131" PostTypeId="2" ParentId="15061" CreationDate="2013-01-17T22:25:05.057" Score="1" Body="&lt;p&gt;an area of strong overlap between logic and computer science is &lt;a href=&quot;http://en.wikipedia.org/wiki/Automated_theorem_proving&quot; rel=&quot;nofollow noreferrer&quot;&gt;automated theorem proving&lt;/a&gt;, eg [4]. also eg ref [1] is the use of the Boyer-Moore theorem prover to check/verify Godels theorem. another recent major/impressive result is the recent completion of software verification of the four color theorem (and others such as Odd Order and Feit-Thompson [3]) at Microsoft research by Gonthier.[2]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0521585333&quot; rel=&quot;nofollow noreferrer&quot;&gt;Metamathematics, Machines and Gödel's Proof (Cambridge Tracts in Theoretical Computer Science&lt;/a&gt; by Shankar&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] &lt;a href=&quot;http://research.microsoft.com/en-us/um/people/gonthier/4colproof.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;A computer-checked proof of the Four Colour Theorem&lt;/a&gt; Georges Gonthier&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[3] &lt;a href=&quot;https://cstheory.stackexchange.com/questions/12729/interesting-algorithms-in-the-formalization-of-the-feit-thompson-theorem&quot;&gt;Interesting algorithms in the formalization of the Feit-Thompson theorem?&lt;/a&gt; tcs.se&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[4] &lt;a href=&quot;https://cstheory.stackexchange.com/questions/82/where-and-how-did-computers-help-prove-a-theorem&quot;&gt;Where and how did computers help prove a theorem?&lt;/a&gt; tcs.se&lt;/p&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2013-01-17T22:30:26.153" CommentCount="0" CommunityOwnedDate="2013-01-17T22:25:05.057" ContentLicense="CC BY-SA 3.0" />
  <row Id="16132" PostTypeId="2" ParentId="15061" CreationDate="2013-01-18T04:21:45.223" Score="3" Body="&lt;p&gt;There is a very strong tradition of logic in computer science. The problems we study and the aesthetics of the computational logic community is not identical to that of the mathematical logic community. You are absolutely right that significant developments in model theory, the meta-theory of first-order logic and of set theory are not commonly used in computational logic. One can successfully research computational logi without seeing or using ultrafilters, non-standard analysis, forcing, the Paris-Harrington theorem, and a host of other fascinating concepts which are considered important in classical logic.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Just as one applies mathematical ideas to study logic as well as logical ideas to study mathematics, we apply logic to study computer science and as well as applying computational perspectives to study logic. This different focus has rather dramatic consequences for the types of results that are important for us.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is a quotation from John Baez about logic and computer science. I do not hold exactly the same view because I am not very familiar with advanced mathematical logic.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;When I was an undergraduate I was quite interested in logic and the foundations of mathematics --- I was always looking for the most mind-blowing concepts I could get ahold of, and Goedel's theorem, the Loewenheim-Skolem theorem, and so on were right up there with quantum mechanics and general relativity as far as I was concerned. [...] I remember feeling at the time that logic had become less revolutionary than in it was in the early part of the century. It seemed to me that logic had become a branch of mathematics like any other, studying obscure properties of models of the Zermelo-Fraenkel axioms, rather than questioning the basic presumptions implicit in those axioms and daring to pursue new, different approaches. [...]&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;Anyway, it's now quite clear to me that I just hadn't been reading the right stuff. I think Rota has said that the really interesting work in logic now goes under the name of &quot;computer science',[...] &lt;em&gt;--Week 40, This Week's Find, John Baez&lt;/em&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Logic in computer science is a vast and rapidly developing field. I find that every perspective of classical logic can be modified to derive some perspective on computational logic. The Wikipedia entry on mathematical logic splits the field into set theory, model theory, proof theory and recursion theory. You can esssentially take these areas and add a computational flavour to them and obtain a sub-field of computational logic.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Model Theory&lt;/strong&gt; We like to study the model theory of non-classical logics and non-classical models of classical logic. By that I mean that we study modal, temporal and sub-structural logics, and that we study logics over trees, words, and finite models, as opposed to classical models like algebras. The two fundamental problems are satisfiability and model checking. Both have immense practical and theoretical significance. In contrast, these problems are less central in classical logic.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Proof theory&lt;/strong&gt; We study the complexity and efficiency with which we can generate proofs in classical proof systems, as well as developing new, non-classical proof systems that are sensitive to complexity and efficiency considerations. Automated deduction studies machine-supported proof generation, broad speaking. The process may involve human interaction or be completely automatic. There is a lot of work on developing decision procedures for logical theories. Proof complexity focuses on the size of proofs and the computational complexity of generating proofs. There is a fascinating line of work relating programs to proofs, which combines with work descending from linear logic to develop proof systems, and consequently programming languages, that are resource sensitive.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Recursion theory&lt;/strong&gt; Our recursion theory is complexity theory. Rather than studying what is computable we study how efficiently we can compute. There are many analogues of recursion theory in complexity theory, but the results and separations of recursion theory do not always hold for their complexity theoretic analogues. Instead of computable sets and an arithmetic hierarchy, we have polynomial time, the polynomial time hierarchy and polynomial space enclosing the hierarchy. Instead of bounded quantification in the arithmetic hierarchy, we have satisfiability and quantified Boolean formulae and bounded quantification of Boolean formulae.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The survey article&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;a href=&quot;http://www.cs.rice.edu/~vardi/papers/aaas99.jsl.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;On the Unusual Effectiveness of Logic in Computer Science&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;is a good starting point to get a very high-level view of computational logic. I am going to list several, logically oriented fields of computer science. I hope that others will edit this answer and add to that list here, and possibly add a link to an answer on this page.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/a/15081/4155&quot;&gt;Finite model theory&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Proof complexity&lt;/li&gt;&#xA;&lt;li&gt;Algorithmic deduction (decision procedures for logical theories)&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/a/15064/4155&quot;&gt;Logics of programs&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Dynamic logic&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/a/15081/4155&quot;&gt;Linear Temporal logic&lt;/a&gt; and its variants&lt;/li&gt;&#xA;&lt;li&gt;Computational Tree Logic and its variants&lt;/li&gt;&#xA;&lt;li&gt;Epistemic logic&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/a/15070/4155&quot;&gt;Database theory&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Type theory&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/a/15081/4155&quot;&gt;Automata over infinite words&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Categorical logic&lt;/li&gt;&#xA;&lt;li&gt;Concurrency theory and process algebra&lt;/li&gt;&#xA;&lt;li&gt;Domain theory&lt;/li&gt;&#xA;&lt;li&gt;Linear logic&lt;/li&gt;&#xA;&lt;li&gt;Descriptive Complexity&lt;/li&gt;&#xA;&lt;li&gt;Model Checking&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/a/15081/4155&quot;&gt;Fixed Point calculi&lt;/a&gt; and transitive closure logics&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="4155" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2013-01-18T04:21:45.223" CommentCount="0" CommunityOwnedDate="2013-01-18T04:21:45.223" ContentLicense="CC BY-SA 3.0" />
  <row Id="16133" PostTypeId="1" AcceptedAnswerId="16134" CreationDate="2013-01-18T04:31:35.793" Score="5" ViewCount="167" Body="&lt;p&gt;This is bothering me for some time. Consider that I have a set of CNF formulae:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$F_1 = \left( A \lor B \lor C \right) \land \left( C \lor D \lor E \right) \land \left( B \lor F \lor G \right)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$F_2 = \left( B \lor F \lor G \right)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$F_3 = \left( A \lor B \lor D \right)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, given the values (T/F) of the literals ($A$, $B$, $\cdots$), I wish to evaluate these formulae.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, the point is that, if we observe closely, we can see that formula $F_1$ subsumes formula $F_2$ (i.e., while evaluating $F_1$, I will be automatically evaluating $F_2$). If I evaluate $F_1$ first followed by $F_2$, I will be unnecessarily repeating the efforts (since I already evaluated the $3^{rd}$ clause in $F_1$, I could have used that result for $F_2$, if I had some way of knowing it). Again, in case of $F_1$ and $F_3$, they do share some parts of the $1^{st}$ clause.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, the question is, whether I can re-use the work done while performing this evaluation, by discovering the relationships (or hierarchy) of these CNF rules. I would like some scheme which tells me to evaluate $\left(A \lor B \right)$, use that for $F_1$ and $F_3$, tells me to evaluate $F_2$ before $F_1$ and directly use that result while evaluating $F_1$ (and so on...)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is anyone aware of such problems? I know concepts such as &lt;a href=&quot;http://en.wikipedia.org/wiki/Tree_decomposition&quot;&gt;Junction Trees&lt;/a&gt; in machine learning, &lt;a href=&quot;http://en.wikipedia.org/wiki/Memoization&quot;&gt;Memoization&lt;/a&gt; in DP, or data structures like Trie which loosely achieve the same, but I am not able to fit my problem to these formulations. Any help would be greatly appreciated.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Salil&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(PS: I posted this earlier on math.SE, but could not get any ideas, and was instead suggested to post this problem here)&lt;/p&gt;&#xA;" OwnerUserId="13356" LastActivityDate="2013-01-18T05:54:36.040" Title="CNF Rule hierarchy discovery" Tags="&lt;lo.logic&gt;&lt;lattice&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="16134" PostTypeId="2" ParentId="16133" CreationDate="2013-01-18T05:54:36.040" Score="9" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;a href=&quot;http://fmv.jku.at/papers/HeuleJarvisaloBiere-SAT11.pdf&quot;&gt;Efficient CNF Simplification based on Binary Implication Graphs&lt;/a&gt;, Marijn Heule, Matti Jarvisalo, and Armin Biere, 2011&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;&quot;This paper develops techniques for efficiently detecting and removing redundancies from CNF (conjunctive normal form) formulas based on the underlying binary clause structure (i.e., the binary implication graph) of the formulas. &lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;In addition to considering known simplification techniques (hidden tautology elim- ination (HTE), hyper binary resolution (HBR), failed literal elimination over binary clauses, equivalent literal substitution, and transitive reduction  of the binary implication graph), we introduce the novel technique of hidden literal elimination (HLE) that removes so-called hidden literals from clauses without affecting the set of satisfying assignments.&quot;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I recommend Section 2.1 of the paper which reviews known simplification techniques.&lt;/p&gt;&#xA;" OwnerUserId="4155" LastActivityDate="2013-01-18T05:54:36.040" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="16135" PostTypeId="1" CreationDate="2013-01-18T06:42:11.757" Score="8" ViewCount="384" Body="&lt;p&gt;I read the famous book by Alon and Spencer on the probabilistic method in combinatorics. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a survey or lecture notes on recent advances and relationships with the following complexity theoretic topics of this method beyond this textbook?&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;pseudorandom generators fooling concrete computation models, expander graphs.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;complexity lower bounds for concrete computation models such as circuits, branching programs, streaming, property testing, learning, and communication complexity.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;randomized complexity theoretic aspects of algebraic coding theory and information theory.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;VC-dimension, discrepancy and other geometric topics.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="13358" LastEditorUserId="186" LastEditDate="2013-03-02T07:27:31.033" LastActivityDate="2013-03-02T07:27:31.033" Title="Recent Probabilistic Methods in Combinatorics and its appplications to Complexity Theory" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;co.combinatorics&gt;&lt;soft-question&gt;&lt;survey&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="16136" PostTypeId="2" ParentId="16127" CreationDate="2013-01-18T08:45:36.223" Score="2" Body="&lt;p&gt;If I understand your question correctly the answer is yes. In the paper&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&quot;Majority Gates Vs. General Weighted Threshold Gates&quot; (http://www.nada.kth.se/~johanh/majorityvsthreshold.pdf) by Goldman, Håstad, and Razborov&lt;/p&gt;&#xA;&#xA;&lt;p&gt;They show that anything that can be computed by a depth $d$ threshold circuit can be computed by a depth $d+1$ unweighted threshold circuit of poly size.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Your question seems to be a special case of this for $d=1$.&lt;/p&gt;&#xA;" OwnerUserId="4201" LastActivityDate="2013-01-18T08:45:36.223" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16137" PostTypeId="1" AcceptedAnswerId="16141" CreationDate="2013-01-18T10:42:38.357" Score="5" ViewCount="512" Body="&lt;p&gt;&lt;a href=&quot;http://www.wisdom.weizmann.ac.il/~harel/SCANNED.PAPERS/ProcessLogic.pdf&quot;&gt;Process Logic&lt;/a&gt; is a modal logic allowing to reason about temporal properties of programs. Its formulae take the form similar to (Propositional) Dynamic Logic $[P]\phi$, with $P$ being a program (think regular expression) and $\phi$ being another process logic formula, however unlike PDL, it can contain temporal LTL-style modalities. Unlike LTL, the formulae are read as follows &quot;&lt;em&gt;along traces resulting from execution of $P$, $\phi$ holds&lt;/em&gt;&quot;, or plainly &quot;&lt;em&gt;during execution of $P$, $\phi$ holds&lt;/em&gt;&quot;. Temporal modalities correspond to an extension of LTL with a &lt;em&gt;chop&lt;/em&gt; and &lt;em&gt;slice&lt;/em&gt; operators.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am interested in a fragment of Process Logic where $\phi$ wouldn't be a full PL formula, but rather a plain LTL formula without modalities of the form $[P]$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question:&lt;/strong&gt; &lt;em&gt;Are there complexity analysis results relevant to model-checking formulae of Process Logic, or related formalisms? I am interested in both, the the complexity analysis, as well as some ideas for algorithms for doing it.&lt;/em&gt;&lt;/p&gt;&#xA;" OwnerUserId="10269" LastEditorUserId="10269" LastEditDate="2013-01-18T13:47:31.627" LastActivityDate="2013-02-18T05:21:47.543" Title="What is the complexity of model checking Process Logic (LTL fragment)?" Tags="&lt;time-complexity&gt;&lt;model-checking&gt;&lt;linear-temporal-logic&gt;&lt;temporal-logic&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="16138" PostTypeId="2" ParentId="4462" CreationDate="2013-01-18T15:15:58.350" Score="0" Body="&lt;p&gt;Maybe i am out of topic concerning the bloom filters but If you want to preserve order on encrypted data then there is a research work on that which yet is impractical. There are only theoritical constructions on that: &lt;a href=&quot;http://www.cc.gatech.edu/~aboldyre/papers/operev.pdf&quot; rel=&quot;nofollow&quot;&gt;order preserving encryption&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="4874" LastActivityDate="2013-01-18T15:15:58.350" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16139" PostTypeId="2" ParentId="16135" CreationDate="2013-01-18T15:45:51.777" Score="6" Body="&lt;p&gt;I recommend looking at &lt;a href=&quot;http://www.thi.informatik.uni-frankfurt.de/~jukna/&quot;&gt;Stasys Jukna&lt;/a&gt;'s books Extremal Combinatorics and Boolean Function Complexity. For discrepancy and the like, you can look at &lt;a href=&quot;http://www.cs.princeton.edu/~chazelle/&quot;&gt;Bernard Chazelle&lt;/a&gt;'s book The Discrepancy Method (available online at his homepage).&lt;/p&gt;&#xA;" OwnerUserId="40" LastActivityDate="2013-01-18T15:45:51.777" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16140" PostTypeId="2" ParentId="6302" CreationDate="2013-01-18T16:36:30.170" Score="3" Body="&lt;p&gt;Although it's an old topic I'm replying since there are many people who still visit such posts. I'm motivated from a comment in another reply.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The Barabasi-Albert model and other models that produce scale-free graphs have been proposed to model the Internet at the router level and at the autonomous-system level. Although initially such models where considered accurate it turned out that we do not have a complete image of the Internet topology due to difficulties in discovering all the links. Although it is believed to be heavy tail it is pretty much work in progress. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For your reference you can read:&#xA;RG Clegg, C Di Cairano-Gilfedder, S Zhou, A critical look at power law modelling of the Internet&lt;/p&gt;&#xA;" OwnerUserId="6120" LastActivityDate="2013-01-18T16:36:30.170" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16141" PostTypeId="2" ParentId="16137" CreationDate="2013-01-19T04:31:08.530" Score="2" Body="&lt;p&gt;More along the &quot;related formalisms&quot; direction.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.informatik.uni-leipzig.de/~lohrey/08-JSL.pdf&quot; rel=&quot;nofollow&quot;&gt;PDL with intersection and converse: satisfiability and infinite-state model checking&lt;/a&gt;, Stefan Göller, Markus Lohrey, and Carsten Lutz, 2009&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.lsv.ens-cachan.fr/Publis/PAPERS/PDF/DG-jlc09.pdf&quot; rel=&quot;nofollow&quot;&gt;The Effects of Bounding Syntactic Resources on Presburger LTL&lt;/a&gt;, Stéphane Demri and Régis Gascon&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;The introduction section of the first paper has an extensive discussion of complexity results for PDL fragments and extensions. I include the second mainly because you may be be able to encode some parts of your problem as a Presburger extension and transfer some results.&lt;/p&gt;&#xA;" OwnerUserId="4155" LastActivityDate="2013-01-19T04:31:08.530" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16142" PostTypeId="1" AcceptedAnswerId="16297" CreationDate="2013-01-19T06:15:55.733" Score="13" ViewCount="555" Body="&lt;p&gt;It easy to see that if $\mathsf{NP}\cap\mathsf{coNP} \neq \mathsf{P}$ then there are &lt;a href=&quot;http://en.m.wikipedia.org/wiki/TFNP&quot;&gt;total $\mathsf{NP}$ search problems&lt;/a&gt; which cannot be solved in polynomial time (create a total search problem by having both the witnesses for membership and the witnesses for nonmembership).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is the converse also true, i.e. &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Does existence of a total $\mathsf{NP}$ search problem not solvable in polynomial time imply $\mathsf{NP}\cap\mathsf{coNP} \neq \mathsf{P}$?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2013-01-19T17:49:02.690" LastActivityDate="2013-01-31T22:45:32.240" Title="Does existence of a total $\mathsf{NP}$ search problem not solvable in polytime imply $\mathsf{NP}\cap\mathsf{coNP} \neq \mathsf{P}$?" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;search-problem&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16143" PostTypeId="1" AcceptedAnswerId="16146" CreationDate="2013-01-19T06:17:25.873" Score="3" ViewCount="125" Body="&lt;p&gt;(This essentially copies my unaswnered question&#xA;&lt;br&gt;&#xA;from math.stackexchange.com/questions/275685)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I was reading &lt;a href=&quot;http://arxiv.org/abs/1201.4995&quot; rel=&quot;nofollow&quot;&gt;http://arxiv.org/abs/1201.4995&lt;/a&gt;, and I thought&#xA;&lt;br&gt;&#xA;back to a game I used to play, which is close to being covered&#xA;&lt;br&gt;&#xA;by Metatheorem 3 (on page 5), but does not have one-way paths.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What is the computational complexity of the following problem?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;For an &lt;em&gt;undirected&lt;/em&gt; graph G whose vertices have non-negative integer weights,&#xA;&lt;br&gt;&#xA;for vertices s and t, is there a path from s to t such that the sum of the weights&#xA;&lt;br&gt;&#xA;of the vertices (including s) reached at any given point along it is always&#xA;&lt;br&gt;&#xA;greater than the number of &lt;em&gt;distinct&lt;/em&gt; edges traversed to get to that point?&#xA;&lt;br&gt;&#xA;(The vertices are not counted with multiplicity either.)&#xA;&lt;br&gt;&lt;br&gt;&lt;/p&gt;&#xA;" OwnerDisplayName="user6973" LastActivityDate="2013-01-19T10:35:53.680" Title="complexity of games with just doors and keys" Tags="&lt;cc.complexity-theory&gt;&lt;graph-algorithms&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="16145" PostTypeId="2" ParentId="16142" CreationDate="2013-01-19T08:43:59.990" Score="5" Body="&lt;p&gt;For total UP the answer is yes, because the question &quot;Is the i'th bit of the solution 1?&quot; is in $NP \cap co-NP$. &lt;/p&gt;&#xA;" OwnerUserId="419" LastEditorUserId="419" LastEditDate="2013-01-19T09:06:11.803" LastActivityDate="2013-01-19T09:06:11.803" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="16146" PostTypeId="2" ParentId="16143" CreationDate="2013-01-19T09:51:11.300" Score="3" Body="&lt;p&gt;If I understand your question correctly, by path you mean that we build up a tree starting from s by always taking an edge adjacent to our current tree. This problem is NP-complete, the reduction is from SAT.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The main part of the graph will consist of n cycles of length four attached to each other at vertices s=v0, v1, v2, .., vn. So from s we have two paths of length two to v1, from v1 two paths to v2 and so on. From vn there will be a path of length N+1 to t.&#xA;We will have only enough weights to use one of each pair of paths and depending on which path we use, the value of the variable xi will be true or false. The weight in s is N+2n, where N is some big number.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Each clause is represented by an additional vertex that is connected by a path of length N to the center vertex of the path that corresponds to its literals and it has value N+epsilon (I know we need integers, but we can multiply up and replace each edge by 1/epsilon edges), where 1/epsilon is the number of clauses. So we have to visit every clause-vertex to get to t.&lt;/p&gt;&#xA;" OwnerUserId="419" LastEditorUserId="419" LastEditDate="2013-01-19T10:35:53.680" LastActivityDate="2013-01-19T10:35:53.680" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16148" PostTypeId="1" CreationDate="2013-01-19T16:24:59.990" Score="44" ViewCount="1053" Body="&lt;p&gt;If we assume the Exponential-Time Hypothesis, then there is no $2^{o(n)}$ algorithm for $n$-variable 3-SAT, and many other natural problems, such as 3-COLORING on graphs with $n$ vertices. Notice though that, in general, encoding the input for $n$-variable 3-SAT or $n$-vertex 3-COLORING takes something like $O(n\log n)$ bits. For example, to describe a sparse graph as input to 3-COLORING, for each edge we would have to list its endpoints. So the lower bound is not exponential in the length of the input. Therefore, my question is the following:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a problem for which no $2^{o(n)}$ algorithm exists for inputs of length $n$ bits (assuming ETH)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Ideally, the problem would be in NP (no cheating with succinct NEXP-hard problems!) and be reasonably natural, but I won't be picky.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let me also note that after digging around I found that there are efficient ways to encode planar graphs with $O(n)$ bits. So, if one could find a problem that takes time exponential in the number of vertices even for planar graphs, the question would be settled. However, because planar graphs have treewidth $O(\sqrt{n})$, most natural problems have sub-exponential algorithms in this case.&lt;/p&gt;&#xA;" OwnerUserId="3168" LastEditorUserId="7059" LastEditDate="2013-01-19T19:00:41.570" LastActivityDate="2020-12-14T22:29:55.807" Title="Problem unsolvable in $2^{o(n)}$ on inputs with $n$ bits, assuming ETH?" Tags="&lt;cc.complexity-theory&gt;&lt;sat&gt;&lt;planar-graphs&gt;&lt;succinct&gt;" AnswerCount="0" CommentCount="7" FavoriteCount="12" ContentLicense="CC BY-SA 3.0" />
  <row Id="16150" PostTypeId="1" CreationDate="2013-01-20T06:31:29.207" Score="2" ViewCount="68" Body="&lt;p&gt;There is a side problem in my research that I believe should be a known problem. I do not want to spend lots of time on a problem that already has been studied, but I do not have a name for the problem to search for it. I hope someone can help. The precise definition can be found on &lt;a href=&quot;https://imgur.com/goKKuSQ&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://imgur.com/goKKuSQ&lt;/a&gt;. Here I explain it in an informal language. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Problem definition:&lt;/strong&gt; &lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are two types of objects (say red and blue pieces) on a finite discrete 2-D space (the space is a closed subset of ZxZ). Number and locations of the pieces are arbitrary. Two pieces on the same coordinate are considered as one. It is not possible for a red piece and a blue piece to co-exist at the same coordinate. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In this space, we can define a rectangle by the coordinate of its upper-left and lower-right corners. The size and location of a rectangle can be anything but it is always parallel to X and Y axis. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am looking for an algorithm to find the minimum number of rectangles that cover one type of the objects (say the blue pieces) only. Every and each blue piece should be inside or at the border of one or more rectangles, and no red piece can be on the border or inside any rectangle. The algorithm should return the coordinates of all such rectangles. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, have you heard of this problem before? The first correct answer(s) will surely be acknowledged in my thesis.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit: I am searching for an algorithm of complexity smaller than exponential. The exhaustive search took forever to run and I had to stop the program. Also Evolutionary methods are not a good choice because of their long running time.&lt;/p&gt;&#xA;" OwnerUserId="13376" LastEditorUserId="80" LastEditDate="2013-01-20T06:42:15.263" LastActivityDate="2013-01-20T06:42:15.263" Title="Covering only one of two types of objects in a cartesian space using minimum number of rectangles" Tags="&lt;cg.comp-geom&gt;&lt;optimization&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16151" PostTypeId="2" ParentId="16150" CreationDate="2013-01-20T06:41:50.490" Score="1" Body="&lt;p&gt;This sounds like the minimum rectangle cover problem. &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Given an orthogonal polygon with holes, find the minimum number of&#xA;  rectangles needed to cover the interior of the polygon without&#xA;  covering any of the holes.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;In your case, the red points mark the holes, and the blue points mark the interior of the polygon(s). In general, two blue regions might be disconnected, but then the minimum equals the sum of the minimum covers for the two disconnected regions. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Your problem can be easily mapped to the rectangle cover problem, and conversely the rectangle cover problem can be mapped to your problem assuming that all vertices of the polygon are on a grid, which can be assumed w.lo.g.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The bad news is that the minimum rectangle cover is NP-hard. It's also fairly hard to approximate in general (the best current approximation ratio is $O(\sqrt{\log n})$. However, if you had more information about the red and blue points, it's possible you might fall into one of the many special cases of rectangle cover that are easier to solve. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2013-01-20T06:41:50.490" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16153" PostTypeId="1" AcceptedAnswerId="16270" CreationDate="2013-01-20T17:29:28.927" Score="12" ViewCount="1208" Body="&lt;p&gt;$RP = NP$ is widely conjectured to be false.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But imagine for a moment that it is true. In such case, how likely would be that $P = NP$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Put in other words: in a world where $RP = NP$, what might still be seen as an obstacle for us to believe $P = NP$?&lt;/p&gt;&#xA;" OwnerUserId="947" LastEditorUserId="109" LastEditDate="2013-05-20T12:59:31.057" LastActivityDate="2013-05-20T12:59:31.057" Title="Consensus on P = NP in a world where RP = NP" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;conditional-results&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="16154" PostTypeId="2" ParentId="992" CreationDate="2013-01-20T20:58:15.860" Score="2" Body="&lt;p&gt;If all space-constructible functions are time-constructible, then $EXP-TIME=EXP-SPACE$. To prove that (and to give an example of a non-trivial space-constructible but presumably not time-constructible function), let us take an arbitrary (possibly $EXP-SPACE-COMPLETE$) problem $L\in EXP-SPACE$, $L\subseteq\{0,1\}^*$. Then there exists a $k\in\mathbb{N}$, s.t. $L$ can be solved by a DTM $M$ in $2^{n^k}$ space. Now define the function&#xA;$$f(n)=\left\{\begin{array}{ll}&#xA;		8n+2  &amp;amp; \mbox{if }\left(\mbox{first } \lfloor\sqrt[k]{\lfloor\log n\rfloor+1}\rfloor\mbox{ bits of } bin(n)\right)\in L\\&#xA;		8n+1 &amp;amp; \mbox{else}&#xA;	\end{array}&#xA;\right.$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The condition can be decided in $2n$ space, thus $f$ is space-constructible. If $f$ was time constructible, then it is easy to see that we could solve $L$ in exponential time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/questions/15019/equivalent-definitions-of-time-constructibility/16085#16085&quot;&gt;This answer&lt;/a&gt; uses the same idea.&lt;/p&gt;&#xA;" OwnerUserId="7289" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2013-01-20T20:58:15.860" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16155" PostTypeId="1" AcceptedAnswerId="16156" CreationDate="2013-01-21T00:20:30.010" Score="1" ViewCount="269" Body="&lt;p&gt;Somewhere I read something like &quot;a hypercomputer rotating around a rotating black hole&quot; would have some esoteric properties e.g. would produce other answers than other hypercomputers and other computing. Is there any support for this, do I remember incorrectly, or is this claim known to be nonsense?&lt;/p&gt;&#xA;" OwnerUserId="3174" LastActivityDate="2013-01-21T03:47:58.567" Title="What's the nature of hypercomputing and relativity?" Tags="&lt;physics&gt;&lt;hypercomputation&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="16156" PostTypeId="2" ParentId="16155" CreationDate="2013-01-21T03:47:58.567" Score="6" Body="&lt;p&gt;There are actually sort-of-researchy things one can say about rotating black holes. Namely it is known that sufficiently quick rotation produces time-like simple closed curves, leading to interesting questions about how to model time-travel paradoxes in complexity theory; see Aaronson and Watrous, &quot;Closed Timelike Curves Make Quantum and Classical Computing Equivalent&quot;, &lt;a href=&quot;http://arxiv.org/abs/0808.2669&quot;&gt;arXiv:0808.2669&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have no particular opinion about combining hypercomputers with time travel that does not generalize to my opinion about hypercomputers in general, so probably it's best if I just point you to the one paper I could find that both cites Aaronson and Watrous and discusses hypercomputers:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hajnal Andréka, István Németi, and Gergely Székely, &quot;Closed Timelike Curves in Relativistic Computation&quot;, Parallel Processing Letters, 2012 and &lt;a href=&quot;http://arxiv.org/abs/1105.0047&quot;&gt;arXiv:1105.0047&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2013-01-21T03:47:58.567" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16157" PostTypeId="1" CreationDate="2013-01-21T04:26:51.110" Score="1" ViewCount="41" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Possible Duplicate:&lt;/strong&gt;&lt;br&gt;&#xA;  &lt;a href=&quot;https://cstheory.stackexchange.com/questions/4882/finding-a-prime-greater-than-a-given-bound&quot;&gt;Finding a prime greater than a given bound&lt;/a&gt;  &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&#xA;&#xA;&lt;h2&gt;Question&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;Does there exist&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;a polynomial $q$&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;and a deterministic polynomial time algorithm $A$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;such that for all sufficiently large $n$, we have:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$A(n)$ outputs a prime $p$ s.t. $n \leq p \leq q(n)$. (Note $n$ is stored in binary, so $A$ must run in $poly(\log n)$ time.)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;h2&gt;Context&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;Suppose that for some derandomization task we need to be able to construct primes. This rules out the &quot;guess a random number + check&quot; approach since we can't use randomness.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Known&lt;/h2&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;We have deterministic construction of irreducible polynomials: &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S074771718471025X&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://www.sciencedirect.com/science/article/pii/S074771718471025X&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;We also have deterministic primality checking: &lt;a href=&quot;http://en.wikipedia.org/wiki/AKS_primality_test&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://en.wikipedia.org/wiki/AKS_primality_test&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;By &lt;a href=&quot;http://en.wikipedia.org/wiki/Bertrand_postulate&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://en.wikipedia.org/wiki/Bertrand_postulate&lt;/a&gt; there is a prime between $n$ and $2n-2$, but we can't check all $n$ numbers in $poly(\log n)$ time.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;By &lt;a href=&quot;http://en.wikipedia.org/wiki/Prime_number_theorem&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://en.wikipedia.org/wiki/Prime_number_theorem&lt;/a&gt; we know that $\pi(x) \sim \frac{x}{\ln x}$, but it's not clear that this implies there is a prime between $n$ and $n+O(\log n)$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerDisplayName="user13350" LastEditorUserId="-1" LastEditorDisplayName="user13350" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2013-01-21T04:40:16.763" Title="Deterministic Prime Construction" Tags="&lt;cc.complexity-theory&gt;" AnswerCount="0" CommentCount="3" FavoriteCount="0" ClosedDate="2013-01-21T06:28:35.873" ContentLicense="CC BY-SA 3.0" />
  <row Id="16158" PostTypeId="1" AcceptedAnswerId="16161" CreationDate="2013-01-21T09:56:08.387" Score="4" ViewCount="176" Body="&lt;p&gt;One of the notes in the classical paper &lt;a href=&quot;http://repository.readscheme.org/ftp/papers/ai-lab-pubs/AIM-353.pdf&quot; rel=&quot;nofollow&quot;&gt;LAMBDA: The Ultimate Imperative&lt;/a&gt; says:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;{Jensensdevice}&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;The technique of repeatedly modifying a variable passed call-by-name in order to produce side effects on another call-by-name parameter is commonly known as Jensen's device, particularly in the case where call-by-name parameters are &lt;em&gt;j&lt;/em&gt; and &lt;em&gt;a[j]&lt;/em&gt;. &lt;strong&gt;We cannot find any reference to Jensen or who he was, and offer a reward for any information leading to the identification, arrest, and conviction of said Jensen.&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Today, after almost 40 years since the memo was published, do we know the identity of Jensen? I'm not hoping for the reward, just curious.&lt;/p&gt;&#xA;" OwnerUserId="13364" LastActivityDate="2013-01-21T12:26:32.140" Title="Lambda: The Ultimate Imperative - who is Jensen?" Tags="&lt;ho.history-overview&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="16159" PostTypeId="1" CreationDate="2013-01-21T10:03:29.213" Score="25" ViewCount="2437" Body="&lt;p&gt;In his answer to &lt;a href=&quot;https://cstheory.stackexchange.com/questions/15009/is-mall-unrestricted-recursive-types-turing-complete&quot;&gt;this question&lt;/a&gt;, &lt;a href=&quot;https://cstheory.stackexchange.com/users/5967/stephane-gimenez&quot;&gt;Stephane Gimenez&lt;/a&gt; pointed me to a polynomial-time normalization algorithm for proofs in linear logic. The proof in Girard's paper uses proof nets, which are an aspect of linear logic I don't actually know very much about. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, I've tried to read papers on proof nets before (such as &lt;a href=&quot;http://arxiv.org/pdf/cs/0501039&quot; rel=&quot;nofollow noreferrer&quot;&gt;Pierre-Louis Curien's notes&lt;/a&gt; on them), but I have not really understood them.  So my question is: how should I think about them? By &quot;how to think about them&quot;, I mean both the informal intuition behind them (e.g., how they behave computationally, or how they are related to  sequents), and also which theorems about them I should prove for myself to really get them. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In answering this question, you can assume (1) I know the proof theory of linear logic well (including things like how the cut-elimination proof goes, and in focalized form too), (2) their categorical semantics in terms of coherence spaces or via Day convolution, and (3) the very basic rudiments of the GoI construction. &lt;/p&gt;&#xA;" OwnerUserId="657" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2013-11-09T18:44:56.977" Title="How should I think about proof nets?" Tags="&lt;lo.logic&gt;&lt;soft-question&gt;&lt;pl.programming-languages&gt;&lt;linear-logic&gt;" AnswerCount="6" CommentCount="2" FavoriteCount="10" ContentLicense="CC BY-SA 3.0" />
  <row Id="16161" PostTypeId="2" ParentId="16158" CreationDate="2013-01-21T12:26:32.140" Score="4" Body="&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Jensen%27s_Device&quot; rel=&quot;nofollow noreferrer&quot;&gt;Jensen's device&lt;/a&gt; was developed by &lt;a href=&quot;http://en.wikipedia.org/wiki/J%C3%B8rn_Jensen&quot; rel=&quot;nofollow noreferrer&quot;&gt;Jørn Jensen&lt;/a&gt;, who worked on one of the earliest ALGOL 60 compilers (this answer is based on &lt;a href=&quot;https://cstheory.stackexchange.com/questions/16158/lambda-the-ultimate-imperative-who-is-jensen#comment41960_16158&quot;&gt;comment by Kristoffer Arnsfelt Hansen&lt;/a&gt;).&lt;/p&gt;&#xA;" OwnerUserId="13364" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2013-01-21T12:26:32.140" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16163" PostTypeId="2" ParentId="4770" CreationDate="2013-01-21T13:10:02.543" Score="10" Body="&lt;p&gt;Here is an NP-complete problem for two given cographs rather than one which is very closed to the asked question. The recently posted &lt;a href=&quot;http://arxiv.org/abs/1301.3979&quot;&gt;paper&lt;/a&gt; shows that deciding, for given cographs $G$ and $H$, if $H$ is a retract of $G$, is NP-complete. ($H$ is a retract of $G$ if there exist edge-preserving maps $\rho: V(G)\to V(H)$ and $\gamma: V(H)\to V(G)$ such that $\rho\circ \gamma : V(H)\to V(H)$ is the identity.)  &lt;/p&gt;&#xA;" OwnerUserId="6706" LastActivityDate="2013-01-21T13:10:02.543" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="16164" PostTypeId="1" AcceptedAnswerId="16165" CreationDate="2013-01-21T14:32:37.617" Score="9" ViewCount="1182" Body="&lt;p&gt;it is well known that the &lt;a href=&quot;http://en.wikipedia.org/wiki/Modal_%CE%BC-calculus&quot;&gt;modal $\mu$-calculus&lt;/a&gt; is one of the most expressive temporal logics for expressing properties of trees/graphs, and that &lt;a href=&quot;http://en.wikipedia.org/wiki/CTL%2a&quot;&gt;CTL*&lt;/a&gt; is strictly less expressive than the $\mu$-calculus.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here I would like to ask for an example of $\mu$-calculus formula, as simple as possible, that is not expressible in CTL*, and hopefully for an explaination of its meaning (fixed-point formulas quickly become unreadable).&#xA;Any good reference for a &quot;concrete&quot; simple example would also be great!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thank you in advance&lt;/p&gt;&#xA;" OwnerUserId="13388" LastActivityDate="2013-01-21T19:01:06.983" Title="CTL* and mu-calculus" Tags="&lt;lo.logic&gt;&lt;model-checking&gt;&lt;temporal-logic&gt;&lt;mu-calculus&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16165" PostTypeId="2" ParentId="16164" CreationDate="2013-01-21T19:01:06.983" Score="11" Body="&lt;p&gt;Take a path property that is not first-order expressible, e.g.&#xA;$$\nu x.p\wedge\Diamond\Diamond x$$&#xA;which says that there exists a path where the atomic proposition $p$ holds at every even position, and any valuation can be used on odd positions.&lt;/p&gt;&#xA;" OwnerUserId="609" LastActivityDate="2013-01-21T19:01:06.983" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="16166" PostTypeId="1" CreationDate="2013-01-21T19:19:00.683" Score="3" ViewCount="260" Body="&lt;p&gt;The following problem is known to be NP-complete. It can be found in pages 236 and 70 of &lt;em&gt;Garey &amp;amp; Johnson&lt;/em&gt;. In this book this problem is known either as &lt;code&gt;sequencing with release times and deadlines&lt;/code&gt; or as &lt;code&gt;sequencing within intervals&lt;/code&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;INSTANCE&lt;/strong&gt;: Set &lt;em&gt;T&lt;/em&gt; of tasks and, for each task $t\in T$, a length $l(t)\in Z^+$, a release time $r(t)\in Z_0^+$, and a deadline $d(t)\in Z^+$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;QUESTION&lt;/strong&gt;: Is there a one-processor schedule for &lt;em&gt;T&lt;/em&gt; that satisfies the release time constraints and meets all the deadlines, i.e., a one-to-one function $\sigma:T\rightarrow Z_0^+$, with $\sigma(t)&amp;gt;\sigma(t')$ implying $\sigma(t)\geq \sigma(t')+l(t')$, such that, for all $t\in T$, $\sigma(t)\geq r(t)$ and $\sigma(t) + l(t)\leq d(t)$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now suppose that all the tasks have the same length, and that the&#xA;length is not necessarily an integer, that is, $l(t)=l$ for all $t\in&#xA;T$, for some positive rational number $l$. Moreover, let $\sigma:T\rightarrow R^+$ instead of $\sigma:T\rightarrow Z_0^+$. Under these modifications, does the&#xA;problem remain NP-complete?&lt;/p&gt;&#xA;" OwnerUserId="5982" LastEditorUserId="5982" LastEditDate="2013-01-23T00:47:00.203" LastActivityDate="2013-01-23T00:47:00.203" Title="Is this variation of the &quot;sequencing with release times and deadlines&quot; problem NP-complete?" Tags="&lt;reference-request&gt;&lt;np-hardness&gt;&lt;scheduling&gt;" AnswerCount="0" CommentCount="12" ContentLicense="CC BY-SA 3.0" />
  <row Id="16169" PostTypeId="2" ParentId="2074" CreationDate="2013-01-21T21:23:16.453" Score="1" Body="&lt;p&gt;The concept of potential is related to many different areas of physics. In cs, potential is used in amortized analysis of data structures. We can look at how each step affects the entropy of the system and  therefore get an average (amortized) cost of an operation with a given data structure. This has given rise to many theoretically better data structures like the fibonacci heap.&lt;/p&gt;&#xA;" OwnerUserId="13398" LastActivityDate="2013-01-21T21:23:16.453" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16170" PostTypeId="1" AcceptedAnswerId="16194" CreationDate="2013-01-21T22:32:45.350" Score="6" ViewCount="879" Body="&lt;p&gt;I am wondering whether there exists a fast algorithm for the following problem.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Given a digraph $G$ possibly with loops (that is edges that begin and&#xA;  end at the same vertex) and the choice of an edge $e \in G$, what is&#xA;  the largest (in terms of number of vertices) subgraph of $G$ that&#xA;  contains $e$ and admits a vertex disjoint cycle cover.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;ps: sorry for the crosspost, but I originally posted at at stackoverflow and was directed here for a possibly more appropriate crowd...&lt;/p&gt;&#xA;" OwnerUserId="13400" LastEditorUserId="13400" LastEditDate="2013-01-22T03:43:02.620" LastActivityDate="2013-01-23T08:59:07.770" Title="Finding largest subgraph that contains a given edge and admits a cycle cover" Tags="&lt;graph-algorithms&gt;" AnswerCount="2" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="16171" PostTypeId="2" ParentId="3616" CreationDate="2013-01-21T22:38:23.440" Score="9" Body="&lt;p&gt;Let $f$ and $g$ be fully time-constructible functions (i.e. there exists a DTM that on input $1^n$ makes exactly $f(n)$ (resp. $g(n)$) steps) and let $f(n+1)=o(g(n))$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;The nondeterministic time-hierarchy&lt;/strong&gt; is many times &lt;strong&gt;(superficially)&lt;/strong&gt; stated as $NTIME(f(n))\subsetneq NTIME(g(n))$. (proof: ask Google for nondeterministic time hierarchy).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Well, the hierarchy actualy gives only $NTIME(g(n)) - NTIME(f(n))\neq\emptyset$. We would need e.g. $f(n)\leq g(n)$ for $NTIME(f(n))\subsetneq NTIME(g(n))$. For functions $f,g$ such that $f(n+1)=o(g(n))$, $f(n)\leq g(n)$ is very common. But strictly speaking, nondeterministic time hierarchy is many times stated superficially.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To show that $NTIME(f(n))\subseteq NTIME(g(n))$ does not hold for all fully time-constructible $f,g$ s.t. $f(n+1)=o(g(n))$, define $$f(n)=\left\{\begin{array}{ll}&#xA;		n+1  &amp;amp; n \mbox{ odd}\\&#xA;		(n+1)^3 &amp;amp; \mbox{else}&#xA;	\end{array}&#xA;\right.$$&#xA;and $g(n)=f(n+1)^2$. It is easy to see that $f$ and $g$ are fully time constructible and $f(n+1)=o(g(n))$. From nondeterministic time hierarchy we know that there is some language $L\in NTIME((n+1)^3)-NTIME((n+1)^2)$ over $\{0,1\}$. Define&#xA;$$L_1=\{0x_10x_2\ldots 0x_n;\ \ x_1x_2\ldots x_n\in L\}.$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It follows that $L_1\in NTIME(f(n))$. It is easy to see that from $L_1\in NTIME(g(n))$ follows $L\in NTIME((n+1)^2)$, which is not true. Hence, $L_1\in NTIME(f(n))-NTIME(g(n))$.&lt;/p&gt;&#xA;" OwnerUserId="7289" LastEditorUserId="7289" LastEditDate="2013-05-02T20:28:58.587" LastActivityDate="2013-05-02T20:28:58.587" CommentCount="0" CommunityOwnedDate="2013-01-21T22:38:23.440" ContentLicense="CC BY-SA 3.0" />
  <row Id="16172" PostTypeId="2" ParentId="3278" CreationDate="2013-01-21T22:53:05.860" Score="13" Body="&lt;p&gt;Something that has not been mentioned so far (as far as I can see) and that holds in the unrelativized world is the following:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$PH \subseteq PP \quad\mbox{ if }\quad QMA = PP.$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This was observed by Vyalyi in &lt;a href=&quot;http://eccc.hpi-web.de/report/2003/021&quot;&gt;this paper&lt;/a&gt; and comes from the strengthening of two theorems:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Toda's theorem - Vyalyi shows that &lt;em&gt;one query&lt;/em&gt; to a $\sharp P$ oracle is enough for a &quot;$P$ machine&quot; to simulate $PH$.&lt;/li&gt;&#xA;&lt;li&gt;The inclusion $QMA \subseteq PP$ proved by Kitaev and Watrous. Vyalyi proves that $QMA$ is also in &lt;a href=&quot;https://complexityzoo.uwaterloo.ca/Complexity_Zoo%3aA#a0pp&quot;&gt;$A_0PP$&lt;/a&gt;, a class that is contained in $PP$.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="1542" LastEditorUserId="1542" LastEditDate="2013-01-21T23:17:36.800" LastActivityDate="2013-01-21T23:17:36.800" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16173" PostTypeId="2" ParentId="10901" CreationDate="2013-01-21T23:45:38.970" Score="14" Body="&lt;p&gt;&lt;strong&gt;The answer is:&lt;/strong&gt; FVS is NP-complete on undirected planar graphs of maximum degree $4$; proved by Speckenmeyer, see &lt;a href=&quot;http://onlinelibrary.wiley.com/doi/10.1002/jgt.3190120311/abstract&quot; rel=&quot;nofollow noreferrer&quot;&gt;here&lt;/a&gt;. By subdividing each edge by one new vertex, it easily follows that &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;FVS is NP-complete even on undirected bipartite planar graphs of maximum &#xA;  degree $4$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The degree constraint is best possibe, as FVS is polynomial for graphs of maximum degree at most three; see &lt;a href=&quot;https://cstheory.stackexchange.com/questions/12712/is-feedback-vertex-set-problem-is-solvable-in-polynomial-time-for-3-degree-bound?rq=1&quot;&gt;here&lt;/a&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit:&lt;/strong&gt; Ernst de Ridder's &lt;a href=&quot;http://graphclasses.org/classes/problem_Feedback_vertex_set.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;graphclasses.org&lt;/a&gt; now contains all available information about FVS; including circa 550 polynomially solvable and circa 250 NP-c cases. &lt;/p&gt;&#xA;" OwnerUserId="6706" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.743" LastActivityDate="2013-02-25T20:34:08.573" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16175" PostTypeId="1" CreationDate="2013-01-22T01:33:06.723" Score="0" ViewCount="529" Body="&lt;p&gt;Given a graph $G$ and two vertices $s$ and $t$, I want the maximum flux path from $s$ to $t$.That is, imagine $G$ to be a flow network with capacities on the edges. I want to find a single path that can carry the maximum flow between $s$ and $t$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that this is not the same as the maximum flow problem where you can compute flows from multiple paths. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can someone point me to fast algorithms for computing the max flux path? &lt;/p&gt;&#xA;" OwnerUserId="13403" LastEditorUserId="3247" LastEditDate="2013-01-22T13:17:16.263" LastActivityDate="2013-01-22T13:17:16.263" Title="Find the maximum flux path between two nodes" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;graph-algorithms&gt;" AnswerCount="1" CommentCount="3" ClosedDate="2013-01-29T06:28:32.040" ContentLicense="CC BY-SA 3.0" />
  <row Id="16177" PostTypeId="2" ParentId="15057" CreationDate="2013-01-22T04:41:54.047" Score="0" Body="&lt;p&gt;&lt;a href=&quot;http://ieeexplore.ieee.org/xpl/login.jsp?tp=&amp;amp;arnumber=4270114&amp;amp;url=http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=4270114&quot; rel=&quot;nofollow&quot;&gt;Nister, Hartley, and Stewenius&lt;/a&gt; used Galois theory to prove the optimality of certain algorithms in computer vision. While not specifically an instance of Complex Analysis, this work is intimately associated with $\mathbb{C}$ because of the fundamental theorem of algebra.&lt;/p&gt;&#xA;" OwnerUserId="10139" LastActivityDate="2013-01-22T04:41:54.047" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16178" PostTypeId="1" CreationDate="2013-01-22T06:17:37.160" Score="2" ViewCount="232" Body="&lt;p&gt;I understand that determining if two context-free grammars are structurally equivalent is decidable (according to the 1968 paper by Paull, M.C. and Unger, S.H., &quot;Structural equivalence of context-free grammars&quot;). I wonder what the best algorithm for this problem is, and what the computational complexity of the algorithm is. Thank you.&lt;/p&gt;&#xA;" OwnerUserId="13406" LastActivityDate="2013-01-22T06:17:37.160" Title="Structural equivalence of two context-free grammars" Tags="&lt;complexity-classes&gt;&lt;grammars&gt;&lt;context-free&gt;" AnswerCount="0" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16180" PostTypeId="1" CreationDate="2013-01-22T13:04:48.447" Score="13" ViewCount="645" Body="&lt;p&gt;The simplex algorithm is often treated either within real arithmetic, or in the discrete world with exact computations. However, it seems to be implemented most often with floating-point arithmetic.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This leads to the question whether the simplex algorithm should be regarded as a numerical algorithm, in particular how round-off errors affect the computation. I am not interested in practical implementations, but rather in theoretical foundations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are you aware of any research on this issue?&lt;/p&gt;&#xA;" OwnerUserId="4346" LastEditorUserId="4346" LastEditDate="2013-01-22T22:56:39.223" LastActivityDate="2014-06-09T18:03:46.933" Title="Numerical stability of Simplex method" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;optimization&gt;&lt;linear-programming&gt;&lt;na.numerical-analysis&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16181" PostTypeId="2" ParentId="16175" CreationDate="2013-01-22T13:15:44.160" Score="6" Body="&lt;p&gt;The problem is known as &quot;&lt;a href=&quot;http://en.wikipedia.org/wiki/Widest_path_problem&quot;&gt;Maximum capacity path problem&lt;/a&gt;&quot; or  &quot;Widest path problem&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See the original paper: &lt;a href=&quot;http://www.jstor.org/discover/10.2307/167055?uid=3738296&amp;amp;uid=2129&amp;amp;uid=2&amp;amp;uid=70&amp;amp;uid=4&amp;amp;sid=21101691403027&quot;&gt;T. C. Hu, &quot;The Maximum Capacity Route Problem&quot;, Operations Research Vol. 9, No. 6 (Nov. - Dec., 1961), pp. 898-900&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;or the linear time algorithm described in: &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/0377221791900735&quot;&gt;A. P. Punnen, &quot;A linear time algorithm for the maximum capacity path problem&lt;/a&gt;&quot; (but I didn't download/read it)&lt;/p&gt;&#xA;" OwnerUserId="3247" LastActivityDate="2013-01-22T13:15:44.160" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16182" PostTypeId="1" AcceptedAnswerId="16184" CreationDate="2013-01-22T15:57:37.767" Score="9" ViewCount="1026" Body="&lt;p&gt;Does every Turing-recognizable undecidable language have a NP-complete subset?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The question could be seen as a stronger version of the fact that every infinite Turing-recognizable language has an infinite decidable subset.&lt;/p&gt;&#xA;" OwnerUserId="13413" LastEditorUserId="4193" LastEditDate="2013-01-22T20:32:35.520" LastActivityDate="2013-01-22T20:32:35.520" Title="Does every Turing-recognizable undecidable language have a NP-complete subset?" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;&lt;complexity-classes&gt;&lt;np&gt;&lt;decidability&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16184" PostTypeId="2" ParentId="16182" CreationDate="2013-01-22T16:48:02.267" Score="21" Body="&lt;p&gt;No.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Turing-recognizable undecidable languages can be &lt;strong&gt;unary&lt;/strong&gt; (define $x \not\in L$  unless $x = 0000\ldots 0$, so the only difficult strings are composed solely of 0's). Mahaney's theorem says that no unary language can be NP-complete unless P=NP. &lt;/p&gt;&#xA;" OwnerUserId="1677" LastActivityDate="2013-01-22T16:48:02.267" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16185" PostTypeId="1" CreationDate="2013-01-22T18:40:58.710" Score="4" ViewCount="192" Body="&lt;p&gt;What are the consequences of a sparse language being complete for $\mathsf{NSPACE(\log n)}$ under deterministic $O(\log n)$-space many-one reductions? Is there an analog of Mahaney's Theorem for $\mathsf{NL}$ (if there is a sparse $\mathsf{NL}$-complete language then $\mathsf{L} = \mathsf{NL}$)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Bounded here was meant to indicate that if the input alphabet is $\{a_1, ..., a_k\}$, the language is a subset of $a_1^* a_2^* ... a_k^*$. Any such language clearly has number of strings of length $n$ that is bounded by $n^k$ so bounded =&gt; sparse. &lt;/p&gt;&#xA;" OwnerUserId="13417" LastEditorUserId="3247" LastEditDate="2013-01-27T18:58:42.060" LastActivityDate="2013-01-28T18:01:19.207" Title="bounded language complete for NSPACE(log n)?" Tags="&lt;cc.complexity-theory&gt;&lt;conditional-results&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16186" PostTypeId="1" AcceptedAnswerId="16215" CreationDate="2013-01-22T19:53:20.020" Score="1" ViewCount="469" Body="&lt;p&gt;I am looking for a preferably simple property that is expressible in ECTL* but not in CTL* and not in Büchi, with a citable reference to the proof.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Details of what I've tried:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I've tried a modification of Wolper's even-property: the property $Eeven$ that holds for every Kripke structure containing a path where p holds at least in every even state. The ECTL* formula $E (\mathcal{A}_{even}(p))$ specifies $Eeven$ (with $\mathcal{A}_{even}$ being the Büchi automaton that accepts words where p holds at least in every even state). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Because of the existential path quantifier, $E (\mathcal{A}_{even}(p))$ is trivially not expressible in Büchi. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;But is there a short proof that $E (\mathcal{A}_{even}(p))$ is not in CTL*? Or a reference to a proof (of any length)? &#xA;After looking at &lt;a href=&quot;http://dx.doi.org/10.1007/BFb0013041&quot; rel=&quot;nofollow&quot;&gt;Computation Tree Logic and Regular $\omega$-Languages, Wolfgang Thomas, 1989&lt;/a&gt;, I can think of a proof showing $Eeven$ is counting - but that would definitely not be a short proof :( Would using $Eeven$ is not star-free or $M(Eeven)$ is not group-free be any easier?&lt;/p&gt;&#xA;" OwnerUserId="6424" LastEditorUserId="6424" LastEditDate="2013-01-22T19:59:21.397" LastActivityDate="2013-01-24T16:57:34.437" Title="How to show that ECTL* is more expressive than CTL* $\cup$ Büchi (with an example)" Tags="&lt;lo.logic&gt;&lt;automata-theory&gt;&lt;model-checking&gt;&lt;temporal-logic&gt;&lt;linear-temporal-logic&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="16187" PostTypeId="1" CreationDate="2013-01-22T20:28:39.133" Score="16" ViewCount="10382" Body="&lt;p&gt;As a computer science student, I have been introduced to game theory, but not seen much detail on the subject. I have searched on Google and looked at some books about game theory and they provided confirmation of its usage in computer science. I have started a formal study of game theory from the economist's perspective. Now I want to know the applications of game theory in computer science. What are some recent major achievements of computer scientists in fields like Artificial Intelligence and Complexity Theory which utilize elements of game theory? Is there a way to approach game theory that is more rooted in computer science than economics?&lt;/p&gt;&#xA;" OwnerUserId="8387" LastEditorUserId="7189" LastEditDate="2013-01-26T18:30:22.763" LastActivityDate="2020-06-27T18:43:58.893" Title="Applications of Game theory in computer science?" Tags="&lt;reference-request&gt;&lt;gt.game-theory&gt;" AnswerCount="10" CommentCount="3" FavoriteCount="10" ContentLicense="CC BY-SA 3.0" />
  <row Id="16188" PostTypeId="2" ParentId="16187" CreationDate="2013-01-23T00:06:05.607" Score="6" Body="&lt;p&gt;It is easier for me to think of applications of computer science (techniques) to game theory, than the other way around.  There is a very active field of algorithmic game theory which focuses on the development of efficient algorithms (or complexity results) for, e.g., Nash equilibria, Shapley values, and other such standard game theoretic concepts.  Often, these concepts are easy to define, but prohibitively difficult to compute directly from the definitions.  This work extends at least as far as mechanism design, where we attempt to manipulate the rules of auctions in order to guarantee agent behavior (e.g., we would like them to report truthful bids) or overall results (e.g., we would like to guarantee maximal revenue.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Noam Nisan, Yoav Shoham, Tim Roughgarden, and many others have some fascinating papers on the subject of mechanism design from a theory point of view; Vince Conitzer has applied AI techniques to the problem to develop automated mechanism design. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the more applied side in artificial intelligence, it's difficult to think of multi-agent systems without thinking of them as games.  The Partially Observable Stochastic Game (POSG) framework is often used to discuss to multi-agent settings; under the right reward function criteria it becomes a DEC-POMDP.  &lt;/p&gt;&#xA;" OwnerUserId="9819" LastActivityDate="2013-01-23T00:06:05.607" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16189" PostTypeId="2" ParentId="16187" CreationDate="2013-01-23T03:57:49.897" Score="23" Body="&lt;p&gt;One of the most famous examples of game theory in computer science is &lt;a href=&quot;http://en.wikipedia.org/wiki/Yao%27s_principle&quot;&gt;Yao's minimax principle&lt;/a&gt;.  Let $X$ be a set of inputs for some problem, and let $A$ be a set of (deterministic) algorithms for that problem.  Yao's principle states that&#xA;$$&#xA;\max_{x\in X} \operatorname{E}\limits_{a\in A} \left[T(a,x)\right]&#xA;\ge&#xA;\min_{a\in A} \operatorname{E}\limits_{x\in X} \left[T(a,x)\right] ,&#xA;$$&#xA;where the expectations on the left and right are taken with respect to &lt;em&gt;any&lt;/em&gt; desired probability distribution over algorithms and inputs, respectively.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example: Any deterministic comparison-based sorting algorithm requires $\Omega(n\log n)$ time on average to sort an array permuted uniformly at random.  (&lt;strong&gt;Proof:&lt;/strong&gt; In any binary tree with $N$ leaves, at least half the leaves have depth at least $(\lg N)/2$. $\square$)  So Yao's principle implies that the worst-case expected running time of any &lt;em&gt;randomized&lt;/em&gt; comparison-based sorting algorithm is also $\Omega(n\log n)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Yao's minmax principle follow easily from von Neumann's &lt;a href=&quot;http://en.wikipedia.org/wiki/Minimax_theorem#Minimax_theorem&quot;&gt;minimax theorem for two-player zero-sum games&lt;/a&gt;, where one player provides the input and the other provides the algorithm.&lt;/p&gt;&#xA;" OwnerUserId="111" LastEditorUserId="111" LastEditDate="2013-01-24T04:02:49.197" LastActivityDate="2013-01-24T04:02:49.197" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="16190" PostTypeId="2" ParentId="2074" CreationDate="2013-01-23T04:29:57.863" Score="-1" Body="&lt;p&gt;to add/fill in some gap in the current excellent answers/coverage—there seems to be a strong connection between TCS and thermodynamics in various ways that hasnt yet been fully explored but is the frontiers of active research. there is a transition point associated with SAT but it seems possibly there are transition points associated with other (or even all) complexity classes as well. the SAT transition point is associated with a difference between &quot;easy&quot; (P) and &quot;hard&quot; (NP) instances, but arguably all complexity class boundaries must lead to the same transition point-like property.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;consider a Turing Machine. it already measures its operation in normally &lt;em&gt;physical&lt;/em&gt; dimensions of &quot;time&quot; and &quot;space&quot;. but note that it apparently also does one unit of &quot;work&quot; in moving from square to square and making a transition. in physics the unit of work is Joules, which is also a measure of energy. so it appears that complexity classes have some relation to energy levels, boundaries, or regimes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;quantum mechanics theory increasingly sees space and time itself, the universe, as a sort of computing system. it appears it has some &quot;minimal computation units&quot; intrinsic to its nature, probably related to the Plank length. so examination of minimal Turing machines for problems also implies and relates to minimal physical/energy systems or even volumes of space required. [3]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;also, the key concept of &lt;strong&gt;entropy&lt;/strong&gt; shows up repeatedly in TCS and physics/thermodynamics and may be a unifying principle with still more active research revealing its underlying nature. [1,2]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] &lt;a href=&quot;http://en.wikipedia.org/wiki/Entropy_(information_theory)&quot; rel=&quot;nofollow noreferrer&quot;&gt;entropy in information theory&lt;/a&gt;, wikipedia&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] &lt;a href=&quot;https://stackoverflow.com/questions/510412/what-is-the-computer-science-definition-of-entropy&quot;&gt;what is the CS defn of entropy&lt;/a&gt;, stackoverflow&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[3] &lt;a href=&quot;https://cstheory.stackexchange.com/questions/1593/what-is-the-volume-of-information&quot;&gt;What is the Volume of Information?&lt;/a&gt; tcs.se&lt;/p&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="-1" LastEditDate="2017-05-23T12:40:09.333" LastActivityDate="2013-01-23T04:29:57.863" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="16192" PostTypeId="1" CreationDate="2013-01-23T06:59:14.830" Score="2" ViewCount="112" Body="&lt;p&gt;Is there any survey of results other than viola's on correlation bounds and its applications?&#xA;Also is there any lecture notes on gowers uniformity and its applications in proving correlation bounds?&lt;/p&gt;&#xA;" OwnerUserId="13423" LastActivityDate="2013-01-23T09:01:33.117" Title="Correlation bounds" Tags="&lt;cc.complexity-theory&gt;&lt;lower-bounds&gt;" AnswerCount="0" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16193" PostTypeId="2" ParentId="16170" CreationDate="2013-01-23T07:53:39.547" Score="5" Body="&lt;p&gt;There is at least a randomized $O(n^4)$ time algorithm. To make sure the specified arc $uv$ is part of the cycle cover, contract the arc into one vertex $w$ retaining $u$'s ingoing arcs and $v$'s outgoing arcs.&#xA;Take the adjacency matrix $A$ of the resulting graph, replace each arc (i.e. $1$) with a random number, introduce an indeterminate $r$ and compute $p(r)=\operatorname{det}(J*r+A)$, where $J$ is the identity matrix except for the element corresponding to the vertex $w$, where it is zero. The smallest exponent $e$ such that the monomial $r^e$ has a non-zero coefficient in $p(r)$ is &quot;proof&quot; of the fact that there is an induced subgraph on $n-e$ vertices that has a cycle cover containing your arc. Conversely, if there are cycle covers on $n-e$ vertices, the coefficient of $r^e$ is most probably not zero.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Look at &lt;a href=&quot;http://en.wikipedia.org/wiki/Edmonds_matrix&quot;&gt;Edmonds matrix&lt;/a&gt;, and note that perfect matchings in balanced bipartite graphs is in one-to-one correspondence with cycle covers in digraphs. See also &lt;a href=&quot;http://en.wikipedia.org/wiki/Schwartz%E2%80%93Zippel_lemma&quot;&gt;Schwartz-Zippel&lt;/a&gt; to see how to bound the probability of failures.&lt;/p&gt;&#xA;" OwnerUserId="679" LastActivityDate="2013-01-23T07:53:39.547" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16194" PostTypeId="2" ParentId="16170" CreationDate="2013-01-23T08:59:07.770" Score="6" Body="&lt;p&gt;Deterministically, you can do it as follows: Give your edge $e$ the weight $n+1$ and add a self-loop of weight zero to each node that does not have one so far. Existing edges get weight one. By removing the weight zero loops,&#xA;a maximum weight cycle cover in the new graphs induces a partial cycle cover in the old graph that (1) contains your edge $e$ and (2) has a maximum number of edges. The vertices of the partial cycle cover induce the graph you are looking for. If the cycle cover in the new graph does not contain $e$ at all, then&#xA;there is no such subgraph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can compute a maximum weight cycle cover by reducing it to maximum weight perfect matching.&lt;/p&gt;&#xA;" OwnerUserId="6456" LastActivityDate="2013-01-23T08:59:07.770" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="16196" PostTypeId="2" ParentId="7459" CreationDate="2013-01-23T14:02:11.103" Score="7" Body="&lt;p&gt;Well, I can only guess, but for me this seems to be some sort of tradition. If you start looking up how the ACM came into existence it all started with a lot of informality. In the beginning it was just a little meeting and a mailing list which then transformed into the ACM[1]. My best guess would be that such &quot;informalities&quot; were the basis for most conferences in the first place. I would argue that the notion of &quot;Special Interest Group&quot; embeds such an informal view. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The reason for having peer reviewed conferences is unknown to me, but having peer reviewed conferences is the unique point separating computer science from other fields as far as I know. For some conferences this review process is even harder (or better...) compared to most journals in other fields. New conferences then use existing (reviewed) conferences as an example. Of course, old conferences do not change (partly due to the flame-war you mentioned in your question). During POPL 2012 there was the SIGPLAN Business Meeting, where there was a discussion about publishing the proceedings as a journal. During this session some sort of flame-war started, but you would have to ask Philip Wadler about who those &quot;rebellious researchers&quot; were. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I hope my guess-work is not completely off and helps you find the right direction for more information on this subject. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1]  Samuel B. Williams. 1954. &lt;em&gt;The Association for Computing Machinery&lt;/em&gt;. J. ACM 1, 1 (January 1954), DOI=10.1145/320764.320765 &lt;a href=&quot;http://doi.acm.org/10.1145/320764.320765&quot;&gt;http://doi.acm.org/10.1145/320764.320765&lt;/a&gt; &lt;/p&gt;&#xA;" OwnerUserId="13427" LastActivityDate="2013-01-23T14:02:11.103" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16199" PostTypeId="1" CreationDate="2013-01-23T17:31:31.613" Score="7" ViewCount="162" Body="&lt;p&gt;Consider $X$ an $\mathsf{NP}$-complete language e.g. $3-SAT$. I'm looking for an algorithm $A$ for solving $X$ with the following property. Given $M \subset \lbrace 0, 1 \rbrace^*$ any set of words s.t. $X$ with promise $M$ is decidable in polynomial time, I require $A$ to decide $X$ with promise $M$ in polynomial time&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Does such $A$ exist?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The motivation for the question comes from Levin search which would satisfy the above condition if we considered the candid search problem instead of the decision problem&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is the answer affected by adding the assumption $M \in \mathsf{P}$?&lt;/p&gt;&#xA;" OwnerUserId="7030" LastActivityDate="2013-01-23T17:31:31.613" Title="Universal tractable problem solver" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;" AnswerCount="0" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16200" PostTypeId="2" ParentId="16187" CreationDate="2013-01-23T19:31:45.680" Score="10" Body="&lt;p&gt;Game theory played a significant role in solutions to the &quot;full abstraction problem&quot; in programming language semantics.  In particular, the first fully-abstract semantics for Plotkin's PCF were given using games as models.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The relevant citations are:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Full Abstraction for PCF&lt;/em&gt;, by Samson Abramsky, Radha Jagadeesan, and Pasquale Malacaria&lt;/p&gt;&#xA;&#xA;&lt;p&gt;and &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;On Full Abstraction for PCF: I, II, and III&lt;/em&gt;, by J.M.E. Hyland and C.-H.L. Ong&lt;/p&gt;&#xA;&#xA;&lt;p&gt;which both appeared in &lt;em&gt;Information and Computation&lt;/em&gt;, Volume 163, Issue 2, 15 December 2000.&lt;/p&gt;&#xA;" OwnerUserId="2185" LastActivityDate="2013-01-23T19:31:45.680" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16201" PostTypeId="1" AcceptedAnswerId="16202" CreationDate="2013-01-23T20:42:10.037" Score="5" ViewCount="839" Body="&lt;p&gt;What is the computational complexity of computer vision problems (reconstruction, detection, etc.)? Are these problems NP-complete? Are they NP-hard?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In most cases this will boil down to determining the computational complexity of the corresponding machine learning problem. Although generally the machine learning problem is approached statistically rather than combinatorially, I guess this is still pertinent.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Could you also point me to some literature which answers (or tries to answer) this question?&lt;/p&gt;&#xA;" OwnerUserId="13433" LastEditorUserId="4193" LastEditDate="2013-01-24T23:45:30.047" LastActivityDate="2013-01-24T23:45:30.047" Title="Computational Complexity of Computer Vision Problems" Tags="&lt;np-hardness&gt;&lt;complexity-classes&gt;&lt;machine-learning&gt;&lt;cv.computer-vision&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="16202" PostTypeId="2" ParentId="16201" CreationDate="2013-01-23T21:48:55.173" Score="6" Body="&lt;p&gt;Computer vision is not well defined as a theory problem, but machine learning does have a nice theoretical framework called PAC learning in which one can try to address your question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is open whether learning is hard, i.e. whether there exists an class that is impossible to efficiently (PAC) learn.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some results that indicate learning is probably hard:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Some classes (e.g. automata) are &lt;a href=&quot;http://books.google.com/books?id=i3S9_GnHZwYC&amp;amp;pg=PA210&quot; rel=&quot;nofollow&quot;&gt;cryptographically hard&lt;/a&gt; to learn.&lt;/li&gt;&#xA;&lt;li&gt;Some classes (e.g. k-term DNF) are NP-hard to &lt;a href=&quot;http://www.almaden.ibm.com/cs/people/vitaly/papers/PittValiant88-e.pdf&quot; rel=&quot;nofollow&quot;&gt;properly&lt;/a&gt; learn.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=4690955&quot; rel=&quot;nofollow&quot;&gt;Perhaps some good news?&lt;/a&gt;: we're unlikely to find an NP-Hardness of learning result unless the polynomial hierarchy collapses.&lt;/p&gt;&#xA;" OwnerUserId="123" LastEditorUserId="123" LastEditDate="2013-01-24T02:46:06.483" LastActivityDate="2013-01-24T02:46:06.483" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16203" PostTypeId="2" ParentId="16159" CreationDate="2013-01-23T22:21:54.763" Score="14" Body="&lt;p&gt;Let us call a logic &quot;symmetric&quot; where a $-A$ (&quot;not A&quot;) assumption means the same as proving $A$ and a proof of $-A$ means the same as an assumption of $A$.  Classical logic and linear logic are symmetric in this sense.  Intuitionistic logic is not.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Girard noticed that natural deduction is asymmetric in exactly this way.  That is why it matches up with intuitionistic logic.  Proof nets represent an attempt by Girard to invent a &lt;em&gt;symmetric&lt;/em&gt; form of natural deduction.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The best introduction to these ideas is in Girard's &quot;Proofs and Types&quot;.  If you work through the natural deduction and sequent calculus system for the $\land\to$ fragment of intuitionistic logic, and closely read the sections 5.3 and 5.4 which establish a &lt;em&gt;homomorphism&lt;/em&gt; from sequent calculus to natural deduction, you get an appreciation of what natural deduction is all about.  Then Lafont's Appendix introduces proof nets in the same spirit.  It is more or less straightforward to extend the homomorphism of sections 5.3-4 to one between linear logic sequent calculus and linear logic proof nets (at least for the multiplicative fragment).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One thing that is perhaps needlessly confusing about Girard's treatment is that he dispenses with two-sided sequents and uses one-sided sequents in the interest of economy.  For sequent calculus this works more or less fine.  But, when the same economy is applied to natural deduction, things look strange.  A proof net is therefore a &quot;natural deduction proof&quot; of a disjunction of formulas, &lt;em&gt;without any assumptions&lt;/em&gt;.  A deduction of type $\Gamma \vdash A$ is turned into a proof net of type $\vdash \Gamma^\perp, A$.  If this confuses you then you might want to write down for yourself a two sided sequent calculus and an assumption-conclusion form of proof nets.  That might clarify things.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Something I missed out in my original answer: Proof nets are a way of writing proofs, and we know that proofs are programs.  So, proof nets are also a way of writing programs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The traditional functional notation for writing programs is asymmetric, just like natural deduction is.  So,  proof nets point to a way of writing programs in a &lt;em&gt;symmetric&lt;/em&gt; form.  That is how process calculi enter the picture.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another way of representing the symmetry is through logic programming, which I have explored in two papers: &lt;a href=&quot;http://www.cs.bham.ac.uk/~udr/papers/directional.pdf&quot; rel=&quot;noreferrer&quot;&gt;A typed foundation for directional logic programs&lt;/a&gt; and &lt;a href=&quot;http://www.cs.bham.ac.uk/~udr/papers/higher.pdf&quot; rel=&quot;noreferrer&quot;&gt;Higher-order aspects of logic programming&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="8519" LastEditorUserId="8519" LastEditDate="2013-02-05T09:56:12.250" LastActivityDate="2013-02-05T09:56:12.250" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16204" PostTypeId="2" ParentId="7459" CreationDate="2013-01-23T23:32:26.113" Score="15" Body="&lt;p&gt;While I don't know the answer to this question, it seems crucial that the phenomenon isn't limited at all to &lt;i&gt;theoretical&lt;/i&gt; computer science.  I believe SIGGRAPH plays the same sort of role for graphics, NIPS for machine learning, ISCA for architecture, etc. that STOC and FOCS play for theory.  Yet it's true that the emphasis on &lt;i&gt;publication in conference proceedings&lt;/i&gt; is a striking feature of computer science as a whole, one that isn't shared by any other academic field that I know about.  (But maybe there &lt;i&gt;are&lt;/i&gt; other such fields?)&lt;/p&gt;&#xA;" OwnerUserId="1575" LastEditorUserId="1575" LastEditDate="2013-01-24T13:53:02.953" LastActivityDate="2013-01-24T13:53:02.953" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16205" PostTypeId="1" CreationDate="2013-01-24T00:34:04.670" Score="1" ViewCount="108" Body="&lt;p&gt;Given a polynomial of degree $n$, namely, $y=a_nx^n + a_{n-1}x^{n-1} + \dots + a_1x + a_0$, with $a_i\in \mathbb{R}$,  I would to know if it is possible to &lt;strong&gt;compute&lt;/strong&gt; a rational number $K$ such that the distance between each of the (at most $n$) real roots of the polynomial is $K$.&lt;/p&gt;&#xA;" OwnerUserId="13388" LastEditorUserId="40" LastEditDate="2013-01-24T04:29:40.177" LastActivityDate="2013-01-24T04:32:20.483" Title="Delimiting the roots of a polynomial" Tags="&lt;na.numerical-analysis&gt;&lt;computable-analysis&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="16206" PostTypeId="1" AcceptedAnswerId="16229" CreationDate="2013-01-24T02:28:08.153" Score="19" ViewCount="4537" Body="&lt;p&gt;What would be a good informal/intuitive proof for 'hitting the point home' about LP duality? How best to show that the minimized objective function is indeed the minimum with an intuitive way of understanding the bound?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The way I was taught Duality only led to one understanding which I am sure is shared by a LOT of people I know: For every corresponding minimization problem there is an equivalent maximization problem that can be derived by inverting the inequality constraints. Period. This  &quot;conclusion&quot; of duality is what seems to stick but not &quot;why is this so&quot; (i.e. how/why is there a bound on the optimal solution).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a way of playing with the inequalities just to 'show' the lower/upper bound on the optimum which could be a motivation for the proof?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I've gone through Chvatal's book as well as a few others but found nothing that could be understood by absolute noobs to LP. The closest that I got was from Vazirani's book on algorithms, where he talks about 'multiplying the inequalities with some magic numbers that show the bound' - I'm not sure how to reproduce the effect for an arbitrary LP.&lt;/p&gt;&#xA;" OwnerUserId="7014" LastActivityDate="2013-01-25T23:16:40.327" Title="An intuitive/informal proof for LP Duality?" Tags="&lt;linear-programming&gt;&lt;primal-dual&gt;" AnswerCount="2" CommentCount="7" FavoriteCount="10" ContentLicense="CC BY-SA 3.0" />
  <row Id="16207" PostTypeId="2" ParentId="16206" CreationDate="2013-01-24T04:24:46.083" Score="7" Body="&lt;p&gt;Elaborating on Mike's answer and Vazirani's comment, you get the dual by considering the general form of an optimality proof for the solution to the original problem. Suppose you have a maximization problem given some linear inequalities, and without loss of generality, suppose you're trying to maximize the variable $x$. Given a solution in which $x = B$, how do we know that it's optimal? One way is to try to get a bound on $x$ by taking linear combinations of the linear inequalities. Some linear combinations give you a bounds of the form $x \leq C$, and you're trying to get the best (minimal) $C$ possible. Weak duality states that $B \leq \min C$, which is obvious by definition. Strong duality states that when $B$ is finite, then $B = \min C$. This means that if the maximum is $B$ then there is a &quot;reason&quot; that you can't get beyond $B$, which doubles as a proof of optimality.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This point of view is actually helpful sometimes. Let $f$ be a set function ($f$ takes a set and outputs a real number), and $S,O$ be two sets. Suppose you're trying to derive an inequality $f(S) \geq (1-1/e) f(O)$ from a bunch of inequalities regarding the function $f$ (that's a real-life example). You write a linear program in which the values of $f$ are the variables, $f(O) = 1$ is a constraint, and the objective is to minimize $f(S)$. The solution to this program is $\min f(S) = 1-1/e$ (let's assume $1-1/e$ is best-possible), and the solution to the dual gives you a proof of $f(S) \geq 1-1/e$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This leaves open the question of why strong duality actually holds. There are two proofs of this fact for linear programming, one involving the simplex algorithm, the other Farkas's lemma. Farkas's lemma is probably the &quot;correct&quot; way to understand the situation, reducing everything to some intuitive geometric fact. However, I confess that this intuition goes over my head.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In more general situations (let's say semidefinite programming), you need to use the more general &lt;a href=&quot;http://en.wikipedia.org/wiki/Karush%E2%80%93Kuhn%E2%80%93Tucker_conditions&quot;&gt;Karush-Kuhn-Tucker conditions&lt;/a&gt; (a form of Lagrange multipliers) to get the dual and conditions for strong duality. This is treated in texts on non-linear or convex optimization.&lt;/p&gt;&#xA;" OwnerUserId="40" LastActivityDate="2013-01-24T04:24:46.083" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16208" PostTypeId="2" ParentId="3616" CreationDate="2013-01-24T04:30:47.437" Score="29" Body="&lt;p&gt;This is really a false belief in math, but comes up often in TCS contexts: If random variables $X$ and $Y$ are independent, then conditioned on $Z$ they remain independent. (false even if $Z$ is independent of both $X$ and $Y$.)&lt;/p&gt;&#xA;" OwnerUserId="6190" LastActivityDate="2013-01-24T04:30:47.437" CommentCount="2" CommunityOwnedDate="2013-01-24T04:30:47.437" ContentLicense="CC BY-SA 3.0" />
  <row Id="16209" PostTypeId="2" ParentId="16205" CreationDate="2013-01-24T04:32:20.483" Score="3" Body="&lt;p&gt;You can (without too much work) find a number $K$ such that if $|x| &amp;gt; K$ then $|a_n x^n| &amp;gt; \sum_{k&amp;lt;n} |a_k x^k|$, and so all roots are inside $(-K,K)$ and the distance between them is smaller than $2K$.&lt;/p&gt;&#xA;" OwnerUserId="40" LastActivityDate="2013-01-24T04:32:20.483" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16210" PostTypeId="2" ParentId="16159" CreationDate="2013-01-24T10:56:32.790" Score="9" Body="&lt;p&gt;I focus on how proof nets are related to sequent calculus, leaving more dynamic stuff.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Proof nets abstract sequent calculus proofs: a proof net represents a set of sequent calculus proofs.  Proof nets forget unimportant differences between sequent calculus proofs (like which formula is decomposed below which).  The important theorem here is &quot;sequentialization&quot;, which converts a proof net into a sequent calculus proof.&lt;/p&gt;&#xA;" OwnerUserId="249" LastActivityDate="2013-01-24T10:56:32.790" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16213" PostTypeId="2" ParentId="6094" CreationDate="2013-01-24T14:21:41.007" Score="13" Body="&lt;p&gt;I strongly recommend the paper by Bixby, the &quot;father&quot; of CPLEX, that surveys not only on implementing aspects of the (revised) simplex algorithm: &lt;strong&gt;Robert E. Bixby&lt;/strong&gt;, &lt;em&gt;Solving Real-World Linear Programs: A Decade and More of Progress&lt;/em&gt;, &lt;a href=&quot;http://or.journal.informs.org/content/50/1/3.abstract&quot;&gt;Operations Research (50) 2002, 3-15&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="6706" LastActivityDate="2013-01-24T14:21:41.007" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16214" PostTypeId="1" CreationDate="2013-01-24T16:17:59.307" Score="26" ViewCount="1030" Body="&lt;p&gt;What is known about the computational complexity of factoring integers in general number fields? More specifically:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Over the integers we represent integers via their binary expansions. What is the analogous representations of integers in general number fields?&lt;/li&gt;&#xA;&lt;li&gt;Is it known that primality over number fields is in P or BPP?&lt;/li&gt;&#xA;&lt;li&gt;What are the best known algorithms for factoring over number fields? (Do the &lt;span class=&quot;math-container&quot;&gt;$\exp \sqrt n$&lt;/span&gt; and the (apparently) &lt;span class=&quot;math-container&quot;&gt;$\exp n^{1/3}$&lt;/span&gt; algorithms extend from &lt;span class=&quot;math-container&quot;&gt;$\mathbb{Z}$&lt;/span&gt;?) Here, factoring refers to finding some representation of a number (represented by &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt; bits) as a product of primes.&lt;/li&gt;&#xA;&lt;li&gt;What is the complexity of finding all factorizations of an integer in a number field? Of counting how many distinct factorizations it has?&lt;/li&gt;&#xA;&lt;li&gt;Over &lt;span class=&quot;math-container&quot;&gt;$\mathbb{Z}$&lt;/span&gt; it is known that deciding if a given number has a factor in an interval &lt;span class=&quot;math-container&quot;&gt;$[a,b]$&lt;/span&gt; is NP-hard. Over the ring of integers in number fields, can it be the case that finding if there is a prime factor whose norm is in a certain interval is already NP-hard?&lt;/li&gt;&#xA;&lt;li&gt;Is factoring in number fields in BQP?&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h3&gt;Remarks, motivations and updates.&lt;/h3&gt;&#xA;&lt;p&gt;Of course the fact that factorization is not unique over number fields is crucial here. The question (especially part 5) was motivated by this &lt;a href=&quot;http://rjlipton.wordpress.com/2012/09/26/how-not-to-prove-integer-factoring-is-in-p/&quot; rel=&quot;noreferrer&quot;&gt;blog post over GLL&lt;/a&gt; (see &lt;a href=&quot;http://rjlipton.wordpress.com/2012/09/26/how-not-to-prove-integer-factoring-is-in-p/#comment-27156&quot; rel=&quot;noreferrer&quot;&gt;this remark&lt;/a&gt;), and also by this earlier TCSexchange question. I presented it also &lt;a href=&quot;http://gilkalai.wordpress.com/2013/01/28/primality-and-factoring-in-number-fields/&quot; rel=&quot;noreferrer&quot;&gt;over my blog&lt;/a&gt; where Lior Silverman &lt;a href=&quot;http://gilkalai.wordpress.com/2013/01/28/primality-and-factoring-in-number-fields/#comment-8000&quot; rel=&quot;noreferrer&quot;&gt;presented a thorough answer&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="712" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2015-04-05T23:12:41.797" Title="Complexity of factoring in number fields" Tags="&lt;cc.complexity-theory&gt;&lt;nt.number-theory&gt;&lt;comp-number-theory&gt;" AnswerCount="2" CommentCount="13" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="16215" PostTypeId="2" ParentId="16186" CreationDate="2013-01-24T16:57:34.437" Score="4" Body="&lt;p&gt;I think the simpler example is your property, which can be written for instance $E(((a+b)a)^\omega))$.&#xA;A simple way to show that is is not in CTL* is to show that this would imply that the word language $((a+b)a)^\omega$ is in LTL (because CTL* on linear structures is LTL). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This fact is a classical result.&#xA;To show it, it suffices (for instance) to use the theorem stating LTL&amp;lt;=&gt;aperiodic $\omega$-semigroup. So we just need to compute the minimal $\omega$-semigroup of this language, and observe that it contains the group $\mathbb{Z}/2\mathbb{Z}$, so it is not aperiodic.&lt;/p&gt;&#xA;" OwnerUserId="8953" LastActivityDate="2013-01-24T16:57:34.437" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="16216" PostTypeId="1" CreationDate="2013-01-24T17:03:30.747" Score="4" ViewCount="328" Body="&lt;p&gt;The problem in terms of a step function on integers: A step function of integers is $0$ until $s$ (the &quot;item&quot; in question) and then $1$. That is, $s$ is the first integer that satisfies the property $f(s) = 1$. The only way to find out the function's value $f(x)$ is to run a test to evaluate it, where each test has a penalty $p(x)$. Given a range $[a,b]$ in which the step is known to occur, find the stepping point $s$ with minimal total penalty.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the case I'm interested in, $p(x) = x$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $p(x)$ is just a constant, then binary search is the solution (I think?).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Background: There is a process that takes X minutes before a certain event occurs, always at the same time, but this time is unknown. I need to find this time. To check, start the process, wait X minutes and then run a test to find out if the event happened or not. After testing, the process restarts (so you can't just test every minute to find out the minimum time). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit&lt;/strong&gt;: I forgot to mention that for simplicity's sake the distribution of $s$ is uniform in $[a,b]$, that is $P(x=s, x \in [a,b]) = 1/(b-a+1)$. A more realistic distribution in my actual problem is monotonically increasing, for example $P(x) = 2x/(b-a+1)^2$. &lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt; &lt;a href=&quot;https://cstheory.stackexchange.com/a/16223/13449&quot;&gt;usul's answer&lt;/a&gt; (with a minor tweak) describes how to calculate the value which needs minimizing, which is the &lt;em&gt;expected cost&lt;/em&gt; given a penalty function and the probability distribution of the target value. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The question still stands: which algorithm actually minimizes that value in the case $p(x)=x$ and the two distributions discussed above (uniform and increasing)? More generally - what's an algorithm that takes the penalty function and always yields the minimum expected cost?&lt;/p&gt;&#xA;" OwnerUserId="13449" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2013-01-29T16:58:08.380" Title="Searching for the first item satisfying property with penalty for every test" Tags="&lt;search-problem&gt;" AnswerCount="2" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="16221" PostTypeId="2" ParentId="16216" CreationDate="2013-01-24T22:07:26.043" Score="1" Body="&lt;p&gt;One greedy method would be to test the position which will minimize expected entropy (the amount of information that is unknown) weighted by the cost of testing the position.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assuming that we have determined that $c \le s \le d$ (via previous tests), then the current amount of entropy is:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$-\sum_{x=c}^d \ln\big(Pr(s = x \mid c \le x \le d)\big)Pr(s = x \mid c \le x \le d)$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;After testing a position, $y$, between $c$ and $d$, the entropy will be&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$-\sum_{x=c}^y \ln\big(Pr(s = x \mid c \le x \le y)\big)Pr(s = x \mid c \le x \le y)$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;with probability $Pr(c \le s \le y \mid c \le s \le d)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;and&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$-\sum_{x=y+1}^d \ln\big(Pr(s = x \mid y &amp;lt; x \le d)\big)Pr(s = x \mid y &amp;lt; x \le d)$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;with probability $Pr(y &amp;lt; s \le d \mid c \le s \le d)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This makes the expected entropy:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;-Pr(c \le s \le y \mid c \le s \le d)\sum_{x=c}^y \ln\big(Pr(s = x \mid c \le x \le y)\big)Pr(s = x \mid c \le x \le y)&#xA;-Pr(y &amp;lt; s \le d \mid c \le s \le d)\sum_{x=y+1}^d \ln\big(Pr(s = x \mid y &amp;lt; x \le d)\big)Pr(s = x \mid y &amp;lt; x \le d)&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thus, to choose the test which minimizes expected entropy while penalizing cost, use the value of $y$ which minimizes:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$-p(y)\Big(&#xA;Pr(c \le s \le y \mid c \le s \le d)\sum_{x=c}^y \ln\big(Pr(s = x \mid c \le x \le y)\big)Pr(s = x \mid c \le x \le y)&#xA;+Pr(y &amp;lt; s \le d \mid c \le s \le d)\sum_{x=y+1}^d \ln\big(Pr(s = x \mid y &amp;lt; x \le d)\big)Pr(s = x \mid y &amp;lt; x \le d)&#xA;\Big)$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Repeat.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note, for uniform penalty and distribution, this becomes a binary search. I believe it will also work for your &quot;penalize odds&quot; example.&lt;/p&gt;&#xA;" OwnerUserId="4765" LastEditorUserId="4765" LastEditDate="2013-01-25T03:52:46.600" LastActivityDate="2013-01-25T03:52:46.600" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="16222" PostTypeId="1" AcceptedAnswerId="16224" CreationDate="2013-01-25T03:06:38.077" Score="14" ViewCount="455" Body="&lt;p&gt;It is well known that no deterministic two-party protocol can solve disjointness problem (DISJ) on $n$-bit inputs without sending $n+1$ bits in the worst case (see, e.g., the book by Kushilevitz and Nisan). For bounded-error randomized protocols, a lower bound of $\delta n$, for some constant $\delta$, has also been shown in a seminal paper by Razborov [Razborov92]. My question is: &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What is the best known explicit value of $\delta$ currently (both upper and lower bounds)?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Also, is there any belief on the actual value of $\delta$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[Razborov92] Alexander A. Razborov: On the Distributional Complexity of Disjointness. Theor. Comput. Sci. 106(2): 385-390 (1992) doi:&lt;a href=&quot;http://dx.doi.org/10.1016/0304-3975(92)90260-M&quot; rel=&quot;nofollow&quot;&gt;10.1016/0304-3975(92)90260-M&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="317" LastEditorUserId="109" LastEditDate="2015-01-10T19:28:09.670" LastActivityDate="2015-01-10T19:28:09.670" Title="Best communication complexity lower bound of disjointness" Tags="&lt;lower-bounds&gt;&lt;communication-complexity&gt;" AnswerCount="1" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="16223" PostTypeId="2" ParentId="16216" CreationDate="2013-01-25T05:31:03.160" Score="7" Body="&lt;p&gt;Here is a writeup following up on Tsuyoshi's pointer to use DP.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given $p(x)$, we can write any (decent, deterministic) algorithm as a binary decision tree with nodes weighted by $p(x)$. The root of the tree is the first node the algorithm selects to test; the left child of each $x$ is the next node to test if $f(x)$ is zero and the right node is the next to test if $f(x) = 1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An algorithm's worst-case performance on weights $p(x)$ is its weighted depth: the maximum over any path to a leaf of the sum of the path's weights.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Therefore the optimal deterministic algorithm minimizes this value.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The &quot;minimum maximum length&quot; or &quot;cost&quot; of a path starting at node $x$ is $p(x)$ plus the cost of the tree on the nodes remaining to be searched. The nodes remaining to be searched will always be an interval. This gives the DP relation:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;$cost[x, z] = \min_{y \in [x,z-1]} \left( p(y) + \max ( cost[x, y-1], cost[y, z]) \right)$&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;with $cost[x,x] = 0$ as a base case (except $cost[b,b] = p(b)$ unless you are promised that a $1$ occurs in the interval).&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;(Update)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;With a probability distribution, say you want to minimize total expected cost. The expected cost for searching an interval is the cost of searching the first node $y$, plus the expected cost for searching the remainder. Using $\Pr[a,b|c,d]$ for the conditional probability of being in interval [a,b] given that we're in interval [c,d], this gives the following:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;$cost[x,z] = \min_{y \in [x,z-1]} \left(p(y) + \Pr[x,y-1|x,z] cost[x,y-1] + \Pr[y,z|x,z] cost[y,z] \right)$ .&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Here's what I had before, which does something ... let's say &quot;different&quot; instead of &quot;wrong.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It minimizes maximum expected cost. The idea is, given an algorithm, consider the node $y$ with highest expected cost $\Pr[y] p(y)$. We want the algorithm that minimizes this value. We might view this as risk-averse, I suppose.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;$cost[x,z] = \min_{y \in [x,z-1]} \left( p(y) + \max ( \Pr[x,y-1 | x,z] cost[x,y-1],  \Pr[y,z | x,z] cost[y,z]) \right)$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="8243" LastEditorUserId="8243" LastEditDate="2013-01-29T16:58:08.380" LastActivityDate="2013-01-29T16:58:08.380" CommentCount="17" ContentLicense="CC BY-SA 3.0" />
  <row Id="16224" PostTypeId="2" ParentId="16222" CreationDate="2013-01-25T06:52:54.470" Score="16" Body="&lt;p&gt;In &lt;a href=&quot;http://eccc.hpi-web.de/report/2012/171&quot;&gt;a recent paper&lt;/a&gt;, Braverman, Garg, Pankratov, and Weinstein compute the value of $\delta$ to be exactly some constant around 0.4827, up to sublinear factors. This gives a tight bound on the communication complexity of disjointness.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The constant itself was found using a computer algebra system, and as far as I'm aware can't be expressed simply.&lt;/p&gt;&#xA;" OwnerUserId="3532" LastActivityDate="2013-01-25T06:52:54.470" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16226" PostTypeId="1" AcceptedAnswerId="16227" CreationDate="2013-01-25T17:38:34.957" Score="8" ViewCount="5523" Body="&lt;p&gt;Suppose a graph with node weights only (no edge weights). For a given source-sink pair, how can I find a path with the minimal sum of node weights? Does this problem have a name? Is it possible to reformulate this to a shortest-path problem?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If both nodes and edges are weighted, is it still possible to find a min-weight path?&lt;/p&gt;&#xA;" OwnerUserId="4040" LastActivityDate="2013-01-26T14:12:48.660" Title="Finding a minimum &quot;node&quot; weight path" Tags="&lt;graph-algorithms&gt;&lt;shortest-path&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16227" PostTypeId="2" ParentId="16226" CreationDate="2013-01-25T18:47:13.250" Score="7" Body="&lt;p&gt;You can treat this as a directed graph problem, where the weights of all edges coming into a node are equal to that node's weight.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If the edges are weighted too, add the node's weight and the edge's weight together to find the incoming edge's weight in the directed graph.&lt;/p&gt;&#xA;" OwnerUserId="8532" LastEditorUserId="8532" LastEditDate="2013-01-25T19:19:13.183" LastActivityDate="2013-01-25T19:19:13.183" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16228" PostTypeId="1" CreationDate="2013-01-25T19:08:56.123" Score="11" ViewCount="456" Body="&lt;p&gt;Is this perfect information game played on graphs know/studied?&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;Given a graph $G= (V,E)$, two players alternate picking an edge &lt;em&gt;or&lt;/em&gt; an isolated node. If the player picks an edge $e = (u,v)$ the two nodes $u$ and $v$ are deleted along with their incident edges. If the player picks an isolated node, the node is deleted. The first player unable to move loses the game.&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;What is the complexity of finding the winner?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any references to similar games?&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="567" LastEditDate="2013-01-27T20:02:59.123" LastActivityDate="2013-01-29T04:52:22.030" Title="Winning strategy of an &quot;edge or isolated vertex&quot; deletion game" Tags="&lt;reference-request&gt;&lt;combinatorial-game-theory&gt;" AnswerCount="1" CommentCount="17" ContentLicense="CC BY-SA 3.0" />
  <row Id="16229" PostTypeId="2" ParentId="16206" CreationDate="2013-01-25T23:16:40.327" Score="19" Body="&lt;p&gt;Per OP's wish, here's the math.SE answer I link to in my comment above.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;HR&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Maybe it's worthwhile to talk through where the dual comes from on an example problem.  This will take a while, but hopefully the dual won't seem so mysterious when we're done.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose with have a primal problem as follows.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;        Primal =\begin{Bmatrix}&#xA;        \max \ \ \ \  5x_1 - 6x_2  \\&#xA;        \ \ \  s.t. \ \ \ \ 2x_1 -x_2 = 1\\&#xA;        \ \ \ \ \ \ \ \ \ \ \ \ \ \ x_1 +3x_2 \leq9\\&#xA;        \ \ \ \ x_1 \geq 0\\&#xA;        \end{Bmatrix}&#xA;$$&#xA;&lt;HR&gt;&#xA;Now, suppose we want to use the primal's constraints as a way to find an upper bound on the optimal value of the primal.  If we multiply the first constraint by $9$, the second constraint by $1$, and add them together, we get $9(2x_1 - x_2) + 1(x_1 +3 x_2)$ for the left-hand side and $9(1) + 1(9)$ for the right-hand side.  Since the first constraint is an equality and the second is an inequality, this implies $$19x_1 - 6x_2 \leq 18.$$&#xA;But since $x_1 \geq 0$, it's also true that $5x_1 \leq 19x_1$, and so $$5x_1 - 6x_2 \leq 19x_1 - 6x_2 \leq 18.$$&#xA;Therefore, $18$ is an upper-bound on the optimal value of the primal problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Surely we can do better than that, though.  Instead of just guessing $9$ and $1$ as the multipliers, let's let them be variables.  Thus we're looking for multipliers $y_1$ and $y_2$ to force $$5x_1 - 6x_2 \leq y_1(2x_1-x_2) + y_2(x_1 + 3x_2) \leq y_1(1) + y_2(9).$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, in order for this pair of inequalities to hold, what has to be true about $y_1$ and $y_2$?  Let's take the two inequalities one at a time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;HR&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;The first inequality&lt;/strong&gt;: $5x_1 - 6x_2 \leq y_1(2x_1-x_2) + y_2(x_1 + 3x_2)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We have to track the coefficients of the $x_1$ and $x_2$ variables separately.  First, we need the total $x_1$ coefficient on the right-hand side to be at least $5$.  Getting exactly $5$ would be great, but since $x_1 \geq 0$, anything larger than $5$ would also satisfy the inequality for $x_1$.  Mathematically speaking, this means that we need $2y_1 + y_2 \geq 5$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, to ensure the inequality for the $x_2$ variable we need the total $x_2$ coefficient on the right-hand side to be exactly $-6$.  Since $x_2$ could be positive, we can't go lower than $-6$, and since $x_2$ could be negative, we can't go higher than $-6$ (as the negative value for $x_2$ would flip the direction of the inequality).  So for the first inequality to work for the $x_2$ variable, we've got to have $-y_1 + 3y_2 = -6$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;HR&gt;&#xA;&lt;strong&gt;The second inequality&lt;/strong&gt;: $y_1(2x_1-x_2) + y_2(x_1 + 3x_2) \leq y_1(1) + y_2(9)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here we have to track the $y_1$ and $y_2$ variables separately.  The $y_1$ variables come from the first constraint, which is an equality constraint.  It doesn't matter if $y_1$ is positive or negative, the equality constraint still holds.  Thus $y_1$ is unrestricted in sign.  However, the $y_2$ variable comes from the second constraint, which is a less-than-or-equal to constraint.  If we were to multiply the second constraint by a negative number that would flip its direction and change it to a greater-than-or-equal constraint.  To keep with our goal of upper-bounding the primal objective, we can't let that happen.  So the $y_2$ variable can't be negative.  Thus we must have $y_2 \geq 0$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, we want to make the right-hand side of the second inequality as small as possible, as we want the tightest upper-bound possible on the primal objective.  So we want to minimize $y_1 + 9y_2$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;HR&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Putting all of these restrictions on $y_1$ and $y_2$ together we find that the problem of using the primal's constraints to find the best upper-bound on the optimal primal objective entails solving the following linear program:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\begin{align*}&#xA;\text{Minimize }\:\:\:\:\: y_1 + 9y_2&amp;amp; \\&#xA;\text{subject to }\:\:\:\:\: 2y_1 + y_2&amp;amp; \geq 5 \\&#xA;                   -y_1 + 3y_2&amp;amp; = -6\\&#xA;                   y_2 &amp;amp; \geq 0.&#xA;\end{align*}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;And that's the dual.&#xA;&lt;HR&gt;&#xA;It's probably worth summarizing the implications of this argument for all possible forms of the primal and dual.  The following table is taken from p. 214 of &lt;em&gt;Introduction to Operations Research&lt;/em&gt;, 8th edition, by Hillier and Lieberman.  They refer to this as the SOB method, where SOB stands for Sensible, Odd, or Bizarre, depending on how likely one would find that particular constraint or variable restriction in a maximization or minimization problem.&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;             Primal Problem                           Dual Problem&#xA;             (or Dual Problem)                        (or Primal Problem)&#xA;&#xA;             Maximization                             Minimization&#xA;&#xA;Sensible     &amp;lt;= constraint            paired with     nonnegative variable&#xA;Odd          =  constraint            paired with     unconstrained variable&#xA;Bizarre      &amp;gt;= constraint            paired with     nonpositive variable&#xA;&#xA;Sensible     nonnegative variable     paired with     &amp;gt;= constraint&#xA;Odd          unconstrained variable   paired with     = constraint&#xA;Bizarre      nonpositive variable     paired with     &amp;lt;= constraint&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;" OwnerUserId="6543" LastActivityDate="2013-01-25T23:16:40.327" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16233" PostTypeId="2" ParentId="16226" CreationDate="2013-01-26T14:12:48.660" Score="-1" Body="&lt;p&gt;The question can be posed as a &lt;a href=&quot;http://xlinux.nist.gov/dads/HTML/branchNbound.html&quot; rel=&quot;nofollow&quot;&gt;branch-and-bound&lt;/a&gt; problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Perform a breadth-first search, extending the path with the smallest incremental increase in cumulative weight. Terminate any paths that reach already seen nodes. Continue until you reach the desired destination node.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given that you have no geometric measure, the search can, in the worst case, result in a crawl of the entire graph. If you any distance measure to the destination from each node, use that to select the next hop to explore.&lt;/p&gt;&#xA;" OwnerUserId="9031" LastActivityDate="2013-01-26T14:12:48.660" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16236" PostTypeId="1" AcceptedAnswerId="16255" CreationDate="2013-01-26T18:52:26.450" Score="3" ViewCount="502" Body="&lt;p&gt;It is well known that a mistake bound can be converted to a PAC bound. I know how to prove a sample complexity of&#xA;$$ O( (1/\epsilon)[M + \log(M/\delta)] ), $$&#xA;where $M$ is an upper bound on the number of mistakes.&#xA;I am told that Nick Littlestone sharpened this to&#xA;$$ O((1/\epsilon)[M + \log(1/\delta)])$$&#xA;in his 1989 COLT &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=93365&quot; rel=&quot;nofollow&quot;&gt;paper&lt;/a&gt;. Can anyone describe the proof, or better yet, help me find a copy of this paper? Is this the best possible?&lt;/p&gt;&#xA;" OwnerUserId="1746" LastEditorUserId="186" LastEditDate="2013-01-26T19:29:04.610" LastActivityDate="2013-01-29T11:35:08.937" Title="Online to batch sample complexity" Tags="&lt;machine-learning&gt;&lt;lg.learning&gt;&lt;online-learning&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16238" PostTypeId="2" ParentId="16187" CreationDate="2013-01-27T02:12:02.770" Score="12" Body="&lt;p&gt;There are a number of game-theoretic characterizations of complexity classes. The most famous may be &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;AP=PSPACE (figuring out who wins a deterministic game which lasts for a polynomial number of moves is a PSPACE-complete question), &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;IP=PSPACE (in a polynomial-length deterministic game played against a player who makes random moves, distinguishing between the cases where your chance of winning is &gt;0.9 and &amp;lt;0.1 is PSPACE-complete), &lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;but there are many, many more. &lt;/p&gt;&#xA;" OwnerUserId="1677" LastActivityDate="2013-01-27T02:12:02.770" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16241" PostTypeId="1" AcceptedAnswerId="16264" CreationDate="2013-01-27T09:26:16.363" Score="19" ViewCount="2251" Body="&lt;p&gt;Any monad is also an applicative functor and any applicative functor is a functor. Also, any comonad is a functor. Is there a similar concept between comonads and functors, something like co-applicative functor, and what are its properties?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;\begin{array}{c}&#xA;\end{array}&#xA;\begin{array}{cc}&#xA;\mbox{Functors} &amp;amp; &amp;amp; \mbox{Functors} \\&#xA;\uparrow &amp;amp; &amp;amp; \uparrow \\&#xA;\mbox{Applicative functors} &amp;amp; &amp;amp; ??? \\&#xA;\uparrow &amp;amp; &amp;amp; \uparrow \\&#xA;\mbox{Monads} &amp;amp; &amp;amp; \mbox{Comonads} \\&#xA;\end{array}&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Update:&lt;/em&gt; I'd be also interested in possible uses of such a concept.&lt;/p&gt;&#xA;" OwnerUserId="10336" LastEditorUserId="10336" LastEditDate="2013-01-27T14:18:32.697" LastActivityDate="2014-04-27T10:12:18.897" Title="Is there a concept of something like co-applicative functors sitting between comonads and functors?" Tags="&lt;ct.category-theory&gt;&lt;monad&gt;&lt;applicative&gt;&lt;comonad&gt;" AnswerCount="3" CommentCount="4" FavoriteCount="10" ContentLicense="CC BY-SA 3.0" />
  <row Id="16242" PostTypeId="2" ParentId="16241" CreationDate="2013-01-27T12:23:43.760" Score="6" Body="&lt;p&gt;&lt;a href=&quot;http://www.soi.city.ac.uk/~ross/papers/Applicative.pdf&quot; rel=&quot;nofollow&quot;&gt;McBride and Patterson&lt;/a&gt; (Section 7) show that an applicative functor, also known as an idiom, is a &lt;em&gt;strong lax monoidal functor&lt;/em&gt;. You are looking for a &lt;em&gt;strong colax monoidal functor&lt;/em&gt; also known as an &lt;em&gt;strong oplax monoidal functor&lt;/em&gt;.  As mentioned in a comment, an oplax monoidal functor is a lax monoidal functor between the opposite categories, which ends up being a comonoidal version of a lax monoidal functor. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Draw the diagrams, reverse the arrows!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'd have to spend a bit of time working out the details to see which it is, and to translate it into a functional programming notion.&lt;/p&gt;&#xA;" OwnerUserId="77" LastEditorUserId="77" LastEditDate="2014-04-27T10:12:18.897" LastActivityDate="2014-04-27T10:12:18.897" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="16244" PostTypeId="1" AcceptedAnswerId="16250" CreationDate="2013-01-27T18:40:14.340" Score="31" ViewCount="9501" Body="&lt;p&gt;Many experts believe that the &lt;span class=&quot;math-container&quot;&gt;$\mathsf{P} \neq \mathsf{NP}$&lt;/span&gt; conjecture is true and use it in their results. My concern is that the complexity strongly depends on the &lt;span class=&quot;math-container&quot;&gt;$\mathsf{P} \neq \mathsf{NP}$&lt;/span&gt; conjecture.&lt;/p&gt;&#xA;&lt;p&gt;So my question is:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;As long as the &lt;span class=&quot;math-container&quot;&gt;$\mathsf{P}\neq\mathsf{NP}$&lt;/span&gt; conjecture is not proven, can/should one consider it as a law of nature, as indicated in the quote from Strassen?&#xA;Or should we treat it as a &lt;a href=&quot;http://www.claymath.org/millenium-problems/p-vs-np-problem&quot; rel=&quot;noreferrer&quot;&gt;mathematical conjecture&lt;/a&gt;&#xA;that maybe proved or disproved someday?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Quote:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&amp;quot;The evidence in favor of Cook's and Valiant's hypotheses is so overwhelming, and the consequences of their failure are so grotesque, that&#xA;their status may perhaps be compared to that of physical laws rather than that of ordinary mathematical conjectures.&amp;quot;&lt;/p&gt;&#xA;&lt;p&gt;[Volker Strassen's &lt;a href=&quot;http://ada00.math.uni-bielefeld.de/ICM/ICM1986.1/Main/icm1986.1.0016.0022.ocr.pdf&quot; rel=&quot;noreferrer&quot;&gt;laudation&lt;/a&gt;&#xA;to the Nevanlinna Prize winner, Leslie G. Valian, in 1986]&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;I ask this question when reading the post &lt;a href=&quot;https://cstheory.stackexchange.com/questions/2074/physics-results-in-tcs&quot;&gt;Physics results in TCS?&lt;/a&gt;.&#xA;It is perhaps interesting to note that computational complexity has some similarities to (theoretical) physic: &lt;strong&gt;many important complexity results&#xA;have been proved by assuming &lt;span class=&quot;math-container&quot;&gt;$\mathsf{P} \neq \mathsf{NP}$&lt;/span&gt;, while in theoretical physic results are proven by assuming some physical laws&lt;/strong&gt;.&#xA;In this sense, &lt;span class=&quot;math-container&quot;&gt;$\mathsf{P} \neq \mathsf{NP}$&lt;/span&gt; can be considered something like &lt;span class=&quot;math-container&quot;&gt;$E = mc^2$&lt;/span&gt;.&#xA;Back to &lt;a href=&quot;https://cstheory.stackexchange.com/questions/2074/physics-results-in-tcs&quot;&gt;Physics results in TCS?&lt;/a&gt;:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Could (part of) TCS be a branch of natural sciences?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;h3&gt;Clarification:&lt;/h3&gt;&#xA;&lt;p&gt;(c.f. Suresh's answer below)&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Is it legitimate to say that the &lt;span class=&quot;math-container&quot;&gt;$\mathsf{P}\neq\mathsf{NP}$&lt;/span&gt; conjecture in complexity theory is as fundamental as a physical laws in theoretical physics (as Strassen said)?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="6706" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2013-12-23T03:31:34.793" Title="Should we consider $\mathsf{P} \neq \mathsf{NP}$ a law of nature?" Tags="&lt;cc.complexity-theory&gt;&lt;soft-question&gt;&lt;big-picture&gt;&lt;p-vs-np&gt;&lt;physics&gt;" AnswerCount="7" CommentCount="15" FavoriteCount="24" ContentLicense="CC BY-SA 3.0" />
  <row Id="16246" PostTypeId="2" ParentId="16244" CreationDate="2013-01-27T19:11:57.310" Score="13" Body="&lt;p&gt;I'm not sure I understand. A physical law (of the kind you indicate) is a mathematical expression of a model (in that example, relativity) that claims to capture reality. A physical law can be proved wrong if the underlying mathematics is incorrect, but it can also be wrong if the underlying model changes (for example, newtonian mechanics). P vs NP is a specific mathematical conjecture that is true or false (and might be provably or not)&lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2013-01-27T19:11:57.310" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16248" PostTypeId="1" CreationDate="2013-01-27T20:57:25.300" Score="9" ViewCount="439" Body="&lt;p&gt;In the paper from Adi Shamir [1] from 1979 he shows, that factoring can be done in a polynomial number of &lt;em&gt;arithmetic steps&lt;/em&gt;. This fact was restated, and thus came to my attention, in the recent paper of Borwein and Hobart [2] in the context of straight line programs (SLP). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since I was rather surprised to read this, I have the following question: Are there any other cryptographic problems or maybe also other relevant problems, that can be solved in a polynomial number of steps with a SLP and that are currently not known to be solvable efficiently on a &quot;normal&quot; classical computer?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] Adi Shamir, &lt;a href=&quot;http://dx.doi.org/10.1016/0020-0190(79)90087-5&quot; rel=&quot;nofollow&quot;&gt;Factoring Numbers in $O(\log n)$ arithmetic steps&lt;/a&gt;. Information Processing Letters 8 (1979) S. 28–31&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] Peter Borwein, Joe Hobart, &lt;a href=&quot;http://dx.doi.org/10.4169/amer.math.monthly.119.07.584&quot; rel=&quot;nofollow&quot;&gt;The Extraordinary Power of Division in Straight Line Programs&lt;/a&gt;, &#xA;The American Mathematical Monthly Vol. 119, No. 7 (August‒September 2012), pp. 584-592&lt;/p&gt;&#xA;" OwnerUserId="5641" LastEditorUserId="129" LastEditDate="2013-01-28T18:10:42.383" LastActivityDate="2013-07-25T02:50:41.683" Title="(Cryptographic) problems solvable in a polynomial number of arithmetic steps" Tags="&lt;cc.complexity-theory&gt;&lt;cr.crypto-security&gt;&lt;algebraic-complexity&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16250" PostTypeId="2" ParentId="16244" CreationDate="2013-01-27T23:35:01.917" Score="58" Body="&lt;p&gt;Strassen's statement needs to be put into context. This was an address to an audience of mathematicians in 1986, a time when many mathematicians did not have a high opinion of theoretical computer science. The complete statement is&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;For some of you it may seem that the theories discussed here rest on weak foundations. They do not. The evidence in favor of Cook's and Valiant's hypotheses is so overwhelming, and the consequences of their failure is so grotesque, that their status may perhaps be compared to that of physical laws rather than that of ordinary mathematical conjectures.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I am sure that Strassen had had conversations with pure mathematicians who said something along the lines of &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&quot;You're basing the whole of complexity theory on a house of cards. What if P=NP? Then all your theorems will be meaningless. Why don't you just put forth a little effort and prove that P$\neq$NP, rather than keep building a theory on such weak foundations.&quot;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;In 2013, when P$\neq$NP has been a Clay prize problem for a dozen years, it may seem difficult to believe that any mathematicians actually had such attitudes; however, I can personally vouch that some did. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Strassen continues by saying that we should not give up looking for a proof of P$\neq$NP (thus indirectly implying that it is indeed a mathematical conjecture): &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Nevertheless, a traditional proof would be of great interest, and it seems to me that Valiant's hypothesis may be easier to confirm than Cook's... &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;so maybe I would label it as a &quot;working hypothesis&quot; rather than a &quot;physical law&quot;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let me finally note that mathematicians also use such working hypotheses. There are a large number of mathematics papers proving theorems whose statements run &quot;Assuming the Riemann hypothesis is true, then ...&quot;. &lt;/p&gt;&#xA;" OwnerUserId="1677" LastEditorUserId="1677" LastEditDate="2013-01-29T17:54:07.070" LastActivityDate="2013-01-29T17:54:07.070" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="16251" PostTypeId="2" ParentId="16244" CreationDate="2013-01-28T01:32:09.270" Score="21" Body="&lt;p&gt;I can see three related ways to understand the question: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) Can we we regard $NP \ne P$ as a fundamental principle of computational complexity theory, even before we can prove it?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) Does the $NP \ne P$ principle extends beyond its narrow mathematical meaning?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;3) Does the $NP \ne P$ principle can be regarded as a physical law.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think that there are good reasons to answer 'yes' or 'qualified yes' for all these three questions.&lt;/p&gt;&#xA;" OwnerUserId="712" LastActivityDate="2013-01-28T01:32:09.270" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16252" PostTypeId="2" ParentId="16214" CreationDate="2013-01-28T08:57:01.037" Score="5" Body="&lt;p&gt;As mentioned by Daniel, you can find some informations in the book &lt;em&gt;A Course in Computational Algebraic Number Theory&lt;/em&gt; (&lt;a href=&quot;http://www.springer.com/mathematics/numbers/book/978-3-540-55640-4&quot;&gt;link&lt;/a&gt;). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In particular, there are several ways of representing elements of number fields. Let $K=Q[\xi]/\langle\varphi\rangle$ be a number field with $\varphi$ a degree-$n$ monic irreducible polynomial of $\mathbb Z[\xi]$. Let $\theta$ be any root of $\varphi$. The so-called &lt;em&gt;standard representation&lt;/em&gt; of an element $\alpha\in K$ is the tuple $(a_0,\dotsc,a_{n-1},d)$ where $a_i\in\mathbb Z$, $d&amp;gt;0$ and $\gcd(a_0,\dotsc, a_{n-1},d)=1$, such that $$\alpha=\frac{1}{d} \sum_{i=0}^{n-1} a_i\theta^i.$$&lt;/p&gt;&#xA;" OwnerUserId="976" LastActivityDate="2013-01-28T08:57:01.037" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16253" PostTypeId="1" CreationDate="2013-01-28T11:38:41.003" Score="12" ViewCount="3279" Body="&lt;p&gt;I am looking for &lt;a href=&quot;http://en.wikipedia.org/wiki/Strongly_NP-complete&quot; rel=&quot;nofollow&quot;&gt;strongly NP-hard problems&lt;/a&gt; for a reduction.&#xA;So far I have found the following problems:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;3-partition problem&lt;/li&gt;&#xA;&lt;li&gt;bin-packing problem&lt;/li&gt;&#xA;&lt;li&gt;Numerical 3-dimensional matching&lt;/li&gt;&#xA;&lt;li&gt;TSP&lt;/li&gt;&#xA;&lt;li&gt;Any NP-complete problem without numerical data, e.g., SATISFIABILITY, HAMILTONIAN&#xA;CYCLE, 3-COLOURABILITY.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Does anyone know of a list of strongly NP-hard problems?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If not, let's build one here.&#xA;Do you know of other problems with numerical data that are strongly NP-hard?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm particularly interested in strongly NP-hard problems on weighted graphs.&lt;/p&gt;&#xA;" OwnerUserId="13485" LastEditorUserId="5038" LastEditDate="2015-01-24T01:46:46.833" LastActivityDate="2015-01-27T02:55:59.190" Title="List of strongly NP-hard problems with numerical data" Tags="&lt;np-hardness&gt;&lt;big-list&gt;&lt;hamiltonian-paths&gt;" AnswerCount="4" CommentCount="4" FavoriteCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="16254" PostTypeId="1" AcceptedAnswerId="16260" CreationDate="2013-01-28T11:56:55.557" Score="5" ViewCount="382" Body="&lt;p&gt;Given a data matrix $D$, is there any effective algorithm to solve the optimization problem&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\min_Q || D - Q ||_F$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;such that&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$Qe=e$,&lt;/li&gt;&#xA;&lt;li&gt;$e^TQ=e^T$, and&lt;/li&gt;&#xA;&lt;li&gt;$Q_{i,j} \geq 0 $  $\forall i,j$,&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;where $||\cdot||_F$ is the Frobenius norm of matrix.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;p.s. I also &lt;a href=&quot;https://math.stackexchange.com/questions/288860/effective-algorithm-of-searching-the-nearest-doubly-stochastic-matrix&quot;&gt;posted&lt;/a&gt; this question on the Mathematicss exchange.&lt;/p&gt;&#xA;" OwnerUserId="10965" LastEditorUserId="-1" LastEditDate="2017-04-13T12:19:19.363" LastActivityDate="2013-01-28T19:13:15.330" Title="Effective algorithm of searching the &quot;nearest&quot; doubly stochastic matrix" Tags="&lt;optimization&gt;&lt;matrices&gt;" AnswerCount="1" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="16255" PostTypeId="2" ParentId="16236" CreationDate="2013-01-28T13:34:40.757" Score="5" Body="&lt;p&gt;Here is the sketch of a proof I know. &#xA;Let us draw $s = \max\left(\frac{4M}{\varepsilon},\frac{c}{\varepsilon} \log\frac{1}{\delta}\right)$ samples from the unkown distribution (where $c$ isconstant), and feed them as input for the mistake-bounded algorithm. We can assume the learning algorithm is conservative, i.e., only changes its working hypothesis after an incorrect prediction has been made.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Look at the sequence of $k \le M$ hypothesis produced by the learner; we claim that, with probability $1-\frac\delta2$, at least one of them has error $&amp;lt; \frac\varepsilon2$. Assume the contrary and observe that any hypothesis with error $\ge \frac\varepsilon 2$ will be found to be wrong within the next $\frac{2}\varepsilon \le \frac{s}{2M}$ random examples on average. Therefore the expected number of samples before the last hypothesis is produced is bounded by $s / 2$. By using a Chernoff-like bound for the sum of geometric random variables, we can bound the probability that a hypothesis with error $&amp;lt; \frac \varepsilon 2$ is not found within $s$ samples by $\delta / 2$ (for a suitable value of $c$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The rest is easy: we know that one of the hypothesis is good, so we just draw $O\left(\frac{1}{\varepsilon} \log{\frac{M}{\delta}}\right)$ additional samples, test each of them against this new sample set, and select the best one. By Chernoff bounds, it holds that with probability $1-\frac\delta 2$, the good one has empirical error $&amp;lt; \frac{3}{4} \varepsilon$ on this set, while any wrong hypothesis with error $&amp;gt; \varepsilon$ will have empirical error $&amp;gt; \frac{3}{4} \varepsilon$. All in all, a hypothesis with error less than $\varepsilon$ will be selected with probability $1-\delta$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My guess is that the bound is optimal, but I haven't found a reference for this.&lt;/p&gt;&#xA;" OwnerUserId="2874" LastEditorUserId="2874" LastEditDate="2013-01-29T11:35:08.937" LastActivityDate="2013-01-29T11:35:08.937" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="16256" PostTypeId="2" ParentId="16244" CreationDate="2013-01-28T14:06:19.850" Score="-3" Body="&lt;p&gt;You can do a lots of experiments on speeds and velocities, and you will obtain overwhelming evidence to validate Newton's laws. Of course, you will see some very strange things in very particular experiments, like the speed of light in moving water, or some astronomical events. But your overwhelming pieces of evidence will say to you : Newton is right and those laws are what you need&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course, Newton &quot;is not right&quot;, and Einstein came after him.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For P=NP, we can see a lots of example where it seems P≠NP. But in some particular cases, we have strange things. If P≠NP, there are an infinite number of classes between them, so we should find some problems in NP that are not in P, but are not NP-complete. We don't know any of them, and most candidates were proven to be in P.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What you think about this problem depends on where you want to look at. I would not be surprised if P=NP. &lt;/p&gt;&#xA;" OwnerUserId="10151" LastActivityDate="2013-01-28T14:06:19.850" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="16258" PostTypeId="1" AcceptedAnswerId="16282" CreationDate="2013-01-28T14:58:59.350" Score="15" ViewCount="412" Body="&lt;p&gt;Consider $(X, \leq)$ a finite poset over $n$ items, and $P$ an unknown monotonic predicate over $X$ (i.e., for any $x$, $y \in X$, if $P(x)$ and $x \leq y$ then $P(y)$). I can evaluate $P$ by providing one node $x \in X$ and finding out if $P(x)$ holds or not. My goal is to determine exactly the set of nodes $x \in X$ such that $P(x)$ holds, using as few evaluations of $P$ as possible. (I can choose my queries depending on the answer of all previous queries, I am not required to plan all queries in advance.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A strategy $S$ over $(X, \leq)$ is a function which tells me, as a function of the queries that I ran so far and their answers, which node to query, and which ensures that on any predicate $P$, by following the strategy, I will reach a state in which I know the value of $P$ on all nodes. The running time $r(S, P)$ of $S$ on a predicate $P$ is the number of queries required to know the value of $P$ on all nodes. The worst running time of $S$ is $wr(S) = \max_P r(S, P)$. An optimal strategy $S'$ is such that $wr(S') = \min_S wr(S)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is the following: given as input the poset $(X, \leq)$, how can I determine the worst running time of the optimal strategies?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[It is clear that for an empty poset $n$ queries will be needed (we need to ask about each single node), and that for a total order around $\lceil \log_2 n \rceil$ queries will be needed (doing a binary search to find the frontier). A more general result is the following information-theoretic lower bound: the number of possible choices for the predicate $P$ is the number $N_X$ of antichains of $(X, \leq)$ (because there is a one-to-one mapping between monotonic predicates and antichains interpreted as the maximal elements of $P$), so, since each query gives us one bit of information, we will need at least $\lceil \log_2 N_X \rceil$ queries, subsuming the two previous cases. Is this bound tight, or are them some posets whose structure is such that learning can require asymptotically more queries than the number of antichains?]&lt;/p&gt;&#xA;" OwnerUserId="4795" LastEditorUserId="4795" LastEditDate="2013-01-29T11:22:42.877" LastActivityDate="2013-02-07T12:01:42.723" Title="Worst number of questions needed to learn a monotonic predicate over a poset" Tags="&lt;ds.algorithms&gt;&lt;lg.learning&gt;&lt;partial-order&gt;&lt;search-problem&gt;&lt;order-theory&gt;" AnswerCount="4" CommentCount="5" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16260" PostTypeId="2" ParentId="16254" CreationDate="2013-01-28T16:43:38.237" Score="6" Body="&lt;p&gt;This is a special case of the following problem: given a polytope $P$ specified by linear constraints and a point $x$ find $y \in P$ that minimizes $\|x - y\|_2^2$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you are ok with a small &lt;em&gt;additive&lt;/em&gt; approximation to $\|x - y\|_2^2$, you can try using the Frank-Wolfe algorithm. This is a sort of gradient descent algorithm. You start from a point $y_0 \in P$ (in your case this could be say the $n \times n$ matrix with $1/n$ in every coordinate) and in each steps you compute $y_{i+1}$ from $y_i$ as follows:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Let $w = x - y_i$.&lt;/li&gt;&#xA;&lt;li&gt;Let $v$ be the vertex of $P$ that maximizes $w^Tz$ for $z \in P$ (can be found by LP).&lt;/li&gt;&#xA;&lt;li&gt;Find the point on the line through $y_i$ and $v$ that is closest to $x$ (this is quadratic optimization in a single variable). This point is $y_{i+1}$.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Ken Clarkson has &lt;a href=&quot;http://dl.acm.org/citation.cfm?doid=1824777.1824783&quot; rel=&quot;nofollow&quot;&gt;analyzed&lt;/a&gt; this simple algorithm. In $t$ steps, the additive approximation is bounded by $d(P)^2/t$, where $d(P)$ is the diameter of $P$. In your case, I believe $d(P) \leq \sqrt{n}$, as the vertices of $P$ are permutation matrices and they all have Frobenius norm $\sqrt{n}$. So in $O(n/\epsilon)$ iterations of the above algorithm you can get $Q$ such that  $\|D - Q\|_F^2 \leq \|D - Q^*\|_F^2 + \epsilon$, where $Q^*$ is the optimal solution.&lt;/p&gt;&#xA;" OwnerUserId="4896" LastEditorUserId="4896" LastEditDate="2013-01-28T19:13:15.330" LastActivityDate="2013-01-28T19:13:15.330" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16261" PostTypeId="2" ParentId="16185" CreationDate="2013-01-28T16:51:31.500" Score="3" Body="&lt;p&gt;$\mathsf{L}=\mathsf{NL}$. Yes, there is an analog of Mahaney's Theorem for log-space. If there is a sparse set that is hard for $\mathsf{NL}$ under logspace reductions, then $\mathsf{L}=\mathsf{NL}$:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;J.-Y. Cai and D. Sivakumar. &lt;a href=&quot;http://dx.doi.org/10.1016/S0304-3975(99)00234-0&quot; rel=&quot;nofollow&quot;&gt;Resolution of Hartmanis’ conjecture for NL-hard sparse sets&lt;/a&gt;. Theoret. Comp. Sci. 240(2):257–269, 2000.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;van Melkebeek extends this to logspace bounded truth-table reductions, which is quite close to the state of the art for extensions of Mahaney's Theorem in the polytime world as well:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;D. van Melkebeek. &lt;a href=&quot;http://dx.doi.org/10.1006/jcss.1998.1589&quot; rel=&quot;nofollow&quot;&gt;Deterministic and Randomized Bounded Truth-Table Reductions of P, NL, and L to Sparse Sets&lt;/a&gt;. J. Comput. Syst. Sci. 57(2):213-232, 1998.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(I think the reversed dates are simply because these are the journal publications rather than the corresponding conference publications.)&lt;/p&gt;&#xA;" OwnerUserId="129" LastEditorUserId="129" LastEditDate="2013-01-28T18:01:19.207" LastActivityDate="2013-01-28T18:01:19.207" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16263" PostTypeId="2" ParentId="8151" CreationDate="2013-01-28T19:53:19.113" Score="1" Body="&lt;p&gt;This is to report an implementation of completed-sudoku compact encoding (similar to suggestion by Zurui Wang 9/14/11).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The input is the top row and 1st 3 digits of the 2nd row.  These are reduced to 1-9!&#xA;and 1-120 and combined to &amp;lt;=  4.4x10^7. These are used as givens to count lexicographically all the partial sukokus of 30 digits up to the matching sequence.  Then the final count up to the entire 81 digits is done the same way.  These 3 sequences are stored as 32-bit integers of max 26 bits, so can be compressed further.  The entire process takes about 3 minutes, with the 1st 30 digits taking most of the time.  The decoding is similar--except matching counts instead of sudokus.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Coming soon--Revision includes 1st 3 digits of 2nd row in enumeration of 30 digit completions (2nd 32-bit code), comparisons with Jarvis enumeration (Jscott, 3/1615)&lt;/p&gt;&#xA;" OwnerUserId="13492" LastEditorUserId="31785" LastEditDate="2015-03-16T21:28:40.660" LastActivityDate="2015-03-16T21:28:40.660" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16264" PostTypeId="2" ParentId="16241" CreationDate="2013-01-28T20:01:40.100" Score="18" Body="&lt;p&gt;First of all:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Any monad is also an applicative functor and any applicative functor is a functor.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;This is true in the context of Haskell, but (reading &lt;code&gt;Applicative&lt;/code&gt; as &quot;strong lax monoidal functor&quot;) not in general, for the rather trivial reason that you can have &quot;applicative&quot; functors between different monoidal categories, whereas monads (and comonads) are endofunctors.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Further, identifying &lt;code&gt;Applicative&lt;/code&gt; with strong lax monoidal functors is slightly misleading, because to justify the name (and the type signature of &lt;code&gt;(&amp;lt;*&amp;gt;)&lt;/code&gt;) requires a functor between &lt;a href=&quot;http://ncatlab.org/nlab/show/closed+monoidal+category&quot;&gt;closed monoidal categories&lt;/a&gt; which preserves both the &lt;a href=&quot;http://ncatlab.org/nlab/show/monoidal+functor&quot;&gt;monoidal structure&lt;/a&gt; and the &lt;a href=&quot;http://ncatlab.org/nlab/show/closed+functor&quot;&gt;internal hom&lt;/a&gt;. This could plausibly be called a &quot;lax closed monoidal functor&quot;, except that a functor between monoidal closed categories that preserves either property preserves the other in &lt;a href=&quot;http://ncatlab.org/nlab/show/currying&quot;&gt;the obvious way&lt;/a&gt;. Because &lt;code&gt;Applicative&lt;/code&gt; describes only endofunctors on &lt;strong&gt;Hask&lt;/strong&gt; preserving the monoidal structure of &lt;code&gt;(,)&lt;/code&gt;, its instances gain a lot of properties automatically, including their &lt;a href=&quot;http://ncatlab.org/nlab/show/tensorial+strength&quot;&gt;strength&lt;/a&gt;, which can thus be elided.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The apparent connection with &lt;code&gt;Monad&lt;/code&gt; is arguably an artifact of the implicit limitations on &lt;code&gt;Applicative&lt;/code&gt; causing aspects of their respective monoid structures to coincide, a happy coincidence which unfortunately does not survive dualization.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Just as a comonad on a category $C$ is a monad on $C^{op}$, an &lt;a href=&quot;http://ncatlab.org/nlab/show/oplax+monoidal+functor&quot;&gt;oplax monoidal functor&lt;/a&gt; $C \rightarrow D$ is a lax monoidal functor $C^{op} \rightarrow D^{op}$. But $ \boldsymbol{Hask}^{op}$ is not monoidal &lt;em&gt;closed&lt;/em&gt;, and a co-&lt;code&gt;Applicative&lt;/code&gt; that doesn't include function application hardly merits the name. Anyway, the result wouldn't be terribly interesting:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;class (Functor f) =&amp;gt; CoMonoidal f where&#xA;    counit :: f () -&amp;gt; ()&#xA;    cozip :: f (a, b) -&amp;gt; (f a, f b)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;We could instead imagine a notion of &quot;colax closed functor&quot;, which would look much more like &lt;code&gt;Applicative&lt;/code&gt; if it existed. Unfortunately, $\boldsymbol{Hask}^{op}$ is not (to the best of my knowledge) a closed category at all: &lt;code&gt;newtype Op b a = Op (a -&amp;gt; b)&lt;/code&gt; in $\boldsymbol{Hask}$ corresponds to morphisms $b \rightarrow a$ in $\boldsymbol{Hask}^{op}$, but &lt;code&gt;Op b a&lt;/code&gt; doesn't work as an internal hom there--because the arrows are reversed some sort of co-function would be required instead, which we can't define in general for $\boldsymbol{Hask}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we simply pretend that &quot;colax closed functors&quot; existed for $\boldsymbol{Hask}$, and furthermore worked in the way we'd naively hope they would, a co-&lt;code&gt;Applicative&lt;/code&gt; based on that would probably look like this:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;class (Functor f) =&amp;gt; CoApplicative f where&#xA;    copure :: f a -&amp;gt; a&#xA;    coap :: (f a -&amp;gt; f b) -&amp;gt; f (a -&amp;gt; b)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Adding &lt;code&gt;duplicate :: f a -&amp;gt; f (f a)&lt;/code&gt; to &lt;code&gt;copure&lt;/code&gt; would produce a comonad (assuming the laws are satisfied), of course. But there's no obvious relationship between &lt;code&gt;coap&lt;/code&gt;--whatever it might be--and &lt;code&gt;extend :: (f a -&amp;gt; b) -&amp;gt; f a -&amp;gt; f b&lt;/code&gt;. Comparing the types it becomes clear that the dualization is happening in different ways: the comonoidal structures underlying &lt;code&gt;duplicate&lt;/code&gt; and &lt;code&gt;cozip&lt;/code&gt; have little to do with each other or with &lt;code&gt;coap&lt;/code&gt; (which probably doesn't make sense anyway), whereas &lt;code&gt;liftA2 (,)&lt;/code&gt; and &lt;code&gt;(&amp;lt;*&amp;gt;)&lt;/code&gt; are equivalent and can be derived from &lt;code&gt;join&lt;/code&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another possible way of dualizing &lt;code&gt;Applicative&lt;/code&gt;, which has even less to do with comonads, is to consider contravariant monoidal functors:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;class (Contravariant f) =&amp;gt; ContraMonoidal f where&#xA;    contraunit :: f a&#xA;    contrazip :: f a -&amp;gt; f b -&amp;gt; f (Either a b)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;But this runs afoul of the same issues as above, namely that $\boldsymbol{Hask}^{op}$ is not a closed category. If it were, we would have some type &lt;code&gt;b &amp;lt;~ a&lt;/code&gt; such that we could write functions like &lt;code&gt;contracurry :: (Either c b &amp;lt;~ a) -&amp;gt; (c &amp;lt;~ (b &amp;lt;~ a))&lt;/code&gt; and &lt;code&gt;contraapply :: b -&amp;gt; Either a (a &amp;lt;~ b)&lt;/code&gt; and so on that actually worked as expected.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If memory serves me, the obstacles here are not specific to Haskell, but rather arise from $\boldsymbol{Hask}$ being &lt;a href=&quot;http://ncatlab.org/nlab/show/cartesian+closed+category&quot;&gt;cartesian closed&lt;/a&gt; (up to the usual hand-waving, of course), a property it shares with most typed lambda calculi, so you're not likely to get very far with a &lt;code&gt;CoApplicative&lt;/code&gt; in most settings. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, in a monoidal closed category more hospitable to dualization you might have better luck. In particular, I believe both &lt;code&gt;Kleisli (Cont r)&lt;/code&gt; and its opposite category are monoidal closed, so that might be a better context to explore these ideas.&lt;/p&gt;&#xA;" OwnerUserId="53" LastActivityDate="2013-01-28T20:01:40.100" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16265" PostTypeId="2" ParentId="16258" CreationDate="2013-01-28T20:31:40.987" Score="0" Body="&lt;p&gt;[&lt;strong&gt;NOTE:&lt;/strong&gt; The following argument doesn't seem to work, but I'm leaving it here so others don't make the same mistake / in case someone can fix it. The issue is that an exponential lower bound on learning/identifying a monotone function, as below, does not necessarily contradict an &lt;em&gt;incrementally&lt;/em&gt; polynomial algorithm for the problem. And it is the latter which is equivalent to checking the mutual duality of two monotone functions in poly time.] &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I believe your conjecture on $\log N_X$ is false in general. If it is indeed the case that $\log N_X$ queries are needed, that implies quite a strong lower bound on &lt;a href=&quot;https://cstheory.stackexchange.com/a/14780/129&quot;&gt;learning monotone functions using membership queries&lt;/a&gt;. In particular, let the poset $X$ be the Boolean cube with the usual ordering (if you like, $X$ is the powerset of $\{1,...,n\}$ with $\subseteq$ as its partial order). The number $M$ of maximal antichains in $X$ satisfies $\log M = (1 + o(1))\binom{n-1}{\lfloor n/2 \rfloor}$ [1]. If your idea on $\log N_X$ is correct, then there is some monotone predicate on $X$ that requires essentially $\binom{n-1}{n/2} \approx 2^n$ queries. In particular, this implies a lower bound of essentially $2^n$ for the complexity of any algorithm solving this problem. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, if I've understood correctly [&lt;strong&gt;which I now know I hadn't&lt;/strong&gt;], your problem is equivalent to checking the mutual duality of two monotone functions, which can be done in quasi-polynomial time (see the intro of &lt;a href=&quot;http://dx.doi.org/10.1006/inco.1995.1157&quot; rel=&quot;nofollow noreferrer&quot;&gt;this paper by Bioch and Ibaraki&lt;/a&gt;, which cites Fredman and Khachiyan), contradicting anything close to a $2^n$ lower bound.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] Liviu Ilinca and Jeff Kahn. &lt;a href=&quot;http://arxiv.org/abs/1202.4427&quot; rel=&quot;nofollow noreferrer&quot;&gt;Counting maximal antichains and independent sets&lt;/a&gt;. arXiv:1202.4427&lt;/p&gt;&#xA;" OwnerUserId="129" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2013-01-29T01:15:29.347" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="16266" PostTypeId="1" CreationDate="2013-01-28T22:09:52.390" Score="3" ViewCount="553" Body="&lt;p&gt;I'm an undergrad and I'm not sure if this is the right way to ask this question. I want to know the lower bound on single-source shortest path computation in a general graph. The graph is allowed to have negative weight edges.&lt;/p&gt;&#xA;" OwnerUserId="13483" LastEditorUserId="13483" LastEditDate="2013-01-29T09:15:53.823" LastActivityDate="2013-01-29T09:15:53.823" Title="Is there a tight lower bound on the complexity of SSSP on a graph?" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;lower-bounds&gt;&lt;reductions&gt;&lt;decision-trees&gt;" AnswerCount="0" CommentCount="7" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16267" PostTypeId="2" ParentId="16228" CreationDate="2013-01-28T22:43:34.980" Score="2" Body="&lt;p&gt;I post an update as a self-answer only to keep it distinct from the question (&lt;em&gt;which is still open&lt;/em&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As shown in the comments (thanks to Tsuyoshi Ito) the problem is polynomial-time solvable for paths:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$Win(P_n) = 1$ iif $(n \bmod 34) \in \{3,7,23,27\}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Starting from 0, the (calculated) sequence of the nim values is periodic:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;0,1,1,0,2,1,3,0,1,1,3,2,2,3,4,1,5,3,2,2,3,1,1,0,3,1,2,0,1,1,4,4,2,6,&#xA;4,1,1,0,2,1,3,0,1,1,3,2,2,3,4,4,5,7,2,2,3,1,1,0,3,1,2,0,1,1,4,4,3,6,&#xA;4,1,1,0,2,1,3,0,1,1,3,2,2,3,4,4,5,7,2,2,3,1,1,0,3,1,2,0,1,1,4,4,3,6,&#xA;...&#xA;the subsequence rseq of length 34:&#xA;4,1,1,0,2,1,3,0,1,1,3,2,2,3,4,4,5,7,2,2,3,1,1,0,3,1,2,0,1,1,4,4,3,6&#xA;is repeated&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;I didn't work on a rigorous mathematical proof, but the idea is:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;suppose that we want to calculate element $Win(P_n), n = k*34 + x \; (k\geq 4, 0 \leq x &amp;lt; 34)$, then the first move (pick an edge) can split the path in $\lceil n / 2 \rceil$  different ways (n-2,0),(n-3,1),(n-4,2),...). The new nim value is equal to:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$mex \{ P_{n-2}+P_0, P_{n-3}+P_1, ..., P_{\lceil n / 2 \rceil}+P_{n-\lceil n / 2 \rceil}\}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The first 34 elements of the set are produced by the first non repeating sequence (0,1,1,0,...) (nim)summed with the elements of the repeating sequence in reverse order starting from element $(34-2-x) \bmod 34$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example: for $x = 0$:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;     0,1,1,0,2,1,3,0,1,1,3,2,2,3,4,1,5,3,2,2,3,1,1,0,3,1,2,0,1,1,4,4,2,6 +&#xA;     3,4,4,1,1,0,2,1,3,0,1,1,3,2,2,7,5,4,4,3,2,2,3,1,1,0,3,1,2,0,1,1,4,6 =&#xA;mex{ 3,5,5,1,3,1,1,1,2,1,2,3,1,1,6,6,0,7,6,1,1,3,2,1,2,1,1,1,3,1,5,5,6,0 } = 4&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;For x=0..33 the resulting mex sequence is equal to the repeating sequence:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;4,1,1,0,2,1,3,0,1,1,3,2,2,3,4,4,5,7,2,2,3,1,1,0,3,1,2,0,1,1,4,4,3,6&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;The remaining elements of the set are calulated only on the repeating sequence(s): $rseq[j \bmod 34] + rseq[(34-2-x-j) \bmod 34]$ (for $j \geq 34$ the pairs are repeated, so they don't alter the mex result). The resulting mex sequence for x=0..33 is:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;4,1,1,0,2,1,3,0,1,1,3,2,2,3,4,4,4,7,2,2,3,1,1,0,3,1,2,0,1,1,4,4,3,4,&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Which is equal to the repeating sequence except for $x=16$ and $x=33$; but the values are lower than the corresponding mex on the non-repeating sequence, so: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$mex \{ P_{n-2}+P_0, P_{n-3}+P_1, ..., P_{\lceil n / 2 \rceil}+P_{n-\lceil n / 2 \rceil}\}$ = $mex \{ P_{n-2}+P_0, P_{n-3}+P_1, ..., P_{n-2-33}+P_{33}\}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;and for $(k\geq 4, 0 \leq x &amp;lt; 34)$, $Win(P_{k*34 + x}) = Win(P_{34+x}) = Win(P_x)\; $&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="567" LastEditDate="2013-01-29T04:52:22.030" LastActivityDate="2013-01-29T04:52:22.030" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="16268" PostTypeId="1" CreationDate="2013-01-29T03:00:44.743" Score="4" ViewCount="227" Body="&lt;p&gt;Are any $A$, $B$, and $O$ such that:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$O$ is a set (for oracle),&lt;/li&gt;&#xA;&lt;li&gt;$A$ and $B$ are the names of two known complexity classes,&lt;/li&gt;&#xA;&lt;li&gt;$A^X$ and $B^X$ have well-defined accepted meanings,&lt;/li&gt;&#xA;&lt;li&gt;$A=A^\emptyset\subset B^\emptyset=B$, i.e. $A$ is strictly contained in $B$,&lt;/li&gt;&#xA;&lt;li&gt;$A^O\supset B^O$, i.e. $A^O$ strictly contains $B^O$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;In the case of $\mathsf{P}$ and $\mathsf{EXP}$, it's impossible to find an oracle $O$ relative to which $\mathsf{P}^O$ strictly contains $\mathsf{EXP}^O$ since a $\mathsf{EXP}^X$ can completely simulate every step of any turing machine in $\mathsf{P}^X$ (i.e. the time hierarchy theorem relativizes).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm wondering if there are complexity classes $A$, $B$ s.t. $A \subset B$, yet for some oracle $O$, $A^O \supset B^O$. In other words, can the direction of strict inclusion change when complexity classes are relativized?&lt;/p&gt;&#xA;" OwnerDisplayName="user13350" LastEditorUserId="186" LastEditDate="2013-01-30T07:47:48.900" LastActivityDate="2013-01-30T07:47:48.900" Title="Can relativization change the direction of separation?" Tags="&lt;cc.complexity-theory&gt;&lt;relativization&gt;" AnswerCount="0" CommentCount="12" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="16270" PostTypeId="2" ParentId="16153" CreationDate="2013-01-29T04:47:23.040" Score="14" Body="&lt;p&gt;Honestly speaking, I do not think that Stack Exchange is a suitable place to ask for a future prediction.  Despite this, I will post a response because it is fun to play with the idea of fortune telling.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As far as I know, the possibility of P≠RP=NP has not been ruled out.  Moreover, there is a language &lt;i&gt;A&lt;/i&gt; such that RP&lt;sup&gt;&lt;i&gt;A&lt;/i&gt;&lt;/sup&gt;=EXP&lt;sup&gt;&lt;i&gt;A&lt;/i&gt;&lt;/sup&gt; [Hel83, Kur83], which immediately implies that P&lt;sup&gt;&lt;i&gt;A&lt;/i&gt;&lt;/sup&gt;≠RP&lt;sup&gt;&lt;i&gt;A&lt;/i&gt;&lt;/sup&gt;=NP&lt;sup&gt;&lt;i&gt;A&lt;/i&gt;&lt;/sup&gt;.  (I have not checked [Hel83] or [Kur83], and I took the result and the references from the remark after Theorem 6 in [Hel86].)  In other words, even proving the implication RP=NP ⇒ P=NP requires a nonrelativizing technique, and therefore it is understandable that this implication has not been proved.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Lance Fortnow has discussed a similar result in the Computational Complexity blog: &lt;a href=&quot;http://blog.computationalcomplexity.org/2009/05/oracle-results-are-good-for-you.html&quot;&gt;Oracle Results are Good For You&lt;/a&gt;.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now let’s turn to the fortune-telling part.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;How much does this oracle result tell about the likeliness of P=NP in the world where RP=NP has been already proved?  Not much.  At the very least, it should not be taken as evidence that in the world where RP=NP has been proved, it is still likely to be difficult to prove P=NP.  In such a world, some new, powerful nonrelativizing techniques are known to human, and therefore it would not be reasonable to interpret “requires a nonrelativizing technique” as evidence for difficulty.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Speaking more broadly, if RP=NP has been proved despite all the beliefs (and also proof technique barriers) against it, then our current intuitive understanding about efficient computation is likely to be very wrong.  Obviously we cannot apply our current intuition to reason about the world where our current intuition fails spectacularly.  I do not think that we can make an educated guess about such a world except for what has been rigorously proved.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;References&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;[Hel83] Hans Heller.  On relativized polynomial hierarchies extending to two levels.  In &lt;em&gt;Proceedings of Conference on Computational Complexity Theory&lt;/em&gt;, pp. 109–114, UC Santa Barbara, March 1983.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[Hel86] Hans Heller.  On relativized exponential and probabilistic complexity classes.  &lt;em&gt;Information and Control&lt;/em&gt;, 71(3):231–243, Dec. 1986.  DOI: &lt;a href=&quot;http://dx.doi.org/10.1016/S0019-9958%2886%2980012-2&quot;&gt;10.1016/S0019-9958(86)80012-2&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[Kur83] S. Kurtz (Stuart A. Kurtz?).  The fine structure of NP: Relativizations.  In &lt;em&gt;Proceedings of Conference on Computational Complexity Theory&lt;/em&gt;, pp. 42–50, UC Santa Barbara, March 1983.&lt;/p&gt;&#xA;" OwnerUserId="567" LastEditorUserId="567" LastEditDate="2013-01-29T04:56:01.213" LastActivityDate="2013-01-29T04:56:01.213" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16271" PostTypeId="2" ParentId="16258" CreationDate="2013-01-29T06:31:28.983" Score="7" Body="&lt;p&gt;This is not a complete answer, but it's too long to be a comment.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think I found an example for which the bound $\lceil \log_2 N_X \rceil$ is not tight.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider the following poset.  The ground set is $X=\{a_1, a_2, b_1, b_2\}$, and $a_i$ is smaller than $b_j$ for all $i,j\in\{1,2\}$. The other pairs are incomparable.  (The Hasse diagram is a $4$-cycle).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let me identify the monotone properties with the upsets of the poset.  This poset has seven upsets: $\emptyset$, $\{b_1\}$, $\{b_2\}$, $\{b_1,b_2\}$, $\{a_1,b_1,b_2\}$, $\{a_2,b_1,b_2\}$, $\{a_1,a_2,b_1,b_2\}$, and this poset has seven antichains since the antichains are in one-to-one correspondence with the upsets.  So, $\lceil \log_2 N_X \rceil=\lceil \log_2 7 \rceil = 3$ for this poset.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, by adversary argument I'll show that any strategy needs at least four queries (so needs to query all elements).  Let's fix an arbitrary strategy.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If the strategy first queries $a_1$, then the adversary answers &quot;$P(a_1)$ doesn't hold.&quot;  Then, we are left with five possibilities: $\emptyset$, $\{b_1\}$, $\{b_2\}$, $\{b_1,b_2\}$, $\{a_2,b_1,b_2\}$.  Thus, to determine which is the case, we need at least $\lceil \log_2 5\rceil = 3$ more queries.  In total, we need four queries.  The same argument applies if the first query is $a_2$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If the strategy first queries $b_1$, then the adversary answers &quot;$P(b_1)$ holds.&quot;  Then, we are left with five possibilities: $\{b_1\}$, $\{b_1,b_2\}$, $\{a_1,b_1,b_2\}$, $\{a_2,b_1,b_2\}$, $\{a_1,a_2,b_1,b_2\}$.  Therefore, we need at least three more queries as before.  In total, we need four queries.  The same argument applies when the first query is $b_2$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we take $k$ parallel copies of this poset, then it has $7^k$ antichains, and thus the proposed bound is $\lceil \log_2 7^k \rceil = 3k$. But, since each of the copies needs four queries, we need at least $4k$ queries.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Probably, there is a larger poset with larger gap.  But this argument can only improve the coefficient.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here, the problem looks to be a situation where no query partitions the search space evenly.  In such a case, the adversary can force the larger half to remain.&lt;/p&gt;&#xA;" OwnerUserId="2955" LastEditorUserId="2955" LastEditDate="2013-01-29T11:39:10.410" LastActivityDate="2013-01-29T11:39:10.410" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16272" PostTypeId="1" CreationDate="2013-01-29T11:39:21.453" Score="2" ViewCount="105" Body="&lt;p&gt;Suppose you have a sequence generated by an i.i.d. process (such as repeatedly rolling a die and recording the values in order) parameterized by some K-dimensional vector $\vec{\gamma}$ (the probabilities associated with each side of the die), which is unknown. But, if you assume some distribution $Q$ on $\vec{\gamma}$, you can calculate the probability of a sequence (where $n(k)$ is the number of times symbol $k$ appears in the sequence): $$P(seq) = \int P(seq|\vec{\gamma}')Q(\vec{\gamma}')d\vec{\gamma}' = \int \prod_{k=1}^K \gamma_k' ^{n(k)}Q(\vec{\gamma}')d\vec{\gamma}' $$&#xA;Then $-\log P(seq)$ is the code length. I believe this code length is equal to $$-n\sum_{k=1}^K \vec{\gamma}\log \vec{\gamma}+\frac{K-1}{2}\log n +O(1),$$ where the $O(1)$ term approaches a constant as $n \rightarrow \infty$. Can someone help me find the $O(1)$ term, or its value as $n\rightarrow  \infty$ in terms of $\vec{\gamma}$, $n$ and $k$ (Or, even just proving that this limit exists would be good too.)?&lt;/p&gt;&#xA;" OwnerUserId="13501" LastEditorUserId="77" LastEditDate="2013-01-29T13:05:31.413" LastActivityDate="2013-01-29T13:05:31.413" Title="Bayesian compression" Tags="&lt;coding-theory&gt;&lt;encoding&gt;" AnswerCount="0" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16275" PostTypeId="1" AcceptedAnswerId="16279" CreationDate="2013-01-29T13:37:49.873" Score="16" ViewCount="409" Body="&lt;p&gt;Let's assume that $\mathsf{P} \neq \mathsf{NP}$. $\mathsf{NPI}$ is the class of problems in $\mathsf{NP}$ which are neither in $\mathsf{P}$ nor in $\mathsf{NP}$-hard. You can find a list of problems conjectured to be $\mathsf{NPI}$ &lt;a href=&quot;https://cstheory.stackexchange.com/questions/79/problems-between-p-and-npc/&quot;&gt;here&lt;/a&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/questions/799/generalized-ladners-theorem&quot;&gt;Ladner's theorem&lt;/a&gt; tells us that if $\mathsf{NP}\neq\mathsf{P}$ then there is an infinite hierarchy of $\mathsf{NPI}$ problems, i.e. there are $\mathsf{NPI}$ problems which are harder than other $\mathsf{NPI}$ problems.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;I am looking for candidates of such problems, i.e. I am interested in pairs of problems&lt;br&gt;&#xA;  - $A,B \in \mathsf{NP}$,&lt;br&gt;&#xA;  - $A$ and $B$ are conjectured to be $\mathsf{NPI}$,&lt;br&gt;&#xA;  - $A$ is known to reduce to $B$,&lt;br&gt;&#xA;  - but there are no known reductions from $B$ to $A$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Even better if there are arguments for supporting these, e.g. there are results that $B$ does not reduce to $A$ assuming some conjectures in complexity theory or cryptography.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there any &lt;em&gt;natural&lt;/em&gt; examples of such problems?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Example: Graph Isomorphism problem and Integer Factorization problem are conjectured to be in $\mathsf{NPI}$ and there are argument supporting these conjectures. Are there any decision problems harder than these two but not known to be $\mathsf{NP}$-hard?&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2013-02-08T16:26:22.187" Title="Natural candidates for the hierarchy inside NPI" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;&lt;np-intermediate&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16276" PostTypeId="1" AcceptedAnswerId="16283" CreationDate="2013-01-29T14:19:01.693" Score="-1" ViewCount="227" Body="&lt;p&gt;Suppose you have a data set composed of n images as training examples. You run clustering on each image ( initializing 3 clusters per image) and learn the centers. Is it ok to then take the cluster centers themselves as features for a supervised learning algorithm and thus have a vocabulary for each image that way or is it inconsistent ? Are there are other more consistent measures that can be used ? &lt;/p&gt;&#xA;" OwnerUserId="13507" LastActivityDate="2013-01-30T00:02:20.810" Title="K means feature learning" Tags="&lt;machine-learning&gt;" AnswerCount="1" CommentCount="3" ClosedDate="2013-01-30T09:24:48.010" ContentLicense="CC BY-SA 3.0" />
  <row Id="16278" PostTypeId="1" CreationDate="2013-01-29T17:16:27.063" Score="9" ViewCount="926" Body="&lt;p&gt;I am interested in verified compilers formalized in Martin-Löf type theory, i.e. Coq/Agda. At the moment I’ve written a small toy example. Therewith I can prove that my optimizations are correct. For example that additions with zero can be eliminated, i.e. expressions like &quot;x + 0&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there optimizations that are difficult to perform with a regular compiler, that would serve as a good example? Is it possible to prove certain properties of a program that allow optimizations that are not possible to perform with a regular compiler? (i.e. without the inference that is possible with a theorem prover)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would be interested in ideas or examples and also references on the topic.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A related question:&#xA;&lt;a href=&quot;https://cstheory.stackexchange.com/questions/10547/compiler-correctness-proofs/&quot;&gt;Compiler correctness proofs&lt;/a&gt; &lt;/p&gt;&#xA;&#xA;&lt;p&gt;edit:&#xA;As Tsuyoshi nicely put it in the comments:&#xA;I am looking for optimization techniques which are difficult to implement if a compiler is written in (say) C but easier to implement if a compiler is written in (say) Coq. As Agda compiles to C (via haskell) it is possible to do everything that is possible in Agda also in C. Probably the only benefit of theorem provers like Coq/Agda is that the compiler and the optimizations can be verified.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;edit2:&#xA;As suggested by Vijay D I write what I've read so far.&#xA;I mainly focused on Xavier Leroy and the CompCert project at INRIA (there is a 80 pages paper that is a good read, I think).&#xA;A second interest was in the work of Anton Setzer on interactive programs. I though that perhaps his work could be used to prove properties about IO programs and bisimulation of IO programs. &#xA;Thanks for mentioning Sewell. I've heard his talk &quot;Tales from the jungle&quot; at ICFP and read perhaps 2-3 of his papers. But I haven't specifically looked at his work and that of his coauthors.&lt;br&gt;&#xA;I did not yet find out where to start or look for papers on optimizing compilers; e.g., which optimizations would be interesting to look at in the setting of a verified compiler. &lt;/p&gt;&#xA;" OwnerUserId="7724" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2013-05-19T16:05:25.037" Title="Certified compiler and optimizations in Coq/Agda" Tags="&lt;reference-request&gt;&lt;pl.programming-languages&gt;&lt;type-theory&gt;&lt;semantics&gt;&lt;compilers&gt;" AnswerCount="2" CommentCount="9" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="16279" PostTypeId="2" ParentId="16275" CreationDate="2013-01-29T17:43:36.700" Score="18" Body="&lt;p&gt;Group Isomorphism $\leq_m$ Graph Isomorphism $\leq_m$ Ring Isomorphism. Also Integer Factoring $\leq_m$ Ring Isomorphism [&lt;a href=&quot;http://eccc.hpi-web.de/report/2004/109/&quot;&gt;Kayal and Saxena&lt;/a&gt;]. Also Graph Automorphism $\leq_m$ Graph Isomorphism.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Not only are there no known reductions the other way, but there is provably no &#xA;$\mathsf{AC}^0$-reduction from Graph Iso to Group Iso [&lt;a href=&quot;http://eccc.hpi-web.de/report/2010/117/&quot;&gt;Chattopadhyay, Toran, and Wagner&lt;/a&gt;]. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that a reduction from Ring Isomorphism to Graph Isomorphism would also provide a reduction from Integer Factoring to Graph Isomorphism. To me, such a reduction would be surprising though perhaps not shocking.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(For Graph Automorphism vs Graph Isomorphism, their counting versions are known to be equivalent to one another and equivalent to deciding Graph Isomorphism. However, that's not necessarily saying much, as the counting version of bipartite matching is equivalent to the counting version of SAT.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I don't think there is a real consensus as to which, if any, of these are actually in $\mathsf{P}$. If any of these problems is $\mathsf{NP}$-complete then $\mathsf{PH}$ collapses to the second level. If factoring is $\mathsf{NP}$-complete, then it collapses to the first level, i.e. $\mathsf{NP} = \mathsf{coNP}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, I seem to recall that using techniques similar to Ladner one can show that any countable partial ordering can be embedded in the ordering $\leq_{m}$ on the problems in $\mathsf{NP}$ (so it's not just a hierarchy, but an arbitrarily complicated countable partial order).&lt;/p&gt;&#xA;" OwnerUserId="129" LastEditorUserId="129" LastEditDate="2013-02-08T16:26:22.187" LastActivityDate="2013-02-08T16:26:22.187" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="16281" PostTypeId="1" CreationDate="2013-01-29T19:39:48.770" Score="0" ViewCount="207" Body="&lt;p&gt;I want to solve this classification problem. Basically what I have is a sequence of feature vectors $\mathbf{x}_1,\mathbf{x}_2,\dots,\mathbf{x}_N$, and each feature vector is sequential in time. I want to predict the class label $y$ based on the observation of these $N$ feature vectors. The outcome label $y$ can be from a set of two possible classes $y \in \{A,B\}$. So my question is: What machine learning algorithm is best suited for this kind of problem? I know sequential learning like Hidden Markov Model, but they are more suitable for the case where each observation $\mathbf{x}_i$ corresponds to a hidden state $y_i$, versus here in my case only the final class label is needed. There is no hidden states along the time in my problem. So the goal is to predict the class label $y$ based on a sequence of feature vectors $\{\mathbf{x}_i\}_{i=1}^{N}$. Any suggestions?  &lt;/p&gt;&#xA;" OwnerUserId="13510" LastActivityDate="2013-01-29T19:39:48.770" Title="What machine learning algorithm solves this problem?" Tags="&lt;machine-learning&gt;&lt;ds.algorithms&gt;" AnswerCount="0" CommentCount="7" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16282" PostTypeId="2" ParentId="16258" CreationDate="2013-01-29T23:59:05.887" Score="7" Body="&lt;p&gt;In their paper &lt;a href=&quot;http://www.cs.huji.ac.il/~nati/PAPERS/central_element.pdf&quot;&gt;Every Poset Has a Central Element&lt;/a&gt;, Linial and Saks show (Theorem 1) that the number of queries required to solve the ideal identification problem in a poset $X$ is at most $K_0 \log_2 i(X)$, where $K_0 = 1/(2 - \log_2(1 + \log_2 5))$ and $i(X)$ is the number of ideals of $X$. What they call an &quot;ideal&quot; is actually a &lt;a href=&quot;https://en.wikipedia.org/wiki/Lower_set&quot;&gt;lower set&lt;/a&gt; and there is an obvious one to one correspondance between monotonic predicates and the lower set of the points at which they don't hold, besides their &quot;identification problem&quot; is to identify by querying nodes just like in my setting, so I think they are dealing with the problem I'm interested in and that $i(X) = N_X$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, according to their result, the information-theoretic lower bound is tight up to a relatively small multiplicative constant. So this basically settles the question of the number of questions required, as a function of $N_X$ and up to a multiplicative constant: it is between $\log_2 N_X$ and $K_0 \log_2 N_X$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Linial and Saks quote a personal communication by Shearer to say that there are known orders for which we can prove a lower bound of $K_1 \log_2 N_X$ for some $K_1$ which is just slightly less than $K_0$ (this is in the spirit of Yoshio Okamoto's answer who tried this approach for a smaller value of $K_1$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This does not fully answer my question of computing the number of questions required from $X$, however, since &lt;a href=&quot;http://epubs.siam.org/action/showAbstract?page=777&amp;amp;volume=12&amp;amp;issue=4&amp;amp;journalCode=smjcat&amp;amp;isAuthorized=no&quot;&gt;computing $N_X$ from $X$ is #P-complete&lt;/a&gt;, I have a feeling that there is little hope. (Comments about this point are welcome.) Still, this result by Linial and Saks is enlightening.&lt;/p&gt;&#xA;" OwnerUserId="4795" LastEditorUserId="4795" LastEditDate="2013-02-03T16:19:51.573" LastActivityDate="2013-02-03T16:19:51.573" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16283" PostTypeId="2" ParentId="16276" CreationDate="2013-01-30T00:02:20.810" Score="-1" Body="&lt;p&gt;I'd say you can. &quot;Coordinates of point of importance inside image&quot; qualifies as a feature so you can use it in supervised learning.&#xA;If clustering is a way to discover that coordinate you can use that.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A practical example: say you want to use &quot;x-coordinate of left eye&quot; as a feature in a classification problem. It does not matter how you get the object's values for that feature, as long as the values are accurate. If you have an algorithm (e.g. a clustering algorithm) which can compute the values you can use it.&lt;/p&gt;&#xA;" OwnerUserId="4375" LastActivityDate="2013-01-30T00:02:20.810" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16284" PostTypeId="2" ParentId="14891" CreationDate="2013-01-30T00:14:07.630" Score="2" Body="&lt;p&gt;This is not an answer to your exact question, but perhaps you may find this helpful.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You might have a slightly easier time finding results for the class of languages decided by nondeterministic $\mathsf{NC}$ circuit families augmented with a polylogarithmic number of nondeterministic bits, called $\mathsf{NNC}(\mathrm{polylog})$ by &lt;a href=&quot;http://dx.doi.org/10.1016/0304-3975%2892%2900014-I&quot; rel=&quot;nofollow&quot;&gt;Wolf&lt;/a&gt; or $\mathsf{GC}(\mathrm{polylog}, \mathsf{NC})$ by &lt;a href=&quot;http://dx.doi.org/10.1137/S0097539793258295&quot; rel=&quot;nofollow&quot;&gt;Cai and Chen&lt;/a&gt; (there are many other names). These complexity classes live between $\mathsf{NC}$ and $\mathsf{NP}$ and are also contained in $\mathsf{polyL}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Wolf showed that $\mathsf{NP} = \mathsf{NNC}(\mathrm{poly})$ (that is, $\mathsf{NC}$ circuits with a polynomial amount of nondeterminism) and $\mathsf{NC} = \mathsf{NNC}(\log)$ (that is, $\mathsf{NC}$ circuits with a logarithmic amount of nondeterminism).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Again, your question is about a family of complexity classes allowing polylogarithmic time and my answer is about a family of complexity classes allowing polylogarithmic nondeterminism, but it may be a start.&lt;/p&gt;&#xA;" OwnerUserId="4193" LastActivityDate="2013-01-30T00:14:07.630" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16286" PostTypeId="2" ParentId="5297" CreationDate="2013-01-30T04:10:17.033" Score="9" Body="&lt;p&gt;For n-tape TMs a tight time hierarchy result similar to the space hierarchy theorem is proven by Furer in 1982. The $\lg$ factor is not needed. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The $\lg$ factor for the time hierarchy theorem stated in your post is only for single-tape TMs. Unless you are very committed to the single-tape model for some reason there is not a difference between space and time regarding the hierarchy theorems. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are some reasons and arguments for using single-tape TMs for defining time complexity classes, but the usage of single-tape TMs for defining complexity classes is not universal, e.g. see Lance Fortnow and Rahul Santhanam's [2007] where they use multiple-tape TMs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The original reference for the time hierarchy theorem is Hennie and Stearns [1966]. They prove the theorem for two-tape machines. Odifreddi's Classical Recursion Theory cites them and Hartmanis [1968] and describes a proof that looks similar to the one in Sipser's book.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However the proof for single tape TMs in Hartmanis's paper does not use simulation simply. It distinguished between two cases: 1. running-time being $\Omega(n^2)$ and 2. running-time being $o(n^2)$. &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;For the first case it uses a simulation, and it seems that one can get rid of the $\lg$ factor if the simulations can be done more efficiently. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;For the second case, the paper directly gives a language for the separation and doesn't use simulation at all. This uses particular properties of single-tape TMs with sub-quadratic running-time.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;One should note that single-tape TMs with time $o(n^2)$ are not as robust and there are quadratic lowerbounds (e.g. for Palindroms) on single-tape TMs whereas a two-tape TM can solve such problems in linear time. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;As I said above, unless you are committed to single-tape TM model for some reason, even when time is sub-quadratic, there is not a gap to fill, the time hierarchy theorem is as tight as possible.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;PS: if we are using multiple-tape TMs, i.e. a Turing machine in the class can have fixed but arbitrary number of tapes Fürer's result does not apply.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Martin Fürer, &quot;&lt;a href=&quot;http://dx.doi.org/10.1145/800070.802172&quot;&gt;The Tight Deterministic Time Hierarchy&lt;/a&gt;&quot;, 1982&lt;/li&gt;&#xA;&lt;li&gt;Piergiorgio Odifreddi, &quot;Classical Recursion Theory&quot;, vol. II, 1999&#xA;(page 84)&lt;/li&gt;&#xA;&lt;li&gt;Juris Hartmanis, &quot;&lt;a href=&quot;http://dx.doi.org/10.1145/321450.321464&quot;&gt;Computational Complexity of One-Tape Turing Machine Computations&lt;/a&gt;&quot;, 1968&lt;/li&gt;&#xA;&lt;li&gt;F.C. Hennie and R.E. Stearns, &quot;&lt;a href=&quot;http://dx.doi.org/10.1145/321356.321362&quot;&gt;Two-Tape Simulation of Multitape Turing Machines&lt;/a&gt;&quot;, 1966&lt;/li&gt;&#xA;&lt;li&gt;Lance Fortnow and Rahul Santhanam's paper &quot;&lt;a href=&quot;http://eccc.hpi-web.de/report/2007/004/&quot;&gt;Time Hierarchies: A Survey&lt;/a&gt;&quot;, 2007&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2013-01-30T16:30:10.507" LastActivityDate="2013-01-30T16:30:10.507" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="16287" PostTypeId="2" ParentId="3540" CreationDate="2013-01-30T05:47:07.797" Score="11" Body="&lt;p&gt;&quot;Models of Computation, Exploring the Power of Computing,&quot; by John E. Savage. Available at &lt;a href=&quot;http://www.cs.brown.edu/~jes/book/pdfs/ModelsOfComputation.pdf&quot;&gt;http://www.cs.brown.edu/~jes/book/pdfs/ModelsOfComputation.pdf&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="12867" LastActivityDate="2013-01-30T05:47:07.797" CommentCount="0" CommunityOwnedDate="2013-01-30T05:47:07.797" ContentLicense="CC BY-SA 3.0" />
  <row Id="16290" PostTypeId="2" ParentId="16244" CreationDate="2013-01-30T16:04:55.597" Score="8" Body="&lt;p&gt;To answer your original question:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Yes at least Scott Aaronson believes that $P \ne NP$ is a law of nature. He proposed the following formulation &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&quot;The NP Hardness Assumption: There is no physical means to solve NP complete problems in polynomial time&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;He gave a nice talk at the University of Waterloo titled &lt;a href=&quot;http://www.scottaaronson.com/talks/colloq2.ppt&quot;&gt;Computational Intractability As A Law of Physics&lt;/a&gt;&#xA;&lt;a href=&quot;http://www.scottaaronson.com/talks/colloq2.ppt&quot;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="495" LastActivityDate="2013-01-30T16:04:55.597" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="16292" PostTypeId="2" ParentId="4375" CreationDate="2013-01-30T17:44:23.107" Score="3" Body="&lt;p&gt;there is not a lot of widespread recognition of this concept so far in the literature, but the &lt;em&gt;clause graph&lt;/em&gt; of the SAT problem (the graph with one node per clause, and nodes are connected if clauses share variables), as well as other related graphs of the SAT representation, seems to have many basic clues as to how hard the instance will be on average. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;the clause graph can be analyzed via all kinds of graph theoretic algorithms, is an apparently natural measure of &quot;structure&quot; and with strong connections to measuring/estimating hardness, and it appears that research into this structure and its implications is still at the very early stages. it is not inconceivable that transition point research, a/the traditional and well-studied way to approach this question, might eventually be bridged into this clause graph structure (to some degree it already has). in other words the transition point in SAT may be seen to exist &quot;because of&quot; the structure of the clause graph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;here is one excellent reference along these lines, a Phd thesis by Herwig, there are many others.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] &lt;a href=&quot;http://www.st.ewi.tudelft.nl/sat/theses/paul.pdf&quot; rel=&quot;nofollow&quot;&gt;Decomposing satisfiability problems&#xA; or Using graphs to get a better insight into satisfiability problems&lt;/a&gt;, Herwig 2006 (83pp)&lt;/p&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2013-01-30T17:44:23.107" CommentCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="16295" PostTypeId="1" AcceptedAnswerId="16303" CreationDate="2013-01-30T21:22:17.190" Score="7" ViewCount="435" Body="&lt;p&gt;I have been attempting to show that this problem is $NP$-complete but haven't been successful.  I wonder if anyone has a suggestion for a problem I could reduce to it.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$CALLS$: Suppose we have nodes $\{0, \ldots, n - 1\}$, with undirected edges between $(i \mod n, i + 1 \mod n)$ for all $i$.  Furthermore, suppose we have a set $C$ of calls, which are the form $(i \mod n, j \mod n)$, and an integer $K$.  The problem is to determine whether it is possible to schedule the set of calls (to schedule a call, one decides whether to go clockwise around the circle or counterclockwise) such that the maximum load (i.e. number of calls going through a given edge) is $\le K$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have been able to show that if we assign each call a weight the problem is $NP$-complete by reducing $PARTITION$ to it.  However, I haven't been able to reduce any $NP$-complete problem to unweighted $CALLS$.  &lt;/p&gt;&#xA;" OwnerUserId="13525" LastActivityDate="2013-01-31T10:28:55.197" Title="$NP$-hardness of scheduling problem" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;&lt;scheduling&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16296" PostTypeId="1" AcceptedAnswerId="16301" CreationDate="2013-01-30T22:37:44.877" Score="9" ViewCount="209" Body="&lt;p&gt;Let $\mathsf{ATISP}(f(n), g(n))$ be the class of languages decided by alternating Turing machines that halt in time $f(n)$ using space $g(n)$. Let $\mathsf{AALTSP}(f(n), g(n))$ be the class of languages decided by alternating Turing machines that halt using $f(n)$ alternations and space $g(n)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Ruzzo &lt;a href=&quot;https://www.sciencedirect.com/science/article/pii/0022000081900386&quot;&gt;proved&lt;/a&gt; that $\mathsf{NC}^k = \mathsf{ATISP}(\log^k n, \log n)$. He also showed that $\mathsf{NC}^k \subseteq \mathsf{AALTSP}(\log^k n, \log n) \subseteq \mathsf{NC}^{k + 1}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is $\mathsf{NC}^k = \mathsf{AALTSP}(\log^k n, \log n)$?&lt;/p&gt;&#xA;" OwnerUserId="4193" LastEditorUserId="6579" LastEditDate="2016-12-02T08:50:09.880" LastActivityDate="2016-12-02T08:50:09.880" Title="Can $\log^k n$ alternations be simulated in $\mathsf{NC}^k$?" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;structural-complexity&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="16297" PostTypeId="2" ParentId="16142" CreationDate="2013-01-30T22:38:19.693" Score="4" Body="&lt;p&gt;I assume that P, NP, and coNP in the question are classes of languages, not classes of promise problems.  I use the same convention in this answer.  (Just in case, if you are talking about classes of promise problems, then the answer is affirmative because P = NP∩coNP as classes of promise problems is equivalent to P = NP.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then the answer is negative in a relativized world.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The statement TFNP ⊆ FP is known as &lt;em&gt;Proposition Q&lt;/em&gt; in the literature [FFNR03].  There is a weaker statement called &lt;em&gt;Proposition Q’&lt;/em&gt; [FFNR03] that every total &lt;a href=&quot;https://complexityzoo.uwaterloo.ca/Complexity_Zoo%3aN#npmv&quot; rel=&quot;nofollow&quot;&gt;NPMV&lt;/a&gt; relation with one-bit answers is in FP.  (Here a &lt;em&gt;relation with one-bit answers&lt;/em&gt; means a subset of {0,1}&lt;sup&gt;*&lt;/sup&gt;×{0,1}.)  It is easy to see that Proposition Q relative to some oracle implies Proposition Q’ relative to the same oracle.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Fortnow and Rogers [FR02] considered the relationships between the statement P = NP∩coNP, Proposition Q’, and a few other related statements in relativized worlds.  In particular, Theorem 3.2 (or Theorem 3.3) in [FR02] implies that there is an oracle relative to which P = NP∩coNP but Proposition Q’ does not hold (and therefore Proposition Q does not hold, either).  Therefore, in a relativized world, P = NP∩coNP does not imply Proposition Q; or by taking contrapositive, existence of TFNP relation which cannot be computed in polynomial time does not imply P ≠ NP∩coNP.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;References&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;[FFNR03] Stephen A. Fenner, Lance Fortnow, Ashish V. Naik, and John D. Rogers.  Inverting onto functions.  &lt;em&gt;Information and Computation&lt;/em&gt;, 186(1):90–103, Oct. 2003.  DOI: &lt;a href=&quot;http://dx.doi.org/10.1016/S0890-5401%2803%2900119-6&quot; rel=&quot;nofollow&quot;&gt;10.1016/S0890-5401(03)00119-6&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[FR02] Lance Fortnow and John D. Rogers.  Separability and one-way functions.  &lt;em&gt;Computational Complexity&lt;/em&gt;, 11(3–4):137–157, June 2002.  DOI: &lt;a href=&quot;http://dx.doi.org/10.1007/s00037-002-0173-4&quot; rel=&quot;nofollow&quot;&gt;10.1007/s00037-002-0173-4&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="567" LastEditorUserId="567" LastEditDate="2013-01-31T22:45:32.240" LastActivityDate="2013-01-31T22:45:32.240" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="16298" PostTypeId="2" ParentId="4770" CreationDate="2013-01-31T01:07:35.940" Score="11" Body="&lt;p&gt;Perhaps my favorite open problem is of interest: the edge clique-cover problem on cographs. In the edge clique-cover problem, you want to cover the edges of the cograph with a minimal number of cliques. It is unknown if this problem is NP-complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To illustrate that the problem is probably hard, let $K_n^m$ be the complete multipartite graph with $m$ partite sets each of size $n$. This is a cograph. There exist $m - 2$ pairwise orthogonal Latin squares of order $n$ if and only if the edge clique-cover of $K_n^m$ is $n^2$. This was shown by &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0012365X09003264&quot;&gt;Park, Kim and &#xA; Sano&lt;/a&gt;. This is a formula for the &quot;cocktail party graph&quot;, that is, the case where $n = 2$. &lt;/p&gt;&#xA;" OwnerUserId="13530" LastEditorUserId="14035" LastEditDate="2014-01-10T13:27:45.107" LastActivityDate="2014-01-10T13:27:45.107" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16299" PostTypeId="1" CreationDate="2013-01-31T08:29:13.847" Score="7" ViewCount="340" Body="&lt;p&gt;Let $k$ be a fixed number.&#xA;Consider the following task $Q$: &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;We are given a sequence of numbers $(x_0,x_1,\cdots,x_k)$. We know they satisfy $x_{k+1}=f(x_k)$, and $f(x)=(ax+b \mod p) \mod m$ where $a,b,m,p \in [2^n]$ are some unknown values.&#xA;  The task is to find $f$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I have a couple of questions about this problem:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;How hard is this problem? &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;If we choose $a,b,p,m$ randomly but &quot;wisely&quot; will $f$ be a pseudorandom number generator secure against TC0 or AC0 circuits?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;What is the smallest value of $k$ where $Q$ can be solved?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;What is the fastest known algorithm for $Q$?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="14197" LastEditorUserId="14197" LastEditDate="2013-05-11T07:24:29.930" LastActivityDate="2013-05-11T07:26:14.780" Title="How hard is it to learn a linear modular function?" Tags="&lt;cc.complexity-theory&gt;&lt;cr.crypto-security&gt;&lt;lg.learning&gt;&lt;pseudorandom-generators&gt;" AnswerCount="1" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="16300" PostTypeId="1" CreationDate="2013-01-31T08:43:49.843" Score="4" ViewCount="1463" Body="&lt;p&gt;Is there a known algorithm for the following problem?  Given a simple weighted directed graph, a pair of vertices $s$ and $t$, and a real value $k$, enumerate all simple paths from $s$ to $t$ with cost exactly $k$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I've heard of uniform search, but I'm not really sure if it can solve my problem.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;I just read that finding &lt;em&gt;one&lt;/em&gt; $s$-$t$ path with a given cost is NP-hard in general.  If all weights are $1$ and $k$ is one less than the number of vertices, this becomes the Hamiltonian Path Problem.&lt;/p&gt;&#xA;" OwnerUserId="9550" LastEditorUserId="9550" LastEditDate="2013-05-18T20:11:27.467" LastActivityDate="2013-05-18T20:11:27.467" Title="Enumerating all s-t paths with cost exactly k" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;" AnswerCount="1" CommentCount="8" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16301" PostTypeId="2" ParentId="16296" CreationDate="2013-01-31T08:51:32.747" Score="11" Body="&lt;p&gt;Of course the equalities and inclusions claimed in the question hold only for &lt;em&gt;uniform&lt;/em&gt; $\mathsf{NC}^k$. The class $\mathsf{AALTSP}(\log^k n, \log n)$ is the same as uniform $\mathsf{AC}^k$, so the question is the same as whether $\mathsf{NC}^k = \mathsf{AC}^k$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In particular the case $k=1$ implies that $\mathsf{L}$ is equal to $\mathsf{NL}$ and even $\mathsf{LogCFL}$, since $\mathsf{NC}^1 \subseteq \mathsf{L} \subseteq \mathsf{NL} \subseteq \mathsf{LogCFL} \subseteq \mathsf{AC}^1$.  &lt;/p&gt;&#xA;" OwnerUserId="6579" LastActivityDate="2013-01-31T08:51:32.747" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16303" PostTypeId="2" ParentId="16295" CreationDate="2013-01-31T10:28:55.197" Score="10" Body="&lt;p&gt;Indeed, it can be solved in polynomial time.  This is a result by &lt;a href=&quot;http://dx.doi.org/10.1016/0095-8956%2885%2990046-2&quot;&gt;Frank (1985)&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="2955" LastActivityDate="2013-01-31T10:28:55.197" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16304" PostTypeId="2" ParentId="14999" CreationDate="2013-01-31T15:13:34.217" Score="10" Body="&lt;p&gt;Another example of $\varphi$ in the base is an algorithm by Andreas Björklund and Thore Husfeldt to compute the parity of the number of directed Hamiltonian cycles, which runs in time $O(\varphi^n)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://arxiv.org/abs/1301.7250&quot;&gt;http://arxiv.org/abs/1301.7250&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="3964" LastActivityDate="2013-01-31T15:13:34.217" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16305" PostTypeId="1" CreationDate="2013-01-31T16:10:07.573" Score="7" ViewCount="2084" Body="&lt;p&gt;What is the complexity of enumerating all connected induced subgraphs from an undirected graph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, Is the complexity of enumerating all maximal connected induced subgraphs the same?&lt;/p&gt;&#xA;" OwnerUserId="13539" LastActivityDate="2013-02-02T06:44:07.673" Title="enumerating all connected induced subgraphs" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="16306" PostTypeId="2" ParentId="16305" CreationDate="2013-01-31T17:00:29.473" Score="12" Body="&lt;p&gt;It's not difficult to show that this is polynomial per subgraph, for the connected induced subgraphs. I don't know what you mean by a maximal connected induced subgraph; isn't that just a connected component? I also don't know what has been published on this problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One way to solve the problem is to define a tree structure on these subgraphs as follows: choose an arbitrary assignment of distinct weights to the edges of the input graph. Define the parent of a connected induced subgraph to be the graph formed by finding its minimum spanning tree, removing the leaf edge of maximum weight, and forming the induced subgraph of the remaining vertices. For a subgraph with only one vertex, define its parent to be the empty graph (which forms the root of the tree structure)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Reverse search (essentially, DFS of this tree) will then find each connected induced subgraph in time polynomial per subgraph. You can find the children of any node in the tree by trying all ways of adding one vertex and checking which of them would form the heaviest leaf of the MST of the augmented subgraph; finding all the children of a single node takes polynomial time, which is all that's required to make this work.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The family of connected subsets of vertices of a graph, with two subsets considered adjacent to each other if they differ in the addition or removal of a single vertex, forms a &lt;a href=&quot;http://en.wikipedia.org/wiki/Partial_cube&quot;&gt;partial cube&lt;/a&gt; structure (see the first example in my book &lt;em&gt;Media Theory&lt;/em&gt;) and similar reverse search ideas can be used to list all states in any such structure (detailed later in the book).&lt;/p&gt;&#xA;" OwnerUserId="95" LastEditorUserId="95" LastEditDate="2013-01-31T17:06:01.740" LastActivityDate="2013-01-31T17:06:01.740" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="16307" PostTypeId="2" ParentId="14999" CreationDate="2013-01-31T17:27:30.230" Score="-2" Body="&lt;p&gt;to expand on Martin Bergers comment: the ancient &lt;a href=&quot;http://en.wikipedia.org/wiki/Euclidean_algorithm&quot; rel=&quot;nofollow noreferrer&quot;&gt;Euclidean GCD algorithm&lt;/a&gt; runs in worst case time on two successive elements from the Fibonacci sequence. more details on &lt;a href=&quot;http://en.wikipedia.org/wiki/Euclidean_algorithm#Worst-case_number_of_steps&quot; rel=&quot;nofollow noreferrer&quot;&gt;wikipedia&lt;/a&gt; which also states: &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;This proof, published by Gabriel Lamé in 1844, represents the beginning of computational complexity theory,[93] and also the first practical application of the Fibonacci numbers.[91]&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;technically the GCD algorithm runs in logarithmic time $O(\log(n))$ but the golden ratio shows up in the &lt;em&gt;number of steps&lt;/em&gt; of the algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] &lt;a href=&quot;https://math.stackexchange.com/questions/258596/what-is-the-time-complexity-of-euclids-algorithm-upper-bound-lower-bound-and-a&quot;&gt;what is the time complexity of Euclids algorithm&lt;/a&gt;, math.se&lt;/p&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="-1" LastEditDate="2017-04-13T12:19:19.363" LastActivityDate="2013-01-31T17:27:30.230" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="16310" PostTypeId="1" CreationDate="2013-01-31T22:34:12.433" Score="2" ViewCount="64" Body="&lt;p&gt;I'm looking for an implementation of Boltzmann sampling for combinatorial structures. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Recent paper in the area for context:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://hal.inria.fr/docs/00/74/77/09/PDF/NonRedundantGeneration-TCS-2010.pdf&quot; rel=&quot;nofollow&quot;&gt;http://hal.inria.fr/docs/00/74/77/09/PDF/NonRedundantGeneration-TCS-2010.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any good packages out there that don't rely on Maple?&lt;/p&gt;&#xA;" OwnerUserId="2021" LastActivityDate="2013-01-31T22:34:12.433" Title="Boltzmann sampling software" Tags="&lt;it.information-theory&gt;&lt;kolmogorov-complexity&gt;&lt;combinatorics&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16311" PostTypeId="2" ParentId="16159" CreationDate="2013-01-31T22:50:34.187" Score="9" Body="&lt;p&gt;This relates mostly to the &quot;how they behave computationally&quot; part of your question.&#xA;One way to understand proof nets well from the computational perspective is by looking at slightly more concrete interpretations (eg., process algebraic).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You might be interested in the following: &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;The paper by Abramsky (the CLL section on Proof Expressions): &#xA;&lt;a href=&quot;http://www.cs.ox.ac.uk/files/296/cill.ps.gz&quot;&gt;Computational Interpretations of Linear Logic&lt;/a&gt;. &#xA;This paper also presents some results that are close to the corresponding ones for proof nets, so might help in the second aspect of your question. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The paper by Honda and Laurent which shows how a specific kind of Proof Nets, called Polarized Proof Nets, corresponds to Pi-calculus processes, and which is mentioned above by Martin Berger: &#xA;&lt;a href=&quot;http://perso.ens-lyon.fr/olivier.laurent/picppn.pdf&quot;&gt;An exact correspondence between a typed pi-calculus and polarised proof-nets&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;(here i shamelessly advertise my own work) The draft: &#xA;&lt;a href=&quot;http://www.di.fc.ul.pt/~dimitris/proofnets_19-4-2012.pdf&quot;&gt;Proof Nets in Process Algebraic Form&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;There are also some works relating proof nets and lambda calculus, which &#xA;also give substantial intuitions. For example, the following by Delia Kesner and Stéphane Lengrand:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.pps.univ-paris-diderot.fr/~kesner/papers/llxr-long.ps&quot;&gt;Resource Operators for λ-calculus&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;You might also be interested in this type of work (very oriented to theoretical aspects) which relies on Proof Structures to prove in detail the Strong Normalisation property of LL, by Michele Pagani and Lorenzo Tortora de Falco. &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www-lipn.univ-paris13.fr/~pagani/snllTCS-1.pdf&quot;&gt;Strong Normalisation Property for Second Order Linear Logic&lt;/a&gt; &#xA;(this paper contains a nice map of important theorems).&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;In general, which theorems should one study? Well, I'm hardly an authority but you might want to look at &quot;Sequentialisation&quot; (relating Proof Nets and Sequent Proofs; see the original TCS paper on LL), and the strong normalisation proof (rather involved, as expected, but many important PN theorems are related to it [or, used to prove it]). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you are familiar with focusing, you might also be interested in this paper by Andreoli: &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://link.springer.com/chapter/10.1007/3-540-48242-3_20?LI=true&quot;&gt;Focusing and Proof-Nets in Linear and Non-commutative Logic&lt;/a&gt; &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Hope this helps. Again, these references are really non-exhaustive. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;best, &#xA;Dimitris &lt;/p&gt;&#xA;" OwnerUserId="13545" LastEditorUserId="129" LastEditDate="2013-02-01T18:31:41.347" LastActivityDate="2013-02-01T18:31:41.347" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16312" PostTypeId="1" AcceptedAnswerId="16353" CreationDate="2013-01-31T23:40:17.870" Score="13" ViewCount="1536" Body="&lt;p&gt;The page &lt;a href=&quot;http://people.csail.mit.edu/jhbrown/scheme/&quot; rel=&quot;nofollow&quot;&gt;&quot;Advanced Scheme: Some Naughty Bits&quot;&lt;/a&gt; states:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Continuations are a powerful control-flow construct from which&#xA;  &lt;strong&gt;nearly any&lt;/strong&gt; other control-flow structure [...] may be derived.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I thought that Scheme's &lt;code&gt;call/cc&lt;/code&gt;, being related (*) to Peter Landin's J operator, could be used to implement &lt;em&gt;any&lt;/em&gt; known control flow structure?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;With &quot;control flow structure&quot; I'm specifically thinking about &lt;a href=&quot;https://en.wikipedia.org/wiki/Control_flow&quot; rel=&quot;nofollow&quot;&gt;Wikipedia's description&lt;/a&gt; of them, e.g. exceptions, coroutines, green threads and so on.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Specifically, are there any examples of control flow structures that &lt;em&gt;cannot&lt;/em&gt; be implemented using &lt;code&gt;call/cc&lt;/code&gt;?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(*) I haven't been able to dig up any paper that establishes that &lt;code&gt;call/cc&lt;/code&gt; is as powerful as the J operator.  &lt;a href=&quot;http://www.cs.indiana.edu/l/www/ftp/techreports/TR205.pdf&quot; rel=&quot;nofollow&quot;&gt;A paper by Felleisen&lt;/a&gt; (which I haven't read and admittedly have problems understanding it fully) investigates this, and seems to conclude that even though they are in different complexity classes, they are formally equivalent.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Also note that I have updated the question based on the comments below)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Update&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Based on the excellent answer by @Neel below, I've looked at &lt;a href=&quot;http://okmij.org/ftp/continuations/undelimited.html#delim-vs-undelim&quot; rel=&quot;nofollow&quot;&gt;sites commenting on delimited and undelimited continuations&lt;/a&gt;, and it does indeed seem that while &lt;code&gt;call/cc&lt;/code&gt;, being undelimited, is not sufficient. Meanwhile, first-class, &lt;em&gt;delimited&lt;/em&gt; continuations (like &lt;code&gt;shift/reset&lt;/code&gt;) &lt;em&gt;can&lt;/em&gt; be used, it seems, to express any control-flow structure.&lt;/p&gt;&#xA;" OwnerUserId="5442" LastEditorUserId="5442" LastEditDate="2013-02-05T22:16:36.073" LastActivityDate="2013-02-05T22:16:36.073" Title="Can Scheme's call/cc implement all known control flow structures?" Tags="&lt;lambda-calculus&gt;&lt;denotational-semantics&gt;&lt;scheme&gt;&lt;operational-semantics&gt;" AnswerCount="1" CommentCount="6" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="16313" PostTypeId="1" AcceptedAnswerId="16317" CreationDate="2013-02-01T00:01:08.177" Score="4" ViewCount="144" Body="&lt;p&gt;Given is a finite set $S$ of line segments in the plane.&lt;br&gt;&#xA;I am interested in finding a line $l$ which splits some segments in $S$ into two, thus yielding a new set of line segments $S'$. &#xA; &lt;br&gt;Here splitting means that if $l$ intersects a line segment $xy$ in a point $z$ then $xy$ gets replaced by two new line segments $xz$ and $zy$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;br&gt;The goal is to chose $l$ such that it minimizes the length of the longest line segment in $S'$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would be interested to know if this problem has been studied before. &#xA;What confuses me is that the problem does seem to be continuous and not discrete.&lt;/p&gt;&#xA;" OwnerUserId="7785" LastEditorUserId="7785" LastEditDate="2013-02-01T06:18:29.270" LastActivityDate="2013-02-01T07:08:52.580" Title="Splitting line segments with a line" Tags="&lt;reference-request&gt;&lt;cg.comp-geom&gt;&lt;optimization&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16314" PostTypeId="1" CreationDate="2013-02-01T00:43:16.977" Score="1" ViewCount="1501" Body="&lt;p&gt;Given a directed graph G and vertices s and t, the maximum capacity path between s and t is the path for which the minimum edge on the path is maximum, among all such s-t paths. Now I can use a modified Dijkstra's single-source shortest path algorithm to find a single maximum capacity path. But suppose, among all such maximum capacity paths, I want the one with the maximum capacity between all pairs of vertices on the path. Does anyone know a reference for this? I use the following modification of Dijkstra's:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;ModifiedDijkstra(G,s)   &#xA;for all v in G  &#xA;    d(v) -&amp;gt; -1  &#xA;    pred(v) -&amp;gt; null  &#xA;&#xA;d(s)-&amp;gt; infinity  &#xA;Q -&amp;gt; V[G] // enqueue all the vertices in G.  &#xA;&#xA;while Q is not empty  &#xA;    u-&amp;gt;EXTRACT_MAX(Q)  &#xA;    for each v in Adj(u)  &#xA;        if d(v)&amp;lt;min(c(u,v),d(u))        // d(v)=max(d(v),min(d(u),c(u,v)))    &#xA;            d(v)=min(c(u,v),d(u))  &#xA;            pred(v)=u  &#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Note that the answer I am looking for is a specific maximum capacity path (of many). For example for the directed graph G=({a,b,c,d,e},{(a,b),(b,c),(a,c),(c,d),(c,e),(d,e)}) with capacities c(a,b)=10,c(b,c)=10,c(a,c)=5,c(c,d)=20,c(c,e)=11,c(d,e)=15. Maximum capacity paths from a to e can be abce or abcde but I need abcde as answer as it is fattest from c to e, i.e. maximum capacity from c to e on abcde is 15 as opposed to 11 on abce. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Update: In practice all my edge weights are floating point numbers and guaranteed to be unique (say). In that case, once I find a single max capacity path, I will fix the minimum weight edge (say (u,v)), and recurse to find the max capacity path over the 2 subraphs, s...u and v....t. I will have to do this a maximum of E times so the time complexity of such an algorithm would be O(V^2E): with a naive implementation of Dijkstra's. &lt;/p&gt;&#xA;" OwnerUserId="13403" LastEditorUserId="13403" LastEditDate="2013-02-01T19:52:37.743" LastActivityDate="2013-02-01T19:52:37.743" Title="Widest path between s and t with additional constraints" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;graph-algorithms&gt;" AnswerCount="0" CommentCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="16315" PostTypeId="1" CreationDate="2013-02-01T01:46:48.737" Score="1" ViewCount="216" Body="&lt;p&gt;The subgradient algorithm for minimizing a convex function $f(x)$ is the update rule &#xA;$$ x(t+1) = x(t) - \alpha(t) d(t)$$ where $d(t)$ is any subgradient of $f(x)$ at $x(t)$ and &#xA;$\alpha(t)$ is a decaying stepsize. Choosing $\alpha(t) = 1/\sqrt{t}$, one usually &#xA;obtains the bound&#xA;$$ f \left( \frac{\sum_{j=1}^t \alpha(j) x(j)}{\sum_{j=1}^t \alpha(j)}\right) - f^* \leq O \left( \frac{||x(0) - x^*||_2^2 + L \ln t}{ \sqrt{t}} \right)$$ where $L$ is an upper bound on the norm of all the subgradients that appear by time $t$, and we assume that the optimal value is $f^*$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are a number of puzzling things about the subgradient method that I don't feel I have a good handle on.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Why is the bound for a convex combination for $x(1), \ldots, x(t)$ instead of for $f(x(t))$? Is it possible to derive a similar bound for $f(x(t))$? Specifically is it true that $f(x(t))-f^* = O( \log t/t)$ (taking $L$ and $||x(0)-x^*||^2$ as constants in the O-notation)?If not, is there a clear reason why this is unreasonable? &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;I &lt;em&gt;think&lt;/em&gt; I understand why the bound is on $f(\cdot) - f^* $ rather than on the distance $||x(t)-x^*||_2^2$ - it has to do with functions that are nearly flat. For example, if $f(x)$ is a tiny perturbation of the zero function, it may take a while for the subgradient algorithm to find the optimal point. So, suppose we assume that every subgradient that enters the method has norm at least $l&amp;gt;0$. Does that allow us to derive a similar bound on $||x(t) - x^*||_2^2$? &lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Note: I &lt;a href=&quot;https://mathoverflow.net/questions/119613/properties-of-the-subgradient-method&quot;&gt;asked this question&lt;/a&gt; on mathoverflow a week ago where it attracted no responses. &lt;/p&gt;&#xA;" OwnerUserId="5773" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2013-02-01T09:22:53.573" Title="Properties of the subgradient method" Tags="&lt;optimization&gt;&lt;convex-optimization&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="16317" PostTypeId="2" ParentId="16313" CreationDate="2013-02-01T07:08:52.580" Score="4" Body="&lt;p&gt;I don't know about whether this specific problem has been studied before but I can point you to a general class of problems that include it and that have been studied: This looks like an &lt;a href=&quot;http://en.wikipedia.org/wiki/LP-type_problem&quot; rel=&quot;nofollow&quot;&gt;LP-type problem&lt;/a&gt; (or perhaps even a low-dimensional linear program although I am not quite seeing how to coordinatize it so that works). If so it can be solved by a linear-time combinatorial algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To set this up as an LP-type problem, we need an objective function mapping sets of line segments to some totally ordered set of solution values. The obvious objective function to use here is the numerical value $l$ that you're trying to optimize (the length of the longest split segment), but I think that's not quite good enough. Instead you should use a lexicographic combination of $l$ with the coordinate vector of a line achieving value $l$. With this lexicographic combination, the problem automatically satisfies the monotonicity and locality properties of LP-type problems: adding another segment to an instance only makes its solution worse, and if a given line is the solution to two sets $A\subset B$ of segments, and adding a new segment $x$ to $A$ doesn't change the solution (because the line cuts $x$ in pieces shorter than $l$) then adding $x$ to $B$ also doesn't change the solution (because the same line cuts $x$ in the same way).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So the main remaining question is whether this problem has bounded dimension, where the dimension of an LP-type problem is defined as the largest size of a minimal instance with a given solution value. So, in any problem of this type, is there a subset of a constant number of the line segments that has the same solution as the whole problem? I think the answer must be yes, because the optimal line must cross some three segments at points that are at distance $l$ from the ends of their segments (else it could be moved continuously to a better solution) and those three segments should determine the solution value. &lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2013-02-01T07:08:52.580" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16319" PostTypeId="2" ParentId="16214" CreationDate="2013-02-01T08:27:23.220" Score="15" Body="&lt;p&gt;&lt;em&gt;The following answer was originally posted as a comment on Gil's blog&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(1) Let $K=\mathbb{Q}(\alpha)$ be a number field, where we assume $\alpha$ has a monic minimal polynomial $f\in\mathbb{Z}[x]$.  One can then represent elements of the ring of integers $\mathcal{O}_K$ as polynomials in $\alpha$ or in terms of an integral basis -- the two are equivalent.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now fixing $K$ as in (1) there's a polynomial-time reduction from the problem over $K$ to the problem in $\mathbb{Q}$.  To verify that the computations (e.g. intersecting an ideal with $\mathbb{Z}$ or factoring a polynomial mod $p$) can be done in polynomial time see Cohen's book referred to in the previous answer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As a precomputation for each rational prime $p$ dividing the discriminant of $\alpha$ (that is the discriminant of $f$) find all primes of $\mathcal{O}_K$ lying above $p$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(2) For primality testing, given an ideal $\mathfrak{a}\triangleleft\mathcal{O}_K$ let $p\in\mathbb{Z}$ be such that $\mathfrak{a}\cap\mathbb{Z} = p\mathbb{Z}$ (this can be computed in polynomial time and the number of bits of $p$ is polynomial in the input).  Check in polynomial time whether $p$ is prime. If not then $\mathfrak{a}$ is not prime.  If yes then find the primes of $\mathcal{O}_K$ lying above $p$ either from the precomputation or by factoring $f$ mod $p$.  In any case if $\mathfrak{a}$ is prime it must be one of those primes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(3a),(6a) For factoring into primes, given an ideal $\mathfrak{a}\triangleleft\mathcal{O}_K$ find its norm $y = N^K_\mathbb{Q}(\mathfrak{a}) = [\mathcal{O}_K:\mathfrak{a}]$. Again this can be found in polynomial time and consequently is not too large. Factor $y$ in $\mathbb{Z}$ (either classically or using Shor's algorithm, depending on the reduction you want).  This gives a list of rational primes dividing $y$, and hence as in 2 we can find the list of primes of $\mathcal{O}_K$ dividing $y$.  Since $\mathfrak{a} | y\mathcal{O}_K$ this gives the list of primes dividing $\mathfrak{a}$.  Finally it is easy to determine the exponent to which a prime divides a given ideal.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(3b),(6b) But Gil wants factorization into irreducibles, not into primes. It turns out that given the prime factorization of $x\mathcal{O}_K$ it is possible to efficiently construct &lt;em&gt;one&lt;/em&gt; factorization of $x$ into irreducible elements of $\mathcal{O}_K$.  For this let $h_K$ be the class number, and note that it is possible to efficiently compute the ideal class of a given ideal. Now to find an irreducible divisor of $x$ select $h_K$ prime ideals (possibly with repetition) from the factorization of $x$.  By the pigeon-hole principle some subset of those multiplies to the identity in the class group; find a minimal such subset.  Its product is then a principal ideal generated by an irreducible element.  Divide $x$ by this element, remove the relevant ideals from the factorization and repeat.  If the factorization has less than $h_K$ elements then just take a minimal subset of all the factors.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(4) I think it's possible to count the factorizations into irreducibles, but this is a bit of extra combinatorics -- please give me time to work it out.  One the other hand, determining all of them is not interesting in the context of sub-exponential factorization algorithms since there are in general exponentially many such factorizations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(5) I have no idea.&lt;/p&gt;&#xA;" OwnerUserId="13549" LastActivityDate="2013-02-01T08:27:23.220" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16322" PostTypeId="1" AcceptedAnswerId="16348" CreationDate="2013-02-01T16:46:45.653" Score="11" ViewCount="1047" Body="&lt;p&gt;Given two subsets of the $d$-dimensional hypercube (i.e., $M, N \subseteq \{0,1\}^d$), I am looking for an algorithm which retrieves the points $m\in M, n\in N$ s.t. the hamming distance (or $L_1$-distance on the hypercube) $d_H(m,n)$ is minimal. The naive algorithm which checks just each pair needs $|M|\cdot |N| \cdot d$ time, is there any better result known?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For simplicity we may assume that $|M|=|N|=d$.&lt;/p&gt;&#xA;" OwnerUserId="13553" LastEditorUserId="80" LastEditDate="2013-02-03T08:55:02.610" LastActivityDate="2013-02-03T21:27:45.427" Title="Finding the closest pair between two sets of points on the hypercube" Tags="&lt;cg.comp-geom&gt;" AnswerCount="2" CommentCount="7" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="16324" PostTypeId="1" AcceptedAnswerId="16327" CreationDate="2013-02-02T00:18:38.230" Score="5" ViewCount="172" Body="&lt;p&gt;Say we have a constraint satisfaction problem parametrized by $n$ number of variables whose solution lies in a set of bounded non-negative integers of size $O(2^{n})$. Say we also know that we have $O(2^{an})$ satisfying solutions for the $n$ number of variables for some $a \in (0,1)$. Are there any known cases where such problems can be solved in polynomial in $n$ time?&lt;/p&gt;&#xA;" OwnerUserId="1812" LastEditorUserId="1812" LastEditDate="2013-02-02T00:26:38.853" LastActivityDate="2013-02-02T02:02:17.757" Title="Constaint Satisfaction problem with exponentially many solutions" Tags="&lt;cc.complexity-theory&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16325" PostTypeId="1" AcceptedAnswerId="16359" CreationDate="2013-02-02T01:07:28.497" Score="3" ViewCount="507" Body="&lt;p&gt;I've been investigating the ability of the SPARQL query language to represent certain basic tasks in graph theory and machine learning, and have come to believe that it is not possible to do some. For example, I suspect that it is not possible to &lt;a href=&quot;https://stackoverflow.com/questions/14388864/finding-shortest-path-with-sparql-query&quot;&gt;test (s,t)-connectivity without using Property Paths (but simple with them)&lt;/a&gt;.  Also, I suspect that it is not possible to &lt;a href=&quot;https://stackoverflow.com/questions/14571546/finding-k-nearest-neighbors-with-sparql-query&quot;&gt;list the k nearest neighbors of a list of vectors with a single query&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a proof technique or general approach to show, or at least provide some evidence, that a search or decision problem cannot be represented as a single query in a query language like SPARQL or SQL?&lt;/p&gt;&#xA;" OwnerUserId="9428" LastEditorUserId="-1" LastEditDate="2017-05-23T12:40:09.333" LastActivityDate="2013-02-04T17:34:39.807" Title="How do you argue a query is impossible in a query language like SPARQL or SQL?" Tags="&lt;complexity-classes&gt;&lt;db.databases&gt;" AnswerCount="1" CommentCount="15" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16326" PostTypeId="2" ParentId="16159" CreationDate="2013-02-02T01:36:59.717" Score="4" Body="&lt;p&gt;You can check my paper &quot;&lt;a href=&quot;http://arxiv.org/abs/1203.4912&quot; rel=&quot;nofollow&quot;&gt;A survey of proof nets and matrices for substructural logics&lt;/a&gt;&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Abstract:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;This paper is a survey of two kinds of &quot;compressed&quot; proof schemes, the \emph{matrix method} and \emph{proof nets}, as applied to a variety of logics ranging along the substructural hierarchy from classical all the way down to the nonassociative Lambek system. A novel treatment of proof nets for the latter is provided. Descriptions of proof nets and matrices are given in a uniform notation based on sequents, so that the properties of the schemes for the various logics can be easily compared.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="13555" LastEditorUserId="186" LastEditDate="2013-03-02T07:05:24.800" LastActivityDate="2013-03-02T07:05:24.800" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16327" PostTypeId="2" ParentId="16324" CreationDate="2013-02-02T02:02:17.757" Score="11" Body="&lt;p&gt;Without further assumption the bound on the number of solutions you give isn't going to help. The reason is that there is an easy transformation of an arbitrary CSP problem into one that either continues to have no solutions (if the original problem had no solutions) or that has an exponential number of solutions (if the original problem has at least one solution): just add a linear number of irrelevant and unconstrained variables. So if you could find a solution quickly when there are an exponential number, you could apply this method to the output of this transformation and use it to find a solution quickly even when there is only one.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2013-02-02T02:02:17.757" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="16328" PostTypeId="2" ParentId="16305" CreationDate="2013-02-02T06:44:07.673" Score="7" Body="&lt;p&gt;This only complements David's answer, who shows that the number of connected induced subgraphs can be enumerated with polynomial delay. Since a complete graph on $n$ vertices has $2^n$ connected induced subgraphs there is no hope to obtain any algorithm faster than $2^n$ for general graphs. For bounded-degree graphs, however, slightly better bounds are known for the number of connected induced subgraphs. &lt;a href=&quot;http://dx.doi.org/10.1145/2151171.2151181&quot;&gt;Björklund et al. (2012)&lt;/a&gt; show that any graph on $n$ vertices with maximum degree $\Delta$ has at most $(\beta_{\Delta})^n$ connected induced subgraphs, where $\beta_{\Delta} = (2^{\Delta+1} − 1)^{1/(\Delta+1)}$.&lt;/p&gt;&#xA;" OwnerUserId="72" LastActivityDate="2013-02-02T06:44:07.673" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16335" PostTypeId="1" AcceptedAnswerId="16339" CreationDate="2013-02-03T02:40:28.980" Score="19" ViewCount="2391" Body="&lt;p&gt;I've never seen an algorithm with a log in the denominator before, and I'm wondering if there are any actually useful algorithms with this form?  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I understand lots of things that might cause a log factor to be multiplied in the run time, e.g. sorting or tree based algorithms, but what could cause you to divide by a log factor?&lt;/p&gt;&#xA;" OwnerUserId="10267" LastEditorUserId="186" LastEditDate="2013-02-07T01:32:54.760" LastActivityDate="2019-09-03T14:47:13.437" Title="Are there any problems whose best known algorithm has run time $O\left(\frac{f(n)}{\log n}\right)$" Tags="&lt;ds.algorithms&gt;&lt;big-list&gt;&lt;time-complexity&gt;" AnswerCount="11" CommentCount="4" FavoriteCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="16336" PostTypeId="2" ParentId="16335" CreationDate="2013-02-03T03:20:06.360" Score="13" Body="&lt;p&gt;Not exactly what you asked for, but a situation &quot;in the wild&quot; in which a log factor appears in the denominator is the paper &quot;&lt;a href=&quot;http://arxiv.org/abs/1005.2642&quot;&gt;Pebbles and Branching Programs for Tree Evaluation&lt;/a&gt;&quot; by Stephen Cook, Pierre McKenzie, Dustin Wehr, Mark Braverman, and Rahul Santhanam.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The tree evaluation problem (TEP) is: given a $d$-ary tree annotated with values in $\{1,\ldots,k\}$ on the leafs and functions $\{1,\ldots,k\}^d \to \{1,\ldots,k\}$ on internal nodes, evaluate the tree. Here each internal node gets the value of its annotated function on the values of its children. This is an easy problem, and the point is to show that it cannot be solved in logarithmic space (when the height of the tree is part of the input). To that effect, we are interested in the size of branching programs solving TEP.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In Section 5, tight bounds are presented for trees of height 3, both for TEP and for the related problem BEP, in which the output is collapsed to $\{0,1\}$ in some arbitrary way. For TEP the bound is $\Theta(k^{2d-1})$, while for BEP the bound is $\Theta(k^{2d-1}/\log k)$, i.e. you get a saving of $\log k$.&lt;/p&gt;&#xA;" OwnerUserId="40" LastEditorUserId="40" LastEditDate="2013-02-03T17:03:03.297" LastActivityDate="2013-02-03T17:03:03.297" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16337" PostTypeId="2" ParentId="16335" CreationDate="2013-02-03T03:56:46.713" Score="35" Body="&lt;p&gt;The Rubik's Cube is a very natural (and to me, unexpected) example.  An &lt;span class=&quot;math-container&quot;&gt;$n\times n\times n$&lt;/span&gt; cube requires &lt;span class=&quot;math-container&quot;&gt;$\Theta(n^2/\log n)$&lt;/span&gt; steps to solve.  (Note that this is theta notation, so that's a tight upper and lower bound).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is shown in &lt;a href=&quot;http://erikdemaine.org/papers/Rubik_ESA2011/&quot; rel=&quot;nofollow noreferrer&quot;&gt;this paper&lt;/a&gt; [1].&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It may be worth mentioning that the complexity of solving specific instances of the Rubik's cube is &lt;s&gt;open, but conjectured to be NP-hard (discussed &lt;a href=&quot;https://cstheory.stackexchange.com/questions/783/is-optimally-solving-the-nnn-rubiks-cube-np-hard&quot;&gt;here&lt;/a&gt; for example)&lt;/s&gt; &lt;a href=&quot;https://arxiv.org/pdf/1706.06708.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;NP hard&lt;/a&gt; [2]. The &lt;span class=&quot;math-container&quot;&gt;$\Theta(n^2/\log n)$&lt;/span&gt; algorithm guarantees a solution, and it guarantees that all solutions are asymptotically optimal, but it may not solve specific instances optimally.  Your definition of useful may or may not apply here, as Rubik's cubes are generally not solved with this algorithm (&lt;a href=&quot;http://kociemba.org/cube.htm&quot; rel=&quot;nofollow noreferrer&quot;&gt;Kociemba's algorithm&lt;/a&gt; is generally used for small cubes as it gives fast, optimal solutions in practice).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] Erik D. Demaine, Martin L. Demaine, Sarah Eisenstat, Anna Lubiw, and Andrew Winslow.  Algorithms for Solving Rubik's Cubes.  Proceedings of the 19th Annual European Symposium on Algorithms (ESA 2011), September 5–9, 2011, pages 689–700&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] Erik D. Demaine, Sarah Eisenstat, and Mikhail Rudoy. Solving the Rubik's Cube Optimally is NP-complete. Proceedings of the 35th International Symposium on Theoretical Aspects of Computer Science (STACS 2018), February 28–March 3, 2018, pages 24:1-24:13.&lt;/p&gt;&#xA;" OwnerUserId="8927" LastEditorUserId="8927" LastEditDate="2019-09-03T14:47:13.437" LastActivityDate="2019-09-03T14:47:13.437" CommentCount="0" ContentLicense="CC BY-SA 4.0" />
  <row Id="16339" PostTypeId="2" ParentId="16335" CreationDate="2013-02-03T05:44:44.923" Score="41" Body="&lt;p&gt;The usual answer to &quot;what could cause you to divide by a log?&quot; is a combination of two things:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;a model of computation in which constant time arithmetic operations on word-sized integers are allowed, but in which you want to be conservative about how long the words are, so you assume $O(\log n)$ bits per word (because any fewer than that and you couldn't even address all of memory, and also because algorithms that use table lookups would take too much time to set up the tables if the words were longer), and&lt;/li&gt;&#xA;&lt;li&gt;an algorithm that compresses the data by packing bits into words and then operates on the words.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;I think there are many examples, but the classic example is the &lt;a href=&quot;http://en.wikipedia.org/wiki/Method_of_Four_Russians&quot;&gt;Four Russians Algorithm&lt;/a&gt;&#xA;for longest common subsequences etc. It actually ends up being $O(n^2/\log^2 n)$, because it uses the bit-packing idea but then saves a second log factor using another idea: replacing blocks of $O(\log^2 n)$ bit operations by a single table lookup.&lt;/p&gt;&#xA;" OwnerUserId="95" LastEditorUserId="4193" LastEditDate="2014-04-15T18:55:45.297" LastActivityDate="2014-04-15T18:55:45.297" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16340" PostTypeId="2" ParentId="16335" CreationDate="2013-02-03T08:00:27.923" Score="16" Body="&lt;p&gt;An example of $\log n$ showing up in the denominator without bit packing tricks is a recent paper by &lt;a href=&quot;http://arxiv.org/abs/1204.5333&quot;&gt;Agarwal, Ben Avraham, Kaplan and Sharir&lt;/a&gt; on computing the discrete Fréchet distance between two polygonal chains in time $O(n^2\log\log n/\log n)$. While I'm not familiar with the details of the algorithm, one general trick is to partition the input into relatively small pieces and then combine the answers cleverly (of course this sounds like divide and conquer, but you don't get the log n in the denominator with some clever tricks)&lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2013-02-03T08:00:27.923" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16344" PostTypeId="1" CreationDate="2013-02-03T12:04:18.053" Score="2" ViewCount="412" Body="&lt;p&gt;Given a list of integers $[a_1, a_2, \dots a_n]$, I want to find the number of $n$-tuples $(x_1,\dots,x_n)$ of integers such that the following three conditions are satisfied:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;$x_1 \oplus x_2 \oplus \dots \oplus x_n = 0$.&lt;/li&gt;&#xA;&lt;li&gt;$x_k \in [0,a_k]$ for each $k$.&lt;/li&gt;&#xA;&lt;li&gt;$x_k=a_k$ for at least one $k$.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;For instance, if the given list is &lt;code&gt;[1,2,3]&lt;/code&gt;, the answer is 4, and the specific solutions are&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;[0,2,2]&lt;/code&gt;,&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;[1,0,1]&lt;/code&gt;,&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;[1,1,0]&lt;/code&gt;, and&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;[1,2,3]&lt;/code&gt;.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;A brute-force approach would just compute the Cartesian product of all $x_k$s or simply count through the whole number space starting with &lt;code&gt;[0,0,0]&lt;/code&gt;. But how can I tackle this problem with a more sophisticated algorithm? What paradigm is a good choice? Dynamic programming? If I only consider condition 2, then I could think of denoting the sub-problem by&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$E[n,i]$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Where $n$ defines the number of integers and $i$ the current slot. Also given the caps $[m_1, m_2, \dots,m_n]$ then the number of combinations could be computed with:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;\begin{align*}&#xA;  E[0,0] &amp;amp; = 0 \\&#xA;  E[0,i] &amp;amp; = 1 + m_i \\&#xA;  E[n,i] &amp;amp; = (1 + m_i) \cdot E[n, i-1] \\&#xA;  E[n,i] &amp;amp; = \text{invalid if } i + 1 &amp;gt; n&#xA;\end{align*}&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But how can I integrate the XOR constraint here?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand it seems this is a classical Constraint Satisfaction Problem which could be backtracked.&lt;/p&gt;&#xA;" OwnerUserId="13581" LastEditorUserId="4193" LastEditDate="2013-02-04T20:28:32.707" LastActivityDate="2013-02-04T20:28:32.707" Title="How can I find all numbers for which the XOR-sum is 0?" Tags="&lt;co.combinatorics&gt;&lt;gt.game-theory&gt;&lt;dynamic-programming&gt;&lt;ds.algorithms&gt;" AnswerCount="0" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="16346" PostTypeId="2" ParentId="16322" CreationDate="2013-02-03T16:19:24.150" Score="-3" Body="&lt;p&gt;as in the comments this problem is generally closely connected to the same problem in a Hilbert space and algorithms there are nearly applicable. an example of this can be found in this paper by Arya et al [1] p29 where the authors benchmark their Hilbert space nearest neighbor algorithm using the boolean cube and the $L_\infty$ norm. their algorithm works on any $L_m$ Minkowski metric. as you point out (but wikipedia does not seem to nor do a lot of other refs) the Hamming distance metric is equivalent to the $L_1$ Minkowski space metric or &lt;a href=&quot;http://en.wikipedia.org/wiki/Taxicab_geometry&quot; rel=&quot;nofollow&quot;&gt;&quot;taxicab metric&quot;&lt;/a&gt; on binary coordinates. their algorithm takes $ O(dn \log n)$ preprocessing time ($d$ dimensions) and logarithmic &quot;query&quot; time (per point). see also [2]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] &lt;a href=&quot;http://www.cs.umd.edu/~mount/Papers/dist.pdf&quot; rel=&quot;nofollow&quot;&gt;An Optimal Algorithm for Approximate Nearest Neighbor Searching in Fixed Dimensions&lt;/a&gt; Arya et al, 30pp&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=276884.276910&quot; rel=&quot;nofollow&quot;&gt;Effective nearest neighbors searching on the hyper-cube, with applications to molecular clustering&lt;/a&gt; Cazals&lt;/p&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2013-02-03T16:19:24.150" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16347" PostTypeId="1" CreationDate="2013-02-03T20:27:50.093" Score="32" ViewCount="2153" Body="&lt;p&gt;For the &lt;a href=&quot;http://en.wikipedia.org/wiki/Maximum_flow_problem&quot; rel=&quot;noreferrer&quot;&gt;maximum flow problem&lt;/a&gt;, there seem to be a number of very sophisticated algorithms, with at least one developed as recently as last year.  Orlin's &lt;a href=&quot;http://jorlin.scripts.mit.edu/docs/papersfolder/O%28nm%29MaxFlow.pdf&quot; rel=&quot;noreferrer&quot;&gt;Max flows in O(mn) time or better&lt;/a&gt; gives an algorithm that runs in O(VE).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, the algorithms I most commonly see implemented are (I don't claim to have done an exhaustive search; this is just from casual observation):&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Edmonds-Karp: $O(VE^2)$,&lt;/li&gt;&#xA;&lt;li&gt;Push-relabel: $O(V^2 E)$ or $O(V^3)$ using FIFO vertex selection,&lt;/li&gt;&#xA;&lt;li&gt;Dinic's Algorithm: $O(V^2 E)$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Are the algorithms with better asymptotic running time just not practical for the problem sizes in the real world?  Also, I see &quot;Dynamic Trees&quot; are involved in quite a few algorithms; are these ever used in practice?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note: this question was originally asked on stack overflow, &lt;a href=&quot;https://stackoverflow.com/questions/14667586/are-any-of-the-state-of-the-art-maximum-flow-algorithms-practical&quot;&gt;here&lt;/a&gt;, but I was told it would be a better fit here.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT&lt;/strong&gt;: I asked &lt;a href=&quot;https://cs.stackexchange.com/questions/9501/are-link-cut-trees-ever-used-in-practice-for-max-flow-computation-or-other-appl&quot;&gt;a related question on cs.stackexchange&lt;/a&gt;, specifically about the algorithms that use dynamic trees (aka link-cut trees), which may be of interest for people following this question.&lt;/p&gt;&#xA;" OwnerUserId="13588" LastEditorUserId="-1" LastEditDate="2017-05-23T12:40:09.333" LastActivityDate="2014-09-02T03:59:30.540" Title="Are any of the state of the art Maximum Flow algorithms practical?" Tags="&lt;ds.algorithms&gt;&lt;graph-algorithms&gt;&lt;application-of-theory&gt;&lt;max-flow&gt;" AnswerCount="3" CommentCount="10" FavoriteCount="11" ContentLicense="CC BY-SA 3.0" />
  <row Id="16348" PostTypeId="2" ParentId="16322" CreationDate="2013-02-03T21:27:45.427" Score="6" Body="&lt;p&gt;Just realized that you are asking for the case that $|M|=|N|=d$. Then you can do matrix multiplication, right? Write $M$ is a row matrix $X$, $N$ as a column matrix $Y$, negate the entries of $Y$, and compute the matrix $Z=XY$. Clearly, the $z_{i,j}$ is the Hamming distance between the $i$th point of $M$ and the $j$th point of $N$. According to the last breakthroughs this has running time $O(d^{2.3727})$ (but I have a 50,000 pages manuscript that shows how to do this matrix multiplication in $O(d^{2.3726999999})$ time by a really simple algorithm).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can get similar effect if the matrices are not squares. I think Uri Zwick has a paper about fast matrix multiplication in this case.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In some sense, this is not too interesting - we want to avoid the $O(|M| * |N|)$  term. The improvements in the $d$ term are kind of meh, meh...&lt;/p&gt;&#xA;" OwnerUserId="9594" LastActivityDate="2013-02-03T21:27:45.427" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="16350" PostTypeId="2" ParentId="16335" CreationDate="2013-02-03T22:51:57.163" Score="8" Body="&lt;p&gt;The best known algorithm for computing the edit (a.k.a. Levenshtein) distance between two strings of length $n$ takes $O((n/\log n)^2)$ time:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;William J. Masek, Mike Paterson: A Faster Algorithm Computing String Edit Distances. J. Comput. Syst. Sci. 20(1): 18-31 (1980).&lt;/p&gt;&#xA;" OwnerUserId="6190" LastActivityDate="2013-02-03T22:51:57.163" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16352" PostTypeId="1" CreationDate="2013-02-04T06:21:51.763" Score="2" ViewCount="119" Body="&lt;p&gt;Most of the applications of Finite Model Theory I have seen are in graphs, using FMT one can prove that certain properties of finite graphs are not FO definable. I am interested in similar kind of applications of FMT in finite algebraic structures, namely in finite fields or finite groups? Are their properties of finite fields or groups which are not FO definable and can be proved using FMT? Reference to any book or research paper would be highly appreciated.&lt;/p&gt;&#xA;" OwnerUserId="13592" LastActivityDate="2013-02-04T06:21:51.763" Title="Applications of FMT in Algebra" Tags="&lt;reference-request&gt;&lt;finite-model-theory&gt;" AnswerCount="0" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="16353" PostTypeId="2" ParentId="16312" CreationDate="2013-02-04T07:48:21.960" Score="12" Body="&lt;p&gt;In this answer, I'll take &quot;expressible&quot; to mean &quot;macro-expressible&quot; in the sense of Felleisen 1991, &lt;a href=&quot;http://www.ccs.neu.edu/racket/pubs/scp91-felleisen.ps.gz&quot;&gt;&lt;em&gt;On The Expressive Power of Programming Languages&lt;/em&gt;&lt;/a&gt;. (Intuitively, a language feature is macro-expressible if you can define it as a local source transformation, without using a whole-program transformation.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;With this definition, the answer is &lt;em&gt;no&lt;/em&gt;: delimited control is not macro-expressible in the lambda-calculus + call/cc. To express delimited control operators using call/cc. In order to implement the control delimiters (the reset part of shift/reset), you need some state to simulate the continuation marks, essentially to encode a stack to simulate the dynamic lifetimes of the continuation marks. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, delimited control is a universal effect, in the following sense. In his &lt;a href=&quot;http://www.diku.dk/hjemmesider/ansatte/andrzej/papers/CE.ps.gz&quot;&gt;PhD thesis&lt;/a&gt;, &lt;a href=&quot;http://www.diku.dk/~andrzej/&quot;&gt;Andrzej Filinski&lt;/a&gt; showed that any expressible side effect is encodable using either delimited continuations, or call/cc and a single cell of state. Roughly, an &quot;expressible side effect&quot; is any effect whose monadic type can be defined in terms of the types of the programming language.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Surprisingly, this idea seems quite interesting in practice. Over the last decade, Gordon Plotkin and John Power have advocated the idea of taking an &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.58.9582&quot;&gt;algebraic semantics of effects&lt;/a&gt; theories: the idea is that you specify the side-effecting operations you are interested in, and the equations you expect them to satisfy, and then you can generically get a semantics by taking the free monad over this theory. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Matija Pretnar and Andrej Bauer took this mathematical approach, and then implemented it in &lt;a href=&quot;http://homepages.inf.ed.ac.uk/slindley/papers/handlers.pdf&quot;&gt;their Eff language&lt;/a&gt; to invent a new language construct dubbed &quot;effect handlers&quot;: you can write code that uses a set of imperative features, and then give the imperative features a semantics by writing a set of handlers which say how to implement each effectful operation. &lt;/p&gt;&#xA;" OwnerUserId="657" LastActivityDate="2013-02-04T07:48:21.960" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="16354" PostTypeId="1" AcceptedAnswerId="16356" CreationDate="2013-02-04T15:23:39.093" Score="22" ViewCount="1493" Body="&lt;p&gt;I'm looking for undirected, unweighted, connected graphs $G=(V,E)$, in which for every pair $u,v \in V$, there is a unique $u \rightarrow v$ path that realizes the distance $d(u,v)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is this class of graphs well-known? What other properties does it have? For example, every tree is of this kind, as well as every graph without an even cycle. However, there are graphs containing even cycles that are of this kind.&lt;/p&gt;&#xA;" OwnerUserId="1609" LastActivityDate="2013-07-10T22:53:09.027" Title="Graphs in which all shortest paths are unique" Tags="&lt;graph-theory&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16356" PostTypeId="2" ParentId="16354" CreationDate="2013-02-04T16:05:00.890" Score="25" Body="&lt;p&gt;According to Information System on Graph Classes and their Inclusions, these graphs are studied under the name “&lt;a href=&quot;http://www.graphclasses.org/classes/gc_96.html&quot;&gt;geodetic graphs&lt;/a&gt;.”&lt;/p&gt;&#xA;" OwnerUserId="567" LastActivityDate="2013-02-04T16:05:00.890" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16359" PostTypeId="2" ParentId="16325" CreationDate="2013-02-04T17:34:39.807" Score="5" Body="&lt;p&gt;From page 52 of Leonid Libkin's &lt;em&gt;Elements of Finite Model Theory&lt;/em&gt; textbook:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Since we know that graph connectivity is not Hanf-local and transitive closure is not Gaifman-local, we immediately obtain, without using games, that these queries are not FO-definable.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;SQL and (original) SPARQL are based on fragments of first-order logic, without fixed-point or transitive-closure operations.  The basic idea is that first-order formulas can only express things that are &quot;local&quot; in some sense, with the reach of locality increasing with the length and complexity of the formula.  (The definitions of Gaifman and Hanf locality make this precise.)  Transitive closure and graph connectivity require either a more powerful way of talking about arbitrarily long paths (like property paths in (new) SPARQL, or a fixed point operator), or arbitrarily long formulas.  So one can't capture path expressions of arbitrary length without explicitly adding support for them to a first-order-based query language.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you want to know more, have a look at the above textbook, or at the paper:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Leonid Libkin, &lt;em&gt;Logics capturing local properties&lt;/em&gt;, ACM Transactions on Computational Logic &lt;strong&gt;2&lt;/strong&gt;, 135–153, 2001.  &lt;a href=&quot;http://dx.doi.org/10.1145/371282.371388&quot; rel=&quot;noreferrer&quot;&gt;doi:10.1145/371282.371388&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;which has a brief overview of the history with further references.&lt;/p&gt;&#xA;" OwnerUserId="109" LastActivityDate="2013-02-04T17:34:39.807" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16360" PostTypeId="2" ParentId="16347" CreationDate="2013-02-04T19:48:59.810" Score="8" Body="&lt;p&gt;there are several ways to answer this question but not necessarily a consensus answer. generally algorithms that have been implemented and released for public distribution are &quot;practical&quot;. however, some algorithms that have been devised but not yet implemented may be practical but &quot;the jury is out&quot; on them so to speak.**&lt;/p&gt;&#xA;&#xA;&lt;p&gt;a good strategy &lt;em&gt;for practical purposes&lt;/em&gt; is to look for a survey. also for those interested in practical algorithms, benchmarks against real world data can be an excellent guideline as to their expected &quot;real world&quot; behavior. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;a benchmarking survey can be sufficient but will err on the side of viable algorithms. this is a recent, thorough empirical analysis of 14 &quot;state-of-the-art&quot; max flow algorithms benchmarked empirically versus vision processing instances, where max flow has many applications. &quot;state of the art&quot; is taken to refer to &quot;implemented&quot; algorithms.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] &lt;a href=&quot;http://ttic.uchicago.edu/~dbatra/publications/assets/vb_bmvc12.pdf&quot;&gt;MaxFlow Revisited:&#xA;An Empirical Comparison of Maxflow&#xA;Algorithms for Dense Vision Problems&lt;/a&gt; by Verma and Batra, 2012&lt;/p&gt;&#xA;&#xA;&lt;p&gt;** &#xA;some theoretical algorithms are in a category increasingly in the TCS community being informally referred to as &quot;galactic&quot; but unfortunately, TCS authors do not currently forthrightly self-label their algorithms in this category, and there is no published or generally accepted criteria for &quot;galactic&quot; algorithms, although there is reference in &lt;a href=&quot;http://rjlipton.wordpress.com/2010/10/23/galactic-algorithms/&quot;&gt;blogs&lt;/a&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;practicality in this sense is possibly a new emerging dimension for theoretical study. ideally there would be a survey of max flow algorithms specifically on this &quot;practical&quot; axis/criteria, but likely that does not exist as of writing. its a more recently recognized/acknowledged concept in TCS that hasnt been thoroughly formalized yet (unlike eg the widespread acceptance of P algorithms as &quot;efficient&quot;).&lt;/p&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="7884" LastEditDate="2013-02-04T20:08:12.190" LastActivityDate="2013-02-04T20:08:12.190" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="16361" PostTypeId="1" CreationDate="2013-02-04T20:43:43.010" Score="5" ViewCount="1631" Body="&lt;p&gt;Aside from the cycle graph, are there other simple unweighted graph constructions for which there are $\omega(n)$ distinct min cuts?&lt;/p&gt;&#xA;" OwnerUserId="13600" LastActivityDate="2013-02-09T14:16:16.293" Title="Graphs for maximum number of min cuts?" Tags="&lt;graph-theory&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16363" PostTypeId="2" ParentId="16335" CreationDate="2013-02-04T21:36:58.760" Score="12" Body="&lt;p&gt;Even though it's not about runtime, I thought it worth mentioning the classical result of Hopcroft, Paul, and Valiant: $\mathsf{TIME[t]} \subseteq \mathsf{SPACE}[t/\log t]$ [1], since it's still in the spirit of &quot;what could cause you to &lt;em&gt;save&lt;/em&gt; a log factor.&quot; &lt;/p&gt;&#xA;&#xA;&lt;p&gt;That gives lots of examples of problems whose best known upper bound on space complexity has a log in the denominator. (Depending on your viewpoint, I would think that either makes this example very interesting - what an amazing theorem! - or very uninteresting - it's probably not &quot;actually useful&quot;.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] Hopcroft, Paul, and Valiant. &lt;a href=&quot;http://dx.doi.org/10.1145/322003.322015&quot;&gt;On time versus space&lt;/a&gt;. J. ACM 24(2):332-337, 1977.&lt;/p&gt;&#xA;" OwnerUserId="129" LastEditorUserId="129" LastEditDate="2013-02-04T21:46:32.743" LastActivityDate="2013-02-04T21:46:32.743" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16364" PostTypeId="1" CreationDate="2013-02-04T22:37:09.340" Score="15" ViewCount="597" Body="&lt;p&gt;&lt;strong&gt;Background&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The external memory, or DAM model, defines the cost of an algorithm by the number of I/Os it performs (essentially, the number of cache misses).  These running times are generally given in terms of $M$, the size of memory, and $B$, the number of words that can be transferred to memory at one time.  Sometimes $L$ and $Z$ are used for $B$ and $M$ respectively.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, sorting requires a cost of $\Theta(N/B\log_{M/B} N/B)$ and naive matrix multiplication requires $\Theta(n^3/B\sqrt{M})$.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This model is used to analyze &quot;cache-oblivious algorithms&quot;, which do not have knowledge of $B$ or $M$.  Generally the goal is for the cache-oblivious algorithm to perform optimally in the external memory model; this is not always possible, as in the Permutation problem for example (shown in &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=780589&quot;&gt;Brodal, Faderberg 2003&lt;/a&gt;).  See &lt;a href=&quot;https://cs.uwaterloo.ca/~imunro/cs840/DemaineCache.pdf&quot;&gt;this writeup by Erik Demaine&lt;/a&gt; for a further explanation of cache-oblivious algorithms, including discussions of sorting and matrix multiplication.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We can see that changing $M$ causes a logarithmic speedup for sorting and a polynomial speedup for matrix multiplication.  (This result is originally from &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=802486&quot;&gt;Hong, Kung 1981&lt;/a&gt; and actually predates both cache obliviousness and the formalization of the external memory model). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;My question is this:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there any case where the speedup is exponential in $M$? The running time would be something like $f(N,B)/2^{O(M)}$. I am particularly interested in a cache-oblivious algorithm or data structure that fits this description but would be happy with a cache-aware algorithm/data structure or even a best-known lower bound.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is generally assumed in most models that the word size $w = \Omega(\log N)$ if $N$ is the input size and clearly $M &amp;gt; w$.  Then a speedup of $2^M$ gives a polynomial speedup in $N$.  This makes me believe that if the problem I'm looking for exists, it is not polynomial.  (Otherwise we can change the cache size by a constant to obtain a constant number of I/Os, which seems unlikely).&lt;/p&gt;&#xA;" OwnerUserId="8927" LastEditorUserId="8927" LastEditDate="2013-02-07T20:05:23.360" LastActivityDate="2013-02-10T02:09:00.937" Title="Exponential Speedup in External Memory" Tags="&lt;ds.algorithms&gt;&lt;ds.data-structures&gt;&lt;cache-oblivious&gt;" AnswerCount="2" CommentCount="7" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="16365" PostTypeId="1" AcceptedAnswerId="16366" CreationDate="2013-02-05T01:00:18.233" Score="12" ViewCount="294" Body="&lt;p&gt;Schaefer's dichotomy theorem shows that each CSP problem over $\{0,1\}$ is either solvable in polynomial time or is NP-complete. This applies only for CSP problems of bounded width, excluding SAT and Horn-SAT, for example. General CSP problems of unbounded width may be very difficult (even uncomputable), so let's restrict ourselves to problems which are &quot;natural&quot; and are in NP.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a CSP problem of unbounded width, for each $k$, we can look at the restriction of the problem to clauses of width up to $k$. Schaefer's theorem now applies, and the restricted problem is either in P or NP-complete. If for some $k$, the $k$-restricted problem is NP-complete, then so is the unrestricted problem. The situation is less clear when for all $k$, the $k$-restricted problem is in P.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Schaefer's dichotomy theorem relies on four (or so) different algorithms that solve all the easy cases. Suppose that for a given CSP problem, the $k$-restricted problem is always solvable by algorithm A. It might be the case that algorithm A can be used to solve the unrestricted problem as well. Or it might be that algorithm A isn't polynomial time in the unrestricted case, and then we're ignorant as to the hardness of the problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Has this kind of problem been considered? Are there examples in which we arrive at the &quot;ignorant&quot; spot?&lt;/p&gt;&#xA;" OwnerUserId="40" LastActivityDate="2013-02-05T16:01:14.070" Title="Schaefer's theorem and CSPs of unbounded width" Tags="&lt;cc.complexity-theory&gt;&lt;lo.logic&gt;&lt;csp&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="16366" PostTypeId="2" ParentId="16365" CreationDate="2013-02-05T02:38:52.990" Score="11" Body="&lt;p&gt;I claim that for a “natural Boolean CSP,” if the &lt;i&gt;k&lt;/i&gt;-restricted version is in P for every &lt;i&gt;k&lt;/i&gt;, then the unrestricted version is also in P.  I will define a “natural Boolean CSP” below.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Schaefer%27s_dichotomy_theorem&quot; rel=&quot;noreferrer&quot;&gt;Schaefer’s theorem&lt;/a&gt; states that the Boolean CSP on a finite set &lt;i&gt;S&lt;/i&gt; of relations is in P if at least one of the following conditions is satisfied and it is NP-complete if none of them is satisfied:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Every relation in &lt;i&gt;S&lt;/i&gt; (except for the constant 0) is satisfied by assigning 1 to all its variables.&lt;/li&gt;&#xA;&lt;li&gt;Every relation in &lt;i&gt;S&lt;/i&gt; (except for the constant 0) is satisfied by assigning 0 to all its variables.&lt;/li&gt;&#xA;&lt;li&gt;Every relation in &lt;i&gt;S&lt;/i&gt; is equivalent to a 2-CNF formula.&lt;/li&gt;&#xA;&lt;li&gt;Every relation in &lt;i&gt;S&lt;/i&gt; is equivalent to a Horn-clause formula.&lt;/li&gt;&#xA;&lt;li&gt;Every relation in &lt;i&gt;S&lt;/i&gt; is equivalent to a dual-Horn-clause formula.  (A “dual-Horn-clause formula” means a CNF formula where each clause contains at most one positive literal.)&lt;/li&gt;&#xA;&lt;li&gt;Every relation in &lt;i&gt;S&lt;/i&gt; is equivalent to a conjunction of affine clauses.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Now assume that P≠NP, and consider the case where &lt;i&gt;S&lt;/i&gt; is infinite.  If the &lt;i&gt;k&lt;/i&gt;-restricted version is in P for every &lt;i&gt;k&lt;/i&gt;, then by Schaefer’s theorem, every finite subset of &lt;i&gt;S&lt;/i&gt; satisfies at least one of the six conditions above, and this means that the whole set &lt;i&gt;S&lt;/i&gt; satisfies at least one of the six conditions.  Does this mean that this CSP without the restriction on arity is also in P?  Not yet.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;When &lt;i&gt;S&lt;/i&gt; is infinite, we have to specify how each clause in the input formula is given.  We assume that there is some surjective mapping from {0,1}&lt;sup&gt;*&lt;/sup&gt; to &lt;i&gt;S&lt;/i&gt;, which specifies the encoding of the relations in &lt;i&gt;S&lt;/i&gt;.  A Boolean CSP is specified by giving both &lt;i&gt;S&lt;/i&gt; and this encoding function.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that in each of cases 3, 4, 5, and 6 above, there is a natural way to represent relations satisfying the condition: a 2-CNF formula in case 3, a Horn-clause formula in case 4, and so on.  Even if a relation is equivalent to (say) a 2-CNF formula, there is no a priori guarantee that its encoding gives an easy access to the 2-CNF formula which is equivalent to it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now we say that a Boolean CSP is &lt;em&gt;natural&lt;/em&gt; when its encoding function satisfies the following:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;ul&gt;&#xA;  &lt;li&gt;Given an encoding of a relation and an assignment to all its variables, whether the relation is satisfied or not can be computed in polynomial time.  (Note: This ensures that the CSP in question is always in NP.)&lt;/li&gt;&#xA;  &lt;li&gt;Given an encoding of a relation satisfying condition 3, 4, 5, or 6, its natural representation as specified above can be computed in polynomial time.&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Then it is easy to see that if &lt;i&gt;S&lt;/i&gt; satisfies one of the six conditions above and the encoding for &lt;i&gt;S&lt;/i&gt; satisfies this “naturalness” condition, then we can apply the corresponding algorithm.  The claim which I stated at the beginning can be proved by considering both the case of P=NP and the case of P≠NP.&lt;/p&gt;&#xA;" OwnerUserId="567" LastEditorUserId="567" LastEditDate="2013-02-05T16:01:14.070" LastActivityDate="2013-02-05T16:01:14.070" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16367" PostTypeId="2" ParentId="14999" CreationDate="2013-02-05T08:00:13.420" Score="9" Body="&lt;p&gt;Also in the base: The deletion–contraction algorithm (Zykov, 1949) for computing the number of graph colourings runs in time $O(\phi^{|E|+|V|})$.  This is a very canonical example of how the golden ratio appears from a Fibonacci recurrence for the running time of evaluating a natural recursive formula; I’m sure it’s the oldest. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Mikko Koivisto found a $O(\phi^{|V|})$ algorithm for computing the  number of perfect matchings (IWPEC 2009).&lt;/p&gt;&#xA;" OwnerUserId="5095" LastActivityDate="2013-02-05T08:00:13.420" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16368" PostTypeId="1" CreationDate="2013-02-05T08:28:51.673" Score="5" ViewCount="378" Body="&lt;p&gt;It seems to me that approximating a solution to an NP-hard problem would be especially hard for the functional programmer.  For example, graph problems are commonly NP-hard.  But graphs are notoriously awkward to work with functionally.  This makes me think that problems that can be easily solved in a purely functional sense are somehow easier than those that require state.  This distinction in turn might shed some light on what makes hard problems hard.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, is there any work on purely functional approximation algorithms?  My general impression is that both communities ignore each other.&lt;/p&gt;&#xA;" OwnerUserId="10267" LastActivityDate="2013-02-07T09:17:44.160" Title="Is there any work on purely functional approximation algorithms?" Tags="&lt;reference-request&gt;&lt;approximation-algorithms&gt;&lt;functional-programming&gt;" AnswerCount="1" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="16371" PostTypeId="1" CreationDate="2013-02-05T15:22:41.613" Score="3" ViewCount="476" Body="&lt;p&gt;Given an undirected graph $G=(V,E)$ with non-negative node-weights $\text{w}(v)$, $v \in V$, &#xA;I want to find a spanning tree $T$ of $G$ with minimum &quot;cost&quot; &#xA;$\text{w}(T) = \sum_{v\in V} \deg_T(v)\cdot \text{w}(v)$, where $\deg_T(v)$ is the degree of $v$ in $T$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can this spanning tree problem be solved efficiently?&lt;/p&gt;&#xA;" OwnerUserId="13464" LastActivityDate="2013-02-05T15:22:41.613" Title="Broadcasting in node-weighted graphs" Tags="&lt;graph-algorithms&gt;" AnswerCount="0" CommentCount="3" FavoriteCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16375" PostTypeId="1" AcceptedAnswerId="16381" CreationDate="2013-02-05T19:11:47.663" Score="4" ViewCount="2906" Body="&lt;p&gt;Obviously, regular computers can't generate random numbers on their own, since they're inherently systematic machines. Would quantum computing be able to run a true RNG without a seed based off user input (or any other external variables)?&lt;/p&gt;&#xA;" OwnerUserId="13487" LastEditorUserId="13487" LastEditDate="2013-02-05T21:10:29.387" LastActivityDate="2015-02-06T12:45:12.510" Title="Will quantum computing pave the way for native, true RNGs?" Tags="&lt;quantum-computing&gt;&lt;randomness&gt;" AnswerCount="3" CommentCount="11" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="16377" PostTypeId="2" ParentId="16335" CreationDate="2013-02-05T20:44:22.867" Score="12" Body="&lt;p&gt;There are two problems with tight query complexity $\Theta(n/\log n)$:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.cs.mcgill.ca/~colt2009/papers/004.pdf&quot;&gt;Coin weighing problem with spring scale.&lt;/a&gt; &lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.mpi-inf.mpg.de/~winzen/Mastermind.pdf&quot;&gt;Mastermind with n position and 2 colors.&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="12646" LastActivityDate="2013-02-05T20:44:22.867" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16379" PostTypeId="2" ParentId="15057" CreationDate="2013-02-05T23:45:24.777" Score="3" Body="&lt;p&gt;Recently Vishnoi gave an algorithm which finds TSP tours of length at most $n + O(n/\sqrt{k})$ in a $k$-regular simple graphs (&lt;a href=&quot;http://techtalks.tv/talks/a-permanent-approach-to-the-traveling-salesman-problem/57764/&quot; rel=&quot;nofollow&quot;&gt;talk&lt;/a&gt; &amp;amp; &lt;a href=&quot;http://mybiasedcoin.blogspot.com/2012/11/posts-from-focs-part-3.html&quot; rel=&quot;nofollow&quot;&gt;blog&lt;/a&gt;). The analysis crucially uses the van der Waerden conjecture (aka the Egorychev-Falikman theorem): the permanent of any doubly stochastic $n \times n$ matrix is at least $n!/n^n$. Egorychev and Falikman's proofs used deep results in convex geometry (in particular the Alexandrov-Fenchel inequality). On the other hand, a recent proof by Gurvits uses only elementary complex analysis and is quite a gem (nice &lt;a href=&quot;http://homepages.cwi.nl/~lex/files/monthly903-911-schrijver.pdf&quot; rel=&quot;nofollow&quot;&gt;presentation&lt;/a&gt; by Laurent and Schrijver in the MAA Monthly). Leaving the real line for the complex plane seems essential to Gurvits's proof and simplifies matters a lot. &lt;/p&gt;&#xA;" OwnerUserId="4896" LastActivityDate="2013-02-05T23:45:24.777" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16380" PostTypeId="2" ParentId="16375" CreationDate="2013-02-06T02:36:36.780" Score="10" Body="&lt;p&gt;Yes, quantum computation allows the generation of truly random numbers, and the operations necessary are so simple companies like id Quantique are already selling quantum random number generators. It is even possible to generate random numbers in a way that proves to the person generating them that they are random (via a violation of Bell's inequality) but this does need a short seed for the proof to be complete (though the numbers are random anyway). Unfortunately commercial systems are not that sophisticated just yet, and so produce random numbers in a way that is difficult to test.&lt;/p&gt;&#xA;" OwnerUserId="204" LastActivityDate="2013-02-06T02:36:36.780" CommentCount="10" ContentLicense="CC BY-SA 3.0" />
  <row Id="16381" PostTypeId="2" ParentId="16375" CreationDate="2013-02-06T05:14:54.390" Score="14" Body="&lt;p&gt;Actually, today's computers &lt;em&gt;can&lt;/em&gt; generate truly random data on their own, and many in fact do. The random data is produced as a byproduct of the physics of the components, not as the product of a given algorithm, so it necessarily has to be implemented in hardware. But the hardware is readily available. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The popular &lt;a href=&quot;http://en.wikipedia.org/wiki/Trusted_Platform_Module&quot; rel=&quot;nofollow&quot;&gt;TPM&lt;/a&gt; chip, for example, typically has an embedded &lt;a href=&quot;http://en.wikipedia.org/wiki/TRNG&quot; rel=&quot;nofollow&quot;&gt;TRNG&lt;/a&gt;, as do many security-oriented peripherals, such as some &lt;a href=&quot;http://www.yubico.com/products/yubihsm/&quot; rel=&quot;nofollow&quot;&gt;authentication tokens&lt;/a&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The actual mechanism used to harvest sources of entropy varies by component, but a simple-to-understand mechanism is the analysis of &lt;a href=&quot;http://en.wikipedia.org/wiki/Noise_%28electronics%29#Avalanche_noise&quot; rel=&quot;nofollow&quot;&gt;noise generated&lt;/a&gt; at the &lt;a href=&quot;http://en.wikipedia.org/wiki/Avalanche_breakdown&quot; rel=&quot;nofollow&quot;&gt;avalanche breakdown&lt;/a&gt; of a P-N junction of a diode or transistor. The noise from such a cascade is actually the amplification of the random movement of electrons at the junction - essentially amplifying the randomness of quantum mechanics to the level where it can be read by traditional electronics.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Obviously this isn't the only mechanism you can use to harvest randomness in today's computers, but it's an easy one to understand. In fact it's worth pointing out that the Intel's recent &lt;a href=&quot;http://en.wikipedia.org/wiki/Ivy_Bridge_%28microarchitecture%29&quot; rel=&quot;nofollow&quot;&gt;Ivy Bridge&lt;/a&gt; architecture introduced a new instruction: &lt;strong&gt;RDRAND&lt;/strong&gt;, which yields the output of an on-chip TRNG. IEEE Spectrum has a &lt;a href=&quot;http://spectrum.ieee.org/computing/hardware/behind-intels-new-randomnumber-generator/0&quot; rel=&quot;nofollow&quot;&gt;detailed write-up&lt;/a&gt; of how it works.&lt;/p&gt;&#xA;" OwnerUserId="2934" LastEditorUserId="2934" LastEditDate="2015-02-06T05:28:18.383" LastActivityDate="2015-02-06T05:28:18.383" CommentCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="16383" PostTypeId="1" AcceptedAnswerId="16405" CreationDate="2013-02-06T05:46:17.720" Score="6" ViewCount="373" Body="&lt;p&gt;I was looking for more realistic alternatives to the ROM for describing hash functions in theoretical proofs. I came across the common reference string model (where hash functions can be modeled as having been picked from a family of functions). Are there any other?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT -- To make my question less vague: It seemed to me that the ROM or CRS was not modeling what a hash function is in reality and so proofs of security in the ROM model were problematic (considering all real hash functions are deterministic, keyless, and WILL always have collisions that can be found -- facts ignored by ROM and CRS). So I was looking for alternatives. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;David Cash pointed out the Rogaway paper that deals exactly with the problem I'd been having. His reply below summarizes how the paper deals with this issue -- i.e., by requiring the explicit knowledge of the collision finding algorithm by an adversary.&lt;/p&gt;&#xA;" OwnerUserId="13627" LastEditorUserId="13627" LastEditDate="2013-02-07T20:45:03.130" LastActivityDate="2016-12-05T14:45:39.350" Title="What are alternatives to the random oracle model for modelling hash functions?" Tags="&lt;cr.crypto-security&gt;&lt;hash-function&gt;&lt;random-oracles&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="16384" PostTypeId="2" ParentId="16368" CreationDate="2013-02-06T09:43:39.683" Score="7" Body="&lt;p&gt;I'm consolidating my comments into an answer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First, it is hard to make being &quot;awkward to implement&quot; precise, so an empirical study of program length or development time for a number of approximation algorithms is in order to answer that question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;From a more theoretical viewpoint, every algorithm that can be implemented on a RAM with runtime $f(n)$ can be implemented in a purely functional language with runtime at most $O(\log n * f(n))$. This is because functional languages are turing complete and the simulation of mutable, random access memory via search trees causes logarithmic slowdown. Chris Okasaki's &lt;em&gt;Purely Functional Data Structures&lt;/em&gt; shows how to implement search trees in a functional language.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Nowadays many approximation algorithms are designed for huge datasets and are written in the language of MapReduce or Pregel. This type of algorithm is very easy to translate to functional languages, as these distributed computing paradigms generally avoid stateful computations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As a comment below notes, &lt;a href=&quot;https://stackoverflow.com/questions/6797216/haskell-algorithms-and-school#comment8108763_6797432&quot;&gt;this question&lt;/a&gt; on Stack Overflow is closely related. In particular Edward Kmett &lt;a href=&quot;https://stackoverflow.com/questions/6797216/haskell-algorithms-and-school#comment8108763_6797432&quot;&gt;gives references&lt;/a&gt; that show that under strict evaluation (i.e. not like the lazy evaluation you see in Haskell) there are examples where the logarithmic slowdown is necessary. It seems to be open whether this is also true in lazy settings. &lt;/p&gt;&#xA;" OwnerUserId="12560" LastEditorUserId="-1" LastEditDate="2017-05-23T12:40:09.333" LastActivityDate="2013-02-07T09:17:44.160" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="16385" PostTypeId="1" CreationDate="2013-02-06T11:50:40.413" Score="4" ViewCount="662" Body="&lt;p&gt;How much is known about nondeterministic linear time?  I'm aware that $$ \mathrm{NTIME}(n) \neq \mathrm{DTIME}(n).$$&#xA;Is there an $m &amp;gt; 1$ so that $\mathrm{NTIME}(n) \not\subset \mathrm{DTIME}(n^m)$?  Are there any arguments that $\mathrm{NTIME}(n) \subset \mathrm{P}$ should be unlikely?  &lt;/p&gt;&#xA;" OwnerUserId="6665" LastEditorUserId="6665" LastEditDate="2013-02-06T12:06:58.113" LastActivityDate="2013-02-06T12:06:58.113" Title="Nondeterministic linear time vs. the deterministic time hierarchy" Tags="&lt;cc.complexity-theory&gt;&lt;time-complexity&gt;&lt;nondeterminism&gt;" AnswerCount="0" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16386" PostTypeId="1" CreationDate="2013-02-06T12:06:01.793" Score="3" ViewCount="584" Body="&lt;p&gt;A Turning machine with insertion and deletion operations can be simulated by an ordinary Turing machine with a quadratic time cost.  Do we know how insertion and deletion fit into the polynomial time hierarchy though?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In particular, does anyone know a quadratic single-tape Turing machine that cannot be simulated by a linear time single-tape Turing machine with insertion and deletion?  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I've gathered that separation results are often more powerful, and maybe easier to prove, for the nondeterministic time hierarchy.  Is that perhaps an easier place to attack this?  If so, that's great because I'm ultimately most interested in rewrite systems anyways. &lt;/p&gt;&#xA;" OwnerUserId="6665" LastActivityDate="2013-02-06T12:06:01.793" Title="Insertion and deletion operations for Turing machines" Tags="&lt;time-complexity&gt;&lt;turing-machines&gt;&lt;term-rewriting-systems&gt;" AnswerCount="0" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="16387" PostTypeId="1" CreationDate="2013-02-06T17:39:05.447" Score="7" ViewCount="921" Body="&lt;p&gt;I would like to know if the following problem has already been studied, and if so how is it called. In particular I'm interested in approximability results.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Input:&lt;/strong&gt; A complete graph G with non-negative integer weights on edges and an integer $K\ge 2$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Output:&lt;/strong&gt; A $K$-partition $P=\{P_1, ..., P_K\}$ of $V(G)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Measure (to maximize):&lt;/strong&gt; The sum of the weights for the edges with both endpoints in the same set of $P$, i.e.:&lt;br&gt;&#xA;$$&#xA;M(P)=\sum_{i=1}^k \sum_{u,v\in P_i} w\left( u,v \right)&#xA;$$&#xA;where $w$ is the edge-weight function.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks in advance for any suggestion.&lt;/p&gt;&#xA;" OwnerUserId="13635" LastEditorUserId="13635" LastEditDate="2013-02-06T17:59:51.223" LastActivityDate="2013-12-26T01:27:10.880" Title="K-Clustering of a Graph maximizing intra-cluster weights?" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;approximation-algorithms&gt;&lt;clustering&gt;&lt;partition-problem&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="16388" PostTypeId="2" ParentId="16278" CreationDate="2013-02-06T20:23:54.233" Score="5" Body="&lt;p&gt;this paper by Yves Bertot, Benjamin Gr´egoire, and Xavier Leroy builds an optimizing compiler for a C-like language based purely on the Coq specification.  some of this technology is apparently utilized in the &lt;a href=&quot;http://compcert.inria.fr/&quot; rel=&quot;nofollow noreferrer&quot;&gt;CompCert C compiler&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://gallium.inria.fr/~xleroy/publi/proofs_dataflow_optimizations.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;A structured approach to proving compiler&#xA;optimizations based on dataflow analysis&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;it considers the correctness of two optimizations, constant propagation (CP) and common subexpression elimination (CSE), section 4. these optimizations are more advanced than those that are associated with the non Coq-based compiler(s) for the same language. see eg this &lt;a href=&quot;http://compcert.inria.fr/compcert-C.html#perfs&quot; rel=&quot;nofollow noreferrer&quot;&gt;benchmark chart&lt;/a&gt; compared to gcc. (the Coq-based compiler is presumably &lt;em&gt;slower&lt;/em&gt; to compile although this is rarely mentioned!) &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;An original aspect of ConCert is that most of the compiler is written directly&#xA;  in the Coq specification language, in a purely functional style. The executable&#xA;  compiler is obtained by automatic extraction of Caml code from this specification.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;however at the end of the paper they do note that there are some compiler optimizations in real compilers that cant be modelled in their framework.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;improved optimization is not the only element of consideration here, another aspect is that compiler optimization logic can be subject to subtle defects esp due to its complex nature. over the years gcc has been found to have bugs in its numerous optimization logic routines. eg &lt;a href=&quot;https://stackoverflow.com/questions/83962/do-i-have-a-gcc-optimization-bug-or-a-c-code-problem&quot;&gt;gcc bug?&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="-1" LastEditDate="2017-05-23T12:40:09.333" LastActivityDate="2013-02-06T21:09:16.157" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16391" PostTypeId="1" AcceptedAnswerId="16399" CreationDate="2013-02-07T00:43:11.840" Score="2" ViewCount="910" Body="&lt;p&gt;I'd like to take an undirected graph and express it (meaning all of its edges) using only cliques (ideally minimizing their sum cardinality).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's clear that actually finding the minimum solution is at least as hard as the set-cover problem, but set-cover has good approximation algorithms.&#xA;Does anyone know a good approximation algorithm for this?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Particularly, if I start with each edge as its own clique and then arbitrarily choose two cliques from my list (whose union also forms a clique) and merge them and do this over and over until I can't merge any more, what's the worst case (as a ratio / the minimal solution)? Is there some heuristic I should use to determine what to merge next?&lt;/p&gt;&#xA;" OwnerUserId="13643" LastEditorUserId="13643" LastEditDate="2013-02-07T00:50:29.247" LastActivityDate="2013-02-07T12:10:19.260" Title="How to approximate minimum clique edge cover" Tags="&lt;graph-algorithms&gt;&lt;approximation-algorithms&gt;&lt;set-cover&gt;&lt;clique&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16392" PostTypeId="2" ParentId="16335" CreationDate="2013-02-07T01:22:19.157" Score="2" Body="&lt;p&gt;Finding the prime factors of n by trial division when the list of primes is already given.  There are $\theta(\frac{n}{\log(n)})$ primes less than n so if these primes are given to you, then trial division of n by each of them takes $\theta(\frac{n}{\log(n)})$ time (assuming division is a constant-time operation)&lt;/p&gt;&#xA;" OwnerUserId="13643" LastActivityDate="2013-02-07T01:22:19.157" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16395" PostTypeId="2" ParentId="1198" CreationDate="2013-02-07T07:51:22.210" Score="6" Body="&lt;p&gt;General audience talk by Michael Sipser about $\mathsf{P}$ vs. $\mathsf{NP}$:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Michael Sipser, &lt;a href=&quot;http://claymath.msri.org/sipser2006.mov&quot;&gt;&quot;Beyond Computation: The P vs NP Problem&quot;&lt;/a&gt;, &lt;a href=&quot;http://www.claymath.org/public_lectures/&quot;&gt;CMI Public Lecture&lt;/a&gt;, 2006.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also available on &lt;a href=&quot;https://www.youtube.com/watch?v=msp2y_Y5MLE&quot;&gt;youtube&lt;/a&gt;. &lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2013-02-07T08:00:34.563" LastActivityDate="2013-02-07T08:00:34.563" CommentCount="0" CommunityOwnedDate="2013-02-07T07:51:22.210" ContentLicense="CC BY-SA 3.0" />
  <row Id="16396" PostTypeId="2" ParentId="4559" CreationDate="2013-02-07T09:50:33.003" Score="0" Body="&lt;p&gt;If I understood your question correctly, then Valiant's seminal paper &quot;&lt;a href=&quot;http://www.cse.iitk.ac.in/users/chitti/thesis/references/valiant.pdf&quot; rel=&quot;nofollow&quot;&gt;A theory of the learnable&lt;/a&gt;&quot; (Communications of the ACM 27(11), 1134-1142) defines a model you are looking for, if you exclude queries to ORACLE and stick with EXAMPLE (which provides the learner with a positive instance; however, see details of the definition in the paper). I believe it was only afterwards that this model got transformed into PAC with both positive and negative instances returned by such an oracle. (Note that, e.g., the algorithm for learning k-CNF defined in this paper does not use ORACLE, only EXAMPLE.)&lt;/p&gt;&#xA;" OwnerUserId="13649" LastActivityDate="2013-02-07T09:50:33.003" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16398" PostTypeId="2" ParentId="16258" CreationDate="2013-02-07T12:01:42.723" Score="5" Body="&lt;p&gt;For the Boolean n-cube $(\{0, 1\}^n, \leq)$ (or, equivalently, for the poset $(2^S, \subseteq)$ of all subsets of an n-element set), the answer is given by Korobkov and Hansel's theorems (from 1963 and 1966, respectively). Hansel's theorem [1] states that an unknown monotone Boolean function (i.e., an unknown monotone predicate on this poset) can be learned by a deterministic algorithm making at most $\phi(n) = \binom{n}{\lfloor n/2 \rfloor} + \binom{n}{\lfloor n/2 \rfloor + 1}$ queries (that is, asking $\phi(n)$ questions in the worst case). This algorithm matches the lower bound of Korobkov's theorem [2], which says that $\phi(n) - 1$ queries do not suffice. (So Hansel's algorithm is optimal in the worst-case setting.) An algorithm in both statements is understood as a deterministic decision tree.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The logarithm of the number of antichains in $(\{0, 1\}^n, \le)$ is asymptotically equal to $\binom{n}{\lfloor n/2 \rfloor} \sim 2^n / \sqrt{\pi n / 2}$, so there is a constant-factor gap between $\log N_X$ and the optimal algorithm performance $\phi(n) \sim 2 \binom{n}{\lfloor n/2 \rfloor}$ for this poset.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Unfortunately, I have not been able to find a good treatment of Hansel's algorithm in English available on the web. It is based on a lemma that partitions the n-cube into&#xA;$\phi(n)$ chains with special properties. Some description can be found in [3]. For the lower bound, I don't know any reference to a description in English.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since I am familiar with these results, I can post a description on arXiv, if the treatment in Kovalerchuk's paper does not suffice.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If am not much mistaken, there have been attempts to generalize Hansel's approach, at least to the poset $(E_k^n, \le)$, where $(E_k, \le)$ is a chain $0 &amp;lt; 1 &amp;lt; \ldots &amp;lt; k - 1$, although I cannot give any reference straight away. For the Boolean case, people have also investigated notions of complexity other than worst-case for this problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] G. Hansel, Sur le nombre des fonctions booléennes monotones de n variables. C. R. Acad. Sci. Paris, 262(20), 1088-1090 (1966)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] V. K. Korobkov. Estimation of the number of monotonic functions of the algebra of logic and of the complexity of the algorithm for finding the resolvent set for an arbitrary monotonic function of the algebra of logic. Soviet Math. Doklady 4, 753-756 (1963) (translation from Russian)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[3] B. Kovalerchuk, E. Triantaphyllou, A. S. Deshpande, E. Vityaev. Interactive learning of monotone Boolean functions. Information Sciences 94(1), 87-118 (1996) (&lt;a href=&quot;http://bit.csc.lsu.edu/trianta/Journal_PAPERS1/InteractLearnMonotBooleanFunctionsByTrianta1.pdf&quot;&gt;link&lt;/a&gt;)&lt;/p&gt;&#xA;" OwnerUserId="13649" LastActivityDate="2013-02-07T12:01:42.723" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="16399" PostTypeId="2" ParentId="16391" CreationDate="2013-02-07T12:10:19.260" Score="2" Body="&lt;p&gt;Here is a paper that deals with this problem:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;John M. Ennis, Charles M. Fayle, and Daniel M. Ennis: &lt;a href=&quot;http://dx.doi.org/10.1145/2133803.2275596&quot; rel=&quot;nofollow&quot;&gt;Assignment-minimum clique coverings&lt;/a&gt;. Journal of Experimental Algorithmics 17(1), 2012.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It also gives some heuristics and experimental results. They don't give worst-case approximation ratios; minimizing the number of cliques instead of the sum of their sizes has only fairly weak approximation guarantees, so I guess it would be similar here.&lt;/p&gt;&#xA;" OwnerUserId="251" LastActivityDate="2013-02-07T12:10:19.260" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16401" PostTypeId="1" AcceptedAnswerId="16403" CreationDate="2013-02-07T13:55:19.677" Score="21" ViewCount="556" Body="&lt;p&gt;Let &lt;a href=&quot;https://complexityzoo.uwaterloo.ca/Complexity_Zoo%3aR#reg&quot;&gt;$\mathsf{REG}$&lt;/a&gt; be the class of all regular languages. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is known $\mathsf{AC}^0 \not\subset \mathsf{REG}$ and $\mathsf{REG} \not\subset \mathsf{AC}^0$. But is there any characterization for languages in $\mathsf{AC}^0 \cap \mathsf{REG}$?&lt;/p&gt;&#xA;" OwnerUserId="10564" LastEditorUserId="80" LastEditDate="2013-02-07T17:33:47.077" LastActivityDate="2013-10-03T11:25:20.503" Title="Relation between $AC^0$ and regular languages" Tags="&lt;circuit-complexity&gt;&lt;regular-language&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="16403" PostTypeId="2" ParentId="16401" CreationDate="2013-02-07T15:54:15.157" Score="24" Body="&lt;p&gt;The following paper seems to contain an answer:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Mix Barrington, D. A., Compton, K., Straubing, H., Therien, D.: Regular languages in $\mathsf{NC}^1$. Journal of Computer and System Sciences 44(3), 478-499 (1992) (&lt;a href=&quot;http://deepblue.lib.umich.edu/bitstream/2027.42/30017/1/0000385.pdf&quot;&gt;link&lt;/a&gt;)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One of the characterizations obtained there is as follows. The class $\mathsf{REG} \cap \mathsf{AC}^0 \subset \{0, 1\}^*$ contains exactly those languages that can be obtained from $\{0\}$, $\{1\}$ and $\mathsf{LENGTH}(q)$ for $q &amp;gt; 1$ with a finite number of Boolean operations and concatenations. Here every language $\mathsf{LENGTH}(q)$ contains all strings whose length is divisible by $q$. (There is also a logical characterization and two algebraic ones.)&lt;/p&gt;&#xA;" OwnerUserId="13649" LastEditorUserId="13649" LastEditDate="2013-02-08T08:44:50.450" LastActivityDate="2013-02-08T08:44:50.450" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="16404" PostTypeId="1" CreationDate="2013-02-07T16:23:42.490" Score="1" ViewCount="1622" Body="&lt;p&gt;I am not a computer scientist so please bear with me if this is a naive question.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Take any graph, pick a set S of vertices (by some criteria or random).&lt;/li&gt;&#xA;&lt;li&gt;Find two vertices in set S with the most/least number of common neighbors.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;This feels like a &quot;hard&quot; problem to write an efficient algorithm for, because if set S has n vertices, I might need to make n choose 2 or n(n-1)/2 comparisons. I am hoping to do this &quot;efficiently&quot; in terms of time complexity.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a similar problem in computer science that has been studied, which I can look up in textbooks or research papers?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit - Additional Info&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Many thanks to the two comments. I should add that I am looking for non-matrix multiplication methods because I am working with a large dataset in a sparse graph format like edgelist or compressed sparse row.&lt;/p&gt;&#xA;" OwnerUserId="13651" LastEditorUserId="13651" LastEditDate="2013-02-07T21:10:47.970" LastActivityDate="2013-02-07T21:10:47.970" Title="Finding two vertices with the most/least common neighbors" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;time-complexity&gt;" AnswerCount="0" CommentCount="5" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="16405" PostTypeId="2" ParentId="16383" CreationDate="2013-02-07T19:58:11.593" Score="9" Body="&lt;p&gt;(I am interpreting this question in the following way due to the comments.)  In implementations of cryptographic systems, hash functions like the SHA-256 are defined by a deterministic algorithm mapping arbitrary-length bit-strings to some fixed-length bit-strings.  This situation is troublesome for formal analyses (reductions) of these systems because, when modeled in the straightforward way, there is no obvious way to &quot;assume&quot; some important security notions like collision-resistance for such functions.  To be explicit, we might take a function $H:\{0,1\}^* \rightarrow \{0,1\}^{256}$ and say that&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;$H$ is &lt;em&gt;collision-resistant&lt;/em&gt; if no probabilistic poly-time algorithm outputs distinct $x,y$ such that $H(x) = H(y)$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Under this definition, no function $H$ is collision resistant:  By the pigeon-hole principle such an $x,y$ exists, and there also exists a constant-time algorithm that outputs them.  (We're leaving aside the additional problem that &quot;probabilistic poly-time&quot; is ill-defined here.)  Most modifications of the definition, like asking for long $x,y$ or something, are unsatisfying.  Let me mention also that some properties are (I believe) achievable, such as when the $x$ is chosen at random and the adversary has to find a $y$ that collides.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But if one models the hash as a &lt;em&gt;keyed&lt;/em&gt; function that take an additional key input, then these security notions can be plausibly assumed to be achieved.  Thus we often give security reductions where a keyed hash function is used and random hash key is chosen in the model.  Though this is incongruous with reality, it seems fine.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To better address this disparity, Rogaway in &lt;a href=&quot;http://www.cs.ucdavis.edu/~rogaway/papers/ignorance.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;suggested&lt;/a&gt; that we forget about the formal assumption per se and instead focusing on the existence of an explicit reduction to doing something with the hash function.  This is exploiting the fact that we apparently don't &quot;know&quot; of an algorithm finding collisions in SHA-256, even though there is a &quot;constant-time&quot; algorithm for doing exactly that.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By the way, the random oracle model generally addresses a different issue:  sometimes we don't have any way to reduce security to any reasonable property of our (keyed or keyless) hash function, so we instead analyze the system in a model where the evaluations of the hash are replaced by evaluations of a random oracle (which everyone can access).  Incidentally, doing this also makes the hash appear to be keyless and thus superficially &quot;closer to reality,&quot; but this is in fact not the case:  Now the &lt;em&gt;entire function&lt;/em&gt; has become the key, and indeed an exponentially long key.&lt;/p&gt;&#xA;" OwnerUserId="12654" LastEditorUserId="-1" LastEditDate="2016-12-05T14:45:39.350" LastActivityDate="2016-12-05T14:45:39.350" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="16406" PostTypeId="1" CreationDate="2013-02-08T01:04:14.697" Score="3" ViewCount="289" Body="&lt;p&gt;I ran across the following simple-to-state problem involving selection of a subset of columns simultaneously for a number of matrices. I suspect it might be well known, though I can't seem to place it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The input is a set $A^1,\ldots,A^m \in {\mathbb R}^{n \times n}$ of $n\times n$ real-valued matrices. A feasible solution is a set of columns $S \subseteq \{1,\ldots,n\}$.  The value of $S$ is the sum, over all matrices $A^k$, of the maximum sum of a row of $A^k$ when restricted to columns $S$. Formally, &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$ val(S) = \sum_{k=1}^m \max_{i=1}^n A^k_i \cdot 1_S,$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where $A^k_i$ denotes the i'th row of matrix $A^k$, $\cdot$ denotes dot product, and $1_S$ denotes the $\{0,1\}$ vector with a 1 in columns corresponding to S. The objective is to find a set of columns $S$ maximizing $val(S)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is this problem well known? What is known about the polynomial-time solvability or approximability of this problem? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is what I know. Observe that this problem is trivial when the matrices all have nonnegative entries --- here picking S to be all columns is optimal. The problem is also trivial when the input consists of a single matrix --- simply try all rows and select all positive entries in the row. Therefore, this problem is interesting only when the input consists of many matrices, and the matrices have both positive and negative entries. A (simple though nontrivial) reduction from max-cut shows that this problem is NP-hard, and UGC-hard to (multiplicatively) approximate better than the Goemans-Williamson constant. Beyond that, I don't know much else.&lt;/p&gt;&#xA;" OwnerUserId="2945" LastEditorUserId="2945" LastEditDate="2013-02-08T01:09:33.070" LastActivityDate="2013-02-08T05:57:21.750" Title="What is this matrix column-selection problem, and how hard is it to approximate?" Tags="&lt;approximation-algorithms&gt;&lt;linear-algebra&gt;&lt;matrices&gt;&lt;max-cut&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16408" PostTypeId="2" ParentId="16406" CreationDate="2013-02-08T05:49:54.390" Score="4" Body="&lt;p&gt;After more thought, I found a simple approximation-preserving reduction from independent set, showing that this problem is hard to approximate better than $n^{0.5}$. Here it is.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider a graph $G=(V,E)$ with n vertices. Construct the following matrices, with columns indexing the vertices.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;For each vertex $v$, construct a matrix with the top row containing a 1 in column v, and a 0 elsewhere. All remaining rows are filled with $-\infty$.&lt;/li&gt;&#xA;&lt;li&gt;For each edge $e=(u,v) \in E$, construct a matrix with the first row with $-\infty$ at $u$ and $0$ elsewhere, and the second row with $-\infty$ at $v$ and $0$ elsewhere. All remaining rows are filled with $-\infty$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The matrices corresponding to edges penalize choosing two adjacent vertices in the graph by $-\infty$, essentially enforcing that the selected set of columns is an independent set of vertices. The matrices corresponding to vertices add one to the objective value for each column selected (i.e. for each vertex included in the independent set). Consequently, $val(S)$ is $-\infty$ for all non-independent sets S, and |S| for all independent sets S. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This shows that the maximum of val(S) is as hard to approximate as the maximum cardinality of an independent set, as needed.&lt;/p&gt;&#xA;" OwnerUserId="2945" LastEditorUserId="2945" LastEditDate="2013-02-08T05:57:21.750" LastActivityDate="2013-02-08T05:57:21.750" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16410" PostTypeId="2" ParentId="16300" CreationDate="2013-02-08T13:10:38.743" Score="3" Body="&lt;p&gt;I've been struggling for long with two similar problems and you are just referring to the combination of them: finding the best $K$ solutions and the Target-Value search problem. Since you are asking for algorithms, let me give you the best bib references I am aware of.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First, let me reformulate the second problem:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a graph $G(V,E)$ and a couple of vertices $s\in V$ and $t\in V$ find the simple path $P^*$ whose cost is as close as possible to a given value $k$, i.e., if $P_{s-t}$ denotes the set of all (simple) paths from $s$ to $t$ and $g(P)$ is the cost of a path which is defined as the sum of the cost of all of its edges, then $P^* = argmin_{\pi\in P_{s-t}} \{|c(\pi)-k|\}$ &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This problem is known as the &lt;strong&gt;Target-Value search problem&lt;/strong&gt; and was originally introduced in &lt;a href=&quot;http://www.uwosh.edu/faculty_staff/furcyd/search_symposium_2008/schedule.html&quot; rel=&quot;nofollow&quot;&gt;Lukas Kuhn, Tim Schmidt, Bob Price, Johan de Kleeer, Rong Zhou and Minh Do, Heuristic Search for Target-Value Path Problem&lt;/a&gt;. In case a path actually exists with a cost equal to $k$ then it simplifies to your problem. Note that while in the definition I said &quot;simple paths&quot; between parenthesis, the work cited above refers only to Directed Acyclic Graphs so that all paths are necessarily simple. Unfortunately, I am not aware of any generalization of this algorithm to Undirected (cyclic) graphs. An improvement over that paper was provided by much the same authors in &lt;a href=&quot;http://search-conference.org/index.php/Main/SOCS09program&quot; rel=&quot;nofollow&quot;&gt;Tim Schmidt, Lukas Kuhn, Bob Price, Johan de Kleer and Rong Zhou, A depth-first approach to target-value search&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A different problem consists of computing the best $K$ solutions. This problem can not be solved with an A$^*$-like search algorithm because duplicate detection avoids re-expanding nodes while the second best solution might require going through the same node already considered in the best solution. One of the most influential works for this problem is &lt;a href=&quot;http://www.google.es/url?sa=t&amp;amp;rct=j&amp;amp;q=&amp;amp;esrc=s&amp;amp;source=web&amp;amp;cd=1&amp;amp;cad=rja&amp;amp;ved=0CDIQFjAA&amp;amp;url=http%3A%2F%2Fpdf.aminer.org%2F001%2F059%2F121%2Ffinding_the_k_shortest_paths.pdf&amp;amp;ei=JvgUUfm_L4y4hAfg_oHAAg&amp;amp;usg=AFQjCNEsuG-9fK1d-yiXNgVzTYhZ1DkJgQ&amp;amp;sig2=XHLRShYlFK5n3zvLLGxxlQ&amp;amp;bvm=bv.42080656,d.ZG4&quot; rel=&quot;nofollow&quot;&gt;David Eppstein, Finding the $k$ Shortest Paths&lt;/a&gt;. A recent contribution of the same problem is &lt;a href=&quot;http://www.citeulike.org/user/ima/article/9630555&quot; rel=&quot;nofollow&quot;&gt;Husain Aljazzar, Stefan Leue, K$^*$: A heuristic search algorithm for finding the $k$ shortest paths&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, how to combine these two problems is an unknown so that if you have any ideas ... :)&lt;/p&gt;&#xA;" OwnerUserId="6242" LastActivityDate="2013-02-08T13:10:38.743" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16411" PostTypeId="2" ParentId="16361" CreationDate="2013-02-08T18:25:55.630" Score="8" Body="&lt;p&gt;Aside from the cycle graph, I think a nontrivial class of graphs with $\Omega(n^2)$ &#xA;distinct min cuts are cactuses. A &lt;em&gt;cactus&lt;/em&gt;  is a connected graph in which every block (a maximal 2-connected subgraph) is a chordless cycle. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT&lt;/strong&gt;: In case the considered cactus has $n$ nodes and $b$ blocks of order $n_1, n_2, \ldots, n_b$, the number of min cuts is $\Omega\left(\sum_{i=1}^b n_i^2\right)$. &#xA;As $\sum_{i=1}^b n_i^2 \ge \frac{1}{b} n^2$, the number of min cuts is $\Omega(n^2)$, &#xA;&lt;em&gt;provided&lt;/em&gt; the number of blocks $b$ is bounded.&lt;/p&gt;&#xA;" OwnerUserId="13136" LastEditorUserId="13136" LastEditDate="2013-02-09T14:16:16.293" LastActivityDate="2013-02-09T14:16:16.293" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="16412" PostTypeId="2" ParentId="16364" CreationDate="2013-02-08T22:18:38.023" Score="3" Body="&lt;p&gt;I am not sure I understood the question.  But it seems to me that under the assumption that $PSPACE$ contains problems requiring exponential time, such problems would fulfill your requirements, since if $M$ is $O(\log N)$ you would need an exponential number of I/O operations (since you can't &quot;stay&quot; in the same memory block of size $O( \log N)$ more than a polynomial number of steps without going into a cycle) and if $M=N$ you would only need a linear number of I/O operations. Also, concerning your observation that such a problem cannot belong to $P$, it is correct if the speedup must hold for values of $M$ that are $\Omega(N)$ (since it would mean we have an exponential number of operations). But if the speedup only applies to smaller values of $M$, intuitively I believe this is not true, because I feel it should be possible to design a problem that is in fact the concatenation of smaller problems of size $O(\log N)$ each requiring exponential time in its own size, and an exponential number of I/O operations (that is, $poly (N)$, since $poly(N)$ is exponential in $O(\log N)$). In practice I believe $PSPACE$-complete problems such as $TQBF$ fulfill your condition.&lt;/p&gt;&#xA;" OwnerUserId="8477" LastActivityDate="2013-02-08T22:18:38.023" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="16414" PostTypeId="1" AcceptedAnswerId="16418" CreationDate="2013-02-09T09:20:49.353" Score="9" ViewCount="723" Body="&lt;p&gt;I'm confused. I want to prove that that the problem of sorting a $n$ by $n$ matrix i.e. the rows and columns are in ascending order is $\Omega(n^2\log n)$.&#xA;I proceed by assuming that it can be done faster than $n^2\log n$ and try to violate the $\log(m!)$&#xA;lower bound for comparisons needed to sort m elements.&#xA;I have two conflicting answers:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;we can get a sorted list of the $n^2$ elements from the sorted matrix in $O(n^2)$&#xA;&lt;a href=&quot;https://math.stackexchange.com/questions/298191/lower-bound-for-matrix-sorting/298199?iemail=1#298199&quot;&gt;https://math.stackexchange.com/questions/298191/lower-bound-for-matrix-sorting/298199?iemail=1#298199&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;you can't get a sorted list from the matrix faster than $Ω(n^2\log(n))$&#xA;&lt;a href=&quot;https://stackoverflow.com/questions/4279524/how-to-sort-a-m-x-n-matrix-which-has-all-its-m-rows-sorted-and-n-columns-sorted&quot;&gt;https://stackoverflow.com/questions/4279524/how-to-sort-a-m-x-n-matrix-which-has-all-its-m-rows-sorted-and-n-columns-sorted&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Which one is right?&lt;/p&gt;&#xA;" OwnerUserId="13678" LastEditorUserId="-1" LastEditDate="2017-05-23T12:40:09.333" LastActivityDate="2013-02-10T04:21:39.783" Title="Can we get a sorted list from a sorted matrix in $O(n^2)$" Tags="&lt;time-complexity&gt;&lt;lower-bounds&gt;&lt;matrices&gt;&lt;sorting&gt;&lt;asymptotics&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="16417" PostTypeId="1" CreationDate="2013-02-09T15:04:42.737" Score="-1" ViewCount="2152" Body="&lt;p&gt;The classical problem in Ramsey theory is the party problem, which asks the minimum number of guests  that must be invited so that at least &lt;code&gt;m&lt;/code&gt; will know each other (i.e., there exists a clique of order &lt;code&gt;m&lt;/code&gt;) or at least &lt;code&gt;n&lt;/code&gt; will not know each other (i.e., there exists an independent set of order &lt;code&gt;n&lt;/code&gt;). Here, &lt;code&gt;R(m,n)&lt;/code&gt; is called a Ramsey number.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See on &lt;a href=&quot;http://mathworld.wolfram.com/RamseyTheory.html&quot; rel=&quot;nofollow&quot;&gt;Wolfram MathWorld&lt;/a&gt; or &lt;a href=&quot;http://en.wikipedia.org/wiki/Theorem_on_friends_and_strangers&quot; rel=&quot;nofollow&quot;&gt;wikipedia&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There seems to be a slew of research in the field. What are some real world applications? For example, I read in one place that circuit/network routing would be a good one. But how why is that? Does anyone know of any other real world applications?&lt;/p&gt;&#xA;" OwnerUserId="13683" LastActivityDate="2013-02-09T22:29:54.313" Title="Real world applications of Ramsey Theory concerning friends and strangers" Tags="&lt;graph-theory&gt;" AnswerCount="1" CommentCount="1" ClosedDate="2013-02-10T06:26:32.540" ContentLicense="CC BY-SA 3.0" />
  <row Id="16418" PostTypeId="2" ParentId="16414" CreationDate="2013-02-09T16:21:17.517" Score="15" Body="&lt;p&gt;The lower bound is correct (2) - you can not do this better than $\Omega(n^2 \log n)$ and (1) is of course wrong. Lets us first define what is a sorted matrix - it is a matrix where the elements in each row and column are sorted in increasing order.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is now easy to verify that each diagonal might contains elements that are in any arbitrary order - you just need to make them sufficiently large. In particular, sorting the matrix implies sorting each one of these diagonals. The $i$th diagonal has $i$ entries, and as such $i!$ possible ordering. As such, a sorted matrix could define at least $X = \prod_{i=1}^n i!$  different orderings. It is now easy to verify that $\log_2 X = \Omega(n^2 \log n)$,  implying that in the comparison model (and as Jeff points out below, in any binary decision tree model) at least this is a lower bound on the sorting time.&lt;/p&gt;&#xA;" OwnerUserId="9594" LastEditorUserId="9594" LastEditDate="2013-02-10T04:21:39.783" LastActivityDate="2013-02-10T04:21:39.783" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16421" PostTypeId="2" ParentId="16417" CreationDate="2013-02-09T22:29:54.313" Score="2" Body="&lt;p&gt;A course I'm currently taking from Bill Gasarch is called: Ramsey Theory and Its 'Applications' -- the quotes are in the official course title. Interpret that as you wish. &gt;_&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is a link to the course website (with lecture notes): &lt;a href=&quot;http://www.cs.umd.edu/~gasarch/858/S13/S13.html&quot; rel=&quot;nofollow&quot;&gt;http://www.cs.umd.edu/~gasarch/858/S13/S13.html&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is a link to Bill's &quot;Apps of Ramsey Theory&quot; page: &lt;a href=&quot;http://www.cs.umd.edu/~gasarch/ramsey/ramsey.html&quot; rel=&quot;nofollow&quot;&gt;http://www.cs.umd.edu/~gasarch/ramsey/ramsey.html&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The latter link is very likely the most complete collection of information for the question you're asking.&lt;/p&gt;&#xA;" OwnerUserId="108" LastActivityDate="2013-02-09T22:29:54.313" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="16422" PostTypeId="2" ParentId="15057" CreationDate="2013-02-10T02:00:28.583" Score="5" Body="&lt;p&gt;Fresh from the oven:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://front.math.ucdavis.edu/1302.1515&quot;&gt;A Polynomial Time Algorithm for Lossy Population Recovery&lt;/a&gt;&#xA;By: Ankur Moitra, Michael Saks&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Quoting from the paper: &quot;Here we will prove the uncertainty principle stated in the previous section using tools from complex analysis. Perhaps one of the most useful theorems in understanding the rate of growth of holomorphic functions in the complex plane is Hadamard’s Three Circle Theorem...&quot;&lt;/p&gt;&#xA;" OwnerUserId="712" LastActivityDate="2013-02-10T02:00:28.583" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="16423" PostTypeId="2" ParentId="16364" CreationDate="2013-02-10T02:03:04.843" Score="-4" Body="&lt;p&gt;this question appears to veer into &lt;em&gt;terra incognita&lt;/em&gt; ie unexplored territory. after some thinking &amp;amp; review here are some thoughts/ideas on this apparently very difficult/subtle question which hopefully will be intelligent but are not meant to be definitive.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Demain who you cite writes, &quot;the principle idea [of cache oblivious algorithms] is simple: design external-memory algorithms without knowing $B$ and $M$. But this simple idea has several surprisingly powerful consequences.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;it also appears to have surprisingly subtle implications. it appears hard to analyze this model for extremal behavior and it appears nobody has done this so far. there are some surveys and they seem to survey the entire field so far. this is not surprising given the field is only ~1 decade old.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;the model does not appear to have been translated to Turing machines yet where more strict/formal/theoretical/general/standard analysis may be possible. the whole concept of Big-Oh notation and its implications and intuitions such as irrelevance of constants is not necessarily automatically carrying in this area of cache oblivious algorithms. for example the model already seems to be working with constants $B,M$ which measure exact memory sizes. it appears the field does not have a set of basic axioms of its dynamics so far.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;TMs were invented in 1936 by Turing and the Hartmanis-Stearns &lt;a href=&quot;http://en.wikipedia.org/wiki/Time_hierarchy_theorem&quot; rel=&quot;nofollow noreferrer&quot;&gt;time/space hierarchy theorems&lt;/a&gt; (which you are somewhat alluding to in this question) were discovered in 1965. thats a remarkable ~3 &lt;em&gt;decades&lt;/em&gt; yet the time/space hierarchy theorems are now considered somewhat elementary and taught in undergraduate classes. there does not seem to be corresponding hierarchy theorems established in this model yet, and how to do that is not a trivial problem. this model actually seems to have more &quot;moving parts&quot; than the standard Turing machine (which already has a rather fiendishly complex dynamics), ie is like an augmented Turing machine.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;another idea is to convert this external memory model to TMs somehow, which again does not appear to show up in the literature/surveys on cache oblivious algorithms, and maybe see how the Hartmanis-Stearns hierarchy theorems could translate. it appears to relate to a two tape TM where one tape is size 'M' and the other tape is infinite, and blocks are transferred to 'M' in sizes of 'B'. but also, a difficulty here is it is more of a RAM model than the Turing model which uses sequential access to the tape. on the other hand this could run into subtleties associated with &lt;a href=&quot;https://cstheory.stackexchange.com/questions/10990/why-do-we-use-single-tape-turing-machines-for-time-complexity&quot;&gt;conversions between single and multitape TMs&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;suggest attacking this problem empirically with simulations which is where the literature tends to focus on eg as in this great survey by Kumar on &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.150.5426&quot; rel=&quot;nofollow noreferrer&quot;&gt;Cache oblivious algorithms&lt;/a&gt; (2003). there are many programs and papers online for cache simulations and one could possibly answer your question without a large amount of code, using some simplifications. one basic idea is to create probabilistic algorithms which access &quot;nearby&quot; areas of memory based on probabilities. &quot;nearby&quot; here is not necessarily contiguous memory, but instead an algorithm that selects random memory pages (blocks) based on keeping track of its own most recently accessed pages. suggest using &lt;a href=&quot;http://en.wikipedia.org/wiki/Power_law&quot; rel=&quot;nofollow noreferrer&quot;&gt;power laws&lt;/a&gt; to determine the probability of selecting &quot;near&quot; pages in the &quot;most recently accessed&quot; list. this appears to be the key aspect that cache-based performance improvements are related to.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;heres a rough argument based on 'M' which is basically a measure of &quot;core memory&quot; versus disk memory. for an algorithm, one would expect as core memory increases, one only comes close [asymptotically] to a linear improvement in algorithmic speed, and adding &quot;core memory&quot; to get any super-linear increase in algorithm speed seems intuitively almost like exceeding the speed limit and &quot;getting something for nothing&quot;. however, dont grasp the model well enough to prove this [but apparently no one else has either, including the authorities/founders/experts].&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;this cache-oblivious algorithm literature has focused on P algorithms and did not see any case at all of an analysis of a non-P algorithm so far and perhaps none exists. this could possibly be because the analysis is too difficult! in which case, questions about extremal behavior may go unanswered in this field in the long term.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;it does not even seem intuitively clear, or possibly at all studied yet, about how &quot;small&quot; complexity algorithms such as in L, or &quot;big&quot; algorithms such as non-P (eg Expspace etc) behave in this model. the model is measuring memory locality, which seems to be fundamentally different, but intertwined with, time and space hierarchies.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;there is a somewhat obscure measurement of Turing machine complexity called &quot;reversal complexity&quot; with some study, results, and papers that might be related. basically the TM can cover a certain amount of time and space, but reversals are a somewhat independent measurement of the tape head during the computation. it seems that &quot;high reversals&quot; might be related to &quot;high memory locality&quot; because in both cases the tape head is tending to stay in a &quot;smaller&quot; region versus moving into larger regions.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;this question and model reminds me of &lt;a href=&quot;http://en.wikipedia.org/wiki/Amdahl&amp;#39;s_law&quot; rel=&quot;nofollow noreferrer&quot;&gt;Amdahls law&lt;/a&gt; and suspect some kind of yet-undiscovered similar law related to diminishing returns or balances/tradeoffs might hold or be applicable in this area. rough reasoning: cache oblivious algorithm theory is looking at a balance/tradeoff between a finite &quot;local&quot; memory and a cost-based external &quot;infinite&quot; disk. this is basically two resources that behave &quot;in parallel&quot; and there is likely some kind of optimal tradeoff between them.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2013-02-10T02:09:00.937" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="16426" PostTypeId="1" CreationDate="2013-02-10T08:47:01.360" Score="10" ViewCount="264" Body="&lt;p&gt;Is there a known family of &lt;a href=&quot;http://en.wikipedia.org/wiki/Group_action#Definition&quot; rel=&quot;noreferrer&quot;&gt;group actions&lt;/a&gt; with a designated element&#xA;&lt;br&gt;&#xA;in the set that is being acted on, where it is known how to efficiently&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\:$ sample (essentially uniformly) from the groups, compute the inverse operations,&#xA;&lt;br&gt;&#xA;$\:$ compute the group operations, and compute the group actions&lt;/p&gt;&#xA;&#xA;&lt;p&gt;and there is no known efficient quantum algorithm&#xA;&lt;br&gt;&#xA;for succeeding with non-negligible probability in&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\:$ given as inputs the index of a group action and the result of&#xA;&lt;br&gt;&#xA;$\:$ a sampled group element acting on the designated element,&#xA;&lt;br&gt;&#xA;$\:$ find a group element whose action on the designated element is the second input&lt;/p&gt;&#xA;&#xA;&lt;p&gt;?&#xA;&lt;br&gt;&lt;br&gt;&lt;br&gt;&#xA;As far as I am aware, those provide the only known constructions of non-interactive statistically hiding commitments in which knowledge of a trapdoor enables efficient and undetectable equivocation, a property that is useful for zero knowledge protocols and adaptive security.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any family of one-way group homomorphisms with the first three properties (from the third and fourth lines of this post) can be converted into such a thing by having the domains act on the codomains via $\: \langle a,b\rangle \mapsto h(a)\cdot b \:$, $\:$ with the identity elements as the distinguished elements.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A restricted version of the &lt;a href=&quot;http://en.wikipedia.org/wiki/Commitment_scheme#A_perfectly_binding_scheme_based_on_the_discrete_log_problem&quot; rel=&quot;noreferrer&quot;&gt;Pedersen commitment scheme&lt;/a&gt; can be obtained as a special case of applying the above conversion to the group exponential homomorphism, whose one-wayness is equivalent to the hardness of the discrete logarithm problem, although that is not hard for quantum algorithms.  (See &lt;a href=&quot;http://en.wikipedia.org/wiki/Shor%27s_algorithm#Discrete_logarithms&quot; rel=&quot;noreferrer&quot;&gt;Shor's algorithm&lt;/a&gt; and that page's section on discrete logarithm.)&lt;/p&gt;&#xA;" OwnerDisplayName="user6973" LastEditorDisplayName="user6973" LastEditDate="2013-02-11T19:11:52.090" LastActivityDate="2018-09-24T14:13:22.233" Title="Is there a candidate for a post-quantum one-way group action?" Tags="&lt;cr.crypto-security&gt;&lt;quantum-computing&gt;&lt;gr.group-theory&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="16428" PostTypeId="1" AcceptedAnswerId="16429" CreationDate="2013-02-10T09:58:27.197" Score="21" ViewCount="1952" Body="&lt;p&gt;&lt;strong&gt;Background:&lt;/strong&gt;&#xA;Let $u, v$ be two vertices of an undirected graph $G=(V,E)$.&#xA;A vertex set $S\subseteq V$ is a $u,v$-separator if $u$ and $v$&#xA;belong to different connected components of $G-S$. If no proper&#xA;subset of a $u,v$-separator $S$ is a $u,v$-separator then $S$ is&#xA;a minimal $u,v$-separator. A vertex set $S\subseteq V$ is a (minimal)&#xA;separator if there exist vertices $u, v$ such that $S$ is a (minimal)&#xA;$u,v$-separator.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A well-known theorem of G. Dirac states that a graph has no induced&#xA;cycles of length at least four (called triangulated or chordal graph)&#xA;if and only if every of its minimal separators is a clique.&#xA;It is also well-known that triangulated graphs can be recognized&#xA;in polynomial time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;My questions:&lt;/strong&gt; What are graphs in which every minimal separator is an independent set?&#xA;Are these graphs studied?  And what is the recognition complexity of&#xA;these graphs? &#xA;Examples for such graphs include trees and cycles. &lt;/p&gt;&#xA;" OwnerUserId="13667" LastActivityDate="2014-03-25T18:49:55.537" Title="Graphs in which every minimal separator is an independent set" Tags="&lt;reference-request&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;" AnswerCount="3" CommentCount="0" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="16429" PostTypeId="2" ParentId="16428" CreationDate="2013-02-10T10:21:40.927" Score="21" Body="&lt;p&gt;Your graphs have been characterized by this paper &lt;a href=&quot;http://arxiv.org/pdf/1103.2913.pdf&quot;&gt;http://arxiv.org/pdf/1103.2913.pdf&lt;/a&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit: In the paper above it is proved that graphs in which every minimal separator is an independent set are exactly those containing no cycle with exactly one chord.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Graphs containing no cycle with exactly one chord have been studied in depth by &#xA;Trotignon and Vuskovic, &lt;em&gt;A Structure Theorem for Graphs with No Cycle with a Unique Chord and Its Consequences&lt;/em&gt;,  J. Graph Theory 63 (2010) 31-67 &lt;a href=&quot;http://onlinelibrary.wiley.com/doi/10.1002/jgt.20405/abstract;jsessionid=43C5C8DC2BBC4E0A2092C3114D7FC454.d04t04&quot;&gt;DOI&lt;/a&gt;. &#xA;As a result of this paper, these graphs can be recognized in polynomial time. (However, this paper did not point out the connection to independent minimal separators!)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit&lt;/strong&gt; (17 Sept 2013): Very recently (see &lt;a href=&quot;http://www.worldscientific.com/doi/abs/10.1142/S1793830913500158?journalCode=dmaa&amp;amp;&quot;&gt;here&lt;/a&gt;), &#xA;Terry Mckee describes all graphs in which every minimal vertex separator is a clique or an independent set. It turns out that these are the ''edge sums'' of chordal graphs and graphs in which every minimal vertex separator is an independent set.&lt;/p&gt;&#xA;" OwnerUserId="13136" LastEditorUserId="13136" LastEditDate="2013-09-17T16:23:57.823" LastActivityDate="2013-09-17T16:23:57.823" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16431" PostTypeId="2" ParentId="4375" CreationDate="2013-02-10T16:44:13.643" Score="1" Body="&lt;p&gt;this important paper [1] by Toby Walsh is related to the the SAT transition as measured in the clause/variable ratio. however it goes further in measuring a property called &lt;em&gt;constrainedness&lt;/em&gt;, $\kappa$. its a rough or maybe natural measure of hardness such that overconstrained or underconstrained problems are easier than constrainedness at a critical intermediate point. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;it finds an apparent &lt;a href=&quot;http://en.wikipedia.org/wiki/Fractal&quot; rel=&quot;nofollow&quot;&gt;fractal&lt;/a&gt; &lt;a href=&quot;http://en.wikipedia.org/wiki/Self_similarity&quot; rel=&quot;nofollow&quot;&gt;self-similarity&lt;/a&gt; structure of hard instances wrt the constrainedess parameter such that as a &lt;a href=&quot;http://en.wikipedia.org/wiki/DPLL_algorithm&quot; rel=&quot;nofollow&quot;&gt;DP(LL)&lt;/a&gt; solver during search tends to find subproblems with the same critical constrainedness no matter which variable is chosen next to branch on. there is some further analysis of fractal structure in SAT instances (such as &lt;a href=&quot;http://en.wikipedia.org/wiki/Hausdorff_dimension&quot; rel=&quot;nofollow&quot;&gt;Hausdorff dimension&lt;/a&gt; of SAT formulas &amp;amp; connection to hardness) in eg [2,3]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;another somewhat interrelated line of inquiry here is the relationship of &lt;a href=&quot;http://en.wikipedia.org/wiki/Small-world_network&quot; rel=&quot;nofollow&quot;&gt;small world&lt;/a&gt; graphs to (hard) SAT structure eg [4,5]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;of course the standard point in this area applies that a very definitive answer to this question would be inherently close to a &lt;a href=&quot;http://en.wikipedia.org/wiki/P_versus_NP_problem&quot; rel=&quot;nofollow&quot;&gt;P$\stackrel{?}{=}$NP&lt;/a&gt; proof, or that such a proof would (will?) be the best/near-final answer to the question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.2.3267&quot; rel=&quot;nofollow&quot;&gt;The constrainedness knife edge&lt;/a&gt; by Toby Walsh 1998&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] &lt;a href=&quot;http://tianjia.wikispaces.com/file/view/kSAT.pdf&quot; rel=&quot;nofollow&quot;&gt;SELF-SIMILARITY OF SATISFIABLE BOOLEAN EXPRESSIONS DECIPHERED IN TERMS OF GRAPH DIRECTED ITERATED FUNCTION SYSTEMS&lt;/a&gt; by Ni and Wen&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[3] &lt;a href=&quot;http://www.satisfiability.org/SAT04/programme/117.pdf&quot; rel=&quot;nofollow&quot;&gt;Visualizing the Internal Structure of SAT Instances (Preliminary Report)&lt;/a&gt; Sinz&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[4] &lt;a href=&quot;http://www.cse.unsw.edu.au/~twalsh/wijcai99.pdf&quot; rel=&quot;nofollow&quot;&gt;Search in a small world&lt;/a&gt; by Walsh 1999&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[5] &lt;a href=&quot;http://users.cecs.anu.edu.au/~andrews/papers/slater_ai02.pdf&quot; rel=&quot;nofollow&quot;&gt;Modelling more realistic SAT problems&lt;/a&gt; by Slater 2002&lt;/p&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2013-02-10T16:44:13.643" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="16435" PostTypeId="1" AcceptedAnswerId="16448" CreationDate="2013-02-10T21:59:11.867" Score="4" ViewCount="576" Body="&lt;p&gt;Given any Integer Linear Program (ILP) there are 2 ways to approximate it:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Write down ILP, convert to LP by relaxing the integer constraints and round the solution&lt;/li&gt;&#xA;&lt;li&gt;Write down the ILP, convert to LP by relaxing the integer constraints, write it's dual and solve it&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Why is the second approach considered 'better'? What makes it the preferred way of approximating the solution to an ILP? What is that #2 has that #1 doesn't?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In Vazirani's Approximation Algorithms book he approximates &lt;strong&gt;set cover&lt;/strong&gt; using both of the methods above, but I'm unable to discern the underlying concept of choosing #2 over #1? What &quot;IS&quot; the intuitive 'aha' to help me understand this?&lt;/p&gt;&#xA;" OwnerUserId="7014" LastEditorUserId="7014" LastEditDate="2013-02-11T21:56:29.400" LastActivityDate="2013-02-12T05:57:19.957" Title="LP Approximation: Primal relaxation + rounding vs. Dual relaxation. Why is the latter better?" Tags="&lt;approximation-algorithms&gt;&lt;linear-programming&gt;&lt;primal-dual&gt;" AnswerCount="1" CommentCount="14" ContentLicense="CC BY-SA 3.0" />
  <row Id="16436" PostTypeId="1" CreationDate="2013-02-11T00:11:12.460" Score="-2" ViewCount="301" Body="&lt;p&gt;I am looking to write a research paper for an undergraduate class in security.&#xA;I'd like to explore the details of a security attack that's happened within the last ~15 years (within the last 5 years is better).  This topic really interests me but I'm having trouble finding a suitable topic.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What attacks can you recommend?  Good candidates would be attacks that:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Are well documented (lots of technical details), including which vulnerabilities were exploited and great detail about how the attack was done&lt;/li&gt;&#xA;&lt;li&gt;Have the attack's code that can be analysed on github or made public&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Edit: I was going to pick the topic of the Playstation network DDoS by Anonymous, but that topic has already been selected by another student.&lt;/p&gt;&#xA;" OwnerUserId="13704" LastEditorUserId="186" LastEditDate="2013-02-11T05:47:43.190" LastActivityDate="2013-02-11T05:47:43.190" Title="Good exploit to explore for an undergraduate research paper" Tags="&lt;soft-question&gt;&lt;security&gt;&lt;project-topic&gt;" AnswerCount="1" CommentCount="2" ClosedDate="2013-02-11T05:48:18.307" ContentLicense="CC BY-SA 3.0" />
  <row Id="16438" PostTypeId="2" ParentId="16436" CreationDate="2013-02-11T04:15:08.957" Score="1" Body="&lt;p&gt;How about the de-anonymization of the Netflix Prize dataset?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&quot;Robust De-anonymization of Large Sparse Datasets&quot;&#xA;by Arvind Narayanan and Vitaly Shmatikov&#xA;&lt;a href=&quot;https://www.cs.utexas.edu/~shmat/shmat_oak08netflix.pdf&quot; rel=&quot;nofollow&quot;&gt;https://www.cs.utexas.edu/~shmat/shmat_oak08netflix.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's ~5 years old, it's got a strong theory element to it, it's been implemented, and it's /sexy/ -- because Netflix.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's possible that understanding (and perhaps coding up) the algorithms in the paper would be enough for an undergraduate course project on its own. It's also open-ended enough of an idea that you could really do a lot of different things with it, depending on your particular tastes.&lt;/p&gt;&#xA;" OwnerUserId="108" LastActivityDate="2013-02-11T04:15:08.957" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16439" PostTypeId="1" AcceptedAnswerId="16444" CreationDate="2013-02-11T08:16:34.337" Score="4" ViewCount="380" Body="&lt;p&gt;I've got an idea for indexing multidimensional data. I haven't been able to find anything equivalent and am wondering if it is indeed a novel approach.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The idea is a 'stacked' &lt;a href=&quot;http://en.wikipedia.org/wiki/B+_tree&quot; rel=&quot;nofollow&quot;&gt;B+ tree&lt;/a&gt; implementation where the leaf nodes contain both the dimension data and a pointer to the next dimension. Each dimension is in itself a B+ tree. It is similar to how &lt;a href=&quot;http://en.wikipedia.org/wiki/Range_tree&quot; rel=&quot;nofollow&quot;&gt;Range Trees&lt;/a&gt; link/point to the next dimension. However, it is different from a Range Tree by using a B+ tree instead of a straight binary search tree.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, the elements in each B+ tree layer are unique and are stored with the number of records belonging to each leaf value.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I believe the search complexity would be $(\sum_{i=0}^{d-1} \log _{B} \text{card}(n^{i})) + k$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Where $\log _{B}$ comes from the branching factor of the B+ tree, $\text{card}(n^{i})$ is the number of unique elements stored for each dimension and $d$ is the number of dimensions stored. $k$ is simply the number of elements returned.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Has anyone written / designed a similar search algorithm before?&lt;/p&gt;&#xA;" OwnerUserId="13707" LastEditorUserId="13707" LastEditDate="2013-02-11T20:21:13.287" LastActivityDate="2013-03-18T08:51:22.557" Title="Multidimensional B+ tree" Tags="&lt;ds.data-structures&gt;&lt;tree&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16441" PostTypeId="1" CreationDate="2013-02-11T11:56:21.467" Score="3" ViewCount="629" Body="&lt;p&gt;Expectation Propagation(EP) is now quite a standard technique to approximate marginal in graphical model. Moreover, EP can replace sum-product algorithm in factor graph. For this reason, I try to understand it by using very simple model but because of my limitation of knowledge, the result could not be reached. So would you please revise my progress to show me my errors?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My problem is simple. $x_1$ is the variable which is followed Gaussian distribution with the mean $\alpha$ and variance $\beta$. $x_2$ is the variable which satisfies $x_1 = x_2$. So the factor graph can be represented by &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Gaussian ---$x_1$ ---- $f(x_1, x_2) $--- $x_2$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;f is the factor function in factor graph and it is Dirac delta function. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$f(x_1, x_2) = \delta(x_1 - x_2)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Based on the properties of factor graph, we have:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$p(x_1, x_2) = g(x_1) f(x_1, x_2)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;with $g(x_1)$ is the Gaussian distribution. When we take the integral over the variable $x_1$ of $p(x_1, x_2)$, we get that the marginal of $x_2$ is the Gaussian distribution with the same parameters with $x_1$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, I want to use EP technique to solve this problem. First of all, I will separate $f$ here like in Tom Minka's thesis&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Gaussian ----- $x_1$ ------ $\tilde{f}_1(x_1)$  $\tilde{f}_2(x_2)$ ----- $x_2$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, I want to find the function $q(x)$ that is&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$q(x_1, x_2) = g(x_1) \tilde{f}_1(x_1) \tilde{f}_2(x_2)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$q$ is the approximate function of $p(x_1, x_2)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I want to refine the function $\tilde{f}(x_1, x_2) = \tilde{f}_1(x_1)\tilde{f}_2(x_2)$, environment without $f$ is calculated&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$q^{\f}(x_1, x_2) = g(x_1)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;so&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\hat{p}(x_1, x_2) = q^{\f}(x_1, x_2) f(x_1, x_2) = g(x_1) f(x_1, x_2)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\hat{p}(x_1) = g(x_1) \int_{x_2} f(x_1, x_2) dx_2$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\hat{p}(x_2) = \int_{x_1} f(x_1, x_2) dx_1$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$q^{new} (x_1, x_2) = \hat{p}(x_1) \hat{p}(x_2)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;then&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\tilde{f}(x_1, x_2) = \frac{q^{new}(x_1, x_2)}{q^{\f}} = \int_{x_1} f(x_1, x_2) dx_1 \int_{x_2} f(x_1, x_2) dx_2$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;so&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\tilde{f}_1(x_1) = \int_{x_2} f(x_1, x_2) dx_2$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\tilde{f}_2(x_2) = \int_{x_1} f(x_1, x_2) dx_1$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then I guess $\tilde{f}_1$ and $\tilde{f}_2$ are convergence, so&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$q(x_1, x_2) = g(x_1) \int_{x_1} f(x_1, x_2) dx_1 \int_{x_2} f(x_1, x_2) dx_2$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hence, I get stuck at this point. Would you please show me, what wrong did I do?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thank you and looking forward to seeing your helps&lt;/p&gt;&#xA;" OwnerUserId="13709" LastActivityDate="2013-11-07T02:58:11.187" Title="Applying Expectation Propagation to Factor Graph" Tags="&lt;machine-learning&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16442" PostTypeId="1" CreationDate="2013-02-11T14:06:12.987" Score="8" ViewCount="480" Body="&lt;p&gt;In &lt;a href=&quot;http://www.cs.ucla.edu/~rafail/PUBLIC/17.pdf&quot; rel=&quot;nofollow&quot;&gt;this paper&lt;/a&gt;, the authors mention that it is possible to get an $o(n^2)$-time algorithm for &lt;a href=&quot;http://www.wisdom.weizmann.ac.il/~naor/PUZZLES/nuts_solution.html&quot; rel=&quot;nofollow&quot;&gt;the nuts and bolts problem&lt;/a&gt; by choosing samples based on a projective plane. They also mention that a non-constructive $O(n^{1.5}\log n)$-time algorithm can be obtained (pages 2-3). They omit the details. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am interested in understanding these approaches, although they are not optimal. Could someone please provide the details of how this is done? &lt;/p&gt;&#xA;" OwnerUserId="13252" LastEditorUserId="111" LastEditDate="2013-02-12T22:16:27.480" LastActivityDate="2013-02-12T22:16:27.480" Title="Nuts and Bolts problem: Simpler $o(n^2)$ algorithm" Tags="&lt;ds.algorithms&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="16443" PostTypeId="1" AcceptedAnswerId="16460" CreationDate="2013-02-11T15:56:45.397" Score="12" ViewCount="624" Body="&lt;p&gt;Consider a circuit that takes as inputs numbers in $[0,1]$, and has gates that consist of the functions $\max(x, y)$, $\min(x, y)$, $1 - x$, and $\frac{x+y}{2}$.&#xA;The output of the circuit is then also a number in $[0,1]$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does anyone know if this model, or a closely related model, has been studied? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Specifically, I'm trying to solve the satisfiability problem for this circuit, namely computing the maximum value that can be attained by this circuit (it indeed attains a maximum, as it represents a continuous function in a compact domain).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Remark: my study of this model is via weighted temporal logics, so any models that relate to the latter might also come in handy.&lt;/p&gt;&#xA;" OwnerUserId="7531" LastEditorUserId="4193" LastEditDate="2013-02-11T20:24:19.190" LastActivityDate="2013-02-13T21:20:21.847" Title="Arithmetic circuits with $\min$, $\max$, and average over $[0,1]$" Tags="&lt;arithmetic-circuits&gt;" AnswerCount="3" CommentCount="19" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="16444" PostTypeId="2" ParentId="16439" CreationDate="2013-02-11T17:01:22.737" Score="13" Body="&lt;p&gt;No, this is not new; range searching with multilevel B-trees is completely standard.  See, for example, the following surveys:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Lars Arge.&#xA;&lt;a href=&quot;http://www.daimi.au.dk/~large/Paperpages/dshandbook02.htm&quot;&gt;External memory data structures&lt;/a&gt;.  &lt;em&gt;Handbook of Massive Data Sets&lt;/em&gt; (James Abello, Panos M. Pardalos, and Mauricio G. C. Resende, eds.), 313-357.  Kluwer Academic Publishers, 2002.  &lt;strong&gt;&lt;em&gt;See especially sections 5 and 6.&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Jeffrey Scott Vitter.  &lt;a href=&quot;http://www.nowpublishers.com/product.aspx?product=TCS&amp;amp;doi=0400000014&quot;&gt;Algorithms and data structures for external memory&lt;/a&gt;.&#xA;&lt;em&gt;Foundations and Trends in Theoretical Computer Science&lt;/em&gt; 2(4): 305–474, 2008. &#xA;&lt;strong&gt;&lt;em&gt;See especially section 12.&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="111" LastActivityDate="2013-02-11T17:01:22.737" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16445" PostTypeId="2" ParentId="14953" CreationDate="2013-02-11T23:51:11.523" Score="6" Body="&lt;p&gt;There is a new 58 page paper (32 refs) accepted to STOC 2013,&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;a href=&quot;http://arxiv.org/pdf/1212.1682v1.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Going after the k-SAT threshold&lt;/a&gt; by Coja-Oghlan and Konstantinos Panagiotou&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;that surveys and advances the area of determining the precise k-SAT threshhold, building especially from results borrowed from statistical physics. From the abstract:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Here we develop a new asymmetric second&#xA;  moment method that allows us to tackle this issue head on for the first time in the theory of random CSPs. This&#xA;  technique enables us to compute the k-SAT threshold up to an additive &lt;span class=&quot;math-container&quot;&gt;$\ln 2 − {1 \over 2}&#xA; +O(1/k) \approx 0.19$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Coja-Oghlan, Amin; Panagiotou, Konstantinos&lt;/em&gt;, &lt;a href=&quot;http://dx.doi.org/10.1145/2488608.2488698&quot; rel=&quot;nofollow noreferrer&quot;&gt;&lt;strong&gt;Going after the &lt;span class=&quot;math-container&quot;&gt;$k$&lt;/span&gt;-SAT threshold&lt;/strong&gt;&lt;/a&gt;, Proceedings of the 45th annual ACM symposium on theory of computing, STOC ’13. Palo Alto, CA, USA, June 1--4, 2013. New York, NY: Association for Computing Machinery (ACM) (ISBN 978-1-4503-2029-0). 705-714 (2013). &lt;a href=&quot;https://zbmath.org/?q=an:1293.68164&quot; rel=&quot;nofollow noreferrer&quot;&gt;ZBL1293.68164&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="6579" LastEditDate="2019-03-26T21:09:04.540" LastActivityDate="2019-03-26T21:09:04.540" CommentCount="0" ContentLicense="CC BY-SA 4.0" />
  <row Id="16446" PostTypeId="2" ParentId="16335" CreationDate="2013-02-12T00:53:57.103" Score="-2" Body="&lt;p&gt;somewhat similar to JG's answer &amp;amp; &quot;thinking outside the box&quot;, this seems like a related/relevant/apropos/fundamental &lt;em&gt;negative&lt;/em&gt; result. based on diagonalization with a universal TM, there exists a $O(f(n))$ DTIME language that cannot run in $O\left({f(n)\over{\log f(n)}}\right)$ DTIME, due to the &lt;a href=&quot;http://en.wikipedia.org/wiki/Time_hierarchy_theorem&quot; rel=&quot;nofollow&quot;&gt;time hierarchy theorem&lt;/a&gt;. so this applies to a linear DTIME algorithm that exists, $f(n)=n$, that runs impossibly in $O\left(n \over {\log n} \right)$ DTIME.&lt;/p&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="7884" LastEditDate="2013-02-12T02:13:48.653" LastActivityDate="2013-02-12T02:13:48.653" CommentCount="10" ContentLicense="CC BY-SA 3.0" />
  <row Id="16447" PostTypeId="1" AcceptedAnswerId="16469" CreationDate="2013-02-12T04:36:19.700" Score="12" ViewCount="677" Body="&lt;p&gt;On &lt;a href=&quot;https://cs.stackexchange.com/questions/9648/what-use-are-groups-monoids-and-rings-in-database-computations&quot;&gt;cs.stackexchange&lt;/a&gt; I asked about the &lt;a href=&quot;https://github.com/twitter/algebird&quot; rel=&quot;nofollow noreferrer&quot;&gt;algebird&lt;/a&gt; scala library on github, speculating on why they might need an abstract algebra package.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The github page has some clues:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Implementations of Monoids for interesting approximation algorithms,&#xA;  such as Bloom filter, HyperLogLog and CountMinSketch. These allow you&#xA;  to think of these sophisticated operations like you might numbers, and&#xA;  add them up in hadoop or online to produce powerful statistics and&#xA;  analytics.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;and in another part of the GitHub page:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;It was originally developed as part of Scalding's Matrix API, where&#xA;  Matrices had values which are elements of Monoids, Groups, or Rings.&#xA;  Subsequently, it was clear that the code had broader application&#xA;  within Scalding and on other projects within Twitter.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Even Oskar Boykin of Twitter chimed in:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;The main answer is that by exploiting semi-group structure, we can&#xA;  build systems that parallelize correctly without knowing the&#xA;  underlying operation (the user is promising associativity).&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;By using Monoids, we can take advantage of sparsity (we deal with a&#xA;  lot of sparse matrices, where almost all values are a zero in some&#xA;  Monoid).&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;By using Rings, we can do matrix multiplication over things other than&#xA;  numbers (which on occasion we have done).&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;The algebird project itself (as well as the issue history) pretty&#xA;  clearly explains what is going on here: we are building a lot of&#xA;  algorithms for aggregation of large data sets, and leveraging the&#xA;  structure of the operations gives us a win on the systems side (which&#xA;  is usually the pain point when trying to productionize algorithms on&#xA;  1000s of nodes).&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;Solve the systems problems once for any Semigroup/Monoid/Group/Ring,&#xA;  and then you can plug in any algorithm without having to think about&#xA;  Memcache, Hadoop, Storm, etc...&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;How are &lt;code&gt;Bloom filters&lt;/code&gt; / &lt;code&gt;hyperloglog&lt;/code&gt; / &lt;code&gt;countminsketch&lt;/code&gt; like numbers?&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;How is it that database aggregations have a monoidal structure?&lt;br&gt;&#xA;What does this monoid look like?  Do they ever have group structure?&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Literature references would be helpful.&lt;/p&gt;&#xA;" OwnerUserId="11012" LastEditorUserId="-1" LastEditDate="2017-04-13T12:48:30.830" LastActivityDate="2018-10-09T20:47:59.633" Title="How do database aggregations form a monoid?" Tags="&lt;soft-question&gt;&lt;machine-learning&gt;&lt;linear-algebra&gt;&lt;db.databases&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="16448" PostTypeId="2" ParentId="16435" CreationDate="2013-02-12T05:57:19.957" Score="4" Body="&lt;p&gt;If one uses an ILP formulation and its LP relaxation then clearly it does not hurt to look at the dual. In many cases the dual helps to understand/interpret the lower/upper bound that the relaxations give. This can be exploited algorithmically in a direct fashion, or some times indirectly to provide intuition. Several classical combinatorial optimization results are based on min-max results where duality based analysis/interpretation is very direct and useful. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Making the comment an answer based on Suresh's suggestion.&lt;/p&gt;&#xA;" OwnerUserId="176" LastActivityDate="2013-02-12T05:57:19.957" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="16451" PostTypeId="2" ParentId="16335" CreationDate="2013-02-12T22:33:33.400" Score="7" Body="&lt;p&gt;$\Theta(n/\log n)$ appears as the correct bound for a problem considered by Greg and Paul Valiant (no connection to bit tricks):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Gregory Valiant, and Paul Valiant, The power of linear estimators, 2011. &#xA;In the 52nd Annual IEEE Symposium on the Foundations of Computer Science, FOCS 2011. &lt;/p&gt;&#xA;" OwnerUserId="1810" LastActivityDate="2013-02-12T22:33:33.400" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16452" PostTypeId="2" ParentId="15057" CreationDate="2013-02-12T22:39:31.023" Score="5" Body="&lt;p&gt;In Section A.4 of this paper we use complex analysis, which leads us to a derandomization of Indyk's algorithm for $\ell_p$ estimation in data streams ($0 &amp;lt; p &amp;lt; 2$) that provides optimal space guarantees:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Daniel M. Kane, Jelani Nelson, David P. Woodruff. On the Exact Space Complexity of Sketching and Streaming Small Norms. SODA 2010.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can get away with writing a proof that doesn't mention complex analysis explicitly (see the first bullet in the &quot;notes&quot; section for that paper on my webpage), but even that proof has complex analysis lurking under the covers.&lt;/p&gt;&#xA;" OwnerUserId="1810" LastActivityDate="2013-02-12T22:39:31.023" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16455" PostTypeId="2" ParentId="12868" CreationDate="2013-02-13T09:31:20.317" Score="2" Body="&lt;p&gt;If I understand your model correctly, then it's enough for you that all runs either get stuck in accepting states, or get stuck in non-accepting states.&#xA;If this is the case, you can also use deterministic weak Buchi automata, which are more expressive than $satefy\cup co-safety$.&lt;/p&gt;&#xA;" OwnerUserId="7531" LastEditorUserId="7531" LastEditDate="2013-02-13T21:16:56.977" LastActivityDate="2013-02-13T21:16:56.977" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16457" PostTypeId="2" ParentId="16443" CreationDate="2013-02-13T13:56:03.917" Score="1" Body="&lt;p&gt;Not exactly what you asked for, but a context in which similar circuits appear.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you remove the gate $1-x$ (which is not even mentioned in the title!) then what you get is a monotone arithmetic circuit. The classical monotone circuit lower bounds of Razborov have been extended to monotone arithmetic circuits (with the same results) by Pavel Pudlák, &lt;a href=&quot;http://www.math.cas.cz/~pudlak/interpol.ps&quot; rel=&quot;nofollow&quot;&gt;Lower bounds for resolution and cutting planes proofs&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="40" LastActivityDate="2013-02-13T13:56:03.917" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16459" PostTypeId="2" ParentId="16443" CreationDate="2013-02-13T19:05:52.760" Score="4" Body="&lt;p&gt;This problem is NP-hard.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can get 3-SAT with the gates &lt;em&gt;min&lt;/em&gt;(&lt;i&gt;x&lt;/i&gt;,&lt;em&gt;y&lt;/em&gt;), &lt;em&gt;max&lt;/em&gt;(&lt;i&gt;x,y&lt;/i&gt;) and 1&amp;minus;&lt;em&gt;x&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What we want is to reduce a 3-SAT problem to a circuit for which you can get 1 if all the variables are satisfiable, and you can only achieve something strictly less than 1 otherwise.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We can force all the variables to be either 0 or 1 by taking a minimum of a lot of expressions, and make these expressions include &lt;em&gt;max&lt;/em&gt;(&lt;i&gt;x&lt;/i&gt;,1&amp;minus;&lt;i&gt;x&lt;/i&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now for every clause in the 3-SAT problem &lt;em&gt;x&lt;/em&gt;&amp;vee;&lt;em&gt;y&lt;/em&gt;&amp;vee;&lt;em&gt;z&lt;/em&gt;, we put the expression &lt;em&gt;max&lt;/em&gt;(&lt;i&gt;x&lt;/i&gt;,&lt;em&gt;y&lt;/em&gt;,&lt;i&gt;z&lt;/i&gt;) in the minimum.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I don't know what the optimal value is for a non-satisfiable 3-SAT problem, but it will be strictly less than 1. &lt;/p&gt;&#xA;" OwnerUserId="1677" LastActivityDate="2013-02-13T19:05:52.760" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16460" PostTypeId="2" ParentId="16443" CreationDate="2013-02-13T21:20:21.847" Score="12" Body="&lt;p&gt;The satisfiability problem for these circuits  (i.e., given a circuit $C$ and $u\in[0,1]$, decide whether there is an input $x$ such that $C(x)\ge u$) is in NP, and therefore NP-complete by Neal Young’s comment and Peter Shor’s answer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We can construct a nondeterministic reduction of the problem to linear programming in the following way. Let $\{a_i:i&amp;lt;m\}$ be all nodes of $C$ that are min or max gates (here $m\le n$, where $n$ is the size of the circuit), and let $b_i$ and $c_i$ be the input nodes of gate $a_i$. For every $i&amp;lt;m$, choose one of the two additional constraints $b_i\le c_i$ or $c_i\le b_i$ (there are $2^m$ possible choices in total). When such a choice is fixed, we can simplify the circuit by replacing each $a_i$ with $b_i$ or $c_i$ as appropriate, and the resulting circuit can be described by a system of $n$ linear equations whose variables are the original input variables of the circuit, and additional variables corresponding to nodes of the circuit.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We also include $m$ inequalities stating that the extra constraints are satisfied, inequalities bounding the original input variables to $[0,1]$, and an inequality stating that the output node has value $\ge u$. Then this is a linear program of size $O(n)$ depending on the choice of the extra constraints, and the circuit attains value $\ge u$ iff there exists a choice of the constraints such that the associated linear program has a solution. Since linear programming is in P, this shows that the problem is in NP.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also note that the optimum value of a linear program is attained at a vertex of the polytope. This means that the denominator of the optimal solution can be expressed as a determinant of a square matrix of dimension $O(n)$ whose entries are constant-size integers, and there are only $O(1)$ nonzero entries in each row, and as such it is bounded by $2^{O(n)}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Reductions of this kind are often useful to give upper bounds on the complexity of satisfiability in propositional fuzzy logics (such as Łukasiewicz logic) and related systems. (In fact, the original problem is a minor variant of satisfiability in Łukasiewicz, which would correspond to circuits with $\min(1,x+y)$ instead of $(x+y)/2$.) An overview of related results can be found in Chapter X of the Handbook of Mathematical Fuzzy Logic, Vol. II.&lt;/p&gt;&#xA;" OwnerUserId="6959" LastActivityDate="2013-02-13T21:20:21.847" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16464" PostTypeId="1" CreationDate="2013-02-14T07:14:30.160" Score="-1" ViewCount="119" Body="&lt;p&gt;How do you say &quot;δ:Q×Σ→Q&quot; in English? Describing what &quot;×&quot; and &quot;→&quot; mean would also help.&lt;/p&gt;&#xA;" OwnerUserId="4205" LastActivityDate="2013-02-14T07:14:30.160" Title="How does &quot;δ:Q×Σ→Q&quot; read in the definition of a DFA (deterministic finite acceptor)?" Tags="&lt;fl.formal-languages&gt;&lt;automata-theory&gt;&lt;finite-model-theory&gt;&lt;dfa&gt;&lt;language-design&gt;" AnswerCount="0" CommentCount="2" ClosedDate="2013-02-14T07:18:13.027" ContentLicense="CC BY-SA 3.0" />
  <row Id="16465" PostTypeId="2" ParentId="3540" CreationDate="2013-02-14T10:42:24.920" Score="10" Body="&lt;p&gt;Notes or books about Distributed Algorithms:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&quot;A Course on Deterministic Distributed Algorithms&quot; by Jukka Suomela. Available at &lt;a href=&quot;http://www.cs.helsinki.fi/u/josuomel/dda/dda-print.pdf&quot;&gt;http://www.cs.helsinki.fi/u/josuomel/dda/dda-print.pdf&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&quot;Principles of Distributed Computing&quot; by Roger Wattenhofer. Available at &lt;a href=&quot;http://dcg.ethz.ch/lectures/podc_allstars/lecture/podc.pdf&quot;&gt;http://dcg.ethz.ch/lectures/podc_allstars/lecture/podc.pdf&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="13518" LastActivityDate="2013-02-14T10:42:24.920" CommentCount="0" CommunityOwnedDate="2013-02-14T10:42:24.920" ContentLicense="CC BY-SA 3.0" />
  <row Id="16466" PostTypeId="1" CreationDate="2013-02-14T11:56:00.877" Score="6" ViewCount="3366" Body="&lt;p&gt;The &lt;a href=&quot;http://en.wikipedia.org/wiki/Push%E2%80%93relabel_maximum_flow_algorithm&quot;&gt;push-relabel algorithm&lt;/a&gt; (here is &lt;a href=&quot;https://github.com/MartinThoma/LaTeX-examples/raw/master/source-code/Pseudocode/Goldberg-Tarjan-Push-Relabel/Goldberg-Tarjan-Push-Relabel.pdf&quot;&gt;push-relabel as pseudo-code&lt;/a&gt;) assigns a distance-label to each node. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;After executing push relabel, you have those distance labels and a max flow in a given network $N = ((V, E), s, t, c)$ with $E \subseteq V \times V$, $s,t \in V$, $c:E\rightarrow \mathbb{R}_0^+$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;How to get one min-cut after executing push-relabel:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Find a number $x \in \mathbb{N}: 0 &amp;lt; x &amp;lt; |V|$ &lt;/li&gt;&#xA;&lt;li&gt;$S := \{v \in V | dist(v) &amp;gt; x\}$ and $V \setminus S = \{v \in V | dist(v) &amp;lt; x\}$&lt;/li&gt;&#xA;&lt;li&gt;There is no edge $(u,v)$ with $u \in S, v \in V \setminus S$ in the residual network.&lt;/li&gt;&#xA;&lt;li&gt;$(S, V \setminus S)$ is a min-cut.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Proof of correctness:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Such a number $x$ exists, because you have $|V|$ nodes that can have labels, $s$ has the label $|V|$, $t$ has the label $0$. So you have $|V|-1$ possible numbers for $x$ and only $|V|-2$ nodes that can have labels.&lt;/li&gt;&#xA;&lt;li&gt;This is a valid partition of $V$, as no node has label $x$.&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;If there was an edge $(u,v)$ with $u \in S, v \in V \setminus S$ in the residual network it would have to be ...&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;$dist(u) \geq dist(v) + 2$ as we defined $S$ like this: &#xA;$\begin{align} &#xA;                  &amp;amp; dist(u) &amp;gt; x \land x &amp;gt; dist(v) \\&#xA;      \Rightarrow &amp;amp; dist(u) - 1 \geq x \land x \geq dist(v) + 1\\&#xA;      \Rightarrow &amp;amp; dist(u) \geq dist(v) + 2 \end{align}$)&lt;/li&gt;&#xA;&lt;li&gt;For every edge in the residual network you can say: $dist(u) \leq dist(v) +1$&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;$\Rightarrow 2 \leq 1 \Rightarrow $ Error $\Rightarrow$ there is no edge between $S$ and $V \setminus S$ in the residual network&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;As there is no free capacity in the residual network between the sets $S$ and $V \setminus S$, the value of the min cut is the max flow. According to &lt;a href=&quot;http://en.wikipedia.org/wiki/Max-flow_min-cut_theorem&quot;&gt;max-flow min-cut theorem&lt;/a&gt; $(S, V \setminus S)$ is a min-cut.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;So the given algorithm can find at least one min-cut quite fast after push-relabel was executed. As $x$ can have more values (the labels of some nodes might be the same and they can go up to $2|V|-1$ as far as I know), you can also find more than one min-cut.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;My question&lt;/strong&gt;: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Do I find all min-cuts this way?&lt;/p&gt;&#xA;" OwnerUserId="4149" LastEditorUserId="4149" LastEditDate="2013-02-14T12:11:22.363" LastActivityDate="2020-09-29T19:02:03.473" Title="Can I get all min-cuts after executing Push-Relabel?" Tags="&lt;max-flow&gt;&lt;max-flow-min-cut&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="16468" PostTypeId="1" CreationDate="2013-02-14T15:59:02.980" Score="22" ViewCount="436" Body="&lt;p&gt;Consider an electrical network modeled as a planar graph G, where each edge represents a 1Ω resistor.  &lt;strong&gt;How quickly can we compute the &lt;em&gt;exact&lt;/em&gt; effective resistance between two vertices in G?&lt;/strong&gt;  Equivalently, how quickly can we compute the &lt;em&gt;exact&lt;/em&gt; current flowing along each edge if we attach a 1V battery to two vertices in G? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Kirchhoff's well-known &lt;a href=&quot;http://en.wikipedia.org/wiki/Kirchhoff%27s_circuit_laws&quot;&gt;voltage and current laws&lt;/a&gt; reduce this problem to solving a system of linear equations with one variable per edge.  More recent results — described explicitly by &lt;a href=&quot;http://link.springer.com/article/10.1007%2FBF01164627&quot;&gt;Klein and Randić (1993)&lt;/a&gt; but implicit in earlier work of &lt;a href=&quot;http://math.dartmouth.edu/~doyle/docs/walks/walks.pdf&quot;&gt;Doyle and Snell (1984)&lt;/a&gt; — reduce the problem to solving a linear system with one variable per vertex, representing that node's &lt;em&gt;potential&lt;/em&gt;; the matrix for this linear system is the Laplacian matrix of the graph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Either linear system can be solved exactly in $O(n^{3/2})$ time using nested dissection and planar separators [&lt;a href=&quot;http://www.jstor.org/discover/10.2307/2156840?uid=3739656&amp;amp;uid=2&amp;amp;uid=4&amp;amp;uid=3739256&amp;amp;sid=21101650334243&quot;&gt;Lipton Rose Tarjan 1979&lt;/a&gt;].  &lt;strong&gt;Is this the fastest algorithm known?&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Recent seminal results of Spielman, Teng, and others imply that the Laplacian system in &lt;em&gt;arbitrary&lt;/em&gt; graphs can be solved &lt;em&gt;approximately&lt;/em&gt; in near-linear time.  See [&lt;a href=&quot;http://arxiv.org/abs/1003.2958&quot;&gt;Koutis Miller Peng 2010&lt;/a&gt;] for the current best running time, and &lt;a href=&quot;https://simonsfoundation.org/features/science-news/mathematics-and-physical-science/network-solutions/&quot;&gt;this amazing article&lt;/a&gt; by Erica Klarreich at the Simons Foundation for a high-level overview.  But I'm specifically interested in &lt;em&gt;exact&lt;/em&gt; algorithms for &lt;em&gt;planar&lt;/em&gt; graphs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assume a model of computation that supports exact real arithmetic in constant time.&lt;/p&gt;&#xA;" OwnerUserId="111" LastEditorUserId="186" LastEditDate="2013-02-14T21:46:54.297" LastActivityDate="2013-02-14T22:20:45.177" Title="Exact planar electrical flow" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;planar-graphs&gt;&lt;physics&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="16469" PostTypeId="2" ParentId="16447" CreationDate="2013-02-14T16:58:09.803" Score="14" Body="&lt;p&gt;You ask why database aggregations have monoidal structure.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Say we want to combine data values &lt;span class=&quot;math-container&quot;&gt;$a$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$b$&lt;/span&gt;, but want to keep things general -- these may be integers, strings, floating point numbers, vectors, matrices, probability distributions, sets, or anything else we want to store and manipulate.  So we denote the &quot;aggregation&quot; of &lt;span class=&quot;math-container&quot;&gt;$a$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$b$&lt;/span&gt; by &lt;span class=&quot;math-container&quot;&gt;$a.b$&lt;/span&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The operation &lt;span class=&quot;math-container&quot;&gt;$.$&lt;/span&gt; is usually associative, since we don't want the order in which it is applied to affect the result: we want &lt;span class=&quot;math-container&quot;&gt;$(a.b).c = a.(b.c)$&lt;/span&gt;.  So we have a &lt;a href=&quot;https://en.wikipedia.org/wiki/Semigroup&quot; rel=&quot;nofollow noreferrer&quot;&gt;semigroup&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Almost always there is some kind of identity, whether it is the number 0 or 1, the empty string, an identity matrix, a uniform distribution, or the empty set, which depends on the operation.  So in fact data usually forms a &lt;a href=&quot;https://en.wikipedia.org/wiki/Monoid&quot; rel=&quot;nofollow noreferrer&quot;&gt;monoid&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The practical point about thinking of data as forming a monoid is that it provides a way to discuss operations on different kinds of data using a common algebraic language.  This then translates into generic code libraries that can deal with any monoids, by simply passing an appropriate aggregation operation as an argument.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that many kinds of data do not have inverses, so a group structure is too much to hope for.  If you have group structure then some additional ways of manipulating the data become possible, but since neither matrices with multiplication, nor the positive integers with addition have inverses, non-group-structured data is quite common.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We don't usually want to just store data, but to run queries over the database.  So we need some notion of what to do when a query generates many answers.  Often this requires a combining operation &lt;span class=&quot;math-container&quot;&gt;$+$&lt;/span&gt; (which may be the same as &lt;span class=&quot;math-container&quot;&gt;$.$&lt;/span&gt;), and which should be compatible with &lt;span class=&quot;math-container&quot;&gt;$.$&lt;/span&gt; in the way they interact.  So some kind of distributivity is needed.  Commutativity of &lt;span class=&quot;math-container&quot;&gt;$+$&lt;/span&gt; and sometimes also of &lt;span class=&quot;math-container&quot;&gt;$.$&lt;/span&gt; is also often natural.  We then have a &lt;a href=&quot;https://en.wikipedia.org/wiki/Semiring&quot; rel=&quot;nofollow noreferrer&quot;&gt;semiring&lt;/a&gt; or a commutative semiring.  Again inverses are usually too much to hope for, so semirings are a better fit than rings.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A semiring model of data aggregation has been around in the constraint satisfaction community for some time.  Note that a constraint satisfaction problem instance is a conjunctive query over a particular database of facts, so this is pretty general: most practical queries over data are conjunctive.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Stefano Bistarelli, Ugo Montanari, and Francesca Rossi,&#xA;&lt;em&gt;Semiring-based constraint satisfaction and optimization&lt;/em&gt;,&#xA;JACM&#xA;&lt;strong&gt;44&lt;/strong&gt;(2),&#xA;1997,&#xA;201–236.&#xA;doi:&lt;a href=&quot;http://dx.doi.org/10.1145/256303.256306&quot; rel=&quot;nofollow noreferrer&quot;&gt;10.1145/256303.256306&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The current spurt of theoretical analysis of the semiring model of data aggregation was kick-started in 2007, in the context of &lt;em&gt;provenance&lt;/em&gt;.  Provenance is a fancy term for annotating data.  Since any database tuple can be seen as annotations applied to some unique tuple identifier, aggregation of data can be seen as just combination of annotations.  Provenance is therefore a generalization of the idea of aggregating data, and it has explicitly been argued that the right theoretical model of combining annotations is a semiring.  The most general semiring, of provenance polynomials, actually allows one to keep track of the entire history of how a piece of data was obtained from constituent parts.  As an example, a &lt;a href=&quot;https://en.wikipedia.org/wiki/P-value&quot; rel=&quot;nofollow noreferrer&quot;&gt;p-value&lt;/a&gt; in the analysis of a clinical trial can keep track of how it was calculated from each of the individual trial results.  If some of them turn out to be wrong (or fake) then one can simply recalculate without the bad data.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Todd J. Green, Grigoris Karvounarakis, and Val Tannen, &lt;em&gt;Provenance semirings&lt;/em&gt;, PODS 2007, 31–40.&#xA;doi:&lt;a href=&quot;http://dx.doi.org/10.1145/1265530.1265535&quot; rel=&quot;nofollow noreferrer&quot;&gt;10.1145/1265530.1265535&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;There has been a lot of further work using semirings to aggregate data, see the &lt;a href=&quot;http://scholar.google.com/scholar?cites=3053659234252222861&quot; rel=&quot;nofollow noreferrer&quot;&gt;papers citing this one&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;From the more immediately practical perspective that you cite, see for instance the GDL framework for how one can effectively parallelise a computation by grouping the underlying semiring expression appropriately.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Srinivas M. Aji and Robert J. McEliece,&#xA;&lt;em&gt;The generalized distributive law&lt;/em&gt;,&#xA;IEEE Transactions on Information Theory&#xA;&lt;strong&gt;46&lt;/strong&gt;(2),&#xA;2000,&#xA;325–343.&#xA;doi:&lt;a href=&quot;http://dx.doi.org/10.1109/18.825794&quot; rel=&quot;nofollow noreferrer&quot;&gt;10.1109/18.825794&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="109" LastEditorUserId="109" LastEditDate="2018-10-09T20:47:59.633" LastActivityDate="2018-10-09T20:47:59.633" CommentCount="0" ContentLicense="CC BY-SA 4.0" />
  <row Id="16470" PostTypeId="1" CreationDate="2013-02-14T17:58:41.000" Score="1" ViewCount="209" Body="&lt;p&gt;Is there an extension or translation of Brent's theorem into asymptotics aside from big-$O$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Brent's Theorem: &lt;a href=&quot;http://www.cs.unc.edu/~prins/Classes/633/Handouts/pram.pdf&quot; rel=&quot;nofollow&quot;&gt;source&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Running time of a parallel algorithm with $p$ processors (say, $f(n,p)$), $W(n)$ Work complexity, and $S(n)$ Step complexity takes $\leq \frac{W(n)}{p} + S(n)$ time.  The $\leq$ lets me use $O$ directly, but not $\Omega$.  If it's also true, I'd be able to say something like:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$f(n,p) \in \frac{\Theta(W(n))}{p} + \Theta(S(n))$ &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It seems like it is true.  Is it?  I'd love to have a reference.&lt;/p&gt;&#xA;" OwnerUserId="7902" LastEditorUserId="-1" LastEditDate="2013-02-15T14:46:38.523" LastActivityDate="2013-02-15T14:46:38.523" Title="Big-Theta extension of Brent's Theorem?" Tags="&lt;dc.parallel-comp&gt;&lt;asymptotics&gt;" AnswerCount="0" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16471" PostTypeId="1" AcceptedAnswerId="16477" CreationDate="2013-02-14T19:36:38.767" Score="22" ViewCount="1449" Body="&lt;p&gt;In light of the recent &lt;a href=&quot;http://eccc.hpi-web.de/report/2013/026/&quot;&gt;chasm at depth-3&lt;/a&gt; result (which among other things yields a $2^{\sqrt{n}\log{n}}$ depth-3 arithmetic circuit for the $n \times n $ determinant over $\mathbb{C}$), I have the following questions : &#xA;Grigoriev and Karpinski &lt;a href=&quot;http://www.google.co.in/url?sa=t&amp;amp;rct=j&amp;amp;q=grigoriev%20karpinski%20%20an%20exponential%20lower%20bound%20for%20depth%203&amp;amp;source=web&amp;amp;cd=1&amp;amp;cad=rja&amp;amp;ved=0CC4QFjAA&amp;amp;url=http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.45.2768&amp;amp;ei=szodUY_yF8L-rAfD_YDYCg&amp;amp;usg=AFQjCNFgR3k4wXZyeUQVgqXgh81Rf38QBw&amp;amp;bvm=bv.42452523,d.bmk&quot;&gt;proved&lt;/a&gt; an $2^{\Omega{(n)}}$ lower bound for any depth-3 arithmetic circuit computing the Determinant of $n \times n$ matrices over finite fields (which I guess, also holds for the Permanent). &lt;a href=&quot;http://en.wikipedia.org/wiki/Computing_the_permanent#Ryser_formula&quot;&gt;Ryser's formula&lt;/a&gt; for computing the Permanent gives a depth-3 arithmetic circuit of size $O(n^2 2^n) = 2^{O(n)}$. This shows that the result is essentially tight for depth-3 circuits for the Permanent over finite fields. I have two questions:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) Is there a depth-3 formula for the determinant analogous to Ryser's formula for the Permanent?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) Does a lower bound on the size of arithmetic circuits computing the Determinant polynomial \textit{always} yield a lower bound for the Permanent polynomial?(Over $\mathbb{F}_2$ they are the same polynomials).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Though my question currenly is regarding these polynomials over finite fields, I would also like to know the status of these questions over arbitrary fields.&lt;/p&gt;&#xA;" OwnerUserId="256" LastEditorUserId="256" LastEditDate="2013-02-15T04:05:50.193" LastActivityDate="2013-02-18T16:19:52.713" Title="Lower bound for determinant and permanent" Tags="&lt;circuit-complexity&gt;&lt;lower-bounds&gt;&lt;permanent&gt;&lt;arithmetic-circuits&gt;&lt;determinant&gt;" AnswerCount="2" CommentCount="4" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="16472" PostTypeId="2" ParentId="16468" CreationDate="2013-02-14T22:20:45.177" Score="14" Body="&lt;p&gt;Using nested dissections you can even solve a linear system (based on a planar graph) in $O(\sqrt{n^\omega})$. This was for example noted in a &lt;a href=&quot;http://arxiv.org/abs/0908.0488&quot;&gt;paper&lt;/a&gt;  I have with Günter Rote and Ares Ribó and in this &lt;a href=&quot;http://www.tau.ac.il/~nogaa/PDFS/sparsesystem.pdf&quot;&gt;paper by Alon and Yuster&lt;/a&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The former paper also contains an approach how to compute the pairwise resistances between vertices on a a common face in $O(\sqrt{n^\omega})$. This &lt;a href=&quot;http://arxiv.org/pdf/1203.1256v1.pdf&quot;&gt;paper by Kenyon&lt;/a&gt; might also contain helpful ideas.&lt;/p&gt;&#xA;" OwnerUserId="10092" LastActivityDate="2013-02-14T22:20:45.177" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16473" PostTypeId="1" CreationDate="2013-02-14T23:18:39.863" Score="4" ViewCount="295" Body="&lt;p&gt;I am trying to understand the relation between interval temporal logic and linear temporal logic. Do the two form of expressing temporal constraints have the same expressive power, or is one of the two more expressive?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I found a proof of the ability of translating Allen Interval temporal logic formulas into linear temporal logic formulas (&lt;a href=&quot;http://fsl.cs.uiuc.edu/index.php/Allen_Linear_(Interval)_Temporal_Logic_-Translation_to_LTL_and_Monitor_Synthesis-&quot; rel=&quot;nofollow&quot;&gt;http://fsl.cs.uiuc.edu/index.php/Allen_Linear_(Interval)_Temporal_Logic_-Translation_to_LTL_and_Monitor_Synthesis-&lt;/a&gt;), but I couldn't find much info for the other direction. &lt;/p&gt;&#xA;" OwnerUserId="13752" LastEditorUserId="77" LastEditDate="2013-03-17T19:47:52.740" LastActivityDate="2013-09-03T08:30:13.220" Title="Relation between interval temporal logic and linear temporal logic" Tags="&lt;lo.logic&gt;&lt;temporal-logic&gt;&lt;linear-temporal-logic&gt;" AnswerCount="2" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16474" PostTypeId="2" ParentId="4654" CreationDate="2013-02-14T23:38:02.340" Score="5" Body="&lt;p&gt;here is a new collaborative online Latex editor called &lt;a href=&quot;https://www.writelatex.com/&quot; rel=&quot;nofollow noreferrer&quot;&gt;WriteLatex&lt;/a&gt; that looks promising, as a near one-stop shop for many scientific writing needs/requirements.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;works on mobile&lt;/li&gt;&#xA;&lt;li&gt;has realtime preview&lt;/li&gt;&#xA;&lt;li&gt;easy/private sharing&lt;/li&gt;&#xA;&lt;li&gt;finds latex errors&lt;/li&gt;&#xA;&lt;li&gt;allows add on latex libraries/styles&lt;/li&gt;&#xA;&lt;li&gt;cloud storage&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;the coauthor &#xA;John Hammersley posted an announcement in tcs se meta &lt;a href=&quot;https://cstheory.meta.stackexchange.com/a/2645/7884&quot;&gt;here&lt;/a&gt; and he's responsive to feedback (5 more votes on the ad &amp;amp; it will appear on the main site). it looks like it could evolve into a valuable tool for the tcs community over time and maybe the authors will be able to implement some popular features specifically on request.&lt;/p&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="-1" LastEditDate="2017-03-16T15:45:13.547" LastActivityDate="2013-02-14T23:38:02.340" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16476" PostTypeId="1" AcceptedAnswerId="18776" CreationDate="2013-02-15T02:34:14.690" Score="10" ViewCount="378" Body="&lt;p&gt;I'm interested in a slight generalisation of DFA. As usual we have state-set $Q$, finite alphabet $\Sigma$, a $\Sigma^*$-action defined on $Q$ by $\delta : Q\times\Sigma\rightarrow Q$, and initial state $q_0$; but instead of the usual terminal set, we take a family $(T_i)_{i\in 1..n}$ of subsets of $Q$. A Multi-language DFA $M$ is then the tuple&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$(Q, \Sigma, \delta, q_0, (T_i))$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;and $L \subseteq \Sigma^*$ is recognised by $M$ iff $L = \{s\in\Sigma^*|q_0s\in T_i\}$ for some $i\in 1..n$ . Define $(L_i(M))_{i\in 1..n}$ to be the family of languages recognised by M, if you like.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Okay, now for my question: given a family of regular languages $(L_i)_{i\in 1..n}$ , I want to find the minimal Multi-language DFA $M$ as described above such that $L_i = L_i(M)$ for all $i\in 1..n$ , that is, such that $|Q|$ is minimised over all such machines. My question is, are there any known efficient ways of doing this, perhaps analogous to standard DFA minimisation theory? Conversely, is there any evidence that this problem might be hard?&lt;/p&gt;&#xA;" OwnerUserId="13755" LastActivityDate="2013-08-27T16:18:28.953" Title="Multi-language DFA minimisation" Tags="&lt;automata-theory&gt;&lt;dfa&gt;" AnswerCount="1" CommentCount="9" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="16477" PostTypeId="2" ParentId="16471" CreationDate="2013-02-15T04:13:01.747" Score="11" Body="&lt;p&gt;Permanent is complete for VNP under p-projections over any field not of characteristic 2. This provides a positive answer to your second question. If this reduction were linear, it would give a positive answer to your first question, but I believe that remains open.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In more detail: there is some polynomial $q(n)$ such that $det_n(X)$ is a projection of $perm_{q(n)}(Y)$, i.e. there is a certain substitution sending each variable $y_{ij}$ either to a variable $x_{k\ell}$ or a constant such that after this substitution the $q(n) \times q(n)$ permanent is computing the $n \times n$ determinant.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) Thus Ryser's formula yields a depth 3 formula (depth does not increase under projections because the substitutions can be done on the input gates) of size $2^{O(q(n))}$ for determinant.   &lt;strong&gt;UPDATE&lt;/strong&gt;: As @Ramprasad points out in the comments, this only gives something nontrivial if $q(n) = o(n \log n)$, since there is a trivial depth 2 formula of size $n \cdot n! = 2^{O(n \log n)}$ for det. I am with Ramprasad in that the best I know is the reduction through ABPs, which yields $q(n)=O(n^3)$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) If the $m \times m$ permanent can be computed - again, over some field of characteristic not 2 - by a circuit of size $s(m)$, then $n \times n$ determinant can be computed by a circuit of size $s(q(n))$. So a lower bound of $b(n)$ on circuit-size for $det_n$ yields a lower bound of $b(q^{-1}(n))$ on circuit-size for the permanent (that's $q$ &lt;em&gt;inverse&lt;/em&gt;, not $1/q(n)$). The above-mentioned $q(n)=O(n^3)$ yields a $b(n^{1/3})$ perm lower bound from a $b(n)$ det lower bound.&lt;/p&gt;&#xA;" OwnerUserId="129" LastEditorUserId="129" LastEditDate="2013-02-18T16:19:52.713" LastActivityDate="2013-02-18T16:19:52.713" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="16478" PostTypeId="2" ParentId="16473" CreationDate="2013-02-15T13:35:10.283" Score="1" Body="&lt;p&gt;The paper mentions in the preliminaries that it encodes Allen Interval temporal logic into the FG-fragment of LTL (which only has the &quot;globally&quot; and &quot;eventually&quot; modalities). Full LTL is strictly more expressive (e.g., consider the formula a U b) and thus cannot be encoded in Allen Interval temporal logic. &lt;/p&gt;&#xA;" OwnerUserId="7908" LastActivityDate="2013-02-15T13:35:10.283" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16482" PostTypeId="2" ParentId="16466" CreationDate="2013-02-15T15:53:36.633" Score="5" Body="&lt;p&gt;I assume that your question is &quot;Do I find all min s-t-cuts this way?&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I believe the answer is no. Note that there may be an exponential number of minimum s-t-cuts (connect vertex s to vertices {1,2,3, ...,n} and then each of these are &#xA;connected to vertex t -- then there are 2^n min-s-t-cuts). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The way that I know for sure to enumerate all min-s-t-cuts is to recursively enumerate all directed cuts in the residual graph after the contraction of all&#xA;strongly connected components. This algorithm can produce&#xA;each cut in linear time per cut. If you need a detailed description of the&#xA;enumeration algorithm I can provide to you the pseudocode.&lt;/p&gt;&#xA;" OwnerUserId="13763" LastActivityDate="2013-02-15T15:53:36.633" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16483" PostTypeId="1" CreationDate="2013-02-15T18:29:09.117" Score="5" ViewCount="112" Body="&lt;p&gt;Let &lt;span class=&quot;math-container&quot;&gt;$S$&lt;/span&gt; be a commutative semiring and &lt;span class=&quot;math-container&quot;&gt;$T\subset S$&lt;/span&gt;, how many semiring operations are required to compute the following&#xA;&lt;span class=&quot;math-container&quot;&gt;$$\prod_{a,b\in T} a+b$$&lt;/span&gt;?&lt;/p&gt;&#xA;&lt;p&gt;This problem can be solved for commutative rings in &lt;span class=&quot;math-container&quot;&gt;$O(n \log n)$&lt;/span&gt; ring operations using multipoint polynomial evaluation from &lt;a href=&quot;https://math.stackexchange.com/questions/304687/can-product-of-all-pairwise-sums-be-computed-faster-than-the-naive-method&quot;&gt;a related problem&lt;/a&gt;. However, the algorithm requires there is an inverse to addition.&lt;/p&gt;&#xA;&lt;p&gt;Actually I'm mostly interested in a similar problem. We have &lt;span class=&quot;math-container&quot;&gt;$M = \{A_1,\ldots,A_k\}$&lt;/span&gt; such that &lt;span class=&quot;math-container&quot;&gt;$A_i\subset S$&lt;/span&gt;. We want to compute&lt;/p&gt;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$$\prod_{A\in M} \prod_{A\neq B\in M} \prod_{a\in A,b\in B} a+b$$&lt;/span&gt;&lt;/p&gt;&#xA;&lt;p&gt;with least number of semiring operations.&lt;/p&gt;&#xA;" OwnerUserId="314" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2013-02-15T21:58:34.430" Title="Number of operations to compute product of pairwise sums over a commutative semiring" Tags="&lt;ds.algorithms&gt;&lt;algebra&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16484" PostTypeId="2" ParentId="16483" CreationDate="2013-02-15T20:58:36.527" Score="1" Body="&lt;p&gt;Not an answer to your exact question, but may be useful if you happen to have a semiring with cancellation: if you have an algorithm which works in any ring, you can apply that algorithm to the difference ring $S-S$ consisting of subtraction pairs $s - t$.  The result will have the form $s - t$ where $s,t \in S$, and the answer will be $d \in S$ s.t. $s = d + t$.  Thus, in addition to semiring operations, you'd need to perform a single cancellation step at the end.&lt;/p&gt;&#xA;" OwnerUserId="13245" LastEditorUserId="13245" LastEditDate="2013-02-15T21:58:34.430" LastActivityDate="2013-02-15T21:58:34.430" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16485" PostTypeId="1" AcceptedAnswerId="16597" CreationDate="2013-02-15T21:18:26.113" Score="17" ViewCount="727" Body="&lt;p&gt;Consider a permutation $\sigma$ of $[1..n]$. An inversion is defined as a pair $(i, j)$ of indices such that $i &amp;lt; j$ and $\sigma(i) &amp;gt; \sigma(j)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Define $A_k$ to be the number of permutations of $[1..n]$ with at most $k$ inversions. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Question: What's the tight asymptotic bound for $A_k$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A related question was asked before: &lt;a href=&quot;https://cstheory.stackexchange.com/questions/10686/number-of-permutations-which-have-the-same-kendall-tau-distance&quot;&gt;Number of permutations which have the same Kendall-Tau distance&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But the question above was regarding &lt;em&gt;computing&lt;/em&gt; $A_k$. It can be computed using dynamic programming, since it satisfies the recurrence relation shown here: &lt;a href=&quot;https://stackoverflow.com/questions/948341/dynamic-programming-number-of-ways-to-get-at-least-n-bubble-sort-swaps&quot;&gt;https://stackoverflow.com/questions/948341/dynamic-programming-number-of-ways-to-get-at-least-n-bubble-sort-swaps&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The number of permutations with &lt;em&gt;exactly&lt;/em&gt; $k$ inversions has also been studied and it can be expressed as a generating function: &lt;a href=&quot;http://en.wikipedia.org/wiki/Permutation#Inversions&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://en.wikipedia.org/wiki/Permutation#Inversions&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But I can't find a closed-form formula or an asymptotic bound.&lt;/p&gt;&#xA;" OwnerUserId="262" LastEditorUserId="-1" LastEditDate="2017-05-23T12:40:09.333" LastActivityDate="2013-02-23T04:54:38.333" Title="Asymptotically, how many permutations of $[1..n]$ have at most $k$ inversions?" Tags="&lt;co.combinatorics&gt;&lt;permutations&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="16486" PostTypeId="1" AcceptedAnswerId="16504" CreationDate="2013-02-15T21:27:17.813" Score="8" ViewCount="380" Body="&lt;p&gt;Consider any language $L$. Define $s(L) \in {\lbrace 0, 1 \rbrace}^\omega$ (an infinite sequence of bits) by the recursive formula&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$s(L)_n=\chi_L(s(L)_{&amp;lt;n})$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here $\chi_L$ is the characteristic function of $L$ i.e. $\chi_L(w)=1$ for $w \in L$, $\chi_L(w)=0$ for $w \notin L$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A language $U$ is called a &quot;universal (closed) predictor&quot; when&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\forall L \in \mathsf{P} \, \forall n&amp;gt;&amp;gt;0:s(L)_n=\chi_U(s(L)_{&amp;lt;n})$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is easy to see $U \notin \mathsf{P}$ by considering $L = U^c$. However, $U$ can be recursive. To give an example, consider the language decided by the following algorithm $A$. Given input $w$, $A$ runs all possible programs in shortlex order, allowing each to execute for time $t(|w|)$ where $t$ is a function of superpolynomial growth. Once it reaches a program $R$ that outputs $w$ plus one or more bits and doesn't halt, $A$ outputs the first bit $R$ outputted after $w$. It easy easy to see that (under mild conditions on $t$) $A$ always halts and the language it decides is a universal predictor. $A's$ time complexity is approximately $2^nt(n)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given $a \in {\lbrace 0, 1 \rbrace}^\omega$, define $s(L, a)$ by&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$s(L, a)_{2n} = \chi_L(s(L, a)_{&amp;lt;2n})$$&#xA;$$s(L, a)_{2n + 1} = a_n$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A language $V$ is called a &quot;universal open predictor&quot; when &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;$\forall w \in V : |w|$ is even&lt;/li&gt;&#xA;&lt;li&gt;$\forall L \in \mathsf{P}, a \in {\lbrace 0, 1 \rbrace}^\omega \, \forall n&amp;gt;&amp;gt;0:s(L, a)_{2n}=\chi_V(s(L, a)_{&amp;lt;2n})$&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;[I am using 0-based indices so $|s_{&amp;lt;2n}| = 2n$]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Again it is easy to see $V \notin \mathsf{P}$ but $V$ can be in $\mathsf{E}$&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there $V$ a universal open predictor s.t. $\mathsf{P}^V=\mathsf{NP}^V$?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I'm especially interested in having either a specific example of such $V$ or a proof such $V$ doesn't exist under reasonable assumptions such as $\mathsf{P} \ne \mathsf{NP}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The question might seem strange, so I'll briefly outline my motivation for it. I'm interested in AIXI-like models of aritifical intelligence. Here $L$ plays the role of the environment, which I assume to be efficiently computable, and $a$ plays the role of the actions of the agent itself. Given a positive answer for my question, it is possible to construct an agent efficiently computable relative to $V$ which optimizes a given efficiently computable utility function $u$ by choosing its future actions s.t. $u$ is maximized assuming the environment behaves according to the prediction of $V$&lt;/p&gt;&#xA;" OwnerUserId="7030" LastEditorUserId="7030" LastEditDate="2013-02-16T21:59:27.563" LastActivityDate="2013-02-17T05:18:22.463" Title="Is $\mathsf{P} = \mathsf{NP}$ relative to a universal predictor?" Tags="&lt;cc.complexity-theory&gt;&lt;ai.artificial-intel&gt;&lt;p-vs-np&gt;&lt;relativization&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16487" PostTypeId="1" CreationDate="2013-02-15T21:49:41.640" Score="4" ViewCount="509" Body="&lt;p&gt;What's the best known complexity for the following problem? Given a number $n$, return the smallest prime larger than $n$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Clearly one can just test all the odd numbers large than $n$ in turn until you find one. You can use a probabilistic primality testing algorithm with one-sided error and then confirm any primes using a AKS if needs be. This is slow but uses small space. Alternatively one could us a sieve which will be faster but uses potentially very large space. &lt;/p&gt;&#xA;" OwnerUserId="13768" LastActivityDate="2013-02-16T16:09:21.270" Title="Find next prime" Tags="&lt;cc.complexity-theory&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="16488" PostTypeId="1" CreationDate="2013-02-15T23:14:41.277" Score="2" ViewCount="136" Body="&lt;p&gt;Let $(A, \leq)$ be a totally ordered alphabet. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The &lt;em&gt;standardization&lt;/em&gt; ${\tt std}(u)$ of a word $u \in A^n$ is the unique permutation of $n$ elements having the same inversions as $u$ (recall that an &lt;em&gt;inversion&lt;/em&gt; of a word $u$ of length $n$ is a pair $(i, j)$ such that $1 \leq i &amp;lt; j \leq n$ and $u_i &amp;gt; u_j$; since permutations are words with some constraints, this definition also works for permutations).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For instance, let $A$ be the alphabet $\{a_i : i \in \mathbb{N}\}$ where $a_i \leq a_j$ if and only if $i \leq j$ and $u := a_3a_1a_4a_2a_5a_7a_4a_2a_3$. Then, we have ${\tt std}(u) = 416289735$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To compute ${\tt std}(u)$, an obvious and naive algorithm consists in scanning $u$ from left to right $n$ times and assigning during the $i$th run the letter $i$ to the smallest not yet considerer letter. Applying this to the above example, we obtain&#xA;\begin{array}&#xA;  &amp;amp; &amp;amp; a_3 &amp;amp; a_1 &amp;amp; a_4 &amp;amp; a_2 &amp;amp; a_5 &amp;amp; a_7 &amp;amp; a_4 &amp;amp; a_2 &amp;amp; a_3 \\&#xA;    &amp;amp;     &amp;amp; 1   &amp;amp;     &amp;amp;     &amp;amp;     &amp;amp;     &amp;amp;     &amp;amp;     &amp;amp;     \\&#xA;    &amp;amp;     &amp;amp; 1   &amp;amp;     &amp;amp; 2   &amp;amp;     &amp;amp;     &amp;amp;     &amp;amp;     &amp;amp;     \\&#xA;    &amp;amp;     &amp;amp; 1   &amp;amp;     &amp;amp; 2   &amp;amp;     &amp;amp;     &amp;amp;     &amp;amp; 3   &amp;amp;     \\&#xA;    &amp;amp; 4   &amp;amp; 1   &amp;amp;     &amp;amp; 2   &amp;amp;     &amp;amp;     &amp;amp;     &amp;amp; 3   &amp;amp;     \\&#xA;    &amp;amp; 4   &amp;amp; 1   &amp;amp;     &amp;amp; 2   &amp;amp;     &amp;amp;     &amp;amp;     &amp;amp; 3   &amp;amp; 5   \\&#xA;    &amp;amp; 4   &amp;amp; 1   &amp;amp; 6   &amp;amp; 2   &amp;amp;     &amp;amp;     &amp;amp;     &amp;amp; 3   &amp;amp; 5   \\&#xA;    &amp;amp; 4   &amp;amp; 1   &amp;amp; 6   &amp;amp; 2   &amp;amp;     &amp;amp;     &amp;amp; 7   &amp;amp; 3   &amp;amp; 5   \\&#xA;    &amp;amp; 4   &amp;amp; 1   &amp;amp; 6   &amp;amp; 2   &amp;amp; 8   &amp;amp;     &amp;amp; 7   &amp;amp; 3   &amp;amp; 5   \\&#xA;    &amp;amp; 4   &amp;amp; 1   &amp;amp; 6   &amp;amp; 2   &amp;amp; 8   &amp;amp; 9   &amp;amp; 7   &amp;amp; 3   &amp;amp; 5   \\&#xA;\end{array}&#xA;showing, assuming that $\leq$ is computable in constant time complexity, that the time complexity of ${\tt std}$ is $\mathcal{O}(n^2)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We can do better by using any stable sorting algorithm. The question is what is the best time complexity to compute the standardization of a word ?&lt;/p&gt;&#xA;" OwnerUserId="5420" LastEditorUserId="5420" LastEditDate="2013-02-16T18:48:59.197" LastActivityDate="2013-02-16T18:48:59.197" Title="Complexity of the standardization" Tags="&lt;cc.complexity-theory&gt;&lt;co.combinatorics&gt;&lt;permutations&gt;" AnswerCount="0" CommentCount="4" FavoriteCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16489" PostTypeId="2" ParentId="16487" CreationDate="2013-02-15T23:25:55.303" Score="7" Body="&lt;p&gt;Heuristically there is a prime between $n$ and $n + log^2 n$ for any &#xA;sufficiently large $n$, so yes there is a deterministic polynomial time algorithm,&#xA;which  works quite well in practice (but is heuristic).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Prime_gap&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/Prime_gap&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I do not think that there  is a known algorithm with provable polynomial time algorithm for this problem. The best provable complexity you can achieve&#xA;is $ n^{0.525} $.&lt;/p&gt;&#xA;" OwnerUserId="6939" LastEditorUserId="6939" LastEditDate="2013-02-16T16:09:21.270" LastActivityDate="2013-02-16T16:09:21.270" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="16490" PostTypeId="1" CreationDate="2013-02-16T06:26:26.803" Score="2" ViewCount="122" Body="&lt;p&gt;I'm working on a Haskell library for approximation algorithms.  In particular, I'm working on Partition, Knapsack, Vertex Cover, and possibly a few others.  Of course, I'd like to benchmark my library against other libraries in terms of both speed and the goodness of the solution.  So, are there any good benchmarks for these problems out there?  I'm looking for something like the UCI machine learning repository, but for approximation algorithms.&lt;/p&gt;&#xA;" OwnerUserId="10267" LastActivityDate="2013-02-16T06:26:26.803" Title="Benchmarks for approximation algorithms" Tags="&lt;reference-request&gt;&lt;approximation-algorithms&gt;&lt;optimization&gt;" AnswerCount="0" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="16492" PostTypeId="1" CreationDate="2013-02-16T10:20:52.500" Score="2" ViewCount="557" Body="&lt;p&gt;I've been having hard time with proving the following claim:&#xA;Let $f:\{T,F\}^n\rightarrow \{T,F\}$ be a boolean function. Let $size_{DT}(f)$ denote the number of leaves in the smallest (w.r.t the number of leaves) decision tree for $f$. Also, let $size_{CNF}(f),size_{DNF}(f)$ denote the number of clauses, terms in the minimal $CNF,DNF$ formulas for $f$ respectively.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Prove that $size_{DT}(f)\in poly(n,size_{DNF}(f),size_{CNF}(f))$.&lt;/p&gt;&#xA;" OwnerUserId="13772" LastActivityDate="2013-05-18T21:05:58.193" Title="Size of decision tree for f is polynomial in the DNF size of f and CNF size of f" Tags="&lt;cc.complexity-theory&gt;&lt;machine-learning&gt;&lt;boolean-functions&gt;&lt;combinatory-logic&gt;&lt;boolean-formulas&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16493" PostTypeId="2" ParentId="16492" CreationDate="2013-02-16T11:09:17.407" Score="0" Body="&lt;p&gt;Not sure what you mean by &quot;number of leaves in a decision tree&quot;, as the decision tree is usually a full tree.&#xA;If you mean the number of nodes in a BDD (where you can essentially omit unnecessary tests), then I'm pretty sure you can construct a BDD that is at most the size of a DNF formula - simply test each clause &quot;separately&quot; (i.e. on a different branch), this can take at most the length of the DNF representation. &lt;/p&gt;&#xA;" OwnerUserId="7531" LastActivityDate="2013-02-16T11:09:17.407" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16494" PostTypeId="2" ParentId="7993" CreationDate="2013-02-16T13:13:42.760" Score="3" Body="&lt;p&gt;A precise answer can be given. The number of strings of length $n$ with (plain) complexity at most $n_0$ is $2^{n_0 - K(n_0|n)}$, up to a constant factor. Hence any process that randomly chooses a subset will have, with reasonable probability, a $2^{-K(n_0|n) + O(1)}$ fraction of strings of complexity less than $n_0$. To show our our claim, it suffices to show that the number of strings with complexity &lt;strong&gt;equal&lt;/strong&gt; to $k$ is also given by $2^{k - K(k|n)}$. We can show the necessary result by determining the summation of this value over $k$ from 1 up to $n_0$. To show this, we use an additivity result for plain complexity (due to B. Bauwens and A. Shen. &lt;em&gt;An additivity theorem for plain Kolmogorov complexity&lt;/em&gt;. Theory of Computing Systems, 52(2):297-302, Feb 2013),&#xA;$$&#xA; C(a,b) = K(a|C(a,b)) + C(b|a,C(a,b)) + O(1).&#xA;$$&#xA;Here $K(\cdot)$ denotes prefix-free Kolmogorov complexity. Choosing $a = n$, we observe that for each $n$-bit string $b$ of complexity $k$ we have&#xA;$$&#xA; k = C(b) = C(n,b) + O(1) = K(n|k) + C(b|n,k) + O(1).&#xA;$$&#xA;Hence, for each such $b$ we have $C(b|n,k) = k - K(n|k)+O(1)$. Let $k' = k - K(n|k)$. Now one can observe that there are at most $O(2^{k'})$ such strings $b$, and each of the lexicographically first $2^{k'}$ strings of length $n$ satisfy $C(b|n,k) \le k' + O(1)$. Thus $\Omega(2^{k'})$ of them satisfy $C(b|n,k) = k' + O(1)$.&lt;/p&gt;&#xA;" OwnerUserId="13774" LastEditorUserId="4193" LastEditDate="2013-02-19T20:28:22.473" LastActivityDate="2013-02-19T20:28:22.473" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16496" PostTypeId="2" ParentId="16471" CreationDate="2013-02-16T14:41:35.037" Score="11" Body="&lt;p&gt;It is very possible that the determinant is, in a way, harder than the permanent.&#xA;They are both polynomials, the Waring Rank(sums of n powers of linear forms) of the permanent is roughly 4^n, Chow Rank(sums of products of linear forms)&#xA;is roughly 2^n. Clearly, Waring Rank \leq 2^{n-1} Chow Rank.&#xA;For the determinant, those numbers are just lower bounds. On the other&#xA;hand, I proved a while ago that the Waring rank of the determinant is upper&#xA;bounded by (n+1)! and this might be close to the truth.&lt;/p&gt;&#xA;" OwnerUserId="13775" LastEditorUserId="111" LastEditDate="2013-02-16T16:54:56.857" LastActivityDate="2013-02-16T16:54:56.857" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="16498" PostTypeId="2" ParentId="2389" CreationDate="2013-02-16T15:19:06.940" Score="2" Body="&lt;p&gt;Lance Forthnow's example works to separate decision complexity and prefix-complexity: $Ku(0^n) \le O(1)$ for all $n$, and at the same time $K(0^n) &amp;gt; \log n$ for infinitely many $n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that $Ku(x) \le C(x) + O(1)$ where $C(x)$ denotes the plain complexity of $x$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Decision complexity can also be lower than the logarithm of a priori probability. The argument is similar as the standard argument to separate plain and prefix complexity: we take advantage of the length of a program to encode an initial segment of a string. More formally, consider a long anough string $x$ such that for each $i &amp;lt; |x|$ we have $M(x_1...x_i) \le M(x_1...x_{i-1})/2$. Clearly we have $KM(x_1...x_i) \ge i$. Let $n \le |x|$ be a number whose binary representation is an initial segment of $x$. A uniform program of length $n - \log n + O(\log \log n)$ is obtained as follows: if $i \le \log n$ return the $i$-th bit of $n$ in binary, if $i \ge \log n$, return the corresponding bit in a literal representation of $x_{1 + \log n}...x_n$. For this program, we need to encrypt $\log n$ and $x_{1 + \log n}...x_n$. [The value $n$ can be recovered from $\log n$ and the length of the program.]&lt;/p&gt;&#xA;" OwnerUserId="13774" LastActivityDate="2013-02-16T15:19:06.940" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16499" PostTypeId="2" ParentId="14372" CreationDate="2013-02-16T15:54:11.453" Score="3" Body="&lt;p&gt;In the particular way you formulated the question the probability is 0. Because there are only countably many computable sequences, it suffices to show that for each computable sequence the probability is 0. So let's lets consider the sequence 000... (our reasoning works for any computable sequence). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose at some time step $s = 0^n$ for some $n$. Now, we search for a program that outputs a string starting with $0^n$ and halts. For each program outputting $0^m$ with $m&amp;gt;n$, there exists a program that is only $O(1)$ bits longer and also appends $1$ to this output (i.e. it outputs $0^m1$). Hence, there is a probability that $s$ is extended with &quot;wrong&quot; bits, and this probability does not depend on the length of $s$. Therefore, generating infinitely many zeros has 0 probability.&lt;/p&gt;&#xA;" OwnerUserId="13774" LastEditorUserId="13774" LastEditDate="2013-02-16T22:18:44.567" LastActivityDate="2013-02-16T22:18:44.567" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="16500" PostTypeId="1" AcceptedAnswerId="16501" CreationDate="2013-02-16T16:32:50.720" Score="1" ViewCount="317" Body="&lt;p&gt;these are some probably very hard but possibly significant and deep questions related to an unusual but intriguing possible &quot;recursive&quot; construction/formulation in SAT, with some important &quot;structure&quot; or &quot;dynamics&quot; not previously considered. do not expect definitive answers in the short term but am sharing in a preliminary/sketchy form &amp;amp; maybe somebody in cyberspace/TCS will find it interesting also. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;consider a resolution based proof for a set of SAT clauses. that resolution proof is in the form of a &lt;em&gt;2-indegree&lt;/em&gt; DAG (or in special cases, a tree) where the leaf nodes are clauses, and every node has 2 &quot;ancestors&quot;. (this is potentially very interesting though because circuits are usually/often represented as DAGs and can be and are also converted to 2-indegree.)&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;can &lt;em&gt;arbitrary/all&lt;/em&gt; 2-indegree DAGs be represented by SAT resolution proofs based on selecting particular/specially constructed/contrived SAT instances? in other words, given an arbitrary 2-indegree DAG, are there clauses that &quot;generate&quot; it in the corresponding resolution (refutation?) proof, and if so, what are they? and also what are the &lt;em&gt;minimal&lt;/em&gt; clauses that do so?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;(of course a resolution DAG could be either for a proof or a refutation proof. am not specifying/fixing that for this above question. also &lt;em&gt;minimal&lt;/em&gt; is not yet/further defined. it could be either &quot;length&quot; (number) or &quot;width&quot; (number of variables) of the SAT instance, or some combination or maybe some other meaningful/natural measure.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;it feels like it could be used in a (important?) proof, eg possibly for complexity class separation via diagonalization, somehow, someday. am working on a further/related possibly remarkable construction that requires a &quot;yes&quot; answer ie that all 2-indegree DAGs are possible. (hope to post further on that later.) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;these do seem to be fundamental yet novel, not-previously considered questions based on the literature. &quot;nearby&quot; refs could be useful. my intention will be to upvote and/or accept any partial but intelligent answers &amp;amp; encourage others to follow.&lt;/p&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="7884" LastEditDate="2013-02-16T17:57:14.640" LastActivityDate="2013-02-17T01:19:48.770" Title="in SAT resolution proofs, are all DAGs possible?" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;graph-theory&gt;&lt;proofs&gt;&lt;np-complete&gt;" AnswerCount="1" CommentCount="15" FavoriteCount="3" ClosedDate="2013-02-17T01:20:04.417" ContentLicense="CC BY-SA 3.0" />
  <row Id="16501" PostTypeId="2" ParentId="16500" CreationDate="2013-02-16T17:16:19.183" Score="5" Body="&lt;p&gt;Let's assume that you do not allow Tautologies in the leafs, and consider a structure where exactly 3 leafs have edges to a node $A$. Denote the leaf clauses by $(a\vee L_1),(\neg a\vee b\vee L_2),(\neg b\vee L_3)$, where $L_1,L_2,L_3$ are discunctions of literals.&#xA;Since they all have edges to $A$, we have the following:&#xA;Leaves 1,2 resolve to $(b\vee L_1\vee L_2)$.&#xA;Leaves 2,3 resolve to $(\neg a\vee L_2\vee L_3)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since $A$ is a single node, then these expressions are equal. &#xA;Since there is no initial tautology, then $b\notin L_3$, but this implies that $b\in L_2$, which isn't the case (assume we have no duplicates).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So the only possibility is $b=\neg a$, but this means that $L_1=L_2\vee L_3$ and $L_3=L_2\vee L_3$, so the leaves aren't distinct.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If I am not mistaken, then this means that this structure is not possible, so not every DAG is possible (under the assumptions).&lt;/p&gt;&#xA;" OwnerUserId="7531" LastActivityDate="2013-02-16T17:16:19.183" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="16503" PostTypeId="1" AcceptedAnswerId="16518" CreationDate="2013-02-16T19:41:28.007" Score="23" ViewCount="2152" Body="&lt;p&gt;Given a set $S$ of people I'd like to sit them for a sequence of meals at tables of size $k$. (Of course, there are enough tables to sit all $|S|$ for each meal.) I'd like to arrange this such that nobody shares a table with the same person twice. Typical values are $|S|=45$ and $k=5$ and 6 to 10 meals.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Put in a more abstract way, I'd like to find a sequence of partitions of $S$ such that each partition consists of pairwise disjoint subsets of cardinality $k$ and the added global property that any intersection between two such subsets contains no more than one element. I suspect this can be formulated as a graph theoretical or combinatorical problem. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'd be grateful for a better formulation of the problem and pointers to relevant literature as it is outside of my domain.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The background: this could be used for seating arrangements at &lt;a href=&quot;http://www.dagstuhl.de&quot;&gt;Schloss Dagstuhl&lt;/a&gt; where many computer scientists come to discuss their research over the course of a week. Currently seating is done randomly and unsurprisingly some people find themselves sitting with the same people twice (or more often) over the course of a week. Also unsurprisingly, we receive some complaints about this and vague suggestions how to improve this. I'd like to understand this better. A stronger formulation of the problem involves optimizing who is sitting next to each other but I believe this is not relevant for tables of size 5. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Outside of the application I think the interesting question is for the maximum number of meals that can be served for a given $S$ and $k$, i.e., how many such partitions exist.&lt;/p&gt;&#xA;" OwnerUserId="628" LastEditorUserId="628" LastEditDate="2013-02-18T08:16:18.413" LastActivityDate="2013-02-22T13:22:52.620" Title="Good seating arrangements for sequence of meals and tables of size k for a group of people" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;" AnswerCount="5" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16504" PostTypeId="2" ParentId="16486" CreationDate="2013-02-16T21:31:10.177" Score="5" Body="&lt;p&gt;I am not familiar with the notion of universal predictor, and I did not follow everything you wrote; in particular, I did not follow your sketch of the proof of existence of a universal predictor in E.  But assuming that there exists a universal open predictor that belongs to E, the answer to your question is positive.  And I am afraid that you will probably be disappointed by the reason.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Edit in revision 2: I changed the construction in response to the added restriction in revision 2 of the question, but the general idea is the same: mix a hard language into a universal open predictor in such a way that the definition of universal open predictor does not notice the difference.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let &lt;i&gt;T&lt;/i&gt; = {0&lt;sup&gt;|&lt;i&gt;x&lt;/i&gt;|&lt;/sup&gt;11&lt;i&gt;x&lt;/i&gt;: &lt;i&gt;x&lt;/i&gt;∈{0,1}&lt;sup&gt;*&lt;/sup&gt;}.  Note that every word in &lt;i&gt;T&lt;/i&gt; has an even length.  An important property of &lt;i&gt;T&lt;/i&gt; is that no word in &lt;i&gt;T&lt;/i&gt; is a proper prefix of another word in &lt;i&gt;T&lt;/i&gt;.  This implies that if the symmetric difference between two languages &lt;i&gt;V&lt;/i&gt; and &lt;i&gt;W&lt;/i&gt; is contained in &lt;i&gt;T&lt;/i&gt;, then for every infinite sequence &lt;i&gt;s&lt;/i&gt;∈{0,1}&lt;sup&gt;ω&lt;/sup&gt;, there is at most one &lt;i&gt;n&lt;/i&gt; such that χ&lt;sub&gt;&lt;i&gt;V&lt;/i&gt;&lt;/sub&gt;(&lt;i&gt;s&lt;/i&gt;&lt;sub&gt;&amp;lt;2&lt;i&gt;n&lt;/i&gt;&lt;/sub&gt;)≠χ&lt;sub&gt;&lt;i&gt;W&lt;/i&gt;&lt;/sub&gt;(&lt;i&gt;s&lt;/i&gt;&lt;sub&gt;&amp;lt;2&lt;i&gt;n&lt;/i&gt;&lt;/sub&gt;), and in particular &lt;i&gt;V&lt;/i&gt; is a universal open predictor if and only if &lt;i&gt;W&lt;/i&gt; is a universal open predictor.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is easy to see that there exists an EXPSPACE-complete language which is a subset of &lt;i&gt;T&lt;/i&gt;.  Let &lt;i&gt;L&lt;/i&gt; be such a language.  Let &lt;i&gt;V&lt;/i&gt; be a universal open predictor that belongs to E, and hence also to EXPSPACE.  Define a language &lt;i&gt;W&lt;/i&gt; = &lt;i&gt;L&lt;/i&gt; ∪ (&lt;i&gt;V&lt;/i&gt;∖&lt;i&gt;T&lt;/i&gt;).  Because &lt;i&gt;V&lt;/i&gt; is a universal open predictor and the symmetric difference between &lt;i&gt;V&lt;/i&gt; and &lt;i&gt;W&lt;/i&gt; is contained in &lt;i&gt;T&lt;/i&gt;, &lt;i&gt;W&lt;/i&gt; is also a universal open predictor.  It is easy to see that &lt;i&gt;W&lt;/i&gt; is EXPSPACE-complete, and therefore P&lt;sup&gt;&lt;i&gt;W&lt;/i&gt;&lt;/sup&gt; = NP&lt;sup&gt;&lt;i&gt;W&lt;/i&gt;&lt;/sup&gt; = EXPSPACE.  This concludes that &lt;i&gt;W&lt;/i&gt; satisfies the desired property.&lt;/p&gt;&#xA;" OwnerUserId="567" LastEditorUserId="567" LastEditDate="2013-02-17T05:18:22.463" LastActivityDate="2013-02-17T05:18:22.463" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="16508" PostTypeId="1" AcceptedAnswerId="16517" CreationDate="2013-02-16T23:25:03.990" Score="7" ViewCount="400" Body="&lt;p&gt;I see here and there mention of the $\lambda_I$-Calculus (in which every variable must be used at least once) and the $\lambda_K$-Calculus (in which a variable can also be unused).  Are they equivalent?  Why has the latter kinda obscured the former?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;EDIT&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By &lt;em&gt;equivalent&lt;/em&gt;, I mean they have the same expressive power, namely, being &lt;em&gt;universal&lt;/em&gt; or &lt;em&gt;Turing complete&lt;/em&gt;.&lt;/p&gt;&#xA;" OwnerUserId="656" LastEditorUserId="656" LastEditDate="2014-02-11T07:43:43.110" LastActivityDate="2014-02-11T07:43:43.110" Title="Are the $\lambda_I$-Calculus and the $\lambda_K$-Calculus equivalent?" Tags="&lt;lambda-calculus&gt;" AnswerCount="3" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="16510" PostTypeId="2" ParentId="16335" CreationDate="2013-02-17T03:55:31.733" Score="7" Body="&lt;p&gt;Here's another example of a tight bound having a log factor. (This is Theorem 6.17 from Boolean Function Complexity: Advances and Frontiers by Stasys Jukna.)&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;The formula size (over the full binary basis or the De Morgan basis) of the element distinctness problem is $\Theta(n^2/\log n)$, where $n$ is the number of bits in the input.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The reason the log factor appears in the denominator is that representing $m$ integers between 1 and $\text{poly}(m)$ requires $n := O(m \log m)$ bits in total, since each integer requires $O(\log m)$ bits. So an upper bound that looks natural in terms of $m$, like $\Theta(m^2 \log m)$, becomes $\Theta(n^2/\log n)$ when expressed in terms of $n$, where $n$ is the number of bits in the input.&lt;/p&gt;&#xA;" OwnerUserId="206" LastActivityDate="2013-02-17T03:55:31.733" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16511" PostTypeId="2" ParentId="16508" CreationDate="2013-02-17T05:00:05.640" Score="0" Body="&lt;p&gt;In effect, intuitively, by definition later one includes former one as a subset.&#xA;Also observe that in the real world, unused variables are norm, unless compiler catches it up.&#xA;Does that answer some part of your query?&lt;/p&gt;&#xA;" OwnerUserId="13785" LastActivityDate="2013-02-17T05:00:05.640" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16512" PostTypeId="1" AcceptedAnswerId="16547" CreationDate="2013-02-17T05:05:27.463" Score="18" ViewCount="4597" Body="&lt;p&gt;Is it possible to algorithmically test if a computable number is rational or integer? &#xA;In other words, would it be possible for a library that implements computable numbers to provide the functions &lt;code&gt;isInteger&lt;/code&gt; or &lt;code&gt;isRational&lt;/code&gt;?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am guessing that it is not possible, and that this is somehow related to the fact that it is not possible to test if two numbers are equal, but I don't see how to prove it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit: A computable number $x$ is given by a function $f_x(\epsilon)$ that can return a rational approximation of $x$ with precision $\epsilon$: $|x - f_x(\epsilon)| \leq \epsilon$, for any $\epsilon &amp;gt; 0$. Given such function, is it possible to test if $x \in \mathrm{Q}$ or $x \in \mathrm{Z}$?&lt;/p&gt;&#xA;" OwnerUserId="7330" LastEditorUserId="7330" LastEditDate="2013-02-19T00:51:10.160" LastActivityDate="2013-02-19T17:14:27.117" Title="Is it possible to test if a computable number is rational or integer?" Tags="&lt;computability&gt;&lt;computing-over-reals&gt;" AnswerCount="5" CommentCount="14" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="16515" PostTypeId="2" ParentId="16512" CreationDate="2013-02-17T09:02:32.843" Score="10" Body="&lt;p&gt;I tend to think this is undecidable:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $x$ be a computable irrational number.&#xA;Consider a TM $M$. You can construct a function that runs $M$ on $\epsilon$, and in parallel computes $x$ with growing precision. &#xA;If $M$ halts, it stops computing $x$, otherwise it continues.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Deciding if this function computes a rational number is equivalent to the halting problem.&lt;/p&gt;&#xA;" OwnerUserId="7531" LastActivityDate="2013-02-17T09:02:32.843" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="16517" PostTypeId="2" ParentId="16508" CreationDate="2013-02-17T12:27:11.103" Score="10" Body="&lt;p&gt;You've basically answered the question yourself.&lt;/p&gt;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$\lambda K$&lt;/span&gt; is just another name for the standard, untyped lambda calculus.&lt;/p&gt;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$\lambda I$&lt;/span&gt; is a strict subset of &lt;span class=&quot;math-container&quot;&gt;$\lambda K$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$\lambda I$&lt;/span&gt; doesn't allow terms where one abstracts over a variable but doesn't use it. So&#xA;&lt;span class=&quot;math-container&quot;&gt;$$K = \lambda xy.x \in \lambda K$$&lt;/span&gt;&#xA;but&#xA;&lt;span class=&quot;math-container&quot;&gt;$$ K \not\in \lambda I$$&lt;/span&gt;&lt;/p&gt;&#xA;&lt;p&gt;Thanks to this restriction, &lt;span class=&quot;math-container&quot;&gt;$\lambda I$&lt;/span&gt; has some interesting properties, in particular if &lt;span class=&quot;math-container&quot;&gt;$M$&lt;/span&gt; has a normal form then so do all its sub-terms.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&quot;http://mathgate.info/cebrown/notes/barendregt.php&quot; rel=&quot;noreferrer&quot;&gt;Barendregt, H. P. The Lambda Calculus: Its Syntax and Semantics&lt;/a&gt; contains some notes about &lt;span class=&quot;math-container&quot;&gt;$\lambda I$&lt;/span&gt;, namely:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;... the &lt;span class=&quot;math-container&quot;&gt;$\lambda I$&lt;/span&gt; calculus is sufficient to define all recursive functions  (since &lt;span class=&quot;math-container&quot;&gt;$K_1 := \lambda xy . yIIx$&lt;/span&gt; satisfies &lt;span class=&quot;math-container&quot;&gt;$K_1xc_n = x$&lt;/span&gt; for each of Church's numerals &lt;span class=&quot;math-container&quot;&gt;$c_n := \lambda fz . f^n z$&lt;/span&gt; - it is also the case that for each finite set &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt; of nf's, we can find a &amp;quot;local &lt;span class=&quot;math-container&quot;&gt;$K$&lt;/span&gt; for &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt;&amp;quot; &lt;span class=&quot;math-container&quot;&gt;$K_n$&lt;/span&gt; such that &lt;span class=&quot;math-container&quot;&gt;$K_nMN = M$&lt;/span&gt; for each &lt;span class=&quot;math-container&quot;&gt;$N$&lt;/span&gt; in &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt;).&lt;/p&gt;&#xA;&lt;p&gt;... The &lt;span class=&quot;math-container&quot;&gt;$\lambda I$&lt;/span&gt; calculus corresponds to the combinatory logic with primitive combinators &lt;span class=&quot;math-container&quot;&gt;$I$&lt;/span&gt;, &lt;span class=&quot;math-container&quot;&gt;$B$&lt;/span&gt;, &lt;span class=&quot;math-container&quot;&gt;$C$&lt;/span&gt;, and &lt;span class=&quot;math-container&quot;&gt;$S$&lt;/span&gt;. ...&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="10336" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2013-02-17T19:41:20.510" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="16518" PostTypeId="2" ParentId="16503" CreationDate="2013-02-17T14:59:06.753" Score="11" Body="&lt;p&gt;Here's a variant of the original answer (below) that gives the desired setting: tables of size 5, 45 people, and 10 meals, except that one meal has a few tables of size 4.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $F$ be the field of size 9.  Pick 4 vertical, degenerate lines  $\{(b,x) | x \in F\}$ for every $b = 0,1,2,3$ and declare their people &quot;empty.&quot;  We are left with 81 - 9x4 = 45 people.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;9 meals are given by slopes $a = 0,1,\ldots,8$.  The intersections with the 4 empty degenerate lines reduce the table size to 9-4=5.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An additional meal is given by the remaining degenerate lines $\{(b,x) | x \in F\}$ for every $b = 4,5,6,7,8$.  Here the table size is 9.  However (in any solution) we can break a table of size 9 into a table of size 5 and one of size 4.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If there are a few more people one can use the field of size 11.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;First let us handle $k^2$ people and $k$ meals.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Pick a finite field $F$ of size $k$ and identify people with $F \times F$.  To each meal there corresponds a slope, to a table a line parallel to that slope.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Specifically, meal $a$ has $k$ tables $\{(x,ax+b) | x \in F\}$ for every $b \in F$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The intersection property you want is the fact that lines with distinct slopes intersect in exactly one point.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;To handle $2k^2$ people, divide them up in two groups of $k^2$ each, and apply the construction above to each group.  To handle $2k^2 - k = 45$, label (in the first group) a fixed line such as $\{(x,x)|x\in F\}$ as &quot;empty.&quot;  You may have a few tables with $k-1$ people.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For more meals one could e.g. pick a different partition in two groups at the beginning of the 6th meal. (Say you interleave the original partition, to ensure that the two groups &quot;mix.&quot;) Though of course this may result in some intersections.&lt;/p&gt;&#xA;" OwnerUserId="259" LastEditorUserId="259" LastEditDate="2013-02-22T13:22:52.620" LastActivityDate="2013-02-22T13:22:52.620" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="16520" PostTypeId="2" ParentId="16503" CreationDate="2013-02-17T15:56:59.527" Score="2" Body="&lt;p&gt;I'm not sure if you require a deterministic algorithm, but I've solved a similar problem in the past using a &lt;a href=&quot;http://en.wikipedia.org/wiki/Markov_chain_Monte_Carlo&quot; rel=&quot;nofollow&quot;&gt;Markov chain Monte Carlo method&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can see &lt;a href=&quot;https://github.com/ChimeraCoder/FreeSeat&quot; rel=&quot;nofollow&quot;&gt;a working example of this approach on Github&lt;/a&gt; - this program attempts to seat a group of people at tables of a fixed size, given a set of seating constraints which may be either positive or negative (&quot;must&quot; or &quot;must not&quot;), and either absolute or relative (&quot;preferable&quot;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note: this program doesn't solve &lt;em&gt;exactly&lt;/em&gt; the same problem that you propose, but it does give a working demonstration of a Markov chain Monte Carlo method, and it's close enough that you can easily adjust it as needed for your problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The program solves the problem for one dinner, but in your case, an easy way of approaching the problem would be to run the algorithm once for each dinner, each time providing each diner's previous companions as either fuzzy or absolute negative requirements. (The advantage of fuzzy requirements is that you are guaranteed that the algorithm will halt on all inputs, even if a perfect arrangement cannot be found).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In this process, we would first attempt to seat each diner according to the absolute requirements - you may want to skip this part of the process, since it only works when the absolute requirements are relatively small in number; otherwise you end up with &lt;a href=&quot;http://en.wikipedia.org/wiki/Boolean_satisfiability_problem&quot; rel=&quot;nofollow&quot;&gt;an incredibly huge problem&lt;/a&gt;!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the next step, we create a series of tables and randomly assign participants to the tables for an initial configuration, and a score is calculated to represent the number of fuzzy requirements that have been satisfied. Pairs of diners are randomly switched, and the score is recalculated for those tables to determine whether the new configuration is preferable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This part of the process should ideally be repeated with several initial configurations, and can easily be computed in parallel.&lt;/p&gt;&#xA;" OwnerUserId="13793" LastActivityDate="2013-02-17T15:56:59.527" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16521" PostTypeId="1" AcceptedAnswerId="16527" CreationDate="2013-02-17T20:25:18.307" Score="16" ViewCount="1523" Body="&lt;p&gt;We know that edge colourings of a graph $G$ &lt;em&gt;are&lt;/em&gt; vertex colourings of a special graph, &#xA;namely of the line graph $L(G)$ of $G$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a graph operator $\Phi$ such that vertex colourings of a graph $G$ &lt;em&gt;are&lt;/em&gt; &#xA;edge colourings of the graph $\Phi(G)$ ? &#xA;I am interested in such a graph operator that can be constructed in polynomial time, &#xA;i.e. the graph  $\Phi(G)$ can be obtained from $G$ in polynomial time. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Remark&lt;/em&gt;:  Similar question can be asked for stable sets and matchings. A matching &#xA;in $G$ is a stable set in $L(G)$. Is there a graph operator $\Psi$ such that stable sets &#xA;in $G$ are matchings in $\Psi(G)$? &#xA;Since STABLE SET is $\mathsf{ NP}$-complete and MATCHING belongs to $ \mathsf{P}$, such a &#xA;graph operator $\Psi$ (if exists) cannot be constructed in polynomial time, assuming &#xA;$\mathsf{NP}\not=\mathsf{P}$.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT: Inspired by @usul's answer and @Okamoto's and @King's comments, I found a weaker form for my problem: Vertex colourings of a graph $G$ are edge colourings of a &lt;em&gt;hypergraph&lt;/em&gt; $\Phi(G)$ defined as follows. The vertex set of $\Phi(G)$ is the same&#xA;vertex set of $G$. For each vertex $v$ of $G$, the closed neighbourhood $N_G[v]= N_G(v) \cup\{v\}$ is an edge of the hypergraph $\Phi(G)$. Then $G$ is the line graph of the hypergraph $\Phi(G)$ and therefore vertex colourings of $G$ are edge colourings of $\Phi(G)$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Again, I am grateful for all answers and comments showing that, with or without assuming $\mathsf{NP}\not=\mathsf{P}$, the operator I am looking for cannot exist. It would be nice if I could accept all the answers!&lt;/p&gt;&#xA;" OwnerUserId="13136" LastEditorUserId="13136" LastEditDate="2013-02-20T21:53:26.500" LastActivityDate="2013-02-25T11:18:12.277" Title="Are vertex colourings--in a sense--edge colourings?" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;" AnswerCount="3" CommentCount="3" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="16522" PostTypeId="2" ParentId="16521" CreationDate="2013-02-17T22:40:25.253" Score="14" Body="&lt;p&gt;The question contains some ambiguity in what you mean by “vertex colorings of a graph &lt;i&gt;G&lt;/i&gt; are edge colorings of a graph &lt;i&gt;H&lt;/i&gt;,” but it is NP-hard to construct a graph whose edge chromatic number is equal to the (vertex) chromatic number of a given graph.  Formally, the following relation problem is NP-hard.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Representing chromatic number as edge chromatic number&lt;/strong&gt;&lt;br&gt;&#xA;&lt;em&gt;Instance&lt;/em&gt;: A graph &lt;i&gt;G&lt;/i&gt;.&lt;br&gt;&#xA;&lt;em&gt;Solution&lt;/em&gt;: A graph &lt;i&gt;H&lt;/i&gt; such that the edge chromatic number χ’(&lt;i&gt;H&lt;/i&gt;) of &lt;i&gt;H&lt;/i&gt; is equal to the chromatic number χ(&lt;i&gt;G&lt;/i&gt;) of &lt;i&gt;G&lt;/i&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is because &lt;a href=&quot;http://en.wikipedia.org/wiki/Vizing%27s_theorem&quot;&gt;Vizing’s theorem&lt;/a&gt; gives a (trivial) efficient algorithm which approximates the edge chromatic number within an additive error of 1 whereas the chromatic number is hard even to approximate in various senses.  For example, Khanna, Linial, and Safra [KLS00] showed that the following problem is NP-complete (and later Guruswami and Khanna [GK04] gave a much simpler proof):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;3-colorable versus non-4-colorable&lt;/strong&gt;&lt;br&gt;&#xA;&lt;em&gt;Instance&lt;/em&gt;: A graph &lt;i&gt;G&lt;/i&gt;.&lt;br&gt;&#xA;&lt;em&gt;Yes-promise&lt;/em&gt;: &lt;i&gt;G&lt;/i&gt; is 3-colorable.&lt;br&gt;&#xA;&lt;em&gt;No-promise&lt;/em&gt;: &lt;i&gt;G&lt;/i&gt; is not 4-colorable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This result is sufficient to prove the NP-hardness that I claimed at the beginning.  A proof is left as an exercise, but here is a hint:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Exercise&lt;/strong&gt;.  Prove that the aforementioned problem “Representing chromatic number as edge chromatic number” is NP-hard under polynomial-time functional reducibility by reducing “3-colorable versus non-4-colorable” to it.  That is, construct two polynomial-time functions &lt;i&gt;f&lt;/i&gt; (which maps a graph to a graph) and &lt;i&gt;g&lt;/i&gt; (which maps a graph to a bit) such that&lt;/p&gt;&#xA;  &#xA;  &lt;ul&gt;&#xA;  &lt;li&gt;If &lt;i&gt;G&lt;/i&gt; is a 3-colorable graph and &lt;i&gt;H&lt;/i&gt; is a graph such that χ(&lt;i&gt;f&lt;/i&gt;(&lt;i&gt;G&lt;/i&gt;))=χ’(&lt;i&gt;H&lt;/i&gt;), then &lt;i&gt;g&lt;/i&gt;(&lt;i&gt;H&lt;/i&gt;)=1.&lt;/li&gt;&#xA;  &lt;li&gt;If &lt;i&gt;G&lt;/i&gt; is a non-4-colorable graph and &lt;i&gt;H&lt;/i&gt; is a graph such that χ(&lt;i&gt;f&lt;/i&gt;(&lt;i&gt;G&lt;/i&gt;))=χ’(&lt;i&gt;H&lt;/i&gt;), then &lt;i&gt;g&lt;/i&gt;(&lt;i&gt;H&lt;/i&gt;)=0.&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;h3&gt;References&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;[GK04] Venkatesan Guruswami and Sanjeev Khanna.  On the hardness of 4-coloring a 3-colorable graph.  &lt;em&gt;SIAM Journal on Discrete Mathematics&lt;/em&gt;, 18(1):30–40, 2004.  DOI: &lt;a href=&quot;http://dx.doi.org/10.1137/S0895480100376794&quot;&gt;10.1137/S0895480100376794&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[KLS00] Sanjeev Khanna, Nathan Linial, and Shmuel Safra.  On the hardness of approximating the chromatic number.  &lt;em&gt;Combinatorica&lt;/em&gt;, 20(3):393–415, March 2000.  DOI: &lt;a href=&quot;http://dx.doi.org/10.1007/s004930070013&quot;&gt;10.1007/s004930070013&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="567" LastEditorUserId="567" LastEditDate="2013-02-18T17:15:30.733" LastActivityDate="2013-02-18T17:15:30.733" CommentCount="14" ContentLicense="CC BY-SA 3.0" />
  <row Id="16523" PostTypeId="1" CreationDate="2013-02-17T23:13:02.680" Score="1" ViewCount="183" Body="&lt;p&gt;I'm starting a research about parallel clustering. I see a ton of articles on this topic, so that I don't know where to start. I'd like to get familiar with classic methods of parallelizing clustering. Are there any &quot;have-to-know&quot; books/papers in this area, that would provide me a good introduction? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm interested in shared-nothing architecture, generally something that may be suitable for map-reduce model.&lt;/p&gt;&#xA;" OwnerUserId="13797" LastActivityDate="2013-02-18T09:42:45.740" Title="Classic parallel clustering algorithms" Tags="&lt;reference-request&gt;&lt;soft-question&gt;&lt;dc.parallel-comp&gt;&lt;clustering&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16524" PostTypeId="2" ParentId="16503" CreationDate="2013-02-17T23:17:40.553" Score="0" Body="&lt;p&gt;I think any valid seating arrangement is equivalent to a d-regular hypergraph on |S| vertices, where d is the number of dinners, with rank at most k and maximum codegree 1.  The trivial solution is to have everyone always sit by themselves, but I guess the goal is to minimize the number of tables?&lt;/p&gt;&#xA;" OwnerUserId="13800" LastActivityDate="2013-02-17T23:17:40.553" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16525" PostTypeId="2" ParentId="16523" CreationDate="2013-02-17T23:18:19.930" Score="3" Body="&lt;p&gt;There's been recent work on doing clustering in the MRC model (a formal model for analyzing mapreduce computations). Specifically, you should look at the work by &lt;a href=&quot;http://theory.stanford.edu/~sergei/papers/vldb12-kmpar.pdf&quot; rel=&quot;nofollow&quot;&gt;Bahmani et al&lt;/a&gt; in VLDB 2012 on k-means$||$ and earlier work by &lt;a href=&quot;http://dl.acm.org/citation.cfm?doid=2020408.2020515&quot; rel=&quot;nofollow&quot;&gt;Ene et al&lt;/a&gt; in KDD 2011 on the same topic. These papers have some discussion of the general problem of parallelizing $k$-means, which might be a good jumping off point for what you're interested in.&lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2013-02-17T23:18:19.930" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16526" PostTypeId="2" ParentId="12294" CreationDate="2013-02-18T01:52:48.023" Score="1" Body="&lt;p&gt;Great answer. I just want to add that the problem you posed seems to require a solution like  Nash equilibrium or a Evolutionary stable strategy. That does not typically come under mechanism design. Its more basic game theory where everything (the game) is well defined and you find the equilibrium outcome. Mechanism design moves in the other way. Given you want a desirable outcome (like bidders revealing information in an auction or world peace:)), how would you design the game itself (given inputs like agents preferences, utility etc) The field of mechanism design  is definitely more abstract, interesting but powerful application of game theory. (I'm an amateur student trying to learn economics, so please correct me if I'm wrong).  &lt;/p&gt;&#xA;" OwnerUserId="13802" LastActivityDate="2013-02-18T01:52:48.023" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16527" PostTypeId="2" ParentId="16521" CreationDate="2013-02-18T04:47:45.540" Score="16" Body="&lt;p&gt;By analogy with the &lt;a href=&quot;http://en.wikipedia.org/wiki/Line_graph&quot;&gt;line graph&lt;/a&gt;, I think you are asking the following:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;For every undirected graph $G = (V,E)$, does there exist an undirected graph $G' = (V',E')$ such that each vertex $v \in V$ corresponds to an edge $(v_1,v_2) \in E'$ and the edges corresponding to $u \in V$ and $v \in V$ share at least one endpoint if and only if $(u,v) \in E$?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The answer can be seen to be &lt;em&gt;no&lt;/em&gt;. Consider the four-vertex tree $G$ with root $v$ having three children $x,y,z$. In $G'$, we must have four edges: $(v_1,v_2),(x_1,x_2),(y_1,y_2),(z_1,z_2)$. Further, it must be the case that either $v_1$ or $v_2$ is an endpoint of each of the other three edges (&lt;em&gt;i.e.&lt;/em&gt;, $\left| \{v_1,v_2\} \cap \{x_1,x_2\} \right| \geq 1$, etc). But this means that at least two of the other three edges must share a common endpoint, which violates our requirements since no two of $x,y,z$ are adjacent in the original graph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think the same graph will give you a counterexample for the matching question as well.&lt;/p&gt;&#xA;" OwnerUserId="8243" LastActivityDate="2013-02-18T04:47:45.540" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="16528" PostTypeId="2" ParentId="16512" CreationDate="2013-02-18T08:46:14.093" Score="10" Body="&lt;p&gt;Assuming a real is given as a sequence of rational approximations with the error bounded by some known computable function which tends to zero (all such approximations are equivalent, and correspond to the usual topology on the reals).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Computable functions are continuous. IsRational and IsInteger are not continuous and therefore not computable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;IsInteger is &lt;em&gt;semi&lt;/em&gt;-computable: there is a procedure that will eventually output &quot;false&quot; if the input is not an integer, but will run forever if the input is an integer. This procedure simply looks at each approximation and checks whether there is an integer within the error bound. This function is continuous when we use the Sierpiński topology on {true, false} (i.e. {false} is an open set but {true} is not).&lt;/p&gt;&#xA;" OwnerUserId="2241" LastActivityDate="2013-02-18T08:46:14.093" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="16529" PostTypeId="2" ParentId="16523" CreationDate="2013-02-18T09:42:45.740" Score="3" Body="&lt;p&gt;You may be interested to &lt;a href=&quot;http://www.cs.gsu.edu/~wkim/index_files/SurveyParallelClustering.pdf&quot; rel=&quot;nofollow&quot;&gt;this survey&lt;/a&gt; done by a Ph.D. student, which is updated to 2009 and presents classical work on parallel clustering. The survey is full of references you may then read to delve into the gory details.&lt;/p&gt;&#xA;" OwnerUserId="4208" LastActivityDate="2013-02-18T09:42:45.740" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16530" PostTypeId="1" AcceptedAnswerId="16532" CreationDate="2013-02-18T11:08:49.300" Score="14" ViewCount="3083" Body="&lt;p&gt;The famous 1983 paper by H. Lenstra &lt;em&gt;&lt;a href=&quot;http://www.jstor.org/stable/3689168&quot;&gt;Integer Programming With A Fixed Number Of Variables&lt;/a&gt;&lt;/em&gt; states that integer programs with a fixed number of variables are solvable in time polynomial in the length of the data.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I interpret that as follows.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Integer programming in general still is NP-complete but if my typical problem size at hand (say about 10.000 variables, an arbitrary number of constraints) is feasible in practice then I could construct an algorithm that scales polynomially in the number of constraints but not in the number of variables and constraints.&lt;/li&gt;&#xA;&lt;li&gt;The result is also applicable for binary programming since I can force any integer to 0-1 by adding an appropriate constraint.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Is my interpretation correct?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does this result have any practical implications? That is, is there an implementation available or is it used in popular solvers like CPLEX, Gurobi, or Mosek?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some quotes from the paper:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;This length may, for our purposes, be defined to be n · m · log(a +&#xA;  2), where a denotes the maximum of the absolute values of the&#xA;  coefficients of A and b. Indeed, no such polynomial algorithm is&#xA;  likely to exist, since the problem in question is NP-complete&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;[...]&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;It was conjectured [5], [10] that for any fixed value of n there&#xA;  exists a polynomial algorithm for the solution of the integer linear&#xA;  programming problem. In the present paper we prove this conjecture by&#xA;  exhibiting such an algorithm. The degree of the polynomial by which&#xA;  the running time of our algorithm can be bounded is an exponential&#xA;  function of n.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="13807" LastEditorUserId="4193" LastEditDate="2013-02-19T03:07:35.140" LastActivityDate="2013-02-21T06:23:02.073" Title="Integer programming with a fixed number of variables" Tags="&lt;co.combinatorics&gt;&lt;linear-programming&gt;&lt;integer-programming&gt;" AnswerCount="2" CommentCount="3" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="16531" PostTypeId="2" ParentId="16503" CreationDate="2013-02-18T13:14:16.470" Score="3" Body="&lt;p&gt;If you want any two people to sit at the same table exactly once, then this is called a &lt;a href=&quot;http://en.wikipedia.org/wiki/Block_design#Resolvable_2-designs&quot; rel=&quot;nofollow&quot;&gt;resolvable 2-design&lt;/a&gt; and has been studied a lot. Of course allowing to skip a few meals would give a solution to your problem when two people can meet at most once. (But other solutions might exist, I suppose.)&lt;/p&gt;&#xA;" OwnerUserId="419" LastActivityDate="2013-02-18T13:14:16.470" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16532" PostTypeId="2" ParentId="16530" CreationDate="2013-02-18T13:50:59.873" Score="20" Body="&lt;p&gt;The current fastest algorithm is actually linear in the length of the integer linear program for every fixed value of $n$. In his PhD thesis, &lt;a href=&quot;http://www.ii.uib.no/~daniello/papers/PhdThesis_Daniel.pdf#page=33&quot; rel=&quot;noreferrer&quot;&gt;Lokshtanov (2009)&lt;/a&gt; nicely summarizes the results by Lenstra (1983), Kannan (1987), and Frank &amp;amp; Tardos (1987) by the following theorem.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Integer Linear Programming can be solved using $O(n^{2.5n+o(n)} \cdot L)$&#xA;  arithmetic operations and space polynomial in $L$. Here $L$ is the&#xA;  number of bits in the input and $n$ the number of variables in the&#xA;  integer linear program.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Thus, the problem is fixed-parameter linear parameterized by the number of variables.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) Yes, Integer Linear Programming is &quot;still&quot; NP-complete. The running time of the theoretical result above depends only linearly on the number of constraints, so it scales nicely in the number of constraints. However I know of no actual implementation of this algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) Yes, making the variables take binary values is straightforward as you observed.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Update.&lt;/strong&gt; The dependence on $L$ can actually be improved in the running time for Integer Linear Programming. Based on &lt;a href=&quot;http://dx.doi.org/10.1145/201019.201036&quot; rel=&quot;noreferrer&quot;&gt;Clarkson (1995)&lt;/a&gt; and &lt;a href=&quot;http://dx.doi.org/10.1007/978-3-540-39658-1_20&quot; rel=&quot;noreferrer&quot;&gt;Eisenbrand (2003)&lt;/a&gt; (see the comments below) one can obtain an algorithm with running time $$O(2^nnm + 8^n n \sqrt{m \log m} \log m + n^{2.5n+o(n)}s\log m)$$&#xA;where $m$ is the number of constraints and $s$ is the maximum number of bits required to encode a constraint or the objective function.&lt;/p&gt;&#xA;" OwnerUserId="72" LastEditorUserId="72" LastEditDate="2013-02-21T06:23:02.073" LastActivityDate="2013-02-21T06:23:02.073" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="16535" PostTypeId="2" ParentId="16503" CreationDate="2013-02-18T16:08:00.810" Score="4" Body="&lt;p&gt;Here's a (loose?) upper bound on the number of meals you can serve.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $|S| = n$ and assume that $n$ is divisible by $k$. Also, assume that you have exactly $n/k$ tables and you want each table to be full during each meal.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For each meal, construct a graph with a node for each person in $S$ and an edge when two people share a table. This graph is a collection of $n/k$ cliques each of size $k$. Thus the number of edges in the graph is $\Theta(nk)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since you don't want any edge to occur in two different meals, and since the total number of edges possible on a vertex set of size $n$ is $\Theta(n^2)$, this shows you can only serve $O(n/k)$ meals.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Actually, it's not difficult to find the constants here and when you do the math, you get an upper bound of exactly $\frac{n-1}{k-1}$, which, for your typical values, is 11.&lt;/p&gt;&#xA;" OwnerUserId="262" LastEditorUserId="262" LastEditDate="2013-02-18T16:40:50.757" LastActivityDate="2013-02-18T16:40:50.757" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16539" PostTypeId="1" AcceptedAnswerId="16540" CreationDate="2013-02-18T19:14:31.783" Score="-1" ViewCount="223" Body="&lt;p&gt;Consider a function F that takes a function and produces a function based on &lt;strong&gt;structure&lt;/strong&gt; of the input function. As an example consider F that takes all functions having at least two conditionals and swaps their conditional expressions. so&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;if condition(a, b, c) then calc1(z) else (calc(y) + (if condition1(a, m, k) then u else p ))&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;becomes &lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;if condition1(a, b, c) then calc1(z) else (calc(y) + (if condition(a, m, k) then u else p ))&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Do functions like these fit into category theory/computational science? How are they called? Would love any pointers on books/wikipedia articles about them.&lt;/p&gt;&#xA;" OwnerUserId="13812" LastActivityDate="2013-02-18T20:57:29.667" Title="Newbie question: Meta-functions?" Tags="&lt;functional-programming&gt;&lt;ct.category-theory&gt;&lt;function&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="16540" PostTypeId="2" ParentId="16539" CreationDate="2013-02-18T20:57:29.667" Score="4" Body="&lt;p&gt;Indeed there is a Wikipedia entry on &lt;a href=&quot;http://en.wikipedia.org/wiki/Meta_programming&quot; rel=&quot;nofollow noreferrer&quot;&gt;metaprogramming&lt;/a&gt;.  The question&#xA;&lt;a href=&quot;https://cs.stackexchange.com/questions/2869/what-are-staged-functions-conceptually/2914#2914&quot;&gt;&quot;What are staged functions?&quot;&lt;/a&gt;&#xA;on cs.stackexchange is also relevant.&lt;/p&gt;&#xA;" OwnerUserId="8519" LastEditorUserId="-1" LastEditDate="2017-04-13T12:48:30.830" LastActivityDate="2013-02-18T20:57:29.667" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16541" PostTypeId="1" AcceptedAnswerId="16542" CreationDate="2013-02-18T23:20:09.127" Score="9" ViewCount="696" Body="&lt;p&gt;Consider a problem in which you are given a 2D grid (e.g. a chessboard) where certain squares are occupied&#xA;and you need to put the minimum number of non-overlapping rectangles of any size w x h where w = 1 or h = 1 (i.e. &quot;square segments&quot;) such that all unoccupied squares are covered and each rectangle covers only unoccupied squares. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, for the grid&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;..###&#xA;.....&#xA;..###&#xA;.#...&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;the solution would be 4, since you can cover all the unoccupied squares (denoted by '.') with 4 such rectangles as follows:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;12###&#xA;12333&#xA;12###&#xA;1#444&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;I tried to come up with a polynomial algorithm or prove that this problem is NP-hard, but without success. Can anyone help me to prove / disprove that this is problem is in P, or point me to some related work / problems?&lt;/p&gt;&#xA;" OwnerUserId="13815" LastEditorUserId="13815" LastEditDate="2013-02-18T23:40:21.580" LastActivityDate="2013-02-19T06:42:52.833" Title="Fitting minimum number of rectangles of width/height 1 into a 2D grid" Tags="&lt;reference-request&gt;&lt;np-hardness&gt;&lt;planar-graphs&gt;&lt;packing&gt;&lt;polynomial-time&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16542" PostTypeId="2" ParentId="16541" CreationDate="2013-02-18T23:47:30.897" Score="11" Body="&lt;p&gt;Ok, so you have a polygon $P$ with integer-length axis-parallel sides and possibly with holes (the shape you want to cover) and you want to partition it into as few $1\times a$ or $b\times 1$ rectangles as possible. At first I thought you wanted the minimum partition into rectangles of arbitrary shapes, which has a known polynomial time solution involving a reduction to maximum independent sets in bipartite graphs. But I think this one is also polynomial, via a different reduction to the same problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Draw a graph $G$ that has a vertex for every unit-length line segment that separates two squares of $P$, and that has an edge connecting the vertices for every two perpendicular line segments that share an endpoint. Then the partitions of $P$ into unit-width rectangles correspond one-for-one with independent sets of $G$. If a vertex $v$ of $G$ corresponds to a line segment $s$, then $v$ belongs to a given independent set exactly when the two squares separated by $s$ belong to the same rectangle as each other in the corresponding partition.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Under this correspondence, we have the equation $R=S-I$ where $R$ denotes the number of rectangles in a given partition, $S$ denotes the number of squares in $P$, and $I$ denotes the cardinality of the independent set; this is easy to see by induction on $I$, by removing one independent set element at a time. Since $S$ is fixed, minimizing $R$ is the same as maximizing $I$, and the optimal partition of $P$ corresponds to the maximum independent set of $G$. But $G$ is a bipartite graph (horizontal segments are adjacent only to vertical segments and vice versa) so its maximum independent set may be found in polynomial time (see &lt;a href=&quot;http://en.wikipedia.org/wiki/K%C3%B6nig%27s_theorem_%28graph_theory%29&quot;&gt;König's theorem&lt;/a&gt; on Wikipedia).&lt;/p&gt;&#xA;" OwnerUserId="95" LastEditorUserId="95" LastEditDate="2013-02-19T06:42:52.833" LastActivityDate="2013-02-19T06:42:52.833" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16543" PostTypeId="1" AcceptedAnswerId="16544" CreationDate="2013-02-19T00:24:40.967" Score="6" ViewCount="92" Body="&lt;p&gt;Several enclosing circles are possible for a given set of N 2D points. I am only talking about  enclosing circles having 3 or more points on the circumference. What is the asymptotic limit of the total number of distinct enclosing circles having 3 or more points on the circumference. The naive bound is $O(n^3)$ but tighter bound  should exist.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;And also how to generate all such enclosing circles?&lt;/p&gt;&#xA;" OwnerUserId="13817" LastActivityDate="2013-02-19T00:34:27.917" Title="Number of distinct enclosing circles for N points" Tags="&lt;cg.comp-geom&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16544" PostTypeId="2" ParentId="16543" CreationDate="2013-02-19T00:34:27.917" Score="9" Body="&lt;p&gt;An enclosing circle (by your definition) corresponds to a triangular face of the farthest point Delaunay triangulation, which is a triangulation of the convex hull of the input. For points in general position it always has exactly $h-2$ faces where $h$ is the number of convex hull vertices. Therefore the number of enclosing circles is also $h-2$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;They can be generated by constructing the farthest point Delaunay triangulation, in $O(n\log n)$ time.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2013-02-19T00:34:27.917" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16545" PostTypeId="2" ParentId="16512" CreationDate="2013-02-19T06:19:28.630" Score="6" Body="&lt;p&gt;It is undecidable whether a given computable number is &lt;strong&gt;equal to zero&lt;/strong&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(So your rational approximation oracle returns 0 for every ε you've tried?  Maybe you just haven't given it a small enough ε.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thus, it's undecidable whether a given computable number between -½ and +½ is an integer.&lt;/p&gt;&#xA;" OwnerUserId="111" LastActivityDate="2013-02-19T06:19:28.630" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16546" PostTypeId="2" ParentId="16512" CreationDate="2013-02-19T06:26:39.007" Score="2" Body="&lt;p&gt;A function being computable is a stronger than the function being continuous, i.e. any computable function needs to be continuous in the information topology.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You want to see if the function $F:\mathbb{R} \to \{Yes,No\}$ defined by&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;F(r) = &#xA;\begin{cases} &#xA;YES &amp;amp; r\in \mathbb{Q}\\&#xA;NO &amp;amp; o.w.&#xA;\end{cases}&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;is computable. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let's assume that similar to what you wrote, real numbers are given by black-boxes and a real number black-box $r$ can be used to obtain a rational number of the form $\frac{k}{2^{n}}$ such that $r \in [\frac{k}{2^n},\frac{k+1}{2^n}]$ for any natural number $n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then your function is not continuous and is therefore not computable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is a more direct and intuitive adversary argument: Let $M$ be a machine. Assume that the number is $0$. Assume that for $n$ the black-box returns $[-\frac{1}{2^n},\frac{1}{2^n}]$. If $M$ doesn't halt we are done. If it halts, let the largest number that $M$ has asked an approximation for to be $m$. Then information that $M$ has seen up to this point is consistent with the real number being any real number in the interval $[-\frac{1}{2^m},\frac{1}{2^m}]$, i.e. $M$ doesn't have enough information to correctly solve the problem. If $M$ answers $NO$ then the answer is incorrect. If it answers $YES$ then we can consider running $M$ on any irrational number in the interval $[-\frac{1}{2^m},\frac{1}{2^m}]$ and $M$ will incorrectly answer $YES$ since it will get exactly the same information from the black-box. Therefore $M$ cannot solve the problem correctly.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The proof that any computable function needs to be continuous is similar.&lt;/p&gt;&#xA;" OwnerUserId="186" LastActivityDate="2013-02-19T06:26:39.007" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16547" PostTypeId="2" ParentId="16512" CreationDate="2013-02-19T07:22:12.343" Score="32" Body="&lt;p&gt;It is easy to get confused about what it means to &quot;represent&quot; or &quot;implement&quot; a real number. In fact, we are witnessing a discussion in the comments where the representation is contentious. So let me address this first.&lt;/p&gt;&#xA;&#xA;&lt;h3&gt;How do we know that an implementation is correct?&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;The theory which explains how to represent things in a computer is &lt;em&gt;realizability&lt;/em&gt;. The basic idea is that, given a set $X$, we pick a datatype $\tau$ and to every $x \in X$ a set of values of type $\tau$ which &lt;em&gt;realize&lt;/em&gt; it. We write $v \vdash x \in X$ when $v$ is a value that realizes $x$. For example (I shall use Haskell for no good reason), a sensible implementation of $\mathbb{N}$ might be the datatype &lt;code&gt;Integer&lt;/code&gt; where $v \vdash k \in \mathbb{N}$ when $v$ evaluates to the numeral $\overline{k}$ (thus in particular &lt;code&gt;-42&lt;/code&gt; does not represent a natural number, and neither does a diverging program). But some joker could walk by and suggest that we use &lt;code&gt;Bool&lt;/code&gt; to represent natural numbers with $\mathtt{True} \vdash 42 \in \mathbb{N}$ and $\mathtt{False} \vdash n \in \mathbb{N}$ for $n \neq 42$. Why is this incorrect? We need a &lt;em&gt;criterion&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the case of &quot;joker numbers&quot; the easy observation is that addition cannot be implemented. Suppose I tell you I have two numbers, both represented by $\mathtt{False}$. Can you give a realizer for their sum? Well, that depends on whether the sum is 42, but you cannot tell. Since addition is an &quot;essential part of what natural numbers are&quot;, this is unacceptable. In other words, implementation is not about sets, but about &lt;em&gt;structures&lt;/em&gt;, i.e., we have to represent sets in such a way that it is possible to also implement the relevant structure. Let me stress this:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;We implement structures, not bare sets. Therefore, we have to be able to implement the entire structure, together with operations and all the axioms, in order for the implementation to be correct.&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;If you do not abide by this principle, then you have to suggest an alternative &lt;em&gt;mathematical&lt;/em&gt; criterion of correctness. I do not know of one.&lt;/p&gt;&#xA;&#xA;&lt;h3&gt;Example: representation of natural numbers&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;For natural numbers the relevant structure is described by Peano axioms, and the crucial axiom that has to be implemented is induction (but also $0$, successor, $+$ and $\times$). We can compute, using realizability, what the implementation of induction does. It turns out to be a map (where &lt;code&gt;nat&lt;/code&gt; is the yet unknown datatype which represents natural numbers)&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;code&gt;induction : 'a -&amp;gt; (nat -&amp;gt; 'a -&amp;gt; 'a) -&amp;gt; 'nat -&amp;gt; 'a&lt;/code&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;satisfying &lt;code&gt;induction x f zero = x&lt;/code&gt; and &lt;code&gt;induction x f (succ n) = f n (induction x f n)&lt;/code&gt;. All this comes out of realizability. We have a criterion: an implementation of natural numbers is correct when it allows an implementation of Peano axioms. A similar result would be obtained if we used the characterization of numbers as the initial algebra for the functor $X \mapsto 1 + X$.&lt;/p&gt;&#xA;&#xA;&lt;h3&gt;Correct implementation of real numbers&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;Let us turn attention to the real numbers and the question at hand. The first question to ask is &quot;what is the relevant structure of the real numbers?&quot; The answer is: &lt;em&gt;Archimedean Cauchy complete ordered field&lt;/em&gt;. This is the established meaning of &quot;real numbers&quot;. You do not get to change it, it has been fixed by others for you (in our case the alternative Dedekind reals turn out to be isomorphic to the Cauchy reals, which we are considering here.) You cannot take away any part of it, you are not allowed to say &quot;I do not care about implementing addition&quot;, or &quot;I do not care about the order&quot;. If you do that, you must not call it &quot;real numbers&quot;, but something like &quot;real numbers where we forget the linear order&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am not going to go into all the details, but let me just explain how the various parts of the structure give various operations on reals:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;the &lt;em&gt;Archimedean&lt;/em&gt; axiom is about computing &lt;em&gt;rational&lt;/em&gt; approximations of reals&lt;/li&gt;&#xA;&lt;li&gt;the field structure gives the usual arithmetical operations&lt;/li&gt;&#xA;&lt;li&gt;the linear order gives us a &lt;em&gt;semidecidable&lt;/em&gt; procedure for testing $x &amp;lt; y$&lt;/li&gt;&#xA;&lt;li&gt;the &lt;em&gt;Cauchy completeness&lt;/em&gt; gives us a function &lt;code&gt;lim : (nat -&amp;gt; real) -&amp;gt; real&lt;/code&gt; which takes a (representation of) &lt;em&gt;rapid&lt;/em&gt; Cauchy sequence and returns its limit. (A sequence $(x_n)_n$ is rapid if $|x_n - x_m| \leq 2^{\min(n,m)}$ for all $m, n$.)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;What we do &lt;em&gt;not&lt;/em&gt; get is a test function for equality. There is nothing in the axioms for reals which asks that $=$ be decidable. (In contrast, the Peano axioms imply that the natural numbers are decidable, and you can prove that by implementing &lt;code&gt;eq : nat -&amp;gt; nat -&amp;gt; Bool&lt;/code&gt; using only &lt;code&gt;induction&lt;/code&gt; as a fun exercise).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is a fact that the usual decimal representation of reals that humanity uses is bad because with it we cannot even implement addition. Floating point with infinite mantissa fails as well (exercise: why?). What works, however is &lt;em&gt;signed&lt;/em&gt; digit representation, i.e., one in which we allow negative digits as well as positive ones. Or we could use sequences of rationals which satisfy the rapid Cauchy test, as stated above.&lt;/p&gt;&#xA;&#xA;&lt;h3&gt;The Tsuyoshi representation also implements something, but not $\mathbb{R}$&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;Let us consider the following representation of reals: a real $x$ is represented by a pair $(q,b)$ where $(q_n)_n$ is a rapid Cauchy sequence converging to $x$ and $b$ is a Boolean indicating whether $x$ is an integer. For this to be a representation of the reals, we would have to implement addition, but as it turns out we cannot compute the Boolean flags. So this is &lt;em&gt;not&lt;/em&gt; a representation of the reals. But it still does represent something, namely the subset of the reals $\mathbb{Z} \cup (\mathbb{R} \setminus \mathbb{Z})$. Indeed, according to the realizability interpretation a union is implemented with a flag indicating which part of the union we are in. By the way, $\mathbb{Z} \cup (\mathbb{R} \setminus \mathbb{Z})$ is a &lt;em&gt;not&lt;/em&gt; equal to $\mathbb{R}$, unless you believe in excluded middle, which cannot be implemented and is therefore quite irrelevant for this discussion. We are of &lt;em&gt;forced by computers&lt;/em&gt; to do things intuitionistically.&lt;/p&gt;&#xA;&#xA;&lt;h3&gt;We cannot test whether a real is an integer&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;Finally, let me answer the question that was asked. We now know that an acceptable representation of the reals is one by rapid Cauchy sequences of rationals. (An important theorem states that any two representations of reals which are acceptable are actually computably isomorphic.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Theorem:&lt;/strong&gt; Testing whether a real is an integer is not decidable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Proof.&lt;/em&gt; Suppose we could test whether a real is an integer (of course, the real is realized by a rapid Cauchy sequence). The idea, which will allow you to prove a much more general theorem if you want, is to construct a rapid Cauchy sequence $(x_n)_n$ of non-integers which converges to an integer. This is easy, just take $x_n = 2^{-n}$. Next, solve the Halting problem as follows. Given a Turing machine $T$, define a new sequence $(y_n)_n$ by&#xA;$$y_n = \begin{cases}&#xA;x_n &amp;amp; \text{if $T$ has not stopped within $n$ steps}\\&#xA;x_m &amp;amp; \text{if $T$ stopped in step $m$ and $m \leq n$}&#xA;\end{cases}$$&#xA;That is, the new sequence looks like the sequence $(x_n)_n$ as long as $T$ runs, but then it gets &quot;stuck&quot; at $x_m$ if $T$ halts in step $m$. Very importantly, the new sequence is also a rapid Cauchy sequence (and we can prove this without knowing whether $T$ halts). Therefore, we can compute its limit $z = \lim_n y_n$, because our representation of reals is correct. Test whether $z$ is an integer. If it is, then it must be $0$ and this only happens if $T$ runs forever. Otherwise, $z$ is not an integer, so $T$ must have stopped. QED.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Exercise: adapt the above proof to show that we cannot test for rational numbers. Then adapt it to show we cannot test for anything non-trivial (this is a bit harder).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Sometimes people get confused about all this testing business. They think we have proved that we can &lt;em&gt;never&lt;/em&gt; test whether a real is an integer. But surely, 42 is a real and we can tell whether it is an integer. In fact, any &lt;em&gt;particular&lt;/em&gt; real we come up with, $\sin 11$, $88 \ln 89$, $e^{\pi \sqrt{163}}$, etc., we can perfectly well tell whether they are integers. Precisely, &lt;em&gt;we&lt;/em&gt; can tell because &lt;em&gt;we&lt;/em&gt; have extra information: these reals are not given to us as sequences, but rather as symbolic expressions from which we can compute the Tsuyoshi bit. As soon as the only information we have about the real is a sequence of rational approximations converging to it (and I do &lt;em&gt;not&lt;/em&gt; mean a symbolic expression describing the sequence, but a black box which outputs the $n$-th term on input $n$) then we will be just as helpless as machines.&lt;/p&gt;&#xA;&#xA;&lt;h3&gt;The moral of the story&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;It makes no sense to talk about implementation of a set unless we know what sort of operations we want to perform on it.&lt;/em&gt;&lt;/p&gt;&#xA;" OwnerUserId="705" LastEditorUserId="705" LastEditDate="2013-02-19T17:14:27.117" LastActivityDate="2013-02-19T17:14:27.117" CommentCount="23" ContentLicense="CC BY-SA 3.0" />
  <row Id="16550" PostTypeId="1" CreationDate="2013-02-19T09:14:35.627" Score="4" ViewCount="1474" Body="&lt;p&gt;This question is related to (but not the same as):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/questions/1807/how-to-define-a-function-inductively-on-two-arguments-in-coq&quot;&gt;How to define a function inductively on two arguments in Coq?&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In particular, I used those techniques (defining a second fixed point function) and Coq still complains.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider the following formalization of regular expressions.&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;Inductive symbol : Set := Zero | One.&#xA;&#xA;Definition string := list symbol.&#xA;&#xA;Fixpoint symbol_eq (a:symbol) (b:symbol) : bool :=&#xA;  match a with&#xA;    Zero =&amp;gt;&#xA;    match b with&#xA;      Zero =&amp;gt; true&#xA;    | One =&amp;gt; false&#xA;    end&#xA;  | One =&amp;gt;&#xA;    match b with&#xA;      Zero =&amp;gt; false&#xA;    | One =&amp;gt; true&#xA;    end&#xA;  end.&#xA;&#xA;&#xA;Inductive regexp : Set :=&#xA;    Symbol (s:symbol)&#xA;  | Concat (r1:regexp) (r2:regexp)&#xA;  | Union (u1:regexp) (u2:regexp)&#xA;  | Star (u1:regexp)&#xA;  .&#xA;&#xA;Fixpoint rgm (r:regexp) (s:string) :=&#xA;  match r with&#xA;    Symbol ss =&amp;gt;&#xA;      match s with&#xA;        nil =&amp;gt; false&#xA;      | a::nil =&amp;gt; (symbol_eq ss a)&#xA;      | a::b::tl =&amp;gt; false&#xA;      end&#xA;   | Union r1 r2 =&amp;gt; (orb (rgm r1 s) (rgm r2 s))&#xA;   | Concat r1 r2 =&amp;gt;&#xA;       let fix f s1 s2 :=&#xA;         match s2 with&#xA;           nil =&amp;gt; (andb (rgm r1 (rev s1)) (rgm r2 s2))&#xA;         | a::tl =&amp;gt; (orb (andb (rgm r1 (rev s1)) (rgm r2 s2))&#xA;                         (f (a::s1) tl))&#xA;         end&#xA;       in (f nil s)&#xA;   | Star r1 =&amp;gt;&#xA;       match s with&#xA;         nil =&amp;gt; true&#xA;       | a::tl =&amp;gt;&#xA;         let fix f s1 s2 :=&#xA;           match s2 with&#xA;             nil =&amp;gt; (rgm r1 (rev s1))&#xA;           | a::tl =&amp;gt; (orb (andb (rgm r1 (rev s1)) (rgm r s2))&#xA;                           (f (a::s1) tl))&#xA;           end&#xA;         in (f (a::nil) tl)&#xA;       end&#xA;  end.&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Coq refuses to compile it for the following reason:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;Error: Cannot guess decreasing argument of fix.&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Question: how can we fix this?&lt;/p&gt;&#xA;" OwnerUserId="13823" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2014-03-27T02:05:41.753" Title="Defining Mutually Recursive functions in Coq" Tags="&lt;pl.programming-languages&gt;&lt;coq&gt;" AnswerCount="1" CommentCount="7" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16555" PostTypeId="1" CreationDate="2013-02-19T17:49:46.620" Score="8" ViewCount="184" Body="&lt;p&gt;Is there an alternate proof or an exposition of the result of Grigoriev and Karpinski (STOC 1998, doi:&lt;a href=&quot;http://dx.doi.org/10.1145/276698.276872&quot;&gt;10.1145/276698.276872&lt;/a&gt;) on the &lt;a href=&quot;http://logic.pdmi.ras.ru/~grigorev/pub/determinant_stoc.ps&quot;&gt;exponential lower bounds for Depth 3 arithmetic circuits&lt;/a&gt; computing $\mathsf{DET}_{n\times n}$ over a fixed finite field?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I could not understand section 2 of the paper. What is the intuition behind considering the F-linear operator $T_g$?&lt;/p&gt;&#xA;" OwnerUserId="4461" LastEditorUserId="109" LastEditDate="2013-02-19T19:51:26.920" LastActivityDate="2013-02-20T03:02:55.063" Title="Is there an alternate proof or an exposition of: Exponential lower bound for $\Sigma\Pi\Sigma$ circuits [Grigoriev-Karpinski(1998)]?" Tags="&lt;circuit-complexity&gt;&lt;arithmetic-circuits&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16556" PostTypeId="1" AcceptedAnswerId="16559" CreationDate="2013-02-19T20:12:03.243" Score="6" ViewCount="1207" Body="&lt;h3&gt;Question&lt;/h3&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;What is a reasonable representation of objects (for computability)?&lt;br /&gt;&#xA;What is the criteria that we should apply to see if a representation is reasonable?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/a/16547/&quot;&gt;This answer&lt;/a&gt; by Andrej suggests that the representation should be &lt;em&gt;workable&lt;/em&gt; and &amp;quot;workable&amp;quot; here means that the basic operations associated with those objects should be computable over those representations. More formally, as I understand it, he is saying that we are not representing objects alone but a structure of objects that comes with some operations, and a representation should allow us to compute the operations coming from that structure. After we pick a representation for that structure, we can start taking about computing other operations.&lt;/p&gt;&#xA;&lt;p&gt;However I don't feel that answer is satisfying for two reasons:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;We already make a decision about what to be computable when deciding what operations are basic. For example, I feel that Andrej in &lt;a href=&quot;https://cstheory.stackexchange.com/a/16547/&quot;&gt;his answer&lt;/a&gt; already decided that equality is not going to be decidable.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Objects don't really come with an associated structure. We think of the same objects as belonging to several different structures. Sometimes the model of computation cannot support all of the operations of the natural structure associated with objects, e.g. for real numbers one would probably want at least addition, multiplication, order, and equality. This has lead to models of computation like real-RAM and BSS though one can argue that they are not practical.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;I feel that from constructive perspective, what is important is how the objects are &lt;em&gt;constructed&lt;/em&gt;. The structures and operations come later. A reasonable representation should allow us to obtain enough information about the way an object is constructed and the computability of any other operation should be based on computability of of them from this information.&lt;/p&gt;&#xA;&lt;p&gt;So my main question:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Why we need a reasonable representation of objects (e.g. real numbers) support anything more than a mechanism to give us information about the construction of those objects (arbitrary good enough approximations)? Why we need a reasonable representation to support the operations of a structure on those objects (e.g. addition on real numbers)? And how can we decide which operations are essential and which ones are not (e.g. why addition on real numbers and not equality of real numbers)?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;hr /&gt;&#xA;&lt;h3&gt;Background&lt;/h3&gt;&#xA;&lt;p&gt;Many computational models usually deal with very basic data types. For example, a Turing machine works on a string of symbols from a fixed finite alphabet.&lt;/p&gt;&#xA;&lt;p&gt;However, often we need to perform computation on other kind of objects, e.g. natural numbers,  rational numbers, graphs, Turing machines, real numbers, etc. We encode objects as objects of the basic data types that the machine is designed to work with. More formally, a representation is a function from a basic data type supported by the machine to the set of objects we want to talk about.&lt;/p&gt;&#xA;&lt;p&gt;Examples:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;We can encode natural numbers as strings of bits of their binary representation: &lt;span class=&quot;math-container&quot;&gt;$\langle n \rangle = (n)_2 $&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;We can encode integers numbers using pairs of natural numbers and a pair like &lt;span class=&quot;math-container&quot;&gt;$\langle n,m\rangle$&lt;/span&gt; represents the integer &lt;span class=&quot;math-container&quot;&gt;$n-m$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;We can encode rationals using a pair of a natural number and an integer &lt;span class=&quot;math-container&quot;&gt;$\langle \frac{p}{q}\rangle = \langle p, q\rangle$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Each object can have several names, and we can define the equality between these names, e.g. &lt;span class=&quot;math-container&quot;&gt;$\langle \frac{p}{q}\rangle = \langle \frac{p'}{q'}\rangle$&lt;/span&gt; iff &lt;span class=&quot;math-container&quot;&gt;$pq'=p'q$&lt;/span&gt; to say that two names refer to the same object.&lt;/p&gt;&#xA;&lt;p&gt;More examples:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;We can represents a graph with vertices &lt;span class=&quot;math-container&quot;&gt;$\{1,\ldots, n\}$&lt;/span&gt; by the number of vertices &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt; and its list of edges. Or we can represent it using its adjacency matrix.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;We can represent a Turing machine as a labeled graph.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;The natural representations that one normally comes up with are equally good for computability (but not always for complexity) as we can convert any of them to other ones computably.&lt;/p&gt;&#xA;&lt;p&gt;However one can also define more complicated representations: for example, we can represent a Turing machine as a labeled graph plus a proof in ZFC telling us if it is a halting when we have one. But we can also define a representation of Turing machines as a labeled graph plus one bit telling us if the machine halts on blank tape. This representation doesn't seem to be reasonable, e.g. it allows us to decide a Turing machine halts or not which is undecidable using usual representations, we also don't know how give an Turing machine as an input in practice as it would need us to know the answer to the halting problem on that machine. It give a sense of why this representation is not suitable, however it is still not easy to articulate why the representation is unreasonable (at least for me).&lt;/p&gt;&#xA;&lt;p&gt;The explanation is usually along the lines that we take &lt;em&gt;a weakest workable representation&lt;/em&gt;. Let me first explain what weakest means here: weakest means that any other workable representation can be computably converted to this representation. It seems a reasonable condition. However &amp;quot;workable&amp;quot; is bit vague and complicated here, for Turing machines one normally means something like the representation satisfies SMN and UTM theorems, however articulating why is not easy (at least it is not for me).&lt;/p&gt;&#xA;&lt;p&gt;For computability on finite objects the problem is not big (and therefor the issue is completely avoided usually in introduction to computability and complexity): someone who is not familiar with these issues will normally use a representation which satisfies these conditions and is equivalent to other reasonable representations of the objects.&lt;/p&gt;&#xA;&lt;p&gt;A similar issue comes up sometimes in complexity where it is not clear if there is a weakest workable representation: some algorithms work better with one representation, others work with other representation and all of these representations are considered reasonable (e.g. adjacency matrix, incidence matrix, etc. for graphs). Often the issue of representations and reasonable representations is avoided (one might say somewhat swept under the carpet) by saying that we define a problem not the objects but on a fixed representation of the objects. So a graph problem is not about graphs but about a particular representation of them.&lt;/p&gt;&#xA;&lt;p&gt;However when we move to computability over objects that are inherently infinite, e.g. real numbers, the issue becomes more serious. If a person unfamiliar with computability over real numbers tries to come up with a representation the first representation is likely to be the decimal/binary expansion of the number which is not good for various reasons, e.g. even addition is not computable. Another representation might allow us to compute addition but not another function, or say equality with &lt;span class=&quot;math-container&quot;&gt;$0$&lt;/span&gt;. Yet another representation might allow us to compute equality to &lt;span class=&quot;math-container&quot;&gt;$0$&lt;/span&gt; but not addition. And it is not even as clear if there is a weakest &amp;quot;workable&amp;quot; representation and/or what does we mean by &amp;quot;workable&amp;quot;.&lt;/p&gt;&#xA;&lt;p&gt;(There is also an issue of computability in what model which I will avoid for this question.)&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2013-02-19T23:09:53.197" Title="What is a reasonable representation/encoding of objects?" Tags="&lt;cc.complexity-theory&gt;&lt;computability&gt;&lt;computable-analysis&gt;" AnswerCount="1" CommentCount="13" FavoriteCount="4" ClosedDate="2013-02-21T01:12:43.167" ContentLicense="CC BY-SA 3.0" />
  <row Id="16557" PostTypeId="2" ParentId="16508" CreationDate="2013-02-19T20:29:26.120" Score="5" Body="&lt;p&gt;I don't have much to add to the other answers, except that for &lt;strong&gt;termination behavior&lt;/strong&gt;, it is sufficient to consider only the $\lambda_I$ version: see e.g. &lt;a href=&quot;http://link.springer.com/article/10.1023/A:1025693307470&quot;&gt;Strong Normalization from Weak Normalization by Translation into the Lambda-I-Calculus&lt;/a&gt; by Gortz, Reuss and Sorensen.&lt;/p&gt;&#xA;" OwnerUserId="3984" LastActivityDate="2013-02-19T20:29:26.120" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16558" PostTypeId="2" ParentId="16530" CreationDate="2013-02-19T22:54:36.323" Score="5" Body="&lt;p&gt;Here are a couple of points regarding the practical implications of Lenstra-type results, and possible implementations in CPLEX, Gurobi, etc. One of the key steps in most of such algos for IP is branching on &quot;good&quot; or &quot;thin&quot; directions, i.e., hyperplanes along which the width of the polytope is not too large (polynomial in variables and size of data). But &lt;a href=&quot;http://epubs.siam.org/action/showAbstract?page=2181&amp;amp;volume=20&amp;amp;issue=5&amp;amp;journalCode=sjope8&quot; rel=&quot;noreferrer&quot;&gt;Mahajan and Ralphs&lt;/a&gt; (preprint &lt;a href=&quot;http://www.optimization-online.org/DB_HTML/2008/10/2119.html&quot; rel=&quot;noreferrer&quot;&gt;here&lt;/a&gt;) showed that the problem of selecting an &lt;i&gt;optimal&lt;/i&gt; disjunction is NP-complete. So, it would appear hard to create practically efficient implementations of this class of algos.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Most of the algos implemented in packages such as CPLEX could be classified as branch-and-cut methods. This family of techniques &lt;i&gt;typically&lt;/i&gt; work well on IP instances that are feasible, and are often able to find near-optimal solutions. But the focus of Lenstra-type algos are on worst case IP instances that are infeasible to start with, and the goal is to &lt;i&gt;prove&lt;/i&gt; their integer infeasibility (and they study the complexity of this task). AFAIK, there are no class of problems with practical relevance that fit this description. So, CPLEX/Gurobi folks would probably not implement Lenstra-type algos any time soon.&lt;/p&gt;&#xA;" OwnerUserId="10079" LastActivityDate="2013-02-19T22:54:36.323" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16559" PostTypeId="2" ParentId="16556" CreationDate="2013-02-19T22:58:54.447" Score="9" Body="&lt;p&gt;You are touching on some very interesting basic questions about mathematics in general. Do we construct mathematical objects and later discover their structure, or do we construct objects with a specific structure in mind? I think the answer is not simple. Sometimes we &quot;design&quot; structures to order, and sometimes we discover them. I believe the quarternions were discovered, but at the same time Hamilton knew what sort of structure to look for. So I think your observation that we discover the structure of the objects we constructed has a lot of merit. But why do we discover some objects and not others? What makes the ones we pay attention to important and interesting? Presumably their structure.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let me clear up something about equality versus addition. They have exactly the same status. The reals are equipped with equality, which is a binary relation, and they are also equipped with addition, which is a binary operation. We make no assumptions about equality being decidable, or not decidable, and neither to we make any assumption about addition being computable. We just state the axioms for the reals: they form a structure consisting of such-and-such relations and operations, satisfying such-and-such axioms. Then we ask whether such a structure exists in our (realizability) model. If it does, then we have an implementation of its parts. Addition is implemented by a program which takes realizers for two reals and computes a realizer for their sum. But how is equality implemented?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Equality is a binary relation, which is just a predicate on a cartesian product. So we might as well think about how to implement a predicate on a set. Well, there are two views of predicates. The first one is that a predicate $P$ on a set $X$ is just a subset $P \subseteq X$. The second one is that it is a map $P : X \to \lbrace 0, 1 \rbrace$. In intuitionistic mathematics, we have to replace the booleans $\lbrace 0, 1 \rbrace$ with the set of all truth values $\Omega$, which is much larger. In fact $\Omega$ is so complicated that it does not exist in the simple realizability models (although it exists in a realizability topos), which is a fancy way of saying that it cannot be implemented (feel free to have a go: implement the initial complete Heyting algebra; mind you, it has to have suprema of families indexed by atbitrary datatypes). So in general we cannot implement predicates as maps into the subobject classfier. We can of course implement them as subobjects, but that is rather useless, e.g., equality on $\mathbb{R}$ would be implemented as the map $x \mapsto (x, x)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Fortunately, certain pieces of $\Omega$ still exist in realizability models. If a predicate $P : X \to \Omega$ happens to factor through such a piece of $\Omega$, then we get to implement its classifying map. Some examples:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;the booleans $2 = \lbrace p \in \Omega \mid p \lor \lnot p\rbrace$ are familiar to every programmer, and most programming languages have the corresponding type &lt;code&gt;bool&lt;/code&gt;. A predicate $P : X \to 2$ is knows as &lt;em&gt;decidable&lt;/em&gt; and can be implemented as a map into &lt;code&gt;bool&lt;/code&gt;. All this is familiar.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;the semidecidable truth values $\Sigma = \lbrace p \in \Omega \mid \exists f : \mathbb{N} \to 2 . p = (\exists n \in \mathbb{N} . f n = 1)\rbrace$ are those truth values that are equal to an existential quantification over $\mathbb{N}$ of a decidable predicate. They are around, not every programmer knows about them, but theoretical computer scientists are of course familiar with semidecidability. A &lt;em&gt;semidecidable&lt;/em&gt; predicate $P : X \to \Sigma$ can be implemented as a map &lt;code&gt;P : X -&amp;gt; (nat -&amp;gt; bool)&lt;/code&gt;: it takes a realizer &lt;code&gt;x&lt;/code&gt; for $x \in X$ and returns a realizer &lt;code&gt;f : nat -&amp;gt; bool&lt;/code&gt; of some $f : \mathbb{N} \to 2$ such that $x \in P$ is equivalent to $\exists n . f n = 1$. This is less familiar and less useful.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;the classical truth values $\Omega_{\lnot\lnot} = \lbrace p \in \Omega \mid \lnot\lnot p = p\rbrace$ exist in a category of assemblies but not in a category of modest sets. So we are reaching the limit of what can be implemented. The implementation of $\Omega_{\lnot\lnot}$ is silly, because it is implemented by the &lt;code&gt;unit&lt;/code&gt; type. In other words, a classical predicate $P : X \to \Omega_{\lnot\lnot}$ is implemented by a function which always returns the unit &lt;code&gt;()&lt;/code&gt;.&#xA;And I am not making this up. I am telling you what the realizability interpretation gives as a result.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;It just so happens that $=$ on reals is &lt;em&gt;not&lt;/em&gt; classified by a map into $2$, but it is classified by a map into $\Omega_{\lnot\lnot}$. So in principle one could implement equality as a map which always returns the unit &lt;code&gt;()&lt;/code&gt;. That's useless. Perhaps $=$ is classified by a map into a smaller part of $\Omega$? Yes, it is a &lt;em&gt;theorem&lt;/em&gt; that &lt;em&gt;inequality&lt;/em&gt; $\neq$ is classifed by a map into $\Sigma$, so we &lt;em&gt;can&lt;/em&gt; do better and implement $\neq$ as a map &lt;code&gt;neq : real -&amp;gt; real -&amp;gt; (nat -&amp;gt; bool)&lt;/code&gt; which takes (realizers of) two reals $x$ and $y$, and returns a map &lt;code&gt;f : nat -&amp;gt; bool&lt;/code&gt; which attains &lt;code&gt;true&lt;/code&gt; iff $x \neq y$. But this is actually a very sensible thing: &lt;code&gt;neq x y n&lt;/code&gt; tests &lt;code&gt;x&lt;/code&gt; and &lt;code&gt;y&lt;/code&gt; for inequality &quot;up to precision &lt;code&gt;n&lt;/code&gt;&quot;. That's how people actually implement exact real arithmetic.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think a lot of confusion arises from the fact that people speak about &quot;computable&quot; relations without telling us wha that means. And when they do, they usually end up defining decidable relations. But that's just a very limited view of relations. There are semidecidable relations, and $\Pi^0_2$ relations, and arithmetical relations, etc.&lt;/p&gt;&#xA;" OwnerUserId="705" LastEditorUserId="705" LastEditDate="2013-02-19T23:09:53.197" LastActivityDate="2013-02-19T23:09:53.197" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="16560" PostTypeId="2" ParentId="16555" CreationDate="2013-02-20T03:02:55.063" Score="7" Body="&lt;p&gt;There was a subsequent extension by &lt;a href=&quot;http://www.mi.ras.ru/~razborov/depth3.ps&quot;&gt;Grigoriev and Razborov (PS)&lt;/a&gt; that has a shorter exposition of proof. &lt;/p&gt;&#xA;" OwnerUserId="877" LastActivityDate="2013-02-20T03:02:55.063" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16561" PostTypeId="1" CreationDate="2013-02-20T07:09:57.040" Score="11" ViewCount="196" Body="&lt;p&gt;Most of the algorithms for estimating the volume of a convex polyhedron $K \subset R^d$ assume the existence of an affine transform $T$ with the property that &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$ B \subset TK  \tilde{\subset}\  \sigma B$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where $B$ is the unit ball in $d$ dimensions, and $\sigma$ is $O(\sqrt{d})$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Update: the $\tilde{\subset}$ indicates that the containment is true except for an $\epsilon$-fraction of $K$)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The algorithms that I've seen for computing this transform are quite tricky. They require a bootstrap sampling process to extract a few points from inside $K$ which are then used to define the transformation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, the fact that such a transformation exists is folklore, and my question was:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there a simple algorithm (with possibly a weaker bound on $\sigma$)&#xA;  to compute the affine transform, given only a membership oracle for&#xA;  $K$ ?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="80" LastEditorUserId="80" LastEditDate="2013-02-20T18:06:39.347" LastActivityDate="2013-02-20T18:06:39.347" Title="On preprocessing a convex polyhedron prior to sampling" Tags="&lt;cg.comp-geom&gt;&lt;randomized-algorithms&gt;&lt;convex-geometry&gt;" AnswerCount="0" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="16562" PostTypeId="1" CreationDate="2013-02-20T08:49:22.053" Score="-1" ViewCount="330" Body="&lt;p&gt;I'm looking to devise a scheme for compressing integers which have a known sampled distribution (they might be clustered around a value, say, or have several areas of differing density). So far, I've centred my thinking around the deflate concept of encoding a value as a huffman symbol representing a (power-of-two sized) range base, followed by a number of bits to offset from the base. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;My first question is, does this seem reasonable, or is there a more efficient scheme (I'm not sure what search terms to use to find research on this)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Secondly, if the above does seem a sensible route, can anyone suggest an efficient algorithm for selecting a number of ranges, their sizes and bases (I guess the ranges might as well be allowed to overlap) which minimises the number of bits needed to encode numbers following the given arbitrary distribution.&lt;/p&gt;&#xA;" OwnerUserId="13831" LastActivityDate="2013-02-20T11:41:36.790" Title="Integer compression" Tags="&lt;ds.algorithms&gt;&lt;optimization&gt;" AnswerCount="1" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="16563" PostTypeId="1" AcceptedAnswerId="16565" CreationDate="2013-02-20T09:59:33.577" Score="8" ViewCount="858" Body="&lt;p&gt;This is motivated by my previous question, &lt;a href=&quot;https://cstheory.stackexchange.com/questions/9350/super-polynomial-time-approximation-algorithms-for-max-3sat&quot;&gt;Super-polynomial time approximation algorithms for MAX-3SAT&lt;/a&gt;.&#xA;For many optimization problems, for each one we have inapproximability lower bound $\alpha$ assuming some widely believed complexity theoretic conjecture. In other words, there is no polynomial time algorithm for such optimization problems with approximation ratio better than some $\alpha$ (different ratio $\alpha$ for each problem).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there optimization problems for which we can achieve approximation ratio better than $\alpha $ if we allow super-polynomial time algorithms? Can we achieve better approximation ratios using quasi-polynomial time algorithms ( $n^{O(\log n)}$) or even using sub-exponential time algorithms($2^{o(n)}$)? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would appreciate a survey of such results.&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2013-02-20T12:45:40.737" Title="Super-polynomial time approximation algorithms for optimization problems" Tags="&lt;cc.complexity-theory&gt;&lt;approximation-algorithms&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16565" PostTypeId="2" ParentId="16563" CreationDate="2013-02-20T10:41:06.857" Score="17" Body="&lt;p&gt;One example is &lt;a href=&quot;http://en.wikipedia.org/wiki/Independent_set_%28graph_theory%29&quot;&gt;Maximum Independent Set&lt;/a&gt;. It is NP-hard to approximate the problem with ratio $n^{1-\epsilon}$ &lt;a href=&quot;http://dx.doi.org/10.4086/toc.2007.v003a006&quot;&gt;(Zuckerman, 2007)&lt;/a&gt;. However, &lt;a href=&quot;http://dx.doi.org/10.1016/j.dam.2011.07.009&quot;&gt;Bourgeois et al. (2011)&lt;/a&gt; give a simple $n^{1/2}$-approximation algorithm with running time $O^*(2^{\sqrt{n} \log n})$. Here, $n$ denotes the number of vertices of the input graph and the $O^*$-notation hides polynomial factors.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another example is the &lt;a href=&quot;http://en.wikipedia.org/wiki/Graph_bandwidth&quot;&gt;Bandwidth&lt;/a&gt; problem. &lt;a href=&quot;http://dx.doi.org/10.1007/3-540-44666-4_26&quot;&gt;Dunagan &amp;amp; Vempala (2001)&lt;/a&gt; design an algorithm with approximation ratio $O(\log^3 n)$ and running time $O(n^{\log n})$. To my knowledge, the best known polynomial time approximation has approximation ratio $O(\log^3 n (\log \log n)^{1/4})$ &lt;a href=&quot;http://dx.doi.org/10.1007/s00454-009-9135-9&quot;&gt;(Lee, 2009)&lt;/a&gt;; however, no $\omega(\sqrt{\log n / \log \log n})$ lower bound is known for the best approximation ratio achievable in polynomial time.&lt;/p&gt;&#xA;" OwnerUserId="72" LastEditorUserId="72" LastEditDate="2013-02-20T12:45:40.737" LastActivityDate="2013-02-20T12:45:40.737" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16566" PostTypeId="2" ParentId="16562" CreationDate="2013-02-20T11:41:36.790" Score="1" Body="&lt;p&gt;With &lt;a href=&quot;http://en.wikipedia.org/wiki/Arithmetic_coding&quot; rel=&quot;nofollow&quot;&gt;Arithmetic Coding&lt;/a&gt;, you can encode a series of symbols (integers in your case), each occurring independently with some probability, almost optimally. That is, if there is no correlation between the numbers, you pretty much can't do better.&lt;/p&gt;&#xA;" OwnerUserId="251" LastActivityDate="2013-02-20T11:41:36.790" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16567" PostTypeId="1" AcceptedAnswerId="16588" CreationDate="2013-02-20T13:56:51.257" Score="6" ViewCount="257" Body="&lt;p&gt;Powerful program transformations like partial evaluation, deforestation and supercompilation are based on applying three kinds of transformations:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Rewrite using axioms, e.g. a+b = b+a.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Unfolding/inlining: replace a function call with the body of the function.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Folding/un-inlining: replace a subexpression that matches the body of a function with a call to the function.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Each of these transformations will not change the result of a computation if it still terminates, but rule #3 may introduce non-termination. Here is a simple example of this. We have this program:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;f(x) = x+1&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;We apply transformation #3 to the expression (x+1) and replace it with an equivalent function call:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;f(x) = f(x)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Now the program doesn't terminate any more (infinite recursion). Rule #3 is however essential for powerful program transformations (see example below).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Transformations like deforestation and supercompilation ensure that termination behavior is not changed as a side effect of how these algorithms work. However, whether or not a sequence of transformations preserves the termination behavior is a property of the sequence itself, independent of any algorithm that generated it. &lt;strong&gt;My question is: how can we limit the application of the rules in such a way that a terminating program is never turned into a non-terminating program, but is still sufficiently general to allow useful program transformations, like deforestation and supercompilation (and hopefully, more)?&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Algorithms like deforestation and supercompilation intertwine in their execution the &lt;em&gt;search&lt;/em&gt; for good program transformations with ensuring that they preserve termination. I'm looking for a way to separate that into two problems: (1) characterizing a class of transformations that preserve termination (2) the search for good transformations in that class.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Here is an example. Suppose we have an append function in a language like Haskell:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;app xs ys = case xs of&#xA;            [] -&amp;gt; ys&#xA;            x:xs' -&amp;gt; x:(app xs' ys)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;And we have a function that appends three lists:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;app3 a b c = app (app a b) c&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;The problem with this is that the outer app copies the (app a b), so the newly constructed list immediately becomes garbage. We can avoid this with a transformation:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Step 1. Unfold the inner app:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt; app3 a b c = app (case a of &#xA;                  [] -&amp;gt; b&#xA;                  x:a' -&amp;gt; x:(app a' b)) c&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Step 2. Apply an axiom that distributes a function over a case expression:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;app3 a b c = case a of &#xA;             [] -&amp;gt; app b c&#xA;             x:a' -&amp;gt; app (x:(app a' b)) c&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Step 3. Unfold the outer app:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;app3 a b c = case a of &#xA;             [] -&amp;gt; app b c&#xA;             x:a' -&amp;gt; case x:(app a' b)&#xA;                     [] -&amp;gt; c&#xA;                     x:d -&amp;gt; x:(app d c)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Step 4. Apply axiom to eliminate dead case alternative:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;app3 a b c = case a of &#xA;             [] -&amp;gt; app b c&#xA;             x:a' -&amp;gt; x:(app (app a' b) c)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Note that this is the step where the needless allocation is eliminated! We eliminate the pair x:(app a' b), because it then is immediately destructured again.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Step 5. Fold the expression &lt;code&gt;app (app a' b) c&lt;/code&gt;:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;app3 a b c = case a of &#xA;             [] -&amp;gt; app b c&#xA;             x:a' -&amp;gt; x:(app3 a' b c)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;This function is equivalent to the original one, but more efficient because it does not construct an intermediate list. Note that the after step 4, only a single node allocation is eliminated. By folding in step 5, we generalize that to eliminating the allocation of the entire list (supercompilation can do this transformation automatically).&lt;/p&gt;&#xA;" OwnerUserId="7944" LastEditorUserId="7944" LastEditDate="2013-02-20T15:36:36.513" LastActivityDate="2013-02-22T18:07:26.533" Title="Preserving termination when rewriting recursive programs" Tags="&lt;pl.programming-languages&gt;&lt;compilers&gt;&lt;term-rewriting-systems&gt;" AnswerCount="3" CommentCount="1" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="16568" PostTypeId="2" ParentId="16567" CreationDate="2013-02-20T14:35:46.597" Score="1" Body="&lt;p&gt;You could maintain a static call graph and, for a given subexpression such as &lt;code&gt;(x + 1)&lt;/code&gt;, apply the third transformation only if it does not yield a cycle in the graph. Thus, if the original program had no infinite recursion, the transformed version shouldn't have one, either.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A next step could be to allow the introduction of new cycles if a static analyses (such as used by &lt;a href=&quot;http://research.microsoft.com/en-us/um/cambridge/projects/terminator/&quot; rel=&quot;nofollow&quot;&gt;Terminator&lt;/a&gt;) guarantees that the newly added recursion eventually terminates.&lt;/p&gt;&#xA;" OwnerUserId="13261" LastActivityDate="2013-02-20T14:35:46.597" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="16569" PostTypeId="2" ParentId="16567" CreationDate="2013-02-20T15:15:52.913" Score="5" Body="&lt;p&gt;If you are a bit more careful about definitions, and in particular recursive definitions, then such confusion cannot arise. In your example, we must first decide whether&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;f(x) = x + 1&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;is supposed to be a recursive definition or not. This &lt;em&gt;cannot&lt;/em&gt; be discovered by looking for recursive calls in the body of the definition. Defining a function by recursion is a completely different thing than defining a function by abstraction. Most programming languages tend to bury the distinction and just assume that all function definitions are recursive. Some languages are more careful about this, for example OCaml, ML and Coq. If you do fancy stuff like program transformation then the difference matters. Anyhow:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;If the above definition is not recursive, then it is really a shorthand for (I am switching to OCaml notation to make things a bit less ambiguous):&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;let f = fun x =&amp;gt; x + 1&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;The suggested transformation of &lt;code&gt;x + 1&lt;/code&gt; into &lt;code&gt;f(x)&lt;/code&gt; is illegal because &lt;code&gt;f&lt;/code&gt; is&#xA;not in the scope of the body of the function, so it cannot be mentioned.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;If it is a recursive definition then the question is more interesting, but the transformation is still invalid. The recursive definition&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;let rec f x = x + 1 &#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;is really an ordinary definition involving the &lt;a href=&quot;http://en.wikipedia.org/wiki/Fixed-point_combinator&quot; rel=&quot;nofollow&quot;&gt;fixpoint operator&lt;/a&gt; &lt;code&gt;fix&lt;/code&gt;:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;let f = fix (fun g =&amp;gt; fun x =&amp;gt; x + 1)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Now the suggested transformation is to replace &lt;code&gt;x + 1&lt;/code&gt; with &lt;code&gt;g(x)&lt;/code&gt; (and not by &lt;code&gt;f(x)&lt;/code&gt; because &lt;code&gt;f&lt;/code&gt; again is not in the scope of the body of the function, but &lt;code&gt;g&lt;/code&gt; is). But now we get stuck because we cannot prove that &lt;code&gt;g(x)&lt;/code&gt; equals &lt;code&gt;x + 1&lt;/code&gt;. After all, the only thing we know about &lt;code&gt;g&lt;/code&gt; is that it is an argument in a function abstraction.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We &lt;em&gt;could&lt;/em&gt; transform &lt;code&gt;x + 1&lt;/code&gt; into &lt;code&gt;fix (fun h =&amp;gt; fun y =&amp;gt; y + 1) x&lt;/code&gt; if we wanted to, but I cannot think of a good reason to do so.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;You may be tempted to hate the fixpoint operator. But it is better to learn to live with it because it helps clarify confusing points about recursion.&lt;/p&gt;&#xA;" OwnerUserId="705" LastEditorUserId="705" LastEditDate="2013-02-20T15:21:34.603" LastActivityDate="2013-02-20T15:21:34.603" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="16570" PostTypeId="2" ParentId="14942" CreationDate="2013-02-20T16:18:17.380" Score="-1" Body="&lt;p&gt;If you have an efficient way of multiplying two matrices (sparse or dense), then frobenius norm should be equal to:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\| A \|_F = sum(diagonal(A^T \times A))$ &lt;/p&gt;&#xA;" OwnerUserId="13834" LastActivityDate="2013-02-20T16:18:17.380" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16571" PostTypeId="1" CreationDate="2013-02-20T22:02:47.373" Score="4" ViewCount="99" Body="&lt;p&gt;In the 2012 paper &lt;em&gt;&lt;a href=&quot;http://eccc.hpi-web.de/report/2012/045/&quot; rel=&quot;nofollow&quot;&gt;On the Concrete-Efficiency Threshold of Probabilistically-Checkable Proofs&lt;/a&gt;&lt;/em&gt;, the authors state the following (paraphrased from page 11).&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Theorem 1&lt;/strong&gt; (informal). There is a PCP system where, to prove and verify &#xA;  that a program $P$ accepts the input $(x, w)$ within $T$ steps for some&#xA;  witness $w$ (with $|x|, |w| \leq T )$ [... in parallel time,] the prover runs&#xA;  in parallel time $O((\log T)^2)$, when also given as input the transcript of&#xA;  computation of $P$ on $(x, w)$ [and] the verifier runs in parallel time&#xA;  $O((\log T)^2)$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I'm having trouble determining whether the authors state the asymptotic randomness used and queries made for this PCP verifier. I see that Lemma C.8 (on page 134) gives an expression for the number of queries used and amount of randomness used. However, I would be grateful if someone could interpret this into a big O notation formula.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What is the number of queries and amount of randomness used by this PCP&#xA;  verifier?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="4193" LastActivityDate="2013-02-20T22:02:47.373" Title="What is the query and randomness complexity for very efficient PCPs?" Tags="&lt;cc.complexity-theory&gt;&lt;pcp&gt;" AnswerCount="0" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16572" PostTypeId="1" AcceptedAnswerId="16591" CreationDate="2013-02-20T23:48:28.600" Score="15" ViewCount="2698" Body="&lt;p&gt;This question is about propositional logic and all occurrences of &quot;resolution&quot; should be read as &quot;propositional resolution&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This question is something extremely basic but it has been bothering me for a while. I see people assert that propositional resolution is complete but I also see people assert that resolution is incomplete. I understand the sense in which resolution is incomplete. I also see why people might claim it is complete but the word &quot;complete&quot; differs from the way &quot;complete&quot; is used when describing natural deduction or the sequent calculus. Even the qualifier &quot;refutation complete&quot; does not help because the formulae have to be in CNF and the transformation of a formula to an equivalent CNF formula or equisatisfiable CNF formula via the Tseitin transformation is not accounted for within the proof system. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Soundness and Completeness&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let us assume the setting of classical propositional logic with a relation $\models$ between some universe of structures and a set of  formulae and the classical Tarskian notion of truth in a structure. We write $\models \varphi$ if $\varphi$ is true in all structures being considered. I will also assume a system $\vdash$ for deriving formulae from formulae. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The system $\vdash$ is &lt;em&gt;sound&lt;/em&gt; with respect to $\models$ if whenever we have $\vdash \varphi$, we also have $\models \varphi$. The system $\vdash$ is &lt;em&gt;complete&lt;/em&gt; with respect to $\models$ if whenever  we have $\models \varphi$, we also have $\vdash \varphi$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;The Resolution Rule&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A literal is an atomic proposition or its negation. A clause is a disjunction of literals. A formula in CNF is a conjunction of clauses. The resolution rule asserts that &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The resolution rule asserts that if the conjunction of the clause $C \lor p$ with the clause $\neg p \lor D$ is satisfiable, the clause $C \lor D$ must also be satisfiable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am not sure if the resolution rule alone can be understood as a proof system because there are no rules for introduction of formulae. I assume we at least need a hypothesis rule that allows introduction of clauses. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Incompleteness of resolution&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is known that resolution is a sound proof system. Meaning, if we can derive a clause $C$ from a formula $F$ using resolution then $\models F \implies C$. Resolution is also &lt;em&gt;refutation complete&lt;/em&gt; meaning if we have $\models F \implies \bot$ then we can derive $\bot$ from $F$ using resolution.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider the formule&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\varphi := p \land q$  and $\psi := p \lor q$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In Gentzen's system LK or using natural deduction, I can &lt;em&gt;derive&lt;/em&gt; the implication $\varphi \implies \psi$ entirely within the proof system. I cannot derive this implication using resolution because if I start with $\varphi$, there are no resolvents. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I see how I can prove the validity of this implication using resolution:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Consider the formula $\neg (\varphi \implies \psi)$&lt;/li&gt;&#xA;&lt;li&gt;Turn the formula above into CNF either using standard distributivity rules or using the Tseitin transformation&lt;/li&gt;&#xA;&lt;li&gt;Derive $\bot$ from the transformed formula using resolution.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;This approach is unsatisfying to me because it requires me to perform steps (1) and (2) which are outside the resolution proof system. So it seems there is a very clear sense in which resolution is not complete the way we say that natural deduction or sequent calculi are complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Questions&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given all that above, my questions are:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;What proof system is being considered when discussing resolution? Is it just the resolution rule? What are the other rules?&lt;/li&gt;&#xA;&lt;li&gt;It seems very clear to me that resolution is not complete in the sense that natural deduction and sequent calculi are complete. Does the literature asserting that resolution is complete abuse terminology just because the sense in which resolution is complete is more interesting than the sense in which it is incomplete?&lt;/li&gt;&#xA;&lt;li&gt;Has this difference in notions of completeness as applied to resolution and elsewhere and how to reconcile them been discussed at greater depth in the literature?&lt;/li&gt;&#xA;&lt;li&gt;I realise also that resolution can be formulated within sequent calculi in terms of the cut rule. Is the &quot;right&quot; proof theoretic view of resolution just that it is a fragment of the sequent calculus that suffices for checking satisfiability of formulae in CNF?&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="4155" LastEditorUserId="111" LastEditDate="2013-02-21T04:31:52.590" LastActivityDate="2013-02-23T22:00:49.210" Title="Is propositional resolution a complete proof system?" Tags="&lt;lo.logic&gt;&lt;terminology&gt;&lt;proof-complexity&gt;&lt;proof-theory&gt;&lt;resolution&gt;" AnswerCount="2" CommentCount="4" FavoriteCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="16574" PostTypeId="2" ParentId="16572" CreationDate="2013-02-21T02:48:33.253" Score="13" Body="&lt;h3&gt;1)&lt;/h3&gt;&#xA;&lt;p&gt;The only non-structural rule is resolution (on atoms).&lt;/p&gt;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$$ \varphi\lor C, \psi\lor \overline{C} \over \varphi\lor \psi$$&lt;/span&gt;&lt;/p&gt;&#xA;&lt;p&gt;However a rule by itself doesn't give a proof system. See part 3.&lt;/p&gt;&#xA;&lt;h3&gt;2)&lt;/h3&gt;&#xA;&lt;p&gt;Think about it this way: is Gentzen's sequent calculus PK complete if we are using some other set of connectives in place of &lt;span class=&quot;math-container&quot;&gt;$\{\land, \lor, \lnot\}$&lt;/span&gt;? The logical connectives one uses is important for logic results like completeness. It is with respect to the formulas in that language that a proof system can be complete. PK cannot talk about formulas in some other language. Your issue with resolution is similar. Yes, if we are talking about completeness regarding general formulas with &lt;span class=&quot;math-container&quot;&gt;$\{\land, \lor, \lnot\}$&lt;/span&gt; connectives then resolution is not complete, but neither are sequent calculus and natural deduction with respect to formulas that are not in their language.&lt;/p&gt;&#xA;&lt;p&gt;As long as there is a &amp;quot;nice&amp;quot; translation from one language to another one we can talk about completeness. What matters essentially is that we can translate formulas from one to the other one and vice versa efficiently. You can check &lt;a href=&quot;http://www.cs.toronto.edu/%7Esacook/homepage/reckhow_thesis.pdf&quot; rel=&quot;noreferrer&quot;&gt;Robert Reckhow's thesis&lt;/a&gt; where he deals with the issue of connective and shows that for Frege systems the length of proofs doesn't change more than a polynomial so it is fine in a sense to pick any set of &lt;em&gt;adequate&lt;/em&gt; connectives that you like.&lt;/p&gt;&#xA;&lt;p&gt;The situation for resolution is similar. By reduction from SAT to 3SAT we can restrict our attention to CNFs and the transformation can be done very efficiently.&lt;/p&gt;&#xA;&lt;p&gt;Note that resolution is not alone here, the issue applies to other proof systems also. Take for example Bounded-Depth Frege where the depth of formulas must to be bounded by a constant so by definition it cannot prove any unbounded-depth families of formulas.&lt;/p&gt;&#xA;&lt;h3&gt;3)&lt;/h3&gt;&#xA;&lt;p&gt;Let us define what it means for a proposition proof system to be complete. By Cook-Reckhow, a propositional proof system &lt;span class=&quot;math-container&quot;&gt;$P$&lt;/span&gt; is a binary relation &lt;span class=&quot;math-container&quot;&gt;$\vdash_P$&lt;/span&gt; satisfying the following conditions:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Efficiency: &lt;span class=&quot;math-container&quot;&gt;$\vdash_P$&lt;/span&gt; is polynomial-time decidable, i.e. given a string &lt;span class=&quot;math-container&quot;&gt;$\varphi$&lt;/span&gt; (formula) and a string &lt;span class=&quot;math-container&quot;&gt;$\pi$&lt;/span&gt; (proof), we can decide if &lt;span class=&quot;math-container&quot;&gt;$\pi$&lt;/span&gt; is a &lt;span class=&quot;math-container&quot;&gt;$P$&lt;/span&gt;-proof of a &lt;span class=&quot;math-container&quot;&gt;$\varphi$&lt;/span&gt; in polynomial-time.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Soundness: if there is a &lt;span class=&quot;math-container&quot;&gt;$P$&lt;/span&gt;-proof for &lt;span class=&quot;math-container&quot;&gt;$\varphi$&lt;/span&gt;, then &lt;span class=&quot;math-container&quot;&gt;$\varphi$&lt;/span&gt; is true.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Completeness: if &lt;span class=&quot;math-container&quot;&gt;$\varphi$&lt;/span&gt; is true, then there is a &lt;span class=&quot;math-container&quot;&gt;$P$&lt;/span&gt;-proof for &lt;span class=&quot;math-container&quot;&gt;$\varphi$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;The definition is very general and doesn't talk about the structure of the proof at all. Anything that satisfies these conditions is a propositional proof system.&lt;/p&gt;&#xA;&lt;p&gt;Which class of formula should we consider in these items? Different classes of formulas have been considered and the first treatment of the issue I know of is &lt;a href=&quot;http://www.cs.toronto.edu/%7Esacook/homepage/reckhow_thesis.pdf&quot; rel=&quot;noreferrer&quot;&gt;Robert Reckhow's thesis&lt;/a&gt; where he shows that as long as one is concerned with Frege systems it doesn't matter which adequate set of connectives one uses, all of them are equivalent.&lt;/p&gt;&#xA;&lt;p&gt;Regarding resolution, if one really wants to have completeness regarding all formulas and not just CNFs one can incorporate a fixed polynomial-time translation from arbitrary formulas to CNFs into the proof system with no problem as the translation is polynomial-time computable.&lt;/p&gt;&#xA;&lt;p&gt;In any case, the resolution proof system works as follows: it checks if the &lt;span class=&quot;math-container&quot;&gt;$\pi$&lt;/span&gt; is a derivation of &lt;span class=&quot;math-container&quot;&gt;$\bot$&lt;/span&gt; using resolution rule from the set of clauses obtained from translation of &lt;span class=&quot;math-container&quot;&gt;$\lnot \varphi$&lt;/span&gt; to clauses. This is the propositional proof system people refer to as resolution propositional proof system.&lt;/p&gt;&#xA;&lt;h3&gt;4)&lt;/h3&gt;&#xA;&lt;p&gt;Resolution is fine as it is, however one can also think of it in the way you mentioned, i.e.&#xA;we can of course think of it as the cut rule when cut formula is a positive atoms by moving the negative atoms to the antecedent and keeping the positive ones in the succedent:&lt;/p&gt;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$$ \Rightarrow \varphi, C \hspace{1cm} C \Rightarrow \psi \over \Rightarrow \varphi, \psi$$&lt;/span&gt;&lt;/p&gt;&#xA;&lt;p&gt;Note that what defines the power of a propositional proof system in subsystems of Frege (and even in subsystems of more powerful similar propositional proof systems like quantified propositional logic &lt;span class=&quot;math-container&quot;&gt;$G$&lt;/span&gt;) is mainly the class of formulas that one can cut. I think we can take Gentzen's PK and just restrict the cut rule to apply to such cut formulas and the resulting proof system will be not more powerful than resolution in proving CNFs. Any proof of a CNFs (written in the sequent form with positive atoms) can only have similar sequents, i.e. more complicated formulas are of no use in proving CNFs (note that the cut is the only rule that can remove formulas from sequents).&lt;/p&gt;&#xA;&lt;p&gt;ps:&#xA;My answer is mainly from proof complexity theoretic perspective. You may want to check other perspectives like &lt;em&gt;structural proof theory&lt;/em&gt;.&lt;/p&gt;&#xA;&lt;p&gt;References:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Robert A. Reckhow, &amp;quot;&lt;a href=&quot;http://www.cs.toronto.edu/%7Esacook/homepage/reckhow_thesis.pdf&quot; rel=&quot;noreferrer&quot;&gt;On the Lengths of Proofs in the Propositional Calculus&lt;/a&gt;&amp;quot;, 1976.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="186" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2013-02-22T22:57:51.693" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="16575" PostTypeId="1" CreationDate="2013-02-21T03:19:18.777" Score="2" ViewCount="264" Body="&lt;p&gt;The uniform version (the version which we normally see) of deciding whether a CFG (Context Free Grammar) is ambiguous is undecidable. But here I'd like to know something about the non-uniform version of this problem. That means, we just pick one CFG instead of considering all CFGs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's true (and trivial) that there is a Turing Machine &lt;code&gt;M&lt;/code&gt; which can decide whether a fixed CFG &lt;code&gt;G&lt;/code&gt; is ambiguous or not. &lt;code&gt;M&lt;/code&gt; just needs to blindly output &lt;code&gt;True&lt;/code&gt; or &lt;code&gt;False&lt;/code&gt; according to the fact, i.e., whether &lt;code&gt;G&lt;/code&gt; is actually ambiguous or not.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, this is a non-constructive solution. It tells you the answer but doesn't provide with a proof. This is something like God's knowledge. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is always a proof of ambiguity for any ambiguous CFG. This problem is recursively enumerable. But it's negation (i.e. proof of unambiguity) isn't. However, we can still find ways to prove unambiguity (for example, for very simple grammars like &lt;code&gt;S -&amp;gt; a&lt;/code&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The relationship between the uniform and non-uniform version of this problem is that:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;The uniform version tells you it's impossible to solve the problem for all instances.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The non-uniform version tries to tackle each instance based on it's unique characheristics. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;If we let the whole problem space (here it's the space of all instances of valid CFGs) be &lt;code&gt;S&lt;/code&gt;, and the space of solvable instances (those come with a proof) w.r.t. ambiguity be &lt;code&gt;T&lt;/code&gt;, what's the relationship between the size of &lt;code&gt;S&lt;/code&gt; and &lt;code&gt;T&lt;/code&gt;? (Note that both &lt;code&gt;S&lt;/code&gt; and &lt;code&gt;T&lt;/code&gt; have an infinite cardinality.)&lt;/p&gt;&#xA;" OwnerUserId="4471" LastActivityDate="2013-02-21T03:19:18.777" Title="Non-uniform CFG ambiguity decidability" Tags="&lt;context-free&gt;&lt;decidability&gt;" AnswerCount="0" CommentCount="10" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16577" PostTypeId="1" CreationDate="2013-02-21T06:45:09.910" Score="0" ViewCount="295" Body="&lt;p&gt;I understand that it is a naive and very general question. I would like to know when does a theorem of theoretical computer science become interesting to professional philosophers? I understand that the question whether P != NP is pretty interesting to philosophers. Now let's take the conjecture about the existence of one way functions. Is there any philosophical implications of the existence of one way functions?&lt;/p&gt;&#xA;" OwnerUserId="13408" LastActivityDate="2013-02-21T11:57:58.470" Title="Philosophers friendly TCS theorem" Tags="&lt;cc.complexity-theory&gt;" AnswerCount="1" CommentCount="11" ClosedDate="2013-02-25T21:47:15.567" ContentLicense="CC BY-SA 3.0" />
  <row Id="16578" PostTypeId="2" ParentId="16577" CreationDate="2013-02-21T11:57:58.470" Score="9" Body="&lt;p&gt;You might be interested in Scott Aaronson's recent paper &lt;em&gt;&lt;a href=&quot;http://www.scottaaronson.com/papers/philos.pdf&quot;&gt;Why Philosophers Should Care About Computational Complexity&lt;/a&gt;&lt;/em&gt;, to appear in Computability: Gödel, Turing, Church, and Beyond, edited by B. J. Copeland, C. Posy, and O. Shagrir, MIT Press, 2012. ECCC TR11-108, arXiv:1108.1791.&lt;/p&gt;&#xA;" OwnerUserId="121" LastActivityDate="2013-02-21T11:57:58.470" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16582" PostTypeId="1" CreationDate="2013-02-21T17:47:18.440" Score="4" ViewCount="204" Body="&lt;p&gt;What is the current state of the art for $L_0$ estimation when not in a stream?  I assume that the total number of (not necessarily distinct) objects is very large so you can only see a sample of them.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I found &lt;a href=&quot;http://en.wikipedia.org/wiki/Good%E2%80%93Turing_frequency_estimation&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/Good%E2%80%93Turing_frequency_estimation&lt;/a&gt; but that seems rather older than I was expecting.&lt;/p&gt;&#xA;" OwnerUserId="13848" LastActivityDate="2013-02-24T04:25:37.873" Title="$L_0$ estimation, not in a stream" Tags="&lt;reference-request&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="16583" PostTypeId="1" AcceptedAnswerId="16585" CreationDate="2013-02-21T23:23:50.703" Score="5" ViewCount="143" Body="&lt;p&gt;Can anyone throw any light on any PTAS algorithm that I can apply for K-Clustering algorithm when the distance computation between the clustering points is costly.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In details, I have a set of N points and I have a customized distance metric between them. I want to compute a set of k clusters such that the cluster centers are far apart while among the clusters the points are very close. This customized distance metric is costly to calculate and hence I would like them to be calculated as less as it can possibly be. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I can give more clarification if required. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;[EDIT] So the distance metric I have defined is $D(x,y) = 1 - \rho(x,y)$ where $\rho(x,y)$ is the Pearson Correlation Coefficient between points $x$ and $y$ ( $x$ and $y$ are data sets in themselves). Obviously to compute all such Pearson Correlations Coefficient when the number of data-points is 1000 (each set $x$ has another 1000 or so values within themselves) or so can be very expensive computationally. &lt;/p&gt;&#xA;" OwnerUserId="13787" LastEditorUserId="13787" LastEditDate="2013-02-21T23:36:49.703" LastActivityDate="2013-02-22T04:25:02.757" Title="PTAS Algorithm for K-Clustering when Distance Computation is Costly" Tags="&lt;clustering&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="16584" PostTypeId="2" ParentId="16582" CreationDate="2013-02-22T01:15:01.843" Score="7" Body="&lt;p&gt;For sampling-based algorithms, nearly tight upper and lower bounds are known for the query complexity of estimating the number of distinct elements in a sequence. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://dl.acm.org/citation.cfm?id=335230&quot; rel=&quot;nofollow&quot;&gt;Charikar, Chowdhuri, Motwani and Narsayya&lt;/a&gt; showed that multiplicative approximation of the number of distinct elements to within a factor $\alpha$ can be achieved with $q= O(n/\alpha^2)$ queries into the sequence. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here's the algorithm. Sample $q$ items uniformly at random from the sequence. Let $d$ be the number of distinct items in the sample, and let $f_1$ be the number of items that appear exactly once in the sample. Then, output $d + \sqrt{n/q} \cdot f_1$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The analysis is also very clean. Assume without loss of generality that each element in the sequence is an integer in $[k]$, where $k$ is the number of distinct elements. Let $p_i$ be the probability of selecting $i$ when sampling uniformly from the sequence. Then, the expected output of the estimator is:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\mathbb{E}[d + \sqrt{n/q}\cdot f_1] =  \sum_{i=1}^k (1 - (1-p_i)^q) + \sqrt{n/q} \cdot p_i q (1-p_i)^{q-1}$$ &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, the point is that for any valid $p_i$, the value inside the summation is between $\Omega(\sqrt{q/n})$ and $O(\sqrt{n/q})$. (This uses the fact that $1/n \leq p_i &amp;lt; 1$.) So, the expected output of the algorithm is within $O(\sqrt{n/q})$ of $k$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Charikar et al.'s estimator can also be used to get an &lt;i&gt;additive&lt;/i&gt; approximation of the number of distinct elements. One can estimate the number of distinct elements upto $\pm \beta n$ by making $O((1-2\beta) n)$ samples. This was the state-of-the-art for a long while until STOC '11 when Greg and Paul Valiant &lt;a href=&quot;http://www.cs.berkeley.edu/~gvaliant/papers/VV_stoc11.pdf&quot; rel=&quot;nofollow&quot;&gt;showed&lt;/a&gt; that it's possible to reduce the sample complexity and time complexity to $O(\frac{n}{\beta^2 \log n})$. Their algorithm is based on a very general result that, given a probability distribution $D$, constructs a distribution $D'$ using $O(n/\log n)$ samples such that $D$ and $D'$ are close to each other in relative earthmover distance. So, one can make sure that the support size of $D'$ and the support size of $D$ are only an additive $\beta n$ away from each other.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As for lower bounds, Charikar et al. showed that for $\alpha$-multiplicative approximation, $\Omega(n/\alpha^2)$ queries are needed. The proof stems from the observation that $\Omega(n/\alpha^2)$ queries are needed to distinguish $n$ identical items from the same sequence with $\alpha^2$ unique elements inserted in random locations. For additive approximation, however, this bound is sort of trivial; for constant $\beta$, this would only give a constant lower bound on the query complexity. &lt;a href=&quot;http://www.cse.psu.edu/~sofya/pubs/dss-sicomp.pdf&quot; rel=&quot;nofollow&quot;&gt;Raskhodnikova, Ron, Shpilka, and Smith&lt;/a&gt; showed a nearly linear bound even for additive approximation. Specifically, they prove that estimating to within additive error $n/23$ requires $n/2^{\sqrt{\log n} \log \log n}$ queries. The Valiants in their above-cited paper showed a lower bound of $\Omega(n/\log n)$ for estimating to any additive error less than $n/4$, implying that their upper-bound is tight upto constant factors.&lt;/p&gt;&#xA;" OwnerUserId="15" LastEditorUserId="15" LastEditDate="2013-02-24T04:25:37.873" LastActivityDate="2013-02-24T04:25:37.873" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="16585" PostTypeId="2" ParentId="16583" CreationDate="2013-02-22T04:25:02.757" Score="6" Body="&lt;p&gt;Have you seen &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.43.8781&quot;&gt;this paper&lt;/a&gt; by Piotr Indyk ? It's old, but it's a good one. It solves a number of problems including k-median while making only sublinear number of calls to the distance oracle. It's not exactly the model you're looking for, but it does try to reduce the number of distance invocations.&lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2013-02-22T04:25:02.757" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16586" PostTypeId="1" CreationDate="2013-02-22T14:56:54.287" Score="11" ViewCount="610" Body="&lt;p&gt;I am looking for a data structure and an algorithm to compute the minimum number of changes required to transform one word into another, given the two words as inputs, where the only allowed changes are&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;add a letter at one of the extremities (for example, AB -&gt; ABC),&lt;/li&gt;&#xA;&lt;li&gt;duplicate and concatenate the whole word (for example, ABC -&gt; ABCABC),&lt;/li&gt;&#xA;&lt;li&gt;cut a word in two (the dual of the duplication move, ABCABC -&gt; ABC + ABC),&lt;/li&gt;&#xA;&lt;li&gt;delete one of the letters (for example, ABC -&gt; AC), and&lt;/li&gt;&#xA;&lt;li&gt;repeat one of the letters (for example, ABC -&gt; ABBC).&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;For example, a minimal sequence of moves from ABC to BCBC is ABC -&gt; BC (delete A) -&gt; BCBC (duplication).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I don't have a background in computer science. Perhaps this is a well-known problem, but my Google search gave me nothing.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Do you know some related, well-defined problem?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Edit&lt;/em&gt;: As suggested in the answer by Anthony Labarre, I read some papers about the poset permutation/arrangement problem which is similar to the problem described above. Does anyone know more about this problem? Is this relevant?&lt;/p&gt;&#xA;" OwnerUserId="13860" LastEditorUserId="4193" LastEditDate="2013-02-28T21:42:09.513" LastActivityDate="2013-03-11T09:12:08.900" Title="Shortest number of editing move between two words" Tags="&lt;graph-algorithms&gt;&lt;ds.data-structures&gt;&lt;edit-distance&gt;" AnswerCount="4" CommentCount="9" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="16587" PostTypeId="2" ParentId="16586" CreationDate="2013-02-22T15:42:00.073" Score="0" Body="&lt;p&gt;Some related, well defined problem would be problem of &lt;a href=&quot;http://en.wikipedia.org/wiki/Sequence_alignment&quot; rel=&quot;nofollow&quot;&gt;sequence alignment&lt;/a&gt;. It is different because it doesn't use operation of duplication. &#xA;Defined operations are: insertion of character, deletion of character, transformation of character. Popular algorithm for solving this problem is &lt;a href=&quot;http://en.wikipedia.org/wiki/Needleman%E2%80%93Wunsch_algorithm&quot; rel=&quot;nofollow&quot;&gt;Needleman-Wunsch&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="13695" LastActivityDate="2013-02-22T15:42:00.073" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16588" PostTypeId="2" ParentId="16567" CreationDate="2013-02-22T18:07:26.533" Score="6" Body="&lt;p&gt;The standard presentation of program transformation ideas is &lt;em&gt;unsound&lt;/em&gt;, quite unfortunately.  They usually think of program transformation as forward deduction.  Using equational reasoning, you can deduce new facts from the old program, and lo and behold, it gives a better program!  While the new facts are quite clearly facts, nothing guarantees that they constitute a program.  The problem you have spotted is this naive presentation of the program transformation ideas.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, it is possible to think of very much the same process as a &lt;em&gt;backward deduction&lt;/em&gt;.  We think of the old program as a &lt;em&gt;specification&lt;/em&gt;, and &lt;em&gt;derive&lt;/em&gt; a new program that satisfies the specification.  Since equational reasoning is often bidirectional, you would see very similar steps in deriving the new program.  However, the meaning of these steps is opposite to what the naive methods imply.  When you use this &quot;correct&quot; method, you reason about termination while introducing recursion, and always derive a correct program.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For a paper describing the technique, see &lt;a href=&quot;http://www.cs.bham.ac.uk/~udr/papers/synthesis.ps&quot;&gt;Deductive and inductive synthesis of equational programs&lt;/a&gt; (&lt;a href=&quot;http://www.cs.bham.ac.uk/~udr/papers/synthesis.pdf&quot;&gt;PDF&lt;/a&gt;).  This was done for first-order &quot;equational&quot; programs, but very similar ideas should be applicable to terminating functional programs.  If you are interested in non-terminating programs, I think you could use coinduction techniques (an off-the-cuff intuition).  However, my efforts to apply domain theory techniques to do these kinds of transformations did not bear fruit.  It might still be possible, but I haven't seen anything written on it.&lt;/p&gt;&#xA;" OwnerUserId="8519" LastActivityDate="2013-02-22T18:07:26.533" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="16591" PostTypeId="2" ParentId="16572" CreationDate="2013-02-22T20:16:58.067" Score="10" Body="&lt;p&gt;&lt;i&gt;What proof system is being considered when discussing resolution? Is it just the resolution rule? What are the other rules?&lt;/i&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I discuss resolution in the context of &quot;clauses&quot;, which are sequents made up of only &lt;em&gt;literals&lt;/em&gt;.  A classical clause would look like $$A_1,\ldots,A_n \to B_1,\ldots,B_m$$  But we can also write it as $${} \to \bar{A}_1,\ldots,\bar{A}_n, B_1, \ldots, B_m$$ and work with just one sided sequents.  It is conventional to treat these one-sided sequents as &lt;em&gt;multisets&lt;/em&gt; of literals.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;LK restricted to clauses has only four inference rules:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;identity&lt;/li&gt;&#xA;&lt;li&gt;cut (propositional resolution)&lt;/li&gt;&#xA;&lt;li&gt;contraction (propositional factoring)&lt;/li&gt;&#xA;&lt;li&gt;weakening&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;It is obvious that these four rules are complete for deducing clauses, i.e., &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Proposition 1&lt;/strong&gt; For any clause $C$ and set of clauses ${\cal S}$, we have ${\cal S} \models C$ if and only if ${\cal S} \vdash C$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Refutation proof converts the problem of ${\cal S} \vdash C$ to ${\cal S} \cup N(C) \vdash \bot$, where $N(C) = \{\{\bar{A}\} \mid A \in C\}$ is the collection of clauses representing the negation of $C$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is clear that ${\cal S} \vdash C$ if and only if ${\cal S} \cup N(C) \vdash \bot$.  Our four-rule system is still adequate for proving the converted problem, but we notice that we don't need identity and weakening any more.  The remaining two rules are called the &quot;resolution proof procedure&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Proposition 2&lt;/strong&gt; For any clause $C$ and set of clauses ${\cal S}$, we have ${\cal S} \models C$ if and only if ${\cal S} \cup N(C) \vdash \bot$ using only cut and contraction.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The point of converting the problem to refutation proofs is two-fold:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;We have a better opportunity to guide the proof search by letting $N(C)$ drive it.&lt;/li&gt;&#xA;&lt;li&gt;We have a handle on full predicate logic, whose formulas can be transformed to CNF upto satisfiability.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;&lt;i&gt;Is the &quot;right&quot; proof theoretic view of resolution just that it is a fragment of the sequent calculus that suffices for checking satisfiability of formulae in CNF?&lt;/i&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Indeed!&lt;/p&gt;&#xA;" OwnerUserId="8519" LastEditorUserId="8519" LastEditDate="2013-02-23T22:00:49.210" LastActivityDate="2013-02-23T22:00:49.210" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="16593" PostTypeId="1" AcceptedAnswerId="16594" CreationDate="2013-02-22T21:24:02.827" Score="-4" ViewCount="2685" Body="&lt;p&gt;I'm developing a route planner, and I was reading some graph theory.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I read a little bit of Dijkstra's shortest path, shooting star and turn restrictions, and I tend to think that this algorithms are thought to be used for searching a short path between two nodes, node A and node B (or in some variant, edge A and edge B).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I was wondering if it's a variant of some shortest path algorithm to find the shortest path between two set of nodes. I could define this problem better like this:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Input:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Graph&lt;/li&gt;&#xA;&lt;li&gt;List of initial nodes&lt;/li&gt;&#xA;&lt;li&gt;List of end nodes&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Output:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Node A&lt;/li&gt;&#xA;&lt;li&gt;Node B&lt;/li&gt;&#xA;&lt;li&gt;Shortest path&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I can think of a trivial solution: &quot;Take each of the 'initial nodes' apply dijkstra against each of the 'final nodes', select the minimal path from all returned paths&quot;, but I'm trying to find if exists some algorithm to solve this task.&lt;/p&gt;&#xA;" OwnerUserId="13867" LastActivityDate="2013-02-22T21:55:42.487" Title="Algorithm to find shortest path from a set of nodes to another set of nodes?" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;" AnswerCount="1" CommentCount="1" ClosedDate="2013-02-24T08:09:23.417" ContentLicense="CC BY-SA 3.0" />
  <row Id="16594" PostTypeId="2" ParentId="16593" CreationDate="2013-02-22T21:55:42.487" Score="11" Body="&lt;p&gt;Create a new node $s$ and connect it to every node in the first list.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Create a new node $t$ and connect it to every node in the second list.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Find a shortest path between $s$ and $t$.&lt;/p&gt;&#xA;" OwnerUserId="259" LastActivityDate="2013-02-22T21:55:42.487" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16595" PostTypeId="1" CreationDate="2013-02-22T21:58:33.200" Score="1" ViewCount="1164" Body="&lt;p&gt;Given that I have an &lt;strong&gt;input&lt;/strong&gt; string, for example:  &lt;code&gt;aab&lt;/code&gt; &lt;br&gt;&#xA;And I am given a &lt;strong&gt;target&lt;/strong&gt; string, for example: &lt;code&gt;bababa&lt;/code&gt; &lt;br&gt;&#xA;And then I am given a set of transformation rules. For example:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;ab -&amp;gt; bba&#xA;b -&amp;gt; ba&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;There can be N rules. &lt;br&gt;&#xA;The characters for the input and output string don't have to be just a and b, they can be any characters.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;How could I do an algorithm that would find the &lt;strong&gt;minimum&lt;/strong&gt; number of transformations that would need to be applied in the input string to get the target string.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In this example, for example, the number would be 3.  Because we would do:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;1 - Apply rule 1 (abba)&#xA;2 - Apply rule 1 again (bbaba)&#xA;3 - Apply rule 2 (bababa)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;It could happen that given an input and a target, there is no solution and that should be noticed too.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, it can be that the target string is shorter than the input string.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am pretty much lost in strategies on doing this.  It comes to my mind creating an automata but I am not sure how would I apply in this situation.  I think is an interesting problem and I have been researching online, but all I can find is transformations given rules, but not how to ensure it's a minimum.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks&lt;/p&gt;&#xA;" OwnerUserId="13868" LastEditorUserId="13868" LastEditDate="2013-02-23T08:39:47.523" LastActivityDate="2013-02-23T20:07:40.603" Title="Find minimum number of transformations to transform from input to target string" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;automata-theory&gt;&lt;grammars&gt;" AnswerCount="2" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="16596" PostTypeId="2" ParentId="16595" CreationDate="2013-02-23T00:40:26.647" Score="3" Body="&lt;p&gt;&lt;strong&gt;EDIT&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As noted by usul, my previous answer is too broad, so these are some additional notes with personal ideas (so it is now more like an extended comment, than an answer):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If the given grammar is context sensitive, the alphabet has size &gt;= 2 and &lt;em&gt;there are no limits in the number of transformations&lt;/em&gt;, then even the problem of deciding if the grammar generates the target string is undecidable. You can easily find a grammar that simulates a NTM; as pointed out by Jeffe Markov algorithms are Turing complete, so given a TM and a string w you can build a grammar and a source string that generate a target string iff TM halts on w. So finding the minimum is undecidable, too.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you put a &lt;em&gt;limit in the number of transformations (polynomial)&lt;/em&gt;, then the problem of deciding if the grammar generates the target string is PSPACE complete, and the problem of finding the minimum number of transformations is surely harder.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If &lt;em&gt;the number of transformations is fixed&lt;/em&gt;, &lt;em&gt;I think&lt;/em&gt; that the the problem is NP complete (I've a fuzzy idea of a quick reduction from monotone NAE-3SAT)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I leave the previous answer below.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem of finding the smallest CFG grammar  that generates a given string (also known as Minimum Grammar Compression or MGC) is NP-complete (J. Storer, &quot;NP-completeness results concerning data compression&quot;, 1977).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think that the complexity of the problem when the alphabet is restricted to $\{0,1\}$ (2-MGC) is still unknown. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you switch to context sensitive grammars (LBAs) then you can look at &lt;em&gt;resource-bounded Kolmogorov complexity&lt;/em&gt;. Unlike the unbouded Kolmogorov complexity, finding the smallest program that computes a given string is decidable, but we are obviously nearby intractability. There is a lot of reasearch on the subject (and many open problems); for example consider a binary string of length $2^n$ that represents the truth table of a boolean function $f$ and an integer $s$; the complexity of deciding if there is a boolen circuit of size at most $s$ that computes $f$ is unknown (probably not in $P$ but also unlikely to be NP-complete). Here it is &lt;a href=&quot;http://people.cs.uchicago.edu/~fortnow/papers/quaderni.pdf&quot; rel=&quot;nofollow&quot;&gt;a simple introduction&lt;/a&gt; and a very nice paper on the &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.16.9225&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;nofollow&quot;&gt;power of random strings&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2013-02-23T10:41:58.960" LastActivityDate="2013-02-23T10:41:58.960" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16597" PostTypeId="2" ParentId="16485" CreationDate="2013-02-23T04:40:36.987" Score="12" Body="&lt;p&gt;According to Wikipedia, the number of permutations in $S_n$ with exactly $k$ inversions is the coefficient of $X^k$ in&#xA;$$1(1+X)(1+X+X^2)\cdots(1+X+\cdots+X^{n-1}).$$&#xA;Denote this by $c(n,k)$. This shows that&#xA;$$c(n+1,k) = \sum_{l=0}^k c(n,k-l).$$&#xA;So the number of permutations in $S_n$ with at most $k$ inversions is equal to the number of permutations in $S_{n+1}$ with exactly $k$ inversions. This has a neat combinatorial proof as well (hint: take $\pi\in S_{n+1}$ and remove $n+1$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we are interested only in the coefficient of $X^k$, then factors $X^m$ for $m &amp;gt; k$ don't make any difference. So for $n &amp;gt; k$, $c(n,k)$ is the coefficient of $X^k$ in&#xA;$$&#xA;\begin{align*}&#xA;&amp;amp;1(1+X)\cdots(1+X+\cdots+X^{k-1}) (1+X+\cdots+X^k+\cdots)^{n-k} \\ =&#xA;&amp;amp;1(1+X)\cdots(1+X+\cdots+X^{k-1}) \frac{1}{(1-X)^{n-k}} \\ =&#xA;&amp;amp;1(1+X)\cdots(1+X+\cdots+X^{k-1}) \sum_{t=0}^\infty \binom{t+n-k-1}{t} X^t.&#xA;\end{align*}&#xA;$$&#xA;This implies the formula&#xA;$$&#xA;c(n,k) = \sum_{t=0}^k \binom{n+t-k-1}{t} c(k,k-t), \quad n &amp;gt; k.&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;When $k$ is constant, the asymptotically most important term is the one corresponding to $t = k$, and we have&#xA;$$&#xA;c(n,k) = \binom{n-1}{k} + O_k(n^{k-1}) = \frac{1}{k!} n^k + O_k(n^{k-1}).&#xA;$$&#xA;The same asymptotics work for $c(n+1,k)$, which is what you were after. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For non-constant $k$, using the fact that $\binom{n+t-k-1}{t} = \binom{n+t-k-1}{n-k-1}$ is increasing in $t$ and $\sum_{t=0}^k c(k,t) \leq k!$, we get the bounds&#xA;$$&#xA;\binom{n-1}{k} \leq c(n,k) \leq k! \binom{n-1}{k}.&#xA;$$&#xA;Better bounds are surely possible, but I'll leave that to you.&lt;/p&gt;&#xA;" OwnerUserId="40" LastEditorUserId="40" LastEditDate="2013-02-23T04:54:38.333" LastActivityDate="2013-02-23T04:54:38.333" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16598" PostTypeId="2" ParentId="16595" CreationDate="2013-02-23T04:41:40.950" Score="1" Body="&lt;p&gt;I think the question is not yet quite precise, but let me give a couple ways it could be made precise and an answer for each.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;1) We are given an &quot;input string&quot; $s$, an &quot;output string&quot; $t$, a set of pairs $F = \{(a,b) : \text{$a$ and $b$ are strings}\}$, and an integer $k$. The question is if there exists a sequence of pairs $(a_1,b_1),\dots,(a_n,b_n)$ such that: (1) each $(a_i,b_i) \in F$; (2) $a_1 = s$; (3) $b_n = t$; (4) for each $2 \leq i \leq n$, $a_i = b_{i-1}$; (5) $1 \leq n \leq k$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In English, the $(a_i,b_i) \in F$ are &quot;transformations&quot; taking an input string to an output string, and we want to know if there is a length-$k$ or shorter sequence of transformations turning the input into the output.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This can be solved in polynomial time by Dijkstra's algorithm for shortest paths. Make $s, t$, each $a_i$, and each $b_i$ nodes in a graph, drawing a directed edge of length $1$ between $a_i$ and $b_i$ for each $(a_i,b_i) \in F$. There is a length-$k$ transformation of $s$ to $t$ if and only if there is a path of length $k$ between them in the graph.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;2) We are given an input string, output string, and context-free grammar, and asked if the grammar generates the output string from the input string in a parse tree of $k$ or fewer nodes. In this case, the decision problem of whether any derivation exists &lt;a href=&quot;http://en.wikipedia.org/wiki/CYK_algorithm&quot; rel=&quot;nofollow&quot;&gt;can be solved in polynomial time&lt;/a&gt; but I am not sure about the problem of smallest derivation.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;3) Same question but for a &lt;a href=&quot;http://en.wikipedia.org/wiki/Context-sensitive_grammar&quot; rel=&quot;nofollow&quot;&gt;context-sensitive grammar&lt;/a&gt;. In this case, the decision problem of whether there exists a derivation at all is PSPACE-complete. I am not sure about complexity of finding a shortest derivation.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;4) Same question but for an &lt;a href=&quot;http://en.wikipedia.org/wiki/Unrestricted_grammar&quot; rel=&quot;nofollow&quot;&gt;unrestricted grammar&lt;/a&gt;. In this case, even the question of whether there exists a derivation is undecidable.&lt;/p&gt;&#xA;" OwnerUserId="8243" LastEditorUserId="8243" LastEditDate="2013-02-23T20:07:40.603" LastActivityDate="2013-02-23T20:07:40.603" CommentCount="10" ContentLicense="CC BY-SA 3.0" />
  <row Id="16599" PostTypeId="2" ParentId="4907" CreationDate="2013-02-23T08:19:59.640" Score="-2" Body="&lt;p&gt;The directory structure is a tree structure(with root nodes and child nodes.&#xA;In networks it's used to find the shortest route using the minimum spanning tree,Dijkstra's algorithm.&lt;/p&gt;&#xA;" OwnerUserId="13875" LastActivityDate="2013-02-23T08:19:59.640" CommentCount="0" CommunityOwnedDate="2013-02-23T08:19:59.640" ContentLicense="CC BY-SA 3.0" />
  <row Id="16600" PostTypeId="1" AcceptedAnswerId="16645" CreationDate="2013-02-23T09:43:52.203" Score="6" ViewCount="215" Body="&lt;p&gt;I am reading the following &lt;a href=&quot;http://www.google.ch/url?sa=t&amp;amp;rct=j&amp;amp;q=k-splittable%20flow%20problem&amp;amp;source=web&amp;amp;cd=2&amp;amp;ved=0CEcQFjAB&amp;amp;url=http%3A%2F%2Fciteseerx.ist.psu.edu%2Fviewdoc%2Fdownload%3Fdoi%3D10.1.1.86.4294%26rep%3Drep1%26type%3Dpdf&amp;amp;ei=EpAoUZmYPMiphAeS94C4Ag&amp;amp;usg=AFQjCNFkHgKZh2xTipYtV_efOIlKbCvNCA&amp;amp;bvm=bv.42768644,d.ZG4&quot; rel=&quot;nofollow&quot;&gt;paper&lt;/a&gt; about multicommodity-flows. I have not a very strong background in graph theory and hence most of my question regarding the paper are fundamental. My questions are about lemma 2 and its proof, which is needed to find an approximation algorithm for the maximum 2-splittable flow problem.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;My first question is about the problem definition on page 102. A flow in a network has different values along the arcs. They define a k-splittable $s$-$t$ flow $F$ as $k$ pairs $(P_1,f_1),\dots,(P_k,f_k)$, where $P_i$ is a simple $s$-$t$ path. Does the value of such an $f_i$ change along $P_i$? Since they say $(P_i,f_i)\in \mathcal{P}_{s,t}\times\mathbb{R}_{\ge 0}$ this would imply it does not change along $P_i$. However since natural flows do change along the arcs, I want to be sure, if my interpretation is correct.&lt;/li&gt;&#xA;&lt;li&gt;This question is about lemma $2$ on page 105. I have never heard the definition of a thickest $s$-$t$ path. Also a web search was not successful. What does thickest $s$-$t$ path mean in this context and how can we conclude in the proof that the bottleneck edge $e$ has strictly positive residual capacity using the value of a maximum $s$-$t$ flow in $G'$?&lt;/li&gt;&#xA;&lt;li&gt;If this bottleneck edge $e$ is a forward edge of $P_1$, why do both $P^*_1$ and $P^*_2$ contain this edge?&lt;/li&gt;&#xA;&lt;li&gt;What is meant by a $D/k$ integral $s$-$t$ flow?&lt;/li&gt;&#xA;&lt;li&gt;the last question is about approximation algorithms. So far I have never been in touch with approximation algorithms. I know that a $\rho$ approximation algorithm yields a feasible solution whose value is at most a factor of $\rho$ away from the optimum. So how exactly does lemma 2 imply that using the maximum capacity augmenting path algorithm yields a $\frac{2}{3}$-approximation algorithm?&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Thank you for your help&lt;/p&gt;&#xA;" OwnerUserId="13876" LastEditorUserId="13876" LastEditDate="2013-02-25T09:45:49.633" LastActivityDate="2013-02-26T13:34:25.350" Title="Finding the perfomance ratio in a multicommodity-flow" Tags="&lt;approximation-algorithms&gt;&lt;multicommodity-flow&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16603" PostTypeId="1" CreationDate="2013-02-23T11:13:22.780" Score="4" ViewCount="195" Body="&lt;p&gt;There's a feature of Haskell's type system which bugs me: you can't implement a randomized sorting algorithm without the use of randomness spilling out into all of its callers.  That seems undesirable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I know in vague terms that there' something called type-and-effect systems, and I guess those are the ones you would use to describe a randomized QuickSort.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is the case that QuickSort consumes entropy and doesn't emit any, unlike the Fisher-Yates(-Knuth) shuffle which has randomness both in its input and its output.  I think it should somehow be possible to specify two effects, e.g. &lt;code&gt;takes-entropy&lt;/code&gt; and &lt;code&gt;yields-entropy&lt;/code&gt; such that QuickSort can be validly type+effect-checked as having one effect and the FYK-shuffle as having both.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A lower bound on their effects can probably be inferred easily when they call &lt;code&gt;rand()&lt;/code&gt; or its equivalent.  If you annotate quicksort, being a sorting algorithm, as yielding an  output which is sorted and which contains the same elements as the input but in a different order, can you also infer that the randomness won't leak out---that is, an upper bound of anything-except-yield-entropy on the effect---of QuickSort?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is this approach viable?  Is it useful?  When it comes to stochastic effects, I think what most callers would care about is whether the outputs of their callees are random, i.e. it's the &lt;code&gt;yields-entropy&lt;/code&gt; effect which is the most likely to introduce bugs in your programs, and thus the interesting one to limit, which is why you would want the narrower type for QuickSort.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are my thoughts here remotely correct?  Do they make sense?  I'm not versed in effect systems, but I think this idea might work.  How does it connect to the established literature?  Am I on to something?  If so, why hasn't this been done yet? ;-)&lt;/p&gt;&#xA;" OwnerUserId="13880" LastActivityDate="2013-02-23T11:13:22.780" Title="Type-and-effect systems, stochasticism and effect squelching: how about quicksort?" Tags="&lt;type-theory&gt;&lt;randomized-algorithms&gt;&lt;sorting&gt;&lt;type-systems&gt;&lt;haskell&gt;" AnswerCount="0" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="16604" PostTypeId="2" ParentId="11731" CreationDate="2013-02-23T11:38:30.617" Score="0" Body="&lt;p&gt;Please help me understand the model.  I think it is equivalent to the following:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is an array $A$ contained within a comparison oracle $O$ which you can send any list of pairs $[(i_1, j_1), \ldots, (i_n, j_n)]$ and which responds with a list of booleans $[b_1, \ldots, b_n]$ such that $b_k = 1 \iff A[i_k] &amp;gt; A[j_k]$, i.e. if the $k$'th pair represents an inversion.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A sorting algorithm is &lt;em&gt;correct&lt;/em&gt; if it outputs $i_1, \ldots, i_n$ such that querying $O$ with $[(i_1, i_2), (i_2, i_3), \ldots, (i_{n-1}, i_n)]$ produces $[0, \ldots, 0]$, i.e. the output is sorted.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The performance of such an algorithm is measured by how many queries it performs to the oracle (depth) and the total number of pairs submitted to the oracle (the number of comparisons).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Your question is about the existence of thus defined &lt;em&gt;correct&lt;/em&gt; sorting algorithms which satisfy various performance bounds.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is this correct?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Sorting networks are thus a special case where each element may only occur once in each submitted batch of comparisons, as I understand it.  Lifting this restriction is then the reason you can beat the performance of the best sorting networks.  Agreed?&lt;/p&gt;&#xA;" OwnerUserId="13880" LastActivityDate="2013-02-23T11:38:30.617" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16606" PostTypeId="1" AcceptedAnswerId="16680" CreationDate="2013-02-23T13:18:30.353" Score="4" ViewCount="2837" Body="&lt;p&gt;If we have a digraph $G=(V,A)$ with capacity $u_a\in \mathbb{N}$ for $a\in A$ and a source $s$ and sink $t$. I know the following theorem:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Let $f$ be a flow in the network above. Then there is a collection of feasible flows $f_1,\dots,f_k$ and $s$-$t$ paths $p_1,\dots,p_k$ such that&lt;/p&gt;&#xA;  &#xA;  &lt;ul&gt;&#xA;  &lt;li&gt;$k\le |A|$&lt;/li&gt;&#xA;  &lt;li&gt;the flow value of $f$ is equal the sum of the flow values of the $f_i$'s&lt;/li&gt;&#xA;  &lt;li&gt;the flow $f_i$ sends only positive flow on the edges of $p_i$&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I am wondering if for a given flow $f$ and integer $n$ under additional assumption there is such a decomposition in exactly $n$ such paths?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Motivation: In our lecture notes there use two iteration of the Ford–Fulkerson algorithm and claim: the resulting flow can be decomposed in 3 paths and a circulation. Clearly, from the algorithm I get two path, but how can I decompose the flow in three path and a circulation? The only decomposition theorem we had, is the one I stated above. I guess it uses some other approach. &#xA;However the question of decomposing in exactly $n$ paths is also of particular interest for me. Thanks in advance.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;math&lt;/p&gt;&#xA;" OwnerUserId="13878" LastEditorUserId="13878" LastEditDate="2013-03-02T15:22:52.657" LastActivityDate="2017-05-04T12:04:45.860" Title="Can a flow be decomposed in a given number of paths?" Tags="&lt;graph-theory&gt;" AnswerCount="2" CommentCount="8" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16607" PostTypeId="1" CreationDate="2013-02-23T13:53:15.257" Score="0" ViewCount="89" Body="&lt;p&gt;A newbie question, if I may... Could you be so kind and explain to me in plain english meaning of 'denotational semantics' and 'operational semantics'? I'm familiar with the definitions and have read a lot of other material, but still struggling with these concepts. Probalby I need some use cases... or a practical exercise :)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;How to define denotational and operational semantics for a given programming language? Can it be done for any language or there are any prereqs? What is the usual approach: if I have a description of a PL, for instance, how to build these two semantics for it? What should I start with? What should I get at the end of the exercise? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Many thanks...&lt;/p&gt;&#xA;" OwnerUserId="13843" LastActivityDate="2013-02-23T13:53:15.257" Title="Semantics of a programming language" Tags="&lt;type-theory&gt;&lt;type-systems&gt;&lt;denotational-semantics&gt;&lt;operational-semantics&gt;" AnswerCount="0" CommentCount="2" ClosedDate="2013-02-23T21:43:50.437" ContentLicense="CC BY-SA 3.0" />
  <row Id="16608" PostTypeId="1" CreationDate="2013-02-23T16:28:31.947" Score="24" ViewCount="2478" Body="&lt;p&gt;I hope this is not a politically incorrect question to ask, but for a PhD student who usually publishes at CCC/ITCS/ICALP (and occasionally at FOCS/STOC), could it be harmful (career-wise) to publish less significant works in less prestigious conferences (e.g. MFCS, FCT, STACS, IPL)? Could it be better to just leave such papers laying at ECCC/arXiv? &lt;/p&gt;&#xA;" OwnerUserId="10489" LastEditorUserId="10489" LastEditDate="2013-02-23T17:05:19.013" LastActivityDate="2014-05-30T10:12:25.193" Title="Is it sometimes better to not publish at all?" Tags="&lt;soft-question&gt;&lt;career&gt;" AnswerCount="2" CommentCount="4" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="16609" PostTypeId="2" ParentId="16608" CreationDate="2013-02-23T17:39:59.917" Score="28" Body="&lt;h2&gt;No.  Publish.&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;The only things that would be actively &lt;em&gt;harmful&lt;/em&gt; to your career would be publishing &lt;em&gt;most&lt;/em&gt; of your papers in third-tier venues (strongly suggesting that you have &lt;em&gt;mostly&lt;/em&gt; third-tier results), or publishing anything in a fake/scam conference (strongly suggesting that you are either dangerously uninformed or a scammer yourself).&lt;/p&gt;&#xA;" OwnerUserId="111" LastActivityDate="2013-02-23T17:39:59.917" CommentCount="17" ContentLicense="CC BY-SA 3.0" />
  <row Id="16610" PostTypeId="2" ParentId="11855" CreationDate="2013-02-23T23:11:05.363" Score="17" Body="&lt;p&gt;There's a big caveat when using D*, D*-Lite, or any of the incremental algorithms in this category (and it's worth noting that this caveat is seldom mentioned in the literature). These types of algorithms use a reversed search. That is, they compute costs outwards from the goal node, like a ripple spreading outwards. When the costs of edges change (e.g. you add or remove a wall in your example) they all have various efficient strategies for only updating the subset of the explored (a.k.a. 'visited') nodes that is affected by the changes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The big caveat is that the location of these changes with respect to the goal location makes an enormous difference to the efficiency of the algorithms. I showed in various papers and my thesis that it's entirely possible for the worst case performance of any of these incremental algorithms to be &lt;em&gt;worse&lt;/em&gt; than throwing away all the information and starting afresh with something non-incremental like plain old A*.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;When the changed cost information is close to the perimeter of the expanding search front (the 'visited' region), few paths have to change, and the incremental updates are fast. A pertinent example is a mobile robot with sensors attached to its body. The sensors only see the world near the robot, and hence the changes are in this region. This region is the starting point of the search, not the goal, and so everything works out well and the algorithms are very efficient at updating the optimum path to correct for the changes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;When the changed cost information is close to the goal of the search (or your scenario sees the goal change locations, not just the start), these algorithms suffer catastrophic slowdown. In this scenario, almost all the saved information needs to be updated, because the changed region is so close to the goal that almost all pre-calculated paths pass through the changes and must be re-evaluated. Due to the overhead of storing extra information and calculations to do incremental updates, a re-evaluation on this scale is slower than a fresh start.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since your example scenario appears to let the user move any wall they desire, you will suffer this problem if you use D*, D*-Lite, LPA*, etc. The time-performance of your algorithm will be variable, dependent upon user input. In general, &quot;this is a bad thing&quot;... &lt;/p&gt;&#xA;&#xA;&lt;p&gt;As an example, Alonzo Kelly's group at CMU had a fantastic program called PerceptOR which tried to combine ground robots with aerial robots, all sharing perception information in real-time. When they tried to use a helicopter to provide real-time cost updates to the planning system of a ground vehicle, they hit upon this problem because the helicopter could fly ahead of the ground vehicle, seeing cost changes closer to the goal, and thus slowing down their algorithms. Did they discuss this interesting observation? No. In the end, the best they managed was to have the helicopter fly directly overhead of the ground vehicle - making it the world's most expensive sensor mast. Sure, I'm being petty. But it's a big problem that no one wants to talk about - and they should, because it can totally ruin your ability to use these algorithms if your scenario has these properties.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are only a handful of papers that discuss this, mostly by me. Of papers written by the authors or students of the authors of the original papers listed in this question, I can think of only one that actually mentions this problem. Likhachev and Ferguson suggest trying to estimate the scale of updates required, and flushing the stored information if the incremental update is estimated to take longer than a fresh start. This is a pretty sensible workaround, but there are others too. My PhD generalizes a similar approach across a broad range of computational problems and is getting beyond the scope of this question, however you may find the references useful since it has a thorough overview of most of these algorithms and more. See &lt;a href=&quot;http://db.acfr.usyd.edu.au/download.php/Allen2011_Thesis.pdf?id=2364&quot;&gt;http://db.acfr.usyd.edu.au/download.php/Allen2011_Thesis.pdf?id=2364&lt;/a&gt; for details.&lt;/p&gt;&#xA;" OwnerUserId="13889" LastActivityDate="2013-02-23T23:11:05.363" CommentCount="1" CommunityOwnedDate="2013-02-23T23:11:05.363" ContentLicense="CC BY-SA 3.0" />
  <row Id="16611" PostTypeId="1" CreationDate="2013-02-23T23:23:59.943" Score="4" ViewCount="158" Body="&lt;p&gt;I know that UGC implies a hardness of 2 for vertex cover, but is there a way to have this hardness on instances where the size of the vertex cover is at least $(1-\epsilon)\frac{|V|}2$? More generally is anything known on the hardness of approximating $|V|+|\mbox{Minimum Vertex Cover}|$?&lt;/p&gt;&#xA;" OwnerUserId="13893" LastEditorUserId="13893" LastEditDate="2013-02-24T00:19:27.383" LastActivityDate="2013-02-24T00:19:27.383" Title="Hardness of approximating |V|+(size of vertex cover)" Tags="&lt;approximation-hardness&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="16612" PostTypeId="1" AcceptedAnswerId="16614" CreationDate="2013-02-24T01:30:43.580" Score="0" ViewCount="300" Body="&lt;p&gt;When there are multiple marked elements, grover search provides only superposition of them. If I want to find all the marked elements, not superposition, I could try this:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) Do Grover search, get superposition of t marked element, &lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) observe ele space, get one marked element,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;3) remove that element,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;4) goto 1)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This takes time step $O(\sqrt{\frac{N}{t}}+\sqrt{\frac{N-1}{t-1}}+\dots+\sqrt{\frac{N-t+1}{1}})$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is, can i do better?&lt;/p&gt;&#xA;" OwnerUserId="13883" LastActivityDate="2013-02-24T02:20:29.510" Title="Finding all solutions by Grover search(not superposition)" Tags="&lt;quantum-computing&gt;&lt;quantum-information&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16613" PostTypeId="2" ParentId="11855" CreationDate="2013-02-24T01:45:36.567" Score="0" Body="&lt;p&gt;Data structures called &lt;strong&gt;&lt;em&gt;distance oracles&lt;/em&gt;&lt;/strong&gt; handle such problems. However, most research results are for &lt;em&gt;static&lt;/em&gt; graphs only.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If the graphs are grids (and thus planar), some &lt;em&gt;dynamic&lt;/em&gt; data structures exist (unclear whether the constants are small enough for the application in question):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Exact shortest paths:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Jittat Fakcharoenphol, Satish Rao: Planar graphs, negative weight edges, shortest paths, and near linear time. J. Comput. Syst. Sci. 72(5): 868-889 (2006)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Approximate shortest paths:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Philip N. Klein, Sairam Subramanian: A Fully Dynamic Approximation Scheme for Shortest Paths in Planar Graphs. Algorithmica 22(3): 235-249 (1998)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Ittai Abraham, Shiri Chechik, Cyril Gavoille: Fully dynamic approximate distance oracles for planar graphs via forbidden-set distance labels. STOC 2012: 1199-1218&lt;/p&gt;&#xA;" OwnerUserId="4821" LastActivityDate="2013-02-24T01:45:36.567" CommentCount="2" CommunityOwnedDate="2013-02-24T01:45:36.567" ContentLicense="CC BY-SA 3.0" />
  <row Id="16614" PostTypeId="2" ParentId="16612" CreationDate="2013-02-24T02:20:29.510" Score="5" Body="&lt;p&gt;First note that the sum $O\left(\sqrt{\frac{N}{t}}+\sqrt{\frac{N-1}{t-1}}+\dots+\sqrt{\frac{N-t+1}{1}}\right) = O(\sqrt{Nt})$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The quantum query complexity of this problem is indeed $\Theta(\sqrt{Nt})$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The lower bound can be shown by reduction from the problem of deciding whether the input has $t$ marked elements or $t+1$ marked elements. This problem is very similar to $t$-threshold, and has a lower bound of $\Omega(\sqrt{Nt})$. This can be shown using the polynomial method or the adversary method.&lt;/p&gt;&#xA;" OwnerUserId="206" LastActivityDate="2013-02-24T02:20:29.510" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16615" PostTypeId="2" ParentId="11855" CreationDate="2013-02-24T05:27:58.997" Score="4" Body="&lt;p&gt;I'd like add something about rapidly-exploring randomized trees, or RRTs. The basic idea has good discussion all over the internet, but it's probably safe to start with the links off the Wikipedia page and with Kuffner and LaValle's original papers on the topic.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The most important feature of RRTs is that they can deal with real-valued spaces of &lt;em&gt;extremely&lt;/em&gt; high dimension without choking. They can handle dynamics, are not optimal but are probabilistically complete (guaranteed to succeed if possible as computation time goes to infinity), and are capable of handling moving targets. There are some extensions that let them work in non-static spaces, the best of which looks to be the Multipartite RRT work that I've linked below.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Rapidly_exploring_random_tree&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/Rapidly_exploring_random_tree&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://swing.adm.ri.cmu.edu/pub_files/pub4/zucker_matthew_2007_1/zucker_matthew_2007_1.pdf&quot; rel=&quot;nofollow&quot;&gt;http://swing.adm.ri.cmu.edu/pub_files/pub4/zucker_matthew_2007_1/zucker_matthew_2007_1.pdf&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="13902" LastActivityDate="2013-02-24T05:27:58.997" CommentCount="0" CommunityOwnedDate="2013-02-24T05:27:58.997" ContentLicense="CC BY-SA 3.0" />
  <row Id="16616" PostTypeId="2" ParentId="10581" CreationDate="2013-02-24T07:14:19.353" Score="6" Body="&lt;p&gt;The following additional references on Matrix Rigidity may be helpful:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Complexity Lower Bounds using Linear Algebra, S. V. Lokam,&#xA;in Foundations and Trends in Theoretical Computer Science, Volume 4, 1-2, 2009.&#xA;&lt;a href=&quot;http://dx.doi.org/10.1561/0400000011&quot;&gt;http://dx.doi.org/10.1561/0400000011&lt;/a&gt; &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Using Elimination Theory to construct Rigid Matrices, A. Kumar, S.V. Lokam,. V. Patankar, J. Sarma, &#xA;ECCC TR09-106, &lt;a href=&quot;http://eccc.hpi-web.de/report/2009/106/&quot;&gt;http://eccc.hpi-web.de/report/2009/106/&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="13909" LastActivityDate="2013-02-24T07:14:19.353" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16620" PostTypeId="2" ParentId="11855" CreationDate="2013-02-24T09:06:10.147" Score="0" Body="&lt;p&gt;In school I dabbled with &lt;a href=&quot;https://en.wikipedia.org/wiki/Ant_colony_optimization&quot; rel=&quot;nofollow&quot;&gt;ant colony optimization&lt;/a&gt;. In some texts it was touted as a solution for continuously changing graphs, routing networks, etc. It's not an engineered solution, but an adaptation from how ants navigate around obstacles by spreading pheromones to mark good and bad paths. I have no idea if it works for your problem, but i think it's an interesting point of view.&lt;/p&gt;&#xA;" OwnerUserId="13916" LastEditorUserId="4193" LastEditDate="2013-02-25T18:29:49.167" LastActivityDate="2013-02-25T18:29:49.167" CommentCount="0" CommunityOwnedDate="2013-02-24T09:06:10.147" ContentLicense="CC BY-SA 3.0" />
  <row Id="16621" PostTypeId="1" AcceptedAnswerId="16622" CreationDate="2013-02-24T10:44:51.820" Score="21" ViewCount="7767" Body="&lt;p&gt;I have a reasonable undergrad math education but have never been 100% comfortable with abstract algebra (the mathematics of groups, rings, fields etc. ).  I think this was partly as I needed to see applications and any that I could find were in physics, not CS.  As my interest is really CS, are there any materials available now (online drafts, lecture notes, videos, books) that cover abstract algebra from the point of view of applications in CS and in particularly algorithms/theory?  I am happy for these applications to be entirely theoretical but they shouldn't assume any pre-existing abstract algebra knowledge.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am pretty sure that were these resources to exist, they would be appreciated by  a large number of CS researchers.   &lt;/p&gt;&#xA;" OwnerUserId="13917" LastEditorUserId="13917" LastEditDate="2013-02-24T11:07:50.097" LastActivityDate="2013-02-28T15:35:08.077" Title="Abstract algebra for Theoretical Computer Scientists" Tags="&lt;soft-question&gt;&lt;algebra&gt;&lt;teaching&gt;" AnswerCount="4" CommentCount="2" FavoriteCount="16" ContentLicense="CC BY-SA 3.0" />
  <row Id="16622" PostTypeId="2" ParentId="16621" CreationDate="2013-02-24T11:34:12.947" Score="18" Body="&lt;p&gt;You could try the notes from Madhu Sudan's course: &lt;a href=&quot;http://people.csail.mit.edu/madhu/FT98/course.html&quot;&gt;Algebra and Computation&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="15" LastActivityDate="2013-02-24T11:34:12.947" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16624" PostTypeId="2" ParentId="16621" CreationDate="2013-02-24T21:05:00.783" Score="12" Body="&lt;p&gt;One possibily path into abstract algebra could be to look at it from point of view of cryptography, which is about algorithms on finite field. Fields are rings, and fields are also two groups coupled by simple laws. Field theory uses vector spaces in prominent position (Galois theory), so this angle should cover a lot of abstract algebra. The book&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.shoup.net/ntb/&quot;&gt;A Computational Introduction to Number Theory and Algebra&lt;/a&gt; by V. Shoup&lt;/p&gt;&#xA;&#xA;&lt;p&gt;could therefore be of interest. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;My personal recommendation would be to ignore applications, and study a basic undergraduate maths text on abstract algebra. There is no shortage of those. Just trust that all this stuff is useful, and that the use will reveal itself more easily once you have a basic grasp of the material.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Most basic algebra is constructive and you can easily implement basic concepts to gain a better understanding, e.g. algorithms that check if a multiplication table is a group, an equation solver in a group, a program that checks if two algebraic structures are isomorphic etc. Most of these problems have brute-force solutions which are easy to implement, but slow. The more you learn about algebra, the more algorithmic shortcuts you can make, to speed up your programs. E.g. the famous &lt;a href=&quot;https://en.wikipedia.org/wiki/Miller%E2%80%93Rabin_primality_test&quot;&gt;Miller-Rabin&lt;/a&gt; and &lt;a href=&quot;https://en.wikipedia.org/wiki/AKS_primality_test&quot;&gt;AKS&lt;/a&gt; primality tests.&lt;/p&gt;&#xA;" OwnerUserId="898" LastEditorUserId="898" LastEditDate="2013-02-25T10:12:53.450" LastActivityDate="2013-02-25T10:12:53.450" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16625" PostTypeId="1" CreationDate="2013-02-25T01:47:04.640" Score="3" ViewCount="257" Body="&lt;p&gt;Is there a way to find out the time bound between 2 consecutive strings enumerated by a TM (the TM that &lt;em&gt;decides&lt;/em&gt; this language is promised to run in linear time)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For simplicity let's say the string is binary, &#xA;the obvious answer is exponential to input length. &#xA;But the question is can we do better? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Sorry if I mixed up some notations, &#xA;been a while since my Theory of Computation class.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I somehow feel like I can make something out of &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/questions/5004/are-runtime-bounds-in-p-decidable-answer-no&quot;&gt;Are runtime bounds in P decidable? (answer: no)&lt;/a&gt; &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;but can someone please give a hint?&lt;/p&gt;&#xA;" OwnerUserId="13931" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2013-03-28T22:03:01.193" Title="Runtime of a TM enumerator" Tags="&lt;computability&gt;&lt;turing-machines&gt;&lt;polynomial-time&gt;" AnswerCount="2" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="16627" PostTypeId="1" CreationDate="2013-02-25T07:19:32.603" Score="1" ViewCount="128" Body="&lt;p&gt;Both Theta* and Field D* are variations on the A* algorithm, but are adapted for any-angle pathfinding rather than pathfinding constrained to a grid. The primary difference between these two algorithms that I've seen is that Field D* can quickly recalculate the path at any time to adjust if the grid changes, while Theta* provides no such functionality.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Besides this change, what are the major differences between these algorithms? What are the pros/cons? Which is faster, and which will generate a superior path?&lt;/p&gt;&#xA;" OwnerUserId="13935" LastActivityDate="2013-02-25T07:19:32.603" Title="What are the differences between Theta* and Field D*?" Tags="&lt;ds.algorithms&gt;&lt;shortest-path&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="16628" PostTypeId="1" AcceptedAnswerId="16642" CreationDate="2013-02-25T07:42:34.933" Score="9" ViewCount="983" Body="&lt;ol&gt;&#xA;&lt;li&gt;How can we express &quot;$P=PSPACE$&quot; as a first-order formula?&lt;/li&gt;&#xA;&lt;li&gt;Which level of the arithmetic hierarchy contains this formula (and what is the currently known minimum level of the hierarchy that contains it)?&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;For reference, see &lt;a href=&quot;http://rjlipton.wordpress.com/2009/05/27/arithmetic-hierarchy-and-pnp/&quot;&gt;this blog post by Lipton&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="13936" LastEditorUserId="4193" LastEditDate="2013-02-25T18:16:19.470" LastActivityDate="2013-02-28T23:48:13.647" Title="How can we express &quot;$P=PSPACE$&quot; as a first-order formula?" Tags="&lt;cc.complexity-theory&gt;&lt;lo.logic&gt;&lt;descriptive-complexity&gt;" AnswerCount="2" CommentCount="7" FavoriteCount="7" ClosedDate="2013-02-28T03:42:12.513" ContentLicense="CC BY-SA 3.0" />
  <row Id="16629" PostTypeId="1" AcceptedAnswerId="16632" CreationDate="2013-02-25T08:41:57.270" Score="-3" ViewCount="99" Body="&lt;p&gt;Does anybody knows a proof that no algorithm $A$ exists that can reversibly transform every possible finite sequence $S$ to the sequence $C$ of smaller size?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here I assume $S$ and $C$ to be a finite bit sequences (or more generally some finite sequences of elements from certain finite set), algorithm should be executed in the finite time for each sequence S and use finite memory. The same constraints applies for the reverse algorithm $A^{-1}$ - it should consume finite memory and &quot;unpack&quot; certan sequence in the finite time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I guess such a proof would be trivial one, but I forgot how the formal proof is done.&lt;/p&gt;&#xA;" OwnerUserId="13937" LastActivityDate="2013-02-25T09:27:58.557" Title="Proof of non-existence of the universal archiver?" Tags="&lt;compressed-sensing&gt;" AnswerCount="1" CommentCount="1" ClosedDate="2013-03-22T22:34:37.877" ContentLicense="CC BY-SA 3.0" />
  <row Id="16630" PostTypeId="2" ParentId="16621" CreationDate="2013-02-25T08:42:22.167" Score="0" Body="&lt;p&gt;Besides cryptography, a very nice practical application of algebra in computer science is perhaps the implementaion of fractions, where numerator and denominator are of an integral or &quot;big integer&quot; type and encoding length is kepts small by reducing fractions (i.e. factoring out the greatest common divisor of numerator and denominator).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Concerning &quot;big integer&quot; data types, an interesting result is the so-called &quot;Chinese remainder theorem&quot; which permits the parallelization of integer operations once a representation as prime factors of the arguments are known.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Furthermore, most of the stuff found in algebra can be aesthetically pleasing (just a personal point of view).&lt;/p&gt;&#xA;" OwnerUserId="13407" LastActivityDate="2013-02-25T08:42:22.167" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16632" PostTypeId="2" ParentId="16629" CreationDate="2013-02-25T09:27:58.557" Score="2" Body="&lt;p&gt;Assume there is a program that maps every sequence of $n$ bits to a sequence of $n-1$ bits. There are $2^n$ sequences with $n$ bits, but only $2^{n-1}$ sequences with $n-1$ bits. Hence there are two sequences $S,S'$ that get mapped to the same sequence $C$. Therefore there can be no algorithm that reverses the transformation.&lt;/p&gt;&#xA;" OwnerUserId="12560" LastActivityDate="2013-02-25T09:27:58.557" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16633" PostTypeId="1" AcceptedAnswerId="16638" CreationDate="2013-02-25T09:58:12.730" Score="2" ViewCount="306" Body="&lt;p&gt;When reading about descriptive complexity theory, I have read about a &quot;commutative transitive closure operator&quot;. I understand transitive closure operators, but what is a commutative transitive closure operator?&lt;/p&gt;&#xA;" OwnerUserId="13938" LastEditorUserId="4193" LastEditDate="2013-02-25T18:20:57.513" LastActivityDate="2013-02-26T15:32:15.097" Title="What is a commutative transitive closure operator?" Tags="&lt;cc.complexity-theory&gt;&lt;lo.logic&gt;&lt;descriptive-complexity&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16637" PostTypeId="2" ParentId="16521" CreationDate="2013-02-25T11:18:12.277" Score="9" Body="&lt;p&gt;(This is an addition to usul's answer and YoshioOkamoto's comment, rather than an answer.) It can be seen that your operation $\Phi$ exists only for those graphs $G$ for which there is a graph $G'$ with $G = L(G')$, i.e. $G$ is a line graph (checkable in polytime). In this case, $\Phi$ is the &quot;inverse line graph operator&quot; $L^{-1}$, i.e. $\Phi(G)=G'$, and vertex colorings of $G$ are edge colorings of $\Phi(G)$. &lt;/p&gt;&#xA;" OwnerUserId="13464" LastActivityDate="2013-02-25T11:18:12.277" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16638" PostTypeId="2" ParentId="16633" CreationDate="2013-02-25T11:52:23.983" Score="12" Body="&lt;p&gt;Take a relation $R \subseteq X \times X$. Now, let $R^\dagger$ be the converse relation to $R$, and let $\Delta_X$ be the identity relation on $X$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The commutative transitive closure $R^*$ is the smallest relation $S $ such that $\Delta_X \cup R \cup R^\dagger \cup S \circ S \subseteq S$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Intuitively, think of the relation $R$ as being the edge relation on a directed graph. The commutative transitive closure tells you whether or not there is a path between two nodes, if you let yourself ignore the directedness. &lt;/p&gt;&#xA;" OwnerUserId="657" LastEditorUserId="13649" LastEditDate="2013-02-26T15:32:15.097" LastActivityDate="2013-02-26T15:32:15.097" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16640" PostTypeId="1" CreationDate="2013-02-25T13:37:45.803" Score="3" ViewCount="262" Body="&lt;p&gt;Coding Theory has many algorithmic problems that enriched theoretical computer science. I want to learn specifically the connection between coding theory and the hardness of computational problems. I'm aware of the NP-completeness of Maximum likelihood decoding problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there recent surveys and tutorials of computationally hard problems in coding theory?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm more interested in surveys that do not assume strong background in coding theory.  &lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2013-02-25T19:13:58.700" LastActivityDate="2013-02-25T19:13:58.700" Title="Surveys on Algorithmic Problems in Coding Theory" Tags="&lt;cc.complexity-theory&gt;&lt;coding-theory&gt;&lt;survey&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16642" PostTypeId="2" ParentId="16628" CreationDate="2013-02-25T14:02:16.707" Score="26" Body="&lt;p&gt;Firstly, I want to address the comments to the question, where it was suggested that &quot;false&quot; expresses $P = PSPACE$ because the statement &lt;em&gt;is&lt;/em&gt; false. While this might be a good joke, it is actually very much harmful to think this way. When we ask how to express a certain sentence in a certain formal system, we are not talking about truth values. If we were, then when someone asked &quot;How do I write down the fact that there are infinitely many primes?&quot; we could answer &quot;3 + 3 = 6&quot;, but this clearly will not do. For the same reason &quot;false&quot; is not a valid answer to &quot;how do I write down $P = PSPACE$?&quot;. I think Frege and Russell tried hard to teach us that lesson. Ok, now to the answer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let me show how to express $PSPACE \subseteq P$, the other direction is similar, and then you can put them together in a conjunction to get $PSPACE = P$. In any case, for your purposes it may be sufficient to express just $PSPACE \subseteq P$, depending on what you are doing.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Using techniques similar to those in the construction of &lt;a href=&quot;http://en.wikipedia.org/wiki/Kleene%27s_T_predicate&quot; rel=&quot;noreferrer&quot;&gt;Kleene's predicate $T$&lt;/a&gt;, &#xA;we can construct a bounded quantifer formula $accept_{space}(k, m, n)$ (which thus resides in $\Sigma^0_0 = \Pi^0_0$) saying &quot;when we run the machine encoded by $k$ and bound its space usage to $|n|^m$, the machine accepts the input $n$.&quot; Here $|n|$ is the length of $n$. An informal way of seeing that such formulas exists is this: given $k$, $m$, and $n$ we can compute primitive recursive bound on how much time and how much space we are ever going to need (i.e., at most $|n|^m$ space and at most $2^{|n|^m}$ time). We then simply search through all possible execution traces which are within the computed bounds--such a search is rather inefficient, but it is primitive recursive and so we can express it as a bounded formula.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is a similar formula $accept_{time}(k, m, n)$ in which the running time is bound by $|n|^m$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now consider the formula:&#xA;$$\forall k, m . \exists k', m' . \forall n .&#xA;accept_{space}(k,m,n) \Leftrightarrow accept_{time}(k',m', n).&#xA;$$&#xA;It says that for every machine $k$ which uses at most space $|n|^m$ there is a machine $k'$ which uses at most time $|n|^{m'}$ such that the two machines accepts exactly the same $n$'s. In other words, the formula says $PSPACE \subseteq P$. This formula is $\Pi^0_3$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We can improve this if we are willing to express instead the sentence &quot;$TQBF$ is in polytime&quot; , which should be good enough for most applications, as &lt;a href=&quot;http://en.wikipedia.org/wiki/PSPACE-complete#TQBF&quot; rel=&quot;noreferrer&quot;&gt;TQBF&lt;/a&gt; is PSPACE complete and so it being in polytime is equivalent to $PSPACE \subseteq P$. Let $k_0$ be (the code of) a machine which recognizes TQBF in space $|n|^{m_0}$. Then &quot;$TQBF \in P$&quot; can be expressed as&#xA;$$\exists k', m' . \forall n . accept_{space}(k_0, m_0, n) \Leftrightarrow accept_{time}(k', m', n).$$&#xA;This formula is just $\Sigma^0_2$. If I were a complexity theorist I would know if it is possible to do even better (but I doubt it).&lt;/p&gt;&#xA;" OwnerUserId="705" LastEditorUserId="705" LastEditDate="2013-02-28T23:48:13.647" LastActivityDate="2013-02-28T23:48:13.647" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16643" PostTypeId="2" ParentId="16640" CreationDate="2013-02-25T15:30:43.793" Score="3" Body="&lt;p&gt;There are known worst-case hardness results about ML decoding (for general and specific families of codes such as Reed-Solomon), computing or approximating minimum distance of codes, and so on. However there is a great room for improvement in these directions and several seemingly intractable problems are not analyzed yet.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are coding theoretic problems that are conjectured to be intractable, such as problems related to decoding random ensembles of codes. Such intractability assumptions are related to hardness of learning noisy parities and also form the basis of coding-theoretic public key cryptography (which is a big area of research by itself). For a good account of the latter, see &lt;a href=&quot;http://infoscience.epfl.ch/record/104417&quot; rel=&quot;nofollow&quot;&gt;Lorenz Minder's thesis&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, there's a survey on &lt;em&gt;tractable&lt;/em&gt; algorithmic problems in coding, including recent developments in list decoding: &lt;a href=&quot;http://www.cs.cmu.edu/~venkatg/pubs/papers/listdecoding-NOW.pdf&quot; rel=&quot;nofollow&quot;&gt;Algorithmic Results in List Decoding&lt;/a&gt;. This is a good resource to quickly learn about basics of coding theory. Also for learning the basics, Luca Trevisan's article &lt;a href=&quot;http://theory.stanford.edu/~trevisan/pubs/codingsurvey.pdf&quot; rel=&quot;nofollow&quot;&gt;&quot;Some Applications of Coding Theory in Computational Complexity&quot;&lt;/a&gt; may be useful.&lt;/p&gt;&#xA;" OwnerUserId="6190" LastActivityDate="2013-02-25T15:30:43.793" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16644" PostTypeId="2" ParentId="16628" CreationDate="2013-02-25T15:45:45.773" Score="21" Body="&lt;p&gt;Andrej has already explained that $P=\mathit{PSPACE}$ can be written as a $\Sigma^0_2$-sentence. Let me mention that this classification is optimal in the sense that if the statement is equivalent to a $\Pi^0_2$-sentence, then this fact does not relativize. More precisely, the set of oracles $A$ such that $P^A=\mathit{PSPACE}^A$ is definable by a $\Sigma^0_2$-formula with a free second-order variable $A$, but it is not definable by any $\Pi^0_2$-formula. The argument is outlined (for $P=\mathit{NP}$, but it works just the same for $\mathit{PSPACE}$) in the comments at &lt;a href=&quot;https://mathoverflow.net/questions/57348&quot;&gt;https://mathoverflow.net/questions/57348&lt;/a&gt;. (In fact, one can show by an elaboration of the idea that the set is $\Sigma^0_2$-complete in the appropriate sense.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT: The topological proof given in the linked comment is short, but it may appear tricky. Here is a direct forcing argument.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$P^A\ne\mathit{PSPACE}^A$ can be written as a $\Pi^0_2$-formula of the form $\phi(A)=\forall x\,\exists y\,\theta(A,x,y)$, where $\theta$ is $\Delta^0_0$. Assume for contradiction that $P^A=\mathit{PSPACE}^A$ is also equivalent to a $\Pi^0_2$-formula $\psi(A)=\forall x\,\exists z\,\eta(A,x,z)$. Fix oracles $B$, $C$ such that $P^B\ne\mathit{PSPACE}^B$ and $P^C=\mathit{PSPACE}^C$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since $\phi(B)$, there exists $y_0$ such that $\theta(B,0,y_0)$. However, $\theta$ is a bounded formula, hence the evaluation of the truth value of $\theta(B,0,y_0)$ only uses a finite part of the oracle. Thus, there exists a finite part $b_0$ of $B$ such that $\theta(A,0,y_0)$ for every oracle $A$ extending $b_0$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $C[b_0]$ denote the oracle which extends $b_0$, and agrees with $C$ where $b_0$ is undefined. Since $P^A$ and $\mathit{PSPACE}^A$ are unaffected by a finite change in the oracle, we have $\psi(C[b_0])$. By the same argument as above, there exists $z_0$ and a finite part $c_0$ of $C[b_0]$ such that $\eta(A,0,z_0)$ for every $A$ extending $c_0$. We may assume that $c_0$ extends $b_0$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Continuing in the same fashion, we construct infinite sequences of numbers $y_0,y_1,y_2,\dots$, $z_0,z_1,z_2,\dots$, and finite partial oracles $b_0\subseteq c_0\subseteq b_1\subseteq c_1\subseteq b_2\subseteq\cdots$ such that&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;$\theta(A,n,y_n)$ for every oracle $A$ extending $b_n$,&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;$\eta(A,n,z_n)$ for every oracle $A$ extending $c_n$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Now, let $A$ be an oracle which extends all $b_n$ and $c_n$. Then 1 and 2 imply that $\phi(A)$ and $\psi(A)$ simultaneously hold, which contradicts the assumption that they are complements of each other.&lt;/p&gt;&#xA;" OwnerUserId="6959" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2013-02-25T17:15:46.330" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16645" PostTypeId="2" ParentId="16600" CreationDate="2013-02-25T16:17:30.930" Score="3" Body="&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;$f_i$ are constant real numbers. They stay the same over the entire path. But note that the paths are not necessarily edge-disjoint. So an edge could be present in multiple paths and hence the actual flow in that edge will be sum of all the corresponding path flows.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;For a path $P$, let $cap(P)$ denote the smallest edge capacity in the path. A thickest path is a path $P$ with largest $cap(P)$ (imagine the edges as pipes and capacity defining the thickness of pipe). A bottleneck edge of path $P$ would be an edge with capacity $cap(P)$. After sending a flow $f_1$ on $P_1$, in the corresponding residual graph, let $P_3$ be a thickest path. If the residual capacity of the bottleneck edge is $0$ (i.e., maximum $cap(P)$ value is $0$ over all paths), then no more flow can be sent from $s$ to $t$. But this implies $f_1 \geq f_1^* + f_2^*$ contradicting the assumption that $f_1 \lt f_1^* + f_2^*$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;While constructing this new graph $G^\prime$, edge capacities were reduced to smallest values that allowed the flow $f_1$ to be feasible and the flows $f_1^*$, $f_2^*$ to be feasible. Suppose $e$ is not present in one of the two paths (say $P_1^*$). Then the capacity on edge $e$ must have been reduced to $f_1$ (as $f_1 \geq f_2^*$), resulting in zero residual capacity. So $e$ must be present in both the paths $P_1^*$ and $P_2^*$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;When we say something is $(1/r)$-integral, it means the values involved are integral multiples of $1/r$ (so standard integral solution will be $1$-integral). Here, $D/k$ integral flow means that each edge has a flow which is an integral multiple of $D/k$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Using lemma $1$, if we have a flow $f_1+f_2$ obtained through two augmenting path iterations, then this flow can be written as sum of $3$ paths with flows $f_1^ \prime ,f_2^ \prime ,f_3^ \prime $. So we have $f_1^ \prime +f_2^ \prime +f_3^ \prime = f_1 + f_2 \geq f_1^* + f_2^*$, where $f_1^* + f_2^*$ is a maximum 2-splittable flow (from lemma 2). Suppose $f_3 ^\prime$ is smallest among $f_1^ \prime ,f_2^ \prime ,f_3^ \prime $. Then $f_3^\prime \leq (1/3) (f_1^ \prime +f_2^ \prime +f_3^ \prime )$. So taking the two paths corresponding to $f_1^\prime$ and $f_2^\prime$, the net flow is $f_1^ \prime +f_2^ \prime \geq (2/3)(f_1^ \prime +f_2^ \prime +f_3^ \prime ) \geq (2/3)(f_1^* + f_2^*)$. So this gives a $\frac{2}{3}$-approximation.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;I am not able to see why lemma $1$ is true. Do you have any simple proof for that?&lt;/p&gt;&#xA;" OwnerUserId="13551" LastEditorUserId="13551" LastEditDate="2013-02-26T13:34:25.350" LastActivityDate="2013-02-26T13:34:25.350" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="16646" PostTypeId="2" ParentId="16625" CreationDate="2013-02-25T21:41:33.393" Score="0" Body="&lt;p&gt;In your question, the phrase &quot;the TM&quot; is not well defined. Let's assume you meant that the language is decidable in $O(n)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If this is the case, the problem is undecidable. Here is a reduction from the halting problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a TM $M$, construct the following enumerator: it outputs $0$, then, in iteration $i$, it runs $M$ on $\epsilon$ for $i$ steps, and prints $0^i$ afterwords, and then increases $i$ by $1$. If at any point $M$ halts, it outputs the strings $0^i$ for all $i\ge 0$, one by one.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, even deciding whether there is a finite bound between words is equivalent to deciding if $M$ halts. Indeed, if $M$ halts, then its runtime is the bound on consecutive words. Otherwise, there is no bound. However, the language is always the same: $0^*$, which is decidable in Linear time.&lt;/p&gt;&#xA;" OwnerUserId="7531" LastActivityDate="2013-02-25T21:41:33.393" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="16647" PostTypeId="1" CreationDate="2013-02-26T07:50:32.883" Score="5" ViewCount="4097" Body="&lt;p&gt;I'm trying to do reduce Hamiltonian Cycle to integer linear programming. Here's my idea:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Create variables $e_{ij}$ for every edge $(i,j)$ in the graph. Require each $$e_{ij}\in \{0,1\}$$. Create additional variables $v_i$ for every vertex $i$ in the graph, and define $$v_i = \sum_{\{j:(i,j)\in E\}}e_{ij}$$ (so that $v_i$ counts how many edges are connected to vertex $i$). Specify an integer linear program where the goal is to maximize $\sum_{(i,j)\in E}e_{ij}$ subject to the constraint that $v_i = 2$ for all $i\in V$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As I see it, this should find a solution (if one exists) of exactly $n$ edges in the graph which form cycles. However, there's no guarantee that these cycles are a single tour of the graph. For example, consider a complete graph of 6 vertices. The above problem might find a &quot;solution&quot; which consists of two cycles each of 3 vertices, instead of finding the correct solution of a single cycle which includes all vertices. In short, the sticking point is requiring that the linear program finds only one cycle. Is there a way to enforce a limit on the number of cycles found via a linear programming constraint? I'm stumped on this.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks!&lt;/p&gt;&#xA;" OwnerUserId="13949" LastActivityDate="2021-04-29T18:56:33.183" Title="Hamiltonian Cycle as an integer linear programming problem" Tags="&lt;linear-programming&gt;&lt;hamiltonian-paths&gt;" AnswerCount="3" CommentCount="4" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="16648" PostTypeId="2" ParentId="16647" CreationDate="2013-02-26T08:05:24.277" Score="6" Body="&lt;p&gt;Describing connectivity in integer programming is not as straightforward as the rest of the reduction, I think.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, it is quite clean to reduce HAMCYCLE to SAT (e.g. &lt;a href=&quot;https://web.archive.org/web/20130507102040/http://www.cs.toronto.edu/~philipp/pages/papers/DangerousReductions.pdf&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;), and it is very clean to reduce SAT to integer programming. I think you will end up with a system that is not all that complicated. Perhaps it is worth doing so than busting your head over a direct reduction.&lt;/p&gt;&#xA;" OwnerUserId="7531" LastEditorUserId="37160" LastEditDate="2016-01-19T22:38:28.077" LastActivityDate="2016-01-19T22:38:28.077" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="16649" PostTypeId="1" AcceptedAnswerId="16650" CreationDate="2013-02-26T08:41:11.777" Score="2" ViewCount="732" Body="&lt;p&gt;Steiner Tree Problem:&#xA;Given a weighted graph G(V,E,w) where w is the weight function on &lt;strong&gt;edges&lt;/strong&gt; and a subset of vertices S⊆Q called terminals, a Steiner Tree is a connected subgraph which connects all vertices in S. Finding minimum weight Steiner Tree is called Steiner Tree Problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Node-weighted Steiner Tree Problem&#xA;Given a weighted graph G(V,E,w) where w is the weight function on &lt;strong&gt;nodes&lt;/strong&gt; and a subset of vertices S⊆Q called terminals, a Node-Weighted Steiner Tree is a connected subgraph which connects all vertices in S. Finding minimum weight Steiner Tree is called Node-Weighed Steiner Tree Problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is: can any Steiner Tree Problem be converted to Node-weighted Steiner Tree Problem? I have the following approach and need to verify whether it is correct:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Lets assume we have a Steiner Tree problem with weighted edges. Consider an edge (u, v) with weight w assigned to it. Lets place a vertex X on this edge, so that the edge splits in two edges: (u, X) and (X, v). Assign zero weight to each of those edges, and assign weight w to vertex X. Repeat this for every edge of the initial graph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The obtained graph will be node weighted and any solution to the node-weighted problem can be easily converted to match initial Steiner Tree Problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Basically, I need someone to verify all above is valid. I would also greatly appreciate any references from reliable sources, regarding this issue.&lt;/p&gt;&#xA;" OwnerUserId="13950" LastActivityDate="2013-02-26T10:10:55.883" Title="Can any Steiner Tree Problem be converted to Node-Weighted Steiner Tree Problem?" Tags="&lt;graph-theory&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="16650" PostTypeId="2" ParentId="16649" CreationDate="2013-02-26T10:10:55.883" Score="2" Body="&lt;p&gt;Sounds right. Denote by $G$ the original graph, and by $G'$ the graph after introducing the new vertices.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The first direction is trivial - every Steiner tree in $G$ corresponds to a Steiner tree in $G'$, with the same weight (by splitting each edge with its new vertex).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The second direction is less trivial. Still, consider a minimal Steiner tree $T$ in $G'$. We can assume w.l.o.g that $T$ does not contain any leaf that corresponds to a new edge-vertex. Indeed, this vertex is not in $S$, so if it is a leaf, it can be removed from the tree, keeping it a Steiner tree with minimal weight (unless you allow negative weights, which I assume you don't).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now that we have a Steiner tree without edge-vertex leafs, we can convert it to a Steiner tree in $G$: root the tree by some vertex that is not an edge-vertex, then by the construction, all the edge-vertices have a single child in this tree. So you can replace each pair of edges $(u,X),(X,v)$ by $(u,v)$ in the original graph, obtaining a Steiner tree with the same weight.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I don't see any bugs here, but maybe I missed something.&lt;/p&gt;&#xA;" OwnerUserId="7531" LastActivityDate="2013-02-26T10:10:55.883" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16651" PostTypeId="2" ParentId="10901" CreationDate="2013-02-26T10:45:48.710" Score="2" Body="&lt;p&gt;Apparently, in Speckenmeyer's PhD thesis, he demonstrates that the feedback vertex set problem is NP-hard for graphs of maximum degree 4. This claim appears &lt;a href=&quot;http://onlinelibrary.wiley.com/doi/10.1002/jgt.3190120311/abstract&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;, for example.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For cubic graphs, the problem seems to be solvable in polynomial time. First, &lt;a href=&quot;http://onlinelibrary.wiley.com/doi/10.1002/jgt.3190120311/abstract&quot; rel=&quot;nofollow&quot;&gt;Speckenmeyer&lt;/a&gt; demonstrates that for cubic graphs, the minimum-size feedback vertex set is equal to $n/2-z(G)+1$, where $n$ is the number of vertices and $z$ is the size of the largest nonseparating independent set. &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0012365X96002993&quot; rel=&quot;nofollow&quot;&gt;Huang and Liu&lt;/a&gt; demonstrate that for cubic graphs, $z(G)$ is equal to the maximum genus of $G$, which can be calculated in polynomial time using the algorithm of &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=44485&quot; rel=&quot;nofollow&quot;&gt;Furst, Gross, and McGeoch&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit: didn't examine vb le's edit carefully enough...&lt;/p&gt;&#xA;" OwnerUserId="5721" LastEditorUserId="5721" LastEditDate="2013-02-26T10:55:22.103" LastActivityDate="2013-02-26T10:55:22.103" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16652" PostTypeId="1" CreationDate="2013-02-21T10:08:13.240" Score="35" ViewCount="1175" Body="&lt;p&gt;I am interested in the natural generalization of the famous &lt;a href=&quot;http://de.wikipedia.org/wiki/15-Puzzle&quot; rel=&quot;noreferrer&quot;&gt;15-puzzle&lt;/a&gt;, where you have to slide blocks until you have sorted all given numbers (usally there is a gap of 1 block).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now the generalization would be to extend the size of the puzzle from 15 to $p \times q$, where one field is free. I have created a small illustration (the dashed arrows show permitted moves and the lower configuration shows the solved puzzle):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/J6RpC.gif&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given an initial configuration of a puzzle, I ask myself the following question:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;em&gt;Decision question&lt;/em&gt;: Given a puzzle of size $p \times q$, and a number $k \in \mathbb{N}$. Is there a sequence of $k$ or less allowed moves&#xA;  that transform the puzzle into the solved configuration?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I already did some investigation and found the article &quot;&lt;a href=&quot;http://users.soe.ucsc.edu/~manfred/pubs/J15.pdf&quot; rel=&quot;noreferrer&quot;&gt;The $(n^2−1)$-puzzle and related relocation problems&lt;/a&gt;&quot; from 1990, which shows that deciding my question for $p=q$ is NP-Complete and therefore that deciding my question is NP-Complete (as the general algorithm could also decide the question for symmetric fields).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The question that remains open is if the decision problem is also NP-Complete for fixed $q&amp;gt;1$. I am particularily interested in the special cases $q=2,3$. It also remains open if allowing more free spaces than one field makes the decision problem harder or easier.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;All the articles I could find sadly omit the asymmetric case, thus I think there might be no known results about this. As the proof in the article is quite complicated and doesn't translate at all for fixed height, I rather hope that someone might come up with a different reduction/article that answers some of the questions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Other related articles (to be extended):&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://larc.unt.edu/ian/pubs/saml.pdf&quot; rel=&quot;noreferrer&quot;&gt;http://larc.unt.edu/ian/pubs/saml.pdf&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://red.cs.nott.ac.uk/~gxk/papers/icga2008_preprint.pdf&quot; rel=&quot;noreferrer&quot;&gt;http://red.cs.nott.ac.uk/~gxk/papers/icga2008_preprint.pdf&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://erikdemaine.org/papers/AlgGameTheory_GONC3/&quot; rel=&quot;noreferrer&quot;&gt;http://erikdemaine.org/papers/AlgGameTheory_GONC3/&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="13956" OwnerDisplayName="Listing" LastEditorUserId="634" LastEditDate="2013-02-26T20:45:05.737" LastActivityDate="2013-03-05T21:55:04.243" Title="NP-Completeness of the decision problem for the generalized 15-puzzle" Tags="&lt;cc.complexity-theory&gt;&lt;np&gt;&lt;np-complete&gt;" AnswerCount="1" CommentCount="27" FavoriteCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="16654" PostTypeId="1" CreationDate="2013-02-26T22:23:28.120" Score="5" ViewCount="249" Body="&lt;p&gt;Consider any language $L$. Define $s(L) \in {\lbrace 0, 1 \rbrace}^\omega$ (an infinite sequence of bits) by the recursive formula&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$s(L)_n=\chi_L(s(L)_{&amp;lt;n})$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here $\chi_L$ is the characteristic function of $L$ i.e. $\chi_L(w)=1$ for $w \in L$, $\chi_L(w)=0$ for $w \notin L$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A language $U$ is called a &quot;universal predictor&quot; when&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\forall L \in \mathsf{R} \, \forall n&amp;gt;&amp;gt;0:s(L)_n=\chi_U(s(L)_{&amp;lt;n})$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A famous example is &lt;a href=&quot;http://www.vetta.org/documents/disSol.pdf&quot; rel=&quot;nofollow&quot;&gt;Solomonoff induction&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is easy to see $U \notin \mathsf{R}$ by considering $L = U^c$. The question is&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there a universal predictor $U \in \mathsf{P/poly}$?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;More specifically&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is Solomonoff induction in $\mathsf{P/poly}$?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;It is not hard to see that a positive answer would imply $\exists A \in \mathsf{TALLY}:\mathsf{R} \subset \mathsf{E}^A$ ($A$ is s.t. $U$ is Cook-reducible to $A$ and we have $\mathsf{R} \subset \mathsf{E}^A$ since it is possible to apply $U$ to the sequence $\chi_L(n)$ to decide $L$ in exponential time). This implication seems surprising but I don't see why it's necessarily false&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT: Actually such $A$ exists: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\lbrace w | \exists i,j \in \mathbb{N} : i \in L_j$ and $|w| = f(i,j) \rbrace$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here $f : \mathbb{N}^2 \rightarrow \mathbb{N}$ is a bijection computable in polynomial time and $L_j$ is the $j$-th recursive language (I'm using an arbitrary enumeration of the recursive languages)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However a universal predictor in $\mathsf{P/poly}$ implies a stronger statement, namely, that there is $A \in \mathsf{TALLY}$ and some fixed polynomial $p(n)$ such that all languages in $\mathsf{TALLY} \cap \mathsf{R}$ can be computed in time $p(n)$ given an oracle for $A$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT: The answer to the first question is positive. Showing this is equivalent to constructing a Turing machine with a special tape on which some fixed (input-independent) infinite string is written in the initial state s.t. this machine computes a universal predictor in polynomial time. To do this, imagine the special tape to be 2-dimensional. In row $i$ of the tape write infinite computable sequence number $i$ (i.e. computed by program $i$). The predictor then works as follows. Given an input of length $n$ it compares it to the first $n$ infinite computable sequences. The first sequence which matches the input is used for the prediction. If no sequence yields a match the predictor outputs $0$.&lt;/p&gt;&#xA;" OwnerUserId="7030" LastEditorUserId="7030" LastEditDate="2013-03-05T20:25:01.700" LastActivityDate="2013-03-05T20:25:01.700" Title="Is Solomonoff Induction in $\mathsf{P/poly}$?" Tags="&lt;cc.complexity-theory&gt;&lt;advice-and-nonuniformity&gt;" AnswerCount="0" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="16655" PostTypeId="1" AcceptedAnswerId="16658" CreationDate="2013-02-27T06:42:57.973" Score="0" ViewCount="2434" Body="&lt;p&gt;Here is my problem:&#xA;I have an undirected graph (with loops). We have k different classes of vertices in the graph. You can think of class 1 vertex being colored green, class 2 vertices colored red and so on. There is also a special class of vertices colored white (more later). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, the user will specify a source vertex, a destination vertex, and a sequence of &lt;strong&gt;distinct&lt;/strong&gt; vertex classes (non-white) eg.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We are given source vertex 10, destination vertex 40, and a sequence:&#xA;red-&gt;blue-&gt;black. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;We have to find the &lt;strong&gt;shortest path&lt;/strong&gt; such that the path starts from vertex 10, touches 1 red vertex followed by 1 blue and 1 black vertex and then reaches vertex 40. The path, however, can have as many white vertices as needed. It can also traverse a white vertex twice.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So a solution can be:&#xA;10-&gt;20(white)-&gt;35(red)-&gt;21(white)-&gt;22(white)-&gt;30(blue)-&gt;34(black)-&gt;40 &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Incorrect:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;10-&gt;20(white)-&gt;30(blue)-&gt;21(white)-&gt;22(white)-&gt;35(red)-&gt;34(black)-&gt;40 (goes to blue before red)&lt;/p&gt;&#xA;" OwnerUserId="9632" LastEditorUserId="9632" LastEditDate="2013-02-27T08:47:21.783" LastActivityDate="2013-03-02T14:35:53.163" Title="Constrained shortest path problem" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;" AnswerCount="2" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="16658" PostTypeId="2" ParentId="16655" CreationDate="2013-02-27T08:13:14.597" Score="4" Body="&lt;p&gt;We can modify &lt;a href=&quot;http://en.wikipedia.org/wiki/Dijkstra%27s_algorithm&quot; rel=&quot;nofollow&quot;&gt;Dijkstra's algorithm&lt;/a&gt; to solve this problem too. For each vertex, in Dijkstra's algorithm, we store the shortest path to that vertex obtained so far. Here, we store $r+1$ different shortest paths per vertex (where the required colour sequence is $c_1,c_2,\ldots ,c_r$). In each vertex, the first path corresponds to shortest path so far, containing only whites. And for $i=1,2,\ldots ,r$, $(i+1)^{th}$ path is the shortest path so far, that contains vertices of colours $c_1,c_2,\ldots ,c_i$ (in that order) mixed with white vertices.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;While modifying shortest paths for the new node, we will modify all $r+1$ paths if it is white and if it is of a different colour $c$, only those $(i+1)^{th}$ paths are modified which have $c_{i+1}=c$. And when the algorithm ends, the $(r+1)^{th}$ path in each vertex gives the required shortest path to that vertex.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Complexity will be $r$ times the complexity of Dijkstra's. Note that we have not assumed the colours in the sequence to be distinct (so we can get shortest paths with required sequence as red-black-red-blue too). Also, we can easily modify this to allow multiple vertices of same colour to occur together (i.e., red-red-black-blue can be considered same as red-black-blue).&lt;/p&gt;&#xA;" OwnerUserId="13551" LastActivityDate="2013-02-27T08:13:14.597" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="16660" PostTypeId="1" CreationDate="2013-02-27T11:20:11.997" Score="0" ViewCount="87" Body="&lt;p&gt;What is the proof of lemma 4.3 in this paper?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://u.cs.biu.ac.il/~porately/papers/submission_24.pdf&quot; rel=&quot;nofollow&quot;&gt;http://u.cs.biu.ac.il/~porately/papers/submission_24.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;That is, how does it follow from 4.1 and 4.2?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, why is the constant 8 necessary? How is it used in a way that 1 wouldn't be enough?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There's an LNCS version too, but it also doesn't spell out the proof. There are slides, but they don't seem to be stand-alone:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;www.cs.ucr.edu/~stelo/cpm/cpm07/improved_shetcking_porat.ppt&lt;/p&gt;&#xA;" OwnerUserId="13959" LastEditorUserId="123" LastEditDate="2014-09-24T13:18:34.687" LastActivityDate="2014-09-24T13:18:34.687" Title="Questions on &quot;Improved Sketching of Hamming Distance with Error Correcting&quot; by Porat and Lipsky" Tags="&lt;ds.algorithms&gt;&lt;data-streams&gt;" AnswerCount="0" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="16662" PostTypeId="1" CreationDate="2013-02-27T17:10:40.420" Score="1" ViewCount="166" Body="&lt;p&gt;The &lt;a href=&quot;http://www.math.upenn.edu/~bana/NSL.pdf&quot; rel=&quot;nofollow&quot;&gt;Needham-Schroeder-Lowe&lt;/a&gt; protocol works as follows between the initiator I and responder R:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$I \longrightarrow R : \text{Enc}_{pk_R}(r_I, I)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$R \longrightarrow I : \text{Enc}_{pk_I}(r_I, r_R, R)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$I \longrightarrow R : \text{Enc}_{pk_R}(r_R)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(I assume throughout that the encryption scheme is CCA-secure.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Upon receiving their messages, both parties decrypt using the corresponding private key and finally output $r_I$ as their session key.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I understand &lt;a href=&quot;http://www.math.upenn.edu/~bana/NSL.pdf&quot; rel=&quot;nofollow&quot;&gt;others have proven&lt;/a&gt; that this protocol is SK-secure protocol, based on the &lt;a href=&quot;http://eprint.iacr.org/2001/040&quot; rel=&quot;nofollow&quot;&gt;CK01&lt;/a&gt; model for SK-security.  (As a reminder, the protocol is secure in this model if no adversary can distinguish, with probability strictly greater than $1/2$, between the output $r_I$ of the protocol and a random bit.)  Security was proven using formal methods.  My question: is there a proof of this using an explicit reduction?&lt;/p&gt;&#xA;" OwnerUserId="13961" LastEditorUserId="5038" LastEditDate="2013-03-02T06:56:55.827" LastActivityDate="2013-05-31T08:14:44.897" Title="A reduction proof of SK-security for the Needham-Schroeder-Lowe protocol" Tags="&lt;cr.crypto-security&gt;&lt;key-exchange&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="16664" PostTypeId="1" CreationDate="2013-02-27T23:04:23.483" Score="1" ViewCount="1183" Body="&lt;p&gt;i am trying to find a first allowed flow from vertex q to vertex s in a network N which has both minimum and maximum capacities.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1.) To solve the problem I started by creating a helper network NH by adding a new source and sink to the graph and subtracting max-capacities and min-capacities and setting min-capacities to zero on every edge.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2.) Additionally I added some new edges depending on the amount of flow into and out of a vertex (see below). This gives me a graph where I can apply the Max-Flow algorithm by Ford and Fulkerson. After doing so I get a satisfying flow through the network.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By applying 1 and 2 I get the network shown in the second image (from top).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;3.) Now i applied the Ford/Fulkerson algorithm to find a max flow from q0 to s0 (the newly added source/sink) For this example I found only two paths to increase the network flow (  and  each with a flow of 1. NOTE: I used the method for Ford-Fulkerson using increment-networks &lt;/p&gt;&#xA;&#xA;&lt;p&gt;4.) By adding the min-capacities of the original network to the flow for each edge, I should now find a first flow through the original network.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However I do not come up with the (correct) solution provided at the bottom of the image (with different flow values for some edges). Applying Ford-Fulkerson simply does not generate a flow for those edges. Or am I missing something?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think my problem is that I am not using the Infinity path created in NH (e.g. to move 3 units to q), however I do not see how I should come to use this path.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My network:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See &lt;a href=&quot;http://s1.directupload.net/file/d/3179/36dvrm3u_jpg.htm&quot; rel=&quot;nofollow&quot;&gt;http://s1.directupload.net/file/d/3179/36dvrm3u_jpg.htm&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;q - source of original problem&lt;/p&gt;&#xA;&#xA;&lt;p&gt;s = sink of original problem&lt;/p&gt;&#xA;&#xA;&lt;p&gt;q0 - source of helper graph NH to use Ford-Fulkerson&lt;/p&gt;&#xA;&#xA;&lt;p&gt;s0 - sink of helper graph NH to use Ford-Fulkerson&lt;/p&gt;&#xA;&#xA;&lt;p&gt;in the image on the top, the pairs mean min-capacity and max-capacity (e.g. 0|3 means min-cap 0 and max-cap 3) In the second image the numbers mean max-caps (Min-caps are all 0 so I ignored them). In the third and fourth image the numbers represent the resulting flow (which lies between min - and maxcap)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thank you for any help!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;P.S. I tried to translate the terminology from german, so please excuse me should I be using incorrect english terminology.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I see that my solution is correct by using the ford fulkerson algorithm, however  I don´t get a correct flow since the source q is not sending out any transport units in my solution. Should I just add the 3 necessary transport units from q to 3 to get a correct flow through the network?&#xA;Please help&lt;/p&gt;&#xA;" OwnerUserId="13964" LastEditorUserId="13964" LastEditDate="2013-02-28T08:58:04.233" LastActivityDate="2013-03-02T07:04:53.233" Title="Using Max-Flow (Ford Fulkerson) to find satisfying flow" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;" AnswerCount="0" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="16668" PostTypeId="2" ParentId="16299" CreationDate="2013-02-28T00:46:33.690" Score="9" Body="&lt;p&gt;I assume you want an efficient algorithm, e.g., one whose running time is polynomial in $n$.  (If you don't care about running time, then heuristically about $4n/\lg m$ samples should suffice to uniquely determine $a,b,m,p$, and you can use exhaustive search over all possible $2^{4n}$ parameter choices to find the correct one.  Of course, the running time of this method is exponential in $n$, so I assume it is not what you are looking for.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;In the case where $p=m$&lt;/strong&gt;, this generator is known as a linear congruential generator.  It is known to be weak.  See my answer to &lt;a href=&quot;https://security.stackexchange.com/q/4268/971&quot;&gt;Cracking a linear congruential generator&lt;/a&gt; (on IT Security.Stack Exchange) for an efficient algorithm that breaks this pseudorandom generator.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To summarize the  security of the generator (when $p=m$): A constant number of samples is enough to break the generator.  The algorithm requires only simple arithmetic and requires only a constant number of additions and multiplications, followed by a gcd operation.  I don't know whether this generator going to be pseudorandom for any particular complexity class, like TC0 or AC0; perhaps others will have insights on that.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that if you are picky about requiring a cryptanalysis algorithm to succeed with probability 1, and run in polynomial time without any randomness, then you won't like my algorithm.  My algorithm runs in polynomial time, and succeeds in recovering $f$ on an overwhelming majority of inputs; as a consequence, it succeeds in distinguishing the output of this pseudorandom generator from a true-random stream with advantage close to 1.  In the cryptographic world, this constitutes a &quot;break&quot; of the security of the generator.  However, if you wanted a learning algorithm that succeeds (in recovering $f$) on &lt;em&gt;all&lt;/em&gt; problem instances, and has a fixed running time, my algorithm isn't it.  (Then again, from an engineering perspective, if you want something that is guaranteed to succeed on all problem instances, you won't find it, since any real-life implementation always has some small chance of producing an incorrect answer, e.g., due to a cosmic-ray bit flip.  My algorithm infers $f$ correctly for all but an exponentially small fraction of inputs. You can choose parameters so the probability of error due to unlucky choice of inputs is smaller than the probability of error due to a cosmic ray causing a bit flip error. So from an engineering perspective, it's essentially as good as deterministic, for all practical purposes.  But it's possible it might not be what you are looking for, if you care more about complexity classes than about whether the generator is usefully secure in an engineering sense.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;In the general case&lt;/strong&gt;, I don't know what the most efficient cryptanalysis algorithm will be, but I would be pretty surprised if this is secure.  Linear congruential generators are notorious in the cryptographic community for being insecure.  However, you might enjoy the following paper, which while it does not address the specific question you asked, is somehow related:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://asterix.cs.gsu.edu/crypto/p129-boyar.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Inferring sequences produced by a linear congruential generator missing low-order bits&lt;/a&gt;.  J. Boyar.  J. ACM 36(1), pp.129--141, Jan 1989.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Also, since $m$ is not a divisor of $p$, note that there will be a statistical bias of the outputs of this generator.  In particular, values in the range $0 .. b-1$ will be slightly more likely than values in the range $b .. p-1$, where $b= p \bmod m$.  The magnitude of this bias depends (roughly) upon the size of $p/m$; the larger $p/m$ is, the greater the bias.  More precisely, the statistical variation distance between pseudorandom and random, due to this effect, is $\delta = 2b(m-b)/mp$, for a single sample.  Therefore, I would expect that $O(1/\delta^2)$ samples should suffice to distinguish the pseudorandom stream from a truly random stream, simply by exploiting this bias.  This attack does not take into account all of the available structure in the output of the generator, so I would expect that better attacks are probably possible.&lt;/p&gt;&#xA;" OwnerUserId="5038" LastEditorUserId="-1" LastEditDate="2017-03-17T10:46:00.600" LastActivityDate="2013-02-28T01:35:22.200" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="16669" PostTypeId="2" ParentId="11909" CreationDate="2013-02-28T02:10:32.840" Score="3" Body="&lt;p&gt;There is a straightforward solution, using known techniques for obfuscating point functions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Background.&lt;/strong&gt; First, go read the following papers:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://www.cs.princeton.edu/~mp/pub/ob.pdf&quot; rel=&quot;nofollow&quot;&gt;Positive Results and Techniques for Obfuscation&lt;/a&gt;. Benjamin Lynn, Manoj Prabhakaran, Amit Sahai.  Eurocrypt 2004.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://www.cs.columbia.edu/~hoeteck/pubs/obf-point-stoc05.pdf&quot; rel=&quot;nofollow&quot;&gt;On Obfuscating Point Functions&lt;/a&gt;.  Hoeteck Wee.  STOC 2005.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Don't come back until you've read those papers, as my solution uses their scheme as a building block.  Short summary: &quot;A point function is a Boolean function that assumes the value 1 at exactly one point.&quot;  A point function can be obfuscated in practice (e.g., in the random oracle model).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;My solution.&lt;/strong&gt; Choose the sequence $P$ randomly.  Define the auxiliary function $g$ by $g(P)=1$ and $g(P')=0$ for all other sequences $P'$ over $W$.  Note that $g$ is a point function.  Now let $\hat{g}$ be an obfuscation of $f$, e.g., using the techniques described above.  Choose $Q$ arbitrarily.   Finally, define $F$ as follows: on input $X$, $F$ first checks whether $\hat{g}(X)=1$, and if yes, outputs $Q$, otherwise it behaves normally (i.e., outputs $f(X_1),f(X_2),\dots,f(X_N)$.  This meets all of the requirements you identified.  You can modify this construction in a straightforward way to hide $Q$ as well, if you wish to.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Comment.&lt;/strong&gt; I'm pretty skeptical whether this will be useful for building an obfuscation scheme that will be secure in practice; my suspicion is that it will not be useful.  You might be able to get some theoretical results, but I don't think those theoretical results will prove very useful in practice, because I expect there will be attacks that will work by violating the assumptions made in your security theorem  (e.g., the attacker will use dynamic analysis to find $P$, and then all security is lost).&lt;/p&gt;&#xA;" OwnerUserId="5038" LastActivityDate="2013-02-28T02:10:32.840" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16670" PostTypeId="2" ParentId="16586" CreationDate="2013-02-28T06:22:03.357" Score="3" Body="&lt;p&gt;I don't know whether this exact problem has been studied, but  &lt;a href=&quot;http://cseweb.ucsd.edu/~kamalika/pubs/ccmr06.pdf&quot; rel=&quot;nofollow&quot;&gt;Chaudhuri et al.&lt;/a&gt; studied the related &lt;strong&gt;tandem duplication-random loss&lt;/strong&gt; problem: you are given a permutation, and you want to transform it into the identity permutation by &#xA; (1)  duplicating a segment of any length and appending the copy right after the original, then (2) deleting elements so that you obtain a new permutation instead of a string. Note that applying (1) then (2) accounts for one operation. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Different variants can be defined according to the weight given to each operation, which in their paper depends on the width of the duplicated segments. &#xA;They also study a similar problem with the &lt;strong&gt;whole genome duplication&lt;/strong&gt;, which is exactly the kind of duplication you allow. I don't remember reading about work on this problem in the context of strings, but I hope this can at least give you a starting point for your searches.&lt;/p&gt;&#xA;" OwnerUserId="775" LastActivityDate="2013-02-28T06:22:03.357" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16671" PostTypeId="2" ParentId="16586" CreationDate="2013-02-28T07:23:07.857" Score="-2" Body="&lt;p&gt;Except for duplication, the Levenstein distance might be worth a look:&#xA;&lt;a href=&quot;http://en.wikipedia.org/wiki/Levenshtein_distance&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/Levenshtein_distance&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="13407" LastActivityDate="2013-02-28T07:23:07.857" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16674" PostTypeId="1" CreationDate="2013-02-28T11:40:29.963" Score="1" ViewCount="142" Body="&lt;p&gt;As we know, studiyng differences between uniform complexity and nonuniform complexity class is crucial. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, P/poly is defined as challenges to derive a separation between P and NP, because P/poly and superpoly-circuit lower bounds gives us the separation. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, it is possible that P/poly is NOT appropriate to measure the computational ability of uniform P which is defined by usual Turing Machine. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Circuits, branching programs, protocol trees are considerd as physical devices rather than computer programs. Physical devices force to increase the number of &quot;input wires&quot; and can we produce infinitely  many devices (and these devices are  able to be very very different as the nubmer of input wires increases ) by constant length bit-strings ? It seems that both questions have the answer &quot;NO&quot;.   &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thus my question is :&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(1)Is there any nonuniform (relating with circuits or branching programs) complexity classe C that contains P but P/poly contains the class C.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(2)What is the complexity class which satisfies (1) and is colosest to P as far we know ? &lt;/p&gt;&#xA;" OwnerUserId="13358" LastEditorUserId="13358" LastEditDate="2013-03-01T03:34:39.420" LastActivityDate="2013-03-01T03:34:39.420" Title="Smallest Nonuniform Complexity Classes including uniform-P" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;advice-and-nonuniformity&gt;" AnswerCount="0" CommentCount="10" ContentLicense="CC BY-SA 3.0" />
  <row Id="16675" PostTypeId="1" AcceptedAnswerId="16689" CreationDate="2013-02-28T14:20:37.313" Score="8" ViewCount="384" Body="&lt;p&gt;I was reading Harry Frankfurt's &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0691122946&quot; rel=&quot;nofollow&quot;&gt;On Bulls*t&lt;/a&gt;, a 1986 philosophical essay about this blurry notion between truth and falsity.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is not a gratuitous exercise.  This may have applications to computer science, since we are always &lt;a href=&quot;https://github.com/spotify/luigi&quot; rel=&quot;nofollow&quot;&gt;piping data-sets into each other&lt;/a&gt;.  Some of these data sources may be specious, the piping process can break down, or the &lt;a href=&quot;http://www.wired.com/opinion/2013/02/big-data-means-big-errors-people/&quot; rel=&quot;nofollow&quot;&gt;conclusions we draw from them&lt;/a&gt; can be wrong as well.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One way of approaching Frankfurt's theory may be to express in terms of logical circuits, where the integrity of the gates or the inputs may be in question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On pencil and paper, we mostly use boolean logic with values $T,F$ and gates $\mathbf{not},\vee,\wedge$.  Maybe it is possible to perturb boolean logic slightly to model how circuits are robus or break down with respect to noise.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Do logical theories exist accounting for doubt and uncertainty? Can we measure how much a lie hurts the integrity of a conclusion?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm sure that even with a collection of verifiably true or false statements, it's possible to write arguments (and conclusions) whose values are in the middle.  Or even to decide if one argument is &quot;more&quot; valid than another.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;I apologize ahead of time, if there's no single question here.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;COMMENTS&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Logic is a very broad subject, but I'm not a logician so I'm not sure how to be more specific.  Ease of use is a priority, which is why I consider just bootstrapping Boolean logic. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think that when we &quot;call out&quot; a proposition... the conclusion may be true, but the thought process may be wrong, as VijayD suggests in the comments.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's not clear if bulls**t is the same as uncertainty -- we may be quite sure the proof is wrong.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think it would be nice to see an extension of boolean logic, which assigns a value to &lt;strong&gt;proofs&lt;/strong&gt; rather than &lt;strong&gt;statements&lt;/strong&gt;.  A proof where all the steps are valid gets assigned a value of &lt;strong&gt;T&lt;/strong&gt;, if steps are faulty, we'd like to measure to what extent the conclusion doesn't follow from the premises.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This idea must have been tried before.  A Google search comes up with the notions like &lt;a href=&quot;http://en.wikipedia.org/wiki/Heyting_algebra&quot; rel=&quot;nofollow&quot;&gt;heyting algebra&lt;/a&gt;, &lt;a href=&quot;http://en.wikipedia.org/wiki/Topos&quot; rel=&quot;nofollow&quot;&gt;topos&lt;/a&gt;, &lt;a href=&quot;http://en.wikipedia.org/wiki/Many-valued_logic&quot; rel=&quot;nofollow&quot;&gt;multi-valued logic&lt;/a&gt; and even more sources in the comments and answer.&lt;/p&gt;&#xA;" OwnerUserId="11012" LastEditorUserId="11012" LastEditDate="2013-03-01T15:00:33.333" LastActivityDate="2013-03-05T14:12:34.273" Title="logic in the presence of doubt, uncertainty, lies" Tags="&lt;lo.logic&gt;&lt;ds.data-structures&gt;&lt;circuit-complexity&gt;&lt;randomized-algorithms&gt;&lt;db.databases&gt;" AnswerCount="1" CommentCount="13" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="16676" PostTypeId="1" CreationDate="2013-02-28T15:19:24.950" Score="1" ViewCount="245" Body="&lt;p&gt;We are given a Boolean formula $F$ in conjunctive normal form with $n$ variables and $m$ clauses and we would like to know if there exists at least one assignment to the $n$ variables that makes $F$ evaluate to True. As we all know this is the famous NP-Complete SAT problem. I would like to know the consequences of being able to solve this problem in time ${\bf O}$($m$). Would this contradict the Phase transition phenomenon that has been shown to exists for the SAT problem? Thank You&lt;/p&gt;&#xA;&#xA;&lt;p&gt;PS:If you do not allow repetition of variables in a clause nor repetition of clauses in a formula then you can have up to 3$^{n}$-1 unique clauses. &lt;/p&gt;&#xA;" OwnerDisplayName="user13970" LastEditorDisplayName="user13970" LastEditDate="2013-02-28T16:34:22.437" LastActivityDate="2013-02-28T16:34:22.437" Title="What are the consequences of a ${\bf O}$(m) algorithm for SAT" Tags="&lt;np-hardness&gt;&lt;p-vs-np&gt;&lt;ds.algorithms&gt;&lt;phase-transition&gt;" AnswerCount="0" CommentCount="13" ContentLicense="CC BY-SA 3.0" />
  <row Id="16677" PostTypeId="2" ParentId="16621" CreationDate="2013-02-28T15:24:44.757" Score="2" Body="&lt;p&gt;Check out this book by Rudolf Lidl and Harald Niederreiter: Introduction to Finite Fields and its Applications (2nd edition, 1994) &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0521460948&quot; rel=&quot;nofollow&quot;&gt;http://www.amazon.com/Introduction-Finite-Fields-their-Applications/dp/0521460948&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Quoting the book description in Amazon: &quot;The theory of finite fields is a branch of modern algebra that has come to the fore in recent years because of its diverse applications in such areas as combinatorics, coding theory, cryptology and the mathematical study of switching circuits.&quot; &lt;/p&gt;&#xA;" OwnerUserId="13971" LastActivityDate="2013-02-28T15:24:44.757" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16680" PostTypeId="2" ParentId="16606" CreationDate="2013-02-28T16:10:49.897" Score="3" Body="&lt;p&gt;This is the proof given &lt;a href=&quot;http://link.springer.com/article/10.1007%2Fs00453-005-1167-9&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;, to show that the flow obtained after two iterations of Ford-Fulkerson algorithm can be decomposed into at most $3$ paths and a circulation. It is assumed that at each iteration, the algorithm picks the path that allows maximum flow.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let the path obtained in first iteration be $P_1$ with flow $f_1$. And the path in the residual graph w.r.t this flow, picked by the algorithm in second iteration be $P_2$ with flow $f_2$. Clearly $f_1 \geq f_2$. Now consider the path $P_1$ with flow $f_1-f_2$. Removing this flow from the total flow, the remaining flow can be described as follows (for each edge $e$).&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;If $e \notin P_1$ and $e \notin P_2$ then $f(e)=0$.&lt;/li&gt;&#xA;&lt;li&gt;If $e \in P_1$ and $e \notin P_2$ then $f(e)=f_2$.&lt;/li&gt;&#xA;&lt;li&gt;If $e \notin P_1$ and $e \in P_2$ then $f(e)=f_2$.&lt;/li&gt;&#xA;&lt;li&gt;If $e \in P_1$, $e \in P_2$ and $e$ is a forward edge in $P_1$, then $f(e)=2f_2$.&lt;/li&gt;&#xA;&lt;li&gt;If $e \in P_1$, $e \in P_2$ and $e$ is a backward edge in $P_1$, then $f(e)=0$.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;So the remaining flow is now $f_2$-integral, with a total flow of $2f_2$ from $s$ to $t$. We can show in general that if a flow is $r$-integral with a total flow of $kr$ from $s$ to $t$, then this flow can be decomposed into at most $k$ $s$-$t$ paths and a circulation. We can just start from $s$ and move along any edge carrying some flow and reach $t$. This gives an $s$-$t$ path with flow $r$ (or some multiple of $r$). Remove this flow and repeat this process again (walk from $s$ to $t$ along flow carrying edges). Finally, when there is no net flow let from $s$ to $t$, the remaining flow is a circulation. That this process ends in $k$ steps can be shown formally using induction.&lt;/p&gt;&#xA;" OwnerUserId="13551" LastEditorUserId="13551" LastEditDate="2013-03-01T15:18:07.970" LastActivityDate="2013-03-01T15:18:07.970" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="16681" PostTypeId="1" AcceptedAnswerId="16766" CreationDate="2013-02-28T19:51:29.143" Score="8" ViewCount="1095" Body="&lt;p&gt;I want to implement the Goldberg &amp;amp; Rao algorithm for finding a maxflow in a graph. My problem is the update step where every paper and report is stating &amp;quot;In the resulting graph, find a blocking flow or a flow of value Delta.&amp;quot; They all refer to Goldberg &amp;amp; Tarjan for finding a blocking flow. There are two things I don't understand:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;How am I supposed to find a flow of value Delta?&lt;/li&gt;&#xA;&lt;li&gt;But more important: how can I find a blocking flow?&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;Regarding questions 2: I read the two papers (the one by Goldberg &amp;amp; Tarjan &amp;quot;A New Approach to the Maximum-Flow Problem&amp;quot; and the one about dynamic trees - both were not that hard to understand). Every paper/report/book about Goldberg &amp;amp; Rao refers to the paper by Goldberg &amp;amp; Tarjan and highlight that Goldberg &amp;amp; Rao do not use the push/relabel algorithm but find blocking flows. But in my opinion, Tarjan only explains the push/relabel algorithm, I cannot find anything about blocking flows.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;h3&gt;T. Cormen, &amp;quot;Introduction to algorithms&amp;quot;, 3rd edition&lt;/h3&gt;&#xA;&lt;p&gt;The asymptotically fastest algorithm to date for the maximum-flow problem, by Goldberg and Rao, runs in time &lt;span class=&quot;math-container&quot;&gt;$O(min(V^{2/3}, E^{1/2}) E \lg{(V^2/E + 2)} * \lg{C})$&lt;/span&gt;, where &lt;span class=&quot;math-container&quot;&gt;$C = \max c(u,v)$&lt;/span&gt;. This algorithm does not use the push-relabel method but instead is based on finding blocking flows.&lt;/p&gt;&#xA;&lt;h3&gt;A. Goldberg &amp;amp; S. Rao, &amp;quot;Beyond the Flow Decomposition Barrier&amp;quot; (the original paper)&lt;/h3&gt;&#xA;&lt;p&gt;Using the blocking flow algorithm of Goldberg and Tarjan [1988], we get an &lt;span class=&quot;math-container&quot;&gt;$O (\Lambda m log(n^2/m)\log{U})$&lt;/span&gt; bound.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="13977" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2013-03-06T15:32:01.350" Title="Goldberg&amp;Tarjan: How to find a blocking flow in a graph" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;max-flow&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16683" PostTypeId="1" CreationDate="2013-03-01T00:43:35.723" Score="0" ViewCount="112" Body="&lt;p&gt;Let $(A, \leq)$ be a totally ordered alphabet.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The &lt;em&gt;packing&lt;/em&gt; ${\tt pack(u)}$ of a word $u \in A^*$ is the word of $\lbrace 1, \dots, k \rbrace^*$, where $k$ is the number of different letters of $u$, obtained by &lt;em&gt;crushing&lt;/em&gt; every letter of $u$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Formally, let $f_u:A\to \lbrace 1, \dots, k \rbrace$ such that $f_u(x)\leq f_u(y) \Leftrightarrow x\leq y$. Then, if $u=u_1 \dots u_n$, ${\tt pack(u)}$ is the sequence $f_u(u_1) \dots f_u(u_n)$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For instance, let $A$ be the alphabet $\lbrace a_i : i \in \mathbb{N} \rbrace$ where $a_i \leq a_j$ if and only if $i \leq j$ and $u := a_6 a_2 a_2 a_5 a_1 a_9 a_1$. Then, we have ${\tt pack(u)} = 4223151$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Questions are&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;What is the &lt;strong&gt;best algorithm&lt;/strong&gt; to compute the packing of a word?&lt;/li&gt;&#xA;&lt;li&gt;What is the (time and space) &lt;strong&gt;complexity&lt;/strong&gt; of this problem assuming $\leq$ is computable in constant space and time?&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="5420" LastEditorUserId="5420" LastEditDate="2013-03-02T14:37:18.890" LastActivityDate="2013-03-02T14:37:18.890" Title="Complexity of the packing" Tags="&lt;cc.complexity-theory&gt;&lt;co.combinatorics&gt;" AnswerCount="0" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="16685" PostTypeId="1" CreationDate="2013-03-01T05:12:50.460" Score="7" ViewCount="886" Body="&lt;p&gt;The celebrated AMS paper &quot;The space complexity of approximating the frequency moments&quot; defines the problem as following:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $a_1, a_2,\dotsc, a_m$ be a sequence of integers where each $a_j \in \{1,2,\dotsc,n\}$. For $i \in \{1,2,\dotsc,n\}$, let $m_i = |\{j : a_j = i\}|$. The kth frequency moment is defined to be&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\displaystyle F_k = \sum_{i=1}^n m_i^k.$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Alon et al. give a streaming algorithm that approximates $F_k$ using roughly $O(n^{1-\frac{1}{k}}(\log n + \log m))$ space. They also use communication complexity techniques to obtain a lower bound of $\Omega(n^{1-\frac{5}{k}})$ for $k &amp;gt; 5$. For $k = 0,1,2,$ they provide more or less matching upper and lower bounds.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There have been more work in this area which have improved upon the results of this paper:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For $F_k$, there is a matching upper and lower bound of $n^{1−2/k}$ for $k&amp;gt;2$. The upper bounds are by Indyk and Woodruff (which appeared in STOC 2005) and the lower bounds are via the information complexity framework, due to Bar-Yossef et al and Chakrabarti et al.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There has also been some related work on approximating $F_\alpha$ where $\alpha$ is not necessarily an integer. &lt;a href=&quot;http://www.stat.cornell.edu/~li/SODA09_CC.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://www.stat.cornell.edu/~li/SODA09_CC.pdf&lt;/a&gt; &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This question talks about the improvements: &lt;a href=&quot;https://cstheory.stackexchange.com/questions/9358/bounds-on-approximating-frequency-moments&quot;&gt;Bounds on approximating frequency moments&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is regarding the motivations of this line of work. The AMS paper talks about the application of $F_2$ to compute the surprise index, the moments give the skewness of the data which helps to select appropriate algorithm for data partitioning of a database. Other sources and papers mention applications in databases. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Other than these, is there any motivation for using these moment estimating algorithms in statistics? What I am thinking about is &lt;strong&gt;how relevant is this line of work to the statistics community?&lt;/strong&gt;&#xA;I was presuming a scenario that these moments may be useful to compute some statistic of the data for some statistical estmation or test of hypothesis, but if they use higher moments like k&gt;6, the linear lower bounds on space motivate the approximation of such statistic using only lower moments or formulation of different statistic that uses only lower moments which can be computed in sublinear space. But, I am not aware of such scenario and couldnt find one. Can you please help me find?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[Though not sure, I presume using estimates of these moments,  one can also approximate central moments. &lt;strong&gt;Please comment and correct me on this as well.&lt;/strong&gt;] &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Also, if you add any motvation not mentioned here, it will be heplful.&lt;/strong&gt;&#xA;&lt;em&gt;Please dont hesitate to improve my question.&lt;/em&gt;&lt;/p&gt;&#xA;" OwnerUserId="13982" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.743" LastActivityDate="2013-03-01T13:29:47.160" Title="Streaming Algorithms: Motivations for estimating frequency moments" Tags="&lt;ds.algorithms&gt;&lt;communication-complexity&gt;&lt;st.statistics&gt;&lt;data-streams&gt;&lt;streaming&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16686" PostTypeId="1" CreationDate="2013-03-01T05:37:04.510" Score="17" ViewCount="879" Body="&lt;p&gt;Bounded depth circuit complexity is one of the main areas of research within circuit complexity theory. This topic has origins in results like &quot;the parity function is not in $AC^{0}$&quot; and &quot;the mod $p$ function is not computed by $AC^{0}[q]$&quot;, where $AC^0[q]$ is the class of languages decidable by non-uniform, constant depth, polynomial size, unbounded fan-in AND, OR, NOT and modulo $q$ gates, where $\gcd(p,q)=1$. However, getting concrete lower bounds results on polylogarithmic depth circuits seems to be out of reach by using classical methods like restricting inputs and approximating polynomials on finite fields.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I know a STOC'96 paper which leads to geometric complexity theory and which shows that efficient parallel computing using operations without bit-wise ones cannot compute the min-cost-flow problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This means that in certain limited settings, we can prove $NC$ lower bounds for some $P$-complete problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First, are there other methods or techniques that may be plausible approaches for proving polylogarithmic depth circuit lower bounds?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Second, how useful is the following statement for the theory community?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The size of an $NC$ circuit computing a Boolean function $f\colon\{0,1\}^{n}\rightarrow \{0,1\}$ is at least $l$, where $l$ is some mathematical quantity depending on the hardness of the target function $f$. The value of $l$ may be, for example, a combinatorial quantity like discrepancy, a linear algebraic quantity like the rank of certain type of matrix over a field, or some entirely new quantity which has not previously been used in complexity theory. &lt;/p&gt;&#xA;" OwnerUserId="13358" LastEditorUserId="4193" LastEditDate="2013-03-04T20:39:02.863" LastActivityDate="2013-03-04T20:39:02.863" Title="Status on circuit lower bounds for polylog-bounded depth circuits" Tags="&lt;cc.complexity-theory&gt;&lt;circuit-complexity&gt;&lt;lower-bounds&gt;&lt;dc.parallel-comp&gt;&lt;gct&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="16687" PostTypeId="2" ParentId="16686" CreationDate="2013-03-01T06:57:52.737" Score="16" Body="&lt;p&gt;On techniques for proving poly-log circuit-depth lower bounds, all current approaches work under &lt;em&gt;restricted&lt;/em&gt; settings.&#xA;Like, in the &lt;a href=&quot;http://dx.doi.org/10.1137/S0097539794282930&quot;&gt;work leading to GCT&lt;/a&gt; that you mention, the lower bound applies to a restricted PRAM model without bit operations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Under another restriction, which is the monotone restriction for monotone boolean functions, there is a Fourier-analytic (or enumerative-combinatorial) approach for proving monotone circuit-depth lower bounds, in my joint work with Aaron Potechin (&lt;a href=&quot;http://eccc.hpi-web.de/report/2012/185/&quot;&gt;ECCC&lt;/a&gt; and &lt;a href=&quot;http://dx.doi.org/10.1145/2213977.2214024&quot;&gt;STOC&lt;/a&gt;).&#xA;This improves on an earlier &lt;a href=&quot;http://dx.doi.org/10.1007/s004930050062&quot;&gt;result&lt;/a&gt; by Ran Raz and Pierre McKenzie, which extends the &lt;a href=&quot;http://dx.doi.org/10.1137/0403021&quot;&gt;communication game framework&lt;/a&gt; of Mauricio Karchmer and Avi Wigderson concerning circuit-depth.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another line of research to extend the Karchmer–Wigderson game was proposed as a &lt;a href=&quot;http://doi.acm.org/10.1145/1490270.1490272&quot;&gt;referred communication game&lt;/a&gt; by Scott Aaronson and Avi Wigderson, whose extension to a competing-prover protocol is suggested as an approach to separate NC from P by Gillat Kol and Ran Raz (&lt;a href=&quot;http://eccc.hpi-web.de/report/2011/122&quot;&gt;ECCC&lt;/a&gt; and &lt;a href=&quot;http://dx.doi.org/10.1145/2422436.2422487&quot;&gt;ITCS&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Apart from studying the syntactic restriction of monotonicity, there is an &lt;a href=&quot;http://doi.acm.org/10.1145/2077336.2077337&quot;&gt;approach&lt;/a&gt; to study a semantic restriction related to pebble games (called thrifty branching programs) by Stephen Cook, Pierre McKenzie, Dustin Wehr, Mark Braverman, and Rahul Santhanam.&#xA;There is a &lt;a href=&quot;http://arxiv.org/abs/1101.2705&quot;&gt;strong lower bound&lt;/a&gt; under the thrifty restriction by Dustin Wehr, matching the best known &lt;a href=&quot;http://doi.acm.org/10.1145/322003.322015&quot;&gt;upper bound&lt;/a&gt; for P-complete problems.&#xA;These results concern deterministic space complexity, which lower bounds parallel time or circuit-depth by known simulation results (e.g. since $\text{AlternatingTime}[t] \subseteq \text{DeterministicSpace}[t]$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;About the question relating the size and depth of circuits, the following approach may be related.&#xA;Richard Lipton and Ryan Williams &lt;a href=&quot;http://doi.ieeecomputersociety.org/10.1109/CCC.2012.44&quot;&gt;show&lt;/a&gt; that, given a sufficiently strong lower bound on depth (i.e. $n^{1-O(1)}$), a weak size lower bound (i.e. $n^{1+\Omega(1)}$) can separate NC from P.&#xA;This result follows from a size-depth trade-off argument based on block-respecting simulations.&#xA;An earlier &lt;a href=&quot;http://eccc.hpi-web.de/report/2008/038/&quot;&gt;result&lt;/a&gt; on trading depth for size is due to Allender and Koucký based on the idea of self-reducibility, but it studied smaller complexity classes like NC$^1$ and NL.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that among the above mentioned approaches, some of them consider both the size and the depth of circuits, while other approaches consider only circuit-depth.&#xA;In particular, the semi-algebro-geometric approach of &lt;a href=&quot;http://dx.doi.org/10.1137/S0097539794282930&quot;&gt;Mulmuley&lt;/a&gt;, the competing-prover protocol approach studied by &lt;a href=&quot;http://eccc.hpi-web.de/report/2011/122&quot;&gt;Kol–Raz&lt;/a&gt;, and the size-depth trade-off approach of &lt;a href=&quot;http://eccc.hpi-web.de/report/2008/038/&quot;&gt;Allender–Koucký &lt;/a&gt; and &lt;a href=&quot;http://doi.ieeecomputersociety.org/10.1109/CCC.2012.44&quot;&gt;Lipton–Williams&lt;/a&gt; all concern both the size and the depth of circuits.&#xA;The results in &lt;a href=&quot;http://eccc.hpi-web.de/report/2012/185/&quot;&gt;Chan–Potechin&lt;/a&gt;, &lt;a href=&quot;http://dx.doi.org/10.1007/s004930050062&quot;&gt;Raz–McKenzie&lt;/a&gt;, &lt;a href=&quot;http://doi.acm.org/10.1145/2077336.2077337&quot;&gt;Cook–McKenzie–Wehr–Braverman–Santhanam&lt;/a&gt;, and &lt;a href=&quot;http://arxiv.org/abs/1101.2705&quot;&gt;Wehr&lt;/a&gt; give circuit-depth lower bounds under restricted settings regardless of size.&#xA;Also, the referred communication game of &lt;a href=&quot;http://doi.acm.org/10.1145/1490270.1490272&quot;&gt;Aaronson–Wigderson&lt;/a&gt; concerns only circuit-depth.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is still consistent with our knowledge that some P-complete problem cannot be computed by circuits of small depth (i.e. $\log^{O(1)}n$), regardless of size.&#xA;If size does not matter for small depth circuits (of bounded fan-in), then perhaps it makes sense to focus more on circuit-depth, than to focus on the size of small depth circuits.&lt;/p&gt;&#xA;" OwnerUserId="13218" LastEditorUserId="13218" LastEditDate="2013-03-02T09:37:08.540" LastActivityDate="2013-03-02T09:37:08.540" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="16688" PostTypeId="1" CreationDate="2013-03-01T09:26:07.133" Score="14" ViewCount="340" Body="&lt;p&gt;In their paper &lt;a href=&quot;http://kaashoek.org/~petar/behind/oracles-zwick-stoc01.pdf&quot;&gt;Approximate Distance Oracles&lt;/a&gt;, Thorup and Zwick showed that for any weighted undirected graph, it is possible to construct a data structure of size $O(k n^{1+1/k})$ that can return a $(2k-1)$-approximate distance between any pair of  vertices in the graph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;At a fundamental level, this construction achieves a space-approximation trade-off --- one can reduce the space requirements at the cost of a lower &quot;quality&quot; of the solution.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What other graph problems exhibit such a trade-off between space and approximation?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I am interested in the case of both static and dynamic, weighted and unweighted, undirected and directed graphs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks.&lt;/p&gt;&#xA;" OwnerUserId="7187" LastEditorUserId="7187" LastEditDate="2013-03-03T05:21:49.667" LastActivityDate="2013-03-07T18:18:16.213" Title="Space-approximation Trade-off" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;approximation-algorithms&gt;&lt;space-complexity&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16689" PostTypeId="2" ParentId="16675" CreationDate="2013-03-01T09:46:09.753" Score="12" Body="&lt;p&gt;There isn't really a single formalization of the kind of thing you are asking. There are many, many aspects to truth, trust, lies, and fallible reasoning, and this leads to an enormous variety of logical formalisms, each handling different aspects of this problem. &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;If you want to account for uncertainty about your hypotheses, the traditional route is via &lt;em&gt;Bayesian probability theory&lt;/em&gt;. See E.T. Jaynes' (sadly incomplete) &lt;em&gt;Probability Theory: the Logic of Science&lt;/em&gt; for a good exposition of this point of view.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;One difficulty with probabilistic methods is that it is difficult to interpret quantifiers, essentially because limits do not necessarily exist. That is, a proposition may hold for all finite approximations, but fail to hold in the infinite limit.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Taking this into account leads you to view propositions topologically, which (a) leads you the Beth semantics of &lt;em&gt;intuitionistic logic&lt;/em&gt;, and (b) also leads you to &lt;em&gt;geometric logic&lt;/em&gt;. See Steve Vickers' &lt;em&gt;Topology via Logic&lt;/em&gt; for an introductory exposition, and Peter Johnstone's &lt;em&gt;Stone Spaces&lt;/em&gt; to jump into the deep end of the pool. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;(However, to my knowledge there is not yet any satisfactory constructive account of probability theory.) &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;If you are interested in the difference between &lt;em&gt;truth&lt;/em&gt; and &lt;em&gt;belief&lt;/em&gt;, then you need to look at &lt;em&gt;epistemic logic&lt;/em&gt;. The idea is to extend traditional logic with a modality $B_X(A)$, which is intended to read &quot;$X$ believes $A$&quot;. See &lt;a href=&quot;http://plato.stanford.edu/entries/logic-epistemic/&quot;&gt;the SEP entry on epistemic logic&lt;/a&gt; for an introduction, and follow the bibliographic links in the article for more details. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;However, when you have multiple agents, you also have to think about the difference between truth and &lt;em&gt;assertion&lt;/em&gt;. This is particularly important in applications like authorization (e.g., I can look at a file, because the owner of the file has the right to delegate the right to look at it, and says that I can look at it). There is a huge amount of work on this; a good entry point into this literature is in Deepak Garg's PhD thesis, &lt;a href=&quot;http://www.mpi-sws.org/~dg/papers/thesis.pdf&quot;&gt;&lt;em&gt;Proof Theory for Authorization Logic and its Application to a Practical File System&lt;/em&gt;&lt;/a&gt;. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Next, one of the traditional principles of logic is &lt;em&gt;ex falso quodlibet&lt;/em&gt;: that is, $\bot \to A$ holds for all propositions $A$ — if you assume false, everything follows. If you are thinking about the possibility of believing false things (for example, someone has lied to you, or you have a database with errors in it), this is potentially disastrous. In practical reasoning, you don't want to derive a contradiction and then happily believe everything — you want to find a contradiction, and deduce that you have made an error. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The study of what happens to logic when you drop ex falso is called &lt;em&gt;relevance logic&lt;/em&gt;, so named because the idea is that you should only make inferences from hypotheses that are relevant to the conclusion. Again, see &lt;a href=&quot;http://plato.stanford.edu/entries/logic-relevance/&quot;&gt;the SEP article on relevance logic&lt;/a&gt; for more. Also, you might wish to tolerate contradictions in your logic system. In this case, the thing to look at is &lt;a href=&quot;http://plato.stanford.edu/entries/logic-paraconsistent/&quot;&gt;&lt;em&gt;paraconsistent logic&lt;/em&gt;&lt;/a&gt;. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Next, you mentioned a worry that individual inferential steps might not be completely reliable. In traditional logic we accept the unrestricted use of modus ponens. That is, inside a proof, if we know $A \to B$ and $A$ hold, we can conclude $B$ holds, any number of times. If you start to consider the idea that individual inferential steps might not be completely reliable, then you might think that proofs depending on long chains of inferential steps are &quot;less reliable&quot; than short ones. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's a bit tricky to formalize this, but it is one of the (several) motivations for &lt;em&gt;ultrafinitism&lt;/em&gt;. See Mannucci and Cherubin's draft &lt;a href=&quot;http://arxiv.org/abs/cs/0611100&quot;&gt;&lt;em&gt;Model Theory of Ultrafinitism I: Fuzzy Initial Segments of Arithmetic&lt;/em&gt;&lt;/a&gt;, for an exploration of this idea (and some explanation of its connection to fuzzy logic). &lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Finally, note that that &lt;em&gt;none&lt;/em&gt; of these approaches actually talk about Frankfurt's idea of bullshit as an assertion which is made with an indifference to its truth value. You probably want to look at J.L. Austin's theory of speech acts (e.g., his book &lt;em&gt;How to Do Things With Words&lt;/em&gt;) to help organize your thinking on this, and if you try to formalize it, you will probably find Per Martin-Löf's judgemental methodology (see for example &lt;a href=&quot;http://docenti.lett.unisi.it/files/4/1/1/6/martinlof4.pdf&quot;&gt;his Siena lectures&lt;/a&gt;) helpful. &lt;/p&gt;&#xA;" OwnerUserId="657" LastEditorUserId="1151" LastEditDate="2013-03-05T14:12:34.273" LastActivityDate="2013-03-05T14:12:34.273" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16690" PostTypeId="1" CreationDate="2013-03-01T12:16:10.520" Score="0" ViewCount="199" Body="&lt;p&gt;Non-metric TSP that is TSP and some instance is not hold the triangle inequality is NP-hard by gap-reduction method.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is this general TSP a complete problem in some functional complexity classes ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I've read the zoo, but this problem is not mentioned. &lt;/p&gt;&#xA;" OwnerUserId="13358" LastActivityDate="2013-03-01T12:16:10.520" Title="Nonmetric TSP and Functional Compleixty Classes" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;optimization&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="16691" PostTypeId="2" ParentId="16685" CreationDate="2013-03-01T13:29:47.160" Score="5" Body="&lt;p&gt;$F_0$ counting (or estimating distinct elements, or &quot;cardinality estimation&quot;) is very useful. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Example: when you're doing profiling at the router level, you often want to estimate functions of distinct IP addresses, and since you can't just maintain counters for each possible address, $F_0$ counting turns out to be quite useful.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$F_1$ counting, or frequency estimation is also very useful:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Example: There's work on building statistical language models that involve counting frequencies of pairs of words, triples of words, and so on. You can't maintain counts for all such triples, so you often want &quot;frequent&quot; ones, or &quot;heavy hitters&quot;. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2013-03-01T13:29:47.160" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="16692" PostTypeId="1" CreationDate="2013-03-01T14:35:33.750" Score="13" ViewCount="778" Body="&lt;p&gt;Partition problem is weakly NP-complete since it has polynomial (pseudo-polynomial) time algorithm if input integers are bounded by some polynomial. However, 3-Partition is strongly NP-complete problem even if input integers are bounded by a polynomial.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Assuming, $\mathsf{P \ne NP}$, Can we prove that intermediate NP-complete problems must exist? If the answer is yes, Is there such &quot;natural&quot; candidate problem?&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Here, Intermediate NP-complete problem is a problem that neither has a pseudo-polynomial time algorithm nor NP-complete in the strong sense.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I guess that there is an infinite hierarchy of intermediate NP-complete problems between weak NP-completeness and strong NP-completeness.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT March 6th&lt;/strong&gt;: As mentioned in the comments, an alternative way to pose the question is:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Assuming, $\mathsf{P \ne NP}$, Can we prove the existence of NP-complete problems that neither have polynomial time algorithm nor NP-complete when the numerical&#xA;  inputs are presented in unary? If the answer is yes, Is there such &quot;natural&quot; candidate problem?&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT2 March 6&lt;/strong&gt;: The reverse direction of the implication is true. The existence of such &quot;intermediate&quot; $NP$-complete problems implies $\mathsf{P \ne NP}$ since if $\mathsf{ P=NP}$ then unary $NP$-complete problems are in $P$.&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2013-03-06T11:28:32.397" LastActivityDate="2015-01-28T21:24:29.820" Title="Intermediate $\mathsf{NP}$-complete problems?" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;&lt;partition-problem&gt;" AnswerCount="1" CommentCount="9" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="16693" PostTypeId="1" AcceptedAnswerId="16695" CreationDate="2013-03-01T16:25:07.100" Score="0" ViewCount="75" Body="&lt;p&gt;I have a network flow (with min and max capacities) where the only transport units flowing are within a cycle (of flow value 2). The source of the network does not send out any transport units into any direction and the transport units getting into the sink are all getting sent away directly, so 0 transport units &quot;stay&quot; there. Now my question is, is such a flow allowed as long as minimium neccesarry flow (given by min capacities) exists and the amount of incoming transport units is equal to the amount of outgoing transport units? Or is a flow network where the source doesn´t send out any transport units not permitted? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I look forward for any help.&lt;/p&gt;&#xA;" OwnerUserId="13964" LastActivityDate="2013-03-01T17:43:35.477" Title="Source sending 0 transport units" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;" AnswerCount="1" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="16694" PostTypeId="1" CreationDate="2013-03-01T17:29:18.920" Score="3" ViewCount="283" Body="&lt;p&gt;This question arose from a discussion between a friend and I. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$A$ is a sequence of length $T$ where for any $a_i$ in $A$,  $a_i \in  \left\{{1, 2, 3}\right\}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$B$ is a sequence of length $U$ where for any $b_i$ in $B$,  $b_i \in  \left\{{1, 2, 3}\right\}$&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;And the following conditions:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) They possess equal sum,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$N = \sum_{\forall a \in A} a = \sum_{\forall b \in B} b$&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;2)  They don't possess sub-sequences starting at the head of equal sum,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\sum_{i=1}^c a_i \neq \sum_{i=1}^d b_i$ &lt;/p&gt;&#xA;&#xA;&lt;p&gt;for any $c &amp;lt; T$ and $d &amp;lt; U$, &lt;/p&gt;&#xA;&#xA;&lt;p&gt;where $a_i \in A$ and $b_i \in B$&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question: For given $N$, find an algorithm that calculates in polynomial time the number of possible pairs $(A, B)$ that satisfy these conditions.&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's very easy to write an algorithm that satisfies condition 1) using dynamic programming, but I simply cannot figure out how to make it satisfy 2) as well.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Good luck!&lt;/p&gt;&#xA;" OwnerUserId="10987" LastEditorUserId="10987" LastEditDate="2013-03-13T15:38:30.377" LastActivityDate="2013-03-13T15:38:30.377" Title="Find two sequences of integers that have sum N but that don't have sub-sequences starting at the head of equal sum" Tags="&lt;dynamic-programming&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16695" PostTypeId="2" ParentId="16693" CreationDate="2013-03-01T17:43:35.477" Score="1" Body="&lt;p&gt;You can make it valid depending on your definition of a valid network flow.&#xA;Let s and t be the source and sink, respectively. Depending on your problem you may no further restrictions of the network flow conservation of t and s. In most definitions there are even no further restrictions on that, as this would just complicate the definition (without helping much).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you want to restrict such &quot;superficial&quot; network flows in your example, you may however further state that for each edge (u,v) with a flow (i.e. flow function f(u,v)&gt;0) there must be a path from s to u where each edge on the path has a positive flow (i.e. f(e)&gt;0).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You may further restrict the flow on s not to be negative and the flow on t not beeing positive, i.e. for sum for all u on f(s,u) must be positive and sum for all u on f(u,t) must be positive or 0.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This should then remodel a &quot;more intuitive&quot; network flow comparable with water flows :).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Note that the restriction: the source must not send out any transport units does not help much to prevent such superficial flows as suggested in the question.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, typically one assumes that f(t,u)&amp;lt;=0 for all vertices u, i.e. the sink consumes everything which it retrieves.&lt;/p&gt;&#xA;" OwnerUserId="4451" LastActivityDate="2013-03-01T17:43:35.477" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16696" PostTypeId="1" AcceptedAnswerId="16708" CreationDate="2013-03-01T19:21:44.103" Score="2" ViewCount="1050" Body="&lt;p&gt;I am a physicist  getting acquainted with one of the typical constructs for formulation and analysis of quantum algorithms (such as search problems or query complexity models), namely the &quot;oracle function&quot;. As far as I understand, the oracle is a quantum black-box entity which computes the quantity to be analyzed. For example, in a qubit circuit formulation of a universal quantum computer the oracle is a deterministically computed Boolean function (correct me here if I'm wrong).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Is quantum oracle implementation overhead counted when the&#xA;computational complexity of specific/well-known algorithms is compared to&#xA;alternatives?&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Examples&lt;/strong&gt;: deterministic &lt;a href=&quot;http://en.wikipedia.org/wiki/Deutsch%E2%80%93Jozsa_algorithm&quot; rel=&quot;nofollow&quot;&gt;Deutsch-Jozsa algorithm&lt;/a&gt; algorithm is exponentially faster than a classical counterpart only if the implementation of the unknown function $f$ requires less than $2^n$ classical &quot;steps'' (including obtaining the guarantee that $f$ is either &lt;em&gt;partial&lt;/em&gt; or &lt;em&gt;constant&lt;/em&gt;). A stochastic example: collapse of the Grover algorithm speedup by a &lt;a href=&quot;http://www.cims.nyu.edu/~regev/papers/faultygrover.pdf&quot; rel=&quot;nofollow&quot;&gt;faulty oracle&lt;/a&gt; with an arbitrary small but constant failure probability.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Why do one care&lt;/strong&gt;: Of course, one can alsways say that we look just at the non-oracle part or count only the number of queries etc. But any talk of quantum speedup has any chance of empirical relevance only if the overhead for implementation of all of the quantum parts of the construction is taken into account (if it is trivial/constant - no problem). In other words, I find it meaningful to compare quantum algorithms only after they are &quot;fully compiled'' onto (at least hypothetically) realizable classically-driven hardware (e.g., universal set of gates plus as many qubits as one needs - but we'll count all the time &amp;amp; memory required). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is probably fairly typical for a non-expert, perhaps I just got confused by some less sophisticated introductions to quantum computation. Please deconfuse me.&lt;/p&gt;&#xA;" OwnerUserId="13992" LastEditorUserId="13992" LastEditDate="2013-03-01T20:23:12.007" LastActivityDate="2013-03-02T14:34:09.017" Title="Quantum oracle implementation overhead" Tags="&lt;quantum-computing&gt;&lt;circuit-complexity&gt;&lt;oracles&gt;" AnswerCount="2" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="16698" PostTypeId="1" AcceptedAnswerId="16704" CreationDate="2013-03-01T20:04:11.577" Score="0" ViewCount="364" Body="&lt;p&gt;A lower bound of the needed number of comparision to build a &lt;a href=&quot;http://en.wikipedia.org/wiki/Heap_%28data_structure%29&quot; rel=&quot;nofollow&quot;&gt;heap&lt;/a&gt; is given by &lt;a href=&quot;http://epubs.siam.org/doi/pdf/10.1137/0215068&quot; rel=&quot;nofollow&quot;&gt;GASTON H. GONNET and J. IAN MUNRO&lt;/a&gt; as following&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;THEOREM 4. $1.3644... n + O(lg n)$ comparisons are necessary, not only in the worst&#xA;  case, but also on the average to create a heap on n elements.&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;Proof - A reasonably straightforward enumeration shows that there are $H(n)=&#xA;n !/\prod t_i$ valid heaps on a set on n numbers where $t_i$ is the size of the heap rooted at&#xA;  node $i$. A lower bound on the average number of comparisons required to permit one&#xA;  of $n!$ possible input sequences to one of these orders is $$\lg(n!/H(n))=\sum \lg t_i.$$&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I understand how the number of valid heap is calculated. But I don't know information theory so I can't see how the last equation is the lower bound. Is there any theorem or book I can check to see how this works?&lt;/p&gt;&#xA;" OwnerUserId="6350" LastActivityDate="2013-03-02T07:10:29.530" Title="Lower bound of the time complexity of heap building" Tags="&lt;ds.algorithms&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16699" PostTypeId="2" ParentId="16159" CreationDate="2013-03-01T23:21:27.283" Score="15" Body="&lt;p&gt;Proof nets are interesting essentially for three reasons:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) IDENTITY OF PROOFS. They provide an answer to the problem &quot;when are two proofs the same&quot;? In sequent calculus you may have many different proofs of the same proposition which differ only because sequent calculus forces an order among deduction rules even when this is not necessary. Of course, one can add an equivalence relation on sequent calculus proofs, but then one has to show that cut-elimination behaves properly on equivalence classes, and also it is necessary to turn to rewriting modulo, which is quite more technical than plain rewriting. Proof nets solve the problem of dealing with equivalence classes by providing a syntax where every equivalence class is collapsed on a single object. This situation is anyway a bit idealistic, as for many reasons proof nets are often extended with some form of equivalence.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) NO COMMUTATIVE CUT-ELIMINATION STEPS. Cut-elimination on proof nets takes a quite different flavor than on sequent calculi because commutative cut-elimination steps disappear. The reason is that in proof nets the deduction rules are connected only by their causal relation. Commutative cases are generated by the fact that one rule can be hidden by another causally unrelated rule. This cannot happen in proof nets, where causally unrelated rules are far apart. Since most cases of cut-elimination are commutative one gets a striking simplification of cut-elimination. This has been particularly useful for studying lambda calculi with explicit substitutions (because exponentials = explicit substitutions). Again, this situation is idealized since some presentations of proof nets require commutative steps. However, their number is much smaller than in sequent calculus&lt;/p&gt;&#xA;&#xA;&lt;p&gt;3) CORRECTNESS CRITERIA. Proof nets can be defined by translation of sequent calculus proofs, but usually a system of proof nets is not accepted as such unless it is provided with a correctness criterion, i.e. a set of graph-theoretical principles characterizing the set of graphs obtained by translating a sequent calculus proof. The reason for requiring a correctness criterion is that the free graphical language generated by the set of proof net constructors (called links) contains &quot;too many graphs&quot;, in the sense that some graphs do not correspond to any proof. The relevance of the correctness criteria approach is usually completely misunderstood. It is important because it gives non-inductive definitions of what is a proof, providing shockingly different perspectives on the nature of deductions. The fact that the characterization is non-inductive is usually criticized, while it is exactly what is interesting. Of course, it is not easily amenable to formalization, but, again, this is its strength: proof nets provide insights that are not available through the usual inductive perspective on proofs and terms. A fundamental theorem for proof nets is the sequentialization theorem, which says that any graph satisfying the correctness criterion can be inductively decomposed as a sequent calculus proof (translating back to the correct graph).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let me conclude that it is not precise to say that proof nets are a classical and linear version of natural deduction. The point is that they solve (or attempt to solve) the problem of the identity of proofs and that natural deduction succesfully solve the same problem for minimal intuitionistic logic. But proof nets can be done also for intuitionistic systems and for non-linear systems. Actually, they work better for intuitionistic systems than for classical systems.&lt;/p&gt;&#xA;" OwnerUserId="13997" LastEditorUserId="13997" LastEditDate="2013-04-02T14:07:17.670" LastActivityDate="2013-04-02T14:07:17.670" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16700" PostTypeId="1" CreationDate="2013-03-02T00:50:26.627" Score="1" ViewCount="888" Body="&lt;p&gt;For an undirected weighted complete graph $G = (V, E)$. Assuming the edge weight indicates the similarity between different nodes, the smaller $w_{ij}$ is, it means $i$ and $j$ are more similar towards each other.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm trying to find a subset of size $k$ nodes such that they look not so &quot;similar&quot; towards one another, $\textrm{i.e.}$ $k$ nodes $G_k = (V_k, E_k)$ s.t. $\sum_{(i,j) \in E_k} w_{ij}$ is maximized.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm not looking for an exact solution but I do want to know whether there is an approximation algorithm that is easy to implement and can still have some kind of performance guarantee.&lt;/p&gt;&#xA;" OwnerUserId="7166" LastEditorUserId="39090" LastEditDate="2017-02-13T08:31:03.713" LastActivityDate="2017-02-13T08:31:03.713" Title="Finding minimum weight $k$ cliques in a complete graph" Tags="&lt;graph-algorithms&gt;&lt;approximation-algorithms&gt;&lt;clique&gt;" AnswerCount="0" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="16701" PostTypeId="2" ParentId="16662" CreationDate="2013-03-02T01:52:48.363" Score="1" Body="&lt;p&gt;I am not an expert on this subject, but it looks to me like the question makes some assumptions that may or may not be valid.  The question claims that the Needham-Schroeder-Lowe protocol is SK-secure.  However, I don't know whether there is any known proof that Needham-Schroeder-Lowe is SK-secure.  The paper that was cited in the question does not appear to claim that it is SK-secure.  You might want to start by first checking whether there's a known proof of its SK-security.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's possible you might find the following paper of some relevance:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.cs.bris.ac.uk/~bogdan/pdf/nsl.pdf&quot; rel=&quot;nofollow&quot;&gt;A Computational Analysis of the Needham-Schroeder-(Lowe) Protocol&lt;/a&gt;.  Bogdan Warinschi.  Computer Security Foundations Workshop 2003.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;It gives a computational, reduction-oriented proof of security for the Needham-Schroeder-Lowe protocol, assuming that the encryption algorithm is CCA-secure.  However, I don't know what notion of security for key exchange algorithms this paper uses; I don't know if it proves SK-security, or something else.&lt;/p&gt;&#xA;" OwnerUserId="5038" LastActivityDate="2013-03-02T01:52:48.363" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16704" PostTypeId="2" ParentId="16698" CreationDate="2013-03-02T07:10:29.530" Score="0" Body="&lt;p&gt;It is essentially using decision tree model to obtain the lower-bound. There are $n!/H(n)$ leafs in the decision tree, it is a binary tree, therefore the height of the tree is at least $\lg (n!/H(n))$.&lt;/p&gt;&#xA;" OwnerUserId="186" LastActivityDate="2013-03-02T07:10:29.530" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16705" PostTypeId="2" ParentId="16694" CreationDate="2013-03-02T07:24:46.090" Score="4" Body="&lt;p&gt;You can solve this with dynamic programming as well.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To see this, first realize you can see this problem as splitting the numbers between $0$ and $N$ into two subsets $X$ and $Y$ (the cumulative sums) that cannot overlap except at $0$ and $N$ (and must overlap there), and where the difference between consecutive elements of a subset is at most 3.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Reformulating the problem this way, you can have the state of your dynamic programming be:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&quot;The number of ways of splitting the numbers between $0$ and $i-1$ into two sequences in the fashion described in the second paragraph, where the the numbers in positions (i, i-1, i-2) have assignments (j,k,h)&quot;, with $3 \leq i \leq N-1$, and $(j,k,h) \in \{X,Y,None\}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Using the states for $i=k$ to compute the states for $i=k+1$, it does take $\Theta(N)$ time to compute this. Let me know if more details are required.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit: I had missed in the previous answer the fact that $T$ and $U$ are fixed. You can take care of this by adding in your state how many positions so far have assignment to $X$, and how many have assignments to $Y$. Sadly, this brings the complexity up to $\Theta(T*U*N)$. Also, note that the solution generalizes to a larger number of sequences, and their values being in a larger range $\{1, \ldots, k \}$.&lt;/p&gt;&#xA;" OwnerUserId="1632" LastEditorUserId="1632" LastEditDate="2013-03-12T18:09:06.427" LastActivityDate="2013-03-12T18:09:06.427" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="16706" PostTypeId="1" CreationDate="2013-03-02T07:32:48.303" Score="4" ViewCount="185" Body="&lt;p&gt;This question is about an answer in question &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/questions/2853/are-there-any-proofs-the-undecidability-of-the-halting-problem-that-does-not-dep&quot;&gt;Are there any proofs the undecidability of the halting problem that does not depend on self-referencing or diagonalization ?&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/a/2854/&quot;&gt;Bjørn Kjos-Hanssen answer&lt;/a&gt; states that:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;You can first show that the halting problem (the set $0'$) can be used&#xA;  to compute a set $G\subseteq\mathbb N$ that is &lt;em&gt;1-generic&lt;/em&gt; meaning&#xA;  that in a sense each $\Sigma^0_1$ fact about $G$ is decided by a&#xA;  finite prefix of $G$. Then it is easy to prove that such a set $G$&#xA;  cannot be computable (i.e., decidable).&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I have trouble understanding this sentence as I am new to forcing. For example, what does &quot;finite prefix&quot; mean here? Can someone explain this sentence? (I know what $\Sigma^0_1$ means.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can someone explain the general idea behind forcing? I am also looking for easy to read introductions articles and books about forcing.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;edit: So, how can we prove that each $\Sigma_1^0$ fact about $G$ being decided by a finite prefix leads to the fact that $G$ cannot be computable?&lt;/p&gt;&#xA;" OwnerUserId="14000" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2013-05-01T09:01:21.683" Title="Explanation of 1-generic to prove undecidability of halting problem" Tags="&lt;lo.logic&gt;&lt;computability&gt;&lt;proofs&gt;&lt;halting-problem&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16707" PostTypeId="2" ParentId="16706" CreationDate="2013-03-02T07:54:20.720" Score="2" Body="&lt;p&gt;A finite prefix of  $G$ is $G \cap \{0,1,\ldots n\}$ for some $n$. It is easier if you look at the characteristic function of $G$ which can we viewed as an infinite word in $2^\omega$. Then a finite prefix is a finite initial part of $G$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For forcing, there are many resources, depends on what you want to learn. A point to start is the Wikipedia pages and the references listed there: &lt;a href=&quot;http://en.wikipedia.org/wiki/Forcing_%28set_theory%29&quot; rel=&quot;nofollow&quot;&gt;Forcing (set theory)&lt;/a&gt;, &lt;a href=&quot;http://en.wikipedia.org/wiki/Forcing_%28recursion_theory%29&quot; rel=&quot;nofollow&quot;&gt;Forcing (recursion theory)&lt;/a&gt;. Timothy Chow's article &lt;a href=&quot;http://arxiv.org/abs/0712.1320&quot; rel=&quot;nofollow&quot;&gt;A Beginner's Guide to Forcing&lt;/a&gt; is a good introduction.&lt;/p&gt;&#xA;" OwnerUserId="186" LastActivityDate="2013-03-02T07:54:20.720" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="16708" PostTypeId="2" ParentId="16696" CreationDate="2013-03-02T10:53:41.873" Score="1" Body="&lt;p&gt;As  pointed out by Logan Mayfield, &lt;a href=&quot;http://www.scottaaronson.com/blog/?p=451&quot; rel=&quot;nofollow&quot;&gt;Scott Aaronson's blogpost&lt;/a&gt; on the topic completely resolves my question. Oracles is a fundamental tool for rigorous investigation of computational complexity classes, &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;a href=&quot;http://www.scottaaronson.com/blog/?p=451#comment-16187&quot; rel=&quot;nofollow&quot;&gt;“bring out the latent strengths” of one class over another class&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The root cause of my concerns was that little (as far as I understand - nothing) can be proven unconditionally about quantum speedups in the unrelativized (compiled to physical hardware) world. Of course, this obstacle does not diminish the power of the oracle framework as a major tool enabling progress in quantum computation theory, including the celebrated example of Shor's algorithm.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Personally, it is a consolation to learn from Scott that &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;This [&lt;em&gt;relativized vs. unrelatized complexity&lt;/em&gt;] is an absolutely crucial distinction that trips up just about&#xA;  &lt;em&gt;everyone&lt;/em&gt; when they’re first learning quantum computing.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="13992" LastActivityDate="2013-03-02T10:53:41.873" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16709" PostTypeId="1" AcceptedAnswerId="16713" CreationDate="2013-03-02T14:14:37.480" Score="3" ViewCount="190" Body="&lt;p&gt;I have another question about this &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.58.443&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;nofollow&quot;&gt;paper&lt;/a&gt;. There the authors prove a special version of the maximal flow-minimal cut theorem for uniform exactly-$k$-splittable $s$-$t$-flows. They define the cut in this situation on page 9.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you have a partition $C\cup (V\setminus C)$ with $s\in C$ and $t\in V\setminus C$, the $k$-uniform cut capacity $c_k(C)$ is the maximal volume of a packing of $k$ identically sized packages into the bins with size corresponding to the edges from $C$ to $V\setminus C$. The minimum $k$-uniform $s$-$t$ cut, $c_k(s, t)$, is defined by $c_k(s,t):=\min\{c_k(C)|s\in C\subset V\setminus \{t\}\}$ &lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is then about Theorem 7. How can we derive this lower bound of $k$ for a standard minimum $s$-$t$ cut in the graph $G'$? &lt;/p&gt;&#xA;" OwnerUserId="13876" LastEditorUserId="-1" LastEditDate="2013-04-13T19:04:47.043" LastActivityDate="2013-04-13T19:04:47.043" Title="How can we derive this lower bound of a special cut in a graph?" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;multicommodity-flow&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16710" PostTypeId="2" ParentId="16696" CreationDate="2013-03-02T14:34:09.017" Score="0" Body="&lt;p&gt;If you have a circuit which implements a function on a classical computer, then you can implement that function on a quantum computer with only small overhead (a factor of 2 I think).  So in that sense, there is not much oracle overhead.  Grover's algorithm for finding a needle in a haystack calls the oracle $O(\sqrt{N})$ times and the classical sequential &quot;Is the needle here? How about here?&quot; search calls the oracle $O(N)$ times.  So there is a quantum speedup for Grover versus the classical sequential search even if the quantum oracle runs twice as slow as the classical one.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, one then has to consider whether the classical sequential search was in fact the fastest way to do it.  In the case of an oracle that is implemented using a polynomial size circuit, if P=NP then there would be a $\textrm{polylog}(N)$ time algorithm to find the needle in the haystack.  To prove that there is no better way that sequential search in general, you need to construct something like a random oracle, which ends up not being efficient to build.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A separate but related issue is that in the context of query complexity one only considers the number of times the oracle is queried, and not the complexity of the intermediate operations.  Considering these intermediate operations, Grover's algorithm actually takes $O(\log(N)\sqrt{N})$ time in addition to the $O(\sqrt{N})$ oracle queries, which isn't really all that bad.  The general hidden subgroup problem, if I recall correctly, has a rather low query complexity but known algorithms make use of unitary operations that are exponentially difficult to implement.  So in this case the quantum algorithm is not so practical.&lt;/p&gt;&#xA;" OwnerUserId="7092" LastActivityDate="2013-03-02T14:34:09.017" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16711" PostTypeId="2" ParentId="16655" CreationDate="2013-03-02T14:35:53.163" Score="1" Body="&lt;p&gt;This problem has been addressed in the paper &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Formal language constrained path problems by Barrett et al. SIAM Journal on Computing, 2000, Vol 30.&lt;/p&gt;&#xA;" OwnerUserId="14004" LastActivityDate="2013-03-02T14:35:53.163" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16713" PostTypeId="2" ParentId="16709" CreationDate="2013-03-02T15:45:35.533" Score="2" Body="&lt;p&gt;Consider a cut $C$ in $G^\prime$. Let $c_k(C)$ be its uniform cut capacity in $G$. Then $c_k(C) \geq c_k(s,t)$. By definition of $c_k(C)$, exactly $k$ packets, each of size $c_k(C)/k$ can be packed into the cut $C$. So sum of $\lfloor ku_e /c_k(C) \rfloor$ over the cut is at least $k$. As $c_k(C) \geq c_k(s,t)$, $ku_e /c_k(C) \leq ku_e /c_k(s,t)$. So &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;\sum_C u_e^\prime = \sum_C \lfloor ku_e /c_k(s,t)\rfloor \geq \sum_C \lfloor ku_e /c_k(C)\rfloor \geq k&#xA;$$&lt;/p&gt;&#xA;" OwnerUserId="13551" LastEditorUserId="13551" LastEditDate="2013-03-04T08:38:45.263" LastActivityDate="2013-03-04T08:38:45.263" CommentCount="14" ContentLicense="CC BY-SA 3.0" />
  <row Id="16714" PostTypeId="2" ParentId="4204" CreationDate="2013-03-02T15:51:12.783" Score="0" Body="&lt;p&gt;here are some newer/other references/angles on this apparently deep question with ongoing research. as indicated by P.Shor the area so far seems to be waiting on a comprehensive survey, standardization, and and/or unification. there are more abstract/theoretical approaches listed 1st, followed by more applied approaches: energy efficient algorithms, measurement of energy use in mobile for sorting, study of factors in VLSI affecting energy/time complexity.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://dl.acm.org/citation.cfm?id=2422470&quot; rel=&quot;nofollow&quot;&gt;An energy complexity model for algorithms, Swapnoneel Roy Atri Rudra Akshat Verma ITCS 2013&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://delta.cs.cinvestav.mx/~pmejia/power/energy.pdf&quot; rel=&quot;nofollow&quot;&gt;Towards an energy complexity of computation Alain J. Martin, IPL 2001&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://arxiv.org/abs/1302.6695&quot; rel=&quot;nofollow&quot;&gt;Complexity vs Energy: Theory of Computation and Theoretical Physics&#xA;Yuri I. Manin&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://www.ravijainweb.com/energy/energy-wcnc05.pdf&quot; rel=&quot;nofollow&quot;&gt;Towards a Model of Energy Complexity for Algorithms&#xA;Ravi Jain, David Molnar, Zulfikar Ramzan&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://cacm.acm.org/magazines/2010/5/87271-energy-efficient-algorithms/fulltext&quot; rel=&quot;nofollow&quot;&gt;Energy-Efficient Algorithms&#xA;Susanne Albers&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Yao, F.F., Demers, A.J., Shenker, S. A scheduling model for reduced CPU energy. In Proceedings of the 36th IEEE Symposium on Foundations of Computer Science (1995), 374–382.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://elab.ws/files/publications/rosocm09_energy.pdf&quot; rel=&quot;nofollow&quot;&gt;Exploring the Energy Consumption of Data Sorting Algorithms in Embedded and Mobile Environments&#xA;Christian Bunse Hagen Ho ̈pfner Essam Mansour Suman Roychoudhury&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://www.computer.org/csdl/trans/tc/2012/04/ttc2012040530-abs.html&quot; rel=&quot;nofollow&quot;&gt;Energy-Time Complexity of Algorithms: Modelling the Trade-offs of CMOS VLSI (2007) by Brad D. Bingham&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2013-03-02T15:51:12.783" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16715" PostTypeId="2" ParentId="16686" CreationDate="2013-03-02T19:04:00.427" Score="14" Body="&lt;p&gt;Following the suggestion of Kaveh, I am putting my comment as an (expanded) answer.&#xA;&lt;p&gt;&#xA; &lt;b&gt;Concerning $Q1$&lt;/b&gt;, a word of caution is in order: even &lt;i&gt;logarithmic&lt;/i&gt; depth if far from being understood, not speaking about poly-logarithmic. So, in the non-monotone world, the real problem is much less ambitious:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;&lt;b&gt;Beating Log-depth Problem:&lt;/b&gt; Prove a super-linear(!) lower bound for $NC^1$-circuits.&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The problem remains open (for now more than 30 years) even for &lt;i&gt;linear&lt;/i&gt; $NC^1$-circuits. These are fanin-$2$ circuits over the basis $\{\oplus,1\}$, and they compute linear transformations $f(x)=Ax$ over $GF(2)$. Easy counting show that almost all matrices $A$ require &#xA;$\Omega(n^2/\log n)$ gates, in any depth.&#xA;&lt;p&gt;&#xA;&lt;b&gt;Concerning $Q2$&lt;/b&gt;: Yes, we &lt;b&gt;have&lt;/b&gt; &#xA;some algebraic/combinatoric measures, lower bounds on which&#xA;would beat log-depth circuits. Unfortunately, so far, &#xA;we cannot prove large enough bounds on these measures. Say,&#xA;for linear $NC^1$-circuits, such a measure is the &lt;a href=&quot;http://eccc.hpi-web.de/report/2005/070/&quot;&gt;rigidity&lt;/a&gt; $R_A(r)$ of the matrix $A$. This is the smallest number of entries of $A$ that one needs to change in order to reduce the rank to $r$.&#xA;It is easy to &lt;a href=&quot;http://www.thi.informatik.uni-frankfurt.de/~jukna/boolean/rigidity.html&quot;&gt;show&lt;/a&gt; that $R_A(r)\leq (n-r)^2$ holds for every boolean $n\times n$ matrix $A$, and Valiant (1977) has shown that this bound is tight for almost all matrices.&#xA;To beat log-depth circuits, it is enough to exhibit a sequence of boolean $n\times n$ matrices $A$ such that&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;$R_A(\epsilon n)\geq n^{1+\delta}$ for constants $\epsilon,\delta&amp;gt;0$.&#xA;&lt;/blockquote&gt; &#xA;&#xA;&lt;p&gt;The best we know so far are matrices $A$ with $R_A(r)\geq (n^2/r)\log(n/r)$. For Sylvester matrices (i.e. inner product matrices), the lower bound of $\Omega(n^2/r)$ is &lt;a href=&quot;http://blog.computationalcomplexity.org/2005/07/matrix-rigidity.html&quot;&gt;easy to show&lt;/a&gt;.&#xA;&lt;p&gt;&#xA;We have combinatorial measures for general (non-linear) $NC^1$-circuits, as well For a bipartite $n\times n$&#xA;graph $G$, let $t(G)$ be the smallest number $t$ such that $G$ can be written as an intersection&#xA;of $t$ bipartite graphs, each being a union of at most $t$ complete bipartite graphs. To beat&#xA;the general log-depth circuits, it would be enough to find a sequence of graphs with&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt; &#xA;$t(G_n)\geq n^{\epsilon}$ for a constant $\epsilon &amp;gt;0$&#xA;&lt;/blockquote&gt; &#xA;&#xA;&lt;p&gt;(see, e.g. &lt;a href=&quot;http://lovelace.thi.informatik.uni-frankfurt.de/~jukna/ftp/graph-compl.pdf&quot;&gt;here&lt;/a&gt; on how this happens). Again, almost all graphs have&#xA;$t(G)\geq n^{1/2}$. However, the best remains a lower bound $t(G)\geq \log^3 n$ for Sylvester matrices, due to &lt;a href=&quot;http://dx.doi.org/10.1007/s00224-002-1068-0&quot;&gt;Lokam&lt;/a&gt;.&#xA;&lt;p&gt;&#xA;Finally, let me mention that we even have a &quot;simple&quot; combinatorial measure (quantity) a weak (linear) lower bound on which would yield even exponential(!) lower bounds for non-monotone circuits. For a bipartite $n\times n$ graph $G$, let $c(G)$ be the smallest number of&#xA;fanin-$2$ union ($\cup$) and intersection ($\cap$) operations required to produce $G$ when starting from stars; a star is a set of edges joining one vertex with all vertices on the other side. Almost all graphs have $c(G)=\Omega(n^2/\log n)$. On the other hand, a lower bound of &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;$c(G_n)\geq (4+\epsilon)n$ for a constant $\epsilon&amp;gt;0$&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;would imply a lower bound $\Omega(2^{N/2})$ on the non-monotone circuit complexity of an explicit boolean function $f_G$ of $N$ variables. If $G$ is $n\times m$ graph with $m=o(n)$, then even a lower bound   $c(G_n)\geq (2+\epsilon)n$ is enough (again, see, e.g. &lt;a href=&quot;http://lovelace.thi.informatik.uni-frankfurt.de/~jukna/ftp/graph-compl.pdf&quot;&gt;here&lt;/a&gt; on how this happens). Lower bounds $c(G)\geq (2-\epsilon)n$ can be shown for relatively simple graphs. The problem, however, is to do this with &quot;$-\epsilon$&quot; replaced by &quot;$+\epsilon$&quot;.  More combinatorial measures lower-bounding circuit complexity (including the $ACC$-circuits) &#xA;can be found in the&#xA; &lt;a href=&quot;http://www.thi.informatik.uni-frankfurt.de/~jukna/boolean/index.html&quot;&gt;book&lt;/a&gt;. &#xA; &lt;p&gt;&#xA;P.S. So,&#xA;are we by a constant factor of $2+\epsilon$ from showing $P\neq NP$?&#xA;Of course - not.&#xA;I mentioned this latter measure $c(G)$ only to show that one should treat  &quot;amplification&quot; (or &quot;magnification&quot;) of lower bounds with a healthy portion of skepticism: even though the bounds we need look &quot;innocently&quot;, are much smaller (linear) than almost all graphs require (quadratic), the inherent difficulty of proving a (weak) lower bound may be even bigger. Of course, having found a combinatorial measure, we can say &lt;i&gt;something&lt;/i&gt; about what properties of functions make them computationally hard. This may be useful for proving an &lt;i&gt;indirect&lt;/i&gt; lower bound: some complexity class contains a function requiring large circuits or formulas. But the ultimate goal is to come up with an &lt;i&gt;explicit&lt;/i&gt; hard function, whose definition does not have an &quot;algorithmic smell&quot;, does not have any hidden complexity aspects. &lt;/p&gt;&#xA;" OwnerUserId="5788" LastEditorUserId="5788" LastEditDate="2013-03-02T19:37:31.623" LastActivityDate="2013-03-02T19:37:31.623" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="16716" PostTypeId="2" ParentId="16694" CreationDate="2013-03-03T01:21:49.370" Score="2" Body="&lt;p&gt;This problem has an algorithm of time complexity that is polynomial in N, T and U (but not in polynomial in the size of N, T and U). This technicality is worth noting since the problem instances can be described by specifying just the integers T, U and N and hence strictly speaking the size of the input to this problem is O(log N + log T + log U). So in order to get a polynomial time algorithm, you should assume that the inputs are given in unary.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One can create an acyclic graph G with O(T*U*N) nodes with source s and sink t such that the number of paths from s to t is exactly the solution.  &lt;/p&gt;&#xA;" OwnerUserId="14004" LastActivityDate="2013-03-03T01:21:49.370" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16720" PostTypeId="1" AcceptedAnswerId="16724" CreationDate="2013-03-03T11:07:34.427" Score="4" ViewCount="1349" Body="&lt;p&gt;I need a data structure that stores a sequence of numbers and supports the following operations.  The input to each operation includes the position of an item in the current sequence (&lt;em&gt;not&lt;/em&gt; the value or the memory address of that item).&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;$\mathtt{NearestSmaller}(i)$: Return the &lt;em&gt;value&lt;/em&gt; of the last item in the sequence that occurs before position $i$ and whose value is less than the value at position $i$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;$\mathtt{InsertBefore}(x, i)$: Insert a new item with value $x$ into the sequence just before the item with position $i$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;$\mathtt{Delete}(i)$: Delete item at position $i$ from the sequence.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;In short, my question is whether there is a dynamic version of the &lt;a href=&quot;http://en.wikipedia.org/wiki/All_nearest_smaller_values&quot; rel=&quot;nofollow&quot;&gt;all nearest smaller neighbors&lt;/a&gt; algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, if the current sequence is $X = [9,7,3,1,8,12,10,20,15,5]$, then &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;$\mathtt{NearestSmaller}(6)$ should return $8 = X[5]$, and &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;$\mathtt{NearestSmaller}(10)$ should return $1 = X[4]$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="13857" LastEditorUserId="111" LastEditDate="2013-03-05T18:51:11.663" LastActivityDate="2013-03-05T18:51:11.663" Title="Dynamic Data structure for All nearest smaller values" Tags="&lt;ds.data-structures&gt;&lt;dynamic-algorithms&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16723" PostTypeId="1" CreationDate="2013-03-03T16:22:57.607" Score="26" ViewCount="2337" Body="&lt;p&gt;I have heard from some senior researchers in theoretical computer science that working in a non-research industry job, even just for a few years, will kill your career as a TCS researcher.&lt;/p&gt;&#xA;&lt;p&gt;However I am suspicious of the claim that the road from being a TCS researcher to a non-research job in the industry is a one-way street. I want to know if this claim is plausible and any implications of making an excursion into a non-research job in the industry in case one later decides to return to a research job in academia.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Do you know examples of people who went to non-research industry jobs after their completing their PhD, worked there for a few years, and successfully made it back into academia as researchers (e.g. got research faculty positions)?&lt;/p&gt;&#xA;&lt;p&gt;If yes, what fraction of senior researchers (tenured) do they constitute in your department or departments you are familiar with?&lt;/p&gt;&#xA;&lt;p&gt;What fraction of such candidates who apply for academic research positions fail to obtain one?&lt;/p&gt;&#xA;&lt;p&gt;Does the number of years in non-research jobs before returning make a difference?&lt;/p&gt;&#xA;&lt;p&gt;More generally, what role would such excursions play in decisions made by hiring committees?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Since the answer may vary from a region to another one (e.g. North America, Europe, etc.) please mention the region you are talking about in your answer.&lt;/p&gt;&#xA;&lt;p&gt;For the purposes of this question, let's consider all jobs in which the main task is conducting (publishable) research as &amp;quot;academia&amp;quot; and all jobs in which the main task is not conducting (publishable) research and it is difficult to do research and publish papers as &amp;quot;industry&amp;quot;.&lt;/p&gt;&#xA;" OwnerUserId="239" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2013-03-08T19:56:46.887" Title="Can one return to a TCS research job after an excursion to a non-research industry job?" Tags="&lt;soft-question&gt;&lt;advice-request&gt;&lt;career&gt;" AnswerCount="6" CommentCount="16" FavoriteCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="16724" PostTypeId="2" ParentId="16720" CreationDate="2013-03-03T17:38:55.087" Score="7" Body="&lt;p&gt;If you modify a balanced binary search tree (whose inorder traversal is the sequence order) so that each node stores the minimum value of its descendants (and if you know the path to x) then you can easily find the nearest smaller value: it must either be on the path to x, or in a left subtree descending from the path. In the first case, you have a logarithmic number of nodes to check, and in the second case you can use the extra information to find the closest left subtree with a value smaller than x and then descend through it along the rightmost path that still has a value smaller than x. So the time per query or update is logarithmic.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edited to add: Now that you have clarified that you want to identify items in the sequence by their position, you should also augment the search tree so that each node stores its number of descendants. With this information, it is straightforward to find the path to the item at position $i$, in logarithmic time, matching the time described above for the NearestSmaller query.&lt;/p&gt;&#xA;" OwnerUserId="95" LastEditorUserId="95" LastEditDate="2013-03-05T02:07:01.793" LastActivityDate="2013-03-05T02:07:01.793" CommentCount="15" ContentLicense="CC BY-SA 3.0" />
  <row Id="16725" PostTypeId="1" CreationDate="2013-03-03T19:50:43.977" Score="5" ViewCount="165" Body="&lt;p&gt;&lt;em&gt;(This question &lt;a href=&quot;https://math.stackexchange.com/questions/316353/the-regularity-of-markov-chains-with-a-threshold/&quot;&gt;has been asked on math.se&lt;/a&gt;, with no response.)&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am studying Paz's &quot;Introduction to Probabilistic Automata&quot; and there is an exercise I cannot solve:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;em&gt;Ex. 11, p. 170&lt;/em&gt;: Let $\Sigma = \{a\}$.  Show that the number of nonregular events of the form $\{x \mid p^A(x) &amp;gt; \lambda\} \subseteq \Sigma^*$, where $A$ is a given $n$-state probabilistic automaton over $\Sigma$ is $\leq n$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;(Recall that a probabilistic automaton is simply an automaton where each transition has a given probability of crossing; then  $p^A(x)$ is the probability of acceptance of $x$, that is, the probability that starting from the initial state the automaton reaches a final state after $|x|$ transitions.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I can rephrase it, for instance, as:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Let $M$ be a stochastic matrix of dimension $n \times n$ and $a$ be a letter.  There are at most $n$ different values of $\lambda \in [0,1]$ for which  $\{a^k \mid (1, 0, \ldots, 0)M^k(0,\ldots,0,1)^{\mbox{T}} &amp;gt; \lambda\}$ is nonregular.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I am strongly interested in the form those nonregular languages may have, so this could be a good start.  Any help?&lt;/p&gt;&#xA;" OwnerUserId="88" LastEditorUserId="-1" LastEditDate="2017-04-13T12:19:19.363" LastActivityDate="2013-04-13T19:04:49.450" Title="The regularity of Markov chains with a threshold" Tags="&lt;fl.formal-languages&gt;&lt;regular-language&gt;&lt;markov-chains&gt;&lt;probabilistic-automata&gt;&lt;stochastic-process&gt;" AnswerCount="0" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16726" PostTypeId="2" ParentId="5696" CreationDate="2013-03-03T20:52:15.657" Score="18" Body="&lt;p&gt;LCF is indeed the grand-father of all these system: Coq, Isabelle, HOLs, including the ML programming language (which we see today as OCaml, SML, also F#).  Yes, I am including Coq as a member of the greater LCF family.  Compared to the US-American proof assistants (notably ACL2), or the totally unrelated Mizar, Coq is culturally quite close to Isabelle and the HOLs, mainly due the shared idea of &lt;em&gt;tactics&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So what are tactics anyway, stripped from accidental observations about rewriting, conversions, introducing or eliminating connectives?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The main layering principle here is inherited from Milner's LCF:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Core inferences (forward reasoning), either as abstract datatype &lt;code&gt;thm&lt;/code&gt; in the original LCF-approach, or with separate checking of proof terms in the Type-Theory branch of the family (Coq, Matita).  This gives you a certain &lt;em&gt;logical foundation&lt;/em&gt; for results that the prover considers as theorems.  So you could have a primitive inference that takes ⊢ A and ⊢ B and gives you ⊢ A ∧ B.  Another primitive inference could give you ⊢ t = u, where u is the beta-normal form of t.  None of these mechanisms are tactics, though, they are &lt;em&gt;inference rules&lt;/em&gt; as in standard logic.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Goal-directed proof (backwards reasoning).  The idea is you operate on some notion of &quot;goal state&quot; by refining it, splitting it up into more and more subgoals, close subgoals, until it is all solved.  Finishing off the goal state, will make a certain theorem pop out of the process.  LCF has introduced certain extra-logical infrastructure for goals, which is still there in the HOLs: a tactic is some ML function that refines a goal, and produces some justification for the refinement.  In the very end of the proof, the justfications are replayed in reverse order to produce a proof in forward manner according to the primitive inferences sketched above.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Coq and Matita are still pretty close to this LCF principle.  Isabelle is different here: as early as 1989, Larry Paulson reformed the notions of goal and tactic to make them closer to the logic, which is the &quot;Pure&quot; logical framework of Isabelle here.  Isabelle/Pure provides minimal higher-order logic with implication ==&gt; and quantifier !! which indicate both the structure of natural deduction rules and goal states.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, ⊢ A ==&gt; B ==&gt; A ∧ B is the conjunction introduction rule (of the object logic) as theorem of the logical framework.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Goal states are just theorems as well, starting with ⊢ C ==&gt; C for your initial claim C, which is refined to ⊢ X ==&gt; Y ==&gt; Z ==&gt; C in intermediate states, where X, Y, Z are the current subgoals, and the process ends with ⊢ C (no subgoals).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now back to tactics, which are more uniform for all these provers: given some notion of goal state (e.g. the Isabelle one above), a &lt;em&gt;tactic&lt;/em&gt; is a function that maps a goal state to (0, 1, or more) follow-up goal states.  Moreover, a &lt;em&gt;tactical&lt;/em&gt; is a combinator of such tactic functions, e.g. to express sequential composition, choice, repeat etc.  In fact, the language of tactics and tacticals is related to the &quot;list of successes&quot; approach of parser combinators.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Tactics allow to describe certain strategies of goal refinements systematically.  They turned out quite successful since their invention in LCF in the 1970/80-ies, but they produce notoriously unreadable proof scripts.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A recent overview of some aspects of tactic languages is given in the paper by A. Asperti et al, PLMMS 2009, see &lt;a href=&quot;http://plmms09.cs.tamu.edu/proceedings.pdf&quot;&gt;workshop proceedings&lt;/a&gt; page 22.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Mizar and Isabelle/Isar have been mentioned as alternative approaches to &lt;em&gt;human-readable structured reasoning&lt;/em&gt;, and they are not based on tactics in that sense.  Mizar is unrelated to the LCF family, so it does not know that tactic terminology.  Isabelle/Isar incorporates the tactical tradition to some extent, but its notion of &lt;em&gt;proof method&lt;/em&gt; is a bit more structured (with explicit Isar proof context, explicit indication of chained facts, and avoidance of internal goal-hacking in the course of reasoning).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Many more reforms and reconsiderations of tactic languages have happened in the past decades.  For example, a recent branch of the Coq community favours SSReflect (by G. Gonthier) instead of the traditional Ltac.&lt;/p&gt;&#xA;" OwnerUserId="14019" LastEditorUserId="14019" LastEditDate="2013-03-04T16:39:04.370" LastActivityDate="2013-03-04T16:39:04.370" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16727" PostTypeId="2" ParentId="1370" CreationDate="2013-03-03T21:08:56.287" Score="14" Body="&lt;p&gt;It is important to understand that there is a spectrum from deep to shallow.  You model the parts of your language deeply that should somehow participate in some inductive argument about the construction of it, the remainder is better left in the shallow see of direct semantics of the substrate of the logic.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, when you want to reason about Hoare Logic, you can model the expression language in a shallow manner, but the outline of the assign-if-while language should be a concrete datatype.  You don't need to enter the structure of x + y or a &amp;lt; b, but you need to work with &lt;code&gt;while&lt;/code&gt; etc.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the other answers there were allusions to dependent types.  This reminds of the ancient problem to represent &lt;em&gt;languages with binders&lt;/em&gt; in a sane way, such that they are as shallow as possible, but still admit some inductive arguments.  My impression is that the jury is still out judging about all the different approaches and papers that have emerged in the past 10-20 years on that subject.  The &quot;POPLmark challenge&quot; for the different proof assistant communities was also about that to some extent.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Oddly, in classic HOL &lt;em&gt;without&lt;/em&gt; dependent types, the HOL-Nominal approach by C. Urban worked quite well for shallow binding, although it did not catch up with the cultural shifts in these communities of programming-language formalization.&lt;/p&gt;&#xA;" OwnerUserId="14019" LastActivityDate="2013-03-03T21:08:56.287" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16728" PostTypeId="2" ParentId="16723" CreationDate="2013-03-04T00:33:01.650" Score="14" Body="&lt;p&gt;A number of theory faculty (David Karger, Tom Leighton, Shang-hua Teng among others) went to Akamai when it started, and then returned. Rina Panigrahy is not theory faculty, but worked at Cisco for many years before returning to &quot;academia&quot; in MSR. Ken Clarkson was at Lucent the whole time before going to IBM, but spent a number of years &quot;essentially&quot; in a business unit working on a wireless project before &quot;returning&quot; to research full time. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2013-03-04T00:33:01.650" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="16730" PostTypeId="1" AcceptedAnswerId="19182" CreationDate="2013-03-04T08:48:16.890" Score="6" ViewCount="764" Body="&lt;p&gt;Let $f: \{-1,1\}^n \rightarrow \{-1,1\}$ be a Boolean function.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The Fourier expansion of $f$ is&#xA;$$f(T) = \sum_{S \subseteq [n]} \widehat{f}(S)\ \chi_S(T)$$ &#xA;where $\widehat{f}(S)$ are real numbers and $\chi_S(T)=\Pi_{i \in S} T_i$ is a parity function.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $d$ be the degree of the the Fourier expansion of $f$, i.e. &#xA;$d= \max_{\widehat{f}(S)\neq 0} |S|$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;By Parseval's identity we have &#xA;$$\sum_{S \subseteq [n]} \widehat{f}(S)^2=1$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am looking for a bound on&lt;br&gt;&#xA;$$\sum_{S \subseteq [n]} |\widehat{f}(S)|$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think it is bounded by $d$.&#xA;But I have neither a proof nor a counterexample for this claim. Can someone provide a proof or give a counterexample?&lt;/p&gt;&#xA;" OwnerUserId="14028" LastEditorUserId="-1" LastEditDate="2013-03-12T23:32:23.197" LastActivityDate="2013-09-28T19:34:04.537" Title="Is the the spectral norm of a Boolean function bounded by the degree of its Fourier expansion?" Tags="&lt;co.combinatorics&gt;&lt;boolean-functions&gt;&lt;fourier-analysis&gt;" AnswerCount="2" CommentCount="13" ContentLicense="CC BY-SA 3.0" />
  <row Id="16731" PostTypeId="2" ParentId="2255" CreationDate="2013-03-04T11:25:39.893" Score="1" Body="&lt;p&gt;This is my (biased) list of tools:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Isabelle/jEdit for editing the source (both formal &lt;code&gt;.thy&lt;/code&gt; and informal &lt;code&gt;.tex&lt;/code&gt;, while &lt;code&gt;.thy&lt;/code&gt; is the majority).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Isabelle document preparation (which uses pdflatex at the bottom) for the formal to informal transition and typesetting.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The same with &lt;code&gt;foiltex&lt;/code&gt; for slides.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Mercurial (sometimes SVN) for version management.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Note that normally all the papers, theses, books you see published by Isabelle power-users are done with the system itself.&lt;/p&gt;&#xA;" OwnerUserId="14019" LastActivityDate="2013-03-04T11:25:39.893" CommentCount="0" CommunityOwnedDate="2013-03-04T11:25:39.893" ContentLicense="CC BY-SA 3.0" />
  <row Id="16735" PostTypeId="2" ParentId="16723" CreationDate="2013-03-04T14:34:24.210" Score="9" Body="&lt;p&gt;A lot of the senior Computer Scientists in Britain have had industrial experience before they came to work in academics.  Christopher Strachey, the founder of denotational semantics, was a consultant programmer before entering academics.  Tony Hoare, the founder of axiomatic semantics, worked in industry (Eliott Computers) for several years.  Samson Abramsky, who holds the Christopher Strachey Chair at Oxford, in fact developed his interest in Computer Science during his work in industry (GEC).  Cliff Jones, a Fellow of RAEng, worked in IBM, Vienna for several years before coming to do his PhD, and did another stint at a start-up company called Harlequin even afterwards.  I have to say that all of them probably did innovative R&amp;amp;D type of work while in industry, which might be necessary to keep your mind active in thinking about research directions.&lt;/p&gt;&#xA;" OwnerUserId="8519" LastActivityDate="2013-03-04T14:34:24.210" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16736" PostTypeId="2" ParentId="2255" CreationDate="2013-03-04T17:08:08.193" Score="0" Body="&lt;p&gt;Google Scholar has BibTeX citations for (almost all?) research papers. When you search for a paper (e.g. &lt;a href=&quot;http://scholar.google.com/scholar?q=Entscheidungsproblem&quot; rel=&quot;nofollow&quot;&gt;http://scholar.google.com/scholar?q=Entscheidungsproblem&lt;/a&gt;), each result has a link called &quot;Cite&quot; which has an option for &quot;Import into BibTeX&quot;. (Edit: as per comments, these are of course usually not complete -- you may often need to make edits or additions.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you are signed into a Google account, then on the &lt;a href=&quot;http://scholar.google.com/&quot; rel=&quot;nofollow&quot;&gt;scholar homepage&lt;/a&gt;, you can go to &quot;Settings&quot; --&gt; &quot;Show links to import citations into BibTeX&quot; to make this a one-click operation from the search results page.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit: Forgot to mention, the &lt;a href=&quot;http://dl.acm.org/&quot; rel=&quot;nofollow&quot;&gt;ACM Digital library&lt;/a&gt; also has this feature. Look for &quot;Export formats&quot; on the right side of the page. Other sites do too (see the comments) but these are the ones I use most frequently because they are quickest and most likely to have a reference.&lt;/p&gt;&#xA;" OwnerUserId="8243" LastEditorUserId="8243" LastEditDate="2013-03-05T15:42:24.733" LastActivityDate="2013-03-05T15:42:24.733" CommentCount="4" CommunityOwnedDate="2013-03-04T17:08:08.193" ContentLicense="CC BY-SA 3.0" />
  <row Id="16738" PostTypeId="1" CreationDate="2013-03-04T18:59:48.947" Score="3" ViewCount="134" Body="&lt;p&gt;Consider a graph $G=(V,E)$ with nonnegative weight function on the edges $w$.&#xA;How would you express in LP that you want to allow cycles in $G$ with total weight at most $s$ ?&#xA;I've found this while googling:&#xA;$\sum_{v\in S} (d_S(v) -1)x_v \geq b(S)  $ for all $S\subseteq V$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Where $d_S(v)$ is the degree of $v$ in the subgraph $G_s=(S,E[S])$ ($E[S]$ is the set of edges with both endpoints in $G$) and $b(S)=|E[S]|-|S|+1$ and $x_v$ is a boolean variable for all $v \in V$ describing if $x_v$ was picked by the LP. This constraint is for making sure we pick a set of vertices such that if we remove them from the graph it will be acyclic, however, I want to allow cycles of weight at most $s$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(If anyone's interested, it's taken from page 16 &lt;a href=&quot;http://www.cs.toronto.edu/~bor/2420f10/williamson-primal-dual.pdf&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;)&lt;/p&gt;&#xA;" OwnerUserId="13680" LastEditorUserId="-1" LastEditDate="2013-04-13T19:04:32.153" LastActivityDate="2013-04-13T19:04:32.153" Title="Linear programming - How to allow cycles with weight at most s?" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;linear-programming&gt;" AnswerCount="0" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="16739" PostTypeId="2" ParentId="16723" CreationDate="2013-03-05T03:15:58.837" Score="27" Body="&lt;p&gt;Let me disagree with the other responses.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;While there are clearly notable examples of people who can transition to industry and back (see other answers), going to a &lt;em&gt;non-research&lt;/em&gt; industrial position, even for a couple years, will make it very hard to return to academia, unless you're already very famous.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The reason is not because academics look down on industry or will think you &quot;impure,&quot; but rather that it's very hard to stay active publishing when your job requires all your work time be spent on something else.  And if you haven't published anything for a couple years, it will be nearly impossible to convince a hiring committee to choose you over people who have. (Again, this doesn't apply if you already have a Turing award, etc.)  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;But if you can find the time to stay active in research and publish while working in your industry position, then you can still be competitive.  It's just likely to be a losing battle, and your other job responsibilities will realistically probably end up taking priority over research on-the-side.&lt;/p&gt;&#xA;" OwnerUserId="123" LastActivityDate="2013-03-05T03:15:58.837" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16743" PostTypeId="2" ParentId="16723" CreationDate="2013-03-05T07:13:16.677" Score="21" Body="&lt;p&gt;As someone who helps make hiring and grant decisions involving theoretical computer scientists, I don't care about affiliations.  I only care about the quality and impact of the work.  If you've been doing high-quality publishable research, you're hirable.  If you haven't, you're not.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Lots of theoretical computer scientists work in industrial &lt;em&gt;research labs&lt;/em&gt; and then later move to academia.  For example, Chandra Chekuri spent eight years at Bell Labs before moving to UIUC, and Suresh Venkatasubramanian spent seven years at AT&amp;amp;T before moving to Utah.  And there are many other theoretical computer scientists who have started companies while holding an academic position (Herbert Edelsbrunner at Geomagic; Lars Arge at Scalgo; Tom Leighton, Shang-Hua Teng and many others at Akamai); arguably they're &quot;working in industry&quot; too.  And finally, lots of anonymous code monkeys transition back to academia &lt;em&gt;as MS or PhD students&lt;/em&gt; (like me).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But if by &quot;industry&quot; you mean &quot;anonymous code monkey&quot;, then there's essentially no chance of transitioning to a computer science &lt;em&gt;faculty&lt;/em&gt; position.  It's not your &quot;theory purity&quot; that you've lost; if anything, having real-world impact makes you &lt;em&gt;more&lt;/em&gt; marketable.  What you've lost is visibility and impact within the academic &lt;em&gt;research&lt;/em&gt; community.  A large gap in your publication record, &lt;em&gt;for any reason&lt;/em&gt;, raises a red flag.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(I'm on both the faculty recruiting committee and the promotions &amp;amp; tenure committee in a top-10 US computer science department.)&lt;/p&gt;&#xA;" OwnerUserId="111" LastEditorUserId="111" LastEditDate="2013-03-06T18:10:31.497" LastActivityDate="2013-03-06T18:10:31.497" CommentCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="16751" PostTypeId="1" AcceptedAnswerId="18029" CreationDate="2013-03-05T19:48:27.320" Score="9" ViewCount="953" Body="&lt;p&gt;I'm teaching a course on meta-heuristics and need to generate &lt;em&gt;interesting&lt;/em&gt; instances of classic combinatorial problems for the term project. Let's focus on TSP. We are tackling graphs of dimension $200$ and bigger. I tried of course to generate a graph with a cost matrix with values taken from a random $U(0,1)$, and found out that (as expected) the histogram for the path cost (drawn by sampling a lot of random paths) has a very narrow normal distribution ($\mu$ is $~100$ but $\sigma$ is around $4$). This means, in my opinion, that the problem is very easy, since most random paths will be below the average, and the minimum cost path is very close to a random path. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;So I tried the following approach: After generating the $U(0,1)$-matrix, take a long random walk around the graph, and randomly (Bernoulli with $p=0.5$) double or halve the value of the edge. This tends to lower all values, eventually reaching zero, but if I take just the right number of steps, I can get a distribution with $\mu$ around $2$ and $\sigma$ around $1$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is, first, is this even a good definition for an &lt;em&gt;interesting&lt;/em&gt; problem? Ideally I would want an instance that is highly multi-modal (for the most common neighborhood functions), and that has very few paths near the minimum value, so that most random solutions will be very far from the optimum. The second question is, given this description, how can I generate instances with such characteristics?&lt;/p&gt;&#xA;" OwnerUserId="9990" LastEditorUserId="-1" LastEditDate="2013-04-13T19:04:26.310" LastActivityDate="2013-06-16T18:40:16.457" Title="Generating interesting combinatorial optimization problems" Tags="&lt;ds.algorithms&gt;&lt;co.combinatorics&gt;&lt;optimization&gt;&lt;tsp&gt;&lt;heuristics&gt;" AnswerCount="2" CommentCount="6" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="16752" PostTypeId="1" CreationDate="2013-03-05T21:24:30.223" Score="1" ViewCount="254" Body="&lt;p&gt;Last year I attended Scott Aaronson's talk &lt;em&gt;&lt;a href=&quot;http://www.scottaaronson.com/talks/classquant.ppt&quot; rel=&quot;nofollow&quot;&gt;Hawking Quantum Wares at the Classical Complexity Bazaar&lt;/a&gt;&lt;/em&gt;. Being intrigued by his argument that &quot;[e]ven if quantum mechanics hadn't existed, theoretical computer scientists would eventually have had to invent it&quot;, I have been thinking about how we can derive the first and second quantization in quantum mechanics from theoretical computer science.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First quantization is basically the quantization of properties of a unit quantum system and second quantization is the quantization of the electromagnetic field. Is there some way that theoretical computer science could entail these two ideas? I can recognize some &quot;quantumnesses&quot; in theoretical computer science, including&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;enumeration of set elements,&lt;/li&gt;&#xA;&lt;li&gt;enumeration of interactions with oracles, and&lt;/li&gt;&#xA;&lt;li&gt;discrete states of Turing machine,&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;but I am having a hard time relating them to first and second quantization.&lt;/p&gt;&#xA;" OwnerUserId="13408" LastEditorUserId="4193" LastEditDate="2013-03-05T21:55:18.700" LastActivityDate="2013-03-06T20:36:55.437" Title="1st &amp; 2nd quantization from TCS" Tags="&lt;quantum-computing&gt;&lt;quantum-information&gt;" AnswerCount="1" CommentCount="9" FavoriteCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16753" PostTypeId="2" ParentId="16652" CreationDate="2013-03-05T21:55:04.243" Score="4" Body="&lt;p&gt;I think that I found a partial (although quite disappointing) answer to my problem:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I stumbled across this paper (2007):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&quot;&lt;em&gt;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.95.9040&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;nofollow&quot;&gt;The Complexity of Three-Dimensional Channel Routing&lt;/a&gt;&quot;&lt;/em&gt; by     Satoshi Tayu and Shuichi Ueno&lt;/p&gt;&#xA;&#xA;&lt;p&gt;They show (Theorem 4) that the &quot;3d-channel routing problem&quot; with &quot;2-nets&quot; and dimension $p,q$ can be solved if and only if the corresponding (check article for more details) $p \times q-1$ puzzle can be solved.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Below Theorem 1 they propose some problem they call &quot;2.5-D CHANNEL ROUTING&quot;, which is basically &quot;3d-channel routing&quot; with fixed depth $k$. They also say &quot;the complexity of&#xA;the following problem [2.5-D Channel Routing] is open for any fxed integer $k \geq 2$&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we knew that the decision version of the $p \times q-1$ puzzle is NP-Complete for some fixed $k \geq 2$ we would also know that 2.5-D Channel Routing is difficult for that $k$, therefore it seems the question can be reduced to some open problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It could of course be that the answer to my question would be that $p \times q-1$ puzzle is in P for all fixed $k$, which would still leave their question open (as the general routing doesn't only handle $2$-Nets). Therefore this is no complete answer, it is also rather disappointing that they include no references when claiming that the problem is still open.&lt;/p&gt;&#xA;" OwnerUserId="13956" LastActivityDate="2013-03-05T21:55:04.243" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16755" PostTypeId="2" ParentId="11797" CreationDate="2013-03-05T22:54:46.980" Score="1" Body="&lt;p&gt;here is a broad, highly researched/detailed 9p online survey/retrospective of Turing's specific and more general/longrange contributions in the Notices of the American Mathematical Society by SB Cooper for the 100th anniversary, &lt;a href=&quot;http://www.ams.org/notices/201206/rtx120600776p.pdf&quot; rel=&quot;nofollow&quot;&gt;Incomputability after&#xA;Alan Turing&lt;/a&gt;. some other contributions mentioned in this survey:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;em&gt;Rounding-off errors in matrix processes&lt;/em&gt; paper, 1948. influential in numerical&#xA;analysis and scientific computation in the theory of computation&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;unpublished 1948 National Physical Laboratory report&#xA;&lt;em&gt;Intelligent Machinery&lt;/em&gt; describes an early &lt;a href=&quot;http://en.wikipedia.org/wiki/Connectionism&quot; rel=&quot;nofollow&quot;&gt;connectionist&lt;/a&gt; model, similar and contemporaneous with the famous &lt;a href=&quot;http://en.wikipedia.org/wiki/McCulloch%E2%80%93Pitts_neuron&quot; rel=&quot;nofollow&quot;&gt;McCulloch and Pitts neural nets&lt;/a&gt;. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;points out Turing's analysis and theory of &lt;a href=&quot;http://en.wikipedia.org/wiki/Morphogenesis&quot; rel=&quot;nofollow&quot;&gt;morphogenesis&lt;/a&gt; can be regarded as the early intellectual foundation of massive (and still ongoing/active) later theory in &lt;a href=&quot;http://en.wikipedia.org/wiki/Self-organization&quot; rel=&quot;nofollow&quot;&gt;self-organization&lt;/a&gt; and &lt;a href=&quot;http://en.wikipedia.org/wiki/Emergence&quot; rel=&quot;nofollow&quot;&gt;emergent phenomena&lt;/a&gt;. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;(etc)&lt;/p&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2013-03-05T22:54:46.980" CommentCount="1" CommunityOwnedDate="2013-03-05T22:54:46.980" ContentLicense="CC BY-SA 3.0" />
  <row Id="16757" PostTypeId="1" CreationDate="2013-03-06T10:44:52.407" Score="0" ViewCount="88" Body="&lt;p&gt;As we know that the upper bound for the spectral norm of a Boolean function on $n$ variables is $2^{n/2}$. &#xA;Is it possible to improve this bound..?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can somebody provide me an example of a Boolean function whose spectral norm is more than the degree of the Fourier expansion of $f$ &lt;/p&gt;&#xA;" OwnerUserId="14028" LastActivityDate="2013-03-06T10:44:52.407" Title="Bound for the spectral norm of a boolean function" Tags="&lt;co.combinatorics&gt;&lt;boolean-functions&gt;&lt;fourier-analysis&gt;" AnswerCount="0" CommentCount="3" ClosedDate="2013-03-12T23:21:39.067" ContentLicense="CC BY-SA 3.0" />
  <row Id="16758" PostTypeId="1" CreationDate="2013-03-06T10:48:33.480" Score="2" ViewCount="153" Body="&lt;p&gt;As we all know, satisfiability of Boolean circuits is NP-complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am wondering if there are any studies of circuits with infinite inputs?&#xA;That is, suppose the input is from the set $\{0,1\}^\omega$ (countable sequences of $0,1$). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another model I am interested in is arithmetic circuits, specifically with the gates $\min\{x,y\},1-x$, and $\frac12 x+\frac12 y$, with inputs in $[0,1]^\omega$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The first observation is that if the circuits are finite with bounded fan-in, then this is equivalent to the model with finite inputs. So we must consider infinite circuits, or at least infinite fan-in.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Clearly, the satisfiability problem in general will be undecidable, since we can encode the behavior of a TM with an infinite circuit.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, there are circuit classes for which the problem is interesting. For example, we can require our gates to represent the temporal operators of $LTL$ (where we have a finite depth circuit with infinite fan-in), which makes the satisfiability problem PSPACE complete &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there other known models with interesting results?&lt;/p&gt;&#xA;" OwnerUserId="7531" LastEditorUserId="-1" LastEditDate="2013-04-13T19:04:01.243" LastActivityDate="2013-04-13T19:04:01.243" Title="Satisfiability of circuits with infinite input" Tags="&lt;cc.complexity-theory&gt;&lt;circuit-families&gt;&lt;arithmetic-circuits&gt;&lt;temporal-logic&gt;" AnswerCount="0" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="16764" PostTypeId="1" CreationDate="2013-03-06T14:06:19.160" Score="10" ViewCount="335" Body="&lt;p&gt;I am writing my master's thesis in CS and I am working with alias analysis. The thing that I am interested in is intraprocedural, flow sensitive must- and may-alias analysis for Java-like languages.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am searching for texts that describe the basics of this subject in a detailed way but has been unable to locate anything really suitable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have survived a number of text books on compilers and static analysis but not found anything there.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have found many papers where alias analysis is used, but most of them are focused on the problem to which alias analysis is applied and do not describe the alias analysis algorithms in detail. Others focus on C which is not suitably because of the added complexity of general pointers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The best text I have found is the paper &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.21.4613&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;nofollow&quot; title=&quot;Compositional Pointer and Escape Analysis for Java Programs&quot;&gt;Compositional Pointer and Escape Analysis for Java Programs&lt;/a&gt; by Whaley and Rinard. It is a brilliant paper and a good starting point but it doesn't discuss alias analysis specifically.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem seems so general so I expected there to be some canonical algorithms available to solve it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does anyone have any pointers to texts on this subject?&lt;/p&gt;&#xA;" OwnerUserId="14067" LastEditorUserId="14067" LastEditDate="2013-11-28T18:29:34.200" LastActivityDate="2013-11-28T18:29:34.200" Title="Literature on alias analysis" Tags="&lt;reference-request&gt;&lt;pl.programming-languages&gt;&lt;compilers&gt;&lt;program-analysis&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16765" PostTypeId="2" ParentId="16764" CreationDate="2013-03-06T14:32:25.980" Score="9" Body="&lt;p&gt;There's a very recent survey paper available on &lt;a href=&quot;http://researcher.watson.ibm.com/researcher/files/us-msridhar/aliasAnalysisSurvey.pdf&quot;&gt;Alias Analysis for Object-Oriented Programs&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It will be published in April in the LNCS state-of-the-art volume (gratuitous advertising alert): &lt;em&gt;&lt;a href=&quot;http://www.springer.com/computer/swe/book/978-3-642-36945-2&quot;&gt;Aliasing in Object-Oriented Programming&lt;/a&gt;: &#xA;Types, Analysis and Verification.&lt;/em&gt; Lecture Notes in Computer Science, Vol. 7850. Dave Clarke, Tobias Wrigstad, James Noble (Eds.)&lt;/p&gt;&#xA;" OwnerUserId="77" LastActivityDate="2013-03-06T14:32:25.980" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16766" PostTypeId="2" ParentId="16681" CreationDate="2013-03-06T15:32:01.350" Score="5" Body="&lt;p&gt;They gave the wrong reference, for whatever reason, as have you have found out by yourself.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The blocking flow method you are supposed to use is the one given in&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://publications.csail.mit.edu/lcs/pubs/pdf/MIT-LCS-TM-333.pdf&quot;&gt;http://publications.csail.mit.edu/lcs/pubs/pdf/MIT-LCS-TM-333.pdf&lt;/a&gt;,&#xA;Section 8.3.&lt;/p&gt;&#xA;" OwnerUserId="304" LastActivityDate="2013-03-06T15:32:01.350" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16767" PostTypeId="2" ParentId="12762" CreationDate="2013-03-06T16:48:11.130" Score="1" Body="&lt;p&gt;Visualization of clusters.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The same ordered display can be used for illustrating the clustering density in different regions of the data space. The density of the reference vectors of an organized map will reflect the density of the input samples [Kohonen, 1995c, Ritter, 1991]. In clustered areas the reference vectors will be close to each other, and in the empty space between the clusters they will be more sparse. Thus, the cluster structure in the data set can be brought visible by displaying the distances between reference vectors of neighboring units [Kraaijveld et al., 1992, Kraaijveld et al., 1995, Ultsch, 1993b, Ultsch and Siemon, 1990].&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The cluster display may be constructed as follows [Iivarinen et al., 1994]. The distance between each pair of reference vectors is computed and scaled so that the distances fit between a given minimum and maximum value, after optionally removing outliers. On the map display each scaled distance value determines the gray level or color of the point that is in the middle of the corresponding map units. The gray level values in the points corresponding to the map units themselves are set to the average of some of the nearest distance values (on a hexagonal grid, e.g., to the average of three of the six distances toward the lower-right corner). After these values have been set up, they can be visualized as such on the display, or smoothed spatially.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The resulting cluster diagram is very general in the sense that nothing needs to be assumed about the shapes of the clusters. Most of the clustering algorithms prefer clusters of certain shapes [Jain and Dubes, 1988]. &lt;/p&gt;&#xA;" OwnerUserId="14069" LastActivityDate="2013-03-06T16:48:11.130" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16768" PostTypeId="2" ParentId="16723" CreationDate="2013-03-06T18:56:56.340" Score="17" Body="&lt;p&gt;Here is one &quot;active&quot; example I know of -- I hope he is not embarrassed...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Andreas Bjorklund has been extraordinarily productive in TCS over the last several years, while maintaining a full-time job in industry. You may wish to contact him, to find out how he does it! At this point, I think his research record is impressive enough to gain a faculty position somewhere, if he wanted that.&lt;/p&gt;&#xA;" OwnerUserId="225" LastActivityDate="2013-03-06T18:56:56.340" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="16770" PostTypeId="2" ParentId="16752" CreationDate="2013-03-06T20:36:55.437" Score="1" Body="&lt;p&gt;I would amend your definition of second quantization.  It is not a procedure that is applied only to the electromagnetic field.  It is more properly a process in which something like the Schrodinger equation is re-interpreted as a classical field, which is then quantized.  This is the standard old-fashioned way to move from single-particle quantum systems to multi-particle quantum systems in which particle creation and annihilation can be described via unitary operators.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm not sure that the paradigm of second-quantization makes sense in the context of quantum computation.  To do so, one would need to interpret the &quot;first-quantized&quot; theory as a system which conserves something like particle number.  The &quot;second-quantized&quot; theory allows for a description of systems with different particle numbers.  Qubits obey neither Bose-Einstein nor Fermi-Dirac statistics and thus there is nothing analogous to &quot;particle-number&quot; in a qubit system.  From this point of view it is hard to see that &quot;second-quantizing&quot; a qubit system would lead to something sensible.&lt;/p&gt;&#xA;" OwnerUserId="14076" LastActivityDate="2013-03-06T20:36:55.437" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16771" PostTypeId="1" CreationDate="2013-03-06T20:49:55.983" Score="4" ViewCount="131" Body="&lt;p&gt;Fix a constant $0&amp;lt;\alpha&amp;lt;1/2$. The problem is the following. Suppose there are $N$ axis-parallel rectangles on the 2D plane with weights $w_1, w_2,\ldots, w_N$ and with coordinates all in the range $[0,M]$ for some $M$. Let $W=\sum w_i$. Find a simple (i.e. non self-intersecting) curve that partitions them into two sets of rectangles such that each set has total weight at least $\alpha W$ and the total weight of all rectangles cut by the curve is as small as possible, or output that no such curve exists. This is NP-complete, and I'm interested in a good heuristic/approximation algorithms with $O(N+poly(M))$ time (or more exactly $O(N+poly(M)+polylog(W))$ time).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A thorough search doesn't give me any reference in literature that studies this problem. Any insight is appreciated!&lt;/p&gt;&#xA;" OwnerUserId="14074" LastActivityDate="2013-03-08T04:15:18.183" Title="Balanced partitioning of a set of axis-parallel 2D rectangles" Tags="&lt;cg.comp-geom&gt;&lt;heuristics&gt;&lt;convex-geometry&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16773" PostTypeId="1" AcceptedAnswerId="16774" CreationDate="2013-03-07T08:27:45.693" Score="14" ViewCount="781" Body="&lt;p&gt;From the comments on &lt;a href=&quot;https://mathoverflow.net/questions/122616/is-integer-gcd-in-nc&quot;&gt;one of my questions on MathOverflow&lt;/a&gt; &#xA;I get the feeling that the question regarding GCD being in $\mathsf{NC}$ vs. $\mathsf{P}$ is akin to the question regarding Integer Factorization being in $\mathsf{P}$ vs. $\mathsf{NP}$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there something like a &quot;quantum $\mathsf{NC}$&quot; algorithm for GCD as there is a quantum polynomial time ($\mathsf{BQP}$) algorithm for Integer Factorization?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Related question: &lt;a href=&quot;https://cstheory.stackexchange.com/questions/2708/complexity-of-greatest-common-divisor-gcd&quot;&gt;complexity of greatest common divisor (gcd)&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="1812" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2013-03-12T00:21:27.613" Title="Is there a quantum NC algorithm for computing GCD?" Tags="&lt;cc.complexity-theory&gt;&lt;quantum-computing&gt;&lt;dc.parallel-comp&gt;&lt;nt.number-theory&gt;&lt;comp-number-theory&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="16774" PostTypeId="2" ParentId="16773" CreationDate="2013-03-07T09:55:50.317" Score="14" Body="&lt;p&gt;First of all, there is a formal definition of &quot;quantum-NC&quot;, see &lt;a href=&quot;https://complexityzoo.uwaterloo.ca/Complexity_Zoo%3aQ#qnc&quot;&gt;QNC&lt;/a&gt; on the zoo.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;GCD is indeed a good candidate for a problem that could be shown to be in QNC, but it's not known to be in NC. However, finding a QNC algorithm for GCD is still an open problem. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The feeling for which this is believed to be true comes from the fact that the Quantum Fourier Transform can be done in QNC.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Reference: Conclusion section of &quot;R. Cleve and J. Watrous, Fast parallel circuits for the quantum Fourier transform&quot;, &lt;a href=&quot;http://arxiv.org/abs/quant-ph/0006004&quot;&gt;arXiv:quant-ph/0006004&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="1542" LastEditorUserId="1542" LastEditDate="2013-03-08T13:19:25.263" LastActivityDate="2013-03-08T13:19:25.263" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="16775" PostTypeId="1" AcceptedAnswerId="16782" CreationDate="2013-03-07T10:06:30.710" Score="11" ViewCount="592" Body="&lt;p&gt;I have a few questions regarding fooling constant depth circuits.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;It's known that $\log^{O(d)}(n)$-wise independence is &lt;em&gt;necessary&lt;/em&gt; to fool $AC^0$ circuits of depth $d$, where $n$ is the size of the input. How can one prove this?&lt;/li&gt;&#xA;&lt;li&gt;Since the above is true, any pseudorandom generator that fools $AC^0$ circuits of depth $d$ must necessarily have seed length $l = \Omega(\log^d(n))$, which would then mean that one cannot expect to prove $RAC^0 = AC^0$ via PRGs. I believe $RAC^0 \stackrel{?}{=} AC^0$ is still an open question, so this means that one has to use techniques other than PRGs to prove $RAC^0 = AC^0$. I find this weird because, at least in the case of $P \stackrel{?}{=} BPP$, we believe that PRGs are essentially the &lt;em&gt;only&lt;/em&gt; way to go about answering this question.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;I think I am missing something really basic here.&lt;/p&gt;&#xA;" OwnerDisplayName="user1694" LastEditorUserId="-1" LastEditDate="2013-04-13T19:04:10.743" LastActivityDate="2013-04-13T19:04:10.743" Title="On fooling $AC^0$" Tags="&lt;cc.complexity-theory&gt;&lt;cr.crypto-security&gt;&lt;circuit-complexity&gt;&lt;derandomization&gt;&lt;pseudorandom-generators&gt;" AnswerCount="2" CommentCount="4" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="16776" PostTypeId="1" AcceptedAnswerId="16781" CreationDate="2013-03-07T11:44:10.720" Score="9" ViewCount="325" Body="&lt;p&gt;I saw some people uses Krivine's notation for function application when presenting the syntax for the $\lambda$-calculus.  For example, the $\lambda$-term $\lambda f . \lambda x . \lambda y . f\ x\ y$ (with the normal convention that function application associates to the left, so it actually means $\lambda f . \lambda x . \lambda y . ((f\ x)\ y)$) is written $\lambda f . \lambda x . \lambda y . (f)\ x\ y$ (with a similar convention that it actually means $\lambda f . \lambda x . \lambda y . ((f)\ x)\ y$).  I do not see the point of having another pair of parentheses around the innermost $f$.  Why do people use Krivine's notation instead of the usual one?&lt;/p&gt;&#xA;" OwnerUserId="656" LastEditorUserId="-1" LastEditDate="2013-04-13T19:03:48.227" LastActivityDate="2019-03-27T21:54:27.660" Title="What is the benefit of Krivine's notation?" Tags="&lt;lo.logic&gt;&lt;lambda-calculus&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16777" PostTypeId="1" CreationDate="2013-03-07T11:54:32.733" Score="2" ViewCount="207" Body="&lt;p&gt;If you have a very large data set of $n$ vectors and you want to cluster them according to some metric measure, what is the current state of the art when you can not afford to do more than $\Theta(n)$ work?  I am interested in methods that work well in practice as well as having nice theoretical properties.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A web search brings up &quot;A sublinear time approximation scheme for clustering in metric spaces&quot; by P. Indyk as the most cited paper in the area.  &lt;/p&gt;&#xA;" OwnerUserId="13917" LastEditorUserId="13917" LastEditDate="2013-03-07T12:38:53.567" LastActivityDate="2013-03-08T00:17:07.113" Title="Clustering massive data sets in practice" Tags="&lt;machine-learning&gt;&lt;clustering&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16778" PostTypeId="2" ParentId="16775" CreationDate="2013-03-07T11:56:36.183" Score="8" Body="&lt;p&gt;Polylog independence may not be the only way to fool $AC^{0}$ circuits. To illustrate this example, consider the class of linear polynomials. Any zero set of a linear polynomial is $(n-1)$-wise independent but of course this doesn't fool linear polynomials. Hence, $(n-1)$-wise independent distributions do not fool this class. This of course doesn't mean that only $n$-wise independent distributions fool this class ($\epsilon$-biased spaces fool them, and are polynomial sized spaces). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I guess what one means when they say &quot;$\log^{O(d)} n$-wise independence is necessary&quot; is that there are examples of distributions with smaller independence, and it is known that they &lt;em&gt;do not&lt;/em&gt; fool $AC^{0}$. &lt;/p&gt;&#xA;" OwnerUserId="877" LastActivityDate="2013-03-07T11:56:36.183" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16779" PostTypeId="1" AcceptedAnswerId="16811" CreationDate="2013-03-07T13:13:39.043" Score="4" ViewCount="933" Body="&lt;p&gt;Is it possible to sort a string of arbitrary length with a finite-state transducer? How big would this transducer be (the smaller the better)? (I'm not a computer scientist, so less technical answers are best.)&lt;/p&gt;&#xA;" OwnerUserId="14047" LastActivityDate="2013-03-12T11:03:15.690" Title="Finite state transducer that sorts" Tags="&lt;automata-theory&gt;&lt;sorting&gt;" AnswerCount="2" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16780" PostTypeId="1" AcceptedAnswerId="16799" CreationDate="2013-03-07T13:35:26.560" Score="13" ViewCount="509" Body="&lt;p&gt;Recall that the &lt;em&gt;width&lt;/em&gt; of a resolution refutation $R$ of a CNF formula $F$ is the maximal number of literals in any clause occurring  in $R$. For every $w$, there are unsatisfiable formulas $F$ in 3-CNF s.t. every resolution refutation of $F$ requires width at least $w$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I need a concrete example of an unsatisfiable formula in 3-CNF (as small and simple as possible) that has no resolution refutation of width 4. &lt;/p&gt;&#xA;" OwnerUserId="6579" LastEditorUserId="-1" LastEditDate="2013-04-13T19:04:12.900" LastActivityDate="2013-04-13T19:04:12.900" Title="A 3-CNF formula that requires resolution width $5$" Tags="&lt;cc.complexity-theory&gt;&lt;lo.logic&gt;&lt;sat&gt;&lt;proof-complexity&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="16781" PostTypeId="2" ParentId="16776" CreationDate="2013-03-07T13:46:21.677" Score="13" Body="&lt;p&gt;I'm assuming you mean Krivine's notation from &lt;a href=&quot;http://www.pps.univ-paris-diderot.fr/~krivine/articles/Lambda.pdf&quot;&gt;&lt;em&gt;Lambda Calculus: Types and Models&lt;/em&gt;&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This notation, used as a data representation, makes many algorithms on lambda-terms simpler to implement and prove correct. That is, given a  lambda term $f\; e_1\; e_2\; \ldots\; e_n$, you want to view it as a &lt;em&gt;head&lt;/em&gt; $f$, together with a &lt;em&gt;list&lt;/em&gt; of arguments $[e_1,  e_2, \ldots, e_n]$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, suppose you want to compare two terms $f\;e_1\;\ldots\; e_n$ with $g\;t_1\;\ldots\;t_n$. It is often most natural to compare the heads $f$ and $g$ first, and not even look at the $(e_i, t_i)$ pairs unless that comparison succeeds. (This often comes up in implementations of higher-order unification.) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;See Cervesato and Pfenning's paper &lt;a href=&quot;http://repository.cmu.edu/cgi/viewcontent.cgi?article=1023&amp;amp;context=compsci&quot;&gt;&lt;em&gt;A Linear Spine Calculus&lt;/em&gt;&lt;/a&gt; for a formalization of this idea. &lt;/p&gt;&#xA;" OwnerUserId="657" LastActivityDate="2013-03-07T13:46:21.677" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16782" PostTypeId="2" ParentId="16775" CreationDate="2013-03-07T14:02:34.713" Score="15" Body="&lt;p&gt;1) What is meant by necessary is that one way to generate a $k$-wise independent distribution is to break the input in blocks of $k+1$ bits, and let the $(k+1)$th bit of each block be the parity of the other $k$ bits in the block.  Obviously this distribution can be broken just by computing parity on $k$ bits.  The result you claim follows from the fact that poly($n$) circuits of depth $d$ can compute parity on $\log^{d-1} n$ bits.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) No.  1) is only talking about a specific construction of $k$-wise independent distributions.  Conceivably there are $O(\log n)$-seed generators that fool poly-size bounded-depth circuits (this also follows from sufficiently strong lower bounds against bounded-depth circuits, though the standard hardness vs. randomness tradeoffs do not suffice, see e.g. the discussion of a paper by Agrawal in Section 3.2 of &lt;a href=&quot;http://www.ccs.neu.edu/home/viola/papers/JournalCCC03.pdf&quot;&gt;http://www.ccs.neu.edu/home/viola/papers/JournalCCC03.pdf&lt;/a&gt;).&lt;/p&gt;&#xA;" OwnerUserId="259" LastEditorUserId="259" LastEditDate="2013-03-07T14:16:31.510" LastActivityDate="2013-03-07T14:16:31.510" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16783" PostTypeId="2" ParentId="16779" CreationDate="2013-03-07T15:07:05.440" Score="6" Body="&lt;p&gt;It is not possible to sort an arbitrary string with a fixed size transducer. For simplicity, let's say you are working over the alphabet $\{0,1\}$, where $0&amp;lt;1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Proof: assume by way of contradiction that there exists such a transducer $A$ with $n$ states. Consider the input $1^{n+1}0$. Since $A$ has $n$ states, it must repeat a state before it finishes reading $1^{n+1}$. Consider what was printed so far. If $0$ was written, then we can consider the run on $1^{n+1}$ alone: it outputs a 0 and therefore $A$ does not sort its input.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $1$ was written, then the transducer is again wrong, since $0$ will follow in $1^{n+1}0$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If nothing was written, then the output is the same if we remove the loop (the run from the state that was repeated, back to itself). So we get the same output for two words that differ in the number of $1's$, which is again wrong.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This proof has some nuances that need to be taken care of, but the ideas are there. &lt;/p&gt;&#xA;" OwnerUserId="7531" LastEditorUserId="14047" LastEditDate="2013-03-08T03:57:22.213" LastActivityDate="2013-03-08T03:57:22.213" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="16784" PostTypeId="1" CreationDate="2013-03-07T16:46:30.483" Score="6" ViewCount="491" Body="&lt;p&gt;Can any tree on $n$ nodes be decomposed into a set of $O(\log n)$ &lt;a href=&quot;http://en.wikipedia.org/wiki/Caterpillar_tree&quot;&gt;caterpillars&lt;/a&gt;? If not, what is the maximum number of caterpillars required? Are there efficient algorithms for finding the decomposition?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any papers on this topic will be highly appreciated.&lt;/p&gt;&#xA;" OwnerUserId="9569" LastActivityDate="2013-03-08T09:47:31.913" Title="Caterpillar decomposition of trees" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;tree&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16785" PostTypeId="1" CreationDate="2013-03-07T17:07:32.843" Score="5" ViewCount="263" Body="&lt;p&gt;Is there a notation that would be like the Big O notation (let's say Big P), but with the following definition:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$f=P(g)$ if there exists a polynomial p such that for n large enough, $f\leq p(g(n))$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It would be quite useful when establishing the complexity class of some problems. If one wants to prove that a problem is in EXPTIME for example, when establishing the complexity of some decision procedure, it is a bit annoying to carry details like $2^{O(np(1+p))}$, when we only need to know that it is exponential in $n+p$. It would be simpler to write $2^{P(n+p)}$. The last time I asked someone, he did not have the answer but had just faced the same situation and wondered also if such a notation exists.&lt;/p&gt;&#xA;" OwnerUserId="14086" LastEditorUserId="-1" LastEditDate="2013-04-13T19:04:03.870" LastActivityDate="2013-04-13T19:04:03.870" Title="Big O notation for &quot;modulo a polynomial&quot;" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;complexity-classes&gt;&lt;notation&gt;" AnswerCount="0" CommentCount="7" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16786" PostTypeId="2" ParentId="16784" CreationDate="2013-03-07T17:14:42.603" Score="12" Body="&lt;p&gt;It seems this is false in general. Take the tree with a central node $x$, connected to a bunch of nodes $y_1,\dots,y_n$. Each node $y_i$ is additionally connected to a node $z_i$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The total number of nodes is $N=2n+1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any caterpillar in this tree can contain at most two $z$ nodes, and therefore, $n/2$ caterpillars are needed to cover it. So it is impossible to cover it with $O(log N)$ caterpillars.&lt;/p&gt;&#xA;" OwnerUserId="8953" LastActivityDate="2013-03-07T17:14:42.603" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16787" PostTypeId="2" ParentId="16688" CreationDate="2013-03-07T18:18:16.213" Score="-2" Body="&lt;p&gt;this research appears to be active in a more applied sense than the theoretical one you mention (ie oracles etc) with &quot;data streaming&quot; algorithms which attempt to work with very large data through &quot;sliding windows&quot;, with many graph algorithms considered, but it is indeed relatively new/recent, fitting in with &lt;a href=&quot;http://en.wikipedia.org/wiki/Big_data&quot; rel=&quot;nofollow&quot;&gt;&quot;big data&quot;&lt;/a&gt; research directions.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.138.2582&quot; rel=&quot;nofollow&quot;&gt;Tradeoff Algorithms in Streaming Models&lt;/a&gt;, Andrea Ribichini, p7:&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;We have devised several algorithms for fundamental graph problems in the&#xA;  W-Stream model, including connected components, minimum spanning tree,&#xA;  biconnected components and single-source shortest paths. To the best of&#xA;  our knowledge, our algorithms are the first to allow effective space/passes&#xA;  tradeoffs for such problems in a data streaming setting.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;this ref includes other refs/surveys which might be helpful.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Despite the heavy restrictions imposed by the [classical streaming] model, major success has&#xA;  been achieved for several data sketching and statistics problems, for which&#xA;  a constant number of passes and polylogarithmic working memory have&#xA;  been proven enough to find approximate solutions (see [4, 16, 17] and the&#xA;  extensive bibliographies in [7, 29]).&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;also: &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://dl.acm.org/citation.cfm?id=1644021&quot; rel=&quot;nofollow&quot;&gt;Trading off space for passes in graph streaming problems&lt;/a&gt;&#xA;Camil Demetrescu,&#xA;Irene Finocchi,&#xA;Andrea Ribichini&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2013-03-07T18:18:16.213" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16788" PostTypeId="1" CreationDate="2013-03-07T18:26:58.213" Score="12" ViewCount="1767" Body="&lt;p&gt;What is the most efficient (in time complexity) algorithm known nowadays for the Divisibity Decision Problem: given two integers, say $a$ and $b$, does $a$ divide $b$? Let it be clear that what I ask for is not (necessarily) an algorithm for Remainder Calculation. I just want to know whether $a$ divides $b$ or not. Being more specific, my question is whether exists or not some recent algorithm for Divisibility with time complexity better than $O(m\log m\log\log m)$, where $m$ is the number of bits of $\max\{a,b\}$. Further, is $\Omega(m\log m\log\log m)$ the lower bound of this problem?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks and regards, and sorry if this is such a naive question.&lt;/p&gt;&#xA;" OwnerUserId="13971" LastActivityDate="2013-07-26T00:49:49.670" Title="What's the most efficient algorithm for Divisibility?" Tags="&lt;time-complexity&gt;&lt;lower-bounds&gt;&lt;nt.number-theory&gt;&lt;primes&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16789" PostTypeId="1" CreationDate="2013-03-07T20:38:48.000" Score="13" ViewCount="191" Body="&lt;p&gt;Let $A$ be the $n\times n$ adjacency matrix of a (non-bipartite) graph. Assume that we are given the amplitudes of its eigenvalues, i.e., $|\lambda_1|=a_1,\ldots, |\lambda_n|=a_n$, and we would like to calculate their signs. Is there a faster way of computing the signs of these eigenvalues, other than recomputing the eigenvalues themselves? &lt;/p&gt;&#xA;" OwnerUserId="6963" LastEditorUserId="-1" LastEditDate="2013-04-13T19:04:15.293" LastActivityDate="2013-04-13T19:04:15.293" Title="Complexity to compute the eigenvalue signs of the adjacency matrix" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;linear-algebra&gt;&lt;spectral-graph-theory&gt;" AnswerCount="0" CommentCount="2" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="16790" PostTypeId="5" CreationDate="2013-03-07T21:45:29.750" Score="0" Body="&lt;p&gt;A proof assistant is an application program that helps humans construct machine-checked proofs.  Typical proof assistants are based on relatively strong logic calculi, like Higher-Order Logic, Set Theory, or variants of Type Theory.  This allows mathematical modeling with a rich formal language, with specifications and proofs similar to pen-and-paper mathematics, but the high assurance provided by mechine-checked proofs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some notable proof assistants (in alphabetical order):&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;ACL2&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Agda&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Automath (historic)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Coq&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;HOL: HOL4, HOL-Light, ProofPower&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Isabelle: with object-logics Isabelle/HOL, Isabelle/ZF&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;LCF (historic)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Mizar&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;NuPRL&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;PVS&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Modern proof assistants integrate a range of automated reasoning tools, which occasionally blurs the boundary between Interactive Theorem Proving (ITP) and Automated Theorem Proving (ATP).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Moreover there is often some integration with computation, as part of the logical foundation or as tool support to turn logical theories into program code.  This coincidence often blurs the boundary between Programming and Proving.&lt;/p&gt;&#xA;" OwnerUserId="14019" LastEditorUserId="14019" LastEditDate="2013-03-08T00:17:15.757" LastActivityDate="2013-03-08T00:17:15.757" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16791" PostTypeId="4" CreationDate="2013-03-07T21:45:29.750" Score="0" Body="A proof assistant is an application program that helps humans construct machine-checked proofs." OwnerUserId="14019" LastEditorUserId="14019" LastEditDate="2013-03-08T00:17:18.363" LastActivityDate="2013-03-08T00:17:18.363" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16792" PostTypeId="2" ParentId="3111" CreationDate="2013-03-07T22:02:06.677" Score="6" Body="&lt;p&gt;Recent funny titles:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;A. Kehagias, P. Pralat, &#xA;&lt;em&gt;Some remarks on cops and drunk robbers&lt;/em&gt;, &#xA;Theoretical Computer Science 463 (2012) 133-147, &#xA;&lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S030439751200789X&quot; rel=&quot;nofollow&quot;&gt;DOI&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;A. Kehagias, D. Mitsche, P. Pralatb, &#xA;&lt;em&gt;Cops and invisible Robbers: The cost of drunkenness&lt;/em&gt;, &#xA;Theoretical Computer Science (2013), &#xA;&lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0304397513001096&quot; rel=&quot;nofollow&quot;&gt;in Press&lt;/a&gt;  &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Natasha Komarov, Peter Winkle, &#xA;&lt;em&gt;Capturing the Drunk Robber on a Graph&lt;/em&gt;, May 2013, &lt;a href=&quot;http://arxiv.org/abs/1305.4559&quot; rel=&quot;nofollow&quot;&gt;arXiv:1305.4559&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="13136" LastEditorUserId="13136" LastEditDate="2013-05-24T13:57:06.380" LastActivityDate="2013-05-24T13:57:06.380" CommentCount="0" CommunityOwnedDate="2013-03-07T22:02:06.677" ContentLicense="CC BY-SA 3.0" />
  <row Id="16793" PostTypeId="2" ParentId="16777" CreationDate="2013-03-08T00:17:07.113" Score="5" Body="&lt;p&gt;At the risk of sounding immodest, I wrote a &lt;a href=&quot;http://www.cs.utah.edu/~suresh/web/2008/03/29/clustering-on-streams/&quot;&gt;short survey on stream clustering&lt;/a&gt; a few years ago. It's a little out of date, but not overly so, and doing forward citations will get you to the recent work in the area. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2013-03-08T00:17:07.113" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16795" PostTypeId="2" ParentId="16771" CreationDate="2013-03-08T04:15:18.183" Score="4" Body="&lt;p&gt;This seems like a hard problem. You might be able to do something if the rectangles have some packing property. For example, if no point is covered more than $t$ times (for some constant T), and the rectangles are not too long and narrow. Then one can probably prove that a curve intersects $O( \sqrt{n})$ rectangles, using some $k$-ply planar separator argument. &lt;/p&gt;&#xA;" OwnerUserId="9594" LastActivityDate="2013-03-08T04:15:18.183" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16797" PostTypeId="2" ParentId="14632" CreationDate="2013-03-08T09:08:28.003" Score="5" Body="&lt;p&gt;There are unfortunate confusions in the way you have posed the question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Programs&lt;/em&gt; have semantics.  &lt;em&gt;Programming Languages&lt;/em&gt; are given semantic definitions.  In more detail: every program has a meaning, either as a computation or as a mathematical function (relation, trace set, strategy,...).  A semantic definition is given for an entire programming language, so that the meaning of &lt;em&gt;every&lt;/em&gt; program in the language is defined.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Programs can also be given &lt;em&gt;specifications&lt;/em&gt;.  While the semantics of the program says what the program &lt;em&gt;means&lt;/em&gt;, its specification states what we &lt;em&gt;care about&lt;/em&gt; its behaviour.  So, the specification can be partial.  It need not state what the program does under all possible situations.  Neither does it need to state everything about the outputs of the program, only the properties we care about.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The sample specification you have shown for the &lt;em&gt;minimum&lt;/em&gt; function is incomplete.  It says that the output has to be smaller than (or equal to) both its inputs, but it does not say that the output must be one of the two inputs.  To make it complete (which is apparently the &quot;intent&quot;), you need to add this condition&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;minimum = a or minimum = b&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;To read about the various techniques used for specifying programs, you might read books like:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;David Gries, Science of Programming&lt;/li&gt;&#xA;&lt;li&gt;John Reynolds, Craft of Programming&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;If you are interested in functional programs rather than imperative programs, then a good starting point is&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Bird and Wadler, Functional Programming&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;For a quick starting point, you might read the lecture Handout on &quot;Specification and Verification of Functional Programs&quot; of my &lt;a href=&quot;http://www.cs.bham.ac.uk/~udr/popl/index.html&quot; rel=&quot;nofollow&quot;&gt;Lecture Notes on Principles of Programming Languages&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="8519" LastEditorUserId="8519" LastEditDate="2013-11-23T14:37:00.813" LastActivityDate="2013-11-23T14:37:00.813" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16798" PostTypeId="2" ParentId="16784" CreationDate="2013-03-08T09:47:31.913" Score="8" Body="&lt;p&gt;I would like to add to dkuper's answer that it is possible to split every tree into a &lt;em&gt;hierarchy&lt;/em&gt; of caterpillars, whose depth is at most $O(\log n)$. This can be done with Tarjan's &lt;a href=&quot;http://wcipeg.com/wiki/Heavy-light_decomposition&quot;&gt;heavy-light edge decompostion&lt;/a&gt;. Just take the maximal heavy-edge paths as the spines of the caterpillars.&lt;/p&gt;&#xA;" OwnerUserId="10092" LastActivityDate="2013-03-08T09:47:31.913" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16799" PostTypeId="2" ParentId="16780" CreationDate="2013-03-08T10:32:08.933" Score="14" Body="&lt;p&gt;The following example comes from the paper which gives a combinatorial characterization of resolution width by Atserias and Dalmau (&lt;a href=&quot;http://dx.doi.org/10.1016/j.jcss.2007.06.025&quot;&gt;Journal&lt;/a&gt;, &lt;a href=&quot;http://eccc.hpi-web.de/eccc-reports/2002/TR02-035/index.html&quot;&gt;ECCC&lt;/a&gt;, &lt;a href=&quot;http://www.lsi.upc.edu/~atserias/papers/width/submitted.pdf&quot;&gt;author's copy&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Theorem 2 of the paper states that, given a CNF formula $F$, resolution refutations of width at most $k$ for $F$ are equivalent to winning strategies for Spoiler in the existential $(k+1)$-pebble game.&#xA;Recall that the existential pebble game is played between two competing players, called Spoiler and Duplicator, and the positions of the game are partial assignments of domain size at most $k+1$ to variables of $F$.&#xA;In the $(k+1)$-pebble game, starting from the empty assignment, Spoiler wants to falsify a clause from $F$ while remembering at most $k+1$ boolean values at a time, and Duplicator wants to prevent Spoiler from doing so.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The example is based on (the negation of) the pigeonhole principle.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;For every $i \in \{1, \dotsc, n+1 \}$ and $j \in \{1, \dotsc, n \}$, let $p_{i,j}$ be a propositional variable meaning that pigeon $i$ sits in hole $j$.&#xA;  For every $i \in \{1, \dotsc, n+1 \}$ and $j \in \{0, \dotsc, n \}$, let $y_{i,j}$ be a new propositional variable.&#xA;  The following $3$-CNF formula ${EP}_i$ expresses that pigeon $i$ sits in some hole:&#xA;  $$ {EP}_i \equiv \neg y_{i,0} \wedge \bigwedge_{j=1}^n (y_{i,j-1} \vee p_{i,j} \vee \neg y_{i,j} ) \wedge y_{i,n}. $$&#xA;  Finally, the $3$-CNF formula ${EPHP}_n^{n+1}$ expressing the negation of the pigeonhole principle is the conjunction of all ${EP}_i$ and all clauses $H_k^{i,j} \equiv \neg p_{i,k} \vee \neg p_{j,k}$ for $i,j \in \{1, \dotsc, n+1 \}, i \ne j$ and $k \in \{1, \dotsc, n \}$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Lemma 6 of the paper gives a fairly short and intuitive proof that Spoiler cannot win the $n$-pebble game on ${EPHP}_n^{n+1}$, hence ${EPHP}_n^{n+1}$ has no resolution refutation of width at most $n-1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The paper has another example in Lemma 9, based on the dense linear order principle.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given that computing the minimum width for resolution refutations is EXPTIME-complete, and moreover it takes $\Omega(n^{(k-3)/12})$ time to certify that the minimum width is at least $k+1$ (see Berkholz's paper in &lt;a href=&quot;http://doi.ieeecomputersociety.org/10.1109/FOCS.2012.48&quot;&gt;FOCS&lt;/a&gt; or &lt;a href=&quot;http://arxiv.org/abs/1204.0775&quot;&gt;arXiv&lt;/a&gt;), perhaps it is hard to come up with examples which provably need wide resolution refutations?&lt;/p&gt;&#xA;" OwnerUserId="13218" LastEditorUserId="13218" LastEditDate="2013-03-09T21:23:39.657" LastActivityDate="2013-03-09T21:23:39.657" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16800" PostTypeId="1" AcceptedAnswerId="16801" CreationDate="2013-03-08T12:39:11.623" Score="7" ViewCount="240" Body="&lt;p&gt;Can anyone give me a reference to the origin of the statement &quot;There is no central arbiter of truth in open distributed systems.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Possibly it was Carl Hewitt in &quot;The Challenge of Open Systems&quot; Byte Magazine. April 1985. Can anyone confirm this?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks&lt;/p&gt;&#xA;" OwnerUserId="14104" LastEditorUserId="80" LastEditDate="2013-03-08T16:30:49.567" LastActivityDate="2013-03-08T16:30:49.567" Title="Who said: &quot;There is no central arbiter of truth in open distributed systems.&quot;" Tags="&lt;reference-request&gt;&lt;dc.distributed-comp&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16801" PostTypeId="2" ParentId="16800" CreationDate="2013-03-08T15:11:51.177" Score="8" Body="&lt;p&gt;The exact quotation seems to be:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&quot;Pluralism: There is no central arbiter of truth in the system.&quot;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;See:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://archive.org/stream/byte-magazine-1985-04/1985_04_BYTE_10-04_Artificial_Intelligence#page/n237/mode/2up&quot;&gt;http://archive.org/stream/byte-magazine-1985-04/1985_04_BYTE_10-04_Artificial_Intelligence#page/n237/mode/2up&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;(p. 239, 2nd bullet point.)&lt;/p&gt;&#xA;" OwnerUserId="74" LastActivityDate="2013-03-08T15:11:51.177" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="16803" PostTypeId="1" AcceptedAnswerId="31947" CreationDate="2013-03-08T19:28:03.983" Score="8" ViewCount="1604" Body="&lt;p&gt;To be able to explain the P vs NP problem to non-mathematicians I would like to have a pedagogical example of when Brute Force-search can be avoided. The problem should ideally be immediately understandable and the trick should neither be too easy nor too hard.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The best I've come up with so far is&lt;/p&gt;&#xA;&#xA;&lt;p&gt;SUBSET_PRODUCT_IS_ZERO&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem is easy to understand (given a set of integers, can a subset with product 0 be formed?), but the trick is too easy (check if 0 is among the given numbers, i.e. it's not necessary to look at a lot of subsets).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any suggestions?&lt;/p&gt;&#xA;" OwnerUserId="14105" LastActivityDate="2015-07-08T18:07:44.557" Title="P vs NP: Instructive example of when Brute Force search can be avoided" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;&lt;soft-question&gt;&lt;complexity-classes&gt;&lt;p-vs-np&gt;" AnswerCount="3" CommentCount="10" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="16804" PostTypeId="2" ParentId="16723" CreationDate="2013-03-08T19:56:46.887" Score="-3" Body="&lt;p&gt;Think about it this way: once you start working in industry at a great company that changes the world (think Google), having lots of success, seeing your real-world impact, having much quicker runs of success (as opposed to trying for ages to solve a hard theory problem which in the end nobody will use and will have zero impact on the world), enjoying your life to the fullest, etc., you will not want to go back to &quot;slave away&quot; in academia. &lt;/p&gt;&#xA;" OwnerUserId="14106" LastActivityDate="2013-03-08T19:56:46.887" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="16806" PostTypeId="1" CreationDate="2013-03-08T20:17:51.457" Score="3" ViewCount="148" Body="&lt;p&gt;Define a function $u:\lbrace 0,1 \rbrace^* \rightarrow \mathbb{R}$ to be an &lt;em&gt;asymptotic optimization problem&lt;/em&gt; when the following conditions hold:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;There is an algorithm $U$ which computes the first $n$ digits of $u(x)$ in time at most $p(2^n, |x|)$ where $p$ is a polynomial&lt;/li&gt;&#xA;&lt;li&gt;There are $a$, $c &amp;gt; 0$ s.t. given $x$ a prefix of $y$ we have $|u(x)-u(y)|&amp;lt;2^{-c|x|}a$&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;It is possible to restrict attention to functions $u:\lbrace 0,1 \rbrace^* \rightarrow [0,1]$ since any function satisfying the 2nd condition can be brought to this form by a linear redefinition&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider $u$, $v$ asymptotic optimization problems. $f: \lbrace 0,1 \rbrace^* \rightarrow \lbrace 0,1 \rbrace^*$ is a called a &lt;em&gt;reduction&lt;/em&gt; of $u$ to $v$ when the following conditions hold:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Given $x$ a prefix of $y$, $f(x)$ is a prefix of $f(y)$&lt;/li&gt;&#xA;&lt;li&gt;For any $u_0 &amp;lt; \sup u$ exists $w(u_0) &amp;lt; \sup v$ s.t. given $s \in \lbrace 0,1 \rbrace^\omega$, if $\lim_{n \rightarrow \infty}v(s_{&amp;lt;n}) &amp;gt; w(u_0)$ then $\lim_{n \rightarrow \infty}u(f(s_{&amp;lt;n})) &amp;gt; u_0$&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The reduction is called polynomial-time when $f$ is computable in polynomial time&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there $u^*$ an asymptotic optimization problem s.t. any asymptotic optimization problem $u$ is reducible to $u^*$ in polynomial time?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="7030" LastEditorUserId="7030" LastEditDate="2013-03-09T13:41:36.133" LastActivityDate="2013-03-09T13:41:36.133" Title="Existence of complete &quot;asymptotic&quot; optimization problems" Tags="&lt;cc.complexity-theory&gt;&lt;optimization&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="16807" PostTypeId="2" ParentId="16803" CreationDate="2013-03-08T20:20:38.297" Score="23" Body="&lt;p&gt;I recommend &lt;a href=&quot;http://www.cs.tau.ac.il/~zwick/papers/jenga-SODA.pdf&quot; rel=&quot;noreferrer&quot;&gt;Jenga&lt;/a&gt;!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assuming you have two perfectly logical, sober, and dextrous players, Jenga is a perfect-information two-player game, just like Checkers or Go.  Suppose the game starts with a stack of $3N$ bricks, with 3 bricks in each level.  For most of the game, each player has $\Theta(N)$ choices at each turn for the next move, and in the absence of stupid mistakes, the number of turns is always between $N$ and $6N$.  So crudely, the game tree has $N^{\Theta(N)}$ states.  If you explored the game tree by brute force, you might spend exponential time to find a winning move or convince yourself that you can't win.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But in fact, &lt;a href=&quot;http://www.cs.tau.ac.il/~zwick/papers/jenga-SODA.pdf&quot; rel=&quot;noreferrer&quot;&gt;Uri Zwick proved in 2005&lt;/a&gt; that you can play Jenga perfectly by keeping track of just three integers, using a simple set of rules that you can easily fit on a business card.  The three numbers you need are&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$m =$ the number of levels (not counting the top level) with three bricks.&lt;/li&gt;&#xA;&lt;li&gt;$n =$ the number of levels (not counting the top level) with two bricks side by side.&lt;/li&gt;&#xA;&lt;li&gt;$t =$ the number of bricks in the top level (0, 1, 2, or 3).&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;In fact, most of the time, you only have to remember $n\bmod 3$ and $m\bmod 3$ instead of $n$ and $m$.  Here is the complete winning strategy:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/qf6Ub.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here I-I means you should move the middle brick from any 3-layer the top, II- means you should move a side brick from a 3-layer to the top, -I- means you should move a side brick from a 2-layer to the top, and the bob-omb means you should &lt;a href=&quot;http://scottpilgrim.wikia.com/wiki/Sex_Bob-omb&quot; rel=&quot;noreferrer&quot;&gt;think about death and get sad and stuff&lt;/a&gt;.  If there's more than one suggested move in a box, you can choose any one of them.  It's trivial to execute this strategy in $O(1)$ time if you already know the triple $(m,n,t)$, or in $O(N)$ time if you don't.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Moral:&lt;/strong&gt; Jenga is only fun if everyone is clumsy and/or drunk.&lt;/p&gt;&#xA;" OwnerUserId="111" LastEditorUserId="111" LastEditDate="2013-03-09T10:06:10.677" LastActivityDate="2013-03-09T10:06:10.677" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16808" PostTypeId="2" ParentId="9502" CreationDate="2013-03-08T20:24:23.987" Score="4" Body="&lt;p&gt;I've found that we can construct a 5 clause example where clause counting fails.  Consider&#xA;the clauses:&#xA;$$(\neg a_1 \lor \neg a_2 \lor b)$$&#xA;$$(\neg a_1 \lor \neg a_2 \lor \neg b)$$&#xA;$$(a_1 \lor a_2 \lor b)$$&#xA;$$(a_1 \lor a_2 \lor c)$$&#xA;$$(a_1 \lor a_2 \lor d)$$&#xA;Here &#xA;$$(\neg a_1 \lor \neg a_2 \lor b \lor c \lor d)$$&#xA;satisfies.  However, clause counting fails to predict this using a single variable as a pick.  Multiple variables (i.e. combinations of variables as picks) are needed to get the correct result.  I've found this to be inefficient, though, compared to existing methods.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For 4-SAT, the situation is similar.  Consider the set of clauses:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$(\neg a_1 \lor \neg a_2 \lor b \lor c) \land (\neg a_1 \lor \neg a_2 \lor \neg b \lor c)\land (\neg a_1 \lor \neg a_2 \lor b \lor \neg c) \land (\neg a_1 \lor \neg a_2 \lor \neg b \lor \neg c) \land$$&#xA;$$(a_1 \lor a_2 \lor b \lor c) \land (a_1 \lor a_2 \lor \neg b \lor c) \land (a_1 \lor a_2 \lor b \lor \neg c) \land$$&#xA;$$(a_1 \lor a_2 \lor d \lor c) \land (a_1 \lor a_2 \lor \neg d \lor c) \land (a_1 \lor a_2 \lor d \lor \neg c)$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Clause counting fails here for 4-SAT, 6 variables, and 10 clauses.  It seems that clause counting isn't worthwhile...&lt;/p&gt;&#xA;" OwnerUserId="1549" LastActivityDate="2013-03-08T20:24:23.987" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16809" PostTypeId="2" ParentId="16803" CreationDate="2013-03-08T23:30:15.787" Score="11" Body="&lt;p&gt;A cashier has to return $x$ cents of change to a customer. Given the coins she has available, can she do it and how?&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Brute force:&lt;/strong&gt; consider all possible collections of coins and see if one of them adds up to $x$.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Non-brute force:&lt;/strong&gt; do it as every cashier does, by dynamic programming.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;There are two variants of the problem:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;em&gt;Easy&lt;/em&gt;: the cashier has unlimited supply of all denominations.&lt;/li&gt;&#xA;&lt;li&gt;&lt;em&gt;Harder:&lt;/em&gt; the cashier has a limited supply of coins.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;The easy variant can be solved with a greedy algorithm. The harder one requires dynamic programming.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Actually, the way to present this is to propose the brute force solution, get people to understand that it is &lt;em&gt;very&lt;/em&gt; inefficient, and then ask them what cashiers do, first for the easy variant, then in the hard one. You should have some examples available that go from easy to nasty.&lt;/p&gt;&#xA;" OwnerUserId="705" LastEditorUserId="705" LastEditDate="2013-03-08T23:35:19.403" LastActivityDate="2013-03-08T23:35:19.403" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16811" PostTypeId="2" ParentId="16779" CreationDate="2013-03-09T12:00:13.763" Score="11" Body="&lt;p&gt;If you allow me to give an answer that uses &quot;technical&quot; terminology: the output of a finite state transducer on any given regular language is again a regular language. The sort of regular $(ab)^*$ equals non-regular $\{ a^nb^n \mid n\ge 0\}$. Thus that cannot be performed by a FST.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(added) The fact that regular languages are closed under FST is a consequence of &lt;em&gt;Nivat's Theorem&lt;/em&gt;. Every FST $T$ can be decomposed into a regular language $R$, and morphisms $g,h$ such that $T(L) = g(h^{-1}(L) \cap R)$. In short $R$ consists of &quot;letters&quot; of the form $(a,b)$ where $a,b$ are from the input and output alphabets respectively (or empty), and $h,g$ select  the input/ output components from those pairs.&lt;/p&gt;&#xA;" OwnerUserId="12122" LastEditorUserId="12122" LastEditDate="2013-03-12T11:03:15.690" LastActivityDate="2013-03-12T11:03:15.690" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="16815" PostTypeId="1" CreationDate="2013-03-10T01:14:42.513" Score="7" ViewCount="152" Body="&lt;p&gt;I'm interested in computing Boolean functions $f:\{0,1\}^n\rightarrow\{0,1\}$ with &lt;a href=&quot;http://minicomplexity.org/machr.php?id=45&quot; rel=&quot;nofollow noreferrer&quot;&gt;two-way finite automata&lt;/a&gt; and I will measure the complexity of a Boolean function by the number of states for the minimal automaton computing this function.&lt;br&gt;&#xA;Automaton $A$ computes $f$ if it recognizes the language $L_f=\left\{ x \in \{ 0, 1 \} ^n | f(x)=1 \right\}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The result that I want to get is that there exist hard Boolean functions - requiring superpolynomial number of states for any &lt;em&gt;probabilistic&lt;/em&gt; (with arbitrary rational probabilities) two-way automaton that computes the function.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This result can be proven for &lt;strong&gt;&lt;em&gt;deterministic&lt;/em&gt;&lt;/strong&gt; automata:  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Theorem.&lt;/strong&gt; There exists an infinite sequence of Boolean functions $f_1, f_2, \ldots$ of $n_1, n_2, \ldots$ ($n_1 &amp;lt; n_2 &amp;lt; \ldots$) variables such that for every sequence of 2DFAs $A_{f_1}, A_{f_2}, \ldots$ such that $A_{f_i}$ computes $f_i$ the number of states grows superpolynomially - for every polynomial $p$ there exists $i$ such that the number of states $\left| P_{f_i} \right| &amp;gt; p(n_i)$.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Sketch of proof.&lt;/strong&gt; We will use counting argument.&lt;br&gt;&#xA;  The alphabet including the endmarkers is $\Sigma = \left\{ 0, 1, \vdash, \dashv \right\}$.&lt;br&gt;&#xA;  The number of determinstic two-way automata with $k$ states is no more than $(3 \cdot k)^{ \left| \Sigma \right| \cdot k } = 2^{4 \cdot k \cdot \log_{2}{3k} }$ - for every state and every symbol (hence the $\left| \Sigma \right| \cdot k$ part) there is a transition to some state and the transition itself can be one of 3 types - moving the head left, right or not moving (hence the $(3 \cdot k)$ part).&lt;br&gt;&#xA;  The number of Boolean functions on $n$ variables is $2^{2^n}$.&lt;br&gt;&#xA;  If $k = p(n)$ then the number of automata is no more than $2^{p'(n)}$ (where $p(n)$ and $p'(n)$ are polynomials) which is less than $2^{2^n}$ therefore there are more Boolean functions than automata of polynomial size. So there must be a Boolean function without a polynomial size automata $\blacksquare$&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;This result can also be extended to &lt;strong&gt;&lt;em&gt;nondeterministic&lt;/em&gt;&lt;/strong&gt; automata.&lt;br&gt;&#xA;The number of 2NFAs with $k$ states is no more than $ 2^{3 \cdot k \cdot k \cdot \left| \Sigma \right|} = 2^{12 \cdot k^2}$ (because every transition from a state to a state with a given symbol and head movement can either be there or not be) which for $k$ polynomialy related to $n$ is still $2^{p(n)}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now let's consider &lt;strong&gt;&lt;em&gt;probabilistic&lt;/em&gt;&lt;/strong&gt; automata. That is, for each transition from a state to a state with given input symbol and head movement there is a probability from a set $S \subseteq [0,1]$ assigned to it. Of course the probabilities for all transitions from a given state and input symbol must sum to 1. We will consider bounded-error computation - the automaton has to give the correct answer with probability $\geq \frac{2}{3}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $S = \left\{ 0, \frac{1}{2}, 1 \right\}$ (these are sometimes called coin-flipping automata) then the result still holds - there are no more than $3^{3 \cdot k^2 \cdot \left| \Sigma \right|} = 2^{12 \cdot \log_{2}{3} \cdot k^2}$ such automata.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The result also holds for any other set $S$ ($S$ is allowed to depend on $n$) that is considerably smaller than $2^{2^n}$. The number of such automata is no more than $\left| S \right|^{12 \cdot k^2}$. For example $\left| S \right| = 2^{1.99^n}$ would be fine.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;The question:&lt;/strong&gt; What happens if we allow all rational probabilities? Does there exist a hard Boolean function for such probabilistic two-way automata?&lt;br&gt;&#xA;Intuitively, going from probabilities from a quite large set $S$ to arbitrary rational probabilities shouldn't make a big difference, however the problem is that this counting argument doesn't work anymore.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This question for logical circuits was answered &lt;a href=&quot;https://cstheory.stackexchange.com/questions/15065/probabilistic-circuit-complexity-or-size-of-probabilistic-2-way-automata-for-boo&quot;&gt;here&lt;/a&gt; (and the proof also extends to automata that works polynomial time, but not if the working time is unbounded).&lt;/p&gt;&#xA;" OwnerUserId="13109" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2013-03-10T01:14:42.513" Title="Size complexity of probabilistic two-way automata for a Boolean function" Tags="&lt;cc.complexity-theory&gt;&lt;automata-theory&gt;&lt;lower-bounds&gt;&lt;randomness&gt;&lt;probabilistic-automata&gt;" AnswerCount="0" CommentCount="2" FavoriteCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16816" PostTypeId="2" ParentId="3111" CreationDate="2013-03-10T02:54:11.693" Score="3" Body="&lt;p&gt;Without doubt, the most humorous mathematical writing award should go to Zeilberger. Considering that he writes about areas close to TCS and his views of TCS are very favorable makes his writings even more fun to read.&lt;/p&gt;&#xA;" OwnerUserId="14122" LastActivityDate="2013-03-10T02:54:11.693" CommentCount="1" CommunityOwnedDate="2013-03-10T02:54:11.693" ContentLicense="CC BY-SA 3.0" />
  <row Id="16817" PostTypeId="1" CreationDate="2013-03-10T04:13:23.927" Score="13" ViewCount="1604" Body="&lt;p&gt;I am looking for hardness results on vertex coloring of graphs with bounded degree. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a graph $G(V,E)$, we know that for any $\epsilon&amp;gt;0$, it's hard to approximate $\chi(G)$ within a factor of $|V|^{1-\epsilon}$ unless $\textit{NP}=\textit{ZPP}$ [&lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0022000098915872&quot;&gt;1&lt;/a&gt;]. But what if the maximum degree of $G$ is bounded by $d$? Are there any hardness ratios of the form $d^{1-\epsilon}$ (for some $\epsilon$) in this case?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An easier question is: Hardness of approximating the edge-chromatic-number of hypergraphs when their edge size is bounded by $d$. Can we hope for a $d^{1-\epsilon}$ hardness ratio in this case? (say, for any $\epsilon &amp;gt;0$)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks for your attention!&lt;/p&gt;&#xA;" OwnerUserId="14123" LastActivityDate="2013-03-12T01:11:43.753" Title="hardness of approximating the chromatic number in graphs with bounded degree" Tags="&lt;cc.complexity-theory&gt;&lt;approximation-hardness&gt;&lt;graph-colouring&gt;&lt;hypergraphs&gt;&lt;bounded-degree&gt;" AnswerCount="4" CommentCount="5" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="16818" PostTypeId="1" CreationDate="2013-03-10T09:42:23.933" Score="1" ViewCount="97" Body="&lt;p&gt;Suppose $\sigma$ is a vocabulary consisting of one binary relation $E$ and let $\phi$ be a $\sigma$ sentence. Is it decidable whether there is a finite directed graph $G$, with all in- and out-degrees $0$ or $1$, such that $G\models \phi$ ?&lt;/p&gt;&#xA;" OwnerUserId="13592" LastEditorUserId="4155" LastEditDate="2013-03-10T11:17:19.167" LastActivityDate="2013-03-10T11:17:19.167" Title="Decidability one relation, binary FOL over finite models" Tags="&lt;graph-algorithms&gt;&lt;finite-model-theory&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="16819" PostTypeId="1" AcceptedAnswerId="16823" CreationDate="2013-03-10T12:15:37.607" Score="13" ViewCount="1030" Body="&lt;p&gt;&lt;strong&gt;Motivation:&lt;/strong&gt; A coauthor edits a manuscript and I would like to see a clear summary of the edits. All &quot;diff&quot;-like tools tend to be useless if you are &lt;em&gt;both&lt;/em&gt; moving text around (e.g., re-organising the structure) &lt;em&gt;and&lt;/em&gt; doing local edits. Is it really so hard to get it right?&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Definitions:&lt;/strong&gt; I would like to find the minimum edit distance, where the permitted operations are:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&quot;cheap&quot; operations: add/change/delete a single character (the usual Levenshtein operations),&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&quot;expensive&quot;: operations: move a substring to a new location ($abcd \mapsto acbd$ for any strings $a$, $b$, $c$, $d$).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Given two strings $x$ and $y$ and integers $k$ and $K$, I would like to solve the following problem:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;can you transform $x$ into $y$ using at most $k$ cheap operations and at most $K$ expensive operations?&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Questions:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Does this problem have a name? (It sounds like a very standard question in the context of sequence alignment.)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Is it hard?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;If it is hard, is it fixed-parameter tractable with $K$ as the parameter?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Are there efficient approximation algorithms? (E.g., find a solution with at most $2k$ cheap and $2K$ expensive operations if a solution with $k$ cheap and $K$ expensive operations exist.)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;I tried to have a look at the &lt;a href=&quot;http://en.wikipedia.org/wiki/String_metric&quot;&gt;string metrics listed in Wikipedia&lt;/a&gt;, but none of them looked right.&lt;/p&gt;&#xA;" OwnerUserId="74" LastActivityDate="2013-03-11T20:19:25.123" Title="Edit distance with move operations" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;parameterized-complexity&gt;&lt;string-matching&gt;&lt;edit-distance&gt;" AnswerCount="2" CommentCount="4" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="16820" PostTypeId="2" ParentId="3111" CreationDate="2013-03-10T16:20:10.113" Score="0" Body="&lt;p&gt;blog posts ok? its &quot;published&quot; in a sense &amp;amp; blogs are increasingly mainstream and many now written by senior/elite researchers. just recently ran across this old, imaginative entry from last April 1 from the Algorithmic Game Theory Blog, with clever resemblance to real events. see comments for colorful feedback. eg MacArthur fellow Terence Tao comments&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;A fantastic achievement! Now that Reimann’s hypothesis is settled, one can hope that the closely related Riemann’s hypothesis will fall next…&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://agtb.wordpress.com/2012/04/01/automatic-proof-for-reimanns-hypothesis/&quot; rel=&quot;nofollow&quot;&gt;Automatic proof for Reimanns hypothesis&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2013-03-10T16:20:10.113" CommentCount="0" CommunityOwnedDate="2013-03-10T16:20:10.113" ContentLicense="CC BY-SA 3.0" />
  <row Id="16821" PostTypeId="2" ParentId="8132" CreationDate="2013-03-10T17:41:24.497" Score="2" Body="&lt;p&gt;The most famous &quot;efficient&quot; NIZK is by Groth and Sahai:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Jens Groth, Amit Sahai&#xA;Efficient Non-interactive Proof Systems for Bilinear Groups, Eurocrypt 2008&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you are willing to use stronger security assumptions, you can get even better efficiency. See the following paper of Groth (and subsequent improvements by other people), for example:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Jens Groth&#xA;Short Pairing-Based Non-interactive Zero-Knowledge Arguments, Asiacrypt 2010&lt;/p&gt;&#xA;" OwnerUserId="14132" LastActivityDate="2013-03-10T17:41:24.497" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16822" PostTypeId="2" ParentId="14519" CreationDate="2013-03-10T18:04:10.383" Score="1" Body="&lt;p&gt;The prover and the simulator must both be able to generate the proof, but given different inputs. The Prove functionality gets as input the CRS $\sigma$, the statement $y$ and the witness $w$, and outputs $\pi$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The soundness requirement postulates that nobody should be able to create $\pi$ for $y \not\in L$, given $\sigma$ as an input.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, zero-knowledge requirement says that simulator must be able to create $\pi$ even without knowing $w$. To get soundness and ZK at the same time, the simulator must get an extra  input, which is some trapdoor $\tau$ generated while $\sigma$ was chosen. For example, the trapdoor could be the secret key corresponding  to the public key that is contained in $\sigma$. Thus, in the simulation functionality, the simulator gets inputs $(\sigma, \tau, y)$ and outputs $\pi$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the real world, the prover does not know the trapdoor and thus must use the Prove functionality. Inside the proof however, while proving that the proof does not leak prover's secret input, the simulator creates $\pi$ based on the simulation functionality. If he can do it, then the ZK property is obvious. It is also obvious that this does not contradict the soundness property.&lt;/p&gt;&#xA;" OwnerUserId="14132" LastActivityDate="2013-03-10T18:04:10.383" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="16823" PostTypeId="2" ParentId="16819" CreationDate="2013-03-10T18:25:56.627" Score="5" Body="&lt;p&gt;As commented by Serge Gaspers, for $k=0$ the problem is &lt;em&gt;Sorting by Transpositions&lt;/em&gt;, and was introduced by Bafna and Pevzner in 1995. Its NP-hardness has been proved only in 2010; see &lt;a href=&quot;http://arxiv.org/abs/1011.1157&quot;&gt;Laurent Bulteau, Guillaume Fertin, and Irena Rusu, &quot;Sorting by Transpositions is Difficult&quot;&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="3247" LastActivityDate="2013-03-10T18:25:56.627" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16824" PostTypeId="2" ParentId="16817" CreationDate="2013-03-10T21:12:25.703" Score="9" Body="&lt;p&gt;There is an inapproximability result for coloring bounded degree graphs in Khot's FOCS'01 paper, &quot;Improved Inapproximability Results for MaxClique, Chromatic Number and Approximate Graph Coloring&quot; — it's probably weaker than you want, but at least it's in the right direction.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;He proves that, for a parameter $k$ (assumed to be constant), and for $k$-chromatic graphs with degree $2^{k^{O(\log k)}}$, it is NP-hard to find colorings that use $\exp((\log k)^2/25)$ colors. So in terms of the degree $d$, it is hard to color within an $O(\log d)$ factor, but the same inapproximability ratio is also a superpolynomial function of the chromatic number.&lt;/p&gt;&#xA;" OwnerUserId="95" LastEditorUserId="95" LastEditDate="2013-03-12T01:11:43.753" LastActivityDate="2013-03-12T01:11:43.753" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="16826" PostTypeId="2" ParentId="16817" CreationDate="2013-03-11T00:10:12.023" Score="5" Body="&lt;p&gt;This result might be helpful:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Emden-Weinert, Hougardy, and Kreuter proved that determining whether a graph with maximum degree $\Delta$ has a coloring using $ k=$$\Delta - \sqrt\Delta +1 $   colors is NP-complete ($k\ge 3$)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;T. Emden-Weinert, S. Hougardy, B. Kreuter, Uniquely colourable graphs and the hardness of colouring graphs of large girth, Combin. Probab. Comput. 7 (4) (1998) 375–386&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2013-03-11T00:15:23.577" LastActivityDate="2013-03-11T00:15:23.577" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16827" PostTypeId="2" ParentId="14562" CreationDate="2013-03-11T00:41:13.570" Score="5" Body="&lt;p&gt;What you're describing is called subsumption; it is a standard CNF simplification technique for SAT solvers.  None of the operations involved is worse than quadratic to either the number of variables or number of clauses in the formula.&lt;/p&gt;&#xA;" OwnerUserId="7707" LastActivityDate="2013-03-11T00:41:13.570" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16829" PostTypeId="2" ParentId="16586" CreationDate="2013-03-11T09:12:08.900" Score="2" Body="&lt;p&gt;As has been pointed out, this problem is similar to the more commonly known edit distance problem (underlying the &lt;a href=&quot;http://en.wikipedia.org/wiki/Levenshtein_distance&quot; rel=&quot;nofollow&quot;&gt;Levenshtein distance&lt;/a&gt;). It also has commonalities with, for example, &lt;a href=&quot;http://en.wikipedia.org/wiki/Dynamic_time_warping&quot; rel=&quot;nofollow&quot;&gt;Dynamic Time Warping distance&lt;/a&gt; (the duplication, or  “stuttering,” in your last requirement). &lt;/p&gt;&#xA;&#xA;&lt;h3&gt;Steps toward dynamic programming&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;My first attempt at a recursive decomposition along the lines of Levenshtein distance and Dynamic Time Warping Distance was something like the following (for $x=x_1\ldots x_n$ and $y=y_1\ldots y_m$), with $d(x,y)$ being set to&#xA;$$&#xA;\min&#xA;\begin{cases}&#xA;d(x,y_1\ldots y_{m-1})+1 &amp;amp; &amp;amp;\text{▻ Add letter at end}\\&#xA;d(x,y_2\ldots y_m)+1 &amp;amp; &amp;amp; \text{▻ Add letter at beginning}\\&#xA;d(x,y_1\ldots y_{m/2})+1 &amp;amp; \text{if $y=y_1\ldots y_{m/2}y_1\ldots y_{m/2}$}&#xA;    &amp;amp; \text{▻ Doubling}\\&#xA;d(x_1\ldots x_{n/2},y)+1 &amp;amp; \text{if $x=x_1\ldots x_{n/2}x_1\ldots x_{n/2}$}&#xA;    &amp;amp; \text{▻ Halving}\\&#xA;d(x_1\ldots x_n,y) + 1 &amp;amp;&amp;amp; \text{▻ Deletion}\\&#xA;d(x_1\ldots x_{n-1},y_1\ldots y_{m-1}) &amp;amp; \text{if $y_n = y_m$}&#xA;    &amp;amp; \text{▻ Ignoring last elt.}\\&#xA;\end{cases}&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here, the last option basically says that converting FOOX to BARX is equivalent to converting FOO to BAR. This means that you could use the “add letter at end” option to achieve the stuttering (duplication) effect, and the deletion at an point. The problem is that it automatically lets you add an &lt;em&gt;arbitrary&lt;/em&gt; character in the middle of the string &lt;em&gt;as well&lt;/em&gt;, something you probably don't want. (This “ignoring identical last elements” is the standard way to achieve deletion and stuttering in arbitrary positions. It does make prohibiting arbitrary insertions, while allowing additions at either end, a bit tricky, though…)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I've included this breakdown even though it doesn't do the job completely, in case someone else can “rescue” it, somehow—and because I use it in my heuristic solution, below.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Of course, if you could get a breakdown like this that actually defined your distance, you'd only need to add memoization, and you'd have a solution. However, because you're not just working with prefixes, I don't think you could use just indexes for your memoization; you might have to store the actual, modified strings for each call, which would get huge if your strings are of substantial size.)&lt;/p&gt;&#xA;&#xA;&lt;h3&gt;Steps toward a heuristic solution&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;Another approach, which might be easier to understand, and which could use quite a bit less space, is to search for the shortest “edit path” from your first string to your second, using the &lt;a href=&quot;http://en.wikipedia.org/wiki/A%2a_search_algorithm&quot; rel=&quot;nofollow&quot;&gt;$A^\ast$ algorithm&lt;/a&gt; (basically, best-first branch-and-bound). The search space would be defined directly by your edit operations. Now, for a large string, you &lt;em&gt;would&lt;/em&gt; get a large neighborhood, as you could delete any character (giving you a neighbor for each potential deletion), or duplicate any character (again, giving you a linear number of neighbors), as well as adding any character at either end, which would give you a number of neighbors equal to twice the alphabet size. (Just hope you're not using full Unicode ;-) With such a large fanout, you might achieve quite a substantial speedup using a &lt;a href=&quot;http://www.avglab.com/andrew/pub/alenex06.pdf&quot; rel=&quot;nofollow&quot;&gt;&lt;em&gt;bidirectional&lt;/em&gt; $A^*$, or some relative&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In order to make $A^*$ work, you'd need a lower bound for the remaining distance to your target. I'm not sure if there's an obvious choice here, but what you &lt;em&gt;could&lt;/em&gt; do is implement a dynamic programming solution based on the recursive decomposition I gave above (again with possible space issues if your strings are very long). While that decomposition doesn't exactly compute your distance, it &lt;em&gt;is&lt;/em&gt; guaranteed to be a lower bound (because it's more permissive), which means it'll work as a heuristic in $A^*$. (How tight it'll be, I don't know, but it would be correct.) Of course, the memoization of your bound function could be shared across all calculations of the bound during your $A^*$ run. (A time-/space-tradeoff there.)&lt;/p&gt;&#xA;&#xA;&lt;h3&gt;So…&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;The efficiency of my proposed solution would seem to depent quite a bit on (1) the lengths of your strings, and (2) the size of your alphabet. If neither is huge, it might work. That is:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Implement the lower bound to your distance using my recursive decomposition and dynamic programming (for example, using a memoized, recursive function).&lt;/li&gt;&#xA;&lt;li&gt;Implement $A^*$ (or bidirectional $A^*$) with your edit operations as “moves” in the state-space, and the dynamic programming-based lower bound.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I can't really give any guarantees for how efficient it'd be, but it &lt;em&gt;should&lt;/em&gt; be correct, and it would probably be a lot better than a brute-force solution.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If nothing else, I hope this gives you some ideas for further investigations.&lt;/p&gt;&#xA;" OwnerUserId="901" LastActivityDate="2013-03-11T09:12:08.900" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16830" PostTypeId="2" ParentId="16817" CreationDate="2013-03-11T12:06:24.487" Score="8" Body="&lt;p&gt;The best known hardness of approximating the chromatic number of $3$-colorable graphs with bounded maximum degree is due to Venkatesan Guruswami and Sanjeev Khanna, &lt;a href=&quot;http://epubs.siam.org/doi/abs/10.1137/S0895480100376794&quot;&gt;On the Hardness of 4-Coloring a 3-Colorable Graph&lt;/a&gt;:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;There is a constant $\Delta$ such that given a $3$-colorable graph with&#xA;  maximum degree at most $\Delta$, it is NP-hard to color it using just $4$ colors.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="6706" LastActivityDate="2013-03-11T12:06:24.487" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16832" PostTypeId="1" AcceptedAnswerId="16835" CreationDate="2013-03-11T14:21:03.817" Score="4" ViewCount="255" Body="&lt;p&gt;The question looks very simple, that is why I posted it first on MathSE, unsuccesfully - no answer for 12 days. I tried to find a short and elegant answer to the question, but I haven't succeed yet. Thank you for your attention. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A CNF formula is closed under resolution if all the possible resolvents are subsumed by a clause of the formula - a clause $c_1$ is subsumed by a clause $c_2$ if all the literals of $c_2$ are in $c_1$ (any clause is subsumed by itself then).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given $F$,  a 3-CNF formula on $n$ variables $(x_i)$$_{i\le 1 \le n}$ which is closed under resolution. Given $I$, a partial assignment of $k$ variables among $(x_i)\   (k\le n)$. Let $F_{|I}$ the induced formula by applying $I$ to $F$: Any clause that contains a literal which evaluates to &quot;true&quot; under $I$ is deleted from the formula and any literals that evaluate to &quot;false&quot; under $I$ are deleted from all clauses -  the clauses that become empty by this deletion remain in the formula as the empty clause.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question&lt;/strong&gt;: Is $F_{|I}$ closed under resolution ?&lt;/p&gt;&#xA;" OwnerUserId="6346" LastEditorUserId="6346" LastEditDate="2013-03-11T14:33:26.060" LastActivityDate="2013-03-11T15:21:36.557" Title="About Closure under Resolution" Tags="&lt;cc.complexity-theory&gt;&lt;lo.logic&gt;&lt;sat&gt;&lt;boolean-functions&gt;&lt;resolution&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16834" PostTypeId="1" AcceptedAnswerId="16836" CreationDate="2013-03-11T14:46:33.110" Score="4" ViewCount="734" Body="&lt;p&gt;It is well known that the intersection of $L \cap R$ of a context-free Language $L$ and a regular Language $R$ is context-free. Each proof I have seen constructs a automaton (a PDA) that accepts $L$ and one (a DFA) that accepts $R$. Than a further automaton (a PDA) is constructed that accepts $L \cap R$. This automaton can be converted to a context-free language.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there some literature that gives a proof without constructing automatons and constructs a context-free grammar that generates $L \cap R$ directly?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What I want to know actually: Given a context-free Language $L$ and a regular Language $R$. How many rules at most does a context-free grammar need to generate $L \cap R$?&lt;/p&gt;&#xA;" OwnerUserId="9435" LastActivityDate="2013-06-09T23:55:29.590" Title="Context-free Grammar for a Context-free Language Intersecting a Regular Language (get the Maximum Number of Rules)" Tags="&lt;regular-language&gt;&lt;descriptive-complexity&gt;&lt;context-free-languages&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16835" PostTypeId="2" ParentId="16832" CreationDate="2013-03-11T15:21:36.557" Score="10" Body="&lt;p&gt;Sure. If $C_1\ni x_i$ and $C_2\ni\neg x_i$ are in $F\restriction I$ (in particular, $x_i$ is unset by $I$), pick clauses $D_1,D_2$ in $F$ which restrict to $C_1$ and $C_2$, respectively. Then $x_i\in D_1$ and $\neg x_i\in D_2$, hence their resolvent $(D_1\let\bez\smallsetminus\bez\{x_i\})\cup(D_2\bez\{\neg x_i\})$ is subsumed by some $D\in F$. If $D$ contains a literal made true under $I$, then so does $D_1$ or $D_2$, contradicting their choice. Thus, $D\restriction I$ is in $F\restriction I$, and it subsumes $(C_1\bez\{x_i\})\cup(C_2\cup\{\neg x_i\})$.&lt;/p&gt;&#xA;" OwnerUserId="6959" LastActivityDate="2013-03-11T15:21:36.557" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16836" PostTypeId="2" ParentId="16834" CreationDate="2013-03-11T16:20:11.697" Score="5" Body="&lt;p&gt;Answer to your first question &lt;a href=&quot;http://www.cs.umd.edu/~gasarch/BLOGPAPERS/cfg.pdf&quot; rel=&quot;nofollow&quot;&gt;http://www.cs.umd.edu/~gasarch/BLOGPAPERS/cfg.pdf&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A summary of the proof given in the link. First, it is shown that proving $L \cap R$ is CFL reduces to proving that $L \cap R'$ is CFL, where $R'$ is a regular language recognized by a DFA with exactly one final state. Then from the grammar for L (in Chomsky normal form) and DFA for R' a new grammar for $L \cap R'$ is constructed using a few straightforward rules.&lt;/p&gt;&#xA;" OwnerUserId="10602" LastEditorUserId="10602" LastEditDate="2013-03-12T20:07:45.660" LastActivityDate="2013-03-12T20:07:45.660" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="16840" PostTypeId="2" ParentId="16819" CreationDate="2013-03-11T20:19:25.123" Score="5" Body="&lt;p&gt;The problem becomes easier, if we consider long deletions and substring copying instead of transpositions. Assume that we are using the standard dynamic programming algorithm for edit distance computation, and that an expensive operation of length $k$ increases the distance by $ak+b$, for some constants $a,b \ge 0$. These constants may be different for long deletions and substring copying.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A long deletion is the deletion of an arbitrary substring from $x$. Supporting them is easy, if we break them down into two kinds of simple operations: deleting the first character (cost $a+b$) and extending the deletion by one character (cost $a$). In addition to the standard array $A$, where $A[i,j]$ is the edit distance between prefixes $x[1 \dots i]$ and $y[1 \dots j]$, we use another array $A_{d}$ to store the edit distance, when the last operation used was a long deletion. With this array, we only have to look at $A[i-1,j]$, $A[i-1,j-1]$, $A[i,j-1]$ and $A_{d}[i-1,j]$ when computing $A[i,j]$ and $A_{d}[i,j]$, allowing us to do it in $O(1)$ time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Substring copying means the insertion of an arbitrary substring of $x$ into the edited string. As with long deletions, we break the operation down into two simple operations: inserting the first character and extending the insertion by one character. We also use array $A_{s}$ to store the edit distance between prefixes, provided that the last operation used was substring copying.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Doing this efficiently is more complicated than with long deletions, and I am not sure whether we can get to amortized $O(1)$ time per cell. We build a suffix tree for $x$, which takes $O(|x|)$ time, assuming a constant-size alphabet. We store a pointer to the current suffix tree node in $A_{s}[i,j-1]$, allowing us to check in constant time, whether we can extend the insertion by character $y[j]$. If that is true, we can compute $A[i,j]$ and $A_{s}[i,j]$ in constant time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Otherwise $zy[j]$, where $z$ is the inserted substring that was used to compute $A_{s}[i,j-1]$, is not a substring of $x$. We use the suffix tree to find the longest suffix $z'$ of $z$, for which $z'y[j]$ is a substring of $x$, in $O(|z|-|z'|)$ time. To compute $A_{s}[i,j]$, we now need to look at cells $A[i, j-|z'|-1]$ to $A[i,j-1]$. Finding suffix $z'$ requires just amortized $O(1)$ time per cell, but computing $A_{s}[i,j]$ with a brute-force approach takes $O(|z'|)$ time. There is probably some way to do this more efficiently, but I cannot find it right now.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the worst case, the algorithm takes $O(\min(|x| \cdot |y|^{2}, |x|^{2} \cdot |y|))$ time, but a better analysis should be possible. The resulting edit distance with long deletions and substring copying is not symmetric, but that should not be a problem. After all, it is usually easier to reach the empty string from a nonempty one than the other way around.&lt;/p&gt;&#xA;" OwnerUserId="56" LastActivityDate="2013-03-11T20:19:25.123" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16842" PostTypeId="1" CreationDate="2013-03-11T21:52:39.317" Score="1" ViewCount="102" Body="&lt;p&gt;Consider any language $K$. Define $s(K) \in {\lbrace 0, 1 \rbrace}^\omega$ (an infinite sequence of bits) by the recursive formula&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$s(K)_n=\chi_K(s(K)_{&amp;lt;n})$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here $\chi_K$ is the characteristic function of $K$ i.e. $\chi_K(w)=1$ for $w \in K$, $\chi_K(w)=0$ for $w \notin K$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Fix $\mathsf{X} \subset 2^{{\lbrace 0, 1 \rbrace}^*}$ a set of languages, typically a complexity class&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A language $U$ is called an &lt;em&gt;$\mathsf{X}$-predictor&lt;/em&gt; when&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\forall K \in \mathsf{X} \, \forall n&amp;gt;&amp;gt;0:s(K)_n=\chi_U(s(K)_{&amp;lt;n})$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is easy to see $U \notin \mathsf{X}$ by considering $K = U^c$. In particular, given $\mathsf{Y} \subset 2^{{\lbrace 0, 1 \rbrace}^*}$, $U \in \mathsf{Y}$ implies $\mathsf{X} \ne \mathsf{Y}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am interested to know whether there is an $\mathsf{L}$-predictor in $\mathsf{P}$. Obviously if true it would very difficult to prove since it would imply $\mathsf{L} \ne \mathsf{P}$. However it might be feasible to either prove it under assumptions such as $\mathsf{L} \ne \mathsf{P}$ or prove the converse or at least provide some evidence to one side or other&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What is the evidence for/against the existence of an $\mathsf{L}$-predictor in $\mathsf{P}$?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;EDIT: There is a weaker type of predictor the existence of which also implies $\mathsf{L} \ne \mathsf{P}$. Define $s'(K) \in {\lbrace 0, 1 \rbrace}^\omega$ by the formula&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$s'(K)_n=\chi_K(0^n)$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$U_w$ is called a &lt;em&gt;weak $\mathsf{L}$-predictor&lt;/em&gt; when&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\forall K \in \mathsf{L} \, \forall n&amp;gt;&amp;gt;0:s'(K)_n=\chi_{U_w}(s'(K)_{&amp;lt;n})$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's easy to see that any $\mathsf{L}$-predictor is (in particular) a weak $\mathsf{L}$-predictor. However this definition is weaker since when the sequence $s(K)$ is computed, $s(K)_{&amp;lt;n}$ serves as a state of the process of linear size in $n$. On the other hand when $s'(K)$ is computed, we're bounded by the logarithmic size state allowed for deciding $K$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$U_w \in \mathsf{P}$ implies $\mathsf{L} \ne \mathsf{P}$ since it's easy to see that if $\mathsf{L} = \mathsf{P}$ then a weak $\mathsf{L}$-predictor is a $\mathsf{P}$-predictor&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What is the evidence for/against the existence of a weak $\mathsf{L}$-predictor in $\mathsf{P}$?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;As a sidenote, $U_w \in \mathsf{P}$ also implies that there is a polynomial $p(n)$ such that any $K \in \mathsf{TALLY} \cap \mathsf{L}$ can be decided in time $t_K(n)$ with $t_K(n) &amp;lt; p(n)$ for $n &amp;gt;&amp;gt; 0$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Actually proving that there is &lt;em&gt;no&lt;/em&gt; $\mathsf{L}$-predictor in $\mathsf{P}$ must also be very difficult since it would imply $\mathsf{P} \ne \mathsf{PSPACE}$. This is so since it's possible to construct an $\mathsf{L}$-predictor in $\mathsf{PSPACE}$, analogously to the construction of a $\mathsf{P}$-predictor in $\mathsf{E}$ given &lt;a href=&quot;https://cstheory.stackexchange.com/questions/16486/is-mathsfp-mathsfnp-relative-to-a-universal-predictor&quot;&gt;here&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="7030" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2013-03-13T20:52:32.310" Title="Universal predictor for $\mathsf{L}$-sequences in $\mathsf{P}$?" Tags="&lt;cc.complexity-theory&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16843" PostTypeId="2" ParentId="16817" CreationDate="2013-03-11T22:20:06.597" Score="10" Body="&lt;p&gt;As David pointed out, Khot's paper, &quot;Improved Inapproximability Results for MaxClique, Chromatic Number and Approximate Graph Coloring&quot;, Theorem 1.6, says it is NP-hard to color $K$-colorable graph with $2^{\Omega((\log K)^2)}$ colors for graphs with degree at most $2^{2^{(\log K)^2}}$, for sufficiently large constant $K$. In other words, for graphs of degree $d$, it is hard to color $2^{\sqrt{\log\log d}}$-colorable graph with $\log d$ colors. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;To get better degree bound, you can probably use ideas from Trevisan's paper &quot;Non-approximability results for optimization problems on bounded degree instances&quot;. The key observation is that the graph produced by the FGLSS reduction is a union of complete bipartite subgraphs, and one can replace each of them with a bipartite disperser which is much sparser. Similar idea used in many result such as Chan &lt;a href=&quot;http://eccc.hpi-web.de/report/2012/110/&quot;&gt;http://eccc.hpi-web.de/report/2012/110/&lt;/a&gt;, Theorem 1.4 / Appendix D.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think this should give you something like for $2^{\sqrt{c\log d}}$-colorable graphs of degree bounded by $d$, it is NP-hard to color it with $d^{c}$ colors for some constant $0&amp;lt;c&amp;lt;1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The degree bound in the paper Michael mentioned is similar to Khot's, namely exponential of the soundness case. Of course the above sparsification approach also improves this, but probably won't give better constant for your purpose.&lt;/p&gt;&#xA;" OwnerUserId="525" LastActivityDate="2013-03-11T22:20:06.597" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="16844" PostTypeId="1" CreationDate="2013-03-12T03:10:37.343" Score="1" ViewCount="189" Body="&lt;p&gt;According to Umeyama, the weighted graph matching problem can be formulated as&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$min_P || PA_GP^T - A_H ||$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;s.t. $P$ is a permutation matrix.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where $A_G$ and $A_H$ are n-by-n matrices&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we relax $P$ to be doubly stochastic matrix, how will the cost function looks like?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Concave? Non-convex with multiple local minimums? Or any other shape?&lt;/p&gt;&#xA;" OwnerUserId="10965" LastEditorUserId="10965" LastEditDate="2013-03-14T08:53:09.453" LastActivityDate="2013-03-14T08:53:09.453" Title="What is the shape of cost function of weighted graph matching problem?" Tags="&lt;graph-theory&gt;&lt;optimization&gt;" AnswerCount="0" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="16845" PostTypeId="1" AcceptedAnswerId="16851" CreationDate="2013-03-12T09:35:08.463" Score="1" ViewCount="131" Body="&lt;p&gt;Let us assume that $\text{P=NP}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $\#\Pi$ be a counting problem in $\#\mathrm{P}$ and let $\Pi$, the decision version that asks if the count is positive, be in $\mathrm{P}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In general, instances to a problem in $\#\mathrm{P}$ may have a count that is exponentially larger than the input size.  Suppose however that for any instance to $\#\Pi$, the count is bounded by some fixed polynomial of the input size.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given these assumptions, can we enumerate all witnesses being counted by $\#\Pi$&#xA;in polynomial time when $\text{P=NP}$?&lt;/p&gt;&#xA;" OwnerUserId="14152" LastEditorUserId="14152" LastEditDate="2013-03-12T12:29:43.747" LastActivityDate="2013-03-12T12:44:02.210" Title="Does polynomially bounded number of witnesses and polynomial time decidability imply polynomial time enumeration?" Tags="&lt;cc.complexity-theory&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="16851" PostTypeId="2" ParentId="16845" CreationDate="2013-03-12T12:44:02.210" Score="3" Body="&lt;p&gt;Yes, you can do this unconditionally in $\mathrm{FP^{NP}}$, which equals $\mathrm{FP}$ by your assumption.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The algorithm is a version of binary search: if the witnesses you want to count are binary strings of length $n^k$, then compute by iteration on $i\le n^k$ the list of all their prefixes of length $i$. This list has polynomial length during the computation since there are only polynomially many witnesses in total, and given a prefix of length $i$, we can check which of its extensions of length $i+1$ are prefixes of a witness by an $\mathrm{NP}$ query.&lt;/p&gt;&#xA;" OwnerUserId="6959" LastActivityDate="2013-03-12T12:44:02.210" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="16853" PostTypeId="1" CreationDate="2013-03-12T15:16:32.603" Score="-4" ViewCount="286" Body="&lt;p&gt;Let us assume (probably wrongly) that P=NP, meaning that we know a way to output a hampath if it exists. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A graph has $n$ vertexes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can the algorithm that solves the problem be modified in polynomial time to an algorithm that solves the problem sequentially?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By sequentially, I mean that the algorithm solves the problem by this way: an algorithm first finds whether a path with two edges that do not return to any of vertexes already reached exists, and then uses information gathered in finding aforementioned case to find whether a path with three edges that do not return to any of vertexes already reached exists and so on until $n$ vertexes. &lt;/p&gt;&#xA;" OwnerUserId="14159" LastEditorUserId="14159" LastEditDate="2013-03-12T15:29:14.783" LastActivityDate="2013-03-12T16:17:33.397" Title="Polynomial algorithm for HAMPATH transformed into an algorithm that solves the problem sequentially?" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;" AnswerCount="2" CommentCount="3" FavoriteCount="0" ClosedDate="2013-03-22T22:33:04.900" ContentLicense="CC BY-SA 3.0" />
  <row Id="16855" PostTypeId="2" ParentId="16853" CreationDate="2013-03-12T15:29:46.123" Score="1" Body="&lt;p&gt;If you have a polynomial time oracle for solving an NP-hard problem, you can use it to solve any other problem in NP as well, including what you want in your &quot;sequential algorithm&quot;: Given a graph and a path of length $i$, whether the given path can be completed to a Hamiltonian path.&lt;/p&gt;&#xA;" OwnerUserId="6190" LastActivityDate="2013-03-12T15:29:46.123" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16856" PostTypeId="2" ParentId="16853" CreationDate="2013-03-12T16:17:33.397" Score="0" Body="&lt;p&gt;Given a polytime algorithm for HAMPATH, you can find a Hamiltonian path as follows. Start by guessing the initial and final vertices ($n(n-1)$ choices). We now try to uncover the path edge by edge. Given a path $p$, we need to determine whether it extends to a Hamiltonian path - and given such an oracle, we can find a Hamiltonian path by guessing the edges one at a time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a path $p$ from $x$ to $y$, here is how to find out whether $p$ can be extended to a Hamiltonian path from $x$ to $z$ (recall we guessed the final vertex $z$ in advance). Remove all vertices in $p$ other than $y$ from the graph. Add a new vertex $a$ connected only to $y$, and a new vertex $b$ connected only to $z$. The new graph has a Hamiltonian path if and only if in the original graph, $p$ can be extended to a Hamiltonian path terminating at $z$.&lt;/p&gt;&#xA;" OwnerUserId="40" LastActivityDate="2013-03-12T16:17:33.397" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16860" PostTypeId="1" AcceptedAnswerId="16917" CreationDate="2013-03-12T22:51:16.930" Score="15" ViewCount="1221" Body="&lt;p&gt;It is known that minimizing the size of a regular expression is &lt;a href=&quot;https://cstheory.stackexchange.com/questions/12361/minimizing-size-of-regular-expression&quot;&gt;PSPACE-complete even if we have a DFA as the language's specification&lt;/a&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;What are the results if the language is finite? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;One can consider this problem in two models:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;The input is all the strings in the language, and we measure the input size by the sum of the length of all strings.&lt;/li&gt;&#xA;&lt;li&gt;The input is a DFA, and we measure the input size by the number of states of the DFA. &lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Kleene star is not useful in the finite case, so only $()$, $|$ and $\cdot$(concatenation) are used in the expression. Of course, the length of a regular expression seems arbitrary. Instead, one can give weight to each operation(include adding parenthesis), and ask to minimize the weight of the regular expression. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit:&lt;/strong&gt; As adrianN noted, it's related to grammar based codes. It's NP-complete to produce the minimum length context free grammar to describe a finite set. It's not clear why minimum size context free grammar can imply much about minimum size regular expression. Maybe a clever rewrite rule can related these two, and prove that in the first model, the problem is in NP. &lt;/p&gt;&#xA;" OwnerUserId="314" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2013-04-13T18:13:00.340" Title="minimizing size of regular expression for finite sets" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;fl.formal-languages&gt;&lt;regular-expressions&gt;&lt;dfa&gt;" AnswerCount="2" CommentCount="3" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="16863" PostTypeId="1" CreationDate="2013-03-13T15:12:14.583" Score="1" ViewCount="184" Body="&lt;p&gt;According to &lt;a href=&quot;http://en.wikipedia.org/wiki/Delaunay_tessellation&quot; rel=&quot;nofollow&quot;&gt;Wikipedia&lt;/a&gt; the Delaunay tesselation in $d$ dimensions can be viewed as a convex hull problem in $d+1$ dimensions. Given a countable set of points $S\subset \mathbb{R}^d$ and a point $p\in S$, find the largest subset $X\subset S\setminus\{p\}$ with the following properties:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Every point in $X$ is a vertex of the convex hull of $X$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;$p$ is the only point in $S$ that lies in the interior of the convex hull of $X$. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Is there a relationship between the $d$-dimensional Delaunay tesselation and the set of polytopes for each point $p\in S$ as described?&lt;/p&gt;&#xA;" OwnerUserId="8500" LastEditorUserId="111" LastEditDate="2013-03-15T03:54:49.060" LastActivityDate="2013-07-25T18:19:21.090" Title="Delaunay tesselations and convex hulls" Tags="&lt;cg.comp-geom&gt;" AnswerCount="1" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="16864" PostTypeId="1" AcceptedAnswerId="16869" CreationDate="2013-03-13T16:44:56.567" Score="13" ViewCount="550" Body="&lt;p&gt;I encountered the following game. I'll migrate this as requested.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;A bug is visiting circles, and an adversary wishes to maximize his travel time.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The adversary places a circle on every turn. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The bug walks from it's current position directly toward the center of the newest circle, then stops when it encounters the interior of the circle (thus: it doesn't walk if a circle is played covering its location). This is the bug's turn.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;There are $N$ circles available to the adversary. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Each subsequent circle has radius less than the previous circle. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Each circle must intersect the intersection of all previously played circles. That is, all circles must have a common intersection once all are played.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;EDIT:  The adversary is &lt;em&gt;free&lt;/em&gt; to choose the radii of the circles, subject to the constraint that the radii monotonically decrease.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Questions and Answers:&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;strong&gt;Is the distance as $N\to\infty$ bounded?&lt;/strong&gt; A: No, an example of an adversary strategy is given by &lt;a href=&quot;https://cstheory.stackexchange.com/a/16869/14180&quot;&gt;this Answer&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;What is the maximum distance the bug must travel over the playing of $N$ circles.&lt;/strong&gt; A: it grows at $\Theta(\log(N))$, by the same answer.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Variant 2&lt;/strong&gt;: The bug walks directly toward the intersection of the two &lt;em&gt;most recently played&lt;/em&gt; circles.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;UPDATE: This variant was addressed, under the assumption that the bug can &lt;em&gt;only&lt;/em&gt; remember the last 2 circles played &lt;a href=&quot;https://cstheory.stackexchange.com/a/16868/14180&quot;&gt;here&lt;/a&gt;. The result was again an unbounded distance. &lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;What impact does &lt;em&gt;unliminted&lt;/em&gt; memory have?&lt;/strong&gt; i.e., the bug goes to the intersection of &lt;em&gt;all previously played circles&lt;/em&gt;. This produced a &quot;loose&quot; bound of $O(d)$, where $d$ is the diameter of the first circle. Obviously it cannot be less than this. See &lt;a href=&quot;https://cstheory.stackexchange.com/a/16868/14180&quot;&gt;here&lt;/a&gt;. The current upper bound was $1000\times d$. This was obtained by approximating the worst-case path as a tour around progressively smaller circles. It was shown that the bug always makes progress towards the final intersection, thus reducing the next-step distance it must travel.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I suspect the distance traveled is a small constant times the circumference of the first circle, but I'm not currently able to provide a good proof.&lt;/p&gt;&#xA;" OwnerUserId="14180" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2013-03-18T20:02:52.323" Title="A game of positioning overlapping circles to maximize travel time between them" Tags="&lt;gt.game-theory&gt;" AnswerCount="2" CommentCount="8" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="16865" PostTypeId="2" ParentId="10972" CreationDate="2013-03-13T18:42:05.433" Score="11" Body="&lt;p&gt;This is not a new answer but rather a clarification the first and easy-to-obtain reference for hardness of INDEPENDENT SET in triangle-free cubic planar graphs:&#xA;The note by Owen Murphy, &lt;em&gt;Computing independent sets in graphs with large girth&lt;/em&gt;, &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/0166218X92900418&quot;&gt;Discrete Applied Mathematics 35 (1992) 167-170&lt;/a&gt; &#xA;proves that &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;INDEPENDENT SET is NP-complete for cubic planar $n$-vertex graphs of girth at least $cn^k$ for any given constants $c&amp;gt;0$ and $k, 0\le k &amp;lt; 1$. &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;(In particular, INDEPENDEN SET is NP-complete for cubic planar graphs without cycles of length less than $c$ for any constant $c&amp;gt;0$)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The reduction indicated by @BartJansen is a special case in Murphy's proof of his theorem. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the opposite property, &lt;a href=&quot;http://en.wikipedia.org/wiki/Line_graph&quot;&gt;line graphs&lt;/a&gt; seem to be more natural than circle graphs as addressed by @DavidEppstein. &#xA;For line graphs, COLOURING is NP-complete but  INDEPENDENT SET is easy.&lt;/p&gt;&#xA;" OwnerUserId="13136" LastEditorUserId="13136" LastEditDate="2013-03-14T10:56:52.240" LastActivityDate="2013-03-14T10:56:52.240" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16866" PostTypeId="2" ParentId="16860" CreationDate="2013-03-13T23:04:23.080" Score="-6" Body="&lt;p&gt;apparently lacking an exact known answer or a better one than this, heres a near/recent ref on research specifically on the subj of minimizing REs (which is an apparently uncommon angle):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.60.5056&quot; rel=&quot;nofollow&quot;&gt;Minimizing NFA's and Regular Expressions (2005)&lt;/a&gt;&#xA;by Gregor Gramlich, Georg Schnitger &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;We show inapproximability results concerning minimization of nondeterministic finite automata (nfa's) as well as regular expressions relative to given nfa's, regular expressions or deterministic finite automata (dfa's). We show that it is impossible to efficiently minimize a given nfa or regular expression with n states, transitions, resp. symbols within the factor o(n), unless P = PSPACE. Our inapproximability results for a given dfa with n states are based on cryptographic assumptions and we show that any efficient algorithm will have an approximation factor of at least poly(log n) . Our setup also allows us to analyze the minimum consistent dfa problem.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="7884" LastEditDate="2013-03-13T23:10:13.780" LastActivityDate="2013-03-13T23:10:13.780" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="16867" PostTypeId="1" AcceptedAnswerId="16876" CreationDate="2013-03-14T07:32:46.377" Score="1" ViewCount="95" Body="&lt;p&gt;Hej guys,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm working on customizing a &lt;a href=&quot;http://en.wikipedia.org/wiki/Vehicle_routing_problem&quot; rel=&quot;nofollow&quot;&gt;Vehicle Routing Problem&lt;/a&gt; for a practical case, which is characterized as follows:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The set of customers does not change over time, but their respective prizes are degressing in a  non-linear fashion (deterministic).&lt;/li&gt;&#xA;&lt;li&gt;Traveling costs do not change.&lt;/li&gt;&#xA;&lt;li&gt;Need to visit every customer exactly once.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;So I've been digging through tons of papers and such, but I can't find anything similar to the given case .. The Dynamic VRP goes way too far, with stochastics and redefining the routes in an ongoing fashion, which I do not need in this special case, because the degression of prizes is deterministic. I thought about the Traveling Repairman Problem, but I can't come up with a way to use it .. The VRP with Time Windows seems to be a completely different case as I have no opening or closing times.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Maybe someone got any hints for me ? I'm pretty sure this case has been dealt with, as it seems to be practically relevant.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any help is appreciated !&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit:&lt;/strong&gt; as mentioned in the comments I should provide a sufficient version of the VRP:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Input:&lt;/strong&gt;&lt;br&gt;&#xA;N: given set of customers,&lt;br&gt;&#xA;D: given set of demands of said customers,&lt;br&gt;&#xA;C: given set of traveling costs, where c_ij is the weight of the arc (i,j),&lt;br&gt;&#xA;M: maximum number of vehicles that may be used,&lt;br&gt;&#xA;V: fixed costs of using a vehicle,&lt;br&gt;&#xA;Q: capacity of a vehicle,&lt;br&gt;&#xA;P: set of prizes for every customer,&lt;br&gt;&#xA;f(t): a function describing the degression of the prizes,&lt;br&gt;&#xA;(I'm not sure yet whether I want to visit every customer or not)  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Output:&lt;/strong&gt;&lt;br&gt;&#xA;Optimal routes with the following objective:  &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;minimize total costs of travel,  &lt;/li&gt;&#xA;&lt;li&gt;minimize number of vehicles used,  &lt;/li&gt;&#xA;&lt;li&gt;maximize sum of prizes.  &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Whether finding the optimal solution is possible or not is not really of interest in the first place.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[As I looked for questions related to the VRP, TSP and similar models, these were posted in theoretical CS, but now I see that this section is definitely not the right one for me ..]&lt;/p&gt;&#xA;" OwnerUserId="14186" LastEditorUserId="14186" LastEditDate="2013-03-18T09:01:19.767" LastActivityDate="2013-03-18T09:01:19.767" Title="PCVRP with prizes reduced over time" Tags="&lt;co.combinatorics&gt;&lt;combinatorics&gt;" AnswerCount="1" CommentCount="10" ContentLicense="CC BY-SA 3.0" />
  <row Id="16868" PostTypeId="2" ParentId="16864" CreationDate="2013-03-14T07:41:50.773" Score="5" Body="&lt;p&gt;David E. conjectured&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&quot;Maybe the answer would be different if the bug walked directly to the&#xA;  closest point in the current intersection, rather than towards the&#xA;  center of the new circle?&quot;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;(EDIT: Note that this is not the same as the &quot;variant 2&quot; at the end of the original poster's question.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here's a proof (more or less) of his conjecture (it is bounded in this case).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Lemma.&lt;/strong&gt; &lt;em&gt;For the variant suggested by David,&#xA;the total distance traveled by the bug is always $O(d_0)$,&#xA;where $d_0$ is the maximum distance between the bug&#xA;and any point in the first circle placed.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;proof.&lt;/em&gt;&#xA;Assume WLOG that the final resting place is the origin $o$,&#xA;and that the bug starts at distance 1 from $o$.&#xA;For exposition assume the bug starts at time $0$,&#xA;travels at unit rate (one inch per second),&#xA;and stops only when it reaches the last disc placed.&#xA;Note that (as explained further below) as the bug crawls&#xA;its distance to the origin strictly decreases.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Partition the unit-radius disc (centered at $o$) into infinitely many rings&#xA;by drawing concentric circles of radii $1, 0.99, 0.99^2, 0.99^3, \ldots$.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Claim.&lt;/strong&gt; &lt;em&gt;Within any ring of (outer) radius $d$, the bug&#xA;travels a total of at most $10 d$ units.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Proof sketch.&lt;/em&gt;&#xA;WIthout loss of generality (by scaling) assume the outer radius is 1.&#xA;Assume for contradiction that the bug spends&#xA;more than 10 seconds in this ring&#xA;before moving into the next ring (of outer radius 0.99).&#xA;At any time $t$, consider the angle $\alpha(t)$ formed by the following&#xA;two vectors:  the vector pointing from the bug in the direction&#xA;the bug is traveling, and the vector pointing from the bug to the origin.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The bug is always moving towards the nearest point in the intersection&#xA;of the discs placed so far, and that intersection is convex and&#xA;contains the origin.  Hence, the angle $\alpha(t)$ is always strictly less&#xA;than ninety degrees, and the distance from the bug to the origin&#xA;is strictly decreasing.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Whenever the angle $\alpha(t)$ is, say, less than eighty-nine degrees,&#xA;the distance to the origin is decreasing at rate at least $1/100$.&#xA;But, during the entire time in the ring, this distance decreases by less than $1/100$,&#xA;so the total amount of time spent in the ring when $\alpha(t) &amp;lt; 89$ is at most 1 second.&#xA;Thus, at least $9$ seconds are spent with the angle $\alpha(t)$&#xA;being at least 89 degrees and at most 90 degrees.&#xA;Now consider any such time $t$.&#xA;Since $\alpha(t) \in [89,90]$, and the ring has width $1/100$,&#xA;the bug is traveling either distinctly clockwise around the ring,&#xA;or distinctly counter-clockwise.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $p$ denote the point that the bug is moving towards&#xA;(the closest point in the intersection of the discs placed so far).&#xA;As the bug moves towards $p$, consider the line through the&#xA;bug and perpendicular to the direction of motion of the bug.&#xA;This line separates the plane into two half-planes,&#xA;one &quot;ahead&quot; of the bug (containing $p$ and the intersection of the discs),&#xA;and the other &quot;behind&quot; the bug.  Mark the points in the half-plane behind the&#xA;bug &lt;em&gt;dead&lt;/em&gt; --- the bug can never return to any point once it is marked dead&#xA;(because the point is not in the intersection of the discs).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since $\alpha(t) \in [89,90]$, and the ring has radius 1 and width $1/100$,&#xA;almost half of the points in the ring are behind the bug and are dead,&#xA;including the points immediately behind the bug.&#xA;The bug cannot return to those points, so, if the bug is&#xA;initially traveling, say, clockwise, then the bug cannot &quot;turn around&quot;&#xA;and start traveling counter-clockwise (for more than say, $1$ second).&#xA;Thus, of the $10$ seconds, the bug would have to spend at least $8$&#xA;seconds traveling clockwise.  But the circumference of the ring is $2\pi&amp;lt; 7$,&#xA;half of the ring is dead as soon as the bug starts, and the bug cannot return&#xA;to any dead point, so this is impossible. This proves the claim&#xA;(more or less; maybe somebody can give a more precise argument).&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;By the claim, the total distance traveled (in all rings) is at most&#xA;$$\sum_{i=0}^\infty 10 (0.99)^i ~=~ 1000.$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Obviously the constant factor here is loose.  For example, if the bug travels&#xA;in the first ring at an angle of 89 degrees or more, this immediately&#xA;kills almost half the points in the disc of radius 1&#xA;(not just the points in that one ring).&lt;/p&gt;&#xA;" OwnerUserId="8237" LastEditorUserId="8237" LastEditDate="2013-03-17T18:34:21.147" LastActivityDate="2013-03-17T18:34:21.147" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="16869" PostTypeId="2" ParentId="16864" CreationDate="2013-03-14T08:55:58.420" Score="15" Body="&lt;p&gt;This answer has two parts, together showing that the correct bound is $\Theta(\log N)$:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;A lower bound of $\Omega(\log N)$ (times the radius of the first circle).&lt;/li&gt;&#xA;&lt;li&gt;A matching upper bound of $O(\log N)$.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;h1&gt;Lower bound of $\Omega(\log N)$&lt;/h1&gt;&#xA;&#xA;&lt;p&gt;Consider two unit circles that touch at a point $p$. (See below; $p$ is on the right, the bug starts on the left.)  Alternate between one circle and the other.  The bug will travel up and down zig-zagging across the crevice between the two circles, moving mostly up and down but also progressing slowly to the right.  If I've done the trigonometry correctly, after $N$ steps, the distance from the common point will be $\Theta(1/\sqrt N)$, and the $N$th step will cause the bug to walk $\Theta(1/N)$, for a total distance of $\Theta(\log N)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/Ho7YG.png&quot; alt=&quot;illustration&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here's a sketch of the calculations.  Consider some two consecutive steps that the bug makes.  He goes from some point $a$, to $b$, to $c$.  Points $a$ and $c$ are on same circle; point $b$ is on the other circle.  Let $o$ be the center of the circle that $a$ is on.  Consider the following three triangles, in order of decreasing size:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;The isoceles triangle $\triangle oap$ (recall $p$ is the common point).&lt;/li&gt;&#xA;&lt;li&gt;The triangle $\triangle abp$.&lt;/li&gt;&#xA;&lt;li&gt;The little triangle $\triangle abc$&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;These triangles are almost similar (i.e., congruent modulo scaling).&#xA;More precisely, for $\epsilon = |ap|$,&#xA;all three have the following property:&#xA;&lt;em&gt;the ratio of the length of the short leg to the long leg is $\Theta(\epsilon)$&lt;/em&gt;.&#xA;(I won't prove this in any more detail here, but note that $\epsilon\rightarrow 0$&#xA;as the bug walks, and by perturbing one vertex in each triangle by a negligible amount, the triangles can be made similar.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The long legs $co$ and $po$ of the first triangle have length 1.&#xA;Its short leg $|ap|$ has length $\epsilon$.&#xA;Segment $ap$ is a long leg of the second triangle,&#xA;so that triangle's short leg $ab$ has length $\Theta(\epsilon^2)$.&#xA;Segment $ab$ is a long leg of the third triangle,&#xA;so that triangle's short leg $ac$ has length $\Theta(\epsilon^3)$.&#xA;Thus, in these two steps that the bug takes:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;The distance $|ab|+|bc|$ the bug travels is $\Theta(\epsilon^2)$.&lt;/li&gt;&#xA;&lt;li&gt;The distance from the bug to the common point $p$ decreases from $\epsilon$ to $\epsilon-\Theta(\epsilon^3)$.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Define time $t_k$ to be the number of steps before $\epsilon_t \approx 1/2^k$.&#xA;By (2) above, $\epsilon$ decrease by a constant factor after about $\Theta(1/\epsilon^2)$ steps,&#xA;so $t_{k+1} = t_k + \Theta(2^{2k}) = t_k + \Theta(4^k)$.&#xA;Thus, $t_k = \Theta(4^k)$.&#xA;That is, after $\Theta(4^k)$ steps,&#xA;the distance from the bug to the common point $p$ will be about $1/2^k$.&#xA;Changing variables, after $N$ steps,&#xA;the distance from the bug to the common point will be $\epsilon = \Theta(1/\sqrt N)$.&#xA;And, in the $N$th step, the bug travels $\Theta(\epsilon^2) = \Theta(1/N)$.&#xA;So the total distance traveled in the first $N$ steps is $\Theta(1+1/2+1/3+...+1/N) = \Theta(\log N)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is the lower bound.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It extends to proposed Variant 2 (as I understand it), as follows:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Adding the restriction that the bug should move to the nearest point in the intersection of the two most recently placed circles does not help.  That is, the $\Omega(\log N)$ lower bound above still applies.  To see why, we will modify the example above by adding a single extraneous circle that allows the bug to meet the restriction while still traveling the same path:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/4vq2U.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The green and blue circles are the two circles from the example above.  The intersection points $a$ and $b$ are the same $a$ and $b$ as in the example above.  The red circle is the new &quot;extraneous&quot; circle.  The previous sequence alternated between the blue and green circles.  The new sequence will be this sequence, but with the red circle added before every circle in the old sequence: red, blue, red, green, red, blue, red, green, red, blue, ...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose the bug is sitting at $a$ after blue is placed.  The next circle placed is red.  Red contains the bug, so the bug doesn't move.  The next circle placed is green.  Now the bug moves to $b$ (which is the closest point on the intersection of the green and red circles).  By repeating this, the bug travels as before.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;h1&gt;Upper bound of $O(\log N)$&lt;/h1&gt;&#xA;&#xA;&lt;p&gt;I only sketch the proof.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Fix any sequence of circles.  We will argue that as $N\rightarrow \infty$,&#xA;the total distance traveled by the bug in the first $N$ steps is $O(\log N)$.&#xA;Assume without loss of generality that the first circle has radius 1.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Fix an arbitrarily large $N$.  Let $p$ by any point in the intersection of the first $N$ circles.&#xA;Note that because of the way the bug moves, in each step that the bug moves it gets closer to $p$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First, consider steps where the following ratio is at least $1/\log N$:&#xA;$$ \frac{\mbox{the reduction in the distance to } p}{\mbox{the distance traveled in the step}}.$$&#xA;The total distance traveled in such steps is $O(\log N)$,&#xA;because the total distance traveled in such steps&#xA;is $O(\log N)$ times the initial distance to $p$.&#xA;So we only need to bound the total distance traveled in the other steps ---&#xA;those in which that ratio is at most $1 / \log N$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First, we argue something slightly weaker:&#xA;that the total distance traveled in such steps&#xA;&lt;em&gt;before the circle radius decreases to 1/2 or less&lt;/em&gt; is $O(\log N)$.&#xA;(We show later this is enough to give the bound.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider any such step.&#xA;Let $a$ and $b$, respectively, denote the locations of the bug before and after the step.&#xA;Let $o$ denote the center of the current circle.&#xA;Let $b'$ denote the point on the ray $\overrightarrow{pb}$ such that $|pa| = |pb|$:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/LY2x3.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider the following triangles:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;$\triangle opb$&lt;/li&gt;&#xA;&lt;li&gt;$\triangle pba$&lt;/li&gt;&#xA;&lt;li&gt;$\triangle abb'$&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;By geometric arguments similar to those in the lower bound,&#xA;for some $\epsilon$,&#xA;each of these triangles has two long legs and one short leg,&#xA;and the ratio (for each triangle) of the short leg length&#xA;to the long leg lengths is $\Theta(\epsilon)$:&#xA;$$\frac{|bb'|}{|ab|}&#xA;= \Theta\big(\frac{|ab|}{|pa|}\big)&#xA;= \Theta\big(\frac{|pa|}{|bo|}\big)&#xA;= \Theta(\epsilon).$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This equation and the assumption that $|bo|$, which is the circle radius,&#xA;is in $[1/2,1]$ imply&#xA;that $|ab| = \Theta(|pa|^2/|bo|) = \Theta(|pa|^2)$,&#xA;and then that $|bb'| = \Theta(|ab||pa|/|bo|) = \Theta(|pa|^3)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now we focus on the bug's distance to $p$.&#xA;Call it $d$ before the step, and $d'$ after the step.&#xA;(Note $d=|pa|$, $d'=|pb|$, and $d-d' = |bb'|$.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In this step, this distance $d$ reduces by $|bb'|$,&#xA;which by the above observations is $\Omega(d^3)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thus, the number of additional steps required to reduce the distance&#xA;by a factor of 2 (to at most $d/2$) is $O(1/d^2)$.&#xA;Changing variables, if $d=1/2^k$,&#xA;the number of additional steps required to bring the distance below&#xA;$1/2^{k+1}$ is $O(4^k)$.  Since the sum is geometric,&#xA;the total number of steps required to bring the distance below $1/2^{k}$ is $O(1/4^k)$.&#xA;Changing variables again,&#xA;after $n$ steps, the distance to $p$ will be $O(1/\sqrt n)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, recalling the displayed equation several paragraphs up,&#xA;in the $n$th step, the distance that the bug travels, i.e. $|ab|$,&#xA;is $O((\mbox{the current distance to } p)^2) = O(1/n)$.  Thus,&#xA;the total distance traveled in the first $N$ such steps&#xA;while the circle radius is in $[1/2,1]$&#xA;is at most&#xA;$$\sum_{n=1}^N O(1/n) = O(\log N).$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By scaling, we conclude that, for any $k$, the total distance traveled&#xA;while the circle radius is in the range $[1/2^k, 1/2^{k+1}]$&#xA;is $O(\log(N)/2^k)$.&#xA;Summing over $k$, the total distance traveled is $O(\log N)$.&#xA;QED&lt;/p&gt;&#xA;" OwnerUserId="8237" LastEditorUserId="8237" LastEditDate="2013-03-18T20:02:52.323" LastActivityDate="2013-03-18T20:02:52.323" CommentCount="8" CommunityOwnedDate="2013-03-18T09:31:25.727" ContentLicense="CC BY-SA 3.0" />
  <row Id="16870" PostTypeId="2" ParentId="14790" CreationDate="2013-03-14T09:10:29.953" Score="6" Body="&lt;p&gt;The following is an example for the question in the title. It is taken from the following paper:&#xA;Jan Kratochvil, Petr Savicky, and Zsolt Tuza. One more occurrence of variables makes satisfiability jump from trivial to np-complete. SIAM Journal on Computing, 22(1):203–210, 1993.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let f(k) be the maximal integer r such that every k-SAT forumula in which each variable occurs at most r times, is satisfiable.&#xA;It is not known whether f(k) is computable, although relatively tight bounds are known for it (see H. Gebauer, R. Moser, D. Scheder, and E. Welzl. The Lov ́asz Local Lemma and Satisfiability. Efficient Algorithms, pages 30–54, 2009.).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(k,s)-SAT is the problem k-SAT restricted to the forumlas in which each variable occurs at most s times. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Kratochvil et al. proved that (k,f(k)+1)-SAT is NP-complete. Note that (k,f(k))-SAT problems are always satisfiable (by definition). The reduction itself is non-constructive: note that the reduction outputs a formula in which each variable occurs at most f(k)+1 times, even though f(k) is not known to be computable. The main non-constructive idea is that even though the value f(k) is unknown, there exists a (k,f(k)+1)-SAT formula which is non-satisfiable, and they manipulate that formula according to their needs.&lt;/p&gt;&#xA;" OwnerUserId="888" LastActivityDate="2013-03-14T09:10:29.953" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="16871" PostTypeId="2" ParentId="3540" CreationDate="2013-03-14T12:09:00.710" Score="12" Body="&lt;p&gt;&quot;Descriptive Complexity, Canonisation, and Definable Graph Structure Theory,&quot; by Martin Grohe. Date on manuscript: March 7, 2013. Available at: &lt;strike&gt;&lt;a href=&quot;http://www.automata.rwth-aachen.de/~grohe/pub.en&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://www.automata.rwth-aachen.de/~grohe/pub.en&lt;/a&gt;.&lt;/strike&gt; (Link Broken)&lt;/p&gt;&#xA;" OwnerUserId="12867" LastEditorUserId="4552" LastEditDate="2017-09-05T21:44:24.527" LastActivityDate="2017-09-05T21:44:24.527" CommentCount="0" CommunityOwnedDate="2013-03-14T12:09:00.710" ContentLicense="CC BY-SA 3.0" />
  <row Id="16872" PostTypeId="1" CreationDate="2013-03-14T13:42:14.760" Score="3" ViewCount="171" Body="&lt;p&gt;As TAs in an undergrad course on computational models, every year we are faced with a dilemma of what material to teach in the last few weeks of the course. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;To be specific, our typical syllabus is as follows (basically the first few chapters of Sipser):&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Finite Automata: DFA, NFA, determinization, Myhill-Nerode, etc.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Turing Machines: computability (RE,R, mapping-reductions, undecidability results).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Complexity classes: P, NP, PSPACE, karp-reductions, Savitch's theorem, Time/Space Hierarchy theorems.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Now comes the question of what to do next (usually we have about 3 weeks left).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Option 1: NL, coNL, logspace reductions and the Immerman Zzelepcsényi theorem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Option 2: Randomized complexity (RP, BPP), but in a very low level, since probability is not a prerequisite for the course. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Option 3: Communication complexity - describing a communication model with some very initial results, describing IP and trying to prove $IP=PSPACE$, but usually only getting up to $coNP\subseteq IP$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Option 4: Kolmogorov complexity. (we haven't tried this one yet).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Other options are welcome.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;The question&lt;/strong&gt;, to be as precise as possible, is as follows:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assuming that at least 50% of the undergrads are not interested in theory, and that most of them will not continue to grad school, what would be most fitting, so as to teach  interesting material (i.e. less definitions, more theorems), while keeping it somewhat relevant to other disciplines in CS (or, heaven-forbids, the industry)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My personal answer: I think that NL is a good option - theoretically it is interesting since we have some impressive results (NL=coNL), and practically it is interesting since many exponential time algorithms can be composed with NL algorithms to produce PSPACE algorithms (e.g. NFA universality). On the other hand, one might argue that it is more important to get acquainted with randomized algorithms.&lt;/p&gt;&#xA;" OwnerUserId="7531" LastEditorUserId="7531" LastEditDate="2013-03-14T16:09:20.290" LastActivityDate="2013-04-16T21:00:52.833" Title="Teaching end-course material in a computational-models course" Tags="&lt;cc.complexity-theory&gt;&lt;teaching&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16874" PostTypeId="1" CreationDate="2013-03-14T18:52:54.213" Score="6" ViewCount="160" Body="&lt;p&gt;I'm searching for papers dealing with the problem of finding not just the shortest tour in the graph (TSP) but finding N shortest tours. Somewhat surprisingly, I didn't find any mention of it, anywhere. I might be searching under a wrong name. &lt;/p&gt;&#xA;" OwnerUserId="14192" LastActivityDate="2013-03-14T18:52:54.213" Title="N shortest tours in a graph" Tags="&lt;graph-theory&gt;&lt;tsp&gt;" AnswerCount="0" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16876" PostTypeId="2" ParentId="16867" CreationDate="2013-03-14T21:31:04.307" Score="0" Body="&lt;p&gt;This has been called &quot;Discounted Reward.&quot; In my brutish opinion, steer toward the CS guys and away from the OR guys. I just like the lit better.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See: &lt;a href=&quot;https://www.cs.cmu.edu/afs/cs.cmu.edu/user/avrim/www/Papers/orienteering-sicomp.pdf&quot; rel=&quot;nofollow&quot;&gt;&quot;Approximation Algorithms for Orienteering and Discounted-Reward TSP.&quot; &lt;em&gt;FOCS&lt;/em&gt; 2003&lt;/a&gt; Which I just stole from my colleague's desk. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;They model reward as $\lambda^{-t}$, where $t$ is time, and $\lambda$ is constant, but otherwise it is the standard &lt;em&gt;orienteering&lt;/em&gt; formulation: Maximize reward, subject to a budget, or minimize budget subject to a reward constraint.&lt;/p&gt;&#xA;" OwnerUserId="14180" LastActivityDate="2013-03-14T21:31:04.307" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16877" PostTypeId="1" CreationDate="2013-03-14T23:21:26.293" Score="11" ViewCount="667" Body="&lt;p&gt;I am trying to understand the bitcoin protocol in the context of computational cryptographic security. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The question is a reference request to foundations of cryptography articles on bitcoin.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My first question is what abstract cryptographic protocol bitcoin is trying to implement? Do we have a definition of electronic money/digital currency in cryptography that captures bitcoin? What are the security requirements for a secure electronic money?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If the answer is yes, companies like eBay provide a centralized mean of electronic money transfer. Does considering a decentralized electronic money changes the definition of abstract cryptographic protocol for electronic money? Or is it just the same concept but in a model where there is no trusted third party? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can the adversary break the protocol if it has more computational power than the combined computational power of other (honest) parties?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assume that we have $n$ parties $P_i$ for $1 \leq i \leq n$ plus an adversary $A$ networked and the adversary wants to break the bitcoin protocol. For simplicity let's assume that the network graph is $K_{n+1}$ and adversary does not control the network and simply is a party like others. What would be the exact mathematical claim about the security of the protocol in this simple case?&lt;/p&gt;&#xA;" OwnerUserId="14197" LastEditorUserId="14197" LastEditDate="2014-01-27T19:11:34.303" LastActivityDate="2014-01-27T19:11:34.303" Title="Is bitcoin cryptographically secure" Tags="&lt;reference-request&gt;&lt;cr.crypto-security&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="16878" PostTypeId="2" ParentId="14103" CreationDate="2013-03-15T01:11:49.160" Score="0" Body="&lt;p&gt;Misha Gromov's recent broad-ranging survey &lt;a href=&quot;http://www.ams.org/journals/bull/2011-48-02/S0273-0979-2010-01319-7/&quot; rel=&quot;nofollow&quot; title=&quot;Crystals&quot;&gt;&lt;em&gt;Crystals, proteins, stability and isoperimetry&lt;/em&gt;&lt;/a&gt; (Bull.&amp;nbsp;Amer. Math.&amp;nbsp;Soc. 48 (2011), 229-257) is a rich vein of biology-related mathematical topics (including many topics that connect to TCS methods).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The question asked for a listing of&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Results&lt;/strong&gt; that use modern-ish and non-trivial aspects of computer science [&amp;hellip;] of a very discrete nature [&amp;hellip;] through an algorithmic lens&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Gromov's survey is more oriented toward general mathematical questions than specific research programs.  Thus the survey can be read as a Gromov's selection of&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;&lt;i&gt;Questions&lt;/i&gt;&lt;/strong&gt; that (potentially) use modern-ish and non-trivial aspects of computer science [&amp;hellip;]  (many of which) are a very discrete nature [&amp;hellip;] through (what is often) an algorithmic lens.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;As a list of unanswered questions rather than a list of known results, Gromov's article places significant creative demands upon the reader.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Perhaps the article's main virtue is that the author is&amp;nbsp;&amp;hellip; &lt;a href=&quot;http://en.wikipedia.org/wiki/Mikhail_Gromov_%28mathematician%29#Prizes_and_honors&quot; rel=&quot;nofollow&quot; title=&quot;Prizes&quot;&gt;Misha Gromov&lt;/a&gt;!&lt;/p&gt;&#xA;" OwnerUserId="1519" LastEditorUserId="1519" LastEditDate="2013-03-15T14:38:41.703" LastActivityDate="2013-03-15T14:38:41.703" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="16879" PostTypeId="1" CreationDate="2013-03-15T01:50:48.740" Score="1" ViewCount="1924" Body="&lt;p&gt;Consider a directed acyclic graph with $n$ nodes and $m$ edges. Each edge is assigned a positive weight. There is a start node $s$ and an end node $e$. We want to find the path from $s$ to $e$ that has the &lt;strong&gt;maximum number of nodes&lt;/strong&gt; such that&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;ol&gt;&#xA;  &lt;li&gt;the total distance is less than some constant $d$, and&lt;/li&gt;&#xA;  &lt;li&gt;starting from $s$, each node in the path is closer than the previous one to the node $e$. (As in, when you traverse the path you are getting closer to your destination $e$ in terms of the edge weight of the remaining path.)&lt;/li&gt;&#xA;  &lt;/ol&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Does a polynomial time algorithm already exist for this problem? Is there a formal name for this problem?&lt;/p&gt;&#xA;" OwnerUserId="14199" LastEditorUserId="3964" LastEditDate="2013-03-15T02:30:59.557" LastActivityDate="2013-03-17T16:23:59.317" Title="Variation on longest path in a DAG" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;" AnswerCount="2" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16884" PostTypeId="1" AcceptedAnswerId="16894" CreationDate="2013-03-15T08:13:30.797" Score="9" ViewCount="427" Body="&lt;p&gt;I am a graduate student from India. I am very much interested in attending the Workshops, conferences, and invited lecturers given by prominent professors.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;At the end of the talk as usual some people will ask questions and speaker will answer them. But my problem is I am not understanding most of the questions and answers. Even if I ask any question I am unable to understand the answer which given by speaker.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can somebody share their experience and suggestions to my problem. &lt;/p&gt;&#xA;" OwnerUserId="14028" LastActivityDate="2013-03-16T17:11:51.473" Title="Understanding the talks in Conferences and Workshops" Tags="&lt;co.combinatorics&gt;&lt;soft-question&gt;" AnswerCount="1" CommentCount="8" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16888" PostTypeId="2" ParentId="16877" CreationDate="2013-03-15T13:33:30.713" Score="2" Body="&lt;p&gt;I guess there is no consensus among researchers and academics on the security of Bitcoin protocol. Thanks to Stack Exchange Network, The following links should help you to answer some of your questions:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1- &lt;a href=&quot;https://crypto.stackexchange.com/questions/3726/bitcoin-research&quot;&gt;Bitcoin research&lt;/a&gt; at Cryptography StackExchange&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2- &lt;a href=&quot;https://crypto.stackexchange.com/questions/316/how-secure-is-the-bitcoin-protocol&quot;&gt;How secure is the Bitcoin protocol?&lt;/a&gt; at Cryptography StackExchange&lt;/p&gt;&#xA;&#xA;&lt;p&gt;3- &lt;a href=&quot;https://bitcoin.stackexchange.com/questions/421/are-there-any-fundamental-security-vulnerabilities-in-bitcoin&quot;&gt;Are there any fundamental security vulnerabilities in Bitcoin?&lt;/a&gt; at Bitcoin Stackexchange&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is a comprehensive list of research publications at &lt;a href=&quot;https://en.bitcoin.it/wiki/Research&quot; rel=&quot;nofollow noreferrer&quot;&gt;Bitcoin wiki&lt;/a&gt; that include research and analysis of Bitcoin.&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="-1" LastEditDate="2017-04-13T12:48:17.970" LastActivityDate="2013-03-15T13:58:58.620" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16889" PostTypeId="1" CreationDate="2013-03-16T00:26:10.400" Score="5" ViewCount="93" Body="&lt;p&gt;For $\: 1 &amp;lt; n \:$ and $\: n^{o(1)} &amp;lt; \sigma \leq n \:$, $\:$ how small can $L$ be for there to be for there to be an&#xA;&lt;br&gt;&#xA;efficiently computable (deterministic) function $\;\; f \: : \: \{0\hspace{.01 in},\hspace{-0.03 in}1\}^L \: \to \: \{n\text{-bit primes}\} \cup \{\perp\} \;\;$  and&#xA;&lt;br&gt;&#xA;an efficiently computable randomized algorithm $g$ from $\: \{n\text{-bit primes}\} \:$ to $\: \{0\hspace{.01 in},\hspace{-0.03 in}1\}^L \:$ such that,&#xA;&lt;br&gt;&#xA;for $\: U\in \{0\hspace{.01 in},\hspace{-0.03 in}1\}^L \:$ and $\: p\in \{n\text{-bit primes}\} \:$ uniformly distributed, the &lt;a href=&quot;http://en.wikipedia.org/wiki/Total_variation_distance_of_probability_measures&quot; rel=&quot;nofollow&quot;&gt;statistical distance&lt;/a&gt;&#xA;&lt;br&gt;&#xA;between $\:\langle U\hspace{-0.02 in},\hspace{.01 in}f(\hspace{.005 in}U\hspace{.01 in})\rangle\:$ and $\:\langle \hspace{.005 in}g(\hspace{.03 in}p)\hspace{.01 in},p\rangle\:$ is less than $\hspace{.03 in}2^{-\sigma}$ ? $\;$ (Everything is parametrized by $n$.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is relevant to cryptography, when using a common random string to specify a prime.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The best I can come up with is, have $p$ be the largest prime such that $\: $&lt;a href=&quot;http://en.wikipedia.org/wiki/Primorial#Definition_for_prime_numbers&quot; rel=&quot;nofollow&quot;&gt;$p\hspace{.01 in}\#$&lt;/a&gt;$\:&amp;lt; 2^n \:$, use the&#xA;&lt;br&gt;&#xA;&lt;a href=&quot;http://en.wikipedia.org/wiki/Chinese_remainder_theorem&quot; rel=&quot;nofollow&quot;&gt;Chinese Remainder Theorem&lt;/a&gt; and a greedy algorithm to sample from the numbers in $\: \left[2^{n-1},2^n\right) \:$&#xA;&lt;br&gt;&#xA;all of whose non-$1$ factors are larger than $p$, and then test them for primality.&#xA;&lt;br&gt;&#xA;(When one finds a prime, output it. $\:$ If one runs out of randomness instead, then output $\perp$.)&lt;/p&gt;&#xA;" OwnerDisplayName="user6973" LastEditorDisplayName="user6973" LastEditDate="2013-03-16T15:58:49.243" LastActivityDate="2013-03-16T15:58:49.243" Title="How short can reversible representations of the n-bit primes be?" Tags="&lt;cr.crypto-security&gt;&lt;randomness&gt;&lt;comp-number-theory&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16891" PostTypeId="1" CreationDate="2013-03-16T13:58:22.343" Score="1" ViewCount="309" Body="&lt;p&gt;There are plenty results on multiparty communication complexity, and one way protocol which anyone playing communicatin games is able to send one person, is a basic setting.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I want to consider more restricted protocol that is &quot;send once&quot; protocol.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, Alice, Bob, and Cate are players and their communication must follow the following way:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Alice is only able to send Bob.&#xA;Bob   is only able to send Cate .&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Each plyer sent bits just one time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there lower bounds results and methods that k-party NIH or NOF communication complexity for set-disjointness and other functions ?&lt;/p&gt;&#xA;" OwnerUserId="14213" LastActivityDate="2013-04-22T08:49:48.570" Title="&quot;Send Once&quot;-One way Multiparty Communication Complexity" Tags="&lt;cc.complexity-theory&gt;&lt;lower-bounds&gt;&lt;communication-complexity&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16894" PostTypeId="2" ParentId="16884" CreationDate="2013-03-16T17:11:51.473" Score="8" Body="&lt;p&gt;This may seem strange at first, but one way I've found to understand an area better is to &lt;i&gt;write&lt;/i&gt; in it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Every area of any discipline has its own mini-language. It consists most obviously of specialized terminology---but there is also a certain structure and order to how people in that area prefer to give and receive information. There are also particular ways of understanding certain difficult concepts, especially abstract or nonobvious concepts.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Reading is obviously key, and it will help you understand the terminology. But to really climb into the heads of those who present in your area, you have to write. You'll then be forced to learn good ways to structure information and ways to understand difficult concepts---and discover how and why the other researchers in your area think and talk the way they do.&lt;/p&gt;&#xA;" OwnerUserId="3644" LastActivityDate="2013-03-16T17:11:51.473" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="16897" PostTypeId="1" CreationDate="2013-03-16T20:35:52.670" Score="7" ViewCount="1454" Body="&lt;p&gt;I am searching for test instances and benchmarks for linear programming, in particular, when solved by a simplex method and implemented with floating-point arithmetic.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This includes test suites, to verify my implementation of the simplex method, and benchmarks to measure the performance. The performance measure relevant for me is the number of steps on the vertex graph, rather than absolute clock time. Therefore medium size instances that do not induce to much ill-conditioning would suit me best.&lt;/p&gt;&#xA;" OwnerUserId="4346" LastActivityDate="2013-06-02T18:42:07.360" Title="Test set and benchmarks for linear programming" Tags="&lt;reference-request&gt;&lt;linear-programming&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="16898" PostTypeId="1" CreationDate="2013-03-16T20:36:13.713" Score="4" ViewCount="352" Body="&lt;p&gt;I'm trying to come up with an algorithm to solve all-pairs shortest paths (APSP) problem in dynamic directed planar graph with nonnegative real weights. Additionally:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;My primary focus is to achieve lowest possible query time ($O(1)$ would be perfect)&lt;/strong&gt;, it's the most important thing for me, this operation will be done &lt;em&gt;very&lt;/em&gt; often (of course the price will be increased memory consumption, but I'm fine with that),&lt;/li&gt;&#xA;&lt;li&gt;Graph is fully dynamic - both edges &amp;amp; vertices can be added/deleted - it would be nice if I didn't have to recompute everything from scratch,&lt;/li&gt;&#xA;&lt;li&gt;$|V| = 10000$ (approximately).&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I've search the Internet and skimmed through lots of articles, but didn't find anything that matched perfectly my case.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any help and/or links would be highly appreciated.&lt;/p&gt;&#xA;" OwnerUserId="14219" LastActivityDate="2013-03-18T04:23:21.950" Title="Dynamic all-pairs shortest paths - O(1) query" Tags="&lt;planar-graphs&gt;&lt;shortest-path&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16901" PostTypeId="2" ParentId="16879" CreationDate="2013-03-17T08:14:55.883" Score="0" Body="&lt;p&gt;First, for the “getting closer” part, I agree with Neil Young: If you mean “the distance remaining along the solution path,” that follows from the fact that you have positive edge weights. If you mean “the shortest distance from the node to $e$ along any path will decrease” then you can just first compute all distances (normal shortest paths) to $e$ and delete all edges that increase this, as they cannot be part of the solution.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As for the remainder of the solution, you can indeed solve that by dynamic programming, but not just the one with the maxmimum number of nodes—there may be many such paths, and not all of them will necessarily have a weighted length below your given threshold. You can solve it, though, and even with an &lt;em&gt;out-of-the-box&lt;/em&gt; shortest path algorithm, by simply modifying the weights (assuming you've deleted any offending edges, as described above, &lt;em&gt;if&lt;/em&gt; that's what you meant in your problem description; otherwise, you don't need to do any of that).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The idea is that in order to find a path with a length below a given threshold, you can simply find the shortest one. If it's not below the threshold, no such path could be found anyway. The only remaining wrinkle is how to find the path among those with the maximum number of nodes (i.e., edges, as you have one more node than edges in a path) that has the minimum edge sum (i.e., weighted length).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To do this, you can use the standard trick of having to “digits” in your cost. The idea here is that you have two different costs or objective functions, but one takes precedence, that is, it forms the “most significant digit” in the cost value. By simply multiplying this cost with a high enough value, you get what you want. So basically, you just find the shortest path from $s$ to $e$ where each $(u, v)$ has a cost of $-k + w(u,v)$, where $k$ is some large (enough) constant. (If you have $m$ edges, and the maximum edge cost is $W$, you could for example let $k=m\cdot W$, as this would be larger than the length of any path.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This basically makes each step in your path add a cost of $-k$, which means that it will &lt;em&gt;always&lt;/em&gt; pay to find a path with more edges (and thereby, nodes) regardless of the weighted length (sum of $w(·\,,·)$) of the path. In this way, you're guaranteed to find the one with the most nodes, as you require. However, &lt;em&gt;among&lt;/em&gt; the paths with the maximum number of nodes, you will get the same number of $-k$ values, but the sum of the edge weights $w(u,v)$ will vary, and it will always pay to minimize this (and therefore, any shortest-path algorithm &lt;em&gt;will&lt;/em&gt; minimize it). In this way, &lt;em&gt;among&lt;/em&gt; the paths with the maximum number of nodes, you will find the shortest one (i.e., with the lowest edge sum). If this weighted length is below the threshold $d$, you've solved your problem. If it is not, there is no solution.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This will work not only for DAGs, but (if you use Bellman-Ford, for example, rather than the plain DAG-Shortest-Path) for general directed graphs where no cycles can be reached from $s$. (Any cycle in the graph will yield a negative cycle with the given weighte function, because $k$ is so large.)&lt;/p&gt;&#xA;" OwnerUserId="901" LastActivityDate="2013-03-17T08:14:55.883" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="16902" PostTypeId="1" AcceptedAnswerId="16952" CreationDate="2013-03-17T10:20:01.197" Score="15" ViewCount="3464" Body="&lt;p&gt;I was hoping that some one might be able to explain to me why exactly the subset product problem is strongly NP-hard while the subset sum problem is weakly NP-hard.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Subset Sum: Given $X = \{x_1,...,x_n\}$ and $T$, does there exist a subset $X'$ such that $\sum_{i\in X'}x_i = T$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Subset Product: Given $X = \{x_1,...,x_n\}$ and $T$, does there exist a subset $X'$ such that $\prod_{i\in X'}x_i = T$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I always thought the two problems were equivalent -- an instance of SS could be transformed to an instance of SP via exponentiation and an instance of SP to SS via logarithms. This led me to conclude that they both belonged to the same class of NP-hard -- i.e., they were both weakly NP-hard. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Further, it appears that the same recurrence could be used to solve both problems using dynamic programming with a very small change (replacing subtraction in SS with division in SP).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;That was until I read chapter 8 of &quot;Theory of Computation&quot; by Bernard Moret (for those without the book, it has a proof of hardness of subset product via X3C -- a strongly NP-hard problem).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I understand the reduction, but cannot figure out what was wrong with my earlier conclusion (equivalence of the two problems). &lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;UPDATE&lt;/strong&gt;: Turns out that subset product is only weakly NP-complete (the target product is exponential in $\Omega (n)$). Gary and Johnson published this in their &lt;a href=&quot;http://www2.research.att.com/~dsj/columns/col1.pdf&quot; rel=&quot;noreferrer&quot;&gt;NP-completeness column in 1981&lt;/a&gt;, but I guess it was less visible than their earlier claim in their book.&lt;/p&gt;&#xA;" OwnerUserId="13627" LastEditorUserId="495" LastEditDate="2014-01-29T10:20:16.253" LastActivityDate="2014-01-29T10:20:16.253" Title="Subset sum vs. Subset product (strong vs. weak NP hardness)" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;&lt;reductions&gt;&lt;subset-sum&gt;" AnswerCount="3" CommentCount="2" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="16904" PostTypeId="1" AcceptedAnswerId="16907" CreationDate="2013-03-17T11:11:27.350" Score="25" ViewCount="2166" Body="&lt;p&gt;In many papers involving context-free grammars (CFGs), the examples of such grammars presented there often admit easy characterizations of the language they generate. For example:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;$S \to a a S b$&lt;br&gt;&#xA;  $S \to $&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;generates $\{ a^{2i} b^i | i \geq 0\}$,&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;$S \to a S b$&lt;br&gt;&#xA;  $S \to a a S b$&lt;br&gt;&#xA;  $S \to $&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;generates $\{ a^i b^j \mid i \geq j \geq 0 \}$, and&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;$S \to a S a$&lt;br&gt;&#xA;  $S \to b S b$&lt;br&gt;&#xA;  $S \to $&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;generates $\{ w w^R \mid w \in (a|b)^* \}$, or equivalently $\{ ((a|b)^*)_1 ((a|b)^*)_2 \mid p_1 = p_2^R \}$ (where $p_1$ refers to the part captured by $(...)_1$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The above examples can all be generated by adding indices ($a^i$), simple constraints on these indices ($i &amp;gt; j$) and pattern matching to regular expressions. This makes me wonder whether all context-free languages can be generated by some extension of the regular expressions.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there an extension of regular expressions that can generate all of or some significant subset of the context free languages?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="988" LastActivityDate="2018-11-19T18:56:16.557" Title="Does there exist an extension of regular expressions that captures the context free languages?" Tags="&lt;fl.formal-languages&gt;&lt;context-free&gt;&lt;context-free-languages&gt;" AnswerCount="3" CommentCount="1" FavoriteCount="12" ContentLicense="CC BY-SA 3.0" />
  <row Id="16906" PostTypeId="2" ParentId="16902" CreationDate="2013-03-17T12:57:22.307" Score="1" Body="&lt;p&gt;The literal explanation is that Subset Product problem is NP-complete by a reduction from strongly NP-complete problem such as exact cover by 3-sets. In such &quot;strong&quot; reduction, the input integers are bounded by some polynomial function in the number of integers in the resulting instance of Subset Product problem. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Such a &quot;strong&quot; reduction is impossible from any strongly NP-complete problem to Subset Sum Problem unless $P=NP$. We have polynomial-time dynamic programming algorithm for solving Subset Sum problem if input integers are bounded by a polynomial.&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2013-03-17T13:07:13.710" LastActivityDate="2013-03-17T13:07:13.710" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="16907" PostTypeId="2" ParentId="16904" CreationDate="2013-03-17T13:45:33.630" Score="34" Body="&lt;p&gt;Yes, there is. Define a &lt;em&gt;context-free expression&lt;/em&gt; to be a term generated&#xA;by the following grammar:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;\begin{array}{lcll}&#xA;g &amp;amp; ::= &amp;amp; \epsilon &amp;amp; \mbox{Empty string}\\ &#xA;  &amp;amp;  |  &amp;amp; c        &amp;amp; \mbox{Character $c$ in alphabet $\Sigma$} \\ &#xA;  &amp;amp;  |  &amp;amp; g \cdot g &amp;amp; \mbox{Concatenation} \\ &#xA;  &amp;amp;  |  &amp;amp; \bot      &amp;amp; \mbox{Failing pattern} \\  &#xA;  &amp;amp;  |  &amp;amp; g \vee g  &amp;amp; \mbox{Disjunction}\\&#xA;  &amp;amp;  |  &amp;amp; \mu \alpha.\; g &amp;amp; \mbox{Recursive grammar expression} \\&#xA;  &amp;amp;  |  &amp;amp; \alpha    &amp;amp; \mbox{Variable expression}&#xA;\end{array}&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is all of the constructors for regular languages except Kleene&#xA;star, which is replaced by a general fixed-point operator $\mu&#xA;\alpha.\;g$, and a variable reference mechanism. (The Kleene star is&#xA;not needed, since it can be defined as $g\ast \triangleq \mu&#xA;\alpha.\;\epsilon \vee g\cdot\alpha$.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The interpretation of a context-free expression requires accounting&#xA;for the interpretation of free variables. So define an &lt;em&gt;environment&lt;/em&gt;&#xA;$\rho$ to be a map from variables to languages (i.e., subsets of&#xA;$\Sigma^*$), and let $[\rho|\alpha:L]$ be the function that behaves&#xA;like $\rho$ on all inputs except $\alpha$, and which returns the&#xA;language $L$ for $\alpha$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, define the interpretation of a context-free expression as follows:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;\newcommand{\interp}[2]{[\![{#1}]\!]\;{#2}}&#xA;\newcommand{\setof}[1]{\left\{#1\right\}}&#xA;\newcommand{\comprehend}[2]{\setof{{#1}\;\mid|\;{#2}}}&#xA;\begin{array}{lcl}&#xA;\interp{\epsilon}{\rho} &amp;amp; = &amp;amp; \setof{\epsilon} \\ &#xA;\interp{c}{\rho}        &amp;amp; = &amp;amp; \setof{c} \\ &#xA;\interp{g_1\cdot g_2}{\rho} &amp;amp; = &amp;amp; \comprehend{w_1 \cdot w_2}{w_1 \in \interp{g_1}{\rho} \land w_2 \in \interp{g_2}{\rho}} \\ &#xA;\interp{\bot}{\rho} &amp;amp; = &amp;amp; \emptyset \\ &#xA;\interp{g_1 \vee g_2}{\rho} &amp;amp; = &amp;amp; \interp{g_1}{\rho} \cup \interp{g_2}{\rho} \\ &#xA;\interp{\alpha}{\rho} &amp;amp; = &amp;amp; \rho(\alpha) \\ &#xA;\interp{\mu \alpha.\; g}{\rho} &amp;amp; = &amp;amp; \bigcup_{n \in \mathbb{N}} L_n \\ &#xA;\mbox{where} &amp;amp; &amp;amp; \\ &#xA;L_0 &amp;amp; = &amp;amp; \emptyset \\ &#xA;L_{n+1} &amp;amp; = &amp;amp; L_n \cup \interp{g}{[\rho|\alpha:L_n]}&#xA;\end{array}&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Using the Knaster-Tarski theorem, it's easy to see that the&#xA;interpretation of $\mu \alpha.g$ is the least fixed of the expression.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's straightforward (albeit not entirely trivial) to show that you&#xA;can give a context-free expression deriving the same language as any&#xA;context-free grammar, and vice-versa. The non-triviality arises from&#xA;the fact that context-free expressions have nested fixed points, and&#xA;context-free grammars give you a single fixed point over a tuple. This &#xA;requires the use of Bekic's lemma, which says precisely that a nested &#xA;fixed points can be converted to a single fixed point over a product (and&#xA;vice-versa). But that's the only subtlety. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT: No, I don't know a standard reference for this: I worked it out&#xA;for my own interest. However, it's an obvious enough construction that&#xA;I'm confident it's been invented before. Some casual Googling reveals&#xA;Joost Winter, Marcello Bonsangue and Jan Rutten's recent paper&#xA;&lt;a href=&quot;http://oai.cwi.nl/oai/asset/18032/18032A.pdf&quot;&gt;&lt;em&gt;Context-Free Languages, Coalgebraically&lt;/em&gt;&lt;/a&gt;, where they give a variant&#xA;of this definition (requiring all fixed points to be guarded) which&#xA;they also call context-free expressions.&lt;/p&gt;&#xA;" OwnerUserId="657" LastEditorUserId="657" LastEditDate="2013-03-18T10:14:33.640" LastActivityDate="2013-03-18T10:14:33.640" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="16908" PostTypeId="2" ParentId="16879" CreationDate="2013-03-17T14:32:52.170" Score="1" Body="&lt;p&gt;You could solve it using a dynamic programming approach:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First lay out vertices in a topological order like $v_1, v_2, ..., v_n$. If start and end vertices are  $s=v_a$ and $e=v_b$, you could get rid of all vertices after $v_b$ and before $v_a$. So let's assume $s=v_1$ and $e=v_n$. Next, define $L_{i,j,p}$ to be the shortest path between $v_i$ and $v_j$ which has $p$ nodes. In other words, among paths between $v_i, v_j$ which have $p$ nodes, it's the length of shortest one. Assume $w_{i,j}$ is the weight between $v_i, v_j$, and it is infinity if there is no edge. Now&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Set $L_{i,i,1}=0$.&lt;/li&gt;&#xA;&lt;li&gt;For $p&amp;gt;1$ we have $L_{i,j,p} = min_k \{L_{i,k,p-1}+w_{k,j} \}$, where  $i\le k&amp;lt;j$.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Now the final answer is $max\{k\}$ for all $k$s that we have $L_{1,n,k}&amp;lt;d$. The table (actually half of it need to be filled, because $i&amp;lt;j$) has $n^3$ elements, and for each element $O(n)$ time it takes to be computed. So the time complexity will be $O(n^4)$, but guess tighter bounds could be achieved. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;UPDATE:&lt;/strong&gt; As Neals pointed out in the comments an $O(n^2 m)$ bound is achievable. Also the algorithm can be thought of as a LDP algorithm running on transformed graph $G'$: make $n$ copies of the original graph $G$ and for each edge $e=(v,w)$ in $G$ connect the $i$th copy of $v$ and $(i+1)$th copy of $w$, for $1 \le i &amp;lt; n$. &lt;/p&gt;&#xA;" OwnerUserId="14187" LastEditorUserId="14187" LastEditDate="2013-03-17T16:23:59.317" LastActivityDate="2013-03-17T16:23:59.317" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="16909" PostTypeId="1" AcceptedAnswerId="16911" CreationDate="2013-03-17T15:18:25.543" Score="21" ViewCount="1684" Body="&lt;p&gt;Assume that we want to sort a list $S$ of $n$ real numbers. &#xA;Assume that we are given a black box that can sort $\sqrt n$ real numbers instantly. &#xA;How much advantage can we gain using this black box? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, can we sort the numbers with only $O(\sqrt n)$ calls to the black box? &#xA;The best algorithm that I have found uses $n$ calls to the black box. &#xA;But I haven't been able to improve it further. &#xA;Here is my algorithm which is similar to merge-sort:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First partition the list $S$ into $\sqrt n$ lists $s_1, s_2, ..., s_{\sqrt n}$ with approximately $\sqrt n$ size. &#xA;Then use $\sqrt n$ calls to the black box to sort these lists. &#xA;Finally, merge the sorted lists using the black box as follows: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Put the smallest elements of the lists in a new list $L$, &#xA;then call the black box to sort it. &#xA;The number in $L[1]$ (first and smallest element of $L$) will be &#xA;the smallest number in $S$. &#xA;We can put it in the first place of the output list.&lt;br&gt;&#xA;Assuming the element has been chosen from $s_j$, &#xA;we replace $L[1]$ with the second smallest element of sort list $s_j$, &#xA;and again run the black box on it to compute the second smallest member of $S$.&lt;br&gt;&#xA;We continue till all the elements are sorted. The total number of black box calls for this part will be $n - \sqrt n$. Therefore overall the total number of calls will be $n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, it looks like we should be able to obtain a lower-bound using the lower-bound on the number comparisons needed for sorting as follows:&#xA;We can implement the black box using $\sqrt n \lg \sqrt n = \frac{1}{2} \sqrt n \lg n$ comparisons. &#xA;If we can solve the problem with $o(\sqrt n)$ calls to the black box and merging in linear-time we can sort $n$ real numbers with $o(n \lg n)$ comparisons which is impossible.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I guess we could prove that $\Omega(n)$ is a lower-bound for the number of calls to the black box, since lots of comparisons using in the black box would be shared and therefore are recounted in our argument. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;UPDATE:&lt;/strong&gt; As the the other posts suggest, an $\sqrt n \lg n$ is also achievable.&lt;/p&gt;&#xA;" OwnerUserId="14187" LastEditorUserId="14187" LastEditDate="2013-03-26T07:18:57.577" LastActivityDate="2013-03-26T07:18:57.577" Title="Sorting using a black box" Tags="&lt;ds.algorithms&gt;&lt;sorting&gt;&lt;decision-trees&gt;" AnswerCount="3" CommentCount="14" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="16910" PostTypeId="2" ParentId="16909" CreationDate="2013-03-17T17:24:47.797" Score="24" Body="&lt;p&gt;I think your question was addressed in Beigel and Gill's paper&#xA;&quot;&lt;a href=&quot;http://doi.ieeecomputersociety.org/10.1109/12.53587&quot;&gt;Sorting n objects using k-sorter&lt;/a&gt;&quot; from 1990 and the abstract of the paper says it all:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;A k-sorter is a device that sorts k objects in unit time. The complexity of an algorithm that uses a k-sorter is defined as the number of applications of the k-sorter. In this measure, the complexity of sorting n objects is between $\frac{n \log n}{k \log k}$ and $\frac{4n \log n}{k \log k}$, up to first-order terms in n and k.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="14004" LastEditorUserId="80" LastEditDate="2013-03-17T21:47:46.783" LastActivityDate="2013-03-17T21:47:46.783" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="16911" PostTypeId="2" ParentId="16909" CreationDate="2013-03-17T17:49:01.207" Score="16" Body="&lt;p&gt;It's possible to sort with $O(\sqrt n\log n)$ calls to the black box and no comparisons.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First, consider the following balanced partitioning problem: given $m$ elements $A[1..m]$ (where $\sqrt n \le m \le n$), partition them into two groups, the smallest of size at least about $m/4$, so that all elements in the first group are smaller than all elements in the second group.  This can be done with $O(m/\sqrt n)$ calls to the black box.  (I'll describe that later.)  Then use quicksort with this partitioning algorithm:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;def qsort(A[1..m]):&#xA;   if m &amp;lt; sqrt(n): sort A with one call to the black box&#xA;   else:&#xA;     Partition A[1..m] into two groups as described above.&#xA;     Recursively qsort the first group.&#xA;     Recursively qsort the second group.&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Assuming each partition step takes $O(m/\sqrt n)$ calls to the black box, the above algorithm, given input $A[1..n]$, will make $O(\sqrt n\log n)$ calls to the black box, because the recursion tree has depth $O(\log n)$ and each level of the tree has a total of $O(n/\sqrt n) = O(\sqrt n)$ calls to the black box.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Do the partitioning step as follows:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;def partition(A[1..m]):  (where sqrt(n) &amp;lt;= m &amp;lt;= n)&#xA;   Divide A into m/sqrt(n) groups of size sqrt(n) each.&#xA;   Sort each group with one call to the black box per group.&#xA;   Sort the medians of the groups with one call to the black box.&#xA;   (Note the number of groups is less than sqrt(n), because m &amp;lt;= n.)&#xA;   Let X be the median of the medians.&#xA;   Partition all m elements around X, using the black box as follows:&#xA;      For each group G, let Y be its median:&#xA;        Call the black box once on (G - {Y}) union {X}.&#xA;        (This gives enough information to order all elts w.r.t. X.)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;" OwnerUserId="8237" LastEditorUserId="8237" LastEditDate="2013-03-18T03:08:30.763" LastActivityDate="2013-03-18T03:08:30.763" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="16912" PostTypeId="1" CreationDate="2013-03-17T18:27:55.213" Score="9" ViewCount="291" Body="&lt;p&gt;We know that $\mathcal{L}\subseteq \mathcal{N\!L}\subseteq\mathcal{P}\subseteq\mathcal{N\!P}$. From Savitch's Theorem, $\mathcal{N\!L}\subseteq\mathcal{L}^2$, and, from Space Hierarchy Teorem, $\mathcal{L}\neq\mathcal{L}^2$. So, as we don't know if $\mathcal L\neq\mathcal P$, we don't know if $\mathcal L^2\subseteq\mathcal P$, or do we know that $\mathcal L^2\not\subseteq\mathcal P$? Has anybody been trying to prove that $\mathcal L^2\subseteq\mathcal P$? What are the latest results, or efforts, in this way? I've been trying to write a survey on this topic, but haven't found anything relevant.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Furthermore, whether exists or not a $\mathcal{N\!P}$ problem which is not $\mathcal{N\!P}$-complete is an open question, and such existence would imply $\mathcal L\neq\mathcal{N\!P}$, as every $\mathcal L$ problem is complete for $\mathcal L$. But do we really not know that $\mathcal L\neq\mathcal{N\!P}$? Has anybody been trying to prove this? Again, what are the latest results, or efforts, in this way?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Maybe I'm missing something, or searching wrongly, but I couldn't find anyone working on the $\mathcal L^2\subseteq \mathcal P$ and $\mathcal L\neq\mathcal{N\!P}$ questions.&lt;/p&gt;&#xA;" OwnerUserId="13971" LastEditorUserId="7358" LastEditDate="2013-03-17T20:04:44.230" LastActivityDate="2013-03-17T20:04:44.230" Title="On $\mathcal L$, $\mathcal{N\!L}$, $\mathcal L^2$, $\mathcal P$ and $\mathcal{N\!P}$" Tags="&lt;reference-request&gt;&lt;complexity-classes&gt;&lt;open-problem&gt;&lt;hierarchy-theorems&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="16913" PostTypeId="2" ParentId="16902" CreationDate="2013-03-17T19:09:00.513" Score="9" Body="&lt;p&gt;Firstly, using exponentiation to go from SS to SP works (using base 2 rather than base $e$), but blows up the size of the numbers involved. Weak NP-hardness means that if the numbers are small (or more precisely, denoted in unary), the problem is no longer hard. Hence, using exponentiation creates exponentially sized instances of SP even for the easy instances of SS, where the numbers are written in unary.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Secondly, using logarithms to go from SP to SS doesn't work, as logarithms typically generates non-integer values. SS and SP are defined using integer numbers, and logarithms often result in transcendental values, which are hard to represent or do math on.&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;&amp;lt;edit&amp;gt;&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Let $A$ be an integer, $A &amp;gt; 0$, then $\log_2 A$ is rational if and only if $A$ is a power of 2, and transcendental otherwise. Firstly, if $\log_2 A = \frac{p}{q}$ for nonzero integers $p$ and $q$, then $A = 2^{\frac{p}{q}}$, $A^q = 2^p$. We therefore have that $A = 2^r$ by prime decomposition. Furthermore $A^{rq} = 2^p$, so given an $A$ we can pick $q=1$ and $p=r$ to prove $\log_2 A$ is rational.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We just need to show that $\log_2 A$ is never transcendental otherwise. This follows from the &lt;a href=&quot;http://en.wikipedia.org/wiki/Gelfond%E2%80%93Schneider_theorem&quot; rel=&quot;nofollow&quot;&gt;Gelfond-Schneider theorem&lt;/a&gt;, for an equivalent formulation (as can be found on the Wiki page) is &quot;if $\alpha$ and $\gamma$ are nonzero algebraic numbers, and we take any non-zero logarithm of $\alpha$, then $(\log \gamma)/(\log \alpha) = \log_\alpha \gamma$ is either rational or transcendental.&quot; It is also easy to verify by taking the converse of the theorem and setting $\alpha^\beta = \gamma$ and hence $\beta = \log_\alpha \gamma$.&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;&amp;lt;/edit&amp;gt;&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Lastly, consider what happens when we try the dynamic programming algorithm from SS on SP. Because we use products rather than sums, the numbers involved blow up enormously, and the arbitrary precision math required suddenly becomes a factor in the running time. This is why the algorithm cannot solve SP instances quickly even if the numbers are in unary.&lt;/p&gt;&#xA;" OwnerUserId="988" LastEditorUserId="988" LastEditDate="2013-03-26T21:32:14.563" LastActivityDate="2013-03-26T21:32:14.563" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="16914" PostTypeId="2" ParentId="16912" CreationDate="2013-03-17T20:03:16.960" Score="12" Body="&lt;p&gt;You can check the following paper:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/0304397576900578&quot;&gt;Translational lemmas, polynomial time, and $ (\log n)^j$-space&lt;/a&gt; by Ronald V. Book (1976).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Figures 1 and 2 in the paper give the summary of what is known and what is unknown. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I put Theorem 3.10 in the paper here:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$ DTIME(poly(n)) \neq DSPACE(poly(\log n)) $;&lt;/li&gt;&#xA;&lt;li&gt;for every $ j \geq 1 $, $ DTIME(n^j) \neq DSPACE(poly(\log n)) $;&lt;/li&gt;&#xA;&lt;li&gt;for every $ j,k \geq 1 $, $ DTIME(n^j) \neq DSPACE( (\log n)^k ) $.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="7358" LastActivityDate="2013-03-17T20:03:16.960" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16916" PostTypeId="1" AcceptedAnswerId="16919" CreationDate="2013-03-17T20:16:00.120" Score="5" ViewCount="855" Body="&lt;p&gt;I got this as a sub-problem while working on a research problem connected to index coding. Can someone please give me directions as to how to approach this problem?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Problem: We have a connected undirected bipartite graph $G=(U,V,E)$. Let $|U| = m$ and the degree of $i$th node in U be $a_i$. Consider a spanning tree of $G$ and let the degree of $i$th node in $U$ be $b_i$ in the spanning tree (so $b_i \le a_i$). I am interested in finding the spanning tree that minimizes $max_{i=1,2,...,m} (a_i-b_i)$. I am interested in getting directions about how to design an algorithm for it.   &lt;/p&gt;&#xA;" OwnerUserId="14229" LastEditorUserId="14229" LastEditDate="2013-03-18T02:13:49.957" LastActivityDate="2013-03-18T02:13:49.957" Title="Finding appropriate spanning tree of connected bipartite graph" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;approximation-algorithms&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16917" PostTypeId="2" ParentId="16860" CreationDate="2013-03-17T22:14:38.150" Score="4" Body="&lt;p&gt;The following argument is essentially from (&lt;a href=&quot;http://www.hermann-gruber.com/data/lata07-final.pdf&quot; rel=&quot;nofollow&quot;&gt;1&lt;/a&gt;): The decision versions of the two problems are contained in the second level of the &lt;a href=&quot;http://en.wikipedia.org/wiki/Polynomial_hierarchy&quot; rel=&quot;nofollow&quot; title=&quot;polynomial hierarchy&quot;&gt;polynomial hierarchy&lt;/a&gt; (more precisely: in the complexity class $\Sigma^P_2$), as follows. Guess a regular expression of size at most $k$, and check if it is equivalent to the given deterministic finite automaton (respectively: to the language given as a list of words). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I believe that no further results regarding your problems are known. For a similar-looking optimization problem, where the objective is to find a minimum equivalent nondeterministic finite automaton instead of a regular expression, the following results are known:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;For input described as DFA, the minimum equivalent NFA problem is ${\bf DP}$-hard, see (&lt;a href=&quot;http://www.hermann-gruber.com/data/lata07-final.pdf&quot; rel=&quot;nofollow&quot;&gt;1&lt;/a&gt;). Here, ${\bf DP}$ stands for &quot;difference polynomial time&quot;; this is the &quot;Sigma&quot; complexity class at the second level of the &lt;a href=&quot;http://en.wikipedia.org/wiki/Boolean_hierarchy&quot; rel=&quot;nofollow&quot; title=&quot;Boolean hierarchy&quot;&gt;Boolean hierarchy&lt;/a&gt;. &lt;/li&gt;&#xA;&lt;li&gt;For input described as a list of words, the minimum equivalent NFA problem is ${\bf NP}$-hard, see (&lt;a href=&quot;http://www.hermann-gruber.com/data/dlt07-final.pdf&quot; rel=&quot;nofollow&quot;&gt;2&lt;/a&gt;).&lt;/li&gt;&#xA;&lt;li&gt;For $L \subseteq \{0,1\}^m$ and input described as a truth table, the minimum equivalent NFA problem is ${\bf NP}$-complete, see (&lt;a href=&quot;http://www.hermann-gruber.com/data/dlt07-final.pdf&quot; rel=&quot;nofollow&quot;&gt;2&lt;/a&gt;).&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Beware:&lt;/em&gt; Unlike the setting of infinite languages, I do not see a straightforward reduction from the NFA minimization case to the problems from your question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;References:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(1) Hermann Gruber and Markus Holzer. &lt;a href=&quot;http://www.hermann-gruber.com/data/lata07-final.pdf&quot; rel=&quot;nofollow&quot;&gt;Computational Complexity of NFA Minimization for Finite and Unary Languages&lt;/a&gt;. In: 1st International Conference on Language and Automata Theory and Applications (LATA 2007), pp. 261-272, 2007.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(2) Hermann Gruber and Markus Holzer. &lt;a href=&quot;http://www.hermann-gruber.com/data/dlt07-final.pdf&quot; rel=&quot;nofollow&quot;&gt;Inapproximability of Nondeterministic State and Transition Complexity Assuming P &amp;lt;&gt; NP&lt;/a&gt;. In: 11th International Conference on Developments in Language Theory (DLT 2007), LNCS 4588, pp. 205-216, 2007. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit:&lt;/strong&gt;&#xA;I think that grammar based codes are not so closely related: in that setup, the given language is a singleton set. But for such a singleton language $L=\{w\}$, the minimum size regular expression is (trivially) given by $w$.&lt;/p&gt;&#xA;" OwnerUserId="2367" LastEditorUserId="2367" LastEditDate="2013-04-02T18:47:34.447" LastActivityDate="2013-04-02T18:47:34.447" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16918" PostTypeId="2" ParentId="16347" CreationDate="2013-03-17T22:44:06.453" Score="23" Body="&lt;p&gt;I am one of the authors of the paper linked above. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Just want to mention that we used ``state-of-the-art'' to mean algorithms (with publicly available implementations) that perform well on max-flow instances arising in computer vision. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would also like to add that within that narrow (yet practical) context, often the algorithms that perform well are the ones with poor theoretical guarantees. For instance, ref [5] from our paper (Boykov-Kolmogorov algorithm) is widely used in the computer vision community, but does not have a strongly polytime runtime bound. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, in case anyone is interested, the data from our experiments is available here:&#xA;&lt;a href=&quot;http://ttic.uchicago.edu/~dbatra/research/mfcomp/index.html&quot;&gt;http://ttic.uchicago.edu/~dbatra/research/mfcomp/index.html&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The code will also soon be available too. &lt;/p&gt;&#xA;" OwnerUserId="14236" LastActivityDate="2013-03-17T22:44:06.453" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16919" PostTypeId="2" ParentId="16916" CreationDate="2013-03-18T00:08:08.693" Score="9" Body="&lt;p&gt;Isn't this a special case of matroid intersection,&#xA;which is &lt;a href=&quot;http://en.wikipedia.org/wiki/Matroid#Matroid_intersection&quot;&gt;solvable in polynomial time&lt;/a&gt;?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Fix your graph $G$ and any integer $d \in \{0,1,\ldots,\max_i a_i\}$.&#xA;You want to maximize $d$; you can try all possibilities.&#xA;For a given $d$, you want to answer the following question:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;em&gt;Is there is a spanning tree $T$ such that $\max_i a_i - \mbox{deg}_T(u_i) \le d$?&lt;/em&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Since any spanning tree has $n-1$ edges, the following question is equivalent:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;em&gt;Is there an edge-set $S$ of size at least $|E|-n+1$, with at most $d$ edges incident to each vertex in $U$, whose complement contains a spanning tree?&lt;/em&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Thus, your problem reduces to the following problem:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;em&gt;Find a maximum-size edge-set $S$ having at most $d$ edges incident to each vertex in $U$ and whose complement contains a spanning tree.&lt;/em&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The independent sets of edges in $G$ form a matroid.  The bases are the spanning trees.  The &lt;a href=&quot;http://en.wikipedia.org/wiki/Matroid#Duality&quot;&gt;dual&lt;/a&gt; of this matroid is a matroid $M_t^*$.  The edge-sets in $M_t^*$ are the edge-sets whose complement contains a spanning tree.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The edge-sets in which each vertex $u_i$ in $U$ has degree at most $d$ form yet another matroid $M_d$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thus, the following two conditions on edge-set $S$ are equivalent:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;$S$ is in the intersection $M_d \cap M_t^*$ of the two matroids;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;$S$ has at most $d$ edges incident to each vertex in $U$, and the complement of $S$ contains a spanning tree.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;So the following algorithm solves the problem in polynomial time:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Using matroid intersection, find a maximum-size edge-set $S$ in $M_d \cap M^*_t$.   &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="8237" LastEditorUserId="8237" LastEditDate="2013-03-18T00:19:20.890" LastActivityDate="2013-03-18T00:19:20.890" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16920" PostTypeId="2" ParentId="16898" CreationDate="2013-03-18T04:23:21.950" Score="4" Body="&lt;p&gt;&lt;strong&gt;theory results:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;exact:&lt;/em&gt; &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Jittat Fakcharoenphol, Satish Rao: Planar graphs, negative weight edges, shortest paths, and near linear time. J. Comput. Syst. Sci. 72(5): 868-889 (2006)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;approximate:&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Ittai Abraham, Shiri Chechik, Cyril Gavoille: Fully dynamic approximate distance oracles for planar graphs via forbidden-set distance labels. STOC 2012: 1199-1218&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Philip N. Klein, Sairam Subramanian: A Fully Dynamic Approximation Scheme for Shortest Paths in Planar Graphs. Algorithmica 22(3): 235-249 (1998)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;implementation for road networks:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Daniel Delling, Andrew V. Goldberg, Thomas Pajor, Renato Fonseca F. Werneck: Customizable Route Planning. SEA 2011: 376-387&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(updates only to cost of edges, might be possible to extend to addition and deletion of edges)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;comment&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;none of the methods above achieves O(1) query time&lt;/p&gt;&#xA;&#xA;&lt;p&gt;note that if you use lots of space for a data structure, it probably means that you will need significant time to update the data structure in case the graph changes&#xA;(low query time at the cost of high update time)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;if updates are rare, it might be worth it.&#xA;what is the application?&lt;/p&gt;&#xA;" OwnerUserId="4821" LastActivityDate="2013-03-18T04:23:21.950" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16924" PostTypeId="2" ParentId="16909" CreationDate="2013-03-18T16:41:34.407" Score="12" Body="&lt;p&gt;It is possible to sort &lt;strong&gt;obliviously&lt;/strong&gt; with $O(\sqrt{n}\log n)$ calls to the black box, each applied to a contiguous subarray of the original input.  The algorithm never touches the input data except through black-box calls. In particular, the same sequence of black-box calls is only a function of $n$, not the actual input data (hence &quot;oblivious&quot;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is a sketch of a simpler algorithm, which uses a black box that sorts subarrays of size $k$ instead of just $\sqrt{n}$.  The total number of calls to the black box is roughly $2(n/k)^2$.  For notational simplicity, assume that $k$ is even and $2n/k$ is an odd integer.&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;BlockBubbleSort(X[0..n-1], k):&#xA;   m = floor(n/k)&#xA;   for i = 1 to m&#xA;      for j = 0 to m-1&#xA;          BlackBoxSort(X[j*k .. (j+1)*k-1])&#xA;      for j = 0 to m-1&#xA;          BlackBoxSort(X[j*k + k/2 .. (j+1)*k + k/2 - 1])&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Here is a diagram of the algorithm for $n=18$ and $k=4$.  Data travels from left to right; each box is a $k$-sorter.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/XpbBI.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As the figure hopefully suggests, this algorithm breaks the input array into chunks of size $k/2$, and then applies bubblesort to the chunks, using the $k$-sorter in place of a compare-exchange operation.  Correctness follows by observing that the network &lt;a href=&quot;http://en.wikipedia.org/wiki/Sorting_network#Zero-one_principle&quot; rel=&quot;noreferrer&quot;&gt;correctly sorts any array of 0s and 1s&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As @VinayakPathak's comment suggests, the $O((n/k)^2)$ bound can be reduced by replacing bubblesort with a different sorting network.  For example, &lt;a href=&quot;http://en.wikipedia.org/wiki/Batcher_odd%E2%80%93even_mergesort&quot; rel=&quot;noreferrer&quot;&gt;Batcher's even-odd mergesort&lt;/a&gt; reduces the number of black-box calls to $O((n/k)\log^2(n/k)) = O(\sqrt{n}\log^2 n)$, and the &lt;a href=&quot;http://link.springer.com/article/10.1007%2FBF01840378&quot; rel=&quot;noreferrer&quot;&gt;AKS sorting network&lt;/a&gt; reduces it to $O((n/k)\log (n/k)) = O(\sqrt{n}\log n)$.  This last algorithm matches Neal's non-oblivious algorithm up to (large!!) constant factors.&lt;/p&gt;&#xA;" OwnerUserId="111" LastEditorUserId="111" LastEditDate="2013-03-18T16:51:08.157" LastActivityDate="2013-03-18T16:51:08.157" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="16925" PostTypeId="1" AcceptedAnswerId="17386" CreationDate="2013-03-18T16:45:45.403" Score="3" ViewCount="214" Body="&lt;p&gt;This is a repost of a question I asked &lt;a href=&quot;https://math.stackexchange.com/questions/324884/boundedness-of-expected-reward-markov-chain-may-be-related-to-discret-m-m-inf&quot;&gt;on math.SE&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;h3&gt;The problem:&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;I have an infinite Markov chain $M$ over the natural numbers, with transition probabilities $$P(n,m)=\sum_{i=0}^{min(m,n)} {n\choose i}(1-p)^ip^{n-i}q^{m-i}(1-q).$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For any natural numbers $n$ and $s$, I define the random variable $O^n_s:\mathbb{N}^*\rightarrow \mathbb{N}$ to be sum of all states visited if we start in state $s$ and end when we first reach a state less than or equal to $n$. Formally, let $w = (s, w_1, w_2, \dots)$ denote the random sequence of states visited by the Markov chain, and let $$O^n_s(w)=\left\{\begin{array}{ll} \sum_{i=1}^{l}w_i&amp;amp; \text{where $l$ is the smallest index such that $w_l\le n$}\\\bot&amp;amp; \text{if $w_i &amp;gt; n$ for all $i$}\end{array}\right.$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $\mathcal{E}^n_s$ denote the conditional expectation $E_w[O^n_s(w)\mid O^n_s(w)\neq\bot]$.&lt;/p&gt;&#xA;&#xA;&lt;h3&gt;The question is:&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;Is there a real number $B$ such that $\mathcal{E}^n_s\leq B$ for all natural numbers $n$ and $s$?&lt;/p&gt;&#xA;&#xA;&lt;h3&gt;what I think:&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;This process reminds me of a discrete time $M/M/\infty$ queue where at each step $n$ arrives with probability $q^n(1-q)$ and at each step each service terminates with probability $p$.&lt;/p&gt;&#xA;&#xA;&lt;h1&gt;What I'm looking for:&lt;/h1&gt;&#xA;&#xA;&lt;p&gt;But I couldn't find any &lt;strong&gt;references&lt;/strong&gt; or &lt;strong&gt;hint&lt;/strong&gt; about a model like that. If you have any idea or references (or, even better, a proof) please tell me.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Any ideas, (even if it doesn't apply directly there) would be accepted. I'm a bit out of idea on how to solve this.&lt;/h2&gt;&#xA;&#xA;&lt;h3&gt;[note: why P is a transition matrix]&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;For all $n\in \mathbb{N}$, $$\begin{array}{rcl}&#xA;\sum_{m\in\mathbb{N}}P(n,m)&amp;amp;=&amp;amp;\sum_{m\in\mathbb{N}}\sum_{i=0}^{min(m,n)} {n\choose i}(1-p)^ip^{n-i}q^{m-i}(1-q)\\&#xA;&amp;amp;=&amp;amp;\sum_{i=0}^{n}\sum_{m\geq i}{n\choose i}(1-p)^ip^{n-i}q^{m-i}(1-q)\\&#xA;&amp;amp;=&amp;amp;\sum_{i=0}^{n}{n\choose i}(1-p)^ip^{n-i}\sum_{m\geq i}q^{m-i}(1-q)\\&#xA;&amp;amp;=&amp;amp;\sum_{i=0}^{n}{n\choose i}(1-p)^ip^{n-i}\sum_{m\geq 0}q^{m}(1-q)\\&#xA;&amp;amp;=&amp;amp;\sum_{i=0}^{n}{n\choose i}(1-p)^ip^{n-i}\\&#xA;&amp;amp;=&amp;amp;1&#xA;\end{array}$$&lt;/p&gt;&#xA;" OwnerUserId="14093" LastEditorUserId="-1" LastEditDate="2017-04-13T12:19:19.363" LastActivityDate="2013-04-24T13:39:10.310" Title="Boundedness of expected reward Markov chain" Tags="&lt;pr.probability&gt;&lt;markov-chains&gt;&lt;queueing-theory&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="16926" PostTypeId="2" ParentId="2162" CreationDate="2013-03-18T22:03:23.277" Score="1" Body="&lt;p&gt;This paper gives a good hint about PAC-learning result for piecewise languages: &lt;a href=&quot;http://www.cs.nyu.edu/~mohri/pub/ptl.pdf&quot; rel=&quot;nofollow&quot;&gt;Learning Linearly Separable Languages&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The work of Clark &amp;amp; Thollard was refined by Castro &amp;amp; Gavalda in a way that can fit what you are looking for : &lt;a href=&quot;http://www.lsi.upc.edu/~gavalda/icgi08proceedings.pdf&quot; rel=&quot;nofollow&quot;&gt;Towards feasible PAC-learning probabilistic deterministic finite automata&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;And this work is a good answer of the initial question: &lt;a href=&quot;http://www.cs.yale.edu/homes/aspnes/papers/alt2012-proceedings.pdf&quot; rel=&quot;nofollow&quot;&gt;On the Learnability of Shuffle Ideals&lt;/a&gt;. One of the authors is likely to be the same person who formerly asked the question here, but I found this page by working on that problem and have just found this paper: it might help other to have this reference.&lt;/p&gt;&#xA;" OwnerUserId="14249" LastEditorUserId="14249" LastEditDate="2013-03-18T23:34:06.330" LastActivityDate="2013-03-18T23:34:06.330" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="16927" PostTypeId="1" CreationDate="2013-03-19T04:13:17.403" Score="4" ViewCount="3238" Body="&lt;p&gt;I have a collection of N circles in the plane with various position and radius. Circles move around according to one force and become bound to each other once they overlap. &#xA;I need a fast way to determine if a circle is overlapped/overlaps another, to determine the circle's equations of motion during a time step. &#xA;Once circles have overlapped, they are bound, so it's easy to remember that relationship. &#xA;The problem is to evaluate when circles overlap for the first time. &#xA;Think of cheerios floating on milk. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Obviously I have thought of using a KDTree or a Delaunay Triangulation, but these only take into account the circle centers, not their radius, so the closest circle in a DT Trianle isn't necessarily overlapping, while another might be.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I've read somewhere that a MWVD might work, but I don't understand how that would work. &#xA;D Eppstein has a couple of papers out on Mobius Transformations, and that too is over my head, but it looks like it's related. &#xA;Can anyone point me in the right direction ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks.&lt;/p&gt;&#xA;" OwnerUserId="14253" LastEditorUserId="77" LastEditDate="2013-04-25T05:31:32.897" LastActivityDate="2013-05-25T19:10:36.297" Title="Efficient algorithm to find overlapping circles of various sizes" Tags="&lt;ds.algorithms&gt;&lt;ds.data-structures&gt;" AnswerCount="2" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="16929" PostTypeId="1" CreationDate="2013-03-19T11:13:58.240" Score="10" ViewCount="1404" Body="&lt;p&gt;&lt;strong&gt;Context&lt;/strong&gt;: &lt;a href=&quot;http://lca.ceid.upatras.gr/courses/sttcc/papers/Inverse_SAT.pdf&quot; rel=&quot;nofollow&quot;&gt;Kavvadias and Sideri&lt;/a&gt; have shown that the Inverse 3-SAT problem is coNP Complete: &#xA;Given $\phi$ a set of models on $n$ variables, is there a 3-CNF formula such that $\phi$ is its exact set of models ? &#xA;An immediate candidate formula arises which is the conjunction of all 3-clauses &#xA;satisfied by all models in $\phi$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since it contains all 3-clauses it implies, this candidate formula can easily be transformed into an equivalent formula $F_{\phi}$ which is 3-closed under resolution - The 3-closure of a formula is the subset of its closure under resolution containing only clauses of size 3 or less. A CNF formula is closed under resolution if all possible resolvents are subsumed by a clause of the formula - a clause $c_1$ is subsumed by a clause $c_2$ if all literals of $c_2$ are in $c_1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given $I$, a partial assignment of the variables such that $I$ is not a subset of any model of $\phi$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Call $F_{\phi|I}$, the induced formula by applying $I$ to $F_{\phi}$: &#xA;Any clause that contains a literal which evaluates to $true$ under $I$ is deleted from the formula&#xA; and any literals that evaluate to $false$ under $I$ are deleted from all clauses.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Call $G_{\phi|I}$, the formula that derived from $F_{\phi|I}$ by all possible 3-limited resolutions (in which the resolvent &lt;em&gt;and the operands&lt;/em&gt; have at most 3 literals) and subsumptions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question&lt;/strong&gt;: Is $G_{\phi|I}$ 3-closed under resolution ?&lt;/p&gt;&#xA;" OwnerUserId="6346" LastEditorUserId="6346" LastEditDate="2013-05-14T00:39:26.237" LastActivityDate="2013-08-27T16:04:33.950" Title="About Inverse 3-SAT" Tags="&lt;cc.complexity-theory&gt;&lt;lo.logic&gt;&lt;complexity-classes&gt;&lt;computability&gt;&lt;sat&gt;" AnswerCount="2" CommentCount="8" FavoriteCount="3" CommunityOwnedDate="2013-04-07T14:32:20.920" ContentLicense="CC BY-SA 3.0" />
  <row Id="16930" PostTypeId="1" CreationDate="2013-03-19T12:40:54.957" Score="3" ViewCount="247" Body="&lt;p&gt;Integer programing is one of the most narutal optimization tools.&lt;/p&gt;&#xA;&lt;p&gt;As an analogy of DNF or CNF in the Boolean function theory, we can consider the following equation.&lt;/p&gt;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$x_{1}x_{2}x_{3}+$&lt;/span&gt; &lt;span class=&quot;math-container&quot;&gt;$x_{3}x_{4}x_{5}+x_{1}x_{7}x_{9}=8,x_{i}\in \{0,1\}$&lt;/span&gt;&lt;/p&gt;&#xA;&lt;p&gt;This constraint is not a linear one. However, every variables in any monomial has at most degree &lt;span class=&quot;math-container&quot;&gt;$1$&lt;/span&gt;.Call constraints of this kind &lt;span class=&quot;math-container&quot;&gt;$multi$&lt;/span&gt;-&lt;span class=&quot;math-container&quot;&gt;$lienar$&lt;/span&gt; constraints.&lt;/p&gt;&#xA;&lt;p&gt;We consider the following example as a instance of Multi-linear Integer(&lt;span class=&quot;math-container&quot;&gt;$0$&lt;/span&gt;-&lt;span class=&quot;math-container&quot;&gt;$1$&lt;/span&gt;) programming, which is a system of multi-linear constraints.&lt;/p&gt;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$5x_{1}x_{2}x_{3}+2x_{3}x_{4}x_{5}+x_{1}x_{7}x_{9}=8$&lt;/span&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$11x_{1}x_{3}+3x_{2}x_{4}x_{6}+23x_{3}x_{7}x_{8}+x_{10}=4$&lt;/span&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$x_{2}x_{6}+4x_{3}x_{4}x_{5}+5x_{5}x_{7}x_{9}=4$&lt;/span&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$x_{i} \in \{0,1\} $&lt;/span&gt;&#xA;Where all coefficients of each monomial is integer and polynomial order &lt;span class=&quot;math-container&quot;&gt;$n^{O(1)}$&lt;/span&gt;(&lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt; is the number of variables)&lt;/p&gt;&#xA;&lt;p&gt;Solving Multi-linear 0-1 programming is deciding whether there exists an &lt;span class=&quot;math-container&quot;&gt;$0$&lt;/span&gt;-&lt;span class=&quot;math-container&quot;&gt;$1$&lt;/span&gt; assingment which satisfies all of given multilinear constraints.&lt;/p&gt;&#xA;&lt;p&gt;Ofcourse &lt;span class=&quot;math-container&quot;&gt;$0-1$&lt;/span&gt; programming is a &lt;span class=&quot;math-container&quot;&gt;$NP$&lt;/span&gt;-complete problem in one of the 21 problems which R.Karp showed their completeness. More over Exponential Time Hypothesis seems to  get rid of our hope to construct better sub-exponential time algorithms.&lt;/p&gt;&#xA;&lt;p&gt;My question is :&lt;/p&gt;&#xA;&lt;h1&gt;Q&lt;/h1&gt;&#xA;&lt;p&gt;Are there any &lt;span class=&quot;math-container&quot;&gt;$slightly$&lt;/span&gt; better exponential algorithm for Multi-linear 0-1 programming such as &lt;span class=&quot;math-container&quot;&gt;$2^{n-C\log n}$&lt;/span&gt; time, &lt;span class=&quot;math-container&quot;&gt;$2^{n-C\log ^{2} n}$&lt;/span&gt; times, or &lt;span class=&quot;math-container&quot;&gt;$2^{n-Cn^{0.001}}$&lt;/span&gt; ?(&lt;span class=&quot;math-container&quot;&gt;$C$&lt;/span&gt; is a constant) ,and are there  text-books or papers contains algorithms for integer programming of this type ?&lt;/p&gt;&#xA;" OwnerUserId="14065" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2013-03-19T12:40:54.957" Title="Slightly Faster Exponential Algorithm for Integer Programming with Multi-linear Variables" Tags="&lt;reference-request&gt;&lt;np-hardness&gt;&lt;optimization&gt;&lt;integer-programming&gt;&lt;exp-time-algorithms&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="16931" PostTypeId="2" ParentId="16891" CreationDate="2013-03-19T15:37:35.730" Score="3" Body="&lt;p&gt;There are several flavors of communication complexity.  It &lt;em&gt;sounds&lt;/em&gt; like your &quot;send once&quot; model is uses one-way communication and private messages.  For concreteness, I give short synopses of some different communication complexity variants below.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Say there are k players who wish to jointly compute a function f(x_1,...,x_k) on k different inputs.  Some different variants:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(1) One-way complexity vs interactive communication:  In this setting, player 1 sends a single message, then player 2, etc.  Player k computes the output of the protocol.  With interactive communication, players may speak back and forth.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(2) Broadcast vs. private-messages models:  In the broadcast model of communication, each message is received by all players.  In the private-messages model, messages are sent point-to-point i.e., a message can come from player i to player j.  In this model, if player i wants to communicate with all players, he must send individual messages to each other player.  Broadcast messages is a stronger model, so lower bounds in the broadcast model will give you lower bounds in the private-messages model, and upper bounds for private-messages will give you upper bounds in the broadcast model.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(3) NIH vs. NOF complexity:  In the Number-in-Hand (NIH) communication model, player i sees only x_i.  In the Number-on-the-Forehead (NOF) communication model, player i sees all inputs &lt;em&gt;except&lt;/em&gt; x_i.  NOF lower bounds are harder to show, because players share inputs.  Intuitively, this should allow players to compute a function using less communication, thus making lower bounds harder to prove.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As I said, I sense that you're looking for one-way communication with private messages (and perhaps importantly you're assuming the private messages only go from player i to player i+1).&#xA;This setting is not very well-studied, but the NIH version of this setting is &lt;em&gt;extremely&lt;/em&gt; well-motivated:  The standard reduction from communication complexity to one-pass streaming algorithms naturally gives you a one-way protocol where player i sends a single (private) message to player i+1.  Thus, lower bounds in this setting yield streaming algorithm lower bounds.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are a couple of reasons why the one-way private-message model is not-as-studied, despite having such strong motivation.  First, there's a longer history and more established toolbox for proving lower bounds in the broadcast model.  Second, the lower bounds achieved from the broadcast model are typically very close to the upper bounds you get from the streaming algorithms, so it's not always necessary to use private-messages for your lower bounds.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One example where the communication bound crucially uses private-messages and not broadcast messages is the following bound for estimating the length of the longest increasing subsequence in a stream:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Gal, Gopalan SIAM Journal of Computing 2010. &lt;a href=&quot;http://research.microsoft.com/apps/pubs/default.aspx?id=77601&quot; rel=&quot;nofollow&quot;&gt;Lower Bounds on Streaming Algorithms for Approximating the Length of the Longest Increasing Subsequence&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that their communication bound is for deterministic protocols.  Determining the space complexity of randomized streaming algs for estimating LIS is a big open problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the private messages NIH communication model, there is a recent paper by Woodruff and Zhang that gives several strong communication lower bounds, as well as good applications towards distributed functional monitoring.   They mostly cover interactive (rather than one-way) communication complexity, but it's worth reading.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Woodruff, Zhang STOC12. &lt;a href=&quot;http://arxiv.org/abs/1112.5153&quot; rel=&quot;nofollow&quot;&gt;Tight Bounds for Distributed Functional Monitoring&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="1645" LastEditorUserId="313" LastEditDate="2013-04-22T08:49:48.570" LastActivityDate="2013-04-22T08:49:48.570" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16933" PostTypeId="1" AcceptedAnswerId="16936" CreationDate="2013-03-19T17:33:40.170" Score="9" ViewCount="328" Body="&lt;p&gt;I encountered the following question, which is an easy exercise (spoiler below).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We are given $n$ instances of the halting problem (i.e. TMs $M_1,...,M_n$), and we need to decide exactly which of them halt on $\epsilon$. That is, we need to output $\{i: M_i\text{ halts on }\epsilon\}$. We are given an oracle for the halting problem, but we have to use it a minimal number of times.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is not hard to show that it can be done with $\log (n+1)$ calls.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;My question is: can we prove a lower bound? Is there reason to suspect that such a bound will be very hard to find?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The answer to the question itself (spoiler, hover mouse):&lt;/p&gt;&#xA;&#xA;&lt;blockquote class=&quot;spoiler&quot;&gt;&#xA;  &lt;p&gt; Consider the case of $3$ TMs. We can construct a TM $H_2$ that runs $M_1,M_2,M_3$ in &#xA; parallel, and halts if at least two of them halt (otherwise it gets stuck).&#xA; Similarly, we can construct a TM $H_1$ that halts if at least one of them halts. &#xA; We can then call the oracle on $H_2$. If it halts, then we can run the machines in &#xA; parallel, and wait for one to halt. We can then call the oracle on the last one. If the &#xA; oracle says &quot;no&quot;, then we run the oracle on $H_1$. If it halts, then we run the machines &#xA; until one halts, and it's the only one that halts. If $H_1$ does not halt, then none of &#xA; them halt. Extending this to $n$ machines is easy.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The first observation about this question is that it seems impossible to solve using information-theoretic tools, since we crucially rely on our ability to obtain information by running the machines without the oracle. &lt;/p&gt;&#xA;" OwnerUserId="7531" LastEditorUserId="7531" LastEditDate="2013-03-20T08:34:23.667" LastActivityDate="2013-03-20T08:34:23.667" Title="Lower bound on number of oracle calls for solving $n$ instances of the halting problem" Tags="&lt;computability&gt;&lt;lower-bounds&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16934" PostTypeId="1" CreationDate="2013-03-19T17:57:19.377" Score="4" ViewCount="134" Body="&lt;p&gt;A &lt;a href=&quot;https://en.wikipedia.org/wiki/Perceptron&quot; rel=&quot;nofollow&quot;&gt;perceptron&lt;/a&gt; is a linear classifier.    The standard method for training a perceptron involves maximizing the minimum &lt;a href=&quot;https://en.wikipedia.org/wiki/Margin_%28machine_learning%29&quot; rel=&quot;nofollow&quot;&gt;margin&lt;/a&gt;.  That is, we are trying to find:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$x^* = \text{argmax}_{x\in \text{unit vectors}} \min_{i \in 1..n} A_i x $&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where $x$ is a normal vector to the separating hyperplane, $A$ is the $n\times d$ matrix of input values, $n$ is the number of input data points, $d$ is their diminsion, and $A_i x$ is the dot product between $x$ and the $i$th data point.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is: has there been any work on perceptrons whose hyperplane maximizes the average margin?  That is, &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$x'^* = \text{argmax}_{x\in \text{unit vectors}} \sum_{i \in 1..n} A_i x $ &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is a much easier quantity to calculate because it does not require gradient descent.  The problem is that it is not guaranteed to find separating hyperplanes even when they do exist---the points with low margin aren't given enough weight to do this.&lt;/p&gt;&#xA;" OwnerUserId="10267" LastActivityDate="2013-06-03T15:48:12.020" Title="Are there perceptrons that maximize the average margin, rather than the minimum?" Tags="&lt;reference-request&gt;&lt;machine-learning&gt;" AnswerCount="1" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="16935" PostTypeId="2" ParentId="16933" CreationDate="2013-03-19T19:17:15.770" Score="10" Body="&lt;p&gt;EDIT:  The argument that I had answered with was not wrong, but it was a bit misleading, in that it only showed that the upper bound had to be tight for &lt;em&gt;some&lt;/em&gt; $n$ (which is actually trivial, since it has to be tight when $n=2$ and the bound is 1).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is a more precise argument.  It shows that if the upper bound of $\log_2 n$&#xA;is loose for any particular $n$, then for &lt;em&gt;all&lt;/em&gt; $n$ the number of oracle calls&#xA;required is $O(1)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Surely it is &lt;em&gt;not&lt;/em&gt; $O(1)$, so the upper bound is never loose!  But I don't actually prove that here, and given the other answer to the problem, it doesn't seem worth pursuing.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider the problem of &lt;em&gt;computing the maximum output&lt;/em&gt;:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Given an $n$-tuple $(M_1,\ldots,M_n)$ of Turing machines, &#xA;  compute the maximum output (of the Turing machines that halt, if run on $\epsilon$).&#xA;  If none of them halt, return 0.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;As a function of $n$, the worst-case number of oracle calls required to compute this function is the same as the number required to decide which of $n$ given machines halt.  (If I know which machines halt, I can easily compute the maximum output.&#xA;Conversely, if I want to know which machines halt, &#xA;following the construction in the problem statement,&#xA;I can construct machines $\{M'_i\}$ $(i=1,2,\ldots,n)$&#xA;where $M'_i$ runs all of the $n$ given machines in parallel, &#xA;then halts and output $i$ if $i$ of them ever halt.&#xA;The maximum output will tell me the number that halt.&#xA;From that I can compute exactly which halt.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, let $n_0$ be the smallest integer $n$ (if any) such that the following holds:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Using $C(n) = \max\{k \in \mathbb{Z} : 2^k &amp;lt; n\}$ oracle calls, one can compute the maximum output of $n$ given machines.&#xA;  (That is, the upper bound is not tight for $n$.)&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Clearly $n_0&amp;gt;1$, because $C(1) = -1$.  In fact, $n_0&amp;gt;2$ also, because $C(2) = 0$, &#xA;but it is undecidable to compute the maximum output of $2$ given machines&#xA;(with no oracle calls).  Now consider larger $n$:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Claim:&lt;/strong&gt; &lt;em&gt;If $n_0$ is finite, then, for any $n$, one can compute the maximum output of $n$ given machines in $C(n_0)$ oracle calls.&lt;/em&gt; (Note that if $n_0$ is finite, then $C(n_0) = O(1)$.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Proof.&lt;/em&gt;.  We prove it by induction on $n$.  The base cases are $n\le n_0$, which hold by definition of $n_0$ and $C$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $Q_0$ be the TM that, given any $n_0$ Turing machines, computes the maximum output &#xA;using only $C(n_0)$ calls to the oracle.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Fix any $n&amp;gt;n_0$. Given any $n$ machines $M_1,\ldots, M_n$, compute the maximum output as follows.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Focus on the first  $M_1,\ldots,M_{n_0}$ machines.&#xA;Consider running $Q_0$ on these $n_0$ machines.&#xA;Note that $Q_0$ makes $C(n_0)$ calls to the oracle,&#xA;and there are only $n' = 2^{C(n_0)}$ possible responses&#xA;by the oracle to these calls.  Note that by definition $n' = 2^{C(n_0)} &amp;lt; n_0$.&#xA;Let $o_i$ denote the $i$th possible response.&#xA;For each $i=1,\ldots,n'$, construct a machine $M'_i$ &#xA;that simulates $Q_0$ on these machines as follows:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;TM $M'_i$ (on input $\epsilon$):&lt;/p&gt;&#xA;  &#xA;  &lt;ol&gt;&#xA;  &lt;li&gt;Simulate $Q_0$ on the $n_0$ machines $(M_1,\ldots,M_{n_0})$, but instead of calling the oracle, assume the oracle responds according to $o_i$.&lt;/li&gt;&#xA;  &lt;li&gt;This simulation might not halt (e.g. if $o_i$ is not what the oracle would actually return).&lt;/li&gt;&#xA;  &lt;li&gt;If the simulation halts, let $h_i$ be the maximum output that $Q_0$ says would be given.&lt;/li&gt;&#xA;  &lt;li&gt;Dovetail all $n_0$ machines $(M_1,\ldots,M_{n_0})$.  If one of them ever outputs $h_i$, stop and output $h_i$.&lt;/li&gt;&#xA;  &lt;/ol&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Now, in the given sequence of $n$ machines, replace the first $n_0$ machines $M_1,\ldots,M_{n_0}$ by these $n'&amp;lt; n_0$ machines $M'_1,\ldots,M'_{n'}$.&#xA;Return the value computed by recursing on this sequence of $n-(n_0-n') &amp;lt; n$ machines.&#xA;(Note that the oracle is not called before recursing, so that the oracle is only called once the base case is reached.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is why this computation is correct.&#xA;For the $i$ such that $o_i$ is the ``correct'' response by the oracle $Q_0$ to the queries, $M'_i$ would halt and give the correct maximum output of the original $n_0$ machines.  Thus, the maximum output of the $n'$ machines $(M'_1,\ldots,M'_{n'})$ &#xA;is at least the maximum output of the $n_0$ machines $(M_1,\ldots,M_{n_0})$.&#xA;On the other hand, by step 4, no $M'_i$&#xA;can give an output that is larger than the maximum output of $(M_1,\ldots,M_{n_0})$.&#xA;Thus, the maximum output of the $n'$ machines $(M'_1,\ldots,M'_{n'})$&#xA;equals the maximum output of the $n_0$ machines that they replace. QED&lt;/p&gt;&#xA;" OwnerUserId="8237" LastEditorUserId="8237" LastEditDate="2013-03-19T22:21:59.493" LastActivityDate="2013-03-19T22:21:59.493" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16936" PostTypeId="2" ParentId="16933" CreationDate="2013-03-19T20:25:53.353" Score="11" Body="&lt;p&gt;The result can be found in&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Beigel, R., Gasarch, W. I., Gill, J., and Owings, J.  &lt;a href=&quot;http://dx.doi.org/10.1006/inco.1993.1014&quot;&gt;Terse, superterse, and verbose sets&lt;/a&gt;.  Inform. and Comput. 103 (1993), no. 1, 68–85. &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Their proof in fact shows that your problem cannot be solved with fewer than $\log_2 n$ queries to &lt;em&gt;any&lt;/em&gt; set $X$, let alone to the halting problem itself. For some notation, your problem is sometimes denoted $C_n^K$ or $C_n^{HALT}$ (depending on your favorite notation for the halting problem).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For this and many related results, see also:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://www.cs.umd.edu/~gasarch/papers/bdq-survey-tech.pdf&quot;&gt;This survey&lt;/a&gt; by Gasarch&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The book &lt;a href=&quot;http://www.ams.org/mathscinet-getitem?mr=1725425&quot;&gt;Bounded Queries in Recursion Theory&lt;/a&gt; by Gasarch and Martin.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="129" LastActivityDate="2013-03-19T20:25:53.353" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16937" PostTypeId="1" AcceptedAnswerId="16943" CreationDate="2013-03-20T03:39:42.837" Score="18" ViewCount="995" Body="&lt;p&gt;In a &lt;a href=&quot;https://lists.chalmers.se/pipermail/agda/2013/thread.html#5135&quot;&gt;recent thread&lt;/a&gt; on the Agda mailing list, the&#xA;question of $\eta$ laws popped up, in which Peter Hancock made &lt;a href=&quot;https://lists.chalmers.se/pipermail/agda/2013/005138.html&quot;&gt;thought-provoking remark&lt;/a&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;My understanding is that $\eta$ laws come with negative&#xA;types, ie. connectives which introduction rules are invertible. To disable $\eta$ for functions, Hank suggests using a custom-made eliminator, &lt;em&gt;funsplit&lt;/em&gt;, instead of the usual application rule. I would like to understand Hank's remark in terms of polarities.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, there are two presentations $\Sigma$-types. There is the&#xA;traditional Martin-Löf &lt;em&gt;split&lt;/em&gt; eliminator, in a positive style:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;\begin{array}{l}&#xA;\Gamma \vdash f : (a : A)(b : B\: a) \to C (a , b) \\&#xA;\Gamma \vdash p : \Sigma a : A. B \\&#xA;\hline \\&#xA;\Gamma \vdash \mathrm{split}\: f\: p : C\: p&#xA;\end{array}&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;And there is the negative version:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;\begin{array}{l}&#xA;\Gamma \vdash p : \Sigma a : A. B \\&#xA;\hline \\&#xA;\Gamma \vdash \pi_0\: p : A&#xA;\end{array}&#xA;\qquad&#xA;\begin{array}{l}&#xA;\Gamma \vdash p : \Sigma a : A. B \\&#xA;\hline \\&#xA;\Gamma \vdash \pi_1\: p : B[\pi_0\: p / a]&#xA;\end{array}&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This latter presentation makes it easy to obtain $\eta$ for pairs,&#xA;ie. $(\pi_0 p , \pi_1 p) == p$ for any pair $p$ (where == stands for the definitional equality). In terms of provability, this difference does not matter: intuitionistically, you can implement projections with split, or the&#xA;other way around.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, $\Pi$-types are usually (and uncontroversially, I believe) taken negatively:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;\begin{array}{l}&#xA;\Gamma \vdash f : \Pi a : A. B \\&#xA;\Gamma \vdash s : A \\&#xA;\hline \\&#xA;\Gamma \vdash f s : B[s / a] &#xA;\end{array}&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Which gives us $\eta$ for functions: $\lambda x. f x == f$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, in that mail, Hank recalls&#xA;the &lt;em&gt;funsplit&lt;/em&gt; eliminator (Programming in ML type theory, [http://www.cse.chalmers.se/research/group/logic/book/], p.56). It is&#xA;described in the logical framework by:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;\begin{array}{l}&#xA;f \in \Pi(A, B) \\&#xA;C(v)\: Set [v \in \Pi(A, B)] \\&#xA;d(y) \in C(\lambda(y)) [y(x) \in B(x) [x \in A]] \\&#xA;\hline \\&#xA;\mathrm{funsplit}(f, d) \in C(f)&#xA;\end{array}&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Interestingly, Nordstrom et al. motivate this definition by saying that&#xA;&quot;[this] alternative non-canonical form is based on the principle of&#xA;structural induction&quot;. There is a strong smell of positivity to this statement: functions would be 'defined' by their constructor, $\lambda$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, I cannot quite nail down a satisfactory presentation of that&#xA;rule in natural deduction (or, even better, sequent calculus). The&#xA;(ab)use of the logical framework to introduce $y$ seems crucial here.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, is &lt;em&gt;funsplit&lt;/em&gt; a positive presentation of $\Pi$-types? Do we also have something similar in the&#xA;(non dependent) sequent calculus? What would it look like? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;How common/curious is that for the proof theorists in the field?&lt;/p&gt;&#xA;" OwnerUserId="10744" LastActivityDate="2013-03-31T12:35:10.747" Title="funsplit and polarity of Pi-types" Tags="&lt;lo.logic&gt;&lt;type-theory&gt;&lt;lambda-calculus&gt;&lt;proof-theory&gt;" AnswerCount="3" CommentCount="0" FavoriteCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="16938" PostTypeId="1" AcceptedAnswerId="16941" CreationDate="2013-03-20T06:09:38.423" Score="7" ViewCount="500" Body="&lt;p&gt;In channel coding, it is known (e.g. &lt;a href=&quot;http://people.lids.mit.edu/yp/homepage/data/thesis.pdf&quot; rel=&quot;nofollow&quot;&gt;Yury Polyanskiy's thesis&lt;/a&gt;, and the arxiv article &lt;a href=&quot;http://arxiv.org/abs/1212.3689&quot; rel=&quot;nofollow&quot;&gt;A Tight Upper Bound for the Third-Order Asymptotics of Discrete Memoryless Channels&lt;/a&gt;) that certain codes, for example polar codes, can reach the Shannon limit for large enough block lengths $n$. However, for finite $n$, the best theoretically possible codes are known to satisfy&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\log M \leq n C - \sqrt{n V}\, \Phi^{-1}(1-ε) + \frac{1}{2} \log n + O(1),$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where $M$ is the size of the code, $C$ the capacity of the channel, $V$ the dispersion of the channel, and $ε$ the required (average or maximum) error.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is it known how Polar codes (or any other codes) compare to this fundamental bound? The bound can be achieved using random codes, but I was wondering if there are any efficient codes that come close.&lt;/p&gt;&#xA;" OwnerUserId="14034" LastEditorUserId="191" LastEditDate="2013-05-04T07:47:56.997" LastActivityDate="2013-05-04T07:47:56.997" Title="Can Polar Codes (or any other efficient codes) reach the second order capacity?" Tags="&lt;it.information-theory&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16939" PostTypeId="2" ParentId="16730" CreationDate="2013-03-20T12:59:42.133" Score="1" Body="&lt;p&gt;For the Inner Product function that quantity is $2^{n/2}$, which is the largest possible value.&lt;/p&gt;&#xA;" OwnerUserId="259" LastActivityDate="2013-03-20T12:59:42.133" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="16940" PostTypeId="2" ParentId="3540" CreationDate="2013-03-20T14:07:11.793" Score="11" Body="&lt;p&gt;Automata Theory: An Algorithmic Approach &#xA;by Javier Esparza&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www7.in.tum.de/~esparza/automatanotes.html&quot;&gt;http://www7.in.tum.de/~esparza/automatanotes.html&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="14275" LastActivityDate="2013-03-20T14:07:11.793" CommentCount="0" CommunityOwnedDate="2013-03-20T14:07:11.793" ContentLicense="CC BY-SA 3.0" />
  <row Id="16941" PostTypeId="2" ParentId="16938" CreationDate="2013-03-20T15:30:35.790" Score="7" Body="&lt;p&gt;As far as I know, people conjecture that for Polar codes and any fixed DMBSC (discrete memoryless binary symmetric channel), $\log M \leq nC - O(n^{1-c})$ for some absolute constant $c &amp;gt; 0$ and vanishing error probability should be possible (or in other words, in order to be $\epsilon$ close to capacity, only a polynomially large $n$ in $1/\epsilon$ would suffice. However, there is no rigorous published proof available at this point. There are rumors about an upcoming proof, but that's not official yet.&lt;/p&gt;&#xA;" OwnerUserId="6190" LastEditorUserId="6190" LastEditDate="2013-03-20T17:09:10.983" LastActivityDate="2013-03-20T17:09:10.983" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="16942" PostTypeId="1" CreationDate="2013-03-20T16:45:35.253" Score="5" ViewCount="143" Body="&lt;p&gt;A naive question perhaps: are there any results/references about $AC^0$ circuits with multiple outputs? Namely, I'm interested in the natural generalization of the Min-$AC^0_d$ problem (find a circuit of depth $d$ with minimal size that implements a given Boolean function). The generalization would be: find a circuit of depth $d$ with minimal size and $\log_2k$ outputs (or $k$ outputs if this encoding is more convenient -- $k$ is small anyway) that implements a given function $f:{\mathbb B}^n\to \{0,\ldots,k-1\}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I've tried googling but without effect (it's hard to google for $AC^0$ anyway). Any pointers would be much appreciated -- hardness results, inapproximability results, heuristics for solving the problem in practice...&lt;/p&gt;&#xA;" OwnerUserId="14278" LastEditorUserId="-1" LastEditDate="2013-04-13T19:04:20.323" LastActivityDate="2013-04-13T19:04:20.323" Title="Multiple output $AC^0$ circuits?" Tags="&lt;cc.complexity-theory&gt;&lt;circuit-complexity&gt;" AnswerCount="0" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="16943" PostTypeId="2" ParentId="16937" CreationDate="2013-03-20T18:41:25.180" Score="12" Body="&lt;p&gt;The presentation of functional elimination using $\mathrm{funsplit}$ is most definitely not a usual occurrence in most treatments of type theory. However, I believe that this form is indeed the &quot;positive&quot; presentation of the elimination of functional types. The issue here is that you need a form of Higher-Order pattern matching, see e.g. &lt;a href=&quot;http://www.lix.polytechnique.fr/Labo/Dale.Miller/papers/jlc91.pdf&quot;&gt;Dale Miller&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Allow me to re-formulate your rule in a way that is clearer to me:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;\begin{array}{l}&#xA;\Gamma\vdash f : \Pi x:A. B \\&#xA;\Gamma, z:\Pi x:A. B\vdash C : Set\\&#xA;\Gamma, [x:A]F(x):B\vdash e : C\{\lambda x:A.F(x)/z\}\\&#xA;\hline \\&#xA;\mathrm{match}\ f\ \mathrm{with}\ \lambda x:A. F(x)\Rightarrow e : C\{f/z\}&#xA;\end{array}&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Where $F$ is a &lt;strong&gt;meta-variable&lt;/strong&gt; of type $B$ in the context $x:A$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The rewrite rule then becomes:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$ \mathrm{match}\ \lambda x:A.t\ \mathrm{with}\ \lambda x:A. F(x)\Rightarrow e\quad \rightarrow\quad e\{t\{u/x\}/F(u)\}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This allows you to define application as:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\mathrm{app}(t,u)=\mathrm{match}\ t\ \mathrm{with}\ \lambda x:A. F(x)\Rightarrow F(u) $$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Beyond the fact that this requires a &quot;logical framework-style&quot; type-system to be valid, the hassle (and limited need) of higher-order unification makes this formulation unpopular.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, there is a place where the positive/negative distinction is present in the literature: the formulation of &lt;strong&gt;logical relation predicates&lt;/strong&gt;. The two possible definitions (in the unary case) are&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$[\![\Pi x:A.B]\!] = \{t\mid \forall u\in [\![ A]\!], tu \in[\![B]\!]_{x\mapsto u} \} $$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;and&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$[\![\Pi x:A.B]\!] = \{t\mid t\rightarrow^* \lambda x.t', \forall u\in[\![A]\!], t'\{u/x\}\in[\![B]\!]_{x\mapsto u}\} $$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The second version is less common, but can be found e.g. in &lt;a href=&quot;http://www.lix.polytechnique.fr/Labo/Benjamin.Werner/publis/moduloJSL.pdf&quot;&gt;Dowek and Werner&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="3984" LastActivityDate="2013-03-20T18:41:25.180" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16945" PostTypeId="1" CreationDate="2013-03-21T06:05:09.073" Score="2" ViewCount="70" Body="&lt;p&gt;&lt;strong&gt;The problem:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I come across a theoretical problem when designing characters for electron-Beam lithography. Abstractly, given an integer $m$, let $\mathcal{M}$ be the set of $(0,1)$-matrix $A_{p\times q}$ satisfying&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) $1 \leq p,q \leq m$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) $A(1,1) = A(p,q) = 1$ and $A(i,j) = 0$ otherwise.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I want to find the smallest $n$ and an $(0,1)$-matrix $B_{n\times n}$ so that $B$ &lt;em&gt;contains&lt;/em&gt; every matrix in $\mathcal{M}$. We define that $B$ &lt;em&gt;contains&lt;/em&gt; a matrix $A$ if and only if there exists $1 \leq i,j \leq n$ so that $A_{p \times q} = B(\{i,\dots,i+p-1\}, \{j,\dots,j+q-1\})$. Informally speaking, we want the template $B$ contains every patterns in $\mathcal{M}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem looks like a 2D extension of the shortest superstring problem. However, the patterns are very restricted. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;The questions:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) Is this problem NP-hard or not?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) Could we come up with an approximation algorithm with performance guarantees?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;3) If both of questions one and two are hard to answer, what are good heuristics for designing the template $B$? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;4) Suppose $\mathcal{M}$ is a given set of matrices without constraints, can we still solve it with an approximation algorithm?&lt;/p&gt;&#xA;" OwnerUserId="14097" LastActivityDate="2013-03-21T06:05:09.073" Title="Small area containing large amount of patterns" Tags="&lt;ds.algorithms&gt;&lt;np-hardness&gt;&lt;approximation-algorithms&gt;&lt;optimization&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="16947" PostTypeId="1" CreationDate="2013-03-21T09:55:51.487" Score="-5" ViewCount="148" Body="&lt;p&gt;I guess the question is &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&quot;does an 'infinite' number of patterns imply 'every' number of&#xA;  patterns?&quot;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;For instance, if you could quickly calculate the decimal sequence of π, could you not (in theory of course) come up with an algorithm to search that sequence for some pre-determined sequence?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then you could do this:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;start = findInPi(sequence)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;So &quot;sequence&quot; in theory could be a decimal representation of the movie &quot;The Life of Pi&quot;.  The implication is that all digital knowledge (past, present and future) is bound up in irrational numbers (not just the group of irrational numbers, but each irrational number), and we just need to know the index to pull data out.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Once you know the index and length of data, then  you could simply pass this long.  &lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;playMovie(piSequence(start, length))&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;From an encryption standpoint, you could pass the start, length pair around, and the irrational number would be known only by the private key holder.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Am I off base here?&lt;/p&gt;&#xA;" OwnerUserId="13943" LastActivityDate="2013-03-21T10:08:01.930" Title="Do irrational number contain infinate/every patterns of sequences?" Tags="&lt;ds.algorithms&gt;&lt;soft-question&gt;&lt;homomorphic-encryption&gt;" AnswerCount="1" CommentCount="3" ClosedDate="2013-03-22T22:31:31.597" ContentLicense="CC BY-SA 3.0" />
  <row Id="16948" PostTypeId="2" ParentId="16947" CreationDate="2013-03-21T10:01:59.590" Score="1" Body="&lt;p&gt;Well, this is not exact.&#xA;Clearly there exists an irrational number that contains all patterns - simply concatenate all finite patterns (e.g. in lexicographical order, from shortest and up)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, not every number contains all these patterns. Indeed, you can construct an irrational number by concatenating the binary sequences &quot;000&quot; and &quot;111&quot;, which will give you a very limited set of patterns (albeit infinite).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, your question seems to assume that if a number contains all possible patterns, then it is also computable where each pattern starts - this is most likely untrue, unless it is a very specific number (e.g. the one described above).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A somewhat related idea is &lt;a href=&quot;http://en.wikipedia.org/wiki/Chaitin%27s_constant&quot; rel=&quot;nofollow&quot;&gt;Chaitin's Constant&lt;/a&gt;, perhaps you will find it relevant.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, observe that the term &quot;quickly calculate the decimal sequence&quot; is not well-defined. You cannot calculate in the sense of writing it down, as it is infinite and might not have a finite representation. What you can ask is for an algorithm that gives the $i$-th digit, in time polynomial in $i$ (or indeed, just that the $i$-th digit is computable for every $i$). The link above demonstrates a number for which it is provably impossible.&lt;/p&gt;&#xA;" OwnerUserId="7531" LastEditorUserId="7531" LastEditDate="2013-03-21T10:08:01.930" LastActivityDate="2013-03-21T10:08:01.930" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16949" PostTypeId="1" AcceptedAnswerId="16954" CreationDate="2013-03-21T11:05:16.357" Score="7" ViewCount="330" Body="&lt;p&gt;I am about to begin a verification project (for MIPS)  with my professor (I am a senior undergraduate) and have been told that the soundness proof for the program logic we need will probably involve step-indexing. I have read the &lt;a href=&quot;http://delivery.acm.org/10.1145/1200000/1190235/p109-appel.pdf?ip=137.132.3.10&amp;amp;acc=AUTHOR-IZED&amp;amp;CFID=194763560&amp;amp;CFTOKEN=29858435&amp;amp;__acm__=1363863619_b7110046a48ec37b7fe67cba12d248ef&quot; rel=&quot;nofollow&quot;&gt;Very Modal Model&lt;/a&gt; paper by Appel et al. and after a short tutorial by my prof, I think I have a basic understanding of step-indexing. However it has been kind of slow going. Especially when the $\mu$ operator and contravariance come up.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would like to ask for either the original papers where step-indexing was introduced (from what I understand it traces back to the 50-60s? but am having trouble finding them) or if someone can point out a tutorial, that would also be great.&lt;/p&gt;&#xA;" OwnerUserId="8973" LastEditorUserId="-1" LastEditDate="2013-04-13T19:04:39.700" LastActivityDate="2013-04-13T19:04:39.700" Title="Step-indexing: Where to begin?" Tags="&lt;reference-request&gt;&lt;pl.programming-languages&gt;&lt;program-verification&gt;&lt;formal-methods&gt;&lt;operational-semantics&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16950" PostTypeId="1" AcceptedAnswerId="16956" CreationDate="2013-03-21T11:36:03.390" Score="1" ViewCount="520" Body="&lt;p&gt;(note: this is probably a beginner question, and English is not my first language)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Recently, I have read a paper that used the “Java Modeling Language” (JML), see for instance:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.eecs.ucf.edu/~leavens/JML//index.shtml&quot; rel=&quot;nofollow&quot;&gt;http://www.eecs.ucf.edu/~leavens/JML//index.shtml&lt;/a&gt;&lt;br&gt;&#xA;&lt;a href=&quot;http://www.eecs.ucf.edu/~leavens/JML/fmco.pdf&quot; rel=&quot;nofollow&quot;&gt;http://www.eecs.ucf.edu/~leavens/JML/fmco.pdf&lt;/a&gt;  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;a) certified Software&lt;br&gt;&#xA;To my understanding, a sorting algorithm proven correct in the theorem prover Coq (and possibly extracted to an ocaml program) is &quot;certified software&quot; or formally verified software, as a mathematical proof of the correctness can be extracted and possibly manually verified.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;b) model checking&lt;br&gt;&#xA;software verified via model checking is not certified or formally verified software, as the model checker has to be trusted.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;How does the &quot;Java Modeling Language&quot; (JML) compare for verification purposes?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Okay, I think I get it. It is not about software verification, as it is stated that:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The contracts are defined by program code&#xA;in the programming language itself, and are trans-&#xA;lated into executable code by the compiler. Thus,&#xA;any violation of the contract that occurs &lt;strong&gt;while the&#xA;program is running can be detected immediately.&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I cannot find a real example of verification in the above paper, at least not in the sense of model checking or certified software, so I guess they just don't have an emphasis on formal methods. &lt;/p&gt;&#xA;" OwnerUserId="7724" LastEditorUserId="-1" LastEditDate="2013-04-13T19:04:37.247" LastActivityDate="2013-04-13T19:04:37.247" Title="Verification: how 'formal' is a tool like Java Modeling Language (JML) compared to certified libraries and model checking?" Tags="&lt;pl.programming-languages&gt;&lt;program-verification&gt;&lt;formal-methods&gt;&lt;se.software-engineering&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16951" PostTypeId="1" AcceptedAnswerId="16979" CreationDate="2013-03-21T11:43:16.973" Score="15" ViewCount="287" Body="&lt;p&gt;There has been fantastic work done on the Permanent going on for the last two decades.I have been wondering for a while about the possibility of a Smooth P algorithm for the Permanent of Nonnegative Matrices. There is of course the famous JSV algorithm but this is a fpras. Thinking about other work within Smoothed Complexity, a strong hint of being in Smoothed P was the existence of a fpras / Psuedopolynomial algorithm. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there any obstructions to the Nonnegative Permanent being in Smoothed P?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks in advance&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Zelah&lt;/p&gt;&#xA;" OwnerUserId="10136" LastEditorUserId="-1" LastEditDate="2013-04-13T19:03:58.743" LastActivityDate="2013-04-13T19:03:58.743" Title="Smooth Complexity of the Nonnegative Permanent" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="16952" PostTypeId="2" ParentId="16902" CreationDate="2013-03-21T12:15:31.447" Score="5" Body="&lt;p&gt;Regarding the problem of equivalence of Subset Sum and Subset Product There is an technicality regarding Subset Product. Product of x's = T is actually Psuedopolynomial if T is not exponential! So the proofs of Subset Product being NP Hard are not (for technical reasons!!!) quite correct! &lt;/p&gt;&#xA;&#xA;&lt;p&gt;However given a promise that T is Large Then the reduction via Logarithms to Subset Sum gives a NONSTANDARD SUBSET SUM which is over the reals! This means that the Psuedopolynomial algorithm for Subset Sum Does not apply! Although the Logarithms are small, the decimal places messes up the Psuedopolynomial Dynamic Programming! &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I hope this helps&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Zelah&lt;/p&gt;&#xA;" OwnerUserId="10136" LastActivityDate="2013-03-21T12:15:31.447" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16953" PostTypeId="1" AcceptedAnswerId="16975" CreationDate="2013-03-21T12:22:41.637" Score="7" ViewCount="778" Body="&lt;p&gt;Constraint types have been proposed by IBM in their X10 programming language (it's a commercial programming language, not open source software).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Nystrom, Nathaniel, et al. &quot;Constrained types for object-oriented languages.&quot; ACM Sigplan Notices. Vol. 43. No. 10. ACM, 2008.&#xA;&lt;a href=&quot;http://www.model.in.tum.de/um/reading-group/Grothoff.oopsla08.pdf&quot; rel=&quot;nofollow&quot;&gt;http://www.model.in.tum.de/um/reading-group/Grothoff.oopsla08.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;How do “constraint types” compare to dependent types? Or do they resemble more one of the haskell extensions that simulate dependent types?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can say the vector append from Agda be typed as say Lists in X10?&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;_++_ : ∀ {m n} {A : Set} → Vec A m → Vec A n → Vec A (m + n)  &#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Further references on constraint types:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Saraswat, Vijay, et al. &quot;Constrained Types-Future Directions.&quot; CP-18th International Conference on Principles and Practice of Constraint Programming-2012. 2012.&#xA;&lt;a href=&quot;http://www.cs.nyu.edu/~lianah/files/CP-2012.pdf&quot; rel=&quot;nofollow&quot;&gt;http://www.cs.nyu.edu/~lianah/files/CP-2012.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Nystrom, Nathaniel, et al. &quot;Genericity through Constrained Types.&#xA;&lt;a href=&quot;http://www.nanocow.com/nystrom/papers/generics.pdf&quot; rel=&quot;nofollow&quot;&gt;http://www.nanocow.com/nystrom/papers/generics.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Tardieu, Olivier, et al. &quot;Constrained kinds.&quot; Proceedings of the ACM international conference on Object oriented programming systems languages and applications. ACM, 2012.&#xA;&lt;a href=&quot;http://www.inf.usi.ch/faculty/nystrom/papers/res0179-tardieu.pdf&quot; rel=&quot;nofollow&quot;&gt;http://www.inf.usi.ch/faculty/nystrom/papers/res0179-tardieu.pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="7724" LastEditorUserId="-1" LastEditDate="2013-04-13T19:04:42.293" LastActivityDate="2013-04-13T19:04:42.293" Title="Constraint types (IBM/X10) compared to dependent types" Tags="&lt;pl.programming-languages&gt;&lt;type-theory&gt;&lt;type-systems&gt;&lt;dependent-type&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="16954" PostTypeId="2" ParentId="16949" CreationDate="2013-03-21T14:17:01.457" Score="9" Body="&lt;p&gt;Amal Ahmed's very readable &lt;a href=&quot;http://www.cs.princeton.edu/research/techreps/TR-713-04&quot;&gt;thesis dissertation&lt;/a&gt; could be a nice start.&lt;/p&gt;&#xA;" OwnerUserId="3984" LastActivityDate="2013-03-21T14:17:01.457" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16956" PostTypeId="2" ParentId="16950" CreationDate="2013-03-21T16:34:48.553" Score="3" Body="&lt;p&gt;This is a strange comparison. Your question is comparable to asking &quot;how expressive is the ANSI C language specification compared to stdlib and compilation&quot;. The comparisons don't make sense.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;The Java Modelling Language can be used as a specification language to specify properties of code. The language alone does not solve the problem of verifying whether these properties are satisfied.&lt;/li&gt;&#xA;&lt;li&gt;A model checker allows you to check if a system with a transition system semantics satisfies a logical formula. The formula is typically written in a propositional temporal or modal logic though first-order and other extensions exist. Nonetheless, most model checkers used in practice do not support specification languages with quantifiers. I do not know of a model checker that supports a specification language as rich as JML. &lt;/li&gt;&#xA;&lt;li&gt;A certified library contains code that provides certain guarantees. Those guarantees may have been provided using a theorem prover, or a model checker, or by doing a  manual proof. &lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;If you want a mathematical comparison, to me, it's like comparing the formulae of first order arithmetic (a language), the principle of induction (a proof technique) and a collection of theorems in a number theory textbook. They are related concepts but they do not achieve the same goal so comparing them does not make sense. &lt;/p&gt;&#xA;" OwnerUserId="4155" LastActivityDate="2013-03-21T16:34:48.553" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="16957" PostTypeId="1" CreationDate="2013-03-21T20:41:25.067" Score="4" ViewCount="994" Body="&lt;p&gt;Recall that in the vertex cover problem we are given an undirected graph ${G=(V,E)}$ and we want to find a minimum-size set of vertices ${S}$ that “touches” all the edges of the graph, that is, such that for every ${(u,v)\in E}$ at least one of ${u}$ or ${v}$ belongs to ${S}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let us apply the methodology described in the first section. Given a graph ${G=(V,E)}$ and vertex costs ${c(\cdot)}$, we can formulate the minimum vertex cover problem for ${G}$ as an ILP by using a variable ${x_v}$ for each vertex ${v}$, taking the values $0$ or $1$, with the interpretation that ${x_v=0}$ means that ${v\not\in S}$, and ${x_v=1}$ means that ${v\in S}$. The cost of the solution, which we want to minimize, is ${\sum_{v\in V} x_v c(v)}$, and we want ${x_u+x_v \geq 1}$ for each edge ${(u,v)}$. This gives the ILP&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\displaystyle \begin{array}{lll} {\rm minimize} &amp;amp; \sum_{v\in V} c(v) x_v \\ {\rm subject\ to} \\ &amp;amp; x_u + x_v \geq 1 &amp;amp; \forall (u,v) \in E\\ &amp;amp; x_v \leq 1 &amp;amp; \forall v\in V\\ &amp;amp; x_v \in {\mathbb N} &amp;amp; \forall v\in V \end{array} \ \ \ \ \ (2)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Next, we relax the ILP $(2)$ to a linear program.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\displaystyle \begin{array}{lll} {\rm minimize} &amp;amp; \sum_{v\in V} c(v) x_v \\ {\rm subject\ to} \\ &amp;amp; x_u + x_v \geq 1 &amp;amp; \forall (u,v) \in E\\ &amp;amp; x_v \leq 1 &amp;amp; \forall v\in V\\ &amp;amp; x_v \geq 0 &amp;amp; \forall v\in V \end{array} \ \ \ \ \ (3)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let us solve the linear program in polynomial time, and suppose that ${{\bf x}^*}$ is an optimal solution to the LP $(3)$; how do we “round” it to a $0/1$ solution, that is, to a vertex cover? Let’s do it in the simplest possible way: round each value to the closest integer, that is, define ${x'_v = 1}$ if ${x^*_v \geq \frac 12}$, and ${x'_v = 0}$ if ${x^*_v &amp;lt; \frac 12}$. Now, find the set corresponding to the integral solution ${{\bf x}'}$, that is ${S:= \{ v : x'_v = 1 \}}$ and output it. We have:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The set ${S}$ is a valid vertex cover, because for each edge ${(u,v)}$ it is true that ${x^*_u + x^*_v \geq 1}$, and so at least one of ${x^*_u}$ or ${x^*_v}$ must be at least ${1/2}$, and so at least one of ${u}$ or ${v}$ belongs to ${S}$;&#xA;    The cost of ${S}$ is at most twice the optimum, because the cost of ${S}$ is&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\displaystyle \sum_{v\in S} c(v)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\displaystyle = \sum_{v\in V} c(v)x'_v$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\displaystyle \leq \sum_{v\in V} c(v)\cdot 2 \cdot x^*_v$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\displaystyle = 2\cdot opt(LP)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\displaystyle \leq 2\cdot opt(VC)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;And that’s all there is to it! We now have a polynomial-time 2-approximate algorithm for weighted vertex cover.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I realize that depending on what we pick as our rounding point, that is what our approximation bound is going to be. Therefore since we picked $1/2$ as our rounding point, approximation bound is $2$. If we picked $1/3$ as our rounding point, meaning if $x_v &amp;gt;= 1/3$ then $x_v=1$ and if $x_v &amp;lt; 1/3$ then $x_v=0$, our approximation bound would be $3$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is how to find and show that the rounding we pick is optimal?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks in advance!&lt;/p&gt;&#xA;" OwnerUserId="14292" LastEditorUserId="-1" LastEditDate="2013-04-13T19:04:28.997" LastActivityDate="2013-04-13T19:04:28.997" Title="How to determine proper rounding in linear programming relaxations?" Tags="&lt;ds.algorithms&gt;&lt;linear-programming&gt;&lt;integer-programming&gt;" AnswerCount="0" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="16958" PostTypeId="1" CreationDate="2013-03-21T23:27:37.870" Score="-2" ViewCount="686" Body="&lt;p&gt;It is well-known, I believe, that theoretically, in quite a few cases, an algorithm that solves a decision problem can be turned into an algorithm that solves the corresponding optimization problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am looking for a few examples that show how this can be done, and explain this transformation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would like, though, examples which are practical. Meaning, the algorithm that solves the decision problem could actually turn into a practical algorithm for solving the corresponding optimization problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I know this is somewhat vague, but I can't think of a particular example -- that's what I am exactly looking for...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any ideas?&lt;/p&gt;&#xA;" OwnerUserId="14293" LastActivityDate="2013-03-22T06:00:16.153" Title="how do you turn an algorithm for a decision problem into an algorithm for an optimization problem?" Tags="&lt;computability&gt;&lt;optimization&gt;" AnswerCount="2" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="16959" PostTypeId="2" ParentId="16958" CreationDate="2013-03-22T00:18:53.183" Score="0" Body="&lt;p&gt;Well the general condition is that you have a fitness function - a way to quantify the set of choices. If your decision problem is &quot;best value for money&quot; for some arbitrary definition of value, then your fitness function must evaluate the best according to the constraints. The evaluation of the best is then turned into the problem of optimizing (min/max) the fitness function over the set of choices.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If your decision problem for instance is: find the &quot;shortest path from point A to B&quot; in a 3D landscape, you could define the cost function as the distance from A-B. The decision problem is then turned into &quot;minimize the cost of moving from A-B&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The optimizing algorithm may approach the problem in different ways, and usually there is some algo that suits the data structures best.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another decision problem might be &quot;is a given house prized relatively high or low on a given market&quot;. You could do some property analysis and derive a function of cost given house-size [sq-ft], number of rooms, price etc. You could then do some sort of linear regression over the data set. The problem of fitting a function to the data could be turned into a least squares problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I hope my answer helped clarify your questions. If not, please comment and I'll try to elaborate.&lt;/p&gt;&#xA;" OwnerUserId="12108" LastActivityDate="2013-03-22T00:18:53.183" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16964" PostTypeId="2" ParentId="16958" CreationDate="2013-03-22T06:00:16.153" Score="1" Body="&lt;p&gt;Computational Geometry is full of such examples. The main technique to address such problems is called parametric search - which is a rather non-trivial technique and too painful to explain. A classical &quot;easy&quot; example would be the problem of given a sorted matrix of size n by n (rows are sorted, and columns are sorted - say both in increasing order), output the smallest k number in the matrix. Clearly, given a value t, one can count in time $O(n)$, the number of entries in the matrix smaller than $t$ (hint - find the number of elements smaller than $t$ in the first row, and move to the next row, etc). A natural step would now to do a binary search over the values of t. For example, if you knew the values in the matrix are integers between $1$ and $O(n^3)$, this would yield an efficient algorithm to answering the original problem.&lt;/p&gt;&#xA;" OwnerUserId="9594" LastActivityDate="2013-03-22T06:00:16.153" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16965" PostTypeId="1" AcceptedAnswerId="16978" CreationDate="2013-03-22T07:37:09.760" Score="8" ViewCount="2124" Body="&lt;p&gt;Recursion utilizes some self similar nature of an object (some representation of the given problem) to produce some quantitative measure (output) on the object through some algorithm (utilizing the self similar nature). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can one represent algorithms as fractals (such a representation is not possible is not obvious nor how the representation should be if one exists) of some measurable information of the object the algorithm works on? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Has the tools used in the study of fractals provided any illuminating examples for lower or upper bounds for recursive complexity of algorithms?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am looking for examples and references along the lines of whether algorithms can be treated as fractals and tools about fractals can be used to prove results about algorithms.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;just added&lt;/strong&gt; Would we be compelled to redefine some essential property of Sierpinski triangle if Walsh Transform or Sierpinski triangle transform is shown to be fully linear?&#xA;&lt;a href=&quot;http://en.wikipedia.org/wiki/Walsh_matrix&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/Walsh_matrix&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="1812" LastEditorUserId="1812" LastEditDate="2013-03-31T13:35:37.550" LastActivityDate="2013-03-31T13:35:37.550" Title="Algorithms as fractals" Tags="&lt;cc.complexity-theory&gt;&lt;fractals&gt;" AnswerCount="4" CommentCount="6" FavoriteCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="16966" PostTypeId="1" AcceptedAnswerId="16992" CreationDate="2013-03-22T09:52:29.617" Score="5" ViewCount="721" Body="&lt;p&gt;I guess that notions I describe are already well known, may be by combinatorician, but I do not know their name or any book/article about them. So if you have a link/title I would love to read it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $r$ be an integer, let $P_r$ be the set of partial (pre)order over $[1,r]$ and $T_r$ the set of total (pre)order. I say that $P\in P_r$ is included in $T\in T_r$ if it is included as subset of $[1,r]^2$, or to state it another way, if for all $i,j$ with $i$ less than $j$ for $P$ then it is also less for $T$. Finally I say that $P$ and $P'$ are incompatible if there is $i,j$ with $i&amp;lt;j$ for $P$ and $i&amp;gt;j$ for $P'$ (or if $i=j$ for $P$  and $i&amp;lt;j$ for $P'$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $P\in P_r$ with $i&amp;lt;j$ and no $k$ such that $i&amp;lt;k&amp;lt;j$, then $P_{i,j}$ is the same partial (pre)order, except that $i$ and $j$ are incomparable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would like to find an efficient data structure to store a subset of $P_r$. I can't imagine something better than a trie of depth $r(r-1)/2$, with one level for every pair $(i,j)$ with $i&amp;lt;j$. If possible I would want to be able to efficiently add and remove elements from the set, or at least to easily transform $P$ into $P_{i,j}$ as defined above.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I need to know if for a given subset $S$ of $P_r$ and $P\in P_r$, $P$ is incompatible with every $P'\in S$. Or an equivalent problem would be to figure out if a set $S$ is such that its element are one to one incomparable. I also need to know if for every total (pre)order $T$ it is a superset of a partial order $P\in S$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Intuitively, to each $P\in P_r$ is associate its set $T_P=\{T\in T_r\mid T\supseteq P\}$ and I need to know if $(T_P)_{P\in S}$ form a partition of $T_r$.&#xA;Then let $T_S=\bigcup_{P\in S} T_P$, then I would also be interested by having a way to efficiently describe $T_S$. (That is, efficiently checking for a given $T\in T_r$ if $T\in T_S$.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Finally, I will introduce the real structure I'm interested in, which is more complicated and probably less usual. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A partial preorder $P$ can be seen as partial function from $[1,r]^2$ to $\{&amp;lt;,&amp;gt;,=\}$, where $i=_P j$  if $i&amp;lt;j$ and $j&amp;lt;i$ in $P$ and $f(i,j)$ is undefined if neither $i&amp;lt;j$ nor $i&amp;gt;j$ in $P$. We can associate to $P$ a subset of $\mathbb N^r$ called $\mathbb N_P$ defined by  $(x_1,\dots,x_r)\in \mathbb N_P$ if for all $i&amp;lt;_Pj$  $x_i&amp;lt;x_j$ and for all $i=_Pj$, $x_i=x_j$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The real data structure I must study is the structure of partial function from $[1,r]^2$ to $\{&amp;lt;,\le,&amp;gt;,\ge,=,\not=\}$. I will call this structure &quot;extended preorder&quot;. Let $P$ be an extended preorder,  where $(x_1,\dots,x_r)\in \mathbb N_P$ if for all $i&amp;lt;_Pj$  $x_i&amp;lt;x_j$ and for all $i=_Pj$, $x_i=x_j$, for all $i\le j$, $x_i\le x_j$, and for all $i\not_P=j$, $x_i\not=x_j$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I say that a total preorder $T$ is included in an extended preorder $P$ if $i\le_Pj$ implies $i&amp;lt;_Tj$ or $i=_Tj$, and $i\not=_Pj$ imply $i&amp;lt;_Tj$ or $j&amp;lt;_Ti$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The operation I must have are still the same, having a set $S$ of extended preorder, verify if an extended preorder is incompatible with every extended preorder of the set, and verify that every total preorder is included in an extended preorder of the set. Or to say it another way,  $(\mathbb N_P)_{P\in S}$ is a partition of $\mathbb N^r$.&lt;/p&gt;&#xA;" OwnerUserId="328" LastEditorUserId="-1" LastEditDate="2013-04-13T18:13:19.030" LastActivityDate="2013-04-13T18:13:19.030" Title="Efficient representation of set of partial order" Tags="&lt;ds.algorithms&gt;&lt;partial-order&gt;&lt;order-theory&gt;&lt;total-ordering&gt;" AnswerCount="1" CommentCount="9" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="16967" PostTypeId="1" CreationDate="2013-03-22T10:48:56.423" Score="2" ViewCount="143" Body="&lt;p&gt;It is well-known that Lenstra's famous algorithm (presented in the paper &#xA;&lt;em&gt;Integer programming with a fixed number of variables&lt;/em&gt;) can solve an ILP problem in $O^*(f(k))$ time where k is the number of variables occur in the ILP.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is that whether the algorithm or any of its improved versions can output all feasible solutions in $O^*(f(k))$ time?&lt;/p&gt;&#xA;" OwnerUserId="14175" LastEditorUserId="751" LastEditDate="2016-12-15T00:16:33.323" LastActivityDate="2016-12-15T00:16:33.323" Title="Can Lenstra's algorithm output all feasible solutions in O^*(f(k)) time where k is the number of variables and f is a computable function in k?" Tags="&lt;ds.algorithms&gt;&lt;integer-programming&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="16968" PostTypeId="1" AcceptedAnswerId="17276" CreationDate="2013-03-22T11:08:49.157" Score="3" ViewCount="250" Body="&lt;p&gt;Can i evaluate a formula $(a_i + b_i) \cdot c_i$ if i have the encryption of $a_i,b_i,c_i$ respectively using a homomorphic encryption scheme that supports multiplications and additions, supposing that each value is a small integer? I am aware of &lt;a href=&quot;http://crypto.stanford.edu/~dabo/pubs/papers/2dnf.pdf&quot; rel=&quot;nofollow&quot;&gt;BGN&lt;/a&gt; scheme that evaluates 2-DNF formulas but in my scheme i want the other way around. Instead of $a_1 \cdot b_1 + a_2 \cdot b_2 + \ldots +a_n \cdot b_n$ i want to evaluate $(a_1 + b_1) \cdot c_1 + (a_2 + b_2) \cdot c_2 + \ldots + (a_n + b_n) \cdot c_n$&lt;/p&gt;&#xA;" OwnerUserId="4874" LastEditorUserId="-1" LastEditDate="2013-04-13T19:04:52.437" LastActivityDate="2013-04-16T20:21:52.887" Title="How to homomorphically and &quot;efficiently&quot; evaluate $$(a_1 + b_1) \cdot c_1 + (a_2 + b_2) \cdot c_2 + \ldots + (a_n + b_n) \cdot c_n$$" Tags="&lt;cr.crypto-security&gt;&lt;homomorphic-encryption&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="16969" PostTypeId="1" CreationDate="2013-03-22T11:46:51.190" Score="6" ViewCount="647" Body="&lt;p&gt;Suppose you were teaching an introductory course on logic as part of a TCS curriculum. Furthermore, suppose that you had one week (= two 90 minute lectures) to spare for introducing Prolog on the basis of a theoretical discussion of predicate logic and (definite) logic programming. What would be the topics you'd pick apart from the syntax and procedural semantics of Prolog? Would you introduce SLDNF resolution first or by way of the cut-fail &quot;construction&quot; to implement negation in Prolog programs? What sort of examples would you choose for an audience made up of people who do not know automata and might not even know graphs? There has to be something better than &quot;mere&quot; logic puzzles for more elaborate examples.&lt;/p&gt;&#xA;" OwnerUserId="14300" LastActivityDate="2013-08-19T19:09:08.003" Title="Most important topics for a short introduction to Prolog" Tags="&lt;lo.logic&gt;&lt;teaching&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16970" PostTypeId="2" ParentId="16965" CreationDate="2013-03-22T11:54:45.813" Score="4" Body="&lt;p&gt;You can take a look to the work of Lutz, Mayordomo, Hitchcock, Gu et al. on &lt;a href=&quot;http://en.wikipedia.org/wiki/Effective_dimension&quot; rel=&quot;nofollow&quot;&gt;Effective dimension&lt;/a&gt;:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;... In mathematics, effective dimension is a modification of Hausdorff dimension and other fractal dimensions which places it in a computability theory setting ...&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I found interesting (though I'm not an expert) E. Mayordomo's introductive video &lt;a href=&quot;http://sms.cam.ac.uk/media/1254201&quot; rel=&quot;nofollow&quot;&gt;&quot;Effective Fractal Dimension in Computational Complexity and Algorithmic Information Theory&quot;&lt;/a&gt; (or the related &lt;a href=&quot;http://webdiis.unizar.es/~elvira/publicaciones/efdait.pdf&quot; rel=&quot;nofollow&quot;&gt;paper&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See also: &lt;a href=&quot;http://www.cs.uwyo.edu/~jhitchco/papers/fgcc.pdf&quot; rel=&quot;nofollow&quot;&gt;John M. Hitchcock, Jack H. Lutz, Elvira Mayordomo, &quot;The Fractal Geometry of Complexity Classes&quot;&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2013-03-22T13:24:28.547" LastActivityDate="2013-03-22T13:24:28.547" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16971" PostTypeId="1" CreationDate="2013-03-22T12:17:48.170" Score="6" ViewCount="246" Body="&lt;p&gt;I believe $\mathrm{co}(\mathrm{NP}^A) = (\mathrm{coNP})^A$: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;By definition, $L \in (\mathrm{coNP})^A$ means there is a PTIME Turing machine $M$, allowed to make oracle calls to $A$, such that for any word $w$, all computations of $M$ when started with $w$ on its input tape end in &quot;reject&quot; iff $w \in L$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In other words, for any word $w$, there is some computation of $M$ (with oracle calls to $A$) that ends in &quot;accept&quot; iff $w \notin L$, i.e., iff $\overline{L} \in &#xA;\mathrm{NP}^A$ iff $L \in \mathrm{co}(\mathrm{NP}^A)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is this right?&lt;/p&gt;&#xA;" OwnerUserId="9802" LastEditorUserId="9802" LastEditDate="2013-03-22T12:24:36.737" LastActivityDate="2013-03-22T12:24:36.737" Title="Is $\mathrm{co}(\mathrm{NP}^A) = (\mathrm{coNP})^A$?" Tags="&lt;cc.complexity-theory&gt;" AnswerCount="0" CommentCount="5" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16972" PostTypeId="1" CreationDate="2013-03-22T14:08:56.500" Score="3" ViewCount="194" Body="&lt;p&gt;What are some interesting open or solved-but-hard questions around problems having linear-time solutions?  Ala &lt;a href=&quot;https://cstheory.stackexchange.com/questions/13943/linear-time-in-place-riffle-shuffle-algorithm&quot;&gt;riffle shuffles&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm especially curious about problems which people believe to be linear-time but for which either no linear-time algorithm is known or for which finding one proved difficult. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;As a technical matter, I'm perhaps most interested in weak-linear-time on a single-tape nondeterministic machine, but other linear-time models are still interesting, ala deterministic or multi-tape models.  I'm aware that strong-linear-time on a single tape nondeterministic machine is regular, hence linear-time on a single-tape deterministic machine is regular too. &lt;/p&gt;&#xA;" OwnerUserId="6665" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2013-04-13T19:03:56.023" Title="Open questions about linear-time" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;time-complexity&gt;&lt;nondeterminism&gt;&lt;time-hierarchy&gt;" AnswerCount="0" CommentCount="5" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16974" PostTypeId="1" AcceptedAnswerId="16977" CreationDate="2013-03-22T16:02:55.820" Score="9" ViewCount="835" Body="&lt;p&gt;Much of the quantum computing literature focuses on the circuit model. Adiabatic quantum computing is not based on applying a sequence of unitary operators, but on changing a time-dependent Hamiltonian. I am looking for insight into any of the following.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Is adiabatic quantum computing as powerful as the circuit model, or is it inherently less powerful?&lt;/li&gt;&#xA;&lt;li&gt;Are there complexity classes specifically related to adiabatic computing as opposed to the circuit model?&lt;/li&gt;&#xA;&lt;li&gt;How does one quantitatively measure the power of adiabatic computing versus the power of the circuit model?&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="248" LastEditDate="2013-11-07T10:41:45.600" LastActivityDate="2013-11-07T10:41:45.600" Title="Is adiabatic quantum computing as powerful as the circuit model?" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;complexity-classes&gt;&lt;quantum-computing&gt;&lt;quantum-information&gt;" AnswerCount="2" CommentCount="7" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="16975" PostTypeId="2" ParentId="16953" CreationDate="2013-03-22T16:05:36.217" Score="10" Body="&lt;p&gt;As they explain in the related work section of the 2008 paper, the constraint types they describe are most closely related to &lt;em&gt;refinement types&lt;/em&gt;. I wont give references, as there are plenty in the bibliography of the aforementioned paper, but I can give a quick overview.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Refinement types are a &lt;em&gt;language&lt;/em&gt; that allow the expression of &lt;em&gt;refinements&lt;/em&gt; of the &lt;em&gt;values&lt;/em&gt; of a given type $C$: if $C$ is identified with the expressions of that type, then a refinement $R$ of $C$ is simply a &lt;em&gt;subset&lt;/em&gt; $R\subseteq C$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is extremely helpful, as may allow the expression of &lt;em&gt;invariants&lt;/em&gt; that the code needs to satisfy: say you have a type &lt;code&gt;Rectangle&lt;/code&gt; with three fields, &lt;code&gt;width&lt;/code&gt;, &lt;code&gt;height&lt;/code&gt; and &lt;code&gt;area&lt;/code&gt;. You are interested in the type in which &lt;code&gt;area = width*height&lt;/code&gt;, which you might write:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;{ x :: Rectangle | x.area == x.width*x.height)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;This is useful for expressing pre and post-conditions on your code. Again, a trivial example would be the &lt;code&gt;head&lt;/code&gt; function, which only makes sense on non-empty lists.&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;head :: NonEmptyList&amp;lt;A&amp;gt; -&amp;gt; A&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;In this respect, refinement types capture the notion of &lt;em&gt;contracts&lt;/em&gt;, and are also related to &lt;em&gt;axiomatic semantics&lt;/em&gt; or &lt;em&gt;Hoare logic&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So here's the real issue: what &lt;em&gt;is&lt;/em&gt; the language for expressing refinements? Say we authorize linear constraints, in wich we can have&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;n :: { x : Int | x &amp;lt; 2 }&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;and on the other hand we have a function of type&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;f :: { x : Int | x &amp;lt;= 1+1 } -&amp;gt; Bool&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;It is clear that &lt;code&gt;f&lt;/code&gt; can safely be applied to &lt;code&gt;n&lt;/code&gt;. However, for this to be statically verified, we need to &lt;strong&gt;prove&lt;/strong&gt; the statement:&#xA;$$ x &amp;lt; 2 \Rightarrow x \leq 1+1$$&#xA;So this imposes a restriction on the expressivity of the refinement language: either the statements that need to be proven to verify type-safety are &lt;em&gt;decidable&lt;/em&gt; (linear arithmetic and the theory of equality is a common choice in this case), or there need to be dynamic casts that are verified at runtime.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;The traditional approach to dependent types, however, allows for arbitrarily complex constraints on types, with the following caveat: the onus of verification is placed on the &lt;em&gt;programmer&lt;/em&gt; rather than on the compiler.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In this setting, an element of &lt;code&gt;{ x : Int | x &amp;lt; 2 }&lt;/code&gt; is not an integer less than 2, but a pair &lt;code&gt;(n, e)&lt;/code&gt; where &lt;code&gt;n&lt;/code&gt; is an integer and &lt;code&gt;e&lt;/code&gt; is &lt;em&gt;evidence&lt;/em&gt; that &lt;code&gt;n&amp;lt;2&lt;/code&gt; holds. Therefore the compiler only has to check the evidence at compile time, rather than building it herself.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note however that some &lt;em&gt;computational inferences&lt;/em&gt; can be performed, typically $1+1$ can be seen to be identical to $2$ (but $x&amp;lt;2$ can not be seen to imply $x\leq 2$ without some contribution from the user).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The obvious advantage is that arbitrarily complex constraints on the code can be verified, and the programmer may have access to automatic tools to assist the production of the required evidence (the famous &quot;tactic language&quot; of Coq is an example of this).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is the main difference between refinement types and dependent types. The Haskell extensions tend to be in the second category, where evidence has to be provided by the programmer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I do need to qualify all this: there is no hard line which differentiates refinement types from dependent types; in dependent types there may be a significant amount of information inferred by the compiler, and systems with refinement types may require information to be supplied by the developer. In fact the interaction between the communities contains IMHO some of the most interesting developments of type theory applied to practical software engineering.&lt;/p&gt;&#xA;" OwnerUserId="3984" LastActivityDate="2013-03-22T16:05:36.217" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="16976" PostTypeId="2" ParentId="16969" CreationDate="2013-03-22T16:52:49.127" Score="1" Body="&lt;p&gt;My idea is to teach them enough to write simple provers for (fragments of) the systems of logic used elsewhere in the course.  I had lots of experience writing interpreters from other courses in my curriculum, so I would have been prepared for that sort of approach.  Introduce SLDNF as the basis of sketching the limitations of using prolog in such a fashion, so they can reason about what's going to be hard and what's going to be easy to do in prolog for the remainder of the course.  Of course, my approach needs prolog to be introduced early instead of the last week.  If you like this approach, I suggest giving them libraries to render the proof trees or whatever that you use in the rest of the course.&lt;/p&gt;&#xA;" OwnerUserId="14303" LastActivityDate="2013-03-22T16:52:49.127" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16977" PostTypeId="2" ParentId="16974" CreationDate="2013-03-22T17:25:42.950" Score="18" Body="&lt;p&gt;&lt;a href=&quot;http://arxiv.org/abs/quant-ph/0405098&quot;&gt;Adiabatic Quantum Computation is Equivalent to Standard Quantum Computation -&#xA;Dorit Aharonov, Wim van Dam, Julia Kempe, Zeph Landau, Seth Lloyd, Oded Regev&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="4237" LastActivityDate="2013-03-22T17:25:42.950" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16978" PostTypeId="2" ParentId="16965" CreationDate="2013-03-22T18:11:28.180" Score="14" Body="&lt;p&gt;Blum, Shub, and Smale proved that &lt;a href=&quot;http://books.google.com/books?id=zxtrVqUP-AwC&amp;amp;lpg=PA55&amp;amp;pg=PA55#v=onepage&amp;amp;q&amp;amp;f=true&quot; rel=&quot;nofollow noreferrer&quot;&gt;membership in the Mandelbrot set is undecidable&lt;/a&gt; in the &lt;a href=&quot;http://en.wikipedia.org/wiki/Real_RAM&quot; rel=&quot;nofollow noreferrer&quot;&gt;Real RAM model&lt;/a&gt; of computation (known in &lt;a href=&quot;https://cstheory.stackexchange.com/a/2124/111&quot;&gt;some upstart circles&lt;/a&gt; as the &lt;a href=&quot;http://en.wikipedia.org/wiki/Blum%E2%80%93Shub%E2%80%93Smale_machine&quot; rel=&quot;nofollow noreferrer&quot;&gt;BSS model&lt;/a&gt;).  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The high-level argument is one sentence long: Any Real RAM computable set is the countable union of semi-algebraic sets, so its boundary has Hausdorff dimension 1, but the boundary of the Mandelbrot set has Hausdorff dimension 2.  By the same argument, &lt;strong&gt;almost every interesting fractal is uncomputable&lt;/strong&gt; in the real-RAM model.&lt;/p&gt;&#xA;" OwnerUserId="111" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2013-03-24T05:56:07.960" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16979" PostTypeId="2" ParentId="16951" CreationDate="2013-03-22T20:06:42.087" Score="13" Body="&lt;p&gt;Lipton (New directions in testing, 1991) showed that if the permanent is easy &#xA;for most matrices, then it is easy for all matrices. I do not know an online version but you can find the result in many lecture notes, for instance here:&#xA;&lt;a href=&quot;http://www.cse.cuhk.edu.hk/~andrejb/courses/f07-80240233/notes/lec16.pdf&quot;&gt;http://www.cse.cuhk.edu.hk/~andrejb/courses/f07-80240233/notes/lec16.pdf&lt;/a&gt;&#xA;There are improvements by Gemmel and Sudan (IPL 43(4): 169-174. 1992).&#xA;So the permanent is hard on the average for the uniform distribution.&#xA;For a smoothed polynomial time algorithm you have to choose the distribution in such a way that this average-case hardness is circumvented.&lt;/p&gt;&#xA;" OwnerUserId="6456" LastActivityDate="2013-03-22T20:06:42.087" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16980" PostTypeId="2" ParentId="16967" CreationDate="2013-03-22T22:07:52.247" Score="6" Body="&lt;p&gt;No. The number of feasible solutions cannot be upper bounded by $f(k)n^{O(1)}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider the integer program&#xA;$I_n: 1 \le x\le 2^n$&#xA;with the integer variable $x$. So, $k=1$ and the program can be described with $O(n)$ bits. But it has $2^n$ solutions, which is exponential in the instance size.&lt;/p&gt;&#xA;" OwnerUserId="72" LastEditorUserId="72" LastEditDate="2013-03-22T22:13:01.860" LastActivityDate="2013-03-22T22:13:01.860" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16981" PostTypeId="2" ParentId="16974" CreationDate="2013-03-23T02:43:26.673" Score="19" Body="&lt;p&gt;Two quick clarifications:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Adiabatic QC is typically &quot;based on qubits&quot; just as much as circuit-based QC is -- I don't know where you got the idea that it isn't!  (Though one could also use qutrits or other building blocks, in either the circuit or the adiabatic models.)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;As Mateus pointed out, the justly-famous result of Aharonov et al. says that &quot;adiabatic QC is equivalent to standard QC.&quot;  But that result needs to be interpreted with a bit of care.  It holds if the final state of the adiabatic computation can be arbitrary -- so that, in particular, the final state can encode the entire history of a circuit-based quantum computation.  However, if the final state needs to be a classical computational basis state---as it typically is in the &lt;i&gt;adiabatic optimization algorithm&lt;/i&gt; (the &quot;original&quot; example of adiabatic QC)---then adiabatic QC can certainly be simulated in the circuit model, but the reverse is not known and is far from clear.  So with the latter assumption, it's possible that adiabatic optimization really does give rise to a new complexity class intermediate between BPP and BQP.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="1575" LastActivityDate="2013-03-23T02:43:26.673" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="16982" PostTypeId="1" AcceptedAnswerId="16987" CreationDate="2013-03-23T14:32:00.727" Score="12" ViewCount="4528" Body="&lt;p&gt;Sudoku is a well-known puzzle that is NP-complete. Binary Sudoku is a variant that only allows the numbers $0$ and $1$. The rules are as follows.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Each row and each column must contain an equal number of zeros and ones.&lt;/li&gt;&#xA;&lt;li&gt;Each row and each column is unique.&lt;/li&gt;&#xA;&lt;li&gt;No row or column contains consecutive triples of zeros or ones ($1 1 1$ is a consecutive triple of ones).&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;The input is a $N \times N$ square partially filled with zeros and ones. To solve the puzzle, each cell in the $N \times N$ square must be filled by either $0$ or $1$ while respecting the above rules. I was not able to find any intractability result for solving the Binary Sudoku puzzle.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;How hard is solving the Binary Sudoku puzzle? Is it NP-complete?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Also, I'm interested in the complexity of a related problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a fully filled $N \times N$ square that respects only rules 1 and 2 above,&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;how hard is it to find a permutation of rows and columns such that the resulting square respects rule 3?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="495" LastEditorUserId="4193" LastEditDate="2013-03-28T18:53:34.177" LastActivityDate="2016-03-19T20:20:17.657" Title="How hard is binary Sudoku puzzle?" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;&lt;puzzles&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="16983" PostTypeId="1" AcceptedAnswerId="16986" CreationDate="2013-03-23T16:22:06.237" Score="15" ViewCount="1465" Body="&lt;p&gt;For the longest time I have thought that a problem was NP-complete if it is both (1) NP-hard and (2) is in NP. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, in the famous paper &lt;a href=&quot;http://oai.cwi.nl/oai/asset/10046/10046A.pdf&quot;&gt;&quot;The ellipsoid method and its consequences in combinatorial optimization&quot;&lt;/a&gt;, the authors claim that the fractional chromatic number problem belongs to NP and is NP-hard, yet is not known to be NP-complete. On the third page of the paper, the authors write:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;... we note that the vertex-packing problem of a graph is in a sense equivalent to the fractional chromatic number problem, and comment on the phenomenon that this latter problem is an example of a problem in $\mathsf{NP}$ which is $\mathsf{NP}$-hard but (as for now) not known to be $\mathsf{NP}$-complete.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;How is this possible? Am I missing a subtle detail in the definition of NP-complete?&lt;/p&gt;&#xA;" OwnerUserId="13056" LastEditorUserId="-1" LastEditDate="2013-04-13T19:03:53.477" LastActivityDate="2013-04-13T19:03:53.477" Title="How can a problem be in NP, be NP-hard and not NP-complete?" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;&lt;complexity-classes&gt;&lt;terminology&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="16986" PostTypeId="2" ParentId="16983" CreationDate="2013-03-23T19:00:41.657" Score="28" Body="&lt;p&gt;It seems the issue is the kind of reductions used for each of them, and they are using different ones: they probably mean &quot;$\mathsf{NP}$-hard w.r.t. Cook reductions&quot; and &quot;$\mathsf{NP}$-complete w.r.t. Karp reductions&quot;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Sometimes people use the Cook reduction version of $\mathsf{NP}$-hardness because it is applicable to more general computational problems (not just decision problems). Although the original definition of both $\mathsf{NP}$-hardness and $\mathsf{NP}$-completeness used Cook reductions (polynomial-time Turing reductions) it has become uncommon to use Cook reductions for $\mathsf{NP}$-completeness (unless it is stated explicitly). I don't recall any recent paper that has used $\mathsf{NP}$-complete to mean $\mathsf{NP}$-complete w.r.t. Cook reductions. (As a side note the first problem that to be proven to $\mathsf{NP}$-hard was TAUT not SAT and the completeness for SAT is implicit in that proof.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now if you look at section 7 of the paper, bottom of page 195, you will see that they mean $\mathsf{NP}$-hardness w.r.t. Turing reductions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So what they mean here is that the problem is in $\mathsf{NP}$, is hard for $\mathsf{NP}$ w.r.t. Cook reductions, but it is unknown to be hard for $\mathsf{NP}$ w.r.t. Karp reductions (polynomial-time many-one reductions).&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2013-03-24T00:15:20.063" LastActivityDate="2013-03-24T00:15:20.063" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="16987" PostTypeId="2" ParentId="16982" CreationDate="2013-03-23T20:28:36.730" Score="14" Body="&lt;p&gt;&lt;strong&gt;EDIT&lt;/strong&gt;: I quickly completed the amateur proof that I started a few months ago and never finished.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.nearly42.org/vdisk/cstheory/binaryp.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;You can download it in PDF format&lt;/a&gt; on my blog ... nobody has checked it yet, so refutations, comments and suggestions are welcome.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;I don't know if there is an official proof, but a few months ago I built the gadgets to mimic a planar 3-CNF formula; for example the OR, SPLIT and TURN gadgets are:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/bfOa4.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I built/checked the gadgets using a simple constraint solver program.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The uniqueness of each row/column (rule 2) can be achieved marking them with a unique &quot;binary number&quot; using a 2x2 block that acts like a &quot;digit&quot;:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;01 = 0   10 = 1&#xA;10       01&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;And the equal number of 1s and 0s (rule 3) can be achieved mirroring the whole puzzle, and inverting the 0s with 1s (using special walls in the middle that allow the transition without breaking the rules):&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;  3CNF simulation    |  wall  | 3CNF sim. with  | 0000 (using 2x2 blocks)&#xA;                     |        | 0,1 inverted    | 0001&#xA; --------------------+        +-----------------+ 0010&#xA;    wall                        wall            | ....&#xA; --------------------+        +-----------------+ ....&#xA;  3CNF sim. with     |  wall  | 3CNF simulation |&#xA;  0,1 inverted       |        |                 |&#xA; --------------------+--------+-----------------+&#xA; 0101 .... (using 2x2 blocks)&#xA; 0011 ....&#xA; 0000 ....&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;So deciding if a partially filled $N \times N$ Binary Puzzle board has a solution, is NP-hard.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Like other similar puzzles it's not immediate to say that it is in NP (see for example &lt;a href=&quot;https://cstheory.stackexchange.com/questions/5784/what-is-the-complexity-of-possibly-succinct-nurikabe&quot;&gt;the discussion on succinct Nurikabe on cstheory&lt;/a&gt;). However if the initial board is given as a full string $\{0,1,\bot\}^{N \times N}$ (the representation is not succinct), and you drop the the unique solution constraint (which is another rule of the game), then the problem is in NP (and thus NP-complete). &lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2016-03-19T20:20:17.657" CommentCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="16989" PostTypeId="1" AcceptedAnswerId="16991" CreationDate="2013-03-23T23:10:04.373" Score="14" ViewCount="660" Body="&lt;p&gt;This question was asked by Jan Pax on the &lt;a href=&quot;http://www.cs.nyu.edu/pipermail/fom/2013-March/017135.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;Foundations of Mathematics mailing list&lt;/a&gt;.&#xA;Certainly $P^{\oplus P} \subseteq P^{\#P} = P^{PP}$&#xA;but I suspect from the answers to &lt;a href=&quot;https://cstheory.stackexchange.com/questions/209/best-known-joint-containments-for-by-np-and-parity-p&quot;&gt;this question&lt;/a&gt; that it's not known whether $\oplus P \subseteq PP$ (otherwise, $PP$ would be one possible answer to that question).  If it's not known, is there an oracle separation?&lt;/p&gt;&#xA;" OwnerUserId="2970" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2013-03-24T03:29:05.207" Title="Is Parity-P contained in PP?" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;" AnswerCount="2" CommentCount="4" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="16990" PostTypeId="2" ParentId="16989" CreationDate="2013-03-24T03:27:33.720" Score="13" Body="&lt;p&gt;Scott Aaronson gives an oracle where $\oplus$P = PEXP which implies the oracle you want. &lt;a href=&quot;http://eccc.hpi-web.de/report/2005/040/download/&quot;&gt;http://eccc.hpi-web.de/report/2005/040/download/&lt;/a&gt; (Theorem 12 in the appendix)&lt;/p&gt;&#xA;" OwnerUserId="550" LastActivityDate="2013-03-24T03:27:33.720" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16991" PostTypeId="2" ParentId="16989" CreationDate="2013-03-24T03:29:05.207" Score="12" Body="&lt;p&gt;Yes, there is an oracle $A$ such that $\oplus P^A \not\subseteq PP^A$. In fact, there is an oracle $A$ such that $\oplus P^A \not\subseteq PP^{PH^A}$. You can find the result in the following paper.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Frederic Green, An oracle separating $\oplus P$ from $PP^{PH}$, Information Processing Letters, Volume 37, Issue 3, 18 February 1991, Pages 149-153&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="206" LastActivityDate="2013-03-24T03:29:05.207" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="16992" PostTypeId="2" ParentId="16966" CreationDate="2013-03-24T03:31:16.817" Score="7" Body="&lt;h2&gt;Restrictions on pre-orders&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;You've described that you would like to assert restrictions on a given pre-order: for instance, that specifically $a &amp;lt; b$ rather than merely $a \leqslant b$, so that it would not be compatible with a pre-order in which $a \cong b$ (that is $a \leqslant b$ and $b \leqslant a$). We can achieve this by supplementing the pre-order with a list of forbidden relationships: that is, we specify $a &amp;lt; b$ using a pre-order which specifies $a \leqslant b$ along with many other relationships, and by separately specifying that $b \leqslant a$ is &lt;em&gt;forbidden&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We may similarly represent $a \not\cong b$ by having any pre-order in which &lt;em&gt;at least one of&lt;/em&gt; $a \leqslant b$ or $b \leqslant a$ fails to hold. (I got this confused in a previous edit.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So: we will consider how to represent pre-orders, and presume that we have a list of further restrictions representing relations of the type $\leqslant$, $\geqslant$, and $\cong$ which we forbid between certain pairs. (For each pair $(a,b)$, there are then four possibilities for forbidden relations, including the the case of &lt;em&gt;no&lt;/em&gt; forbidden relation.) The forbidden relations I would represent as a list, which we will later iterate through exactly once; however, in order to be able easily to remove restrictions when computing the order $P_{a,b}$ from a pre-order $P$, you might want to combine this list structure with an $r \times r$ array $F$ which stores for each $1 \leqslant a &amp;lt; b \leqslant r$ what sort of relation (if any) is forbidden between $a$ and $b$.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Representing pre-orders&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;You can easily represent a partial order by a &lt;a href=&quot;http://en.wikipedia.org/wiki/Transitive_reduction&quot; rel=&quot;nofollow&quot;&gt;transitive reduction&lt;/a&gt;: a minimal relation (naturally represented as a directed graph, via adjacency lists for immediate predecessors and immediate successors) subject to the constraint of having the partial order as its transitive closure. For a pre-order, you can instead use a relation $R$ which would be the transitive reduction if you &quot;collapsed&quot; all sets of equivalent elements to a single item each; where for all $i \leqslant j$, we have $(i,j) \in R$ if and only if $\exists k: i \leqslant k \leqslant j$ implies that $j \leqslant i$. That is, $(i,j) \in R$ only if one of the following holds:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;$i &amp;lt; j$ and $\neg\exists k: i &amp;lt; k &amp;lt; j$;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;$i \leqslant j$ and $j \leqslant i$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Such a relation can be easily computed by reduction to computing the transitive reduction of the partial order obtained, as I described, by collapsing equivalence classes (using only one representative node for each equivalence class, and then copying relations across the class). This can be done in time &lt;a href=&quot;http://en.wikipedia.org/wiki/Transitive_reduction#Computational_complexity&quot; rel=&quot;nofollow&quot;&gt;$O(r^3)$ or better&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given such a representation of pre-orders $P$ by reductions $R$, one may decide $(i,j) \in P$ by testing $(i,j)$-connectivity in $R$, e.g. by breadth-first search. This, of course, takes time $O(n)$. However, one can quite efficiently compute the reduction $R_{i,j}$ of the pre-order $P_{i,j}$ for $i&amp;lt;j$, by&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;copying the immediate successors of $j$ and sharing them with $i$,&lt;/li&gt;&#xA;&lt;li&gt;copying the immediate predecessors of $i$ and sharing them with $j$,&lt;/li&gt;&#xA;&lt;li&gt;removing the relation $(i,j)$ from $R$.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;The complexity of this is essentially the sum of the in-degree of $i$ and the out-degree of $j$. I imagine that you would also like to remove the prohibition on $i \leqslant j$ and/or $j \leqslant i$ at the same time; we can achieve this simply by removing any restrictions which are stored at $F[i,j]$ or $F[j,i]$ as appropriate.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Representing subsets of $S \subseteq P_r$&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Assuming&lt;/em&gt; that all you want to use the subsets $S \subseteq P_r$ for is to check compatibility of individual pre-orders with the elements of $S$, I think the best approach is to store an $r \times r$ array where each element $(i,j)$ contains a collection which indicates the labels of all pre-orders $P \in S$ such that $(i,j) \in P$. (That is: you do not need to store any forbidden relationships.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The collection may as well be a simple list, for small sets $S$ or if the orders which it contains don't have too many common relations (e.g. minimal and maximal elements in common); otherwise use your set-implementation of choice (e.g. balanced search trees) instead. This can be updated simply by adding a new relation $P'$ to the entries for all pairs $(i,j)$ which are contained in $P'$. If $P'$ is represented by a reduction $R'$, one may do this by a depth-first search from its minimal elements (which one may store a list of in the representation), and performing depth-first search to find all descendants of each element.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;If one maintains a list of traversed nodes along each path of the traversal, one may add each newly traversed node to the descendants of each of those already on the list; after finishing a traversal, pop the node off the list and mark it as visited.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;For each visited node, we copy its descendants to any nodes on the traversal-list, rather than re-traversing it.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;This is also a good thing to do, to compute a more explicit representation of $P'$ from $R'$, once your interest in $P'$ becomes dominated by testing $(i,j) \mathbin{\in?} P'$. This will take time $O(r^2)$, as there is essentially unit cost to reverse each edge $(i,j) \in R$, and to record each of the descendants of any $i \in [1,r]$ throughout the traversal. If $s = |S|$ and you use trees for collections at each index $(i,j)$, constructing the representation for $S$ takes time $O(r^2 s \log s)$, with the $\log s$ factor being saturated in the case where many elements of $S$ share many pairs $(i,j)$ in common. This works best for partial orders which are sparse and essentially unrelated, which would reduce both the expected overlap for pairs $(i,j)$ and the number of entries $(i,j)$ for which any relationship is recorded in the traversal of its reduction.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Having this representation of $S$, you can test incompatibility of $P$ with $S$ (where $P$ is given by a reduction $R$) as follows.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Initialise a list of all of the elements of $S$, representing those which are potentially compatible with $P$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Iterate through your forbidden relations, and remove from the list of potentially compatible relations, any element of $S$ which violates any of the constraints. (That is, if $a \leqslant b$ is forbidden, remove any element of $S$ for which that relation holds; and similarly for any element of $S$ fo which $a \cong b$, if that relation is forbidden.)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Perform a breadth-first search of $R$: and at each link $(i,j) \in R$ traversed, remove from the list of potentially-compatible orders any order $P$ for which $j &amp;lt; i$, by checking for each order on the list whether this is the case.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;If the list of potentially-compatible orders ever becomes empty, then $P$ is incompatible with $S$. Otherwise, the list contains at least one partial order in $S$ with which $P$ is compatible.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We can bound each index search $(i,j)$ for a potentially-compatible order by $O(\log s)$, for $s =|S|$; this will happen for each &quot;reduced&quot; relation in $P$, that is for every ordered pair in $R$. If $m = |R|$, then the worst case is $O(ms \log s) \subseteq O(r^2 s \log s)$, in the case that every element of $S$ is compatible with $P$. If you have $f = |F|$ forbidden relationships, then iterating through these and eliminating potentially compatible relations takes time $O(f \log s)$; this is also dominated by $O(r^2 \log s)$, though the larger $f$ is the faster the subsequent compatibility-checking becomes.&lt;/p&gt;&#xA;" OwnerUserId="248" LastEditorUserId="248" LastEditDate="2013-04-01T13:47:58.300" LastActivityDate="2013-04-01T13:47:58.300" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="16993" PostTypeId="1" AcceptedAnswerId="16994" CreationDate="2013-03-24T08:04:41.237" Score="6" ViewCount="660" Body="&lt;p&gt;A nondeterministic circuit is a Boolean circuit that has nondeterministic input wires. In other words, a nondeterministic circuit $C$ computing a Boolean function $f\colon\{0,1\}^{n}\rightarrow \{0,1\}$ on input string $x\in \{0,1\}^{n}$ outputs $1$ if and only if there exists some witness string $w\in \{0,1\}^{\mbox{poly}(n)}$ such that the output of $C$ on input $(x,w)$ is $1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;M.J. Wolf introduced nondeterministic circuits in 1987 and showed that $\mathsf{NC}$ circuits with a polynomial amount of nondeterministic gates are equivalent to $\mathsf{NP}$, and that $\mathsf{NC}$ circuits with $O(\log n)$ nondeterministic gates are equivalent to $\mathsf{NC}$ itself.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;How much more power does a polynomial amount of nondeterministic add to constant-depth circuit classes, such as $\mathsf{AC}^{0}$, $\mathsf{ACC}^{0}$, and $\mathsf{TC}^{0}$? Do these classes then contain more powerful circuit classes like $\mathsf{NC}$ or $\mathsf{P/poly}$, or even $\mathsf{NP}$?&lt;/p&gt;&#xA;" OwnerUserId="14065" LastEditorUserId="-1" LastEditDate="2013-05-03T17:03:41.763" LastActivityDate="2013-05-03T17:03:41.763" Title="How powerful are nondeterministic constant-depth circuits?" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;complexity-classes&gt;&lt;circuit-complexity&gt;&lt;nondeterminism&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16994" PostTypeId="2" ParentId="16993" CreationDate="2013-03-24T08:21:23.077" Score="7" Body="&lt;p&gt;A polynomial amount of nondeterministic bits is enough to encode the computation of a nondeterministic polynomial time algorithm. The only thing we need is to check if a given string is an accepting computation which is syntactic task that can be performed by a polynomial-size $\mathsf{AC^0}$ circuit (in fact a polynomial size CNF can do this).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another way to look at this is to consider the Tseitin translation from arbitrary circuits to CNFs which has a polynomial size increase and uses only polynomially many new propositional variables. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you look at the $\mathsf{NP}$-compeleteness proof of CNF-SAT (or 3SAT) you see that the part that checks if a given CNF is satisfied by a given truth assignment can be computed by an $\mathsf{AC^0}$ circuit (IIRC $\mathsf{AC^0_d}$ circuits can be evaluated by an $\mathsf{AC^0_{d+1}}$ circuit).&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2013-05-03T16:02:15.667" LastActivityDate="2013-05-03T16:02:15.667" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="16995" PostTypeId="2" ParentId="16965" CreationDate="2013-03-24T08:41:21.803" Score="2" Body="&lt;p&gt;An application of fractals in document analysis has been proposed in&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Tang, Y.Y.; Hong Ma; Xiaogang Mao; Dan Liu; Suen, C.Y., &quot;A new approach to document analysis based on modified fractal signature,&quot; Document Analysis and Recognition, 1995., Proceedings of the Third International Conference on , vol.2, no., pp.567,570 vol.2, 14-16 Aug 1995&#xA;doi: 10.1109/ICDAR.1995.601960&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is the abstract:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The proposed approach is based on modified fractal signature. Instead of the time-consuming traditional approaches (top-down and bottom-up approaches) where iterative operations are necessary to break a document into blocks to extract its geometric (layout) structure, this new approach can divide a document into blocks in only one step. This approach can be used to process documents with high geometrical complexity. Experiments have been conducted to prove the proposed new approach for document processing&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Two years later, they published an extended journal version:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Yuan Y. Tang, Hong Ma, Dihua Xi, Xiaogang Mao, Ching Y. Suen, &quot;Modified Fractal Signature (MFS): A New Approach to Document Analysis for Automatic Knowledge Acquisition,&quot; IEEE Transactions on Knowledge and Data Engineering, vol. 9, no. 5, pp. 747-762, September-October, 1997 &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.sc.ehu.es/ccwgrrom/transparencias/articulos-alumnos-doct-2002/andoni/00634753.pdf&quot; rel=&quot;nofollow&quot;&gt;Here&lt;/a&gt; is the latter paper.&lt;/p&gt;&#xA;" OwnerUserId="4208" LastActivityDate="2013-03-24T08:41:21.803" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16996" PostTypeId="1" CreationDate="2013-03-24T09:36:19.950" Score="1" ViewCount="111" Body="&lt;p&gt;Extended Formulation of a polytope &lt;span class=&quot;math-container&quot;&gt;$P \subseteq \mathbb{R}$&lt;/span&gt; is a system of linear constraints which satisfies the following condition:&lt;/p&gt;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$x \in P \iff \exists y\in \mathbb{R}^{d} \mbox{ such that } Ax + By \geq d$&lt;/span&gt;&lt;/p&gt;&#xA;&lt;p&gt;A convex set of &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt;-points &lt;span class=&quot;math-container&quot;&gt;$x_{1},...,x_{n}$&lt;/span&gt; in &lt;span class=&quot;math-container&quot;&gt;$\mathbb{R}^{d}$&lt;/span&gt; is defined as &lt;span class=&quot;math-container&quot;&gt;$\mbox{conv}(\{x_{1},...,x_{n}\})=\{y\in \mathbb{R}^{n}  |y=c_{1}x_{1}+c_{2}x_{2}+\cdots +c_{n}x_{n}, c_{1}+c_{2}+\cdots +c_{n}=1   \}$&lt;/span&gt;&lt;/p&gt;&#xA;&lt;h1&gt;Question:&lt;/h1&gt;&#xA;&lt;p&gt;Is the following statement true ?&lt;/p&gt;&#xA;&lt;p&gt;Statement:&#xA;For every &lt;span class=&quot;math-container&quot;&gt;$P\subseteq  \{0,1\}^{n}$&lt;/span&gt;, If we construct a system of linear constraints &lt;span class=&quot;math-container&quot;&gt;$ Ax + By \geq d,x\in \mathbb{R}^{n},y\in \mathbb{R}^{d}$&lt;/span&gt; such that&lt;/p&gt;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$x \in P \iff \exists y\in \mathbb{R}^{d} \mbox{ such that } Ax + By \geq d$&lt;/span&gt;&lt;/p&gt;&#xA;&lt;p&gt;,then the system of linear constraints &lt;span class=&quot;math-container&quot;&gt;$ Ax + By \geq d,x\in \mathbb{R}^{n},y\in \mathbb{R}^{d}$&lt;/span&gt; is a extended formulation of &lt;span class=&quot;math-container&quot;&gt;$\mbox{conv}  (P)$&lt;/span&gt;  ?&lt;/p&gt;&#xA;&lt;p&gt;I am not sure about expressing a set of boolean strings by linear constraints.&lt;/p&gt;&#xA;" OwnerUserId="14065" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2013-04-23T11:59:30.200" Title="Expressing a set of 0-1 strings by Extended Formulation" Tags="&lt;cc.complexity-theory&gt;&lt;linear-programming&gt;&lt;boolean-functions&gt;&lt;convex-geometry&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="16997" PostTypeId="2" ParentId="16996" CreationDate="2013-03-24T11:52:47.170" Score="1" Body="&lt;p&gt;An &lt;em&gt;extended formulation&lt;/em&gt; (EF) of a polytope $P\subseteq \mathbb{R}^d$ is a linear system&lt;/p&gt;&#xA;&#xA;&lt;p&gt;\begin{equation}&#xA;\label{equation:ExtForm}&#xA;Ex + Fy  = g, y\geq 0&#xA;\end{equation}&lt;/p&gt;&#xA;&#xA;&lt;p&gt;in variables $(x,y)\in \mathbb{R}^{d+r}$ where $E,F$ are real&#xA;matrices with $d,r$ columns respectively and $g$ is a column vector&#xA;such that $x\in P$ if and only if there exists $y$ such that the equation above holds.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thus the formulation you described in your question seems to be incorrect.&#xA;In special the right side of the inequality is expected to be a vector and not&#xA;a number.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I believe that the way in which you represent strings as extremal points of a&#xA;polytope is somewhat arbitrary. But a sort of canonical way is to represent&#xA;a string $x$ over $\{0,1\}^n$ by a vector $v\in \mathbb{R}^n$  such that&#xA;$v_i=x_i$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However these extremal points are usually meant to represent the solutions to&#xA;a given combinatorial problem. For instance, in the cut polytope is the convex hull&#xA;the characteristic vectors of all cuts in the complete graph $K_n=(V_n,E_n)$:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;\begin{equation}&#xA;\label{equation:CutPolytope}&#xA;CUT(n) = conv\{ \chi^{\delta(X)\in \mathbb{R}^{E_n}} | X\subseteq V_n\}&#xA;\end{equation}&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where $\delta(X)$ is the set of edges from $X$ to its complement $\overline{X}$.&#xA;Similarly, the &lt;em&gt;stable set polytope&lt;/em&gt; is the convex hull of the vectors corresponding&#xA;to the characteristic functions of all stable sets of $G$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;\begin{equation}&#xA;\label{equation:StableSet}&#xA;STAB(G) = conv\{\chi^S \in \mathbb{R}^V | S \mbox{ is a stable set of $G$}\}&#xA;\end{equation}&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The TSP polytope $TSP(n)$ is the convex hull of all vectors corresponding to the characteristic functions of sets of edges representing the tours in $K_n$:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;\begin{equation}&#xA;\label{equation:TSP}&#xA;TSP(n) = conv\{\chi^F \in \mathbb{R}^{E_n} | F\subseteq E_n \mbox{ is a tour of } K_n\}&#xA;\end{equation}&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The interest on extended formulations stems from the fact that some polytopes,&#xA;such as the Permutahedron,which have an exponential number of facets admit extended formulations with a polynomial number of inequalities. However, recently &lt;a href=&quot;http://arxiv.org/abs/1111.0837&quot; rel=&quot;nofollow&quot;&gt;Fiorini, Massar, Pokutta, Tiwary and De Wolf&lt;/a&gt; proved that any extended formulation of any of the three polytopes described above require an exponential number of innequalities.&lt;/p&gt;&#xA;" OwnerUserId="4237" LastActivityDate="2013-03-24T11:52:47.170" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="16998" PostTypeId="1" AcceptedAnswerId="17025" CreationDate="2013-03-24T12:40:37.897" Score="18" ViewCount="504" Body="&lt;p&gt;Is there a sequence of undirected graphs $\{C_n\}_{n\in \mathbb N}$, where each $C_n$ has exactly $n$ vertices and the problem &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Given $n$ and a graph $G$, is $C_n$ an induced subgraph of $G$?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;is known to be in class $\mathsf{P}$? (For example, when $C_n=K_n$, this is the NP-complete clique problem.)&lt;/p&gt;&#xA;" OwnerUserId="1886" LastActivityDate="2013-03-25T20:59:09.963" Title="Is induced subgraph isomorphism easy on an infinite subclass?" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;" AnswerCount="1" CommentCount="6" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="17005" PostTypeId="2" ParentId="14328" CreationDate="2013-03-24T17:58:46.893" Score="8" Body="&lt;p&gt;Element distinctness can be solved deterministically in the RAM model in time within $O(n\log\log n)\subset o(n\log n)$ time:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Sort in time within $O(n\log\log n)$ your $n$ numbers of $w$ bits using the sorting algorithm described by Han in STOC 2002 (&quot;Deterministic sorting in $O(n\log\log n)$ time and linear space&quot;), then scan in linear time for collisions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As far as I know, that is the best result known to this day.&lt;/p&gt;&#xA;" OwnerUserId="191" LastActivityDate="2013-03-24T17:58:46.893" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17006" PostTypeId="1" AcceptedAnswerId="17014" CreationDate="2013-03-24T20:46:26.637" Score="27" ViewCount="4108" Body="&lt;p&gt;I was recently reading &lt;a href=&quot;http://www.cs.indiana.edu/~sabry/papers/rational.pdf&quot;&gt;The Two Dualities of Computation: Negative and Fractional Types&lt;/a&gt;.  The paper expands on sum-types and product-types, giving semantics to the types &lt;code&gt;a - b&lt;/code&gt; and &lt;code&gt;a/b&lt;/code&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Unlike addition and multiplication, there are not one but two inverses of&#xA;exponentiation, logarithms and rooting.  If function types (a → b) are&#xA;type-theoretic exponentiation, given the type &lt;code&gt;a → b&lt;/code&gt; (or &lt;code&gt;b^a&lt;/code&gt;) what does it mean to have&#xA;the type &lt;code&gt;logb(c)&lt;/code&gt; or the type &lt;code&gt;a√c&lt;/code&gt;?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does it make sense to extend logarithms and roots to types at all?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If so, has there been any work in this area, and what are some good directions on how to comprehend the repercussions?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I tried looking up information on this via logic, hoping the Curry-Howard correspondence could help me, but to no avail.&lt;/p&gt;&#xA;" OwnerUserId="14328" LastEditorUserId="14328" LastEditDate="2013-03-25T07:51:04.197" LastActivityDate="2013-03-25T10:45:49.867" Title="What is the logarithm or root operation in type-space?" Tags="&lt;lo.logic&gt;&lt;pl.programming-languages&gt;&lt;type-theory&gt;&lt;algebra&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="14" ContentLicense="CC BY-SA 3.0" />
  <row Id="17007" PostTypeId="2" ParentId="17006" CreationDate="2013-03-24T21:35:23.673" Score="1" Body="&lt;p&gt;I don't know of any work that pursues this line, but a few moments thought about it led me to this hypothesis: wouldn't the &quot;root&quot; of the exponential type just be the codomain, and the &quot;logarithm&quot; of the exponential just the domain?&lt;/p&gt;&#xA;" OwnerUserId="629" LastActivityDate="2013-03-24T21:35:23.673" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="17008" PostTypeId="1" AcceptedAnswerId="17009" CreationDate="2013-03-25T02:08:20.450" Score="13" ViewCount="870" Body="&lt;p&gt;Outside of academia, what are the uses of my 'powers'? What can I do other than teaching and publishing papers? Where all can I apply my powers?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the sake of argument: Please assume I have a PhD in algorithms/TCS and have learnt a great deal of 'stuff' and made have come up with breakthrough bounds on existing algorithms etc., And I also have a strong footing in algorithmic analysis, approximation/randomized algorithms, mathematical programming etc.,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Rationale behind question: Curious about non-academic career options for folks in this area and to possibly motivate some students that it's &quot;just not theory&quot; and there are potential uses in the &lt;em&gt;outside world&lt;/em&gt; in essence.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;PS: Please don't answer stating &lt;em&gt;there is a lot to learn and you may want to try topic XXX&lt;/em&gt;. I am curious from a career/professional development point of view. Operations Research (OR) seems to be the only good fit, IMO. What other options exist?&lt;/p&gt;&#xA;" OwnerUserId="7014" LastActivityDate="2013-03-30T22:35:10.173" Title="How can I use my computational theory and analysis powers for the greater good?" Tags="&lt;soft-question&gt;&lt;big-picture&gt;&lt;career&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="17009" PostTypeId="2" ParentId="17008" CreationDate="2013-03-25T02:59:44.383" Score="16" Body="&lt;p&gt;Please read &lt;a href=&quot;https://mathoverflow.net/questions/43690/whats-a-mathematician-to-do/44213#44213&quot;&gt;William Thurston's answer&lt;/a&gt; to the question &lt;a href=&quot;https://mathoverflow.net/questions/43690/whats-a-mathematician-to-do&quot;&gt;What's a mathematician to do?&lt;/a&gt; on mathoverflow. Just to convince you that it is a must-read, let me quote him.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;The product of mathematics is clarity and understanding. Not theorems, by themselves. Is there, for example any real reason that even such famous results as Fermat's Last Theorem, or the Poincaré conjecture, really matter? Their real importance is not in their specific statements, but their role in challenging our understanding, presenting challenges that led to mathematical developments that increased our understanding.&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;The world does not suffer from an oversupply of clarity and&#xA;  understanding (to put it mildly). How and whether specific mathematics&#xA;  might lead to improving the world (whatever that means) is usually&#xA;  impossible to tease out, but mathematics collectively is extremely&#xA;  important.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I have great sympathy for your question. I did a PhD in logic as applied within computer science and experienced a crisis of utility at the end. It seemed that the strongest skills and deepest knowledge I had, everything I had trained myself in for was completely irrelevant for obtaining a non-academic job. When Matt Welsh , a tenured faculty member at Havard, posted about &lt;a href=&quot;http://matt-welsh.blogspot.com/2010/11/why-im-leaving-harvard.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;leaving for Google&lt;/a&gt; there was a discussion in which David Patterson from UC Berkeley made the following comment:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;I don't think most systems people are going to industry for the money nor are those going to academia so that they can be called Professor. We're fortunate to have chosen a field were there are great jobs in industry as well as academia.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I felt, on reading this, that doing a PhD in theoretical computer science was the antithesis of his statement. Now, I have been applying for engineering (not research) jobs in the industry and I have discovered that there is place for us out there. &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Algorithms are important and relevant in industry. Several problems in industry require good algorithms. You also need solid engineering and infrastructure to make things work. The number of performance bottlenecks to effectively solving real problems is never ending. If you're good at analyzing time and memory consumption of a real system and improving it, there is a lot of work for you.&lt;/li&gt;&#xA;&lt;li&gt;Clarity in problem solving is an invaluable skill. You have training in getting to the mathematical essence of a problem and ignoring distracting baggage. You may also be able to implement a good solution, or implement a reduction to a form that can be solved efficiently. &lt;/li&gt;&#xA;&lt;li&gt;Aesthetics has value. This comment is based on limited exposure but after looking at code that has been open sourced by places like Google and facebook, I see that effort has been made to exercise logical hygiene. If you care about mathematical aesthetics then I expect you may have similar discipline when you program and my impression is that such discipline is valued.&lt;/li&gt;&#xA;&lt;li&gt;Randomization is at its empowering best in a real system. There are so many situations ranging from protocol design to uses of Bloom filters and clever design of caching mechanisms that rely on randomization to scale. To me seeing randomization in action is as fascinating as seeing it in a theorem and even more satisfying.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;There are many people with powers that come with a theoretical computer science education who have gone on to have successful industrial careers. I am not concluding that it is this specific knowledge that made them successful, but it definitely didn't impede them.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;In the mid 1970s, an undergraduate at Havard university and an assistant professor wrote a paper titled &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/0012365X79900682&quot; rel=&quot;nofollow noreferrer&quot;&gt;Bounds for sorting by prefix reversal&lt;/a&gt;. When Christos Papadimitriou called up the student to inform him the paper was accepted to Discrete Mathematics, William H Gates had already moved to Albuquerque to start a company. &lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://research.microsoft.com/en-us/people/achandra/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Ashok K. Chandra&lt;/a&gt;, coauthor of the 1979 conference and later 1981 journal paper &lt;a href=&quot;http://dl.acm.org/citation.cfm?doid=322234.322243&quot; rel=&quot;nofollow noreferrer&quot;&gt;Alternation&lt;/a&gt; is in the industry.&lt;/li&gt;&#xA;&lt;li&gt;The &lt;a href=&quot;http://research.google.com/pubs/AlgorithmsandTheory.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;Algorithms and Theory Group&lt;/a&gt; in Google has a lot of formidable theoreticians who, as far as I can tell, work on applied problems as well.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;This is just a random and tiny list. My aim is not to be comprehensive but to point out that there are theoreticians everywhere. I hope you enjoy coding, because that is an indispensable skill, and I believe it is one of the few common denominators across computer scientists. Of course, you will not use everything you know on a day-to-day basis. But I don't expect this to be the case even if you stay in academia, unless you continue to work on exactly the same set of problems for years on end. If you were thinking otherwise, try Matthew Might's &lt;a href=&quot;http://matt.might.net/articles/phd-school-in-pictures/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Illustrated Guide to the PhD&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="4155" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2013-03-30T22:35:10.173" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17010" PostTypeId="2" ParentId="14328" CreationDate="2013-03-25T03:05:42.647" Score="1" Body="&lt;p&gt;That is exactly what the FKS paper you mention do - and it takes linear time (in expectation). See page 5 here for the analysis... &lt;a href=&quot;http://www1.icsi.berkeley.edu/~luby/PAPERS/pairwise.ps&quot; rel=&quot;nofollow&quot;&gt;http://www1.icsi.berkeley.edu/~luby/PAPERS/pairwise.ps&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="9594" LastActivityDate="2013-03-25T03:05:42.647" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17011" PostTypeId="1" CreationDate="2013-03-25T04:07:47.620" Score="4" ViewCount="212" Body="&lt;p&gt;(this is a beginner question and English is not my first language)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am searching for references on using theorem proves based on dependent type theory (or Martin Löf type-theory) and higher-order logic in the development of domain specific languages (DSLs).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Dependent types, i.e., Coq and Agda&#xA;Higher-Order logic, i.e., Isabelle/HOL&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Currently, I am attending an course on higher-order logic for PhD students, and it seems to me there are possible applications to DSLs. As I am not so familiar with Coq so I may have overlooked some references.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I found only two references:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Oury, Nicolas, and Wouter Swierstra. &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=1411213&quot; rel=&quot;nofollow&quot;&gt;&quot;The power of Pi.&quot;&lt;/a&gt; ACM Sigplan Notices. Vol. 43. No. 9. ACM, 2008.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Chlipala, Adam. &quot;&lt;a href=&quot;http://adam.chlipala.net/papers/UrPLDI10/&quot; rel=&quot;nofollow&quot;&gt;Ur: statically-typed metaprogramming with type-level record computation.&quot;&lt;/a&gt; ACM Sigplan Notices. Vol. 45. No. 6. ACM, 2010.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any suggestions on papers that I missed? &lt;/p&gt;&#xA;" OwnerUserId="7724" LastActivityDate="2013-03-25T11:39:10.670" Title="dependent types and higher-order logic applied in the realm of DSLs" Tags="&lt;reference-request&gt;&lt;dependent-type&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="17014" PostTypeId="2" ParentId="17006" CreationDate="2013-03-25T10:28:57.220" Score="40" Body="&lt;p&gt;A type $C$ has a logarithm to base $X$ of $P$ exactly when $C \cong P\to X$. That is, $C$ can be seen as a container of $X$ elements in positions given by $P$. Indeed, it's a matter of asking to what power $P$ we must raise $X$ to obtain $C$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It makes sense to work with $\mathop{log}F$ where $F$ is a functor, whenever the logarithm exists, meaning $\mathop{log}\!_X(F\:X)$. Note that if $F\:X\cong \mathop{log}F\to X$, then we certainly have $F\:1\cong 1$, so the container tells us nothing interesting other than its elements: containers with a choice of shapes do not have logarithms.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Familiar laws of logarithms make sense when you think in terms of position sets&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\begin{array}{rcl@{\qquad}l}&#xA; \mathop{log} (\mathop{K}1) &amp;amp;=&amp;amp; 0   &amp;amp; \mbox{no positions in empty container}\\&#xA; \mathop{log} I &amp;amp;=&amp;amp; 1 &amp;amp; \mbox{container for one, one position}\\&#xA;\mathop{log} (F\times G) &amp;amp;=&amp;amp; \mathop{log}F+\mathop{log}G &amp;amp;&#xA;  \mbox{pair of containers, choice of positions} \\&#xA;\mathop{log} (F\cdot G) &amp;amp;=&amp;amp; \mathop{log}F\times\mathop{log}G &amp;amp;&#xA;  \mbox{container of containers, pair of positions}&#xA;\end{array}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We also gain $\mathop{log}\!_X(\nu Y. T) = \mu Z. \mathop{log}\!_X T$ where $Z=\mathop{log}\!_XY$ under the binder. That is, the &lt;em&gt;path&lt;/em&gt; to each element in some codata is defined inductively by iterating the logarithm. E.g.,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\mathop{log}\mathop{Stream} = \mathop{log}\!_X(\nu Y. X\times Y) = \mu Z. 1 + Z = \mathop{Nat}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given that the derivative tells us the type in one-hole contexts and the logarithm tells us positions, we should expect a connection, and indeed&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$F\:1\cong 1 \;\Rightarrow\; \mathop{log}F\cong \partial F\:1$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Where there is no choice of shape, a position is just the same as a one-hole context with the elements rubbed out. More generally, $\partial F\:1$ always represents the choice of an $F$ shape together with an element position within that shape.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm afraid I have less to say about roots, but one could start from a similar definition and follow one's nose. For more uses of logarithms of types, check Ralf Hinze's &quot;Memo functions, polytypically!&quot;. Gotta run...&lt;/p&gt;&#xA;" OwnerUserId="14334" LastEditorUserId="234" LastEditDate="2013-03-25T10:45:49.867" LastActivityDate="2013-03-25T10:45:49.867" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="17015" PostTypeId="2" ParentId="17011" CreationDate="2013-03-25T10:51:57.733" Score="6" Body="&lt;p&gt;It's time for you to meet Edwin Brady:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://edwinb.wordpress.com/publications/&quot;&gt;http://edwinb.wordpress.com/publications/&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;His earliest papers are about designing DSLs to solve very concrete problems. Lately, he has also been working on optimizing their performance (using type theoretic tools!).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To explore this design space, I would recommend playing with Agda or Idris. &lt;/p&gt;&#xA;" OwnerUserId="10744" LastActivityDate="2013-03-25T10:51:57.733" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17016" PostTypeId="1" AcceptedAnswerId="17019" CreationDate="2013-03-25T11:05:26.867" Score="9" ViewCount="459" Body="&lt;p&gt;Let $\Sigma$ be a finite alphabet and let $\Sigma^\omega$ be the set of all infinite words over $\Sigma$. Consider &#xA;$$&#xA;  d(x,y):=2^{-\min(n \in \Bbb N_0:x_n\neq y_n)}&#xA;$$&#xA;to be the metric on $\Sigma^\omega$ which makes the latter being the Cantor space. Denote by $\mathscr B(\Sigma^\omega)$ the Borel $\sigma$-algebra of this space, and let's call its elements measurable languages. It follows from Proposition 6 &lt;a href=&quot;http://www.inf.u-szeged.hu/actacybernetica/edb/vol11n3/pdf/Lam_1994_ActaCybernetica.pdf&quot;&gt;here&lt;/a&gt; that any $\omega$-regular language is measurable. I am looking for an example of a measurable language which is not $\omega$-regular, so any hints are appreciated.&lt;/p&gt;&#xA;" OwnerUserId="14336" LastEditorUserId="2367" LastEditDate="2019-12-12T22:34:57.743" LastActivityDate="2019-12-12T22:34:57.743" Title="Measurable language which is not $\omega$-regular" Tags="&lt;lo.logic&gt;&lt;fl.formal-languages&gt;&lt;automata-theory&gt;&lt;omega-language&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17018" PostTypeId="2" ParentId="17011" CreationDate="2013-03-25T11:39:10.670" Score="4" Body="&lt;p&gt;Edwin Brady's work is very relevant. Also relevant:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Neil Sculthorpe and Henrik Nilsson used dependent types for FRP, e.g., &lt;a href=&quot;http://www.cs.nott.ac.uk/~nhn/Publications/hosc2011.pdf&quot; rel=&quot;nofollow&quot;&gt;&lt;em&gt;Keeping Calm in the Face of Change: Towards Optimization of FRP by Reasoning About Change&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;So did Alan Jeffrey: &lt;a href=&quot;http://ect.bell-labs.com/who/ajeffrey/papers/padl13.pdf&quot; rel=&quot;nofollow&quot;&gt;&lt;em&gt;Dependently Typed Web Client Applications: FRP in Agda in HTML5&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Zachary Tetlock and Sorin Lerner wrote a paper about extending the Compcert verified compiler with a DSL for writing provably correct code transformations: &lt;a href=&quot;http://cseweb.ucsd.edu/~lerner/papers/pldi10-xcert.html&quot; rel=&quot;nofollow&quot;&gt;&lt;em&gt;Bringing Extensibility to Verified Compilers&lt;/em&gt;&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="657" LastActivityDate="2013-03-25T11:39:10.670" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17019" PostTypeId="2" ParentId="17016" CreationDate="2013-03-25T12:44:04.157" Score="11" Body="&lt;p&gt;A simple class of examples can be found by considering singleton languages $\{w\}$. These are measurable (Let $C_n(w)$ be the set of words agreeing with $w$ up to the $n$-th letter, then $\{w\}$ is the intersection of all $C_n(w)$). However, unless $w$ is eventually periodic, the language is not $\omega$-regular.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For a concrete example, consider the word $w=ababbabbba\dots$. If $w$ is accepted by a nondeterministic Büchi automaton $A$ with $k$ states, then while parsing the $n$-th block of $b$s, with $n&amp;gt;k$, $A$ needs to visit some state twice, so we can construct another word accepted by $A$ by pumping this block suitably. Therefore no automaton recognizes $\{w\}$.&lt;/p&gt;&#xA;" OwnerUserId="5183" LastActivityDate="2013-03-25T12:44:04.157" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="17021" PostTypeId="2" ParentId="16937" CreationDate="2013-03-25T15:36:04.803" Score="10" Body="&lt;p&gt;Richard Garner has written a nice article on application vs funsplit, &lt;a href=&quot;http://arxiv.org/abs/0803.4466&quot;&gt;On the strength of dependent products in the type theory of Martin-Löf&lt;/a&gt; (APAL 160 (2009)), which also discusses the higher order nature of the funsplit rule (with a reference to Peter Schroeder-Heister's &lt;a href=&quot;http://www.uni-tuebingen.de/index.php?eID=tx_nawsecuredl&amp;amp;u=0&amp;amp;file=fileadmin/Uni_Tuebingen/Fakultaeten/InfoKogni/WSI/LS/psh/forschung/publikationen/logic/a-80-89/JSL1984.pdf&amp;amp;t=1364314009&amp;amp;hash=343802e2ff243e6d6f4406cb7984de6bc4f4ad5c&quot;&gt;A natural extension of natural deduction&lt;/a&gt; (JSL 49 (1984))).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Richard shows that in the presence of identity types (and formation and introduction rules for $\Pi$ types), funsplit is interderivable with the application rule above + propositional eta, i.e. the following two rules:&#xA;$$&#xA;\frac{m : \Pi(A,B)}{\eta(m) : \mathsf{Id}_{\Pi(A,B)}(m, \lambda x . m\cdot x)}&#xA;\qquad (\Pi\text{-Prop-$\eta$)}&#xA;$$&#xA;$$&#xA;\frac{x : A \vdash f(x) : B(x)}{\eta(\lambda(f)) = \mathsf{refl}(\lambda(f)) : \mathsf{Id}_{\Pi(A,B)}(\lambda(f), \lambda (f))}&#xA;\qquad (\Pi\text{-Prop-$\eta$-Comp)}&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;That is, if you have funsplit, you can define application and $\eta$ as above so that $(\Pi\text{-Prop-$\eta$-Comp})$ holds. More interestingly, if you have application and the propositional eta rules, then you can define funsplit.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Furthermore, funsplit is strictly stronger than application: the propositional eta rules are not definable in a theory with only application -- hence funsplit is not definable, since then the propositional eta rules would be as well. Intuitively, this is because the application rules give you a little more slack: unlike funsplit (and eta), they don't tell you what functions are, only that they can be applied to arguments. I believe Richard's argument could be repeated for $\Sigma$ types as well, to show the same result for $\mathsf{split}$ vs projections.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that if you had definitional eta rules, you certainly would have them propositionally as well (with $\eta(m) := \mathsf{refl}(m)$). Thus, I think your statements &quot;[...] which gives us $\eta$ for functions&quot; and &quot;[...] this latter presentation makes it easy to obtain $\eta$ for pairs&quot; are wrong. Agda, however, implements $\eta$ for both functions and pairs (if $\Sigma$ is defined as a record), but this does not follow from just application.&lt;/p&gt;&#xA;" OwnerUserId="14342" LastActivityDate="2013-03-25T15:36:04.803" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17022" PostTypeId="1" CreationDate="2013-03-25T16:41:41.460" Score="8" ViewCount="486" Body="&lt;p&gt;We would like to know whether there are any known approximation results for the cardinality constrained minimum $s$-$t$-cut on directed graphs. We weren't able to find any such result in literature.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem is defined as follows:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Instance:&lt;/strong&gt; A directed graph $G=(V,E)$, a cost function $w : E \to \mathbb{R_0^+}$, two vertices $s,t \in V$ and an integer $k$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Solution:&lt;/strong&gt; An $s$-$t$-cut, i.e. a partition of $V$ into two sets $V_1, V_2$ such that $s \in V_1$, $t \in V_2$ and the number of edges that cross the cut is at most $k$, i.e. $|\{ (u,v) \in E: u \in V_1, v \in V_2 \}| \le k$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Measure (to minimize):&lt;/strong&gt; The cost of the cut: $$ \sum_{ (u,v) \in E : u \in V_1, v \in V_2 } w(u,v) $$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In &quot;&lt;a href=&quot;https://www.lri.fr/~bentz/docs_inria/JDA_09.pdf&quot;&gt;Cardinality constrained and multicriteria (multi)cut problems&lt;/a&gt;&quot; the autors prove that this problem is strongly NP-Hard even for undirected graphs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We are mainly interested in approximation algorithms for directed graphs, but approximation results for the undirected case might also be useful.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thank you for any insights.&lt;/p&gt;&#xA;" OwnerUserId="13635" LastEditorUserId="-1" LastEditDate="2013-04-13T19:04:44.700" LastActivityDate="2019-08-10T21:36:23.130" Title="Approximation algorithms for Directed Minimum Cut with Cardinality Constraints" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;graph-algorithms&gt;&lt;approximation-algorithms&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="17024" PostTypeId="2" ParentId="17022" CreationDate="2013-03-25T18:30:19.227" Score="11" Body="&lt;p&gt;We can get a $(2,2)$ bi-criteria approximation as follows (or more generally $(1+\varepsilon, 1 + 1/\varepsilon)$ bi-criteria approximation).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We may assume that we know the cost of the optimal solution. Denote it by $OPT$. Let &#xA;$$w'(u,v) = \frac{w(u,v)}{OPT} + \frac{1}{k}.$$&#xA;Consider the optimal solution $(V_1, V_2)$. Then&#xA;$$\sum_{(u,v) \in E(V_1, V_2)} w'(u,v) = \sum_{(u,v) \in E(V_1, V_2)} \left(\frac{w(u,v)}{OPT} + \frac{1}{k}\right) = 1 + \frac{|E(V_1,V_2)|}{k} \leq 2.$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Our algorithm finds the minimum directed $s$-$t$ cut $(V_1', V_2')$ in $G$ with edge weights $w'$. The cost of this cut is at most $2$. Therefore, the cut $(V_1', V_2')$ cuts at most&#xA;$$E(V_1', V_2') = \sum_{(u,v)\in E(V_1',V_2') } 1 \leq k \sum_{(u,v)\in E(V_1',V_2')} w'(u,v) \leq 2k$$&#xA;edges. The cost of the cut is at most&#xA;$$\sum_{(u,v)\in E(V_1',V_2')} w(u,v) \leq OPT \sum_{(u,v)\in E(V_1',V_2')} w'(u,v) \leq 2OPT.$$&lt;/p&gt;&#xA;" OwnerUserId="9929" LastActivityDate="2013-03-25T18:30:19.227" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="17025" PostTypeId="2" ParentId="16998" CreationDate="2013-03-25T20:13:02.143" Score="15" Body="&lt;p&gt;If I'm not mistaken your question was answered by &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=1427956&quot;&gt;Chen-Thurley-Weyer-2008&lt;/a&gt; modulo parameterized complexity assumptions. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I didn't read the paper carefully yet, but as far as I understood, there is a dichotomy in the sense that if $C$ is finite then the problem is in $P$, but if $C$ has an infinite number of graphs then the induced subgraph isomorphism is $W[1]$ complete (Corollary 4, page 6). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thus it seems that unless the first level $W[1]$ of the $W$ hierarchy collapses to $FPT$, there is no such an infinite class of graphs whose induced subgraph isomorphism is in $P$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is another interesting result stating that if $P\neq NP$ then there are classes for which the induced isomorphism is neither in $P$ nor $NP$ complete.&lt;/p&gt;&#xA;" OwnerUserId="4237" LastEditorUserId="4237" LastEditDate="2013-03-25T20:59:09.963" LastActivityDate="2013-03-25T20:59:09.963" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17026" PostTypeId="1" CreationDate="2013-03-25T21:06:00.623" Score="6" ViewCount="254" Body="&lt;p&gt;I'm wondering what the best method obtained for &lt;a href=&quot;http://en.wikipedia.org/wiki/Valiant%E2%80%93Vazirani_theorem&quot;&gt;the Valiant-Vazirani theorem&lt;/a&gt; is.  We can state the following criteria:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(1) First and foremost, has anyone been able to derandomize it?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(2) If not, what is the best running time for converting a SAT instances?  And how does this method work?  Can we somehow do better than the technique mentioned &lt;a href=&quot;http://people.csail.mit.edu/madhu/ST07/scribe/lect12.pdf&quot;&gt;here&lt;/a&gt;?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(3) Out of curiosity, I'd also like to know the size bounds of the converted SAT formula.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The reason I ask is that I'm studying an algorithm that makes use of this, so I'd like to have the best technique available.&lt;/p&gt;&#xA;" OwnerUserId="1549" LastEditorUserId="-1" LastEditDate="2013-04-13T19:03:45.603" LastActivityDate="2013-04-13T19:03:45.603" Title="The latest concerning Valiant-Vazirani" Tags="&lt;cc.complexity-theory&gt;&lt;sat&gt;&lt;lower-bounds&gt;" AnswerCount="0" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17027" PostTypeId="2" ParentId="16927" CreationDate="2013-03-25T22:02:47.170" Score="1" Body="&lt;p&gt;You could use something like a PKTree (or other spatial index), even though they do not take into account the radius of the circle.  How?  By using the range search algorithms over these data structures.  Put the centres of the circles into the data structure, then do a range search for a circle (or even bounding box, if that's easier on the structure you choose) of a radius twice the radius of your largest circle.  Then do a simple search within the results to find &quot;actual&quot; intersections.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This only works well if you don't have one circle that is significantly larger than most others.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Your worst case will be within &lt;code&gt;n * (&amp;lt;range search of datastructure&amp;gt; + n)&lt;/code&gt;, which is terrible, but that second n will in practise (that is, in the non-worst-case) not be n and will be small (if you choose an appropriate data structure).&lt;/p&gt;&#xA;" OwnerUserId="13220" LastActivityDate="2013-03-25T22:02:47.170" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17029" PostTypeId="1" CreationDate="2013-03-26T08:31:22.773" Score="5" ViewCount="174" Body="&lt;p&gt;&lt;a href=&quot;http://www.cs.mcgill.ca/~prakash/Pubs/fullmetric.pdf&quot; rel=&quot;nofollow&quot;&gt;Labelled Markov Processes&lt;/a&gt; (LMP) seem to be a generalization of &lt;a href=&quot;http://www.cs.mcgill.ca/~prakash/Pubs/fullmetric.pdf&quot; rel=&quot;nofollow&quot;&gt;Probabilistic Automata&lt;/a&gt; (PA) studied by Segala to the case of the general state space. Namely, any LMP is given by a be a finite set of labels $A$, a measurable state space $(X,\mathscr B(X))$ and substochastic kernels&#xA;$$&#xA;  \forall a\in A,\;\tau_a:X\times \mathscr B(X)\to [0,1].&#xA;$$&#xA;In case $X$ is finite and $\mathscr B(X) = 2^X$, we obtain simply a PA.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The behavior of the PA is clear to me: it is given by trace distributions over the sequences of labels - e.g. in Section 3 &lt;a href=&quot;http://www.cs.mcgill.ca/~prakash/Pubs/fullmetric.pdf&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;. I would expect the very same definition of the behavior for LMP, but I have never seen it defined formally anywhere. I would appreciate if you can hint upon a source describing the behaviour of a LMP.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Updated:&lt;/strong&gt; after a short discussion, I have to clarify some details. I am familiar with measure-theoretical approach to probability and stochastic processes, and I think that behavioral semantics of PA extends directly to LMP modulo dealing with Borel or universally measurable transition kernels to characterize an adversary. However, I am not sure whether this is a possible way to define a behavior of LMP, or it is the intended one. For example, it may perhaps be described in the PhD thesis of J. Desharnais (which I do not have an access to).&lt;/p&gt;&#xA;" OwnerUserId="14336" LastEditorUserId="14336" LastEditDate="2013-03-29T09:07:45.953" LastActivityDate="2013-03-29T09:07:45.953" Title="Behaviour of Labelled Markov Processes" Tags="&lt;reference-request&gt;&lt;pr.probability&gt;&lt;markov-chains&gt;&lt;probabilistic-automata&gt;" AnswerCount="2" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="17030" PostTypeId="2" ParentId="16937" CreationDate="2013-03-26T09:23:32.487" Score="13" Body="&lt;p&gt;Here's a slightly different perspective on Fredrik's answer. It's generally the case that impredicative Church encodings of types will satisfy the relevant $\beta$ laws, but will not satisfy the $\eta$ laws. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;So this means we can define a dependent pair as follows:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;\exists x:X.\;Y[x] \triangleq \forall \alpha:\ast.\; (\Pi x:X.\;Y[x] \to \alpha) \to \alpha&#xA;$$&#xA;Now, note that $\pi_1$ is easily definable:&#xA;$$&#xA;\pi_1 : \exists x:X.\;Y[x] \to X \triangleq \lambda p:(\exists x:X.\;Y[x]).\;p\;X\;(\lambda x\;y.x)&#xA;$$&#xA;However, you cannot define the second projection $\pi_2 : \Pi p:(\exists x:X.\;Y[x]).\; Y[\pi_1\;p]$ -- try it! You can only define a weak eliminator for it, which is why I wrote it with an existential. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, the second projection is &lt;em&gt;realizable&lt;/em&gt;, and in a parametric model you can show that it has the right behavior, too. (See &lt;a href=&quot;http://www.mpi-sws.org/~neelk/internalizing-parametricity.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;my recent draft with Derek Dreyer on parametricity in the Calculus of Constructions&lt;/a&gt; for more on this.) So I think that the $\pi_2$ projection fundamentally demands some strong extensionality properties for it to make sense. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In terms of the sequent calculus, the weak eliminator has a rule that looks a bit like:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;\frac{\Gamma, x:X, y:Y[x],\; \Gamma' \vdash e' : C}&#xA;     {\Gamma, p:\exists x:X.\,Y[x],\; \Gamma' \vdash \mathsf{let}(x,y)=p\;\mathsf{in}\;e' : C}&#xA;$$&#xA;Here, the implicit well-formedness conditions imply that $p$ cannot occur free in $\Gamma'$ or $C$. If we relax that condition, we get the split rule, which has a left-rule that looks like&#xA;$$&#xA;\frac{\Gamma, x:X, y:Y[x],\; [(x,y)/p]\Gamma' \vdash e' : [(x,y)/p]C}&#xA;     {\Gamma, p:\exists x:X.\,Y[x],\; \Gamma' \vdash \mathsf{let}(x,y)=p\;\mathsf{in}\;e' : C}&#xA;$$&#xA;That substitution reminds me an awful lot of the Girard/Schroeder-Heister elimination rule for equality. I &lt;a href=&quot;https://cstheory.stackexchange.com/questions/11289/unification-based-elimination-rule-for-equality&quot;&gt;asked a question&lt;/a&gt; about this rule a while back, and David Baelde and Gopalan Nadathur give the state-of-the-art version in their LICS 2012 paper, &lt;a href=&quot;http://arxiv.org/abs/1204.6236&quot; rel=&quot;nofollow noreferrer&quot;&gt;&lt;em&gt;Combining Deduction Modulo and Logics of Fixed-Point Definitions&lt;/em&gt;&lt;/a&gt;. I think Conor McBride has spent some time thinking about the relationship between the identity type and the Schroeder-Heister equality, so you might want to see what he thinks.&lt;/p&gt;&#xA;" OwnerUserId="657" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2013-03-26T09:23:32.487" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17031" PostTypeId="1" AcceptedAnswerId="17032" CreationDate="2013-03-26T14:14:17.213" Score="10" ViewCount="430" Body="&lt;p&gt;In a &lt;a href=&quot;http://www.gwu.edu/~asl2010/img/razborov.pptx&quot;&gt;talk&lt;/a&gt; by Razborov, a curious little statement is posted.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;If FACTORING is hard, then Fermat’s little theorem is not provable in $S_{2}^{1}$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;What is $S_{2}^{1}$ and why are current proofs not in $S_{2}^{1}$?    &lt;/p&gt;&#xA;" OwnerUserId="1812" LastEditorUserId="-1" LastEditDate="2013-04-01T13:34:10.363" LastActivityDate="2013-04-01T13:34:10.363" Title="Proofs in $S_{2}^{1}$" Tags="&lt;cc.complexity-theory&gt;&lt;lo.logic&gt;&lt;proof-complexity&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="17032" PostTypeId="2" ParentId="17031" CreationDate="2013-03-26T15:39:52.947" Score="21" Body="&lt;p&gt;$S^1_2$ is a theory of bounded arithmetic, that is, a weak axiomatic theory obtained by severely restricting the schema of induction of &lt;a href=&quot;http://en.wikipedia.org/wiki/Peano_arithmetic#First-order_theory_of_arithmetic&quot;&gt;Peano arithmetic&lt;/a&gt;. It is one of the theories defined by Sam Buss in his &lt;a href=&quot;http://www.math.ucsd.edu/~sbuss/ResearchWeb/BAthesis/&quot;&gt;thesis&lt;/a&gt;, other general references include Chapter V of Hájek and Pudlák’s &lt;a href=&quot;http://projecteuclid.org/euclid.pl/1235421926&quot;&gt;Metamathematics of first-order arithmetic&lt;/a&gt;, Krajíček’s “Bounded arithmetic, propositional logic, and complexity theory”, Buss’s Chapter II of the &lt;a href=&quot;http://www.math.ucsd.edu/~sbuss/ResearchWeb/handbookII/&quot;&gt;Handbook of proof theory&lt;/a&gt;, and Cook and Nguyen’s &lt;a href=&quot;http://www.cs.toronto.edu/~sacook/homepage/book/&quot;&gt;Logical foundations of proof complexity&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can think of $S^1_2$ as a theory of arithmetic which has induction only for polynomial-time predicates. In particular, the theory does not prove that exponentiation is a total function, the theory can prove to exist only objects of polynomial size (loosely speaking).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;All known proofs of the Fermat Little Theorem utilize either exponential-size objects, or they rely on exact counting of sizes of bounded sets (which is probably not definable by a bounded formula, i.e., in the polynomial hierarchy, because of Toda’s theorem).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The result on FLT, $S^1_2$, and factoring stems from Krajíček and Pudlák’s paper &lt;a href=&quot;http://www.karlin.mff.cuni.cz/~krajicek/j-crypto.ps&quot;&gt;Some consequences of cryptographical conjectures for $S^1_2$ and EF&lt;/a&gt;, and in my opinion it is fairly misleading. What Krajíček and Pudlák prove is that if factoring (actually, IIRC they state it for RSA instead of factoring, but it’s known that a similar argument works for factoring too) is hard for randomized polynomial time, then $S^1_2$ cannot prove the statement that every number $a$ coprime to a prime number $p$ has finite exponent modulo $p$, that is, there exists $k$ such that $a^k\equiv1\pmod p$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It’s true that this is a consequence of FLT, but in fact it is a much, much weaker statement than FLT. In particular, this statement follows from the weak pigeonhole principle, which is known to be provable in a subsystem of bounded arithmetic (albeit a stronger one than $S^1_2$). Thus, Krajíček and Pudlák’s argument shows that $S^1_2$ does not prove the weak pigeonhole principle unless factoring is easy, and as such provides a conditional separation of $S^1_2$ from another level of the bounded arithmetical hierarchy, say $T^2_2$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In contrast, the actual FLT does not even seem to be provable in full bounded arithmetic $S_2=T_2$, but this is not related to cryptography. You can find some relevant discussion in my paper &lt;a href=&quot;http://www.math.cas.cz/~jerabek/papers/flt.pdf&quot;&gt;Abelian groups and quadratic residues in weak arithmetic&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="6959" LastEditorUserId="6959" LastEditDate="2013-03-26T15:56:20.607" LastActivityDate="2013-03-26T15:56:20.607" CommentCount="15" ContentLicense="CC BY-SA 3.0" />
  <row Id="17033" PostTypeId="2" ParentId="17029" CreationDate="2013-03-26T16:53:06.317" Score="2" Body="&lt;p&gt;[Comment space was too short]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think it depends on what you mean by behaviour. Probabilistic automata follow in the tradition of finite automata, so their behaviour is defined in terms of their language or traces. Labelled Markov Processes follow in the tradition of process algebra, where it is known that processes can be compared using a variety of preorders typically starting with bisimulation. You do have notions of bisimulation defined for LMPs and in that paper. Bisimulation is stronger than trace equivalence, as you may know, so the behaviour you are interested in is the tree unfolding rooted at a given state. Definition 3.1 of the paper you have linked gives approximations of this tree. &lt;/p&gt;&#xA;" OwnerUserId="4155" LastActivityDate="2013-03-26T16:53:06.317" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="17035" PostTypeId="2" ParentId="17029" CreationDate="2013-03-26T18:13:08.437" Score="2" Body="&lt;p&gt;I assume that you are asking for the construction of the probability space for a given LMP. Although, I do not have a particular reference for this construction, there are a few closely related constructions that might help you. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The usual way (in my oppinion) would be to construct the probability spaces via Borel $\sigma$-algebras. The following book is a good reference for such probability spaces: Robert B. Ash and Catherine A. Doleans-Dade. Probability &amp;amp; Measure Theory.&#xA;Elsevier Science, 2000. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If that should not suffice, e.g. if you need a construction providing Lebesgue measurability, you could take a look at this paper, which is on a related system model (Continuous-time markov decision processes): &lt;a href=&quot;http://link.springer.com/article/10.1007%2Fs00236-011-0140-0&quot; rel=&quot;nofollow&quot;&gt;http://link.springer.com/article/10.1007%2Fs00236-011-0140-0&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="7908" LastEditorUserId="7908" LastEditDate="2013-03-26T18:21:33.930" LastActivityDate="2013-03-26T18:21:33.930" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="17038" PostTypeId="1" CreationDate="2013-03-26T22:40:19.807" Score="3" ViewCount="268" Body="&lt;p&gt;I became familiar with the BSS model of computation recently. &#xA;I find it to be a better model of computation to study complexity of numerical analysis methods (cf. Complexity and Real Computation; Blum, Cucker, Shub, Smale.) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Most of the existing PAC learning theory is concerned with standard computation model. I was wondering, &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;are there any research or literature regarding PAC learning in the BSS model?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The reason is that most of practical methods of computation over real numbers are based on numerical analysis which seem disconnected from the standard PAC learning developed in TCS community. Whereas the BSS model seems natural and well-suited for such studies.  &lt;/p&gt;&#xA;" OwnerUserId="14368" LastEditorUserId="-1" LastEditDate="2013-03-28T21:38:27.427" LastActivityDate="2013-03-28T21:38:27.427" Title="PAC learning and computation over real numbers" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;machine-learning&gt;&lt;lg.learning&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="17039" PostTypeId="1" CreationDate="2013-03-27T00:09:46.557" Score="8" ViewCount="181" Body="&lt;p&gt;Let &lt;span class=&quot;math-container&quot;&gt;$A,B,C$&lt;/span&gt; be subsets of a nonabelian group &lt;span class=&quot;math-container&quot;&gt;$G$&lt;/span&gt;,&#xA;and assume we know the structure of &lt;span class=&quot;math-container&quot;&gt;$G$&lt;/span&gt; &amp;quot;fairly well&amp;quot;&#xA;(e.g., &lt;span class=&quot;math-container&quot;&gt;$G = S_n$&lt;/span&gt; or &lt;span class=&quot;math-container&quot;&gt;$A_n$&lt;/span&gt;).&#xA;Assume that group operations take &lt;span class=&quot;math-container&quot;&gt;$O(1)$&lt;/span&gt; time.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Is it possible to check whether &lt;span class=&quot;math-container&quot;&gt;$AB \cap C \ne \emptyset$&lt;/span&gt; in &lt;span class=&quot;math-container&quot;&gt;$o(|A| |B| + |C|)$&lt;/span&gt; time&#xA;(ideally quasilinear)?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;h3&gt;Motivation:&lt;/h3&gt;&#xA;&lt;p&gt;A quasilinear time algorithm would produce&#xA;a roughly &lt;span class=&quot;math-container&quot;&gt;$O(|G|^{1/3})$&lt;/span&gt; time algorithm for shortest paths in certain Cayley graphs&#xA;(&lt;a href=&quot;https://math.stackexchange.com/questions/341471/computing-shortest-paths-in-cayley-graphs&quot;&gt;if they are expanders&lt;/a&gt;).&lt;/p&gt;&#xA;" OwnerUserId="13245" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2013-03-28T23:10:09.053" Title="Complexity of checking if AB intersects C" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;gr.group-theory&gt;" AnswerCount="0" CommentCount="2" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="17040" PostTypeId="1" CreationDate="2013-03-27T00:23:04.003" Score="19" ViewCount="545" Body="&lt;p&gt;In the Strassen algorithm, to compute the product of two matrices $\mathbf{A}$ and $\mathbf{B}$, the matrices $\mathbf{A}$ and $\mathbf{B}$ are divided into $2 \times 2$ block matrices and the algorithm proceeds recursively computing $7$ block matrix-matrix products as opposed to a naive $8$ block matrix-matrix products, i.e., if we want $\mathbf{C}=\mathbf{A} \mathbf{B}$, where&#xA;$$\mathbf{A} =\begin{bmatrix}&#xA;\mathbf{A}_{1,1} &amp;amp; \mathbf{A}_{1,2} \\&#xA;\mathbf{A}_{2,1} &amp;amp; \mathbf{A}_{2,2}&#xA;\end{bmatrix}&#xA;\mbox { , }&#xA;\mathbf{B} =&#xA;\begin{bmatrix}&#xA;\mathbf{B}_{1,1} &amp;amp; \mathbf{B}_{1,2} \\&#xA;\mathbf{B}_{2,1} &amp;amp; \mathbf{B}_{2,2}&#xA;\end{bmatrix}&#xA;\mbox { , }&#xA;\mathbf{C} =&#xA;\begin{bmatrix}&#xA;\mathbf{C}_{1,1} &amp;amp; \mathbf{C}_{1,2} \\&#xA;\mathbf{C}_{2,1} &amp;amp; \mathbf{C}_{2,2}&#xA;\end{bmatrix}$$&#xA;then we have&#xA;$$&#xA;\mathbf{C}_{1,1} = \mathbf{A}_{1,1} \mathbf{B}_{1,1} + \mathbf{A}_{1,2} \mathbf{B}_{2,1}\\&#xA;\mathbf{C}_{1,2} = \mathbf{A}_{1,1} \mathbf{B}_{1,2} + \mathbf{A}_{1,2} \mathbf{B}_{2,2}\\&#xA;\mathbf{C}_{2,1} = \mathbf{A}_{2,1} \mathbf{B}_{1,1} + \mathbf{A}_{2,2} \mathbf{B}_{2,1}\\&#xA;\mathbf{C}_{2,2} = \mathbf{A}_{2,1} \mathbf{B}_{1,2} + \mathbf{A}_{2,2} \mathbf{B}_{2,2} $$&#xA;which requires $8$ multiplications. Instead in Strassen, we compute&#xA;$$&#xA;\mathbf{M}_{1} := (\mathbf{A}_{1,1} + \mathbf{A}_{2,2}) (\mathbf{B}_{1,1} + \mathbf{B}_{2,2})\\&#xA;\mathbf{M}_{2} := (\mathbf{A}_{2,1} + \mathbf{A}_{2,2}) \mathbf{B}_{1,1}\\&#xA;\mathbf{M}_{3} := \mathbf{A}_{1,1} (\mathbf{B}_{1,2} - \mathbf{B}_{2,2})\\&#xA;\mathbf{M}_{4} := \mathbf{A}_{2,2} (\mathbf{B}_{2,1} - \mathbf{B}_{1,1})\\&#xA;\mathbf{M}_{5} := (\mathbf{A}_{1,1} + \mathbf{A}_{1,2}) \mathbf{B}_{2,2}\\&#xA;\mathbf{M}_{6} := (\mathbf{A}_{2,1} - \mathbf{A}_{1,1}) (\mathbf{B}_{1,1} + \mathbf{B}_{1,2})\\&#xA;\mathbf{M}_{7} := (\mathbf{A}_{1,2} - \mathbf{A}_{2,2}) (\mathbf{B}_{2,1} + \mathbf{B}_{2,2})&#xA;$$&#xA;and obtain $\mathbf{C}_{i,j}$'s using $\mathbf{M}_{k}$'s as&#xA;$$&#xA;\mathbf{C}_{1,1} = \mathbf{M}_{1} + \mathbf{M}_{4} - \mathbf{M}_{5} + \mathbf{M}_{7}\\&#xA;\mathbf{C}_{1,2} = \mathbf{M}_{3} + \mathbf{M}_{5}\\&#xA;\mathbf{C}_{2,1} = \mathbf{M}_{2} + \mathbf{M}_{4}\\&#xA;\mathbf{C}_{2,2} = \mathbf{M}_{1} - \mathbf{M}_{2} + \mathbf{M}_{3} + \mathbf{M}_{6}&#xA;$$&#xA;However, the choice of the matrices $\mathbf{M}_k$'s seem arbitrary to me. Is there a bigger picture as to why we choose these specific products of sub-matrices of $\mathbf{A}$ and $\mathbf{B}$? Also, I would expect $\mathbf{M}_k$'s to involve $\mathbf{A}_{i,j}$'s and $\mathbf{B}_{i,j}$'s in a symmetric fashion, which does not seem to be the case here. For instance, we have $\mathbf{M}_2: = (\mathbf{A}_{2,1}+\mathbf{A}_{2,2})\mathbf{B}_{1,1}$. I would expect its counterpart say $\mathbf{A}_{1,1} (\mathbf{B}_{1,2} + \mathbf{B}_{2,2})$ also to be computed. However, it is not since it can be obtained from other $\mathbf{M}_k$'s.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would appreciate if someone could throw some light on this.&lt;/p&gt;&#xA;" OwnerDisplayName="user4292" LastEditorUserId="-1" LastEditDate="2013-03-28T21:46:59.510" LastActivityDate="2013-03-28T21:46:59.510" Title="Bigger picture behind the choice of matrices in the Strassen algorithm" Tags="&lt;ds.algorithms&gt;&lt;linear-algebra&gt;&lt;matrices&gt;&lt;matrix-product&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="17041" PostTypeId="1" AcceptedAnswerId="17042" CreationDate="2013-03-27T03:31:22.983" Score="4" ViewCount="334" Body="&lt;p&gt;Consider a 2D grid, and a given planar graph $G$ with $\Delta&amp;lt;4$ (max node degree) and without odd cycles. What conditions should $G$ satisfy so that when it is mapped (or embedded) into the 2D grid, the adjacency of the nodes is maintained (i.e., all adjacent nodes in $G$ remain adjacent in the 2D grid). Accordingly, after embedding of $G$ in the 2D grid, the shortest path distance between adjacent nodes is still 1. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The alternative question is what is the condition for a given planar graph (with $\Delta&amp;lt;4$ and w/o odd cycles) to be a 2D grid?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks!&lt;/p&gt;&#xA;" OwnerUserId="14372" LastEditorUserId="-1" LastEditDate="2013-03-28T21:47:48.077" LastActivityDate="2013-03-28T21:47:48.077" Title="Adjacency-Preserving 2D Grid Embedding" Tags="&lt;graph-theory&gt;&lt;cg.comp-geom&gt;&lt;embeddings&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17042" PostTypeId="2" ParentId="17041" CreationDate="2013-03-27T04:17:52.420" Score="8" Body="&lt;p&gt;Embedding planar graphs (with max degree four) in an adjacency-preserving way onto a grid is NP-complete, meaning that there's unlikely to be simple necessary and sufficient conditions. Actually that's still true even for embedding trees into a grid. See:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;S. Bhatt and S. Cosmodakis. The complexity of minimizing wire lengths in VLSI layouts.&#xA;&lt;em&gt;Inform. Proc. Lett.&lt;/em&gt; 25:263–267, 1987.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2013-03-27T04:17:52.420" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="17043" PostTypeId="2" ParentId="17040" CreationDate="2013-03-27T04:44:14.527" Score="12" Body="&lt;p&gt;There is some sort of explanation in the book Algebraic Complexity Theory by Bürgisser, Clausen and Shokrollahi (p. 11-12). The idea is to start with two bases $A_0,A_1,A_2,A_3$ and $B_0,B_1,B_2,B_3$ of the space of $2\times 2$ real matrices which satisfy the following property: $A_iB_j \in \{0,A_0,A_1,A_2,A_3,B_0,B_1,B_2,B_3\}$. Furthermore, $A_0 = B_0$. To multiply two matrices $A$ and $B$, represent each of them in the corresponding basis, and evaluate the product. Since only seven different non-zero matrices appear in the result ($A_0=B_0,A_1,A_2,A_3,B_1,B_2,B_3$), only seven products are needed. The $M$ matrices are just these bases.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I don't know whether Strassen came up with this way of looking at it. Considering other identities underlying fast matrix multiplication algorithms, it's not clear whether there's anything deep going on, under than some formula working out. We've been through that before - Lagrange used the four square identity (which had been known before) to prove the four square theorem. At first it must have been just a curious algebraic identity, but now we know that it states the multiplicativity property of quaternion norm. Given the current state of knowledge, it is hard to tell whether the above interpretation is as productive.&lt;/p&gt;&#xA;" OwnerUserId="40" LastActivityDate="2013-03-27T04:44:14.527" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17044" PostTypeId="1" CreationDate="2013-03-27T06:17:30.917" Score="9" ViewCount="410" Body="&lt;p&gt;Consider a graph with all edges having unit capacity. &#xA;One can find the min cut in polynomial time. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose I am allowed to increase the capacity of any $k$ edges to infinity &#xA;(equivalent to merging the nodes on either side of the edge). &#xA;What is the optimal way of selecting an optimal set of $k$ edges &#xA;(whose capacity will be increased to infinity)&#xA;to maximize the min cut?&lt;/p&gt;&#xA;" OwnerUserId="14373" LastEditorUserId="-1" LastEditDate="2013-03-28T21:45:08.267" LastActivityDate="2017-05-17T06:35:54.100" Title="Increasing the capacity to maximize the min cut" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;max-flow-min-cut&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="17045" PostTypeId="2" ParentId="2543" CreationDate="2013-03-27T06:47:08.697" Score="1" Body="&lt;p&gt;Without going into all the mathematical mumbo-jumbo about Feistel (which I don't yet 100% understand), if you look at this image from Wikipedia:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/jnXQM.png&quot; alt=&quot;DES Encryption step&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can see that although the 8 s-boxes are indeed compressing 48 bits down to 32, &lt;em&gt;only 32 bits of entropy are coming from the plaintext&lt;/em&gt;, therefore you can get the other 16 bits from the key when decrypting, which is the magic performed by previous mentioned Feistel functions.&lt;/p&gt;&#xA;" OwnerUserId="14374" LastActivityDate="2013-03-27T06:47:08.697" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17046" PostTypeId="2" ParentId="17040" CreationDate="2013-03-27T08:06:49.157" Score="17" Body="&lt;p&gt;De Groote (On Varieties of Optimal Algorithms for the Computation of Bilinear Mappings. II. Optimal Algorithms for 2x2-Matrix Multiplication. Theor. Comput. Sci. 7: 127-148, 1978) proves that there is only one algorithm to multiply $2 \times 2$-matrices with 7 multiplications up to equivalence. This might be a unique feature of $2 \times 2$-matrix multiplication. (Note: You will find different variants of Strassen's algorithm in the literature. They are all equivalent with the right notion of equivalence.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you now start to prove a lower bound for $2 \times 2$-matrix multiplication - see the book by Bürgisser, Clausen, and Shokrollahi how to do that - then Strassen's algorithm or some variant shows up quite naturally. You will find out a lot of identities that determine how the products look like. Then you can finish by some guessing.&#xA;(De Groote's proof shows that even guessing is not necessary.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Schönhage once told me that Strassen once told him that he found his algorithm in this way, by trying to prove a lower bound.&lt;/p&gt;&#xA;" OwnerUserId="6456" LastActivityDate="2013-03-27T08:06:49.157" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17047" PostTypeId="1" CreationDate="2013-03-27T08:09:22.797" Score="0" ViewCount="681" Body="&lt;p&gt;I'm trying to validate a series of words that are provided by users. I'm trying to come up with a scoring system that will determine the likelihood that the series of words are indeed valid words.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assume the following input:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;xxx yyy zzz&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;The first thing I do is check each word individually against a database of words that I have. So, let's say that &lt;code&gt;xxx&lt;/code&gt; was in the database, so we are 100% sure it's a valid word. Then let's say that &lt;code&gt;yyy&lt;/code&gt; doesn't exist in the database, but a possible variation of its spelling exist (say &lt;code&gt;yyyy&lt;/code&gt;). We don't give &lt;code&gt;yyy&lt;/code&gt; a score of 100%, but maybe something lower (let's say 90%). Then &lt;code&gt;zzz&lt;/code&gt; just doesn't exist at all in the database. So, &lt;code&gt;zzz&lt;/code&gt; gets a score of 0%.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So we have something like this:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;xxx = 100%&#xA;yyy = 90%&#xA;zzz = 0%&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Assume further that the users are either going to either:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Provide a list of all valid words (most likely)&lt;/li&gt;&#xA;&lt;li&gt;Provide a list of all invalid words (likely)&lt;/li&gt;&#xA;&lt;li&gt;Provide a list of a mix of valid and invalid words (not likely)&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;As a whole, what is a good scoring system to determine a confidence score that &lt;code&gt;xxx yyy zzz&lt;/code&gt; is a series of valid words? I'm not looking for anything too complex, but getting the average of the scores doesn't seem right. If some words in the list of words are valid, I think it increases the likelihood that the word not found in the database is an actual word also (it's just a limitation of the database that it doesn't contain that particular word).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;NOTE: The input will generally be a minimum of 2 words (and mostly 2 words), but can be 3, 4, 5 (and maybe even more in some rare cases).&lt;/p&gt;&#xA;" OwnerUserId="14375" LastEditorUserId="-1" LastEditDate="2013-03-28T21:59:13.927" LastActivityDate="2013-04-28T19:16:05.723" Title="Algorithm Suggestion for Scoring System - weighted solution" Tags="&lt;ai.artificial-intel&gt;&lt;formal-modeling&gt;&lt;st.statistics&gt;" AnswerCount="3" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="17048" PostTypeId="2" ParentId="14363" CreationDate="2013-03-27T11:08:53.110" Score="2" Body="&lt;p&gt;&lt;strong&gt;Short answer:&lt;/strong&gt; yes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Long answer:&lt;/strong&gt; Using process algebra as a witness to the claimed existential is certainly admissible, but the way the question is phrased might warrant are more direct answer. If TMs are used as mathematical model for sequential computation, we can surely come up with a concurrent version, and show that it is no more powerful than the good old sequential ones. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are many ways to do so. We could aim for modelling shared variables as a tape shared by a family of TMs, we could add message passing steps to TMs, we could allow TMs to fork off child TMs with their own little tape, or we could invent TM equivalents of starting and ending a supposedly atomic transaction. Every single one of these extensions is easily shown wo be simulatable by an ordinary good old TM. If you're prepared to elaborate where you see a difficulty, the community may be able to help, even if I'm concerned that none of this qualifies as a research-level question.&lt;/p&gt;&#xA;" OwnerUserId="3552" LastActivityDate="2013-03-27T11:08:53.110" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17049" PostTypeId="1" AcceptedAnswerId="17068" CreationDate="2013-03-27T11:51:58.843" Score="3" ViewCount="658" Body="&lt;p&gt;I am conducting a research on the topic of mobile location recognition and recently I have reached the issue of extracting discriminative features. I've read that for upright images is strongly suggested using upright keypoints since they are more discriminative. My problem is that I don't understand clearly what is exactly an upright SIFT descriptor, the reference I found coining the term is:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://dx.doi.org/10.1007/978-3-642-15567-3_20&quot; rel=&quot;nofollow&quot;&gt;Handling Urban Location Recognition as a 2D Homothetic Problem&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Concretely in the reference they say the following:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;... for images in which gravity direction information exist we project&#xA;  the gravity direction onto the facade and align the keypoints with&#xA;  this direction (upright SIFT) ...&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;My only clue is an implementation of this upright SIFT descriptor as part of an &lt;a href=&quot;http://www.stanford.edu/class/ee368/Project_12/Proposals/Mak_Using_SIFT_features_for_small_to_mid_scale_image_database_search.pdf&quot; rel=&quot;nofollow&quot;&gt;academic project from a course of Digital Image Processing at Stanford&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thank you very much, I would appreciate any insight.&lt;/p&gt;&#xA;" OwnerUserId="14376" LastActivityDate="2019-09-02T16:34:27.867" Title="What is the difference between standard SIFT descriptor and upright SIFT descriptor?" Tags="&lt;cv.computer-vision&gt;&lt;image-processing&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17050" PostTypeId="1" CreationDate="2013-03-27T12:08:34.770" Score="10" ViewCount="598" Body="&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/BPP_%28complexity%29&quot;&gt;$\mathsf{BPP}$&lt;/a&gt; and &lt;a href=&quot;http://en.wikipedia.org/wiki/ZPP_%28complexity%29&quot;&gt;$\mathsf{ZPP}$&lt;/a&gt; are two of basic probabilistic complexity classes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\mathsf{BPP}$ is the class of languages decided by probabilistic polynomial-time Turing algorithms where the probability of algorithm returning an incorrect answer is bounded, i.e. the error probability is at most $\frac{1}{3}$ (for both YES and NO instances).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand,&#xA;$\mathsf{ZPP}$ algorithms can be viewed as those probabilistic algorithms &#xA;which never return an incorrect answer, whenever they return an answer it is correct.&#xA;However their running-time is not bounded by a polynomial, they run in expected polynomial.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $\mathsf{ZPTime}(f)$ be the class of language decided by probabilistic algorithms with zero error probability and expected running-time $f$. These are also referred to as &lt;a href=&quot;http://en.wikipedia.org/wiki/Las_Vegas_algorithm&quot;&gt;Las Vegas algorithms&lt;/a&gt; and $\mathsf{ZPP} = \mathsf{ZPTime}(n^{O(1)})$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is what is best know simulation of $\mathsf{BPP}$ algorithms using Las Vegas algorithms? Can we simulate them in subexponential expected time? Is there any known improvement over the trivial brute-force simulation which takes exponential time?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More formally, do we know if &#xA;$\mathsf{BPP} \subseteq \mathsf{ZPTime}(2^{O(n^{\epsilon})})$ or $\mathsf{BPP} \subseteq \mathsf{ZPTime}(2^{n-n^{\epsilon}})$ for some $\epsilon&amp;gt;0$?&lt;/p&gt;&#xA;" OwnerUserId="14065" LastEditorUserId="186" LastEditDate="2013-03-28T22:49:44.937" LastActivityDate="2013-04-02T23:53:52.987" Title="What is the fastest known simulation of BPP using Las Vegas algorithms?" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;randomness&gt;&lt;randomized-algorithms&gt;" AnswerCount="3" CommentCount="4" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="17051" PostTypeId="1" AcceptedAnswerId="17067" CreationDate="2013-03-27T15:22:47.143" Score="12" ViewCount="575" Body="&lt;p&gt;Define $\mathsf{DTIME}(f(n))$ as the class of languages that can be accepted by a (multitape) Turing machine in time $f(n) + 1$. (The &quot;$+ 1$&quot; is just to simplify notation and avoid confusion.) Notice that there is no $O(\cdot)$ around $f(n) + 1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is it true that $\mathsf{DTIME}(n) = \mathsf{DTIME}(2n)$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Using the &lt;a href=&quot;https://en.wikipedia.org/wiki/Linear_speedup_theorem&quot;&gt;linear speed-up theorem&lt;/a&gt;, we can prove $\mathsf{DTIME}(2n) = \mathsf{DTIME}(1.01n)$, but can we reach $n$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It seems that the language of palindromes is in $\mathsf{DTIME}(n)$; for related topics, see &lt;a href=&quot;http://rjlipton.wordpress.com/2011/01/12/stringology-the-real-string-theory/&quot;&gt;Lipton's blog post about string algorithms&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="419" LastEditorUserId="4193" LastEditDate="2013-03-27T17:31:44.150" LastActivityDate="2013-10-25T02:14:22.937" Title="Is $\mathsf{DTIME}(n) = \mathsf{DTIME}(2n)$?" Tags="&lt;cc.complexity-theory&gt;&lt;time-complexity&gt;&lt;turing-machines&gt;&lt;time-hierarchy&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="17052" PostTypeId="2" ParentId="16965" CreationDate="2013-03-27T15:33:12.440" Score="2" Body="&lt;p&gt;part of the challenge in this area is there seems not to be a strict formal/mathematical definition of the term &lt;a href=&quot;http://en.wikipedia.org/wiki/Fractal&quot; rel=&quot;nofollow&quot;&gt;&quot;fractal&quot;&lt;/a&gt;. originally as coined by &lt;a href=&quot;http://en.wikipedia.org/wiki/Benoit_Mandelbrot&quot; rel=&quot;nofollow&quot;&gt;Mandelbrot&lt;/a&gt; in 1975 it had an informal geometric interpretation but is now seen as more general, eg applying to misc important mathematical objects created/discovered before unifying principles/properties of fractals were recognized, such as &lt;a href=&quot;http://en.wikipedia.org/wiki/Cantor_dust#Cantor_dust&quot; rel=&quot;nofollow&quot;&gt;Cantor dust&lt;/a&gt; or the &lt;a href=&quot;http://en.wikipedia.org/wiki/Sierpinski_triangle&quot; rel=&quot;nofollow&quot;&gt;Sierpinsky triangle&lt;/a&gt; or even the &lt;a href=&quot;http://en.wikipedia.org/wiki/Weierstrass_function&quot; rel=&quot;nofollow&quot;&gt;Weierstrauss function&lt;/a&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;of course as in these examples an algorithm to draw fractals has fractal complexity properties. however there seems to be a much deeper connection between fractals and algorithms (maybe fundamental?) as uncovered in the links between fractal computations and undecidability (maybe two faces of the same phenomena?).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;one alternative is to consider the closely related &lt;a href=&quot;http://en.wikipedia.org/wiki/Iterated_function_system&quot; rel=&quot;nofollow&quot;&gt;iterated function systems&lt;/a&gt;. eg try &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://eudml.org/doc/92487&quot; rel=&quot;nofollow&quot;&gt;Fractal geometry, Turing machines, and divide-and-conquer recurrences&lt;/a&gt; &lt;a href=&quot;http://archive.numdam.org/ARCHIVE/ITA/ITA_1994__28_3-4/ITA_1994__28_3-4_405_0/ITA_1994__28_3-4_405_0.pdf&quot; rel=&quot;nofollow&quot;&gt;[pdf]&lt;/a&gt;&#xA;S. Dube,&#xA;Informatique&#xA;théorique&#xA;et&#xA;Applications/Theoietical&#xA;Informaties&#xA;and&#xA;Applications&#xA;(vol.&#xA;28,&#xA;no&#xA;3-4,&#xA;1994,&#xA;p.&#xA;405-423)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;These&#xA;  results&#xA;  show&#xA;  that&#xA;  for&#xA;  every&#xA;  Turing&#xA;  machine&#xA;  there&#xA;  exists&#xA;  a&#xA;  fractal&#xA;  set&#xA;  which&#xA;  can&#xA;  be&#xA;  viewed,&#xA;  in&#xA;  a&#xA;  certain&#xA;  sense,&#xA;  as&#xA;  geometrically&#xA;  encoding&#xA;  the&#xA;  complement&#xA;  of&#xA;  the&#xA;  language&#xA;  accepted&#xA;  by&#xA;  the&#xA;  machine.&#xA;  One&#xA;  can&#xA;  build&#xA;  a&#xA;  fractal-based&#xA;  geometrical&#xA;  model&#xA;  of&#xA;  computation&#xA;  which&#xA;  is&#xA;  computationally&#xA;  universal.&#xA;  Secondly&#xA;  we&#xA;  survey&#xA;  the&#xA;  results&#xA;  which&#xA;  show&#xA;  how&#xA;  fractal&#xA;  geometry&#xA;  can&#xA;  be&#xA;  fruitfully&#xA;  used&#xA;  to&#xA;  solve&#xA;  divide-and-conquer&#xA;  recurrences.&#xA;  A&#xA;  recursive&#xA;  algorithm&#xA;  possesses&#xA;  temporal&#xA;  self-similarity&#xA;  and&#xA;  there&#xA;  is&#xA;  a&#xA;  natural&#xA;  connection&#xA;  with&#xA;  spatial&#xA;  self-similar&#xA;  objects&#xA;  (fractal&#xA;  images).&#xA;  This&#xA;  approach&#xA;  yields&#xA;  a&#xA;  new&#xA;  and&#xA;  gênerai&#xA;  way&#xA;  of&#xA;  solving&#xA;  such&#xA;  divide-and-conquer&#xA;  récurrences.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.complex-systems.com/pdf/07-6-2.pdf&quot; rel=&quot;nofollow&quot;&gt;Undecidable&#xA;Problems&#xA;in&#xA;Fractal&#xA;Geometry&lt;/a&gt;&#xA;S. Dube, Complex&#xA;Systems&#xA;7&#xA;(1993)&#xA;423-444&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;In this&#xA;  paper, a&#xA;  relationship&#xA;  between&#xA;  the&#xA;  classical&#xA;  theory&#xA;  of&#xA;  computation&#xA;  and&#xA;  fractal&#xA;  geometry&#xA;  is&#xA;  established.&#xA;  Iterated Function&#xA;  Systems are&#xA;  used&#xA;  as&#xA;  tools&#xA;  to&#xA;  define&#xA;  fractals.&#xA;  It&#xA;  is&#xA;  shown&#xA;  that&#xA;  two&#xA;  questions about&#xA;  Iterated&#xA;  Function&#xA;  Systems are&#xA;  undecidable:&#xA;  to test&#xA;  if the&#xA;  attractor&#xA;  of&#xA;  a&#xA;  given Iterated&#xA;  Function&#xA;  System&#xA;  and&#xA;  a given&#xA;  line&#xA;  segment intersect&#xA;  and to&#xA;  test&#xA;  if a given&#xA;  Iterated&#xA;  Function System&#xA;  is&#xA;  totally&#xA;  disconnected.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2013-03-27T15:33:12.440" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17053" PostTypeId="1" AcceptedAnswerId="17056" CreationDate="2013-03-27T15:35:04.383" Score="3" ViewCount="527" Body="&lt;p&gt;I'm trying to understand the algorithm for finding K shortest paths in a graph described by Eppstein in this paper: &lt;a href=&quot;http://www.ics.uci.edu/~eppstein/pubs/Epp-SJC-98.pdf&quot; rel=&quot;nofollow&quot;&gt;http://www.ics.uci.edu/~eppstein/pubs/Epp-SJC-98.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have trouble particularly with this quote on page 7, paragraph 2.3:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&quot;If G contains cycles, the path tree is infinite. By Lemma 3, the path tree is heap-ordered. However since its degree is not necessarily constant, we cannot directly apply breadth first search (nor Frederickson’s heap selection technique, described later in Lemma 8) to find its k minimum values.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Why can we not use breadth first search (BFS) here? I've tried to look for an answer and to come up with different graphs where the degree of the nodes varies, but so far I do not understand this. Could someone explain how the non-constant degree prevents us from using BFS?&lt;/p&gt;&#xA;" OwnerUserId="15381" LastActivityDate="2013-03-27T16:50:31.403" Title="Breadth first search and Eppstein K shortest paths algorithm" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;ds.data-structures&gt;&lt;directed-acyclic-graph&gt;&lt;shortest-path&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17054" PostTypeId="2" ParentId="17047" CreationDate="2013-03-27T15:46:47.647" Score="1" Body="&lt;p&gt;I don't think this question is related at all with approximation algorithms, or theoretical CS.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Please take the following as some free, non-exhaustive, thoughts on your question.&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It seems to me that what you want is just the &lt;em&gt;probability&lt;/em&gt; that a given sequence of words contains &lt;em&gt;only&lt;/em&gt; valid words.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let me assume that each word is chosen independently (which it isn't true).&#xA;Suppose we have $k$ words, call $\sigma_i$ the i-th of such words.&#xA;Call $A_i$ the event &quot;$\sigma_i$ is a valid word&quot; and $A$ the event &quot;all words are valid&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Under this assumptions you have:&#xA;$$&#xA;P(A) = \prod_{i=1}^{k}P(A_i)&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;so you only need to assign a probability to each word (and you've already given such a distribution in you question).&#xA;However you may want to apply some smoothing: if you set $P(A_i)=0$ for some $A_i$ then also $P(A)$ will be $0$ (if you are sure that a word is not valid, then then the whole phrase cannot be valid).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A bayesian approach only requires conditional independency. For example you can compare the following two quantities (and choose the highest):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;P(A | \sigma_1, \dots, \sigma_k) \propto  P(\sigma_1, \dots, \sigma_k | A) P(A) = \prod_{i=1}^{k}P(\sigma_i|A) P(A)&#xA;$$&#xA;$$&#xA;P(A^C | \sigma_1, \dots, \sigma_k) \propto  P(\sigma_1, \dots, \sigma_k | A^C) P(A^C) = \prod_{i=1}^{k}P(\sigma_i|A^C) (1 - P(A))&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where $P(\sigma_i|A)$ is the probability that the word $\sigma_i$ appears in a valid phrase, $P(\sigma_i|A^C)$ is the probability that $\sigma_i$ appears in an invalid phrase and and P(A) is the probability that a valid phrase shows up.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the above we are just differentiating &quot;valid&quot; from &quot;invalid&quot; phrases. If you want to account for &quot;completely valid&quot;, &quot;completely invalid&quot; and &quot;mixed up&quot; phrases you can do something similar.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You'll need to assign three probabilities to each word $\sigma_i$: $P(\sigma_i|valid)$, $P(\sigma_i|invalid)$, $P(\sigma_i|mixed)$ and three &quot;a priori&quot; probabilities, for example:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$P(valid) = 0.55$  (most likely)&lt;/li&gt;&#xA;&lt;li&gt;$P(invalid) = 0.40$ (likely)&lt;/li&gt;&#xA;&lt;li&gt;$P(mixed) = 0.05$ (not likely)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="13635" LastActivityDate="2013-03-27T15:46:47.647" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17056" PostTypeId="2" ParentId="17053" CreationDate="2013-03-27T16:50:31.403" Score="5" Body="&lt;p&gt;The main reason is that the non-constant degree would imply that the time per result is too high. The number of nodes found by the search, in the end, is going to be k, but all but the last one needs to have their children expanded, so the number of expanded nodes is kd where d is the degree. Unless d is O(1) this will be larger than the eventual time bound of the algorithm.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2013-03-27T16:50:31.403" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17058" PostTypeId="2" ParentId="17050" CreationDate="2013-03-27T18:41:07.113" Score="4" Body="&lt;p&gt;Barring any advances in derandomization, it seems to me as though the requirement that the Las Vegas Machine makes no mistakes is crucial, so that there is little to no benefit to having randomness at all in this case.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For a &lt;strong&gt;BPP&lt;/strong&gt; language $L$ decided by a suitable algorithm $A$, which acts on inputs $x \in \{0,1\}^n$ and a random string $r \in \{0,1\}^{N(n)}$ representing its random choices, the zero-error criterion implies that the Las Vegas machine must ascertain for certain which of the two cases $$\Pr_r(\text{$A$ accepts $(x,r)$}) \geqslant \tfrac{2}{3} \quad\text{or}\quad \Pr_r(\text{$A$ accepts $(x,r)$}) \leqslant \tfrac{1}{3}$$ holds. If we are given no further information about $A$, then this is essentially an oracle promise problem: given an oracle $A'$ computing $A'(r) = A(x,r)$, and given the promise that $A'$ yields one output $a \in \{0,1\}$ for at least twice as many inputs as the opposite output $1-a$, determine which output is more common.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Although the Las Vegas Machine may use random techniques, if we are indeed forced to treat $A'$ as an oracle, we can see that the only strategy available to a Las Vegas machine is to take a relatively thorough (though not exhaustive) survey of the random strings $r$, to see what answer is given for each. It can only be sure if it finds more than $2^{N(n)}\!/3$ distinct strings $r$ which all give rise to the same output; otherwise, with small (but non-zero!) probability, it may be unlucky and obtain a non-representative sample of the possible outputs. To obtain zero error, it must sample at least $2^{N(n)}\!/3$ inputs $r$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Because the Las Vegas machine must inspect at least a constant fraction of all of the possible random strings $r$, asymptotically we're no better off than if we &lt;em&gt;deterministically&lt;/em&gt; tested all possible random strings. We get no asymptotic advantage in simulating &lt;strong&gt;BPP&lt;/strong&gt; algorithms randomly in a zero-error setting, beyond what we can do deterministically by brute-force.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that this same argument gives rise to an oracle separation between &lt;strong&gt;BPP&lt;/strong&gt; and &lt;strong&gt;ZPP&lt;/strong&gt;, &lt;em&gt;i.e.&lt;/em&gt;&amp;nbsp;there is an oracle $A$ such that $$\mathsf{ZPP}^A \subsetneqq \mathsf{BPP}^A$$&#xA;because the &lt;strong&gt;ZPP&lt;/strong&gt; algorithm takes exponential time, while a &lt;strong&gt;BPP&lt;/strong&gt; algorithm can solve the question about the oracle in a single query and succeed with bounded error. However, it doesn't tell you any more than what you suspected already (that the simulation overhead may be worse than polynomial) nor that the asymptotics are just as bad as a naive deterministic simulation.&lt;/p&gt;&#xA;" OwnerUserId="248" LastEditorUserId="248" LastEditDate="2013-03-28T17:18:17.250" LastActivityDate="2013-03-28T17:18:17.250" CommentCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="17059" PostTypeId="1" AcceptedAnswerId="17073" CreationDate="2013-03-27T19:22:41.260" Score="1" ViewCount="296" Body="&lt;p&gt;In the process of trying to create an approximation algorithm for the following problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $G = (V,E)$ be a graph, $c_e, c_{iv} \ge 0$, for $e \in E$, $i \in L$, and $v \in V$, where $L$ is a finite set of integers.  Each vertex $v$ in the graph is to be assigned an element $i$ from the list $L$ at cost $c_{iv}$.  Cost $c_e$ is incurred for an edge iff its vertices are in different lists.  The objective is to find the minimum cost assignment to vertices.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;IP: Minimize $\sum_{e \in E} c_e x_e + \sum_{i \in L \\ v \in V} c_{iv}y_{iv}$&#xA;subject to&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\sum_{i \in L} y_{iv} = 1$ for all $v \in V$, &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$y_{iv} + y_{ju} \le 1 + x_{(u,v)}$,&#xA;for all $(u,v) \in E$, $i \neq j \in L$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$x_e, y_{iv} \in \{0,1\}$ for all $e \in E$, $i \in L$, $v \in V$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Somehow (through rounding), I am supposed to use the linear relaxation to create a 2-factor approximation for the optimal solution to this integer program.  Does anyone have a hint for how to proceed?&lt;/p&gt;&#xA;" OwnerUserId="13525" LastEditorUserId="13525" LastEditDate="2013-03-27T22:32:24.330" LastActivityDate="2013-03-30T03:54:55.550" Title="Approximation algorithm for graph problem" Tags="&lt;ds.algorithms&gt;&lt;graph-algorithms&gt;&lt;approximation-algorithms&gt;&lt;linear-programming&gt;" AnswerCount="1" CommentCount="6" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17060" PostTypeId="1" CreationDate="2013-03-27T20:32:27.797" Score="7" ViewCount="259" Body="&lt;p&gt;I am interested in reducing a &lt;em&gt;circuit over sets of naturals&lt;/em&gt; (see &lt;a href=&quot;http://www-ti.informatik.uni-tuebingen.de/~borchert/ArithmeticalCircuits/PreFinalCC-7-229.pdf&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt; for some basic notions about this type of circuits) to a boolean circuit computing the same output. A very basic circuit of this type is a circuit $C_s$ defined over a beginning subset of $\mathbb{N}$ (i.e., $\{0,...,n\}$) containing only $\{\cap,\cup\}$ gates. My question is how efficiently can a boolean circuit $C_b$ be constructed that computes the same output as $C_s$ and whether there exists a lower bound on the size of such a $C_b$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The simplest way I can think of, in order to achieve the above, would be to represent a set $S$ by a binary array $\mathbf{s} = s_1,...,s_n$ of size $n$ where a 1 in position $i$ would signify that element $i \in S$. With this representation in mind, a union operation between sets $S,P$ can be implemented by $n$ OR gates by performing a point-wise OR for arrays $\mathbf{s}$ and $\mathbf{p}$. Likewise, intersection would be captured by point-wise AND. This approach would imply that $|C_b| \in O(n)$ and likewise for the reduction time (with a multiplicative factor of $|C_s|$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can someone point out whether this approach is optimal or whether there is a better way to achieve the above? More importantly, is there a known lower bound for transformation of circuits over sets of naturals to boolean circuits? My research is security-motivated and the problem is governed by a security parameter $\lambda$ such that $n \in O(2^{\lambda})$ hence my approach is infeasible as it yields exponential size $C_b$. (EDIT: Assume each set $S$ is of size only $O(poly(\lambda)$)   &lt;/p&gt;&#xA;" OwnerUserId="15388" LastEditorUserId="-1" LastEditDate="2013-03-28T21:51:54.220" LastActivityDate="2013-04-01T15:56:39.993" Title="How efficiently can circuits over sets of naturals be transformed to boolean circuits?" Tags="&lt;cc.complexity-theory&gt;&lt;circuit-complexity&gt;&lt;arithmetic-circuits&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="17062" PostTypeId="2" ParentId="16625" CreationDate="2013-03-27T23:27:15.540" Score="3" Body="&lt;p&gt;If you weaken the time bound very slightly from linear, the answer is definitively no. Probably a more delicate construction will work for linear time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $f(n)$ be any monotone increasing time-constructible function $\geq n$. Then there is a language $L \in \mathsf{DTIME}(n^2)$ (in fact, in time $n f^{-1}(n)$, e.g. when $f(n)=2^n$ this is $n \log n$) such that &lt;em&gt;any&lt;/em&gt; enumerator for that language requires $f(n)$ delay between enumerating the $n$-th and $(n+1)$-st strings. In particular, $L = \{0^{f(m)} : m \geq 0\}$ has this property. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$L$ can be decided in time $n f^{-1}(n)$: if $x \neq 0^{n}$ then $x \notin L$. Otherwise, compute $f(1), f(2), \dotsc$ until $f(k) \geq n$. In fact, in the computation of $f(k)$, if the counter ever surpasses $n$, stop. This ensures that each computation of $f(i)$ takes at most time $n$. The largest $k$ for which such a computation needs to be done is $\lceil f^{-1}(n) \rceil$, giving the claimed runtime.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, any enumerator for $L$ requires delay $f(n)$ between strings in the worst case. If the enumerator enumerates $L$ in lexicographic order, this clear because it takes time $f(n)$ to just write down the next string. If the enumerator is out of order finitely often, the same is still true after the finitely many. If the enumerator is out of order infinitely often, then infinitely often it is enumerating longer strings earlier than otherwise, hence takes time more than $f(n)$.&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2013-03-27T23:27:15.540" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17063" PostTypeId="2" ParentId="17050" CreationDate="2013-03-28T03:42:36.020" Score="8" Body="&lt;p&gt;It depends on what assumptions you are willing to make.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Under certain hardness assumptions, namely $E \not\subseteq SIZE(2^{\varepsilon n})$, you get that $P = BPP$. This in particular implies that $BPP = ZPP$, and therefore that every language $L \in BPP$ is accepted by a Las Vegas machine (see &quot;P=BPP unless E has Subexponential Circuits: Derandomizing the XOR Lemma&quot;, by Impagliazzo and Wigderson).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can also make a milder hardness assumption, namely, that $ZPE \not\subseteq \rm{io-DTIME}(2^{\varepsilon n})$, and get that $BPP = ZPP$ (see Lemma 46 in &quot;In search of an easy witness: Exponential time vs. probabilistic polynomial time&quot; by Impagliazzo, Kabanets and Wigderson).&lt;/p&gt;&#xA;" OwnerUserId="8429" LastActivityDate="2013-03-28T03:42:36.020" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17065" PostTypeId="1" AcceptedAnswerId="30650" CreationDate="2013-03-28T04:40:36.507" Score="14" ViewCount="324" Body="&lt;p&gt;If $n$ balls are placed into $n$ bins uniformly at random, the heaviest loaded bin has $O(\lg n/\lg \lg n)$ balls in it with high probability. In &lt;a href=&quot;http://arxiv.org/abs/1011.5200&quot;&gt;&quot;The Power of Simple Tabulation Hashing&quot;&lt;/a&gt;, Pătraşcu and Thorup mention that &lt;a href=&quot;http://www.cs.umd.edu/~srin/PDF/ch-bounds.pdf&quot;&gt;&quot;Chernoff-Hoeffding bounds for applications with limited independence&quot;&lt;/a&gt; (&lt;a href=&quot;http://www.cs.nyu.edu/faculty/siegel/Limited.ps&quot;&gt;mirror&lt;/a&gt;) shows that this bound on the population of the heaviest loaded bin also holds if the balls are distributed by an $\Omega(\lg n/\lg \lg n)$-independent hash function.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In &lt;a href=&quot;http://www.stanford.edu/~segev/papers/SmallFamilies.pdf&quot;&gt;&quot;Balls and Bins: Smaller Hash Families and Faster Evaluation&quot;&lt;/a&gt;, Celis et al. note that it is not known if there is a family of hash functions where &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Hash functions can be represented with $O(\lg n)$ bits of space&lt;/li&gt;&#xA;&lt;li&gt;Hash functions can be evaluated in $O(1)$ time&lt;/li&gt;&#xA;&lt;li&gt;The maximal load is $O(\lg n / \lg \lg n)$ with high probability.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;If there is a constant $k$ such that any $k$-independent family suffices for #3, then it the polynomial construction of $k$-independent families would meet #1 and #2.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What bound &lt;em&gt;do&lt;/em&gt; we have for the heaviest loaded bin with $k$-independent hashing? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Using Theorem 4.III of &quot;Chernoff-Hoeffding bounds ...&quot; and the union bound, I think I can get a bound of $O(n^{2/k})$ on the weight of the heaviest loaded bin w.h.p.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can this be brought down to $O(\lg ^c n)$ using other techniques?&lt;/p&gt;&#xA;" OwnerUserId="43" LastEditorUserId="43" LastEditDate="2013-03-31T05:10:45.833" LastActivityDate="2015-03-01T17:42:29.313" Title="How much independence is required for separate chaining?" Tags="&lt;ds.data-structures&gt;&lt;randomness&gt;&lt;hash-function&gt;&lt;independence&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="17066" PostTypeId="2" ParentId="17047" CreationDate="2013-03-28T04:53:47.653" Score="-1" Body="&lt;p&gt;As you are coming from &lt;code&gt;SOF&lt;/code&gt; you are looking for a pragmatic solution which may not be theoretically complete and yet such a solution is hard to be found in &lt;code&gt;SOF&lt;/code&gt;. Although the information is incomplete by the nature of your question, so the trade-offs cannot figured precisely, according to your example:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;It is clear what to do with &lt;code&gt;xxx&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;Scoring &lt;code&gt;yyy&lt;/code&gt; is highly based on missing data of your question. For  now, I guess there would be more than just one &lt;code&gt;yyyy&lt;/code&gt; with 90% correlation i.g. &lt;code&gt;yyyyy&lt;/code&gt; with 80% correlation... What I go for, if possible, based on the problem, is checking which option user will pick up at that point (get a user feedback, i.g. &lt;code&gt;Google&lt;/code&gt; suggestions) so if the word still is not in main table, spelling error is less common since user has not made a choice from provided list. Word correlation algorithm would be the heart of your solution and I have no suggestion for it with given amount of data in your question. Personally I prefer to adhere to a standard one based on my purpose rather than creating a new one. If the correlation is one-to-one it would be easy, but if the context matters i.e. &lt;code&gt;yyyy&lt;/code&gt; is surrounded by with words and whats their position, it would become a nightmare. That case the scoring should be based on domain's Ontology.&lt;/li&gt;&#xA;&lt;li&gt;I would not score &lt;code&gt;zzz&lt;/code&gt; to zero without consequences. Store them in a temporary table and every-time a new instance shows up, after checking main table, I'll check temp table and if the word is there, will score it up (not just +1, preferably a fraction of user reputation which could be considered as a mutation in compare to biological systems), but yet score it zero. After the word gets enough reputation (one of your constants which is affected by you policies; you need a bunch of these parameters in your design), I'll move it to main table and update the previous interpretations according to new fact (New Fact is:&lt;code&gt;zzz&lt;/code&gt; is now a valid word like &lt;code&gt;xxx&lt;/code&gt;, &lt;a href=&quot;http://en.wikipedia.org/wiki/Natural_selection&quot; rel=&quot;nofollow&quot;&gt;mutation is selected by nature&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;li&gt;After all, a reputation system for users is inevitable i.e. what &lt;code&gt;Wikipedia&lt;/code&gt; does under the hood. I say inevitable because from &lt;a href=&quot;http://en.wikipedia.org/wiki/Systems_thinking&quot; rel=&quot;nofollow&quot;&gt;System Thinking&lt;/a&gt; perspective, you need feed-backs to keep your system alive. For example ratio of matching or non-matching words could be counted as part of this score. You can add up new ideas i.e. if a word from temp table get enough score to move to main table, the first user who suggested the word (word owner in temp table) could get a bonus for his creativity and courage, and also subsequent confirming guys, by a fraction. This is up to your policy and what you are going to motivate. Latter example will motivate users in such a way which results in fast dbase growth if it is intended. Precise of this growing dbase is dependent on how fast you move words from temp table to main table (a trade-off between growth rate and precision).&lt;/li&gt;&#xA;&lt;li&gt;When implementing a reputation system, consider storing real data (not information, which is processed data), your parameters and some cache tables which would be updated by triggers. New &lt;code&gt;valid word&lt;/code&gt;, &lt;code&gt;invalid words&lt;/code&gt; and &lt;code&gt;user reputations&lt;/code&gt; could be calculated based on new rules as like as these rules have been used from the first day of system existence. That way upon policy changes, you will lose noting important, just interpretations will change. From here, you should analyze stored system's data periodically and update policies/rules according to new recognized patterns which could be considered as the system's knowledge. So your system's knowledge iteratively increases over the time.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="15395" LastEditorUserId="15395" LastEditDate="2013-03-28T05:33:41.033" LastActivityDate="2013-03-28T05:33:41.033" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="17067" PostTypeId="2" ParentId="17051" CreationDate="2013-03-28T11:16:43.520" Score="12" Body="&lt;p&gt;From the comment: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In &quot;&lt;a href=&quot;http://cage.ugent.be/~klein/papers/turing.pdf&quot;&gt;Deterministic Turing Machines in the Range between Real-Time and Linear-Time&lt;/a&gt;&quot; I found:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;... if $r \in T^{−1}(DTM)$ and $r' \in o(r)$ then $DTIME(n+r') \subset DTIME(n+r)$ ...&lt;/p&gt;&#xA;" OwnerUserId="3247" LastActivityDate="2013-03-28T11:16:43.520" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="17068" PostTypeId="2" ParentId="17049" CreationDate="2013-03-28T14:05:17.507" Score="1" Body="&lt;p&gt;SIFT algorithm detects keypoints, assigns orientation to them and then constructs a descriptor of that keypoint using the assigned orientation as a reference frame. Upright SIFT descriptor does the same thing, but forces orientation to be the vector (0, 1). So it's very simple: upright descriptor simply assumes that the orientation of the features doesn't change over_time/between_images and therefore just uses the unit vector directed upwards to construct the frame of reference.&lt;/p&gt;&#xA;" OwnerUserId="15401" LastActivityDate="2013-03-28T14:05:17.507" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17069" PostTypeId="1" AcceptedAnswerId="17070" CreationDate="2013-03-28T21:15:14.000" Score="1" ViewCount="305" Body="&lt;p&gt;Is anyone aware of a max flow algorithm where the edges are conditioned upon one another? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Meaning if I send &lt;em&gt;f&lt;/em&gt; units of flow from vertex &lt;em&gt;a&lt;/em&gt; --&gt; &lt;em&gt;b&lt;/em&gt;, then I have to send .5*f* unit from &lt;em&gt;a&lt;/em&gt; --&gt; &lt;em&gt;c&lt;/em&gt;.&lt;/p&gt;&#xA;" OwnerUserId="15403" LastEditorUserId="-1" LastEditDate="2013-03-28T22:09:19.283" LastActivityDate="2013-03-29T01:27:18.097" Title="Max flow with conditional edges" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;max-flow&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17070" PostTypeId="2" ParentId="17069" CreationDate="2013-03-28T23:27:00.653" Score="6" Body="&lt;p&gt;The problem you describe is a generalization of the &lt;em&gt;equal flow&lt;/em&gt; problem first proposed by Sahni.  In addition to the flow network, the input specifies several disjoint sets $R_1, R_2, \dots, R_k$ of arcs; the goal is to find a maximum flow such that for each $i$, all arcs in $R_i$ have the same flow value.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;While the fractional version of the equal flow problem can be solved in polynomial time by linear programming, the integer version is NP-hard, even if the capacity of each arc is $1$ and all arcs in each set $R_i$ leave the same vertex $v_i$.  Worse, Meyers and Schulz recently proved that there is no polynomial-time $2^{n(1-\epsilon)}$-approximation algorithm, for any fixed $\epsilon&amp;gt;0$, unless $P=NP$.  (The integrality gap of the fractional LP can be arbitrarily large.)&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Carol Meyers and Andreas Schulz.  &lt;a href=&quot;http://web.mit.edu/schulz/www/epapers/ms-orl-2009.pdf&quot; rel=&quot;nofollow&quot;&gt;Integer equal flows.&lt;/a&gt;  &lt;em&gt;Operations Research Letters&lt;/em&gt; 37(4):245-249, 2009.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="111" LastEditorUserId="111" LastEditDate="2013-03-29T01:27:18.097" LastActivityDate="2013-03-29T01:27:18.097" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17071" PostTypeId="1" CreationDate="2013-03-29T03:03:09.080" Score="6" ViewCount="360" Body="&lt;p&gt;Are there any common approaches for finding a vertex separator in a bipartite graph $G = (V_1, V_2, E)$ where the selected vertices are constrained to come from one partition of the graph?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have a large bipartite graph with $|V_1|$ = 40M and $|V_2|$ = 150K and want to remove vertices from $V_1$ to disconnect the graph.  Obviously, with a graph this large, I need a fairly efficient algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does anyone have suggestions?&lt;/p&gt;&#xA;" OwnerUserId="4619" LastEditorUserId="-1" LastEditDate="2013-04-13T18:13:22.170" LastActivityDate="2013-09-13T18:09:49.817" Title="Bipartite vertex separator" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;approximation-algorithms&gt;" AnswerCount="0" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="17073" PostTypeId="2" ParentId="17059" CreationDate="2013-03-29T07:28:29.537" Score="3" Body="&lt;p&gt;The problem you specify is called &lt;em&gt;Uniform Labeling Problem&lt;/em&gt; and often arises in the field of computer vision. Kleinberg &amp;amp; Tardos give the LP-based &lt;a href=&quot;http://www.cs.cornell.edu/home/kleinber/focs99-mrf.pdf&quot; rel=&quot;nofollow&quot;&gt;2-approximation&lt;/a&gt; you are looking for.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This problem also appears in the Williamson &amp;amp; Shmoys &lt;a href=&quot;http://www.designofapproxalgs.com&quot; rel=&quot;nofollow&quot;&gt;book&lt;/a&gt; as exercise 5.10.&lt;/p&gt;&#xA;" OwnerUserId="7073" LastActivityDate="2013-03-29T07:28:29.537" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17076" PostTypeId="1" AcceptedAnswerId="25321" CreationDate="2013-03-29T16:47:57.837" Score="5" ViewCount="143" Body="&lt;p&gt;Let $X$ be a Markov Chain on a state space $\{0,1\}$ with a transition matrix&#xA;$$&#xA;P =  \left(&#xA;\begin{align}&#xA;1-p &amp;amp; &amp;amp;p&#xA;\\&#xA;q &amp;amp; &amp;amp;1-q&#xA;\end{align}&#xA;\right)&#xA;$$&#xA;with both $p,q \in (0,1)$ so in particular it is irreducible. Define $p_\delta = p +\delta$, $q = q+\delta$ and let $P_\delta$ be the corresponding transition matrix defining a Markov Chain $X_\delta$. It is well-known that no matter how small $\delta$ is, for some tail event $A$ it holds that&#xA;$$&#xA;  \mathsf P(A) = 0,\quad \mathsf P_\delta(A) = 1 \tag{1}&#xA;$$&#xA;where $\mathsf P$ and $\mathsf P_\delta$ are corresponding probability measures over the paths. I wonder, however, whether $A$ can be always taken to be an $\omega$-regular event.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For a particular example, let $\pi$ and $\pi_\delta$ be invariant probability distributions for $X$ and $X_\delta$. Pick any vector $f$ such that $\pi f\neq \pi_\delta f$ and define &#xA;$$&#xA;  A_f :=\left\{\limsup_{n\to\infty}\frac1n\sum_{k=0}^n f(X_k) = \pi_\delta f\right\},&#xA;$$&#xA;then $(1)$ holds for $A_f$. Is $A_f$ $\omega$-regular?&lt;/p&gt;&#xA;" OwnerUserId="14336" LastEditorUserId="14336" LastEditDate="2013-03-30T08:34:39.120" LastActivityDate="2014-09-21T08:52:50.947" Title="$\omega$-regular properties of a 2-state Markov Chain" Tags="&lt;fl.formal-languages&gt;&lt;markov-chains&gt;&lt;probabilistic-automata&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="17077" PostTypeId="1" AcceptedAnswerId="17078" CreationDate="2013-03-29T17:06:34.767" Score="6" ViewCount="269" Body="&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Graph_isomorphism_problem&quot;&gt;Graph Isomorphism&lt;/a&gt; of directed acyclic graphs (DAGs) is known to be GI-complete. So a polynomial time algorithm to canonize DAGs is not known.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What are some special classes of DAGs that can be canonized in polynomial time ?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="344" LastEditorUserId="-1" LastEditDate="2013-04-13T19:04:22.887" LastActivityDate="2013-04-13T19:04:22.887" Title="Canonical labeling of special classes of DAGs" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;graph-isomorphism&gt;&lt;directed-acyclic-graph&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17078" PostTypeId="2" ParentId="17077" CreationDate="2013-03-29T17:27:04.943" Score="6" Body="&lt;p&gt;To start with the obvious: DAGs containing a Hamiltonian path, using the uniqueness of their topological orderings, and &lt;a href=&quot;https://en.wikipedia.org/wiki/Polytree&quot; rel=&quot;nofollow&quot;&gt;polytrees&lt;/a&gt;, as an orientation-labeled variant of trees.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, it's tempting to list &lt;a href=&quot;https://en.wikipedia.org/wiki/Multitree&quot; rel=&quot;nofollow&quot;&gt;multitrees&lt;/a&gt; (as I did in an earlier incorrect version of this answer), using canonization of trees to prioritize their topological orderings, but they're GI-complete (subdivide each edge of an undirected graph into two directed edges oriented outwards from the subdivision point), so that doesn't work.&lt;/p&gt;&#xA;" OwnerUserId="95" LastEditorUserId="95" LastEditDate="2013-03-29T23:29:02.833" LastActivityDate="2013-03-29T23:29:02.833" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="17079" PostTypeId="1" AcceptedAnswerId="31505" CreationDate="2013-03-29T18:59:17.627" Score="19" ViewCount="1269" Body="&lt;p&gt;What is the time complexity (not query complexity) of Grover's algorithm?  It seems clear to me that it is $\Omega(\log(N) \sqrt{N})$ since there are $\Omega(\sqrt{N})$ iterations and each iteration requires use of the reflection operation which in turn takes time $\Omega(\log(N))$ using any standard set of universal gates.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem is, I can't find even a single reference which says the time complexity of Grover's algorithm is $\Omega(\log(N) \sqrt{N})$.  Wikipedia, and several other web pages, say $O(\sqrt{N})$ time complexity.  Grover's paper claims $O(\sqrt{N})$ &quot;steps&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Am I missing something?  Perhaps people define the reflection operation to take unit time.  But that doesn't make sense to me because if we can play the game of allowing arbitrary unitaries to take unit time then there would be no difference between query complexity and time complexity.&lt;/p&gt;&#xA;" OwnerUserId="7092" LastActivityDate="2015-12-29T02:39:37.467" Title="Runtime of Grover's algorithm" Tags="&lt;reference-request&gt;&lt;quantum-computing&gt;&lt;time-complexity&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="17081" PostTypeId="1" CreationDate="2013-03-29T21:33:44.087" Score="4" ViewCount="103" Body="&lt;p&gt;The optimization version of the traditional Art Gallery problem asks for a minimum set of point guards that can be placed within a polygon, such that any point in the polygon is visible from at least one guard.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Has there been a study of guarding a given set of paths (e.g. piecewise linear) that lie within the polygon (instead of guarding the entire polygon) with minimum number of guards? The closest related works I found are&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.matem.unam.mx/urrutia/ArtBook.html/Completo.pdf&quot; rel=&quot;nofollow&quot;&gt;Chapter 4&lt;/a&gt; from Urrutia's book covers a set of problems about &quot;illuminating&quot; a set of lines with floodlights. This is fundamentally different since the lines themselves act as obstacles, whereas I'm interested in the version where the paths can be thought of as transparent and only the polygon boundary affects the visibility.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://link.springer.com/chapter/10.1007/11758471_4&quot; rel=&quot;nofollow&quot;&gt;Minimum Line Cover Problem&lt;/a&gt; which asks for the minimum set of points to cover a set of lines (or vice versa) lying in the plane. There is no notion of visibility.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;If there is a finite set of candidate guard locations, then general set cover techniques can be applied to yield a log approximation. However, I'm wondering if there has been a systematic study of this variant of the problem.&lt;/p&gt;&#xA;" OwnerUserId="15417" LastActivityDate="2013-03-29T21:33:44.087" Title="Guarding paths variant of the Art Gallery Problem" Tags="&lt;reference-request&gt;&lt;cg.comp-geom&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17082" PostTypeId="1" CreationDate="2013-03-29T22:30:30.517" Score="9" ViewCount="596" Body="&lt;p&gt;Assume we operate in a finite field. We are given a large fixed polynomial p(x) (of, say, degree 1000) over this field. This polynomial is known beforehand and we are allowed to do computation using a lot of resources in the &quot;initial phase.&quot; These results may be stored in reasonably small look-up tables.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;At the end of the &quot;initial phase&quot;, we will be given a small unknown polynomial q(x) (of, say, degree 5 or less). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a fast way to compute p(x) mod q(x) given that we are allowed to do some complicated calculations in the &quot;initial phase&quot;? One obvious way is to calculate p(x) mod q(x) for all possible values of q(x). Is there a better way to do this?&lt;/p&gt;&#xA;" OwnerUserId="15419" LastEditorUserId="-1" LastEditDate="2013-04-13T19:04:17.917" LastActivityDate="2013-04-18T17:17:35.633" Title="Find the remainder of a large fixed polynomial when divided by a small unknown polynomial" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;algebra&gt;&lt;algebraic-complexity&gt;&lt;polynomials&gt;" AnswerCount="3" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="17089" PostTypeId="2" ParentId="14363" CreationDate="2013-03-30T09:52:02.330" Score="1" Body="&lt;p&gt;Also &lt;a href=&quot;http://en.wikipedia.org/wiki/Petri_net&quot; rel=&quot;nofollow&quot;&gt;Petri nets&lt;/a&gt; form a computational model tailored for concurrency. The basic vanilla system is a finite state based model, but there exist more involved models (having &quot;inhibitor arcs&quot; or &quot;coloured nets&quot;) that reach Turing power. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Nice part of Petri nets is their graphical nature. Modern application includes the modelling of biological processes (e.g. in the cell) that are inherently parallel.&lt;/p&gt;&#xA;" OwnerUserId="12122" LastActivityDate="2013-03-30T09:52:02.330" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17090" PostTypeId="1" CreationDate="2013-03-30T10:48:20.070" Score="0" ViewCount="75" Body="&lt;p&gt;Famously, Barahona gave an algorithm for Max Cut for Graphs without K5 complete as Subfactor Graph. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This was based on the Ellipsoidal Method. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finding a Max Cut is the same for Bipartite Graphs as finding a Perfect Matching. Therefore, is seems to me that if you could Count the solutions to Barahona Ellipsoidal Method, you could have fast fpras for Nonnegative Permanent!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Question: Has any work been done in this direction? Thanks in advance!&lt;/p&gt;&#xA;" OwnerUserId="10136" LastEditorUserId="-1" LastEditDate="2013-04-13T19:04:34.730" LastActivityDate="2013-04-13T19:04:34.730" Title="Nonnegative Permanent and Ellipsoidal Method" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;graph-algorithms&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="17091" PostTypeId="2" ParentId="17060" CreationDate="2013-03-30T11:55:28.613" Score="0" Body="&lt;p&gt;Let the size of each input set $|S| \leq m = f(\lambda)$ and let $k$ be the number of inputs. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;With corresponding input set $S$ let $L = S_1, ..., S_{|S|}, \emptyset_{|S|+1}, ..., \emptyset_m$ and let $\mathbf{L}$ be the concatenation of all $L$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $\mathbf{s}$ be a binary array of length $mk$ where $\mathbf{s}_i$ is $1$ if $S$ contains an element that first occurs in $\mathbf{L}$ at position $i$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We can construct $\mathbf{s}$ from $S$ and $\mathbf{L}$ using $O(m^2k)$ integer comparators or $O(m^2k^2)$ comparators for all $S$. Representing elements of $S$ in base 2, comparators can be constructed using $O(\lambda)$ boolean gates.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now $C_s$ can be transformed as you describe with each gate in $C_s$ being implemented by $mk$ gates in $C_b$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An output $S_{out}$ can be constructed from a boolean array $\mathbf{s}_{out}$ by comparison with $\mathbf{L}$ using $O(mk)$ integer gates. To match output and input formats you can build an odd-even mergesort comparator network with $O(mk~log^2(mk))$ integer comparators per output.&lt;/p&gt;&#xA;" OwnerUserId="11061" LastEditorUserId="11061" LastEditDate="2013-03-30T14:56:12.570" LastActivityDate="2013-03-30T14:56:12.570" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17092" PostTypeId="2" ParentId="16904" CreationDate="2013-03-30T13:05:05.567" Score="3" Body="&lt;p&gt;There was a closely related question (and several answers) on MathOverflow about the languages whose &lt;a href=&quot;https://mathoverflow.net/questions/8262/is-there-a-natural-family-of-languages-whose-generating-functions-are-holonomic&quot;&gt;generating functions are holonomic&lt;/a&gt;.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Interestingly, Neel's definition of the semantics of $\mu$ above corresponds &lt;em&gt;exactly&lt;/em&gt; to the (constructive) proof of the existence of Species solutions to recursive Species equations via the implicit Species theorem.  Unfortunately, his proof outline must also contain a subtle mistake, as there are cases where things go 'infinite'.  In other words, there is a condition on the Jacobian of the transformation defined by the grammar to be non-singular which is needed.  This is probably why Bonsangue-Rutten require the fixed points to be guarded, as one way to insure this condition on the Jacobian.&lt;/p&gt;&#xA;" OwnerUserId="66" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2013-03-30T13:05:05.567" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17093" PostTypeId="1" AcceptedAnswerId="17097" CreationDate="2013-03-30T15:54:52.563" Score="11" ViewCount="606" Body="&lt;p&gt;I would like to know if there exists a relativized world where ${\bf P^A}={\bf NP^A}\not = {\bf PP^A}$. I am also interested to know if there exists a relativized world where ${\bf P^B} \not = {\bf NP^B} = {\bf PP^B}$. &lt;/p&gt;&#xA;" OwnerUserId="1590" LastEditorUserId="-1" LastEditDate="2013-04-13T19:04:08.400" LastActivityDate="2013-04-13T19:04:08.400" Title="Relativized world where ${\bf P^A}={\bf NP^A}\not = {\bf PP^A}$" Tags="&lt;cc.complexity-theory&gt;&lt;oracles&gt;&lt;relativization&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="17094" PostTypeId="2" ParentId="17060" CreationDate="2013-03-30T15:56:04.657" Score="2" Body="&lt;p&gt;&lt;strong&gt;A simple conversion process for $\boldsymbol\cup\,$, $\boldsymbol\cap\,$, constants, and complements&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that any integer-set circuit representing a set $S \subseteq \{0,1,\ldots,N-1\}$ can be represented by a boolean circuit which tests $x \mathbin{\in?} S$ for $0 \leqslant x &amp;lt; N$. If $N = 2^n$, this is a boolean circuit with $n$ inputs. We may construct such a circuit $C_n$ as follows.&#xA;$\def\GE#1{\mathrm{GE#1}}\def\PRIME={\mathrm{PRIME}}$&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Using AND, OR, and NOT gates, we can very easily simulate equality of the input with a binary representation of any integer $0 \leqslant x &amp;lt; 2^n$ with a circuit of size $n$ and depth $\log (n)$. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Next, we may represent your input sets as also being constructed by $\cup$ circuits, constructed from singletons $\{x\}$ for $1 \leqslant x &amp;lt; N$. If $S_j$ has size $m_j \leqslant M$, this requires a circuit with a boolean tree structure, with $m-1$ union gates, having depth at most $\log(m)$.  &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Finally, we may represent unions and intersections of your sets $S_j$ by logical ANDs and ORs of membership in the input sets. This part of the circuit has the same size $s$ and depth $d$ as the depth of your integer-set-circuit.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;We may then obtain a boolean circuit $C_n$ of depth at most $d + \log m + \log n$ and size at most $s + m + mn$. The complexity of building this circuit is essentially $O(s + m(\log m + n \log n))$, arising from doing the necessary construction of the binary trees for the gates representing each $S_j$ and $\{x\}$ for $x \in S_j$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that the complexity does not increase at all if you allow logical complementation, which would represent in principle an infinitely large set including numbers larger than the input size; though to represent numbers which are $N$ or larger, we must use uniform circuit &lt;em&gt;families&lt;/em&gt; $\{C_n\}$ rather than a single circuit $C_n$. The construction above will build these efficiently, however.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Remarks on the power of integer-set circuits with arithmetic&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the (extremely powerful!) model of arithmetic circuits including $+$ and $\times$ gates, this construction fails because the outputs to those gates implicitly involve existential quantifiers over satisfying inputs to subcircuits &lt;em&gt;of arbitrary size&lt;/em&gt;. As your linked article notes, the Goldbach conjecture can be tested by evaluating $G(0)$, where $G$ is a (&lt;em&gt;finite depth!&lt;/em&gt;) circuit,&#xA;$$ G :=\overline{\{0\} \times \Bigl(\bigl[ \{2\} \times \GE2 \bigr] \cap \bigl[\; \overline{\PRIME + \PRIME}\;\bigr]\Bigr)} \;, $$&#xA;where $\GE2 := \overline{\{0\} \cup \{1\}}$ tests whether an input is $\geqslant 2$, and $\PRIME := \GE2 \cap \bigl[\,\overline{\GE2 \times \GE2}\,\bigr]$ tests whether an input is prime. The enormous power of these circuits seem to me to come from combining negation (which allows you to obtain infinite sets from finite ones) with the $+$ and $\times$ gates (which allow existential quantification over all inputs to sub-circuits, as to whether there are accepted inputs whose sum or product is equal to the input integer). If you do not have additions or multiplications, those quantifications are absent, and the problem becomes much simpler &amp;mdash; indeed, very close in flavour to a run-of-the-mill boolean circuit.&lt;/p&gt;&#xA;" OwnerUserId="248" LastEditorUserId="248" LastEditDate="2013-04-01T15:56:39.993" LastActivityDate="2013-04-01T15:56:39.993" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="17097" PostTypeId="2" ParentId="17093" CreationDate="2013-03-30T19:23:50.803" Score="14" Body="&lt;p&gt;I don't know a reference, but I think both of these should be doable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For your first oracle: for starters you'll want an oracle (call it $A_1$) that encodes exponentially-large $MAJORITY$ instances, and that thereby separates both $P^{A_1}$ and $NP^{A_1}$ from $PP^{A_1}$.  Then you want a second oracle (call it $A_2$) that encodes the solutions to all $PH^{A_1}$ problems, in a &quot;staggered&quot; fashion such that accessing the $k^{th}$ level of the hierarchy requires queries of size (say) $n^k$ (and hence you can only get a constant number of alternations in polynomial time).  This second oracle should cause $P^{A_1,A_2} = NP^{A_1,A_2} = PH^{A_1,A_2} = PH^{A_1}$.  (Note that $A_2$ is just an &quot;outer&quot; layer, meaning that any queries to $A_2$ can be simulated by $PH^{A_1}$ queries.)  Finally, you'll want to appeal to Yao's and Hastad's $AC^0$ lower bounds (i.e., the switching lemma) to show that a $PH^{A_1}$ machine &lt;i&gt;still&lt;/i&gt; can't solve the $MAJORITY$ instances in $A_1$, and therefore $PP^{A_1}$ (and certainly $PP^{A_1,A_2} = PP^{PH^{A_1}}$) remains larger.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For your second oracle, you'll want to construct $B$ in such a way that you need to solve an $NP$ search problem in order to &quot;unlock&quot; a part of the oracle string that then boosts your power up to $PSPACE$.  (Here we exploit the fact that $NP^{PSPACE}$ and $PP^{PSPACE}$ are both $PSPACE$.)  A subtlety is that the secret part of the oracle can't just decide an unrelativized $PSPACE$-complete language: it also needs to provide the answers to $PSPACE$ computations that query $B$ itself.  Fortunately, it's known how to achieve that in stages, avoiding the circularity: basically, you encode the outputs of the $PSPACE^B$ machines that only query $B$ on inputs of size $p(n)$ or less, in a part of $B$ that requires queries of size $&amp;gt;p(n)$ to access, and that's therefore &quot;out of reach&quot; for those machines (but not for &lt;i&gt;other&lt;/i&gt; $PSPACE^B$ machines).  Meanwhile, the $P^B$ machines are left &quot;completely in the dark&quot; by all this.&lt;/p&gt;&#xA;" OwnerUserId="1575" LastEditorUserId="1575" LastEditDate="2013-03-31T14:31:43.177" LastActivityDate="2013-03-31T14:31:43.177" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17110" PostTypeId="2" ParentId="12697" CreationDate="2013-03-31T22:56:44.470" Score="2" Body="&lt;p&gt;Section 3 of Brodal et al.'s &lt;a href=&quot;http://arxiv.org/abs/1009.3134&quot; rel=&quot;nofollow&quot;&gt;&quot;D$^2$-Tree: A New Overlay with Deterministic Bounds&quot;&lt;/a&gt; shows how to update a weight-balanced tree in $O(1)$ amortized time, but the worst-case time is still $\Omega(\lg n)$.&lt;/p&gt;&#xA;" OwnerUserId="43" LastEditorUserId="43" LastEditDate="2013-11-10T07:01:54.687" LastActivityDate="2013-11-10T07:01:54.687" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17111" PostTypeId="2" ParentId="17050" CreationDate="2013-04-01T01:40:33.843" Score="13" Body="&lt;p&gt;First, observe that if $\mathsf{BPP} \subseteq \mathsf{ZPTIME}[2^{n^{c}}]$ for some constant $c$, then $\mathsf{BPP} \neq \mathsf{NEXP}$. (Proof by nondeterministic time hierarchy.) So proving such an inclusion would be significant, not just because it's an improved simulation but also would yield the first progress on randomized time lower bounds in decades.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Next, consider the class &lt;a href=&quot;https://complexityzoo.uwaterloo.ca/Complexity_Zoo%3aP#promisebpp&quot; rel=&quot;nofollow&quot;&gt;$\mathsf{PromiseBPP}$&lt;/a&gt;, for which the following problem is &quot;$\mathsf{PromiseBPP}$-hard&quot;:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Circuit Approximation Probability Problem (CAPP):&lt;/strong&gt;  Given a circuit $C$, output the acceptance probability of $C$ to within a $1/6$ additive factor. &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Results of Impagliazzo, Kabanets, and Wigderson 2002 imply that a $2^{n^{\varepsilon}}$ time zero-error algorithm for CAPP (where $n$ is the size of $C$) would imply $\mathsf{NEXP} \not\subset \mathsf{P/poly}$. In STOC'10, I extended this to show: supposing for every $C$ with $k$ input bits and $n$ size, one can compute CAPP nondeterministically (so, zero-error suffices) in $2^{k-\omega(\log k)}\mathrm{poly}(n)$ time, then $\mathsf{NEXP} \not\subset \mathsf{P/poly}$. That is, there are certainly problems computable with two-sided-error randomness, for which zero-error algorithms that even mildly beat exhaustive search would imply circuit lower bounds. I believe this should be interpreted as a possible method for proving lower bounds; your mileage may vary.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Notice that even proving $\mathsf{RP} \subseteq \mathsf{ZPTIME}[2^{n^{\varepsilon}}]$ is also open, and proving &lt;em&gt;that&lt;/em&gt; would also imply lower bounds: by Kabanets and Impagliazzo 2004, if polynomial identity testing (a $\mathsf{coRP}$ problem) is in $\mathsf{ZPTIME}[2^{n^{\varepsilon}}]$ for all $\varepsilon &amp;gt; 0$, then we have lower bounds for either the Permanent or $\mathsf{NEXP}$. Recently (upcoming in STOC'13), I proved unconditionally that either $\mathsf{BPP} \subseteq \mathsf{ioZPTIME}[2^{n^{\varepsilon}}]/n^{\varepsilon}$ or $\mathsf{RTIME}[2^n]$ has $n^c$ size circuits, building on the &quot;easy witness&quot; method of Kabanets. This implies two things: &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;There is a $c$ such that for all $\varepsilon &amp;gt; 0$, $\mathsf{RP}$ is unconditionally in $\mathsf{ioZPTIME}[2^{n^{\varepsilon}}]/n^c$ -- this is about the best unconditional derandomization of $\mathsf{RP/BPP}$ in $\mathsf{ZPP}$ that we know so far. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;To start getting interesting subexponential simulations of $\mathsf{BPP}$, you &quot;only&quot; have to assume $\mathsf{RTIME}[2^n]$ doesn't have fixed-polynomial-size circuits.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="225" LastEditorUserId="4896" LastEditDate="2013-04-02T23:53:52.987" LastActivityDate="2013-04-02T23:53:52.987" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="17119" PostTypeId="1" CreationDate="2013-04-01T20:56:55.873" Score="-2" ViewCount="177" Body="&lt;p&gt;When I say 'equally familiar natural language', I hope to ignore languages such as Arabic and Hebrew, of which I know absolutely nothing save an alphabet in the latter case.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am doing research in named-entity recognition and social network analysis in English literature using the &lt;a href=&quot;http://www.nltk.org&quot; rel=&quot;nofollow&quot;&gt;Natural Language Toolkit for Python&lt;/a&gt;.  The goal of my research is to determine the strength of relationships between characters (taking into account difficulties such as aliases, etc.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I've seen several resources declaring that 'grammatically-correct' English is context-sensitive, almost always relying on the peculiarities of our verbs.  However, if we removed the need to be 'grammatically-correct' and instead focused on only the &lt;em&gt;gist&lt;/em&gt; of the English sentence,&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;could we describe English* as context-free?&lt;/li&gt;&#xA;&lt;li&gt;could it be proven either way?&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;To make my definitions objective, I mean &lt;em&gt;gist&lt;/em&gt; in a way that preserves the relationships between entities disregarding temporal context, e.g. &lt;em&gt;The dog bit Dracula&lt;/em&gt; is 'equivalent' to &lt;em&gt;dog bite Dracula&lt;/em&gt; (the words in the sentence are reduced to their stems, you could say).&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Edit per the comments.&lt;br&gt;&#xA;Yes this is motivated by NLP, but I suppose I'd more like to know what a language defined by a production ruleset such as $$S\to NP\ VP\\NP\to Det\ Adj\ Noun\\VP\to Verb\ Object\\etc.$$ would look like.  Since it would defined by a CFG it would obviously be context-free, so practically I could reduce the text down to stems and parse it this way.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;While this may or may not be a research-level question, it's a question that has definitely come up in my research.&lt;/p&gt;&#xA;" OwnerUserId="9727" LastEditorUserId="9727" LastEditDate="2013-04-02T09:13:09.683" LastActivityDate="2013-04-02T09:49:33.967" Title="Is the gist of English (or any equally familiar natural language) context-free?" Tags="&lt;fl.formal-languages&gt;&lt;context-free-languages&gt;" AnswerCount="1" CommentCount="5" ClosedDate="2013-04-02T15:01:42.230" ContentLicense="CC BY-SA 3.0" />
  <row Id="17120" PostTypeId="1" AcceptedAnswerId="17121" CreationDate="2013-04-02T00:22:59.220" Score="3" ViewCount="566" Body="&lt;p&gt;In an AI strategy game simulation, I devised an algorithm for forming a group and swarming a known location without communication among soldiers (ie. every individual agent makes a locally optimum decision without general knowledge of the map).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm trying to get a more rigorous understanding of any background literature on similar algorithms. Surely this is not an original idea, but I don't even know what terms to start googling for.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is diagram of the functioning of the algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/kvcOu.png&quot; alt=&quot;swarm formation algorithm&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Every circle is a soldier, with the center number representing a uniquely assigned soldier_id. Soliders have finite vision range but know the global position of the &quot;X&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;When prompted to form a swarm, soldiers start looking for the soldier within its vision range that had the smallest soldier_id and follows it. If it is itself the lowest soldier_id in range, it starts going in direction of the X. This leads to an organic formation of all the soldiers, with the soldier with the lowest soldier_id at the helm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As I said, I'm trying to get a sense of general literature on similar algorithms and I don't have nearly enough experience general knowledge of computer science to know where to start. Perhaps there are similar ideas in place in bee or ant colonies or other biological systems. Perhaps even in cell formation?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm not even sure this is the appropriate place to ask this question. If it isn't, any pointers would be appreciated.&lt;/p&gt;&#xA;" OwnerUserId="12482" LastEditorUserId="-1" LastEditDate="2013-04-13T18:13:35.513" LastActivityDate="2013-04-13T18:13:35.513" Title="Follow-the-leader algorithm in swarm formation: literature on the subject?" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;graph-algorithms&gt;&lt;natural-computing&gt;&lt;greedy-algorithms&gt;" AnswerCount="2" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17121" PostTypeId="2" ParentId="17120" CreationDate="2013-04-02T00:37:02.353" Score="3" Body="&lt;p&gt;Bernard Chazelle has done some work on the &lt;a href=&quot;http://arxiv.org/abs/0905.4241&quot; rel=&quot;nofollow&quot;&gt;convergence of bird flocking&lt;/a&gt;, and he's considered models such as follow-the-leader and variants. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2013-04-02T00:37:02.353" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17122" PostTypeId="2" ParentId="17119" CreationDate="2013-04-02T09:49:33.967" Score="2" Body="&lt;p&gt;Just four examples of context sensitive (i.e. non context free) sentences in English; &lt;em&gt;the first is embedded here and - like the second and the third - implies counting, the last one is a polysemy&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The colors of the three balls are red, blue and green respectively.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;London, Paris and Madrid are the capitals of England, France and Spain&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The dog is eating an hot dog&lt;/p&gt;&#xA;" OwnerUserId="3247" LastActivityDate="2013-04-02T09:49:33.967" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17123" PostTypeId="1" AcceptedAnswerId="17124" CreationDate="2013-04-02T11:00:20.397" Score="2" ViewCount="239" Body="&lt;p&gt;I was not a big fan of Object-Oriented Languages (OOL), but recently started to learn a bit more about their pros and cons in a general setting instead of diving into one such language.  I have a few questions here:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Do methods in an OOL contain free variables?  If they do, are they statically-scoped?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Do method names live in a different name space than variables?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;For both questions, I have kinda guess answers but am not quite sure.  However, I would like to know more about the reasons behind and consequences of OOLs' specific answers to these questions.&lt;/p&gt;&#xA;" OwnerUserId="656" LastEditorUserId="-1" LastEditDate="2013-04-13T18:13:27.560" LastActivityDate="2013-04-13T18:13:27.560" Title="A few questions about Object-Oriented Languages in general" Tags="&lt;pl.programming-languages&gt;&lt;object-oriented&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17124" PostTypeId="2" ParentId="17123" CreationDate="2013-04-02T11:25:36.083" Score="3" Body="&lt;p&gt;The answers to these questions vary with the specific OO language. Here are some fairly generic answers.&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Can methods contain free variables?&lt;/p&gt;&#xA;&lt;p&gt;In general yes.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Are free variables statically-scoped?&lt;/p&gt;&#xA;&lt;p&gt;It's complicated. As a general rule (with many exceptions), most variables are lexically-scoped, except that the self reference (e.g., &lt;code&gt;this&lt;/code&gt; in Java) is  an implicit, dynamically-scoped variable. Many OO languages further rewrite function calls &lt;code&gt;m()&lt;/code&gt; to a method invocation &lt;code&gt;this.m()&lt;/code&gt; if &lt;code&gt;m&lt;/code&gt; is known to be a method of the type of &lt;code&gt;this&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Do method names live in a different name space than variables?&lt;/p&gt;&#xA;&lt;p&gt;Yes. Method names are &lt;em&gt;not&lt;/em&gt; variables: they may not be freely &lt;span class=&quot;math-container&quot;&gt;$\alpha$&lt;/span&gt;-renamed, since the actual text of the name constitutes part of the interface of an object. They are much more closely related to record labels or module component names. However, method names can interact with binding structure since many OO languages treat method invocations a bit specially (e.g., my answer to #2).&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="657" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2013-04-02T11:25:36.083" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="17126" PostTypeId="2" ParentId="17120" CreationDate="2013-04-02T15:39:57.493" Score="2" Body="&lt;p&gt;this area was pioneered by Reynolds in 1986 who devised the 1st computational model for biological/algorithmic &lt;a href=&quot;http://en.wikipedia.org/wiki/Flocking_%28behavior%29&quot; rel=&quot;nofollow&quot;&gt;&quot;flocking&quot;&lt;/a&gt; behavior he dubbed &lt;a href=&quot;http://en.wikipedia.org/wiki/Boids&quot; rel=&quot;nofollow&quot;&gt;&quot;boids&quot;&lt;/a&gt; and later research uses the same term. at the time it fit into the new emerging fields of &lt;a href=&quot;http://en.wikipedia.org/wiki/Artificial_life&quot; rel=&quot;nofollow&quot;&gt;artificial life&lt;/a&gt; and &lt;a href=&quot;http://en.wikipedia.org/wiki/Emergent_behavior&quot; rel=&quot;nofollow&quot;&gt;emergent behavior&lt;/a&gt;. the related study is now very broad and has expanded into many fields such as biology, robotics, gaming, etc. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Reynolds [2] has a very large survey of links covering many different angles including a directory of many implementations. [1] has some survey along with a more abstract/mathematical TCS style analysis.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.135.5931&quot; rel=&quot;nofollow&quot;&gt;Flocking for multi-agent dynamic systems: Algorithms and theory (2006)&lt;/a&gt;, Reza Olfati-saber&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] &lt;a href=&quot;http://www.red3d.com/cwr/boids/&quot; rel=&quot;nofollow&quot;&gt;Reynolds Boids/Flocking&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2013-04-02T15:39:57.493" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17127" PostTypeId="1" CreationDate="2013-04-02T16:55:46.670" Score="0" ViewCount="457" Body="&lt;p&gt;I've been given a task to implement two algorithms (an exact algorithm and fully polynomial approximation scheme) for number partitioning problem. I found out that I can use some modification of heuristic approach (like complete differencing tree method) or just plain brute-force for the former, but I have a lot of trouble with the latter... can anyone point some resources where FPTAS for NPP is discussed or guidelines how to construct one?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Cheers&lt;/p&gt;&#xA;" OwnerUserId="15480" LastEditorUserId="-1" LastEditDate="2013-04-13T18:12:57.293" LastActivityDate="2013-06-12T19:26:13.090" Title="FPTAS for Number Partition Problem" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;approximation-algorithms&gt;&lt;partition-problem&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="17130" PostTypeId="2" ParentId="1198" CreationDate="2013-04-02T22:29:18.317" Score="5" Body="&lt;p&gt;Following resources are very helpful: &#xA;&lt;a href=&quot;http://www.aduni.org/courses/&quot; rel=&quot;noreferrer&quot;&gt;http://www.aduni.org/courses/&lt;/a&gt; (Discrete Math, Algorithms, theory of computation and many others) and&#xA;&lt;a href=&quot;http://erikdemaine.org/classes/&quot; rel=&quot;noreferrer&quot;&gt;http://erikdemaine.org/classes/&lt;/a&gt; (I particularly like the algorithms on planar graphs lecture and advanced data structure lec here)&lt;/p&gt;&#xA;" OwnerUserId="14222" LastActivityDate="2013-04-02T22:29:18.317" CommentCount="0" CommunityOwnedDate="2013-04-02T22:29:18.317" ContentLicense="CC BY-SA 3.0" />
  <row Id="17131" PostTypeId="1" CreationDate="2013-04-03T04:41:26.393" Score="11" ViewCount="514" Body="&lt;p&gt;Roughly a matrix of rank $n$ is said to be rigid, if to bring its rank down to $\frac{n}{2}$, one has to change at least $n^{1+\epsilon}$ of its entries, for some $\epsilon &amp;gt; 0$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If an $n \times n$ matrix $A$ is rigid, then the smallest straight line program computing $Ax$  ($x$ is a vector of size $n$) is either super-linear size, or has super logarithmic depth.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a converse to the above statement?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In other words are there uses to non-trivial and non-obvious low rigidity matrices of full rank in TCS?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a notion of rigidity for matrices with lower ranks (say $\frac{n}{c}$ for some constant $c$)?&lt;/p&gt;&#xA;" OwnerUserId="1812" LastEditorUserId="1812" LastEditDate="2013-04-04T06:22:58.453" LastActivityDate="2013-04-04T06:22:58.453" Title="Matrix rigidity and uses of matrices with low rigidity" Tags="&lt;cc.complexity-theory&gt;" AnswerCount="1" CommentCount="8" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="17132" PostTypeId="1" AcceptedAnswerId="17144" CreationDate="2013-04-03T06:04:35.610" Score="13" ViewCount="756" Body="&lt;p&gt;Last week, I was reading again Leslie's Lamport's 1982 trasncript of a conference he gave about &lt;a href=&quot;http://research.microsoft.com/en-us/um/people/lamport/pubs/solved-and-unsolved.pdf&quot;&gt;Solved Problems, Unsolved Problems and Non-Problems in Concurrency&lt;/a&gt;. The paper is easily readable, but one of the things that got me thinking is the following assertion: &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Can any problem be regarded as a mutual exclusion problem or a&#xA;  producer- consumer problem, or a combination of the two?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I would like to know if this question has been answered for the distributed systems case.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a set of canonical distributed systems problems from which all the possible distributed system problems can be reduced to? What is this canonical list?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If there is not a canonical list what is the current list of problems and what reductions exist?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, I would say very naively that the leader election and mutual exclusion problems can be reduced to the consensus problem. I would also say that a distributed snapshot can be reduced to a distributed clock. It it true or plain wrong? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If possible, I would prefer that the answers provide a reference to a published paper/book supporting its claims :)&lt;/p&gt;&#xA;" OwnerUserId="12896" LastEditorUserId="634" LastEditDate="2013-04-03T20:23:26.857" LastActivityDate="2013-04-04T03:48:15.470" Title="Is there a list of canonical problems in distributed systems?" Tags="&lt;reductions&gt;&lt;dc.distributed-comp&gt;&lt;concurrency&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="17133" PostTypeId="2" ParentId="17127" CreationDate="2013-04-03T06:26:57.193" Score="1" Body="&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Partition_problem&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/Partition_problem&lt;/a&gt; mentions two textbooks which cover the subject:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hans Kellerer; Ulrich Pferschy; David Pisinger (2004), Knapsack problems, Springer, p. 97, ISBN 9783540402862&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Martello, Silvano; Toth, Paolo (1990). &quot;4 Subset-sum problem&quot;. Knapsack problems: Algorithms and computer interpretations. Wiley-Interscience. pp. 105–136. ISBN 0-471-92420-2. MR 1086874.&lt;/p&gt;&#xA;" OwnerUserId="13407" LastActivityDate="2013-04-03T06:26:57.193" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17134" PostTypeId="1" CreationDate="2013-04-03T06:51:08.887" Score="4" ViewCount="338" Body="&lt;p&gt;I'm currently working on a linear time heuristic for the rectangle decomposition of a binary matrix. This problem has a polynomial time solution, which in our case is too slow for large-scale processing. I devised a linear time heuristic and I would like to characterize its approximation ratio and  the problem is that I'm not familiar with approximations algorithms. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In &lt;a href=&quot;http://www.math.uni-rostock.de/~kalinowski/papers/dual_rectangle_segmentation.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;this paper&lt;/a&gt;, Kalinowski proved that there is no integrality gap for this problem. What consequences does this result have? Does it mean that is impossible to design an approximation algorithm?&lt;/p&gt;&#xA;" OwnerUserId="15488" LastEditorUserId="39090" LastEditDate="2016-12-08T12:51:48.730" LastActivityDate="2016-12-08T12:51:48.730" Title="What does &quot;no integrality gap&quot; imply?" Tags="&lt;cc.complexity-theory&gt;&lt;approximation-algorithms&gt;&lt;optimization&gt;&lt;linear-programming&gt;&lt;integrality-gap&gt;" AnswerCount="0" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="17135" PostTypeId="1" CreationDate="2013-04-03T14:52:47.610" Score="4" ViewCount="461" Body="&lt;p&gt;Let $G$ be a dynamic DAG (directed acyclic graph) where new vertices and new edges can be inserted.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am looking for an efficient data structure/algorithm to maintain the shortest path from a fixed vertex $s$ to a fixed vertex $t$ in $G$.&lt;/p&gt;&#xA;" OwnerUserId="15494" LastEditorUserId="-1" LastEditDate="2013-04-04T03:28:25.467" LastActivityDate="2015-04-28T15:40:38.353" Title="Dynamic shortest path data structure for DAG" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;ds.data-structures&gt;&lt;directed-acyclic-graph&gt;&lt;shortest-path&gt;" AnswerCount="0" CommentCount="5" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="17136" PostTypeId="1" CreationDate="2013-04-03T19:14:11.970" Score="1" ViewCount="122" Body="&lt;p&gt;If we want a specific example, then how about the Erdos-Renyi random graph?&lt;/p&gt;&#xA;" OwnerUserId="3337" LastEditorUserId="-1" LastEditDate="2013-04-13T18:13:30.560" LastActivityDate="2013-04-13T18:13:30.560" Title="Do expander graphs have the property that with high probability an s-t cut is size min{degree(s),degree(t)}?" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;expanders&gt;&lt;max-flow-min-cut&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="17139" PostTypeId="1" AcceptedAnswerId="17150" CreationDate="2013-04-03T20:47:27.993" Score="8" ViewCount="248" Body="&lt;p&gt;In the paper &amp;quot;Efficient CNF Encoding for Selecting 1 from N Objects&amp;quot;, the authors introduce their &amp;quot;commander variable&amp;quot; technique for encoding the constraint, and then talk about the pigeonhole problem.&lt;/p&gt;&#xA;&lt;p&gt;Since my error may exist in lower-level understanding, let me declare what I think I know before posing the question:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Let &lt;span class=&quot;math-container&quot;&gt;$m$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt; be the number of pigeons and holes. The naive encoding uses a propositional variable &lt;span class=&quot;math-container&quot;&gt;$X_{i,j}$&lt;/span&gt; that is true when the &lt;span class=&quot;math-container&quot;&gt;$i'th$&lt;/span&gt; pigeon is to be put in the &lt;span class=&quot;math-container&quot;&gt;$j'th$&lt;/span&gt; hole. The clause &lt;span class=&quot;math-container&quot;&gt;$ExactlyOne(X_{1,1}, X_{1,2}, ..., X_{1,n})$&lt;/span&gt; enforces that pigeon 1 must occupy exactly one hole; identical clauses are added for the other pigeons. The clause &lt;span class=&quot;math-container&quot;&gt;$AtMostOne(X_{1,1}, X_{2,1}, ..., X_{m,1})$&lt;/span&gt; enforces that no more than one pigeon occupies hole 1; identical clauses are added for the remaining holes.&lt;/p&gt;&#xA;&lt;p&gt;When there are more pigeons than holes (m &amp;gt; n), the problem is unsolvable (obvious to humans) but the SAT solver doesn't &amp;quot;see&amp;quot; this fact. When it can't find a way to place pigeons &lt;span class=&quot;math-container&quot;&gt;$1,2,3,..,m$&lt;/span&gt; it will search an attempt with pigeons &lt;span class=&quot;math-container&quot;&gt;$2,1,3,...,m$&lt;/span&gt;. It doesn't understand that the order of the pigeons is irrelevant. The paper, among others, calls this symmetry.&lt;/p&gt;&#xA;&lt;p&gt;Instances where &lt;span class=&quot;math-container&quot;&gt;$m=n+1$&lt;/span&gt; are used as a strenuous test of a SAT solver's ability to detect unsatisfiability.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;The paper proposes to break the symmetry by enforcing order on pigeons. Pigeon &lt;span class=&quot;math-container&quot;&gt;$i$&lt;/span&gt; must be placed in a hole in front of the hole of pigeon &lt;span class=&quot;math-container&quot;&gt;$i+1$&lt;/span&gt; (i.e., the pigeon in hole &lt;span class=&quot;math-container&quot;&gt;$j$&lt;/span&gt; must have a smaller number than of the pigeon in hole &lt;span class=&quot;math-container&quot;&gt;$j+1$&lt;/span&gt;). It then disappointingly says, &amp;quot;Due to space limitations, we do not explicitly describe in detail the canonical-ordering encoding, but the number of clauses generated is of order &lt;span class=&quot;math-container&quot;&gt;$O(n*log(n))$&lt;/span&gt;&amp;quot;.&lt;/p&gt;&#xA;&lt;p&gt;So my question is: what did they do to get these results?&lt;/p&gt;&#xA;&lt;p&gt;I want to treat the variables &lt;span class=&quot;math-container&quot;&gt;$\{X_{1,1}, X_{2,1}, ..., X_{m,1}\}$&lt;/span&gt; as string of bits that, numerically, identifies the choice of which pigeon went into hole 1, and so on. Follow this with &lt;span class=&quot;math-container&quot;&gt;$n-1$&lt;/span&gt; comparators to enforce the paper's suggestion. My naive comparator construction, however, requires m clauses, one for each bit (of increasingly ugly size). Help! :)&lt;/p&gt;&#xA;" OwnerUserId="9149" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2013-04-13T18:13:08.840" Title="How do I use canonical ordering to reduce symmetry in the SAT encoding of the pigeonhole problem?" Tags="&lt;cc.complexity-theory&gt;&lt;sat&gt;&lt;proof-complexity&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17140" PostTypeId="2" ParentId="6717" CreationDate="2013-04-03T22:59:51.543" Score="2" Body="&lt;p&gt;Birmelé et al show a $O(m)$ delay algorithm from the vertex-disjoint version of the problem in &quot;Efficient Bubble Enumeration in Directed Graphs&quot;.&lt;/p&gt;&#xA;" OwnerUserId="741" LastActivityDate="2013-04-03T22:59:51.543" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17141" PostTypeId="1" CreationDate="2013-04-03T23:36:18.183" Score="0" ViewCount="256" Body="&lt;p&gt;I am currently reading through this &lt;a href=&quot;http://research.microsoft.com/en-us/people/philbe/chapter7.pdf&quot; rel=&quot;nofollow&quot;&gt;http://research.microsoft.com/en-us/people/philbe/chapter7.pdf&lt;/a&gt; chapter about distributed recovery. The chapter focuses on 2 phase atomic commit (2PC) and 3 phase atomic commit (3PC). Two related questions have me stumped. &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;7.11&lt;/strong&gt;: In  the  2PC protocol  the  coordinatorfirst  decides Commit  (by  writing  a  commit  record  to  its  site’s DT  log)  and  then &#xA;  sends COMMIT  messages to  the  participants.  Suppose  the  order  of&#xA;  these  two  steps is  reversed.  Show  that  this  variation  of  2PC &#xA;  is  non-blocking  if &lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;a.  there  are no  communication  failures  and  at most  one process &#xA;  can  fail, &lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;or &lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;b.  there  are no  communication  failures  and  processes have  the &#xA;  ability  to  broadcast  messages atomically  (i.e.,  so that  either &#xA;  all  recipients  get  it  or  no  recipient  does). &lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;How  does  this  variation  of  2PC  affect  the  recovery &#xA;  procedures?  Give  recovery  procedures  that  work  for  the &#xA;  modified  2PC  protocol.&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;&lt;strong&gt;7.22&lt;/strong&gt;: In  3PC,  does the  relative  order  of  sending  COMMIT  messages and  writ-  ing  a commit  record  in  the  DT  log  matter? &#xA;  What  about  the  relative  order  of  sending  ABORT  messages and &#xA;  writing  an  abort  record?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The first does not seem particularly hard, but I am unsure of how to actually prove that a program is non-blocking. The second question is a bit more complex. My intuition is that 3PC has enough built in safeguards with the PRE-COMMIT phase that changing the order wouldn't matter, but again I am uncertain of what a proof of this would look like. &lt;/p&gt;&#xA;" OwnerDisplayName="user15503" LastActivityDate="2013-04-14T16:57:15.537" Title="Order of operations in 2 and 3 phase atomic commit protocols" Tags="&lt;dc.distributed-comp&gt;" AnswerCount="0" CommentCount="6" FavoriteCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17142" PostTypeId="2" ParentId="17131" CreationDate="2013-04-04T01:18:08.297" Score="-3" Body="&lt;p&gt;lacking further clarification of the question, heres a try/sketch of an answer. matrix rigidity has deep connections to fundamental questions in TCS/complexity theory including circuit lower bounds,[1] and thereby complexity class separations, and coding theory[2] as well as other areas. [5] is a nice slide survey.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;the terms &quot;low&quot; and &quot;high&quot; in reference to rigidty of matrices are used informally and not in a precisely defined technical sense. [although Friedman did define &quot;strong&quot; rigidity. [6]] random matrices are known to have high rigidity but basically, its ~a 3.5 decades old open problem in this area to explicitly construct &lt;em&gt;any&lt;/em&gt; matrix with &quot;significantly high&quot; rigidity.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;the question doesnt further define/clarify the subjective terms &quot;nontrivial&quot; or &quot;nonobvious&quot; &amp;amp; will take some freedom there.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;in this area there is a line of research looking at the rigidity of &lt;a href=&quot;http://en.wikipedia.org/wiki/Hadamard_matrix&quot; rel=&quot;nofollow&quot;&gt;Hadamard matrices&lt;/a&gt; which have misc uses/applications in coding theory &amp;amp; elsewhere.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;it seems fair to say a provably high rigidity result would surpass the threshhold of leading at least to &quot;new nontrivial corollaries in complexity theory&quot; but the best known bounds on Hadamard matrices do not suffice.[3] but neither does this conclusively prove they have limited &quot;low&quot; rigidity. its basically the same story with &lt;a href=&quot;http://en.wikipedia.org/wiki/Vandermonde_matrix&quot; rel=&quot;nofollow&quot;&gt;Vandermonde matrices&lt;/a&gt; [also applications in coding theory] considered by Lokam.[4]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;so to summarize about all that can be said is that &quot;weak lower rigidity bounds&quot; have been proven on some matrices including Hadamard/Vandermonde matrices.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;there also do not appear to be any published numerical experiments, estimates, or algorithms in the area.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/3642245072&quot; rel=&quot;nofollow&quot;&gt;Boolean Function Complexity by Stasys Jukna, 2011, sec 12.8 &quot;rigid matrices require large circuits&quot;&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] &lt;a href=&quot;http://www.cs.princeton.edu/~zdvir/papers/Dvir10.pdf&quot; rel=&quot;nofollow&quot;&gt;On matrix rigidity and locally self-correctable codes&lt;/a&gt; Zeev Dvir&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[3] &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.19.7746&quot; rel=&quot;nofollow&quot;&gt;Improved lower bounds on the ridigity of Hadamard matrices&lt;/a&gt; Kashin/Razborov&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[4] &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.35.9483&quot; rel=&quot;nofollow&quot;&gt;On the Rigidity of Vandermonde Matrices&lt;/a&gt; Lokam&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[5] &lt;a href=&quot;http://mahdi.cheraghchi.info/talks/rigidity_talk.pdf&quot; rel=&quot;nofollow&quot;&gt;Mahdi Cheraghchi matrix rigidity talk&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[6] J. Friedman. A note on matrix rigidity. Combinatorica, 13(2);235-239, 1993&lt;/p&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="7884" LastEditDate="2013-04-04T01:27:01.023" LastActivityDate="2013-04-04T01:27:01.023" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17144" PostTypeId="2" ParentId="17132" CreationDate="2013-04-04T03:48:15.470" Score="9" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there a set of canonical distributed systems problems from which all the possible distributed system problems can be reduced to?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I'm unaware of such a published list of problems. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Keep in mind that there are &lt;em&gt;many&lt;/em&gt; different (and somewhat incomparable) models in distributed computing, ranging from the &quot;benign&quot; synchronous (fault-free) model where nodes execute in lock-step rounds and all messages are delivered &#xA;reliably in each round, to the asynchronous model where there are no bounds on &#xA;processing speeds and message delays and nodes themselves might crash or send &#xA;corrupted messages. &#xA;To further add to this variety, there are other requirements and assumptions &#xA;that are orthogonal to synchrony and faults: the initial knowledge of nodes &#xA;(network size, diameter of the network, maximum node degree, etc.), the ability &#xA;to query a failure detectors, whether nodes have unique identifiers, atomicity &#xA;of send &amp;amp; receive steps, the maximum size of a single message, and many more.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The actual model at hand often implies a very different nature of &#xA;question. (See [1] for more elaboration on these $2$ sub-communities in distributed computing.)&#xA;In models that are close to the fault-free synchronous model, researchers often &#xA;look at the complexity of local computation, for example, &lt;em&gt;&quot;What is the time and message &#xA;complexity for computing a vertex coloring?&quot;&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;When looking at failures on the other hand, the questions are more related to solvability issues like &lt;em&gt;&quot;Is consensus solvable in this model?&quot;&lt;/em&gt; or &lt;em&gt;&quot;Can we implement this fancy &#xA;failure detector under these assumptions?&quot;&lt;/em&gt; &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;If there is not a canonical list what is the current list of problems and what reductions exist?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;There are many examples of such reductions in certain distributed computing &#xA;models, I'll limit my answer to the following 2:&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Local computation in the (fault-free) synchronous model&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;[2] show reductions between many optimization problems, for example, Minimum Dominating &#xA;Set, Maximal Independent Set (MIS), Maximal Matching (MM), and Minimum Vertex &#xA;Cover (MVC): In particular, [2] show a lower bound of $\Omega(\sqrt{\log n} + &#xA;\log\Delta)$, where $n$ is the network size and $\Delta$ the max degree, for &#xA;computing a constant approximation of an MVC. From this, the same bound follows &#xA;for computing an MM, since any maximal matching is also a $2$-approximation of &#xA;an MVC. From this, you also get a bound on computing an MIS, because an &#xA;MIS-algorithm $A$ can be used to compute MM by simulating the execution of $A$ &#xA;on the line graph. &lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Asynchronous Model with Crash Failures&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;Here the most studied problem is &#xA;fault-tolerant consensus and its many variations, since implementing basic primitives like atomic broadcast and or a synchronizer themselves require consensus.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, assuming access to failure detectors [3], gives rise to a classification of problems by looking at &#xA;the power of their respective failure detector.&#xA;We say that failure detector $S$ is the &lt;em&gt;weakest failure detector for problem&lt;/em&gt; $P$, if, given any failure detector $T$ for $P$, you can also implement $S$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Using this relation, we can define problem $P$ as being &lt;em&gt;harder&lt;/em&gt; than problem $Q$, if &#xA;the weakest failure detector for solving $P$ can implement the weakest failure &#xA;detector for solving $Q$. &#xA;It has recently been shown that &lt;em&gt;every&lt;/em&gt; problem has a weakest failure detector [4]; note however, that [4] is an existential result. For some problems, e.g., consensus, the weakest failure detector is known [5], while for other problems, e.g., $k$-set agreement, the weakest falure detector is still open [6].&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;For example, I would say very naively that the leader election and mutual &#xA;  exclusion problems can be reduced to the consensus problem. &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Sure, if you can solve consensus, you immediately have an algorithm for leader &#xA;election: Simply use the ID of each node as the input for the consensus &#xA;algorithm. The opposite way only holds in models where it is  guaranteed that the leader is eventually known to all. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] Pierre Fraigniaud: Distributed computational complexities: are you volvo-addicted or nascar-obsessed? PODC 2010.&#xA;&lt;a href=&quot;http://doi.acm.org/10.1145/1835698.1835700&quot;&gt;http://doi.acm.org/10.1145/1835698.1835700&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] Fabian Kuhn, Thomas Moscibroda, Roger Wattenhofer: Local Computation: Lower and Upper Bounds. CoRR abs/1011.5470 (2010)&#xA;&lt;a href=&quot;http://arxiv.org/abs/1011.5470&quot;&gt;http://arxiv.org/abs/1011.5470&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[3] Tushar Deepak Chandra, Sam Toueg: Unreliable Failure Detectors for Reliable Distributed Systems. J. ACM 43(2): 225-267 (1996).&#xA;&lt;a href=&quot;http://doi.acm.org/10.1145/226643.226647&quot;&gt;http://doi.acm.org/10.1145/226643.226647&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[4] Prasad Jayanti, Sam Toueg: Every problem has a weakest failure detector. PODC 2008: 75-84.&#xA;&lt;a href=&quot;http://doi.acm.org/10.1145/1400751.1400763&quot;&gt;http://doi.acm.org/10.1145/1400751.1400763&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[5] Tushar Deepak Chandra, Vassos Hadzilacos, Sam Toueg: The Weakest Failure Detector for Solving Consensus. J. ACM 43(4): 685-722 (1996)&#xA;&lt;a href=&quot;http://doi.acm.org/10.1145/234533.234549&quot;&gt;http://doi.acm.org/10.1145/234533.234549&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[6] Michel Raynal: Failure Detectors to Solve Asynchronous k-Set Agreement: a Glimpse of Recent Results. Bulletin of the EATCS 103: 74-95 (2011)&#xA;&lt;a href=&quot;http://albcom.lsi.upc.edu/ojs/index.php/beatcs/article/view/61&quot;&gt;http://albcom.lsi.upc.edu/ojs/index.php/beatcs/article/view/61&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="6785" LastActivityDate="2013-04-04T03:48:15.470" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17145" PostTypeId="1" AcceptedAnswerId="17157" CreationDate="2013-04-04T06:43:44.647" Score="2" ViewCount="149" Body="&lt;p&gt;Given a set &lt;em&gt;S&lt;/em&gt; = {s&lt;sub&gt;i&lt;/sub&gt; : {z&lt;sub&gt;j&lt;/sub&gt; : z &amp;isin; &lt;em&gt;N&lt;/em&gt;} }, what is a time-efficient algorithm for computing the unique sets of intersections of all of the subsets of &lt;em&gt;S&lt;/em&gt;?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As per @JeffE's comment below, there are edge cases of exponential output complexity, so the time-efficient measure of complexity should probably be a function of the output length as opposed to |&lt;em&gt;S&lt;/em&gt;|. In that case the goal is low order polynomial complexity as a function of the output length and max(|s&lt;sub&gt;i&lt;/sub&gt;|), the latter of which affects the complexity of intersection operations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For background, I am dealing with several versions of this problem, some larger than others. In the smallest one |&lt;em&gt;S&lt;/em&gt;| &amp;asymp; 1,000, |s&lt;sub&gt;i&lt;/sub&gt;| &amp;asymp; 10,000 and the values are zip codes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Tiny example for clarity:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&#xA;Input: S = {{},{1},{2,3},{3,4,5,6,7,8,9,10}}&#xA;Output: {{},{1},{2,3},{3,4,5,6,7,8,9,10},{3}}&#xA;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;|&lt;em&gt;S&lt;/em&gt;| = 4 and there are 2&lt;sup&gt;4&lt;/sup&gt; = 16 subsets of &lt;em&gt;S&lt;/em&gt;.&#xA;However, there are only five unique sets of subset intersections. The first four are the members of &lt;em&gt;S&lt;/em&gt; themselves. The fifth is {3}. The empty set is already a member of &lt;em&gt;S&lt;/em&gt;. All other 10 subset intersections produce empty sets also.&lt;/p&gt;&#xA;" OwnerUserId="15507" LastEditorUserId="-1" LastEditDate="2013-04-13T18:13:32.890" LastActivityDate="2013-04-13T18:13:32.890" Title="Computing unique subset intersections" Tags="&lt;ds.algorithms&gt;&lt;permutations&gt;&lt;dynamic-programming&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17147" PostTypeId="1" AcceptedAnswerId="17149" CreationDate="2013-04-04T13:08:53.243" Score="3" ViewCount="192" Body="&lt;p&gt;Given a data matrix $D=[d_1 ... d_N]$, one would like to sort it in terms of rows such that the weighted distance of sorted $d$s to a target vector $y$ is being minimized. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It can be formulated as follows&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\min_{P\in\Pi} \sum_i w_i ||Pd_i-y||_2 $&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where $w_i$ is the weight, $\Pi$ is the set of permutation matrix: $\Pi = \{P|Pe=e,P^Te=e,P_{ij}\in \{0,1\}\}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there any optimal sorting strategy? &lt;/p&gt;&#xA;" OwnerUserId="10965" LastEditorUserId="-1" LastEditDate="2013-04-13T18:13:05.950" LastActivityDate="2013-04-13T18:13:05.950" Title="A weighted sorting problem" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;optimization&gt;&lt;sorting&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17149" PostTypeId="2" ParentId="17147" CreationDate="2013-04-04T18:19:45.277" Score="4" Body="&lt;p&gt;It is NP-hard. Here is a reduction from the minimum bisection problem. Let $G = ([n],E)$ be a graph on $n$ vertices with $m$ edges (assume that $n$ is even). Let $N=2m$. Let $y= (1,\dots, 1,-1,\dots,-1)$ consist of $n/2$ ones and $n/2$ minus ones. For every edge $(i,j)$ introduce two columns: one with ones at positions $i$ and $j$, the other with $-1$ at positions $i$ and $j$. Each permutation $P$ defines a bisection $(S,\bar S)$ and vice versa: &#xA;$$S=\{i:1\leq P(i) \leq n/2\} \qquad \bar S=\{i:n/2+1 \leq P(i) \leq n\}.$$&#xA;($P$ is not uniquely defined by $S$; but all permutations corresponding to $S$ are equivalent).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If an edge $(i,j)$ is not cut by $(S,\bar S)$ then it contributes $C_1 = \sqrt{n-2}+\sqrt{n+6}$ to the objective function. If $(i,j)$ is cut then it contributes $C_2 = \sqrt{n+2}+\sqrt{n+2}$. Let $\Delta = C_2 - C_1 &amp;gt; 0$. &#xA;Observe that the value of the problem equals $m C_1 + \Delta\cdot |E(S,\bar S)|$. That is, the optimal solution to this problem corresponds to the minimum bisection and vice versa.&lt;/p&gt;&#xA;" OwnerUserId="9929" LastActivityDate="2013-04-04T18:19:45.277" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17150" PostTypeId="2" ParentId="17139" CreationDate="2013-04-04T22:14:54.350" Score="7" Body="&lt;p&gt;Let $m$ be the number of pigeons and $n$ be the number of holes.  Let the propositional variables $B_{i,0}$ ... $B_{i,log(n)}$ encode the binary representation of $j-1$ if the $i$th pigeon is put into the $j$th hole. (Example, if pigeon 1 were placed in hole 10, $j - 1 = 9$, which is binary 1001.  So $B_{1,3}$ = true, $B_{1,2}$ = false, $B_{1,1}$ = false and $B_{1,0}$ = true.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Enforce a particular ordering of the pigeons in the holes by requiring that the hole encoded by the $B_{i}$ variables is less than that of $B_{i+1}$.  The encodings are compared as you would expect:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$B_{i,log(n)}$ &amp;lt; $B_{i+1,log(n)}$&lt;br&gt;&#xA;OR&lt;br&gt;&#xA;$B_{i,log(n)}$ = $B_{i+1,log(n)}$ AND $B_{i,log(n)-1}$ &amp;lt; $B_{i+1,log(n)-1}$&lt;br&gt;&#xA;OR&lt;br&gt;&#xA;$B_{i,log(n)}$ = $B_{i+1,log(n)}$ AND $B_{i,log(n)-1}$ = $B_{i+1,log(n)-1}$ AND $B_{i,log(n)-2}$ &amp;lt; $B_{i+1,log(n)-2}$&lt;br&gt;&#xA;OR&lt;br&gt;&#xA;...  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;... following the pattern of allowing the most significant bits to be equivalent as long as the next bit to the right is less than that of the next pigeon.  There will be $O(log(n))$ conjunctions per comparator and $O(m)$ comparators, giving the expected $O(m * log(n))$ additional clauses.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The $B$ variable values must be implied by the $X_{i,j}$ values.  Each $B_{i,*}$ bit is implied by any one of a particular set of the $X_{i,j}$ variables being set.  Example: assuming $n = 16$, you would have:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$ExactlyOne(X_{1,9}, X_{1,10}, X_{1,11}, X_{1,12}, X_{1,13}, X_{1,14}, X_{1,15}, X_{1,16}, \overline{B_{1,3}})$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;which forces $B_{1,3}$ true if pigeon 1 is placed in any of holes 9-16.  Otherwise $B_{1,3}$ is set false to satisfy the clause.  These clauses set the remaining $B_{i}$ bits.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$ExactlyOne(X_{1,5}, X_{1,6}, X_{1,7}, X_{1,8}, X_{1,13}, X_{1,14}, X_{1,15}, X_{1,16}, \overline{B_{1,2}})$&#xA;$ExactlyOne(X_{1,3}, X_{1,4}, X_{1,7}, X_{1,8}, X_{1,11}, X_{1,12}, X_{1,15}, X_{1,16}, \overline{B_{1,1}})$&#xA;$ExactlyOne(X_{1,2}, X_{1,4}, X_{1,6}, X_{1,8}, X_{1,10}, X_{1,12}, X_{1,14}, X_{1,16}, \overline{B_{1,0}})$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There will be $log(n)$ of these clauses for each pigeon.  Since there are $m$ pigeons, $m * log(n)$ clauses are added.&lt;/p&gt;&#xA;" OwnerUserId="7707" LastEditorUserId="7707" LastEditDate="2013-04-05T04:29:12.543" LastActivityDate="2013-04-05T04:29:12.543" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="17151" PostTypeId="1" CreationDate="2013-04-04T22:51:25.507" Score="2" ViewCount="778" Body="&lt;p&gt;It is has been shown that Quantum Finite Automata can recognize at least some non-regular languages. What is the relationship between the number of states in a qfa and the number of non-regular languages it can recognize? Is there a relationship at all or has it not yet been established?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have been unable to find a paper that addresses this in an overtly and understandable way. More specifically, for any one specific type (ex/ 1-way MM-QFA), has any such relationship been established for the class it recognizes? I know different types of QFAs have different closure properties and other characteristics that can make them vastly different and bounds have been established for some, but I'm wondering if anyone knows of, has seen, or knows who to contact regarding the relationship between teh number of states in a qfa and its recognition properties? Or, if this question is totally mute and I'm looking at it wrong, tell me why. I have read into some of Freivalds' research where he touches on this, but can't find any theorems, proofs, lemmas, ect. that hammer it out, if anyone has done so at all. There is a possibility that this question is open and that's why I havent found an answer. Any help you can give would be appreciated.&lt;/p&gt;&#xA;" OwnerUserId="15519" LastActivityDate="2013-04-04T22:51:25.507" Title="What is the relationship between the number of states in Quantum Finite Automata and the number of non-regular languages they can recognize?" Tags="&lt;fl.formal-languages&gt;&lt;automata-theory&gt;&lt;probabilistic-automata&gt;" AnswerCount="0" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17152" PostTypeId="1" AcceptedAnswerId="17173" CreationDate="2013-04-04T23:05:08.437" Score="3" ViewCount="127" Body="&lt;p&gt;In reading Chan's paper,&#xA;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.21.3912&quot; rel=&quot;nofollow&quot;&gt;Closest Point Problems Simplified on a RAM&lt;/a&gt;,&#xA;the following came up as a sub-problem:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Given a set $P$ of points in the plane, and a query point $q$, find the first $k$ points (ordered by $x$-coordinate) which dominate $q$.&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Chan asserts that this query can be answered in $O(\log n + k)$ time using a priority search tree, but doesn't give details, and the details are not clear to me. The traditional query for a priority search tree is a 3-sided range query, but this query is different because we are given a 2-sided range (an upper-right quadrant) and a maximum number of points to report. We should report the $k$ &quot;leftmost&quot; points in the 2-sided range.&lt;/p&gt;&#xA;" OwnerUserId="8078" LastEditorUserId="123" LastEditDate="2014-09-24T13:20:42.863" LastActivityDate="2014-09-24T13:20:42.863" Title="How to find the first $k$ points of high enough level using a priority search tree?" Tags="&lt;ds.data-structures&gt;&lt;cg.comp-geom&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="17153" PostTypeId="1" AcceptedAnswerId="17161" CreationDate="2013-04-05T03:32:52.643" Score="18" ViewCount="558" Body="&lt;p&gt;I am looking for natural examples of &lt;em&gt;efficient algorithms&lt;/em&gt; (i.e. in polynomial time) s.t.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;their correctness and efficiency can be proven constructively (e.g. in &lt;a href=&quot;http://en.wikipedia.org/wiki/Primitive_recursive_arithmetic&quot;&gt;$PRA$&lt;/a&gt; or &lt;a href=&quot;http://en.wikipedia.org/wiki/Heyting_arithmetic&quot;&gt;$HA$&lt;/a&gt;), but&lt;/li&gt;&#xA;&lt;li&gt;no proof using only efficient concepts is known (i.e. we don't know how to prove their correctness and efficiency in $TV^0$ or $S^1_2$).&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;I can make artificial examples myself. However I want interesting natural examples, i.e. algorithms studied for their own sake, not created just to answer this type of questions.&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2013-05-21T01:46:18.593" LastActivityDate="2013-05-21T01:46:18.593" Title="Constructively efficient algorithms without efficient correctness and efficiency proof" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;lo.logic&gt;&lt;proof-complexity&gt;&lt;constructive-mathematics&gt;" AnswerCount="3" CommentCount="6" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17155" PostTypeId="2" ParentId="17153" CreationDate="2013-04-05T06:26:39.433" Score="10" Body="&lt;p&gt;The &lt;a href=&quot;http://en.wikipedia.org/wiki/AKS_primality_test&quot;&gt;AKS primality test&lt;/a&gt; seems like a good candidate if Wikipedia is to be believed.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, I would expect such an example to be hard to find. Existing proofs are going to be phrased so that they are obviously not done in bounded arithmetic, but they will likely be &quot;adaptable&quot; to bounded arithmetic with more or less effort (usually more).&lt;/p&gt;&#xA;" OwnerUserId="705" LastEditorUserId="705" LastEditDate="2013-04-05T06:32:17.583" LastActivityDate="2013-04-05T06:32:17.583" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="17157" PostTypeId="2" ParentId="17145" CreationDate="2013-04-05T09:09:57.317" Score="0" Body="&lt;p&gt;Let $u$ denote the size of the union of the sets in $S$, $n\leq 2^u$ denote the size of $S$, $h\geq n$ denote the size of the output, and $S_i$ the set of sets resulting of the intersection of $i$ sets from $S$ (in this sense, $S=S_1$), maintained in lexicographical order. For all $i\in[1..n]$, $|S_i|\leq h$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$S_2$ can be computed in time $un(n-1)/2\leq uh(h-1)/2$: each binary intersection takes at most time $u$, and there are at most $n(n-1)/2$ of them. $S_4, S_8, \ldots$ can be computed in time $uh(h-1)/2$ each in a similar way. Other $S_j$ which are not power of two can be obtained by combining those results, up to $S_n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The total running time would be  within $O(unh^2)$?&lt;/p&gt;&#xA;" OwnerUserId="191" LastActivityDate="2013-04-05T09:09:57.317" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17158" PostTypeId="1" CreationDate="2013-04-05T11:53:58.247" Score="0" ViewCount="127" Body="&lt;p&gt;An &lt;em&gt;extended formulation&lt;/em&gt; (EF) of a polytope $P\subseteq \mathbb{R}^d$ is a system of  linear constraints&#xA;$Ex + Fy  = g, y\geq 0$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;in variables $(x,y)\in \mathbb{R}^{d+r}$ where $E,F$ are real&#xA;matrices with $d,r$ columns respectively and $g$ is a column vector&#xA;such that $x\in P$ if and only if there exists $y$ such that the equation above holds.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;size of the EF&lt;/em&gt; is the number of linear constraints.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$P_{\mbox{spanning tree}}(G) = conv\{ \chi^{E(T)} \in \mathbb{R}^{E} : T \mbox{ is a spanning tree of }G \}.$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is known that this polytope has the following formulation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$x(E[U]) \leq  |U| -1$ for nonempty $U \subseteq  V $,&#xA;$x(E) = |V|-1 $,&#xA;$x_e &amp;gt; 0 $ for $ e\in E $&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is also known that the optimal solution of the following LP is 0-1 vector and the EF of spanning tree polytope has the size $O(n^{3}),n $is the size of the vertex set.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;minmize:$\sum_{e \in E} c_{e}x_{e}  $&lt;/p&gt;&#xA;&#xA;&lt;p&gt;subject to:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$x(E[U]) \leq  |U| -1$ for nonempty $U \subseteq  V $,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$x(E) = |V|-1 $,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$x_e &amp;gt; 0 $ for $ e\in E $&lt;/p&gt;&#xA;&#xA;&lt;h1&gt;Q1&lt;/h1&gt;&#xA;&#xA;&lt;p&gt;Combining the above facts, does the folowing statement hold ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Statement:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is the foloowing system of $O(n^{3})$  linear constraints&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\sum_{e \in E} 1\cdot x_{e}\geq |V|-1$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$Ex + Fy  = g, y\geq 0$, &lt;/p&gt;&#xA;&#xA;&lt;p&gt;and it holds that  $x\in \mathbb{R}^{d}$ satisfies the above  linear constraints $\iff$  $x\in \{0,1  \}^{d}$&lt;/p&gt;&#xA;&#xA;&lt;h1&gt;Q2&lt;/h1&gt;&#xA;&#xA;&lt;p&gt;Is the significance of the notion of EF that the &lt;em&gt;small size&lt;/em&gt; linear programming relaxation of 0-1 integer programming which solves some combinatorial problems can compute exact integer solution?&lt;/p&gt;&#xA;&#xA;&lt;h1&gt;Q3&lt;/h1&gt;&#xA;&#xA;&lt;p&gt;Recently [Fiorini, Massar, Pokutta, Tiwary and De Wolf][1] proved that any extended formulation of any of the three polytopes described above require an exponential number of innequalities.  [1]: &lt;a href=&quot;http://arxiv.org/abs/1111.0837&quot; rel=&quot;nofollow&quot;&gt;http://arxiv.org/abs/1111.0837&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does  this result means that &lt;em&gt;small size&lt;/em&gt; LP relaxation of 0-1 integer programming which solves the $NP-complete$ problems can $not$ compute exact integer solution   ?&lt;/p&gt;&#xA;" OwnerUserId="14065" LastActivityDate="2013-04-05T11:53:58.247" Title="Extended Formulaiton and Integer Programming" Tags="&lt;cc.complexity-theory&gt;&lt;boolean-functions&gt;&lt;convex-optimization&gt;&lt;convex-geometry&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="17159" PostTypeId="1" CreationDate="2013-04-05T13:52:23.167" Score="7" ViewCount="538" Body="&lt;p&gt;I would like to know whether knowledge of the theory of computation can help you to be a better practitioner. Is it enough to obtain some depth of knowledge of algorithms and data structures, or would it help to also know automata (for compilers, types, programming languages), computability and complexity? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If it would be wise to obtain more knowledge, what references can I read. For undergraduate education, I know basic stuff such as Hopcroft, Sipser, Ullman.&lt;/p&gt;&#xA;" OwnerUserId="12486" LastEditorUserId="-1" LastEditDate="2013-04-13T18:13:24.797" LastActivityDate="2013-04-13T18:13:24.797" Title="Does a depth knowledge on theory of computation helps to be a better practitioner" Tags="&lt;soft-question&gt;&lt;career&gt;" AnswerCount="0" CommentCount="5" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17160" PostTypeId="1" AcceptedAnswerId="17162" CreationDate="2013-04-05T17:14:11.800" Score="1" ViewCount="371" Body="&lt;p&gt;How much easier is computing the permanent of a matrix with only zeroes and ones than a matrix of only integers?&lt;/p&gt;&#xA;" OwnerUserId="3091" LastEditorUserId="-1" LastEditDate="2013-04-13T18:13:13.983" LastActivityDate="2019-12-16T14:49:43.003" Title="The complexity of computing the permanent of a matrix of zeroes and ones versus a matrix of integers" Tags="&lt;cc.complexity-theory&gt;&lt;matrices&gt;&lt;permanent&gt;" AnswerCount="2" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17161" PostTypeId="2" ParentId="17153" CreationDate="2013-04-05T17:33:36.593" Score="15" Body="&lt;p&gt;This is the same idea as Andrej's answer but with more details.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Krajicek and Pudlak [&lt;a href=&quot;http://karlin.mff.cuni.cz/~krajicek/j-crypto.ps&quot;&gt;LNCS 960, 1995, pp. 210-220&lt;/a&gt;] have shown that if $P(x)$ is a $\Sigma^b_1$-property that defines primes in the standard model and $$S^1_2 \vdash \lnot P(x) \to (\exists y_1,y_2)(1 &amp;lt; y_1, y_2 &amp;lt; x \land x = y_1y_2)$$ then there is a polynomial time factoring algorithm. This gives a bunch of examples since any NP algorithm for primality testing basically yields such a $\Sigma^b_1$ formula. In particular, the AKS primality test gives such a formula (when appropriately recast in the language of $S^1_2$). The paper by Krajicek and Pudlak gives more cryptography related examples of this kind but predates AKS and related advances by a few years.&lt;/p&gt;&#xA;" OwnerUserId="341" LastActivityDate="2013-04-05T17:33:36.593" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17162" PostTypeId="2" ParentId="17160" CreationDate="2013-04-05T17:38:24.930" Score="15" Body="&lt;p&gt;There is a polynomial-time reduction from one problem to the other, as explained on &lt;a href=&quot;http://en.wikipedia.org/wiki/Permanent_is_sharp-P-complete#01-Matrix&quot;&gt;Wikipedia&lt;/a&gt; among other places.&lt;/p&gt;&#xA;" OwnerUserId="2970" LastActivityDate="2013-04-05T17:38:24.930" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17163" PostTypeId="2" ParentId="17160" CreationDate="2013-04-05T18:05:55.147" Score="2" Body="&lt;p&gt;The &lt;a href=&quot;http://en.wikipedia.org/wiki/Permanent&quot; rel=&quot;nofollow&quot;&gt;permanent&lt;/a&gt; of a &lt;a href=&quot;http://en.wikipedia.org/wiki/%280,1%29-matrix&quot; rel=&quot;nofollow&quot;&gt;01-matrix&lt;/a&gt; is equal to the number of &lt;a href=&quot;http://en.wikipedia.org/wiki/Vertex_cycle_cover&quot; rel=&quot;nofollow&quot;&gt;vertex cycle covers&lt;/a&gt; of an unweighted directed graph. Its computation is &lt;a href=&quot;http://en.wikipedia.org/wiki/Sharp-P-complete&quot; rel=&quot;nofollow&quot;&gt;#P-complete&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="15531" LastActivityDate="2013-04-05T18:05:55.147" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17164" PostTypeId="2" ParentId="17153" CreationDate="2013-04-05T18:24:57.387" Score="11" Body="&lt;p&gt;This example is a bit lower in the hierarchy than what Kaveh asks for, but it is an open problem whether the soundness of the uniform $\mathrm{TC}^0$ algorithms for integer division and iterated multiplication by &lt;a href=&quot;http://dx.doi.org/10.1016/S0022-0000%2802%2900025-9&quot; rel=&quot;noreferrer&quot;&gt;Hesse, Allender, and Barrington&lt;/a&gt; can be proved in the corresponding theory $\mathit{VTC}^0$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The argument is pretty elementary, and there should be no problem formalizing it in $\mathit{TV}^0$, but with respect to $\mathit{VTC}^0$ it suffers from a chicken-and-egg problem: it makes heavy use of the very functions whose $\mathrm{TC}^0$-computability is furnished by the algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For another example, the Jacobi symbol $\left(\frac an\right)$ is polynomial-time computable, but its soundness in the form&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;if $p$ is an odd prime and $\left(\frac ap\right)=1$, then $a$ is a quadratic residue modulo $p$&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;is not provable in $S^1_2$ unless factoring can be done in probabilistic polynomial time, by the arguments &lt;a href=&quot;http://www.math.cas.cz/~jerabek/papers/factor.pdf&quot; rel=&quot;noreferrer&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another class of examples is given by irreducibility testing and factorization algorithms for polynomials (primarily over finite fields and over the rationals). These invariably rely on Fermat’s little theorem or its generalizations (among others), and as such are not known to be formalizable in an appropriate theory of bounded arithmetic. Typically, these algorithms are randomized, but for deterministic polynomial-time examples, one can take &lt;a href=&quot;http://en.wikipedia.org/wiki/Factorization_of_polynomials_over_a_finite_field_and_irreducibility_tests#Rabin.27s_test_of_irreducibility&quot; rel=&quot;noreferrer&quot;&gt;Rabin’s irreducibility test&lt;/a&gt; or the &lt;a href=&quot;http://en.wikipedia.org/wiki/Tonelli%E2%80%93Shanks_algorithm&quot; rel=&quot;noreferrer&quot;&gt;Tonelli–Shanks square-root algorithm&lt;/a&gt; (formulated so that a quadratic nonresidue is required as a part of the input).&lt;/p&gt;&#xA;" OwnerUserId="6959" LastEditorUserId="6959" LastEditDate="2013-04-08T14:11:00.377" LastActivityDate="2013-04-08T14:11:00.377" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17165" PostTypeId="1" CreationDate="2013-04-05T21:07:01.453" Score="9" ViewCount="640" Body="&lt;p&gt;Consider a Monotone 3CNF formula having both the following additional restrictions:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Every variable appears in exactly $2$ clauses.&lt;/li&gt;&#xA;&lt;li&gt;Given any $2$ clauses, they share at most $1$ variable.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I would like to know how hard is counting the satisfying assignments of such a formula.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Update 06/04/2013 12:55&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would also like to know how hard is determining the parity of the number of satisfying assignments.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Update 11/04/2013 22:40&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What if, in addition to the restrictions described above, we also introduce both the following restrictions:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The formula is planar.&lt;/li&gt;&#xA;&lt;li&gt;The formula is bipartite.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Update 16/04/2013 23:00&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Each satisfying assignment corresponds to an edge cover of a $3$-regular graph. After extensive search, the only relevant paper I was able to find on counting edge covers is the (3rd) one already mentioned in Yuval's answer. At the beginning of such paper, the authors say &lt;em&gt;&quot;We &lt;strong&gt;initiate&lt;/strong&gt; the study of sampling (and the related question of counting) of all edge covers of a graph&quot;&lt;/em&gt;. I'm very surprised that this problem has received so few attention (compared to counting vertex covers, which is widely studied and much better understood, for several graph classes). We do not know whether counting edge covers is $\#P$-hard. We do not know whether determining the parity of the number of edge covers is $\oplus P$-hard, either.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Update 09/06/2013 07:38&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Determining the parity of the number of edge covers is $\oplus P$-hard, check answer below.&lt;/p&gt;&#xA;" OwnerUserId="947" LastEditorUserId="947" LastEditDate="2013-08-30T17:54:10.277" LastActivityDate="2013-08-30T17:54:10.277" Title="Restricted Monotone 3CNF formula: counting satisfying assignments (both modulo $2^n$ and modulo $2$)" Tags="&lt;cc.complexity-theory&gt;&lt;sat&gt;&lt;counting-complexity&gt;" AnswerCount="2" CommentCount="6" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="17166" PostTypeId="2" ParentId="4654" CreationDate="2013-04-05T21:37:48.163" Score="2" Body="&lt;p&gt;I recently discovered &lt;a href=&quot;http://www.sharelatex.com&quot; rel=&quot;nofollow&quot;&gt;sharelatex.com&lt;/a&gt; and used it with my collaborator to coauthor a paper. I liked it so much my current plan is to use it for all my projects. Some notable features:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Real-time in-browser TeXing (like Google Docs, but made for TeX, syntax-highlighting and all). &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;In-browser compiling and PDF viewing&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Supports projects with multiple files&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Has a history feature&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Syncs with Dropbox (soon to be released publicly, from its current beta status). This way you can offload the saving of backups etc. to Dropbox. Depending on how it's done, this should also let you use sharelatex even if your coauthors don't want to, as long as they are willing to use Dropbox to share files.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;You can download/upload your project at any time, so you're not stuck using sharelatex if something goes wrong or you change your mind or whatever.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The only downside (but I think it's worth it): although using sharelatex is free, some of its features are not. Notably, to use Dropbox sync (when they release it), or if you want more than 6 coauthors to work on the same sharelatex project, you have to pay \$8/mo. or \$80/year [as of April 2013]. Once they release Dropbox sync though, it seems like a very fair price to me.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[Disclaimer: I have no relationship with sharelatex or its employees other than that I use their product.]&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2013-04-05T21:37:48.163" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17168" PostTypeId="2" ParentId="17165" CreationDate="2013-04-06T05:33:51.043" Score="3" Body="&lt;p&gt;Your problem is probably #P-complete, though I haven't been able to find it in the literature.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another way of stating your problem is &quot;#3-regular-edge-cover&quot;. Given a formula, construct a graph in which each clause corresponds to a vertex and each variable corresponds to an edge. Since the formula is a 3CNF, the graph is 3-regular (or has maximum degree 3, depending on the definition). Furthermore, the graph is simple. A satisfying assignment is the same as an edge cover.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here are a few related problems:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://rangevoting.org/HuntMRS98.pdf&quot; rel=&quot;nofollow&quot;&gt;#1-Ex3MonoSat is #P-complete&lt;/a&gt;. This is the same as your problem, only a satisfying solution has to satisfy exactly one variable in each clause.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://link.springer.com/chapter/10.1007/11750321_34&quot; rel=&quot;nofollow&quot;&gt;Counting the number of &lt;em&gt;vertex&lt;/em&gt; covers in 3-regular planar graphs is #P-complete&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;There is an &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.182.1199&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;nofollow&quot;&gt;FPRAS for #3-regular-edge cover&lt;/a&gt;. This suggests that the authors believe that the problem is hard.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="40" LastActivityDate="2013-04-06T05:33:51.043" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="17169" PostTypeId="1" CreationDate="2013-04-06T14:23:47.563" Score="3" ViewCount="171" Body="&lt;p&gt;What are the main theoretical approaches to a distributed file storage system that allows files to be stored across a network of nodes, assuring their availability in case a node randomly loses connection, but without replicating the entire tree in each node (as in git)?&lt;/p&gt;&#xA;" OwnerUserId="15544" LastActivityDate="2013-04-07T16:25:44.790" Title="Distributed file storage system - theoretical approaches" Tags="&lt;dc.distributed-comp&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="17171" PostTypeId="1" CreationDate="2013-04-06T18:19:58.813" Score="6" ViewCount="716" Body="&lt;p&gt;I made up the following problem but have not made any headway in solving it in anything less than exponential time. Hopefully somebody can shed some light on it. I'm starting to think it may be $\sf{NP}$-Complete. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I created a programming challenge type description to encourage my CS friends to have a go at it.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Charlie likes to draw.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;He’s given a piece of paper of width $W$ and height $H$ and a list of $N$ numbers $a_1, a_2, a_3, ... a_N$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For each number, he wants to draw a rectangle on the piece of paper. If the rectangle has width $w$ and height $h$ then  $w &amp;gt; 0, h &amp;gt; 0, w \geq h$ and $w \leq W$ and $h \leq H$. Both w and h must be positive integers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If a number $a_x &amp;gt; a_y$, then $a_x$’s rectangle must have area bigger or equal to $a_y$’s rectangle, where area is $w*h$. If $a_x = a_y$, then they can have different areas.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Charlie doesn’t like to waste ink. For a rectangle of width $w$ and height $h$, he must draw a line of length $2w + 2h$, using $2w + 2h$ units of ink. Clarification: even if two rectangles are adjacent, the adjacent side must be drawn twice.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is the least units of ink that Charlie can use, drawing one rectangle for each number on the piece of paper, such that no rectangles overlap and the whole paper is covered by rectangles?&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;Input File:&#xA;Line 1       : The width W and height H of the piece of paper, separated by spaces&#xA;Line 2       : N, the number of numbers to draw&#xA;Lines 3..N+2 : One number on each line.&#xA;&#xA;Constraints: &#xA;W and H are positive integers &amp;lt;= 1000&#xA;N is a positive integer &amp;lt;= W * H &#xA;ax, where 1  &amp;lt;= x &amp;lt;= N, is a positive integer &amp;lt;= 1000&#xA;&#xA;Output file:&#xA;A single line containing the least units of ink Charlie can use.&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Bonus:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Output, for each number ax, the position and size of its rectangle on the piece of paper for a solution that uses the least amount of ink (there can be more than one).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Sample input file:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;2 2&#xA;4&#xA;1&#xA;1&#xA;1&#xA;1&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Sample output file:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;16&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Sample bonus:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;-----&#xA;| | |&#xA;-----&#xA;| | |&#xA;-----&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;As pointed out by Marzio, here's the decision problem version:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a $W × H$ paper, the numbers $a_1..a_N$ and an amount $K$ of ink, can the $N$ rectangles be drawn, filling the entire paper, as described above?&lt;/p&gt;&#xA;" OwnerUserId="10987" LastEditorUserId="-1" LastEditDate="2013-04-13T18:13:16.153" LastActivityDate="2013-06-05T14:11:43.043" Title="The Drawing Challenge - a problem I made up and can't solve!" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;np-hardness&gt;" AnswerCount="3" CommentCount="14" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17172" PostTypeId="2" ParentId="17169" CreationDate="2013-04-06T19:12:44.130" Score="4" Body="&lt;p&gt;A simple approach to achieve reliability and fast lookup in a &quot;well connected&quot; network $G$ is to replicate each file $f$ on a set $V_f$ of $\Theta(\sqrt{n}\log n)$ nodes and use random walks to efficiently find members of $V_f$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;When searching for a file $f$, we start $c\sqrt{n}\in \Theta(\sqrt{n})$ random walks of length $\tau$ from some particular node, where $\tau$ is the mixing time of a random walk on $G$. That is, after taking $\tau$ steps, a random walk has probability in $[1/2n,3/2n]$ of being at any particular node in $G$.&#xA;Even if some $\epsilon\sqrt{n}\log n$ (for some small $\epsilon&amp;gt;0$) nodes have failed, the probability that at least one of these random walks encounters a node in $V_f$ is at least $$1-\left(1-\frac{\log n}{2\sqrt{n}}\right)^{c\sqrt{n}} \approx 1-\frac{1}{n^{c'}},$$&#xA;where $c'$ is a constant $&amp;gt;2$. Of course, this approach only makes sense if $\tau$ is sufficiently small - that's what I meant above when saying &quot;well connected&quot; network. This is the case in networks with sufficiently large (i.e. constant) spectral gap since $\tau \in O(\log n)$. A similar approach is taken in [1].&lt;/p&gt;&#xA;&#xA;&lt;p&gt;After some time, most of the $\Theta(\sqrt{n}\log n)$ could have been removed. Thus it is necessary to estimate the current size of $V_f$ periodically and replenish the removed members of $V_f$ by replicating $f$ on new nodes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] Ruggero, Bhattacharjee, Srinivasan, Marsh.&#xA; Efficient lookup on unstructured topologies.&lt;/p&gt;&#xA;" OwnerUserId="6785" LastEditorUserId="6785" LastEditDate="2013-04-07T16:25:44.790" LastActivityDate="2013-04-07T16:25:44.790" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17173" PostTypeId="2" ParentId="17152" CreationDate="2013-04-06T20:46:36.337" Score="5" Body="&lt;p&gt;The tree is binary and has depth $O(\log(n))$ and the properties that:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;for any non-root node $v$, the y-coordinate of $v$ is larger than that of its parent.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;for any node $v$, all descendants in the left subtree have x-coordinate smaller than $v$, and all descendants in the right subtree have x-coordinate larger than $v$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;This means that your solution set from which you choose $k$ elements is actually &lt;del&gt;a subtree&lt;/del&gt; one side (in the left/right sense) of what remains when a path is deleted, and can be traversed with DFS in $(\log(n)+k)$ time.  Note that the priority search tree may require dummy points at which you root subtrees to keep the depth low.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This paper may give some clarification: &lt;a href=&quot;http://people.scs.carleton.ca/~michiel/MinMaxPST.pdf&quot; rel=&quot;nofollow&quot;&gt;http://people.scs.carleton.ca/~michiel/MinMaxPST.pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="1929" LastEditorUserId="1929" LastEditDate="2013-04-07T00:55:42.513" LastActivityDate="2013-04-07T00:55:42.513" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17178" PostTypeId="1" AcceptedAnswerId="17180" CreationDate="2013-04-07T06:44:15.557" Score="3" ViewCount="401" Body="&lt;p&gt;A program is an encoded Turing Machine. And a size optimizer of a program is a TM $M_1$ such that:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;On any input $M$, $M_1$ outputs $M_{min}$ such that $M_{min}$ is the shortest TM which is equivalent to $M$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;If size-optimization is not computable, the above $M_1$ shouldn't exist. &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;How do we prove this? &lt;/li&gt;&#xA;&lt;li&gt;Does this also mean a size-optimality decider can't exist?&lt;/li&gt;&#xA;&lt;li&gt;How does this generalize to other kinds of optimization (speed-optimization, for example)?&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="4471" LastEditorUserId="4471" LastEditDate="2013-04-08T23:43:43.373" LastActivityDate="2013-04-08T23:43:43.373" Title="Undecidability of program optimization" Tags="&lt;pl.programming-languages&gt;&lt;optimization&gt;" AnswerCount="2" CommentCount="8" FavoriteCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17179" PostTypeId="2" ParentId="17178" CreationDate="2013-04-07T07:37:56.537" Score="4" Body="&lt;p&gt;Let &lt;code&gt;fill&lt;/code&gt; be the Turing machine that writes &lt;code&gt;1&lt;/code&gt; on all positions of its output tape (it doesn't terminate, but that's not an issue). Let now &lt;code&gt;syra&lt;/code&gt; be the machine that computes the &lt;a href=&quot;http://en.wikipedia.org/wiki/Collatz_conjecture&quot; rel=&quot;nofollow&quot;&gt;Syracuse/Collatz sequence&lt;/a&gt; for all &lt;code&gt;n&lt;/code&gt; successively, and for each writes &lt;code&gt;1&lt;/code&gt; in the &lt;code&gt;n&lt;/code&gt;-th output position if the sequence goes back to a &lt;code&gt;1&lt;/code&gt;. Now test if &lt;code&gt;M1(fill)&lt;/code&gt; is equal to &lt;code&gt;M1(syra)&lt;/code&gt;, and you've answered the Collatz conjecture.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Similarly, you can check the halting problem for any turing machine &lt;code&gt;M&lt;/code&gt; by just turning it into the machine that writes &lt;code&gt;1&lt;/code&gt; on the whole output tape after it normal function has terminated, and then comparing that to &lt;code&gt;fill&lt;/code&gt;.&lt;/p&gt;&#xA;" OwnerUserId="4984" LastActivityDate="2013-04-07T07:37:56.537" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="17180" PostTypeId="2" ParentId="17178" CreationDate="2013-04-07T13:38:17.430" Score="6" Body="&lt;p&gt;In your example, you consider a size optimizer, that is a program that &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;takes a program $P$, and returns an equivalent program $P'$ such that there is no other program $P''$ also equivalent to $P$ but strictly smaller than $P'$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;With such a perfect size optimizer, you could build a decision procedure for this question&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is an input program $P$ equivalent to any program of at most $33$ characters? &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;But this is a non trivial property of program semantics. &lt;a href=&quot;http://en.wikipedia.org/wiki/Rice_theorem&quot;&gt;Rice Theorem&lt;/a&gt; says that such properties are undecidable. &lt;/p&gt;&#xA;" OwnerUserId="15558" LastActivityDate="2013-04-07T13:38:17.430" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="17184" PostTypeId="2" ParentId="17171" CreationDate="2013-04-07T20:45:17.483" Score="4" Body="&lt;p&gt;&lt;strong&gt;A closely related problem is strongly NP-hard.&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Leung et al. [1] prove that the following decision version of your problem is strongly NP-complete, by reduction from 3-Partition.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is it possible to pack $n$ squares of given widths $w_1, w_2, \dots, w_n$ into a larger square of width $W$?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I misread the original question as a generalization of the following decision problem:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is it possible to pack $n$ rectangles with given areas $a_1, a_2, \dots, a_n$ into a $H\times W$ rectangle?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The first problem can be reduced to the second as follows: Squares with widths $w_1,\dots,w_n$ can be packed into an outer square of width $W$ if and only if the minimum-perimeter packing of rectangles with areas $w_1^2, \dots, w_n^2$ into a $W\times W$ rectangle uses precisely $4\sum_i w_i$ units of ink.  (Proof: The minimum-perimeter rectangle with any given area is a square.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;However, this reduction does &lt;em&gt;not&lt;/em&gt; imply that the actual posted question is NP-hard.&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Joseph Y-T. Leung, Tommy W. Tam, C. S. Wong, Gilbert H. Young, and Francis Y. L. Chin.  &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/074373159090019L&quot; rel=&quot;nofollow&quot;&gt;Packing squares into a square.&lt;/a&gt;  &lt;em&gt;J. Parallel and Distributed Computing&lt;/em&gt; 10(3):271–275, 1990.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="111" LastEditorUserId="111" LastEditDate="2013-04-09T04:44:09.343" LastActivityDate="2013-04-09T04:44:09.343" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="17185" PostTypeId="1" CreationDate="2013-04-07T21:12:04.500" Score="5" ViewCount="120" Body="&lt;p&gt;From time to time I come across concepts in programming that take a certain number of exposures to grasp. Things like: tail calls, futures, monads, coroutines, closures, call/cc.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The common theme is that they cannot be explained in terms of the concepts I already know, so have to somehow develop a new vocabulary for them. But even once I think I understand a given concept I am still not really sure if I do.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am wondering if you know of any effective ways to illustrate or explain such concepts graphically. I'm no good at following a formal mathematical exposition so that unfortunately doesn't help at all.&lt;/p&gt;&#xA;" OwnerUserId="15566" LastEditorUserId="-1" LastEditDate="2013-04-13T19:23:12.753" LastActivityDate="2013-04-13T19:23:12.753" Title="conceptual tools for illustrating types of computation?" Tags="&lt;soft-question&gt;&lt;pl.programming-languages&gt;&lt;big-picture&gt;" AnswerCount="0" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17187" PostTypeId="1" AcceptedAnswerId="17189" CreationDate="2013-04-07T21:33:20.113" Score="8" ViewCount="989" Body="&lt;p&gt;&lt;strong&gt;Accepted Answer&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Scott Aaronson's answer has been &quot;accepted&quot; (mainly because it's the &lt;em&gt;only&lt;/em&gt; answer!)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;One-sentence summary of answer&lt;/strong&gt;&amp;nbsp; Plausibly natural generalizations of the P versus NP question are not obviously easier to resolve than P versus NP itself.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;One obstruction to a general answer&lt;/strong&gt;&amp;nbsp; The original question assumed that every complexity class A associates &quot;naturally&quot; to a nondeterministic generalization NA&amp;nbsp;&amp;mdash; however a general complexity class A can be defined in so many ways, that the class-map N$\colon\,$A$\,\to\,$NA cannot (apparently) be readily given a completely general &lt;em&gt;and&lt;/em&gt; manifestly natural specification.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;However&amp;nbsp;&amp;hellip;&lt;/strong&gt;&amp;nbsp; dkuper's comment (&lt;a href=&quot;https://cstheory.stackexchange.com/questions/17187/do-natural-generalizations-of-pversusnp-exist#comment45494_17187&quot;&gt;below&lt;/a&gt;) provides a link to a talk by by Christos Kapoutsis (LIAFA), titled &lt;a href=&quot;http://www.liafa.univ-paris-diderot.fr/web9/manifsem/description_fr.php?idcongres=1225&quot; rel=&quot;nofollow noreferrer&quot;&gt;&lt;em&gt;Minicomplexity&lt;/em&gt;&lt;/a&gt;, that describes a research strategy along the lines indicated.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For further discussion, a recommended resource is the Dick Lipton/Ken Regan &lt;em&gt;G&amp;ouml;del's Lost Letter and P=NP&lt;/em&gt; essay titled &lt;a href=&quot;http://rjlipton.wordpress.com/2011/01/19/we-believe-a-lot-but-can-prove-little&quot; rel=&quot;nofollow noreferrer&quot;&gt;&lt;em&gt;We Believe A Lot, But Can Prove Little.&lt;/em&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;The question finally asked&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;The question&lt;/strong&gt;&amp;nbsp; What trait shared by every complexity class A ⊂ P that is richer than NTIME(n ln n), acts to obstruct proofs of A ⊂ NA?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;This question was motivated by &lt;a href=&quot;http://www.scottaaronson.com/blog/?p=1293#comment-68939&quot; rel=&quot;nofollow noreferrer&quot;&gt;Scott Aaronson's recent weblog comments&lt;/a&gt; (see below), and the complexity-theoretic richness of this question has subsequently been illuminated by comments/answers/essays by &lt;a href=&quot;https://cstheory.stackexchange.com/questions/17187/aaronsons-extended-question-do-natural-generalizations-of-pversusnp-exist#comment44726_17187&quot;&gt;Robin Kathari&lt;/a&gt;, &lt;a href=&quot;https://cstheory.stackexchange.com/a/17189/1519&quot;&gt;Scott Aaronson&lt;/a&gt;, &lt;a href=&quot;https://cstheory.stackexchange.com/questions/17187/aaronsons-extended-question-do-natural-generalizations-of-pversusnp-exist#comment44762_17189&quot;&gt;Ryan Williams&lt;/a&gt;, &lt;a href=&quot;http://rjlipton.wordpress.com/2011/01/19/we-believe-a-lot-but-can-prove-little&quot; rel=&quot;nofollow noreferrer&quot;&gt;Dick Lipton and Ken Regan&lt;/a&gt;, and &lt;a href=&quot;https://cstheory.stackexchange.com/q/1079/1519&quot;&gt;previous &lt;em&gt;TCS StackExchange&lt;/em&gt; questions&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;b&gt;Observations&lt;/b&gt;&amp;nbsp; (1)&amp;nbsp;For all known complexity classes A ⊂ P that are sufficiently large as to include NTIME(n ln n) ⊂ A, the problem A $\overset{?}{\subset}$ NA is open, and (2)&amp;nbsp;the reason(s) for this near-universal complexity-theoretic obstruction are not presently well-understood.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Like many folks, I had long appreciated the immense difficulty of proving P ⊂ NP, but had &lt;em&gt;not&lt;/em&gt; previously appreciated that proving A ⊂ NA is an open problem for (essentially) &lt;em&gt;all&lt;/em&gt; computational complexity classes.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;The question originally asked&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On his weblog &lt;em&gt;Shtetl Optimized&lt;/em&gt;, Scott Aaronson &lt;a href=&quot;http://www.scottaaronson.com/blog/?p=1293#comment-68939&quot; rel=&quot;nofollow noreferrer&quot;&gt;issued the following TCS challenge&lt;/a&gt;: &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;The &lt;em&gt;Shtetl Optimized&lt;/em&gt; TCS Challenge&lt;/strong&gt;&amp;nbsp;&amp;nbsp; &lt;em&gt;If&lt;/em&gt; you believe P vs. NP is undecidable, then you need to answer:&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;&lt;strong&gt;The &lt;em&gt;Shtetl Optimized&lt;/em&gt; TCS Question&lt;/strong&gt;&amp;nbsp;&amp;nbsp; Why does whatever intuition tells you that [&lt;em&gt;P&amp;nbsp;vs&amp;nbsp;NP is undecidable&lt;/em&gt;] not also tell you that the P versus EXP, NL versus PSPACE, MAEXP versus P/poly, TC0 versus AC0, and NEXP versus ACC questions are similarly undecidable? &lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;(In case you don’t know, those are five pairs of complexity classes that have been proved different from each other, sometimes using very sophisticated ideas.)&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Answers to the following specific question will be accepted:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Q1&lt;/strong&gt; &lt;em&gt;(TCS literature question)&lt;/em&gt;&amp;nbsp;&amp;nbsp; Do any known complexity classes A and B provably satisfy A&amp;nbsp;&amp;sub;&amp;nbsp;B and NA&amp;nbsp;&amp;supe;&amp;nbsp;B, for NA the natural non-deterministic extension of A?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Supposing that the answer to &lt;strong&gt;Q1&lt;/strong&gt; is &quot;yes&quot;, an explanation is desired of how it happens that the strict inclusion A&amp;nbsp;&amp;sub;&amp;nbsp;B has been proved, while the (superficially similar) strict inclusion P&amp;nbsp;&amp;sub;&amp;nbsp;NP is hard to prove.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Alternatively, if the answer to &lt;strong&gt;Q1&lt;/strong&gt; is &quot;no&quot;, one further question is asked:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Q2&lt;/strong&gt; (&lt;em&gt;The Extended&lt;/em&gt; Shtetl Optimized &lt;em&gt;TCS Question&lt;/em&gt;)&amp;nbsp;&amp;nbsp; Are complexity-class inclusions of the general form A&amp;nbsp;&amp;sub;&amp;nbsp;B and NA&amp;nbsp;&amp;supe;&amp;nbsp;B provable&amp;nbsp;&amp;mdash; in ZFC or any finite extension of ZFC&amp;nbsp;&amp;mdash; for any &quot;natural&quot; complexity classes whatsoever? (if &quot;yes&quot; construct examples; if &quot;no&quot; prove the obstruction).&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;PostScript&lt;/strong&gt;&amp;nbsp; &amp;nbsp;Appreciation and thanks are extended to &lt;em&gt;TCS StackExchange&lt;/em&gt; for sustaining this wonderfully inspiring and helpful mathematical community, and to Scott Aaronson for sustaining his admirable weblog &lt;em&gt;Shtetl Optimized!&lt;/em&gt;&lt;/p&gt;&#xA;" OwnerUserId="1519" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2013-05-08T14:52:48.140" Title="Do natural generalizations of P versus NP exist?" Tags="&lt;cc.complexity-theory&gt;&lt;decidability&gt;" AnswerCount="1" CommentCount="10" FavoriteCount="4" CommunityOwnedDate="2013-04-08T16:23:04.173" ContentLicense="CC BY-SA 3.0" />
  <row Id="17189" PostTypeId="2" ParentId="17187" CreationDate="2013-04-07T22:57:36.187" Score="15" Body="&lt;p&gt;John, while your kind comments are appreciated, I confess that I don't understand how your question relates to the simple point I was making in the quoted remark.  All I was saying was that we &lt;i&gt;do&lt;/i&gt; know various separations between complexity classes, like P&amp;ne;EXP, MA&lt;sub&gt;EXP&lt;/sub&gt;&amp;nsub;P/poly, NEXP&amp;nsub;ACC, etc.  So, if you believe that a particular separation, like P&amp;ne;NP, is &quot;too deep to be either proved or disproved in ZF set theory&quot; (or whatever), then it seems to me that the burden falls on you to explain why you think &lt;i&gt;that&lt;/i&gt; separation has to be independent of ZF, while other separations turned out not to be.  For this argument to have force, I see no necessity for the other separations to have the particular form you specified.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But to address your question anyway: well, the obvious challenge in answering is to find &lt;b&gt;any&lt;/b&gt; complexity class A for which we can prove that A is strictly contained in NA, where NA is &quot;the natural non-deterministic extension of A&quot;!  (Indeed, as Robin points out above, finding such an A is &lt;i&gt;equivalent&lt;/i&gt; to answering your question as you've stated it.)  And the only examples of such A's that I can think of are things like TIME(f(n)) (it was proved in the 1970s that TIME(f(n))&amp;ne;NTIME(f(n)) for f(n)&amp;le;n log*n, since NTIME(f(n)) can simulate time &lt;i&gt;slightly&lt;/i&gt; greater than f(n)).  (An earlier version of this post claimed that was known for &lt;i&gt;all&lt;/i&gt; f(n).  Thanks to Ryan Williams for the correction!)  So setting A=TIME(n) and B=NTIME(n) would indeed answer your question in the affirmative.  A more &quot;natural&quot; example will probably need to await a breakthrough in complexity theory.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[Endnote: I wish to clarify that &lt;i&gt;I&lt;/i&gt; didn't give things portentous names like &quot;The &lt;i&gt;Shtetl Optimized&lt;/i&gt; this or that&quot;---those were Sidles's elaborations!]&lt;/p&gt;&#xA;" OwnerUserId="1575" LastEditorUserId="1575" LastEditDate="2013-04-08T14:20:25.860" LastActivityDate="2013-04-08T14:20:25.860" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="17192" PostTypeId="2" ParentId="17171" CreationDate="2013-04-08T06:43:24.657" Score="0" Body="&lt;p&gt;&lt;em&gt;this is only a sketch of an idea. Not sure if it yields an optimal solution.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Following my comment above, the only parameter that matters is $n$, the number of rectangles. Since it isn't clear whether strict inequality matters, I'll assume that areas can be equal even if the numbers aren't, but that reverse ordering is prohibited. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It seems that a lower bound for the problem is $2n$, assuming you're drawing on a grid (otherwise by @JeffE's comment, the problem doesn't make sense). This is implied by the claim that each new rectangle needs at least 2 units of ink (amortized), because it can be associated with (say) its lower right hand corner, which needs to extend nontrivially. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here's a scheme that yields this bound upto terms that vanish with $n$. WLOG assume that $H &amp;lt; W$ and $n &amp;lt; WH$. If $n = 2$, then the only solution is to draw a line of length $H$ dividing the rectangle into two parts, and it doesn't matter where you draw it. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose now that $n &amp;lt; H+1$. Then draw the length $H$ line to create a strip of unit &quot;width&quot;, and then repeatedly subdivide that strip to get the desired number of pieces. It's not hard to see that the total ink used is roughly $H + n-2$. As $n$ increases, create more unit width strips and subdivide them. A quick calculation shows that as $n$ increases, you pay roughly $2H$ for each &quot;full&quot; strip and the last strip is negligible, yielding the bound. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I suspect that (a) this is not optimal and (b) this doesn't quite capture the spirit of what you need. But it does answer the question as stated. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2013-04-08T06:43:24.657" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="17193" PostTypeId="1" CreationDate="2013-04-08T11:53:01.510" Score="3" ViewCount="366" Body="&lt;p&gt;I am learning the methods for proving lower bounds on streaming algorithms using communication complexity.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is about a basic technique to prove lower bounds on streaming models using the reduction by giving each player in the communication game a fragment of the tape of Turing Machine whose sequential scan is bounded.The number of sequential scans is the number of passes. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;We consider streaming algorithm as a one tape TM.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there some inherent limitations of this reduction using fragments of the tape?    &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It seems that increasing of the number of passes deteriorates the efficiency of reductions and that we would not use this fragment methods to prove lower bounds on streaming models with many passes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there other powerful methods which overcome the weakness of the fragment methods?&lt;/p&gt;&#xA;" OwnerUserId="14065" LastEditorUserId="-1" LastEditDate="2013-04-10T19:26:31.927" LastActivityDate="2013-04-10T19:26:31.927" Title="Streaming Algorithm Lower Bounds by Communication Complexity" Tags="&lt;cc.complexity-theory&gt;&lt;co.combinatorics&gt;&lt;lower-bounds&gt;&lt;communication-complexity&gt;&lt;streaming&gt;" AnswerCount="0" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="17195" PostTypeId="1" CreationDate="2013-04-08T16:56:14.183" Score="10" ViewCount="479" Body="&lt;p&gt;Let us define a class of functions over a set of $n$ bits. Fix two distributions $p, q$ that are &quot;reasonably&quot; different from each other (if you like, their variational distance is at least $\epsilon$, or something similar). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now each function $f$ in this class is defined by a collection of $k$ indices $S$, and is evaluated as follows: If the parity of the selected bits is 0, return a random sample from $p$, else return a random sample from $q$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Problem&lt;/strong&gt;: Suppose I'm given oracle access to some $f$ from this class, and while I know $\epsilon$ (or some other measure of distance), I don't know $p$ and $q$. &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Are there any bounds on the number of calls I need to make to&#xA;  PAC-learn $f$ ? Presumably my answer will be in terms of $n, k$ and $\epsilon$. &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: I didn't specify the output domain. Again, I'm flexible, but for now let's say that $p$ and $q$ are defined over a finite domain $[1..M]$. In general, I'd also be interested in the case when they are defined over ${\mathbb R}$ (for example, if they're Gaussians)&lt;/p&gt;&#xA;" OwnerUserId="80" LastEditorUserId="80" LastEditDate="2013-04-08T17:55:46.337" LastActivityDate="2013-04-11T04:03:13.370" Title="A parity learning question" Tags="&lt;lg.learning&gt;" AnswerCount="1" CommentCount="8" FavoriteCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17197" PostTypeId="1" CreationDate="2013-04-08T19:17:05.280" Score="7" ViewCount="330" Body="&lt;p&gt;In Section 3.2 of &lt;em&gt;&lt;a href=&quot;http://epubs.siam.org/doi/abs/10.1137/S0097539795286612&quot;&gt;On Syntactic versus Computational Views on Approximability&lt;/a&gt;&lt;/em&gt; by Khanna, et al., the authors state that an adaptation of the results from &lt;em&gt;&lt;a href=&quot;https://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=267823&quot;&gt;Proof Verification and Hardness of Approximation Problems&lt;/a&gt;&lt;/em&gt; by Arora, et al. proves that there is a polynomial time computable &lt;a href=&quot;http://books.google.com/books?id=EILqAmzKgYIC&amp;amp;lpg=PA307&amp;amp;ots=Xk9XGJ0R7X&amp;amp;dq=gap-introducing%20reduction&amp;amp;pg=PA307#v=onepage&amp;amp;q&amp;amp;f=false&quot;&gt;gap-introducing reduction&lt;/a&gt; from SAT to Max 3-SAT, &lt;em&gt;and furthermore&lt;/em&gt;, that there is a polynomial time computable function that computes a satisfying assignment for an instance of SAT given an assignment satisfying strictly greater than $1 - \epsilon$ of the clauses of the transformed instance of Max 3-SAT, where $\epsilon$ is the gap. From what I understand, the authors claim that such a function exists because the proof by Arora, et al. utilizes an error-correcting code, so the original message (the assignment satisfying the instance of SAT) can be reconstructed from a corrupted message (the assignment satisfying greater than $1 - \epsilon$ of the clauses of Max 3-SAT). This function for reconstructing a satisfying assignment is critical for proving hardness results in classes of approximable optimization problems under approximation-preserving reductions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does &lt;em&gt;&lt;a href=&quot;https://dl.acm.org/citation.cfm?doid=1236457.1236459&quot;&gt;The PCP Theorem by Gap Amplification&lt;/a&gt;&lt;/em&gt; by Dinur also imply the existence of such a function?&lt;/p&gt;&#xA;" OwnerUserId="4193" LastActivityDate="2013-04-08T19:17:05.280" Title="Does Dinur's proof of PCP Theorem imply a procedure for reconstructing a witness?" Tags="&lt;cc.complexity-theory&gt;&lt;approximation-hardness&gt;&lt;pcp&gt;" AnswerCount="0" CommentCount="1" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="17198" PostTypeId="1" AcceptedAnswerId="17515" CreationDate="2013-04-09T04:24:03.353" Score="9" ViewCount="331" Body="&lt;p&gt;Here are two families of hash functions on strings $\vec{x} = \langle x_0 x_1 x_2 \dots x_m \rangle$:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;For $p$ prime and $x_i \in \mathbb{Z_p}$, $h^1_{a}(\vec{x}) = \sum a^i x_i \bmod p$ for $a \in \mathbb{Z}_p$. Dietzfelbinger et al. showed in &quot;Polynomial Hash Functions Are Reliable&quot; that $\forall x \neq y, P_a(h^1_a(x) = h^1_a(y)) \leq m/p$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;For $x_i \in \mathbb{Z}_{2^b}$, $h^2_{\vec{a} = \langle a_0 a_1 a_2 \dots a_{m+1}\rangle}(\vec{x}) = (a_0 + \sum a_{i+1} x_i \bmod 2^{2b}) \div 2^b$ for $a_i \in \mathbb{Z}_{2^{2b}}$. Lemire and Kaser showed in &quot;Strongly universal string hashing is fast&quot; that this family is 2-independent. This implies that $\forall x \neq y, P_\vec{a}(h^2_\vec{a}(x) = h^2_\vec{a}(y)) = 2^{-b}$&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;$h^1$ uses only $\lg p$ bits of space and bits of randomness, while $h^2$ uses $2 b m + 2 b$ bits of space and bits of randomness. On the other hand, $h^2$ operates over $\mathbb{Z}_{2^{2b}}$, which is fast on actual computers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'd like to know what other hash families are almost-universal (like $h^1$), but operate over $\mathbb{Z}_{2^b}$ (like $h^2$), and use $o(m)$ space and randomness.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does such a hash family exist? Can its members be evaluated in $O(m)$ time?&lt;/p&gt;&#xA;" OwnerUserId="43" LastEditorUserId="24189" LastEditDate="2014-06-05T13:17:18.263" LastActivityDate="2015-12-14T14:36:20.253" Title="Almost universal string hashing in $Z_{2^n}$ and sublinear space" Tags="&lt;ds.data-structures&gt;&lt;randomness&gt;&lt;hash-function&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17200" PostTypeId="2" ParentId="17195" CreationDate="2013-04-09T15:22:52.087" Score="6" Body="&lt;p&gt;&lt;strong&gt;The discussion in the comments below indicades that I have misunderstood the question.  My answer is premised on the Oracle taking no input and returning $(x, f(x))$ where $x \sim p$ or $x \sim q$, depending on $f \in F$. This is apparently not what's being asked.&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Because the target distribution is fixed for every target $f^* \in F$, the PAC-sample upper bound applies (this follows from the fact that the target distribution for this bound can even completely depend on $f^*$). Hence, &#xA;$$&#xA;m \le \tilde{O}\left(\frac{1}{\epsilon}\left(\mathrm{VC}(F) + \log(1/\delta) \right) \right)&#xA;$$&#xA;examples should suffice to find a hypothesis of error $\le \epsilon$ w.p. $\ge 1-\delta$. Note -- after seeing these examples, one needs to find a consistent hypothesis from $F$, and this may not be tractable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, one can get a nearly matching lower bound even for the case of $p=q=U$, the uniform distribution, where $m \ge \Omega(\mathrm{VC}(F))$ examples are still required (this can be improved slightly).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The variational distance between $p$ and $q$, as well as $k$ may play a role in the small gap between these bounds, but I doubt it.&lt;/p&gt;&#xA;" OwnerUserId="123" LastEditorUserId="123" LastEditDate="2013-04-11T04:03:13.370" LastActivityDate="2013-04-11T04:03:13.370" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="17201" PostTypeId="1" AcceptedAnswerId="17210" CreationDate="2013-04-09T18:49:59.497" Score="11" ViewCount="320" Body="&lt;p&gt;I, like many people, am a keen user of mathematical software such as Mathematica and Maple. However, I have become increasingly frustrated by the many cases where such software simply gives you the wrong answer without warning.  This can occur when performing all sorts of operations from simple &lt;a href=&quot;https://mathematica.stackexchange.com/questions/21097/sum-of-positive-terms-gives-negative-answer&quot;&gt;sums&lt;/a&gt; to &lt;a href=&quot;https://mathematica.stackexchange.com/questions/22472/nminimize-problem-again&quot;&gt;optimization&lt;/a&gt; amongst many other examples.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have been wondering what could be done about this serious problem. What is needed is some way to allow the user to verify the correctness of an answer that is given so that they have some confidence in what they are being told. If you were to get a solution from a math colleague she/he might just sit down and show you their working. However this is not feasible for a computer to do in most cases. Could the computer instead give you a simple and easily checkable witness of the correctness of their answer?  Checking may have to be done by computer but hopefully checking the checking algorithm will be much easier than checking the algorithm to produce the witness in the first place.  When would this be feasible and how exactly could this be formalized&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So in summary, my question is the following.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Could it be possible at least in theory for mathematical software to provide a short&#xA;  checkable proof along with the answer you have asked for?  &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;A trivial case where we can do this immediately is for factorization of integers of course or many of the classic NP-complete problems (e.g. Hamiltonian circuit etc.).  &lt;/p&gt;&#xA;" OwnerDisplayName="user15587" LastEditorUserId="-1" LastEditDate="2017-04-13T12:55:35.307" LastActivityDate="2013-04-10T07:50:51.853" Title="Witnesses for mathematical software" Tags="&lt;cc.complexity-theory&gt;" AnswerCount="1" CommentCount="6" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="17203" PostTypeId="1" AcceptedAnswerId="17205" CreationDate="2013-04-09T21:56:35.113" Score="1" ViewCount="122" Body="&lt;p&gt;(I posted this question on MathSE first, no answer, that is the reason why I come here.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $F$ be a 3-CNF formula on $n$ variables. A clause $c$ is implied by the formula if $F$ and $F \wedge c$ are equivalent. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question&lt;/strong&gt; : Is it true that each 4-clause  implied by $F$ (if there are any) is also the resolvent of two implied 3-clauses ?&#xA;By extension, is it true that each $k$-clause ($k&amp;gt; 3$) implied by $F$ is also the resolvent of two strictly smaller implied clauses ? (a $k$-clause ($k\leq n$) contains exactly $k$ literals in it).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thank you for your answers. &lt;/p&gt;&#xA;" OwnerUserId="6346" LastActivityDate="2013-04-09T23:23:15.263" Title="Implied Clause and Resolvent" Tags="&lt;cc.complexity-theory&gt;&lt;lo.logic&gt;&lt;sat&gt;&lt;resolution&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17205" PostTypeId="2" ParentId="17203" CreationDate="2013-04-09T23:23:15.263" Score="9" Body="&lt;p&gt;Here is a counterexample:&#xA;$$&#xA;(a \lor y \lor s) \land (\overline{y} \lor b \lor z) \land (\overline{z} \lor c \lor d) \land (\overline{s} \lor b \lor t) \land (\overline{t} \lor c \lor d).&#xA;$$&#xA;This formula implies $a \lor b \lor c \lor d$, but only the five listed 3-clauses, no two of which resolve to $a\lor b\lor c\lor d$.&lt;/p&gt;&#xA;" OwnerUserId="40" LastActivityDate="2013-04-09T23:23:15.263" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="17207" PostTypeId="1" CreationDate="2013-04-10T04:46:02.823" Score="0" ViewCount="131" Body="&lt;p&gt;I've been struggling with understanding of the proofs showing that implementation statements are extensional.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Basically I am referring to material described in &lt;a href=&quot;http://www.eden-study.org/articles/2006/abstraction-classes-sw-design_ieesw.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Abstraction Classes in Software Design&lt;/a&gt; paper.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As an example, let us take the following proof for class diagram Figure 13:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://i.stack.imgur.com/3tV24.png&quot; rel=&quot;nofollow noreferrer&quot;&gt;&lt;img src=&quot;https://i.stack.imgur.com/3tV24.png&quot; alt=&quot;&quot;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Proposition 11.&lt;/strong&gt; The class diagram in Figure 13 is extensional.&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;&lt;strong&gt;Proof:&lt;/strong&gt; Let us show that Figure 13 is preserved under expansion. Let &lt;em&gt;M&lt;/em&gt; designate a structure that satisfies Figure 13. Any such structure shall include, &#xA;  among others, the following entities and relations:&lt;/p&gt;&#xA;  &#xA;  &lt;ul&gt;&#xA;  &lt;li&gt;Class entities, such as &lt;em&gt;Creator&lt;/em&gt; and &lt;em&gt;ConcreteCreator&lt;/em&gt;, as well as &#xA;  Method entities, such as &lt;em&gt;Creator::FactoryMethod&lt;/em&gt; and &#xA;  &lt;em&gt;ConcreteCreator::FactoryMethod&lt;/em&gt;. &lt;/li&gt;&#xA;  &lt;li&gt;The binary relation &lt;em&gt;Member&lt;/em&gt;, which associates every method with one &#xA;  class, such as the pair (&lt;em&gt;Creator::FactoryMethod&lt;/em&gt;, &lt;em&gt;Creator&lt;/em&gt;)&lt;/li&gt;&#xA;  &lt;li&gt;The binary relation &lt;em&gt;Inherit&lt;/em&gt;, which includes the pairs &#xA;  (&lt;em&gt;ConcreteCreator&lt;/em&gt;, &lt;em&gt;Creator&lt;/em&gt;) and (&lt;em&gt;ConcreteProduct&lt;/em&gt;, &lt;em&gt;Product&lt;/em&gt;)&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;  &#xA;  &lt;p&gt;Additional information in Figure 13 is represented informally. For&#xA;  example, the  relation &lt;em&gt;Invoke(AnOperation,FactoryMethod)&lt;/em&gt; is&#xA;  represented by the note &lt;em&gt;product=FactoryMethod()&lt;/em&gt; at the top right&#xA;  corner of the diagram.&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;Note that every element in the diagram&#xA;  explicitly represents a specific entity (e.g., class &lt;em&gt;Creator&lt;/em&gt;) or a&#xA;  specific relation (e.g., &lt;em&gt;Inherit(ConcreteCreator, Creator)&lt;/em&gt;). Thus,&#xA;  expanding &lt;em&gt;M&lt;/em&gt; with any number of Class entities cannot violate Figure&#xA;  13.&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;Let us show that Figure 13 is preserved under reduction. There are two types of entities that can be removed from &lt;em&gt;M&lt;/em&gt;:&lt;/p&gt;&#xA;  &#xA;  &lt;ul&gt;&#xA;  &lt;li&gt;Entities that are explicitly mentioned in Figure 13.&lt;/li&gt;&#xA;  &lt;li&gt;Entities that are not explicitly mentioned in Figure 13.&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;  &#xA;  &lt;p&gt;By the Intension criterion, we&#xA;  only consider reductions removing entities  that are not explicitly&#xA;  mentioned in Figure 13 from the universe of &lt;em&gt;M&lt;/em&gt;. Obviously, any such&#xA;  reduction will continue to satisfy Figure 13.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;My specific question is about preserving Figure 13 under reduction. How can we remove entities that are not explicitly mentioned in Figure 13? What are these entities that are not explicitly mentioned in Figure 13? Just don't get how can we remove something that is not present on the diagram.&lt;/p&gt;&#xA;" OwnerUserId="15589" LastEditorUserId="20340" LastEditDate="2019-08-26T06:49:50.957" LastActivityDate="2019-08-26T06:49:50.957" Title="Proofs for Implementation Statements" Tags="&lt;lo.logic&gt;&lt;se.software-engineering&gt;" AnswerCount="0" CommentCount="4" ContentLicense="CC BY-SA 4.0" />
  <row Id="17208" PostTypeId="5" CreationDate="2013-04-10T04:58:35.577" Score="0" Body="" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2013-04-10T04:58:35.577" LastActivityDate="2013-04-10T04:58:35.577" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17209" PostTypeId="4" CreationDate="2013-04-10T04:58:35.577" Score="0" Body="Proof search problems in formal systems" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2013-04-10T04:58:35.577" LastActivityDate="2013-04-10T04:58:35.577" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17210" PostTypeId="2" ParentId="17201" CreationDate="2013-04-10T07:34:37.067" Score="5" Body="&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;The concept of &quot;witnesses&quot; or &quot;checkable proofs&quot; is not totally new: as mentioned in the comments, look for the concept of &quot;certificate&quot;. Three examples came to mind, there are more (in the comments and elsewhere):&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Kurt Mehlhorn described in 1999 a similar problem in computational geometry algorithms (e.g. minor errors in coordinates can yield big errors in the results of some algorithm), solved in a similar way in the library &lt;a href=&quot;http://www.mpi-inf.mpg.de/~mehlhorn/LEDAbook.html&quot;&gt;Leda&lt;/a&gt;, by insisting that each algorithm produces a &quot;certificate&quot; of its answer in addition of the answer itself.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://erikdemaine.org/papers/SODA2000/&quot;&gt;Demaine, Lopez-Ortiz and Munro&lt;/a&gt; in 2000 used the concepts of certificates (they call them &quot;proofs&quot;) to show adaptive lower bounds on the computation of the union and intersection (and difference, but this one is trivial) of sorted sets. Don't exclude their work because they did not use certiticates to protect against computing errors: they showed that even though the certificate can be linear in the size of the instance in the worst case, it is often shorter, and hence can be &quot;checked&quot; in sublinear time (given random access to the input as a sorted array or a B-Tree), and in particular in time less than required to compute such a certificate. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;I have been using the concept of certificates on various other problems since seeing Ian Munro presenting their implementation at &lt;a href=&quot;http://erikdemaine.org/papers/ALENEX2001/&quot;&gt;Alenex 2001&lt;/a&gt;, and in particular for &lt;a href=&quot;http://arxiv.org/abs/1108.4408&quot;&gt;permutations&lt;/a&gt; (apologies for the shameless plug, another one is coming), where the certificate is shorter in the best case than in the worst or average case, which yields a compressed data structure for permutations. Here again, checking the certificate (i.e. the order) takes at most linear time, less than computing  it (i.e. sorting). &lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The concept is not always usefull for error checking: there are problems where checking the certificate takes as much time as producing it (or simply producing the result). Two examples come to mind, one trivial and one complicated, &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=200880&quot;&gt;Blum and Kannan&lt;/a&gt; (mentioned in the comments) give others.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The certificate for proving that an element is &lt;em&gt;not&lt;/em&gt; in an unsorted array of $n$ elements is obtained in $n$ comparisons and checked in the same time.&lt;/li&gt;&#xA;&lt;li&gt;The certificate for the convex hull in two and three dimensions, if the points are given in random order, takes as much bits to encode as comparisons to compute &lt;a href=&quot;https://cs.uwaterloo.ca/~tmchan/pub_os.html&quot;&gt;[FOCS 2009]&lt;/a&gt; (other shameless plug).&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;The library &lt;a href=&quot;http://www.mpi-inf.mpg.de/~mehlhorn/LEDAbook.html&quot;&gt;Leda&lt;/a&gt; is the most general effort (that I know of) toward making deterministic certificate-producing algorithms the norm in practice. &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=200880&quot;&gt;Blum and Kannan&lt;/a&gt;'s paper is the best effort I saw to make it the norm in theory, but they do show the limits of this approach. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hope it helps...&lt;/p&gt;&#xA;" OwnerUserId="191" LastEditorUserId="191" LastEditDate="2013-04-10T07:50:51.853" LastActivityDate="2013-04-10T07:50:51.853" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="17216" PostTypeId="1" AcceptedAnswerId="17220" CreationDate="2013-04-10T18:24:06.240" Score="3" ViewCount="430" Body="&lt;p&gt;I know the definition of the independent set problem in graph theory.  An independent set cannot contain any two adjacent vertices.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;How about if you allow no more than $k$ pairs of adjacent vertices?  Does this more general problem have a name?  Are there techniques for solving it?  In particular, are there any techniques for solving it with linear programming?&lt;/p&gt;&#xA;" OwnerUserId="490" LastEditorUserId="-1" LastEditDate="2013-04-13T19:23:25.787" LastActivityDate="2013-04-13T19:23:25.787" Title="Generalization of independent set" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;linear-programming&gt;&lt;independence&gt;" AnswerCount="2" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="17220" PostTypeId="2" ParentId="17216" CreationDate="2013-04-10T21:14:04.553" Score="7" Body="&lt;p&gt;Not exactly what you're looking for, but Dinur and Safra, in their &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.125.334&amp;amp;rep=rep1&amp;amp;type=pdf&quot;&gt;celebrated paper on the hardness of vertex cover&lt;/a&gt;, prove that the following promise problem is NP-hard for every fixed $r,\epsilon &amp;gt; 0$ (using the PCP theorem and Raz's parallel repetition theorem).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Instance: A graph $G$ whose vertex set is composed of $m$ sets $V_1,\ldots,V_m$ of size $r$, each of them forming an $r$-clique.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Problem: Distinguish between the following two cases:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;YES case: $G$ has an independent set of size $m$.&lt;/li&gt;&#xA;&lt;li&gt;NO case: Every set $A \subseteq V$ containing more than $\epsilon m$ vertices contains a clique of size $h = \lfloor \epsilon r^{1/c} \rfloor$ (where $c$ is some universal constant).&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;More explicitly, for any NP language $L$ there is a polytime $f$ mapping instances of $L$ to instances of this promise problem, in such a way that if $x \in L$ then $f(x)$ is a YES instance, and if $x \notin L$ then $f(x)$ is a NO instance.&lt;/p&gt;&#xA;" OwnerUserId="40" LastActivityDate="2013-04-10T21:14:04.553" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17225" PostTypeId="2" ParentId="17171" CreationDate="2013-04-11T15:57:56.953" Score="0" Body="&lt;p&gt;Following Suresh's observation that the problem consists of splitting the W x H rectangle into N rectangles, using as little ink as possible, I experimented with some things.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I wrote a brute-force algorithm (&lt;strong&gt;p_brute_force()&lt;/strong&gt; below) and observed a recursive pattern in the solution. The answer seemed to be breaking the W x H rectangle into two rectangles, for example W - i x H and i x H, in a way that a) obeys the constraints and b) minimizes ink for the sub-rectangles.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I implemented this recursion in the &lt;strong&gt;p()&lt;/strong&gt; algorithm below and, hurray, it matches the brute force answers for the tests below. I couldn't run many more tests because of the exponential time of the brute-force algorithm, but p() does seem to yield an optimal solution. I will have to think about the proof optimality, but I believe this to be the answer to the Drawing Challenge. If so, $Drawing Challenge \in P$   :)&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;import itertools&#xA;&#xA;mem_p = {}&#xA;def p(w, h, n):&#xA;    ident = (w, h, n)&#xA;    if ident in mem_p:&#xA;        return mem_p[ident]&#xA;    if n &amp;lt; 1 or w &amp;lt; 1 or h &amp;lt; 1:&#xA;        return None&#xA;    if w * h == n:&#xA;        return n * 4&#xA;    if n == 1:&#xA;        if w &amp;lt; h:&#xA;            return None&#xA;        return 2 * (w + h)&#xA;    ink = []&#xA;    for i in xrange(1, w):&#xA;        if i &amp;lt; h:&#xA;            continue&#xA;        try:&#xA;            ink.append(2 * (i + h) + p(w - i, h, n - 1))&#xA;        except TypeError:&#xA;            pass&#xA;    for i in xrange(1, h):&#xA;        if i &amp;gt; w:&#xA;            continue&#xA;        try:&#xA;            ink.append(2 * (i + w) + p(w, h - i, n - 1))&#xA;        except TypeError:&#xA;            pass&#xA;    v = None&#xA;    if ink:&#xA;        v = min(ink)&#xA;    mem_p[ident] = v&#xA;    return v&#xA;&#xA;&#xA;def intersect(r1, r2):&#xA;    return r1[0] &amp;lt; r2[1] and r1[1] &amp;gt; r2[0] and r1[2] &amp;lt; r2[3] and r1[3] &amp;gt; r2[2]&#xA;&#xA;def x_y_tuple(r):&#xA;    x1 = r[0]&#xA;    x2 = x1 + r[2]&#xA;    y1 = r[1]&#xA;    y2 = y1 + r[3]&#xA;    return (x1, x2, y1, y2)&#xA;&#xA;def line_length(c):&#xA;    return sum([2 * (v[2] + v[3]) for v in c])&#xA;&#xA;def p_brute_force(W, H, N):&#xA;    r = []&#xA;    for xi in range(W):&#xA;        for yi in range(H):&#xA;            # origin = (xi, yi)&#xA;            for w in range(1, W + 1 - xi):&#xA;                #for h in range(1, H + 1 - yi):&#xA;                for h in range(1, w + 1):&#xA;                    r.append((xi, yi, w, h))&#xA;    s = []&#xA;    for c in itertools.combinations(r, N):&#xA;        valid = True&#xA;        for r1, r2 in itertools.combinations(c, 2):&#xA;            if intersect(x_y_tuple(r1), x_y_tuple(r2)):&#xA;                valid = False&#xA;                break&#xA;        if valid:&#xA;            for v in c:&#xA;                if v[0] + v[2] &amp;gt; W or v[1] + v[3] &amp;gt; H:&#xA;                    valid = False&#xA;                    break&#xA;            if valid:&#xA;                area = sum([v[2] * v[3] for v in c])&#xA;                if not area == W * H:&#xA;                    continue&#xA;                #print 'found a valid solution'&#xA;                #print c&#xA;                #print 'ink = ', line_length(c)&#xA;                s.append(c)&#xA;    b = sorted(s, key=lambda v: line_length(v))&#xA;    if not b:&#xA;        return None&#xA;    #print 'best solution'&#xA;    #print b[0]&#xA;    #print 'ink = ', line_length(b[0])&#xA;    return line_length(b[0])&#xA;&#xA;import sys&#xA;print p(100, 100, 100)&#xA;sys.exit(0)&#xA;for i in range(1, 5):&#xA;    for j in range(1, 5):&#xA;        for k in range(1, min(5, i * j)):&#xA;            a = p(i, j, k)&#xA;            b = p_brute_force(i, j, k)&#xA;            if not a == b:&#xA;                print i, j, k&#xA;                print a, b&#xA;                print 'no match'&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;" OwnerUserId="10987" LastActivityDate="2013-04-11T15:57:56.953" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17226" PostTypeId="2" ParentId="8851" CreationDate="2013-04-11T16:13:06.163" Score="0" Body="&lt;p&gt;An example of a C++ implementation of an interactive proof system is the following paper:&#xA;Time-Optimal Interactive Proofs For Circuit Evaluation, by Justin Thaler. It is available at &lt;a href=&quot;http://people.seas.harvard.edu/~jthaler/&quot; rel=&quot;nofollow&quot;&gt;http://people.seas.harvard.edu/~jthaler/&lt;/a&gt;. It appears to be a step towards the goal of developing a practical implementation of general-purpose interactive proof systems.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Similar papers and related source codes appear at the website mentioned above.&lt;/p&gt;&#xA;" OwnerUserId="12867" LastEditorUserId="12867" LastEditDate="2013-04-22T17:16:57.593" LastActivityDate="2013-04-22T17:16:57.593" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="17227" PostTypeId="1" CreationDate="2013-04-11T16:36:44.617" Score="13" ViewCount="380" Body="&lt;p&gt;I am looking for a data structure that would maintain an integer table $t$ of size $n$, and allowing the following operations in time $O(\log n)$.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$\text{increase}(a,b)$, which increases $t[a],t[a+1],\ldots,t[b]$.&lt;/li&gt;&#xA;&lt;li&gt;$\text{decrease}(a,b)$, which decreases $t[a],t[a+1],\ldots,t[b]$.&lt;/li&gt;&#xA;&lt;li&gt;$\text{support}()$, which returns the number of indices $i$ such that $t[i]\neq 0$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;You have the promise that every call to decrease can be matched to a previous call to increase with the same parameters $a,b$. The application I have in mind is a sweepline algorithm to compute in time $O(n\log n)$ the area of the union of n given rectilinear rectangles. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A quad-tree would have size $\Theta(n^2)$, so it is not a solution. Fenwick or Interval trees have the right flavor, but I don't see how to extend them to support the operations above.&lt;/p&gt;&#xA;" OwnerUserId="15611" LastEditorUserId="5693" LastEditDate="2015-04-07T14:12:50.730" LastActivityDate="2015-05-07T20:15:21.007" Title="Data structure for updates on intervals and querying number of zeros" Tags="&lt;ds.data-structures&gt;&lt;cg.comp-geom&gt;" AnswerCount="2" CommentCount="9" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="17228" PostTypeId="1" CreationDate="2013-04-11T17:23:16.633" Score="8" ViewCount="197" Body="&lt;p&gt;&lt;strong&gt;Setting:&lt;/strong&gt; patterns with &quot;don't care&quot; symbols, binary alphabet.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, pattern $x = 001?$ represents the set $L(x) = \{0010, 0011\}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We are given a set $P$ of &lt;strong&gt;disjoint&lt;/strong&gt; patterns: $L(x) \cap L(y) = \emptyset$ for all $x, y \in P$, $x \ne y$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The task is to find the &lt;strong&gt;smallest possible&lt;/strong&gt; set of disjoint patterns $Q$ such that $P$ and $Q$ represent the same set of strings: $$\bigcup_{x \in P} L(x) = \bigcup_{y \in Q} L(y).$$&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Examples:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$P = \{01?, 1?0, ?01, 000, 111\}$, $Q = \{???\}$.&lt;/li&gt;&#xA;&lt;li&gt;$P = \{01?, 1?0, ?01, 000\}$, $Q = \{0??, 10?, 110\}$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question:&lt;/strong&gt; Does anyone recognise this problem? For example, is this a well-known NP-hard problem?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am mainly interested in positive results — efficient algorithms for exact solutions or good approximations. Algorithms that are exponential in anything (the number of patterns, the length of a pattern, the number of wildcards in a pattern) are too slow for my purposes.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Notes:&lt;/strong&gt; The problem is fairly easy to solve if we are lucky and there is a solution with $|Q| = 1$. Also it is fairly easy to verify that a given solution is feasible.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Motivation:&lt;/strong&gt; We encountered a closely related problem recently when we were doing &lt;a href=&quot;http://arxiv.org/abs/1304.5719&quot; rel=&quot;nofollow&quot;&gt;this work&lt;/a&gt;. Very briefly, our goal is to simplify a machine-generated case analysis by merging similar cases.&lt;/p&gt;&#xA;" OwnerUserId="74" LastEditorUserId="74" LastEditDate="2013-04-24T13:18:44.117" LastActivityDate="2013-04-24T13:18:44.117" Title="Simplifying the disjoint union of wildcard strings" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;fl.formal-languages&gt;&lt;string-matching&gt;" AnswerCount="0" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17229" PostTypeId="1" AcceptedAnswerId="17244" CreationDate="2013-04-11T18:51:50.057" Score="9" ViewCount="804" Body="&lt;h2&gt;Introduction&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;I'm writing my PhD thesis on &lt;a href=&quot;http://www.mhelvens.net/professional/publications?view=publication&amp;amp;task=show&amp;amp;id=3&quot; rel=&quot;nofollow&quot;&gt;Abstract Delta Modeling&lt;/a&gt; (ADM), an abstract algebraic description of modifications (known as &lt;em&gt;deltas&lt;/em&gt;) able to act on &lt;em&gt;products&lt;/em&gt; (as in 'software products'). This can be used to organize a set of related products (a 'product line') as a simple core product and a set of conditionally applied deltas, and thus enable greater re-use of the underlying artefacts.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The details of delta modeling are not &lt;em&gt;really&lt;/em&gt; important to my question, but ADM serves as a good example to explain the issue, so I will introduce the most important concepts.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Background&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;The main structure of interest is the &lt;em&gt;deltoid&lt;/em&gt; $(\mathcal P, \mathcal D, \cdot, \epsilon, \mathbf{[\kern-1pt[-]\kern-1pt]})$.&#xA;Products come from a universal set $\mathcal P$. Deltas come from a monoid $(\mathcal D, \cdot, \epsilon)$ with composition operator $\cdot : \mathcal D \times \mathcal D \to \mathcal D$ and neutral element $\epsilon \in \mathcal D$. The semantic evaluation operator $\mathbf{[\kern-1pt[-]\kern-1pt]} : \mathcal D \to 2^{\mathcal P \times \mathcal P}$ transforms a 'syntactic' delta $d \in \mathcal D$ into a relation $\mathbf{[\kern-1pt[}\,d\,\mathbf{]\kern-1.5pt]} \subseteq \mathcal P \times \mathcal P$ which decides how $d$ can modify a product.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Question&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;As ADM is an abstract algebra, most of my work abstracts from the concrete nature of products and deltas, and a number of results are proved without descending to a more concrete level. Those results are expected to carry over to a more concrete domain, but I haven't formalized this yet.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are examples and case studies that do work in a concrete domain: object oriented source-code, $\small\mathrm{\LaTeX}$ code, natural numbers, mobile phone profiles, etc. There are also some intermediate stages of abstraction such as nested key-value pairs. For each I redefine (or 'refine') $(\mathcal P, \mathcal D, \cdot, \epsilon, \mathbf{[\kern-1pt[-]\kern-1pt]})$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'd like to make this hierarchy explicit: &lt;em&gt;(1)&lt;/em&gt; to provide greater clarity for the reader and  &lt;em&gt;(2)&lt;/em&gt; to formally justify using results from more abstract levels.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;My question:&lt;/strong&gt; How should I formally organize these levels of abstraction?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm hoping to be able to reason with a simple refinement relation $\sqsubseteq$ on deltoids. And I feel like it could be defined simply by appealing to the subset relation on $\mathcal P$ and $\mathcal D$. But I'm not sure yet. Are there existing approaches to the kind of problem I'm describing? Publications I should read?&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;The Deltoid Hierarchy&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;To give you a better idea of what I mean, here's the deltoid abstraction hierarchy I have in mind:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Abstract Deltoid&lt;/strong&gt;: This is the basic deltoid in which products and deltas can still be anything. Most of the theory is based on this one and most results are proved on this level.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Relational Deltoid&lt;/strong&gt;: Here, deltas are relations on $\mathcal P$ and $\mathbf{[\kern-1pt[-]\kern-1pt]}$ is the identity function.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Functional Deltoid&lt;/strong&gt;: Here, deltas are functional (or 'deterministic').&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Natural Number Deltoid&lt;/strong&gt;: This is the simplest concrete deltoid, created just to illustrate deltoid refinement. Here, products $\mathcal P = \mathbb N$ are natural numbers and deltas $\mathcal D = \mathbb N^+$ are simple number sequences representing polynomial operations. &lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Nested Key-Value Pair Deltoid&lt;/strong&gt;: An intermediate level of abstraction for any hierarchy in which keys are mapped to values or to sub-hierarchies. Deltas can perform modifications in this 'tree' at any depth.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;OOP Deltoid&lt;/strong&gt;: For abstract representations of object-oriented programs. They are basically nested key-value pairs, because programs map module-names to sets of classes, which map class-names to sets of methods, which map method-names to method-implementations.&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;ABS Deltoid&lt;/strong&gt;: ABS is a real object oriented programming language.&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Phone Profile Deltoid&lt;/strong&gt;: Here, a product is a flat mapping of settings (such as volume, screen brightness, etc.) to values from a corresponding domain.&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;$\small\mathrm{\LaTeX}$ Deltoid&lt;/strong&gt;: Products are $\small\mathrm{\LaTeX}$ documents and deltas modify them by redefining macros.&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Well, that should give you a fair idea of what I have in mind. Note, by the way, that for any deltoid, $\mathbf{[\kern-1pt[-]\kern-1pt]}$ is a monoid homomorphism from $\mathcal D$ to the $\mathcal D'$ belonging to the corresponding relational deltoid.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The actual hierarchy may be larger. It may also be differently organized, based on what kind of refinement theory I'll use. For example, if I go for a simple subset-relation on $\mathcal P$ and $\mathcal D$ the ABS Deltoid would not fit under the Nested Key-Value Pair Deltoid, for its products and deltas are actually plain text (source-code). But the hierarchy as given may still work if I use homomorphisms.&lt;/p&gt;&#xA;" OwnerUserId="12644" LastEditorUserId="12644" LastEditDate="2013-04-14T09:45:24.780" LastActivityDate="2013-04-16T00:22:03.167" Title="Formal representation of an abstraction hierarchy" Tags="&lt;pl.programming-languages&gt;&lt;algebra&gt;&lt;monoid&gt;" AnswerCount="2" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17230" PostTypeId="1" CreationDate="2013-04-11T19:45:12.050" Score="4" ViewCount="235" Body="&lt;p&gt;I am looking for a NP-hardness reduction from an arbitrary problem to the Hamiltonian Path problem such that the reduced no-instances of Hamiltonian path are &quot;far&quot; from having a Hamiltonian path.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Do you know such a reduction? Or does there exist a list of reductions to Hamiltonian Path somewhere?&lt;/p&gt;&#xA;" OwnerUserId="10172" LastEditorUserId="-1" LastEditDate="2013-04-13T19:23:10.067" LastActivityDate="2013-04-13T19:23:10.067" Title="Complexity reductions to Hamiltonian Path?" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;&lt;reductions&gt;&lt;hamiltonian-paths&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17232" PostTypeId="2" ParentId="17216" CreationDate="2013-04-12T03:48:18.510" Score="3" Body="&lt;p&gt;See Sherali and Smith's 2006 paper &lt;em&gt;&lt;a href=&quot;http://link.springer.com/article/10.1007/s10107-004-0504-0&quot; rel=&quot;nofollow&quot;&gt;A polyhedral study of the generalized vertex packing problem&lt;/a&gt;&lt;/em&gt;. They consider a subset of vertices whose induced subgraph has at most $k$ edges.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are many &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0377221712007679&quot; rel=&quot;nofollow&quot;&gt;other generalizations of independent set and clique&lt;/a&gt;, based on &lt;a href=&quot;http://link.springer.com/article/10.1007/s11590-009-0146-5&quot; rel=&quot;nofollow&quot;&gt;degree&lt;/a&gt;, &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0166218X12002843&quot; rel=&quot;nofollow&quot;&gt;density&lt;/a&gt;, number of edges, distance, &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S1572528612000163&quot; rel=&quot;nofollow&quot;&gt;diameter&lt;/a&gt;, etc. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Independent sets go by other names (e.g., vertex packing, stable set, anticlique), so you might search for them as well.&lt;/p&gt;&#xA;" OwnerUserId="13056" LastActivityDate="2013-04-12T03:48:18.510" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17234" PostTypeId="1" CreationDate="2013-04-12T04:31:36.673" Score="2" ViewCount="81" Body="&lt;p&gt;Consider the following integer program (general covering):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\min c \cdot x$ subject to&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$Ax \ge b$,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where all entries in $A, b, c$ are nonnegative and $x$ is required&#xA;to be nonnegative and integral.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In Vazirani, it is an exercise to show that an $O( \log n )$-approximation algorithm exists,&#xA;where $A$ is an $n$ by $m$ matrix.  Could someone give me a reference&#xA;on how to do this? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In particular, I am interested in the case when $x$ is required to be binary, and in the use of linear programming to approximate.&lt;/p&gt;&#xA;" OwnerUserId="13525" LastEditorUserId="-1" LastEditDate="2013-04-13T19:23:18.067" LastActivityDate="2013-04-13T19:23:18.067" Title="General covering approximation" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;approximation-algorithms&gt;&lt;linear-programming&gt;&lt;integer-programming&gt;" AnswerCount="0" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17235" PostTypeId="2" ParentId="17230" CreationDate="2013-04-12T06:42:56.297" Score="11" Body="&lt;p&gt;For undirected graphs, you can build a graph $G$ for every constant $0&amp;lt;c&amp;lt;1$ from an $n$-variate CNF SAT instance $I$ such that &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$G$ has $N=\operatorname{poly}(n)$ vertices&lt;/li&gt;&#xA;&lt;li&gt;If $I$ is satisfiable, then $G$ has a Hamiltonian cycle&lt;/li&gt;&#xA;&lt;li&gt;If $I$ is not satisfiable, then $G$ has no path of length $N-N^c$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary;jsessionid=2819BBB1447F33A6A69B556B78508B5C?doi=10.1.1.52.8469&quot;&gt;Karger Motwani Ramkumar 1997&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For directed graphs, you can build a graph $G$ for every constant $0&amp;lt;c&amp;lt;1$ from an $n$-variate CNF SAT instance $I$ such that &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$G$ has $N=\operatorname{poly}(n)$ vertices&lt;/li&gt;&#xA;&lt;li&gt;If $I$ is satisfiable, then $G$ has a Hamiltonian cycle&lt;/li&gt;&#xA;&lt;li&gt;If $I$ is not satisfiable, then $G$ has no path of length $N^{1-c}$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.105.262&quot;&gt;Björklund Husfeldt Khanna 2004&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="679" LastActivityDate="2013-04-12T06:42:56.297" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17236" PostTypeId="1" CreationDate="2013-04-12T07:32:04.713" Score="4" ViewCount="318" Body="&lt;p&gt;As the title. The dynamic algorithm maintains the transitive closure of a tree when the tree undergoes a series of edge insertions (but no deletions)? And the algorithm supports constant query time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The paper (G.F. Italiano. Amortized efficiency of a path retrieval data structure. Theoretical Computer Science, 48(2–3):273–281, 1986.) introduces an algorithm for maintaining the transitive closure of a graph with O(n) amortized time pre  insertion. I wonder whether better algorithm exists for trees?&lt;/p&gt;&#xA;" OwnerUserId="12512" LastEditorUserId="-1" LastEditDate="2013-04-13T19:23:23.207" LastActivityDate="2013-04-14T18:15:27.127" Title="What is the fastest deterministic algorithm for incremental dynamic tree reachability?" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;ds.data-structures&gt;&lt;dynamic-algorithms&gt;" AnswerCount="1" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="17237" PostTypeId="1" AcceptedAnswerId="17245" CreationDate="2013-04-12T10:09:24.537" Score="2" ViewCount="380" Body="&lt;p&gt;I am building a set of constraints of the kind $x &amp;lt; y$ and $x \leq y$, where $&amp;lt;$ is a strict order and $\leq$ is a non-strict order on the same set, and $x$ and $y$ are abstract variables representing elements of the set.  The laws that relate the two orderings are the same as $&amp;lt;$ and $\leq$ for integers.  I need to make sure that each constraint that I add does not make the set inconsistent (e.g. adding $x &amp;lt; y$ and then $y &amp;lt; x$ I'd get an error).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, if I had only the $&amp;lt;$ constraints I could get away with generating a graph and then doing a topological sort, or with disjoint-sets.  The problem is that I'm not sure how to handle the additional $\leq$ constraints.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One idea is to express $x \leq y$ as $\neg (x &amp;gt; y)$, and to keep two graphs:  one for the actual $&amp;lt;$ relations and one for the negated ones.  Then we'd need to check, at each new constraints, whether there are overlapping paths between the two graphs, in which case we'd have a problem.  However this seems rather costly since it seems to me that we'd need to analyze all the pairs each time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another idea would be to 'collapse' $\leq$ relations to equalities or $&amp;lt;$ when needed, but again I'm quite uncertain on the details.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is this problem described somewhere?  As a bonus, I'd like the data structures involved to be purely functional.&lt;/p&gt;&#xA;" OwnerUserId="15617" LastEditorUserId="-1" LastEditDate="2013-04-13T19:23:34.707" LastActivityDate="2013-04-13T19:23:34.707" Title="Verifying consistency of strict and non-strict partial orders constraints" Tags="&lt;ds.algorithms&gt;&lt;graph-algorithms&gt;&lt;ds.data-structures&gt;&lt;partial-order&gt;" AnswerCount="1" CommentCount="13" ContentLicense="CC BY-SA 3.0" />
  <row Id="17238" PostTypeId="2" ParentId="608" CreationDate="2013-04-12T13:56:56.997" Score="1" Body="&lt;p&gt;Here are two examples, both related to continuous vs. discrete models:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Suppose there is an (infinitesimally small) treasure hidden in the $[0,1]$ interval, in position $x$. We want to find the treasure by digging. Whenever we dig in position $y$, we get feedback of whether $x&amp;lt;y$, $x=y$ or $x&amp;gt;y$. Obviously, if $x$ can be any real number, then any search algorithm may never terminate. $|x-y|$ may be very small, but we might never arrive at $y=x$.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, we can extend the search model to allow continuous sweeping. In this model, we just let $y$ run continuously over the $[0,1]$ interval, and get feedback whenever $y=x$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The motivation for problem A comes from the problem of &lt;a href=&quot;http://en.wikipedia.org/wiki/Envy-free_division&quot; rel=&quot;nofollow&quot;&gt;envy-free cake division&lt;/a&gt;. &lt;a href=&quot;http://www.citeulike.org/user/erelsegal-halevi/article/12221567&quot; rel=&quot;nofollow&quot;&gt;Stromquist showed&lt;/a&gt;, that no finite protocol (even if unbounded) can guarantee an envy-free division of a cake among three or more players, if each player is to receive a single connected piece.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, as &lt;a href=&quot;http://www.citeulike.org/user/erelsegal-halevi/article/12220100&quot; rel=&quot;nofollow&quot;&gt;Aumann and Dombb explained later&lt;/a&gt;, this result applies only to a discrete cutting model, where &quot;In each step, the protocol selects a player $i$ and a real number $\alpha$, and invites player $i$ to make a mark at the unique point $x$ for which $vi(0,x) = \alpha$&quot;, &quot;and not for cases where, for example, some mediator has full information of the players’ valuation functions and proposes a division based on this information&quot;.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Additionally, the result does not relate to algorithms with continuous operations, such as moving-knife procedures.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="9453" LastEditorUserId="-1" LastEditDate="2013-04-13T19:27:01.160" LastActivityDate="2013-04-13T19:27:01.160" CommentCount="0" CommunityOwnedDate="2013-04-12T13:56:56.997" ContentLicense="CC BY-SA 3.0" />
  <row Id="17239" PostTypeId="1" CreationDate="2013-04-12T15:22:27.263" Score="6" ViewCount="901" Body="&lt;p&gt;the following problem/question seems fundamental/hard. it appears in some circuit theory proofs, graph theory, and maybe elsewhere. looking for any nontrivial insight. will add various known/nearby diverse refs if there is sufficient interest.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;consider the problem of &lt;em&gt;monotone&lt;/em&gt; k-CNF ←→ k-DNF conversion by minimizing errors where $k$ is the &lt;em&gt;maximum&lt;/em&gt; width of clauses (number of variables in the clause). let $f(x)$ be a k-CNF formula where $x$ is a bitvector (denoting the boolean values of all the variables). there exists a k-DNF &quot;approximation&quot; formula $g(x)$ that &quot;approximates $f(x)$&quot; by minimizing total errors under the following metric. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;evaluate $f(x)$ and $g(x)$ on every $x$. if $g(x)=1$ while $f(x)=0$ then count one &quot;false positive&quot;. if $g(x)=0$ while $f(x)=1$ then count one &quot;false negative&quot;. the total errors are the sum of &quot;false positives&quot; and &quot;false negatives&quot;. another way of looking at this &quot;natural&quot; error metric is that its the Hamming distance between the two bitvectors of size $2^n, n=|x|$ composed of all &quot;corresponding values&quot; of $f(x)$ and $g(x)$ (eg function value column for both functions evaluated on the same truth table).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;there is a dual version k-DNF → k-CNF approximation in the opposite direction that has mirrored theory.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;ol&gt;&#xA;  &lt;li&gt;how does one determine the optimal $g(x)$ given $f(x)$?&lt;/li&gt;&#xA;  &lt;li&gt;which &quot;types&quot; of functions $f(x)$ are harder or easier to approximate in the&#xA;  sense of errors (high vs low errors, respectively)?&lt;/li&gt;&#xA;  &lt;/ol&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;(note: suspect there may be some transition-point-like behavior associated with the problem.)&lt;/p&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="-1" LastEditDate="2013-04-13T19:23:02.313" LastActivityDate="2013-04-13T19:23:02.313" Title="k-CNF ←→ k-DNF conversion to minimize errors" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;circuit-complexity&gt;&lt;approximation&gt;&lt;boolean-formulas&gt;" AnswerCount="0" CommentCount="2" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="17242" PostTypeId="1" AcceptedAnswerId="17249" CreationDate="2013-04-12T18:17:26.120" Score="13" ViewCount="1220" Body="&lt;p&gt;I’m looking for a small graph $G$ whose vector chromatic number is smaller than the chromatic number, $\chi_v(G)&amp;lt;\chi(G)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;($G$ has vector chromatic number $q$ if there is an assignment $x\colon V \rightarrow \mathbf R^d$, where intuitively the vectors associated with neighbouring vertices are far apart. The requirement is $\langle x(v), x(w)\rangle \leq -1/(q-1)$. For example, for $q=3$, the vertices of a triangle suffice.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A graph’s vector chromatic number is no larger than the chromatic number: $\chi_v(G)\leq \chi(G)$. Examples are known of graphs with $\chi_v(G)=3$ $\chi(G)=n^\delta$. (The original paper by Karger, Motwani, Sudan [JACM, 45:246-265] (&lt;a href=&quot;http://people.csail.mit.edu/karger/Papers/color.ps&quot; rel=&quot;nofollow&quot;&gt;manuscript&lt;/a&gt;) suggests generalised Kneser graphs, a more recent paper uses a construction based on random unit vectors.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think I have an example graph $K$ with $\chi_v(K)=4$ and $\chi(K)=8$ (based on computer calculation). This graph has 20 vertices and 90 edges.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a smaller example? A tempting avenue would be to provide a concrete vector 3-colouring of the Chvatal or Grötzsch graph, if such a beast exists.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;($\chi_v$ need not be an integer, but it would be nice. Update: As pointed out below, the nonintegral case is indeed easy. Thanks.)&lt;/p&gt;&#xA;&#xA;&lt;h3&gt;Update: Grötzsch and Chvátal&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;I couldn’t resist thinking about vector 3-colouring the Chvátal and Grötzsch graphs. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The Grötsch graph can be vector 3-coloured as follows: Put the degree five node on the North pole. The 5 degree-4 nodes are evenly placed on the same latitude, around 77 degrees from North: imagine a pentragram painted on Earth’s northern hemisphere. The remaining 5 nodes (of degree 3) end up on the Southern hemisphere, around 135 degree from North. The have the same longitude as the 5 others. (I’ll upload a drawing when I have one, but it’s harder to draw geodesic lines in TikZ than I thought.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;According to an SDP solver, Chvátal also admits a vector 3-colouring, but the output is just a bunch of vectors in 5 dimensions that I have difficulties interpreting.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(A third attempt failed: Inspired by Yury’s construction, take the 5-cycle and add an apex vertex adjacent to all the others. This graph has chromatic number 4. But according to my solver it is not vector 3-colourable.)&lt;/p&gt;&#xA;" OwnerUserId="5095" LastEditorUserId="5095" LastEditDate="2013-04-16T12:40:52.687" LastActivityDate="2013-04-17T06:49:02.063" Title="Small graph with gap between chromatic and vector chromatic number?" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;graph-algorithms&gt;&lt;graph-colouring&gt;" AnswerCount="2" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="17243" PostTypeId="2" ParentId="9561" CreationDate="2013-04-13T06:25:57.450" Score="5" Body="&lt;p&gt;Assuming the strings have length polynomial in $n$, then yes, there is at least a $2^{n-\Omega(\sqrt{n/\log n})}$ time solution. The reason is the well-known reduction from the shortest common superstring problem to ATSP with polynomial sized integer weights, which you in turn can solve by polynomial interpolation if you can count Hamiltonian cycles in a directed multigraph.&#xA;The latter problem has a $2^{n-\Omega(\sqrt{n/\log n})}$ time solution.&#xA;&lt;a href=&quot;http://arxiv.org/abs/1211.0391&quot;&gt;Björklund 2012&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The reduction from ATSP with weights $w_{uv}$ for each pair of vertices $u,v$ to Hamiltonian cycle counting goes as follows:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For $r=1,2,\cdots,w_\mbox{sum}$, where $w_\mbox{sum}$ is an upper bound on all sums of $n$ weights in the ATSP instance, build one graph $G_r$ where you replace each weight $w_{uv}$ with $r^{w_{uv}}$ arcs from $u$ to $v$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By solving the Hamiltonian cycle counting for each $G_r$, you can via polynomial interpolation construct a polynomial $\sum_{l=0}^{w_\mbox{sum}} a_lr^l$ with $a_l$ equal to the number of TSP tours in the original graph of weight $l$. Hence locating the smallest $l$ such that $a_l$ is non-zero solves the problem.&lt;/p&gt;&#xA;" OwnerUserId="679" LastEditorUserId="679" LastEditDate="2013-04-13T08:46:55.353" LastActivityDate="2013-04-13T08:46:55.353" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="17244" PostTypeId="2" ParentId="17229" CreationDate="2013-04-13T06:37:55.373" Score="8" Body="&lt;p&gt;I believe it would be beneficial for you to look up the theory of abstract interpretation, which provides very thorough answers to similar questions in the slightly different area of lattice-based program analysis. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It appears to me that you are using a framework based on algebras. I'm using the word algebra here in the sense of universal algebra, where I assume that constraints on the structure of the algebra are given by equalities between terms. There are two different senses in which abstractions (or hierarchies) enter the picture.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Abstraction as a relationship between two specific algebras.You might want to say that one algebra has a richer structure than another algebra, or that every problem you can solve with one algebra you can solve with the other. This kind of relationship is what would be formalised buy homomorphisms, or some other mapping between algebras.&lt;/li&gt;&#xA;&lt;li&gt;Abstraction hierarchies as families of algebras. In your case, these would be families of deltoids with certain properties. As a more general example, consider all partially ordered sets. We can think of lattices, distributive lattices, and Boolean lattices as a sequence of sub-families that have richer properties. &lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;The two notions are closely related but different. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Abstraction between two structures&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The insight of abstract interpretation is that it is useful to endow the structures you consider with a notion of order. Consider two structures&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;$(M, f_M)$ and $(N, f_N)$, with $f_M: M \to M$ and $f_N:N \to N$ as the operations of interest.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;A homomorphism in the universal algebra sense would look something like this:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;$h:M \to N$ is a function satisfying the equality $h(f_M(a)) = f_N(h(a))$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;We can view the two structures appearing above as pre-ordered structures&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;$(M, =, f_M)$ and $(N, =, f_N)$&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;and the homomorphism we can rewrite to be a function satisfying&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;ol&gt;&#xA;  &lt;li&gt;that if $a = b$ then $h(a) = h(b)$, and&lt;/li&gt;&#xA;  &lt;li&gt;for all $a$ in $M$,  $h(f_M(a)) = f_N(h(a))$.&lt;/li&gt;&#xA;  &lt;/ol&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Now, suppose you have some other notion of approximation available that makes sense. For example, when we deal with sets of states in program verification, subset inclusion makes sense for certain application, or when dealing with formulae in automated deduction, implication makes sense. More generally, we can consider&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;$(M, \preceq, f_M)$ and $(N,\sqsubseteq, f_N)$, where  $\preceq$ and $\sqsubseteq$ are preorders.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Now, instead of homomorphism, we can have an &lt;em&gt;abstraction function&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;$\alpha: M \to N$ which is&lt;/p&gt;&#xA;  &#xA;  &lt;ol&gt;&#xA;  &lt;li&gt;monotone, meaning that whenever $a \preceq b$ we have $\alpha(a) \sqsubseteq \alpha(b)$, and&lt;/li&gt;&#xA;  &lt;li&gt;semi-commutes with the operations: $\alpha(f_M(a)) \sqsubseteq f_N(\alpha(a))$ for all $a$ in $M$.&lt;/li&gt;&#xA;  &lt;/ol&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The abstraction function makes explicit the idea that if the structure over $N$ is an abstraction of the structure over $M$, then evaluating a term in $N$ cannot produce more precise results (with respect to the notion of approximation in $N$) than evaluating the same term in $M$ and then mapping it to $N$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now we can ask if it is necessary to approach the problem in terms of abstraction as opposed to refinement. Meaning, can we not say that $M$ is a refinement of $N$ and formulate conditions in terms terms. This is exactly what a &lt;em&gt;concretisation function&lt;/em&gt; does. &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;A &lt;em&gt;concretisation function&lt;/em&gt; $\gamma: N \to M$ is &lt;em&gt;monotone&lt;/em&gt; and satisfies the inequality $f_M(\gamma(b)) \preceq \gamma(f_N(b))$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The abstraction and concretisation conditions are called soundness conditions in abstract interpretation. In the special case that $\alpha$ and $\gamma$ form a Galois connection, the abstraction and concretisation conditions are equivalent. In general, they are not equivalent.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Everything we have done so far only formalises the notion of abstraction between a pair of structures. The things I have said can be summarised far more succinctly in the language of category theory. I have avoided categories because of your comment above.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Abstraction Hierarchies&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose we have a structure $\mathcal{M}$ endowed with a preorder and some operations. We can consider all structures $\mathcal{N}$ such that $\mathcal{N}$ is an abstraction of $\mathcal{M}$ in the sense above. If we have that $\mathcal{N}_1$ is an abstraction of $\mathcal{N}_2$ and both are abstractions of $\mathcal{M}$, we have three elements of the hierarchy. The relation &lt;em&gt;`is an abstraction of'&lt;/em&gt; allows us to define a preorder between structures. Let us call a family of structures ordered by abstraction a &lt;em&gt;hierarchy&lt;/em&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If I consider your example, it appears that your abstract deltoid may be a candidate for the maximal element in some hierarchy. I'm not entirely sure because the abstract deltoid appears to be a family of deltoids rather than a specific deltoid.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What you can now do is consider different hierarchies. The hierarchy of all deltoids. A sub-hierarchy based on various considerations you have above. A specific example in the abstract interpretation context is a hierarchy of complete lattices that are in a Galois connection with a given powerset lattice, and sub-hierarchies consisting of only distributive or only Boolean lattices.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As Martin Berger points out in the comments, this notion of abstraction between hierarchies is captured by that of adjunctions between categories.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;A Categorical Perspective&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There was a comment requesting for more comments on categories. That comment is no longer there but I will respond anyway.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let's step back and look at what you are doing in designing deltoids and what I have described above from a more general perspective. We are interested in understanding the essential structure of the entities we manipulate in a software context and the relationship between these entities. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The first important realisation is that we are not just interested in a set of elements but in the operations that we can perform on those elements and the properties of those operations. This intuition drives the design of classes in object oriented programming and the definition of algebraic structures. You have already made this intuition explicit in the definition of a deltoid which has identified a few operations of interest. More generally, this is the thought process underlying algebraic descriptions. We need to identify what our operations are and what properties they have. This step tell us the type structure that we are working with.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The second realisation is that we are not just interested in a set of elements but abstraction relationships. The simplest formalisation I can imagine of abstraction is to consider a preordered set. We can think of a preordered set as a strict generalisation of a set to something that comes with a notion of approximation baked in.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We ideally want to work in a setting where both the insights above are first-class citizens.  Meaning, we want a typed setting like that of an algebra, but also the approximation aware setting of a preorder. A first step in this direction is to consider a lattice. A lattice is a conceptually interesting structure because we can define it in two equivalent ways.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;We can define a lattice equationally as a set $(L, \sqcap, \sqcup)$ equipped with a meet and a join operation. We can then &lt;em&gt;derive&lt;/em&gt; the partial order by defining $a \sqsubseteq b$ to hold whenever $a \sqcap b = a$. &lt;/li&gt;&#xA;&lt;li&gt;An alternative is to define a lattice as a partially ordered set $(L, \sqsubseteq)$ satisfying that every pair of elements in $L$ has a unique greatest lower bound and least upper bound. We can then &lt;em&gt;derive&lt;/em&gt; the meet and join operations from the partial order.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;A lattice is thus a mathematical structure which can be approached from the algebraic or the approximation perspective. The shortcoming here is that the elements of a lattice themselves do not possess a type structure that is factored into the approximation relationship. Meaning, we cannot compare elements based on the notion of having more or less structure. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the context of your problem, you can think of categories as a natural generalisation of preorders that capture both the notion of approximation (in the morphisms) and type structure in an algebraic setting. The setting of category theory allows us to dispense with various unnecessary distinctions and focus on the structure of entities you care about and approximation of that structure. Universal properties and adjunctions give you a very powerful vocabulary and tools to understand the landscape of structures you are interested in and enables a rigorous mathematical treatment of even intuitive notions like different levels of abstraction.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Regarding my comment about abstract deltoids, it appears that what you want is a category. The abstract deltoid is a specific category analogous to the category of sets. There are other categories you are considering. I initially thought you were defining a deltoid that in the sense of category theory would be a terminal (or final) object. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;You are studying the kind of questions that category theory provides a very satisfying answers for. I hope you will be able to come to that conclusion yourself.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;References&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.di.ens.fr/~cousot/COUSOTpapers/JLP92.shtml&quot; rel=&quot;nofollow&quot;&gt;Abstract interpretation and application to logic programs&lt;/a&gt;, Patrick Cousot and Radhia Cousot. The first half of this article is a general tutorial style introduction to the topic of abstract interpretation.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.di.ens.fr/~cousot/COUSOTpapers/JLC92.shtml&quot; rel=&quot;nofollow&quot;&gt;Abstract interpretation frameworks&lt;/a&gt;, Patrick Cousot and Radhia Cousot. This article discusses all the possibilities I sketched above concerning abstraction and concretisation functions in great detail.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.di.ens.fr/~cousot/COUSOTpapers/POPL79.shtml&quot; rel=&quot;nofollow&quot;&gt;Systematic Design of Program Analysis Frameworks&lt;/a&gt;, Patrick Cousot and Radhia Cousot. This was the paper which introduced the notion of hierarchies of abstractions in the program analysis context. &lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://arxiv.org/abs/cs/0401016&quot; rel=&quot;nofollow&quot;&gt;Generalized Strong Preservation by Abstract Interpretation&lt;/a&gt;, Francesco Ranzato and Francesco Tapparo. This paper applies these ideas in a different context of abstractions that preserve temporal logic formulae. You will find worked examples of Boolean and distributive abstractions here.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://logcom.oxfordjournals.org/content/1/1/5.abstract&quot; rel=&quot;nofollow&quot;&gt;Abstract Interpretation, Logical Relations, and Kan Extensions&lt;/a&gt;, Samson Abramsky. Presents a category theory perspective on the order theoretic material above.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="4155" LastEditorUserId="4155" LastEditDate="2013-04-16T00:22:03.167" LastActivityDate="2013-04-16T00:22:03.167" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="17245" PostTypeId="2" ParentId="17237" CreationDate="2013-04-13T06:57:50.387" Score="2" Body="&lt;p&gt;You may find it helpful to think of your problem in terms of equalities and strict inequalities. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the case of the constraints being equalities or disequalities there is a simple saturation procedure based on transitivity of equality.  Strict inequalities can be represented by directed edges in a graph. You can then compute strongly connected components to reason about dependencies between sets of variables. If you have uninterpreted functions, you can use congruence closure.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would imagine that the first results date to the 50s or at least the 70s, but I do not have a good reference for you. Recent literature in which these ideas occur is the paper below.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;a href=&quot;http://www.georg.weissenbacher.name/papers/hvc09.pdf&quot; rel=&quot;nofollow&quot;&gt;An Interpolating Decision Procedure for Transitive Relations with Uninterpreted Functions&lt;/a&gt;, Georg Weissenbacher.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="4155" LastActivityDate="2013-04-13T06:57:50.387" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17247" PostTypeId="1" AcceptedAnswerId="17253" CreationDate="2013-04-13T18:07:07.767" Score="3" ViewCount="2139" Body="&lt;p&gt;One of the most interesting questions in computer science is of course whether $P = NP$ or $P \neq NP$. If one wants to prove that $P \neq NP$ one can try to prove that an NPC problem is not solvable in polynomial time. However, I can't quite figure out how it would be possible to prove such a thing. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;How can you prove that there is no better solution possible to a problem than a solution which has a certain time complexity? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I understand that there are no problems known in NP for which is proven that it cannot be solved in polynomial time, but are there problems known for which a proof does exists that it cannot be solved in for example constant or linear time? Perhaps an example of such a problem can help me understand this better.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT: If you down vote this question could you please at least post a comment why you did so? I'd love to improve my question, but down votes alone don't tell me what I did wrong.&lt;/p&gt;&#xA;" OwnerUserId="15631" LastEditorUserId="15631" LastEditDate="2013-04-14T09:34:56.497" LastActivityDate="2013-04-17T18:57:38.167" Title="How can you prove that a problem is not solvable in a certain time complexity?" Tags="&lt;cc.complexity-theory&gt;&lt;time-complexity&gt;&lt;np-complete&gt;" AnswerCount="3" CommentCount="7" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17248" PostTypeId="1" CreationDate="2013-04-13T20:46:38.057" Score="0" ViewCount="144" Body="&lt;p&gt;So I can find the &lt;a href=&quot;http://en.wikipedia.org/wiki/Clique_percolation_method&quot; rel=&quot;nofollow&quot;&gt;Wiki&lt;/a&gt; article okay, as I think I understand that this is a definition of a special community in a graph.  However their image in Fig. 1 confuses me from the description.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As I understand it, the definition of a clique percolation within a graph is:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;You have a set of k-maximal cliques, which contain k nodes.&lt;/li&gt;&#xA;&lt;li&gt;You are said to have k-adjacent cliques if each k-maximal cliques are connected by (k-1)-nodes.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;So a graph that was (1)&amp;lt;--&gt;(2)&amp;lt;--&gt;(3) could be considered a community because it has 2 2-maximal cliques, [[1,2], [2,3]], and each of them are connected by 1 vertex. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Am I reading the Wiki correctly, because I feel like I'm missing something. Thanks for any help your able to lend.&lt;/p&gt;&#xA;" OwnerUserId="15632" LastActivityDate="2015-02-08T09:37:32.733" Title="Help with the definition of clique percolation" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;clique&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17249" PostTypeId="2" ParentId="17242" CreationDate="2013-04-13T21:10:39.467" Score="7" Body="&lt;p&gt;I make my comment an answer.&#xA;If we don't require that $\chi_v(G)$ is an integer then the smallest example is $G=C_5$ (a cycle on 5 vertices):&#xA;$$\chi_v(C_5) = \sqrt{5} &amp;lt; 3 = \chi(C_5) . \qquad\text{[Lovász]}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's not hard to transform this example to an example where $\chi_v(G)$ is integer. Let $G_1$ be a union of two 5-cycles $C_5^{(1)}$ and $C_5^{(2)}$ in which every vertex from $C_5^{(1)}$ is connected to every vertex in $C_5^{(2)}$. Let $G_2=K_5$. Finally, let $G$ be the union of $G_1$ and $G_2$. Then&#xA;\begin{align*}&#xA;\chi(G) &amp;amp;= \max(\chi(G_1), \chi(G_2)) = \chi(G_1) = 6.\\&#xA;\chi_v(G) &amp;amp;= \max(\chi_v(G_1), \chi_v(G_2)) = \max(2\cdot \sqrt{5}, 5) = 5.&#xA;\end{align*}&lt;/p&gt;&#xA;" OwnerUserId="9929" LastActivityDate="2013-04-13T21:10:39.467" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17250" PostTypeId="2" ParentId="8360" CreationDate="2013-04-13T22:34:38.970" Score="6" Body="&lt;p&gt;Yes!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Use a two-level structure as discussed at the end of Section 2 of the Dietz and Sleator paper. For the top structure, use a scapegoat tree. By using a balance factor that can be implemented in $AC^0$ (like $2$), we get the result.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See also &lt;a href=&quot;http://opendatastructures.org/ods-cpp/8_2_Discussion_Exercises.html&quot;&gt;exercise 8.12 from open data structures&lt;/a&gt; and &lt;a href=&quot;http://users-cs.au.dk/gerth/alcom-ft/TR/ALCOMFT-TR-01-167.ps.gz&quot;&gt;Roura's &quot;A new method for balancing binary search trees&quot;&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="43" LastActivityDate="2013-04-13T22:34:38.970" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17251" PostTypeId="1" AcceptedAnswerId="17259" CreationDate="2013-04-13T23:27:05.543" Score="9" ViewCount="288" Body="&lt;p&gt;Please excuse the terseness of the title, I may have sacrificed clarity on the altar of conciseness.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One can see that inserting elements of an array into a binary search tree and reading them back out requires (on insertion) the same comparisons as running Quicksort on that array. The sequence of pivots that Quicksort uses is the sequence of insertions into the binary search tree.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is also trivially true for Heapsort and heaps, since Heapsort is literally doing such a series of insertions and then reading the elements back out.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does there exist an analog of this in the case of, say, Mergesort? Is there a deeper connection here, or is it an interesting coincidence between data structures and sorting algorithms?&lt;/p&gt;&#xA;" OwnerUserId="15633" LastActivityDate="2013-04-14T17:32:07.667" Title="Heapsort:Heaps =~ Quicksort:BSTs =~ Mergesort:___?" Tags="&lt;ds.algorithms&gt;&lt;ds.data-structures&gt;&lt;sorting&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17252" PostTypeId="1" AcceptedAnswerId="17374" CreationDate="2013-04-14T01:21:35.953" Score="3" ViewCount="533" Body="&lt;p&gt;Given a list of compact axis-aligned intervals (in 1-D), rectangles (in 2-D), cuboids (3-D) etc, what is the maximum number that overlap at any point?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In 1-D there's a fairly simple solution that exploits the the ordering of R: assuming you have a set of pairs $\{[a_1,b_1],...,[a_n,b_n]\}$ sort all of the a's and b's (together) then scan from a_min to b_max adding one to the count of overlap whenever you encounter $a_i$ for any i and subtracting one whenever you see a $b_j$ for any j. Then just keep track of the maximum value of count that you see.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm not sure how to extend this to 2-D, let alone n-D. Any ideas? &lt;/p&gt;&#xA;" OwnerUserId="1367" LastEditorUserId="1367" LastEditDate="2013-04-14T02:14:06.527" LastActivityDate="2013-04-23T17:48:32.897" Title="Number of Maximum Overlap in n-Dimensions" Tags="&lt;cg.comp-geom&gt;" AnswerCount="2" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="17253" PostTypeId="2" ParentId="17247" CreationDate="2013-04-14T08:40:13.837" Score="6" Body="&lt;p&gt;All computation is done in a model (simplifying, a model describes the list of instructions allowed), and all computational lower bounds (the smallest amount of instructions required to prove a problem) depend of the model in which they are described. &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Did you mean to say that &quot;&lt;em&gt;there are no problems &lt;strong&gt;in NP&lt;/strong&gt; for which it is proven that it cannot be solved in polynomial time&lt;/em&gt;&quot;?&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The statement &quot;&lt;em&gt;there are no problems known for which is proven that it cannot be solved in polynomial time&lt;/em&gt;&quot; is just not true (that is, in any computational model I know): see simply the page &lt;a href=&quot;http://en.wikipedia.org/wiki/P_(complexity)&quot;&gt;http://en.wikipedia.org/wiki/P_(complexity)&lt;/a&gt;, section &quot;Relationships to other classes&quot;, stating that &quot;P is strictly contained in EXPTIME. Consequently, all EXPTIME-hard problems lie outside P&quot;. &lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;As for &quot;&lt;em&gt;problems known for which a proof does exists that it cannot be solved in for example constant or linear time&lt;/em&gt;&quot;, I give two examples (there are many others!), along with the corresponding computational models:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;In a model where each instruction can query only one element in an array, consider the problem of deciding if an element $x$ is present in an array $A$ of $n$ elements, stored in arbitrary order. No algorithm can decide whether $x$ is present in $A$ in time constant, that is, independent of $n$: this is a problem which cannot be solved in constant time. Such a model is widely used and underlies most programming languages. But in some other (exotic) models (e.g. $x\in\{0,1\}$, $A$ is a bit vector which holds in a memory cell, and the processor can check if all bits of $A$ are zeros or ones in constant time) the problem might be solved in constant time!&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;In a model where no instruction permits to use the value of an element in order to compute an index in an array (this is the &quot;Comparison model&quot;), sorting an array of $n$ elements requires at least $\log_2(n!)$ comparisons, which is more than linear (see a complete proof on wikipedia at  &lt;a href=&quot;http://en.wikipedia.org/wiki/Comparison_sort#Number_of_comparisons_required_to_sort_a_list&quot;&gt;http://en.wikipedia.org/wiki/Comparison_sort#Number_of_comparisons_required_to_sort_a_list&lt;/a&gt;)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I hope it helps!&lt;/p&gt;&#xA;" OwnerUserId="191" LastActivityDate="2013-04-14T08:40:13.837" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17254" PostTypeId="1" CreationDate="2013-04-14T09:53:05.287" Score="5" ViewCount="141" Body="&lt;p&gt;Let $S_1,\ldots,S_m\subseteq U$ be subsets of a set $U$ of size $\lvert U\rvert=n$. Over all permutations $\pi$ of the set $\\{1,\ldots,m\\}$, I want to maximize  the quantity&#xA;\begin{equation}&#xA;\sum_{k=1}^m\left\lvert\bigcup_{i=1}^k S_{\pi(i)} \right\rvert.&#xA;\end{equation}&#xA;This problem is NP-complete as it contains &lt;em&gt;Exact cover by 3-sets&lt;/em&gt; as a special case: Suppose $n$ is divisible by 3, say $n=3n'$, and all sets $S_i$ have size 3. Then the upper bound&#xA;\begin{equation}&#xA;3(1+2+\cdots+n')+(m-n')n&#xA;\end{equation}&lt;br&gt;&#xA;can be achieved if and only if $U$ can be covered by $n'$ of the 3-sets. I'm interested in the hardness of approximation. For instance, can the hardness of approximation for set cover be used to say something about the above problem? &lt;/p&gt;&#xA;" OwnerUserId="15637" LastActivityDate="2013-04-14T09:53:05.287" Title="Approximation for accumulative set cover" Tags="&lt;approximation-algorithms&gt;&lt;approximation-hardness&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="17256" PostTypeId="2" ParentId="17236" CreationDate="2013-04-14T15:13:23.480" Score="4" Body="&lt;p&gt;The best I can find for this is $O(\log n)$ amortized update time with constant query time. The basic idea is that if you know both preorder and postorder for a tree, you can recover reachability: there is a path from $x$ to $y$ iff $x$ is before $y$ in preorder and after it in postorder.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are several data structures that can maintain a list of items, allowing insertions immediately before or after one particular item, deletions, and constant time ordering queries, in constant time per operation; see e.g. &lt;a href=&quot;http://erikdemaine.org/papers/DietzSleator_ESA2002/paper.pdf&quot; rel=&quot;nofollow&quot;&gt;http://erikdemaine.org/papers/DietzSleator_ESA2002/paper.pdf&lt;/a&gt;. Record for each node which tree it belongs to, and use one of these structures for the preorder and postorder of each tree. If these structures do not already do this for you, also use a linked list so you can read off the tree nodes in either order.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To add an edge from a node $x$ to a node $y$ (where prior to the addition, $y$ is the root of a tree) we need to merge the orderings for two trees. Do so by finding which of the two trees is smaller, adding its vertices into the ordering structures for the tree that is larger, and changing the node labels on the nodes in the smaller tree to point to the larger one. In this way, each vertex participates in $O(\log n)$ updates over the lifetime of the structure (every time it is part of the smaller tree, the size of the tree it is in doubles). More precisely, each tree with $k$ edges takes total time $O(k\log k)$ to build, so the amortized time per edge is logarithmic.&lt;/p&gt;&#xA;" OwnerUserId="95" LastEditorUserId="95" LastEditDate="2013-04-14T18:15:27.127" LastActivityDate="2013-04-14T18:15:27.127" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17259" PostTypeId="2" ParentId="17251" CreationDate="2013-04-14T17:32:07.667" Score="5" Body="&lt;p&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/questions/7642/i-dreamt-of-a-data-structure-does-it-exist&quot;&gt;The Bentley-Saxe logarithmic method&lt;/a&gt; can sort a set in $O(n \lg n)$ time by merging sorted lists of equal size, much like merge sort.&lt;/p&gt;&#xA;" OwnerUserId="43" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2013-04-14T17:32:07.667" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17260" PostTypeId="1" AcceptedAnswerId="17268" CreationDate="2013-04-14T17:44:59.517" Score="3" ViewCount="207" Body="&lt;p&gt;What are the ways in which one can add a decidable equivalence relation in a type system with undecidable type checking/extensional equality?&lt;/p&gt;&#xA;" OwnerUserId="15605" LastActivityDate="2013-04-15T06:20:48.163" Title="Decidability in Extensional Type Theory" Tags="&lt;type-theory&gt;&lt;undecidability&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17261" PostTypeId="1" AcceptedAnswerId="17270" CreationDate="2013-04-14T18:12:51.300" Score="2" ViewCount="306" Body="&lt;p&gt;I am studying program analysis and synthesis, I was reading a presentation&#xA;about some data flow analysis.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I can't seem to understand why $$\bigcap_{s'\in\text{pred (s)}}\text{Out}(s')$$&#xA;and $$\operatorname{Gen}(s)\cup(\operatorname{In}(s)\setminus \operatorname{Kill}(s))$$ is monotone, as claimed in&#xA;&lt;a href=&quot;http://www.cs.umd.edu/class/fall2003/cmsc631/lectures/l02.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;slide 22&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I don't even understand exactly what is the function that is claimed to be monotone.&#xA;Can anyone please help ? any help is greatly appreciated! &lt;/p&gt;&#xA;&#xA;&lt;p&gt;*This was &lt;a href=&quot;https://math.stackexchange.com/questions/354001/monotonicity-in-dfa-analysis&quot;&gt;cross-posted &lt;/a&gt;on Math.SE a couple of days ago&lt;/p&gt;&#xA;" OwnerUserId="7956" LastEditorUserId="-1" LastEditDate="2017-04-13T12:19:19.363" LastActivityDate="2013-04-15T10:45:35.397" Title="Monotonicity in data flow analysis" Tags="&lt;compilers&gt;&lt;program-analysis&gt;" AnswerCount="1" CommentCount="7" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17264" PostTypeId="1" AcceptedAnswerId="17265" CreationDate="2013-04-15T00:16:59.620" Score="5" ViewCount="295" Body="&lt;p&gt;I have a range space $(X,R)$, were $R$ is a collection of subsets of $R$ and I have an upper bound $d$ to the VC-dimension of $(X,R)$. Suppose for simplicity that $X$ is finite. Given $\delta\in(0,1)$ and an integer $m&amp;gt;1$, I know that if I have a random sample $S$ from X of size $|S|=m$, then for $\varepsilon=\sqrt{\frac{d+\log(1/\delta)}{m}}$, we have&#xA;$\Pr\left(\exists r\in R ~:~ \left|\frac{|r|}{|X|}-\frac{|r\cap S|}{|S|}\right|&amp;gt;\varepsilon \right)&amp;lt;\delta$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Notice how $\varepsilon$ does not depend on the sizes of the members of $R$. I was wondering whether I can get a smaller $\varepsilon$ if I know that all members of $R$ have a specific size, or better, if I know that there is a $\phi\in(0,1)$ sucht that $\frac{|r|}{|X|}=\phi$ for all $r\in R$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks.&lt;/p&gt;&#xA;" OwnerUserId="4828" LastActivityDate="2013-04-15T01:08:11.407" Title="VC-Dimension and sample complexity dependent on size of subsets" Tags="&lt;lg.learning&gt;&lt;vc-dimension&gt;&lt;sample-complexity&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17265" PostTypeId="2" ParentId="17264" CreationDate="2013-04-15T01:08:11.407" Score="6" Body="&lt;p&gt;No, you cannot. See Thm 2.1 of &lt;a href=&quot;http://link.springer.com/article/10.1007%2FBF02187833&quot;&gt;http://link.springer.com/article/10.1007%2FBF02187833&lt;/a&gt; (it says that a random family gives an example, with appropriately chosen parameters).&lt;/p&gt;&#xA;" OwnerUserId="419" LastActivityDate="2013-04-15T01:08:11.407" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17266" PostTypeId="1" AcceptedAnswerId="19514" CreationDate="2013-04-15T03:06:42.233" Score="9" ViewCount="572" Body="&lt;p&gt;In the introduction of this paper &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=1835723&quot; rel=&quot;nofollow&quot;&gt;Eventually Linearizable Shared Objects (PODC'10)&lt;/a&gt;, the authors have presented the following statement without references:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Linearizability, however, can be achieved if and only if consensus can be solved.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Here, linearizability is the strongest known consistency property of shared objects, which is proposed in the paper &lt;a href=&quot;http://cs.brown.edu/~mph/HerlihyW90/p463-herlihy.pdf&quot; rel=&quot;nofollow&quot;&gt;Linearizability: A Correctness Condition for Concurrent Objects&lt;/a&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I get confused about the above statement due to the following arguments:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the paper &lt;a href=&quot;http://www.cse.huji.ac.il/course/2004/dist/p124-attiya.pdf&quot; rel=&quot;nofollow&quot;&gt;Sharing Memory Robustly in Message-Passing Systems (JACM95)&lt;/a&gt;, we know that linearizability can be achieved in the asynchronous message passing system, while tolerating a minority of process crashes:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Any wait-free algorithm based on atomic, single-writer multi-reader registers can be automatically emulated in message-passing systems, provided that at least a majority of the processors are not faulty and remain connected.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;On the other hand, the paper &lt;a href=&quot;http://macs.citadel.edu/rudolphg/csci604/ImpossibilityofConsensus.pdf&quot; rel=&quot;nofollow&quot;&gt;Impossibility of Distributed Consensus with One Faulty Process (JACM85)&lt;/a&gt; has proved the impossibility result of consensus even with only one process crash:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;The consensus problem  involves  an asynchronous system of processes, some of which  may be unreliable. The problem is for the reliable processes to agree on a binary value. In this paper, it is shown that every protocol for this problem has the possibility of  nontermination, even with only one faulty process.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Therefore, can we reach the following conclusion:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;consensus is &lt;em&gt;stronger&lt;/em&gt; than linearizability?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;What is wrong with my arguments? Are there some direct references for the &lt;em&gt;equivalence&lt;/em&gt; conclusion?&lt;/p&gt;&#xA;" OwnerUserId="12739" LastEditorUserId="4077" LastEditDate="2014-08-02T23:24:49.657" LastActivityDate="2014-08-02T23:24:49.657" Title="Is linearizability equivalent to consensus problem?" Tags="&lt;reference-request&gt;&lt;dc.distributed-comp&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17267" PostTypeId="2" ParentId="17247" CreationDate="2013-04-15T06:17:26.927" Score="14" Body="&lt;p&gt;One area where unconditional and nontrivial time lower bounds are known is in data structures, where the time is for individual data structure operations (or sequences of operations). The standard model for this sort of thing is called the &quot;cell probe model&quot;; it assumes only that main memory is divided into words of a certain size and that the CPU has a very limited amount of local storage (e.g. in registers or cache), and bounds the number of word read/write operations that must be performed.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For instance, in the cell probe model one can prove that the problem of maintaining prefix sums of word-length values (that is, maintain an array of values subject to operations that change one value in an array or that query the sum of a prefix of the values) requires $\Omega(n\log n)$ time to perform a sequence of $n$ operations on an array of length $n$. The difficulty here comes in part from the fact that the operations have to be performed online (not knowing in advance the sequence of future operations).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Fredman and Saks' STOC'89 paper &quot;&lt;a href=&quot;http://dl.acm.org/citation.cfm?id=73040&quot;&gt;The cell probe complexity of dynamic data structures&lt;/a&gt;&quot; and Patrascu and Demaine's SICOMP'05 &quot;&lt;a href=&quot;http://arxiv.org/abs/cs.DS/0502041&quot;&gt;Logarithmic lower bounds in the cell-probe model&lt;/a&gt;&quot; are probably good starting points; look up cell probe lower bounds in Google scholar for much more.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2013-04-15T06:17:26.927" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17268" PostTypeId="2" ParentId="17260" CreationDate="2013-04-15T06:20:48.163" Score="2" Body="&lt;p&gt;Your question is very brief, so my answer will be as well:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;Structure DecidableEquivalenceRelation :=&#xA;  {&#xA;    carrier :&amp;gt; Type ;&#xA;    rel :&amp;gt; carrier -&amp;gt; carrier -&amp;gt; Prop ;&#xA;    reflexive : forall x, rel x x ;&#xA;    symmetric : forall x y, rel x y -&amp;gt; rel y x ;&#xA;    transitive : forall x y z, rel x y -&amp;gt; rel y z -&amp;gt; rel x y ;&#xA;    decidable : forall x y, (rel x y) + ~ (rel x y)&#xA;  }.&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;" OwnerUserId="705" LastActivityDate="2013-04-15T06:20:48.163" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17269" PostTypeId="2" ParentId="17229" CreationDate="2013-04-15T06:32:37.457" Score="9" Body="&lt;p&gt;You are working on your PhD. Saying &quot;I am not well versed in $X$&quot; is not an excuse. And if you're good, then saying &quot;my advisor does not know $X$&quot; is not an excuse either.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You are using monoids where you should be using categories. Your monoid operations presupposes that you can combine any $\delta$'s together. But does this really make sense, for example, how would you compose &quot;add plastic casing&quot; and &quot;add metal casing&quot;? I suppose some of your $\delta$'s result in empty relations because they make no sense. You should be suspicious of that sort of thing.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As an interested observer it seems that the monoid should be a category, so we can compose two $\delta$'s only if it makes sense for them to be composed. Then your semantic evaluation is just a functor into the category of sets and relations. And then you see that there are lots of other categories that you could use. Functional deltas will correspond to a functor which maps into the category of sets and functions, the natural numbers deltoid is a functor into the monoid of polynomials on natural numbers (seen as a category), etc. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am not sure you want to formalize LaTeX and Nokia mobile phones too seriously in the general theory. But of course your theory should be applicable to such examples (just don't get hung up when you discover that mobile phones do not actually have a well-defined semantics).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You are &lt;em&gt;really&lt;/em&gt; shortchanging yourself by insisting on a predetermined technology (by your advisor?), by the looks of it.&lt;/p&gt;&#xA;" OwnerUserId="705" LastActivityDate="2013-04-15T06:32:37.457" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="17270" PostTypeId="2" ParentId="17261" CreationDate="2013-04-15T10:45:35.397" Score="7" Body="&lt;p&gt;You need to identify the lattices involved in each case. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $(\wp(S),\subseteq)$ be the lattice of all subsets of a set $S$ ordered by subset inclusion. A function $f:\wp(S) \to \wp(S)$ is &lt;em&gt;monotone&lt;/em&gt; if for every pair of sets $x$ and $y$, if $x \subseteq y$ it also holds that $f(x) \subseteq f(y)$. The definition applies more generally to functions $f: L \to M$ between partially ordered sets $L$ and $M$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $Stmt$ be the set of statements occurring in a program and let $(\wp(Stmt),\subseteq)$ be the lattice of subsets of statements ordered by subset inclusion. Let us assume for simplicity that a statement in $Stmt$ is either an assignment $x:= e$ or a Boolean expression $b$ (representing the entry of a conditional or head of a loop). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A control flow graph has the form $G = (Stmt,E)$ where $E$ is an edge relation over statements. The following definitions are extremely standard:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$succ: \wp(Stmt) \to \wp(Stmt)$ maps a set of statements to their successors.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$succ(X) = \{ y \in Stmt | \text{ there exists } x \text{ in } X \text{ such that } (x,y) \text{ is in } E\}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$pred: \wp(Stmt) \to \wp(Stmt)$ maps a set of statements to their predecessors.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$pred(X) = \{ y \in Stmt | \text{ there exists } x \text{ in } X \text{ such that } (y,x) \text{ is in } E\}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is a standard exercise to show that these are monotone functions. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider the set $Exp$ of all arithmetic and Boolean expressions occurring in a program. The structure $(\wp(Exp),\subseteq)$ is a lattice with the subset inclusion order.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the &lt;em&gt;available expressions&lt;/em&gt; analysis, we can define two functions $Gen$ and $Kill$ in two steps as follows.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First define $Gen: Stmt \to \wp(Exp)$ as a function that maps a statement to the set of expressions generated by that statement. We can define $Gen$ inductively and lift it to sets as follows.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$Gen(x := e) = \{e\}$ and  $Gen(b) = \{b\}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The lifted function $Gen: \wp(Stmt) \to \wp(Exp)$  is obtained in a standard manner by taking the union of $Gen$ sets for every statement in a given set.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$ Gen(S) = \bigcup_{s \in S} Gen(s) $$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can now ask whether this function is monotone.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;A note about the slides&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The slides you are studying do not contain sufficient information to deduce everything I have said here from first principles and I doubt they are meant to be read that way. I would consult the lecture notes or the section on data flow analysis in a  standard compilers textbook for a thorough treatment with complete definitions.&lt;/p&gt;&#xA;" OwnerUserId="4155" LastActivityDate="2013-04-15T10:45:35.397" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17272" PostTypeId="1" CreationDate="2013-04-15T15:29:09.047" Score="4" ViewCount="295" Body="&lt;p&gt;Is there any result on approximating a minimum (weighted) bipartite vertex cover? I'm interested in the problem that given a bipartite graph ( probably with weight on its vertex ), find a vertex cover of size (or weight) at most ($1+\epsilon$) of the optimal value. I've been searching on internet and although it seems the problem was quite simple, there's no paper or lecture notes about it. (maybe because everybody know :)).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can anyone give a link to related work if you know any :D&lt;/p&gt;&#xA;&#xA;&lt;p&gt;thanks&lt;/p&gt;&#xA;" OwnerUserId="15654" LastEditorUserId="3247" LastEditDate="2013-04-15T15:54:08.407" LastActivityDate="2013-04-16T00:40:40.120" Title="Approximating Bipartite Vertex Cover" Tags="&lt;graph-theory&gt;&lt;approximation&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="17274" PostTypeId="2" ParentId="17272" CreationDate="2013-04-15T19:13:48.567" Score="8" Body="&lt;p&gt;No need to approximate, we can determine the exact value: see &lt;a href=&quot;http://en.wikipedia.org/wiki/K%C3%B6nig%27s_theorem_%28graph_theory%29&quot;&gt;Kőnig's theorem&lt;/a&gt;. In particular, this &lt;a href=&quot;http://en.wikipedia.org/wiki/K%C3%B6nig%27s_theorem_%28graph_theory%29#Algorithm&quot;&gt;section&lt;/a&gt; shows how to use any maximum bipartite matching algorithm to find a minimum vertex cover. &lt;/p&gt;&#xA;" OwnerUserId="419" LastEditorUserId="4896" LastEditDate="2013-04-16T00:40:40.120" LastActivityDate="2013-04-16T00:40:40.120" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="17275" PostTypeId="1" CreationDate="2013-04-15T21:04:32.517" Score="3" ViewCount="197" Body="&lt;p&gt;Let me define both the problems first:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$OR$-$SAT$:  $m$ Boolean formulae are given in $CNF$, $\phi_1$,$\phi_2$, $\ldots$, $\phi_m$, each on variable set, $x_1, x_2, \ldots, x_n$. ($m$ $&amp;lt;$ $2^n$, otherwise the problem is polynomial time solvable) Each $\phi_{i}$ is of size at most $poly(n)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$Question$: Is there an assignments to the given $n$ variable, such that at least one of the $\phi_i$s is satisfiable ? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$Exact\ CNF$-$SAT$:  A formula $\phi$ in conjunctive normal form of size $m$ over $n$ variables.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$Question$: Is there any satisfiable assignment for $\phi$, such that exactly one of the literals in each clause of $\phi$ is assigned to True ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am interested to know if there is a reduction from $OR$-$SAT$ to $Exact\ CNF$-$SAT$, keeping the number of variables polynomially bounded, or if it can be proved, no such reduction possible unless some bad thing happens. There are standard reductions from $OR$-$SAT$ to $SAT$ and $SAT$ to $Exact\ CNF$-$SAT$, but the second reduction doesn't keep the number of variables polynomially bounded. Any thought ??&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In $OR$-$SAT$, each $\phi_i$ is of size $poly(n)$. So $SAT$ and $OR$-$SAT$ are pretty much different problems. They are in different levels in $VC$-hierarchy. There are many problems between these 2 levels.  I am actually interested to know the exact position of $Exact$ $CNF$-$SAT$ in that hierarchy. I am interested to bound the number of variables to $poly(n)$, as I am interested in PPT (Parametric Polynomial Time) reduction rather than normal polynomial reduction.&lt;/p&gt;&#xA;" OwnerUserId="10871" LastEditorUserId="10871" LastEditDate="2013-04-16T00:15:13.950" LastActivityDate="2013-04-16T00:15:13.950" Title="Reduction from OR-SAT to Exact CNF-SAT, keeping the number of variables polynomially bounded?" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;" AnswerCount="0" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17276" PostTypeId="2" ParentId="16968" CreationDate="2013-04-16T02:35:34.470" Score="3" Body="&lt;p&gt;The original question seems to assume that the BGN scheme is the state-of-the-art for problems like this (correct me if I'm wrong :)), so for what it's worth:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The BGN scheme scheme is a prototypical version of a &lt;em&gt;somewhat homomorphic encryption scheme&lt;/em&gt; -- the bilinear map gives you a single multiplication on any ciphertext still in the source group $\mathbb{G}$, and (of course) unbounded additions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's worth noting that the additively homomorphic property (ie, the unbounded additions) comes from the algebraic representation of the ciphertexts. For similar reasons, El Gamal has multiplicatively homomorphic ciphertexts (unbounded multiplications, no additions), and Paillier has additively homomorphic ciphertexts (no multiplications, unbounded additions).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think around a year after BGN, Craig Gentry came out with the first fully homomorphic encryption scheme (unbounded multiplications, unbounded additions).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The current state-of-the-art for FHE schemes is some combination of:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;((Below are PDF links to ePrint.))&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://eprint.iacr.org/2012/078.pdf&quot; rel=&quot;nofollow&quot;&gt;Fully Homomorphic Encryption without Modulus Switching&#xA;from Classical GapSVP&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://eprint.iacr.org/2011/566.pdf&quot; rel=&quot;nofollow&quot;&gt;Fully Homomorphic Encryption with Polylog Overhead&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://eprint.iacr.org/2012/144.pdf&quot; rel=&quot;nofollow&quot;&gt;Somewhat Practical Fully Homomorphic&#xA;Encryption&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Another Thought:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In case the word &lt;em&gt;&quot;efficiently&quot;&lt;/em&gt; in the title was intended to be interpreted as &quot;not FHE,&quot; here's an independent observation of mine that might be useful for situations like you ran into just now -- i.e. &quot;I think I need more multiplications than the bilinear map in BGN allows, but I don't want to take the huge hit of FHE...&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you implement a BGN-like scheme, but substitute a multilinear map for the bilinear map..&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See: &lt;a href=&quot;http://eprint.iacr.org/2012/610.pdf&quot; rel=&quot;nofollow&quot;&gt;Candidate Multilinear Maps from Ideal Lattices&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;..then you should be allowed up to $\kappa$ multiplications, for &lt;em&gt;multilinearity parameter&lt;/em&gt; $\kappa$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The complexity of the GGH multilinear map depends on $\kappa$, but so long as $\kappa=O(1)$, I have a feeling there wouldn't be much difference between the resulting scheme and the BGN scheme in terms of concrete efficiency. (In fact, it's an interesting question on its own!)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In any case, suppose you ran into a situation where you needed.... THREE multiplications per plaintext... Think about using a multilinear map.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;A few more details for intuition about what multilinear maps are, if they're new to you:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;BGN uses groups $(\mathbb{G}, \mathbb{G}_T)$ and a map $e: \mathbb{G}\times\mathbb{G}\rightarrow\mathbb{G}_T$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;IIRC, the GGH multilinear map with, say, $\kappa = 2$ can be seen as reducing (&lt;em&gt;in the simplest case&lt;/em&gt;) to groups $(\mathbb{G}_0, \mathbb{G}_1, \mathbb{G}_2)$ and a &lt;em&gt;set of bilinear maps,&lt;/em&gt; written generally as $e = \{e_i\}_{i\in [0,...,\kappa-1]}$ where for all $i$, $e_i : \mathbb{G}_i\times\mathbb{G}_i\rightarrow\mathbb{G}_{i+1}$.&lt;/p&gt;&#xA;" OwnerUserId="108" LastEditorUserId="108" LastEditDate="2013-04-16T20:21:52.887" LastActivityDate="2013-04-16T20:21:52.887" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="17277" PostTypeId="2" ParentId="17082" CreationDate="2013-04-16T03:16:23.957" Score="-1" Body="&lt;p&gt;See excellent comments about this post below. :)&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Preprocessing; input:&lt;/strong&gt; $p(x)$&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Factor $p(x)$ as $p(x)=\prod_{i=0}^{1000} (x_i-r_i)$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Store this as a table $T$ of distinct roots $r_j$ and their respective&#xA;multiplicities $m_j$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Online phase; input:&lt;/strong&gt; $q(x)$&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Factor $q(x)$ as $q(x)=\prod_{i=0}^5 (x_i-r'_i)$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Store this as a list $L$ of distinct roots $r'_j$ and their respective&#xA;multiplicities $m'_j$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;While $L$ is not empty, remove the next root/multiplicity from $L$ and any like terms in $T$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Read off $p(x)\bmod{q(x)}$ from the modified table $T$ and output.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Other comments:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Obviously you want to sort the table $T$ and access it with binary search (or a tree).&lt;/li&gt;&#xA;&lt;li&gt;(Let $d$ be the degree of $p(x)$.) If you want the output $p(x)\bmod{q(x)}$ to be in coefficient representation, you can just do a bunch of FFTs at the end to get $\tilde{O}(d)$ time.&lt;/li&gt;&#xA;&lt;li&gt;Depending on how you formalize it, you can probably pre-compute a lot of the various ways you'd recombine the terms in $T$ beforehand (dynamic programming style), so that most (or all) of the multiplications are just look-ups. The dominating cost is then the number of look-ups, or roughly $O(\log d)$. If $d=1000$, this is just a handful of concrete, arithmetic operations.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="108" LastEditorUserId="108" LastEditDate="2013-04-16T20:52:42.647" LastActivityDate="2013-04-16T20:52:42.647" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="17279" PostTypeId="1" CreationDate="2013-04-16T12:28:35.203" Score="1" ViewCount="190" Body="&lt;p&gt;As we know, linear programming is one of the most basic area of optimization theory, and computing an optimal solution can be excuted within poly-time. My question is about an extention of this notion.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $\vec{x}^T Q\vec{y} \geq \vec{d}$ be a system of &lt;em&gt;multilinear&lt;/em&gt; constraints ,where $\vec{x},\vec{y} \in \mathbb{R}_{+}^n$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Question:&#xA;Under some limitations on the matrix $Q$, can the task of minimizing(maximizing) a function $f(\vec{x},\vec{y})$, be solved within poly-time ,or is there any case where this optimization is NP-hard ?&lt;/p&gt;&#xA;" OwnerUserId="14065" LastEditorUserId="7531" LastEditDate="2013-04-16T17:33:41.250" LastActivityDate="2016-01-16T12:50:50.520" Title="Poly-time Algorithm for Non-Linear Optimization" Tags="&lt;ds.algorithms&gt;&lt;optimization&gt;&lt;convex-optimization&gt;&lt;polynomial-time&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="17282" PostTypeId="2" ParentId="16872" CreationDate="2013-04-16T21:00:52.833" Score="4" Body="&lt;p&gt;If I'm a student, I would've liked to learn more about other computational models (primarily, lambda calculus and recursive functions). More and more programming languages are incorporating functional features, and learning these subjects would give a great insight into this perspective of thinking about computation.&lt;/p&gt;&#xA;" OwnerUserId="13853" LastActivityDate="2013-04-16T21:00:52.833" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="17283" PostTypeId="2" ParentId="17082" CreationDate="2013-04-16T22:43:23.237" Score="3" Body="&lt;p&gt;The following algorithms works well if the underlying field has a very small order $s$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose we know $q$ is irreducible, of a fixed degree $d$. Then, mod $q$, we know $x^{s^d} = x$ holds. Hence it suffices to pre-compute $p(x) \mod x^{s^d} - x$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In general, $q(x)$ may decompose into a product of irreducible polynomials $q = q_1 \dots q_r$. In this case, a similar argument applies to computing $p$ modulo each $q_1, \dots, q_r$ separately, and then piecing the results together. So we really need to compute $p(x) \mod x^{s^{d'}} - x$ for each $d' \leq d$.&lt;/p&gt;&#xA;" OwnerUserId="5538" LastEditorUserId="5538" LastEditDate="2013-04-18T16:07:54.100" LastActivityDate="2013-04-18T16:07:54.100" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17285" PostTypeId="1" AcceptedAnswerId="17337" CreationDate="2013-04-17T00:12:35.470" Score="8" ViewCount="12163" Body="&lt;p&gt;Ford-Fulkerson can find sparse s-t flows in time linear in the size of the flow and number of nodes if the edges have unit capacity.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;How could I use a sparse s-t flow to find an s-t min-cut in time proportional to the size of the flow and the number of my nodes, for the sparse/low-volume max-flow case?&lt;/p&gt;&#xA;" OwnerUserId="3337" LastActivityDate="2017-06-05T07:38:24.660" Title="Fastest way to find an s-t min-cut from an s-t max-flow?" Tags="&lt;graph-algorithms&gt;&lt;max-flow&gt;&lt;max-flow-min-cut&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="17287" PostTypeId="1" CreationDate="2013-04-17T03:54:26.737" Score="3" ViewCount="105" Body="&lt;p&gt;Given an adjacency matrix $A$, can we say something about whether the eigenvectors corresponding to its highest (or second-highest) eigenvalues are de-localized ? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;By de-localization I mean that every coordinate in the vector has nearly the same absolute value. Are there existing results regarding this for expanders?&lt;/p&gt;&#xA;" OwnerUserId="12212" LastEditorUserId="32187" LastEditDate="2015-04-07T10:57:21.173" LastActivityDate="2015-04-07T10:57:21.173" Title="Delocalization of eigenvectors in Expanding Graphs" Tags="&lt;co.combinatorics&gt;&lt;matrices&gt;&lt;expanders&gt;" AnswerCount="0" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17288" PostTypeId="1" CreationDate="2013-04-17T06:41:54.733" Score="1" ViewCount="79" Body="&lt;p&gt;I have encountered a constraint problem and I would like to know if there exists a name and implemented solvers for this type of constraint problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My constraints are of the forms.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) $CONSTANT \in S$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Constant can be either a number, or a term f(a,b),a,f(f(a)),...&#xA;S is a finite set of objects(numbers or terms without variables)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Example: $1 \in \{3,4,5,a\}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) $VARIABLE \in S$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Example: $X \in \{a,b,c\}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;3) $ARITHMETIC\_EXPRESSION(VAR_1,VAR_2,\ldots VAR_N) \in S$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Example: $X^5-Y^4+1 \in \{1,2,4\}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;4) $TERM_1 \odot TERM_2$,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where $\odot$ is relation (&amp;lt;,&gt;,=,!=) and $TERM_1$ and $TERM_2$ are either variables or terms.&#xA;I assume that relations are partially defined on numbers and TERMS without variables.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;5) $Constraint \diamond Constraint$ ,where $\diamond$ is logical operator (or, and,etc).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;6) $\neg Constraint$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Solution to the constraint problem is assignment of constants &lt;strong&gt;from given finite set of integers and terms&lt;/strong&gt; to variables which turns it to true. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Example problem:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$X\in \{a,b,c\} \land Y \not \in \{c,d,e\} \land X&amp;lt;Y$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given finite set: $\{a,b,e\}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Solution is, for example $X=a, Y=e$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I want to know &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;What is the name of this type of constraint problem.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;which algorithms should I use to solve the problem and &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;If there exist an implementation (preferable in Java language) to solve it.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Notice that the case that we need to find a solution from a finite set is crucial (otherwise the problem is unsolvable, since only arithmetic constraint are Diophantus systems)&lt;/p&gt;&#xA;" OwnerUserId="15667" LastEditorUserId="15667" LastEditDate="2013-04-17T06:49:28.380" LastActivityDate="2013-04-17T06:49:28.380" Title="Constraint problem" Tags="&lt;csp&gt;" AnswerCount="0" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="17289" PostTypeId="2" ParentId="17242" CreationDate="2013-04-17T06:49:02.063" Score="3" Body="&lt;p&gt;Here it an embedding of the Grötzsch graph on the unit sphere: &lt;img src=&quot;https://i.stack.imgur.com/z63hR.png&quot; alt=&quot;enter image description here&quot;&gt;&#xA;This corresponds to a vector colouring in the obvious way; e.g., the vertex at the North pole is coloured with the vector (0,0,1).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The Grötsch graph has 3 types of nodes. A single degree 5 nodes (at North). Five degree 4 nodes (on the Northern hemisphere, equidistant to N, you can make out 3 of them). Five degree 3 nodes (on the Southern hemisphere, equidistant to N, you can make out 3 of them).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;N is connected to its 5 neighbours on the Southern hemisphere with green edges. (Note that the green edge looks as if it is incident on the degree 4-vertices on the Northern hemisphere, but that’s an artefact of the embedding.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Viewed from the top, you can make out the pentagram described by the degree 4 nodes, similar to Lovasz’ embedding of $C_5$ in the plane:&lt;img src=&quot;https://i.stack.imgur.com/POMCS.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, a view from above the South pole: &lt;img src=&quot;https://i.stack.imgur.com/d3X2P.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If my calculations are to be believed, all neighbouring vertices are at more than 120 degrees from each other, so this constitutes a valid vector 3-colouring. The Grötzsch graph is 4-chromatic. 11 vertices, 20 edges. I’m particularly happy about this example because the vector colouring is in 3 dimensions, to you can visualise it. (And draw random hyperplanes in order to explain the KMS graph colouring algorithm.)&lt;/p&gt;&#xA;" OwnerUserId="5095" LastActivityDate="2013-04-17T06:49:02.063" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17290" PostTypeId="2" ParentId="17285" CreationDate="2013-04-17T08:03:16.390" Score="-1" Body="&lt;p&gt;Is there a quick reference for the definition of a sparse s-t flow? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the general case, having the max-flow it is quite easy to determine the min-cut, via the max-flow , min-cut theorem. The edges that are fully saturated form a cut set, so by selecting one vertex for each such edge, one can form a min-cut. Trivially, this is O(m) in the worst case, and also if one makes the running time output-sensitive, then the number of edges in the flow or even better, the number of saturated edges in the flow, always is an upper bound on the running time of the algorithm for finding the min-cut from the max-flow. So if you have a modification that finds those sparse s-t flows in linear time in the size of the flow, finding the min-cut won't change the algorithm's runtime asymptotically.&lt;/p&gt;&#xA;" OwnerUserId="879" LastActivityDate="2013-04-17T08:03:16.390" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="17291" PostTypeId="2" ParentId="10953" CreationDate="2013-04-17T09:05:27.827" Score="6" Body="&lt;p&gt;I believe this paper may answer your questions: &lt;a href=&quot;http://arxiv.org/abs/1204.6484&quot;&gt;http://arxiv.org/abs/1204.6484&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The paper defines families of NP hard 3SAT problems, such that the structure of the formula is fixed for every n, and the input is the polarity of the formula.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Using the standard reduction from 3SAT to CLIQUE (each 3CNF clause defines a set of 8  possible assignments (or 7 satisfying assignments), with edges between non conflicting assignments), there is a graph such that after removing one vertex for each clause, it is NP hard to find the maximal clique (or even to approximate its size, using graph products or derandomized graph products)&lt;/p&gt;&#xA;" OwnerUserId="15669" LastActivityDate="2013-04-17T09:05:27.827" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17292" PostTypeId="1" AcceptedAnswerId="17296" CreationDate="2013-04-17T09:19:49.723" Score="22" ViewCount="1940" Body="&lt;p&gt;In a &lt;strong&gt;Cartesian Closed Category&lt;/strong&gt; (&lt;em&gt;CCC&lt;/em&gt;), there exist the so-called &lt;strong&gt;exponential objects&lt;/strong&gt;, written $B^A$.  When a CCC is considered as a model of the &lt;strong&gt;simply-typed $\lambda$-calculus&lt;/strong&gt;, an exponential object like $B^A$ characterizes the function space from type $A$ to type $B$.  An exponential object is introduced by an arrow called $curry : (A \times B \rightarrow C) \rightarrow (A \rightarrow C^B)$ and eliminated by an arrow called $apply : C^B \times B \rightarrow C$ (which unfortunately called $eval$ in most texts on category theory).  My questions here is: is there any difference between the exponential object $C^B$, and the arrow $B \rightarrow C$?&lt;/p&gt;&#xA;" OwnerUserId="656" LastEditorUserId="656" LastEditDate="2014-05-02T13:01:58.807" LastActivityDate="2014-05-02T13:01:58.807" Title="What is the difference between arrows and exponential objects in a cartesian closed category?" Tags="&lt;type-theory&gt;&lt;lambda-calculus&gt;&lt;ct.category-theory&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="17293" PostTypeId="2" ParentId="3540" CreationDate="2013-04-17T09:37:59.413" Score="4" Body="&lt;p&gt;Rajaraman A., Leskovec J., and Ullman J.D. - &lt;a href=&quot;http://infolab.stanford.edu/~ullman/mmds.html&quot; rel=&quot;nofollow&quot;&gt;Mining of Massive Datasets&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="186" LastActivityDate="2013-04-17T09:37:59.413" CommentCount="0" CommunityOwnedDate="2013-04-17T09:37:59.413" ContentLicense="CC BY-SA 3.0" />
  <row Id="17295" PostTypeId="2" ParentId="5659" CreationDate="2013-04-17T09:45:35.620" Score="12" Body="&lt;p&gt;In the paper &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/0095895674900409&quot;&gt;Absolute Planar Retracts and the Four Color Conjecture&lt;/a&gt;,&#xA;Pavol Hell proved several equivalente formulations for the 4CT. One of&#xA;them reads as follows:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Every planar graph is 4-colorable (The 4CT) iff there exists an absolute&#xA;  planar retract.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;(A subgraph $H$ of a graph $G$ is a retract of $G$ if there exists a&#xA;homomorphism $r: V(G)\to V(H)$ such that $r(v)=v$ for all&#xA;$v\in V(H)$. An absolute planar retract is a planar graph which is a&#xA;retract of any planar graph of which it is a subgraph.)&lt;/p&gt;&#xA;" OwnerUserId="14035" LastActivityDate="2013-04-17T09:45:35.620" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17296" PostTypeId="2" ParentId="17292" CreationDate="2013-04-17T09:46:40.297" Score="34" Body="&lt;p&gt;One is &lt;em&gt;internal&lt;/em&gt; and the other is &lt;em&gt;external&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A category $\mathcal{C}$ consists of objects and morphisms. When we write $f : A \to B$ we mean that $f$ is a morphism from object $A$ to object $B$. We may collect all morphisms from $A$ to $B$ into a &lt;strong&gt;set of morphisms&lt;/strong&gt; $\mathrm{Hom}_{\mathcal{C}}(A,B)$, called the &quot;hom-set&quot;. This set is &lt;strong&gt;not&lt;/strong&gt; an object of $\mathcal{C}$, but rather an object of the category of sets.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In contrast, an exponential $B^A$ is an object in $\mathcal{C}$. It is how &quot;$\mathcal{C}$ thinks of its hom-sets&quot;. Thus, $B^A$ must be equipped with whatever structure the objects of $\mathcal{C}$ have.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As an example, let us consider the category of topological spaces. Then $f : X \to Y$ is a continuous map from $X$ to $Y$, and $\mathrm{Hom}_{\mathsf{Top}}(X,Y)$ is the set of all such continuous maps. But $Y^X$, if it exists, is a topological space! You can prove that the points of $Y^X$ are (in bijective correspondence with) the continuous maps from $X$ to $Y$. In fact, this holds in general: the morphisms $1 \to B^A$ (which are &quot;the global points of $B^A$&quot;) are in bijective correspondence with morphisms $A \to B$, because&#xA;$$\mathrm{Hom}(1, B^A) \cong&#xA;\mathrm{Hom}(1 \times A, B) \cong&#xA;\mathrm{Hom}(A, B).&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Sometimes we get sloppy about writing $B^A$ as opposed to $A \to B$. In fact, often these two are synonyms, with the understanding that $f : A \to B$ might mean &quot;oh by the way here I meant the other notation, so this means $f$ is a morphism from $A$ to $B$.&quot; For example, when you wrote down the currying morphism&#xA;$$\textit{curry}: (A \times B \to C) \to (A \to C^B)$$&#xA;you really should have written&#xA;$$\textit{curry}: C^{A \times B} \to {(C^B)}^A.$$&#xA;So we cannot really blame anyone for getting confused here. The inner $\to$ is used in the internal sense, and the outer in the external.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we work in simply typed $\lambda$-calculus then everything is internal, so to speak. We have just a basic typing judgment &quot;$t$ has type $B$&quot;, written as $t : B$. Because here $B$ is a type, and types correspond to objects, then we clearly have to interpet any exponentials and arrows in $B$ in the internal sense. So then, if we understand&#xA;$$\textit{curry}: (A \times B \to C) \to (A \to C^B)$$&#xA;as a typing judgment in the $\lambda$-calculus, &lt;em&gt;all&lt;/em&gt; arrows are internal, so this is the same as&#xA;$$\textit{curry}: ((C^B)^A)^{C^{A \times B}}.$$&#xA;I hope by now it is clear why people use $B^A$ and $A \to B$ as synonyms.&lt;/p&gt;&#xA;" OwnerUserId="705" LastEditorUserId="705" LastEditDate="2013-04-17T09:56:59.537" LastActivityDate="2013-04-17T09:56:59.537" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="17297" PostTypeId="1" CreationDate="2013-04-17T15:56:23.937" Score="8" ViewCount="189" Body="&lt;p&gt;I have a $n\times n$ matrix $A$. It's terms are $a_{ij}=-x^{w_{ij}}$ if $i\neq j$ and $a_{ii}=\sum_{j=0}^{n+1} x^{w_{ij}}$ on the diagonal. The matrix is symmetric as $w_{ij}=w_{ji}$. Numbers $w_{ij}$ are arbitrary. (The matrix is not singular as the sum on the diagonal runs up to $n+1$.) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;How can I compute the $(1+\varepsilon)$-approximate number of terms in the determinant of $A$ with exponent smaller than some given exponent $W$, in time polynomial in $n$ and $\varepsilon^{-1}$ and independent of the largest value $w_{ij}$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As a black box, I can use an algorithm that counts the number of paths on a DAG, shorter than some threshold $L$ with error $(1+\varepsilon)^{\pm 1}$. I planned to calculate some LU-decomposition of $A$. Then I could get the determinant as a product of a polynomial number &#xA;of polynomials with polynomial number of terms: $det(A)=\prod_i^N f_i(x)$ where $N\in O(poly(n))$ and each $f_i(x)$ has polynomially many terms.  Now I would construct a DAG that represents the determinant: a monomial $x^{w_{ij}}$ would be represented two vertices connected by an edge with weight $w_{ij}$. A summation of polynomials $f(x)$ and $g(x)$ would be represented by two vertices connected in parallel by the graph that represents $f(x)$ and the graph that represents $g(x)$. The product of polynomials $f(x)g(x)$ would be represented by the graphs corresponding to $f(x)$ and $g(x)$ in series. All is well so far, I would construct the graph and approximately count paths shorter than the threshold from one end to the other. But the problem is that some polynomials $f(x)$ will have negative terms. That means that I need to keep track of the parity of individual paths, effectively making 2 copies of the DAG and switching between them when parity changes. In the end I have to calculate the paths that end up with negative parity and subtract them from the paths that end up with positive parity. This can kill my approximation ratio since I do not know the relationship between the number of positive and negative parity paths. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a different way how to represent the determinant as a product of polynomial number of polynomials, hopefully without negative terms and without division? I need to avoid any actual determinant calculation, since the expansion may generate a polynomial with number of terms exponential in $n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The original intent is probably obvious:&#xA;I am trying to count spanning trees shorter than some value $W$. The determinant of the matrix $A$ is a generating polynomial for these. Evaluating the polynomial fully would not give a FPTAS, since we can have at most $n^{n-2}$ distinct weight spanning trees (consider a complete graph with edges of lengths $2^i$ for edge $i$.) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In this case, it seems that applying some division-less LU decomposition and then counting paths with parity will not work: if we calculate the determinant according to the Leibniz formula &#xA;$\det(A)=\sum_{\sigma\in S_n}sgn(\sigma)\prod_{i=1}^n A_{i,\sigma_i}$, the expansion will contain cyclic subgraphs that will eventually cancel out. But there can be many cyclic subgraphs, shorter than the MST. So if we set counting &#xA;threshold to the value of the MST, we might make a large error in the subtraction, unless the LU decomposition somehow magically takes care of this. &lt;/p&gt;&#xA;" OwnerUserId="15671" LastEditorUserId="15671" LastEditDate="2013-04-23T08:08:42.113" LastActivityDate="2013-04-23T08:08:42.113" Title="Counting small terms in a determinant calculation over polynomials (counting spanning trees by weight)" Tags="&lt;co.combinatorics&gt;&lt;linear-algebra&gt;&lt;matrices&gt;&lt;polynomials&gt;&lt;determinant&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="17298" PostTypeId="1" AcceptedAnswerId="17304" CreationDate="2013-04-17T18:28:17.010" Score="18" ViewCount="645" Body="&lt;p&gt;Starting from Curry-Howard-Lambek, there has been a nice trinity of type theories, logics, and categories. I'm curious what categorical semantics you get when you add (coercive) subtyping to a type theory -- it seems like this has not been explored very much, if at all.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In general, adding coercive subtyping to a type theory does not ruin its meta-theoretic properties such as strong normalization, so its categorical semantics should be something of actual interest, I think!&lt;/p&gt;&#xA;" OwnerUserId="7647" LastActivityDate="2013-04-18T08:21:39.533" Title="What is the categorical semantics of subtyping?" Tags="&lt;lo.logic&gt;&lt;type-theory&gt;&lt;ct.category-theory&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="17300" PostTypeId="2" ParentId="17247" CreationDate="2013-04-17T18:57:38.167" Score="4" Body="&lt;p&gt;There are problems for which polynomial time vs exponential time separation is known in the oracle model. For example for the problem of maximizing submodular function subject to cardinality constraint it is known that you cannot get a better than $1-1/e$ approximation algorithm which does polynomial number of value queries. There are several papers which have these kind of lower bounds, but the one which I can remember at the top of my head is &lt;a href=&quot;http://arxiv.org/abs/1110.4860&quot; rel=&quot;nofollow&quot;&gt;http://arxiv.org/abs/1110.4860&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="372" LastActivityDate="2013-04-17T18:57:38.167" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17301" PostTypeId="1" CreationDate="2013-04-17T20:18:58.963" Score="0" ViewCount="362" Body="&lt;p&gt;I am currently looking at relations that are both transitive and Euclidean, but not necessarily symmetric, hence not necessarily equivalence relations. I have found nothing about this kind of relations. Does anyone know of some work concerning these relations? And first of all do they have a name? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks!&lt;/p&gt;&#xA;" OwnerUserId="14086" LastActivityDate="2013-04-18T07:53:16.127" Title="Euclidean transitive relations" Tags="&lt;relational-structures&gt;" AnswerCount="1" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="17303" PostTypeId="2" ParentId="17301" CreationDate="2013-04-18T07:53:16.127" Score="1" Body="&lt;p&gt;The correspondence theory of modal logic is concerned with the study of specific types of relations definable by modal formulae. My one sentence description does not do justice to the numerous motivations behind correspondence theory; consider it an explanation of why it relates to your sentence.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Specific examples arising in correspondence theory are the following.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;The modal formula $\Box p \implies p$ is true in a frame if and only if the frame is reflexive.&lt;/li&gt;&#xA;&lt;li&gt;The formula $\Box p \implies \Box \Box p$ is true in a frame if and only if the frame is transitive. &lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;So the types of relations you are asking for can be viewed as being defined by a finite set of modal formulae. These formulae can in turn be viewed as the axioms of a logic, so your question is directly related to the study of modal logics. You can look up material on the model theory of modal logic for more details.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.illc.uva.nl/lgc/translation/papers/BenthemCh2.ps&quot; rel=&quot;nofollow&quot;&gt;Modal Correspondence Theory&lt;/a&gt;, van Benthem&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0521527147&quot; rel=&quot;nofollow&quot;&gt;Modal Logic&lt;/a&gt;, Blackburn, de Rijke, Venema&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.mathematik.tu-darmstadt.de/~otto/papers/mlhb.pdf&quot; rel=&quot;nofollow&quot;&gt;Model Theory of Modal Logic&lt;/a&gt;, Goranko and Otto&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="4155" LastActivityDate="2013-04-18T07:53:16.127" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17304" PostTypeId="2" ParentId="17298" CreationDate="2013-04-18T08:21:39.533" Score="18" Body="&lt;p&gt;Semantically, a coercion $c : A \leq B$ is just a morphism $c : A \to B$, which gets added to the interpretation of terms at the appropriate points. The  basic problem this creates is the issue of &lt;em&gt;coherence&lt;/em&gt;: are you guaranteed that a term will have a unique meaning, given that the same term can potentially have coercions hidden in many possible places in the program?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One of the first treatments of this issue was John Reynolds' 1980 paper, &lt;a href=&quot;http://www.cs.cmu.edu/~neelk/cattheodesign.pdf&quot;&gt;&lt;em&gt;Using Category Theory to Design Implicit Conversions and Generic Operators&lt;/em&gt;&lt;/a&gt;, which shows how you can give a categorical semantics to a system of coercions and use it to ensure that it is coherent. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you're interested in coercive subtyping for rich (e.g., dependent) type theories, then &lt;a href=&quot;http://www.cs.rhul.ac.uk/~zhaohui/subtyping.html&quot;&gt;Zhaohui Luo&lt;/a&gt; is the go-to guy. &lt;/p&gt;&#xA;" OwnerUserId="657" LastActivityDate="2013-04-18T08:21:39.533" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17307" PostTypeId="1" AcceptedAnswerId="17315" CreationDate="2013-04-18T12:45:29.817" Score="19" ViewCount="686" Body="&lt;p&gt;Can anyone help me with the following problem?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I want to find some values $a_i,b_j$ (mod $N$) where $i=1,2,…,K, j=1,2,…,K $ (for example $K=6$), given a list of $K^2$ values that correspond to the differences $a_i-b_j\pmod N$ (for example $N=251$), without knowing the concrete corresponding relation. Since the values $a_i,b_j\pmod N$ are not uniquely defined given the differences $a_i-b_j\pmod N$, we look for &lt;em&gt;any&lt;/em&gt;  valid assignment of values.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Definitely, trying each permutation of the $K^2$ numbers in the list (totally $K^2!$ possible cases) and then solving the modular equations with $a_i,b_j$ as the variables is infeasible.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In fact, this problem arises in a paper on the cryptanalysis to an early version of NTRU signature scheme (&lt;a href=&quot;http://eprint.iacr.org/2001/005&quot; rel=&quot;noreferrer&quot;&gt;http://eprint.iacr.org/2001/005&lt;/a&gt;). However, the author wrote only one sentence “A simple backtrack algorithm ﬁnds one solution…” (in Section 3.3) and so can anyone give more explanations? What’s more, the author also mentioned that “every circular shift $\{((a_i+M)\mod N,(b_i+M)\mod N\}_{i=1}^K$ or a swap $(\{(N-1-b_i,N-1-a_i)\}_{i=1}^K)$ results in the same pattern of $a_i-b_j\mod N$” and is this statement helpful?&lt;/p&gt;&#xA;" OwnerUserId="15689" LastEditorUserId="7286" LastEditDate="2013-04-23T20:39:29.120" LastActivityDate="2013-04-23T20:39:29.120" Title="How to obtain the unknown values $a_i,b_j$ given an unordered list of $a_i-b_j\mod N$?" Tags="&lt;ds.algorithms&gt;&lt;linear-algebra&gt;&lt;nt.number-theory&gt;&lt;cryptographic-attack&gt;&lt;comp-number-theory&gt;" AnswerCount="4" CommentCount="6" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="17310" PostTypeId="2" ParentId="17307" CreationDate="2013-04-18T16:46:21.543" Score="5" Body="&lt;p&gt;&lt;strong&gt;Update&lt;/strong&gt;: &lt;em&gt;The description below is for a different problem (in which you have all pairwise distances in a set rather than pairwise distances between two distinct sets). I'll leave it up anyway since it is closely related.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This problem is called the beltway problem, and is a special case of the general $d$-torus embedding problem. It is also closely related to the turnpike problem, in which the distances differences are absolute (not modulo some number). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is not known whether the beltway problem admits a poly-time algorithm. There are various pseudo-poly-time algorithms for related questions. The best reference (alas an old one) is the paper by &lt;a href=&quot;http://www.cs.sunysb.edu/~skiena/papers/turnpike.ps&quot;&gt;Lemke, Skiena and Smith&lt;/a&gt;. &lt;/p&gt;&#xA;" OwnerUserId="80" LastEditorUserId="80" LastEditDate="2013-04-18T17:44:19.770" LastActivityDate="2013-04-18T17:44:19.770" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="17312" PostTypeId="2" ParentId="17082" CreationDate="2013-04-18T17:17:35.633" Score="2" Body="&lt;p&gt;I think there is a pretty fast way to do this. Let the coefficients of the yet unknown polynomial $q$ be $b_i$, so $q=\sum_{i=0}^d b_ix^i$ where $d$ is some small number. Now let us start computing $p \pmod q$ where $p=\sum_{i=0}^D a_ix^i$, where $D$ is big and the $a_i$ are known. This we do by reducing the degree using equalities as $a_Dx^D= \frac {-a_D}{b_d} \sum_{i=1}^{d-1} b_{d-i}x^{D-i}$. Eventually what we get is a degree $&amp;lt;d-1$ polynomial, whose coefficients are polynomials of the $b_i$ (since the $a_i$ are known). These polynomials we can compute fast once we get $q$.&lt;/p&gt;&#xA;" OwnerUserId="419" LastActivityDate="2013-04-18T17:17:35.633" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17315" PostTypeId="2" ParentId="17307" CreationDate="2013-04-18T21:31:39.057" Score="4" Body="&lt;p&gt;Here is a suggestion, for $K = 6$ and $N = 251$. We are given a list $a_i - b_j \pmod{N}$. Start by taking one of them, without loss of generality $a_1-b_1$. Without loss of generality $b_1=0$, and we obtain the value of $a_1$. Now take another one, and hope that it is of the form $a_2-b_1$ (this happens with probability $5/35 = 1/7$), and deduce $a_2$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;At this stage, we know $a_1,a_2,b_1$. Our next goal is to look for $a_1-b_j$ for $j \neq 1$. For each candidate $a_i-b_j$, if $i=1$ then $(a_i-b_j)+(a_2-a_1)=a_2-b_j$ should also be on the list. If $i \neq 1$, then the probability that $(a_i-b_j)+(a_2-a_1)$ is also on the list is roughly $33/251$. So if we do find some candidate $a_i-b_j$ for which $(a_i-b_j)+(a_2-a_1)$ is also on the list, then probably $i=1$. In this way, we can recover $b_2$ with some certainty.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;At this stage, we know $a_1,a_2,b_1,b_2$. In the same way that we recovered $b_2$, we can recover $a_3$ with reasonable certainty. We can then recover $b_3$ by looking for a candidate $a_i-b_j$ for which $(a_i-b_j)+(a_2-a_1)$ and $(a_i-b_j)+(a_3-a_1)$ are both on the list. Because we have more $a$s, our failure probability goes appreciably down. We continue and find $b_3,a_4,b_4,a_5,b_6,a_6,b_6$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;At any point in this algorithm, we might have guessed something wrong, and this will eventually result in a contradiction (say at some point, there is no good candidate $a_i-b_j$). We then backtrack and try another possibility; if we exhaust all possibilities, we backtrack again, and try another possibility (for a different stage of the algorithm); and so on.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is a good exercise to actually program this algorithm - that's probably the only way to understand how to implement the backtracking correctly. That's also the only way to tell whether this algorithm works in practice.&lt;/p&gt;&#xA;" OwnerUserId="40" LastActivityDate="2013-04-18T21:31:39.057" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="17316" PostTypeId="1" CreationDate="2013-04-19T02:06:44.897" Score="2" ViewCount="162" Body="&lt;p&gt;I'm reading &lt;a href=&quot;http://www.cs.princeton.edu/courses/archive/spring13/cos598C/Gionis.pdf&quot; rel=&quot;nofollow&quot;&gt;one of the early LSH papers&lt;/a&gt; and I'm a little confused by the meaning of a &quot;block&quot;. In particular, in the proof of theorem 1 in section 3.2 (p 522), what are the blocks being pointed to? Just hash buckets? The step I'm having trouble with is &quot;The expected number of blocks allocated for $g_j$ which contain exclusively points from $P'$ does not exceed 2&quot; - I'm having trouble parsing this sentence, even though the paper makes it sound trivial.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Am I missing something obvious?&lt;/p&gt;&#xA;" OwnerUserId="15701" LastEditorUserId="40" LastEditDate="2013-04-20T06:00:16.633" LastActivityDate="2013-04-20T06:00:16.633" Title="Locality Sensitive Hashing - meaning of a block" Tags="&lt;hash-function&gt;&lt;data-mining&gt;" AnswerCount="0" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17322" PostTypeId="1" CreationDate="2013-04-19T14:48:16.223" Score="1" ViewCount="201" Body="&lt;p&gt;Consider a Bernoulli experiment, such as flipping a not necessarily fair coin, which results in a positive outcome (heads) with probability $p$ and with a negative outcome (tails) with probability $(1-p)$.  Now repeat this experiment $n$ times, and let the total number of positive outcomes (heads) be $k$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, given $n$ and $k$ but not $p$ what is the probability that the Bernoulli experiment (flipping the coin) again will result in a positive outcome (head)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $n$ and $k$ were 0 this would be an easy task: as there is no further information and the outcomes could be defined the other way around, it is symmetric and thus $p=0.5$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Otherwise it's a little more complicated (the dependency on n ($|n$) is omitted for clarity).&#xA;The expected probability is:&#xA;$\langle p |k\rangle = \int _0 ^1 p\cdot f(p|k) \,\mathrm{d} p$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Using Bayes' theorem gives&#xA;$f(p|k) = p(k|p) \frac{f(p)}{p(k)}  $&#xA;and marginalization gives $p(k)=\int_0^1 p(k|p) \cdot f(p) \,\mathrm{d} p$. The Binomial distribution further tells us that $p(k|p)=\binom{n}{k}\cdot p^k \cdot (1-p)^{n-k}$. But what is the correct term for the prior of $p$, $f(p)$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Jaynes &amp;amp; co. tell me to use a maximum Entropy prior.&#xA;To maximize entropy of $p$  ($H(p)=-\int_0^1 f(p) \cdot ln(f(p)) \,\mathrm{d} p$), set $f(p)=1$. But this would not maximize the entropy of $k$; the entropy of $k$ would be maximal if $p$ was $0.5$ thus if $f(p)=0$ but infinity at 0.5 (integrating to 1).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, what is the correct prior to choose for $f(p)$? Does it depend on $n$?&lt;/p&gt;&#xA;" OwnerUserId="15709" LastEditorUserId="109" LastEditDate="2013-05-15T09:40:05.147" LastActivityDate="2013-05-15T09:40:05.147" Title="How to choose a correct prior" Tags="&lt;it.information-theory&gt;&lt;st.statistics&gt;&lt;shannon-entropy&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17323" PostTypeId="1" AcceptedAnswerId="17325" CreationDate="2013-04-19T15:47:43.097" Score="7" ViewCount="199" Body="&lt;p&gt;Consider the set of points in $\mathbb{R}^n$ with coordinates in $\{-1, 0, 1\}$. Find a hyperplane passing through the origin that contains no points in the set besides the origin.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is simple if we don't give any constraints on the hyperplane. Even if define the hyperplane by a normal vector in $\mathbb{Z}^n$, it is simple. However, what if we require every coordinate of the normal vector to be an integer bounded in absolute value by some polynomial in $n$? Does such a hyperplane exist?&lt;/p&gt;&#xA;" OwnerUserId="15710" LastActivityDate="2013-04-21T19:05:14.623" Title="Hyperplanes not intersecting points on a cube" Tags="&lt;co.combinatorics&gt;&lt;cg.comp-geom&gt;" AnswerCount="2" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17324" PostTypeId="2" ParentId="17307" CreationDate="2013-04-19T16:29:35.333" Score="3" Body="&lt;p&gt;Here's an observation that I think gives you a foothold, possibly enough of one to solve the problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose we have four differences $a_1-b_1$, $a_1-b_2$, $a_2-b_1$, $a_2-b_2$ that arise as the pairwise differences between two $a$'s and two $b$'s.  Call this a &lt;em&gt;quartet&lt;/em&gt; of differences.  Notice that we have a non-trivial relationship:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$(a_1-b_1)-(a_1-b_2) = (a_2-b_1)-(a_2-b_2) \pmod N.$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can try to use this relationship to identify potential quartets out of the list of $K^2$.  For instance, pick four differences out of the list; if they don't satisfy the above relationship, then they definitely don't arise from a quartet structure; if they do satisfy the relationship, they might arise from a quartet.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are many ways you can take things from here, but I suspect this is going to be enough.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I especially suspect that, for your example parameter settings, the problem is going to be pretty easy, because the above test for recognizing a quartet probably won't have too many false positives.  Our of all ${K^2 \choose 4}$ ways of choosing 4 differences from the list, there will be ${K \choose 2}^2$ quartets (which will all satisfy the relationship) and the remainder are non-quartets (which satisfy the relationship with probability $1/N$, heuristically).  Therefore we expect to see about $({K^2 \choose 4}-{K \choose 2}^2)/N$ false positives, i.e., 4-tuples that pass the test even though they aren't quartets.  For your parameters, this means we have 225 quartets and $(58905-225)/251 \approx 234$ other false positives; so about half of the 4-tuples that pass the test are actually quartets.  This means that the above test is a pretty good way to recognize quartets.  Once you can recognize quartets, you can really go to town on recovering the structure of the list of differences.&lt;/p&gt;&#xA;" OwnerUserId="5038" LastActivityDate="2013-04-19T16:29:35.333" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="17325" PostTypeId="2" ParentId="17323" CreationDate="2013-04-19T17:17:26.510" Score="7" Body="&lt;p&gt;No. Let the normal vector be $(a_1,\ldots, a_n)$. If these numbers are $poly(n)$ small integers, then there is an $I$ and $J$ such that $\sum_{i\in I} a_i=\sum_{j\in J} a_j$ by the pigeon hole principle. But then we have $\sum_{i=1}^n \varepsilon_i a_i=0$ for some $\varepsilon \in \{-1,0,1\}^n$.&lt;/p&gt;&#xA;" OwnerUserId="419" LastActivityDate="2013-04-19T17:17:26.510" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17326" PostTypeId="1" CreationDate="2013-04-19T18:34:10.593" Score="3" ViewCount="307" Body="&lt;p&gt;I am trying to track down the name of this digraph and some references:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You take all members of the transformation semigroup on $n$  elements, $T_{n}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For two members $x$ ,$y$ ; if $x$  is in the semigroup generated by y then you put an arrow from $y$  -&gt; $x$ . You would read this as &quot;$x$  is in the semigroup generated by $y$&quot;. Alternatively $y^k = x$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is the name of this digraph? References would be great.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you wanted to visualize it, the symmetric group $S_{n}$ would be one of the connected components. The sinks are idemptent transformations like (0,1,2,3), (1,1,1,1), ... &lt;/p&gt;&#xA;" OwnerUserId="2021" LastEditorUserId="2021" LastEditDate="2013-04-19T18:40:42.147" LastActivityDate="2013-04-19T18:40:42.147" Title="Name this digraph" Tags="&lt;graph-theory&gt;&lt;automata-theory&gt;" AnswerCount="0" CommentCount="8" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17328" PostTypeId="1" AcceptedAnswerId="17330" CreationDate="2013-04-19T20:00:07.783" Score="3" ViewCount="353" Body="&lt;p&gt;&lt;a href=&quot;http://www.cs.uiuc.edu/~jeffe/teaching/datastructures/notes/01-statictodynamic.pdf&quot; rel=&quot;nofollow&quot;&gt;The Bentley-Saxe trick&lt;/a&gt; allows us to go from a static decomposable problem to a problem admitting insertions, where the insertion time is off the optimal time by a factor of $\log n$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is this tight ? Or alternately, is there a more restricted subclass for which you can get insertion time $P(n)/n$ (amortized or worst-case) even if $P(n) = O(n\log n)$ ? Here, $P(n)$ is the time to compute the result statically. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2013-04-19T21:15:46.337" Title="Optimal insertion times in insertion-only data structures beyond Bentley-Saxe" Tags="&lt;ds.data-structures&gt;&lt;dynamic-algorithms&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17330" PostTypeId="2" ParentId="17328" CreationDate="2013-04-19T21:15:46.337" Score="3" Body="&lt;p&gt;Think about your question in reverse: suppose you have a dynamic data structure for some problem — does that imply that you can solve it statically, faster by a log? Why should it? And in fact it is not true.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider range counting in one-dimensional intervals, in a comparison model of computation. That is, the data is a set $S$ of numbers, the query is an interval $[\ell,r]$, and the answer to a query is the size of $S\cap[\ell,r]$. Statically, you can solve it in $O(\log n)$ query time by storing $S$ as a sorted array and using binary search, in preprocessing time $P(n)=\Theta(n\log n)$. Dynamically, you can still solve it in $O(\log n)$ query time by using balanced binary search trees, with insertion time $O(\log n)=O(P(n)/n)$.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2013-04-19T21:15:46.337" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="17331" PostTypeId="1" AcceptedAnswerId="17333" CreationDate="2013-04-19T22:41:58.290" Score="3" ViewCount="210" Body="&lt;p&gt;Given a set of points $V \subset \mathbb{R}^d$, the &lt;em&gt;Voronoi diagram&lt;/em&gt; divides $\mathbb{R}^d$ into $|V|$ parts such that for every $v \in V$, the part of $\mathbb{R}^d$ for which $v$ is closer than any other point in $V$ is exactly a part of the diagram. See also &lt;a href=&quot;http://en.wikipedia.org/wiki/Voronoi_diagram&quot; rel=&quot;nofollow&quot;&gt;Wikipedia&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is well known that for $d=2$, its complexity is $\Theta(n)$ and it can be computed in $O(n \log n)$ time. For $d=3$ however, there are families of pointsets for which the Voronoi diagram has complexity $\Theta(n^2)$, and for $d &amp;gt; 3$ there are even worse cases.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, from what I've seen, all these bad cases seem to occur 'inside' the pointset, and for the purpose I have in mind, this inside is irrelevant.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $m = \max \{ |uv| \mid u, v \in V \}$. Suppose therefore we take a bounding box around our pointset $V$ and increase its size by some constant factor $c$ so that any point in $V$ is at least $m (c-1)/2$ away from this larger box. We take the Voronoi diagram for $V$ and remove the part that is inside the box. We name this new diagram the &lt;em&gt;outer Voronoi diagram&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What is the worst-case complexity of the outer Voronoi diagram for $d=3$? What if $d&amp;gt;3$? If this complexity is smaller than the normal Voronoi diagram, can we also compute it faster?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="988" LastActivityDate="2013-04-20T01:20:12.677" Title="Outer part of Voronoi diagram in 3D" Tags="&lt;ds.data-structures&gt;&lt;cg.comp-geom&gt;&lt;voronoi&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17332" PostTypeId="2" ParentId="17323" CreationDate="2013-04-20T00:29:39.460" Score="3" Body="&lt;p&gt;Just to add to Domotor's answer, any hyperplane whose normal vector has polynomially bounded coefficients (in fact bounded by $2^{o(n)}$) contains &lt;em&gt;an entire face&lt;/em&gt; (i.e. subcube) of the cube of dimension $n - o(n)$. This follows from the &lt;a href=&quot;http://gilkalai.wordpress.com/2008/09/28/extremal-combinatorics-iii-some-basic-theorems/&quot; rel=&quot;nofollow&quot;&gt;Sauer-Shelah lemma&lt;/a&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;To be precise, say each $|a_i| \leq n^c$. Then for any $I \subseteq [n]$, $\sum_{i \in I}{a_i} \in \mathbb{Z} \cap [-n^{c+1}, n^{c+1}]$. So by averaging there exists some integer $b: |b| \leq n^{c+1}$, for which $\mathcal{I}_b = |\{I: \sum_{i \in I}{a_i}  = b\}| \geq 2^{n-1} n^{-c - 1} = 2^{n - o(n)}$. Then according to Sauer-Shelah, there exists a set $S \subseteq [n]$ of size $n - o(n)$ shattered by $\mathcal{I}_b$, i.e. for each $T \subseteq S$ there exists $I \in \mathcal{I}_b$ such that $I \cap S = T$. This means that for any $\epsilon \in \{-1, 0, 1\}^S$, there exists a $\delta \in \{-1, 0, 1\}^n$ such that $\sum{\delta_i a_i} = 0$ and $\forall i\in S: \delta_i = \epsilon_i$. In other words, the hyperplane normal to $a_1, \ldots, a_n$ contains the entire subcube corresponding to $S$ (i.e. the projection of the full dimensional cube onto the coordinate subspace corresponding to $S$).&lt;/p&gt;&#xA;" OwnerUserId="4896" LastEditorUserId="4896" LastEditDate="2013-04-21T19:05:14.623" LastActivityDate="2013-04-21T19:05:14.623" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17333" PostTypeId="2" ParentId="17331" CreationDate="2013-04-20T01:20:12.677" Score="6" Body="&lt;p&gt;I think it's still quadratic, for arbitrarily large choice of $c$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $\epsilon$ be small, and place two line segments $s_1$ and $s_2$ of length $\epsilon^2$, each tangent to the unit sphere at their midpoints, at distance roughly $\epsilon$ apart from each other. Because the line segments are so short, the Voronoi diagram of the two line segments approximates the Voronoi diagram of the two midpoints, which is just a plane $P$ bisecting the sphere. At the center of the sphere, the two equal closest sites are the midpoints of the segments.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, place equally spaced points on each segment. This will cause the Voronoi diagram of the points of a single segment $s_i$ to consist of two halfplanes separated by many thin slabs bounded by parallel planes, that all pass near the center of the sphere. These slabs intersect $P$ in thin parallel two-dimensional stripes, whose slope can be controlled by the angle at which $s_i$ is placed relative to the sphere. By choosing the angles of $s_1$ and $s_2$ so that they are skew to each other, the stripes for $s_1$ on $P$ can be made to cross the stripes for $s_2$ on $P$, near the center of the sphere. This in turn means that for each pair of a Voronoi region from $s_1$ and a Voronoi region from $s_2$, there is a boundary between the two regions near the center of the sphere. Thus, the Voronoi diagram has quadratic complexity in a region of space (the center of the sphere) that is far from a bounding box of the generating sites.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2013-04-20T01:20:12.677" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17334" PostTypeId="2" ParentId="17322" CreationDate="2013-04-20T01:22:20.420" Score="5" Body="&lt;p&gt;&lt;em&gt;The question this response was trying to answer, roughly: &quot;What is a way to reveal information about the outcome of $n$ i.i.d. coin flips that helps you learn the bias of the coin, but wihout revealing too much about the individual bits?&quot;&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since the bits are i.i.d., the numbers $h$ and $t$ (number each of heads and tails) are completely sufficient to describe what the sequence tells you about the bias of the coin. (Or if you know $n$, either number alone.) This follows because, for each possible parameter $p$, all sequences resulting in a particular count $(h,t)$ are equally likely. So revealing the individual bits adds no information about the bias of the coin once $h$ and $t$ are known. On the other hand, presumably you don't mind releasing $h$ and $t$ as they do not give too much information about any one bit flip.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As a sidenote, one way to approach this general sort of problem is &lt;em&gt;differential privacy&lt;/em&gt;. I'm not sure that it's a good fit for your setting, but it formalizes the notion of how much one learns about data from computing some function on the data. The idea is that, if I have two sequences $x$ and $x'$ that differ only on a single bit (say the $i$th bit), then my function, which is randomized, should produce approximately the same distribution over outputs:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;\begin{equation}&#xA;\Pr[f(x) = a] \leq e^{\varepsilon} \Pr[f(x') = a]&#xA;\end{equation}&#xA;for all $a$.&lt;/p&gt;&#xA;" OwnerUserId="8243" LastEditorUserId="8243" LastEditDate="2013-04-20T14:10:05.953" LastActivityDate="2013-04-20T14:10:05.953" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="17335" PostTypeId="1" CreationDate="2013-04-20T04:34:50.080" Score="1" ViewCount="384" Body="&lt;p&gt;I have this confusion related to L1 and L2 svm. It is given in this &lt;a href=&quot;http://www.csie.ntu.edu.tw/~cjlin/papers/cddual.pdf&quot; rel=&quot;nofollow&quot;&gt;paper&lt;/a&gt; that&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The dual problem is given by&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;min(\alpha) = 1/2*\alpha^T\hat Q\alpha - e^T\alpha&#xA;$$&#xA;subject to&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;0 &amp;lt;= \alpha_i &amp;lt;= U&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;\hat Q = Q+D&#xA;$$&#xA;D is a diagonal matrix  and $Q_{ij}=y_iy_jx_i^Tx_j$. For L1 SVM U=C and $D_{ii}=0$. For L2 SVM U=inf and $D_{ii}=1/2C$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I didn't get what this U term is and why is in the case of L2 SVM U=inf and $D_{ii}=1/2C$. How was it derived?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is how I tried to derive it but I think I am making certain mistake&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$L(w,b,\zeta,\alpha,\gamma) = \frac{1}{2}||w||^2 + C\sum_i\zeta^2 - \sum_{i}\alpha_i(y^{(i)}(w^Tx^{(i) } +b)-1+\zeta_i) - \sum_{i}\gamma_i\zeta_i&#xA;$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Differentiating with respect to $w,\zeta$ and b&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$w=\sum_i\alpha^{(i)}y^{(i)}x^{(i)}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\sum_i\alpha_iy^{(i)} = 0$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$2C\zeta_i = \alpha_i + \gamma_i$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now when I substitute these values into the objective function I get&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$-\frac{1}{2}||w||^2 + \sum_i\alpha_i-C\sum_i\zeta^2)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I don't get the expression as given in the paper. I know I am pretty close but I think I am screwing up somewhere. Can anyone give some suggestion where I am wrong?&lt;/p&gt;&#xA;" OwnerUserId="15672" LastEditorUserId="15672" LastEditDate="2013-04-23T23:30:36.130" LastActivityDate="2013-04-26T03:52:05.110" Title="Confusion related to L1 and L2 svm" Tags="&lt;optimization&gt;&lt;convex-optimization&gt;&lt;svm&gt;" AnswerCount="0" CommentCount="8" FavoriteCount="1" ClosedDate="2013-08-28T04:30:48.117" ContentLicense="CC BY-SA 3.0" />
  <row Id="17336" PostTypeId="2" ParentId="17307" CreationDate="2013-04-20T05:19:41.773" Score="3" Body="&lt;p&gt;Here's a different approach, based upon iteratively finding numbers that cannot appear among $\{a_1,\dots,a_6\}$.  Call a set $A$ an over-approximation of the $a$'s if we know that $\{a_1,\dots,a_6\} \subseteq A$.  Similarly, $B$ is an overapproximation of the $b$'s if we know that $\{b_1,\dots,b_6\} \subseteq B$.  Obviously, the smaller $A$ is, the more useful this over-approximation is, and the same goes for $B$.  My approach is based upon iteratively refining these over-approximations, i.e., iteratively reducing the size of these sets (as we rule out more and more values as impossible).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The core of this approach is a method for &lt;em&gt;refinement&lt;/em&gt;: given an over-approximation $A$ for the $a$'s and an over-approximation $B$ for the $b$'s, find a new over-approximation $A^*$ for the $a$'s such that $A^* \subsetneq A$.  In particular, normally $A^*$ will be smaller than $A$, so this lets us refine the over-approximation for the $a$'s.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By symmetry, essentially the same trick will let us refine our over-approximation for the $b$'s: given an over-approximation $A$ for the $a$'s and an over-approximation $B$ for the $b$'s, it will produce a new over-approximation $B^*$ for the $b$'s.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, let me tell you how do refinement, then I'll put everything together to get a full algorithm for this problem.  In what follows, let $D$ denote the multi-set of differences, i.e., $D=\{a_i-b_j:1 \le i,j \le 6\}$; we'll focus on finding a refined over-approximation $A^*$, given $A,B$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;How to compute a refinement.&lt;/strong&gt;  Consider a single difference $d \in D$.  Consider the set $d+B=\{d+y : y \in B\}$.  Based on our knowledge that $B$ is an over-approximation of the $b$'s, we know that at least one element of $d+B$ must be an element of $\{a_1,\dots,a_6\}$.  Therefore, we can treat each of the elements in $d+B$ as a &quot;suggestion&quot; for a number to possibly include in $A$.  So, let's sweep over all differences $d \in D$ and, for each, identify which numbers are &quot;suggested&quot; by $d$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now I'm going to observe that the number $a_1$ is sure to be suggested at least 6 times during this process.  Why?  Because the difference $a_1-b_1$ is in $D$, and when we process it, $a_1$ will be one of the numbers it suggests (since we're guaranteed that $b_1 \in B$, $(a_1-b_1)+B$ will surely include $a_1$).  Similarly, the difference $a_1-b_2$ appears somewhere in $D$, and it'll cause $a_1$ to be suggested again.  In this way, we see that the correct value of $a_1$ will be suggested at least 6 times.  The same holds for $a_2$, and $a_3$, and so on.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, let $A^*$ be the set of numbers $a^*$ that have been suggested at least 6 times.  This is sure to be an over-approximation of the $a$'s, by the above comments.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As an optimization, we can filter out all suggestions that are not present in $A$ immediately: in other words, we can treat the difference $d$ as suggesting all of the values $(d+B)\cap A$.  This ensures that we will have $A^* \subseteq A$.  We are hoping that $A^*$ is strictly smaller than $A$; no guarantees, but if all goes well, maybe it will be.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Putting this together, the algorithm to refine $A,B$ to yield $A^*$ is as follows:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Let $S = \cup_{d \in D} (d+B)\cap A$.  This is the multi-set of suggestions.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Count how many times each value appears in $S$.  Let $A^*$ be the set of values that appear at least 6 times in $S$.  (This can be implemented efficiently by building an array $a$ of 251 initially, initially all zero, and each time the number $s$ is suggested, you increment $a[s]$; at the end you sweep through $a$ looking for elements whose value is 6 or larger)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;A similar method can be built to refine $A,B$ to get $B^*$.  You basically reverse things above and flip some signs: e.g., instead of $d+B$, you look at $-d+A$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;How to compute an initial over-approximation.&lt;/strong&gt; To get our initial over-approximation, one idea is to assume (wlog) that $b_1=0$.  It follows that each value $a_i$ must appear somewhere among $D$, thus the list of differences $D$ can be used as our initial over-approximation for the $a$'s.  Unfortunately, this doesn't give us a very useful over-approximation for the $b$'s.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A better approach is to additionally guess the value of one of the $a$'s.  In other words, we assume (wlog) that $b_1=0$, and use $A=D$ as our initial over-approximation of the $a$'s.  Then, we guess which one of these 36 values is indeed one of the $a$'s, say $a_1$.  That then gives us an over-approximation $B=a_1-D$ for the $b$'s.  We use this initial over-approximation $A,B$, then iteratively refine it until convergence, and test whether the result is correct.  We repeat up to 36 times, with 36 different guesses at $a_1$ (on average 6 guesses should be enough) till we find one that works.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;A full algorithm.&lt;/strong&gt;  Now we can have a full algorithm to compute $a_1,\dots,a_6,b_1,\dots,b_6$.  Basically, we derive an initial over-approximation for $A$ and $B$, then iteratively refine.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;em&gt;Make a guess:&lt;/em&gt; For each $z \in D$, guess that $a_1=z$.  Do the following:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;em&gt;Initial over-approximation:&lt;/em&gt; Define $A=D$ and $B=z-D$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;em&gt;Iterative refinement:&lt;/em&gt; Repeatedly apply the following until convergence:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Refine $A,B$ to get a new over-approximation $B^*$ of the $b$'s.&lt;/li&gt;&#xA;&lt;li&gt;Refine $A,B^*$ to get a new over-approximation $A^*$ of the $a$'s.&lt;/li&gt;&#xA;&lt;li&gt;Let $A:= A^*$ and $B:= B^*$.&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;em&gt;Check for success:&lt;/em&gt; If the resulting sets $A,B$ each have size 6, test whether they are a valid solution to the problem.  If they are, stop.  If not, continue with the loop over candidate values of $z$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Analysis.&lt;/strong&gt;&#xA;Will this work?  Will it eventually converge on $A=\{a_1,\dots,a_6\}$ and $B=\{b_1,\dots,b_6\}$, or will it get stuck without completely solving the problem?  The best way to find out is probably to test it.  However, for your parameters, yes, I expect it will be effective.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we use method #1, as long as $|A|,|B|$ are not too large, heuristically I expect the sizes of the sets to monotonically shrink.  Consider deriving $A^*$ from $A,B$.  Each difference $d$ suggests $|B|$ values; one of them correct, and the other $|B|-1$ can be treated (heuristically) as random numbers.  If $x$ is a number that does not appear among the $a$'s, what is the probability that it survives the filtering and is added to $A^*$?  Well, we expect $a$ to be suggested about $(|B|-1) \times 36/251$ times in total (on average, with standard deviation about the square root of that).  If $|B|\le 36$, the probability that a wrong $x$ survives the filtering should be about $p=0.4$ or so (using the normal approximation for the binomial, with continuity correction).  (The probability is smaller if $|B|$ is smaller; e.g., for $|B|=30$, I expect $p\approx 0.25$.)  I expect the size of $A^*$ to be about $p (|A|-6) + 6$, which will strictly improve the over-approximation since it is strictly smaller than $|A|$.  For instance, if $|A|=|B|=36$, then based upon these heuristics I expect $|A^*|\approx 18$, which is a big improvement over $|A|$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Therefore, I predict that the running time will be very fast.  I expect about 3-5 iterations of refinement to be enough for convergence, typically, and about 6 guesses at $z$ should probably be enough.  Each refinement operation involves maybe a few thousand memory reads/writes, and we do that maybe 20-30 times.  So, I expect this to be very fast, for the parameters you specified.  However, the only way to find out for sure is to try it and see if it works well or not.&lt;/p&gt;&#xA;" OwnerUserId="5038" LastEditorUserId="5038" LastEditDate="2013-04-20T07:24:13.613" LastActivityDate="2013-04-20T07:24:13.613" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="17337" PostTypeId="2" ParentId="17285" CreationDate="2013-04-20T07:16:59.163" Score="8" Body="&lt;p&gt;If you don't use the flow per se, but use the Ford-Fulkerson algorithm (or some version, like Edmonds-Karp), you can get both the max-flow &lt;em&gt;and&lt;/em&gt; the min-cut directly as a result. When looking for augmenting paths, you do a traversal, in which you use some form of queue of as-yet-unvisited nodes (in the Edmonds-Karp version, you use BFS, which means a FIFO queue). In the last iteration, you can't reach $t$ from $s$ (this is the termination criterion, after all). At this point, the set of nodes you reached forms the $s$-part of the cut, while the nodes you &lt;em&gt;didn't&lt;/em&gt; reach form the $t$-part.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The leaf nodes of your traversal tree form the “fringe” of the $s$-part, while the nodes in your traversal queue form the fringe of the $t$-part, and what you want is the set of edges from the $s$-fringe to the $t$-fringe. This can also easily be maintained during traversal: Just add an edge to the cut when it is examined, and leads to an unvisited node, and remove it if it is traversed (so its target becomes visited). Then, once Ford-Fulkerson is finished, you'll have your min-cut (or, rather, one of them) right there. The running time will be (asymptotically) identical to Ford-Fulkerson (or Edmonds-Karp or whatever version you're using), which should give you what you were looking for.&lt;/p&gt;&#xA;" OwnerUserId="901" LastEditorUserId="901" LastEditDate="2013-04-22T11:29:54.237" LastActivityDate="2013-04-22T11:29:54.237" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17338" PostTypeId="1" CreationDate="2013-04-20T08:29:49.233" Score="5" ViewCount="1078" Body="&lt;p&gt;Consider the following algorithm for clustering sets: Begin with $n$ sets, $S_1, S_2, \ldots,S_n$, such that $$\sum_{i = 1}^n |S_i| = m \,,$$ and successively merge sets with at least $k$ elements in common. E.g., if $S_1 = \{1, 2, 3\}$, $S_2 = \{3, 4, 5\}$, and $S_3 = \{5, 6, 7\}$, and $k = 1$, then $S_1$ can be merged with $S_2$ to create $S_1' = \{1, 2, 3, 4, 5\}$, and $S_1'$ can be merged with $S_3$ to create $S_1'' = \{1,\ldots,7\}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Warmup question:&lt;/strong&gt; Can this clustering algorithm be implemented efficiently for $k = 1$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Answer to warmup question:&lt;/strong&gt; If the sets only need to overlap by one element to be merged as in the example above, the clustering can be performed in $O(m)$ time using connected components if you are careful.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Harder question:&lt;/strong&gt; Suppose the sets must overlap by at least 2 (or $k$) elements to be merged. Is there an efficient algorithm for this case (i.e., close to linear time)? The challenge here is that you can have cases like $S_1 = \{1, 2, 3\}$, $S_2 = \{2, 4, 5\}$, $S_3 = \{1, 4, 5\}$, with $k = 2$. Note that in this case $S_1$ can be merged with $S_2$ and $S_3$, but only after $S_2$ and $S_3$ are merged to create $S_2'$ so that $S_1$ and $S_2'$ share both elements 1 and 2.&lt;/p&gt;&#xA;" OwnerUserId="2422" LastEditorUserId="248" LastEditDate="2013-04-20T15:53:01.503" LastActivityDate="2013-04-20T15:53:01.503" Title="Fast algorithm for successively merging k-overlapping sets?" Tags="&lt;ds.algorithms&gt;&lt;graph-algorithms&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="17342" PostTypeId="2" ParentId="6991" CreationDate="2013-04-20T13:23:10.743" Score="0" Body="&lt;p&gt;I have now implemented the equistabbing based algorithm, where the lowest sibling ancestors are searched brute-force (before trying to find a O(1) variant), in order to verify the maximum number of rounds claimed in theorem 13: $O(\epsilon^{1−d}(\log n+\log \epsilon^{−1}))$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am using the &quot;pathological&quot; example from my previous answer. The 2-dimensional root square has a side length of 512, where the centre coordinate is (256, 256). Coordinates are given in integers, leading to a straight forward $\epsilon = 1$. The points are placed equally spaced horizontally across the root square, and the query point $v$ is at (256, 511) (note that 512 is already outside the root square).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the figure below, the full tree $Q_0$ is shown, and the number of points in this example is 16. The blue square outlines indicate the interesting squares which are pushed onto the priority queue, and the digits in their centre indicate the round number in which they are pushed. Leaf points discovered are also labelled with the round number in which they are accounted for. The three transparent blue circles indicate the known NN radius after the 1st, the 2nd, and the 7th round (the nearest neighbour is first seen in the 7th round). There are 12 rounds in total (the last 6 only pop squares from the queue, but do not add any new squares).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have run this example with a series of increasingly large root squares and number of points, where the spacing of the points remained the same (32). This confirmed what is already intuitively visible from the illustration: The algorithm needs $O(\sqrt n)$ rounds, whereas theorem 13 with $d = 2$ and $\epsilon = 1$ states that only $O(\log n)$ rounds would be needed.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So unless I am missing something crucial, the algorithm cannot achieve the stated speed. Any comments or ideas?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/CEcqe.png&quot; alt=&quot;traversal&quot;&gt;&lt;/p&gt;&#xA;" OwnerUserId="4757" LastActivityDate="2013-04-20T13:23:10.743" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17347" PostTypeId="1" AcceptedAnswerId="19205" CreationDate="2013-04-20T19:44:13.733" Score="9" ViewCount="297" Body="&lt;p&gt;Let $F$ be a family of $d$-element subsets of a finite universe $U$ of objects.&#xA;A family $H$ of $k$-element subsets of $U$, with $1 \le k &amp;lt; d$, is a $(k,d)$-&lt;em&gt;hitting-set&lt;/em&gt; of $F$ if for each $V \in F$ there exists at least one set $W \in H$ such that $W \subset V$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a collection $F$ as above, the $(k,d)$-&lt;em&gt;hitting-set problem&lt;/em&gt; is to find a smallest $(k,d)$-hitting-set $H$ for $F$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;When $k = 1$ we have the standard hitting-set problem, and there are lots of previous results for it.&#xA;I know of parameterized analyses for the case with $k = 1$ and $d \le 3$ (see &lt;a href=&quot;http://link.springer.com/chapter/10.1007/978-3-642-29116-6_6&quot;&gt;Brankovic and Fernau&lt;/a&gt;, for example).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does anyone know any results regarding the complexity or the hardness of approximation of the $(k,d)$-hitting-set problem with:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;$k = 1$ and $d = 4$?&lt;/li&gt;&#xA;&lt;li&gt;$d = 4$ and $1 &amp;lt; k &amp;lt; d$?&lt;/li&gt;&#xA;&lt;li&gt;$1 \le k &amp;lt; d$ and $d$ arbitrary?&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="183" LastEditorUserId="419" LastEditDate="2013-04-21T08:22:40.667" LastActivityDate="2013-09-30T10:18:17.320" Title="Hitting sets with a subfamily" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;approximation-hardness&gt;&lt;parameterized-complexity&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17349" PostTypeId="2" ParentId="10759" CreationDate="2013-04-21T05:59:10.810" Score="3" Body="&lt;p&gt;Given that you said it would be enough for the sequence to be unpredictable, here is a very simple solution.  The $i$th value in the sequence is given by&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$x_i = 2^{128} i + y_i$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where $y_i$ is any pseudorandom sequence where you can efficiently find the $i$th value ($y_i$) and where each $y_i$ is 128 bits wide (i.e., $0 \le y_i &amp;lt; 2^{128}$).  For instance, you could use&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$y_i = F(K,i)$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where $F$ is any pseudorandom function (e.g., AES) with a 128-bit output, and $K$ is a key (the seed from which the entire sequence is generated).&lt;/p&gt;&#xA;" OwnerUserId="5038" LastEditorUserId="634" LastEditDate="2013-04-21T10:55:48.120" LastActivityDate="2013-04-21T10:55:48.120" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17350" PostTypeId="1" AcceptedAnswerId="18520" CreationDate="2013-04-21T07:01:47.967" Score="5" ViewCount="875" Body="&lt;p&gt;In short my question is what are all known explicit constructions of asymptotically good codes over finite alphabet?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In more details: A sequence of codes codes $C_i: F^{k_i}\rightarrow F^{n_i}$ with distances $d_i$ is asymptotically good iff exists constants $R,\delta$ such that &#xA; $\frac{k_i}{n_i}\geq R, \frac{d_i}{n_i}\geq \delta$.&#xA;My question is what are all known ways to construct such asymptotically good codes. &#xA;(Note the question is about finite alphabets)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I can give two examples: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) Goppa AG codes: &lt;a href=&quot;http://en.wikipedia.org/wiki/Goppa_code&quot; rel=&quot;noreferrer&quot;&gt;http://en.wikipedia.org/wiki/Goppa_code&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) Expander codes: &lt;a href=&quot;http://en.wikipedia.org/wiki/Expander_code&quot; rel=&quot;noreferrer&quot;&gt;http://en.wikipedia.org/wiki/Expander_code&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;3) Justesen codes:  &lt;a href=&quot;http://en.wikipedia.org/wiki/Justesen_code&quot; rel=&quot;noreferrer&quot;&gt;http://en.wikipedia.org/wiki/Justesen_code&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would like to know an other examples of asymptotically good codes. &lt;/p&gt;&#xA;" OwnerUserId="1821" LastEditorUserId="1821" LastEditDate="2013-04-21T07:29:28.237" LastActivityDate="2013-07-31T21:16:17.730" Title="Asymptotically good codes" Tags="&lt;big-list&gt;&lt;coding-theory&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="17351" PostTypeId="1" CreationDate="2013-04-21T10:18:37.043" Score="6" ViewCount="747" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;Consider any tree $T$ with $n&amp;gt;2$ vertices and $k$ leaves. Let's denote $G(T)$ a graph constructed from $T$ by connecting its leaves into $k$-cycle in such way that $G(T)$ is planar.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;In case I wasn't clear enough I'll give an example:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let T be a tree with edges E(T) = { {1,2}, {2,3}, {2,4}, {4,5} } and then E(G(T)) = sum of the sets: E(T) and { {1,5}, {5,3}, {3,1} }, since we are connecting leaves 1,5,3 into a cycle. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;And I believe that if $T$ is not $K_{1,2r+1}$ then $G(T)$ is $3$-colorable, but my problem is I don't know how to prove it. I was trying to come up with an algorithm that starts with $2$-coloring of a tree and then with third color fix collisions on a cycle, but this led me to nowhere. &lt;/p&gt;&#xA;" OwnerUserId="15735" LastActivityDate="2013-04-24T19:40:19.583" Title="3-coloring of specific planar graphs" Tags="&lt;planar-graphs&gt;" AnswerCount="4" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="17354" PostTypeId="2" ParentId="3473" CreationDate="2013-04-21T13:37:46.113" Score="11" Body="&lt;p&gt;Another problem with this phenomenon is the MINIMUM $t$-SPANNER problem on split graphs. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For a constant $t$, a &lt;em&gt;$t$-spanner&lt;/em&gt;  of a connected graph $G$ is a connected spanning subgraph $H$ of $G$ such that for every pair of vertices &#xA;$x$ and $y$, the distance between $x$ and $y$ in $H$ is at most $t$ times their distance in $G$. &#xA;The MINIMUM $t$-SPANNER problem asks for a $t$-spanner with minimum number of edges of a given graph. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A &lt;em&gt;split graph&lt;/em&gt; is a graph whose vertex set can be partitioned into a clique and an independent set. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0890540197926419&quot;&gt;this paper&lt;/a&gt; it was shown that MINIMUM 2-SPANNER on split graphs is NP-hard while for each $t \ge 3$, MINIMUM $t$-SPANNER is easy on split graphs.&lt;/p&gt;&#xA;" OwnerUserId="13136" LastEditorUserId="13136" LastEditDate="2013-04-22T09:09:44.357" LastActivityDate="2013-04-22T09:09:44.357" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17355" PostTypeId="2" ParentId="17351" CreationDate="2013-04-21T15:34:07.280" Score="0" Body="&lt;p&gt;May be one should be more specific about the construction of G(T) from T. Consider the following (counter)-example: E(T) = {(1,2), (1,3), (1,4)} and then you form G(T) by adding the edge-set: {(2,3), (3,4), (4,2)} then there is surely a planar-embedding of the graph but is not 3-colorable! I know I've been too generous (:) ) in the construction of G(T).&lt;/p&gt;&#xA;" OwnerUserId="15740" LastActivityDate="2013-04-21T15:34:07.280" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="17356" PostTypeId="2" ParentId="17351" CreationDate="2013-04-21T15:50:39.890" Score="6" Body="&lt;p&gt;To prove that every tree with two or more internal nodes gives you a 3-colorable graph, use induction on the number of nodes of the tree. If you orient the tree from an arbitrarily chosen root node, there always exists an internal node $v$ whose children are all leaves. Now split into cases:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;If $v$ has one child, then the graph can be reduced down to nothing by repeatedly removing vertices of degree at most two, and three-colored by reinserting the vertices in the reverse order and giving them a color distinct from their two neighbors.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;If $v$ has three or more children, then the tree can be reduced in size by removing two consecutive children, forming the graph by connecting the remaining leaves into a cycle, and then coloring the smaller graph. The remaining children of $v$ must alternate in color and reinserting the removed children maintains the same alternation.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;If $v$ has exactly two children, and there are three or more internal nodes, then remove $v$ and its two children from $T$, form  the graph by connecting the remaining leaves into a cycle, and then color it. Let $p$, $q$, and $r$ be the parent of $v$, the node to the left of $v$'s left child in the leaf cycle, and the node to the right of $v$'s right child in the leaf cycle; $q$ and $r$ are adjacent in the smaller graph, so must have different colors. There are two subcases. If $p$, $q$, and $r$ use only two colors among them, then the two children of $v$ can be colored in alternation with $q$ and $r$ using the same two colors, and $v$ can be given the remaining third color. On the other hand, if $p$, $q$, and $r$ use three different colors, then $v$ can be given $q$'s color, the left child of $v$ can be given $r$'s color, and the right child of $v$ can be given $p$'s color.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;In the remaining base case, $T$ has exactly two internal nodes, each adjacent to two leaves. The graph is the graph of a triangular cylinder, which can be three-colored.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Incidentally, if $T$ has no degree two vertices, then $G(T)$ is called a &lt;a href=&quot;http://en.wikipedia.org/wiki/Halin_graph&quot;&gt;Halin graph&lt;/a&gt;; with or without the degree two restriction, it has bounded treewidth, so an alternative method for finding an optimal coloring in linear time is to use dynamic programming. However, this method does not tell you ahead of time which trees require only three colors.&lt;/p&gt;&#xA;" OwnerUserId="95" LastEditorUserId="95" LastEditDate="2013-04-21T22:25:57.787" LastActivityDate="2013-04-21T22:25:57.787" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="17361" PostTypeId="2" ParentId="17351" CreationDate="2013-04-21T22:55:33.913" Score="0" Body="&lt;p&gt;&lt;strong&gt;Added 4/24/13&lt;/strong&gt;:  I tried replacing this incorrect proof with a correct one yesterday, but for some reason was unable to do so, so I posted the correction separately.  There is no reason to read any further here, except perhaps for the link to mathoverflow. &lt;strong&gt;[end of addition]&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I posted the following proof at &lt;a href=&quot;https://mathoverflow.net/questions/128169/3-coloring-of-specific-planar-graphs&quot;&gt;https://mathoverflow.net/questions/128169/3-coloring-of-specific-planar-graphs&lt;/a&gt; where the problem was cross posted (as fidbc noted in comments here and there):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let's call the vertices that leaves are connected to &quot;buds.&quot;  Note that the cycle traversing the leaves must pass &lt;em&gt;consecutively&lt;/em&gt; through the leaves of each bud.  This makes everything easy.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As in nvcleemp's answer, start with a 2-coloring (Black and White) of the tree.  If the number of leaves is even, there's no problem changing every other one to a third color (Red).  If the number of leaves is odd and the tree is not a star, there are two possibilities:  either one of the buds has an even number of leaves, or all the buds have an odd number of leaves and there are an odd number of them (and that number is at least 3).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The case where there's a bud with an even number of leaves is easy to handle:  Take the portion of the cycle that doesn't contain that bud's leaves, note that it is a path connecting an odd number of leaves (since odd minus even is odd), and change every other leaf's color to Red, starting with the first and hence stopping with the last.  Finally, change the selected bud's color to Red and alternate its leaves Black and White.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The case where there are an odd number of buds, each with an odd number of leaves, is a little trickier.  For the moment, retract all the leaves down to their buds, dragging the cycle with them.  Some of the edges of this &quot;retraction&quot; cycle might coincide with edges connecting buds of the underlying tree, but they can't all coincide -- there must be at least two &quot;consecutive&quot; buds on the retraction cycle that are not in fact connected.  (This is where non-starness is assumed.)  Now color these two buds Red. Finally, undo the retraction of the original cycle's leaves and, starting with the first first leaf of the first non-Red bud, color every other leaf Red.  Since there's an odd number of buds each with an odd number of leaves, this changes the last leaf of the last non-Red bud to Red, leaving only the leaves of the two Red buds, which can be colored alternately Black and White.&lt;/p&gt;&#xA;" OwnerUserId="15747" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.530" LastActivityDate="2013-04-24T19:40:19.583" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17363" PostTypeId="1" CreationDate="2013-04-22T02:33:13.417" Score="0" ViewCount="248" Body="&lt;p&gt;I tried to look for some references but could not find any. I knew it is proved to be NP-complete via a transformation from Knapsack or 3DM problem. But I couldn't find a way to apply PCP theorem to get the hardness of approximation for this problem. Thank you.&lt;/p&gt;&#xA;" OwnerUserId="15749" LastActivityDate="2013-04-22T03:56:14.583" Title="Is there any reference on the hardness of approximation for 2-partition problem?" Tags="&lt;np-hardness&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17364" PostTypeId="2" ParentId="6991" CreationDate="2013-04-22T02:38:36.567" Score="5" Body="&lt;p&gt;One can think about skip quadtree as a skip-list implementation of a data-structure storing the points according to their z-order. It is (arguably) at least conceptually simpler... &lt;/p&gt;&#xA;&#xA;&lt;p&gt;See chapter 2 here: &lt;a href=&quot;http://goo.gl/pLiEO&quot;&gt;http://goo.gl/pLiEO&lt;/a&gt; . &lt;/p&gt;&#xA;&#xA;&lt;p&gt;And yes, assuming you can perform some basic z-order operations in constant time, you can definitely do ANN in logarithmic time. The aforementioned chapter also shows that there is no way to avoid having bizarre operations if one wants compressed quadtrees. Note, that LCA operation is not necessary...&lt;/p&gt;&#xA;" OwnerUserId="9594" LastActivityDate="2013-04-22T02:38:36.567" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="17365" PostTypeId="2" ParentId="17363" CreationDate="2013-04-22T03:56:14.583" Score="1" Body="&lt;p&gt;From the Wikipedia page on the Partition problem: &quot;...there are fully polynomial-time approximation schemes for the subset-sum problem, and hence for the partition problem as well&quot;. The references given there are&#xA;&lt;a href=&quot;http://books.google.com/?id=u5DB7gck08YC&amp;amp;pg=PA97&quot; rel=&quot;nofollow&quot;&gt;Kellerer, Pferschy, Pisinger&lt;/a&gt; and &lt;a href=&quot;http://www.ams.org/mathscinet-getitem?mr=1086874&quot; rel=&quot;nofollow&quot;&gt;Martello, Toth&lt;/a&gt;. &lt;/p&gt;&#xA;" OwnerUserId="15637" LastActivityDate="2013-04-22T03:56:14.583" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="17366" PostTypeId="2" ParentId="9510" CreationDate="2013-04-22T04:03:21.817" Score="2" Body="&lt;p&gt;Yes, it can be done. The following paper describes a construction that solves your problem:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.syssec.ethz.ch/research/USS_JSAC10.pdf&quot; rel=&quot;nofollow&quot;&gt;Anti-jamming Broadcast Communication using Uncoordinated Spread Spectrum Techniques&lt;/a&gt;.  Christina Pöpper, Mario Strasser, and Srdjan Capkun.  EEE Journal on Selected Areas in Communications (JSAC): Special Issue on Mission Critical Networking, 2010.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Their solution is actually even better than you asked for.  They also provide security against insider attacks: even an authorized recipient does not obtain any information that would allow the recipient to jam the channel and prevent others from receiving the broadcast.&lt;/p&gt;&#xA;" OwnerUserId="5038" LastActivityDate="2013-04-22T04:03:21.817" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17370" PostTypeId="2" ParentId="17351" CreationDate="2013-04-22T23:37:06.410" Score="1" Body="&lt;p&gt;The proof I posted here (and at MathOverflow) yesterday is flawed.  Here is a corrected version:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As nvcleemp noted (at MathOveflow), one should start with a 2-coloring (Black and White) of the tree and, if the number of leaves is even, simply change every other leaf around the cycle to a third color (Red).  It's only if there is an odd number leaves that we have to do something fancier.  To handle that case, it's helpful to introduce a tiny bit of terminology:  Let's call the vertices that leaves are connected to &quot;buds.&quot; &lt;/p&gt;&#xA;&#xA;&lt;p&gt;We'll start with a little lemma:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;If the tree is not a star, then there&#xA;  are at least two buds for which the&#xA;  cycle traversing the leaves passes &#xA;  &lt;em&gt;consecutively&lt;/em&gt; through those buds' leaves.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Proof:  &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;It's easy to see that this is true if&#xA;  there are only two buds.  The rest is&#xA;  by induction, which is easiest to&#xA;  picture if you imagine the graph&#xA;  deformed so that the cycle through the&#xA;  leaves is a circle.  Suppose there's a&#xA;  bud for which the cycle does not pass&#xA;  consecutively through its leaves. &#xA;  Picture that bud as being at the center of the&#xA;  circle and two of its non-consecutive&#xA;  leaves at 12:00 and 6:00 on the&#xA;  circle, connected to the bud by radii.&#xA;  The non-consecutiveness means there&#xA;  are other buds connecting to other&#xA;  leaves on &lt;em&gt;each&lt;/em&gt; side of the diameter&#xA;  just drawn.  This means there is a&#xA;  &lt;em&gt;smaller&lt;/em&gt; tree on each side (including the bud and two leaves of the&#xA;  diameter), so induction applies.  One&#xA;  of the two consecutive-leaf buds for each&#xA;  side may be the bud at the center of&#xA;  the circle, but that still leaves at&#xA;  least one bud on each side for which&#xA;  the cycle passes through its leaves&#xA;  consecutively.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;We're now in position to complete the proof of 3-coloring for non-stars in the case of oddly many leaves.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Pick one of the buds for which the cycle passes consecutively through its leaves.  (The lemma guarantees us two, but we only need one.)  Change its color to Red.  Skipping its leaves for the moment, and starting with the &quot;next&quot; leaf (say running clockwise), turn every other leaf Red until you get back around to the Red bud's leaves, at which point you just need to alternate Black and White.  (Note, this works even for the &quot;easy&quot; case where the number of leaves is even.)&lt;/p&gt;&#xA;" OwnerUserId="15760" LastActivityDate="2013-04-22T23:37:06.410" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17371" PostTypeId="1" AcceptedAnswerId="17373" CreationDate="2013-04-23T02:34:18.297" Score="10" ViewCount="535" Body="&lt;p&gt;In communication complexity, the log-rank conjecture states that&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$cc(M) = (\log rk(M))^{O(1)}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Where $cc(M)$ is the communication complexity of $M(x,y)$ and $rk(M)$ is the rank of $M$ (as a matrix) over the reals.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, when you are just using the rank-method to lower bound $cc(M)$ you can use $rk$ over any field that is convenient. &lt;strong&gt;Why does the log-rank conjecture restrict to rk over the reals?&lt;/strong&gt; Is the conjecture resolved for $rk$ over fields of non-zero characteristic?  If not, is it of interest or is there something special about $rk$ over $\mathbb{R}$?&lt;/p&gt;&#xA;" OwnerUserId="1037" LastActivityDate="2013-04-23T02:48:58.543" Title="Why does the log-rank conjecture use rank over the reals?" Tags="&lt;cc.complexity-theory&gt;&lt;big-picture&gt;&lt;linear-algebra&gt;&lt;open-problem&gt;&lt;communication-complexity&gt;" AnswerCount="1" CommentCount="6" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17373" PostTypeId="2" ParentId="17371" CreationDate="2013-04-23T02:48:58.543" Score="14" Body="&lt;p&gt;The conjecture fails over $\mathbb{F}_2$. Look at $M(x, y) = \langle x, y \rangle \bmod 2$, and $x, y \in \{0, 1\}^n$. The communication complexity is $\Omega(n)$, but the rank of $M$ over $\mathbb{F}_2$ is $n$, by the linearity of inner product. &lt;/p&gt;&#xA;" OwnerUserId="4896" LastActivityDate="2013-04-23T02:48:58.543" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17374" PostTypeId="2" ParentId="17252" CreationDate="2013-04-23T05:53:37.677" Score="3" Body="&lt;p&gt;Let $f_n(B)$ be an algorithm that solves this problem for a set of $nD$ hyperrectangles $B$. If you have $f_n$, you can compute $f_{n+1}$. Let the set of boxes you have be $B$, let $H$ be any set of parallel axis aligned hyperplane, such that the union covers all the vertices of the boxes in $B$. Note $f_{n+1}(B)=\max_{h\in H}\{f_n(\{h\cap b: b\in B\})\}$. This is the exact algorithm you have if $n=1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This works because point intersect most rectangle can be at the boundary of the intersection. &#xA;You want to prove it occurs at a boundary($\partial$) of the hyperrectangle. A good proof: For any two closed sets $A$ and $B$, $\partial(A\cap B)\subset \partial(A)\cup \partial(B)$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The above is just the what you need is on the boundaries of the hyperrectangles, but the algorithm are only working with one particular side. You need to show that one side is suffice. This is true because all collection of intersections will contain a side contained in one of the axis aligned halfplane parallel to the original one you have in the beginning. (this would also show intersection of hyerrectangles are hyperrectangles...)&lt;/p&gt;&#xA;" OwnerUserId="314" LastEditorUserId="314" LastEditDate="2013-04-23T05:59:43.997" LastActivityDate="2013-04-23T05:59:43.997" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17378" PostTypeId="1" AcceptedAnswerId="17384" CreationDate="2013-04-23T15:45:48.907" Score="2" ViewCount="323" Body="&lt;p&gt;I have a matrix in the following form:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;ID | # Counts for ID | ID's Within Range.&#xA;1  | 5               | 1,2,3 &#xA;2  | 3               | 1,2&#xA;3  | 2               | 1,3&#xA;....&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;The idea is that I want to find the 2 id's that when you sum the have the highest count. However, you must first exclude the pairs that overlap. For instance, id's 1 and 2 have the highest count but you can't use them since 1 has 2 within range and 2 has 1 within range. Thus from the table above you would use 2,3 as the sum since they don't overlap.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would like to do this in O(n) or O(nlogn) time and O(n) storage. It's trivial to do if I first make all ID pairs but that gives me O(n^2). I can also do 2 forloops after sorting the list but that would also be at worst O(n^2) although usually much faster... Any help would be greatly appreciated! THanks!&lt;/p&gt;&#xA;" OwnerUserId="11064" LastActivityDate="2013-04-24T21:44:15.627" Title="Finding max of two elements in linear time with restriction" Tags="&lt;ds.algorithms&gt;&lt;time-complexity&gt;&lt;sorting&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17379" PostTypeId="2" ParentId="17252" CreationDate="2013-04-23T17:48:32.897" Score="5" Body="&lt;p&gt;This is a well-known variant of &lt;a href=&quot;http://en.wikipedia.org/wiki/Klee%27s_measure_problem&quot;&gt;Klee's measure problem&lt;/a&gt;.  The best algorithm known, due to &lt;a href=&quot;https://cs.uwaterloo.ca/~tmchan/pub_klee.html&quot;&gt;Timothy Chan&lt;/a&gt;, runs in roughly $O(n^{d/2})$ time, ignoring polylogarithmic factors.  Faster algorithms are known for the special cases of fat boxes and boxes with one or more fixed coordinates; see recent work by &lt;a href=&quot;http://www.mpi-inf.mpg.de/~kbringma/&quot;&gt;Karl Bringmann&lt;/a&gt; and &lt;a href=&quot;http://www.cs.ucsb.edu/~hakan/&quot;&gt;Hakan Yıldız&lt;/a&gt;, respectively.&lt;/p&gt;&#xA;" OwnerUserId="111" LastActivityDate="2013-04-23T17:48:32.897" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17381" PostTypeId="2" ParentId="7686" CreationDate="2013-04-23T18:49:02.330" Score="4" Body="&lt;p&gt;I would like to add &quot;&lt;a href=&quot;http://www.ee.iitb.ac.in/~hn/book/SubmodularFunction_2ed.pdf&quot; rel=&quot;nofollow&quot;&gt;Submodular Functions and Electrical Networks&lt;/a&gt;&quot; by &lt;a href=&quot;http://www.ee.iitb.ac.in/~hn/&quot; rel=&quot;nofollow&quot;&gt;H. Narayanan&lt;/a&gt;. &lt;/p&gt;&#xA;" OwnerUserId="15768" LastEditorUserId="15768" LastEditDate="2013-04-26T15:46:22.890" LastActivityDate="2013-04-26T15:46:22.890" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17382" PostTypeId="5" CreationDate="2013-04-24T04:21:34.283" Score="0" Body="" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2013-04-24T04:21:34.283" LastActivityDate="2013-04-24T04:21:34.283" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17383" PostTypeId="4" CreationDate="2013-04-24T04:21:34.283" Score="0" Body="Support Vector Machines" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2013-04-24T04:21:34.283" LastActivityDate="2013-04-24T04:21:34.283" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17384" PostTypeId="2" ParentId="17378" CreationDate="2013-04-24T05:02:30.633" Score="11" Body="&lt;p&gt;Ok, so as I understand it, you are given as input an undirected graph (representing the &quot;within range&quot; restrictions) with weights on its vertices, and you want to find a non-adjacent pair of vertices that has maximum total weight. I'm going to interpret linear time as being linear in the number of edges in the input graph, not just the number of vertices, because otherwise it doesn't make sense — you need to have enough time to be able to look at the whole input.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here's an $O(m+n)$ time solution (simplifying an earlier solution I posted here):&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Assume for simplicity that $n$ is a power of two (if not round up).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Find the median of the vertex weights, the median of the highest $n/2$ vertex weights, the median of the highest $n/4$ vertex weights, etc. These median computations take a total of $O(n)$ time, and once completed they give you the set of $2^i$ largest weights for every choice of an integer $i$ &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;For each vertex $v$ with degree $d_v$, let $i_v=\lceil\log_2(d_v+1)\rceil$. Form the pairs $(v,w)$ where $w$ is in the set of $2^{i_v}$ largest vertex weights found during the median calculations.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;From the sets of pairs found in the previous step, remove the pairs that correspond to adjacent pairs of vertices (either by using a hash table of edges for fast adjacency lookup, or by using two passes of bucket sort to make a sorted list of both pairs and input edges).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The remaining pairs for each vertex $v$ necessarily include the heaviest nonadjacent neighbor of $v$. In particular the heaviest nonadjacent pair in the whole graph is somewhere in this list of pairs. Compute the weight for each pair and choose the max.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="95" LastEditorUserId="95" LastEditDate="2013-04-24T21:44:15.627" LastActivityDate="2013-04-24T21:44:15.627" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17385" PostTypeId="1" CreationDate="2013-04-24T09:39:41.133" Score="9" ViewCount="172" Body="&lt;p&gt;I'm looking for the complexity of satisfiability of a formula $\forall y_1, \dots,y_n, \exists x_1,\dots,x_m, \phi$ or of a formula $ \exists x_1,\dots,x_m \forall y_1, \dots,y_n,\phi$ where $\phi$ is formula of the form : &#xA;$$\phi:= \phi \wedge\phi ~| ~\neg \phi ~| ~ \phi\to \phi~| ~\psi$$&#xA;$$\psi := t&amp;gt;t~| ~t=t$$&#xA;$$ t:= t+t~| ~x_i~|~y_i ~| ~c$$&#xA;Where $c$ are the constant in $\mathbb{N}$, and the domain of variables $x_i,y_i$ is also $\mathbb{N}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In fact the $y_i$ are either $0$ or $1$. Does that simplify the complexity?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;All answer with references would be gladly accepted.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks &lt;/p&gt;&#xA;" OwnerUserId="14093" LastEditorUserId="14093" LastEditDate="2013-04-24T13:13:46.443" LastActivityDate="2013-04-24T22:07:37.910" Title="Complexity one-alternation SMT" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;lo.logic&gt;" AnswerCount="3" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="17386" PostTypeId="2" ParentId="16925" CreationDate="2013-04-24T13:39:10.310" Score="1" Body="&lt;p&gt;It is not bounded sorry for the inconvenience. Here is the proof a friend gave me (thanks a lot to him): &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let consider the set $W_1 = \{w = (s,w_1,\dots)| w_1 \leq n\}$. Then $\mathcal{E}^n_n$ is bigger than $\displaystyle\sum_{w\in W_1}O^n_n(w)*P(w)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;\begin{align}&#xA;\sum_{w\in W_1}O^n_n(w)*P(w) &amp;amp;= \sum_{k=0}^n \sum_{i=0}^k {n\choose i}(1-p)^i p^{n-i}q^{k-i}(1-q) * k \\&#xA;&amp;amp;= (1-q) \sum_{i=0}^n \sum_{k=i}^n {n\choose i}(1-p)^i p^{n-i}q^{k-i}*k\\&#xA;&amp;amp;= (1-q) \sum_{i=0}^n  {n\choose i}(1-p)^i p^{n-i}\sum_{k=i}^n q^{k-i}*k\\&#xA;&amp;amp;\geq (1-q) \sum_{i=1}^n  {n\choose i}(1-p)^i p^{n-i}i \\&#xA;&amp;amp;\geq (1-q) \sum_{i=0}^{n-1} {n\choose i+1}(1-p)^{i+1} p^{n-1-i}(i+1) \\&#xA;&amp;amp;\geq (1-q) n (1-p) \sum_{i=0}^{n-1} {n-1 \choose i}(1-p)^i p^{n-1-i} \\&#xA;&amp;amp;\geq (1-q) n (1-p)&#xA;\end{align}&lt;/p&gt;&#xA;" OwnerUserId="14093" LastActivityDate="2013-04-24T13:39:10.310" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17387" PostTypeId="2" ParentId="17385" CreationDate="2013-04-24T17:00:09.750" Score="6" Body="&lt;p&gt;The question of truth in Presburger Arithmetic with bounded quantifier alternation has been answered with quite some precision by Reddy and Loveland:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;C.R. Reddy &amp;amp; D.W. Loveland: &lt;em&gt;Presburger Arithmetic with Bounded Quantifier Alternation&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The paper may be found &lt;a href=&quot;http://delivery.acm.org/10.1145/810000/804361/p320-reddy.pdf?ip=128.2.74.227&amp;amp;acc=ACTIVE%20SERVICE&amp;amp;key=C2716FEBFA981EF1D8ED4F16102DA82BADDD11EBB600FF97&amp;amp;CFID=208989787&amp;amp;CFTOKEN=20527215&amp;amp;__acm__=1366822425_8b68699129c304f21844d58cf89f642a&quot;&gt;here&lt;/a&gt; (sorry for the ugly link). Their main result is stated as follows:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;The membership in $\mathrm{PA}(m)$ (where $m$ is the number of quantifier alternations) of length $n$ can be decided within space&#xA;  $$ 2^{dn^{m+4}}$$&#xA;  and in (deterministic) time&#xA;  $$ 2^{2^{en^{m+4}}}$$&#xA;  Where $d$ and $e$ are constants.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Taking $m=2$, this seems to give at least an upper bound on what you want, and I suspect it's not far from tight, as you have almost full Presburger atomic formulas &quot;at the root&quot;.&lt;/p&gt;&#xA;" OwnerUserId="3984" LastActivityDate="2013-04-24T17:00:09.750" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17389" PostTypeId="2" ParentId="948" CreationDate="2013-04-24T18:28:23.100" Score="14" Body="&lt;p&gt;There's a &lt;a href=&quot;http://arxiv.org/abs/1304.6333&quot;&gt;new paper on the arXiv by Joshua Grochow&lt;/a&gt;, which shows how to put several known lower bound techniques into the GCT framework and seems like it answers your question somewhat.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(This is mostly just a comment, but no one would notice a comment so I'm posting it as an answer.)&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Unifying and generalizing known lower bounds via geometric complexity theory&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;Joshua A. Grochow&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;We show that most arithmetic circuit lower bounds and relations between lower bounds naturally fit into the representation-theoretic framework suggested by geometric complexity theory (GCT), including: the partial derivatives technique (Nisan-Wigderson), the results of Razborov and Smolensky on $AC^0[p]$, multilinear formula and circuit size lower bounds (Raz et al.), the degree bound (Strassen, Baur-Strassen), the connected components technique (Ben-Or), depth 3 arithmetic circuit lower bounds over finite fields (Grigoriev-Karpinski), lower bounds on permanent versus determinant (Mignon-Ressayre, Landsberg-Manivel-Ressayre), lower bounds on matrix multiplication (B\&quot;{u}rgisser-Ikenmeyer) (these last two were already known to fit into GCT), the chasms at depth 3 and 4 (Gupta-Kayal-Kamath-Saptharishi; Agrawal-Vinay; Koiran), matrix rigidity (Valiant) and others. That is, the original proofs, with what is often just a little extra work, already provide representation-theoretic obstructions in the sense of GCT for their respective lower bounds. This enables us to expose a new viewpoint on GCT, whereby it is a natural unification and broad generalization of known results. It also shows that the framework of GCT is at least as powerful as known methods, and gives many new proofs-of-concept that GCT can indeed provide significant asymptotic lower bounds. This new viewpoint also opens up the possibility of fruitful two-way interactions between previous results and the new methods of GCT; we provide several concrete suggestions of such interactions. For example, the representation-theoretic viewpoint of GCT naturally provides new properties to consider in the search for new lower bounds. &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="206" LastActivityDate="2013-04-24T18:28:23.100" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17391" PostTypeId="2" ParentId="17385" CreationDate="2013-04-24T21:00:13.897" Score="6" Body="&lt;p&gt;A single alternation in Presburger arithmetic is enough to obtain exponential lower bounds, more precisely formulae as in the question with $m=1$ and $n$ not fixed suffice (&lt;a href=&quot;http://dx.doi.org/10.1016/0168-0072(89)90023-7&quot;&gt;Grädel 1989&lt;/a&gt;).&lt;/p&gt;&#xA;" OwnerUserId="609" LastActivityDate="2013-04-24T21:00:13.897" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17392" PostTypeId="2" ParentId="17385" CreationDate="2013-04-24T22:07:37.910" Score="5" Body="&lt;p&gt;I do not know references for the quantified fragment but your problem is &lt;em&gt;not the same&lt;/em&gt; as deciding well studied fragments of Presburger arithmetic because you have unit coefficients.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The paper below by Pratt studies the case where constraints are of the form $x + c &amp;lt; y$, where $x$ and $y$ are variables and $c$ in a natural number. He shows that the problem of deciding if a conjunction of such constraints can be done efficiently using a graph algorithm.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;a href=&quot;http://boole.stanford.edu/pub/sefnp.pdf&quot;&gt;Two easy theories whose combination is hard.&lt;/a&gt; Pratt, 1977.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;This fragment is also called difference logic and was, for a brief time, unfortunately called separation logic (because $x$ and $y$ are separated by a constant). The following paper provides a practical view of solving the quantifier-free fragment of the problem.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;a href=&quot;http://vlsi.colorado.edu/~wangc/pubDOC/Wang05SLICE.pdf&quot;&gt;Deciding Separation Logic Formulae by SAT and Incremental Negative Cycle Elimination.&lt;/a&gt; Chao Wang, Franjo Ivančić, Malay Ganai, Aarti Gupta, 2005.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;At present, your question only permits the coefficients $0$ and $1$. If you also allow $-1$ as a coefficient, the conjunctions of constraints you get are called &lt;em&gt;octagons&lt;/em&gt; in the program analysis literature. Conjunctions and disjunctions of constraints are form the logic of &lt;em&gt;Unit Two Variables Per Inequality (UTVPI)&lt;/em&gt;. The introduction of the following paper surveys algorithms for deciding satisfiability of conjunctions of quantifier-free UTVPI constraints.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;a href=&quot;http://research.microsoft.com/pubs/70176/tr-2005-67.pdf&quot;&gt;An Efficient Decision Procedure for UTVPI Constraints.&lt;/a&gt; Shuvendu K. Lahiri and Madanlal Musuvathi, 2005.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;We are still in a very restricted fragment. The extension to conjunctions of $n$-variable linear inequalities with unit coefficients has is called an &lt;em&gt;octahedron&lt;/em&gt;. It is such a natural extension that I would expect it has been studied in the mathematical programming and optimization literature but I do not know that literature myself. The paper below gives an $\mathcal{O}(3^n)$ procedure for deciding satisfiability of such constraints. Note that we are still in the quantifier free fragment. &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;a href=&quot;http://www.lsi.upc.edu/~jordicf/gavina/BIB/files/sas2004.pdf&quot;&gt;The Octahedron Abstract Domain.&lt;/a&gt;  Robert Clarisó and Jordi Cortadella, 2004.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;For the bounded quantifier alternation case, I do not know of better results than those of Reddy and Loveland but maybe an expert can point you in the right direction.&lt;/p&gt;&#xA;" OwnerUserId="4155" LastActivityDate="2013-04-24T22:07:37.910" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17393" PostTypeId="2" ParentId="7686" CreationDate="2013-04-24T22:21:54.043" Score="2" Body="&lt;p&gt;One of my favorites, &lt;a href=&quot;http://theory.stanford.edu/~jvondrak/data/KAM_thesis.pdf&quot; rel=&quot;nofollow&quot;&gt;Jan vondrak's thesis&lt;/a&gt; and many of his papers. &lt;/p&gt;&#xA;" OwnerUserId="372" LastActivityDate="2013-04-24T22:21:54.043" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17396" PostTypeId="1" AcceptedAnswerId="17397" CreationDate="2013-04-25T10:55:32.260" Score="34" ViewCount="3465" Body="&lt;p&gt;I have a historical question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I’m trying to determine the reference for the fact that 3-colourability of graphs (alternatively, $k$-colourability for given $k\geq 3$) is NP-hard.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The tempting answer is “Karp’s original paper”, but that is wrong. Here’s a scan: &lt;a href=&quot;http://cgi.di.uoa.gr/~sgk/teaching/grad/handouts/karp.pdf&quot;&gt;Reducibility among Combinatorial Problems, Karp (1972)&lt;/a&gt;. It proves that Chromatic number (Input: a graph. Output: $\chi(G)$) is hard. That’s a harder problem, and the reduction is different from the standard gadget construction (with 3 colours, True, False, and Ground) that implies hardness of 3-colourability.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Garey and Johnson, &lt;em&gt;Computers and intractability&lt;/em&gt;, have $k$-colourability as [GT4] and refer to Karp (1972).&lt;/p&gt;&#xA;" OwnerUserId="5095" LastEditorUserId="6706" LastEditDate="2013-04-25T12:01:05.157" LastActivityDate="2013-04-29T14:23:18.893" Title="Reference for NP-hardness of 3-colouring?" Tags="&lt;np-hardness&gt;&lt;ho.history-overview&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="17397" PostTypeId="2" ParentId="17396" CreationDate="2013-04-25T11:13:16.677" Score="44" Body="&lt;p&gt;&lt;strong&gt;László Lovász&lt;/strong&gt;, &lt;em&gt;Coverings and coloring of hypergraphs&lt;/em&gt;, Proceedings of the Fourth Southeastern Conference on Combinatorics, Graph Theory, and Computing, Utilitas Math., Winnipeg, Man., 1973, pp. 3--12, proved that Chromatic number reduces to 3-colourability. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think, that is the first proof for NP-completeness of 3-colourability.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.cs.elte.hu/~lovasz/scans/covercolor.pdf&quot;&gt;Here&lt;/a&gt; is Lovász's paper; see also Vašek Chvátal's excellent &lt;a href=&quot;http://users.encs.concordia.ca/~chvatal/notes/color.html&quot;&gt;explanation&lt;/a&gt; to Lovász's reduction.&lt;/p&gt;&#xA;" OwnerUserId="6706" LastEditorUserId="6706" LastEditDate="2013-04-25T12:09:06.193" LastActivityDate="2013-04-25T12:09:06.193" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17400" PostTypeId="2" ParentId="16927" CreationDate="2013-04-25T18:13:58.263" Score="4" Body="&lt;p&gt;A modified Bentley-Ottmann sweep algorithm (&lt;a href=&quot;http://en.wikipedia.org/wiki/Bentley%E2%80%93Ottmann_algorithm&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;, for example) will find all line segment intersections in $O((n+k)\log n + k)$ time, where $k$ is the number of intersections.  It's fairly straightforward to extend the algorithm to handle circles. A good walkthrough is &lt;a href=&quot;http://www.cs.mcgill.ca/~jsatta/pr507/algo.html&quot; rel=&quot;nofollow&quot; title=&quot;here&quot;&gt;here&lt;/a&gt; under &quot;finding intersections&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$k$ can be $\Omega(n^2)$ in theory (in which case pairwise checking is faster), but it seems difficult to avoid the $k$ term, and in any case you seem to say $k$ will be small in your question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Granted, this recomputes the intersections from scratch each time you run the algorithm, which may be inefficient for your purposes.  You may be able to get around this a bit by maintaining the list of circles sorted by $x$ coordinate, and modifying this list online as the circles move.  This won't help your asymptotic running time, but it avoids sorting each circle every time.  If the circles stay relatively sparse (few cross the same vertical line), the binary search tree on the $y$-coordinates will be cheap to maintain.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The other issue is that knowing two circles intersect already does not improve the running time at all.  Once two circles attach to each other, you will calculate their intersection every single time, which is a waste.&lt;/p&gt;&#xA;" OwnerUserId="8927" LastEditorUserId="8927" LastEditDate="2013-04-25T18:22:16.970" LastActivityDate="2013-04-25T18:22:16.970" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17401" PostTypeId="1" AcceptedAnswerId="17402" CreationDate="2013-04-25T18:48:31.003" Score="3" ViewCount="313" Body="&lt;p&gt;It is well known that deterministic &lt;a href=&quot;https://en.wikipedia.org/wiki/B%C3%BCchi_automaton&quot; rel=&quot;nofollow&quot;&gt;Büchi automata&lt;/a&gt; (DBA) are less expressive than non-deterministic Büchi automata (NBA), and in particular DBA are not enough to cover linear temporal logic (LTL). However, the argument often used is that DBA are not closed under complementation - that is there is a language $\mathcal D$ recognized by DBA, but $\mathcal D^c$ is not recognized by any DBA. As an example, $\mathcal D = (b^*a)^\omega$ and $\mathcal D^c = (a+b)^*a^\omega$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I wonder though, whether for any $\omega$-regular language $\mathcal L$ it holds either $\mathcal L$ is recognized by some DBA, or $\mathcal L^c$ is recognized by some DBA. If not, what is an example of a language which is not recognizable by DBA and which complement is not recognizable either?&lt;/p&gt;&#xA;" OwnerUserId="14336" LastEditorUserId="3113" LastEditDate="2014-07-23T08:14:54.803" LastActivityDate="2014-07-23T08:14:54.803" Title="Deterministic Büchi + its complement covers LTL?" Tags="&lt;fl.formal-languages&gt;&lt;automata-theory&gt;&lt;regular-expressions&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17402" PostTypeId="2" ParentId="17401" CreationDate="2013-04-25T18:57:42.967" Score="10" Body="&lt;p&gt;From your example, it is easy to derive a language $L$, such that neither $L$ nor its complement is recognized by a DBA.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Take an alphabet of four letter $\{a,b,c,d\}$, and let $L=((a+b)^* a^\omega)+(c^*d)^\omega$. It is not DBA-recognizable because of the $\{a,b\}$-part, and its complement is not because of the $\{c,d\}$-part.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For a less artificial example, you can for instance take on alphabet $\{a,b,c\}$ the language $L$ of words with infinitely many $b$ and finitely many $c$. Both $L$ and its complement have to check that the number of something is finite, so both are not DBA-recognizable.&lt;/p&gt;&#xA;" OwnerUserId="8953" LastEditorUserId="8953" LastEditDate="2014-07-21T17:37:41.633" LastActivityDate="2014-07-21T17:37:41.633" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17403" PostTypeId="1" CreationDate="2013-04-25T19:44:32.357" Score="1" ViewCount="501" Body="&lt;p&gt;Is there a known (polynomial in number of nodes) algorithm to generate TSP instances with known optimal value? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The idea is to be able to generating arbitrary large instances with known optimal value, in order to be able to test heuristics on them.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I found the paper &lt;a href=&quot;http://www.jstor.org/discover/10.2307/2582378?uid=3737512&amp;amp;uid=2&amp;amp;uid=4&amp;amp;sid=21101132412531&quot; rel=&quot;nofollow&quot;&gt;Arthur, J. &amp;amp; Frendeway, J. Generating Travelling-Salesman Problems with Known Optimal Tours, The Journal of the Operational Research Society, Vol. 39, No. 2 (Feb., 1988), pp. 153-159 for generating TSP with known optimal&lt;/a&gt;, alas I cannot access it.&lt;/p&gt;&#xA;" OwnerUserId="10367" LastEditorUserId="10367" LastEditDate="2013-04-27T20:21:05.387" LastActivityDate="2013-04-27T20:21:05.387" Title="Generate TSP instances with known optimal" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;tsp&gt;" AnswerCount="0" CommentCount="12" ContentLicense="CC BY-SA 3.0" />
  <row Id="17404" PostTypeId="1" CreationDate="2013-04-25T22:02:13.837" Score="20" ViewCount="886" Body="&lt;p&gt;Given a set family $\mathcal{F}$ of subsets of a universe $U$.&#xA;Let $S_1,S_2 \in \mathcal F$ and we want to answer is $S_1 \subseteq S_2$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am looking for a data-structure that will allow me to quickly answer this.&#xA;My application is from graph theory where I want to see if deleting a vertex and its neighbourhood leaves any isolated vertices, and for each vertex list all isolated vertices it leaves.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I want to create the complete poset or eventually a $|\mathcal{F}|^2$ table storing true false telling exactly which sets are subset of eachother.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $m = \sum_{S\in \mathcal{F}} |S|$, $u = |U|$ and $n = |\mathcal{F}|$, assume $u,n \leq m$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We can generate the $n \times u$ containment matrix (the bipartite graph) in $O(un)$ time and then can create the table of all $n^2$ comparisons in $O(nm)$ time by for each set $S \in \mathcal{F}$, loop through all elements of all other sets and mark the set as not a subset of $S$ if they the element is not in $S$.&#xA;In total $O(nm)$ time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can we do anything faster?&#xA;In particular, is $O((n+u)^2)$ time possible or not?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I found some related articles:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.53.3917&quot; rel=&quot;nofollow noreferrer&quot;&gt;A Simple Sub-Quadratic Algorithm for Computing the Subset Partial Order (1995)&lt;/a&gt;&#xA;which give an $O(m^2 / log(m))$ algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://www.google.no/url?sa=t&amp;amp;rct=j&amp;amp;q=&amp;amp;esrc=s&amp;amp;source=web&amp;amp;cd=4&amp;amp;cad=rja&amp;amp;ved=0CFwQFjAD&amp;amp;url=http://www.siam.org/proceedings/analco/2010/anl10_004_elmasrya.pdf&amp;amp;ei=Zz-AUZGHH6WTiQL9vYGYCQ&amp;amp;usg=AFQjCNEnBSaTnx6AYmJA8a_Xc_f-pGl7xg&amp;amp;sig2=JFEHwSsw3RMeXOlP2ds-jw&amp;amp;bvm=bv.45921128,d.cGE&quot; rel=&quot;nofollow noreferrer&quot;&gt;The Subset Partial Order: Computing and Combinatorics&lt;/a&gt; slightly improves the above but also claim that the above paper solves the problem in $O(md)$ time where $d$ is the max number of sets sharing a common element, but I could not understand this result.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the article &lt;a href=&quot;http://lita.sciences.univ-metz.fr/~kratsch/publications/soda.ps&quot; rel=&quot;nofollow noreferrer&quot;&gt;Between $O(nm)$ and $O(n^{\alpha})$&lt;/a&gt; the authors show how to in a graph find the connected components after deleting the closed neighbourhood of a vertex by using matrix multiplication. This can be used to compute the set inclusion poset by finding all the components which are singletons with a runtime of $O((n+u)^{2.79})$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also this forum discussion is related: &#xA;&lt;a href=&quot;https://cstheory.stackexchange.com/questions/9896/what-is-the-fastest-way-to-check-for-set-inclusion/9897#9897&quot;&gt;What is the fastest way to check for set inclusion?&lt;/a&gt;&#xA;which implies a lower bound of $O(n^{2-\epsilon})$.&lt;/p&gt;&#xA;" OwnerUserId="8936" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2015-08-28T05:23:42.783" Title="How fast can we compute the set inclusion poset of a set family?" Tags="&lt;graph-algorithms&gt;&lt;ds.data-structures&gt;&lt;partial-order&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="17409" PostTypeId="1" CreationDate="2013-04-26T15:59:40.957" Score="-3" ViewCount="169" Body="&lt;p&gt;this question is inspired by a particular somewhat &quot;natural&quot; physical system specifically constructed to mimic another complex highly-studied physical computing system. (some may astutely guess at least half of this analogy correctly; the full details are involved but more details will be given if there is significant interest.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;consider a computing system of &quot;c-bits&quot; or &quot;circle-bits&quot; and a single gate that operates/combines them. a circle-bit is a single polar coordinate on the unit circle, eg denoted by a number in the range 0°-360° (degrees).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;the sole gate operator $z=mid(x,y)$ takes two c-bits $x,y$ as input and computes as output $z$ the c-bit that is the midpoint of the arc between them.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;now consider a c-bit circuit composed of inputs, &quot;mid&quot; gates, and a single output. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;the question is related to whether the c-bit circuit can convert binary functions with a binary-to-cbit adapter/converter on the binary input wires, and a cbit-to-binary adapter/converter on a single final c-bit output gate. call this overall construction a &quot;c-bit sandwich circuit&quot;.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;the binary-to-cbit adapter/converter is just a mapping of 0,1 bits (false,true) onto 0°,180° respectively.&lt;/li&gt;&#xA;&lt;li&gt;a single output function (ie cbit-to-binary adapter/converter) $test_{a,b}(x)$ on a c-bit $x$ is given where $a,b$ are c-bit constants and it returns true iff $a \leq x \leq b$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;ul&gt;&#xA;  &lt;li&gt;is the c-bit sandwich circuit functionally complete for boolean functions, or not? ie can it compute all boolean functions?&lt;/li&gt;&#xA;  &lt;li&gt;if not, what is a characterization of the functions it can compute?&lt;/li&gt;&#xA;  &lt;li&gt;looking for any refs to the &quot;nearest&quot; problem considered in published literature elsewhere.&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;(there are natural generalizations of this problem &amp;amp; may ask about those depending on response.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;note: know there is ambiguity on the c-bit gate where the c-bits are 180° apart. the computing scheme solution may choose a consistent rule in that case. &lt;/p&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2013-04-27T17:28:03.417" Title="computing with gates on polar coordinates, functionally complete wrt boolean functions?" Tags="&lt;reference-request&gt;&lt;boolean-functions&gt;&lt;arithmetic-circuits&gt;&lt;natural-computing&gt;" AnswerCount="1" CommentCount="8" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17410" PostTypeId="2" ParentId="17396" CreationDate="2013-04-26T23:20:24.030" Score="20" Body="&lt;p&gt;Here is another paper from 1973 that proves that 3-colorability is NP-hard.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Larry J. Stockmeyer. “Planar 3-colorability is polynomial complete.” ACM SIGACT News, vol. 5, no. 3, 1973.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;(It seems that Lovász and Stockmeyer obtained their results independently.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Update: see comments below.&lt;/strong&gt;&lt;/p&gt;&#xA;" OwnerUserId="9929" LastEditorUserId="9929" LastEditDate="2013-04-29T14:23:18.893" LastActivityDate="2013-04-29T14:23:18.893" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="17411" PostTypeId="1" CreationDate="2013-04-27T03:30:22.870" Score="5" ViewCount="240" Body="&lt;p&gt;The description from &lt;a href=&quot;http://en.wikipedia.org/wiki/Hosoya_index&quot; rel=&quot;nofollow&quot;&gt;Wikipedia&lt;/a&gt; mentions that it is #P-Complete to compute, but there are methods.  What is a layman's explanation to this?&lt;/p&gt;&#xA;" OwnerUserId="15808" LastEditorUserId="1590" LastEditDate="2014-08-31T17:04:15.243" LastActivityDate="2014-08-31T17:04:15.243" Title="#P-Completeness of the Hosoya Index" Tags="&lt;time-complexity&gt;&lt;counting-complexity&gt;" AnswerCount="1" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="17412" PostTypeId="1" CreationDate="2013-04-27T04:43:19.240" Score="17" ViewCount="978" Body="&lt;p&gt;Recently, I have encountered the following variant of edge coloring.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Given a connected undirected graph, find a coloring of the edges that uses the maximum number of colors while also satisfying the constraint that, for every vertex $v$, the edges incident to $v$ use at most two colors.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;My first guess is that the problem is NP-hard. Classical NP-hard proofs for graph coloring problems are mostly by reduction from 3SAT. But in my opinion, these proofs are not useful for this problem because edges incident to a vertex can be colored with the same color, so we cannot construct logic components in the graph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Could this problem be NP-hard? If yes, what is a proof? If we cannot fine a proof, is there any method to determine the complexity of this problem?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks!&lt;/p&gt;&#xA;" OwnerUserId="15809" LastEditorUserId="3964" LastEditDate="2013-04-27T21:51:22.093" LastActivityDate="2013-06-28T12:21:07.240" Title="What is the complexity of this edge coloring problem?" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;&lt;complexity-classes&gt;&lt;graph-colouring&gt;" AnswerCount="1" CommentCount="10" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17413" PostTypeId="2" ParentId="17409" CreationDate="2013-04-27T05:49:46.587" Score="6" Body="&lt;p&gt;First: all your inputs are either 0 or 180, and the midpoint gate always gives a point on the arc between its two inputs. So any intermediate value stays on the arc between 0 and 180, there is never wrap-around, and we may just assume that each input is a bit and the gates return $(a+b)/2$. Then there is a gate at the top that tests whether its input is in a range $[c, d]$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Notice that any such circuit recognizes a set of the form $S(a, c, d)=\{x: c \leq \langle a, x\rangle \leq d\}$ where $a$ is $n$-dimensional and $c$ and $d$ are scalar constants. The way to see that is that the input to the top gate is a linear function of the input. In fact your setup is significantly more restricted, but nevermind that. The family of sets $S(a, c, d)$ has VC-dimension at most $2n+2$: halfspaces have VC-dimension $n+1$, and taking all pairwise intersections of sets in family can at most double the VC-dimension. Therefore the family of sets computed by your circuits cannot possibly shatter all $2^n$ possible binary inputs, even for $n=4$. There are boolean functions on $4$ bits that a circuit of this type does not compute.&lt;/p&gt;&#xA;" OwnerUserId="4896" LastEditorUserId="4896" LastEditDate="2013-04-27T17:28:03.417" LastActivityDate="2013-04-27T17:28:03.417" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="17414" PostTypeId="1" AcceptedAnswerId="17425" CreationDate="2013-04-27T06:25:02.530" Score="5" ViewCount="324" Body="&lt;p&gt;An $\epsilon$-sample (or $\epsilon$-approximation) of a family of subsets $\mathcal{S}$ of a ground set $X$ is a subset $P \subseteq X$ which preserves relative sizes of sets up to $\epsilon$. I.e., for any $S \in \mathcal{S}$, &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;\left| \frac{|S\cap X|}{|X|}  - \frac{|S \cap P|}{|P|} \right| &amp;lt; \epsilon&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The (combinatorial) discrepancy $\mathsf{disc}(\mathcal{S})$ of $\mathcal{S}$ on the other hand is the minimum of &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;\max_{S \in \mathcal{S}} \left|\sum_{e \in S}{\chi(e)} \right|&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;over all colorings $\chi:X \rightarrow \{\pm 1\}$. You can think of this as coloring $X$ with blue and red so that each set is as balanced as possible; the discrepancy is the imbalance of the most imbalanced set in the most balanced coloring.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, an $\epsilon$-net is a set $P \subseteq X$ such that every set $S$ of size $|S| \geq \epsilon |X|$ has non-empty intersection with $P$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is a close relationship between combinatorial discrepancy and $\epsilon$-samples. More precisely, if $\mathsf{disc}(\mathcal{S})&amp;lt;\frac\epsilon2 |X|$, taking either the red or the blue colored points, whichever set is smaller, gives an $\epsilon$-sample of size at most $|X|/2$. This construction can be repeated recursively. Thus upper bounds on discrepancy imply better size vs. error tradeoffs for $\epsilon$-samples. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The question is if small discrepancy also implies better size vs error tradeoffs for $\epsilon$-nets.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example for set systems with finite VC-dimention we have discrepancy bound $O(\sqrt{|X|\log |X|})$. We can construct an $\epsilon$-net of size $O(\frac1\epsilon\log\frac1\epsilon)$.&#xA;How much smaller $\epsilon$-nets can we get  from better bounds for discrepancy?&lt;/p&gt;&#xA;" OwnerUserId="15812" LastEditorUserId="6579" LastEditDate="2019-02-11T08:46:56.850" LastActivityDate="2019-02-11T08:46:56.850" Title="Do combinatorial discrepancy upper bounds lead to smaller $\epsilon$-nets (as with $\epsilon$-samples)?" Tags="&lt;cg.comp-geom&gt;&lt;approximation-algorithms&gt;&lt;vc-dimension&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="2" ContentLicense="CC BY-SA 4.0" />
  <row Id="17415" PostTypeId="1" CreationDate="2013-04-27T06:56:44.083" Score="8" ViewCount="289" Body="&lt;p&gt;&lt;a href=&quot;http://cs.uni-bonn.de/~marek/publications/AELBfD3AC.ps.gz&quot;&gt;Grigoriev and Karpinski&lt;/a&gt; (ps.Z) showed that any depth-3 circuit over a fixed finite field computing $\mathrm{Det}_n$ requires $2^{\Omega(n)}$ size. I had the misconception(?) until recently that the same proofs also goes through for $\mathrm{Perm}_n$ as well. To add to this, quite a few papers in arithmetic circuit complexity state in passing that the lower bounds is for $\mathrm{Det}_n$ and $\mathrm{Perm}_n$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;As far as I can see, the proof technique of Grigoriev and Karpinski when applied to the $\mathrm{Perm}_n$ fails at a subtle technical point. Their proof (for $\mathrm{Det}_n$) uses the following fact: &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;If $X$ is a matrix of indeterminates, and $A$ is an arbitrary matrix,&#xA;  then any minor of $AX$ is a linear combination of minors of $X$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;This is not true for the permanent though. For this technical reason, the proof doesn't quite seem to go through. Perhaps there is a simple fix for this that I am missing? Or is this is a really a subtle misconception of a fair number of people?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;PS: I noticed this only while making a &lt;a href=&quot;https://www.dropbox.com/s/6am09xfpnniwu0n/lowerbounds.pdf&quot;&gt;consolidated exposition&lt;/a&gt; of all known lower bound proofs for myself. The exact place where Grigoriev-Karpinski fails for the $\mathrm{Perm}_n$ is in Lemma 12 of page 7 in the above write-up, or the $T_g$ operator in the original paper. &lt;/p&gt;&#xA;" OwnerUserId="877" LastEditorUserId="877" LastEditDate="2013-04-27T07:01:50.973" LastActivityDate="2013-04-27T07:01:50.973" Title="Grigoriev-Karpinski for the permanent" Tags="&lt;lower-bounds&gt;&lt;permanent&gt;&lt;arithmetic-circuits&gt;&lt;determinant&gt;" AnswerCount="0" CommentCount="5" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17416" PostTypeId="2" ParentId="17411" CreationDate="2013-04-27T09:17:50.217" Score="1" Body="&lt;p&gt;A matching $M$ is called perfect for a graph $G$ when all vertices of a graph are matched in $M$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Computing the number of perfect matchings is a well-known #P-complete problem and shown to be equivalent to computing the permanent of the biadjacency matrix of the graph. Now note that each perfect matching, by removing edges produces $2^{n}-1$ different matchings (consider each subset of edges, which is a smaller matching, we do not consider the empty set). Also, each perfect matching prohibits exactly $\binom{n}{k}$ matchings of size $k$ from being maximal but non-perfect, since they are subsets of this perfect matching. Given those kinds of restrictions, one can certainly upper bound the number of perfect matchings given the number of matchings and perhaps it is also to use additional information to do a precise calculation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Perhaps you should take a look at the paper &quot;Two-dimensional monomer-dimer systems are computationally intractable&quot; (reference 5 in the wikipedia article). It seems to rely on the fact that counting matchings (all of them, see the comments) remains #P-complete for planar graphs. Interestingly enough, counting perfect matchings for planar graphs in in $P$, i.e. can be computed in polynomial time (in a deterministic way).&lt;/p&gt;&#xA;" OwnerUserId="879" LastEditorUserId="879" LastEditDate="2013-04-28T20:14:36.920" LastActivityDate="2013-04-28T20:14:36.920" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="17419" PostTypeId="1" CreationDate="2013-04-27T14:30:11.560" Score="19" ViewCount="910" Body="&lt;p&gt;Let $t(G)$ denote the number of spanning trees in a graph $G$ with $n$ vertices.  There is an algorithm that computes $t(G)$ in $O(n^3)$ arithmetic operations. This algorithm is to compute $\frac{1}{n^2} \det(J + Q)$, where $Q$ is the Laplacian of of $G$ and $J$ is the matrix consisting solely of $1$'s. For more information on this algorithm see &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0521458978&quot; rel=&quot;nofollow noreferrer&quot;&gt;Biggs - Algebraic graph theory&lt;/a&gt; or &lt;a href=&quot;https://math.stackexchange.com/questions/90950/finding-the-number-of-spanning-trees-of-a-graph-g&quot;&gt;this Math SE&lt;/a&gt; question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I wonder if there is some way to compute $t(G)$ faster. (Yes, there is faster than $O(n^3)$ algorithms for computing determinant but I am interested in some new approach.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's also interested in considering special families of graphs (planar, maybe?).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, for circulant graphs, $t(G)$ can be computed in $O(n \lg n)$ arithmetic operations via the identity $t(G) = \frac{1}{n} \lambda_1 \dotsm \lambda_{n-1}$, where $\lambda_i$ are nonzero eigenvalues of Laplacian matrix of $G$, which can be computed quickly for circulant graphs. (Represent the first row as a polynomial and then compute it on $n$-th roots of unity - this step uses the Discrete Fourier transformation and can be done in $O(n \lg n)$ arithmetic operations.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thank you very much!&lt;/p&gt;&#xA;" OwnerUserId="7612" LastEditorUserId="-1" LastEditDate="2017-04-13T12:19:19.363" LastActivityDate="2013-04-30T16:02:31.970" Title="Count the number of spanning trees fast" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;counting-complexity&gt;&lt;spectral-graph-theory&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="17424" PostTypeId="1" AcceptedAnswerId="17428" CreationDate="2013-04-28T15:39:45.990" Score="11" ViewCount="1450" Body="&lt;p&gt;Let $\rm{ad}(G)$ be the average distance of a connected graph $G.$ &lt;/p&gt;&#xA;&#xA;&lt;p&gt;One way to compute $\rm{ad}(G)$ is by summing up the elements of $D(G),$ the distance matrix of $G$ and scaling the sum appropriately. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If the output graph is a tree then it is known that the average distance can be computed in linear time (See B.Mohar, T.Pisanski  - How to compute the Wiener index of a graph). There appears to be fast algorithms for graphs with bounded tree width as well.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An interesting question therefore is, whether it helps to know $D(G).$ In other words&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is it possible to compute $\rm{ad}(G)$ in sub-quadratic time?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;What I am interested in knowing is if there is a theoretical lower bound as to why this would not be possible.&lt;/p&gt;&#xA;" OwnerUserId="2562" LastActivityDate="2013-04-28T18:39:42.970" Title="Complexity of computing the average distance of a graph" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17425" PostTypeId="2" ParentId="17414" CreationDate="2013-04-28T17:47:54.420" Score="7" Body="&lt;p&gt;First, and more obviously, an $\epsilon$-sample is an $\epsilon$-net. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course, the above observation gives usually very loose bounds for $\epsilon$-nets. The bound you mention at the end of our post relies not just on small discrepancy but also on VC-dimension itself, so the relationship is not so clear. Let me elaborate.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $s(\epsilon)$ be the size of the minimum $\epsilon$-sample for your system. As you mention this can be bounded in terms of discrepancy. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;We call a &lt;em&gt;restriction&lt;/em&gt; of $\mathcal{S}$ to $Y$ the set system $\mathcal{S}|_Y = \{S \cap Y: S \in \mathcal{S}\}$. Finally, the shatter function $\pi(s)$ is equal to the maximum number of &lt;em&gt;distinct&lt;/em&gt; sets in any restriction $\mathcal{S}|_Y$ to a set $Y$  of size at most $|Y| \leq s$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;We can show that there exist $\epsilon$-nets of size at most $O(\frac{1}{\epsilon} \log \pi(s(\epsilon/2)))$. This goes as follows.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;any set system of $m$ sets has an $\epsilon$-net of size $O(\frac{1}{\epsilon} \log m)$;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;an $\epsilon/2$ net of an $\epsilon/2$-sample for $\mathcal{S}$ is an $\epsilon$-net for $\mathcal{S}$;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Let us instantiate this for $\mathcal{S}$ of constant VC-dimension. For such $\mathcal{S}$, $s(\epsilon) \leq \epsilon^{-2}\log \epsilon^{-1}$. Also, by the Sauer-Shelah lemma, for constant VC dimension $\mathcal{S}$, $\pi(s) = s^{O(1)}$. Plugging this into the bound we got above gives $O(\frac{1}{\epsilon}\log \frac{1}{\epsilon})$ for the size of an $\epsilon$-net.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As you see, the bound on the size of $\epsilon$-nets depends on $\pi$ and not just on the discrepancy. I am not sure if there are any tighter connections. There is a bound on $\pi$ in terms of discrepancy, but the bound is exponential in the discrepancy, so it's not terribly useful.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Finally a note: for $\mathcal{S}$ with VC-dimension $d$ we can show there exist $\epsilon$-samples of size $O(\epsilon^{-\frac{2d}{d+1}})$. This is because the discrepancy of such set system is bounded by $n^{\frac12 - \frac1{2d}}$. The reason why most older references state the loose bound of $\sqrt{n\log n}$ is that until the very recent work of Nikhil Bansal, there were no known polynomial time algorithms for constructing such low discrepancy colorings. Even now, the algorithm giving the loose bound is just a random coloring, so it's very simple and very efficient, and the loose bound makes practically no difference if your end goal is an $\epsilon$-net.&lt;/p&gt;&#xA;" OwnerUserId="4896" LastEditorUserId="4896" LastEditDate="2013-04-29T07:24:20.963" LastActivityDate="2013-04-29T07:24:20.963" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17426" PostTypeId="1" CreationDate="2013-04-28T17:50:13.013" Score="1" ViewCount="426" Body="&lt;p&gt;Is there any twitter or some feed,which constantly sends new results which are being published to your mail.&lt;/p&gt;&#xA;" OwnerUserId="13857" LastEditorUserId="186" LastEditDate="2013-05-02T22:28:19.577" LastActivityDate="2013-05-02T22:28:19.577" Title="How do top researchers keep track new results in datastructures" Tags="&lt;soft-question&gt;&lt;ds.data-structures&gt;&lt;research-practice&gt;" AnswerCount="2" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="17427" PostTypeId="1" CreationDate="2013-04-28T17:56:28.070" Score="1" ViewCount="204" Body="&lt;p&gt;I need a simple augmentation to support median/order statistic queries in &#xA;O(log log n) time,without increasing the time for other operations.&lt;/p&gt;&#xA;" OwnerUserId="13857" LastActivityDate="2015-12-19T05:15:59.820" Title="Give a simple way to augment Van emde boas tree, to find/delete median in O(log log u) time" Tags="&lt;ds.data-structures&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17428" PostTypeId="2" ParentId="17424" CreationDate="2013-04-28T18:39:42.970" Score="15" Body="&lt;p&gt;Computing ad(G) in $O(n^{2-\delta})$ time for constant $\delta&amp;gt;0$ even in graphs with $\tilde{O}(n)$ edges and $n$ vertices would imply that the Strong Exponential Time Hypothesis (SETH) is false. (SETH was defined by Impagliazzo, Paturi and Zane'01 and implies that CNF-SAT on $n$ variables does not have $O(2^{(1-\varepsilon)n})$ time algorithms.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To prove this, note that we recently proved in (Fast approximation algorithms for the diameter and radius of sparse graphs, Liam Roditty, V. Vassilevska Williams. STOC'13.) that if one can distinguish between graphs of diameter 2 and 3 in subquadratic time, then SETH is false. &#xA;The proof goes via a reduction from CNF-SAT.&#xA;The same reduction can be used to show that computing ad(G) in subquadratic time shows that SETH is false, as the average distance in the graphs in the reduction would be $2-M/{N\choose 2}$ (where $N$ and $M$ are the number of nodes and edges in the reduction instance) if the CNF-SAT instance is not satisfiable, and more than that if there is a satisfying assignment.&lt;/p&gt;&#xA;" OwnerUserId="410" LastActivityDate="2013-04-28T18:39:42.970" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17429" PostTypeId="2" ParentId="17047" CreationDate="2013-04-28T19:16:05.723" Score="0" Body="&lt;p&gt;This is by no mean an absolute answer but a few ideas that might or might not light up something in your head.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The first thing you should have (you do) is an extensive word DB for scoring 1 for every existing word. The next stage could be create a model with as much features as you like (want). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A feature could be the &lt;a href=&quot;http://en.wikipedia.org/wiki/Levenshtein_distance&quot; rel=&quot;nofollow&quot;&gt;Levenshtein distance&lt;/a&gt; between this word and any other in the DB. If the word ends or begins with a known suffix/preffix. If the word is a composition of two known words, etc. A feature could also be the user feed back. Besides everytime you score a word you might want to keep it (from a certain score) and modify it's score everytime you see it. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Your score system could then consider an smooth version of the direct apply of your features to the word in question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;s(word) = sum(li*fi(word)) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;where li is a fixed parameter: 0&amp;lt;= li &amp;lt;= 1; sum(li) = 1; and fi(word) is the result of apply the i-th feature to the word.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that this is a quite rough aproximation advise for the &lt;a href=&quot;http://www.inf.ed.ac.uk/resources/nlp/local_doc/mxpost_doc.pdf&quot; rel=&quot;nofollow&quot;&gt;Ratnaparkhi's approach to Part of Speech Tagging&lt;/a&gt;. You might want to look at it.&lt;/p&gt;&#xA;" OwnerUserId="15827" LastActivityDate="2013-04-28T19:16:05.723" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17430" PostTypeId="2" ParentId="17426" CreationDate="2013-04-28T19:58:29.420" Score="5" Body="&lt;p&gt;You can subscribe to the RSS of ArXiv, and you can keep track of which papers are getting accepted to the relevant conferences.&lt;/p&gt;&#xA;" OwnerUserId="8429" LastActivityDate="2013-04-28T19:58:29.420" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17431" PostTypeId="1" CreationDate="2013-04-28T20:49:04.617" Score="17" ViewCount="1106" Body="&lt;p&gt;One thing that quantum computers can do (possibly even with just BPP + log-depth quantum circuits) is to approximate-sample the Fourier transform of a Boolean $\pm 1$-valued function in P.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here and below when I talk about sampling the Fourier transform I mean choosing x according to $|\hat f(x)|^2$. (Normalized if necessary and approximately).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can we describe the complexity class, that we can call P-FOURIER SAMPLING, of approximate sampling Boolean functions of P? Are there problems which are complete for this class?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a class X of Boolean functions what can be said about the the computational complexity, that we can refer to as SAMPLING-X of approximating sampling the Fourier transform of functions in X. (I suppose that if X is BQP then X-SAMPLING is still within the power of quantum computers.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What are the examples of X where SAMPLING-X is in P? Are there interesting examples where SAMPLING-X is NP-hard? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are several variants of this problem that can also be interesting. &#xA;On the Fourier side, rather than approximate-sample we can talk about a decision problem enabled (probabilistically) by approximate sampling. On the primal side, we can start with a class X of probability distributions and ask what is the relation between the ability to approximately sample a distribution D in X and approximately sample the (normalized) Fourier transform.    &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In short, what is known about this question. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt; Martin Schwarz pointed out that if all the Fourier coefficients themselves are concentrated only on a polynomial number of entries then it is possible in BPP to approximate these large coefficients (and thus also to approximately sample.) This goes back to Goldreich-Levin, and Kushilevitz-Mansour. Are there interesting classes of functions where there is a probabilistic polynomial algorithm for approximately sampling the Fourier side, where the Fourier coefficients are spread over more than polynomially many coefficients?   &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Added Later:&lt;/strong&gt; Let me mention a few concrete problems.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) How hard is it to approximately sample the Fourier transform of Boolean functions in P.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;a) One question that Scott Aaronson mentioned in a comment below is to show that this is not in BPP. Or something weaker along the lines that if this task is in BPP some collapse is happening.  (Scot Conjectures that this is the case.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;b) Another question is to show that this task is hard with respect to some quantum-based complexity class. E.g, to show that if you can perform this task you can solve decision problems in BPP assisted with log-depth quantum computers, or something like that.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) What are classes of Boolean functions such that approximately sampling their Fourler transform is in P. What we know is that this is the case when the Fourier coefficients are concentrated on polynomial many coefficients, but this seems very restricted.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;3) Is there some complexity class X high up in the PH that an X-machine can approximately sample the Fourier transform of every function that an X-machine can compute. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;4) I was especially interested in the problem of sampling the Fourier transform of the crossing event for percolation on an n by n hexagonal grid.  &lt;/p&gt;&#xA;" OwnerUserId="712" LastEditorUserId="712" LastEditDate="2013-09-02T15:33:49.743" LastActivityDate="2013-11-01T22:44:26.947" Title="The complexity of sampling (approximately) the Fourier transform of a Boolean function" Tags="&lt;cc.complexity-theory&gt;&lt;quantum-computing&gt;&lt;pr.probability&gt;&lt;randomized-algorithms&gt;&lt;sample-complexity&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="17434" PostTypeId="1" CreationDate="2013-04-29T01:09:57.217" Score="1" ViewCount="386" Body="&lt;p&gt;Note : All eigenvalues that I would referring to below would of the adjacency matrix of the graph&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question arises from having read about Expander Graphs from a few different sources. The most common definition of Expander Graphs that have seen is in terms of the spectral gap which is $d - \lambda _2$ where $\lambda _2$ is the second highest eigenvalue. However certain sources also like to define expansion in terms of $\lambda$ which is the second highest eigenvalue in absolute value. Now I am slightly confused about what is a better definition and why these two values are so mixed in literature ? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For instance Cheeger's inequalities are defined in terms of $\lambda _2$ and the Expander Mixing Lemma is defined is terms of $\lambda$ (I am not sure if there exist versions of each in terms of the other quantity). Also I have seen versions of the Alon-Bopanna bound in terms of both $\lambda$ and $\lambda _2$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I guess my question is that is there a fundamental connection between these two quantities and is one more natural than the other to be used to define expansion ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also is there something fundamental that $\lambda _n$ (by $\lambda _n$ I mean the smallest eigenvalue) represent ?   &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am not sure if I have been able to express my confusion clearly but I am sure I am missing something fundamental in my understanding.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks&lt;/p&gt;&#xA;" OwnerUserId="12212" LastActivityDate="2013-04-29T03:33:59.653" Title="Second eigenvalue and the last eigenvalue" Tags="&lt;spectral-graph-theory&gt;&lt;expanders&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17436" PostTypeId="2" ParentId="17434" CreationDate="2013-04-29T03:33:59.653" Score="5" Body="&lt;p&gt;Regarding the last eigenvalue:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The last eigenvalue $\lambda_n$ measures (roughly) how close is the graph to be bipartite. For example, $\lambda_n = -d$ if and only if the graph is bipartite (this is a fairly easy exercise). You can read more about it in Luca Trevisan's blog:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://lucatrevisan.wordpress.com/2008/06/13/max-cut-and-the-smallest-eigenvalue/&quot;&gt;http://lucatrevisan.wordpress.com/2008/06/13/max-cut-and-the-smallest-eigenvalue/&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://lucatrevisan.wordpress.com/2008/09/23/max-cut-gain-and-the-smallest-eigenvalue/&quot;&gt;http://lucatrevisan.wordpress.com/2008/09/23/max-cut-gain-and-the-smallest-eigenvalue/&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="8429" LastActivityDate="2013-04-29T03:33:59.653" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17437" PostTypeId="2" ParentId="17431" CreationDate="2013-04-29T07:40:20.627" Score="9" Body="&lt;p&gt;The &lt;a href=&quot;http://www.contrib.andrew.cmu.edu/~ryanod/?p=589&quot; rel=&quot;nofollow&quot;&gt;Kushilevitz-Mansour&lt;/a&gt; algorithm in learning theory establishes, that whenever $\hat{f}(x)$ is approximately sparse, i.e. there are only $O(poly(n))$-many large Fourier coefficients of absolute value $\Omega(1/poly(n))$, then we can find their locations and approximate their complex values in $\sf{BPP}$. Of course you can also efficiently sample from that list. To be precise, &lt;a href=&quot;http://epubs.siam.org/doi/abs/10.1137/0222080&quot; rel=&quot;nofollow&quot;&gt;Kushilevitz-Mansour&lt;/a&gt; only talked about Fourier transforms over $\mathbb{Z}_2$, but generalization to FTs over general finite Abelian groups (see e.g. &lt;a href=&quot;http://people.csail.mit.edu/akavia/AkaviaPhDThesis.pdf&quot; rel=&quot;nofollow&quot;&gt;Akavia's thesis&lt;/a&gt;) are known.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As an application of this to quantum computing, one can show that the output state of quantum circuits structured in blocks of Hadamard-Toffoli-Hadamard gates can be efficiently approximated given the promise that the output state written in the computational basis is approximately sparse (see my QIP'2010 poster &lt;a href=&quot;http://martinschwarz.files.wordpress.com/2012/01/qip2010-simulatinghth.pdf&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;, and the pre-print &lt;a href=&quot;http://arxiv.org/abs/1310.6749&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;). If the sparsity assumption is dropped, we could simulate Simon's algorithm (or Shor's), which is of exactly that structure, contradicting the $\Omega(2^{n/2})$ query lower-bound for Simon's problem.&lt;/p&gt;&#xA;" OwnerUserId="121" LastEditorUserId="121" LastEditDate="2013-11-01T22:44:26.947" LastActivityDate="2013-11-01T22:44:26.947" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17438" PostTypeId="1" CreationDate="2013-04-29T08:27:59.403" Score="11" ViewCount="223" Body="&lt;p&gt;We're given an &lt;em&gt;arbitrary&lt;/em&gt; graph $G=(V,E)$. A self-avoiding random walk is a random walk such that in each step, a random neighbour which was not previously visited is chosen, if such one exists.&#xA;Clearly, this random walk can get stuck very quickly.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, the questions are 1) How can one compute (or even approximate) the expected walk time?&#xA;2) How can one choose the initial node that maximizes the walk time? For example, the lollipop graph&#xA;composed of a $3$-cycle over the set $\{1,2,3\}$ with a fourth node $4$ attached to node $1$.&#xA;The ratio of the expected walk times corresponding to choosing nodes $4$ and $1$ is $8/5$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In trees the problem is trivial (average depth of leaves), but I don't see how to generalize that.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A sampling approach may do trick, as the naive bound on each sampled walk would be $n$. However, I suspect that some graph classes might be amenable to more efficient analyses.&lt;/p&gt;&#xA;" OwnerUserId="7701" LastEditorUserId="7701" LastEditDate="2013-04-29T12:22:10.850" LastActivityDate="2013-04-29T12:22:10.850" Title="Expected length of a self-avoiding random walk" Tags="&lt;optimization&gt;&lt;random-walks&gt;" AnswerCount="0" CommentCount="5" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="17439" PostTypeId="1" CreationDate="2013-04-29T13:44:47.590" Score="3" ViewCount="92" Body="&lt;p&gt;Suppose there is an oracle that returns a number $b \in \mathbb{Z}_{n}$ whenever I press the button.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We have $b = a + e$, where $a \in \mathbb{Z}_n$ is a fixed number and $e$ is sampled according to some distribution $\chi$ over $\mathbb{Z}_n$ (say, $\chi$ looks like normal distribution over $\{-(n-1)/2, ..., (n-1)/2\}$, so the mean is $0$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Our goal is to learn (recover) the value of $a$, given as many samples from the oracle as you wish.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I know that if the random variables are over the real $\mathbb{R}$, we can take many samples and then compute the sample mean, and then we can upper-bound the probability of failure using Chebyshev's inequality.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, this approach doesn't seem to work since we are working in $\mathbb{Z}_{n}$, I wonder whether anyone can suggest me an approach to remove $a$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thank you very much! :)&lt;/p&gt;&#xA;" OwnerUserId="15835" LastEditorUserId="77" LastEditDate="2013-04-29T14:16:09.500" LastActivityDate="2013-04-29T14:16:09.500" Title="A sampling and learning question" Tags="&lt;lg.learning&gt;&lt;pr.probability&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="17440" PostTypeId="1" AcceptedAnswerId="17472" CreationDate="2013-04-29T14:18:52.857" Score="3" ViewCount="174" Body="&lt;p&gt;I'm looking for an algorithm that will take a sorted array of numbers and generate a random permutation of this array in such a way that the probability of finding a larger element earlier in a sequence than a smaller element is proportional to the ratio of these elements' values.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For instance if we have a sorted sequence of elements: &lt;code&gt;1, 2, 3&lt;/code&gt;, then I'd like this algorithm to generate a permutation of this sequence in such a way that the probability of finding element &lt;code&gt;3&lt;/code&gt; earlier in a sequence than the element &lt;code&gt;1&lt;/code&gt; is 3 times smaller than the other way around. This property should hold for all pairs of the elements.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is this possible?  If so, can you suggest an algorithm for this?&lt;/p&gt;&#xA;" OwnerUserId="1592" LastEditorUserId="5038" LastEditDate="2013-05-02T22:24:00.620" LastActivityDate="2013-05-02T22:24:00.620" Title="Sort with random deviations" Tags="&lt;randomness&gt;&lt;sorting&gt;&lt;permutations&gt;" AnswerCount="2" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17441" PostTypeId="2" ParentId="2447" CreationDate="2013-04-29T15:13:49.270" Score="9" Body="&lt;p&gt;Here is a nice problem with an interesting complexity jump like Minimum Bandwidth you &#xA;addressed in your question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $G$ be a graph and $T$ a spanning tree of $G$. The detour for an edge&#xA;$uv\in E(G)$ is the unique $u$-$v$ path in $T$. The congestion of $e \in E(T)$,&#xA;denoted by $\mathrm{cng}_{G,T}(e)$ is the number of detours that contain $e$. &#xA;The congestion of $G$ in $T$, denoted by $\mathrm{cng}_G(T)$, is the maximum &#xA;congestion over all edges in $T$. The spanning tree congestion of $G$, denoted by &#xA;$\mathrm{stc}(G)$, is the minimum congestion over all spanning trees of $G$. &#xA;The Spanning Tree Congestion problem asks whether a given graph has spanning tree &#xA;congestion at most some given $k$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The following complexity jump is shown in: &lt;a href=&quot;http://link.springer.com/article/10.1007%2Fs00453-011-9565-7&quot;&gt;Bodlaender et al., &#xA;&lt;em&gt;Parameterized Complexity of the Spanning Tree Congestion Problem&lt;/em&gt;, &#xA;Algorithmica 64 (2012) 85–111&lt;/a&gt;: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For every fixed $k$ and $d$ the problem is solvable in linear time for graphs of degree at &#xA;most $d$. In contrast, if we allow &lt;strong&gt;only one&lt;/strong&gt; vertex of unbounded degree, the problem immediately &#xA;becomes $\mathsf{NP}$-complete for any fixed $k\ge 8$.&lt;/p&gt;&#xA;" OwnerUserId="6706" LastActivityDate="2013-04-29T15:13:49.270" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17442" PostTypeId="2" ParentId="3473" CreationDate="2013-04-29T15:22:02.057" Score="21" Body="&lt;p&gt;For a given graph $G$ and an integer $k\ge 1$, the $k$-th power of $G$, denoted by $G^k$, &#xA;has the same vertex set such that two distinct vertices are adjacent in $G^k$ if their  distance in $G$ is at most $k$. The $k$-th power of &lt;a href=&quot;http://www.graphclasses.org/classes/gc_39.html&quot;&gt;split graph&lt;/a&gt; &#xA;problem asks if a given graph is the $k$-th power of a split graph. &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;For $k=1$, the problem solvable in linear time. This is because recognizing split graphs &#xA;is doable in linear time (well known).&lt;/li&gt;&#xA;&lt;li&gt;For $k=2$, the problem is NP-complete. This is proved by &lt;a href=&quot;http://epubs.siam.org/doi/abs/10.1137/S0895480103425930&quot;&gt;Lau and Corneil in &lt;em&gt;Recognizing powers &#xA;of proper interval, split, and chordal graph&lt;/em&gt;, SIAM J. Discrete Math., 18 (2004), 83-102&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;For $k\ge 3$, the problem is trivial: only complete graphs are $k$-th powers of a split graph.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="6706" LastActivityDate="2013-04-29T15:22:02.057" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17444" PostTypeId="1" CreationDate="2013-04-29T18:09:19.223" Score="1" ViewCount="1227" Body="&lt;p&gt;I was messing around with perspective projection. And it got me wondering whether using a perspective transformation matrix is the most efficient way. Because I also came up with another method which seems to need about the same amount of calculations:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The position of the &quot;camera&quot; $\vec{O}$.&lt;/li&gt;&#xA;&lt;li&gt;The normalized vector $\vec{n}$ in the direction in which the camera&#xA;is looking (normal of the plane on which the points will be&#xA;projected).&lt;/li&gt;&#xA;&lt;li&gt;Vectors $\vec{X}$ and $\vec{Y}$ which determine the orientation of&#xA;the projection. Both should lie in the projection plane and together with $\vec{n}$        should span an orthonormal basis in the $\mathbb{R}^3$.&lt;/li&gt;&#xA;&lt;li&gt;The shortest distance from the camera to projection plane $h$&lt;/li&gt;&#xA;&lt;li&gt;The point $\vec{P}$ which needs to be projected.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;$\vec{\Delta}=\vec{P}-\vec{O}$&#xA;with $\vec{\Delta}$ the relative coordinates of $\vec{P}$ with respect to $\vec{O}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\vec{\alpha}=h\left(\frac{\vec{\Delta}}{\vec{\Delta}\cdot\vec{n}}-\vec{n}\right)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$x=\vec{\alpha}\cdot\vec{X}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$y=\vec{\alpha}\cdot\vec{Y}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Or do methods, which use transformation matrices, use eigen-value/vectors to reduce the amount of calculations?&lt;/p&gt;&#xA;" OwnerUserId="15836" LastActivityDate="2013-07-08T02:13:22.890" Title="What is the advantage of a transformation matrix in perspective projection?" Tags="&lt;linear-algebra&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17445" PostTypeId="1" AcceptedAnswerId="17447" CreationDate="2013-04-29T22:57:02.280" Score="7" ViewCount="364" Body="&lt;p&gt;Given a $k$-colorable graph $G$ and vertices $u$ and $v$ of $G$, what is the complexity of deciding if every $k$-coloring of $G$ must assign the same color to both $u$ and $v$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It does not seem obvious to me how to use the above problem as an oracle to construct a coloring, so it is conceivable that this problem is efficiently decidable.  On the other hand, minor variants of NP-hard problems, such as this one, typically remain NP-hard.  But most of all, I do not know what problem is a good choice to reduce from.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any thoughts?&lt;/p&gt;&#xA;" OwnerUserId="3964" LastEditorUserId="3964" LastEditDate="2013-05-01T13:48:32.030" LastActivityDate="2013-05-01T13:48:32.030" Title="Decision problem related to coloring" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;&lt;graph-colouring&gt;" AnswerCount="2" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="17447" PostTypeId="2" ParentId="17445" CreationDate="2013-04-30T03:23:23.353" Score="9" Body="&lt;p&gt;Add the edge $(u,v)$. Your property holds if and only if $G$ is no longer $k$-colorable.&lt;/p&gt;&#xA;" OwnerUserId="40" LastEditorUserId="40" LastEditDate="2013-04-30T14:35:55.660" LastActivityDate="2013-04-30T14:35:55.660" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="17448" PostTypeId="2" ParentId="17445" CreationDate="2013-04-30T03:56:54.783" Score="3" Body="&lt;p&gt;If you can solve this problem, it implies a coloring algorithm for &lt;a href=&quot;http://en.wikipedia.org/wiki/Uniquely_colorable_graph&quot; rel=&quot;nofollow&quot;&gt;Uniquely colorable graphs&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Though, I'm not sure the problem of coloring uniquely colorable graphs is NP-hard.&lt;/p&gt;&#xA;" OwnerUserId="15711" LastActivityDate="2013-04-30T03:56:54.783" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="17449" PostTypeId="1" CreationDate="2013-04-30T09:12:50.177" Score="7" ViewCount="229" Body="&lt;p&gt;I'm trying to get straight in my mind the relation between &lt;em&gt;complete problems&lt;/em&gt; and &lt;em&gt;universal simulator machines&lt;/em&gt;.  Some notions of computability have universal machines (Turing-computability) and some don't (FDAs).   &lt;/p&gt;&#xA;&#xA;&lt;p&gt;When we say that there are $\mathsf{NP}$-complete problems (to take an example) is this the same as saying that a polynomially hampered universal Turing machine is universal for the notion of polytime-computability?  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;My colleague Ashley Montanaro here (who kindly told me about this site) told me once that the class of $\mathsf{DSPACE}(o(\log\log n))$ problems is the same as the class of regular languages.   Does this mean that there is no universal machine for the $\mathsf{DSPACE}(o(\log\log n))$ problems?&lt;/p&gt;&#xA;" OwnerUserId="15846" LastEditorUserId="186" LastEditDate="2013-04-30T21:25:17.810" LastActivityDate="2013-05-08T17:49:37.677" Title="Complete problems and universal simulator machines" Tags="&lt;cc.complexity-theory&gt;&lt;computability&gt;&lt;automata-theory&gt;&lt;universal-computation&gt;" AnswerCount="1" CommentCount="7" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17450" PostTypeId="2" ParentId="17419" CreationDate="2013-04-30T16:02:31.970" Score="13" Body="&lt;p&gt;It is &lt;a href=&quot;http://bura.brunel.ac.uk/bitstream/2438/817/1/tutte.pdf&quot;&gt;known&lt;/a&gt; that, for $G$ of bounded treewidth, the Tutte polynomial $T(G;x,y)$ can be evaluated at any $(x,y)$ using $O(n)$ arithmetic operations. If $G$ is connected, then $t(G)=T(G;1,1)$.&lt;/p&gt;&#xA;" OwnerUserId="2666" LastActivityDate="2013-04-30T16:02:31.970" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17452" PostTypeId="2" ParentId="17440" CreationDate="2013-04-30T19:53:51.110" Score="3" Body="&lt;p&gt;You could use the &lt;a href=&quot;http://en.wikipedia.org/wiki/Metropolis%E2%80%93Hastings_algorithm&quot; rel=&quot;nofollow&quot;&gt;Metropolis-Hastings algorithm&lt;/a&gt; (or perhaps &lt;a href=&quot;http://en.wikipedia.org/wiki/Gibbs_sampling&quot; rel=&quot;nofollow&quot;&gt;Gibbs sampling&lt;/a&gt;) to sample your sequence, as long as you can calculate the desired probability for the entire sequence (or a function that is &lt;em&gt;proportional&lt;/em&gt; to the probability). As I understand you, you wish to let the probability of $a$ coming before $b$ be set to the odds $a\mathop{:}b$. If all such decisions were independent, you could simply multiply the probabilities (derived from the odds) over all the pairs—but of course they're not. This might be a good enough approximation of what you're after, though, depending on what the application is.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Anyway, once you have your probability function $f(s)$ (defined over the entire sequence $s$), an application of the Metropolis algorithm (a special case of Metropolis-Hastings) would be something like this:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Start with an arbitrary ordering $s$.&lt;/li&gt;&#xA;&lt;li&gt;Generate a different ordering, $s'$, for example by randomly swapping two elements.&lt;/li&gt;&#xA;&lt;li&gt;Compute the acceptance ratio $\alpha = f(s')/f(s)$.&lt;/li&gt;&#xA;&lt;li&gt;If $\alpha \geq 1$, accept $s'$, that is, use it instead of $s$ for the next iteration. Go to 2.&lt;/li&gt;&#xA;&lt;li&gt;Otherwise, accept $s'$ with a probability $\alpha$. Go to 2.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;And then you let this run for “a while”—exactly how long would depend on the length of your sequence (though the number of iterations should be on the order of the autocorrelation of the Markov process; you can probably find more details on this in a good book on Monte Carlo methods).&lt;/p&gt;&#xA;" OwnerUserId="901" LastEditorUserId="901" LastEditDate="2013-04-30T20:04:16.390" LastActivityDate="2013-04-30T20:04:16.390" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17456" PostTypeId="1" AcceptedAnswerId="17459" CreationDate="2013-05-01T06:52:03.243" Score="11" ViewCount="365" Body="&lt;p&gt;A course's teaching assistant has managed to write a program that (deterministically) generates difficult exam questions. Now, she'd like to write a program that generates the corresponding answers. The &lt;em&gt;Examiner's Problem&lt;/em&gt; asks whether this is always possible; the &lt;em&gt;Examiner's Conjecture&lt;/em&gt; states that, assuming, $\mathsf{P} \neq \mathsf{NP}$, it is &lt;em&gt;not&lt;/em&gt;: coming up with problems is easier than coming up with their solutions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More formally, let $M$ be a deterministic Turing Machine that, on input $1^n$, generates in polynomial time a Boolean formula of size $n$. I'd like to know if, for all such $M$, there exists a deterministic polynomial-time Turing Machine $M'$ that, on input $1^n$, outputs &quot;$1$&quot; if $M(1^n)$ has a satisfying assignment and &quot;$0$&quot; otherwise.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assuming $\mathsf{P} \neq \mathsf{NP}$, has this question already been asked or answered? If not answered, what sorts of additional assumptions (&lt;em&gt;e.g.&lt;/em&gt; one-way functions?) might bear on the result? Barring any of the above, my &quot;conjecture&quot; is that the &quot;answering&quot; TM does not always exist, but what is your intuition?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks!&lt;/p&gt;&#xA;" OwnerUserId="8243" LastEditorUserId="8243" LastEditDate="2014-07-01T14:29:39.090" LastActivityDate="2014-07-01T14:29:39.090" Title="The Examiner's Problem (uniform generation of SAT decision instances/answers)" Tags="&lt;cc.complexity-theory&gt;&lt;uniformity&gt;" AnswerCount="2" CommentCount="3" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="17457" PostTypeId="2" ParentId="1763" CreationDate="2013-05-01T11:59:50.313" Score="5" Body="&lt;p&gt;&lt;a href=&quot;http://eccc.hpi-web.de/report/2012/183/&quot; rel=&quot;nofollow noreferrer&quot;&gt;A better lower bound when $p=1$&lt;/a&gt; is $n \log n - n (\log \log n + 3/2)$ bits, where $\log = \log_2$.  (The $3/2$ term can be made arbitrarily close to $1$ for large enough $n$, and asymptotically it is $\log\log e - \log e \approx 0.91$.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One can also apply a straightforward reduction from a &lt;a href=&quot;http://dx.doi.org/10.1145/62212.62228&quot; rel=&quot;nofollow noreferrer&quot;&gt;graph connectivity communication game&lt;/a&gt; to obtain a less explicit $\Omega(n \log n)$ lower bound.  However, since the implicit constant factor relates to the &lt;a href=&quot;https://mathoverflow.net/questions/127773/in-szemeredis-regularity-lemma-how-many-blocks-are-in-the-partition&quot;&gt;number of blocks guaranteed by Szemerédi's Regularity Lemma&lt;/a&gt;, it seems to end up so small as to be useless for applications.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So a more precise lower bound for the $p$-pass case is $\frac{1}{p}(n\log n - n(\log\log n + 3/2))$.  I remain unconvinced that this is the true lower bound, since &lt;a href=&quot;https://cstheory.stackexchange.com/questions/8368/reducing-space-usage-of-st-connectivity-with-multiple-passes&quot;&gt;achieving such a bound seems unlikely&lt;/a&gt; -- the true dependence on $p$ seems to be weaker than an inverse proportion.  However, the bound should be at least $\Omega(\frac{1}{p}n\log n)$, improving $\Omega(n/p)$.&lt;/p&gt;&#xA;" OwnerUserId="109" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2013-05-01T11:59:50.313" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17459" PostTypeId="2" ParentId="17456" CreationDate="2013-05-01T15:24:06.463" Score="12" Body="&lt;p&gt;The question you are asking is equivalent to unary NP = unary P, which in turn is equivalent to NE = E, by padding.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;From the title, perhaps you meant to ask if it is possible to generate input/output pairs such that the distribution on the inputs is &quot;hard.&quot;  The possibility of doing this lies somewhere between P $\ne$ NP and one-way functions exist.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In restricted computational models, it is known that this is possible.  E.g. one can generate input/output pairs for the parity or majority functions in AC$^0$ or below.  See &lt;a href=&quot;http://www.ccs.neu.edu/home/viola/papers/eh.pdf&quot;&gt;The complexity of distributions&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="259" LastActivityDate="2013-05-01T15:24:06.463" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="17460" PostTypeId="1" CreationDate="2013-05-01T15:34:36.187" Score="3" ViewCount="90" Body="&lt;p&gt;The Closest Vector Problem (and related problems) is random self-reducible and in general is NP-Hard, making it a useful tool in cryptography research and post-quantum public key crypto. For a variety of reasons (e.g. key size, protocol speed) it might be interesting to consider CVP instances where the vectors are sparse. In fact, in solving an algorithmic problem that has come up separately from cryptographic research, I have encountered what I am currently modeling as a sparse CVP problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose we have a high dimensional (N &gt;&gt; 0) closest vector problem where each of the basis vectors and the target vector all have low (log N) support. What is known in the literature in this case? Does the problem become harder, by the compactness of the input? Does the sparsity of the vectors enable solutions to be found or approximated more quickly in the limit? A rudimentary literature search was not able to find relevant papers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, really two questions:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;What is known of this problem?&lt;/li&gt;&#xA;&lt;li&gt;Is there a canonical name for this problem?&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="3624" LastEditorUserId="3624" LastEditDate="2013-05-01T18:20:44.290" LastActivityDate="2013-05-01T18:20:44.290" Title="Closest Vector Problem with sparse basis and target vector" Tags="&lt;optimization&gt;&lt;average-case-complexity&gt;&lt;lattice&gt;&lt;cc.complexity-theory&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="17462" PostTypeId="1" AcceptedAnswerId="17463" CreationDate="2013-05-01T20:11:31.837" Score="15" ViewCount="11192" Body="&lt;p&gt;Given a directed cyclic graph where the weight of each edge may be negative the concept of a &quot;shortest path&quot; only makes sense if there are no negative cycles, and in that case you can apply the Bellman-Ford algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, I'm interested in finding the shortest-path between two vertices that doesn't involve cycling (ie. under the constraint that you may not visit the same vertex twice). Is this problem well studied? Can a variant of the Bellman-Ford algorithm be employed, and if not is there another solution?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm also interested in the equivalent all-pairs problem, for which I might otherwise apply Floyd–Warshall.&lt;/p&gt;&#xA;" OwnerUserId="15866" LastEditorUserId="15866" LastEditDate="2013-05-01T20:20:20.570" LastActivityDate="2013-05-01T20:40:19.947" Title="Finding the shortest path in the presence of negative cycles" Tags="&lt;ds.algorithms&gt;&lt;graph-algorithms&gt;&lt;shortest-path&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="10" ContentLicense="CC BY-SA 3.0" />
  <row Id="17463" PostTypeId="2" ParentId="17462" CreationDate="2013-05-01T20:40:19.947" Score="26" Body="&lt;p&gt;Paths with no repeated vertices are called &lt;a href=&quot;http://en.wikipedia.org/wiki/Path_%28graph_theory%29#Different_types_of_paths&quot;&gt;simple-paths&lt;/a&gt;, so you are looking for the shortest simple-path in a graph with negative-cycles.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This can be reduced from the &lt;a href=&quot;http://en.wikipedia.org/wiki/Longest_path_problem&quot;&gt;longest-path problem&lt;/a&gt;.  If there were a fast solver for your problem, then given a graph with only positive edge-weights, negating all the edge-weights and running your solver would give the longest path in the original graph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thus your problem is NP-Hard.&lt;/p&gt;&#xA;" OwnerUserId="8532" LastActivityDate="2013-05-01T20:40:19.947" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17464" PostTypeId="1" CreationDate="2013-05-01T21:49:01.727" Score="2" ViewCount="474" Body="&lt;p&gt;What is the VC dimension of $g: \mathbb{R}^n \times (\mathbb{R}^{n \times n} \times \mathbb{R}^n \times \mathbb{R}) \rightarrow \{-1,1\}$ defined as&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$ g( x, (P_1,p_2,p_3),  ) := \text{sgn} \left( x^\top P_1 x + p_2^\top x + p_3 \right) $$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(where $P_1$ is positive definite)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Do you think that $(n^2 + 3n)/2$ from [http://arxiv.org/pdf/1109.4347.pdf] is correct?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the book [Auger, Doerr. Theory of Randomized Search Heuristics: Foundations and Recent Developments], on pag. 342, I found that $(n^2 + 3n)/2$ is an upper bound.&lt;/p&gt;&#xA;" OwnerUserId="15867" LastEditorUserId="15867" LastEditDate="2013-05-03T09:28:08.980" LastActivityDate="2013-05-03T09:28:08.980" Title="VC dimension for ellipsoidal classifiers" Tags="&lt;approximation-algorithms&gt;&lt;machine-learning&gt;&lt;lg.learning&gt;&lt;vc-dimension&gt;" AnswerCount="0" CommentCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="17465" PostTypeId="2" ParentId="17456" CreationDate="2013-05-02T00:35:43.847" Score="4" Body="&lt;h3&gt;Question: Let &lt;span class=&quot;math-container&quot;&gt;$M\in \mathsf{PF}$&lt;/span&gt; generate formulas. Does &lt;span class=&quot;math-container&quot;&gt;$\{ M(1^n) \mid  n\in \mathbb{N} \land M(1^n)\in SAT\}$&lt;/span&gt; belong to &lt;span class=&quot;math-container&quot;&gt;$\mathsf{P}$&lt;/span&gt;?&lt;/h3&gt;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$succinctSAT \in \mathsf{E} \implies$&lt;/span&gt; Yes:&lt;/p&gt;&#xA;&lt;p&gt;The assumption about the generation of the formulas in polynomial time from &lt;span class=&quot;math-container&quot;&gt;$1^n$&lt;/span&gt; means that the formula can be &lt;em&gt;succinctly&lt;/em&gt; given. You want to decide their satisfiability in time &lt;span class=&quot;math-container&quot;&gt;$n^{O(1)}$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Given &lt;span class=&quot;math-container&quot;&gt;$\varphi = M(1^n)$&lt;/span&gt; we can find an &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt; in polynomial time in &lt;span class=&quot;math-container&quot;&gt;$|\varphi|$&lt;/span&gt;. Then &lt;span class=&quot;math-container&quot;&gt;$\varphi$&lt;/span&gt; can be stated succinctly in &lt;span class=&quot;math-container&quot;&gt;$\lg n+O(1)$&lt;/span&gt; bits using &lt;span class=&quot;math-container&quot;&gt;$M$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt;. We can use our &lt;span class=&quot;math-container&quot;&gt;$succintSAT$&lt;/span&gt; algorithm in &lt;span class=&quot;math-container&quot;&gt;$\mathsf{E}$&lt;/span&gt; to decide this in time &lt;span class=&quot;math-container&quot;&gt;$2^{O(\lg n)} = n^{O(1)}$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Yes &lt;span class=&quot;math-container&quot;&gt;$\implies succinctSAT \in \mathsf{E}$&lt;/span&gt;:&lt;/p&gt;&#xA;&lt;p&gt;Let &lt;span class=&quot;math-container&quot;&gt;$M \in \mathsf{PF}$&lt;/span&gt; s.t. given a circuit &lt;span class=&quot;math-container&quot;&gt;$C$&lt;/span&gt; in &lt;em&gt;unary&lt;/em&gt;, &lt;span class=&quot;math-container&quot;&gt;$M$&lt;/span&gt; computes the string succinctly encoded by &lt;span class=&quot;math-container&quot;&gt;$C$&lt;/span&gt;, and returns the result if it is a formula and &lt;span class=&quot;math-container&quot;&gt;$\bot$&lt;/span&gt; otherwise.&lt;/p&gt;&#xA;&lt;p&gt;Assume that &lt;span class=&quot;math-container&quot;&gt;$\{ M(1^n) \mid  n\in \mathbb{N} \land M(1^n)\in SAT\}$&lt;/span&gt; belong to &lt;span class=&quot;math-container&quot;&gt;$\mathsf{P}$&lt;/span&gt;. To solve &lt;span class=&quot;math-container&quot;&gt;$succinctSAT$&lt;/span&gt; we write the given succinct formula in unary and then use our assumption to solve it.&lt;/p&gt;&#xA;&lt;h3&gt;Question: Can we generate in polynomial-time instance-solution pairs for &lt;span class=&quot;math-container&quot;&gt;$SAT$&lt;/span&gt; such that the instance is hard?&lt;/h3&gt;&#xA;&lt;p&gt;We have to clarify what we mean by the instance being hard as any instance by itself is (theoretically) easy as it can be solved by either the algorithm that always says yes or the algorithm that always says no. It seems to me that you tried to get around this issue by imposing uniformity. Thinking in cryptographic terms, without some information that is not revealed to adversary there is no point in hiding the rest of computation as the adversary can simulate the protocol.&lt;/p&gt;&#xA;&lt;p&gt;Assume that we have a polynomial-time algorithm that generate instance-solution pairs. The adversary can use the same algorithm to find the answer if it knows &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt; and finding &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt; is not difficult from the formula. The more reasonable way is to use a randomly chosen secret key to get around this and relax the hardness condition to be probabilistic: no polynomial-time algorithm can find a solution with high probability (without knowing the secret key).&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Is there an efficient (deterministic) algorithm &lt;span class=&quot;math-container&quot;&gt;$A$&lt;/span&gt;&lt;br /&gt;&#xA;such that given a randomly chosen &lt;span class=&quot;math-container&quot;&gt;$k \in \{0,1\}^n$&lt;/span&gt;,&lt;br /&gt;&#xA;generates a pair of a SAT instances &lt;span class=&quot;math-container&quot;&gt;$\varphi_k$&lt;/span&gt; and its answer &lt;span class=&quot;math-container&quot;&gt;$w_k$&lt;/span&gt; such that&lt;br /&gt;&#xA;no efficient (probabilistic/nonuniform) adversary algorithm &lt;span class=&quot;math-container&quot;&gt;$D$&lt;/span&gt;&lt;br /&gt;&#xA;can correctly solve the SAT instances generated by &lt;span class=&quot;math-container&quot;&gt;$A$&lt;/span&gt;  with non-negligible probability?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Or more formally,&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Is there &lt;span class=&quot;math-container&quot;&gt;$A\in \mathsf{PF}$&lt;/span&gt; such that for all &lt;span class=&quot;math-container&quot;&gt;$D \in \mathsf{P/poly}$&lt;/span&gt;, such that&#xA;&lt;span class=&quot;math-container&quot;&gt;$SAT(A(k)_1) = A(k)_2$&lt;/span&gt; for all &lt;span class=&quot;math-container&quot;&gt;$k$&lt;/span&gt; and&#xA;&lt;span class=&quot;math-container&quot;&gt;$$\mathsf{Pr}_{k \in \{0,1\}^n} \{ D(A(k)_1) = SAT(A(K)_1) \} &amp;lt; \frac{1}{poly(n)}$$&lt;/span&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;It is easy to see that such a function can be turned into a one-way function as if it was easy to find &lt;span class=&quot;math-container&quot;&gt;$k$&lt;/span&gt; from &lt;span class=&quot;math-container&quot;&gt;$\varphi_k$&lt;/span&gt; then we can find the answer by computing &lt;span class=&quot;math-container&quot;&gt;$A(k)_2$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;p&gt;On the other hand, let &lt;span class=&quot;math-container&quot;&gt;$f$&lt;/span&gt; be a one-way function. We can express &lt;span class=&quot;math-container&quot;&gt;$f(x)=y$&lt;/span&gt; as a polynomial-size circuit since &lt;span class=&quot;math-container&quot;&gt;$f$&lt;/span&gt; is computable in polynomial-time (and we can turn it into a formula by introducing new variables for all gates and locally enforcing the condition for the correctness of the computation as in Tsien's translation).&#xA;Let's consider &lt;span class=&quot;math-container&quot;&gt;$y$&lt;/span&gt; as parameter and denote the resulting formula as &lt;span class=&quot;math-container&quot;&gt;$\varphi_{f,y}(x)$&lt;/span&gt;. We can ask if there is any &lt;span class=&quot;math-container&quot;&gt;$x$&lt;/span&gt; which satisfies &lt;span class=&quot;math-container&quot;&gt;$\varphi_{f,y}(x)$&lt;/span&gt;. Any polynomial-time algorithm solving these &lt;span class=&quot;math-container&quot;&gt;$SAT$&lt;/span&gt; instances with non-negligible probability will break the one-way function &lt;span class=&quot;math-container&quot;&gt;$f$&lt;/span&gt;. However this uses the fact that the adversary needs to find a witness not just the fact that the formula is satisfiable or not&#xA;(but I think we can get around this issue by using the hard-bit of &lt;span class=&quot;math-container&quot;&gt;$f$&lt;/span&gt;).&lt;/p&gt;&#xA;&lt;p&gt;See also chapters 29 and 30 of Jan Krajicek's book &amp;quot;Forcing with Random Variables&amp;quot;, 2011 on &lt;em&gt;proof complexity generators&lt;/em&gt;.&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2013-05-02T00:47:49.033" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17466" PostTypeId="1" CreationDate="2013-05-02T01:46:54.567" Score="1" ViewCount="1048" Body="&lt;p&gt;Could someone point me to a way of bounding the tail probability of sums of bernoulli variables each generated by the same distribution but the condition of independence is only partially satisfied. By partially I mean the variables could be divided into subsets of size atmost k such that any variable from two different sets are independent. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course one possible technique is that we sum the variables in a set and treat the sums as my new random variables but now the bound of the value we would have on these variables would be k and that's unreasonable in the setting that we have. So could something better be said ? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If needed the corelation between variables belonging to a set could be better characterized. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks&lt;/p&gt;&#xA;" OwnerUserId="12212" LastEditorUserId="6785" LastEditDate="2013-05-02T03:10:09.370" LastActivityDate="2013-05-02T03:26:09.557" Title="Chernoff Bounds for settings with limited dependence" Tags="&lt;reference-request&gt;&lt;pr.probability&gt;&lt;randomized-algorithms&gt;&lt;chernoff-bound&gt;" AnswerCount="2" CommentCount="9" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="17467" PostTypeId="2" ParentId="17466" CreationDate="2013-05-02T02:13:44.863" Score="4" Body="&lt;p&gt;This is the first link on Google for the search &quot;chernoff limited independence&quot;:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.cs.umd.edu/~srin/PDF/ch-bounds.pdf&quot; rel=&quot;nofollow&quot;&gt;&quot;Chernoff-Hoeffding Bounds for Applications with Limited Independence&quot; by Schmidt et al.&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="43" LastActivityDate="2013-05-02T02:13:44.863" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17468" PostTypeId="2" ParentId="17466" CreationDate="2013-05-02T03:26:09.557" Score="6" Body="&lt;p&gt;If $X_1, \cdots, X_n$ are $k$-wise independent random variables on $[0,1]$, then $$\text{Pr} \left[ \left| \sum_i X_i - \text{Ex}\left[ \sum_i X_i \right] \right| \geq n \cdot \varepsilon \right] \leq \left( \frac{k^2}{4 n \varepsilon^2} \right)^{\lfloor k/2 \rfloor}.$$&#xA;Note that this bound does not necessarily improve with greater $k$. So you may want to choose a smaller $k$ to get the best results.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;i&gt;Proof Sketch.&lt;/i&gt; W.L.O.G. $k$ is even. Consider the $k^\text{th}$ moment: $$\text{Ex} \left[ \left( \sum_i X_i - \text{Ex}\left[ \sum_i X_i \right] \right)^k \right] = \sum_{S \in [n]^k} \text{Ex} \left[ \prod_{i \in S} X_i - \text{Ex}[X_i] \right].$$&#xA;Each summand on the RHS is nonzero only if every $i$ appears at least twice in $S$. (Otherwise, since $\text{Ex}[X_i-\text{Ex}[X_i]]=0$ and the other terms are independent, the product is zero.) So each nonzero summand has at most $k/2$ different values of $i$. So there are at most ${n \choose k/2} (k/2)^k$ nonzero summands. Each summand is bounded by $1$. Thus $$\text{Ex} \left[ \left( \sum_i X_i - \text{Ex}\left[ \sum_i X_i \right] \right)^k \right] \leq {n \choose k/2} (k/2)^k \leq (n \cdot k^2 /4)^{k/2}.$$ Now apply Markov's inequality to obtain the result. &lt;i&gt;Q.E.D.&lt;/i&gt; (Sorry the proof sketch is so brief. I can elaborate if you want.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This appears as Prob. 3.8 p. 52 in &lt;i&gt;Pseudorandomness&lt;/i&gt; by S. Vadhan.&lt;/p&gt;&#xA;" OwnerUserId="2022" LastActivityDate="2013-05-02T03:26:09.557" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17469" PostTypeId="1" CreationDate="2013-05-02T06:34:38.613" Score="16" ViewCount="511" Body="&lt;p&gt;It is known that one can compute exactly the determinant of an $n\times n$ matrix in determinstic $\log^2(n)$ space.&#xA;What would be the complexity implications of approximating the determinant of a real matrix, of norm at most $1$ ($\left\|A\right\|\leq 1$) in randomized logarithmic space, up to say, a $1/\text{poly}$ accuracy?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In this respect, what would be the &quot;correct&quot; approximation to ask for - multiplicative or additive?  (see one of the answers below).&lt;/p&gt;&#xA;" OwnerUserId="6238" LastEditorUserId="6238" LastEditDate="2013-05-07T13:52:16.980" LastActivityDate="2013-05-07T13:52:16.980" Title="Implications of approximating the determinant" Tags="&lt;determinant&gt;&lt;cc.complexity-theory&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="17472" PostTypeId="2" ParentId="17440" CreationDate="2013-05-02T08:58:22.003" Score="4" Body="&lt;p&gt;Here is an algorithm:&#xA;Choose a number from the sequence with probabilities proportional to their values, remove it and push_front it to the output sequence. Repeat the steps.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;With your 1 2 3 example, consider the probability that 1 comes earlier than 3 ( so 1 is removed later than 3 in the input sequence ). Obviously the time 2 is removed is not relevant. So the probability is 1/(1+3)=1/4.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The algorithm can be implemented in time O(NlogN)&lt;/p&gt;&#xA;" OwnerUserId="15871" LastActivityDate="2013-05-02T08:58:22.003" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17473" PostTypeId="1" CreationDate="2013-05-02T11:42:17.860" Score="2" ViewCount="110" Body="&lt;p&gt;$\mathsf{AC,ACC,TC}$-hierarchy are basic bounded depth circuit hierarchies.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$AC$-hierarchy is $\bigcup _{i =0}^{\infty}  AC^{i} $ , where $AC^{i}$ is the $i$-th level of the hierarchy: a family of $\mathsf{poly} (n)$-size and $O(\log ^{i}n)$ depth circuits with AND OR NOT gates. $ACC$-hierarchy is obtained by adding $AC$-hierarchy  modulo gates computing the number of $1$'s in a input mod $q$ is $0$ or not for fixed integer $q$. $\mathsf{TC}$-hierarchy is $\bigcup _{i=0}^{\infty}  TC^{i} $ , where $TC^{i}$ is the $i$-th level of the hierarchy: a family of $\mathsf{poly} (n)$-size and $O(\log ^{i}n)$ depth circuits with threshold gates. &lt;em&gt;We consider classes of nonuniform circuits&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am interested in conditional results saying that if I were a bird, then blah blah...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More specifically, let $\mathcal{A,B}$ be large compleixty classes satisfying &#xA;$\mathcal{A} \subseteq  \mathcal{B}$ and let $H^{i}$ be the $i$^th level of a bounded depth circuit hierarchy $H$. Is there a result saying that if $H \supseteq  \mathcal{B}  $ then $H^{i} \supseteq \mathcal{A} $ for a fixed  $i$ ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More concretely, is there a well know complexity class $\mathcal{L} $ with the result that if $\mathsf{NEXP} \subseteq H$ then $\mathcal{L} \subseteq  H^{0}$ ?&lt;/p&gt;&#xA;" OwnerUserId="14065" LastEditorUserId="14065" LastEditDate="2013-05-16T12:49:45.397" LastActivityDate="2013-05-16T12:49:45.397" Title="Conditional Results on Bounded Depth Circuit Hierarchy" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;conditional-results&gt;&lt;advice-and-nonuniformity&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="17474" PostTypeId="1" AcceptedAnswerId="17485" CreationDate="2013-05-02T12:47:51.933" Score="3" ViewCount="166" Body="&lt;p&gt;I came across the following definition in &lt;a href=&quot;http://scholar.google.com/scholar?hl=en&amp;amp;q=Nonapproximability+of+the+normalized+information+distance&amp;amp;btnG=&amp;amp;as_sdt=1%2C5&amp;amp;as_sdtp=&quot; rel=&quot;nofollow&quot;&gt;a paper&lt;/a&gt;:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;We can extend the notion of an $n$-c.e. [n-computably enumerable] set to a notion that measures the number of fluctuations of a function as folows: For every $n \geq 1$, call $f : N \rightarrow R$ n-approximable if there is a rational-valued computable approximation $\varphi$ such that $\lim_{k\rightarrow \infty} \varphi(x, k) = f(x)$ and such that for every $x$, the number of $k$’s such that $\varphi(x,k + 1) − \varphi(x,k) &amp;lt; 0$ is bounded by $n − 1$. That is, $n − 1$ is a bound on the number of fluctuations of the approximation. &#xA;&lt;br/&gt;&lt;br/&gt;&#xA;Note that the $1$-approximable functions are precisely the lower semicomputable ($\Sigma_1^0$) ones (zero fluctuations). Also note that a set $A \subseteq \mathbb N$ is $n$-c.e. if and only if the characteristic function of A is n-approximable.&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I have two questions. &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Is this a commonly used principle? Google didn't give me any relevant results.&lt;/li&gt;&#xA;&lt;li&gt;If I have an $n$-c.e. function $\varphi(x)$, with $\varphi(x,k)$ approximating it. Couldn't I just build a Turing machine $\varphi'(x, k')$ that dovetails the computation of $\varphi(x, k)$ until it sees two consecutive halting machines with $\varphi(x, k+1) &amp;lt; \varphi(x, k)$, stops the dovetailing, and outputs $\varphi(x, k+1+k')$ (ie. it computes $\varphi(\cdot, \cdot)$ but starting from k+1). Then, if $\varphi(x)$ is $n-c.e.$ (and not $n+1$-c.e.), it is also $n-1$-c.e., and by induction it is just approximable.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;So the definition doesn't seem to make sense. Am I missing something?&lt;/p&gt;&#xA;" OwnerUserId="7892" LastActivityDate="2013-05-03T01:50:16.860" Title="n-approximable functions" Tags="&lt;computability&gt;&lt;approximation&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17475" PostTypeId="1" CreationDate="2013-05-02T13:00:22.347" Score="-1" ViewCount="423" Body="&lt;p&gt;In canopy clustering &lt;a href=&quot;http://www.kamalnigam.com/papers/canopy-kdd00.pdf&quot; rel=&quot;nofollow&quot;&gt;http://www.kamalnigam.com/papers/canopy-kdd00.pdf&lt;/a&gt;, if a sample falls in an overlap of 2 canopies, how do we choose its cluster? &lt;/p&gt;&#xA;" OwnerUserId="5853" LastEditorUserId="13408" LastEditDate="2015-10-22T08:27:48.813" LastActivityDate="2015-10-22T08:27:48.813" Title="Canopy clustering: what should we do with samples in overlapping canopies?" Tags="&lt;machine-learning&gt;&lt;clustering&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17477" PostTypeId="1" CreationDate="2013-05-02T13:56:40.187" Score="5" ViewCount="1147" Body="&lt;p&gt;Define $$l_i(x) := \text{sgn} \left( w_i^\top x - b_i \right)$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;for $i=1,...,n$, where $x \in \mathbb{R}^d$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then define the classifier&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$ g(x) := \max \{ l_1(x),..., l_n(x) \}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;which represents the intersection of $n$ linear functions and hence a convex polytope in $\mathbb{R}^d$ with $n$ facets.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is the VC dimension of the family of all $g$ of this form?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I found that an upper bound is $2 (d+1) n \text{log}_2( (d+1)n ).$&lt;/p&gt;&#xA;" OwnerUserId="15867" LastEditorUserId="4896" LastEditDate="2013-05-02T21:19:03.540" LastActivityDate="2019-03-06T10:00:03.580" Title="VC dimension of intersection of half-spaces" Tags="&lt;cg.comp-geom&gt;&lt;machine-learning&gt;&lt;lg.learning&gt;&lt;vc-dimension&gt;&lt;high-dimensional-geometry&gt;" AnswerCount="1" CommentCount="9" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17478" PostTypeId="1" CreationDate="2013-05-02T15:19:27.787" Score="9" ViewCount="1032" Body="&lt;p&gt;LINEAR DIOPHANTINE EQUATIONS &#xA;(given natural numbers $a, b, c$, are there natural numbers $x$ and $y$ such that $ax + by + c = 0$?) are solvable in polynomial time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;QUADRATIC DIOPHANTINE EQUATIONS ($ax^2 + by + c = 0$) are NP-complete (&lt;a href=&quot;http://dl.acm.org/citation.cfm?id=803627&quot;&gt;NP-complete decision problems for quadratic polynomials&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;General DIOPHANTINE EQUATIONS are undecidable (Davis-Putnam-Robinson-Matiyasevich theorem).&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;Are there other classes of Diophantine equations (with restrictions on their arguments/variables) that capture other complexity classes (in particular PSPACE) ?&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="3247" LastActivityDate="2013-05-02T16:21:49.683" Title="Diophantine equations and complexity classes" Tags="&lt;reference-request&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17479" PostTypeId="2" ParentId="17478" CreationDate="2013-05-02T16:01:00.670" Score="3" Body="&lt;p&gt;Note that it depends a lot on what set are you solving over.&#xA;For example, the NP-complete SUBSET-SUM problem can be considered as a LINEAR DIOPHANTNE EQUATION, when you restrict your solution over positive integers.&#xA;If you allow also negative solutions then it is solvable in polynomial time.&#xA;For an excellent survey, see:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.114.3864][1]&lt;/p&gt;&#xA;" OwnerUserId="6238" LastActivityDate="2013-05-02T16:01:00.670" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17480" PostTypeId="2" ParentId="17478" CreationDate="2013-05-02T16:21:49.683" Score="4" Body="&lt;p&gt;This paper, &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/0196677487900137&quot; rel=&quot;nofollow&quot;&gt;Computational complexities of Diophantine equations with parameters&lt;/a&gt; by Tung, proves co-NP-completeness of a variant with parameters over natural numbers.&lt;/p&gt;&#xA;" OwnerUserId="495" LastActivityDate="2013-05-02T16:21:49.683" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17481" PostTypeId="1" AcceptedAnswerId="17787" CreationDate="2013-05-02T18:02:58.667" Score="6" ViewCount="416" Body="&lt;p&gt;M.E. O'Neill in the Epilogue of &quot;The Genuine Sieve of Eratosthenes&quot; (preprint &lt;a href=&quot;http://www.cs.hmc.edu/~oneill/papers/Sieve-JFP.pdf&quot; rel=&quot;nofollow&quot;&gt;http://www.cs.hmc.edu/~oneill/papers/Sieve-JFP.pdf&lt;/a&gt; DOI 10.1017/S0956796808007004) quotes Richard Bird that &quot;&lt;em&gt;union&lt;/em&gt; is defined in the way it is in order to be a productive function.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is that the technical term referring to productive sets and creative sets, or is it just a manner of speaking?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The function &lt;em&gt;union&lt;/em&gt; is defined there in the following Haskell code:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;primes = 2:([3..] `minus` composites)&#xA;  where&#xA;    composites = union [multiples p | p &amp;lt;- primes]&#xA;&#xA;multiples n = map (n*) [n..]&#xA;&#xA;(x:xs) `minus` (y:ys) | x&amp;lt; y = x:(xs `minus` (y:ys))&#xA;                      | x==y = xs `minus` ys&#xA;                      | x&amp;gt; y = (x:xs) `minus` ys&#xA;&#xA;union = foldr merge []&#xA;  where&#xA;    merge (x:xs) ys = x:merge' xs ys&#xA;&#xA;    merge' (x:xs) (y:ys) | x&amp;lt; y = x:merge' xs (y:ys)&#xA;                         | x==y = x:merge' xs ys&#xA;                         | x&amp;gt; y = y:merge' (x:xs) ys&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;I haven't learned about productive sets. If it's helpful for understanding this point, I will.&lt;/p&gt;&#xA;" OwnerUserId="15620" LastEditorUserId="10479" LastEditDate="2013-05-27T13:43:08.087" LastActivityDate="2015-12-28T11:47:52.570" Title="Does &quot;Productive function&quot; mean just that in ME O'Neill, The Genuine Sieve of Eratosthenes?" Tags="&lt;primes&gt;&lt;recursion&gt;" AnswerCount="2" CommentCount="5" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="17482" PostTypeId="1" AcceptedAnswerId="17483" CreationDate="2013-05-02T18:08:16.553" Score="14" ViewCount="877" Body="&lt;p&gt;Alice and Bob have n-bit strings, and want to figure out if they're equal while doing little communication. The standard randomized solution is to treat the n-bit strings as polynomials of degree $n$ and then evaluate the polynomials over a few randomly chosen elements from a field of size larger than $n$. This takes $O(\log |F|)$ communication.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose instead that we fix a lexicographic ordering over the strings and want instead to determine which string is &quot;larger&quot;, which is equivalent to finding the leftmost bit where the strings differ. &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there a similar randomized protocol for doing this, or a known&#xA;  lower bound ? This seems to relate to testing positivity of&#xA;  polynomials.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;p.s While lexicographic order seems like the most obvious, I'm fine with other orderings: for the purpose I'm interested in, all we need is &lt;em&gt;some&lt;/em&gt; order. &lt;/p&gt;&#xA;" OwnerUserId="80" LastEditorUserId="80" LastEditDate="2013-05-02T18:31:00.600" LastActivityDate="2013-05-03T18:07:08.693" Title="Testing for positivity instead of equality" Tags="&lt;communication-complexity&gt;&lt;property-testing&gt;" AnswerCount="2" CommentCount="14" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="17483" PostTypeId="2" ParentId="17482" CreationDate="2013-05-02T19:38:58.813" Score="11" Body="&lt;p&gt;This is known as Greater-Than problem in communication complexity. An algorithm with $O(\log n) $ communication complexity exists (Exercise 3.18 in Nisan-Kushilevitz book). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit: The algorithm is due to Nisan (page 10): &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.57.6891&amp;amp;rep=rep1&amp;amp;type=pdf&quot;&gt;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.57.6891&amp;amp;rep=rep1&amp;amp;type=pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It uses the approach suggested by @Sasho Nikolov below --- running a binary search using equality tests with constant error to do the comparisons. This can be done with $O(\log n)$ queries using the &quot;noisy binary search algorithm&quot; by Feige, Peleg, Raghavan and Upfal: &lt;a href=&quot;http://cs.brown.edu/~eli/papers/SICOMP23FRPU.pdf&quot;&gt;http://cs.brown.edu/~eli/papers/SICOMP23FRPU.pdf&lt;/a&gt; &lt;/p&gt;&#xA;&#xA;&lt;p&gt;To get a (non-explicit) private randomness protocol one can apply the result of Newman: &lt;a href=&quot;http://pdf.aminer.org/000/933/113/private_vs_common_random_bits_in_communication_complexity.pdf&quot;&gt;http://pdf.aminer.org/000/933/113/private_vs_common_random_bits_in_communication_complexity.pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="254" LastEditorUserId="254" LastEditDate="2013-05-03T18:07:08.693" LastActivityDate="2013-05-03T18:07:08.693" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="17484" PostTypeId="2" ParentId="17426" CreationDate="2013-05-02T19:40:18.540" Score="2" Body="&lt;p&gt;You could get a Google Scholar profile, and it'll keep feeding you recommendations it thinks will be relevant to you, based on your publications.&lt;/p&gt;&#xA;" OwnerUserId="901" LastActivityDate="2013-05-02T19:40:18.540" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17485" PostTypeId="2" ParentId="17474" CreationDate="2013-05-03T01:44:38.120" Score="3" Body="&lt;p&gt;This is a special case of what is called an $f$-c.e. set. A set $A$ is $f$-c.e. iff there is computable function $g$ such that &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$\chi_A(x) = \lim_i g(x,i)$, and &lt;/li&gt;&#xA;&lt;li&gt;$\forall x \ |\{s \mid g(x,i) \neq g(x,i+1) \}| \leq f(x)$. &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;If we consider $f(x)=n$ then we get the definition of $n$-c.e sets.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;They don't need to be c.e. because c.e. is not closed under complement. Take two c.e. sets and take their difference. It is a $2$-c.e. set but it does not need to be a c.e. set.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www1.maths.leeds.ac.uk/~pmt6sbc/&quot; rel=&quot;nofollow&quot;&gt;Barry Cooper&lt;/a&gt; and colleges have been interested in these sets and the notion of computability in limit. You may want to check his &lt;a href=&quot;http://arxiv.org/abs/1109.1416&quot; rel=&quot;nofollow&quot;&gt;&quot;Definability in the Real Universe&quot;&lt;/a&gt; article from &lt;a href=&quot;http://books.google.ca/books?id=48rfPEiv9eIC&amp;amp;lpg=PA61&amp;amp;ots=Zl1g9L9D2Q&quot; rel=&quot;nofollow&quot;&gt;&quot;Computability In Context: Computation and Logic in the Real World&quot;&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2013-05-03T01:50:16.860" LastActivityDate="2013-05-03T01:50:16.860" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="17487" PostTypeId="1" AcceptedAnswerId="17490" CreationDate="2013-05-03T10:15:16.877" Score="0" ViewCount="277" Body="&lt;h1&gt;Problem 1&lt;/h1&gt;&#xA;&lt;p&gt;I have read &amp;quot;On Approximation of the Minimum-Cost k-Connected Spanning Subgraph Problem&amp;quot; (by A. Czumaj, A. Lingas), and even in the abstract are 2 statements &amp;quot;We present a polynomial time approximation scheme for Minimum-Cost k-Connected subgraph problem&amp;quot; and in the second paragraph of the abstract they state that there is no PTAS unless P=NP. I am sure there is a small difference between the tow problems, but I cannot see what it is. Could someone clarify for me what problem does not have a PTAS and how its different from the problem in the first paragraph of the abstract?&lt;/p&gt;&#xA;&lt;h1&gt;Problem 2&lt;/h1&gt;&#xA;&lt;p&gt;Because I didn't really get the paper from the first problem, I read &amp;quot;Polynomial Time Approximation Scheme from Euclidean TSP and other Geometric Problems&amp;quot; (by S. Arora), and I have the same problem here, he claims to give a PATS for euclidean TSP, but in the intro states &amp;quot;[...] showed that if P≠NP then metric TSP and many other problems do not have a PTAS&amp;quot;. I see there some kind of contradiction, they are giving a PTAS, but say that some showed that there cannot be any. What am I missing?&lt;/p&gt;&#xA;" OwnerUserId="13082" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2013-05-03T14:06:07.083" Title="PTAS (polynomial time approximatin scheme) for euclidean TSP/Minimum-Cost k-Connected subgraph problem" Tags="&lt;graph-theory&gt;&lt;np-hardness&gt;&lt;approximation-algorithms&gt;&lt;tsp&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="17488" PostTypeId="2" ParentId="17469" CreationDate="2013-05-03T10:40:37.073" Score="4" Body="&lt;p&gt;With a risk of not having understood the details of the question properly: Being able to approximate the determinant within any factor requires being able to decide whether a square matrix is singular or not, which should have some consequences.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For one thing, it gives a randomized test for whether a general graph has a perfect matching (via the Tutte matrix and Schwarz-Zippel). I don't think the latter is known in randomized logspace (e.g., the Complexity Zoo lists bipartite perfect matching as hard for NL).&lt;/p&gt;&#xA;" OwnerUserId="307" LastActivityDate="2013-05-03T10:40:37.073" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="17489" PostTypeId="1" CreationDate="2013-05-03T12:38:11.183" Score="0" ViewCount="1112" Body="&lt;p&gt;I am working on a suggestion system to passengers on transits to take.&#xA;The thing is we are formulating stations on a transport network (eg. bus transport) as nodes and route between spatially adjacent stations as edges. The&#xA;weights on edges being the time it takes to reach between stations. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;We are in search of route, a person should take if he/she desires&#xA;to go from node A to node B. I am aware that I can use the shortest path&#xA;problem to find a shortest route. But the complication is that the&#xA;shortest route may not be the fastest route to the destination. This is because&#xA;on the shortest route one of the leg of the journey has very low bus frequency and thus may take longer. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let me elaborate it further. What I mean is that say A--C--B is the shortest route  but the frequency of buses is hourly. But A--D--B is another route which&#xA;is longer that A--C--B but has more frequency say once in 10 minutes.&#xA;Thus in this case A--C--B is the desired route. It is quite clear that the standard shortest path may not give the desired result.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can you suggest a solution to this problem? I was thinking may be&#xA;detect all unique cycles involving node A &amp;amp; B. And compute actually required &#xA;time (taking into account bus frequencies) on that route. But I am not&#xA;sure how to go about this. &lt;/p&gt;&#xA;" OwnerUserId="15810" LastActivityDate="2013-05-09T10:34:23.927" Title="Designing a Transport network path suggestion tool" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="17490" PostTypeId="2" ParentId="17487" CreationDate="2013-05-03T13:22:16.680" Score="2" Body="&lt;p&gt;Each of the papers shows that there is a polynomial-time approximation scheme (PTAS) for the problem it studies if the input instance is Euclidean and that there is no PTAS if the input instance is arbitrary (if P≠NP).&lt;/p&gt;&#xA;" OwnerUserId="9929" LastEditorUserId="9929" LastEditDate="2013-05-03T14:06:07.083" LastActivityDate="2013-05-03T14:06:07.083" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17491" PostTypeId="2" ParentId="17482" CreationDate="2013-05-03T13:33:45.063" Score="7" Body="&lt;p&gt;See &lt;a href=&quot;http://www.ccs.neu.edu/home/viola/papers/ccsum.pdf&quot;&gt;The communication complexity of addition&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As Grigory mentioned, there is a protocol with communication $O(\log n)$.  This is due to Nisan and Safra.  Their protocol either uses public randomness or is not explicit.  The above paper gives one that uses private randomness and is explicit (via a relatively standard use of pseudorandom generators); it also discusses matching lower bounds in the public-randomness model.&lt;/p&gt;&#xA;" OwnerUserId="259" LastActivityDate="2013-05-03T13:33:45.063" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17493" PostTypeId="2" ParentId="17475" CreationDate="2013-05-03T14:52:43.953" Score="-1" Body="&lt;p&gt;As thoroughly exaplained in: &lt;a href=&quot;http://net.pku.edu.cn/~course/cs402/2012/book/%5BMahout.in.Action%282011%29%5D.Sean.Owen.pdf&quot; rel=&quot;nofollow&quot;&gt;http://net.pku.edu.cn/~course/cs402/2012/book/%5BMahout.in.Action%282011%29%5D.Sean.Owen.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Canopies aren't normally used for clustering, but merely as a single-iteration pre-stage for k-means, for choosing the initial k centroids.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But, if you insist on using the canopies as clusters, you can ask CanopyDriver to also cluster the data, and it will use the closest canopy for each point:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;      Canopy closest = clusterer.findClosestCanopy(vw.get(), clusters);&#xA;      writer.append(new IntWritable(closest.getId()),&#xA;          new WeightedVectorWritable(1, vw.get()));&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;" OwnerUserId="5853" LastActivityDate="2013-05-03T14:52:43.953" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17494" PostTypeId="2" ParentId="3616" CreationDate="2013-05-03T15:04:39.593" Score="9" Body="&lt;p&gt;I've frequently heard it stated that Valiant-Vazirani says that $\mathsf{NP}$ randomly reduces to $\mathsf{UP}$, or that $\mathsf{NP} \subseteq \mathsf{RP}^{\mathsf{UP}}$, or that $\mathsf{NP} \subseteq \mathsf{R} \cdot \mathsf{UP}$. In particular, this would imply that if Valiant-Vazirani could be derandomized, then $\mathsf{NP}=\mathsf{UP}$. But in fact Valiant-Vazirani says that $\mathsf{NP} \subseteq \mathsf{RP}^{\mathsf{PromiseUP}}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Closely related false belief: $\mathsf{UP}$ is the class of languages $L$ with a nondeterministic poly time verifier such that $x \in L$ iff there is a unique witness. The correction is that the verifier must satisfy the semantic property that on &lt;em&gt;all&lt;/em&gt; instances, there is at most one witness. The definition above, without the correction, is the definition of $\mathsf{US}$. But $\mathsf{US}$ is &lt;em&gt;very&lt;/em&gt; different from $\mathsf{UP}$: for example, $\mathsf{coNP} \subseteq \mathsf{US}$.&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2013-05-03T15:04:39.593" CommentCount="7" CommunityOwnedDate="2013-05-03T15:04:39.593" ContentLicense="CC BY-SA 3.0" />
  <row Id="17496" PostTypeId="1" CreationDate="2013-05-03T17:29:58.877" Score="6" ViewCount="770" Body="&lt;p&gt;Recently I have done an introductory course on complexity theory ( which covered 90% of sipser text book). Now I would like to study the topics Hardness of approximation and PCP's. Can you please suggest me the best available sources (lecture notes or video lectures) to study these topics from the basics. &lt;/p&gt;&#xA;" OwnerUserId="14028" LastActivityDate="2013-05-08T03:25:23.030" Title="How to start studying topics Hardness of approximation and PCP's" Tags="&lt;cc.complexity-theory&gt;&lt;approximation-hardness&gt;&lt;pcp&gt;" AnswerCount="4" CommentCount="1" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="17497" PostTypeId="2" ParentId="17496" CreationDate="2013-05-03T17:42:43.033" Score="7" Body="&lt;p&gt;I recommend &lt;em&gt;Lectures on Proof Verification and Approximation Algorithms&lt;/em&gt;,  E.W.Mayr and H.J.Prömel and A.Steger (Eds.), &lt;a href=&quot;http://link.springer.com/book/10.1007/BFb0053010/page/1&quot;&gt;Lecture Notes in Computer Science, vol. 1367&lt;/a&gt;, Springer Verlag 1998. These lectures are very suitable for studying these topics from the basic.&lt;/p&gt;&#xA;" OwnerUserId="6706" LastEditorUserId="6706" LastEditDate="2013-05-03T18:05:56.367" LastActivityDate="2013-05-03T18:05:56.367" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17500" PostTypeId="2" ParentId="17496" CreationDate="2013-05-03T18:12:38.660" Score="2" Body="&lt;p&gt;It's not enough for a self study, but the notes from this DIMACS workshop might help: &lt;a href=&quot;http://arxiv.org/pdf/1002.3864v1.pdf&quot; rel=&quot;nofollow&quot;&gt;http://arxiv.org/pdf/1002.3864v1.pdf&lt;/a&gt;. Then there is Arora-Barak: &lt;a href=&quot;http://www.cs.princeton.edu/theory/complexity/&quot; rel=&quot;nofollow&quot;&gt;http://www.cs.princeton.edu/theory/complexity/&lt;/a&gt; (there is a draft online, and, as it is a draft, it has some typos). &lt;/p&gt;&#xA;" OwnerUserId="4896" LastEditorUserId="4896" LastEditDate="2013-05-03T23:46:08.257" LastActivityDate="2013-05-03T23:46:08.257" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17501" PostTypeId="1" CreationDate="2013-05-03T18:21:12.330" Score="9" ViewCount="713" Body="&lt;p&gt;Berkowitz algorithm provides a polynomial size circuit with logarithmic depth for determinant of a square matrix using matrix powers. The algorithm implicitly uses cancellation. Is cancellation essential for attaining a circuit of polynomial size with logarithmic or linear depth to calculate determinant (and any possible best circuit for permanent)? Are there fully exponential (not just superpolynomial or sub exponential) lower bounds for these problems using circuits without cancellation?&lt;/p&gt;&#xA;" OwnerUserId="1812" LastEditorUserId="1812" LastEditDate="2013-05-06T06:07:21.330" LastActivityDate="2013-05-10T00:41:40.593" Title="Cancellation and determinant" Tags="&lt;circuit-complexity&gt;&lt;algebraic-complexity&gt;&lt;permanent&gt;&lt;arithmetic-circuits&gt;&lt;determinant&gt;" AnswerCount="2" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17502" PostTypeId="1" CreationDate="2013-05-03T18:22:58.857" Score="1" ViewCount="982" Body="&lt;p&gt;What is a simple toy research programming language that has simple denotational semantics (including numbers or reals) that is used often to demonstrate certain properties of programming languages, or other things?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am looking to demonstrate an idea on a programming language, and I don't want it to be complex in syntax, and I also want it to have easy to understand denotational semantics.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I don't need a working implementation of the language. Just the syntax and denotational semantics for the syntax.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks.&lt;/p&gt;&#xA;" OwnerUserId="14293" LastActivityDate="2013-05-23T21:23:01.263" Title="A simple programming language?" Tags="&lt;pl.programming-languages&gt;" AnswerCount="4" CommentCount="3" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="17503" PostTypeId="2" ParentId="17496" CreationDate="2013-05-03T18:42:09.757" Score="2" Body="&lt;p&gt;Here is what we used for our seminars: &lt;a href=&quot;http://www.cs.toronto.edu/theory/PCPReadingGroup.html&quot; rel=&quot;nofollow&quot;&gt;Theory Reading Group: PCPs and Hardness of Approximation - Fall 2010&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Arora and Barak is a good starting point.&lt;/p&gt;&#xA;" OwnerUserId="186" LastActivityDate="2013-05-03T18:42:09.757" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17504" PostTypeId="1" CreationDate="2013-05-03T19:30:15.990" Score="3" ViewCount="64" Body="&lt;p&gt;Given a k-SAT problem with $C$ clauses and $V$ variables, we can group the clauses together into groups of $g$ clauses with few exceptions, where the exceptions contain $g-1$ or fewer clauses.  If we add the constraint that each group should contain at most $n$ variables in common, and no clause is in more than one group, how quickly can we find a &quot;grouping&quot; that satisfies these conditions?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm wondering if this problem has been considered before, and in what circumstances this problem needs to be resolved.  My motivation for considering this question stems from another attempt at making use of the clause counting that I describe in &lt;a href=&quot;https://cstheory.stackexchange.com/questions/9502/the-worst-case-scenarios-for-max3e-sat&quot;&gt;this question&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="1549" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2013-05-03T19:30:15.990" Title="How fast can we group clauses with few variables in common in k-SAT?" Tags="&lt;sat&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17505" PostTypeId="2" ParentId="17502" CreationDate="2013-05-03T21:39:58.467" Score="1" Body="&lt;p&gt;&lt;strong&gt;Joy&lt;/strong&gt; comes to mind. It's a simple concatenative language that involves manipulations on a stack. It's essentially a reverse Polish notation for combinatory logic with quoting, developed by a professor of logic and programming so presumably it was taught in class. :)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm not 100% sure what qualifies as as denotational semantics, but, there is an algebra for it:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.kevinalbrecht.com/code/joy-mirror/j04alg.html&quot; rel=&quot;nofollow&quot;&gt;http://www.kevinalbrecht.com/code/joy-mirror/j04alg.html&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="10664" LastActivityDate="2013-05-03T21:39:58.467" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17506" PostTypeId="1" CreationDate="2013-05-03T22:24:06.270" Score="18" ViewCount="525" Body="&lt;p&gt;In the densest $k$-subgraph problem, one is given an undirected graph $G$ and wants to find a set of vertices $N$ with $|N| = k$ such that the number of edges in the subgraph of $G$ induced by $N$ is maximized. The subgraph is not required to be connected.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are conflicting sources on the complexity of this problem on planar graphs. Wikipedia claims that this problem is $\mathsf{NP}$-complete on planar graphs. &lt;a href=&quot;https://cs.uwaterloo.ca/~brecht/papers/getpaper.php?file=jcmcc-1991.pdf&quot; rel=&quot;nofollow&quot;&gt;Keil and Brecht&lt;/a&gt;  prove that the &lt;em&gt;connected&lt;/em&gt; variant of the problem is $\mathsf{NP}$-complete on planar graphs, but leave the complexity of the densest $k$-subgraph problem as stated above open. &lt;a href=&quot;http://www.ricoz.net/assets/slides_and_posters/FlowInterdiction-slides.pdf&quot; rel=&quot;nofollow&quot;&gt;Zenklusen&lt;/a&gt; claims that the problem is still open. There are other sources that take both sides, but no source that I have seen gives a proof that planar densest $k$-subgraph is $\mathsf{NP}$-complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;What is the complexity of the densest k-subgraph problem on planar graphs?&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thank you in advance.&lt;/p&gt;&#xA;" OwnerUserId="15710" LastEditorUserId="32187" LastEditDate="2015-04-07T08:49:47.833" LastActivityDate="2015-04-07T08:49:47.833" Title="Complexity of the densest $k$-subgraph problem on planar graphs" Tags="&lt;reference-request&gt;&lt;np-hardness&gt;&lt;planar-graphs&gt;" AnswerCount="0" CommentCount="2" FavoriteCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="17507" PostTypeId="2" ParentId="17501" CreationDate="2013-05-03T22:53:00.397" Score="11" Body="&lt;p&gt;Yes, cancellations are needed and there are lower bounds for monotone and for non-commutative models where cancellations are impossible.  See discussion in &lt;a href=&quot;https://cstheory.stackexchange.com/questions/8918/monotone-arithmetic-circuits&quot;&gt;Monotone arithmetic circuits&lt;/a&gt;.  A survey of aritmetic circuit complexity can be found in &lt;a href=&quot;http://www.cs.technion.ac.il/~shpilka/publications/SY10.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://www.cs.technion.ac.il/~shpilka/publications/SY10.pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="42" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2013-05-03T23:00:17.680" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17508" PostTypeId="1" AcceptedAnswerId="17510" CreationDate="2013-05-04T00:02:44.853" Score="3" ViewCount="174" Body="&lt;p&gt;In the context of adiabatic quantum computation the spectral norm was first used in the &lt;a href=&quot;http://arxiv.org/abs/quant-ph/0001106&quot; rel=&quot;nofollow&quot;&gt;first adiabatic paper&lt;/a&gt; by Farhi et. al. when he demonstrated the relation of it to the conventional quantum computation. He showed that $$\Delta || H_P - H_B || &amp;lt;&amp;lt; 1 $$. Later on &lt;a href=&quot;http://arxiv.org/abs/quant-ph/0206003&quot; rel=&quot;nofollow&quot;&gt;van Dam et. al.&lt;/a&gt; also used spectral norm of Hamiltonian for computing the complexity. Daniel Nagaj also commented in chapter 2 of his &lt;a href=&quot;http://arxiv.org/abs/0808.2117&quot; rel=&quot;nofollow&quot;&gt;PhD thesis&lt;/a&gt; that &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;It is thus usual to think the required resources of an AQC algorithm as $T.||H|| ...$&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Why do we need spectral norm for computing adiabatic Hamiltonian complexity? Why can't we just express it in terms of the eigenvalue of $\tilde{H}(S)$?&lt;/p&gt;&#xA;" OwnerUserId="13408" LastActivityDate="2013-05-04T08:12:56.890" Title="Why spectral norms are used for computing the complexity of adiabatic Hamiltonian?" Tags="&lt;quantum-computing&gt;&lt;time-complexity&gt;&lt;quantum-information&gt;&lt;norms&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17509" PostTypeId="1" CreationDate="2013-05-04T06:39:09.757" Score="4" ViewCount="594" Body="&lt;p&gt;I recently learnt about the concept of &lt;a href=&quot;http://en.wikipedia.org/wiki/Dominator_(graph_theory)&quot; rel=&quot;nofollow&quot;&gt;dominator trees&lt;/a&gt; and was fascinated by it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I was wondering how the problem extends to computing dominators from multiple sources, or even from all vertices in the graph as sources: can all-sources dominators be represented more compactly than in O(n^2) space and computed more efficiently than running the classic dominator tree algorithm from every vertex?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I tried searching for keywords like &quot;multiple sources dominators&quot; etc, but only found about &quot;multiple-vertex dominators&quot;, which are a different thing (dominating sets of size &amp;gt; 1)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does any of this become simpler if the graph is acyclic? (in fact, I work at Google and I think it'd be fun to apply this to the huge dependency graph of Google's &lt;a href=&quot;http://google-engtools.blogspot.com/2011/08/build-in-cloud-how-build-system-works.html&quot; rel=&quot;nofollow&quot;&gt;build targets&lt;/a&gt;)&lt;/p&gt;&#xA;" OwnerUserId="326" LastActivityDate="2014-04-09T18:18:55.707" Title="Multiple-sources dominator trees: compact representation and fast algorithm?" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;ds.data-structures&gt;&lt;directed-acyclic-graph&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17510" PostTypeId="2" ParentId="17508" CreationDate="2013-05-04T08:03:56.387" Score="3" Body="&lt;p&gt;The spectral norm $||H||$ determines the maximum energy involved in driving the evolution of the quantum system and thus the quantum computation. Any quantum evolution could be sped-up by a factor of $\lambda$ by simply driving the system with Hamiltonian $\lambda H$ as a simple consequence of Schrödinger's equation. The energy involved is simply another physical resource invested into solving the problem, that needs to be considered in complexity considerations, besides time. For example, if your Hamiltonian has a tiny spectral gap, you could of course enlarge it by simply rescaling the strengths of all interactions in your system until the gap is large enough in absolute terms. Of course, after having solved the engineering challenges involved, this will linearly accelerate your computationion, similar to overclocking your classical PC. But the speed gained was only achieved by investing another resource that needs to be kept track of.&lt;/p&gt;&#xA;" OwnerUserId="121" LastEditorUserId="121" LastEditDate="2013-05-04T08:12:56.890" LastActivityDate="2013-05-04T08:12:56.890" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="17511" PostTypeId="2" ParentId="16929" CreationDate="2013-05-04T09:16:21.930" Score="-2" Body="&lt;p&gt;I don't see how $F_\phi$ can be computed it in polynomial time becuase doing resolution itself takes exponential time (in the worst case). For example, let's say your candidate 3-CNF formula $F_1$ is as below:&#xA;$$&#xA;F_1 := \{ \{a, b, c\}, \{d, e, \neg c\}, \{a, \neg b, f\}, \{d, e, \neg f\}\}&#xA;$$&#xA;Then, the result of resolution on $F_1$ is the formula $F_2$ below:&#xA;$$&#xA;F_2 := \{ \{a, b, c\}, \{d, e, \neg c\}, \{a, \neg b, f\}, \{d, e, \neg f\}, \{a,b,d,e\}, \{a,\neg b, d, e\}, \{a,d,e\}\}&#xA;$$&#xA;Thus, the formula $F_\phi$ is as below:&#xA;$$&#xA;F_\phi :=\{\{a, b, c\}, \{d, e, \neg c\}, \{a, \neg b, f\}, \{d, e, \neg f\}, \{a,d,e\}\}&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, as you can see, in order to get the final clause in $F_\phi$ you should first get all four-literal clauses. So, I do not see any way to get rid of exponentially many steps for resolution. Indeed, for some problems such as the pigeonhole principle, we know that resolution cannot solve it in less than exponentially many steps (but, to be fair, as far as I know, these examples are not in 3-CNF form and some intelligent resolution might exist when the input is guaranteed to be in 3-CNF form).&lt;/p&gt;&#xA;" OwnerUserId="15892" LastActivityDate="2013-05-04T09:16:21.930" CommentCount="1" CommunityOwnedDate="2013-05-04T09:16:21.930" ContentLicense="CC BY-SA 3.0" />
  <row Id="17513" PostTypeId="2" ParentId="3111" CreationDate="2013-05-04T10:57:59.490" Score="5" Body="&lt;p&gt;Bruce Reed, &lt;a href=&quot;http://link.springer.com/article/10.1007/s004930050056&quot;&gt;Mangoes and Blueberries&lt;/a&gt;, Combinatorica 19 (1999) 267-296 .&lt;/p&gt;&#xA;" OwnerUserId="13667" LastActivityDate="2013-05-04T10:57:59.490" CommentCount="0" CommunityOwnedDate="2013-05-04T10:57:59.490" ContentLicense="CC BY-SA 3.0" />
  <row Id="17514" PostTypeId="2" ParentId="17502" CreationDate="2013-05-04T11:03:05.370" Score="1" Body="&lt;p&gt;David Schmidt's tutorial on &lt;a href=&quot;http://people.cis.ksu.edu/~schmidt/papers/CRC.chapter.ps.gz&quot; rel=&quot;nofollow&quot;&gt;Programming language semantics&lt;/a&gt; survey semantics methods then provides a fully detailed denotational semantics for a toy imperative language. &#xA;You may have additional fun playing with a &lt;a href=&quot;http://liris.cnrs.fr/romuald.thion/files/Ressources/Prog/Haskell/Schmidt/&quot; rel=&quot;nofollow&quot;&gt;naive Naskell interpreter&lt;/a&gt; for the language.&lt;/p&gt;&#xA;" OwnerUserId="8963" LastActivityDate="2013-05-04T11:03:05.370" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17515" PostTypeId="2" ParentId="17198" CreationDate="2013-05-04T21:09:22.610" Score="5" Body="&lt;p&gt;Yes. &lt;a href=&quot;http://cr.yp.to/bib/1981/wegman.html&quot; rel=&quot;nofollow&quot;&gt;Wegman and Carter's &quot;New hash functions and their use in authentication and set equality&quot;&lt;/a&gt; (&lt;a href=&quot;http://www.fi.muni.cz/~xbouda1/teaching/2009/IV111/Wegman_Carter_1981_New_hash_functions.pdf&quot; rel=&quot;nofollow&quot;&gt;mirror&lt;/a&gt;) shows a scheme meeting the requirements stated (almost universal, over $\mathbb{Z}_{2^b}$, sublinear space and randomness, linear evaluation time) based on a small number of hash functions drawn from a strongly universal family.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is sometimes called &quot;tree hashing&quot;, and it is used in &lt;a href=&quot;https://eprint.iacr.org/2004/319.pdf&quot; rel=&quot;nofollow&quot;&gt;&quot;Badger - A Fast and Provably Secure MAC&quot; by Boesgaard et al&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="43" LastEditorUserId="43" LastEditDate="2015-12-14T14:36:20.253" LastActivityDate="2015-12-14T14:36:20.253" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17517" PostTypeId="2" ParentId="3111" CreationDate="2013-05-05T04:08:38.393" Score="1" Body="&lt;p&gt;This paper is not a humorous theory paper, but it is a really humorous paper by a theoretician, about dangers of being sloppy about punctuation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, in bibliography, he spelled his own name as:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;J. Dullman&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(As most reader know, Ullman's middle initial is D.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I can't recall the full details (issue, year #, page), but it appeared in SIGACT newsletter in late 80's.&lt;/p&gt;&#xA;" OwnerUserId="14004" LastActivityDate="2013-05-05T04:08:38.393" CommentCount="0" CommunityOwnedDate="2013-05-05T04:08:38.393" ContentLicense="CC BY-SA 3.0" />
  <row Id="17520" PostTypeId="1" CreationDate="2013-05-05T13:57:54.553" Score="9" ViewCount="337" Body="&lt;p&gt;It it well-known that the existence of one-way functions is necessary and sufficient for much of cryptography (digital signatures, pseudorandom generators, private-key encryption, etc.). My question is: &lt;strong&gt;What are the &lt;em&gt;complexity-theoretic&lt;/em&gt; consequences of the existence of one-way functions?&lt;/strong&gt; For example, OWFs imply that $\mathsf{NP}\ne\mathsf{P}$, $\mathsf{BPP}=\mathsf{P}$, and $\mathsf{CZK}=\mathsf{IP}$. Are there other known consequences? In particular, do OWFs imply that the polynomial hierarchy is infinite?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm hoping to better understand the relationship between worst-case and average-case hardness. I'm also interested in results going the other way (i.e. complexity-theoretic results that would imply OWFs).&lt;/p&gt;&#xA;" OwnerUserId="2022" LastEditorUserId="495" LastEditDate="2013-08-26T19:56:52.233" LastActivityDate="2019-08-08T16:27:58.917" Title="Consequences of OWFs for Complexity" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;complexity-classes&gt;&lt;cr.crypto-security&gt;&lt;one-way-function&gt;" AnswerCount="2" CommentCount="11" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="17521" PostTypeId="2" ParentId="17520" CreationDate="2013-05-05T20:19:10.473" Score="2" Body="&lt;p&gt;Integer factorization is widely considered the best candidate for one way functions and it is in TFNP. From the abstract of this paper, &lt;a href=&quot;http://people.cs.uchicago.edu/~fortnow/papers/phq.pdf&quot; rel=&quot;nofollow&quot;&gt;Does the Polynomial Hierarchy Collapse if Onto&#xA;Functions are Invertible?&lt;/a&gt;, it gives a relativized negative result by constructing&#xA;an oracle under which TFNP functions are efficiently computable but the&#xA;polynomial-time hierarchy is infinite. However, the result is not exactly what you are looking for.&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2013-05-05T20:35:25.617" LastActivityDate="2013-05-05T20:35:25.617" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17522" PostTypeId="2" ParentId="17198" CreationDate="2013-05-06T01:39:02.403" Score="-1" Body="&lt;p&gt;If you want something fast and that you can use in practice, you might look at the cryptographic literature.  For instance, &lt;a href=&quot;http://cr.yp.to/mac.html&quot; rel=&quot;nofollow&quot;&gt;poly1305&lt;/a&gt; and &lt;a href=&quot;https://en.wikipedia.org/wiki/UMAC&quot; rel=&quot;nofollow&quot;&gt;UMAC&lt;/a&gt; are fast, and there are many others.  Because 2-universal hashes are useful for cryptography, cryptographers have studied many constructions and found ones that are extremely efficient.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Poly1305 works like your first type of hash (called a &lt;em&gt;polynomial evaluation hash&lt;/em&gt;), working modulo $2^{130}-5$.  The scheme shows clever tricks to make this run very fast on a modern computer.  The amount of randomness is small: 128 bits.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you want to reduce the amount of randomness and don't care so much about practicality, you might look at the following research paper:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;LFSR-based Hashing and Authentication. Hugo Krawczyk. CRYPTO 1994.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Krawczyk describes a scheme to reduce the amount of randomness basically by letting $a_i$ be the $i$th row of a Toeplitz matrix.  However, the Krawczyk scheme works over $GF(2^b)$, not arithmetic modulo $2^b$.&lt;/p&gt;&#xA;" OwnerUserId="5038" LastEditorUserId="5038" LastEditDate="2013-05-06T01:53:40.367" LastActivityDate="2013-05-06T01:53:40.367" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17523" PostTypeId="1" CreationDate="2013-05-06T05:31:24.660" Score="4" ViewCount="101" Body="&lt;p&gt;Are there any size depth trade-offs known for monotone arithmetic circuits that compute permanent and determinant?&lt;/p&gt;&#xA;" OwnerUserId="1812" LastActivityDate="2013-05-06T05:31:24.660" Title="Size depth tradeoffs for monotone arithmetic circuits" Tags="&lt;arithmetic-circuits&gt;" AnswerCount="0" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17527" PostTypeId="1" CreationDate="2013-05-06T12:39:37.593" Score="18" ViewCount="1424" Body="&lt;p&gt;Consider the following &lt;strong&gt;problem $Q$&lt;/strong&gt;: We are given an integer $n$, and $k$ intervals $[l_i,r_i]$ with $1\leq l_i\leq r_i\leq 2n$. We are also given $2n$ integers $d_1,…,d_{2n}\geq 0$. The task is to select a minimum number of intervals $[l_i,r_i]$ such that for every $i=1,…,2n$, at least $d_i$ intervals containing the integer $i$ are selected.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is not hard to see that $Q$ can be solved in polynomial time (see below).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now consider the following slightly modified &lt;strong&gt;problem $Q’$&lt;/strong&gt;: The input of the problem is the same as before. However, the task now is to select a minimum number of intervals such that for every $i=1,…,n$, at least $d_{2i-1}$ intervals containing the integer $2i-1$ or at least $d_{2i}$ intervals containing the integer $2i$ are selected (with “or” we mean the usual logical or).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;My question: Can $Q’$ be solved in polynomial time?&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here are two ways to solve $Q$ efficiently:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A simple greedy algorithm: Sweep through the intervals from left-to-right and select only as few intervals as are necessary to “satisfy” the numbers $d_i$. Whenever there is a choice between different intervals, choose the one(s) with maximal right endpoint.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An integer program: For each interval $[l_i,r_i]$ introduce a decision variable $x_i\in\{0,1\}$ with $x_i=1$ iff the interval is selected. The objective is to minimize $ x_1+…+x_k$, subject to the constraints $\sum_{j:i\in[l_j,r_j]} x_j\geq d_i$. The constraint matrix of this integer program has the consecutive ones property and therefore the linear programming relaxation of this program has an integer optimal solution.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks for any hints, and also for references!&lt;/p&gt;&#xA;" OwnerUserId="15914" LastEditorUserId="15914" LastEditDate="2013-05-07T08:03:19.853" LastActivityDate="2015-01-31T16:20:20.627" Title="Complexity of interval cover problem" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="17528" PostTypeId="1" AcceptedAnswerId="17535" CreationDate="2013-05-06T22:33:50.667" Score="4" ViewCount="203" Body="&lt;p&gt;In one version of the classical closest pair problem, one is given a set $S \subseteq \mathbb{R}^2$ and asked to find distinct $x, y \in S$ such that $\|x - y\|$ is minimized for some norm $\| \cdot \|$. This problem admits a well-known $O(n \log n)$ divide and conquer solution for $L^p$ spaces (&lt;a href=&quot;http://en.wikipedia.org/wiki/Closest_pair_of_points_problem&quot; rel=&quot;nofollow&quot;&gt;Wikipedia&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Instead of a point set, I have instead a finite set of closed balls $S = \{B_{r_i} (\mathbf{x}_i) : \mathbf{x}_i \in \mathbb{R}^2\}$, and I would like to solve the associated distance problem. That is, for a given $p$, I want to find distinct $i$, $j$ such that the distance between $B_{r_i}(\mathbf{x}_i)$ and $B_{r_j}(\mathbf{x}_j)$ is minimal.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have been unable to adapt the divide and conquer technique to this situation. Has any work been done on this problem? I care specifically about an asymptotically fast solution for the case $p = 1$, though I am also interested in the general solution (my examples and scribblings so far indicate that the case $1 \leq p \leq \infty$ may be easier than the case $0 &amp;lt; p &amp;lt; 1$). Is it known, for instance, whether this problem is $\Theta(n^2)$ for $0 &amp;lt; 1 &amp;lt; p$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;b&gt;Edit:&lt;/b&gt; I will make the simplifying assumption that the balls' interiors do not intersect (though their boundaries may).&lt;/p&gt;&#xA;" OwnerUserId="15921" LastEditorUserId="15921" LastEditDate="2013-05-07T00:23:09.153" LastActivityDate="2013-05-07T14:29:31.540" Title="A generalization of the geometric closest pair problem to balls" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;cg.comp-geom&gt;" AnswerCount="1" CommentCount="6" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17529" PostTypeId="1" AcceptedAnswerId="17530" CreationDate="2013-05-06T23:03:38.390" Score="6" ViewCount="377" Body="&lt;p&gt;This question comes from what I asked in a comment &lt;a href=&quot;https://cstheory.stackexchange.com/questions/17482/testing-for-positivity-instead-of-equality#comment45474_17482&quot;&gt;here&lt;/a&gt;, although I realized that&#xA;I don't actually care about which input is less than the other, if they're different.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Alice and Bob have n-bit strings, and want to figure out if they're equal&#xA;while doing little communication. $\:$ They can use a randomized solution,&#xA;but there must be zero chance of getting the wrong answer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Parametrized by $n$, how much communication is needed to for a protocol that:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;outputs one of {NO,MAYBE,YES}&lt;/li&gt;&#xA;&lt;li&gt;for all input pairs, the probability of the protocol outputting MAYBE on that pair is at most 1/2&lt;/li&gt;&#xA;&lt;li&gt;the protocol never outputs YES on unequal inputs, and never outputs NO on equal inputs&#xA;?&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Since this falls between the deterministic and the standard randomized cases,&#xA;the bounds for those are upper and lower bounds, respectively, for this question.&lt;/p&gt;&#xA;" OwnerDisplayName="user6973" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2013-05-12T16:53:25.210" Title="Testing for equality with zero error" Tags="&lt;communication-complexity&gt;" AnswerCount="2" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17530" PostTypeId="2" ParentId="17529" CreationDate="2013-05-07T00:03:23.037" Score="10" Body="&lt;p&gt;Let $D$ be the distribution on inputs that w.p. $p = 1/(1+\epsilon)$ picks $(x,x)$ for random $x$, and w.p. $1-p$ picks $(x,y)$ for random $x \neq y$. An appropriate choice of random coins leads to a deterministic protocol that never makes mistakes and outputs MAYBE w.p. at most $1/2$ with respect to $D$. In particular, it must answer YES on at least $1-(1/2)/p = 1/2 - \epsilon/2$ of the nodes $(x,x)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose that the protocol uses $C$ bits of communications. It therefore has at most $2^C$ leaves. Each leaf is a monochromatic combinatorial rectangle, and so each of the at least $(1-\epsilon) 2^{n-1}$ YES answers must end up in a different leaf. We conclude that $C \geq n-1$.&lt;/p&gt;&#xA;" OwnerUserId="40" LastActivityDate="2013-05-07T00:03:23.037" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17532" PostTypeId="1" CreationDate="2013-05-07T08:45:37.673" Score="4" ViewCount="356" Body="&lt;p&gt;I am reading &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.42.2589&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;nofollow&quot;&gt;this&lt;/a&gt; article, and I am having trouble to understand the 11th definition (page 7) about the &lt;code&gt;connectivity characteristic&lt;/code&gt;. I do understand the raw definitions, but have no idea what this gives my intuitively.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The definition:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;ul&gt;&#xA;  &lt;li&gt;For each pair of distinct vertices v, u of H: let $Com_{H}(v, u)$ be the set of portal completions which augment H to a graph with k internally vertex-disjoint paths between v and u.  &lt;/li&gt;&#xA;  &lt;li&gt;For each vertex v of H, let $Path_{H}(v)$ be the set of pairs (U, Q) where U is a multiset of P(H) with vertex multiplicities bounded by from above by the vertex degrees in H and Q is a partial g-matching on the complete multigraph on P(H) with g(w) equal to the difference between the degree of w in UH and the multiplicity of w in U such that there are $|U|+|Q|$ internally vertex-disjoint paths in H connecting v with each copy a vertex in U, and connecting each pair of endpoints of each edge in Q, respectively.  &lt;/li&gt;&#xA;  &lt;li&gt;$Path_{H}$ is the set of all Q for which $(\phi, Q)$ is in $Path_{H}(v)$ for an arbitrary vertex v in P(H).  &lt;/li&gt;&#xA;  &lt;li&gt;We will call the triple ($Com_{H}(v, u)$, $Path_{H}(v)$, $Path_{H}$) the $connectivity\ characteristic$ of H.&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Context: The paper presenta a PTAS for minimum-cost k-connected subgraph problem. This is done by dissecting the graph into smaller parts, brute-forcing a solution on the small parts, and then connecting them in a way that doesn't increase is stays a $(1+\epsilon)$-approximation. This &lt;code&gt;connectivity characteristic&lt;/code&gt; is a property of the subgraphs that is maintained by the algorithm while augmenting the big graph from the smaller parts. A foot note at page 6 states that it models &quot;missing&quot; connectivity, that will be added later by the augmentation of the regions.&lt;br&gt;&#xA;Note that there is also &lt;code&gt;(m, r)-blue&lt;/code&gt; which is another property that should be maintained. Could be that only both give something useful.&lt;br&gt;&#xA;The definition of an (m, r)-blue graph is at page 10. Mainly says that a facet is being crossed at portals, and not too often.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Could someone give me some intuitive explanation about what this characteristic is, and why its helpful?&lt;/p&gt;&#xA;" OwnerUserId="13082" LastEditorUserId="13082" LastEditDate="2013-05-07T20:14:04.253" LastActivityDate="2014-02-02T02:13:00.913" Title="Problem understanding &quot;connectivity&quot; characteristic for the $k$-connected subgraph problem" Tags="&lt;graph-theory&gt;&lt;cg.comp-geom&gt;&lt;dynamic-programming&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17534" PostTypeId="1" CreationDate="2013-05-07T13:32:42.497" Score="6" ViewCount="224" Body="&lt;p&gt;&lt;a href=&quot;http://cvs.cs.umd.edu/~gasarch/ryan/acc.pdf&quot; rel=&quot;nofollow&quot;&gt;Beigel and Tarui&lt;/a&gt;'s transformation of $\mathsf{ACC}^0$ circuits to depth 2 circuits with a polylog symmetric function on top is one of important results in the circuit complexity. For example, the recent breakthrough separation between $\mathsf{NEXP}$  and $\mathsf{ACC}^0$ by Ryan Williams uses this transformation to design a fast $\mathsf{ACC}^0$-CircuitSAT algorithm. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think the proof in their paper is a little complicated and too technical for me. Is there a simpler proof of their result?&lt;/p&gt;&#xA;" OwnerUserId="15934" LastEditorUserId="-1" LastEditDate="2013-05-07T21:12:57.610" LastActivityDate="2014-03-08T17:05:33.120" Title="Is there a simpler proof of Beigel and Tarui's transformaion of ACC0 circuits" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;circuit-complexity&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17535" PostTypeId="2" ParentId="17528" CreationDate="2013-05-07T14:29:31.540" Score="3" Body="&lt;p&gt;As Suresh says in his comment, you can extract the closest pair from the additively-weighted Voronoi diagram of the centers of the balls.  The closest pair of balls (in your case, diamonds) will have adjacent Voronoi regions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The additively weighted Voronoi diagram of $n$ points in the plane can be constructed in $O(n\log n)$ time with high probability using a standard randomized incremental algorithm.  The same algorithms work, with only minor modifications, for diagrams in the Euclidean metric ($L_2$), the Manhattan metric ($L_1$), the supremum metric ($L_\infty$), or the $L_p$ metric for any other fixed $p\ge 1$.&lt;/p&gt;&#xA;" OwnerUserId="111" LastActivityDate="2013-05-07T14:29:31.540" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17536" PostTypeId="1" AcceptedAnswerId="17537" CreationDate="2013-05-07T15:43:54.773" Score="-1" ViewCount="109" Body="&lt;p&gt;Hard to put this question in a short title. As part of a self-exercise, I'm trying to solve 6.15b of &lt;em&gt;Principles of Model Checking&lt;/em&gt; by Baier and Katoen. You're supposed to prove that there does not exist an equivalent LTL formula for the CTL formula $\phi = A\Diamond E\bigcirc A\Diamond \neg a$, without the theorem that says that you can remove all A's and E's.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is hinted to me that if I can construct two automata $A$ and $A'$ such that $\textrm{Traces}(A) = \textrm{Traces}(A')$, but where $A \models \phi$ and $A' \not\models \phi$, I'm practically done. (Assume $\psi$ is an LTL formula with $\psi \equiv \phi$, then $A\models\psi\iff A'\models\psi$. This is a contradiction, which proves there is no LTL equivalent.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, how to construct such automata? Currently I'm basically constructing simple automata that satisfy $\phi$, but all the variants with similar traces also appear to satisfy $\phi$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Kinds regards.&lt;/p&gt;&#xA;" OwnerUserId="15935" LastActivityDate="2013-05-07T16:59:17.310" Title="Constructing automata with the same traces, but where a CTL-formula is not equally satisfied" Tags="&lt;lo.logic&gt;&lt;automata-theory&gt;&lt;model-checking&gt;&lt;linear-temporal-logic&gt;" AnswerCount="1" CommentCount="0" ClosedDate="2013-12-01T19:06:08.517" ContentLicense="CC BY-SA 3.0" />
  <row Id="17537" PostTypeId="2" ParentId="17536" CreationDate="2013-05-07T16:59:17.310" Score="0" Body="&lt;p&gt;SPOILER ALERT: Since you ask this in TCS, I assume you want the answer and not hints. If you don't want the full answer, don't continue reading...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One example of such automata is as follows.&#xA;The first, $A_1$, consists of two states $q,s$, where $L(q)=a$ and $L(s)=\neg a$ ($L$ being the labeling function). $q$ has a transition to $q$ and to $s$, and $s$ has only a self loop.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The second,$A_2$ consists of 4 states $q_1,...,q_4$ with the following transitions:&#xA;$$q_1\to q_2\vee q_3$$&#xA;$$q_2\to q_2$$&#xA;$$q_3\to q_3\vee q_4$$&#xA;$$q_4\to q_4$$&#xA;And the labels are: $L(q_1)=L(q_2)=L(q_3)=a$ and $L(q_4)=\neg a$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is easy to see that the traces of both automata are exactly $a^\omega \cup a^*\cdot a\cdot (\neg a)^\omega$, but path $q_1,q_2^\omega$ makes it so that $A_2\not\models \phi$, whereas $A_1\models \phi$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By the way, you can remove $q_3$ from $A_2$, but I find it clearer this way.&lt;/p&gt;&#xA;" OwnerUserId="7531" LastActivityDate="2013-05-07T16:59:17.310" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="17538" PostTypeId="1" CreationDate="2013-05-07T18:45:33.740" Score="1" ViewCount="1033" Body="&lt;p&gt;Firstly I wanted to ask. If I have a undirected graph and split all the edges into two directed edges is it still called directed or does it become bi-directed? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://i.stack.imgur.com/hFpva.png&quot; rel=&quot;nofollow noreferrer&quot;&gt;&lt;img src=&quot;https://i.stack.imgur.com/hFpva.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The main question is i have a graph with n sources all in the same graph until now I thought I could use the mssp method provided by Klein in this &lt;strong&gt;&lt;a href=&quot;http://planarity.org/Klein_multiple_source_shortest_paths.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;paper&lt;/a&gt;&lt;/strong&gt; but it says that the graph must be a directed graph. Yet if I have an undirected graph and split each edges into two components with same weight I don't think it will be able to solve the problem or it does not matter? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Due the bidirection of the graph,  will it have the first source visit each and every node without the other sources implying that I can't adapt the graph such that I can have a Shortest path tree as if I ran a dijkstra on the other sources does it?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also I wanted to make sure does this method gets all the shortest path trees? because i was getting confused.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Klein algorithm is able to compute all the shortest path trees for specific starting nodes found on a single face (lets agree on that). Its secret is that it will do adaptations of specific darts found in the dual graph. if it is an undirected graph turning it into directed graph will become a bi directed graph by the following:&#xA;can you still state that such graph is directed and also bi directed? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A directed graph is called bi-directed if the there is a mapping reversal() that maps each edge e=(v,w) to a reversal edge (denoted as reversal(e)) such that the following holds:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;reversal(e)=(w,v), that is, the reversal edge of e indeed is reversely directed, so reversal() deserves its name.&#xA;&#xA;reversal(reversal(e))=e, that is, also in the presence of multiedges always two edges correspond to one another.&#xA;&#xA;e is different from reversal(e), that is, also in the presence of self-loops each self-loop edge has a different self-loop edge as its reversal edge. (don't have self loops)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Each edge e occurs as the reversal edge reversal(e') of a different edge e', that is, the mapping is bijective.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;would you still be able to state that a I directed graph is also a directed graph?&lt;/p&gt;&#xA;" OwnerUserId="15738" LastEditorUserId="32711" LastEditorDisplayName="user6973" LastEditDate="2019-08-26T06:36:46.720" LastActivityDate="2019-08-26T06:36:46.720" Title="directed or bidirected in relation to mssp (Multiple source shortest path)" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;shortest-path&gt;" AnswerCount="1" CommentCount="4" ContentLicense="CC BY-SA 4.0" />
  <row Id="17541" PostTypeId="2" ParentId="17532" CreationDate="2013-05-07T21:45:18.340" Score="1" Body="&lt;p&gt;I think I figured it out.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;$Com_{H}(v, u)$ are paths leaving the region and connecting through some vertices outside the region.&#xA;&lt;img src=&quot;https://i.stack.imgur.com/ls7Zv.png&quot; alt=&quot;CompH(u,v)&quot;&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;$Path_{H}(v)$ are the paths connecting $v$ to the vertices that are not included in this region.&#xA;&lt;img src=&quot;https://i.stack.imgur.com/C5FRR.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;$Path_{H}$ are paths inside the region&lt;br&gt;&#xA;&lt;img src=&quot;https://i.stack.imgur.com/V77Hp.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;If this is true, then the proof of Lemma 3.2 has some typing errors (the 2 a.m. kind). And it should be:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;To compute $Com_{H}(v, u)$ where u, &lt;del&gt;u&lt;/del&gt; v are non-portal vertices in $H$, for each competition $D$ in $Com_{H}(v, u)$, we insert &lt;del&gt;D and&lt;/del&gt; the set difference $D\backslash B$ into $Com_{H \cup B}(v, u)$ (not $H \cup C$).&lt;br&gt;&#xA;  [The rest is good]&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I am not really sure, so please let me know what you think about this via comments \ up-votes \ telepathy.&lt;/p&gt;&#xA;" OwnerUserId="13082" LastActivityDate="2013-05-07T21:45:18.340" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17542" PostTypeId="1" AcceptedAnswerId="17544" CreationDate="2013-05-07T21:46:30.373" Score="-2" ViewCount="678" Body="&lt;p&gt;So I got two relations with two common attributes. For one of those attributes, the attribute values in two of the tuples of those relations are the same, for the other they aren't.&lt;br&gt;&#xA;How does my result after a natural join look like?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Example:&lt;br&gt;&#xA;&lt;strong&gt;A B C&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;B C D&lt;/strong&gt;&lt;br&gt;&#xA;1 2 3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;2 3 4&lt;br&gt;&#xA;5 6 7&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;6 8 9&lt;br&gt;&#xA;I would join the first tuples of both relations, since there's 2/3 in both of them. What about the second tuples? There's 6/7 on the left, and 6/8 on the right.&lt;/p&gt;&#xA;" OwnerUserId="15941" LastActivityDate="2013-05-07T22:20:35.100" Title="Relational Algebra - Natural Join" Tags="&lt;db.databases&gt;" AnswerCount="1" CommentCount="1" ClosedDate="2013-05-07T22:20:18.907" ContentLicense="CC BY-SA 3.0" />
  <row Id="17544" PostTypeId="2" ParentId="17542" CreationDate="2013-05-07T22:20:35.100" Score="-1" Body="&lt;p&gt;As said in Wikipedia (&lt;a href=&quot;http://en.wikipedia.org/wiki/Relational_algebra#Natural_join_.28.E2.8B.88.29&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/Relational_algebra#Natural_join_.28.E2.8B.88.29&lt;/a&gt;), natural join $X \bowtie Y$ contains unions of pairs $x \in X$, $y \in Y$ which have $X$'s and $Y$'s all common attributes equal. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, in your case, natural join would consist of only one tuple $\{ \langle A = 1, B = 2, C = 3, D = 4 \rangle \}$&lt;/p&gt;&#xA;" OwnerUserId="15939" LastActivityDate="2013-05-07T22:20:35.100" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17545" PostTypeId="1" AcceptedAnswerId="17630" CreationDate="2013-05-07T22:34:03.420" Score="24" ViewCount="13709" Body="&lt;p&gt;I posted this &lt;a href=&quot;https://math.stackexchange.com/q/382479/6555&quot;&gt;earlier&lt;/a&gt; on MSE, but it was suggested that here may be a better place to ask.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Universal_approximation_theorem&quot; rel=&quot;noreferrer&quot;&gt;Universal approximation theorem&lt;/a&gt; states that &quot;the standard multilayer feed-forward network with a single hidden layer, which contains finite number of hidden neurons, is a universal approximator among continuous functions on compact subsets of Rn, under mild assumptions on the activation function.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I understand what this means, but the relevant papers are too far over my level of math understanding to grasp why it is true or how a hidden layer approximates non-linear functions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, in terms little more advanced than basic calculus and linear algebra, how does a feed-forward network with one hidden layer approximate non-linear functions? The answer need not necessarily be totally concrete.&lt;/p&gt;&#xA;" OwnerUserId="4008" LastEditorUserId="-1" LastEditDate="2017-04-13T12:19:19.363" LastActivityDate="2013-05-15T00:08:17.173" Title="Universal Approximation Theorem — Neural Networks" Tags="&lt;approximation-algorithms&gt;&lt;ne.neural-evol&gt;&lt;na.numerical-analysis&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="29" ContentLicense="CC BY-SA 3.0" />
  <row Id="17546" PostTypeId="2" ParentId="17545" CreationDate="2013-05-08T01:10:04.987" Score="3" Body="&lt;p&gt;There is an advanced result, key to machine learning, known as Kolmogorov's theorem [1]; I have never seen an intuitive sketch of why it works.  This may have to do with the different cultures that approach it.  The applied learning crowd regards Kolmogorov's theorem as an existence theorem that merely indicates that NNs may exist, so at least the structure is not overly limiting, but the theorem does not guarantee these NNs can be found.  Mathematicians are not so concerned with low-level applications of the theorem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The theorem was also historically used to invoke/defend the inherent sophistication of multilayer NNs to counter a criticism from &lt;a href=&quot;http://en.wikipedia.org/wiki/Perceptrons_%28book%29&quot; rel=&quot;nofollow&quot;&gt;Perceptrons&lt;/a&gt; (Minsky/Papert) that there were basic functions [ie nonlinear] that they couldnt learn.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Theoretical computer scientists prefer not to regard NNs as &lt;a href=&quot;http://en.wikipedia.org/wiki/Approximation_algorithm&quot; rel=&quot;nofollow&quot;&gt;&quot;approximations&quot;&lt;/a&gt;, as that term has a special/different meaning.  There is probably some rough analogy with &lt;a href=&quot;http://en.wikipedia.org/wiki/Linear_interpolation&quot; rel=&quot;nofollow&quot;&gt;piecewise linear interpolation&lt;/a&gt; but again, I havent seen it laid out.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] Kolmogorov, A. N. (1957). On the representation of continuous &#xA;functions of many variables by superposition of continuous &#xA;functions of one variable and addition. Doklady Akademii &#xA;Nauk SSSR, 144, 679-681; American Mathematical Society &#xA;Translation, 28, 55-59 [1963]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] &lt;a href=&quot;http://neuron.eng.wayne.edu/tarek/MITbook/chap2/2_3.html&quot; rel=&quot;nofollow&quot;&gt;2.3 Approximation Capabilities of Feedforward Neural Networks for Continuous Functions&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[3] &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/0893608092900128&quot; rel=&quot;nofollow&quot;&gt;Kolmogorov's theorem and multilayer neural networks&lt;/a&gt; Kurkova&lt;/p&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="111" LastEditDate="2013-05-13T15:20:17.070" LastActivityDate="2013-05-13T15:20:17.070" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="17548" PostTypeId="1" CreationDate="2013-05-08T02:58:15.853" Score="4" ViewCount="139" Body="&lt;p&gt;Suppose we are given a large bipartite graph with weighted edges, and a small parameter $d$ (e.g. $d$ is 3 or 4).&#xA;What is known about the run-time to find the minimum weight complete bipartite subgraph $K_{d,d}$? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm looking for an algorithm that beats the trivial $n^{O(d)}$ algorithm. I would like $o(n^d)$ or a fixed parameter version: $O(f(d)\cdot n^c)$ for some computable function $f$ and constant $c$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I expect that the former should be possible, since a related question of finding $3r$-cliques in $O(n^{\omega r})$ time is possible using matrix multiplication. See &lt;em&gt;A new algorithm for optimal constraint satisfaction&#xA;and its implications&lt;/em&gt; by Ryan Williams.&lt;/p&gt;&#xA;" OwnerUserId="8078" LastEditorUserId="8078" LastEditDate="2013-05-08T22:14:31.827" LastActivityDate="2013-05-08T22:14:31.827" Title="Min Weight Complete bipartite subgraph" Tags="&lt;reference-request&gt;&lt;graph-algorithms&gt;" AnswerCount="0" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17549" PostTypeId="2" ParentId="17496" CreationDate="2013-05-08T03:25:23.030" Score="7" Body="&lt;p&gt;As suggested by Kaveh, the relevant chapters in Arora-Barak are a good starting point.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Soon you'll want to sink your teeth into a significant paper. One difficulty you may encounter is that recent papers in this area build on two decades worth of &lt;em&gt;intense&lt;/em&gt; research, which can be intimidating to a beginner. IMHO, the best balance between importance of results and self-containedness of presentation is achieved by Håstad's famous paper &quot;Some Optimal Inapproximability Results&quot; (&lt;a href=&quot;http://dl.acm.org/citation.cfm?id=502098&quot;&gt;http://dl.acm.org/citation.cfm?id=502098&lt;/a&gt;). I cannot praise the wonderful writing and exposition in that paper enough.&lt;/p&gt;&#xA;" OwnerUserId="12602" LastActivityDate="2013-05-08T03:25:23.030" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17552" PostTypeId="1" AcceptedAnswerId="17563" CreationDate="2013-05-08T06:48:23.603" Score="17" ViewCount="2148" Body="&lt;p&gt;&lt;strong&gt;When trying to convince economists of the relevance of complexity theory in print, is there a standard reference to cite?&lt;/strong&gt; I am familiar with &lt;a href=&quot;http://agtb.wordpress.com/2009/11/27/economists-and-complexity/&quot; rel=&quot;noreferrer&quot;&gt;Noam Nisan's blog post&lt;/a&gt;, &lt;a href=&quot;http://theory.stanford.edu/%7Etim/papers/et.pdf&quot; rel=&quot;noreferrer&quot;&gt;Tim Roughgarden's survey&lt;/a&gt;, and chapter 11 of &lt;a href=&quot;http://arxiv.org/pdf/1108.1791.pdf&quot; rel=&quot;noreferrer&quot;&gt;Scott Aaronson's essay&lt;/a&gt;. These posts are accessible for computer scientists, but do not use the language of economists and are not published in venues typically read by them. Are there good arguments for the importance of the complexity of equilibiria, etc. targeted at economists? &lt;strong&gt;Is there a good historic overview of how economists have responded to pressure from computer scientists?&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;It could be argued that neoclassical economics is simply closed off and hence such papers can't exist, but there are slightly heterodox fields such as &lt;a href=&quot;http://egtheory.wordpress.com/2013/05/03/evolutionary-economics-and-game-theory/&quot; rel=&quot;noreferrer&quot;&gt;evolutionary economics&lt;/a&gt; and &lt;a href=&quot;http://en.wikipedia.org/wiki/Complexity_economics&quot; rel=&quot;noreferrer&quot;&gt;complexity (in the SFI sense) economics&lt;/a&gt; that justify themselves in language familiar to economists. These fields also make similar critiques as the computational complexity approach (such as moving away from assumptions of equilibria), but don't justify them as rigorously as CS does.&lt;/p&gt;&#xA;&lt;hr /&gt;&#xA;&lt;h3&gt;Related questions&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/q/6387/1037&quot;&gt;Algorithmic lens in the social sciences&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/q/7951/1037&quot;&gt;Computational complexity in quantitative finance&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="1037" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2013-05-24T01:09:53.130" Title="Why economists should care about computational complexity" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;application-of-theory&gt;&lt;ho.history-overview&gt;&lt;ce.computational-finance&gt;" AnswerCount="5" CommentCount="10" FavoriteCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="17553" PostTypeId="1" CreationDate="2013-05-08T12:14:14.180" Score="2" ViewCount="288" Body="&lt;p&gt;Suppose there are N orthogonal rectangles on the planes, overlapping or not.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I want to cover them with exact K orthogonal rectangles, overlapping or not. Each input rectangle must be completely covered. More specifically:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;An input rectangle can be covered by more than one covering rectangles.&lt;/li&gt;&#xA;&lt;li&gt;An input rectangle may be partially covered by a covering rectangle.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The target is to minimize the sum of the area of the covering rectangles.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is an example:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://i.stack.imgur.com/VLz63.png&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://i.stack.imgur.com/VLz63.png&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The input consists of 3 rectangles as shown in the show. When k=1,2,3, the solutions are shown below. There are 2 possible solutions for K=3, depending on whose area is smaller. Note that an input rectangle can be partially covered by a covering rectangle.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I tried to google this, but not sure about the name of this problem. I got many results about the problem to &lt;em&gt;decompose&lt;/em&gt; rectilinear polygons into rectangles, where the target is to minimize the number of covering rectangles used. That is not my case, I don't require that the covering rectangles are disjoint, and I want to minimize the area fixing the number of the covering rectangles instead of the opposite way.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I guess this is NP-Hard or similar, so I don't even expect a good approximation. Any heuristic idea would be appreciated.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks!&lt;/p&gt;&#xA;" OwnerUserId="15950" LastActivityDate="2013-05-10T04:38:42.987" Title="Minimum-area orthogonal rectangle coverage" Tags="&lt;cg.comp-geom&gt;&lt;approximation-algorithms&gt;" AnswerCount="1" CommentCount="6" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17554" PostTypeId="2" ParentId="17552" CreationDate="2013-05-08T15:56:07.750" Score="-4" Body="&lt;p&gt;this is clearly a very emerging area so surveys and established literature would be difficult to come by. also complexity theory may be a little more abstract for this. however a compelling/natural area on the rise/intersection between CS/econ: try recent research into &lt;em&gt;auctions&lt;/em&gt; which is especially significant given google Adsense advertising largely funding the rise of the company over the last decade and also their singular auction-based IPO. also note the large-scale economy price fluctuations and buyer/seller dynamics can be modelled somewhat as an auction-like system. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;another somewhat similar area where some very advanced/substantial CS is applied is high-speed trading, a complex/advancing science but unfortunately it is not openly published research due to its heavy secrecy.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] &lt;a href=&quot;http://www.sci.brooklyn.cuny.edu/~parsons/projects/mech-design/publications/bluffers-final.pdf&quot; rel=&quot;nofollow&quot;&gt;Auctions and bidding: A guide for computer&#xA;scientists&lt;/a&gt; by Parsons&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] &lt;a href=&quot;http://web.mit.edu/newsoffice/2012/comp-sci-econ-0625.html&quot; rel=&quot;nofollow&quot;&gt;Computer science tackles 30-year-old economics problem&lt;/a&gt; - &#xA;MIT researchers generalize Nobel winner’s work on single-item auctions to auctions involving multiple items.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[3] &lt;a href=&quot;http://arxiv.org/abs/1304.6116&quot; rel=&quot;nofollow&quot;&gt;Menu size complexity of auctions&lt;/a&gt; Sergiu Hart, Noam Nisan&lt;/p&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2013-05-08T15:56:07.750" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="17555" PostTypeId="1" CreationDate="2013-05-08T16:59:06.167" Score="2" ViewCount="173" Body="&lt;p&gt;Consider the following building blocks, which can be used to construct a logic circuit:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;basic logic gates {OR, AND, NOT} which have $n$ input and $m$ output pins, with $n,m\ge 1$.  &lt;/li&gt;&#xA;&lt;li&gt;generators of stable values {0,1}.&lt;/li&gt;&#xA;&lt;li&gt;links, which can be used to join each other logic gates or generators.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Signal traversing a link have a propagation delay between a minimum $d_{min}$ and a maximum finite value $d_{max}$, with $0&amp;lt;d_{min}&amp;lt; d_{max}$. Different links may have different minimum and maximum values. When an input pin of a gate changes its value, the output value of the gate is instantaneously computed and, if the output value is changed, it is sent through all the output links. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In order to &quot;execute&quot; a logic circuit, it must be initialized.&#xA;At the initial state, each input and output pin of every gate in the circuit must be initialized to a certain value in such a way that for each link, its endpoints have the same value. As soon as the circuit is started:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;each gate instantaneously computes its output value. If the output value is changed, it is sent through all the output links of the gate.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;A logic circuit &lt;em&gt;halts&lt;/em&gt; if, for each possible execution, (i) for each link its endpoints have the same value and (ii) for each gate, its output value is the correct output w.r.t. the current gate inputs. A logic circuit &lt;em&gt;oscillates&lt;/em&gt; if, for each possible execution, it does not halt.&#xA;E.g., a NOT gate, whose pins are each other connected, oscillates since it never halts for each possible execution.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Problem. Given a Linear Bounded Automata $L$ (as defined &lt;a href=&quot;http://drona.csa.iisc.ernet.in/~deepakd/atc-2011/lba.pdf&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;, page 6), is it possible to construct in polynomial time (w.r.t. the size of $L$) a logic circuit $C$ that simulates $L$ in the following way: if $L$ halts, then $C$  halts and if $L$ does not halt, then $C$ oscillates.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think that I solved this problem with a long construction with a positive answer.&#xA;It seems that this is a problem that must have been studied in the past, but I cannot find any reference in the literature. I really would like to have a reference that answers this question. Can anyone help me?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Observe that, the problem is not trivial. In fact, as &lt;a href=&quot;http://alexandria.tue.nl/extra1/wskrap/publichtml/8930516.pdf&quot; rel=&quot;nofollow&quot;&gt;proved&lt;/a&gt; by Brzozowski and Ebergen, if $d_{max}$ is allowed to be infinite, it is not possible to build any interesting memory logic structures (e.g., flip-flops, muller c-element, linear bounded automata,$\dots$).&lt;/p&gt;&#xA;" OwnerUserId="15954" LastEditorUserId="15954" LastEditDate="2013-05-10T10:39:53.457" LastActivityDate="2013-05-10T10:39:53.457" Title="Is it possible to simulate a Linear Bounded Automata with logic circuits where links have min-max bounded delays? I need a reference in the literature" Tags="&lt;cc.complexity-theory&gt;&lt;circuit-complexity&gt;&lt;turing-machines&gt;" AnswerCount="0" CommentCount="10" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17556" PostTypeId="2" ParentId="17449" CreationDate="2013-05-08T17:49:37.677" Score="4" Body="&lt;p&gt;There is a universal simulator for $\mathsf{DSPACE}(o(\log \log n)) = \mathsf{DSPACE}(O(1))=\mathsf{REG}$. Namely, $U_{REG}(p,x)$ treats the first input $p$ as the description of a DFA, and then runs that DFA on input $x$. The universal simulator, however, is not itself in $\mathsf{DSPACE}(o(\log \log n))$---the $U_{REG}$ I just described uses space essentially $O(p)$---so I don't know about complete languages in this case.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More generally, complete problems and universal simulators are related, but not equivalent. For one, a universal simulator for a class $\mathcal{C}$ need not be (and in general won't be) in the class $\mathcal{C}$ itself, as in the above example. Your example of &quot;polynomially-hampered universal TMs&quot; for $\mathsf{P}$ exhibits this distinction even better: let $M_1, M_2, \dotsc$ be an enumeration of poly-time TMs, where $M_i$ is hampered to use time at most, say, $n^i + i$. Then let $U(i,x) = M_i(x)$. $U$ is a universal simulator for $\mathsf{P}$, but there is no single polynomial that bounds the runtime of $U$, so $U$ itself is not in $\mathsf{P}$ and hence not complete. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Furthermore, there &lt;em&gt;cannot&lt;/em&gt; be a single polynomial that bounds the runtime of a universal simulator for $\mathsf{P}$: if the universal simulator ran in time $n^k$, it would never be able to decide a language which required more time, say, $n^{k+1}$. We know that such languages exist by the Time Hierarchy Theorem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, the other direction usually holds. That is, if a class has a complete language under essentially any of the natural types of reductions, then it has a universal simulator. As an example, consider $\mathsf{NP}$ and its standard complete language SAT. Then we construct a universal machine for $\mathsf{NP}$ as follows (we knew how to do this for $\mathsf{NP}$ already using polynomially-hampered nondeterministic machines, but you'll see how this construction generalizes to any class with a complete language). $U(i,x) = SAT(M_i(x))$ where $M_i$ is the $i$-th poly-time &lt;em&gt;deterministic&lt;/em&gt; TM, as above. Here we are using the $M_i$ to list out the possible reductions to the complete language, rather than the deciders of languages themselves.&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2013-05-08T17:49:37.677" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17560" PostTypeId="1" CreationDate="2013-05-08T23:20:39.870" Score="3" ViewCount="221" Body="&lt;p&gt;I have a card game that I am analyzing with Maple. Actually, it's a series of card games, one for every parameter k, where k is a natural number (representing the number of ranks of cards used in the game). For small k, it is feasible to completely solve the game by reverse induction. I am trying to create an AI that will play optimally from this.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a winning position (and it being the computer's turn) the computer can answer easily with any move that takes the position to a losing one for the player. However, what to do with a losing position? Of course, picking a random move is a terrible strategy. Is there some way to make life very difficult for the human player? One idea I had was to make it choose a move that maximizes the length of the minimum path needed for the player to win the game. That would seem to avoid getting into all the psychology of what human weaknesses are in the game etc.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am aware that this problem is completely general (does not depend on the game). However, I had difficulty finding good references. Does anyone have any references for someone interested in learning about AI in this setting?&lt;/p&gt;&#xA;" OwnerUserId="15964" LastActivityDate="2013-10-12T12:14:46.457" Title="AI strategies for losing positions" Tags="&lt;ai.artificial-intel&gt;&lt;gt.game-theory&gt;" AnswerCount="2" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="17561" PostTypeId="1" CreationDate="2013-05-08T23:26:51.100" Score="14" ViewCount="229" Body="&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Fano%27s_inequality&quot;&gt;Fano's inequality&lt;/a&gt; says that given a random variable $X$, and a random variable $Y$ that &quot;guesses&quot; $X$ correctly with some probability, we can lower bound the information that $Y$ gives on $X$. More formally, given two random variables $X,Y$ that take values from some alphabet $\Sigma$ such that $\Pr[X = Y]=p$, we can lower bound the mutual information $I(X:Y)$ in terms of $p$ and $|\Sigma|$. However, this inequality is useful only if $p &amp;gt; 0.5$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is whether there is a similar theorem that allows lower bounding the mutual information $I(X:Y)$ when $p$ is small, but non-trivial, i.e., $p &amp;gt; \frac{1}{|\Sigma|}$.In such a case, $Y$ is still a non-trivial guess of $X$, so it should still give some information on $X$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To be more concrete, suppose that $X$ is uniform over $\Sigma$, and that $p = \frac{1}{|\Sigma|} + \varepsilon$. Can we say anything about the mutual information $I(X:Y)$? What if $p = \frac{1}{\log|\Sigma|}$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks!&lt;/p&gt;&#xA;" OwnerUserId="8429" LastEditorUserId="8429" LastEditDate="2013-05-09T23:06:03.117" LastActivityDate="2013-05-09T23:06:03.117" Title="Fano's inequality in the high error regime" Tags="&lt;it.information-theory&gt;" AnswerCount="0" CommentCount="3" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="17562" PostTypeId="1" CreationDate="2013-05-08T23:42:15.017" Score="4" ViewCount="155" Body="&lt;p&gt;I have a multiset $S$ of $n$-bit strings.  Let $1_S(s)$ denote the number of times that string $s$ appears in $S$, i.e., the multiplicity of $s$ in $S$.  I want to find a partition of $\{1,2,\dots,n\}$ such that the projections onto these index sets all have large multiplicities, but let me explain what I mean by that.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $I$ is a subset of $\{1,2,\dots,n\}$ (i.e., a set of indices), then let $\rho_I(s)$ denote the projection of string $s$ onto the indices in $I$.  In other words, if $I=\{i_1,i_2,\dots,i_k\}$, then $\rho_I(s)$ is the $k$-bit string $s_{i_1} \, s_{i_2} \, \cdots \, s_{i_k}$.  Also, let $\rho_I(S)$ denote the multiset $\{\rho_I(s) : s \in S\}$.  For instance, if $S=\{01,01,11\}$ and $I=\{2\}$, then $\rho_I(S)=\{1,1,1\}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We'll say that an index set $I$ is &lt;em&gt;good&lt;/em&gt; if every element $t$ of $T=\rho_I(S)$ has multiplicity at least $m$ in $T$.  In other words, every string in $\rho_I(S)$ has to appear at least $m$ times in $\rho_I(S)$.  Here $m$ is some threshold fixed in advance, e.g., $m=100$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose we partition the set $\{1,2,\dots,n\}$ into three disjoint sets: $I_1 \cup I_2 \cup I_3 = \{1,2,\dots,n\}$, where $I_1,I_2,I_3$ are mutually disjoint.  We'll say that this partition is &lt;em&gt;good&lt;/em&gt; if $I_1$ is good, $I_2$ is good, and $I_3$ is good (in other words, projecting onto each index set yields a multiset where all elements have multiplicity at least $m$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I want to find an algorithm to compute whether there exists any good partition (and if yes, to output an example of a good partition), given $S$ and $m$.  Can anyone suggest a good algorithm for this?  Or, if this is intractable, I would be satisfied with good heuristics or approximation algorithms.  Or, is it easier if I want to partition $\{1,\dots,n\}$ into two sets $I_1,I_2$?  Does anyone know of any algorithmic techniques that might be relevant, or any connection to problems that have been studied in the literature?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This arises from a practical application I have, where (intuitively) the requirement that all multiplicities of the reduced set be at least $m$ corresponds to a sort of privacy/anonymity/plausible deniability property, and larger values of $m$ correspond to greater anonymity.  Sample parameters for my problem might be something like: $S$ is a multiset with thousands or tens of thousands of strings (counting multiplicity) and hundreds or thousands of unique strings (not counting multiplicity); $m$ is maybe 100 or so; $n$ is maybe 20-200 or so.  References to research papers would be fine.  I hope this kind of question is suitable for this site; if not, let me know and I'd be happy to flag it to have it migrated over to CS.StackExchange.&lt;/p&gt;&#xA;" OwnerUserId="5038" LastActivityDate="2013-05-08T23:42:15.017" Title="Find index set partition that has large projections" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;approximation-algorithms&gt;&lt;application-of-theory&gt;&lt;heuristics&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="17563" PostTypeId="2" ParentId="17552" CreationDate="2013-05-09T00:21:23.940" Score="13" Body="&lt;p&gt;I see two separate directions to take your question. One is &lt;strong&gt;How has a computer science philosophy and computational thinking impacted the field of economics, and why should economists care about the computer science approach&lt;/strong&gt;? This is a really cool but really broad question that I'll avoid attempting to address.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The second is more specific: &lt;strong&gt;Now that computer scientists know that many problems in game theory are hard, how do we convince economists that these are important issues with or objections to their work?&lt;/strong&gt; This may not be what you had in mind, but it seems to be an interpretation of what you wrote, so I want to address it because I think it's a bit problematic and I think there are reasons not to write an essay arguing this point (which might explain any lack of answers).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First, micro-economists are often theorists and they may be more interested in understanding the problem in their model than in ours. There is no &lt;em&gt;a priori&lt;/em&gt; reason one approach is better than the other. As an analogy, many theoretical computer scientists are happy to design algorithms that work over real numbers even though this may require undecidable operations. Similarly, to an economist, complexity may be a detail that clouds one's understanding of what's important in their model rather than a key consideration. This seems more a matter of preference or philosophy than right or wrong.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Second, it's not clear that computer science is yet in a position to argue convincingly that our models fit the real world better than theirs, until we have experimental data to back this up. (After all, it might be for example that markets often find equilibria quickly in practice, so hardness of computing is irrelevant to real-world applications.) Without data, the disagreement is philosophical and it's hard to claim there is a right or wrong side. I don't know that we have enough data yet to make any specific claims.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Third, I think many economists to whom these issues &lt;em&gt;are&lt;/em&gt; relevant &lt;em&gt;have&lt;/em&gt; been taking notice. In areas like matching, for example (subject of last year's Nobel!), a computational complexity and algorithmic approach is important as they attempt to implement solutions at large scale. So if an economist claims that complexity isn't relevant to &lt;em&gt;her&lt;/em&gt; interests, she might be right; but there are others who do take notice.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So in sum, while it seems like a worthwhile goal to help make economists aware of the results regarding complexity in economics (especially as some do take interest), I am not sure that we are in a position to argue that they should take much notice or change their approach; and I think a strong scientific argument would require more data rather than just philosophy.&lt;/p&gt;&#xA;" OwnerUserId="8243" LastActivityDate="2013-05-09T00:21:23.940" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17564" PostTypeId="2" ParentId="17552" CreationDate="2013-05-09T01:27:56.500" Score="8" Body="&lt;p&gt;Main stream game theorists are, I think, becoming much more open to contemporary work in the computer science community, so it may be less necessary to &quot;make the case'' for algorithmic game theory than it has been in the past. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;One of the texts that I know of that is most accessible to auction theorists with an economics background is Jason Hartline's &quot;&lt;a href=&quot;http://users.eecs.northwestern.edu/~hartline/amd.pdf&quot;&gt;Approximation in Economic Design&lt;/a&gt;&quot;. Chapter 1 in particular tries to make the case for approximation algorithms, if not specifically for the importance of computational complexity. &lt;/p&gt;&#xA;" OwnerUserId="25" LastActivityDate="2013-05-09T01:27:56.500" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17565" PostTypeId="2" ParentId="17538" CreationDate="2013-05-09T02:03:49.330" Score="4" Body="&lt;p&gt;First, let's be completely clear about the definition of the multiple-source shortest path problem.  The input consists of the following:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;a directed planar graph $G = (V,E)$ with $n$ vertices;&lt;/li&gt;&#xA;&lt;li&gt;a non-negative weight $w(e)$ for every directed edge $e$;&lt;/li&gt;&#xA;&lt;li&gt;an embedding of $G$ into the plane; and&lt;/li&gt;&#xA;&lt;li&gt;a distinguished face $f$ of this planar embedding (the &quot;outer&quot; face).&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Klein's algorithm computes a compressed representation of &lt;em&gt;all&lt;/em&gt; shortest-path trees rooted at vertices of the designated face $f$, in $O(n\log n)$ time and space.  This representation allows us to retrieve the shortest-path distance from any vertex on $f$ to any other vertex in $O(\log n)$ time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An &lt;em&gt;explicit&lt;/em&gt; representation of these shortest-path trees would require $\Theta(kn)$ space, where $k$ is the number of vertices in $f$; in the worst case, this space bound is $\Theta(n^2)$.  Klein's observation, at least intuitively, is that the shortest-path trees for two adjacent source vertices are nearly identical; his data structure stores only the differences between adjacent trees.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Klein's algorithm works just fine for bidirected and undirected graphs.&lt;/strong&gt;  For purposes of the algorithm, a &lt;em&gt;bidirected&lt;/em&gt; graph is just a directed graph where the reversal of every arc is another arc, and an &lt;em&gt;undirected&lt;/em&gt; graph is jut a bidirected graph where every arc has the same weight as its reversal.  In other words, a bidirected graph is a directed graph whose adjacency matrix is symmetric, and (in this context) an undirected graph is just a directed graph whose &lt;em&gt;weighted&lt;/em&gt; adjacency matrix is symmetric.  Klein's algorithm requires no modifications whatsoever to handle these special cases.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Klein's algorithm does &lt;em&gt;not&lt;/em&gt; compute shortest-path distances between &lt;em&gt;arbitrary&lt;/em&gt; pairs of vertices; in every pair, the source vertex must lie on the designated face.  For a solution to the more general problem, see Sergio Cabello's paper &quot;Many distances in planar graphs&quot; [SODA 2006 and &lt;em&gt;Algorithmica&lt;/em&gt; 2012].&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You might also check out my upcoming &lt;a href=&quot;http://www.cs.illinois.edu/~jeffe/pubs/multishort.html&quot; rel=&quot;nofollow&quot;&gt;journal paper&lt;/a&gt; with Sergio Cabello and Erin Chambers, which describes a different multiple-source shortest-path algorithm, which also works for higher-genus graphs.&lt;/p&gt;&#xA;" OwnerUserId="111" LastEditorUserId="111" LastEditDate="2013-05-09T13:55:06.897" LastActivityDate="2013-05-09T13:55:06.897" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17566" PostTypeId="2" ParentId="6563" CreationDate="2013-05-09T02:22:32.297" Score="-2" Body="&lt;p&gt;These estimates are way too high.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You're focused on branching based on legal moves. This makes lots of sense if you are trying to make a fast chess computer, but it's not how you would write a program to &quot;solve&quot; chess.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There &amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt; 13^64 possible game states in chess. Each square can only contain one of the chess pieces or nothing. You can iterate though them all and mark them as black win or white win in no more than 2^256 or so operations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A more realistic guess of the number of reasonably achievable game states is around 2^100&lt;/p&gt;&#xA;" OwnerUserId="15969" LastActivityDate="2013-05-09T02:22:32.297" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="17567" PostTypeId="2" ParentId="17560" CreationDate="2013-05-09T02:37:28.287" Score="0" Body="&lt;p&gt;(This is too long for a comment.)&#xA;&lt;br&gt;&lt;br&gt;&lt;br&gt;&#xA;Consider the following game:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The deck has an Ace and the nine other cards from 2 to 10.&#xA;&lt;br&gt;&#xA;The cards start out divided equally among the players' hands, and turns alternate.&#xA;&lt;br&gt;&#xA;During each player's turn, that player may choose (and reveal) a card from their hand.&#xA;&lt;br&gt;&#xA;Whenever a card is chosen (and revealed) that way, if&#xA;&lt;br&gt;&#xA;that card is the Ace then the player who revealed it wins.&#xA;&lt;br&gt;&#xA;The preceding sentence is the only way for the game to end.&#xA;&lt;br&gt;&lt;br&gt;&lt;br&gt;&#xA;In that game:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Every position is a winning position for the player who has the Ace in their hand.&#xA;&lt;br&gt;&#xA;In particular, there are no &quot;tied&quot; positions, and every position with the&#xA;&lt;br&gt;&#xA;Ace in the computer's hand is a winning position for the computer.&#xA;&lt;br&gt;&#xA;From any such position, the answer of not choosing a&#xA;&lt;br&gt;&#xA;card takes the position to a losing one for the player.&#xA;&lt;br&gt;&#xA;If the computer always does that, then the computer will never win.&#xA;&lt;br&gt;&lt;br&gt;&lt;/p&gt;&#xA;" OwnerDisplayName="user6973" LastEditorDisplayName="user6973" LastEditDate="2013-05-09T02:43:02.407" LastActivityDate="2013-05-09T02:43:02.407" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="17568" PostTypeId="1" CreationDate="2013-05-09T06:29:11.590" Score="2" ViewCount="144" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there a known &lt;em&gt;black-box&lt;/em&gt; construction for the following implication?&#xA;  &lt;br&gt;&lt;br&gt;&#xA;  non-interactive string commitment that stretches additively by an&#xA;  &lt;br&gt;&#xA;  amount which does not depend on the string being committed to&#xA;  &lt;br&gt;$\implies$&lt;br&gt;&#xA;  &lt;a href=&quot;http://www.daimi.au.dk/~ivan/Sigma.pdf#page=3&quot; rel=&quot;nofollow&quot;&gt;sigma-protocol&lt;/a&gt; for, equivalently, &lt;a href=&quot;http://en.wikipedia.org/wiki/Circuit_satisfiability&quot; rel=&quot;nofollow&quot;&gt;circuit-SAT&lt;/a&gt; or &lt;a href=&quot;http://en.wikipedia.org/wiki/Boolean_satisfiability_problem#3-satisfiability&quot; rel=&quot;nofollow&quot;&gt;3-SAT&lt;/a&gt;, whose communication&#xA;  &lt;br&gt;&#xA;  complexity scales subquadratically with the size of the SAT instance&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;br&gt;&lt;br&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The only methods I know either&#xA;&lt;br&gt;&lt;br&gt;&lt;br&gt;&#xA;use circuit-SAT, commit to the values of enough gates, and then use the &lt;em&gt;code&lt;/em&gt; of the commitment scheme to prove that the values committed to are correct and cause&#xA;&lt;br&gt;&#xA;the circuit to output TRUE $\:$ (using the code makes the construction not black box)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;or&lt;/p&gt;&#xA;&#xA;&lt;p&gt;use a graph with a number of edges that scales linearly with the number of variables&#xA;&lt;br&gt;&#xA;(as the case may be) and commit to each entry in the adjacency matrix, for a&#xA;&lt;br&gt;&#xA;communication complexity that scales quadratically with the size of the SAT instance&lt;/p&gt;&#xA;&#xA;&lt;p&gt;or&lt;/p&gt;&#xA;&#xA;&lt;p&gt;reduce to 3-coloring and, although the communication for each instance of the &quot;core&quot;&#xA;&lt;br&gt;&#xA;only scales linearly, need a number of parallel executions of the &quot;core&quot; that scales linearly,&#xA;&lt;br&gt;&#xA;for a communication complexity that scales quadratically with the size of the SAT instance&#xA;&lt;br&gt;&lt;br&gt;&lt;br&gt;&#xA;.&lt;/p&gt;&#xA;" OwnerDisplayName="user6973" LastActivityDate="2013-05-09T06:29:11.590" Title="Are there efficient black-box constructions of sigma-protocols for SAT?" Tags="&lt;cr.crypto-security&gt;&lt;communication-complexity&gt;&lt;zero-knowledge&gt;&lt;black-box&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17569" PostTypeId="2" ParentId="17489" CreationDate="2013-05-09T10:34:23.927" Score="-1" Body="&lt;p&gt;The obvious way of doing this is via time-dependent or time-independent graphs where you run a Dijkstra on it. This is also described in the lectures &lt;a href=&quot;http://ad-wiki.informatik.uni-freiburg.de/teaching&quot; rel=&quot;nofollow&quot;&gt;I mention below&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also you should have a close look into &lt;a href=&quot;http://ad.informatik.uni-freiburg.de/files/transferpatterns.pdf&quot; rel=&quot;nofollow&quot;&gt;transfer patterns&lt;/a&gt; (used at google) and &lt;a href=&quot;http://research.microsoft.com/apps/pubs/default.aspx?id=156567&quot; rel=&quot;nofollow&quot;&gt;RAPTOR&lt;/a&gt; (used at microsoft). There is a nice introduction into transfer patterns &lt;a href=&quot;http://ad-wiki.informatik.uni-freiburg.de/teaching/EfficientRoutePlanningSS2012&quot; rel=&quot;nofollow&quot;&gt;at university freiburg&lt;/a&gt; in lectures 9-11. &lt;a href=&quot;https://github.com/openplans/OpenTripPlanner/wiki/Raptor&quot; rel=&quot;nofollow&quot;&gt;RAPTOR is implemented&lt;/a&gt; in OpenTripPlanner and later this year probably also in my GraphHopper project.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;But the complication is that the shortest route may not be the fastest route to the destination.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Of course, but why not just use the time as weight instead of the distance? So 'shortest' and 'fastest' is not really a big difference ...&lt;/p&gt;&#xA;" OwnerUserId="13229" LastActivityDate="2013-05-09T10:34:23.927" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="17570" PostTypeId="1" CreationDate="2013-05-09T13:15:36.853" Score="4" ViewCount="69" Body="&lt;p&gt;Let $S \subset [N]$ be a fixed set of size $n$. Suppose $p$ is the probability that a random set $T$ of size $m$ intersects $S$ in $k$ or more points. That is,&#xA;$$&#xA;\Pr_{\substack{T\subset [N]\\|T| = m}} [|T \cap S| &amp;gt; k] \quad=\quad p&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question:&lt;/strong&gt; Given a (sane) parameter $t$, is there an explicit family of sets $\mathcal{F} = \{ S_1,\dots S_t \}$, where each $S_i$ is a subset of $[N]$ of size $n$ such that:&#xA;$$&#xA;\Pr_{\substack{T\subset [N]\\|T| = m}} [\forall i \in [t] \;:\; |T \cap S_i| &amp;gt; k] \quad \leq \quad p^{t/1000}&#xA;$$&#xA;Here are some examples for which such a bound holds:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;If each $S_i$ is picked at random, then the probability is $p^t$, as the events are truly independent.&lt;/li&gt;&#xA;&lt;li&gt;If each $S_i$ is disjoint, then the probability is $p^t$ (again as the events are independent). &lt;/li&gt;&#xA;&lt;li&gt;If $t$ is large enough to allow $\mathcal{F}$ to be the set of &lt;em&gt;all&lt;/em&gt; subsets of size $n$, then any choice of $T$ would surely miss some set (if $m \ll N$) &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The sort of set system I have in mind is something like a Nisan-Wigderson design (where pairwise intersection between the $S_i$'s are small, and $t \gg N$). The vague intuition is that mutually disjoint sets are independent events, and for  &lt;em&gt;almost disjoint&lt;/em&gt; sets we ought to have an exponential drop (maybe not $p^t$, but $p^{t/1000}$ or $p^{\sqrt{t}}$ or something). &lt;/p&gt;&#xA;" OwnerUserId="877" LastActivityDate="2013-05-09T13:15:36.853" Title="Set-systems with some version of independence" Tags="&lt;co.combinatorics&gt;&lt;pr.probability&gt;&lt;independence&gt;&lt;set-system&gt;" AnswerCount="0" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17573" PostTypeId="2" ParentId="17552" CreationDate="2013-05-09T18:05:36.197" Score="-1" Body="&lt;p&gt;heres another angle based on some more search. a principle historical/emerging nexus/intersection between economics and computer science/complexity theory is computing &lt;a href=&quot;http://en.wikipedia.org/wiki/Nash_equilibrium&quot; rel=&quot;nofollow&quot;&gt;Nash equilibria&lt;/a&gt; which are central to various economics models, where Daskalakis (collaborating with Papadimitriou) is a leading figure.[1][2][5]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;this overlap generally occurs through the field of &lt;a href=&quot;http://en.wikipedia.org/wiki/Game_theory&quot; rel=&quot;nofollow&quot;&gt;game theory&lt;/a&gt; where [3] is a survey published in ACM and which serves as another key bridge between the fields. also Shoham cites [4] as a survey focusing on Nash equilibria and &quot;Geared&#xA;mostly&#xA;towards&#xA;economists,&#xA;it&#xA;includes&#xA;ample&#xA;background&#xA;material&#xA;on&#xA;relevant&#xA;concepts&#xA;from&#xA;complexity theory.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] &lt;a href=&quot;http://people.csail.mit.edu/costis/journal_ver10.pdf&quot; rel=&quot;nofollow&quot;&gt;The Complexity of Computing a Nash Equilibrium&lt;/a&gt; Constantinos Daskalakis, Paul W. Goldberg, Christos H. Papadimitriou&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] &lt;a href=&quot;http://web.mit.edu/newsoffice/2009/game-theory.html&quot; rel=&quot;nofollow&quot;&gt;What computer science&#xA;can teach economics&lt;/a&gt; MIT News&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[3] &lt;a href=&quot;http://robotics.stanford.edu/~shoham/www%20papers/CSGT-CACM080417.pdf&quot; rel=&quot;nofollow&quot;&gt;Computer&#xA;Science&#xA;and&#xA;Game&#xA;Theory&lt;/a&gt; Shoham&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[4] T.&#xA;Roughgarden.&#xA;Computing equilibria:&#xA;A&#xA;computational&#xA;complexity&#xA;perspective.&#xA;Economic&#xA;Theory,&#xA;2008&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[5] &lt;a href=&quot;http://people.csail.mit.edu/costis/reconstruct.pdf&quot; rel=&quot;nofollow&quot;&gt;Nash Equilibria: Complexity,&#xA;Symmetries, and Approximation&lt;/a&gt; Daskalakis&lt;/p&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="7884" LastEditDate="2013-05-09T18:29:39.677" LastActivityDate="2013-05-09T18:29:39.677" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17574" PostTypeId="2" ParentId="17501" CreationDate="2013-05-09T20:32:15.060" Score="1" Body="&lt;p&gt;I think this paper directly answers your question.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0020019097000690&quot; rel=&quot;nofollow&quot;&gt;Cancellation is exponentially powerful for computing the determinant&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Sengupta shows that even if you use subtraction (hence the circuit is not monotone) but as long as you never &quot;cancel&quot; any computed monomials, then the circuit computing determinant of the matrix of size $n \times n$ has size at least $n(2^{n-1}-1)$.&lt;/p&gt;&#xA;" OwnerUserId="12646" LastEditorUserId="12646" LastEditDate="2013-05-10T00:41:40.593" LastActivityDate="2013-05-10T00:41:40.593" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17575" PostTypeId="1" AcceptedAnswerId="17581" CreationDate="2013-05-09T21:45:17.487" Score="7" ViewCount="548" Body="&lt;p&gt;I have a graph $G=(V,E)$, with positive weights $w_e, e\in E$ on the edges, and I would like to randomly perturb the weights of the edges so that for each pair of distinct vertices $(u,v)$ such that there is a path from $u$ to $v$, there is, after perturbation, a unique shortest path from $u$ to $v$, and this shortest path is one of the &quot;original&quot; shortest paths, that is, one of the shortest paths before the perturbation. It seems to me that the perturbation can only be additive and at most equal to the minimum difference between two edge weights divided by the maximum number of vertices in a shortest paths between pair of vertices in $G$ (let this number be $\Delta$). That is, the perturbation that I add to the edge $e\in E$ should be some&#xA;$$ \varepsilon_e \in\left[0, \frac{\min_{\ell,r\in E}|w_\ell-w_r|}{\Delta}\right]&#xA;$$&#xA;and distributed according to some distribution (is uniform sufficient?) on the interval. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Possibly, I would also like the &quot;perturbed&quot; shortest path to be chosen uniformly at random from the set of original shortest paths. Is this possible? &#xA;Any reference or hint is appreciated.&#xA;Thanks.&lt;/p&gt;&#xA;" OwnerUserId="4828" LastActivityDate="2013-05-10T14:40:29.590" Title="Shortest paths perturbation" Tags="&lt;reference-request&gt;&lt;graph-algorithms&gt;&lt;randomized-algorithms&gt;&lt;shortest-path&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="17576" PostTypeId="2" ParentId="9241" CreationDate="2013-05-10T03:44:56.673" Score="1" Body="&lt;p&gt;The best tsp for weighted bounded genus graphs is&#xA;&lt;a href=&quot;http://erikdemaine.org/papers/ContractionTSP_Combinatorica/&quot; rel=&quot;nofollow&quot;&gt;http://erikdemaine.org/papers/ContractionTSP_Combinatorica/&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="15983" LastEditorDisplayName="user6973" LastEditDate="2013-05-10T06:13:43.433" LastActivityDate="2013-05-10T06:13:43.433" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17577" PostTypeId="2" ParentId="17553" CreationDate="2013-05-10T04:38:42.987" Score="2" Body="&lt;p&gt;See the paper by Aronov, Ezra and Sharir. They handle the case for points. For rectangles it is not even immediately obvious that an LP relaxion is easy to do, since there might be a chaining effect, and as such the number of candidate rectangles might be large (i.e., $O(n^k)$). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A solution with $O(k \log k)$ rectangles with the same area as the optimal solution, should follow by using BSP (binary space partition) and dynamic programming in polynomial time. So searching on the web would give you refs to papers using this scheme (I dont remember the ref, sorry). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.cims.nyu.edu/~esther/Publications/AronovEzraSharir.pdf&quot; rel=&quot;nofollow&quot;&gt;http://www.cims.nyu.edu/~esther/Publications/AronovEzraSharir.pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="9594" LastActivityDate="2013-05-10T04:38:42.987" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="17578" PostTypeId="1" AcceptedAnswerId="17604" CreationDate="2013-05-10T07:22:36.823" Score="26" ViewCount="1608" Body="&lt;p&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/a/421&quot;&gt;This answer&lt;/a&gt; to &lt;a href=&quot;https://cstheory.stackexchange.com/q/174/&quot;&gt;Major unsolved problems in theoretical computer science?&lt;/a&gt; question states that it is open if a particular problem in NP requires $\Omega(n^2)$ time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Looking at the comments under answer made me wonder: &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Aside from padding and similar tricks,&#xA;  what is the best known time complexity lower bound on a deterministic RAM machine&#xA;  (or multiple-tape deterministic Turing machine)&#xA;  for an &lt;em&gt;interesting problem&lt;/em&gt; in NP (which is stated in a natural way)?&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;Is there any natural problem in NP which is known to be unsolvable in quadratic deterministic time on a reasonable machine model?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Essentially, what I am looking for is an example that rules out the following claim:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;any &lt;em&gt;natural&lt;/em&gt; NP problem can be solved in $O(n^2)$ time.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Do we know any NP problem similar to those in &lt;a href=&quot;http://www.cs.berkeley.edu/~luca/cs172/karp.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Karp's 1972 paper&lt;/a&gt; or Garey and Johnson 1979 that requires $\Omega(n^2)$ deterministic time? &#xA;Or is it possible to the best of our knowledge that all interesting natural NP problems can be solved in $O(n^2)$ deterministic time?&lt;/p&gt;&#xA;&#xA;&lt;h3&gt;Edit&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;Clarification to remove any confusion resulting from &lt;a href=&quot;https://cstheory.stackexchange.com/questions/5553/what-is-the-right-definition-of-upper-and-lower-bounds&quot;&gt;the mismatch between lower bound and not an upper bound&lt;/a&gt;: &#xA;I am looking for a problem which we know we cannot solve in $o(n^2)$. &#xA;If a problem satisfies the stronger requirement that &#xA;$\Omega(n^2)$ or $\omega(n^2)$ time is needed (for all large enough inputs) then better, &#xA;but infinitely often will do.&lt;/p&gt;&#xA;" OwnerUserId="14197" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2013-05-27T17:07:48.237" Title="Best known deterministic time complexity lower bound for a natural problem in NP" Tags="&lt;cc.complexity-theory&gt;&lt;np&gt;&lt;p-vs-np&gt;" AnswerCount="4" CommentCount="5" FavoriteCount="13" ContentLicense="CC BY-SA 3.0" />
  <row Id="17579" PostTypeId="1" AcceptedAnswerId="17580" CreationDate="2013-05-10T08:03:33.100" Score="3" ViewCount="240" Body="&lt;p&gt;Given a CNF formula (SAT problem), we can construct the constraint/dependency graph, which contains a vertex for each variable and a hyperedge for each clause. Same goes for CSPs, where we have a hyperedge for each constraint.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But given a CNF formula, we could also define a (slightly larger) graph that has literals as vertices and clauses as hyperedges, where each edge is incident to each literal it contains. This can analogously be done for a CSP.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;How is the latter graph called?&lt;/p&gt;&#xA;" OwnerUserId="2764" LastEditorUserId="2764" LastEditDate="2013-05-10T08:33:03.667" LastActivityDate="2013-05-10T10:46:44.267" Title="How is this graphical representation of SAT/CSP instances called?" Tags="&lt;sat&gt;&lt;csp&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17580" PostTypeId="2" ParentId="17579" CreationDate="2013-05-10T10:46:44.267" Score="5" Body="&lt;p&gt;This has been called the &lt;em&gt;microstructure complement&lt;/em&gt; when the edges represent the forbidden partial assignments.  I personally prefer the term &lt;em&gt;clause structure&lt;/em&gt;.  The clause structure of a constraint satisfaction problem instance is obtained by applying the &lt;em&gt;direct encoding&lt;/em&gt; of the instance to SAT, where each possible value $a$ of variable $v$ is represented by a literal $(v,a)$, the forbidden partial assignments are SAT clauses involving these literals, and a clause $\{(v,a),(v,b)\}$ is added for every variable $v$ and any values $a\ne b$.  (These clauses force a solution to be a function, assigning at most one value to each variable.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If the edges represent the allowed partial assignments (with non-edges denoting forbidden partial assignments), this is called the &lt;em&gt;microstructure&lt;/em&gt;.  This representation doesn't require the extra clauses.  However, one has to be careful of the semantics of missing edges.  One must decide whether only edges of a particular arity are covered by the stipulation that missing edges are forbidden, or whether the microstructure should contain all consistent partial assignments.  The semantics of the clause structure is much more straightforward.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The early work in constraint satisfaction only considered arity 2, when the microstructure and the clause structure are graphs.  But the definition was general (or unspecific) enough that it applies for any arity.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;David A. Cohen, &lt;em&gt;A New Class of Binary CSPs for which Arc-Consistency Is a Decision Procedure&lt;/em&gt;, CP 2003, 807–811.  doi:&lt;a href=&quot;http://dx.doi.org/10.1007/978-3-540-45193-8_57&quot;&gt;10.1007/978-3-540-45193-8_57&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Eugene C. Freuder, &lt;a href=&quot;http://www.aaai.org/Library/AAAI/1991/aaai91-036.php&quot;&gt;&lt;em&gt;Eliminating Interchangeable Values in Constraint Satisfaction Problems&lt;/em&gt;&lt;/a&gt;, AAAI 1991, 227–233.&lt;/li&gt;&#xA;&lt;li&gt;P. Jégou, &lt;a href=&quot;http://www.aaai.org/Library/AAAI/1993/aaai93-109.php&quot;&gt;&lt;em&gt;Decomposition of Domains Based on the Micro-Structure of Finite Constraint-Satisfaction Problems&lt;/em&gt;&lt;/a&gt;, AAAI 1993, 731–736.&lt;/li&gt;&#xA;&lt;li&gt;András Z. Salamon and Peter G. Jeavons, &lt;em&gt;Perfect Constraints Are Tractable&lt;/em&gt;, CP 2008, 524–528.  doi:&lt;a href=&quot;http://dx.doi.org/10.1007/978-3-540-85958-1_35&quot;&gt;10.1007/978-3-540-85958-1_35&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="109" LastActivityDate="2013-05-10T10:46:44.267" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="17581" PostTypeId="2" ParentId="17575" CreationDate="2013-05-10T14:35:07.083" Score="12" Body="&lt;p&gt;Probably the simplest approach is to perturb the edge weights &lt;em&gt;symbolically&lt;/em&gt; rather than &lt;em&gt;numerically&lt;/em&gt;.  Intuitively, you'd like to reassign the weight of each edge as&#xA;$$&#xA;\tilde{w}(e) = w(e) + \varepsilon \cdot w'(e)&#xA;$$&#xA;where $w(e)$ is the original edge weight, $w'(e)$ is a secondary edge weight, and $\varepsilon$ is a global scaling factor.  This perturbation scheme has to satisfy two requirements:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Every shortest path with respect to the perturbed edge weights must be also a shortest path with respect to the original edge weights.&lt;/strong&gt;  It's not hard to prove that for &lt;em&gt;any&lt;/em&gt; function $w'$, this property holds for all &lt;em&gt;sufficiently small&lt;/em&gt; scaling factors $\varepsilon$.  Rather than spending time figuring out how small &quot;sufficiently small&quot; is, consider instead the limiting behavior as $\varepsilon$ approaches $0$.  Then your perturbed edge weights are best formalized as two-dimensional vectors&#xA;$$&#xA;\tilde{w}(e) = \big( w(e), w'(e) \big).&#xA;$$&#xA;The length of any path is also a vector, obtained by summing the vector-weights of each edge on the path.  Comparisons between length vectors are performed lexicographically:&#xA;$$&#xA;(a, a') &amp;lt; (b, b') \iff a&amp;lt;b \text{ or } (a = b \text{ and } a'&amp;lt;b')&#xA;$$&#xA;This definition trivially implies that for any paths $\alpha$ and $\beta$, if $w(\alpha) &amp;lt; w(\beta)$, then $\tilde{w}(\alpha) &amp;lt; \tilde{w}(\beta)$.  One nice feature of this scheme is that if shortest paths with respect to $w$ are already unique, the algorithm never even notices $w'$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Shortest paths with respect to the perturbed edge weights must be unique.&lt;/strong&gt;  It suffices to choose a function $w'$ such that shortest paths with respect to $w'$ are unique.  There are two standard methods for finding such a function $w'$.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;The simplest method is to generate each $w'(e)$ &lt;em&gt;randomly&lt;/em&gt;.  The &lt;a href=&quot;http://en.wikipedia.org/wiki/Isolation_lemma&quot;&gt;Isolation Lemma&lt;/a&gt; of Mulmuley, Vazirani, and Vazirani implies that if each $w'(e)$ is chosen independently and uniformly at random from the set $\{1, 2, \dots, n^4\}$, then with probability $1-O(1/n)$, all shortest paths are unique.  This scheme works for any shortest path algorithm with no run-time penalty and little modification to the algorithm, but it does have a small probability of failure.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;A more complex deterministic method (which linear-programming people know as &quot;lexicographic perturbation&quot;) indexes the edges from $1$ to $m$ and defines $w'(e_i) = 2^i$.  Clearly every subset of edges has distinct total $w'$eight.  However, using this method requires manipulating $m$-bit integers, so it's more efficient to implement this method symbolically as well.  For any paths $\alpha$ and $\beta$, we have $w'(\alpha) &amp;lt; w'(\beta)$ if and only if the minimum edge-index in $\alpha\setminus\beta$ is smaller than the minimum edge-index in $\beta\setminus\alpha$.  Most shortest-path algorithms only compare paths that share a common prefix (starting at some source node $s$) and are otherwise edge-disjoint.  With an appropriate dynamic tree data structure (e.g., &lt;a href=&quot;http://en.wikipedia.org/wiki/Link/cut_tree&quot;&gt;link-cut trees&lt;/a&gt; or &lt;a href=&quot;http://en.wikipedia.org/wiki/Top_tree&quot;&gt;top trees&lt;/a&gt;), it is possible to find the node where the two paths split and the minimum edge-index along the disjoint suffixes in $O(\log n)$ amortized time.  So, this scheme is always correct, but it imposes a penalty in the running time that is only $O(\log n)$ &lt;em&gt;if&lt;/em&gt; your algorithm has the right structure, and it requires significant data structure overhead.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;You can guess which method I recommend.  My recent &lt;a href=&quot;http://www.cs.uiuc.edu/~jeffe/pubs/multishort.html&quot;&gt;journal paper&lt;/a&gt; with Sergio Cabello and Erin Chambers describes both of these perturbation schemes in more detail.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are also more specialized methods for specific algorithms and specific classes of graphs.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;I would also like the &quot;perturbed&quot; shortest path to be chosen uniformly at random from the set of original shortest paths. Is this possible?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I don't know.  In particular, the randomized perturbation scheme I described does &lt;em&gt;not&lt;/em&gt; have this property.&lt;/p&gt;&#xA;" OwnerUserId="111" LastEditorUserId="111" LastEditDate="2013-05-10T14:40:29.590" LastActivityDate="2013-05-10T14:40:29.590" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="17583" PostTypeId="2" ParentId="17578" CreationDate="2013-05-10T15:22:11.640" Score="-6" Body="&lt;p&gt;This is just reasking the same question of P=NP in the a different way, if you can prove that its unsolvable in quadratic time or find an absolute lower bound, you would be proving P!=NP&lt;/p&gt;&#xA;" OwnerUserId="8913" LastActivityDate="2013-05-10T15:22:11.640" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17585" PostTypeId="2" ParentId="17578" CreationDate="2013-05-10T18:31:25.403" Score="3" Body="&lt;p&gt;Perhaps a fairly natural example comes &lt;strong&gt;from time-bounded Kolmogorov complexity&lt;/strong&gt;:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For any fixed $k$, and fixed function $f(n) \leq n$ you can ask: &quot;Given a binary string $x$, does a Turing machine $M$ exist such that $|M| &amp;lt; f(|x|)$ and $M$ produces $x$ in less than $|x|^k$ steps?&quot;&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2013-05-12T02:53:46.330" LastActivityDate="2013-05-12T02:53:46.330" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="17587" PostTypeId="1" CreationDate="2013-05-10T21:22:19.420" Score="7" ViewCount="400" Body="&lt;p&gt;Let $G$ be a graph. Let $O$ be the number of edge induced subgraphs of $G$ having an odd number of vertices.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Questions&lt;/strong&gt;  &lt;/p&gt;&#xA;  &#xA;  &lt;ol&gt;&#xA;  &lt;li&gt;How hard is to compute $O$?&lt;/li&gt;&#xA;  &lt;li&gt;How hard is to compute the parity of $O$? &lt;/li&gt;&#xA;  &lt;/ol&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Related questions:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/questions/12526/number-of-subgraphs-with-given-edge-parity&quot;&gt;Number of (vertex induced) subgraphs with given edge parity&lt;/a&gt; &lt;strong&gt;Answer&lt;/strong&gt;: Tractable.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/questions/12441/number-of-subgraphs-with-a-given-number-of-nodes&quot;&gt;Number of (edge induced) subgraphs with a given number of nodes&lt;/a&gt; &lt;strong&gt;Answer&lt;/strong&gt;: #P-hard.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Update 11/05/2013 18:00&lt;/strong&gt;  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;By a reasoning similar to the one in the answer to the first question referenced above, we can create a Holant by placing on each vertex $v$ a constraint $f_v$ which returns $1$ when all the edges incident to $v$ have been assigned $0$, and $-1$ otherwise. For a specific assignment to the edges ($0$ means not selected, $1$ means selected) we get an edge induced subgraph such that the number of its vertices is odd if and only if the product of the Holant returned $-1$. The summation of the Holant is thus equal to the difference $E - O$ between the number of edge induced subgraphs having an even number of vertices and the number of edge induced subgraphs having an odd number of vertices: as $E + O$ is known, we can determine $E$ and $O$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, if I correctly understand the paper &lt;a href=&quot;http://www.csc.kth.se/~sangxia/papers/2012-ccc.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;A Dichotomy for Real Weighted Holant Problems&lt;/a&gt;, the constraint $f_v$ is symmetric (obviously) and affine: by Theorem 3.2 this means that we can compute $E-O$ in polynomial time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Am I right?&lt;/p&gt;&#xA;" OwnerUserId="947" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2013-05-21T23:27:42.600" Title="Number of edge induced subgraphs with given vertex parity" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;counting-complexity&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17588" PostTypeId="2" ParentId="17578" CreationDate="2013-05-11T01:11:10.663" Score="13" Body="&lt;p&gt;The classic result I know of is due to &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=1382850&quot; rel=&quot;nofollow&quot;&gt;Paul, Pippenger, Szemeredi and Trotter (1983)&lt;/a&gt; and separates deterministic from non-deterministic linear time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then, there is the more recent result by &lt;a href=&quot;http://dl.acm.org/citation.cfm?doid=1101821.1101822&quot; rel=&quot;nofollow&quot;&gt;Fortnow,Lipton, van Melkebeek and Viglas (2004)&lt;/a&gt; that was already mentioned. The uniqueness of this result is that it is a time-space tradeoff result, bounding space as well as time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, I am also aware of a result due to &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.22.2392&quot; rel=&quot;nofollow&quot;&gt;Santhanam (2001)&lt;/a&gt; that proves a lower bound of $\omega (n \sqrt{ \log ^{*} n} ) $. This result is slightly stronger for time contraints than the above, but does not provide any guarantees for space.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given the above as well as my knowledge of the field, I would say that proving that there is a $\mathbb{NP}$-complete problem that cannot be solved in $O(n^{2})$ deterministic time would be quite a big step. As far as I know, such a result is considered highly nontrivial and likely to require new lower bound techniques.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note: My wording of the problem in the last paragraph is different than in your question. I could be nit-picky (and perhaps not of much help) and tell you that trivially there is an infinite number of problems in $\mathbb{P}$ and thus in $\mathbb{NP}$ that cannot be solved in $O(n^{2})$ deterministic time, by the deterministic time hierarchy theorem.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Edit: Upon further thinking, here's how you can find a problem in $\mathbb{NP}$ that suits your needs:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Any natural problem with a lower bound of $DTIME ( f(n) )$, where $ f(n) = \Omega ( n^{2} \log n) $. By the DTIME hierarchy theorem, it requires $\omega( n^{2} )$ time. I believe there exist a handful of these.&lt;/li&gt;&#xA;&lt;li&gt;Any natural problem with a lower bound of $NTIME ( f(n) )$, where $ f(n) = \omega ( n^{2} )$, by using the NTIME hierarchy. I am not aware of any such natural problems.&lt;/li&gt;&#xA;&lt;li&gt;Any natural problem with a lower bound of $SPACE ( f(n) ) $ , where $ f(n) = \omega ( n^{2} / \log n) $. This is justified by the TIME-SPACE separation. I believe that &lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;The above lower bounds should hold for the bit complexity of the problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Once again, if you restrict your attention to $\mathbb{NP}$-complete problems, I am not aware of such lower bounds.&lt;/p&gt;&#xA;" OwnerUserId="879" LastEditorUserId="879" LastEditDate="2013-05-20T19:02:38.640" LastActivityDate="2013-05-20T19:02:38.640" CommentCount="10" ContentLicense="CC BY-SA 3.0" />
  <row Id="17591" PostTypeId="2" ParentId="17587" CreationDate="2013-05-11T17:32:39.683" Score="4" Body="&lt;p&gt;For simplicity, let's restrict ourselves to $k$-regular graphs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The first part of your update is correct.  Changing notation slightly from what you have introduced, let me define $n_e$ (resp. $n_o$) to be the number even (resp. odd) edge-induced subgraphs of a given graph $G$.  For the (arity $k$) signature $f = [1, -1, -1, \dotsc, -1]$, the Holant problem Holant($f$) does indeed correspond to the problem &quot;Given a graph, compute $n_e - n_o$.&quot;  To see this, fix a subset of edges $E'$ (i.e. the subset of edges assigned 1) and consider a vertex $v$.  If none of the incident edges of $v$ are in $E'$, then $v$ is not in the edge-induced subgraph defined by $E'$ and the constraint at $v$ contributes a factor of 1 to the weight of $E'$.  Otherwise, some incident edge of $v$ is in $E'$, then $v$ is in the edge-induced subgraph defined by $E'$ and the constraint at $v$ contributes a $-1$ to the weight of $E'$.  Summing over the weights of all subsets of the edges gives $n_e - n_o$.  Since $n_e + n_o = 2^{|E(G)|}$, we could solve for $n_e$ and $n_o$ if we could knew $n_e - n_o$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The second part of your update is incorrect.  The $k$-ary signature $f = [1, -1, -1, \dotsc, -1]$ is not affine for $k \ge 3$.  For a (rather explicit) list of the affine signatures, see page 7 of &lt;a href=&quot;http://arxiv.org/abs/1204.6445&quot; rel=&quot;nofollow&quot;&gt;this paper&lt;/a&gt;.  For $k \ge 3$, this signature defines a #P-hard Holant problem. To determine the complexity of this problem, notice that $f$ has the tensor rank 2 decomposition $f = 2 [1, 0]^{\otimes k} - [1,1]^{\otimes k}$. Let $\omega_{2k}$ be a $2k$th primitive root of unity. Then $f = [\sqrt[k]{2}, 0]^{\otimes k} + [\omega_{2k},\omega_{2k}]^{\otimes k}$.  Under a holographic transformation by the inverse of $M = \begin{bmatrix} \sqrt[k]{2} &amp;amp; \omega_{2k} \\ 0 &amp;amp; \omega_{2k} \end{bmatrix}$, we have the bipartite Holant problem $\operatorname{Holant}([\sqrt[k]{4}, \omega_{2k} \sqrt[k]{2}, 2 \omega_{2k}^2] | =_k)$.  This problem is #P-hard by Theorem 22 in &lt;a href=&quot;http://cs.nmu.edu/~mkowalcz/research/main.pdf&quot; rel=&quot;nofollow&quot;&gt;this paper&lt;/a&gt;, even when also restricting to planar graphs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For $k \le 2$, $f$ is actually affine, so the problem is tractable, but it is also tractable for a much simpler reason as well.  Any Holant problem using only constraints of arity at most 2 is tractable using matrix product and trace.&lt;/p&gt;&#xA;" OwnerUserId="3964" LastEditorUserId="3964" LastEditDate="2013-05-21T23:27:42.600" LastActivityDate="2013-05-21T23:27:42.600" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="17594" PostTypeId="1" CreationDate="2013-05-11T20:18:45.980" Score="2" ViewCount="115" Body="&lt;p&gt;According to Huijia Lin and&#xA;Rafael Pass's &quot;&lt;a href=&quot;http://people.csail.mit.edu/huijia/papers/AdapCNMZK.pdf#page=3&quot; rel=&quot;nofollow&quot;&gt;Concurrent Non-Malleable Zero Knowledge with&#xA;Adaptive Inputs&lt;/a&gt;&quot; paper:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;if collision-resistant hash functions exist, then&lt;br&gt;&#xA;  &quot;there exists a $\omega\left(\log^2(k)\right)$-round concurrent non-malleable zero-knowledge proof with adaptive input selection (and a with a black-box simulator) for all of NP&quot;,&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;where the &quot;adaptive input selection&quot; is in the strongest strongest sense that I know of.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;As far as I can tell, their assumptions can be reduced to 2-round&#xA;statistically hiding commitment with publicly verifiable opening.&#xA;However, after searching online, &#xA;I do not see any results for concurrent non-malleable &lt;em&gt;statistical&lt;/em&gt; zero knowledge.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there any known construction for&lt;br&gt;&#xA;  &lt;em&gt;concurrent non-malleable statistical zero-knowledge arguments of knowledge&lt;/em&gt;&lt;br&gt;&#xA;  (in the plain model)?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerDisplayName="user6973" LastEditorUserId="186" LastEditDate="2013-05-11T22:43:54.927" LastActivityDate="2013-05-11T22:43:54.927" Title="concurrent non-malleable *statistical* zero knowledge" Tags="&lt;cr.crypto-security&gt;&lt;zero-knowledge&gt;" AnswerCount="0" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17598" PostTypeId="2" ParentId="17529" CreationDate="2013-05-12T16:53:25.210" Score="1" Body="&lt;p&gt;I think that $C &amp;lt;= n-1$ seems a little high.  If we are looking at bounds, lets assume that for a given communication $C$ the cost of the communication is at most $C=\gamma n + \Delta$, where $\gamma$ and $\Delta$ are fixed (a simple value for $\gamma$ would be 1).  If $\Delta$ is the answer {YES,NO,MAYBE} then as $n$ grows the cost of $C \equiv n$.  But we can also assume that $1/2$ of the time we can just answer MAYBE, which has a cost of just $\Delta$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If on the first communication we use the normal protocol, it will cost $n$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the second communication we can use the MAYBE answer, this cost $\Delta$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Over time we alternate between the two and thus we have a cost of $(n + \Delta)/2$ which approches $n/2$ as $n$ approaches infinity. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are more complex solutions that can use hashes to reduce the communication required for inputs that don't match that can be much lower than $n/2$, depending on the likelihood that the inputs match. &lt;/p&gt;&#xA;" OwnerUserId="16002" LastActivityDate="2013-05-12T16:53:25.210" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="17599" PostTypeId="1" CreationDate="2013-05-12T22:15:35.440" Score="0" ViewCount="92" Body="&lt;p&gt;There are N rectangles parallel to X and Y axis and they do not overlap, also there are M points. For each point find an enclosing rectangle (or absence of one). Total runtime complexity should be not more than O((N+M) * (log(N+M))&lt;sup&gt;2&lt;/sup&gt;).&lt;/p&gt;&#xA;" OwnerUserId="3150" LastEditorUserId="3150" LastEditDate="2013-05-12T23:33:29.303" LastActivityDate="2013-05-12T23:33:29.303" Title="Intersection of N rectangles and M points" Tags="&lt;cg.comp-geom&gt;" AnswerCount="0" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="17600" PostTypeId="1" AcceptedAnswerId="17771" CreationDate="2013-05-12T22:23:52.340" Score="6" ViewCount="313" Body="&lt;p&gt;Klivans and Spielman give isolation lemma for linear forms in their paper &lt;a href=&quot;http://www.cs.utexas.edu/~klivans/ran3.ps&quot; rel=&quot;nofollow&quot;&gt;Randomness Efficient Identity Testing of Multivariate Polynomials&lt;/a&gt;. Lemma 4 in this paper says.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&quot;Let $C$ be any collection of distinct linear forms in variables $z_1\ldots z_l$ &#xA;  with coefficients in range {$0,\ldots, K$}. &#xA;  If $z_1,\ldots,z_l$ are independently chosen uniformly at random from set $S = \{0\ldots Kl/\epsilon\}$, &#xA;  then with probability greater than 1-$\epsilon$, &#xA;  there is a unique form of minimal value at $z_1,\ldots,z_l$&quot;.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Is there a stronger version of this lemma? Namely, can we choose set $S$ to be of size sublinear in $K$? Assume that $l$ is small compared to $K$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let me introduce a different notion of &quot;stronger&quot;. Suresh Chari, Pankaj Rohatgi and  Aravind Srinivasan give &lt;strong&gt;Generalized isolating lemma&lt;/strong&gt; in their paper &lt;a href=&quot;http://ecommons.cornell.edu/handle/1813/6129&quot; rel=&quot;nofollow&quot;&gt;Randomness-Optimal Unique Element Isolation, With Applications to Perfect Matching and Related Problems&lt;/a&gt;. Lemma 2[Generalized isolating lemma] in this paper says&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Let ($S$, $\mathcal{F}$) be any set system  and let $Z$ be a give upper bound on the size of unknown family $\mathcal{F}$. There is a simple scheme which uses $O(\log Z + \log N)$ random weights to assign integer weights to the $x_i$'s in the range $[0,N^7)$ such that with probability atleast $\frac{1}{4}$, there is a unique minimum weight set in $\mathcal{F}$. &#xA;  Here $S=\{x_1,x_2,\ldots x_N\}$ and $\mathcal{F}\subset2^S$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Do we have something similar for isolating linear forms? Namely, if we know that number of linear forms is bounded by $Z$, can we reduce random bits as compared to $O(N\log(KN))$ random bits used in &lt;a href=&quot;http://www.cs.utexas.edu/~klivans/ran3.ps&quot; rel=&quot;nofollow&quot;&gt;Randomness Efficient Identity Testing of Multivariate Polynomials&lt;/a&gt;. We also want that weights should not be too large, again weights sublinear in $K$ should be interesting.&lt;/p&gt;&#xA;" OwnerUserId="16008" LastEditorUserId="16008" LastEditDate="2013-05-22T16:16:16.567" LastActivityDate="2013-05-24T12:50:25.633" Title="Stronger version(2) of Isolation Lemma for linear forms" Tags="&lt;cc.complexity-theory&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17601" PostTypeId="1" AcceptedAnswerId="19424" CreationDate="2013-05-12T22:44:53.183" Score="12" ViewCount="513" Body="&lt;p&gt;Smoothed analysis has been applied many times to understand the runtime of exact algorithms for many problems like linear programming and k-means. There are fairly general results in this realm, for example Heiko Röglin and Berthold Vöcking, &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.113.7960&quot; rel=&quot;noreferrer&quot;&gt;Smoothed analysis of integer programming&lt;/a&gt;, 2005.&#xA;Some of these general results seem to rely on isolation lemmas in order to produce an instance with a unique optimal solution.&#xA;Assuming &lt;span class=&quot;math-container&quot;&gt;$\mathsf{NP}\ne \mathsf{ZPP}$&lt;/span&gt;, this paper rules out the existence of smoothed polynomial time algorithms for &lt;span class=&quot;math-container&quot;&gt;$\mathsf{NP}$&lt;/span&gt;-hard problems.&lt;/p&gt;&#xA;&lt;p&gt;Some work has been done on smoothed analysis for approximation algorithm ratios.&#xA;There is Rao Raghavendra, &lt;a href=&quot;http://mmcr.iisc.ernet.in:8008/cgi-bin/nwayfiles.py/m3/CSA/2012-08-09_Dr.%20Raghavedra%20Rao%20B.%20V._MP4.mp4?client=flash&amp;amp;button=View&quot; rel=&quot;noreferrer&quot;&gt;Probabilistic and Smoothed Analysis of Approximation Algorithms&lt;/a&gt;, 2008 which attempts to give an improved approximation bound for the Christofides algorithm with smoothed analysis. No explicit approximation ratio is given, though.&lt;/p&gt;&#xA;&lt;h3&gt;Is there any reason for why hardness of approximation results should limit the approximation ratios of algorithms that run in smoothed polynomial time? Do the results in Heiko Röglin and Berthold Vöcking's paper also apply for approximation algorithms?&lt;/h3&gt;&#xA;" OwnerUserId="15710" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2013-10-17T07:54:33.967" Title="Smoothed analysis of approximation algorithms" Tags="&lt;cc.complexity-theory&gt;&lt;approximation-algorithms&gt;&lt;approximation-hardness&gt;&lt;smoothed-analysis&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17602" PostTypeId="1" AcceptedAnswerId="17603" CreationDate="2013-05-13T05:27:46.833" Score="2" ViewCount="185" Body="&lt;p&gt;I am unable to understand the definition of locally monotone Boolean function which is defined in Gotsman and Linial, &quot;&lt;a href=&quot;http://www.cs.huji.ac.il/~nati/PAPERS/gotsman_linial.pdf&quot; rel=&quot;nofollow&quot;&gt;Spectral Properties of Threshold Functions&lt;/a&gt;&quot;, 1994, p. 40:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;A function $f$ is called &lt;em&gt;locally monotone&lt;/em&gt; if it is increasing or decreasing in each variable.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Can somebody explain the definition with two examples (a function which is locally monotone and a function which is not)?&lt;/p&gt;&#xA;" OwnerUserId="14028" LastEditorUserId="-1" LastEditDate="2013-05-13T06:34:03.340" LastActivityDate="2013-05-13T07:03:15.410" Title="Locally monotone Boolean function" Tags="&lt;cc.complexity-theory&gt;&lt;boolean-functions&gt;&lt;combinatorics&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17603" PostTypeId="2" ParentId="17602" CreationDate="2013-05-13T06:03:08.523" Score="4" Body="&lt;p&gt;An example of a locally monotone function is $g(x,y) = x \cdot (1-y)$. In this example $g$ is monotone increasing in $x$ and monotone decreasing in $y$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An example of a function that is not locally monotone is $h(x,y) = x \oplus y$.&#xA;Let's see why it is not locally monotone. Look at the $x$ variable. (1) It is neither monotone increasing in $x$ since $h(0,1) &amp;gt; h(1,1)$, (2) nor is it monotone decreasing in $x$ since $h(0,0) &amp;lt; h(1,0)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Locally monotone functions are called also &lt;a href=&quot;http://en.wikipedia.org/wiki/Unate_function&quot; rel=&quot;nofollow&quot;&gt;unate functions&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="15711" LastEditorUserId="15711" LastEditDate="2013-05-13T07:03:15.410" LastActivityDate="2013-05-13T07:03:15.410" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="17604" PostTypeId="2" ParentId="17578" CreationDate="2013-05-13T06:42:38.237" Score="17" Body="&lt;p&gt;Adachi, Iwata, and Kasai in a &lt;a href=&quot;http://dx.doi.org/10.1145/62.322433&quot;&gt;1984 JACM paper&lt;/a&gt; show by reduction that the Cat and $k$-Mice game has an $n^{\Omega(k)}$ time lower bound.   The problem is in P for each $k$.   The problem is played on a directed graph.    The moves consist of the cat and then one of the $k$ mice alternating steps.  The mice win if they can land on a designated cheese node before the cat lands on them.   The question is whether the cat has a forced win.   It is actually a complete problem so the lower bound is really based on the diagonalization that gives the time hierarchy. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Grandjean showed that the Pippenger, Paul, Szemeredi, and Trotter time lower bound applies to a SAT encoding, though the result of Santhanam may subsume it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In addition to the time-space tradeoff lower bounds for SAT mentioned in other comments, there is a body of work on branching program lower bounds which imply time-space tradeoffs for Turing machines.    For problems like FFT, sorting or computing universal hash functions there are quadratic tradeoff lower bounds of Borodin-Cook, Abrahamson, Mansour-Nisan-Tiwari but these are for functions with many outputs.   For decision problems in P, there are time-space tradeoff lower bounds that apply for time bounds that are $O(n \log n)$ but these are weaker than are known for SAT.&lt;/p&gt;&#xA;" OwnerUserId="17875" LastEditorUserId="40" LastEditDate="2013-05-27T16:49:56.893" LastActivityDate="2013-05-27T16:49:56.893" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17607" PostTypeId="2" ParentId="10870" CreationDate="2013-05-13T14:56:04.473" Score="1" Body="&lt;p&gt;&lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0020019002003939&quot; rel=&quot;nofollow&quot;&gt;http://www.sciencedirect.com/science/article/pii/S0020019002003939&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;is a link to the article &quot;A simple approximation algorithm for the weighted matching problem&quot; by Doratha Drake and Stefan Hougardy covering the weighted matching problem.&lt;/p&gt;&#xA;" OwnerUserId="13407" LastActivityDate="2013-05-13T14:56:04.473" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17608" PostTypeId="1" AcceptedAnswerId="17622" CreationDate="2013-05-13T16:30:31.993" Score="3" ViewCount="204" Body="&lt;p&gt;Say I have an undirected, weighted graph $G=(V,E)$ and I know a hamiltonian cycle of minimum weight in that graph. Can I use that information to efficiently find a hamiltonian cycle in $G'=(V',E')$ where $V'=V-\{v\}$ for some vertex $v$ and $E'$ is $E$ with all edges touching $v$ removed?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is safe to assume that there still exists a hamiltonian cycle in $G'$.&lt;/p&gt;&#xA;" OwnerUserId="10694" LastEditorUserId="10694" LastEditDate="2013-05-14T12:09:24.590" LastActivityDate="2013-05-14T12:43:17.663" Title="Finding a hamiltonian cycle in $G'$ given a hamiltonian cycle in $G$" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;&lt;hamiltonian-paths&gt;" AnswerCount="1" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="17609" PostTypeId="1" AcceptedAnswerId="17638" CreationDate="2013-05-13T16:54:15.323" Score="4" ViewCount="169" Body="&lt;p&gt;I am reading the book &quot;Geometric Spanner Networks&quot; by G. Narasimhan and M. Smid. At page 109, there is the following definition:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Intuitively: A set of directed edges satisfies the gap property, if the sources of any two distinct edges are &quot;far&quot; apart (relative to the shorter of the two edges)&lt;br&gt;&#xA;  &lt;strong&gt;The gap property:&lt;/strong&gt; Let $w \geq 0$ be a real number, and let $E$ be a set of directed edges in $\mathbb{R}^{d}$.&#xA;  We way that $E$ satisfies the $w-gap\ property$ if for any two distinct edges $(p,q)$ and $(r, s)$ in $E$, we have : $|pr| &amp;gt; w \cdot min(|pq|, |rs|)$&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Then (at the same page) comes the following Theorem:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Let $S$ be a set of $n$ points in $\mathbb{R}^{d}$, and let $E \in S \times S$ be a set of directed edges that satisfies the $w-gap\ property$.&lt;br&gt;&#xA;  1. If $w \geq 0$, then each points of $S$ is the source of at most one edge if $E$.&lt;br&gt;&#xA;  2. if $w&amp;gt;0$, then $wt(E)&amp;lt;(1+2/w) \cdot wt(MST(S))\log n$ (where $MST(S)$ denotes a minimum spanning tree of $S$.&lt;br&gt;&#xA;  3. [not relevant for the question]&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;h1&gt;Background and context&lt;/h1&gt;&#xA;&#xA;&lt;p&gt;In the proof of the second claim, there is inner claim that there exists a set $E' \subseteq E$ that is of size $m/2$ such that $wt(E')&amp;lt;(1+2/w) \cdot wt(MST(S))$.&lt;br&gt;&#xA;Then comes an induction on $m$ in which the claim  $wt(E)&amp;lt;(1+2/w) \cdot wt(MST(S))\log m$ for any set $E$ that has less that $m$ edges. (Note: $n$ can be replaced by $m$ because $m \leq n$ in every graph that satisfies the $w-gap\ property$). The main point of the induction is relaying on the existence of an subset $E'$ of $E$ which has at least $m/2$ edges, and weight $(1+2/w) \cdot wt(MST(S))$. Then any set $E$ can be partitioned into 2 sets  &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$E'$ of weight $&amp;lt;(1+2/w) \cdot wt(MST(S))$. (whose existence was proofed before)&lt;/li&gt;&#xA;&lt;li&gt;$E \setminus E'$ of weight $&amp;lt;(1+2/w) \cdot wt(MST(S)) \cdot \log m$. (according to the induction claim)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;h1&gt;My question&lt;/h1&gt;&#xA;&#xA;&lt;p&gt;Why is there the $\log m$? It seems to me that if the induction claim was &quot;For every $E$ with less that $m$ edges $wt(E)&amp;lt;(1+2/w) \cdot wt(MST(S))$&quot;. The same proof would get a better bound (without the $\log m$)&lt;/p&gt;&#xA;" OwnerUserId="13082" LastActivityDate="2013-05-15T17:27:23.993" Title="Understanding the &quot;gap theorem&quot; in geometric spanners" Tags="&lt;graph-theory&gt;&lt;cg.comp-geom&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17610" PostTypeId="1" AcceptedAnswerId="17629" CreationDate="2013-05-13T19:43:22.217" Score="45" ViewCount="4729" Body="&lt;p&gt;Can someone provide a concise explanation of Mulmuley's GCT approach understandable by non-experts? An explanation that would be suitable for &lt;a href=&quot;http://en.wikipedia.org/wiki/Geometric_Complexity_Theory&quot;&gt;a Wikipedia page&lt;/a&gt; on the topic (which is stub at the moment). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Motivation: I am &quot;co-reading&quot; Scott Aaronson's book Quantum Computing since Democritus with a friend of mine who is a researcher in string theory. In the preface of the book, Aaronson calls GCT &quot;the string theory of computer science&quot;. &#xA;Being a string theorist, my friend got excited about this claim and asked me what GCT is. At that point I shamefully realized I didn't have a Wikipedia-ready answer for his question.&lt;/p&gt;&#xA;" OwnerUserId="1542" LastEditorUserId="186" LastEditDate="2013-05-14T01:03:02.467" LastActivityDate="2017-09-03T18:00:59.257" Title="Wikipedia-style explanation of Geometric Complexity Theory" Tags="&lt;cc.complexity-theory&gt;&lt;gct&gt;" AnswerCount="3" CommentCount="12" FavoriteCount="27" ContentLicense="CC BY-SA 3.0" />
  <row Id="17612" PostTypeId="1" AcceptedAnswerId="17613" CreationDate="2013-05-13T22:53:55.637" Score="0" ViewCount="65" Body="&lt;p&gt;I am reading an article called &lt;a href=&quot;http://www.sciencedirect.com/science?_ob=MiamiImageURL&amp;amp;_cid=271538&amp;amp;_user=32321&amp;amp;_pii=0304397581901109&amp;amp;_check=y&amp;amp;_origin=article&amp;amp;_zone=toolbar&amp;amp;_coverDate=31-Dec-1981&amp;amp;view=c&amp;amp;originContentFamily=serial&amp;amp;wchp=dGLzVlV-zSkWb&amp;amp;md5=2073f527aa2be434886953d7aaa0f7d3&amp;amp;pid=1-s2.0-0304397581901109-main.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;The temporal semantics of concurrent programs&lt;/a&gt;&#xA;.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;A construction is then given for assigning to a program P a temporal&#xA;formula W(P) which is true on all proper execution sequences of P.&lt;/p&gt;&#xA;&lt;p&gt;In order to prove that a program P posseses a property R, one has only&#xA;to prove the implication &lt;span class=&quot;math-container&quot;&gt;$$W(P)\supset R$$&lt;/span&gt;&#xA;My question is this: Didn't they get the containment the other way&#xA;around ?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;If I understand correctly, a property,R, is a set of traces, for P&#xA;to hold the property each trace of P needs to be in R, hence &lt;span class=&quot;math-container&quot;&gt;$$W(P)\subset R$$&lt;/span&gt;&lt;/p&gt;&#xA;&lt;p&gt;Do I understand something wrong here, or is there a mistake in the&lt;/p&gt;&#xA;" OwnerUserId="7956" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2013-05-13T23:06:25.180" Title="The meaning of: a program P posseses a property R" Tags="&lt;program-analysis&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17613" PostTypeId="2" ParentId="17612" CreationDate="2013-05-13T23:03:27.097" Score="2" Body="&lt;p&gt;I cannot see the article and have to guess. The text makes clear that they are using the symbol $\supset$ as notation for implication. So you could read it as &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;In order to prove that a program $P$ possesses a property $R$, one has only to prove the implication &#xA;  $W(P) \implies R$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;See the Wikipedia page on &lt;a href=&quot;http://en.wikipedia.org/wiki/Material_conditional&quot; rel=&quot;nofollow&quot;&gt;material implication&lt;/a&gt; for other notation for implication.&lt;/p&gt;&#xA;" OwnerUserId="4155" LastActivityDate="2013-05-13T23:03:27.097" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17615" PostTypeId="1" AcceptedAnswerId="17627" CreationDate="2013-05-14T01:20:27.093" Score="3" ViewCount="130" Body="&lt;p&gt;Consider the set of all bit arrays of length n. Now consider the set of all 1-to-1 functions that map from this set to this set.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now select a single function out of the latter set. Is there any algorithm to find a &quot;minimal&quot; method of implementing this function? Assume that we only have access to fundamental bit array operators such as AND OR XOR NOT and left and right bitshifts.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In case you're wondering, the reason I want this is because I'm writing an algorithm to convert from z-curve ordering of bits to hilbert-curve ordering of bits. My current method is to make a lookup table, but I bet there's a better option.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As a simple example, let's say I have a truth table that looks like this:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;00 -&amp;gt; 10&#xA;01 -&amp;gt; 01&#xA;10 -&amp;gt; 00&#xA;11 -&amp;gt; 11&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Then I should be able to infer that, given an input bit string &lt;code&gt;input&lt;/code&gt;, the output bit string &lt;code&gt;output&lt;/code&gt; is (in java syntax)&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;output = ((~input) &amp;lt;&amp;lt; 1) ^ input&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Here's the proof in this case:&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;00 -&amp;gt; 11 -&amp;gt; 10 -&amp;gt; 10&#xA;01 -&amp;gt; 10 -&amp;gt; 00 -&amp;gt; 01&#xA;10 -&amp;gt; 01 -&amp;gt; 10 -&amp;gt; 00&#xA;11 -&amp;gt; 00 -&amp;gt; 00 -&amp;gt; 11&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;" OwnerUserId="1772" LastActivityDate="2013-05-14T17:25:06.583" Title="Inferring simplest method to convert bit array 1 to bit array 2" Tags="&lt;boolean-functions&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17617" PostTypeId="1" CreationDate="2013-05-14T03:14:51.893" Score="7" ViewCount="335" Body="&lt;p&gt;So I had to answer the following question:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a graph $G = (V, E)$, and two vertices $v_i, v_j$, compute the number of walks between $v_i$ and $v_j$ of length &lt;em&gt;at most&lt;/em&gt; $k$. $G$ is not too large, but $k$ is. In fact, we may even be interested in calculating this number modulo $n \in \mathbb{N}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If the question had been &quot;of length &lt;em&gt;exactly&lt;/em&gt; $k$&quot;, then the well known way is to take $A$ the adjacency matrix of $G$, and compute $A^k_{i, j}$. Since this can be done using exponentiation by squaring, we get $O(n^\omega \log n)$, where $\omega$ is the exponent of matrix multiplication.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In this case, the number I'm after is $\displaystyle \left(\sum_{r = 1}^k A^r\right)_{i, j}$. If these were numbers, or we knew that $A - I$ was invertible, we could compute the equivalent expression $\displaystyle \frac{A^{k + 1} - I}{A - I}$. In general, however, we do not know this, and we cannot invert $A - I$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;With that introduction, the idea of the algorithm is as follows:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Using the fact that $A^1 + A^2 + ... + A^k = T + A^{\lfloor\frac{k}{2}\rfloor} \cdot T$, where $T = A^1 + A^2 + ... + A^{\lfloor\frac{k}{2}\rfloor}$, plus $A^k$ if $k$ is odd. To avoid exponentiation $A$ each time, we maintain the invariant that after calling $F(t)$, $A$ is now $A^t$. Since we make at most three multiplications, and decrease $k$ by half each time, we again make $O(n^\omega\log n)$ operations. If we are interested in this number modulo $n$, even better, since these multiplications can all be done modulo $n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Code:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;A a global matrix, mutable input.&#xA;T a global matrix, output.&#xA;F(k):&#xA;  If k == 0:&#xA;    T := I.&#xA;    Return.&#xA;  If k == 1:&#xA;    T := A.&#xA;    Return.&#xA;  k' := floor(k / 2).&#xA;  F(k').&#xA;  T := T + A * T.&#xA;  A := A * A.&#xA;  If k == 1 (mod 2):&#xA;    A := A * A'.&#xA;    T := T + A.&#xA;&#xA;A' := A.&#xA;F(k).&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;I feel this is a ridiculously simple algorithm, but I've failed to find any references to it. Does this technique have a name? I'm almost certain it must be well known!&lt;/p&gt;&#xA;" OwnerUserId="15633" LastEditorUserId="-1" LastEditDate="2013-05-14T05:41:42.923" LastActivityDate="2013-05-14T05:41:42.923" Title="An algorithm to compute the number of paths of length at most k" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;graph-theory&gt;&lt;linear-algebra&gt;&lt;matrices&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="17622" PostTypeId="2" ParentId="17608" CreationDate="2013-05-14T12:20:22.970" Score="2" Body="&lt;p&gt;I believe the answer is no and here is why.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assume that I can efficiently find a hamiltonian cycle of minimum weight in $G'$ given a hamiltonian cycle of minimum weight in $G$. I can use this procedure to find a hamiltonian cycle in any graph, say $A$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The procedure would work like this. Take $A$ and add vertices and edges (with weight $0$) such that a hamiltonian cycle of weight $0$ is easy to find. The cycle, for example, could alternate between new vertices and the original vertices of $A$. Since all new edges have weight $0$, the cycle weight would be $0$. If we call the new graph $A_1$, we know a simple hamiltonian cycle in $A_1$. Remove one of the newly added vertices from $A_1$ to create $A_2$ then run our procedure to efficiently find a hamiltonian cycle in $A_2$. Then repeat the procedure. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Eventually we will arrive at a graph, say $A_k$, which only has one extra vertex when compared to $A$. We will know a hamiltonian cycle in $A_k$ from the procedure above. So we can use this information to efficiently find a hamiltonian cycle in $A$ (using the same procedure as above).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Therefore, finding a hamiltonian cycle in $G'$ given one in $G$ must be at least as hard as finding a hamiltonian cycle in general.&lt;/p&gt;&#xA;" OwnerUserId="10694" LastEditorUserId="10694" LastEditDate="2013-05-14T12:43:17.663" LastActivityDate="2013-05-14T12:43:17.663" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17625" PostTypeId="2" ParentId="17610" CreationDate="2013-05-14T15:20:15.483" Score="-4" Body="&lt;p&gt;GCT is a research program for proving complexity theory bounds and in a way defies a wikipedia-style abstract/summary due to its heavy abstraction, but for the TCS crowd good surveys are available.[2][3][4] (and surely Wikipedia is the best place for wikipedia entries). it was formulated in the early 2000s by Mulmuley and is both relatively new in complexity theory and very advanced, using and applying advanced mathematics (algebraic geometry) that did not originate in TCS/complexity theory. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;the approach is considered promising by some but possibly too complex by other authorities ie it is not proven and therefore controversial whether it could overcome standard known &quot;barriers&quot;. (in this sense it does exhibit some signs of a so-called Kuhnian &quot;paradigm shift&quot;.) even Mulmuley proposes that it realistically might not succeed (in proving major complexity class separations) after decades of further development. here is a skeptical opinion by Fortnow, a leading authority in the field of complexity theory:[1]&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Consider a huge mountain and you want to reach the mountaintop. Ketan comes along and says he'll teach you how to create the tools needed to climb the mountain. It will take a hard month of study and actually these tools aren't good enough to climb the mountain. They need to be improved and these improvements won't happen in your lifetime. But don't you want to learn how others will climb the mountain centuries from now? &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;[1] &lt;a href=&quot;http://blog.computationalcomplexity.org/2008/04/how-to-prove-np-different-from-p.html&quot; rel=&quot;nofollow&quot;&gt;How to prove NP different than P&lt;/a&gt; Fortnow blog&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] &lt;a href=&quot;http://www.cse.buffalo.edu/faculty/regan/papers/pdf/Reg02MSFD.pdf&quot; rel=&quot;nofollow&quot;&gt;Understanding the Mulmuley-Sohoni Approach to P vs. NP&lt;/a&gt; Regan&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[3] &lt;a href=&quot;http://ramakrishnadas.cs.uchicago.edu/gctexplicit.pdf&quot; rel=&quot;nofollow&quot;&gt;On P vs. NP and Geometric Complexity Theory&lt;/a&gt; Mulmuley&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[4] &lt;a href=&quot;http://ramakrishnadas.cs.uchicago.edu/gctcacm.pdf&quot; rel=&quot;nofollow&quot;&gt;The GCT program towards the P vs. NP problem&lt;/a&gt; Mulmuley&lt;/p&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2013-05-14T15:20:15.483" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17627" PostTypeId="2" ParentId="17615" CreationDate="2013-05-14T17:25:06.583" Score="6" Body="&lt;p&gt;There is clearly an algorithm, since the finite search space can be explored using brute force.  This takes a long time...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Instead of considering $f \colon \{0,1\}^n \to \{0,1\}^n$, one can look at the Boolean function $f' \colon \{0,1\}^{2n} \to \{0,1\}$ defined by $f'(xy) = 1$ iff $f(x) = y$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;No polynomial-time algorithm is known to find a minimum-size circuit for a Boolean function, which is known as the Minimum Circuit Size Problem (MCSP).  However, MCSP is in NP.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If MCSP were in P, then one could factor in average time $2^{n^\epsilon}$ time (for any $\epsilon &amp;gt; 0$) numbers that are products of two primes, each of which is congruent to 3 modulo 4.  These numbers are quite hard to factor in practice, so this would be quite surprising.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, if the MCSP is NP-complete, then this would imply strong circuit lower bounds for the class E = DTIME($2^{O(n)}$), which we don't currently know how to do.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Valentine Kabanets and Jin-Yi Cai, &lt;em&gt;Circuit Minimization Problem&lt;/em&gt;, STOC 2000, 73–79. doi:&lt;a href=&quot;http://dx.doi.org/10.1145/335305.335314&quot;&gt;10.1145/335305.335314&lt;/a&gt; (&lt;a href=&quot;http://eccc.uni-trier.de/report/1999/045/&quot;&gt;preprint&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;So no polynomial-time algorithms seem likely for your problem, unless you can exploit special features of the functions you are interested in.&lt;/p&gt;&#xA;" OwnerUserId="109" LastActivityDate="2013-05-14T17:25:06.583" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17628" PostTypeId="1" CreationDate="2013-05-14T17:34:06.367" Score="2" ViewCount="109" Body="&lt;p&gt;Given $n$ items and $m$ customers, each of whom is interested in some subset of the items, partition the set of items among $k$ different stores so that the maximum number of customers visiting any store is minimized.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does anyone recognize this problem? I have the slight feeling that it is some standard set or cut problem in disguise, but I just cannot find the right one.&lt;/p&gt;&#xA;" OwnerUserId="16035" LastEditorUserId="4193" LastEditDate="2013-05-14T20:15:11.607" LastActivityDate="2013-05-15T05:31:04.303" Title="partition to min the max number of intersections" Tags="&lt;max-cut&gt;&lt;partition-problem&gt;&lt;set-theory&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17629" PostTypeId="2" ParentId="17610" CreationDate="2013-05-14T22:41:44.577" Score="37" Body="&lt;p&gt;I'm not exactly sure what level is suitable for Wikipedia article (different articles seem to be aimed at different levels of expertise) or exactly what you're looking for. So here's a try, but I'm open to feedback.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Geometric complexity theory proposes to study the &lt;a href=&quot;https://en.wikipedia.org/wiki/Computational_complexity_theory&quot;&gt;computational complexity&lt;/a&gt; of computing functions (say, polynomials) by exploiting the inherent symmetries in complexity and any additional symmetries of the functions being studied. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;As with many previous approaches, the ultimate goal is to separate two complexity classes $\mathcal{C}_{easy}, \mathcal{C}_{hard}$ by showing that there is a polynomial $p$ which takes functions $f$ as inputs (say, by their coefficient vectors) such that $p$ vanishes on every function $f \in \mathcal{C}_{easy}$ but does not vanish on some function $g_{hard} \in \mathcal{C}_{hard}$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The first key idea (cf. [GCT1, GCT2]) is to use symmetries to organize not the functions themselves, but to organize the (&lt;a href=&quot;https://en.wikipedia.org/wiki/Algebraic_geometry&quot;&gt;algebro-geometric&lt;/a&gt;) properties of these functions, as captured by polynomials such as $p$ above. This enables the use of &lt;a href=&quot;https://en.wikipedia.org/wiki/Representation_theory&quot;&gt;representation theory&lt;/a&gt; in attempting to find such a $p$. Similar ideas relating representation theory and algebraic geometry had been used in algebraic geometry before, but to my knowledge never quite in this way.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The second key idea (cf. [GCT6]) is to find combinatorial (and polynomial-time) algorithms for the resulting representation-theoretic problems, and then reverse-engineer these algorithms to show that such a $p$ exists. This may be taken in the spirit of using &lt;a href=&quot;http://en.wikipedia.org/wiki/Linear_programming&quot;&gt;Linear Programming&lt;/a&gt; (an algorithm) to prove certain purely combinatorial statements. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Indeed, [GCT6] suggests reducing the representation-theoretic problems above to &lt;a href=&quot;http://en.wikipedia.org/wiki/Integer_programming&quot;&gt;Integer Programming&lt;/a&gt; problems, then showing that the resulting IPs are solved by their LP relaxations, and finally giving combinatorial algorithms for the resulting LPs. The conjectures in [GCT6] are themselves motivated by reverse-engineering known results for the Littlewood-Richardson coefficients, an analogous but easier problem in representation theory. In the case of LR coefficients, the &lt;a href=&quot;http://en.wikipedia.org/wiki/Littlewood%E2%80%93Richardson_rule&quot;&gt;Littlewood-Richardson combinatorial rule&lt;/a&gt; came first. Later Berenstein and Zelevinsky [BZ] and Knutson and Tao [KT] (see [KT2] for a friendly overview) gave an IP for LR coefficients. Knutson and Tao also proved the saturation conjecture, which implies that the IP is solved by its LP relaxation (cf. [GCT3,BI]).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The results of [GCT5] show that explicitly derandomizing &lt;a href=&quot;http://en.wikipedia.org/wiki/Noether_normalization_lemma&quot;&gt;Noether's Normalization Lemma&lt;/a&gt; is essentially equivalent to the notorious open problem in complexity theory of black-box derandomization of &lt;a href=&quot;http://en.wikipedia.org/wiki/Polynomial_identity_testing&quot;&gt;polynomial identity testing&lt;/a&gt;. Roughly how this fits into the larger program is that finding an explicit basis for the functions $p$ that (do not) vanish on $\mathcal{C}_{easy}$ (in this case, the class for which the determinant is complete) could be used to derive a combinatorial rule for the desired problem in representation theory, as has happened in other settings in algebraic geometry. An intermediate step here would be to find a basis for those $p$ that (do not) vanish on the normalization of $\mathcal{C}_{easy}$, which is by construction a nicer algebraic variety -- in other words, to derandomize Noether's Normalization Lemma for DET.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Examples of symmetries of complexity and functions&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, the complexity of a function $f(x_1, \dotsc, x_n)$ - for most natural notions of complexity - is unchanged if we permute the variables $f(x_{\pi(1)}, \dotsc, x_{\pi(n)})$ by some permutation $\pi$. Thus permutations are symmetries of complexity itself. For some notions of complexity (such as in algebraic circuit complexity) all invertible linear changes of the variables are symmetries.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Individual functions may have additional symmetries. For example, the determinant $\det(X)$ has the symmetries $\det(AXB) = \det(X^{T}) = \det(X)$ for all matrices $A,B$ such that $\det(AB) = 1$. (From what little I picked up about this, I gather that this is analogous to the phenomenon of &lt;a href=&quot;http://en.wikipedia.org/wiki/Spontaneous_symmetry_breaking&quot;&gt;spontaneous symmetry-breaking&lt;/a&gt; in physics.) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Some Recent Progress&lt;/strong&gt; [this section definitely incomplete and more technical, but a complete account would take tens of pages....I just wanted to highlight some recent progress]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Burgisser and Ikenmeyer [BI2] showed a $\frac{3}{2}n^2$ lower bound on matrix multiplication following the GCT program as far as using representations with zero vs nonzero multiplicities. Landsberg and Ottaviani [LO] gave the best known lower bound of essentially $2n^2$ on the border rank of matrix multiplication using representation theory to organize algebraic properties, but not using representation multiplicities nor combinatorial rules. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The next problem after Littlewood-Richardson coefficients is the &lt;a href=&quot;http://en.wikipedia.org/wiki/Kronecker_coefficient&quot;&gt;Kronecker coefficients&lt;/a&gt;. These show up both in a series of problems that is suspected to eventually reach the representation-theoretic problems arising in GCT, and more directly as bounds on the multiplicities in the GCT approach to matrix multiplication and permanent versus determinant. Finding a combinatorial rule for Kronecker coefficients is a long-standing open problem in representation theory; Blasiak [B] recently gave such a combinatorial rule for Kronecker coefficients with one hook shape.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Kumar [K] showed that certain representations appear in the coordinate ring of the determinant with nonzero multiplicity, assuming the column Latin square conjecture (cf. Huang-Rota and Alon-Tarsi; this conjecture also, perhaps not coincidentally, shows up in [BI2]). Hence these representations cannot be used to separate permanent from determinant on the basis of zero vs nonzero multiplicities, though it still might be possible to use them to separate permanent from determinant by a more general inequality between multiplicities.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;References&lt;/strong&gt;&#xA;[B] J. Blasiak. &lt;a href=&quot;http://arxiv.org/abs/1209.2018&quot;&gt;Kronecker coefficients for one hook shape.&lt;/a&gt; arXiv:1209.2018, 2012.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[BI] P. Burgisser and C. Ikenmeyer. &lt;a href=&quot;http://www.ams.org/mathscinet-getitem?mr=2721518&quot;&gt;A max-flow algorithm for positivity of Littlewood-Richardson coefficients.&lt;/a&gt; FPSAC 2009.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[BI2] P. Burgisser and C. Ikenmeyer. &lt;a href=&quot;http://arxiv.org/abs/1210.8368&quot;&gt;Explicit Lower Bounds via Geometric Complexity Theory.&lt;/a&gt; arXiv:1210.8368, 2012.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[BZ] A. D. Berenstein and A. V. Zelevinsky. &lt;a href=&quot;http://dx.doi.org/10.1023/A:1022429213282&quot;&gt;Triple multiplicities for $\mathfrak{sl}(r+1)$ and the spectrum of the exterior algebra of the adjoint representation.&lt;/a&gt; J. Algebraic Combin. 1 (1992), no. 1, 7–22. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;[GCT1] K. D. Mulmuley and M. Sohoni. &lt;a href=&quot;http://dx.doi.org/10.1137/S009753970038715X&quot;&gt;Geometric Complexity Theory I: An Approach to the P vs. NP and Related Problems.&lt;/a&gt; SIAM J. Comput. 31(2), 496–526, 2001.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[GCT2] K. D. Mulmuley and M. Sohoni. &lt;a href=&quot;http://dx.doi.org/10.1137/080718115&quot;&gt;Geometric Complexity Theory II: Towards Explicit Obstructions for Embeddings among Class Varieties.&lt;/a&gt; SIAM J. Comput., 38(3), 1175–1206, 2008.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[GCT3] K. D. Mulmuley, H. Narayanan, and M. Sohoni. &lt;a href=&quot;http://dx.doi.org/10.1007/s10801-011-0325-1&quot;&gt;Geometric complexity theory III: on deciding nonvanishing of a Littlewood-Richardson coefficient.&lt;/a&gt; J. Algebraic Combin. 36 (2012), no. 1, 103–110. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;[GCT5] K. D. Mulmuley. &lt;a href=&quot;http://arxiv.org/abs/1209.5993&quot;&gt;Geometric Complexity Theory V: Equivalence between blackbox derandomization of polynomial identity testing and derandomization of Noether's Normalization Lemma.&lt;/a&gt; FOCS 2012, also arXiv:1209.5993. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;[GCT6] K. D. Mulmuley. &lt;a href=&quot;http://ramakrishnadas.cs.uchicago.edu/gct6.pdf&quot;&gt;Geometric Complexity Theory VI: the flip via positivity.&lt;/a&gt;, Technical Report, Computer Science department, The University of Chicago, January 2011. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;[K] S. Kumar. &lt;a href=&quot;http://arxiv.org/abs/1109.5996&quot;&gt;A Study of the representations supported by the orbit closure of the determinant.&lt;/a&gt; arXiv:1109.5996, 2011.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[LO] J. M. Landsberg and G. Ottaviani. &lt;a href=&quot;http://arxiv.org/abs/1112.6007&quot;&gt;New lower bounds for the border rank of matrix multiplication.&lt;/a&gt; arXiv:1112.6007, 2011.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[KT] A. Knutson and T. Tao. &lt;a href=&quot;http://dx.doi.org/10.1090/S0894-0347-99-00299-4&quot;&gt;The honeycomb model of $\text{GL}_n(\mathbb{C})$ tensor products. I. Proof of the saturation conjecture.&lt;/a&gt; J. Amer. Math. Soc. 12 (1999), no. 4, 1055–1090. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;[KT2] A. Knutson and T. Tao. &lt;a href=&quot;http://www.ams.org/notices/200102/fea-knutson.pdf&quot;&gt;Honeycombs and sums of Hermitian matrices.&lt;/a&gt; Notices Amer. Math. Soc. 48 (2001), no. 2, 175–186. &lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2013-05-14T22:41:44.577" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="17630" PostTypeId="2" ParentId="17545" CreationDate="2013-05-15T00:08:17.173" Score="27" Body="&lt;p&gt;Cybenko's result is fairly intuitive, as I hope to convey below; what makes things more tricky is he was aiming both for generality, as well as a minimal number of hidden layers.  Kolmogorov's result (mentioned by vzn) in fact achieves a stronger guarantee, but is somewhat less relevant to machine learning (in particular, it does not build a standard neural net, since the nodes are heterogeneous); this result in turn is daunting since on the surface it is just 3 pages  recording some limits and continuous functions, but in reality it is constructing a set of fractals.  While Cybenko's result is unusual and very interesting due to the exact techniques he uses, results of that flavor are very widely used in machine learning (and I can point you to others).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is a high-level summary of why Cybenko's result should hold.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;A continuous function on a compact set can be approximated by a piecewise constant function.&lt;/li&gt;&#xA;&lt;li&gt;A piecewise constant function can be represented as a neural net as follows.  For each region where the function is constant, use a neural net as an indicator function for that region.  Then build a final layer with a single node, whose input linear combination is the sum of all the indicators, with a weight equal to the constant value of the corresponding region in the original piecewise constant function.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Regarding the first point above, this can be taken as the statement &quot;a continuous function over a compact set is uniformly continuous&quot;.  What this means to us is you can take your continuous function over $[0,1]^d$, and some target error $\epsilon&amp;gt;0$, then you can grid $[0,1]^d$ at scale $\tau&amp;gt;0$ (ending up with roughly $(1/\tau)^d$ subcubes) so that a function which is constant over each subcube is within $\epsilon$ of the target function.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, a neural net can not precisely represent an indicator, but you can get very close.  Suppose the &quot;transfer function&quot; is a sigmoid.  (Transfer function is the continuous function you apply to a linear combination of inputs in order to get the value of the neural net node.)  Then by making the weights huge, you output something close to 0 or close to 1 for more inputs.  This is consistent with Cybenko's development: notice he needs the functions involved to equal 0 or 1 in the limit: by definition of limit, you get exactly what I'm saying, meaning you push things arbitrarily close to 0 or 1.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(I ignored the transfer function in the final layer; if it's there, and it's continuous, then we can fit anything mapping to $[0,1]$ by replacing the constant weights with the something in the inverse image of that constant according to the transfer function.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Notice that the above may seem to take a couple layers: say, 2 to build the indicators on cubes, and then a final output layer.  Cybenko was trying for two points of generality: minimal number of hidden layers, and flexibility in the choice of transfer function.  I've already described how he works out flexibility in transfer function.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To get the minimum number of layers, he avoids the construction above, and instead uses functional analysis to develop a contradiction.&#xA;Here's a sketch of the argument.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;The final node computes a linear combination of the elements of the layer below it, and applies a transfer function to it.  This linear combination  is a linear combination of functions, and as such, is itself a function, a function within some subspace of functions, spanned by the possible nodes in the hidden layer.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;A subspace of functions is just like an ordinary finite-dimensional subspace, with the main difference that it is potentially not a closed set; that's why cybenko's arguments all take the closure of that subspace.  We are trying to prove that this closure contains all continuous functions; that will mean we are arbitrarily close to all continuous functions.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;If the function space were simple (a Hilbert space), we could argue as follows.  Pick some target continuous function which is contradictorily supposed to not lie in the subspace, and project it onto the orthogonal complement of the subspace.  This residual must be nonzero.  But since our subspace can represent things like those little cubes above, we can find some region of this residual, fit a little cube to it (as above), and thereby move closer to our target function.  This is a contradiction since projections choose minimal elements.  (Note, I am leaving something out here: Cybenko's argument doesn't build any little cubes, he handles this in generality too; this is where he uses a form of the Riesz representation theorem, and properties of the transfer functions (if I remember correctly, there is a separate lemma for this step, and it is longer than the main theorem).) &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;We aren't in a Hilbert space, but we can use the Hahn-Banach theorem to replace the projection step above (note, proving Hahn-Banach uses the axiom of choice).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Now I'd like to say a few things about Kolmogorov's result.  While this result does not apparently need the sort of background of Cybenko's, I personally think it is much more intimidating.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is why.  Cybenko's result is an &lt;strong&gt;approximation guarantee&lt;/strong&gt;: it does not say we can exactly represent anything.  On the other hand, Kolmogorov's result is provides an &lt;strong&gt;equality&lt;/strong&gt;.  More ridiculously, it says the size of the net: you need just $\mathcal O(d^2)$ nodes.  To achieve this strengthening, there is a catch of course, the one I mentioned above: the network is heteregeneous, by which I mean all the transfer functions are not the same.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Okay, so with all that, how can this thing possible work?!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let's go back to our cubes above.  Notice that we had to bake in a level of precision: for every $\epsilon&amp;gt;0$, we have to go back and pick a more refined $\tau &amp;gt;0$.  Since we are working with (finite) linear combinations of indicators, we are never exactly representing anything.  (things only get worse if you include the approximating effects of sigmoids.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So what's the solution?  Well, how about we handle all scales simultaneously?  I'm not making this up: Kolmogorov's proof is effectively constructing the hidden layer as a set of fractals.  Said another way, they are basically space filling curves which map $[0,1]$ to $[0,1]^d$; this way, even though we have a combination of univariate functions, we can fit any multivariate function.  In fact, you can heuristically reason that $\mathcal O(d^2)$ is &quot;correct&quot; via a ridiculous counting argument: we are writing a continuous function from $\mathbb{R}^d$ to $\mathbb R$ via univariate continuous functions, and therefore, to capture all inter-coordinate interactions, we need $\mathcal O(d^2)$ functions...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that Cybenko's result, due to using only one type of transfer function, is more relevant to machine learning.  Theorems of this type are very common in machine learning (vzn suggested this in his answer, however he referred to Kolmogorov's result, which is less applicable due to the custom transfer functions; this is weakened in some more fancy versions of Kolmogorov's result (produced by other authors), but those still involve fractals, and at least two transfer functions).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have some slides on these topics, which I could post if you are interested (hopefully less rambly than the above, and have some pictures; I wrote them before I was adept with Hahn-Banach, however).  I think both proofs are very, very nice.  (Also, I have another answer here on these topics, but I wrote it before I had grokked Kolmogorov's result.)&lt;/p&gt;&#xA;" OwnerUserId="336" LastActivityDate="2013-05-15T00:08:17.173" CommentCount="10" ContentLicense="CC BY-SA 3.0" />
  <row Id="17632" PostTypeId="2" ParentId="17628" CreationDate="2013-05-15T05:31:04.303" Score="3" Body="&lt;p&gt;This is NP-hard, by reduction from &lt;a href=&quot;http://en.wikipedia.org/wiki/3-partition_problem&quot; rel=&quot;nofollow&quot;&gt;3-partition&lt;/a&gt;.&#xA;&lt;br&gt;&lt;br&gt;&lt;br&gt;&#xA;Given $\left[\hspace{.03 in}j_0,j_1,j_2,...,j_{(3\cdot k)-1}\hspace{-0.01 in}\right]$, $\:$ where $\; J = \operatorname{sum}\left(\left[\hspace{.03 in}j_0,j_1,j_2,...,j_{(3\cdot k)-1}\hspace{-0.01 in}\right]\right) \;$, $\;$ if there are&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$k$ different stores, $\:J$ items, and $\:(3\cdot k)+(4\cdot J)\:$ customers,&#xA;&lt;br&gt;&#xA;with customer $i$ for $\:i\in [0,1,2,...,(3\cdot k)-1]\:$ interested in the obvious $j_i$ items&#xA;&lt;br&gt;&#xA;and four other customers interested in each one of the items,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;then&lt;/p&gt;&#xA;&#xA;&lt;p&gt;the maximum can't be less than $\:\frac{4\cdot J}k+3\:$ and the partitions whose maximum is&#xA;&lt;br&gt;&#xA;$\frac{4\cdot J}k+3\:$ are exactly those corresponding to $3$-partitions of $\left[\hspace{.03 in}j_0,j_1,j_2,...,j_{(3\cdot k)-1}\hspace{-0.01 in}\right]$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;.&lt;/p&gt;&#xA;" OwnerDisplayName="user6973" LastActivityDate="2013-05-15T05:31:04.303" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17634" PostTypeId="1" AcceptedAnswerId="17655" CreationDate="2013-05-15T07:42:56.160" Score="4" ViewCount="1122" Body="&lt;p&gt;Meyer's theorem is one of the classical results about collapse of the polynomial hierarchy such as famous Karp Lipton's theorem, and states that $EXP \subseteq P/poly \Rightarrow EXP = \Sigma_{2}^{p} $.  A proof outline is as follows:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $L \in EXP $ and let $M$ be a one tape TM deciding $L$ in time $2^{n^{C}}$.  Consider the computation tableau for $M$, and assume each position $(i,t)$ encodes as a string $z_{i,t}$ the content all cell at time $t$, whether the head of the tape scanning cell $i$ at time $t$, and if it is, records the internal state $q$ of the TM. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now consider the language about computational historical tableau of $M$.&#xA;Let $L_{M} = \{ \langle x,i,t,z\rangle | \text{on input } x \text{  we have  } z_{i,t} = z \text{  for  } M  \}.$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By simulation $M$ we have $L_{M} \in EXP \subseteq P/poly$. &lt;em&gt;If&lt;/em&gt; using polynomial size circuits for $L_{M}$ we can construct a polynomial-size &lt;em&gt;multi-output&lt;/em&gt; circuit $C$ such that $C(\langle x,i,t\rangle)=z$ &lt;em&gt;then&lt;/em&gt; we get a characterization with two quantifiers $L_{M} = \exists C \in \{0,1\}^{poly(n)},\forall i ,t\in  \{0,1\}^{poly(n)},C(\langle x,i,t\rangle)$ follow from  $C(\langle x,i-1,t-1\rangle),C(\langle x,i,t-1\rangle),C(\langle x,i-1,t-1\rangle) \wedge C(\langle x,1,2^{n^{C}}\rangle) $ is the accepting state by the transition function of the TM.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Question:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;In this proof, I am not sure about the construction of multi-output circuit. Can anyone  give a concrete way of doing this construction?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="14065" LastEditorUserId="6456" LastEditDate="2013-05-17T20:39:35.963" LastActivityDate="2013-05-17T20:39:35.963" Title="On the proof of Meyer's Theorem" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;conditional-results&gt;&lt;polynomial-hierarchy&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17636" PostTypeId="1" AcceptedAnswerId="20073" CreationDate="2013-05-15T15:45:51.580" Score="14" ViewCount="1022" Body="&lt;p&gt;I'm often confused by the relation between η-conversion and extensionality.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit: According to comments, it seems I'm also confused about the relation between extensional equivalence and observational equivalence. But at least in Agda with extensional equality for functions (as a postulate), and for a simply-typed lambda calculus (which has a fully abstract semantics, if I'm not mistaken), denotational equivalence is the same as observational equivalence. Feel free to correct me in comments or answers; I've never gotten systematic education on these matters.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the untyped lambda-calculus, the eta-rule gives the same proof system as the extensionality rule, as proven by Barendregt (cited in &lt;a href=&quot;https://cstheory.stackexchange.com/a/8263/989&quot; title=&quot;Answer citing Barendregt&quot;&gt;an answer&lt;/a&gt; to &lt;a href=&quot;https://cstheory.stackexchange.com/q/8259/989&quot; title=&quot;What&amp;#39;s the point of η-conversion in lambda calculus?&quot;&gt;this question&lt;/a&gt;). I understand that to mean that the proof system with the eta-rule is complete for observational equivalence (from other answers, that might need the ξ-rule rule, that is, reduction under binders IIUC; I have no problem adding that rule too).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, what happens if we switch to a typed calculus and add extend this calculus with extra base types and corresponding introduction and elimination forms? Can we still write a complete proof system for observational equivalence? I will talk about proof systems in form of an axiomatic semantics, following Mitchell's Foundations of Programming Languages (FPL); the proof system/axiomatic semantics defines program equivalence.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question 1&lt;/strong&gt;: does Barendregt's theorem extend to STLC? Is the η-equivalence equivalent to extensionality in that context?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm browsing FPL's discussion of PCF (but didn't finish the section yet), and it seems that once you add pairs, extensionality requires an additional rule, namely surjective pairing: &lt;code&gt;pair (Proj1 P, Proj2 P) = P&lt;/code&gt;. Interestingly, this rule relates the introduction and elimination of pairs exactly like the η-rule relates the introduction and elimination of functions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question 2&lt;/strong&gt;: Is it sufficient to add the surjective pairing axiom to prove extensionality in simply-typed λ-calculus with pairs? &lt;strong&gt;&lt;em&gt;edit&lt;/em&gt;&lt;/strong&gt;: &lt;strong&gt;Question 2b&lt;/strong&gt;: is surjective pairing an η-law, as the η-laws mentioned in &lt;a href=&quot;http://www.cs.nott.ac.uk/~txa/publ/obseqnow.pdf&quot; rel=&quot;nofollow noreferrer&quot; title=&quot;Observational equality now&quot;&gt;this paper&lt;/a&gt;, because of the structural similarity I mention?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let's go all the way to PCF now. Descriptions of extensional equality I've seen then prove that extensionality implies a rule of proof by induction, but they don't say whether that's sufficient. Since PCF is Turing-complete, &lt;a href=&quot;https://cstheory.stackexchange.com/a/14152/989&quot; title=&quot;Answer to &amp;#39;Is it possible to compute whether two functions are extensional equal?&amp;#39;&quot;&gt;extensional equality is undecidable&lt;/a&gt;. But that doesn't imply that there is no complete proof system, since length of proofs is unbounded. More relevantly, such a proof system would maybe contradict Gödel's incompleteness theorems. And that argument might apply even to PCF without &lt;code&gt;fix&lt;/code&gt;, and to Gödel's System T.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question 3&lt;/strong&gt;: Is there a complete proof system for observational equivalence in PCF? What about PCF without &lt;code&gt;fix&lt;/code&gt;?&lt;/p&gt;&#xA;&#xA;&lt;h3&gt;Update: full abstraction&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;I answer here on the comment on full abstraction. I think PCF suffers from two different sorts of problems: it has non-termination (via fix), which causes the loss of full abstraction, but it also has natural numbers. Both problems make observational equivalence hard to treat, but I believe independently from each other.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the one hand, PCF loses full abstraction because parallel or lives in the semantic domain (Plotkin 1977), and that seems to have to do with nontermination. Ralph Loader (2000, &quot;Finitary PCF is not decidable&quot;) shows that finitary PCF (without naturals, but with nontermination) is already undecidable; hence, (if I sum up correctly) a fully abstract semantic cannot restrict to domains with computable operations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, take Gödel's System T, which doesn't have nontermination. (I'm not sure it has a fully abstract semantics, but I'm guessing yes, because the problem is only mentioned for PCF; the domain must contain higher-order primitive recursive functions).&#xA;Harper's Practical Foundations for Programming Languages discusses observational equivalence for this language; Sec. 47.4 is titled &quot;Some Laws of Equality&quot;, and shows some admissible proof rules for observational equivalence. Nowhere it says whether the proof system is complete, so I guess it is not, but is also nowhere discusses whether it can be completed. My best guess links back to Gödel's theorem of incompleteness.&lt;/p&gt;&#xA;" OwnerUserId="989" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2017-03-13T15:07:37.640" Title="η-conversion vs extensionality in extensions of lambda-calculus" Tags="&lt;pl.programming-languages&gt;&lt;lambda-calculus&gt;" AnswerCount="1" CommentCount="7" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="17637" PostTypeId="1" CreationDate="2013-05-15T17:25:01.387" Score="11" ViewCount="1280" Body="&lt;p&gt;I am trying to understand the relation between algorithmic complexity and circuit complexity of Determinants and Matrix Multiplication.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is known that the determinant of an $n\times n$ matrix can be &lt;a href=&quot;http://en.wikipedia.org/wiki/Computational_complexity_of_mathematical_operations#Matrix_algebra&quot; rel=&quot;nofollow noreferrer&quot;&gt;computed&lt;/a&gt; in $\tilde{O}(M(n))$ time, where $M(n)$ is the minimum time required to multiply any two $n\times n$ matrices.  It is also known that the best circuit complexity of determinants is &lt;a href=&quot;http://en.wikipedia.org/wiki/Arithmetic_circuit_complexity#Upper_bounds&quot; rel=&quot;nofollow noreferrer&quot;&gt;polynomial&lt;/a&gt; at depth $O(\log^{2}(n))$ and &lt;a href=&quot;http://people.cs.uchicago.edu/~razborov/files/depth3.ps&quot; rel=&quot;nofollow noreferrer&quot;&gt;exponential&lt;/a&gt; at depth 3.  But the circuit complexity of matrix multiplication, for any constant depth, is only polynomial.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Why is there a difference in circuit complexity for determinants and matrix multiplication while it is known that from an algorithm perspective determinant calculation is &lt;a href=&quot;http://www4.ncsu.edu/~kaltofen/bibliography/04/KaVi04_2697263.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;similar&lt;/a&gt; to matrix multiplication? Specifically, why do the circuit complexities have an exponential gap at depth-$3$? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Probably, the explanation is simple but I do not see it. Is there an explanation with 'rigor'?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also look in: &lt;a href=&quot;https://cstheory.stackexchange.com/questions/12448/smallest-known-formula-for-the-determinant&quot;&gt;Smallest known formula for the determinant&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="1812" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2013-05-23T07:11:19.567" Title="Determinants and Matrix Multiplication - Similarity and differences in algorithmic complexity and arithmetic circuit size" Tags="&lt;algebraic-complexity&gt;&lt;arithmetic-circuits&gt;&lt;matrix-product&gt;&lt;determinant&gt;" AnswerCount="2" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17638" PostTypeId="2" ParentId="17609" CreationDate="2013-05-15T17:27:23.993" Score="3" Body="&lt;p&gt;Let's write $C = (1+2/w) wt(MST(S))$. The set $E$ satisfies the $w$-gap property and has $m$ edges. It can be partitioned into 2 sets: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;One set is $E'$, which is a special subset of $E$. It is chosen such that we can easily prove that its weight is at most $C$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The other set $E''$ (which is $E \setminus E'$) has $m/2$ edges; we only know that it satisfies the $w$-gap property. By the induction hypothesis, the weight of $E''$ is at most $C \log(m/2)$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;From this, it follows that the set $E$ has weight at most $C + C \log(m/2) = C \log m$. &lt;/p&gt;&#xA;" OwnerUserId="16052" LastActivityDate="2013-05-15T17:27:23.993" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="17640" PostTypeId="2" ParentId="17637" CreationDate="2013-05-15T17:53:01.133" Score="3" Body="&lt;p&gt;Consider circuit value problem and Boolean formula evaluation for various small complexity classes. Deterministic sequential time complexity of them are the similar as far as we know, yet they are very different from circuit complexity perspective. Similarity in one particular type of resource on one model doesn't imply similarity for other resources in other models. One problem can be such that we can exploit parallel computation for one while we can't do that for another one, yet their sequential time complexity can be the same.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;When can we expect a more robust relation between the complexity of two problems across models and different resources? When they're are robust reduction between them in both directions that respects resources in those models.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit: multiplication has subexponential size depth 3 circuits. Proving a lower-bound of that kind for determinant would show it is not in $\mathsf{NL}$ separating it from $\mathsf{NC^2}$ which is not known.&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2013-05-15T18:03:21.750" LastActivityDate="2013-05-15T18:03:21.750" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="17641" PostTypeId="1" AcceptedAnswerId="17649" CreationDate="2013-05-15T18:38:00.680" Score="8" ViewCount="159" Body="&lt;p&gt;Suppose we have a graph $G$ with $n$ vertices that contains neither a clique of size $3 \log(n)$ nor an independent set of size $3 \log(n)$ (for example $G(n,0.5)$ satisfies this property with with high probability). Is it true that the number of edges of $G$ is at least $n^2/100$, i.e., it cannot be too sparse?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More generally, I would like to know whether such graphs have some kind of pseudo-random properties.&lt;/p&gt;&#xA;" OwnerUserId="15711" LastEditorUserId="15711" LastEditDate="2013-05-16T03:05:54.643" LastActivityDate="2013-05-16T14:16:23.447" Title="Density of Ramsey Graphs" Tags="&lt;graph-theory&gt;&lt;ramsey-theory&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17645" PostTypeId="2" ParentId="1405" CreationDate="2013-05-16T04:08:11.543" Score="4" Body="&lt;p&gt;According to John C. Mitchell in Foundations of Programming Languages, both in STLC and in untyped lambda calculus, the reduction rule &lt;code&gt;pair (proj₁ P, proj₂ P) → P&lt;/code&gt; breaks confluence when combined with &lt;code&gt;fix&lt;/code&gt; reduction (or, I assume from looking at the proof), without such conditions for the untyped case. This is theorem 4.4.19 (page 272).&lt;/p&gt;&#xA;" OwnerUserId="989" LastActivityDate="2013-05-16T04:08:11.543" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17646" PostTypeId="1" CreationDate="2013-05-16T08:00:25.623" Score="12" ViewCount="376" Body="&lt;p&gt;Is it known whether the implication $\mathsf{NEXP} = \Sigma_2 \implies \mathsf{NEXP} = \mathsf{MA}$ holds?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(The question is inspired by well-known $\mathsf{NEXP} \subseteq \mathsf{P/poly} \Leftrightarrow \mathsf{NEXP} = \mathsf{MA}$.)&lt;/p&gt;&#xA;" OwnerUserId="1886" LastEditorUserId="109" LastEditDate="2013-05-16T09:57:47.233" LastActivityDate="2013-05-16T13:03:53.267" Title="Is it known that $NEXP = \Sigma_2 \implies NEXP = MA$?" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;conditional-results&gt;" AnswerCount="0" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="17647" PostTypeId="2" ParentId="12471" CreationDate="2013-05-16T10:15:59.747" Score="0" Body="&lt;p&gt;Maybe you could use the Equation:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;H(Z_1+Z_2+\cdots+Z_n)=H(Z_1)+H(Z_2)+\cdots+H(Z_n)-H(Z_1|Z_1+Z_2+\cdots+Z_n)-H(Z_2|Z_2+Z_3+\cdots+Z_n)-\cdots-H(Z_{n-1}|Z_{n-1}+Z_n)&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This would look like a term you mentioned in the comments, unfortunately i don't know of results about the cardinality of the negative terms or insightful bounds on them.&lt;/p&gt;&#xA;" OwnerUserId="16063" LastActivityDate="2013-05-16T10:15:59.747" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17649" PostTypeId="2" ParentId="17641" CreationDate="2013-05-16T14:16:23.447" Score="3" Body="&lt;p&gt;The answer to your question is yes. It is a &lt;a href=&quot;http://www.ams.org/mathscinet-getitem?mr=325446&quot; rel=&quot;nofollow&quot;&gt;result of Erdős and Szemerédi from 1972&lt;/a&gt;. We know a little, but non-zero about pseudo-random properties of Ramsey graphs. For example, we know that many different kinds of induced subgraphs appear in such a graph. See, for example, a paper by &lt;a href=&quot;http://www.ams.org/mathscinet-getitem?mr=2507733&quot; rel=&quot;nofollow&quot;&gt;Alon–Balogh–Kostochka–Samotij&lt;/a&gt; and references therein.&lt;/p&gt;&#xA;" OwnerUserId="2226" LastActivityDate="2013-05-16T14:16:23.447" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17650" PostTypeId="2" ParentId="16354" CreationDate="2013-05-16T15:22:36.270" Score="10" Body="&lt;p&gt;Such graphs are indeed geodetic. A graph is bigeodetic, if there are at most two shortest paths between any pair of vertices. In general, a graph is $k$-geodetic if there are at most $k$ shortest paths between any pair of vertices.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another example of an geodetic graph is a block graph. A graph is a block graph if it can be constructed from a tree by replacing every edge with a clique. Equivalently, this is known as a diamond-free chordal graph. A diamond is a $K_4$ minus an edge. For example, see Theorem 1.1 in &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0012365X09004300&quot;&gt;Le, Van Bang, and Nguyen Ngoc Tuy. &quot;The square of a block graph.&quot; Discrete Mathematics 310.4 (2010): 734-741.&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="5693" LastActivityDate="2013-05-16T15:22:36.270" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17651" PostTypeId="1" AcceptedAnswerId="17654" CreationDate="2013-05-16T15:51:02.927" Score="6" ViewCount="402" Body="&lt;p&gt;An undirected graph $G$ is &lt;a href=&quot;http://en.wikipedia.org/wiki/Chordal_graph&quot;&gt;chordal&lt;/a&gt; if it has no induced cycles of length 4 or more. A set $S \subseteq V(G)$ disconnects a vertex $a$ from vertex $b$ if every path of $G$ between $a$ and $b$ contains a vertex from $S$. A non-empty set $S \subseteq V(G)$ is a &lt;em&gt;minimal separator&lt;/em&gt; of $G$ if there exists $a$ and $b$ such that &lt;strong&gt;(i)&lt;/strong&gt; $S$ disconnects $a$ from $b$ in $G$, and &lt;strong&gt;(ii)&lt;/strong&gt; no proper subset of $S$ disconnects $a$ from $b$ in $G$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A &lt;a href=&quot;http://en.wikipedia.org/wiki/K-tree&quot;&gt;$k$-tree&lt;/a&gt; is a chordal graph where all maximal cliques are of size $k+1$ and all minimal separators of size $k$. A &lt;a href=&quot;http://en.wikipedia.org/wiki/Block_graph&quot;&gt;block graph&lt;/a&gt; is a chordal graph, where maximal cliques can be of any size, but the minimal separators are of size one. What about chordal graphs where the maximal cliques can be of any size, but there's a constraint on the size of the minimal separators? This feels like a rather natural variant, but I was unable to find a reference that captures this.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Let $k$ be a positive integer. Consider a chordal graph such that the size of every minimal separator $|S| = k$. (Alternatively, replace $=$ with $\leq$). Have such graphs been studied before somewhere?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;For $k=1$, such a graph is known as a block graph. What about $k \geq 2$?&lt;/p&gt;&#xA;" OwnerUserId="5693" LastActivityDate="2013-05-31T22:25:33.580" Title="Does a chordal graph where the size of minimal separators is constrained have name?" Tags="&lt;reference-request&gt;&lt;graph-theory&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17654" PostTypeId="2" ParentId="17651" CreationDate="2013-05-16T16:52:59.700" Score="9" Body="&lt;p&gt;In &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0166218X11000424&quot;&gt;this paper&lt;/a&gt; graphs in which the size of every minimal separator $|S| \le k$ are called &lt;em&gt;graphs of separability at most $k$&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Theorem 1 of that paper implies that &lt;em&gt;chordal&lt;/em&gt; graphs of separability at most $2$ are obtained from complete graphs by &quot;gluing&quot; along a vertex or an edge.&lt;/p&gt;&#xA;" OwnerUserId="13136" LastActivityDate="2013-05-16T16:52:59.700" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17655" PostTypeId="2" ParentId="17634" CreationDate="2013-05-16T19:09:32.657" Score="1" Body="&lt;p&gt;I am not sure I understand your question. Let $L_M(k)=\{(x,i,t)$ for which on input $x$ we have that the $k$-th bit of $z_{i,t}$ is $1$. This language is in EXP, thus also in P/poly. Putting together these circuits for different values of $k$, we get the multi-output circuit.&lt;/p&gt;&#xA;" OwnerUserId="419" LastActivityDate="2013-05-16T19:09:32.657" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17656" PostTypeId="2" ParentId="3748" CreationDate="2013-05-16T20:15:27.947" Score="3" Body="&lt;p&gt;Get Spinrad's book on efficient graph representations:&#xA;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0821828150&quot; rel=&quot;nofollow&quot;&gt;http://www.amazon.com/Efficient-Representations-Fields-Institute-Monographs/dp/0821828150&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also check out Li and Vitanyai's book on Kolmogorov Complexity:&#xA;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0821828150&quot; rel=&quot;nofollow&quot;&gt;http://www.amazon.com/Efficient-Representations-Fields-Institute-Monographs/dp/0821828150&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You will get an appriciation for each graph class by studying succinct data structures.  When you understand why certain classes of graphs take less storage than others you gain a great understanding of how to tailor optimization problems on to them.&lt;/p&gt;&#xA;" OwnerUserId="2021" LastActivityDate="2013-05-16T20:15:27.947" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17657" PostTypeId="1" AcceptedAnswerId="17661" CreationDate="2013-05-16T23:02:58.110" Score="11" ViewCount="433" Body="&lt;p&gt;It is known that some (non-relativized) syntactic complexity classes between ${\bf P}$ and ${\bf PSPACE}$ have the following property, ${\bf P} \subseteq {\bf CoNP} \subseteq {\bf US} \subseteq {\bf C_=P} \subseteq {\bf PP} \subseteq {\bf PSPACE}$. I am wondering if there exists a (non-relativized) syntactic complexity class ${\bf X}$ such that ${\bf PP} \subseteq {\bf X} \subseteq {\bf PSPACE}$? What are the implications of existence or non-existence of complexity class ${\bf X}$ ?  &lt;/p&gt;&#xA;" OwnerUserId="1590" LastEditorUserId="6579" LastEditDate="2016-12-01T09:15:36.393" LastActivityDate="2016-12-01T09:15:36.393" Title="Syntactic Complexity Class ${\bf X}$ such that ${\bf PP} \subseteq {\bf X} \subseteq {\bf PSPACE}$" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="17658" PostTypeId="1" CreationDate="2013-05-17T00:02:07.480" Score="1" ViewCount="76" Body="&lt;p&gt;Let $F = (f_1, \ldots, f_n)$ be a sequence of multivariate polynomials $f_i : \mathbb{R}^d \to \mathbb{R}$, and $g : \{0,1\}^n \to \{0,1\}$ a boolean function.  Say the composition&#xA;$$h(x)=g(f_1(x)&amp;gt;0,\ldots,f_n(x)&amp;gt;0)$$&#xA;answers some useful geometric question (e.g., is the intersection of two circles inside a third?).  Let $\deg(F) = \max_i \deg(f_i)$ be the maximum degree of any of the polynomials.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Question&lt;/em&gt;: Is there an algorithm to check whether $\deg(F)$ can be reduced without changing $h(x)$?  Are there practical implementations of such (perhaps in Mathematica or Sage)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I believe this is essentially a question of polynomial irreducibility, and the answer may be as simple as checking whether the highest degree $f_i$s factor.  However, since the answer may be simply be &quot;yes, it's minimal&quot;, I want to be sure before I publish such a claim.&lt;/p&gt;&#xA;" OwnerUserId="13245" LastEditorUserId="13245" LastEditDate="2013-05-17T01:21:08.493" LastActivityDate="2013-05-17T01:21:08.493" Title="Verifying the minimum degree of a geometric predicate" Tags="&lt;cg.comp-geom&gt;&lt;polynomials&gt;" AnswerCount="0" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="17659" PostTypeId="1" CreationDate="2013-05-17T01:22:57.123" Score="2" ViewCount="1361" Body="&lt;p&gt;Consider the standard minimum-cost flow problem presented &lt;a href=&quot;http://en.wikipedia.org/wiki/Minimum-cost_flow_problem#Definition&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;. I would like to add an additional set of constraints on the total incoming/outgoing flow for each vertex (excluding the source $s$ and the target $t$) as follows:&#xA;$$\sum\limits_{w \in V } {f({v_i},w) = \sum\limits_{w \in V} {f(w,{v_i}) = } {r_i}} ,\forall {v_i} \in V - \{ s,t\},$$&#xA;where $r_i$ is called vertex $v_i$ flow &lt;em&gt;requirement&lt;/em&gt; (is there a standard term for it?). Please note that this problem is single-commodity and it is different from the &lt;a href=&quot;http://en.wikipedia.org/wiki/Multi-commodity_flow_problem&quot; rel=&quot;nofollow&quot;&gt;multi-commodity flow problem&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Moreover, consider that all the capacities, costs, flows, and requirements are non-negative integers. Is there a well-known algorithm to solve this problem in polynomial time? If this is an NP-Complete problem, what's the fastest known algorithm and the approximation method to solve it?&lt;/p&gt;&#xA;" OwnerUserId="10990" LastEditorUserId="10990" LastEditDate="2013-05-18T01:37:52.670" LastActivityDate="2013-05-18T01:37:52.670" Title="Minimum-Cost Flow Problem with Constraint on the Total Incoming/Outgoing Flow for the Vertices" Tags="&lt;max-flow&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17661" PostTypeId="2" ParentId="17657" CreationDate="2013-05-17T09:06:49.507" Score="14" Body="&lt;p&gt;One such class is the &lt;em&gt;counting hierarchy&lt;/em&gt; $\mathsf{CH}$. It is defined as the union of a hierarchy that is defined similarly to the polynomial hierarchy:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$\mathsf{C}_{0}\mathsf{P} := \mathsf{PP}$,&lt;/li&gt;&#xA;&lt;li&gt;$\mathsf{C}_{i+1}\mathsf{P} := \mathsf{PP}^{\mathsf{C}_{i}\mathsf{P}}$&lt;/li&gt;&#xA;&lt;li&gt;$\mathsf{CH} := \bigcup_i \mathsf{C}_{i}\mathsf{P}$&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The counting hierarchy has a nice syntactic characterization due to &#xA;&lt;a href=&quot;http://dx.doi.org/10.1016/0304-3975%2895%2900237-5&quot;&gt;H. Vollmer and K. Wagner &quot;Recursion theoretic characterizations of complexity classes of counting functions&quot;, Theoretical Computer Science 163:245-258, 1996&lt;/a&gt;:&#xA;$\mathsf{CH}$ ist the set of $0$-$1$-valued functions in the closure of basic arithmetic functions $0,1,+,-,\cdot$ under composition and bounded sums.&lt;/p&gt;&#xA;" OwnerUserId="6579" LastEditorUserId="1590" LastEditDate="2014-10-21T15:49:27.353" LastActivityDate="2014-10-21T15:49:27.353" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="17662" PostTypeId="1" CreationDate="2013-05-17T09:30:38.573" Score="2" ViewCount="121" Body="&lt;p&gt;Suppose $L$ is a labelled transition system (LTS). Suppose that the function $maxIn(L)$ (LTS $\rightarrow$ integer) returns the number of incoming transitions to the state of $L$ that has the most incoming transitions of all states of $L$. So, for example, if $L$ is a tree with the root as its only initial state then $maxIn(L) = 1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now suppose that $traceEq(L)$ denotes the set of LTS that are trace equivalent to $L$. So if $L1, L2 \in traceEq(L)$ and $L1 \neq L2$ then $L1$ and $L2$ are not topologically isomorphic but have the same set of traces as $L$. Note that $L \in traceEq(L)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given an LTS $L$ is there any algorithmic way of determining the value of $min_{L' \in  traceEq(L)} maxIn(L')$ ? The case of interest is where all the members of $traceEq(L)$ are finite, so that a cycle in $L$ cannot be unwound and represented by an infinite sequence of states.&lt;/p&gt;&#xA;" OwnerUserId="14104" LastEditorUserId="14104" LastEditDate="2013-05-17T12:59:42.423" LastActivityDate="2013-05-17T12:59:42.423" Title="Determination of maximum number of incoming transitions to a state in any trace-equivalent representation of an LTS" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17663" PostTypeId="2" ParentId="14789" CreationDate="2013-05-17T09:52:44.573" Score="2" Body="&lt;p&gt;I am possibly too late on this, but an example of a state-based language is Protocol Modeling, for instance as described in:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Ashley T. McNeile, Ella E. Roubtsova: Aspect-Oriented Development Using Protocol Modeling. Transactions on Aspect-Oriented Software Development 7: 115-150 (2010).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is a programming paradigm that expresses behavior using states and actions. It uses CSP (process algebra) style parallel composition to build a complete behavioral definition by composition of partial descriptions. This compositional style gives it an aspectual flavor, hence the publication cited above.&lt;/p&gt;&#xA;" OwnerUserId="14104" LastEditorUserId="14104" LastEditDate="2013-05-17T09:59:58.893" LastActivityDate="2013-05-17T09:59:58.893" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17665" PostTypeId="2" ParentId="3616" CreationDate="2013-05-17T13:10:02.387" Score="-2" Body="&lt;p&gt;If $\mu$ is the expected value of $X$, we expect that $\{X=\mu\}$ will actually happen.&lt;/p&gt;&#xA;" OwnerUserId="16077" LastActivityDate="2013-05-17T13:10:02.387" CommentCount="1" CommunityOwnedDate="2013-05-17T13:10:02.387" ContentLicense="CC BY-SA 3.0" />
  <row Id="17666" PostTypeId="2" ParentId="17502" CreationDate="2013-05-17T13:56:51.047" Score="0" Body="&lt;p&gt;Please forgive my arrogance, as I post so insubstantial answer. However, it may be helpful - if the case is teaching the idea of programming languages - and comments are to narrow.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I deeply believe, the tactic of teaching is more important, then choosing the simplest language. My classes (being a student) of programming languages involved the &lt;em&gt;while language&lt;/em&gt;, which, I purpose, is more complex then &lt;em&gt;PFC&lt;/em&gt;. However, in the end, the students was able to do some simple inductive proofs about while-programs, and build interpreters for a small statically-typed objective-functional-imperative cross language. Even though, they were of the first year. - I think the organization of the material and incremental going from formal grammars, through ASTs, static analyses, fixed points to semantics, Hoare logic and little lambda calculus, together with implementation of own interpreter have done the job pretty well.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit:&lt;/strong&gt;&lt;br&gt;&#xA;The $while$ languages are generally - at least in my villagy surroundings -  minimalistic derivations of IMP, containing the $while$ instruction. - Maybe this is local. If so, I should probably ask for forgiveness for my arrogance and ignorance, either. $:-)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A good reference, for this case, can be &lt;em&gt;CS522 - Programming Language Semantics (Spring 2011)&lt;/em&gt; lecture notes. - Especially this, if we are into the denotational semantics  &lt;a href=&quot;http://fsl.cs.uiuc.edu/images/4/45/CS522-Spring-2011-PL-book-denotational.pdf&quot; rel=&quot;nofollow&quot;&gt;http://fsl.cs.uiuc.edu/images/4/45/CS522-Spring-2011-PL-book-denotational.pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="16075" LastEditorUserId="16075" LastEditDate="2013-05-18T11:22:10.027" LastActivityDate="2013-05-18T11:22:10.027" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17668" PostTypeId="1" AcceptedAnswerId="17671" CreationDate="2013-05-17T16:09:58.323" Score="14" ViewCount="1324" Body="&lt;p&gt;&lt;strong&gt;Background&lt;/strong&gt;:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm coming to the end of my masters degree in Mathematics and will be starting a PhD in Logic in August. The more logic I study, the more theoretical computer science I am exposed to, e.g. recursion theory, lambda calculus, but the underlying CS is brushed under the rug. My main areas of interest - set theory and category theory - also have applications in computer science, but so far I've only studied them from the point of view of pure mathematics.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Problem:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My lack of any computer science background sometimes makes it difficult to see the motivation or intuition behind what is going on, or how it could be applied. I get by, but I feel like it would be healthier to branch out a little bit... it occurs to me that, for the benefit of my future research, I should learn some computer science.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Most CS books I've looked at haven't been very suitable for my purposes, either being too basic and untechnical, or presupposing the kind of CS background that I don't have. They seem to be aimed at people who are quite computer-savvy but who have little in the way in mathematical background - my situation is the opposite.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What books or other resources are there which could help a mathematician-turned-logician in their goal of gaining a working knowledge of (theoretical) computer science?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I'm looking for something more wholesome than a few seminar talks and more in-depth than &lt;em&gt;The New Turing Omnibus&lt;/em&gt;, but I don't have the time or resources to do another undergraduate degree. (It may be that I'm asking for something that doesn't exist.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Sorry if the question is too vague or ill-posed. I felt it was more suitable here than on &lt;a href=&quot;https://math.stackexchange.com/&quot;&gt;MSE&lt;/a&gt; but I'll be happy to migrate it if needs be.&lt;/p&gt;&#xA;" OwnerUserId="16081" LastEditorUserId="-1" LastEditDate="2017-04-13T12:19:19.363" LastActivityDate="2013-05-19T19:16:45.473" Title="Resources for mathematicians hoping to learn more computer science" Tags="&lt;reference-request&gt;&lt;soft-question&gt;" AnswerCount="2" CommentCount="6" FavoriteCount="12" ContentLicense="CC BY-SA 3.0" />
  <row Id="17669" PostTypeId="2" ParentId="17659" CreationDate="2013-05-17T18:43:05.483" Score="2" Body="&lt;p&gt;This is a standard variant (if not &lt;em&gt;the&lt;/em&gt; standard variant) of the minimum-cost flow problem.  The &quot;flow requirements&quot; are sometimes called &lt;em&gt;balance conditions&lt;/em&gt; and sometimes called &lt;em&gt;vertex supplies/demands&lt;/em&gt;.  It can be solved in polynomial time using any number of algorithms.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In particular, you can reduce to the single-source single-target variant in polynomial time as follows:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Compute a conservative upper bound $M$ on the cost of any flow in your network; for example, let $M = \sum_e cap(e)\cdot |cost(e)|$.  Alternatively, treat $M$ as a symbolic infinite value.&lt;/li&gt;&#xA;&lt;li&gt;Add new nodes $s^*$ and $t^*$.&lt;/li&gt;&#xA;&lt;li&gt;Add arcs $s^*\to s$ and $t\to t^*$ with infinite capacity and zero cost.&lt;/li&gt;&#xA;&lt;li&gt;For every node $v_i$ with $r_i&amp;gt;0$, add an arc $s^*\to v_i$ with capacity $r_i$ and cost $-M$.&lt;/li&gt;&#xA;&lt;li&gt;For every node $v_i$ with $r_i&amp;lt;0$, add an arc $v_i\to t^*$ with capacity $-r_i$ and cost $-M$.&lt;/li&gt;&#xA;&lt;li&gt;Set all vertex requirements to zero.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The minimum-cost feasible flow from $s^*$ to $t^*$ in this modified network saturates every arc $s^*\to v_i$ and $v_i\to t^*$, and the remaining arcs carry the minimum-cost flow from from $s$ to $t$ in the original network that meets all the flow requirements.&lt;/p&gt;&#xA;" OwnerUserId="111" LastActivityDate="2013-05-17T18:43:05.483" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17671" PostTypeId="2" ParentId="17668" CreationDate="2013-05-17T19:47:13.720" Score="11" Body="&lt;p&gt;You're essentially asking for resources that will let you turn your existing knowledge of logic, recursion theory, and category theory into knowledge about theoretical computer science.I would suggest looking at realizability theory, especially via its connections to topos theory and categorical proof theory. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here are a handful of suggestions; my advice is to pick one and go into depth. With the exception of Taylor's book (which explains this), my suggestions assume you have been exposed to enough lambda calculus and category theory to have seen categorical interpretations of the simply-typed lambda calculus.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Paul Taylor's book &lt;em&gt;Practical Foundations of Mathematics&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;IMO, this is probably the single best technical introduction to the relationship between logic, category theory and computation. It assumes almost no pre-requisites, but it gets into quite deep waters very quickly, and is sure to tax (and greatly improve) your mathematical maturity.  &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Wesley Phoa's notes &lt;a href=&quot;http://www.lfcs.inf.ed.ac.uk/reports/92/ECS-LFCS-92-208/ECS-LFCS-92-208.ps&quot;&gt;&lt;em&gt;An Introduction to Fibrations, Topos Theory, the Effective Topos, and Modest Sets&lt;/em&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;These are some lecture notes that Wesley Phoa wrote up. If you are categorically fluent, then these notes offer a really fast path into understanding some of the most  important constructions in realizability and topos theory (namely, the construction of the effective topos).  &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Bart Jacobs' book &lt;em&gt;Categorical Logic and Type Theory&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is one of the definitive references on the categorical semantics of type theory. It is also very large. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;At the same time you are reading one of these books, I would advise downloading and learn how to use the &lt;a href=&quot;http://wiki.portal.chalmers.se/agda/pmwiki.php&quot;&gt;Agda programming language&lt;/a&gt;. This language implements the sophisticated type theories described above, and IMO it is incredibly helpful to see how the often quite subtle semantic constructions cash out in type theory. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Andrej Bauer can probably give you even better advice. Perhaps he can be persuaded to post. :) &lt;/p&gt;&#xA;" OwnerUserId="657" LastActivityDate="2013-05-17T19:47:13.720" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17672" PostTypeId="1" AcceptedAnswerId="17675" CreationDate="2013-05-18T01:06:33.230" Score="2" ViewCount="355" Body="&lt;p&gt;I have a question that seems to me really natural and have probably already been studied. But keyword search on this site or google does not seems to help me to find any relevent paper. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have got a finite non deterministic automaton $A$ over an alphabet $\alpha$ without epsilon-transition.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What can I tell about the number of different path the automaton could take for accepting a word ? In particular, I want to know if this number is bounded, or if for every $c$ I can find a word $w_c$ that is accepted in at least $c$ different way by the automaton. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Right now, I can find some necessary, and some sufficient condition, but not any necessary and sufficient condition, for the number to be unbounded &lt;/p&gt;&#xA;&#xA;&lt;p&gt;By clarity, I'll define the way I cound the number of accepting path. Let $w\in\alpha^*$ and $q$ a state, I can define the number of path to $q$ by inuction on $|w|$ by $N(\epsilon,q)=1$ if $q\in I$ else $0$, where $I$ is the set of initial state and $F$ of final state. $N(ws,q)=\sum_{q'\in Q\atop \delta(q',s)=q}N(w,q')$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then the number of path is $\sum_{q \in F}N(w,q)$.&lt;/p&gt;&#xA;" OwnerUserId="328" LastActivityDate="2013-05-18T06:13:53.743" Title="Number of accepting path of a non deterministic automaton" Tags="&lt;automata-theory&gt;&lt;nondeterminism&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17674" PostTypeId="1" CreationDate="2013-05-18T05:27:57.463" Score="5" ViewCount="216" Body="&lt;p&gt;I was thinking about the old question regarding the existence of fixed points in hash functions (for instance, if we restrict the domain of MD5 to $S = \{0, 1\}^{128}$, making it a mapping $S \to S$, then is there an element $s \in S.~MD5(s) = s$?). Of course, &lt;a href=&quot;https://davidlyness.com/post/fixed-points-of-hash-functions&quot; rel=&quot;noreferrer&quot;&gt;a simple probabilistic argument&lt;/a&gt; indicates that the existence of such an element is likely, but as far as I know, there is no clear proof of the existence of such a fixed point.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then I recalled &lt;a href=&quot;http://en.wikipedia.org/wiki/Poincar%C3%A9_recurrence_theorem&quot; rel=&quot;noreferrer&quot;&gt;Poincare's recurrence theorem&lt;/a&gt; in ergodic theory, which basically states that iterations of a well-behaving transformation brings almost every point in the space to near where it started, given sufficient time. So I'm just wondering whether there has ever been some connections between results along that branch of math and the study of hash functions? For instance, something saying that &quot;a certain hash function, given enough time, will always bring any $s$ to $\{s': d(s, s') &amp;lt; \delta\}$ where $d$ is some metric on the value space&quot;? Of course, Poincare's theorem would probably not directly apply here, but some weaker version, with additional simplifications on the hash functions, may bring about something interesting?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Additional thoughts on this and/or reference to related literature would be much appreciated. Thanks.&lt;/p&gt;&#xA;" OwnerUserId="9439" LastEditorUserId="873" LastEditDate="2013-05-18T16:37:25.487" LastActivityDate="2013-05-18T16:37:25.487" Title="Ergodic Theory and Hash Functions" Tags="&lt;cr.crypto-security&gt;&lt;hash-function&gt;" AnswerCount="0" CommentCount="1" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="17675" PostTypeId="2" ParentId="17672" CreationDate="2013-05-18T06:13:53.743" Score="6" Body="&lt;p&gt;This concept is called the &lt;em&gt;ambiguity&lt;/em&gt; of the NFA.&#xA;Typically, there are 3 classes of ambiguity in this context: Bounded, polynomially bounded, and exponentially bounded.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Every NFA has at most an exponential number of runs on a given word (this is easy to see).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Interestingly, there is a simple syntactic characterization of polynomially bounded NFAs:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An NFA has a polynomial number of runs on a word $w$ iff for every state $q$, there is at most one cycle from $q$ to itself on every word $x\in \Sigma^*$. &lt;a href=&quot;http://link.springer.com/chapter/10.1007%2F3-540-57568-5_252&quot;&gt;See this for details&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Testing for bounded ambiguity is PSPACE-complete. A good starting point is &lt;a href=&quot;http://www2.in.tum.de/bib/files/Weber91Degree.pdf&quot;&gt;this paper&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="7531" LastActivityDate="2013-05-18T06:13:53.743" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17676" PostTypeId="1" CreationDate="2013-05-18T09:37:45.793" Score="9" ViewCount="729" Body="&lt;p&gt;Suppose P != NP.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We know that we can make easy instances of 3-SAT at any time. We can also generate what we believe to be hard instances (because our algorithms can't solve them quickly). Is there anything preventing the set of hard instances, from being arbitrarily small, so long as for any given instance size (n) there are only Poly(n) (or even constant) instances of size Poly(n) or smaller?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For any hard 3-SAT instance, we would have to add the set of all 3-SAT instances it reduces to via looping through the NP-Completeness reduction cycle, but I don't foresee this adding to the number of hard instances very much.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In this world, we could construct an algorithm that polynomially solves all NP complete problems, except an exceptional few.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit:&#xA;A softer variant of the question: even if we showed P!=NP, how could we know whether a given method to generate size n 3-SAT problems actually generated hard one with some requisite probability?  If there's no way to know from P!=NP alone, what is required to show that we can generate a hard NP-complete problem?&lt;/p&gt;&#xA;" OwnerUserId="3337" LastActivityDate="2013-06-08T01:45:54.100" Title="Could there be an extremely large hidden subset of Polynomially solvable problems within NP-Complete problems?" Tags="&lt;np-hardness&gt;&lt;p-vs-np&gt;" AnswerCount="3" CommentCount="10" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="17679" PostTypeId="1" AcceptedAnswerId="17680" CreationDate="2013-05-18T16:57:11.913" Score="3" ViewCount="469" Body="&lt;p&gt;A very high level architecture is, as mentioned &lt;a href=&quot;http://www.dwavesys.com/en/dev-tutorial-software.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;here&lt;/a&gt;, shown in this picture.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/XTA2R.png&quot; alt=&quot;The D-Wave architecture&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The component on the left is classical while the one on the right is the D-Wave box. I understand that in QIP, Arthur is BQP. Here the classical component is always in BQP if we are not too restrictive. On the other hand, the D-Wave box although don't have unbounded computational resources is not violating any law of quantum mechanics. Let's consider this as not-so-strong Merlin.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can we say that this architecture is an restricted implementation of quantum interactive proof system? My motivation for this question is that if we want to do the complexity analysis of the D-Wave architecture should we model it as QIP?&lt;/p&gt;&#xA;" OwnerUserId="13408" LastActivityDate="2013-05-18T17:49:43.040" Title="Is the D-Wave architecture a close implementation of quantum interactive proof?" Tags="&lt;complexity-classes&gt;&lt;quantum-computing&gt;&lt;quantum-information&gt;&lt;interactive-proofs&gt;&lt;ar.hardware-architecture&gt;" AnswerCount="1" CommentCount="8" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17680" PostTypeId="2" ParentId="17679" CreationDate="2013-05-18T17:44:21.160" Score="6" Body="&lt;p&gt;This question seems a little confused. The class of decision problems solvable efficiently on a quantum computer is BQP, while on a classical computer it is either P or BPP depending on exactly how you define things. An interactive proof is something entirely different. It is a protocol which allows a prover to prove, beyond reasonable doubt, the outcome of some decision problem, and allows the prover and verifier to interact. QIP is the class of interactive proofs where the &lt;strong&gt;verifier&lt;/strong&gt;, not the prover, has access to a quantum computer. It turns out that this doesn't help very much since you can prove exactly the same things to a fully classical verifier. I think what you have in mind is something different: an interactive proof where the prover is limited to quantum computation. This is something that has been studied in recent years (see for example &lt;a href=&quot;http://arxiv.org/abs/0807.4154&quot;&gt;arXiv:0807.4154&lt;/a&gt;, &lt;a href=&quot;http://arxiv.org/abs/0810.5375&quot;&gt;arXiv:0810.5375&lt;/a&gt; and &lt;a href=&quot;http://arxiv.org/abs/1209.0449&quot;&gt;arXiv:1209.0449&lt;/a&gt;). The extent of our current knowledge is that you can basically prove anything in BQP if you have either some limited quantum power for the verifier (the ability to prepare single qubit states, for example) or if you have several provers who do not communicate, but share entanglement.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The DWave machine does not implement anything like these schemes, and does not constitute any form of interactive proof. Actually, the problem of implementing such a scheme on DWave hardware has been something that has interested me for a while. There are a few hurdles to doing this. All of the known schemes are based in the circuit model or the closely related measurement based model, while the DWave machines use a very different model of computation. This introduces a few problems, as their system is not a general purpose quantum computer, and so cannot implement any of the known schemes directly. Further, it cannot really accept any kind of quantum input, which rules out many of the tricks used to construct the known schemes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, I don't mean this to be a criticism of DWaves device: virtually no other quantum device has been used to implement such a proof. The closest you get are things like violations of Bell's inequalities and the recent experimental demonstration of blind quantum computing in linear optic (&lt;a href=&quot;http://arxiv.org/abs/1110.1381&quot;&gt;arXiv:1110.1381&lt;/a&gt;). At this point, no one has yet published an experimental demonstration of a quantum prover interactive proof, so DWave isn't any better or worse in this respect than anyone else. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;By the way, I apologise for linking to two of my own papers in the above, but this is a question I have been very interested in in recent years, and I think those papers are relevant to the question at hand. It's not intended as self-publicity.&lt;/p&gt;&#xA;" OwnerUserId="204" LastEditorUserId="204" LastEditDate="2013-05-18T17:49:43.040" LastActivityDate="2013-05-18T17:49:43.040" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17681" PostTypeId="2" ParentId="16492" CreationDate="2013-05-18T21:05:58.193" Score="3" Body="&lt;p&gt;As pointed out by the OP (user13772), this is false.  Jukna et al. constructed explicit Boolean functions $f$ that require deterministic decision trees of size $2^{\Omega(\log^2 N)}$, where $N$ is the number of monomials in a minimal DNF for $f$ and $\lnot f$.  Note that every Boolean function on $n$ inputs can be expressed as a deterministic decision tree of size $2^{O(\log n \log^2 N)}$.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;S. Jukna, A. Razborov, P. Savický, I. Wegener, &lt;em&gt;On P versus NP$\cap$co-NP for decision trees and read-once branching programs&lt;/em&gt;, Computational Complexity &lt;strong&gt;8&lt;/strong&gt; (1999), 357–370.  doi:&lt;a href=&quot;http://dx.doi.org/10.1007/s000370050005&quot; rel=&quot;nofollow&quot;&gt;10.1007/s000370050005&lt;/a&gt;  (&lt;a href=&quot;http://lovelace.thi.informatik.uni-frankfurt.de/~jukna/ftp/dt.pdf&quot; rel=&quot;nofollow&quot;&gt;preprint&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="109" LastActivityDate="2013-05-18T21:05:58.193" CommentCount="0" CommunityOwnedDate="2013-05-18T21:05:58.193" ContentLicense="CC BY-SA 3.0" />
  <row Id="17684" PostTypeId="1" CreationDate="2013-05-19T08:10:39.063" Score="6" ViewCount="899" Body="&lt;p&gt;This can be a very weird question, but I haven't seen the same situation with mine in this forum, so I'd like to put this. Let me introudce my situation first.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm now a math student of master program in a university in Korea, and I was majored in economics and math as an undergrduate. As a freshman, though my first major was economics, I took a class of mathematical logic, and it was great to me. From that time, I decided to have double major in math and economics. And taking math courses like linear Algebra, Algebra, Analysis, Complex Analysis, Logic, Set theory, Statistics, Homological Algebra, Topology and so on.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But as time went on, I felt that the motivation of standard math courses are somewhat different from mine. Yes, mathematics has a culture of broad range, but, even if the core courses are very useful and beautiful, I think it has a slightly different motivation from mathematical logic. &quot;What can be a good course to take if I liked logic class?&quot; I asked to myself, and I decided to take &quot;Formal languages and automata theory&quot; in cs. It was fantastic. And at that time, I learnt there existes the area of theory of computation or theoretical computer science. But in Korea, culture of cs is more oriented in the way of engineering area, so I felt that it would be more helpful to train myself in math dep. than cs, so I chose to go to master program of math.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But now, in my university, there are more strong culture of concetrating on &quot;classical&quot; mathematical things, not computation or even combinatorics or logic. So, I realized that if I pursue this way, then I'll be just a &quot;pure&quot; mathematician. Considering interconnectedness of academia, it can be also a good way, but I don't like to do that. So I'd like to change a university to pursue tcs research.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, I've just taken two courses in cs - Formal languages and automata theory, and c programming. And I have no research experiences in cs. I'd like to self study my own to have sufficient information of tcs area for a while, but it's just an individual thing. And I'm so confused because I don't know what courses to take from now on, and what resonable amount of knowldeges are needed to start reasearch in tcs(especially the knowledge in cs). Briefly, what should I do to switch from math department to cs to research tcs topics?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Recently, I have some interest in computational complexity theory and start to study &quot;gems of theoretical computer science&quot; and it's very interesting. But that's only plan that I have. I wish my plan would be more concrete. Any help? Please?&lt;/p&gt;&#xA;" OwnerUserId="16096" LastActivityDate="2013-05-19T08:10:39.063" Title="What should I do to switch from math department to cs to research tcs topics?" Tags="&lt;soft-question&gt;&lt;advice-request&gt;&lt;career&gt;" AnswerCount="0" CommentCount="6" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="17686" PostTypeId="2" ParentId="17637" CreationDate="2013-05-19T09:53:39.020" Score="2" Body="&lt;p&gt;I'd say that the gap in the arithmetic settings tells us that matrix multiplication is inherently a much more parallel task than the determinant. In other words, while the sequential complexities of both problems are closely related, their parallel complexities are not that close from each other.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A relevant paper is &lt;a href=&quot;http://www.mathcs.emory.edu/~cs526000/share/0320/csanky-determinant.pdf&quot; rel=&quot;nofollow&quot;&gt;&lt;em&gt;Fast parallel matrix inversion algorithms&lt;/em&gt;&lt;/a&gt; by Csanky where he proves that the arithmetic complexity $D(n)$ of computing the determinant of an $n\times n$ matrix (that is the depth of an arithmetic circuit computing the determinant) satisfies&#xA;$$ O(\log n)\le D(n) \le O(\log^2 n).$$&#xA;To the best of my knowledge, these are still the best known bounds for this problem. This has to be compared with the trivial depth-$3$ arithmetic circuit computing a matrix multiplication, given by the formula $(A\cdot B)_{ij}=\sum_k A_{ik}B_{kj}$. &lt;/p&gt;&#xA;" OwnerUserId="976" LastActivityDate="2013-05-19T09:53:39.020" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="17689" PostTypeId="1" AcceptedAnswerId="17704" CreationDate="2013-05-19T15:14:16.587" Score="5" ViewCount="913" Body="&lt;p&gt;Suppose we have two directed acyclic graphs $A$ and $B$ and we look to find the subgraph that is common to both graphs and has the most number of vertices. That is to find the biggest graph which is a subgraph of both $A$ and $B$. The vertices are not labeled, but of course, the directions on edges do matter.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Noting that this solves the graph isomorphism, the problem is not known to be solvable in polynomial time. So I was looking for an approximation algorithm. Can you think of any?&lt;/p&gt;&#xA;" OwnerUserId="8921" LastEditorUserId="8921" LastEditDate="2013-05-21T16:52:19.643" LastActivityDate="2013-05-21T21:09:31.277" Title="Approximation algorithm for finding the maximum common subgraph in two DAGs" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;approximation-algorithms&gt;" AnswerCount="2" CommentCount="5" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17690" PostTypeId="2" ParentId="16278" CreationDate="2013-05-19T16:05:25.037" Score="3" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;Can I prove certain properties (that are guaranteed to hold) for a&#xA;  program (e.g., a subroutine is non-entrant and can never call itself)&#xA;  that allow to perform optimizations that are not usually possible.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;It is equivalent to extending the typechecker to provide some properties of a program to the optimizer. I believe Tsuyoshi Ito is right and you may be little misguided about Coq. It is great tool for providing a bug-less compiler, but in the case you describe, it does not provide more power to the static analyses.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The only thing I can think about strengthening static analyses with Coq, is to equip your language with assertions containing some user-written proofs. -- If the compiler itself would be translated into a language including a feather for dynamic typechecking, and if the user-written proofs would be convertible to functions, then it would be possible to apply those functions as prerequired properties for some subtypings or optimizations. -- This indeed, would provide more power to the compiler.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, as far I can see, it would be rather useful for strengthening subtyping. -- It is hard to make a programmer to know, what property in what place would be helpful for the optimizer.&lt;/p&gt;&#xA;" OwnerUserId="16075" LastActivityDate="2013-05-19T16:05:25.037" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17692" PostTypeId="2" ParentId="17668" CreationDate="2013-05-19T19:16:45.473" Score="4" Body="&lt;p&gt;The two books that come to mind are&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/113318779X&quot; rel=&quot;nofollow&quot;&gt;&lt;em&gt;Introduction to the Theory of Computation&lt;/em&gt;&lt;/a&gt; by Sipser&lt;/p&gt;&#xA;&#xA;&lt;p&gt;and&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0262033844&quot; rel=&quot;nofollow&quot;&gt;&lt;em&gt;Introduction to Algorithms&lt;/em&gt;&lt;/a&gt; by Cormen et al.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I agree with usul who said that theoretical computer science is a broad area and we could give better references if you were more specific about what you want to learn.&lt;/p&gt;&#xA;" OwnerUserId="6218" LastActivityDate="2013-05-19T19:16:45.473" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="17693" PostTypeId="1" CreationDate="2013-05-20T02:11:44.493" Score="1" ViewCount="1425" Body="&lt;p&gt;Jain, Murty, and Flynn&#xA;state in their article &lt;a href=&quot;http://www.cs.rutgers.edu/~mlittman/courses/lightai03/jain99data.pdf&quot; rel=&quot;nofollow&quot;&gt;Data Clustering: A Review&lt;/a&gt;&#xA;all squared error based clustering methods like K-means &#xA;tend to generate hyperspherical clusters. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, they do not give a theoretical justification for this.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Is a theoretical justification for this observation?&lt;/li&gt;&#xA;&lt;li&gt;Can we change the K-means algorithm to generate rectangular clusters?&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="13369" LastEditorUserId="186" LastEditDate="2013-12-27T02:01:45.967" LastActivityDate="2014-02-25T06:34:59.150" Title="Hyperspherical nature of K-means and similar clustering methods" Tags="&lt;machine-learning&gt;&lt;clustering&gt;" AnswerCount="2" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="17695" PostTypeId="1" CreationDate="2013-05-20T06:34:29.420" Score="2" ViewCount="1593" Body="&lt;p&gt;Informally, we define &lt;em&gt;minimum shortest path cover&lt;/em&gt; to be the smallest number of shortest paths that cover all vertices of a graph. In other words, every vertex should belong to at least one of those shortest paths (there is no problem if one vertex belongs to more than one paths). Formally, we define the problem as follows. Assume the directed graph $G=(V,E)$ with vertices $V=\{v_1, ..., v_n\}$, with non-negative edge weights $w(v_i,v_j) \ge 0$. We have following definitions respectively: &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;weight of a path: if $P=u_1, ...,u_{|P|}$ then $w(P) = \sum w(u_i,u_{i+1})$&lt;/li&gt;&#xA;&lt;li&gt;set of all path covers of $G$: $PC(G)=\{\{P_1, ..., P_k\} |\forall i \exists j: v_i \in P_j\}$.&lt;/li&gt;&#xA;&lt;li&gt;Size of a path cover: if $PC=\{P_1, ..., P_k\}$ then $Size(PC)= k$&lt;/li&gt;&#xA;&lt;li&gt;set of all paths of $G$ starting from $v$ and ending in $u$: $P(G, v, u)=\{v, v_{i_1},...,v_{i_l}, u | \forall j: v_{i_j}, u, v \in V, (v_{i_j},v_{i_{j+1}}), (v,v_{i_1}), (v_{i_{|P|}},u)\in E\}$&lt;/li&gt;&#xA;&lt;li&gt;set of all shortest paths of $G$ by $SP(G) = \{P =&#xA;   v_{i_1}, ..., v_{i_{|P|}} | \forall Q \in P(G,v_{i_1},v_{i_{|P|}}), w(P) \le w(Q)\}$.&lt;/li&gt;&#xA;&lt;li&gt;Set of shortest path covers of $G$: $SPC(G)=\{PC=\{P_1, ..., P_k\} | PC \in PC(G), \forall i: P_i \in SP(G)\}$&lt;/li&gt;&#xA;&lt;li&gt;Minimum shortest path cover of G: if $PC \in SPC(G)$ and $\forall Q \in SPC(G): Size(P) \le Size(Q)$ then $MSPC(G) = PC$&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;To give a concrete example, suppose graph $G=(V,E)$, with vertices $ V=\{1,2,3,4\}$, and edges $E=\{1\rightarrow 2,1\rightarrow 5, 2\rightarrow 3,4\rightarrow 5\}$. It is clear that $G$ could be covered by two paths. The minimal set would be $MSPC(G)=\{1\rightarrow 2 \rightarrow 3,\ 4\rightarrow 5 \}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now we informally construct the graph $G$ as follows. Its set of vertices ${v_1, v_2, ..., v_n}$ are points in $R^m$. Then we put the $k$ nearest vertices to $v_i$ (euclidean distance) in its adjacency list $Adj(n_i)$. Noting that $n_i \in Adj(n_j)$ does not imply $n_j \in Adj(n_i)$, the formed graph is directed and not necessarily symmetric. We can hold $k$ to be constant or $k \ll n$, in a way that the graph would become sparse.More formally we have following definitions:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;vertices: $V={v_1, v_2, ..., v_n}, \forall i: v_i \in R^m$ &lt;/li&gt;&#xA;&lt;li&gt;distances: $d(u,v)$ denotes &lt;em&gt;euclidean distance&lt;/em&gt; between $d(u,v)=||u-v||_2$ &lt;/li&gt;&#xA;&lt;li&gt;k-nearest neighbours: $N_k(u)=\{u_1, ..., u_k\}$ in that $\forall u_1 \in N_k(u), u_2 \notin N_k(u)$ implies $d(u,u_1) \le d(u,u_2)$.&lt;/li&gt;&#xA;&lt;li&gt;edges: $E=\{(u,v) | u,v \in V, v \in N_k(u)\}$. Alternatively, $Adj(u)=N_k(u)$.&lt;/li&gt;&#xA;&lt;li&gt;weights: if $(u,v) \in E$ then $w(u,v) = d(u,v)$.&lt;/li&gt;&#xA;&lt;li&gt;Graph: $G=(V,E)$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;UPDATE&lt;/strong&gt;: Some additional notes: &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Shortest paths are unique.&lt;/li&gt;&#xA;&lt;li&gt;k is chosen large enough to keep $G$ connected&lt;/li&gt;&#xA;&lt;li&gt;A special case of interest is when nodes are dense $n \rightarrow \infty$ in a limited space (say unit hypercube $(0,1)^m$), and they follow a specific distribution (namely uniform). &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Using the above definitions, the question is what is the asymptotic value of $Size(MSPC(G))$ or $E\{Size(MSPC(G))\}$ in the case of stochastic points? My intuition is that it is of the form $O(n^\frac{m-1}{m})$, which comes from the number of necessary paths to cover a $m$-dimensional regular grid in $R^m$. Suppose we have $l^m$ vertices $(a_1, ..., a_m), a_i \in \{1, ..., l\}$. You could cover this grid by $l^{m-1}$ paths like this: $Path-Cover = \{\{(1, P), (2, P), ..., (l, P)\}| P \in \{1,...,l\}^{m-1}\}$. Substituting $l^m$ by $n$ the $O(n^\frac{m-1}{m})$ bound could be achieved.&lt;/p&gt;&#xA;" OwnerUserId="14187" LastEditorUserId="14187" LastEditDate="2013-05-20T16:49:30.063" LastActivityDate="2013-05-20T16:49:30.063" Title="Minimum shortest path cover of $n$ vertices in $R^m$" Tags="&lt;graph-theory&gt;&lt;cg.comp-geom&gt;" AnswerCount="1" CommentCount="7" CommunityOwnedDate="2013-05-20T15:25:23.587" ContentLicense="CC BY-SA 3.0" />
  <row Id="17697" PostTypeId="1" CreationDate="2013-05-20T06:54:28.120" Score="4" ViewCount="149" Body="&lt;p&gt;Consider the following random process which is defined on $n$ numbers $0\leq x_1,\ldots,x_n\leq 1$:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;At each step, pick an arbitrary number, say $x_i$. Then randomly (and independently) change its value to $x'_i$ such that $0\leq x'_i \leq 1$ and $E[x'_i]=x_i$. We stop the process when all the numbers are either $0$ or $1$.&lt;/em&gt; &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given that the process is stopped, it is easy to verify that Chernoff bounds hold in the following sense: Let the outcome of the process be the binary numbers $y_1,\ldots,y_n$. For any subset $S$ of indices define $\mu_S=\sum_{i\in S} x_i$, then we have&#xA;\begin{align*}&#xA;\Pr\left\{\biggm|\mu_S - \sum_{i\in S} y_i\biggm| &amp;gt;\epsilon \cdot \mu_S \right\} \leq 2e^{-\epsilon^2 \mu_S /3}.&#xA;\end{align*}&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I need to find a similar bound for a slightly more complicated process:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;At each step, pick a subset of numbers of size at most $d$, say $\{x_{i_1},\ldots,x_{i_d}\}$, and change their values to $\{x'_{i_1},\ldots,x'_{i_d}\}$ by either increasing all of these numbers or decreasing all of them. This is done in such a way that $0\leq x'_{i_j}\leq 1$ and $E[x'_{i_j}]=x_{i_j}$&lt;/em&gt; for all $j$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can we get a similar result for this process too? For instance, is it possible to replace the right-hand side of the above bound with $2e^{-\epsilon^2 \mu/O(d)}$? Thank you very much.&lt;/p&gt;&#xA;" OwnerUserId="14123" LastActivityDate="2013-05-20T06:54:28.120" Title="Concentration Bounds for Dependent Rounding" Tags="&lt;pr.probability&gt;&lt;randomized-algorithms&gt;&lt;derandomization&gt;&lt;chernoff-bound&gt;&lt;iterated-rounding&gt;" AnswerCount="0" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17698" PostTypeId="1" CreationDate="2013-05-20T09:19:26.097" Score="4" ViewCount="149" Body="&lt;p&gt;Let $G$ be a graph, and let $C_{E,0}$ be the number of those vertex covers of $G$ satisfying both the following properties:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Their corresponding vertex induced subgraph has an even number of edges.&lt;/li&gt;&#xA;&lt;li&gt;Their corresponding vertex induced subgraph has no isolated vertices.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Questions&lt;/strong&gt;  &lt;/p&gt;&#xA;  &#xA;  &lt;ol&gt;&#xA;  &lt;li&gt;Did anyone already study the problem of computing $C_{E,0}$? What is known about it?&lt;/li&gt;&#xA;  &lt;li&gt;More importantly, which is the computational complexity of computing $C_{E,0}\ mod\ 2$?&lt;/li&gt;&#xA;  &lt;/ol&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="947" LastEditorUserId="947" LastEditDate="2013-05-20T12:24:37.783" LastActivityDate="2013-05-20T12:24:37.783" Title="Vertex Covers whose vertex induced subgraph has an even number of edges and no isolated vertices" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;&lt;counting-complexity&gt;" AnswerCount="0" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17701" PostTypeId="1" CreationDate="2013-05-20T14:26:21.740" Score="6" ViewCount="441" Body="&lt;p&gt;I know of the &lt;a href=&quot;http://en.wikipedia.org/wiki/Chomsky_hierarchy&quot; rel=&quot;nofollow&quot;&gt;Chomsky hierarchy&lt;/a&gt;, which concerns the expressive power of grammars to recognize languages $L \subseteq \Sigma^*$ made of words on an alphabet $\Sigma$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a similar hierarchy for grammars/parsers which are specifically taylored for &lt;a href=&quot;http://en.wikipedia.org/wiki/Nested_word&quot; rel=&quot;nofollow&quot;&gt;nested words&lt;/a&gt; or trees?  In particular, this hierarchy should include &lt;a href=&quot;http://en.wikipedia.org/wiki/Tree_automaton&quot; rel=&quot;nofollow&quot;&gt;tree automata&lt;/a&gt;, perhaps &lt;a href=&quot;http://hal.inria.fr/docs/00/31/58/53/PDF/0.pdf&quot; rel=&quot;nofollow&quot;&gt;streaming tree automata&lt;/a&gt;, the algorithms used to apply CSS rules...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As I am planning to implement parsers for one/some of the steps in the hierarchy, I am very interested also in the algorithmic complexity of parsers for those grammars.  I might use this as a basis for a CSS-like functionality in LaTeX.&lt;/p&gt;&#xA;" OwnerUserId="8402" LastEditorUserId="186" LastEditDate="2013-05-31T04:24:16.187" LastActivityDate="2013-05-31T04:24:16.187" Title="Chomsky hierarchy for tree structures" Tags="&lt;fl.formal-languages&gt;&lt;automata-theory&gt;&lt;tree&gt;&lt;grammars&gt;&lt;regular-expressions&gt;" AnswerCount="3" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17702" PostTypeId="1" AcceptedAnswerId="17751" CreationDate="2013-05-20T14:33:24.380" Score="25" ViewCount="1921" Body="&lt;p&gt;From what I understand (which is very little, so please correct me where I err!), theory of programming languages is often concerned with &quot;intuitionistic&quot; proofs. In my own interpretation, the approach requires us to take seriously the consequences of &lt;em&gt;computation&lt;/em&gt; on logic and provability. A proof cannot exist unless there exists an &lt;em&gt;algorithm&lt;/em&gt; constructing the consequences from the hypotheses. We might reject as an axiom the principle of the excluded middle, for instance, because it exhibits some object, which is either $X$ or $\lnot X$, nonconstructively.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The above philosophy might lead us to prefer intuitionistically valid proofs over ones that are not. However, I have not seen any concern about actually using intuitionistic logic in papers in other areas of theoretical CS. We seem happy to prove our results using classical logic. For example, one might imagine using the principle of the excluded middle to prove that an algorithm is correct. In other words, we care about and take seriously a computationally-limited universe in our results, but not necessarily in our proofs of these results.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;1. Are researchers in theoretical CS ever concerned about writing intuitionistically valid proofs?&lt;/strong&gt; I could easily imagine a subfield of theoretical computer science that seeks to understand when TCS results, especially algorithmic ones, hold in intuitionistic logic (or more interestingly, when they don't). But I have not yet come across any.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;2. Is there any philosophical argument that they should?&lt;/strong&gt; It seems like one could claim that computer science results ought to be proven intuitionistically when possible, and we ought to know which results require &lt;em&gt;e.g.&lt;/em&gt; PEM. Has anyone tried to make such an argument? Or perhaps there is a consensus that this question is just not very important?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;3.&lt;/strong&gt; As a side question, I am curious to know examples of cases where this actually matters: &lt;strong&gt;Are there important TCS results known to hold in classical logic but not in intuitionistic logic?&lt;/strong&gt; Or suspected not to hold in intuitionistic logic. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Apologies for the softness of the question! It may require rewording or reinterpretation after hearing from the experts.&lt;/p&gt;&#xA;" OwnerUserId="8243" LastEditorUserId="186" LastEditDate="2013-05-21T01:45:13.140" LastActivityDate="2013-05-23T00:43:19.393" Title="When does (or should) Theoretical CS care about intuitionistic proofs?" Tags="&lt;lo.logic&gt;&lt;soft-question&gt;&lt;pl.programming-languages&gt;&lt;constructive-mathematics&gt;" AnswerCount="4" CommentCount="8" FavoriteCount="10" ContentLicense="CC BY-SA 3.0" />
  <row Id="17703" PostTypeId="1" AcceptedAnswerId="32276" CreationDate="2013-05-20T14:41:53.473" Score="7" ViewCount="4467" Body="&lt;p&gt;I had this impression that quantum annealing is an optimization technique which may or may not produce exact solutions. On the other hand adiabatic quantum computation always gives exact solutions when it gives a solution. But this &lt;a href=&quot;http://dwave.files.wordpress.com/2007/08/20070810_d-wave_quantum_annealing.pdf&quot; rel=&quot;noreferrer&quot;&gt;D-Wave report&lt;/a&gt; says as follows:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;D-Wave processors compute by piggybacking on quantum annealing. A&#xA;  quantum annealing processor can be operated as a universal quantum&#xA;  computer. In this regime of operation, the computational model is&#xA;  referred to as adiabatic quantum computation (AQC), which can be&#xA;  thought of as the long-time limit of quantum annealing.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Should I think that adiabatic quantum computation is an application of quantum annealing?&lt;/p&gt;&#xA;" OwnerUserId="13408" LastActivityDate="2015-08-14T10:40:52.193" Title="Quantum annealing vs adiabatic quantum computation" Tags="&lt;quantum-computing&gt;&lt;optimization&gt;&lt;quantum-information&gt;&lt;physics&gt;&lt;statistical-physics&gt;" AnswerCount="1" CommentCount="11" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="17704" PostTypeId="2" ParentId="17689" CreationDate="2013-05-20T15:21:29.983" Score="12" Body="&lt;p&gt;Isn't there a straightforward approximation-preserving reduction from maximum independent set (MIS) in undirected graphs to your problem? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given undirected graph G=(V,E), form DAG A=(V,E') by ordering the vertices arbitrarily and directing the edges accordingly, then take B=(V,{}) to be the DAG with the same vertices but no edges.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any subgraph common to A and B corresponds to an independent set in G, and vice versa, no? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If this reduction is correct, then your problem is as hard to approximate as MIS; which is to say, forget about it. :-)&lt;/p&gt;&#xA;" OwnerUserId="8237" LastActivityDate="2013-05-20T15:21:29.983" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17705" PostTypeId="1" CreationDate="2013-05-20T15:56:55.030" Score="2" ViewCount="109" Body="&lt;p&gt;If we know some lower bound of the solution of a problem in centralized setting, what can we say about the lower bound in a distributed setting?&lt;/p&gt;&#xA;" OwnerUserId="16106" LastActivityDate="2013-05-20T18:07:16.110" Title="bounds in centralized and distributed" Tags="&lt;ds.algorithms&gt;&lt;dc.distributed-comp&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17706" PostTypeId="2" ParentId="17695" CreationDate="2013-05-20T15:57:18.183" Score="5" Body="&lt;p&gt;Without further assumptions about the point set, the answer can be anywhere between $1$ and $n/(k+1)$.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Lower bound:&lt;/strong&gt; Consider the 1-dimensional point set in which $v_i = 2^i$.  For every  index $i &amp;gt; 1$, the nearest neighbor of $v_i$ is $v_{i-1}$.  So the directed $1$-nearest-neighbor graph can be covered by a single shortest path $v_n \to v_{n-1} \to\cdots \to v_1$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Upper bound:&lt;/strong&gt;  Consider the 1-dimensional point set where&#xA;$$v_i = n^2 \lfloor i/(k+1) \rfloor + (i\bmod (k+1)).$$  This point set consists of $n/(k+1)$ tight clusters of $k+1$ points, with large gaps between the clusters.  The $k$ nearest neighbors of any point $v_i$ are in the same cluster as $v_i$.  Thus, the $k$-nearest-neighbor graph has $n/(k+1)$ components.  It follows that we need at least  $n/(k+1)$ shortest paths to cover the graph.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="111" LastEditorUserId="111" LastEditDate="2013-05-20T16:43:26.843" LastActivityDate="2013-05-20T16:43:26.843" CommentCount="1" CommunityOwnedDate="2013-05-20T15:57:18.183" ContentLicense="CC BY-SA 3.0" />
  <row Id="17707" PostTypeId="2" ParentId="17701" CreationDate="2013-05-20T17:00:57.910" Score="3" Body="&lt;p&gt;For tree automata, you have the Mostowski hierarchy, which is about the complexity of acceptance condition: each level is of the form $(i,j)$ with $i\in\{0,1\}$ and $i\leq j$. Being at level $(i,j)$ means that there is a parity automaton using parities from $i$ to $j$ recognizing the language. For more on parity condition, see here: &lt;a href=&quot;https://en.wikipedia.org/wiki/%CE%A9-automaton&quot; rel=&quot;nofollow&quot;&gt;https://en.wikipedia.org/wiki/%CE%A9-automaton&lt;/a&gt;. This hierarchy exists in 3 versions: deterministic, nondeterministic, or alternating, depending on the model of automaton you are looking at (although the deterministic hierarchy does not cover all regular languages).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is an other hierarchy called Wadge hierarchy, with a more topological flavour, but it is getting further from complexity of acceptors: &lt;a href=&quot;http://en.wikipedia.org/wiki/Wadge_hierarchy&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/Wadge_hierarchy&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="8953" LastActivityDate="2013-05-20T17:00:57.910" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="17708" PostTypeId="1" AcceptedAnswerId="17710" CreationDate="2013-05-20T17:05:28.263" Score="4" ViewCount="181" Body="&lt;p&gt;What are known lower bounds for the time and query complexity of the problem of learning parities with an adaptive membership query oracle? To be clear the concept space $C$ is $\{x\in \{0,1\}^n \, \, | \, \,\sum_{i=1}^n x_i = k \}$, and the hypothesis space $\mathcal H$ is $\{0,1\}^n$. Given a bitstring of length $n$ as input, the adaptive membership query oracle returns 1 if the parity of the $k$ effective bits is odd and 0 otherwise.   &lt;/p&gt;&#xA;" OwnerUserId="12162" LastEditorUserId="12162" LastEditDate="2015-01-23T06:02:43.370" LastActivityDate="2015-01-23T06:02:43.370" Title="Lower Bound for the Parity Learning Problem" Tags="&lt;lg.learning&gt;&lt;boolean-functions&gt;" AnswerCount="1" CommentCount="7" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17709" PostTypeId="2" ParentId="17705" CreationDate="2013-05-20T18:07:16.110" Score="5" Body="&lt;p&gt;I'm not aware of a general rule to convert centralized bounds to the distributed setting. In the distributed setting, local computation is given for free but the difficulty lies in &lt;em&gt;breaking the symmetry&lt;/em&gt; - a node needs to accumulate enough information about it's neighborhood to make a decision about being part of the output set, e.g. being in the MIS. (Taking this a step further, we can think of an $r$-round algorithm as a function mapping $r$-neighborhoods to a yes/no decision.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, for certain $n$-node graphs with max degree $\Delta$ there is an $\Omega(\sqrt{\log n}+\log \Delta)$ lower bound [2] known on the number of distributed rounds, that holds for (the distributed version of) computing a constant approximation of a minimum vertex cover or of a minimum dominating set. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;While the above problems are known to be NP-complete, the same lower bound also holds for problems for which there are polynomial time centralized algorithms like computing a maximal independent set or finding a maximal matching. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For most of these problems the lower bound is almost tight; there are distributed algorithms that run in polylogarithmic rounds (see [2] and references therein).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, some NP complete problems even allow constant time solutions in the distributed setting! In [1] there's an $O(1)$ round distributed algorithm for $O(n^{1/2+\varepsilon} \chi)$-coloring, which itself is NP complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] Leonid Barenboim. On the Locality of Some NP-Complete Problems&#xA;&lt;a href=&quot;http://arxiv.org/abs/1204.6675&quot;&gt;http://arxiv.org/abs/1204.6675&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] Fabian Kuhn, Thomas Moscibroda, Roger Wattenhofer. Local Computation: Lower and Upper Bounds.&#xA;&lt;a href=&quot;http://arxiv.org/pdf/1204.6675v1.pdf&quot;&gt;http://arxiv.org/pdf/1204.6675v1.pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="6785" LastActivityDate="2013-05-20T18:07:16.110" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17710" PostTypeId="2" ParentId="17708" CreationDate="2013-05-20T20:19:05.360" Score="7" Body="&lt;p&gt;The question is about recovering with membership queries for which it is well known that O( k log n) queries suffice (via BCH codes see Hoffmeister's paper or my COLT 2005 paper). In terms of lower bounds \Omega(k log n) trivially follows from counting the number of parities and using the fact that they are all completely uncorrelated (basic packing-based lower bound).&lt;/p&gt;&#xA;" OwnerUserId="968" LastActivityDate="2013-05-20T20:19:05.360" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17711" PostTypeId="2" ParentId="17701" CreationDate="2013-05-20T21:02:14.627" Score="1" Body="&lt;p&gt;The Mostowski hierarchy is about parity automata, thus infinite trees. I believe, it is beyond the question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Best work I can think of about automata on finite trees is TATA &lt;a href=&quot;http://tata.gforge.inria.fr/&quot; rel=&quot;nofollow&quot;&gt;http://tata.gforge.inria.fr/&lt;/a&gt; . But it is mostly about finite state ones, and rather concerned about using them as a framework for satisfiability problems.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Few years ago, during my studies, I also developed some construction to describe more proper ASTs for order-independent constructions in programming languages. However, it may be also used for parsing some partially flat, partially structured input. That particularly is trees or some mixes of trees with words. With this, you can probably use most of common algorithms for parsing words, with some minimal modifications. Still, I do not know, what complexity you will get. -- Here is the link. However, it is bad like the hell (I couldn't write properly), so I do not know, will it be helpful. &lt;a href=&quot;http://tele-fan.pl/strings_and_cfgs_with_sets.pdf&quot; rel=&quot;nofollow&quot;&gt;http://tele-fan.pl/strings_and_cfgs_with_sets.pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="16075" LastActivityDate="2013-05-20T21:02:14.627" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17712" PostTypeId="2" ParentId="17702" CreationDate="2013-05-20T23:00:56.530" Score="3" Body="&lt;p&gt;Real-world cryptographic hash functions like MD5 &amp;amp; SHA are keyless. As such, it makes it quite difficult to apply techniques from theoretical cryptography to reason about their security. The simple reason why: for any keyless hash function, there exists a very small program/adversary which outputs a collision under that hash function; namely, a program that has such a collision -- which must exist! -- hard-coded.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Phil Rogaway's paper &lt;a href=&quot;http://www.cs.ucdavis.edu/~rogaway/papers/ignorance.pdf&quot; rel=&quot;nofollow&quot;&gt;Formalizing Human Ignorance: Collision-Resistant Hashing without the Keys&lt;/a&gt; deals with this problem. In it he shows that some very standard theorems for keyed hash functions (like the Merkle-Damg&amp;aring;rd construction &amp;amp; hash-then-sign paradigm) can be adapted and re-proven with  &quot;intuitionist-friendly&quot; theorem statements applying to unkeyed hash functions.&lt;/p&gt;&#xA;" OwnerUserId="149" LastEditorUserId="149" LastEditDate="2013-05-21T16:01:07.507" LastActivityDate="2013-05-21T16:01:07.507" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17713" PostTypeId="1" AcceptedAnswerId="17748" CreationDate="2013-05-21T03:59:39.253" Score="19" ViewCount="920" Body="&lt;p&gt;I am interested in the following problem: given integer matrices $A_1,A_2, \ldots, A_k$ decide if every infinite product of these matrices eventually equals the zero matrix.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This means exactly what you think it does: we will say the set of matrices $\{A_1, \ldots, A_k\}$ has the property that all of its products eventually equal zero if there does &lt;em&gt;not&lt;/em&gt; exist an infinite sequence $i_1, i_2, i_3\ldots$, all in $\{1, \ldots, k\}$, such that $$ A_{i_1} A_{i_2} \cdots A_{i_l} \neq 0$$ for all $l$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Has the problem of deciding whether every product eventually equals zero been studied before? Is it decidable? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Seems like it might be related to matrix mortality, which is undecidable, but I do not see a clear connection. &lt;/p&gt;&#xA;" OwnerUserId="5773" LastActivityDate="2013-06-18T19:28:23.787" Title="Checking if all products of a set of matrices eventually equal zero" Tags="&lt;linear-algebra&gt;&lt;decidability&gt;" AnswerCount="4" CommentCount="8" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="17714" PostTypeId="1" CreationDate="2013-05-21T04:34:16.890" Score="3" ViewCount="319" Body="&lt;p&gt;In Williamson and Shmoys' textbook &lt;em&gt;&lt;a href=&quot;http://www.designofapproxalgs.com/&quot; rel=&quot;nofollow&quot;&gt;The Design of Approximation Algorithms&lt;/a&gt;&lt;/em&gt; they make the following assumption: &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;We assume that there is some objective function mapping each possible solution of an optimization problem to some &lt;strong&gt;&lt;em&gt;nonnegative value&lt;/em&gt;&lt;/strong&gt;...&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/3540653678&quot; rel=&quot;nofollow&quot;&gt;Vazirani&lt;/a&gt; makes the same assumption:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Each valid instance...comes with a nonempty set of feasible solutions, each of which is assigned a &lt;strong&gt;&lt;em&gt;nonnegative rational number&lt;/em&gt;&lt;/strong&gt; called its objective function value.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;What if my objective function can take negative values? Is there a standard way to deal with this? What if it is known that $-1$ is a lower bound?&lt;/p&gt;&#xA;" OwnerUserId="13056" LastActivityDate="2013-05-21T04:34:16.890" Title="Approximation factor when objective can be negative" Tags="&lt;approximation-algorithms&gt;" AnswerCount="0" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="17716" PostTypeId="2" ParentId="17676" CreationDate="2013-05-21T05:53:12.063" Score="12" Body="&lt;p&gt;1) Depending on exactly what was meant, the conclusion in Kaveh's observation can be strengthened from $\mathsf{NP} \subseteq \mathsf{P/poly}$ to $\mathsf{P} = \mathsf{NP}$, essentially using Mahaney's Theorem. That is, if there is an algorithm which solves SAT and runs in time $\leq p(n)$ on all instances of length $n$ except for possibly $q(n)$ such instances, where $p$ and $q$ are both polynomials, then in fact $\mathsf{P} = \mathsf{NP}$. See, e.g. &lt;a href=&quot;http://www.dcs.warwick.ac.uk/~msp/papers/MIT-LCS-TM-126.pdf&quot;&gt;Meyer and Paterson&lt;/a&gt; and references therein, or &lt;a href=&quot;http://www.ams.org/mathscinet-getitem?mr=827009&quot;&gt;Schoning's monograph &quot;Complexity and Structure&quot;&lt;/a&gt;. So if this captures your notion of &quot;hard instances&quot; then there must be more than $poly(n)$ many hard instances for each $n$, assuming $\mathsf{P} \neq \mathsf{NP}$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;FYI, such algorithms are sometimes referred to as &quot;apt&quot; or &quot;APT&quot; algorithms, for &quot;almost polynomial time&quot; (not to be confused with the more modern complexity class $\mathsf{almostP}$, which happens to equal $\mathsf{BPP}$). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) The above can be strengthened even further, as follows. Assume $\mathsf{P} \neq \mathsf{NP}$. Then the above says that for any algorithm solving SAT and any polynomial $p$, there is a set of instances of super-polynomial size on which the algorithm takes more than $p(n)$ time. But the set can depend on the algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The stronger result switches the quantifiers, and concludes: there is a super-polynomial size set H (for &quot;hard&quot;) such that for any algorithm A solving SAT and any polynomial p, A takes more than $p(n)$ time on all but finitely many elements of H. Such an H is called a &lt;strong&gt;complexity core&lt;/strong&gt; (the size assumption is not part of the definition of complexity core). The definition and existence of complexity cores was given by &lt;a href=&quot;http://dx.doi.org/10.1145/321892.321895&quot;&gt;Lynch&lt;/a&gt;. The result I just quoted is proved by &lt;a href=&quot;http://dx.doi.org/10.1016/S0019-9958(86)80024-9&quot;&gt;Orponen and Schoning&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2013-05-21T05:53:12.063" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17718" PostTypeId="1" CreationDate="2013-05-21T12:46:31.573" Score="8" ViewCount="180" Body="&lt;p&gt;I'm working with computable probability distributions over all finite strings. These are usually formalized as the space of all semicomputable semimeasures. Informally: a probability distribution is semicomputable if the probability it assigns to a given string can be computed to arbitratry precision from above or below by a Turing machine. If it can be computed from above and below, it's computable. (formal description &lt;a href=&quot;http://en.wikipedia.org/wiki/Semicomputable_function&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, I prefer to think of the space of distributions that can be sampled by a &lt;a href=&quot;http://en.wikipedia.org/wiki/Probabilistic_Turing_Machine&quot; rel=&quot;nofollow&quot;&gt;probabilistic Turing machine&lt;/a&gt; (PTM). That is the distributions $p$ for which a PTM with no input outputs the string $x$ with probability $p(x)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have a (rough) proof that &lt;s&gt;the two classes of distributions&lt;/s&gt; the class of lower semicomputable semimeasures and the class of semimeasures samplable by PTM are equivalent: every lower semicomputable semimeasure can be sampled by a PTM and vice versa. However, this seems like the sort of thing that has been worked out ages ago, and is well known to everybody. Can anybody help me with a reference that asserts and proves this equivalence?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;edited after @domothorp's comments&lt;/strong&gt;&lt;/p&gt;&#xA;" OwnerUserId="7892" LastEditorUserId="7892" LastEditDate="2013-05-30T09:57:34.590" LastActivityDate="2013-05-30T09:57:34.590" Title="Looking for a reference: equivalence of (semi)computable (semi)measures and PTMs" Tags="&lt;pr.probability&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17719" PostTypeId="2" ParentId="17702" CreationDate="2013-05-21T14:11:22.673" Score="7" Body="&lt;p&gt;It is is worth thinking about WHY intuistionistic logic is the natural logic for computation, since all too often people get lost in the technical details and fail to grasp the essence of the issue.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Very simply, classical logic is a logic of perfect information: all statements within the system are assumed to be known or knowable as unambiguously true or false.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Intuistionistic logic, on the other hand, has room for statements with unknown and unknowable truth values.  This is essential for computation, since, thanks to the undecidability of termination in the general case, it will not always be certain what the truth value of some statements will be, or even whether or not a truth value can ever be assigned to certain statements.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Beyond this, it turns out that even in strongly normalizing environments, where termination is always guaranteed, classical logic is still problematic, since double negation elimination $\neg\neg P \implies P$ ultimately boils down to being able to pull a value &quot;out of thin air&quot; rather than directly computing it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In my opinion, these &quot;semantic&quot; reasons are a much more important motivation for the use of  intuistionistic logic for computation than any other technical reasons one could marshal. &lt;/p&gt;&#xA;" OwnerUserId="629" LastActivityDate="2013-05-21T14:11:22.673" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17721" PostTypeId="5" CreationDate="2013-05-21T15:42:32.640" Score="0" Body="&lt;h1&gt;Lambda Calculus&lt;/h1&gt;&#xA;&#xA;&lt;p&gt;Its dynamics is a rewriting system representing computation by mean of the beta-reduction, that substitutes each occurrence of the variable with the argument term. From this operational point of view, it represents the ideal formal model of a functional programming language and it can be enriched with constant values and datatypes. Such a typed restriction constitutes the bridge across logic's proof-theory and computer science's theory of computability known as the Curry-Howard correspondence: a term is a proof of its type formula.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Bibliography&lt;/h2&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Henk Barendregt, &lt;em&gt;Lambda Calculus. Its Syntax and Semantics&lt;/em&gt;, 1981.&#xA;The monograph of the subject.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="7931" LastEditorUserId="7931" LastEditDate="2014-05-07T22:54:48.313" LastActivityDate="2014-05-07T22:54:48.313" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17722" PostTypeId="4" CreationDate="2013-05-21T15:42:32.640" Score="0" Body="Church's formal system used in computatability, programming languages and proof theory to represent effective functions, programs and their computation,  and proofs." OwnerUserId="7931" LastEditorUserId="20716" LastEditDate="2018-06-01T12:36:01.023" LastActivityDate="2018-06-01T12:36:01.023" CommentCount="0" ContentLicense="CC BY-SA 4.0" />
  <row Id="17723" PostTypeId="1" AcceptedAnswerId="17731" CreationDate="2013-05-21T16:16:39.213" Score="3" ViewCount="1383" Body="&lt;p&gt;Can one maximize $\sum_i c_i x_i^2$ where the $c_i$ are constants (possibly negative), subject to linear constraints over the $x_i$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://link.springer.com/article/10.1007/BF00120662&quot; rel=&quot;nofollow&quot;&gt;This paper&lt;/a&gt; seems to come close to answering &quot;no.&quot;  They show it is NP-hard for target functions $x_1 - x^2_2$.  However they have $x_1$ which is not squared, and from the two pages I can access online I can't understand if that's critical or not.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Bonus question: Is there a free software that can be tried to solve these problems (possibly heuristically)?&lt;/p&gt;&#xA;" OwnerUserId="259" LastActivityDate="2013-05-22T01:21:39.107" Title="Maximize quadratic function subject to linear constraints" Tags="&lt;optimization&gt;&lt;quadratic&gt;" AnswerCount="3" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="17724" PostTypeId="1" CreationDate="2013-05-21T17:50:23.223" Score="8" ViewCount="713" Body="&lt;p&gt;While discussing the question I had asked &lt;a href=&quot;https://cstheory.stackexchange.com/questions/17412&quot;&gt;here&lt;/a&gt;, @NealYoung and I encounter another problem, which is to judge complexity of the problem below:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Given a connected undirected graph, finding a maximum-size subset of&#xA;  the edges such that every vertex has degree at most two.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I have found some paper on complexity of relative problems. Most of them added more constraint on the original one. &lt;a href=&quot;http://fileadmin.cs.lth.se/cs/Personal/Andrzej_Lingas/f-o.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;FOS03&lt;/a&gt; added &quot;with no odd cycles&quot; and proved that it is NP-hard. &lt;a href=&quot;http://rnc.r.dendai.ac.jp/~chen/papers/max2edge4.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;CTW07&lt;/a&gt; implied that the variant added &quot;with no 3-cycle&quot; is P referring to another paper (which I failed to find). But I have been unable to judge complexity of the original problem. So how to judge it? Thanks.&lt;/p&gt;&#xA;" OwnerUserId="15809" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2015-05-09T23:35:56.310" Title="What is complexity of this max-edge subgraph problem?" Tags="&lt;graph-theory&gt;&lt;np-hardness&gt;&lt;cc.complexity-theory&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17727" PostTypeId="2" ParentId="17724" CreationDate="2013-05-21T20:46:45.967" Score="14" Body="&lt;p&gt;The generalized problem (such that each vertex $v$ has degree at most $b_v$) is called the $b$-matching problem. Chapter 31 of &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/3540443894&quot; rel=&quot;nofollow&quot;&gt;Schrijver's book&lt;/a&gt; is devoted to the subject. It &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/0020019087901785&quot; rel=&quot;nofollow&quot;&gt;can be solved in strongly polynomial time.&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The case that $b_v=2$ for every vertex $v$ has been studied, particularly for &lt;a href=&quot;http://www.jstor.org/stable/pdfplus/2030652.pdf&quot; rel=&quot;nofollow&quot;&gt;providing lower bounds for the traveling salesman problem&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="13056" LastEditorUserId="13056" LastEditDate="2015-05-09T23:35:56.310" LastActivityDate="2015-05-09T23:35:56.310" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="17728" PostTypeId="2" ParentId="17689" CreationDate="2013-05-21T21:09:31.277" Score="2" Body="&lt;p&gt;I recall Jason's thesis had something on this, application was finding differences between versions in a code repository:&#xA;&lt;a href=&quot;http://archives.ece.iastate.edu/archive/00000493/01/dissertation.pdf&quot; rel=&quot;nofollow&quot;&gt;http://archives.ece.iastate.edu/archive/00000493/01/dissertation.pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="2021" LastActivityDate="2013-05-21T21:09:31.277" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17729" PostTypeId="2" ParentId="17723" CreationDate="2013-05-21T23:11:13.080" Score="1" Body="&lt;p&gt;Probably nope (at least for a sum of quadratic variables). Among other things it would probably imply that you can compute the diameter of a symmetric H-polytope in polynomial time. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.ima.umn.edu/preprints/Sept90Series/704.pdf&quot; rel=&quot;nofollow&quot;&gt;http://www.ima.umn.edu/preprints/Sept90Series/704.pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="9594" LastActivityDate="2013-05-21T23:11:13.080" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17730" PostTypeId="2" ParentId="17723" CreationDate="2013-05-22T00:37:57.870" Score="2" Body="&lt;p&gt;Gurobi has a free academic license: &lt;a href=&quot;http://www.gurobi.com/products/licensing-and-pricing/academic-licensing&quot; rel=&quot;nofollow&quot;&gt;http://www.gurobi.com/products/licensing-and-pricing/academic-licensing&lt;/a&gt; However, I don't know how good it is at handling non-convex objective functions.&lt;/p&gt;&#xA;" OwnerUserId="254" LastEditorUserId="254" LastEditDate="2013-05-22T00:51:58.357" LastActivityDate="2013-05-22T00:51:58.357" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17731" PostTypeId="2" ParentId="17723" CreationDate="2013-05-22T00:52:39.537" Score="7" Body="&lt;p&gt;It's NP-hard. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here's a reduction from the feasibility version of Binary Integer Programming (BIP), which is NP-hard. The problem is to decide if there's a feasible solution to the constraints $Ax \leq b$ and $x_i \in \{0,1\}$. It's easy to convert this to a problem with the constraints $Ax \leq b$ and $x_i \in \{-1,1\}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now consider the following optimization problem: &#xA;$\max \sum_i x_i^2$ subject to the constraints $Ax \leq b$ and $-1 \leq x_i \leq 1$ for all $i$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This problem has objective value $n$ (the total number of variables $x_i$) if and only if the original BIP problem was feasible.&lt;/p&gt;&#xA;" OwnerUserId="206" LastEditorUserId="206" LastEditDate="2013-05-22T01:21:39.107" LastActivityDate="2013-05-22T01:21:39.107" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17733" PostTypeId="2" ParentId="17713" CreationDate="2013-05-22T06:08:33.517" Score="0" Body="&lt;p&gt;&lt;em&gt;&lt;strong&gt;Edit: This answer is unfortunately incorrect. The error is highlighted below.&lt;/em&gt;&lt;/strong&gt; The argument does work if we are allowed to transpose the matrices.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We start by proving a lemma.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;b&gt;Lemma.&lt;/b&gt; Let $A$ be an $n\times n$ matrix and let $N$ be the $n\times n$ matrix with ones on the secondary diagonal. If $AN^t$ and $N^tA$ are nilpotent for all $t \geq 0$ then $A = 0$. &lt;strong&gt;&lt;em&gt;Correct conclusion: $A$ is upper triangular with zeroes on the diagonal.&lt;/em&gt;&lt;/strong&gt; (The original conclusion is recovered if we are also allowed to multiply by powers of the transpose of $N$.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;b&gt;Proof.&lt;/b&gt; Suppose for example that $n = 3$, and write&#xA;$$ A = \begin{pmatrix} a &amp;amp; b &amp;amp; c \\ d &amp;amp; e &amp;amp; f \\ g &amp;amp; h &amp;amp; i \end{pmatrix}, \quad N = \begin{pmatrix} 0 &amp;amp; 1 &amp;amp; 0 \\ 0 &amp;amp; 0 &amp;amp; 1 \\ 0 &amp;amp; 0 &amp;amp; 0 \end{pmatrix}. $$&#xA;We start by calculating $AN^2$:&#xA;$$ AN^2 = \begin{pmatrix} 0 &amp;amp; 0 &amp;amp; a \\ 0 &amp;amp; 0 &amp;amp; d \\ 0 &amp;amp; 0 &amp;amp; g \end{pmatrix}. $$&#xA;This matrix is in triangular form, and so if $AN^2$ is nilpotent then $g = 0$. Continue with $AN^1$:&#xA;$$ AN^1 = \begin{pmatrix} 0 &amp;amp; a &amp;amp; b \\ 0 &amp;amp; d &amp;amp; e \\ 0 &amp;amp; g &amp;amp; h \end{pmatrix} = \begin{pmatrix} 0 &amp;amp; a &amp;amp; b \\ 0 &amp;amp; d &amp;amp; e \\ 0 &amp;amp; 0 &amp;amp; h \end{pmatrix}. $$&#xA;Again the matrix is in triangular form, and so if $AN^1$ is nilpotent then $d = h = 0$. Continuing,&#xA;$$ AN^0 = \begin{pmatrix} a &amp;amp; b &amp;amp; c \\ 0 &amp;amp; e &amp;amp; f \\ 0 &amp;amp; 0 &amp;amp; i \end{pmatrix}. $$&#xA;As before, we conclude that $a = e = i = 0$, and so $A$ is upper triangular with zeroes on the diagonal.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we now consider $N^2A,N^1A,N^0A$ instead, then we conclude that $A$ is lower triangular with zeroes on the diagonal. &lt;strong&gt;&lt;em&gt;In fact, we don't get anything new from considering $N^tA$.&lt;/em&gt;&lt;/strong&gt; Therefore $A = 0$. $\square$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;&lt;strong&gt;This is how the proof would go if the original version of the lemma were correct.&lt;/em&gt;&lt;/strong&gt;&#xA;Now back to the problem at hand. Say that the matrices $A_1,\ldots,A_k$ satisfy property P if for every infinite sequence $i_1,\ldots \in [k]$, we have $A_{i_1} \cdots A_{i_m} = 0$ for some $m$. If one of the matrices $A_i$ is &lt;em&gt;not&lt;/em&gt; nilpotent then property P clearly fails, so suppose that all the matrices are nilpotent. If all matrices commute then property P clearly holds, so suppose that $A_1 A_2 \neq A_2 A_1$. Change basis so that $A_1$ is in Jordan normal form, and let the corresponding decomposition of the vector space be $V_1 \oplus \cdots \oplus V_t$. Let $V_i$ be a vector space on which $A_1 A_2 \neq A_2 A_1$; note that $\dim V_i &amp;gt; 1$ since $0$ commutes with everything. Restricted to $V_i$, $A_1 = N$ and $A_2 \neq 0$. Therefore the lemma implies that for some $t \geq 0$, either $A_2 A_1^t$ or $A_1^t A_2$ is not nilpotent, and therefore property P clearly fails.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Summarizing, property P holds iff all matrices are nilpotent and all of them commute.&lt;/p&gt;&#xA;" OwnerUserId="40" LastEditorUserId="40" LastEditDate="2013-05-22T22:47:09.920" LastActivityDate="2013-05-22T22:47:09.920" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="17734" PostTypeId="1" AcceptedAnswerId="17736" CreationDate="2013-05-22T10:43:57.467" Score="1" ViewCount="257" Body="&lt;p&gt;we know from the PCP theorem that $PCP[O(log(n)),O(1)]=NP$,what if we choose specific number of queries will the theorem hold ?  &lt;/p&gt;&#xA;" OwnerUserId="15858" LastActivityDate="2013-05-22T11:54:50.420" Title="number of PCP queries" Tags="&lt;approximation-algorithms&gt;&lt;approximation-hardness&gt;&lt;pcp&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17736" PostTypeId="2" ParentId="17734" CreationDate="2013-05-22T11:54:50.420" Score="3" Body="&lt;p&gt;I believe the best result (with regards to the number of queries) is still &lt;a href=&quot;http://csce.uark.edu/~dapon/lib/Hastad.pdf&quot; rel=&quot;nofollow&quot;&gt;Håstad's 3-query PCP&lt;/a&gt;. So if you choose at least 3, then it's a definite yes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.cs.washington.edu/education/courses/cse533/05au/lecture16.pdf&quot; rel=&quot;nofollow&quot;&gt;These lecture slides&lt;/a&gt; might be a bit more useful as they cut straight to the chase.&lt;/p&gt;&#xA;" OwnerUserId="9520" LastActivityDate="2013-05-22T11:54:50.420" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="17738" PostTypeId="1" CreationDate="2013-05-22T16:10:56.397" Score="2" ViewCount="224" Body="&lt;p&gt;I have a set of rectangles, which I want to cluster (group) as shown &lt;a href=&quot;https://i.stack.imgur.com/V5vOs.png&quot; rel=&quot;nofollow noreferrer&quot;&gt;here&lt;/a&gt;(I can not post images yet, so please bear with me).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The approach I took was to consider central points of each rectangle as a data point in $R^2$ and cluster them using Euclidean distance (K-means, K-mediods approach or any other method). Traditional clustering approaches help you to discover shapes in data, but I am &lt;strong&gt;not&lt;/strong&gt; trying to discover such shapes, as I know the best shape would be rectangles. I do not know the number of clusters (number of bounding rectangles) beforehand. However, given a clustering solution, an objective measure (BIC) can be calculated to measure clustering accuracy. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given this situation, my question is, is there any algorithmic formulation of this or a similar problem? &lt;/p&gt;&#xA;" OwnerUserId="13369" LastActivityDate="2013-05-22T16:10:56.397" Title="Grouping a set of rectangles in larger rectangular regions" Tags="&lt;cg.comp-geom&gt;&lt;clustering&gt;" AnswerCount="0" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17739" PostTypeId="1" CreationDate="2013-05-22T16:56:34.130" Score="18" ViewCount="1382" Body="&lt;p&gt;I would like to learn about Parametrized Complexity (both on the algorithmic side and on the hardness side). What books/lecture notes can I read on this subject?&lt;/p&gt;&#xA;" OwnerUserId="15711" LastActivityDate="2019-07-27T14:44:33.343" Title="Books/Lecture Notes on Parametrized Complexity" Tags="&lt;reference-request&gt;&lt;parameterized-complexity&gt;&lt;fixed-parameter-tractable&gt;" AnswerCount="7" CommentCount="0" FavoriteCount="11" ContentLicense="CC BY-SA 3.0" />
  <row Id="17740" PostTypeId="2" ParentId="17739" CreationDate="2013-05-22T17:05:31.907" Score="23" Body="&lt;p&gt;A good place to start is &quot;Parameterized Complexity Theory&quot; by Jörg Flum and Martin Grohe, published by Springer.&lt;/p&gt;&#xA;" OwnerUserId="13754" LastActivityDate="2013-05-22T17:05:31.907" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17741" PostTypeId="2" ParentId="17676" CreationDate="2013-05-22T17:34:13.387" Score="-3" Body="&lt;p&gt;another angle on this question (outside of the ref to Mahaney's theorem). the &quot;transition point&quot; in SAT is a study of this phenomena of easy vs hard instance distribution esp around a &quot;critical point&quot; where probability of hard instances is maximized. the literature on the subject is long and complex. it has both empirical and analytical approaches. it has deep ties to physics/thermodynamics.[3] unfortunately there is currently no Wikipedia entry on this very significant and fundamental complexity theory topic. also, there do not seem to be many overall or &quot;standard&quot; surveys on the subject. here is one recent ref to start on SAT[1] and TCS phase transitions in general.[4] your question also falls into a category of &quot;a really good answer would basically be nearly a P$\stackrel{?}{=}$NP proof.&quot;&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there anything preventing the set of hard instances, from being arbitrarily small, so long as for any given instance size (n) there are only Poly(n) (or even constant) instances of size Poly(n) or smaller?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;again Mahaney's theorem (phrased in a slightly different way) answers this directly. another way of looking at this is that attempts to narrow the distribution of instances in some key/characteristic way leads to NP-complete functions. an example of this from monotone circuit complexity is &quot;slice functions&quot;.[2]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] &lt;a href=&quot;http://www.cs.ubc.ca/~kevinlb/papers/2012-PredictingSatisfiability.pdf&quot; rel=&quot;nofollow&quot;&gt;Predicting Satisfiability at the Phase Transition&lt;/a&gt; Lin Xu, Holger H. Hoos, Kevin Leyton-Brown&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] Paul E. S. Dunne: The Complexity of Central Slice Functions. Theor. Comput. Sci. 44: 247-257 (1986)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[3] &lt;a href=&quot;http://dynamics.org/~altenber/UH_ICS/EC_REFS/K-SAT/Mezard.Science.297_812.pdf&quot; rel=&quot;nofollow&quot;&gt;Analytic and Algorithmic&#xA;Solution of Random&#xA;Satisfiability Problems&lt;/a&gt;&#xA;M. Mezard,&#xA;G. Parisi,&#xA;R. Zecchina&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[4] &lt;a href=&quot;http://www.math.ucla.edu/~roch/ams2010_files/moore.pdf&quot; rel=&quot;nofollow&quot;&gt;Phase transitions in NP-complete problems:&#xA;a challenge for probability, combinatorics, and&#xA;computer science&lt;/a&gt; by Moore&lt;/p&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2013-05-22T17:34:13.387" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17742" PostTypeId="7" CreationDate="2013-05-22T17:51:14.193" Score="0" Body="&lt;p&gt;&lt;strong&gt;Theoretical Computer Science - Stack Exchange&lt;/strong&gt; &#xA;is a question and answer site for&#xA;&lt;i&gt;professional researchers in theoretical computer science&lt;/i&gt; and &#xA;related fields.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's built and run &lt;em&gt;by users&lt;/em&gt; as a part of the &#xA;&lt;a href=&quot;http://stackexchange.com&quot;&gt;Stack Exchange&lt;/a&gt; network of Q&amp;amp;A sites.&#xA;We welcome you to join us in asking and answering &#xA;&lt;strong&gt;research-level&lt;/strong&gt; questions in &#xA;&lt;strong&gt;theoretical&lt;/strong&gt; computer science.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For &lt;strong&gt;undergraduate-level questions&lt;/strong&gt;&#xA;please visit&#xA;&lt;a href=&quot;http://cs.stackexchange.com&quot;&gt;&lt;strong&gt;Computer Science&lt;/strong&gt;&lt;/a&gt;&#xA;which has a broader scope.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For more information about the scope&#xA;please check out our &lt;a href=&quot;http://cstheory.stackexchange.com/help/on-topic&quot;&gt;FAQ&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="-1" LastEditorUserId="186" LastEditDate="2013-09-20T06:17:16.230" LastActivityDate="2013-09-20T06:17:16.230" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17743" PostTypeId="7" CreationDate="2013-05-22T17:53:26.343" Score="0" Body="&lt;ul&gt;&#xA;    &lt;li&gt;Anything not directly related to theoretical computer science&lt;/li&gt;&#xA;    &lt;li&gt;Questions that are primarily opinion-based&lt;/li&gt;&#xA;    &lt;li&gt;Questions with too many possible answers or that would require an extremely long answer&lt;/li&gt;&#xA;    &lt;li&gt;Questions which are not research-level, e.g. exercises in undergraduate textbooks&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="-1" LastEditorUserId="186" LastEditDate="2013-05-22T17:59:43.773" LastActivityDate="2013-05-22T17:59:43.773" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17745" PostTypeId="2" ParentId="17702" CreationDate="2013-05-22T18:17:31.863" Score="0" Body="&lt;p&gt;here is a nice chapter on Intuitionistic Logic from a comprehensive online book &lt;em&gt;Logic for Computer Science&lt;/em&gt;, 300pp.[1] sec 9.5, p210, summary on p220:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Intuitionistic&#xA;  logic&#xA;  arose&#xA;  out&#xA;  of&#xA;  the&#xA;  constructivist&#xA;  movement&#xA;  in&#xA;  mathematics&#xA;  which&#xA;  rejected&#xA;  non-constructive&#xA;  existence&#xA;  proofs&#xA;  or&#xA;  those&#xA;  based&#xA;  on&#xA;  the&#xA;  law&#xA;  of&#xA;  the&#xA;  excluded&#xA;  middle.&#xA;  Recently&#xA;  a&#xA;  connection&#xA;  between&#xA;  intuitionistic&#xA;  mathematics&#xA;  and&#xA;  programming&#xA;  has&#xA;  come&#xA;  out&#xA;  of&#xA;  the&#xA;  observation&#xA;  that&#xA;  propositions&#xA;  and&#xA;  types&#xA;  (in&#xA;  the&#xA;  programming&#xA;  sense)&#xA;  are&#xA;  equivalent.&#xA;  Algorithm&#xA;  development&#xA;  in&#xA;  this&#xA;  formal&#xA;  system,&#xA;  which&#xA;  is&#xA;  based&#xA;  on&#xA;  natural&#xA;  deduction,&#xA;  consists&#xA;  of&#xA;  writing&#xA;  a&#xA;  specification&#xA;  in&#xA;  logical&#xA;  notation&#xA;  and&#xA;  then,&#xA;  considering&#xA;  this&#xA;  as&#xA;  a&#xA;  type,&#xA;  proving&#xA;  that&#xA;  it&#xA;  is&#xA;  non-empty.&#xA;  Because&#xA;  the&#xA;  underlying&#xA;  logic&#xA;  is&#xA;  constructive&#xA;  the&#xA;  proof,&#xA;  if&#xA;  it&#xA;  can&#xA;  be&#xA;  carried&#xA;  out,&#xA;  must&#xA;  embody&#xA;  the&#xA;  explicit construction of an object of the appropriate type.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;another nearby perspective comes from TCSist Andrej Bauer writing on &quot;Mathematics and computation; mathematics for computers&quot;[2] who proposes basically that &quot;intuitionistic mathematics is good for physics&quot;. the presentation is mainly in terms of physics, but for those who consider &lt;a href=&quot;https://cstheory.stackexchange.com/questions/2074/physics-results-in-tcs&quot;&gt;CS tightly coupled with physics&lt;/a&gt; the ideology will generally carry to TCS.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Computational interpretation.&lt;/strong&gt; This is the interpretation of intuitionistic logic commonly presented in computer science. We view all sets as represented by suitable data structures—a reasonable point of view for a computer scientist. Then a statement is taken to be true if there exists a program (computational evidence) witnessing its truth.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;[1] &lt;a href=&quot;http://www.cs.waikato.ac.nz/~stever/LCS.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Logic for Computer Science,&lt;/a&gt; Reeves and Clark&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] &lt;a href=&quot;http://math.andrej.com/2008/08/13/intuitionistic-mathematics-for-physics/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Intuitionistic mathematics for physics&lt;/a&gt; Bauer&lt;/p&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2013-05-22T18:17:31.863" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17746" PostTypeId="2" ParentId="17739" CreationDate="2013-05-22T19:39:09.123" Score="7" Body="&lt;p&gt;See &lt;a href=&quot;http://fpt.wikidot.com/books-and-survey-articles&quot; rel=&quot;nofollow&quot;&gt;http://fpt.wikidot.com/books-and-survey-articles&lt;/a&gt;.&#xA;I also prefer Flum and Grohe, especially for the hardness part, whereas the book by Niedermeier is more focused on the algorithmic side. Note that there are some technical differences between the two, for instance the definition of a parameter as polynomial time computable function in the book of Flum and Grohe, which has to be altered if one likes to consider smaller parameterized space classes (see &lt;a href=&quot;http://link.springer.com/chapter/10.1007/978-3-642-33293-7_20&quot; rel=&quot;nofollow&quot;&gt;this article&lt;/a&gt; by Elberfeld,&#xA;Stockhusen and Tantau).&lt;/p&gt;&#xA;" OwnerUserId="13836" LastEditorUserId="13836" LastEditDate="2013-11-11T10:30:22.957" LastActivityDate="2013-11-11T10:30:22.957" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17747" PostTypeId="2" ParentId="17739" CreationDate="2013-05-22T21:27:16.357" Score="17" Body="&lt;p&gt;Sorry for the self-advertisement, but this spring we have been developing a hybrid undergrad/grad course at Stanford on Parameterized Algorithms and Complexity. We've tried to &quot;re-do&quot; many of the proofs of the core theorems in the literature, in a way that's somewhat more accessible to undergraduates. The scribe notes are (mostly) &lt;a href=&quot;http://cs266.stanford.edu/&quot;&gt;online&lt;/a&gt;. However we have not carefully edited all of them, so I would not take the notes as gospel yet.&lt;/p&gt;&#xA;" OwnerUserId="225" LastActivityDate="2013-05-22T21:27:16.357" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17748" PostTypeId="2" ParentId="17713" CreationDate="2013-05-22T21:29:11.523" Score="17" Body="&lt;p&gt;Your question is equivalent to whether $A_1, \dotsc, A_k$ generate a nilpotent algebra&lt;strike&gt;, which in turn is equivalent to each of the $A_i$ being nilpotent&lt;/strike&gt;. Hence not only is it decidable, but in $\tilde O(n^{2 \omega})$ time where $\omega$ is the exponent of matrix multiplication. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $\mathcal{A}$ be the associative algebra generated by the $A_i$: that is, take all linear combinations of the $A_i$ and all finite products thereof. $\mathcal{A}$ is called &lt;em&gt;nilpotent&lt;/em&gt; if there is some $N$ such that every product of $N$ elements of $\mathcal{A}$ is zero.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First, let's see why your condition implies that $\mathcal{A}$ is nilpotent. This follows from Konig's Lemma (compactness): every string of length $n$ over the alphabet $\{1, \dotsc, k\}$ corresponds to a product of $A_1, \dotsc, A_k$ of length $n$ in an obvious manner. Consider the infinite $k$-ary rooted tree, whose nodes are naturally in bijective correspondence with strings over $\{1, \dotsc, k\}$. Consider the sub-tree $T$ consisting of those nodes where the corresponding product of the $A_i$ is nonzero. Konig's Lemma says that if $T$ is infinite, then it has an infinite path (exactly violating your property), hence $T$ is finite. We can then take $N$ to be the maximum length of any string in $T$. So your property implies that $\mathcal{A}$ is nilpotent.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The converse is also true, since every element of $\mathcal{A}$ is a linear combination of products of the $A_i$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Next, note that $\mathcal{A}$ is a subalgebra of $n \times n$ matrices, and hence is finite-dimensional.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally: a finite-dimensional associative algebra in characteristic zero has a basis of nilpotent elements (commuting or not - this is the part that contradicts Yuval's answer) iff it is nilpotent (see, e.g., &lt;a href=&quot;http://www.encyclopediaofmath.org/index.php/Nilpotent_algebra&quot;&gt;here&lt;/a&gt;). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thus, to solve your problem, find a basis for the associative algebra generated by the $A_i$ (by the linear-algebra version of breadth-first search) and check that every matrix in the basis is nilpotent. The upper bound $\tilde O(n^{2\omega})$ comes from solving a system of linear equations in $n^2$ variables in the breadth-first search. As $\dim \mathcal{A} \leq n^2$ the BFS can't last very long, and because these are $n \times n$ matrices to check if a matrix $A$ is nilpotent one needs only check that $A^n = 0$.&lt;/p&gt;&#xA;" OwnerUserId="129" LastEditorUserId="129" LastEditDate="2013-05-24T17:03:41.510" LastActivityDate="2013-05-24T17:03:41.510" CommentCount="13" ContentLicense="CC BY-SA 3.0" />
  <row Id="17749" PostTypeId="2" ParentId="17739" CreationDate="2013-05-22T22:12:57.883" Score="14" Body="&lt;p&gt;Daniel Marx has several interesting talks on FPT and related topics on his website.&#xA;&lt;a href=&quot;http://www.cs.bme.hu/~dmarx/&quot; rel=&quot;noreferrer&quot;&gt;http://www.cs.bme.hu/~dmarx/&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.cs.bme.hu/~dmarx/talk.php&quot; rel=&quot;noreferrer&quot;&gt;http://www.cs.bme.hu/~dmarx/talk.php&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See also the recent collection of essays/book on the occasion of the 60th birthday of Mike Fellows.&#xA;&lt;a href=&quot;http://link.springer.com/book/10.1007/978-3-642-30891-8/page/1&quot; rel=&quot;noreferrer&quot;&gt;http://link.springer.com/book/10.1007/978-3-642-30891-8/page/1&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Update (Nov 2014):&lt;/strong&gt; Marek Cygan et al (long list of authors) have a book titled &quot;Parameterized Algorithms&quot; that should be coming out soon (to be published by Springer). I have seen drafts and it is quite nice. More algorithmic than the Flum-Grohe book and also covers several recent developments.&lt;/p&gt;&#xA;" OwnerUserId="176" LastEditorUserId="176" LastEditDate="2014-11-27T16:16:24.627" LastActivityDate="2014-11-27T16:16:24.627" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17750" PostTypeId="2" ParentId="17701" CreationDate="2013-05-22T22:39:46.007" Score="1" Body="&lt;p&gt;If you are planning on using this kind of syntax for a real&#xA;application requiring a parser, you probably do not want to wander&#xA;outside the polynomial realm. So you might be interested by &#xA;&lt;code&gt;linear context-fre rewriting systems&lt;/code&gt;&#xA;which is a hierarchy of grammatical&#xA;formalisms parsable in polynomial time. This has been heavily explored&#xA;by the community that studies formal syntax for natural languages. You may also look for &lt;code&gt;mildly context-sensitive&lt;/code&gt; languages.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;code&gt;Context-free&lt;/code&gt; (CF) languages are at the bootom of that hierarchy, parsable&#xA;in tine n^3. The next family is &lt;code&gt;tree adjoining grammars&lt;/code&gt;, parsable in&#xA;time n^6. Of course, these are worst case bounds.  If you avoid&#xA;pathological cases, things often work a lot better. Anything that is&#xA;hard for a software parser is also hard for a human reader.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is a significant body of litterature on all this. And there have&#xA;been more recent extensions: &lt;code&gt;Range concatenation grammars&lt;/code&gt; (RCG)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By the way, I suppose one can consider that CF grammars are for nested&#xA;words. In the same way, &lt;code&gt;tree adjoining grammars&lt;/code&gt; are for nested trees.&#xA;All the &lt;code&gt;linear context-fre rewriting systems&lt;/code&gt; are for increasingly&#xA;complex forms of nesting (&lt;em&gt;nesting&lt;/em&gt; is what &lt;em&gt;context-free&lt;/em&gt; stands for in&#xA;the name).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But I honestly doubt you want that much expressive power.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You should also be aware that you can express a lot of things with&#xA;context-free languages when you do not restrict yourself to languages&#xA;that are deterministically parsable from left to right with a push-down memory stack. Actually,&#xA;depending on the application, ambiguous context-free syntax may be a&#xA;perfectly reasonnable choice.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I wonder why you seem so interested in &lt;code&gt;tree automata&lt;/code&gt;, though you do not say which variety.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Side note : I doubt there is much insight to be gained from the&#xA;Chomsky hierarchy. It is more a historical curiosity than a useful&#xA;technical concept.&lt;/em&gt;&lt;/p&gt;&#xA;" OwnerUserId="16132" LastEditorUserId="16132" LastEditDate="2013-05-23T09:28:57.900" LastActivityDate="2013-05-23T09:28:57.900" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17751" PostTypeId="2" ParentId="17702" CreationDate="2013-05-23T00:32:55.167" Score="6" Body="&lt;p&gt;As I said in the comments, intuitionist logic is not the main point. The more important point is having a constructive proof. I think Martin-Löf's type theory is much more relevant to programming language theory than intuitionistic logic and there are experts who have argued that Martin-Löf's work is the main reason for the revival of the general interest in constructive mathematics.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The computability interpretation of constructiveness is one possible perspective, but it is not the only one. We should be careful here when we want to compare constructive proofs to classical proofs. Although both might use the same symbols, what they mean by those symbols are different. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is always good to remember that classical proofs can be translated to intuitionistic proofs. In other words, in a sense, classical logic is a subsystem of intuitionistic logic. Therefore you can realize (say using computable functions) classical proofs in a sense. On the other hand, we can think of constructive mathematics as some mathematical system in classical setting.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;At the end, formalisms, whether classical or constructive, are tools for us to express statements. Taking a classical theorem and trying to prove it constructively without this perspective doesn't make much sense IMHO. When I say $A \lor B$ classically I mean something different from what I say $A \lor B$ constructively. You can argue what &quot;should&quot; be the real meaning of &quot;$\lor$&quot; but I think that is not interesting if we are not discussing what we want to express in the first place. Do we mean (at least) one of them holds and we know which one? Or do we simply mean one of them holds?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, with this perspective, if we want to prove a statement like $\forall x \ \exists y \ \varphi(x,y)$ and we want to relate this to a mapping from $x$ to some $y$ satisfying $\varphi(x,y)$ then the better way to express can be the constructive way. On the other hand, if we only care about the existence of $y$ and do not care about how to find them then the classical way would probably make more sense. When you prove the statement constructively, you are also implicitly building an algorithm for finding $y$ from $x$. You can do the same thing explicitly with a more complicate formula like &quot;the algorithm $A$ has the property that for all $x$, $\varphi(x,A(x))$&quot; where $A$ is some explicitly given algorithm.&#xA;If it is not clear why one may prefer the constructive way to express this, think about programming languages as an analogy: you can write a program for the Kruskal's MST algorithm in x86 assembly language where you have to care about lots of side issues or you can write a program in Python.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now why we don't use intuitionist logic in practice? There are several reasons. For example, most of us are not trained with that mind setting. Also finding a classical proof of a statement might be much easier than finding a constructive proof of it. Or we might care about low-level details which are hidden and not accessible in a constructive setting (see also &lt;a href=&quot;https://en.wikipedia.org/wiki/Linear_logic&quot; rel=&quot;nofollow noreferrer&quot;&gt;linear logic&lt;/a&gt;). Or we might simply be uninterested in getting the extra stuff that comes with a constructive proof. And although there are tools to extract programs from proofs these tools generally need very detailed proofs and haven't been user-friendly enough for the general theorist. In short, too much pain for too little benefit.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is one possible reason why we don't see much constructive proofs in theory A:&#xA;our theorems in theory A are often $\Pi^0_2$ statements and are proven using not very strong theories (say they are provable in $PA$) and by &lt;a href=&quot;https://en.wikipedia.org/wiki/Friedman_translation&quot; rel=&quot;nofollow noreferrer&quot;&gt;a meta-theorem&lt;/a&gt; all of them are also provable constructively (in the constructive counterpart of $PA$). In fact, many theory A results can be proven in theories much weaker than $PA$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I remember that &lt;a href=&quot;http://www.math.canterbury.ac.nz/~d.bridges/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Douglas S. Bridges&lt;/a&gt; in the introduction to his computability theory book argued that we should prove our results constructively. He gives an example which IIRC is essentially as follows: &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Assume that you work for a big software company and your manager asks you for a program to solve a problem. Would it be acceptable to return with two programs and tell your manager one of these two solves correctly but I don't know which one?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;At end, we should keep in mind that although we use the same symbols for classical and intuitionistic logics these symbols have different meanings, and the one to use depends on what we want to express.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For your last question, I think &lt;a href=&quot;https://en.wikipedia.org/wiki/Robertson%E2%80%93Seymour_theorem&quot; rel=&quot;nofollow noreferrer&quot;&gt;Robertson–Seymour theorem&lt;/a&gt; would be an example of a theorem that we know it is true classically but we don't have any constructive proof of it. See also &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/questions/12162/are-there-non-constructive-algorithm-existence-proofs&quot;&gt;Are there non-constructive algorithm existence proofs?&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="186" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2013-05-23T00:43:19.393" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="17752" PostTypeId="1" CreationDate="2013-05-23T05:11:27.887" Score="8" ViewCount="535" Body="&lt;p&gt;Complexity theory seems to be built around decision problems rather than functions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Who introduced this first and what is the reason for this choice? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, Edmonds' &quot;Paths, trees and flowers&quot; paper is generally credited as the source of the notion of $\mathsf{PTime}$ representing the set of &quot;tractable&quot; problems and this is the path that we have taken.&lt;/p&gt;&#xA;" OwnerUserId="12660" LastEditorUserId="186" LastEditDate="2013-09-07T04:47:39.337" LastActivityDate="2013-09-07T04:47:39.337" Title="Decision problems vs functions" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;" AnswerCount="3" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17754" PostTypeId="2" ParentId="17752" CreationDate="2013-05-23T06:37:50.397" Score="5" Body="&lt;p&gt;Complexity theory builds off computability theory, and the typical formulation of problems in computability theory is as decision problems, stemming naturally from setting them up as questions about set membership.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The roots of computability theory go back some way, but if you want the first strong example of a Decision Problem, then Hilbert's &lt;a href=&quot;http://en.wikipedia.org/wiki/Entscheidungsproblem&quot;&gt;Entscheidungsproblem&lt;/a&gt; is the ur example - it is German for &quot;Decision Problem&quot;.&lt;/p&gt;&#xA;" OwnerUserId="9520" LastActivityDate="2013-05-23T06:37:50.397" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17755" PostTypeId="1" CreationDate="2013-05-23T08:24:49.543" Score="0" ViewCount="239" Body="&lt;p&gt;Log rank conjecture is one of the most famous open problems in the area of communication compleixty. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Lets consider the two party cdommunication complexity. Alice and Bob have $n$ bit strings $a,b$ , respectively, and they wish to compute arbitrary boolean function $f(a,b)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Communication matrix of $f$ is a $2^{n}\times 2^{n}$ matrix whose indices  of row (column) corresponds to the inputs of Alice (Bob) and each entry $M_f (a,b)$ correspond to function value $f(a,b)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Log rank conjecture asserts that $CC(f) = (\log rank (M_{f}))^{O(1)}$  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, rank is a crucial role in the linea algebra and similar concepts of rank are considered. &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;QUESTION:I am looking for similar conjectures in the area of communication compleixty and related compleixty theoretic areas, similar-seeming conjectures without the communication complexity machinery, similar-seeming conjectures in linear algebra.Is there an appropriate reference ?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="14065" LastEditorUserId="14065" LastEditDate="2013-05-23T09:42:26.790" LastActivityDate="2013-05-23T21:47:43.727" Title="Various conjectures which is similar to Log Rank conjecture" Tags="&lt;cc.complexity-theory&gt;&lt;co.combinatorics&gt;&lt;linear-algebra&gt;&lt;communication-complexity&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17756" PostTypeId="2" ParentId="17752" CreationDate="2013-05-23T09:47:23.510" Score="4" Body="&lt;p&gt;Just a piece of the story:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The seminal 1963 paper of &lt;a href=&quot;http://www.ams.org/journals/tran/1965-117-00/S0002-9947-1965-0170805-7/S0002-9947-1965-0170805-7.pdf&quot; rel=&quot;nofollow&quot;&gt;Hartmanis and Stearns, &quot;On the Computational Complexity of Algorithms&quot;&lt;/a&gt;  introduced the definitions of quantified time and space complexity on the multitape Turing&#xA;machine model and showed that given more time/space a TM can compute more things.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;... The computational complexity of a sequence is to be measured by how fast a multitape Turing machine can print out the terms of the sequence. ...&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Where &quot;sequence&quot; is a generic sequence. Then, when defining a &lt;em&gt;T-computable&lt;/em&gt; sequence, they restrict the attention to binary sequences:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;... For the sake of simplicity, we shall talk about binary sequences, &#xA;the generalization being obvious. We use the notation $\alpha = a_1 a_2 ...$&#xA;&lt;br&gt;...&lt;br&gt;&#xA;The class of &lt;em&gt;T-computable&lt;/em&gt; binary sequences shall be denoted bu $S_T$, and we shall&#xA;refer to $T(n)$ as a &lt;em&gt;time-function&lt;/em&gt;. $S_T$ will be called a complexity class.&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;And then in Corollary 2.8:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;... Thus, when considering time-functions greater or equal to $n$,&#xA;the slightest increase in operation speed wipes out the distinction between binary and&#xA;nonbinary output machines.&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;With a backward link to Hilbert and Church / Turing's work on the halting problem:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;Theorem 5. Given a time-function $T$, there is no decision procedure to decide whether a sequence $\alpha$ is in $S_T$ &#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2013-05-23T09:54:03.973" LastActivityDate="2013-05-23T09:54:03.973" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17758" PostTypeId="1" CreationDate="2013-05-23T11:06:35.570" Score="1" ViewCount="452" Body="&lt;p&gt;I have a problem with the following statement :&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Every combinatorial embedding is equivalent to one with $\lambda(T) = 1$ on a spanning tree of G&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What does this mean ? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;OK in a spanning tree there isn't a cycle, so the signature of every edge is equal to $1$ but what is the sense of this statement? &lt;/p&gt;&#xA;" OwnerUserId="16137" LastEditorUserId="1846" LastEditDate="2013-05-24T00:43:17.210" LastActivityDate="2013-05-24T00:43:17.210" Title="combinatorical embedding" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;topological-graph-theory&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17759" PostTypeId="1" CreationDate="2013-05-23T14:00:40.243" Score="4" ViewCount="384" Body="&lt;p&gt;I've met this problem.&#xA;I would like to know to which complexity class it belongs.&lt;/p&gt;&#xA;&lt;h3&gt;Input&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;a set of positive integers &lt;span class=&quot;math-container&quot;&gt;$I$&lt;/span&gt;,&lt;/li&gt;&#xA;&lt;li&gt;an integer &lt;span class=&quot;math-container&quot;&gt;$m$&lt;/span&gt;,&lt;/li&gt;&#xA;&lt;li&gt;an integer &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt;.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3&gt;Question&lt;/h3&gt;&#xA;&lt;p&gt;Is the number of &lt;span class=&quot;math-container&quot;&gt;$S \subseteq I$&lt;/span&gt; such that&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;span class=&quot;math-container&quot;&gt;$\sum_{s \in S} s \leq m$&lt;/span&gt;, and&lt;/li&gt;&#xA;&lt;li&gt;&lt;span class=&quot;math-container&quot;&gt;$\forall e \in I \setminus S,\ e+\sum_{s \in S} s &amp;gt; m$&lt;/span&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;less than or equal to &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt;?&lt;/p&gt;&#xA;" OwnerUserId="16140" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2013-05-24T15:31:47.417" Title="The number of maximal subsets with sum less than $m$" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;complexity-classes&gt;" AnswerCount="0" CommentCount="15" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17761" PostTypeId="1" CreationDate="2013-05-23T17:35:28.147" Score="12" ViewCount="183" Body="&lt;p&gt;What is the relationship between &lt;a href=&quot;https://complexityzoo.uwaterloo.ca/Complexity_Zoo%3aP#pls&quot;&gt;$\mathsf{PLS}$&lt;/a&gt; and &lt;a href=&quot;https://complexityzoo.uwaterloo.ca/Complexity_Zoo%3aA#apx&quot;&gt;$\mathsf{APX}$&lt;/a&gt;? In other words, are problems that admit a polynomial time local search approximable? Do approximable optimization problems imply a local search algorithm in general?&lt;/p&gt;&#xA;" OwnerUserId="4193" LastActivityDate="2014-05-25T21:22:28.107" Title="What is the relationship between $\mathsf{PLS}$ and $\mathsf{APX}$?" Tags="&lt;cc.complexity-theory&gt;&lt;approximation-algorithms&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17762" PostTypeId="2" ParentId="17755" CreationDate="2013-05-23T18:55:40.627" Score="3" Body="&lt;p&gt;The log-rank conjecture is equivalent to the following conjecture.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;For any graph $G$ with adjacency matrix $A$ and complement graph $\bar{G}$, the chromatic number of $\bar{G}$ is at most $(\log \mathsf{rank}(A))^{O(1)}$. &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;This is from Lovasz and Saks's original &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=1398604&quot; rel=&quot;nofollow&quot;&gt;paper&lt;/a&gt;, which has more connections.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://rd.springer.com/article/10.1007%2FBF01192527&quot; rel=&quot;nofollow&quot;&gt;Nisan and Wigderson&lt;/a&gt; observed that to prove the log-rank conjecture it suffices to show that any $M \in \{0, 1\}^{N \times N}$ has a monochromatic rectangle of size at least $N 2^{-(\log \mathsf{rank} M)^{O(1)}}$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;More intuitively, the hardness in trying to disprove the conjecture comes from the fact that it's difficult to construct a non-trivial example of a binary matrix that has low rank over the reals. The trivial examples are matrices that can be decomposed into a small number of combinatorial rectangles, but we know that such a decomposition implies small communication complexity. So the conjecture asks, are all low rank binary matrices decomposable into a small number of rectangles. &lt;/p&gt;&#xA;" OwnerUserId="4896" LastEditorUserId="4896" LastEditDate="2013-05-23T21:47:43.727" LastActivityDate="2013-05-23T21:47:43.727" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17763" PostTypeId="2" ParentId="17758" CreationDate="2013-05-23T21:18:31.890" Score="5" Body="&lt;p&gt;A &lt;em&gt;combinatorial embedding&lt;/em&gt; or &lt;em&gt;signed rotation system&lt;/em&gt; is a combinatorial representation of a cellular embedding of a graph on some surface.  An &lt;em&gt;embedding&lt;/em&gt; is a drawing of the graph such that no two edges cross; an embedding is &lt;em&gt;cellular&lt;/em&gt; if every face is a disk.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider an undirected graph $G=(V,E)$.  It is helpful to regard each edge in $E$ as a pair of directed edges, or &lt;em&gt;darts&lt;/em&gt;.  Each dart goes from one vertex, called its &lt;em&gt;tail&lt;/em&gt;, to another vertex, called its &lt;em&gt;head&lt;/em&gt;.  The &lt;em&gt;reversal&lt;/em&gt; of a dart is obtained by swapping its head and its tail.  Let $\vec{E}$ denote the set of all darts.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A signed rotation system consists of two functions:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;A successor permutation $\textit{succ} \colon \vec{E} \to \vec{E}$.  Specifically, $\textit{succ}(\vec{e})$ is the next incoming dart after $\vec{e}$ in &quot;clockwise&quot; order around $\textit{head}(\vec{e})$.  Thus, the cycles of $\textit{succ}$ correspond precisely to the vertices of $G$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;A sign function $\textit{sign}\colon E \to \{-1, +1\}$, which indicates for each edge whether the &quot;clockwise&quot; orders at the endpoints of that edge are consistent ($+1$) or inconsistent ($-1$). &lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;This representation is not unique.  For example, reversing the cyclic order of incoming darts at any vertex $v$ and changing the signs of all edges incident to $v$ leaves the embedding intact.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The theorem you are asking about is the following:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;em&gt;Any cellular embedding of any graph $G$ can be encoded by a signed rotation system, such that for some spanning tree $T$, every edge in $T$ is positive.&lt;/em&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;In fact, one can prove a stronger statement:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;em&gt;For &lt;strong&gt;any&lt;/strong&gt; spanning tree $T$ of any graph $G$, any cellular embedding of $G$ can be encoded by a signed rotation system, such that every edge in $T$ is positive.&lt;/em&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;If the underlying surface is orientable, we can choose a global &quot;clockwise&quot; orientation, which means any embedding onto that surface has a representation where &lt;em&gt;all&lt;/em&gt; edges in $G$ are positive.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, if the underlying surface is non-orientable, some edges &lt;em&gt;must&lt;/em&gt; be negative.  Any one-sided cycle must include an odd number of negative edges (and therefore at least one negative edge), because moving once around a one-sided cycle reverses your local orientation.  That's what &quot;one-sided&quot; &lt;em&gt;means&lt;/em&gt;.  Still, it is possible to ensure that every edge in your favorite spanning tree is positive.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The proof is straightforward induction over the tree $T$.&lt;/p&gt;&#xA;" OwnerUserId="111" LastActivityDate="2013-05-23T21:18:31.890" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="17764" PostTypeId="2" ParentId="17502" CreationDate="2013-05-23T21:23:01.263" Score="0" Body="&lt;p&gt;I would not know what toy language is often used. I can point to a language that was used. A very early example : &lt;em&gt;A Complete Machine-checked Definition of a Simple Programming Language Using Denotational Semantics&lt;/em&gt; -&#xA;Véronique Donzeau-Gouge, Gilles Kahn, Bernard Lang&#xA;RR-330 IRIA-Laboria, 1978, 31 pages.&#xA;&lt;a href=&quot;ftp://ftp.inria.fr/INRIA/Projects/Atoll/croap/ASPLE-semantics.pdf&quot; rel=&quot;nofollow&quot;&gt;ftp://ftp.inria.fr/INRIA/Projects/Atoll/croap/ASPLE-semantics.pdf&lt;/a&gt;&lt;br&gt;&#xA;It may be too old for your taste, particularly in style.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It was done at the time in preparation for the formal semantics of the Ada programming language. But I guess the denotational semantics of Ada would be too large for your purpose&#xA;(I think it was published too).&lt;/p&gt;&#xA;" OwnerUserId="16132" LastActivityDate="2013-05-23T21:23:01.263" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17765" PostTypeId="2" ParentId="17752" CreationDate="2013-05-23T22:02:43.840" Score="7" Body="&lt;p&gt;Another reason is that this is often without loss of generality, since frequently (though not always - see below) complexity of functions and decision problems are equivalent. Every decision problem can be viewed as a function whose only values are 0 and 1. Conversely, given a function $f$, there are several associated decision problems which usually have the same complexity as $f$, for example:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$\{(x,i) : $ the $i$-th bit of $f(x)$ is 1$\}$.&lt;/li&gt;&#xA;&lt;li&gt;$\{(x,k) : f(x) \leq k\}$ (or $\geq$)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Here is an example where the complexity of function classes and their associated language classes seem to differ: $\mathsf{P}^{\mathsf{NP}[\log ]} = \mathsf{P}^{\mathsf{NP}}_{tt}$ [&lt;a href=&quot;http://books.google.com/books/about/Log_query_classes.html?id=KRv2twAACAAJ&quot;&gt;Wagner 1987 &quot;Log Query Classes&quot;&lt;/a&gt;, &lt;a href=&quot;http://www.cs.rochester.edu/~lane/lane-thesis-87-840.pdf&quot;&gt;Hemaspaandra's 1987 thesis&lt;/a&gt;, &lt;a href=&quot;http://dx.doi.org/10.1016/0890-5401(91)90075-D&quot;&gt;Buss &amp;amp; Hay 1991&lt;/a&gt;],  but if $\mathsf{FP}^{\mathsf{NP}[\log ]} = \mathsf{FP}^{\mathsf{NP}}_{tt}$ then $\mathsf{NP} = \mathsf{RP}$ and $\mathsf{P} = \mathsf{UP}$ [&lt;a href=&quot;http://dx.doi.org/10.1016/S0022-0000(05)80009-1&quot;&gt;Selman 1994&lt;/a&gt;]. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Here the oracle $^{\mathsf{NP}[\log]}$ means the machine gets to make $O(\log n)$ queries to any problem in $\mathsf{NP}$ (say, SAT). The notation $\mathsf{P}^{\mathsf{NP}}_{tt}$ means $\mathsf{P}$ with an $\mathsf{NP}$ oracle, but in which the oracle queries are &lt;em&gt;non-adaptive&lt;/em&gt;: on input $x$, the if $y_i$ is the $i$-th string queried to the oracle, then $y_i$ does not depend on the answers to any previous oracle calls. Equivalently, on input $x$ the machine builds a list $y_1, \dotsc, y_m$ without querying the oracle, queries the oracle about all of the $y_i$ and gets the answers, then proceeds to compute without querying the oracle again.)&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2013-05-23T22:02:43.840" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17767" PostTypeId="2" ParentId="17552" CreationDate="2013-05-24T01:09:53.130" Score="-2" Body="&lt;p&gt;Beware that is not only econometrists but even mathematicians whose education still seems quite unfirm with the NPC=PET definition:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As of 2011 thru half of 2013 &lt;a href=&quot;http://www.proofwiki.org/wiki/Definition:NP-Complete&quot; rel=&quot;nofollow&quot;&gt;http://www.proofwiki.org/wiki/Definition:NP-Complete&lt;/a&gt; still confuses the meaning of NP-complete problem with that of a NP-hard problem which may possibly be in Co-NP or even beyond and by no nondeterminism with constant steprate polynomially bounded.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Economists can likely best be motivated by being pointed to the free markets' NP-completeness proof by P Maymin in &lt;a href=&quot;http://arxiv.org/pdf/1002.2284&quot; rel=&quot;nofollow&quot;&gt;http://arxiv.org/pdf/1002.2284&lt;/a&gt;‎ and be queried about their wisdoms for engineering social-evolutionary-informatory algorithms.&lt;/p&gt;&#xA;" OwnerUserId="16149" LastActivityDate="2013-05-24T01:09:53.130" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17769" PostTypeId="1" CreationDate="2013-05-24T07:10:22.933" Score="2" ViewCount="156" Body="&lt;p&gt;This question is not theoretical, it's about combinatorial meaning.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In graph theory there is a notion of &lt;em&gt;complexity&lt;/em&gt; of a graph, which is equal to the number of spanning trees in a graph, which combinatorically simply means how much the graph is 'connected' (it is the way I understand it, is there any other combinatorial meaning? (there are different meanings of 'connectivity', including &lt;em&gt;algebraic connectivity&lt;/em&gt;, which is second eigenvalue of Laplacian, but this one is more intuitive, as I think)). There is a fast algorithms to compute complexity of a given graph (look &lt;a href=&quot;https://cstheory.stackexchange.com/questions/17419/count-the-number-of-spanning-trees-fast&quot;&gt;here&lt;/a&gt; for the discussion).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is also a fast algorithm to compute the number of minimal spanning trees(MST) of a given  weighted graph (for more information read &lt;a href=&quot;http://www14.informatik.tu-muenchen.de/konferenzen/Jass08/courses/1/pieper/Pieper_Paper.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;this paper&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;The question is:&lt;/strong&gt; what does having several MST's mean in terms of graph and distances? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;P.S. It certainly means that not all distances are different, but, maybe there is some property, which provides more interesting consequences?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thank you!&lt;/p&gt;&#xA;" OwnerUserId="7612" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2013-05-24T07:10:22.933" Title="Graph has several MST what does it mean combinatorically?" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;spectral-graph-theory&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="17771" PostTypeId="2" ParentId="17600" CreationDate="2013-05-24T12:50:25.633" Score="4" Body="&lt;p&gt;For your first question, if $l=1$, then $\frac{K^\frac 23}\epsilon$ is sufficient. This follows the fact that the lower envelope of some lines has the same complexity as the upper convex hull of its dual point system and if you have a convex polygon with integer vertices in $[0,K]^2$, then it can have at most $O(K^\frac 23)$ sides. I know I did not explain the details, but this is anyhow only a partial answer to your question...&lt;/p&gt;&#xA;" OwnerUserId="419" LastActivityDate="2013-05-24T12:50:25.633" CommentCount="13" ContentLicense="CC BY-SA 3.0" />
  <row Id="17772" PostTypeId="1" CreationDate="2013-05-24T12:51:01.873" Score="3" ViewCount="79" Body="&lt;p&gt;Let $G=(V,E)$ be a $3$-regular graph. Let a vertex induced subgraph of $G$ be $i$ extendible if and only if it has both the following properties:  &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;It has no isolated vertices.&lt;/li&gt;  &#xA;&lt;li&gt;It is possible to add $i$ vertices to it without implying (by the very definition of vertex induced subgraph) the introduction of any new edge (in other words, it is possible to add $i$ isolated vertices).&lt;/li&gt;  &#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Clearly, if a vertex induced subgraph is $i$ extendible it is also $j$ extendible for any $j &amp;lt; i$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, let a vertex induced subgraph of $G$ be $i$ obstructed if and only if it is $i$ extendible but not $i+1$ extendible.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm interested in $0$ obstructed vertex induced subgraphs.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Questions&lt;/strong&gt;  &lt;/p&gt;&#xA;  &#xA;  &lt;ol&gt;&#xA;  &lt;li&gt;Let $N$ be the number of $0$ obstructed vertex induced subgraphs of $G$. Is $N$ polynomially bounded in the size of $G$? I believe yes (and I've made some empirical tests that seem to suggest so), but so far I was unable to prove it.&lt;/li&gt;&#xA;  &lt;li&gt;If the answer to question 1. is no, is it nevertheless possible to compute $N$ in polynomial time?  &lt;/li&gt;&#xA;  &lt;li&gt;If the answer to question 2. is no, is it nevertheless possible to compute $N\ mod\ 2$ in polynomial time?&lt;/li&gt;&#xA;  &lt;/ol&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I'm curious to know if anyone already dealt with $0$ obstructed vertex induced subgraphs previously, how he encountered them in the first place, and what is known about them.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another way to express question 1. is the following: which is the maximum number $\alpha$ of vertices that can be removed from $G$ without making it $1$ extendible? My sensation is that $\alpha \in O( log\ |V| )$, as I'm inclined to believe that $\alpha$ is strongly related to the diameter of $G$.&lt;/p&gt;&#xA;" OwnerUserId="947" LastEditorUserId="947" LastEditDate="2013-05-24T13:48:46.533" LastActivityDate="2013-05-24T14:24:04.420" Title="Zero Obstructed vertex induced subgraphs" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;&lt;co.combinatorics&gt;" AnswerCount="1" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="17775" PostTypeId="2" ParentId="17772" CreationDate="2013-05-24T14:24:04.420" Score="4" Body="&lt;p&gt;Sorry this is too long for a comment :)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Maybe the complete graph is a trivial graph but it illustrates that e.g. graphs $G = (V,E)$ with large cliques of size $\Omega(\vert V \vert)$ also have exponentially many $0$ obstructed induced subgraphs. And I don't think that $N$ can be easily computed in such graphs. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I also think that 3-regularity doesnt help: Let $A$, $B$ be a partition of $V$ each of size $\vert V \vert /2$. The induced subgraph consisting of nodes from either $A$ or $B$ is a cycle and the edges between $A$ and $B$ form a perfect matching. This graph is $3$-regular and every induced subgraph consisting of at least all nodes in $A$ or all nodes in $B$ is $0$ obstructed.&lt;/p&gt;&#xA;" OwnerUserId="2517" LastActivityDate="2013-05-24T14:24:04.420" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17778" PostTypeId="2" ParentId="12351" CreationDate="2013-05-24T21:33:24.757" Score="-1" Body="&lt;h2&gt;Not the answer the author was seeking, see comments that clarify what &quot;permutation&quot; is in this context.&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;I cranked out the size of the minimum dominating set for the monogenic permutation group inclusion digraph:&#xA;&lt;a href=&quot;https://oeis.org/A186202&quot; rel=&quot;nofollow&quot;&gt;https://oeis.org/A186202&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;All you have to do is test one member of every prime cycle decomposition.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For each prime cycle it should be sufficent to code the elements as (10101010...), then (01010101..)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;------Clarification------&#xA;The goal of this approach is to model your 2^n test cases as a digraph. If one sucessful test case implies another sucessful test case, then you only have to test the min dominating set of this test space digraph.  In the space of permutations OEIS A186202 is the max you have to test to either detect a non-trivial subgroup or prove none exist; this number is still large but much smaller than n!.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;--Musing--&#xA;By using n-1 zeros and 1 one in n iterations you can detect the fixed permutation you are looking for. After that in O( n{(n-1) \choose (k-1)}(2^(k-1)) you can test that every set of (k-1) variables does not effect each index of the shuffle.  Since k is fixed that is polynomial.  Am I missing something? &lt;/p&gt;&#xA;" OwnerUserId="2021" LastEditorUserId="2021" LastEditDate="2013-07-09T19:13:54.937" LastActivityDate="2013-07-09T19:13:54.937" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="17780" PostTypeId="1" AcceptedAnswerId="17781" CreationDate="2013-05-26T08:12:10.950" Score="7" ViewCount="709" Body="&lt;p&gt;There is a well known fact that we can use the existence of external regret minimization algorithms to prove the minimax theorem of two-player zero-sum games.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The proof can be found in the survey &lt;a href=&quot;http://www.cs.cmu.edu/~avrim/Papers/regret-chapter.pdf&quot;&gt;Learning, Regret minimization, and Equilibria A. Blum and Y. Mansour&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Immediately arises question whether can we use external regret minimization to find mixed Nash equilibrium in finite non-zero two-player game, in other words does zero external regret leads to find mixed Nash equilibrium, in per round sense. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Intuitively it doesn't seem so, I am not sure that we can get external regret equals zero in general case, but there are polynomial time algorithm for good approximation (see the above paper), on the other hand approximation of Nash equilibrium seems like more difficult task.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would appreciate if someone could help to answer the question.&lt;/p&gt;&#xA;" OwnerUserId="16168" LastActivityDate="2013-05-26T13:40:25.593" Title="External Regret and Nash Equilibrium" Tags="&lt;gt.game-theory&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17781" PostTypeId="2" ParentId="17780" CreationDate="2013-05-26T13:40:25.593" Score="11" Body="&lt;p&gt;No, no-regret dynamics do not converge to Nash equilibrium in general games, and its not hard to think of examples. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, no regret dynamics &lt;em&gt;do&lt;/em&gt; always &lt;a href=&quot;http://www.cs.cornell.edu/courses/CS6840/2012sp/Feb17Notes.pdf&quot;&gt;converge to coarse correlated equilibrium&lt;/a&gt; in any game, and no-internal regret dynamics always converge to the set of &lt;a href=&quot;http://en.wikipedia.org/wiki/Correlated_equilibrium&quot;&gt;correlated equilibria&lt;/a&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;They are also known to converge to Nash equilibrium in several special cases of n-player games: for example, &lt;a href=&quot;http://people.csail.mit.edu/costis/network2.pdf&quot;&gt;separable zero sum games&lt;/a&gt;, &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=1146392&quot;&gt;congestion games&lt;/a&gt;, and a few others. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In general, there are no efficient learning dynamics that converge to Nash equilibrium though. Not only is computing a Nash equilibrium PPAD hard, but even ignoring computation, for any &quot;decoupled learning dynamics&quot; (among which no regret dynamics are a special case) &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=1250843&quot;&gt;must exchange exponential communication&lt;/a&gt; before finding a Nash equilibrium in general games.&lt;/p&gt;&#xA;" OwnerUserId="25" LastActivityDate="2013-05-26T13:40:25.593" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17787" PostTypeId="2" ParentId="17481" CreationDate="2013-05-27T11:27:16.237" Score="7" Body="&lt;p&gt;Productive here just means that it isn't stuck.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An unorthodox (seemingly &lt;em&gt;impredicative&lt;/em&gt; ) formulation of the sieve of Eratosthenes is &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;strong&gt;S&lt;/strong&gt; = {&lt;em&gt;n&lt;/em&gt; : &lt;em&gt;n&lt;/em&gt; &amp;in; &lt;strong&gt;N&lt;/strong&gt;, &lt;em&gt;n&lt;/em&gt; &amp;gt; 1} \ &lt;strong&gt;&amp;bigcup;&lt;/strong&gt;&lt;sub&gt;&lt;em&gt;p&lt;/em&gt; &amp;in; &lt;strong&gt;S&lt;/strong&gt;&lt;/sub&gt; { &lt;em&gt;p q&lt;/em&gt; :  &lt;em&gt;q&lt;/em&gt; &amp;in; &lt;strong&gt;N&lt;/strong&gt;, &lt;em&gt;q&lt;/em&gt; &amp;ge; &lt;em&gt;p&lt;/em&gt; }&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;The following code is stuck, reflecting the above definition more or less verbatim:&lt;/p&gt;&#xA;&#xA;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;primes = gaps 2 $ foldr (\p r-&amp;gt; union [p*p, p*p+p..] r) [] primes&#xA;&#xA;union (x:xs) (y:ys) = case compare x y of            -- ~= sort ( (x:xs) ++ (y:ys) )&#xA;                        LT -&amp;gt; x : union  xs (y:ys)&#xA;                        EQ -&amp;gt; x : union  xs    ys&#xA;                        GT -&amp;gt; y : union (x:xs) ys&#xA;&#xA;gaps c (x:xs) | c &amp;lt; x     = c : gaps (c+1) (x:xs)    -- ~= [c,c+2..] \\ (x:xs)&#xA;              | otherwise =     gaps (c+1) xs        --    when null((x:xs)\\[c,c+2..])&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;because &lt;code&gt;primes&lt;/code&gt; list isn't primed with any initial data, so we get unbounded recursion. Asking &lt;code&gt;take 10 primes&lt;/code&gt; produces no output (GHCi actually closes).&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;The following is also stuck (or blows up, whatever you prefer to call it):&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;primes = (2:) . gaps 3 . foldr (\p r-&amp;gt; union [p*p, p*p+p..] r) [] $ primes&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;because each &lt;code&gt;union&lt;/code&gt; demands to know the head of further results on its right, to produce &lt;em&gt;its&lt;/em&gt; results. Asking &lt;code&gt;take 10 primes&lt;/code&gt; produces &lt;code&gt;[2,&lt;/code&gt; and then no output (GHCi will actually close itself on this &lt;em&gt;&quot;racing to the bottom&quot;&lt;/em&gt; ).&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;But this&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;primes = (2:) . gaps 3 . foldr (\p r-&amp;gt; p*p : union [p*p+p, p*p+2*p..] r) [] $ primes&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;works fine, because now getting the &lt;em&gt;head&lt;/em&gt; of the further results doesn't trigger the next &lt;code&gt;union&lt;/code&gt; call &lt;em&gt;right away&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://stackoverflow.com/a/16380903/849891&quot;&gt;On SO you ask&lt;/a&gt; how one could come up with such definition. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;You could &lt;a href=&quot;http://gist.github.com/WillNess/6040471#file-turner-s-to-bird-s-hs&quot; rel=&quot;nofollow noreferrer&quot;&gt;start with Turner's sieve&lt;/a&gt;,&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;primes = sieve [2..]&#xA;sieve (x:xs) = x : sieve [y | y&amp;lt;- xs, rem y x /= 0]&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;then turn it into an &lt;em&gt;optimal&lt;/em&gt; trial division sieve, by postponing the filters creation to the right moment, &lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;primes = 2 : sieve primes [3..]&#xA;sieve (p:ps) xs | (h,t) &amp;lt;- span(&amp;lt;p*p)xs = h ++ sieve ps [y | y&amp;lt;- t, rem y p /= 0]&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;then make it a kind of the sieve of Eratosthenes,&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;primes = 2 : sieve primes [3..]&#xA;sieve (p:ps) xs | (h,t) &amp;lt;- span(&amp;lt;p*p)xs = h ++ sieve ps (minus t [p*p, p*p+p ..])&#xA;&#xA;minus (x:xs) (y:ys) = case compare x y of&#xA;                        LT -&amp;gt; x : minus  xs (y:ys)&#xA;                        EQ -&amp;gt;     minus  xs    ys&#xA;                        GT -&amp;gt;     minus (x:xs) ys&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;The last step is to realize that &lt;code&gt;(...(((xs-a)-b)-c)-...) == xs - (a+(b+(c+(...))))&lt;/code&gt;. &lt;sub&gt;(And the &lt;em&gt;next&lt;/em&gt; step, that &lt;a href=&quot;http://www.haskell.org/haskellwiki/Prime_numbers#Tree_merging&quot; rel=&quot;nofollow noreferrer&quot;&gt;&lt;code&gt;(a+(b+(c+(...)))) == a + ( (b+c) + ( ((d+e)+(f+g)) + ( ... )))&lt;/code&gt;&lt;/a&gt;.)&lt;/sub&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(or, it could &lt;a href=&quot;http://www.haskell.org/pipermail/haskell-cafe/2007-July/028235.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;&quot;dawn on&quot; you&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(&lt;em&gt;edit:&lt;/em&gt;) one more way is to tweak &lt;em&gt;your&lt;/em&gt; SO code actually. :) with &lt;a href=&quot;https://gist.github.com/WillNess/5659214#file-primesa-lhs&quot; rel=&quot;nofollow noreferrer&quot;&gt;just some minor tweaks&lt;/a&gt; it becomes the very nice&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;primesA :: [Integer]&#xA;primesA = 2 : 3 : sieve 5 [9, 15 ..]&#xA;&#xA;sieve p cs@(c : t)&#xA;   | p == c    =     sieve (p + 2) t&#xA;   | otherwise = p : sieve (p + 2) (union cs [p*p, p*p+2*p ..])&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;(though not properly postponed at all) which is finally fixed with&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;primesA = [2,3,5] ++ sieve 7 (foldr (\p r-&amp;gt; p*p : union [p*p+2*p, p*p+4*p ..] r)&#xA;                                    [] $ tail primesA)&#xA;&#xA;sieve p cs@(c : t)&#xA;   | p == c    =     sieve (p + 2) t&#xA;   | otherwise = p : sieve (p + 2) cs&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;as can be seen, your &lt;code&gt;sieve&lt;/code&gt; is what I called &lt;code&gt;gaps&lt;/code&gt; above.&lt;/p&gt;&#xA;" OwnerUserId="10479" LastEditorUserId="-1" LastEditDate="2017-05-23T12:40:09.333" LastActivityDate="2015-12-28T11:47:52.570" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17788" PostTypeId="1" CreationDate="2013-05-27T15:39:45.007" Score="6" ViewCount="138" Body="&lt;p&gt;I came up with a problem below, which looks like a linear programming problem:&lt;br/&gt;&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Given $n$ sets $S_{1}, S_{2},..., S_{n}$, with constraints of :&lt;br/&gt;&#xA;  $$&#xA;\forall i=1, 2, 3,...,n\space\space \left | S_{i} \right |=k;\\&#xA;\left | S_{j_{11}}\bigcup S_{j_{12}} \right |\leqslant k_{1};\\&#xA;\left | S_{j_{21}}\bigcup S_{j_{22}} \right |\leqslant k_{2};\\&#xA;...\\&#xA;\left | S_{j_{m1}}\bigcup S_{j_{m2}} \right |\leqslant k_{m}.\\&#xA;$$&#xA;  $j_{11},j_{21},...,j_{m1},j_{12},j_{22},...,j_{m2}$ are integers between $1$ and $n$. &lt;br/&gt;$k,k_{1},k_{2},...,k_{m}$ are constant positive integers. &lt;br/&gt;&#xA;  The questions is:&#xA;  For a positive integer $q$,Do such $S_{1}, S_{2},..., S_{n}$ exsit, such that $\left| \bigcup_{i}^{n}S_{i} \right |=q$?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I came up with this problem in order to judge complexity of &lt;a href=&quot;https://cstheory.stackexchange.com/questions/17412&quot;&gt;another graph problem&lt;/a&gt;. But I failed to find any relative research. So has complexity of this kind of problem been studied? Is this problem NP-Complete or just P? How to judge this problem? Thanks.&lt;br/&gt;&#xA;By the way, what if $k=2,k_{1}=k_{2}=...=k_{m}=3$?&lt;/p&gt;&#xA;" OwnerUserId="15809" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2013-05-28T07:16:02.713" Title="What's complexity of this set problem which looks like &quot;Linear Programming&quot;?" Tags="&lt;set-theory&gt;&lt;cc.complexity-theory&gt;&lt;np-complete&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17789" PostTypeId="1" CreationDate="2013-05-27T16:59:20.423" Score="11" ViewCount="461" Body="&lt;p&gt;This is a follow up to my previous question: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/questions/17578&quot;&gt;Best known deterministic time complexity lower bound for a natural problem in NP&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I find it bewildering that we haven't been able to prove any quadratic deterministic time lower bound for any interesting NP problem that people care about and try to design better algorithms for. Our Exponential Time Hypothesis conjecture states that SAT cannot be solved in subexponential deterministic time, yet we cannot even prove SAT (or any other interesting NP problem) requires quadratic time! &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I know interesting is somewhat subjective and vague. I don't have a definition. But let me try to describe what I consider to be an interesting problem: &#xA;I am talking about problems which more than a few people find interesting. I am not talking about isolated problems mainly designed to answer some theoretical question. If people are not trying to find faster algorithms for a problem then it is an indication that the problem is not that interesting.&#xA;If you want concrete examples of interesting problems consider the problems in Karp's 1972 paper or in Garey and Johnson 1979 (most of them). &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there any explanation for why we haven't been able to prove any quadratic deterministic time lower bound for any interesting NP problem?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="14197" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2013-05-29T03:19:21.460" Title="Is there an explanation for the difficulty of proving quadratic lower bounds for interesting NP problems?" Tags="&lt;cc.complexity-theory&gt;&lt;lower-bounds&gt;&lt;big-picture&gt;&lt;barriers&gt;" AnswerCount="2" CommentCount="8" FavoriteCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="17795" PostTypeId="1" CreationDate="2013-05-28T01:54:56.720" Score="1" ViewCount="246" Body="&lt;p&gt;Are Ising spins scalar or operators? I am not a condensed matter physicist hence having some confusion. I have learnt about Ising models from adiabatic quantum algorithm papers. For example &lt;a href=&quot;http://dwave.files.wordpress.com/2007/03/20070301_demo_slides.pdf&quot; rel=&quot;nofollow&quot;&gt;this presentation&lt;/a&gt; or &lt;a href=&quot;http://arxiv.org/abs/0704.1287&quot; rel=&quot;nofollow&quot;&gt;this paper&lt;/a&gt; encodes their quantum adiabatic algorithm for an Ising model. In an Ising model the spins are $\pm 1$. In his original &lt;a href=&quot;http://arxiv.org/abs/quant-ph/0001106&quot; rel=&quot;nofollow&quot;&gt;adiabatic quantum computation paper&lt;/a&gt;, Farhi didn't mention about Ising models. Moreover he explicitly used Pauli's spin matrices and not the  $\pm 1$ spins.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can we use $\pm$ spins and Pauli's matrices interchangeability at least in the context of adiabatic quantum algorithms?&lt;/p&gt;&#xA;" OwnerUserId="13408" LastActivityDate="2013-05-28T12:27:12.703" Title="Ising spin vs Pauli spin matrices" Tags="&lt;quantum-computing&gt;&lt;optimization&gt;&lt;quantum-information&gt;&lt;statistical-physics&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="0" ClosedDate="2013-05-31T17:18:39.233" ContentLicense="CC BY-SA 3.0" />
  <row Id="17796" PostTypeId="1" AcceptedAnswerId="17836" CreationDate="2013-05-28T02:01:49.067" Score="3" ViewCount="210" Body="&lt;p&gt;I am interested what are the open problems on unification methods for associative-commutative functions, and what is the state-of-the-art work? I have found &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=322262&quot; rel=&quot;nofollow&quot;&gt;some&lt;/a&gt; &lt;a href=&quot;http://link.springer.com/chapter/10.1007/3-540-10009-1_25&quot; rel=&quot;nofollow&quot;&gt;old&lt;/a&gt; &lt;a href=&quot;http://link.springer.com/chapter/10.1007/3-540-10009-1_25&quot; rel=&quot;nofollow&quot;&gt;work&lt;/a&gt;, but nothing new. I am wondering if I am missing something since I am quite new to this.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It might help to say that I am generally interested in this area as I would like to apply it to modern programming languages, in terms of code canonicalization. &lt;/p&gt;&#xA;" OwnerUserId="16196" LastActivityDate="2013-05-30T10:06:35.803" Title="State-of-the-art unification for associative-commutative functions" Tags="&lt;pl.programming-languages&gt;&lt;term-rewriting-systems&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="17798" PostTypeId="1" AcceptedAnswerId="17804" CreationDate="2013-05-28T06:00:01.333" Score="6" ViewCount="197" Body="&lt;p&gt;Suppose we are given a linear equation $Ax = b$, where $A \in Z_{q}^{m \times n}$ and $b \in Z_{q}^{m}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that $q$ is NOT necessarily a prime here. I wonder whether the following can be done in $poly(n, m ,q)$ time:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Check whether there exists $x \in Z_{q}^{n}$ such that $Ax = b$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Suppose there exists $x$ such that $Ax = b$, find such $x$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Thanks.&lt;/p&gt;&#xA;" OwnerUserId="16197" LastActivityDate="2013-05-28T09:06:29.173" Title="Solving Linear Equations over $Z_q$" Tags="&lt;linear-equations&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17799" PostTypeId="2" ParentId="17788" CreationDate="2013-05-28T07:16:02.713" Score="4" Body="&lt;p&gt;If I'm not mistaken, the case you specify (with $k =2$, $k_i = 3$) is in P. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that the condition $|S \cup S'| \le 3$ is equivalent to saying that $S, S'$ intersect (since $k=2$). Thus, if you think of the $S_i$ as vertices, then the constraints specify a graph $G$, and your problem reduces to finding a graph $H$ such that $G$ is the &lt;a href=&quot;http://en.wikipedia.org/wiki/Line_graph&quot; rel=&quot;nofollow&quot;&gt;line graph&lt;/a&gt; of $H$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Verifying that $G$ is indeed a line graph and then finding $H$ can be done in &lt;a href=&quot;http://en.wikipedia.org/wiki/Line_graph#CITEREFRoussopoulos1973&quot; rel=&quot;nofollow&quot;&gt;linear time&lt;/a&gt;. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2013-05-28T07:16:02.713" CommentCount="11" ContentLicense="CC BY-SA 3.0" />
  <row Id="17801" PostTypeId="2" ParentId="17718" CreationDate="2013-05-28T07:46:24.937" Score="3" Body="&lt;p&gt;This answer is not a reference but rather to make some of the notions precise in your question. First, semicomputable does stand for what you say but I think there is a big difference between upper and lower semicomputable - in case of the former I have no clue how you would sample.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Second, do you have a measure or a semimeasure? In a semimeasure the sum of the probabilities is at most 1, so I again do not know how you would sample, as there is no full distribution (of course you can say that you normalize by dividing the sum of the probabilities but that might not be computable, you could never know when to give up a computational path).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, if you have a lower semicomputable measure, then it is in fact equivalent to have a PTM that can sample with this distribution (although we must allow the sampling to run for arbitrarily long, as long as it stops eventually).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think the best reference on the topic is Ming Li and Paul Vitányi: An Introduction to Kolmogorov Complexity and Its Applications. For another available online see chapter 6.2 of László Lovász: Complexity of Algorithms at &lt;a href=&quot;http://www.cs.elte.hu/~dom/complexitynew.pdf&quot; rel=&quot;nofollow&quot;&gt;http://www.cs.elte.hu/~dom/complexitynew.pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="419" LastActivityDate="2013-05-28T07:46:24.937" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="17802" PostTypeId="2" ParentId="17481" CreationDate="2013-05-28T08:14:48.257" Score="7" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;Is that the technical term referring to productive sets and creative sets, or is it just a manner of speaking?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Neither, actually -- it's a different technical term. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The type of streams of natural numbers can be interpreted as the final coalgebra for the functor $F(X) \triangleq \mathbb{N} \times X$. That is, define the category of $F$-algebras as follows:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Objects are pairs $(X, \alpha)$, where $X$ is a set and $\alpha : X \to F(X)$ is a coalgebra for $F$. In this case, $\alpha : X \to \mathbb{N} \times X$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Loosely speaking, you can think of $X$ as a representation type for a datatype which supports a stream interface, by letting you get the head and the tail of any $x \in X$ by calling $\alpha$. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Morphisms between objects $(X, \alpha)$ and $(Y, \beta)$ are those functions between sets $f : X \to Y$, which additionally respect the coalgebra structure. That is, we want $f; \beta = \alpha; F(f)$. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Then, the type of streams is a final object in this category. That is, it's a set $(\mathrm{Stream}, \mathsf{cons})$, with the property that for every $(X, \alpha : X \to \mathbb{N} \times X)$, there is a unique map $X \to \mathrm{Stream}$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The existence and uniqueness of that terminal map can be seen as a &lt;em&gt;principle of definition&lt;/em&gt; for streams -- it says that you can take anything that &quot;supports the stream interface&quot;, and then use it define an actual stream by using it only to produce the successive elements of the stream. In functional programming terms, this says that if you have a function &lt;code&gt;f : X → ℕ × X&lt;/code&gt;, then the following corecursive definition is well-founded:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;build : X → Stream&#xA;build x = fst (f x) : build (snd (f x))&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;We can parameterize over the function &lt;code&gt;f&lt;/code&gt; to get the &lt;code&gt;unfold&lt;/code&gt; operator of functional programming.&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;unfold : (X → ℕ × X) → X → Stream&#xA;unfold f x = fst (f x) : unfold f (snd (f x))&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Definitions following the pattern of &lt;code&gt;build&lt;/code&gt; are called &quot;productive&quot;, since they are guaranteed to let you produce the corecursive data structure to any depth you desire --- even though the data structure is potentially infinite, you are guaranteed to reach any finite prefix in finite time. In this case, the intuition is that every recursive call is guarded by an application of the cons constructor &lt;code&gt;:&lt;/code&gt;, and so repeatedly unfolding the definition yields ever more elements of the stream. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let's see how the &lt;code&gt;merge'&lt;/code&gt; function in your example code fits this pattern:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;merge' (x:xs, y:ys) | x&amp;lt; y = x:merge' (xs, y:ys)&#xA;                    | x==y = x:merge' (xs,   ys)&#xA;                    | x&amp;gt; y = y:merge' (x:xs, ys)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Notice that the generating type $X$ is $\mathtt{Stream} \times \mathtt{Stream}$, and we can define a function $f : (\mathtt{Stream} \times \mathtt{Stream}) \to \mathbb{N} \times \mathtt{Stream} \times \mathtt{Stream}$ as follows:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;f (x:xs, y:ys) | x &amp;lt; y  = (x, (xs, y:ys))&#xA;               | x == y = (x, (xs,   ys))&#xA;               | x &amp;gt; y  = (y, (x:xs, ys)) &#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;and then define &lt;code&gt;merge'&lt;/code&gt; as:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;merge' = unfold f &#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;" OwnerUserId="657" LastEditorUserId="657" LastEditDate="2013-05-28T11:15:49.587" LastActivityDate="2013-05-28T11:15:49.587" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17803" PostTypeId="1" CreationDate="2013-05-28T08:53:09.613" Score="-1" ViewCount="2195" Body="&lt;p&gt;I think I remember a claim that asynchronous message passing can be implemented by synchronous message passing but not vice versa. Unfortunately, I don't remember an article name, an author, or even a field. Does this ring a bell, or am I delusional?&lt;/p&gt;&#xA;" OwnerUserId="1720" LastEditorUserId="1720" LastEditDate="2013-05-28T09:37:41.317" LastActivityDate="2013-05-30T10:01:25.180" Title="synchronous vs. asynchronous message passing" Tags="&lt;concurrency&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17804" PostTypeId="2" ParentId="17798" CreationDate="2013-05-28T09:06:29.173" Score="6" Body="&lt;p&gt;Yes, it is well known it can be done by diagonalizing the matrix using row &lt;em&gt;and&lt;/em&gt; column operations. An outline of the procedure is given in the paper &lt;a href=&quot;http://dx.doi.org/10.1006/inco.2002.3173&quot;&gt;The Complexity of Solving Equations over Finite Groups&lt;/a&gt; by Goldmann and Russell.&lt;/p&gt;&#xA;" OwnerUserId="313" LastActivityDate="2013-05-28T09:06:29.173" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17805" PostTypeId="2" ParentId="17803" CreationDate="2013-05-28T09:40:07.387" Score="2" Body="&lt;p&gt;You can create a synchronous messaging system with an asynchronous messaging system. This is done by waiting for an acknowledgement directly after sending a message.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An example for this is the actor model which is able to build a synchronous messaging system like CSP.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But you also can simulate a asynchronous messaging system.&#xA;When you use buffers to store the message. So the Receiver can access it when he wants to.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An example for this would be the email system which works with TCP.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In &lt;a href=&quot;https://www.google.de/url?sa=t&amp;amp;rct=j&amp;amp;q=&amp;amp;esrc=s&amp;amp;source=web&amp;amp;cd=1&amp;amp;ved=0CC4QFjAA&amp;amp;url=http://www.vs.inf.ethz.ch/publ/papers/mattern-dc-1996.pdf&amp;amp;ei=ChenUaDSCI7ItAarw4HwBA&amp;amp;usg=AFQjCNGC7_LI5SRij4uxSjgGyvztlbBing&amp;amp;bvm=bv.47244034,d.Yms&quot; rel=&quot;nofollow&quot;&gt;Synchronous, asynchronous, and causally ordered communications&lt;/a&gt; they make the statement that the simulation of both is a well known fact.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In &lt;a href=&quot;https://www.google.de/url?sa=t&amp;amp;rct=j&amp;amp;q=&amp;amp;esrc=s&amp;amp;source=web&amp;amp;cd=19&amp;amp;ved=0CFoQFjAIOAo&amp;amp;url=http://www.cypherpunks.to/erights/history/actors/AITR-844.pdf&amp;amp;ei=fx-nUdTwOoTSsgbuzIHgBA&amp;amp;usg=AFQjCNFxoqIs2Uq1qMGYbCFaKd3xq7mHqQ&quot; rel=&quot;nofollow&quot;&gt;Actors, a model of concurrent computation&lt;/a&gt; Agha makees the statement that synchronous messages are always build out of asynchonous messages.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT:&lt;/strong&gt;&#xA;I changed my original answer, thanks to the comments.&#xA;I really thought that Tanenbaum had made a comment on this, but he didn't and since i come from the actor model background i always assume message to be asynchonous even synchronous ones.&lt;/p&gt;&#xA;" OwnerUserId="10811" LastEditorUserId="10811" LastEditDate="2013-05-30T10:01:25.180" LastActivityDate="2013-05-30T10:01:25.180" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="17806" PostTypeId="1" CreationDate="2013-05-28T11:48:38.147" Score="3" ViewCount="953" Body="&lt;p&gt;Let $U = [1..n]$ be the universe of $n$ elements and $C$ be a  collection of subsets of $U$, $C= S_1, \dots, S_m$, where $S_i \subset U$. Then the problem is to find as many partitions of $C$, such that each partition covers the universe U. The hardness results can be  derived for this problem, but are there any approximation algorithms known for this ? I gather that the geometric version of this problem has some approximation algorithms, but is there any thing known in the general case ?&lt;/p&gt;&#xA;" OwnerUserId="16200" LastEditorUserId="3247" LastEditDate="2013-05-28T12:56:04.060" LastActivityDate="2013-05-28T17:27:23.197" Title="Finding maximum number of disjoint set covers" Tags="&lt;ds.algorithms&gt;&lt;approximation&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17807" PostTypeId="2" ParentId="17795" CreationDate="2013-05-28T12:27:12.703" Score="2" Body="&lt;p&gt;Neither, they are domain elements.  Any two domain elements would do: $\{+1, -1\}$, $\{0,1\}$, $\{\text{cat}, \text{dog}\}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Physicists have wonderful imaginations and thus name certain parameters based on their physical intuition for the behavior of nature.  In this case, they interpret the states of the particles interacting in the Ising model as either spinning up or down.  Furthermore, opposite spins produce opposite effects, such as their resulting magnetic fields being the negative of each other.  Thus, the state of the particles (i.e. the spins) are succinctly represented in the model as either $+1$ or $-1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another good naming example from physics is in string theory.  The equations that describe the motion of these exceedingly small &quot;objects&quot; reminded the physicists of the equations that describe the motion of strings.  Thus the name.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The &lt;a href=&quot;http://en.wikipedia.org/wiki/Potts_model&quot; rel=&quot;nofollow&quot;&gt;Potts model&lt;/a&gt; is a generalization of the Ising model.  One of the generalizations is that each particle can take one of $q$ values (i.e. the domain size is now $q$).  By continuing the intuitive naming from the Ising model, these $q$ states are also called spins.&lt;/p&gt;&#xA;" OwnerUserId="3964" LastActivityDate="2013-05-28T12:27:12.703" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="17808" PostTypeId="1" AcceptedAnswerId="17811" CreationDate="2013-05-28T14:21:32.943" Score="7" ViewCount="877" Body="&lt;p&gt;How hard is computing the spectral norm of a matrix? This &lt;a href=&quot;http://www2.isye.gatech.edu/~nemirovs/Daureen.pdf&quot;&gt;paper&lt;/a&gt; says,&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;... it suffices to say that, except for few particular cases, the Matrix&#xA;  Norm problem is NP-hard.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I expected that the relevant chapter 2 would describe those exceptional cases but failed to find it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can anyone suggest a more definitive reference for computational complexity of spectral norm of a matrix?&lt;/p&gt;&#xA;" OwnerUserId="13408" LastActivityDate="2013-05-28T15:25:04.827" Title="The computational complexity of spectral norm of a matrix" Tags="&lt;np-hardness&gt;&lt;quantum-computing&gt;&lt;matrices&gt;&lt;quantum-information&gt;&lt;norms&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="17809" PostTypeId="5" CreationDate="2013-05-28T15:18:26.887" Score="0" Body="&lt;p&gt;In mathematics, a &lt;a href=&quot;http://en.wikipedia.org/wiki/Submodular_set_function&quot; rel=&quot;nofollow&quot;&gt;submodular set function&lt;/a&gt; (also known as a submodular function) is a set function whose value, informally, has the property that the difference in the value of the function that a single element makes when added to an input set decreases as the size of the input set increases. &#xA;These functions have a natural diminishing returns property which makes them suitable for many applications. The marginal gain from adding an element to a set A is at least as high as the marginal gain from adding the same element to a superset of A.&#xA;Ex:V might be colors of paint in a paint manufacturer: green, red, blue, yellow, white, etc.&#xA;Producing green when you are already producing yellow and blue is probably cheaper than if you were only producing some other colors.&lt;/p&gt;&#xA;" OwnerUserId="16195" LastEditorUserId="16195" LastEditDate="2013-05-28T16:11:52.120" LastActivityDate="2013-05-28T16:11:52.120" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17810" PostTypeId="4" CreationDate="2013-05-28T15:18:26.887" Score="0" Body="In mathematics, submodular functions are set functions which usually appear in approximation algorithms, functions modeling user preferences in game theory,economics, combinatorial optimization, electrical networks and operations research.&#xD;&#xA;&#xD;&#xA;" OwnerUserId="16195" LastEditorUserId="16195" LastEditDate="2013-05-28T16:11:38.793" LastActivityDate="2013-05-28T16:11:38.793" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17811" PostTypeId="2" ParentId="17808" CreationDate="2013-05-28T15:25:04.827" Score="8" Body="&lt;p&gt;The answer to your question is the contents of section 1.3.2, titled &quot;[w]hen $\mathcal{P}_{p,r}$ is known to be difficult&quot;. (Here $\mathcal{P}_{p,r}$ is the problem of computing the norm $\|A\|_{p,r} = \sup_{\|x\|_p=1} \|Ax\|_r$.) According to that section, the only cases which are known to be difficult are $\mathcal{P}_{\infty,1},\mathcal{P}_{\infty,2},\mathcal{P}_{2,1}$. For example, $\mathcal{P}_{\infty,1}$ (even restricted to positive semidefinite matrices) is a generalization of MAX CUT. Since $\|B'B\|_{\infty,1} = \|B\|_{\infty,2}^2$, $\mathcal{P}_{\infty,2}$ is also hard. Finally, $\mathcal{P}_{2,1}$ is as hard as $\mathcal{P}_{\infty,2}$ as part of the more general observation (proved in section 1.3.1) that $\mathcal{P}_{p,r}$ is as hard as $\mathcal{P}_{1/(1-1/r), 1/(1-1/p)}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The thesis goes on to prove that $\mathcal{P}_{p,r}$ is hard whenever $p &amp;gt; r$ - this is the chapter you were reading (chapter 2).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Section 1.3.1 described some easy cases: $\mathcal{P}_{1,\ast}$, the symmetric $\mathcal{P}_{\ast,\infty}$, and the case that MCH mentioned, $\mathcal{P}_{2,2}$. Section 1.3.3 covers some approximability results, several novel of which are described in section 1.4 and the remaining chapters.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The title of section 1.3.2 appears in the table of contents (page iii) - just a hint for next time.&lt;/p&gt;&#xA;" OwnerUserId="40" LastActivityDate="2013-05-28T15:25:04.827" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17813" PostTypeId="2" ParentId="17806" CreationDate="2013-05-28T17:27:23.197" Score="3" Body="&lt;p&gt;Yes, this is closely related to the Domatic Partition problem. See the paper below.&#xA;&lt;a href=&quot;http://epubs.siam.org/doi/abs/10.1137/S0097539700380754&quot; rel=&quot;nofollow&quot;&gt;http://epubs.siam.org/doi/abs/10.1137/S0097539700380754&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One can get the following results. Given a set cover instance let $k$ be the minimum over all elements in $U$, the number of sets that contain that element. Then it is clear that we can have at most $k$ disjoint set covers. The paper above shows that there always exist $\max\{1, k/(c \log n)\}$ disjoint set covers where $c$ is a sufficiently large constant. This immediately gives an $O(\log n)$-approximation. Moreover, it is hard to approximate to within this factor (modulo constants). And there are examples where the number of disjoint set covers is $O(k/\log n)$. &lt;/p&gt;&#xA;" OwnerUserId="176" LastActivityDate="2013-05-28T17:27:23.197" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="17816" PostTypeId="1" AcceptedAnswerId="17850" CreationDate="2013-05-28T20:05:33.717" Score="12" ViewCount="360" Body="&lt;p&gt;I'm currently doing some Formal Language research involving classes of languages above Regular but below Context Free. I'm looking at things like Reversal-Bounded Multicounter Machines, Single-stack counter machines, deterministic CFLs, etc.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm wondering if anybody knows of a good book or survey paper which outlines the properties of these languages. Most of what I'm looking at is too obscure or too new to be in my Hopcroft-Ullman book, even the 1979 edition.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Mainly I'm looking for which language classes are contained in one-another, the closure properties of these languages, and the decidability of basic problems (F-problems) on these languages.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some example of things I'd look up in this reference:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Are all languages accepted by Reversal-bounded Multi-counter machines also accepted by non-reversal-bounded single counter machines?&lt;/li&gt;&#xA;&lt;li&gt;Are the deterministic reversal-bounded MultiCounter languages closed under left and right concatenation?&lt;/li&gt;&#xA;&lt;li&gt;Is universality decidable for single-counter machines.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;These are just example questions, I have many others that come up in my day-to-day work.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As a starting point, I've tried tracing which papers cite Oscar Ibarra's  &quot;Reversal-Bounded Multicounter Machines and Their Decision Problems&quot;, but haven't found much.&lt;/p&gt;&#xA;" OwnerUserId="16208" LastEditorUserId="5693" LastEditDate="2013-05-28T22:17:31.240" LastActivityDate="2013-05-31T16:01:01.957" Title="Is there a book/survey-paper outlining language class hierarchies, closure properties, etc" Tags="&lt;reference-request&gt;&lt;co.combinatorics&gt;&lt;fl.formal-languages&gt;&lt;automata-theory&gt;&lt;research-practice&gt;" AnswerCount="1" CommentCount="12" FavoriteCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="17818" PostTypeId="2" ParentId="17789" CreationDate="2013-05-29T01:49:04.750" Score="5" Body="&lt;p&gt;Here is an explanation from Lipton's blog: &lt;a href=&quot;http://rjlipton.wordpress.com/2009/02/12/bait-and-switch-why-lower-bounds-are-so-hard/&quot;&gt;Bait and Switch: Why Are Lower Bounds so Hard?&lt;/a&gt; &lt;/p&gt;&#xA;&#xA;&lt;p&gt;As Grochow observed, Rudich's insight applies equally well to $n^2$ lower bounds as to super-polynomial lower bounds. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Rudich's insight explains why any lower bound proof that it is based on the following method cannot work. &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&quot;any computation that computes $f$ must make slow progress toward $f$. Each computational step can only get you a little bit closer to the final goal, thus the computation will take many steps.&quot;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Basically, there is no measure of progress that can survive the Bait and Switch trick of Rudich and successfully leads to a lower bound.  &lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2013-05-29T03:01:17.340" LastActivityDate="2013-05-29T03:01:17.340" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17819" PostTypeId="1" AcceptedAnswerId="17833" CreationDate="2013-05-29T02:46:14.093" Score="10" ViewCount="322" Body="&lt;p&gt;The complexity class $\textrm{S}_2^\textrm{P}$ is defined as follows (from &lt;a href=&quot;http://en.wikipedia.org/wiki/S2P_%28complexity%29&quot; rel=&quot;noreferrer&quot;&gt;Wikipedia&lt;/a&gt;):&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;A language $L$ is in $S_2^P$ if there exists a polynomial-time predicate $P$ such that&lt;/p&gt;&#xA;  &#xA;  &lt;ul&gt;&#xA;  &lt;li&gt;If $x \in L$, then there exists a $y$ such that for all $z$, $P(x,y,z)=1$&lt;/li&gt;&#xA;  &lt;li&gt;If $x \notin L$, then there exists a $z$ such that for all $y$, $P(x,y,z)=0$&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;  &#xA;  &lt;p&gt;where the size of both $y$ and $z$ must be polynomial in the size of $x$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Also see &lt;a href=&quot;http://blog.computationalcomplexity.org/2002/08/complexity-class-of-week-s2p.html&quot; rel=&quot;noreferrer&quot;&gt;Fortnow's post&lt;/a&gt; and the &lt;a href=&quot;https://complexityzoo.uwaterloo.ca/Complexity_Zoo%3aS#s2p&quot; rel=&quot;noreferrer&quot;&gt;complexity zoo&lt;/a&gt; for more informal explanations and discussions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;While this class seems reasonably natural, I can't find an example of a problem that's in $\textrm{S}_2^\textrm{P}$ for a non-trivial reason (i.e., not just because it is in NP or MA or some class contained in $\textrm{S}_2^\textrm{P}$). Does anyone know a problem that fits this description?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If no one can think of a problem like that, I wouldn't mind a problem that's in a sub-class of $\textrm{S}_2^\textrm{P}$, but it's non-trivial to show this, whereas the problem is obviously in $\textrm{S}_2^\textrm{P}$.&lt;/p&gt;&#xA;" OwnerUserId="206" LastEditorUserId="4193" LastEditDate="2013-05-29T16:41:43.217" LastActivityDate="2013-05-30T05:46:01.680" Title="A natural problem in $\textrm{S}_2^\textrm{P}$?" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;" AnswerCount="1" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="17820" PostTypeId="2" ParentId="17789" CreationDate="2013-05-29T03:19:21.460" Score="4" Body="&lt;p&gt;You can find another view of the &quot;bait and switch&quot; argument in the &lt;a href=&quot;http://www.cs.princeton.edu/theory/complexity/naturalchap.pdf&quot; rel=&quot;nofollow&quot;&gt;natural proofs&lt;/a&gt; chapter of Arora-Barak. They use the same argument to argue that a &quot;formal complexity measure&quot; style lower bound argument must apply to random functions with high probability. But if a formal complexity measure&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;assigns high complexity to a random function &lt;/li&gt;&#xA;&lt;li&gt;does not assign high complexity to an easy function&lt;/li&gt;&#xA;&lt;li&gt;can be easily computed from the truth table of a function&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;then it can be used to break pseudorandom generators. This is what the natural proofs barrier is, informally. We argued that 1. is very reasonable for many approaches to lower bounds, without 2. the complexity measure seems useless, and 3. is based on the observation that we have been able to turn most combinatorial existence proofs into efficient algorithms, and on the intuition that an inherently non-constructive proof is a hard one to devise. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can make the above more concrete by coming up with very efficient pseudorandom generators. If a function can be computed inside a complexity $C$ that looks pseudorandom to functions from a class $C'$, then a measure computable inside $C'$ is doomed for lowerbounds against $C$. &lt;/p&gt;&#xA;" OwnerUserId="4896" LastActivityDate="2013-05-29T03:19:21.460" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17821" PostTypeId="1" AcceptedAnswerId="17826" CreationDate="2013-05-29T09:16:26.517" Score="1" ViewCount="142" Body="&lt;p&gt;Consider multiunit auction (as it is defined in Introduction to Mechanism&#xA;Design by Noam Nisan) , where $k$ identical units of some good are sold in an auction (where $k &amp;lt; n$). In the simple case each bidder is interested in only a single unit. In this case $A = \{S–wins|S ⊂ I, |S| = k\}$, and a bidder’s valuation $v_i$ gives some fixed value $v^∗$ if $i$ gets an item, i.e. $v_i(S) = v^∗$ if $i ∈ S$ and $v_i(S) = 0$ otherwise. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let consider possible solutions:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The first incentive compatible solutions seems like generalization of Vickrey auction. Maximizing social welfare means allocating the items to the $k$ highest bidders, and in the VCG mechanism with the pivot rule, each of them should pay the $k + 1$’st highest offered price. It's obvious incentive compatible just by generalization of Vickrey auction.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But what if, the bidder with the highest bid pays the price equal to the second highest bid and the bidder with the second highest bid pays the price equal to the third highest bid ans so on. Obviously their valuation will be much less as in the first solution, but more interesting question is whether the second solution incentive compatible?&lt;/p&gt;&#xA;" OwnerUserId="6788" LastActivityDate="2013-05-29T15:53:50.960" Title="Multiunit Auction" Tags="&lt;gt.game-theory&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17822" PostTypeId="1" CreationDate="2013-05-29T10:21:34.337" Score="4" ViewCount="175" Body="&lt;p&gt;I have a $\text{NEXP}$-hard problem, that can be solved by a $\text{NEXP}^\text{NP}$ algorithm using a single oracle call.&#xA;So from &lt;a href=&quot;http://ecommons.library.cornell.edu/bitstream/1813/6617/1/86-777.pdf&quot; rel=&quot;nofollow&quot;&gt;Hemaspaandra&lt;/a&gt; we know it is in $\text{P}^\text{NE}$, giving us&#xA;$\text{NEXP}$-completeness under Cook-reductions.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Are there (more or less) natural problems complete for $\text{P}^\text{NE}$?&lt;/li&gt;&#xA;&lt;li&gt;What do we know about the space between $\text{NEXP}$ and $\text{P}^\text{NE}$?&lt;/li&gt;&#xA;&lt;li&gt;Anything else that might help to sharpen this result (to Karp-reductions)? &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="1739" LastEditorUserId="1739" LastEditDate="2013-05-31T09:54:33.053" LastActivityDate="2013-05-31T09:54:33.053" Title="What do we know about $\text{P}^\text{NE}$" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;complexity-classes&gt;&lt;nexp&gt;" AnswerCount="0" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17823" PostTypeId="2" ParentId="9426" CreationDate="2013-05-29T13:06:05.080" Score="4" Body="&lt;p&gt;The fields of descriptive complexity, and implicit complexity could be viewed as taking this kind of approach. They both turn a resource constraint (like $P$ or $NP$) into expressibility of the problem in a logical formalism (for descriptive complexity) or in a specific programming language (for implicit complexity).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So it is not per se related to infinite computation, but rather to expressibility of the problem in a given model. However it is close in the sense that it turns a quantitative problem into a qualitative one.&lt;/p&gt;&#xA;" OwnerUserId="8953" LastActivityDate="2013-05-29T13:06:05.080" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17824" PostTypeId="1" CreationDate="2013-05-29T15:12:50.973" Score="2" ViewCount="161" Body="&lt;p&gt;Do there exist intermediate problems (in the sense of Ladner's Theorem) for FP vs. #P? I assume that something is known, because I read some papers concerned with FP/#P dichotomies. However, I couldn't find a reference.&lt;/p&gt;&#xA;" OwnerUserId="16217" LastEditorUserId="109" LastEditDate="2013-05-30T08:32:55.650" LastActivityDate="2013-05-30T08:32:55.650" Title="Intermediate Problems between FP and #P" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;complexity-classes&gt;&lt;counting-complexity&gt;&lt;conditional-results&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17825" PostTypeId="1" AcceptedAnswerId="17853" CreationDate="2013-05-29T15:43:56.580" Score="7" ViewCount="769" Body="&lt;p&gt;Stating the title in another way, how to convince a strong applied CS department that a theorist would be a better choice than one more applied computer scientist?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I understand that it is natural for a applied department to want one more expert on a specific field. On the other hand, diversity is important and I think the importance of a theorist goes beyond better theory courses.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is the importance of a TCS researcher in a mostly applied CS department?&lt;/p&gt;&#xA;" OwnerUserId="282" LastActivityDate="2013-06-05T08:54:20.223" Title="What is the importance of a TCS researcher in a mostly applied CS department?" Tags="&lt;soft-question&gt;&lt;career&gt;" AnswerCount="3" CommentCount="4" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="17826" PostTypeId="2" ParentId="17821" CreationDate="2013-05-29T15:53:50.960" Score="1" Body="&lt;p&gt;This is not quite the same as the usual generalized-second-price-auction setting because you are assuming the items are identical, whereas in a GSP setting there is an order on the items (slot A is better than slot B is better than ...).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But anyway, your auction is not dominant-strategy-incentive compatible. Suppose the bidders' true valuations are $v_1 &amp;gt; v_2 &amp;gt; \dots &amp;gt; v_k &amp;gt; \dots &amp;gt; v_n$, and suppose every bidder reports her valuation truthfully.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The first bidder wins an item and pays $v_2$. If she had bid $v_k + \epsilon$, she would have still won an item, but only paid $v_k$. So she would have preferred to lie and bid $v_k + \epsilon$.&lt;/p&gt;&#xA;" OwnerUserId="8243" LastActivityDate="2013-05-29T15:53:50.960" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17827" PostTypeId="2" ParentId="17824" CreationDate="2013-05-29T16:36:23.720" Score="4" Body="&lt;p&gt;Use Schöning's theorem:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Let $A_1$, $A_2$ be recursive sets and $C_1$, $C_2$ be classes of recursive sets with the following properties:&lt;/p&gt;&#xA;  &#xA;  &lt;ol&gt;&#xA;  &lt;li&gt;$A_1 \notin C_1$, $A_2 \notin C_2$&lt;/li&gt;&#xA;  &lt;li&gt;$C_1$ and $C_2$ are recursively presentable, &lt;/li&gt;&#xA;  &lt;li&gt;$C_1$ and $C_2$ are closed under finite variations. &lt;/li&gt;&#xA;  &lt;/ol&gt;&#xA;  &#xA;  &lt;p&gt;Then there exists a recursive set $A$ such that:&lt;/p&gt;&#xA;  &#xA;  &lt;ol&gt;&#xA;  &lt;li&gt;$A \notin C_1$, $A \notin C_2$, &lt;/li&gt;&#xA;  &lt;li&gt;if $A_1 \in \mathsf{P}$ and $A_2\notin \{ \emptyset, \Sigma^* \}$, then $A \leq^{\mathsf{P}}_m A_2$. &lt;/li&gt;&#xA;  &lt;/ol&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;For the purposes of counting dichotomy theorems, the two relevant classes of decision problems are $\text{P}$ and $\text{P}^{\#\text{P}}$.&lt;/p&gt;&#xA;" OwnerUserId="3964" LastEditorUserId="3964" LastEditDate="2013-05-29T23:27:29.940" LastActivityDate="2013-05-29T23:27:29.940" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="17828" PostTypeId="1" CreationDate="2013-05-29T17:12:25.090" Score="11" ViewCount="199" Body="&lt;p&gt;Given two matrices, I'm interested in finding the largest element of their product. I wonder if it's possible to do it significantly faster than the matrix multiplication the solution seems to require?&lt;/p&gt;&#xA;" OwnerUserId="13515" LastActivityDate="2013-05-29T17:12:25.090" Title="the largest element of a matrix product" Tags="&lt;optimization&gt;&lt;time-complexity&gt;&lt;linear-algebra&gt;&lt;matrices&gt;&lt;matrix-product&gt;" AnswerCount="0" CommentCount="3" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="17829" PostTypeId="1" CreationDate="2013-05-29T18:20:03.737" Score="6" ViewCount="544" Body="&lt;p&gt;I am interested in the following problem:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;Input&lt;/strong&gt;: a connected undirected graph &lt;span class=&quot;math-container&quot;&gt;$G=(V,E)$&lt;/span&gt;; a positive weight for each vertex.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Output&lt;/strong&gt;: a minimum weight subset of &lt;span class=&quot;math-container&quot;&gt;$V$&lt;/span&gt; whose removal disconnects &lt;span class=&quot;math-container&quot;&gt;$G$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;When each vertex has the same weight this is equivalent to determining the vertex-connectivity. Intuitively, it is the vertex version of the global minimum cut problem.&lt;/p&gt;&#xA;&lt;p&gt;I can think of an &lt;span class=&quot;math-container&quot;&gt;$O(mn^3)$&lt;/span&gt; algorithm that solves &lt;span class=&quot;math-container&quot;&gt;$O(n^2)$&lt;/span&gt; minimum &lt;span class=&quot;math-container&quot;&gt;$s$&lt;/span&gt;-&lt;span class=&quot;math-container&quot;&gt;$t$&lt;/span&gt; cut problems, but I expect that there should be a faster approach. Does this problem have a name? What is the fastest known algorithm?&lt;/p&gt;&#xA;" OwnerUserId="13056" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2013-06-06T23:46:34.987" Title="Weighted vertex-connectivity; global min vertex-cut" Tags="&lt;graph-algorithms&gt;&lt;max-flow-min-cut&gt;" AnswerCount="0" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="17830" PostTypeId="2" ParentId="10281" CreationDate="2013-05-29T23:01:10.123" Score="6" Body="&lt;p&gt;A wonderful reference on this topic is Bruce Reed's survey article below.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Reed, B. (1997). Tree width and tangles: A new connectivity measure and some applications. Surveys in combinatorics, 241, 87-162.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One of my recent papers allows one to bypass the grid-minor theorem in some cases via treewidth decomposition theorems. See paper below.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Large-Treewidth Graph Decompositions and Applications&#xA;&lt;a href=&quot;http://arxiv.org/abs/1304.1577&quot;&gt;http://arxiv.org/abs/1304.1577&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="176" LastActivityDate="2013-05-29T23:01:10.123" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17831" PostTypeId="1" AcceptedAnswerId="17835" CreationDate="2013-05-30T03:56:46.293" Score="5" ViewCount="332" Body="&lt;p&gt;(I'm not sure if this is an appropriate question for TCS.SE, but I'm not sure what is more appropriate).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;When using Baker's Technique to find an approximation to the minimum dominating set of a planar graph, why must we overlap &lt;em&gt;2&lt;/em&gt; BFS layers in every partition? I understand that for vertex cover each partition needs to overlap 1 layer to handle cases where an edge in the overlapped layer can only be covered by another vertex in the layer. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, to my knowledge, vertex cover is just a reduction of dominating set, and any vertex cover is also a dominating set. Why do we need to overlap 2 layers for dominating set?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course, links to papers are great too--I just haven't found anything explaining the reason yet.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT:&lt;/strong&gt; David has a great answer below. There's also a paper describing the issue (with pictures) and a correction to Baker's original algorithm for Dominating Set here: &lt;a href=&quot;http://www.mdpi.com/1999-4893/6/1/43&quot; rel=&quot;nofollow&quot;&gt;http://www.mdpi.com/1999-4893/6/1/43&lt;/a&gt; (&lt;a href=&quot;http://www.mdpi.com/1999-4893/6/1/43/pdf&quot; rel=&quot;nofollow&quot;&gt;PDF link&lt;/a&gt;)&lt;/p&gt;&#xA;" OwnerUserId="16225" LastEditorUserId="16225" LastEditDate="2013-05-30T18:11:18.487" LastActivityDate="2013-05-30T18:11:18.487" Title="Overlapping BFS Layers in Dominating Set with Baker's Technique" Tags="&lt;graph-theory&gt;&lt;planar-graphs&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17832" PostTypeId="1" CreationDate="2013-05-30T05:21:23.747" Score="7" ViewCount="127" Body="&lt;p&gt;I suppose the answer to my question follows from the proof of the &lt;a href=&quot;http://en.wikipedia.org/wiki/L%C3%A9vy%27s_continuity_theorem&quot;&gt;Lévy’s continuity theorem&lt;/a&gt;,&#xA;but probably one could suggest me a direct reference to the corresponding answer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The question is as follows. Suppose the sequence of characteristic functions (c.f.) $\phi_n$ of random variables $X_n$ converge point-wise to some c.f. $\phi$ of random variable $X$ with convergence rate $\alpha(x,n)$, i.e. $\phi(x) = \phi_n(x) + O(\alpha(x,n))$ where $\alpha(x,n)$ tends to $0$ while $n$ tends to infinity. Does this implies that $P(X_n \leq x) = P(X \leq x) + O(\alpha(x,n))$?&lt;/p&gt;&#xA;" OwnerUserId="16224" LastEditorUserId="186" LastEditDate="2013-05-30T14:40:54.243" LastActivityDate="2013-05-30T14:40:54.243" Title="Convergence speed in Lévy’s continuity theorem" Tags="&lt;reference-request&gt;&lt;pr.probability&gt;" AnswerCount="0" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="17833" PostTypeId="2" ParentId="17819" CreationDate="2013-05-30T05:46:01.680" Score="8" Body="&lt;p&gt;How about a problem complete for promise-$\mathsf{S_2^p}$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Lance Fortnow, Russell Impagliazzo, Valentine Kabanets, and Chris Umans. &lt;a href=&quot;http://www.cs.sfu.ca/~kabanets/Research/games.html&quot;&gt;On the complexity of succinct zero-sum games&lt;/a&gt;. Computational Complexity 17:353-376, 2008. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;From the abstract:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;We prove that approximating the value of a succinct zero-sum game to within an additive factor is complete for the class promise-$\mathsf{S_2^p}$, the &quot;promise&quot; version of $\mathsf{S_2^p}$. To the best of our knowledge, it is the first natural problem shown complete for this class.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;(Historical note: it is not too surprising that not many natural problems are known to be in $\mathsf{S_2^p}$ but not known to be in its subclasses $\mathsf{MA}$ or $\mathsf{P^{NP}}$. If you check the original papers of Russell--Sundaram and Canetti (independently), it seems as though the definition of $\mathsf{S_2^p}$ was made more or less specifically to capture their improved arguments placing $\mathsf{BPP}$ in $\mathsf{PH}$, rather than to capture some set of of natural problems.)&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2013-05-30T05:46:01.680" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17835" PostTypeId="2" ParentId="17831" CreationDate="2013-05-30T07:13:25.153" Score="8" Body="&lt;p&gt;In a single layer of the partition, consisting of the vertices at distance $d$ to $d+k$ from the root, the vertices at distance $d+1$ through $d+k-1$ can be dominated the same way as they are in the whole graph, but you have no control of the size of the dominating sets of the vertices at distances $d$ or $d+k$, on the boundary of the layer: in the original graph, those vertices could be dominated by a small number of vertices in a different layer that aren't there when you restrict to that layer. So the solution is to find a system of layers with the property that the subsets of vertices at distance $d+1$ through $d+k-1$ within each layer form a partition of the whole graph, and then within each layer to only try to dominate that subset. To do this, you need to overlap the layers by two levels.&lt;/p&gt;&#xA;" OwnerUserId="95" LastEditorUserId="95" LastEditDate="2013-05-30T07:22:57.967" LastActivityDate="2013-05-30T07:22:57.967" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17836" PostTypeId="2" ParentId="17796" CreationDate="2013-05-30T10:06:35.803" Score="3" Body="&lt;p&gt;Here are the standard references on unification:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Franz Baader and Tobias Nipkow. Term Rewriting and All That. Cambridge University Press, United Kingdom, 1998. (&lt;a href=&quot;http://www4.in.tum.de/~nipkow/TRaAT/&quot; rel=&quot;nofollow&quot;&gt;Book homepage&lt;/a&gt;)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Franz Baader and Wayne Snyder. Unification Theory. In J.A. Robinson and A. Voronkov, editors, Handbook of Automated Reasoning, pages 447-533. Elsevier Science Publishers, 2001. (&lt;a href=&quot;http://lat.inf.tu-dresden.de/research/papers/2001/BaaderSnyderHandbook.ps.gz&quot; rel=&quot;nofollow&quot;&gt;Online copy here&lt;/a&gt;)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="657" LastActivityDate="2013-05-30T10:06:35.803" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17839" PostTypeId="1" AcceptedAnswerId="17846" CreationDate="2013-05-30T16:14:40.570" Score="8" ViewCount="285" Body="&lt;p&gt;&lt;a href=&quot;http://research.swtch.com/sparse&quot; rel=&quot;nofollow&quot;&gt;A well-known trick for storing bit vectors using uninitialized memory&lt;/a&gt; can allocate a bit vector of size $n$ in which all of the bits are set to $0$ by allocating $(2 n + 1)\lceil \lg n \rceil$ bits of memory and initializing only $\lceil \lg n \rceil$ of them. This representation supports setting and unsetting any bit in constant time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This dates back to &quot;Alfred Aho, John Hopcroft, and Jeffrey Ullman's 1974 book The Design and Analysis of Computer Algorithms . . . Chapter 2, exercise 2.12&quot;, &quot;Jon Bentley's 1986 book Programming Pearls . . .Column 1, exercise 8; exercise 9 in the Second Edition&quot;, and &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.30.7319&quot; rel=&quot;nofollow&quot;&gt;&quot;Preston Briggs and Linda Torczon's 1993 paper, 'An Efficient Representation for Sparse Sets'&quot;&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://cs.nyu.edu/~dodis/ps/prefix.pdf&quot; rel=&quot;nofollow&quot;&gt;Dodis et al.'s &quot;Changing Base without Losing Space&quot;&lt;/a&gt; brings the space requirement down slightly to $\lceil (2 n + 1) \lg n \rceil + 1$ bits, though this algorithm requires the precomputation of $\Theta(\lg n)$ constants with $\Theta(\lg n)$ bits each.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;How much space can be saved? Is there a representation of bit vectors in which&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Bits can be set or unset in $O(1)$ time&lt;/li&gt;&#xA;&lt;li&gt;Initializing a new bit vector of $0$s uses $o(n \lg n)$ bits of uninitialized memory and $O(\lg n)$ initialized memory&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="43" LastEditorUserId="43" LastEditDate="2013-05-31T01:08:44.610" LastActivityDate="2013-05-31T14:42:14.980" Title="Storing a bit vector in uninitialized memory and minimal space" Tags="&lt;ds.data-structures&gt;&lt;space-bounded&gt;&lt;space-time-tradeoff&gt;&lt;space-complexity&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="17841" PostTypeId="1" AcceptedAnswerId="17842" CreationDate="2013-05-30T20:38:53.093" Score="3" ViewCount="607" Body="&lt;p&gt;I am implementing a matrix library for use in my research. This should support 2D matrices of size 100x100 (or more perhaps later on). I am a little confused about the algorithm I should be using for matrix multiplication. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am extremely curious to know what kind of algorithms my peers use? &#xA;The following are the possible choices: &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Naive $O(n^3)$&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Strassens Algorithm $O(n^{2.807})$&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Coppersmith Winograd Algorithm $O(n^{2.375})$&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Obviously (3) is quite complicated and may take quite a few tries to get right. Is it worth the effort ? I must mention here that speed is paramount for my usage as I will have a number of multiplication calls. &lt;/p&gt;&#xA;" OwnerUserId="13787" LastEditorUserId="1993" LastEditDate="2018-08-02T06:03:43.083" LastActivityDate="2018-08-02T06:03:43.083" Title="Matrix multiplication algorithms for research" Tags="&lt;linear-algebra&gt;&lt;matrix-product&gt;" AnswerCount="2" CommentCount="6" ContentLicense="CC BY-SA 4.0" />
  <row Id="17842" PostTypeId="2" ParentId="17841" CreationDate="2013-05-30T21:19:34.610" Score="10" Body="&lt;p&gt;The fastest way to multiply dense matrices on a modern computer is to call &lt;a href=&quot;http://en.wikipedia.org/wiki/Basic_Linear_Algebra_Subprograms&quot;&gt;BLAS&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="16236" LastActivityDate="2013-05-30T21:19:34.610" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17843" PostTypeId="1" CreationDate="2013-05-30T23:08:27.413" Score="5" ViewCount="472" Body="&lt;p&gt;For fixed parameter $k$, I would like to find a long cycle of length $\geq k$ in an undirected graph $G(V,E)$.  This can be done in $O(k!2^k|V|)$-time [2] using 1) depth-first search (DFS) and 2) dynamic programming on a bounded tree-width decomposition of $G$ derived from the DFS traversal.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, [2] does not contain explicit details on what information should be stored in the tables associated with each bag of the tree decomposition.  &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;When looking for long cycles using the dynamic programming method suggested by [2], are there any ideas or resources that specify what information needs to be stored at each bag and how to combine such tables?  &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;References:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=1328918&quot;&gt;Gabow &amp;amp; Nie, 2008&lt;/a&gt;&#xA;contains an overview of the above problem, from the perspective of directed and undirected graphs, and includes a review of research on the undirected case.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=155609&quot;&gt;Bodlaender, 1993&lt;/a&gt; suggests an $O(k!2^kn)$-time algorithm based on depth-first search (DFS) and dynamic programming.&lt;/p&gt;&#xA;" OwnerUserId="16235" LastActivityDate="2014-11-12T21:47:39.343" Title="Long Cycle in Bounded Tree-Width Graphs using DFS and Dynamic Programming" Tags="&lt;graph-algorithms&gt;&lt;treewidth&gt;&lt;dynamic-programming&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17844" PostTypeId="2" ParentId="17651" CreationDate="2013-05-31T03:59:05.590" Score="4" Body="&lt;p&gt;&lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0166218X98001231&quot; rel=&quot;nofollow&quot;&gt;Kumar, P. S., &amp;amp; Madhavan, C. E. (1998). Minimal vertex separators of chordal graphs. Discrete Applied Mathematics, 89(1), 155-168&lt;/a&gt; define chordal graphs where every minimal separator is of size exactly $k$ as &lt;em&gt;$k$-separator-chordal graphs&lt;/em&gt;. They generalize $k$-trees.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In a later paper, &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0166218X0000336X&quot; rel=&quot;nofollow&quot;&gt;Kumar, P. S., &amp;amp; Madhavan, C. E. (2002). Clique tree generalization and new subclasses of chordal graphs. Discrete Applied Mathematics, 117(1), 109-131&lt;/a&gt; the same authors discuss $k$-separator-chordal graphs more in a slightly different context. See Section 6.2 in the paper.&lt;/p&gt;&#xA;" OwnerUserId="5693" LastEditorUserId="5693" LastEditDate="2013-05-31T22:25:33.580" LastActivityDate="2013-05-31T22:25:33.580" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17845" PostTypeId="1" AcceptedAnswerId="34285" CreationDate="2013-05-31T07:04:24.053" Score="12" ViewCount="461" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;Given a deterministic partial-information zero-sum game with only finitely many states,&#xA;  &lt;br&gt;&#xA;  whose possible outcomes are [lose,draw,win] with values [-1,0,+1] respectively,&#xA;  &lt;br&gt;&#xA;  what is the complexity of approximating the value of such a game additively within $\epsilon$?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;In particular, I can't come up &lt;strong&gt;any algorithm whatsoever&lt;/strong&gt; for doing that.&#xA;&lt;br&gt;The rest of this post is devoted entirely to giving a more thorough description&#xA;&lt;br&gt;&#xA;of the problem, so if you can already figure out what the question at the top&#xA;&lt;br&gt;&#xA;of this post means, then there's no reason for you to read the rest of this post.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a referee machine with states $\{1,2,3,...,S\}$, with a designated initial state $s_0$, a state $s_a$&#xA;whose score pair is $[-1,+1]$, a state $s_b$ whose score pair is $[+1,-1]$, and states of the form&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$[\mbox{p1_info,p2_info,num_of_choices,player_to_move,next_state_table}]$ where:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$\mbox{player_to_move} \in \{1,2\}$&lt;/li&gt;&#xA;&lt;li&gt;$\mbox{next_state_table}$ is a function from $\{1,2,3,...,\mbox{num_of_choices}\} \to \{1,2,3,...,S\}$&lt;/li&gt;&#xA;&lt;li&gt;$\mbox{p1_info},\mbox{p2_info}, \mbox{num_of_choices} \geq 1$&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;When the machine is in a state of that form:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;sends $\mbox{p1_info}$ to Player_1 and sends  $\mbox{p2_info}$ to Player_2,&lt;/li&gt;&#xA;&lt;li&gt;sends $\mbox{num_of_choices}$ to the indicated player, waits for an element of $\{1,2,3,...,\mbox{num_of_choices}\}$&#xA;as input from that player,&lt;/li&gt;&#xA;&lt;li&gt;then goes to the state indicated by $\mbox{next_state_table}$&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;When the machine enters one of the other two states $s_a$ or $s_b$,&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;halts with that state's score pair as its output&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;There is a natural two-player game: the referee machine is started in state $s_0 = 1$,&#xA;&lt;br&gt;&#xA;the players provide the inputs that the referee machine waits for, if the referee machine&#xA;&lt;br&gt;&#xA;halts then Player 1 scores the first value of the machine's output pair and Player 2&#xA;&lt;br&gt;&#xA;scores the second value of the machine's output pair, otherwise both players score 0.&#xA;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What is the complexity of the following problem?&#xA;  &lt;br&gt;&#xA;  Given such a referee machine and a positive integer N, output a rational number&#xA;  &lt;br&gt;&#xA;  that is (additively) within 1/N of the value of the natural game for Player 1.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;As mentioned earlier in this question, I can't come&#xA;&lt;br&gt;&#xA;up with any algorithm whatsoever for doing that.&#xA;&lt;br&gt;&lt;br&gt;&lt;/p&gt;&#xA;" OwnerDisplayName="user6973" LastEditorUserId="3247" LastEditDate="2013-06-10T10:43:25.640" LastActivityDate="2016-04-15T17:11:59.133" Title="Complexity of finite-state partial information games" Tags="&lt;cc.complexity-theory&gt;&lt;gt.game-theory&gt;" AnswerCount="2" CommentCount="10" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="17846" PostTypeId="2" ParentId="17839" CreationDate="2013-05-31T13:21:28.410" Score="2" Body="&lt;p&gt;Yes, this can be done through &lt;em&gt;bucketing&lt;/em&gt;. The representation in Briggs and Torczon can be used to store not just bits, but values associated with any set bits, by storing them next to the values in the dense array. For $k$-bit values, this leads to a total storage cost of $(2n+1)\lceil \lg n \rceil + kn$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now pick $k=\lceil \lg n \rceil$. Each $k$-bit value will represent a set of $\lceil \lg n \rceil$ contiguous bits in the bit array. We thus only need to track $\lceil n/\lceil \lg n \rceil \rceil$ of them with the dense and sparse arrays. This leads to a total cost of $\Theta(n)$ bits of storage, with $\Theta(\lg n)$ initialized bits.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Like the basic solution, this requires $O(1)$ operations on words of length $\Theta(\lg n)$ to set a single bit.&lt;/p&gt;&#xA;" OwnerUserId="43" LastEditorUserId="43" LastEditDate="2013-05-31T14:42:14.980" LastActivityDate="2013-05-31T14:42:14.980" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17847" PostTypeId="1" AcceptedAnswerId="17922" CreationDate="2013-05-31T13:52:32.380" Score="1" ViewCount="214" Body="&lt;p&gt;let $G=(V,E)$ and $S\subsetneq V$ then expansion of set $S$ is &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\alpha(S)=\frac{|E(S,\overline{S})|}{\min\{|S|,|\overline{S}|)\}}$$&#xA;where $\bar{S}=V\setminus{S}$ and $E(S,\bar{S})$ are edges between S and $\bar{S}$.&#xA;Expansion of graph G is&#xA;$$\alpha(G)=\min_{\emptyset\neq S\subsetneq {V}}\alpha(S)$$&#xA;Sparsity $\mathcal S_G$ of graph G is&#xA;$$\mathcal S_G=\min_{\emptyset\neq S\subsetneq {V}}\frac{|E(S,\overline S)|}{|S||\overline S|} $$&#xA;It is easy to see, that&#xA;$$\frac{n}{2} \mathcal{S}_G\leq \alpha(G) \leq (n-1)\mathcal{S}_G$$&#xA;where $n=|V|$.&#xA;Solution for Expansion Problem is to find set $S\subsetneq V$ such that $\alpha(S)=\alpha(G)$&#xA;Solution for Uniform Sparsest Cut Problem is to find set $S\subsetneq V$ such that&#xA;$$\frac{|E(S,\overline S)|}{|S||\overline S|}=\mathcal S_G$$.&#xA;My question is, is there a graph for which there are different solution for Expansion Problem and for Uniform Sparsest Cut Problem?&#xA;Thank you for any ideas .. &lt;/p&gt;&#xA;" OwnerUserId="16240" LastActivityDate="2013-06-06T04:26:08.753" Title="Expansion vs Sparsest cut" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;expanders&gt;&lt;partition-problem&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17848" PostTypeId="2" ParentId="17841" CreationDate="2013-05-31T14:03:19.137" Score="9" Body="&lt;p&gt;As others have said, there's no point in reinventing the wheel.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you &lt;em&gt;must&lt;/em&gt; implement it yourself for whatever reason, then you should either go for the naïve or Strassen algorithm. Naïve is faster for smaller matrices, but as matrix size increases to ~100 you will find that the Strassen algorithm starts to perform better as the impact of the larger constant factors starts to become less significant.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The exact crossover point will vary depending on machine (e.g. the memory and how it is allocated etc.) which is why using a library would be beneficial because it will do the job of determining which one to use (a task no doubt more tricky than implementing the algorithm itself).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Do not bother with Coppersmith Winograd and their derivatives; the constant factors are just too large to make them of any practical use.&lt;/p&gt;&#xA;" OwnerUserId="9449" LastEditorUserId="9449" LastEditDate="2013-06-04T00:10:55.890" LastActivityDate="2013-06-04T00:10:55.890" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17850" PostTypeId="2" ParentId="17816" CreationDate="2013-05-28T21:51:54.703" Score="5" Body="&lt;p&gt;Not standard topics, no. And sorry, I have no general overview.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, I would have a look at the PhD thesis of &lt;a href=&quot;http://www-ti.informatik.uni-tuebingen.de/~reinhard/curr.html#Rei05&quot; rel=&quot;nofollow noreferrer&quot;&gt;Klaus Reinhardt&lt;/a&gt; for at least a picture of the various families that live in this area. See page 64 for a diagram of the zoo. Motivated by Petri Nets with inhibitor arcs Reinhardt studies priority multicounters with restrictions on when to do zero tests. Non-trivial. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;By the way, your last example question was discussed in this &lt;a href=&quot;https://cs.stackexchange.com/questions/12233/is-the-universe-problem-for-one-counter-automata-with-restricted-alphabet-size-u/&quot;&gt;forum&lt;/a&gt; by user Sam Jones. Another Ibarra reference.&lt;/p&gt;&#xA;" OwnerUserId="12122" OwnerDisplayName="Hendrik Jan" LastEditorUserId="-1" LastEditDate="2017-04-13T12:48:30.830" LastActivityDate="2013-05-28T21:51:54.703" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17851" PostTypeId="1" CreationDate="2013-05-31T15:42:41.290" Score="11" ViewCount="521" Body="&lt;p&gt;Alexander Razborov and Steven Rudich's &lt;a href=&quot;http://en.wikipedia.org/wiki/Natural_proof&quot;&gt;Natural Proofs&lt;/a&gt; result is one of the major barriers against proving circuit lower bounds. The paper is almost 20 years old (it was published in 1994). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Has there been any result that has avoided the natural proofs' barrier? More formally, has there been any result where the concept of natural proofs makes sense and we provably know that there cannot be a natural proof for the result?&lt;/p&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="111" LastEditDate="2013-06-06T04:46:05.227" LastActivityDate="2013-06-06T04:46:05.227" Title="Has there been any result which does not have any Natural Proofs?" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;circuit-complexity&gt;&lt;barriers&gt;&lt;natural-proofs&gt;" AnswerCount="0" CommentCount="10" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="17853" PostTypeId="2" ParentId="17825" CreationDate="2013-05-31T18:22:31.550" Score="8" Body="&lt;p&gt;I am really not qualified to give an informed answer to your question, but there are many reasons for which a theory-oriented researcher might be a good fit for a more applied environment.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The main reason that comes to mind is this: good theoretic foundations are invaluable for a &lt;em&gt;thorough understanding&lt;/em&gt; of an application which in turn increases &lt;em&gt;trust&lt;/em&gt;, &lt;em&gt;efficiency&lt;/em&gt; and decreases &lt;em&gt;mental effort&lt;/em&gt;. In general it allows work to proceed much faster, as the foundations provide a mental reference that can be easily extended or made explicit.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm sure there are many examples in complexity theory, where an abstract approach has led to fantastic practical improvements in concrete implementations, but the field I am the most familiar with is &quot;theory B&quot;, in which programing language design has greatly benefited from advances in pure computing theory research.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Haskell is a particularly good example. On the theory side, we have simple core languages like system $\mathrm{F}_\omega$ which have proven to be a very useful base for the &lt;a href=&quot;http://hackage.haskell.org/trac/ghc/wiki/Commentary/Compiler/CoreSynType&quot;&gt;core language of the GHC compiler&lt;/a&gt;. The research in type inference/reconstruction and more recently, on dependent types has guided the foundations of the Haskell design, including the Hindley-Milner architecture and GADTs. Monads, of course, were introduced in the from the most abstract domain of mathematics to the computing world by &lt;a href=&quot;http://www.disi.unige.it/person/MoggiE/ftp/ic91.pdf&quot;&gt;Moggi&lt;/a&gt;, a theorist.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More pragmatically, knowledge of the theory of operational semantics turns out to be an invaluable tool for language extensions: the paper which introduces &lt;a href=&quot;http://community.haskell.org/~simonmar/papers/stm.pdf&quot;&gt;Software Transactional Memory&lt;/a&gt; in Haskell has explicit operational semantics for the small sub-language containing the STM constructs. This creates a reference for the implementation, and the ability to prove properties about a correct implementation, creating trust and understanding.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;All this point to the fact that having a strong theory background is an important asset of every research team, including those with a strong application theme.&lt;/p&gt;&#xA;" OwnerUserId="3984" LastActivityDate="2013-05-31T18:22:31.550" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17854" PostTypeId="1" AcceptedAnswerId="21553" CreationDate="2013-05-31T18:39:04.877" Score="9" ViewCount="478" Body="&lt;p&gt;Nash Equilibria are uncomputable in general. An $\epsilon$-Nash equilibrium is a set of strategies where, given the opponents' strategies, each player obtains within $\epsilon$ of the maximum possible expected payoff. Finding an $\epsilon$-Nash equilibrium, given $\epsilon$ and a game, is $\mathsf{PPAD}$-complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Going strictly by the definitions, there seems to be no particular reason to believe that the strategies of a given $\epsilon$-Nash equilibrium are anywhere close to the strategies of any Nash equilibrium. However, we often see the literature somewhat sloppily use a phrase like &quot;approximately compute a Nash equilibrium&quot; when it means to say &quot;compute an approximate-Nash equilibrium&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, I'm wondering when the second implies the first; that is, for what games might we expect $\epsilon$-Nash equilibria to be &quot;close&quot; to Nash equilibria?&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;More formally, suppose I have a game on $n$ players and a sequence of strategy profiles $(s_1^{(1)},\dots,s_n^{(1)}), (s_1^{(2)},\dots,s_n^{(2)}), (s_1^{(3)},\dots,s_n^{(3)}), \dots$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Each $(s_1^{(i)},\dots,s_n^{(i)})$ is a $\epsilon_i$-Nash equilibrium, and the sequence $\epsilon_1,\epsilon_2,\epsilon_3,\dots$ converges to zero.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My questions:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;When (under what conditions/assumptions) do all the strategies converge? That is, for each player $j$, $s_j^{(1)},s_j^{(2)},s_j^{(3)},\dots$ necessarily converges.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Under what further conditions is the limit of this sequence actually a Nash equilibrium of the game? (It seems to me that no further assumptions should be needed; &lt;em&gt;i.e.&lt;/em&gt;, if all the strategies converge, the limit should be a NE.)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;When does an algorithm for computing $\epsilon$-Nash equilibria necessarily imply an algorithm for approximately computing strategies of a Nash equilibrium? Are the above conditions sufficient?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Thanks very much!&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit 2014-03-19&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;After reading the reference in Rahul's answer, it seems more reasonable to think in terms of $\ell_1$ distances between distributions rather than convergent sequences. So I'll try to rephrase the questions and also put some recent thoughts.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;(Well, this is too algorithm-dependent to really have an answer. Without restrictions on the algorithm, you could have two distinct Nash equilibria and then, as you plug in smaller and smaller $\epsilon$ into the algorithm, the $\ell_1$ distance between successive outputs could still be large because the outputs oscillate between equilibria.)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Suppose $p$ is a strategy profile, i.e. product distribution over the players' strategies. For what games can we say that $p$ is an $\epsilon$-Nash equilibrium implies $\|p - q\|_1 \leq \delta$ for some Nash equilibrium $q$, where $\delta \to 0$ as $\epsilon \to 0$? (Note that the converse holds if payoffs are bounded by $1$.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is actually tricky because we in the complexity setting what we call a &quot;game&quot; is actually a sequence of games parameterized by $n$, the number of pure strategies (&quot;actions&quot;). So $n \to \infty$ as $\epsilon \to 0$, and the relative rates matter. Here is a simple counterexample to show the answer is not &quot;all games&quot;. Suppose we fix a sequence of decreasing $\epsilon_1,\epsilon_2,\dots$. Then for each $\epsilon_n$, construct the two-player game on $n$ actions where, if a player plays the first action, they get a payoff of $1$ regardless of what the other player plays; if a player plays the second action, they get a payoff of $1-\epsilon_n$ regardless of what the other player plays; and if a player plays any other action, they get a payoff of $0$ regardless of what the other player plays.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thus each game $n$ has an $\epsilon_n$-equilibrium (both play the second action) that is maximally far in $\ell_1$ distance from its only Nash equilibrium (both play the first action).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, two interesting sub-questions:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;For a fixed game and fixed $n$, whether for &quot;small enough&quot; $\epsilon$ the above condition holds (all $\epsilon$-equilibria are close to Nash equilibria).&lt;/li&gt;&#xA;&lt;li&gt;Perhaps the same question essentially, but whether the condition holds if differences in payoffs are bounded by a constant as $n \to \infty$.&lt;/li&gt;&#xA;&lt;/ol&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Same question as (2), but relating to the actual equilibria computed by algorithms. I guess probably we will either get algorithmic/constructive answers or none at all, so the distinction doesn't matter much.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="8243" LastEditorUserId="8243" LastEditDate="2014-03-19T18:30:45.053" LastActivityDate="2014-03-19T18:30:45.053" Title="When do $\epsilon$-Nash equilibrium strategies converge to Nash Equilibrium strategies?" Tags="&lt;reference-request&gt;&lt;gt.game-theory&gt;&lt;ppad&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17855" PostTypeId="2" ParentId="11973" CreationDate="2013-05-31T18:58:00.523" Score="6" Body="&lt;p&gt;This is only an idea that came to my mind while reading Marvin L. Minsky, &quot;Recursive Unsolvability of Post's Problem of Tag and other Topics in Theory of&#xA;Turing Machines&quot;; in particular the famous theorem Ia:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;&lt;b&gt;Theorem Ia:&lt;/b&gt; We can represent any partial recursive function $f(n)$&#xA;by a program operating on two integers $S_1$ and $S_2$&#xA;using instructions $I_j$ of the forms:&lt;br&gt;&#xA;(i) ADD 1 to $S_j$, and go to $I_{j_1}$&lt;br&gt;&#xA;(ii) SUBTRACT 1 from $S_j$, if $S_j \neq 0$ and go to $I_{j_1}$, otherwise go to $I_{j_2}$&lt;br&gt;&#xA;That is, we can construct such a program that starts with $S_1 = 2^n$ and $S_2 = 0$ and&#xA;eventually stops with $S_1 = 2^{f(n)}$ and $S_2 = 0$&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;If you have a two way DFA with one counter over a &lt;em&gt;(semi)infinite tape&lt;/em&gt; where the input is given in unary: $\$1^{2^n}000...$ then the DFA can:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;read the unary input (and store it in the counter);&lt;/li&gt;&#xA;&lt;li&gt;work on the $0^\infty$ part of the tape and use the distance from the $1$s as the second counter.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;so it can simulate a Turing complete two counters machine.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, if you have a recursive function $f(n)$ that runs in time $T(n)$ on a standard Turing machine, a two way DFA with one counter that starts on the &lt;em&gt;finite tape&lt;/em&gt; $\$1^m\$ \;$ (where $m = 2^n3^{T'(n)}$ and $T'(n) \gg T(n)$) can:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;read the unary input (and store it in the counter);&lt;/li&gt;&#xA;&lt;li&gt;return to leftmost symbol;&lt;/li&gt;&#xA;&lt;li&gt;divide the counter by 3 until the counter contains $2^n$ in this way: go right looping from states $q_{z_0}, q_{z_1}, q_{z_2}$ and subtracting 1; if counter reaches 0 in state $q_{z_0}$ go to leftmost symbol adding +1 and continue the division loop, otherwise add 1 (if in state $q_{z_1}$) or 2 (if in state $q_{z_2}$) and go to leftmost symbol adding +3 (i.e. recover the previous value of the counter not divisible by 3) and proceed with step 4.;&lt;/li&gt;&#xA;&lt;li&gt;at this point the counter contains $2^n$;&lt;/li&gt;&#xA;&lt;li&gt;calculate $2^{f(n)}$ using the $T'(n)$ space available on the right as the second counter (the value of the second counter is the distance from the leftmost symbol $\$$).&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;So with the special input encoding described above that gives it enough space on the finite tape, a two-way DFA with one counter and unary alphabet can compute every recursive function.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If the approach is correct, it would be interesting to reason about how to choose $T'(n) \gg T(n)$ or when it is enough to pick a large odd $k \gg 2$ and encode the input as $1^m$, $m = 2^n k^n$&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2013-06-02T10:09:50.517" LastActivityDate="2013-06-02T10:09:50.517" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17856" PostTypeId="2" ParentId="11973" CreationDate="2013-05-31T19:22:46.897" Score="-1" Body="&lt;p&gt;By non-trivial, I assume you mean a language L that can't be accepted by a 1dca. Here seems to be such a language:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;CENTER = { w | w is over {0,1}* and w = x1y for some x, y such that |x| = |y|}&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This language can't be accepted by 1dca, but CAN be accepted by 1nca. It can be accepted by a 2dca. Details are left as exercise.&lt;/p&gt;&#xA;" OwnerUserId="14004" LastActivityDate="2013-05-31T19:22:46.897" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17857" PostTypeId="1" CreationDate="2013-05-31T21:01:32.450" Score="5" ViewCount="591" Body="&lt;p&gt;The following problem came up in my undergrad research project: You have some undirected graph. Some nodes are &quot;sick&quot; and some are not. The probability that a neighbour of a sick node becomes sick is (1 - q_i), where q is a number specific to the node under attack, ranging from 0 to 1. If a node succesfully resists an attack from a sick neighbor, it becomes immune and cannot get sick from any other node. What is the probability that any given node will become sick, given a graph A, some initial sick nodes, and a vector of q's characterizing the nodes?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I feel like this problem has been solved, but I'm having trouble finding sources. Any help or references to papers/books will be greatly appreciated.  &lt;/p&gt;&#xA;" OwnerUserId="16245" LastActivityDate="2013-06-04T16:29:57.323" Title="An algorithm for calculating the probability of a disease spreading through a graph" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;" AnswerCount="4" CommentCount="2" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="17858" PostTypeId="2" ParentId="17857" CreationDate="2013-05-31T22:19:48.160" Score="2" Body="&lt;p&gt;Immunity seems to make your problem easier in one sense, as it means that infection can be modelled by a process that terminates after a linear number of infection attempts.  The stipulation that the probability of infection does not depend on the neighbours of a vertex also helps.  However, the model does not seem easy to analyse: the immune vertices in effect are removed from the graph, so a vertex may effectively become unreachable.&#xA;The infection, immune, and unreachable probabilities depend on the intermediate graphs created by the infection process.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It might be useful to start with cliques, paths, and cycles with a single initially infected vertex.  Cliques are trivial.  For a path with one infected endpoint the probability that the other endpoint becomes infected at some stage is the product of the probabilities of infection of all the intermediate vertices.  For a cycle, the probability depends on both paths; the longer path becomes relevant if an immune vertex appears on the shorter path.  Trees also have a single path between any two vertices, so can be handled as for the path case.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It might then be feasible to extend the analysis to $k$-connected graphs and regular grids, though this already seems quite tricky.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;I am not familiar with literature that deals with this specific problem.  Here are some general comments and pointers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some relevant keywords are &quot;contagion&quot; (in the context of network models) and &quot;&lt;a href=&quot;https://en.wikipedia.org/wiki/Percolation_theory&quot; rel=&quot;nofollow&quot;&gt;percolation&lt;/a&gt;&quot; (in statistical mechanics).  These models tend to focus on the behaviour of randomized processes that behave like the one you suggest.  However, different models focus on different parameters of interest, so you might have to examine several to find one that best matches the specific one you are interested in.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As an example, a lot of post-2008 work has applied contagion models to financial systems, since it has been argued that these models explain well the gridlock experienced at that time by the global financial system.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The &lt;a href=&quot;https://en.wikipedia.org/wiki/Ising_model&quot; rel=&quot;nofollow&quot;&gt;Ising model&lt;/a&gt; is one of the simplest and earliest models that involve interacting parties in a graph, and has an extensive literature.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;From a purely TCS perspective, computing the partition function of spin systems like the Ising model is equivalent to counting the solutions of a constraint satisfaction problem.  The mixing time is also often of interest.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Andrei Bulatov and Martin Grohe, &lt;em&gt;The complexity of partition functions&lt;/em&gt;, TCS &lt;strong&gt;348&lt;/strong&gt;, 2005, 148–186.  doi:&lt;a href=&quot;http://dx.doi.org/10.1016/j.tcs.2005.09.011&quot; rel=&quot;nofollow&quot;&gt;10.1016/j.tcs.2005.09.011&lt;/a&gt; (&lt;a href=&quot;http://www.automata.rwth-aachen.de/~grohe/pub/bulgro05.pdf&quot; rel=&quot;nofollow&quot;&gt;preprint&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;li&gt;Martin Dyer, Leslie Ann Goldberg and Mark Jerrum, &lt;em&gt;Matrix norms and rapid mixing for spin systems&lt;/em&gt;, Annals of Applied Probability, &lt;strong&gt;19&lt;/strong&gt;, 2009, 71–107.&#xA;doi:&lt;a href=&quot;http://dx.doi.org/10.1214/08-AAP532&quot; rel=&quot;nofollow&quot;&gt;10.1214/08-AAP532&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="109" LastEditorUserId="109" LastEditDate="2013-06-01T14:34:04.353" LastActivityDate="2013-06-01T14:34:04.353" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17860" PostTypeId="2" ParentId="10605" CreationDate="2013-06-01T03:28:09.087" Score="3" Body="&lt;p&gt;For $k=n-1$ you can do better than $O(\binom{n}{k}k^{\omega}) = O(n^{\omega+1})$ by taking advantage of the fact that the determinants of $k \times k$ minors are exactly the $(n-k)$-th order partial derivatives of the determinant of your matrix, and then applying Baur--Strassen. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Baur--Strassen says that if a function $f$ can be computed by an arithmetic circuit of size $s$, then there is a (multi-output) circuit of size $4s$ computing $(\partial f / \partial x_1, \dotsc, \partial f / \partial x_n)$. As the original determinant can be computed in time $O(n^\omega)$, the $(n-1) \times (n-1)$ minors can  be computed using the above trick in time $O(4n^{\omega}) = O(n^{\omega})$, instead of $O(n^{\omega+1})$ the other way.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(I believe finding a useful extension of Baur--Strassen to higher partial derivatives is an open question.)&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2013-06-01T03:28:09.087" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17864" PostTypeId="2" ParentId="17857" CreationDate="2013-06-01T13:03:44.197" Score="1" Body="&lt;p&gt;This looks like a simplified version of the SIR model applied to networks, as used to represent contagions. You can have a look at the Wikipedia page on &lt;a href=&quot;http://en.wikipedia.org/wiki/Epidemic_model&quot; rel=&quot;nofollow&quot;&gt;Epidemic models&lt;/a&gt;, and also to this MSc thesis: &lt;a href=&quot;http://www.vlad43210.com/thesis.pdf&quot; rel=&quot;nofollow&quot;&gt;The Dynamics of Social Contagion&lt;/a&gt; (Barash 2011). It gives a nice overview of this model and its variants. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Considering the SIR model has been largely studied, you should find relevant information for your specific model, by starting digging from this.&lt;/p&gt;&#xA;" OwnerUserId="16190" LastEditorUserId="16190" LastEditDate="2013-06-04T16:29:57.323" LastActivityDate="2013-06-04T16:29:57.323" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="17865" PostTypeId="1" CreationDate="2013-06-01T13:16:13.240" Score="7" ViewCount="800" Body="&lt;p&gt;I am looking for an algorithm for computing the biconnected components of a strongly connected directed graph.&lt;/p&gt;&#xA;" OwnerUserId="16251" LastEditorUserId="186" LastEditDate="2013-06-09T01:20:52.667" LastActivityDate="2013-06-09T01:20:52.667" Title="Biconnected components of a directed graph?" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;" AnswerCount="0" CommentCount="4" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="17868" PostTypeId="1" AcceptedAnswerId="17870" CreationDate="2013-06-02T02:24:26.363" Score="35" ViewCount="16665" Body="&lt;p&gt;In the spirit of some general discussions like &lt;a href=&quot;https://cstheory.stackexchange.com/questions/1015/open-problems-on-the-frontiers-of-tcs&quot;&gt;this&lt;/a&gt; one, I'm opening this thread with the intention to gather opinions on &lt;strong&gt;what are the open challenges and hot topics in research on programming languages&lt;/strong&gt;. I hope that the discussion might even bring to surface opinions regarding the future of research in programming languages.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I believe that this kind of discussion will help new student researchers, like myself, interested in PL, as well as those who are already somewhat involved.&lt;/p&gt;&#xA;" OwnerUserId="16196" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2013-06-03T16:13:02.540" Title="Research and open challenges in Programming Language Theory" Tags="&lt;pl.programming-languages&gt;&lt;open-problem&gt;&lt;research-practice&gt;" AnswerCount="4" CommentCount="3" FavoriteCount="33" CommunityOwnedDate="2013-06-02T21:55:31.327" ContentLicense="CC BY-SA 3.0" />
  <row Id="17869" PostTypeId="2" ParentId="17825" CreationDate="2013-06-02T04:47:34.813" Score="-3" Body="&lt;p&gt;heres another angle on this. the question starts out with an &lt;em&gt;a priori&lt;/em&gt; &quot;hard sell&quot; situation/case ie a dept that is mostly applied is already going to have an inherent bias against a more theoretical researcher, otherwise that researcher would already be in the dept.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;one possible direction &quot;in&quot; is the following. an often overlooked area of software development/design in industry and sometimes computer science departments is &lt;em&gt;architecture&lt;/em&gt;. sometimes even TCS does not have large awareness of architecture either, but it is better positioned to recognize it than with applied focus.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;in a few words, software architecture is the study of &lt;em&gt;complexity in the solution/software&lt;/em&gt;, and ways of minimizing it, which is a major issue esp. with large software projects, which these days are increasingly more common.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;software architecture involves in part the choice of algorithms (ie choice among equivalent algorithms, in terms of input/output relationship, based on different performance and scalability characteristics). sometimes applied workers are not even familiar with the basic theory that tells you stuff like an indexed column on a database is $O(log(n))$ access time instead of $O(n)$ and why this is in fact a &quot;big deal&quot;. architecture is also tied with very practical topics like when refactoring of code is appropriate or not.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;also it seems like some complex commercial software has many dimensions of scalability. in robotics an analogous concept is &quot;degrees of freedom&quot;. the software scales in many separate dimensions. for example, memory size, size of web pages, size of database results, etcetera. a good theoretical researcher will be able to more systematically/scientifically assist in identifying and quantifying all these dimensions, ie using the &lt;em&gt;scientific method&lt;/em&gt;. more applied workers will tend to just resort to trial and error, sometimes over a period of years, never really understanding exactly why their software is underperforming, hitting internal ceilings, or failing.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;there are a few rare researchers who can cross between theory and applied realms without difficulty, or as the vernacular goes, &quot;feet in both worlds&quot;. maybe studying them in particular (their career directions and writing, etc) will help to develop the mindset and philosophy to &quot;cross over&quot;. in particular, &lt;a href=&quot;http://en.wikipedia.org/wiki/Grady_Booch&quot; rel=&quot;nofollow&quot;&gt;Grady Booch&lt;/a&gt; is one eminent figure who comes to mind. he invented much of the concepts behind OOP programming and has much excellent research/writing on the topic of software architecture. another similar researcher is &lt;a href=&quot;http://en.wikipedia.org/wiki/Philippe_Kruchten&quot; rel=&quot;nofollow&quot;&gt;Phillip Kruchten&lt;/a&gt;. and yes [as in comments], &lt;a href=&quot;https://en.wikipedia.org/wiki/Peter_Shor&quot; rel=&quot;nofollow&quot;&gt;Peter Shor&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;having worked with both, one possible distinction is that in a more applied setting the main deliverable is &lt;em&gt;code&lt;/em&gt; and in a more theoretical setting the &quot;deliverables&quot; are &lt;em&gt;analyses/paper(s)&lt;/em&gt;. this can cause a cultural gap if not everyone is &quot;on the same page&quot; with what are the deliverables. in this case the theoretical scientist will be the one who will have to bend &amp;amp; be more flexible and also &quot;be ok&quot; with that. so the personality of this key person will be a key factor.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;another emerging/very prominent area these days that has strong interdisciplinary connection/overlap between theoretical and applied scientists is &lt;a href=&quot;http://en.wikipedia.org/wiki/Data_mining&quot; rel=&quot;nofollow&quot;&gt;datamining&lt;/a&gt;, reaching larger prominence with official government/corporate initiatives into &lt;a href=&quot;http://en.wikipedia.org/wiki/Big_data&quot; rel=&quot;nofollow&quot;&gt;big data&lt;/a&gt; (and again architecture is a foremost element in this).&lt;/p&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="7884" LastEditDate="2013-06-02T05:07:29.243" LastActivityDate="2013-06-02T05:07:29.243" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="17870" PostTypeId="2" ParentId="17868" CreationDate="2013-06-02T05:59:25.563" Score="26" Body="&lt;p&gt;I think the overall goal of PL theory is to lower the cost of&#xA;large-scale programming by way of improving programming languages and&#xA;the techincal ecosystem wherein languages are used.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here are some high-level, somewhat vague descriptions of PL research&#xA;areas that have received sustained attention, and will probably&#xA;continue to do so for a while.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Most programming language research has been done in the context of&#xA;sequential computation, and by now we have arguably converged on a&#xA;core of features that are available in most modern programming&#xA;languages (e.g. higher-order functions, (partial) type-inference,&#xA;pattern matching, ADTs, parametric polymorphism) and are well&#xA;understood. There is as yet no such consensus about programming&#xA;language features for concurrent and parallel computation.    &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Related to the previous point, the research field of typing systems&#xA;has seen most of its activity being about sequential computation.&#xA;Can we generalise this work to find tractable and useful typing&#xA;disciplines constraining concurrent and parallel computation?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;As a special case of the previous point, the Curry-Howard&#xA;correspondence relates structural proof theory and functional&#xA;programming, leading to sustained technology transfer between computer&#xA;science and (foundations of) mathematics, with e.g. homotopy type theory being&#xA;an impressive example. There are many tantalising hints that it can be&#xA;extended to (some forms of) concurrent and parallel computation.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Specification and verification of programs has matured a lot in&#xA;recent years, e.g.  with interactive proof assistants like Isabelle&#xA;and Coq, but the technology is still far away from being usable at&#xA;large scale in everyday programming. There is still much work to be&#xA;done to improve this state of affairs.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Programming languages and verification technology for novel forms of computation. I'm&lt;br&gt;&#xA;thinking here in particular of quantum computation, and the biologically inspired &#xA;computational mechanisms, see e.g. &lt;a href=&quot;http://lucacardelli.name/Talks/2012-12-06%20Molecular%20Programming%20%28Redmond%29.pdf&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Unification. There are many approaches to programming languages,&#xA;types, verification, and one sometimes feels that there is a lot of&#xA;overlap between them, and that there is some more abstract approach&#xA;waiting to be discovered. In particular, biologically inspired &#xA;computational mechanisms are likely to continue to overwhelm us.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;One problem of PL research is that there are no clear-cut open&#xA;problems like the P/NP question where we can immediately say if a&#xA;proposed solution works or not. &lt;/p&gt;&#xA;" OwnerUserId="898" LastEditorUserId="898" LastEditDate="2013-06-02T06:55:12.887" LastActivityDate="2013-06-02T06:55:12.887" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="17871" PostTypeId="1" CreationDate="2013-06-02T10:10:53.943" Score="13" ViewCount="379" Body="&lt;p&gt;The class BPL is the set of all problems solvable by a Turing machine running in logarithmic space and polynomial time with two-sided error; that is, if $x\in L$ then the machine accepts with probability at least $2/3$, whereas if $x\notin L$ it accepts with probability at most $1/3$.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;What is the immediate non-deterministic complexity class containing BPL? That is, what is the logarithmic-space analog of MA? It seems that NL cannot suffice in this case, and DSPACE($\log^2(n)$) seems too far away up the ladder.&lt;/li&gt;&#xA;&lt;li&gt;Can one define this class using the following?&#xA;We have a read-once &quot;witness&quot; tape of polynomial size, a read-once &quot;random&quot; tape of polynomial size, a read-only input tape, a write-only output tape, and a read-write logarithmic-size work tape.  The verifier then has to decide with completeness/soundness error at most $1/3$.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;At first sight, this might seem reasonable.&#xA;Yet, unfortunately it already contains iterated multiplication&#xA;of integer matrices (which is complete for the class DET):&#xA;Given a matrix $A$, compute $A^n$:&#xA;We simply ask the prover to provide the sequence of matrices $A,A^2,...,A^n$,&#xA;we then randomly choose a matrix $A^i$, and verify that $A^i = A^{i-1} \cdot A$,&#xA;which can be done in logspace.&#xA;Hence, the question is, is the bounded-error class simply &quot;not-interesting&quot; in the restricted memory model, because it seems to group together space-&quot;hard&quot; with space-&quot;easy&quot; problems?&lt;/p&gt;&#xA;" OwnerUserId="6238" LastEditorUserId="634" LastEditDate="2013-11-17T19:58:41.617" LastActivityDate="2013-11-17T19:58:41.617" Title="Non-deterministic logspace with two-sided error" Tags="&lt;cc.complexity-theory&gt;&lt;space-bounded&gt;&lt;space-complexity&gt;" AnswerCount="0" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="17873" PostTypeId="1" CreationDate="2013-06-02T17:50:44.873" Score="11" ViewCount="688" Body="&lt;p&gt;Part of the difficulty of finding out more about this problem is that the graph matching problem is different from its much more famous cousin, the matching problem, but hard to be distinguished from it when using search engines.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given two graphs $G=(V,E)$ and $G'=(V',E')$ such that $|V| = |V'|$, the task is to find a bijection $\pi : V \rightarrow V'$ such that this bijection establishes as much correspondences between edges of $G$ and $G'$ as possible.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In other words, if $M$ and $M'$ are the adjascency matrices, then we want to maximize&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\sum_{v,w \in V} M_{v,w} \cdot M'_{\pi(v),\pi(w)}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This problem clearly contains graph isomorphism as a special case, and can be reduced to bipartite matching under a (non-polynomial!) reduction.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What kind of algorithms do exist, and what is known about its complexity?&lt;/p&gt;&#xA;" OwnerUserId="4346" LastEditorUserId="80" LastEditDate="2013-06-03T00:37:16.120" LastActivityDate="2013-06-05T19:19:08.217" Title="History and status of the graph matching problem" Tags="&lt;reference-request&gt;&lt;graph-theory&gt;&lt;graph-isomorphism&gt;" AnswerCount="3" CommentCount="0" FavoriteCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="17874" PostTypeId="2" ParentId="17873" CreationDate="2013-06-02T18:25:41.273" Score="8" Body="&lt;p&gt;From the paper &lt;a href=&quot;http://link.springer.com/chapter/10.1007/978-3-642-32589-2_12&quot;&gt;Approximate Graph Isomorphism&lt;/a&gt;:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;We study optimization versions of Graph Isomorphism. Given two graphs $G_1,G_2$, we are interested in finding a bijection $π$ from $V(G_1)$ to $V(G_2)$ that maximizes the number of matches (edges mapped to edges or non-edges mapped to non-edges). We give an $n^{O(\log{n})}$ time approximation scheme that for any constant factor $α &amp;lt; 1$, computes an $α$-approximation. We prove this by combining the $n^{O(\log{n})}$ time additive error approximation algorithm of Arora et al. [Math. Program., 92, 2002] with a simple averaging algorithm. We also consider the corresponding minimization problem (of mismatches) and prove that it is NP-hard to $α$-approximate for any constant factor $α$. Further, we show that it is also NP-hard to approximate the maximum number of edges mapped to edges beyond a factor of 0.94.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="13056" LastActivityDate="2013-06-02T18:25:41.273" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17875" PostTypeId="2" ParentId="16897" CreationDate="2013-06-02T18:42:07.360" Score="6" Body="&lt;p&gt;The standard reference is probably &lt;a href=&quot;http://plato.asu.edu/bench.html&quot; rel=&quot;noreferrer&quot;&gt;Hans Mittelmann's page&lt;/a&gt;. Note, however, that the number of simplex iterations performed will depend on the pivoting rule and how the code deals with degeneracy.&lt;/p&gt;&#xA;" OwnerUserId="13056" LastActivityDate="2013-06-02T18:42:07.360" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17876" PostTypeId="2" ParentId="17868" CreationDate="2013-06-02T19:01:29.297" Score="12" Body="&lt;p&gt;Let me list some assumptions which limit the programming language research. These are hard to break away from because they feel like they are an essential part of what programming languages are about, or because exploring alternatives would be &quot;not programming language design anymore&quot;. With each assumption I list its limiting effects.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;em&gt;Programs are syntactic constructs.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Real programmers would never use iPads to construct source code. And even if they did, they could never be as efficient as with Emacs, Eclipse, NetBeans, XCode, etc.&lt;/li&gt;&#xA;&lt;li&gt;Research on alternative ways of constructing programs is not programming language design, but either graphical user interface design, or education (cf. Scratch).&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;em&gt;A partially written program cannot be executed.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;At the very least, runtime error occurs when execution gets to a missing part.&lt;/li&gt;&#xA;&lt;li&gt;What good could there be in running unfinished programs?&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;em&gt;Programs are about giving instructions to computers.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Programming language design has nothing to say about how to write and organize laws.&#xA;apliances.&lt;/li&gt;&#xA;&lt;li&gt;Bacteria do not write programs.&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;em&gt;Programming is like enginnering and cannot be done by ordinary people.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Ordinary people do not know the syntax, the concepts, the tools, so they cannot possibly write programs.&lt;/li&gt;&#xA;&lt;li&gt;Even if we try to make it possible for ordinary people to write programs, they will only be able to write trivial stuff.&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;I think I could go on.&lt;/p&gt;&#xA;" OwnerUserId="705" LastActivityDate="2013-06-02T19:01:29.297" CommentCount="19" ContentLicense="CC BY-SA 3.0" />
  <row Id="17877" PostTypeId="2" ParentId="17868" CreationDate="2013-06-02T20:20:09.950" Score="0" Body="&lt;p&gt;There is one problem I have been wondering about. I have no idea whether it qualifies as an open challenge.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Mathematical&#xA;knowledge has been steadily growing with time. The&#xA;theoretical foundations, concepts, notations, and proofs have evolved&#xA;over the centuries. Mathematicians have managed aggregation without&#xA;necessarily checking its global consistency in a systematic and formal&#xA;way at any point in time (though there were attempts to do it).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We should expect programming languages and program libraries to&#xA;aggregate and evolve similarly over the time. What kind of tools could&#xA;help manage aggregation of programming results and libraries so as to&#xA;keep them consistent and effectively usable by all, as computers can&#xA;be more formal and demanding regarding consistency. Do we have to redo&#xA;the libraries for each new programming language. Why should we have to&#xA;choose a language because it has the right libraries for the intended&#xA;application rather than for its intrinsic qualities as a programming&#xA;medium?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On a different topic, you might find ideas in the following question: &lt;a href=&quot;https://cs.stackexchange.com/questions/9581/are-programming-languages-becoming-more-like-natural-languages/12406&quot;&gt;Are programming languages becoming more like natural languages?&lt;/a&gt; I realize that the idea may not appeal to many theoretical computer scientists, but it may still be useful by looking at different issues or from a different point of view. I am far from agreeing with many of the ideas that were posted, but that is what discussion is for.&lt;/p&gt;&#xA;" OwnerUserId="16132" LastEditorUserId="-1" LastEditDate="2017-04-13T12:48:30.830" LastActivityDate="2013-06-02T21:56:11.533" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="17879" PostTypeId="1" CreationDate="2013-06-02T23:22:06.697" Score="4" ViewCount="212" Body="&lt;p&gt;Consider the following problem:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a bipartite graph $G = (V, E)$, an unmatched edge is one that does not appear in any perfect matching. Design an algorithm to find all unmatched edges. (assume |V| = n and |E| = m)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is an $O(m + T(m, n))$ algorithm to solve this problem [1, Web exercise 36]. Where $T(m, n)$ is the time complexity of the best algorithm for finding perfect matching in a bipartite graph $G$. I want to get a reference to the research paper/work where the algorithm was proposed, for citation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] &lt;a href=&quot;http://algs4.cs.princeton.edu/42directed/&quot; rel=&quot;nofollow&quot;&gt;http://algs4.cs.princeton.edu/42directed/&lt;/a&gt; &lt;/p&gt;&#xA;" OwnerUserId="288" LastEditorUserId="288" LastEditDate="2013-06-04T23:08:56.000" LastActivityDate="2013-06-04T23:08:56.000" Title="Perfectly matchable edges in a bipartite graph" Tags="&lt;reference-request&gt;&lt;graph-algorithms&gt;&lt;matching&gt;" AnswerCount="1" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="17880" PostTypeId="1" CreationDate="2013-06-03T09:23:42.660" Score="4" ViewCount="217" Body="&lt;p&gt;Consider the standard balls and bins process, where $m$ balls are thrown into $n$ bins, and consider the case where $m &amp;gt;&amp;gt; n$. Denote the load on bin $i$ by the RV $L_i$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a set $S \subseteq [n]$ of size $k$ which does &lt;em&gt;not&lt;/em&gt; contain the maximum and minimum load bins, and a threshold $t \in [m]$, a bin $j$ is &lt;em&gt;pivotal&lt;/em&gt; to $S$, if $\sum_{i \in S}L_i &amp;lt; t \leq \sum_{i \in S \cup j}L_i$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For a value $k \in [m-2]$, I want to bound the number of sets of size $k$ for which the maximum load bin is pivotal to, but not the minimum load bin, as a function of $t$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For $t$ sufficiently bounded away from $\frac{km}{n}$, it is not hard to show that, with high probability, bin $i$ is pivotal to set $S$ iff bin $j \neq i$ is pivotal to $S$, as the difference in the loads of every two bins is $O(\sqrt{\frac{m\log n}{n}})$ (using the Chernoff+union bound)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, for $t$ very close to $\frac{km}{n}$, the converse seems to be true (i.e., the maximum load bin is pivotal to many more sets $S$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, from &lt;a href=&quot;http://www.ic.unicamp.br/~celio/peer2peer/math/balls-into-bins.pdf&quot; rel=&quot;nofollow&quot;&gt;this&lt;/a&gt;, we know that if $n\log n &amp;lt;&amp;lt; m &amp;lt; n\cdot polylog n$, then $L_{max} = \frac{m}{n} + \Theta (\sqrt{\frac{m\log n}{n}})$ w.h.p. By showing that w.h.p. $|L_i - \frac{m}{n}| = O(\sqrt{\frac{m\log n}{n}})$, for all $i=1,\ldots,n$ w.h.p. (using a Chernoff bound), we get that $L_{max} - L_{min} = \Theta(\sqrt{\frac{m\log n}{n}})$ with high probability. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any ideas on how to lower-bound the number of sets? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem is that the loads of the remaining $n-2$ bins cannot be treated as another balls and bins process with $m-L_{min} - L_{max} = m - \frac{2m}{n} - \Theta(\sqrt{\frac{m\log n}{n}})$ balls, as their loads depend on $L_{min}$ and $L_{max}$.&lt;/p&gt;&#xA;" OwnerUserId="7701" LastEditorUserId="7701" LastEditDate="2013-06-03T18:54:39.207" LastActivityDate="2013-06-03T18:54:39.207" Title="The balls and bins model: bounding the marginal contributions in the m&gt;&gt;n regime" Tags="&lt;reference-request&gt;&lt;pr.probability&gt;" AnswerCount="0" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="17881" PostTypeId="1" AcceptedAnswerId="17882" CreationDate="2013-06-03T13:24:35.023" Score="13" ViewCount="1833" Body="&lt;p&gt;I want to define a notion of &quot;closeness&quot; between two regular languages of finite words in $\Sigma^*$ (and/or infinite words in $\Sigma^\omega$). The basic idea is that we want two languages to be close if they don't differ by many words. We could also use the edit distance in some way... I could not find good references on this issue.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I don't call it a distance because I don't require all the distance axioms to be true (although it's not bad if they are).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A first attempt is to define $$d(L,K)=  \limsup_{n\to\infty} \frac{|L_n\Delta K_n|}{|L_n\cup K_n|}$$ where $L_n$ and $K_n$ are the restrictions of $L$ and $K$ to $\Sigma^n$, and $\Delta$ is the symmetric difference.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is this &quot;distance&quot; studied? Are there references on the subject (possibly with alternative choices for distance function)? Any help or pointer would be appreciated, thanks.&lt;/p&gt;&#xA;" OwnerUserId="8953" LastActivityDate="2013-06-03T13:58:10.640" Title="Distance between regular languages" Tags="&lt;reference-request&gt;&lt;fl.formal-languages&gt;&lt;regular-language&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="17882" PostTypeId="2" ParentId="17881" CreationDate="2013-06-03T13:58:10.640" Score="11" Body="&lt;p&gt;As you perhaps already know, a common metric on words is the Cantor metric, which is defined as:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;d(l, k) = \left\{ \begin{array}{ll}&#xA;                     0 &amp;amp; \mbox{if } l = k \\&#xA;                     2^{-n} &amp;amp; \mbox{where } n = \min\{i\in\mathbb{N} \;|\;l_i \not=k_i\}&#xA;                  \end{array}&#xA;          \right.&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Roughly speaking, if a string is a sequence of events, the distance between two strings is $2^{-n}$, where $n$ is the first time they differ. &#xA;This can be lifted to a metric on (nonempty) languages by using the Hausdorff metric. (If you allow infinite strings, you also have to ensure that the languages are Cauchy-complete.)  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This metric shows up a lot in verification. The first reference to this that I know is Alpern and Schneider 1985, &lt;em&gt;Defining Liveness&lt;/em&gt;. (Sorry for the absence of a link, but I couldn't find an online copy.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Jean-Eric Pin has written a survey article, &lt;a href=&quot;http://hal.inria.fr/docs/00/35/96/77/PDF/03-pin.pdf&quot;&gt;&lt;em&gt;Profinite Methods in Automata Theory&lt;/em&gt;&lt;/a&gt;, in which he surveys some more general metrics, and also draws some connections to Stone duality. &lt;/p&gt;&#xA;" OwnerUserId="657" LastActivityDate="2013-06-03T13:58:10.640" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17883" PostTypeId="2" ParentId="17857" CreationDate="2013-06-03T15:23:05.687" Score="-1" Body="&lt;p&gt;your question indicates you're just starting out on this topic. there is some highly specialized research at this point on this subject of mathematical and computer models for virus spreading. virus spreading behavior has seen to have widespread similarities in different/diverse milieus eg computer viruses, human viruses, animal viruses. havent seen a good scientific survey paper. however here are two refs written by leading computer scientist experts/specialists/discoverers in natural/physical applications of graph theory. full disclosure, they are popular science type books, but they should be sufficient for your query to find further research leads.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/B004SHO570&quot; rel=&quot;nofollow&quot;&gt;Linked: the new science of networks&lt;/a&gt;, &lt;a href=&quot;http://en.wikipedia.org/wiki/Barabasi&quot; rel=&quot;nofollow&quot;&gt;Barabasi&lt;/a&gt;. Ch 10 Viruses and Fads.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/B00256Z3B8&quot; rel=&quot;nofollow&quot;&gt;Six Degrees: The Science of a Connected Age&lt;/a&gt;, &lt;a href=&quot;http://en.wikipedia.org/wiki/Duncan_J._Watts&quot; rel=&quot;nofollow&quot;&gt;Watts&lt;/a&gt;. Chapter 6, Epidemics and failures&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2013-06-03T15:23:05.687" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17884" PostTypeId="2" ParentId="16934" CreationDate="2013-06-03T15:48:12.020" Score="1" Body="&lt;p&gt;This is what a soft-margin SVM is already doing, except that the average has a min on the inside: $\sum_i min(h,d(x_i,c_i,w))$ where $d(x_i,c_i,w)$ is the distance of the point $x_i$ from the classification hyperplane, signed with a positive sign if it is on the correct side as determined by the target $c_i$, and $h$ is the maximum distance on the correct side you're willing to give &quot;credit&quot; for.  If you set $h$ to a large enough value, this is what you have above.  And, this is precisely a soft-margin linear SVM.&lt;/p&gt;&#xA;" OwnerUserId="16263" LastActivityDate="2013-06-03T15:48:12.020" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17885" PostTypeId="2" ParentId="17868" CreationDate="2013-06-03T15:57:53.940" Score="0" Body="&lt;p&gt;there has been a tremendous innovation and explosion in programming languages from applied and theoretical sides over the last century, yet a case might be made that this is a singular/one-time event in the history of computing, similar to an &quot;evolutionary explosion&quot; (see also &lt;a href=&quot;https://cs.stackexchange.com/questions/451/why-are-there-so-many-programming-languages&quot;&gt;&quot;why are there so many programming languages?&quot;&lt;/a&gt; on cs.se), and that therefore the future will not be like the past in this respect. however there are some identifiable long-range current trends in play/under development.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Programming_complexity&quot; rel=&quot;nofollow noreferrer&quot;&gt;Programming/software complexity&lt;/a&gt; and ways of managing/minimizing/mitigating/reducing it is a topic that has always influenced language design and is possibly even more significant in the current age with very large/complex software systems quite common. it was a major aspect of &lt;a href=&quot;http://en.wikipedia.org/wiki/Object-oriented_programming&quot; rel=&quot;nofollow noreferrer&quot;&gt;OOP design&lt;/a&gt; rationale yet now we have highly complex OOP systems! focused pondering of it has led to classics in the field such as &lt;a href=&quot;http://en.wikipedia.org/wiki/The_Mythical_Man-Month&quot; rel=&quot;nofollow noreferrer&quot;&gt;Mythical man-month&lt;/a&gt; by Brooks which in many ways is still a very valid perspective, possibly even more relevant than when it was written.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;parallelism. there is a shift in hardware toward greater parallelism (eg multicore etc) and clock speed increases are no longer sufficient to increase performance. this shift happened around the mid 2000s and is having a major influence on language research/design. parallelism was always a topic but it has a new foremost prominence/urgency, and there is some widespread thinking/consensus that parallelism is overly complicated and difficult in programming and maybe different theoretical approaches could alleviate some of this. a nice ref on this: &lt;a href=&quot;http://www.eecs.berkeley.edu/Pubs/TechRpts/2006/EECS-2006-183.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;The Landscape of Parallel Computing Research: A View from Berkeley&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Datamining&quot; rel=&quot;nofollow noreferrer&quot;&gt;datamining&lt;/a&gt;/&lt;a href=&quot;http://en.wikipedia.org/wiki/Big_data&quot; rel=&quot;nofollow noreferrer&quot;&gt;big data&lt;/a&gt;. these are influencing programming language design. also new directions in database architecture are rippling/impacting programming languages.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Supercomputing&quot; rel=&quot;nofollow noreferrer&quot;&gt;supercomputing&lt;/a&gt; has a significant impact on language design and also overlaps with parallelism and datamining/big data eg with new languages like &lt;a href=&quot;http://en.wikipedia.org/wiki/MapReduce&quot; rel=&quot;nofollow noreferrer&quot;&gt;MapReduce&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Visual_programming&quot; rel=&quot;nofollow noreferrer&quot;&gt;visual&lt;/a&gt;/&lt;a href=&quot;http://en.wikipedia.org/wiki/Dataflow_programming&quot; rel=&quot;nofollow noreferrer&quot;&gt;dataflow programming&lt;/a&gt;. there has been an increase in these types of &quot;languages&quot; (in a sense visual programming is in many ways actually decoupling programming from &quot;languages&quot;). also strong cross-pollination with parallelism.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Artificial_intelligence&quot; rel=&quot;nofollow noreferrer&quot;&gt;AI&lt;/a&gt;. this is more of a longrange wildcard and its not very clear right now how it will impact computer languages and programming but its probably going to be very substantial. in the past [in a different form] it led to entire languages like &lt;a href=&quot;http://en.wikipedia.org/wiki/Prolog&quot; rel=&quot;nofollow noreferrer&quot;&gt;prolog&lt;/a&gt;. an early indication of how it can be applied with striking results is &lt;a href=&quot;http://en.wikipedia.org/wiki/Genetic_algorithm&quot; rel=&quot;nofollow noreferrer&quot;&gt;Genetic Algorithms&lt;/a&gt;/&lt;a href=&quot;http://en.wikipedia.org/wiki/Genetic_programming&quot; rel=&quot;nofollow noreferrer&quot;&gt;Genetic Programming&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;a reference that might have some helpful ideas along the lines of &quot;future of programming languages&quot;, &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/B0028N4WCE&quot; rel=&quot;nofollow noreferrer&quot;&gt;Beyond Java&lt;/a&gt; by Tate. he ponders (albeit controversially) that maybe Java (arguably one of the most sophisticated/comprehensive programming languages in existence) is starting to show its age and there are early signs of new languages/approaches emerging to fill in its place in the long term.&lt;/p&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="-1" LastEditDate="2017-04-13T12:48:30.830" LastActivityDate="2013-06-03T16:13:02.540" CommentCount="0" CommunityOwnedDate="2013-06-03T15:57:53.940" ContentLicense="CC BY-SA 3.0" />
  <row Id="17888" PostTypeId="1" AcceptedAnswerId="17889" CreationDate="2013-06-03T17:17:20.530" Score="2" ViewCount="98" Body="&lt;p&gt;This is a problem I have found very difficult to solve, given how the two different uses of &quot;reversal&quot; confuses search engines.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Reversal-bounded multicounter machines are described at length in his paper &quot;Reversal Bounded Multicounter Machines and their Decision Problems&quot;. Essentially, the bound on reversals refers to the number of times any of the counter are allowed to switch from incrementing to decrementing.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $DCM$ be the family of languages accepted by deterministic reversal-bounded multicounter machines, and $NCM$ the nondeterministic class.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $L^R = \{w^R | w \in L \}$ where $w^R$ is $w$ reversed.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm wondering, for $L \in DCM$, is $L^R \in DCM$? Are there subclasses of $DCM$ which have this property? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&quot;Formal Modelling of Viral Gene Compression&quot; by Daley and McQuillan tells that $NCM$ is closed under reversal, but I have found no such reference for the deterministic case.&lt;/p&gt;&#xA;" OwnerUserId="16208" LastActivityDate="2013-06-03T18:54:09.433" Title="Are Reversal-bounded Multicounter Machines closed under reversal?" Tags="&lt;reference-request&gt;&lt;fl.formal-languages&gt;&lt;automata-theory&gt;&lt;counter-automata&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17889" PostTypeId="2" ParentId="17888" CreationDate="2013-06-03T18:47:59.200" Score="3" Body="&lt;p&gt;DCM is not closed under reversal.  I don't know of a reference, but it is easy to show it using the expressveness lemmata of Chiniforooshan, E., Daley, M., Ibarra, O.H., Kari, L., Seki, S.: One-reversal counter machines and multihead automata: revisited.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In particular, they state that for any DCM language $L$, there is a word $w$ such that $L \cap w\Sigma^*$ is a nontrivial regular language.  Now let $D$ be the following hinted version of the complement of the prefixes of the Dyck language:&#xA;$$D = \{a^nw_1w_2\cdots w_k \mid w_i \in \{[, ]\} \land |w_1w_2\cdots w_n|_] &amp;gt; |w_1w_2\cdots w_n|_[\}.$$&#xA;In other words, $D$ is the complement of the Dyck where the number of $a$'s in the prefix gives a position witnessing the unbalancing of the parentheses.  Also, $(\{a\}^*)^{-1}D$ is the complement of the prefixes of the Dyck.  Note that $D$ is in DCM.  Now consider $D^R$ and a word $w \in \Sigma^* = \{a, [,]\}^*$.  Then either $D^R \cap w\Sigma^*$ is finite, or it is nonregular, hence $D^R \notin$ DCM.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I don't know of any interesting subclass of DCM closed under reversal.  (Ad placement!) However, we studied a model called &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=2364334&quot; rel=&quot;nofollow&quot;&gt;Unambiguous constrained automata&lt;/a&gt; which is close but not comparable to DCM, and which enjoys closure under reversal --- constrained automata, or Parikh automata, themselves are equivalent to NCM in the nondeterministic case, and a strict subset of DCM in the deterministic case.&lt;/p&gt;&#xA;" OwnerUserId="88" LastEditorUserId="88" LastEditDate="2013-06-03T18:54:09.433" LastActivityDate="2013-06-03T18:54:09.433" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="17890" PostTypeId="1" CreationDate="2013-06-03T18:57:40.183" Score="4" ViewCount="200" Body="&lt;p&gt;The problem I have is as follows:&#xA;I know the minimizer/minimum of a non-negative submodular function, and want to use this to efficiently compute the minimizer/minimum of a &quot;perturbed&quot; submodular function. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;E.g. Consider the special case of the submodular function being the cut-capacity function; i.e. We have a directed s-t graph $(V,E)$ with $n$ nodes and $m$ edges and the cut-capacity function is defined as $f(S)=\sum_{s\in S,t\in S^c} c(u,v)$ where $S\subseteq V$ and $c(u,v)$ denotes the capacity of the edge $(u,v)$. We find the s-t min-cut $A\subset V$. Now we add/delete an edge to the graph, which changes the cut-capacity function only slightly (i.e. the function value is unchanged for most of the arguments). Finding the new min-cut by utilizing the &quot;warm start&quot; $A$ can be done in time $O(m)$. This is more efficient than finding the min-cut from scratch which takes time at least $O(nm)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am looking for any references/keywords for cases more general than the simple cut-function described above. It doesn't have to be the most general submodular function  e.g. I can restrict my attention to graphs but allow the cut function $f:2^V\rightarrow \mathbb{R}_+$ to be a more general (non-negative submodular) function, based on the capacities of the edges crossing the cut.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;P.S. I am aware that there is some work on parametric submodular function minimization, however I can't use that since I have to do the above problem repeatedly. E.g. in the graph example I described, I have to add/delete an edge, reoptimize, add/delete an edge, reoptimize and so on. This does not fall in the parametric framework.&lt;/p&gt;&#xA;" OwnerUserId="16266" LastEditorUserId="80" LastEditDate="2013-06-03T21:29:25.337" LastActivityDate="2013-06-03T21:29:25.337" Title="Submodular function re-optimization (after an update)" Tags="&lt;submodularity&gt;" AnswerCount="0" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="17891" PostTypeId="2" ParentId="17857" CreationDate="2013-06-03T20:32:05.867" Score="0" Body="&lt;p&gt;I'm fairly sure I got it, though I dont have proofs right now. I'm 99% sure this works for trees, and I'm pretty sure it works for more general graphs. The code below is in psudo-haskell&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For trees:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;GetProbability (G,N): //G = a graph, N = a node&#xA;if N.infected == True&#xA;    return 1&#xA;if N.neigbhors.size == 0&#xA;    return 0&#xA;NeighborsInfectedP = map (getP(G with N removed) ) N.neighbors&#xA;return (1 - N.q) * (1 - (AllAttacksFail NeighborInfectedP)&#xA;&#xA;AllattacksFail listOfProbs = foldl1 (*) [map (\x -&amp;gt; 1- x)] listOfProbs&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;To make it work for more general graphs, remove the other neighbors of N when calling getP recursivly on any one neighbor. I'm less sure about the general solution.&lt;/p&gt;&#xA;" OwnerUserId="16245" LastActivityDate="2013-06-03T20:32:05.867" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17892" PostTypeId="1" AcceptedAnswerId="17894" CreationDate="2013-06-03T22:12:46.820" Score="0" ViewCount="171" Body="&lt;p&gt;Firstly, I admit that my question is just something very blurred but I hope someone please give me some documents to read.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The execution of a program $P$ can be considered as a sequence of state transitions $State \to State $ (this sequence should be finite if the program halts). By that way we get execution traces of program. Now, we may note that these traces (denoted as a set $T$) are generated by a static structure, that is the syntax of $P$. So we receive the &lt;strong&gt;first constraint&lt;/strong&gt;: the set $T$ can not be arbitrary, instead &lt;em&gt;$T$ must be result of some static rewriting rules applied on the static syntax of program&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Continue this way, if $P$ is a self-modifying program, roughly speaking $P$ can firstly generate other programs $Q_{1}, Q_{2}, \dotsc$, and these programs, at their turns, will generate other traces $T_{1},T_{2}, \dotsc$, so $T = T_{1} \cup T_{2} \cup \dotsc$. And we receive the &lt;strong&gt;second constraint&lt;/strong&gt;: &lt;em&gt;the set $T$ must be result of some static rewriting rules applying on some static rewriting rules applying on the static syntax of programs&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We can continue this construction to some level (may be there exists a limit ?). But a similar view I get is in the high order category theory where there exist morphisms between morphisms, and morphisms between morphisms between morphisms, etc.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So my question is: Do exist some reseaches on that or my thinking is just a stupid nonsense thing ?&lt;/p&gt;&#xA;" OwnerUserId="3629" LastActivityDate="2013-06-04T01:59:01.907" Title="Static structure of program" Tags="&lt;pl.programming-languages&gt;&lt;ct.category-theory&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="17893" PostTypeId="2" ParentId="17879" CreationDate="2013-06-03T23:23:54.457" Score="1" Body="&lt;p&gt;It's a consequence of &lt;a href=&quot;http://en.wikipedia.org/wiki/Dulmage%E2%80%93Mendelsohn_decomposition&quot; rel=&quot;nofollow&quot;&gt;Dulmage-Mendelsohn decompositions&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="2955" LastActivityDate="2013-06-03T23:23:54.457" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="17894" PostTypeId="2" ParentId="17892" CreationDate="2013-06-04T01:59:01.907" Score="3" Body="&lt;p&gt;There are many ways to define the semantics of a program. If we consider operational semantics, a simple imperative program defines a relation $R \subseteq \mathit{State}\times \mathit{State}$. I'm using &quot;simple imperative&quot; here to mean something that does not modify itself. There is a standard way to view $R$ as a function $\wp(\mathit{State}) \to \wp(\mathit{State})$ that maps a set of states to their successors in $R$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If a program can modify itself you can consider a pair $\wp(\mathit{State})\times(\wp(\mathit{State})\to \wp(\mathit{State}))$, in which each element $(S,F)$ represents a current set of states in $S$ and a transformer $F$ representing the behaviour of the program. A program of the form you describe can modify either $S$ or $F$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;You may find the following paper useful.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;a href=&quot;http://arxiv.org/abs/1003.5954&quot; rel=&quot;nofollow&quot;&gt;Multi-Stage Programs are Generalized Arrows&lt;/a&gt;, Adam Megacz.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;If you are interested in a formalisation oriented towards automatic analysis of such programs, the following paper may interest you.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;a href=&quot;http://www.cs.arizona.edu/~debray/Publications/metamorphic.pdf%E2%80%8E&quot; rel=&quot;nofollow&quot;&gt;Modelling Metamorphism by Abstract Interpretation&lt;/a&gt;, Mila Dalla Preda, Roberto Giacobazzi, Saumya K. Debray, Kevin Coogan, Gregg M. Townsend&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="4155" LastActivityDate="2013-06-04T01:59:01.907" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17895" PostTypeId="2" ParentId="17873" CreationDate="2013-06-04T08:04:39.570" Score="6" Body="&lt;p&gt;I have no idea about your problem.  But I happen to know a great(est) &lt;a href=&quot;http://web.eecs.umich.edu/~pettie/matching/&quot;&gt;collection of papers pertaining to Graph Matching algorithms WITH PDFS&lt;/a&gt;. Applause for Seth Pettie!&lt;/p&gt;&#xA;" OwnerUserId="7059" LastActivityDate="2013-06-04T08:04:39.570" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="17900" PostTypeId="1" CreationDate="2013-06-04T18:46:20.590" Score="9" ViewCount="322" Body="&lt;p&gt;I know of Shannon's work with entropy, but lately I have worked on succinct data structures in which &lt;em&gt;empirical&lt;/em&gt; entropy is often used as part of the storage analysis. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Shannon defined the entropy of the information produced by a discrete information source as $-\sum_{i=1}^k p_i \log{p_i}$, where $p_i$ is the probability of event $i$ occurring, e.g. a specific character generated, and there are $k$ possible events.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As pointed out by MCH in the comments, the &lt;em&gt;empirical&lt;/em&gt; entropy is the entropy of the empirical distribution of these events, and is thus given by $-\sum_{i=1}^k \frac{n_{i}}{n} \log{\frac{n_{i}}{n}}$ where $n_{i}$ is the number of observed occurrences of event $i$ and $n$ is the total number of events observed. This is called &lt;em&gt;zero-th order empirical entropy&lt;/em&gt;. Shannon's notion of &lt;em&gt;conditional entropy&lt;/em&gt; has a similar &lt;em&gt;higher order&lt;/em&gt; empirical version.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Shannon did not use the term empirical entropy, though he surely deserves some of the credit for this concept. Who did first used this idea and who first used the (very logical) name &lt;em&gt;empirical entropy&lt;/em&gt; to describe it?&lt;/p&gt;&#xA;" OwnerUserId="16290" LastEditorUserId="5038" LastEditDate="2013-06-06T05:42:05.987" LastActivityDate="2014-02-26T16:08:43.967" Title="Who coined the term &quot;empirical entropy&quot;?" Tags="&lt;reference-request&gt;&lt;shannon-entropy&gt;&lt;succinct&gt;" AnswerCount="1" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="17901" PostTypeId="1" CreationDate="2013-06-04T18:51:29.477" Score="2" ViewCount="117" Body="&lt;p&gt;In &lt;a href=&quot;http://cacr.uwaterloo.ca/hac/about/chap8.pdf&quot; rel=&quot;nofollow&quot;&gt;chapter 8&lt;/a&gt; (page 288) of the &quot;Handbook of Applied Cryptography,&quot; the authors describe an attack against RSA with small exponent. Let there be 3 parties with independent RSA public keys $(e_1,n_1)$, $(e_2,n_2)$, and $(e_3,n_3)$, with $e_1=e_2=e_3=3$. With very high probability, the moduli are coprime; otherwise, it would be possible to factor them.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider a forth party, who wishes to secretly send a single message $m$ to the 3 parties above. He computes $c_i = m^3 \pmod{n_i}$, and sends $c_i$'s on the channel. The adversary, who eavesdrops the ciphertexts, can simply apply the &lt;a href=&quot;http://en.wikipedia.org/wiki/Chinese_remainder_theorem&quot; rel=&quot;nofollow&quot;&gt;Chinese Remainder Theorem&lt;/a&gt; to recover $m$. (See the above chapter for exact computations.)&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;My question is:&lt;/strong&gt; Assume that there are only two recipients, instead of three. Given $c_1$ and $c_2$, is it possible to prove (under the RSA assumption) that the adversary cannot recover $m$ (except with negligible probability)?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;More formally, let $G$ be an RSA public-key generator, and $A$ be a PPT adversary. Is it possible to prove, under the RSA assumption, that the success probability of $A$ is negligible in the experiment below?&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;$(e_1,n_1) \leftarrow G(1^k)$ and $(e_2,n_2) \leftarrow G(1^k)$&lt;/li&gt;&#xA;&lt;li&gt;$m \leftarrow_R \{1,\ldots,\min\{n_1,n_2\}\}$&lt;/li&gt;&#xA;&lt;li&gt;$c_1 \leftarrow m^{e_1} \pmod{n_1}$ and $c_2 \leftarrow m^{e_2} \pmod{n_2}$&lt;/li&gt;&#xA;&lt;li&gt;$m' \leftarrow A(e_1,n_1,e_2,n_2,c_1,c_2)$&lt;/li&gt;&#xA;&lt;li&gt;IF $m'=m$ OUTPUT &quot;$A$ succeeded&quot;; ELSE OUTPUT &quot;$A$ failed&quot;.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;PS: One can assume any technical condition to make the proof work; say $e_1=e_2$.&lt;/p&gt;&#xA;" OwnerUserId="873" LastActivityDate="2013-06-07T14:30:01.833" Title="Non-invertibility of RSA for two users" Tags="&lt;cr.crypto-security&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17904" PostTypeId="1" CreationDate="2013-06-05T05:07:06.313" Score="6" ViewCount="185" Body="&lt;p&gt;It's very common to view GUI layout as an optimization problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I've uncovered a lot of research around linear constraint systems, but a lot of real world layouts can not be represented linearly. For example, a simple &quot;Wrapping&quot; layout introduces discontinuities at line or column breaks.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some real world systems compute layout recursively. They alternate between measuring and positioning widgets, then iterate until a fixed point. I've seen this process called &quot;geometry negotiation&quot; in the documentation for several of these widget libraries. However, I can not find any formal treatment of this approach.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Outside of linear constraints, are there any other formalisms targeted at these sorts of layout optimization systems?&lt;/p&gt;&#xA;" OwnerUserId="15451" LastEditorUserId="15451" LastEditDate="2013-06-05T19:12:29.407" LastActivityDate="2013-06-05T19:56:09.860" Title="Research about geometry negotiation in widget layout" Tags="&lt;linear-programming&gt;" AnswerCount="1" CommentCount="6" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17905" PostTypeId="2" ParentId="17825" CreationDate="2013-06-05T08:54:20.223" Score="7" Body="&lt;p&gt;In addition to the points given in the other answers, I think any CS department offering an Undergraduate programme must have a reasonable number of faculty from the various CS communities, irrespective of what its broad leanings. Otherwise, a new student joining the department would naturally get aligned with the departments focus, without much of a choice. An applied professor may be able to teach TCS courses (and vice-verse), but would be unlikely to be able to pique the student's interest in the same.&lt;/p&gt;&#xA;" OwnerUserId="6207" LastActivityDate="2013-06-05T08:54:20.223" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17906" PostTypeId="1" AcceptedAnswerId="17923" CreationDate="2013-06-05T11:04:04.713" Score="5" ViewCount="711" Body="&lt;p&gt;I have an algorithm written in Haskell which I am describing in my thesis. In the code for the algorithm I have a recursive data type similar to this:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;data Data = A Int | B Data | C Data&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Now I am thinking about how to explain this in a formal way, in a way that feels natural and clear. Note that &lt;code&gt;B&lt;/code&gt; and &lt;code&gt;C&lt;/code&gt; contain the same data.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The only reasonable alternative I have come up with is to use some kind of tagged union, like this:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $Data$ be a recursively defined set given by:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Let $i$ be an integer. Then $\langle \mathcal{A}, i \rangle \in Data$.&lt;/li&gt;&#xA;&lt;li&gt;Let $d \in Data$. Then $\langle \mathcal{B}, d \rangle \in Data$.&lt;/li&gt;&#xA;&lt;li&gt;Let $d \in Data$. Then $\langle \mathcal{C}, d \rangle \in Data$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;With this definition I write functions over $Data$ like this:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;func(\langle \mathcal{A}, i \rangle) = \cdots \\&#xA;func(\langle \mathcal{B}, d \rangle) = \cdots \\&#xA;func(\langle \mathcal{C}, d \rangle) = \cdots \\&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;And predicated about is like this:&#xA;$$&#xA;Pred(\langle \mathcal{A}, i \rangle) \text{ holds if ... } \\&#xA;Pred(\langle \mathcal{B}, d \rangle) \text{ holds if ... } \\&#xA;Pred(\langle \mathcal{C}, d \rangle) \text{ holds if ... } \\&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This representation is very close to the Haskell source code, which is good, but it feels rather unnatural to mathematicians.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a more elegant and natural way to do this?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT:&lt;/strong&gt;&#xA;Thanks for the replays, sorry if I am being unclear.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am writing a master's thesis in CS about alias analysis. The text should be comprehensible for students on master level in CS with a background in algorithms (does master level mean the same in the USA? In EU you get this degree after 5 years of study including an 1 term thesis project).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have used &lt;a href=&quot;http://suif.stanford.edu/~jwhaley/papers/MIT-LCS-TR-795.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;this paper&lt;/a&gt; as a starting point, implemented that algorithm in Haskell and made some extensions. Now I want to describe my extension in a way that is similar to the paper in formulation and level of formalism. However I use a recursive algebraic data type in my extension and I'm not sure about the most natural and clear way to represent it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT&lt;/strong&gt;: The example $Data$ above is intended to have finite values only. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT:&lt;/strong&gt;&#xA;I see that my question is very similar to this: &lt;a href=&quot;https://cstheory.stackexchange.com/questions/12331/formal-representation-of-haskell-data-types?rq=1&quot;&gt;Formal Representation of Haskell Data-Types&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Except that I'm also interested in how to represent recursive data types.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT: Summary of the alternative suggestions I have received&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Tagged tuples (my example above and  Andrej Bauer's alternative)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Function applications (Shahab's first alternative)&#xA;$$&#xA;  data(a(d)) = \dots&#xA;$$&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Objects with special notation / operators (Shahab's second alternative)&#xA;$$&#xA;  \langle d \rangle = \dots&#xA;$$&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Un-data-type-ization (yatima2975's alternative)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Transform into non-recursive form. Works only for data types with one recursive element.&#xA;&quot;the Cartesian product of finite strings over {B,C} and the integers&quot;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;I think all of the have advantages and disadvantages.&lt;/p&gt;&#xA;" OwnerUserId="14067" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2013-06-11T09:29:36.560" Title="Formal representation of algorithm using recursive algebraic data types" Tags="&lt;pl.programming-languages&gt;&lt;functional-programming&gt;&lt;semantics&gt;" AnswerCount="2" CommentCount="13" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="17907" PostTypeId="1" CreationDate="2013-06-05T11:07:40.993" Score="2" ViewCount="90" Body="&lt;p&gt;I am wondering whether this is the right site to ask this question, but since it involves proof and diagonalisation, hopefully it is the right place.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am curious and trying to reason about what consequences we get if we use the predicate in the diagonalisation lemma as the provability predicate. I don't think I succeeded, I would appreciate if anyone could lend some help.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So here it is:  &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Suppose Pr is a provability predicate for a deductively defined theory T, where T is a theory satisfying the diagonalisation lemma. Suppose A is a FIXED POINT for Pr in T, that is, that $T\vdash Pr(\ulcorner A\urcorner)\equiv A$. &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;My question is: What can we say about the formula A? Is it provable in the theory T? Is it refutable in the theory T? (That is, is its negation provable in T?) Could it be either provable or refutable?&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I tried to reason as follow: (To be honest I have not yet got the hang of it, I find this topic a bit confusing, so there should be many flaws in my reasoning, please kindly correct my mistakes)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since $T\vdash Pr(\ulcorner A\urcorner)\equiv A$ so $T\vdash A$. In words, since T can show that $\ulcorner A\urcorner$ is provable iff $A$, so T can show A. So A is provable in T. I don't think it sounds correct, but I have no idea how to fix it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;To grasp the concept better, I think it is easier for me to think of an example, but I am still struggling to find one. I am trying to find examples of formulas which are fixed points for Pr in the theory of Peano Arithmetic.&lt;/strong&gt; &lt;/p&gt;&#xA;&#xA;&lt;p&gt;What I can think of about properties of numbers are like eveness, primeness. So suppose Pr represents there is a proof that $\ulcorner A\urcorner$ is even, and A is &quot;I am even&quot;. Is my example correct? Again, I am really doubtful about my own example.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, if anyone has any better way to understand the topic, I would be more than happy to learn.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Many many thanks in advance, I really appreciate any helps.&lt;/p&gt;&#xA;" OwnerUserId="16296" LastActivityDate="2013-06-05T18:55:48.267" Title="What can we say about a fixed point for a provability predicate in deductively defined theory that satisfies diagonalisation lemma" Tags="&lt;lo.logic&gt;&lt;proofs&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17908" PostTypeId="1" CreationDate="2013-06-05T13:55:03.697" Score="11" ViewCount="1947" Body="&lt;p&gt;While the rule of thumb is that in TCS papers the authors are ordered alphabetically, there are some notable counterexamples that comes to mind, wherein the authors are ordered in a different way, e.g.,&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.128.9251&quot;&gt;Algebraic Methods for Interactive Proof Systems [Lund, Fortnow, Karloff, Nisan]&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://people.csail.mit.edu/rivest/Rsapaper.pdf&quot;&gt;A Method for Obtaining Digital Signatures and Public-Key Cryptosystems [Rivest, Shamir, Adleman]&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://people.csail.mit.edu/meyer/meyer-stockmeyer-word-probs.pdf&quot;&gt;Word Problems Requiring Exponential Time [Stockmeyer, Meyer]&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;What is the story behind the unusual author ordering in these papers?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there any other examples of major TCS papers in which the order of the authors is not alphabetical?&lt;/p&gt;&#xA;" OwnerDisplayName="user887" LastActivityDate="2013-06-07T23:22:54.893" Title="Author ordering in TCS papers" Tags="&lt;soft-question&gt;" AnswerCount="4" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="17910" PostTypeId="2" ParentId="17908" CreationDate="2013-06-05T14:43:03.303" Score="9" Body="&lt;p&gt;The story behind the author ordering of the first paper is explained &lt;a href=&quot;http://blog.computationalcomplexity.org/2003/12/ordering-authors.html&quot;&gt;here&lt;/a&gt;. For the other cases I believe there's not much beyond an agreement between authors.&lt;/p&gt;&#xA;" OwnerUserId="6190" LastActivityDate="2013-06-05T14:43:03.303" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17911" PostTypeId="2" ParentId="17908" CreationDate="2013-06-05T15:01:51.127" Score="5" Body="&lt;p&gt;An example I have in mind is double. The paper &lt;strong&gt;Fast parallel computation of polynomials using few processors&lt;/strong&gt; has two versions:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://link.springer.com/chapter/10.1007/3-540-10856-4_79&quot;&gt;conference version&lt;/a&gt; by Valiant and Skyum in MFCS'81,&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://epubs.siam.org/doi/abs/10.1137/0212043&quot;&gt;journal version&lt;/a&gt; by Valiant, Skyum, Berkowitz and Rackoff in SIAM Journal of computing, 1983. &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;For the journal version, the reason for having Berkowitz and Rackoff as third and fourth authors is that the original result was only by Valiant and Skyum while Berkowitz and Rackoff helped them to simplify and improve it for the journal version. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;But I have no idea why the conference version was already non-alphabetically sorted!&lt;/p&gt;&#xA;" OwnerUserId="976" LastActivityDate="2013-06-05T15:01:51.127" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17912" PostTypeId="1" CreationDate="2013-06-05T15:56:40.187" Score="2" ViewCount="257" Body="&lt;p&gt;Is there such a thing as a &quot;normalized tensor rank&quot; for non-square tensors (i.e. a tensor with different sizes along each mode)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example: If a 3rd order tensor (dimensions = 60 x 120 x 30) has mode-ranks&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;rank-mode1 = 15 (i.e. the matrix-rank after unfolding the 3D-tensor along mode1)&lt;/li&gt;&#xA;&lt;li&gt;rank-mode2 = 16 (ditto)&lt;/li&gt;&#xA;&lt;li&gt;rank-mode3 = 10 (ditto)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Does it make sense to normalize the ranks by their respective mode-lengths&quot;?&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;normalized rank-mode1 = 15/60&lt;/li&gt;&#xA;&lt;li&gt;normalized rank-mode2 = 16/120&lt;/li&gt;&#xA;&lt;li&gt;normalized rank-mode3 = 10/30&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;And, for the example above, can I use this normalized rank to infer a simpler &quot;structure&quot; along mode2-unfolding?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;OR does the lowest rank, regardless of mode-direction, define the &quot;simplest&quot; structure direction?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT: Motivation - I'm working with reconstruction algorithms and trying to understand the significance of rank along different modes&#xA;Thank you&lt;/p&gt;&#xA;" OwnerUserId="16300" LastEditorUserId="16300" LastEditDate="2013-06-06T04:20:21.373" LastActivityDate="2013-06-06T04:20:21.373" Title="normalized tensor rank" Tags="&lt;linear-algebra&gt;&lt;matrices&gt;&lt;tensor-rank&gt;" AnswerCount="0" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="17914" PostTypeId="1" CreationDate="2013-06-05T17:49:21.133" Score="31" ViewCount="3723" Body="&lt;p&gt;Quoting &lt;a href=&quot;https://en.wikipedia.org/wiki/Conway%27s_Game_of_Life#Origins&quot; rel=&quot;nofollow noreferrer&quot;&gt;Wikipedia&lt;/a&gt;, &quot;[Conway's Game of Life] has the power of a universal Turing machine: that is, anything that can be computed algorithmically can be computed within Conway's Game of Life.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Do such results extend to noisy versions of Conway's Game of Life? &#xA;The simplest version is that after every round every live cell dies with a small probability $t$ and every dead cell becomes alive with a small probability $s$ (independently).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another possibility is to consider the following probabilistic variant of the rule of the game itself.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Any live cell with fewer than two live neighbours dies with probability $1-t$.&lt;/li&gt;&#xA;&lt;li&gt;Any live cell with two or three live neighbours lives with probability $1-t$ on to the next generation.&lt;/li&gt;&#xA;&lt;li&gt;Any live cell with more than three live neighbours dies with probability $1-t$.&lt;/li&gt;&#xA;&lt;li&gt;Any dead cell with exactly three live neighbours becomes a live cell with probability $1-t$. &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question: Do these noisy versions of the Game of Life still support universal computations? If not, what can be said about their &quot;computational power&quot;?&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Related information on the computational power of cellular automata and noisy versions of cellular automata will be also much appreciated.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(This question developed from &lt;a href=&quot;https://mathoverflow.net/questions/132402/conways-game-of-life-for-random-initial-position&quot;&gt;this question&lt;/a&gt; on MathOverflow. &lt;a href=&quot;https://mathoverflow.net/questions/132402/conways-game-of-life-for-random-initial-position/133439#133439&quot;&gt;Vincent Beffara's answer&lt;/a&gt; on MO gave interesting references for related results on computational aspects of noisy cellular automata.) &lt;/p&gt;&#xA;" OwnerUserId="712" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2014-02-20T23:39:06.920" Title="Does a noisy version of Conway's game of life support universal computation?" Tags="&lt;cc.complexity-theory&gt;&lt;pr.probability&gt;&lt;cellular-automata&gt;&lt;fault-tolerance&gt;" AnswerCount="4" CommentCount="19" FavoriteCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="17915" PostTypeId="1" AcceptedAnswerId="17942" CreationDate="2013-06-05T18:18:07.940" Score="0" ViewCount="272" Body="&lt;p&gt;I would like to ask you a question about (denotational?) semantic of program. After defining program as a transition system, and the semantics as a transition function: $$next: States \rightarrow States$$&#xA;the author stated that the meaning of program is the solution of the equation:&#xA;$$ P = next \circ P $$&#xA;which is given by:&#xA;$$ fix(\lambda f.next \circ f) $$&#xA;I could not get the idea here, what is the &quot;meaning&quot;? and why it is the solution of that equation? How it is related to Tarski's fixpoint theorem?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Could anyone explain for me or give me some references to read about it?&#xA;Thanks in advance.&lt;/p&gt;&#xA;" OwnerUserId="10526" LastEditorUserId="10526" LastEditDate="2013-06-10T09:29:42.787" LastActivityDate="2013-06-10T09:29:42.787" Title="Meaning of program as solution of a recursive equation" Tags="&lt;denotational-semantics&gt;" AnswerCount="2" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17916" PostTypeId="2" ParentId="17907" CreationDate="2013-06-05T18:55:48.267" Score="2" Body="&lt;p&gt;The formula $A$ is provable, this is almost exactly the content of &lt;a href=&quot;http://en.wikipedia.org/wiki/L%C3%B6b%27s_theorem&quot; rel=&quot;nofollow&quot;&gt;Löb's Theorem&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The proof (which can be found on the Wikipedia page) is a bit contorted, as it requires an additional application of diagonalization to build and analyze the formula:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$ \Psi \equiv Pr(\lceil\Psi\rceil)\rightarrow A $$&lt;/p&gt;&#xA;" OwnerUserId="3984" LastActivityDate="2013-06-05T18:55:48.267" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17917" PostTypeId="2" ParentId="17908" CreationDate="2013-06-05T19:00:32.797" Score="16" Body="&lt;p&gt;A quick bit of googling gives &lt;a href=&quot;http://www-history.mcs.st-andrews.ac.uk/Biographies/Adleman.html&quot; rel=&quot;noreferrer&quot;&gt;this&lt;/a&gt; for the RSA paper:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Rivest stayed up all night, preparing the manuscript describing the code before he handed it to Adleman. He had listed the paper's authors in alphabetical order - Adleman, Rivest, Shamir. Adleman demurred:&lt;/p&gt;&#xA;&lt;p&gt;&lt;em&gt;I told Ron, 'Take my name off the paper. It's your work'.&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;But Rivest insisted and eventually prevailed upon him.&lt;/p&gt;&#xA;&lt;p&gt;&lt;em&gt;I thought, 'Well, it's going to be the least important paper I've ever been on, but in a few years I will need so many lines on my vita to get tenure, ... on the other hand, I did do a substantial amount of intellectual work breaking the codes 1 through 42. So the reasonable thing to do is be the third author'.&lt;/em&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="3984" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2013-06-05T19:00:32.797" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17918" PostTypeId="2" ParentId="17873" CreationDate="2013-06-05T19:19:08.217" Score="4" Body="&lt;p&gt;The paper that @Austin Buchanan pointed to above on approximate Graph Isomorphism does not seem to correspond to the version asked. I am assuming that the adjacency matrix has $0,1$ entries in which case the objective is measuring only the matched edges. The approximate Graph Isomorphism model measures both the matched an unmatched edges which makes it a bit easier from an approximation point of view.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It appears that the problem asked is at least as hard the $k$-dense-subgraph problem which currently admits only a polynomial-approximation. See &lt;a href=&quot;http://arxiv.org/abs/1001.2891&quot; rel=&quot;nofollow&quot;&gt;http://arxiv.org/abs/1001.2891&lt;/a&gt; and &lt;a href=&quot;http://arxiv.org/abs/1110.1360&quot; rel=&quot;nofollow&quot;&gt;http://arxiv.org/abs/1110.1360&lt;/a&gt; for more details and the current status in terms of algorithms and hardness.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now for the reduction. Suppose we want to solve the $k$-dense-subgraph problem in a graph $H$; that is we want to find a subset of $k$ nodes $S$ that maximizes the number of edges in the induced graph $G[S]$. You can reduce this to your problem by setting $G$ to be a graph consisting of a clique on $k$-vertices and $n-k$ isolated vertices, and $G'$ is set to be $H$. &lt;/p&gt;&#xA;" OwnerUserId="176" LastActivityDate="2013-06-05T19:19:08.217" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17920" PostTypeId="2" ParentId="17904" CreationDate="2013-06-05T19:56:09.860" Score="3" Body="&lt;p&gt;I would suggest looking at these survey papers and tracking down the citations in the bibliography, and digging up subsequent papers which cited these. &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Walter Hower, and  Winfried Graf. &lt;em&gt;Research in constraint-based layout, visualization, CAD, and related topics : a bibliographical survey&lt;/em&gt;, 1995. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Simon Lok and Steven Feiner, &lt;em&gt;A survey of automated layout techniques for information presentations&lt;/em&gt;, 2001. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;If you're more interested in the engineering aspects, you should look at Brad Myers' work (from the late 80s/early 90s) on the Garnet and Amulet toolkits. They have a TOPLAS paper, &lt;a href=&quot;http://repository.cmu.edu/cgi/viewcontent.cgi?article=1761&amp;amp;context=isr&quot; rel=&quot;nofollow&quot;&gt;&lt;em&gt;Lessons learned about one-way, dataflow constraints in the Garnet and Amulet graphical toolkits&lt;/em&gt;&lt;/a&gt;, which summarizes what they learned.  &lt;/p&gt;&#xA;" OwnerUserId="657" LastActivityDate="2013-06-05T19:56:09.860" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17921" PostTypeId="2" ParentId="17915" CreationDate="2013-06-05T23:49:36.260" Score="0" Body="&lt;p&gt;In this case, I guest that &quot;meaning&quot; is &quot;semantics&quot;. You can consider the set $\mathcal{P}$ of all partial functions $States \to States$ and the function $Next \colon \mathcal{P} \to \mathcal{P}$ defined by: $$Next(P) = next \circ P$$ for all $P \in \mathcal{P}$. On $\mathcal{P}$ with the ordering by function extension, $Next$ is monotonic, so it has least fixed-point by Kleene theorem. Moreover $Next$ is nothing but $\lambda f.next \circ f$ written in $\lambda$-notation.&lt;/p&gt;&#xA;" OwnerUserId="3629" LastEditorUserId="3629" LastEditDate="2013-06-05T23:54:59.700" LastActivityDate="2013-06-05T23:54:59.700" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17922" PostTypeId="2" ParentId="17847" CreationDate="2013-06-06T04:26:08.753" Score="0" Body="&lt;p&gt;I think there may be multiple instances of such graphs. One pathological case that can be constructed is as follows &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider three disjoint vertex sets S,T,O. S is a single vertex of degree d+1 with all of edges going into the set O, i.e. there are no edges between S and T. Let O be a very large set and let the edges inside O be such that O is a clique. Now the idea is that we will set edges such that T has smaller expansion than S but T will have greater sparsity. So essentially such that S is the smallest sparsity set and T is the smallest expansion. Set up edges such that T is a clique and every vertex in T has d edges going into O. Suppose that |O| and |T| &gt;&gt; d&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now clearly T is the set with smallest expansion (of expansion d) (this is not hard to see because subsets of T and O have a lot of edges going out). Once again the smallest sparsity sets would be either T or S. Sparsity of S = d+1 / |O| + |T| and Sparsity of T = d / |O| + 1 . Given our chosen set of parameters. Sparsity of T &gt; Sparsity of S&lt;/p&gt;&#xA;" OwnerUserId="12212" LastActivityDate="2013-06-06T04:26:08.753" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17923" PostTypeId="2" ParentId="17906" CreationDate="2013-06-06T09:38:38.500" Score="4" Body="&lt;p&gt;First of all, I think that there is nothing wrong with your current definition and I think it can be understood by any mathematician. However, if you still want it to look nicer, I can give you a few hints:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Firstly, you might have a look at a few papers that introduce intuitionistic type theory. There, the set of possible proofs for a disjunctive type $A \vee B$ is the &lt;a href=&quot;http://en.wikipedia.org/wiki/Disjoint_union&quot; rel=&quot;nofollow&quot;&gt;disjoint union&lt;/a&gt; of all possible proofs for $A$ and all possible proofs for $B$. For example, if you look at &lt;a href=&quot;http://www.csie.ntu.edu.tw/~b94087/ITT.pdf&quot; rel=&quot;nofollow&quot;&gt;this paper by Martin-Lof&lt;/a&gt;, on page 7 (page 13 of the pdf file), you see that it uses $i(a)$ and $j(a)$ to mark whether $a$ is a proof of $A$ or a proof of $B$. You can do the same and use notation $a(d)$ and $b(d)$ to denote $\mathcal{A}~Data$ or $\mathcal{B}~Data$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The second way and, to me, the more elegant way is to use different notations. For example, your definition of $Data$ would look something like this:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$Data$ is the minimal set that contains $\mathbb{N}$ and is closed under the $[.]$ and $\langle .\rangle$ containers, i.e., if $d \in Data$ then so are $[d]$ and $\langle d \rangle$. This way, a function $f : Data \mapsto A$ can be defined by defining it over $\mathbb{N}$ as well as $f([d])$ and $f(\langle d \rangle)$ (for $d \in Data$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As you can see, this is not very different from your own way as I mentioned in the beginning. The only difference, to me, is the aesthetics. My version just seems cleaner and less like programming (I would also change the name $Data$ in the thesis explanation to a one-letter name to make it even cleaner).&lt;/p&gt;&#xA;" OwnerUserId="15892" LastActivityDate="2013-06-06T09:38:38.500" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="17924" PostTypeId="2" ParentId="17906" CreationDate="2013-06-06T10:47:40.013" Score="6" Body="&lt;p&gt;You should get acquainted with &lt;em&gt;inductive definitions&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Instead of saying that $Data$ is recursively defined, say that it is a set constructed &lt;em&gt;inductively&lt;/em&gt; by:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$(0,i) \in Data$ for every $i \in \mathbb{Z}$,&lt;/li&gt;&#xA;&lt;li&gt;$(1,d) \in Data$ for every $d \in Data$,&lt;/li&gt;&#xA;&lt;li&gt;$(2,d) \in Data$ for every $d \in Data$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Another way to say the same thing is that $Data$ is the smallest set such that&#xA;$$Data = \lbrace (0,i) \mid i \in \mathbb{Z} \rbrace \cup&#xA;\lbrace (1,d) \mid d \in Data \rbrace \cup&#xA;\lbrace (2,d) \mid d \in Data \rbrace.$$&#xA;Then remark that you use abbreviations $\mathcal{A} = 0$, $\mathcal{B} = 1$, $\mathcal{C} = 2$. Mathematicians are not used to introduction of basic symbols or tags, unless they are considering polynomials in a &quot;variable&quot; $X$ (which they really should call &quot;symbol&quot;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But it may be better not to cater to old-fashioned traditions of mathematicians. We should push them into the 21st century and teach them some math which they think of as &quot;computer science&quot;. What is wrong with assuming your reader knows what an inductive data type is?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One word of warning: Haskell does &lt;em&gt;not&lt;/em&gt; have inductive datatypes, but rather &lt;em&gt;coindcutive&lt;/em&gt; data types. If you define the type in Haskell you will also get infinite elements of the form &lt;code&gt;B (B (C (B ....)))&lt;/code&gt;. There is just no way to get this right in Haskell. ML has proper datatypes.&lt;/p&gt;&#xA;" OwnerUserId="705" LastActivityDate="2013-06-06T10:47:40.013" CommentCount="13" ContentLicense="CC BY-SA 3.0" />
  <row Id="17927" PostTypeId="1" CreationDate="2013-06-07T09:33:06.610" Score="3" ViewCount="81" Body="&lt;p&gt;I'm looking for a bag or set data structure that will allow for the following operations:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Add&lt;/strong&gt; an element to the set, and get a &amp;quot;pointer&amp;quot; to that element.&lt;/p&gt;&#xA;&lt;p&gt;&lt;code&gt;Add :: mystructure a -&amp;gt; a -&amp;gt; (mystructure a, myptr a)&lt;/code&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Remove&lt;/strong&gt; an element for which I have a &amp;quot;pointer&amp;quot;.&lt;/p&gt;&#xA;&lt;p&gt;&lt;code&gt;Remove :: mystructure a -&amp;gt; myptr a -&amp;gt; mystructure a&lt;/code&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Enumerate&lt;/strong&gt; all the elements in the set.&#xA;&lt;code&gt;Enumerate :: mystructure a -&amp;gt; [a]&lt;/code&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Note that I don't really care about duplicate values (the values I enter are already unique), nor the order of elements.&lt;/p&gt;&#xA;&lt;p&gt;A very simple implementation for this structure would be to use a doubly-linked list, with the standard &lt;strong&gt;Add&lt;/strong&gt; returning a pointer to the newly created list node, the standard &lt;strong&gt;Remove&lt;/strong&gt; removing such a node from the list, and &lt;strong&gt;Enumerate&lt;/strong&gt; simply traversing the list.&lt;/p&gt;&#xA;&lt;p&gt;However, I need the structure to be &lt;strong&gt;immutable/persistant&lt;/strong&gt; (i.e. the &lt;strong&gt;Add&lt;/strong&gt; and &lt;strong&gt;Remove&lt;/strong&gt; operations don't modify the original data structure). Ideally, the operations would still be &lt;code&gt;O(1)&lt;/code&gt;, like with a doubly-linked list. I think finger trees could be used for this, but I don't know them well.&lt;/p&gt;&#xA;" OwnerUserId="645" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2013-06-07T15:26:31.737" Title="Persistant bag/set with direct access to known elements" Tags="&lt;ds.data-structures&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17928" PostTypeId="1" AcceptedAnswerId="17930" CreationDate="2013-06-07T10:46:10.283" Score="4" ViewCount="314" Body="&lt;p&gt;For example, finding terms $\vec{a}$ such that:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\vec{a}(\lambda x.x) = T\\\vec{a}(\lambda xy.x) = F$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a systematic method for finding terms with these types of constraint?&lt;/p&gt;&#xA;" OwnerUserId="16318" LastActivityDate="2013-06-07T12:07:38.563" Title="Is there a systematic method for constructing lambda calculus terms that can distinguish between inputs?" Tags="&lt;lambda-calculus&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17929" PostTypeId="2" ParentId="17928" CreationDate="2013-06-07T11:14:09.903" Score="0" Body="&lt;p&gt;You might want to look at Barry Jay's Pattern Calculus. This is something beyond the $\lambda$-calculus, but is has the power to do intensional analysis of lambda expressions.&lt;/p&gt;&#xA;" OwnerUserId="77" LastActivityDate="2013-06-07T11:14:09.903" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17930" PostTypeId="2" ParentId="17928" CreationDate="2013-06-07T12:02:12.760" Score="8" Body="&lt;p&gt;The Böhm-out technique can construct term contexts that can distinguish between terms iff they are distinct in the beta-eta theory (i.e., a term context $C[-]$ so that $C[s]=T$ and $C[t]=F$). See, e.g., &lt;a href=&quot;http://www.di.unito.it/~dezani/papers/dgp.pdf&quot;&gt;http://www.di.unito.it/~dezani/papers/dgp.pdf&lt;/a&gt; - it is exceedingly systemtic.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If the terms are closed, as in your example, the context you construct using the Böhm-out technique will be a term M that you apply to the two terms (so $M s = T$, $M t=F$).  Otherwise the term context will include capturing substitutions so that it can work at the sites of the free variables.&lt;/p&gt;&#xA;" OwnerUserId="270" LastEditorUserId="270" LastEditDate="2013-06-07T12:07:38.563" LastActivityDate="2013-06-07T12:07:38.563" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17931" PostTypeId="2" ParentId="17901" CreationDate="2013-06-07T14:30:01.833" Score="4" Body="&lt;p&gt;What you're asking for has been called &quot;correlated product&quot; security for a trapdoor function.  See &lt;a href=&quot;http://eprint.iacr.org/2008/116.pdf&quot; rel=&quot;nofollow&quot;&gt;this paper by Rosen and Segev&lt;/a&gt;, which lays out the definition.  Your question fixes $k$ from their Definition 3.2 to $2$;  as you (and their paper) note, we know that the RSA trapdoor function with exponent $e\leq k$ is not correlated-product secure.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I don't know how to give a reduction to plain RSA to prove what you want, and I'd guess that it's very hard.  The best I can think of is to try to prove this under the so-called Phi-hiding assumption (see Cachin, Micali, Stadler, Eurocrypt'99, or reference below).  This may follow by combining Theorem 3.3 of &lt;a href=&quot;http://eprint.iacr.org/2008/116.pdf&quot; rel=&quot;nofollow&quot;&gt;1&lt;/a&gt; (which says that a lossy trapdoor function is correlated-product secure) with Section 5 of this &lt;a href=&quot;http://eprint.iacr.org/2011/559.pdf&quot; rel=&quot;nofollow&quot;&gt;this paper by Kiltz, O'Neill, and Smith&lt;/a&gt; that shows the RSA function is lossy under that assumption.  I haven't checked that the parameters works out, though.&lt;/p&gt;&#xA;" OwnerUserId="12654" LastActivityDate="2013-06-07T14:30:01.833" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="17932" PostTypeId="2" ParentId="17927" CreationDate="2013-06-07T15:26:31.737" Score="3" Body="&lt;p&gt;You can solve this with a dictionary, using &lt;code&gt;myptr a = a&lt;/code&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can get $O(\lg n)$ add and remove in an immutable data structure by using a balanced binary search tree. Enumerate will take $O(n)$ time, but the $i$th element can be made available in $O(i)$ time, so your enumerate result can keep up with any consumption of it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://erikdemaine.org/papers/ConfluentTries_Algorithmica/&quot; rel=&quot;nofollow&quot;&gt;&quot;Confluently Persistent Tries for Efficient Version Control&quot;, by Erik D. Demaine, Stefan Langerman, and Eric Price&lt;/a&gt; provides a dictionary that is fully persistent, but not immutable. With it, you can get the same bound on enumerate, and a $O(\lg \lg n)$ bound on add and remove.&lt;/p&gt;&#xA;" OwnerUserId="43" LastActivityDate="2013-06-07T15:26:31.737" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17934" PostTypeId="1" CreationDate="2013-06-07T19:46:05.747" Score="-8" ViewCount="293" Body="&lt;p&gt;What is the point of the study? Why would anyone want to just make a career, passion, or otherwise interest or hobby in something that purports itself as theories for computational systems in general? I mean no offense, but it just puzzles me; somewhat like theoretical physics. Why spend time theorizing rather than being practical and doing something specific to a purpose?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, I am a computer programmer aspiring to gain more knowledge of hardware, software, and programming methodologies, but all practically with a purpose. I would not want a theory on how to program a computer, because a theory isn't code for a CPU to execute. I want an answer, an overview, and a purpose; I do not understand the idea of sitting around writing up highly complex mathematical formulas for them to be implemented on a dumb electric microprocessor that will just move voltages around to represent something we find use in. A complex math problem can help scope the image or ideal of something, but face it; a computer doesn't &quot;know&quot; what a problem is, it just has the circuitry, set up and instructions to move matter around for whatever purpose. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hence, from that very standing point and argue I propose, why expect a dumb, thoughtless chip to give a damn about a problem you thought up that must be re-arranged to be executed in twos' complement bits? For that, think concisely, draw up a schematic, and implement the very problem as directly proportional to the operation of the chip, saving clock cycles from the oscillator, theoretical problems that don't exist on a CPU's pipeline, and for a direct purpose outside of an ideal system.&lt;/p&gt;&#xA;" OwnerUserId="16326" LastActivityDate="2013-06-07T21:08:39.493" Title="A question on the very essence of &quot;theoretical computer science&quot;" Tags="&lt;co.combinatorics&gt;" AnswerCount="2" CommentCount="6" ClosedDate="2013-06-08T13:22:21.260" ContentLicense="CC BY-SA 3.0" />
  <row Id="17935" PostTypeId="1" AcceptedAnswerId="17975" CreationDate="2013-06-07T19:47:56.083" Score="14" ViewCount="237" Body="&lt;p&gt;As everyone knows, &#xA;SAT is complete for $\mathsf{NP}$ w.r.t. polynomial-time many-one reductions. &#xA;It is still complete w.r.t. $\mathsf{AC^0}$ many-one reductions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My questions is what is the minimum required depth for the reductions? &#xA;More formally, &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What is the least $d$ such that &#xA;  SAT is $\mathsf{NP}$-hard w.r.t $\mathsf{AC^0_d}$ many-one reductions?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;It seems to me that $\mathsf{AC^0_2}$ should be sufficient? Does anyone know a reference?&lt;/p&gt;&#xA;" OwnerUserId="186" LastActivityDate="2013-06-11T17:04:33.417" Title="What is the minimum required depth of reductions for NP-hardness of SAT?" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;np-hardness&gt;&lt;circuit-complexity&gt;&lt;reductions&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="17936" PostTypeId="2" ParentId="17934" CreationDate="2013-06-07T20:42:12.637" Score="3" Body="&lt;p&gt;&lt;br&gt;&#xA;&quot;Computer science is no more about&lt;br&gt;&#xA;computers than astronomy is about&lt;br&gt;&#xA;telescopes&quot; [E. Dijkstra]&lt;/p&gt;&#xA;" OwnerUserId="3247" LastActivityDate="2013-06-07T20:42:12.637" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17937" PostTypeId="2" ParentId="17934" CreationDate="2013-06-07T21:08:39.493" Score="4" Body="&lt;p&gt;Seeing that you are a computer programmer: Without all the theoretical developments, your C++ compiler would take forever to compile your program and even then would most likely crash. That is assuming that your OS could keep running by that time, not using countless clever data structures and algorithms developed in theory.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Whatever you look at, be it a compiler, operating system, database, a video game, a web service, or the web browser you are using now to read this text: There is &lt;strong&gt;a lot&lt;/strong&gt; of theory behind its working.&lt;/p&gt;&#xA;" OwnerUserId="6190" LastActivityDate="2013-06-07T21:08:39.493" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17938" PostTypeId="2" ParentId="17908" CreationDate="2013-06-07T23:22:54.893" Score="8" Body="&lt;p&gt;Sometimes an advisor will put their name second so as to have the graduate student's name appear first.  This is even more common if the student did most of the work, say, after the thesis advisor suggested the problem.&lt;/p&gt;&#xA;" OwnerUserId="3227" LastActivityDate="2013-06-07T23:22:54.893" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17939" PostTypeId="2" ParentId="17676" CreationDate="2013-06-08T01:45:54.100" Score="0" Body="&lt;p&gt;Nobody has mentioned Impagliazzo's famous &quot;Five worlds&quot; paper.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.cs.ucsd.edu/users/russell/average.ps&quot; rel=&quot;nofollow&quot;&gt;http://www.cs.ucsd.edu/users/russell/average.ps&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="16329" LastActivityDate="2013-06-08T01:45:54.100" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17942" PostTypeId="2" ParentId="17915" CreationDate="2013-06-08T11:26:01.777" Score="2" Body="&lt;p&gt;&quot;Meaning&quot;, or &quot;semantics&quot; to use the more technical term, is only the understanding you wish to associate with the&#xA;text of the program.  It can be a mathematical function that specifies&#xA;abstractedly what the program computes (denotational semantics), or it&#xA;can be a formal description of how the computation is conducted by a&#xA;formally defined machinery (operational semantics). It is really a&#xA;matter of what you are interested in expressing. The program is a big&#xA;formula, and there are many way in which you may want to interpret it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You may even be interested in so-called non-standard interpretation&#xA;that may express specific properties of the program, such as well&#xA;typedness.  Even a prettyprinter, that gives you a string of&#xA;characters corresponding to a nicely presented version of the program&#xA;text can be seen as an interpretation, a meaning for it (however trivial). It is much in&#xA;the eyes of the beholder.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, the definition of a meaning cannot be arbitrary. It is&#xA;expected to obey some rules so that it can be used constructively. In&#xA;particular, a program or formula is produced by composition, by using&#xA;formal operators to build larger formulae from smaller parts. A&#xA;meaning, or semantics is expected to follow these compositional rules,&#xA;so that you can somehow define the meaning of the whole from the&#xA;meaning of the components. The use high order functions makes the&#xA;constraint more manageable than appears.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The concept is applicable to other formal structures. For example, the&#xA;syntax of a programming language is usually defined by a grammar. The&#xA;grammar can have a meaning that is the set of program (strings) that&#xA;can be written according to that grammar. It could also be the set of&#xA;parse-trees for those programs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now a standard meaning of program is what it computes, or how it does&#xA;it (again, partly for consistency reasons, the distinction is often&#xA;in the eyes of the beholder, depending somewhat on what you do with&#xA;that formal meaning).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Coming back to your example:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The function $next$ defines what it is to execute one step of&#xA;the program. Its meaning is a function (on a mathematical&#xA;domain of states) that gives you the next state after a step of&#xA;computation given the current state. By applying this function&#xA;repeatedly,  starting from the initial state of your computation, you&#xA;will ultimately get to a final state that gives you the result ... or&#xA;computes indefinitely (depending on whether that computation is&#xA;supposed to terminate).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This means that the effect of running your program is to apply the&#xA;function :  $ next \circ  next \circ next \circ next \circ ...$&#xA;this composition being as long as necessary for all steps of the&#xA;calculation at hand, possibly infinitely many.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is better expressed by the fixed-point equation:  $P = next \circ P$&lt;br&gt;&#xA;since from it you can derive :&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;$P = next \circ next \circ P$&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;$P = next \circ next \circ next \circ P$&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;$P = next \circ next \circ next \circ next \circ P$&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;and so on&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;It shows that any function $P$ satisfying this equation will provide as&#xA;many steps as needed, applying the function $next$, to get the&#xA;computation you want to describe.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, this requires a minimum of mathematical apparatus to work&#xA;properly, for the equation to have a mathematical meaning.  The mathematical domains used are supposed to allow you to talk about&#xA;approximating a function. For example a finite composition of $n$&#xA;application of the function $next$ is an approximation of $P$ for when the&#xA;program needs no more than $n$ steps to do its work. Typically, a&#xA;lattice of ever better approximations will do that (this is what&#xA;monotonicity is about: getting ever better approximations, as you&#xA;increase the number of applications). Furthermore, you need this&#xA;lattice to be continuous, so that the monotonically increasing infinite sequence of&#xA;approximations of $P$ will have a limit, which is actually the meaning&#xA;of $P$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In practice, all this is usually described in a more formal mathematical way,&#xA;as done for example in the answer of @tathanhdinh.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This technique of approximations can be used as well to describe data structures that contain loops, actually implemented with pointers, though the semantics may not want to know about pointers.&lt;/p&gt;&#xA;" OwnerUserId="16132" LastEditorUserId="16132" LastEditDate="2013-06-08T14:48:37.743" LastActivityDate="2013-06-08T14:48:37.743" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="17945" PostTypeId="2" ParentId="17713" CreationDate="2013-06-08T16:09:08.043" Score="5" Body="&lt;p&gt;The question you are asking is exactly equivalent to deciding whether the joint spectral radius (JSR) of the set of matrices is strictly less than one. Decidability of this question has remained open for quite some time now. (In control theory, this is equivalent to decidability of stability of switched linear systems under arbitrary switching.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The following variant of your question is known to be undecidable:&#xA;Given a finite set of square matrices, decide whether all products remain bounded; &#xA;&lt;a href=&quot;http://www.mit.edu/~jnt/Papers/J081-00-vb-products.pdf&quot; rel=&quot;nofollow&quot;&gt;see here&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The undecidability of the above remains valid even if you have only 2 matrices of size 47x47: &lt;a href=&quot;http://perso.uclouvain.be/vincent.blondel/publications/01BC-pfa.pdf&quot; rel=&quot;nofollow&quot;&gt;see here&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the JSR language, the question of testing &quot;is JSR $\le 1$?&quot; is undecidable (see references above), but decidability of testing &quot;is JSR $&amp;lt; 1$?&quot; is open.&#xA;The latter question is related to the so-called &lt;a href=&quot;http://arxiv.org/pdf/1006.2117v2.pdf&quot; rel=&quot;nofollow&quot;&gt;&quot;rational finiteness conjecture&quot;:&lt;/a&gt;&#xA;If the rational finiteness conjecture is true, then the question you are asking is decidable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, unless P=NP, the JSR is not approximable in polynomial time (in the precise sense defined in &lt;a href=&quot;http://www.mit.edu/~jnt/Papers/J064-97-vb-spectr.pdf&quot; rel=&quot;nofollow&quot;&gt;this paper&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As a result, one of the answers above which claims an efficient algorithm must be false.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the positive side, there are several algorithms (e.g. based on semidefinite programming) for approximating the JSR. The different algorithms come with different performance guarantees. See e.g. the following (shamelessly by myself and my colleagues - but see also references &lt;a href=&quot;http://web.mit.edu/~a_a_a/Public/Publications/jsr_path_complete_graph_lyap.pdf&quot; rel=&quot;nofollow&quot;&gt;therein&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In several special cases, the question you are asking is polynomial time decidable. For example, when the matrices are symmetric, or rank one, or if they commute.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, a great book on the subject is the &lt;a href=&quot;http://link.springer.com/book/10.1007/978-3-540-95980-9/page/1&quot; rel=&quot;nofollow&quot;&gt;following&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="16335" LastEditorUserId="16335" LastEditDate="2013-06-08T21:27:35.943" LastActivityDate="2013-06-08T21:27:35.943" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="17947" PostTypeId="1" CreationDate="2013-06-08T20:52:56.310" Score="2" ViewCount="88" Body="&lt;p&gt;Helly's Theorem states the following. Suppose $X_1,X_2,...,X_N$ are convex sets in $\mathbb{R}^d$, such that for any index-set $I$ with $|I| \leq h(d) := d+1$, we have $\bigcap_{i \in I} X_i \neq \varnothing$. Then $\bigcap_{i=1}^N X_i \neq \varnothing$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $f: \mathbb{R}^d \times \mathbb{R}^n \rightarrow \mathbb{R}$ be such that for all $x \in \mathbb{R}^d$, $y \mapsto f(x,y)$ is convex, and for all $y \in \mathbb{R}^n$, $x \mapsto f(x,y)$ is convex. Suppose $n \leq d$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Define the sets &#xA;$$ X_i := \{ x \in \mathbb{R}^d \mid f( x, y_i ) \leq 0 \}, \ \forall i = 1, 2, ..., N,$$&#xA;where $y_1, ..., y_N \in \mathbb{R}^n$ are given vectors.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am wondering if Helly's Theorem holds true with Helly's number $h$ depending on $n$, not on $d$.&lt;/p&gt;&#xA;" OwnerUserId="15867" LastEditorUserId="15867" LastEditDate="2013-06-09T19:39:52.240" LastActivityDate="2013-06-09T19:39:52.240" Title="Helly's number from biconvex functions" Tags="&lt;co.combinatorics&gt;&lt;cg.comp-geom&gt;&lt;convex-geometry&gt;" AnswerCount="0" CommentCount="4" FavoriteCount="1" ClosedDate="2013-06-10T13:42:08.627" ContentLicense="CC BY-SA 3.0" />
  <row Id="17949" PostTypeId="2" ParentId="17165" CreationDate="2013-06-09T07:38:23.763" Score="6" Body="&lt;p&gt;In any graph, the parity of the number of vertex covers is equal to the parity of the number of edge covers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To see why, check &lt;a href=&quot;https://cstheory.stackexchange.com/a/14911/947&quot;&gt;this answer&lt;/a&gt; and observe how the parity of $|C|$ is equal to the parity of $\Delta_{|V|} = O_{|V|} - E_{|V|}$, which is in turn equal to the parity of $O_{|V|} + E_{|V|}$, which is the number of edge covers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Computing the parity of the number of vertex covers is $\oplus$P-hard: therefore computing the parity of the number of edge covers is $\oplus$P-hard as well.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;At least the second half of the question has been settled.&lt;/p&gt;&#xA;" OwnerUserId="947" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2013-06-10T21:17:56.490" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17950" PostTypeId="1" CreationDate="2013-06-09T13:21:37.397" Score="3" ViewCount="179" Body="&lt;p&gt;I have a question about the following question and its answer.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/questions/16686/status-on-circuit-lower-bounds-for-polylog-bounded-depth-circuits&quot;&gt;Status on circuit lower bounds for polylog-bounded depth circuits&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;In the above question, it is asked about methods to prove lower bounds for poly-log depth boolean circuits.&lt;/p&gt;&#xA;&lt;p&gt;Jukna's kindful answer suggests two methods: one is matrix rigidity and the other is &lt;span class=&quot;math-container&quot;&gt;$t(G)$&lt;/span&gt; which is  the smallest number &lt;span class=&quot;math-container&quot;&gt;$t$&lt;/span&gt;  such that &lt;span class=&quot;math-container&quot;&gt;$G$&lt;/span&gt;  can be written as an intersection of &lt;span class=&quot;math-container&quot;&gt;$t$&lt;/span&gt;  bipartite graphs, each being a union of at most &lt;span class=&quot;math-container&quot;&gt;$t$&lt;/span&gt;  complete bipartite graphs.&lt;/p&gt;&#xA;&lt;p&gt;Anyone considering about proofs of circuit lower bounds can not evade the &lt;a href=&quot;http://en.wikipedia.org/wiki/Natural_proof&quot; rel=&quot;nofollow noreferrer&quot;&gt;&amp;quot;Natural Proof&amp;quot;&lt;/a&gt;. In 1994, Razborov and Rudich proved that we &lt;em&gt;can not&lt;/em&gt;  take any approach satisfying the following three conditions:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Constructivity: &lt;em&gt;hard&lt;/em&gt; property of &lt;span class=&quot;math-container&quot;&gt;$f$&lt;/span&gt; which is a boolean function we try to prove its hardness for arbitrary circuit in &lt;span class=&quot;math-container&quot;&gt;$\mathcal{C}$&lt;/span&gt; can be computed by poly-time in the size of truth table of boolean function.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Largeness: &lt;em&gt;hard&lt;/em&gt; property of &lt;span class=&quot;math-container&quot;&gt;$f$&lt;/span&gt; is easy to find in the sence of random function: the probability which randomly chosen boolean function from the family of all boolean function is at least &lt;span class=&quot;math-container&quot;&gt;$2^{-Cn}$&lt;/span&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Useful: &lt;em&gt;hard&lt;/em&gt; property can not be dealt with by any circuit in &lt;span class=&quot;math-container&quot;&gt;$\mathcal{C}$&lt;/span&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;My question is:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Question1: Can bounding the two quantity that is matrix rigidity and &lt;span class=&quot;math-container&quot;&gt;$t(G)$&lt;/span&gt; breaking the conditions of Natural Proofs?&lt;/p&gt;&#xA;&lt;p&gt;Question2: At this moment, is there a method which we guarantee (or may have some hope) that the way is not a kind of natural proofs, if the answer of Question1 is NO?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="14065" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2013-06-09T14:38:44.737" Title="Natural Proofs and methods for polylog depth circuit lower bounds" Tags="&lt;cc.complexity-theory&gt;&lt;co.combinatorics&gt;&lt;circuit-complexity&gt;&lt;lower-bounds&gt;&lt;boolean-functions&gt;" AnswerCount="0" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="17951" PostTypeId="2" ParentId="16834" CreationDate="2013-06-09T17:50:01.437" Score="2" Body="&lt;p&gt;This is a classical cross-product construction, originally published&#xA;by Bar-Hillel, Perles and Shamir (1961) in &lt;code&gt;On formal properties of&#xA;simple phrase structure grammars.&lt;/code&gt;It can be found in most elementary&#xA;books on automata theory. (the reference to the initial paper appears in the paper suggested by @Jurij, which I could not access as I wrote this answer).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Actually, it can be done with any CF grammar, no normal form being&#xA;required (but ... see below).  On the FSA side, any recognizing&#xA;finite-state automaton will do, including non-deterministic.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The complexity is $O(n^{p+1})$ for both the construction time and the&#xA;size of the resulting grammar, where $n$ is the number of states of the&#xA;automaton and $p$ is the length of the longest rule right-hand side of&#xA;the grammar.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hence, reducing the grammar in Chomsky normal form (CNF) will give $n=2$ and&#xA;allow for cubic time and space (and result size) complexity. More precisely, some of the constraints of CNF are not even needed. It is enough to put it in 2-form, by introducing new non-terminal so that no right-hand side containt more than 2 symbols.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The size of the resulting grammar can be&#xA;further reduced by minimizing the finite automaton.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/DFA_minimization&quot; rel=&quot;nofollow&quot;&gt;Minimizing a DFA&lt;/a&gt; has a time complexity $O(ns \ log\ n)$, where $n$ is&#xA;the number of states and $s$ is the size of the alphabet. However&#xA;the cost is much higher for a NDFA, as it is $O(2^n)$. There is no&#xA;escape from that if you have a NDFA to begin with, since this high&#xA;cost is needed for &lt;a href=&quot;http://en.wikipedia.org/wiki/Determinization&quot; rel=&quot;nofollow&quot;&gt;determinizing the NDFA&lt;/a&gt; which requires a powerset construction on the set of states.&lt;/p&gt;&#xA;" OwnerUserId="16132" LastEditorUserId="16132" LastEditDate="2013-06-09T23:55:29.590" LastActivityDate="2013-06-09T23:55:29.590" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17952" PostTypeId="2" ParentId="11754" CreationDate="2013-06-09T19:16:54.573" Score="4" Body="&lt;p&gt;As I was told by Abhishek Methuku, this has been studied already, in fact several times, see e.g. &lt;a href=&quot;http://www.researchgate.net/publication/3042594_Sorting_n_objects_with_a_k-sorter&quot; rel=&quot;nofollow&quot;&gt;http://www.researchgate.net/publication/3042594_Sorting_n_objects_with_a_k-sorter&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For $k$ large, the answer is close to $n \log_{k!}(n)$ but e.g. $k=3$ seems to be open.&lt;/p&gt;&#xA;" OwnerUserId="419" LastActivityDate="2013-06-09T19:16:54.573" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17953" PostTypeId="1" CreationDate="2013-06-09T19:30:57.023" Score="1" ViewCount="94" Body="&lt;p&gt;&lt;a href=&quot;https://math.stackexchange.com/questions/415515/recursive-sequence-tree-problem-original-research-in-the-field-of-comp-sci&quot;&gt;The original copy of the question&lt;/a&gt; on MSE.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $S=(s_0, ..., s_{N-1})$ be a sequence of $N=2^p$ numbers. We consider a labelled binary tree of height $p$ as follows:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The root has label $S$,&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;for each node $x$ in the tree, and label $l$,&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$x.left.l = x.l_0 + x.l_1$,&lt;/li&gt;&#xA;&lt;li&gt;$x.right.l = x.l_0 - x.l_1$,&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;where $l_0$ and $l_1$ are the first and second half of the sequence $l$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;For example, if $S=(1,2,3,4,5,6,7,8)$ we have the tree:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&#xA;                 1, 2, 3, 4, 5, 6, 7, 8&#xA;                /                      \&#xA;    6, 8, 10, 12                       -4, -4, -4, -4&#xA;   /            \                      /             \ &#xA; 16, 20       -4, -4                -8, -8,         0, 0&#xA; /    \       /    \                /     \        /    \&#xA;36    -4    -8      0             -16      0      0      0&#xA;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;where the second level is obtain by &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$(6 = 1+5, 8 = 2+6, 10 = 3+7, 12 = 4+8)$,&lt;/li&gt;&#xA;&lt;li&gt;$(-4 = 1-5, -4 = 2-6, -4 = 3-7, -4 = 4-7)$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The problem is to compute the labels for the leaves. &#xA;In the example, the labels for the leaves are: $36, -4, -8, 0, -16, 0, 0, 0$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If I compute the tree recursively, the computational complexity will be $O(N \log N)$. That is a little slow for the purpose of the algorithm. Is it possible to calculate the labels for the leaves in linear time?&lt;/p&gt;&#xA;" OwnerUserId="16345" LastEditorUserId="-1" LastEditDate="2017-04-13T12:19:19.363" LastActivityDate="2013-06-09T21:34:45.387" Title="Linear time algorithm for computing the labels of leaves in a recursively defined tree" Tags="&lt;ds.algorithms&gt;&lt;ds.data-structures&gt;&lt;tree&gt;" AnswerCount="0" CommentCount="4" ClosedDate="2013-06-09T21:16:29.067" ContentLicense="CC BY-SA 3.0" />
  <row Id="17955" PostTypeId="1" CreationDate="2013-06-09T22:23:35.750" Score="3" ViewCount="349" Body="&lt;p&gt;I wondered if there is any known algorithm for secure messaging without pre-shared keys (i.e. public key cryptography) that is practical to use without the aid of a computer?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Obviously I would not expect it to be as secure as modern 256-bit encryption, but I wondered whether it was theoretically possible that older civilizations ever could have used something akin to public key cryptography, perhaps something with a computational complexity on the order of the Vigenere technique but without the need for a pre-arranged shared key?&lt;/p&gt;&#xA;" OwnerUserId="16348" LastEditorUserId="3247" LastEditDate="2013-06-10T20:21:07.743" LastActivityDate="2013-06-14T06:58:44.250" Title="A public key cryptographic technique usable without aid of computer" Tags="&lt;cr.crypto-security&gt;&lt;key-exchange&gt;" AnswerCount="3" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="17956" PostTypeId="1" AcceptedAnswerId="17986" CreationDate="2013-06-10T00:37:58.903" Score="7" ViewCount="1336" Body="&lt;p&gt;Under some assumptions, it is &lt;a href=&quot;http://ieeexplore.ieee.org/xpl/login.jsp?tp=&amp;amp;arnumber=548522&amp;amp;url=http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=548522&quot; rel=&quot;nofollow&quot;&gt;hard to approximate MAX-CLIQUE&lt;/a&gt; within a factor $n^{1-\epsilon}$ for any $\epsilon &amp;gt;0$. Are there any other problems that are known to be equally hard to approximate? I'm particularly interested in unweighted problems.&lt;/p&gt;&#xA;" OwnerUserId="13056" LastEditorUserId="5693" LastEditDate="2013-06-12T02:44:01.857" LastActivityDate="2013-06-12T08:19:44.237" Title="Hardest problems to approximate" Tags="&lt;approximation-hardness&gt;&lt;clique&gt;" AnswerCount="4" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="17957" PostTypeId="2" ParentId="17956" CreationDate="2013-06-10T01:03:23.807" Score="7" Body="&lt;p&gt;A similar hardness result is known for the inapproximability of chromatic number [1]. Independent set is hard to approximate as well, since it is $\mathsf{MAX\text{-}CLIQUE}$ on the complement graph. Some problems that are easier to approximate include vertex cover, (connected) dominating set, feedback vertex set, TSP and Steiner tree.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;[1] &lt;a href=&quot;http://toc.nada.kth.se/articles/v003a006/v003a006.pdf&quot; rel=&quot;nofollow&quot;&gt;Zuckerman, David. &quot;Linear degree extractors and the inapproximability of max clique and chromatic number.&quot; Proceedings of the thirty-eighth annual ACM symposium on Theory of computing. ACM, 2006.&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="5693" LastEditorUserId="5693" LastEditDate="2013-06-10T18:36:32.053" LastActivityDate="2013-06-10T18:36:32.053" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17958" PostTypeId="1" CreationDate="2013-06-10T01:54:21.930" Score="5" ViewCount="1186" Body="&lt;p&gt;I want to explore the notion of quantifying the amount of &lt;em&gt;succinctness&lt;/em&gt; a programming language provides.  That is, the amount a high-level language reduces the complex. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This idea of &quot;simplification&quot; is a factor of &lt;strong&gt;text-wise reduction&lt;/strong&gt; (fewer characters needed to express a complex concept, à la Algorithmic Information Theory) and another, less easy-to-quantify concept of &lt;strong&gt;maintainability&lt;/strong&gt;. Fleshing out this latter concept, it is clear it has to do with how easily one can establish programmer consensus for the given task (i.e. how many programmers of the language would put it back the same way you've expressed it or otherwise agree on the best implementation between different implementations of the same problem?).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I will define the &quot;Kolmogorov Quotient&quot; so that higher numbers for a given language denote a &lt;em&gt;reduction&lt;/em&gt; in the complexity of solving the problem in the given language.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The metric for &quot;text-wise reduction&quot; should incorporate a constant factor based on (non-identifier) symbols used in the language and source text.  These factors will be the same across all languages implemented (i.e. &lt;em&gt;designed&lt;/em&gt;) for a given architecture (e.g. VonNeumann architecture vs. Symbolics) and will be a measure of the &lt;strong&gt;&lt;em&gt;significance&lt;/em&gt;&lt;/strong&gt; of the symbol; i.e. the topology of the language tokens.  (These terms, alas, will also need to be fleshed out and defined.)  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Once the basic premise and a methodology above is agreed to, it is only a matter of a rough constant of difference for any specific implementation/architecture. (That is, as long as the architecture is the same across all measurements, the number should be valid and comparable between languages.) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;But it could go something like this: Pick a language &quot;close to the machine&quot;, like C or Assembly, and measure the amount of bytes of machine code it used to implement a standard suite(*) of common, non-threaded programming tasks (base_language_count). Then code the exact same functionality in the language you are wanting to measure (without using external libraries) and count the number of bytes of source code (test_language_count).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;KQuotient = (base_language_count / test_language_count) / number_of_equal_programs. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&quot;number_of_equal_programs&quot; is the number of programs fluent programmers of the language agree that are the best and equal solutions to the problem. (I will define &quot;equal programs&quot; as those who's output is the same for every input.) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The first ratio &lt;em&gt;should&lt;/em&gt; always be greater than 1.0.  My only concern is that for each programming language, one could reduce the KQuotient number simply by changing each keyword to a single character.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(*) &quot;standard suite of common programming tasks...&quot;:  I see two main categories:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Data-processing suite, limited to simple text I/O &lt;em&gt;(computation towards the machine)&lt;/em&gt;&lt;/li&gt;&#xA;&lt;li&gt;GUI suite &lt;em&gt;(computation towards the user)&lt;/em&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;The purpose of this idea is to end the tiring &quot;language wars&quot; about whose language is the best.  By giving a quantitative metric, people can at least argue better.&lt;/em&gt;&lt;/p&gt;&#xA;" OwnerUserId="10512" LastEditorUserId="10512" LastEditDate="2014-07-21T04:42:48.653" LastActivityDate="2014-09-24T17:42:13.807" Title="How to measure programming language succinctness?" Tags="&lt;pl.programming-languages&gt;&lt;kolmogorov-complexity&gt;&lt;algebraic-topology&gt;" AnswerCount="3" CommentCount="11" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="17959" PostTypeId="2" ParentId="17956" CreationDate="2013-06-10T02:54:48.203" Score="4" Body="&lt;p&gt;Min TSP is harder to approximate than maximum clique. For the general case of Min TSP, it is hard to approximate the minimum weight of TSP within better than &lt;a href=&quot;http://www.eng.tau.ac.il/algs/tsp.pdf&quot; rel=&quot;nofollow&quot;&gt;exponential factors&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2013-06-10T03:10:31.937" LastActivityDate="2013-06-10T03:10:31.937" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17960" PostTypeId="2" ParentId="17955" CreationDate="2013-06-10T03:51:01.080" Score="2" Body="&lt;p&gt;The Cæsar and Vigenère cipher are &lt;em&gt;breakable&lt;/em&gt;. While some private key ciphers such as RC4, SNOW and SNOW2 (which are quite safe if used properly) can in principle be used by hand (albeit very slowly), public key ciphers usually require modular exponentiation of (very) large integers, which seems out of reach even for a determined individual. (Rabin's cipher may be somewhat practical to encrypt but not to decrypt.) Elliptic curve-based methods are even worse. Lattice-based public key encryption requires generating randomness on the encryptor's side, and some non-trivial algorithics on the decryptor's, so also seem to be too difficult to implement by hand.&lt;/p&gt;&#xA;" OwnerUserId="40" LastActivityDate="2013-06-10T03:51:01.080" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17963" PostTypeId="2" ParentId="17958" CreationDate="2013-06-10T07:37:22.813" Score="7" Body="&lt;p&gt;The ideas the question expresses are interesting but maybe insufficiently&#xA;fleshed out.  I can see a couple of points that deserve further&#xA;refinement.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;It is difficult to &quot;code the exact same functionality&quot;. In part that&#xA;is because what counts as &quot;the exact same functionality&quot; depends on&#xA;the chosen notion of program equivalence. For terminating programs&#xA;in sequential programming languages there's a canonical definition,&#xA;but when you move to concurrent, non-terminating programs,&#xA;canonicity vanishes, and you are left with multiple, reasonable&#xA;choices that are mutually incompatible. Secondly, but related to the&#xA;first point, different programming languages are fundamentally&#xA;different: things you can do in a low-level language can often not&#xA;be done in a high-level language. A typical example is to do with&#xA;speed.  Certain tasks can be solved intrinsically faster in assembly language&#xA;than in e.g. Prolog or Javascript (assuming conventional&#xA;compilation).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The KQuotient is subjective, in the sense that for any&#xA;given task, programmers A and B will likely have different length&#xA;base and test language implementations.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Moreover, the KQuotient is also task dependent, meaning that, given&#xA;a pair of languages, the KQuotient for Task A will in general be&#xA;different from the KQuotient of Task B.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Finally, even though I find the idea of measuring maintainability via&#xA;query numbers to reach consensus intriguing, I suggest to be more&#xA;clear about what kind of queries are relevant here (syntax?&#xA;semantics?), and how the concept of programmer consensus can be made&#xA;precise.&lt;/p&gt;&#xA;" OwnerUserId="898" LastEditorUserId="898" LastEditDate="2013-06-10T09:42:19.963" LastActivityDate="2013-06-10T09:42:19.963" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="17964" PostTypeId="2" ParentId="17956" CreationDate="2013-06-10T17:44:41.323" Score="4" Body="&lt;p&gt;The title of this question does not match the content. As stated in the comments, there are some NP optimization problems for which &lt;em&gt;any&lt;/em&gt; polynomial time approximation algorithm implies P = NP. Maybe you are looking for optimization problems that are not approximable within any polynomial factor, or that exhibit a threshold behavior? You may be looking for polyAPX-hard or polyAPX-complete problems.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;polyAPX is the class of NP optimization problems that have a polynomial time approximation algorithm such that the measure of the approximate solution is within a polynomial factor of the optimal measure. In Theorem 2 of &lt;a href=&quot;http://basepub.dauphine.fr/xmlui/bitstream/handle/123456789/4769/isaac04.pdf?sequence=2&quot; rel=&quot;nofollow&quot;&gt;this extended abstract&lt;/a&gt;, you can see that the Maximum Independent Set problem is complete for polyAPX under PTAS reductions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For more information on approximation-preserving reductions and approximability results, check out &lt;a href=&quot;http://www.nada.kth.se/~viggo/wwwcompendium/&quot; rel=&quot;nofollow&quot;&gt;the compendium of NP optimization problems&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="4193" LastEditorUserId="4193" LastEditDate="2013-06-11T19:38:37.663" LastActivityDate="2013-06-11T19:38:37.663" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17965" PostTypeId="2" ParentId="17845" CreationDate="2013-06-10T18:58:59.543" Score="6" Body="&lt;p&gt;NOTE: my purported algorithm was incorrect; I deleted it. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;One thing to realize is that it doesn't matter whether the game is deterministic or not. To randomize, the referee can ask each of the players to contribute a random number mod $p$, and then add them. It's easy to show that if the players use their optimal strategy, the sum is a random number mod $p$, which the referee can then use to randomize his strategy. This doesn't greatly increase the number of states in the game. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For a lower bound on the complexity, the question of approximating the value of a &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.46.6099&quot; rel=&quot;nofollow&quot;&gt;&lt;em&gt;simple stochastic game&lt;/em&gt;&lt;/a&gt; is &lt;a href=&quot;http://link.springer.com/chapter/10.1007%2F978-3-642-10631-6_102&quot; rel=&quot;nofollow&quot;&gt;not known to be in P&lt;/a&gt;. Using the randomization trick I gave above, it is easy to write a simple stochastic game as a refereed game with a polynomial-size lookup table.&lt;/p&gt;&#xA;" OwnerUserId="1677" LastEditorUserId="1677" LastEditDate="2013-06-11T00:31:35.017" LastActivityDate="2013-06-11T00:31:35.017" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="17966" PostTypeId="2" ParentId="17955" CreationDate="2013-06-10T20:17:38.927" Score="6" Body="&lt;p&gt;Secure cryptographic protocols that can be executed by humans are considered in this paper: &lt;a href=&quot;http://link.springer.com/chapter/10.1007%2F3-540-45682-1_4&quot;&gt;http://link.springer.com/chapter/10.1007%2F3-540-45682-1_4&lt;/a&gt; (Hopper and Blum, &quot;Secure Human Identification Protocols&quot;). Reading the abstract, it sounds like they don't fully solve the problem. I suspect a satisfying solution is not known, but if you want to look into it I would start by looking at papers citing this one. &lt;/p&gt;&#xA;" OwnerUserId="25" LastActivityDate="2013-06-10T20:17:38.927" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17967" PostTypeId="1" AcceptedAnswerId="17970" CreationDate="2013-06-10T21:10:16.800" Score="-3" ViewCount="277" Body="&lt;p&gt;Can a permutation matrix (P) be used to change the rank of another matrix (M)?&#xA;Is there any literature to this effect, or to the contrary?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I've tried a few small examples and the resulting matrix (M2) seems to always have the same rank as the input matrix (M)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;M2 = M P&lt;/p&gt;&#xA;" OwnerUserId="16300" LastActivityDate="2013-06-10T23:44:30.603" Title="the product of a matrix and a permutation matrix" Tags="&lt;linear-algebra&gt;&lt;permutations&gt;&lt;matrix-product&gt;" AnswerCount="1" CommentCount="2" ClosedDate="2013-06-11T12:27:50.350" ContentLicense="CC BY-SA 3.0" />
  <row Id="17970" PostTypeId="2" ParentId="17967" CreationDate="2013-06-10T23:44:30.603" Score="1" Body="&lt;p&gt;This probably doesn't belong on the TCS stack exchange, but I'll answer anyways.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;No, multiplication by a permutation matrix will never change the rank of the matrix.  Permutation matrices are orthogonal, so if matrix M has an &lt;a href=&quot;http://en.wikipedia.org/wiki/Singular_value_decomposition&quot; rel=&quot;nofollow&quot;&gt;SVD&lt;/a&gt;:&#xA;$$ M = U \Sigma V^* $$&#xA;Then the product $MP$ has an SVD:&#xA;$$ MP = U \Sigma V^* P = U \Sigma W^* $$&#xA;Recall that the rank is the number of non-zero singular values.  Because $M$ and $MP$ have the same singular values $\Sigma$, they must have the same rank (and a whole bunch of other stuff).&lt;/p&gt;&#xA;" OwnerUserId="16236" LastActivityDate="2013-06-10T23:44:30.603" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="17971" PostTypeId="1" AcceptedAnswerId="17973" CreationDate="2013-06-11T07:09:21.337" Score="4" ViewCount="2599" Body="&lt;p&gt;I have about 80 million spatial points(3D) and I want to find all the nearest neighbors of a query point which lie under a sphere of a certain radius(can be given as input) with the query point as center. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have read about some data structures that are used for such kind of search, such as Kd-trees, octrees or range trees. For my application, I only need to populate the data structure once and then search for multiple query points. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Is there any better way or a better data structure than Kd-trees in this case?&#xA;&lt;ul&gt;&#xA;&lt;li&gt;With kd trees, I'll have to find the median of such a large dataset multiple times, which may take a lot of time to populate the tree.&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I don't know much about any of these data structures so could you please refer some tutorials about whatever solution you may recommend. I know this question may seem repeated but from all the questions I found and read, no one was using such a large set of points.&lt;/p&gt;&#xA;" OwnerUserId="16368" LastEditorUserId="191" LastEditDate="2013-06-11T12:17:24.890" LastActivityDate="2015-03-05T06:58:09.583" Title="Search for all nearest neighbors within a certain radius of a point in 3D?" Tags="&lt;ds.data-structures&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="17973" PostTypeId="2" ParentId="17971" CreationDate="2013-06-11T15:50:47.020" Score="8" Body="&lt;p&gt;My recommendation is NOT to roll your own for now. There are two software packages that I'd recommend you try first. &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.cs.umd.edu/~mount/ANN/&quot;&gt;ANN&lt;/a&gt; (by Arya and Mount) is state-of-the-art for low dimensional near neighbor search and includes the &quot;fixed radius&quot; search that you're looking for. &lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.ecse.rpi.edu/Homepages/wrf/pmwiki/pmwiki.php/Research/Nearpt3&quot;&gt;Nearpt3&lt;/a&gt; (Wm Randolph Franklin) is another package that is specifically optimized for 3D, and supposedly can handle 100s of millions of points. I'm not entirely sure it handles fixed radius queries as well as regular nearest neighbor search, but you can look into it. &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;If neither of these is appropriate, then you can return and ask :). &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2013-06-11T15:50:47.020" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17974" PostTypeId="1" CreationDate="2013-06-11T16:11:04.263" Score="7" ViewCount="259" Body="&lt;p&gt;In the problem NODE KAYLES two opposing players take turns playing on an undirected graph. In each turn, a player selects a vertex $u$ and removes $u$ and all its neighbors from the graph. The first player who is unable to select a vertex loses. In other words, the two players take turns selecting vertices under the constraint that the set of all selected vertices must be independent.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;NODE KAYLES was shown to be PSPACE-complete by Schaefer in the late '70s. (See &quot;On the complexity of some two-person perfect-information games&quot;, Thomas J. Schaefer, JCSS 1978). In the same paper, the edge version of the game, called there ARC KAYLES, is mentioned as an open problem. In ARC KAYLES, players take turns selecting edges (rather than vertices) under the constraint that the set of edges selected is independent (i.e. a matching).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is if the complexity of ARC KAYLES is still open. I have seen a few more recent papers on NODE KAYLES (e.g. &quot;Kayles and Nimbers&quot;, by Bodlaender and Kratsch) but I haven't been able to find a reference on any follow-up work regarding ARC KAYLES. Is it by now known that ARC KAYLES is PSPACE-complete?&lt;/p&gt;&#xA;" OwnerUserId="3168" LastActivityDate="2013-06-11T16:11:04.263" Title="Is the complexity of ARC KAYLES still open?" Tags="&lt;combinatorial-game-theory&gt;&lt;pspace&gt;" AnswerCount="0" CommentCount="1" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="17975" PostTypeId="2" ParentId="17935" CreationDate="2013-06-11T17:04:33.417" Score="8" Body="&lt;p&gt;Reposting my comment:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;From a quick look, it seems like your question should be answered by &quot;Manindra Agrawal, Eric Allender, Steven Rudich, &lt;a href=&quot;http://www.cse.iitk.ac.in/users/manindra/isomorphism/non-uniform-ac0-iso.pdf&quot;&gt;Reductions in Circuit Complexity: An Isomorphism Theorem and a Gap Theorem&lt;/a&gt;, JCSS 57: 127-143, 1999.&quot; They say &quot;we prove that all sets complete for NP under AC0 reductions are complete under reductions that are computable via depth two AC0 circuits.&quot; But I may be missing something.&lt;/p&gt;&#xA;" OwnerUserId="206" LastActivityDate="2013-06-11T17:04:33.417" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17976" PostTypeId="1" CreationDate="2013-06-11T17:06:13.087" Score="9" ViewCount="343" Body="&lt;p&gt;Is the following problem decidable?&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Given $n$ and a Presburger arithmetic formula $\phi(x_1,x_2,\dots,x_n)$, determine whether the language $\{a_1^{i_1} \dots a_n^{i_n}:\phi(i_1,i_2,\dots,i_n)\}$ over alphabet $\{a_1, a_2, \dots, a_n\}$ is context-free.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;For example, this covers asking if languages such as $\{a^i b^j c^{i+j}\}$, $\{a^i b^j c^i d^j\}$, $\{a^n b^n c^n\}$, $\{a^i b^j c^k: i\neq j, j \neq k, i \neq k\}$ are context-free.&lt;/p&gt;&#xA;" OwnerUserId="1886" LastEditorUserId="1886" LastEditDate="2013-06-11T17:20:49.107" LastActivityDate="2013-06-11T17:20:49.107" Title="Deciding if a language induced by a Presburger formula is context-free" Tags="&lt;fl.formal-languages&gt;&lt;context-free-languages&gt;&lt;decidability&gt;" AnswerCount="0" CommentCount="3" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="17978" PostTypeId="1" AcceptedAnswerId="17980" CreationDate="2013-06-11T18:11:23.597" Score="12" ViewCount="500" Body="&lt;p&gt;Do we know that the $\mathsf{TC^0}$ hierarchy does not collapse ($\mathsf{TC^0_d} \subsetneq \mathsf{TC^0_{d+1}}$ for all $d$)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://complexityzoo.uwaterloo.ca/Complexity_Zoo%3aT#tc0&quot;&gt;The Zoo entry for $\mathsf{TC^0}$&lt;/a&gt; only mentions the separation between depth 2 and 3.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also is there a standard reference for the fact that $\mathsf{AC^0_d}$ hierarchy does not collapse?&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="77" LastEditDate="2013-06-11T18:44:53.540" LastActivityDate="2013-06-11T21:54:25.820" Title="Does the $\mathsf{TC^0}$ hierarchy collapse?" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;complexity-classes&gt;&lt;circuit-complexity&gt;&lt;bounded-depth&gt;" AnswerCount="2" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="17979" PostTypeId="1" CreationDate="2013-06-11T20:00:16.087" Score="3" ViewCount="144" Body="&lt;p&gt;I'm looking for a binary graph operation $\oplus$ that has the following properties for all undirected graphs $G_1$ and $G_2$.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;If $d_1$ is the largest number for which $G_1$ has a subgraph of minimum degree $d_1$, and $d_2$ the largest such number for $G_2$, then the largest such number for $G_1 \oplus G_2$ should be $d_1 + d_2$. In other words, $$\max_{H \subseteq G_1} \delta(H) + \max_{H \subseteq G_2} \delta(H) = \max_{H \subseteq G_1 \oplus G_2} \delta(H),$$ where $\delta(H)$ denotes the minimum degree of the subgraph $H$.&lt;/li&gt;&#xA;&lt;li&gt;$|G_1 \oplus G_2| \in O(|G_1| + |G_2|)$.&lt;/li&gt;&#xA;&lt;li&gt;$G_1 \oplus G_2$ is computable in logarithmic space.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;I believe the &lt;a href=&quot;https://en.wikipedia.org/wiki/Graph_product&quot; rel=&quot;nofollow&quot;&gt;Cartesian product&lt;/a&gt; for graphs satisfies the first and the third conditions, but the size of the product graph in this case is multiplicative (specifically $O(|G_1| \cdot |G_2|)$), not additive. I will be performing this operation a polynomial number of times, so a multiplicative increase in size is unacceptable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Edit: changed condition 3 to require a logarithmic space computation instead of a polynomial time computation.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Edit: changed condition 1 to require the maximum minimum degree over all subgraphs should be preserved.&lt;/em&gt;&lt;/p&gt;&#xA;" OwnerUserId="4193" LastEditorUserId="4193" LastEditDate="2013-06-15T03:55:35.657" LastActivityDate="2013-06-15T03:55:35.657" Title="Looking for an &quot;additive&quot; binary graph operation that preserves subgraphs of high degree" Tags="&lt;graph-theory&gt;" AnswerCount="0" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="17980" PostTypeId="2" ParentId="17978" CreationDate="2013-06-11T20:43:29.317" Score="15" Body="&lt;p&gt;We know of no good lower bounds (meaning, say, a superpolynomial lower bound for a language in $\mathsf{NEXP}$) for depth 2 threshold circuits (unbounded weights). Depth 3 circuits built from majority gates, i.e. $\mathsf{TC}^0_3$ contains this class, and thus we know no good lower bounds for this class either.&lt;/p&gt;&#xA;" OwnerUserId="313" LastActivityDate="2013-06-11T20:43:29.317" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="17981" PostTypeId="2" ParentId="17978" CreationDate="2013-06-11T21:22:43.933" Score="12" Body="&lt;p&gt;If I am not making a mistake, it seems that proving that the $\mathsf{TC^0_d}$ hierarchy does not collapse is at least as difficult as separating $\mathsf{NC^1}$ from $\mathsf{TC^0}$:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let's denote the Boolean Formula Evaluation problem by $BFE$. $BFE$ is complete for $\mathsf{NC^1}$ under $\mathsf{AC^0}$ reductions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By Manindra Agrawal, Eric Allender, and Steven Rudich, &quot;&lt;a href=&quot;http://ftp.cs.rutgers.edu/pub/allender/switch3.pdf&quot;&gt;Reductions in Circuit Complexity: An Isomorphism Theorem and a Gap Theorem&lt;/a&gt;&quot;, 1999, $BFE$ is complete for $\mathsf{NC^1}$ under $\mathsf{AC^0_2}$ reductions. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assume $\mathsf{NC^1}=\mathsf{TC^0}$. &#xA;Then $BFE \in \mathsf{TC^0_d}$ for some $d$.&#xA;Therefore $\mathsf{NC^1} \subseteq \mathsf{TC^0_{d+2}}$.&#xA;Which means that $\mathsf{TC^0} \subseteq \mathsf{TC^0_{d+2}}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So for all $d$ we have&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;$\mathsf{TC^0} \not\subseteq \mathsf{TC^0_d}$ implies $\mathsf{NC^1} \not\subseteq \mathsf{TC^0_{d+2}}$ and $BFE \notin \mathsf{TC^0_d}$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2013-06-11T21:54:25.820" LastActivityDate="2013-06-11T21:54:25.820" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17982" PostTypeId="1" CreationDate="2013-06-11T21:24:31.450" Score="5" ViewCount="182" Body="&lt;p&gt;Let $G=(V,E)$ be a graph having all the following restrictions:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Every vertex $v \in V$ has degree $4$.&lt;/li&gt;&#xA;&lt;li&gt;Every vertex $v \in V$ belongs to at least $2$ triangles.&lt;/li&gt;&#xA;&lt;li&gt;For every vertex $v \in V$, if $v$ belongs to exactly $2$ triangles then such $2$ triangles do not share any edge.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;I would like to know whether such kind of graphs have been studied, what is known about them, and in particular which is the computational complexity of counting vertex covers and edge covers (even modulo $2$) on them. &lt;/p&gt;&#xA;" OwnerUserId="947" LastEditorUserId="947" LastEditDate="2013-06-12T21:38:45.843" LastActivityDate="2013-06-12T21:38:45.843" Title="How hard is counting vertex covers / edge covers on the following graph class?" Tags="&lt;graph-theory&gt;&lt;counting-complexity&gt;" AnswerCount="0" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="17983" PostTypeId="1" AcceptedAnswerId="17984" CreationDate="2013-06-11T23:33:48.823" Score="4" ViewCount="155" Body="&lt;p&gt;It is well known that bounded diameter planar graphs have bounded treewidth (e.g. see &lt;a href=&quot;http://igitur-archive.library.uu.nl/math/2006-1214-201709/bodlaender_88_planar_graphs.pdf&quot; rel=&quot;nofollow&quot;&gt;this&lt;/a&gt;). Does the converse hold? That is, is every planar bounded treewidth graph the (induced?) subgraph of a bounded diameter planar graph? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am interested in a proof sketch/reference if this is true or a counterexample if this is false.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note1: David's correct answer below is in the negative. In its light can we modify the question to read: Are k-outerplanar graphs subgraphs of simultaneously bounded diameter and bounded genus graphs?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note2: David further indicates (correctly) that the nested triangles graph cannot be made bounded tree-width even at the expense of increasing the genus to a constant. &lt;/p&gt;&#xA;" OwnerUserId="214" LastEditorUserId="214" LastEditDate="2013-06-13T11:11:01.470" LastActivityDate="2013-06-13T11:11:01.470" Title="k-outerplanar graphs are subgraphs of bounded diameter planar graphs? of bounded diameter bounded genus graphs?" Tags="&lt;reference-request&gt;&lt;graph-theory&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17984" PostTypeId="2" ParentId="17983" CreationDate="2013-06-12T00:15:26.907" Score="4" Body="&lt;p&gt;No: see the &lt;a href=&quot;http://en.wikipedia.org/wiki/Nested_triangles_graph&quot; rel=&quot;nofollow&quot;&gt;nested triangles graph&lt;/a&gt;. It has bounded treewidth (more strongly, bounded pathwidth and bandwidth) but cannot be augmented to have bounded diameter while preserving planarity.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2013-06-12T00:15:26.907" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="17985" PostTypeId="1" AcceptedAnswerId="17995" CreationDate="2013-06-12T03:54:01.217" Score="7" ViewCount="403" Body="&lt;p&gt;Let $X_1,\dots, X_n$ be 0-1 random variables, which are $3$-wise independent. We want to give a upper bound to $\Pr(|\Sigma_iX_i-\mu|\geq t)$. Can we get better bound than $\Theta\left(\frac{1}t\right)$ derived by Chebyshev's inequality?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we get a little more information, say $4$-wise independence, then we can use the $4$-th moment to get a $\Theta\left(\frac{1}{t^2}\right)$ bound. Let $Y_i = X_i - \mu$ , $Y = \Sigma_iY_i$, &#xA;$$\Pr(|Y|\geq t) = \Pr(Y^4\geq t^4) \leq\frac{\mathbb{E}(Y^4)}{t^4}=\frac{t\mathbb{E}(Y_1^4)+3\cdot t\cdot (t-1)\mathbb{E}(Y_1^2)}{t^4}=\Theta\left(\frac{1}{t^2}\right).$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we only have $3$-wise independence, the numerator in the RHS will be $$t\mathbb{E}(Y_1^4)+3\cdot t\cdot (t-1)\mathbb{E}(Y_1^2)+24\cdot\sum_{i&amp;lt;j&amp;lt;k&amp;lt;l}\mathbb{E}(Y_iY_jY_kY_l).$$ I don't know how to deal with the summation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I guess the answer may lie around $\Theta\left(\frac{1}{t^{1.5}}\right)$?&lt;/p&gt;&#xA;" OwnerUserId="16379" LastEditorUserId="109" LastEditDate="2013-06-19T22:21:43.193" LastActivityDate="2013-06-19T22:21:43.193" Title="What bound can we get using $k$-th moment inequality under 3-wise independence?" Tags="&lt;randomized-algorithms&gt;&lt;upper-bounds&gt;&lt;pseudorandomness&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="17986" PostTypeId="2" ParentId="17956" CreationDate="2013-06-12T07:47:18.200" Score="4" Body="&lt;p&gt;For unweighted problems, The Nearest Codeword problem in coding theory is known to be very hard to approximate. It is &lt;a href=&quot;http://theory.cs.uni-bonn.de/ftp/reports/cs-reports/2000/85221-CS.pdf&quot; rel=&quot;nofollow&quot;&gt;NP-hard to approximate&lt;/a&gt; to within&#xA;a factor $n^{ \Omega(1)/ \log \log n}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another hard to approximate problem is the longest path problem in directed graphs. &lt;a href=&quot;http://repository.upenn.edu/cgi/viewcontent.cgi?article=1202&amp;amp;context=cis_papers&quot; rel=&quot;nofollow&quot;&gt;Björklund, Husfeldt, and Khanna&lt;/a&gt; showed that longest path in directed graphs is hard to approximate to within better than a $n^{1-\epsilon}$ factor for any $\epsilon \gt 0$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, Approximating &lt;a href=&quot;http://link.springer.com/article/10.1007%2Fs00493-003-0019-y&quot; rel=&quot;nofollow&quot;&gt;Closest Vector in a lattice&lt;/a&gt; to within almost polynomial factors is NP-Hard.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/0020019093900222&quot; rel=&quot;nofollow&quot;&gt;minimum independent dominating set&lt;/a&gt; of a graph is not approximable within $n^{1-\epsilon}$ for any $\epsilon \gt 0$.&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2013-06-12T08:19:44.237" LastActivityDate="2013-06-12T08:19:44.237" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17988" PostTypeId="1" CreationDate="2013-06-12T11:04:44.077" Score="3" ViewCount="1001" Body="&lt;p&gt;Consider the following problem:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;SUBSET-SUM-DIFFERENCE: Let $S=\{s_1,\dots,s_n\}$ be a set of $n$ integers and $t$ be a &quot;target&quot; integer. Are there two disjoint subsets of $S$ (call them subsets $I$ and $J$) such that $\sum_{i \in I}s_i - \sum_{j \in J} s_j=t$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The Meet-in-the-Middle algorithm will solve this problem in $\Theta(3^{n/2})$ time. Is there an exact and deterministic algorithm which solves this problem in $o(3^{n/2})$ time?&lt;/p&gt;&#xA;" OwnerUserId="3091" LastActivityDate="2019-05-24T23:33:35.640" Title="Subset-sum-difference problem" Tags="&lt;ds.algorithms&gt;" AnswerCount="2" CommentCount="13" ContentLicense="CC BY-SA 3.0" />
  <row Id="17989" PostTypeId="1" AcceptedAnswerId="17993" CreationDate="2013-06-12T12:25:04.237" Score="5" ViewCount="276" Body="&lt;p&gt;So I'm wondering about some finer points of relation algebra, a field in which I'm not an expert:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given relations $A$, $B$ and $C$ over the same set $S$, is it always true that $A^*\subseteq (B\cup C)^*$ iff $(A\setminus B)^*\subseteq C^*$ ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here, $A^*$ denotes the reflexive, transitive closure of $A$, $\cup$ is set union, and $\setminus$ is set difference.&lt;/p&gt;&#xA;" OwnerUserId="16382" LastActivityDate="2013-06-12T16:10:03.253" Title="Relation between Kleene star, union and difference in relation algebra" Tags="&lt;relational-structures&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17990" PostTypeId="1" CreationDate="2013-06-12T14:01:38.233" Score="0" ViewCount="372" Body="&lt;p&gt;Let's say I have a machine with many boxes of different sizes. I want to put packages inside those boxes. Packages arrive at different time and then stay in the box for specific period of time. I need to be able to tell if there is be an appropriate box available in the future for the package (will there be small size box for package in five days?).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm sure there are many papers about this kind of problem. Unfortunately I cannot find one, wrong keywords probably.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thank you for your answers.&lt;/p&gt;&#xA;" OwnerUserId="16385" LastEditorUserId="186" LastEditDate="2013-06-14T14:37:32.643" LastActivityDate="2013-07-24T16:37:33.620" Title="Capacity planning algorithm resources" Tags="&lt;ds.algorithms&gt;&lt;pr.probability&gt;&lt;application-of-theory&gt;&lt;online-algorithms&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="17991" PostTypeId="2" ParentId="17985" CreationDate="2013-06-12T14:02:56.463" Score="4" Body="&lt;p&gt;&lt;a href=&quot;http://infoweekly.blogspot.com/2010/01/moments.html&quot; rel=&quot;nofollow&quot;&gt;Mihai Pătraşcu explained on his blog how to strengthen the variance bound of Chebyshev by looking at higher moments.&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;He references &lt;a href=&quot;http://www.cs.nyu.edu/faculty/siegel/Limited.ps&quot; rel=&quot;nofollow&quot;&gt;&quot;Chernoff-Hoeffding Bounds for Applications with Limited Independence&quot; by Schmidt et al.&lt;/a&gt; You also might be interested in &quot;Concentration of Measure for the Analysis of Randomized Algorithms&quot; by Dubhashi and Panconesi.&lt;/p&gt;&#xA;" OwnerUserId="43" LastActivityDate="2013-06-12T14:02:56.463" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="17993" PostTypeId="2" ParentId="17989" CreationDate="2013-06-12T16:10:03.253" Score="4" Body="&lt;p&gt;Consider $S=\{1,2,3\}$ and relations $A=\{(1,3)\}, B=\{(1,2)\}, C=\{(2,3)\}$. Then &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$A^*=(A\setminus B)^*= A\cup\{(i,i)\ |\ i\in S\}$,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$(B\cup C)^* = \{(i,j)\ |\ i,j\in S, i\le j\}$, and&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$C^* = C\cup \{(i,i)|i\in S\}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In particular, $A^*\subseteq (B\cup C)^*$, but $(A\setminus B)^*\nsubseteq C^*$.&lt;/p&gt;&#xA;" OwnerUserId="5183" LastActivityDate="2013-06-12T16:10:03.253" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17994" PostTypeId="2" ParentId="1215" CreationDate="2013-06-12T16:47:09.827" Score="7" Body="&lt;p&gt;A flow in a network is confluent if it uses at most one outgoing arc at each node. &#xA;NP-hardness of determining a maximum confluent flow in a tree (of diameter 4, &#xA;with multiple sinks allowed) is proved in: &#xA;&lt;a href=&quot;http://link.springer.com/book/10.1007/978-3-642-13073-1/page/2&quot;&gt;D. Dressler and M. Strehler, Capacitated Confluent Flows: Complexity and Algorithms, LNCS 6078 (2010) 347-358&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="16130" LastActivityDate="2013-06-12T16:47:09.827" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="17995" PostTypeId="2" ParentId="17985" CreationDate="2013-06-12T17:14:54.313" Score="11" Body="&lt;p&gt;I guess that the number of random variables $t$ and the threshold $t$ are different parameters, as otherwise $\Pr[|Y| \geq t] = 0$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $a_1, \dots, a_k, b_1, \dots, b_k\in_U \{\pm 1\}$ be iid random variables sampled uniformly at random from $\{\pm 1\}$ and $n=2^k$. Consider random variables $W_1,\dots, W_n$ of the form $c_1 \cdot c_2\cdot \dots \cdot c_k$ where each $c_i$ is either equal to $a_i$ or $b_i$ (e.g., one of random variables $W_i$ equals $a_1b_2b_3a_4b_5  \dots a_k$). We defined $n$ random variables $W_i$; note that they are $3$-wise independent. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $X_i = (W_i+1)/2$.&#xA;Then $X_i\in\{0,1\}$ and ${\mathbb E}[X_i] = 1/2$. Let $t=n/2$. We have, &#xA;$$\Pr(|\sum X_i - n/2| \geq t) = \Pr(|\sum W_i| \geq n) = \Pr(|\prod_{i=1}^k(a_i+b_i)| \geq n) = \Pr(a_i+b_i\neq 0 \text{ for every }i) = \frac{1}{2^k} = \frac{1}{2t}.$$&#xA;Here, we used that $\prod_{i=1}^k(a_i+b_i)$ equals $0$ if $a_i+b_i=0$ for some $i$, and equals $-n$ or $n$, otherwise.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Answer:&lt;/strong&gt; in general, we cannot obtain a stronger upper bound than $O(1/t)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt; here is an explanation why $W_1,\dots, W_n$ and consequently $X_1,\dots, X_n$ are 3-wise independent. Each of the words $W_i$ is encoded by a word of length $k$: the $r$-th letter in the word is $a$ if $c_r=a_r$ in the definition of $W_i$, and $b$, if $c_r=b_r$. Consider three random variables $W_i$, $W_j$ and $W_k$. Consider the corresponding words; denote them by $I$, $J$ and $K$. Let $r_1$ be the first position where they differ. Without loss of generality $I_{r_1} = a$, $J_{r_1} = b$, and $K_{r_1} = b$. Then let $r_2$ be the first position where $J$ and $K$ differ. WLOG, $J_{r_2} = a$ and $K_{r_2} = b$. Write $W_i = a_{r_1} \cdot W'_i$, $W_j = a_{r_2}\cdot W_j'$ and $W_k = b_{r_2}\cdot W_k'$. Note that $W_j$ and $W_k$ are independent since for $x,y\in\{\pm 1\}$, we have&#xA;$$\Pr(W_j = x, W_k = y) = \Pr(a_{r_2} = (x/W_j'), b_{r_2} = (y/W_k')) = 1/4.$$&#xA;Now we prove that $W_i$, $W_j$, and $W_k$ are independent. For  $x,y,z\in\{\pm 1\}$, we have&#xA;$$\Pr(W_i = x, W_j = y, W_k = z) = \frac{1}{4}\Pr(W_i = x| W_j = y, W_k = z) = &#xA;\frac{1}{4}\cdot \Pr(a_{r_1} = (x/W'_i)| W_j = y, W_k = z) =  \frac{1}{4}\cdot \frac{1}{2} = \frac{1}{8}.$$&lt;/p&gt;&#xA;" OwnerUserId="9929" LastEditorUserId="9929" LastEditDate="2013-06-16T15:46:46.500" LastActivityDate="2013-06-16T15:46:46.500" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17996" PostTypeId="2" ParentId="17988" CreationDate="2013-06-12T18:27:59.700" Score="9" Body="&lt;p&gt;&lt;strong&gt;Maybe.&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Becker, Coron, and Joux [&lt;a href=&quot;http://link.springer.com/chapter/10.1007%2F978-3-642-20465-4_21&quot;&gt;EUROCRYPT 2011&lt;/a&gt; describe an algorithm to solve random hard instances of Subset Sum (in fact, the more general Knapsack problem) in $\tilde{O}(2^{0.291n})$ time, beating the &quot;meet in the middle&quot; time bound $\tilde{O}(2^{n/2})$ by Shamir and Schroeppel [SICOMP 1981].  (Here, $\tilde{O}(f(n))$ is standard shorthand for $O(f(n)\operatorname{polylog} f(n))$.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More recently, Dinur, Dunkelman, Keller, and Shamir [&lt;a href=&quot;http://eprint.iacr.org/2012/217&quot;&gt;Crypto 2012&lt;/a&gt;], which establish better time-space tradeoffs (but do not improve worst-case running times) for a general class of cryptography problems that includes Knapsack.  Becker's techniques rely crucially on the observation that addition is both commutative and associative, but Dinur's techniques do not; for example, they also derive faster algorithms for solving random hard instances of permutation puzzles like the Rubik's cube.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It seems likely that Dinur's techniques would imply faster algorithms for (at least random hard instances of) your problem.&lt;/p&gt;&#xA;" OwnerUserId="111" LastEditorUserId="111" LastEditDate="2013-06-12T21:00:30.470" LastActivityDate="2013-06-12T21:00:30.470" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="17997" PostTypeId="1" CreationDate="2013-06-12T19:25:01.650" Score="4" ViewCount="722" Body="&lt;p&gt;I am trying to understand better the proof that&#xA;the language $K=\{a^{i}b^{j}c^{k} ~|~ i \neq j, i \neq k, j \neq k$} is not context-free. (see &lt;a href=&quot;http://cstheory.blogoverflow.com/2011/09/it-only-looks-like-a-homework-problem/&quot; rel=&quot;nofollow noreferrer&quot;&gt;It only looks like a homework problem…&lt;/a&gt;), and the use of &lt;a href=&quot;http://en.wikipedia.org/wiki/Ogden%27s_lemma&quot; rel=&quot;nofollow noreferrer&quot;&gt;Ogden's lemma&lt;/a&gt; as well.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I must say I have some difficulty reading @Frank &lt;a href=&quot;https://cstheory.stackexchange.com/questions/1825/is-aibjck-i-neq-j-i-neq-k-j-neq-k-non-context-free/1830&quot;&gt;Weinberg's proof&lt;/a&gt; as given, so I tried to write one myself. I feel it is more intuitive to follow, but is it correct ? One is easily mixed up in quantifiers with &lt;a href=&quot;http://en.wikipedia.org/wiki/Ogden%27s_lemma&quot; rel=&quot;nofollow noreferrer&quot;&gt;Ogden's lemma&lt;/a&gt;. I am not pretending my version is fundamentally different from the previous proof (assuming mine is correct). It may seem a bit longer, but I believe only because I am giving more details. My main problem with the previous proof is that I do not see why one has to define the infinite set of possible exponents.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The starting idea is the same. Given the marked-pumping length $p$. choose a word $a^i b^p c^k$ and mark all and only the $b$'s. Now, in the pumping triple $xyz$, $x$ and $z$ must contain each only one kind of symbol. Otherwise, pumping would immediately create alternation of symbols and get us out of the language, thus proving it is not CF. Condition 1 of the lemma says that at least one of them must contain $b$'s, since only $b$'s are marked. Thus $a$ or $c$ or both do not get pumped, and no more than $p$ $b$'s get pumped (condition 2 of the lemma).&#xA;We want to pump exactly enough $b$'s to match either the $a$'s or the $c$'s.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $h$ be the product of the first $p$ positive integer. We choose $i=p+h$ and $k=p+2h$.&#xA;The word $ a^{p+h} b^p c^{p+2h}$ is in $K$. We apply Ogden's lemma, marking the $b$'s as said above. Assume that for this word, it is the $a$'s that do not get pumped, and that the pumping length for $b$'s is $n$. Since $n\leq p$, $n$ divides $h$, and by applying the pump $h/n$ times we get a word of the form $a^{p+h} b^{p+h} c^k$ which is not in the language $K$. The reasonning is similar if it is the $c$'s that are not pumped. Hence the language K is not CF.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The question is : do I err, and why ?  Why does  Weinberg's proof require showing that there is an infinite set of exponents? Other comments are welcome too.&lt;/p&gt;&#xA;" OwnerUserId="16132" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2013-06-12T23:01:10.340" Title="Variant of a proof using Ogden's lemma" Tags="&lt;fl.formal-languages&gt;&lt;context-free&gt;&lt;context-free-languages&gt;" AnswerCount="0" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="17998" PostTypeId="1" CreationDate="2013-06-12T19:26:12.367" Score="8" ViewCount="267" Body="&lt;p&gt;I am looking for examples in games such as Go, Chess, and Backgammon, where the believed-optimal move turned out to be suboptimal as a computer found better strategies.&lt;/p&gt;&#xA;" OwnerUserId="16388" LastEditorUserId="1037" LastEditDate="2014-03-05T22:30:01.440" LastActivityDate="2014-03-06T19:17:57.327" Title="Examples of Computer-Found Optimal Strategies in Games" Tags="&lt;gt.game-theory&gt;&lt;board-games&gt;&lt;combinatorial-game-theory&gt;" AnswerCount="4" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="17999" PostTypeId="1" CreationDate="2013-06-12T21:15:16.947" Score="9" ViewCount="155" Body="&lt;p&gt;AFAIU, we don't know any problem &#xA;which is complete for $\mathsf{TC^0}$ w.r.t. &#xA;&lt;em&gt;many-one&lt;/em&gt; $\mathsf{AC^0}$ reductions ($\leq^\mathsf{AC^0}_m$). &#xA;On the other hand, &#xA;proving that they don't exist would separate $\mathsf{TC^0}$ from $\mathsf{NC^1}$, &#xA;i.e. we also don't know they don't exist.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have seen a &lt;em&gt;conjecture&lt;/em&gt; stating that &#xA;it is unlikely for $\mathsf{TC^0}$ to have any complete problem w.r.t. $\leq^\mathsf{AC^0}_m$ reductions. &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;ol&gt;&#xA;  &lt;li&gt;&lt;p&gt;What is the intuition/evidence/argument behind this conjecture? &#xA;  For example, are there results that say &quot;bad&quot; things would happen &#xA;  if $\mathsf{TC^0}$ had complete problems w.r.t. $\leq^\mathsf{AC^0}_m$?&lt;/p&gt;&lt;/li&gt;&#xA;  &lt;li&gt;&lt;p&gt;Do we need the full power of Turing/oracle reductions &#xA;  for the completeness of the problems like majority? &#xA;  In other words, &#xA;  do we know any problem which is complete for $\mathsf{TC^0}$ &#xA;  w.r.t. a weaker type of $\mathsf{AC^0}$ reductions?&lt;/p&gt;&lt;/li&gt;&#xA;  &lt;li&gt;&lt;p&gt;Do all known $\mathsf{TC^0}$-complete problems belong to &#xA;  the same equivalence class of $\equiv^\mathsf{AC^0}_m$?&#xA;  Or are there $\mathsf{TC^0}$-complete problems &#xA;  which are not known to be $\leq^\mathsf{AC^0}_m$ reducible to each other?&lt;/p&gt;&lt;/li&gt;&#xA;  &lt;/ol&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2013-06-13T00:14:57.017" LastActivityDate="2013-06-13T00:14:57.017" Title="$\mathsf{TC^0}$-completeness and reductions" Tags="&lt;cc.complexity-theory&gt;&lt;circuit-complexity&gt;&lt;reductions&gt;&lt;bounded-depth&gt;" AnswerCount="0" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18000" PostTypeId="2" ParentId="17998" CreationDate="2013-06-13T00:19:06.400" Score="12" Body="&lt;p&gt;The best known example is probably &lt;em&gt;checkers&lt;/em&gt; (also known as &lt;em&gt;draughts&lt;/em&gt;), which has been solved recently in 2007 (the game is a draw). Other examples are listed in the Wikipedia page on &lt;a href=&quot;https://en.wikipedia.org/wiki/Solved_games&quot;&gt;solved games&lt;/a&gt;; notable among them are &lt;em&gt;connect four&lt;/em&gt; and &lt;em&gt;nine men's morris&lt;/em&gt;. Additionally, several chess endgames have been solved.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This perhaps doesn't seem like an answer to your question, but if an expert (such as &lt;a href=&quot;https://en.wikipedia.org/wiki/Marion_Tinsley&quot;&gt;Marion Tinsley&lt;/a&gt;) loses to a computer program, then the computer must have found a &quot;more optimal&quot; move. &lt;/p&gt;&#xA;" OwnerUserId="40" LastActivityDate="2013-06-13T00:19:06.400" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18001" PostTypeId="2" ParentId="17998" CreationDate="2013-06-13T04:13:37.677" Score="8" Body="&lt;p&gt;See Wolfe and Berlekamp -- &lt;a href=&quot;http://books.google.com/books?id=Gb0bELsFQn8C&amp;amp;dq=isbn:1568810326&amp;amp;hl=en&amp;amp;sa=X&amp;amp;ei=fEa5UZWUK6OjiAKQ6oDoDw&amp;amp;ved=0CC8Q6AEwAA&quot;&gt;Mathematical Go&lt;/a&gt;.  Using Conway's theory of games, they show how to analyze certain kinds of Go endgames.  Their solutions turn out to be measurably better than the solutions given by top Go players.  (Not quite an answer to your problem, as those latter solutions were probably never claimed to be optimal.)&lt;/p&gt;&#xA;" OwnerUserId="8237" LastActivityDate="2013-06-13T04:13:37.677" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="18002" PostTypeId="1" CreationDate="2013-06-13T06:12:02.410" Score="6" ViewCount="1046" Body="&lt;p&gt;I was trying to make a set of differential equations &quot;compute&quot; some given function just like a Turing Machine does. Essentially, a given Turing Machine with an initial configuration (which includes all initial conditions - The initial tape content, starting state, initial head position) &quot;evolves&quot; to a specific configuration after a finite number of steps and if the function is computable, it halts with the output of the function on the tape. I am trying to draw an analogy of Turing Machines with other &quot;time-evolving&quot; systems and the most intuitive of all is a Dynamical System as a set of differential equations. As an attempt, I formulated a dynamical system which could compute asymptotically the square of a number. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose I want to find the functions $f(x,y,t)$ and $g(x,y,t)$ such that the following dynamical system:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\frac{dx}{dt}=f(x,y,t)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\frac{dy}{dt}=g(x,y,t)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;is such that:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;In the phase plane (with $x$ on X axis and $y$ on Y axis), every point on the X axis is a fixed point. &lt;/li&gt;&#xA;&lt;li&gt;Any initial point on the line y=$\alpha$ (with $\alpha\neq0 $) with coordinates $(x(0),\alpha)$ goes towards the fixed point $(x(0)^2,0)$ for $t\rightarrow\infty$ &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The functions $f$ and $g$ may contain the $\alpha$ term&lt;/p&gt;&#xA;&#xA;&lt;p&gt;With such a dynamical system at hand, if we wanted to compute the square of a number $a$, all we have to do is to start off with initial conditions $x(0)=a$ and $y(0)=\alpha$ (Just like we place the initial input on the Turing Machine's tape,set the initial state to the starting state and correctly position the head; In this case we place the input $a$ as the x coordinate of the initial point of the phase trajectory) and &quot;let the Dynamical System evolve&quot; (Just like we let the Turing Machine evolve after placing the inputs), the phase trajectory will converge to $a^2$ for $t\rightarrow\infty$ (Assuming the function to be computable, the turing machine stops in finite time and it prints the output on tape; the given dynamical system doesn't stop in finite time but it also &quot;prints the output&quot; as the x coordinate of the evolved phase trajectory for $t\rightarrow\infty$). In other words if we had a &quot;machine M&quot; following the given dynamical system, we could say that: M computes the &quot;square&quot; function asymptotically. (Just like the way the turing machine computes the &quot;square&quot; function in finite time) The computations in this case happens over reals as opposed to that over members of a countable alphabet. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;But I cant really think of such functions $f$ and $g$ for computing the &quot;square&quot; function and I need help finding these. Furthermore if I start taking up more complicated functions to compute, finding the corresponding $f$ and $g$ will not be a trivial task. Can someone guide me on what possible difficulties I may face and how I can overcome them?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If I can formulate computation using Dynamical Systems the way I described above, is there a possibility to prove some theorems in computability (and complexity?) using these formulations?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thankyou!&lt;/p&gt;&#xA;" OwnerUserId="16386" LastEditorUserId="44415" LastEditDate="2017-02-25T17:40:17.407" LastActivityDate="2017-02-25T17:40:17.407" Title="Computing Functions with Dynamical Systems" Tags="&lt;computability&gt;&lt;turing-machines&gt;&lt;computing-over-reals&gt;" AnswerCount="3" CommentCount="1" FavoriteCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="18003" PostTypeId="1" CreationDate="2013-06-13T06:14:49.047" Score="2" ViewCount="233" Body="&lt;p&gt;Succinct representation is often used to define NEXP or EXP complete problems. For example, when a graph is given as a circuit to compute the existence of edge between vertex $i,j$ for &lt;em&gt;indices&lt;/em&gt; of $i,j$ is assigned in the input wires, the hardness of P-complete  , NP-complete problems is &lt;em&gt;amplified&lt;/em&gt; to EXP complete and NEXP-complete problems respectively .&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is about relationship between communication complexity  and succinct representation. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, can Alice and Bob that have $A,B \subseteq \{1,...,n\}$ compute the disjointedness function with $O(\log n)$ bits to construct the following protocol ?&#xA; However, disjointedness has a lower bound  $\Omega (n)$. The answer of this question must be $NO$. Why ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Protocol:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1.Alice make a succinct representation of her input $A$ : this circuit output  $1$ iff $i\in A$ for given &lt;em&gt;index&lt;/em&gt; of $i \in \{1,...,n\}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2.Bob gets $A$ from the succinct circuit by executing brute force evaluation of all assignments, and check whether $A \cap B =\emptyset$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thank you for Igor's answer.Additional questions are:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What are examples of $nice$ $structures$ you mention ?(Why arbitrary undirected graphs,  boolean circuits, or formulae have $nice$ $structures$ in the sence of your answer ? Why  messages Alice sent do not have ? If $A,B\subseteq \{1,...,{n \choose 2}\}$ then can we consider their inputs as undirected graphs ?)&lt;/p&gt;&#xA;" OwnerUserId="16392" LastEditorUserId="16392" LastEditDate="2013-06-13T13:18:49.970" LastActivityDate="2013-06-13T13:18:49.970" Title="Succinct Representation and Communication complexity" Tags="&lt;cc.complexity-theory&gt;&lt;circuit-complexity&gt;&lt;boolean-functions&gt;&lt;communication-complexity&gt;&lt;succinct&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18004" PostTypeId="2" ParentId="17412" CreationDate="2013-06-13T09:15:35.020" Score="15" Body="&lt;p&gt;This problem is NP-hard and APX-hard; see: Adamaszek and Popa, &#xA;&lt;em&gt;Approximation and Hardness Results for the Maximum Edge $q$-coloring &#xA;Problem&lt;/em&gt;, &lt;a href=&quot;http://link.springer.com/chapter/10.1007/978-3-642-17514-5_12&quot;&gt;Lecture Notes in Computer Science 6507 (2010) 132-143&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The parameterized complexity aspects of this problem is addressed in this recent &lt;a href=&quot;http://arxiv.org/abs/1306.2931&quot;&gt;paper&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="6706" LastEditorUserId="6706" LastEditDate="2013-06-28T12:21:07.240" LastActivityDate="2013-06-28T12:21:07.240" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="18005" PostTypeId="2" ParentId="18003" CreationDate="2013-06-13T10:32:19.600" Score="2" Body="&lt;p&gt;The circuit computed by Alice gets $\log(n)$ bits representing $i \in [n]$, and outputs $1$ iff $i \in A$. Note that if $A$ does not have a particularly nice structure, the size of this circuit will be exponential in the length of the input, that is $2^{\log(n)}$.&lt;/p&gt;&#xA;" OwnerUserId="15711" LastActivityDate="2013-06-13T10:32:19.600" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18006" PostTypeId="2" ParentId="7374" CreationDate="2013-06-13T11:03:36.960" Score="6" Body="&lt;p&gt;You never need CNF. It has the drawback of changing the grammar&#xA;structure. But you do need to introduce intermediate non-terminals so&#xA;that no right-hand-side is longer than 2 (2-form) since RHS length&#xA;determines the complexity. The best attempt at explaining that&#xA;intuitively is, if memory serves, a paper by Beau Shiel, &quot;Observations&#xA;on Context Free Parsing&quot;, published in 1976 in a computational&#xA;lingistics conference. Earley's algorithm uses 2-form implicitly.  It&#xA;is just hidden in the algorithm. Regarding recovery and handling of&#xA;parse forest, you should look the web at &quot;parsing intersection&#xA;forest&quot;. It is actually very straightforward. Many papers are on the&#xA;web, if you get (from citations or tables of content) the titles or&#xA;authors to search them directly.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Actually, you can do a lot more than CF, and still get parse-forests&#xA;in polynomial time. The question is, sometimes: what can you do with it&#xA;once you have it ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One purpose of the last article you mention is to show that complex&#xA;algorithms (such as GLR) are not necessarily buying anything in time&#xA;or in space, and may change your parse forest.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One remark about teaching. I think Earley, seminal as it was, is far&#xA;too complicated for teaching, and could be replaced by simpler&#xA;algorithms with essentially the same educational content. Teaching is&#xA;about concepts or technology. In Earley's algorithm, the essential&#xA;concepts are hidden in the complexity of details, and from a&#xA;technology point of view it is outdated. It was a great paper, but it&#xA;does not mean it is the best pedagogical approach.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There may be more information in the computational linguistics&#xA;literature than in the usual computer science channels.&#xA;I do not have the Ceriel-Grune-Jacobs book, but I would be surprised&#xA;if they did not have all the proper references (though I am not sure&#xA;about their selection criteria). &lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Complement following a request in a comment&lt;/strong&gt; (july 7, 2013)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This complement concnerns the existence of simpler algorithms than Earley's.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As I said, searching the web at &quot;parsing intersection forest&quot; should&#xA;quickly give you references, from which you can dig further.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The basic idea is that all paths parsing with construction of a shared&#xA;forest is nothing but the old intersection construction of Bar Hillel,&#xA;Perles and Shamir for a regular language and a context-free language,&#xA;using a finite automaton and a context-free grammar. Given the CF&#xA;grammar, you apply the construction to a trivial automaton that&#xA;recognizes only your input string. That is all.  The shared forest is&#xA;just the grammar for the intersection. It is related to the original&#xA;grammar through a homomorphism, recognizes only the given string, but&#xA;with all the parse-trees of the original grammar up to that&#xA;homomorphism (i.e., simple renaming of non-terminals).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The resulting grammar contains a lot of useless stuff, non-terminals&#xA;and rules, that are either unreachable from the axiom (not to be found&#xA;in a string derived from the initial symbol) or that are&#xA;non-productive (cannot be derived into a terminal string).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then, either you have to clean it with a good brush at the end&#xA;(possibly long but algorithmically simple), or you can try to improve&#xA;the construction so that there is less useless fluff to be brushed in&#xA;the end.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, the CYK construction is exactly that, but organized so&#xA;that all rules and non-terminals created are productive, though many&#xA;can be unreachable. This is to be expected from a bottom-up technique.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Top-down techniques (such as LR(k) based ones) will avoid unreachable&#xA;rules and non-terminals, but will create unproductive ones.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A lot of the brushing can actually be achieved by adequate use of&#xA;pointers, I think, but I have not looked at this for a long time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;All existing algorithms actually follow essentially that model. So&#xA;that is really the heart of the matter, and it is very simple. Then&#xA;why bury it in complexity ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Many &quot;optimisations&quot; are proposed in the litterature often based&#xA;on the LR(k), LL(k) family of parser construction, possibly with some&#xA;static factoring of these constructions (Earley has no static&#xA;factoring). It could actually be applied to all known techniques,&#xA;including the old precedence parsers. I put &quot;optimization&quot; between&#xA;quotes because it usually not clear what you are optimizing, or even&#xA;whether you are actually optimizing it, or whether the benefit of the&#xA;improvement is worth the added complexity of your parser.  You will&#xA;find little objective data, formal or experimental, on this (there is&#xA;some), but many more claims. I am not saying that there is nothing of&#xA;interest. There are some smart ideas.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, once you know the basic idea, the &quot;optimizations&quot; or improvement&#xA;can often be introduced statically (possibly incrementally) by&#xA;constructing a push-down automaton from the grammar, following the&#xA;kind of parser construction technique you are interested in, and then&#xA;applying the cross-product construction for intersection to that&#xA;automaton (nearly the same thing as doing it to the grammar) or to a&#xA;grammar derived from that automaton.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then you can introduce bells and whistles, but that is mostly&#xA;technological details.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The Philosophiæ Naturalis Principia Mathematica of Isaac Newton is&#xA;reportedly a great piece of physics and mathematics. I do not think it&#xA;is on the reading list of many students. All other things being equal,&#xA;I do not think it is very useful to teach Earley's algorithm, though&#xA;it is an important historical piece.  Students have enough to learn as&#xA;it is. At the risk of being shot down by many people, I think much the&#xA;same for the Knuth LR(k) paper.  It is a superb piece of theoretical&#xA;analysis, and probably an important reading for a theoretician. I&#xA;strongly doubt that it is so essential for the building of parsers&#xA;given the current state of the technology, both hardware and&#xA;software. The times are past when parsing was a significant part of&#xA;compiling time, or when the speed of compilers was a critical issue (I&#xA;knew one corporation that died of compiling costs some 30 years&#xA;ago). The parsing specialist may want to learn that specialized&#xA;knowledge at some point, but the average student in computer science,&#xA;programming or engineering does not need it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If students must spend more time on parsing, there are other&#xA;extensions that might be more useful and more formative, such as those&#xA;used in computational linguistics. The first role of teaching is to&#xA;extract the simple ideas that structure scientific knowledge, not to&#xA;force the students to suffer what the research scientists had to&#xA;suffer (doctoral students excepted: it is a rite of passage :-).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://creativecommons.org/licenses/by-sa/3.0/&quot; rel=&quot;nofollow&quot;&gt;License CC BY-SA 3.0 from the author&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="16132" LastEditorUserId="16132" LastEditDate="2013-07-07T10:41:58.970" LastActivityDate="2013-07-07T10:41:58.970" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="18007" PostTypeId="2" ParentId="17988" CreationDate="2013-06-13T14:02:13.200" Score="-9" Body="&lt;p&gt;When I posted the question, I thought there might be an algorithm, but now I think the answer is no. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If it were possible to solve this problem in &lt;span class=&quot;math-container&quot;&gt;$o(3^{n/2})$&lt;/span&gt; time in the worst-case scenario via a deterministic algorithm, it would be possible to manipulate the equation &lt;span class=&quot;math-container&quot;&gt;$\sum_{i \in I}s_i - \sum_{j \in J} s_j=t$&lt;/span&gt; so that there are &lt;span class=&quot;math-container&quot;&gt;$L$&lt;/span&gt; possible expressions on the left-hand-side and &lt;span class=&quot;math-container&quot;&gt;$R$&lt;/span&gt; possible expressions on the right-hand-side, where &lt;span class=&quot;math-container&quot;&gt;$L+R=o(3^{n/2})$&lt;/span&gt;. But this appears to be impossible. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The best you can do is manipulate the equation to get &lt;span class=&quot;math-container&quot;&gt;$\Theta(3^{n/2})$&lt;/span&gt; possible expressions on the left-hand-side and get &lt;span class=&quot;math-container&quot;&gt;$\Theta(3^{n/2})$&lt;/span&gt; possible expressions on the right-hand-side, as follows:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$\sum_{i \in I^+}s_i - \sum_{j \in J^+} s_j=t-(\sum_{i \in I^-}s_i - \sum_{j \in J^-} s_j)$&lt;/span&gt;, &lt;/p&gt;&#xA;&#xA;&lt;p&gt;where &lt;span class=&quot;math-container&quot;&gt;$I^+ =\{1,\dots,[n/2]\} \cap I$&lt;/span&gt;, &lt;span class=&quot;math-container&quot;&gt;$I^- =\{[n/2]+1,\dots,n\} \cap I$&lt;/span&gt;, &lt;span class=&quot;math-container&quot;&gt;$J^+ =\{1,\dots,[n/2]\} \cap J$&lt;/span&gt;, and &lt;span class=&quot;math-container&quot;&gt;$J^- =\{[n/2]+1,\dots,n\} \cap J$&lt;/span&gt;. This allows one to apply the Meet-in-the-Middle algorithm. I don't think anyone will find any algorithm that beats the Meet-in-the-Middle for this problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Added in 2019: this paper came out, which gives a probabilistic algorithm and also has a better name for the problem, &quot;equal subset-sum&quot;.  &lt;a href=&quot;https://arxiv.org/abs/1905.02424&quot; rel=&quot;nofollow noreferrer&quot;&gt;https://arxiv.org/abs/1905.02424&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="3091" LastEditorUserId="3091" LastEditDate="2019-05-24T23:33:35.640" LastActivityDate="2019-05-24T23:33:35.640" CommentCount="8" ContentLicense="CC BY-SA 4.0" />
  <row Id="18008" PostTypeId="2" ParentId="18002" CreationDate="2013-06-13T15:30:36.137" Score="1" Body="&lt;p&gt;there may be a ref that relatively directly connects general differential equations with Turing Completeness, but am not sure what one is. wikipedia states in this section &lt;a href=&quot;https://en.wikipedia.org/wiki/Computability_theory#Continuous_computability_theory&quot; rel=&quot;nofollow&quot;&gt;Computability theory/continuous&lt;/a&gt;:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Computability theory for digital computation is well developed. Computability theory is less well developed for analog computation that occurs in analog computers, analog signal processing, analog electronics, neural networks and continuous-time control theory, modelled by differential equations and continuous dynamical systems (Orponen 1997; Moore 1996).&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;however another angle, a close nearby area is &lt;a href=&quot;https://en.wikipedia.org/wiki/Reaction%E2%80%93diffusion_system&quot; rel=&quot;nofollow&quot;&gt;Reaction Diffusion&lt;/a&gt; equations which are a special class of differential equations. these were initially studied by Turing. he proposed they were capable of a kind of computation. this was later borne out and they have somewhat recently been proven to be Turing Complete. see eg &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://link.springer.com/chapter/10.1007%2F978-3-540-31834-7_7&quot; rel=&quot;nofollow&quot;&gt;Computing with a Distributed Reaction-Diffusion Model&lt;/a&gt;&#xA;S. Bandini, G. Mauri, G. Pavesi, C. Simone. Machines, Computations, and Universality&#xA;Lecture Notes in Computer Science Volume 3354, 2005, pp 93-103&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;excerpt from abstract:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;The Reaction–Diffusion Machine is a computational model we previously introduced inspired by reaction diffusion phenomena. In this work, we prove that a Deterministic Turing Machine can be simulated by a Reaction-Diffusion Machine.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;so to sketch this out, one route to your problem is to create the TM that one wants to compute, and then convert it to a RD model as described in the paper. the RD model is then in a special class of differential equations.&lt;/p&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2013-06-13T15:30:36.137" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="18010" PostTypeId="1" CreationDate="2013-06-13T23:03:40.963" Score="4" ViewCount="1064" Body="&lt;p&gt;Has this problem been studied?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We start with a &lt;em&gt;complete&lt;/em&gt;, simple, undirected graph with edge weights. The problem is to &lt;em&gt;delete edges&lt;/em&gt; so as to partition the graph into &lt;em&gt;complete&lt;/em&gt; disjoint subgraphs while maximizing the sum of the edge weights over the whole graph (deleted edges not being counted).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is no constraint on the size or number of subgraphs in the solution.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note this is interesting only if there are negative edge weights. Otherwise the solution would be to take the whole graph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Clearly we would like to delete all the negative-weight edges while keeping all positive-weight edges, but the requirement that disjoint subgraphs be complete makes a trade-off between these goals.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have seen discussion of similar graph partitioning problems but not this exact one. (Eg it is a bit like the maximum clique problem, but here I want to put every node in a disjoint clique, in the optimal way). I am guessing it is NP-complete. I am interested to know where to start looking for efficient heuristics.&lt;/p&gt;&#xA;" OwnerUserId="16403" LastActivityDate="2013-06-14T14:36:14.060" Title="Partition graph into complete disjoint subgraphs while maximising sum of edge weights" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;" AnswerCount="1" CommentCount="7" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18011" PostTypeId="2" ParentId="18002" CreationDate="2013-06-13T23:17:12.323" Score="8" Body="&lt;p&gt;Brockett [1] studied a closely related idea, and showed how to construct dynamical systems that solve any linear programming problem in (I believe) the same manner you suggest, as well as dynamical systems to sort a list of numbers and to diagonalize a matrix. You may be able to use this to directly get the dynamics you need to compute the squaring function.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(At some point I saw a cool video of the trajectory of a dynamical system for sorting, but I can't seem to find it...)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I won't venture a guess as to whether such dynamical systems formulations could be used to prove something interesting in computability/complexity, but can offer some further references that may be relevant.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In &lt;strong&gt;quantum computing&lt;/strong&gt;, Nielsen, Dowling, Gu, and Doherty show that QC can be realized as (if I understand correctly) geodesic flow on a certain manifold - a particular example of the kind of dynamical system you're talking about. See [2] and references therein for a discussion of some complexity issues related to this.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, although I don't think it's exactly what you're talking about, it would probably also be worth checking out &lt;strong&gt;Bernard Chazelle's work on &quot;influence systems&quot;&lt;/strong&gt; which are a type of dynamical system that is at least as powerful as Markov chains and Turing machines, but can exhibit all kinds of dynamic behavior (including chaos, etc). See [3] and references therein.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] Roger W. Brockett, &lt;a href=&quot;http://hrl.harvard.edu/publications/brockett88dynamical.pdf&quot;&gt;Dynamical Systems that Sort Lists, Diagonalize Matrices and Solve Linear Programming Problems&lt;/a&gt;, Proc. 27th IEEE Conf. Dec. and Control, Austin, TX, pp. 799-803, Dec. 1988.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] Mark R. Dowling, Michael A. Nielsen. &lt;a href=&quot;http://arxiv.org/abs/quant-ph/0701004&quot;&gt;The geometry of quantum computation&lt;/a&gt;, arXiv:quant-ph/0701004, 2007.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[3] B. Chazelle, &lt;a href=&quot;http://www.cs.princeton.edu/~chazelle/pubs/cacm12-natalg.html&quot;&gt;Natural Algorithms and Influence Systems&lt;/a&gt;, Comm. ACM 55 (2012), 101-110.&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2013-06-13T23:17:12.323" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18012" PostTypeId="2" ParentId="18002" CreationDate="2013-06-14T01:58:07.727" Score="-1" Body="&lt;p&gt;here are two other references that show the connection between physics/dynamical systems theory and undecidability (and therefore Turing completeness). therefore being TM complete, all computable functions are representable/reducible to these systems.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;the 1st ref uses the physics laws of classical mechanics, which can be described as differential equations (eg Newtons law etc). the descriptions below are from &lt;a href=&quot;http://en.wikipedia.org/wiki/Francisco_Ant%C3%B4nio_D%C3%B3ria&quot; rel=&quot;nofollow&quot;&gt;Wikipedia&lt;/a&gt;. a description from Ian Stewarts book &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0192832026&quot; rel=&quot;nofollow&quot;&gt;&lt;em&gt;From here to infinity&lt;/em&gt;&lt;/a&gt; [the key statement wrt your question is about dynamic system trajectories which are governed by differential equations]:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Recent work of Newton da Costa and F.A. Doria casts doubt upon Penrose's thesis, and explores the limits of computability in chaotic classical dynamical systems. They show that undecidability extends to many basic questions in dynamical systems theory. These include whether the dynamics &lt;em&gt;is&lt;/em&gt; chaotic, whether a trajectory starting from a given initial point eventually passes through some specific region of phase space, and whether the equations are integrable—that is, possess an explicit solution defined by formulas built up from classical functions such as polynomials, sines, and exponentials. Indeed virtuallly any 'interesting' question about dynamical systems is—in general—undecidable.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;N. C. A. da Costa and F. A. Dória, Undecidability and incompleteness in classical mechanics, Int. J. Theor. Physics vol. 30, pp. 1041-1073 (1991)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Proves that chaos theory is undecidable and, if axiomatized within set theory, incomplete in the sense of Gödel.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;N. C. A. da Costa and F. A. Dória, An undecidable Hopf bifurcation with an undecidable fixed point, Int. J. Theor. Physics vol. 33, pp. 1885-1903 (1994).&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Settles a question raised by V. I. Arnold in the list of problems drawn up at the 1974 American Mathematical Society Symposium on the Hilbert Problems: is the stability problem for stationary points algorithmically decidable?&#xA;  I. Stewart, ``Deciding the undecidable, Nature vol. 352, pp. 664-665 (1991).&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2013-06-14T01:58:07.727" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18013" PostTypeId="2" ParentId="17955" CreationDate="2013-06-14T06:50:38.720" Score="1" Body="&lt;p&gt;If we look at a related topic, namely interactive identification protocols, we get a problem that has been well-studied.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Unfortunately there are no known protocols that are both secure (against attacks by computers) yet where ordinary humans can reasonably execute the protocol mentally without the aid of the computer.  There have been lots of proposals, but all of them have either been broken or have proven too complicated for ordinary people to follow without making mistakes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think many researchers in the security and cryptography community expect that the problem is very hard and that, in all likelihood, no such secure and usable identification protocol exists.  Of course, there is no proof of this -- it is not even clear how you could prove it, since it is not clear how you would formalize &quot;can reasonably be executed by an ordinary human, in everyday life, without aid of a computer&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For a good entrance into the broad literature on interactive identification protocols, the following paper is excellent:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.internetsociety.org/sites/default/files/06_2.pdf&quot; rel=&quot;nofollow&quot;&gt;On Limitations of Designing Leakage-Resilient Password Systems: Attacks, Principals and Usability&lt;/a&gt;.  Qiang Yan, Jin Han, Yingjiu Li and Robert H. Deng.  NDSS 2012.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;There's also the seminal paper by Hopper and Blum that motivated a lot of the work in this area:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www-users.cs.umn.edu/~hopper/secure_human_identification_protocols.pdf&quot; rel=&quot;nofollow&quot;&gt;Secure Human Identification Protocols&lt;/a&gt;.  Nicholas J. Hopper, Manuel Blum.  ASIACRYPT 2001.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Reading these two papers will give you a good sense of the directions, and a lot of relevant techniques and ideas.  It will also help you understand why the interactive identification problem is so incredibly hard to do securely, without a computer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Public-key cryptography is a strictly harder problem than interactive identification.  If you could do public-key cryptography, you could also do interactive identification securely.  For instance, I could prove my identity by demonstrating the ability to sign a random challenge chosen by the verifier; or by demonstrating the ability to decrypt a ciphertext chosen by the verifier.  Therefore, my expectation is that there is no way to implement public-key cryptography securely without a computer, either.&lt;/p&gt;&#xA;" OwnerUserId="5038" LastEditorUserId="5038" LastEditDate="2013-06-14T06:58:44.250" LastActivityDate="2013-06-14T06:58:44.250" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="18014" PostTypeId="1" CreationDate="2013-06-14T06:55:08.240" Score="1" ViewCount="70" Body="&lt;p&gt;Can anyone please tell me what is the term used for games with incomplete information and there are no prior beliefs about other players' private information. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, let $ v_i(a_i,\theta_i) $ be the utility function of the player $ i $ and $ a_i $ be decided for each player some how. $ \theta_i $ be the private information for player $ i $. Player $ i $ has no belief (no knowledge of probability distribution) about others' private information except that it is a real number. Few authors call such games to be pre-Bayesian games. But there seems to be no standard. It would be great if any one can let me know this. Thanks!&lt;/p&gt;&#xA;" OwnerUserId="16407" LastActivityDate="2013-06-14T13:54:58.160" Title="Terminology for games with incomplete information and no prior beliefs" Tags="&lt;pr.probability&gt;&lt;gt.game-theory&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18015" PostTypeId="1" CreationDate="2013-06-14T07:06:50.560" Score="1" ViewCount="186" Body="&lt;p&gt;I am working on Normal form continuous games. I am not very familiar with dynamic game theory. I would like to know if there is any relation between static Nash equilibria and dynamic equilibria. If players play a certain game repeatedly or learn about the strategies of the players or if they follow certain dynamics, will they always converge to static Nash equilibria? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there any result between set of static Nash equilibria and dynamic equlibria (under some conditions)? Thanks in advance!&lt;/p&gt;&#xA;" OwnerUserId="16407" LastActivityDate="2013-06-14T07:06:50.560" Title="Relation between static Nash equlibria and dynamic equlibria" Tags="&lt;gt.game-theory&gt;&lt;dynamic-algorithms&gt;" AnswerCount="0" CommentCount="0" FavoriteCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18016" PostTypeId="2" ParentId="18010" CreationDate="2013-06-14T09:18:21.820" Score="3" Body="&lt;p&gt;In addition to Correlation Clustering, this is known as Clique Partitioning or Weighted Cluster Editing, see e.g. &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;M. Grötschel and Y. Wakabayashi, &lt;a href=&quot;http://dx.doi.org/10.1007/BF01589097&quot; rel=&quot;nofollow&quot;&gt;A cutting plane algorithm for a clustering problem&lt;/a&gt;, or&lt;/li&gt;&#xA;&lt;li&gt;Sebastian Böcker, Sebastian Briesemeister, and Gunnar W. Klau, &lt;a href=&quot;http://dx.doi.org/10.1007/s00453-009-9339-7&quot; rel=&quot;nofollow&quot;&gt;Exact Algorithms for Cluster Editing: Evaluation and Experiments&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="251" LastEditorUserId="186" LastEditDate="2013-06-14T14:36:14.060" LastActivityDate="2013-06-14T14:36:14.060" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18019" PostTypeId="2" ParentId="18014" CreationDate="2013-06-14T13:54:58.160" Score="3" Body="&lt;p&gt;Uncertainty in the absence of a prior distribution is sometimes called &lt;a href=&quot;http://en.wikipedia.org/wiki/Knightian_uncertainty&quot; rel=&quot;nofollow&quot;&gt;Knightian Uncertainty&lt;/a&gt; in economics. There are a couple of recent papers studying how to deal with knightian uncertainty in mechanism design. See for example:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://people.csail.mit.edu/silvio/Selected%20Scientific%20Papers/Mechanism%20Design/The%20Knightian%20Truthfulness%20of%20Classic%20Mechanisms.pdf&quot; rel=&quot;nofollow&quot;&gt;The Knightian Truthfulness of Classical Mechanisms&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://arxiv.org/abs/1112.1147&quot; rel=&quot;nofollow&quot;&gt;Knightian Auctions&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="25" LastActivityDate="2013-06-14T13:54:58.160" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18021" PostTypeId="1" CreationDate="2013-06-14T14:53:43.033" Score="6" ViewCount="220" Body="&lt;p&gt;I'm compiling a list of as many problems (decision or function) as I can find such that, if I had an oracle that could solve the problem in P, then integer factorization would also be in P.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is a partial list that I have already compiled. Most of these are fairly straight-forward, I would be interested in some which are a little more obscure. I've also omitted some of the more obvious ones (e.g. an oracle which produces a random prime, or the smallest prime, which divides $n$). In each case $n$ represents the integer to be factored, which is assumed to be a non-square composite, and $i,j$ are positive integers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are several related functions depending on what response is returned by the oracle (instead of just 1 or 0) or by swapping less than or below with greater than or above, etc. In general, I am only including one from each case:&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Decision Problems on $i$&lt;/h2&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$f_1(i) = 1$ if $i$ is less than the smallest prime factor of $n$, and $0$ otherwise.&lt;/li&gt;&#xA;&lt;li&gt;$f_2(i) = 1$ if $i$ is greater than the largest prime factor of $n$, and $0$ otherwise.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;h2&gt;Function Problems on $i$&lt;/h2&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$g_1(i) = $ the sum of the number of factors below $i$.&lt;/li&gt;&#xA;&lt;li&gt;$g_2(i) = 1$ if the number of factors below $i$ is odd, $0$ otherwise.&lt;/li&gt;&#xA;&lt;li&gt;$g_3(i) = $ the sum of the factors below $i$.&lt;/li&gt;&#xA;&lt;li&gt;$g_4(i) = $ the sum of non-factors below $i$.&lt;/li&gt;&#xA;&lt;li&gt;$g_5(i) = $ the distance from $i$ to the nearest factor of $n$.&lt;/li&gt;&#xA;&lt;li&gt;$g_6(i) = (i!,n)$ the greatest common divisor between $i!$ and $n$&lt;/li&gt;&#xA;&lt;li&gt;$g_7(i,j) = $ the power of i in $j!$&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;h2&gt;Function problems on $n$&lt;/h2&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$h_1(n) = $ the sum of the factors of n.&lt;/li&gt;&#xA;&lt;li&gt;$h_2(n) = $ the ratio of $q/p$ where $p$ and $q$ are the innermost factors (closest above and below $\sqrt{n}$).&lt;/li&gt;&#xA;&lt;li&gt;$h_3(n) = \phi(n)$ Euler's totient function&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="10369" LastActivityDate="2013-06-18T15:28:54.793" Title="Oracles which put integer factorization in P" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;oracles&gt;&lt;factoring&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="18022" PostTypeId="1" CreationDate="2013-06-14T16:42:49.163" Score="9" ViewCount="438" Body="&lt;p&gt;There are problems that are decidable, there are some that are undecidable, there is semidecidability, etc.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In this case I wonder whether a problem can be meta-undecidable. This means (at least in my head) we cannot tell whether it is decidable or not.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Maybe it's known decidability is undecidable (everything is meta-undecidable) and no algorithm exists to prove decidability for anything, so decidability has to be proven by hand on a case by case basis.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Maybe my question doesn't make sense. Maybe I'm assuming we are carbon machines running very complex algorithms and that's why the question makes sense only in my head.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Please let me know if the question needs further clarification. I may need that myself at this moment.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thank you.&lt;/p&gt;&#xA;" OwnerUserId="6577" LastActivityDate="2014-05-16T04:08:37.037" Title="Is meta-undecidability possible?" Tags="&lt;computability&gt;&lt;decidability&gt;&lt;undecidability&gt;" AnswerCount="2" CommentCount="10" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="18025" PostTypeId="1" CreationDate="2013-06-14T20:55:40.423" Score="6" ViewCount="183" Body="&lt;p&gt;In PAC learning, there is the &quot;Occam razor&quot; principle, which says that learning is qualitatively equivalent finding a succinct hypothesis that is consistent with the training samples.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is whether there is a similar principle in Angluin's model in exact learning with membership and equivalence queries. In this model, the learner can either ask for the label of a sample of her choice, or ask for a counterexample for a hypothesis of her choice (if no counter-example exists, the verifier is told that the hypothesis is correct).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am not sure how an &quot;Occam razor&quot; for Angluin's model could even be defined, but ideally it would say that learning is equivalent to the ability to find a succinct hypothesis that is consistent with training samples, in some sense.&lt;/p&gt;&#xA;" OwnerUserId="8429" LastActivityDate="2013-06-14T20:55:40.423" Title="Occam razor for exact learning with membership/equivalence queries" Tags="&lt;machine-learning&gt;" AnswerCount="0" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="18026" PostTypeId="2" ParentId="17958" CreationDate="2013-06-14T21:19:08.613" Score="4" Body="&lt;p&gt;here is a project &lt;a href=&quot;http://rosettacode.org/wiki/Rosetta_Code&quot; rel=&quot;noreferrer&quot;&gt;Rosetta Code&lt;/a&gt; somewhat similar or adaptable to some of your goals [which as others point out are not very specific/objective/concise/clearcut yet], a database involving quantification of languages on the same task for comparison. the post &lt;a href=&quot;http://blog.wolfram.com/2012/11/14/code-length-measured-in-14-languages/&quot; rel=&quot;noreferrer&quot;&gt;&quot;Code Length Measured in 14 Languages&quot;&lt;/a&gt; is an example of the quantitative analysis possible with this database, mostly focused on Mathematica versus other languages. &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Rosetta Code is a programming chrestomathy site. The idea is to present solutions to the same task in as many different languages as possible, to demonstrate how languages are similar and different, and to aid a person with a grounding in one approach to a problem in learning another. Rosetta Code currently has 676 tasks, 102 draft tasks, and is aware of 503 languages, though we do not (and cannot) have solutions to every task in every language.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="7884" LastEditDate="2013-06-14T21:25:16.593" LastActivityDate="2013-06-14T21:25:16.593" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18027" PostTypeId="1" CreationDate="2013-06-14T21:23:24.277" Score="2" ViewCount="98" Body="&lt;p&gt;I'm going to be given a positive integer $z$, and I want to find an optimal basis $B$ that is good for $z$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A basis $B$ is a multiset of positive integers.  The basis $B$ is considered &lt;em&gt;good for $z$&lt;/em&gt; if, for all non-negative integers $x,y$ such that $x+y=z$, we have the following: there exist multisets $B_x,B_y$ such that $x=\sum_{i \in B_x} i$, $y=\sum_{j \in B_y} j$, and $B_x \cup B_y \subseteq B$ (counting multiplicities: since these are multisets, the union operation adds up multiplicities of common elements, and the subset operation checks that multiplicities are pointwise smaller).  In other words, for every possible way of decomposing $z$ into a sum of two non-negative integers, each of those integers has to be expressible as a sum of elements from the basis, and there have to be enough basis elements in $B$ that you don't &quot;run out&quot; of elements.  When you use a basis element from $B$ to help express $x$, then it gets used up and you can't use that basis element for expressing $y$ (but if there's another copy in $B$, you're free to use the second copy for $y$).  I hope this makes sense.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The size of a basis $B$ is the number of elements in the multiset $B$ (counting multiplicities).  Smaller is better.  An optimal basis is one that is as small as possible.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question: is there a feasible algorithm that, given $z$, computes an optimal basis $B$ that's good for $z$?  Or, an approximation algorithm that computes a basis that's reasonably close to optimal?  How small can we make the basis, on average?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A naive algorithm: one simple approach is to use the basis $B=\{1,1,2,2,4,4,8,8,\dots,2^k,2^k\}$ (for $k=\lfloor \lg z \rfloor$), so the basis contains two copies of each power of 2 smaller than $z$.  This is certainly good for $z$: we can express $x$ in binary, express $y$ in binary, and since we have two copies of each power of two, we won't run out of basis elements (even if some power of two is common to both binary expressions, that's OK, since we have two copies, one for $x$ and one for $y$).  Its size is approximately $2 \lg z$, so it is pretty small.  However, it is not optimal in general: this basis could be up to a factor of two larger than optimal, depending upon $z$.  Can you do better?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If it helps, in my application I would expect $z$ to be no larger than 1000 or so.&lt;/p&gt;&#xA;" OwnerUserId="5038" LastActivityDate="2013-06-14T21:23:24.277" Title="Optimal additive basis for decomposing/partitioning an integer as a sum of two integers" Tags="&lt;ds.algorithms&gt;&lt;co.combinatorics&gt;&lt;approximation-algorithms&gt;&lt;optimization&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="18028" PostTypeId="2" ParentId="12467" CreationDate="2013-06-14T21:31:14.867" Score="2" Body="&lt;p&gt;If you want bounds for a fixed $k$ (rather than an asymptotic expression/formula that works for all $k$), one approach might be to use random sampling: repeatedly choose a random coloring, check whether it meets your criteria, and count how many of the trials were successful.  This gives you an estimate of the fraction of colorings that meet your criteria.  This can be converted into a rough estimate of the total number of colors that meet your criteria (just multiply by $k^{mn}$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can then use a Chernoff bound to get upper and lower bounds on the number of colorings that meet your criteria, where these bounds hold with probability $\ge 1-2^{-100}$ (taken over the random trials).  In other words, you would have to be extremely unlucky in your choice of random trials for those bounds to be wrong.&lt;/p&gt;&#xA;" OwnerUserId="5038" LastActivityDate="2013-06-14T21:31:14.867" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18029" PostTypeId="2" ParentId="16751" CreationDate="2013-06-14T21:43:10.293" Score="6" Body="&lt;p&gt;One general approach to generating harder instances is as follows:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Start with a random problem instance.&lt;/li&gt;&#xA;&lt;li&gt;Embed a &quot;hidden backdoor&quot;: randomly choose a good solution (one that's likely to be much better than any solution that already exists) and modify the problem instance to forcibly embed this solution into the problem instance.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;For instance, for TSP, you could do something like the following.  Generate a random problem instance by picking a random $U(0,1)$ cost matrix.  Then, adjust the problem instance to hide a much-better solution in it: randomly select a tour that visits each vertex exactly once, and reduce the edge weights on that tour (e.g., generate it randomly from $U(0,c)$ where $c&amp;lt;1$; reduce the existing weight; or modify the existing edge with some fixed probability).  This adjustment procedure ensures that the optimal solution will, with high probability, be that special tour that you selected.  If you're lucky and you select a reasonable embedding, it will also not be so easy to recognize where you hid the special solution.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This approach is derived from general ideas in cryptography, where we want to create trapdoor one-way problems: where the problem is hard to solve without knowledge of the secret trapdoor, but with knowledge of the secret trapdoor, the problem becomes very easy.  There have been many attempts to embed secret trapdoors into a variety of hard problems (while still preserving the hardness of the problem even after the trapdoor has been added), with mixed degrees of success.  But this general approach seems like it might workable, for your purposes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The resulting problem instances might be &lt;em&gt;hard&lt;/em&gt;, but will they be &lt;em&gt;interesting&lt;/em&gt;, from any practical perspective?  I don't know.  Beats me.  They look fairly artificial to me, but what do I know?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If your primary goal is to select problem instances that are practically relevant and representative of real-world applications of TSP, my suggestion would be take a totally different approach.  Instead, start by surveying real-world applications of TSP, then looking for representative instances of those problems, and convert them to their corresponding TSP problem instance -- so you are working with problem instances derived from a real world problem.&lt;/p&gt;&#xA;" OwnerUserId="5038" LastActivityDate="2013-06-14T21:43:10.293" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18030" PostTypeId="1" CreationDate="2013-06-14T23:14:02.100" Score="1" ViewCount="231" Body="&lt;p&gt;So I stumble over this problem in which I couldn't find anything similar in the literature. I am not even sure if it is NP-hard or solvable in polynomial time. Any thought or suggestion would be greatly appreciated.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose I give you a $d$ dimensional vector $x$, with rational entries in the range $[0,1]$. Similarly, I also give you $d$ dimensional $n^2$ vectors $y_{i,j}$ for $i,j \in \{1,...,n\}$ with entries in the range $[0,1]$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I want to find a directed spanning tree with each vertex has exactly one parent (except the root) $T$ of $n$ vertices such that:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\| x - \circ_{(i,j) \in edges(T) }y_{i,j}\|_1$  is minimized, where $\circ$ denotes the Hadamard product (entry-wise product) between the vectors. I'm also fine with $l_2$ norm. I.e,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\| x - \circ_{(i,j) \in edges(T) }y_{i,j}\|_2$  is minimized. &lt;/p&gt;&#xA;" OwnerUserId="16420" LastEditorUserId="16420" LastEditDate="2013-06-14T23:26:05.087" LastActivityDate="2013-06-14T23:26:05.087" Title="A non-trivial combinatorial optimization" Tags="&lt;graph-theory&gt;&lt;approximation-algorithms&gt;&lt;tree&gt;&lt;combinatorics&gt;" AnswerCount="0" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="18031" PostTypeId="2" ParentId="7222" CreationDate="2013-06-15T00:54:21.857" Score="3" Body="&lt;p&gt;Here's a trivial answer: assuming $L \ge \lg |N|$, then you need to know the value of $f$ at all $|N|$ points to uniquely determine $f$.  Therefore, the approach you sketch doesn't help you at all, unless you somehow know that the length $L$ of the program is extremely short: much shorter than $\lg |N|$ bits.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider the family of functions $F=\{f_i:i\in N\}$, where $f_i$ is defined to be the function $f_i(x) = 1$ if $i=x$ and $f_i(x)=0$ if $i\ne x$.  Notice that the Kolmogorov complexity of computing $f_i$ is about $\lg |N|$ bits, since you can hardcode the value of $i$ in the source code and then all you need is a simple conditional statement ($O(1)$ extra).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, you cannot distinguish $f_i$ from the all-zeros function unless you test it at the input $i$.  You cannot distinguish $f_i$ from $f_j$ unless you test at the input $i$ or $j$.  Therefore, you'll need to evaluate $f$ at all $|N|$ inputs, to uniquely determine which $f_i$ we are dealing with.  (OK, technically, you need to evaluate it at $|N|-1$ inputs, but whatever.)&lt;/p&gt;&#xA;" OwnerUserId="5038" LastActivityDate="2013-06-15T00:54:21.857" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18032" PostTypeId="2" ParentId="18022" CreationDate="2013-06-15T01:13:46.223" Score="8" Body="&lt;p&gt;Here's a quick sketch to show that there is no Turing machine to decide whether an arbitrary class of problems is decidable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I should clarify what I mean by class of problems: a &lt;em&gt;class of problems&lt;/em&gt; $T$ is a Turing machine which enumerates the elements (natural numbers, say) of a recursively enumerable set one after the other, such that each element in the set is eventually printed. The problem intuitively captured by $T(n)$ is: &quot;is the number $n$ in this set?&quot;. This captures the usual problems in the field of computability, such as &quot;is i the index of a Turing machine that halts on empty input?&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose there was machine $M$ which, given as input a class of problems $T$ answered $\mathit{true}$ if that class is decidable and $\mathit{false}$ otherwise.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now take an arbitrary Turing machine $T$. We build the following class of problems $T'$ in the following manner:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Simulate $T$.&lt;/li&gt;&#xA;&lt;li&gt;If $T$ halts, enumerate the indices of the Turing machines that halt on empty input.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Now it is clear that if $T$ halts, then $M(T')$ returns $\mathit{false}$, as the set of indices halting Turing machines is not a decidable (recursive) set.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $T$ does &lt;em&gt;not&lt;/em&gt; halt, then $T'$ does not enumerate &lt;em&gt;any&lt;/em&gt; numbers, which makes it exactly the class of problems containing &lt;em&gt;no&lt;/em&gt; indices! Therefore $M(T')$ answers $\mathit{true}$, since that class is decidable (by the machine that always rejects).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Therefore, $M(T')$ returns $\mathit{true}$ iff $T$ does not halt, and $\mathit{false}$ otherwise. Thus the existence of $M$ allows us to solve the halting problem for an arbitrary machine $T$, which is a contradiction.&lt;/p&gt;&#xA;" OwnerUserId="3984" LastEditorUserId="3984" LastEditDate="2014-05-14T21:46:42.480" LastActivityDate="2014-05-14T21:46:42.480" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="18033" PostTypeId="1" CreationDate="2013-06-15T03:51:07.713" Score="6" ViewCount="183" Body="&lt;p&gt;Are there results/techniques pertaining to the analysis of squares of random matrices ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More specifically, let $A$ be an $n\times n$ matrix such that each entry is $1$ or $-1$ independently and with equal probability. Now if we want to analyze for any $u,v \in \{-1,1\}^n$, we can make a case for concentration of the value of $u^TAv$ using chernoff bound arguements. However suppose now we want to analyze the value of $u^TA^2v$. This time due to a lot of dependencies among the variables a chernoff type arguement becomes difficult or at least I cannot see it straightaway. Could someone point me to an analysis for this scenario ?  &lt;/p&gt;&#xA;" OwnerUserId="12212" LastActivityDate="2013-06-15T03:51:07.713" Title="Squares of random binary matrices" Tags="&lt;pr.probability&gt;&lt;randomness&gt;&lt;matrices&gt;&lt;chernoff-bound&gt;" AnswerCount="0" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="18034" PostTypeId="1" CreationDate="2013-06-15T09:21:31.760" Score="3" ViewCount="199" Body="&lt;p&gt;First, the problem discription:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For a sequence of $4n$ tasks, $a_1a_2\dots a_{4n}$, where $a_i\in\{0,1\}\forall i$, put them sequentially to the tail of one of the two initially empty queues of length $0$ such that in the end all the tasks are put in the queues and both queues has length $2n$. Let $cost$ be 0 at first. For each task $a_i$ that has value $1$, we add its index in the queue to the $cost$.&#xA;The objective is to minimize the $cost$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Example, the sequence of tasks is $10101010$, and we put the $1$th task in queue $1$, the $2$th task in queue $1$, the $3$th task in queue $2$, the $4$th task in queue $1$, the $5$th task in queue $2$, the $6$th task in queue $1$, $7$th task in queue $2$, the $8$th task in queue $2$, then queue $1$ will has task sequence $1000$ and queue $2$ will has task sequence $1110$, so the $cost$ is $(1)+(1+2+3)=7$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then we describe the greedy algorithm with parameter $0\le k\le 2n$：&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It first puts the first $k$ tasks sequentially to the end of queue $1$. Then for $i=k+1,\dots$, if $a_i=1$ it puts the $i$th task into a queue with smaller length, else it puts the $i$th task into a queue with bigger length until one of the queues is full(it has length $2n$). Finally it puts the rest of tasks sequentially to the end of the non-full queue.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The question is proving the best greedy algorithm(over choices of $k$) gives the optimal cost for any $4n$ length sequence. I have many simulation results that support this statement and haven't found a proof yet.&lt;/p&gt;&#xA;" OwnerUserId="9754" LastEditorUserId="9754" LastEditDate="2013-06-15T09:29:22.110" LastActivityDate="2013-06-15T09:29:22.110" Title="Proving greedy algorithm is optimal for a scheduling problem" Tags="&lt;ds.algorithms&gt;&lt;optimization&gt;&lt;lower-bounds&gt;&lt;proofs&gt;&lt;scheduling&gt;" AnswerCount="0" CommentCount="9" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18036" PostTypeId="2" ParentId="189" CreationDate="2013-06-16T09:59:35.460" Score="10" Body="&lt;p&gt;I propose &lt;a href=&quot;http://en.wikipedia.org/wiki/Reed_Solomon&quot;&gt;Reed-Solomon coding&lt;/a&gt;. The basic idea is that you can encode your data as a polynomial over a finite field. You can then evaluate this polynomial at several different points and these values become the messages that you will send. If the degree of the polynomial is N, then a receiving party only needs to receive N+1 messages in order to reconstruct the polynomial and hence the original data.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I find this extremely elegant. I just wish I had more cause to use it.&lt;/p&gt;&#xA;" OwnerUserId="2750" LastActivityDate="2013-06-16T09:59:35.460" CommentCount="1" CommunityOwnedDate="2013-06-16T09:59:35.460" ContentLicense="CC BY-SA 3.0" />
  <row Id="18037" PostTypeId="1" AcceptedAnswerId="18045" CreationDate="2013-06-16T15:04:00.280" Score="29" ViewCount="2162" Body="&lt;p&gt;There were &lt;a href=&quot;https://cs.stackexchange.com/questions/10869/job-scheduling-with-a-bottleneck-problem/10872#comment22604_10872&quot;&gt;two&lt;/a&gt; &lt;a href=&quot;https://cs.stackexchange.com/questions/12359/2k-number-assignment&quot;&gt;questions&lt;/a&gt; asked recently on cs.se which were either related to or had a special case equivalent to the following question:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose you have a sequence $a_1, a_2, \ldots a_n$ of $n$ numbers such that $\sum_{i=1}^n a_i = n(n+1).$  Decompose it into the sum of two permutations, $\pi$ and $\sigma$, of $1 \dots n$, so that $a_i = \pi_i + \sigma_i\,$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are some necessary conditions: if the $a_i$  are sorted so that $a_1 \leq a_2 \leq \ldots \leq a_n\,$, then we must have&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\sum_{i=1}^k a_i \geq k(k+1).$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, these conditions are not sufficient. From the answer to &lt;a href=&quot;https://math.stackexchange.com/questions/406586/characterizing-multisets-that-are-the-sum-of-two-permutations&quot;&gt;this math.se question&lt;/a&gt; I asked, the sequence 5,5,5,9,9,9 cannot be decomposed as the sum of two permutations (one can see this by using the fact that both 1 or 5 can only be paired with 4). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;So my question is: what is the complexity of this problem?&lt;/p&gt;&#xA;" OwnerUserId="1677" LastEditorUserId="-1" LastEditDate="2017-04-13T12:48:30.830" LastActivityDate="2016-06-03T15:12:12.653" Title="Can you identify the sum of two permutations in polynomial time?" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;co.combinatorics&gt;&lt;np-hardness&gt;&lt;permutations&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="18038" PostTypeId="1" AcceptedAnswerId="31551" CreationDate="2013-06-16T15:32:31.250" Score="5" ViewCount="284" Body="&lt;p&gt;What is known about commutative algorithms like Winograd algorithm and its variants for Matrix Multiplication? Why is there not much study on them? Can they be asymptotically as efficient as Non-commutative algorithms?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Update&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Existence of $O(n^\omega)$ non-commutative algorithms for matrix multiplication implies existence of $O(n^\omega)$ commutative algorithms. Does converse statement hold truth?&lt;/p&gt;&#xA;" OwnerUserId="1812" LastEditorUserId="1812" LastEditDate="2015-05-20T05:47:58.867" LastActivityDate="2015-05-20T16:41:58.317" Title="Commutative matrix multiplication algorithms" Tags="&lt;algebraic-complexity&gt;&lt;matrix-product&gt;" AnswerCount="2" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18040" PostTypeId="2" ParentId="16751" CreationDate="2013-06-16T18:34:40.760" Score="3" Body="&lt;p&gt;an approach that often gives you high control over the nature of solutions is conversion from one NP complete problem to another. now you define &quot;interesting&quot; in your question in a statistical way, but another neat approach is to use classic problems from the field. my favorite is factoring/SAT. it is trivial to find either &quot;smooth&quot; numbers with lots of factors, or prime numbers with only two &quot;factors&quot; (one and the prime). create the SAT instance to solve the factoring, and the solutions are the factors (actually permutations of factors, but also which is not hard to count ahead of time). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;under this approach, there is a natural definition of &quot;interesting&quot;—hard instances which cant be solved in P time. and this approach is guaranteed to produce hard instances for factoring non-smooth numbers otherwise it would resolve a foremost open question in complexity theory ie &lt;a href=&quot;http://en.wikipedia.org/wiki/Integer_factorization#Difficulty_and_complexity&quot; rel=&quot;nofollow noreferrer&quot;&gt;hardness of factoring&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;then, possibly convert to your problem, in this case TSP. to fill out this answer it would be nice to have a direct SAT to TSP conversion, think they are out there, but am not familiar with them. however, here are some refs on factoring-to-SAT in this question: &lt;a href=&quot;https://cs.stackexchange.com/questions/6588/reducing-the-integer-factorization-problem-to-an-np-complete-problem/6605#6605&quot;&gt;reducing the integer factorization problem to an NP complete problem&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;if you dont like factoring, it might still be preferrable to create the instances in SAT first for a variety of reasons. you could start with random SAT instances tuned to center in the easy-hard-easy transition point, etcetera. or you could work from &lt;a href=&quot;http://dimacs.rutgers.edu/Challenges/&quot; rel=&quot;nofollow noreferrer&quot;&gt;DIMACS&lt;/a&gt; hard instances, generated by the community. or create other logical &quot;programs&quot; in SAT.&lt;/p&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="-1" LastEditDate="2017-04-13T12:48:30.830" LastActivityDate="2013-06-16T18:40:16.457" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="18041" PostTypeId="2" ParentId="11678" CreationDate="2013-06-16T19:12:30.703" Score="3" Body="&lt;p&gt;You can find a formal model and proof of Paxos and Byzantine Paxos written by L. Lamport et al at &lt;a href=&quot;http://research.microsoft.com/en-us/um/people/lamport/tla/byzpaxos.html&quot; rel=&quot;nofollow&quot;&gt;http://research.microsoft.com/en-us/um/people/lamport/tla/byzpaxos.html&lt;/a&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The model can be checked using the &lt;a href=&quot;http://research.microsoft.com/en-us/um/people/lamport/tla/tla.html&quot; rel=&quot;nofollow&quot;&gt;TLA+ toolbox&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Notice that the author of the Paxos algorithm, the formal model above, and even the TLA+ modeling language is the same person:)&lt;/p&gt;&#xA;" OwnerUserId="12896" LastActivityDate="2013-06-16T19:12:30.703" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18042" PostTypeId="2" ParentId="189" CreationDate="2013-06-16T19:36:26.123" Score="5" Body="&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Savitch%27s_theorem&quot; rel=&quot;noreferrer&quot;&gt;Savitch's Algorithm&lt;/a&gt;: a simple recursive algorithm for the &lt;a href=&quot;http://en.wikipedia.org/wiki/St-connectivity&quot; rel=&quot;noreferrer&quot;&gt;Reachability&lt;/a&gt; problem, with a conceptually deep consequence: &lt;a href=&quot;http://en.wikipedia.org/wiki/PSPACE&quot; rel=&quot;noreferrer&quot;&gt;PSPACE&lt;/a&gt;=&lt;a href=&quot;http://en.wikipedia.org/wiki/NPSPACE&quot; rel=&quot;noreferrer&quot;&gt;NPSPACE&lt;/a&gt;. &lt;/p&gt;&#xA;" OwnerUserId="392" LastActivityDate="2013-06-16T19:36:26.123" CommentCount="0" CommunityOwnedDate="2013-06-16T19:36:26.123" ContentLicense="CC BY-SA 3.0" />
  <row Id="18043" PostTypeId="2" ParentId="18038" CreationDate="2013-06-17T07:46:08.250" Score="5" Body="&lt;p&gt;Commutative algorithms&#xA;are not studied that much, because you cannot use them&#xA;recursively by cutting larger matrices into smaller blocks like you do in Strassen's algorithm. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since every noncommutative algorithm is a commutative one, commutative algorithms can be trivially as efficient as noncommutative ones.&lt;/p&gt;&#xA;" OwnerUserId="6456" LastActivityDate="2013-06-17T07:46:08.250" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18045" PostTypeId="2" ParentId="18037" CreationDate="2013-06-17T10:29:52.153" Score="20" Body="&lt;p&gt;No, you can not identify the sum of two permutations in polynomial time unless P=NP. Your problem is NP-complete since the decision version of your problem is equivalent to the NP-complete problem $2$-Numerical Matching with target sums:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Input: Sequence of $a_1, a_2, \ldots a_n$ of positive integers, $\sum_{i=1}^n a_i = n(n+1)$, $1 \le a_i \le 2n$ for $1 \le i \le n$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Question: Are there two permutations $\psi_1$ and $\psi_2$ such that $\psi_1(i)+\psi_2(i)= a_i$ for $1\le i \le n$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the reference, a severely restricted variant of NUMERICAL 3-DIMENSIONAL MATCHING (RN3DM) was proven to be strongly NP-complete.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;RN3DM, Given a multiset $U = \{u_1, . . . , u_n\}$ of integers and an integer $e$ such that $\sum_{j=1}^n  u_j +&#xA;n(n + 1) = ne$ , do there exist two permutations $\lambda$ and $\mu$ such that&#xA;  $u_j + \lambda( j ) + \mu( j ) = e$, for $j = 1, . . . , n$?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;There is an easy reduction from RN3DM to $2$-Numerical Matching with target sums problem:&#xA;Given an instance of RN3DM. We construct the corresponding instance by making $a_i= e-u_i$ for $1 \le i \le n$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;W. Yu, H. Hoogeveen, and J. K. Lenstra.&#xA;&lt;a href=&quot;http://link.springer.com/article/10.1023%2FB%3AJOSH.0000036858.59787.c2&quot; rel=&quot;nofollow&quot;&gt;Minimizing makespan in a two-machine flow shop with&#xA;delays and unit-time operations is NP-hard&lt;/a&gt;. Journal of&#xA;Scheduling, 7:333–348, 2004&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT Oct. 1st&lt;/strong&gt;: Your problem is called PERMUTATION SUMS. It is listed since 1998 in &lt;a href=&quot;http://people.cs.clemson.edu/~hedet/algorithms.html&quot; rel=&quot;nofollow&quot;&gt;OPEN PROBLEMS&lt;/a&gt; IN COMBINATORIAL OPTIMIZATION by Steve Hedetniemi.&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2016-06-03T15:12:12.653" LastActivityDate="2016-06-03T15:12:12.653" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="18047" PostTypeId="1" CreationDate="2013-06-17T17:33:53.843" Score="4" ViewCount="107" Body="&lt;p&gt;Assume that we have a non-empty finite lattice $(L,\leq)$ and a monotone Boolean-valued function $f : L \rightarrow \mathbb{B}$ (i.e, for every $x,y \in L$, if $f(x)=\mathbf{true}$ and $x \leq y$, then $f(y) = \mathbf{true}$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is an efficient algorithm to compute the &lt;em&gt;frontier set&lt;/em&gt; of $f$, i.e., the elements $x \in L$ such that $f(x) = \mathbf{true}$ for but no element $y \leq x$, we have $f(y) = \mathbf{true}$? Alternatively, what is an efficient algorithm to compute the &lt;em&gt;co-frontier set&lt;/em&gt; of $f$, i.e., the elements $x \in L$ such that $f(x) = \mathbf{false}$ but for all elements element $y \geq x$, we have $f(y) = \mathbf{true}$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The algorithm can use the following operations:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Get the least element of $L$&lt;/li&gt;&#xA;&lt;li&gt;Get the maximum element of $L$&lt;/li&gt;&#xA;&lt;li&gt;For some element $x \in L$, compute the direct predecessors of $x$, i.e., the elements $y \in X$ with $y \leq x$, but for no $z \in L$, there is $y \leq z \leq x$). &lt;/li&gt;&#xA;&lt;li&gt;For some element $x \in L$, compute the direct successors of $x$, i.e., the elements $y \in X$ with $y \geq x$, but for no $z \in L$, there is $y \geq z \geq x$). &lt;/li&gt;&#xA;&lt;li&gt;Evaluate $f$ on some element of the lattice&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The algorithm should minimize the number of calls to the oracle $f$. It can be assumed that the number of direct successors or predecessors of some element is constant and &quot;small&quot;.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Some remarks that shall not be seen as part of the problem formulation:&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I did a search on algorithms for this already and found a few papers that are not fully irrelevant for this problem. However, they either do not answer the problem, or they are tied to certain application domains, which makes it hard to even find out with certainty if they are related or not. An example is &quot;Maximal Antichain Lattice Algorithms for Distributed Computations&quot; by Vijay K. Garg.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The types of lattices that I am actually interested in are direct products of subsets of $\mathbb{N}$ and $\mathbb{B}$. The problem is is kind of an optimization problem, where $f$ tells us if some &quot;quality requirement&quot; vector is feasible or not.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks! &lt;/p&gt;&#xA;" OwnerUserId="16000" LastEditorUserId="16000" LastEditDate="2013-06-18T17:34:50.080" LastActivityDate="2013-06-18T17:34:50.080" Title="Computing a frontier set for some Boolean-valued function in a lattice?" Tags="&lt;ds.algorithms&gt;&lt;lattice&gt;" AnswerCount="0" CommentCount="6" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18052" PostTypeId="1" CreationDate="2013-06-18T01:54:48.457" Score="-2" ViewCount="282" Body="&lt;p&gt;I have a problem that I think should have been studied. I am looking for algorithms for it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Each item is a set of key-value pairs.&#xA;Let $x$ be an item and $F$ be a set of items.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Each key and each value can appear multiple times.&#xA;The number of possible keys and possible values can be arbitrary large.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We are given $x$ and $F$. We want to find all those items $y$ in $F$ such that $y.val \subseteq x$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$x = \{(a,1), (b,2), (c,3), (d,4)\}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$F= \{$&lt;br&gt;&#xA;$(A, \{(a,1)\}), $&lt;br&gt;&#xA;$(B, \{(a,1), (b,2)\}),$&lt;br&gt;&#xA;$(C, \{(a,1), (b,3)\}),$&lt;br&gt;&#xA;$(D, \{(b,2), (c,3), (d,4)\}),$&lt;br&gt;&#xA;$(E, \{(a,1), (b,2), (c,3), (d,4)\}),$&lt;br&gt;&#xA;$(F, \{(a,1), (b,2), (c,3), (d,4), (e,5)\}),$&lt;br&gt;&#xA;$(G, \{(a,1), (b,2), (c,3), (e,5)\})$&lt;br&gt;&#xA;$\}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The answer is:&#xA;$A$ yes, $B$ yes, $C$ no (right keys, wrong values), $D$ yes, $E$ yes (exact match),&#xA;$F$ no, $G$ no.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Has this problem been studied?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem seems similar to finding features from a DNA sequence or detecting plagiarism in a document.&lt;/p&gt;&#xA;" OwnerUserId="16594" LastEditorUserId="186" LastEditDate="2013-06-18T17:16:36.790" LastActivityDate="2013-06-18T17:16:36.790" Title="Find all items which are subsets of an item" Tags="&lt;ds.algorithms&gt;&lt;ds.data-structures&gt;&lt;db.databases&gt;" AnswerCount="1" CommentCount="14" ContentLicense="CC BY-SA 3.0" />
  <row Id="18053" PostTypeId="2" ParentId="18052" CreationDate="2013-06-18T07:08:29.057" Score="-1" Body="&lt;p&gt;The most straightforward answer I can think of, but unsure about running times:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;def find_matching(d, f):&#xA;      matching = []&#xA;      dSet = set(d.items())&#xA;      for k in f:&#xA;        if set(f[k].items()).issubset(dSet):&#xA;          matching.append(k)&#xA;      return matching&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;" OwnerUserId="16601" LastEditorUserId="16601" LastEditDate="2013-06-18T17:06:18.477" LastActivityDate="2013-06-18T17:06:18.477" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="18055" PostTypeId="1" CreationDate="2013-06-18T12:01:01.310" Score="2" ViewCount="114" Body="&lt;p&gt;Here is the original question: &lt;a href=&quot;https://cstheory.stackexchange.com/questions/17985/what-bound-can-we-get-using-kth-moment-inequality-under-3-wise-independent&quot;&gt;What bound can we get using $k$-th moment inequality under 3-wise independence?&lt;/a&gt; .Yury has given a 3-wise independent example that shows the upper bound is no better than $O(1/t)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is another way to constructing 3-wise independent variables (see more details in &lt;a href=&quot;http://www.wisdom.weizmann.ac.il/~oded/PS/RND/l03.ps&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://www.wisdom.weizmann.ac.il/~oded/PS/RND/l03.ps&lt;/a&gt;). Are they essentially equal to each other, particularly on deriving the upper bound of $\Pr(|\sum_i(X_i)-\mu|\geq t)$? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is the main idea of the construction:&#xA;We sample 3 random variables ${r_1,r_2,r_3}$ from $[m]$ uniformly and independently ($m$ is a prime). Then we construct a set $\Omega = \{r_1+r_2*i+r_3*i^2\mod m:i \in [m]\}$. The elements are 3-wise independent. Does the sum of these variables get a similar upper bound?&lt;/p&gt;&#xA;" OwnerUserId="16379" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2013-06-22T07:59:09.080" Title="What upper bound can we get under 3-wise independence? (comparable edition)" Tags="&lt;randomized-algorithms&gt;&lt;upper-bounds&gt;&lt;pseudorandomness&gt;&lt;pseudorandom-generators&gt;" AnswerCount="0" CommentCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="18056" PostTypeId="2" ParentId="18037" CreationDate="2013-06-18T13:13:56.577" Score="4" Body="&lt;p&gt;On the other hand, Marshall Hall &lt;a href=&quot;http://www.ams.org/journals/proc/1952-003-04/S0002-9939-1952-0050579-7/S0002-9939-1952-0050579-7.pdf&quot; rel=&quot;nofollow&quot;&gt;showed&lt;/a&gt; that it is possible to identify the &lt;em&gt;difference&lt;/em&gt; of two permutations easily.&lt;/p&gt;&#xA;" OwnerUserId="16608" LastActivityDate="2013-06-18T13:13:56.577" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="18057" PostTypeId="1" AcceptedAnswerId="18066" CreationDate="2013-06-18T14:29:57.677" Score="3" ViewCount="169" Body="&lt;p&gt;I am considering products $U\times V$ of subsets $U, V\subset \{0, 1\}^p$ with a pairwise Hamming distance greater than 1 : $\forall uv\in U\times V, D(u,v) \geq 2$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given $p$, I am looking for a good asymptotic upperbound on $\mid U\times V\mid$, the cardinality of the products, for all possible choices of $U$ and $V$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To make it hopefully more precise :&lt;br&gt;&#xA;$$\max \{\operatorname{Card} \ (U\times V) \mid \ U, V\subset \{0, 1\}^p\mbox{ such that  }\forall uv\in U\times V, D(u,v) \geq 2\}.$$&lt;/p&gt;&#xA;" OwnerUserId="16132" LastEditorUserId="10160" LastEditDate="2013-06-19T15:06:48.030" LastActivityDate="2013-06-19T15:06:48.030" Title="Upperbound on cardinality of product of two string sets at pairwise Hamming distance $&gt; 1$" Tags="&lt;co.combinatorics&gt;&lt;coding-theory&gt;&lt;upper-bounds&gt;" AnswerCount="1" CommentCount="10" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18058" PostTypeId="2" ParentId="18021" CreationDate="2013-06-18T15:28:54.793" Score="6" Body="&lt;p&gt;(This is shameless &lt;a href=&quot;http://arxiv.org/abs/1207.5220&quot;&gt;self-promotion&lt;/a&gt;.) If you don’t mind either assuming the generalized Riemann hypothesis (for $L$-functions of quadratic Dirichlet characters) or using randomized polynomial time, then the following search problems work:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Given integers $n,a$ such that the Jacobi symbol $\left(\frac an\right)=1$, output either a square root of $a$ modulo $n$, or a nontrivial factor of $n$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Any PPA-complete problem, such as: given a circuit $C\colon\{0,1\}^m\to\{0,1\}^m$ computing an involution (i.e., $C(C(x))=x$ for every $x\in\{0,1\}^m$) such that $C(1^m)=1^m$, output an $x\ne1^m$ such that $C(x)=x$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The weak pigeonhole principle: given a circuit $C\colon\{0,1\}^{2m}\to\{0,1\}^m$, output $x\ne y\in\{0,1\}^{2m}$ such that $C(x)=C(y)$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="6959" LastActivityDate="2013-06-18T15:28:54.793" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="18059" PostTypeId="1" AcceptedAnswerId="18063" CreationDate="2013-06-18T15:35:55.747" Score="4" ViewCount="359" Body="&lt;p&gt;I'm trying to understand the full bit-complexity of computing the determinant of an $n\times n$ integer matrix, with each entry represented by $M$ bits.&#xA;I would like to know what is the state-of-the-art bit-complexity.&#xA;As far as I could find, the two possible candidates are:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(1) The low-depth circuits, due to Csansky [1976], and Berkowitz [1984], but these, despite having $log^2(n)$ depth, require some $n^4$ bit operations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(2) The Bunch and Hopcroft [1974] algorithm, which takes any black-box algorithm for integer matrix multiplication, and produces an algorithm for the determinant using the same $\textbf{arithmetic}$ complexity.  Since any two $M$-bit integers can be multiplied in $M \cdot log^2(M)$ operations, and the largest value during the computation can be as large as $2^{M n}$, it seems that its bit-complexity is $\tilde{O}(M n^{\omega+1})$, where $\omega$ is the state-of-the-art matrix product coefficient $&amp;lt; 2.38$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a better upper-bound?&lt;/p&gt;&#xA;" OwnerUserId="6238" LastActivityDate="2013-06-18T18:14:00.827" Title="state-of-the-art bit complexity of the determinant" Tags="&lt;time-complexity&gt;&lt;linear-algebra&gt;&lt;matrix-product&gt;&lt;space-complexity&gt;&lt;determinant&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18063" PostTypeId="2" ParentId="18059" CreationDate="2013-06-18T18:14:00.827" Score="5" Body="&lt;p&gt;Storjohann designs a Las-Vegas algorithm with $\tilde O(n^\omega M)$ bit operations&#xA;&lt;a href=&quot;http://dx.doi.org/10.1016/j.jco.2005.04.002&quot;&gt;http://dx.doi.org/10.1016/j.jco.2005.04.002&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Prior to this, Kaltofen and Villard gave improved algorithms, see &#xA;&lt;a href=&quot;http://lara.inist.fr/bitstream/handle/2332/850/LIP-RR2003-36.pdf%3Fsequence%3D1&quot;&gt;http://lara.inist.fr/bitstream/handle/2332/850/LIP-RR2003-36.pdf%3Fsequence%3D1&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="6456" LastActivityDate="2013-06-18T18:14:00.827" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="18065" PostTypeId="2" ParentId="17713" CreationDate="2013-06-18T19:28:23.787" Score="6" Body="&lt;p&gt;I got a poly-time algorithm for this (rather trivial problem)problem, i.e. for checking whether the joint spectral radius(JSR) is zero or not, in 1995: &lt;a href=&quot;http://en.wikipedia.org/wiki/Joint_spectral_radius&quot;&gt;http://en.wikipedia.org/wiki/Joint_spectral_radius&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The story behind the algorithm is roughly as follows: Blondel and Tsitsiklis wrongly stated&#xA;that for boolean matrices checking whether JSR &amp;lt; 1 is NP-HARD. For any set of integer matrices&#xA;JSR is ether zero or greater or equal 1. So the counter example to their statement was&#xA;my algorithm(see the errata to their paper). The main moral: consult the Wikipedia first!&lt;/p&gt;&#xA;" OwnerUserId="13778" LastActivityDate="2013-06-18T19:28:23.787" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18066" PostTypeId="2" ParentId="18057" CreationDate="2013-06-18T21:03:30.283" Score="3" Body="&lt;p&gt;Consider $p=2q$, $q\ge 1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Asymptotically, the quantity you are after is $2^{4q-2}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First, let's prove a lemma of general interest.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Lemma&lt;/strong&gt; $(2^{2q}/\sqrt{\pi q})/1.136 &amp;lt; \binom{2q}{q} &amp;lt; 2^{2q}/\sqrt{\pi q}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Proof:&lt;/em&gt; Recall the Robbins bounds&#xA;$$&#xA;n! = \sqrt{2\pi}n^{n+1/2}e^{-n}e^{r_n},&#xA;$$&#xA;where $1/(12n+1) &amp;lt; r_n &amp;lt; 1/(12n)$.&#xA;This gives&#xA;$$&#xA;\binom{2q}{q} = 2^{2q}e^{r_{2q}}/\sqrt{\pi q}e^{2r_q} &amp;gt;&#xA;\left(2^{2q}/\sqrt{\pi q}\right)/c&#xA;$$&#xA;where $c = e^{(18q + 1)/(6q(24q+1))} &amp;lt; e^{19/150} &amp;lt; 1.136$.&#xA;Further,&#xA;$$&#xA;\binom{2q}{q} &amp;lt; \left(2^{2q}/\sqrt{\pi q}\right)/d&#xA;$$&#xA;where $d = e^{(36q - 1)/(24q(12q+1))} &amp;gt; 1$.$\qquad\qquad\Box$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Corollary&lt;/strong&gt; $\binom{2q}{q} = \Theta(2^{2q-(\log_2 q)/2})$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A first pass upper bound is $\left(2^{2q-1}\right)^2 = 2^{4q-2}$, since $U$ and $V$ cannot overlap.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For a lower bound.  By the symmetry of the binomial expansion one can achieve&#xA;$$&#xA;\left(\sum_{i=0}^{q−1}\binom{p}{i}\right)^2&#xA;= \left(\left(2^{2q} - \binom{2q}{q}\right)/2\right)^2&#xA;= 2^{4q-2}\left(1-1/\left(\alpha\sqrt{\pi q}\right)\right)^2&#xA;$$&#xA;where $1 &amp;lt; \alpha &amp;lt; 1.136$ by the lemma.&#xA;This expression can be obtained by taking $U$ to be the set of $p$-bit Boolean vectors within Hamming distance $q−1$ from $0\dots 0$, and $V$ to be the vectors within distance $q−1$ from $1\dots 1$.&#xA;These sets both have the same size.&#xA;(Note that the number of $p$-bit Boolean vectors which have Hamming distance exactly $i$ from the all-zero vector is $\binom{p}{i}$.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now note that $\alpha\sqrt{\pi q}$ is smallest when $q = 1$, taking a value that exceeds $\sqrt{\pi}$.  Hence $\left(1 - 1/(\alpha\sqrt{\pi q})\right)^2 &amp;gt; 0.1899$.&#xA;It follows that the quantity you are interested in is $\beta 2^{4q-2}$, where $0.1899 &amp;lt; \beta &amp;lt; 1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The case for $p$ odd seems a bit more involved, but the same idea might apply.  The &quot;buffer zone&quot; between $U$ and $V$ is now going to consist of vectors of two different Hamming weights instead of just one, so it has roughly double the impact.  This probably calls for a more careful analysis of the error, and the lower bound might leave a bit of slack.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Disclaimer:&lt;/em&gt; I wrote the above fairly quickly, so there may be some errors in the derivation.  Please check the details if you plan to use this elsewhere.  Such a natural question has probably also been studied in the coding theory literature.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Reference:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Herbert Robbins, &lt;em&gt;A remark on Stirling's formula&lt;/em&gt;, The American Mathematical Monthly &lt;strong&gt;62&lt;/strong&gt;(1), 1955, 26–29.  doi:&lt;a href=&quot;http://dx.doi.org/10.2307/2308012&quot; rel=&quot;nofollow&quot;&gt;10.2307/2308012&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="109" LastEditorUserId="109" LastEditDate="2013-06-18T23:03:25.970" LastActivityDate="2013-06-18T23:03:25.970" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="18067" PostTypeId="1" AcceptedAnswerId="18069" CreationDate="2013-06-18T21:04:32.903" Score="7" ViewCount="418" Body="&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Sharp-P&quot; rel=&quot;nofollow&quot;&gt;#P&lt;/a&gt; is the class of counting problems for problems in NP.  In other words, a solution to #P returns the number of solutions to a particular problem in NP.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm wondering if there have been any studies on the worst-case behaviors of current best solutions to problems in NP.  My focus in the past has been on 3-SAT, so I am particularly interested in the time it takes to count 3-SAT solutions in the worst case.  However, I ask in general, &lt;strong&gt;What are the current best upper bounds for any (#P-complete) problem in #P?&lt;/strong&gt;&lt;/p&gt;&#xA;" OwnerUserId="1549" LastEditorUserId="1590" LastEditDate="2014-08-31T17:04:18.907" LastActivityDate="2014-08-31T17:04:18.907" Title="What are the current best upper bounds of #P?" Tags="&lt;ds.algorithms&gt;&lt;sat&gt;&lt;counting-complexity&gt;&lt;upper-bounds&gt;&lt;worst-case&gt;" AnswerCount="2" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="18068" PostTypeId="2" ParentId="11323" CreationDate="2013-06-19T06:21:14.060" Score="0" Body="&lt;p&gt;Here you can find a list of publications about error correction (information reconciliation) for QKD: &lt;a href=&quot;http://gcc.ls.fi.upm.es/en/publications.html&quot; rel=&quot;nofollow&quot;&gt;http://gcc.ls.fi.upm.es/en/publications.html&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Performance using standardized low-density parity-check codes was recently published in the following work: Key Reconciliation for High Performance Quantum Key Distribution, Scientific Reports 3, Article number: 1576&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some figures with efficiencies and parity-check matrices are also available at &lt;a href=&quot;http://www.dma.fi.upm.es/jmartinez/qkd_error_correction.html&quot; rel=&quot;nofollow&quot;&gt;http://www.dma.fi.upm.es/jmartinez/qkd_error_correction.html&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="16626" LastActivityDate="2013-06-19T06:21:14.060" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18069" PostTypeId="2" ParentId="18067" CreationDate="2013-06-19T06:32:58.167" Score="11" Body="&lt;p&gt;One such algorithm for $\#3\operatorname{SAT}$ is due to &lt;a href=&quot;http://www.itu.dk/people/konk/papers/%233-sat.pdf&quot;&gt;Kutzkov&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="679" LastEditorUserId="679" LastEditDate="2013-06-19T09:24:50.547" LastActivityDate="2013-06-19T09:24:50.547" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18071" PostTypeId="2" ParentId="18067" CreationDate="2013-06-19T07:04:04.347" Score="9" Body="&lt;p&gt;I you’re looking for natural problems, you can compute many counting problems on planar graphs in time $\exp(\sqrt n)$ because of the planar separator theorem. For example, everything that can be expressed as a valuation of the Tutte polynomial [1]. Most of these problems remain #P-hard restricted to planar graphs, see &lt;a href=&quot;http://en.wikipedia.org/wiki/Tutte_polynomial&quot;&gt;Tutte Polynomial @ Wikipedia&lt;/a&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] K. Sekine, H. Imai, S. Tani, Computing the Tutte polynomial of a graph of moderate size, Algorithms and Computation, 6th International Symposium (ISAAC ’95), Cairns, Australia, December 4–6, 1995, Lecture Notes in Computer Science 1004, Springer, 1995, pp. 224–233.&lt;/p&gt;&#xA;" OwnerUserId="5095" LastEditorUserId="5095" LastEditDate="2013-06-19T09:44:30.997" LastActivityDate="2013-06-19T09:44:30.997" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18074" PostTypeId="1" CreationDate="2013-06-19T09:52:38.173" Score="6" ViewCount="498" Body="&lt;p&gt;What options does one have for the simplification (meaning reduction in the number of states) of weighted NFA over the probability semiring? From my understanding one can determinize, and then minimize an automaton, but&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The minimal DFA can actually have more states than the original NFA&lt;/li&gt;&#xA;&lt;li&gt;Not every weighted NFA is determinizable (in fact, most of them aren't)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;My aim, however, is not necessarily to minimize an automaton, but simply reduce its complexity. So, what I'm looking for is a simplification algorithm that works directly with NFA and, while it doesn't guarantee to find the optimal solution, can simplify the automata in some cases significantly, and, presumably, has time complexity polynomial in the number of states. Are there any such algorithms known in literature?&lt;/p&gt;&#xA;" OwnerUserId="16629" LastEditorUserId="16629" LastEditDate="2013-06-19T21:51:00.143" LastActivityDate="2013-06-20T10:54:39.440" Title="Simplification of weighted NFA" Tags="&lt;fl.formal-languages&gt;&lt;automata-theory&gt;&lt;heuristics&gt;&lt;probabilistic-automata&gt;" AnswerCount="3" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18075" PostTypeId="2" ParentId="18074" CreationDate="2013-06-19T11:12:17.487" Score="1" Body="&lt;p&gt;Actually there is an algorithm for approximated determinization of a weighted NFA, by Aminoff Kupferman and Lampert, where the approximation factor can be determined beforehand (if I remember correctly).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See &lt;a href=&quot;http://www.cs.huji.ac.il/~ornak/publications/lics11a.pdf&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="7715" LastActivityDate="2013-06-19T11:12:17.487" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="18076" PostTypeId="1" CreationDate="2013-06-19T12:26:01.027" Score="5" ViewCount="168" Body="&lt;p&gt;I am looking for references whether this problem can be doable in polynomial time (or other known approximation results):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $f$ a super-additive function ($\forall x,y, f(x+y) \geq f(y)+f(y)$),&#xA;$$&#xA;\min \sum_{i=1}^n f(y_i)&#xA;$$&#xA;under the constraints&#xA;$$&#xA;Ay \geq b&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To answer to Peter Shor's comment, we are trying to find the vector $y=(y_1,\cdots,y_n)$, $A$ is a $n\times n$ matrix. We suppose that $k$ is a constant.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am particularly interested in the case where $f$ is a piecewise linear function, not continuous ($\exists (a_1,\cdots,a_k),0&amp;lt;\alpha_1&amp;lt;\cdots&amp;lt;\alpha_k) $, such that $\forall x\in ]a_i,a_{i+1}], f(x) = \alpha_{i+1}x$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It seems to me that the ellipsoid algorithm could work for those special functions, but I have not been able to find any references, maybe because either this is a sub problem of a known problem? Note that I am trying to solve this for any rational values.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Note that this is a sub-question of &lt;a href=&quot;https://cstheory.stackexchange.com/questions/6833/what-classes-of-mathematical-programs-can-be-solved-exactly-or-approximately-in&quot;&gt;What classes of mathematical programs can be solved exactly or approximately, in polynomial time?&lt;/a&gt;)&lt;/p&gt;&#xA;" OwnerUserId="4873" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2013-06-21T10:27:49.760" Title="Minimize in polynomial time a super-additive increasing function under linear constraints?" Tags="&lt;reference-request&gt;&lt;optimization&gt;" AnswerCount="1" CommentCount="14" ContentLicense="CC BY-SA 3.0" />
  <row Id="18077" PostTypeId="2" ParentId="18074" CreationDate="2013-06-19T14:04:19.823" Score="2" Body="&lt;p&gt;Mayr and Clemente have shown that it is often possible to simplify NFAs.  Their techniques rely on pruning the underlying labelled transition system via local approximations of trace inclusions.  As far as I can tell, this technique would still apply in the weighted case.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See also a &lt;a href=&quot;https://cs.stackexchange.com/q/12624/5323&quot;&gt;related question&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Richard Mayr and Lorenzo Clemente, &lt;em&gt;Advanced automata minimization&lt;/em&gt;, POPL 2013, doi:&lt;a href=&quot;http://dx.doi.org/10.1145/2429069.2429079&quot; rel=&quot;nofollow noreferrer&quot;&gt;10.1145/2429069.2429079&lt;/a&gt; (&lt;a href=&quot;http://arxiv.org/abs/1210.6624&quot; rel=&quot;nofollow noreferrer&quot;&gt;preprint&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="109" LastEditorUserId="-1" LastEditDate="2017-04-13T12:48:30.830" LastActivityDate="2013-06-19T14:04:19.823" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="18078" PostTypeId="1" CreationDate="2013-06-19T15:07:27.847" Score="1" ViewCount="85" Body="&lt;p&gt;What is the most efficient way to find a set of 5 geometrically constrained, non-collinear points within a 3D point cloud of, for example, 100 points?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;All points are expressed with respect to a single world coordinate system.&lt;/p&gt;&#xA;" OwnerUserId="16634" LastEditorUserId="16634" LastEditDate="2013-06-19T22:24:30.980" LastActivityDate="2013-06-21T21:17:46.650" Title="Locating a set of 5 geometrically constrained points within a cloud of points" Tags="&lt;cg.comp-geom&gt;" AnswerCount="1" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="18079" PostTypeId="2" ParentId="14674" CreationDate="2013-06-20T01:05:44.930" Score="9" Body="&lt;p&gt;&lt;a href=&quot;http://arxiv.org/abs/1306.4466&quot;&gt;This paper&lt;/a&gt; came up on the arXiv today and it improves on the upper bound on $bs(f)$ in terms of $s(f)$. They prove the following bound:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;bs(f) \leq 2^{s(f)-1}s(f).&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This along with the connection that Marcos mentioned in his comment should give better bounds than previously known.&lt;/p&gt;&#xA;" OwnerUserId="1542" LastEditorUserId="1542" LastEditDate="2013-06-20T01:13:10.233" LastActivityDate="2013-06-20T01:13:10.233" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18082" PostTypeId="1" CreationDate="2013-06-20T07:21:19.327" Score="1" ViewCount="1514" Body="&lt;p&gt;What is the difference between Multiple Knapsack problem and Multidimensional Knapsack Problem? (&lt;a href=&quot;http://en.wikipedia.org/wiki/List_of_knapsack_problems#Multiple_constraints&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/List_of_knapsack_problems#Multiple_constraints&lt;/a&gt;) According to the literature, Multiple Knapsack problem has integrality gap of 2, what is the integrality gap for Multidimensional Knapsack Problem ?&lt;/p&gt;&#xA;" OwnerUserId="16261" LastEditorUserId="39090" LastEditDate="2016-12-08T13:46:58.683" LastActivityDate="2016-12-09T21:29:51.690" Title="Difference between Multiple Knapsack problem and Multidimensional Knapsack Problem" Tags="&lt;approximation-algorithms&gt;&lt;linear-programming&gt;&lt;integer-programming&gt;&lt;integrality-gap&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18083" PostTypeId="1" CreationDate="2013-06-20T10:37:26.713" Score="8" ViewCount="203" Body="&lt;p&gt;I'm working on a more thorough algebraic treatment of &lt;a href=&quot;http://www.mhelvens.net/professional/publications?view=publication&amp;amp;task=show&amp;amp;id=3&quot; rel=&quot;nofollow&quot;&gt;delta modeling&lt;/a&gt;. Briefly, &lt;em&gt;deltas&lt;/em&gt; are syntactic entities that can modify &lt;em&gt;products&lt;/em&gt; (as in 'software products'). They actually represent &lt;em&gt;relations&lt;/em&gt; on products, so that they could be both partially defined and non-deterministic.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I've been looking into &lt;a href=&quot;http://en.wikipedia.org/wiki/Relation_algebra&quot; rel=&quot;nofollow&quot;&gt;relation algebras&lt;/a&gt;. For obvious reasons they seemed like a good place to start.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A relation algebra is a structure $(S, \vee, \wedge, {}^-, \bot, \top, \cdot, \epsilon, {}^\smallsmile)$ with disjunction, conjunction, negation, an empty element, a complete element, composition, a neutral element and converse. Semantically they correspond to the relation operations $(2^{P^2}, \cup, \cap, {}^{\mathsf C}, \varnothing, P^2, \circ, \mathrm{id}_P, {}^{-1})$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But this is more expressiveness than I need. If I could just remove negation $^-$ and the complete element $\top$, the operations that remain have sensible interpretations for delta modeling. Moreover, it seems that in contrast to $^-$ and $\top$, the operations that remain are in a sense 'constructive' (though I'm not sure the term is apt here), since their meaning does not depend on the description of the full set of products $P$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Has the structure $(S, \vee, \wedge, \bot, \cdot, \epsilon, {}^\smallsmile)$ been studied? Is there a complete axiomatization for it (with respect to the behavior of the corresponding relation operations)? Does it have a decidable theory?&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit:&lt;/strong&gt; I've discovered the work of Hajnal Andréka and Szabolcs Mikulás. In particular the article entitled &lt;a href=&quot;http://link.springer.com/article/10.1007/s00012-011-0142-3&quot; rel=&quot;nofollow&quot;&gt;Axiomatizability of positive algebras of binary relations&lt;/a&gt; (a PDF version can be found with Google).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This article seems to summarize some of the results I need. If I understand correctly, the exact structure I describe is not finitely axiomatizable, but it will be if I also remove either $\wedge$, $\cdot$ or ${}^\smallsmile$. Moreover, any signature without that combination, but with $\cdot$ and either $\vee$ or $\wedge$, is finitely axiomatizable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, I'm not well-versed enough yet in abstract algebra to write up a coherent answer myself. For example, I don't understand why the presence of $\vee$ or $\wedge$ is required. If I omit both, aren't we simply in monoid territory? And I also still don't know about a decidable theory.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So I would still appreciate it if someone with more experience could write up an answer, preferably one that is easier to understand for the layman than the above cited article.&lt;/p&gt;&#xA;" OwnerUserId="12644" LastEditorUserId="12644" LastEditDate="2013-06-21T19:16:14.383" LastActivityDate="2020-11-10T10:24:54.657" Title="Complete axiomatization of relation algebras without ${}^-$ and $\top$" Tags="&lt;algebra&gt;&lt;relational-structures&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18084" PostTypeId="2" ParentId="18074" CreationDate="2013-06-20T10:54:39.440" Score="3" Body="&lt;p&gt;By simplification I understand either minimization or determinization. I'll try to sum up what I know about both problems, in the quite general setting of weighted automata over arbitrary semiring. The original works were done by Marcel-Paul Schützenberger (who introduced them), and you'll find a nice account of what is known about them in the book &lt;a href=&quot;http://perso.telecom-paristech.fr/~jsaka/ETA/eta-eng.html&quot; rel=&quot;nofollow&quot;&gt;Elements of Automata Theory&lt;/a&gt; by Jacques Sakarovitch (also available in French): &#xA;For shorter explanations, check out the &lt;a href=&quot;http://perso.telecom-paristech.fr/~jsaka/ENSG/MPRI/mpri.html#CoursI&quot; rel=&quot;nofollow&quot;&gt;lecture notes&lt;/a&gt; by Jacques Sakarovitch again: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For both minimization and determinization (called &quot;sequentialization&quot;) there are nice theoretical answers. For instance, every weighted automaton over a field can be minimized in polynomial time (see for instance this &lt;a href=&quot;http://perso.telecom-paristech.fr/~jsaka/ENSG/MPRI/Files/Lectures/FLAT-L3.pdf&quot; rel=&quot;nofollow&quot;&gt;lecture note&lt;/a&gt;).&lt;/p&gt;&#xA;" OwnerUserId="8953" LastActivityDate="2013-06-20T10:54:39.440" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18085" PostTypeId="2" ParentId="18082" CreationDate="2013-06-20T17:16:49.733" Score="4" Body="&lt;p&gt;In a multiple knapsack problem you pack a set of items into several (one-dimensional) knapsacks, whereas in the multidimentional knapsack problem you pack d-dimensional items into one d-dimensional knapsack. The multiple knapsack problem $\max\{\sum_i p_i x_i \mid \sum_i w_{ij}x_i \leq d_j, j=1,2,\ldots,m\}$ is a general 0-1 integer program restricted to positive coefficients. Its integrality gap is unbounded, since it includes the maximum independent set problem whose formulation $\max\{\sum_{v\in V} x_v\mid x_u+x_v\leq 1, \{u,v\}\in E\}$ on an undirected graph $G=(V,E)$ has integrality gap $|V|/2$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can find more information on these problems in chapters 9 and 10 of  &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/3540402861&quot; rel=&quot;nofollow noreferrer&quot;&gt;Kellerer, Pferschy, and Pisinger, &quot;Knapsack problems&quot;&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="2150" LastEditorUserId="32686" LastEditDate="2016-12-09T21:29:51.690" LastActivityDate="2016-12-09T21:29:51.690" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18086" PostTypeId="1" CreationDate="2013-06-20T18:09:30.500" Score="0" ViewCount="1665" Body="&lt;p&gt;A matching in a graph is a set of edges that are pair-wise non-adjacent. IOW, each node involved in the matching appears in only one edge.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now I am wondering is there a ``generalized'' concept of matching, such that it still refers to an edge-set, and each vertex involved can appear in at most $k$ edges in this edge-set, where $k \ge 2$ is a pre-specified positive integer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If such concept does exist, what are some interesting and representative problems studied for that?&lt;/p&gt;&#xA;" OwnerUserId="16416" LastEditorUserId="16416" LastEditDate="2013-06-20T20:06:27.350" LastActivityDate="2013-06-20T20:52:36.377" Title="&quot;k-matching&quot; in graphs" Tags="&lt;matching&gt;" AnswerCount="1" CommentCount="2" ClosedDate="2013-07-12T04:59:09.993" ContentLicense="CC BY-SA 3.0" />
  <row Id="18088" PostTypeId="2" ParentId="18086" CreationDate="2013-06-20T20:52:36.377" Score="2" Body="&lt;p&gt;A short answer is &lt;a href=&quot;http://en.wikipedia.org/wiki/Graph_factorization&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/Graph_factorization&lt;/a&gt;.  A more comprehensive reference might be the classic &quot;Matching Theory&quot; by Lovasz and Plummer, which is the best on this topic.&lt;/p&gt;&#xA;" OwnerUserId="7059" LastActivityDate="2013-06-20T20:52:36.377" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18089" PostTypeId="1" AcceptedAnswerId="18145" CreationDate="2013-06-20T21:50:37.683" Score="7" ViewCount="909" Body="&lt;p&gt;I am looking for literature (survey and non-survey papers) about&#xA;transforming the k-SAT problem (or similar problems) into&#xA;a system of Ordinary Differential Equations (ODEs) and&#xA;study the solution of the k-SAT using methods from dynamical systems theory,&#xA;such as computing stable/unstable manifolds,&#xA;dynamics on strange attractors,&#xA;fixed point theory and so on.&lt;/p&gt;&#xA;&lt;hr /&gt;&#xA;&lt;h3&gt;Motivation:&lt;/h3&gt;&#xA;&lt;p&gt;I am not a computer scientist. I am a researcher working in the areas of applied dynamical systems, with focus on applying geometrical and topological methods to study chaotic phenomena. I am always looking for application of the nonlinear dynamical systems theory and I happened to come across the following paper today:&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&quot;http://arxiv.org/abs/1208.0526&quot; rel=&quot;nofollow noreferrer&quot;&gt;Optimization hardness as transient chaos in an analog approach to constraint satisfaction&lt;/a&gt; by Ercesy-Ravasz and Toroczkai, Nature Physics 2011&lt;/p&gt;&#xA;&lt;p&gt;This paper is very interesting to me, and most of the dynamical systems theory used in it is pretty standard fare these days in my community.&lt;/p&gt;&#xA;&lt;p&gt;I am looking for CS references that will help me understand the CS-part of this, mainly about solving problems like k-SAT using dynamical systems.&lt;/p&gt;&#xA;" OwnerUserId="16654" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2013-06-26T00:04:50.127" Title="Application of methods from dynamical system to the study of k-SAT and similar problems" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;sat&gt;&lt;physics&gt;" AnswerCount="2" CommentCount="3" FavoriteCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="18090" PostTypeId="2" ParentId="18076" CreationDate="2013-06-20T23:56:33.513" Score="7" Body="&lt;p&gt;The problem as presented is NP-hard. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose we have $f(y)=0, y\leq 1$ and $f(y) = y, y &amp;gt; 1$. Now if we have the constraints $y_1 + y_2 \geq 2.01$ and $y_i \geq 0$, and we want to minimize $\sum_i f(y_i)$, clearly we should choose one of these $y_i$ to be $1$ and one to be $1.01$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, suppose we have a graph $G$, and we put a constraint like this for every edge. Replace $2.01$ by $2 + \epsilon$ for a sufficiently small $\epsilon$. (You don't even need to do this, because vertex cover has an inapproximability result.) To minimize the objective function, we want to find the minimum number of vertices that hit every edge. This is the minimum vertex cover problem, and it is NP-complete. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The only reason that this isn't exactly your problem is that the matrix $A$ is not square, because the number of variables is the number of vertices in $G$, and the number of equations is the number of edges in $G$. But you can always add dummy vertices that don't participate in the equations to make $A$ square.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Possibly your real problem has more structure so that this NP-completeness proof doesn't apply. Maybe if you told us more about the real problem, it might be solvable in polynomial time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For convex $f$, this should be solvable in polynomial time ... see Chandra's comment. &lt;/p&gt;&#xA;" OwnerUserId="1677" LastEditorUserId="1677" LastEditDate="2013-06-21T10:27:49.760" LastActivityDate="2013-06-21T10:27:49.760" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18094" PostTypeId="2" ParentId="1605" CreationDate="2013-06-21T13:06:29.487" Score="-2" Body="&lt;p&gt;A simpler proof ,also constructive ,of the simpler fact that a Hamiltonian path exits in the rotation graph can be found in this latter .&lt;/p&gt;&#xA;" OwnerUserId="16661" LastActivityDate="2013-06-21T13:06:29.487" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18095" PostTypeId="1" AcceptedAnswerId="18096" CreationDate="2013-06-21T15:42:40.783" Score="3" ViewCount="1155" Body="&lt;p&gt;The exact complexity of factoring integers (the decision problem) is a major &lt;a href=&quot;http://en.wikipedia.org/wiki/Integer_factorization#Difficulty_and_complexity&quot; rel=&quot;nofollow&quot;&gt;open question&lt;/a&gt; in TCS (with important implications, especially in cryptography because of the &lt;a href=&quot;http://en.wikipedia.org/wiki/RSA_%28algorithm%29&quot; rel=&quot;nofollow&quot;&gt;RSA algorithm&lt;/a&gt;), and is widely conjectured to lie &quot;between&quot; P and NP-complete (see the &lt;a href=&quot;http://en.wikipedia.org/wiki/AKS_algorithm&quot; rel=&quot;nofollow&quot;&gt;AKS&lt;/a&gt; algorithm and &lt;a href=&quot;http://en.wikipedia.org/wiki/Shor%27s_algorithm&quot; rel=&quot;nofollow&quot;&gt;Shor's algorithm&lt;/a&gt; for two other key aspects of its significance).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Yet, there is so much diversity among the NP-complete problems, including some relating to factoring types of objects and problems in number theory.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What are some of the &quot;closest&quot; or &quot;nearest&quot; NP-complete problems to integer factoring?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Optionally, an answer might indicate why such problems are thought not to be equivalent to integer factoring under polynomial time reductions (even circumstantial evidence would be appreciated).&lt;/p&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="3964" LastEditDate="2013-06-21T16:25:12.713" LastActivityDate="2013-06-21T17:07:53.887" Title="What NP-complete problems are most similar to integer factoring?" Tags="&lt;cc.complexity-theory&gt;&lt;nt.number-theory&gt;&lt;factoring&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18096" PostTypeId="2" ParentId="18095" CreationDate="2013-06-21T17:07:53.887" Score="8" Body="&lt;p&gt;The textbook of &lt;a href=&quot;http://www.math.sc.edu/~cooper/math778C/abct.pdf&quot;&gt;Computational Complexity: Modern Approach&lt;/a&gt;, by Arora and Barak gives such example: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;They define the decision problem Integer Factoring on input of three positive integers,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\text{Integer Factoring} = \{\langle L, U, N \rangle \;|\; (\exists \text{ a prime } p \in \{L, \ldots, U\})[p | N]\}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;They state that Alon and Kilian showed that if integer $p$ is not required to be prime number then the problem becomes $NP$-complete.&lt;/p&gt;&#xA;" OwnerUserId="495" LastActivityDate="2013-06-21T17:07:53.887" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="18097" PostTypeId="1" CreationDate="2013-06-21T17:25:59.547" Score="3" ViewCount="1918" Body="&lt;p&gt;Could anybody suggest practically important distances that are significantly non-metric and are not Bregman divergences? For instance, they are non-symmetric and not equivalent to the Euclidean distance.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks!&lt;/p&gt;&#xA;" OwnerUserId="16664" LastActivityDate="2013-06-24T07:08:31.463" Title="Non-metric distances" Tags="&lt;metric-spaces&gt;" AnswerCount="1" CommentCount="8" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18098" PostTypeId="1" AcceptedAnswerId="18099" CreationDate="2013-06-21T18:35:05.413" Score="1" ViewCount="149" Body="&lt;p&gt;Morgenstern proves a $\Omega(n\log n)$ lower bound for Fourier transform in the bounded coefficient model.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $x=[x_1,x_2,\ldots,x_n]'$ be given vector and $F$ be Fourier transform matrix.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is not known if $F(x)$ needs $n\log n$ operations in the unbounded coefficient model when $x_i$'s are treated generically as variables.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Supposing each $x_i$ is an integer bounded by $2^b$, can one show computing $F(x)$ still needs $n\log n$ arithmetic operations in the unbounded coefficient model?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Added:&#xA;The reason I posted was a few fold. Some questions in the bounded integer $x_i$ model are:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) We cannot use bit level manipulation on variables $x_i$. However we can do bit level operations on integers $x_i$. Are bit level operations considered valid arithmetic operations when counting the $\Omega(n\log n)$ arithmetic operation?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) Does one multiplication operation on a word that scales as $O(n)$ bits still count as $1$ arithmetic operation?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;3) Is division a valid arithmetic operation?&lt;/p&gt;&#xA;" OwnerUserId="1812" LastEditorUserId="186" LastEditDate="2013-06-22T21:44:52.950" LastActivityDate="2013-06-22T21:44:52.950" Title="Morgenstern's Theorem" Tags="&lt;algebraic-complexity&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18099" PostTypeId="2" ParentId="18098" CreationDate="2013-06-21T18:45:13.270" Score="4" Body="&lt;p&gt;Of course if you show a lower bound of $\Omega(n \log n)$ for your question, it would imply the same lower bound for the unrestricted model, which is not known.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, you are asking whether it is possible to compute the Fourier transform where each $x_i$ is known within $b$ bits of precision using $\ll n \log n$ arithmetic operations. If true, by the fact that the Fourier transform is a unitary operation (and thus, perfectly conditioned), we would be able to compute Fourier transform of &lt;em&gt;any&lt;/em&gt; vector within $b$ bits of precision much faster than FFT, which is certainly not known either.&lt;/p&gt;&#xA;" OwnerUserId="6190" LastActivityDate="2013-06-21T18:45:13.270" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="18100" PostTypeId="2" ParentId="189" CreationDate="2013-06-21T20:28:37.217" Score="1" Body="&lt;p&gt;Hook and shortcut from:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;AN EFFICIENT PARALLEL BICONNECTIVITY ALGORITHM&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Tarjan and Vishkin&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.umiacs.umd.edu/users/vishkin/TEACHING/ENEE759KS12/TV85.pdf&quot; rel=&quot;nofollow&quot;&gt;http://www.umiacs.umd.edu/users/vishkin/TEACHING/ENEE759KS12/TV85.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This Ruby implementation returns the partitions of a transformation where elements x,y interact with each other.&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;def partitions(trans)&#xA;  parent =Array.new()&#xA;  0.upto(trans.length-1) do |index|&#xA;    parent.push(index)&#xA;  end&#xA;  0.upto(trans.length-1) do |outer_index|&#xA;    0.upto(trans.length-1) do |index|&#xA;      #shortcut&#xA;      parent[index] = parent[parent[index]]&#xA;    end&#xA;    0.upto(trans.length-1) do |index|&#xA;      #hook&#xA;      if (parent[trans[index]] &amp;lt; parent[parent[index]])&#xA;        parent[parent[index]] = parent[trans[index]]&#xA;      end&#xA;      if (parent[index] &amp;lt; parent[parent[trans[index]]])&#xA;        parent[parent[trans[index]]] = parent[index]&#xA;      end&#xA;    end&#xA;  end&#xA;  return parent&#xA;end&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;" OwnerUserId="2021" LastActivityDate="2013-06-21T20:28:37.217" CommentCount="0" CommunityOwnedDate="2013-06-21T20:28:37.217" ContentLicense="CC BY-SA 3.0" />
  <row Id="18101" PostTypeId="2" ParentId="18078" CreationDate="2013-06-21T21:17:46.650" Score="-1" Body="&lt;p&gt;Upper bound:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Make three sorted lists of point pointers, one for each dimension O(nlogn)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Pick a point in your reference template to be the &quot;origin&quot; and make 4 vectors to the other points O(1)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For each vector&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Scan the list of all points to see if a sister point exists at this vector, if not throw it out as not an origin candidate.  O(n)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you allow rotations you are probably going to have to throw it in a quadtree and do some range queries; but after the first few are matched to the template it will be oriented allowing you to go back to vector lookups.&lt;/p&gt;&#xA;" OwnerUserId="2021" LastActivityDate="2013-06-21T21:17:46.650" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="18102" PostTypeId="1" CreationDate="2013-06-21T22:40:12.030" Score="9" ViewCount="199" Body="&lt;p&gt;Is the evaluation problem for &lt;span class=&quot;math-container&quot;&gt;$\mathsf{AC}^0_d$&lt;/span&gt; circuits in &lt;span class=&quot;math-container&quot;&gt;$\mathsf{AC}^0_{d+1}$&lt;/span&gt;? What is the least depth &lt;span class=&quot;math-container&quot;&gt;$k(d)$&lt;/span&gt; such that the evaluation of an &lt;span class=&quot;math-container&quot;&gt;$\mathsf{AC}^0_d$&lt;/span&gt; circuits can be computed in &lt;span class=&quot;math-container&quot;&gt;$\mathsf{AC}^0_{k(d)}$&lt;/span&gt;?&lt;/p&gt;&#xA;&lt;p&gt;How about the evaluation problem for &lt;span class=&quot;math-container&quot;&gt;$\mathsf{TC}^0_d$&lt;/span&gt; circuits?&lt;/p&gt;&#xA;&lt;p&gt;By evaluation problem for a complexity class &lt;span class=&quot;math-container&quot;&gt;$C$&lt;/span&gt; I mean the following promise problem:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Given a circuit &lt;span class=&quot;math-container&quot;&gt;$c\in C$&lt;/span&gt; and an input &lt;span class=&quot;math-container&quot;&gt;$x$&lt;/span&gt; for &lt;span class=&quot;math-container&quot;&gt;$c$&lt;/span&gt;,&lt;br /&gt;&#xA;Output the value of &lt;span class=&quot;math-container&quot;&gt;$c(x)$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;h3&gt;Clarification&lt;/h3&gt;&#xA;&lt;p&gt;I don't need any particular input format, I can change other parts to use a similar encoding of circuits. So as long as the encoding is something reasonable it is good for me. By reasonable I mean it should be easy to do simple manipulations of circuits, e.g. given the code for two circuits it should be easy to determine the number of nodes in the circuits, given a circuit and &lt;span class=&quot;math-container&quot;&gt;$i$&lt;/span&gt; determine the type of gate &lt;span class=&quot;math-container&quot;&gt;$i$&lt;/span&gt; and its parents, etc.&lt;/p&gt;&#xA;&lt;p&gt;For example, any of the following would work for me:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;circuit is encoded as the adjacency matrix of the connection graphs where gates are numbered from &lt;span class=&quot;math-container&quot;&gt;$1$&lt;/span&gt; to &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt;, there is no wire from &lt;span class=&quot;math-container&quot;&gt;$g_i$&lt;/span&gt; to &lt;span class=&quot;math-container&quot;&gt;$g_j$&lt;/span&gt; then &lt;span class=&quot;math-container&quot;&gt;$i&amp;gt;j$&lt;/span&gt;, and the list of gate types. You can also assume that the number of gates and the size of the input are also provided (in unary).&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;the direct connection language of the circuit (which is used in the definition of &lt;span class=&quot;math-container&quot;&gt;$\mathsf{DLogTime}$&lt;/span&gt;-uniformity of circuits),&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;the extended connection language of the circuit (which is used in the definition of &lt;span class=&quot;math-container&quot;&gt;$\mathsf{DLogTime}$&lt;/span&gt;-uniformity for &lt;span class=&quot;math-container&quot;&gt;$\mathsf{NC^1}$&lt;/span&gt;).&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="186" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2013-07-05T08:24:13.910" Title="Evaluation of bounded-depth circuits" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;circuit-complexity&gt;&lt;bounded-depth&gt;" AnswerCount="0" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18103" PostTypeId="2" ParentId="14999" CreationDate="2013-06-21T22:41:47.420" Score="8" Body="&lt;p&gt;Golden ration in the base: A very recent FPT algorithm by Kociumaka and Pilipczuk, &lt;a href=&quot;http://arxiv.org/abs/1306.3566&quot;&gt;Faster deterministic Feedback Vertex Set&lt;/a&gt; computes a FVS of size $k$ in $O^*\left((2 + \phi)^k\right)$ time. (They then improves their algorithm to run in time $O^*(3.592^k)$.)&lt;/p&gt;&#xA;" OwnerUserId="6706" LastActivityDate="2013-06-21T22:41:47.420" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18106" PostTypeId="1" AcceptedAnswerId="18109" CreationDate="2013-06-22T14:45:20.363" Score="4" ViewCount="370" Body="&lt;p&gt;So considering a Monad to be a Triple (T:C -&gt; C, η, µ) with eta and mu as the Natural transformations with appropriate signatures, isn't this in essence an F-Algebra?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My thinking is that being both (Monad and F-Alg) centered around some particular action(s) on|of a given Endofunctor, what stops Monads NOT just being special cases of F-Algebra's? (Also for some context I've been reading a bit of Homotopy theory &amp;amp; Bart Jacobs so I like could just be you know not seeing clearly and making connections where there are none...) I'm seeing a Monad as an F-Algebra of some Monoidal category or Quasicategory with the action of the Endofunctor or alternatively the operations definable on the Algebra of the Endofunctor as the particular semantics of that F-Algebra (e.g. what makes a Monad the State Monad or the Identity Monad or what have you instead...)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Examples, Proofs etc. in Scala or Haskell are good, but I might need clarification if it's in Haskell.&lt;/p&gt;&#xA;" OwnerUserId="13712" LastEditorUserId="270" LastEditDate="2013-06-25T14:01:20.087" LastActivityDate="2013-06-25T14:01:20.087" Title="Aren't Monads F-Algebra's? And then if that could be said are Comonad's F-Coalgebra's?" Tags="&lt;pl.programming-languages&gt;&lt;haskell&gt;&lt;monad&gt;&lt;comonad&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18107" PostTypeId="2" ParentId="18089" CreationDate="2013-06-22T16:13:31.070" Score="2" Body="&lt;p&gt;The article, &lt;a href=&quot;http://www.nature.com/srep/2012/121011/srep00725/full/srep00725.html&quot; rel=&quot;nofollow&quot;&gt;The Chaos Within Sudoku&lt;/a&gt; is published (11 October 2012) in Nature by the same authors you site in your question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An excerpt from the abstract:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Via an exact mapping of Sudoku into a deterministic, continuous-time dynamical system, here we show that the difficulty of Sudoku translates into transient chaotic behavior exhibited by this system. We also show that the escape rate κ, an invariant of transient chaos, provides a scalar measure of the puzzle's hardness that correlates well with human difficulty ratings. &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2013-06-22T16:19:50.817" LastActivityDate="2013-06-22T16:19:50.817" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18108" PostTypeId="1" CreationDate="2013-06-22T18:40:58.653" Score="4" ViewCount="995" Body="&lt;p&gt;What is the current best bound for the following problem in DAG: &quot;For any pair of vertices in a given graph G, return all the LCAs of the same&quot;?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit:&lt;/strong&gt; I am working on all-pair reachability problem in DAG and I strongly feel that I can achieve O(mn) time for the problem stated above by extending my approach. I have searched the internet enough to find the current best algorithm for this problem but all I can find is the solution to this problem: &quot;For any pair of vertices in a given graph G, return one LCA for the same&quot;. And this problem is trivial and easy. And you don't need to google it for me! And read the problem correctly, it has more content than simply &quot;lca&quot; and &quot;dag&quot;! So, can someone please tell me now about the current best algorithm for the problem stated.&lt;/p&gt;&#xA;" OwnerUserId="16681" LastEditorUserId="16681" LastEditDate="2013-06-26T23:49:10.350" LastActivityDate="2013-06-26T23:49:10.350" Title="Lowest Common Ancestor Problem in Directed Acyclic Graphs" Tags="&lt;randomized-algorithms&gt;&lt;directed-acyclic-graph&gt;" AnswerCount="0" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="18109" PostTypeId="2" ParentId="18106" CreationDate="2013-06-22T19:41:38.500" Score="5" Body="&lt;p&gt;The paper with a rather suggestive title &quot;&lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S1571066104809058&quot;&gt;Algebras, Coalgebras, Monads and Comonads&lt;/a&gt;&quot; (2001)&#xA;by Neil Ghani, Christoph Lüth, Federico De Marchi, John Power addresses this topic. &lt;/p&gt;&#xA;" OwnerUserId="77" LastActivityDate="2013-06-22T19:41:38.500" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="18110" PostTypeId="1" CreationDate="2013-06-23T01:46:19.120" Score="5" ViewCount="226" Body="&lt;p&gt;The Switching Lemma is the one of the classic and most basic tools to prove concrete circuit lower bounds. We will only consider AC$^{0}$ circuits.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The Switching Lemma claims that we can get a shallow circuit by restricting most input wires at random. More precisely,&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Lemma&lt;/strong&gt; (Håstad’s switching lemma)&#xA;  Suppose $f$ is expressible as a $k$-DNF, and let $\rho$ denote a random restriction that assigns random&#xA;  values to $t$ randomly selected input bits. Then for every $s$,&#xA;  $$Pr[f|\rho \text{ is not expressible as $s$-CNF} ]\leq (\frac{(n − t)k^{10}}{n})^{s/2}$$&#xA;  where $f|\rho$ denotes the function f restricted to the partial assignment.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;My  question is about the reason why this lemma is NOT applicable to derive &lt;em&gt;finer lower bounds&lt;/em&gt; of constant depth $d$ circuit complexity. For example, the PARITY function has a bound of $2^{\Omega (n^{1/(d-1)})}$.  Why do we fail to obtain  bounds such as $2^{\Omega (n^{1/(\sqrt{d})})}$,$2^{\Omega (n^{1/(\log{d})})}$, or stronger $2^{\frac{n}{\text{polylog}(n)}}$ for some boolean function?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It seems that the number of remaining so called &lt;em&gt;star variables&lt;/em&gt;, which are not be fixed by restrictions, is too small to be considered as &quot;an input size&quot;.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Let $F(s(n),C)$ be the Maximum number of &lt;em&gt;star variables&lt;/em&gt; to reduce a circuit with depth $d$ and size $s(n)$ and $n$ input wires to a depth-$2$ circuit, that is, DNF or CNF. Let $F(s(n))=\min_{C} F(s(n),C)$. What are upper bounds and lower bounds as tight as we can at this moment for the following concrete $s(n)$s?&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;$s(n)=F(2^{Cn^{1/(\sqrt{d})}})$ or $F(2^{Cn^{1/(\log{d})}})$ or $F(2^{\frac{n}{\text{polylog}(n)}})$&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="16680" LastEditorUserId="109" LastEditDate="2013-06-23T08:27:02.720" LastActivityDate="2013-06-23T14:59:31.893" Title="Inherent limitation of Switching Lemma for finer lower bounds" Tags="&lt;cc.complexity-theory&gt;&lt;co.combinatorics&gt;&lt;circuit-complexity&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="18111" PostTypeId="2" ParentId="18110" CreationDate="2013-06-23T03:01:58.603" Score="6" Body="&lt;p&gt;I think you can't beat the $\exp(n^{\Omega(1/d-1)})$ lower bound. Here's a construction that should work for computing parities:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In order to compute parity of $n$ variables, partition them into groups of size $t \approx n^{1/d}$, compute parity of each group and recursively compute the parity of parities. That is, start with a parity tree of fan-out $t$. The depth of this tree would be $d$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then, replace each parity gate with a CNF or DNF or size $\approx \exp(t)$. This way you get a circuit of depth $2d$. It is possible to alternate between CNFs and DNFs at different levels so the circuit collapses to depth $d$. This way you get a depth $d$ circuit of size $\approx \exp(n^{1/d})$ that computes the parity of $n$ bits.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, since switching lemma is tight for the parity function, you shouldn't hope to get a better lower bound for more sophisticated functions just relying on that.&lt;/p&gt;&#xA;" OwnerUserId="6190" LastEditorUserId="6190" LastEditDate="2013-06-23T14:59:31.893" LastActivityDate="2013-06-23T14:59:31.893" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18113" PostTypeId="1" AcceptedAnswerId="18118" CreationDate="2013-06-23T06:02:59.447" Score="2" ViewCount="727" Body="&lt;p&gt;My graphs has following restriction: undirected, connected, simple, unweighted,&#xA;and maximum degree of any vertex is 8. These are actually molecular graphs. Almost always maximum degree will be 4 but in some cases I have seen it to be 5 or 6, so I am keeping the limit as 8.Usually I will have around 100 vertices.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I want to compute for each verticex $v$, the number of vertices at distance $i$ from $v$. I found several reference to algorithm for all-pair-shortest-path problem of Floyd-Warshall type. However, i do not need the exact paths, and not even the distances.  These algorithms, can solve my problem, but they do more than what I want. For me time is very critical ( computation over millions molecules), so I want an algorithm which is optimal for above restrictions possibly at the cost of not being generalizable. Solution should be exact and deterministic. I would worry not just about the order of complexity but also of the constants.&lt;/p&gt;&#xA;" OwnerUserId="10456" LastActivityDate="2013-06-23T14:29:13.293" Title="Number of vertices at distance $k$ for each vertex of restricted sparse graph" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;" AnswerCount="1" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="18115" PostTypeId="1" CreationDate="2013-06-23T09:15:36.667" Score="4" ViewCount="1105" Body="&lt;p&gt;I am trying to write an algorithm to find a path (not the shortest one) between a given start and end point.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An user will enter the start location, the end location and the available time to travel. For each edge of my graph I know the cost in time to traverse that edge and the gain in points of interest along that edge. I want to find the path witch maximises the gain in points of interest and falls within the given time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Until now I only found references to A Star routing algorithm or optimisations to it witch only compute the shortest path.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Could you please give me some hints on what algorithm should I use or some references to solutions of similar problems? This algorithm is an important part of my Dissertation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thank you,&lt;br&gt;&#xA;Radu-Stefan&lt;/p&gt;&#xA;" OwnerUserId="16683" LastEditorUserId="16683" LastEditDate="2013-06-23T09:34:43.293" LastActivityDate="2013-09-01T16:17:04.777" Title="Path finding algorithm to maximise points of interest along the route" Tags="&lt;graph-algorithms&gt;&lt;shortest-path&gt;" AnswerCount="0" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="18118" PostTypeId="2" ParentId="18113" CreationDate="2013-06-23T13:33:51.593" Score="6" Body="&lt;p&gt;Thank you for the interesting question!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First, let's consider the easy part.  Given that you want the distances from every vertex for all distances, you are asking for all-pairs shortest paths.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Therefore you need to find $|V|(|V|-1)/2$ distances between pairs of vertices, and you cannot do better than essentially $c|V|^2/2$ steps for some small constant $c$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Your restriction to low bounded degree $d$ implies that $|E| \le d|V|/2$.  For $d\le 8$ this means $|E| \le 4|V|$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As Shir points out in a comment, running BFS starting from each vertex therefore takes at most $C(|V|+|E|)|V| \le C(|V| + 4|V|)|V| = 5C|V|^2$ steps for some small constant $C$.  The actual running time will probably be less, since your $d\le 8$ is an upper bound; depending on the graph the multiplier may be closer to the average degree.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So the solution will have an unavoidable $|V|^2$ factor, multiplied by a constant between $c/2$ and $(1+(d/2))C$.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;That is as far as a purely asymptotic analysis goes.&#xA;However, you indicate you need to do this millions of times (presumably for different graphs), so even a small improvement is likely to be worthwhile, and that it would be worth improving the constants.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assuming that $c$ and $C$ are similar, the question is then whether it is possible to reduce the multiplier from the $(d/2)+1$ upper bound (which seems to be around $3$ in your setting), to get it closer to the optimal $1/2$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Depending on the structure of the graph, a modified BFS may give a lot of information about intermediate shortest paths.  If you start a BFS at $u$, then see vertex $v$ in the search at distance $d$, then see vertex $w$ at distance $d+e$ in the subtree rooted at $v$, you can conclude that $d(u,w)=d+e$ and $d(u,v)=d$, but &lt;em&gt;also&lt;/em&gt; that $d(v,w)=e$.  In short, one can extract some of the entries $d(v,w)$ in the distance matrix (where $v$ and $w$ are different from $u$) from the shortest path tree rooted at $u$.  This seems to be essentially the idea of &lt;a href=&quot;https://stackoverflow.com/a/5851221&quot;&gt;this SO answer to a related question&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Whether the cost of extracting additional information out of the shortest path trees is worth the cost depends on the structure of your graphs.  For this to be worthwhile, it should allow a lot of information to be extracted from the first few BFS searches, so that many of the later vertices from which a BFS would be started already have their entries in the distance matrix filled in and can be skipped.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The following question then seems interesting:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;How should a &quot;good&quot; set of starting vertices be chosen?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;With &quot;good&quot; I mean a small set $U$ of vertices so that after modified BFS has been run with each $u\in U$ as the starting vertex, then all (or nearly all) of the remaining vertices all have their shortest path vectors fully computed.  Examining some low-degree graphs this seems to be an interesting idea: for a path, either endpoint allows a single BFS to compute all the distance vectors; for a cycle, taking two vertices far apart works.  For trees, a single BFS starting from an internal vertex $u$ can be used to derive the distance matrix, since if $d(v,w)$ is not known at the end of the BFS, then $v$ and $w$ must be descended from different children of $u$, and then $d(v,w) = d(v,u)+d(u,w)$ which are both known.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The Nash-Williams decomposition of a graph into edge-disjoint forests might then be relevant.  The &lt;a href=&quot;http://en.wikipedia.org/wiki/Arboricity&quot; rel=&quot;nofollow noreferrer&quot;&gt;arboricity&lt;/a&gt; of a graph with maximum degree $8$ seems to be at most $4$ (I might be wrong here; however, David Eppstein confirms that arboricity of bounded degree graphs is bounded).  So it might be possible to &lt;em&gt;find a small number of vertices from which BFS search trees yield all relevant shortest path information&lt;/em&gt;, i.e. so that the distance matrix can always be computed using these trees, and so that the edges of the BFS search trees cover the graph.  I do not know how large &quot;small&quot; is in this statement, or even if it can always be made to be $4$.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;David Eppstein, &lt;em&gt;Arboricity and bipartite listing algorithms&lt;/em&gt;, IPL &lt;strong&gt;51&lt;/strong&gt;, 207–211, 1994.  doi:&lt;a href=&quot;http://dx.doi.org/10.1016/0020-0190%2894%2990121-X&quot; rel=&quot;nofollow noreferrer&quot;&gt;10.1016/0020-0190(94)90121-X&lt;/a&gt; (&lt;a href=&quot;http://www.ics.uci.edu/~eppstein/pubs/Epp-TR-94-11.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;preprint&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I didn't find anything solving this particular version of the problem when searching, but expect it has been thought about already.&#xA;There is a recent paper which uses a distributed Nash-Williams decomposition to obtain maximal independent sets.&#xA;Perhaps someone else has a pointer to a more directly relevant paper.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Leonid Barenboim and Michael Elkin, &lt;em&gt;Sublogarithmic Distributed MIS Algorithm for Sparse Graphs using Nash-Williams Decomposition&lt;/em&gt;, Distributed Computing &lt;strong&gt;22&lt;/strong&gt;, 363–379, 2010.  doi:&lt;a href=&quot;http://dx.doi.org/10.1007/s00446-009-0088-2&quot; rel=&quot;nofollow noreferrer&quot;&gt;10.1007/s00446-009-0088-2&lt;/a&gt; (&lt;a href=&quot;http://www.cs.bgu.ac.il/~elkinm/arb_mis.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;preprint&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="109" LastEditorUserId="-1" LastEditDate="2017-05-23T11:33:33.907" LastActivityDate="2013-06-23T14:29:13.293" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18119" PostTypeId="1" AcceptedAnswerId="18123" CreationDate="2013-06-23T14:31:01.313" Score="12" ViewCount="7600" Body="&lt;p&gt;This is an interesting question I have found on the web. Given an array containing n numbers (with no information about them), we should pre-process the array in linear time so that we can return the k smallest elements in O(k) time, when we are given a number 1 &amp;lt;= k &amp;lt;= n&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have been discussing this problem with some friends but no one could find a solution; any help would be appreciated!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;quick notes:&#xA;-the order of the k smallest elements is not important&#xA;-the elements in the array are number , might be integers and might be not (so no radix sort)&#xA;-the number k is not know in the pre-processing stage.the preprocessing is O(n) time. the function ( find k smallest elements) on O(k) time .&lt;/p&gt;&#xA;" OwnerUserId="16687" LastEditorUserId="16687" LastEditDate="2013-06-23T15:02:29.733" LastActivityDate="2019-05-19T13:35:09.520" Title="finding smallest k elements in array in O(k)" Tags="&lt;sorting&gt;" AnswerCount="4" CommentCount="9" FavoriteCount="11" ContentLicense="CC BY-SA 3.0" />
  <row Id="18120" PostTypeId="2" ParentId="18119" CreationDate="2013-06-23T14:59:01.970" Score="14" Body="&lt;p&gt;Assume for simplicity that $n = 2^m$. Use the linear time selection algorithm to find the elements at positions $2^{m-1},2^{m-2},2^{m-3},\ldots,1$; this takes linear time. Given $k$, find $t$ such that $2^{t-1} \leq k \leq 2^t$; note that $2^t \leq 2k$. Filter out all elements of rank at most $2^t$, and now use the linear time selection algorithm to find the element at position $k$ in time $O(2^t) = O(k)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Clarification:&lt;/strong&gt; It might seem that the preprocessing takes time $\Theta(n\log n)$, and that is indeed the case if you're not careful. Here is how to do the preprocessing in linear time:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;while n &amp;gt; 0:&#xA;  find the (lower) median m of A[0..n-1]&#xA;  partition A in-place so that A[n/2-1] = m&#xA;  n = n/2&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;The in-place partitioning is done like in quicksort. The running time is linear in $n + n/2 + n/4 + \cdots + 1 &amp;lt; 2n$, and so linear. In the end, the array $A$ satisfies the following property: for each $k$, $A[0..n/2^k-1]$ consists of the $n/2^k$ smallest elements.&lt;/p&gt;&#xA;" OwnerUserId="40" LastEditorUserId="40" LastEditDate="2013-06-23T20:36:30.320" LastActivityDate="2013-06-23T20:36:30.320" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="18122" PostTypeId="2" ParentId="18119" CreationDate="2013-06-23T18:33:40.033" Score="0" Body="&lt;p&gt;Use linear time selection to find the $k$th largest element, then do a partition step from quicksort using the $k$th largest element as the pivot.&lt;/p&gt;&#xA;" OwnerUserId="43" LastActivityDate="2013-06-23T18:33:40.033" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="18123" PostTypeId="2" ParentId="18119" CreationDate="2013-06-23T19:53:29.210" Score="24" Body="&lt;h2&gt;Preprocess the array of $n$ values in time $O(n)$:&lt;/h2&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$i\leftarrow n$&lt;/li&gt;&#xA;&lt;li&gt;while $i&amp;gt;2$&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Compute the median $m$ of $A[1..i]$ in time $O(i)$&lt;/li&gt;&#xA;&lt;li&gt;partition $A[1..i]$ into $A[1..i/2-1] \leq m$ and $A[i/2+1..i]\geq m$ in the same time.&lt;/li&gt;&#xA;&lt;li&gt;$i \leftarrow \lfloor i/2 \rfloor$&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The total precomputation time is within $O(1+2+4+...+n)\subseteq O(n)$&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Answer a query for the $k$ smallest elements in $A$ in time $O(k)$:&lt;/h2&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$l\leftarrow \lfloor \log_2 k \rfloor$&lt;/li&gt;&#xA;&lt;li&gt;select the $(k-2^l)$th element $x$ of $A[2^l..2^{l+1}]$ in time $O(2^l)\subseteq O(k)$&lt;/li&gt;&#xA;&lt;li&gt;partition $A[2^l..2^{l+1}]$ by $x$ in the same time&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;$A[1..k]$ contains the $k$ smallest elements.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;References:&lt;/h2&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;In 1999, &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.2.9432&quot;&gt;Dor and Zwick&lt;/a&gt; gave an algorithm to compute the median of $n$ elements in time within $2.942 n + o(n)$ comparisons, which yields an algorithm to select the $k$th element from $n$ unordered elements in less than $6n$ comparisons.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="191" LastEditorUserId="191" LastEditDate="2013-06-24T12:22:00.557" LastActivityDate="2013-06-24T12:22:00.557" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="18126" PostTypeId="2" ParentId="18097" CreationDate="2013-06-24T07:08:31.463" Score="6" Body="&lt;p&gt;For a really thorough listing of various distances, metric or not, that are in use, I recommend &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/3642309577&quot;&gt;Encyclopedia of Distances&lt;/a&gt; by Deza and Deza. (It is also available electronically from Springer.) For a really simple example of a family of non-metric distances, you can simply let $p$ be less than 1 for an &lt;a href=&quot;https://en.wikipedia.org/wiki/Lp_space&quot;&gt;$L_p$ distance&lt;/a&gt;, for example. For a family that is in heavy, actual use, you could look into various forms of &lt;a href=&quot;http://en.wikipedia.org/wiki/Damerau%E2%80%93Levenshtein_distance&quot;&gt;weighted edit distance&lt;/a&gt;. There's also the cosine measure, Jeffrey divergence, partial Hausdorff distance, dynamic time warping distance, and domain-dependent distances such as the COSIMIR model, all discussed in &lt;a href=&quot;http://siret.ms.mff.cuni.cz/skopal/pub/TODSpreprint.pdf&quot;&gt;Skopal's paper on indexing non-metric distances&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="901" LastActivityDate="2013-06-24T07:08:31.463" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="18129" PostTypeId="1" AcceptedAnswerId="18152" CreationDate="2013-06-24T14:17:50.367" Score="10" ViewCount="594" Body="&lt;p&gt;Is there a natural class $C$ of CNF formulas - preferably one that has previously been studied in the literature - with the following properties:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$C$ is an easy case of SAT, like e.g. Horn or 2-CNF, i.e., membership in $C$ can be tested in polynomial time, and formulas $F\in C$ can be tested for satisfiability in polynomial time. &lt;/li&gt;&#xA;&lt;li&gt;Unsatisfiable formulas $F\in C$ are not known to have short (polynomial size) tree-like resolution refutations. Even better would be: there are unsatisfiable formulas in $C$ for which a super-polynomial lower bound for tree-like resolution is known. &lt;/li&gt;&#xA;&lt;li&gt;On the other hand, unsatisfiable formulas in $C$ are known to have short proofs in some stronger proof system, e.g. in dag-like resolution or some even stronger system. &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;$C$ should not be too sparse, i.e., contain many formulas with $n$ variables, for every (or at least for most values of) $n\in \mathbb{N}$. It should also be non-trivial, in the sense of containing satisfiable as well as unsatisfiable formulas.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The following approach to solving an arbitrary CNF formula $F$ should be meaningful: find a partial assignment $\alpha$ s.t. the residual formula $F\alpha$ is in $C$, and then apply the polynomial time algorithm for formulas in $C$ to $F\alpha$. Therefore I would like other answers besides the &lt;em&gt;all-different constraints&lt;/em&gt; from the currently accepted answer, as I think it is rare that an arbitrary formula will become an all-different constraint after applying a restriction. &lt;/p&gt;&#xA;" OwnerUserId="6579" LastEditorUserId="6579" LastEditDate="2014-06-04T13:03:40.340" LastActivityDate="2015-01-23T17:15:36.633" Title="An easy case of SAT that is not easy for tree resolution" Tags="&lt;sat&gt;&lt;proof-complexity&gt;" AnswerCount="4" CommentCount="9" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="18131" PostTypeId="2" ParentId="17990" CreationDate="2013-06-24T15:39:00.337" Score="1" Body="&lt;p&gt;I am still unclear about the precise objective you want to optimise over, but you could look at&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Peter Brucker,&#xA;Andreas Drexl,&#xA;Rolf Möhring,&#xA;Klaus Neumann, and&#xA;Erwin Pesch,&#xA;&lt;em&gt;Resource-constrained project scheduling: Notation, classification, models, and methods&lt;/em&gt;,&#xA;European Journal of Operational Research&#xA;&lt;strong&gt;112&lt;/strong&gt;&#xA;3–41,&#xA;1999.&#xA;doi:&lt;a href=&quot;http://dx.doi.org/10.1016/S0377-2217%2898%2900204-5&quot; rel=&quot;nofollow&quot;&gt;10.1016/S0377-2217(98)00204-5&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;for a comprehensive interdisciplinary overview of related terminology for many such problems.  These kinds of problems are studied in operational research, management science, computer science, and statistics.  There is an extensive literature about nearly every kind of such problem, but it can be hard to find the right terms and to translate between the different styles of exposition.  Good luck!&lt;/p&gt;&#xA;" OwnerUserId="109" LastActivityDate="2013-06-24T15:39:00.337" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18133" PostTypeId="2" ParentId="34" CreationDate="2013-06-24T17:06:16.723" Score="12" Body="&lt;p&gt;Romeo Rizzi and Stéphane Vialette prove that recognizing square strings is NP-complete in their 2013 paper &quot;&lt;a href=&quot;http://link.springer.com/chapter/10.1007%2F978-3-642-38536-0_21&quot; rel=&quot;nofollow noreferrer&quot;&gt;On Recognizing Words That Are Squares for the Shuffle Product&lt;/a&gt;&quot;, by reduction from the longest binary subsequence problem.  They state that the complexity of unshuffling a binary strings is still open.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;An even simpler proof that finding non-nested perfect matching is NP-complete is given by Shuai Cheng Li and Ming Li in their 2009 paper &quot;&lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0304397509001856&quot; rel=&quot;nofollow noreferrer&quot;&gt;On two open problems of 2-interval patterns&lt;/a&gt;&quot;.  However, they use terminology inherited from bioinformatics.  Instead of &quot;perfect non-nested matching&quot;, they call it the &quot;DIS-2-IP-&lt;span class=&quot;math-container&quot;&gt;$\{&amp;lt;, \between\}$&lt;/span&gt; problem&quot;.  The equivalence between the two problems is described by &lt;a href=&quot;http://books.google.com/books?id=1sIkPPUPNMcC&amp;amp;pg=PA311&amp;amp;lpg=PA311&amp;amp;dq=New+results+for+the+2-interval+pattern+problem,&amp;amp;source=bl&amp;amp;ots=VAi76WapuC&amp;amp;sig=qqCCmcy7TAm_L8tu-Mi-21jkL_Q&amp;amp;hl=en&amp;amp;sa=X&amp;amp;ei=BBLJUZfKIoHc8ATmhoCgAQ&amp;amp;ved=0CEwQ6AEwBQ#v=onepage&amp;amp;q=New%20results%20for%20the%202-interval%20pattern%20problem%2C&amp;amp;f=false&quot; rel=&quot;nofollow noreferrer&quot;&gt;Blin, Fertin, and Vialette&lt;/a&gt;:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;The 2-IP-DIS-&lt;span class=&quot;math-container&quot;&gt;$\{&amp;lt;, \between\}$&lt;/span&gt; problem has an immediate formulation in terms of constrained matchings in general graphs: Given a graph &lt;span class=&quot;math-container&quot;&gt;$G$&lt;/span&gt; together with a linear ordering &lt;span class=&quot;math-container&quot;&gt;$\pi$&lt;/span&gt; of the vertices of &lt;span class=&quot;math-container&quot;&gt;$G$&lt;/span&gt;, the 2-IP-DIS-&lt;span class=&quot;math-container&quot;&gt;$\{&amp;lt;, \between\}$&lt;/span&gt; problem is equivalent to finding a maximum cardinality matching &lt;span class=&quot;math-container&quot;&gt;$M$&lt;/span&gt; in &lt;span class=&quot;math-container&quot;&gt;$G$&lt;/span&gt; with the property that for any two distinct edges &lt;span class=&quot;math-container&quot;&gt;$\{u, v\} $&lt;/span&gt;  and &lt;span class=&quot;math-container&quot;&gt;$\{u', v'\}$&lt;/span&gt; of &lt;span class=&quot;math-container&quot;&gt;$M$&lt;/span&gt; neither &lt;span class=&quot;math-container&quot;&gt;$min \{ \pi(u), \pi(v) \} \lt min \{ \pi(u'), \pi(v') \} $&lt;/span&gt;  and &lt;span class=&quot;math-container&quot;&gt;$max \{ \pi(u'), \pi(v') \lt max \{ \pi(u), \pi(v) \} $&lt;/span&gt; nor &lt;span class=&quot;math-container&quot;&gt;$min \{ \pi(u'), \pi(v') \} \lt min \{ \pi(u), \pi(v) \}$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$max \{ \pi(u), \pi(v) \} \lt max \{ \pi(u'), \pi(v') \}$&lt;/span&gt; occur.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Update (February 25, 2019):&lt;/strong&gt; Bulteau and Vialette showed that the decision problem of unshuffling a binary string is NP-complete in their paper, &lt;a href=&quot;https://www.sciencedirect.com/science/article/pii/S0304397519300258&quot; rel=&quot;nofollow noreferrer&quot;&gt;Recognizing binary shuffle squares is NP-hard&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2019-02-25T10:45:43.203" LastActivityDate="2019-02-25T10:45:43.203" CommentCount="5" ContentLicense="CC BY-SA 4.0" />
  <row Id="18134" PostTypeId="1" AcceptedAnswerId="18138" CreationDate="2013-06-24T19:07:41.900" Score="16" ViewCount="582" Body="&lt;p&gt;A new paper came out claiming quasi-polynomial algorithm for Discrete Logarithm.&#xA;&lt;a href=&quot;http://arxiv.org/abs/1306.4244&quot;&gt;http://arxiv.org/abs/1306.4244&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If correct, does it mean we no longer have an exponential separation in complexity of a classical algorithm and its quantum version for the discrete logarithm problem? Does this have any implication for quantum complexity theory?&lt;/p&gt;&#xA;" OwnerUserId="1812" LastActivityDate="2013-06-25T12:27:37.937" Title="New algorithm for Discrete log and its implications for Quantum computing" Tags="&lt;cc.complexity-theory&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="18135" PostTypeId="1" CreationDate="2013-06-25T04:55:58.803" Score="3" ViewCount="317" Body="&lt;p&gt;I am looking for a solver that computes an approximation to #SAT.  In other words, given a formula $\phi(x)$ in CNF, approximately count the number of satisfying assignments to $\phi$.  I'm interested in an approximate count, not the exact number.  Are there any existing working implementations that I can download and try?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To be clear, I'm not looking for algorithms or for papers describing algorithms; I'm looking for an implementation I can use, in the style of a SAT solver.  This question is related to &lt;a href=&quot;https://cstheory.stackexchange.com/q/1295/5038&quot;&gt;#SAT Solver download&lt;/a&gt;, except that one asks for solvers that exactly count the number of satisfying assignments, whereas I am interested in solvers that approximate the number of satisfying assignments (I do not need an exact count).&lt;/p&gt;&#xA;" OwnerUserId="5038" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.743" LastActivityDate="2013-06-25T05:09:21.823" Title="Approximate-#SAT solver" Tags="&lt;ds.algorithms&gt;&lt;sat&gt;&lt;application-of-theory&gt;&lt;software&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18136" PostTypeId="2" ParentId="18135" CreationDate="2013-06-25T05:09:21.823" Score="2" Body="&lt;p&gt;&lt;a href=&quot;https://www.cs.cornell.edu/~sabhar/#software&quot; rel=&quot;nofollow&quot;&gt;Ashish Sabharwal&lt;/a&gt; lists some software (e.g., SampleCount, ApproxCount, and more) for this on his web page.  I haven't tried any of these.&lt;/p&gt;&#xA;" OwnerUserId="5038" LastActivityDate="2013-06-25T05:09:21.823" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18138" PostTypeId="2" ParentId="18134" CreationDate="2013-06-25T11:26:34.447" Score="19" Body="&lt;p&gt;Well, one crucial observation is that the new algorithm apparently only works for groups of the form $Z_{p^k}$ where $p$ is small --- it doesn't give a speedup for groups of the form $Z_p$.  The latter is the much more common setting that people talk about, both for cryptography and for Shor's algorithm, and the new algorithm doesn't threaten the quantum speedup there.  On the other hand, yes, unless I'm mistaken it does make the speedup much smaller in the $Z_{p^k}$ case.&lt;/p&gt;&#xA;" OwnerUserId="1575" LastActivityDate="2013-06-25T11:26:34.447" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18139" PostTypeId="2" ParentId="18134" CreationDate="2013-06-25T12:03:30.340" Score="6" Body="&lt;p&gt;My understanding is that if $k = O (q)$, the algorithm has complexity $n^{O (\log n)}$ over finite fields $F_{q^k}$ assuming that $k = O (q)$. More generally, the algorithm has complexity $L_{q^k} (\alpha, O (1))$ in finite fields $F_{q_k}$ with $q \sim  L_{q^k} (\alpha)$. It beats previous classical algorithms for $\alpha &amp;lt; 1 / 3$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Shor's algorithm is still much faster, but the question about exponential speedup depends really on the definition of &quot;exponential&quot;. (Also NFS/FFS were subexponential-time.)&lt;/p&gt;&#xA;" OwnerUserId="14132" LastEditorUserId="14132" LastEditDate="2013-06-25T12:27:37.937" LastActivityDate="2013-06-25T12:27:37.937" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18140" PostTypeId="2" ParentId="18129" CreationDate="2013-06-25T13:55:49.280" Score="1" Body="&lt;p&gt;I'm not sure why one would require also sat formulas but there are some articles on the separation between General and Tree resolution eg [1]. It sounds to me that this is what you want.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] Ben-Sasson, Eli, Russell Impagliazzo, and Avi Wigderson. &quot;Near optimal separation of tree-like and general resolution.&quot; Combinatorica 24.4 (2004): 585-603.&lt;/p&gt;&#xA;" OwnerUserId="4506" LastActivityDate="2013-06-25T13:55:49.280" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18141" PostTypeId="2" ParentId="7664" CreationDate="2013-06-25T14:45:40.307" Score="3" Body="&lt;p&gt;An alternative reference could be Lemma 1.19 in B. Doerr, Analyzing randomized search heuristics: Tools from probability theory, Theory of Randomized Search Heuristics (A. Auger and B. Doerr, eds.), World Scientific Publishing, 2011, pp. 1-20. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In simple words, it shows that when $X_i=1$ with probability $p_i$ no matter what you condition $X_1, \dots, X_{i-1}$ on, then $X_1, \ldots, X_n$ satisfy all Chernoff-Hoeffding bounds that are valid for independent binary random variables $Y_1, \ldots, Y_n$ with success probability $p_1, \ldots, p_n$, respectively. The proof is elementary and the result is natural, so I guess no-one felt the need to write it up.&lt;/p&gt;&#xA;" OwnerUserId="16710" LastEditorUserId="109" LastEditDate="2013-06-25T16:54:14.540" LastActivityDate="2013-06-25T16:54:14.540" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18142" PostTypeId="1" CreationDate="2013-06-25T14:50:04.947" Score="7" ViewCount="235" Body="&lt;p&gt;I am interested in the field that could perhaps be referred to as &quot;Automated Refactory&quot; or &quot;Preservation of Software Properties&quot; after a transformation/change/refactory.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Saying we have an instruction/set of instructions &lt;strong&gt;I&lt;/strong&gt; with some &lt;em&gt;functional&lt;/em&gt; property &lt;strong&gt;P&lt;/strong&gt; and some transformation &lt;strong&gt;T&lt;/strong&gt; so that &lt;strong&gt;I' = T(I)&lt;/strong&gt;. Is there any research/work/papers that models &lt;strong&gt;P&lt;/strong&gt; (just some properties, a group of, ...) and preservation/changes of those properties between &lt;strong&gt;I&lt;/strong&gt; and &lt;strong&gt;I'&lt;/strong&gt; for a set of transformations &lt;strong&gt;T&lt;/strong&gt;? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;First of all, what is the correct name for this fiels? Then, I would like to know if a theory to model this problem exists, which one is the most used (or the most referred to) and if any application of that system/metric/model (libraries, IDE plugins, ...) has been released.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you can give any name, paper, ... whatever that is considered &quot;fundamental&quot; in this field, I will dig into this on my own.&lt;/p&gt;&#xA;" OwnerUserId="16711" LastEditorUserId="270" LastEditDate="2013-06-25T15:12:21.510" LastActivityDate="2013-07-11T18:29:49.563" Title="What is the state of the art in theory of &quot;Software transformations preserving behavior&quot;?" Tags="&lt;reference-request&gt;&lt;lo.logic&gt;&lt;property-testing&gt;" AnswerCount="4" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="18145" PostTypeId="2" ParentId="18089" CreationDate="2013-06-25T23:46:51.767" Score="3" Body="&lt;p&gt;in my opinion after looking into this to some degree, you will probably not do any better than the paper you've cited for background and references which are extensive. the authors specifically indicate that they have devised a novel approach that does not seem to have any direct precedent in the literature, and this seems correct. in other words, as they state themselves:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Here we present a novel continuous-time dynamical system for k-SAT, with a dynamics that&#xA;  is rather different from previous approaches.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;so their formulation (in the introduction, eg eqs.1,2) can be seen/regarded as a seminal new &quot;bridge theorem&quot; between two previously mainly different fields of dynamical systems theory and the theory of NP completeness. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;this has happened many times in the past with NP completeness, and an early notice of this came in 1988 by &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.32.8685&quot; rel=&quot;nofollow&quot;&gt;Papadimitriou, in NP Completeness, a retrospective&lt;/a&gt;, which can be seen as a kind of TCS sequel/analog to the famous essay &lt;a href=&quot;http://en.wikipedia.org/wiki/The_Unreasonable_Effectiveness_of_Mathematics_in_the_Natural_Sciences&quot; rel=&quot;nofollow&quot;&gt;Unreasonable effectiveness of mathematics in the physical sciences, Wigner&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;they cite the following as nearest references to their work:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Although the theoretical possibility of efﬁcient computation via chaotic dynamical systems has been shown previously [15], nonlinear dynamical systems theory has not been&#xA;  exploited for NP-complete problems in spite of the fact that, as shown by Gu et al.[19], Nagamatu&#xA;  et al. [20] and Wah et al. [21], k-SAT can be formulated as a continuous global optimization&#xA;  problem[19], and even cast as an analog dynamical system [20, 21].&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;in SAT literature Mezard was a pioneer in introducing statistical physics analogies which have some strong connections to their new framework, but again they cite him.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;here are two other sideways angles outside the paper references. Linear programming algorithms have a concept of continous variables, iteration and convergence somewhat analogous to a constrained dynamical systems trajectory. there is a significant amount of research in this vein under the heading of &lt;a href=&quot;http://www.cs.utep.edu/vladik/1996/tr96-25.pdf&quot; rel=&quot;nofollow&quot;&gt;Maslov's method&lt;/a&gt;. here is another early reference on using linear programming to solve SAT:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.cs.washington.edu/ai/lpsat/ker-lpsat.pdf&quot; rel=&quot;nofollow&quot;&gt;Combining Linear Programming and&#xA;Satisability Solving for Resource Planning&lt;/a&gt;, Wolfram/Weld&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;another area that seems loosely similar is the use of artificial neural networks to solve SAT. again there is a concept of an algorithm with continuous variables that converges to a solution under update rules expressed as differential equations. see eg&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.55.9437&quot; rel=&quot;nofollow&quot;&gt;A NN Algorithm for Boolean Satisfiability Problems (1996)&lt;/a&gt; Spears&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="7884" LastEditDate="2013-06-26T00:04:50.127" LastActivityDate="2013-06-26T00:04:50.127" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18147" PostTypeId="1" CreationDate="2013-06-26T07:09:24.933" Score="4" ViewCount="1384" Body="&lt;p&gt;The complexity class DP can be defined as the set of all languages that are the intersection of an NP language with a coNP language.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have a language for which I wish to determine the exact complexity class. I know that the language is:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;It is $\Sigma_2^P$-hard&lt;/li&gt;&#xA;&lt;li&gt;It is $\Pi_2^P$-hard&lt;/li&gt;&#xA;&lt;li&gt;It can be represented as the intersection of a $\Sigma_2^P$ and a $\Pi_2^P$ languages.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Here $\Sigma_2^P$ and $\Pi_2^P$ are the second-level classes in the polynomial hierarchy.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It seems that what I know about my language indicates that it is complete in a complexity class which is analogous to DP, but where DP corresponds to the first level of PH, my class corresponds to the second level.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My questions:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Am I correct in deducing the completeness of my language? It seems plausible but I can't find a proof.&lt;/li&gt;&#xA;&lt;li&gt;What is the usual name of &quot;my&quot; complexity class? Where has it been studied so far? Is it interesting? Are there known (non-artificial) complete problems for it?&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Thanks.&lt;/p&gt;&#xA;" OwnerUserId="9244" LastActivityDate="2017-08-10T10:41:41.827" Title="An analog of DP for the second level of the polynomial hierarchy" Tags="&lt;complexity-classes&gt;&lt;polynomial-hierarchy&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="18148" PostTypeId="2" ParentId="18142" CreationDate="2013-06-26T07:16:30.567" Score="2" Body="&lt;p&gt;On field of interest could be &lt;em&gt;relational verification&lt;/em&gt; as, for example, presented in &lt;a href=&quot;http://research.microsoft.com/apps/video/dl.aspx?id=191262&quot; rel=&quot;nofollow&quot;&gt;this video&lt;/a&gt; or in &lt;a href=&quot;http://software.imdea.org/~jmcrespo/docs/FM2011.pdf&quot; rel=&quot;nofollow&quot;&gt;this paper&lt;/a&gt;. The basic idea of relation verification is, that you prove some properties about a &quot;simple&quot; version of a program, and then show that a &quot;hard&quot; version of the same program behaves shows the same behaviour as the easy program. In a sense, you use the easy version as a specification for the hard one. &quot;easy&quot; could be unoptimised, sequential or functional, and &quot;hard&quot; could then be optimised, concurrent or imperative.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Relational verification is sometimes also referred to as &quot;relational reasoning&quot;. If you search for &quot;relational verification&quot;, it is very likely that you'll also find resources about relational dabatases and relational domains as used in abstract interpretation.&lt;/p&gt;&#xA;" OwnerUserId="13261" LastActivityDate="2013-06-26T07:16:30.567" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18150" PostTypeId="1" CreationDate="2013-06-26T09:05:12.823" Score="1" ViewCount="88" Body="&lt;p&gt;Let &lt;span class=&quot;math-container&quot;&gt;$G$&lt;/span&gt; be a directed weighted graph. In addition each edge &lt;span class=&quot;math-container&quot;&gt;$e$&lt;/span&gt; has a time-stamp &lt;span class=&quot;math-container&quot;&gt;$t(e)$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;p&gt;A &lt;em&gt;route&lt;/em&gt; &lt;span class=&quot;math-container&quot;&gt;$\pi$&lt;/span&gt; from &lt;span class=&quot;math-container&quot;&gt;$s$&lt;/span&gt; to &lt;span class=&quot;math-container&quot;&gt;$t$&lt;/span&gt; is a directed walk from &lt;span class=&quot;math-container&quot;&gt;$s$&lt;/span&gt; to &lt;span class=&quot;math-container&quot;&gt;$t$&lt;/span&gt; with increasing time-stamps.&lt;/p&gt;&#xA;&lt;p&gt;We are also given two sets of vertices &lt;span class=&quot;math-container&quot;&gt;$S$&lt;/span&gt; (source) and &lt;span class=&quot;math-container&quot;&gt;$T$&lt;/span&gt; (destination).&lt;/p&gt;&#xA;&lt;p&gt;We associate with each route &lt;span class=&quot;math-container&quot;&gt;$\pi$&lt;/span&gt; one of the edges &lt;span class=&quot;math-container&quot;&gt;$e$&lt;/span&gt; with the following properties:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$e$&lt;/span&gt; belongs to &lt;span class=&quot;math-container&quot;&gt;$\pi$&lt;/span&gt;,&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;There is no route to &lt;span class=&quot;math-container&quot;&gt;$e$&lt;/span&gt;'s head from any other source &lt;span class=&quot;math-container&quot;&gt;$s' \in S$&lt;/span&gt; with time-stamps smaller than &lt;span class=&quot;math-container&quot;&gt;$t(e)$&lt;/span&gt;,&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$e$&lt;/span&gt; has minimum weight among the edges satisfying the conditions in 1 and 2.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;Let's the edge corresponding to a route its bottleneck.&lt;/p&gt;&#xA;&lt;p&gt;Given &lt;span class=&quot;math-container&quot;&gt;$G$&lt;/span&gt;, &lt;span class=&quot;math-container&quot;&gt;$S$&lt;/span&gt;, and &lt;span class=&quot;math-container&quot;&gt;$T$&lt;/span&gt;,&#xA;we want to compute the list of bottlenecks for all routes in &lt;span class=&quot;math-container&quot;&gt;$G$&lt;/span&gt; from &lt;span class=&quot;math-container&quot;&gt;$S$&lt;/span&gt; to &lt;span class=&quot;math-container&quot;&gt;$T$&lt;/span&gt;,&#xA;i.e. we want a least of the form &lt;span class=&quot;math-container&quot;&gt;$(s,t,e)$&lt;/span&gt; where&#xA;&lt;span class=&quot;math-container&quot;&gt;$s\in S$&lt;/span&gt;, &lt;span class=&quot;math-container&quot;&gt;$t\in T$&lt;/span&gt;, and &lt;span class=&quot;math-container&quot;&gt;$e$&lt;/span&gt; is the bottleneck edge for some route from &lt;span class=&quot;math-container&quot;&gt;$s$&lt;/span&gt; to &lt;span class=&quot;math-container&quot;&gt;$t$&lt;/span&gt;.&#xA;We don't need all possible bottlenecks for a route but just one of them,&#xA;and it is better if the set of bottlenecks we get is minimal.&lt;/p&gt;&#xA;&lt;h3&gt;Questions&lt;/h3&gt;&#xA;&lt;p&gt;I am looking for references on algorithms for this or similar problems.&lt;/p&gt;&#xA;&lt;p&gt;Does this problem have a name?&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2013-06-26T09:10:18.797" Title="Bottlenecks in a time-stamped graph" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;" AnswerCount="0" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="18151" PostTypeId="2" ParentId="18142" CreationDate="2013-06-26T09:15:01.970" Score="3" Body="&lt;p&gt;I think what you are looking for, in the context of verified transformations in a proof assistant, is known as &quot;refinement&quot;, wherein a very-high level, inefficient implementation of some algorithm is gradually refined down into an efficient, low-level implementation, proving that the transformations preserve certain properties along the way.  Various tools have been developed to help the user do this without being overcome by tedious book keeping.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In terms of the state of the art, I think &lt;a href=&quot;http://www21.in.tum.de/~lammich/pub/autoref.pdf&quot; rel=&quot;nofollow&quot;&gt;Lammich's tool&lt;/a&gt; in Isabelle/HOL has been used successfully in at least two significant developments (a verification of Hopcroft's algorithm by &lt;a href=&quot;http://www21.in.tum.de/~lammich/pub/itp12.pdf&quot; rel=&quot;nofollow&quot;&gt;Lammich and Tuerk&lt;/a&gt;, and a verified implementation of an LTL model checker by &lt;a href=&quot;http://www21.in.tum.de/~lammich/pub/verified_ltl_paper.pdf&quot; rel=&quot;nofollow&quot;&gt;Esparza, Lammich et al&lt;/a&gt;).  Ironically, I was also reading &lt;a href=&quot;http://wiki.portal.chalmers.se/cse/uploads/ForMath/refinements_for_free.pdf&quot; rel=&quot;nofollow&quot;&gt;this paper&lt;/a&gt; this morning, about a similar tool, newly developed, in Coq, courtesy of the dependent_types subreddit on Reddit.&lt;/p&gt;&#xA;" OwnerUserId="375" LastActivityDate="2013-06-26T09:15:01.970" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18152" PostTypeId="2" ParentId="18129" CreationDate="2013-06-26T09:43:44.223" Score="10" Body="&lt;p&gt;It sounds like you are interested in &lt;em&gt;all-different constraints&lt;/em&gt; (and your last sentence is on the right track).  These are non-trivial instances of the pigeonhole principle, where the number of pigeons is not necessarily greater than the number of holes, and in addition some pigeons may be barred from some of the holes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;All-different constraints can be decided by matching in low-order polynomial time.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Jean-Charles Régin, &lt;a href=&quot;http://www.aaai.org/Library/AAAI/1994/aaai94-055.php&quot;&gt;&lt;em&gt;A filtering algorithm for constraints of difference in CSPs&lt;/em&gt;&lt;/a&gt;, AAAI 1994, 362–367.&lt;/li&gt;&#xA;&lt;li&gt;D. E. Knuth and A. Raghunathan, &lt;em&gt;The problem of compatible representatives&lt;/em&gt;, SIAM J. Discrete Math. &lt;strong&gt;5&lt;/strong&gt; 422–427, 1992.  doi:&lt;a href=&quot;http://dx.doi.org/10.1137/0405033&quot;&gt;10.1137/0405033&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;When all-different constraints are expressed (using one of several encodings) as SAT instances, then conflict-driven clause learning usually quickly finds a solution if it exists.  However, pure resolution for the PHP has to build a superpolynomially large set of clauses to show that the instance is unsatisfiable.  This bound clearly holds for this more general problem.  On the other hand, recall that Cook's encoding of the PHP allows polynomial-sized &lt;em&gt;extended&lt;/em&gt; resolution refutations.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;S. A. Cook, &lt;em&gt;A short proof of the pigeon hole principle using extended resolution&lt;/em&gt;, SIGACT News &lt;strong&gt;8&lt;/strong&gt; 28–32, 1976.  doi:&lt;a href=&quot;http://dx.doi.org/10.1145/1008335.1008338&quot;&gt;10.1145/1008335.1008338&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Recent work along these lines is Chapter 5 of &lt;a href=&quot;http://www.lsi.upc.edu/~oliva/phdthesis.pdf&quot;&gt;Sergi Oliva's thesis&lt;/a&gt;, which formed the basis of a paper with Alberto Atserias at CCC 2013.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I expect you are aware of Cook's classic result, so perhaps you meant to restrict the power of the proof system in your third condition?&lt;/p&gt;&#xA;" OwnerUserId="109" LastEditorUserId="109" LastEditDate="2013-06-27T18:54:44.360" LastActivityDate="2013-06-27T18:54:44.360" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="18153" PostTypeId="2" ParentId="18129" CreationDate="2013-06-26T15:12:03.350" Score="-1" Body="&lt;p&gt;this following paper seems close to what is requested in some ways (if it does not fit maybe JJ can clarify why). the question wants to rule out PHP (pigeonhole) instances based on the lack of both true/false formulas, but (as cited in the other answers) PHP is one of the most well-studied cases/instance generators from the theory side and has always been a generator for both satisfiable/unsatisfiable formulas although the satisfiable formulas are less emphasized/studied. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;PHP${^m_n}$ where there are $m$ &quot;pigeons&quot; and $n$ &quot;holes&quot; is unsatisfiable (false) if $m&amp;gt;n$ and satisfiable if $m \leq n$. am not immediately familiar with papers that study both cases but think they exist (would like to hear of any). and some results/analyses that study only the unsatisfiable cases are naturally extended to include the satisfiable case.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.45.9531&quot; rel=&quot;nofollow&quot;&gt;Tree-Like Resolution Is Superpolynomially Slower Than DAG-Like Resolution for the Pigeonhole Principle (1999)&lt;/a&gt; by Kazuo Iwama , Shuichi Miyazaki&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;another approach would be to go in a more empirical angle and just generate random instances (presumably around the easy-hard-easy 50% satisfiable transition point) and filter them to fit the criteria stated. one would require implementations of tree resolution/DAG resolution or &quot;stronger systems&quot;.&lt;/p&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2013-06-26T15:12:03.350" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="18154" PostTypeId="2" ParentId="1848" CreationDate="2013-06-26T15:29:29.290" Score="6" Body="&lt;ul&gt;&#xA;&lt;li&gt;Decision version is (highly) non-trival in &lt;strong&gt;P&lt;/strong&gt;: $k$-colourability ($k$ fixed) on graphs without induced path with five vertices; &#xA;due to this &lt;a href=&quot;http://link.springer.com/article/10.1007%2Fs00453-008-9197-8&quot;&gt;paper&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Search version is &lt;strong&gt;NP&lt;/strong&gt;-hard: Finding the chromatic number of graphs without induced path with five vertices; &#xA;due to this &lt;a href=&quot;http://link.springer.com/chapter/10.1007/3-540-45477-2_23&quot;&gt;paper&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="14035" LastEditorUserId="14035" LastEditDate="2013-06-27T11:39:44.397" LastActivityDate="2013-06-27T11:39:44.397" CommentCount="1" CommunityOwnedDate="2013-06-26T15:29:29.290" ContentLicense="CC BY-SA 3.0" />
  <row Id="18156" PostTypeId="2" ParentId="1848" CreationDate="2013-06-26T18:09:01.050" Score="4" Body="&lt;p&gt;Take a &quot;pairing-friendly&quot; elliptic curve. That is, a curve that has a one bilinear map $e$ associated with it - with $e (a + b, c + d) = e (a c) e (a d) e (b c) e (b d)$ such that $e$ is difficult to invert).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Such pairings are used widely in cryptography, partially since given $e$, it is trivial to solve Decisional Diffie-Hellman (given $(g, h, g^a, h^b)$, decide if $a = b$: just verify whether $e (g, h^b) = e (h, g^a)$). However, it is still conjectured that the search/computational Diffie-Hellman problem is difficult.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Such groups are also generalized to &quot;gap groups&quot;.&lt;/p&gt;&#xA;" OwnerUserId="14132" LastActivityDate="2013-06-26T18:09:01.050" CommentCount="0" CommunityOwnedDate="2013-06-26T18:09:01.050" ContentLicense="CC BY-SA 3.0" />
  <row Id="18157" PostTypeId="1" AcceptedAnswerId="18158" CreationDate="2013-06-26T18:35:16.850" Score="3" ViewCount="168" Body="&lt;p&gt;Graph Isomorphism is natural problem which is most widely believed to have intermediate complexity between $P$ and $NP$-complete. GI can be thought as deciding the existence of an isomorphism between two sets of node pairs. I'm trying to develop a notion of isomorphism between sets of triples. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;We are given two hyper-graphs $G1$ and $G2$ such that the set of hyperedges ($E_1$ and $E_2$) consists of  triples of 3 nodes $\{t_1, t_2, t_3 \}$. We say that Hyper-graphs $G1$ and $G2$ are isomorphic if there is bijection $f$ from $V_1$ to $V_2$ such that pair $\{u,v\} \in E1 $ if and only if $\{f(u),f(v) \} \in E2 $. We say $\{u, v \} \in E $ if there is a triple (hyperedge) $\{ u, v, z\} \in E$ for some node $z$.   &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is it $NP$-complete to decide the existence of such isomorphism between two hyper-graphs $G1$ and $G2$? &lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2013-06-26T18:56:24.403" LastActivityDate="2013-06-26T20:25:26.777" Title="Isomorphism notion between sets of triples" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18158" PostTypeId="2" ParentId="18157" CreationDate="2013-06-26T20:25:26.777" Score="8" Body="&lt;p&gt;Your problem reduces to graph isomorphism, so is not $\mathsf{NP}$-complete unless the polynomial hierarchy collapses. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In fact, you've essentially already given the reduction in your question: given a 3-uniform (=every hyperedge has size 3) hypergraph $G$, construct from it the graph $f(G)$ which has the same vertex set, and such that $\{u,v\} \in E(f(G))$ iff there exists a $z \in V$ such that $\{u,v,z\} \in E(G)$. (When $G$ is a hypergraph, I use $E(G)$ to mean the set of hyperedges.) Then $G_1$ and $G_2$ are isomorphic-in-your-sense iff $f(G_1) \cong f(G_2)$ as graphs. It is not hard to check that this reduction only takes polynomial time (note that $|E(f(G))| \leq |V(G)| |E(G)|$). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is also probably worth mentioning that there is already a well-established notion of hypergraph isomorphism that is different from your notion. If we consider a hypergraph $G$ as a vertex set $V$ together with a collection of hyperedges $E \subseteq P(V)$ (each hyperedge is a subset of $V$), then two such hypergraphs are isomorphic if there is a bijection $\pi\colon V_1 \to V_2$ such that $E_2 = \pi(E_1)$. (Here I am abusing notation twice: by &quot;$\pi(E_1)$&quot; I mean $\{\pi(e) : e \in E_1\}$ and by $\pi(e)$ for $e \subseteq V$ I mean $\{\pi(v) : v \in e\}$.) Hypergraph isomorphism in this sense is Karp-equivalent to graph isomorphism, but by a slightly less immediate reduction than from your problem. However, fast (in theory) algorithms for hypergraph isomorphism are often more difficult than those for graph isomorphism (see, e.g. &lt;a href=&quot;http://dx.doi.org/10.1109/FOCS.2008.80&quot;&gt;Babai and Codenotti, FOCS 2008&lt;/a&gt;).&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2013-06-26T20:25:26.777" CommentCount="11" ContentLicense="CC BY-SA 3.0" />
  <row Id="18159" PostTypeId="1" CreationDate="2013-06-26T21:16:58.690" Score="3" ViewCount="66" Body="&lt;p&gt;Given a balanced Boolean function $f:\{0,1\}^n\mapsto\{0,1\}$, is there a sampling strategy that needs less than $O(2^n)$ samples to estimate the average length of contiguous sequences of 1's?  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Balanced means over all possible x's $f(x)=0$ 50% of the time, $f(x)=1$ 50% of the time. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Pointers to background papers related to this topic would be much appreciated.&lt;/p&gt;&#xA;" OwnerUserId="16726" LastEditorUserId="-1" LastEditDate="2013-06-26T21:52:29.213" LastActivityDate="2013-06-26T21:52:29.213" Title="Estimating the average contiguous sequence length of a balanced boolean function" Tags="&lt;cc.complexity-theory&gt;&lt;co.combinatorics&gt;&lt;boolean-functions&gt;" AnswerCount="0" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="18160" PostTypeId="5" CreationDate="2013-06-27T02:31:14.267" Score="0" Body="" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2013-06-27T02:31:14.267" LastActivityDate="2013-06-27T02:31:14.267" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18161" PostTypeId="4" CreationDate="2013-06-27T02:31:14.267" Score="0" Body="The Turing machine is a fundamental model of computation, especially in theoretical work." OwnerUserId="186" LastEditorUserId="109" LastEditDate="2014-06-27T17:23:29.750" LastActivityDate="2014-06-27T17:23:29.750" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18162" PostTypeId="5" CreationDate="2013-06-27T02:31:47.063" Score="0" Body="" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2013-06-27T02:31:47.063" LastActivityDate="2013-06-27T02:31:47.063" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18163" PostTypeId="4" CreationDate="2013-06-27T02:31:47.063" Score="0" Body="Questions in probability theory" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2013-06-27T02:31:47.063" LastActivityDate="2013-06-27T02:31:47.063" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18164" PostTypeId="5" CreationDate="2013-06-27T02:33:03.570" Score="0" Body="" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2013-06-27T02:33:03.570" LastActivityDate="2013-06-27T02:33:03.570" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18165" PostTypeId="4" CreationDate="2013-06-27T02:33:03.570" Score="0" Body="Questions about Boolean functions and their analysis" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2013-06-27T02:33:03.570" LastActivityDate="2013-06-27T02:33:03.570" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18166" PostTypeId="5" CreationDate="2013-06-27T02:33:50.713" Score="0" Body="" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2013-06-27T02:33:50.713" LastActivityDate="2013-06-27T02:33:50.713" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18167" PostTypeId="4" CreationDate="2013-06-27T02:33:50.713" Score="0" Body="Questions in number theory" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2013-06-27T02:33:50.713" LastActivityDate="2013-06-27T02:33:50.713" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18168" PostTypeId="5" CreationDate="2013-06-27T02:34:27.903" Score="0" Body="" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2013-06-27T02:34:27.903" LastActivityDate="2013-06-27T02:34:27.903" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18169" PostTypeId="4" CreationDate="2013-06-27T02:34:27.903" Score="0" Body="Questions in category theory" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2013-06-27T02:34:27.903" LastActivityDate="2013-06-27T02:34:27.903" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18170" PostTypeId="5" CreationDate="2013-06-27T02:38:11.717" Score="0" Body="&lt;p&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Proof_theory&quot; rel=&quot;nofollow&quot;&gt;Proof theory&lt;/a&gt; is one of the main branches of logic which studies proofs in various systems and theory manipulations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The functions in proof theory should also be tagged with &lt;a href=&quot;/questions/tagged/lo.logic&quot; class=&quot;post-tag&quot; title=&quot;show questions tagged 'lo.logic'&quot; rel=&quot;tag&quot;&gt;lo.logic&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2013-06-27T02:38:11.717" LastActivityDate="2013-06-27T02:38:11.717" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18171" PostTypeId="4" CreationDate="2013-06-27T02:38:11.717" Score="0" Body="Questions about analysis of proofs in theories" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2013-06-27T02:38:11.717" LastActivityDate="2013-06-27T02:38:11.717" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18172" PostTypeId="1" AcceptedAnswerId="18174" CreationDate="2013-06-27T02:56:21.857" Score="9" ViewCount="371" Body="&lt;p&gt;I'm trying to find a graph with those properties for my studies, but unfortunately I can't find such graph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does anyone know if there is that graph, or why is it impossible to exist?&lt;/p&gt;&#xA;" OwnerUserId="16728" LastActivityDate="2013-06-27T04:48:50.260" Title="Is there any triangle-free, star-cutset-free, circle graph, with more than n edges?" Tags="&lt;graph-theory&gt;&lt;graph-classes&gt;" AnswerCount="2" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18173" PostTypeId="2" ParentId="18172" CreationDate="2013-06-27T04:26:43.987" Score="9" Body="&lt;p&gt;No, no such graph exists. To see why not, suppose we have a circle graph defined by a triangle-free set of chords. Let $n$ be the number of vertices of the circle graph (or the number of chords), and $m$ be the number of edges of the graph (crossings of two chords). Then an easy induction on the number of chords shows that the arrangement of the chords has exactly $m+n+1$ faces. However, there are at most $2n$ faces that touch the circle (fewer if some faces touch the circle more than once), so if $m&amp;gt;n$ then there must be at least two interior faces of the arrangement. Let $p$ be any shortest path in the dual graph of the arrangement (a &lt;a href=&quot;http://en.wikipedia.org/wiki/Squaregraph&quot;&gt;squaregraph&lt;/a&gt;) from one such face to another, and let $c$ be any chord dual to an edge of $p$. Then the star-cutset induced by $c$ separates some of the chords bounding the face at one end of $p$ from some of the chords bounding the face at the other end.&lt;/p&gt;&#xA;" OwnerUserId="95" LastEditorUserId="95" LastEditDate="2013-06-27T04:32:33.723" LastActivityDate="2013-06-27T04:32:33.723" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18174" PostTypeId="2" ParentId="18172" CreationDate="2013-06-27T04:31:22.803" Score="12" Body="&lt;p&gt;Suppose $G$ is a triangle-free star-cutset-free circle graph.&#xA;I will show that $G$ contains no vertex with degree more than 2. Therefore, $G$ has at most $n$ edges.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider a circle representation $C$ of $G$. A set of chords is &lt;em&gt;parallel&lt;/em&gt; if no two of them cross but there is a line crossing all the chords.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Property 1&lt;/strong&gt;: $C$ has no 3 parallel chords.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Proof&lt;/strong&gt;. Suppose $C$ has 3 parallel chords. Condider the vertex $v$ corresponding to the middle chord. Then, $N[v]$ is a cutset. This proves the property.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the sake of contradiction, assume $G$ has a vertex $v$ of degree at least 3. Then, the chord corresponding to $v$ intersects 3 other chords. Since these 3 chords intersect one line, they are either parallel or two of them intersect. Due to Property 1, two of them intersect, which means their vertices form a triangle with $v$, which contradicts $G$ being triangle-free.&lt;/p&gt;&#xA;" OwnerUserId="72" LastEditorUserId="72" LastEditDate="2013-06-27T04:48:50.260" LastActivityDate="2013-06-27T04:48:50.260" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="18177" PostTypeId="1" CreationDate="2013-06-27T23:41:58.810" Score="5" ViewCount="1178" Body="&lt;p&gt;Assume that we have $N$ numbers (labeled from $1$ to $N$) that are placed on a 1D (linear) array. For example, for $N=5$:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/8he3A.jpg&quot; alt=&quot;Example of placement of numbers on a linear array&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we want to sort these numbers with the minimum number of adjacent swaps (i.e., by only swapping adjacent numbers), then we can use bubble sort to find the solution. For instance, the aforementioned placement can be sorted with 5 adjacent swaps:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;     Initial placement:   3 - 1 - 5 - 4 - 2&#xA;After swapping 3 and 1:   1 - 3 - 5 - 4 - 2&#xA;After swapping 5 and 4:   1 - 3 - 4 - 5 - 2&#xA;After swapping 5 and 2:   1 - 3 - 4 - 2 - 5&#xA;After swapping 4 and 2:   1 - 3 - 2 - 4 - 5&#xA;After swapping 3 and 2:   1 - 2 - 3 - 4 - 5&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;The question, however, is if the numbers are placed on a two dimensional grid, how we can find the minimum number of adjacent swaps in order to sort the numbers? Please assume that the ordering of numbers on the 2D grid is based on the snake-like indexing (as shown below).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/cfSt6.jpg&quot; alt=&quot;Snake-like ordering on a 2D grid&quot;&gt;&lt;/p&gt;&#xA;" OwnerUserId="14372" LastActivityDate="2013-06-27T23:41:58.810" Title="Minimum Number of Adjacent Swaps to Sort Numbers on a 2D Grid" Tags="&lt;ds.algorithms&gt;&lt;sorting&gt;" AnswerCount="0" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18179" PostTypeId="1" AcceptedAnswerId="18180" CreationDate="2013-06-28T00:07:27.507" Score="4" ViewCount="197" Body="&lt;p&gt;Approximations for the set multicover problem have been studied (&lt;a href=&quot;http://www.cc.gatech.edu/~mihail/D.read2010/Rajagopalan_Vazirani.pdf&quot; rel=&quot;nofollow&quot;&gt;Rajagopalan &amp;amp; Vazirani (section 5)&lt;/a&gt;), as have approximations for the min-sum set cover problem (&lt;a href=&quot;http://link.springer.com/chapter/10.1007%2F3-540-45753-4_10&quot; rel=&quot;nofollow&quot;&gt;Feige et al.&lt;/a&gt;). The greedy heuristic gives a $\log(n)$-approximation for the set multicover problem and a 4-approximation for min-sum set cover.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider the min-sum set multicover problem, i.e. for each ground element $e_i$ with coverage requirement $r_i$, let $f(e_i)$ be the step in which the coverage requirement is met; we then wish to minimize $\textstyle\sum_{i=1}^n f(e_i)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By extending the 4-approximation in Feige et al., it is trivial to get a $4r$-approximation for min-sum set multicover, where $r=\max r_i$. It is most likely that a better approximation ratio can be achieved.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does anyone know of any work that has been done on the min-sum set multicover problem? Any pointers to other names for the problem would also be very helpful. Thanks in advance!&lt;/p&gt;&#xA;" OwnerUserId="16739" LastEditorUserId="16739" LastEditDate="2013-06-28T04:29:06.247" LastActivityDate="2013-06-28T04:29:06.247" Title="Approximating Min-Sum Set Multicover" Tags="&lt;reference-request&gt;&lt;approximation-algorithms&gt;&lt;set-cover&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18180" PostTypeId="2" ParentId="18179" CreationDate="2013-06-28T01:53:59.470" Score="5" Body="&lt;p&gt;Yes, this has been studied. It was called the multiple intents re-ranking problem by &lt;a href=&quot;http://research.microsoft.com/pubs/117900/stoc09_reranking.pdf&quot; rel=&quot;nofollow&quot;&gt;Azar, Gamzu, and Yin&lt;/a&gt; who gave a $\log n$ approximation using a cleverly modified greedy algorithm (the point is being greedy with respect to a clever metric). &lt;a href=&quot;http://www.win.tue.nl/~nikhil/pubs/gen-mssc.pdf&quot; rel=&quot;nofollow&quot;&gt;Bansal, Gupta, and Krishnaswamy&lt;/a&gt; had the good sense to rename the problem to generalized min-sum set cover and gave a constant approximation via LP rounding. The constant is very large, more than 400. &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0167637711000885&quot; rel=&quot;nofollow&quot;&gt;Skutella and Williamson&lt;/a&gt; improved this to 28.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;BTW you state the problem as finding an ordering on the sets to satisfy a coverage requirement on the elements. Some of the above papers state the problem in the equivalent dual form: find an ordering on the elements to satisfy hitting requirements on the sets. &lt;/p&gt;&#xA;" OwnerUserId="4896" LastEditorUserId="4896" LastEditDate="2013-06-28T03:53:45.520" LastActivityDate="2013-06-28T03:53:45.520" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18181" PostTypeId="1" AcceptedAnswerId="18182" CreationDate="2013-06-28T01:57:50.613" Score="2" ViewCount="186" Body="&lt;p&gt;An independence system is a pair $(I,\mathcal{I})$ where $I$ is a (usually finite) ground set and $\mathcal{I}$ is a collection of subsets of $I$ such that:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;$\emptyset \in \mathcal{I}$, and&lt;/li&gt;&#xA;&lt;li&gt;$I_1 \subset I_2 \in \mathcal{I}$ implies $I_1 \in \mathcal{I}$.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;I am interested a related, dual notion, where we replace conditions 1 and 2 with:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;$I \in \mathcal{I}$, and&lt;/li&gt;&#xA;&lt;li&gt;$I_1 \supset I_2 \in \mathcal{I}$ implies $I_1 \in \mathcal{I}$.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;It is clear that the pair $M=(I,\mathcal{I})$ is an independence system if and only if $\overline{M}=(I,\overline{\mathcal{I}})$ obeys the new conditions, where $\overline{\mathcal{I}} = \{ I\setminus I_0 : I_0 \in \mathcal{I} \}$. However, in my application it is much easier to work with the new conditions. Does this have a name?&lt;/p&gt;&#xA;" OwnerUserId="13056" LastEditorUserId="80" LastEditDate="2013-06-28T03:14:33.813" LastActivityDate="2013-06-28T04:14:45.017" Title="Dual/complement of independence system" Tags="&lt;co.combinatorics&gt;&lt;independence&gt;&lt;set-system&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="18182" PostTypeId="2" ParentId="18181" CreationDate="2013-06-28T04:14:45.017" Score="5" Body="&lt;p&gt;The usual terms I know from the theory of posets and lattices are downset and upset (or upper set). Also as the empty set is a subset of every set, I think your first condition is vacuous as long as the system is not empty. Same for the first condition in the second definition.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If a downset is closed under joins (in your case set unions), it is called an ideal. If an upset is closed under meets (in your case set intersections), it is called a filter. &lt;/p&gt;&#xA;" OwnerUserId="4896" LastActivityDate="2013-06-28T04:14:45.017" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18184" PostTypeId="1" CreationDate="2013-06-28T06:08:11.450" Score="2" ViewCount="248" Body="&lt;p&gt;For an $m \times n$ matrix, what is the running time for computing the &lt;a href=&quot;http://en.wikipedia.org/wiki/Singular_value_decomposition&quot; rel=&quot;nofollow&quot;&gt;Singular Value Decomposition&lt;/a&gt; (SVD for short) via &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Jacobi's method, and&lt;/li&gt;&#xA;&lt;li&gt;Golub-Kahan?&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;The source I read mentions that Jacobi's method is slow, &#xA;but I can't find a table of big-Oh running times of the various SVD algorithms anywhere.&lt;/p&gt;&#xA;" OwnerUserId="16743" LastEditorUserId="191" LastEditDate="2013-06-28T11:57:57.493" LastActivityDate="2013-06-28T11:57:57.493" Title="Running time of Jacobi vs Golub-Kahan for SVD" Tags="&lt;ds.algorithms&gt;&lt;linear-algebra&gt;&lt;matrices&gt;" AnswerCount="0" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18186" PostTypeId="1" CreationDate="2013-06-28T09:51:33.810" Score="3" ViewCount="107" Body="&lt;p&gt;I have a question which somehow relates to the great answer by Bauer in the question &lt;a href=&quot;https://cstheory.stackexchange.com/questions/4473/techniques-for-reversing-the-order-of-quantiers/4478#4478&quot;&gt;Techniques for Reversing the Order of Quantiﬁers&lt;/a&gt;, where he discusses how the possibility of quantifier reversing depends on properties like companctness of the domain. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let the quantifiers for $x,y$ range over the appropriate domain. The expressions I'm interested in are of the form &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\forall x\ \exists y\ \phi(x,y),$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;as in $\ \forall x\ \exists y\  \left( f(x,y)=g(x,y) \right)$, e.g. $\ \forall x\ \exists y\ \left( \text e^{-x\ y}=x \right)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What are conditions so that the inner bounded variable can by elimninated by transforming the statement in the following sense:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\forall x\ \forall i \ \phi(x,\hat y(x,i)),$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where $\phi$ is unchanges, but I scanned for all solutions $y(x)$ and indexed them by $i$. In this way, I've essentially solved the problem (the difficult part being to find $\hat y$) and obtained the true formula&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\phi(x,\hat y(x,i))$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where above the free variables are implicitly taken to be universally quantified.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The form $\forall x\ \forall i \ \phi(x,\hat y(x,i))$ looks similar to the one in the link to the other question, except for me having introduced the disjuctions for different cases by another universal quantifier in $\forall i $. The point is that I didn't just reverse the order of quantifiers $\forall, \exists$, I literally solved the $\exists$-question. For the numberical problem $\ \forall x\ \exists y\ \left( \text e^{-x\ y}=x \right)$ this works, as there is the a function reklating $x$ and $y$ (the soltion being expressible in terms of the &lt;a href=&quot;http://en.wikipedia.org/wiki/Lambert_w_function&quot; rel=&quot;nofollow noreferrer&quot;&gt;W-function&lt;/a&gt;, not that this matters here). I can also view $\hat y$ as implicitly definded by the initial expression. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;When can I expect this not to work? And is this just strictly a stronger requirement than being able to transform the expression to, roughly, &quot;$\exists y\ \forall x \ \phi(x,y)$&quot;?&lt;/p&gt;&#xA;" OwnerUserId="7750" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2013-06-28T09:51:33.810" Title="When can an inner existential quantifier be eliminated in favour of a function relating terms?" Tags="&lt;lo.logic&gt;" AnswerCount="0" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="18187" PostTypeId="1" CreationDate="2013-06-28T19:29:28.853" Score="19" ViewCount="595" Body="&lt;p&gt;It is well known LLL algorithm provides a fully polynomial algorithm to factor a reducible primitive polynomial over $\mathbb{Z}[x]$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Say one only seeks to identify whether a given polynomial over $\mathbb{Z}[x]$ is reducible, then what are the best ways known to solve this? If reducible, the algorithm should correctly say yes and if not, it should say no.&lt;/p&gt;&#xA;" OwnerUserId="1812" LastEditorUserId="129" LastEditDate="2015-08-15T04:43:23.683" LastActivityDate="2018-12-08T05:15:38.723" Title="Identifying Reducible/Irreducible polynomials over $Z[x]$" Tags="&lt;open-problem&gt;&lt;algebraic-complexity&gt;" AnswerCount="0" CommentCount="12" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="18189" PostTypeId="1" AcceptedAnswerId="18225" CreationDate="2013-06-28T21:10:49.747" Score="12" ViewCount="2888" Body="&lt;p&gt;Can we prove a sharp concentration result on the sum of independent exponential random variables, i.e. Let $X_1, \ldots X_r$ be independent random variables such that $Pr(X_i &amp;lt; x) = 1 - e^{-x/\lambda_i}$. Let $Z = \sum X_i$. Can we prove bounds of the form $Pr(|Z-\mu_Z|&amp;gt;t) &amp;lt; e^{-t^2/\sum (\lambda_i)^2}$. This follows directly if we use the variance form of chernoff bounds and hence I believe is true , but the bounds that I read require bounded-ness or have some dependence on bounded-ness of the variables. Could someone point to me to a proof of the above ?  &lt;/p&gt;&#xA;" OwnerUserId="12212" LastEditorUserId="12212" LastEditDate="2013-07-03T02:01:38.263" LastActivityDate="2019-11-01T19:13:03.847" Title="Sum of Independent Exponential Random Variables" Tags="&lt;pr.probability&gt;&lt;randomness&gt;&lt;chernoff-bound&gt;" AnswerCount="2" CommentCount="6" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="18190" PostTypeId="1" AcceptedAnswerId="18209" CreationDate="2013-06-29T20:35:34.120" Score="7" ViewCount="123" Body="&lt;p&gt;Is it known or unknown whether hypergraph minimal covers are P-enumerable? I would be most happy with lower bounds. I'd also like to hear about conditional results, which assume some conjecture is true. Of course, I'd also want to know about closely related problems (such as independent sets and cliques).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Motivation.&lt;/strong&gt; I have a problem to which enumeration of minimal covers in hypergraphs can be reduced, and an algorithm that is exponential in the worst case and works OKish in practice.  I wonder whether doing much better is possible; or are there good reasons I haven't found something better? (The problem arises in the context of static analysis of programs.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Background.&lt;/strong&gt; A &lt;em&gt;hypergraph&lt;/em&gt; is a pair $(V, E)$ of vertices $V$ and edges $E:(V\to2)\to2$, the latter being subsets of vertices. A &lt;em&gt;cover&lt;/em&gt; $U$ is a subset of vertices that intersects all edges: $\forall e:E\;\exists u:U\;(u:e)$. A cover is &lt;em&gt;minimal&lt;/em&gt; when no strict subset of it is a cover.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Judging from the results of googling &amp;lsquo;P-enumerable&amp;rsquo;, the term is not too popular. I'm referring to the definition given by Valiant [1]:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;A relation $R$ is &lt;em&gt;P-enumerable&lt;/em&gt; iff there is a polynomial $p$ such&#xA;  that for all $x$ the set $\{y:R(x,y)\}$ can be enumerated in time&#xA;  $|\{y:R(x,y)\}|\times p(|x|)$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Related.&lt;/strong&gt; According to Johnson et al. [2], in 1988 it was unknown whether minimal covers of hypergraphs are P-enumerable.  The equivalent problem for graphs, when $\forall e:E\;(|e|=2)$, is known to be P-enumerable, since 1977 [3]. But, [2] explains why the method of [3] cannot be generalized to hypergraphs. The related decision problem of finding one minimal cover is clearly in P. The related counting problem is #P-complete for graphs [1]. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I also found some sources [4, 5] which I find hard to read: one uses many concepts I'm not familiar with, and the other is &lt;em&gt;long&lt;/em&gt;.  For example, Theorem 1.1 in [4] seems to imply that there exists a quasi-polynomial algorithm; but, [5] has an extra condition (1.2, submodularity) that wouldn't hold for the covers problem. Moreover, [5] mentions an obstruction (Proposition 5.2) similar to the one alluded to by [2] (&amp;lsquo;exercise for the reader&amp;rsquo;) for the methods of [3]. So, it seems to me that it was still unknown in 2002 whether hypergraph minimal covers are P-enumerable, although I'm not completely sure I interpret [4 and 5] correctly.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;[1] Valiant, &lt;em&gt;The Complexity of Enumeration and Reliability Problems&lt;/em&gt;, 1979.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] Johnson, Yannakakis, Papadimitriou, &lt;em&gt;On Generating All Maximal Independent Sets&lt;/em&gt;, 1988.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[3] Tsukiyama, Ide, Ariyoshi, Shirakawa, &lt;em&gt;A New Algorithm for Generating All Maximal Independent Sets&lt;/em&gt;, 1977&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[4] Boros, Elbassioni, Gurvich, Khachiyan, Makino, &lt;em&gt;Dual-Bounded Generating Problems: All Minimal Integer Solutions for a Monotone System of Linear Inequalities&lt;/em&gt;, 2002&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[5] Elbassioni, &lt;em&gt;Incremental Algorithms for Enumerating Extremal Solutions of Monotone Systems of Submodular Inequalities and Their Applications&lt;/em&gt;, 2002&lt;/p&gt;&#xA;" OwnerUserId="236" LastActivityDate="2013-07-01T13:21:26.993" Title="Is it known whether hypergraph minimal covers are P-enumerable?" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;lower-bounds&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18195" PostTypeId="1" CreationDate="2013-06-30T06:41:15.803" Score="4" ViewCount="187" Body="&lt;p&gt;$0,1$-polytopse are fundamental objects in combinatorial geometry and comvex optimization. I am interested in the size of binary representation of hyperplanes to use in the framework of computational complexity theory. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $v_1, v_2, \dots, v_N$ be points in $\{0,1\} \subseteq \mathbb{R}^n$.  Does every facet of the convex hull of these points lie on a supporting hyperplane $$\sum_{i=1}^n a_i x_i = t,$$ where every coefficient $a_i$ is either 0 or 1?&#xA;If not, how many bits are needed to express the coefficients $a_i$ of a facet hyperplane?&lt;/p&gt;&#xA;" OwnerUserId="14065" LastEditorUserId="111" LastEditDate="2013-07-01T03:10:40.987" LastActivityDate="2013-07-01T04:34:44.480" Title="On facets of 01-polytope" Tags="&lt;convex-optimization&gt;&lt;integer-programming&gt;&lt;convex-geometry&gt;" AnswerCount="2" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18198" PostTypeId="1" AcceptedAnswerId="18206" CreationDate="2013-06-30T12:16:39.613" Score="12" ViewCount="746" Body="&lt;p&gt;Recall the &lt;em&gt;diameter&lt;/em&gt; of a graph $G$ is the length of a longest shortest path in $G$. Given a graph, an obvious algorithm for computing $\text{diam}(G)$ solves the all-pairs shortest path problem (APSP) and returns the length of the longest path found.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is known that the APSP problem can be solved in optimal $O(n^2)$ time for several graph classes. For general graphs, there is an algebraic graph theoretic approach running in $O(M(n) \log n)$ time, where $M(n)$ is the bound for matrix multiplication. However, computing the diameter is apparently not critically linked to APSP, &lt;a href=&quot;http://arxiv.org/abs/1011.6181&quot;&gt;as shown by Yuster&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Are some non-trivial graph classes known for which the diameter can be computed even faster, say in linear time? &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I am especially interested in chordal graphs, and any subclasses of chordal graphs such as block graphs. For example, I think the diameter of a chordal graph $G$ can be computed in $O(n+m)$ time, if $G$ is uniquely representable as a clique tree. Such a graph is also known as &lt;em&gt;ur-chordal&lt;/em&gt;.&lt;/p&gt;&#xA;" OwnerUserId="5693" LastEditorUserId="5693" LastEditDate="2013-07-01T17:13:47.290" LastActivityDate="2019-02-25T04:48:03.643" Title="Graph classes for which the diameter can be computed in linear time" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;shortest-path&gt;" AnswerCount="2" CommentCount="4" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="18199" PostTypeId="1" AcceptedAnswerId="25276" CreationDate="2013-06-30T15:01:32.527" Score="5" ViewCount="1313" Body="&lt;p&gt;If $D_{KL}$ is the Kullback-Leibler divergence, minimizing $D_{KL}(P_{data}||P_{parameters})$ performs maximum likelihood estimation of the parameters. What happens if you minimize $D_{KL}(P_{parameters} || P_{data})$?&lt;/p&gt;&#xA;" OwnerUserId="16778" LastActivityDate="2014-08-07T22:10:41.467" Title="What happens if you minimize $D_{KL}(P_{parameters} || P_{data})$ under the Kullback-Leibler divergence?" Tags="&lt;machine-learning&gt;&lt;st.statistics&gt;" AnswerCount="1" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="18200" PostTypeId="2" ParentId="18195" CreationDate="2013-06-30T20:29:30.023" Score="5" Body="&lt;p&gt;Consider the plane through the points $(1,0,0,0)$, $(0,1,0,0)$, $(0,0,1,0)$, $(1,1,1,1)$. If you add the origin to this set of points, the hyperplane is a facet of the convex hull. The equation is $x_1 + x_2 + x_3 - 2x_4 = 1$. The coefficient on $x_4$ is not $0$ or $\pm 1$. &lt;/p&gt;&#xA;" OwnerUserId="1677" LastActivityDate="2013-06-30T20:29:30.023" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18202" PostTypeId="2" ParentId="18195" CreationDate="2013-06-30T23:11:57.683" Score="7" Body="&lt;p&gt;For your second question, the number of bits is $O(n^2 \log n)$ (i.e. $O(n\log n)$ per coefficient) and there are examples where it is $\Omega(n^2\log n)$, i.e. the bound is tight. See Corollary 26 &lt;a href=&quot;http://books.google.com/books?id=-jtadMIhPGoC&amp;amp;lpg=PA26&amp;amp;ots=HdfFTJGz8y&amp;amp;dq=size%20of%20coefficients%200-1%20polytope&amp;amp;pg=PA29#v=onepage&amp;amp;q&amp;amp;f=false&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The ideas are standard, and anyone who has seen an analysis of the ellipsoid algorithm will be familiar with this. Say you have a facet in the hyperplane spanned by vertices $v_1, \ldots v_{n-1}$. If the hyperplane is through the origin, it is defined by $a^T x = 0$ for the vector $a$ satisfying $V^Ta = 0$ where $V$ is the matrix containing $v_1, \ldots, v_{n-1}$ as columns. Using the fact that $V$ is a 0-1 matrix, you can bound the coefficients of $a$ using Cramer's rule and the Hadamard bound. If the hyperplane is not through the origin the argument is the same but the defining  equality is $a^T x = 1$ and the system of equalities you need to solve is $V^Ta = e$ where $e$ is the all-ones vector. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The lower bound is based on observing that everything above is tight and constructing a matrix $V$ such that removing any row from $V$ gives a matrix with a huge determinant. This construction is the one thing about your question which is research level, see the book or this paper by &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0097316597927801&quot; rel=&quot;nofollow&quot;&gt;Alon and Vu&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="4896" LastEditorUserId="4896" LastEditDate="2013-07-01T04:34:44.480" LastActivityDate="2013-07-01T04:34:44.480" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18203" PostTypeId="1" CreationDate="2013-07-01T06:42:26.070" Score="0" ViewCount="188" Body="&lt;p&gt;I am reading the &lt;a href=&quot;http://arxiv.org/abs/1111.1055&quot; rel=&quot;nofollow&quot;&gt;paper&lt;/a&gt; above by Lee, Gharan and Trevisan, and I am having trouble with &lt;strong&gt;lemma 4.8&lt;/strong&gt; on page 23. How do we form the set $T_1, \ldots, T_{r'}$ such that $r'&amp;gt;(1-\delta/2)k$ and each set $T_i$ satisfies both the upper bound and lower bound with respect to $\epsilon$ as in the paper ?&#xA;I am struggling with this for a while, so any help is greatly appreciated.&lt;/p&gt;&#xA;" OwnerUserId="16786" LastEditorUserId="6706" LastEditDate="2013-07-01T21:38:23.553" LastActivityDate="2013-07-01T21:38:23.553" Title="Multi-way spectral partitioning and higher-order Cheeger inequalities" Tags="&lt;spectral-graph-theory&gt;" AnswerCount="0" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="18204" PostTypeId="1" CreationDate="2013-07-01T10:01:08.463" Score="7" ViewCount="247" Body="&lt;p&gt;I am studying Goguen's paper Types as theories [1].&#xA;Based on Goguen's paper, are the following true?&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Subsort inheritance provides a classification of values, every value of the sub-sort is a value of the super-sort.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Module import inheritance provides classification of models, each model of the class of models of the importing module contains a model of the imported module.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Below are two example coded in CafeOBJ (any other algebraic specification language would do).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assumptions &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;the module is the software realization of a theory&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;loose semantics&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;normal protecting mode for import&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;the term type is synonym for sort&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;the &amp;lt; symbol indicates subsort&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;mod* SUBSORT { &#xA;[  Group &amp;lt; Elt ]&#xA;-- Signature in terms of super type&#xA;op e : -&amp;gt; Elt &#xA;op _._ : Elt Elt -&amp;gt; Elt &#xA;-- equations in terms of subtype&#xA;vars A B C : Group &#xA;eq A . e = A . &#xA;eq e . A = A . &#xA;eq A . (B . C) = ((A . B) . C) .&#xA; }&#xA;&#xA;&#xA;mod* MONOID {&#xA;-- The TRIV theory represented by the CafeOBJ &#xA;-- built in module TRIV which has Elt as its principal sort&#xA;protecting(TRIV)&#xA;op e : -&amp;gt; Elt &#xA;op _._ : Elt Elt -&amp;gt; Elt &#xA;vars A B C : Elt &#xA;eq A . e = A . &#xA;eq e . A = A . &#xA;eq A . (B . C) = ((A . B) . C) .&#xA;}&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Regards,&#xA;Pat&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1]Goguen, J. (1991). Types as Theories. Topology and Category in Computer&#xA;Science. G. M. Reed, A. W. Roscoe and R. F. Wachter, Oxford University&#xA;Press: 357-390.&#xA;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.16.2241&quot; rel=&quot;nofollow&quot;&gt;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.16.2241&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="16787" LastEditorUserId="16787" LastEditDate="2013-07-12T11:29:34.470" LastActivityDate="2013-07-12T11:29:34.470" Title="Types as theories" Tags="&lt;semantics&gt;&lt;denotational-semantics&gt;" AnswerCount="0" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="18206" PostTypeId="2" ParentId="18198" CreationDate="2013-07-01T11:18:49.627" Score="9" Body="&lt;p&gt;The eccentricity of a vertex &lt;span class=&quot;math-container&quot;&gt;$v$&lt;/span&gt; is the length of a longest shortest path starting from &lt;span class=&quot;math-container&quot;&gt;$v$&lt;/span&gt;.  The diameter is the maximal eccentricity over all vertices.&#xA;Any BFS from a vertex will establish its eccentricity.&#xA;A key idea for efficient diameter finding is therefore to preprocess the graph to find a small set of vertices, at least one of which achieves maximal eccentricity.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Running a &lt;em&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Lexicographic_breadth-first_search&quot; rel=&quot;nofollow noreferrer&quot;&gt;lexicographic breadth-first search&lt;/a&gt;&lt;/em&gt;, the end-vertex often has high eccentricity.  In particular, it is guaranteed to have eccentricity at most one less than the diameter for chordal graphs.  For some subclasses of chordal graphs such as &lt;a href=&quot;http://www.graphclasses.org/classes/gc_234.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;interval graphs&lt;/a&gt;, it is guaranteed to have maximal eccentricity.  This also holds for some non-chordal classes such as &lt;a href=&quot;http://www.graphclasses.org/classes/gc_60.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;&lt;span class=&quot;math-container&quot;&gt;$\{\text{AT},\text{claw}\}$&lt;/span&gt;-free&lt;/a&gt; graphs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;LBFS and BFS are both linear in the size of the graph, but of course if &lt;span class=&quot;math-container&quot;&gt;$m = \Omega(n^2)$&lt;/span&gt; (such as &lt;span class=&quot;math-container&quot;&gt;$K_n$&lt;/span&gt;) then the runtime will not be &lt;span class=&quot;math-container&quot;&gt;$o(n^2)$&lt;/span&gt;.  Your discussion implies that you probably really want a linear algorithm &lt;span class=&quot;math-container&quot;&gt;$O(m+n)$&lt;/span&gt; rather than &lt;span class=&quot;math-container&quot;&gt;$o(n^2)$&lt;/span&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So for some subclasses of chordal graphs, a linear algorithm is to run LBFS, take the end-vertex, then run BFS starting at that vertex.  For chordal graphs this will determine the diameter with an error of at most 1.  The graphs for which this is exact seem to be those where the even powers are chordal.  These are precisely those chordal graphs that contain no rising sun or &lt;span class=&quot;math-container&quot;&gt;$(\text{rising sun}- K_2)$&lt;/span&gt; subgraph that preserves distances.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://i.stack.imgur.com/l7mjT.gif&quot; rel=&quot;nofollow noreferrer&quot;&gt;&lt;img src=&quot;https://i.stack.imgur.com/l7mjT.gif&quot; alt=&quot;rising sun graph&quot;&gt;&lt;/a&gt;&lt;br&gt;&#xA;&lt;sub&gt;(source: &lt;a href=&quot;http://www.graphclasses.org/images/g_risingsun.gif&quot; rel=&quot;nofollow noreferrer&quot;&gt;graphclasses.org&lt;/a&gt;)&lt;/sub&gt;  &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Feodor F. Dragan, Falk Nicolai and Andreas Brandstädt, &lt;em&gt;LexBFS-orderings and powers of graphs&lt;/em&gt;, WG 1996, LNCS 1197, 166–180.  doi:&lt;a href=&quot;http://dx.doi.org/10.1007/3-540-62559-3_15&quot; rel=&quot;nofollow noreferrer&quot;&gt;10.1007/3-540-62559-3_15&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I do not know if this can be extended to compute the diameter for all chordal graphs precisely.  Corneil's survey seems to indicate that this was still open in 2004.  I also don't know if an analysis has been done on extending the search from one vertex to a small constant number or &lt;span class=&quot;math-container&quot;&gt;$\log n$&lt;/span&gt; starting vertices; this might be interesting to explore.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Derek G. Corneil, &lt;em&gt;Lexicographic Breadth First Search – A Survey&lt;/em&gt;, WG 2004, LNCS 3353, 1–19. doi:&lt;a href=&quot;http://dx.doi.org/10.1007/978-3-540-30559-0_1&quot; rel=&quot;nofollow noreferrer&quot;&gt;10.1007/978-3-540-30559-0_1&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="109" LastEditorUserId="32711" LastEditDate="2019-02-25T04:48:03.643" LastActivityDate="2019-02-25T04:48:03.643" CommentCount="1" ContentLicense="CC BY-SA 4.0" />
  <row Id="18209" PostTypeId="2" ParentId="18190" CreationDate="2013-07-01T13:21:26.993" Score="6" Body="&lt;p&gt;You are looking for an &lt;em&gt;output-polynomial&lt;/em&gt; algorithm for enumerating &lt;em&gt;minimal transversals&lt;/em&gt; of hypergraphs (or &lt;em&gt;hitting sets&lt;/em&gt; for set systems). According to &lt;a href=&quot;http://www.ii.uib.no/~pinar/Enumeration-line.pdf&quot;&gt;Golovach et al. (ICALP 2013)&lt;/a&gt;,&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;The question whether the minimal transversals&#xA;  of a hypergraph can be enumerated in output polynomial time is a fundamental and&#xA;  challenging question; it has been open for several decades and has triggered extensive&#xA;  research. [...]&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;Whether or not all minimal transversals of a&#xA;  hypergraph can be listed in output polynomial time has been identied as a fundamental&#xA;  challenge in a long list of seminal papers, e.g., [10, 11, 12, 13, 14, 19, 30], and it remains&#xA;  unresolved despite continuous attempts since the 1980's.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="72" LastActivityDate="2013-07-01T13:21:26.993" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="18210" PostTypeId="2" ParentId="14856" CreationDate="2013-07-01T15:02:12.807" Score="4" Body="&lt;p&gt;Recently, Ta-Shma [STOC 2013], has shown that spectral approximation of matrices, can be carried out in quantum logspace.  As such, spectral approximation is in DSPACE($log^2$) with random coins, and I believe that actually can be done in $NC^2$ with random coins, because it just amounts to iterated matrix multiplication.&lt;/p&gt;&#xA;" OwnerUserId="6238" LastActivityDate="2013-07-01T15:02:12.807" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18213" PostTypeId="2" ParentId="17914" CreationDate="2013-07-01T20:39:09.140" Score="8" Body="&lt;p&gt;Here are some &quot;nearby best&quot; references, for what it's worth. It would seem the way to go on this question is to reduce it to a question on &quot;noisy Turing machines&quot;, which have been studied (somewhat recently), and which are apparently the nearest relevant area of the literature. The basic/general/reasonable answer seems to be that if the TM can resist/correct for noise (as is demonstrated in these references), it's quite likely the CA can also, within some boundaries/thresholds.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The question of how to reduce a &quot;noisy CA&quot; to a &quot;noisy TM&quot; (and vice versa) is more open. It may not be hard but there does not appear to be published research in the area. Another issue is that the noisy TM is a new model and therefore there may be multiple (natural?) ways to represent a noisy TM. For example, the following papers look at disruptions in the state transition function, but another natural model is disruptions in the tape symbols (the latter being more connected to noisy CAs?). There may be some relation between the two.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://cs-people.bu.edu/ilir/thesis.html&quot; rel=&quot;noreferrer&quot;&gt;Fault-tolerant Turing Machine&lt;/a&gt; by Ilir Capuni, 2012 (PhD thesis)&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;The Turing machine is the most studied universal model of computation. This thesis studies the question if there is a Turing machine that can compute reliably even when violations of its transition function occur independently of each other with some small probability.&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;In this thesis, we prove the existence of a Turing machine that with a polynomial overheadcan simulate any other Turing machine, even when it is subject to faults of the above type, thereby answering the question that was open for 25 years.&lt;/li&gt;&#xA;  &lt;li&gt;&lt;a href=&quot;http://arxiv.org/pdf/1203.1335.pdf&quot; rel=&quot;noreferrer&quot;&gt;A Turing Machine Resisting Isolated Bursts Of&#xA;  Faults&lt;/a&gt; by Ilir Capuni and Peter Gacs, 2012&lt;/li&gt;&#xA;  &lt;li&gt;&lt;a href=&quot;http://www.liafa.jussieu.fr/~asarin/papers/noisyturing.pdf&quot; rel=&quot;noreferrer&quot;&gt;Noisy Turing Machines&lt;/a&gt; by Eugene Asarin and Pieter Collins, 2005&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;  (Another question: could there be some connection between noisy TMs and &lt;a href=&quot;http://en.wikipedia.org/wiki/Probabilistic_Turing_machine&quot; rel=&quot;noreferrer&quot;&gt;probabilistic Turing Machines&lt;/a&gt;?)&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="4193" LastEditDate="2013-08-06T20:23:12.117" LastActivityDate="2013-08-06T20:23:12.117" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18215" PostTypeId="1" CreationDate="2013-07-01T22:51:26.953" Score="4" ViewCount="408" Body="&lt;p&gt;I am trying to understand the semantics of Haskell’s type classes (TCs) from a model-theory point of view. It might difficult to give precise model theoretic semantics to type classes (see 1, and 2).  I am aware that the primary purpose of TCs is to handle overloading effectively.  However, TCs also provide a means of specification which is broadly similar to signatures in algebraic specification languages (e.g. CafeOBJ or Maude).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The intuition is that TCs are roughly analogous to loose specifications and the instances are analogous to implementations. With the caveat that the equations are definitional in Haskell, axiomatic properties cannot be expressed.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some rough, but correct, correspondence will do for my current research question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a parameterized class &lt;code&gt;(class Stack x ...)&lt;/code&gt;, we can instantiate the formal parameter &lt;code&gt;x&lt;/code&gt; with an actual parameter, say &lt;code&gt;instance Stack [] =... &lt;/code&gt;(see below) The signature of the class methods and their type constraints are mapped to the more concrete instance (ignoring default implementations for the moment).&#xA;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The &lt;code&gt;instance (Stack [])&lt;/code&gt; could be regarded as a refinement of &lt;code&gt;(Stack x) &lt;/code&gt;specification, the container part is fixed with [], but the type of the elements is left open. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are the model classes of &lt;code&gt;(Stack x)&lt;/code&gt; and &lt;code&gt;(Stack [])&lt;/code&gt;  related by a reduct or forgetful functor from &lt;code&gt;(Stack [])&lt;/code&gt; to &lt;code&gt;(Stack x)&lt;/code&gt;? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Could I say &lt;code&gt;(Stack [])&lt;/code&gt; implements &lt;code&gt;(Stack x)&lt;/code&gt;?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is my attempt to relate models of TCs with  models of their instances.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Models specified in TC           =                      Set of models in instances &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&#xA; $\mathcal{Mod}(\Sigma_c,\epsilon_c,\delta_c) =  \left\{\mathcal{Mod}_i(\Sigma_i,\epsilon_i,\delta_i)\right\}$&#xA;&lt;/p&gt;&#xA;&#xA;&lt;p&gt; The mappings could be interpreted as:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\Sigma_c \rightarrow \Sigma_i $ identity signature morphism&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\epsilon_c \rightarrow \epsilon_i $ No default equations, mapping is from $\emptyset$ of sentences to implementaions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\delta_c \rightarrow \delta_i $ empty data type to concrete data type.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;p&gt;I do not think that there is any relation between the set of instances ({model1,model2,..} where each model in represented by a Haskell instance) &lt;/p&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;p&gt;Any feedback on this posting would be most welcome. &lt;/p&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;p&gt;Regards, &lt;/p&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;p&gt;Pat &lt;/p&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] &lt;a href=&quot;https://cstheory.stackexchange.com/questions/12524/a-mathematical-categorical-description-of-type-classes&quot;&gt;A mathematical (categorical) description of type classes&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] &lt;a href=&quot;http://lambda-the-ultimate.org/node/3215#comment-47273&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://lambda-the-ultimate.org/node/3215#comment-47273&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;&#xA;&#xA;module StackTypeClass where&#xA;&#xA;newtype V2 a = V2 (a, a) deriving Show&#xA;&#xA;-- Specification&#xA;&#xA;class Stack s where&#xA;&#xA;  empty :: s a&#xA;&#xA;  push  :: a -&gt; s a -&gt; s a&#xA;&#xA;  top   :: s a -&gt;  a&#xA;&#xA;  pop   :: s a -&gt; s a&#xA;&#xA;-- Implementation or refinement 1 &#xA;&#xA;instance Stack [] where&#xA;&#xA;  empty = []&#xA;&#xA;  push  s xs   = s:xs&#xA;&#xA;  top   xs     = head xs&#xA;&#xA;  pop  xs    =  tail xs&#xA;&#xA;&#xA;&#xA;-- Implementation or refinement 1 &#xA;&#xA;instance Stack (V2 ) where&#xA;&#xA;  empty = V2 (undefined,undefined)&#xA;&#xA;  push  s (V2 (a,b)) = (V2 (s,b))&#xA;&#xA;  top  (V2 t)   =  fst t&#xA;&#xA;  pop  (V2 (a,b))   =  (V2 (b,b))&#xA;&#xA;{-&#xA;&#xA;Tests&#xA;&#xA;push (1::Int) (V2 ((6::Int),(1::Int)))&#xA;&#xA;pop (push (7::Int) (V2 ((1::Int),(1::Int))))&#xA;&#xA;top (V2 (6,5))&#xA;&#xA;:t (empty::(V2 (a,a)))&#xA;&#xA;:t (empty::([a])&#xA;&#xA;-}&#xA;&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;" OwnerUserId="16787" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.743" LastActivityDate="2013-07-12T09:15:04.330" Title="Is there a model theory for Haskell type classes?" Tags="&lt;fl.formal-languages&gt;&lt;semantics&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="18216" PostTypeId="2" ParentId="11464" CreationDate="2013-07-02T10:12:12.947" Score="4" Body="&lt;p&gt;Roughly speaking, the &lt;em&gt;mixing time&lt;/em&gt; is the worst-case hitting time of the half the vertices.  &lt;em&gt;Cover time&lt;/em&gt; is a stopping time when ALL subsets of vertices are hit.  In other words, it is always larger than the the mixing time.  Thus is your example one cannot have mixing time $n^{1000}$ and cover time $n^2$.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Making this intuition precise requires a bit of care since we need to relate mixing times to eigenvalue gap, take not half the vertices but half the stationary distribution $\pi$, etc.  None of this is difficult.  Start with &lt;a href=&quot;http://www.cs.elte.hu/~lovasz/mixtimes.ps&quot; rel=&quot;nofollow&quot;&gt;this paper&lt;/a&gt; by Lovasz and Winkler, which gives the above version of the mixing time and relates it to more standard mixing time in total variation.  &lt;/p&gt;&#xA;" OwnerUserId="16704" LastActivityDate="2013-07-02T10:12:12.947" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18217" PostTypeId="2" ParentId="18198" CreationDate="2013-07-02T11:25:23.343" Score="3" Body="&lt;p&gt;The mentioned block graphs in the question are distance-hereditary. A linear time algorithm for computing the diameter for distance-hereditary graphs is given in [1] (see Theorem 5). &lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;[1] &lt;a href=&quot;http://www.cs.kent.edu/~dragan/dhgdomclique.pdf&quot; rel=&quot;nofollow&quot;&gt;Dragan, Feodor F. Dominating cliques in distance-hereditary graphs. Springer Berlin Heidelberg, 1994.&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="5693" LastActivityDate="2013-07-02T11:25:23.343" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18219" PostTypeId="1" CreationDate="2013-07-02T14:58:12.490" Score="2" ViewCount="151" Body="&lt;p&gt;Eve is an intelligence agency with the capability to scan all cleartext communications and do traffic analysis against encrypted communications.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are n Alices, who each want to communicate secretly with some of the other Alices. So, they want the content of their communication to be secret, and the fact that they are actively trying to communicate secretly to be secret.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are also N&gt;&gt;n Bobs, who disagree with mass surveillance but don't want to do anything  which would give them any legal liability, such as transmitting illegal material (IE, they don't want to run TOR nodes). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;So the Bobs decide to help by sending junk communications to other Bobs, which are indistinguishable from encrypted data. An individual Bob, if challenged, can show that his transmissions are junk, thus avoiding legal liability (NB -  I Am Not A Lawyer). For the purpose of the exercise Eve in not allowed to challenge 'many' Bobs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Eve wins if she can distinguish the Alices from the Bobs, or at least, as many Alices as possible. In particular, Eve may start by knowing at least some of the Alices; we don't want the security of the other Alices to collapse if she does.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A dumb approach is as follows: For each period of time, each Bob (or masquerading Alice) chooses another Bob(Alice) to communicate with at random from a public list. The Bobs send junk, the Alices send their encrypted message. In this scheme, the Alices are indistinguishable from the Bobs, but the Alices only obtain 1/N of the bandwidth of an individual communication, which is very low since N is large, and have very high latency, since they have to wait many time periods before they happen to communicate with who they want.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is it possible to do better? &lt;/p&gt;&#xA;" OwnerUserId="701" LastActivityDate="2013-07-02T16:30:42.700" Title="Can decoying provide security against traffic analysis?" Tags="&lt;cr.crypto-security&gt;" AnswerCount="1" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="18220" PostTypeId="1" AcceptedAnswerId="18224" CreationDate="2013-07-02T16:09:15.930" Score="7" ViewCount="507" Body="&lt;p&gt;Given an $m \times n$ matrix ($m$ rows) containing only $0$'s and $1$'s, what is the complexity of finding an $m \times k$ submatrix (of $k$ columns) such that within the chosen submatrix there is no row containing only zeroes, in other words, every row contains at least one $1$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, given the $4 \times 3$ matrix&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\begin{bmatrix} 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; 1 \\&#xA;                 0 &amp;amp; 1 &amp;amp; 1 &amp;amp; 0 \\&#xA;                 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; 1 \\&#xA;                 1 &amp;amp; 1 &amp;amp; 0 &amp;amp; 1 \end{bmatrix}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;a subset of $k=3$ columns that fails to fulfill this condition is that of the first columns, as the third row has all zeros within this submatrix, but the column set $\{1, 3, 4\}$ would be a solution.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I suspect this is a hard problem, but I haven't been able to find a direct reference. I'm interested in this problem because of its applications in cryptography.&lt;/p&gt;&#xA;" OwnerUserId="4576" LastEditorUserId="4576" LastEditDate="2013-07-02T16:14:18.357" LastActivityDate="2018-02-28T11:50:58.247" Title="Binary matrix column subset selection complexity" Tags="&lt;np-hardness&gt;&lt;combinatorics&gt;&lt;boolean-matrix&gt;" AnswerCount="2" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18222" PostTypeId="2" ParentId="18220" CreationDate="2013-07-02T16:26:23.213" Score="2" Body="&lt;p&gt;It is NP-hard, here is a reduction from SAT:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You have variables $x_1,\dots,x_m$, and clauses $C_1,\dots,C_n$ on these variables.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You build the following $(m+n)\times 2m$ matrix:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For $i\in[1,m]$, the $i^{th}$ row contains only $0$ except two $1$'s in column $i$ (representing variable $x_i$) and column $m+i$ (representing $\neg x_i$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then, the following $n$ rows are clauses : row $n+j$ contains exactly variables (or negated variables) appearing in clause $C_j$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There exists a subseteq of columns of size $m$ if and only if the formula is satisfiable.&#xA;The first $m$ rows forces to choose for each $i$, either $x_i$ or $\neg x_i$, and the last rows ensures that every clause is satisfied by the chosen valuation.&lt;/p&gt;&#xA;" OwnerUserId="8953" LastEditorUserId="48755" LastEditDate="2018-02-28T11:50:58.247" LastActivityDate="2018-02-28T11:50:58.247" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="18223" PostTypeId="2" ParentId="18219" CreationDate="2013-07-02T16:30:42.700" Score="-1" Body="&lt;p&gt;How can Bobs prove that their transmissions are junk? Given that the transmissions can be encrypted using information theoretically secure one-time pads (OTPs), it is &lt;em&gt;not&lt;/em&gt; possible to prove that they are not significant messages. Even if the messages from Bobs would be assumed to be encrypted with a single cipher of a good grade (AES?) it would be very hard to show that there is &lt;em&gt;no&lt;/em&gt; key that decodes a given message into meaningful content, because, assuming such a method would exist, it would simultaneously show that the cipher (AES?) is broken. A statistical method showing that a message from a Bob cannot be an AES-encrypted message would correspond to a distinguisher for AES and that would also signal that it is a weak cipher.&lt;/p&gt;&#xA;" OwnerUserId="4576" LastActivityDate="2013-07-02T16:30:42.700" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="18224" PostTypeId="2" ParentId="18220" CreationDate="2013-07-02T16:33:02.490" Score="8" Body="&lt;p&gt;Rephrasing as a set system, each row represents a subset $E_i$ of some set $X$, for $i=1,2,\dots,m$.  You want a set $Y \subseteq X$ with at most $k$ elements, such that $E_i \cap Y \ne \emptyset$ for each $i$.  In other words, you want a &lt;a href=&quot;http://en.wikipedia.org/wiki/Set_cover_problem#Hitting_set_formulation&quot;&gt;hitting set&lt;/a&gt; of size at most $k$; this problem is NP-complete.&lt;/p&gt;&#xA;" OwnerUserId="109" LastActivityDate="2013-07-02T16:33:02.490" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18225" PostTypeId="2" ParentId="18189" CreationDate="2013-07-02T16:48:40.020" Score="7" Body="&lt;p&gt;For concreteness, say that the pdf of the r.v. &lt;span class=&quot;math-container&quot;&gt;$X_i$&lt;/span&gt; is &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$$p(X_i = x) = \frac{1}{2} \lambda_i e^{-\lambda_i|x|}.$$&lt;/span&gt; &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is the Laplace distribution, or the double exponential distribution. Its variance is &lt;span class=&quot;math-container&quot;&gt;$\frac{2}{\lambda_i^2}$&lt;/span&gt;. The cdf is&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$$&#xA;\Pr[X_i \leq x] = 1 - \frac{1}{2}e^{-\lambda_i x}&#xA;$$&lt;/span&gt;&#xA;for &lt;span class=&quot;math-container&quot;&gt;$x \geq 0$&lt;/span&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The moment generating function of &lt;span class=&quot;math-container&quot;&gt;$X_i$&lt;/span&gt; is &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$$&#xA;\mathbf{E}\ e^{uX_i} = \frac{1}{1 - u^2/\lambda_i^2},&#xA;$$&lt;/span&gt;&#xA;for &lt;span class=&quot;math-container&quot;&gt;$|u| &amp;lt; \lambda_i$&lt;/span&gt;. Using this fact and the exponential moment method which is standard in the proof of Chernoff bounds, you get that for &lt;span class=&quot;math-container&quot;&gt;$X = \sum_i X_i$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$\sigma^2 = 2\sum_i \lambda_i^{-2}$&lt;/span&gt;, the following inequality holds&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$$&#xA;\Pr[X &amp;gt; t\sigma] &amp;lt; e^{-t^2/4},&#xA;$$&lt;/span&gt;&#xA;as long as &lt;span class=&quot;math-container&quot;&gt;$t \leq 2\sigma \min_{i}{\lambda_i}$&lt;/span&gt;. You can find a detailed derivation in the proof of Lemma 2.8 of &lt;a href=&quot;http://eprint.iacr.org/2010/076.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;this paper&lt;/a&gt;. &lt;/p&gt;&#xA;" OwnerUserId="4896" LastEditorUserId="4896" LastEditDate="2019-11-01T19:13:03.847" LastActivityDate="2019-11-01T19:13:03.847" CommentCount="3" ContentLicense="CC BY-SA 4.0" />
  <row Id="18226" PostTypeId="1" CreationDate="2013-07-02T20:11:04.087" Score="6" ViewCount="178" Body="&lt;p&gt;Suppose we have a set $$P=\{p_1,p_2,...,p_K\}$$&#xA;where $$1\leq p_k\leq N , k=1,...,K \qquad \&amp;amp; \quad p_k \in \mathbb{N} $$ and $p_k$'s are distinct.&#xA;We calculate the differences as: $$d=p_i-p_j\mod N,\quad i\ne j$$&#xA;Now let $a_d$ denote the number of occurrence of $d$ (for $d = 1, 2, \dots , N −&#xA;1$), then we have a set $$A=\{a_1,a_2,...,a_{N-1} \}$$&#xA;As you know given $P$ and $N$, it is easy to build $A$. Although given $A$ and $K$ there could be many $P$'s leading to $A$ or even no possible $P$ leading to $A$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I want to know, given $A$ and $K$, is there any algorithm just saying whether there is a $P$ leading to this $A$ or not?&lt;/p&gt;&#xA;" OwnerUserId="16810" LastActivityDate="2018-01-21T22:36:11.323" Title="Difference Sets" Tags="&lt;co.combinatorics&gt;&lt;graph-algorithms&gt;&lt;nt.number-theory&gt;&lt;comp-number-theory&gt;&lt;combinatorics&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18227" PostTypeId="2" ParentId="18226" CreationDate="2013-07-02T20:58:15.247" Score="7" Body="&lt;p&gt;Your problem seems a special case of the &lt;em&gt;turnpike reconstruction problem&lt;/em&gt; (for which no polynomial time algorithm is known). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;See for example: Shiteng Chen, Zhiyi Huang, and Sampath Kannan, &lt;a href=&quot;http://www.seas.upenn.edu/~hzhiyi/publications/CHK09-ISAAC.pdf&quot;&gt;&quot;Reconstructing Numbers from Pairwise Function Values&quot;&lt;/a&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Abstract&lt;/strong&gt;: The turnpike problem is one of the few natural problems&#xA;that are neither known to be NP-complete nor solvable by efficient algorithms.&#xA;We seek to study this problem in a more general setting.&#xA;We consider the generalized problem which tries to resolve set $A =&#xA;\{a_1, a_2, ... , a_n\}$ from pairwise function values $\{f(a_i, a_j)\mid 1 \leq i, j \leq n\}$ for a given bivariate function $f$. We call this problem the &lt;em&gt;Number Reconstruction&#xA;problem&lt;/em&gt;. Our results include efficient algorithms when $f$&#xA;is monotone and non-trivial bounds on the number of solutions when $f$&#xA;is the sum....&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2013-07-02T21:06:03.520" LastActivityDate="2013-07-02T21:06:03.520" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18228" PostTypeId="1" CreationDate="2013-07-03T00:07:35.493" Score="6" ViewCount="1489" Body="&lt;p&gt;While working through Fogus' Functional Javascript, I came across the trampoline function, which can be used to make safe recursive functions that don't blow up the stack. In Fogus' words, &quot;Of course there is no free lunch, even when using trampolines. While I’ve managed to avoid exploding the call stack, I’ve just transferred the problem to the heap.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On top of moving this problem to the heap, the trampolined version of the function is slower. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is it possible to make a &quot;smart&quot; trampoline function that takes two forms of a function, a trampolined version and a non-trampolined version, and chooses (or predicts) the most efficient strategy?* &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Ref: &lt;a href=&quot;https://github.com/funjs/book-source/blob/master/chapter06.js#L195&quot;&gt;https://github.com/funjs/book-source/blob/master/chapter06.js#L195&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;*(or better yet combines both strategies (is this possible?) that uses fewer trampoline &quot;bounces&quot;, where each bounce is almost the maximum number of computations that can be performed recursively using the stack strategy)&lt;/p&gt;&#xA;" OwnerUserId="16815" LastActivityDate="2017-01-09T20:33:56.407" Title="Trampoline that automatically balances heap and stack" Tags="&lt;functional-programming&gt;&lt;recursion&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="18231" PostTypeId="2" ParentId="3540" CreationDate="2013-07-03T02:57:14.073" Score="10" Body="&lt;p&gt;&quot;Logic and Discrete Mathematics for Computer Scientists&quot;, by James Caldwell. Manuscript Date: August 22, 2011. Available at: &lt;a href=&quot;http://www.cs.uwyo.edu/~jlc/courses/2300/book.pdf&quot;&gt;http://www.cs.uwyo.edu/~jlc/courses/2300/book.pdf&lt;/a&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&quot;Data Structures and Algorithms, The Basic Toolbox&quot;, by Kurt Mehlhorn. Manuscript Date: August 2008. Available at: &lt;a href=&quot;http://www.mpi-inf.mpg.de/~mehlhorn/ftp/Toolbox/&quot;&gt;http://www.mpi-inf.mpg.de/~mehlhorn/ftp/Toolbox/&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&quot;An Introduction to Graph Theory and Complex Networks&quot;, by Martin Van Steen. Manuscript Date: January 2010. Available at: &lt;a href=&quot;http://www.distributed-systems.net&quot;&gt;http://www.distributed-systems.net&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&quot;Category Theory for Computing Science,&quot; by Michael Barr and Charles Wells. Available at &lt;a href=&quot;http://www.tac.mta.ca/tac/reprints/articles/22/tr22.pdf&quot;&gt;http://www.tac.mta.ca/tac/reprints/articles/22/tr22.pdf&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&quot;Philosophy of Computer Science,&quot; by William J. Rappaport. Manuscript Date: December 24, 2013. Available at: &lt;a href=&quot;http://www.cse.buffalo.edu/~rapaport/Papers/phics.pdf&quot;&gt;http://www.cse.buffalo.edu/~rapaport/Papers/phics.pdf&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&quot;Fractional Graph Theory: A Rational Approach To The Theory Of Graphs,&quot; by Edward Scheinerman And Daniel Ullman. Available at &lt;a href=&quot;http://www.ams.jhu.edu/~ers/fgt/fgt.pdf&quot;&gt;http://www.ams.jhu.edu/~ers/fgt/fgt.pdf&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="12867" LastEditorUserId="12867" LastEditDate="2014-02-26T06:29:15.183" LastActivityDate="2014-02-26T06:29:15.183" CommentCount="0" CommunityOwnedDate="2013-07-03T02:57:14.073" ContentLicense="CC BY-SA 3.0" />
  <row Id="18232" PostTypeId="1" CreationDate="2013-07-03T07:23:26.393" Score="1" ViewCount="176" Body="&lt;p&gt;I am new here in StackExchange and this will be my first question to ask. I have a background in Computer Science and I am interested in looking into Distributed Quantum Computing (DQC). I have read some papers in DQC and one of the mentioned motivations in doing research in this field is the issue of quantum decoherence with respect to the size of superposition in the quantum system being used for computation. One might opt to resort to DQC by letting quantum computers using small quantum superpositions perform distributed computation than use a monolithic quantum computer using large quantum superposition (resulting to higher decoherence rate). The papers which I have read so far do not provide references to researches working on the relationship of size of quantum superposition to the rate of quantum decoherence though. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am interested to know whether an upper bound on the size of superposition of a quantum system can be defined as a factor for considering DQC with respect to decoherence rate in place of the monolithic design of a quantum computer using a large quantum superposition.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are also works on coping up with decoherence like manipulation of the environment to improve the rate. I just think that DQC is still an interesting field for research though.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would appreciate any references to works on relationship of size of superposition to rate of decoherence anyone could provide.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Best Regards.&lt;/em&gt;&lt;/p&gt;&#xA;" OwnerUserId="16817" LastEditorUserId="1037" LastEditDate="2013-07-03T17:26:23.887" LastActivityDate="2013-07-03T17:26:23.887" Title="Relationship between size of quantum superposition and rate of decoherence" Tags="&lt;quantum-computing&gt;" AnswerCount="0" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="18233" PostTypeId="1" CreationDate="2013-07-03T09:21:52.260" Score="9" ViewCount="5736" Body="&lt;p&gt;Lambda Calculus is very simple. Are there even simpler turing-complete systems? Which is the simplest of them all?&lt;/p&gt;&#xA;" OwnerUserId="16818" LastEditorUserId="77" LastEditDate="2013-07-03T11:51:11.320" LastActivityDate="2020-08-14T14:09:21.407" Title="What are the simplest turing-complete systems?" Tags="&lt;fl.formal-languages&gt;&lt;turing-machines&gt;&lt;lambda-calculus&gt;&lt;functional-programming&gt;" AnswerCount="8" CommentCount="8" FavoriteCount="6" ClosedDate="2013-07-03T17:53:16.463" ContentLicense="CC BY-SA 3.0" />
  <row Id="18234" PostTypeId="2" ParentId="18233" CreationDate="2013-07-03T09:47:29.997" Score="4" Body="&lt;p&gt;If by simple you mean &quot;easy to define&quot; then I would advise &lt;a href=&quot;http://en.wikipedia.org/wiki/Semi-Thue_system&quot; rel=&quot;nofollow&quot;&gt;semi-Thue systems&lt;/a&gt;, a simple family of string rewrite systems.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I often use semi-Thue systems in hardness proofs since they are much simpler to define than lambda-calculus or Turing machines.&lt;/p&gt;&#xA;" OwnerUserId="16371" LastActivityDate="2013-07-03T09:47:29.997" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18235" PostTypeId="2" ParentId="18233" CreationDate="2013-07-03T09:56:21.050" Score="5" Body="&lt;p&gt;It depends how you define &lt;em&gt;simplest&lt;/em&gt;. One of the simplest languages I know are &lt;a href=&quot;https://en.wikipedia.org/wiki/Iota_and_Jot&quot; rel=&quot;nofollow noreferrer&quot;&gt;Iota and Jot&lt;/a&gt;. A detailed description can be found &lt;a href=&quot;https://www.nyu.edu/projects/barker/Iota/&quot; rel=&quot;nofollow noreferrer&quot;&gt;here&lt;/a&gt;. Both are Turing-complete languages that use just two symbols (no variables etc.).&lt;/p&gt;&#xA;&lt;p&gt;Iota programs can be viewed as binary trees with &lt;span class=&quot;math-container&quot;&gt;$*$&lt;/span&gt; at nodes and &lt;span class=&quot;math-container&quot;&gt;$i$&lt;/span&gt; at leafs. So the whole program is solely determined by the shape of its binary tree. Any such a binary tree forms a valid program.&lt;/p&gt;&#xA;&lt;p&gt;Jot is similar, but slightly different. Programs in Jot are (arbitrary) sequences of 1's and 0's. Any such a binary sequence forms a grammatically valid program.&lt;/p&gt;&#xA;" OwnerUserId="10336" LastEditorUserId="53207" LastEditDate="2020-08-14T14:09:21.407" LastActivityDate="2020-08-14T14:09:21.407" CommentCount="0" ContentLicense="CC BY-SA 4.0" />
  <row Id="18236" PostTypeId="2" ParentId="18228" CreationDate="2013-07-03T10:34:31.017" Score="12" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;Is it possible to make a &quot;smart&quot; trampoline function that takes two forms of a function, a trampolined version and a non-trampolined version, and chooses (or predicts) the most efficient strategy?* &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Yes, it's possible to do things like this, but if you control the compiler, it's usually faster and easier to do something else. The main exception is when you are writing parallel code. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Trampolining style essentially does two things. &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;First, you do a continuation-passing-style transformation to make the continuation explicit as a data structure. However, if you directly represent continuations as functions, the standard calling conventions mean that you will blow the stack. This is because programs in CPS never directly return -- they always pass control to their continuation. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;So instead of representing continuations as functions, you represent continuations as &lt;em&gt;resumptions&lt;/em&gt;. A resumption is a data structure representing a computation, which lets you evaluate a bit at a time until it is finished. That is, resumptions may be seen as a datatype declaration such as:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;type 'a resumption = Done of 'a | Wait of (unit -&amp;gt; 'a resumption)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;So a value of type &lt;code&gt;t resumption&lt;/code&gt; is either a value &lt;code&gt;Done v&lt;/code&gt; containing a value &lt;code&gt;v&lt;/code&gt; of type &lt;code&gt;t&lt;/code&gt;, representing a finished computation, or it is a value &lt;code&gt;Wait thunk&lt;/code&gt;, where &lt;code&gt;thunk&lt;/code&gt; is a function that will do some work and hand you back a new resumption representing a bit more progress towards the answer. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Once you represent continuations as resumptions, you can write a &lt;em&gt;scheduler&lt;/em&gt; which runs in a while-loop, and incrementally forces the resumption. Since the scheduler runs in a loop, it won't automatically blow the stack. I call this loop a &lt;em&gt;scheduler&lt;/em&gt; because precisely the same approach of using resumptions is used in implementations of green/lightweight threads. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Implementing resumptions naively is slow, because the continuations in most programming languages are used in highly stylized ways. That is, in most languages you can implement continuations as a single imperatively-updated stack, and the overhead of trampolining simply arises from the fact that a linked list of thunks is a less efficient representation than a mutable stack. So compiler writers often use resumption-based intermediate forms, but implement them using better data structures. (And as a programmer, you can often use an optimized continuation representation &quot;by hand&quot;.) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Papers you might want to look at:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Ganz, Friedman and Wand's 1999 ICFP paper, &lt;a href=&quot;http://www.cs.indiana.edu/~dfried/ts.ps&quot; rel=&quot;nofollow&quot;&gt;&lt;em&gt;Trampolined Style&lt;/em&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is probably the best survey paper on trampolining and how it works. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Wand's 1980 JACM paper, &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.83.8567&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;nofollow&quot;&gt;&lt;em&gt;Continuation-Based Program Transformation Strategies&lt;/em&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is one of the fundamental papers on using custom data structures to represent continuations, and how it can make algorithms radically more efficient. The notation is kind of old-fashioned and clunky, but once you get past that, it's extremely accessible and mind-blowing. Highly recommended! &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Hieb, Dybvig and Bruggeman's 1990 PLDI paper, &lt;a href=&quot;http://www.cs.indiana.edu/~dyb/pubs/stack.pdf&quot; rel=&quot;nofollow&quot;&gt;&lt;em&gt;Representing Control in the Presence of First-Class Continuations&lt;/em&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This paper gives a nice example of just how far compiler writers will go to implement continuations efficiently. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Appel's 1993 book, &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/052103311X&quot; rel=&quot;nofollow&quot;&gt;&lt;em&gt;Compiling with Continuations&lt;/em&gt;&lt;/a&gt; &lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT: This is &lt;em&gt;not&lt;/em&gt; out of print, and if you can afford it, it's a book-length explanation. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Abramsky's CONCUR 1996 paper, &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.46.7024&quot; rel=&quot;nofollow&quot;&gt;&lt;em&gt;Retracing Some Paths in Process Algebra&lt;/em&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This paper gives a theoretical introduction to the application of resumptions to concurrency. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Acar, Charguéraud, and Rainey's 2011 OOPSLA paper, &lt;a href=&quot;http://www.mpi-sws.org/~mrainey/oracle_scheduling.pdf&quot; rel=&quot;nofollow&quot;&gt;&lt;em&gt;Oracle scheduling: controlling granularity in implicitly parallel languages&lt;/em&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This paper implements your suggestion of using two versions of the same function, in the context of parallelizing divide-and-conquer algorithms. Basically, the idea is that the optimal point to switch from spawning new tasks for subproblems to doing it sequentially depends a lot on details like the amount of parallelism in your hardware, the cost of thread spawning, and how much work each recursive call will do. So if you write a function to the scheduler can use to estimate how much work is left, it can automatically choose the best point to switch. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="657" LastEditorUserId="657" LastEditDate="2013-07-04T15:13:59.787" LastActivityDate="2013-07-04T15:13:59.787" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18237" PostTypeId="2" ParentId="18233" CreationDate="2013-07-03T10:38:02.627" Score="8" Body="&lt;p&gt;The &lt;a href=&quot;http://en.wikipedia.org/wiki/Rule_110&quot; rel=&quot;noreferrer&quot;&gt;Rule 110 cellular automaton&lt;/a&gt; (often simply &lt;strong&gt;Rule 110&lt;/strong&gt;) is an elementary cellular automaton with interesting behavior on the boundary between stability and chaos. In this respect it is similar to Game of Life. &lt;em&gt;Rule 110 is known to be Turing complete&lt;/em&gt;. This implies that, in principle, any calculation or computer program can be simulated using this automaton.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another simple example is a &lt;strong&gt;Bitwise Cyclic Tag System&lt;/strong&gt;:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The &quot;program&quot; is a sequence of instructions $0, 01, 11$ (i.e. $C = p_{n} p_{n-1} ... p_2 p_1; \; p_i \in (0|01|11)^+$)&#xA;; the &quot;data&quot; is a binary string (i.e. $w \in \{0,1\}^+$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $p_1$ is the &quot;current instruction&quot; and the data is $w = a_1 a_2 ... a_m$; you can put the program and the data side by side ($p_{n}...p_2 p_1 \leftrightarrow a_1 a_2 ...a_m$), and the &quot;execution&quot; of $p_1$ is:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;if $a_1 = 1$ and $p_1 = x1$ then append $x$ to $w$&lt;/li&gt;&#xA;&lt;li&gt;delete $a_1$ from $w$&lt;/li&gt;&#xA;&lt;li&gt;rotate $C$ ($p_1$ is moved to the left of $C$ and $p_2$ becomes the current instruction)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The universality can be proved by simulating the more general cyclic-tag system.&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2013-07-03T12:53:54.930" LastActivityDate="2013-07-03T12:53:54.930" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18238" PostTypeId="1" AcceptedAnswerId="18252" CreationDate="2013-07-03T10:46:59.910" Score="12" ViewCount="1848" Body="&lt;p&gt;All the #SAT solvers I know, e.g RelSat, C2D, only return the number of satisfiable instances. But I want to know each of those instances?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there such a #SAT solver or how I should modify an available #SAT solver to do this?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thank you.&lt;/p&gt;&#xA;" OwnerUserId="10526" LastEditorUserId="4155" LastEditDate="2013-11-13T09:55:14.697" LastActivityDate="2015-02-24T12:37:09.153" Title="Enumerate all solutions of a SAT problem" Tags="&lt;lo.logic&gt;&lt;sat&gt;&lt;software&gt;" AnswerCount="2" CommentCount="3" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="18239" PostTypeId="2" ParentId="18233" CreationDate="2013-07-03T11:22:48.940" Score="6" Body="&lt;p&gt;Conway's FRACTRAN comes to mind: &#xA;&lt;a href=&quot;http://en.wikipedia.org/wiki/FRACTRAN&quot;&gt;http://en.wikipedia.org/wiki/FRACTRAN&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A FRACTRAN program is a list $q_1 , \ldots,  q_k$ of positive rational numbers.&#xA;The current state is a natural number $n$, and a computation step consists in multiplying $n$ by the first $q_i$ whose denominator divides $n$. &#xA;Starting from the input, the computation step is repeated until no longer possible, i.e., until no $q_i$ has a denominator dividing $n$. The curent state at that point is the output.&lt;/p&gt;&#xA;" OwnerUserId="6579" LastActivityDate="2013-07-03T11:22:48.940" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18241" PostTypeId="1" CreationDate="2013-07-03T12:52:42.100" Score="3" ViewCount="237" Body="&lt;p&gt;I'm looking to track down who discovered the following pumping lemmas for regular languages.&#xA;(where $p$ is the pumping constant.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Reg($L) \rightarrow \exists p\forall w(\in L) \forall u_1u_2v(\in \Sigma^*), w= u_1vu_2  \wedge |w| \geq p$&lt;br&gt;&#xA;$\rightarrow\exists xyz, v=xyz \wedge |xy| \leq p \wedge y \not = \epsilon \wedge \mathbf{u_1xy^*zu_2} \subset L$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Reg($L) \rightarrow \exists p\forall w(\in L) \forall u_0u_1 \ldots u_p(\in \Sigma^*), w = u_0u_1 \ldots u_p$&lt;br&gt;&#xA;$\rightarrow \exists ij, 0 &amp;lt; i \leq j &amp;lt; p \wedge \mathbf{u_0u_1 \ldots u_{i-1}(u_iu_{i+1} \ldots u_j)^*u_{j+1}u_{j+2}\ldots u_p} \subset L$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thank you&lt;/p&gt;&#xA;" OwnerUserId="8973" LastEditorUserId="2367" LastEditDate="2017-01-15T21:27:17.693" LastActivityDate="2017-01-15T21:27:17.693" Title="Providence of pumping lemmas for regular languages" Tags="&lt;reference-request&gt;&lt;fl.formal-languages&gt;&lt;automata-theory&gt;&lt;ho.history-overview&gt;&lt;regular-language&gt;" AnswerCount="0" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18243" PostTypeId="1" CreationDate="2013-07-03T14:52:00.347" Score="4" ViewCount="830" Body="&lt;p&gt;Are there any algorithms for solving exactly the following question?&#xA;Given a regular language L, represented as a finite automaton say, what is a CFG with minimal number of nonterminals that generates the language L?&lt;/p&gt;&#xA;" OwnerUserId="16824" LastActivityDate="2013-07-03T16:57:17.323" Title="Minimal context-free grammar for a regular language" Tags="&lt;automata-theory&gt;&lt;context-free-languages&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="18244" PostTypeId="2" ParentId="18243" CreationDate="2013-07-03T16:10:01.783" Score="6" Body="&lt;p&gt;Note that a CFG with $n$ non-terminals can generate a language consisting of a single (highly repetitive) word of length $2^n$, something that only a FSA with $2^n$ states will recognize. Hence in some case your minimal CFG will be much smaller than any FSA for $L$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Actually, one can get much bigger reduction &quot;factors&quot;. Take a deterministic Turing machine $M$ that happens to halt. One can define a CFG $G_M$ that recognizes exactly all words that are not (encodings of) the single run of $M$. This is a language $L$ consisting of all words except the single run, hence a regular language. The size of $G_M$ is polynomial in the size of $M$ while the size of a FSA for $L$ can be enormous (i.e., the single run can be very long, think &lt;a href=&quot;http://en.wikipedia.org/wiki/Busy_beaver&quot;&gt;Busy Beaver&lt;/a&gt;). Thus a regular language that requires an enormous FSA can be represented by a tiny grammar.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Your question evokes some notion of &lt;em&gt;compression of regular languages&lt;/em&gt;. Indeed, the most popular schemes for compressing long words can be seen as some kind of CFGs, &#xA;see J. A. Storer and T. G. Szymanski,&#xA;&lt;a href=&quot;http://dx.doi.org/10.1145/322344.322346&quot;&gt;&lt;em&gt;Data compression via textual substitution&lt;/em&gt;&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="16371" LastEditorUserId="16371" LastEditDate="2013-07-03T16:57:17.323" LastActivityDate="2013-07-03T16:57:17.323" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18245" PostTypeId="2" ParentId="18233" CreationDate="2013-07-03T16:23:09.923" Score="0" Body="&lt;p&gt;the classic &lt;a href=&quot;http://en.wikipedia.org/wiki/Post_correspondence_problem&quot; rel=&quot;nofollow&quot;&gt;Post Correspondence Problem&lt;/a&gt; is Turing complete and remarkable in its simplicity, its just a string matching question albeit with potentially very long strings. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;but on the other hand, the Turing Machine itself is a very simple theoretical concept. some have said that Turing was inspired by [electric] &lt;a href=&quot;https://en.wikipedia.org/wiki/Typewriter&quot; rel=&quot;nofollow&quot;&gt;typewriters&lt;/a&gt;. the 1st commercial electric typewriters appeared in the ~1920s and the &lt;a href=&quot;https://en.wikipedia.org/wiki/Turing_machine&quot; rel=&quot;nofollow&quot;&gt;TM&lt;/a&gt; was invented in 1936. also stock teletype machines, originally invented by Edison, had been in widespread use at the time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;some plausible case can be made that all Turing complete systems are exactly as/equally simple.&lt;/p&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2013-07-03T16:23:09.923" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18246" PostTypeId="1" CreationDate="2013-07-03T16:30:37.540" Score="2" ViewCount="112" Body="&lt;p&gt;I'm wondering if anyone can point me to either an algorithm or an undecidability proof for the following question:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a non-deterministic reversal-bounded multicounter machine $M$,&#xA;is there some deterministic reversal-bounded multicounter machine $M'$&#xA;such that $L(M) = L(M')$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For anyone interested, reversal-bounded counter machines are described at length&#xA;in &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=322058&quot; rel=&quot;nofollow&quot;&gt;Oscar Ibarra's Paper&lt;/a&gt; about them.&lt;/p&gt;&#xA;" OwnerUserId="16208" LastActivityDate="2013-07-03T17:06:33.547" Title="Is it decidable whether the langauge accepted by a reversal-bounded counter machine is deterministic?" Tags="&lt;reference-request&gt;&lt;fl.formal-languages&gt;&lt;computability&gt;&lt;automata-theory&gt;&lt;decidability&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18247" PostTypeId="2" ParentId="18233" CreationDate="2013-07-03T16:47:17.403" Score="0" Body="&lt;p&gt;the question of whether there are integer solutions to Diophantine (ie simple algebra) equations is a simple mathematical question, aka &lt;a href=&quot;http://en.wikipedia.org/wiki/Hilbert%27s_tenth_problem&quot; rel=&quot;nofollow&quot;&gt;Hilberts 10th problem&lt;/a&gt;. the Greeks pondered variations on diophantine equations two millenia ago [and Egyptians even earlier], also suggesting its a relatively simple concept. the &lt;em&gt;proof&lt;/em&gt; that it is Turing complete on the other hand is complex and took ~¾ century to resolve after posed by Hilbert as completed by &lt;a href=&quot;http://en.wikipedia.org/wiki/Yuri_Matiyasevich&quot; rel=&quot;nofollow&quot;&gt;Matiyasevich&lt;/a&gt; (building on earlier work by Davis/Robinson/Putnam).&lt;/p&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2013-07-03T16:47:17.403" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18248" PostTypeId="2" ParentId="17914" CreationDate="2013-07-03T16:48:24.080" Score="2" Body="&lt;p&gt;For starters, keep in mind that research in Conway's Game of Life is still ongoing and future developments may present a far less complicated solution.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now then. Interestingly enough, this is a topic that is actually as much in line with biology and quantum physics as with traditional computer science. The question at the root of the matter is if any device can effectively resist random alterations to its state. The plain and simple answer is that it is impossible to make a such a machine that is &lt;em&gt;perfectly&lt;/em&gt; resistant to such random changes. Of course, this is true in much the same way that quantum mechanics could cause seemingly impossible events. What prevents these events from occurring (leading most people to declare them strictly impossible) is the stupendously small probability such an event has of happening. A probability made so small by the large scale difference between the quantum level and the human level. It is similarly possible to make a state machine that is resistant to small degrees of random change by simply making it so large and redundant that any &quot;change&quot; noticed is effectively zero, but the assumption is that this is not the goal. Assuming that, this can be accomplished in the same way that animals and plants are resistant to radiation or physical damage.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The question then may not be how to prevent low-level disturbances from doing too much damage, but rather how to recover from as much damage as possible. This is where biology becomes relevant. Animals and plants actually have this very ability at the cellular level.(Please note: I am speaking of cells in the biological sense in this answer) Now, in Conway's game of life the notion of building a computing device at the scale of single cells is appealing (it does, after all, make such creations much smaller and more efficient), but while we can build self-reproducing computers (&lt;a href=&quot;http://conwaylife.com/forums/viewtopic.php?f=2&amp;amp;t=399&amp;amp;p=2327#p2327&quot; rel=&quot;nofollow&quot;&gt;see Gemini&lt;/a&gt;), This ignores the fact that the constructor object itself may become damaged by disturbances. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another, more resilient, way I can see to solve this is to build computers out of self-reproducing redundant parts (think biological cells) that perform their operations, reproduce, and are replaced.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;At this point we can see another interesting real-world parallel. These low-level disturbances are akin to the effects of radiation. This is most appreciable when you consider the type of damage that can be done to your cellular automata. It is easy to trigger the cascade failure or &quot;death&quot; of a cell in Conway's Game of Life, much the same as what happens to many cells exposed to radiation. But there exists the worst-case possibility of mutation, creating a &quot;cancerous&quot; cell that continues to reproduce faulty copies of itself that do not aid in the computational process, or produce incorrect results.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As I've said, its impossible to build a system that is entirely foolproof, you can only make it less and less likely for a fault to compromise the entire system. Of course, the fundamental question here is really &quot;are probabilistic simulations themselves Turing complete&quot; which has already been decided to be &lt;a href=&quot;http://en.wikipedia.org/wiki/Probabilistic_Turing_machine&quot; rel=&quot;nofollow&quot;&gt;true&lt;/a&gt;.&#xA;I would have answered that fundamental question initially, save that it wasn't what you asked.&lt;/p&gt;&#xA;" OwnerUserId="16825" LastEditorUserId="16825" LastEditDate="2013-07-05T20:16:48.067" LastActivityDate="2013-07-05T20:16:48.067" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="18249" PostTypeId="2" ParentId="18246" CreationDate="2013-07-03T17:06:33.547" Score="2" Body="&lt;p&gt;I found a similar argument for context-free languages, which can be used here.&#xA;It is not decidable, since universality for non-deterministic reversal-bounded multicounter machines is undecidable, but becomes decidable for the deterministic version.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose we can decide if $M$ can be determinized, and perform the determinization if it can.&#xA;Then we can decide if $L(M) = \Sigma^*$ as follows:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $M$ cannot be determinized, then clearly it is not universal, since there is a deterministic machine accepting $\Sigma^*$.&#xA;If $M$ can be determinized, then we determinize it and test if it is universal.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://cs.stackexchange.com/questions/1972/decide-whether-a-context-free-languages-can-be-accepted-by-a-deterministic-pushd&quot;&gt;This question&lt;/a&gt; on CS.SE give the analogous argument for CFL vs. DCFL.&lt;/p&gt;&#xA;" OwnerUserId="16208" LastEditorUserId="-1" LastEditDate="2017-04-13T12:48:30.830" LastActivityDate="2013-07-03T17:06:33.547" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18250" PostTypeId="2" ParentId="18233" CreationDate="2013-07-03T17:34:40.490" Score="0" Body="&lt;p&gt;the &lt;a href=&quot;http://en.wikipedia.org/wiki/Conway%27s_Game_of_Life&quot; rel=&quot;nofollow&quot;&gt;Game of Life&lt;/a&gt; cellular automaton, which has very simple update rules and was an early scientific/mathematical/computational example that exhibits/demonstrates &lt;a href=&quot;http://en.wikipedia.org/wiki/Emergence&quot; rel=&quot;nofollow&quot;&gt;emergence&lt;/a&gt;, is Turing complete, with the proof initially credited to &lt;a href=&quot;http://en.wikipedia.org/wiki/John_Horton_Conway&quot; rel=&quot;nofollow&quot;&gt;Conway&lt;/a&gt; but it seems to be unpublished. &lt;a href=&quot;http://rendell-attic.org/gol/tm.htm&quot; rel=&quot;nofollow&quot;&gt;Paul Rendell&lt;/a&gt; has constructed versions of a TM running inside of Life.&lt;/p&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2013-07-03T17:34:40.490" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18251" PostTypeId="2" ParentId="18233" CreationDate="2013-07-03T17:41:30.773" Score="1" Body="&lt;p&gt;A &lt;em&gt;Turing Machine&lt;/em&gt;, informally, consists of a set of states along with an infinite tape with a read head, and a set of rules: When you read symbol $x$ and are in state $q$, write symbol $y$, go to state $q'$, and move either left or right. I do not know of any Turing-complete system of computation that is simpler to explain to, say, a layperson, than that.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The formal definition of a Turing Machine seems to me at least as brief as the formality required to define, say, the $\lambda$-calculus, the $\mu$-recursive functions, or the Game of Life.&lt;/p&gt;&#xA;" OwnerUserId="8243" LastActivityDate="2013-07-03T17:41:30.773" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18252" PostTypeId="2" ParentId="18238" CreationDate="2013-07-03T17:46:10.220" Score="14" Body="&lt;p&gt;You are looking for an ALL-SAT or all solutions SAT solver. This is a different problem from #SAT. You do not have to enumerate all solutions to count them. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I do not know of a tool that solves your problem because people add these algorithms on top of existing SAT solvers but rarely seem to release these extensions. Two papers that should help you in modifying a CDCL solver to implement ALL-SAT are below.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.cs.technion.ac.il/users/orna/All_SAT_reachability_FMCAD04.ps.gz&quot;&gt;Memory Efficient All-Solutions SAT solver and its Application to Reachability&lt;/a&gt;, O. Grumberg, A. Schuster, A. Yadgar, FMCAD 2004&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is a recent article posted on the arXiv.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://arxiv.org/abs/1305.0574v1&quot;&gt;Extending Modern SAT Solvers for Enumerating All Models&lt;/a&gt;, Said Jabbour, Lakhdar Sais, Yakoub Salhi, 2013&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You could try contacting these authors for their implementation.&lt;/p&gt;&#xA;" OwnerUserId="4155" LastEditorUserId="4155" LastEditDate="2013-07-06T07:31:00.123" LastActivityDate="2013-07-06T07:31:00.123" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="18253" PostTypeId="1" AcceptedAnswerId="18334" CreationDate="2013-07-03T18:17:34.500" Score="3" ViewCount="506" Body="&lt;p&gt;I have the following problem: I'm given a list of size $K$ of random integer permutations of $[1..n]$, named $P_1$ to $P_K$, and an additional random permutation $Q$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;How hard is to find a sequence $s(j)$ of $U$ subscripts in $[1..K]$, such that $P_{s1}(P_{s2}(...(P_{sU}(Q(i))))) = i$  for every $1\leq i \leq n$, where Q is an initial random permutation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In other words, the composition of a subset of the given permutations must be the inverse of $Q$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I suppose this problem, as $n$ grows, is exponential.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note: the result must be the list of $s(j)$ values, and that list should be polynomial to $n$ in size. I cannot accept something like &quot;apply P1 2^456 times&quot; as an answer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is related to any $\sf{NP}$-Complete problem?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any idea? Thanks!&lt;/p&gt;&#xA;" OwnerUserId="16826" LastEditorUserId="16826" LastEditDate="2013-07-05T13:05:33.083" LastActivityDate="2013-07-10T21:23:32.843" Title="Finding the identity with permutation chains" Tags="&lt;permutations&gt;&lt;np-complete&gt;" AnswerCount="2" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18255" PostTypeId="1" AcceptedAnswerId="18345" CreationDate="2013-07-03T18:54:34.670" Score="12" ViewCount="1620" Body="&lt;p&gt;This question is motivated by this post, &lt;a href=&quot;https://cstheory.stackexchange.com/questions/18037/can-you-identify-the-sum-of-two-permutations-in-polynomial-time/18045#18045&quot;&gt;Can you identify the sum of two permutations in polynomial time?&lt;/a&gt; , and my interest in computational properties of permutations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A differences sequence $a_1, a_2, \ldots a_n$  of a permutation $\pi$ of numbers $1, 2, \ldots n+1$ is formed by finding the difference between every two adjacent numbers in the permutation $\pi$. In other words, $a_i= |\pi(i+1)-\pi(i)|$ for $1 \le i \le n$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, sequence $1, 1, 3$  is the differences sequence of permutation $2 3 4 1$.  While, sequences $2, 2, 3$ and $ 3, 1, 2$ are not the differences sequence of any permutation of numbers $1, 2, 3, 4$. &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there an efficient algorithm to determine whether a given sequence is the differences sequence for some permutation $\pi$, or is it NP-hard?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT&lt;/strong&gt;: We get computationally equivalent problem if we formulate the problem using circular permutations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT2&lt;/strong&gt;: Cross posted on MathOverflow, &lt;a href=&quot;https://mathoverflow.net/questions/135968/how-hard-is-reconstructing-a-permutation-from-its-differences-sequence&quot;&gt;How hard is reconstructing a permutation from its differences sequence?&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT3&lt;/strong&gt; Awarded the bounty to the proof sketch and I would accept the answer after getting the complete formal proof.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT 4&lt;/strong&gt;: Marzio's nice $NP$-completeness proof has been published in &lt;a href=&quot;http://www.combinatorics.org/ojs/index.php/eljc/article/view/v21i4p3&quot; rel=&quot;nofollow noreferrer&quot;&gt;the Electronic Journal of Combinatorics&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2014-10-26T23:55:05.630" Title="Efficient algorithm for existence of permutation with differences sequence?" Tags="&lt;cc.complexity-theory&gt;&lt;co.combinatorics&gt;&lt;np-hardness&gt;&lt;permutations&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="18256" PostTypeId="2" ParentId="18253" CreationDate="2013-07-03T20:09:14.157" Score="4" Body="&lt;p&gt;Just a note: if the $K$ permutations can be arbitrary, and if you want to find the shortest possible solution, a quick reduction from the &lt;em&gt;&lt;a href=&quot;http://pagesperso.lina.univ-nantes.fr/~bulteau-l/pdf/BFR-mfcs12.pdf&quot; rel=&quot;nofollow&quot;&gt;Pancake flipping problem&lt;/a&gt;&lt;/em&gt; shows that finding the shortest possible sequence is NP-hard.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The reduction: Given an instance of the Pancake flipping (i.e. a permutation of $[1..n]$), add to the list the $K = n$ possible prefix permutations.&#xA;The application of a $P_i$ corresponds to a pancake flip, and $U$ of them can generate the identity permutation if and only if the pancake of the original problem can be sorted using $U$ flips.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, this doesn't apply directly to the problem as you stated it.  If we don't need the shortest possible solution, it's easy to find a solution of length $O(n)$ to the pancake flipping problem.  Since this question asked for any solution (rather than the shortest possible solution), there's no proof that this problem is NP-hard.&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="5038" LastEditDate="2013-07-10T06:57:45.083" LastActivityDate="2013-07-10T06:57:45.083" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="18257" PostTypeId="1" AcceptedAnswerId="18258" CreationDate="2013-07-03T20:45:50.237" Score="3" ViewCount="285" Body="&lt;p&gt;There some internet pages:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Program_synthesis&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/Program_synthesis&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://research.microsoft.com/en-us/um/people/sumitg/pubs/synthesis.html&quot; rel=&quot;nofollow&quot;&gt;http://research.microsoft.com/en-us/um/people/sumitg/pubs/synthesis.html&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://sites.google.com/site/asergrp/bibli/program-synthesis&quot; rel=&quot;nofollow&quot;&gt;https://sites.google.com/site/asergrp/bibli/program-synthesis&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;But, honestly, i can't find entrance to that topic. There are a lot of advanced level talks but only a few &quot;hello world&quot; examples(or completely none).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So where can one start learning about program synthesis ?&lt;/p&gt;&#xA;" OwnerUserId="10013" LastEditorUserId="77" LastEditDate="2013-07-03T21:10:26.657" LastActivityDate="2013-07-03T21:18:33.667" Title="Getting started with Program Synthesis" Tags="&lt;ds.algorithms&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18258" PostTypeId="2" ParentId="18257" CreationDate="2013-07-03T21:18:33.667" Score="8" Body="&lt;p&gt;Start with the notes form Ras Bodik's course, Program Synthesis for everyone: &lt;a href=&quot;http://www.cs.berkeley.edu/~bodik/cs294fa12&quot;&gt;http://www.cs.berkeley.edu/~bodik/cs294fa12&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The slides from the recent summer school are also useful: &lt;a href=&quot;https://excape.cis.upenn.edu/summer-school.html&quot;&gt;https://excape.cis.upenn.edu/summer-school.html&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="9522" LastActivityDate="2013-07-03T21:18:33.667" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18260" PostTypeId="1" CreationDate="2013-07-04T00:00:00.353" Score="0" ViewCount="123" Body="&lt;p&gt;Lets say I have a finite set of items like the following:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;{$a_1, a_2, ... , a_n$}&lt;/p&gt;&#xA;&#xA;&lt;p&gt;And I have a finite list of sets of these items. For example:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[{$a_1$}, {$a_1, a_2$}, {$a_1, a_2, a_3$}, {$a_1, a_3$}, {$a_2$}, {$a_2$}, {$a_2$}, {$a_3$}]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I then take one item from each set. For example, in the above case, I could do:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$a_1$ &amp;lt;- {$a_1$}&lt;br&gt;&#xA;$a_2$ &amp;lt;- {$a_1, a_2$}&lt;br&gt;&#xA;$a_1$ &amp;lt;- {$a_1, a_3$}&lt;br&gt;&#xA;$a_2$ &amp;lt;- {$a_2$}&lt;br&gt;&#xA;$a_2$ &amp;lt;- {$a_2$}&lt;br&gt;&#xA;$a_2$ &amp;lt;- {$a_2$}&lt;br&gt;&#xA;$a_1$ &amp;lt;- {$a_1, a_2, a_3$}&lt;br&gt;&#xA;$a_3$ &amp;lt;- {$a_3$}  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In this case, the totals are:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$a_1$: 3&lt;br&gt;&#xA;$a_2$: 4&lt;br&gt;&#xA;$a_3$: 1  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;And the minimum is 1.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But lets say I want to maximise the minimum. I could instead select the items like:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$a_1$ &amp;lt;- {$a_1$}&lt;br&gt;&#xA;$a_2$ &amp;lt;- {$a_1, a_2$}&lt;br&gt;&#xA;$a_3$ &amp;lt;- {$a_1, a_3$} (changed)&lt;br&gt;&#xA;$a_2$ &amp;lt;- {$a_2$}&lt;br&gt;&#xA;$a_2$ &amp;lt;- {$a_2$}&lt;br&gt;&#xA;$a_2$ &amp;lt;- {$a_2$}&lt;br&gt;&#xA;$a_1$ &amp;lt;- {$a_1, a_2, a_3$}&lt;br&gt;&#xA;$a_3$ &amp;lt;- {$a_3$}  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;And the totals are:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$a_1$: 2&lt;br&gt;&#xA;$a_2$: 4&lt;br&gt;&#xA;$a_3$: 2  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;And the minimum is 2.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Lets say also I allow the items to be assigned in a weighted way. Like the following:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$a_1$ &amp;lt;- {$a_1$}&lt;br&gt;&#xA;$a_1$ &amp;lt;- {$a_1, a_2$} (changed)&lt;br&gt;&#xA;$a_3$ &amp;lt;- {$a_1, a_3$}&lt;br&gt;&#xA;$a_2$ &amp;lt;- {$a_2$}&lt;br&gt;&#xA;$a_2$ &amp;lt;- {$a_2$}&lt;br&gt;&#xA;$a_2$ &amp;lt;- {$a_2$}&lt;br&gt;&#xA;$a_1: 0.5, a_3: 0.5$ &amp;lt;- {$a_1, a_2, a_3$} (changed)&lt;br&gt;&#xA;$a_3$ &amp;lt;- {$a_3$}  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;And the totals are:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$a_1$: 2.5&lt;br&gt;&#xA;$a_2$: 3&lt;br&gt;&#xA;$a_3$: 2.5  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;And the minimum is 2.5.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We can't evenly assign the items in these sets because three of them only contain {$a_2$}. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;So what's a fast algorithm for doing the above, i.e. finding the maximum &quot;minimum&quot;? I need something exact, not an approximation.&lt;/p&gt;&#xA;" OwnerUserId="16831" LastActivityDate="2013-07-04T04:32:08.933" Title="Assigning items as evenly as possible" Tags="&lt;ds.algorithms&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18261" PostTypeId="2" ParentId="18260" CreationDate="2013-07-04T04:32:08.933" Score="2" Body="&lt;p&gt;This can be solved by standard linear programming algorithms.  A set of weighted choices is described by variables $y_{ij}$, where $y_{ij}=w$ if we choose $a_i$ from the $j$th set with weight $w$.  To set this up, we use an additional variable $m$ which will represent the minimum number of times any variable is selected.  We then have four kinds of constraints:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;for each $i$, $j$: $0 \le y_{ij} \le 1$ if $a_i$ is in the $j$th set;&lt;/li&gt;&#xA;&lt;li&gt;for each $i$, $j$: $y_{ij} = 0$ if $a_i$ is not in the $j$th set;&lt;/li&gt;&#xA;&lt;li&gt;for each $j$: $\sum_i y_{ij}=1$ [choosing a total of 1 element from the $j$th set];&lt;/li&gt;&#xA;&lt;li&gt;for each $i$: $m \le \sum_j y_{ij}$ [$m$ is at most the number of chosen $a_i$'s].&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;We choose the $y_{ij}$'s to maximize $m$; the constraints and the objective function are linear.  (In the non-weighted case, we additionally require $y_{ij}$ to be integral; this makes the problem harder but integer linear programming packages are readily available.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This formulation has the following geometric interpretation.  Identify $a_i$ with the $i$-th standard basis vector in $\mathbf{R}^n$.  For each set, say $\{a_{i_0},\ldots,a_{i_k}\}$, the collection of possible weighted choices from this set is the $k$-simplex with the given $a_{i_j}$'s as vertices.  The &lt;a href=&quot;http://en.wikipedia.org/wiki/Minkowski_addition&quot; rel=&quot;nofollow&quot;&gt;Minkowski sum&lt;/a&gt; of all these simplices is the convex polyhedron which contains precisely the possible vectors $(x_1,\ldots,x_n)$ of totals for the elements $a_1,\ldots,a_n$.  The linear programming formulation above seeks a point in this polyhedron which is as far from as possible from the nearest coordinate hyperplane.&lt;/p&gt;&#xA;" OwnerUserId="16832" LastActivityDate="2013-07-04T04:32:08.933" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="18264" PostTypeId="1" CreationDate="2013-07-04T15:15:23.357" Score="1" ViewCount="101" Body="&lt;p&gt;Is there an algorithm to get all possible decompositions of a monomial as the product of smaller monomials ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example $x^2y^3$ is $x∗xy^3$, $x^2∗y^3$, $xy∗xy^2$, and so on.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For a monomial in one inderminate, I know I can use an integer partitions of the monomial degree. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;But this does not apply when there are at least two indeterminates.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Sorry for misuse of vocabulary and may be uncomplete tags : I am french).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note : this is a step in construction of an invariant polynomial as described in DOI : 10.1016/j.ijsolstr.2005.05.021.&lt;/p&gt;&#xA;" OwnerUserId="16841" LastActivityDate="2013-07-05T04:39:35.943" Title="Monomial decomposition as product of smaller monomials" Tags="&lt;co.combinatorics&gt;" AnswerCount="2" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="18266" PostTypeId="1" AcceptedAnswerId="18268" CreationDate="2013-07-04T19:07:12.187" Score="3" ViewCount="237" Body="&lt;p&gt;What is the best upper and lower bound known for &lt;a href=&quot;https://en.wikipedia.org/wiki/Convolution&quot; rel=&quot;nofollow&quot;&gt;convolution&lt;/a&gt; without &lt;a href=&quot;https://en.wikipedia.org/wiki/Fast_Fourier_transform&quot; rel=&quot;nofollow&quot;&gt;FFT&lt;/a&gt;? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is FFT proven to be essential for time complexity reduction? &#xA;Is cancellation essential as well?&lt;/p&gt;&#xA;" OwnerUserId="1812" LastEditorUserId="186" LastEditDate="2013-07-04T21:19:06.527" LastActivityDate="2013-07-05T01:00:46.323" Title="Convolution without FFT" Tags="&lt;cc.complexity-theory&gt;&lt;algebraic-complexity&gt;&lt;fft&gt;&lt;convolution&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18267" PostTypeId="1" AcceptedAnswerId="36049" CreationDate="2013-07-04T21:56:44.487" Score="5" ViewCount="233" Body="&lt;p&gt;I was reading &lt;a href=&quot;http://link.springer.com/content/pdf/10.1007/3-540-10843-2_39.pdf&quot; rel=&quot;noreferrer&quot;&gt;this paper&lt;/a&gt;, about the complexity of decision problems for&#xA;reversal bounded counter machines.&#xA;I got to Theorem 1 on Page 6.&#xA;The theorem shows that there's a log-space NTM which can determine if a non deterministic reversal-bounded counter machine is empty or not.&#xA;(A log-space NTM can be converted into a polynomial time DTM).&lt;/p&gt;&#xA;&lt;p&gt;The proof shows that, for input machine represented as a string of length &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt;,&#xA;with &lt;span class=&quot;math-container&quot;&gt;$m$&lt;/span&gt; counters, that &lt;span class=&quot;math-container&quot;&gt;$O(m\log n)$&lt;/span&gt; space is required.&lt;/p&gt;&#xA;&lt;p&gt;Here's where I get lost. The paper says that, since &lt;span class=&quot;math-container&quot;&gt;$m$&lt;/span&gt; is fixed, we can consider&#xA;the machine to take &lt;span class=&quot;math-container&quot;&gt;$O(\log n)$&lt;/span&gt; space.&lt;/p&gt;&#xA;&lt;p&gt;Does this mean that the algorithm is only uses log-space if &lt;span class=&quot;math-container&quot;&gt;$m$&lt;/span&gt; is fixed? Would the corresponding deterministic algorithm then be exponential in terms of &lt;span class=&quot;math-container&quot;&gt;$m$&lt;/span&gt;?&lt;/p&gt;&#xA;" OwnerUserId="16208" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2016-06-26T16:23:04.400" Title="Can emptiness of reversal-bounded counter languages be decided in time polynomial to the number of counters?" Tags="&lt;cc.complexity-theory&gt;&lt;fl.formal-languages&gt;&lt;automata-theory&gt;&lt;time-complexity&gt;&lt;turing-machines&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="18268" PostTypeId="2" ParentId="18266" CreationDate="2013-07-05T01:00:46.323" Score="2" Body="&lt;p&gt;Take a look at &lt;a href=&quot;http://en.wikipedia.org/wiki/Toom%E2%80%93Cook_multiplication&quot; rel=&quot;nofollow&quot;&gt;Toom-Cook multiplication&lt;/a&gt; and see if that is helpful for what you need. The complexity is $O(n^{1+\epsilon})$ for any fixed $\epsilon&amp;gt;0$.&lt;/p&gt;&#xA;" OwnerUserId="16186" LastActivityDate="2013-07-05T01:00:46.323" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18269" PostTypeId="2" ParentId="18264" CreationDate="2013-07-05T02:25:25.167" Score="0" Body="&lt;p&gt;You can use recursion carrying the account of the degree of each variable. That's an algorithm..to count them you would need partitions and multinomial to simulate commutativity&lt;/p&gt;&#xA;" OwnerUserId="16117" LastActivityDate="2013-07-05T02:25:25.167" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18270" PostTypeId="2" ParentId="18264" CreationDate="2013-07-05T04:39:35.943" Score="1" Body="&lt;p&gt;For the moment, let's restrict to counting these factorizations, rather than listing them.  Warming up with the one-variable case, integer partitions give the answer, as you point out.  You can compute the number $p(n)$ of partitions of $n$ using the generating function&#xA;$$\sum_n p(n)x^n = \prod_{i&amp;gt;0} \frac{1}{1-x^i}.$$&#xA;This generalizes easily to two variables.  If $p(m,n)$ is the number of &quot;partitions&quot; of the 2-long vector $(m,n)$ (i.e. representations of $(m,n)$ as a sum of positive integral multiples of vectors of the form $(i,j)$ with $i,j\ge0$ and $i+j&amp;gt;0$), then&#xA;$$\sum_{m,n} p(m,n)x^m y^n = \prod_{i,j\ge0;\ i+j&amp;gt;0} \frac{1}{1-x^i y^j}.$$&#xA;The sequence $p(m,n)$ appears as A054225 in the &lt;a href=&quot;http://oeis.org/A054225&quot; rel=&quot;nofollow&quot;&gt;OEIS&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you want to list the factorizations rather than count them, look instead at&#xA;$$\prod_{i,j\ge0;\ i+j&amp;gt;0} \frac{1}{1-u_{i,j}\ x^i y^j}.$$&#xA;For example, the coefficient of $x^2 y^2$ here is&#xA;$$u_{2,2} + u_{2,1}u_{0,1} + u_{2,0}u_{0,2} + u_{2,0}u_{0,1}^2 + u_{1,2}u_{1,0} +&#xA;  u_{1,1}^2 + u_{1,1}u_{1,0}u_{0,1} + u_{1,0}^2u_{0,2} + u_{1,0}^2 u_{0,1}^2,$$&#xA;corresponding to the 9 factorizations of the monomial $x^2 y^2$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In principle you could write down a two-dimensional recurrence for $p(m,n)$ which is analogous to the recurrence for the ordinary partition numbers.  However, for it to be algorithmically useful (e.g. more efficient than computing the series expansion above), one would need a closed form for the coefficient of $x^m y^n$ in the product&#xA;$$\prod_{i,j\ge0;\ i+j&amp;gt;0} (1-x^i y^j).$$&lt;/p&gt;&#xA;" OwnerUserId="16832" LastActivityDate="2013-07-05T04:39:35.943" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18271" PostTypeId="1" AcceptedAnswerId="36074" CreationDate="2013-07-05T07:47:09.173" Score="13" ViewCount="966" Body="&lt;p&gt;What is known about the class of languages recognized by finite automata having the same initial and accepting state?  This is a proper subset of the regular languages (since every such language contains the empty string), but how weak is it?  Is there a simple algebraic characterization?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Ditto for languages recognized by non-deterministic automata having the same set of initial and accepting states.&lt;/p&gt;&#xA;" OwnerUserId="674" LastActivityDate="2016-06-30T12:19:13.900" Title="(N)DFA with same initial/accepting state(s)" Tags="&lt;fl.formal-languages&gt;&lt;automata-theory&gt;&lt;algebra&gt;&lt;regular-language&gt;" AnswerCount="4" CommentCount="2" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="18274" PostTypeId="1" CreationDate="2013-07-05T10:18:27.753" Score="1" ViewCount="73" Body="&lt;p&gt;Suppose we have $N$ states&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$q_i$, $0\leq i&amp;lt;N$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose we have $N\times N$ probability matrix&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$p_{ij}$, $0\leq i&amp;lt;N$, $0\leq j&amp;lt;N$, &lt;/p&gt;&#xA;&#xA;&lt;p&gt;And suppose a machine, which is being in state $q_i$ then goes to state $q_j$ with probability $p_{ij}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Question #1: is this what is called &quot;probabilistic automaton&quot;?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Next.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We can introduce another interpretation: represent each state of a machine as a column of values&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$w_i$, $0\leq i&amp;lt;N$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;each representing a &quot;weight&quot; of previously defined state $q_i$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If machine is completely in state $q_0$ then we have&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$w_i=1, i=0$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$w_i=0, i\neq0$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;and so on.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In this interpretation each state change is just changing of the weights of a state column&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$w_i \rightarrow p_{ij} w_i$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;assumming summation by.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Question #2: it this a precise interpretation of previous PA? If each first interpretation corresponds with second and vice versa?&lt;/p&gt;&#xA;" OwnerUserId="16850" LastActivityDate="2013-07-05T10:18:27.753" Title="Vector representation of probabilistic automaton" Tags="&lt;automata-theory&gt;&lt;probabilistic-automata&gt;" AnswerCount="0" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="18275" PostTypeId="1" AcceptedAnswerId="48195" CreationDate="2013-07-05T10:28:00.387" Score="3" ViewCount="127" Body="&lt;p&gt;I have a domain $X$ and a set system $R$ on $X$, such that the sets in $R$ are one included in the other, that is, for any $A,B\in R$, either $A\subseteq B$ or $B\subseteq A$. The sets are not all equal: there is at least a pair of sets $A,B\in R$ such that $A\subsetneq B$ The VC-dimension for this set is therefore 1. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I seem to recall that the usual random sampling theorem to obtain an $(\varepsilon,\delta)$ approximation of the sizes of all the sets in $R$ can be used only if the range space has VC-dimension at least 2, but now I cannot find this explicitly stated anywhere. Could anyone please tell me whether I am just remembering it wrong and the theorem can be used for range spaces of any VC-dimension?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If not, are there other techniques I can use or do I have to resort to Chernoff+union bounds?&lt;/p&gt;&#xA;" OwnerUserId="4828" LastActivityDate="2021-01-14T20:47:59.967" Title="(eps,delta)-approx with VC-Dimension 1?" Tags="&lt;cg.comp-geom&gt;&lt;lg.learning&gt;&lt;vc-dimension&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="18278" PostTypeId="1" CreationDate="2013-07-06T05:16:31.483" Score="1" ViewCount="669" Body="&lt;p&gt;I am an undergraduate CS student and currently reading on software security, particularly on static analysis of programs. I am particularly interested in understanding Symbolic Execution - an implementation technique under static analysis. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;So far, I am unable to understand some of the research papers on the same, because of the lack of deep understanding of Symbolic Execution and its applications and uses.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There aren't many resources on the web, and the ones that are, assume a considerable formal knowledge on this domain from the reader beforehand.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would appreciate if somebody can explain in depth the concept of Symbolic Execution and how it can be possibly used in program analysis - identifying bugs/vulnerabilities in softwares. &#xA;Any links to some helpful resources on the same that would enable a security enthusiast to get started would be highly appreciated.&lt;/p&gt;&#xA;" OwnerUserId="16863" LastActivityDate="2013-07-06T17:01:24.497" Title="Help in understanding Symbolic Execution" Tags="&lt;fl.formal-languages&gt;&lt;formal-modeling&gt;&lt;security&gt;&lt;formal-methods&gt;&lt;se.software-engineering&gt;" AnswerCount="2" CommentCount="9" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="18280" PostTypeId="2" ParentId="18278" CreationDate="2013-07-06T07:51:02.930" Score="5" Body="&lt;p&gt;Don't worry too much about understanding everything in one source. Try reading several different articles and from their summaries and technical details, you may build up your own understanding.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://srl.cs.berkeley.edu/~ksen/papers/cacm13.pdf&quot;&gt;Symbolic Execution for Software Testing: Three Decades Later&lt;/a&gt;, Cristian Cadar and Koushik Sen, 2013.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.ece.cmu.edu/~ejschwar/papers/oakland10.pdf&quot;&gt;All You Ever Wanted to Know about Dynamic Taint Analysis and Forward Symbolic Execution (but Might Have Been Afraid to Ask)&lt;/a&gt;, Edward J. Schwartz, Thanassis Avgerinos, David Brumley, 2010.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://repository.cmu.edu/silicon_valley/53/&quot;&gt;Symbolic Execution for Software Testing in Practice – Preliminary Assessment&lt;/a&gt;, Cristian Cadar, Patrice Godefroid, Sarfraz Khurshid, Corina S. Pasareanu, Koushik Sen, Nikolai Tillmann, Willem Visser, 2011&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://research.microsoft.com/en-us/um/people/pg/public_psfiles/laser2011.pdf&quot;&gt;From Program to Logic: An Introduction&lt;/a&gt;, Patrice Godefroid and Shuvendu Lahiri, 2012&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://srl.cs.berkeley.edu/~ksen/concolic.html&quot;&gt;Talk on concolic testing&lt;/a&gt;, Koushik Sen&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://fa11.pbworks.com/w/file/44841527/dart.pdf&quot;&gt;Summary of DART&lt;/a&gt;, Koushik Sen&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://fa11.pbworks.com/w/file/44841523/cute.pdf&quot;&gt;Summary of CUTE&lt;/a&gt;, Koushik Sen&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://channel9.msdn.com/blogs/peli/automated-whitebox-fuzz-testing-with-sage&quot;&gt;Automated Whitebox Fuzz Testing with SAGE&lt;/a&gt;, Patrice Godefroid&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://fa09.pbworks.com/w/page/4233620/CUTE-Homework&quot;&gt;A Lab exercise&lt;/a&gt;, Koushik Sen&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;If you are looking to develop your understanding by starting from a security context, I recommend this excellent summary of pointers to program analysis material from the &lt;a href=&quot;http://www.reddit.com/r/ReverseEngineering/comments/smf4u/reverser_wanting_to_develop_mathematically/&quot;&gt;Reverse Engineering reddit&lt;/a&gt;. &lt;/p&gt;&#xA;" OwnerUserId="4155" LastEditorUserId="4155" LastEditDate="2013-07-06T07:56:14.170" LastActivityDate="2013-07-06T07:56:14.170" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18281" PostTypeId="2" ParentId="18278" CreationDate="2013-07-06T16:46:40.870" Score="1" Body="&lt;p&gt;Being a beginner to Symbolic Execution (SE) myself, I would suggest:  &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.cs.uiuc.edu/class/sp11/cs477/king76symbolicexecution.pdf&quot; rel=&quot;nofollow&quot;&gt;Symbolic execution and program testing&lt;/a&gt;: this is the paper to cite when you mention SE. It is easy to read, and provides the key idea without much logical formulation.  &lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.ece.cmu.edu/~ejschwar/papers/oakland10.pdf&quot; rel=&quot;nofollow&quot;&gt;All you ever wanted to know...&lt;/a&gt;: this paper surveys SE and its applications to Security.  &lt;/li&gt;&#xA;&lt;li&gt;The third step may be to learn an SE engine. I would suggest &lt;a href=&quot;http://babelfish.arc.nasa.gov/trac/jpf/wiki/projects/jpf-symbc&quot; rel=&quot;nofollow&quot;&gt;Symbolic Pathfinder&lt;/a&gt;, it is open source and is actively maintained by NASA.  &lt;/li&gt;&#xA;&lt;li&gt;Vijay mentioned CUTE, DART, SAGE but they are not traditional SE, they are &lt;a href=&quot;http://en.wikipedia.org/wiki/Concolic_testing&quot; rel=&quot;nofollow&quot;&gt;concolic testing&lt;/a&gt; tools, and are slightly different from SE described above. For example, for bounded programs, SE can be used as a verification tool, but concolic testing tools can not.  &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I hope this helps.&lt;/p&gt;&#xA;" OwnerUserId="10526" LastEditorUserId="10526" LastEditDate="2013-07-06T17:01:24.497" LastActivityDate="2013-07-06T17:01:24.497" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="18282" PostTypeId="1" CreationDate="2013-07-06T18:25:11.567" Score="9" ViewCount="160" Body="&lt;p&gt;D.A.M. Barrington, N. Immerman and H. Straubing show in their 1990 paper&#xA;&amp;quot;&lt;a href=&quot;http://www.cs.umass.edu/%7Eimmerman/pub/bis.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;On Uniformity Within &lt;span class=&quot;math-container&quot;&gt;$\mathsf{NC^1}$&lt;/span&gt;&lt;/a&gt;&amp;quot; that&#xA;the uniform &lt;span class=&quot;math-container&quot;&gt;$\mathsf{TC^0}$&lt;/span&gt; is equal to &lt;span class=&quot;math-container&quot;&gt;$\mathsf{FOM}$&lt;/span&gt;&#xA;(&lt;a href=&quot;https://en.wikipedia.org/wiki/FO_%28complexity%29&quot; rel=&quot;nofollow noreferrer&quot;&gt;&lt;span class=&quot;math-container&quot;&gt;$\mathsf{FO}$&lt;/span&gt;&lt;/a&gt; plus Majority quantifiers).&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Is a similar result known for the nonuniform case?&#xA;I.e. is it known that any &lt;span class=&quot;math-container&quot;&gt;$\mathsf{TC^0}$&lt;/span&gt; function can be obtained by composing Majority and (nonuniform) &lt;span class=&quot;math-container&quot;&gt;$\mathsf{AC^0}$&lt;/span&gt; functions?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;It seems this should be true since &lt;span class=&quot;math-container&quot;&gt;$\mathsf{AC^0}$&lt;/span&gt; is closed under restrictions of inputs (replacing an input with &lt;span class=&quot;math-container&quot;&gt;$0$&lt;/span&gt; or &lt;span class=&quot;math-container&quot;&gt;$1$&lt;/span&gt;) and the evaluation problem for &lt;span class=&quot;math-container&quot;&gt;$\mathsf{TC^0_d}$&lt;/span&gt; circuits is in (uniform) &lt;span class=&quot;math-container&quot;&gt;$\mathsf{TC^0}$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;hr /&gt;&#xA;&lt;h3&gt;Clarification and Motivation:&lt;/h3&gt;&#xA;&lt;p&gt;By composing I mean the usual composition of functions,&#xA;i.e. the composition of &lt;span class=&quot;math-container&quot;&gt;$g(\vec{y})$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$\vec{f}(\vec{x})$&lt;/span&gt; is&#xA;&lt;span class=&quot;math-container&quot;&gt;$h(\vec{x})=g(\vec{f}(\vec{x}))$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Consider the smallest set of functions containing the Majority function and &lt;span class=&quot;math-container&quot;&gt;$\mathsf{AC^0}$&lt;/span&gt; which is closed under composition.&#xA;In the uniform case this gives uniform &lt;span class=&quot;math-container&quot;&gt;$\mathsf{TC^0}$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;p&gt;If I am not making a mistake,&#xA;the evaluation problem for &lt;span class=&quot;math-container&quot;&gt;$\mathsf{TC^0_d}$&lt;/span&gt; circuits (&lt;span class=&quot;math-container&quot;&gt;$\mathsf{TC^0_d}$&lt;/span&gt;-Eval) is in uniform &lt;span class=&quot;math-container&quot;&gt;$\mathsf{TC^0}$&lt;/span&gt; and&#xA;therefore in this set by [BIS88].&#xA;I think this is enough since&#xA;we can get any function in &lt;span class=&quot;math-container&quot;&gt;$C\in\mathsf{TC^0_d}$&lt;/span&gt;&#xA;by composing a simple &lt;span class=&quot;math-container&quot;&gt;$\mathsf{AC^0}$&lt;/span&gt; function with &lt;span class=&quot;math-container&quot;&gt;$\mathsf{TC^0_d}$&lt;/span&gt;-Eval:&#xA;given input &lt;span class=&quot;math-container&quot;&gt;$\vec{x}$&lt;/span&gt; the &lt;span class=&quot;math-container&quot;&gt;$\mathsf{AC^0}$&lt;/span&gt; function computes&#xA;&lt;span class=&quot;math-container&quot;&gt;$(\vec{x}, \langle C \rangle)$&lt;/span&gt;,&#xA;where &lt;span class=&quot;math-container&quot;&gt;$\langle C \rangle$&lt;/span&gt; is a fixed string encoding the circuit &lt;span class=&quot;math-container&quot;&gt;$C$&lt;/span&gt;.&#xA;This &lt;span class=&quot;math-container&quot;&gt;$\mathsf{AC^0}$&lt;/span&gt; function composed with &lt;span class=&quot;math-container&quot;&gt;$\mathsf{TC^0}$&lt;/span&gt;-Eval&#xA;computes the same function that &lt;span class=&quot;math-container&quot;&gt;$C$&lt;/span&gt; does.&lt;/p&gt;&#xA;&lt;p&gt;But this argument uses [BIS88] and&#xA;I feel that the nonuniform case should have an easier well-known direct proof.&lt;/p&gt;&#xA;&lt;p&gt;The reason this is interesting is that &lt;span class=&quot;math-container&quot;&gt;$\mathsf{TC^0}$&lt;/span&gt; is not known&#xA;to have any complete problem w.r.t. many-one &lt;span class=&quot;math-container&quot;&gt;$\mathsf{AC^0}$&lt;/span&gt; reductions.&#xA;But for many purposes this characterization of &lt;span class=&quot;math-container&quot;&gt;$\mathsf{TC^0}$&lt;/span&gt;&#xA;as the composition closure of Majority+&lt;span class=&quot;math-container&quot;&gt;$\mathsf{AC^0}$&lt;/span&gt; (if correct)&#xA;seems to be as good as&#xA;having a complete problem w.r.t. many-one &lt;span class=&quot;math-container&quot;&gt;$\mathsf{AC^0}$&lt;/span&gt; reductions.&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2013-07-07T08:32:11.283" Title="Is nonuniform $\mathsf{TC^0}$ equal to the composition closure of $\mathsf{AC^0}$ and Majority?" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;circuit-complexity&gt;&lt;advice-and-nonuniformity&gt;&lt;bounded-depth&gt;" AnswerCount="0" CommentCount="9" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18283" PostTypeId="2" ParentId="18271" CreationDate="2013-07-07T00:56:22.883" Score="10" Body="&lt;p&gt;An important subclass of this family is a sub-class of 0-reversible languages. A language is 0-reversible if the reversal of the minimal DFA for the language is also deterministic. The reversing operation is defined as swapping initial and final states, and inverting the edge relation of the DFA. This means that a 0-reversible language can have only one accepting state. Your question is adding a further restriction that this state should be the initial state. Your restriction does not define the 0-reversible languages because minimal DFA for those languages can have distinct initial and final states. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The class of reversible languages is interesting because it was one of the first families of languages with infinitely many strings that was learnable from positive examples only. Angluin's paper provides an algebraic characterisation as well.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;a href=&quot;http://dl.acm.org/citation.cfm?id=322334&quot;&gt;Inference of Reversible Languages&lt;/a&gt;, Dana Angluin, Journal of the ACM, 1982&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="4155" LastActivityDate="2013-07-07T00:56:22.883" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18284" PostTypeId="2" ParentId="18271" CreationDate="2013-07-07T07:54:49.610" Score="14" Body="&lt;p&gt;Finite automata in which the initial state is also the unique accepting state have the form $r^∗$, where $r$ is some regular expression. However, as J.-E. Pin points out below, the converse is not true: there are languages of the form $r^*$ which are not accepted by a DFA with a unique accepting state.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Intuitively, given a sequence of states $q_0, \ldots, q_n$ such that $q_0 = q_n$ either $n = 0$ or the underlying state diagram must have a cycle involving $q_0$. The latter case is captured algebraically by the Kleene star.&lt;/p&gt;&#xA;" OwnerUserId="969" LastEditorUserId="969" LastEditDate="2016-06-30T12:19:13.900" LastActivityDate="2016-06-30T12:19:13.900" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="18286" PostTypeId="1" CreationDate="2013-07-07T14:43:39.603" Score="1" ViewCount="379" Body="&lt;p&gt;I would like to practice on some problems for using LTL formulae but besides the foundations and theory there are only every few examples. I know that having understood theory is not enough. Where can I go looking for interesting applications, examples including discussions about it. Is it possible to open a thread with examples here?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;E.g. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$(P\to \Diamond Q)$ is intriguing. One would think &quot;On a path $\pi$ starting at state $s$ when P holds, eventually Q will hold.&quot; But of course given LTL formula does also hold for any other path which does not satisfy $P$ but $\Diamond Q$ (def. $\rightarrow$ or $\neg P \vee  Q$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, this is not covered in theory in general. It is experience knowledge. I want to practice LTL formulae, where can I go looking for them?&lt;/p&gt;&#xA;" OwnerUserId="5700" LastEditorUserId="5700" LastEditDate="2013-07-07T15:14:40.900" LastActivityDate="2013-07-07T20:16:09.780" Title="Resource for LTL formulae?" Tags="&lt;linear-temporal-logic&gt;" AnswerCount="2" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18287" PostTypeId="2" ParentId="1215" CreationDate="2013-07-07T14:55:19.180" Score="8" Body="&lt;p&gt;Given a tree $T$, a partition of $V(T)$ in $k$ levels $\phi: V(T)\to \{1,\ldots, k\}$&#xA;(i.e., edges of $T$ connect vertices of neighbouring levels $i$ and $i+1$), and an&#xA;integer $K$. Can you permute the vertices inside the levels such that the crossing number&#xA;is at most $K$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This problem is NP-complete, proved by Martin Harrigan and Patrick Healy,&#xA;&lt;a href=&quot;http://link.springer.com/chapter/10.1007/978-3-642-19094-0_9&quot;&gt;$k$-Level Crossing Minimization Is NP-Hard for Trees&lt;/a&gt;,&#xA;WALCOM 2011, LNCS 6552, pp. 70–76.&lt;/p&gt;&#xA;" OwnerUserId="13136" LastActivityDate="2013-07-07T14:55:19.180" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18288" PostTypeId="2" ParentId="18286" CreationDate="2013-07-07T14:59:36.407" Score="1" Body="&lt;p&gt;A good starting point for practical LTL examples is &lt;a href=&quot;http://www.iaik.tugraz.at/content/research/design_verification/lily/&quot; rel=&quot;nofollow&quot;&gt;LILY&lt;/a&gt;, as well as the &lt;a href=&quot;http://www.iaik.tugraz.at/content/research/design_verification/prosyd/&quot; rel=&quot;nofollow&quot;&gt;PROSYD project&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;They provide some examples for LTL formulas, both &quot;toy examples&quot; and real-life applications. I think the website for the Prosyd project is a bit dead.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By the way, your interpretation of the formula $P\to \Diamond Q$ is not exactly correct. First of all, it is not a state-formula, even if you consider it as a CTL^* formula and not an LTL formula.&#xA;It's evaluation is over a path, and a path satisfies it iff if P holds in the first state of the path, then eventually Q also holds.&lt;/p&gt;&#xA;" OwnerUserId="7531" LastActivityDate="2013-07-07T14:59:36.407" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="18289" PostTypeId="2" ParentId="17444" CreationDate="2013-07-07T16:53:23.487" Score="3" Body="&lt;p&gt;One advantage of transformation matrices over direct calculations is that you can compose transformations simply by multiplying matrices. E.g. you might have different transformations for basic motions such as rolling, panning, or dollying the camera and doing similar things to the objects in the scene. Keeping track of all this in a direct calculation becomes an unmaintainable mess.&lt;/p&gt;&#xA;" OwnerUserId="95" LastEditorUserId="95" LastEditDate="2013-07-08T02:13:22.890" LastActivityDate="2013-07-08T02:13:22.890" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18290" PostTypeId="2" ParentId="18286" CreationDate="2013-07-07T20:16:09.780" Score="2" Body="&lt;p&gt;I am not sure what you are referring to when you say &quot;this is not covered in theory in general.&quot; The specific example that you give has been studied and is called antecedent failure. &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;a href=&quot;http://www.cs.york.ac.uk/rts/docs/DAC-1964-2006/PAPERS/1994/DAC94_596.PDF&quot; rel=&quot;nofollow&quot;&gt;Formally verifying a microprocessor using a simulation methodology.&lt;/a&gt;, D. L. Beatty and R. L. Bryant, 1994&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;&lt;em&gt;One of the principal dangers of formal verification is what we have called antecedent failure. Formally, implications have an extensional meaning: they are also true if the antecedent condition is not true. Antecedent failure means that we can speak nonsense and not realise it.&lt;/em&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The problem of detecting more general forms of such logical pitfalls is called vacuity detection. The introduction of the paper below has an excellent overview. You will also find examples of formulae.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;a href=&quot;http://www.cs.rice.edu/~vardi/papers/cav03.ps.gz%E2%80%8E&quot; rel=&quot;nofollow&quot;&gt;Enhanced Vacuity Detection in Linear Temporal Logic&lt;/a&gt;, Roy Armoni, Limor Fix, Alon Flaisher, Orna Grumberg, Nir Piterman, Andreas Tiemeyer, and Moshe Y. Vardi, 2003&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;There are lots of courses where people teach temporal logic and those notes and exercises have lots of examples. I would also suggest Manna and Pnueli's book for examples. &lt;/p&gt;&#xA;" OwnerUserId="4155" LastActivityDate="2013-07-07T20:16:09.780" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18291" PostTypeId="1" AcceptedAnswerId="18299" CreationDate="2013-07-08T07:48:12.120" Score="2" ViewCount="275" Body="&lt;p&gt;This is really a basic (undergrad) question in LP but still i would like to&#xA;clarify it for myself to be sure. I have a minimization problem from the sort $\min \sum_i |x_i|$ s.t $Ax \le b$.&#xA;I've seen that the standard way to convert it to LP is to represent $x_i$ as the difference&#xA;of two non negative variables. We question is, can i also handle it like so : &#xA;add a new variable t : $|x_i|=t_i$ and get&#xA;$$\min \sum_i t_i \\ &#xA;Ax \le b \\ &#xA;-t_i \le x_i \le t_i $$&#xA;Thanks.&lt;/p&gt;&#xA;" OwnerUserId="13070" LastEditorUserId="13070" LastEditDate="2013-07-09T11:26:48.650" LastActivityDate="2013-07-27T23:01:03.043" Title="Linear programming, a non standard handling of absolute value" Tags="&lt;linear-programming&gt;&lt;convex-optimization&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18293" PostTypeId="1" AcceptedAnswerId="18297" CreationDate="2013-07-08T11:27:18.913" Score="7" ViewCount="792" Body="&lt;p&gt;Suppose I have some set of points in d-dimensional space, each with some mass. Our problem size will be the number of points in this set. After some roughly (within polylog factors) linear initialisation using roughly linear storage, I would like to know the total mass of all the points that fall within various queried subspaces in polylogarithmic time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If our queries are all axis-parallel boxes, ie sets of points defined by a cartesian product of intervals on each axis, we can apply some standard, easily-googleable range searching methods and achieve this without too much difficulty.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If our queries are all simplices, there are currently no known methods which satisfy both these criteria, either we use polynomial space and initialisation to achieve a polylog query time, or we use roughly linear space and have sublinear, but not logarithmic, query times.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What if our queries are all boxes, but each is rotated in some way? We can define such a box in a few ways, but for the sake of concreteness suppose I will give you a sequence of sets of hyperplanes, each with exactly one parallel partner, intersecting all others orthogonally, defining some boxey subspace between them. Is there a way of solving this slightly simpler problem with roughly linear initialisation and storage but polylogarithmic queries? Alternatively, if I were to give you a method of doing this, would you be able to use it to solve the simplex case of this problem in a similarly easy way?&lt;/p&gt;&#xA;" OwnerUserId="16881" LastActivityDate="2013-07-10T00:03:22.480" Title="Can we perform an n-d range search over an arbitrary box without resorting to simplex methods?" Tags="&lt;ds.algorithms&gt;&lt;ds.data-structures&gt;&lt;cg.comp-geom&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18294" PostTypeId="1" CreationDate="2013-07-08T13:08:48.347" Score="7" ViewCount="274" Body="&lt;p&gt;The &lt;a href=&quot;http://en.wikipedia.org/wiki/VC_dimension&quot;&gt;Vapnik-Chervonenkis dimension&lt;/a&gt; of a set system $(X,\mathcal S)$ with ground set $X$ is the maximum size of a set $X'\subseteq X$ such that for each subset $X'_i\subseteq X'$, there is a set $S_i\in\mathcal S$ with $S_i\cap X'=X'_i$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The following decision problem is then natural:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;VC DIMENSION&lt;/strong&gt;&lt;br&gt;&#xA;  &lt;strong&gt;Input:&lt;/strong&gt; a set system $(X,\mathcal S)$ and an integer $k$.&lt;br&gt;&#xA;  &lt;strong&gt;Task:&lt;/strong&gt; decide whether the VC dimension of $(X,\mathcal S)$ is at least $k$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Since there are $2^{|X'|}$ subsets of $X'$, we have $|X'|\leq\log_2(|\mathcal S|)$, and hence VC DIMENSION can be solved in time $O\binom{|X|}{\log_2(|\mathcal S|)}$. For the hardness side, VC DIMENSION is LOGNP-hard (see &lt;a href=&quot;http://dx.doi.org/10.1006/jcss.1996.0058&quot;&gt;here&lt;/a&gt;). However, I wonder whether something is known for the following specific case:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;My question&lt;/strong&gt;: what is the complexity of deciding whether a given set system $(X,\mathcal S)$ has VC dimension &lt;em&gt;exactly&lt;/em&gt; $\log_2(|\mathcal S|)$?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="1930" LastEditorUserId="1930" LastEditDate="2013-07-16T09:52:12.577" LastActivityDate="2013-10-16T15:09:51.113" Title="The complexity of recognizing optimal set systems for the V-C dimension" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;vc-dimension&gt;&lt;set-system&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18295" PostTypeId="2" ParentId="18294" CreationDate="2013-07-08T15:14:02.333" Score="-1" Body="&lt;p&gt;For the VC dimension to be exactly $\log_2(|\mathcal{S}|)$, $\mathcal{S}$ must be the powerset of some subset of $X$ of size $\log_2(|\mathcal{S}|)$, so you would need to check whether this is true, which takes, I'd say, time $O(|\mathcal{S}|)$.&lt;/p&gt;&#xA;" OwnerUserId="4828" LastActivityDate="2013-07-08T15:14:02.333" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="18296" PostTypeId="2" ParentId="6054" CreationDate="2013-07-08T15:42:52.787" Score="-8" Body="&lt;p&gt;several other answers have mentioned submitting to &lt;a href=&quot;http://arxiv.org/&quot; rel=&quot;nofollow noreferrer&quot;&gt;arxiv&lt;/a&gt; which is indeed a sometimes prestigious and elite site occasionally containing some work/papers submitted by undergraduates. you appear to be affiliated with a university. fyi this is a semiofficial requirement of arxiv submissions, sometimes [apparently] judged by your &quot;.edu&quot; on your email address. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;if you are not &quot;university affiliated&quot;, arxiv can be harder to submit to. it requires the support of one of the [unlisted] moderators.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;generally it seems [speaking from experience] their acceptance policy is rather opaque and occasionally verging on arbitrary for borderline cases. if you submit a paper and you're in, great, but if its not accepted based on the sometimes sketchy criteria [which seems not to be published or clearly articulated anywhere on the site], you wont necessarily have a clear path to fix that. in other words the structure is not at all set up to encourage/help/coax borderline cases to make it in [it is somewhat similar to stackexchange in this way, but also maybe scientific journal submissions].&lt;/p&gt;&#xA;&#xA;&lt;p&gt;so fyi, a relatively new alternative that was recently created specifically/partially in protest of arxiv's opaque and not-fully-open submission policies is &lt;a href=&quot;http://vixra.org/&quot; rel=&quot;nofollow noreferrer&quot;&gt;vixra&lt;/a&gt; which seems to be stable and attracting a healthy dose of submissions. more details on their policy and contrast to arxiv can be found on the page &lt;a href=&quot;http://vixra.org/why&quot; rel=&quot;nofollow noreferrer&quot;&gt;&quot;why vixra&quot;&lt;/a&gt;. quoting from that:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Vixra is also an experiment to see what kind of scientific work is being excluded by the arXiv. But most of all it is a serious and permanent e-print archive for scientific work. Unlike arXiv.org it is truly open to scientists from all walks of life. You can support this project by submitting your articles.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;as to another reasonable suggestion by JF in the other answer:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Alternatively, you could just post it as a question here, asking if the result was previously known, or if anybody could point you to a good survey paper on the problem. You'd have a time stamp from the post time, so you wouldn't have to worry about that. If you got an encouraging response here (i.e. that it was not currently known), then you could consider how to proceed from there. If on the other hand, it was already known, or there was a flaw, then it wouldn't really matter.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;again, personal experience, I tried this to some degree here with some of my own ideas &amp;amp; had some degree of success, but it was highly variable and unpredictable. however, dont really recommend the above in &lt;em&gt;this&lt;/em&gt; forum (TCS.se) for several reasons. if your question is upvoted beyond a certain threshold, it is likely to stay here forever unmolested. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;however in a borderline case (which frankly is the likely case here for an undergraduate attempting to accomplish a genuine research advance), the question could easily be closed and deleted, and on stackexchange, these questions are totally vaporized without trace (&lt;em&gt;all&lt;/em&gt; comments, &lt;em&gt;all&lt;/em&gt; answers, etc, &lt;em&gt;everything&lt;/em&gt; is completely wiped out as if the question had never appeared in the 1&lt;sup&gt;st&lt;/sup&gt; place) see &lt;a href=&quot;https://cstheory.stackexchange.com/help/deleted-answers&quot;&gt;why and how are some posts are deleted&lt;/a&gt;. surely not what you intended, so much for &quot;a time stamp from the post time, so you dont have to worry about that&quot;...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;another less severe but still problematic case here [from the POV of the originator] are questions that end up getting heavily edited via the collaborative editing, and get pushed away/drift significantly from your original intentions/meaning. see &lt;a href=&quot;https://cstheory.stackexchange.com/help/editing&quot;&gt;why can people edit my posts, how does editing work&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;you may have better luck starting out in &lt;a href=&quot;https://cs.stackexchange.com/&quot;&gt;cs.stackexchange&lt;/a&gt;. occasionally very advanced questions there get migrated to this forum.&lt;/p&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="-1" LastEditDate="2017-04-13T12:48:30.830" LastActivityDate="2013-07-08T15:49:54.130" CommentCount="13" ContentLicense="CC BY-SA 3.0" />
  <row Id="18297" PostTypeId="2" ParentId="18293" CreationDate="2013-07-08T18:24:23.167" Score="8" Body="&lt;h2&gt;No.&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;Rotated-box queries and simplex queries are both generalizations of &lt;strong&gt;slab&lt;/strong&gt; queries, where a slab is the volume between two parallel hyperplanes.  Most lower bound proofs for simplex range searching actually assume that all query simplices are slabs of constant thickness.  In particular, Chazelle [2] proved the following theorem.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Let $P$ be a random set of $n$ points, generated independently and uniformly in the unit hypercube $[0,1]^d$.  With probability at least $1/2$, any data structure of size $s$ that answers queries in $P$ for slabs of width $1/24$ in time $t$ in the semigroup arithmetic model must satisfy the inequality $st^d = \Omega((n/\log n)^d)$, or $st^2 = \Omega(n^2)$ when $d=2$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The constants $1/2$ and $1/24$ are not particularly important here; different choices merely change the constant hidden in the $\Omega(\,)$ notation.  Thus, if you are allowed only linear space, your query time must be $\Omega(n^{1-1/d} / \operatorname{polylog} n)$; on the other hand, if you require polylogarithmic query time, you must use $\Omega(n^d / \operatorname{polylog} n)$ space.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More recently, Arya, Mount, and Xia [2] proved nearly identical lower bounds (under some reasonable assumptions about the underlying semigroup) for the even simpler case of &lt;strong&gt;halfspace&lt;/strong&gt; queries, where a halfspace consists of all points on one side of a single halfplane.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;tl;dr: Don't rotate your boxes.&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Sunil Arya, David M. Mount, and Jian Xia.  &lt;a href=&quot;http://www.cs.umd.edu/~mount/Papers/dcg12-lower-bound.pdf&quot; rel=&quot;nofollow&quot;&gt;Tight lower bounds for halfspace range searching&lt;/a&gt;.  &lt;em&gt;Discrete &amp;amp; Computational Geometry&lt;/em&gt; 47:711–730, 2012.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Bernard Chazelle.  &lt;a href=&quot;http://www.cs.princeton.edu/~chazelle/pubs/LBpolytopeRangeSearch.pdf&quot; rel=&quot;nofollow&quot;&gt;Lower bounds on the complexity of polytope range searching&lt;/a&gt;.  &lt;em&gt;Journal of the AMS&lt;/em&gt; 2(40):637–666, 1989.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="111" LastEditorUserId="111" LastEditDate="2013-07-10T00:03:22.480" LastActivityDate="2013-07-10T00:03:22.480" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="18298" PostTypeId="2" ParentId="10779" CreationDate="2013-07-08T20:26:47.060" Score="4" Body="&lt;p&gt;You can determine the period reasonably easily if you know the factorization of $M$ as $pq$, the factorization of $(p-1)\cdot (q-1)$ and the factorization of $\ell-1$ for any prime $\ell$ that divides $(p-1)\cdot (q-1)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This requires two steps, first find the order of $x_0$ modulo $M$. Since this divides $(p-1)\cdot (q-1)$ whose factorization is known, this is standard. Let $L$ denote this order, the period of BBS is the order of $2$ modulo $L$ and you can compute it in the same way as we computed $L$.&lt;/p&gt;&#xA;" OwnerUserId="16867" LastActivityDate="2013-07-08T20:26:47.060" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="18299" PostTypeId="2" ParentId="18291" CreationDate="2013-07-08T21:16:27.730" Score="2" Body="&lt;p&gt;Your formulation ensures that $|x_i|=t_i$ in every &lt;em&gt;optimal&lt;/em&gt; solution. However, this does not hold for an arbitrary &lt;em&gt;feasible&lt;/em&gt; point. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Picky people could then complain that your formulation isn't entirely correct. However, as long as you don't change your objective function nor use $t_i$ in any other constraint, then you will be fine in practice.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://orinanobworld.blogspot.fr/2012/07/modeling-absolute-values.html&quot; rel=&quot;nofollow&quot;&gt;This blog post describes several ways to model absolute values&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="13056" LastEditorUserId="13056" LastEditDate="2013-07-27T23:01:03.043" LastActivityDate="2013-07-27T23:01:03.043" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18300" PostTypeId="1" CreationDate="2013-07-08T22:52:53.290" Score="4" ViewCount="239" Body="&lt;p&gt;Let $x_1 \ldots x_a,y_1 \ldots y_b$ be independent random variables taking values +1 or -1. Consider the sum &#xA;$$S = \sum_{i,j} x_iy_j.$$ &#xA;I wish to upper bound the probability $P(|S| &amp;gt; t)$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The best bound I have right now is &#xA;$$2\exp(-\frac{ct}{\max(a,b)})$$ &#xA;where $c$ is a universal constant. &#xA;This is achieved by lower bounding the probability $Pr(|x_1 + \dots + x_n|&amp;lt;\sqrt{t})$ and $Pr(|y_1 + \dots + y_n|&amp;lt;\sqrt{t})$ by application of simple chernoff bounds. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can I hope to get something that is significantly better than this bound? &#xA;For starters, can I at least get &#xA;$$\exp({-\frac{ct}{\sqrt{ab}}})?$$ &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If I can get sub-Gaussian tails that would probably be the best but can we expect that? (I don't think so but can't think of an argument.)&lt;/p&gt;&#xA;" OwnerUserId="12212" LastEditorUserId="186" LastEditDate="2013-07-09T08:26:13.570" LastActivityDate="2013-07-09T17:58:40.193" Title="Sums of products of bernoulli random variables" Tags="&lt;pr.probability&gt;&lt;randomized-algorithms&gt;&lt;randomness&gt;&lt;chernoff-bound&gt;" AnswerCount="0" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="18301" PostTypeId="1" AcceptedAnswerId="18328" CreationDate="2013-07-09T04:41:57.787" Score="6" ViewCount="302" Body="&lt;p&gt;What is the complexity of finding the largest $k\times k$ grid graph that is a minor of a given graph $G$? It is FPT in $k$, and it seems likely to be NP-hard (or NP-complete in a decision version asking whether there exists such a minor for given $k$) but I don't know of a published proof.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are some papers on constant factor approximations to this problem, e.g.:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Demaine, E.D.; Hajiaghayi, M.; Kawarabayashi, K. (2005). &lt;a href=&quot;http://dx.doi.org/10.1109/SFCS.2005.14&quot;&gt;Algorithmic graph minor theory: Decomposition, approximation, and coloring&lt;/a&gt;. FOCS, 637–646.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Gua, Q.-P.; Tamaki, H. (2011). &lt;a href=&quot;http://dx.doi.org/10.1016/j.tcs.2010.07.017&quot;&gt;Constant-factor approximations of branch-decomposition and largest grid minor of planar graphs in $O(n^{1+\epsilon})$ time&lt;/a&gt;. Theoretical Computer Science 412 (32): 4100–4109.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Is it hard to $(1+\epsilon)$-approximate, for some $\epsilon&amp;gt;0$?&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2013-07-10T15:52:04.530" Title="Complexity of finding large grid minors" Tags="&lt;graph-theory&gt;&lt;np-hardness&gt;&lt;approximation-hardness&gt;&lt;graph-minor&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="18302" PostTypeId="1" CreationDate="2013-07-09T05:00:53.467" Score="1" ViewCount="194" Body="&lt;p&gt;I've faced the beltway reconstruction problem and I've developed a simple backtrack algorithm, what algorithms do you know for this problem? &lt;br&gt;&#xA;&lt;strong&gt;Beltway Reconstruction Problem&lt;/strong&gt;: &lt;br&gt;&#xA;Assume there is a set of non-identical integers between 0 and N, we only have pairwise distances of points of that set mod N, How can we reconstruct the original set using this?&lt;/p&gt;&#xA;" OwnerUserId="16810" LastEditorUserId="186" LastEditDate="2013-07-09T08:37:05.563" LastActivityDate="2013-07-09T08:37:05.563" Title="What algorithms do you know for beltway reconstruction?" Tags="&lt;ds.algorithms&gt;&lt;nt.number-theory&gt;&lt;comp-number-theory&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="1" ClosedDate="2013-07-09T08:38:39.710" ContentLicense="CC BY-SA 3.0" />
  <row Id="18303" PostTypeId="2" ParentId="18302" CreationDate="2013-07-09T07:08:39.043" Score="2" Body="&lt;p&gt;Paul Lemke Steven S. Skiena Warren D. Smith, &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.20.6172&quot; rel=&quot;nofollow&quot;&gt;Reconstructing Sets From Interpoint Distances&lt;/a&gt;, gave backtracking algorithm that runs in time $O(n^n \log n)$ for the beltway reconstruction problem. As far as I know, this is the best known. The exact complexity of the problem is not known. It is not known to be in $P$ and neither known to be $NP$-complete.&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2013-07-09T07:16:21.173" LastActivityDate="2013-07-09T07:16:21.173" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="18306" PostTypeId="1" AcceptedAnswerId="18308" CreationDate="2013-07-09T09:05:06.417" Score="13" ViewCount="2372" Body="&lt;p&gt;This may be a very simple question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But what is the difference between types and sorts?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My current understanding is that you have a type theory with type rules that give a notion of a well-typed statement but sorts are more basic, differentiating symbols into different &lt;em&gt;sorts&lt;/em&gt; of symbols and introducing basic rules on function application etc.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Perhaps there is little difference, maybe they just come from different fields. But I can't seem to find a clear description of their relation.&lt;/p&gt;&#xA;" OwnerUserId="16610" LastActivityDate="2013-07-10T11:01:40.220" Title="Difference between Types and Sorts" Tags="&lt;type-theory&gt;" AnswerCount="2" CommentCount="4" FavoriteCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="18307" PostTypeId="1" AcceptedAnswerId="18312" CreationDate="2013-07-09T12:12:47.883" Score="5" ViewCount="1972" Body="&lt;p&gt;I'm looking at different heuristics that approximate solutions for a metric Traveling Salesman Problem. I was wondering if there is a worst case ratio of tours calculated by the nearest neighbor heuristic to the optimal tour.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Apparently, the Minimum Spanning Tree heuristic is a 2-approximation for metric TSPs meaning that it will only find tours that - in the worst case - are twice as long as the optimal tour. Is there some factor like this for the nearest neighbor heuristic for metric TSPs?&lt;/p&gt;&#xA;" OwnerUserId="16891" LastActivityDate="2013-07-09T17:02:06.227" Title="Approximation for metric TSP: Worst case using nearest neighbor heuristic?" Tags="&lt;tsp&gt;&lt;heuristics&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18308" PostTypeId="2" ParentId="18306" CreationDate="2013-07-09T12:14:05.273" Score="17" Body="&lt;p&gt;The way I understand the difference is that the two concepts are used to give slightly different emphasis, but ultimately they are kind of the same thing. Since neither has a formal definition we cannot expect an exact answer without first limiting the scope to a particular understanding of &quot;type&quot; and &quot;sort&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&quot;Sort&quot; is used when we want to say that there are several different, well, sorts of things that we need to distinguish. An example would be a theory of geometry with sorts &quot;point&quot; and &quot;line&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&quot;Type&quot; is used when not only is there a need to distinguish different sorts of things, but proper attention is paid to the &lt;em&gt;structure&lt;/em&gt; of the sorts/types themselves. Thus, typically we can form new types from old ones (products, sums, function types), we can have interesting relations between types (type equality, subtyping), etc. In contrast, one typically just specifies some sorts at the beginning, and then never pays much attention to the structure of the class of all sorts.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This at least is how I percieve the difference, other people may have different experiences.&lt;/p&gt;&#xA;" OwnerUserId="705" LastActivityDate="2013-07-09T12:14:05.273" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18312" PostTypeId="2" ParentId="18307" CreationDate="2013-07-09T17:02:06.227" Score="14" Body="&lt;p&gt;No, the NN heuristic does not have constant factor for metric TSP. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Rosenkrantz, Stearns, and Lewis proved in &lt;a href=&quot;http://epubs.siam.org/doi/abs/10.1137/0206041&quot;&gt;An Analysis of Several Heuristics for the Traveling Salesman Problem. SIAM J. Comput. 6(3): 563-581 (1977)&lt;/a&gt; that the worst case ratio of the tour obtained by the nearest neighbor method is bounded above by a logarithmic function of the number of nodes.&lt;/p&gt;&#xA;" OwnerUserId="16809" LastActivityDate="2013-07-09T17:02:06.227" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18317" PostTypeId="2" ParentId="6054" CreationDate="2013-07-09T19:54:57.277" Score="2" Body="&lt;p&gt;If there is a corresponding integer sequence post it to OEIS. You get credit for the discovery if it is indeed novel, and if not you still get thanked for posting something interesting.&lt;/p&gt;&#xA;" OwnerUserId="2021" LastActivityDate="2013-07-09T19:54:57.277" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18319" PostTypeId="1" AcceptedAnswerId="20895" CreationDate="2013-07-10T01:39:48.717" Score="7" ViewCount="365" Body="&lt;p&gt;I'd like to be able to state that the following problem is NP hard.&#xA;I am wondering whether anybody have any pointers to related/recent work?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem:&#xA;Given a finite set of transition matrices $A$ and two non-negative vectors&#xA;$\vec{x}$ and $\vec{y}$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Do there exist $A_1, A_2, ..., A_n \in A$ such that&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\vec{x} \, A_1 \, A_2 ...  A_n \, \vec{y} \geq P$$&lt;/p&gt;&#xA;" OwnerUserId="16898" LastEditorUserId="3247" LastEditDate="2013-07-10T08:23:30.963" LastActivityDate="2014-02-06T11:16:09.950" Title="Complexity of a variant of the max word problem. NP-complete?" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;&lt;matrices&gt;" AnswerCount="2" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="18322" PostTypeId="2" ParentId="18319" CreationDate="2013-07-10T08:17:23.500" Score="16" Body="&lt;p&gt;&lt;strong&gt;If you allow the repetition of matrices&lt;/strong&gt;, i.e. there exists $ 1 \leq i &amp;lt; j \leq n $ s.t. $ A_i =A_j $, then your problem is actually &lt;strong&gt;undecidable&lt;/strong&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $ EMPTY_{PFA} $ be the emptiness problem for probabilistic finite automaton (PFA).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A PFA is a 4 tuple: $ P=(\Sigma,\{A_{\sigma \in \Sigma}\},x,y) $, where $\Sigma = \{\sigma_1,\ldots,\sigma_k\}$ is the input alphabet, each $ A_{\sigma} $ is a stochastic matrix, $x$ is a stochastic row vector (initial distribution), and $ y $ is a zero-one column vector. Each word, say $w \in \Sigma^*$, corresponds to a sequence of the matrices from $ \{A_{\sigma \in \Sigma}\} $ by allowing repetition, and vice versa. The accepting probability of $w$ by $P$ is as follows:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$f_P(w) = x \cdot A_{w_1} \cdot A_{w_2} \cdots A_{w_{|w|}} \cdot y, $$ &lt;/p&gt;&#xA;&#xA;&lt;p&gt;where $w_i$ is the $i^{th}$ symbol of $w$ and $|w|$ is the length of $w$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$ EMPTY_{PFA} $ is the problem of, for a given PFA $ P $ and a threshold $ \lambda \in (0,1) $, whether there exists a word accepted with a probability at least $ \lambda $. $ EMPTY_{PFA} $ was shown to be undecidable. It is an old result and you can start digging from this article: &lt;a href=&quot;http://arxiv.org/abs/quant-ph/0304082&quot;&gt;http://arxiv.org/abs/quant-ph/0304082&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$ EMPTY_{PFA} $ can be reduced to your problem. So, if your problem is decidable, then $ EMPTY_{PFA} $ is also decidable. But this is a contradiction. So, your problem is undecidable, too.&lt;/p&gt;&#xA;" OwnerUserId="7358" LastEditorUserId="7358" LastEditDate="2013-07-14T21:54:21.627" LastActivityDate="2013-07-14T21:54:21.627" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="18325" PostTypeId="2" ParentId="18306" CreationDate="2013-07-10T11:01:40.220" Score="9" Body="&lt;p&gt;Like Andrej says, neither term is completely formal, and talk about roughly the same kinds of things, so there isn't really a clear dividing line. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For myself, I think of the word &quot;sort&quot; as coming from model theory (as in multi-sorted first-order logic), and so I use the word &quot;sort&quot; to suggest that there is a set-theoretic interpretation of sets and inhabitants. The idea is that if $t$ is a term and $\sigma$ is a sort, then there are interpretations such that $t : \sigma$ implies $[\![t]\!] \in [\![\sigma]\!]$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I do not make this suggestion when using the word &quot;type&quot;. There are plenty of type theories which do not have simple set-theoretic interpretations, and many of them are highly relevant to programming. So if $e$ is an expression and $\tau$ is a type, then the judgement $e : \tau$ does not necessarily suggest any membership-style reading.&lt;/p&gt;&#xA;" OwnerUserId="657" LastActivityDate="2013-07-10T11:01:40.220" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="18327" PostTypeId="1" CreationDate="2013-07-10T13:07:50.590" Score="0" ViewCount="185" Body="&lt;p&gt;What I am trying to achieve is multiple k-selections (different but small datasets) running in parallel on a GPU. Basically, my aim is to select kth smallest element from an array of floats such that each work-group processes one array using CUDA and efficiently utilizes thread-level parallelism.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The number of arrays to be sorted as such run into thousands. I am not sure if I have seen such scaling done anywhere before. I have seen algorithms like the Duane Merrill Radix sort (which is actually sorting, not selection) or the randomized selection algorithm by Monroe et al. or k-selection algorithms by Alabi et al. However, ALL of them have been built for choosing the kth element from an extremely large array/vector and not multiple lists in parallel as I want.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The number of items in an array and k are pre-determined (n&amp;lt;10000). Could you suggest me any algorithm of k-selection of multiple short lists in parallel?&lt;/p&gt;&#xA;" OwnerUserId="7483" LastActivityDate="2013-07-10T13:07:50.590" Title="Multiple k-selection using GPU" Tags="&lt;dc.parallel-comp&gt;" AnswerCount="0" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="18328" PostTypeId="2" ParentId="18301" CreationDate="2013-07-10T15:52:04.530" Score="10" Body="&lt;p&gt;If I understood well the problem, perhaps this is an idea for a reduction from the Hamiltonian path problem: given $G$ with $|V| = n$, a source and target node $s, t \in V$;  you can extend it adding a $(n-1) \times n$ &quot;full&quot; grid graph having the bottom-left node of the last row connected to $s$ and the bottom right node of the last row connected to $t$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then connect each of the $n-2$ remaining nodes of the last row to each of the nodes in $|V| \setminus \{s,t\}$ adding $(n-2)^2$ edges.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The resulting graph $G'$ has a graph minor of size $n \times n$ if and only if there is an Hamiltonian path from $s$ to $t$ in the source graph $G$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the following picture a no instance (left) and a yes instance (right) with the corresponding $n \times n$ grid graph minor.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/W9Kck.jpg&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;" OwnerUserId="3247" LastActivityDate="2013-07-10T15:52:04.530" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18330" PostTypeId="1" AcceptedAnswerId="18331" CreationDate="2013-07-10T17:11:43.160" Score="1" ViewCount="2935" Body="&lt;p&gt;I wonder if the minimal dominating set is always a subset of the minimal vertex cover in any graph. If so, what's the proof?&lt;/p&gt;&#xA;" OwnerUserId="10540" LastActivityDate="2013-07-10T18:24:24.993" Title="What's the relation between the dominating set and vertex cover?" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;set-theory&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18331" PostTypeId="2" ParentId="18330" CreationDate="2013-07-10T18:09:45.880" Score="4" Body="&lt;p&gt;Since there is no single minimal dominating set nor minimal vertex cover, I interpret your question as: &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;There exist one minimal dominating set $D$ and one minimal vertex cover $C$ such that $D \subseteq C$. &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;No. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If by &lt;em&gt;any graph&lt;/em&gt; you also consider non-connected graphs, then you have a trivial counterexample in $G=(V,E)$ with $V\neq\emptyset$ and $E=\emptyset$, &#xA;i.e. at least one vertex and no edges. &#xA;The minimal vertex cover is $C=\emptyset$, since there are no edges to cover, &#xA;but the only dominating set is $D=V$, and clearly $D\not\subseteq C$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Even if you restrict it to connected graphs, the answer is still no. Consider the &lt;strong&gt;cycle&lt;/strong&gt; graph $G=(V,E)$ of six vertexes $V=\{a,b,c,d,e,f\}$ and $E=\{(a,b), (b,c), (c,d), (d,e),(e,f),(a,f)\}$. &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The vertex cover sets of minimal size have three elements, obtained by skipping one vertex in two: $\{a,c,e\}$ and $\{b,d,f\}$. &lt;/li&gt;&#xA;&lt;li&gt;The dominating sets of minimal size are obtained with opposing vertexes, $\{a,d\}$, $\{b,e\}$, and $\{c,f\}$. &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;None of the dominating sets is a subset of any vertex cover set. &lt;/p&gt;&#xA;" OwnerUserId="15558" LastEditorUserId="15558" LastEditDate="2013-07-10T18:24:24.993" LastActivityDate="2013-07-10T18:24:24.993" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="18332" PostTypeId="2" ParentId="18330" CreationDate="2013-07-10T18:17:02.353" Score="4" Body="&lt;p&gt;I interpret your question as follows:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Let $M$ be a minimal dominating set (MDS). Then there exists a minimal vertex cover (MVC) $C$ such that $M \subseteq C$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The answer is negative. Consider the line&#xA;$a - b - c - d$ and the MDS $M=\{a,d\}$. The edge $(b,c)$ isn't covered so either $b$ or $c$ need to be added to $M$ to yield an MVC. However, minimality requires that we then need to remove either $a$ or $d$.&lt;/p&gt;&#xA;" OwnerUserId="6785" LastActivityDate="2013-07-10T18:17:02.353" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18333" PostTypeId="1" AcceptedAnswerId="18337" CreationDate="2013-07-10T20:36:00.257" Score="3" ViewCount="109" Body="&lt;p&gt;Let $P$ be a prime. Given a number $a$, what is the computational complexity in establishing if $a$ is a cubic or higher order residue modulo $P$? Are there any good algorithms?&lt;/p&gt;&#xA;" OwnerUserId="1812" LastActivityDate="2013-07-11T00:00:57.333" Title="Complexity of higher order residues" Tags="&lt;nt.number-theory&gt;&lt;comp-number-theory&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18334" PostTypeId="2" ParentId="18253" CreationDate="2013-07-10T20:45:33.353" Score="3" Body="&lt;p&gt;Yes, this can be solved in polynomial time.  Here is an algorithm.&lt;/p&gt;&#xA;&lt;p&gt;To rephrase the problem statement:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;We are given a basis &lt;span class=&quot;math-container&quot;&gt;$P_1,\dots,P_k \in \text{Sym}(n)$&lt;/span&gt; of &lt;span class=&quot;math-container&quot;&gt;$k$&lt;/span&gt; random permutations on &lt;span class=&quot;math-container&quot;&gt;$\{1,2,\dots,n\}$&lt;/span&gt;.  We are also given a random permutation &lt;span class=&quot;math-container&quot;&gt;$Q \in \text{Sym}(n)$&lt;/span&gt;, the target, and we want to find a product of a sequence of &lt;span class=&quot;math-container&quot;&gt;$P$&lt;/span&gt;'s that yields &lt;span class=&quot;math-container&quot;&gt;$Q$&lt;/span&gt;.  We want the total running time and the length of the sequence to be polynomial.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;The algorithm:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Step 1.&lt;/strong&gt; Expand the basis so &lt;span class=&quot;math-container&quot;&gt;$k\ge 100 n^3$&lt;/span&gt;.  This can be readily done: we take &lt;span class=&quot;math-container&quot;&gt;$b$&lt;/span&gt; to be a bit larger than &lt;span class=&quot;math-container&quot;&gt;$2 \lg(100 n^3) + \lg(n!)$&lt;/span&gt; and generate &lt;span class=&quot;math-container&quot;&gt;$100 n^3$&lt;/span&gt; random length-&lt;span class=&quot;math-container&quot;&gt;$b$&lt;/span&gt; sequences of basis elements.  Call the product of the &lt;span class=&quot;math-container&quot;&gt;$i$&lt;/span&gt;th sequence &lt;span class=&quot;math-container&quot;&gt;$P'_i$&lt;/span&gt;.  Note that the &lt;span class=&quot;math-container&quot;&gt;$P'_i$&lt;/span&gt;'s look more or less like &lt;span class=&quot;math-container&quot;&gt;$100 n^3$&lt;/span&gt; independent random permutations.  Thus, we can add all the &lt;span class=&quot;math-container&quot;&gt;$P'_i$&lt;/span&gt;'s to the basis, and any sequence that uses the &lt;span class=&quot;math-container&quot;&gt;$P'_i$&lt;/span&gt;'s can be re-expressed as a sequence over the &lt;span class=&quot;math-container&quot;&gt;$P_i$&lt;/span&gt;'s (at the cost of increasing the sequence length by a factor &lt;span class=&quot;math-container&quot;&gt;$b$&lt;/span&gt;).&lt;/p&gt;&#xA;&lt;p&gt;After Step 1, we can assume that &lt;span class=&quot;math-container&quot;&gt;$k \ge 100 n^3$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Step 2.&lt;/strong&gt; Generate all transpositions &lt;span class=&quot;math-container&quot;&gt;$(i,j) \in \text{Sym}(n)$&lt;/span&gt;.  We'll treat each such transposition as the target and find a way to express it as a product over the basis elements.  There are &lt;span class=&quot;math-container&quot;&gt;$C(n,2)$&lt;/span&gt; such transpositions, so we'll repeat the following step &lt;span class=&quot;math-container&quot;&gt;$C(n,2)$&lt;/span&gt; times, once for each desired transposition.&lt;/p&gt;&#xA;&lt;p&gt;Suppose we are trying to generate the transposition &lt;span class=&quot;math-container&quot;&gt;$(1,2)$&lt;/span&gt;, i.e., the permutation that swaps 1 and 2 and leaves all other elements unchanged.  For simplicity, I'm going to assume &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt; is odd, but this can be generalized to even &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt;, too.  We're going to look for a basis element that is &lt;em&gt;good&lt;/em&gt;.  Call a basis element &lt;span class=&quot;math-container&quot;&gt;$P$&lt;/span&gt; &lt;em&gt;good&lt;/em&gt; if the cycle structure of &lt;span class=&quot;math-container&quot;&gt;$P$&lt;/span&gt; is &lt;span class=&quot;math-container&quot;&gt;$(1,2), (3,\dots)$&lt;/span&gt;.  In other words, &lt;span class=&quot;math-container&quot;&gt;$P$&lt;/span&gt; has to contain exactly two cycles: the 2-cycle &lt;span class=&quot;math-container&quot;&gt;$(1,2)$&lt;/span&gt;, and a &lt;span class=&quot;math-container&quot;&gt;$n-2$&lt;/span&gt;-cycle that visits all of the other elements.  Or, to put it another way, &lt;span class=&quot;math-container&quot;&gt;$P(1)=2$&lt;/span&gt;, &lt;span class=&quot;math-container&quot;&gt;$P(2)=1$&lt;/span&gt;, and the orbit of 3 is &lt;span class=&quot;math-container&quot;&gt;$\{3,4,\dots,n\}$&lt;/span&gt;.  Note that if &lt;span class=&quot;math-container&quot;&gt;$P$&lt;/span&gt; is good, then &lt;span class=&quot;math-container&quot;&gt;$P^{n-2}=(1,2)$&lt;/span&gt;.  Also, a random permutation is good with probability &lt;span class=&quot;math-container&quot;&gt;$(n-3)!/n! \approx 1/n^3$&lt;/span&gt;, so with high probability there is at least one good basis element.  Thus we can readily find a way to generate the transposition &lt;span class=&quot;math-container&quot;&gt;$(1,2)$&lt;/span&gt; using a sequence of length &lt;span class=&quot;math-container&quot;&gt;$n-2$&lt;/span&gt;.  By symmetry, we can do the same for any other transposition.  Repeating this procedure &lt;span class=&quot;math-container&quot;&gt;$n(n-1)/2$&lt;/span&gt; times yields a way to generate all the transpositions.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Step 3.&lt;/strong&gt; Express &lt;span class=&quot;math-container&quot;&gt;$Q$&lt;/span&gt; as a product of transpositions.  It is easy to express any permutation over &lt;span class=&quot;math-container&quot;&gt;$\{1,\dots,n\}$&lt;/span&gt; as a product of at most &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt; transpositions: just find its cycle structure, then express each cycle of length &lt;span class=&quot;math-container&quot;&gt;$l$&lt;/span&gt; as a product of &lt;span class=&quot;math-container&quot;&gt;$l-1$&lt;/span&gt; transpositions.  Since in step 2 we figured out how to express each transposition as a product over the basis elements, this gives us a way to express &lt;span class=&quot;math-container&quot;&gt;$Q$&lt;/span&gt;, too.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;The length of the solution is something like &lt;span class=&quot;math-container&quot;&gt;$O(n^3 \lg n)$&lt;/span&gt;.  The running time of the procedure is something like &lt;span class=&quot;math-container&quot;&gt;$O(n^5)$&lt;/span&gt;.  This is all polynomial.&lt;/p&gt;&#xA;" OwnerUserId="5038" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2013-07-10T21:23:32.843" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="18336" PostTypeId="2" ParentId="3932" CreationDate="2013-07-10T23:38:03.630" Score="17" Body="&lt;p&gt;This recent &lt;a href=&quot;http://arxiv.org/abs/1306.6168&quot;&gt;paper&lt;/a&gt; finally proves that edge contractions do not preserve the property that a set of graphs has bounded &#xA;clique-width.&lt;/p&gt;&#xA;" OwnerUserId="13136" LastActivityDate="2013-07-10T23:38:03.630" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18337" PostTypeId="2" ParentId="18333" CreationDate="2013-07-11T00:00:57.333" Score="3" Body="&lt;p&gt;Yes, there are good (efficient) algorithms.  This is completely solved, and the algorithms are widely used in the cryptographic community.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $\gcd(n,p-1)=1$, then everything is a $n$th residue.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $n$ divides $p-1$, then $a$ is a $n$th residue if and only if $a^{(p-1)/n} \equiv 1 \pmod p$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $1&amp;lt;\gcd(n,p-1)&amp;lt;n$, $a$ is a $n$th residue if and only if it is a $\gcd(n,p-1)$-th residue (see previous case).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For more details, see &lt;a href=&quot;https://crypto.stackexchange.com/q/6518/351&quot;&gt;Finding roots in ℤp&lt;/a&gt; on Crypto.SE.&lt;/p&gt;&#xA;" OwnerUserId="5038" LastEditorUserId="-1" LastEditDate="2017-04-13T12:48:17.970" LastActivityDate="2013-07-11T00:00:57.333" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18338" PostTypeId="1" AcceptedAnswerId="18400" CreationDate="2013-07-11T10:50:57.290" Score="13" ViewCount="528" Body="&lt;p&gt;Given an $n\times n$ matrix $A$ with rational entries. What's the complexity to check $A$ is diagonalizable?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I suspect that this can be done in P, but I do not know any reference. However, a more interesting question is, is there any better complexity class to capture this problem?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any guidance/comment is welcome! Thanks. &lt;/p&gt;&#xA;" OwnerUserId="16917" LastActivityDate="2013-07-19T04:25:50.250" Title="What's the complexity to check whether a matrix is Diagonalizable?" Tags="&lt;cc.complexity-theory&gt;&lt;linear-algebra&gt;&lt;matrices&gt;" AnswerCount="1" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="18339" PostTypeId="2" ParentId="18142" CreationDate="2013-07-11T13:50:58.037" Score="2" Body="&lt;p&gt;Thank you all for you inputs and ideas. I think Opdyke 1992 thesis is also very close to what I was searching for &lt;a href=&quot;http://www.laputan.org/pub/papers/opdyke-thesis.pdf&quot; rel=&quot;nofollow&quot;&gt;http://www.laputan.org/pub/papers/opdyke-thesis.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Basically, I tried the bottom-up approach asking myself &quot;How do Eclipse teams check for preconditions and postconditions afer you perform a refactoring?&quot; I came into this article &lt;a href=&quot;http://wiki.eclipse.org/images/b/be/PTPUserDev2012_Ruegg_Refactoring.pdf&quot; rel=&quot;nofollow&quot;&gt;http://wiki.eclipse.org/images/b/be/PTPUserDev2012_Ruegg_Refactoring.pdf&lt;/a&gt; on how CDT (C++ Development Tookit for Eclipse) performs refactoring, and they cite [Opdyke 1992] and [Opdyke 1999] (probably this &lt;a href=&quot;http://st-www.cs.illinois.edu/users/opdyke/wfo.990201.refac.html&quot; rel=&quot;nofollow&quot;&gt;http://st-www.cs.illinois.edu/users/opdyke/wfo.990201.refac.html&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Still searching interesting material related to this, so if anyone has other articles or names to share, it is more than welcome! :)&lt;/p&gt;&#xA;" OwnerUserId="16711" LastActivityDate="2013-07-11T13:50:58.037" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18340" PostTypeId="1" AcceptedAnswerId="18342" CreationDate="2013-07-11T14:10:40.000" Score="2" ViewCount="238" Body="&lt;p&gt;I'm trying to classify the following problem:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;I have $N$ empty boxes ($n_i$ is the volume of the $i$-th box, $1 \leq i \leq N$) and $M$ divisible items ($m_j$ is the volume of $j$-th item, $1 \leq j \leq M$). The total volume of all boxes is exactly equal to the total volume of all items. I need to find a distribution of items among boxes which minimizes the number of item divisions.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I suppose this problem is NP-complete, and is some kind of set coverage problem, but I can't find appropriate variation of it.&lt;/p&gt;&#xA;" OwnerUserId="16919" LastEditorUserId="3247" LastEditDate="2013-07-11T14:13:28.883" LastActivityDate="2013-07-11T19:07:35.777" Title="Algorithmic problem classification" Tags="&lt;ds.algorithms&gt;" AnswerCount="2" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18341" PostTypeId="2" ParentId="18340" CreationDate="2013-07-11T14:18:13.123" Score="0" Body="&lt;p&gt;This looks like a variation of the &lt;a href=&quot;https://en.wikipedia.org/wiki/Knapsack_problem&quot; rel=&quot;nofollow&quot;&gt;Knapsack problem&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the original Knapsack problem, you need to find a subset of the items to maximize a profit.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here, you need to find a &lt;a href=&quot;http://en.wikipedia.org/wiki/Partition_of_a_set&quot; rel=&quot;nofollow&quot;&gt;partition&lt;/a&gt; of the items which minimizes a cost.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT&lt;/strong&gt;: As someone mentionned on StackOverflow, this problem could be classified as a variation of the &lt;a href=&quot;http://en.wikipedia.org/wiki/Subset_sum_problem&quot; rel=&quot;nofollow&quot;&gt;Subset sum problem&lt;/a&gt;. However, your problem is an optimization problem: you also need to find the minimum cost yourself (which is a number between 0 and N-1).&lt;/p&gt;&#xA;" OwnerUserId="16920" LastEditorUserId="16920" LastEditDate="2013-07-11T14:47:04.947" LastActivityDate="2013-07-11T14:47:04.947" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18342" PostTypeId="2" ParentId="18340" CreationDate="2013-07-11T18:18:37.890" Score="2" Body="&lt;p&gt;The decision version of your problem is NP-complete. The NP-complete 3-Partition problem is reducible to your problem (input has only three boxes having the same volume with zero divisions of items).&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2013-07-11T19:07:35.777" LastActivityDate="2013-07-11T19:07:35.777" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18343" PostTypeId="2" ParentId="18142" CreationDate="2013-07-11T18:29:49.563" Score="3" Body="&lt;p&gt;You could have directly asked about the problem of correct factoring!&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.dsi.unive.it/~cortesi/paperi/vmcai06.pdf%E2%80%8E&quot; rel=&quot;nofollow&quot;&gt;Semantic Hierarchy Refactoring by Abstract Interpretation&lt;/a&gt; Logozzo and Cortesi, 2004. (looks at how to merge two class hierarchies by refactoring correctly)&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://pm.inf.ethz.ch/publications/getpdf.php?bibname=Own&amp;amp;id=BannwartMueller06.pdf&quot; rel=&quot;nofollow&quot;&gt;Changing Programs Correctly: Refactoring with Specifications&lt;/a&gt;, Banwart and Mueller, 2006. (One of the first papers looking at the properties preserved by refactoring.)&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0167642309001300&quot; rel=&quot;nofollow&quot;&gt;Sound refactorings&lt;/a&gt;, Cornelio, Cavalcanti, Sampaio, 2010. (a reasoning framework based on weakest preconditions)&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://kar.kent.ac.uk/23975/&quot; rel=&quot;nofollow&quot;&gt;Verification of Refactorings in Isabelle/HOL&lt;/a&gt;, Sultana, 2008 (title says it all)&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://research.microsoft.com/apps/pubs/default.aspx?id=170382&quot; rel=&quot;nofollow&quot;&gt;An Abstract Interpretation Framework for Refactoring with Application to Extract Methods with Contracts&lt;/a&gt;, Cousot, Cousot, Logozzo, Barnett. 2012. (A semantics based refactoring implemented in some Microsoft tools)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Let me know if this is what you were looking for. Your original question is very general in scope, so it was difficult to know what was precisely required.&lt;/p&gt;&#xA;" OwnerUserId="4155" LastActivityDate="2013-07-11T18:29:49.563" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18345" PostTypeId="2" ParentId="18255" CreationDate="2013-07-11T22:44:31.773" Score="11" Body="&lt;p&gt;This is a sketch of a possible reduction to prove that it is NP-hard:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) $a_i$ subsequences made of 1s (e.g. $...11111...$) (I call them 1SEQ) force a subsequence of increasing or decreasing numbers in the permutation;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) if a value of $2$ is put in a long 1SEQ,  it forces a &lt;em&gt;hole&lt;/em&gt; (a missing number) and doesn't change the &lt;em&gt;direction&lt;/em&gt; of the 1SEQ. For example: $1112112111$ forces two holes:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt; a_i seq.:     1 1 1  2  1 1  2   1  1  1  forces&#xA; permutation: 1 2 3 4 _ 6 7 8 _ 10 11 12 13 (or its decreasing equivalent)&#xA; (from 4 you cannot go back to 2,&#xA; from 8 you cannot go back to 6)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;The holes must be &lt;em&gt;filled&lt;/em&gt; in the rest of the permutation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;3) using a large enough 1SEQ, followed by a 1SEQ with some holes, followed by another large 1SEQ you can build a &lt;em&gt;forced line&lt;/em&gt;;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;4) putting together many forced lines you can build a &lt;em&gt;permutation grid graph&lt;/em&gt; in which the nodes correspond to the missing numbers in the underlying forced permutation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example the sequence 1111111112111111111112111111111, forces the following 5x7 permutation grid graph:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;29 30 31 32 33 34 35&#xA;22 23 24    26 27 28&#xA;15 16 17 18 19 20 21&#xA; 8  9 10    12 13 14   &#xA; 1  2  3  4  5  6  7&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;(or its symmetric version). Note that if the grid has size $w \times w$ and $a,b$ are two missing numbers in the same vertical column then $|a-b|=kw$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;5) the Hamiltonian cycle on grid graphs problem is NP-complete; so given a grid graph $G$ (with holes) you can build the equivalent permutation grid graph;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;6) from the last number of the permutation you can &quot;jump&quot; to a number corresponding to a hole (a node in $G$), and with a fixed sequence of moves you can simulate the traversal of $G$; this requires a rather complex gadget - the &quot;selection gadget&quot; - that must be created in another part of the permutation grid graph;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;7) you can fill all the holes (i.e. complete the permutation) if and only if the original grid graph has an Hamiltonian cycle&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT: July, 27 2013&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I tried to formally prove the NP completeness of the problem: I introduced a new problem (&lt;em&gt;Crazy Frog problem&lt;/em&gt;) which is NPC.&#xA;The Permutation Reconstruction from Differences problem is equivalent to the &quot;1-D Crazy Frog problem without blocked cells&quot; (which is also NPC).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the details of the reduction see &lt;a href=&quot;https://cstheory.stackexchange.com/questions/18440/two-hamiltonian-path-problem-variants&quot;&gt;my question/answer  on cstheory&#xA;&quot;Two Hamiltonian path variants&quot;&lt;/a&gt; or download a &lt;a href=&quot;http://www.fractalmuse.org/vdisk/cstheory/crazyfrog.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;draft of the proof &quot;When a frog meets a permutation&quot;&lt;/a&gt; :)) (I'm still checking/completing it)&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2013-07-29T09:28:52.333" CommentCount="10" ContentLicense="CC BY-SA 3.0" />
  <row Id="18352" PostTypeId="1" AcceptedAnswerId="18362" CreationDate="2013-07-12T14:17:06.997" Score="4" ViewCount="610" Body="&lt;p&gt;[This question was initially asked &lt;a href=&quot;https://stats.stackexchange.com/questions/63489/parameters-of-energy-function-for-tsp&quot;&gt;here&lt;/a&gt;. It went unanswered so I thought I should ask it in a different community.]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am reading &lt;a href=&quot;http://www.genomics.princeton.edu/hopfield/PDFs/TSP.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;this paper&lt;/a&gt; by Hopfield et al. On page six, the authors defined the energy function of the Traveling-Salesman-Problem (TSP) mapped onto an artificial neural network as follows:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$E = \frac{A}{2} \sum_X \sum_i \sum_{j \ne i} V_{Xi} V_{Xj} + \frac{B}{2} \sum_i \sum_X \sum_{X\ne Y} V_{Xi} V_{Yi} + \frac{C}{2} (\sum_X \sum_i V_{Xi} - n)^2 + \frac{1}{2D} \sum_X \sum_{Y\ne X} \sum_i d_{XY} V_{Xi} (V_{Y, i+1} + V_{Y, i-1})$$ &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here the first three terms maintain correctness of the function while the final term calculate actual distance of the tour. Later on page seven, the authors picked the values of A, B, C and D for simulation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I don't understand on what basis they choose those values. Any help?&lt;/p&gt;&#xA;" OwnerUserId="13408" LastEditorUserId="-1" LastEditDate="2017-04-13T12:44:17.130" LastActivityDate="2013-07-13T08:25:30.260" Title="Parameters of energy function for TSP" Tags="&lt;machine-learning&gt;&lt;ne.neural-evol&gt;&lt;tsp&gt;&lt;statistical-physics&gt;" AnswerCount="1" CommentCount="6" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18353" PostTypeId="1" AcceptedAnswerId="18355" CreationDate="2013-07-12T14:28:47.967" Score="8" ViewCount="1336" Body="&lt;p&gt;Consider a graph with $n$ vertices and maximum degree $\Delta$. I would like to find if the graph has any $s$ cliques, where $s \leq \Delta$ and both of them are small compared to $n$. I only need to find a single such clique (or certify that none exist)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is a straightforward way to do this: for each vertex $v$, test all $s$-subsets of the neighbors of $v$. The work is thus $\approx n \binom{\Delta}{s-1}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there any more efficient algorithms than this? Even achieving an exponential speed-up would be good?&lt;/p&gt;&#xA;" OwnerUserId="5538" LastEditorUserId="5538" LastEditDate="2013-07-12T15:45:34.613" LastActivityDate="2013-10-19T05:39:47.820" Title="Algorithms for finding clique in bounded-degree graph" Tags="&lt;graph-algorithms&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18354" PostTypeId="1" AcceptedAnswerId="18356" CreationDate="2013-07-12T14:55:26.337" Score="3" ViewCount="376" Body="&lt;p&gt;I'm interested in studying how information spreads in a social network. The basic problem is as follows.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let's say we have a large graph of people, with directed edges connecting them. Let's also assume that based on the links, we can robustly identify influential people using something like Pagerank, etc.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Within this setting, suppose we want to inform the people in the network of some important piece of news, and that we can only do so by face-to-face contact with individual people. Also, we have limited resources -- suppose, because of limited resources, we can only have face-to-face contact with n people, out of a total of N people in the whole graph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Question: how do we choose this subset of n people from the graph?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One easy solution is to use Pagerank and identify the most influential people. However, this doesn't exploit the idea of redundancy: if the top 3 most influential people according to Pagerank have let's say 80% of their neighbors in common, then we're essentially wasting resources by marketing to each of these three people.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any insight on this problem would be helpful -- it seems that this situation would occur often enough that someone must have come up with a formal treatment with efficient algorithms, etc. I can think of a few ways to do this, but they involve inefficient traversals, etc.&lt;/p&gt;&#xA;" OwnerUserId="16935" LastActivityDate="2013-07-15T15:44:17.933" Title="Information spread in a social graph" Tags="&lt;graph-theory&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="18355" PostTypeId="2" ParentId="18353" CreationDate="2013-07-12T17:07:33.700" Score="14" Body="&lt;p&gt;Eppstein, Löffler, and Strash modified the Bron-Kerbosch algorithm, obtaining an algorithm that lists &lt;a href=&quot;http://link.springer.com/chapter/10.1007/978-3-642-17517-6_36#page-1&quot; rel=&quot;nofollow&quot;&gt;all maximal cliques in $O(dn 3^{d/3})$ time&lt;/a&gt;, where $d$ is the degeneracy of the graph (note $d \le \Delta$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The same idea &lt;a href=&quot;http://link.springer.com/article/10.1007/s11590-013-0698-2&quot; rel=&quot;nofollow&quot;&gt;can be extended for the maximum clique problem in $d$-degenerate graphs&lt;/a&gt;, and the runtime can be improved to $O^*(2^{d/4})$.&lt;/p&gt;&#xA;" OwnerUserId="13056" LastEditorUserId="13056" LastEditDate="2013-10-19T05:39:47.820" LastActivityDate="2013-10-19T05:39:47.820" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18356" PostTypeId="2" ParentId="18354" CreationDate="2013-07-12T21:51:41.727" Score="6" Body="&lt;p&gt;This isn't a full answer, but a partial one since there's a lot of literature out there.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To answer the question, we need some model of how information spreads in a social network. You seem to maybe be assuming that everyone we talk to tells their friends, but their friends don't tell anyone (so we just want to pick the set that maximizes the number of neighbors). But many other dynamics are possible. Usually, one thinks of the problem as finding an initial set of nodes to &quot;infect&quot;, and assuming that all nodes have some rule for when they get infected as a function of the number of infected neighbors. For example, you could have a threshold which says that I get infected as soon as I have 3 or more infected neighbors; or that $i$ has a probability $p_{ij}$ of getting infected from $j$ in the timestep after $j$ is first infected. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The original/classic paper for this problem is &lt;em&gt;Maximizing the Spread of Influence Through a Social Network&lt;/em&gt; by Kempe, J. Kleinberg, and Tardos in 2003.&lt;a href=&quot;http://www.cs.cornell.edu/home/kleinber/&quot;&gt;1&lt;/a&gt; If you search it on Google Scholar you'll see something like 1500 citations, so there is a lot of work in this area. You can see some on &lt;a href=&quot;http://www.cs.cornell.edu/home/kleinber/&quot;&gt;Jon Kleinberg's homepage&lt;/a&gt; under &quot;Information Flow and Cascading Behavior in Networks&quot;; he gave a survey talk on the area at this year's EC, but I don't know if the slides are available anywhere.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In &lt;a href=&quot;http://www.cs.cornell.edu/home/kleinber/&quot;&gt;1&lt;/a&gt;, the authors show that, under several models of influence like those mentioned above, the &quot;influence&quot; of a set of vertices is a submodular function ; this allows greedy algorithms to find a set of initial nodes that gives a $1-1/e$ approximation to the best total influence. (However, solving the problem exactly is NP-hard.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.cs.cornell.edu/home/kleinber/&quot;&gt;1&lt;/a&gt; &lt;a href=&quot;http://www.cs.cornell.edu/home/kleinber/kdd03-inf.pdf&quot;&gt;http://www.cs.cornell.edu/home/kleinber/kdd03-inf.pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="8243" LastActivityDate="2013-07-12T21:51:41.727" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18357" PostTypeId="1" CreationDate="2013-07-12T23:19:06.017" Score="2" ViewCount="107" Body="&lt;p&gt;Although it is not clear, it appears that definition 5 of &lt;a href=&quot;http://people.csail.mit.edu/huijia/papers/concnmc-owf.pdf&quot; rel=&quot;nofollow&quot;&gt;this paper&lt;/a&gt;,&#xA;&lt;br&gt;&#xA;page 10 of &lt;a href=&quot;http://www.eecs.harvard.edu/~alon/PAPERS/conc-nmc/conc-nmc.ps&quot; rel=&quot;nofollow&quot;&gt;this paper&lt;/a&gt;, and page 6 of &lt;a href=&quot;http://aeolus.ceid.upatras.gr/scientific-reports/2nd_year_reports/OPV07.pdf&quot; rel=&quot;nofollow&quot;&gt;this paper&lt;/a&gt;, each assume&#xA;&lt;br&gt;&#xA;that the honest parties will all use the &lt;em&gt;same&lt;/em&gt; security parameter.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Are there any known constructions of concurrent non-malleable&#xA;  &lt;br&gt;commitment that do not assume a common security parameter?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;(If I'm wrong about the first sentence in this post, then&#xA;&lt;br&gt;&#xA;one of those three papers might be such a construction.)&#xA;&lt;br&gt;&lt;br&gt;&lt;br&gt;&#xA;I notice that, by rounding to a value of the form $2^\left(2^n\right)\hspace{-0.02 in}$,$\:$ one can assume without&#xA;&lt;br&gt;&#xA;loss of generality that at most $\:O\hspace{.01 in}(1)\:$ different security parameters will be used.&lt;/p&gt;&#xA;" OwnerDisplayName="user6973" LastEditorDisplayName="user6973" LastEditDate="2013-07-29T06:19:48.240" LastActivityDate="2013-07-29T06:31:23.117" Title="non-malleable commitment and security parameters" Tags="&lt;cr.crypto-security&gt;&lt;concurrency&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="18358" PostTypeId="1" CreationDate="2013-07-13T01:15:57.043" Score="3" ViewCount="5393" Body="&lt;p&gt;Where can I get an understanding of how Arithmetic Coding and Huffman Encoding compare as entropy increases. I know Arithmetic Coding is better for low entropy distributions, but how can I get a sense of HOW the two scale as you increase entropy? Is this a silly question because I'm missing some piece of the puzzle?&lt;/p&gt;&#xA;" OwnerUserId="16941" LastActivityDate="2013-07-14T14:03:38.173" Title="Comparison Huffman Encoding and Arithmetic Coding dependent on Entropy" Tags="&lt;it.information-theory&gt;&lt;coding-theory&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="18359" PostTypeId="1" CreationDate="2013-07-13T02:54:01.063" Score="5" ViewCount="120" Body="&lt;p&gt;Given 3 parameters $s, r$ and $t$, where $r \leq t$, I want to construct $t$ sets such that each integer $\{1, \ldots, s\}$ appears in exactly $r$ of these sets. The question is: &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is it possible to construct these sets such that the size of the maximum pairwise intersection between any two $t_i, t_j$ is $k$? Is this question $\mathsf{NP}$-complete? Or equivalently, is minimizing the maximum pairwise intersection between the sets $\mathsf{NP}$-hard?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;There is a lower bound on the max pairwise intersection given by ceiling(number of identical value pairs / number of set pairs), meaning $\lceil (s \cdot {r \choose 2}) / {t \choose 2} \rceil$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem seems related to, but slightly different from, the &lt;a href=&quot;http://en.wikipedia.org/wiki/Block_design&quot; rel=&quot;nofollow&quot;&gt;block design problem&lt;/a&gt;. In the block design problem, there is a parameter $\lambda$ that dictates in how many of the $t$ sets each pair of integers in $\{1, \ldots, s\}$ must appear, so if $\lambda$ is 1, the maximum pairwise intersection between sets is 1 (since each pair of values appears in at most 1 set together). I've seen claims that deciding the existence of a block design is $\mathsf{NP}$-complete, but no actual proof - would also appreciate any link to such a proof.&lt;/p&gt;&#xA;" OwnerUserId="16942" LastEditorUserId="5693" LastEditDate="2013-07-13T23:35:11.050" LastActivityDate="2013-07-13T23:35:11.050" Title="Variation on block design/set cover" Tags="&lt;np-hardness&gt;&lt;partition-problem&gt;" AnswerCount="0" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="18360" PostTypeId="1" AcceptedAnswerId="18363" CreationDate="2013-07-13T06:16:33.490" Score="2" ViewCount="434" Body="&lt;p&gt;This question came up while I was going through Siu On Chan's paper on Approximation Resistance. My question is not really related to the paper though.  I also guess that this is more of a reference request kind of question (preferably some lecture notes or surveys). I hope what follows helps putting the question in perspective, so please bear with me.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I recently started studying up the literature on PCPs and inapproximability and my knowledge is small. I know the proof of PCP theorem. The proof I read is Dinur's proof as presented in Arora Barak. All the while, I saw the two contrasting views of the PCP theorem&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(i) the prover, verifier view and,&#xA;(ii) the view related to a deciding a gap instance of a CSP (for some constant gap).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, my question is the following. While going through Siu's paper, I got the impression that 2 prover 1-verifier games are relevant to PCP literature. My current knowledge base is so shamelessly small that I do not really understand this. I just know the 2 views I described above and am not comfortable with the multiple provers view. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I mean, why is the value of a game with multiple provers even related to the PCP theorem where you have a single prover and a single verifier? Does the value of a game help you somehow argue about the soundness part?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks&lt;/p&gt;&#xA;" OwnerUserId="16943" LastEditorUserId="16943" LastEditDate="2013-07-13T07:49:21.653" LastActivityDate="2013-07-19T03:49:51.127" Title="Multi prover, verifier games and PCP theorem" Tags="&lt;reference-request&gt;&lt;approximation-hardness&gt;&lt;pcp&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18361" PostTypeId="2" ParentId="18360" CreationDate="2013-07-13T08:00:41.593" Score="3" Body="&lt;p&gt;So first, there is the class called IP, see e.g., &lt;a href=&quot;http://en.wikipedia.org/wiki/IP_(complexity)&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/IP_(complexity)&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The trouble with verifying is, of course, that the Prover might lie. Now, imagine that you can ask two Provers, who are not allowed to talk to each other, then they might give a different answer to the same question and be caught! This class is called MIP, and is probably stronger, as IP=PSPACE while MIP=NEXP.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In fact, it can be proved that having even more Provers won't help. Moreover, we could ask a Prover to write down in advance his answers to all possible questions, turning him into an oracle. This has a similar effect to having two Provers, as to any question you get always the same answer, so the possibility of the Prover coming up with a &quot;random lie&quot; is eliminated.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also a paper I just googled for: &lt;a href=&quot;https://www.google.hu/url?sa=t&amp;amp;rct=j&amp;amp;q=&amp;amp;esrc=s&amp;amp;source=web&amp;amp;cd=3&amp;amp;cad=rja&amp;amp;ved=0CEoQFjAC&amp;amp;url=http%3A%2F%2Fciteseerx.ist.psu.edu%2Fviewdoc%2Fdownload%3Fdoi%3D10.1.1.47.1588%26rep%3Drep1%26type%3Dps&amp;amp;ei=CAfhUcWOFMTptQackYHoDg&amp;amp;usg=AFQjCNHwK437ex8iHgOwUIQ2XNAaV8l-JA&amp;amp;sig2=E8-RM-VGuu3htw7Nl7yNvA&amp;amp;bvm=bv.48705608,d.Yms&quot; rel=&quot;nofollow&quot;&gt;https://www.google.hu/url?sa=t&amp;amp;rct=j&amp;amp;q=&amp;amp;esrc=s&amp;amp;source=web&amp;amp;cd=3&amp;amp;cad=rja&amp;amp;ved=0CEoQFjAC&amp;amp;url=http%3A%2F%2Fciteseerx.ist.psu.edu%2Fviewdoc%2Fdownload%3Fdoi%3D10.1.1.47.1588%26rep%3Drep1%26type%3Dps&amp;amp;ei=CAfhUcWOFMTptQackYHoDg&amp;amp;usg=AFQjCNHwK437ex8iHgOwUIQ2XNAaV8l-JA&amp;amp;sig2=E8-RM-VGuu3htw7Nl7yNvA&amp;amp;bvm=bv.48705608,d.Yms&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="419" LastActivityDate="2013-07-13T08:00:41.593" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18362" PostTypeId="2" ParentId="18352" CreationDate="2013-07-13T08:25:30.260" Score="10" Body="&lt;p&gt;There is no way to choose the parameters A, B, C, D properly; &#xA;as it is the case for most heuristics, the parameters are chosen ''by experience''. &#xA;Worse, there is no guarantee that the solution (the array of the outputs) &#xA;of this heuristic is indeed a feasible TSP tour! &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In this context, perhaps interesting to read: Wilson and Pawley, &#xA;&lt;a href=&quot;http://link.springer.com/article/10.1007/BF00363956&quot;&gt;On the stability of the Travelling Salesman Problem &#xA;algorithm of Hopfield and Tank&lt;/a&gt;, &#xA;Biological Cybernetics 58 (1988) 63-70.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;To your first comment: I don't think that this TSP energy function is useful for practical purposes. &#xA;If you want to solve TSP in practice, maybe &lt;a href=&quot;http://www.math.uwaterloo.ca/tsp/&quot;&gt;here&lt;/a&gt; &#xA;is the right starting point.&lt;/p&gt;&#xA;" OwnerUserId="6706" LastActivityDate="2013-07-13T08:25:30.260" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18363" PostTypeId="2" ParentId="18360" CreationDate="2013-07-13T13:32:51.113" Score="7" Body="&lt;p&gt;Let me sketch the relation between the PCP theorem and 2-provers 1-round game. For concreteness let's consider the MAX-3-SAT problem. In this problem we are given a 3-CNF formula, and our goal is to find an assignment that maximizes the number of satisfied clauses. This problem is NP-hard, and (the CSP view of) the PCP theorem says that given a satisfiable formula it is NP-hard to find an assignment that satisfies 99% of the clauses.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The 2-provers 1-round game view of PCP theorem says that if we are given a game as an input it is NP-hard to distinguish between the two cases:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;YES case: The provers have a strategy that always satisfies the verifier.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;NO case: In every strategy of the provers will satisfy the verifier with probability at most $1-\epsilon$ for some constant $\epsilon&amp;gt;0$.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Let us now translate the MAX-3-SAT problem into a 2-provers one round game. That is we show a reduction from MAX-3-SAT to 2P1R-game. The verifier chooses one clause from the formula and one variable from the clause at random. He sends the clause to the first prover, and the variable to the second prover. The first prover replies with an assignment to the three variables in the clause, and the second prover sends an assignment to his variable. The verifier then checks that the assignment of the first prover indeed satisfies the clause, and that the answer of the second prover is consistent with the answer of the first prover.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, what is left to show is that this reduction gives a gap problem for the 2-prover 1-round game.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;YES case: If the given formula is satisfiable, then the provers have a strategy that will satisfy the verifier. This is easy, they just need to reply according to the satisfying assignment.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;NO case: If the provers have a strategy that allows them to win with probability $1-\epsilon$, then there exists an assignment that satisfies at least $1-3\epsilon$ of the clauses. This part is also not hard to prove. Just look at the assignment of the second prover to the variables, and claim that it must satisfy at least $1-3\epsilon$ fraction of the clauses.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I hope it makes sense...&lt;/p&gt;&#xA;" OwnerUserId="15711" LastEditorUserId="4222" LastEditDate="2013-07-19T03:49:51.127" LastActivityDate="2013-07-19T03:49:51.127" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="18364" PostTypeId="2" ParentId="18358" CreationDate="2013-07-13T14:04:55.433" Score="2" Body="&lt;p&gt;A Hufman code associates an &quot;integer&quot; number of bits to each message:&#xA;on some distributions this can sum up to a linear cost in the number of messages being sent (hence the $1$ in the $n(1+H)$ upper bound for the size of the sequence of bits produced.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My understanding is that arithmetic codes overcome this weakness, at the cost of a more complex algorithm to compute the codes, and encoding tables  (disclaimer: I am rusty on this, anyone should feel free to correct or complete), reaching $nH+O(1)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The difference between $n(1+H)$ and $nH+O(1)$ is more sensible for $H$ small of course, so arithmetical codes are prefered for low entropy distribution, if there are no constaints on the cost of encoding/decoding.&lt;/p&gt;&#xA;" OwnerUserId="191" LastActivityDate="2013-07-13T14:04:55.433" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="18368" PostTypeId="1" CreationDate="2013-07-14T12:30:12.857" Score="6" ViewCount="152" Body="&lt;p&gt;Consider the deterministic (resp. non-deterministic) one-way finite automaton that is defined in the usual way except that it has k heads and in each step can decide which head to move. (It is allowed to run until all heads reach the end-marker of the input.) These automata are denoted by k-DFA (resp. k-FA) and it was shown in several papers that k+1 heads are better than k, i.e., their is a language that can be recognized only with more heads. Probably the simplest of these arguments is by Yao and Rivest (&lt;a href=&quot;http://people.csail.mit.edu/rivest/pubs/YR78.pdf&quot;&gt;http://people.csail.mit.edu/rivest/pubs/YR78.pdf&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, notice that if we allow the k-headed automata to read the input k+1 times, then it can also recognize the language given as a counterexample. (Here define reading t times as you would like to - when the first reading is finished, start the second one etc. OR run the machines in parallel t times from t different starting states and then take some boolean function of their final states.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So my question:&#xA;Is there a language that can be recognized by a k+1-headed automaton but by no k-headed automaton that is allowed to read the input t times? (Here t can depend on the language but not on the input.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note: Please do not link me to papers asking if I have seen it! I have read many related things...&lt;/p&gt;&#xA;" OwnerUserId="419" LastActivityDate="2013-07-14T12:30:12.857" Title="Are k+1 heads better than k for multiread finite automata?" Tags="&lt;automata-theory&gt;&lt;dfa&gt;&lt;hierarchy-theorems&gt;" AnswerCount="0" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="18370" PostTypeId="1" AcceptedAnswerId="18498" CreationDate="2013-07-14T13:59:59.777" Score="11" ViewCount="593" Body="&lt;p&gt;I was wondering if there was any lower bound (in terms of sample complexity) known for the following problem:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given sample oracle access to two unknown distributions $D_1$, $D_2$ on $\{1,\dots,n\}$, test (whp) whether&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$D_1=D_2$&lt;/li&gt;&#xA;&lt;li&gt;or $\operatorname{d_2}(D_1,D_2)=\lVert D_1-D_2\rVert_2 = \sqrt{\sum_{i=1}^n\left(D_1(i)-D_2(i)\right)^2} \geq \epsilon$&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Batu et al. &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.141.1698&quot;&gt;[BFR+00]&lt;/a&gt; showed that $O\left(\frac{1}{\epsilon^4}\right)$ samples were sufficient, but I haven't found any mention of a lower bound?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I reckon one could always show a $\Omega(\frac{1}{\epsilon^2})$ lower bound by reducing the task of distinguishing a fair vs. $\epsilon$-biased coin to this problem (simulating a distribution supported on only two points, and answering the queries of the tester according to the iid coin tosses), but that still leaves a quadratic gap...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Another point I'd be interested in is a lower bound in &lt;em&gt;estimating&lt;/em&gt; (up to an additive $\epsilon$) this $L_2$ distance — again, I have found no reference to such result in the literature)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks for your help,&lt;/p&gt;&#xA;" OwnerUserId="13319" LastActivityDate="2013-07-29T21:23:30.980" Title="Lower bound for testing closeness in $L_2$ norm?" Tags="&lt;ds.algorithms&gt;&lt;lower-bounds&gt;&lt;st.statistics&gt;&lt;property-testing&gt;" AnswerCount="4" CommentCount="2" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="18371" PostTypeId="2" ParentId="18358" CreationDate="2013-07-14T14:03:38.173" Score="4" Body="&lt;p&gt;This is my (somewhat unorthodox) answer to the comparison between Huffman. Huffman and arithmetic codings. A Huffman code is only optimal if the frequency of the letters in the input alphabet are $2^{-k}$, for an integer $k$. Otherwise, there are internal nodes in the coding tree whose children have different weights. As a result, the output bit stream does not have an entropy of 1 bin/output bit. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;One &lt;i&gt;solution&lt;/i&gt; is to combine the input letters into groups and enlarge the alphabet. For example, instead of coding a byte stream (as is usually done), you can combine two bytes into a word and use a larger coding tree for the combined alphabet. The problem is that the size of the tree (e.g. instead of $2^8$ entries, now you have to deal with $2^{16}$ entries). And this is just the beginning. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;One may view the arithmetic coding as taking this idea to the extreme. Instead of combining two input letters, here we combine all of them. Of course, now the coding tree is huge and cannot be explicitly built. The details of arithmetic coding deals with generating and traversing a virtual Huffman tree for this combined alphabet. &lt;/p&gt;&#xA;" OwnerUserId="10740" LastActivityDate="2013-07-14T14:03:38.173" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18372" PostTypeId="1" CreationDate="2013-07-14T16:36:33.510" Score="5" ViewCount="381" Body="&lt;p&gt;As the title says, how are lower bounds for computational complexity proved?  I'm interested why it is possible to say that a certain algorithm cannot run in faster time than some lower bound. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;General-level explanations and proofs are both welcome. I assume that proofs can be very different for different classes of problems, but I'm looking for just few examples to have a good grab on the basics.&lt;/p&gt;&#xA;" OwnerUserId="16957" LastEditorUserId="111" LastEditDate="2013-07-19T14:41:57.217" LastActivityDate="2013-07-19T14:41:57.217" Title="How are lower bounds for computational complexity proved?" Tags="&lt;time-complexity&gt;" AnswerCount="0" CommentCount="9" FavoriteCount="1" ClosedDate="2013-07-15T06:41:34.347" ContentLicense="CC BY-SA 3.0" />
  <row Id="18374" PostTypeId="1" AcceptedAnswerId="18399" CreationDate="2013-07-15T05:03:00.137" Score="6" ViewCount="566" Body="&lt;p&gt;Probably the most common recursion scheme is the catamorphism, or fold.  This is a recursion that takes a data type and &quot;deconstructs&quot; it into something else.  For example, we can calculate the length of a list using a fold (with Haskell syntax):&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;length :: [a] -&amp;gt; Int&#xA;length xs = foldr 0 (+1) xs&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;One property of all folds that I've seen is that they look at all elements of the data type.  But is there work formalizing recursion schemes that do not look at all elements?  That is, they prune some of them away.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If the type of &lt;code&gt;foldr :: (a -&amp;gt; b -&amp;gt; b) -&amp;gt; b -&amp;gt; t a -&amp;gt; b&lt;/code&gt;, then the pruning fold would look something like &lt;code&gt;prunefold :: (???) -&amp;gt; (a -&amp;gt; b -&amp;gt; b) -&amp;gt; b -&amp;gt; t a -&amp;gt; b&lt;/code&gt;, where &lt;code&gt;???&lt;/code&gt; is the pruning rule.  I can imagine many different possible forms of these pruning rules just for folds, and I imagine other recursion schemes would have even more.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Motivating example 1:&lt;/strong&gt;  We could search a binary search tree using a fold.  This fold would perform a depth first search.  But this is very inefficient.  Instead, we would prefer to have a &quot;pruning rule&quot; that on each iteration removes removes half the tree.  This pruning fold gives us the same answer, but reduces the complexity from $O(n)$ to $O(\log n)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Motivating example 2:&lt;/strong&gt;  We can express $\pi$ as &lt;a href=&quot;http://en.wikipedia.org/wiki/Pi#Infinite_series&quot; rel=&quot;noreferrer&quot;&gt;a sum over an infinite sequence&lt;/a&gt;.  A standard fold over this sequence would never terminate.  But we could use a pruning rule to stop our fold after a certain amount of accuracy has been reached.  When used on an infinite data structure, the pruning fold is strictly more powerful.&lt;/p&gt;&#xA;" OwnerUserId="10267" LastEditorUserId="10267" LastEditDate="2013-07-15T05:13:46.643" LastActivityDate="2013-07-17T08:54:10.560" Title="recursion schemes that prune" Tags="&lt;reference-request&gt;&lt;recursion&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="18376" PostTypeId="1" CreationDate="2013-07-15T12:28:09.767" Score="1" ViewCount="885" Body="&lt;p&gt;Given an arbitrary SAT instance, I would like to find the solution with the minimum weight. The weight of a valid assignment is computed using a function.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is this a known problem or are there other problems that I can reduce this one to?&lt;/p&gt;&#xA;" OwnerUserId="16966" LastActivityDate="2013-07-15T19:00:43.973" Title="Weighted SAT: is this a known problem?" Tags="&lt;sat&gt;" AnswerCount="4" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="18377" PostTypeId="2" ParentId="18376" CreationDate="2013-07-15T14:49:28.143" Score="1" Body="&lt;p&gt;This problem is obviously as difficult as SAT itself (for instance for a function that assigns each solution weight $0$) but I suppose it can, for general function $f$ behave differently from SAT. Namely it can still be difficult even if the underlying SAT problem has sufficiently large number of solutions to make it easy to solve. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Do you perhaps have more information about the function that defines the cost of the solution? The question in the present form does not seem sensible.&lt;/p&gt;&#xA;" OwnerUserId="15671" LastActivityDate="2013-07-15T14:49:28.143" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18378" PostTypeId="1" AcceptedAnswerId="18386" CreationDate="2013-07-15T14:51:20.530" Score="1" ViewCount="250" Body="&lt;p&gt;I recently read Landin's paper &quot;The Next 700 Programming Languages&quot;.  But I was a bit confused by ISWIM.  In particular, are functions first-class objects in ISWIM?  It seems not because every function must occur under some name and there is no $\lambda$-like construct in the language to construct an anonymous function.  Landin even explicitly claimed in the first footnote that &quot;a not inappropriate title would have been Church without lambda&quot;.  Anybody knows the reason behind this choice?  Is ISWIM less expressive than a language with $\lambda$?&lt;/p&gt;&#xA;" OwnerUserId="656" LastActivityDate="2013-07-15T19:27:49.120" Title="A few questions about ISWIM" Tags="&lt;pl.programming-languages&gt;&lt;lambda-calculus&gt;&lt;functional-programming&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18379" PostTypeId="1" AcceptedAnswerId="18384" CreationDate="2013-07-15T15:23:51.253" Score="8" ViewCount="450" Body="&lt;p&gt;Let define the $(3,2)_s$ SAT problem : Given $F_3$, a satisfiable 3-CNF formula, and $F_2$, a 2-CNF formula ($F_3$ and $F_2$ are defined on the same variables). Is $F_3 \wedge F_2$ satisfiable?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is the complexity of this problem ? (Has it been studied before ?)&lt;/p&gt;&#xA;" OwnerUserId="6346" LastEditorUserId="6346" LastEditDate="2013-07-15T15:53:32.637" LastActivityDate="2013-07-17T11:55:27.850" Title="Complexity of the $(3,2)_s$ SAT problem?" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;np-hardness&gt;&lt;sat&gt;" AnswerCount="2" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18380" PostTypeId="2" ParentId="18354" CreationDate="2013-07-15T15:44:17.933" Score="3" Body="&lt;p&gt;here are some more recent refs on this subj. the basic field is generally called &lt;a href=&quot;http://en.wikipedia.org/wiki/Viral_marketing&quot; rel=&quot;nofollow&quot;&gt;&quot;viral marketing&quot;&lt;/a&gt; which started out more in the advertising/marketing fields but there are now sophisticated TCS analyses of this phenomenon/problem and optimization algorithms. in TCS it is now known sometimes as the &quot;influence maximization problem&quot;. these refs are interested in your same issues of eg modelling spread realistically, maximizing spread while minimizing cost of initial &quot;seeding&quot;, etc.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;and note that online/software/web-based &quot;social networks&quot; have undergone a massive shift in functionality and reach since the KKT 2003 paper [in fact the meaning of &quot;social network&quot; has changed substantially in that time from a term from the social sciences referring only to informal social connections, to one often used to refer to the large, electronic/web-based systems such as Facebook used to manage them].&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://research.microsoft.com/en-us/people/weic/kdd10_influence_revised.pdf&quot; rel=&quot;nofollow&quot;&gt;Scalable Inﬂuence Maximization for Prevalent Viral&#xA;Marketing in Large-Scale Social Networks&lt;/a&gt; Chen, Wang, Wang&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://ccl.northwestern.edu/papers/2011/gui-sheng.pdf&quot; rel=&quot;nofollow&quot;&gt;Intelligent Viral Marketing algorithm over online social network&lt;/a&gt; Yin Gui-sheng, Wei Ji-jie, Dong Hong-bin Li Jia&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://www-personal.umich.edu/~ladamic/papers/viral/viralTWeb.pdf&quot; rel=&quot;nofollow&quot;&gt;The Dynamics of Viral Marketing&lt;/a&gt; Jure Leskovec&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://www.cise.ufl.edu/~tdinh/papers/ht12_pids.pdf&quot; rel=&quot;nofollow&quot;&gt;Cheap, Easy, and Massively Effective Viral Marketing in&#xA;Social Networks: Truth or Fiction?&lt;/a&gt; Thang N. Dinh, Dung T. Nguyen and My T. Thai&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://www.cse.ust.hk/~raywong/paper/icdm11-minSeed.pdf&quot; rel=&quot;nofollow&quot;&gt;Minimizing Seed Set for Viral Marketing&lt;/a&gt; Cheng Long, Raymond Chi-Wing Wong&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2013-07-15T15:44:17.933" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18381" PostTypeId="2" ParentId="2676" CreationDate="2013-07-15T16:18:49.703" Score="10" Body="&lt;p&gt;A particularly striking example of a phase transition is the maximum degree bound for Exactly-$k$-SAT (X$k$SAT), in which each clause contains exactly $k$ distinct literals.  The problem flips from being trivially easy (always satisfiable) to being NP-complete by adding one to the associated parameter.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $f(k)$ denote the largest number such that any X$k$SAT instance in which any variable occurs in at most $f(k)$ clauses is guaranteed to be satisfiable.&#xA;If each variable only occurs in just one clause, then the instance is trivially satisfiable (just set each variable to the value that makes the corresponding literal true).&#xA;On the other hand, the collection of all $2^k$ clauses on the same $k$ variables is unsatisfiable.  So it follows that $1 \le f(k) &amp;lt; 2^k$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An X$k$SAT instance has a natural (non-logic) meaning as asking whether there exists an $n$-bit message which avoids some specified $k$-bit submessages.&#xA;One can also rescale the parameter in a natural way to $f(k)/2^k$, which then takes a real value in the interval from 0 to 1.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Instances in which variables can occur at most $f(k)$ times are all trivially satisfiable.  However, the class of instances in which variables can occur at most $f(k)+1$ times is already NP-complete.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Jan Kratochvíl, Petr Savický and Zsolt Tuza, &lt;em&gt;One More Occurrence of Variables Makes Satisfiability Jump from Trivial to NP-Complete&lt;/em&gt;, SIAM J. Comput. &lt;strong&gt;22&lt;/strong&gt;(1) 203–210, 1993.  doi:&lt;a href=&quot;http://dx.doi.org/10.1137/0222015&quot;&gt;10.1137/0222015&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;It is also interesting that quite tight bounds are known for $f(k)$.  The above paper derived a lower bound from the Lovász Local Lemma, and unsatisfiable instances have been explicitly constructed more recently for the upper bound.  In short, $f(k) = \Theta(2^k/k)$.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Heidi Gebauer, &lt;em&gt;Disproof of the neighborhood conjecture with implications to SAT&lt;/em&gt;, Combinatorica &lt;strong&gt;32&lt;/strong&gt;(5) 573–587, 2012. doi:&lt;a href=&quot;http://dx.doi.org/10.1007/s00493-012-2679-y&quot;&gt;10.1007/s00493-012-2679-y&lt;/a&gt; &lt;a href=&quot;http://www.inf.ethz.ch/personal/gebauerh/NeighborhoodConjecture.pdf&quot;&gt;(preprint)&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Heidi Gebauer, Tibor Szabó, Gábor Tardos, &lt;em&gt;&lt;a href=&quot;http://dl.acm.org/citation.cfm?id=2133088&quot;&gt;The local lemma is tight for SAT&lt;/a&gt;&lt;/em&gt;, SODA 2011.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="109" LastEditorUserId="109" LastEditDate="2013-07-15T19:32:23.540" LastActivityDate="2013-07-15T19:32:23.540" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18382" PostTypeId="2" ParentId="18376" CreationDate="2013-07-15T17:00:34.413" Score="2" Body="&lt;p&gt;If the function is linear, then you can reduce to MaxSAT. Then there are some related formalisms like pseudo-boolean optimizatin (PBO) or integer linear programming (ILP).&lt;/p&gt;&#xA;" OwnerUserId="4506" LastActivityDate="2013-07-15T17:00:34.413" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18383" PostTypeId="2" ParentId="18376" CreationDate="2013-07-15T17:11:31.547" Score="0" Body="&lt;p&gt;SAT can be converted to Independent Set. Weighted independent set is a well studied problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://link.springer.com/article/10.1023%2FA%3A1008765214400&quot; rel=&quot;nofollow&quot;&gt;A Note on the Approximation of a Minimum Weight Maximal Independent Set&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="4881" LastActivityDate="2013-07-15T17:11:31.547" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18384" PostTypeId="2" ParentId="18379" CreationDate="2013-07-15T17:30:06.717" Score="13" Body="&lt;p&gt;This problem is NP-complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $\varphi$ be an arbitrary CNF formula (an instance of SAT).  Consider $\varphi \lor y$, where $y$ is a fresh variable; obviously, this formula is satisfiable (you can simply set $y$ to true).  Now convert $\varphi \lor y$ to 3-CNF, using any standard method, and let $\psi$ denote the result.  Note that $\psi$ is a satisfiable 3-CNF formula, so we can let $F_3 = \psi$.  Now, let $F_2 = \neg y$.  Notice that $F_3 \land F_2$ is satisfiable if and only if $\varphi$ is.  Therefore, the $(3,2)_s$ SAT problem is at least as hard as SAT.  Also, it is clearly no harder than SAT.  Therefore, it is exactly as difficult as SAT.&lt;/p&gt;&#xA;" OwnerUserId="5038" LastActivityDate="2013-07-15T17:30:06.717" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="18385" PostTypeId="2" ParentId="18376" CreationDate="2013-07-15T19:00:43.973" Score="1" Body="&lt;p&gt;In general, since the instance may have no solution at all, the problem is not too meaningful (or if you want to find the minimum weight solution if one exists and fail otherwise, then the problem becomes at least as hard as SAT itself).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Therefore, you may want to impose restrictions to ensure that 1) a solution always exists, and 2) smaller weight solutions are harder to find than those with larger weight.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One such restriction would be to not allow negations in the instance. In this case, the all-ones assignment is always trivially satisfying and more generally we will have a monotone structure in the solution space (so that flipping variables from 0 to 1 will keep a satisfying assignment feasible). In this case, it is easy to see that the problem of finding minimum-weight satisfying assignment for SAT (with $n$ variables and $m$ clauses) becomes &lt;em&gt;equivalent&lt;/em&gt; to the minimum set-cover problem (with universe size $m$ and $n$ sets). Namely, the $i$th element of the universe belongs to the $j$th set in the set-cover instance iff the $i$th clause in the SAT instance contains the $j$th variable. If you restrict yourself to the special case of 2-SAT, the problem becomes equivalent to minimum vertex cover, and in general for $k$-SAT the problem would be equivalent to minimum $k$-uniform hypergraph vertex cover.&lt;/p&gt;&#xA;" OwnerUserId="6190" LastActivityDate="2013-07-15T19:00:43.973" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18386" PostTypeId="2" ParentId="18378" CreationDate="2013-07-15T19:27:49.120" Score="2" Body="&lt;p&gt;The &lt;a href=&quot;http://en.wikipedia.org/wiki/ISWIM&quot; rel=&quot;nofollow&quot;&gt;wikipedia&lt;/a&gt; page for ISWIM says that it is a higher-order language, and that ISWIM is syntactic sugar for the $\lambda$-calculus. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Although it seems to have no explicit $\lambda$ construct, thereby making it impossible to have anonymous functions, one achieves the same expressive power by combining lexical scoping and first-class functions: Define a new name  for a function locally; pass function as value to higher-order function.&lt;/p&gt;&#xA;" OwnerUserId="77" LastActivityDate="2013-07-15T19:27:49.120" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18387" PostTypeId="1" CreationDate="2013-07-15T21:23:01.257" Score="6" ViewCount="177" Body="&lt;p&gt;In circuit complexity we have one circuit for each input size. &#xA;The size of the output is determined solely by the size of the input.&#xA;So it seems to me that taken in its strict sense there are functions computable in $\mathsf{P}$ over $\{0,1\}^*$ which are not computable in $\mathsf{P/poly}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is partly caused by using $\{0,1,b\}$ in the Turing machine model&#xA;while in circuit model we only have $\{0,1\}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a nice standard way to deal with this issue &#xA;that would work well for small complexity classes&#xA;(e.g. it shouldn't change the complexity of computing AND of inputs too much,&#xA;so encoding/decoding inputs/outputs is not a good solution)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a simple modification of Turing machine model or circuit model &#xA;which would make them correspond without this issue?&lt;/p&gt;&#xA;" OwnerUserId="186" LastActivityDate="2013-07-15T21:23:01.257" Title="The size of output in circuit complexity" Tags="&lt;cc.complexity-theory&gt;&lt;circuit-complexity&gt;&lt;turing-machines&gt;" AnswerCount="0" CommentCount="11" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18388" PostTypeId="2" ParentId="18271" CreationDate="2013-07-16T07:47:40.817" Score="1" Body="&lt;p&gt;You can refer to Semi-flower automata, as their paper puts it: &quot;A semi-ﬂower automaton (SFA) is a trim automaton with a unique initial state that is equal to a unique ﬁnal&#xA;state in which all the cycles shall pass through the initial-ﬁnal state&quot;. Refer to &quot;THE HOLONOMY DECOMPOSITION OF CIRCULAR SEMI-FLOWER AUTOMATA&quot; -Shubh Narayan Singh, K. V. Krishna.&lt;/p&gt;&#xA;" OwnerUserId="16974" LastActivityDate="2013-07-16T07:47:40.817" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18389" PostTypeId="1" AcceptedAnswerId="18398" CreationDate="2013-07-16T13:40:54.263" Score="12" ViewCount="3075" Body="&lt;p&gt;I have really large Non-deterministic finite automaton and I need to convert it to the DFA. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;By large I mean 40 000+ states.&#xA;So far I have done some experiments and programmed the default algorithm that searches through table (as described &lt;a href=&quot;http://www.youtube.com/watch?v=taClnxU-nao&quot;&gt;here&lt;/a&gt;), but even after optimization is quite slow and very memory consuming. I am aware of the fact, that the number of states can grow exponentially, but after minimization, the resulting DFA has about 9 000 states and that is bearable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So my question is, is there some algorithm, that would be faster or more memory friendly? &lt;/p&gt;&#xA;" OwnerUserId="12728" LastActivityDate="2013-07-17T01:47:41.240" Title="Algorithm for converting very large NFA to DFA" Tags="&lt;dfa&gt;" AnswerCount="2" CommentCount="9" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="18392" PostTypeId="2" ParentId="12427" CreationDate="2013-07-16T15:48:21.367" Score="0" Body="&lt;p&gt;The reason you can't rewrite with &lt;code&gt;t2&lt;/code&gt; is because it doesn't have the shape as &lt;code&gt;H&lt;/code&gt;. You can see this more clearly with notations turned off.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You're trying to rewrite&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;model_p (chop (and (Fnext p) (Fnext q)) r)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;using&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;model_p (and (Fnext p) (Fnext q)) &amp;lt;-&amp;gt; model_p (Fnext (and p q)).&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;&lt;code&gt;chop&lt;/code&gt; doesn't appear in the equivalence.&lt;/p&gt;&#xA;" OwnerUserId="16979" LastActivityDate="2013-07-16T15:48:21.367" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18394" PostTypeId="1" AcceptedAnswerId="18396" CreationDate="2013-07-16T20:16:54.700" Score="4" ViewCount="182" Body="&lt;p&gt;Suppose we have an arrangement of $n$ lines in the plane. This partitions the plane into regions. We can label each region by a string in $\{+1, -1\}^n$, where the $i$'th coordinate is +1 if the region lies above the $i$'th line and -1 if it lies below the $i$'th line. (By rotating the arrangement if necessary, we can assume that no line is perfectly vertical.) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Say that a subset $S$ of $\{+1,-1\}^n$ is &lt;em&gt;realizable by a linear arrangement&lt;/em&gt; if there exists a linear arrangement such that the labels of the regions are exactly the strings in $S$. Is there previous study of which subsets of $\{+1, -1\}^n$ are realizable by linear arrangements? One can also ask the same question for hyperplane arrangements.&lt;/p&gt;&#xA;" OwnerUserId="15" LastActivityDate="2013-07-16T23:15:29.340" Title="Configurations from arrangement of lines" Tags="&lt;reference-request&gt;&lt;convex-geometry&gt;&lt;computational-geometry&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18395" PostTypeId="2" ParentId="18370" CreationDate="2013-07-16T21:09:20.080" Score="1" Body="&lt;p&gt;You might start by trying to resolve this for the case $n=2$.  I'm pretty sure $\Theta(1/\epsilon^2)$ samples will be necessary and sufficient, in that case.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's possible you might find it helpful to look at converting between the $L_2$ distance and the $L_1$ distance (total variation distance).&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;It's known that, with one sample, if the distributions are known, the total variation distance perfectly characterizes the advantage with which one can distinguish $D_1$ from $D_2$.  Thus, if the total variation distance is large and the distributions are known, one can build a test that is correct with high probability; if the total variation distance is small, one cannot.  I don't know what one can say about the case where the total variation distance is large but the distributions are unknown.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Next you might look at the product distributions, $D_1^n$ and $D_2^n$.  Using the total variation distance ($L_1$ distance), there don't seem to be any good bounds that relate $||D_1^n - D_2^n||_1$ to $||D_1 - D_2||_1$.  However, when using the $L_2$ distance, I believe there are good estimates of $||D_1^n - D_2^n||_2$ as a function of $||D_1 - D_2||_2$.  (Unfortunately, I can't seem to dig up a specific reference to those estimates/bounds, so I hope I'm not misremembering.)  There are also known bounds that allow you to estimate the $L_1$ distance as a function of the $L_2$ distance.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Therefore, one approach you might try would be to bound $||D_1^n - D_2^n||_2$, then from that getting a bound on $||D_1^n - D_2^n||_1$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I don't know whether this will lead anywhere good or not; it's just an idea.  Probably the authors of the paper you cite will already have tried or considered something like this.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Possibly helpful references:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://stats.stackexchange.com/q/42992/2921&quot;&gt;The product distribution: how fast does dissimilarity increase as a function of number of samples?&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://stats.stackexchange.com/q/17300/2921&quot;&gt;Hypothesis testing and total variation distance vs. Kullback-Leibler divergence&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://math.stackexchange.com/q/72721/14578&quot;&gt;What is the relationship of 1 (total variation) distance to hypothesis testing?&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://stats.stackexchange.com/q/20401/2921&quot;&gt;On error probability bounds in Bayesian hypothesis testing&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://stats.stackexchange.com/q/59401/2921&quot;&gt;Implications of lower-bounded total variation distance on hypothesis testing&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://stats.stackexchange.com/q/50596/2921&quot;&gt;Pinsker's Inequality for Bayesian hypothesis testing&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://stats.stackexchange.com/q/17405/2921&quot;&gt;How does one express the decrease in minimal type II error bound for each observation added?&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="5038" LastEditorUserId="-1" LastEditDate="2017-04-13T12:44:17.130" LastActivityDate="2013-07-16T21:20:18.013" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18396" PostTypeId="2" ParentId="18394" CreationDate="2013-07-16T22:49:24.640" Score="9" Body="&lt;p&gt;This problem is known as the question of realizability of pseudoline arrangements by straight lines. An arrangement of pseudolines is an arrangement of $n$ curves in the plane, such that any two curves intersect exactly once. For pseudolines, you can define the same labeling as the OP does. Pseudoline arrangements are related to oriented matroids, and you can use these to give a polynomial-time algorithm for telling whether a labeling of regions is realizable by a pseudoline arrangment. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The question of whether a pseudoline arrangement can be realized by straight lines&#xA;exhibits &lt;a href=&quot;http://en.wikipedia.org/wiki/Mnev%27s_universality_theorem&quot;&gt;Mnëv universality&lt;/a&gt;, which means that it's at least NP-hard (and probably strictly harder). In particular, it is equivalent in complexity to the existential theory of the reals, which is known to be NP-hard, and to be contained in PSPACE.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is a very nice &lt;a href=&quot;http://www.ams.org/samplings/feature-column/fcarc-oriented4&quot;&gt;AMS feature column&lt;/a&gt; on oriented matroids. You can read Richter-Gebert's paper &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.38.1426&quot;&gt;&quot;Mnëv Universality Revisited&quot;&lt;/a&gt; for a nice discussion and simplification of the proof of Mnëv universality of line arrangements. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hyperplane arrangements also exhibit Mnëv universality. I don't know offhand of a good reference for this, but it's clear that they have to be at least as hard as line arrangements, and so they are also equivalent to the existential theory of the reals. &lt;/p&gt;&#xA;" OwnerUserId="1677" LastEditorUserId="1677" LastEditDate="2013-07-16T23:15:29.340" LastActivityDate="2013-07-16T23:15:29.340" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18397" PostTypeId="2" ParentId="18389" CreationDate="2013-07-16T23:23:04.247" Score="2" Body="&lt;p&gt;this is apparently not a very well-studied problem in the sense of known/available algorithms other than the original/long-ago strategy of &quot;determinize to DFA/minimize DFA&quot;. you seem to indicate the determinization step is the problematic one but this is typical of course given that it has an exponential-space/time worse case. note that there are several &lt;a href=&quot;http://en.wikipedia.org/wiki/DFA_minimization&quot; rel=&quot;nofollow noreferrer&quot;&gt;DFA minimization algorithms&lt;/a&gt; which can vary significantly in performance on average.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;it is also known more informally as &lt;a href=&quot;https://stackoverflow.com/questions/3379051/nfa-minimization-without-determinization&quot;&gt;&quot;NFA minimization without determinization&quot;&lt;/a&gt;. it is known to be hard in the sense that there are basically not even approximation algorithms unless P=Pspace as shown in this paper:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.60.5056&quot; rel=&quot;nofollow noreferrer&quot;&gt;Minimizing NFA's and Regular Expressions by Gregor Gramlich, Georg Schnitger&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;however this paper does consider the generally rarely explored case of some algorithms that are not based on finding the determinized DFA 1&lt;sup&gt;st&lt;/sup&gt;:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://dl.acm.org/citation.cfm?id=1758106&quot; rel=&quot;nofollow noreferrer&quot;&gt;NFA reduction algorithms by means of regular inequalities&lt;/a&gt; Jean-Marc Champarnaud, Fabien Coulon&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;We present different techniques for reducing the number of states and transitions in nondeterministic automata. These techniques are based on the two preorders over the set of states, related to the inclusion of left and right languages. Since their exact computation is NP-hard, we focus on polynomial approximations which enable a reduction of the NFA all the same.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;note a publicly available package/implementation that can handle large NFA/DFA conversions/minimizations etc generally efficiently as possible is the &lt;a href=&quot;http://en.wikipedia.org/wiki/AT%26T_FSM_Library&quot; rel=&quot;nofollow noreferrer&quot;&gt;AT&amp;amp;T FSM library&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;it has a strategy &lt;code&gt;fsmcompact&lt;/code&gt; which can sometimes suffice:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;In cases where a transducer or weighted  acceptor  can  not  be  determinized  or grows very large, a different optimization may be useful —&#xA;         &lt;code&gt;fsmcompact&lt;/code&gt;.  This operation encodes each triple of an input label, output  label  and  cost  into  a  single  new  label,  performs classical&#xA;         (unweighted  acceptor)  determinization  and  minimization,  and   then&#xA;         decodes  the  encoded  labels back into their original values. This has&#xA;         the advantage that it is always defined and that it does not move  output  labels  or  costs  along  paths.  It has the disadvantage that the&#xA;         result can be neither deterministic nor minimal.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="-1" LastEditDate="2017-05-23T12:40:09.333" LastActivityDate="2013-07-16T23:28:37.053" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18398" PostTypeId="2" ParentId="18389" CreationDate="2013-07-17T01:42:18.240" Score="6" Body="&lt;p&gt;Have you tried &lt;a href=&quot;https://en.wikipedia.org/wiki/DFA_minimization#Brzozowski.27s_algorithm&quot;&gt;Brzozowski's algorithm&lt;/a&gt;?  It's worst-case running time is exponential, but I see some references suggesting that it often performs very well, especially when starting with a NFA that you want to convert to a DFA and minimize.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The following paper seems relevant:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.fc.up.pt/dcc/Pubs/TReports/TR07/dcc-2007-03.pdf&quot;&gt;On the performance of automata minimization algorithms&lt;/a&gt;, Marco Almeida, Nelma Moreira, Rogerio Reis.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;It evaluates a number of different algorithms for DFA minimization, including their application to your situation where we start with a NFA and want to convert it to a DFA and minimize it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What does the strongly connected components (SCC) decomposition of your NFA (considering it as a directed graph) look like?  Does it have many components, where none of the components is too large?  If so, I wonder if it might be possible to devise a divide-and-conquer algorithm, where you take a single component, convert it from NFA to DFA and then minimize it, and then replace the original with the new determinized version.  This should be possible for single-entry components (where all edges into that component lead to a single vertex, the entry vertex).  I don't immediately see whether it would be possible to do something like this for arbitrary NFAs, but if you check what the structure of the SCC looks like, then you might be able to determine whether this sort of direction is worth exploring or not.&lt;/p&gt;&#xA;" OwnerUserId="5038" LastEditorUserId="5038" LastEditDate="2013-07-17T01:47:41.240" LastActivityDate="2013-07-17T01:47:41.240" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="18399" PostTypeId="2" ParentId="18374" CreationDate="2013-07-17T08:54:10.560" Score="6" Body="&lt;p&gt;I think my comment was a little cryptic, so let me unpack. The key intuition behind hylomorphisms is that they let you reify the call graph as a data structure. You unfold a datastructure to build a representation of the call graph, and then you fold over the intermediate structure to consume and finish the computation. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Lists are a little misleading, because in a recursive algorithm over a list, the call graph will also form a list. However, in general this will not be the case: the call graph will have a different shape than your input data, and so you'll need to introduce a new datatype to represent it. As an example. here's your binary search example. I'll use Ocaml, since I'm more familiar with it, but it should be fairly easy to transcribe it to Haskell. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;First, let's introduce a datatype of binary search trees. We'll just assume they maintain the invariant in a node &lt;code&gt;Node(l, x, r)&lt;/code&gt; that the left subnode &lt;code&gt;l&lt;/code&gt; contains the elements smaller than &lt;code&gt;x&lt;/code&gt; and the right subtree &lt;code&gt;r&lt;/code&gt; contains the elements bigger than &lt;code&gt;x&lt;/code&gt;.  &lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;type tree = Leaf | Node of tree * int * tree&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Now, let's introduce a datatype to represent the call graph of a binary search. A binary search will finish with failure if the tree is a &lt;code&gt;Leaf&lt;/code&gt;, finish with success if you have a &lt;code&gt;Node&lt;/code&gt; whose value is what you're looking for, and keep going otherwise. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;We'll represent this with a datatype &lt;code&gt;result&lt;/code&gt; that is either a &lt;code&gt;Done b&lt;/code&gt;, where &lt;code&gt;b&lt;/code&gt; is a boolean with success or failure, or else gives you a &lt;code&gt;Next thunk&lt;/code&gt; with a computation which will give you a new &lt;code&gt;result&lt;/code&gt;. (In Haskell, you wouldn't need the &lt;code&gt;unit -&amp;gt; 'a&lt;/code&gt; thing because all datatypes are lazy.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We'll split &lt;code&gt;result&lt;/code&gt; into a functor &lt;code&gt;resultF&lt;/code&gt;, and tie the recursive knot in this datatype explicitly, so that we can easily program the &lt;code&gt;map&lt;/code&gt; functional for functor.&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;type 'a resultF = Done of bool | Next of (unit -&amp;gt; 'a)&#xA;type result = Rec of result resultF&#xA;&#xA;let map_resultF f v =&#xA;  match v with&#xA;  | Done b -&amp;gt; Done b&#xA;  | Next thunk -&amp;gt; Next (fun () -&amp;gt; f (thunk()))   &#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Now, we can define a fold operation for the &lt;code&gt;result&lt;/code&gt; type. &lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;(* val fold_result : ('a resultF -&amp;gt; 'a) -&amp;gt; result -&amp;gt; 'a *)&#xA;let rec fold_result f (Rec result) =&#xA;  f (map_resultF (fold_result f) result)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Here's a function that uses the fold function to force all the &lt;code&gt;Next&lt;/code&gt; steps until you get to the boolean final answer.     &lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;(* val finish : result -&amp;gt; bool *)&#xA;let finish  = &#xA;  fold_result &#xA;    (fun r -&amp;gt; &#xA;       match r with &#xA;       | Done b -&amp;gt; b &#xA;       | Next thunk -&amp;gt; thunk())&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;We finally get to the interesting part. Here's the unfold operation for the &lt;code&gt;result&lt;/code&gt; type: &lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;(* val unfold_result : ('a -&amp;gt; 'a resultF) -&amp;gt; 'a -&amp;gt; result *)&#xA;let rec unfold_result f  seed =&#xA;  Rec (map_resultF (unfold_result f) (f seed))&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Now, you can see how to use an integer and a tree to construct a result: &lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;(* val mem' : int -&amp;gt; tree -&amp;gt; result *)&#xA;let mem' x =&#xA;  unfold_result&#xA;    (fun seed -&amp;gt; &#xA;      match seed with &#xA;      | Leaf -&amp;gt; Done false&#xA;      | Node(l, y, r) -&amp;gt;&#xA;          if       x &amp;lt; y then Next (fun () -&amp;gt; l)&#xA;          else if  x &amp;gt; y then Next (fun () -&amp;gt; r)&#xA;          else                Done true)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;The really critical is that we're using the unfold to incrementally take the input, and building a &lt;code&gt;result&lt;/code&gt; which we use to control the shape of the computation. This is where the pruning is taking place, and you can change it to whatever you like. Also, note that if you want to do something fancy (e.g., use intermediate estimates to control the pruning), you can change the &lt;code&gt;result&lt;/code&gt; type to contain it, and update your unfold to compute it. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, you can see the &lt;code&gt;mem&lt;/code&gt; function as the fold followed by an unfold, of the &lt;code&gt;result&lt;/code&gt; type:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;(* val mem : int -&amp;gt; tree -&amp;gt; bool *)&#xA;let mem x tree = finish (mem' x tree)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;" OwnerUserId="657" LastActivityDate="2013-07-17T08:54:10.560" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18400" PostTypeId="2" ParentId="18338" CreationDate="2013-07-17T09:11:34.200" Score="8" Body="&lt;p&gt;You can do this in uniform NC, see:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;G. Villard. Fast parallel algorithms for matrix reduction to canonical forms. AAECC 8:511-537, 1997. &lt;a href=&quot;http://link.springer.com/article/10.1007%2Fs002000050089&quot;&gt;http://link.springer.com/article/10.1007%2Fs002000050089&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="6456" LastActivityDate="2013-07-17T09:11:34.200" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18401" PostTypeId="2" ParentId="18379" CreationDate="2013-07-17T11:49:27.663" Score="2" Body="&lt;p&gt;Here is a paper by Porshen and Speckenmayer : &lt;a href=&quot;http://math.bme.hu/~hujter/porsch07.pdf&quot; rel=&quot;nofollow&quot;&gt;Satisfiability of mixed Horn formulas&lt;/a&gt; which shows that even when $F_3$ is Horn, the problem of deciding the satisfiability of $F_3 \wedge F_2$ is NP-complete.&lt;/p&gt;&#xA;" OwnerUserId="6346" LastEditorUserId="6346" LastEditDate="2013-07-17T11:55:27.850" LastActivityDate="2013-07-17T11:55:27.850" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18402" PostTypeId="1" AcceptedAnswerId="39452" CreationDate="2013-07-17T16:44:28.023" Score="9" ViewCount="356" Body="&lt;p&gt;Suppose I have $k$ points in $\mathbb{R}^d$. These induce a Voronoi diagram. If I assign to each of the $k$ points a $\pm$ label, these induce a binary function on $\mathbb{R}^d$. Question: what is the VC-dimension of all such possible binary functions induced by some $k$ points and some labeling of these points?&lt;/p&gt;&#xA;" OwnerUserId="1746" LastActivityDate="2017-11-06T08:43:10.977" Title="VC dimension of Voronoi cells in R^d?" Tags="&lt;cg.comp-geom&gt;&lt;machine-learning&gt;&lt;lg.learning&gt;&lt;convex-geometry&gt;&lt;high-dimensional-geometry&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="18406" PostTypeId="1" AcceptedAnswerId="18409" CreationDate="2013-07-18T14:04:12.530" Score="10" ViewCount="1884" Body="&lt;p&gt;What algorithm can we use to find all integer roots of a polynomial $f(x)$ with integer coefficients?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I observe that Sage can find the roots within a few seconds even when all coefficients of $f(x)$ are very large.  How is it able to do that?&lt;/p&gt;&#xA;" OwnerUserId="5865" LastEditorUserId="5038" LastEditDate="2013-07-19T03:55:09.740" LastActivityDate="2013-07-19T03:55:09.740" Title="Integer roots of a polynomial" Tags="&lt;ds.algorithms&gt;&lt;na.numerical-analysis&gt;" AnswerCount="1" CommentCount="9" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="18407" PostTypeId="1" CreationDate="2013-07-18T14:27:39.217" Score="6" ViewCount="678" Body="&lt;p&gt;I have the current problem when using induction with Coq:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have states ST, which are pairs (A,B), where A are Addresses (nat) and B are Memories (A parameter)&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;Open Scope type_scope.&#xA;&#xA;Definition Address := nat.&#xA;Parameter Memory : Set.&#xA;&#xA;Definition State := ( Address *  Memory ).&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;and a reflexive and transitive relation between states:&#xA;    ST ==&gt; ST',&#xA;which builds on a relation that performs the 'single step' between states:&#xA;    ST --&gt; ST'&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;Reserved Notation &quot;S '--&amp;gt;' S'&quot; (at level 50, left associativity).&#xA;Inductive eval : State -&amp;gt; State -&amp;gt; Prop :=&#xA;| eval_step : forall (a a' : nat) (m m' : Memory),&#xA;  a' &amp;gt; a -&amp;gt;&#xA;  (a, m) --&amp;gt; (a', m')&#xA;&#xA;where &quot;S '--&amp;gt;' S'&quot; := (eval S S') : type_scope.&#xA;&#xA;Reserved Notation &quot;S '==&amp;gt;' S'&quot; (at level 50, left associativity).&#xA;Inductive eval_trans : State -&amp;gt; State -&amp;gt; Prop :=&#xA;| refl : forall (t : State),&#xA;  t ==&amp;gt; t&#xA;&#xA;| trans : forall (t t' ti : State),&#xA;  t --&amp;gt; ti -&amp;gt;&#xA;  ti ==&amp;gt; t'-&amp;gt;&#xA;  t ==&amp;gt; t'&#xA;&#xA;where &quot;S '==&amp;gt;' S'&quot; := (eval_trans S S') : type_scope.&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;When performing induction on an hypothesis of the form &#xA;    ST ==&gt; ST',&#xA;I should get two cases to prove.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;When I introduce the various parts of a state among the hypotheses and then induce over a ST==&gt;ST' hypothesis,&#xA;CoQ forgets the biding between a state and its component.&#xA;E.g. if ST is A,B and I have A,B among the hypotheses, induction here will forget the binding between ST and A,B.&#xA;This is a known problem (&lt;a href=&quot;https://stackoverflow.com/questions/4519692/keeping-information-when-using-induction&quot;&gt;https://stackoverflow.com/questions/4519692/keeping-information-when-using-induction&lt;/a&gt;), that can be circumvented with a &quot;remember A,B as ST&quot;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, in the transitive case, the &quot;remember&quot; does some wrong things, as the single step becomes&#xA;    ST --&gt; ST'&#xA;    ST' ==&gt; ST''&#xA;(and an inductive hypothesis of the form, if ST' = A,B , having already ST = A,B, then ST ==&gt; ST')&#xA;The single step is performed between the same state, which should not be the case.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If I drop the &quot;remember&quot;, the transitive case works fine, as expected,&#xA;    ST --&gt; ST'&#xA;    ST' ==&gt; ST''&#xA;but, alas, the state ST is a generic state and not A,B.&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;Lemma some_lemma :&#xA;  forall (a a' : Address) (m m' : Memory),&#xA;    (a, m) ==&amp;gt; (a', m') -&amp;gt;&#xA;    (a, m) ==&amp;gt; (S a', m').&#xA;Proof.&#xA;intros a a' m m' H.&#xA;induction H. &#xA;(*base case*) admit.&#xA;(*inductive case*) admit.&#xA;(*in both cases I lost that t = (a,m), but the IH is right*)&#xA;Admitted.&#xA;&#xA;&#xA;Lemma some_lemma_v2 :&#xA;  forall (a a' : Address) (m m' : Memory),&#xA;    (a, m) ==&amp;gt; (a', m') -&amp;gt;&#xA;    (a, m) ==&amp;gt; (S a', m').&#xA;Proof.&#xA;intros a a' m m' H.&#xA;remember (a,m) as t.&#xA;induction H. &#xA;(*base case*) admit.&#xA;(*inductive case*) &#xA;(* I have that t = (a,m) and the IH sais that if ti =(a,m) then have some ==&amp;gt;,&#xA;but ti is the state t reaches after 1 step (H)*)&#xA;Admitted.&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Any help is greatly appreciated.&#xA;I have created this example by shortening the case I am working on, I believe all the important details to be present.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;thank you, and sorry in case I have missed some answer being out there in the net, but I couldn't find anything useful.&lt;/p&gt;&#xA;" OwnerUserId="17003" LastEditorUserId="-1" LastEditDate="2017-05-23T12:40:09.333" LastActivityDate="2013-07-21T16:06:08.217" Title="Induction over a transitive relation in Coq" Tags="&lt;coq&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18408" PostTypeId="1" CreationDate="2013-07-18T17:42:21.553" Score="16" ViewCount="442" Body="&lt;p&gt;I'm wondering, are there any papers or research dealing with visibly pushdown automata, but allowing words, rather than single letters, to be pushed onto the stack.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Alternately, a construction which allowed for symbols to be pushed on $\epsilon$-transitions could achieve the same goal.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Obviously, such variations can be formed, but I'm wondering if it ruins the closure and decidability properties that make VPAs interesting.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm looking at a construction where use the stack as a counter, incrementing it by constants based on the initial symbols read, then counting down based on other symbols read.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For anyone who doesn't know, visibly pushdown automata are ones where the alphabet can be divided into pushing symbols, popping symbols, and symbols not affecting the stack at all. The choice of pushing versus popping is entirely determined by the current symbol being read. They're closed under intersection, union, concatenation, star and complement, giving them a wealth of decidable properties.  See &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=1007390&quot;&gt;this paper&lt;/a&gt; for more.&lt;/p&gt;&#xA;" OwnerUserId="16208" LastActivityDate="2017-11-29T18:13:03.870" Title="Are there variants of visibly pushdown automata that allow pushing of words onto the stack?" Tags="&lt;reference-request&gt;&lt;fl.formal-languages&gt;&lt;automata-theory&gt;&lt;context-free&gt;&lt;context-free-languages&gt;" AnswerCount="1" CommentCount="8" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="18409" PostTypeId="2" ParentId="18406" CreationDate="2013-07-18T18:43:58.887" Score="10" Body="&lt;p&gt;Assuming that the coefficients of $f$ are integers or rationals and that you want integer roots, the simplest approach is to use the integer or rational root theorem. See &lt;a href=&quot;http://en.wikipedia.org/wiki/Rational_root_theorem&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://en.wikipedia.org/wiki/Rational_root_theorem&lt;/a&gt;&#xA;As noted by D.W., this might be problematic if the constant coefficient is hard to factor (see also &lt;a href=&quot;https://math.stackexchange.com/questions/123018/polynomial-and-integer-roots&quot;&gt;https://math.stackexchange.com/questions/123018/polynomial-and-integer-roots&lt;/a&gt;)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In any case, the Sage documentation clearly explains how they are doing the root search: &lt;strong&gt;&quot;The next method, which is used if K is an integral domain, is to attempt to factor the polynomial. If this succeeds, then for every degree-one factor a*x+b, we add -b/a as a root (as long as this quotient is actually in the desired ring).&quot;&lt;/strong&gt;&#xA;See &lt;a href=&quot;http://www.sagemath.org/doc/reference/polynomial_rings/sage/rings/polynomial/polynomial_element.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://www.sagemath.org/doc/reference/polynomial_rings/sage/rings/polynomial/polynomial_element.html&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So your question becomes &lt;em&gt;How do they efficiently factor polynomials with integer coefficients ?&lt;/em&gt;  Apparently, Sage is calling NTL to do that (see &lt;a href=&quot;http://www.shoup.net/ntl/doc/ZZXFactoring.txt&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://www.shoup.net/ntl/doc/ZZXFactoring.txt&lt;/a&gt; for NTL details).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you want an asymptotically efficient method, you could refer to the method of Lenstra, Lenstra and Lovasz (&lt;a href=&quot;https://openaccess.leidenuniv.nl/handle/1887/3810&quot; rel=&quot;nofollow noreferrer&quot;&gt;https://openaccess.leidenuniv.nl/handle/1887/3810&lt;/a&gt;).&lt;/p&gt;&#xA;" OwnerUserId="16867" LastEditorUserId="-1" LastEditDate="2017-04-13T12:19:19.363" LastActivityDate="2013-07-18T19:36:59.310" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="18410" PostTypeId="1" AcceptedAnswerId="18411" CreationDate="2013-07-18T18:44:15.883" Score="4" ViewCount="1076" Body="&lt;p&gt;If you have n points in 2d space, how quickly can you report the k nearest points to every point under Euclidean distance? If it helps speed things up we can ignore points that are more than some distance away as well so potentially return fewer than k. A randomized or approximate solution would also be interesting.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One solution is to build a kd tree and do an independent look up for every point. Is this as good as it gets?&lt;/p&gt;&#xA;" OwnerUserId="17007" LastEditorUserId="17007" LastEditDate="2013-07-18T18:49:38.643" LastActivityDate="2013-07-25T02:09:23.247" Title="Finding k nearest neighbors for all points" Tags="&lt;ds.algorithms&gt;" AnswerCount="2" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18411" PostTypeId="2" ParentId="18410" CreationDate="2013-07-18T20:03:22.073" Score="10" Body="&lt;p&gt;$O(kn+n\log n)$. See&lt;/p&gt;&#xA;&#xA;&lt;p&gt;P.B. Callahan, S.R. Kosaraju, A decomposition of multidimensional&#xA;point sets with applications to &lt;em&gt;k&lt;/em&gt;-nearest-neighbors and &lt;em&gt;n&lt;/em&gt;-body potential ﬁelds, &lt;em&gt;J. ACM&lt;/em&gt; 42 (1995) 67–90.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In some models of computation the $O(n\log n)$ part can be reduced or removed; see also&lt;/p&gt;&#xA;&#xA;&lt;p&gt;T. M. Chan, Well-separated pair decomposition in linear time?, &lt;em&gt;Inf. Proc. Lett.&lt;/em&gt; 2008.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2013-07-18T20:03:22.073" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18413" PostTypeId="1" CreationDate="2013-07-19T08:57:43.227" Score="6" ViewCount="191" Body="&lt;p&gt;Consider a deterministic transition structure having states in set $X$ and transition function $\rightarrow$, and an initial state $x \in X$. This structure is intended to be part of an automaton accepting streams, such as a Buchi or Muller automaton. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a regular language of non-empty finite words $L$, and a word $v \in L$, define $I(v)$ to be the inf-set of $v^\omega$, that is, the set of states that is traversed infinitely often by the unique run of $v^\omega$ starting from $x$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;One can define the following notion:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$(X,\rightarrow)$ is separated by $L$ if and only if the sets $\{ I(v) | v \in L \}$ and $\{ I(v) | v \notin L\}$ have empty intersection. In words, the set of inf-sets of words in $L$ and of words not in $L$ are disjoint. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A counterexample is the single-state deterministic structure against the regular language $a^+ \cup b^+$; we have $I(ab) = I(a)$ with $a \in L$ and $ab \notin L$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The question is: is this notion known? In particular, I would like to prove that all non-empty regular languages separate some finite deterministic structure. I wonder if that is known already. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note: one can assume that $L$ is invariant under the equivalence $u = v \iff u^\omega = v^\omega$, making it a &quot;looping&quot; language. &lt;/p&gt;&#xA;" OwnerUserId="3176" LastEditorUserId="2367" LastEditDate="2020-07-07T19:11:37.810" LastActivityDate="2020-07-07T19:11:37.810" Title="Separation of the states of a deterministic omega-automaton by looping words taken from a regular language of non-empty words" Tags="&lt;automata-theory&gt;&lt;regular-language&gt;&lt;omega-language&gt;" AnswerCount="0" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="18415" PostTypeId="2" ParentId="18370" CreationDate="2013-07-20T02:07:13.783" Score="0" Body="&lt;p&gt;&lt;strong&gt;EDIT: this is incorrect! See the discussion in the comments -- I will point out the flaw below.&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think we can say that $\frac{1}{\epsilon^4}$ are required.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Set $n = \Theta\left(\frac{1}{\epsilon^2}\right)$. Let $D_1$ be the uniform distribution (probability of each point $= \Theta(\epsilon^2)$) and let $D_2$ differ from uniform by an additive amount $\pm \Theta\left(\epsilon^2\right)$ at each point. Check that the $L_2$ distance is $\epsilon$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So we have to distinguish an $n$-sided fair coin from an $n$-sided $\Theta(\epsilon^2)$-biased coin. I think this should be at least as hard as telling a $2$-sided fair coin from a $2$-sided $\Theta(\epsilon^2)$-biased coin, which would require $\Theta\left(\frac{1}{(\epsilon^2)^2}\right) = \Theta\left(\frac{1}{\epsilon^4}\right)$ samples. &lt;strong&gt;Edit:&lt;/strong&gt; this is incorrect! The coin is additively $\epsilon^2$-biased, but it is biased multiplicatively by a constant factor. As D.W. points out, that means that a constant number of samples per point distinguishes $D_1$ from $D_2$.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Notice that $\frac{1}{\epsilon^4}$ is as far as we can push this line of argument. Concretely, suppose we tried to increase $n$ to, say, $\frac{1}{\epsilon^3}$. In the uniform distribution, each point has probability $\epsilon^3$. But in $D_2$, we'd need each point to vary from uniform by $\epsilon^{2.5}$. That isn't possible since $\epsilon^{2.5} \gg \epsilon^3$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More abstractly, suppose we want each point to vary from uniform by $\epsilon^k$. Then the most we can set $n$ to would be $\frac{1}{\epsilon^k}$. To get an $L_2$ distance of $\epsilon$, we need to satisfy that the square root of the sum of the distances is $\epsilon$, so $\sqrt{n(\epsilon^k)^2} = \epsilon$, so $\epsilon^{k/2} = \epsilon$ so $k = 2$, and we get $n = \frac{1}{\epsilon^2}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, I think the same argument says that, if we're interested in $L_p$ distance with $p &amp;gt; 1$, we require $k = \frac{p}{p-1}$, so we'd pick $n = 1/\epsilon^{\frac{p}{p-1}}$, so the number of samples would be $1 / \epsilon^{2\frac{p}{p-1}}$. I think this makes sense as a bound that is independent of $n$. It approaches infinity as $p \to 1$. If you were trying to distinguish two distributions at $L_1$ distance of $\epsilon$ with no bound on $n$, I would make $n$ unboundedly large and spread out the difference arbitrarily thin, so you could never distinguish them (&lt;em&gt;i.e.&lt;/em&gt; no fixed number of samples suffices for all $n$). It also approaches $\frac{1}{\epsilon^3}$ as $p \to \infty$; this makes sense as a bound because, for the $L_{\infty}$ norm, we can set $n = \frac{1}{\epsilon}$ and let every point differ by $\Theta(\epsilon)$; we need to sample some point $\frac{1}{\epsilon^2}$ times to be sure it differs from uniform, which will take $\frac{1}{\epsilon^3}$ samples.&lt;/p&gt;&#xA;" OwnerUserId="8243" LastEditorUserId="8243" LastEditDate="2013-07-20T05:00:56.273" LastActivityDate="2013-07-20T05:00:56.273" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="18418" PostTypeId="2" ParentId="18407" CreationDate="2013-07-21T10:51:36.083" Score="4" Body="&lt;p&gt;It is not clear to me how induction helps with the lemma you are trying to prove, so I'll take an alternative approach.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Firstly, I prove two helper lemmas that break apart and put back together &lt;code&gt;==&amp;gt;&lt;/code&gt;  with &lt;code&gt;--&amp;gt;&lt;/code&gt; at the tail, rather than at the start. Based on these lemmas, I can manipulate the result using your definition of &lt;code&gt;eval&lt;/code&gt; to get the desired result. My impression is that the core lemma relies too heavily on the somewhat odd definition of &lt;code&gt;eval&lt;/code&gt;, which possibly allowed me to side-step any inductive argument you had in mind.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, although the lemma you are interested in does not require induction over the transitive relation, the two helper lemmas do.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note: &lt;em&gt;proofs have not been optimised or beautified.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The first lemma inverts instances of &lt;code&gt;t ==&amp;gt; ti&lt;/code&gt; so that the single step reduction occurs at the end, rather than at the beginning. The proof relies on induction and was undemanding.&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;Lemma end_inversion :&#xA;  forall (t ti : State),&#xA;    t ==&amp;gt; ti -&amp;gt; &#xA;    t = ti \/ &#xA;      exists t', t ==&amp;gt; t' /\ t' --&amp;gt; ti.&#xA;Proof.&#xA;  intros.&#xA;  induction H.&#xA;&#xA;  left; auto.&#xA;&#xA;  destruct IHeval_trans; right.&#xA;&#xA;  exists t.&#xA;  subst.&#xA;  split; [apply refl | auto].&#xA;&#xA;  destruct H1 as [x [H1 H2]].&#xA;  exists x.&#xA;  split; auto.&#xA;  apply trans with (ti := ti); auto.&#xA;Qed.&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;The second lemma plugs a single step reduction onto the end of a transitive reduction to again get a transitive reduction. The proof is by straightforward induction. &lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;Lemma end_eval : &#xA;  forall (t ti t' : State), &#xA;    t ==&amp;gt; t' -&amp;gt; &#xA;    t' --&amp;gt; ti -&amp;gt; &#xA;    t ==&amp;gt; ti.&#xA;Proof.&#xA;  intros.&#xA;  induction H.&#xA;  apply trans with (ti := ti); [auto | apply refl].&#xA;  apply trans with (ti := ti0); auto.&#xA;Qed.&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;And now your lemma. The proof relies on &lt;code&gt;end_inversion&lt;/code&gt; to break up &lt;code&gt;==&amp;gt;&lt;/code&gt;, does some manipulation of the result, and puts things back together using &lt;code&gt;end_eval&lt;/code&gt;. No induction is required.&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;Lemma some_lemma :&#xA;  forall (a a' : Address) (m m' : Memory),&#xA;    (a, m) ==&amp;gt; (a', m') -&amp;gt;&#xA;    (a, m) ==&amp;gt; (S a', m').&#xA;Proof.&#xA;  intros a a' m m' H.&#xA;  apply end_inversion in H.&#xA;  destruct H.&#xA;  inversion H; subst.&#xA;  apply end_eval with (t' := (a', m')).&#xA;    apply refl.&#xA;    apply eval_step; auto.&#xA;  destruct H as [x [H0 H1]].&#xA;  apply end_eval with (t := (a, m)) (t' := x); auto.&#xA;  inversion H1; subst.&#xA;  apply eval_step; auto.&#xA;Qed.&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;" OwnerUserId="77" LastEditorUserId="77" LastEditDate="2013-07-21T16:06:08.217" LastActivityDate="2013-07-21T16:06:08.217" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18419" PostTypeId="1" AcceptedAnswerId="18420" CreationDate="2013-07-21T11:57:21.097" Score="0" ViewCount="127" Body="&lt;p&gt;Say I have a connected graph.  I want to find a tour that visits each vertex at least once.  It's not always possible, though, for there to be a solution if there is a bridge in the graph.  Is there a term for this sort of problem or a recommended approach to solving it?  The motivation if it helps that I ultimately have in mind is traversing every station in a subway system.&lt;/p&gt;&#xA;" OwnerUserId="17028" LastActivityDate="2013-07-21T12:07:56.370" Title="Finding Tours through Near-Hamiltonian Paths?" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;optimization&gt;" AnswerCount="1" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="18420" PostTypeId="2" ParentId="18419" CreationDate="2013-07-21T12:07:56.370" Score="0" Body="&lt;p&gt;There are no polynomial-time $\alpha$-approximation algorithms for &lt;a href=&quot;https://en.wikipedia.org/wiki/Travelling_salesman_problem&quot; rel=&quot;nofollow&quot;&gt;TSP&lt;/a&gt; where $\alpha$ is a constant unless $\mathsf{P} = \mathsf{NP}$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, for metric TSP there are approximation algorithms, e.g. &lt;a href=&quot;https://en.wikipedia.org/wiki/Christofides_algorithm&quot; rel=&quot;nofollow&quot;&gt;Christofides algorithm&lt;/a&gt;. A simpler 2-approximation is obtained by taking an &lt;a href=&quot;https://en.wikipedia.org/wiki/Minimum_spanning_tree&quot; rel=&quot;nofollow&quot;&gt;MST&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="186" LastActivityDate="2013-07-21T12:07:56.370" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="18423" PostTypeId="1" AcceptedAnswerId="18429" CreationDate="2013-07-22T07:01:23.680" Score="6" ViewCount="176" Body="&lt;p&gt;There are $n$ points in $R^2$ (i.e. the 2D real space). We can think of them as a complete graph where edge weights correspond to the distance between points.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $D$ be the distance matrix between all pairs of points, such that entry $D_{ij}$ corresponds to the distance between points $i$ and $j$. This matrix is of size $n \times n$ and the upper-triangle contains the distances between unique pairings of points.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now imagine I put the elements from the upper triangle into a set, such that you no longer know which pairs of points produce the distance values. This is essentially the set of edge weights, with no information regarding the relationship between the weight and the edge the weight belongs to.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you are given two sets and they are identical, does this imply the graphs corresponding to each set are also essentially the same?&lt;/p&gt;&#xA;" OwnerUserId="17035" LastActivityDate="2013-07-25T01:51:47.553" Title="Given a set of distances (no info regarding what points the distances correspond to) from a complete graph, is the realization of the graph unique?" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;tsp&gt;" AnswerCount="2" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="18425" PostTypeId="1" AcceptedAnswerId="19124" CreationDate="2013-07-22T13:40:54.143" Score="17" ViewCount="388" Body="&lt;p&gt;Is the following graph class known in the literature?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The class of graphs is parameterized by positive integers $d$ and $t$ and contains each graph $G=(V,E)$ such that for each vertex $v\in V$, the subgraph of $G$ induced on all vertices at distance at most $d$ from $v$ in $G$ has treewidth at most $t$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It generalizes the concept of &lt;a href=&quot;http://en.wikipedia.org/wiki/Treewidth#Diameter_and_local_treewidth&quot;&gt;locally bounded treewidth&lt;/a&gt;, and it seems useful when searching for local structures in graphs.&lt;/p&gt;&#xA;" OwnerUserId="72" LastActivityDate="2013-09-24T05:20:11.820" Title="Generalization of locally bounded treewidth graphs" Tags="&lt;reference-request&gt;&lt;graph-theory&gt;&lt;treewidth&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="18426" PostTypeId="1" AcceptedAnswerId="18430" CreationDate="2013-07-22T17:23:36.233" Score="25" ViewCount="1650" Body="&lt;p&gt;Some of you may have been following &lt;a href=&quot;https://cstheory.stackexchange.com/questions/18372/how-are-lower-bounds-for-computational-complexity-proved&quot;&gt;this question&lt;/a&gt;, which was closed due to not being research level. So, I'm extracting the part of the question which is at a research level.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Beyond the &quot;simpler&quot; techniques, such as reducing to sorting or an EXPTIME-complete problem, what techniques have been used to prove lower bounds for the time complexity of a problem? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In particular:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;What are the &quot;cutting-edge&quot; techniques that have been developed in the last decade?&lt;/li&gt;&#xA;&lt;li&gt;Can techniques from Abstract Algebra, Category Theory, or other branches of typically &quot;pure&quot; mathematics be applied? (For example, I often hear mention of the &quot;algebraic structure&quot; of sorting, without any real explanation of what this means.)&lt;/li&gt;&#xA;&lt;li&gt;What are significant but lesser-known results for lower-bound complexity?&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="16208" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2013-09-03T15:44:43.033" Title="Advanced techniques for determining complexity lower bounds" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;fl.formal-languages&gt;&lt;time-complexity&gt;&lt;reductions&gt;" AnswerCount="6" CommentCount="9" FavoriteCount="16" ContentLicense="CC BY-SA 3.0" />
  <row Id="18428" PostTypeId="2" ParentId="18426" CreationDate="2013-07-22T21:20:03.077" Score="10" Body="&lt;p&gt;The techniques depend on the model and the type of resource&#xA;we want to get a lower bound on.&#xA;Note that to prove a lower bound on the complexity of a problem&#xA;we have to first fix a mathematical model of computation:&#xA;a lower bound for a problem states is that&#xA;no algorithm using some amount of resources can solve the problem, i.e.&#xA;we are quantifying universally over algorithms.&#xA;We need to have a mathematical definition of the domain of quantification.&#xA;(This is generally true for impossibility results.)&#xA;Therefore, lower bound results hold only for particular model of computation.&#xA;For example, the &lt;span class=&quot;math-container&quot;&gt;$\Omega(n \log n)$&lt;/span&gt; lower bound for sorting only works for&#xA;comparison based sorting algorithms,&#xA;without this restriction and in more general models of computation&#xA;it might be possible to solve sorting faster, even linear time.&#xA;(See Josh's comment below.)&lt;/p&gt;&#xA;&lt;p&gt;Here are a few basic direct methods of proving lower bounds in computational complexity theory for the more general models of computation (Turing machines and circuits).&lt;/p&gt;&#xA;&lt;h3&gt;I. Counting:&lt;/h3&gt;&#xA;&lt;p&gt;Idea: We show that there are more functions that algorithms.&lt;/p&gt;&#xA;&lt;p&gt;Ex: There are functions which require exponentially large circuits.&lt;/p&gt;&#xA;&lt;p&gt;The problem with this method is that it is an existential argument and&#xA;doesn't give any explicit function or&#xA;any upper bound on the complexity of the problem proven to be difficult.&lt;/p&gt;&#xA;&lt;h3&gt;II. Combinatorial/Algebraic:&lt;/h3&gt;&#xA;&lt;p&gt;Idea: We analyze the circuits and show that they have a particular property,&#xA;e.g. the functions computed by them can be approximated&#xA;by some nice class of mathematical object,&#xA;while the target function does not have that property.&lt;/p&gt;&#xA;&lt;p&gt;Ex: &lt;a href=&quot;https://en.wikipedia.org/wiki/Switching_lemma&quot; rel=&quot;noreferrer&quot;&gt;Håstad's switching lemma&lt;/a&gt; and its variants&#xA;use decision tree to approximate  &lt;span class=&quot;math-container&quot;&gt;$\mathsf{AC^0}$&lt;/span&gt;,&#xA;Razborov-Smolensky&#xA;use polynomials over fields to approximate functions &lt;span class=&quot;math-container&quot;&gt;$\mathsf{AC^0}[p]$&lt;/span&gt;,&#xA;etc.&lt;/p&gt;&#xA;&lt;p&gt;The issue with this method is that&#xA;in practice it only has worked for small and relatively easy to analyze classes.&#xA;There is also Razborov-Rudich's &lt;a href=&quot;https://en.wikipedia.org/wiki/Natural_proof&quot; rel=&quot;noreferrer&quot;&gt;Natural Proofs&lt;/a&gt; barrier&#xA;which in a way formalizes why simple properties by themselves are unlikely&#xA;to be sufficient for proving more general circuit lower bounds.&lt;/p&gt;&#xA;&lt;p&gt;Razborov's paper &amp;quot;&lt;a href=&quot;http://people.cs.uchicago.edu/%7Erazborov/files/approx.pdf&quot; rel=&quot;noreferrer&quot;&gt;On the method of approximation&lt;/a&gt;&amp;quot; argues that&#xA;the approximation method is complete for proving lower bounds in a sense.&lt;/p&gt;&#xA;&lt;h3&gt;III. Diagonalization:&lt;/h3&gt;&#xA;&lt;p&gt;Idea.&#xA;We diagonalize against the functions in the smaller class.&#xA;The idea goes back to Gödel (and even Cantor).&lt;/p&gt;&#xA;&lt;p&gt;Ex. &lt;a href=&quot;https://en.wikipedia.org/wiki/Time_hierarchy_theorem&quot; rel=&quot;noreferrer&quot;&gt;Time hierarchy theorems&lt;/a&gt;, &lt;a href=&quot;https://en.wikipedia.org/wiki/Space_hierarchy_theorem&quot; rel=&quot;noreferrer&quot;&gt;Space hierarchy theorem&lt;/a&gt;, etc.&lt;/p&gt;&#xA;&lt;p&gt;The main issue with this method is that&#xA;to get an upper bound we need to have a universal simulator for the smaller class and&#xA;it is difficult to find good non-trivial simulators.&#xA;For example, to separate &lt;span class=&quot;math-container&quot;&gt;$\mathsf{P}$&lt;/span&gt; from &lt;span class=&quot;math-container&quot;&gt;$\mathsf{PSpace}$&lt;/span&gt;&#xA;we need to have a simulator for &lt;span class=&quot;math-container&quot;&gt;$\mathsf{P}$&lt;/span&gt; inside &lt;span class=&quot;math-container&quot;&gt;$\mathsf{PSpace}$&lt;/span&gt; and&#xA;there are results showing that&#xA;if there are such simulators they are not going to be nice.&#xA;Therefore, we usually end up with separating classes with same type of resources&#xA;where using a bit more resources we can universally simulate the smaller class.&lt;/p&gt;&#xA;&lt;p&gt;We also have the relativization barrier&#xA;(going back to the Baker, Gill, and Solovay) and&#xA;algebraization barrier&#xA;(by Aaronson and Wigderson)&#xA;which state that particular types of diagonalization arguments&#xA;will transfer to other settings where the result is provably false.&lt;/p&gt;&#xA;&lt;p&gt;Note that these barriers do not apply to more general diagonalization arguments.&#xA;In fact,&#xA;by Dexter Kozen's paper &amp;quot;&lt;a href=&quot;http://dx.doi.org/10.1145/800133.804358&quot; rel=&quot;noreferrer&quot;&gt;Indexing of subrecursive classes&lt;/a&gt;&amp;quot;,&#xA;diagonalization in is complete for proving lower bounds.&lt;/p&gt;&#xA;&lt;p&gt;As you probably have noticed,&#xA;there is a strong relations between&#xA;finding good universal simulators for a complexity class and&#xA;separating that complexity class from larger classes&#xA;(for a formal statement see Kozen's paper).&lt;/p&gt;&#xA;&lt;h3&gt;Recent works&lt;/h3&gt;&#xA;&lt;p&gt;For recent advances,&#xA;check &lt;a href=&quot;http://www.stanford.edu/%7Errwill/projects.html&quot; rel=&quot;noreferrer&quot;&gt;Ryan Williams&lt;/a&gt; recent papers.&#xA;I don't discuss them in this answer as&#xA;I hope Ryan himself will write an answer.&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2013-07-23T08:54:27.890" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="18429" PostTypeId="2" ParentId="18423" CreationDate="2013-07-22T23:47:54.357" Score="8" Body="&lt;p&gt;I think the following example with four points answers your question (though it gives multi-sets of distances). See &lt;a href=&quot;http://cs.sunysb.edu/~skiena/papers/turnpike.ps&quot; rel=&quot;nofollow noreferrer&quot;&gt;Reconstructing Sets From Interpoint Distances&lt;/a&gt; by Skiena, Smith, and Lemke for more information.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/X7du0.png&quot; alt=&quot;example&quot;&gt;&lt;/p&gt;&#xA;" OwnerUserId="481" LastActivityDate="2013-07-22T23:47:54.357" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="18430" PostTypeId="2" ParentId="18426" CreationDate="2013-07-23T00:48:35.747" Score="17" Body="&lt;h2&gt;Lower bounds for algebraic circuits&lt;/h2&gt;&#xA;&lt;p&gt;In the setting of algebraic circuits, where a lower bound on circuit size is analogous to a lower bound on time, many results are known, but there are only a few core techniques in the more modern results. I know you asked for time lower bounds, but I think in many cases the hope is that the algebraic lower bounds will one day lead to Boolean/Turing machine lower bounds. These results often use deeper techniques from &amp;quot;pure math&amp;quot; as you put it.&lt;/p&gt;&#xA;&lt;h3&gt;I. The degree bound.&lt;/h3&gt;&#xA;&lt;p&gt;Strassen showed that the log of the degree of a certain algebraic variety associated to a (set of) function(s) is a lower bound on the algebraic circuit size of computing those functions.&lt;/p&gt;&#xA;&lt;h3&gt;II. Connected components (or more generally the dimension of any higher homology group).&lt;/h3&gt;&#xA;&lt;p&gt;Ben-Or showed that the size of a real algebraic decision tree deciding membership in a (semi-algebraic) set is at least &lt;span class=&quot;math-container&quot;&gt;$\log C$&lt;/span&gt; where &lt;span class=&quot;math-container&quot;&gt;$C$&lt;/span&gt; is the number of connected components of that set. Ben-Or used this to prove an &lt;span class=&quot;math-container&quot;&gt;$\Omega(n \log n)$&lt;/span&gt; lower bound on sorting (well, element distinctness, but element distinctness reduces to sorting) in the real algebraic decision tree model. Yao extended this from connected components to the sum of the Betti numbers and proved optimal lower bounds for other problems (like &lt;span class=&quot;math-container&quot;&gt;$k$&lt;/span&gt;-equals)). In a different paper Yao extended this to algebraic decision trees over the integers.&lt;/p&gt;&#xA;&lt;h3&gt;III. Partial derivatives.&lt;/h3&gt;&#xA;&lt;p&gt;This has been the workhorse of many of the modern algebraic circuit lower bounds. I believe partial derivatives were first used to prove a lower bound by Baur-Strassen, where they showed that computing all the first partials of &lt;span class=&quot;math-container&quot;&gt;$f$&lt;/span&gt; can be done in size &lt;span class=&quot;math-container&quot;&gt;$5s$&lt;/span&gt; where &lt;span class=&quot;math-container&quot;&gt;$s$&lt;/span&gt; is the size needed to compute &lt;span class=&quot;math-container&quot;&gt;$f$&lt;/span&gt;. Combined with Strassen's degree bound, this gave &lt;span class=&quot;math-container&quot;&gt;$\Omega(n \log n)$&lt;/span&gt; size lower bounds on various functions, which are still the strongest lower bounds on the size of unrestricted arithmetic circuits for an explicit function.&lt;/p&gt;&#xA;&lt;p&gt;The more recent use of partial derivatives seems to stem from a paper of Nisan's in which he proved lower bounds on noncommutative circuits by considering the dimension of the space of all partial derivatives. This was used to prove lower bounds on restricted kinds of depth-3 circuits by Nisan-Wigderson, and similar ideas were used to prove lower bounds on multilinear formula size by Raz (and related models by Raz and collaborators). The very recent depth 4 and depth 3 lower bounds by Gupta, Kayal, Kamath, and Saptharishi use a generalization of this idea, to count the dimension of the space of &amp;quot;shifted partial derivatives&amp;quot; - where you can take partial derivatives and then multiply by any monomials of a given degree.  Improving the GKKS result to a super-polynomial size lower bound on permanent (which would imply &lt;span class=&quot;math-container&quot;&gt;$\mathrm{VP} \neq \mathrm{VNP}$&lt;/span&gt;) may &amp;quot;just&amp;quot; be a matter of getting a better understanding of the ideal generated by permanental minors (see the conjecture at the end of their paper).&lt;/p&gt;&#xA;&lt;h3&gt;IV. Defining equations for varieties.&lt;/h3&gt;&#xA;&lt;p&gt;The idea here is to associate to &amp;quot;easy functions&amp;quot; a certain algebraic variety, find equations that vanish on this variety, and show that these equations do not vanish on your &amp;quot;hard function.&amp;quot; (Hence proving that your hard function is not in the variety of easy functions, so that it's actually hard.) Especially useful in lower bounds on matrix multiplication. See Landsberg--Ottaviani on the arXiv for the latest, and references to prior lower bounds.&lt;/p&gt;&#xA;&lt;p&gt;(In fact, I, II, and III above can all be viewed as special cases of finding defining equations for certain varieties, though the proofs that use I,II,III are essentially never phrased that way, as there wasn't really a need to.)&lt;/p&gt;&#xA;&lt;h3&gt;V. Representation theory, esp. as in geometric complexity theory.&lt;/h3&gt;&#xA;&lt;p&gt;Actually, also used by Landsberg--Ottaviani to find some equations for a certain variety. Also used by Burgisser-Ikenmeyer to get a &amp;quot;purely&amp;quot; representation-theoretic proof of a slightly weaker lower bound on matrix multiplication. Conjectured by Mulmuley and Sohoni (cf. &amp;quot;Geometric Complexity Theory I &amp;amp; II&amp;quot;) to be useful to resolve &lt;span class=&quot;math-container&quot;&gt;$\mathrm{VP}$&lt;/span&gt; vs &lt;span class=&quot;math-container&quot;&gt;$\mathrm{VNP}$&lt;/span&gt; and ultimately &lt;span class=&quot;math-container&quot;&gt;$\mathrm{NP}$&lt;/span&gt; vs. &lt;span class=&quot;math-container&quot;&gt;$\mathrm{P/poly}$&lt;/span&gt;.&lt;/p&gt;&#xA;" OwnerUserId="129" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2013-07-24T15:25:26.837" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="18432" PostTypeId="2" ParentId="18426" CreationDate="2013-07-23T03:21:02.753" Score="7" Body="&lt;p&gt;Manindra Agrawal has a nice paper &quot;Proving Lower Bounds via Psuedorandom Generators&quot;. This might be considered a &quot;dark horse&quot; in the running to prove lower bounds but the paper is interesting.&lt;/p&gt;&#xA;" OwnerUserId="10820" LastActivityDate="2013-07-23T03:21:02.753" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="18433" PostTypeId="2" ParentId="18426" CreationDate="2013-07-23T06:08:34.473" Score="9" Body="&lt;h2&gt;Algebraic decision trees&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;This is not a recent technique, but one that is quite powerful for certain problems.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The algebraic decision tree model is a powerful generalization of comparison trees.  In this model, an algorithm is modeled as a non-uniform family of decision trees, one for each input size $n$.  Specifically, a $d$th-order algebraic decision tree is a rooted ternary tree with the following structure:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Each non-leaf node $v$ is labeled with a multivariate query polynomial $q_v(x_1, \dots, x_n)$ of degree at most $d$.  For example, in a comparison tree, every query polynomial has the form $x_i-x_j$ for some indies $i$ and $j$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The edges leaving every non-leaf node are labeled $-1$, $0$, and $+1$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Each leaf is labeled with a possible output description.  For example, for the sorting problem, each leaf is labeled with a permutation of the set $\{1,2,\dots,n\}$.  For decision problems, each leaf is labeled &quot;yes&quot; or &quot;no&quot;. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Given an input vector $\vec{x}\in\mathbb{R}^n$, we compute by traversing a path downward from the root, branching according to the sign of the query polynomials in the visited nodes.  The traversal eventually reaches a leaf; the label of that leaf is the output.  The &quot;running time&quot; of the algorithm is defined to be the length of the traversed path; thus, the worst-case running time is the depth of the decision tree.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note in particular that each query polynomial may have $\Omega(n^d)$ distinct terms; nevertheless, the model assumes that we can evaluate the sign of any query polynomial in constant time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For each leaf $\ell$, let $R(\ell) \subseteq \mathbb{R}^n$ denote the set of input vectors for which execution reaches $\ell$.  By construction, $R(\ell)$ is a semi-algebraic subset of $\mathbb{R}^n$ defined by at most $t = \text{depth}(\ell)$ polynomial inequalities of degree at most $d$, for some constant $d$.  A classical theorem independently proved by Petrovskiĭ and Oleĭnik, Thom, and Milnor implies that such a semi-algebraic set has at most $(dt)^{O(n)}$ components.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose we want to decide if the input vector lies in a subset $W\subseteq\mathbb{R}^n$.  We can make this decision using a $d$th order decision tree with depth $t$ only if $W$ has at most $3^t (dt)^{O(n)}$ components.  Equivalently, we have the lower bound $t = \Omega(\log \#W - n\log d)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, suppose we want to determine whether all $n$ coordinates of the input vector are distinct.  The set $W$ of &quot;yes&quot; instances has exactly $n!$ components, one for each permutation of size $n$, so we immediately have a lower bound of $\Omega(n\log n)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that this lower bound strengthens the classical $\Omega(n\log n)$ comparison lower bound for sorting in two ways.  First, the model of computation allows much more complex queries than comparisons at unit cost.  Second, and more importantly, the lower bound applies to a &lt;em&gt;decision&lt;/em&gt; problem—there are only two distinct outputs, so the naïve information-theoretic bound is trivial.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Extensions of this argument use more interesting complexity measures than the number of components, such as higher Betti numbers, the Euler characteristic, volume, or number of lower-dimensional faces.  In all cases, generalizations of the Petrovskiĭ-Oleĭnik-Thom-Milnor theorem imply that each set $R(\ell)$ has &quot;complexity&quot; at most $(dt)^{O(n)}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This lower-bound technique has two significant downsides.  First, consider any problem that can be solved with a family of algebraic decision trees with polynomial depth.  The Petrovskiĭ-Oleĭnik-Thom-Milnor theorem and its generalizations imply that the semi-algebraic sets that define such a problem have complexity at most $n^{O(n)}$.  &lt;strong&gt;Thus, this technique cannot be used to prove lower bounds bigger than $n\log n$ in this model, for any problem that can be solved in polynomial time.&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is possible to prove $\Omega(n^2)$ lower bounds for certain NP-hard problems, but for similar reasons, there is no hope of anything better.  In fact, Meyer auf der Heide proved that some NP-hard problems can actually be solved using &lt;em&gt;linear&lt;/em&gt; decision trees with only &lt;strong&gt;polynomial&lt;/strong&gt; depth; specifically, Knapsack can be solved in $O(n^4\log n)$ &quot;time&quot;.  Meyer auf der Heide's algorithm was later adapted by Meiser to any problem whose solution space is the union of cells in an arrangement of $2^{O(n)}$ hyperplanes in $\mathbb{R}^n$.  &lt;strong&gt;Thus, it is impossible to prove lower bounds bigger than $n^4\log n$ in this model, for any such problem.&lt;/strong&gt;  An example of such a problem is $k$-SUM (Do any $k$ elements of this set sum to zero?) for any constant $k$; the fastest uniform algorithm for $k$-SUM runs in roughly $O(n^{k/2})$ time.  Actually executing Meier auf der Heide's algorithm would require repeatedly solving several NP-hard problems to find the appropriate $O(n^4\log n)$ query polynomials; this construction time is free in the lower-bound model. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hooray for double-negative results!&lt;/p&gt;&#xA;" OwnerUserId="111" LastEditorUserId="111" LastEditDate="2013-07-23T19:30:19.413" LastActivityDate="2013-07-23T19:30:19.413" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18434" PostTypeId="1" AcceptedAnswerId="18451" CreationDate="2013-07-23T07:37:28.870" Score="-1" ViewCount="290" Body="&lt;p&gt;Given a vector of errors $e(x)$ obtained by variable $x$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the following  problem :&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$min_x || e(x) ||$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Besides the robustness, consider only convergence speed, is it l1 norm works better than l2 norm using projected gradient method? &lt;/p&gt;&#xA;" OwnerUserId="10965" LastActivityDate="2013-07-24T22:56:20.373" Title="Is l1-norm works better that l2-norm in minimization using projection method?" Tags="&lt;optimization&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18435" PostTypeId="2" ParentId="18425" CreationDate="2013-07-23T08:45:54.957" Score="9" Body="&lt;p&gt;This is not exactly what you are asking for, but it is very closely related and thus might be nevertheless interesting to you:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The concept of &lt;em&gt;local treewidth&lt;/em&gt; introduced in &lt;a href=&quot;http://dl.acm.org/citation.cfm?doid=504794.504798&quot;&gt;M. Frick, M.Grohe, Deciding first-order properties of locally tree-decomposable structures&lt;/a&gt; &#xA;is more general than the definition of locally bounded treewidth&#xA;in the wikipedia article to which you refer.&#xA;For each graph $G$, the &lt;em&gt;local treewidth&lt;/em&gt; of $G$ is the &#xA;function $ltw^G$ which maps a radius $r$ to the maximum treewidth &#xA;of $N^G_r(v)$ among all vertices $v$ of $G$, &#xA;where $N^G_r(v)$ is the subgraph of $G$ induced by vertices at &#xA;distance at most $r$ to $v$.&#xA;A class has &lt;em&gt;bounded local treewidth&lt;/em&gt;, if there exists &#xA;a function $f$ such that $ltw^G(r) \leq f(r)$ for each $r$ and each graph $G$ belonging to the class.&lt;/p&gt;&#xA;" OwnerUserId="9586" LastActivityDate="2013-07-23T08:45:54.957" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18437" PostTypeId="1" CreationDate="2013-07-23T13:45:19.440" Score="-1" ViewCount="417" Body="&lt;p&gt;Assume that we have $p$ sets, with given sizes: $m_1,m_2,...,m_p$. The (distinct) elements in each set are taken from $N$ elements (where $m_1,m_2,...,m_p \le N$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A combination is defined as an assignment of distinct elements (from $N$ possible ones) to each of the sets. For example, say that we have $p=2$ sets of sizes $m_1=2,m_2=3$ and that $N=4$. Then one possible combination is $\left\{ {1,2} \right\},\left\{ {1,2,3} \right\}$, another one is $\left\{ {2,3} \right\},\left\{ {2,3,4} \right\}$ and so on. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is easy to note that there are $\prod\limits_{i = 1}^p {\left( {\begin{array}{*{20}{c}}&#xA;N\\&#xA;{{m_i}}&#xA;\end{array}} \right)} $ possible combinations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is - given the sizes $m_1,m_2,...,m_p$, how many combinations have intersection of &lt;strong&gt;exact&lt;/strong&gt; size $k=1,2,...,{\text {min}}(m_i)$ (denote this by $I(k)$)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My thought was to find first how many combinations have an intersection of size &lt;strong&gt;at least&lt;/strong&gt; $k=1,2,...,{\text {min}}(m_i)$ (denote this by $v(k)$), and then $I(k) = v(k) - v(k+1)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So far I know that for $k_{min}={\text {min}}(m_i)$:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$v\left( {{k_{\min }}} \right) = \left( {\begin{array}{*{20}{c}}&#xA;  N \\ &#xA;  {{k_{\min }}} &#xA;\end{array}} \right)\prod\limits_{i = 1}^p {\left( {\begin{array}{*{20}{c}}&#xA;  {N - {k_{\min }}} \\ &#xA;  {{m_i} - {k_{\min }}} &#xA;\end{array}} \right)} $$&#xA;(and $I(k_{min})=v(k_{min})$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, the formula above for $k&amp;lt;k_{min}$ gives an over estimate. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any help would be greatly appreciated.&lt;/p&gt;&#xA;" OwnerDisplayName="user17047" LastEditorDisplayName="user17047" LastEditDate="2013-07-23T14:32:41.647" LastActivityDate="2013-09-22T23:20:46.307" Title="Intersection between sets" Tags="&lt;co.combinatorics&gt;&lt;np&gt;" AnswerCount="2" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="18439" PostTypeId="2" ParentId="18437" CreationDate="2013-07-23T22:15:00.763" Score="1" Body="&lt;p&gt;I think you can finish off your computation using inclusion-exclusion.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we fix a set $S$ of $k$ elements, let's count the number of ways to choose the $p$ sets so that they all contain $S$.  Call this $n(k)$ [note that this number depends only on $k$ but not otherwise on $S$, justifying my notation].  You correctly showed how to compute $n(k)$, namely,&#xA;$$n(k) = \prod_{i=1}^p {N-k \choose m_i-k}.$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now you should be able to use inclusion-exclusion to count the number of ways to choose the $p$ sets so that their intersection is of size exactly $k$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, if $m=\min(m_1,\dots,m_p)$, then the number of ways to choose the $p$ sets so that their intersection is of size exactly $m$ is&#xA;$$I(m) = {N \choose m} n(m)$$&#xA;[as you correctly noted in your question].&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As another example, the number of ways to choose the $p$ sets so that their intersection is of size exactly $m-1$ is&#xA;$$I(m-1) = {N \choose m-1} n(m-1) - m {N \choose m} n(m).$$&#xA;Here we've counted each set $S$ of size $m-1$ once; but then that overcounts things, because each set of size $m$ got counted $m$ times (once for each of its subsets of size $m-1$), so we account for the overcounting by subtracting off $m$ times the number of ways of getting an intersection of size $m$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The number of ways to choose them so their intersection has size exactly $m-2$ is&#xA;$$I(m-2) = {N \choose m-2} n(m-2) - (m-1) {N \choose m-1} n(m-1) + {m \choose 2} {N \choose m} n(m).$$&#xA;Here we've accounted for the overcounting by subtracting something related to sets of size $m-1$; but then that over-corrects and now undercounts some sets of size $m$, so we correct for that by adding an appropriate term.  It's easier to re-discover the formula than to explain it, but hopefully you get the idea.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You should be able to take it from here.&lt;/p&gt;&#xA;" OwnerUserId="5038" LastEditorUserId="5038" LastEditDate="2013-07-24T16:00:23.220" LastActivityDate="2013-07-24T16:00:23.220" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="18440" PostTypeId="1" AcceptedAnswerId="18495" CreationDate="2013-07-23T22:49:39.757" Score="6" ViewCount="578" Body="&lt;p&gt;While formalizing the gadgets for the proposed reduction of the question &#xA;&lt;a href=&quot;https://cstheory.stackexchange.com/questions/18255/efficient-algorithm-for-existence-of-permutation-with-differences-sequence&quot;&gt;Efficient algorithm for existence of permutation with differences sequence?&lt;/a&gt; the following problems came to my mind:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Problem 1&lt;/strong&gt; (I call it the &quot;crazy frog problem&quot; :-))&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a $n \times n$ partially filled board (some cells are &lt;em&gt;empty&lt;/em&gt;, some are already &lt;em&gt;filled&lt;/em&gt;), a &lt;em&gt;starting cell&lt;/em&gt; $c_0 = (x_0,y_0)$ and a list of &lt;em&gt;jump distances&lt;/em&gt; $(\Delta x_1,\Delta y_1),(\Delta x_2,\Delta y_2),...,(\Delta x_m, \Delta y_m),\; -n &amp;lt; \Delta x_i, \Delta y_i &amp;lt; n$; is there a sequence $(s_1,s_2,...,s_m), s_i \in \{+1,-1\}$ such that the sequence of &#xA;jumps: $$c_j = ( x_{j-1} + \Delta x_j * s_j, \quad y_{j-1} + \Delta y_j * s_j ) $$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;makes the frog visit every empty cell of the board exactly once? (every jump must be within the boundaries of the board, at every jump the target cell must be empty, after the jump the cell becomes filled)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/qbFNV.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;br&gt;&#xA;&lt;em&gt;Figure 1. An instance of the CFP on the left and its solution on the right.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Problem 2&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is the complexity of the Hamiltonian path problem on grid graphs with holes, if we force the path to be an alternating sequence of horizontal/vertical moves (i.e. two consecutive horizontal/vertical moves along the path are forbidden).&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;Are these problems already known and what is their complexity?&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;br&gt;&#xA;Notes: there is an immediate reduction from problem 2 to problem 1; probably there is a reduction from problem 1 to the problem of finding a valid permutation from a difference sequence (which I'm trying to prove NPC).&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.743" LastActivityDate="2013-09-26T16:20:57.390" Title="Two Hamiltonian path problem variants" Tags="&lt;cc.complexity-theory&gt;&lt;hamiltonian-paths&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="18441" PostTypeId="2" ParentId="1425" CreationDate="2013-07-23T23:56:41.353" Score="0" Body="&lt;p&gt;I still vote for the n-body problem as an example of NP intractability.  The gentlemen who refer to numeric solutions forget that the numeric solution is a recursive model, and not a solution in principle in the same way that an analytic solution is.  Qui Dong Wang's analytic solution is intractable.  Proteins which can fold, and planets which can orbit in systems of more than two bodies are physical systems, not algorithmic solutions of the kind which the P-NP problem addresses.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I must also appreciate chazisop's difficulties with solutions in continuous time.  If either time or space is continuous, potential state spaces become uncountable (aleph one).  &lt;/p&gt;&#xA;" OwnerUserId="17054" LastEditorUserId="17054" LastEditDate="2013-07-24T00:17:01.690" LastActivityDate="2013-07-24T00:17:01.690" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18442" PostTypeId="1" CreationDate="2013-07-24T08:14:07.990" Score="6" ViewCount="252" Body="&lt;p&gt;Suppose I have a set of $n$ binary random variables $X_1, \ldots, X_n$ that sit on a line, and assume that $\Pr(X_i=0)=\delta$ for all $i$. In addition, assume that any two subsets of variables that are separated by at least one site are completely independent. For example:&#xA;$P(X_1, X_2, X_4, X_7) = P(X_1,X_2)\cdot P(X_4, X_7) = P(X_1,X_2)\cdot P(X_4)\cdot P(X_7)$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In other words, whenever we look at a multi-variable dist', we can &quot;break&quot; it into blocks of contiguous variables.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, assume that for any subset of $k&amp;lt;n$ variables, $\{X_{i_1}, \ldots, X_{i_k}\}$, we have $\Pr(X_{i_1}=X_{i_2}=\ldots=X_{i_k}=0) &amp;gt; 0$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In that case, can I find a &lt;em&gt;lower&lt;/em&gt; bound on $P_n\equiv \Pr(X_1=X_2=\ldots=X_n=0)$ ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In particular, I would like to know, if there is a threshold $\delta_0$, such that for every $\delta&amp;gt;\delta_0)$, it must be that also $P_n&amp;gt;0$, and how this threshold depends on $n$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A simple use of Lovaz local lemma says that if $\delta&amp;gt;7/8$ then indeed $P_n&amp;gt;0$. But I think that it can be improved. For example, for $n=3$, a direct calculation shows that for $n=3$, it is impossible that $P_3=0$ unless $\delta &amp;lt; (\sqrt{5}-1)/2 \simeq 0.61$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can you think of any method to attack this problem?&lt;/p&gt;&#xA;" OwnerUserId="17059" LastEditorUserId="17059" LastEditDate="2013-07-24T08:30:15.770" LastActivityDate="2013-07-25T04:10:44.313" Title="correlation in an almost independent set of random variables" Tags="&lt;reference-request&gt;&lt;co.combinatorics&gt;&lt;pr.probability&gt;&lt;randomness&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="18443" PostTypeId="1" AcceptedAnswerId="18446" CreationDate="2013-07-24T10:09:51.870" Score="1" ViewCount="344" Body="&lt;p&gt;could any one please let me know what is the relation between &quot;lambda&quot; and anonymous functions in programming?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;in other words why we say lambda function to an anonymous function?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am here trying to understand the reason for use of the term&lt;/p&gt;&#xA;" OwnerUserId="17060" LastActivityDate="2013-07-31T08:31:34.850" Title="&quot;lambda&quot; term usage in programming" Tags="&lt;lambda-calculus&gt;&lt;functional-programming&gt;" AnswerCount="3" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="18444" PostTypeId="1" AcceptedAnswerId="18538" CreationDate="2013-07-24T10:12:30.830" Score="28" ViewCount="944" Body="&lt;p&gt;Log-space-uniform NC is contained in deterministic polylog space (sometimes written PolyL).  Is log-space-uniform RNC also in this class?  The standard randomized version of PolyL should be in PolyL, but I don't see that (uniform) RNC is in randomized-PolyL.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The difficulty I see is that in RNC, the circuit can &quot;look at the random bits&quot; as much as it wants; i.e., the random inputs can have arbitrary fanout.  But in the randomized version of PolyL, it's not like you get a tape of random bits you get to look at as much as you want; rather, you are only allowed to flip a coin at each time step.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks!&lt;/p&gt;&#xA;" OwnerUserId="661" LastEditorUserId="5385" LastEditDate="2013-07-31T00:43:20.210" LastActivityDate="2013-08-06T20:23:25.040" Title="Is uniform RNC contained in polylog space?" Tags="&lt;complexity-classes&gt;&lt;randomized-algorithms&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="18446" PostTypeId="2" ParentId="18443" CreationDate="2013-07-24T11:00:47.010" Score="7" Body="&lt;p&gt;There is a popular formal system called &lt;a href=&quot;https://en.wikipedia.org/wiki/Lambda_calculus&quot;&gt;Lambda calculus&lt;/a&gt;. It is Turing complete and has great importance in the theory of programming languages. Lambda calculus is based on anonymous functions with very simple syntax. You start a new function with a $\lambda$, list the arguments, place a dot, and write down the return value. For example, $\lambda x.x$ is the identity function, $\lambda x.xx$ applies the functional argument $x$ to itself. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since programming language designers know Lambda calculus very well, it seemed like a good idea to call anonymous functions in their language lambdas.&lt;/p&gt;&#xA;" OwnerUserId="12560" LastEditorUserId="657" LastEditDate="2013-07-24T11:10:09.683" LastActivityDate="2013-07-24T11:10:09.683" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="18447" PostTypeId="1" CreationDate="2013-07-24T17:52:32.620" Score="2" ViewCount="139" Body="&lt;p&gt;Given a threshold $k$ is it possible to make a succinct data structure $S$ to answer queries of the form,  given query $x$ does there exist a value $s$ in $S$ such that $s-k \leq x \leq s+k$?  Like a Bloom filter it would allow rare false positives and would only report yes or no.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To clarify a little, I am looking for a data structure that uses much less space than a binary search tree would but with comparable or better performance. Also, what is theoretical minimum space for a randomized data structure for this problem with a given false positive rate?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another related problem is (1d) emptiness queries in computational geometry but in our case the range is fixed in advance.&lt;/p&gt;&#xA;" OwnerUserId="16186" LastEditorUserId="16186" LastEditDate="2013-07-24T19:44:07.760" LastActivityDate="2013-07-24T19:44:07.760" Title="Bloom filter for predecessor queries?" Tags="&lt;ds.data-structures&gt;&lt;cg.comp-geom&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18448" PostTypeId="2" ParentId="18447" CreationDate="2013-07-24T18:15:02.240" Score="1" Body="&lt;p&gt;Here's one possible approach.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For a fixed value $b$, it's easy to build a Bloom filter that stores a set $S$ of values and lets us answer queries of the form &quot;is there any $s \in S$ such that $s \in [x,x+2^b-1]$?&quot;, where $x$ is a parameter of the query and is constrained be a multiple of $2^b$ (in other words, the ranges are $2^b$-aligned and are of length $2^b$).  (How do you do that?  Store $\{\lfloor s/2^b \rfloor : s \in S\}$ in a regular Bloom filter.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, for a value $x$, you can decompose the range $[x-k,x+k]$ into a union of $O(\lg k)$ ranges of the above form.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, our succinct data structure will be composed of multiple Bloom filters: one Bloom filter for each non-negative integer $b$.  We store a copy of $S$ in each of those Bloom filters.  To answer the query &quot;is there any $s \in S$ such that $s \in [x-k,x+k]$?&quot;, we decompose $[x-k,x+k]$ into $O(\lg k)$ ranges that are $2^b$-aligned, and then we make the appropriate queries to the component Bloom filters.  Since we increase the number of queries by a factor of $O(\lg k)$, the false positive rate doesn't increase too much.  In fact, I think you can show that you will only need to make at most 2 queries to each component Bloom filter (i.e., the constant hidden by the big-O notation is at most 2), so I expect this should work pretty well in practice.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that this data structure actually allows you to generalize even further: $k$ does not need to be fixed in advance; it can instead be specified as part of the query.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would expect this data structure to be a little bit more compact than a binary search tree, but not a lot.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;A binary search tree uses $\Theta(|S| \lg \max(u,|S|))$ space, where $u$ is an upper bound on the largest value that can be stored in $S$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;In contrast, for a fixed $k$, my data structure uses $O(|S| \lg k)$ space.  This is a little bit smaller, if $k \ll u$ or $k \ll |S|$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Also, if $u \approx |S|$, then my data structure is more compact still: it uses $O(|S|)$ space (due to collisions, the Bloom filter for $b$ only needs to able to hold up to $u/2^b$ items and thus can be stored in $O(u/2^b)$ space; note that $u + u/2 + u/4 + \dots \le 2u$).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;At this point the constants are likely to matter, so you might need to try out some implementations to see if my approach is truly better than a binary search tree in practice.  You might also want to compare to storing the elements of $S$ in sorted order and answering queries using binary search over that list.&lt;/p&gt;&#xA;" OwnerUserId="5038" LastEditorUserId="5038" LastEditDate="2013-07-24T18:59:07.330" LastActivityDate="2013-07-24T18:59:07.330" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18450" PostTypeId="2" ParentId="18437" CreationDate="2013-07-24T22:49:52.910" Score="0" Body="&lt;p&gt;Hint: Another way of seeing the problem is in terms of integer binary boolean operations:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The intersection of a set B indexed by b (the binary representation of the set) and a set B' indexed by b' is given by:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;bb'&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where the operation is bit-by-bit multiplication.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The number of elements in the intersection is then:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;\sum \sum bb' = k&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For b and b' running from 1 to N. Your equation is then:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;\sum \sum bb' &amp;lt;= k&#xA;The solution is an iterated map... &lt;/p&gt;&#xA;" OwnerUserId="17065" LastActivityDate="2013-07-24T22:49:52.910" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18451" PostTypeId="2" ParentId="18434" CreationDate="2013-07-24T22:56:20.373" Score="0" Body="&lt;p&gt;l1 norms typically work better in Hamming space (boolean, binary lattices-space) whereas l2 norms typically work better for real numbers in a real valued space.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The reason for this is that in an integer lattice, a square root value may not make sense as the shortest path...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A norm typically defines a shortest path between two points. To figure out what is the best norm, you would need to figure out the ambient space where your data lies.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For a min type of function, an l_\infty norm can be practical whenever the problem can be reexpressed from min to max by flipping the values according to the highest possible value in the function space.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In CS, that bound is nothing more than the max integer value sometimes...&lt;/p&gt;&#xA;" OwnerUserId="17065" LastActivityDate="2013-07-24T22:56:20.373" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18452" PostTypeId="2" ParentId="18370" CreationDate="2013-07-24T23:47:08.997" Score="3" Body="&lt;p&gt;I will attempt to atone for my previous error by showing something opposite -- that $\tilde{\Theta}\left(\frac{1}{\epsilon^2}\right)$ samples are sufficient (the lower bound of $1/\epsilon^2$ is almost tight)! See what you think....&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The key intuition starts from two observations. First, in order for distributions to have an $L_2$ distance of $\epsilon$, there must be points with high probability ($\Omega(\epsilon^2)$). For example, if we had $1/\epsilon^3$ points of probability $\epsilon^3$, we'd have $\|D_1 - D_2\|_2 \leq \sqrt{\frac{1}{\epsilon^3} (\epsilon^3)^2} = \epsilon^{3/2} &amp;lt; \epsilon$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Second, consider uniform distributions with an $L_2$ distance of $\epsilon$. If we had $O(1)$ points of probability $O(1)$, then they would each differ by $O(\epsilon)$ and $1/\epsilon^2$ samples would suffice. On the other hand, if we had $O(1/\epsilon^2)$ points, they would each need to differ by $O(\epsilon^2)$ and again $O(1/\epsilon^2)$ samples (a constant number per point) suffices. So we might hope that, among the high-probability points mentioned earlier, there is always some point differing &quot;enough&quot; that $O(1/\epsilon^2)$ draws distinguishes it.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Algorithm.&lt;/strong&gt; Given $\epsilon$ and a confidence parameter $M$, let $X = M \log(1/\epsilon^2)$. Draw $\frac{X}{\epsilon^2}$ samples from each distribution. Let $a_i,b_i$ be the respective higher,lower number of samples for point $i$. If there is any point $i \in [n]$ for which $a_i \geq \frac{X}{8}$ and $a_i-b_i \geq \sqrt{a_i} \frac{\sqrt{X}}{4}$, declare the distributions different. Otherwise, declare them the same.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The correctness and confidence bounds ($1-e^{-\Omega(M)}$) depend on the following lemma which says that all of the deviation in $L_2$ distance comes from points whose probabilities differ by $\Omega(\epsilon^2)$.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Claim.&lt;/strong&gt; Suppose $\|D_1 - D_2\|_2 \geq \epsilon$. Let $\delta_i = |D_1(i) - D_2(i)|$. Let $S_k = \{i : \delta_i &amp;gt; \frac{\epsilon^2}{k}\}$. Then&#xA;   $$\sum_{i \in S_k} \delta_i^2 \geq \epsilon^2\left(1-\frac{2}{k}\right).$$&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Proof&lt;/em&gt;. We have&#xA;  $$ \sum_{i \in S_k} \delta_i^2 ~ + ~ \sum_{i \not\in S_k} \delta_i^2 \geq \epsilon^2. $$&#xA;Let us bound the second sum; we wish to maximize $\sum_{i \not\in S_k} \delta_i^2$ subject to $\sum_{i \not\in S_k} \delta_i \leq 2$. Since the function $x \mapsto x^2$ is strictly convex and increasing, we can increase the objective by taking any $\delta_i \geq \delta_j$ and increasing $\delta_i$ by $\gamma$ while decreasing $\delta_j$ by $\gamma$. Thus, the objective will be maximized with as many terms as possible at their maximum values, and the rest at $0$. The maximum value of each term is $\frac{\epsilon^2}{k}$, and there are at most $\frac{2k}{\epsilon^2}$ terms of this value (since they sum to at most $2$). So&#xA;  $$ \sum_{i \not\in S_k} \delta_i^2 \leq \frac{2k}{\epsilon^2}\left(\frac{\epsilon^2}{k}\right)^2 = \frac{2\epsilon^2}{k} . ~~~~ \square $$&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Claim&lt;/strong&gt;. Let $p_i = \max\{D_1(i),D_2(i)\}$. If $\|D_1 - D_2\|_2 \geq \epsilon$, there exists at least one point $i \in [n]$ with $p_i &amp;gt; \frac{\epsilon^2}{4}$ and $\delta_i \geq \frac{\epsilon \sqrt{p_i}}{2}$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Proof&lt;/em&gt;. First, all points in $S_k$ have $p_i \geq \delta_i &amp;gt; \frac{\epsilon^2}{k}$ by definition (and $S_k$ cannot be empty for $k &amp;gt; 2$ by the previous claim).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Second, because $\sum_i p_i \leq 2$, we have&#xA; $$ \sum_{i \in S_k} \delta_i^2 \geq \epsilon^2 \left(\frac{1}{2} - \frac{1}{k}\right) \sum_{i \in S_k} p_i, $$&#xA;or, rearranging,&#xA; $$ \sum_{i \in S_k} \left( \delta_i^2 - p_i \epsilon^2 \left(\frac{1}{2} - \frac{1}{k}\right)\right) \geq 0 , $$&#xA;so the inequality&#xA; $$ \delta_i^2 \geq p_i \epsilon^2 \left(\frac{1}{2} - \frac{1}{k}\right) $$&#xA;holds for at least one point in $S_k$. Now pick $k=4$. $\square$&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Claim (false positives)&lt;/strong&gt;. If $D_1 = D_2$, our algorithm declares them different with probability at most $e^{-\Omega(M)}$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Sketch&lt;/em&gt;. Consider two cases: $p_i &amp;lt; \epsilon^2/16$ and $p_i \geq \epsilon^2/16$. In the first case, the number of samples of $i$ will not exceed $X/8$ from either distribution: The mean number of samples is $&amp;lt; X/16$ and a tail bound says that with probability $e^{-\Omega(X/p_i)} = \epsilon^2 e^{-\Omega(M/p_i)}$, $i$'s samples do not exceed their mean by an additive $X/16$; if we are careful to keep the value $p_i$ in the tail bound, we can union bound over them no matter how many such points there are (intuitively, the bound decreases exponentially in the number of possible points). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the case $p_i \geq \epsilon^2/16$, we can use a Chernoff bound: It says that, when we take $m$ samples and a point is drawn with probability $p$, the probability of differing from its mean $pm$ by $c \sqrt{pm}$ is at most $e^{-\Omega((c\sqrt{pm})^2/pm)} = e^{-\Omega(c^2)}$. Here, let $c = \frac{\sqrt{X}}{16}$, so the probability is bounded by $e^{-\Omega(X)} = \epsilon^2 e^{-\Omega(M)}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So with probability $1-\epsilon^2e^{-\Omega(M)}$, (for both distributions) the number of samples of $i$ is within $\sqrt{p_i\frac{X}{\epsilon^2}}\frac{\sqrt{X}}{16}$ of its mean $p_i\frac{X}{\epsilon^2}$. Thus, our test will not catch these points (they are very close to each other), and we can union bound over all $16/\epsilon^2$ of them. $\square$&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Claim (false negatives)&lt;/strong&gt;. If $\|D_1 - D_2\|_2 \geq \epsilon$, our algorithm declares them identical with probability at most $\epsilon^2 e^{-\Omega(M)}$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Sketch&lt;/em&gt;. There is some point $i$ with $p_i &amp;gt; \epsilon^2/4$ and $\delta_i \geq \epsilon \sqrt{p_i}/2$. The same Chernoff bound as in the previous claim says that with probability $1-\epsilon^2 e^{-\Omega(M)}$, the number of samples of $i$ differs from its mean $p_i m$ by at most $\sqrt{p_i m} \frac{\sqrt{X}}{16}$. That is for (WLOG) distribution $1$ which has $p_i = D_1(i) = D_2(i) + \delta_i$; but there is an even lower probability of the number of samples of $i$ from distribution $2$ differing from its mean by this additive amount (as the mean and variance are lower).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So with high probability the number of samples of $i$ from each distribution is within $\sqrt{\frac{p_i X}{\epsilon^2}} \frac{\sqrt{X}}{16}$ of its mean; but their probabilities differ by $\delta_i$, so their means differ by&#xA; $$ \frac{X}{\epsilon^2}\delta_i \geq \frac{X \sqrt{p_i}}{2\epsilon} = \sqrt{\frac{p_i X}{\epsilon^2}} \frac{\sqrt{X}}{2} . $$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So with high probability, for point $i$, the number of samples differs by at least $\sqrt{\# samples(1)} \frac{\sqrt{X}}{4}$. $\square$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To complete the sketches, we would need to more rigorously show that, for $M$ big enough, the number of samples of $i$ is close enough to its mean that, when the algorithm uses $\sqrt{\# samples}$ rather than $\sqrt{mean}$, it doesn't change anything (which should be straightforward by leaving some wiggle room in the constants).&lt;/p&gt;&#xA;" OwnerUserId="8243" LastActivityDate="2013-07-24T23:47:08.997" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="18453" PostTypeId="2" ParentId="18423" CreationDate="2013-07-25T01:51:47.553" Score="0" Body="&lt;p&gt;A distance matrix uniquely characterizes a topology in a given space on some give elements given some property such as distance assuming a few ground hypotheses...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In your case, the distance matrix is defined from a given vertex to the other. If the matrix is symmetric with 0-diagonals, you have a simply connected graph. If you have diagonal elements, you are allowed to use self-loops and if the matrix is not symmetric, you have a digraph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An analytic proof could go like this: assume the distance matrix did not characterize the graph uniquely, then you could build two graphs that are different from the same matrix...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that graph equivalence is usually defined in terms of isomorphism.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Additional information on the subject can be found in terms of spectral craph theory, which only defines isospectrality, not isomorphism.&lt;/p&gt;&#xA;" OwnerUserId="17065" LastActivityDate="2013-07-25T01:51:47.553" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18454" PostTypeId="2" ParentId="18410" CreationDate="2013-07-25T02:09:23.247" Score="0" Body="&lt;p&gt;In Handbook of discrete and computational geometry (Goodman and Rourke eds.), there is a chapter on the complexity of knn search. I do not remember the complexities discussed there, for the high dimensional cases, but they are effectively not &quot;miraculous&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The subset sum problem can be converted quite easily to a knn search on lp norms, this may hint at why there seems to be a research problematic.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can use the fundamental theorem of arithmetic to map d-dimensional point to the line and then use a variant of binary search for intervals... And do some additional work...&lt;/p&gt;&#xA;" OwnerUserId="17065" LastActivityDate="2013-07-25T02:09:23.247" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="18455" PostTypeId="1" CreationDate="2013-07-25T02:15:46.567" Score="2" ViewCount="275" Body="&lt;p&gt;Who can be attributed with the discovery or invention of the unary subset sum algorithm which is known to have polynomial time complexity but exponential space complexity.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am currently writing a research paper in which I would like to put proper attribution...&lt;/p&gt;&#xA;" OwnerUserId="17065" LastActivityDate="2013-07-25T02:15:46.567" Title="Unary subset sum" Tags="&lt;ho.history-overview&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="18456" PostTypeId="2" ParentId="6711" CreationDate="2013-07-25T02:20:48.400" Score="1" Body="&lt;p&gt;If you use the cycle representation of the permutation, you need 1 additional array element to store the item currently being permuted and you can run through the cycles in at worse O(N) operations.&lt;/p&gt;&#xA;" OwnerUserId="17065" LastActivityDate="2013-07-25T02:20:48.400" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="18457" PostTypeId="2" ParentId="11898" CreationDate="2013-07-25T02:27:55.373" Score="2" Body="&lt;p&gt;The Monte-Carlo method is usually attributed to Metropolis and Ulam, the latter was a mathematician on the Manhattan project.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If my memory is good, Ulam published a paper where he computes pi using the algorithm.&lt;/p&gt;&#xA;" OwnerUserId="17065" LastActivityDate="2013-07-25T02:27:55.373" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="18458" PostTypeId="2" ParentId="16248" CreationDate="2013-07-25T02:50:41.683" Score="-2" Body="&lt;p&gt;I did not read the paper as well but the abstract seems to say that an exponenial number of bit operations are required.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Chebyshev's work on congruences and its reformulation in the AKS algorithm show that prime generation is in P. Therefore trial division yields non-trivial factors. In that case, for some number N, you can expect a density of primes of 1/ln(N).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Furthermore, you can have a look at Turing's 1937 PhD thesis on the subject.&lt;/p&gt;&#xA;" OwnerUserId="17065" LastActivityDate="2013-07-25T02:50:41.683" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18459" PostTypeId="2" ParentId="16788" CreationDate="2013-07-25T03:13:21.650" Score="-2" Body="&lt;p&gt;I think there are Vedic type of hacks for some numbers ending in 3,7 etc. Or base 2^n divisors...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But generally speaking, the fastest division algorithm seems to be the norm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The best one I know of without looking is Algorithm D of Knuth's Seminumerical methods... Never checked its correctness though. It runs in more or less O(mn-n^2) where m and n are the dividend and divisor... without factoring multiplication complexity... &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A lower bound however could be surpringly low as your question is only concerned with the decision problem.&lt;/p&gt;&#xA;" OwnerUserId="17065" LastEditorUserId="17065" LastEditDate="2013-07-25T03:28:17.237" LastActivityDate="2013-07-25T03:28:17.237" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18460" PostTypeId="2" ParentId="18442" CreationDate="2013-07-25T04:03:16.593" Score="2" Body="&lt;p&gt;I think Yury's beautiful example actually answers my question. It shows that $\delta_0$ &lt;em&gt;does not&lt;/em&gt; go to 0 as $n\to \infty$. One can probably also use a similar construction to show that the same holds for any $\delta&amp;lt;1/2$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks Yury!&lt;/p&gt;&#xA;" OwnerUserId="17059" LastEditorUserId="17059" LastEditDate="2013-07-25T04:10:44.313" LastActivityDate="2013-07-25T04:10:44.313" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18462" PostTypeId="2" ParentId="10433" CreationDate="2013-07-25T04:37:02.437" Score="0" Body="&lt;p&gt;I learned theoretical computer sciences from Linz's textbook Introduction to Theoreticel Computer Science. It is a method and algorithm book therefore there are many examples ranging from context free languages to Universal Turing Machines. It clearly shows the notion of expressive power of a model of computation. You'll however need the patience to work through the algorithms and the explanations which are for an undergrad audience.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;General books on the subject, that do not delve in technicalities? You might have more chances in the cognitive sciences rack?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I remember a book called From Turing to Chaitin, that discusses the philosophical aspects of uncomputability...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is a republication of Turing's paper on Turing machines (Hilbert's decision problem) which comes with a long introductory paper discusiing Turing's work. It is published in French though.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is very hard to be honest to find a single book on such a large topic which will satisfy all one's curiosity...&lt;/p&gt;&#xA;" OwnerUserId="17065" LastActivityDate="2013-07-25T04:37:02.437" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18463" PostTypeId="2" ParentId="8099" CreationDate="2013-07-25T04:49:44.610" Score="1" Body="&lt;p&gt;I am not sure what you are talking about when you use the local/global qualifiers on Shannon's entropy and Kolmogorov's complexity.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So correct me if I am wrong.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Shannon's entropy is computable. Kolmogorov's complexity is not. Therefore they do not describe the same problem. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;You could see Shannon's entropy as an upper bound to Kolmogrov's complexity.&lt;/p&gt;&#xA;" OwnerUserId="17065" LastEditorUserId="-1" LastEditDate="2013-07-25T15:18:29.450" LastActivityDate="2013-07-25T15:18:29.450" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18464" PostTypeId="2" ParentId="8099" CreationDate="2013-07-25T11:27:16.483" Score="8" Body="&lt;p&gt;For channel capacity, it seems difficult to replace Shannon entropy by Kolmogorov complexity. The definition of channel capacity does not contain any mention of entropy.&#xA;Using the Shannon entropy gives the &lt;strong&gt;&lt;em&gt;right formula&lt;/em&gt;&lt;/strong&gt; for channel capacity (this is Shannon's theorem). If you replaced the formula with Shannon entropy by a formula with Kolmogorov complexity, it would presumably be a different formula, and so it would be the &lt;strong&gt;&lt;em&gt;wrong answer&lt;/em&gt;&lt;/strong&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you want to send a string with Kolmogorov complexity $K$ through a channel with capacity $C$ using only slightly more than $K/C$ channel uses, this is very easy. Find the description of the Turing machine that produces the string. Then encode it with an error-correcting code so this description can be sent through the noisy channel with only a small probability of error. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The hard part of the source-channel separation theorem is showing that you can't do better than the obvious method (described in the previous paragraph) of first compressing and then encoding. I don't know whether anybody has proved this for Kolmogorov complexity and channel capacity, but it's a reasonable question to investigate.  &lt;/p&gt;&#xA;" OwnerUserId="1677" LastEditorUserId="1677" LastEditDate="2013-07-25T11:37:55.197" LastActivityDate="2013-07-25T11:37:55.197" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="18465" PostTypeId="1" AcceptedAnswerId="18473" CreationDate="2013-07-25T13:01:00.817" Score="0" ViewCount="581" Body="&lt;p&gt;I'm researching for an algorithm for item-based/user-based collaborative filtering and I've come to this &lt;a href=&quot;http://devlicio.us/blogs/billy_mccafferty/archive/2006/11/07/netflix-memoirs-using-the-pearson-correlation-coefficient.aspx&quot; rel=&quot;nofollow&quot;&gt;site&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It uses Pearson correlation coefficient to compute similarity between users and when I read this line:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;A strength of this formula is that it takes into account average&#xA;  ratings for each user. So if user a rates everything a 5 and user u&#xA;  rates everything a 1, then they still have a similarity rating of 1.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I wonder why it would give a similarity of 1 because using the said equation which is the Pearson and using the given (user a, &lt;strong&gt;5&lt;/strong&gt; and user u, &lt;strong&gt;1&lt;/strong&gt;), it would give a zero for the numerator and denominator.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So what is the reason he said that the similarity of user a and user u with a rating of 5 and 1, respectively is equal to one? Is zero over zero equals to one?&lt;/p&gt;&#xA;" OwnerUserId="16278" LastActivityDate="2017-08-31T03:00:54.300" Title="Using Pearson Correlation Coefficient in computing user/item similarity" Tags="&lt;ds.algorithms&gt;&lt;machine-learning&gt;&lt;lg.learning&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18467" PostTypeId="2" ParentId="7406" CreationDate="2013-07-25T17:57:34.460" Score="2" Body="&lt;p&gt;A common preprocessing tactic is to smooth the image prior to feature extraction using for instance a Gaussian kernel or a low pass filter. This allows for the high frequency spurious details to be removed.&lt;/p&gt;&#xA;" OwnerUserId="17065" LastActivityDate="2013-07-25T17:57:34.460" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18468" PostTypeId="2" ParentId="10523" CreationDate="2013-07-25T18:03:44.623" Score="1" Body="&lt;p&gt;An N-ary tree is the general term describing a tree data structure containing/organizing a list of numbers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A B-tree is an N-ary tree opimized for block/disk access. Each leaves contain ranges of elements.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An R-tree is an N-ary tree but the order imposed on the list of elements is no longer the &quot;greater than&quot; order on a list of numbers but a&quot;close to&quot; metric on points in 2D and more. The &quot;close to&quot; metric is approximated by bounding boxes. An R-tree can be implemented over a B-tree, technically speaking. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Furthermore, any data set in n-dimensions has representations in 1D. Therefore, given some metric, all these tree topologies are isomorphic...&lt;/p&gt;&#xA;" OwnerUserId="17065" LastActivityDate="2013-07-25T18:03:44.623" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18469" PostTypeId="1" AcceptedAnswerId="18472" CreationDate="2013-07-25T18:03:56.223" Score="3" ViewCount="326" Body="&lt;p&gt;In standard complexity theory terminology, one wants to find Turing machines which decide membership in a language. For any given string, there is only one right answer --- either &quot;yes&quot; or &quot;no.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But suppose we want a Turing machine $f$, which computes a function of its input $x$. We want to ensure that, for any $x$, we satisfy $A(x, f(x))$ where $A$ is some predicate. For example, given a graph $G$, we want to find &lt;em&gt;some&lt;/em&gt; proper vertex-coloring of $G$. We don't care which one.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Many of the standard complexity theory notions have analogues in this model. For example, we may want $f$ to be a deterministic polytime algorithm succeeding with certainty (corresponding to complexity class $P$), we may want $f$ to run in expected polynomial time and succeed with probability $1$ (corresponding to class $ZPP$), we may want $f$ to run polynomial time and succeed with high probability (corresponding to $BPP$), or we may want $f$ to run in deterministic polylog time on polynomial-many parallel processors (corresponding to $NC$). And so forth.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is the terminology for this type of algorithm? In many cases, we know that there exists some $y$ satisfying $A(x,y)$, so $f$ can't really be said to decide anything. I could just refer to saying that $f$ is an &quot;NC algorithm&quot;, which is really an analogy and not proper nomenclature.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks!&lt;/p&gt;&#xA;" OwnerUserId="5538" LastEditorUserId="5538" LastEditDate="2013-07-25T18:24:35.933" LastActivityDate="2013-07-25T19:10:16.187" Title="Algorithms with multiple right answers --- complexity theory terminology" Tags="&lt;cc.complexity-theory&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18470" PostTypeId="2" ParentId="16863" CreationDate="2013-07-25T18:12:32.533" Score="-2" Body="&lt;p&gt;The relationship I remember is that the Delaunay tessalation is the &quot;visual complement&quot; of Voronoi cells.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I just found this paper on Google which has a nice figure as to why finding the convex hull in d+a dimensions is equivalent to finding the Delaunay tessalation:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.cs.mtu.edu/~shene/PUBLICATIONS/2004/Hull2VD.pdf&quot; rel=&quot;nofollow&quot;&gt;http://www.cs.mtu.edu/~shene/PUBLICATIONS/2004/Hull2VD.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What's also interesting from a theoretical cs perspective is that the knn problem can be mapped to the Voronoi cell problem, and by extension to the Delaunay tesselation and the convex hull problem. Known algorithms in d-dimensions typically have an exponential dependency on dimension.&lt;/p&gt;&#xA;" OwnerUserId="17065" LastEditorUserId="17065" LastEditDate="2013-07-25T18:19:21.090" LastActivityDate="2013-07-25T18:19:21.090" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18472" PostTypeId="2" ParentId="18469" CreationDate="2013-07-25T19:04:43.663" Score="8" Body="&lt;p&gt;I think algorithm is the right word. An algorithm doesn't need to decide or compute a function.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The type of problems you want is called &lt;a href=&quot;https://en.wikipedia.org/wiki/Search_problem&quot;&gt;search problems&lt;/a&gt; in complexity theory. For example, see the definition of the complexity class &lt;a href=&quot;https://en.wikipedia.org/wiki/FNP_%28complexity%29&quot;&gt;FNP&lt;/a&gt;. But we still refer to the algorithms solving them simply as algorithms.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is also the notion of &lt;a href=&quot;https://en.wikipedia.org/wiki/Multivalued_function&quot;&gt;multifunction&lt;/a&gt; which is used in computability, but again it is for problems not algorithms.&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2013-07-25T19:10:16.187" LastActivityDate="2013-07-25T19:10:16.187" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="18473" PostTypeId="2" ParentId="18465" CreationDate="2013-07-25T19:07:39.503" Score="3" Body="&lt;p&gt;Pearson's correlation is undefined when the variance of one of the random variables is 0, I would look for a more credible source to read from.&lt;/p&gt;&#xA;" OwnerUserId="17075" LastActivityDate="2013-07-25T19:07:39.503" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18475" PostTypeId="2" ParentId="16788" CreationDate="2013-07-26T00:49:49.670" Score="4" Body="&lt;p&gt;Fleshing out my comments into an answer: since divisibility is (trivially) reducible to division, and since division is (nontrivially) reducible to multiplication via approaches like Newton's method, then your problem should have the same time complexity as integer multiplication.  AFAIK, there are no known lower bounds for multiplication better than the trivial linear one, so the same should hold true of your problem - and in particular, since multiplication is known to have (essentially) $O(n\log n\log^* n)$ algorithms, your hopes for a $n\log n\log\log n$ lower bound are almost certainly in vain.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The reason that division reduces precisely in complexity to multiplication &amp;mdash; as I understand it &amp;mdash; is that Newton's method will do a sequence of multiplications of different escalating sizes; this means that if there's an algorithm for multiplication with complexity $\Theta(f(n))$ then the complexity of a division algorithm using this multiplication algorithm as an intermediate step will be along the lines of $\Theta\left(\sum_{k=0}^{\lg n} f(\frac{n}{2^k})\right)$ &amp;mdash; and for all of the complexity classes under discussion this is just $\Theta(f(n))$.&lt;/p&gt;&#xA;" OwnerUserId="1941" LastActivityDate="2013-07-26T00:49:49.670" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="18476" PostTypeId="1" CreationDate="2013-07-26T03:07:14.857" Score="3" ViewCount="190" Body="&lt;p&gt;I have a bunch of marbles each with some weight (they can also have negative weights). I want to pick the nodes such that the weight is maximized. The only rule is that if I pick X1 and X2 I have to pick X1,2 as well. Also if I pick X1,X2,X3 then I have to pick not only X1,2 and X2,3 and X1,3 but also X1,2,3. The other thing is that I cannot pick X1,2 unless I pick both X1 and X2.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is easily solvable by integer programming but I am wondering if there is any network flow solution that is more efficient?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Some clarification:&lt;/strong&gt;&#xA;for every X1 and X2 there is always a X1,2 marble (but may have 0 or negative weight). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The input is just the list of marbles and their weights [(X1:W1), (X2:W2), (X1,2:W1,2),...]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;More Updates&lt;/strong&gt;&#xA;Suresh pointed out that the input size is very large and I agree. In the problem that I am solving I only have 4 layers. I mean I have up to X(i,j,k,l) and everything above it with 5 or more subscripts has a weight 0.&lt;/p&gt;&#xA;" OwnerUserId="13" LastEditorUserId="13" LastEditDate="2013-07-26T07:55:53.127" LastActivityDate="2013-07-26T11:53:09.487" Title="Efficient flow problem for a complex integer program" Tags="&lt;graph-algorithms&gt;&lt;linear-programming&gt;&lt;integer-programming&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="18477" PostTypeId="2" ParentId="18476" CreationDate="2013-07-26T11:53:09.487" Score="5" Body="&lt;p&gt;Isn't this problem NP-complete? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Start with a graph $G$. Make $x_i = 1 \ \ \forall i$, where $i$ is a vertex of $G$. Now, for each edge $(i,j)$ of $G$, make $x_{i,j} = -3$. Otherwise, make $x_{i,j}=0$. Give weight 0 to all three- and four-level marbles. To maximize your objective function, you want to pick as many marbles as you can so long as you don't take two marbles connected by an edge. This is the maximum independent set problem, which is NP-complete.&lt;/p&gt;&#xA;" OwnerUserId="1677" LastActivityDate="2013-07-26T11:53:09.487" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18478" PostTypeId="2" ParentId="12490" CreationDate="2013-07-26T12:59:30.570" Score="2" Body="&lt;p&gt;For any fixed&amp;nbsp;$g$, there is a polynomial-time algorithm to determine whether a graph has genus (at most)&amp;nbsp;$g$.  Let $X_g$&amp;nbsp; be any problem that is NP-complete on graphs of genus greater than&amp;nbsp;$g$ (e.g., 3-colourability).  For each fixed&amp;nbsp;$g$, the problem &quot;Does the input graph have genus at most&amp;nbsp;$g$ or is it in&amp;nbsp;$X_g$ (or both)?&quot; is NP-complete for general input but has a polynomial-time algorithm when the input is restricted to graphs of genus at most&amp;nbsp;$g$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This idea can be used quite generally to produce problems that are &quot;hard&quot; on general graphs but &quot;easy&quot; on some class&amp;nbsp;$\mathcal C$ of graphs, as long as it is &quot;easy&quot; to determine membership in&amp;nbsp;$\mathcal C$.&lt;/p&gt;&#xA;" OwnerUserId="17082" LastActivityDate="2013-07-26T12:59:30.570" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18482" PostTypeId="1" AcceptedAnswerId="18483" CreationDate="2013-07-27T04:35:51.687" Score="10" ViewCount="600" Body="&lt;p&gt;Are there known algorithms for the following problem that beat the naive algorithm?&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Input: A system &lt;span class=&quot;math-container&quot;&gt;$Ax \le b$&lt;/span&gt; of &lt;span class=&quot;math-container&quot;&gt;$m$&lt;/span&gt; linear inequalities.&lt;/p&gt;&#xA;&lt;p&gt;Output: A feasible solution &lt;span class=&quot;math-container&quot;&gt;$x^*\in \{0,1 \}^n$&lt;/span&gt; if one exists.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Assume that &lt;span class=&quot;math-container&quot;&gt;$A$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$b$&lt;/span&gt; have integer entries. I'm interested in worst-case bounds.&lt;/p&gt;&#xA;" OwnerUserId="13056" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2013-08-29T23:47:13.517" Title="Exact exponential-time algorithms for 0-1 programming" Tags="&lt;np-hardness&gt;&lt;integer-programming&gt;&lt;exp-time-algorithms&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18483" PostTypeId="2" ParentId="18482" CreationDate="2013-07-27T06:12:46.667" Score="14" Body="&lt;p&gt;If $m$ is superlinear, such an algorithm would disprove the Strong Exponential Time Hypothesis, since formulas in conjunctive normal form are a special case of 0-1 programming and the Sparsification Lemma allows us to reduce $k$-SAT to CNF-SAT on linearly many clauses.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, there is an algorithm due to &lt;a href=&quot;http://arxiv.org/abs/1212.4548&quot;&gt;Impagliazzo, Paturi, and myself&lt;/a&gt; that can solve such a system of inequalities if the number of wires, i.e. the number of nonzero coefficients in $A$ is linear. In particular, if the number of wires is $cn$, the algorithm runs in time $2^{(1-s)n}$, where $s=\frac1{c^{O(c^2)}}$.&lt;/p&gt;&#xA;" OwnerUserId="17068" LastEditorUserId="95" LastEditDate="2013-07-27T06:15:53.150" LastActivityDate="2013-07-27T06:15:53.150" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18485" PostTypeId="1" AcceptedAnswerId="18486" CreationDate="2013-07-27T08:24:06.787" Score="18" ViewCount="1378" Body="&lt;p&gt;I would like to compute the &lt;a href=&quot;http://en.wikipedia.org/wiki/Treewidth&quot; rel=&quot;nofollow noreferrer&quot;&gt;treewidth&lt;/a&gt; of a graph. There are really good heuristics for other NP-hard graph problems such as &lt;a href=&quot;https://stackoverflow.com/questions/8176298/vf2-algorithm-steps-with-example&quot;&gt;VF2&lt;/a&gt; for subgraph isomorphism, with code available in &lt;a href=&quot;http://igraph.sourceforge.net/&quot; rel=&quot;nofollow noreferrer&quot;&gt;igraph&lt;/a&gt; for example.   I have tried them on my graphs and I find they run very fast for my data.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there any fast algorithms for treewidth calculation in a similar vein?  &lt;/p&gt;&#xA;" OwnerUserId="16186" LastEditorUserId="-1" LastEditDate="2017-05-23T12:40:09.333" LastActivityDate="2013-08-24T06:42:51.993" Title="Fast treewidth algorithms" Tags="&lt;ds.algorithms&gt;&lt;graph-algorithms&gt;&lt;treewidth&gt;&lt;heuristics&gt;" AnswerCount="5" CommentCount="1" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="18486" PostTypeId="2" ParentId="18485" CreationDate="2013-07-27T17:34:09.703" Score="19" Body="&lt;p&gt;As far as I know, the state of the art is what is reported in&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hans L. Bodlaender, Fedor V. Fomin, Arie M. C. A. Koster, Dieter Kratsch, and Dimitrios M. Thilikos (2012), &quot;On exact algorithms for treewidth&quot;, ACM Transactions on Algorithms 9 (1): A12, &lt;a href=&quot;http://dx.doi.org/10.1145/2390176.2390188&quot;&gt;doi:10.1145/2390176.2390188&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The methods described there include an implemented $O^*(2^n)$ algorithm with some heuristic optimizations to make it faster in practice.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2013-07-27T17:34:09.703" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18487" PostTypeId="1" AcceptedAnswerId="18506" CreationDate="2013-07-28T04:22:08.577" Score="6" ViewCount="199" Body="&lt;p&gt;Can the relevant attributes of k-juntas be learned attribute efficiently given a membership query oracle? What's the best known lower bound for this problem? &lt;/p&gt;&#xA;" OwnerUserId="12162" LastEditorUserId="12162" LastEditDate="2013-09-04T15:33:47.927" LastActivityDate="2013-09-04T15:33:47.927" Title="Attribute efficiently learning the relevant attributes of juntas with membership queries" Tags="&lt;lg.learning&gt;&lt;boolean-functions&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="18488" PostTypeId="1" AcceptedAnswerId="18505" CreationDate="2013-07-28T05:47:32.063" Score="5" ViewCount="403" Body="&lt;p&gt;Consider the following problem. Let $X$ and $Y$ be discrete random variables. The goal is to find a random variable $Z$ such that, informally, $I(Z;X)$ is high and $I(Z;Y)$ is low.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More precisely, either: $~\max_Z I(Z;X) ~\text{s.t.}~ I(Z;Y) \le c~$ or $~\min_Z I(Z;Y) ~\text{s.t.}~ I(Z;X) \ge c~$ (for some constant $c$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This seems like a very natural, fundamental (if toy?) problem, so surely something is known about it. (I know that for $X,Y$ both with finite support, (large) linear programs can be written to solve for such $Z$, but I imagine there's a neater way.) Any pointers would be appreciated.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks!&lt;/p&gt;&#xA;" OwnerUserId="17099" LastActivityDate="2013-07-31T10:55:37.867" Title="Given discrete rvs X,Y, find Z s.t. I(Z;X) is high and I(Z;Y) is low. -- known problem?" Tags="&lt;reference-request&gt;&lt;it.information-theory&gt;&lt;shannon-entropy&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="18489" PostTypeId="1" AcceptedAnswerId="18514" CreationDate="2013-07-28T08:34:20.693" Score="12" ViewCount="445" Body="&lt;p&gt;What are some concrete and compelling applications for estimating the volume of convex polyhedra of the sort considered in the more recent papers on random walk methods? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;These papers on volume estimation mention numerical integration as one motivation. What are examples of integrals that people want to compute in practice which are very hard to compute using previous methods?  Or is there some other compelling practical application for computing the volume of a 1000-dimensional polytope?&lt;/p&gt;&#xA;" OwnerDisplayName="user17100" LastEditorDisplayName="user17100" LastEditDate="2013-07-28T10:49:20.433" LastActivityDate="2013-08-06T04:28:46.573" Title="Motivation for volume estimation" Tags="&lt;cg.comp-geom&gt;&lt;na.numerical-analysis&gt;&lt;markov-chains&gt;" AnswerCount="5" CommentCount="3" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="18490" PostTypeId="1" AcceptedAnswerId="18492" CreationDate="2013-07-28T16:07:28.617" Score="5" ViewCount="10811" Body="&lt;p&gt;Is the &lt;a href=&quot;http://en.wikipedia.org/wiki/Flood_fill&quot; rel=&quot;noreferrer&quot;&gt;flood fill algorithm&lt;/a&gt; the same as &lt;a href=&quot;http://en.wikipedia.org/wiki/Depth_first_search&quot; rel=&quot;noreferrer&quot;&gt;depth first search&lt;/a&gt;?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If not, how do they differ in complexity?&lt;/p&gt;&#xA;" OwnerUserId="17104" LastEditorUserId="191" LastEditDate="2013-07-28T16:47:18.377" LastActivityDate="2013-08-22T12:07:26.047" Title="Flood fill vs depth first search" Tags="&lt;graph-algorithms&gt;&lt;time-complexity&gt;&lt;graph-colouring&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="18491" PostTypeId="2" ParentId="18485" CreationDate="2013-07-28T16:20:53.217" Score="3" Body="&lt;p&gt;Sage doesn't know how to compute treewidth exactly but it can give you the pathwidth of small graphs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.sagemath.org/doc/reference/graphs/sage/graphs/graph_decompositions/vertex_separation.html&quot; rel=&quot;nofollow&quot;&gt;http://www.sagemath.org/doc/reference/graphs/sage/graphs/graph_decompositions/vertex_separation.html&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would be verrryyyyyyyy glad to learn that there is anything implemented and public to compute tree-decompositions, though &lt;code&gt;:-)&lt;/code&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Nathann&lt;/p&gt;&#xA;" OwnerUserId="1209" LastActivityDate="2013-07-28T16:20:53.217" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18492" PostTypeId="2" ParentId="18490" CreationDate="2013-07-28T16:50:50.990" Score="8" Body="&lt;p&gt;The &lt;a href=&quot;http://en.wikipedia.org/wiki/Flood_fill&quot; rel=&quot;nofollow&quot;&gt;Flood Fill&lt;/a&gt; algorithm is a particular case of the &lt;a href=&quot;http://en.wikipedia.org/wiki/Depth_first_search&quot; rel=&quot;nofollow&quot;&gt;Depth First Seach&lt;/a&gt; algorithm, on regular mesh graphs:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Wikipedia indicates that they do not work on the same kind of data:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;The &lt;a href=&quot;http://en.wikipedia.org/wiki/Flood_fill&quot; rel=&quot;nofollow&quot;&gt;Flood Fill&lt;/a&gt; algorithm is &quot;an algorithm that determines the area connected to a given node in a &lt;strong&gt;multi-dimensional array&lt;/strong&gt;.&quot;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The &lt;a href=&quot;http://en.wikipedia.org/wiki/Depth_first_search&quot; rel=&quot;nofollow&quot;&gt;Depth First Seach&lt;/a&gt; algorithm is &quot;an algorithm for traversing or searching &lt;strong&gt;tree or graph&lt;/strong&gt; data structures&quot;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;A multi-dimensional array (and the kind of neighborhood considered in the flood fill algorithm) is a particular case of graph, extremely regular.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;In any case, the complexity is clearly within $O(n)$ where $n$ is the number of nodes being colored (for both problems). &lt;/p&gt;&#xA;" OwnerUserId="191" LastEditorUserId="191" LastEditDate="2013-08-22T12:07:26.047" LastActivityDate="2013-08-22T12:07:26.047" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="18493" PostTypeId="1" CreationDate="2013-07-28T16:58:40.463" Score="3" ViewCount="57" Body="&lt;p&gt;Are there applications of &lt;a href=&quot;http://en.wikipedia.org/wiki/Voronoi_diagram&quot; rel=&quot;nofollow&quot;&gt;Voronoi diagrams&lt;/a&gt; or &lt;a href=&quot;http://en.wikipedia.org/wiki/Delaunay_triangulation&quot; rel=&quot;nofollow&quot;&gt;Delaunay triangulations&lt;/a&gt; where the order in which the points are generated (and given to the algorithm) have some known properties (e.g. concatenation of points belonging to distinct entities, such as when a data set is the union of several pre-existing data sets)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More specifically:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.41.4826&quot; rel=&quot;nofollow&quot;&gt;Snoeyink and van Kreveld&lt;/a&gt; showed that the Delaunay triangulation could be encoded in a &quot;good&quot; order of the points, in such a way that it could be reconstructed in linear time from the coordinates given in this order (and many equivalent orders). &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Many other algorithms are known to compute the Voronoi diagram in linear time if the points are &quot;randomly distributed&quot;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;I am wondering if in some practical applications, the order in which the points are generated is close to those &quot;good&quot; orders (as in, the concatenation or shuffling of several subsequences in a &quot;good&quot; order).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="191" LastActivityDate="2013-07-28T16:58:40.463" Title="Voronoi diagrams applications where the input order has some known properties?" Tags="&lt;delaunay-triangulation&gt;&lt;voronoi&gt;" AnswerCount="0" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18495" PostTypeId="2" ParentId="18440" CreationDate="2013-07-28T23:35:56.033" Score="4" Body="&lt;p&gt;I tried to write a formal proof of the NP-completeness of Problem 1 (Crazy Frog Problem, CFP).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It remains NP-complete even if restricetd to a one dimensional board (1-D Crazy Frog Problem, 1-D CFP) or to a one dimensional board without blocked cells, and there is an immediate reduction from the 1-D CFP without blocked cells to the &lt;a href=&quot;https://cstheory.stackexchange.com/questions/18255/efficient-algorithm-for-existence-of-permutation-with-differences-sequence&quot;&gt;Permutation Reconstruction from Differences sequence problem&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The reduction is from Hamiltonian path on grid graphs (a grid graph is a node-induced finite subgraph of the infinite grid: if two nodes are adjacent (distance 1 in the grid) then there is an edge between them; a grid graph can have &lt;em&gt;holes&lt;/em&gt;, i.e. some nodes may be missing;  see &quot;Hamilton Paths in Grid Graphs&quot; by Alon Itai, Christos H. Papadimitriou, Jayme L. Szwarcfiter). Given a grid graph $G$ that fits in a $w \times w$ square, with nodes $u_i$ at coordinates $(x_{u_i},y_{u_i})$&#xA;and source, target nodes $s,t$; build a filled board of size $4n\times4n$ with all blocked cells except cells $(4x_{u_i},4y_{u_i})$ and target cell $(4x_t+1,4y_t)$. The initial frog position is $(4x_s,4y_s)$. This part of the board is called &lt;em&gt;graph area&lt;/em&gt;. The first &quot;logical&quot; sequence of moves is the following sequence repeated $|V| - 1$ times:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(suppose that frog is in position $(x,y)$)&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$(0,J_i)$: vertically jump to an empty part of the board (&lt;em&gt;edge gadget&lt;/em&gt;)&lt;/li&gt;&#xA;&lt;li&gt;$(-2,2)$: make a backward diagonal jump of length 2&lt;/li&gt;&#xA;&lt;li&gt;$(0,p)$: vertically jump to another empty part of the board (on the same gadget)&lt;/li&gt;&#xA;&lt;li&gt;$(2,2)$: make a forward diagonal jump of length 2&lt;/li&gt;&#xA;&lt;li&gt;$(0,J_i+p)$: return to graph area in one of the cells $(x+4,y),(x-4,y),(x,y-4),(x,y+4)$&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;This forces the frog to make $n-1$ steps on the empty cells corresponding to the nodes of the original graph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The sequence is followed by one horizontal step $(1,0)$ (that forces the last cell to be the one associated with the target node $t$) and a forced step that leads to a &lt;em&gt;cleanup gadget&lt;/em&gt;. The sequence of jumps of the cleanup gadget allows it to visit all unvisited cells of the edge gadgets and completely fill the board.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is a simple graphical outline of the gadgets used in the reduction:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/Aokk2.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Figure: &lt;em&gt;Outline of a CFP instance (for better readability blocked cells are not shown, the cleanup gadget is not complete and space is compacted ). Black jumps represent the graph area traversal, green jumps represent the edge gadgets traversals, red jumps represent the vertical selection gadget traversal, blue jumps represent the horizontal hole gadget traversal.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The details can be found in the draft paper &lt;a href=&quot;http://www.fractalmuse.org/vdisk/cstheory/crazyfrog.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;&quot;The Crazy Frog Problem and Permutation Reconstruction from Differences&quot; that can be download here&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The reduction is complex so perhaps it is wrong (or can be simplified), but I think that the results (if new?) are interesting ...&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2013-09-26T16:20:57.390" CommentCount="11" ContentLicense="CC BY-SA 3.0" />
  <row Id="18497" PostTypeId="1" CreationDate="2013-07-29T10:10:44.300" Score="3" ViewCount="240" Body="&lt;p&gt;Given a set of &quot;required&quot; weights for edges of a bipartite graph, I am looking for assignments to the nodes so that there is at least an edge carrying a weight from that set. Each edge can have possibly four weights as a+b, a-b, b-a, -a-b where the values on its endpoints are a and b. The values are allowed to be any real number.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, given {2,3,-5,8,9,12}, I can choose V1 = {4,10} and V2 = {1,2} where, out of 24 possible values over 6 edges (each edge has 4 values), we get all the required edge weights by&lt;br&gt;&#xA; 4 - 2 = 2 //&#xA; 4 - 1 = 3 //&#xA;-4 - 1 = -5 //&#xA;10 - 2 = 8 //&#xA;10 - 1 = 9 //&#xA;10 + 2 = 12 .&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The reason that I stated the problem over a graph is that it seems to be similar to the Graph Turnpike problem studied by Feder and Motwani (On the graph turnpike problem, Information Processing Letters, 2009 - Elsevier).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I was wondering if this problem can be solved in polynomial time or reduced to another problem. &lt;/p&gt;&#xA;" OwnerUserId="17109" LastEditorUserId="17109" LastEditDate="2013-07-29T20:07:10.853" LastActivityDate="2013-07-29T20:07:10.853" Title="A version of bipartite graph turnpike problem" Tags="&lt;np-hardness&gt;" AnswerCount="0" CommentCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="18498" PostTypeId="2" ParentId="18370" CreationDate="2013-07-29T20:33:37.177" Score="6" Body="&lt;p&gt;It appears that $O(1/\epsilon^2)$ samples — as usul showed below — is enough for testing, so that the sample complexity is exactly $\Theta(1/\epsilon^2)$; actually, it turns out this number of samples us even enough for &lt;em&gt;learning&lt;/em&gt; $D$ up to an additive $\epsilon$ wrt the $L_2$ norm.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Let $\hat{D}$ be the empirical density function obtained by drawing $m$ i.i.d. samples $s_1,\dots, s_m\sim D$ and setting&#xA;$$&#xA;\hat{D}(k) \stackrel{\rm{}def}{=} \frac{1}{m}\sum_{\ell=1}^m \mathbb{1}_{\{s_\ell = k\}},\qquad k\in[n]&#xA;$$&#xA;Then&#xA;$$&#xA;\begin{align*}&#xA;\lVert D - \hat{D} \rVert_2^2 &amp;amp;= \sum_{k=1}^n \left( \frac{1}{m}\sum_{\ell=1}^m \mathbb{1}_{\{s_\ell = k\}} - D(k) \right)^2 = \frac{1}{m^2}\sum_{k=1}^n \left( \sum_{\ell=1}^m \mathbb{1}_{\{s_\ell = k\}} - mD(k) \right)^2 \\&#xA;&amp;amp;= \frac{1}{m^2}\sum_{k=1}^n \left( X_k - \mathbb{E} X_k \right)^2&#xA;\end{align*}&#xA;$$&#xA;where $X_k\stackrel{\rm{}def}{=} \sum_{\ell=1}^m \mathbb{1}_{\{s_\ell = k\}}\sim\operatorname{Bin}( m, D(k) )$. The $X_k$'s (for $k\in[n]$) are not independent, but we can write&#xA;$$&#xA;\begin{align*}&#xA;\mathbb{E}\lVert D - \hat{D} \rVert_2^2 &amp;amp;= \frac{1}{m^2}\sum_{k=1}^n \mathbb{E}\left[ \left( X_k - \mathbb{E} X_k \right)^2 \right]&#xA;= \frac{1}{m^2}\sum_{k=1}^n \operatorname{Var} X_k \\&#xA; &amp;amp;= \frac{1}{m^2}\sum_{k=1}^n mD(k)\left( 1- D(k) \right) \leq \frac{1}{m}\sum_{k=1}^n D(k) \\&#xA;&amp;amp;= \frac{1}{m}&#xA;\end{align*}&#xA;$$&#xA;so that for $m\geq \frac{3}{\epsilon^2}$, &#xA;\begin{equation}&#xA;\mathbb{E}\lVert D - \hat{D} \rVert_2^2 \leq \frac{\epsilon^2}{3}&#xA;\end{equation}&#xA;and applying Markov's inequality&#xA;\begin{equation}&#xA;\mathbb{P}\left\{ \lVert D - \hat{D} \rVert_2 \geq \epsilon \right\} \leq \frac{1}{3}.&#xA;\end{equation}&lt;/p&gt;&#xA;" OwnerUserId="13319" LastEditorUserId="13319" LastEditDate="2013-07-29T21:23:30.980" LastActivityDate="2013-07-29T21:23:30.980" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="18499" PostTypeId="2" ParentId="18485" CreationDate="2013-07-29T21:39:33.300" Score="10" Body="&lt;p&gt;I wrote a paper called A Fast Parallel Branch and Bound Algorithm for Treewidth, in ICTAI 2011. It can compute treewidth in &lt;strong&gt;multi-core&lt;/strong&gt;. I used lots of heuristics and spent lots of time refining the program.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I was a random undergraduate student in China and didn't make it to a good conference. But based on my experiment results, I think my program is very fast. I solved many unsolved benchmarks in Treewidth lib, and my program was 40 times faster than a algorithm proposed by Zhou and Hansen in IJCAI 09.. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm not working on this topic any more. But if my previous work is helpful, you can download my program (src and exe) from &lt;a href=&quot;http://www.callowbird.com/undergraduate-stuff.html&quot;&gt;http://www.callowbird.com/undergraduate-stuff.html&lt;/a&gt;, and have a try. (still, it is very very slow on a slightly larger instance)&lt;/p&gt;&#xA;" OwnerUserId="17084" LastActivityDate="2013-07-29T21:39:33.300" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18501" PostTypeId="2" ParentId="18485" CreationDate="2013-07-30T02:56:50.483" Score="5" Body="&lt;p&gt;Here are two surveys on algorithms for calculating treewidth that may be helpful. The first one has empirical comparisons, and it has miscellaneous algorithms implemented as a Java library.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.treewidth.com/&quot; rel=&quot;nofollow&quot;&gt;treewidth.com&lt;/a&gt; / &lt;a href=&quot;http://www.treewidth.com/docs/LibTW.pdf&quot; rel=&quot;nofollow&quot;&gt;Computing treewidth with Libtw&lt;/a&gt; Dijk, Heuvel, Slob&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;There are many algorithms to compute an upperbound, a lowerbound or the exact treewidth of a graph. We have implemented a lot of upperbound and lowerbound heuristics and two exact algorithms (a Dynamic Programming and a Branch and Bound algorithm). This report compares the different kind of algorithms and shows that some algorithms are preferred.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.61.3586&quot; rel=&quot;nofollow&quot;&gt;Discovering Treewidth (2005)&#xA;by Hans L. Bodlaender&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Treewidth is a graph parameter with several interesting theoretical and practical applications. This survey reviews algorithmic results on determining the treewidth of a given graph, and finding a tree decomposition of small width. Both theoretical results, establishing the asymptotic computational complexity of the problem, as experimental work on heuristics (both for upper bounds as for lower bounds), preprocessing, exact algorithms, and postprocessing are discussed.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="5693" LastEditDate="2013-08-24T06:42:51.993" LastActivityDate="2013-08-24T06:42:51.993" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18502" PostTypeId="1" CreationDate="2013-07-30T08:12:45.760" Score="14" ViewCount="296" Body="&lt;p&gt;Let an &lt;em&gt;explicit&lt;/em&gt; field be a field for which equality is decidable (in some standard model of computation). I am interested in the factorization of univariate polynomials over an explicit field.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is known that over some explicit fields, testing irreducibility of polynomials is undecidable [1]. Though, over many fields, the irreducible factorization of polynomials is known to be computable in polynomial time, either deterministically (over $\mathbb Q$ [2] or any number field) or probabilistically (over finite fields [3]). Here the size of the input is the size of the &lt;em&gt;dense representation&lt;/em&gt; of the polynomial, that is the list of all its coefficients.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there an explicit field for which&lt;/p&gt;&#xA;  &#xA;  &lt;ul&gt;&#xA;  &lt;li&gt;either the best known algorithm has an exponential running time,&lt;/li&gt;&#xA;  &lt;li&gt;or (better) there exists an exponential lower bound for irreducibility testing?&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Quick clarification:&lt;/strong&gt; There may be very different &lt;em&gt;explicit fields&lt;/em&gt;, depending on the complexity (for instance) on the equality test or of the standard operations (addition, multiplication). Actually, I am not aware of any result about polynomial factorization which is not a polynomial time upper bound, or undecidability. So I am interested in any kind of different result (exponential time is just an example). Conditional lower bounds are of interest too.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;References.&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] A. Fröhlich et J. C. Shepherdson (1955): &lt;a href=&quot;http://dx.doi.org/10.1007/BF01180640&quot;&gt;On the factorisation of polynomials in a finite number of steps&lt;/a&gt;.&lt;br&gt;&#xA;[2] A. K. Lenstra, H. W. Lenstra Jr., L. Lovász (1982): &lt;a href=&quot;http://dx.doi.org/10.1007/BF01457454&quot;&gt;Factoring polynomials with rational coefficients&lt;/a&gt;.&lt;br&gt;&#xA;[3] E.R. Berlekamp (1967): &lt;a href=&quot;http://www3.alcatel-lucent.com/bstj/vol46-1967/articles/bstj46-8-1853.pdf&quot;&gt;Factoring Polynomials Over Finite Fields&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="976" LastEditorUserId="976" LastEditDate="2013-07-30T12:22:17.813" LastActivityDate="2013-07-30T12:22:17.813" Title="Exponential-time factorization of polynomials" Tags="&lt;algebraic-complexity&gt;&lt;polynomials&gt;&lt;exp-time-algorithms&gt;" AnswerCount="0" CommentCount="4" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="18503" PostTypeId="2" ParentId="18485" CreationDate="2013-07-30T12:13:52.000" Score="5" Body="&lt;p&gt;Here &lt;a href=&quot;http://arxiv.org/abs/1304.6321&quot;&gt;http://arxiv.org/abs/1304.6321&lt;/a&gt; (accepted at FOCS this year) Bodlaender et al. give an $O^*(2^k)$ algorithm that gives a tree-decomposition of width at most 5k+4 if the graph has tree-width at most k. May be it can interest you. &lt;/p&gt;&#xA;" OwnerUserId="4854" LastActivityDate="2013-07-30T12:13:52.000" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18504" PostTypeId="2" ParentId="18487" CreationDate="2013-07-30T14:06:42.653" Score="2" Body="&lt;p&gt;According to &lt;a href=&quot;http://www.cs.columbia.edu/~rocco/papers/stoc03juntas.html&quot; rel=&quot;nofollow&quot; title=&quot;&amp;quot;Learning functions of k relevant variables.&amp;quot;, E. Mossel and R. O'Donnell and R. Servedio.&quot;&gt;[MOS04]&lt;/a&gt; (Section 5.2), the class of $k$-juntas over $\{-1,1\}^n$ can be learnt with membership queries in time $\operatorname{poly}(2^k, n)$ — cf. also footnote 8 of &lt;a href=&quot;http://citeseer.ist.psu.edu/viewdoc/summary?doi=10.1.1.111.7659&quot; rel=&quot;nofollow&quot; title=&quot;&amp;quot;Selection of relevant features and examples in machine learning. Avrim L. Blum&amp;quot; , Pat Langley&quot;&gt;[BL97]&lt;/a&gt;, p. 17. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit:&lt;/strong&gt; as pointed out in the comment, this is probably not what you were looking for (in terms of attribute-efficiency).&lt;/p&gt;&#xA;" OwnerUserId="13319" LastEditorUserId="13319" LastEditDate="2013-07-30T14:41:16.720" LastActivityDate="2013-07-30T14:41:16.720" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="18505" PostTypeId="2" ParentId="18488" CreationDate="2013-07-30T15:30:06.697" Score="5" Body="&lt;p&gt;In one form, your question is actually a clustering question that is addressed by the &lt;a href=&quot;http://en.wikipedia.org/wiki/Information_bottleneck_method&quot;&gt;information bottleneck method&lt;/a&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Roughly, $Y$ represents the rows of a joint distribution and $X$ represents the columns. The random variable $Z$ then represents a distribution over the rows ($Y$) that is highly compressed (because $I(Z;Y)$ is small) but represents the joint distribution well (because $I(Z;X)$ is large). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's not clear to me that this can be solved using LPs. the underlying problem is not convex. But there's a simple EM-style alternating optimization scheme that can be used to solve it. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2013-07-30T15:30:06.697" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="18506" PostTypeId="2" ParentId="18487" CreationDate="2013-07-30T16:04:22.623" Score="7" Body="&lt;p&gt;Juntas can be &lt;em&gt;tested&lt;/em&gt; in an attribute efficient manner given a membership query oracle: &lt;a href=&quot;http://www.cs.cmu.edu/~eblais/papers/TestingJuntas.pdf&quot;&gt;http://www.cs.cmu.edu/~eblais/papers/TestingJuntas.pdf&lt;/a&gt; Testing is an easier problem than learning, and the attribute efficient result is relatively recent. This might be a good place to start poking around. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Incidentally, the hard part about learning juntas is just identifying the set of $k$ relevant variables. Once that is done, you can learn the junta through exhaustive querying with $2^k$ queries (which might be &quot;attribute efficient&quot; since it is independent of $n$. In any case, you can't hope to do much better since the function can be arbitrary on these $k$ bits...). The testing algorithm linked to seems to work by trying to identify relevant variables, so it might solve your problem if you go through the details. &lt;/p&gt;&#xA;" OwnerUserId="25" LastEditorUserId="25" LastEditDate="2013-07-30T17:07:45.940" LastActivityDate="2013-07-30T17:07:45.940" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="18508" PostTypeId="2" ParentId="9426" CreationDate="2013-07-30T19:04:42.527" Score="5" Body="&lt;p&gt;Sipser proved that no infinite parity can be computed by an (infinite) circuit of any constant depth, which you can view as a warm-up to the result that PARITY is not in $AC^0$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are also some results and attempts at proofs of lower bounds in proof complexity using nonstandard models (some results of Ajtai and Krajicek. See esp. Krajiceks' &quot;Forcing with Random Variables and Proof Complexity,&quot; available from Cambridge Press, but also a &lt;a href=&quot;http://www.karlin.mff.cuni.cz/~krajicek/fdraft.html&quot;&gt;draft available online&lt;/a&gt;) . The basic idea is to build a nonstandard model of arithmetic in which a statement is &lt;em&gt;false&lt;/em&gt; in the model (rather than &quot;true, but without short proofs&quot;), and then, from the properties of the model, infer that a corresponding sequence of finite statements does not have polynomial-size proofs in some proof system. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm not sure, but my impression is that often these results sort of &quot;hide the asymptotics under the hood&quot; so that it's not so much a reduction from threshold to finiteness as it is a new mathematical language in which &quot;false&quot; in the new language corresponds to &quot;without short proofs&quot; in the old language. That's not to say that the new language doesn't provide a useful new viewpoint, but I'm not quite sure if it's what you're looking for.&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2013-07-30T19:04:42.527" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18510" PostTypeId="2" ParentId="18489" CreationDate="2013-07-31T02:12:34.743" Score="4" Body="&lt;p&gt;Polyhedra are widely used in program analysis as a means of representing (an overapproximation of) set of all possible states, where a state records the value of each variable in the program.  If there are a set of invariants of the program variables, each of which can be represented as a linear inequality on the variables, then conjoining all of these invariants yields a polyhedron.  If $s$ is a possible state of the program, then $s$ will be in the interior of the polyhedron (but not necessarily the reverse).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In computer security, work on quantitative information flow has applied these methods to estimate the amount of confidential information that might be leaked by a particular program.  Here we build a polyhedron representing possible states of the program at a particular point in its execution, and then we want to estimate something about the number of possible states (this is related to the amount of information released).  Thus, at a certain point in the analysis, they end up trying to count the number of integer points contained inside the polyhedron.  This smells related to volume estimation (to me).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is an early paper that is representative:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://software.imdea.org/~bkoepf/papers/oakland09.pdf&quot; rel=&quot;nofollow&quot;&gt;Automatic Discovery and Quantification of Information Leaks&lt;/a&gt;.  Michael Backes, Boris Kopf, Andrey Rybalchenko.&#xA;IEEE Security &amp;amp; Privacy 2009.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;That said, this might not be exactly what you are looking for.  It requires methods to count the number of integer points inside the polyhedron, which isn't the same as the volume of the polyhedron.  Also, I don't think they need to analyze polyhedra of dimension 1000 or higher (though I'm not sure about that).&lt;/p&gt;&#xA;" OwnerUserId="5038" LastActivityDate="2013-07-31T02:12:34.743" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="18511" PostTypeId="2" ParentId="18443" CreationDate="2013-07-31T04:14:09.517" Score="5" Body="&lt;p&gt;The reason lambda is used is because of the lambda-calculus, where λx.E (for any expression E) is used to denote the function which takes a value a and returns E[a/x], meaning &quot;the result of substituting a for x in E&quot;. Thus,&#xA;(λx.x+1)(5) = 5+1 = 6.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This however doesn't answer the question why specifically λ was chosen for this role. The answer requires a little bit of history, but if you're interested, here it is.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the Principia Mathematica, the notation &quot;ẑP(z)&quot; was introduced for &quot;the set of all z such that P(z)&quot; (which we would now write as {z:P(z)}). The notation was quite popular for a while after, and hence was the one Alonzo Church (the creator/discoverer of the λ-calculus) was familiar with.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Alonzo Church, was interested in a view of mathematics where sets were interpreted as functions from individuals to truth-values. Thus rather than writing 6 ∈ ẑ(z &gt; 5), we could just write &quot;[ẑ(z &gt; 5)](6)&quot;, which would have the same value as &quot;(6 &gt; 5)&quot;, and hence TRUE. Viewed this way, there should be no difference between an expression like &quot;ẑ(z &gt; 5)&quot; and &quot;ẑ(z+5)&quot;, as they both represent functions which can accept values. &quot;[ẑ(z + 5)](6)&quot; would then have the same value as &quot;(6+5)&quot;, which is 11.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The long and short of it is, when he first started writing papers on the formal properties of these systems, there were some difficulties with typesetting &quot;ẑ&quot;, so &quot;ẑ&quot; became &quot;^z&quot;, which then became &quot;λz&quot; for stylistic reasons.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Later, when students would ask him how he decided on the letter &quot;λ&quot;, he used to claim &quot;eenie meanie minee moe&quot;.&lt;/p&gt;&#xA;" OwnerUserId="17130" LastActivityDate="2013-07-31T04:14:09.517" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18512" PostTypeId="2" ParentId="18443" CreationDate="2013-07-31T08:31:34.850" Score="6" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;By the way, why did Church choose the notation “λ”? In [Church, 1964, §2] he stated clearly that it came from the notation “xˆ” used for class-abstraction by Whitehead and Russell, by first modifying “xˆ” to “∧x” to distinguish function- abstraction from class-abstraction, and then changing “∧” to “λ” for ease of printing. This origin was also reported in [Rosser, 1984, p.338]. On the other hand, in his later years Church told two enquirers that the choice was more accidental: a symbol was needed and “λ” just happened to be chosen.&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;-- &lt;em&gt;History of Lambda-Calculus and Combinatory logic&lt;/em&gt;, F. Cardone and J. R. Hindley, 2009&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="4155" LastActivityDate="2013-07-31T08:31:34.850" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18514" PostTypeId="2" ParentId="18489" CreationDate="2013-07-31T12:19:53.107" Score="7" Body="&lt;p&gt;Estimating the volume of a convex polytope and the closely related task of sampling from it have applications in private data release. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Roughly, the problem you want to solve is: given a collection of numeric valued queries on a database, come up with answers to those questions that are as close as possible to the real answers, while satisfying differential privacy. In some range of parameters, the optimal algorithm for solving this problem has a geometric description, and implementing it involves sampling from a convex polytope. See here: &lt;a href=&quot;http://arxiv.org/pdf/0907.3754v3.pdf&quot;&gt;http://arxiv.org/pdf/0907.3754v3.pdf&lt;/a&gt; &lt;/p&gt;&#xA;" OwnerUserId="25" LastActivityDate="2013-07-31T12:19:53.107" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18515" PostTypeId="2" ParentId="2077" CreationDate="2013-07-31T15:42:59.270" Score="3" Body="&lt;p&gt;I found an interesting and elegant solution in the paper: On the implementation of AKS class primality test, by R.Crandall and J.Papadopoulos, 18 Mar 2003.&lt;/p&gt;&#xA;" OwnerUserId="17136" LastActivityDate="2013-07-31T15:42:59.270" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18516" PostTypeId="1" AcceptedAnswerId="18525" CreationDate="2013-07-31T16:03:08.243" Score="11" ViewCount="3088" Body="&lt;p&gt;I have a few million 32-bit values. For each value, I want to find all other values within a hamming distance of 5. In the naive approach, this requires $O(N^2)$ comparisons, which I want to avoid. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I realized that if I just treated these 32-bit values as integers and sorted the list once, then values which differed only in the least significant bits ended up very close together. This allows me to have a shorter &quot;window&quot; or range of numbers within which I can perform actual pair-wise comparisons for the exact hamming distance. However, when 2 values vary only in the higher order bits, then they end up outside this &quot;window&quot; and appear in opposite ends of the sorted list. E.g. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;code&gt;11010010101001110001111001010110&lt;/code&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;code&gt;01010010101001110001111001010110&lt;/code&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;would be very far apart, even though their hamming distance is 1. Since, the hamming distance between 2 values are preserved when both are rotated, I figured that by doing 32 left rotations and then sorting the list every time, it's likely that 2 values will end up close enough in the sorted list in at least one of them.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Although this approach is giving me good results, I'm struggling to formally establish the correctness of this approach. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Given that I'm looking for matching values having hamming distance $k$ or less, do I really need to do all 32 bit rotations? For e.g. if $k=1$ and my window size is 1000, I need to do at max 24 bit rotations because even if the stray bit appeared in any of the 8 lower order bits, the resulting numbers won't differ by more than 1000.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="17137" LastEditorUserId="5038" LastEditDate="2013-08-02T06:05:23.440" LastActivityDate="2013-08-02T06:05:23.440" Title="Find all pairs of values that are close under Hamming distance" Tags="&lt;ds.algorithms&gt;&lt;co.combinatorics&gt;&lt;approximation-algorithms&gt;" AnswerCount="2" CommentCount="9" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="18517" PostTypeId="1" AcceptedAnswerId="18521" CreationDate="2013-07-31T17:25:43.660" Score="16" ViewCount="477" Body="&lt;p&gt;Any &lt;a href=&quot;http://en.wikipedia.org/wiki/Planar_graph&quot;&gt;planar&lt;/a&gt;, respectively, &lt;a href=&quot;http://en.wikipedia.org/wiki/Outerplanar_graph&quot;&gt;outerplanar graph&lt;/a&gt; $G=(V,E)$ satisfies $|E'|\le 3|V'|-6$,&lt;br&gt;&#xA;respectively, $|E'|\le 2|V'|-3$, for every subgraph $G'=(V',E')$ of $G$.&lt;br&gt;&#xA;Also, (outer-)planar graphs can be recognized in polynomial time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is known about graphs $G=(V,E)$ such that $|E'|\le 3|V'|-6$&#xA;(resp. $|E'|\le 2|V'|-3$) for every subgraph $G'=(V',E')$ of $G$? Is it possible to&#xA;recognize them in polynomial time?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit&lt;/strong&gt; (after Eppstein's nice answer): Any planar graph $G=(V,E)$ satisfies $|E'|\le 3|V'|-6$ for every subgraph $G'=(V',E')$ of $G$ &lt;em&gt;with at least three vertices&lt;/em&gt; $|V'|\ge 3$. So, &quot;generalized planar graphs&quot; would be those satisfying this property, and recognizing them in polynomial time seems to be an (interesting) open question. &lt;/p&gt;&#xA;" OwnerUserId="16130" LastEditorUserId="13136" LastEditDate="2013-08-03T19:28:29.697" LastActivityDate="2013-08-03T19:28:29.697" Title="About generalized planar graphs and generalized outerplanar graphs" Tags="&lt;reference-request&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;" AnswerCount="2" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18518" PostTypeId="1" CreationDate="2013-07-31T18:11:16.160" Score="7" ViewCount="927" Body="&lt;p&gt;What bounds (lower or upper) are known about the complexity of partitioning a &lt;a href=&quot;http://en.wikipedia.org/wiki/Directed_acyclic_graph&quot; rel=&quot;nofollow&quot;&gt;Directly Acyclic Graph&lt;/a&gt; (DAG) into paths of respective sizes $n_1,\ldots,n_w$, such that to minimize their entropy $n{\cal H}(n_1,\ldots,n_w)= n\lg n - \sum_{i=1}^w n_i \lg n_i$?&lt;/p&gt;&#xA;&#xA;&lt;h3&gt;Motivation&lt;/h3&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://www.academia.edu/2845803/Sorting_and_selection_in_posets&quot; rel=&quot;nofollow&quot;&gt;Daskalakis et al.&lt;/a&gt; represent a &lt;a href=&quot;http://en.wikipedia.org/wiki/Partially_ordered_set&quot; rel=&quot;nofollow&quot;&gt;Partially Ordered Set&lt;/a&gt; (poset) $P$ of &lt;a href=&quot;http://planetmath.org/posetheightandwidth&quot; rel=&quot;nofollow&quot;&gt;width&lt;/a&gt; $w$ by $w$ chains and pointers of length $\lg n$ bits each between them. A partition such as the one described above would yield a smaller encoding of some posets?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://link.springer.com/chapter/10.1007%2F978-3-642-25591-5_32&quot; rel=&quot;nofollow&quot;&gt;Farzan and Fischer&lt;/a&gt; presented a data-structure for posets, compressed into space depending on $n$ and $w$ and supporting many operators in constant time, inspired from the one from  &lt;a href=&quot;http://www.academia.edu/2845803/Sorting_and_selection_in_posets&quot; rel=&quot;nofollow&quot;&gt;Daskalakis et al.&lt;/a&gt;. Plugging in a nice partitioning algorithm for DAGs would yield a data structure compressed into space depending on $n$ and the entropy of the poset (a finer measure than $w$).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="191" LastEditorUserId="191" LastEditDate="2013-08-22T09:41:40.240" LastActivityDate="2013-08-22T09:41:40.240" Title="Partitioning DAG into Paths" Tags="&lt;directed-acyclic-graph&gt;&lt;partition-problem&gt;&lt;shannon-entropy&gt;" AnswerCount="0" CommentCount="5" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="18519" PostTypeId="2" ParentId="17350" CreationDate="2013-07-31T19:02:40.737" Score="1" Body="&lt;p&gt;To answer your question, I'd say Asymptotically &quot;good&quot; codes, as defined by the Coding Theory community, are those that can achieve arbitrarily very low probability of incorrect decoding, when decoded OPTIMALLY(which is an NP complete problem) with any value of &lt;code&gt;R&lt;/code&gt;(as defined in the question) below the &lt;code&gt;Capacity&lt;/code&gt;(as defined by Shannon). This was a definition accepted when MacKay wrote his first paper which gave to the re-birth of Low Density parity Check codes. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The ones that are &quot;Very Good&quot; are those that can achieve the same even at Capacity. MacKay further shows that there can be code constructions that can come very close to the &quot;Very Good&quot; codes even if not decoded optimally i.e. using Iterative Decoding or Message Passsing. Under this class fall all the Modern Codes, the answer to your question:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Low Density Parity Check Codes(LDPC, originally invented by Robert Gallagher in 1963)&lt;/li&gt;&#xA;&lt;li&gt;Tornado Codes&lt;/li&gt;&#xA;&lt;li&gt;Fountain Codes&lt;/li&gt;&#xA;&lt;li&gt;Luby Transform Codes&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;and all the sorts. Basically all of these are interrelated. Most of them are just codes on Graphs. Almost all Modern Codes(Modern codes revolution started with Turbo Codes) fall under the answer to your question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Turbo Codes is one pretty good exception because it is not a code on Graphs yet it achieves performance very close to Capacity. You can look up all the papers of all these Codes and I'm sure I'd have left out a few of them which may have been discovered but not have become practical because there is one very important criterion for anything to be useful:&#xA;*&lt;em&gt;Encoding and Decoding algorithms should be Linear in time.&lt;/em&gt;&lt;/p&gt;&#xA;" OwnerUserId="17139" LastActivityDate="2013-07-31T19:02:40.737" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="18520" PostTypeId="2" ParentId="17350" CreationDate="2013-07-31T21:16:17.730" Score="3" Body="&lt;p&gt;Usually the question is interesting for constant alphabet sizes, since otherwise Reed-Solomon codes obviously achieve the Singleton bound.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For constant (but still large) alphabet sizes, there are explicit codes that &quot;approximately&quot; achieve the Singleton bound, and are thus also asymptotically good. See&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Venkatesan Guruswami and Piotr Indyk. Linear time encodable and list decodable codes Proceedings of STOC 2003.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also there are several flavors of Expander and Concatenated Codes (rather than the famous constructions) that are asymptotically good. For example see&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&quot;Construction of asymptotically good low-rate error-correcting codes through pseudo-random graphs&quot; by Alon et al.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also there are more sophisticated &quot;concatenated-like&quot; constructions that achieve much more than asymptotic-goodness, for example:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;V. Guruswami and A. Smith. Codes for Computationally Simple Channels: Explicit Constructions with Optimal Rate, FOCS 2010.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, any construction of codes for stochastic errors (that is, the channel BSC(p)) that achieves constant rate and exponentially small error must be asymptotically good. However, I'm not aware of any such explicit constructions other than concatenated codes (Forney/Justesen and similar variations).&lt;/p&gt;&#xA;" OwnerUserId="6190" LastActivityDate="2013-07-31T21:16:17.730" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18521" PostTypeId="2" ParentId="18517" CreationDate="2013-08-01T00:23:30.453" Score="16" Body="&lt;p&gt;In the notation of Lee and Streinu (citation below) the second class you list are the (2,3)-sparse graphs. They give an algorithm to test whether a graph is (k,l)-sparse in polynomial time. However, the situation with planar graphs and $|E'|\le 3|V'|-6$ is a little more complicated, because that inequality is not true for all sets of vertices (if it were true, no two vertices could be connected by an edge, because $3\cdot 2-6=0$). So the class of (3,6)-sparse graphs (in their notation) consists only of empty graphs.  Probably their algorithms can be extended to graphs for which the inequality holds for all sets of more than two vertices.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Lee, Audrey; Streinu, Ileana (2008), &quot;Pebble game algorithms and sparse graphs&quot;, Discrete Mathematics 308 (8): 1425–1437, &lt;a href=&quot;http://dx.doi.org/10.1016/j.disc.2007.07.104&quot;&gt;doi:10.1016/j.disc.2007.07.104&lt;/a&gt;, &lt;a href=&quot;http://arxiv.org/abs/math/0702129&quot;&gt;arxiv:math/0702129&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="95" LastEditorUserId="95" LastEditDate="2013-08-01T00:31:55.440" LastActivityDate="2013-08-01T00:31:55.440" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18522" PostTypeId="1" AcceptedAnswerId="18553" CreationDate="2013-08-01T01:08:49.373" Score="4" ViewCount="564" Body="&lt;p&gt;I am an undergraduate student of Computer Science and am very interested in learning the theoretical part of it all.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Unfortunately, none of the subjects we have in our UG program give us an insight of theoretical part of Computer Science.&#xA;We do have the subjects &lt;em&gt;Automata&lt;/em&gt; and &lt;em&gt;Graph Theory&lt;/em&gt;, but our syllabus is very limited.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have been looking for resources to learn the theory of computer science from the base up, for quite some time now.&#xA;I have already tried reading papers, completed MOOCs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Somehow, I am always dissatisfied with the material. It is either too complicated (I don't even understand the notation used) or too trivial (teaching bits and bytes).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Could someone please provide me with some resources to learn theoretical computer science.&#xA;If possible, sort it in the order in which I should read it, so that the majority of prerequisites of the nth entry in the list, are covered in the preceding n-1 entries.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Please keep in mind:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;I am really interested in learning it.&lt;/li&gt;&#xA;&lt;li&gt;I have a decent background in programming, and have worked with several programming languages.&lt;/li&gt;&#xA;&lt;li&gt;This is not a &lt;em&gt;What videos/papers/books should everyone watch/read&lt;/em&gt; question. I am simply looking for some introductory resources, which are neither too obvious, nor too complicated.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I have had 3 semesters of College level Maths.&#xA;Also, I have studied the material provided by ocw.mit.edu, for the courses: &lt;em&gt;18.03&lt;/em&gt;, &lt;em&gt;18.062J&lt;/em&gt; and &lt;em&gt;18.400J&lt;/em&gt; mentioned at &lt;a href=&quot;http://math.mit.edu/academics/undergrad/major/course18C/&quot; rel=&quot;nofollow&quot;&gt;http://math.mit.edu/academics/undergrad/major/course18C/&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks a lot.&lt;/p&gt;&#xA;" OwnerUserId="17138" LastEditorUserId="4896" LastEditDate="2013-08-03T22:36:24.017" LastActivityDate="2013-08-05T06:07:27.617" Title="Looking for learning resources" Tags="&lt;advice-request&gt;" AnswerCount="1" CommentCount="17" FavoriteCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="18523" PostTypeId="1" CreationDate="2013-08-01T07:44:40.203" Score="5" ViewCount="264" Body="&lt;p&gt;Say that we have $k$ sets, each with cardinality $N$, where the elements in each set are taken at random from $M \ge N$ possible ones. The elements in each set are known to be distinct.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is the probability that $j$ ($j=1,...,M$) elements appear at least once in the (union of the) sets?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We know that for $j = N$ the probability is $1$. For $j &amp;gt; N$ I wanted to use the binomial distribution, but the parameter $p$ should be conditioned somehow on the number of elements that already appear in the sets. Should I use some recursive formula for this?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit&lt;/strong&gt;:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(1) This maybe also be formulated as the famous balls in bins problem, with the twist that the balls are thrown $N$ at a time to $M$ bins, where it is known that each group of $N$ balls falls into &lt;strong&gt;distinct&lt;/strong&gt; $N$ bins.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(2) Another option to see this is as the (extended) Coupon Collector's Problem, who acquires $N$ (instead of $1$) distinct coupons at a time, from a set of $M$ distinct coupons. Denoting by $W_t(j)$ the probability that he acquired $j$ distinct coupons at time $t$, my questions is what is the probability distribution of $W_t(j)$, for $j=N,N+1,...,M$, for each time (or set in the original formulation) $t=1,2,...,k$. I saw something relevant here:&#xA;&lt;a href=&quot;https://math.stackexchange.com/questions/100175/probability-of-non-empty-bins-after-randomly-inserting-balls-by-pairs&quot;&gt;https://math.stackexchange.com/questions/100175/probability-of-non-empty-bins-after-randomly-inserting-balls-by-pairs&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="17147" LastEditorUserId="-1" LastEditDate="2017-04-13T12:19:19.363" LastActivityDate="2019-02-18T23:35:19.240" Title="Probability for an element to appear in at least one set" Tags="&lt;pr.probability&gt;&lt;combinatorics&gt;" AnswerCount="3" CommentCount="6" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18525" PostTypeId="2" ParentId="18516" CreationDate="2013-08-01T11:23:21.190" Score="9" Body="&lt;p&gt;As stated, your approach is problematic, because if 2 bitmaps have evenly spaced differences then in any rotation, there will be differences on some high order bits.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can generalized your approach by permuting the bit position in a more complex fashion. Indeed, if you select a random permutation of bits, then all differences between 2 bitmaps with distance $5$ will appear in the 16 low-order bits with probability better than $1/50$. So repeating a few hundred times you should find a very large proportion of your bitmap pairs. For each trial, the number of pairs to test (with the same 16 high bits) is close to $64\cdot N$ (for $N\approx 2^{22}$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, I would also try the following approach. Built a list of your bitmaps modified in at most 2 bit positions and sort this list. If there are collisions within this list, you have two bitmaps within distance $4$. Then enumerate all values of your initial bitmaps modified three positions and search them in the list to find pairs of bitmaps at distance $5$.&#xA;The memory cost of this approach requires storing $529\cdot N$ elements and the number of elements to search in the second phase is $4960\cdot N$.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Additional information:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;The probability that $5$ differences are located in the $16$ low&#xA;order bit after a random permutation of the $32$ bit-positions is&#xA;just a quotient of two binomials:&#xA;$$ \frac{\binom{16}{5}}{\binom{32}{5}}\approx 0.0217&#xA;$$&lt;/li&gt;&#xA;&lt;li&gt;Construction of the lists, for each element in the original list, put in the augmented list: the element itself, all elements differing in one position and all elements differing in two positions (keeping the information about the original element). The number of copies for each element is $1+32+\binom{32}{2}=529.$ Any collision within this list (detected after sort) corresponds to two original element at distance at most $4$. Note that each pair can be detected several times so you will need to remove duplicates (but this was already the case with your initial algorithm).&lt;/li&gt;&#xA;&lt;li&gt;For the final pass, it is preferable to prune the augmented list of elements to keep only those at exact distance $2$ from their original element. Then, for each original element, create the $\binom{32}{3}=4960$ elements at distance $3$ and search them within the augmented list. Once again, you need to remove duplicates since each pair is going to be detected $\binom{5}{3}=10$ times. [With extra care, you can probably anticipate/avoid most duplicates but I am not sure whether it is worth the effort.]&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="16867" LastEditorUserId="16867" LastEditDate="2013-08-01T16:57:33.873" LastActivityDate="2013-08-01T16:57:33.873" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="18528" PostTypeId="1" AcceptedAnswerId="18529" CreationDate="2013-08-01T17:41:02.707" Score="11" ViewCount="226" Body="&lt;p&gt;There are by now mountains of results on separators in graphs, from planar separator, tree separator, bounded tree width graphs, bounded genus graphs, etc, etc, etc. Is there any good updated survey about this, and their applications?&lt;/p&gt;&#xA;" OwnerUserId="9594" LastEditorUserId="80" LastEditDate="2013-08-01T18:33:30.653" LastActivityDate="2013-08-01T20:09:36.747" Title="A survey on separators?" Tags="&lt;reference-request&gt;&lt;graph-algorithms&gt;&lt;survey&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="18529" PostTypeId="2" ParentId="18528" CreationDate="2013-08-01T20:09:36.747" Score="7" Body="&lt;p&gt;Not exactly the most recent (published in 2001), but the text by Arnold L. Rosenberg, Lenwood S. Heath, &quot;Graph Separators, with Applications&quot; may be a good place to look. The Google book link is provided here:&#xA;&lt;a href=&quot;http://books.google.ca/books/about/Graph_Separators_with_Applications.html?id=7DNKE5ZiNZYC&amp;amp;redir_esc=y&quot;&gt;http://books.google.ca/books/about/Graph_Separators_with_Applications.html?id=7DNKE5ZiNZYC&amp;amp;redir_esc=y&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="878" LastActivityDate="2013-08-01T20:09:36.747" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18530" PostTypeId="2" ParentId="18516" CreationDate="2013-08-01T22:29:41.033" Score="5" Body="&lt;p&gt;minar's answer is excellent and is probably the right approach for this particular problem.  However, I'll mention one more possible approach:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You could use a &lt;a href=&quot;https://en.wikipedia.org/wiki/Locality-sensitive_hashing&quot;&gt;locality-sensitive hash function&lt;/a&gt; (LSH).  A locality-sensitive hash function $H$ is designed so that if $x,y$ are close in Hamming distance, then $H(x)=H(y)$.  If you have such a hash $H$, then you can store all your values into a hash table (using hash function $H$ and open hashing), and then you'll very quickly be able to find all pairs of values that are close in Hamming distance.  There are various techniques for constructing a LSH; you can look at references on this topic to find several candidates.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;That said, for your particular problem (with the specific parameters you mentioned), I expect minar's two algorithms will prove to be better in practice than any LSH-based scheme.  I mention this only in case other readers come here to this question with a similar problem, but with different parameters where LSH might make more sense.&lt;/p&gt;&#xA;" OwnerUserId="5038" LastActivityDate="2013-08-01T22:29:41.033" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18531" PostTypeId="2" ParentId="18523" CreationDate="2013-08-01T23:56:06.243" Score="2" Body="&lt;p&gt;For very crude bounds, you could use Chebyshev's inequality.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $x$ denote one (fixed) value from the set of $M$ possibilities.  The probability that $x$ appears at least once in the union of the sets is something like&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$p = 1 - \left({{M-1 \choose N} \over {M \choose N}}\right)^k.$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now if we let the random variable $X$ denote the number of elements that appear at least once in the union of the sets, we can use linearity of expectation to get that $\mathbb{E}[X] = Mp$.  You should be able to compute $\text{Var}[X]$ using similar methods.  Then, you should be able to use Chebyshev's inequality to bound the probability that $X$ is far away from its expected value.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This will give a pretty weak bound, so it's unlikely that this is the best approach.  Hopefully others will suggest better methods.&lt;/p&gt;&#xA;" OwnerUserId="5038" LastEditorUserId="5038" LastEditDate="2013-08-02T00:04:44.897" LastActivityDate="2013-08-02T00:04:44.897" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18533" PostTypeId="1" CreationDate="2013-08-02T09:26:23.070" Score="17" ViewCount="1141" Body="&lt;p&gt;Consider this problem: Find a tiling of an $m \times n$ rectangle by minimum number of integer-sided squares.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there any polynomial time (in $m$ and $n$) algorithm to do this? What is the best known algorithm?&lt;/p&gt;&#xA;" OwnerUserId="3495" LastActivityDate="2013-11-24T13:05:14.267" Title="Tiling a rectangle with the fewest squares" Tags="&lt;ds.algorithms&gt;&lt;co.combinatorics&gt;" AnswerCount="0" CommentCount="10" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="18534" PostTypeId="1" CreationDate="2013-08-02T11:26:13.530" Score="3" ViewCount="91" Body="&lt;p&gt;(I tried to ask at &lt;a href=&quot;https://stackoverflow.com/questions/18014624/constant-time-search&quot;&gt;SO&lt;/a&gt; but maybe this has more to do with the CS theory.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose I have a rod which I cut to pieces. Given a point on the original rod, is there a way to find out which piece it belongs to, in constant time?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;  |------------------|---------|---------------|&#xA;  0.0                4.5       7.853293843     9.123&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Given a position:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;                                   ^&#xA;                                   |&#xA;                                   8.005&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;I would like to get &lt;code&gt;3rd piece&lt;/code&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is possible to easily get such answer in O(log n) time with binary search but is it possible to do it in O(1)? If I pre-process the &quot;cut&quot; positions somehow? Perhaps there is a data structure which could help to speed the search up?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;PS: Is there a name for such problem? I know &quot;rod cutting&quot; refers to a slightly different problem...&lt;/p&gt;&#xA;" OwnerUserId="7219" LastEditorUserId="-1" LastEditDate="2017-05-23T12:40:09.333" LastActivityDate="2013-08-02T11:26:13.530" Title="Constant time search for rod segment" Tags="&lt;ds.algorithms&gt;&lt;time-complexity&gt;&lt;search-problem&gt;" AnswerCount="0" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="18535" PostTypeId="1" AcceptedAnswerId="18542" CreationDate="2013-08-02T12:18:37.460" Score="1" ViewCount="814" Body="&lt;p&gt;I want to try and write code for a BK tree using a certain edit distance that accounts for transpositions for a spell corrector. I've looked into Damerau-Levenshtein distance, but the triangle inequality required for a BK tree does not hold. Any suggestions?&lt;/p&gt;&#xA;" OwnerUserId="17159" LastActivityDate="2013-08-04T06:53:12.357" Title="Spell Checker with BK tree and edit distance that accounts for transpositions" Tags="&lt;ds.algorithms&gt;&lt;tree&gt;&lt;edit-distance&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18537" PostTypeId="1" CreationDate="2013-08-02T19:56:42.747" Score="1" ViewCount="718" Body="&lt;p&gt;If I need to find a shortest road (not great-circle) route between ~11,000 real world lat, long coordinates within a reasonable period of time. To further complicate things, there is no necessary starting point (however starting on one of the points at the edge would be beneficial), and the route shouldn't return to the initial location.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Clearly it is impractical to poll an online api with 11,000^2 requests for the distance between every point. &lt;a href=&quot;https://developers.google.com/maps/documentation/distancematrix/#Limits&quot; rel=&quot;nofollow&quot;&gt;Google maps&lt;/a&gt; is limited to 1000 objects per day (Presumably 2 objects required per distance) as a casual user, and 100,000 as a business user. &lt;a href=&quot;http://www.microsoft.com/maps/product/terms.html&quot; rel=&quot;nofollow&quot;&gt;Bing maps&lt;/a&gt; does not list a casual limit (although its likely after a point they would blacklist you), and the business limit is 100,000 requests per day.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To accomplish this using a heuristic algorithm I expect that I would need to utilise two tiers of distance using the great-circle algorithm for a cheap cost and an API request for an expensive cost. To provide greater accuracy than calculating the route using great-circle and finding the accurate distance of that route.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are numerous heuristic approaches to the travelling salesman, however I have not yet found any that would support a two tier cost approach. Does anyone have experience with implementing a similar algorithm? or Suggestions of how you would implement it?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks&lt;/p&gt;&#xA;" OwnerUserId="17161" LastActivityDate="2014-07-30T05:59:20.307" Title="Finding a Travelling Salesman/Vehicle Routing with cheap and expensive distances" Tags="&lt;graph-algorithms&gt;" AnswerCount="1" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="18538" PostTypeId="2" ParentId="18444" CreationDate="2013-08-03T05:44:48.907" Score="18" Body="&lt;p&gt;Perhaps most people think that $\mathsf{RNC}\subseteq \mathsf{DSPACE(polylog)}$ (or even that $\mathsf{RNC}=\mathsf{NC}$), but I'm skeptical about this (see the second part of my answer, below). If $\mathsf{RNC}$ is indeed contained in $\mathsf{DSPACE(polylog)}$, then it is also contained in $\mathsf{NTIME(2^{polylog})}$ (more specifically, it is in $\mathsf{DTIME(2^{polylog})}$ by exhaustive search).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Valentine Kabanets explained to me the following (folklore) argument from his paper with Russell Impagliazzo that explains why $\mathsf{RNC} \subseteq \mathsf{NTIME(2^{polylog})}$ is unlikely.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Theorem:&lt;/strong&gt; &lt;em&gt;If $\mathsf{RNC}\subseteq \mathsf{NTIME(2^{polylog})}$, then either $\mathsf{NEXP}$ is not computable by Boolean circuits of size $o(2^n/n)$ (i.e. sub-maxsize by Shannon; irrelevant but see Lupanov for tightness), or Permanent is not computable by (division-free) arithmetic formulas over ${\mathbb Z}$ of quasipolynomial size.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Proof:&lt;/em&gt; assume $\mathsf{RNC}\subseteq \mathsf{NTIME(2^{polylog})}$. If Permanent has a quasipolynomial size formula, then we can guess and verify such a formula for Permanent using a quasipolynomial time polynomial identity tester by assumption. This places Permanent in $\mathsf{NTIME(2^{polylog})}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By Toda's theorem, $\Sigma_2$ is then also in $\mathsf{NTIME(2^{polylog})}$. By padding, the linear-exponential time version of $\Sigma_5$ is also in $\mathsf{NEXP}$. Hence the linear-exponential version of $\Sigma_5$ has a circuit of size $o(2^n/n)$ (i.e. submax). But, by a simple diagonalization argument, one can show that the linear-exponential version of $\Sigma_5$ requires max circuit size, which is a contradiction (by the way, this is a variant of a mid-level question for a graduate-level complexity course; okay, maybe proving that $\mathsf{EXPSPACE}$ requires max-size circuits is a simpler one). &lt;strong&gt;QED.&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now the unpopular direction. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;We already know that randomness read many times can do something non-obvious. An interesting example can be found in &quot;&lt;a href=&quot;http://epubs.siam.org/doi/abs/10.1137/S0097539798339041&quot;&gt;Making Nondeterminism Unambiguous&lt;/a&gt;&quot; by Reinhardt and Allender (they state it in terms of non-uniformity but in principle it is about using read-many-times randomness). Another interesting example (less directly related) is &quot;&lt;a href=&quot;http://dx.doi.org/10.1109/FOCS.2011.19&quot;&gt;Randomness Buys Depth for Approximate Counting&lt;/a&gt;&quot; by Emanuele Viola. I guess all I'm saying is that I wouldn't be surprised if the derandomization of $\mathsf{RNC}$ is not what most people would expect it to be.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(There are also a couple of other papers, like Noam Nisan's wonderful paper on read-once vs. read-many randomness, that show how to buy two-sided error with one-sided error.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By the way, understanding how to construct PRGs fooling space-bounded models of computation with multiple accesses to their input (e.g. linear lengths Bps) is also very related to this question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;-- Periklis&lt;/p&gt;&#xA;" OwnerUserId="17164" LastEditorUserId="4193" LastEditDate="2013-08-06T20:23:25.040" LastActivityDate="2013-08-06T20:23:25.040" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18539" PostTypeId="2" ParentId="18517" CreationDate="2013-08-03T14:37:18.937" Score="13" Body="&lt;p&gt;What is known about &quot;generalized outerplanar graphs&quot; or (2,3)-sparse graphs?&#xA;Some additional facts to DavidEppstein's answer:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In 1982, in &lt;a href=&quot;http://epubs.siam.org/doi/abs/10.1137/0603009&quot;&gt;this paper&lt;/a&gt;&#xA;(Corollaries 1 and 2), Lovász and Yemini characterized generalized&#xA;outerplanar graphs (in their notation, &lt;em&gt;generic independent graphs&lt;/em&gt;) as those&#xA;graphs $G$ having the property that doubling any edge of $G$ results in a graph&#xA;which is the edge-disjoint union of two forests.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Very previously, in 1970, Henneberg and Laman proved that generalized outerplanar&#xA;graphs can be recursively obtained from $K_2$ by three so-called &lt;em&gt;Henneberg moves&lt;/em&gt;&#xA;(adding a degree-1 vertex, adding a degree-2 vertex, and a certain kind of&#xA;adding a degree-3 vertex).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;These characterizations give the first polynomial recognitions for generalized&#xA;outerplanar graphs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some remarks &lt;em&gt;related&lt;/em&gt; to generalized planar graphs can be found in the last section&#xA;of &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/0166218X84900799&quot;&gt;this paper&lt;/a&gt;.&#xA;I think, characterizing and recognizing generalized planar graphs still&#xA;remain very interesting open questions.&lt;/p&gt;&#xA;" OwnerUserId="13136" LastEditorUserId="13136" LastEditDate="2013-08-03T14:44:17.113" LastActivityDate="2013-08-03T14:44:17.113" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18540" PostTypeId="2" ParentId="17914" CreationDate="2013-08-03T17:17:10.867" Score="6" Body="&lt;p&gt;Gil is asking if the GL is forgetting everything about its initial configuration in time independent of the size, when each cell &quot;disobeys&quot; the transition function independently of other cells with some small probability.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To the best of my knowledge, this is not known for the GL. It is a very interesting question though. If it can withstand the noise, then it should preserve its universality. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A quick overview of the state of the art is as follows. &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;strong&gt;Toom's rule&lt;/strong&gt; can save one bit forever faults that occur independently of each other with some small probability. &lt;/li&gt;&#xA;&lt;li&gt;It was widely believed (the positive rates conjecture) that all 1 dim CA are ergodic until &lt;strong&gt;P. Gacs&lt;/strong&gt; constructed his multi-scale CA that can simulate any other CA with moderate overhead even when subjected to the aforementioned noise. &lt;/li&gt;&#xA;&lt;li&gt;The question if &lt;strong&gt;G&lt;/strong&gt;(acs)&lt;strong&gt;K&lt;/strong&gt;(urdiumov)&lt;strong&gt;L&lt;/strong&gt;(evin) rule can save one bit forever in the presence of the above noise is still open. &lt;strong&gt;Kihong Park&lt;/strong&gt; -- a student of Gacs --- showed that it wont, when the noise is biased.&lt;/li&gt;&#xA;&lt;li&gt;When the work in 2 was published, &lt;strong&gt;M. Blum&lt;/strong&gt; asked if a TM can carry on its computation if at each step, the transition is not done according to the transition function with some small probability independently of other steps, assuming that the information stored on the tape far from the head does not decay. A positive answer was given by &lt;strong&gt;I. Capuni&lt;/strong&gt; (another student of Gacs) in 2012. &lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="8719" LastEditorUserId="8719" LastEditDate="2013-08-04T13:34:48.217" LastActivityDate="2013-08-04T13:34:48.217" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="18541" PostTypeId="2" ParentId="18537" CreationDate="2013-08-03T19:20:41.920" Score="1" Body="&lt;p&gt;Here's the first approach that occurs to me.  Build a complete graph on 11,000 vertices, and label all edges with the great-circle distance.  Apply some travelling salesman algorithm to choose the best route you can find.  Then, for every edge on that route, query the map service for the road distance and replace the label on that edge with the road distance.  Then, apply the travelling salesman algorithm again on the modified graph.  Repeat this basic process until it converges.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think the great-circle distance should be a lower-bound on the road distance, so I suspect this should be correct (in the sense that it doesn't miss out on a better solution).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One possible complication is that this might cause triangle-inequality violations, so if you are relying upon a heuristic that assumes the triangle inequality, this approach might screw things up.  I don't know; you could try it out and see.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you wanted to reduce the number of queries for the road distance even further, here's one more idea you could try.  I suspect that the smaller the great-circle distance, the closer it is to the road distance; or, in other words, I suspect the gap between the distances might be largest for points that are far away.  That's something you'd need to validate yourself.  If it is correct, then a variant of the algorithm I suggested above is: only query the map service to obtain the road distance for edges where the great-circle distance is above some threshold.  (You could even gradually reduce this threshold in each iteration of the above algorithm.)&lt;/p&gt;&#xA;" OwnerUserId="5038" LastEditorUserId="5038" LastEditDate="2013-08-03T19:40:28.747" LastActivityDate="2013-08-03T19:40:28.747" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18542" PostTypeId="2" ParentId="18535" CreationDate="2013-08-04T06:53:12.357" Score="3" Body="&lt;p&gt;Actually, the Damerau–Levenshtein distance &lt;em&gt;is&lt;/em&gt; a metric. (See, for example, §11.1 of &lt;em&gt;Encyclopedia of Distances&lt;/em&gt;, by Deza &amp;amp; Deza, Springer, 2009.) That is, it &lt;em&gt;does&lt;/em&gt; obey the triangle inequality. This can be seen quite easily if you view every possible string as a node, with the edit operations and transpositions between them as edges. The Damerau–Levenshtein distance is then a shortest-path distance between the two strings in question, and such distances (graph geodesics) are always metric (i.e., triangular): You can't take a shortcut (breaking the triangle inequality) without simultaneously discovering a shorter path (a contradiction).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem is that actually &lt;em&gt;computing&lt;/em&gt; the Damerau–Levenshtein distances is tricky, and you may see algorithms that compute something &lt;em&gt;similar&lt;/em&gt; (optimal string alignment, for example), but that don't actually find the minimal number of steps. If Damerau–Levenshtein with adjacent transpositions is OK for your application, you can use that. You'll find algorithms for computing it online (even in &lt;a href=&quot;http://en.wikipedia.org/wiki/Damerau%E2%80%93Levenshtein_distance&quot; rel=&quot;nofollow&quot;&gt;Wikipedia&lt;/a&gt;), and as long as your code computes the minimum number of steps, the triangle inequality is obeyed. (But note that, as stated, algorithms based on finding the Damerau–Levenshtein distance through optimal alignment will &lt;em&gt;not&lt;/em&gt; obey the triangle inequality, but that is because they don't really find the true Damerau–Levenshtein distance.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you want the &lt;em&gt;unrestricted&lt;/em&gt; Damerau–Levenshtein distance (without necessarily using adjacent transpositions): Fear not, there are ways of computing that as well! You could have a look at the work of &lt;a href=&quot;http://www.lemoda.net/text-fuzzy/lowrance-wagner/lowrance-wagner.pdf&quot; rel=&quot;nofollow&quot;&gt;Lowrance &amp;amp; Wagner&lt;/a&gt;, for example.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you don't want to get into the details of that, you could simply use a heuristic algorithm such as $A^*$ to compute the distance, with plain Levenshtein distance as the lower-bounding heuristic, for example. Should be efficient enough for reasonably-sized strings, and will give you the corret Damerau–Levenshtein distance. And it will work with your BK-trees.&lt;/p&gt;&#xA;" OwnerUserId="901" LastActivityDate="2013-08-04T06:53:12.357" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18549" PostTypeId="1" CreationDate="2013-08-04T13:55:15.880" Score="5" ViewCount="246" Body="&lt;p&gt; Can we consider a Haskell class as a loose signature-only-specification (denoting a theory) and an instance as an implementation (denoting a model)? In the example below the specification of the class $\mathcal{BUILDING}$ is textually smaller than the specification of the class $\mathcal{HOUSE}$, though in Haskell  $\mathcal{BUILDING}$ is a super class of  $\mathcal{HOUSE}$. Is there a Galois correspondence between a Haskell class hierarchy and  its instance hierarchy?&#xA;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;p&gt; --General Idea-- &lt;/p&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\small\mathcal{Theory}\subseteq\mathcal{Theory'}\iff\mathcal{Model'}\subseteq\mathcal{Model}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;p&gt; --A specific  example with Haskell class-to-instance relation -- &lt;/p&gt;&#xA;&lt;img src=&quot;https://i.stack.imgur.com/lQ4Wm.png&quot; width=&quot;160&quot; height=&quot;100&quot;&gt;&lt;a href=&quot;https://i.stack.imgur.com/lQ4Wm.png&quot; rel=&quot;nofollow noreferrer&quot;&gt;1&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\small\mathcal{class(BUILDING)}\subseteq_{C}\mathcal{class(HOUSE)}\iff\mathcal{instance(HOUSE)}\subseteq_{I}\mathcal{instance(BUILDING)}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;p&gt; ---------------- &lt;/p&gt;&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;&#xA;data House = House deriving Show&#xA;data Building = Building  deriving Show&#xA;&#xA;class BUILDING building where&#xA; -- specify the behavior of buildings here, if any&#xA; supportRoof :: building -&gt; String&#xA;&#xA;class BUILDING house =&gt; HOUSE house where&#xA; -- specify additional behavior of houses here, if any&#xA;  live::house -&gt; Bool&#xA;&#xA;instance BUILDING Building where&#xA;-- specify how the type Building implements the behavior of type class BUILDING&#xA;  supportRoof b = &quot;BUILDING.Building&quot;&#xA;-- A particular b which is a BUILDING.Building.particular can support a roof&#xA;&#xA;instance BUILDING House where &#xA;  supportRoof h = &quot;BUILDING.House&quot;&#xA;-- A particular h which is a BUILDING.House.particular can support a roof&#xA;&#xA;instance HOUSE House where&#xA;-- specify how the type House implements the behaviour of type class HOUSE&#xA;   live h   = if ((supportRoof h) == &quot;BUILDING.House&quot;) then True else False&#xA;-- An particular h HOUSE.House.particular can support a roof in exactly the same way as BUILDING.House.particular can.&#xA;&#xA;instance HOUSE Building where&#xA;-- specify how the type Building implements the behaviour of type class HOUSE&#xA;   live b   = if ((supportRoof b) == &quot;BUILDING.Building&quot;) then True else False&#xA;-- An particular b HOUSE.Building.particular  can support a roof in exactly the same way as BUILDING.Building.particular can.&#xA;&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;" OwnerUserId="16787" LastEditorUserId="16787" LastEditDate="2013-08-04T18:24:31.837" LastActivityDate="2013-08-04T18:24:31.837" Title="Is there a Galois correspondence between a Haskell class hierarchy and its instance hierarchy?" Tags="&lt;semantics&gt;&lt;model-theory&gt;" AnswerCount="0" CommentCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="18550" PostTypeId="1" AcceptedAnswerId="18552" CreationDate="2013-08-04T14:00:08.683" Score="0" ViewCount="106" Body="&lt;p&gt;I'm currently studying this item-based collaborative filtering algorithm on this &lt;a href=&quot;http://www.ruor.uottawa.ca/en/handle/10393/24218&quot; rel=&quot;nofollow&quot;&gt;thesis&lt;/a&gt; that I've researched and I've formulated the algorithm below based on it. I have no problem on steps 1 to 3 but in step 4 it says there: &lt;strong&gt;Set the threshold value n.&lt;/strong&gt;&lt;br&gt;&#xA;How can I determine the value of n? Is there a formula for getting the value of it? I already checked it out but there's nothing there.&lt;br&gt;&#xA;And also in Step 5: &lt;strong&gt;Select the K most similar products in M&lt;/strong&gt;. The same question, how can I compute the value of K?&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;ol&gt;&#xA;  &lt;li&gt;Retrieve all the item rated by an active user and put it to Q.&lt;/li&gt;&#xA;  &lt;li&gt;Isolate the users who have rated both the target item (i) and the items rated by the active user in Q, get the item and put it in R.&#xA;  (co-rated items)&lt;/li&gt;&#xA;  &lt;li&gt;Calculate the item similarities using the Pearson Correlation Coefficient with all the  items (j) in R.&lt;/li&gt;&#xA;  &lt;li&gt;Set the threshold value n, If the similarity of i and j is greater or equal to n, (sim(i,j) &gt;= n),  Then include it in M.&lt;/li&gt;&#xA;  &lt;li&gt;Select the K most similar products in M.&lt;/li&gt;&#xA;  &lt;li&gt;Take the weighted average of the users rating on these similar items K.&lt;/li&gt;&#xA;  &lt;/ol&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="16278" LastActivityDate="2013-08-04T22:05:19.590" Title="How to compute K and n? [Item-based Collaborative Filtering]" Tags="&lt;ds.algorithms&gt;&lt;machine-learning&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="18552" PostTypeId="2" ParentId="18550" CreationDate="2013-08-04T22:05:19.590" Score="0" Body="&lt;p&gt;My guess is that these are free parameters of the algorithm that you must set somehow.  For instance, you might evaluate different choices of these parameters on a set of training data to see which performs the best.  You could also use cross-validation or other techniques to evaluate different settings of these parameters.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that p.46 of the thesis says &quot;This threshold value is based on the predicted ratings that are achieved after running the item-based collaborative filtering algorithm.&quot;  That sounds consistent with my interpretation above.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In general, I would recommend reading the original, published, peer-reviewed research papers on algorithms for this problem.  I would expect them to generally be of relatively high quality, and to be more likely to explain the algorithm and methodology in full (or cite a source that does).&lt;/p&gt;&#xA;" OwnerUserId="5038" LastActivityDate="2013-08-04T22:05:19.590" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18553" PostTypeId="2" ParentId="18522" CreationDate="2013-08-05T06:07:27.617" Score="4" Body="&lt;p&gt;Of course, plenty of introductory resources are available and it is impossible to be objective here. So what follows is merely my biased choice.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would definitely start with reading something on algorithms and on discrete mathematics (possibly in parallel). Here, I would recommend the following books:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0262033844&quot; rel=&quot;nofollow&quot;&gt;Introduction to Algorithms, by Cormen, Leiserson, Rivest and Stein&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0201000296&quot; rel=&quot;nofollow&quot;&gt;The Design and Analysis of Computer Algorithms, by Aho, Hopcroft and Ullman&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0198570422&quot; rel=&quot;nofollow&quot;&gt;Invitation to Discrete Mathematics, by Matoušek and Nešetřil&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The first book mentioned is one of the most widely known resources on algorithms, suitable as an introductory resource. The second book is little bit older and more theoretical, however imho still valuable. The third book is (in my opinion) an excellent and readable introduction to various parts of discrete mathematics. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Later, I would recommend to focus on formal languages and automata theory. Here, my choice is the following book:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0321455363&quot; rel=&quot;nofollow&quot;&gt;Introduction to Automata Theory, Languages, and Computation, by Hopcroft Ullman and Motwani&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;You might also like to consult the Sipser's book mentioned in one of the comments.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course, if you have some background, there may not be a need for you to thoroughly study these textbooks. However, it is imho necessary to have a stable grounding in the above mentioned subjects before proceeding any further. Thus, it may be sensible for you to consult the above mentioned resources and focus on the material that you find new and/or interesting.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;After mastering these preliminaries, there are plenty of choices where to continue. In my opinion, you should definitely study some complexity theory. Here, I would recommend the following book:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0201530821&quot; rel=&quot;nofollow&quot;&gt;Computational Complexity, by Papadimitriou&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;You also might be interested in some slightly more advanced (or, let us say, intermediate) mathematical methods used in the analysis of algorithms. Here, the following resource is considered to be classic:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0201558025&quot; rel=&quot;nofollow&quot;&gt;Concrete Mathematics, by Graham, Knuth and Patashnik&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Some basics of optimization (especially linear programming) are a must for computer scientists. Here, I would recommend the following gentle introduction:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/3540306978&quot; rel=&quot;nofollow&quot;&gt;Understanding and Using Linear Programming, by Matoušek and Gärtner&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;A well written (and not very demanding) introduction to randomized algorithms is the following:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://books.google.sk/books/about/Design_and_Analysis_of_Randomized_Algori.html?id=EfuMfn8T5_oC&amp;amp;redir_esc=y&quot; rel=&quot;nofollow&quot;&gt;Design and Analysis of Randomized Algorithms, by Hromkovič&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Finally, some nice books on advanced algorithms and/or computation theory include:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0387976876&quot; rel=&quot;nofollow&quot;&gt;The Design and Analysis of Algorithms, by Kozen&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/1846282977&quot; rel=&quot;nofollow&quot;&gt;Theory of Computation, by Kozen&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/3540441344&quot; rel=&quot;nofollow&quot;&gt;Algorithmics for Hard Problems, by Hromkovič&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/3540654313&quot; rel=&quot;nofollow&quot;&gt;Complexity and Approximation, by Ausiello et al.&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0521474655&quot; rel=&quot;nofollow&quot;&gt;Randomized Algorithms, by Motwani and Raghavan&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;However, I would suggest reading these only after thoroughly mastering those mentioned above.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is not a complete list, however. Many other excellent resources are available. The selection I have made is based on my personal bias. Moreover, I have included only resources focused on the &quot;algorithmic part&quot; of theoretical computer science. That is, the selection I have made is not only incomplete, but also very narrow.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;And I have to mention that learning some more advanced math would be very helpful for you. My general advice is: the more mathematics you know, the better. It is more and more obvious that there is not any mathematics absolutely irrelevant to computer science.&lt;/p&gt;&#xA;" OwnerUserId="9762" LastActivityDate="2013-08-05T06:07:27.617" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18554" PostTypeId="1" CreationDate="2013-08-05T06:54:14.803" Score="3" ViewCount="1528" Body="&lt;p&gt;I'm looking for methods and algorithms for solving linear programming algorithms, characterized by up to 20 variables but up to thousands of constraints in a parallel way. There are several approaches for solving LP problems in a parallel way, but I wonder if there are specific methods which are efficient for such (real-world, by the way) systems.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks in advance.&lt;/p&gt;&#xA;" OwnerUserId="1796" LastActivityDate="2013-08-05T06:54:14.803" Title="Linear programming optimization problems using parallel algorithms" Tags="&lt;linear-programming&gt;&lt;convex-optimization&gt;&lt;parallel&gt;" AnswerCount="0" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="18555" PostTypeId="1" CreationDate="2013-08-05T07:42:02.903" Score="5" ViewCount="1331" Body="&lt;p&gt;Reading some papers and articles about PageRank and HITS algorithm, I've figured out that there's a problem called topic drift problem. Googling it, (since I wanted to know more about it) I only found a few articles which has mentioned it but not in detail. I'd like to know is the problem caused by the fact that these algorithms ignore web page content and only conider inlinks (PageRank) and outlinks. But how does it happen? what are researches done by far to avoid this problem?  &lt;/p&gt;&#xA;" OwnerUserId="27498" LastActivityDate="2013-09-04T18:17:14.600" Title="HITS and PageRank, topic drift problem" Tags="&lt;graph-algorithms&gt;&lt;ni.networking-internet&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18556" PostTypeId="1" CreationDate="2013-08-05T09:46:07.193" Score="11" ViewCount="246" Body="&lt;p&gt;Has this problem been studied before?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a metric undirected graph G (edge lengths satisfy triangle inequality), find a set S of vertices such that MST(G[S]) is maximized, where MST(G[S]) is the minimum spanning tree of the subgraph induced by S. Has this problem been studied before? Is it NP-hard? Thanks a lot.&lt;/p&gt;&#xA;" OwnerUserId="383" LastActivityDate="2015-12-23T17:03:00.137" Title="maximize MST(G[S]) over all induced subgraphs G[S] in a metric graph" Tags="&lt;ds.algorithms&gt;&lt;graph-algorithms&gt;&lt;np-hardness&gt;&lt;approximation-algorithms&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="18557" PostTypeId="2" ParentId="18555" CreationDate="2013-08-05T17:51:48.643" Score="3" Body="&lt;p&gt;this is a pretty good discussion in this ref p123: &lt;a href=&quot;http://press.princeton.edu/titles/8216.html&quot; rel=&quot;nofollow&quot;&gt;Google's PageRank and Beyond:&#xA;The Science of Search Engine Rankings&#xA;Amy N. Langville &amp;amp; Carl D. Meyer&lt;/a&gt;, Princeton University Press.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;A final disadvantage of HITS is the problem of topic drift. In building the neighborhood graph $N$ for a query it is possible that a very authoritative yet off-topic page be linked to a page containing the query terms. This very authoritative page can carry so much weight that it and its neighboring documents dominate the relevant ranked list returned to the user, skewing the results toward off topic documents. Henzinger and Bharat suggest a solution to the problem of topic drift, weighting the authority and hub scores of the nodes in $N$ by a measure of the relevancy of a query [26].&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;ref [26] is apparently:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;ftp://ftp.hpl.hp.com/pub/dec/SRC/publications/monika/sigir98.pdf&quot; rel=&quot;nofollow&quot;&gt;Improved Algorithms for Topic Distillation in a Hyperlinked&#xA;Environment&lt;/a&gt; Bharat, Henzinger, 21st ACM SIGIR Conference on Research and Development in Information Retrieval 1998&lt;/p&gt;&#xA;&#xA;&lt;p&gt;on p.2 they have another description/example of topic drift:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;We often find that the neighborhood graph contains documents not relevant&#xA;  to the query topic. If these nodes are well connected, the topic drift problem arises: the most highly ranked authorities and hubs tend not to&#xA;  be about the original topic. For example, when&#xA;  running the algorithm on the query &lt;code&gt;jaguar and&#xA;  car&lt;/code&gt; the computation drifted to the general topic&#xA;  &lt;code&gt;car&lt;/code&gt; and returned the home pages of different car&#xA;  manufacturers as top authorities, and lists of car&#xA;  manufacturers as the best hubs.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2013-08-05T17:51:48.643" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18558" PostTypeId="2" ParentId="18489" CreationDate="2013-08-05T18:36:32.343" Score="3" Body="&lt;p&gt;see e.g.: &lt;a href=&quot;http://www.iiitb.ac.in/csl/abstract.html?id=20&quot; rel=&quot;nofollow&quot;&gt;N-Dimensional Volume Estimation of Convex Bodies: Algorithms and Applications&lt;/a&gt; by Sharma, Prasanna, Aswal for an example/case study in economic forecasting, ie supply chain management.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Our methods can be used to quantify information content and uncertainty, in constraint regions, in a robust optimization framework. We show applications in supply chain management, under conditions of future uncertainty.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;basically the idea is that a polytope can model a &quot;future scenario&quot; of parameters of a supply chain management configuration. the &lt;em&gt;uncertainty&lt;/em&gt; (or &quot;error&quot;) in the model/estimation is taken as proportional to the volume of the polytope(s). see slides 3,4. this then allows:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;quantitative estimation of uncertainty&lt;/li&gt;&#xA;&lt;li&gt;generation of equivalent information&lt;/li&gt;&#xA;&lt;li&gt;help in what-if analysis&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2013-08-05T18:36:32.343" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="18560" PostTypeId="1" CreationDate="2013-08-06T01:21:25.213" Score="9" ViewCount="393" Body="&lt;p&gt;I am solving a problem of &quot;blending&quot; sets of overlapping images. These sets can be represented by undirected weighted graph such as this one:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/b9AKw.gif&quot; alt=&quot;7-node graph&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Each node represents an image. Overlapping images are connected by an edge. Edge weight represents overlap area size (&lt;em&gt;blending larger overlap sooner leads to better overall quality&lt;/em&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The algorithm generally removes edges. It can do it sequentially or in parallel. However, when blending occurs, the nodes merge and the graph structure changes. So parallelization is possible only on connected components that are themselves not overlapping!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Such non-overlapping components are D-B and F-E-G. We can run the blending algorithm on these components safely in parallel. The result is the following graph (merged nodes are displayed in green):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/uTXQU.gif&quot; alt=&quot;4-node graph&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now there is no further parallelization possible because any two connected components are overlapping (they have an edge directly between them).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The parallel version of the algorithm would look like this:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;1. Find connected components (no two are connected directly) and create task for each.&#xA;2. Run the tasks in parallel.&#xA;3. Update graph.&#xA;4. Until single node remains, continue with 1.&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;The tricky part is the first step: &lt;strong&gt;How to find best set of connected components?&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One way would be a greedy algorithm that simply finds the largest number of components at a given iteration.&#xA;The greedy algorithm will maximize parallelization in the beginning but at the cost of many iterations later.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The optimal solution may be bringing good amount of connected components in each iteration to maximize parallelization and minimize number of iterations at the same time (so there are two variables in the optimization).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I can't think of any optimization algorithm other than backtracking, i.e. search space of all possible evolutions and choose the one with maximum parallelization.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edge weights can be ignored, but improved version of the algorithm may take it into account as larger areas takes more time to blend (e.g. area of size 200 will take roughly twice the time to blend than two areas of size 100). Taking weights into account may lead to better strategy on selecting components (faster overall running time of the algorithm).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Do you have any clues for such optimization algorithm, that finds the best strategy of selecting parts of graph so that there is maximum parallelization and minimum number of iterations?&lt;/strong&gt;&lt;/p&gt;&#xA;" OwnerUserId="17194" LastEditorUserId="270" LastEditDate="2013-08-13T07:22:04.990" LastActivityDate="2014-01-14T15:29:57.867" Title="Finding optimal parallelization from general weighted undirected graph" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;directed-acyclic-graph&gt;&lt;parallel&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18561" PostTypeId="2" ParentId="18489" CreationDate="2013-08-06T01:35:25.830" Score="4" Body="&lt;p&gt;Hari Narayanan recentely posted a &lt;a href=&quot;http://arxiv.org/abs/1306.4060&quot; rel=&quot;nofollow&quot;&gt;paper on the arXiv&lt;/a&gt; in which he uses estimating the volume of a convex polytope to prove certain results about the Littlewood-Richardson (LR) coefficients. The LR coefficients are certain integers in representation theory that have applications in geometric complexity theory, particle physics, and many other fields (see the introduction of the above paper for more references). Again, probably not exactly what you wanted, but an interesting connection nonetheless.&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2013-08-06T01:35:25.830" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18562" PostTypeId="2" ParentId="18489" CreationDate="2013-08-06T04:28:46.573" Score="2" Body="&lt;p&gt;heres another angle turned up on some online investigation. the &lt;a href=&quot;http://en.wikipedia.org/wiki/Birkhoff_polytope&quot; rel=&quot;nofollow&quot;&gt;Birkoff polytope&lt;/a&gt; $B_n$ has many deep theoretical properties &amp;amp; relates to eg to perfect matchings on graphs, but volume calculations of it are very hard even for low $n$ eg as in this study by &lt;a href=&quot;http://www.math.binghamton.edu/dennis/Birkhoff/&quot; rel=&quot;nofollow&quot;&gt;Beck and Pixton&lt;/a&gt;. a more direct/remarkable TCS connection arises in that a relatively recent paper proposes a measure of &lt;a href=&quot;http://www.thi.informatik.uni-frankfurt.de/~jukna/ftp/graph.pdf&quot; rel=&quot;nofollow&quot;&gt;graph complexity&lt;/a&gt; based on Birkoff polytope calculations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?rep=rep1&amp;amp;type=pdf&amp;amp;doi=10.1.1.214.3184&quot; rel=&quot;nofollow&quot;&gt;Birkhoff polytopes, heat kernels and graph complexity&lt;/a&gt; by Francisco Escolano, Edwin R. Hancock, Miguel A. Lozano, 2008&lt;/p&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2013-08-06T04:28:46.573" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18564" PostTypeId="1" AcceptedAnswerId="18565" CreationDate="2013-08-06T14:19:51.787" Score="7" ViewCount="255" Body="&lt;p&gt;It the previous &lt;a href=&quot;https://cstheory.stackexchange.com/q/17016/14336&quot;&gt;question&lt;/a&gt; of mine I put a reference which shows that any $\omega$-regular language over the alphabet $\Sigma$ is a Borel subset of $\Sigma^\omega$. I am not sure whether the reference I am aware of is the first the showed this result, so I wonder whether there are other papers the contain it. Alternatively, I am also interested in textbooks that contain the proof of this fact.&lt;/p&gt;&#xA;" OwnerUserId="14336" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2013-08-06T20:22:55.210" Title="Measurability of an $\omega$-regular language" Tags="&lt;reference-request&gt;&lt;lo.logic&gt;&lt;fl.formal-languages&gt;&lt;automata-theory&gt;&lt;ho.history-overview&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18565" PostTypeId="2" ParentId="18564" CreationDate="2013-08-06T16:32:02.950" Score="14" Body="&lt;p&gt;An $\omega$-regular language is actually quite low in the Borel hierarchy (inside $\Delta_3$), a result due to &lt;/p&gt;&#xA;&#xA;&lt;p&gt;R. McNaughton, Testing and generating infinite sequences by a finite automaton, &lt;em&gt;Information and Control&lt;/em&gt; &lt;strong&gt;9&lt;/strong&gt; (1966), 521-530.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For a proof and more details, you can look at Chapter 3 of the following book&lt;/p&gt;&#xA;&#xA;&lt;p&gt;D. Perrin et J.-É. Pin, Infinite words, Pure and Applied Mathematics Vol 141, Elsevier, 2004, ISBN 0-12-532111-2.&lt;/p&gt;&#xA;" OwnerUserId="17203" LastActivityDate="2013-08-06T16:32:02.950" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="18566" PostTypeId="1" AcceptedAnswerId="18567" CreationDate="2013-08-06T20:28:50.447" Score="8" ViewCount="1773" Body="&lt;p&gt;1- what are the Consequences of ZPP=P ? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;2- I know that if the advice from Adleman's theorem could be found in polynomial time then BPP=P , and this is likely to happen (I think that there is other evidence that P=BPP). what about evidence that P=ZPP without this result ? is there any other evidences ? &lt;/p&gt;&#xA;" OwnerUserId="15858" LastEditorUserId="15858" LastEditDate="2013-08-07T00:09:13.183" LastActivityDate="2013-08-07T05:05:57.880" Title="ZPP vs. P status" Tags="&lt;cc.complexity-theory&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18567" PostTypeId="2" ParentId="18566" CreationDate="2013-08-07T05:05:57.880" Score="6" Body="&lt;p&gt;Under believable hardness assumptions, it is possible to construct pseudo-random generators that are strong enough to deduce all of the assertions P=BPP, P=RP, P=co-RP (and thus, P=ZPP). You can find the details in&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Madhu Sudan, Luca Trevisan, Salil Vadhan. Pseudorandom generators without the XOR Lemma.&lt;/p&gt;&#xA;" OwnerUserId="6190" LastActivityDate="2013-08-07T05:05:57.880" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18570" PostTypeId="1" CreationDate="2013-08-07T11:42:34.680" Score="5" ViewCount="273" Body="&lt;p&gt;A Zeno machine of order 1 is a Turing machine that uses half the time it ran its $(n-1)$th step to run its nth step, hence can run infinite steps in just 2 seconds. This is called one step of order 1.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A Zeno machine of order $n$ is a Zeno machine of order $(n-1)$ that runs infinite steps (of order $n-1$) in $2^n$ seconds first step (of order $n$), but in $2^{n-1}$ seconds second step, and in $2^{n-m}$ seconds the mth step.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, exactly what type of formal language is a Zeno machine of order $n$ capable of recognizing?&lt;/p&gt;&#xA;" OwnerUserId="17215" LastEditorUserId="32187" LastEditDate="2015-04-07T10:57:35.513" LastActivityDate="2015-04-07T10:57:35.513" Title="What language does Zeno machines recognize?" Tags="&lt;hypercomputation&gt;" AnswerCount="0" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18572" PostTypeId="1" AcceptedAnswerId="18576" CreationDate="2013-08-07T14:46:03.163" Score="9" ViewCount="662" Body="&lt;p&gt;Since both proofs make use of the diagonal argument, I’m wondering whether there is an obscure link between the existence of uncountable infinite sets and the undecidability of the halting problem. Would the halting problem be decidable if all sets were countable?&lt;/p&gt;&#xA;" OwnerUserId="13573" LastEditorUserId="4155" LastEditDate="2013-10-24T17:50:05.817" LastActivityDate="2013-10-24T17:50:05.817" Title="Is there a hidden link between the existence uncountable sets and the undecidability of the halting problem?" Tags="&lt;halting-problem&gt;" AnswerCount="1" CommentCount="9" FavoriteCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="18576" PostTypeId="2" ParentId="18572" CreationDate="2013-08-07T19:21:43.533" Score="14" Body="&lt;p&gt;It's not a hidden link but one that has been made explicit using the language of category theory and also a very natural question to ask and study. There is a fair bit of material on the subject.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/questions/10635/halting-problem-uncomputable-sets-common-mathematical-proof&quot;&gt;CS Theory question&lt;/a&gt; asking the same thing&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://math.andrej.com/2007/04/08/on-a-proof-of-cantors-theorem/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Andrej Bauer's blog post&lt;/a&gt; about fixed point theorems and Cantor's theorem.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://xxx.lanl.gov/abs/math.LO/0305282&quot; rel=&quot;nofollow noreferrer&quot;&gt;A Universal Approach to Self-Referential Paradoxes, Incompleteness and Fixed Points&lt;/a&gt;, Noson Yanofsky, 2003. Gives you a gentle introduction to Lawvere's paper, below.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://tac.mta.ca/tac/reprints/articles/15/tr15abs.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;Diagonal arguments and cartesian closed categories&lt;/a&gt;, F. William Lawvere, 2006 republication of a 1969 article making these connections precise.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://publish.uwo.ca/~jbell/General1.%20doc.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Incompleteness in a General Setting&lt;/a&gt;, John Bell, 2007&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://arxiv.org/abs/1006.0992&quot; rel=&quot;nofollow noreferrer&quot;&gt;From Lawvere to Brandenburger-Keisler: interactive forms of diagonalization and self-reference&lt;/a&gt;, Samson Abramsky and Jonathan Zvesper, 2010. Extension of the Lawvere arguments to game-theoretic impossibility results.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="4155" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2013-08-07T19:21:43.533" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18577" PostTypeId="1" CreationDate="2013-08-07T22:21:50.807" Score="2" ViewCount="193" Body="&lt;p&gt;Can someone explain to me how the concepts of states, models and worlds work together in Kripke semantics?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I've been trying to piece together how the parts work are linked together but cannot figure it out.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;From what I understand, a model $M$ consists of worlds. &#xA;Now as far as I can gather from that, states would be the same as worlds.&#xA;However, I cannot find this confirmed anywhere.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Could someone explain to me how these concepts work?&#xA;Obviously, I've googled them, but most texts are quite complicated to grasp with little experience on the subject. Even textbooks remain quite vague. &lt;/p&gt;&#xA;" OwnerUserId="16305" LastEditorUserId="5038" LastEditDate="2013-08-08T23:55:32.940" LastActivityDate="2013-08-15T11:58:38.443" Title="Explanation of states, models and worlds in Kripke semantics?" Tags="&lt;modal-logic&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18578" PostTypeId="1" CreationDate="2013-08-08T05:02:11.537" Score="-2" ViewCount="669" Body="&lt;p&gt;Where are exactly NP-complete problems if P=NP? &#xA;They will be definitely in P, but will they be P-complete?&lt;/p&gt;&#xA;" OwnerUserId="17224" LastEditorUserId="186" LastEditDate="2013-08-09T07:17:00.850" LastActivityDate="2013-08-10T08:24:43.547" Title="Where are NP-complete problems if P=NP" Tags="&lt;cc.complexity-theory&gt;&lt;np-complete&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="1" ClosedDate="2013-08-11T01:04:40.213" ContentLicense="CC BY-SA 3.0" />
  <row Id="18579" PostTypeId="2" ParentId="18577" CreationDate="2013-08-08T10:00:13.800" Score="5" Body="&lt;p&gt;Here is a sketch (massively simplifying for reasons of&#xA;pedagogy):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Setting the scence.&lt;/strong&gt; You can think of logic as a tool, an API in computing parlance,&#xA;to reason about things, where reasoning means deriving true&#xA;statements from true assumptions. The things that we reason about&#xA;using logic is called a &lt;strong&gt;model&lt;/strong&gt;.  What makes logic useful is that&#xA;this API, in particular its dominant strain called first-order&#xA;logic (of course there are other logics), is completely generic, &#xA;meaning we can use it to reason&#xA;about teddy bears, cars, bridges over rivers, stars, computation,&#xA;whatever you want. Because logic is so generic, we can build up a&#xA;generic reasoning infrastructure that can be reused in many&#xA;domains. Example include interactive theorem provers, SAT&#xA;solvers, textbooks, social conventions such as learned journals,&#xA;career structures in the sciences, conventions about when we deem to have&#xA;lost/won an argument etc. So logic is a great labour saving&#xA;device, because we don't have to reinvent these core tools again&#xA;and again for everything that we want to reason about.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Is logic all we need to reason?&lt;/strong&gt; Naturally not. Because logic is generic, we have to inject domain&#xA;specific assumptions, usually called axioms, to cater for domain specific&#xA;knowledge (e.g. ZFC or Peano arithmetic to found mathematics,&#xA;deontic axioms for reasoning about ethics etc). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;What has all of   this to do  with Kripke semantics?&lt;/strong&gt;&#xA;Often we want to reason about things that change over&#xA;time (e.g. traffic at a traffic light, concurrent processes using&#xA;shared memory communication, knowledge of observers).  We can do&#xA;this by injecting suitable axioms into first-order logic for each&#xA;domain separately.  However, just as with first-order logic, it&#xA;turns out that a lot of the axioms that we need to reason about&#xA;change are similar regardless of what changes over time.  So why&#xA;not 'factor out'    this similarity and create an API for reasoning&#xA;about change, just as we did with first-order logic as an API for&#xA;general reasoning? Let this new logic/API be called modal logic.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now we come back to the notion of model, because models are what&#xA;we reason about.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;What is this API called modal logic about?&lt;/strong&gt; Well, things that change.&#xA;Let's call them &lt;strong&gt;worlds&lt;/strong&gt;. Now ,&#xA;the worlds change into each other over time.  Would a description of &#xA;this change not be a &#xA;binary relation on the set of world? The set of worlds together with the&#xA;relation is the model.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Voila, Kripke semantics.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Warning:&lt;/strong&gt; the description above is simplistic, and terminology is&#xA;not uniform.  Moreover, for most modal logics the model must also &#xA;account for variables.&#xA;In more neutral terminology (and still simplifying), a model is a&#xA;triple $( W, R, \sigma )$ where&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;$W$ is a non-empty set&#xA;(elements of W are called nodes or worlds or points).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;$R$ is a binary relation on $W$, and is known as the&#xA;accessibility relation which regulates how 'time' flows.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;$\sigma$ is a map from variables (in the ambient logic) to the&#xA;powerset of W. The idea behind $\sigma$ is that $\sigma$&#xA;controls at what points/worlds the variables are true.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;If you want to know even more, maybe check the Wikipedia entries &#xA;on &lt;a href=&quot;https://en.wikipedia.org/wiki/Kripke_semantics&quot; rel=&quot;nofollow&quot;&gt;Kripe semantics&lt;/a&gt; or &lt;a href=&quot;https://en.wikipedia.org/wiki/Modal_logic&quot; rel=&quot;nofollow&quot;&gt;modal logic&lt;/a&gt; or any good book on &#xA;the subject such as &lt;a href=&quot;http://www.cambridge.org/us/academic/subjects/computer-science/programming-languages-and-applied-logic/modal-logic&quot; rel=&quot;nofollow&quot;&gt;Modal Logic&lt;/a&gt;, by Blackburn, de Rijke and Venema.&lt;/p&gt;&#xA;" OwnerUserId="898" LastEditorUserId="898" LastEditDate="2013-08-15T11:58:38.443" LastActivityDate="2013-08-15T11:58:38.443" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="18580" PostTypeId="2" ParentId="18578" CreationDate="2013-08-08T12:56:01.693" Score="17" Body="&lt;p&gt;Most NP-complete problems are NP-complete under LOGSPACE reductions; that is, you can take an arbitrary problem in NP, and using a LOGSPACE algorithm, reduce it to your problem. Any NP-complete problem under LOGSPACE reductions will also be P-complete under LOGSPACE reduction, even if P=NP, as you can use the same procedure to reduce a P-complete problem to your problem with a LOGSPACE reduction (since P $\in$ NP). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some problems are only NP-complete under P reductions. In this case, it is not clear whether or not they are P-complete. I don't know of any NP-complete problems which are not also known to be P-complete, but I haven't tried searching to see whether anybody has investigated this. &lt;/p&gt;&#xA;" OwnerUserId="1677" LastEditorUserId="1677" LastEditDate="2013-08-08T13:48:45.797" LastActivityDate="2013-08-08T13:48:45.797" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="18581" PostTypeId="2" ParentId="174" CreationDate="2013-08-08T13:27:25.030" Score="16" Body="&lt;p&gt;Is there an algorithm to compute the generalized star-height of a given regular language?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See &lt;a href=&quot;http://en.wikipedia.org/wiki/Generalized_star_height_problem&quot;&gt;http://en.wikipedia.org/wiki/Generalized_star_height_problem&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Generalized regular expressions are defined like regular expressions, but they allow the complement operator. The generalized star height (gsh) of a regular language is the minimum nesting depth of Kleene stars needed to represent the language by a generalized regular expression.&#xA;Regular languages of gsh 0 (also known as star-free languages) have two nice characterizations: Schützenberger gave an algebraic characterization (their syntactic monoid is aperiodic) and McNaughton showed they correspond to FO[&amp;lt;].&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It follows that there are languages of gsh $1$, like $(aa)^*$, but no language of gsh $&amp;gt; 1$ is known! Thus a subproblem would be first to find such a language, or to prove that all regular languages have gsh 1. See also&#xA;&lt;a href=&quot;http://www.liafa.univ-paris-diderot.fr/~jep/Problemes/starheight.html&quot;&gt;http://www.liafa.univ-paris-diderot.fr/~jep/Problemes/starheight.html&lt;/a&gt; &lt;/p&gt;&#xA;" OwnerUserId="17203" LastActivityDate="2013-08-08T13:27:25.030" CommentCount="2" CommunityOwnedDate="2013-08-08T13:27:25.030" ContentLicense="CC BY-SA 3.0" />
  <row Id="18582" PostTypeId="1" AcceptedAnswerId="18584" CreationDate="2013-08-08T13:55:09.303" Score="0" ViewCount="83" Body="&lt;p&gt;In the 1998 technical note &quot;Computing on data streams&quot; by Monika Rauch Henzinger , Prabhakar Raghavan , Sridar Rajagopalan (found here: &lt;a href=&quot;http://www.eecs.harvard.edu/~michaelm/E210/datastreams.pdf&quot; rel=&quot;nofollow&quot;&gt;http://www.eecs.harvard.edu/~michaelm/E210/datastreams.pdf&lt;/a&gt;)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;They define a directed multigraph with node set V1 union V2 union …&#xA;union Vk, all of whose edges are directed from a node in Vi to a node&#xA;in Vi+1.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I cannot see how this allows for disconnected components?  Can anyone clarify this?&lt;/p&gt;&#xA;" OwnerUserId="5876" LastActivityDate="2013-08-08T15:07:34.630" Title="&quot;Computing on data streams&quot; clarification" Tags="&lt;data-streams&gt;&lt;streaming&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="18583" PostTypeId="1" AcceptedAnswerId="18598" CreationDate="2013-08-08T14:49:54.220" Score="1" ViewCount="317" Body="&lt;p&gt;I'm searching for an &lt;strong&gt;authoritative definition&lt;/strong&gt; of resolution (logic resolution).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Preferably on a reference freely available on the Internet (so I can read it right now).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If this is too broad then resolution for first order logic.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thank you.&lt;/p&gt;&#xA;" OwnerUserId="6577" LastEditorUserId="6577" LastEditDate="2013-08-12T15:36:48.277" LastActivityDate="2013-08-12T15:36:48.277" Title="What is resolution ((in FOL))?" Tags="&lt;lo.logic&gt;&lt;resolution&gt;" AnswerCount="1" CommentCount="5" ClosedDate="2013-08-14T11:34:28.177" ContentLicense="CC BY-SA 3.0" />
  <row Id="18584" PostTypeId="2" ParentId="18582" CreationDate="2013-08-08T15:07:34.630" Score="1" Body="&lt;p&gt;The definition says that every edge that exists has to go from some $V_i$ to $V_{i+1}$.  It doesn't say that every possible edge from $V_i$ to $V_{i+1}$ has to be there.  For example, $V_1=\{a,b\}$, $V_2=\{c,d\}$ with edges $ac$ and $bd$ gives a disconnected graph.&lt;/p&gt;&#xA;" OwnerUserId="17082" LastActivityDate="2013-08-08T15:07:34.630" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18585" PostTypeId="1" CreationDate="2013-08-08T15:20:24.310" Score="0" ViewCount="233" Body="&lt;p&gt;Recall that a &lt;em&gt;computable real number&lt;/em&gt; is one which can be calculated to any precision, like $\pi$ or $e$. It does not matter that these numbers are irrational, computability is about being able to compute rational approximations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a computable function which outputs an (infinite) sequence of Turing machines, each of which computes a real number, and such that all real numbers are so included?&lt;/p&gt;&#xA;" OwnerUserId="17232" LastEditorUserId="705" LastEditDate="2013-08-09T10:49:27.817" LastActivityDate="2013-08-09T10:49:27.817" Title="Is there computable function to compute each computable real number?" Tags="&lt;computability&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="18587" PostTypeId="1" AcceptedAnswerId="18631" CreationDate="2013-08-08T18:28:52.920" Score="22" ViewCount="1098" Body="&lt;p&gt;Motivated by &lt;a href=&quot;https://cstheory.stackexchange.com/a/18580/495&quot;&gt;Shor's answer&lt;/a&gt; related to different notions of NP-completeness, I am looking for a problem that is NP-complete under P reductions but not known to be NP-complete under Logspace reductions (preferably for a long time). Also, Is finding Logspace reductions between NP-complete problems harder than finding P reductions?&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2013-08-14T15:12:15.113" Title="Is finding Logspace reductions harder than P reductions?" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;" AnswerCount="1" CommentCount="9" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="18589" PostTypeId="1" AcceptedAnswerId="18593" CreationDate="2013-08-09T01:10:32.777" Score="7" ViewCount="707" Body="&lt;p&gt;A little while back, I was reading a paper that mentioned a method for computing an integer 'rank' for a particular string $s \in L$ where $L$ is some regular language. This rank uniquely determines any string in the language and has the property that, for some lexicographic ordering, $s_1 &amp;lt; s_2 \implies rank(s_1) &amp;lt; rank(s_2)$. Another property is that given $rank(s_0)$ we can efficiently determine $s_0$ using an 'unrank' algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, the paper wasn't very specific and I don't know where to find a more detailed description of the algorithm. Can anyone point me in the right direction? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I remember that it involves compiling a regular expression to a DFA and giving the description of the DFA to the ranking algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks for your help.&lt;/p&gt;&#xA;" OwnerUserId="5020" LastEditorUserId="270" LastEditDate="2013-08-13T07:17:27.383" LastActivityDate="2013-08-14T01:07:48.820" Title="Algorithm for ranking members of a regular language?" Tags="&lt;fl.formal-languages&gt;&lt;automata-theory&gt;&lt;regular-language&gt;&lt;regular-expressions&gt;" AnswerCount="3" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18590" PostTypeId="2" ParentId="18589" CreationDate="2013-08-09T05:42:06.007" Score="7" Body="&lt;p&gt;This is another classical example of inductive enumeration. I assume that we are given some DFA for the language $L$ over an ordered alphabet $\Sigma$. Let's start with the easier case of words of length $n$. Using linear algebra, given a prefix $w$, we can compute efficiently $N(w,m) = |\{ x \in \Sigma^m : wx \in L\}|$. Define $N(m) = N(\epsilon,m)$ for short (this is the number of words of length $m$). We define the code $C'(w)$ of a word $w \in L$ as follows:&#xA;$$ C'(a_1\cdots a_n) = \sum_{i=1}^n \sum_{b &amp;lt; a_i} N(a_1\cdots a_{i-1} b,n-i). $$&#xA;In order to code words of arbitrary length, we simply use the formula&#xA;$$ C(w) = \sum_{n&amp;lt;|w|} N(n) + C'(w). $$&#xA;It is straightforward to compute the inverse of this encoding. This encoding deviates from your specification by ordering first according to length and only then lexicographically, but as dkuper mentions this is unavoidable if you want your range to be $\omega$ rather than a more exotic linear order.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There could be a &quot;trick&quot; which allows using simpler formulas in this particular case, but this is the basic idea.&lt;/p&gt;&#xA;" OwnerUserId="40" LastActivityDate="2013-08-09T05:42:06.007" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18591" PostTypeId="1" CreationDate="2013-08-09T06:08:30.037" Score="7" ViewCount="144" Body="&lt;p&gt;Quasi-realtime languages are defined as languages accepted by nondeterministic multitape Turing machines in quasi-real time. Ronald Book and Sheila Greibach have shown in their &lt;a href=&quot;http://link.springer.com/article/10.1007/BF01705890&quot; rel=&quot;noreferrer&quot;&gt;1970 paper&lt;/a&gt; that every quasi-realtime language can be accepted by a nondeterministic automaton having one stack and one pushdown store. However, at the time it was open if a nondeterministic automaton with two pushdown stores suffices.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since the mentioned paper is quite old and seems to have received significant attention (at least I deduce so from the number of citations), I would like to ask if there has been any progress on the above mentioned problem. In particular, has anybody proved that two pushdown stores are sufficient/insufficient? Or has anybody improved the result in some other way?&lt;/p&gt;&#xA;" OwnerUserId="9762" LastEditorUserId="109" LastEditDate="2013-08-12T08:21:41.553" LastActivityDate="2013-08-12T08:21:41.553" Title="Has a result of Book and Greibach on Quasi-Realtime languages been improved?" Tags="&lt;reference-request&gt;&lt;fl.formal-languages&gt;&lt;automata-theory&gt;" AnswerCount="0" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18592" PostTypeId="2" ParentId="18585" CreationDate="2013-08-09T10:46:34.477" Score="8" Body="&lt;p&gt;There is a real question behind the confusion.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A real number $x$ is said to be computable if there a Turing machine, which upon input $n \in \mathbb{N}$ outputs a pair of numbers $a, b \in \mathbb{N}$ such that $|x - a/b| &amp;lt; 2^{-n}$. That is, there is a machine that computes arbitrarily precise rational approximations of $x$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We can ask whether there is a machine that outputs an infinite list of machines, such that each of the listed machines computes a real number, and all computable real numbers are so included. That would be the way to make sense of the question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The answer is negative. There is no such machine. The proof is essentially the diagonalization argument that show that a sequence of reals cannot exhaust the set of reals, except it is modified to work for computable reals and computable sequences.&lt;/p&gt;&#xA;" OwnerUserId="705" LastActivityDate="2013-08-09T10:46:34.477" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="18593" PostTypeId="2" ParentId="18589" CreationDate="2013-08-09T11:08:39.767" Score="14" Body="&lt;p&gt;Let $A = \{1, ..., k\}$ be an ordered alphabet. Then each word on $A^*$ can be viewed as a number in base $k + 1$ (note that $0$ is never used on purpose). Now define&#xA;$$&#xA;rank(u) = \begin{cases}&#xA;u &amp;amp;\text{if $u \in L$} \\&#xA;0 &amp;amp;\text{otherwise}&#xA;\end{cases}&#xA;$$&#xA;Then $rank$ preserves the &lt;em&gt;shortlex&lt;/em&gt; (or &lt;em&gt;radix&lt;/em&gt;) order, which is the order $\leqslant$ on $A^*$ defined by $u \leqslant v$ if and only if $|u| &amp;lt; |v|$ or $|u| = |v|$ and $u \leqslant_{lex} v$. That is, words are first ordered by length and words of equal length are ordered according to the lexicographic order. Now, if $L$ is regular, $rank$ is easy to compute and is of course one-to-one on $L$.&lt;/p&gt;&#xA;" OwnerUserId="17203" LastActivityDate="2013-08-09T11:08:39.767" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18594" PostTypeId="1" CreationDate="2013-08-09T11:58:46.070" Score="2" ViewCount="95" Body="&lt;p&gt;It is well known that for propositional logic, the problem of constructing a model of a given formula is equivalent to deciding whether the formula has a model. Satisfiability is NP-complete, and finding a model can be done by instanciating the variables one after another and checking each time whether the formula is still satisfiable, and this problem has the same complexity.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The satisfiability problem for LTL is PSPACE-complete, but he proof involves constructing an automaton that represents the set of all models, and from this, generating a model is easy, so synthesis in this case is also PSPACE-complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is: does this relation hold for any logic ? I.e. given some logic L, if the satisfiabiliy problem for L has complexity class C, is the problem of constructing a model always also in C ? Are there logics for which the model synthesis problem is significantly more difficult than satisfiability ?&lt;/p&gt;&#xA;" OwnerUserId="17158" LastActivityDate="2013-08-09T11:58:46.070" Title="Satisfaction and synthesis of models in logics" Tags="&lt;cc.complexity-theory&gt;&lt;lo.logic&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="18595" PostTypeId="1" AcceptedAnswerId="18600" CreationDate="2013-08-09T15:16:10.333" Score="11" ViewCount="786" Body="&lt;p&gt;This recent paper from FOCS2013, &lt;a href=&quot;http://arxiv.org/abs/1204.6233&quot;&gt;Strong Backdoors to Bounded Treewidth SAT&lt;/a&gt; by Gaspers and Szeider talks about the link between the &lt;a href=&quot;http://en.wikipedia.org/wiki/Treewidth&quot;&gt;treewidth&lt;/a&gt; of the SAT clause graph and instance hardness.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;For random 3-SAT, i.e. 3-SAT instances chosen at random, what is the correlation between treewidth of the clause graph and instance hardness?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&quot;Instance hardness&quot; can be taken as &quot;hard for a typical SAT solver&quot;, i.e. running time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am looking for either theoretical or empirical style answers or references. To my knowledge, there do not seem to be empirical studies on this. I am aware there are somewhat different ways to build SAT clause graphs, but this question is not focused on the distinction.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Maybe a natural closely related question is how treewidth of the clause graph relates to the 3-SAT phase transition.&lt;/p&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="5693" LastEditDate="2013-08-10T21:21:35.100" LastActivityDate="2014-10-22T18:59:40.383" Title="What's the correlation between treewidth and instance hardness for random 3-SAT?" Tags="&lt;graph-algorithms&gt;&lt;sat&gt;&lt;treewidth&gt;&lt;random-k-sat&gt;&lt;hard-instances&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="18597" PostTypeId="1" AcceptedAnswerId="18599" CreationDate="2013-08-09T17:58:39.843" Score="-4" ViewCount="205" Body="&lt;p&gt;I am new to CS so excuse my question if it seems very rudimentary.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I just want to make sure I understand the terminology 100% correct as I go along. Is a &quot;search space&quot; the total amount of all the possible states that may lead up to a successful goal or is the &quot;search space&quot; only all the possible states reachable from the current state?&lt;/p&gt;&#xA;" OwnerUserId="9410" LastActivityDate="2013-08-09T19:07:34.953" Title="What exactly is a search space?" Tags="&lt;ai.artificial-intel&gt;&lt;search-problem&gt;" AnswerCount="1" CommentCount="1" ClosedDate="2013-09-07T20:01:55.067" ContentLicense="CC BY-SA 3.0" />
  <row Id="18598" PostTypeId="2" ParentId="18583" CreationDate="2013-08-09T18:57:48.503" Score="7" Body="&lt;p&gt;Unlike the question you threaten for inference rule, this has a nice, simple answer: &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Robinson (1965) A machine-oriented logic based on the resolution principle. &lt;em&gt;Journal of the ACM&lt;/em&gt;.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Resolution only applies to a subfragment of FOL, the Horn clauses, that lack disjunction and existential quantification, but combined with Herbrandisation, this is sufficient to encode satisfiability in the following sense: for any formula of FOL, we can find a Horn clause such that each is satisfiable if the other is.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Resolution is related to cut-elimination, but is more efficient.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Extending resolution to the whole of FOL requires a more sophistcated approach to unification than Robinson's algorithm.  Uniform provability offers a technique for reading off such a computational mechanism from a cleaned-up proof theory of intuitionistic logic, higher-order unification, and the double-negation translation.&lt;/p&gt;&#xA;" OwnerUserId="270" LastActivityDate="2013-08-09T18:57:48.503" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18599" PostTypeId="2" ParentId="18597" CreationDate="2013-08-09T19:07:34.953" Score="-1" Body="&lt;p&gt;'search space' is indeed the set of all possible states.&#xA;the set of all possible states reachable from the initial state are called 'successor functions'.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;are you teaching yourself?&lt;/p&gt;&#xA;" OwnerUserId="17242" LastActivityDate="2013-08-09T19:07:34.953" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18600" PostTypeId="2" ParentId="18595" CreationDate="2013-08-10T02:39:38.430" Score="10" Body="&lt;p&gt;Not really an answer but the closest references I am aware of. There are results available for branch-width. Also, there is at least one empirical study of treewidth of industrial instances.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://igitur-archive.library.uu.nl/math/2007-0725-201706/2005-018.pdf%E2%80%8E&quot; rel=&quot;nofollow&quot;&gt;Discovering treewidth&lt;/a&gt;, H. Bodlaender, 2005. Gives algorithms to compute bounds on treewidth.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://research.microsoft.com/pubs/145390/MSR-TR-2011-22.pdf&quot; rel=&quot;nofollow&quot;&gt;Treewidth in Industrial SAT Benchmarks&lt;/a&gt;, R. Mateescu, 2011. Uses variations of above algorithms to estimate treewidth of SAT2009 competition benchmarks.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.cs.toronto.edu/~fbacchus/publications/BDPFOCS2004.pdf&quot; rel=&quot;nofollow&quot;&gt;Algorithms and complexity results for #SAT and Bayesian inference&lt;/a&gt;, F. Bacchus S. Dalmao, T. Pitassi, 2003. Relates branch-width to complexity of #SAT, 2003.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://people.cs.uchicago.edu/~razborov/files/automat_pos.pdf%E2%80%8E&quot; rel=&quot;nofollow&quot;&gt;Satisfiability, branch-width and tseitin tautologies&lt;/a&gt;, Alekhnovich, Razborov, 2002.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="4155" LastEditorUserId="4077" LastEditDate="2014-10-21T21:30:56.010" LastActivityDate="2014-10-21T21:30:56.010" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18601" PostTypeId="1" CreationDate="2013-08-10T05:17:23.893" Score="10" ViewCount="411" Body="&lt;p&gt;I have come across many informal examples that provide a physical illustration for Brouwer's fixed point theorem (some due to Brouwer himself). &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;A person walks from the bottom of a hill to the top. The next day the person walks from the top of the hill to the bottom. If both journeys start and stop at the same time, there exists a place where the person is at the same time on both days.&lt;/li&gt;&#xA;&lt;li&gt;If a paper is crumpled and dropped onto another identical, flat sheet, then flattened, there exists a point that is directly above itself. &lt;/li&gt;&#xA;&lt;li&gt;If a floor plan of a building is taken into the building, there is always a point that can be marked &quot;You are here&quot;.&lt;/li&gt;&#xA;&lt;li&gt;Etc, etc etc.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I have seen similar illustrations for the hairy-ball theorem, and the ham-sandwich theorem. I am interested in Tarski's Fixed Point Theorem.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Theorem.&lt;/strong&gt; A monotone function on a complete lattice has a fixed point. &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Are there intuitive, physical-world examples that illustrate this theorem? &lt;/p&gt;&#xA;" OwnerUserId="4155" LastActivityDate="2013-08-10T05:17:23.893" Title="Illustrative Examples of Tarski's Fixed Point Theorems" Tags="&lt;teaching&gt;&lt;lattice&gt;&lt;order-theory&gt;" AnswerCount="0" CommentCount="5" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18603" PostTypeId="2" ParentId="18578" CreationDate="2013-08-10T08:24:43.547" Score="1" Body="&lt;p&gt;P=NP means that the two classes are the same in every possible way (because they're the same class). In particular, it means they have exactly the same set of complete problems.&lt;/p&gt;&#xA;" OwnerUserId="17082" LastActivityDate="2013-08-10T08:24:43.547" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="18604" PostTypeId="1" AcceptedAnswerId="18605" CreationDate="2013-08-10T12:58:37.000" Score="10" ViewCount="443" Body="&lt;p&gt;Is graph isomorphism (the decision problem) in $\mathsf{UP}\cap \mathsf{coUP}$? Here $\mathsf{UP}$ is the class of decision problems accepted by an unambiguous Turing machine (see the &lt;a href=&quot;https://complexityzoo.uwaterloo.ca/Complexity_Zoo:U#up&quot; rel=&quot;nofollow&quot;&gt;complexity zoo&lt;/a&gt;). &lt;/p&gt;&#xA;" OwnerUserId="15858" LastEditorUserId="1590" LastEditDate="2013-08-11T20:09:31.920" LastActivityDate="2013-08-11T20:09:31.920" Title="Is graph isomorphism in UP ${\cap}$ coUP?" Tags="&lt;cc.complexity-theory&gt;&lt;graph-isomorphism&gt;" AnswerCount="1" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="18605" PostTypeId="2" ParentId="18604" CreationDate="2013-08-10T18:44:56.203" Score="19" Body="&lt;p&gt;Graph isomorphism is not known to be in $\mathsf{UP}$ nor known to be in $\mathsf{coUP}$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For $\mathsf{UP}$: the natural nondeterministic algorithm - guess a map between the two graphs and check if it's an isomorphism - has either 0 witnesses (iff the graphs are not isomorphic) or $|\text{Aut}(G)|$ witnesses. Although most graphs have $|\text{Aut}(G)|=1$ (that is, if you pick a random graph on $n$ vertices, the probability that it has any nontrivial automorphsims goes to $0$ quite quickly with $n$), this is not enough to say that there is always at most one witness. This of course does not rule out some other algorithm that could show that graph isomorphism in $\mathsf{UP}$. (After all, it's possible that graph isomorphism is in $\mathsf{P} \subseteq \mathsf{UP}$.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As for $\mathsf{coUP}$, as pointed out by Peter Shor, we don't even known if graph isomorphism is in $\mathsf{coNP}$, so we certainly don't know if it's in $\mathsf{coUP}$. (Under a plausible derandomization assumption it is in $\mathsf{coNP}$, but I don't know any natural assumption that puts it in either $\mathsf{UP}$ or $\mathsf{coUP}$.)&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2013-08-10T18:44:56.203" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18606" PostTypeId="1" AcceptedAnswerId="18610" CreationDate="2013-08-11T13:38:16.810" Score="3" ViewCount="182" Body="&lt;p&gt;Let $\alpha(C_{n}^{\boxtimes k})$ be independence number of $k$-fold strong product of an $n$-vertex cycle graph $C_{n}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\forall n &amp;gt; 6$, is $\alpha(C_{n}^{\boxtimes (k+r)})^{\frac{1}{k+r}} \geq \alpha(C_{n}^{\boxtimes k})^{\frac{1}{k}}$ for infinitely many positive integer pairs $(k,r)$?&lt;/p&gt;&#xA;" OwnerUserId="1812" LastEditorUserId="1812" LastEditDate="2013-08-11T13:52:22.783" LastActivityDate="2013-08-11T15:33:09.007" Title="On the Shannon Capacity of Cycles" Tags="&lt;graph-theory&gt;&lt;it.information-theory&gt;" AnswerCount="1" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="18607" PostTypeId="1" CreationDate="2013-08-11T14:26:09.197" Score="14" ViewCount="504" Body="&lt;p&gt;I am reading the appendix about ACC lower bounds for NEXP in Arora and Barak's &lt;em&gt;Computational Complexity&lt;/em&gt; book.&#xA;&lt;a href=&quot;http://www.cs.princeton.edu/theory/uploads/Compbook/accnexp.pdf&quot;&gt;http://www.cs.princeton.edu/theory/uploads/Compbook/accnexp.pdf&lt;/a&gt;&#xA;One of the key lemmas is a transformation from $ACC^{0}$ circuits to multilinear polynomials over the integers with polylogarithmic degree and quasipolynomial coefficients, or equivalently, the circuit class $SYM^{+}$, which is the class of depth two circuits with quasipolynomially many AND gates at its bottom level with polylogarithmic fan-in, and a symmetric gate at the top level. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the appendix to the textbook, this transformation has three steps, assuming that the gate set consists of OR, mod $2$, mod $3$, and the constant $1$. The first step is to reduce the fan-in of the OR gates to polylogarithmic order. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Using the Valiant–Vazirani Isolation Lemma, the authors obtain that given an OR gate over $2^{k}$ inputs of the form $OR (x_{1},...,x_{2^{k}})$, , if we pick $h$ to be a pairwise independent hash function, from $[2^{k}]$ to $\{  0,1 \}$, then for any nonzero $x \in \{0,1\}^{2^{k}}$,with probability at least $1/(10k)$ it will hold that $\Sigma_{i:h (i) =1}  x_{i} \mbox{mod }  2$.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Isn't the probability of $\Sigma_{i:h (i) =1}  x_{i} \mbox{mod }  2$ at least $1/2$ ? It seems that $1/10k$ is a weak lower bound. &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The second step is moving to arithmetic gates and pushing multiplications down. In this step, we will transform Boolean circuits with a given binary input string to an arithmetic circuit with an integer input.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here they note that $OR(x_{1},...,x_{k})$ is replaced with $1-x_{1}x_{2}\cdots x_{k}$, and $MOD_{p}(x_{1},...,x_{k})$ is replaced with $(\Sigma_{i=1,...,k}  x_{i})^{p-1}$ using Fermat's Little Theorem. &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Why does this replacement give an equivalent $SYM^{+}$ circuit ?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="14065" LastEditorUserId="14065" LastEditDate="2013-08-21T10:04:55.787" LastActivityDate="2013-08-22T11:59:49.233" Title="Beigel-Tarui transformation of ACC cricuits" Tags="&lt;cc.complexity-theory&gt;&lt;co.combinatorics&gt;&lt;complexity-classes&gt;&lt;circuit-complexity&gt;&lt;boolean-functions&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="18609" PostTypeId="1" CreationDate="2013-08-11T15:16:10.807" Score="1" ViewCount="1166" Body="&lt;p&gt;I am currently reading a paper indicating that a cyclic CFG and a left-recursive CFG are different things:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;The original purpose of the LC transform is to allow&#xA;  simulation of left-corner parsing by top-down parsing,&#xA;  but it also eliminates left recursion from any noncyclic&#xA;  CFG.&#xA;  (from page 5 of &lt;a href=&quot;http://research.microsoft.com/pubs/68869/naacl2k-proc-rev.pdf&quot; rel=&quot;nofollow&quot;&gt;http://research.microsoft.com/pubs/68869/naacl2k-proc-rev.pdf&lt;/a&gt;)&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Note the second part of this quote:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;it also eliminates left recursion from any noncyclic&#xA;  CFG.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I though that a cyclic grammar and a left-recursive grammar go hand in hand? What's the difference?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks for any hint on this!&lt;/p&gt;&#xA;" OwnerUserId="17258" LastEditorUserId="270" LastEditDate="2013-08-13T07:15:28.593" LastActivityDate="2013-08-13T11:00:49.873" Title="Difference between a cyclic and a left-recursive context-free grammar?" Tags="&lt;fl.formal-languages&gt;&lt;grammars&gt;&lt;context-free&gt;&lt;recursion&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18610" PostTypeId="2" ParentId="18606" CreationDate="2013-08-11T15:33:09.007" Score="4" Body="&lt;p&gt;It is a standard fact that $\lim_{k \to \infty} \sqrt[k]{\alpha(G^k)}=\sup_{k \to \infty} \sqrt[k]{\alpha(G^k)}$ for every graph $G$. (See the proof below.)&#xA;Denoting $b_k := \sqrt[k]{\alpha(G^k)}$, this implies that the tail of the sequence $(b_k)_{k \geq 1}$ cannot be monotone decreasing, and hence there are infinitely many $k$'s for which $b_{k+1} \geq b_k$, as required.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;In order to prove that $\lim_{k \to \infty} \sqrt[k]{\alpha(G^k)}=\sup_{k \to \infty} \sqrt[k]{\alpha(G^k)}$ note that the sequence $(\alpha(G^k))_{k \geq 1}$ is super multiplicative, i.e., $\alpha(G^{k+\ell}) \geq \alpha(G^k) \alpha(G^\ell)$ for all $k,\ell \geq 1$. Indeed, if $I$ is an independent set in $G^k$, and $J$ is an independent set in $G^\ell$, then $I \times J$ is an independent set in $G^{k+\ell}$. Therefore, by (the multiplicative version of) &lt;a href=&quot;http://en.wikipedia.org/wiki/Superadditivity&quot; rel=&quot;nofollow&quot;&gt;Fekete's lemma&lt;/a&gt; it follows that $\lim_{k \to \infty} \sqrt[k]{\alpha(G^k)}=\sup_{k \to \infty} \sqrt[k]{\alpha(G^k)}$.&lt;/p&gt;&#xA;" OwnerUserId="15711" LastActivityDate="2013-08-11T15:33:09.007" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18613" PostTypeId="1" CreationDate="2013-08-11T23:53:43.857" Score="-2" ViewCount="1520" Body="&lt;p&gt;I have a directed graph that can have cycles and has weighted edges. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm having a tough time finding all the different paths you can take from a source node S with a distance less than X (sum of edge weights).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let's say my graph has a single node &quot;C&quot; which has an edge pointing to itself with a weight of 3. Let's also say that I want all paths with a distance less than 20.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then my result should be:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;C-&gt;C (Weight: 3)&lt;/li&gt;&#xA;&lt;li&gt;C-&gt;C-&gt;C (Weight: 6)&lt;/li&gt;&#xA;&lt;li&gt;C-&gt;C-&gt;C-&gt;C (Weight: 9)&lt;/li&gt;&#xA;&lt;li&gt;C-&gt;C-&gt;C-&gt;C-&gt;C (Weight: 12)&lt;/li&gt;&#xA;&lt;li&gt;C-&gt;C-&gt;C-&gt;C-&gt;C-&gt;C (Weight: 15)&lt;/li&gt;&#xA;&lt;li&gt;C-&gt;C-&gt;C-&gt;C-&gt;C-&gt;C-&gt;C (Weight: 18)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Obviously, in the real scenario I have more than a single node. I'm just trying to illustrate the problem I'm trying to solve.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm using an adjacency list as my underlying graph data structure &lt;strong&gt;(in C#)&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You don't have to show me the code, but it would be nice. Most importantly, please guide me in the right direction.&lt;/p&gt;&#xA;" OwnerUserId="17263" LastActivityDate="2013-08-12T03:12:48.057" Title="Finding all paths with weight less than N from a source node" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18614" PostTypeId="2" ParentId="18613" CreationDate="2013-08-12T03:12:48.057" Score="6" Body="&lt;p&gt;I'm not sure whether you want all paths from s to anywhere (in which case the problem is not research-level and shouldn't have been posted here) or from s to some specific destination t. In the s-t path case, try my paper&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finding the k shortest paths.&#xA;D. Eppstein.&#xA;&lt;em&gt;SIAM J. Computing&lt;/em&gt; 28(2):652-673, 1998.&#xA;&lt;a href=&quot;http://dx.doi.org/10.1137/S0097539795290477&quot;&gt;doi:10.1137/S0097539795290477&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's about a slightly different problem (its input is a count of how many paths you want rather than, as in your problem, a threshold on how long they should be) but your version is easier and can be solved in the same way. The paper describes a way of constructing an infinite tree of constant degree, each node of which represents a path, in which the parent of each node is a better path. All you have to do is a recursive traversal of this tree (e.g. depth first search) stopping and backtracking whenever it reaches a path of length greater than N.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The total time should be the time for a single pass of Dijkstra plus constant per path. (The paths are represented in an implicit way that allows them to be output in constant time each, or you could expand them and spend time proportional to their length.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I had some implementations linked from &lt;a href=&quot;http://www.ics.uci.edu/~eppstein/pubs/p-kpath.html&quot;&gt;my publication page&lt;/a&gt; but the links are old and some of them may have gone dead by now.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2013-08-12T03:12:48.057" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18618" PostTypeId="1" AcceptedAnswerId="18625" CreationDate="2013-08-12T18:13:57.250" Score="6" ViewCount="196" Body="&lt;p&gt;I am currently trying to read up on type theory and have some quick questions on terminology. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the following rule,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;\frac{x:T_1 \vdash t_2 : T_2}{\vdash \lambda x:T_1.t_2:T_1\to T_2}&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;How would you write that in English? Would the following be correct?&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;em&gt;If we have established that under the assumption that $x$ has type $T_1$, $t_2$ has type $T_2$; then we can derive that under the empty set of assumptions, $\lambda x.t_2$ has type $T_1\to T_2$.&lt;/em&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Is this just a shorthand for the following?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;\frac{\Gamma,x:T_1 \vdash t_2 : T_2}{\Gamma\vdash \lambda x:T_1.t_2:T_1\to T_2}&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Would this be read as &lt;em&gt;If we have established that under the assumptions of the type environment $\Gamma$ and the binding $x:T_1$, that $t_2$ has type $T_2$; then [$\ldots$]&lt;/em&gt;?&lt;/p&gt;&#xA;" OwnerUserId="16797" LastEditorUserId="270" LastEditDate="2013-08-13T07:27:01.633" LastActivityDate="2013-08-13T07:35:18.533" Title="Typing relations terminology – how do I read typing relations?" Tags="&lt;lo.logic&gt;&lt;type-theory&gt;&lt;terminology&gt;&lt;type-systems&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18619" PostTypeId="5" CreationDate="2013-08-12T22:36:14.827" Score="0" Body="" OwnerUserId="-1" LastEditorUserId="-1" LastEditDate="2013-08-12T22:36:14.827" LastActivityDate="2013-08-12T22:36:14.827" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18620" PostTypeId="4" CreationDate="2013-08-12T22:36:14.827" Score="0" Body="Separation of complexity classes in computational complexity theory." OwnerUserId="2367" LastEditorUserId="2367" LastEditDate="2013-08-12T22:56:43.537" LastActivityDate="2013-08-12T22:56:43.537" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18621" PostTypeId="5" CreationDate="2013-08-12T22:40:42.900" Score="0" Body="" OwnerUserId="-1" LastEditorUserId="-1" LastEditDate="2013-08-12T22:40:42.900" LastActivityDate="2013-08-12T22:40:42.900" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18622" PostTypeId="4" CreationDate="2013-08-12T22:40:42.900" Score="0" Body="Questions regarding the amount of communication needed to accomplish a &#xD;&#xA;computational task, when the information about the task is spread across &#xD;&#xA;several agents" OwnerUserId="2367" LastEditorUserId="2367" LastEditDate="2013-08-12T22:56:08.940" LastActivityDate="2013-08-12T22:56:08.940" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18623" PostTypeId="5" CreationDate="2013-08-12T22:48:27.163" Score="0" Body="" OwnerUserId="-1" LastEditorUserId="-1" LastEditDate="2013-08-12T22:48:27.163" LastActivityDate="2013-08-12T22:48:27.163" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18624" PostTypeId="4" CreationDate="2013-08-12T22:48:27.163" Score="0" Body="Questions regarding oracle machines in computational complexity theory. &#xD;&#xA;Oracles can serve as an indicator that a separation between complexity classes &#xD;&#xA;is beyond the scope of certain proof techniques." OwnerUserId="2367" LastEditorUserId="2367" LastEditDate="2013-08-12T22:56:01.753" LastActivityDate="2013-08-12T22:56:01.753" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18625" PostTypeId="2" ParentId="18618" CreationDate="2013-08-13T07:35:18.533" Score="7" Body="&lt;p&gt;The two inference rules are different, because the first requires that x:T_1 is the only assumption, while the second allows side assumptions.  This can have subtle effects of the consequence relation for the type theory prevents the type theory from modelling weakening by having as the hypothesis rule:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;\frac{}{\Gamma, x:A \vdash x:A}&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In your English gloss, I would have &lt;em&gt;under the sole assumption&lt;/em&gt;, to avoid confusion with the assumption-gobbling inference rule:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;\frac{\Gamma, x:T_1 \vdash t_2 : T_2}{\vdash \lambda x:T_1.t_2:T_1\to T_2}&#xA;$$&lt;/p&gt;&#xA;" OwnerUserId="270" LastActivityDate="2013-08-13T07:35:18.533" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18626" PostTypeId="2" ParentId="18609" CreationDate="2013-08-13T11:00:49.873" Score="4" Body="&lt;p&gt;A context-free grammar is &lt;em&gt;cyclic&lt;/em&gt; if there exists a non-terminal $A$ and a derivation in one or more steps $A\Rightarrow^+ A$.  It is &lt;em&gt;left-recursive&lt;/em&gt; if there exists a non-terminal $A$, a mixed sequence of terminals and non-terminals $\gamma$, and a derivation in one or more steps $A\Rightarrow^+ A\gamma$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hence cyclic implies left-recursive, but the converse does not hold.  Note that a cyclic grammar can have infinitely many parses for a single terminal string---that might be problematic---, while there is little interest in having cycles in the applications I know (natural language processing and programming languages syntax), thus they are usually removed.&lt;/p&gt;&#xA;" OwnerUserId="609" LastActivityDate="2013-08-13T11:00:49.873" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18627" PostTypeId="1" AcceptedAnswerId="18633" CreationDate="2013-08-13T14:36:17.977" Score="2" ViewCount="312" Body="&lt;p&gt;Let matrix $M \in \{0,1\}^{r \times s}$ ($s&amp;gt;r$), let function $f:\Bbb Z^{} \rightarrow \pm1$ and let $\alpha \in \Bbb Z \cap (0,s)$ be given. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is it NP-complete to decide if $\exists u \in \{0,1\}^{1 \times r}$ with $v=uM$: $|f(v)| = {\sum_{i=1}^{s}f(v_{i})^{}} \geq \alpha$?&lt;/p&gt;&#xA;" OwnerUserId="1812" LastEditorUserId="1812" LastEditDate="2013-08-14T12:10:22.643" LastActivityDate="2013-08-14T12:10:22.643" Title="Complexity of a linear algebra problem" Tags="&lt;np-complete&gt;" AnswerCount="1" CommentCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="18629" PostTypeId="1" CreationDate="2013-08-13T19:13:00.110" Score="1" ViewCount="118" Body="&lt;p&gt;First of all, sorry for my English.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would like to know, when I want to define a new type (I'm currently developing a computer interpreted language), how can I determine which &quot;functions&quot; are fundamental operations for a particular type, and which &quot;function&quot; are external, in the sense that, I don't need this function to define the characterization of the type?.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let me call &quot;operations&quot; to the &quot;essential functions&quot; of the type and &quot;functions&quot; to anything else that simply uses the type.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, we all agree (I suspect), that the sum, difference, product and division are good examples of &quot;operations&quot; that defines the type &lt;code&gt;integer&lt;/code&gt; for example, or &lt;code&gt;number&lt;/code&gt; in general, but an operation like &lt;code&gt;factorial&lt;/code&gt; is more a function.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The question is, in a more general or theoretical point of view, where is the line between &quot;function&quot; and &quot;operation&quot; for the intended purpose? For example, for more abstract types like domain-specifics data structures, auxiliary classes or something more difficult than a &quot;number&quot;, how or which test can I perform to say: that's a good as operation, or that's better being a function.&lt;/p&gt;&#xA;" OwnerUserId="12815" LastEditorUserId="12815" LastEditDate="2013-08-13T19:29:44.017" LastActivityDate="2013-08-14T14:42:39.653" Title="Type, operation and function, and their limits" Tags="&lt;type-systems&gt;&lt;language-design&gt;" AnswerCount="1" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="18630" PostTypeId="1" AcceptedAnswerId="18635" CreationDate="2013-08-13T22:16:08.797" Score="1" ViewCount="55" Body="&lt;p&gt;Let $C_n$ be a non-interactive &lt;em&gt;statistically-hiding&lt;/em&gt; commitment scheme, able to commit to an $n$-bit string. To commit to $m \in \{0,1\}^n$, the sender picks a random $r$ (of proper length), and sends $C_n(m ; r)$ to the receiver. To decommit, he simply reveals $m$ and $r$. We let $C_n(m)$ denote the random variable obtained by uniformly and independently picking $r$ (of proper length) and computing $C_n(m ; r)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, let $U_n$, $U_n'$, and $U_n''$ be i.i.d. random variables with uniform distribution over $\{0,1\}^n$. We assume that repeated use of a random variable results in the same sample. For example, $\langle U_n, U_n+1 \rangle$ means a pair, where we first sample $U_n$ to obtain an $n$-bit string $m$, and then let the pair be $\langle m, m+1 \rangle$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I want to prove that the following distribution ensembles are statistically indistinguishable:&#xA;$$\mathcal {X} = \{\langle U_n, C_n(U_n) \rangle\}_{n \in \mathbb{N}} \enspace,$$&#xA;$$\mathcal {Y} = \{\langle U_n', C_n(U_n'') \rangle\}_{n \in \mathbb{N}} \enspace.$$&lt;/p&gt;&#xA;" OwnerUserId="873" LastActivityDate="2013-08-14T06:07:39.700" Title="A theorem regarding statistically-hiding commitment schemes" Tags="&lt;cr.crypto-security&gt;&lt;pr.probability&gt;&lt;it.information-theory&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18631" PostTypeId="2" ParentId="18587" CreationDate="2013-08-13T23:21:35.603" Score="22" Body="&lt;p&gt;Kaveh is correct in saying that all of the &quot;natural&quot; NP-complete problems are easily seen to be complete under (uniform) $\mathrm{AC}^0$ reductions.  However, one can construct sets that are complete for NP under logspace reductions that are not complete under $\mathrm{AC}^0$ reductions.  For instance, in [Agrawal et al, Computational Complexity 10(2): 117-138 (2001)) an error-correcting encoding of SAT was shown to have this property.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As regards a &quot;likely&quot; candidate for a problem that is complete under poly-time reductions but not under logspace reductions, one can try to cook up an example of the form&#xA;{$(\phi,b)$ : $\phi$ is in SAT and $z$ is in CVP [or some other P-complete set] iff $b=1$, where $z$ is the string that results by taking every 2nd bit of $\phi$}.  Certainly the naive way to show that this set is complete will involve computing the usual reduction to SAT, and then constructing $z$ and computing the bit $b$, which is inherently poly-time.  However, with a bit of work, schemes such as this can usually be shown to be complete under logspace reductions via some non-naive reduction.  (I haven't worked out this particular example...)&lt;/p&gt;&#xA;" OwnerUserId="17282" LastEditorUserId="17082" LastEditDate="2013-08-14T15:12:15.113" LastActivityDate="2013-08-14T15:12:15.113" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18632" PostTypeId="2" ParentId="18589" CreationDate="2013-08-14T01:07:48.820" Score="7" Body="&lt;p&gt;To add to Yuval's answer, and provide references:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you want more references regarding the complexity of ranking different classes of sets, here are some places to look:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A. Goldberg and M. Sipser, Compression and ranking. SIAM J. Comput. 20 (1991), 524-536.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;L. Hemachandra and S. Rudich, On the complexity of ranking. J. Comput. System Sci. 41 (1990), 251-271.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;E. Allender,Danilo Bruschi and Giovanni Pighizzini, The complexity of computing maximal word functions, Computational Complexity 3, 1993, pp. 368-391.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are also a few minor results in a chapter in my thesis on ranking, available as the bottom-most publication on the list here: &lt;a href=&quot;http://www.cs.rutgers.edu/~allender/publications/complete_list.html&quot;&gt;http://www.cs.rutgers.edu/~allender/publications/complete_list.html&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="17282" LastActivityDate="2013-08-14T01:07:48.820" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18633" PostTypeId="2" ParentId="18627" CreationDate="2013-08-14T03:29:10.847" Score="2" Body="&lt;p&gt;Yes, it is NP-complete, by reduction from 3SAT.  In particular, we will go through an intermediate problem, which I will define as follows:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Definition.&lt;/strong&gt;  The &lt;em&gt;1-to-3 of $k$ problem&lt;/em&gt; is as follows: given $n$ sets $S_1,\dots,S_n$, decide whether there exists $y_1,\dots,y_m \in \{0,1\}$ such that $1 \le \sum_{j\in S_i} y_j \le 3$ holds for all $i$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Theorem 1.&lt;/strong&gt; The 1-to-3 of $k$ problem is at least as hard as 3SAT.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Proof:&lt;/em&gt; Suppose we have a formula $\varphi$ with $n$ clauses over $m$ variables, $x_1,\dots,x_m$.  Introduce $m'=2m$ variables, $y_1,\dots,y_m$.  The intent is that these will correspond to the $2m$ literals $x_1,\dots,x_m,\neg x_1,\dots,\neg x_m$ (e.g., $y_i=1$ if and only if $x_i=\text{True}$; $y_{m+i}=1$ if and only if $x_i=\text{False}$); we will introduce a few sets to enforce this intent.  There are $n'=n+m+\lceil m/3\rceil$ sets, as follows:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;First, there are $n$ sets, one for each clause of $\varphi$.  If $\varphi$ has the clause $(y_a\lor y_b\lor y_c)$ (where $y_a,y_b,y_c$ are three literals), then we'll add a set $S=\{a,b,c\}$ to enforce that at least one of $y_a,y_b,y_c$ must be true.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The next $m$ sets enforce that $x_i \lor \neg x_i$ is true for all $i$.  In particular, for each $i$, we add a set to enforce that at least one of $x_i, \neg x_i$ must be true, e.g., the set $S=\{i,i+m\}$ (if $y_i$ corresponds to $x_i$ and $y_{i+m}$ corresponds to $\neg x_i$).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Finally, the last $\lceil m/3 \rceil$ sets enforce that $x_i$ and $\neg x_i$ are not allowed to both be true.  We'll do this by enforcing that one, two, or three of $x_1,\neg x_1,x_2,\neg x_2,x_3,\neg x_3$ are true (e.g., the set $S=\{1,2,3,m+1,m+2,m+3\}$), and that at least one, two, or three of $x_4,\neg x_4,x_5,\neg x_5,x_6,\neg x_6$ are true (e.g., the set $S=\{4,5,6,m+4,m+5,m+6\})$, and so on.   Notice that, thanks to the previous category of sets, surely at least three of these 6 literals will be true, so asking that &quot;one, two, or three should be true&quot; amounts to asking that exactly three of them must be true -- which has the desired effect.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Finally, it is easy to see that this 1-to-3 of $k$ problem has a solution if and only if $\varphi$ has a satisfying assignment.  That completes the proof.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Theorem 2.&lt;/strong&gt; Your problem is at least as hard as the 1-to-3 of $k$ problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Proof.&lt;/em&gt; Suppose we have a 1-to-3 of $k$ problem with $s$ sets over variables $y_1,\dots,y_r$.    Define $f(0)=0$, $f(1)=1$, $f(2)=1$, $f(3)=1$, and $f(k)=0$ for all $k&amp;gt;3$.  Define the matrix $M$ based upon the sets $S_1,\dots,S_s$.  In particular, if $S_i=\{a,b,c,\dots\}$, the $i$th column of $M$ has a 1 in the $a$th, $b$th, $c$th, $\ldots$ rows and is zero elsewhere ($M_{j,i}=1$ if and only if $j \in S_i$).  Finally, set $\alpha=s$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now $|f(v)|\ge \alpha$ holds if and only if $f(v_1)=f(v_2)=\dots=f(v_s)=1$.  Thus, this choice of $f$ and setting of $\alpha$ ensures that the only way to satisfy the equation $|f(v)|\ge \alpha$ is if each $v_i$ is 1, 2, or 3.  If we focus on $v_i$, corresponding to the set $S_i=\{a,b,c,\dots\}$, then $f(v_i)=1$ if and only if $1 \le y_a+y_b+y_c+\dots \le 3$.  Therefore, this instance of your problem has a solution if and only if the original 1-to-3 of $k$ instance does.&lt;/p&gt;&#xA;" OwnerUserId="5038" LastEditorUserId="5038" LastEditDate="2013-08-14T03:59:01.170" LastActivityDate="2013-08-14T03:59:01.170" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="18635" PostTypeId="2" ParentId="18630" CreationDate="2013-08-14T06:00:41.163" Score="1" Body="&lt;p&gt;This certainly follows for $n=1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Fix any algorithm $A$ that attempts to distinguish, and let $p_{a,b} = \Pr[A(\langle a, C(b) \rangle)=1]$, where $a,b\in \{0,1\}$.  Now by the assumption that $C$ is statistically hiding, we have $p_{0,0} \approx p_{0,1}$ (for otherwise you could prepend the fixed constant 0 to any commitment and then use $A$ to break the hiding property) and we have $p_{1,0} \approx p_{1,1}$ (for a similar reason).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Expanding out the definitions, we have $\Pr[A(X)=1]=(p_{0,0}+p_{1,1})/2$ and $\Pr[A(Y)=1]=(p_{0,0}+p_{0,1}+p_{1,0}+p_{1,1})/4$ (where $X,Y$ are samples from your distributions ${\cal X},{\cal Y}$).  But from the facts above, we have $2p_{0,0} + 2p_{1,1} \approx p_{0,0} + p_{0,1} + p_{1,1} + p_{1,0}$, i.e., $\Pr[A(X)=1]\approx \Pr[A(Y)=1]$, and thus $X,Y$ are statistically indistinguishable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think from this you should be able to see how this generalizes to $n&amp;gt;1$ as well. Basically, you note that&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\Pr[A(X)=1]=1/2^n\sum_b \Pr[A(\langle b,C(b)\rangle)=1]\approx 1/2^{2n}\sum_{a,b} \Pr[A(\langle a,C(b)\rangle)=1] = \Pr[A(Y)=1],$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;using the fact that $\Pr[A(\langle a,C(b))\rangle)=1] \approx \Pr[A(\langle a,C(b')\rangle)=1]$ for all fixed $a,b,b'$ (otherwise you could distinguish $C(b)$ from $C(b')$ by simply prepending $a$ and then running $A$).&lt;/p&gt;&#xA;" OwnerUserId="5038" LastEditorUserId="5038" LastEditDate="2013-08-14T06:07:39.700" LastActivityDate="2013-08-14T06:07:39.700" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18637" PostTypeId="1" CreationDate="2013-08-14T09:58:25.210" Score="7" ViewCount="294" Body="&lt;p&gt;There is the size hierarchy theorem for non-uniform circuits.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Do we have any size hierarchy theorem for any kind of uniform circuits ?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;(By uniform here, I mean DLOGTIME uniform. But I don't know if this matters.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, do $O(n)$-size constant depth threshold circuits have less power than the ones with size $O(n^{10})$ or even super-polynomial ?&lt;/p&gt;&#xA;" OwnerUserId="12646" LastActivityDate="2013-12-17T21:09:48.263" Title="Size hierachy for uniform circuits" Tags="&lt;circuit-complexity&gt;&lt;uniformity&gt;&lt;hierarchy-theorems&gt;" AnswerCount="2" CommentCount="8" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18639" PostTypeId="1" CreationDate="2013-08-14T12:22:31.723" Score="2" ViewCount="93" Body="&lt;p&gt;Let G=(V,E) be a directed weighted graph (not necessarily a tournament) and s be a special node of G so that all nodes in G are reachable from s. The problem is to find a subgraph G'=(V,E') of G so that&#xA;(1) G' is a DAG, &#xA;(2) all nodes are reachable from s in G', and &#xA;(3) the sum of the weigh of the arcs in E' is maximal.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Has anyone seen/studied this problem?&lt;/p&gt;&#xA;" OwnerUserId="17288" LastActivityDate="2013-08-14T12:22:31.723" Title="Has anybody studied the problem of finding maximal weighted rooted spanning DAGs?" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;optimization&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="18640" PostTypeId="2" ParentId="18629" CreationDate="2013-08-14T14:42:39.653" Score="3" Body="&lt;p&gt;Depends on your definition of &quot;fundamental&quot;. As Martin said, you can do pretty much anything with the few primitives in lambda calculus, for instance, or simply anything that is Turing complete. However, would that be &lt;em&gt;useful in your problem domain&lt;/em&gt;?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I don't know the specifics of your language, but you should have some use in mind for it. Depending on its intended use, you may want to have certain operations as builtins. For instance, MATLAB is specialised to work with matrices, so it has a lot of built-in operations for them.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In summary: decide what is your language supposed to be good for, and tweak your types and operations to that effect.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are two kinds of operations that I'd make into built-ins:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;those that can't be implemented by the user of your language without breaking the intended abstraction (i.e. accessing implementation details). For instance, I'd need something to increment an integer variable by 1.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;the operations that are commonly used and that can be made much more efficient and/or convenient by taking advantage of implementation details. I could use a loop to increment something by 5, but it'd normally be much more efficient to do it in one go.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="17289" LastActivityDate="2013-08-14T14:42:39.653" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18642" PostTypeId="1" CreationDate="2013-08-14T20:31:27.303" Score="7" ViewCount="196" Body="&lt;p&gt;Let $\sigma(y_1,\dots,y_k)$ denote some boolean symmetric function on $k$ boolean inputs, $\sigma:\{0,1\}^k\to\{0,1\}$.  In $k$-SAT, an instance is a conjunction of clauses, where each clause is the logical-or of $k$ literals.  Consider replacing logical-or with $\sigma$, so that each clause contains $\sigma$ applies to $k$ literals.  In other words, $\varphi=\land_i \sigma(\ell_{i,1},\dots,\ell_{i,k})$ and each $\ell_{i,j}$ is a literal (some $x_i$ or $\neg x_i$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For which functions $\sigma$ is this NP-complete, and for which functions is this solvable in polynomial time?  Can we classify the hardness of this problem for each possible value of $\sigma$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course for $\sigma(y_1,\dots,y_k)=y_1\lor \dots \lor y_k$, we know this is hard: it is exactly $k$-SAT.  What about other functions $\sigma$?  For which $\sigma$ is it hard?  If it helps, we can characterize the function $\sigma$ by a set $S\subseteq\{0,1,2,\dots,k\}$, where $\sigma(y_1,\dots,y_k)$ is 1 if and only if $y_1+\dots+y_k\in S$; so we can ask, for which $S$ is this hard?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The variant that's probably more interesting to me: for which $\sigma$ is this hard, if we restrict all variables to appear in positive form (there are no negations in any of the literals)?  I recently learned that NAE-3SAT remains hard even with this positivity restriction, so for $S=\{1,2\}$ (i.e., $\sigma(y_1,\dots,y_k)=(\neg y_1 \land \dots \land \neg y_k)\lor (y_1\land \dots \land y_k)$) the problem is hard.  What about other choices of $\sigma$ (i.e., of $S$)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My motivation: curiousity.  This was prompted by &lt;a href=&quot;https://cstheory.stackexchange.com/q/18627/5038&quot;&gt;Complexity of a linear algebra problem&lt;/a&gt;.  There's some relationship to some variant of that problem, which arises if for some $k$, $f(x)=1$ for $x\in S$ and $f(x)=-1$ for $x\in\{0,1,2,\dots,k\}\setminus S$.  But mostly, I'm just curious.&lt;/p&gt;&#xA;" OwnerUserId="5038" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2013-08-14T20:31:27.303" Title="Generalization of SAT, where we replace OR with another symmetric function" Tags="&lt;sat&gt;&lt;np-complete&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="18643" PostTypeId="1" AcceptedAnswerId="18644" CreationDate="2013-08-14T21:07:55.567" Score="10" ViewCount="470" Body="&lt;p&gt;I heard of a result in approximate graph coloring, but cannot find the source. The result is:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For every constant $h$ there exists a sufficiently large $k$ such that coloring a $k$-colorable graph with $hk$ colors is NP-hard.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Could someone please point me to the relevant paper?&lt;/p&gt;&#xA;" OwnerUserId="7091" LastActivityDate="2014-02-24T09:06:41.873" Title="Reference Request: Asymptotic hardness of $hk$ coloring $k$-colorable graphs" Tags="&lt;reference-request&gt;&lt;approximation-hardness&gt;&lt;graph-colouring&gt;" AnswerCount="2" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18644" PostTypeId="2" ParentId="18643" CreationDate="2013-08-14T21:53:43.737" Score="11" Body="&lt;p&gt;Here are the references:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;S. Khanna, N. Linial, and S. Safra, &lt;a href=&quot;http://link.springer.com/article/10.1007/s004930070013&quot;&gt;On the hardness of approximating the chromatic number,&#xA;Combinatoria, 20 (2000), pp. 393–415.&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;C. Lund and M. Yannakakis, &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=306789&amp;amp;CFID=239309170&amp;amp;CFTOKEN=77596634&quot;&gt;On the hardness of approximating minimization problems, J.&#xA;ACM, 41 (1994), pp. 960–981.&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="6706" LastEditorUserId="6706" LastEditDate="2013-08-14T22:13:01.280" LastActivityDate="2013-08-14T22:13:01.280" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18645" PostTypeId="2" ParentId="18643" CreationDate="2013-08-15T03:46:18.197" Score="11" Body="&lt;p&gt;There are much stronger results for approximate graph coloring.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;S. Khot, &lt;a href=&quot;http://www.cs.nyu.edu/~khot/papers/maxclique.ps&quot; rel=&quot;nofollow&quot;&gt;Improved inapproximability results for maxclique, chromatic number and approximate graph coloring. &lt;/a&gt; show that for all sufficiently large constants $k$ it is NP-hard to color a $k$-colorable graph with $k^{\Omega(log k)}$ colors&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;A very recent result of S. Huang &lt;a href=&quot;http://arxiv.org/abs/1301.5216&quot; rel=&quot;nofollow&quot;&gt;Improved Hardness of Approximating Chromatic Number&lt;/a&gt; says that for all sufficiently large $k$, it is NP-hard to color a $k$-colorable graphs with $2^{k^{1/3}}$ colors.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;If you are willing to assume Unique Games conjecture (in fact $d$-to-1 conjecture), then I. Dinur, E. Mossel and O. Regev show in &lt;a href=&quot;http://www.wisdom.weizmann.ac.il/~dinuri/mypapers/DMR.pdf&quot; rel=&quot;nofollow&quot;&gt;Conditional Hardness for Approximate Coloring&lt;/a&gt; that for any $K$ it is hard to color 4-colorable graphs with $K$ colors.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;A follow-up result of I. Dinur and I.Shinkar &lt;a href=&quot;https://sites.google.com/site/igorshinkar/quantDMR.pdf&quot; rel=&quot;nofollow&quot;&gt;On the Conditional Hardness of Coloring a 4-Colorable Graph with Super-Constant Number of Colors&lt;/a&gt; shows that under some stronger assumptions on the hardness of Unique Games it is hard to color 4-colorable graphs with $\log(n)^{0.001}$ colors, where $n$ is the number of vertices in the graph.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="15711" LastEditorUserId="15711" LastEditDate="2014-02-24T09:06:41.873" LastActivityDate="2014-02-24T09:06:41.873" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18647" PostTypeId="1" CreationDate="2013-08-15T11:38:50.390" Score="5" ViewCount="419" Body="&lt;p&gt;Given a graph $G$, it is known independence number $\alpha(G)$ and Lovasz theta $\vartheta(G)$ satisfy the inequality, $\alpha(G^{\boxtimes n}) \leq \vartheta(G)^{n}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $\alpha(G^{\boxtimes n}) &amp;lt; \vartheta(G)^{n}$, under plausible complexity theory conjectures, is it possible to have any other polynomial time computable function $\psi(G)$ that works for all graphs $G$ (or special family of graphs) and that produces numbers satisfying the inequality $\alpha(G^{\boxtimes n}) \leq \psi(G)^{n} \leq \psi(G^{\boxtimes n}) \leq \vartheta(G)^{n}$?&lt;/p&gt;&#xA;" OwnerUserId="1812" LastEditorUserId="1812" LastEditDate="2013-08-17T22:26:56.233" LastActivityDate="2013-08-17T22:26:56.233" Title="On Lovasz theta function" Tags="&lt;graph-theory&gt;" AnswerCount="0" CommentCount="13" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="18649" PostTypeId="1" CreationDate="2013-08-15T14:52:37.220" Score="1" ViewCount="823" Body="&lt;p&gt;I have proven some problem to be (weakly) NP-complete and try to find out some algorithm to solve it exactly. Except for some pseudo-polynomial stuff, I would be happy with an algorithm running in $O(c^n)$ for a constant $c$, but the best algorithm I can imagine runs in $O(n!)$, so much worse. Since all other NP-complete problems, where I know an exact algorithm, can be solved in exponential time, the question that comes to my mind is if there is some upper bound on the complexity of NP-complete problems like $O(c^n)$ or if there are problems with a proven lower bound of something like $O(n!)$, too (unless P = NP). At least everything is reducible to SAT, which in turn can be solved in $O(2^n)$.&lt;/p&gt;&#xA;" OwnerUserId="16693" LastEditorUserId="13136" LastEditDate="2013-08-17T21:26:42.213" LastActivityDate="2013-08-17T21:26:42.213" Title="Are there upper bounds on the worst case complexity of NP-complete problems?" Tags="&lt;upper-bounds&gt;&lt;np-complete&gt;" AnswerCount="0" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="18652" PostTypeId="1" CreationDate="2013-08-15T18:15:44.587" Score="-2" ViewCount="629" Body="&lt;p&gt;The last computational method example Knuth gives in 1.1 of Vol. 1 of 'The Art of Computer Programming' is defined by the following:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $A$ be a finite set of letters&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $A^*$ be the set of all strings on A&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $N$ be a nonnegative integer&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $Q$ be the set of all $(\sigma,j)$ where $\sigma$ is in $A^*$ and $j$ is an integer $0\leq j\leq N$. ($Q$ denotes the states of computation in a computational method)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $I$ be the subset of $Q$ with $j=0$. ($I$ denotes the inputs in a computational method)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $\Omega$ be the subset of $Q$ with $j=N$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $f$ be a function, defined by the strings $\theta_j, \phi_j$ and the integers $a_j, b_j$ for $0\leq j &amp;lt; N$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$f(\sigma,j) = (\sigma, a_j)$ if $\theta_j$ does not occur in $\sigma$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$f(\sigma,j) = (\alpha\phi_j\omega, b_j)$ if $\alpha$ is the shortest possible string for which $\sigma=\alpha\theta_j\omega$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$f(\sigma,N)$ = $(\sigma,N)$.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;What I don't understand is how the function works other than the last part where every output points to itself. Can someone please shed some light on what the first two function definitions are doing.&lt;/p&gt;&#xA;" OwnerUserId="14089" LastActivityDate="2013-08-16T23:01:56.940" Title="How does this computational method work?" Tags="&lt;ds.algorithms&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18655" PostTypeId="1" AcceptedAnswerId="18656" CreationDate="2013-08-16T01:25:33.573" Score="6" ViewCount="357" Body="&lt;p&gt;I have a queue $Q$ where elements can be popped from the left and added to the right in $O(1)$ time.  The elements are members of a fixed semigroup $S$ with $O(1)$ time multiplication.  Let the current state of the $Q$ be the sequence $(s_1,\ldots,s_n)$.  I am interested in the product&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\prod Q = s_1 \cdots s_n.$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question:&lt;/strong&gt; Is it possible to maintain this product in amortized constant time as elements are added and removed?&lt;/p&gt;&#xA;" OwnerUserId="13245" LastActivityDate="2013-08-16T20:03:26.590" Title="Maintaining the product of a queue of semigroup elements" Tags="&lt;online-algorithms&gt;&lt;amortized-analysis&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18656" PostTypeId="2" ParentId="18655" CreationDate="2013-08-16T04:25:38.933" Score="7" Body="&lt;p&gt;A queue can be represented as two stacks and be maintained in amortized constant time. It's then easy to maintain product of all elements of a stack. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;See Purely Functional Data Structures by Chris Okasaki. (More specifically, figure 3.2 on pp. 18. )&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;About how to maintain on stacks: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose the stack is $s_1, s_2,\ldots, s_n$ from bottom to top. For one stack, we need to maintain $s_1 s_2 \ldots s_n$; for the other, we need to maintain $s_n\ldots s_2 s_1$. We only consider the first case. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $p_k=s_1\ldots s_k$, then $p_n$ is the answer we need. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;When pop, simply delete $p_n$ and $s_n$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;When push, $p_{n+1}=p_n s_{n+1}$. &lt;/p&gt;&#xA;" OwnerUserId="12874" LastEditorUserId="12874" LastEditDate="2013-08-16T05:51:21.887" LastActivityDate="2013-08-16T05:51:21.887" CommentCount="10" ContentLicense="CC BY-SA 3.0" />
  <row Id="18657" PostTypeId="1" CreationDate="2013-08-16T08:47:52.490" Score="1" ViewCount="54" Body="&lt;p&gt;The universal approximation theorem states that:&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Let $\phi(·)$ be a nonconstant, bounded, and monotonically-increasing continuous function. Let $I_m$ denote the m-dimensional unit hypercube $[0,1]^m$. The space of continuous functions on $I_m$ is denoted by $C(I_m)$. Then, given any function $f ∈ C(I_m)$ and $\epsilon &amp;gt; 0$, there exist an integer $N$ and real constants $\alpha_i,b_i \in \Re$, $w_i ∈ \Re^m$, where $i = 1, \dots , N$ such that we may define:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;    F( x ) = \sum_{i=1}^{N} \alpha_i \phi \left( w_i^T x + b_i\right) &#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;as an approximate realization of the function f where f is independent of $\phi$; that is,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;    | F( x ) - f ( x ) | &amp;lt; \epsilon &#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;for all $x \in I_m$. In other words, functions of the form $F(x)$ are dense in $C(I_m)$.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Is there a bound on $\epsilon$ in terms of $N$?&lt;/p&gt;&#xA;" OwnerUserId="17301" LastActivityDate="2013-08-16T08:47:52.490" Title="Bound on the number of hidden nodes for multilayer perceptron with a single hidden layer" Tags="&lt;ne.neural-evol&gt;" AnswerCount="0" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18658" PostTypeId="1" AcceptedAnswerId="18663" CreationDate="2013-08-16T14:35:15.987" Score="-2" ViewCount="368" Body="&lt;p&gt;The task is to prove that (0+1)* and 0*(1.0*)* are equivalent.&lt;br&gt;&#xA;1. &lt;a href=&quot;http://rubular.com/r/K9Hp9tU6px&quot; rel=&quot;nofollow&quot;&gt;http://rubular.com/r/K9Hp9tU6px&lt;/a&gt;&lt;br&gt;&#xA;2. &lt;a href=&quot;http://rubular.com/r/N8VpoEcch4&quot; rel=&quot;nofollow&quot;&gt;http://rubular.com/r/N8VpoEcch4&lt;/a&gt;&lt;br&gt;&#xA;EDIT: Forgot that + was ambiguous here!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I want to prove that the second expression accepts all binary strings, without constructing the equivalent DFAs manually.&lt;br&gt;&#xA;Induction comes to mind, but I am probably missing something crucial.&lt;br&gt;&#xA;Can anyone of you recommend a few good methods that I can use here?&lt;br&gt;&#xA;Also, relevant identities are welcome.&lt;br&gt;&#xA;As a generalization of my question here, does a generic pattern for proving &quot;A language is accepted by R1 if and only if it is accepted by R2&quot; exist ?&lt;/p&gt;&#xA;" OwnerUserId="17015" LastEditorUserId="17015" LastEditDate="2013-08-16T16:48:27.403" LastActivityDate="2020-04-29T11:32:33.990" Title="Can I show algebraically that this regular expression accepts all binary strings?" Tags="&lt;automata-theory&gt;&lt;regular-expressions&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="18659" PostTypeId="2" ParentId="18655" CreationDate="2013-08-16T15:47:16.113" Score="-1" Body="&lt;p&gt;I would memoize the partial products:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;{.}{..}{....}{........}{....}{..}{.}&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the incoming end you combine them as they grow to a size equal to their left neighbor. On the outgoing end you spit them in half until you get one element. Amoritized work is log(n) per update to maintain the total product.&lt;/p&gt;&#xA;" OwnerUserId="2021" LastEditorUserId="2021" LastEditDate="2013-08-16T20:03:26.590" LastActivityDate="2013-08-16T20:03:26.590" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="18660" PostTypeId="1" AcceptedAnswerId="18661" CreationDate="2013-08-16T16:03:12.737" Score="1" ViewCount="285" Body="&lt;p&gt;I am working on a project that requires me to learn about logic (specially first order and second order).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Looking for a good book or online reference that can help me with questions such as:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A. What is the difference between Logic, Language and Calculus?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;B. How to define operators and their semantics?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;etc.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As a beginner, it would be great to read a step by step like instructions with easy examples that helps me understand and build on.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks in advance&#xA;Karl&lt;/p&gt;&#xA;" OwnerUserId="17302" LastActivityDate="2013-08-16T18:06:07.987" Title="Logic, language, semantics and more" Tags="&lt;reference-request&gt;&lt;lo.logic&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18661" PostTypeId="2" ParentId="18660" CreationDate="2013-08-16T16:35:05.250" Score="2" Body="&lt;p&gt;&lt;code&gt;Answer to A.&lt;/code&gt; Barwise &amp;amp; Etchemendy's &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/1575866323&quot; rel=&quot;nofollow&quot;&gt;Language, Proof, and Logic&lt;/a&gt; is a decent introduction to logic. From the perspective of someone coming from a CS background I found it especially accessible and fun. It's very clearly written, has lots of examples, and comes with 3 programs: &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;ol&gt;&#xA;  &lt;li&gt;&lt;em&gt;Tarski's World&lt;/em&gt;: is a block world where you can verify the truths of sentences or find counterexamples in an intuitive, visual environment&lt;br&gt;&lt;/li&gt;&#xA;  &lt;li&gt;&lt;em&gt;Fitch&lt;/em&gt;: is a Fitch-style proof system that will check your proofs&lt;br&gt;&lt;/li&gt;&#xA;  &lt;li&gt;&lt;em&gt;Boole&lt;/em&gt;: is a truth-table tool&lt;/li&gt;&#xA;  &lt;/ol&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Once you're done with the main course (I-II), in part III they have more fun topics to explore:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;ol&gt;&#xA;  &lt;li&gt;&lt;em&gt;ZFC&lt;/em&gt;&lt;/li&gt;&#xA;  &lt;li&gt;&lt;em&gt;program correctness&lt;/em&gt;&lt;/li&gt;&#xA;  &lt;li&gt;&lt;em&gt;resolution&lt;/em&gt;&lt;/li&gt;&#xA;  &lt;li&gt;&lt;em&gt;Skolemization&lt;/em&gt;&lt;/li&gt;&#xA;  &lt;li&gt;&lt;em&gt;metalogic&lt;/em&gt; (e.g. Lowenheim-Skolem, Compactness, Incompleteness) &lt;/li&gt;&#xA;  &lt;/ol&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;As I said, B &amp;amp; E is an introductory course, so next you can move to what's called &lt;em&gt;mathematical logic&lt;/em&gt;, which is more technical but more precise and will turn out to be more rewarding in the long run. A canonical text here is Enderton's &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0122384520&quot; rel=&quot;nofollow&quot;&gt;A Mathematical Introduction to Logic&lt;/a&gt;, which even has a special chapter dedicated to &lt;em&gt;Second-Order Logic&lt;/em&gt; (something you said you're interested in). It's not as interactive as B &amp;amp; E, but it's a classic and it will prepare you for more advanced logic.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;code&gt;Answer to B.&lt;/code&gt; How to give the semantics of operators should become clear after studying these texts. But if you're looking for special kinds of semantics, such as Kripke,  topological, neighborhood, measure-theoretic, domain-theoretic, probabilistic, etc., you'll have to do a little digging to find papers that explain how these things are done.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hope that addresses at least some of your questions.&lt;/p&gt;&#xA;" OwnerUserId="17255" LastEditorUserId="17255" LastEditDate="2013-08-16T18:06:07.987" LastActivityDate="2013-08-16T18:06:07.987" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18662" PostTypeId="2" ParentId="12285" CreationDate="2013-08-16T17:22:27.420" Score="-3" Body="&lt;p&gt;2^32 is only 4 billion; and doubtful you will saturate even a small fraction of that if you are watching IPs. Just store it all. A radix tree will compact as it saturates since you can flag entire subdomains as saturated. &lt;/p&gt;&#xA;" OwnerUserId="2021" LastActivityDate="2013-08-16T17:22:27.420" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18663" PostTypeId="2" ParentId="18658" CreationDate="2013-08-16T18:17:50.443" Score="13" Body="&lt;p&gt;The identity &lt;span class=&quot;math-container&quot;&gt;$(x + y)^* = x^*(yx^*)^*$&lt;/span&gt; is a classical identity of regular expressions, but&#xA;it is a nontrivial problem to find a complete set of identities for regular expressions. An infinite complete set was proposed by John Conway and this conjecture was ultimately proved by D. Krob.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;J.H. Conway, Regular algebra and finite machines, Chapman and Hall, 1971, ISBN 0-412-10620-5&lt;/p&gt;&#xA;&#xA;&lt;p&gt;D. Krob, A complete system of &lt;span class=&quot;math-container&quot;&gt;$\mathcal{B}$&lt;/span&gt;-rational identities. Automata, languages and programming (Coventry, 1990), LNCS 443, Springer, New York, (1990) 60--73. &lt;a href=&quot;http://dx.doi.org/10.1007/BFb0032022&quot; rel=&quot;nofollow noreferrer&quot;&gt;DOI&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;D. Krob, Complete Systems of &lt;span class=&quot;math-container&quot;&gt;$\mathcal{B}$&lt;/span&gt;-Rational Identities, &lt;em&gt;Theor. Comp. Sci&lt;/em&gt;. &lt;strong&gt;89&lt;/strong&gt; (1991), 207–343. &lt;a href=&quot;http://dx.doi.org/10.1016/0304-3975(91)90395-I&quot; rel=&quot;nofollow noreferrer&quot;&gt;DOI&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See also for a complete theory:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;S. L. Bloom and Z. Ésik. Iteration Theories: the Equational Logic of Iterative Processes.&#xA;EATCS Monographs on Theoretical Computer Science. Springer-Verlag, Berlin, 1993. xvi+630 pp.&#xA;ISBN: 3-540-56378-4&lt;/p&gt;&#xA;&#xA;&lt;p&gt;and for a related discussion for deciding the corresponding equational theory in Coq:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;T. Braibant, D. Pous, &lt;a href=&quot;http://arxiv.org/pdf/1105.4537.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Deciding Kleene algebras in Coq&lt;/a&gt;, Log. Methods Comput. Sci. 8 (2012), no. 1, 1:16, 42 pp. &lt;a href=&quot;http://dx.doi.org/10.1007/978-3-642-14052-5_13&quot; rel=&quot;nofollow noreferrer&quot;&gt;DOI&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="17203" LastEditorUserId="17203" LastEditDate="2020-04-29T11:32:33.990" LastActivityDate="2020-04-29T11:32:33.990" CommentCount="4" ContentLicense="CC BY-SA 4.0" />
  <row Id="18664" PostTypeId="1" CreationDate="2013-08-16T20:37:35.483" Score="8" ViewCount="559" Body="&lt;p&gt;Suppose that Alice receives a subset $S \subseteq \{1,\dots,n\}$ and Bob receives $T \subseteq \{1,\dots,n\}$.  It is promised that $\lvert S \cap T \rvert = 1$.  What is the randomized communication complexity of determining the common element $S \cap T$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My interest in this is as follows.  The zero-communication cost of this problem is $\log n$ since Alice and Bob can just guess $S \cap T$ using public coins and abort if they guess wrong.  However, I can't think of an $O(\log n)$ cost communication protocol.  Since it is not known whether zero-communication cost is much less than randomized communication cost, I am thinking that I am missing something obvious here.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Zero-communication cost is defined as follows.  After Alice and Bob receive their inputs, they must not communicate at all.  However, they share public coins, and they are allowed to answer with &quot;abort&quot;.  If neither party aborts, they must provide the correct answer with $2/3$ probability.  The zero-communication cost is the negative log of the probability of not aborting.  In &lt;a href=&quot;http://arxiv.org/abs/1204.1505&quot;&gt;arxiv:1204.1505&lt;/a&gt; it is shown (among other things) that nearly all known lower bounds on communication complexity are in fact lower bounds for zero-communication.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Update: @Shitikanth showed that the communication complexity is $\Omega(n)$.  So, apparently this gives a gap between communication cost and zero-communication cost.  But &lt;a href=&quot;http://arxiv.org/abs/1204.1505&quot;&gt;arxiv:1204.1505&lt;/a&gt; seems to give the impression that no such gap is known.  What am I missing?&lt;/p&gt;&#xA;" OwnerUserId="7092" LastEditorUserId="7092" LastEditDate="2013-08-16T23:32:44.650" LastActivityDate="2013-08-22T16:49:39.890" Title="Communication complexity of finding common element of two subsets" Tags="&lt;communication-complexity&gt;" AnswerCount="3" CommentCount="4" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="18665" PostTypeId="2" ParentId="18652" CreationDate="2013-08-16T21:29:19.777" Score="2" Body="&lt;p&gt;Before we look at what f does, let's look at some of Knuth's definitions earlier in the chapter.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;A &lt;strong&gt;computational method&lt;/strong&gt; is a quadruple ($Q, I, \Omega, f$) where $I,\Omega \subseteq Q$ and $f : Q \mapsto Q$; and $f$ has the property of leaving $\Omega$ &lt;em&gt;pointwise fixed&lt;/em&gt;, i.e.: $\forall q \in \Omega, f(q) = q$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The intended, informal meanings of these terms are the following:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;$\fbox{Q}$ the &lt;strong&gt;states&lt;/strong&gt; of the computation&lt;br&gt;&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;$\fbox{I}$ the &lt;strong&gt;input&lt;/strong&gt;&lt;br&gt;&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;$\fbox{$\Omega$}$ the &lt;strong&gt;output&lt;/strong&gt;&lt;br&gt;&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;$\fbox{f}$ the computational &lt;strong&gt;rule&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Although irrelevant to our discussion, Knuth then defines the notion of &lt;em&gt;algorithm&lt;/em&gt; as follows:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;An &lt;strong&gt;algorithm&lt;/strong&gt; is a &lt;em&gt;computational method&lt;/em&gt; that terminates in finitely many steps for all $x \in I$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;On page 8 he gives an explication of a &lt;code&gt;gcd&lt;/code&gt; algorithm in terms of this formal notion. Now, getting back to f, it would be helpful if we keep the following auxiliary definitions in sight:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Occurs&lt;/strong&gt; $(\theta, \sigma) =_{df} \exists \alpha,\omega \in A^*(\sigma = \alpha\theta\omega)$.&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;&lt;strong&gt;Shortest&lt;/strong&gt; $(\sigma, \Sigma, \phi) =_{df} \phi(\sigma) \land \forall\tau\in\Sigma(\phi(\tau) \rightarrow [\tau] &amp;gt; [\sigma])$, where [&amp;sigma;] is the &lt;em&gt;length&lt;/em&gt; of &amp;sigma;. &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;With these, we're ready to make sense of f. It maps strings &amp;sigma; and natural  numbers j to:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;$(\sigma, \alpha_j)$ $~~~~~~~~$if$~~$ $\lnot Occurs(\theta_j,\sigma)$&lt;br&gt;&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;$(\alpha\phi_j\omega, b_j)$  $~~$if$~~$ $\exists\alpha\in A^*(\sigma = \alpha\theta_j\omega \land Shortest(\alpha, A^*, [\lambda x.\sigma = x\theta_j\omega])$&lt;br&gt;&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;$(\sigma, N)$ $~~~~~~~~$ otherwise&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Informally, we can describe f's behavior as follows. If no two strings $\alpha$ and $\omega$ exist in $A^*$ that can be wrapped around $\theta_j$ to make $\sigma$, then f returns $\sigma$ with its index $a_j$ (i'm not sure why Knuth differentiates between $a_j$ and $j$ s.t. $0 \leq j \leq N$). Else, if there exist strings $\alpha$ and $\omega$ that can be wrapped around $\theta_j$ in the following way: $\alpha\theta_j\omega$, to make $\sigma$, then f returns: the sequence of the shortest $\alpha$ that makes that equality true, $\phi_j$, $\omega$, along with the index $b_j$. In all the other cases, f returns $\sigma$ with the index N.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hope this helps. If you find errors, feel free to edit this post or add a comment below.&lt;/p&gt;&#xA;" OwnerUserId="17255" LastEditorUserId="17255" LastEditDate="2013-08-16T23:01:56.940" LastActivityDate="2013-08-16T23:01:56.940" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="18666" PostTypeId="2" ParentId="18664" CreationDate="2013-08-16T21:55:21.880" Score="-3" Body="&lt;p&gt;Fastest protocol I can think of is alternate exchanging a random adjacent pair of elements, throwing away stuff that gets skipped over.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Alice[1,10,26,49,50] Bob[2,3,25,49,51]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Alice adjacent pair is [10,26] so Bob throws away 25&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Alice[1,49,50] Bob[2,3,49,51]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Bob adjacent pair is [3,49] match on 49 so halt&lt;/p&gt;&#xA;" OwnerUserId="2021" LastActivityDate="2013-08-16T21:55:21.880" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18667" PostTypeId="2" ParentId="18664" CreationDate="2013-08-16T23:04:47.473" Score="5" Body="&lt;p&gt;(Reduction from set disjointness)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose Alice and Bob are given sets $S, T \subseteq [n]$ with the guarantee&#xA;that $|S\cap T| \leq 1$. Alice and Bob run the protocol for finding the common&#xA;element of $S$ and $T$ assuming that their sets have a non-trivial intersection&#xA;to decide a common element $X$. Now, they can communicate with each other to&#xA;verify that $X$ is in fact common to both $S$ and $T$ with $O(\log n)$ bits.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Therefore, any protocol for finding the common element of $S$ and $T$ must take $\Omega(n)$ bits of communication.&lt;/p&gt;&#xA;" OwnerUserId="7567" LastActivityDate="2013-08-16T23:04:47.473" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="18669" PostTypeId="2" ParentId="18560" CreationDate="2013-08-17T13:25:14.887" Score="1" Body="&lt;p&gt;This is very similar to overlaps of gene sequence in genome assembly. Chapter 4 of &lt;a href=&quot;http://www.eecs.wsu.edu/~ananth/papers/Ananth_dissertation06.pdf&quot; rel=&quot;nofollow&quot;&gt;Ananth's thesis&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In parallel you search for promising pairs and maintain a distributed union find data structure. See &lt;a href=&quot;http://www.umiacs.umd.edu/users/vishkin/TEACHING/ENEE759KS12/TV85.pdf&quot; rel=&quot;nofollow&quot;&gt;Tarjan and Vishkin&lt;/a&gt; for their hook and shortcut algorithm to collapse the connected components.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, you can try recent &lt;a href=&quot;http://bioinformatics.oxfordjournals.org/content/21/suppl_2/ii79.short&quot; rel=&quot;nofollow&quot;&gt;DeBrujin graph methods&lt;/a&gt; on 64 bit row chunks of pixels. I think this will give you the best results. To help with quantization problems I would first reduce dimension of the pixels to 16 or 8 bit black/white. You then apply a parallel sort the 64 bit chunks, and then use them to infer edges between images. &lt;/p&gt;&#xA;" OwnerUserId="2021" LastEditorUserId="2021" LastEditDate="2013-08-17T13:37:31.577" LastActivityDate="2013-08-17T13:37:31.577" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18670" PostTypeId="1" AcceptedAnswerId="18676" CreationDate="2013-08-17T17:45:57.060" Score="9" ViewCount="469" Body="&lt;p&gt;Here is a nearest neighbor problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given reals $a_1, \ldots, a_n$ (very large $n$!), plus target real $p$, find $a_i$ and $a_j$ whose SUM is closest to $p$. We allow reasonable pre-processing/indexing of $a_1, \ldots, a_n$ (up to $O(n \log n)$), but at query time (given $p$), the result should be returned very fast (e.g., $O(\log n)$ time).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Simpler example: if we only wanted the SINGLE $a_i$ that is closest to $p$, we would sort $a_1, \ldots, a_n$ offline, $O(n \log n)$, then do binary search at query time, $O(\log n)$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Solutions that don't work:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) Sort $a_1, \ldots, a_n$ offline, then at query time, start from both ends &amp;amp; move two pointers inward (&lt;a href=&quot;http://bit.ly/1eKHHDy&quot;&gt;http://bit.ly/1eKHHDy&lt;/a&gt;). Not good, because of $O(n)$ query time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) Sort $a_1, \ldots, a_n$ offline, then at query time, take each $a_i$ and perform binary search for a &quot;buddy&quot; that helps it sum to something close to $p$. Not good, because of $O(n \log n)$ query time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;3) Sort all pairs $(a_{1}, \ldots, a_{n})$ offline, then do binary search. Not good, because of $O(n^2)$ pre-processing.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;ps. Further generalizations needed for practice: (1) $a_1, \ldots, a_n$ and $p$ to be 50-dimensional vectors, (2) &quot;close&quot; to be vector cosine distance, and (3) $k$-best closest pairs-that-sum, not just 1-best.&lt;/p&gt;&#xA;" OwnerUserId="17310" LastEditorUserId="43" LastEditDate="2013-08-18T02:57:33.293" LastActivityDate="2013-08-18T13:41:41.363" Title="Select two numbers that sum to $p$, using sub-linear query time" Tags="&lt;ds.algorithms&gt;&lt;cg.comp-geom&gt;&lt;ds.data-structures&gt;" AnswerCount="2" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="18671" PostTypeId="1" AcceptedAnswerId="18706" CreationDate="2013-08-17T17:47:10.820" Score="4" ViewCount="1436" Body="&lt;p&gt;Given &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;an undirected graph of $n$ nodes with weighted edges and &lt;/li&gt;&#xA;&lt;li&gt;a sequence $S=((e,w),...)$ of updates, always decreasing, of the weight $w$ of edge $e$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;What is the online complexity of computing the shortest pair between each pair of nodes in the graph after each updates? Is there any solution better than solving the problem offline in time within $O(n^3)$ (using Floyd-Warshall's algorithm) after each update?&lt;/p&gt;&#xA;" OwnerUserId="16355" LastEditorUserId="191" LastEditDate="2013-08-22T13:52:46.647" LastActivityDate="2013-08-25T19:37:56.437" Title="Online version of All pair shortest path when path weights are updated" Tags="&lt;graph-algorithms&gt;" AnswerCount="2" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18672" PostTypeId="2" ParentId="18670" CreationDate="2013-08-17T20:15:36.970" Score="2" Body="&lt;p&gt;If you can use unlimited space and unlimited time during pre-processing, then the following solution meets your requirements:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;During pre-processing, compute the set $\{a_i+a_j:1\le i\le j\le n\}$, and store this set in sorted order.  This set can be generated and sorted in $O(n^2)$ time, and it takes $O(n^2)$ space to store it.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Now to answer a query (to find $a_i,a_j$ where $a_i+a_j$ is as close to $p$ as possible), simply do a binary search in this sorted list.  That will take $O(\lg n)$ time.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;If this solution is not acceptable, you need to think through your requirements more carefully and edit the question accordingly.&lt;/p&gt;&#xA;" OwnerUserId="5038" LastActivityDate="2013-08-17T20:15:36.970" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18674" PostTypeId="1" AcceptedAnswerId="18698" CreationDate="2013-08-18T00:23:28.230" Score="12" ViewCount="331" Body="&lt;p&gt;&lt;a href=&quot;http://arxiv.org/pdf/1201.4995v1.pdf#page=3&quot;&gt;This paper&lt;/a&gt; gives a proof that in a game with doors and pressure plates, it is PSPACE-hard to determine whether or not the (player's) avatar can reach a given location. This is proven by a reduction from &lt;a href=&quot;http://en.wikipedia.org/wiki/True_quantified_Boolean_formula&quot;&gt;TQBF&lt;/a&gt;, and the length of the resulting solutions depends exponentially on the number of universal quantifiers in the formula.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a reduction from an NPSPACE machine to such a game for which the length of the game's solutions are polynomially related to the length of the machine's accepting paths?&lt;/p&gt;&#xA;" OwnerDisplayName="user6973" LastEditorUserId="111" LastEditDate="2013-08-20T02:14:09.307" LastActivityDate="2013-08-23T20:10:51.587" Title="Is there a reduction to &quot;door and pressure plate&quot; games that doesn't explode solution length?" Tags="&lt;reductions&gt;&lt;nondeterminism&gt;&lt;pspace&gt;" AnswerCount="3" CommentCount="2" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="18675" PostTypeId="1" AcceptedAnswerId="18677" CreationDate="2013-08-18T01:40:51.060" Score="3" ViewCount="263" Body="&lt;p&gt;Is there any complexity class which contains problems that can be expressed as an optimization over polynomially many #P functions ? i.e:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\tilde{f}(x) = \text{Max}_{f \in F}f(x)$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where $f\in\# P$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Moreover, if I can reduce a #P-Complete function to this, by means of a polynomial time Turing reduction, am I allowed to say formally that: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\tilde{f} \in \#P-\text{Complete}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;OR&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$FP^{\tilde{f}} \in FP^{\#P} $$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The latter seems more plausible to me than the former, but could anyone please tell me if I could use the former claim.&lt;/p&gt;&#xA;" OwnerUserId="9893" LastActivityDate="2019-11-08T19:49:45.497" Title="Complexity class for Optimization problems over #P functions" Tags="&lt;complexity-classes&gt;&lt;optimization&gt;&lt;counting-complexity&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18676" PostTypeId="2" ParentId="18670" CreationDate="2013-08-18T03:13:18.103" Score="17" Body="&lt;p&gt;&lt;strong&gt;This is almost certainly impossible.&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose you could solve your problem with preprocessing time $P(n)$ and query time $Q(n)$.  Then there is a simple algorithm to solve &lt;a href=&quot;http://en.wikipedia.org/wiki/3SUM&quot;&gt;the 3SUM problem&lt;/a&gt;—Given a set of $n$ real numbers, do any three elements sum to zero?—in $P(n)+n\cdot Q(n)$ time.  We pre-process all the numbers, then for each number $a_k$, we find the value of $a_i+a_j$ that is closest to $-a_k$; if it matches $-a_k$ exactly, we have found a solution to the 3SUM problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, the fastest algorithm known for 3SUM runs in $O(n^2)$ time, and this algorithm is widely conjectured to be optimal.  Moreover, there is a matching $\Omega(n^2)$ lower bound in a restricted but natural decision tree model of computation.  For sets of &lt;em&gt;integers&lt;/em&gt;, there are slightly subquadratic-time algorithms that &quot;play games with bits&quot;, but even in the integer RAM model, 3SUM is conjectured to require $\Omega(n^2/\text{polylog}\,n)$ time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So assuming that conjecture is correct, your problem either requires (near-)quadratic preprocessing time or (near-)linear query time.&lt;/p&gt;&#xA;" OwnerUserId="111" LastEditorUserId="5038" LastEditDate="2013-08-18T13:41:41.363" LastActivityDate="2013-08-18T13:41:41.363" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18677" PostTypeId="2" ParentId="18675" CreationDate="2013-08-18T08:08:28.187" Score="4" Body="&lt;p&gt;It's in $\mathrm{FP^{\#P}}$, since you can compute it in poly time using oracle calls to compute the&amp;nbsp;$f$s.  If you can poly-time Turing reduce a $\mathrm{\#P}$-complete problem to it, then $\tilde{f}$&amp;nbsp;is $\mathrm{\#P}$-hard but you can't say it's $\mathrm{\#P}$-complete unless you can show that it's in&amp;nbsp;$\mathrm{\#P}$. That seems unlikely, to me, as I can't see any way of building a nondeterministic Turing machine to have that many accepting paths.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since $\tilde{f}\in\mathrm{FP^{\#P}}$ and $\mathrm{FP^{FP^{\#P}}}=\mathrm{FP^{\#P}}$ (just compose the reductions), $\mathrm{FP}^{\tilde{f}}\subseteq \mathrm{FP^{\#P}}$.  Note that $\mathrm{FP}^{\tilde{f}}$ is a complexity class (all problems that are poly-time Turing reducible to&amp;nbsp;$\tilde{f}$), not a problem.&lt;/p&gt;&#xA;" OwnerUserId="17082" LastActivityDate="2013-08-18T08:08:28.187" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="18678" PostTypeId="2" ParentId="16929" CreationDate="2013-08-18T13:43:53.980" Score="3" Body="&lt;p&gt;Answer : Yes (even if $I$ is a subset of some model of $\phi$)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $R_{|I}$ the set of clauses that derive from $F_{\phi} \cup F_{\phi|I}$ by all possible 3-limited resolutions and subsumptions ($R_{|I}$ is the 3-limited closure of $F_{\phi}\cup F_{\phi|I}$). Given $c$ a clause implied by $F_{\phi}$, it exists at least one subset of $R_{|I}$ whose clauses imply $c$. Name  $R_c$ such a subset.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $P(k)$ the following property: For all  $c$ implied by $F_{\phi}$ such that $|c_{|I}| \le 3$,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$ [\exists R_c \subseteq R_{|I}$ such that $|R_c|\le k \Rightarrow c_{|I}$ is subsumed by some clause $\in G_{\phi|I}]$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here does the recurrence begin.&#xA;Given $c$ implied by $F_{\phi}$ such that $|c_{|I}|\le 3$, i.e. $c_{|I} \in$ the 3-closure of $F_{\phi|I}$.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;$k=1$. If $\exists R_c \subseteq R_{|I} / |R_c|=1$ then $R_c=\{d\}$ ($d \in F_{\phi}\cup  F_{\phi|I}$ subsumes $c$) and $c_{|I}$ is subsumed by $d_{|I} \in F_{\phi|I}$ (note that any clause of $F_{\phi|I}$ is subsumed by some clause of $G_{\phi|I}$). Thus $P(1)$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Suppose $P(k)$ for $k\ge1$. If $\exists R_{c}\subseteq R_{|I}$ such that $|R_{c}|\le k+1$ (and no other $R_{c}$ of size 1 such that $c\notin F_{\phi}$ and $|c|&amp;gt;3$) then suppose $c=(\alpha \beta \gamma L_{I})$ where $\alpha ,\beta ,\gamma$ are literals not set by $I$ and $L_{I}$ is a subset of literals all evaluate to 0 under $I (L_I \neq \varnothing)$, i.e $c_{|I}=(\alpha \beta \gamma)$, with $\alpha ,\beta ,\gamma$ not necessarily different.  &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Remove a clause $d_{i}$ from $R_{c}$ such that $|d_{i|I}|&amp;lt;|d_{i}|\le3$, in other words, such that $d_{i}$ contains some literal from $L_{I}$ (there is at least one such clause in $R_{c}$ since $L_I \neq \varnothing$ ) and $|d_{i|I}|\leq 2$. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The size of the remaining set $R_{c}\setminus d_{i}$ is $\le k$. If a certain clause $c'=(\alpha \beta \gamma L'_{I})$ is implied by $R_{c}\setminus d_{i}$ (where $L'_{I}$ is a subset of literals all evaluate to 0 under $I$) then $|c'_{|I}|=3$ and $\exists R_{c'}=R_{c}\setminus d_{i}\subseteq R_{|I}$ such that $|R_{c'}|\le k$. By $P(k)$, $c'_{|I}=(\alpha \beta \gamma)$ is then subsumed by some clause $\in G_{\phi|I}$, inducing $P(k+1)$ for $c$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;If $d_{i|I}$ contains $\bar \alpha$ or $\bar \beta$ or $\bar \gamma$ then $d_{i|I}$ is useless to imply [some clause subsuming] $c$. Then $R_{c}\setminus d_{i}$ implies $c$, inducing $P(k+1)$ as shown previously.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;If $d_{i|I}\in F_{\phi|I}$ subsumes $c_{|I}$ then $P(k+1)$ is satisfied for $c$. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;If $d_{i|I}$ does not subsume $c_{|I}$ and does not contain $\bar \alpha$ or $\bar \beta$ or $\bar \gamma$ then either $d_{i|I}=(x)$ or $d_{i|I}=(ax)$ or $d_{i|I}=(xy)$, where $x$ and $y$ $\notin\{\alpha \beta \gamma \}$ and are not set by $I$, and $a \in\{\alpha \beta \gamma \}$.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;If $d_{i|I}=(x)$ then $R_{c}\setminus d_{i}$ implies $(\bar{x}\alpha \beta \gamma L_{I})$ (recall that implying a certain clause $C$ means implying a clause which subsumes $C$). Since any resolution with $d_{i|I}=(x)$ as operand removes $\bar{x}$ from the other operand then no clause of $R_{c}\setminus d_{i}$ contains $\bar x$ (since $R_{c}\setminus d_{i} \subseteq R_{|I}$ which is the 3-limited closure of $F_{\phi}\cup F_{\phi|I}$). Then $R_{c}\setminus d_{i}$ implies $(\alpha \beta \gamma L_{I})$, inducing $P(k+1)$ as shown in Point (4). &lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;If $d_{i|I}=(ax)$ then $R_{c}\setminus d_{i}$ implies $(\bar{x}\alpha \beta \gamma L_{I})$. Replace $\bar{x}$ by $a$ in each possible clause of $R_{c}\setminus d_{i}$ (if the new clause is subsumed by some clause in $R_{|I}$, keep the subsuming clause instead. Anyway, the replacing clause is in $R_{|I}$). Name $R_{c,d_{i}}$ the resulting set ($R_{c,d_{i}}\subseteq R_{|I}$). Then $R_{c,d_{i}}$ implies $(\alpha \beta \gamma L_{I})$, inducing $P(k+1)$ as above.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;If $d_{i|I}=(xy)$ then $R_{c}\setminus d_{i}$ implies $(\bar{x}\alpha \beta \gamma L_{I})$ and $(\bar{y}\alpha \beta \gamma L_{I})$. Replace $\bar{x}$ by $y$ in each possible clause of $R_{c}\setminus d_{i}$ (as above, if the new clause is subsumed by some clause in $R_{|I}$, keep the subsuming clause instead). Name $R_{c,d_{i}}$ the resulting set ($R_{c,d_{i}}\subseteq R_{|I}$). Then $R_{c,d_{i}}$ implies $({y}\alpha \beta \gamma L_{I})$. Since it implies also $(\bar{y}\alpha \beta \gamma L_{I})$ then it implies the resolvent $(\alpha \beta \gamma L_{I})$, inducing $P(k+1)$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;By this recurrence, any clause $\in$ the 3-closure of $F_{\phi |I}$ is subsumed by some clause $\in G_{\phi|I}$ (the other way holds as well). Then $G_{\phi|I}$ corresponds to the 3-closure of $F_{\phi |I}$.&lt;/p&gt;&#xA;" OwnerUserId="6346" LastEditorUserId="6346" LastEditDate="2013-08-27T16:04:33.950" LastActivityDate="2013-08-27T16:04:33.950" CommentCount="0" CommunityOwnedDate="2013-08-18T13:43:53.980" ContentLicense="CC BY-SA 3.0" />
  <row Id="18679" PostTypeId="2" ParentId="18637" CreationDate="2013-08-19T00:34:32.813" Score="3" Body="&lt;p&gt;Not sure about what kind of results you seek but here what I know for sub-classes of $AC^0$ (constant depth and polynomial size Boolean circuits):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The separation between $AC^0$ and its linear fragment (namely $LAC^0$) is known since 96. It is a result of Chaudhuri and Radhakrishnan : &quot;Deterministic restrictions in circuit complexity&quot;. This result seems to be non-uniform. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I heard about separation between each layer $n^k$ but unfortunately I don't know any ref for that. &lt;/p&gt;&#xA;" OwnerUserId="17257" LastActivityDate="2013-08-19T00:34:32.813" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18681" PostTypeId="1" CreationDate="2013-08-19T07:25:35.360" Score="1" ViewCount="524" Body="&lt;p&gt;What is the time complexity of the following algorithm (from &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=1102482&quot; rel=&quot;nofollow&quot;&gt;this paper&lt;/a&gt; suggested by Zhou) to partition directed graph?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can I use the complexity of eigen vector computation for this purpose?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;The Algorithm:&lt;/strong&gt;  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a directed graph $G = (V,E)$, it may be partitioned into two parts as follows:  &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Define a random walk over $G$ with a transition probability matrix $P$ such that it has a unique stationary distribution. In this part I need to compute the eigen vectror transition matrix $P$.  &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Let $\Pi$ denote the diagonal matrix with its diagonal elements being the stationary distribution of the random walk. Form the matrix $£ = \frac{(\Pi^{1/2}P\Pi^{-1/2} + \Pi^{-1/2}P{T}\Pi^{1/2})}{2}$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Compute an eigenvector $\phi$ of $\theta$ corresponding to the second largest eigenvalue, and then partition the vertex set $V$ of $G$ into the two parts.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="17307" LastEditorUserId="191" LastEditDate="2013-08-20T13:32:04.020" LastActivityDate="2013-08-20T13:32:04.020" Title="Time complexity of clustering based on random walk" Tags="&lt;graph-algorithms&gt;&lt;optimization&gt;&lt;time-complexity&gt;&lt;linear-algebra&gt;&lt;clustering&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18684" PostTypeId="1" AcceptedAnswerId="18691" CreationDate="2013-08-19T13:37:56.353" Score="1" ViewCount="282" Body="&lt;p&gt;I have already asked this question in &lt;a href=&quot;https://stackoverflow.com/questions/18281457/how-to-determine-if-union-of-cartesian-products-of-subsets-equals-cartesian-p&quot;&gt;StackOverflow&lt;/a&gt; (open bounty closing on Aug 25th).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let's say I have some finite sets: A, B, ..., K&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I also have A1, A2, ... An, which are subsets of A; B1, B2, ... Bn, which are subsets of B, etc.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let's say S is the cartesian product A x B x ... x K&lt;/p&gt;&#xA;&#xA;&lt;p&gt;and Sn is the cartesian product of An x Bn x ... x Kn&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there an algorithm to efficiently determine if the union of all &lt;code&gt;Sn&lt;/code&gt; is equivalent to &lt;code&gt;S&lt;/code&gt;?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some pointers to literature where I can study this problem are greatly appreciated.&lt;/p&gt;&#xA;" OwnerUserId="17326" LastEditorUserId="-1" LastEditDate="2017-05-23T11:33:33.907" LastActivityDate="2013-08-19T20:05:30.377" Title="Algorithm to Determine if (Union of Cartesian Products of Subsets) equals (Cartesian Product of Full Sets)" Tags="&lt;ds.algorithms&gt;" AnswerCount="2" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18687" PostTypeId="1" CreationDate="2013-08-19T15:07:07.287" Score="6" ViewCount="182" Body="&lt;p&gt;We all know the &lt;a href=&quot;http://en.wikipedia.org/wiki/PCP_theorem&quot; rel=&quot;nofollow&quot;&gt;PCP Theorem&lt;/a&gt;. Is there any software package availalbe taking a CNF in e.g. DIMACS format as input, and producing a PCP encoding in the same format as output? It might be interesting to run existing SAT solvers on such encoded instances and compare the performance relative to plain instances.&lt;/p&gt;&#xA;" OwnerUserId="121" LastEditorUserId="121" LastEditDate="2013-08-20T06:06:08.457" LastActivityDate="2013-08-20T06:06:08.457" Title="Is a software implementation of a PCP encoder available?" Tags="&lt;pcp&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18688" PostTypeId="1" CreationDate="2013-08-19T15:09:31.853" Score="11" ViewCount="4645" Body="&lt;p&gt;I am looking for a small language that helps 'convince' students that turing machines are a sufficiently general computing model. That is, a language that looks like the languages they are used to, but is also easy to simulate on a turing machine.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Papadimitriou uses RAM machines for this job, but I fear that comparing something strange (as a turing machine) to another strange thing (basically, an assembly language) would be too unconvincing for many students.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any suggestions would be most welcome (specially if they came with some recommended literature) &lt;/p&gt;&#xA;" OwnerUserId="12965" LastEditorUserId="13408" LastEditDate="2015-10-22T03:24:34.257" LastActivityDate="2015-10-22T03:24:34.257" Title="A small C-like language that turing machines can simulate" Tags="&lt;turing-machines&gt;" AnswerCount="6" CommentCount="4" FavoriteCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="18689" PostTypeId="2" ParentId="18687" CreationDate="2013-08-19T15:30:12.170" Score="5" Body="&lt;p&gt;There has been some recent effort to make PCPs practical for use in verifying outsourced computation. Check the work by this UT Austin group for example: &lt;a href=&quot;http://www.cs.utexas.edu/pepper/&quot;&gt;http://www.cs.utexas.edu/pepper/&lt;/a&gt;. &lt;/p&gt;&#xA;" OwnerUserId="4896" LastActivityDate="2013-08-19T15:30:12.170" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="18690" PostTypeId="1" AcceptedAnswerId="18695" CreationDate="2013-08-19T16:44:02.353" Score="7" ViewCount="288" Body="&lt;p&gt;Take an arbitrary infinite binary sequence $\omega$. The interesting case is when $\omega$ is not computable. Is there a computable (semi-)measure $\mu$ such that sequence $\omega$ is $\mu$-random in the sense of Martin-Löf?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Or $\mu$-random is some weaker sense?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Clearly, $\omega$ is $\mu$-random for $\mu$-almost all sequences. So the question is what happens with the sequences from that set of measure zero. &lt;/p&gt;&#xA;" OwnerUserId="17327" LastActivityDate="2013-10-23T21:44:36.270" Title="Is an infinite incomputable sequence random wrt a computable measure?" Tags="&lt;computability&gt;&lt;randomness&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="18691" PostTypeId="2" ParentId="18684" CreationDate="2013-08-19T19:59:45.107" Score="7" Body="&lt;p&gt;The problem is &lt;strong&gt;coNP&lt;/strong&gt;-complete and so unlikely to have a poly-time algorithm.  (I'm sure the observation was made before; I don't know where, but look in Garey-Johnson.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is a simple reduction from 3-UNSAT $= \{\psi: \psi$ is an unsatisfiable 3-CNF$\}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Say $\psi(x_1, \ldots, x_t) = \bigwedge_{j = 1}^m (y_{j, 1}\vee y_{j, 2} \vee y_{j, 3})$, where&#xA;each $y_{j, a}$ is either a variable or a negated variable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In your notation, let $A = B = \ldots = K = \{0, 1\}$, with $t$ such sets (one for each variable).  Think of each element of $S = A^t$ as an assignment to $x_1, \ldots, x_t$.  For each $j \in [m]$, create a Cartesian product set $S_j$ which describes the set of assignments that will &lt;em&gt;falsify&lt;/em&gt; the $j^{th}$ clause.  Note that this can easily be done: we restrict precisely the 3 components corresponding to the variables appearing in this clause.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The union of the $S_j$'s equals all of $S = \{0, 1\}^t$ iff every assignment to $\psi$ falsifies some clause, i.e., iff $\psi$ is unsatisfiable.&lt;/p&gt;&#xA;" OwnerUserId="223" LastActivityDate="2013-08-19T19:59:45.107" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18692" PostTypeId="2" ParentId="18684" CreationDate="2013-08-19T20:05:30.377" Score="-2" Body="&lt;p&gt;Simple observation, lets use {Animal}{Mineral}{Vegetable}&lt;/p&gt;&#xA;&#xA;&lt;p&gt;S = A,B,K = {horse,cat,dog}{gold,silver,quartz}{corn,tree, peach}&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$S_{0}$ ={horse}{gold}{peach}&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$S_{1}$ ={cat}{gold}{peach}&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$S_{2}$ ={cat}{gold}{tree} ...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Your $n$ can be as big as $|A|$*$|B|$*$|C|$* ... *$|K|$. That's not tractable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An adversary can just start generating you random elements in S. Kolomogrov complexity implies you will be forced to store them all without any compression until you get to that intractable number; making your storage intractable.&lt;/p&gt;&#xA;" OwnerUserId="2021" LastActivityDate="2013-08-19T20:05:30.377" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="18693" PostTypeId="2" ParentId="18687" CreationDate="2013-08-19T22:34:32.930" Score="5" Body="&lt;p&gt;Eli Ben-Sasson's group is working on implementing PCPs. You can e-mail him and ask for their code.&lt;/p&gt;&#xA;" OwnerUserId="8429" LastActivityDate="2013-08-19T22:34:32.930" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18695" PostTypeId="2" ParentId="18690" CreationDate="2013-08-20T00:33:20.187" Score="11" Body="&lt;p&gt;Mucknik, Semenov and Uspensky showed that there are sequences which are not Martin-Löf random for any computable measure.  They call all other sequences (which are Martin-Löf random for some computable measure) &quot;natural sequences&quot;.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Andrei A. Muchnik, Alexei Semenov, and Vladimir Uspensky. Mathematical metaphysics of randomness. Theoretical Computer Science, 207(2):263–317, 1998.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;This topic is also discussed in &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Laurent Bienvenu and Christopher Porter. Effective randomness, strong reductions and Demuth’s theorem.&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;Jan Reimann and Theodore A. Slaman. Probability measures and effective randomness.&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;Jan Reimann and Theodore A. Slaman. Measures and their random reals.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Here is a quick proof (which may be different from the above references):  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $\{U_i\}$ be a (non-effective) enumeration of all $\Sigma^0_1$ sets making up some level of the universal Martin-Löf test for some computable measure $\mu$.  Each $U_i$ is dense and open, so by the Baire category theorem (countable intersection of dense open sets is dense), the intersection $\bigcap_i U_i$ is nonempty.  Any sequence in this intersection cannot be Martin-Löf random for any computable measure $\mu$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The same can be done for Schnorr randomness (which is weaker than Martin-Löf randomness). Let $\{U_i\}$ be the collection of all dense $\Sigma^0_1$ sets of computable $\mu$-measure for some computable measure $\mu$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;UPDATE Oct 23, 2013:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I realize there are three things to add (which I am sure are all well-known and they are probably in the above mentioned papers).&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;My above proof actually shows that 1-generics cannot be Martin-Löf random for a computable measure, since 1-generics are in all dense $\Sigma^0_1$ sets.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The K-trivials are not Martin-Löf random on any computable measure.  A sequence $X \in \{0,1\}^\mathbb{N}$ is low-for-random (a.k.a. $K$-trivial) if $\text{MLR}^X = \text{MLR}$. It can be shown that this property also extends to all computable $\mu$.  That is, if $X$ is K-trivial, then $\text{MLR}_{\mu}^X = \text{MLR}_{\mu}$ for all computable $\mu$. Hence, the non-computable $K$-trivials cannot be random for any computable measure.  For if a $K$-trivial $X$ is random on a computable measure $\mu$ then $X$ is random relative to $X$.  This means $X$ is an atom.  However, only computable points can be atoms of computable measures.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The set of all &quot;natural sequences&quot; is precisely the set of sequences truth-table reducible to a Martin-Löf random (on the fair-coin measure).  (The main idea is that every computable measure is the push-forward on an a.e. computable map, and the Martin-Löf randoms on the measure $\mu$ are exactly the sequences pushed over to the new measure.  The reason this computation is &quot;truth-table&quot; involves using &quot;layerwise computability&quot;.)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="17337" LastEditorUserId="17337" LastEditDate="2013-10-23T21:44:36.270" LastActivityDate="2013-10-23T21:44:36.270" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="18696" PostTypeId="1" AcceptedAnswerId="18699" CreationDate="2013-08-20T08:20:40.780" Score="7" ViewCount="292" Body="&lt;p&gt;This is a very basic doubt, something I've always swept under the carpet. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The definition of BPP allows a machine access to random bits, which are 0 and 1 with equal probability. Many a randomized algorithms need to sample points from a space/set of size $n$, where $n$ need not be a power of two, and sampling from such a space using random bits would typically yield Las Vegas sort of behaviour as far as running time is concerned i.e. at best, the expected running time can be bounded by polynomial.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Am I missing something here (like there being a way to sample from arbitrary sets using random bits without having to make the running time expected polynomial time), or is this something that is swept under the carpet for convenience sake i.e. BPP actually requires only expected running time being polynomial?&lt;/p&gt;&#xA;" OwnerDisplayName="user1694" LastActivityDate="2013-08-20T10:46:31.523" Title="Running time of randomized algorithms" Tags="&lt;randomness&gt;&lt;randomized-algorithms&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18697" PostTypeId="2" ParentId="18688" CreationDate="2013-08-20T09:07:35.450" Score="15" Body="&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;If your students have done any functional programming, the nicest approach I know is to start with the untyped lambda calculus, and then use the &lt;a href=&quot;http://www.cantab.net/users/antoni.diller/brackets/intro.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;bracket abstraction theorem&lt;/a&gt; to translate it into SKI combinators. Then, you can use the $smn$ and $utm$ theorems to show that Turing machines form a &lt;a href=&quot;http://ncatlab.org/nlab/show/partial+combinatory+algebra&quot; rel=&quot;nofollow noreferrer&quot;&gt;&lt;em&gt;partial combinatory algebra&lt;/em&gt;&lt;/a&gt;, and so can interpret the SKI combinators. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I doubt this is the simplest possible approach, but I like how it rests  on some of the most fundamental theorems in computability (which you may well wish to cover for other reasons). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It appears that &lt;a href=&quot;https://mathoverflow.net/questions/132800/a-proof-that-the-natural-numbers-form-a-pca&quot;&gt;Andrej Bauer answered a similar question on Mathoverflow&lt;/a&gt; a few months back.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;If you are set on a C-like language, your path will be a lot rougher, since they have a rather complicated semantics -- you'll need to &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Show that Turing machines can simulate a stack and a heap at the same time, and &lt;/li&gt;&#xA;&lt;li&gt;Show how variables can be implemented with a stack, and&lt;/li&gt;&#xA;&lt;li&gt;Show that procedure calls can be implemented with a stack. &lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;This is much of the contents of a compilers class, honestly. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="657" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2013-08-21T10:07:12.730" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18698" PostTypeId="2" ParentId="18674" CreationDate="2013-08-20T10:41:30.390" Score="2" Body="&lt;p&gt;Perhaps you can easily simulate a LBA; the idea is the following:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;for every cell of the LBA tape add a &lt;em&gt;cell gadget&lt;/em&gt; $G_i$ that can be entered only from the bottom and leaved only from the top;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;the gadget has an &lt;em&gt;entrance door&lt;/em&gt; $C_i$ which simulates the head position (only one $C_i$ is opened at every step);&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;then there are two &lt;em&gt;bit doors&lt;/em&gt; $Z_i$ and $O_i$; $Z_i$ is opened if the cell contains a  zero, $O_i$ is opened if there cell contains a one;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;both bit doors lead to a similar &lt;em&gt;control structure&lt;/em&gt; which is made by several one-way &lt;em&gt;corridors&lt;/em&gt;; a corridor corresponds to a state of the LBA, and the door $q_i$ of the $i$-th corridor is opened if and only if the current state of the LBA is $q_i$;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;according to the (possibly non-deterministic) transition table of the LBA, a traversal of the (opened) corridor changes the current state of the LBA and the configuration of the bit-doors, closes door $C_i$ and opens $C_{i+1}$ or $C_{i-1}$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;A cell gadget is sketched in the figure below.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/KZpXw.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Non-deterministic choices can be realized splitting the corridors  in the control structures into two or more &lt;em&gt;sub-corridors&lt;/em&gt; as shown in the figure below.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/S6ERq.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note: if a plate can only open/close a single door, then you can add an auxiliary structure with (long) one way corridors that (de)activates the distinct state doors of each cell.&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2013-08-20T23:03:47.257" LastActivityDate="2013-08-20T23:03:47.257" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="18699" PostTypeId="2" ParentId="18696" CreationDate="2013-08-20T10:46:31.523" Score="9" Body="&lt;p&gt;Use $k=\lceil\log n\rceil$ random bits to get a random number $r$ between $0$ and&amp;nbsp;$2^k$.  With probability at least&amp;nbsp;$\tfrac{1}{2}$, $0\leq r &amp;lt; n$ so use that as your answer; otherwise, try again. If you've not succeeded after&amp;nbsp;$t$ attempts, reject your input.  The probability of this happening is at most $2^{-t}$, which can be made as small as you like and is a component of the probability that the machine gives the wrong answer.&lt;/p&gt;&#xA;" OwnerUserId="17082" LastActivityDate="2013-08-20T10:46:31.523" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18700" PostTypeId="2" ParentId="18674" CreationDate="2013-08-20T15:26:22.113" Score="-5" Body="&lt;p&gt;this type of research of relating video games to computational complexity is quite intriguing but it is also quite new, generally less than a decade old. I will argue here there is subtlety that is sometimes being missed in the current analyses [have not seen/noticed this pointed out in the cited paper or other papers so far] and that impedes answering the stated question definitely.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;to prove a relation to a computational system, one must be able to map the computational system onto the game and vice versa. for example in the above cited paper by Viglietta there is a concept that pressure plates and doors (ie the pressure plates control doors) can be &quot;like&quot; QBFs. this analogy is certainly viable as they have mapped it out. one can use a QBF to solve a game with pressure plates and doors.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;however, here is the subtlety. in a given game, the layouts of the game are basically fixed. in video game design the concept of different layouts is called &quot;layout design&quot; and is not a &quot;given&quot; of all games. for example in the groundbreaking game Doom, the level design tools were open-sourced ie made available to players to use. in other words arbitrary level design can be regarded as part of the game. but in other games considered in papers, the video games as originally built have fixed levels. the papers are sometimes not explicitly taking this into account.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;therefore there is a strong argument to be made that in most games without level design, or random layouts, levels are fixed, and this has a big impact on the actual complexity of solving the &quot;game&quot;. ie, what exactly is the &quot;game&quot;? does it include random layouts, and/or level design possibility? is level design part of the computational mapping? these issues are glossed over somewhat in current papers. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;taken to the opposite extreme of the papers, one could argue that all real video game implementations are solvable by &lt;em&gt;FSMs&lt;/em&gt; because they have &lt;em&gt;finite memory&lt;/em&gt;!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;for there to be real computational mappings, basically one must &lt;strong&gt;generalize&lt;/strong&gt; the game to involve &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;levels with arbitrary size! so that this can be mapped to TMs with arbitrary/unlimited size &quot;input&quot; tapes.&lt;/li&gt;&#xA;&lt;li&gt;level design that allows creation of these levels.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;a slightly similar mapping issue arises in CA/Cellular Automata research where there are ideas about using infinite periodic patterns on the CAs as &quot;starting patterns&quot; to prove TM equivalence/completeness.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;so in general your question is not strictly defined until you clarify better (ie &lt;em&gt;more formally/mathematically define&lt;/em&gt;) what you mean by &quot;in a game with doors and pressure plates&quot; and in a way that even the paper does not apparently strictly define, esp wrt to ideas about level design, unlimited size levels, etcetera. but notice that the &quot;games&quot; defined with these features then have been &lt;em&gt;abstracted&lt;/em&gt; away from the actual/real video games in a very significant way.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;so in short I think this is interesting/worthwhile research, even though starting out as somewhat informal, and deserves further advancement, but to some degree its formalization must be made more strict esp in basic definitions if it is to advance further. it must make a more strict/formal/transparent distinction between the &lt;em&gt;implementations&lt;/em&gt; and the &lt;em&gt;abstractions&lt;/em&gt;.&lt;/p&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="7884" LastEditDate="2013-08-20T15:31:49.700" LastActivityDate="2013-08-20T15:31:49.700" CommentCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="18704" PostTypeId="1" CreationDate="2013-08-21T21:22:46.360" Score="3" ViewCount="650" Body="&lt;p&gt;I'm looking for an algorithm to compute the BFS tree of a graph rooted in the leader processor $r$ in the asynchronous distributed model.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The only requirement is $O(D)$ time complexity, where $D$ denotes the diameter of the graph (message complexity isn't relevant). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Currently, I'm using Bellman-Ford algorithm, but I don't know how to guarantee the global termination of this method in $O(D)$ time. I was trying to use the convergecast technique, but with no success. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is it possible to guarantee a termination of Bellman-Ford in $O(D)$ time or is there any other algorithm for computing the BFS tree in $O(D)$ time?&lt;/p&gt;&#xA;" OwnerUserId="12237" LastEditorUserId="12237" LastEditDate="2013-08-21T21:31:19.433" LastActivityDate="2013-09-25T14:24:44.960" Title="Termination of the Bellman-Ford algorithm in asynchronous distributed model" Tags="&lt;ds.algorithms&gt;&lt;graph-algorithms&gt;&lt;dc.distributed-comp&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="18706" PostTypeId="2" ParentId="18671" CreationDate="2013-08-22T00:51:31.510" Score="0" Body="&lt;p&gt;I am not sure I understood well your question, but if all weights are positive, I think that you can support weights updates in time within $O(n)$ (better than $O(n^3)$ per update, which I understand is what you asked?).&#xA;Consider &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;the symmetric matrix $W$ (as in Weight) which stores, for each pair $\{i,j\}$, the weight of this edge; &lt;/li&gt;&#xA;&lt;li&gt;the symmetric matrix $T$ (as in Total) which stores, for each pair $\{i,j\}$, the total weight of the minimal path from $i$ to $j$; and &lt;/li&gt;&#xA;&lt;li&gt;the symmetric matrix $N$ (as in Next) which stores, for each pair $\{i,j\}$, the first vertex $k$ of the shortest path from $i$ to $j$ (the entire path can then be extracted by checking $\{k,j\}$ recursively). If there are several minimal paths, take the first in lexicographical order if $i&amp;lt;j$ and the last in lexicographical order if $i&amp;gt;j$ to avoid forming cycles.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Initialize $N$ in time within $O(n^3)$ (or better via faster matrix multiplications algorithms). The values of $N$ form a spanning tree of at most $n$ edges and no shortest path contains twice the same edge.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider an update decreasing the weight of the edge $\{i,k\}$. For each entry $j$ of the row $i$ in $N$, &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;if $N\{i,j\}=k'\neq k$ and $W\{i,k'\}+T\{k',j\} &amp;gt; W\{i,k\}+T\{k,j\}$,    &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;update $N\{i,j\}\leftarrow k$ and $T\{i,j\}\leftarrow W\{i,k\}+T\{k,j\}$;&lt;/li&gt;&#xA;&lt;li&gt;update the other entries of $T$ by following the paths involving the edge $\{i,j\}$, using the symmetry of $N$. &lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Otherwise, do nothing:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;if $N\{i,j\}=k$, given that the weight is decreasing, this particular path is still optimal and does not need to be updated;&lt;/li&gt;&#xA;&lt;li&gt;if $N\{i,j\}=k'\neq k$ and $W\{i,k'\}+T\{k',j\} &amp;lt; W\{i,k\}+T\{k,j\}$, the decrease was not important enough to change the minimum path.&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Given the spanning tree structure of the solution of the all pair minimum path and the fact that the weights are always decreased, I think that this gives linear time per update. I think you could easily get the same result for directed weighted graphs, at the cost of some extra space and a more complicated structure.&lt;/p&gt;&#xA;" OwnerUserId="191" LastEditorUserId="191" LastEditDate="2013-08-22T09:51:24.297" LastActivityDate="2013-08-22T09:51:24.297" CommentCount="10" ContentLicense="CC BY-SA 3.0" />
  <row Id="18707" PostTypeId="1" AcceptedAnswerId="18808" CreationDate="2013-08-22T03:04:25.720" Score="10" ViewCount="372" Body="&lt;p&gt;I was trying to understand these classes but always got confused ... the questions are : &lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is the relation between $FNP$ and $\#P$ , in particular is it an open question ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is the relation of $\oplus P$ and $NP$ ? is this question open ? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;What about the relationship between $PH$ and $P^{FNP}$ ? is this question open ? &lt;/p&gt;&#xA;" OwnerUserId="15858" LastEditorUserId="1590" LastEditDate="2013-08-25T06:26:25.677" LastActivityDate="2013-08-31T03:07:07.967" Title="$FNP$ ,$ \#P$,$\oplus P$ classes" Tags="&lt;cc.complexity-theory&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18708" PostTypeId="1" CreationDate="2013-08-22T05:41:53.907" Score="1" ViewCount="102" Body="&lt;p&gt;I am new to the field of multi-objective optimisation and I try to find some books to read on this topic.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Yet when I search around my library I found there are many books on using evolution computing technique like GA on multi-objective optimisation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Why is there such a strong link between this the problem and this technique?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;p.s. I saw some books talk about reducing the problem into single objective optimisation and make use of conventional optimisation techniques but its always a small chapter, any suggesting materials on this direction?&lt;/p&gt;&#xA;" OwnerUserId="10965" LastActivityDate="2013-08-22T05:41:53.907" Title="Why do people like using evolution computing techniques like GA on multi-objective optimisation?" Tags="&lt;reference-request&gt;&lt;optimization&gt;&lt;ne.neural-evol&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18709" PostTypeId="1" AcceptedAnswerId="18710" CreationDate="2013-08-22T07:08:41.787" Score="2" ViewCount="1365" Body="&lt;p&gt;What can be a possible open ended research topics in Computational Complexity (or something equally fun), for an undergraduate to think about?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[I am planning to take up &lt;em&gt;something&lt;/em&gt; fun, however my objective is not to publish a paper, but just to think about it for the joy of the subject :) , but of course, if a paper comes along, that might be fun as well...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;P.S. I have taken basic courses in Theory of Computing, Algorithms, Advanced Algorithms, Advanced DS and Discrete Mathematics among others.]&lt;/p&gt;&#xA;" OwnerUserId="17325" LastEditorUserId="186" LastEditDate="2013-08-22T14:46:16.213" LastActivityDate="2013-08-22T14:46:16.213" Title="What are the open ended questions for an CS Undergraduate to think about?" Tags="&lt;soft-question&gt;&lt;advice-request&gt;&lt;project-topic&gt;" AnswerCount="1" CommentCount="5" ClosedDate="2013-08-22T14:47:15.593" ContentLicense="CC BY-SA 3.0" />
  <row Id="18710" PostTypeId="2" ParentId="18709" CreationDate="2013-08-22T10:40:49.417" Score="0" Body="&lt;p&gt;Of course, for us in academia, most problems are fun anyway: we would not be there otherwise ;) But I understand that you might be more interested in problems which do not require much background and/or which are related to mundane topics like social games. Note that it might be harder (and more important) for you to find someone willing to comment on your solution and help you to improve it than to find a fun problem itself. For this reason,  asking a professor in your department might be a better starting point. That said, here are some suggestions as to where to find ideas, and a modest proposal of mine.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Have a look at the  proceedings of the conference &quot;&lt;a href=&quot;http://www.dsi.unive.it/~fun2012/&quot; rel=&quot;nofollow&quot;&gt;Fun with Algorithms&lt;/a&gt;&quot;: they should provide you with a good selection of &quot;Fun&quot; problems to work on, and a venue where to submit your results for feedback.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Check the publications of people known to consider fun problems and problems for fun. For instance:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.mpi-inf.mpg.de/~mehlhorn/&quot; rel=&quot;nofollow&quot;&gt;Kurt Mehlhorn&lt;/a&gt; has several, one of the latest being a study of a variant of the game &quot;Master Mind&quot;, published in &quot;&lt;a href=&quot;https://domino.mpi-inf.mpg.de/intranet/ag1/ag1publ.nsf/AuthorEditorIndividualView/58981d4951d4ce56c1257aef004cbd53?OpenDocument&quot; rel=&quot;nofollow&quot;&gt;The Query Complexity of Finding a Hidden Permutation&lt;/a&gt;&quot; (another one of his is a mathematical model for how a mold can compute the path of minimal length in a maze).&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://erikdemaine.org/&quot; rel=&quot;nofollow&quot;&gt;Erik Demaine&lt;/a&gt; has a long sequence of such problems, one of the latest being the study of variants of the game &quot;&lt;a href=&quot;http://erikdemaine.org/papers/InstantInsanity_Ianfest2013/&quot; rel=&quot;nofollow&quot;&gt;Instant Insanity&lt;/a&gt;&quot;.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.stat.berkeley.edu/~mossel/&quot; rel=&quot;nofollow&quot;&gt;Elkhanan Mossel&lt;/a&gt; wrote a nice study of the &quot;&lt;a href=&quot;https://dl.acm.org/citation.cfm?id=970844.970849&quot; rel=&quot;nofollow&quot;&gt;Mine Sweeper game&lt;/a&gt;&quot;.&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Have a look at my (modest) proposal of &quot;fun&quot; problem below. If you work on it, get in touch with me!&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;h2&gt;Levitating Towers&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;As an undergraduate, you probably know the problem of the &lt;a href=&quot;https://en.wikipedia.org/wiki/Tower_of_Hanoi&quot; rel=&quot;nofollow&quot;&gt;Hanoi Tower&lt;/a&gt;. If you want to &quot;have fun&quot;, you might consider simple variants of it. Here is a very simple variant you might be interested in, which I designed for an assignment while I was a TA for an algorithm course, but never gave to students because I found it too hard for undergraduate (at least too hard for a marked assignment).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider the case where you insert and remove disks always in the middle of the tower (defined in a symmetric way when the number of disks is even, so that you always remove the last disk that you inserted), while keeping at all time the constraint that no disk stands upon a smaller one. In how many moves can you move a tower of $n$ disks from one peg to another?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The exact answer is not known. I obtained at the time a complicated upper bound of $2^{n/2}$ via a combination of 3 recursive functions. The graph of all possible states and transitions (a classical way to study the original Hanoi tower problem) is fragmented. I believe there should be a reduction to the original problem but did not find it when I played with it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Play with it. An example of the difficulty of the analysis (say, for symmetric rules removing the lower middle disk when the number of disks on a peg is even, and inserting below the center disk when the number of disk is odd) is the case where there is $1$ small disk (e.g. $1$) on the destination peg and $2$ larger ones (e.g. $8,9$) on the source peg. This particular sub-tower of height $2$ can be moved without any intermediate peg in $2$ moves (as opposed to $3$ moves and one intermediate peg in the traditional Hanoi tower): the removal order of the source peg is the same as the insertion order of the destination peg.&lt;/p&gt;&#xA;" OwnerUserId="191" LastActivityDate="2013-08-22T10:40:49.417" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="18711" PostTypeId="2" ParentId="18607" CreationDate="2013-08-22T11:08:45.723" Score="10" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;Isn't the probability of $\Sigma_{i:h (i) =1}  x_{i} \mbox{mod }  2 = 1$ at least 1/2 ? It seems that $1/(10k)$ is a weak lower bound. &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;In fact the answer is no. (It would be that $\Sigma_{i:h (i) =1}  x_{i} \mbox{mod }  2 = 1$ holds with probability at least $1/2-\varepsilon$, if we were working with an $\varepsilon$-biased hash family, and indeed using $\varepsilon$-biased hash functions gives a way to improve the parameters of the construction. But pairwise independence is not necessarily $\varepsilon$-biased.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It seems they are missing one additional step here. To apply Valiant-Vazirani directly, you would need to also randomly choose the range of the hash function. Rather than picking random pairwise-independent $h : [2^k]\rightarrow\{0,1\}$, it seems you should pick random $\ell \in \{2,\ldots,k+1\}$ and then pick random pairwise-independent $h : [2^k]\rightarrow \{0,1\}^{\ell}$. (Here I am deliberately using Arora-Barak's statement of Valiant-Vazirani, found on page 354.) &#xA; Let $s$ be the number of $x_i=1$. Valiant-Vazirani says that when you have chosen $\ell$ such that $2^{\ell-2} \leq s \leq 2^{\ell-1}$, then the probability that $\Sigma_{i:h (i) =1}  x_{i} = 1$ (over the integers!) is at least $1/8$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;So by picking random $\ell$ and picking random pairwise independent $h: [2^k]\rightarrow\{0,1\}^{\ell}$, then you have probability at least $1/(8k)$ that $\Sigma_{i:h (i) =1}  x_{i} \mbox{mod } 2 = 1$. To simulate the random choice of $\ell$ in the circuit, you could simply take the $OR$ over all possible $\ell$ (their number is logarithmic in $2^k$, after all), so the probability of success becomes at least $1/8$ again. So rather than having $O(k\log s)$ hash functions with range $\{0,1\}$, you'll want $O(k)$ different sets of hash functions (each set having a different range), with $O(\log s)$ hash functions in each set.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Why does this replacement give an equivalent SYM+ circuit ?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;A SYM of AND (i.e, SYM+) circuit of size $K$ is essentially equivalent to having a multivariate polynomial $h : \{0,1\}^n \rightarrow \{0,\ldots,K\}$ with at most $K$ monomials, a lookup table $g : \{0,\ldots,K\}\rightarrow \{0,1\}$, and computing $g(h(x_1,\ldots,x_n))$. (For instance, a proof can be found in Beigel-Tarui.) The intuition is that each monomial in $f$ is an AND gate, and $g$ is the SYM gate. I say &quot;essentially equivalent&quot; because the multilinear polynomial $h$ could also have negative coefficients for some terms, and negative coefficents are not obviously implementable in SYM of AND. But I claim (and Beigel and Tarui claim) that this is not a problem. Think about it :) &lt;/p&gt;&#xA;" OwnerUserId="225" LastEditorUserId="225" LastEditDate="2013-08-22T11:59:49.233" LastActivityDate="2013-08-22T11:59:49.233" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18712" PostTypeId="2" ParentId="18426" CreationDate="2013-08-22T11:53:30.547" Score="12" Body="&lt;p&gt;Kaveh has gently suggested in his answer that I should say something. I don't have much else to contribute to this nicely comprehensive list of answers. I can add a few generic words about how &quot;structural complexity&quot; lower bounds have evolved over the past ten years or so. (I use the name &quot;structural complexity&quot; simply to distinguish from algebraic, communication complexity, etc.) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The current approaches are still largely based on diagonalization, and in particular the following basic paradigm: &lt;em&gt;Start by assuming the opposite of the lower bound. This gives you a nice algorithm for some problem. Try to use that algorithm to contradict some hierarchy theorem based on diagonalization, such as the time hierarchy or space hierarchy. As diagonalization arguments alone are not enough to prove new lower bounds, other ingredients are added to the mix in order to obtain the contradictory recipe.&lt;/em&gt; &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I should say that many arguments from the 70s and 80s can also be said to follow the above pattern; the primary difference nowadays is the &quot;other ingredients&quot; -- there are &lt;strong&gt;many&lt;/strong&gt; ingredients to choose from, and the ways in which ingredients can be applied seem to be limited only by your own creativity. Sometimes, when you don't know how to mix particular ingredients to get any better recipe, but you understand very well how they &lt;em&gt;can&lt;/em&gt; mix, it helps to code up a computer program that suggests new recipes for you. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It would be very interesting to obtain new proofs of recent lower bounds that definitively do &lt;em&gt;not&lt;/em&gt; follow this paradigm. For instance, can $NEXP \not\subset ACC$ be proved without any reference to a diagonalization argument? To start with, can it be proved without invoking the nondeterministic time hierarchy theorem? (Could one use the &quot;circuit size hierarchy&quot; instead, for example?)&lt;/p&gt;&#xA;" OwnerUserId="225" LastActivityDate="2013-08-22T11:53:30.547" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18714" PostTypeId="2" ParentId="18664" CreationDate="2013-08-22T16:49:39.890" Score="1" Body="&lt;p&gt;The decisional version of your problem can be written in the folowing form: $$EQ(s_1,t_1)\lor EQ(s_2,t_2)\lor \dots \lor EQ(s_n,t_n).$$&#xA;This is very similar to the inner product $$x_1y_1\lor x_2y_2\lor\dots\lor x_ny_n.$$&#xA;The communication complexity of those two problems is equivalent, since equality can be done at constant randomized communication cost.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, finding an $i$ such that $s_i=t_i$ is at least as hard as the decisional version of the problem. Therefore, your problem is as hard as solving $IP$ when only one clause is satisfied. I have no direct proof, but my intuition lets me believe that $IP$ with only 1 satisfied clause is as hard as general $IP$. So the randomized complexity of your problem would be in $\Theta(n)$ if I am not mistaken.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I hope this helps.&lt;/p&gt;&#xA;" OwnerUserId="507" LastActivityDate="2013-08-22T16:49:39.890" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18715" PostTypeId="1" CreationDate="2013-08-22T18:26:53.510" Score="1" ViewCount="111" Body="&lt;p&gt;Recently such themes as semantic web, modal logics, business rules have seen increased interest as research topics in computer science (alhough many of then have more than 80 years of history), but are there any open source projects (even better if they are actively used in commercial applications as well) that use these technologies and where one can participate and get new challenges for research?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have found a lot of research projects (e.g. satisfiability solvers, logic programming environments) but at present I don't know many succesfull applied applications. There have been few reports on some of them in the jornal of &quot;Theory and Practice of Logic Programming&quot; - mostly about solving scheduling problems with logic programming methods. But maybe there is some open source projects as well?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Sometimes it seems to me that modal logics (semantic web is part of them) and logic programming gives false impression about their power and their generality has few applications, e.g. the concrete algorithms of integer programming or scheduling are more powerfull and ready for applications than general methods suggested by the former ones.&lt;/p&gt;&#xA;" OwnerUserId="9317" LastActivityDate="2013-08-23T11:38:47.600" Title="Is there good open source project that apply semantic web, modal logics, and similar technologies" Tags="&lt;semantics&gt;&lt;logic-programming&gt;&lt;project-topic&gt;&lt;modal-logic&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18716" PostTypeId="1" CreationDate="2013-08-22T19:09:46.050" Score="13" ViewCount="397" Body="&lt;p&gt;It is known that many logic problems (e.g. satisfiability problems of several modal logics) are not decidable. There are also many undecidable problems in algorithm theory, e.g. in combinatorial optimization. But in practice heuristcs and approximate algorithms works well for practical algorithms. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;So one can expect that approximate algorithms for logic problems can be suitable as well. However the only reseach trend along these lines I have managed to find is the max-SAT problem and its development was active in nineties.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there some other active research trends, workshops, keywords, good references for the use and development of approximate methods for modal logics, logic programming and so on?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If automated reasoning is expected to gain prominence in the future applications of computer science then one will have to be able to go beyond undecidability constraints of logics and approximate methods or heuristics can be natural path to follow, isn't it so?&lt;/p&gt;&#xA;" OwnerUserId="9317" LastEditorUserId="4155" LastEditDate="2013-11-13T09:53:49.360" LastActivityDate="2013-11-13T09:53:49.360" Title="Good reference about approximate methods for solving logic problems" Tags="&lt;lo.logic&gt;&lt;approximation-algorithms&gt;&lt;undecidability&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="18717" PostTypeId="2" ParentId="18716" CreationDate="2013-08-22T20:04:11.603" Score="10" Body="&lt;p&gt;The motivation you state for dealing with undecidability applies to decidable but hard problems as well. If you have a problem that is NP-hard or PSPACE-hard, we will typically have to use some form of approximation (in the broad sense of the term) to find a solution.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is useful to distinguish between different notions of approximation. &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Numeric approximation: applies when you have a metric on the solution space and you can measure distance from the solution. This is the case for problems like #SAT, where you count solutions and can design an approximation algorithm that returns a value within $\varepsilon$ of the solution. &lt;/li&gt;&#xA;&lt;li&gt;Probabilistic approximation: when you use a randomized algorithm you can give up certainty in the solution you will obtain every time you run the algorithm. You can move between randomness in the algorithm and randomness in the solution space by considering a probability distribution over solutions. Then the approximation here is that with some probability greater than $\delta$, you will obtain a correct solution.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;There are $(\varepsilon,\delta)$-algorithms for problems like ALLSAT which combine the two perspectives above. In the specific case of undecidable problems, or problems where there is no obvious metric and we do not want to use a randomized algorithm, there is a question of what notion of approximation to use. This problem arises specifically in the analysis of programs in optimizing compilers and in program verification. Determining complex properties of programs is either undecidable or computationally expensive, so some form of approximation is required. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is an example of a different notion of approximation.  Suppose you perform a computation like multiplying two large numbers and want to check if it the multiplication was correct. There are lots of heuristic techniques that are used in practice to check correctness without repeating the calculation again. You can check that the signs were multiplied to obtain the right sign. You can check whether the numbers have the right parity (even/odd number properties). You can use a more sophisticated check like &lt;a href=&quot;http://en.wikipedia.org/wiki/Casting_out_nines&quot; rel=&quot;nofollow&quot;&gt;Casting out nines&lt;/a&gt;. All these techniques have a common property that they can tell you if you made a mistake, but they cannot guarantee if you got the right answer. This property can be viewed as a logical approximation because you may be able to prove that the original calculation is wrong but you may not be able to prove that it is correct. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;All the checks I have mentioned above are examples of a technique called abstract interpretation. Abstract interpretation makes completely rigorous a notion of logical approximation distinct from numeric and probabilistic approximations. The problem I described with analysis of a single calculation extends to the more complex case of analysis of a program. The literature on abstract interpretation has developed techniques and frameworks for approximate, logical reasoning about programs, and more recently about logics. The following references might be useful. &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.di.ens.fr/~cousot/AI/IntroAbsInt.html&quot; rel=&quot;nofollow&quot;&gt;Abstract Interpretation in a Nutshell&lt;/a&gt; by Patrick Cousot, which is a simple overview.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://web.mit.edu/afs/athena.mit.edu/course/16/16.399/www/lecture_13-abstraction1/Cousot_MIT_2005_Course_13_4-1.pdf&quot; rel=&quot;nofollow&quot;&gt;Overview of Abstraction&lt;/a&gt; by Patrick Cousot, as part of his course. There is a very nice example of abstraction for determining properties of a boquet of flowers. The bouquet analogy includes fixed points and can be made completely mathematically precise. &lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://web.mit.edu/afs/athena.mit.edu/course/16/16.399/www/&quot; rel=&quot;nofollow&quot;&gt;Course on Abstract Interpretation&lt;/a&gt; by Patrick Cousot, if you want all the depth and details. &lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.di.ens.fr/~cousot/COUSOTpapers/JLP92.shtml&quot; rel=&quot;nofollow&quot;&gt;Abstract interpretation and application to logic programs&lt;/a&gt;, Patrick Cousot and Radhia Cousot, 1992. Applies to logic programs, as per your request. The initial section also formalises the casting out nines procedure as an abstract interpretation.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;All of this has typically been applied to reason about computer programs. There has been fairly recent work on applying ideas from abstract interpretation to study decision procedures for logics. The focus has not been modal logic but satisfiability in propositional logic and quantifier-free first-order theories. (Since I have worked in this space, one paper below is mine)&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.cs.wisc.edu/wpis/papers/tr1699r.pdf&quot; rel=&quot;nofollow&quot;&gt;A generalization of Staalmarck's method&lt;/a&gt; by Aditya Thakur and Thomas Reps, 2012. Gives a generalisation of Staalmarck's method to problems in program analysis.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.di.ens.fr/~cousot/COUSOTpapers/FoSSaCS-11.shtml&quot; rel=&quot;nofollow&quot;&gt;The reduced product of abstract domains and the combination of decision procedures&lt;/a&gt;, Patrick Cousot, Radhia Cousot, and Laurent Mauborgne, 2011. This paper studies the Nelson-Oppen technique for combining decision procedures and shows that it can also be used for incomplete combinations, which is particularly interesting if you have undecidable problems.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.eecs.berkeley.edu/~vijayd/papers/2012/sas.pdf&quot; rel=&quot;nofollow&quot;&gt;Satisfiability Solvers are Static Analysers&lt;/a&gt;, my paper with Leopold Haller and Daniel Kroening, 2012. Applies the lattice-based approximation view to characterise existing solvers. You could also look at &lt;a href=&quot;http://www.eecs.berkeley.edu/~vijayd/talks/2013/unification.pdf&quot; rel=&quot;nofollow&quot;&gt;my slides on the topic&lt;/a&gt;, instead.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Now none of the papers above answers your specific question about attacking satisfiability problems which are undecidable. What these papers do is take an approximation-oriented view of logical problems that is not numeric or probabilistic. This view has been applied extensively to reason about programs and I believe it addresses exactly what you are asking.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To apply it to modal logic, I would suggest a starting point is to use algebraic semantics of Jonsson and Tarski or the later semantics of Lemmon and Scott. This is because abstract interpretation is formulated in terms of lattices and monotone functions, so Boolean algebras with operators are a convenient semantics to work with. If you want to start with Kripke frames, you can apply Jonsson and Tarski's duality theorem (which some may call Stone duality) and derive the algebraic representation. Thereafter, you can apply the theorems of abstract interpretation for logical approximation.&lt;/p&gt;&#xA;" OwnerUserId="4155" LastEditorUserId="4051" LastEditDate="2013-08-29T04:29:16.243" LastActivityDate="2013-08-29T04:29:16.243" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18718" PostTypeId="1" CreationDate="2013-08-22T21:54:11.620" Score="1" ViewCount="128" Body="&lt;p&gt;Fix a version of Solomonoff's universal distribution $\mathbf M$ and consider the following procedure for generating an infinite binary sequence $\omega$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Start with some $\omega_0$. Each subsequent element is given by $\omega_n=\arg \max_a\mathbf M(a|\omega_{1:n-1})$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What are the properties of $\omega$? For example, is it necessarily computable? Does the answer depend on the choice of $\mathbf M$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;UPDATE&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The equivalent formulation is the following but it does not really help me advance with the problem. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a universal lower semicomputable $\lambda$-supermartingale $t$ and a binary sequence $\tilde\omega$ such that $t$ always &quot;goes up&quot; along $\tilde\omega$ but never succeeds?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This type of problem arises when a player plays against a reactive environment and the sequence the player observes is not exogenous. A more general question is what is the short-run behavior of $\mathbf M$ since asymptotic results do not seem to help here.&lt;/p&gt;&#xA;" OwnerUserId="17327" LastEditorUserId="17327" LastEditDate="2013-08-25T22:35:45.467" LastActivityDate="2021-05-13T06:01:35.163" Title="What kind of string is produced by successive application of argmax M" Tags="&lt;computability&gt;&lt;randomness&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="18719" PostTypeId="1" CreationDate="2013-08-23T03:15:08.037" Score="0" ViewCount="423" Body="&lt;p&gt;Karger's algorithm works by contracting edges, not merging nodes (this is different because nodes need not share an edge).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a reason why this is so?&lt;/p&gt;&#xA;" OwnerUserId="17364" LastEditorDisplayName="user1694" LastEditDate="2013-08-23T11:49:03.593" LastActivityDate="2013-08-24T21:19:21.073" Title="karger's algorithm contracting nodes not edges" Tags="&lt;randomized-algorithms&gt;&lt;max-flow-min-cut&gt;" AnswerCount="1" CommentCount="8" ClosedDate="2013-09-16T21:16:43.603" ContentLicense="CC BY-SA 3.0" />
  <row Id="18722" PostTypeId="2" ParentId="18715" CreationDate="2013-08-23T11:38:47.600" Score="1" Body="&lt;p&gt;Not open source, but the AI engines of some successful computer games are based on modal logic, see e.g. &quot;Using Exclusion Logic to Model Social Practices&quot; and &quot;Introducing Exclusion Logic as a Deontic Logic&quot;  by Richard Evans.&lt;/p&gt;&#xA;" OwnerUserId="898" LastActivityDate="2013-08-23T11:38:47.600" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18723" PostTypeId="2" ParentId="18719" CreationDate="2013-08-23T13:26:43.840" Score="1" Body="&lt;p&gt;The run-time of Karger-Stein is usually represented as a function of the number of vertices $n$, not of the number of edges. Therefore, placing an edge of weight $0$ between two vertices that previously did not share an edge would make your algorithm identical to theirs and not change the run-time. &lt;/p&gt;&#xA;" OwnerUserId="15671" LastEditorUserId="15671" LastEditDate="2013-08-24T21:19:21.073" LastActivityDate="2013-08-24T21:19:21.073" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18724" PostTypeId="1" CreationDate="2013-08-23T14:04:20.703" Score="-3" ViewCount="553" Body="&lt;p&gt;I have this huge dimensional data with 31200 features and only 6000 examples. I want to learn a neural network  that can find the non linear relation between the input and outputs. However, I have huge number of features. So wouldn't it cause problems in neural network?&lt;/p&gt;&#xA;" OwnerUserId="15672" LastActivityDate="2013-08-23T14:48:18.640" Title="Mapping input and output sequences using neural networks in high dimensional data" Tags="&lt;machine-learning&gt;&lt;ai.artificial-intel&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18725" PostTypeId="1" AcceptedAnswerId="18789" CreationDate="2013-08-23T14:42:03.250" Score="8" ViewCount="280" Body="&lt;p&gt;Let $H$ be a maximum induced interval subgraph of a graph $G=(V,E)$.  If $n=|V|$， then what is the smallest number of $V(H)$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The number is at most $3n/4$： consider a set of disjoint $4$-holes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can it be smaller?&lt;/p&gt;&#xA;" OwnerUserId="7059" LastActivityDate="2013-08-29T20:05:00.307" Title="Lower bound on the size of maximum interval induced subgraphs of an $n$-vertex graph $G$" Tags="&lt;reference-request&gt;&lt;extremal-combinatorics&gt;&lt;interval-graphs&gt;" AnswerCount="2" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18726" PostTypeId="2" ParentId="18724" CreationDate="2013-08-23T14:48:18.640" Score="0" Body="&lt;p&gt;You can try Dimensionality Reduction Techniques like &lt;a href=&quot;http://en.wikipedia.org/wiki/Principal_component_analysis&quot; rel=&quot;nofollow&quot;&gt;PCA&lt;/a&gt; or &lt;a href=&quot;http://en.wikipedia.org/wiki/Linear_discriminant_analysis&quot; rel=&quot;nofollow&quot;&gt;LDA&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There's &lt;a href=&quot;http://www.cc.gatech.edu/~isbell/tutorials/dimred-survey.pdf&quot; rel=&quot;nofollow&quot;&gt;this&lt;/a&gt; survey by Fodor, but it involves some math, so you can look into this &lt;a href=&quot;http://www.math.uwaterloo.ca/~aghodsib/courses/f06stat890/readings/tutorial_stat890.pdf&quot; rel=&quot;nofollow&quot;&gt;tutorial&lt;/a&gt; as well.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another thing you can do is Feature Selection in the preprocessing step. You can look into &lt;a href=&quot;http://www.researchgate.net/publication/231175355_On_General_Definition_of_L1-norm_Support_Vector_Machines_for_Feature_Selection/file/79e415063b2049dc26.pdf&quot; rel=&quot;nofollow&quot;&gt;this paper&lt;/a&gt; by Nguyen.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also if you want an easy way out, you can use the &lt;a href=&quot;http://featureselection.asu.edu/software.php&quot; rel=&quot;nofollow&quot;&gt;Software Package&lt;/a&gt; from ASU. They have a fairly well documented &lt;a href=&quot;http://featureselection.asu.edu/featureselection_techreport.pdf&quot; rel=&quot;nofollow&quot;&gt;report&lt;/a&gt; on it as well.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hope this somewhat helps.&#xA;Have fun Learning :)&lt;/p&gt;&#xA;" OwnerUserId="17325" LastActivityDate="2013-08-23T14:48:18.640" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18727" PostTypeId="1" CreationDate="2013-08-23T16:35:23.757" Score="21" ViewCount="412" Body="&lt;p&gt;Is there a (reasonable) way to sample a uniformly random boolean function $f:\{0,1\}^n \to \{0,1\}$ whose degree as a real polynomial is at most $d$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT: &lt;a href=&quot;http://link.springer.com/article/10.1007%2FBF01263419&quot;&gt;Nisan and Szegedy&lt;/a&gt; have shown that a function of degree $d$ depends on at most $d2^d$ coordinates, so we may assume that $n \leq d2^d$. The problems as i see are the following:&#xA;1) On one hand if we pick a random boolean function on $d2^d$ coordinates, then its degree will be close to $d2^d$, much higher than $d$.&#xA;2) On the other hand, if we pick each coefficient of degree at most $d$ at random, then the function will not be boolean.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So the question is: is there a way to sample a low degree boolean function that avoids these two problems?&lt;/p&gt;&#xA;" OwnerUserId="15711" LastEditorUserId="15711" LastEditDate="2014-06-15T06:39:44.103" LastActivityDate="2018-10-30T05:54:17.697" Title="Random functions of low degree as a real polynomial" Tags="&lt;randomness&gt;&lt;boolean-functions&gt;&lt;bounded-degree&gt;" AnswerCount="1" CommentCount="6" FavoriteCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="18729" PostTypeId="2" ParentId="18674" CreationDate="2013-08-23T20:10:51.587" Score="2" Body="&lt;p&gt;Another quick way to prove the Metatheorem 2c (PSPACE-hardness when the doors are controlled by two plates) is to use the Nondeterministic Constraint Logic framework (&lt;a href=&quot;http://groups.csail.mit.edu/mac/users/bob/ncl.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;R.A. Hearn and E.D. Demaine, The Nondeterministic Constraint Logic Model of Computation: Reductions and Applications&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In this case it is sufficient to use an horizontal series of vertical corridors-pairs. The state of each pair of corridors represents the direction (inward/outward) of an edge in the original constraint graph. It is sufficient to simulate the AND gadget and OR gadget, like sketched in the figure below.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/8WDpX.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;" OwnerUserId="3247" LastActivityDate="2013-08-23T20:10:51.587" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18730" PostTypeId="1" CreationDate="2013-08-24T06:51:52.713" Score="21" ViewCount="882" Body="&lt;p&gt;Given a sorted array of $n$ positive integers, the problem is to find the longest subsequence so that the progression of differences between consecutive elements of the subsequence is geometrically increasing.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there any complexity theoretic reason to believe this simple looking problem cannot be solved in $O(n^2)$ time?  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;added&lt;/strong&gt; How fast can this problem be solved? Dynamic programming seems to give $O(n^3)$ time.&lt;/p&gt;&#xA;" OwnerUserId="17377" LastEditorUserId="17377" LastEditDate="2013-08-25T08:01:43.593" LastActivityDate="2016-01-07T05:42:42.770" Title="Longest geometrically increasing subsequence" Tags="&lt;ds.algorithms&gt;" AnswerCount="0" CommentCount="11" FavoriteCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="18732" PostTypeId="1" CreationDate="2013-08-24T15:02:43.437" Score="1" ViewCount="345" Body="&lt;p&gt;What is the state-of-the art on algorithms that calculate/estimate approximate quantiles?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I don't even worry about errors in terms of the value of quantiles (here meaning the cutoff) but having roughly equal sized bins. E.g. if I need vingtiles, I want to have low risk of having any bin having less than 4% of the data or more than 6%.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If I need to implement this in an existing high-level statistical system, I think the question inevitable becomes restricted to downsampling from a population of $N$ to a subsample of $n$ and take quantiles using sorting at costs at the order $O(n \log n)$ instead of $O(N \log N)$, but at the right ratio as a function of the original sample size. I am looking for guidance on how to pick $n$ for any $N$. &lt;/p&gt;&#xA;" OwnerUserId="17375" LastEditorUserId="17375" LastEditDate="2013-08-25T18:53:23.757" LastActivityDate="2013-08-25T18:53:23.757" Title="algorithms to split data into roughly equal sized quantiles" Tags="&lt;approximation-algorithms&gt;&lt;sorting&gt;&lt;sample-complexity&gt;" AnswerCount="2" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="18733" PostTypeId="2" ParentId="18732" CreationDate="2013-08-24T15:46:38.120" Score="3" Body="&lt;p&gt;It is possible to find the quantiles in $O(N)$ using a straightforward modification of the selection algorithm based on quicksort (see &lt;a href=&quot;http://en.wikipedia.org/wiki/Selection_algorithm&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/Selection_algorithm&lt;/a&gt;). &lt;/p&gt;&#xA;" OwnerUserId="10740" LastActivityDate="2013-08-24T15:46:38.120" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18734" PostTypeId="2" ParentId="18732" CreationDate="2013-08-24T16:10:43.567" Score="3" Body="&lt;p&gt;One line of attack on approximate quantiles is via streaming algorithms. In one scan of the data (i.e., very efficiently) you can get estimates for the quantiles within error $\epsilon N$ for any $\epsilon &amp;gt; 0$, which means that if your true marker is (say) $5\%$, and $\epsilon = 0.01$, your true marker will be between $4-6\%$. &lt;a href=&quot;http://www.cs.ucsb.edu/~suri/psdir/ency.pdf&quot; rel=&quot;nofollow&quot;&gt;There's a nice survey of results here&lt;/a&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;But streaming algorithms are potentially overkill. You can also sample the data to get approximate counts. Roughly speaking, if you need an error of at most $\epsilon N$ in the absolute estimate, then you need a sample of size $n = O(\frac{1}{\epsilon^2}\log \frac{1}{\epsilon})$ with reasonably high probability. &lt;/p&gt;&#xA;" OwnerUserId="80" LastEditorUserId="5038" LastEditDate="2013-08-25T06:26:35.130" LastActivityDate="2013-08-25T06:26:35.130" CommentCount="10" ContentLicense="CC BY-SA 3.0" />
  <row Id="18736" PostTypeId="1" CreationDate="2013-08-24T20:40:25.203" Score="9" ViewCount="394" Body="&lt;p&gt;Are there known algorithms for the following problem that beat the naive algorithm?&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Input: matrix &lt;span class=&quot;math-container&quot;&gt;$A$&lt;/span&gt; and vectors &lt;span class=&quot;math-container&quot;&gt;$b,c$&lt;/span&gt;, where all entries of &lt;span class=&quot;math-container&quot;&gt;$A,b,c$&lt;/span&gt; are nonnegative integers.&lt;/p&gt;&#xA;&lt;p&gt;Output: an optimal solution &lt;span class=&quot;math-container&quot;&gt;$x^*$&lt;/span&gt; to &lt;span class=&quot;math-container&quot;&gt;$\max \{ c^T x : Ax \le b, x \in \{ 0,1\}^n \}$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;This question is a refined version of my previous question &lt;a href=&quot;https://cstheory.stackexchange.com/questions/18482/exact-exponential-time-algorithms-for-0-1-programming&quot;&gt;Exact exponential-time algorithms for 0-1 programming&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="13056" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2013-12-16T22:06:42.200" Title="Exact exponential-time algorithms for 0-1 programs with nonnegative data" Tags="&lt;np-hardness&gt;&lt;integer-programming&gt;&lt;exp-time-algorithms&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="18737" PostTypeId="1" CreationDate="2013-08-25T01:12:26.157" Score="2" ViewCount="333" Body="&lt;p&gt;Is there any programming language in which any equivalent program has a unique normal representation, and that normal representation is decidable? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is other words, suppose A and B are programs written on that hypothetic language. Suppose, too, that for any input x, A(x) = B(x) - that is, those programs are equivalent. There should, then, be an algorithm Z for which Z(A) = Z(B).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, that language should be able to encode boolean logic.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there such a language?&lt;/p&gt;&#xA;" OwnerUserId="17388" LastActivityDate="2013-08-26T10:32:35.480" Title="Is there any programming language in which any equivalent program has a unique, decidable normal representation?" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;pl.programming-languages&gt;&lt;computability&gt;" AnswerCount="3" CommentCount="9" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18739" PostTypeId="2" ParentId="18737" CreationDate="2013-08-25T05:59:34.047" Score="2" Body="&lt;p&gt;As Igor Shinkar explains, no Turing-complete language can satisfy your criteria.  This sharply limits the expressibility of any such language.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, regular expressions would be one example of a language that does satisfy your condition, since it is decidable to find a minimal regular expression (or minimal DFA) that is equivalent to a given regexp.  (However, there is no guarantee that the normal form can be computed efficiently; in the worst case, it might take exponential time.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another example would be boolean circuits: it is decidable to find a minimal boolean circuit that is equivalent to a given circuit.  (However, the normal form cannot be computed efficiently.)&lt;/p&gt;&#xA;" OwnerUserId="5038" LastActivityDate="2013-08-25T05:59:34.047" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18742" PostTypeId="1" CreationDate="2013-08-25T06:32:20.750" Score="3" ViewCount="633" Body="&lt;p&gt;This seems like a straightforward application of zero knowledge techniques, but an answer eludes me. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Alice and Bob claim to have devised an encryption scheme: specifically, they claim to possess functions $E()$ and $D()$ to encrypt and decrypt arbitrary $n$-bit messages. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Charlie wishes to verify this claim, but Alice and Bob don't want Charlie to learn anything about the method. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can Charlie verify that Alice and Bob can indeed encrypt and decrypt in a zero knowledge fashion ? &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2013-08-26T10:47:39.377" Title="Zero knowledge verification of an encryption protocol" Tags="&lt;cr.crypto-security&gt;&lt;zero-knowledge&gt;" AnswerCount="3" CommentCount="10" ContentLicense="CC BY-SA 3.0" />
  <row Id="18743" PostTypeId="2" ParentId="18737" CreationDate="2013-08-25T07:49:11.047" Score="1" Body="&lt;p&gt;For any programming language in which the programs are computably enumerable,&#xA;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&quot;any equivalent program has a unique normal representation,&#xA;&lt;br&gt;&#xA;and that normal representation is decidable&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;is equivalent to&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&quot;the equivalence of programs is decidable&quot;&#xA;&lt;br&gt;&lt;br&gt;&lt;br&gt;&#xA;.&#xA;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&#xA;(Proof: the normal representation is the first equivalent program.)&#xA;&lt;br&gt;&lt;br&gt;&lt;/p&gt;&#xA;" OwnerDisplayName="user6973" LastActivityDate="2013-08-25T07:49:11.047" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18746" PostTypeId="1" CreationDate="2013-08-25T10:59:35.770" Score="1" ViewCount="305" Body="&lt;p&gt;This is a slight variation of the question &lt;a href=&quot;https://cs.stackexchange.com/questions/13849/are-zero-one-jigsaw-puzzles-np-complete&quot;&gt;Are 'zero-one' jigsaw puzzles NP-complete?&lt;/a&gt; asked on cs.stackexchange.com.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is the complexity of the following problem?&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;&lt;b&gt;Input&lt;/b&gt;: an $n\times n$ Jigsaw puzzle with the six simple types of tiles shown in the figure below. $k$ tiles are already placed on the board and cannot be moved.&#xA;&lt;br&gt;&lt;br&gt;&lt;b&gt;Question&lt;/b&gt;: can we correctly complete the puzzle placing the remanining $n^2 - k$ tiles on the board (tiles can be rotated).&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/85bDB.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The original question on cs.stackexchange is a particular case in which $k = 4n-4$ and the initial tiles are placed only on the border.&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="-1" LastEditDate="2017-04-13T12:48:30.830" LastActivityDate="2013-08-25T10:59:35.770" Title="Partially filled jigsaw puzzle with six types of tiles" Tags="&lt;np-hardness&gt;&lt;puzzles&gt;" AnswerCount="0" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18747" PostTypeId="1" CreationDate="2013-08-25T12:22:29.630" Score="2" ViewCount="151" Body="&lt;p&gt;Assume that we have $p$ finite sets ${m_1},{m_2},...,{m_p}$, with &lt;strong&gt;known&lt;/strong&gt; cardinalities &#xA;${M_1},{M_2},...,{M_p}$, where $1 \le {M_i} \leq q$ ($i=1,2,...,p$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Each set contains (distinct) elements, taken from GF($q$) (I am interested in particular in the case where $q$ is a power of $2$). Now, we consider all possible assignments of elements to $\left\{ {{m_i}} \right\}_{i = 1}^p$. It is clear that we have $\prod\limits_{i = 1}^p {\left( {\begin{array}{*{20}{c}}&#xA;  q \\ &#xA;  {{M_i}} &#xA;\end{array}} \right)} $ such assignments.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For each assignment $A_k$ ($k=1,2...,\prod\limits_{i = 1}^p {\left( {\begin{array}{*{20}{c}}&#xA;  q \\ &#xA;  {{M_i}} &#xA;\end{array}} \right)} $) we consider all possible combinations of elements from the sets in the assignment, when one element is taken from each set (that is, we have $p$ elements for each combination), and we sum the elements of each combination, using GF($q$) arithmetic. There are $\prod\limits_{i = 1}^p {{M_i}} $ possible combinations/sums for each assignment.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given the sums $S_{kj}$ ($j=1,2,...,\prod\limits_{i = 1}^p {{M_i}}$) for each assignment $k$, we count the number of distinct elements of GF($q$) among these sums, and we write down this number, $d_k$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Repeating this process, we end with $\prod\limits_{i = 1}^p {\left( {\begin{array}{*{20}{c}}&#xA;  q \\ &#xA;  {{M_i}} &#xA;\end{array}} \right)} $ numbers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As an example, consider the case $q = 4,p = 2,{M_1} = {M_2} = 2$. Possible assignments to $m_1$, as well as for $m_2$ in this case, are:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\left\{ {0,1} \right\},\left\{ {0,2} \right\},\left\{ {0,3} \right\},\left\{ {1,2} \right\},\left\{ {1,3} \right\},\left\{ {2,3} \right\}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assume a specific assignment ${m_1} = \left\{ {0,1} \right\},{m_2} = \left\{ {1,2} \right\}$. We have $4$ combinations/sums:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$0 + 1 = 1,0 + 2 = 2,1 + 1 = 0,1 + 2 = 3$ and for this specific assignment the number of distinct elements is $4$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another possible assignment is ${m_1} = \left\{ {0,1} \right\},{m_2} = \left\{ {0,1} \right\}$. Now the combinations/sums are $0 + 0 = 1,0 + 1 = 1,1 + 0 = 1,1 + 1 = 0$ and we have $2$ distinct elements. Repeating this, we obtain $\left( {\begin{array}{*{20}{c}}&#xA;  4 \\ &#xA;  2 &#xA;\end{array}} \right) \cdot \left( {\begin{array}{*{20}{c}}&#xA;  4 \\ &#xA;  2 &#xA;\end{array}} \right) = 36$ numbers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Denote by $d$ the random variable that counts the number of distinct elements for each assignment. My question is: what is the probability that $d=n$ ($n=1,2,...,q$)? in other words, given cardinalities ${K_1},{K_2},...,{K_p}$, what is the probability that the number of distinct sums for a randomly chosen assignment equals $n=1,2,...,q$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I tried to formulate this as the probability that union of $\frac{{\prod\limits_{i = 1}^p {\left( {\begin{array}{*{20}{c}}&#xA;q\\&#xA;{{M_i}}&#xA;\end{array}} \right)} }}{{{{\max }_i}\left( {{M_i}} \right)}}$ sets of cardinality ${\max _i}\left( {{M_i}} \right)$ is of size $n$ (this way the probability is zero for $d &amp;lt; {\max _i}\left( {{M_i}} \right)$), but this does not take into account additional properties of GF($q$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is interesting to note that in the example above, we have zero probability for $d=3$:&#xA;$$\Pr \left( {d = 1} \right) = 0,\Pr \left( {d = 2} \right) = 1/3,\Pr \left( {d = 3} \right) = 0,\Pr \left( {d = 4} \right) = 2/3$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I also noted that when $M_i=2$ and $q=4$, we have for each $p$: $\Pr \left( {d = 2} \right) = 1/3^{p-1}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(This probability distribution was calculated using a computer, computing $d_k$ explicitly for each assignment).&lt;/p&gt;&#xA;" OwnerUserId="17147" LastEditorUserId="17147" LastEditDate="2013-08-26T12:16:12.447" LastActivityDate="2013-08-26T12:16:12.447" Title="Combinations over GF($q$)" Tags="&lt;combinatorics&gt;" AnswerCount="0" CommentCount="6" CommunityOwnedDate="2013-08-26T11:14:20.053" ContentLicense="CC BY-SA 3.0" />
  <row Id="18748" PostTypeId="1" CreationDate="2013-08-25T12:47:35.077" Score="-1" ViewCount="4073" Body="&lt;p&gt;I would like to know what is the asymptotic time complexity analysis for general models of Back-propagation Neural Network, SVM and Maximum Entropy. Does it just depend on number of features included and training time complexity is the only stuff that really matters. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;And does it real matter when applying on large chunk of text classification like twitter data or blog data&lt;/p&gt;&#xA;" OwnerUserId="17341" LastActivityDate="2013-09-01T14:16:17.223" Title="Compute Time Complexity of Neural network, SVM and other classification algorithms" Tags="&lt;machine-learning&gt;&lt;time-complexity&gt;" AnswerCount="2" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18750" PostTypeId="1" CreationDate="2013-08-25T18:31:19.147" Score="0" ViewCount="190" Body="&lt;p&gt;Is there any work on approximation algorithms (or exact algorithms) for finding an assignment-minimum cover of an arbitrary graph using complete k-partite subgraphs?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm assuming this problem is NP-hard.  Is it?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a better term for complete k-partite subgraph (like multiclique or something)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT: k is not fixed.  The covering subgraphs can each have different values of k.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT 2: When I say &quot;cover&quot;, I mean a cover over all the edges of the graph (not over all the vertices).  Furthermore, by &quot;subgraph&quot; I actually mean subgraph, not induced subgraph.&#xA;k=1 no-edge subgraphs are useless and can be removed from the solution since they cover zero edges.&#xA;By assignment-minimum, I mean find the solution which minimizes the number of assignments of vertices to subgraphs (as in &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=2275596&quot; rel=&quot;nofollow&quot;&gt;http://dl.acm.org/citation.cfm?id=2275596&lt;/a&gt;)&lt;/p&gt;&#xA;" OwnerUserId="13643" LastEditorUserId="13643" LastEditDate="2013-08-26T00:39:57.633" LastActivityDate="2013-08-26T00:39:57.633" Title="Finding assignment-minimum complete k-partite graph cover" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;approximation-algorithms&gt;&lt;set-cover&gt;&lt;clique&gt;" AnswerCount="0" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="18751" PostTypeId="2" ParentId="18736" CreationDate="2013-08-25T18:57:00.623" Score="5" Body="&lt;p&gt;if the number of non-zero coefficients in $A$ is linear in $n$, there is an algorithm that solves this problem in less than $2^n$ time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here's how it works.  We use the standard connection between an optimization problem and its corresponding decision problem.  To test whether there exists a solution $x$ where $Ax\le b$ and $c^T x \ge \alpha$, we will form a decision problem: we will adjoin the constraint $c^T x\ge \alpha$ to the matrix $A$, and test whether there exists any $x$ such that $Ax \le b$ and $-c^T x \le -\alpha$.  In particular, we will form a new matrix $A'$ by taking $A$ and adding an extra row containing $-c^T$, and we will form $b'$ by taking $b$ and adjoining an extra row with $-\alpha$.  We obtain a decision problem: does there exist $x \in \{0,1\}^n$ such that $A' x \le b'$?  The answer to this decision problem tells us whether there exists a solution to the original optimization problem of value $\alpha$ or greater.  Moreover, as explained in &lt;a href=&quot;https://cstheory.stackexchange.com/a/18483/5038&quot;&gt;the answer to your prior question&lt;/a&gt;, this decision problem can be solved in less than $2^n$ time, if the number of non-zero coefficients in $A'$ is linear in $n$ (and thus if the number of non-zero coefficients in $A$ is linear in $n$).  Now we can use binary search on $\alpha$ to solve your optimization problem in less than $2^n$ time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My thanks to AustinBuchanan and Stefan Schneider for helping to debug an earlier version of this answer.&lt;/p&gt;&#xA;" OwnerUserId="5038" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2013-08-26T01:31:10.937" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="18752" PostTypeId="2" ParentId="18671" CreationDate="2013-08-25T19:31:46.970" Score="3" Body="&lt;p&gt;I think adding the keywords decremental/incremental might help you find the relevant papers. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;See e.g. &#xA;&lt;a href=&quot;http://dx.doi.org/10.1007/978-0-387-30162-4_102&quot; rel=&quot;nofollow&quot;&gt;Camil Demetrescu, Giuseppe F. Italiano: Decremental All-Pairs Shortest Paths. Encyclopedia of Algorithms 2008&lt;/a&gt; for an overview, &lt;a href=&quot;http://dx.doi.org/10.1016/j.jcss.2005.05.005&quot; rel=&quot;nofollow&quot;&gt;Camil Demetrescu, Giuseppe F. Italiano: Fully dynamic all pairs shortest paths with real edge weights. J. Comput. Syst. Sci. 72(5): 813-837 (2006)&lt;/a&gt;, and &lt;a href=&quot;http://doi.acm.org/10.1145/1039488.1039492&quot; rel=&quot;nofollow&quot;&gt;Camil Demetrescu, Giuseppe F. Italiano: A new approach to dynamic all pairs shortest paths. J. ACM 51(6): 968-992 (2004)&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Approximate versions have been considered as well; the most recent result I know of is &lt;a href=&quot;http://arxiv.org/abs/1308.0776&quot; rel=&quot;nofollow&quot;&gt;Monika Henzinger, Sebastian Krinninger, Danupon Nanongkai: Dynamic Approximate All-Pairs Shortest Paths: Breaking the O(mn) Barrier and Derandomization, FOCS 2013&lt;/a&gt;.&#xA;Table 1 in their paper has an overview of results.&lt;/p&gt;&#xA;" OwnerUserId="4821" LastEditorUserId="4821" LastEditDate="2013-08-25T19:37:56.437" LastActivityDate="2013-08-25T19:37:56.437" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18754" PostTypeId="2" ParentId="18742" CreationDate="2013-08-25T20:29:49.367" Score="1" Body="&lt;p&gt;My first two claims hold for both symmetric and public key encryption.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the concrete security context, if there exists &lt;em&gt;any&lt;/em&gt; secure&#xA;encryption scheme, then &quot;Can C efficiently decrypt?&quot; is $\mathsf{coNP}$-hard.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Proof&lt;/strong&gt;:&lt;br&gt;&#xA;For a secure encryption scheme ($\hspace{.03 in}gen$ and) $E$ and $D$, given a boolean circuit $\mathcal{C}$ such that we want to decide whether or not $\mathcal{C}$ is always true, (use the same $gen$ and have) the algorithm $F\hspace{.03 in}?D$ discard the leading bit and then apply $D$, and have $F\hspace{.03 in}?E$ output $\:\:&quot;\hspace{-0.06 in}1\hspace{-0.06 in}&quot; || \hspace{.06 in} E(\hspace{.04 in}pk\hspace{.02 in},m) \:\:$ except when&#xA;&lt;br&gt;&#xA;[$\operatorname{len}(m)$ is the number of inputs to $\mathcal{C}$ and $\mathcal{C}(m)$ is false], in which case have it output $\:\: &quot;\hspace{-0.06 in}0\hspace{-0.06 in}&quot; || \hspace{.06 in} m \;\;$.&#xA;&lt;br&gt;&#xA;(Additionally, test some arbitrary input to the circuit $\mathcal{C}$, in case $\mathcal{C}$ is &lt;em&gt;always&lt;/em&gt; false.)&#xA;&lt;br&gt;&lt;br&gt;&lt;br&gt;&#xA;For that matter, &quot;Does this encryption scheme decrypt correctly?&quot; is also coNP-hard.&#xA;&lt;br&gt;&#xA;(Under no assumptions.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Proof:&lt;br&gt;&#xA;Given a boolean circuit $\mathcal{C}$, (let $gen$ uniformly sample an $n$ bit key,) let $\: E(k,m) = m \:$ for all $m\hspace{.02 in}$,&#xA;&lt;br&gt;&#xA;let $\: D(k,m) = m \:$ except when [$\operatorname{len}(m)$ is the number of inputs to $\mathcal{C}$ and $\mathcal{C}(m)$ is false],&#xA;&lt;br&gt;&#xA;in which case let $D(k,m)$ be anything other than $m$.&#xA;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&#xA;Assume AS0 and AS1 are publicly known axiomatic systems&#xA;&lt;br&gt;&#xA;that allow efficient testing of alleged proofs in them.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;% will be shorthand for &quot;an encryption scheme &lt;em&gt;and&lt;/em&gt; a proof in AS0&#xA;&lt;br&gt;&#xA;that decryption works correctly &lt;em&gt;and&lt;/em&gt; a proof of security in AS1&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;AS1 would presumably take a cryptographic assumption as an axiom,&#xA;&lt;br&gt;&#xA;since otherwise Alice/Bob knowing % would be quite a feat.&#xA;&lt;br&gt;&lt;br&gt;&lt;br&gt;&#xA;One could use a standard zero-knowledge protocol to verify that Alice/Bob knows %,&#xA;&lt;br&gt;&#xA;although that would reveal an upper bound on the lengths&#xA;&lt;br&gt;&#xA;of the algorithm descriptions &lt;em&gt;and&lt;/em&gt; the lengths of the proofs.&#xA;&lt;br&gt;&#xA;(This option can give a &lt;em&gt;proof&lt;/em&gt;, while the next two options can only give arguments.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If Alice/Bob knows %, then one could verify that they know an encryption scheme&#xA;&lt;br&gt;&#xA;for which they &lt;a href=&quot;http://research.microsoft.com/en-us/um/people/melissac/DbComUAQK.pdf#page=7&quot; rel=&quot;nofollow&quot;&gt;&quot;quasi-know&quot;&lt;/a&gt; (and in particular, there exists) the rest of %,&#xA;&lt;br&gt;&#xA;although that would reveal an upper bound on the lengths of the algorithms.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If Alice/Bob knows %, then one could verify that they &quot;quasi-know&quot; %,&#xA;&lt;br&gt;&#xA;without revealing &lt;em&gt;anything&lt;/em&gt; else.&#xA;&lt;br&gt;&lt;br&gt;&lt;/p&gt;&#xA;" OwnerDisplayName="user6973" LastEditorDisplayName="user6973" LastEditDate="2013-08-26T02:11:14.773" LastActivityDate="2013-08-26T02:11:14.773" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18756" PostTypeId="1" AcceptedAnswerId="18771" CreationDate="2013-08-26T00:49:40.960" Score="7" ViewCount="2841" Body="&lt;p&gt;In the computational complexity theory, we say that an algorithm have complexity $O(f(n))$ if the number of computations that solve a problem with input size $n$ is bounded by $cf(n)$, for all integer $n$, where $c$ is a positive constant non-depending on $n$, and $f(n)$ is an increasing function that goes to &lt;em&gt;infinity&lt;/em&gt; as $n$ does.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The &lt;strong&gt;3-SAT&lt;/strong&gt; problem is stated as: &lt;em&gt;given a CNF expression, whose clauses has exactly 3 literals, is there some assignment of TRUE and FALSE values to the variables that will make the entire expression true?&lt;/em&gt;  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A CNF expression consists of, say, $k$ clauses involving &lt;em&gt;m&lt;/em&gt; variables $x_1,x_2, ..., x_m$.&lt;br&gt;&#xA;In order to decide if 3-SAT has polynomial complexity $p(n)$, or not, I need to understand something so simple as &quot;what is &lt;em&gt;n&lt;/em&gt;&quot; in the problem.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is:  &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Which is considered, in this particular &lt;strong&gt;3-SAT&lt;/strong&gt; problem, the input&#xA;  size &lt;em&gt;n&lt;/em&gt;?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Is it the number &lt;em&gt;k&lt;/em&gt; of clauses? Or is it the number &lt;em&gt;m&lt;/em&gt; of variables?&lt;br&gt;&#xA;Or &lt;em&gt;n&lt;/em&gt; is some function of &lt;em&gt;k&lt;/em&gt; and &lt;em&gt;m&lt;/em&gt;? ( $n=f(k,m)$ ).  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;What exactly the theoretical computer scientits consider as the input size for this problem?  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I did the estimate that $n \leq $constant $* m^3$. Is this correct for you? &lt;/p&gt;&#xA;" OwnerUserId="17398" LastEditorUserId="29303" LastEditDate="2017-03-11T17:57:54.630" LastActivityDate="2017-03-11T17:57:54.630" Title="What's the meaning of &quot;input size&quot; for 3-SAT?" Tags="&lt;cc.complexity-theory&gt;&lt;sat&gt;" AnswerCount="2" CommentCount="3" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="18757" PostTypeId="2" ParentId="18742" CreationDate="2013-08-26T02:56:48.263" Score="3" Body="&lt;p&gt;For symmetric-key encryption:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If Alice and Bob know a proof that $D_K(E_K(x))=x$ for all $x,K$, then they should be able to prove this fact in zero knowledge.  In particular, they can produce boolean circuits for $D_\cdot(\cdot)$ and $E_\cdot(\cdot)$, publish a commitment to each boolean circuit, and then turn their proof into a zero-knowledge proof.  In particular, verifying that $D_K(E_K(x))=x$ for all $x,K$ is in &lt;strong&gt;co-NP&lt;/strong&gt;, and thus in &lt;strong&gt;IP&lt;/strong&gt;, and there are zero-knowledge proofs for all of &lt;strong&gt;IP&lt;/strong&gt; (and all of &lt;strong&gt;PSPACE&lt;/strong&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now if Alice wants to encrypt a message, she can give a zero-knowledge proof that she has encrypted some message correctly by doing the following: publish commitments $C(x),C(K)$ to her message $x$ and her key $K$; publish a commitment $C(y)$ to her ciphertext $y=E_K(x)$; and now give a zero-knowledge proof that all the commitments are consistent (the ciphertext corresponding to $C(y)$ is a correct encryption, under the boolean circuit for encryption that was committed to earlier, under the key corresponding to $C(K)$ of the message corresponding to $C(x)$).  Whether this is a useful thing to prove is another matter entirely -- it's not clear exactly what you are looking for or how you would use a solution to your problem, but hopefully this will give you some ideas.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For public-key encryption:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See Sadeq Dousti's comment.  The exposition above can be readily adjusted to fit the public-key encryption setting, along the lines Sadeq Dousti suggests.&lt;/p&gt;&#xA;" OwnerUserId="5038" LastActivityDate="2013-08-26T02:56:48.263" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18759" PostTypeId="1" CreationDate="2013-08-26T05:02:29.697" Score="8" ViewCount="336" Body="&lt;p&gt;In the seminal paper of Polishchuk and Spielman where they give a construction of nearly linear sized $PCP$ for an $NP$ problem, one of the key ingredients is a low-degree test for bivariate polynomials. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;The following paragraph just provides some information about the paper and context for my question. Strictly speaking, it may be skipped. My question itself is concerned with simple multivariate polynomial algebra&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Essentially, to test if the function values on a set of evaluation points correspond to a bivariate polynomial of maximum degrees $(d,d)$, we check whether the restriction of this to axis parallel lines (i.e. rows and columns) are all degree $d$ univariate polynomials (This is an equivalence condition in the absolute case, which is easy to verify. The interesting part is the robustness of the test: that is, if the function values on the restrictions to axis parallel lines agree with low-degree polynomials on &quot;most&quot; points, then there is a bivariate low degree polynomial which also agrees with the function on most evaluation points). The proof of robustness uses the notion of error-corrector polynomial to capture the &quot;bad&quot; evaluation points, polynomial interpolation and then uses resultants. &#xA;I am intentionally not being too precise here because none of this is relevant to my actual doubt, which is probably a minor algebraic technicality in a part of the proof:&#xA;&lt;a href=&quot;http://cs.yale.edu/homes/spielman/PAPERS/holographic.pdf&quot; rel=&quot;noreferrer&quot;&gt;http://cs.yale.edu/homes/spielman/PAPERS/holographic.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;The problem&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider section 5: &quot;Piecing it together&quot; in the above paper. The polynomials $P(x,y)$ and $E(x,y)$ are interpreted as univariate polynomials in $y$ over the field of rational functions in $x$ over $\mathbb{F}$, that is $\mathbb{F}(x)$ . We would ultimately like to show that $E(x,y)$ divides $P(x,y)$ as bivariate polynomials in $\mathbb{F}[x,y]$, and this is shown by arguing that $E(x,y)$ divides $P(x,y)$ as univariate polynomials in $y$ over $\mathbb{F}(x)$, and then use Gauss's lemma to imply the former.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am unable to see how Gauss's lemma trivially establishes this implication.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For instance, suppose $P(x,y)=y^2x$ and $E(x,y)=yx^2$. Then $E$ does divide $P$ as polynomials in $y$ over $\mathbb{F}(x)$, but clearly not as bivariate polynomials in $\mathbb{F}[x,y]$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Gauss's lemma states that if a univariate polynomial in $\mathbb{D}[x]$ (where $\mathbb{D}$ is a UFD) is reducible as a polynomial in $\mathbb{K}[x]$ (where $\mathbb{K}$ is the field of fractions of $\mathbb{D}$), then it is reducible in in $\mathbb{D}[x]$ itself.)&lt;/p&gt;&#xA;" OwnerUserId="17400" LastEditorUserId="17400" LastEditDate="2013-08-26T06:49:31.857" LastActivityDate="2019-12-20T21:12:08.373" Title="Bivariate low-degree polynomial testing of Polishchuk-Spielman" Tags="&lt;cc.complexity-theory&gt;&lt;coding-theory&gt;&lt;algebra&gt;&lt;pcp&gt;&lt;polynomials&gt;" AnswerCount="2" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="18760" PostTypeId="2" ParentId="18742" CreationDate="2013-08-26T10:25:14.423" Score="1" Body="&lt;p&gt;You can adapt the work of &lt;a href=&quot;http://link.springer.com/chapter/10.1007%2F3-540-46416-6_8&quot; rel=&quot;nofollow&quot;&gt;Okamoto-Chaum-Ohta&lt;/a&gt; to this case. Let $P$ be the prover, $V$ the verifier, $E$ the public encryption key + algorithm (common input to $P$ and $V$), and $D$ the secret decryption key + algorithm (private input to $P$). We assume that $E$ can be probabilistic (to satisfy semantic security, it &lt;strong&gt;has&lt;/strong&gt; to be), and therefore it uses some randomness to encrypt a message: $c = E(x ; r)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Further, assume that $Com$ is a commitment scheme.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The protocol is as follows (in the first step, $P$ commits to a random string $u$ using randomness $\rho$):&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;$P \to V : Com(u ; \rho)$&lt;/li&gt;&#xA;&lt;li&gt;$V \to P : c = E(x ; r)$&lt;/li&gt;&#xA;&lt;li&gt;$P \to V : Dec(c) \oplus u$&lt;/li&gt;&#xA;&lt;li&gt;$V \to P : x, r$&lt;/li&gt;&#xA;&lt;li&gt;$P \to V : \rho$&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;The idea is that $P$ shows to $V$ that he can decrypt by committing to the decryption. However, he does not reveal the decryption until $V$ shows that he actually knows the plaintext.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Contrary to its simplicity, this protocol has lots of caveats. For instance, one can show that if $Com$ and $E$ are related in a &lt;em&gt;bizarre&lt;/em&gt; way, the protocol is not zero-knowledge.&#xA;Another caveat is that if $E$ is in fact probabilistic, showing that the protocol is a proof of ability is very hard (if not impossible). However, if it is deterministic (say, merely a trapdoor one-way permutation), then the proof is rather easy. In any case, one can show that the protocol can be used for identification (in the smart-card model of Feige, Fiat, and Shamir).&lt;/p&gt;&#xA;" OwnerUserId="873" LastEditorUserId="873" LastEditDate="2013-08-26T10:47:39.377" LastActivityDate="2013-08-26T10:47:39.377" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="18761" PostTypeId="2" ParentId="18737" CreationDate="2013-08-26T10:32:35.480" Score="8" Body="&lt;p&gt;What you are asking for does not exist for a general-purpose programming language (by which we mean that the language can simulate Turing machines, and that Turing machines can simulate the language). Let me first recall the proof, and then turn the question around to discover something interesting.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We have to make your question just a bit more precise. Let us suppose that when you speak of inputs and outputs you mean strings, and that your programs are total (defined on all inputs). Now suppose there were an algorithm $Z$ which maps programs to programs (that is, strings to strings) such that, given any two valid programs $A$ and $B$ which map strings to strings, $Z(A)$ and $Z(B)$ are defined and&#xA;$$Z(A) = Z(B) \iff \forall x \in \mathtt{string} . A(x) = B(x).$$&#xA;Notice that I did not even require that $Z(A)$ be a program equivalent to $A$, it can be any string whatsoever, the important thing is that it maps $A$ and $B$ to the same string if, and only if, they represent equivalent programs. We can now solve the halting oracle as follows.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $A$ be a program which always outputs the string 0, i.e., $A(x) = 0$ for all $x \in \mathtt{string}$, and let $x_0 = Z(A)$. Consider any Turing machine $M$ and an input $y$. Because we assumed our language is Turing-complete, from a description of $M$ and a given input $y$ we can construct a program $B_{M,y}$, which computes as&#xA;$$B_{M,y}(n) = \begin{cases}&#xA;1 &amp;amp; \text{if $M(y)$ halts in fewer than $n$ steps of simulation}\\\\&#xA;0 &amp;amp; \text{otherwise}&#xA;\end{cases}$$&#xA;Notice that $B_M$ and $A$ are equivalent if, and only if, $M(y)$ diverges. But now we can decide whether $M(y)$ halts: if $Z(B_{M,y}) = x_0$ then $M(y)$ does not halt, otherwise it halts.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The above argument shows that programs of type $\mathtt{string} \to \mathtt{string}$ do not have canonical codes. How about other kinds of programs? Well, in some cases we obviously can produce canonical codes. For instance, a program $A$ of type $\mathtt{bool} \to \mathtt{bool}$ can be represnted canonically by the list $[A(\mathtt{false}), A(\mathtt{true})]$, from which the corresponding $Z$ can be easily constructed. If we replace $\mathbb{bool}$ with some other finite datatype, we also obtain canonical codes by simply listing the values of $A$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But did you know that there are canonical codes for programs of type $(\mathtt{nat} \to \mathtt{bool}) \to \mathtt{bool}$? That is, given a program $A$ which takes as input infinite binary streams and outputs a bit, we &lt;em&gt;can&lt;/em&gt; compute a corresponding canonical code $Z(A)$. See my blog post on &lt;a href=&quot;http://math.andrej.com/2009/10/12/constructive-gem-double-exponentials/&quot;&gt;juggling double exponentials&lt;/a&gt; where I explicitly construct $Z$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We could also ask whether it is possible to make Turing machines somehow more powerful so that we &lt;em&gt;can&lt;/em&gt; compute canonical code, and thereby solve the Halting problem. Well, adding an oracle will not help because exactly the same reasoning goes through. But we use &lt;a href=&quot;http://arxiv.org/pdf/math/9808093.pdf&quot;&gt;infinite-time Turing machines&lt;/a&gt; (ITTM), then canonical codes for maps $\mathtt{string} \to \mathtt{string}$ &lt;em&gt;are&lt;/em&gt; computable. The ITTM's therefore &lt;em&gt;can&lt;/em&gt; solve the Halting problem for ordinary Turing machines, but they still cannot solve their own halting problem (which is not reducible to comparison of two functions $$mathtt{string} \to \mathtt{string}$). See my paper on &lt;a href=&quot;http://math.andrej.com/2011/06/15/constructive-gem-an-injection-from-baire-space-to-natural-numbers/&quot;&gt;embedding $\mathbb{N}^{\mathbb{N}}$ into $\mathbb{N}$&lt;/a&gt; for details.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;P.S. Apologies for blatant self-propaganda.&lt;/p&gt;&#xA;" OwnerUserId="705" LastActivityDate="2013-08-26T10:32:35.480" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18764" PostTypeId="2" ParentId="18725" CreationDate="2013-08-26T14:24:32.367" Score="6" Body="&lt;p&gt;We can do $2\sqrt{n}-1$; consider the complete $\sqrt{n}$-partite graph, as long as there are two parties both with more than one node inside there is an induced $C_4$, so it cannot be inteval.  Therefore we have to remove at least $(\sqrt{n}-1)^2 = n - 2\sqrt{n} + 1$ nodes to destroy all the induced $C_4$.&lt;/p&gt;&#xA;" OwnerUserId="1800" LastEditorUserId="1800" LastEditDate="2013-08-26T15:32:29.817" LastActivityDate="2013-08-26T15:32:29.817" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18766" PostTypeId="1" AcceptedAnswerId="18768" CreationDate="2013-08-26T15:29:08.943" Score="1" ViewCount="955" Body="&lt;p&gt;As a part of my curriculum, I am studying principles of DBMS from the book by Silberschatz and Korth.&lt;br&gt;&#xA;A part of it is about &lt;code&gt;Data Definition Language (DDL)&lt;/code&gt;.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I understand, in normal terms, that DDL is any set of commands that modify the schema and not the actual data. That is the simple way of putting it. A certain paragraph in the book states, in addition to what I said, as below:  &lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;We specify the storage structure and access methods used by the database system&#xA;by a set of statements in a special type of DDL called a data storage and definition language.&#xA;These statements define the implementation details of the database schemas,&#xA;which are usually hidden from the users.  &#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Can someone please explain to me what the first two lines mean ?&lt;br&gt;&#xA;AFAIK, storage structure here would refer to the tables, in RDBMS, and access methods would refer to the views because they define what the user gets to see ?  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Still, a simple explanation on this is welcome :)&lt;/p&gt;&#xA;" OwnerUserId="16776" LastActivityDate="2013-08-26T17:17:26.723" Title="What is DDL (Data Definition Language)?" Tags="&lt;db.databases&gt;&lt;relational-structures&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18767" PostTypeId="2" ParentId="18756" CreationDate="2013-08-26T15:53:52.587" Score="2" Body="&lt;p&gt;Sasho : that's not completely true, you seem to assume that the formula doesn't have any redundant clause. A formula could have exponentially many 3-clauses in the number of variables.&#xA;Thus, it might be better to consider $k$ as main parameter.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then, I think that any reasonable encoding will have the same size, which will be roughly $O(k \log m)$.&#xA;And because $m &amp;lt; 3k$, we end up with an encoding in $O(k \log k)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT: encoding is of size $O(k \log k)$ and not $O(\log^2 k)$&lt;/p&gt;&#xA;" OwnerUserId="17405" LastEditorUserId="17405" LastEditDate="2013-08-26T17:00:42.653" LastActivityDate="2013-08-26T17:00:42.653" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="18768" PostTypeId="2" ParentId="18766" CreationDate="2013-08-26T17:17:26.723" Score="2" Body="&lt;p&gt;Operations on a database are divided into DDL and DML. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;DDL are operations that alter the structure of the database. This includes creating/dropping tables, constraints, indexes, packages, views, dblinks, adding or removing columns to a table, changing object names and so on.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;DML are the operations that alter the data stored in the database. This includes inserting, deleting and updating rows to/from a table.&lt;/p&gt;&#xA;" OwnerUserId="17352" LastActivityDate="2013-08-26T17:17:26.723" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="18769" PostTypeId="2" ParentId="14166" CreationDate="2013-08-26T18:55:46.967" Score="9" Body="&lt;p&gt;Let me add a concrete example to the excellent answer of Jeffrey Shallit.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose you want to create a Scrabble (TM) dictionary. You can think of several ways to represent your dictionary, like list of words, tries (letter trees) or deterministic automata. According to [1], minimizing a trie to a dawg [= DFA] &lt;em&gt;produces an amazing savings in space; the number of nodes is reduced from 117,150 to 19,853. The lexicon represented as a raw word list takes about 780 Kbytes, while our dawg can be represented in 175 Kbytes.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As you can see, the state complexity really matters in this case, especially if you want to write an efficient program as the authors did. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] Appel and Jacobson &lt;a href=&quot;http://www.cs.cmu.edu/afs/cs/academic/class/15451-s06/www/lectures/scrabble.pdf&quot;&gt;The World's Fastest Scrabble Program&lt;/a&gt;, &#xA;Communications of the ACM &lt;strong&gt;31&lt;/strong&gt;, 572-578   (1988). &lt;/p&gt;&#xA;" OwnerUserId="17203" LastEditorUserId="17203" LastEditDate="2013-08-26T20:10:00.593" LastActivityDate="2013-08-26T20:10:00.593" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18770" PostTypeId="1" AcceptedAnswerId="18773" CreationDate="2013-08-27T07:34:19.583" Score="16" ViewCount="477" Body="&lt;p&gt;In the paper &lt;a href=&quot;http://scholar.google.com/scholar_url?hl=de&amp;amp;q=http://www.seas.gwu.edu/~simhaweb/iisc/Corneil.pdf&amp;amp;sa=X&amp;amp;scisig=AAGBfm3Riq2QOePpaMaf4zYGqCXJrgJofQ&amp;amp;oi=scholarr&quot;&gt;An Efficient Algorithm for Graph Isomorphism&lt;/a&gt; by Corneil and Gotlieb, 1970 a conjecture was stated upon which the stated algorithm relied for solving GI in polynomial time. Namely:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;that the representative graphs exhibit the automorphism partitioning of the&#xA;  given graph&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Obviously, this conjecture isn't proven until now (otherwise we would know that GI is in P). My question is whether it was already shown to be false and possibly a counter example was given?&lt;/p&gt;&#xA;" OwnerUserId="17410" LastActivityDate="2013-08-27T14:06:10.230" Title="Counterexample for Corneil's efficient algorithm for Graph Isomorphism" Tags="&lt;graph-isomorphism&gt;&lt;automorphism&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18771" PostTypeId="2" ParentId="18756" CreationDate="2013-08-27T11:02:08.993" Score="11" Body="&lt;p&gt;In complexity theory, $n$&amp;nbsp;is the length in bits of the input the algorithm has been given.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In particular, it is &lt;em&gt;not&lt;/em&gt; the &quot;number of bits required to represent the input&quot; because that would be very hard to reason about &amp;mdash; you'd have to prove that you'd chosen the most efficient possible coding.  If my input to 3-SAT is the formula consisting of 276&amp;nbsp;repetitions of the clause $X\vee \neg Y \vee \neg Z$, then $n$ is however many bits it took me to express that input; it is not, for example, the number of bits it would have taken me to express the equivalent formula that has just one copy of the clause.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, in practical terms, complexity is often expressed in terms of other measures.  For example, the running time of algorithms in graph theory is often given as a function of the number of vertices and/or edges; in satisfiability, the number of variables and/or clauses is often used.  In terms of describing algorithms, it's often more intuitive to give the bounds that way: it's a higher-level view of a graph as a set of vertices and edges, rather than the &quot;machine-code&quot; view of representing that as a string of bits.  In terms of complexity theory, we're often only interested in broad questions like, &quot;Is there a polynomial-time algorithm?&quot; or &quot;Does it need exponential time?&quot;  Because these questions are insensitive to polynomial factors, $n$&amp;nbsp;is sometimes used to mean other things.  For example, in 3-SAT, a formula in $N$&amp;nbsp;variables can be coded using $n=4N^3$ bits (see below).  Anything that's polynomial in&amp;nbsp;$n$ is polynomial in&amp;nbsp;$N$ and vice-versa so, for that kind of question, it doesn't really matter which you use.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here's how to code a 3-CNF formula with $N$ variables in $4N^3$ bits.  Every clause has either 0, 1, 2 or&amp;nbsp;3 negations; we may permute so that the negated literals appear first in any clause. Now, fix an enumeration (say, lexicographic) of all the $N^3$ possible 3-tuples of variables. For each kind of clause (0, 1, 2 or 3 negations), make a list of $N^3$ bits such that the $i$th bit is&amp;nbsp;1 if, and only if, the $i$th 3-tuple is a clause with that number of negations. The input is those four lists.  The first thing any algorithm using this input format would do is check that its input length is $4N^3$ for some&amp;nbsp;$N$.  If it isn't, the input doesn't code anything, so it doesn't code a satisfiable formula, so the algorithm rejects.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that even the above coding still has some redundancy, since the clause $X\vee Y \vee Z$ appears in six permutations.  If $n$&amp;nbsp;were the minimum number of bits required to code the input, we'd be forced to use a coding that avoided that redundancy. Worse, if we were reasoning about 3-SAT over random inputs selected from some distribution, the minimum number of bits required to express some input would involve something like Huffman coding the inputs according to that distribution, and it would be a total nightmare. So it's just the length of the input you were given.&lt;/p&gt;&#xA;" OwnerUserId="17082" LastActivityDate="2013-08-27T11:02:08.993" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="18773" PostTypeId="2" ParentId="18770" CreationDate="2013-08-27T13:53:13.013" Score="18" Body="&lt;p&gt;Mathon has shown that the conjecture used by Corneil and Gotlieb is false. The first reference states this fact.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1- P. Foggia, C.Sansone, M. Vento, A Performance Comparison of Five Algorithms for Graph Isomorphism, Proc. 3rd IAPR-TC15 Workshop Graph-Based Representations in Pattern Recognition, 2001, pp. 188-199.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2- R. Mathon, Sample graphs for isomorphism testing, Congressus Numerantium, 21, pp.&#xA;499-517, 1978&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2013-08-27T14:06:10.230" LastActivityDate="2013-08-27T14:06:10.230" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18775" PostTypeId="1" CreationDate="2013-08-27T15:34:03.453" Score="7" ViewCount="190" Body="&lt;p&gt;Conventional coding theory provides a good geometric picture behind linear error correction codes in terms of Hamming distance. What additional geometric requirement one should add to make a code locally decodable?&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;In other words what channel model does locally decodable code try to solve? Where does it fit in Shannon theory?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="1812" LastEditorUserId="1812" LastEditDate="2019-05-28T16:48:23.243" LastActivityDate="2019-05-28T16:48:23.243" Title="Geometric Intuition behind Locally testable codes" Tags="&lt;big-picture&gt;&lt;it.information-theory&gt;&lt;coding-theory&gt;&lt;shannon-entropy&gt;&lt;shannon&gt;" AnswerCount="0" CommentCount="5" ContentLicense="CC BY-SA 4.0" />
  <row Id="18776" PostTypeId="2" ParentId="16476" CreationDate="2013-08-27T16:18:28.953" Score="14" Body="&lt;p&gt;&lt;strong&gt;Short answer&lt;/strong&gt;. Given a finite family of regular languages $\mathcal{L} = (L_i)_{1 \leqslant i \leqslant n}$, there is a unique minimal deterministic complete multi-automaton recognizing this family. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Details&lt;/strong&gt;. The case $n = 1$ corresponds to the standard construction and the general case is not much different in spirit. Given a language $L$ and a word $u$, let $u^{-1}L = \{ v \in A^* \mid uv \in L \}$. Define an equivalence relation $\sim$ on $A^*$ by setting&#xA;$$&#xA; u \sim v \iff \text{for each }L \in \mathcal{L},\ u^{-1}L = v^{-1}L&#xA;$$&#xA;Since the $L_i$ are regular, this congruence has finite index. Further, it is easy to see that each $L_i$ is saturated by $\sim$ and that for each $a \in A$, $u \sim v$ implies $ua \sim va$. Let us denote by $1$ the empty word and by $[u]$ the $\sim$-class of a word $u$. Let $\mathcal{A}_\mathcal{L} = (Q, [1], \cdot, (F_i)_{1 \leqslant i \leqslant n})$ be the deterministic multi-automaton defined as follows:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;$Q = \{ [u] \mid u \in A^*\}$,&lt;/li&gt;&#xA;&lt;li&gt;$[u] \cdot a = [ua]$,&lt;/li&gt;&#xA;&lt;li&gt;$F_i = \{ [u] \mid u \in L_i\}$.  &lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;By construction, $[1] \cdot u \in F_i$ if and only if $u \in L_i$ and hence $\mathcal{A}_\mathcal{L}$ accepts the family $\mathcal{L}$. It remains to prove that $\mathcal{A}_\mathcal{L}$ is minimal. It is actually minimal in a strong algebraic sense (which implies that it has the minimal number of states). Let $\mathcal{A} = (Q, q_-, \cdot, (F_i)_{1 \leqslant i \leqslant n})$ and $\mathcal{A}' = (Q', q'_-, \cdot, (F'_i)_{1 \leqslant i \leqslant n})$ be two multi-automata. A morphism $f: \mathcal{A} \to \mathcal{A}'$ is a surjective map from $Q$ onto $Q'$ such that&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;$f(q_-) = q'_-$,&lt;/li&gt;&#xA;&lt;li&gt;for $1 \leqslant i \leqslant n$, $f^{-1}(F'_i) = F_i$,   &lt;/li&gt;&#xA;&lt;li&gt;for all $u \in A^*$ and $q \in Q$, $f(q \cdot u) = f(q) \cdot u$.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Then for any accessible deterministic multi-automaton $\mathcal{A}$ accepting $\mathcal{L}$, there is a morphism from $\mathcal{A}$ onto $\mathcal{A}_\mathcal{L}$. To prove this, one  first verifies that if $q_- \cdot u_1 = q_- \cdot u_2 = q$, then $u_1 \sim u_2$. Now $f$ is defined by $f(q) = [u]$ where $u$ is any word such that $q_- \cdot u = q$. Then one can show that $f$ satisfies the three required properties.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The end is a bit sketchy, let me know if you need more details.&lt;/p&gt;&#xA;" OwnerUserId="17203" LastActivityDate="2013-08-27T16:18:28.953" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18777" PostTypeId="1" AcceptedAnswerId="18781" CreationDate="2013-08-27T16:26:37.150" Score="12" ViewCount="1749" Body="&lt;p&gt;I have been learning something about implementing dependent types, like &lt;a href=&quot;http://math.andrej.com/2012/11/08/how-to-implement-dependent-type-theory-i/&quot;&gt;this tutorial&lt;/a&gt;, but most of them is implementing interpreters. My question is, it seems that implementing a compiler for dependent type is much harder than a compiler, because you can really evaluate the the dependent type arguments for type checking.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Is my naive impression right?&lt;/li&gt;&#xA;&lt;li&gt;If it is right, any example / resources about implementing a statically checked language supporting dependent type?&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="15733" LastEditorUserId="15733" LastEditDate="2013-08-27T16:44:38.983" LastActivityDate="2018-12-04T11:21:50.707" Title="Is compiler for dependent type much harder than an intepreter?" Tags="&lt;type-systems&gt;&lt;compilers&gt;&lt;dependent-type&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="18780" PostTypeId="2" ParentId="18777" CreationDate="2013-08-27T19:08:35.950" Score="10" Body="&lt;p&gt;Edwin Brady's &lt;a href=&quot;https://eb.host.cs.st-andrews.ac.uk/writings/thesis.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;PhD thesis&lt;/a&gt; outlines how to construct a compiler for a dependently typed programming language.&#xA;I'm not an expert, but I'd say it's not extremely harder than implementing a System F-like compiler. Many of the principles are quite similar and some are the same (e.g. supercombinator compilation.) The thesis covers many other concerns.&lt;/p&gt;&#xA;" OwnerUserId="5167" LastEditorUserId="40639" LastEditDate="2018-12-04T11:21:50.707" LastActivityDate="2018-12-04T11:21:50.707" CommentCount="0" ContentLicense="CC BY-SA 4.0" />
  <row Id="18781" PostTypeId="2" ParentId="18777" CreationDate="2013-08-27T21:29:56.383" Score="13" Body="&lt;p&gt;This is an interesting question! As Anthony's answer suggests, one can use the usual approaches to compiling a non-dependent functional language, &lt;strong&gt;provided you already have an interpreter to evaluate terms for type-checking&lt;/strong&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is the approach taken by Edwin Brady. Now this is conceptually simpler, but it does lose the speed advantages of compilation when performing type checking. This has been addressed in several manners.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First, one can implement a virtual machine which compiles terms to byte-code on the fly to perform the conversion check. This is the idea behind &lt;code&gt;vm_compute&lt;/code&gt; implemented in Coq by &lt;a href=&quot;http://cristal.inria.fr/~xleroy/publi/strong-reduction.pdf&quot; rel=&quot;noreferrer&quot;&gt;Benjamin Gregoire&lt;/a&gt;. Apparently there is also &lt;a href=&quot;http://opus4.kobv.de/opus4-tuberlin/files/2859/kleeblatt_dirk.pdf&quot; rel=&quot;noreferrer&quot;&gt;this&lt;/a&gt; thesis by Dirk Kleeblatt on this exact subject, but down actual machine code rather than a virtual machine.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Second, one may generate code in a more conventional language which, upon execution, checks all the conversions necessary to type-check a dependently typed program. This means we can use Haskell, say, to type-check an Agda module. The code can be compiled and run, and if it accepts, then the code in the dependently-type language can be assumed to be well-typed (barring implementation and compiler errors). I've first heard this approach suggested by &lt;a href=&quot;http://www.cs.mcgill.ca/~mboes/papers/cpp11.pdf&quot; rel=&quot;noreferrer&quot;&gt;Mathieu Boesflug&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, one may require that the terms appearing in types and the terms intended to be run be part of two distinct languages. If the terms appearing at the type level do not themselves have dependent types, then one may compile in two stages: first, compile the &quot;type-level&quot; code and then you can execute this when checking the types of the &quot;term-level&quot; code. I'm not aware of any system that proceeds in this manner, but it is potentially possible for many systems, like Microsoft's &lt;a href=&quot;http://research.microsoft.com/en-us/projects/fstar/&quot; rel=&quot;noreferrer&quot;&gt;F$^*$&lt;/a&gt; language which has distinct type-level and program-level terms.&lt;/p&gt;&#xA;" OwnerUserId="3984" LastEditorUserId="3984" LastEditDate="2013-09-03T21:03:42.160" LastActivityDate="2013-09-03T21:03:42.160" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="18782" PostTypeId="1" CreationDate="2013-08-28T00:28:25.023" Score="3" ViewCount="133" Body="&lt;p&gt;Given in this problem is a set of values $0 \le c_{a,b} &amp;lt; n$, where $0 \le a &amp;lt; n$ and $0 \le b &amp;lt; n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem is to find the following sum as quickly as possible:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\sum_{a,b}{c_{a,b}x^a y^b} \bmod n$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here $x$ and $y$ are also assumed to be integers modulo $n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'd like to know what the best method/approach is to solving this problem, and what kinds of worst-case behavior we can expect to get the sum.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there any similar problems whose solutions may help with this?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;SOME NAIVE IDEAS&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are $n^2$ different constants and only $n$ different possible assignments for each $c_{a,b}$, so it seems that grouping some of the coefficients together is the best way to go.  However, beyond simple ideas, I'm not sure what will work best.  I'm hoping I can get some good suggestions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;MOTIVATION&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My motivation for tackling this particular problem is that its solution may help improve the bounds of #3-SAT by some small degree.  However, the relation between the two is fairly complicated.&lt;/p&gt;&#xA;" OwnerUserId="1549" LastActivityDate="2013-09-07T17:41:47.503" Title="How well can we do with this variable assignment problem?" Tags="&lt;ds.algorithms&gt;&lt;worst-case&gt;" AnswerCount="2" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18783" PostTypeId="2" ParentId="18782" CreationDate="2013-08-28T01:44:17.893" Score="0" Body="&lt;p&gt;Assuming No Space Limitations:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To compute:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$x^a \ \ mod \ \ n$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Use modular exponentiation by squarings. Which takes roughly $O(ln(a))$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Be sure to store the values produced by the algorithm so that way later attempts to compute $x^a$ need not start from scratch and will be significantly faster than before (I have a feeling this is the type of detail you want heuristics on so I will try my best underneath)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The same process works for Y as well.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The total time becomes $O(n^2ln(n))$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now for further detail:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we 2D sort the elements $c_{a,b}$ based on the size of their coordinates we consume time:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$O(nln(n)$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;At this point however if we begin to compute the values x^a and y^b we will be doing it step by incrementally and therefore the total computation time is:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$nln(n)$$ but this being done at each step of the $n^2$ computations...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So the total time is:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$O(n^2)$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Cutting this down further I predict can be done via Quantum Computation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;sorry I believe I made a mistake:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The 2dimensional sort would take $n^2ln(n)$...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So the time complexity is:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$O(n^2ln(n))$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Sadly :(&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Without bringing some kind of Quantum computation out the best you could ever do is $n^2$ as that's the time to just read the problem input. Manipulating it once it is read will likely be of similar complexity&lt;/p&gt;&#xA;" OwnerUserId="17394" LastEditorUserId="17394" LastEditDate="2013-08-28T02:59:27.393" LastActivityDate="2013-08-28T02:59:27.393" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18785" PostTypeId="2" ParentId="5659" CreationDate="2013-08-28T03:34:06.960" Score="3" Body="&lt;p&gt;Garry Bowlin and Matthew G. Brin's paper &quot;Coloring Planar Graphs via Colored Paths in the Associahedra&quot;, last revised 12 May 2013, &lt;a href=&quot;http://arxiv.org/abs/1301.3984&quot; rel=&quot;nofollow&quot;&gt;arXiv:1301.3984 math.CO&lt;/a&gt; contains the following conjecture on page 26:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Conjecture 6.4. For every pair of ﬁnite, binary trees (D, R) with the same number&#xA;  of leaves, there is a sign assignment of D and a word w of rotation symbols valid&#xA;  for D so that Dw = R.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;It is stated that conjecture 6.4 following from previous propositions and theorems in the paper is equivalent to 4CT.&lt;/p&gt;&#xA;" OwnerUserId="17110" LastActivityDate="2013-08-28T03:34:06.960" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18786" PostTypeId="1" CreationDate="2013-08-28T07:14:20.170" Score="5" ViewCount="213" Body="&lt;p&gt;We can think of the class $NC$ as the class of problems that can be solved in parallel, whereas a $P$-complete problem probably has no parallel solution.  My question is: where do online algorithms fit in this spectrum?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My intuition says that online problems are more difficult than parallel problems.  This would be more-or-less confirmed by the existence of an online algorithm for a $P$-complete problem.  So do any exist?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Alternatively, we could define a complexity class for online problems $O$ such that:&#xA;$$&#xA;NC \subseteq O \subseteq P&#xA;$$&#xA;Then we would have to define $O$-complete problems and convince ourselves that they cannot be parallelized.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any advice on what I should read to think about this some more?&lt;/p&gt;&#xA;" OwnerUserId="10267" LastActivityDate="2013-08-28T07:14:20.170" Title="Is there an online algorithm for solving any P-complete problem?" Tags="&lt;reference-request&gt;&lt;complexity-classes&gt;&lt;online-algorithms&gt;" AnswerCount="0" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="18787" PostTypeId="1" CreationDate="2013-08-28T08:41:05.660" Score="15" ViewCount="1273" Body="&lt;p&gt;As the title. The incremental algorithm maintains the reachability information  of a DAG when it undergoes a series of edge insertions (but no deletions). And the algorithm supports constant query (if node u reaches node v) time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It takes amortized O(n) time for each edge insertion (G.F. Italiano. Amortized efficiency of a path retrieval data structure. Theoretical Computer Science, 48(2–3):273–281, 1986.) on general directed graphs. Is it possible to do it faster on DAGs?&lt;/p&gt;&#xA;" OwnerUserId="12512" LastActivityDate="2013-08-28T08:41:05.660" Title="What is the fastest deterministic algorithm for incremental DAG reachability?" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;dynamic-algorithms&gt;" AnswerCount="0" CommentCount="4" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="18789" PostTypeId="2" ParentId="18725" CreationDate="2013-08-28T12:38:32.897" Score="6" Body="&lt;p&gt;I think the answer is $\Theta(\log n)$ and the proof is the same as the classic Ramsey-theorem proof. On one hand, you always have a complete or empty subgraph with these many vertices. On the other, a random graph won't have a large induced $C_4$-free subgraph. For this latter, bound the number of induced subgraphs on $t$ vertices by $n^t$ and for each bound the probability of being $C_4$-free by $c^{t^2}$ where $c&amp;lt;1$ is some constant. This we can do because a complete graph on $t$ vertices contains $\Omega(t^2)$ disjoint $K_4$'s.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In more detail, divide the $t\choose 2$ possible edges among any $t$ vertices into $\Omega(t^2)$ disjoint cliques of four vertices. In any such clique of four vertices, the probability that the edges among them will not form a $C_4$ is some constant $p&amp;lt;1$. Therefore the probability that there won't be a $C_4$ in any of the cliques is $p^{\Omega(t^2)}$. This is clearly an upper bound for the random graph to be $C_4$-free.&lt;/p&gt;&#xA;" OwnerUserId="419" LastEditorUserId="419" LastEditDate="2013-08-29T20:05:00.307" LastActivityDate="2013-08-29T20:05:00.307" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="18791" PostTypeId="1" AcceptedAnswerId="18792" CreationDate="2013-08-29T11:10:42.923" Score="11" ViewCount="1651" Body="&lt;p&gt;First of all, my understanding on Gödel's incompleteness theorem (and formal logic in general) is very naive, also is my knowledge on theoretical computer science (meaning only one graduate course taken while I'm still an undergraduate), so this question may be very naive.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As far as I could find, the provability of P versus NP is an open problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Gödel's first incompleness theorem states that there may be statements that are true but not provable nor disprovable.&lt;/li&gt;&#xA;&lt;li&gt;If a polynomial solution is found for an NP-complete problem, it proves that P = NP.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;So, suppose that P=NP is not provable:&lt;br/&gt;&#xA;This means that no example of a polynomial solution for an NP-complete problem can be found (otherwise, this would be a proof).&lt;br/&gt;&#xA;But if no example of a polynomial solution for an NP-complete problem can be found, this means that P=NP is false (proving it, meaning the statement is provable), which leads to a contradiction, therefore P=NP should be provable.&lt;br/&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This sounds like a proof of the provability of P=NP to me, but I think it's extremely likely that it is due to my lack of understanding of the logic topics involved. Could anyone please help me understand what is wrong with this?&lt;/p&gt;&#xA;" OwnerUserId="17430" LastEditorUserId="40" LastEditDate="2013-08-29T18:33:31.700" LastActivityDate="2016-01-09T07:26:07.577" Title="On the provability of P versus NP" Tags="&lt;np-hardness&gt;&lt;proofs&gt;&lt;p-vs-np&gt;" AnswerCount="2" CommentCount="4" FavoriteCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="18792" PostTypeId="2" ParentId="18791" CreationDate="2013-08-29T11:34:18.953" Score="21" Body="&lt;p&gt;If P=NP, there must be polynomial-time algorithms for NP-complete problems.  However, there might not be any algorithm that provably solves an NP-complete problem and provably runs in polynomial time.&lt;/p&gt;&#xA;" OwnerUserId="17082" LastActivityDate="2013-08-29T11:34:18.953" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="18793" PostTypeId="1" AcceptedAnswerId="18802" CreationDate="2013-08-29T11:59:39.530" Score="6" ViewCount="222" Body="&lt;p&gt;In the context of an unusual compiler problem, I have a graph in which the vertices are variables, and the edges correspond to whether the instruction set has an instruction that copies the source vertex to the target vertex.  The instruction set also has the unusual property that the instructions may destroy (overwrite with non-predictable values) the contents of some of the variables.  Hence the edges are labeled with sets:  subsets of the (fixed) set of all variables that are destroyed by the instruction.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So for example, I might have instructions like the following:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;a -&gt; b, clobber set = {d}&lt;/li&gt;&#xA;&lt;li&gt;b -&gt; c, clobber set = {}&lt;/li&gt;&#xA;&lt;li&gt;a -&gt; c, clobber set = {d,f}&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Note that there is a direct path from a -&gt; c, but that there is also an indirect path from a -&gt; b -&gt; c, where the union of the clobber sets is {d}, i.e., a strict subset of the clobber set from the direct path, namely {d,f}.  Hence the path a -&gt; b -&gt; c should be preferred as it has a lesser effect on the other variables.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider the following variation on the above example:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;a -&gt; b, clobber set = {e}&lt;/li&gt;&#xA;&lt;li&gt;b -&gt; c, clobber set = {}&lt;/li&gt;&#xA;&lt;li&gt;a -&gt; c, clobber set = {d,f}&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;By similar reasoning, we have two paths from a -&gt; c:  the direct one, which clobbers {d,f} and the indirect one a -&gt; b -&gt; c which clobbers {e}.  Given that {d,f} and {e} are incomparable subsets of the variable set, we would like to retain information about both of these paths.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So the problem is as follows:  given such a directed graph with edges labeled with sets, compute all &quot;minimal&quot; paths through the graph with respect to the clobber sets.  For the first example, we should return a -&gt; b: {d}, b -&gt; c: {}, a -&gt; c: {d}.  For the second example, we should return a -&gt; b: {e}, b -&gt; c: {}, a -&gt; c: {d,f}, a -&gt; c: {e} (where this last fact was derived from the other edges).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem has some flavor of a shortest-paths problem, but given the weaker partial ordering rather than the stricter total ordering on the edge labels, the existing algorithms are inapplicable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;References to literature would also be appreciated.&lt;/p&gt;&#xA;" OwnerUserId="8113" LastActivityDate="2013-08-31T02:54:36.357" Title="Efficient algorithm for a particular graph closure property" Tags="&lt;graph-algorithms&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18794" PostTypeId="1" CreationDate="2013-08-29T18:29:57.283" Score="20" ViewCount="970" Body="&lt;p&gt;The NAE-3SAT problem is to determine whether a given 3CNF formula has a satisfying assignment that gives each clause at least one false (and at least one true) literal.&#xA;The problem is NP-complete. One can reduce 3SAT to it pretty easily so that the number of variables becomes roughly the number of clauses in the original instance, and so because of sparsification, under ETH you won't be able to get a subexponential time algorithm. (Also, it's known that NAE-SAT for unbounded length clauses requires $2^n$ time under Strong ETH.) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is, what is the best exponential time running time in terms of the number of variables?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is a trivial reduction to 3SAT that does not increase the number of variables $n$ so that the fastest 3SAT algorithm has the same running time on NAE-3SAT instances (the best known is by Hertli, $1.308^n$).&#xA;Is there a faster known algorithm for NAE-3SAT than the one for 3SAT?&#xA;(Or is there a reduction that shows that the two problems are equivalent with respect to exact algorithm running times?)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What about monotone NAE-3SAT? Here there are no negated variables. It's known that this problem is also NP-complete. What's the fastest algorithm for it?&lt;/p&gt;&#xA;" OwnerUserId="410" LastActivityDate="2013-08-29T18:29:57.283" Title="Exact algorithm for NAE-3SAT" Tags="&lt;reference-request&gt;&lt;exp-time-algorithms&gt;" AnswerCount="0" CommentCount="0" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="18797" PostTypeId="1" AcceptedAnswerId="18827" CreationDate="2013-08-29T20:58:20.760" Score="24" ViewCount="2371" Body="&lt;p&gt;I've stumbled across a confusing disagreement between Agda and Coq that is not obviously related to the most well known distinctions between their type theories (e.g., (im)predicativity, induction-recursion, etc.).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In particular, the following definition is accepted by Agda:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;  data Ty : Set0 -&amp;gt; Set0 where&#xA;    c1 : Ty ℕ&#xA;    c2 : Ty (Ty ℕ)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;whereas the equivalent Coq definition is rejected because the appearance of [Ty _] as an index of itself in c2 is considered to violate strict positivity.&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;  Inductive Ty : Set -&amp;gt; Set :=&#xA;    | c1 : Ty nat&#xA;    | c2 : Ty (Ty nat).&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;In fact, this case is almost verbatim an example from Coq'Art Section 14.1.2.1 of violating strict positivity:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;  Inductive T : Set -&amp;gt; Set := c : (T (T nat)).&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;But I don't see the reasons for this difference between the type theories.  The classic example of proving False using a negative occurrence of a type in a constructor argument is clear to me, but I can't see how one might derive a contradiction from this style of indexing (regardless of otherwise strictly positive constructor arguments).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Poking around the literature, Dybjer's early Inductive Families paper makes an offhand comment about Paulin-Mohring's solution in the CID paper having slightly different restrictions, and vaguely suggests the differences might be related to impredicativity, but doesn't elaborate further.  Dybjer's paper seems to allow this, while Paulin-Mohring's clearly prohibits it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Apparently I'm not the first to notice this difference of opinion, and some believe this definition shouldn't be permitted in either system (&lt;a href=&quot;https://lists.chalmers.se/pipermail/agda/2012/004249.html&quot;&gt;https://lists.chalmers.se/pipermail/agda/2012/004249.html&lt;/a&gt;), but I haven't found any explanations of why it is either sound in one system but not the other, or just a difference of opinion.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So I suppose I have several questions:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Is this an example of a monotone, but non-strictly-positive type? (In Coq; clearly Agda considers it strictly positive)&lt;/li&gt;&#xA;&lt;li&gt;Why does Agda permit this while Coq rejects it?  It is simply an idiosyncratic difference in the interpretation of &quot;strictly positive,&quot; is there a subtle difference between Coq and Agda that makes it sound in Agda and unsound in Coq, or is it a matter of taste driven by particular theoretical preferences?&lt;/li&gt;&#xA;&lt;li&gt;Is there a meaningful difference between the first definition above, and the equivalent inductive-recursive definition below?&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Inductive-recursive definition:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;  mutual&#xA;    data U : Set0 -&amp;gt; Set0 where&#xA;      c : (i : Fin 2) -&amp;gt; U (T i)&#xA;    T : Fin 2 -&amp;gt; Set0&#xA;    T zero = ℕ&#xA;    T (suc zero) = U ℕ&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;I'm happy to have pointers to relevant literature.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks in advance.&lt;/p&gt;&#xA;" OwnerUserId="17355" LastEditorUserId="17355" LastEditDate="2013-08-29T22:21:57.093" LastActivityDate="2013-09-02T03:45:49.070" Title="Why do Agda and Coq disagree on strict positivity?" Tags="&lt;type-theory&gt;&lt;coq&gt;" AnswerCount="2" CommentCount="3" FavoriteCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="18798" PostTypeId="2" ParentId="18791" CreationDate="2013-08-29T22:12:10.683" Score="5" Body="&lt;p&gt;Gödel's incompleteness theorem is really about provability  given a theory with enough expressive power, you'll end up with some statement which can be true in some models, and false in others, hence not provable.&#xA;In this case, if P vs NP can't be proved, if you believe that reality is a model of mathematics, P = NP or P $\neq$ NP must still be true in &quot;our world&quot;. Hence, as David said, either no polynomial algorithm exists but we won't be able to prove this statement, or a polynomial algorithm does exist but we won't be able to prove that it solves the problem or that it runs in polynomial time.&lt;/p&gt;&#xA;" OwnerUserId="17405" LastEditorUserId="40" LastEditDate="2013-08-31T14:40:07.803" LastActivityDate="2013-08-31T14:40:07.803" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18799" PostTypeId="2" ParentId="18482" CreationDate="2013-08-29T23:40:33.573" Score="1" Body="&lt;p&gt;If $m$ is small enough, you can do better than the naive algorithm, i.e., better than $2^n$ time.  Here &quot;small enough&quot; means that $m$ is smaller than something like $n/\lg n$.  The running time will still be exponential -- e.g., it might be $2^{n/2}$ time -- but it'll be faster than the naive algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Incidentally, it looks like this does allow us to solve the problem in faster than $2^n$ time for some cases where the matrix $A$ has a super-linear number of entries.  I don't know how to square that with the other answer provided here.  Consequently, you should check my answer carefully: it might indicate that I have made a serious mistake somewhere.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;The basic approach: write $x=(x_0,x_1)$, where $x_0$ holds the first $n/2$ components of $x$ and $x_1$ holds the last $n/2$ components; and similarly $A=(A_0,A_1)$, where $A_0$ has the left $n/2$ columns of $A$ and $A_1$ the right $n/2$ columns.  Now $Ax \le b$ can be re-written in the form&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$A_0 x_0 + A_1 x_1 \le b,$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;or equivalently,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$A_0 x_0 \le b - A_1 x_1.$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Enumerate all $2^{n/2}$ possibilities for $A_0 x_0$, and let $S$ denote the set of possible values, i.e.,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$S=\{A_0 x_0 : x_0 \in \{0,1\}^{n/2}\}.$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Similarly, enumerate the set $T$ of all $2^{n/2}$ possibilities for $b - A_1 x_1$, i.e.,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$T = \{b - A_1 x_1 : x_1 \in \{0,1\}^{n/2}\}.$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now the problem becomes&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Given sets $S,T \subseteq \mathbb{Z}^{m}$ of size $2^{n/2}$, does there exist $s\in S$ and $t \in T$ such that $s\le t$?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;(Here $\le$ is taken pointwise, i.e., we require that $s_i \le t_i$ for all $i$.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The latter problem is &lt;a href=&quot;https://cs.stackexchange.com/q/13927/755&quot;&gt;discussed on CS.StackExchange&lt;/a&gt;, and there is apparently an algorithm for it that runs in time $O(2^{n/2} (n/2)^{m-1})$.  If $m$ is sufficiently small (say, smaller than $n/\lg n$), then it follows that the total running time will be less than $2^n$, as desired.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;To help make this result sound more plausible, here's some very crude intuition.  If we take the extreme case where $m=1$, of course this can be solved quickly.  (There's actually a much simpler algorithm for the special case where $m=1$: let $x_i=1$ if $A_{1,i}\le 0$, otherwise $x_i=0$; now if any feasible solution exists, then this $x$ will be one.)&lt;/p&gt;&#xA;" OwnerUserId="5038" LastEditorUserId="-1" LastEditDate="2017-04-13T12:48:30.830" LastActivityDate="2013-08-29T23:47:13.517" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="18800" PostTypeId="2" ParentId="18797" CreationDate="2013-08-30T04:03:32.527" Score="4" Body="&lt;p&gt;A possible reason for the difference, as your own remarks hint, is impredicativity. Coq historically had an impredicative set (still available as a flag i believe!)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Quoting Adam Chlipala's book &lt;a href=&quot;http://adam.chlipala.net/cpdt/html/Universes.html&quot; rel=&quot;nofollow&quot;&gt;http://adam.chlipala.net/cpdt/html/Universes.html&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;The Coq tools support a command-line flag -impredicative-set, which modifies Gallina in a more fundamental way by making Set impredicative. A term like forall T : Set, T has type Set, and inductive definitions in Set may have constructors that quantify over arguments of any types. To maintain consistency, an elimination restriction must be imposed, similarly to the restriction for Prop. The restriction only applies to large inductive types, where some constructor quantifies over a type of type Type. In such cases, a value in this inductive type may only be pattern-matched over to yield a result type whose type is Set or Prop. This rule contrasts with the rule for Prop, where the restriction applies even to non-large inductive types, and where the result type may only have type Prop.&#xA;  In old versions of Coq, Set was impredicative by default. Later versions make Set predicative to avoid inconsistency with some classical axioms. In particular, one should watch out when using impredicative Set with axioms of choice. In combination with excluded middle or predicate extensionality, inconsistency can result. Impredicative Set can be useful for modeling inherently impredicative mathematical concepts, but almost all Coq developments get by fine without it.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="18" LastActivityDate="2013-08-30T04:03:32.527" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="18801" PostTypeId="1" AcceptedAnswerId="31166" CreationDate="2013-08-30T04:48:47.577" Score="5" ViewCount="1068" Body="&lt;p&gt;The $\mathsf{NP}$-complete problems satisfy the property that if any of them is in $\mathsf{P}$, then all other $\mathsf{NP}$-complete problems are in $\mathsf{P}$.&#xA;The problem $3$-SAT is $\mathsf{NP}$-complete, as much as every $k$-SAT with $k\geq 3$.&#xA;(On the other hand, $2$-SAT is known to be in $\mathsf{P}$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Obviously, the problem $3$-SAT can be seen as a subset of $k$-SAT for $k\geq 3$ and, in general, all of them are a subclass of SAT.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However my question goes in the opposite direction: which are some smaller subclasses of $3$-SAT that are still $\mathsf{NP}$-complete?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am interested in studying the $\mathsf{P} = \mathsf{NP}$ conjecture by looking just into smaller class of $3$-SAT problems that are still acceptable.&lt;/p&gt;&#xA;" OwnerUserId="17398" LastEditorUserId="6579" LastEditDate="2015-04-13T10:12:05.233" LastActivityDate="2015-04-16T13:52:56.990" Title="Which subproblems of 3SAT are still NP complete?" Tags="&lt;complexity-classes&gt;&lt;sat&gt;" AnswerCount="3" CommentCount="4" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="18802" PostTypeId="2" ParentId="18793" CreationDate="2013-08-30T05:08:11.083" Score="4" Body="&lt;p&gt;I suggest you use a fixpoint algorithm, using a worklist implementation.  I'll start by providing an intuitive, English-language description of an algorithm for this problem; then a more formal presentation.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Intuitive algorithm.&lt;/strong&gt; Basically, we'll apply the following closure rules to the graph as many times as possible, until they don't produce anything new:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;If there is an edge $u\to v$ with clobber set $S$ and an edge $v\to w$ with clobber set $T$, then add an edge $u\to w$ with clobber set $S\cup T$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;If there is an edge $u \to v$ with clobber set $S$ and an edge $u \to v$ with clobber set $T$, where $S \subset T$, then remove the edge with clobber set $T$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Intuitively, we'd like to keep applying these in all possible ways until the graph doesn't get any bigger; then you're done.  Note that I'm treating the graph as a multigraph, so there can be multiple edges between any pair of vertices.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In practice, you need to implement this carefully (you don't want to add an edge that would be immediately removed by the other closure rule).  So, here is an algorithm that applies the above idea, in a reasonable way:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Initially, mark all of the edges of the graph.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;While there exists at least one marked edge:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;a. Pick any marked edge; suppose it is $u \to v$ with clobber set $S$.  Remove the mark on this edge.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;b. For each edge $v\to w$ with clobber set $T$, call $\text{MaybeAddEdge}(u,w,S\cup T)$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Here the subroutine $\text{MaybeAddEdge}(u,v,S)$ is defined to do the following steps:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;For each edge $u \to v$ with clobber set $T$:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;a. If $T \subseteq S$, return immediately (without adding any edges).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;b. If $S \subset T$, remove the edge with clobber set $T$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Add an edge $u \to v$ with clobber set $S$, and mark it.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;At the end of execution, after we've finished applying the closure rules, the set of clobber sets on all of the edges from $u$ to $v$ gives the set of minimal clobber sets for all paths from $u$ to $v$.  This is effectively a worklist/fixpoint algorithm, and it follows pretty directly from the problem statement.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you prefer a more formal treatment of this problem, see below.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Notation.&lt;/strong&gt; Let $V$ denote the set of variables.  Define a partial order $\mathcal{L}$ as follows: Consider the pre-order $(2^{2^V},\le)$, where an element $\ell \in 2^{2^V}$ is a set of clobber sets, and we define $\ell \le \ell'$ iff for every clobber set $S \in \ell$, there exists a clobber set $S' \in \ell'$ such that $S' \subseteq S$.  Now we can define the equivalence relation $\equiv$ by $\ell \equiv \ell'$ iff $\ell \le \ell'$ and $\ell' \le \ell$.  Modding out by $\equiv$ yields a partial order $(\mathcal{L},\le) = (2^{2^V},\le)/\equiv$.  In other words: every set $\ell \in 2^{2^V}$ of clobber sets is equivalent to one where there is no pair of sets $S,S' \in \ell$ such that $S \subset S'$ and $S\ne S'$ (if there is such a pair of sets, we can remove $S'$ from $\ell$ and get another equivalent set), so we let $\mathcal{L}$ denote the set of elements $\ell$ that are in this canonical form.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As it happens, $\mathcal{L}$ is a meet semi-lattice with a meet operation $\wedge$.  In particular, the join operation is defined by $\ell \vee \ell' \equiv \ell \cup \ell'$.    Let $\bot = \{2^V\}$ denote the bottom element in this lattice and $\top = \{\emptyset\}$ denote the top element.  Of course, if $S$ is a clobber set (i.e., $S \subseteq V$), then $\{S\}$ is a lattice element of $\mathcal{L}$ (corresponding to the single clobber set $S$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Notice that a lattice element $\ell \in \mathcal{L}$ corresponds to a set of minimal clobber sets.  Thus, the lattice will be helpful for recording this kind of information as the algorithm progresses.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Define the binary operation $\circ$ by $\ell \circ \ell' \equiv \{S \cup S : S \in \ell, S' \in \ell'\}$.  Conceptually, this is going to represent the effect of concatenating two paths (where $\ell$ is the set of minimal clobber sets for some path $u\to v$ and $\ell'$ is the set for some path $v \to w$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Approach.&lt;/strong&gt;  We are going to build a 2-dimensional table $T[\cdot,\cdot]$.  At any point in the algorithm, for each pair of variables $u,v \in V$, $T[u,v]$ will hold an element of $\mathcal{L}$ that denotes an over-approximation of the desired set of minimal clobber sets for all paths from $u$ to $v$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $u,v \in V$ are variables, at the end of the algorithm $T[u,v]$ will contain the set of all minimal clobber sets for all paths from $u$ to $v$.  We'll find a least fixpoint for $T[\cdot,\cdot]$, subject to the following condition:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;For all vertices $u$ and all edges $v\to w$ (with clobber set $S$), $T[u,v] \circ \{S\} \le T[u,w]$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;For all vertices $u$, $T[u,u] = \top$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;To find the least fixpoint, we'll use a standard worklist approach.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Algorithm.&lt;/strong&gt; Let $W$ denote a set data structure that can hold pairs of vertices.  Then the algorithm is as follows:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Initialize $T[u,v] \gets \{S\}$ for each edge $u\to v$ with clobber set $S$ in the graph, $T[u,u] \gets \top$ for each vertex $v \in V$, and otherwise $T[u,v] \gets \bot$.  Initialize $W$ to contain the set of pairs $(u,v)$ such that there is an edge $u\to v$ in the graph together with the set of pairs $(u,u)$ such that $u$ is a vertex in the graph.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;While $W \ne \emptyset$, do:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;a. Pop an arbitrary vertex-pair $(u,v)$ from $W$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;b. For all edges $v \to w$ (with clobber set $S$) out of $v$, do:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Let $o \gets T[u,w]$. Set $T[u,w] \gets T[u,w] \vee (T[u,v] \circ \{S\})$.  If $o \le T[u,w]$, insert $(u,w)$ into $W$.&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;The final value of $T[\cdot,\cdot]$ will have the desired form (it is a minimal fixpoint subject to all of the conditions above), and thus will be a valid solution to your problem.  Each $T[u,v]$ contains the set of minimal clobber sets, taken over all paths from $u$ to $v$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Notice that the above algorithm does not specify the order in which you pull items out of the worklist.  Good scheduling algorithms can improve the performance of this scheme.  One standard heuristic is to use reverse post-order (derived from a DFS on the graph) to prioritize which elements to pull out of the worklist.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also note that the running time of this algorithm could be exponential, if your graph is unfortunate.  This is unavoidable: there might be exponentially many clobber sets, so the output size might be exponential in the size of the input in the worst case. &lt;/p&gt;&#xA;" OwnerUserId="5038" LastEditorUserId="5038" LastEditDate="2013-08-31T02:54:36.357" LastActivityDate="2013-08-31T02:54:36.357" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18804" PostTypeId="1" CreationDate="2013-08-30T07:34:12.283" Score="10" ViewCount="475" Body="&lt;p&gt;How hard is the Set Cover problem if the number of elements is bounded&#xA;by some function (e.g, $\log n$) where $n$ is the size of the problem instance. Formally, &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $\mathcal{U}=\{e_1, \cdots, e_m\}$ and $\mathcal{F} = \{S_1, \cdots, S_n\}$&#xA;where $S_i \subseteq \mathcal{U}$ and $m = O(\log n)$. How hard is it to decide the following problem &lt;/p&gt;&#xA;&#xA;&lt;p&gt;\begin{align*}&#xA;         \text{SET-COVER'}=\{&amp;lt;\mathcal{U}, \mathcal{F}, k&amp;gt;:&#xA;         &amp;amp;\text{ there exists at most $k$ subsets }\\&#xA;         &amp;amp;\text{ $S_{i_1}, \cdots, S_{i_k}\in \mathcal{F}$ that cover $\mathcal{U}$}&#xA;         \}.&#xA;\end{align*}&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What if $m=O(\sqrt{n})$? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any result based on well known conjectures (e.g., Unique Games, ETH) is good. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit 1: A motivation for this problem is finding out when the problem gets hard as $m$ increases. Clearly, the problem is in P if $m=O(1)$ and NP-hard if $m=O(n)$. What is the threshold for the NP-hardness of the problem?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit 2 : There exists a trivial algorithm to decide it in time $O(n^{m})$ (which enumerates all subsets of size $m$ of $\mathcal{F}$). Therefore, the problem is not NP-hard if $m=O(\log{n})$ since ETH implies that there is no algorithm in time $O(2^{n^{o(1)}})$ for any NP-hard problem (where $n$ is the size of the NP-hard problem).&lt;/p&gt;&#xA;" OwnerUserId="17441" LastEditorUserId="17441" LastEditDate="2013-08-30T17:29:34.700" LastActivityDate="2013-08-31T13:19:38.943" Title="Hardness of a subcase of Set Cover" Tags="&lt;np-hardness&gt;&lt;set-cover&gt;&lt;exp-time-algorithms&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="18805" PostTypeId="1" AcceptedAnswerId="18818" CreationDate="2013-08-30T08:27:13.420" Score="13" ViewCount="240" Body="&lt;p&gt;Informally, one-way functions are defined with respect to PTIME algorithms. They are computable in polynomial time but not invertible in average-case polynomial time. The existence of such functions is an important open problem in theoretical computer science.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm interested in one-way functions (not necessarily for cryptographic applications) defined with respect to different resource bounds. Such resource bounds could be LOGSPACE or bounded nondeterminism. &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there a candidate (natural) problem which is one-way with respect to LOGSPACE algorithms? Is there a candidate (natural) problem which is one-way with respect to nondeterministic linear time algorithms ($\text{NTIME(n)}$)?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I'm fine with worst-case hardness of invertiblity with respect to the above resource bounds. &lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2013-08-30T08:48:16.687" LastActivityDate="2013-09-01T23:14:19.757" Title="One-way functions with respect to various resource bounds" Tags="&lt;cc.complexity-theory&gt;&lt;one-way-function&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="18806" PostTypeId="1" CreationDate="2013-08-30T18:42:39.053" Score="4" ViewCount="142" Body="&lt;p&gt;I have a convex shape defined by a set of vertices (the so-called vertex representation of a convex polyhedron). I also have a large set of points and I would like to test which are contained in the convex shape.  Currently I just use an open source linear programming solver for each point independently with a constant objective function.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;However this is quite slow even in 100 dimensions.  Is there a way to use the fact that all the query points are known in advance to speed the process up?&lt;/p&gt;&#xA;" OwnerUserId="17377" LastEditorUserId="5038" LastEditDate="2013-08-31T04:02:38.957" LastActivityDate="2015-06-07T15:39:32.827" Title="Batch membership testing for convex polyhedron specified in vertex representation" Tags="&lt;cg.comp-geom&gt;&lt;linear-programming&gt;&lt;convex-geometry&gt;&lt;high-dimensional-geometry&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="18807" PostTypeId="2" ParentId="18804" CreationDate="2013-08-30T19:14:56.033" Score="11" Body="&lt;p&gt;When $m = O(\log n)$, you can use dynamic programming to find the optimum in polynomial time. The table contains Boolean-valued cells $T_{\ell,X}$ for each $\ell \in \{0,\ldots,k\}$ and $X \subseteq \mathcal{U}$, indicating whether there are $\ell$ sets which cover the elements in $X$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;When $m = O(\sqrt{n})$, say $m \leq C\sqrt{n}$, the problem remains NP-hard. Given an instance of SET-COVER, add $m$ new elements $x_1,\ldots,x_m$ and $(2C^{-1}m)^2$ new sets, consisting of non-empty subsets of the new elements, including $\{x_1,\ldots,x_m\}$ (when $m$ is large enough, $(2C^{-1}m)^2 &amp;lt; 2^m$). Also increase $k$ by one. The new $m,n$ are $m' = 2m$ and $n' = n + (2C^{-1}m)^2 \geq (C^{-1}m')^2$.&lt;/p&gt;&#xA;" OwnerUserId="40" LastActivityDate="2013-08-30T19:14:56.033" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18808" PostTypeId="2" ParentId="18707" CreationDate="2013-08-31T00:38:28.297" Score="4" Body="&lt;p&gt;1)$\bf FNP$ is contained in $\bf FPH$, which is called the &quot;functional polynomial hierarchy&quot;, where every function in $\bf FPH$  is polynomial time 1-Turing reduciable to some function in $\bf \#P$. &lt;br&gt;&#xA;2)We know from the Valiant Vazirani theorem that $\bf NP$ $\subseteq$ $\bf RP^{PromiseUP}$. We also know that $\bf UP$ $\subseteq$ $\bf \oplus P$. Therefore, we have $\bf NP$ $\subseteq$ $\bf RP^{\bf \oplus P}$.&lt;/p&gt;&#xA;" OwnerUserId="1590" LastEditorUserId="1590" LastEditDate="2013-08-31T03:07:07.967" LastActivityDate="2013-08-31T03:07:07.967" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="18810" PostTypeId="1" AcceptedAnswerId="18812" CreationDate="2013-08-31T05:53:41.853" Score="0" ViewCount="118" Body="&lt;p&gt;Suppose we have a program(algorithm) that solves some decision problem $(\Sigma,L)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given the program, can we always say something about the Kolmogorov complexity of the words in $L$ ?&lt;/p&gt;&#xA;" OwnerUserId="17325" LastActivityDate="2013-08-31T16:16:54.353" Title="What information can a program give about the Kolmogorov Complexity of its accepting Language" Tags="&lt;kolmogorov-complexity&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18812" PostTypeId="2" ParentId="18810" CreationDate="2013-08-31T09:04:11.427" Score="2" Body="&lt;p&gt;Let's assume we use TMs to describe the Kolmogorov Complexity of words over $\{0,1\}$. Since we can encode any string over a finite alphabet as binary string we don't lose generality.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Using Gödel Numbering we can encode every TM $M$ as a string over $\{0,1\}$. If there is an input $x$ such that $M$ outputs $w$ on input $x$, in symbols $&amp;lt;M,x&amp;gt;=w$, then the length of this description of $w$ is the length of the concatenated binary string of $M$ and $x$, in symbols $|M \circ x|$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, due to your request we have a TM $M$ that decides our language $L$. That implies that $M$ halts on every input(a semi-decision algorithm would be sufficient as well but the following algorithm would be slightly more cumbersome). With $M$ we can construct a TM $M'$ which enumerates $L$. That means $M'$ on some input $n$, which we will interpret as a natural number but 0, does the following:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;counter := 0&#xA;for all x in {0,1}^*&#xA;    if x in L then counter++&#xA;    if counter = n then break&#xA;return x&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;To decide $x$ in $L$ we use $M$. Additionally, I'd consider it useful that the sequence of all binary strings should be traversed in ascending order w.r.t length(for assessing the quality of our upper boundary later on).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, let for all words $w \in L$ be $f(w)$ the natural number such that $&amp;lt;M',f(w)&amp;gt; = w$. Then we can state an upper bound for the KC of any word $w$ in $L$ as &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$K(w) \leq |M' \circ bin(f(w))|$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;with $bin(x)$ being the binary representation we also use to pass $f(w)$ as input to $M'$. Extra: the quality of our upper bound for the larger words in $L$ can be estimated by comparing the growth rate of $|w|$ to $log_2(f(w))$.&lt;/p&gt;&#xA;" OwnerUserId="17410" LastEditorUserId="17410" LastEditDate="2013-08-31T16:16:54.353" LastActivityDate="2013-08-31T16:16:54.353" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18813" PostTypeId="2" ParentId="18804" CreationDate="2013-08-31T13:19:38.943" Score="11" Body="&lt;p&gt;The case of $m = c \log n$ is in $n^{O(c)}$ time as noted by Yuval, but also note for $k = O(1)$ you can solve the problem in $O(n^k \cdot m)$ time (polynomial time) by exhaustive search. Assuming the Strong Exponential Time Hypothesis (that CNF-SAT on formulas with $N$ variables and $O(N)$ clauses requires at least $2^{N-o(N)}$ time), these two time bounds are the &quot;limit&quot; of what we can expect in polynomial time, in the following sense.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In my &lt;a href=&quot;http://www.stanford.edu/~rrwill/cnf-sat-feasible.pdf&quot;&gt;SODA'10 paper with Mihai Patrascu&lt;/a&gt; we study the essentially isomorphic problem of finding a dominating set of size $k$ in an arbitrary $n$-node graph, showing that if $k$-dominating set can be solved in $n^{k-\varepsilon}$ time for some $k \geq 2$ and $\varepsilon &amp;gt; 0$, then there is a $2^{N(1-\varepsilon/2)}poly(M)$ time algorithm for CNF-SAT on $N$ variables and $M$ clauses. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Noting the relationship between neighborhoods of vertices in a dominating set instance and sets in a set cover instance, and inspecting the reduction, you will find that this reduction also shows solving $k$-Set Cover with $n$ sets over a universe of size $m$ in $n^{k-\varepsilon}\cdot f(m)$ time implies a CNF-SAT algorithm for CNF formulas with $M$ clauses and $N$ variables running in $2^{N(1-\varepsilon/2)}\cdot f(M)$ time. For the purposes of refuting the Strong ETH, it suffices to solve CNF-SAT in the case where $M = O(N)$. Hence an algorithm for your problem running in $n^{k-\varepsilon}\cdot 2^{m/\alpha(m)}$ time for some unbounded function $\alpha(m)$ would yield a surprising new SAT algorithm. &lt;/p&gt;&#xA;" OwnerUserId="225" LastActivityDate="2013-08-31T13:19:38.943" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18815" PostTypeId="2" ParentId="18748" CreationDate="2013-09-01T05:17:24.320" Score="4" Body="&lt;p&gt;SVMs contain an underlying optimization step that is solved heuristically, so for any actual algorithm that purports to solve SVMs, the answer is undefined. A number like $O(n^3)$ is generally bandied around for implementations like libsvm, which means something like time/iteration * #iterations (where #iterations is assumed to be constant)&lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2013-09-01T05:17:24.320" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18816" PostTypeId="1" CreationDate="2013-09-01T07:47:17.280" Score="8" ViewCount="1007" Body="&lt;p&gt;What are the applications of Kolmogorov Complexity in Number Theory and on proofs related fields? (The monograph by Li &amp;amp; Vitanyi doesn't have many applications related to Number Theory.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One of the nice proofs i have come across is the proof of the existence of infinite number of primes, using the definition of Kolmogorov Complexity and the compression factor.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, what is the importance of Kolmogorov Complexity in Cryptography?&lt;/p&gt;&#xA;" OwnerUserId="17325" LastEditorUserId="17325" LastEditDate="2013-09-03T08:27:51.177" LastActivityDate="2013-10-09T17:48:52.780" Title="Kolmogorov Complexity applications in Number Theory" Tags="&lt;reference-request&gt;&lt;big-list&gt;&lt;it.information-theory&gt;&lt;kolmogorov-complexity&gt;" AnswerCount="3" CommentCount="8" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="18817" PostTypeId="2" ParentId="18748" CreationDate="2013-09-01T14:16:17.223" Score="0" Body="&lt;p&gt;Relevance Vector Machines need a $O(n^3)$ time too, but the main overhead there is in the learning phase, it needs to repeatedly compute the inverse of a Hessian Matrix (that requires $O(n^3)$ computations. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Although tipping in his paper suggest a maximum of 5000 features vectors, I had a hard time to train a dataset of 2000 examples!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The k-nearest neighbor algorithm does not require any training time, and it can easily achieve near linear time complexity using approximation algorithms. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, a preprocessing step is often useful and it also costs you $O(nd)$, specially if you want faster classification speeds. &lt;a href=&quot;http://people.csail.mit.edu/indyk/p117-andoni.pdf&quot; rel=&quot;nofollow&quot;&gt;This is a good paper&lt;/a&gt; to read if you want to know more.&lt;/p&gt;&#xA;" OwnerUserId="17325" LastActivityDate="2013-09-01T14:16:17.223" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18818" PostTypeId="2" ParentId="18805" CreationDate="2013-09-01T15:04:41.593" Score="11" Body="&lt;p&gt;Regarding log-space:  Several candidate one-way functions are computable in log-space or below (and are supposedly secure even against poly-time adversaries).  You can find several pointers for example in the &lt;a href=&quot;http://www.cs.technion.ac.il/~yuvali/pubs/AIK04.ps&quot;&gt;Cryptography in NC$^0$&lt;/a&gt; paper.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Two specific examples include:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Integer multiplication (there are some subtleties for standard OWF, but if you only care about worst-case this is enough)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The Impagliazzo-Naor candidate based on subset-sum:&#xA;$f(a_1,...,a_n,S) := (a_1,..., a_n, \sum_{i \in S} a_i \mod 2^n)$.&lt;/p&gt;&#xA;" OwnerUserId="259" LastEditorUserId="259" LastEditDate="2013-09-01T23:14:19.757" LastActivityDate="2013-09-01T23:14:19.757" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="18822" PostTypeId="1" CreationDate="2013-09-01T17:46:37.890" Score="13" ViewCount="492" Body="&lt;p&gt;Let $f$ be a Boolean function  of $n$ Boolean variables. Let $g(x)=T_\epsilon (f) (x)$ be the expected value of $f(y)$ when $y$ is obtained from $x$ by flipping each coordinate with probability $\epsilon/2$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am interested in cases where it is computationally hard to approximate $g$. Let me fixed a notion of &quot;approximation&quot; (but there may be others): A Boolean function $h$ approximates $g$ if $h(x)=1$ when $g(x)\ge 0.9$ and $h(x)=0 $ when $g(x)\le 0.1$.A counting argument (based on the existence of positive rate error correcting codes) seem to give that there are Boolean functions for which any such approximation requires an exponential size circuit. But the question is what happens when $f$ to start with is in NP or in its neighborhood. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Q1: Is there an example of $f$ described by NP circuit (or P-space) so that every $h$ is NP hard, or hard in some weaker sense.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To see that $h$ might not always be easy (I thank Johan Hastad for useful discussion about it) we can consider the property of graphs of having a clique of size $n^{1/4}$, for random input, it is conceivable that it is hard to detect if there is a large clique but this is manifested by having more than expected cliques of size log n in the noisy graph. In this case any $h$ will be likely-hard (but not provably, and not terribly hard as quasi-polynomial circuits will be telling).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Q2: What is the situation if $f$ to start with is low complexity. ($AC^0$, monotone $TC^0$, $ACC$ etc.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Q3: What is the situation for some basic examples of Boolean functions. (The question can be extended also to real-valued function.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Q4: Can the above question be asked formally for the uniform (Turing-machine) model of computation?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt; In view of Andy's answer (Hi there, Andy) I think that the most interesting question is to understand the situation for various specific functions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Update&lt;/strong&gt; Another question Q5 [Q1 for monotone functions] (also in view of Andy's answer). What is the situation if $f$ is monotone? Can we still encode robustly an NP complete questions&gt;&lt;/p&gt;&#xA;" OwnerUserId="712" LastEditorUserId="712" LastEditDate="2013-10-12T19:35:17.433" LastActivityDate="2013-10-12T19:35:17.433" Title="Hardness of noisy Boolean functions" Tags="&lt;cc.complexity-theory&gt;&lt;circuit-complexity&gt;&lt;boolean-functions&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="18823" PostTypeId="1" CreationDate="2013-09-01T18:18:15.357" Score="23" ViewCount="473" Body="&lt;p&gt;Consider the following computational task: We want to sample a 3-SAT formula of $n$ variables (a variant: $n$ variables $m$ clauses) with respect to the uniform probability distribution, conditioned on the formula being satisfiable: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Q1: Can this be achieved efficiently by a classical computer (with random bits)? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Q2: Can this be achieved efficiently by a quantum computer? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am also interested in the following two variants:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;V2: You sample all the formulas w.r.t. a probability distribution that gives satisfiable formulas twice the weight of unsatisfiable formulas.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;V3: you sample where the weight is the number of satisfying assignments (Here we care only about Q2).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt; Colins' answer demonstrates a simple algorithm for V3. (I was wrong in assuming that this is classically difficult.) Let me mention another variant&#xA;of all the three questions: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;You specify in advance $m$ clauses and you need to sample random satisfiable subsets of the input clauses.&lt;/strong&gt;&lt;/p&gt;&#xA;" OwnerUserId="712" LastEditorUserId="712" LastEditDate="2013-12-23T20:45:32.170" LastActivityDate="2013-12-23T20:45:32.170" Title="Sampling satisfiable 3-SAT formulas" Tags="&lt;cc.complexity-theory&gt;&lt;quantum-computing&gt;&lt;sample-complexity&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="18825" PostTypeId="2" ParentId="18736" CreationDate="2013-09-01T19:55:25.313" Score="4" Body="&lt;p&gt;If we consider the minimization problem $\min_y \{c^T y : Ay \ge b, y \in \{ 0,1\}^n \}$, then the following reduction shows that an algorithm running in time $O(2^{\delta n/2})$ for $\delta &amp;lt;1$ would disprove the SETH. A reformulation proves the same result for the intended problem (the maximization version).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given an instance $\Phi = \wedge_{i=1}^m C_i$ of CNF-SAT with variables $\{x_j \}_{j=1}^n$, formulate a 0-1 IP with two variables $y_j, \overline{y}_j$ for each variable $x_j$ in the SAT instance. As usual, the clause $(x_1 \vee \overline{x}_2 \vee x_3)$ would be represented as $y_1 + \overline{y}_2 + y_3 \ge 1$. Then for every variable $x_j$ in the SAT instance, add a constraint $y_j + \overline{y}_j \ge 1$. The objective is to minimize $\sum_{j=1}^n (y_j + \overline{y}_j)$. The objective of the IP will be $n$ iff the SAT instance is satisfiable. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks to Stefan Schneider for the correction.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Update: in &lt;a href=&quot;http://www.ii.uib.no/~daniello/papers/seth.pdf&quot; rel=&quot;nofollow&quot;&gt;On Problems as Hard as CNF-Sat&lt;/a&gt; the authors conjecture that SET COVER cannot be solved in time $O(2^{\delta n})$, $\delta &amp;lt;1$, where $n$ refers to the number of sets. If true, this would show that my problem cannot be solved in time $O(2^{\delta n})$ as well.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Update 2. As far as I can tell, assuming SETH, my problem cannot be solved in time $O(2^{\delta n})$, since it &lt;a href=&quot;http://arxiv.org/abs/1112.2275&quot; rel=&quot;nofollow&quot;&gt;has been shown&lt;/a&gt; that Hitting Set (with a ground set of size $n$) cannot be solved in time $O(2^{\delta n})$.&lt;/p&gt;&#xA;" OwnerUserId="13056" LastEditorUserId="13056" LastEditDate="2013-12-16T22:06:42.200" LastActivityDate="2013-12-16T22:06:42.200" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="18827" PostTypeId="2" ParentId="18797" CreationDate="2013-09-02T03:45:49.070" Score="12" Body="&lt;p&gt;The issue seems to be confusion resulting from a confluence of two factors:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;I was using a stale version of Agda (2.3.0.1).  It appears that prior to 2.3.2, Agda simply wasn't checking strict positivity of the indices of constructor results (see the bug I linked elsewhere in the thread).&lt;/li&gt;&#xA;&lt;li&gt;A closer reading of Dybjer's &lt;a href=&quot;http://scholar.google.com/scholar?cluster=4782447773494298397&amp;amp;hl=en&amp;amp;as_sdt=0,48&quot;&gt;Inductive Families&lt;/a&gt; paper suggests that he may have intended that the inductive type being defined &lt;em&gt;not be bound when typing the indices of a constructor result&lt;/em&gt;.  Section 3.2.1 gives the scheme for inductive constructors in prose, and apparently I misread the language describing the binding environments of each portion of the scheme.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;This closer reading is of course consistent with the check that Coq and (recent versions of) Agda perform, that prohibit any appearance of T in its own indices.&lt;/p&gt;&#xA;" OwnerUserId="17355" LastActivityDate="2013-09-02T03:45:49.070" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18828" PostTypeId="1" CreationDate="2013-09-02T05:24:22.947" Score="2" ViewCount="282" Body="&lt;p&gt;Is there a programming language L where it is possible to write an optimizer O, that, receiving a program in L and a set of cost for every low-level operation in L, returns the equivalent program with the least total cost possible?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Practical example:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;(optimize '(* a a) [['* 2] ['pow 1]])&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Should return:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;(pow a)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;For a hypothetical language where '*' and 'sqrt' are the only primitive operations, as the cost of the 'sqrt' operation (1) is lower than the cost of the '*' operation (2).&lt;/p&gt;&#xA;" OwnerUserId="17388" LastActivityDate="2013-09-03T11:21:45.343" Title="Is there any language for which a perfect optimization is decidable?" Tags="&lt;pl.programming-languages&gt;" AnswerCount="3" CommentCount="8" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="18830" PostTypeId="2" ParentId="18828" CreationDate="2013-09-02T15:44:59.877" Score="2" Body="&lt;p&gt;two examples based on a more broad interpretation of your question &amp;amp; the terms in it which are not strictly defined in the question:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;optimiziing FSMs ie finding the minimal FSM eg via &lt;a href=&quot;http://en.wikipedia.org/wiki/Myhill%E2%80%93Nerode_theorem&quot; rel=&quot;nofollow&quot;&gt;Myhill-Nerode theorem&lt;/a&gt;. FSMs are indeed &lt;a href=&quot;http://en.wikipedia.org/wiki/Regular_language&quot; rel=&quot;nofollow&quot;&gt;&quot;languages&quot;&lt;/a&gt; by the technical TCS definition, however whether they are &quot;programming languages&quot; would be a more controversial assertion. the problem is that &quot;programming language&quot; is generally taken to be, or standardly defined as, a Turing-complete language, as pointed out in comments. so that would have to be weakened for your question to have a nontrivial answer (agreeing with the idea that finding optimal programs for Turing complete languages is basically undecidable without further restrictions).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;finding the minimal circuit. circuits map onto languages in the natural way of defining a family of (minimal) circuits $C_n$ for a language, eg as in the definition of &lt;a href=&quot;http://en.wikipedia.org/wiki/P/poly&quot; rel=&quot;nofollow&quot;&gt;P/Poly&lt;/a&gt; and other natural &quot;circuit-based complexity classes&quot;. a brute force algorithm with &quot;very slow&quot; run time (exponential time or worse) suffices to find a minimal circuit &lt;em&gt;but only for a/each fixed $n$&lt;/em&gt;, basically the smallest DAG-connected-gates that is equivalent (in the &lt;a href=&quot;http://en.wikipedia.org/wiki/Truth_table&quot; rel=&quot;nofollow&quot;&gt;truth table&lt;/a&gt;).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2013-09-02T15:44:59.877" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18831" PostTypeId="2" ParentId="18828" CreationDate="2013-09-02T16:29:41.607" Score="4" Body="&lt;p&gt;Certainly not for a Turing-complete programming language, following up on D.W. and David's comments. Consider a program in this language that simulates a Turing Machine $M$ (where $M$ is hardcoded into the program) and outputs zero if $M$ halts.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;When your optimizer receives such a program where $M$ halts, it must output some least-cost program that always returns zero (because the original program always returns zero). If $M$ doesn't halt, then your optimizer can output any program that runs forever (as the original program always runs forever).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;OK, now let's show that your optimizer would allow us to solve the halting problem. Suppose that the statement &quot;return zero&quot; has cost $C$. (Thus, we know that any least-cost program that always returns zero has cost at most $C$.) Given a Turing Machine $M$, construct the program that simulates $M$ and outputs zero if $M$ halts. Feed it to the optimizer. Run the output program for up to total cost (time) $C+1$. If it has output zero, then the original program halts. If not, the original program does not halt.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;...I agree with user17410's suggestion to look at the primitive recursive functions as they are likely to be able to cover most problems we want to solve practically.&lt;/p&gt;&#xA;" OwnerUserId="8243" LastActivityDate="2013-09-02T16:29:41.607" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="18833" PostTypeId="2" ParentId="18828" CreationDate="2013-09-02T19:49:36.517" Score="0" Body="&lt;p&gt;This is undecidable for Turing-powerful languages.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Proof is by reduction from the all-inputs halting problem (&quot;Does Turing Machine&amp;nbsp;$M$ halt for all inputs?&quot;), which is undecidable.  Suppose the optimizer&amp;nbsp;$O$ described in the question exists. Given a machine&amp;nbsp;$M$, we can easily produce a machine&amp;nbsp;$Z(M)$ that behaves identically to&amp;nbsp;$M$ except that, whenever it halts, it outputs zero instead of whatever output&amp;nbsp;$M$ was going to give.  But, now, $M$&amp;nbsp;halts on all inputs if, and only if, $Z(M)$&amp;nbsp;outputs zero for all inputs if, and only if, $O(Z(M))$ is the program that immediately returns zero and halts.&lt;/p&gt;&#xA;" OwnerUserId="17082" LastEditorUserId="17082" LastEditDate="2013-09-03T11:21:45.343" LastActivityDate="2013-09-03T11:21:45.343" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="18834" PostTypeId="1" AcceptedAnswerId="18865" CreationDate="2013-09-02T20:44:23.433" Score="4" ViewCount="266" Body="&lt;p&gt;More specifically, I'm looking at the problem of applying an algorithm for computing the permanent of a sparse matrix of binary entries (0s and 1s) to a matrix that has entries of positive and negative integers (but still sparsely).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am not sure how hard this is. Clearly the permanent of a general matrix can be negative so it cannot be written as the permanent of a matrix with non-negative entries.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, there may be some kind of way to re-represent the permanent of the general matrix in terms of other permanents.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;That is, Per(A) = Per(A1) +/- Per(A2) +/- Per(A3) +/-... for some matrices A1,A2,A3, or something like that.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is related to the problem of rerepresenting weighted graphs as non-weighted graphs through the connection of the permanent and cycle covers on the adjacency graph.&lt;/p&gt;&#xA;" OwnerUserId="13963" LastActivityDate="2013-09-05T19:50:24.143" Title="What are some methods for representing a weighted directed graph with a non-weighted directed graph while preserving some properties?" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;matrices&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18835" PostTypeId="2" ParentId="16473" CreationDate="2013-09-03T08:30:13.220" Score="2" Body="&lt;p&gt;The question you ask is more complex than it seems. ITLs have been defined in different ways and fashions, and the answer depends on the particular definition and the particular semantics. To get an intuition, you have to decide first if points are to be considered special intervals or excluded by the semantics; the second choice is more common, and it makes more difficult the comparison. I suggest to check, first, the webpages &lt;/p&gt;&#xA;&#xA;&lt;p&gt;1.&lt;a href=&quot;http://perseo.dif.um.es/~guido/publications.html&quot; rel=&quot;nofollow&quot;&gt;http://perseo.dif.um.es/~guido/publications.html&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2.&lt;a href=&quot;https://itl.dimi.uniud.it/&quot; rel=&quot;nofollow&quot;&gt;https://itl.dimi.uniud.it/&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;to get an idea of the last 10 years of research on this topic. Second, you can contact me to discuss more in particular your question (my address is on the link number 1).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;cheers&lt;/p&gt;&#xA;" OwnerUserId="17469" LastActivityDate="2013-09-03T08:30:13.220" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18836" PostTypeId="1" AcceptedAnswerId="18843" CreationDate="2013-09-03T09:35:58.073" Score="4" ViewCount="301" Body="&lt;p&gt;A quick Google search didn't turn up anything obvious, so I'm asking here. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Converting direct style programs to continuation-passing style is a well-studied program transformation. However, I'm interested in the reverse transformation -- I'd like to take a program in CPS, and convert it to direct-style. Obviously the identity trasnformation works, in a vacuous sense, but I'm interested in transformations that are &quot;as direct-style as possible&quot;. &lt;/p&gt;&#xA;" OwnerUserId="657" LastActivityDate="2013-09-03T19:37:17.880" Title="Reversing the CPS transformation?" Tags="&lt;pl.programming-languages&gt;&lt;continuations&gt;&lt;cps-transforms&gt;" AnswerCount="2" CommentCount="7" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18839" PostTypeId="2" ParentId="18836" CreationDate="2013-09-03T14:51:06.947" Score="3" Body="&lt;p&gt;One possible answer would be: apply your CPS style program to the identity continuation, and perform symbolic evaluation of every $\beta$-redex. This should give a reasonable &quot;direct-style&quot; interpretation of your program, if there was not much $\lambda$-lifting (turning nameless functions into named top-level functions).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that this works for side-effect-free programs, I'm not so sure if there are side effects.&lt;/p&gt;&#xA;" OwnerUserId="3984" LastActivityDate="2013-09-03T14:51:06.947" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18840" PostTypeId="2" ParentId="18816" CreationDate="2013-09-03T15:29:48.340" Score="-2" Body="&lt;p&gt;try this reference&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://link.springer.com/chapter/10.1007%2F978-3-540-36351-4_5&quot; rel=&quot;nofollow&quot;&gt;From Kolmogorov’s theorem on empirical distribution to number theory&lt;/a&gt;, Kevin Ford, also &lt;a href=&quot;http://www.math.uiuc.edu/~ford/wwwpapers/kol.pdf&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;We describe some new estimates for the probabiity that an empirical distribution function stays on one side of a given line, and give applications to number theory.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;sketch of another basic conceptual connection/bridge in cryptography. $K(x)$ is related to the &lt;a href=&quot;http://en.wikipedia.org/wiki/Kolmogorov_complexity#Relation_to_entropy&quot; rel=&quot;nofollow&quot;&gt;entropy&lt;/a&gt; of an information source. entropy is used heavily in cryptography as a measure related to randomness, eg see &lt;a href=&quot;http://www.cs.bu.edu/~reyzin/papers/entropy-survey.pdf&quot; rel=&quot;nofollow&quot;&gt;Some Notions of Entropy for Cryptography&lt;/a&gt; by Reyzin. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;however, &lt;em&gt;caveat&lt;/em&gt;, there is no direct reference to Kolmogorov complexity there! and looking at this very long Phd thesis/survey on entropy in cryptography by Cachin/Maurer &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.20.1016&quot; rel=&quot;nofollow&quot;&gt;Entropy Measures and Unconditional Security in Cryptography&lt;/a&gt;, there is no direct reference either! so it appears to me that $K(x)$ is a more &quot;computationally intractable&quot; measurement of entropy and therefore doesnt show up often in cryptography analysis which needs more pragmatic metrics even though it is conceptually linked. there may be a sense in which $K(x)$ is at the same time the strictest measure of entropy and yet at the same time the most intractable, with other entropy measures at other &quot;easier&quot; points in this apparent strict vs. tractable tradeoff continuum.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2013-09-03T15:29:48.340" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="18841" PostTypeId="2" ParentId="18426" CreationDate="2013-09-03T15:44:43.033" Score="1" Body="&lt;p&gt;this is a 32p survey that just appeared on the subject focusing on the circuit lower bounds angle (there is strong overlap in the content with other answers here).&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://arxiv.org/abs/1309.0249&quot; rel=&quot;nofollow&quot;&gt;Algorithms versus Circuit Lower Bounds&lt;/a&gt; by Oliveira&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Different techniques have been used to prove several transference theorems of the form &quot;nontrivial algorithms for a circuit class C yield circuit lower bounds against C&quot;. In this survey we revisit many of these results. We discuss how circuit lower bounds can be obtained from derandomization, compression, learning, and satisfiability algorithms. We also cover the connection between circuit lower bounds and useful properties, a notion that turns out to be fundamental in the context of these transference theorems. Along the way, we obtain a few new results, simplify several proofs, and show connections involving different frameworks. We hope that our presentation will serve as a self-contained introduction for those interested in pursuing research in this area.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2013-09-03T15:44:43.033" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18843" PostTypeId="2" ParentId="18836" CreationDate="2013-09-03T19:37:17.880" Score="5" Body="&lt;p&gt;I think your looking for &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.10.7604&quot;&gt;Back to Direct Style&lt;/a&gt; by Olivier Danvy&lt;/p&gt;&#xA;" OwnerUserId="5434" LastActivityDate="2013-09-03T19:37:17.880" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18845" PostTypeId="2" ParentId="4764" CreationDate="2013-09-04T01:00:00.947" Score="3" Body="&lt;p&gt;This problem can be solved using $\lceil \lg m+1 \rceil$ invocations of an oracle for MAJSAT.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $M(\varphi)$ denote the desired median value for $\varphi$.  For fixed $k$, define the formula $\psi_k$ so it is true for assignment $x$ iff $x$ satisfies at least $k$ of the clauses of $\varphi$.  Notice that given $\varphi$ in CNF form and given $k$, you can easily construct $\psi_k$ in CNF form in polynomial time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now suppose we had an oracle for MAJSAT.  Querying it on the formula $\psi_k$ would tell us whether the majority of assignments make the formula $\psi_k$ true, or equivalently, whether $M(\varphi) \ge k$.  So, to learn $M(\varphi)$, apply binary search (start with $k=m/2$, then increase or decrease $k$ according to the results from the oracle).  After $\lg m+1$ iterations, the binary search reveals the value of $M(\varphi)$.  Each iteration requires one query to our oracle for MAJSAT. &lt;/p&gt;&#xA;" OwnerUserId="5038" LastActivityDate="2013-09-04T01:00:00.947" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18846" PostTypeId="1" AcceptedAnswerId="18868" CreationDate="2013-09-04T02:24:16.113" Score="98" ViewCount="10054" Body="&lt;p&gt;I am preparing for a talk aimed at undergraduate math majors, and as part of it, I am considering discussing the concept of decidability.  I want to give an example of a problem that we do not currently know to be decidable or undecidable.  There are many such problems, but none seem to stand out as nice examples so far.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;What is a simple-to-describe &lt;a href=&quot;https://en.m.wikipedia.org/wiki/Decision_problem&quot; rel=&quot;noreferrer&quot;&gt;decision problem&lt;/a&gt; whose decidability is open?&lt;/strong&gt;&lt;/p&gt;&#xA;" OwnerUserId="123" LastEditorUserId="1993" LastEditDate="2019-11-07T22:23:16.087" LastActivityDate="2019-11-07T22:23:16.087" Title="A simple decision problem whose decidability is not known" Tags="&lt;computability&gt;&lt;decidability&gt;" AnswerCount="15" CommentCount="1" FavoriteCount="53" ContentLicense="CC BY-SA 4.0" />
  <row Id="18847" PostTypeId="2" ParentId="18846" CreationDate="2013-09-04T03:46:22.337" Score="52" Body="&lt;p&gt;Hilbert's tenth problem over rationals: &quot;Does this polynomial equation have a rational solution?&quot;&lt;/p&gt;&#xA;" OwnerUserId="2226" LastActivityDate="2013-09-04T03:46:22.337" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="18848" PostTypeId="2" ParentId="18846" CreationDate="2013-09-04T03:48:03.310" Score="17" Body="&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Post_correspondence_problem#Variants&quot;&gt;Post's Correspondence problem&lt;/a&gt; with a fixed number of tiles of between 3 and 6. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;While it is not really simple to describe, it does have a very &quot;playful&quot; description, and I find it suitable for intuition-level talks.&lt;/p&gt;&#xA;" OwnerUserId="7531" LastActivityDate="2013-09-04T03:48:03.310" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18849" PostTypeId="2" ParentId="18846" CreationDate="2013-09-04T06:55:28.723" Score="28" Body="&lt;p&gt;A simple problem whose decidability is unknown is the following (I think it is still open):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Infinite chess&lt;/strong&gt;:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Input&lt;/strong&gt;: A finite list of chess pieces and their starting positions on a $Z \times Z$ chessboard;&lt;br&gt;&#xA;&lt;strong&gt;Question&lt;/strong&gt;: Can White force mate?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we add the constraint that White must mate in $n$ moves ($n$ is part of the input), then it becomes decidable:&#xA;see &lt;a href=&quot;http://arxiv.org/pdf/1201.5597v4&quot; rel=&quot;noreferrer&quot;&gt;Dan Brumleve, Joel David Hamkins, and Philipp Schlicht, The mate-in-n problem of infinite chess is decidable&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;br&gt;&#xA;Another simple problem is the behaviour of &lt;a href=&quot;http://en.wikipedia.org/wiki/Langton%27s_ant&quot; rel=&quot;noreferrer&quot;&gt;Langton's ant&lt;/a&gt; on finite initial configuration.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Langton's ant behaviour with finite support&lt;/strong&gt;:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Squares on a plane are colored variously either black or white. We arbitrarily identify one square as the &quot;ant&quot;. The ant can travel in any of the four cardinal directions at each step it takes. The ant moves according to the rules below:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;At a white square, turn 90° right, flip the color of the square, move forward one unit&lt;/li&gt;&#xA;&lt;li&gt;At a black square, turn 90° left, flip the color of the square, move forward one unit&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Input&lt;/strong&gt;: a finite configuration (black/white) of the plane and the ant position;&lt;br&gt;&#xA;&lt;strong&gt;Question&lt;/strong&gt;: Does the ant always end building a recurrent infinite &quot;highway&quot;?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/SFPcA.jpg&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For infinite support the problem is undecidable, see: &#xA;&lt;a href=&quot;http://www.dim.uchile.cl/~anmoreir/oficial/langton_dam.pdf&quot; rel=&quot;noreferrer&quot;&gt;A. Gajardo, A. Moreira and E. Goles, Complexity of Langton’s ant&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="898" LastEditDate="2016-05-31T11:04:05.060" LastActivityDate="2016-05-31T11:04:05.060" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18850" PostTypeId="2" ParentId="18823" CreationDate="2013-09-04T09:34:33.350" Score="12" Body="&lt;p&gt;There is a simple algorithm for V3.&#xA;I'll use the convention that there are $(2n)^3$ possible clauses,&#xA;so $2^{8n^3}$ formulas.&#xA;(This is just for simplicity - if you don't want all $8n^3$ clauses to be considered valid, it wouldn't affect the following argument.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Pick a random assignment from $\{0,1\}^n$.&#xA;For each of the $7n^3$ possible clauses that are true on this assignment,&#xA;include the clause with probability $1/2$.&#xA;Each formula $\phi$ will appear with probability proportional to&#xA;its number of satisfying assignments.&#xA;The $m$-clause variant is similar: pick a set of size $m$&#xA;out of the $7n^3$ clauses.&lt;/p&gt;&#xA;" OwnerUserId="636" LastActivityDate="2013-09-04T09:34:33.350" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18851" PostTypeId="2" ParentId="18846" CreationDate="2013-09-04T10:12:10.403" Score="13" Body="&lt;p&gt;The Generalized star-height problem : &quot;how many nesting of Kleene stars do I need to represent this regular language, with a regular expression with complementation allowed ?&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We don't even know if the algorithm that always returns 1 (except 0 for star-free languages, which is a decidable case) is correct.&lt;/p&gt;&#xA;" OwnerUserId="8953" LastActivityDate="2013-09-04T10:12:10.403" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18852" PostTypeId="2" ParentId="18846" CreationDate="2013-09-04T13:21:10.723" Score="31" Body="&lt;p&gt;The problem of given a linear recurrence along with its initial values, does it take the value 0?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Two reference:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://terrytao.wordpress.com/2007/05/25/open-question-effective-skolem-mahler-lech-theorem/&quot;&gt;http://terrytao.wordpress.com/2007/05/25/open-question-effective-skolem-mahler-lech-theorem/&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.cs.ox.ac.uk/joel.ouaknine/publications/positivity12.pdf&quot;&gt;http://www.cs.ox.ac.uk/joel.ouaknine/publications/positivity12.pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="4201" LastActivityDate="2013-09-04T13:21:10.723" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18855" PostTypeId="2" ParentId="608" CreationDate="2013-09-04T13:40:06.150" Score="6" Body="&lt;p&gt;In this paper &lt;a href=&quot;http://www.mimuw.edu.pl/~szymtor/papers/atom-turing.pdf&quot; rel=&quot;noreferrer&quot;&gt;http://www.mimuw.edu.pl/~szymtor/papers/atom-turing.pdf&lt;/a&gt;&#xA;we studied Turing Machines which have limited access to data.&#xA;This is formalized as being invariant under automorphisms of a relational structure; for instance, in the O(n log n) lower bound for sorting, you would say that the machine can processes and store rational numbers, but its transitions should be invariant under automorphisms of (Q,&amp;lt;), i.e. monotone bijections. &#xA;The formal definition is more complicated, in order to specify precisely what &#xA;kind of data structures can the machine store in its memory (it should be &quot;finite&quot;&lt;br&gt;&#xA;in some sense, but we allow to store more complicated structures than only tuples of data values, such as unordered tuples).  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the paper we proved some lower bounds for other Turing machines with &quot;restricted data access&quot;. In particular, we showed that:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;• A deterministic Turing machine which can handle vectors&#xA;(say over the two-element field), but can only use vector addition and equality tests, cannot determine in polynomial time whether a given list of vectors is linearly dependent (formally, the machines transitions should be invariant under automorphisms of the vector space). This is opposed to nondeterministic machines, which can simply guess a combination of the vectors which adds up to 0. Observe that Gaussian elimination runs in polynomial time, but has access to the coordinates of the vectors; in particular, its transitions are not invariant under automorphisms of the vector space.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;• In a suitably defined model, Turing Machines which can compare&#xA;natural numbers only with respect to equality (not even &amp;lt;) cannot be determinized.&#xA;Here, we consider the relational structure (N,=) and machines which are invariant under its automorphisms. &#xA;There is a construction (similar to the Cai-Furer-Immerman construction from Finite Model Theory) which shows that in fact, in this model P≠NP. &#xA;Allowing the machines to compare the numbers using &amp;lt; gives them sufficient power to determinize. &lt;/p&gt;&#xA;" OwnerUserId="17484" LastActivityDate="2013-09-04T13:40:06.150" CommentCount="0" CommunityOwnedDate="2013-09-04T13:40:06.150" ContentLicense="CC BY-SA 3.0" />
  <row Id="18858" PostTypeId="1" CreationDate="2013-09-04T15:32:23.950" Score="6" ViewCount="96" Body="&lt;p&gt;What problems are either abstracted by or reduce to the learning juntas problem?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(An example of a real-world problem &lt;em&gt;abstracted by&lt;/em&gt; the learning juntas problem is the &lt;a href=&quot;http://www.ncbi.nlm.nih.gov/pubmed/14614241&quot; rel=&quot;nofollow&quot;&gt;Identification of genetic loci participating in disease penetrance&lt;/a&gt;.) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Bonus points if the total number of attributes is very large, the number of juntas is small, and the problem permits active queries. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm asking because I have reason to believe that &lt;a href=&quot;http://blog.hackingevolution.net/2013/09/03/evolving-juntas/&quot; rel=&quot;nofollow&quot;&gt;this algorithm&lt;/a&gt;, or one like it, may be of service.    &lt;/p&gt;&#xA;" OwnerUserId="12162" LastEditorUserId="12162" LastEditDate="2013-09-06T16:26:16.413" LastActivityDate="2013-09-06T16:26:16.413" Title="Problems that reduce to or are abstracted by the learning juntas problem" Tags="&lt;lg.learning&gt;&lt;boolean-functions&gt;" AnswerCount="0" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18859" PostTypeId="2" ParentId="18822" CreationDate="2013-09-04T15:33:04.067" Score="14" Body="&lt;p&gt;for Question 1, the answer is Yes, and can be shown as follows.  (I will also be implicitly sketching an affirmative answer to Q4, since the argument is uniform and will treat all input lengths at once.)  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Fix any NP-complete language $L$, and a family of good binary error-correcting codes (with rate 1/4 and correcting from a .1 fraction of errors, say).  Let $Enc_n: \{0, 1\}^n \rightarrow \{0, 1\}^{4n}$ be the encoding function for length $n$; we use some such code where $Enc = \{Enc_n\}$ is computable by a uniform polynomial-time algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Define $L'$ as the set of strings $z$ that are within distance at most $.05 |z|$ from a codeword $y \in Enc(L)$ encoding some element of $L$.  Note that $L'$ is in NP, as you can guess and check the nearby codeword, the decoded word, and the NP certificate for the decoded word's membership in $L$.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then the claim is that any &quot;approximation&quot; of $L'$ in your sense is NP-hard for $\varepsilon = .01$.  For if we consider a valid codeword $y = Enc(x)$ of some length $4n$, then with probability $1 - o(1)$ over a random $\varepsilon$-perturbed version $y'$ of $y$, it will disagree with $y$ in at most a .05 fraction of coordinates, and will therefore disagree with any other codeword of $Enc_n$ in a more than $.05$ fraction of coords.  For such $y'$ we have $y' \in L'$ iff $x \in L$.  So if $h$ is any approximation to the $\varepsilon$-smoothed version of $L'$ in your sense, then we must have $h(y) = L(x)$.  As $Enc$ is efficiently computable, this gives us a way to efficiently reduce membership questions for $L$ to ones for $h$.  So $h$ is NP-hard.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Two notes:  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;(1) error-correcting encodings of NP instances have been used before in several papers, notably&lt;br&gt;&#xA;D. Sivakumar: &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.16.648&quot;&gt;On Membership Comparable Sets.&lt;/a&gt; J. Comput. Syst. Sci. 59(2): 270-280 (1999).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(2) the argument above of course says nothing about the average-case complexity of any NP problem, since error-correction is being applied on an instance-by-instance basis.  &lt;/p&gt;&#xA;" OwnerUserId="223" LastEditorUserId="223" LastEditDate="2013-09-05T06:21:21.657" LastActivityDate="2013-09-05T06:21:21.657" CommentCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="18860" PostTypeId="2" ParentId="18816" CreationDate="2013-09-04T16:12:43.307" Score="0" Body="&lt;p&gt;Number theory is generally concerned with integer equations, though note &lt;a href=&quot;http://en.wikipedia.org/wiki/Number_theory&quot; rel=&quot;nofollow&quot;&gt;wikipedia states&lt;/a&gt;, more broadly, a subbranch of number theory is the approximation of reals by rationals and the relation between them: &quot;One may also study real numbers in relation to rational numbers, e.g., as approximated by the latter (&lt;a href=&quot;http://en.wikipedia.org/wiki/Diophantine_approximation&quot; rel=&quot;nofollow&quot;&gt;Diophantine approximation&lt;/a&gt;).&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;here are two papers generally along those lines:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0304397501001025&quot; rel=&quot;nofollow&quot;&gt;The Kolmogorov complexity of real numbers&lt;/a&gt; Ludwig Staiger&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0304397501000275&quot; rel=&quot;nofollow&quot;&gt;A characterization of c.e. random reals&lt;/a&gt; Cristian S. Calude&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2013-09-04T16:12:43.307" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="18861" PostTypeId="1" CreationDate="2013-09-04T16:48:30.210" Score="3" ViewCount="227" Body="&lt;p&gt;I want to learn about nested stack automata. However my efforts to find a suitable learning resource have so far been abortive:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;The Wikipedia article on &lt;a href=&quot;http://en.wikipedia.org/wiki/Nested_stack_automaton&quot; rel=&quot;nofollow&quot; title=&quot;Nested stack automaton - Wikipedia, the free encyclopedia&quot;&gt;nested stack automata&lt;/a&gt; is a stub.&lt;/li&gt;&#xA;&lt;li&gt;Alfred Aho's original paper on nested stack automata is &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=321529&quot; rel=&quot;nofollow&quot; title=&quot;Nested Stack Automata&quot;&gt;available on ACM&lt;/a&gt;. However it's not free and I don't have the means to pay for it.&lt;/li&gt;&#xA;&lt;li&gt;I've read the &lt;a href=&quot;http://www.math.stevens.edu/~rgilman/rhg/nsa.pdf&quot; rel=&quot;nofollow&quot;&gt;paper on nested stack automata&lt;/a&gt; written by Robert Gilman and Michael Shapiro several times but the concept, to me, is still abstruse.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;I really want to learn about nested stack automata. Hence it would be nice if somebody could explain, in a rigorous manner, how a nested stack automaton works.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In addition if you could link me to some good articles which explain nested stack automata then that would be great. Perhaps you have a soft copy of Alfred Aho's original paper on nested stack automata and are willing to share it?&lt;/p&gt;&#xA;" OwnerUserId="17487" LastActivityDate="2013-09-04T16:48:30.210" Title="Learning about Nested Stack Automata" Tags="&lt;fl.formal-languages&gt;&lt;automata-theory&gt;&lt;turing-machines&gt;&lt;grammars&gt;" AnswerCount="0" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18862" PostTypeId="2" ParentId="18846" CreationDate="2013-09-04T16:56:01.000" Score="-10" Body="&lt;p&gt;there is a fairly natural way to map most open problems onto questions of (un)decidability. most open problems generally are not known to be provable or unprovable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;on the web there is some informal confusion about the undecidability of the &lt;a href=&quot;http://en.wikipedia.org/wiki/P_vs_np&quot; rel=&quot;nofollow&quot;&gt;P vs NP&lt;/a&gt; problem, which is not strictly a decision problem, therefore to talk about its undecidability is not technically correct. but on the other hand there does seem to be a close/natural link between undecidability and provability as follows. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;for example consider &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;the language $L$ of binary strings where a string/integer $x$ is in the language iff there exists a $O(n^x)$ DTime TM that solves an NP complete problem &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;is this language decidable? that is an question about a language with its decidability open that is basically closely tied (even, virtually identical) to the P vs NP problem and its inherent (un?)provability.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;as for P vs NP as &quot;simple to describe&quot;, it only requires concepts of &lt;a href=&quot;http://en.wikipedia.org/wiki/Turing_machine&quot; rel=&quot;nofollow&quot;&gt;TMs&lt;/a&gt;, &lt;a href=&quot;http://en.wikipedia.org/wiki/Big_O_notation&quot; rel=&quot;nofollow&quot;&gt;Big O runtime notation&lt;/a&gt;, &lt;a href=&quot;http://en.wikipedia.org/wiki/Non-deterministic_Turing_machine&quot; rel=&quot;nofollow&quot;&gt;nondeterminism&lt;/a&gt; which are a fairly simple (some of the most basic concepts of TCS) and taught at the undergraduate level or which a gifted high school student could understand. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;in fact NP vs P/Poly is also open, and can be mapped onto an open question about decidability in the same way, and this can be stated as a fairly simple problem about the growth of minimal (monotone?) circuits to recognize NP complete problems (eg cliques).&lt;/p&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2013-09-04T16:56:01.000" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18863" PostTypeId="1" CreationDate="2013-09-04T19:24:52.480" Score="6" ViewCount="1174" Body="&lt;p&gt;Are there any known exact algorithms for Euclidean TSP that take advantage of the inherent structure of the problem?  Do any of these algorithms have better asymptotics than $O(2^n n^2)$ of a DP solution via Held-Karp?  I am also interested in simplicity of implementation (I've seen a 10-line implementation of Held-Karp in Python).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is &lt;a href=&quot;https://cstheory.stackexchange.com/a/11557/17264&quot;&gt;this&lt;/a&gt; still the current state of the art?&lt;/p&gt;&#xA;" OwnerUserId="17264" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.743" LastActivityDate="2013-09-04T20:49:57.787" Title="Euclidean TSP algorithms" Tags="&lt;tsp&gt;&lt;dynamic-programming&gt;" AnswerCount="0" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18864" PostTypeId="2" ParentId="2708" CreationDate="2013-09-04T20:17:36.043" Score="3" Body="&lt;p&gt;&lt;a href=&quot;http://www.cs.cornell.edu/courses/CS6820/2012sp/Handouts/Sedjelmaci07.pdf&quot; rel=&quot;nofollow&quot;&gt;This&lt;/a&gt; paper, published in 2007, says that integer GCD is in NC.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit: The assertion is probably false. Check the comments.&lt;/p&gt;&#xA;" OwnerUserId="17492" LastEditorUserId="17492" LastEditDate="2013-09-05T22:04:08.240" LastActivityDate="2013-09-05T22:04:08.240" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="18865" PostTypeId="2" ParentId="18834" CreationDate="2013-09-04T21:12:56.483" Score="7" Body="&lt;p&gt;The problem of computing the permanent of general matrices can indeed be reduced to the problem of computing the permanent of 0-1 matrices. This was shown in the paper that introduced the complexity class #P in 1979 [1] (which also showed that the problem is #P-complete).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There's a &lt;a href=&quot;https://en.wikipedia.org/wiki/Permanent_is_sharp-P-complete#01-Matrix&quot; rel=&quot;nofollow noreferrer&quot;&gt;nice article&lt;/a&gt; that covers this on Wikipedia, based on a simpler proof published later [2].&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As you mentioned sparse matrices particularly you may wish to know that if the matrix is the biadjacency matrix of a planar graph then the permanent can be computed in polynomial-time using the &lt;a href=&quot;https://en.wikipedia.org/wiki/FKT_algorithm&quot; rel=&quot;nofollow noreferrer&quot;&gt;FKT algorithm&lt;/a&gt;. This is a consequence of the permanent of the biadjacency matrix of a bipartite graph being equal to the weighted sum of perfect matchings, as explained &lt;a href=&quot;https://en.wikipedia.org/wiki/Permanent#Perfect_matchings&quot; rel=&quot;nofollow noreferrer&quot;&gt;here&lt;/a&gt;. There's a &lt;a href=&quot;https://cstheory.stackexchange.com/questions/10140/a-question-to-the-p-complete-proof-of-the-permanent-from-ben-dor-halevi&quot;&gt;previous question&lt;/a&gt; related to this.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] L. G. Valiant. The complexity of computing the permanent. Theor. Comput. Sci.,&#xA;8:189-201, 1979. Available &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/0304397579900446&quot; rel=&quot;nofollow noreferrer&quot;&gt;here&lt;/a&gt;.&lt;br&gt;&#xA;[2] A. Ben-Dor and S. Halevi. Zero-one permanent is #P-complete, a simpler proof. Proceedings of the 2nd Israel Symposium on the Theory and Computing Systems, pages 108–117, 1993. Available from the author's webpage &lt;a href=&quot;http://people.csail.mit.edu/shaih/pubs/01perm.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="17480" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2013-09-05T19:50:24.143" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18866" PostTypeId="2" ParentId="18846" CreationDate="2013-09-04T21:29:52.827" Score="64" Body="&lt;p&gt;UPDATE: The problem I mentioned here is now known to be undecidable! &lt;a href=&quot;http://arxiv.org/abs/1605.05274&quot;&gt;http://arxiv.org/abs/1605.05274&lt;/a&gt;  Moreover, the paper was inspired by reading this very answer. :)&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Programmers in your math-major audience may be surprised to learn that the question &quot;is this type implicitly convertible to that type?&quot; is not known to be decidable in any of Java 5, C# 4 and Scala 2.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For more details, see Andrew Kennedy and Benjamin Pierce's paper &lt;a href=&quot;http://repository.upenn.edu/cis_papers/671/&quot;&gt;&quot;On Decidability of Nominal Subtyping with Variance&quot;&lt;/a&gt;. The paper gives some examples of additional restrictions to the type systems of these languages, under which nominal subtyping becomes known to be decidable or known to be undecidable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Interestingly, the paper was written well before generic covariance and contravariance were added to C#, but the authors correctly anticipated the direction the language was heading. (This is unsurprising; the authors designed the underlying support for variance in the CLR that I took advantage of when adding variance to C#! They did the heavy lifting.)&lt;/p&gt;&#xA;" OwnerUserId="17493" LastEditorUserId="17493" LastEditDate="2016-05-26T16:12:58.037" LastActivityDate="2016-05-26T16:12:58.037" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18867" PostTypeId="2" ParentId="18846" CreationDate="2013-09-04T22:00:41.467" Score="18" Body="&lt;p&gt;The decidability of &lt;em&gt;conjunctive query containment&lt;/em&gt; has been open for over twenty years.  Resolving this would be a breakthrough in database theory.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Query containment&lt;/em&gt; takes as input two queries $Q_1$ and $Q_2$ and asks whether $Q_1$ applied to &lt;em&gt;any&lt;/em&gt; database $I$ yields at least as many answers as $Q_2$ when applied to the same database $I$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In &lt;em&gt;conjunctive&lt;/em&gt; queries one uses AND to link together existentially quantified predicates.  In SQL terms, conjunctive queries are the SELECT-FROM-WHERE queries using &quot;=&quot; and &quot;AND&quot; but no subqueries or aggregation.  This is perhaps the most common kind of database query, and includes most search engine queries.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What makes query containment potentially undecidable is the quantification over infinitely many possible databases $I$.  Algorithms that do exist tend to rely on turning this infinite quantification into a syntactic question, whether there is a homomorphism of some kind between $Q_1$ and $Q_2$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For slightly more powerful (i.e. &quot;advanced&quot;) queries that allow OR or $\ne$, query containment is known to be undecidable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To compare queries by counting how many answers they generate, one uses the semiring $(N,+,\times)$ of natural numbers with addition and multiplication.  Query containment can also be generalized to other ordered semirings.  For all positive semirings, conjunctive query containment is NP-hard.  However, for most semirings other than $(N,+,\times)$ that people care about, conjunctive query containment is decidable.  Unfortunately, the counting case falls into the zone of semirings where decidability of conjunctive query containment is still open.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For pointers to the extensive literature and a rigorous treatment, see a ToDS paper (in press) by some people.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One could turn this into a compelling question for a non-technical audience by demonstrating &lt;a href=&quot;http://www.googlefight.com/&quot;&gt;Googlefight&lt;/a&gt;, then asking how one can tell which query gives more answers than the other, without first peeking at the data.  If $Q$ and $R$ are conjunctive queries, then $Q$ always gives at least as many answers as $Q \text{ AND } R$, because the latter is somehow syntactically &quot;larger&quot; (there is a homomorphism from $Q$ to it), but things get rather tricky from there on.&lt;/p&gt;&#xA;" OwnerUserId="109" LastEditorUserId="109" LastEditDate="2013-09-05T16:04:06.277" LastActivityDate="2013-09-05T16:04:06.277" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="18868" PostTypeId="2" ParentId="18846" CreationDate="2013-09-04T23:12:32.233" Score="101" Body="&lt;p&gt;The &lt;a href=&quot;http://uniformlyatrandom.wordpress.com/2009/07/09/matrix-mortality/&quot;&gt;Matrix Mortality Problem&lt;/a&gt; for 2x2 matrices.  I.e., given a finite list of 2x2 integer matrices M&lt;sub&gt;1&lt;/sub&gt;,...,M&lt;sub&gt;k&lt;/sub&gt;, can the M&lt;sub&gt;i&lt;/sub&gt;'s be multiplied in any order (with arbitrarily many repetitions) to produce the all-0 matrix?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(The 3x3 case is known to be undecidable.  The 1x1 case, of course, is decidable.)&lt;/p&gt;&#xA;" OwnerUserId="1575" LastEditorUserId="1575" LastEditDate="2013-09-04T23:17:45.777" LastActivityDate="2013-09-04T23:17:45.777" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="18869" PostTypeId="1" CreationDate="2013-09-05T00:10:50.247" Score="2" ViewCount="471" Body="&lt;p&gt;It is well-known that the non-metric $k$-median problem cannot be approximated better than $O(\log(n))$ (by a gap preserving reduction from the set cover problem). Is there any logarithmic approximation algorithms for this problem? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In some real world applications, the cost function does not satisfies the triangle inequality even in a weak sense. Also, the constraint of not having more than $k$ medians cannot be violated and the above approximation ratio is the ratio of solution cost over optimal cost.&lt;/p&gt;&#xA;" OwnerUserId="3495" LastEditorUserId="3495" LastEditDate="2013-09-05T17:59:02.433" LastActivityDate="2021-02-22T12:34:09.917" Title="The non-metric k-median problem" Tags="&lt;approximation-algorithms&gt;&lt;approximation-hardness&gt;&lt;clustering&gt;" AnswerCount="1" CommentCount="6" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18870" PostTypeId="2" ParentId="8582" CreationDate="2013-09-05T08:24:21.917" Score="4" Body="&lt;p&gt;Yesterday I googled around to check the status of this problem and I found this new (2012) result:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://arxiv.org/abs/1201.5597&quot; rel=&quot;nofollow&quot;&gt;Dan Brumleve, Joel David Hamkins and Philipp Schlicht, The mate-in-n problem of infinite chess is decidable (2012)&lt;/a&gt; &lt;/p&gt;&#xA;&#xA;&lt;p&gt;So the mate-in-n problem of infinite chess cannot be Turing complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The decidability of infinite chess  with no restrictions on the number of moves for a mate seems still open.&lt;/p&gt;&#xA;" OwnerUserId="3247" LastActivityDate="2013-09-05T08:24:21.917" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="18871" PostTypeId="1" CreationDate="2013-09-05T10:31:01.903" Score="6" ViewCount="300" Body="&lt;p&gt;Is there a complete theory T over a logical language L such that bounded computation may be encoded in it? Computational questions can be framed as arithmetical ones by interpreting them over natural numbers. Let $\phi$ be a first order statement which states that $P \neq NP$ in the language of arithmetic. Then either $\phi$ belongs to Th(N) or its negation does (i.e.) it contains the answer to the P vs NP problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, since Th(N) is not RE, I would like to know if computation (in particular, bounded computation) can be interpreted over some alternate structure with nicer properties (i.e. whose theory is decidable). Note that if a theory is complete, then it cannot be RE-complete (i.e.) deciding whether any $\phi$ belongs to the theory is not RE-complete, it is either recursive or RE-hard.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The context is Razborov's paper on &quot;Unprovability of lower bounds on circuit size in certain fragments of bounded arithmetic&quot; in which he shows that the bounded arithmetic theory $S_2^2(\alpha)$ cannot prove polynomial circuit lower bounds for SAT assuming Strong Pseudo Random Generators (SPRGs) exist. Here the statement &quot;SAT does not have poly size circuits&quot; can be written as a bounded sentence when interpreted over the naturals. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I want to understand if the presence of a total order is required for the interpretation of computation inside a structure. Suppose I take graphs with the minor ordering (which is a WQO), is it possible to interpret computation inside this? My only point of reference is the undecidability of First order satisfiability by reduction from the Halting Problem. In this case, we do not seem to require a successor function, just the idea of a &quot;future&quot; configuration with certain properties. I understand that this setting is different from interpretation inside a structure. I want to understand this difference.&lt;/p&gt;&#xA;" OwnerUserId="12660" LastEditorUserId="12660" LastEditDate="2013-09-07T07:13:02.260" LastActivityDate="2013-11-06T07:55:05.063" Title="Bounded computation and incompleteness" Tags="&lt;cc.complexity-theory&gt;&lt;lo.logic&gt;" AnswerCount="1" CommentCount="6" FavoriteCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18872" PostTypeId="1" CreationDate="2013-09-05T14:03:28.287" Score="-3" ViewCount="71" Body="&lt;p&gt;Take for instance &lt;a href=&quot;https://i.stack.imgur.com/JKuOy.png&quot; rel=&quot;nofollow noreferrer&quot;&gt;equation 67 and 68&lt;/a&gt; from this &lt;a href=&quot;http://nlp.stanford.edu/IR-book/html/htmledition/deriving-a-ranking-function-for-query-terms-1.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;chapter&lt;/a&gt;:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;the value of  $P(q|R=1,q)$ can become zero if the term is not present in the document, and&lt;/li&gt;&#xA;&lt;li&gt;as all probabilities are multiplied, the probability over the whole document will become zero.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;It seems that $P(d|R=1,q)$ will always come to zero as soon as some of the index terms are missing in the document?&lt;/p&gt;&#xA;" OwnerUserId="17502" LastEditorUserId="191" LastEditDate="2013-09-05T18:42:47.100" LastActivityDate="2013-12-01T06:41:21.767" Title="Why is the zero value ignored while deriving a ranking function for query terms in Probabilistic IR?" Tags="&lt;pr.probability&gt;&lt;ir.information-retrieval&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="18873" PostTypeId="2" ParentId="14416" CreationDate="2013-09-05T15:29:42.843" Score="4" Body="&lt;p&gt;People informally use the phrase &quot;a logic for&amp;nbsp;P&quot; for the notion of a logic that captures&amp;nbsp;P, which corresponds to Chen and Flum's definition of a &quot;P-bounded logic for&amp;nbsp;P&quot;. Essentially, this means that the logic defines exactly the polynomial-time properties of relational structures and formulae can be evaluated in polynomial time.&lt;sup&gt;1&lt;/sup&gt; Specifically, it's no use if your logic defines exactly the polytime properties but it takes exponential time to figure out whether a formula's true.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think the confusion has arisen because Chen and Flum use the phrase &quot;a logic for&amp;nbsp;P&quot; to mean just any logic that defines exactly the polytime properties of structures, without the requirement that formulae can be evaluated in polytime.  The logic&amp;nbsp;$L_\leq$ is a logic for&amp;nbsp;P in this specific sense.  Every polytime property is definable by a formula $\phi\in L_\leq$ but the semantics of the logic requires testing whether $\phi$&amp;nbsp;is $|A|$-invariant and there is no known way to do that in polynomial time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$L_\leq$ defines all polytime properties because, by the result of Immerman and Vardi cited by Chen and Flum, LFP captures&amp;nbsp;P on the class of ordered structures. More specifically, any ordering of the structure's universe lets you use tuples in $A^k$ to represent $k$-digit numbers in base&amp;nbsp;$|A|$, which you can use as both for timestamps and to say &quot;the $i$th character on the tape is&amp;nbsp;$c$. You can then use a fixed-point formula that says, &quot;If the configuration at time&amp;nbsp;$t$ is&amp;nbsp;$C_t$, then the configuration at time&amp;nbsp;$t+1$ is&amp;nbsp;$C_{t+1}$. The resulting formula doesn't depend on which ordering is chosen, so it's order-invariant, as required. Choosing a different ordering is just permuting the meaning of the digits in your base&amp;nbsp;$|A|$ numbers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that order-invariance in general is not decidable, which is why Chen and Flum restrict to order-invariance only on structures up to the size of the one we're evaluating the formula on. That's decidable but not known to be in&amp;nbsp;P.  (But the formulas constructed above are, in fact, order-invariant across all structures.)&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;sup&gt;1&lt;/sup&gt; More formally, for every formula&amp;nbsp;$\phi$, there is a deterministic algorithm and a constant&amp;nbsp;$k$ such that the algorithm decides whether $\cal{A}\vDash\phi$ in time at most&amp;nbsp;$|A|^k$.&lt;/p&gt;&#xA;" OwnerUserId="17082" LastActivityDate="2013-09-05T15:29:42.843" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18874" PostTypeId="2" ParentId="18846" CreationDate="2013-09-05T15:30:57.943" Score="-3" Body="&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Cellular_automaton&quot; rel=&quot;nofollow&quot;&gt;cellular automata&lt;/a&gt;, very simple computing devices, have various open questions about undecidability. some of the standard Wolfram CAs are conjectured to be universal (although a simple list of those conjectured undecidable does not seem to be available). in particular CA &lt;a href=&quot;http://mathworld.wolfram.com/Rule54.html&quot; rel=&quot;nofollow&quot;&gt;Rule 54&lt;/a&gt; is conjectured by Wolfram to be Turing-complete. there are only $2^8$ basic CAs which most are now resolved as not Turing complete, but at least one was relatively recently found to be Turing complete, &lt;a href=&quot;http://en.wikipedia.org/wiki/Rule_110&quot; rel=&quot;nofollow&quot;&gt;rule 110&lt;/a&gt;, in a remarkable proof by Cook, using the CA to emulate a Turing-complete &lt;a href=&quot;http://en.wikipedia.org/wiki/Tag_systems&quot; rel=&quot;nofollow&quot;&gt;tag system&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;also as an example of a &quot;near miss&quot;, or &quot;open question relatively recently resolved as TM complete&quot;, the &lt;a href=&quot;http://www.wolframscience.com/prizes/tm23/index.html&quot; rel=&quot;nofollow&quot;&gt;Wolfram 2,3 machine was proved universal in 2007 for a $25K prize&lt;/a&gt;. the contest was announced in May 2007 and the contest &lt;a href=&quot;http://www.wolframscience.com/prizes/tm23/solved.html&quot; rel=&quot;nofollow&quot;&gt;announced the winner Smith in October 2007&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="7884" LastEditDate="2013-09-05T15:42:31.137" LastActivityDate="2013-09-05T15:42:31.137" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18875" PostTypeId="1" AcceptedAnswerId="18882" CreationDate="2013-09-05T17:34:35.823" Score="10" ViewCount="520" Body="&lt;p&gt;A spanning tree of a graph is called a completeness tree if the set of &#xA;its leaves induces a complete subgraph in the host graph. Given a graph $G$ &#xA;and an integer $k$, what is the complexity of deciding if $G$ contains a &#xA;completeness tree with at most $k$ leaves?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A reason for asking this question is that the corresponding problem for &#xA;&lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0012365X96003068&quot; rel=&quot;nofollow noreferrer&quot;&gt;independency trees&lt;/a&gt; &#xA;is NP-complete, here an independency tree is a spanning tree such that the set of its &#xA;leaves is an independent set in the host graph. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another reason is &lt;a href=&quot;https://mathoverflow.net/questions/140200/on-super-connected-graphs&quot;&gt;this question&lt;/a&gt; &#xA;(and the corresponding answers). It turns out that &lt;em&gt;every&lt;/em&gt; spanning tree of $G$ is a completeness tree &#xA;if and only if $G$ is a complete graph or a cycle.   &lt;/p&gt;&#xA;" OwnerUserId="6706" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2013-09-06T11:12:42.870" Title="Completeness spanning trees" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18876" PostTypeId="1" CreationDate="2013-09-06T00:47:59.460" Score="4" ViewCount="508" Body="&lt;p&gt;&lt;em&gt;Thanks for the comments, I refined the question.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is the complexity relationship between counting and enumeration problems?&#xA;If a counting problem is #P-complete, it means that the enumeration version is #P-hard.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;How about problems that can be solved in polynomial time? For example, do counting triangles and enumerating triangles in a graph have the same complexity lower/upper bound?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More specifically, &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Given an algorithm that can solve the counting problem in $O(f(n))$ time, can we also solve the corresponding enumeration problem in $O(f(n))$ time? Assume that the output size of enumeration problem is $O(f(n))$ or somehow can be compressed using $O(f(n))$ storage.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;For example, we may use cliques instead of triangles to represent the output results of triangle enumeration to reduce the output size. It may be not an appropriate example since it may not reduce the worst case space complexity. But for some enumeration problems, I think it may be possible.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Could anyone give any explanations or references? &lt;/p&gt;&#xA;" OwnerUserId="1544" LastEditorUserId="4193" LastEditDate="2013-09-07T04:44:05.090" LastActivityDate="2013-09-07T04:44:05.090" Title="What is the complexity relationship between counting and enumeration problems?" Tags="&lt;cc.complexity-theory&gt;" AnswerCount="0" CommentCount="5" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18877" PostTypeId="1" CreationDate="2013-09-06T00:50:01.290" Score="3" ViewCount="273" Body="&lt;p&gt;I have a sequence of convex sets $C_\lambda$ for $\lambda \in \mathbb{R}$ such that for $\lambda_1 &amp;gt; \lambda_2$, we have $C_{\lambda_1} \subset C_{\lambda_2}$ (essentially a nested sequence of convex sets in $d$ dimensions). For a given point $x \in \mathbb{R}^d$, define: &#xA;\begin{align*}&#xA;f(x) = \sup \{ \lambda: x \in C_{\lambda} \} &#xA;\end{align*} &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there an efficient algorithm for computing $f(x)$ given $x$. &lt;/p&gt;&#xA;" OwnerUserId="17505" LastEditorUserId="17505" LastEditDate="2013-09-06T01:00:02.163" LastActivityDate="2013-09-09T21:41:28.933" Title="Algorithm for testing if a point belongs to a sequence of convex set or not" Tags="&lt;ds.algorithms&gt;&lt;convex-geometry&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18878" PostTypeId="2" ParentId="18877" CreationDate="2013-09-06T05:59:31.407" Score="1" Body="&lt;p&gt;The obvious algorithm is to use binary search.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You'll need $\lg n$ iterations of binary search, where $n$ = the number of convex sets in your sequence.  (If you have an infinite family of convex sets, $\lg(|f(x)|/\epsilon)$ iterations are enough to approximate $f(x)$ to within $\epsilon$.)  In each iteration, for some value of $\lambda$, you test whether $x \in C_\lambda$.  You haven't specified the representation of the family of convex sets, but for typical representations, testing whether $x \in C_\lambda$ can be done in polynomial time.  So, the total running time will be polynomial.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To do better than this, I suspect the algorithm will need to depend upon how the sequence of convex sets $C$ is represented.  (Do you have a requirement for it to be represented in a particular way, or are you OK with any reasonable representation?  You might want to edit the question accordingly.  You might also want to specify whether this is a finite sequence or an infinite sequence, and how the sets are related.)&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;For instance, here's a special case where the problem is easier.  Suppose that the sequence of sets is represented as follows: you have a set of linear inequalities on $x_1,x_2,\dots,x_d,\lambda$, with constants $c_0,c_1,\dots,c_d$, so that each linear inequality has this form:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$c_0 \lambda + c_1 x_1 + c_2 x_2 + \dots + c_d x_d \le 0.$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now suppose that the convex set $C_\lambda$ is defined as the set of points $(x_1,\dots,x_d)$ that satisfy all of these linear inequalities (notice the very specific kind of dependence on $\lambda$), and suppose that the linear inequalities are chosen so $C_{\lambda_1} \subset C_{\lambda_2}$ whenever $\lambda_1 &amp;gt; \lambda_2$.  Then you compute $f(x)$ efficiently using a very simple algorithm: you plug in $x$ into each of the linear inequalities, leaving $\lambda$ as the only unknown in each case, and find the largest value of $\lambda$ so that all of those inequalities are satisfied.  This only works if your sets have a certain form and are represented in a certain special way, which is why I say that your problem will probably depend upon how the sets are represented and what structure they might have.&lt;/p&gt;&#xA;" OwnerUserId="5038" LastEditorUserId="5038" LastEditDate="2013-09-09T21:41:28.933" LastActivityDate="2013-09-09T21:41:28.933" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="18882" PostTypeId="2" ParentId="18875" CreationDate="2013-09-06T07:33:10.290" Score="12" Body="&lt;p&gt;In a triangle-free graph, a completeness tree must be a Hamiltonian cycle (minus one of its edges). &lt;a href=&quot;http://www.graphclasses.org/classes/gc_371.html&quot;&gt;ISGCI&lt;/a&gt; says Hamiltonian cycle is NP-complete in triangle-free graphs. Therefore, so is finding a completeness tree (regardless of any restriction on max number of leaves).&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2013-09-06T07:33:10.290" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18883" PostTypeId="2" ParentId="18871" CreationDate="2013-09-06T07:47:08.657" Score="1" Body="&lt;p&gt;It depends on what you mean by &quot;encode computation&quot;. There are many papers on the topic, a good starting reference is &quot;Metamathematics of First Order Logic&quot; by Petr Hajek and Pavel Pudlak. Pavel defined what is called &lt;em&gt;sequential theory&lt;/em&gt; for theories where you can encode strings (I don't see if being a computation or not means much).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;P vs. NP can be studied for other structures, first order logic with order is sufficient to phrase the question whether every $\Sigma^b_1$ formula is equivalent to a quantifier-free one (and you can enrich the language to contain all operations that you want to assume to be efficient). The strings case is old (I will add reference later). It is also studied over real numbers (in the context of BSS model). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The question can be studied over structures without order, see the work on algebraic complexity like Valiant's VP vs. VNP and also GCT (for complex numbers and other fields).&lt;/p&gt;&#xA;" OwnerUserId="186" LastActivityDate="2013-09-06T07:47:08.657" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="18884" PostTypeId="2" ParentId="18846" CreationDate="2013-09-06T08:41:50.077" Score="21" Body="&lt;p&gt;Collatz Problem is simple-to-describe problem whose decidability is open. It involves a simple recurrence of elementary arithmetic operations. &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;$f(n)=\mathsf{\{}$ $n/2$ for even integer,  $3n+1$ for odd integer&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The problem is deciding whether iterating this function always return to 1 for a given positive integer $n_0$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Interestingly, a generalization of the Collatz problem was shown to be undecidable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;References:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1- &lt;a href=&quot;http://math.mit.edu/~poonen/papers/sampler.pdf&quot;&gt;UNDECIDABLE PROBLEMS: A SAMPLER&lt;/a&gt;, BJORN POONEN&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2- &lt;a href=&quot;http://mathworld.wolfram.com/CollatzProblem.html&quot;&gt;Weisstein, Eric W. &quot;Collatz Problem.&quot;&lt;/a&gt; From MathWorld--A Wolfram Web Resource.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;3- &lt;a href=&quot;http://www.ams.org/bookstore/pspdf/mbk-78-prev.pdf&quot;&gt;The 3X+1 Problem: An Overview&lt;/a&gt;, Jeffrey C. Lagarias&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2013-09-07T05:53:12.013" LastActivityDate="2013-09-07T05:53:12.013" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18885" PostTypeId="1" CreationDate="2013-09-06T08:50:57.733" Score="8" ViewCount="1397" Body="&lt;p&gt;Is there a generalization of the GO game that is known to be Turing complete?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If no, do you have some suggestions about reasonable (generalization) rules that can be used to try to prove that it is Turing complete?  The obvious one is that the game must be played on an infinite board (positive quadrant). But what about in-game play and end game conditions?&lt;/p&gt;&#xA;" OwnerUserId="17508" LastEditorUserId="3247" LastEditDate="2013-09-06T09:30:54.133" LastActivityDate="2015-04-30T22:53:35.353" Title="Is there a generalization of the GO game that is known to be Turing complete?" Tags="&lt;computability&gt;&lt;turing-machines&gt;" AnswerCount="4" CommentCount="13" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="18887" PostTypeId="2" ParentId="18875" CreationDate="2013-09-06T11:12:42.870" Score="8" Body="&lt;p&gt;I cannot beat David in the elegance of his answer. But after spending al lot of time on thinking about this problem I &#xA;would like to betray my solution to you though ;)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $k \ge 2$ be a fixed interger. Given $G$, construct $H$ as follows:Take two copies $G_1$, $G_2$ and a clique $Q$ on $k$ vertices $x, x_1, x_2, \ldots, x_{k-1}$, a new vertex $y$,&#xA;fix a vertex $v_1 \in G_1$ and a vertex $v_2 \in G_2$. &#xA;$H$ is obtained from $G_1, G_2, Q$ and $y$  by joining  $x$ to $v_1$, joining $x_1, x_2, \ldots, x_{k-1}$ &#xA;to $v_2$ and joining all neighbors of $v_1$ in $G_1$ and all neighbor of $v_2$ in $G_2$ to  $y$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then it can be easily seen that $G$ has a Hamiltonian cycle if and only if $H$ has a completeness tree with at most $k$ leaves.&lt;/p&gt;&#xA;" OwnerUserId="13136" LastActivityDate="2013-09-06T11:12:42.870" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18889" PostTypeId="1" AcceptedAnswerId="18890" CreationDate="2013-09-06T13:15:04.747" Score="17" ViewCount="1439" Body="&lt;p&gt;I am doing some literature review on Graph isomorphism problem. Most of papers which I am reading are written by E.M Luks and Laszlo Babai. &#xA;These papers uses the high level knowledge of group theory and complexity theory.&#xA;As I am new to this field many of the things are not clear to me.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can some one suggest me a way to learn ideas and techniques which are presented in these papers so that I can come up with some other ideas.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thank you so much&lt;/p&gt;&#xA;" OwnerUserId="14028" LastEditorUserId="80" LastEditDate="2013-09-07T22:30:15.777" LastActivityDate="2015-12-24T14:29:14.130" Title="Graph Isomorphism Problem" Tags="&lt;cc.complexity-theory&gt;&lt;graph-isomorphism&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="18890" PostTypeId="2" ParentId="18889" CreationDate="2013-09-06T15:40:46.100" Score="20" Body="&lt;p&gt;I highly recommend &lt;a href=&quot;http://people.cs.uchicago.edu/~laci/students/codenotti.pdf&quot; rel=&quot;nofollow&quot;&gt;Paolo Codenotti's thesis&lt;/a&gt; for the group-theoretic aspects, and the book &lt;em&gt;The Graph Isomorphism Problem: Its Structural Complexity&lt;/em&gt; by Johannes Köbler, Uwe Schöning, and Jacobo Torán for the complexity aspects.&lt;/p&gt;&#xA;" OwnerUserId="129" LastEditorUserId="4896" LastEditDate="2015-12-24T14:29:14.130" LastActivityDate="2015-12-24T14:29:14.130" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18891" PostTypeId="2" ParentId="12759" CreationDate="2013-09-06T15:48:11.790" Score="4" Body="&lt;p&gt;Actually, I think that the phenomenon here is that GI in some sense has &lt;em&gt;too much&lt;/em&gt; structure. It is in some ways the group-theoretic nature of its witnesses which leads to the $\mathsf{coAM}$ algorithm for GI and is one of the pieces of technical evidence why people believe GI is not $\mathsf{NP}$-complete. My thinking here is that there is so much structure that the problem is &quot;too rigid&quot; to encode arbitrary $\mathsf{NP}$ problems.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another way to capture this is the fact that the counting and decision versions of GI are equivalent, whereas for all known $\mathsf{NP}$-complete problems this is not the case unless the polynomial hierarchy collapses. This can also be viewed as capturing some aspect of structure/redundancy: for unstructured, general problems, counting solutions seems to be much harder than telling if one exists, whereas the extensive structure of GI allows one to show that counting and decision are equivalent.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(On the other hand, group isomorphism seems even &lt;em&gt;more&lt;/em&gt; structured than GI, yet no counting-to-decision reduction is known for group iso. Perhaps this says that GI is in sort of a &quot;just right&quot; level of structure - too structured to be NP-complete, but unstructured enough to allow a counting-to-decision reduction.)&lt;/p&gt;&#xA;" OwnerUserId="129" LastEditorUserId="129" LastEditDate="2013-09-06T16:32:21.430" LastActivityDate="2013-09-06T16:32:21.430" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="18892" PostTypeId="1" CreationDate="2013-09-06T16:56:00.500" Score="1" ViewCount="121" Body="&lt;p&gt;Suppose that we have $n \geq 2$ distinct triplets $t_0, t_1, ..., t_{n-1}$ of real numbers, $t_i = (x_i, l_i, r_i)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Define $$\Delta(s) = \max_{i, j} \left[ s (x_j - x_i) + (r_j - l_i) \right]$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem is, given some arbitrary target $\Delta_0$, to find $s^*$ such that $\Delta(s^*) = \Delta_0$.  (NB: There may be no such $s^*$.  For example, $n = 2$, and $t_0 = (0, -1, 0), t_1 = (0, 0, 1)$, then $\Delta(s)$ has constant value $2$, so the problem has a solution, infinitely many in fact, only if $\Delta_0 = 2$.)&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;I'm looking for an algorithm to solve this problem, or at least some search terms (keywords, author names, etc) that I may try when searching online for such an algorithm.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;FWIW, for the special case I'm working with, the following additional conditions/considerations apply:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;$x_0 &amp;lt; x_1$;&lt;/li&gt;&#xA;&lt;li&gt;$l_0 = r_0 = l_1 = r_1 = 0$;&lt;/li&gt;&#xA;&lt;li&gt;$l_i &amp;lt; r_i, \forall \, i &amp;gt; 1$;&lt;/li&gt;&#xA;&lt;li&gt;only positive solutions $s^*$ are of interest;&lt;/li&gt;&#xA;&lt;li&gt;$\Delta_0 \geq \max_{i,j} (r_j - l_i)$.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="3529" LastEditorUserId="3529" LastEditDate="2013-09-06T19:44:12.283" LastActivityDate="2013-09-06T19:44:12.283" Title="Looking for algorithm (or at least name) for this optimization problem" Tags="&lt;ds.algorithms&gt;&lt;optimization&gt;&lt;convex-optimization&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18894" PostTypeId="2" ParentId="18892" CreationDate="2013-09-06T17:54:44.720" Score="3" Body="&lt;p&gt;If I understand your problem correctly, we can formulate it like so: given pairs $(\alpha_k,\beta_k)$ and $\Delta_0$, find $s &amp;gt; 0$ such that $\max_k (s\alpha_k + \beta_k) = \Delta_0$. Here is one way to solve this (this algorithm can be made more efficient). Go over all possible $k$. For each $k$, find the value of $s$ such that $s\alpha_k + \beta_k = \Delta_0$ (namely $s = (\Delta_0 - \beta_k)/\alpha_k$), check that it's positive, and check that for all $l \leq k$, $s\alpha_l + \beta_l \leq \Delta_0$. This runs in $O(m^2)$, where $m$ is the number of pairs (in your case, $m = n(n-1)$); you can probably get the running time down to quasilinear. Your case is more structured, so you may be able to get an even faster algorithm.&lt;/p&gt;&#xA;" OwnerUserId="40" LastActivityDate="2013-09-06T17:54:44.720" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18897" PostTypeId="2" ParentId="1410" CreationDate="2013-09-06T21:51:50.250" Score="6" Body="&lt;p&gt;This further answer is meant as a feedback to dividebyzero's comment to my previous answer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As dividebyzero says, it is certainly true that CNF and DNF are two sides of the same coin.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;When you have to find a satisfying assignment, DNF is explicit as it manifestedly shows you its satisfying assignments (DNF Satisfiability belongs to $\mathbf{P}$), whereas CNF is implicit as it wraps and winds to hide its satisfying assignments from your eyes (CNF Satisfiability is $\mathbf{NP-complete}$). We do not know any procedure which is able to unwrap and unwind any CNF formula into some equisatisfiable DNF formula which is not exponentially sized. This was the point of my previous answer (whose example was meant to show the exponential blow-up, although admittedly such example was not the best possible choice).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Conversely, when you have to find a falsifying assignment, CNF is explicit as it manifestedly shows you its falsifying assignments (CNF Falsifiability belongs to $\mathbf{P}$), whereas DNF is implicit as it wraps and winds to hide its falsifying assignments from your eyes (DNF Falsifiability is $\mathbf{NP-complete}$). We do not know any procedure which is able to unwrap and unwind any DNF formula into some equifalsifiable CNF formula which is not exponentially sized.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;At one extremity we have Contradictions, i.e. unsatisfiable formulas. At the opposite extremity we have Tautologies, i.e. unfalsifiable formulas. In the middle, we have formulas which are both satisfiable and falsifiable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In any CNF formula with $n$ variables, every clause of length $k$ manifestedly encodes $2^{n-k}$ falsifying assignments.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In any DNF formula with $n$ variables, every term of length $k$ manifestedly encodes $2^{n-k}$ satisfying assignments.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A CNF formula without clauses is a Tautology, because it does not have any falsifying assignment. A CNF formula containing the empty clause (which subsumes every other clause) is a Contradiction, because the empty clause (which has $k = 0$) indicates that all the $2^n$ assignments are falsifying. Any other CNF formula is either a Contradiction or one of those formulas in the middle (and it is $\mathbf{NP-complete}$ to distinguish between these 2 cases).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A DNF formula without terms is a Contradiction, because it does not have any satisfying assignment. A DNF formula containing the empty term (which subsumes every other term) is a Tautology, because the empty term (which has $k = 0$) indicates that all the $2^n$ assignments are satisfying. Any other DNF formula is either a Tautology or one of those formulas in the middle (and it is $\mathbf{NP-complete}$ to distinguish between these 2 cases).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;With a CNF formula, distinguishing between the 2 cases above means being able to tell whether all the falsifying assignments collectively brought by the presence of clauses overlap in such a way to cover all the $2^n$ assignments (in which case the formula is a Contradiction, otherwise it is satisfiable).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;With a DNF formula, distinguishing between the 2 cases above means being able to tell whether all the satisfying assignments collectively brought by the presence of terms overlap in such a way to cover all the $2^n$ assignments (in which case the formula is a Tautology, otherwise it is falsifiable).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Under this light it becomes more clear why CNF Satisfiability and DNF Falsifiability are equivalent in terms of computational hardness. Because they actually are the very same problem, as the underlying task is exactly the same: &lt;strong&gt;to tell whether the union of several sets equals the space of all possibilities&lt;/strong&gt;. Such task leads us to the wider realm of counting, which is in my humble opinion one of those avenues to be fervently explored in order to hope to make some non-negligible progress on these problems (I doubt that further research on resolution-based solvers may eventually bring groundbreaking theoretical advancements, while it certainly continues to bring surprising practical advancements).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The difficulty of such task is that those sets overlap wildly, in an inclusion - exclusion fashion.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The presence of such overlapping is precisely where the hardness of counting resides. Moreover, the fact that we let those sets overlap is the very reason that allows us to have compact formulas whose solution space is nevertheless exponentially large.&lt;/p&gt;&#xA;" OwnerUserId="947" LastActivityDate="2013-09-06T21:51:50.250" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18898" PostTypeId="2" ParentId="18889" CreationDate="2013-09-07T02:23:43.273" Score="-4" Body="&lt;p&gt;&lt;a href=&quot;http://oeis.org/A186202&quot; rel=&quot;nofollow&quot;&gt;http://oeis.org/A186202&lt;/a&gt; is the best you can do for automorphism by brute force permutation checking.&lt;/p&gt;&#xA;" OwnerUserId="2021" LastActivityDate="2013-09-07T02:23:43.273" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18899" PostTypeId="1" CreationDate="2013-09-07T03:59:16.403" Score="15" ViewCount="3635" Body="&lt;p&gt;I looked up on the internet, but I could not find any 'big-list' of variants of SAT problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Apart from the (common) &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;SAT, &lt;/li&gt;&#xA;&lt;li&gt;k-SAT, &lt;/li&gt;&#xA;&lt;li&gt;MAX-kSAT, &lt;/li&gt;&#xA;&lt;li&gt;Half-SAT, &lt;/li&gt;&#xA;&lt;li&gt;XOR-SAT, &lt;/li&gt;&#xA;&lt;li&gt;NAE-SAT &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;what else variants are there? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;(also it will be really useful if there complexity classes are given (where possible))&lt;/p&gt;&#xA;" OwnerUserId="17325" LastActivityDate="2013-09-16T16:43:27.610" Title="variations of SAT" Tags="&lt;cc.complexity-theory&gt;&lt;sat&gt;&lt;big-list&gt;" AnswerCount="6" CommentCount="4" FavoriteCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="18900" PostTypeId="1" CreationDate="2013-09-07T13:06:59.157" Score="0" ViewCount="317" Body="&lt;p&gt;I am posting the following question due to a lacking overview of relevant algorithms.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a directed graph $G=(V,E)$, how can you find a (minimal) subset $S$ of $V$ such that there for every vertex $u \in V-S$ is a (directed) edge from some vertex $v \in S$ to $u$?&lt;/p&gt;&#xA;" OwnerUserId="17517" LastEditorUserId="17517" LastEditDate="2013-09-13T14:09:56.080" LastActivityDate="2013-09-13T14:09:56.080" Title="Subset of a vertex set with directed edge to all other vertices" Tags="&lt;graph-algorithms&gt;" AnswerCount="0" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="18901" PostTypeId="1" AcceptedAnswerId="18911" CreationDate="2013-09-07T13:11:52.763" Score="6" ViewCount="249" Body="&lt;p&gt;I've been reading about convex volume estimation, and have found the paper &quot;Simulated Annealing in Convex Bodies and an $O^{*}(n^4)$ Volume Algorithm&quot; by Lovasz and Vempala, which can be read &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.116.5832&amp;amp;rep=rep1&amp;amp;type=pdf&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The algorithm provided relies the standard multi-phase monte-carlo technique of producing a series of values, the first of which is easy to compute, the remainder estimatable by random variables, and then combining each of these variables in some way to produce an estimate of the volume. This particular technique involves extruding an $n$-dimensional shape into an $n+1$-dimensional pencil, and estimating the volume of that pencil. The pencil is defined as the intersection of a cylinder over the convex body and a cone. Let $K$ be the convex body, and&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;C = \{{\bf x} \in \mathbb{R}^{n+1} | x_0 &amp;gt; 0, \; \sum^n_{i=1}x_i^2 \leqslant x_0^2\}&#xA;$$&#xA;The pencil, $K'$, is defined:&#xA;$$&#xA;K' = ([0,2D] \times K) \cap C&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By assumption, $K$ contains the unit ball, so the set of points in $K'$ with $x_0&amp;lt;1$ is exactly the $n+1$-dimensional hypercone with height $1$ and whose base is the $n$-ball of radius $1$. This cone is referred to as $C_B$. We also denote by $\pi_n$ the volume of the unit n-ball. The estimates of the volume of the pencil are provided using the following function:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;Z(a) = \int_{K'} e^{-ax_0} d{\bf x}&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For a sufficiently small value of $a$, $Z(a)$ can be shown to be a good estimate for the volume of $K'$. For $a \geqslant 2n$, it is claimed that $Z(a)$ is close to the above integral taken over the entire cone $C$. We know that $K' \subseteq C$ from its definition, hence&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;Z(a) = \int_{K'} e^{-ax_0} d{\bf x} \leqslant \int_{C} e^{-ax_0} d{\bf x} = \int_0^\infty e^{-at}t^n \pi_n dt = n! \pi_n a^{-(n+1)}&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We know also that $C_B \subseteq K'$, hence&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;Z(a) \geqslant \int_{C_B} e^{-ax_0} d{\bf x} = \int_0^1 e^{-at}t^n \pi_n dt&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;At this point, I can no longer follow the paper's reasoning. It is stated that&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;\int_0^1 e^{-at}t^n \pi_n dt &amp;gt; (1-\varepsilon) \int_0^\infty e^{-at}t^n \pi_n dt&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;No bounds are specified on $\varepsilon$. Indeed, our estimation algorithm should be able to take an arbitrarily small value of $\varepsilon$. The integrand, hovever, is non-negative across its domain of integration, so it must be the case that&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;\int_0^1 e^{-at}t^n \pi_n dt \leqslant \int_0^\infty e^{-at}t^n \pi_n dt&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Surely, then, the inequality in $\varepsilon$ would only hold for a sufficiently large value of $\varepsilon$, rather than for an arbitrarily small one. Further, stating that $a\geqslant 2n$ gives no information about a relationship between $\varepsilon$ and $a$. How is it even possible to reach the conclusion from the premise in this case? Further still, an independent talk on the algorithm found &lt;a href=&quot;http://www.mosaic.ethz.ch/research/docs/Mittagsseminar2011&quot;&gt;here&lt;/a&gt; suggests instead that the inequality only holds for $a&amp;gt;6n$, rather than $a&amp;gt;2n$. The paper states that this is true by standard computation, so I do feel that I must be missing something here, but I cannot tell what.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I've emailed both of the authors at the email addresses I can find for them, and haven't received any response from them, so hopefully someone from here can help.&lt;/p&gt;&#xA;" OwnerUserId="16881" LastActivityDate="2013-09-08T10:04:46.477" Title="Why is the first step in the Lovasz-Vempala convex volume algorithm correct?" Tags="&lt;convex-geometry&gt;&lt;monte-carlo&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="18902" PostTypeId="2" ParentId="18899" CreationDate="2013-09-07T14:54:56.180" Score="11" Body="&lt;p&gt;On the &quot;NP-complete side&quot; I came across these variants (I asked a similar question on cs.stackexchange, too):&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Planar 3-SAT;&lt;/li&gt;&#xA;&lt;li&gt;Planar 1-in-3 SAT and Positive Planar 1-in-3 SAT (see &lt;a href=&quot;http://arxiv.org/pdf/cs/0601002v3.pdf&quot;&gt;Mulzer and Rote&lt;/a&gt;);&lt;/li&gt;&#xA;&lt;li&gt;NAE 3-SAT;&lt;/li&gt;&#xA;&lt;li&gt;2/2/4-SAT (see &lt;a href=&quot;https://www.aaai.org/Papers/AAAI/1986/AAAI86-027.pdf&quot;&gt;Finding a shortest solution for the NxN extension of the 15-Puzzle is intractable by D. Ratner and M. Warmuth (1986)&lt;/a&gt;);&lt;/li&gt;&#xA;&lt;li&gt;XSAT, NAE-SAT for Linear Monotone Formulas, XSAT for exact linear formulas (see the nice work of Ewald Speckenmeyer on linear XSAT problems: &lt;a href=&quot;http://kups.ub.uni-koeln.de/3129/2/Dissertation_Endversion.pdf&quot;&gt;Computational Complexity of SAT, XSAT and NAE-SAT for linear and mixed Horn CNF formulas&lt;/a&gt;);&lt;/li&gt;&#xA;&lt;li&gt;k-colourable Monotone NAE-3SAT (see &lt;a href=&quot;http://arxiv.org/pdf/1003.3704&quot;&gt;P Jain, On a variant of Monotone NAE-3SAT and the Triangle-Free Cut problem, 2010&lt;/a&gt;).&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2013-09-07T15:09:30.030" LastActivityDate="2013-09-07T15:09:30.030" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18903" PostTypeId="1" CreationDate="2013-09-07T17:07:36.763" Score="-3" ViewCount="120" Body="&lt;p&gt;Suppose that C (or any computer language that is not binary code) language gets implemented in ternary computers. So we write a program in C, and compile the program using a compiler in ternary computers. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;How would the complexity of the algorithms inside the programs change?&lt;/p&gt;&#xA;" OwnerUserId="17520" LastActivityDate="2013-09-07T17:41:52.633" Title="How would the use of ternary computers change complexity of algorithms?" Tags="&lt;cc.complexity-theory&gt;" AnswerCount="1" CommentCount="0" ClosedDate="2013-09-24T05:23:19.353" ContentLicense="CC BY-SA 3.0" />
  <row Id="18904" PostTypeId="2" ParentId="18782" CreationDate="2013-09-07T17:41:47.503" Score="1" Body="&lt;p&gt;Assuming that the $c_{a,b}$ values appears in a nicely ordered way, you can use &lt;strong&gt;Horner's rule&lt;/strong&gt; to evaluate the polynomial in $O(n^2)$ arithmetic operations. As mentioned by &lt;em&gt;frogeyedpeas&lt;/em&gt;, you can't expect beating $n^2$ because it is the size of the input.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that if you are interested by the number of bit operations then you need to multiply this by the elementary cost of multiplication (for numbers of the size considered in your problem).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It you want to beat the $n^2$ bound, you need the $c_{a,b}$ to be represented in a more compact/structured way.&lt;/p&gt;&#xA;" OwnerUserId="16867" LastActivityDate="2013-09-07T17:41:47.503" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18905" PostTypeId="2" ParentId="18903" CreationDate="2013-09-07T17:41:52.633" Score="4" Body="&lt;p&gt;I assume that you mean a computer in which rather than the underlying data being made up of sequences of bits, the data are made up of, let's say, trits. I suspect that there would be no difference in any complexities whatsoever.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A ternary computer using trits can be trivially simulated by a quaternary computer using quats (I'm starting to enjoy these words). One quat carries exactly the same amount of information as two bits. It would therefore be impossible to speed up any operation on bits by more than a factor of 2 by changing them to quats. Constant factors do not change complexity, so no problems would become more or less complex.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you need a more formal answer, I'd advise more formally defining your new model of computation.&lt;/p&gt;&#xA;" OwnerUserId="16881" LastActivityDate="2013-09-07T17:41:52.633" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18906" PostTypeId="2" ParentId="18899" CreationDate="2013-09-07T22:01:07.247" Score="2" Body="&lt;p&gt;Apart from the list above, there are also:  &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;#SAT: model counting&lt;/li&gt;&#xA;&lt;li&gt;All-SAT: model enumerating &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="10526" LastActivityDate="2013-09-07T22:01:07.247" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18907" PostTypeId="2" ParentId="18899" CreationDate="2013-09-07T22:10:38.613" Score="17" Body="&lt;p&gt;(Making comment an answer as requested and expanding a bit.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&quot;A curious mind&quot; should read &lt;a href=&quot;http://en.wikipedia.org/wiki/Schaefer%27s_dichotomy_theorem&quot;&gt;Schaefer's dichotomy theorem&lt;/a&gt; and the &lt;a href=&quot;http://en.wikipedia.org/wiki/Schaefer%27s_dichotomy_theorem#Generalizations&quot;&gt;generalization&lt;/a&gt; by &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0022000008001141&quot;&gt;Allender et al.&lt;/a&gt; that shows that every possible SAT variant is either trivial or in one of six well-known complexity classes:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;NP-complete&lt;/li&gt;&#xA;&lt;li&gt;P-complete&lt;/li&gt;&#xA;&lt;li&gt;NL-complete&lt;/li&gt;&#xA;&lt;li&gt;L-complete&lt;/li&gt;&#xA;&lt;li&gt;⊕L-complete&lt;/li&gt;&#xA;&lt;li&gt;co-NLOGTIME&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="3964" LastEditorUserId="3964" LastEditDate="2013-09-08T04:10:25.287" LastActivityDate="2013-09-08T04:10:25.287" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18909" PostTypeId="1" AcceptedAnswerId="18914" CreationDate="2013-09-08T07:43:21.827" Score="5" ViewCount="200" Body="&lt;p&gt;Though there have been many questions asked in this forum on complexity of integer operation, I could not find an answer to the following question: What implications are there to complexity theory if integer addition and multiplication of two integers have the same asymptotic complexity in the worst case?&lt;/p&gt;&#xA;" OwnerUserId="1812" LastActivityDate="2013-09-08T14:12:47.297" Title="On complexity of arithmetic operations" Tags="&lt;cc.complexity-theory&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18910" PostTypeId="1" CreationDate="2013-09-08T09:12:44.733" Score="0" ViewCount="348" Body="&lt;p&gt;The other day, I came across an offhand mention of something called &quot;Flynn's algorithm,&quot; which, as I gathered, had something to do with a linked list.  But that's all I was really able to discern.  Can anyone point me to a paper, or at least a web page that might further enlighten me?&lt;/p&gt;&#xA;" OwnerUserId="17264" LastActivityDate="2013-10-09T02:23:54.833" Title="What is &quot;Flynn's algorithm&quot; relating to linked lists?" Tags="&lt;ds.algorithms&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18911" PostTypeId="2" ParentId="18901" CreationDate="2013-09-08T10:04:46.477" Score="4" Body="&lt;p&gt;It is also unclear to me what $\epsilon$ means in that line of the paper.&#xA;The approximation error for $Z(a_0)$ is never mentioned again;&#xA;my interpretation is that the authors are saying the error is so small it can&#xA;be ignored.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The bound I get is:&#xA;$$ \tag{*} Z(a_0)=Z(2n) \geq (1-(2/e)^n \mathrm{poly}(n)) \int_0^\infty e^{-2nt} t^n \pi_n dt.$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So the approximation should be ok for $n &amp;gt; 100 \log \epsilon^{-1}$ and large $n$.&#xA;I don't know if it is necessary to use a different analysis or algorithm&#xA;to get Theorem 1.1 as stated for the regime where&#xA;$\epsilon$ is exponentially small compared to $n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To show (*), I claim the stronger statement that&#xA;$\int_1^\infty e^{-at}t^n dt \leq e^{-a}/n$&#xA;for all $a\geq 2n$ - this can be shown by induction on $n$.&#xA;Using Stirling's approximation on $\int_0^\infty e^{-2nt}t^n dt=n!(2n)^{-(n+1)}$,&#xA;$$ \frac{\int_1^\infty e^{-2nt}t^n dt}&#xA;{\int_0^\infty e^{-2nt}t^n dt}&#xA;\leq \frac{e^{-2n}(2n)^n}{n^n e^{-n}} \mathrm{poly}(n)&#xA;= (2/e)^n \mathrm{poly}(n).&#xA;$$&lt;/p&gt;&#xA;" OwnerUserId="636" LastActivityDate="2013-09-08T10:04:46.477" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18912" PostTypeId="1" CreationDate="2013-09-08T13:09:36.693" Score="5" ViewCount="812" Body="&lt;p&gt;Polar decoding, according to &lt;a href=&quot;http://arxiv.org/pdf/0807.3917.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Arikan's paper&lt;/a&gt;, can be decoded using a successive cancellation (SC) decoder, which is based on calculating the likelihood ratio, as seen in the image below.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/79Ppb.jpg&quot; alt=&quot;Polar decoding equations&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;How can I calculate equations 2 and 3 in the above image?&#xA;For example, assuming that $N=4$ and that we are using an AWGN channel with $\sigma=0.987$.&lt;/p&gt;&#xA;" OwnerUserId="17531" LastEditorUserId="4193" LastEditDate="2013-09-20T16:19:39.867" LastActivityDate="2018-04-07T01:55:44.840" Title="Explanation of polar decoding?" Tags="&lt;it.information-theory&gt;&lt;coding-theory&gt;" AnswerCount="2" CommentCount="8" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18913" PostTypeId="1" CreationDate="2013-09-08T13:35:45.480" Score="7" ViewCount="198" Body="&lt;p&gt;The Becker-Bonami operator $T_p$ on a function $f(x) : \{0,1\}^d \to \mathbb{R}$ is defined as follows. Let $\nu(x)$ be a perturbation of $x$ so that every bit remains the same with probability $p$ or is chosen uniformly at random from $\{0,1 \}$ with probability $1-p$. Then $T_p(f(x)) = E_{y =\nu(x)} f(y)$ . It is well known, by a famous inductive proof:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;\begin{equation}||T_{\sqrt{p-1}} f ||_2 \leq ||f||_p \end{equation}&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am curious first, as to what other proofs are known besides the traditional inductive one I see in most lecture notes on  boolean functions? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Note: It would be especially nice if there was a proof that leverages the fact that $T_p$ attenuates the coefficients of the parity basis functions. i.e, if $\chi_S: \{0,1\}^d \to \{-1,1\}$ is the function such that $\chi_S(x) = -1^{|x \cap S|}$, it is known that $T_p(\chi_S(x)) = p^{|S|} \chi_S(x)$.)&lt;/p&gt;&#xA;" OwnerUserId="2302" LastEditorUserId="2302" LastEditDate="2013-09-11T04:34:15.560" LastActivityDate="2013-09-11T04:34:15.560" Title="An alternative proof of hypercontractivity of the Becker-Bonami operator" Tags="&lt;boolean-functions&gt;&lt;fourier-analysis&gt;" AnswerCount="0" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18914" PostTypeId="2" ParentId="18909" CreationDate="2013-09-08T14:12:47.297" Score="3" Body="&lt;p&gt;If integer multiplication is in linear time, then the Hartmanis-Stearns conjecture on real-time computation is false. See &lt;a href=&quot;https://rjlipton.wordpress.com/2012/06/15/why-the-hartmanis-stearns-conjecture-is-still-open/&quot; rel=&quot;nofollow&quot;&gt;this post&lt;/a&gt; by Richard Lipton (and Ken Regan?).&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2013-09-08T14:12:47.297" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18915" PostTypeId="1" AcceptedAnswerId="18919" CreationDate="2013-09-08T14:20:52.900" Score="4" ViewCount="537" Body="&lt;p&gt;In contrast to &lt;a href=&quot;http://en.wikipedia.org/wiki/DFA_minimization&quot; rel=&quot;nofollow&quot;&gt;FSM minimization&lt;/a&gt; which is well studied with various algorithms, &lt;a href=&quot;http://en.wikipedia.org/wiki/DFA_minimization&quot; rel=&quot;nofollow&quot;&gt;theorems&lt;/a&gt; and has many practical applications, I'm looking for any nontrivial insight, analysis and references to the following question.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Given a &lt;a href=&quot;http://en.wikipedia.org/wiki/Finite_state_transducer&quot; rel=&quot;nofollow&quot;&gt;FSM transducer&lt;/a&gt;, how does one find a &quot;minimal&quot; equivalent transducer?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Note that there are possibly multiple reasonable ways to define the minimal transducer. The literature maybe hasn't settled on one. Also, I'm looking for applications if some are known.&lt;/p&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="5693" LastEditDate="2013-09-09T04:20:04.310" LastActivityDate="2013-09-09T04:20:04.310" Title="How to minimize a FSM transducer?" Tags="&lt;reference-request&gt;&lt;automata-theory&gt;&lt;regular-language&gt;&lt;dfa&gt;&lt;minimization&gt;" AnswerCount="3" CommentCount="0" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="18916" PostTypeId="2" ParentId="18915" CreationDate="2013-09-08T14:25:56.253" Score="4" Body="&lt;p&gt;You can view a FSM transducer from inputs $I$ to outputs $O$ as a normal FSM on alphabet $I\times O$, and use the classic minimization algorithms.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For instance if your transducer has transitions labelled by $i|o$, meaning &quot;reading $i$ and outputing $o$&quot;, you can just replace the label by $(i,o)$, meaning &quot;reading the pair $(i,o)$&quot;. If there are $\epsilon$-transitions like $\epsilon|o$, or $i|\epsilon$, you can incorporate $\epsilon$ in the alphabet (consider it as a letter), minimize, and then you can reinterpret it as an $\epsilon$-transition. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Notice that allowing $\epsilon$-transitions is the only way to allow input and ouptut strings to have different sizes.&lt;/p&gt;&#xA;" OwnerUserId="8953" LastEditorUserId="8953" LastEditDate="2013-09-08T16:38:06.063" LastActivityDate="2013-09-08T16:38:06.063" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="18917" PostTypeId="1" CreationDate="2013-09-08T14:29:01.463" Score="1" ViewCount="96" Body="&lt;p&gt;For an NFA $A$ with $n$ states and a word $w$, we can associate an $n$-dimensional vector $v_w$ with entries in $\mathbb{N}\cup\{0\}$ denoting the number of copies of the NFA in each state after reading $w$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For standard NFAs, this vector doesn't have much meaning, only it's support does (e.g. for the subset construction). However, when considering certain cumulative properties of NFAs, this vector is meaningful (see example at the end of the post).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It would make sense that in an NFA, the behavior of the possible reachable vectors will be fairly &quot;regular&quot;. Or at least have some nice properties.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;I am looking for any results concerning these vectors.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Note that this problem has some resemblance to the matrix mortality problem. Thus, it may be the case that determining whether a certain vector is reachable is undecidable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Example of when such vectors are meaningful: consider a semantics for a weighted NFA where there are weights on the edges, and the value of a word is the sum of the edges along all the runs of the NFA. In such NFAs, the state in the middle of a run is captured by such a vector and the accumulated sum along the run so far.&lt;/p&gt;&#xA;" OwnerUserId="7531" LastActivityDate="2013-09-08T14:29:01.463" Title="Properties of the number of copies of an NFA in each state" Tags="&lt;automata-theory&gt;" AnswerCount="0" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="18918" PostTypeId="1" AcceptedAnswerId="19183" CreationDate="2013-09-08T16:20:49.447" Score="4" ViewCount="185" Body="&lt;p&gt;In the paper &quot;On Graph Contractions and Induced Minors&quot; by Pim van't Hof et al. they showed that this problem is fixed parameter tractable in |VH| if G belongs to any non-trivial minor-closed graph class and H is a planar graph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, My failure to find a specific algorithm led me to ask the following question.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;If G is a bipartite graph , and H is a tree then is there any polynomial time algorithm to&#xA;  find if H is contained in G using only vertex deletion and edge contraction as the graph &#xA;  operations.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="12280" LastActivityDate="2013-10-07T09:46:20.397" Title="H-induced Containment problem" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;graph-minor&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18919" PostTypeId="2" ParentId="18915" CreationDate="2013-09-08T17:09:09.617" Score="7" Body="&lt;p&gt;Recall that, in the case of finite state automata, the notion of a minimal automaton is usually meant for &lt;em&gt;deterministic&lt;/em&gt; automata only; you can define it for non-deterministic ones, but then you lose two important properties:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;em&gt;canonicity&lt;/em&gt; (there is a unique minimal deterministic complete automaton for a given regular language, up to state renaming) and &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;the existence of &lt;em&gt;polynomial-time&lt;/em&gt; algorithms (the associated problem becomes PSPACE-complete for NFA; see &lt;a href=&quot;http://dx.doi.org/10.1137/0222067&quot;&gt;Jiang &amp;amp; Ravikumar, 1993&lt;/a&gt;).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;When considering finite state transducers, you need similarily to consider `deterministic' transducers: those are called (sub-)&lt;em&gt;sequential&lt;/em&gt;, and can be minimized (e.g. &lt;a href=&quot;http://dx.doi.org/10.1016/S0304-3975(01)00219-5&quot;&gt;Choffrut, 2003&lt;/a&gt; for a survey).  The issue however compared to the case of automata, is that not every finite state transducer can be made sequential!  See e.g. &lt;a href=&quot;http://dx.doi.org/10.1016/S0304-3975(01)00271-7&quot;&gt;Béal &amp;amp; Carton (2002)&lt;/a&gt; for a proof of decidability of sequentiality and a construction of the equivalent sequential automaton.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that in the more general setting of &lt;em&gt;weighted&lt;/em&gt; automata, this question is still open for some semirings (&lt;a href=&quot;http://dx.doi.org/10.1016/j.tcs.2006.01.028&quot;&gt;Lombardy &amp;amp; Sakarovitch, 2006&lt;/a&gt;).&lt;/p&gt;&#xA;" OwnerUserId="609" LastActivityDate="2013-09-08T17:09:09.617" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18920" PostTypeId="2" ParentId="18915" CreationDate="2013-09-08T17:46:30.963" Score="10" Body="&lt;p&gt;As you pointed out, there are several ways to define minimal transducers, but I only know of two mathematically appealing definitions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The first result concerns the reduction of linear representations of recognizable series&#xA;(= defined by weighted automata). The best reference is Chapter II, Minimization, in one of these two books (the more recent is an update of the first one, with many new additions):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] J. Berstel and C. Reutenauer, &lt;em&gt;Noncommutative rational series with applications&lt;/em&gt;, Encyclopedia of Mathematics and its Applications, 137. Cambridge University Press, Cambridge, 2011. xiv+248 pp. ISBN: 978-0-521-19022-0&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(2] J. Berstel and C. Reutenauer, &lt;em&gt;Rational series and their languages&lt;/em&gt;, EATCS Monographs on Theoretical Computer Science, 12. Springer-Verlag, Berlin, 1988. viii+151 pp. ISBN: 3-540-18626-3&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the case of sequential functions, one can adapt Nerode's construction to obtain a minimal sequential transducer. The algorithmm was first given in&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[3] G. N. Raney, Sequential functions. &lt;em&gt;J. Assoc. Comput. Mach.&lt;/em&gt; &lt;strong&gt;5&lt;/strong&gt; (1958) 177-180.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See also Thm XII.4.2 in&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[4] S. Eilenberg, Automata, Languages, and Machines. Vol. A, Pure and Applied Mathematics, &lt;strong&gt;58&lt;/strong&gt;, Academic Press (1974)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The algorithm was extended to so-called subsequential functions by Choffrut. See the survey&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[5] C. Choffrut, Minimizing subsequential transducers: a survey. Selected papers in honor of Jean Berstel. &lt;em&gt;Theoret. Comput. Sci.&lt;/em&gt; &lt;strong&gt;292&lt;/strong&gt; (2003), 131-143. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;You may also have a look at&#xA;&lt;a href=&quot;http://www.liafa.univ-paris-diderot.fr/~jep/PDF/Exposes/Sequential.pdf&quot;&gt;A tutorial on sequential functions&lt;/a&gt; for an introduction.&lt;/p&gt;&#xA;" OwnerUserId="17203" LastActivityDate="2013-09-08T17:46:30.963" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18922" PostTypeId="2" ParentId="174" CreationDate="2013-09-08T18:43:57.183" Score="21" Body="&lt;p&gt;Are NP-completeness in the sense of Cook and NP-completeness in the sense of Karp different concepts, assuming P $\neq$ NP?&lt;/p&gt;&#xA;" OwnerUserId="6706" LastActivityDate="2013-09-08T18:43:57.183" CommentCount="0" CommunityOwnedDate="2013-09-08T18:43:57.183" ContentLicense="CC BY-SA 3.0" />
  <row Id="18924" PostTypeId="2" ParentId="18910" CreationDate="2013-09-09T01:25:12.890" Score="2" Body="&lt;p&gt;You might be thinking of &lt;a href=&quot;https://en.wikipedia.org/wiki/Floyd%27s_cycle-finding_algorithm#Tortoise_and_hare&quot; rel=&quot;nofollow&quot;&gt;Floyd's algorithm for finding cycles&lt;/a&gt;.  Given a singly linked list, it finds a cycle in the list (if one exists) in constant space and time linear in the size of the list.&lt;/p&gt;&#xA;" OwnerUserId="5038" LastActivityDate="2013-09-09T01:25:12.890" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18925" PostTypeId="1" AcceptedAnswerId="18928" CreationDate="2013-09-09T03:53:15.247" Score="4" ViewCount="418" Body="&lt;p&gt;I was going through the description of &lt;a href=&quot;http://www.nist.gov/itl/csd/ct/nist_beacon.cfm&quot; rel=&quot;noreferrer&quot;&gt;NIST Randomness Beacon&lt;/a&gt;. I would like to know the meaning of the term &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;full-entropy bit-strings&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;used in the third paragraph.&lt;/p&gt;&#xA;" OwnerUserId="13408" LastActivityDate="2013-09-09T15:27:20.590" Title="What is full-entropy bit-strings?" Tags="&lt;randomness&gt;&lt;pseudorandomness&gt;&lt;pseudorandom-generators&gt;&lt;shannon-entropy&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18927" PostTypeId="2" ParentId="18899" CreationDate="2013-09-09T08:00:52.313" Score="7" Body="&lt;p&gt;Let $\mathrm{SAT}(k)$ be $\mathrm{SAT}$ for CNF formulas with at most $k$ occurrences of every variable. &#xA;Then $\mathrm{SAT}(2)$ ist complete for $\mathsf{L}$ (i.e., deterministic log space, see my &lt;a href=&quot;http://dx.doi.org/10.1007/978-3-540-24749-4_28&quot;&gt;paper&lt;/a&gt; in STACS 2004), whereas $\mathrm{SAT}(k)$ for $k\geq 3$ is NP-complete. &lt;/p&gt;&#xA;" OwnerUserId="6579" LastActivityDate="2013-09-09T08:00:52.313" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18928" PostTypeId="2" ParentId="18925" CreationDate="2013-09-09T15:27:20.590" Score="6" Body="&lt;p&gt;The meaning is a bit string $x$ which is distributed uniformly on $\{0,1\}^{|x|}$.&lt;/p&gt;&#xA;" OwnerUserId="40" LastActivityDate="2013-09-09T15:27:20.590" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18929" PostTypeId="2" ParentId="18899" CreationDate="2013-09-09T16:04:44.873" Score="17" Body="&lt;p&gt;This list will be very long;)&#xA;Here are some of my favourite (NP-complete) variants of SAT:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;PLANAR($\le 3, 3$)-SAT (each clause contains at least two and at most three literals, each variable appears in exactly three clauses; &#xA;twice in its non-negated form, and once in its negated form, and the bipartite incidence graph is planar.) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;See: Dahlhaus, Johnson, Papadimitriou, Seymour, Yannakakis, The complexity of multiterminal cuts, &#xA;SIAM Journal of Computing 23 (1994) 864-894 &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;4-BOUNDED PLANAR 3-CONNECTED 3SAT (every clause contains exactly 3 distinct variables, every variable appears in at most &#xA;4 clauses, the bipatite incident graph is planar and 3-connected )&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See: Kratochvíl, A special planar satisfiability problem and a consequence of its NP-completeness, &#xA;Discrete Applied Math. 52 (1994) 233-252  &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;MONOTONE CUBIC 1-IN-3SAT (MONOTONE-1-IN-3SAT in which every variable appears exactly 3 times) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;See: Moore and Robsen, Hard tilings problem with simple tiles, Discrete Compute. Geom. 26 (2001) 573-590   &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;I find very interesting that PLANAR-NAE-$k$SAT is in P for every $k$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See &lt;a href=&quot;https://cstheory.stackexchange.com/questions/5994/for-which-k-is-planar-nae-k-sat-in-p&quot;&gt;this post&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="13136" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2013-09-09T16:04:44.873" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18930" PostTypeId="2" ParentId="18846" CreationDate="2013-09-09T18:41:43.923" Score="2" Body="&lt;p&gt;there seems to be a fairly natural way/angle to study this question that is utilized in at least 3 papers as follows. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;let $TM(k,l)$ be the set of Turing Machine with $k$ states and $l$ symbols. for low/small $k,l$ the machines are provably decidable, for larger $k,l$ past some threshhold they are provably undecidable. however in the intermediate region, they are not consistently known to be either decidable or undecidable (and the full table is presumably unknowable based on the same undecidability phenomena of the halting problem). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;the results can be displayed on a grid as in some of the following refs. also in the intermediate region it is actually known that some (unresolved) machines are capable of simulating the Collatz conjecture for some inputs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;therefore there is clearly a &lt;a href=&quot;http://www.cse.unsw.edu.au/~tw/phase.ppt&quot; rel=&quot;nofollow&quot;&gt;&quot;transition-point&quot;&lt;/a&gt; like phenomena operating here but not within a computable region but in an unusual sense of between computable and uncomputable.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://www.dm.unito.it/~cerruti/ac/paperpm1.pdf&quot; rel=&quot;nofollow&quot;&gt;Small Turing machines&#xA;and generalized busy beaver competition&lt;/a&gt; Michel&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://www.dna.caltech.edu/~woods/download/WoodsNearyTCS07-DRAFT.pdf&quot; rel=&quot;nofollow&quot;&gt;The complexity of small universal Turing&#xA;machines: a survey&lt;/a&gt; Woods, Neary&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://arxiv.org/abs/0906.3329&quot; rel=&quot;nofollow&quot;&gt;On the boundaries of solvability and unsolvability in tag systems. Theoretical and Experimental Results&lt;/a&gt; De Mol&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2013-09-09T18:41:43.923" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18931" PostTypeId="2" ParentId="8539" CreationDate="2013-09-09T18:58:35.157" Score="2" Body="&lt;p&gt;Some have given great answers when it comes to how it relates to industry.  What should be important is its scientific value, and Automata theory is often the doorway to first understand a higher tier of theory of computation in an undergraduate student's studies.  Automata theory has a grand set of theorems that pop up all over the place in Theoretical Computer Science, and especially when one wants to talk about application such as Compilers.  Its scientific value (its not outdated, how could it be?  It's core theory to the field.) is practical to any scientist that is interested in computation.  It is practical as it is knowledge that is useful to those who understand or want to understand the nature of computation.  If you cannot find use in it, I question ones research or even intent to study  CS as it's not programming (that's an application of CS), it's a formal science.&lt;/p&gt;&#xA;" OwnerUserId="17547" LastActivityDate="2013-09-09T18:58:35.157" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18932" PostTypeId="2" ParentId="1168" CreationDate="2013-09-09T22:00:45.990" Score="-1" Body="&lt;p&gt;The paper &lt;a href=&quot;http://akira.ruc.dk/~keld/teaching/algoritmedesign_f04/Artikler/12/Bentley80.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Multidimensional Divide-and-conquer&lt;/a&gt; by Jon L. Bentley discussed multidimensional divide-and-conquer, an algorithmic paradigm to solve problems in multidimensional divide-and-conquer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is really easy to read and helpful to solve lots of high-dimensional computation problem.&lt;/p&gt;&#xA;" OwnerUserId="1544" LastEditorUserId="52310" LastEditDate="2019-09-20T08:46:10.050" LastActivityDate="2019-09-20T08:46:10.050" CommentCount="0" CommunityOwnedDate="2013-09-09T22:00:45.990" ContentLicense="CC BY-SA 4.0" />
  <row Id="18933" PostTypeId="2" ParentId="1168" CreationDate="2013-09-10T00:45:26.540" Score="15" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;a href=&quot;http://www.cse.iitk.ac.in/users/manindra/algebra/primality_v6.pdf&quot;&gt;PRIMES in&#xA;  P&lt;/a&gt;&#xA;  by Agrawal, Kayal, Saxena&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Also known as the AKS primality test, was the first deterministic, (unconditional,) polynomial time primality testing algorithm, that was proposed in the paper, in 2002. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The authors received the Gödel Prize and the Fulkerson Prize for this work.&lt;/p&gt;&#xA;" OwnerUserId="17325" LastActivityDate="2013-09-10T00:45:26.540" CommentCount="0" CommunityOwnedDate="2013-09-10T00:45:26.540" ContentLicense="CC BY-SA 3.0" />
  <row Id="18934" PostTypeId="1" CreationDate="2013-09-10T05:58:20.667" Score="12" ViewCount="226" Body="&lt;p&gt;Is there in an integer priority queue that uses $O(n)$ words of space with the following operations, all in worst-case time and without access to randomness:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;createEmptyQueue&lt;/code&gt; in $O(lg^c U)$ for some constant $c$.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;insert&lt;/code&gt; in $O(1)$. &lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;deleteMin&lt;/code&gt; in $O(\delta_{\min})$, where $\delta_{\min}$ is the difference between the smallest and the second-smallest key.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Furthermore, once a key $k$ has been subject to a &lt;code&gt;deleteMin&lt;/code&gt;, all further inserts are $&amp;gt; k$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Related work:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.cs.umanitoba.ca/~cccg2010/electronicProceedings/paper33.pdf&quot;&gt;Bose et al.'s &quot;Fast Local Searches and Updates in Bounded Universes&quot;&lt;/a&gt;, which is faster than I need for &lt;code&gt;deleteMin&lt;/code&gt; but slower than I need for &lt;code&gt;insert&lt;/code&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.28.7131&amp;amp;rep=rep1&amp;amp;type=pdf&quot;&gt;Brodnik et al.'s &quot;Worst case constant time priority queue&quot;&lt;/a&gt;, which uses the exotic &quot;Yggdrasil memory&quot;. For the purposes of this question, I'm interested in more standard integer RAM models.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.imfm.si/preprinti/PDF/00771.pdf&quot;&gt;Brodnik and Karlsson's &quot;Multiprocess Time Queue&quot;&lt;/a&gt;, which limits insert to elements with keys in $(k_{\min}, k_{\min} + \delta_{\min}]$, where $k_{\min}$ is the value of the minimum key.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that this is pretty simple with a hash table, but that uses amortization and randomness:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Queues are pairs of a hash table of keys and a copy of the minimum key.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;insert&lt;/code&gt; adds the key to the hash table and updates the minimum key copy if appropriate.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;deleteMin&lt;/code&gt; looks up the minimum key in the hash table, then searches for the next minimum key by searching for $k_{\min} + 1, k_{\min} +2, k_{\min} + 3, \dots$ in order.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="43" LastEditorUserId="43" LastEditDate="2013-09-11T02:43:59.403" LastActivityDate="2014-12-08T11:19:34.123" Title="Integer priority queue with distribution-sensitive deleteMin" Tags="&lt;ds.data-structures&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18937" PostTypeId="1" AcceptedAnswerId="18939" CreationDate="2013-09-10T11:09:01.283" Score="3" ViewCount="327" Body="&lt;p&gt;Given optimization problems $P1$ and $P2$. The slides below say that, $P1 \leq_L P2$ does not imply $P2 ∈ APX$, then $P1 ∈ APX$. Why is this so?&#xA;&lt;a href=&quot;http://www.di.univr.it/documenti/AttDidAva/allegato/allegato581250.pdf&quot; rel=&quot;nofollow&quot;&gt;http://www.di.univr.it/documenti/AttDidAva/allegato/allegato581250.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$MAX INDEP SET$ is not in APX while $MAX CUT$ is.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is an L reduction, $MAX INDEP SET$ $\leq_L$ $MAX CUT$ possible? The above implication does not say this is impossible.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there an inspiration to understand this from why $MAX INDEP SET$ is not in APX while $MAX CUT$ is?&lt;/p&gt;&#xA;" OwnerUserId="1812" LastActivityDate="2013-09-10T14:25:25.870" Title="On APX problems" Tags="&lt;cc.complexity-theory&gt;&lt;apx&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18938" PostTypeId="1" AcceptedAnswerId="18945" CreationDate="2013-09-10T14:15:05.950" Score="6" ViewCount="511" Body="&lt;p&gt;Everybody knows that there are whole classes of problems which quantum computers are able to solve much faster (i.e. with fewer instructions) than classical computers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there any problem for which the reverse is true?&lt;/p&gt;&#xA;" OwnerDisplayName="user17560" LastActivityDate="2013-09-11T19:22:24.297" Title="Is there any task where classical computers outperform quantum computers?" Tags="&lt;cc.complexity-theory&gt;&lt;quantum-computing&gt;&lt;time-complexity&gt;" AnswerCount="2" CommentCount="11" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="18939" PostTypeId="2" ParentId="18937" CreationDate="2013-09-10T14:25:25.870" Score="7" Body="&lt;p&gt;Suppose you have a reduction $f$ from problem $A$ to problem $B$. So if $f(x) \in B$ then $x \in A$ and if $f(x) \notin B$ then $x \notin A$ (here $x \in A$ means $x$ is a YES instance of $A$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now suppose that $A$ and $B$ are in fact optimization problems, say both are maximization problems. Now $f$ maps an instance $(x,a)$ of $A$ to an instance $(y,b)$ of $B$ such that $B(y) \geq b$ implies $A(x) \geq a$ and $B(y) &amp;lt; b$ implies $A(x) &amp;lt; a$ (here $A(x)$ is the optimal value of $x$ for problem $A$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose you had an approximation algorithm $O$ for $B$, say with approximation ratio $\rho &amp;lt; 1$. Then $O(y) \geq \rho B(y)$. How would you convert this to an approximation algorithm for $A$? There are two problems:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;$O$ only gives a solution for $B$ problems. You will need another procedure $P$ that converts a solution for $y$ to a solution for $x$.&lt;/li&gt;&#xA;&lt;li&gt;You need a promise that if the solution produced by $O$ is good as a solution for $y$, then the solution produced by applying $P$ is good for $x$.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;When these two conditions are satisfied, the reduction preserves approximability, and then the implication is correct. But they need not hold in general.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is a concrete example. A set of vertices in a graph is a &lt;em&gt;vertex cover&lt;/em&gt; iff its complement is an &lt;em&gt;independent set&lt;/em&gt;. While vertex cover has a $2$-approximation algorithm, independent set is (probably) not approximable. Here the reductions $f$ and $P$ are trivial - given a graph $G$ with $n$ vertices and a threshold $a$ for independent set, $f$ outputs the same graph $G$ and the threshold $b=n-a$ for vertex cover. The conversion procedure $P$ simply complements the solution.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider the $2$-approximation algorithm for vertex cover (which is a minimization problem). Thus, if the graph $G$ has a vertex cover of size $T$, then it returns a vertex cover of size $2T$. In terms of the optimal independent set, we go from $n-T$ to $n-2T$. This could be a big difference for some values of $T$: for example, if $T = n/2$, then there is an independent set containing half the vertices, but this reduction only gives us an independent set of size $0$!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, there are logspace reductions among most well-known NP-complete problems, including probably independent set and MAX-CUT. Since logspace reductions compose, all you need to do is follow the chain of reductions and verify that all of them are logspace.&lt;/p&gt;&#xA;" OwnerUserId="40" LastActivityDate="2013-09-10T14:25:25.870" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="18940" PostTypeId="2" ParentId="3697" CreationDate="2013-09-10T19:11:49.470" Score="2" Body="&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Lance_Fortnow&quot; rel=&quot;nofollow&quot;&gt;Lance Fortnow&lt;/a&gt; recently expanded and published his already-comprehensive column from CACM (mentioned in MA's other answer) into a full length popular-science level book, &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0691156492&quot; rel=&quot;nofollow&quot;&gt;The Golden Ticket: P, NP, and the Search for the Impossible&lt;/a&gt;. it was reviewed in the &lt;a href=&quot;http://www.newyorker.com/online/blogs/elements/2013/05/a-most-profound-math-problem.html&quot; rel=&quot;nofollow&quot;&gt;New Yorker, &quot;A most profound math problem&quot;&lt;/a&gt;, by Nazaryan. (&lt;a href=&quot;http://press.princeton.edu/titles/9937.html&quot; rel=&quot;nofollow&quot;&gt;publishers page&lt;/a&gt;, Princeton University Press)&lt;/p&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2013-09-10T19:11:49.470" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18942" PostTypeId="1" AcceptedAnswerId="18946" CreationDate="2013-09-11T12:37:45.707" Score="10" ViewCount="734" Body="&lt;p&gt;Given a set of $n$ points in $d$ dimensional Euclidean space, the problem is to determine if the convex hull contains the unit ball centered at the origin. &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is this problem in NP?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;It is in co-NP as one can give a point in the ball outside the convex hull as a witness and verify this fact using linear programming.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;My focus here is not in computer precision relating to square roots although this may also be interesting.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Related to &lt;a href=&quot;https://mathoverflow.net/questions/141782/efficiently-determine-if-convex-hull-contains-the-unit-ball&quot;&gt;https://mathoverflow.net/questions/141782/efficiently-determine-if-convex-hull-contains-the-unit-ball&lt;/a&gt; .)&lt;/p&gt;&#xA;" OwnerUserId="17573" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2013-09-11T19:26:04.173" Title="Is it in NP to check if the convex hull contains the unit ball?" Tags="&lt;cc.complexity-theory&gt;&lt;cg.comp-geom&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="18943" PostTypeId="2" ParentId="18938" CreationDate="2013-09-11T16:02:01.773" Score="1" Body="&lt;p&gt;&lt;a href=&quot;http://www.youtube.com/watch?v=g_IaVepNDT4&quot; rel=&quot;nofollow&quot;&gt;http://www.youtube.com/watch?v=g_IaVepNDT4&lt;/a&gt;&#xA;check it out, that guy explains your question. He starts with the concept of a qbit and around the 5:15 mark he goes into what you asked.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hope this helps!&lt;/p&gt;&#xA;" OwnerUserId="17578" LastActivityDate="2013-09-11T16:02:01.773" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18944" PostTypeId="1" CreationDate="2013-09-11T17:53:29.307" Score="-1" ViewCount="1563" Body="&lt;p&gt;I am working with random forest for a supervised classification problem, and I am using the k-means clustering algorithm to split the data at each node, where &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$n$ is the number of points, &lt;/li&gt;&#xA;&lt;li&gt;$K$ is the number of clusters, &lt;/li&gt;&#xA;&lt;li&gt;$I$ is the number of iterations, &lt;/li&gt;&#xA;&lt;li&gt;$d$ is the number of attributes. &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I am trying to calculate the time complexity for the algorithm&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;From what I understand the time complexity for $k$-means is $O( n \cdot K \cdot I \cdot d )$ , and as $k$, $I$ and $d$ are constants or have an upper bound, and $n$ is much larger than these three, i suppose the complexity is just $O(n)$. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The random forest on the other hand is a divide and conquer approach, so for $n$ instances the complexity is $O(n\cdot \log n)$, though I am not sure about this, correct me if i am wrong. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;To get the complexity of the algorithm do i just add these two things?&lt;/p&gt;&#xA;" OwnerUserId="17580" LastEditorUserId="1846" LastEditDate="2013-09-13T18:34:00.360" LastActivityDate="2013-11-25T09:20:56.747" Title="Time complexity analysis of random forest and k-means?" Tags="&lt;ds.algorithms&gt;&lt;time-complexity&gt;&lt;clustering&gt;&lt;decision-trees&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="18945" PostTypeId="2" ParentId="18938" CreationDate="2013-09-11T19:22:24.297" Score="12" Body="&lt;p&gt;If you're asking whether a quantum computer can compute any function that a classical computer can compute without using many more elementary computational &lt;em&gt;steps&lt;/em&gt;, then the answer is yes: a quantum computer can perform any reversible classical computation, and if you keep the input around, any classical computation can be made reversible at a cost of multiplying the number of steps by a small constant factor.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you're asking whether a quantum computer can compute any function that a classical computer can without using many more &lt;em&gt;resources,&lt;/em&gt; the answer is much less clear. The construction that lets you make a $T$-step computation reversible using $O(T)$ steps also takes $O(T)$ space (i.e., memory cells). You can achieve a smaller blow-up in space at the cost of a superlinear number of steps. See &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=73186&quot;&gt;Time/Space Trade-Offs for Reversible Computation&lt;/a&gt; by Charles H. Bennett. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For an actual physical quantum computer, it's very likely that you might also be able to make it faithfully simulate a classical computer by letting it lose coherence, but in this case it's no longer really working as a quantum computer, and if you try to use a quantum computer that is operating this way as a subroutine in a quantum computation, it might not work properly. &lt;/p&gt;&#xA;" OwnerUserId="1677" LastActivityDate="2013-09-11T19:22:24.297" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18946" PostTypeId="2" ParentId="18942" CreationDate="2013-09-11T19:26:04.173" Score="7" Body="&lt;p&gt;The problem is NP-hard; see my answer at &lt;a href=&quot;https://mathoverflow.net/questions/141782/efficiently-determine-if-convex-hull-contains-the-unit-ball&quot;&gt;mathoverflow&lt;/a&gt;. Thus there is no polynomial-size certificate that the unit ball is contained in the convex hull of given points unless $\text{NP} = \text{co-NP}$ (if $\text{NP} = \text{co-NP}$ then the polynomial hierarchy collapses).&lt;/p&gt;&#xA;" OwnerUserId="9929" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2013-09-11T19:26:04.173" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="18947" PostTypeId="1" AcceptedAnswerId="18948" CreationDate="2013-09-11T21:41:11.007" Score="17" ViewCount="634" Body="&lt;p&gt;This question is probably on the border line between on-topic and off-topic, however I've seen similar questions here, therefore I'll ask it.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;I'm implementing a Unique $k$-SAT solver, whose input is a $k$-CNF formula having at most $1$ satisfying assignment. To test its practical behaviour, I need a set of such formulas. I've searched for them on the web, and found nothing (while, on the other hand, it is very easy to find suites of ordinary $k$-CNF formulas).&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Where can I find Unique $k$-SAT instances?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Alternatively, I would be content also to know any procedure to generate uniquely satisfiable instances. The only approach I'm aware of goes under the name of &lt;em&gt;planted SAT instance generation&lt;/em&gt;: you randomly generate an assignment of $n$ variables, then you generate only those clauses which agree with such assignment. This approach is unsatisfactory for my purposes, for the following reasons:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The obtained formula may have further undesired satisfying assignments.&lt;/li&gt;&#xA;&lt;li&gt;To be sure that the formula is satisfied uniquely by the desired assignment, you should introduce &lt;em&gt;all&lt;/em&gt; the possible clauses that agree with it. This would produce formulas with too many clauses, which will probably be easy to solve and therefore not representative of the worst case behaviour of the solver. It is not obvious to me how we can efficiently force uniqueness while keeping the number of clauses reasonable.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;How can we generate uniquely satisfiable formulas with a reasonable number of clauses? By &lt;em&gt;reasonable&lt;/em&gt; I mean far from the maximum $2^k \cdot {n \choose k}$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="947" LastActivityDate="2013-09-18T06:01:45.117" Title="Unique $k$-SAT benchmarks" Tags="&lt;sat&gt;" AnswerCount="5" CommentCount="2" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="18948" PostTypeId="2" ParentId="18947" CreationDate="2013-09-11T22:34:38.943" Score="8" Body="&lt;p&gt;Here is one way to generate a Unique $k$-SAT instance, given a SAT instance $\varphi$ that you know is satisfiable.  Consider the formula $\psi(x)$ given by&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\varphi(x) \land h(x)=y,$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where $h$ is a hash function that maps an assignment $x$ to a $k$-bit value (for some small value of $k$), and $y$ is a random $k$-bit value.  If $\varphi$ has about $2^k$ satisfying assignments, then (heuristically) we assume that $\psi$ will have exactly one satisfying assignment (with constant probability).  We can test whether this is the case using a SAT solver (namely, test whether $\psi$ is satisfiable; if it is, and $x_0$ is one satisfying assignment, test whether $\psi(x) \land x \ne x_0$ is satisfiable).  If $k$ is not known, you can find $k$ using binary search or just by iterating over each candidate value $k=1,2,\dots,n$ (where $n$ is the number of boolean variables in $x$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can choose the hash function freely.  You'll probably want to make it as simple as possible.  One extremely simple construction is to have $h$ pick out a random subset of $k$ bits from $x$.  A slightly more sophisticated construction is to have the $i$th bit of $h(x)$ be the xor of two randomly chosen bits from $x$ (choosing a separate pair of bit positions for each $i$, independently).  Keeping $h$ simple will keep $\psi$ relatively simple.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This kind of transformation is sometimes used/suggested, as part of a scheme for estimating the number of satisfying assignments to a formula $\varphi$; I've adapted it for your particular need.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can find many testbeds of SAT instances on the Internet, and you could apply this transformation to all of them, to obtain a collection of Unique $k$-SAT instances.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Another possibility would be to generate Unique $k$-SAT instances from cryptography.  For instance, suppose $f:\{0,1\}^n \to \{0,1\}^n$ is a cryptographic one-way permutation.  Let $x$ be a randomly chosen element of $\{0,1\}^n$, and let $y=f(x)$.  Then the formula $\varphi(x)$ given by $f(x)=y$ is a Unique $k$-SAT instance.  As another example, pick two large prime numbers $p,q$ randomly, and let $n=pq$.  Then the formula $\varphi(x,y)$ given by $x \cdot y = n \land x&amp;gt;1 \land y&amp;gt;1 \land x \le y$ (with the obvious correspondence between bit-strings and integers) is a Unique $k$-SAT instance.  However, these constructions do not seem like a useful way to benchmark or optimize your solver.  They all have a special structure, and there is no reason to believe that this structure is representative of real-world problems.  In particular, SAT instances drawn from cryptographic problems are known to be extremely hard, much harder than SAT instances drawn from many other real-world applications of SAT solvers, so they aren't a very good basis for benchmarking your solver.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;In general, all of the techniques mentioned in this answer have the drawback that they generate Unique $k$-SAT instances with a particular structure, so they might not be what you are looking for -- or, at least, you might not want to rely solely upon formulae generated in this way.  A better approach would be to identify applications of Unique $k$-SAT (who do you think is going to use your solver, and for what purpose?), and then try to obtain some realistic examples from those application domains.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For a related topic, see also &lt;a href=&quot;https://cstheory.stackexchange.com/q/16751/5038&quot;&gt;Generating interesting combinatorial optimization problems&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="5038" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2013-09-16T17:02:10.110" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="18949" PostTypeId="1" CreationDate="2013-09-11T23:02:49.853" Score="3" ViewCount="67" Body="&lt;p&gt;Is there any paper which can be used to show that there can be no relativizing construction of a &lt;a href=&quot;http://www.cs.bu.edu/~reyzin/papers/hash.ps&quot; rel=&quot;nofollow&quot;&gt;secret-coin Collision-Resistant Hash Family&lt;/a&gt; from a one-way function and unlike &lt;a href=&quot;http://link.springer.com/content/pdf/10.1007%2F3-540-45760-7_7.pdf&quot; rel=&quot;nofollow&quot;&gt;this paper&lt;/a&gt;, does not claim to show more than it actually shows?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The second link shows &lt;em&gt;some&lt;/em&gt; result, and I &lt;em&gt;believe&lt;/em&gt; that what it actually shows&#xA;is strong enough, but I'm quite hesitant to cite that paper because the author&#xA; writes &quot;we show that relative to an oracle non-interactive weakly-binding honest-receiver statistically-secret commitments schemes do not exist&quot; despite his definition of &quot;non-interactive weakly-binding honest-receiver statistically-secret bit commitment scheme&quot;s corresponding to an &lt;em&gt;otherwise&lt;/em&gt; semi-honest receiver that is allowed to choose its &quot;random bits&quot; maliciously, and requiring perfect completeness and gives a definition of a &quot;black-box one-way permutation&quot; that does not require &lt;a href=&quot;http://en.wikipedia.org/wiki/Injective_function&quot; rel=&quot;nofollow&quot;&gt;injectivity&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerDisplayName="user6973" LastEditorUserId="4193" LastEditDate="2013-09-12T17:54:35.943" LastActivityDate="2013-09-12T17:54:35.943" Title="one-way functions vs. secret-coin CRHFs" Tags="&lt;cr.crypto-security&gt;&lt;hash-function&gt;&lt;relativization&gt;&lt;one-way-function&gt;" AnswerCount="0" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18950" PostTypeId="1" AcceptedAnswerId="18951" CreationDate="2013-09-12T01:39:33.287" Score="0" ViewCount="149" Body="&lt;p&gt;No Turing machine can decide whether any given Turing machine will halt for a given input. That is:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;If you give me a Turing machine which you &lt;em&gt;claim&lt;/em&gt; can take a Turing machine and an input for that machine and will tell me whether the machine will halt,&lt;/li&gt;&#xA;&lt;li&gt;There is some counterexample TM/input pair I can provide to that machine for which it will fail.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;This is the undecidability of the halting problem. Old news.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is: &lt;strong&gt;Can such a counterexample be &lt;em&gt;computed&lt;/em&gt; for any candidate decider of the halting problem?&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;That is, is there a Turing machine which can take as input some Turing machine and compute a TM/input pair for which the given Turing machine fails to decide the halting problem?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Incidentally, I'm slightly over my head here, so I may be asking my question wrong, or asking a wrong question. Thoughts and pointers are welcome.)&lt;/p&gt;&#xA;" OwnerUserId="13024" LastActivityDate="2013-09-12T03:57:23.683" Title="Is refuting candidate deciders of the halting problem computable?" Tags="&lt;turing-machines&gt;&lt;halting-problem&gt;&lt;decidability&gt;" AnswerCount="1" CommentCount="1" ClosedDate="2013-12-01T19:18:25.067" ContentLicense="CC BY-SA 3.0" />
  <row Id="18951" PostTypeId="2" ParentId="18950" CreationDate="2013-09-12T03:57:23.683" Score="3" Body="&lt;p&gt;The usual proof that the halting problem is undecidable already gives you exactly such an algorithm. Given an algorithm $A$, we construct an algorithm $B$ that on input $x$ computes $A$ on program $x$ and input $x$, and then enters an infinite loop iff $A$ answered &quot;halts&quot;. Now consider giving $B$ itself as an input. If $A(B,B)=\text{&quot;halts&quot;}$ then $B$ doesn't halt on $B$, so $A$ is wrong. Same if $A(B,B)=\text{&quot;doesn't halt&quot;}$. So $\langle B,B\rangle$ is an example input on which $A$ is wrong.&lt;/p&gt;&#xA;" OwnerUserId="40" LastActivityDate="2013-09-12T03:57:23.683" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18952" PostTypeId="1" AcceptedAnswerId="18961" CreationDate="2013-09-12T04:11:36.217" Score="3" ViewCount="187" Body="&lt;p&gt;An $IP$ system $(P,V)$ is zero-knowledge (ZK) for some language $L$ if for every probabilistic polynomial-time verifer $V^*$ there exists a probabilistic polynomial-time algorithm $S$ for every $x\in L$ such that the output distribution of $(P,V^*)(x)$ and $S(x)$ are &quot;close&quot;. Close means that the probability distribution of their outputs are either &quot;equal&quot; (perfect ZK), &quot;statistically close&quot; (statistical ZK), or &quot;computationally indistinguishable&quot; (computational ZK).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is,&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;if we allow the honest-verifier $V$ to have access to oracle $O$, do we have to allow any other cheating-verifier $V^*$ to also have access to $O$? Or, do we just simply consider all cheating-verifiers without access to any oracle?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;My main problem is that, intuitively, the complexity classes for ZK might be very different depending on if we allow the cheating-verifiers such oracle access.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I cannot find any reference regarding relativized classes of ZK. If anyone could direct me to any reference I will really appreciate it. I'm aware of the Random Oracle model (RO), where all parties, even malicious ones, have access to a random oracle. But the goals, motivation, and applications of RO are not the ones I'm interested. I'm interested in relativization results in the Baker-Gill-Solovay sense.&lt;/p&gt;&#xA;" OwnerUserId="135" LastActivityDate="2013-09-12T16:42:37.833" Title="How to properly define a zero-knowledge proof system with oracle access" Tags="&lt;cc.complexity-theory&gt;&lt;cr.crypto-security&gt;&lt;zero-knowledge&gt;" AnswerCount="1" CommentCount="6" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18953" PostTypeId="1" CreationDate="2013-09-12T07:09:56.840" Score="3" ViewCount="765" Body="&lt;p&gt;This is something I've been thinking. While it is agreed that Lambda Calculus is equivalent to a Turing Machine in power, is it actually so? Church Numerals are not very space efficient and I'm not aware of any better way to represent numbers using the LC. This leads me to the intuitive conclusion that, while, theorically, LC is as powerful as a TM, there is a natural limit that states that a program in LC will never be able to compute natural numbers as fast as a TM, given a physical world and limited resources.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now I've throw many ideas and it is hard to define most of what I'm saying formally, but does that intuition make any sense?&lt;/p&gt;&#xA;" OwnerUserId="17388" LastActivityDate="2013-09-12T18:11:47.023" Title="Is there a space efficient way to represent numbers on the lambda calculus?" Tags="&lt;pl.programming-languages&gt;&lt;lambda-calculus&gt;" AnswerCount="2" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18954" PostTypeId="2" ParentId="18953" CreationDate="2013-09-12T09:38:15.993" Score="11" Body="&lt;p&gt;If I am not mistaken the simulations between Turing machines and $\lambda$-calculus can be accomplished with a polynomial-time slowdown. Of course, for this to make sense we need to specify an evaluation strategy and measure of cost for $\lambda$-calculus but I am sure &lt;a href=&quot;http://research.microsoft.com/en-us/um/people/simonpj/papers/pj-lester-book/&quot;&gt;something reasonable can be found&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You ask about numbers in particular. Of course Church encodings are inefficient but they are only one possibility. In $\lambda$-calculus we can encode finite lists and the constants &lt;code&gt;true&lt;/code&gt; and &lt;code&gt;false&lt;/code&gt;. With these numbers can be encoded in binary as lists of boolean values, which gives an efficient representation. The charm of Church encodings is in their elegance.&lt;/p&gt;&#xA;" OwnerUserId="705" LastActivityDate="2013-09-12T09:38:15.993" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="18958" PostTypeId="1" CreationDate="2013-09-12T12:03:15.140" Score="1" ViewCount="539" Body="&lt;p&gt;According to the Internet, &lt;a href=&quot;http://ieeexplore.ieee.org/xpl/abstractMetrics.jsp?tp=&amp;amp;arnumber=5597971&amp;amp;url=http%3A%2F%2Fieeexplore.ieee.org%2Fxpls%2Fabs_all.jsp%3Farnumber%3D5597971&quot; rel=&quot;nofollow&quot;&gt;there's a way to get an L-system's rules by it's string&lt;/a&gt;, unfortunately I can't read it because it's behind a paywall.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question:&lt;/strong&gt; If that paper is right, is it possible to make an algorithm, based on L-systems, to recursively reduce let's say a blob of 64MB of zeros and ones down to:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;A &lt;strong&gt;&lt;em&gt;&quot;small&quot;&lt;/em&gt; starting axiom&lt;/strong&gt;.&lt;/li&gt;&#xA;&lt;li&gt;A &lt;strong&gt;set of variables/constants/you-name-it&lt;/strong&gt;.&lt;/li&gt;&#xA;&lt;li&gt;A &lt;strong&gt;set of rules&lt;/strong&gt;.&lt;/li&gt;&#xA;&lt;li&gt;The &lt;strong&gt;number n of iterations&lt;/strong&gt; required.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;/Question End&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Compression is all about entropy and something in my guts says this isn't possible, I'd like someone with more experience to confirm it.&lt;/p&gt;&#xA;" OwnerUserId="17597" LastActivityDate="2015-06-20T17:26:18.773" Title="Is it possible a recursive compression algorithm based on L-systems or a variant?" Tags="&lt;ds.algorithms&gt;&lt;computability&gt;" AnswerCount="0" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18959" PostTypeId="1" CreationDate="2013-09-12T12:08:21.287" Score="6" ViewCount="1897" Body="&lt;p&gt;I have a question, but I don't seem to know enough computer science terminology in order to look up an answer. So I wonder if you guys could help a poor physicist like me.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would like to know if Boolean circuits are what I would call universal. By this I mean that, given an infinite number of NAND gates and wires, could I solve any problem on any input?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Equivalently (I think) could I simulate any given instance of a universal Turing machine using some particular Boolean circuit? By 'a given instance' I mean that the action table and input tape are set in stone, so we know exactly what process that our Boolean circuit is to simulate before we start wiring all the NAND's together.&lt;/p&gt;&#xA;" OwnerUserId="17599" LastActivityDate="2019-06-24T09:27:43.880" Title="Are Boolean circuits 'universal'" Tags="&lt;cc.complexity-theory&gt;&lt;circuit-complexity&gt;&lt;boolean-functions&gt;" AnswerCount="3" CommentCount="6" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="18960" PostTypeId="2" ParentId="18959" CreationDate="2013-09-12T12:34:50.397" Score="11" Body="&lt;p&gt;It is important to remark that a specific boolean circuit only treats inputs of a given size, unlike a Turing Machine that can take inputs of any size.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So a language with inputs of arbitrary size is usually treated by a &lt;em&gt;family&lt;/em&gt; of circuits, one for each size of input.&#xA;The problem with this definition is that it allows circuit to solve uncomputable problems, since we could for instance answer 1 if $|x|\in H$ and $0$ if $|x|\notin H$, where $H\subseteq \mathbb N$ is any set. Take for instance $H$ to be an enconding of the halting problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To circumvent this problem, we usually look at &lt;em&gt;uniform&lt;/em&gt; families of circuits, where there is a fixed Turing Machine $M$ which on input $n$ outputs the circuit for size $n$ inputs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is now a hope that circuits are equivalent to Turing machines.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Unfortunately, the model of circuits have computations that always halt (or you can define circuits with loops that never halt but they are useless). This limitation alone suffices to prove that they cannot be Turing complete, because any Turing-complete model must allow infinite computation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However notice that you have a uniform family of circuits for any language that is decided by a total Turing machine: on input $n$ you can build your circuit for size $n$ by listing all inputs of size $n$ accepted by your machine.&#xA;The things that you miss are recursively enumerable languages, such as the Halting problem.&lt;/p&gt;&#xA;" OwnerUserId="8953" LastEditorUserId="8953" LastEditDate="2013-09-12T17:48:32.413" LastActivityDate="2013-09-12T17:48:32.413" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="18961" PostTypeId="2" ParentId="18952" CreationDate="2013-09-12T16:04:15.867" Score="1" Body="&lt;p&gt;Regarding your reference request, I remember the following paper off the top of my head:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Willaim Aiello and Johan Hastad. 1991. Relativized perfect zero knowledge is not BPP. &lt;em&gt;Inf. Comput.&lt;/em&gt; 93, 2 (August 1991), 223-240. &lt;a href=&quot;http://dx.doi.org/10.1016/0890-5401%2891%2990024-V&quot; rel=&quot;nofollow&quot;&gt;http://dx.doi.org/10.1016/0890-5401(91)90024-V&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, to answer your question: Consider any NP-complete language $L$, let $G$ be a generator for a public-key encryption scheme, and define $O$ as a decryption oracle for this encryption system. Finally, let $(P,V)$ be a protocol for proving membership in $L$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Based on $(P,V)$, define the following modified protocol $(P',V')$: In the beginning of the protocol, $P$ uses $G$ and generates a public key pair $(pk,sk)$, and sends $pk$ to $V'$. Moreover, any message exchanged in $(P,V)$ in encrypted using $pk$ in $(P',V')$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The prover can find the decrypted messages using $sk$, and the &lt;strong&gt;honest&lt;/strong&gt; verifier $V'$ can use the oracle $O$ to find the decrpted messages. However, no other verifier $V^*$ can follow the protocol if we disallow their access to $O$. Therefore, the protocol is ZK for any cheating verifier!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In general, I think the definition should allow any verifier to access $O$, to prevent &quot;twisted&quot; protocols such as the one described above. The same holds for the distinguisher and simulator. However, I believe the prover need not necessarily have access to $O$.&lt;/p&gt;&#xA;" OwnerUserId="873" LastEditorUserId="873" LastEditDate="2013-09-12T16:42:37.833" LastActivityDate="2013-09-12T16:42:37.833" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="18962" PostTypeId="1" AcceptedAnswerId="18967" CreationDate="2013-09-12T17:40:56.930" Score="11" ViewCount="765" Body="&lt;p&gt;Most proof assistants have a formalization of the concept of &quot;finite set&quot;.  These formalizations, however, differ wildly (although one hopes that they are all essentially equivalent!).  What I don't understand at this point is the design space involved, and what are the pros and cons of each formalization.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In particular, I would like to understand the following:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Can I axiomatize finite sets (i.e. types inhabited by a finite number of inhabitants) in simple type theory?  System F?  What are the drawbacks of doing it this way?&lt;/li&gt;&#xA;&lt;li&gt;I know it can be done 'elegantly' in a dependently typed system.  But, from a classical point of view, the resulting definitions seem extremely alien.  [I am not saying they are wrong, far from it!].  But I do not understand why they are 'right' either.  I understand that they pick out the &lt;em&gt;correct&lt;/em&gt; concept, but the deeper reason for 'saying it that way' is what I do not fully grasp.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Basically, I would like a reasoned introduction to the design space of formalizations of the concept of 'finite set' in type theory.&lt;/p&gt;&#xA;" OwnerUserId="66" LastActivityDate="2013-09-15T08:27:35.640" Title="Formalizing the theory of finite sets in type theory" Tags="&lt;type-theory&gt;&lt;dependent-type&gt;&lt;finite&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="18963" PostTypeId="2" ParentId="18959" CreationDate="2013-09-12T18:03:30.990" Score="4" Body="&lt;p&gt;I hope this doesn't come across as picking holes in the question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The first point, as raised by dkuper, is that ordinary circuits necessarily implement total functions (every input gives either true or false), whereas Turing machines implement partial functions (inputs lead to acceptance, rejection or &quot;no answer&quot;, i.e., non-termination).  If you want to simulate a Turing machine, you're either going to need to add something to your model of circuits that allows them to compute partial functions, or implement separate circuits for, say, &quot;The machine accepts this input&quot;, &quot;The machine rejects this input&quot; and &quot;The machine doesn't halt on this input.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The second point is, what does it mean to have a circuit with infinitely many gates? Any circuit with an infinite number of gates and a single output gate must have an infinite path and/or a gate with infinite in-degree. What does it mean to evaluate an infinite path? Can that be done in finite time? Is it OK to have a gate with infinite in-degree, given that such a thing couldn't possibly be realised? (OK, the infinite tape of a Turing machine can't be physically realised but it suffices to have a finite amount of tape and promise to add more whenever the head reaches the end.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now let's look at the more specific questions. The version where the Turing machine&amp;nbsp;$M$ and its input&amp;nbsp;$x$ are fixed, is trivial, as are all problems with a finite number of instances (one, in this case).  The circuit is the constant &quot;true&quot; if $M$&amp;nbsp;accepts&amp;nbsp;$x$, the constant &quot;false&quot; if it rejects and, some circuit with no value if it doesn't halt (or whatever you decided to do to represent non-terminating computations in your circuit model).  We know that this circuit exists but, of course, the function that maps $M$ and&amp;nbsp;$x$ to the required circuit is uncomputable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, the case where the circuit's input is (a coding of) the Turing machine and its input. You have to decide how to code that as the input to an infinite circuit. One way would be to code machine and input as a finite binary string and have the infinite sequence of inputs $x_i$ and $y_i$ ($i&amp;gt;0$) to the circuit such that, the circuit evaluates to false if every $y_i=0$ and, otherwise, putting $\ell=\min\{i\mid y_i=1\}$, the sequence $x_1\dots x_{\ell}$ is the binary string coding the input.  Now, take the infinite set&amp;nbsp;$S$ of pairs $(M_j,x_j)$ ($j&amp;gt;0$) such that $M_j$&amp;nbsp;is a machine that accepts input&amp;nbsp;$x_j$. The required circuit is just an infinite disjunction, where the $j$th disjunct says &quot;My input codes $(M_j,x_j)$&quot;; again, you need to deal with non-terminating computations in some way.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Alternatively, you go the more conventional route of having a family of circuits, one for each input length, as described by dkuper.&lt;/p&gt;&#xA;" OwnerUserId="17082" LastActivityDate="2013-09-12T18:03:30.990" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="18964" PostTypeId="2" ParentId="18953" CreationDate="2013-09-12T18:11:47.023" Score="5" Body="&lt;p&gt;To say that Turing machines and the lambda calculus have equivalent power means that they compute/define the same class of functions, which is a pretty coarse-grained equivalence. If you want to consider efficiency, then you've moved from computability theory to complexity theory and you're looking at a finer-grained equivalence.&lt;/p&gt;&#xA;" OwnerUserId="17082" LastActivityDate="2013-09-12T18:11:47.023" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18965" PostTypeId="1" CreationDate="2013-09-12T20:52:27.097" Score="12" ViewCount="608" Body="&lt;p&gt;Recall the continuation passing transform (CPS transform) which takes $A$ to $\beta A \mathrel{{:}{=}} R^{R^A}$ (where $R$ is fixed) and $f : A \to B$ to $\beta f : \beta A \to \beta B$ defined by&#xA;$$\beta \, f \, \kappa \, r \mathrel{{:}{=}} \kappa (r \circ f).$$&#xA;In fact we have the &lt;em&gt;continuation monad&lt;/em&gt; with the unit $\eta_A : A \to \beta A$ defined by&#xA;$$\eta_A x \mathrel{{:}{=}} \lambda r . r \, x$$&#xA;and the multiplication $\mu_A : \beta (\beta A) \to \beta A$ defined by&#xA;$$\mu_A \, K \, r \mathrel{{:}{=}} K (\lambda f . f \, r).$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now let us think about how we can transform a &lt;em&gt;binary&lt;/em&gt; map $f : A \to B \to C$, i.e, we want $\gamma f : \beta A \to \beta B \to \beta C$. One quickly comes up with&#xA;$$\gamma \, f \, \kappa \, \nu \, r \mathrel{{:}{=}}&#xA;   \kappa (\lambda x . \beta (f x) \nu r).$$&#xA;This makes sense from a programming point of view as well.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is my question: is there a deeper reason for $\gamma$, other than the fact that it looks right from a programming point of view? For instance, is there a category-theoretic or other &quot;theoretical&quot; reason for thinking that $\gamma$ makes sense? For instance, can we cook up $\gamma$ from the monad in a systematic way?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am looking for an insight into CPS transforms of $n$-ary functions.&lt;/p&gt;&#xA;" OwnerUserId="705" LastActivityDate="2014-09-18T15:05:08.743" Title="Continuation passing transform of binary functions" Tags="&lt;functional-programming&gt;&lt;monad&gt;&lt;continuations&gt;&lt;cps-transforms&gt;" AnswerCount="2" CommentCount="7" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="18967" PostTypeId="2" ParentId="18962" CreationDate="2013-09-13T12:06:24.410" Score="8" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;I know it can be done 'elegantly' in a dependently typed system. But, from a classical point of view, the resulting definitions seem extremely alien.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Can you explain what you mean by &quot;alien&quot;? It seems to me that you&#xA;formalize the concept of finite set in precisely the same way in &#xA;type theory and in set theory. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In set theory, you proceed by defining the set $Fin(n)$ as &#xA;$$&#xA;  \mathrm{Fin}(n) \triangleq \{ k \in \mathbb{N} \;|\; k &amp;lt; n \}&#xA;$$&#xA;Then, you define the finiteness predicate as:&#xA;$$&#xA;  \mathrm{Finite}(X) \triangleq \exists n\in\mathbb{N}.\; X \simeq \mathrm{Fin}(n)&#xA;$$&#xA;Where $A \simeq B$ means isomorphism of sets. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In type theory, you can do exactly the same thing! &#xA;$$&#xA;  \mathrm{Fin}(n) \triangleq \Sigma k:\mathbb{N}.\; \mathsf{if}\; k &amp;lt; n\,\mathsf{then}\; \mathsf{Unit} \;\mathsf{else}\; \mathsf{Void}&#xA;$$&#xA;Note that $\mathrm{Fin}(n)$ is a type with $n$ elements (since the second component of the pair is&#xA;proof-irrelevant). Then, you can define the finiteness type constructor as:&#xA;$$&#xA;  \mathrm{Finite}(X) \triangleq \Sigma n:\mathbb{N}.\; X \simeq \mathrm{Fin}(n)&#xA;$$&#xA;Where $A \simeq B$ means isomorphism of types. &lt;/p&gt;&#xA;" OwnerUserId="657" LastEditorUserId="657" LastEditDate="2013-09-13T19:20:08.297" LastActivityDate="2013-09-13T19:20:08.297" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18968" PostTypeId="1" CreationDate="2013-09-13T15:26:49.610" Score="27" ViewCount="5566" Body="&lt;p&gt;There is a reputation, that in computer science, we do not have popular science books. Of course that's not really true! &lt;/p&gt;&#xA;&#xA;&lt;p&gt;(In the same spirit of list of &lt;a href=&quot;https://cstheory.stackexchange.com/questions/3253/what-books-should-everyone-read&quot;&gt;What Books Should Everyone Read?&lt;/a&gt;, &lt;a href=&quot;https://cstheory.stackexchange.com/questions/1168/what-papers-should-everyone-read&quot;&gt;What papers should everyone read?&lt;/a&gt;, &lt;a href=&quot;https://cstheory.stackexchange.com/questions/1198/what-videos-should-everybody-watch&quot;&gt;What videos should everybody watch?&lt;/a&gt; and inspired from &lt;a href=&quot;https://mathoverflow.net/questions/8609/favorite-popular-math-book&quot;&gt;Favorite popular math book&lt;/a&gt;)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What are the popular science books or resources that inspire CS Theory?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Please have some description about why the book would be nice.&lt;/p&gt;&#xA;" OwnerUserId="17325" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2021-04-09T14:58:38.857" Title="What are the popular science books that inspire TCS?" Tags="&lt;big-list&gt;&lt;books&gt;" AnswerCount="12" CommentCount="6" FavoriteCount="19" CommunityOwnedDate="2013-09-19T16:54:24.207" ContentLicense="CC BY-SA 3.0" />
  <row Id="18969" PostTypeId="1" CreationDate="2013-09-13T15:56:44.067" Score="15" ViewCount="862" Body="&lt;p&gt;I'm seeking an efficient algorithm for the problem:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;em&gt;Input&lt;/em&gt;: The positive integer &lt;span class=&quot;math-container&quot;&gt;$3^n$&lt;/span&gt; (stored as bits) for some integer &lt;span class=&quot;math-container&quot;&gt;$n \geq 0$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;p&gt;&lt;em&gt;Output&lt;/em&gt;: The number &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;&lt;em&gt;Question&lt;/em&gt;: Can we compute &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt; from the bits of &lt;span class=&quot;math-container&quot;&gt;$3^n$&lt;/span&gt; in &lt;span class=&quot;math-container&quot;&gt;$O(n)$&lt;/span&gt; time?&lt;/p&gt;&#xA;&lt;hr /&gt;&#xA;&lt;p&gt;This is a theoretical question motivated by &lt;a href=&quot;https://math.stackexchange.com/a/492655/91818&quot;&gt;my answer&lt;/a&gt; to a math.SE question &lt;a href=&quot;https://math.stackexchange.com/q/492616/91818&quot;&gt;How to find a formula for this bijection?&lt;/a&gt;.  In this question, the author wanted to find a bijection from &lt;span class=&quot;math-container&quot;&gt;$$\{2^n 3^m: n \geq 0 \text{ and } m \geq 0\}$$&lt;/span&gt; and the natural numbers &lt;span class=&quot;math-container&quot;&gt;$\mathbb{N}=\{1,2,\ldots\}$&lt;/span&gt;.  I proposed &lt;span class=&quot;math-container&quot;&gt;$$2^m 3^n \mapsto 2^m(2n+1)$$&lt;/span&gt; as a solution.  Another answer there asserted &amp;quot;there is no simple formula&amp;quot;, which makes me wonder how (computationally) simple my proposed solution is.&lt;/p&gt;&#xA;&lt;p&gt;With my proposed solution, if we know &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$m$&lt;/span&gt;, we can easily compute &lt;span class=&quot;math-container&quot;&gt;$2^m(2n+1)$&lt;/span&gt; (write the binary digits of &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt; followed by &lt;span class=&quot;math-container&quot;&gt;$1$&lt;/span&gt; followed by &lt;span class=&quot;math-container&quot;&gt;$m$&lt;/span&gt; zeroes).  This takes &lt;span class=&quot;math-container&quot;&gt;$O(n+m)$&lt;/span&gt; time.&lt;/p&gt;&#xA;&lt;p&gt;Finding &lt;span class=&quot;math-container&quot;&gt;$m$&lt;/span&gt; from the bits of &lt;span class=&quot;math-container&quot;&gt;$2^m 3^n$&lt;/span&gt; amounts to finding the least significant bit (which can be computed by counting right bit shifts, leaving &lt;span class=&quot;math-container&quot;&gt;$3^n$&lt;/span&gt; in memory).  This takes &lt;span class=&quot;math-container&quot;&gt;$O(m)$&lt;/span&gt; time.&lt;/p&gt;&#xA;&lt;p&gt;However, we also need to find &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt;, which might be more difficult.  It would be possible to find &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt; by repeatedly dividing by &lt;span class=&quot;math-container&quot;&gt;$3$&lt;/span&gt;, but this seems wasteful.  It requires &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt; division operations, each of which will take &lt;span class=&quot;math-container&quot;&gt;$O(n)$&lt;/span&gt; time, so this is &lt;span class=&quot;math-container&quot;&gt;$O(n^2)$&lt;/span&gt; time in total.  [Actually, the after each iteration, the number of digits will decrease linearly, but this still results in &lt;span class=&quot;math-container&quot;&gt;$O(n^2)$&lt;/span&gt; time.]&lt;/p&gt;&#xA;&lt;p&gt;It seems like we should be able to exploit knowing the input is a power of &lt;span class=&quot;math-container&quot;&gt;$3$&lt;/span&gt;.&lt;/p&gt;&#xA;" OwnerUserId="17614" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2020-08-03T01:17:37.277" Title="Can we compute $n$ from the bits of $3^n$ in $O(n)$ time?" Tags="&lt;ds.algorithms&gt;&lt;time-complexity&gt;" AnswerCount="3" CommentCount="5" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="18971" PostTypeId="1" AcceptedAnswerId="18975" CreationDate="2013-09-13T16:52:53.710" Score="5" ViewCount="264" Body="&lt;p&gt;Consider the language $L=\{1^n : n \text{ is prime}\}$. Is this language NLOGSPACE-Hard?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The motivation for this question is that $L$ is a good candidate for reducing to other languages related to my automata research.&lt;/p&gt;&#xA;" OwnerUserId="13736" LastActivityDate="2013-09-13T18:39:07.700" Title="Is the primality problem with unary input NLOGSPACE-Hard?" Tags="&lt;cc.complexity-theory&gt;&lt;comp-number-theory&gt;&lt;space-complexity&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18975" PostTypeId="2" ParentId="18971" CreationDate="2013-09-13T18:20:49.437" Score="8" Body="&lt;p&gt;This language is in $\mathsf{LOGSPACE}$ via trial division. It is also known logarithmic space is neccessary ([1]). For a generalization to sparse sets, see &lt;a href=&quot;https://cstheory.stackexchange.com/questions/16185&quot;&gt;bounded language complete for NSPACE(log n)?&lt;/a&gt;. For hardness in binary case, see &lt;a href=&quot;https://cstheory.stackexchange.com/questions/8000/are-the-problems-primes-factoring-known-to-be-p-hard&quot;&gt;Are the problems PRIMES, FACTORING known to be P-hard?&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] J. Hartmanis, L. Berman, On tape bounds for single letter alphabet language processing. Theoretical Computer Science vol. 3 &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/0304397576900244&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://www.sciencedirect.com/science/article/pii/0304397576900244&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="1886" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2013-09-13T18:39:07.700" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18976" PostTypeId="2" ParentId="18968" CreationDate="2013-09-13T18:22:31.737" Score="5" Body="&lt;p&gt;The obvious answer would be Lance Fortnow's book &lt;a href=&quot;http://press.princeton.edu/titles/9937.html&quot;&gt;&lt;em&gt;The Golden Ticket&lt;/em&gt;&lt;/a&gt; but I can't say anything more about it, as I've not read it myself.  (If somebody has read it and wants to say more, please leave a separate answer and I'll delete this one.)&lt;/p&gt;&#xA;" OwnerUserId="17082" LastActivityDate="2013-09-13T18:22:31.737" CommentCount="2" CommunityOwnedDate="2013-09-19T16:54:24.207" ContentLicense="CC BY-SA 3.0" />
  <row Id="18977" PostTypeId="2" ParentId="18969" CreationDate="2013-09-13T21:08:19.653" Score="13" Body="&lt;p&gt;The obvious approach is:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(1) Compute an approximation to $\log_2(3^n)$. You can approximate it to within an additive error of 1 by counting the number of bits in the given binary representation, and to within an additive error of $\epsilon$ by additionally looking at the top $O(\log\frac{1}{\epsilon})$ bits of the input. It should suffice to choose a constant value of $\epsilon$, so that (after combining with the error in step (2)) the final result ends up within an additive error of $1/2$ of correct.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(2) Compute an approximation to $\log_2(3)$. I'm not familiar with the algorithms for this but I expect they take time polynomial in the number of bits of precision you need, and you only need $O(\log n)$ bits of precision.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(3) Divide the answer to (1) by the answer to (2), and round to the nearest integer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So the first step takes linear time (in most models of computation although maybe not for some underpowered ones like &lt;a href=&quot;https://cstheory.stackexchange.com/questions/18980/computing-input-length-on-a-one-tape-turing-machine&quot;&gt;single-head Turing machines&lt;/a&gt;) and the remaining steps should be polylogarithmic.&lt;/p&gt;&#xA;" OwnerUserId="95" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2013-09-13T22:17:33.807" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="18978" PostTypeId="2" ParentId="18968" CreationDate="2013-09-13T21:22:13.280" Score="23" Body="&lt;p&gt;I know of many theoretical computer scientists whose first inspiration came from reading &lt;a href=&quot;http://en.wikipedia.org/wiki/G%C3%B6del,_Escher,_Bach&quot; rel=&quot;noreferrer&quot;&gt;Godel, Escher, Bach&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Its becoming a bit dated at this point, but is still an excellent read. &lt;/p&gt;&#xA;" OwnerUserId="25" LastEditorUserId="1037" LastEditDate="2013-09-20T20:15:58.740" LastActivityDate="2013-09-20T20:15:58.740" CommentCount="7" CommunityOwnedDate="2013-09-19T16:54:24.207" ContentLicense="CC BY-SA 3.0" />
  <row Id="18979" PostTypeId="2" ParentId="18968" CreationDate="2013-09-13T21:46:42.203" Score="15" Body="&lt;p&gt;After clarifying the (unclear for me) meaning of &quot;popular science&quot; (thanks Sasho :-) I propose:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Title:&lt;/strong&gt; Winning Ways for Your Mathematical Plays (4 volumes)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Authors:&lt;/strong&gt;  Elwyn R. Berlekamp, John H. Conway, Richard K. Guy&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Description:&lt;/strong&gt; it can be considered a compendium of information on mathematical games (tons of games are analyzed: coin and paper-and-pencil games, Soma, Rubik's Cube, mechanical wire and string puzzles, sliding block puzzles, magic squares, Life). It is easy enough to please any fan of recreational mathematics or simply anyone who is interested in games and how to play them well; but I think that it has also been &lt;a href=&quot;http://citeseer.uark.edu:8080/citeseerx/showciting;jsessionid=589CCA846028E7D910E4660BF37854CE?cid=68471&amp;amp;sort=recent&quot;&gt;a source of inspiration&lt;/a&gt; for many deeper results in &lt;a href=&quot;http://en.wikipedia.org/wiki/Combinatorial_game_theory&quot;&gt;combinatorial game theory&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Addendum&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is not a book, but I think that the Martin Gardner's 'Mathematical Games and Recreations' column for Scientific American &lt;strong&gt;must&lt;/strong&gt; be cited.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Resource:&lt;/strong&gt;  The 'Mathematical Games and Recreations' column for Scientific American&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Author:&lt;/strong&gt; Martin Gardner&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Description:&lt;/strong&gt; for 25 of his 95 years, Martin Gardner wrote 'Mathematical Games and Recreations', a monthly column for Scientific American magazine. These columns have inspired hundreds of thousands of readers to delve more deeply into the large world of mathematics. He has also made significant contributions to magic, philosophy, debunking pseudoscience, and children's literature. Many Martin Gardner's books are collections of informative extracts from his Scientific American column (e.g. Fractal Music, Hypercards and More...: Mathematical Recreations from Scientific American Magazine, Wheels, Life and Other Mathematical Amusements, ecc. ecc.).&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2013-09-14T12:14:03.513" LastActivityDate="2013-09-14T12:14:03.513" CommentCount="1" CommunityOwnedDate="2013-09-19T16:54:24.207" ContentLicense="CC BY-SA 3.0" />
  <row Id="18980" PostTypeId="1" AcceptedAnswerId="18997" CreationDate="2013-09-13T22:16:18.223" Score="14" ViewCount="3506" Body="&lt;p&gt;In connection with &lt;a href=&quot;https://cstheory.stackexchange.com/questions/18969/can-we-compute-n-from-the-binary-digits-of-3n-in-on-time&quot;&gt;this question&lt;/a&gt; it occurred to me to wonder: what is the time complexity&#xA;for a single-tape single-head Turing machine to compute the length of its input? To be specific, let's say that the tape alphabet is $\{0,1,b\}$, the input is a string in $(0+1)^*$ surrounded by blanks, the machine starts at the leftmost input symbol, and it must terminate at the leftmost symbol of a string in $(0+1)^*$ (again surrounded by blanks) that gives the binary representation of the input length. This can also be thought of as the problem of converting a number from unary to binary.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's easy to solve this on a two-tape machine or two-head machine in linear time (just scan the input with one head while using the other head to repeatedly increment a counter; incrementing is a constant amortized time operation). But the single-head solutions I can come up with are only $O(n\log n)$ (e.g. repeatedly increment a counter and then shift it by one position along the tape). Is there a matching lower bound?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I tried some searches but phrases like &quot;one head&quot; and &quot;input length&quot; are so common as to make it difficult to search the literature for known results on this problem.&lt;/p&gt;&#xA;" OwnerUserId="95" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.743" LastActivityDate="2013-09-17T13:23:41.467" Title="Computing input length on a one-tape Turing machine" Tags="&lt;turing-machines&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="18981" PostTypeId="2" ParentId="18969" CreationDate="2013-09-13T22:42:20.327" Score="12" Body="&lt;p&gt;For any integer $n&amp;gt;0$, writing $3^n$ in binary requires exactly $L = \lceil \log_2(3^n)+1\rceil$ bits.  Some elementary algebra implies that&#xA;$$&#xA;\frac{L-2}{\log_2 3} \le n \le \frac{L-1}{\log_2 3}.&#xA;$$&#xA;For any bit length $L\ge 1$, there is at most one integer in this range.  Thus, given an integral power of $3$ that is $L$ bits long, the exponent must be the integer&#xA;$$&#xA;n = \left\lfloor\frac{L-1}{\log_2 3}\right\rfloor.&#xA;$$&lt;/p&gt;&#xA;" OwnerUserId="111" LastActivityDate="2013-09-13T22:42:20.327" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18982" PostTypeId="2" ParentId="18969" CreationDate="2013-09-13T23:11:27.703" Score="7" Body="&lt;p&gt;Here is another approach.  Given the low $k$ digits of $3^n$, you can learn $3^n \bmod 10^k$ and thus $3^n \bmod 5^k$.  It looks like $3$ is a generator modulo $5^k$ (i.e., $3$ has order $\varphi(5^k)=5^{k-1} \times 4$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Therefore, by using discrete log and Hensel lifting, I think you should be able to compute $n \bmod \varphi(5^k)$ from the low $k$ digits of $3^n$ very efficiently.  In other words, you start by computing $n \bmod 4$ from the low digit of $3^n$, by taking the discrete log of $3^n \bmod 5$ to the base $3$, modulo $5$; this reveals $n \bmod 4$, and can be done in $O(1)$ time.  Then, you find the discrete log of $3^n \bmod 25$ to the base $e$, modulo $25$; this reveals $n \bmod 20$, and can be done in $O(1)$ time (taking advantage of the knowledge of $n \bmod 4$, there are only $5$ possibilities you have to try).  Iterate.  At each step, you use the knowledge of $n \bmod \varphi(5^{k-1})$ to help you efficiently compute the discrete log of $3^n \bmod 5^k$, making use of the fact that there are only $5$ possible values for $n \bmod \varphi(5^k)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now just let $k$ be large enough, and this reveals $n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You'll need to work out whether the running time is $O(n)$, but it looks to me like it might be.  I suspect it's enough to let $k=O(n)$, and I suspect you can do each iteration in $O(1)$ time, for a total of $O(n)$ time.&lt;/p&gt;&#xA;" OwnerUserId="5038" LastActivityDate="2013-09-13T23:11:27.703" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18983" PostTypeId="2" ParentId="18968" CreationDate="2013-09-13T23:32:02.653" Score="2" Body="&lt;p&gt;I was inspired by Stephen Wolfram's &lt;a href=&quot;http://wolframscience.com/&quot; rel=&quot;nofollow&quot;&gt;A New Kind of Science&lt;/a&gt;.  If I understand correctly, one of the main themes of the book is that whereas the main tool in science used to be mathematics (in particular, systems of partial differential equations), the main tool will soon be computer science (in particular, cellular automata).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;i&gt;Edit&lt;/i&gt;:  It has been pointed out in the comments below that the book is controversial.  I quote &lt;a href=&quot;http://arxiv.org/abs/quant-ph/0206089&quot; rel=&quot;nofollow&quot;&gt;a review&lt;/a&gt; by Scott Aaronson:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;[W]ere the book more cautious in its claims and more willing to acknowledge previous work,&#xA;  it would likely be easier for readers to assess what it does offer: a cellular-automaton-based perspective on existing ideas in science.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="16322" LastEditorUserId="16322" LastEditDate="2013-09-17T00:19:07.687" LastActivityDate="2013-09-17T00:19:07.687" CommentCount="15" CommunityOwnedDate="2013-09-18T23:20:00.477" ContentLicense="CC BY-SA 3.0" />
  <row Id="18985" PostTypeId="1" CreationDate="2013-09-14T02:20:10.110" Score="2" ViewCount="444" Body="&lt;p&gt;I am looking for an extension for Levenshtein distance (Edit distance) for multi dimensional strings (2D and 3D). I am not sure if there is a formal definition for multi dimensional or not, but here is what I am talking about:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;1-D string:&lt;/strong&gt; is the regular string&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;2-D string:&lt;/strong&gt; is something like a list of 1-D strings like&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;dfdsfdsfdsf&#xA;dsffgdfdgfdsdaf&#xA;dsfdsf&#xA;fdgfdgfdg&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;N-D string:&lt;/strong&gt; is list of (N-1)-D strings&lt;/p&gt;&#xA;" OwnerUserId="12807" LastActivityDate="2013-09-14T02:20:10.110" Title="extension for Levenshtein distance" Tags="&lt;dynamic-programming&gt;&lt;edit-distance&gt;" AnswerCount="0" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="18991" PostTypeId="2" ParentId="18688" CreationDate="2013-09-14T19:53:20.317" Score="8" Body="&lt;p&gt;My Theory of Comp professor in undergrad started by proving that a single-tape Turing machine can implement a multi-tape Turing machine.  This handles variable declaration: if a program has six variable declarations, then it can be easily implemented on a seven-tape Turing machine (a tape for each variable, and a &quot;register&quot; tape to help perform tasks like arithmetic and equality-checking between tapes).  He then showed how to implement basic FOR and WHILE loops, and at that point we had a basic Turing-complete C-like language.  I found it satisfying, anyways.&lt;/p&gt;&#xA;" OwnerUserId="11051" LastActivityDate="2013-09-14T19:53:20.317" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="18995" PostTypeId="1" CreationDate="2013-09-15T03:16:56.433" Score="2" ViewCount="223" Body="&lt;p&gt;can someone point out to me a solution or give advice on how to formulate as efficiently as possible in terms of number of bits the minimum Steiner tree problem as a 0-1 quadratic optimization problem?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit [Context]: I am trying to find useful applications of quantum optimization (which attacks 0-1 quadratic unconstrained problems) and I thought that the minimum Steiner tree problem was a great starting point.&lt;/p&gt;&#xA;" OwnerUserId="17631" LastEditorUserId="17631" LastEditDate="2013-09-16T07:36:01.480" LastActivityDate="2013-09-16T07:36:01.480" Title="Quadratic Binary Optimization formulation of Steiner Tree problem" Tags="&lt;graph-algorithms&gt;&lt;optimization&gt;&lt;tree&gt;&lt;integer-programming&gt;" AnswerCount="0" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="18996" PostTypeId="1" AcceptedAnswerId="19002" CreationDate="2013-09-15T04:13:37.630" Score="6" ViewCount="310" Body="&lt;p&gt;For an arbitrary string sampled from $\{0,1\}^n$, what would be the probability that the string has a Kolmogorov Complexity $\geq$ length of the string, $n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In other words, how many strings are there in the above set that satisfy the definition of &lt;em&gt;random&lt;/em&gt;, as defined in Kolmogorov Complexity.&lt;/p&gt;&#xA;" OwnerUserId="17325" LastActivityDate="2013-09-15T13:14:21.673" Title="Kolmogorov Complexity of an arbitrary string" Tags="&lt;kolmogorov-complexity&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="18997" PostTypeId="2" ParentId="18980" CreationDate="2013-09-15T06:24:58.837" Score="12" Body="&lt;p&gt;It cannot be computed in time $o(n\lg n)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $M$ be a machine which&#xA;given an input string $x$ &#xA;halts with the size of $x$ &#xA;written in binary on the tape.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We can add a simple (zero-space linear-time) DFA to $M$ &#xA;to check if the size of the input is a power of two:&#xA;just check that the first bit is 1 and the rest is zero.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let's assume that $M$ runs time $o(n \lg n)$. &#xA;Then we can decide in time $o(n \lg n)$ that &#xA;the size of input is a power of two.&#xA;In other words, the following language is &#xA;decidable in $\mathsf{DTime}(n \lg n)$.&#xA;$$L = \{ 0^i \mid \exists k \ i = 2^k\}$$&#xA;It follows from $\mathsf{DTime}(o(n \lg n)) = \mathsf{Reg}$ &#xA;that $L$ should be regular.&#xA;But it is easy to check that the language is not regular.&#xA;So $M$ cannot run in time $o(n \lg n)$.&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2013-09-15T21:36:01.293" LastActivityDate="2013-09-15T21:36:01.293" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="18999" PostTypeId="2" ParentId="18962" CreationDate="2013-09-15T08:27:35.640" Score="6" Body="&lt;p&gt;Let me see if I can add anything useful to Neel's answer. The &quot;design space&quot; for finite sets is much larger constructively that it is classically because various definitions of &quot;finite&quot; need not agree constructively. Various definitions in type theory give slightly different concepts. Here are some possibilities.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Kuratowski finite sets&lt;/em&gt; ($K$-finite) can be characterized as the free $\lor$-semilattices: given a set, type or object $X$, the elements of the free $\lor$-semilattice $K(X)$ can be thougth of as finite subsets of $X$. Indeed, each such element is generated by:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;the neutral element $0$, which corresponds to the empty set, or&lt;/li&gt;&#xA;&lt;li&gt;a generator $x \in X$, which corresponds to the singleton $\lbrace x \rbrace$, or&lt;/li&gt;&#xA;&lt;li&gt;a join $S \lor T$ of two elements, which corresponds to a union.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;An equivalent formulation of $K(X)$ is: $S \subseteq X$ is $K$-finite if, and only if, there exists $n \in \mathbb{N}$ and an &lt;em&gt;surjection&lt;/em&gt; $e : \lbrace 1, \ldots, n \rbrace \to S$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we compare this with Neel's definition we see that he requires a &lt;em&gt;bijection&lt;/em&gt; $e : \lbrace 1, \ldots, n \rbrace \to S$. This amounts to taking those $K$-finite subsets $S \subseteq X$ which have decidable equality: $\forall x, y \in S . x = y \lor x \neq y$. Let us use $D(X)$ for the collection of decidable $K$-finite subsets of $X$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Obviously $K(X)$ is closed under finite unions, but it need not be closed under finite intersections. And $D(X)$ is not closed under any operations. Since people expect that finite sets behave a bit like a &quot;Boolean aglebra without a top&quot; one could also try to define them as the free generalized Boolean algebra ($0$, $\lor$, $\land$ and relative complements $\setminus$), but I actually never heard of such an effort.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;When deciding what the &quot;correct&quot; definition is, you have to pay attention to what you want to do with the finite sets. And there is no single correct definition. For instance, in what sense of &quot;finite&quot; is &lt;a href=&quot;http://msp.org/pjm/2000/196-1/pjm-v196-n1-p10-s.pdf&quot;&gt;the set of complex roots of a polynomial finite&lt;/a&gt;?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See &lt;a href=&quot;http://hal.archives-ouvertes.fr/docs/00/50/39/17/PDF/Coquand_Spiwack_-_2010_-_Constructively_Finite.pdf&quot;&gt;Constructively finite?&lt;/a&gt; by Thierry Coquand and Arnaud Spiwack for a detailed discussion of finiteness. The lesson is that finiteness is far from obvious constructively.&lt;/p&gt;&#xA;" OwnerUserId="705" LastActivityDate="2013-09-15T08:27:35.640" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="19002" PostTypeId="2" ParentId="18996" CreationDate="2013-09-15T13:14:21.673" Score="5" Body="&lt;p&gt;A string $x$ is &lt;em&gt;$c$-compressible&lt;/em&gt; if $K(x) \leq |x| + c$. If $x$ is not compressible by $1$, $x$ is  said to be &lt;em&gt;incompressible&lt;/em&gt; (or &lt;em&gt;random&lt;/em&gt;, if you will).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are $2^n$ bit strings of length $n$, and there are $\sum_{i=0}^{n-1} 2^i = 2^n-1$ descriptions that are of length less than $n$. Because each description describes at most one string, there is at least one incompressible bit string for each length $n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, &lt;em&gt;at least&lt;/em&gt; $2^n-2^{n-c+1}+1$ strings of length $n$ are incompressible by $c$. Once again, at most $2^{n-c+1}-1$ strings of length $n$ are $c$-compressible, because we have at most that many descriptions of length at most $n-c$. Then the remaining $2^n-(2^{n-c+1}-1)$ strings are incompressible by $c$.&lt;/p&gt;&#xA;" OwnerUserId="5693" LastActivityDate="2013-09-15T13:14:21.673" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="19005" PostTypeId="1" CreationDate="2013-09-15T19:23:20.950" Score="6" ViewCount="244" Body="&lt;h1&gt;Question&lt;/h1&gt;&#xA;&#xA;&lt;p&gt;Given the language $L_n = \{ a^n \}$ for a natural number $n \geq 2$. Is there a &lt;em&gt;symbol minimal&lt;/em&gt; context-free grammar $G$ that generates $L_n$ and contains a rule of the form $A \rightarrow aB$ where $A$ and $B$ are non-terminals?&lt;/p&gt;&#xA;&#xA;&lt;h1&gt;Remark&lt;/h1&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Symbol minimal&lt;/em&gt; means that there is no other context-free grammar that generates $L_n$ with fewer characters (symbols) for all rules. For instance, the number of symbols of the rules in $\{ S \rightarrow a, S \rightarrow aS \}$ is 7 (these rules are also minimal for $\{ a \}^+$).&lt;/p&gt;&#xA;&#xA;&lt;h1&gt;Known Results&lt;/h1&gt;&#xA;&#xA;&lt;p&gt;Facts about G (a symbol minimal context-free language for $L_n$) that I have already proved:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The right hand side of the rules of $G$ consist of at least 2 characters (non-terminals and/or terminals) (otherwise it’s easy to find a grammar that has fewer symbols).&lt;/li&gt;&#xA;&lt;li&gt;For each non-terminal of $G$ there exists exactly one rule (can be shown by contradiction).&lt;/li&gt;&#xA;&lt;li&gt;There are no loops in the derivations of $G$ (because $L_n$ is finite).&lt;/li&gt;&#xA;&lt;li&gt;There is an upper bound for the number of symbols: we can trivially generate $L_n$ with the rules $\{ S \rightarrow a^n \}$. We count the number of symbols and get $n + 2$ – that’s an upper bound.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I wrote a program that finds symbol minimal grammars for a specific $n$ by creating all possible grammars generating $L_n$ (there are only a finite number because we have an upper bound). Here are the results for some small $n$:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$n = 2$: $\{ S \rightarrow aa \}$, $4$ symbols&lt;/li&gt;&#xA;&lt;li&gt;$n = 3$: $\{ S \rightarrow aaa \}$, $5$ symbols&lt;/li&gt;&#xA;&lt;li&gt;…&lt;/li&gt;&#xA;&lt;li&gt;$n = 7$: $\{ S \rightarrow aaaaaaa \}$, $9$ symbols&lt;/li&gt;&#xA;&lt;li&gt;$n = 8$: $\{ S \rightarrow a^8\}$, $\{ S \rightarrow AA, A \rightarrow a^4 \}$, $\{ S \rightarrow AAAA, A \rightarrow aa \}$, $10$ symbols&lt;/li&gt;&#xA;&lt;li&gt;$n = 9$: $\{ S \rightarrow AAA, A \rightarrow a^3 \}$, $10$ symbols&lt;/li&gt;&#xA;&lt;li&gt;$n = 10$: $\{ S \rightarrow AA, A \rightarrow a^5 \}$, $\{ S \rightarrow A^5, A \rightarrow aa \}$, $\{ S \rightarrow aA^3, A \rightarrow a^3 \}$, $11$ symbols&lt;/li&gt;&#xA;&lt;li&gt;$n = 11$: $\{ S \rightarrow aAA, A \rightarrow a^5 \}$, $\{ S \rightarrow aA^5, A \rightarrow aa \}$, $\{ S \rightarrow aaA^3, A \rightarrow a^3 \}$, $12$ symbols&lt;/li&gt;&#xA;&lt;li&gt;$n = 12$: $\{ S \rightarrow AAA, A \rightarrow a^4 \}$, $\{ S \rightarrow A^4, A \rightarrow aaa \}$, $11$ symbols&lt;/li&gt;&#xA;&lt;li&gt;$n = 13$: …,  $12$ symbols&lt;/li&gt;&#xA;&lt;li&gt;$n = 14$: …,  $13$ symbols&lt;/li&gt;&#xA;&lt;li&gt;$n = 15$: …,  $12$ symbols&lt;/li&gt;&#xA;&lt;li&gt;$n = 16$: …,  $12$ symbols&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;There are nice „ups and downs“ in the number of symbols, right? I have seen grammars that contain rules like $A \rightarrow aB$ but they were not symbol minimal …&lt;/p&gt;&#xA;" OwnerUserId="9435" LastEditorUserId="109" LastEditDate="2013-09-16T20:20:07.030" LastActivityDate="2017-08-11T14:54:54.807" Title="Investigation of Symbol Minimal Context-Free Grammars for the Language $a^n$" Tags="&lt;fl.formal-languages&gt;&lt;optimization&gt;&lt;context-free&gt;" AnswerCount="2" CommentCount="7" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="19006" PostTypeId="1" AcceptedAnswerId="19036" CreationDate="2013-09-15T21:08:32.093" Score="1" ViewCount="133" Body="&lt;p&gt;Are there a complete decidable $\mathcal{L}$-theory, a formula $\phi$ and a proof of $\phi$ for which the Kolmogorov complexity of the proof of $\phi$ is less than the Kolmogorov complexity of $\phi$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Proofs in the proof systems I have seen so far are of the form:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;i&gt;mathematical reasoning&lt;/i&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;therefore $\phi$&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Hence our intuition tells us that the Kolmogorov complexity of the proof has to be at least the Kolmogorov complexity of $\phi$. But this intuition does not prove any statement formally and it does not exclude the possibility of having a proof system where $p$ would be a proof of $\phi$ while Kolmogorov($p$) &amp;lt; Kolmogorov($\phi$) or even Kolmogorov(&lt;i&gt;mathematical reasoning&lt;/i&gt; concatenate $\phi$) &amp;lt; Kolmogorov($\phi$).&lt;/p&gt;&#xA;" OwnerUserId="10288" LastEditorUserId="10288" LastEditDate="2013-09-16T01:26:31.060" LastActivityDate="2013-09-17T04:14:24.563" Title="Is there an $\mathcal{L}$-theory and a formula $\phi$ for which Kolmogorov(proof($\phi$)) $&lt;$ Kolmogorov($\phi$)?" Tags="&lt;kolmogorov-complexity&gt;&lt;proof-theory&gt;" AnswerCount="2" CommentCount="13" ContentLicense="CC BY-SA 3.0" />
  <row Id="19007" PostTypeId="2" ParentId="18947" CreationDate="2013-09-15T22:46:22.970" Score="2" Body="&lt;p&gt;You can easily generate directly Unique SAT formulas with reasonable size $(|F|&amp;lt;n+2^k)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $m$ be the unique model - say $m$ contains only &quot;0&quot;s (rename the variables later if needed).&lt;br&gt;&#xA;Let $F$ a $k$-SAT formula satisfied only by $m$ - the maximum size of $F$ is the total number of clauses satisfied by $m$ i.e. $(2^k-1) \binom{n}{k}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Take the $\binom{k}{1}$ clauses that eliminate all models assigning exactly one &quot;1&quot; among $x_1,x_2 \ldots x_k$:&lt;br&gt;&#xA;$(\lnot x_1, x_2 \ldots x_k)(x_1, \lnot x_2 \ldots x_k)\ldots (x_1,x_2 \ldots \lnot x_k)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Take the $\binom{k}{2}$ clauses that eliminate all models assigning exactly two &quot;1&quot; among $x_1,x_2 \ldots x_k$:&lt;br&gt;&#xA;$(\lnot x_1, \lnot x_2, x_3 \ldots x_k)(\lnot x_1,x_2, \lnot x_3 \ldots x_k)\ldots (x_1,x_2 \ldots \lnot x_{k-1} \lnot x_k)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Keep going until taking the only $\binom{k}{k}$ clause that eliminates all models assigning &quot;1&quot; to each variables among $x_1,x_2 \ldots x_k$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The only models which are not yet eliminated assign all $x_1,x_2 \ldots x_k$ to &quot;0&quot;. Since $m$ is a model, then take any set of $n-k$ clauses that eliminate all models assigning &quot;1&quot; to $x_i (k&amp;lt;i\leq n)$ and $0$ to any $k-1$ variables among $x_1,x_2 \ldots x_k$, for instance:&lt;br&gt;&#xA;$(\lnot x_{k+1}, x_1 \ldots, x_{k-1}) \ldots (\lnot x_n, x_1 \ldots x_{k-1})$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then $|F|=\sum_{i=1}^k \binom{k}{i} +n-k = 2^k-1+n-k$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To get more clauses, add any clause containing at least one negated variable. To get an unsatisfiable formula, just add a clause with $k$ unnegated variables.&lt;/p&gt;&#xA;" OwnerUserId="6346" LastEditorUserId="6346" LastEditDate="2013-09-18T06:01:45.117" LastActivityDate="2013-09-18T06:01:45.117" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19008" PostTypeId="2" ParentId="18688" CreationDate="2013-09-16T06:34:30.683" Score="5" Body="&lt;p&gt;The LLVM compiler allows one to fairly straightforwardly &quot;plug in&quot; a new architecture.  They call this &lt;em&gt;writing a new back-end&lt;/em&gt;, and give &lt;a href=&quot;http://llvm.org/docs/WritingAnLLVMBackend.html&quot;&gt;detailed instructions and examples&lt;/a&gt; for how to do it. I suspect that you will have to jump through some hoops with respect to random access memory, if you do not wish to target a RAM Turing machine, but this is definitely doable, as I've seen a number of projects that cause LLVM to generate VHDL or other very different machine languages. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This would have the interesting effect of having a state-of-the-art optimizing compiler (in many ways LLVM is more advanced than GCC) generating code for a Turing machine.&lt;/p&gt;&#xA;" OwnerUserId="10977" LastActivityDate="2013-09-16T06:34:30.683" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19010" PostTypeId="1" CreationDate="2013-09-16T12:30:25.517" Score="22" ViewCount="2129" Body="&lt;p&gt;I am looking for a concise introductory text on algorithms with a high ratio $$\frac{\mbox{theory covered}}{\mbox{total number of pages}}.$$ It should begin at the beginning but then progress quickly without spending too much time on real world examples, elementary proof techniques, etc. As a research mathematician I have a solid background in mathematics which I happily employ to understand formalisms and condensed proofs, for example.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Do there exist such texts? Any recommendations?&lt;/p&gt;&#xA;" OwnerUserId="9735" LastActivityDate="2013-09-17T17:22:31.803" Title="Concise introduction to algorithms for mathematicians" Tags="&lt;ds.algorithms&gt;" AnswerCount="8" CommentCount="1" FavoriteCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="19013" PostTypeId="1" AcceptedAnswerId="19066" CreationDate="2013-09-16T13:33:00.480" Score="4" ViewCount="311" Body="&lt;p&gt;It's been known for a long time that any claim in NP has a zero-knowledge proof for it. Has anybody actually implemented a zero-knowledge proof system for a NP-complete language? Using a search engine, the most relevant thing I could find is this:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;www.usenix.org/event/sec10/tech/full_papers/Meiklejohn.pdf&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm not exactly sure what the scope of ZKPDL, but it looks like it's a combination of many special-purpose zero-knowledge protocols, and that it is not intended to NP-complete. It might turn out to be NP-complete with clauses like &quot;x in [0,1]&quot; and &quot;x*y=z&quot; allowing a reduction from SAT to the languages described there. However, the reduction doesn't seem natural or efficient.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The reason I'm asking this is that I'm currently working on an implementation of a NP-complete zero-knowledge protocol and I want to know what the prior work is.&lt;/p&gt;&#xA;" OwnerUserId="1858" LastActivityDate="2013-09-18T05:36:09.743" Title="Are there any implementations for zero-knowledge proofs of NP-complete problems?" Tags="&lt;zero-knowledge&gt;&lt;implementation&gt;&lt;np-complete&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19014" PostTypeId="2" ParentId="19010" CreationDate="2013-09-16T13:59:31.147" Score="24" Body="&lt;p&gt;I like this textbook very much:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Sanjoy Dasgupta, Christos Papadimitriou, and Umesh Vazirani: &lt;strong&gt;Algorithms&lt;/strong&gt;&lt;br&gt;&#xA;Published by &lt;a href=&quot;http://highered.mcgraw-hill.com/sites/0073523402/&quot;&gt;McGraw-Hill&lt;/a&gt; 2007. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I don't calculate your suggested ratio but I think you will also like it :)&lt;/p&gt;&#xA;" OwnerUserId="13136" LastActivityDate="2013-09-16T13:59:31.147" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="19015" PostTypeId="2" ParentId="19005" CreationDate="2013-09-16T14:00:59.643" Score="3" Body="&lt;p&gt;First, let me add some more to the known results section, specific to your question.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;$B$ must occur in another RHS than $A\rightarrow aB$, or we could just copy the rule that has $B$ on the LHS instead of $B$ to the above rule to get a smaller system.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;In any other RHS that has $B$, there can be no terminal symbol because instead of $aB$ we could write $A$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;$A$ must occur at least $4$ times on the RHS, otherwise, we could just write $aB$ instead of it.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;This already shows that $n$ will be quite large that satisfies these. However, I think such an $n$ might exist. Below I give a set of rules for $n=93$ with $28$ symbols and I challenge all to make a smaller system! (If the challenge is too easy, generalize it in the obvious way...)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$S\rightarrow AAAACCC$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$A\rightarrow aB$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$B\rightarrow aaa$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$C\rightarrow DDD$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$D\rightarrow BBB$&lt;/p&gt;&#xA;&#xA;&lt;h1&gt;Update&lt;/h1&gt;&#xA;&#xA;&lt;p&gt;Well, this is not optimal for any $n$ as shown by Peter in the comment...&lt;/p&gt;&#xA;" OwnerUserId="419" LastEditorUserId="419" LastEditDate="2013-09-16T18:46:31.400" LastActivityDate="2013-09-16T18:46:31.400" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="19016" PostTypeId="2" ParentId="19010" CreationDate="2013-09-16T15:47:22.410" Score="-5" Body="&lt;p&gt;try &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0470090952&quot; rel=&quot;nofollow&quot;&gt;Concise encyclopedia of computer science&lt;/a&gt;, Wiley. unfortunately a complete/thorough table of contents for this ref does not seem to be available on the web [a somewhat unusual omission nowadays, maybe Wiley could correct this on request] but the complete &lt;em&gt;index&lt;/em&gt; appears to be browsable on amazon. it has coverage that is much broader than TCS such as hardware concepts etc, but it appears to cover significant parts of TCS eg:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Information and Data&lt;/li&gt;&#xA;&lt;li&gt;Software&lt;/li&gt;&#xA;&lt;li&gt;Mathematics of Computing&lt;/li&gt;&#xA;&lt;li&gt;Theory of Computation&lt;/li&gt;&#xA;&lt;li&gt;Methodologies&lt;/li&gt;&#xA;&lt;li&gt;Applications&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;it is a 902pp abridged version of the complete encyclopedia, &lt;a href=&quot;http://www.wiley.com/WileyCDA/WileyTitle/productCd-0470864125.html&quot; rel=&quot;nofollow&quot;&gt;Encyclopedia of Computer Science, 4th Edition&lt;/a&gt;, 2064pp&lt;/p&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2013-09-16T15:47:22.410" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="19017" PostTypeId="2" ParentId="19010" CreationDate="2013-09-16T16:14:22.527" Score="8" Body="&lt;p&gt;Knuth's &quot;&lt;a href=&quot;http://en.wikipedia.org/wiki/The_Art_of_Computer_Programming&quot;&gt;The Art of Computer Programming&lt;/a&gt;&quot; would probably be &lt;em&gt;the&lt;/em&gt; book with the highest ratio. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you want a more textbook style book then Cormen, Leiserson, Rivest, and Stein's &quot;&lt;a href=&quot;http://en.wikipedia.org/wiki/Introduction_to_Algorithms&quot;&gt;Introduction to Algorithms&lt;/a&gt;&quot; would be my suggestion to a mathematician.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are also many lecture notes and a few Wikibooks on algorithms.&lt;/p&gt;&#xA;" OwnerUserId="186" LastActivityDate="2013-09-16T16:14:22.527" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="19018" PostTypeId="1" CreationDate="2013-09-16T16:30:10.030" Score="4" ViewCount="178" Body="&lt;p&gt;I am looking for a study that has examined whether and under which conditions (if any), an infinite and of possibly infinite horizon two person zero sum extensive form game with perfect information and finite discrete action space, has a value. I would appreciate very much any tips.&lt;/p&gt;&#xA;" OwnerUserId="17646" LastActivityDate="2013-10-17T14:20:34.553" Title="Existence of equilibria in infinite two players zero sum extensive form games with perfect information" Tags="&lt;gt.game-theory&gt;" AnswerCount="3" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="19019" PostTypeId="2" ParentId="18899" CreationDate="2013-09-16T16:43:27.610" Score="1" Body="&lt;p&gt;There is a very classic connection between logic and algebra, which goes back to the origin of modern logic and the work of George Boole. A formula in propositional logic can be interpreted as an element of a Boolean algebra. The logical constants &lt;em&gt;true&lt;/em&gt; and &lt;em&gt;false&lt;/em&gt; become the algebraic notions of the top and bottom element of a lattice. The logical operations of conjunction, disjunction and negation will become the algebraic operations of meet, join and complementation in the Boolean algebra. This connection is less emphasised in modern treatments of logic, but it is particularly interesting in the context of your question. Algebra allows us to move away from many problem specific details and find generalisations of a problem that will apply to many different situations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the specific case of SAT, the algebraic question one may ask is what happens when we interpret formulae in more general lattices than Boolean algebras. On the logical side, you can generalise the satisfiability problem from propositional logic to intuitionistic logic. More generally, you can generalise the propositional satisfiability problem to that of determining if a formula, when interpreted over a bounded lattice (one with top and botto), defines the bottom element of the lattice. This generalisation allows you to treat problems in program analysis as satisfiability problems.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another generalisation is to quantifier-free first-order logic where you get the question of Satisfiability Modulo a Theory. Meaning, in addition to having Boolean variables, you also have first-order variables and function symbols and you want to know if a formula is satisfiable. At this point you can ask questions about formulae in arithmetic, theories of strings, or arrays, etc. So we get a strict and very useful generalisation of SAT which has lots of applications in systems, computer security, programming languages, program verification, planning, artificial intelligence, etc.&lt;/p&gt;&#xA;" OwnerUserId="4155" LastActivityDate="2013-09-16T16:43:27.610" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19021" PostTypeId="2" ParentId="19010" CreationDate="2013-09-16T18:27:02.133" Score="5" Body="&lt;p&gt;I'd go for &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/3642244874&quot;&gt;Combinatorial Optimization: Theory and Algorithms - Korte &amp;amp; Vygen&lt;/a&gt;. It will go you a good overview of algorithms with a constant focus on optimization. This book is intended for those with a heavy math inclination IMHO.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This would go well with Algorithms: Dasgupta &amp;amp; Papdimitrou, I believe.&lt;/p&gt;&#xA;" OwnerUserId="7014" LastActivityDate="2013-09-16T18:27:02.133" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19022" PostTypeId="1" CreationDate="2013-09-16T20:15:48.227" Score="1" ViewCount="39" Body="&lt;p&gt;In order to compare the descriptional complexity of context-free and (combinatoric) categorical I need a way to check if a categorical grammar of a formal language is minimal concerning lexical entries. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any ideas on how to do that? Any work on this, that you might know of?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks!&lt;/p&gt;&#xA;" OwnerUserId="17650" LastActivityDate="2013-09-16T20:15:48.227" Title="Determine whether a categorical grammar is minimal concerning lexical entries" Tags="&lt;fl.formal-languages&gt;&lt;grammars&gt;&lt;minimization&gt;" AnswerCount="0" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="19023" PostTypeId="5" CreationDate="2013-09-16T20:45:42.627" Score="0" Body="" OwnerUserId="-1" LastEditorUserId="-1" LastEditDate="2013-09-16T20:45:42.627" LastActivityDate="2013-09-16T20:45:42.627" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19024" PostTypeId="4" CreationDate="2013-09-16T20:45:42.627" Score="0" Body="Questions regarding the treewidth of graphs. Graphs of low treewidth admit &#xD;&#xA;fast divide-and-conquer algorithms for many graph problems that are NP-hard &#xD;&#xA;on general graphs.  " OwnerUserId="2367" LastEditorUserId="2367" LastEditDate="2013-09-16T21:15:48.193" LastActivityDate="2013-09-16T21:15:48.193" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19025" PostTypeId="5" CreationDate="2013-09-16T20:53:22.217" Score="0" Body="" OwnerUserId="-1" LastEditorUserId="-1" LastEditDate="2013-09-16T20:53:22.217" LastActivityDate="2013-09-16T20:53:22.217" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19026" PostTypeId="4" CreationDate="2013-09-16T20:53:22.217" Score="0" Body="Every randomized algorithm can be simulated by a deterministic algorithm, &#xD;&#xA;at the expense of an exponential increase in running time. &#xD;&#xA;Derandomization is about converting randomized algorithms into efficient &#xD;&#xA;deterministic algorithms. " OwnerUserId="2367" LastEditorUserId="32711" LastEditDate="2018-11-07T01:36:44.900" LastActivityDate="2018-11-07T01:36:44.900" CommentCount="0" ContentLicense="CC BY-SA 4.0" />
  <row Id="19027" PostTypeId="5" CreationDate="2013-09-16T20:58:03.283" Score="0" Body="" OwnerUserId="-1" LastEditorUserId="-1" LastEditDate="2013-09-16T20:58:03.283" LastActivityDate="2013-09-16T20:58:03.283" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19028" PostTypeId="4" CreationDate="2013-09-16T20:58:03.283" Score="0" Body="Questions about deterministic finite automata" OwnerUserId="2367" LastEditorUserId="2367" LastEditDate="2013-09-16T21:15:53.727" LastActivityDate="2013-09-16T21:15:53.727" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19031" PostTypeId="2" ParentId="19010" CreationDate="2013-09-17T01:12:45.460" Score="0" Body="&lt;p&gt;here are two other refs that may be helpful.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://algs4.cs.princeton.edu/home/&quot; rel=&quot;nofollow&quot;&gt;Algorithms by Sedgewick&lt;/a&gt; you said &quot;introductory&quot;; this book is sometimes used in undergraduate CS classes, although it could be used in some graduate classes. Sedgewick has other very technical refs on TCS and some of this mathematical style is reflected in Algorithms and its a generally succinct style. the coverage is very central to (T)CS (but not so much in advanced areas). also wrt &quot;influences&quot; note he did his Phd thesis under Knuth.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Computers_and_Intractability%3a_A_Guide_to_the_Theory_of_NP-Completeness&quot; rel=&quot;nofollow&quot;&gt;Computers and intractability, a guide to the theory of NP completeness&lt;/a&gt; an older but still very relevant ref. it focuses on NP completeness of course but in many ways &quot;thats where a lot of the action is&quot;. the scope is broad and will probably be appealing to mathematicians in that it is focused on many mathematical objects eg graphs etc, and note theres a section on number theory. as wikipedia states&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;The book is now outdated in some respects as it does not cover more recent development such as the PCP theorem. It is nevertheless still in print and is regarded as a classic: in a 2006 study, the CiteSeer search engine listed the book as the most cited reference in computer science literature.[3]&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2013-09-17T01:12:45.460" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19032" PostTypeId="2" ParentId="18968" CreationDate="2013-09-17T01:29:20.110" Score="13" Body="&lt;p&gt;Scott Aaronson's &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0521199565&quot; rel=&quot;noreferrer&quot;&gt;Quantum Computing Since Democritus&lt;/a&gt;. This book is an excellent introduction to theoretical computer science and quantum computing for layman as well as begining students of theoretical computer science. Unlike other pop science books this book is rigorous as well. &lt;/p&gt;&#xA;" OwnerUserId="13154" LastEditorUserId="13154" LastEditDate="2013-09-20T09:20:35.510" LastActivityDate="2013-09-20T09:20:35.510" CommentCount="0" CommunityOwnedDate="2013-09-19T16:54:24.207" ContentLicense="CC BY-SA 3.0" />
  <row Id="19033" PostTypeId="2" ParentId="19006" CreationDate="2013-09-17T02:08:57.747" Score="2" Body="&lt;p&gt;In most &quot;standard&quot; proof systems, the formula $\varphi$ being proved is usually part of the proof itself by definition of the proof system, in which case for all $\varphi$, $K(\varphi) \leq K(\text{proof}) + O(1)$ (the extra constant is for the part of the program which says, basically, &quot;extract the last line of the proof&quot; - anyways, additive $O(1)$ errors are the best one can hope for in Kolmogorov complexity). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Even in a proof system where all that is required is that the formula $\varphi$ appear somewhere amongst the lines of the proof $\pi$, one can still get $K(\varphi) \leq K(\pi) + O(\log|\pi|)$, where here the extra $\log|\pi|$ bits are used to describe the index $i$ of the line of the proof that corresponds to $\varphi$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the much more general Cook-Reckhow style of proof system (or its computable analog) - that is, a polynomial-time computable function $f$ (resp., just a computable function $f$) whose range is exactly the set of true sentences of your theory - again, $K(\varphi) \leq K(\text{proof}) + O(1)$, where here the $O(1)$ extra bits describe the function $f$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Note that the trick of hard-coding certain tautologies into your proof system, pointed out by Kaveh, is handled by this latter case, as the hard-coded tautologies must be encoded directly into $f$, so they contribute to/are handled by the $O(1)$.)&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2013-09-17T02:08:57.747" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19034" PostTypeId="2" ParentId="19010" CreationDate="2013-09-17T03:37:26.840" Score="17" Body="&lt;p&gt;Jeff Erickson will not say this himself, but &lt;a href=&quot;http://www.cs.uiuc.edu/~jeffe/teaching/algorithms/&quot;&gt;his online lecture notes&lt;/a&gt; are among the best out there to cover the basics of algorithm design at a level that doesn't patronize the reader. I use them in my grad algorithms class, and for a research mathematician, these notes convey the right kind (and level) of intuition, allowing you to fill in the details yourself easily. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2013-09-17T03:37:26.840" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19035" PostTypeId="2" ParentId="18947" CreationDate="2013-09-17T03:47:38.043" Score="6" Body="&lt;p&gt;You might consider the algorithms that are used for generating Sudoku puzzles - presumably generalized to $n \times n$ - since (usually) Sudoku puzzles are supposed to have a unique solution. On the other hand, Sudoku puzzles are also usually &lt;em&gt;guaranteed&lt;/em&gt; to have at least one solution... But finding that solution could still be a good benchmark for your solver.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You might use a Sudoku-generator together with a reduction to SAT, or you might think about how to apply the techniques used in Sudoku generation to more directly generate Unique SAT instances. For the former, obviously your SAT instances will have some structure, but it's unclear to me whether it's more or less structure than e.g. planting a solution or using the witness isolation technique. Probably depends on your needs and your solver.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The one reference I know of here is: &lt;a href=&quot;http://zhangroup.aporc.org/images/files/Paper_3485.pdf&quot;&gt;Sudoku Puzzles Generating: from Easy to Evil&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2013-09-17T03:47:38.043" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19036" PostTypeId="2" ParentId="19006" CreationDate="2013-09-17T04:05:09.383" Score="1" Body="&lt;p&gt;As I mentioned in the comments, you need to first clarify what you exactly mean by a proof system.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Josh discusses the case where one uses the original definition of a proof system according to Cook-Reckhow.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is an alternative definition which is also common: a proof system is a binary relation $R$ computable in polynomial time (and satisfying some conditions like soundness) and we say $\pi$ is an $R$-proof of $\varphi$ iff $R(\pi,\varphi)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;With this definition it is easy to show that there can be a proof system where the K-complexity of a formula is much higher than the K-complexity of some proof of it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;E.g., let $R$ be some usual proof system modified as follows: we first check if $\varphi$ is of the form $\top \lor \psi$ for some formula $\psi$, if that is the case we accept the empty string as a proof of $\varphi$. Otherwise, we fall back to the original proof system.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since $\psi$ can be any formula the K-complexity of $\varphi$ can be arbitrary high. However the K-compleixty of the empty string which is a proof of $\varphi$ is trivial.&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2013-09-17T04:14:24.563" LastActivityDate="2013-09-17T04:14:24.563" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19038" PostTypeId="1" CreationDate="2013-09-17T07:17:20.483" Score="6" ViewCount="301" Body="&lt;p&gt;I have just started grad school this year and I have been into Spectral Graph Theory for some time now. Recently I got introduced to Matroid Theory and although I know the field has been around for decades, it somehow feels &quot;hot&quot; lately. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I know that Matroid Theory is related to both Graph Theory and Linear Algebra. The question is though, is there a connection to Spectral Graph Theory? Has there been any work in trying to combine results of the two fields? Does anyone have the intuition that there is some common ground of potentially interesting and useful results? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thank you in advance, &lt;/p&gt;&#xA;" OwnerUserId="49647" LastEditorUserId="49647" LastEditDate="2018-05-21T00:53:52.683" LastActivityDate="2018-05-21T00:53:52.683" Title="Spectral Graph Theory and Matroid Theory" Tags="&lt;linear-algebra&gt;&lt;spectral-graph-theory&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 4.0" />
  <row Id="19039" PostTypeId="2" ParentId="19018" CreationDate="2013-09-17T07:42:08.367" Score="1" Body="&lt;p&gt;I know of several variants of zero sum games with &lt;em&gt;finite&lt;/em&gt; arenas and an with infinite time horizon, e.g. parity games, stochastic games. Infinite state variants of these have also been considered in several places, though I do not know of a good survey. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Examples of such games can be found in Krishnendu Chatterjee's works or in Nathalie Bertrand's works. A more classical work can be found here &lt;a href=&quot;http://link.springer.com/chapter/10.1007%2F3-540-44685-0_36&quot; rel=&quot;nofollow&quot;&gt;http://link.springer.com/chapter/10.1007%2F3-540-44685-0_36&lt;/a&gt; &#xA;This list is certainly not complete, but it might give you a starting point. &lt;/p&gt;&#xA;" OwnerUserId="7908" LastActivityDate="2013-09-17T07:42:08.367" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19041" PostTypeId="1" AcceptedAnswerId="19044" CreationDate="2013-09-17T08:16:04.983" Score="-1" ViewCount="2831" Body="&lt;p&gt;I found this &quot;law&quot; somewhere on &lt;a href=&quot;http://en.wikipedia.org/wiki/Program_optimization&quot; rel=&quot;nofollow&quot;&gt;Wikipedia&lt;/a&gt;:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;In software engineering, it is often a better approximation that 90% of the execution time of a computer program is spent executing 10% of the code (known as the 90/10 law in this context).&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Now I'm interested to find something more about this low (googling, didn't help me too much) like:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;This law is true in the real sense, or is just an observation, a presumption?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;If yes, there is a demonstration of this law?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;And, if possible, can this be proved somehow from a small program?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="17660" LastActivityDate="2013-09-17T13:33:38.577" Title="Program optimization - 90/10 law" Tags="&lt;optimization&gt;&lt;software&gt;&lt;se.software-engineering&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="19042" PostTypeId="2" ParentId="19018" CreationDate="2013-09-17T08:37:26.840" Score="1" Body="&lt;p&gt;You may have a look at the following book&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Automata, Logics, and Infinite Games, A Guide to Current Research&lt;/em&gt;, E. Grädel, W. Thomas, T. Wilke (Eds.), LNCS 2500 (2002)&lt;/p&gt;&#xA;" OwnerUserId="17203" LastActivityDate="2013-09-17T08:37:26.840" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19044" PostTypeId="2" ParentId="19041" CreationDate="2013-09-17T13:17:38.987" Score="3" Body="&lt;p&gt;This kind of &quot;laws&quot; are usually labelled as &lt;a href=&quot;http://en.wikipedia.org/wiki/Pareto_principle&quot; rel=&quot;nofollow&quot;&gt;Pareto principle&lt;/a&gt;, or &lt;a href=&quot;http://www.investopedia.com/terms/1/80-20-rule.asp&quot; rel=&quot;nofollow&quot;&gt;80–20 rule&lt;/a&gt;:&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Answering specifically your question(s)&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;1) This law is true in the real sense, or is just an observation, a presumption?&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;This law is just an observation, and was explained more formally as a property of exponential distributions or power law. Then the observation is just the assumption that a given process can be modelled by such a distribution. &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;2) If yes, there is a demonstration of this law?&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;There is no demonstration that the contribution of the code to execution time follow an exponential law, and I think that there are known counter-examples: I remember a talk showing that Linux Kernel's source had a distinct distribution (biased by the proportion of code assigned to drivers). &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;3) And, if possible, can this be proved somehow from a small program?&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;This is typically shown (not proved, because it depends of the input of your program) via &lt;a href=&quot;http://en.wikipedia.org/wiki/Profiling_%28computer_programming%29&quot; rel=&quot;nofollow&quot;&gt;profiling&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;h2&gt;Some useful reference and facts&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;1) Pareto Principle in general &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The Pareto Principle is named after Vilfredo Pareto, who introduced it to describe the distribution of wealth (dixit &lt;a href=&quot;http://management.about.com/cs/generalmanagement/a/Pareto081202.htm&quot; rel=&quot;nofollow&quot;&gt;management.about.com&lt;/a&gt;, because &quot;twenty percent of the people owned eighty percent of the wealth&quot;) in the early 1900s. It has been applied in popular media to describe the state of many other unrelated systems, as for example by &lt;a href=&quot;http://en.wikipedia.org/wiki/Timothy_Ferriss&quot; rel=&quot;nofollow&quot;&gt;Tim Ferriss&lt;/a&gt; stating that &lt;a href=&quot;http://www.lifehack.org/articles/lifestyle/interview-with-tim-ferriss-of-the-4-hour-workweek-part-1.html&quot; rel=&quot;nofollow&quot;&gt;20% of your clients generate 80% of your revenue&lt;/a&gt; (so that you can afford losing 80% of your clients if it frees time to increase your revenue by 20%). The formal definition from &lt;a href=&quot;http://www.investopedia.com/terms/1/80-20-rule.asp&quot; rel=&quot;nofollow&quot;&gt;http://www.investopedia.com&lt;/a&gt; is &quot;A rule of thumb that states that 80% of outcomes can be attributed to 20% of the causes for a given event.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) Pareto Principle in Computer Science &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The Pareto principle is no more than a particular property of &lt;a href=&quot;http://en.wikipedia.org/wiki/Power_law&quot; rel=&quot;nofollow&quot;&gt;power laws&lt;/a&gt; and &lt;a href=&quot;http://en.wikipedia.org/wiki/Exponential_distribution&quot; rel=&quot;nofollow&quot;&gt;exponential distributions&lt;/a&gt;. Since it has entered the popular culture it has been misused in various ways, I think that researchers prefer to refer define models using power laws and using their properties rather than referring to the Pareto principle and risk being misunderstood. The fact that the only example about computer science in the &lt;a href=&quot;http://en.wikipedia.org/wiki/Pareto_principle#Mathematical_notes&quot; rel=&quot;nofollow&quot;&gt;wikipedia page on the Pareto Principle&lt;/a&gt; is 2 lines long and about Microsoft supports this intuition.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;3) Pareto Principle on Execution time&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Concerning the execution time, I found only a few references to the application you mentioned, i.e. &quot;&lt;a href=&quot;http://programmingopinions.blogspot.com/2009/12/impact-of-pareto-principle-in.html&quot; rel=&quot;nofollow&quot;&gt;only a small portion (10%-20%) of the overall code is actually performance critical&lt;/a&gt;&quot; on &lt;a href=&quot;http://programmingopinions.blogspot.com&quot; rel=&quot;nofollow&quot;&gt;http://programmingopinions.blogspot.com&lt;/a&gt;, and even there they do insist that it is a rule of thumb, not a real property (as one would expect). Dixit &lt;a href=&quot;http://www.codeproject.com&quot; rel=&quot;nofollow&quot;&gt;http://www.codeproject.com&lt;/a&gt;, &quot;&lt;a href=&quot;http://www.codeproject.com/Articles/49023/The-impact-of-the-Pareto-principle-in-optimization&quot; rel=&quot;nofollow&quot;&gt;Although the Pareto principle is frequently mentioned in software optimization discussions, the way this principle affects the optimization process is usually left obscure.&lt;/a&gt;&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I hope it helps!&lt;/p&gt;&#xA;" OwnerUserId="191" LastEditorUserId="191" LastEditDate="2013-09-17T13:33:38.577" LastActivityDate="2013-09-17T13:33:38.577" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19046" PostTypeId="1" AcceptedAnswerId="21302" CreationDate="2013-09-17T14:20:49.563" Score="11" ViewCount="289" Body="&lt;p&gt;One-way alternating pushdown automata (1APDA) can recognize any language in $ DTIME(2^{O(n)}) $ &lt;a href=&quot;http://dl.acm.org/citation.cfm?doid=322234.322243&quot;&gt;(Alternation by Chandra, Kozen, and Stockmeyer, 1981)&lt;/a&gt;. By replacing a pushdown storage of a 1APDA with a counter, we can obtain a one-way alternating automaton with one-counter (1ACA). My question is about 1ACAs on unary languages.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can 1ACAs recognize some &lt;strong&gt;unary non-regular&lt;/strong&gt; languages?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that one-way nondeterministic pushdown automata can recognize only unary regular languages.&lt;/p&gt;&#xA;" OwnerUserId="7358" LastEditorUserId="7358" LastEditDate="2013-09-17T14:49:32.307" LastActivityDate="2014-02-28T10:43:27.777" Title="Can one-way alternating automata with one-counter recognize some unary non-regular languages?" Tags="&lt;automata-theory&gt;&lt;counter-automata&gt;&lt;unary-languages&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="19047" PostTypeId="1" AcceptedAnswerId="19060" CreationDate="2013-09-17T15:29:04.240" Score="2" ViewCount="812" Body="&lt;p&gt;Is there a simple algorithm to calculate the maximal bisimulation relation of a graph/two graphs?&#xA;With simple i mean very easy implementation, complexity is not that important for us in this stage.&lt;/p&gt;&#xA;" OwnerUserId="9127" LastActivityDate="2013-09-17T20:47:53.400" Title="Simple Bisimulation algorithm" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19048" PostTypeId="2" ParentId="19010" CreationDate="2013-09-17T15:36:44.760" Score="6" Body="&lt;p&gt;&lt;strong&gt;Algorithm Design by Kleinberg Tardos&lt;/strong&gt; This book helps develop a concrete understanding of how to design good algorithms and talk of their correctness and efficiency. (I studied this in my first year at college, very much readable) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For an online copy/lecture notes/reference, (as suggested by Suresh Venkat) go with  &lt;strong&gt;Jeff Erikson's &lt;a href=&quot;http://www.cs.uiuc.edu/~jeffe/teaching/algorithms/&quot;&gt;lecture notes&lt;/a&gt;&lt;/strong&gt;. They are really awesome! &lt;/p&gt;&#xA;" OwnerUserId="17325" LastActivityDate="2013-09-17T15:36:44.760" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19049" PostTypeId="2" ParentId="18947" CreationDate="2013-09-17T15:42:32.167" Score="4" Body="&lt;p&gt;I think a good test case would be to generate random uniquely satisfiable 3XOR instances (planted instances) with $\Theta(n)$ constraints and then convert them to 3SAT instances.&lt;/p&gt;&#xA;" OwnerUserId="661" LastActivityDate="2013-09-17T15:42:32.167" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19050" PostTypeId="1" CreationDate="2013-09-17T15:43:27.673" Score="-3" ViewCount="98" Body="&lt;p&gt;I have this instance:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let's say I have two (could be more) friends, one weighing 200 pounds and another weighing 100 pounds; I won a box with 30 chocolates in a contest and I want to divide among these friends aiming at both having optimal satisfaction, measured by (chocolate)/(body weigh) ratio.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So far the problem is trivial, i give 20 chocolates to the heavier friend and 10 to the other; resulting in a chocolate/mass ratio of 1/10 for each.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But now let's assume they each had some chocolates beforehand, 3 for my thinner friend and 5 for the heavier one. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now the problem gets complicated.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have another instance with some 10 &quot;friends&quot; and the numbers are way larger. For this example I assumed the 30 chocolates were indivisible, but could also be divisible.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question: what is this problem called? Are there any simple algorithms for it?&lt;/p&gt;&#xA;" OwnerUserId="17667" LastActivityDate="2013-09-17T16:19:01.253" Title="what problem is this?" Tags="&lt;ds.algorithms&gt;&lt;approximation-algorithms&gt;&lt;optimization&gt;&lt;partition-problem&gt;" AnswerCount="1" CommentCount="1" ClosedDate="2013-10-07T05:34:34.790" ContentLicense="CC BY-SA 3.0" />
  <row Id="19051" PostTypeId="1" CreationDate="2013-09-17T16:04:52.580" Score="1" ViewCount="290" Body="&lt;p&gt;I am learning cryptography through Douglas Stinson's book: Cryptography -- Theory and Practice (3rd ed.).  The first definition in the text is&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;A cryptosystem is a five tuple (M,C,K,E,D) where &#xA; - M is a finite set ...&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;That is the set of &quot;plaintexts&quot; or unencrypted messages must be finite.  My question is: how reasonable of a definition is this?  For any natural language, there are an infinite number of messages that one can send.  It seems this is incomplete to me.  It seems that M is the alphabet we are encrypting, and to encrypt a string in M* (what I would call the message space) we encrypt by &#xA;   $$e_k(m_1 \cdots m_j) = e_k(m_1) \cdots e_k(m_j)$$&#xA;(where $e_k \in E$ is an encryption function -- note that elements of $E$ can be viewed as functions $e : K \to M \to C$).&#xA;But I feel this is a bad idea because we are reusing a key.&lt;/p&gt;&#xA;" OwnerUserId="9969" LastEditorUserId="9969" LastEditDate="2013-09-17T16:49:30.373" LastActivityDate="2013-09-18T05:34:04.420" Title="In a cryptosystem, why does the message space need to be finite?" Tags="&lt;cr.crypto-security&gt;&lt;finite&gt;" AnswerCount="3" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19052" PostTypeId="2" ParentId="19050" CreationDate="2013-09-17T16:19:01.253" Score="3" Body="&lt;p&gt;Your problem is an instance of an &lt;a href=&quot;http://en.wikipedia.org/wiki/Integer_programming&quot; rel=&quot;nofollow&quot;&gt;integer programming problem&lt;/a&gt; and more specifically an integer linear programming problem since your constraints are linear. For instance the second version of your problem can be written as finding integer solutions of the system&#xA;\begin{align}&#xA;  x + y &amp;amp;= 30 \\&#xA;  x + 5 &amp;amp;= 2(3 + y)&#xA;\end{align}&#xA;There is a huge literature on this subject...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you allow chocolate division, you simply have a linear system of equations in $\mathbb{Q}$.&lt;/p&gt;&#xA;" OwnerUserId="17203" LastActivityDate="2013-09-17T16:19:01.253" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19053" PostTypeId="2" ParentId="18947" CreationDate="2013-09-17T16:32:58.740" Score="2" Body="&lt;p&gt;imho one of the best ways to create &quot;presumably hard&quot; SAT instances while controlling the number of solutions is from integer factoring instances/circuits encoded in binary. the code is not very complex, it uses mainly EE addition circuits, and does not lead to &quot;large&quot; SAT instances. the number of solutions is equal to the number of factors (including &quot;permutations&quot; of the factors). therefore prime numbers generate exactly two solutions, $(1,p),(p,1)$. a single solution can be guaranteed with a further &quot;comparison&quot; constraint that restricts the factors to $a&amp;lt;b$ or that $a \neq 1$ or $b \neq p$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;also with this approach is it is relatively easy to find numbers with &lt;em&gt;roughly&lt;/em&gt; however many factors/solutions are desired. the &lt;a href=&quot;http://en.wikipedia.org/wiki/Smooth_number&quot; rel=&quot;nofollow noreferrer&quot;&gt;&quot;smoother&quot;&lt;/a&gt; the number, the more factors.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;various researchers over the years have created this factoring SAT code (eg for DIMACS competition/arcihve which has stored some factoring instances in the past) but unfortunately there does not seem to be a publicly available version. see also the 1st link below for a ref where the code was written/implemented apparently for a graduate course.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://cs.stackexchange.com/questions/6588/reducing-the-integer-factorization-problem-to-an-np-complete-problem&quot;&gt;Reducing the integer factorization problem to an NP-Complete problem&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://cs.stackexchange.com/questions/11718/generating-3sat-circuit-for-integer-factorization-example&quot;&gt;Generating 3SAT circuit for Integer factorization example&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;another empirical/iterative approach that may be useful for some, to create more &quot;unstructured&quot; instances: create random SAT instances $e_n$ near the transition point (the region where the equation has a probability 50% between &quot;solvable and unsolvable&quot;), and then solve the equation. if it is unsolvable, throw away and restart. if it is solvable, add clauses that restrict the solution &quot;not&quot; to be the found solution, obtaining $e_{n+1}$, and re-solve. repeat if necessary. when the equation $e_{n+1}$ is no longer solvable, the $e_n$ must have had a single/unique solution.&lt;/p&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="-1" LastEditDate="2017-04-13T12:48:30.830" LastActivityDate="2013-09-17T16:40:28.387" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="19054" PostTypeId="1" CreationDate="2013-09-17T17:11:03.543" Score="4" ViewCount="180" Body="&lt;p&gt;The multicut problem is the following.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a graph $G=(V,E)$ with edge costs $c_e$ for edge $e$ and a set of $k$ terminal pairs $\{(s_1,t_1),\ldots,(s_k,t_k)\}$, the objective is to find a set of edges $F \subseteq E$ of minimum cost, such that in the graph $H=(V,E \setminus F)$, no terminal pair $s_i,t_i$ are in the same connected component. In other words, deleting the edges in $F$ will remove all paths between any terminal pair $s_i,t_i$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This problem is NP-hard. For general graphs, an $O(\log k)$-approximation is known. For trees, a 2-approximation is known. It is also known to be APX-hard. Is there any other results known for special classes of graphs?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am particularly interested in the following graphs, but other classes of graphs will also be informative.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Paths&lt;/li&gt;&#xA;&lt;li&gt;Cycles&lt;/li&gt;&#xA;&lt;li&gt;$n \times n$ grids&lt;/li&gt;&#xA;&lt;li&gt;Outerplanar graphs&lt;/li&gt;&#xA;&lt;li&gt;Planar graphs&lt;/li&gt;&#xA;&lt;li&gt;Series-parallel graphs&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Any reference or survey paper will be highly appreciated.&lt;/p&gt;&#xA;" OwnerUserId="9569" LastActivityDate="2014-08-04T16:47:04.123" Title="Approximation algorithms for multicut for special classes of graphs" Tags="&lt;approximation-algorithms&gt;&lt;optimization&gt;&lt;approximation-hardness&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19055" PostTypeId="2" ParentId="19010" CreationDate="2013-09-17T17:22:31.803" Score="4" Body="&lt;p&gt;I wrote a disposition for the algorithms course I attended. It's purpose was exactly that; to be a concise version of the most important topics covered in our text box (which was CLRS). I'm reluctant to publish it on Scribd.com or anywhere else until I have examined the document thoroughly and being satisfied with its contents, but a working copy can be obtained at &lt;a href=&quot;https://github.com/CasperBHansen/DIKU_AD_2013/&quot; rel=&quot;nofollow&quot;&gt;https://github.com/CasperBHansen/DIKU_AD_2013/&lt;/a&gt;. In order to read it you will need to know how to build the pdf document from the LaTeX source, which is what the repository is for. The document itself is just 65 pages long.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An older copy can be downloaded directly from my website at &lt;a href=&quot;http://casperbhansen.dk/files/ad-disposition.pdf&quot; rel=&quot;nofollow&quot;&gt;http://casperbhansen.dk/files/ad-disposition.pdf&lt;/a&gt; — this obviously contains more typos/mistakes, which have since been corrected.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It does contain several typos because it was written over just a few days whilst undergoing another exam and obviously preparing for the algorithms exam by practicing proofs, and I have yet to patch the typos and errors up as I have been very busy ever since. But I'm sure anyone who reads it would recognise the mistakes easily, as they are usually in contradiction with accompanying text or formulae, so it is easily figured out whenever a typo occurs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I hope it can help you get started.&lt;/p&gt;&#xA;" OwnerUserId="17669" LastActivityDate="2013-09-17T17:22:31.803" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19056" PostTypeId="1" AcceptedAnswerId="19058" CreationDate="2013-09-17T18:12:16.873" Score="2" ViewCount="546" Body="&lt;p&gt;Are locally testable languages closed under complementation? I guess yes, because when I can decide membership by sliding a window of size $k$ over the word and looking if the $k$-length words appearing under the window are in a specified set, then deciding the complement is simply looking if some string under the window is not in the set.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The &lt;a href=&quot;http://en.wikipedia.org/wiki/Local_language_%28formal_language%29&quot; rel=&quot;nofollow&quot;&gt;Wikipedia&lt;/a&gt; article states that these languages are not closed under complementation. Contrarily, in the paper &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/0304397595001042&quot; rel=&quot;nofollow&quot;&gt;Local languages and the Berry-Sethi algorithm&lt;/a&gt; by J. Berstel &amp;amp; Jean Eric Pin the authors prove that these languages are closed under union, concatenation and Kleene-Star, as opposed to the Wikipedia article. so the Wikipedia information does not seem very trustworthy. Following the proofs in the paper, if I have a local automaton, then the automaton in which the final- and ordinary states are exchanged is still local I think and accepts the complement of the original language. So I think these languages should be closed under complement. Am I right?&lt;/p&gt;&#xA;" OwnerUserId="17672" LastEditorUserId="4155" LastEditDate="2013-09-17T20:37:37.293" LastActivityDate="2013-09-17T20:37:37.293" Title="Closure Properties of Locally Testable Language" Tags="&lt;fl.formal-languages&gt;&lt;automata-theory&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="19058" PostTypeId="2" ParentId="19056" CreationDate="2013-09-17T19:46:54.123" Score="6" Body="&lt;p&gt;A language is &lt;em&gt;$k$-locally testable&lt;/em&gt; if it is a Boolean combination of languages of the form $\{u\}$, $vA^*$, $A^*v$ or $A^*wA^*$, with $|u| &amp;lt; k - 1$, $|v| = k - 1$ and $|w| = k$. Thus, yes, $k$-locally testable languages are closed under complementation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But the link you gave to &lt;a href=&quot;http://en.wikipedia.org/wiki/Local_language_%28formal_language%29&quot;&gt;Wikipedia&lt;/a&gt; gives the definition of &lt;em&gt;local&lt;/em&gt; languages, which is not the same thing as &lt;em&gt;locally testable&lt;/em&gt; languages.&#xA;And indeed, local languages are not closed under complementation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, a local automaton recognizing a language $L$ might be incomplete. Therefore, you first need to complete it to compute the complement of $L$ by exchanging final and non final states. But this completed automaton is no longer local...&lt;/p&gt;&#xA;" OwnerUserId="17203" LastEditorUserId="17203" LastEditDate="2013-09-17T19:53:00.247" LastActivityDate="2013-09-17T19:53:00.247" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19060" PostTypeId="2" ParentId="19047" CreationDate="2013-09-17T20:47:53.400" Score="2" Body="&lt;p&gt;The coarsest bisimulation has a well known greatest fixed point characterisation. This greatest fixed point characterisation gives you a simple algorithm to calculate bisimulation quotients. There are quite a few immediate improvements you can make to this algorithm. A reference that contains most of these details is &lt;a href=&quot;http://www-i2.informatik.rwth-aachen.de/i2/fileadmin/user_upload/documents/AMC09/amc09_lec2.pdf&quot; rel=&quot;nofollow&quot;&gt;Joost Pieter Katoen's lecture on bisimulation minimization&lt;/a&gt;. If you need more detail, I suggest looking at the book&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/026202649X&quot; rel=&quot;nofollow&quot;&gt;Principles of Model Checking&lt;/a&gt;, Christel Baier and Joost-Pieter Katoen.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="4155" LastActivityDate="2013-09-17T20:47:53.400" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19061" PostTypeId="2" ParentId="19051" CreationDate="2013-09-18T00:28:17.397" Score="0" Body="&lt;p&gt;You asked if this definition is reasonable.  Yes, this is reasonable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's not that the message space &lt;em&gt;needs&lt;/em&gt; to be finite.  However, it's reasonable to restrict the message space to be finite.  This restriction is not a big deal.  In practice, limiting the message space to a finite set (e.g., by insisting that messages can be at most $2^{64}$ bits long) is not a serious restriction.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Conceptually, for many cryptosystems, the message space could be infinite: it could be $\{0,1\}^*$, or it could be the set of all bit-strings whose length is a multiple of 128.  Those are infinite sets.  However, once we get around to proving a security theorem, we typically need to impose a restriction on the maximum length anyway, to enable us to prove certain security bounds.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, from a practical perspective, there's no real harm done in defining a cryptosystem this way.  If you don't like it, you could equally as well consider an alternative definition where the message space was infinite (e.g., a subset of $\{0,1\}^*$), but I'm not sure that you gain anything important from that.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Also, it's useful to understand that standard encryption schemes do not hide the length of the message.  Therefore, when defining the security of a cryptosystem, our theorems often essentially restrict consideration to a set of messages of fixed length (all possible messages have the same length) and show that the cryptosystem does not give the attacker any clue which of them were sent.  So, in some sense, when we go to prove our security theorem, we are effectively forced to work with a finite message space, due to the fact that the length is fixed and known to the attacker.  This is fundamental: it's not realistically possible to build a cryptosystem that prevents the attacker from learning something about the length of the message.&lt;/p&gt;&#xA;" OwnerUserId="5038" LastEditorUserId="5038" LastEditDate="2013-09-18T04:04:09.687" LastActivityDate="2013-09-18T04:04:09.687" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19064" PostTypeId="2" ParentId="19051" CreationDate="2013-09-18T04:42:21.493" Score="1" Body="&lt;p&gt;We, of course, want our message space, $\mathcal{M}$, to be able to include messages of arbitrary size. I am not familiar with the details of Stinson's definition of a cryptosystem, but I would not be surprised if it is set up to be scaleable, iterable, or chainable using other constructions. Your concern is warranted, but there are a couple of things to keep in mind:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Suppose that $\mathcal{M}$ is countably infinite so that we can get the most out of it. But, we also want our $\text{Enc}_k$ and $\text{Dec}_k$ to be efficiently computable by Alice and Bob. If Alice wants to send Bob the message, &quot;ATTACKATDAWN&quot;, then would would be insane for our $\text{Enc}_k$ function to produce a ciphertext of $(6\times10^{22})!$ bits. In practice, Bob would probably have died by the time he received it and most certainly will not have by dawn. This is not feasible by practical standards, but it would not be feasible by theoretical standards either (Space and Time Complexity).&lt;/li&gt;&#xA;&lt;li&gt;If we, as a result, do enforce a limit on how large the ciphertext of any message of length, $n$, gets, we are not going to get that full use out of that countably infinite $\mathcal{M}$. Your adversary is going to get $\left|c\right|$ from $c$, anyways, giving them some information about the length of the plaintext. Instead of varying the length of the resulting ciphertext, we might use our computational resources better by just increasing the key length. Our primary goal is to balance resource efficiency with security.&lt;/li&gt;&#xA;&lt;li&gt;Many of the definitions, constructions, and proofs in cryptography specifically use a scalable, but finite $\mathcal{M}$. Example: probability measures. When defining or using something akin to $\mathbb{P}[M=m\mid C=c]$, using a countably infinite, $\mathcal{M}$, may not be appropriate. Instead, we might suppose an arbitrary length, $k$, ahead of time ($\left| \mathcal{M}\right |=2^k$) and prove our theorems using that.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The block cipher that you present is, as you mention, not secure for the reason that you mentioned. The proper way of getting around this is to use round keys. That is, the key for each successive block is determined by the previous key and message. Wikipedia's article on &lt;a href=&quot;http://en.wikipedia.org/wiki/Block_cipher&quot; rel=&quot;nofollow&quot;&gt;Block Ciphers&lt;/a&gt; provides sufficient details for this.&lt;/p&gt;&#xA;" OwnerUserId="17465" LastEditorUserId="17465" LastEditDate="2013-09-18T04:55:19.627" LastActivityDate="2013-09-18T04:55:19.627" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19065" PostTypeId="2" ParentId="19051" CreationDate="2013-09-18T05:34:04.420" Score="2" Body="&lt;p&gt;One reason for this is that one can first define a cryptosystem having a small finite message space, and then on top of that, construct another cryptosystem that can handle longer message spaces. This is a very reasonable modular design methodology.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A couple of examples:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;given a block cipher with a finite message space, one can use a &#xA;block cipher mode (like CBC or CTR) to extend the message space&#xA;to be essentially infinite.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;given the Paillier public-key cryptosystem, one can institute a&#xA;specific length-parameter (as done by Damgård and Jurik) and allow&#xA;to efficiency encrypt messages of arbitrary length.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;One caveat though is that if messages are of arbitrary length, then also the time to encrypt increases accordingly. If we want to be the cryptosystem to be secure against adversaries working in some time $t$, it is better to restrict the message length so that encrypting any messages of that length takes considerably less time than breaking the cryptosystem (with a small message length).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Remark: one can obviously try to define security in a way that breaking small messages can be easier than breaking long messages, but this does not make sense in practice.&lt;/p&gt;&#xA;" OwnerUserId="14132" LastActivityDate="2013-09-18T05:34:04.420" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19066" PostTypeId="2" ParentId="19013" CreationDate="2013-09-18T05:36:09.743" Score="3" Body="&lt;p&gt;The answer is yes, check the following paper:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;SNARKs for C: Verifying Program Executions Succinctly and in Zero Knowledge&#xA;Eli Ben-Sasson and Alessandro Chiesa and Daniel Genkin and Eran Tromer and Madars Virza&#xA;&lt;a href=&quot;http://eprint.iacr.org/2013/507&quot; rel=&quot;nofollow&quot;&gt;http://eprint.iacr.org/2013/507&lt;/a&gt;&#xA;(also published at Crypto 2013)&lt;/p&gt;&#xA;" OwnerUserId="14132" LastActivityDate="2013-09-18T05:36:09.743" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19067" PostTypeId="2" ParentId="9000" CreationDate="2013-09-18T06:22:49.457" Score="0" Body="&lt;p&gt;I think you can come up with more semi-rings with Earley rules.  Take Prediction.  You can form the binary operator $S\otimes_{p,k} T = S \cup \bigcup (Y: \bullet \gamma$, k)$ such that the union is over all the relevantly existing rules.  Then the algorithm first calculates the first Earley state set as an infinite but eventually repeating (so finite) product in the operator:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$S(0) = \bigotimes_{p,0}^{\infty} S_0(0)$.  I don't know if this forms a semi-ring with union though.  Maybe it forms relationships with other operations as well.&lt;/p&gt;&#xA;" OwnerUserId="8831" LastActivityDate="2013-09-18T06:22:49.457" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="19073" PostTypeId="1" AcceptedAnswerId="19081" CreationDate="2013-09-18T13:13:10.377" Score="15" ViewCount="978" Body="&lt;p&gt;I am given as input a DAG $G$ of $n$ vertices where each vertex $x$ is additionally labeled with some $S(x) \subseteq \{1, \ldots, n\}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A topological sort of $G$ is a bijection $f$ from the vertices of $G$ to $\{1, \ldots, n\}$ such that for all $x$, $y$, if there is a path from $x$ to $y$ in $G$ then $f(x) \leq f(y)$. I wish to decide whether there exists a topological sort of $G$ such that for all $x$, $f(x) \in S(x)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is the complexity of this decision problem?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[Notes: Clearly this is in NP. If you look at the graph of allowed vertex/position pairs, with undirected edges between pairings that conflict because they violate the order, you get a graph of disjoint cliques where you want to pick at most one pair per clique, at most one pair per position and at most one pair per vertex -- it seems related to 3-dimensional matching but I can't see if it is still hard with the additional structure of this specific problem.]&lt;/p&gt;&#xA;" OwnerUserId="4795" LastEditorUserId="4795" LastEditDate="2020-05-15T15:49:29.603" LastActivityDate="2020-05-15T15:49:29.603" Title="Complexity of topological sort with constrained positions" Tags="&lt;sorting&gt;&lt;directed-acyclic-graph&gt;&lt;partial-order&gt;&lt;order-theory&gt;&lt;topological-sorting&gt;" AnswerCount="3" CommentCount="0" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="19074" PostTypeId="1" CreationDate="2013-09-18T13:50:15.170" Score="2" ViewCount="142" Body="&lt;p&gt;We would need some suggestions for the proof of NP-hardness of an optimization problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;The problem&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$ &#xA;\max_{x_{a,s}} &#xA;\sum_s \sum_a x_{a,s} q_a \lambda_s \prod_{s' &amp;lt; s} \prod_{a' \neq a} (1 + x_{a',s'} (c_{a'}-1) ) &#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;\begin{align}&#xA;\sum_{s \in S} x_{a,s} \leq 1 &amp;amp; \quad \forall a \in A \\&#xA;\sum_{a \in A} x_{a,s} \leq 1 &amp;amp; \quad \forall s \in S \\&#xA;x_{a,s} \in \{0,1\} &amp;amp;  \quad  \forall a \in A, s \in S&#xA;\end{align}&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The parameters have the following structure: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;\begin{align*}&#xA;c_a  \in [0,1]	 			&amp;amp; \quad 	\forall a \in A\\&#xA;\lambda_s \in [0,1]			&amp;amp; \quad	\forall s \in S\\&#xA;\lambda_s &amp;gt;\lambda_{s'}		&amp;amp; \quad	\forall s,s' \in S:s&amp;lt;s'\\&#xA;q_{a} \in[0,+\infty)			&amp;amp; \quad 	\forall a \in A&#xA;\end{align*}&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;In words&lt;/strong&gt;: the problem requires one to assign the elements of $A$ to the elements of $S$ such that the value of each assignment is determined as follows&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;if an element $a$ is assigned to $s=1$, then the value of the assignment of this element is: $q_{a}\lambda_1$;&lt;/li&gt;&#xA;&lt;li&gt;if an element $a$ is assigned to $s=2$, then the value of the assignment of this element is: $q_{a}\lambda_2 c_{a'}$ where $a'$ is assigned to $s=1$;&lt;/li&gt;&#xA;&lt;li&gt;if an element $a$ is assigned to $s=3$, then the value of the assignment of this element is: $q_{a}\lambda_3 c_{a'} c_{a''}$ where $a'$ is assigned to $s=1$ and $a''$ is assigned to $s=2$;&lt;/li&gt;&#xA;&lt;li&gt;and so on.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The total value of the assignment is given by the sum of the values of all the element assignments. So, with $|S|=3$, the total value is: $q_{a}\lambda_1 +q_{a}\lambda_2 c_{a'} + q_{a}\lambda_3 c_{a'} c_{a''}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem is easy (but we do not know whether it is hard in general) when:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;$\lambda_s = 1$: the algorithm is based on dynamic programming starting from the last $s$ and going backward to the first&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;$c_a=1$: the algorithm is simple, being a greedy optimizer.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question&lt;/strong&gt;: any idea on how to find a reduction for proving the NP-hardness of the problem?&lt;/p&gt;&#xA;" OwnerUserId="17684" LastEditorUserId="17684" LastEditDate="2013-09-19T08:09:45.593" LastActivityDate="2013-09-19T08:09:45.593" Title="NP-hardness of a winner determination auction" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;" AnswerCount="0" CommentCount="6" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19077" PostTypeId="2" ParentId="18968" CreationDate="2013-09-18T22:20:59.190" Score="7" Body="&lt;p&gt;At the intersection of &lt;a href=&quot;http://egtheory.wordpress.com/2013/09/09/cstheory-of-biology/&quot;&gt;evolutionary biology and theoretical computer science&lt;/a&gt; there are two recent books.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Valiant's &lt;em&gt;&quot;Probably Approximately Correct: Nature's Algorithms for Learning and Prospering in a Complex World&quot;&lt;/em&gt;, and&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Chaitin's &lt;em&gt;&quot;Proving Darwin: Making Biology Mathematical&quot;&lt;/em&gt;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Both books look at evolution through the &lt;a href=&quot;http://egtheory.wordpress.com/2013/09/15/algorithmic-lens/&quot;&gt;algorithmic lens&lt;/a&gt;, with the first concentrating on how evolution, learning, and intelligence can be all expressed in the &lt;a href=&quot;http://en.wikipedia.org/wiki/Probably_approximately_correct_learning&quot;&gt;PAC-framework of Machine Learning&lt;/a&gt;. The second book, looks at how to build a toy model of evolutionary innovation using algorithmic information theory. Although the books are &lt;a href=&quot;http://egtheory.wordpress.com/2012/06/29/proving-darwin/&quot;&gt;only loosely connected to biology&lt;/a&gt;, they do present computer science in a standard pop-sci way and show how it related to more common topics in pop-sci, like evolution.&lt;/p&gt;&#xA;" OwnerUserId="1037" LastActivityDate="2013-09-18T22:20:59.190" CommentCount="1" CommunityOwnedDate="2013-09-19T16:54:24.207" ContentLicense="CC BY-SA 3.0" />
  <row Id="19078" PostTypeId="2" ParentId="18968" CreationDate="2013-09-19T05:34:33.677" Score="6" Body="&lt;p&gt;I first got interested in TCS after reading Scott Aaronson's writings; one of the earlier ones was &lt;a href=&quot;http://www.scottaaronson.com/writings/bignumbers.html&quot;&gt;Who Can Name the Bigger Number?&lt;/a&gt;, which does have a pop-science feel to it&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another very good one I read later is &lt;a href=&quot;http://www.scottaaronson.com/papers/philos.pdf&quot;&gt;Why Philosophers Should Care About Computational Complexity&lt;/a&gt;; although written in an academic style I would say it is &quot;popular science&quot; in that its audience includes philosophers who have no previous experience with TCS.&lt;/p&gt;&#xA;" OwnerUserId="16482" LastActivityDate="2013-09-19T05:34:33.677" CommentCount="0" CommunityOwnedDate="2013-09-19T16:54:24.207" ContentLicense="CC BY-SA 3.0" />
  <row Id="19079" PostTypeId="2" ParentId="18968" CreationDate="2013-09-19T08:11:12.843" Score="5" Body="&lt;p&gt;I liked:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Charles Petzold: The Annotated Turing&lt;/strong&gt;, which is essentially a guide through Turing's seminal paper and a set of notes explaining things.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I also liked:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Douglas Hofstadter: Metamagical Themas&lt;/strong&gt;, in my opinion more interesting than GEB (which is - according to some of the other commenters - not too difficult to achieve :) ), this is a collection of his columns in Scientific American, popularising many interesting ideas, although not all CS-related, obviously.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As a proper CS popular book, many people seem to like:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;A. K. Dewdney: The New Turing Omnibus&lt;/strong&gt;, although I haven't had the chance to read it.&lt;/p&gt;&#xA;" OwnerUserId="1609" LastEditorUserId="1609" LastEditDate="2013-09-19T08:16:26.103" LastActivityDate="2013-09-19T08:16:26.103" CommentCount="0" CommunityOwnedDate="2013-09-19T16:54:24.207" ContentLicense="CC BY-SA 3.0" />
  <row Id="19080" PostTypeId="1" AcceptedAnswerId="19089" CreationDate="2013-09-19T12:52:18.833" Score="2" ViewCount="241" Body="&lt;p&gt;Is there a better than time $O(n\log n)$ and space $O(n)$ deterministic algorithm in the RAM model to sort $n$ positive integers whose range is unbounded?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;How about randomized?&lt;/p&gt;&#xA;" OwnerUserId="1812" LastActivityDate="2013-09-19T20:49:24.623" Title="Best Sorting for unlimited integer range" Tags="&lt;sorting&gt;" AnswerCount="1" CommentCount="11" ContentLicense="CC BY-SA 3.0" />
  <row Id="19081" PostTypeId="2" ParentId="19073" CreationDate="2013-09-19T13:31:54.497" Score="9" Body="&lt;p&gt;I think this problem is NP-hard. I try to sketch a reduction from MinSAT. In the MinSAT problem we are given a CNF and our goal is to minimize the number of satisfied clauses. This problem is NP-hard, see e.g., &lt;a href=&quot;http://epubs.siam.org/doi/abs/10.1137/S0895480191220836?journalCode=sjdmec&quot;&gt;http://epubs.siam.org/doi/abs/10.1137/S0895480191220836?journalCode=sjdmec&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Divide the vertices into two groups - some will represent literals, the others clauses, so $n=2v+c$ where $v$ is the number of variables of the CNF (usualy denoted by $n$) and $c$ is the number of clauses. Direct an edge from each literal-vertex to the clause-vertex where it occurs. Define $S$ for a literal-vertex that represents $x_i$ as $\{i,i+v+k\}$ (where $k$ is an arbitrary parameter), so either $f(x_i)=i$ and $f(\bar x_i)=i+v+k$ or $f(\bar x_i)=i$ and $f(x_i)=i+v+k$. For each clause-vertix, let $S=\{v+1,\ldots,v+k,2v+k+1,\ldots,n\}$, so $k$ of the clause-vertices are ``small''.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now the CNF has an assignment where at least $k$ clauses are false if and only if your problem can be solved for the above instance.  The MinSAT problem is exactly to test whether a CNF formula $\varphi$ has an assignment that makes at least $k$ clauses false, so this shows that your problem is NP-hard.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To help you understand this reduction, here's the intuition: small labels ($1,2,\dots,v+k$) correspond to the truth value False, and large labels ($v+k+1,\dots,2v+k$) correspond to True.  The constraints for literal-vertices ensure that each $x_i$ is either True or False and that $\overline{x_i}$ has the opposite truth value.  The edges ensure that if any literal is True, then all clause-vertices containing it are assigned True as well.  (In contrast, if all literals in a clause are assigned False, then this graph structure allows the clause-vertex to be assigned either False or True.)  Finally, the choice of $k$ ensures that $k$ of the clause-vertices are assigned False and $c-k$ of them are assigned True.  So, if there is a valid topological sort of this graph, then there is an assignment to the variables that makes at least $k$ of the clauses of $\varphi$ false (all of the clause-vertices that were assigned False, plus possibly some of the ones that were assigned True).  Conversely, if there is an assignment to the variables that makes at least $k$ of the clauses of $\varphi$ false, then there is a valid topological sort of this graph (we fill in the labels for the literal-vertices in the obvious way; and for each clause of $\varphi$ that is true, we give its corresponding clause-vertex a label that corresponds to True; the other clause-vertices can receive labels corresponding to an arbitrary truth value).&lt;/p&gt;&#xA;" OwnerUserId="419" LastEditorUserId="5038" LastEditDate="2013-09-19T20:43:48.693" LastActivityDate="2013-09-19T20:43:48.693" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="19082" PostTypeId="2" ParentId="19073" CreationDate="2013-09-19T13:56:37.073" Score="2" Body="&lt;p&gt;Note that if you relax the problem by allowing $f$ to be arbitrary (not necessarily bijective), then it becomes polynomial. The algorithm proceeds similarly to topological sorting: you number the vertices one by one, maintaining the set $U$ of unnumbered vertices whose in-neighbors have been numbered. Whenever possible, you choose a vertex $x \in U$ and number it with the &lt;em&gt;smallest&lt;/em&gt; element of $S(x)$ greater than the numbers of its in-neighbors. It is not hard to see that an instance $(G,S)$ has a solution iff the previous algorithm run on $(G,S)$ ends with all vertices numbered.&lt;/p&gt;&#xA;" OwnerUserId="17699" LastEditorUserId="17699" LastEditDate="2013-09-19T16:50:16.307" LastActivityDate="2013-09-19T16:50:16.307" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19083" PostTypeId="2" ParentId="18968" CreationDate="2013-09-19T15:35:00.850" Score="6" Body="&lt;p&gt;IMHO, I would recommend these &quot;popular&quot; books:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Any book by &lt;a href=&quot;https://en.wikipedia.org/wiki/James_Gleick&quot; rel=&quot;nofollow&quot;&gt;James Gleick&lt;/a&gt; - &lt;a href=&quot;https://en.wikipedia.org/wiki/Chaos%3a_Making_a_New_Science&quot; rel=&quot;nofollow&quot;&gt;Chaos&lt;/a&gt;, &lt;a href=&quot;https://en.wikipedia.org/wiki/The_Information%3a_A_History,_a_Theory,_a_Flood&quot; rel=&quot;nofollow&quot;&gt;The Information&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Fire_in_the_Valley%3a_The_Making_of_The_Personal_Computer&quot; rel=&quot;nofollow&quot;&gt;Fire in the Valley&lt;/a&gt;, for an account of early PC history&lt;/li&gt;&#xA;&lt;li&gt;Books by &lt;a href=&quot;https://en.wikipedia.org/wiki/Steven_Levy&quot; rel=&quot;nofollow&quot;&gt;Steven Levy&lt;/a&gt;: Insanely Great, &lt;a href=&quot;https://en.wikipedia.org/wiki/In_the_Plex&quot; rel=&quot;nofollow&quot;&gt;In the Plex&lt;/a&gt;, &lt;a href=&quot;https://en.wikipedia.org/wiki/Hackers%3a_Heroes_of_the_Computer_Revolution&quot; rel=&quot;nofollow&quot;&gt;Hackers&lt;/a&gt;, etc.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;And the grand master, though somewhat dated:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/The_Soul_of_a_New_Machine&quot; rel=&quot;nofollow&quot;&gt;The Soul of a New Machine&lt;/a&gt; by Tracy Kidder&lt;/p&gt;&#xA;" OwnerUserId="17702" LastEditorUserId="6180" LastEditDate="2013-09-19T20:40:26.373" LastActivityDate="2013-09-19T20:40:26.373" CommentCount="2" CommunityOwnedDate="2013-09-19T16:54:24.207" ContentLicense="CC BY-SA 3.0" />
  <row Id="19084" PostTypeId="2" ParentId="18968" CreationDate="2013-09-19T15:35:40.583" Score="0" Body="&lt;p&gt;there are many such references, they seem to be increasing, as some have noted we seem to be in the midst/living through a Golden Age of algorithms. some newer algorithm-focused refs [hence not so well known] not listed so far that may be interesting, some written by TCS researchers/scientists/experts (Cormen, Valiant, Davis), others by popsci writers:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0691158193&quot; rel=&quot;nofollow&quot;&gt;Nine Algorithms That Changed the Future: The Ingenious Ideas That Drive Today's Computers&lt;/a&gt; MacCormick&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/1591844924&quot; rel=&quot;nofollow&quot;&gt;Automate This: How Algorithms Came to Rule Our World&lt;/a&gt; Steiner&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0156013916&quot; rel=&quot;nofollow&quot;&gt;The Advent of the Algorithm: The 300-Year Journey from an Idea to the Computer&lt;/a&gt; Berlinski&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0262518805&quot; rel=&quot;nofollow&quot;&gt;Algorithms Unlocked&lt;/a&gt; Cormen&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0465032710&quot; rel=&quot;nofollow&quot;&gt;Probably Approximately Correct: Nature's Algorithms for Learning and Prospering in a Complex World&lt;/a&gt; Valiant&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0387982698&quot; rel=&quot;nofollow&quot;&gt;Out of their Minds: The Lives and Discoveries of 15 Great Computer Scientist&lt;/a&gt; Sasha/Lazere&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0393322297&quot; rel=&quot;nofollow&quot;&gt;Engines of Logic: Mathematicians and the Origin of the Computer&lt;/a&gt; Davis&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;also, other interesting topics from news/headlines with a strong overlap between TCS and popular science writing/books: &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;quantum computing&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0521199565&quot; rel=&quot;nofollow&quot;&gt;Quantum computing since Democritus&lt;/a&gt; Aaronson&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0738201731&quot; rel=&quot;nofollow&quot;&gt;The Feynman Processor : Quantum Entanglement and the Computing Revolution&lt;/a&gt; Milburn&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0684814811&quot; rel=&quot;nofollow&quot;&gt;MINDS, MACHINES, AND THE MULTIVERSE: THE QUEST FOR THE QUANTUM COMPUTER&lt;/a&gt; Brown&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;li&gt;high frequency trading (&quot;HFT&quot;). this is a strong mix between theory and applied and uses advanced machine learning, datamining, statistics, and mathematics techniques. [can name some refs on this but suspect this audience will not regard it as &quot;pure&quot; enough so will hold off for now.]&lt;/li&gt;&#xA;&lt;li&gt;cryptography&lt;/li&gt;&#xA;&lt;li&gt;bioinformatics&lt;/li&gt;&#xA;&lt;li&gt;etc!&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="7884" LastEditDate="2013-09-19T15:42:44.050" LastActivityDate="2013-09-19T15:42:44.050" CommentCount="7" CommunityOwnedDate="2013-09-19T16:54:24.207" ContentLicense="CC BY-SA 3.0" />
  <row Id="19085" PostTypeId="1" AcceptedAnswerId="19097" CreationDate="2013-09-19T18:32:42.703" Score="15" ViewCount="853" Body="&lt;p&gt;Being from Physics, I have been trained to look into a lot of problems from a geometrical point of view. For example the differential geometry of manifolds in dynamical systems etc. When I read the foundations of computer science, I always try to find geometric interpretations. Like a plausible geometric interpretation of recursively enumerable sets (I worked on a part where I tried to connect them with Algebraic Geometry by exploiting equivalence with Diophantine Sets but the connection seemed forced and I could not find a &quot;natural&quot; expression of the facts in that formulation) or a beautiful geometric result for a simple algorithm for sorting numbers. Though I am not an expert I have read surveys on Geometric Complexity Theory and it is surely an interesting program but I am more interested in having a geometric view of extremely fundamental concepts like the dynamics of a Turing Machine, Lambda Calculus or the structure of (un)computable sets (rather than specific problems). Is it a hopeless job to find geometrical structure in these objects or can one expect some intricate results? Is there any formulation of TCS which treats it geometrically?&lt;/p&gt;&#xA;" OwnerUserId="17706" LastEditorUserId="5385" LastEditDate="2013-09-27T15:16:09.017" LastActivityDate="2013-09-30T17:36:35.800" Title="Geometric Interpretation of Computation" Tags="&lt;reference-request&gt;&lt;computability&gt;&lt;big-picture&gt;" AnswerCount="6" CommentCount="6" FavoriteCount="15" ContentLicense="CC BY-SA 3.0" />
  <row Id="19086" PostTypeId="2" ParentId="19073" CreationDate="2013-09-19T19:42:14.067" Score="2" Body="&lt;p&gt;A trivial observation is that if $|S(x)| \le 2$ for all $x$, then this problem is solvable in polynomial time, by reduction to 2SAT.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here's how.  Introduce a variable $v_{x,i}$ for each vertex $x$ and each $i$ such that $i \in S(x)$.  For each pair $x,y$ of vertices, if there is a path from $x$ to $y$, we get some constraints: if $i\in S(x)$, $j\in S(y)$, and $i&amp;gt;j$, then we get the constraint $\neg v_{x,i} \lor \neg v_{y,j}$.  Bijectivity gives us another set of constraints: for each pair $x,y$ of vertices with $x\ne y$, if $i \in S(x)$ and $i \in S(y)$, we add $\neg v_{x,i} \lor \neg v_{y,i}$.  Finally, the requirement that each vertex must be assigned a label gives us yet another set of constraints: for each $x$, if $S(x)=\{i,j\}$, we get the constraint $v_{x,i} \lor v_{x,j}$.  (Note that only the last set of constraints exploit the promise that $|S(x)|\le 2$ for each $x$.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I realize this observation won't help you in your particular situation.  Sorry about that.&lt;/p&gt;&#xA;" OwnerUserId="5038" LastActivityDate="2013-09-19T19:42:14.067" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19088" PostTypeId="1" AcceptedAnswerId="19092" CreationDate="2013-09-19T20:38:15.173" Score="-2" ViewCount="98" Body="&lt;p&gt;Let the alphabet $\Sigma$ be extended to include $\bullet$, the concatenation point character.   Define concatenation of such strings to be:&#xA;(by example):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;s\cdot t = (\omega \bullet \gamma ) \cdot t = \omega t \gamma &#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$s$ inherits $t$'s concatenation points obviously.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $s$ has multiple concatenation points you fill in the concatenation points from left-to-right and if you're out of concatenation points, concatenate $t$ to the end of $s$ to get the result.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So then a syntax tree can be encoded as a member of the the weird algebraic structure.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then we have a way of concatenating two syntax trees.&lt;/p&gt;&#xA;" OwnerUserId="8831" LastEditorUserId="8831" LastEditDate="2013-09-19T20:46:25.707" LastActivityDate="2013-09-19T21:30:45.840" Title="Has anyone ever mixed strings in a language with position?" Tags="&lt;fl.formal-languages&gt;&lt;tree&gt;&lt;parsing&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19089" PostTypeId="2" ParentId="19080" CreationDate="2013-09-19T20:49:24.623" Score="6" Body="&lt;p&gt;Yes there is.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;The best known deterministic algorithm in linear space runs in time within $O(n\lg\lg n)$ and was presented by Han in 2004.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The best known randomized algorithm in linear space runs in time within $O(n\sqrt{\lg\lg n})$ and was presented by Han and Thorup in 2012. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;For more details, see the section on &quot;&lt;a href=&quot;http://en.wikipedia.org/wiki/Integer_sorting#Trans-dichotomous_algorithms&quot;&gt;Trans-dichotomous algorithms&lt;/a&gt;&quot; from the wikipedia page for &quot;&lt;a href=&quot;http://en.wikipedia&quot;&gt;Integer Sorting&lt;/a&gt;&quot;.&lt;/p&gt;&#xA;" OwnerUserId="191" LastActivityDate="2013-09-19T20:49:24.623" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="19090" PostTypeId="2" ParentId="14121" CreationDate="2013-09-19T21:10:16.337" Score="3" Body="&lt;p&gt;This is not the best bound even for $q=2$; in fact, this is not the best bound derived from the Delsarte linear program; see &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.136.6304&quot; rel=&quot;nofollow&quot;&gt;the paper&lt;/a&gt; &quot;On the optimum of Delsarte's linear program&quot; by Samorodnitsky (1998). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thus, a better analysis of the linear program is likely to improve the bounds over larger $q$.  Even for $q=2$, this is a complicated analysis, so I don't know whether anybody has performed it for larger $q$.&lt;/p&gt;&#xA;" OwnerUserId="1677" LastActivityDate="2013-09-19T21:10:16.337" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19091" PostTypeId="1" AcceptedAnswerId="40885" CreationDate="2013-09-19T21:30:14.407" Score="6" ViewCount="701" Body="&lt;p&gt;Let $G$ be the grammar:&#xA;$$&#xA;S \rightarrow aAb \\&#xA;A \rightarrow aA + a + \epsilon&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where $\epsilon$ is the empty string, $a,b$ are terminals and $S,A$ non-terminals with $S$ the start symbol.  Consider vectors of grammar rule RHS's, for instance the basic one $\nu = \begin{pmatrix} S\\A\\a\\b\\\epsilon\end{pmatrix}$.  Then $\nu$ is an eigenvector of some matrix that transforms vectors of grammar rule RHS's into the same. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $T = &#xA;\begin{pmatrix} &#xA;0 &amp;amp; 0 &amp;amp; 0 &amp;amp; aA &amp;amp; 0\\ &#xA;0 &amp;amp; a &amp;amp; \epsilon &amp;amp; 0 &amp;amp; \epsilon \\&#xA;0 &amp;amp; 0 &amp;amp; \epsilon &amp;amp; 0 &amp;amp; 0 \\&#xA;0 &amp;amp; 0  &amp;amp; 0 &amp;amp; \epsilon &amp;amp; 0 \\&#xA;0 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; \epsilon&#xA;\end{pmatrix} $&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then if we let $0$ represent the empty set and concatenation by it equals $0$, then $\nu \rightarrow T\nu$ is an eigenvector with eigenvalue $\epsilon$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Unrelated, but a regular language is represented by $T$ with only terminals and $\epsilon$ in the matrix.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Edit&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;I'm interested in any ideas.  Thanks.&lt;/p&gt;&#xA;" OwnerUserId="8831" LastEditorUserId="8831" LastEditDate="2013-09-20T00:47:37.607" LastActivityDate="2018-05-30T13:00:38.160" Title="Has anyone mixed linear algebra with formal language theory in this way?" Tags="&lt;fl.formal-languages&gt;&lt;linear-algebra&gt;&lt;grammars&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="19092" PostTypeId="2" ParentId="19088" CreationDate="2013-09-19T21:30:45.840" Score="2" Body="&lt;p&gt;I am not sure if I get your question right, but this sounds a bit like an extension to Tree Substitution Grammars or Tree Adjoining Grammars (&lt;a href=&quot;https://en.wikipedia.org/wiki/Tree_adjoining_grammar&quot; rel=&quot;nofollow&quot;&gt;https://en.wikipedia.org/wiki/Tree_adjoining_grammar&lt;/a&gt;)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think a string with concatenation points can be interpreted as a tree with replacable nodes. The concatenation replaces the node and the tree is afterwards interpreted as a strign again. Add a default if there are no concatenation points and you are there.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is a lot of work on &quot;weird algebraic structures&quot; like this. Check out &lt;a href=&quot;http://stp.lingfil.uu.se/atanlp/2012/koller.pdf&quot; rel=&quot;nofollow&quot;&gt;http://stp.lingfil.uu.se/atanlp/2012/koller.pdf&lt;/a&gt; for a quick look if this is what you looking for.&lt;/p&gt;&#xA;" OwnerUserId="17650" LastActivityDate="2013-09-19T21:30:45.840" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19093" PostTypeId="2" ParentId="19085" CreationDate="2013-09-19T23:25:23.743" Score="6" Body="&lt;p&gt;As it just so happens, there have been recent development in the theory of &lt;em&gt;dependent types&lt;/em&gt;, in which a types, which traditionally represent a static invariant for a computer program, can be interpreted to be a topological space, or rather an &lt;em&gt;equivalence class&lt;/em&gt; of such spaces (a &lt;em&gt;homotopy type&lt;/em&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This has been the subject of intense research over the last few years, which culminated in a &lt;a href=&quot;http://hottheory.files.wordpress.com/2013/03/hott-online-257-g5561b73.pdf&quot;&gt;book&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Older work has attempted to give a description of models of computation systems, like the pure $\lambda$-calculus, in terms of certain topological spaces called &lt;em&gt;domains&lt;/em&gt;. The &lt;a href=&quot;http://en.wikipedia.org/wiki/Domain_theory&quot;&gt;Wikipedia&lt;/a&gt; article gives a good overview.&lt;/p&gt;&#xA;" OwnerUserId="3984" LastActivityDate="2013-09-19T23:25:23.743" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19094" PostTypeId="2" ParentId="19091" CreationDate="2013-09-20T02:17:01.330" Score="10" Body="&lt;p&gt;The approach you're describing is the &lt;em&gt;generating function&lt;/em&gt; approach. By solving systems of polynomial equations, one can calculate the number of words of given length (generated by any non-terminal), and through it the corresponding asymptotics.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For regular languages one can directly use linear algebra to estimate the number of words of given length. The result is described in the &lt;a href=&quot;http://en.wikipedia.org/wiki/Regular_language#The_number_of_words_in_a_regular_language&quot; rel=&quot;nofollow noreferrer&quot;&gt;Wikipedia article&lt;/a&gt; as well as &lt;a href=&quot;https://cs.stackexchange.com/questions/1039/number-of-words-in-the-regular-language-00&quot;&gt;here&lt;/a&gt;; see also &lt;a href=&quot;https://cs.stackexchange.com/questions/11350/asymptotics-of-the-number-of-words-in-a-regular-language-of-given-length&quot;&gt;this question&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="40" LastEditorUserId="-1" LastEditDate="2017-04-13T12:48:30.830" LastActivityDate="2013-09-20T02:17:01.330" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="19095" PostTypeId="2" ParentId="19085" CreationDate="2013-09-20T03:59:42.763" Score="4" Body="&lt;p&gt;creatively interpreting your question, some possibilities other than GCT as you mention come to mind. one way is to look for undecidable problems (aka Turing completeness) which are quite ubiquitous.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Aperiodic_tiling&quot; rel=&quot;nofollow noreferrer&quot;&gt;aperiodic Tiling the plane&lt;/a&gt; &amp;amp; &lt;a href=&quot;http://en.wikipedia.org/wiki/Penrose_tiling&quot; rel=&quot;nofollow noreferrer&quot;&gt;Penrose tiling&lt;/a&gt;. its been proven that the question of whether there is an aperodic tiling of the plane is undecidable.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Cellular_automata&quot; rel=&quot;nofollow noreferrer&quot;&gt;Cellular automata&lt;/a&gt; which also increasingly are shown to have deep connections to physics, many related undecidable problems, proven TM complete, and they're naturally interpreted as (and converted between) TM computational tableaus.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/questions/16965/algorithms-as-fractals&quot;&gt;algorithms as Fractals&lt;/a&gt;. a more undeveloped (ie active/ongoing research!) area, but various undecidable questions, such as given a complex point $(x,y)$ is it in the &lt;a href=&quot;http://en.wikipedia.org/wiki/Mandelbrot_set&quot; rel=&quot;nofollow noreferrer&quot;&gt;Mandelbrot set&lt;/a&gt;?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://hal.archives-ouvertes.fr/docs/00/42/99/65/PDF/dynsys.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Undecidability in dynamical systems&lt;/a&gt; (Hainry), again sometimes closely connected to physics. dynamical systems generally have a multidimensional geometric interpretation.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Visual_programming_language&quot; rel=&quot;nofollow noreferrer&quot;&gt;Visual programming languages&lt;/a&gt;. a program can be seen as a type of (directed?) graph with different types of vertices (eg conditional, arithmetic operation) etc.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2013-09-20T04:06:51.297" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19097" PostTypeId="2" ParentId="19085" CreationDate="2013-09-20T09:48:58.953" Score="12" Body="&lt;p&gt;The semantics of computer programs can be understood geometrically in three distinct (and apparently incompatible) ways. &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;The oldest approach is via &lt;em&gt;domain theory&lt;/em&gt;. The intuition behind domain theory arises from the asymmetry behind termination and nontermination. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;When treating programs extensionally (ie, only looking at their I/O behavior, and not their internal structure), it is always possible to confirm in finite time that a program halts -- you just wait until it stops. However, it's not possible to confirm that a program &lt;em&gt;doesn't&lt;/em&gt; halt, because no matter how long you wait, there is always a halting program that will run for a few more steps than you waited. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;As a result, halting and looping can be viewed as forming a topological space (&lt;a href=&quot;http://en.wikipedia.org/wiki/Sierpi%C5%84ski_space&quot; rel=&quot;noreferrer&quot;&gt;the  Sierpiński space&lt;/a&gt;). This lifts to richer notions of observation (via the Scott topology), and you can thereby interpret programs as elements of  topological spaces. These spaces are generally quite surprising from a traditional point of view -- domains are generally not Hausdorff.   &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The best topological introduction I know to these ideas is Steve Vickers' short and extremely accessible &lt;a href=&quot;http://www.amazon.co.uk/Topology-Cambridge-Theoretical-Computer-Science/dp/0521576512&quot; rel=&quot;noreferrer&quot;&gt;&lt;em&gt;Topology via Logic&lt;/em&gt;&lt;/a&gt;. It can be understood as a sort of warm-up for Peter Johnstone's significantly more formidable &lt;a href=&quot;http://www.cambridge.org/us/academic/subjects/mathematics/logic-categories-and-sets/stone-spaces&quot; rel=&quot;noreferrer&quot;&gt;&lt;em&gt;Stone Spaces&lt;/em&gt;&lt;/a&gt;.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you are looking for online lecture notes, let me suggest Martin Escardo's &lt;a href=&quot;http://www.cs.bham.ac.uk/~mhe/papers/entcs87.pdf&quot; rel=&quot;noreferrer&quot;&gt;&lt;em&gt;Synthetic Topology of Data Types and Classical Spaces&lt;/em&gt;&lt;/a&gt;. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Another view arises from concurrency theory. A concurrent program can be understood as having multiple valid executions (sequences of states), depending on how races are resolved. Then, the set of executions can be viewed as a space, with each possible sequence of states understood as a path through this space. Then, methods from algebraic topology and homotopy theory can be applied to derive invariants about the program execution. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Nir Shavit and Maurice Herlihy uses this idea to prove the impossibility of certain distributed algorithms, for which they won the 2004 G&amp;ouml;del prize. (See &lt;a href=&quot;http://cs.brown.edu/~mph/HerlihyS99/p858-herlihy.pdf&quot; rel=&quot;noreferrer&quot;&gt;&lt;em&gt;The Topological Structure of Asynchronous Computation&lt;/em&gt;&lt;/a&gt;.) Eric Goubault has a survey paper explaining the relevant ideas in &lt;a href=&quot;http://www.lix.polytechnique.fr/~goubault/papers/stanford.ps.gz&quot; rel=&quot;noreferrer&quot;&gt;&lt;em&gt;Some Geometric Perspectives in Concurrency Theory&lt;/em&gt;&lt;/a&gt;.  &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Most recently, it has been observed that the structure of the identity type in dependent type theory corresponds very closely with the notion of homotopy type in homotopy theory -- so closely, in fact, that dependent type theory can actually be seen as a sort of &quot;synthetic homotopty theory&quot;! (Vladimir Voevodsky has joked that he spent several years developing a new calculus for homotopy theory, only to discover that his colleagues in the CS department were already teaching it to undergraduates.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See cody's link above to the &lt;a href=&quot;http://homotopytypetheory.org/book/&quot; rel=&quot;noreferrer&quot;&gt;homotopy type theory book&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Interestingly, these three views seem incompatible with each other, or at least very difficult to reconcile. Dependent type theory is a total language, so nontermination (and the Scott topology) does not arise in it. It is also confluent, so the view of computations-as-spaces doesn't arise either. Similarly, formulating concurrency in terms of domain theory has proved ferociously difficult, and a completely satisfactory account is still an open problem.  &lt;/p&gt;&#xA;" OwnerUserId="657" LastEditorUserId="657" LastEditDate="2013-09-24T12:14:28.523" LastActivityDate="2013-09-24T12:14:28.523" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="19100" PostTypeId="2" ParentId="18968" CreationDate="2013-09-20T10:43:11.267" Score="2" Body="&lt;p&gt;The book &lt;a href=&quot;http://www.springer.com/computer/general+issues/book/978-3-540-85985-7&quot; rel=&quot;nofollow&quot;&gt;Algorithmic Adventures&lt;/a&gt; by Hromkovič is a rare attempt to explain some really mainstream ideas of theoretical computer science to a wide audience.&lt;/p&gt;&#xA;" OwnerUserId="9762" LastActivityDate="2013-09-20T10:43:11.267" CommentCount="0" CommunityOwnedDate="2013-09-20T10:43:11.267" ContentLicense="CC BY-SA 3.0" />
  <row Id="19101" PostTypeId="1" CreationDate="2013-09-20T12:34:44.200" Score="1" ViewCount="213" Body="&lt;p&gt;I am trying to motivate, define, and implement $K$-atomic snapshot object. To this aim, I first give some basic definitions on atomic snapshot object and $K$-atomic object. Then, I will give my understanding of $K$-atomic snapshot object and present my problems.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Atomic Snapshot Object:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the paper &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=153724.153741&quot; rel=&quot;nofollow&quot;&gt;&quot;Atomic Snapshots of Shared Memory&quot;&lt;/a&gt;, the authors consider atomic snapshot objects —— shared objects partitioned into segments. For the &lt;strong&gt;single-writer atomic snapshot object&lt;/strong&gt;, each segment belongs to a different processor and is written separately, but all segments can be read at once by any processor. &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;The sequence specification of an atomic snapshot object provides two kinds of operations for each user $i, 0 \le i \le n-1$:&lt;/p&gt;&#xA;  &#xA;  &lt;ul&gt;&#xA;  &lt;li&gt;A $scan_i$ invocation whose response is $return_i(V)$, where $V$ is an $n$-element vector called a &lt;em&gt;view&lt;/em&gt; with a value for each segment, and&lt;/li&gt;&#xA;  &lt;li&gt;An $update_i(d)$ invocation whose response is $ack_i$, where $d$ is the data to be written to $p_i's$ segment.&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;  &#xA;  &lt;p&gt;A sequence of $scan$ and $update$ operations satisfies the &lt;em&gt;atomic snapshot semantics&lt;/em&gt; means that, for each $V$ returned by a $scan$ operation, $V[i]$ equals the value written by the latest preceding $update_i$ operation, for all $i$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;$K$-Atomic Object:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the paper &lt;a href=&quot;http://www.cs.utexas.edu/~lorenzo/papers/disc05.pdf&quot; rel=&quot;nofollow&quot;&gt;On the Availability of Non-strict Quorum Systems&lt;/a&gt;, $K$-atomic object is introduced. Different from the classical &lt;strong&gt;atomic object&lt;/strong&gt; (see &lt;a href=&quot;http://www.cse.huji.ac.il/course/2004/dist/p124-attiya.pdf&quot; rel=&quot;nofollow&quot;&gt;Sharing Memory Robustly in Message-Passing Systems&lt;/a&gt;), in a system with $K$-atomic semantics,&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;there exists an order of the operations that is consistent with real time order and such that the values returned by a read operation is equal to &lt;em&gt;one of the values written by the last $K$&lt;/em&gt; preceding writes in the order.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Problem 1: How to Define $K$-Atomic Snapshot Object?&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$K$-atomic object is a relaxation (or a generalization) of classical atomic object, which is actually $1$-atomic object.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So based on the two concepts of $K$-atomic object and atomic snapshot object, can we define, in a reasonable manner, the $K$-atomic snapshot object?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;One possible trial is to relax the timeliness of the snapshot:&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;A sequence of $scan$ and $update$ operations satisfies the &lt;em&gt;$K$-atomic snapshot semantics&lt;/em&gt; means that, for each $V$ returned by a $scan$ operation, &lt;/p&gt;&#xA;  &#xA;  &lt;ul&gt;&#xA;  &lt;li&gt;&lt;p&gt;$V[i]$ equals one of the values written by the last $K$ preceding $update_{i}$s, for all $i$, and&lt;/p&gt;&lt;/li&gt;&#xA;  &lt;li&gt;&lt;p&gt;there exists some time before the $scan$ operation at which $V[i]$ equals the value written by its latest preceding $update_{i}$, for all $i$.&lt;/p&gt;&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Problem 2: Do you know or can you figure out some other reasonable definitions of $K$-atomic snapshot object?&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any comments, any suggestions, and any related literature references are welcomed.&#xA;Also, I appreciate the idea of implementation of the $K$-atomic snapshot object defined above myself (if you think it is OK). &lt;/p&gt;&#xA;" OwnerUserId="12739" LastEditorUserId="12739" LastEditDate="2013-09-21T01:44:45.570" LastActivityDate="2013-12-24T15:16:12.213" Title="How to Define and Implement (Single-Writer) K-Atomic Snapshot Object?" Tags="&lt;reference-request&gt;&lt;dc.distributed-comp&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19102" PostTypeId="1" AcceptedAnswerId="19116" CreationDate="2013-09-20T12:54:48.357" Score="11" ViewCount="8057" Body="&lt;p&gt;I understand the following claims to be true:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Two distinct derivations of a string in a given CFG may sometimes attribute the same parse tree to the string.&lt;/li&gt;&#xA;&lt;li&gt;When there are derivations of some string in a given CFG that attribute different parse trees, the CFG is ambiguous.&lt;/li&gt;&#xA;&lt;li&gt;Some context-free languages generated by ambiguous CFGs are also generated by unambiguous CFGs.&lt;/li&gt;&#xA;&lt;li&gt;Some languages are such that the only CFGs that can generate them (and there are some such) are ambiguous.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Q1. I understand it also to be undecidable whether an arbitrary CFG is ambiguous, in the sense of point 3 above. Or is it rather that it's undecidable whether a context-free language is ambiguous, in the sense of point 4? Or are both undecidable?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Q2. Which of points 1-4 become false when we replace &quot;context-free&quot; with &quot;regular&quot;? Are regular grammars and languages always unambiguous?&lt;/p&gt;&#xA;" OwnerUserId="3151" LastActivityDate="2013-10-30T16:37:05.883" Title="Ambiguity in regular and context-free languages" Tags="&lt;fl.formal-languages&gt;&lt;regular-language&gt;&lt;context-free&gt;" AnswerCount="3" CommentCount="5" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="19103" PostTypeId="1" CreationDate="2013-09-20T13:31:03.873" Score="5" ViewCount="948" Body="&lt;p&gt;Does anybody know a NP-hardness proof of Weapon-target assignment problem (&lt;a href=&quot;http://en.wikipedia.org/wiki/Weapon_target_assignment_problem&quot;&gt;http://en.wikipedia.org/wiki/Weapon_target_assignment_problem&lt;/a&gt;)? Lloyd and Witsenhausen produced a reduction from 3-EXACT-COVER, but it seems that there is no chance to get their paper titled &quot;Weapons allocation is NP-complete&quot;. &lt;/p&gt;&#xA;" OwnerUserId="17713" LastActivityDate="2013-12-14T19:23:54.850" Title="Weapon target assignment problem" Tags="&lt;np-hardness&gt;" AnswerCount="1" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="19105" PostTypeId="2" ParentId="19102" CreationDate="2013-09-20T16:02:45.627" Score="1" Body="&lt;p&gt;Q1. Everything is undecidable since the question if grammar $G$ produces language $\Sigma^*$ (containing all words) or not is undecidable. But if you have some specific grammar, like grammar constructed by deterministic PDA, the questions are decidable, but it's a very boring case.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I didn't quite get about what kind of languages you talk in 4. Every CF-language has an ambiguous grammar. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Q2. Everything is decidable if you have a deal with a regular grammar. You just should construct minimal DFA and using it you can construct unambiguous grammar. If you have a deal with regular language defined by the CF-grammar, the answer is no — see Q1. &lt;/p&gt;&#xA;" OwnerUserId="10676" LastEditorUserId="10676" LastEditDate="2013-09-20T16:08:59.497" LastActivityDate="2013-09-20T16:08:59.497" CommentCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="19106" PostTypeId="2" ParentId="19085" CreationDate="2013-09-20T16:06:09.503" Score="6" Body="&lt;p&gt;You are aware of GCT, but you might not be aware of &lt;a href=&quot;http://gct.cs.uchicago.edu/lower-bound.ps&quot;&gt;Mulmuley's earlier work&lt;/a&gt; on showing a separation between a subset of PRAM-computations and P, which uses geometric ideas of how a computation can be viewed as carving up a space. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Many lower bounds for problems in the algebraic decision tree model reduce to reasoning about the topology of underlying spaces of solutions (Betti numbers show up as a relevant parameter). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In one sense, ALL of optimization is geometric: linear programs involve finding the lowest point of a polytope in high dimensions, SDPs are linear functions over the space of semidefinite matrices, and so on. Geometry is used heavily in the design of algorithms here. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;On that theme, there's a long and deep connection between our ability to optimize certain functions on graphs and our ability to embed metric spaces in certain normed spaces. This is a vast literature now. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, in recent years there's been a great deal of interest in so-called &quot;lift-and-project&quot; mechanisms for solving optimization problems, and these make heavy use of the underlying geometry and lifts to higher dimensional spaces: notions from algebraic geometry play an important role here. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2013-09-20T16:06:09.503" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="19107" PostTypeId="2" ParentId="11534" CreationDate="2013-09-20T18:35:19.377" Score="1" Body="&lt;p&gt;If it helps, there is a formal definition of one-one reducibility on page 80 of &quot;Theory of Recursive Functions and Effective Computability&quot; (&lt;a href=&quot;http://www-2.dc.uba.ar/materias/azar/bibliografia/Rogers1987TheoryofRecursiveFunctions.pdf&quot; rel=&quot;nofollow&quot;&gt;PDF here&lt;/a&gt;).&lt;/p&gt;&#xA;" OwnerUserId="17650" LastActivityDate="2013-09-20T18:35:19.377" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19108" PostTypeId="2" ParentId="11534" CreationDate="2013-09-21T00:32:13.437" Score="2" Body="&lt;p&gt;The definition is composed of two parts. First, we want a &lt;em&gt;reduction&lt;/em&gt; from $f$ to $g$. That's a way of computing $f$ given an oracle to $g$. This reduction is formed by two polytime functions $\alpha,\gamma$ which are used in the following way: $f(x) = \gamma(g(\alpha(x))$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Second, we want the reduction to be one-to-one. That explains the if-and-only-if in (2). Moreover, for some reason we want an &lt;em&gt;efficient&lt;/em&gt; one-to-one right-inverse $\beta$ of $\gamma$, satisfying $y = \gamma(\beta(y))$. The function $\beta$ can be used to answer the following question: what value of $g$ corresponds to a given value of $f$? (In contrast, $\gamma$ tells us what value of $f$ corresponds to a given value of $g$.) Why this is need will be apparent from the way the paper uses $\beta$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The actual properties stated in the definition are slightly weaker (you want the function to be one-to-one only for values which actually occur in the formulas), but this is the gist of it.&lt;/p&gt;&#xA;" OwnerUserId="40" LastActivityDate="2013-09-21T00:32:13.437" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19110" PostTypeId="1" AcceptedAnswerId="19700" CreationDate="2013-09-21T09:02:47.733" Score="3" ViewCount="290" Body="&lt;p&gt;What is the name of this problem: given a set of Horn clauses (in fact just definite clauses and facts), find the set of literals which can be deduced from it. E.g. given $\{a, a \Rightarrow b, b \wedge c \Rightarrow d\}$, output $\{a, b\}$.&lt;/p&gt;&#xA;" OwnerUserId="2241" LastActivityDate="2013-11-07T07:53:34.093" Title="All literals implied by a set of horn clauses" Tags="&lt;lo.logic&gt;&lt;terminology&gt;" AnswerCount="2" CommentCount="4" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="19113" PostTypeId="2" ParentId="19110" CreationDate="2013-09-22T00:24:13.230" Score="2" Body="&lt;p&gt;It's finding a closure of a set of formulae. In abstract logic, it's what a Tarskian consequence operator does: $Cn(\Gamma)=\{\varphi : \Gamma \vdash \varphi \}$&lt;/p&gt;&#xA;" OwnerUserId="17677" LastActivityDate="2013-09-22T00:24:13.230" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="19114" PostTypeId="2" ParentId="6411" CreationDate="2013-09-22T01:06:57.717" Score="0" Body="&lt;p&gt;In attribute-value logic, a parser is a function $f: \Sigma^* \rightarrow \Phi_\mathcal{L}$ that takes words to formulae over a (first-order) language. The formulae are usually interpreted as directed acyclic graphs but they could be restricted to trees (ASTs).&lt;/p&gt;&#xA;" OwnerUserId="17677" LastActivityDate="2013-09-22T01:06:57.717" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19116" PostTypeId="2" ParentId="19102" CreationDate="2013-09-22T13:33:26.623" Score="19" Body="&lt;p&gt;About Q1:&#xA;Both the &lt;em&gt;ambiguity&lt;/em&gt; problem (given a CFG, whether it is ambiguous) and the &lt;em&gt;inherent ambiguity&lt;/em&gt; problem (given a CFG, whether its language is inherently ambiguous, i.e. whether any equivalent CFG is ambiguous) are undecidable.  Here are the original references:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The undecidability of ambiguity was proved by &lt;a href=&quot;http://dx.doi.org/10.1145/321138.321145&quot;&gt;Cantor (1962)&lt;/a&gt;, &lt;a href=&quot;http://dx.doi.org/10.1145/368959.368993&quot;&gt;Floyd (1962)&lt;/a&gt;, and &lt;a href=&quot;http://dx.doi.org/10.1016/S0049-237X(08)72023-8&quot;&gt;Chomsky and Schützenberger (1963)&lt;/a&gt;.  The proofs in textbooks typically reduce from the Post Correspondence Problem.&lt;/li&gt;&#xA;&lt;li&gt;The undecidability of inherent ambiguity was proved by &lt;a href=&quot;http://dx.doi.org/10.1145/321312.321318&quot;&gt;Ginsburg and Ullian (1966)&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;About Q2:  A &lt;em&gt;regular&lt;/em&gt; grammar is a &quot;one-sided linear&quot; context-free grammar, where at most one nonterminal appears in any rule right-part, and where that nonterminal is at the last (in &lt;em&gt;right linear&lt;/em&gt; grammars) or first (in &lt;em&gt;left linear&lt;/em&gt; grammars) position.  Such grammars are easily translated into equivalent finite-state automata (roughly by considering each nonterminal as a state), which are unambiguous iff the regular grammar is unambiguous.  The class of unambiguous regular grammars and unambiguous automata has been studied in particular by &lt;a href=&quot;http://dx.doi.org/10.1137/0214044&quot;&gt;Stearns and Hunt (1985)&lt;/a&gt;, who show that they enjoy tractable algorithms for the inclusion problem.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;About the relationship between derivations (i.e. sequences of rules applications $\beta A\gamma\Rightarrow \beta\alpha\gamma$ where $A\to\alpha$ is a rule of the grammar) and derivation trees (i.e. where a node labeled $A$ is the parent of a sequence of nodes $X_1,\dots,X_m$, where $A\to X_1\cdots X_m$ is a rule): in a general CFG, there can be different derivations, which &lt;em&gt;visit&lt;/em&gt; the same derivation tree in different ways.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;These different derivations occur because one has a choice between applying a grammar rule in two different places in a sentential form: in a sentential form $\gamma A\eta B\theta$ with at least two nonterminals $A$ and $B$, one can apply $A\to\alpha$ first and obtain $\gamma\alpha\eta B\theta$, or $B\to\beta$ first and obtain $\gamma A\eta\beta\theta$, but applying the other rule will lead to the same $\gamma\alpha\eta\beta\theta$.  Imposing &lt;em&gt;leftmost&lt;/em&gt; (always deriving the leftmost nonterminal in any sentential form) or &lt;em&gt;rightmost&lt;/em&gt; derivations imposes a fixed order for visiting derivation trees, and there is then a single derivation for a given derivation tree.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In a &lt;em&gt;linear&lt;/em&gt; context-free grammar, there is no such choice, since there is at most one nonterminal in any sentential form, and there is a single derivation for a given derivation tree, which is both leftmost and rightmost.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Having two different parse trees with the same yield $w$ (sequence of leaves) is the definition of $w$ being ambiguous, it does not change when considering regular grammars.  Alternatively, one can also ask for two different leftmost derivations.  Note that a derivation in a one-sided grammar corresponds to an accepting run in its associated finite-state automaton, which is called &lt;em&gt;ambiguous&lt;/em&gt; exactly in the same way: when there exist two different accepting runs for a given input $w$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;and 4.$~$  If you take the finite-state automata view, it suffices to determinize your ambiguous automaton in order to obtain an unambiguous automaton for the same language: there will be a single run for any given word.  This deterministic automaton is equivalent to an unambiguous regular grammar.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To answer your comment: there exist ambiguous regular grammars, for instance $S\to A\mid B,\,A\to a,\,B\to a$ has two leftmost derivations for $a$: $S\Rightarrow A\Rightarrow a$ and $S\Rightarrow B\Rightarrow a$.  An equivalent unambiguous grammar is $S\to a$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;About the relation with Q1: it is decidable whether a regular grammar is ambiguous (the inherent ambiguity problem is not very challenging on regular grammars, since the answer is invariably &quot;no&quot; without even looking at the input grammar).  This can be checked in $O(|G|^2)$ using a &lt;em&gt;squaring&lt;/em&gt; construction on its associated automaton: construct the product of the automaton with itself, and see whether some state $(q,q')$ with $q\neq q'$ is accessible and co-accessible.  The oldest reference I know for this idea is a paper by &lt;a href=&quot;http://dx.doi.org/10.1109/PGEC.1965.263996&quot;&gt;Even (1965)&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="609" LastActivityDate="2013-09-22T13:33:26.623" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19123" PostTypeId="2" ParentId="10433" CreationDate="2013-09-23T14:12:52.553" Score="3" Body="&lt;p&gt;There's a comprehensive treatment of different Turing-complete computation models and proofs of their equivalence in Martin Davis, &lt;a href=&quot;http://www.futuretg.com/FTHumanEvolutionCourse/FTFreeLearningKits/08-CO-Computer,%20Internet%20and%20Programming/087-CO03-Algorithms%20and%20Programming%20Languages/Martin%20Davis%20-%20Computability%20and%20Unsolvability.pdf&quot; rel=&quot;nofollow&quot;&gt;Computability and Unsolvability&lt;/a&gt;. Some of the most popular systems are described, including Turing-Machines, Post problems and general recursive functions.&lt;/p&gt;&#xA;" OwnerUserId="3984" LastActivityDate="2013-09-23T14:12:52.553" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19124" PostTypeId="2" ParentId="18425" CreationDate="2013-09-23T16:00:15.373" Score="11" Body="&lt;p&gt;The concept of exploiting properties that a graph possesses locally can be taken even further. Dawar, Grohe and Kreutzer in &lt;a href=&quot;http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=4276571&amp;amp;tag=1&quot; rel=&quot;noreferrer&quot;&gt;Locally Excluding a Minor&lt;/a&gt; considered classes of graphs that locally exclude a minor and Dvorak, Kral and Thomas in &lt;a href=&quot;http://www.google.de/url?sa=t&amp;amp;rct=j&amp;amp;q=&amp;amp;esrc=s&amp;amp;source=web&amp;amp;cd=1&amp;amp;cad=rja&amp;amp;ved=0CDgQFjAA&amp;amp;url=http%3A%2F%2Fciteseerx.ist.psu.edu%2Fviewdoc%2Fdownload%3Fdoi%3D10.1.1.170.9781%26rep%3Drep1%26type%3Dpdf&amp;amp;ei=NGNAUufoHcjbtAaJiICgAQ&amp;amp;usg=AFQjCNFxR9H8EPgGXVd1J0sZOEsIESluvw&amp;amp;sig2=kavqOZtvQqXu3hCpAgmZ8Q&amp;amp;bvm=bv.52434380,d.Yms&quot; rel=&quot;noreferrer&quot;&gt;Deciding first-order properties for sparse graphs&lt;/a&gt; considered classes of graphs that have (locally) bounded expansion. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Both of those classes are subsumed by classes of nowhere dense graphs, introduced by Nesetril and Ossona de Mendez.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Grohe announced this week at the &lt;a href=&quot;http://highlights-conference.org&quot; rel=&quot;noreferrer&quot;&gt;Highlights conference&lt;/a&gt; that Grohe, Kreutzer and Siebertz. have proved that every property of graphs definable in first-order logic can be solved in almost linear time on nowhere dense classes of graphs. This implies many fixed-parameter tractability results on nowhere dense graphs, e.g. for the (connected) dominating set and digraph kernel (both parameterized by the size of the solution), Steiner tree (parameterized by the size of the tree) and circuit satisfiability (parameterized by the depth of the circuit and the Hamming weight of the solution).  &lt;/p&gt;&#xA;" OwnerUserId="17644" LastEditorUserId="1846" LastEditDate="2013-09-24T05:20:11.820" LastActivityDate="2013-09-24T05:20:11.820" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19128" PostTypeId="1" AcceptedAnswerId="19130" CreationDate="2013-09-24T08:41:03.080" Score="-6" ViewCount="2291" Body="&lt;p&gt;How does Dynamic Programming differ from Divide and conquer approach for solving problems?&#xA;Can anyone explain the essential idea of Dynamic Programming.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks for any help.&lt;/p&gt;&#xA;" OwnerUserId="17758" LastActivityDate="2013-09-24T11:37:24.653" Title="Dynamic programming and Divide and conquer approach" Tags="&lt;dynamic-programming&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="1" ClosedDate="2013-10-19T10:35:36.647" ContentLicense="CC BY-SA 3.0" />
  <row Id="19129" PostTypeId="1" CreationDate="2013-09-15T10:02:28.980" Score="11" ViewCount="323" Body="&lt;p&gt;I've difficulty in understanding the last steps of the AHSP algorithm. Let $G$ be an abelian group and $f$ be the function which hides the subgroup $H$. Let $G^*$ represent the dual group of $G$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here are the steps of the algorithm &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;First prepare the state, &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\qquad \displaystyle I=\frac{1}{|G|} \sum_{g \in G} |g\rangle|0\rangle$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Then apply the quantum oracle which evaluates $f$ on $I$, we get &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\qquad \displaystyle I'=\sum_{g \in G} |g\rangle|f(g)\rangle$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Now measure the the second qubit of $I'$, we get &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\qquad\displaystyle I'= \left(\frac{1}{|H|}\Sigma_{g \in H} |rh\rangle\right) \otimes |f(rh)\rangle$ &lt;/p&gt;&#xA;&#xA;&lt;p&gt;for some $r \in G$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Now we  apply the quantum fourier transform on the first qubit, we get &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\qquad \displaystyle I_m = \frac{1}{|H^*|}\sum_{\chi \in H^*} |\chi\rangle$, &lt;/p&gt;&#xA;&#xA;&lt;p&gt;where $H^*= \{\chi \in G^*: \chi(h)=1 ,\forall h \in H\}$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Now from the state $I_m$ how can we get generators of the group $H$?&lt;/p&gt;&#xA;" OwnerUserId="13154" OwnerDisplayName="user774025" LastEditorUserId="13154" LastEditDate="2013-09-24T10:55:06.763" LastActivityDate="2014-07-19T13:18:42.547" Title="Difficulty in understanding the quantum algorithm for the abelian hidden subgroup problem" Tags="&lt;ds.algorithms&gt;&lt;quantum-computing&gt;&lt;gr.group-theory&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="19130" PostTypeId="2" ParentId="19128" CreationDate="2013-09-24T11:37:24.653" Score="1" Body="&lt;p&gt;The answer is available online&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;You can read their description and comparisons on wikipedia:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Divide_and_conquer_algorithm&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/Divide_and_conquer_algorithm&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Dynamic_programming&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/Dynamic_programming&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;You can watch Tim Roughgarden's videos about these two topics:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://openclassroom.stanford.edu/MainFolder/CoursePage.php?course=IntroToAlgorithms&quot; rel=&quot;nofollow&quot;&gt;http://openclassroom.stanford.edu/MainFolder/CoursePage.php?course=IntroToAlgorithms&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="191" LastActivityDate="2013-09-24T11:37:24.653" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19131" PostTypeId="2" ParentId="19085" CreationDate="2013-09-24T12:41:04.763" Score="5" Body="&lt;p&gt;Computation is about information processing. The intrinsic nature of information and information processing naturally leads to topological notions (see Neel's answer about domain theory), but these are not directly of a geometric nature, as the resulting topological spaces tend not to be Hausdorff (or even $T_1$). They are &quot;directed&quot; in a sense, so one would have to come up with directed geometry to account for the phenomenon. And there are tricks to be played which symmetrize the situation (essentially you stand on your head).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One way to understand the relationship between information processing (also known as &quot;computation&quot;) and geometry is that information processing is &lt;em&gt;preceeds&lt;/em&gt; geometry. This view should be familiar from certain parts of physics. For instance in relativity theory we study both the &lt;em&gt;causal structure&lt;/em&gt; of spacetime (its information processing) as well as its &lt;em&gt;geometric structure&lt;/em&gt;. Many would consider the latter to be more basic than the former.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;These connections have been noticed in the past and several years ago there was an effort to connect the information-theoretic aspects of computer science with relativity theory. One of the tasks people wanted to solve was: starting from the causality structure of spacetime (which is just a partial order on spacetime), reconstruct the topology of spacetime, or possibly the geometry as well. Recovering topology from a partial order is the sort of thing that domain theory is good at, so there was some success.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;References:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://www.dagstuhl.de/06341&quot; rel=&quot;noreferrer&quot;&gt;Computational Structures for Modelling Space, Time and Causality&lt;/a&gt;, Dagstuhl Seminar 06341, August 20–25, 2006&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Key Martin and Prakash Panangaden: &lt;a href=&quot;http://www.cs.mcgill.ca/~prakash/Pubs/ams_proc_version.pdf&quot; rel=&quot;noreferrer&quot;&gt;Spacetime geometry from causal structure and a&#xA;measurement&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="705" LastEditorUserId="705" LastEditDate="2013-09-24T12:48:05.863" LastActivityDate="2013-09-24T12:48:05.863" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19133" PostTypeId="1" AcceptedAnswerId="19137" CreationDate="2013-09-24T14:51:56.220" Score="5" ViewCount="360" Body="&lt;p&gt;Let $P$ be a length-preserving (i.e. $|P(x)|=|x|$) &#xA;polynomial-time computable program.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I. &#xA;Given two strings $x$ and $y$, &#xA;we want to decide if $y$ can be obtained by &#xA;repeated applications of $P$ to $x$. &#xA;In other words,&#xA;is there a $k$ such that $P^k(x)=y$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;II. Given a string $x$,&#xA;find the number strings of length $|x|$ &#xA;which cannot be obtained by repeated applications of $P$ to $x$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am looking for &lt;a href=&quot;http://en.wikipedia.org/wiki/Polynomial-time_approximation_scheme&quot; rel=&quot;nofollow noreferrer&quot;&gt;PTAS&lt;/a&gt; algorithms for these problems.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;The first problem is PSpace-complete, see &lt;a href=&quot;https://mathoverflow.net/a/142064/&quot;&gt;this answer&lt;/a&gt; on MO.&lt;/p&gt;&#xA;" OwnerUserId="17763" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2013-09-25T13:24:22.343" Title="A reachability problem" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;np-hardness&gt;&lt;polynomial-time&gt;" AnswerCount="1" CommentCount="7" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19135" PostTypeId="1" CreationDate="2013-09-24T23:56:09.120" Score="2" ViewCount="85" Body="&lt;p&gt;In the &lt;em&gt;edge-disjoint paths&lt;/em&gt; (&lt;strong&gt;EDP&lt;/strong&gt;) problem, we are given an undirected graph $G$, and a set $\{ (s_i,t_i) \mid 1 \leq i \leq k \}$ of $k$ source-sink pairs. The objective is to maximize the number of pairs connected via edge-disjoint paths. In the &lt;em&gt;bounded length edge disjoint paths&lt;/em&gt; (&lt;strong&gt;BLEDP&lt;/strong&gt;) problem, we wish to route the maximum number of source-sink pairs such that each of the paths used is of length &lt;em&gt;at most&lt;/em&gt; $L$, for some length bounded $L$ that is part of the input.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Guruswami et al. [1] showed that &lt;strong&gt;BLEDP&lt;/strong&gt; can be approximated in polynomial time within a factor of $O(\sqrt{m})$. They also showed this is optimal with a matching hardness result of $m^{1/2-\epsilon}$, for any $\epsilon &amp;gt; 0$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Do we have algorithms achieving better approximation ratios for &lt;strong&gt;BLEDP&lt;/strong&gt; for some restricted graphs? For example, how about (undirected) planar graphs?&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;[1] &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0022000003000667&quot; rel=&quot;nofollow&quot;&gt;Guruswami, V., Khanna, S., Rajaraman, R., Shepherd, B., &amp;amp; Yannakakis, M. (2003). Near-optimal hardness results and approximation algorithms for edge-disjoint paths and related problems. Journal of Computer and System Sciences, 67(3), 473-496.&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="5693" LastActivityDate="2013-09-24T23:56:09.120" Title="Approximating BLEDP on restricted graph classes" Tags="&lt;graph-theory&gt;&lt;approximation-algorithms&gt;&lt;approximation-hardness&gt;&lt;multicommodity-flow&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19137" PostTypeId="2" ParentId="19133" CreationDate="2013-09-25T01:13:28.220" Score="11" Body="&lt;p&gt;With respect to Problem II, it is coNP-hard (under Karp reductions) to tell if the number of unreachable strings is 0 or at least $1 - 2^{-\text{poly}(|x|)}$ fraction of all strings. I suspect there is a way to boost this and show that the gap problem is PSPACE-hard, maybe by using IP as a robust characterization of PSPACE.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $L$ be a coNP-complete language. There exists a polynomial time Turing machine $M$ and a polynomial $p$ such that $x \in L$ if and only if for all $w$, $|w| = p(|x|)$, we have $M(x, w) = 0$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Construct $P$ to be the following program. It takes $z$ where $|z| = p(|x|) + i$ and maps it to &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;itself if $z = (w, 0^{i})$ and $M(x, w) = 1$&lt;/li&gt;&#xA;&lt;li&gt;to $z'$, where $z'$ is the successor of $z$ in the lexicographic order, otherwise&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Notice that if $x \in L$, then starting from $0^{p(|x|) + i}$ and repeatedly applying $P$ we run through all strings $z$ of size $p(|x|) + i$. Otherwise, there is some $w$ such that $M(x, w) = 1$ and the repeated applications of $P$ reach at most $2^{p(|x|)}$ strings. Taking $i$ to be a large enough polynomial in $|x|$ finishes the proof.&lt;/p&gt;&#xA;" OwnerUserId="4896" LastEditorUserId="4896" LastEditDate="2013-09-25T13:24:22.343" LastActivityDate="2013-09-25T13:24:22.343" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="19138" PostTypeId="2" ParentId="9329" CreationDate="2013-09-25T03:37:33.817" Score="2" Body="&lt;p&gt;specifically considering one part of the question (eg for $k_1$=1,$k_2$=2), Lokam studied &quot;2-slice&quot; functions in this paper &amp;amp; proves that strong lower bounds on them can be generalized, therefore this is a very hard open problem related to basic complexity class separation &amp;amp; any such construction/explicit function would be a breakthrough; from the abstract:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;A Boolean function f is called a 2-slice function if it evaluates to zero on inputs with less than two 1’s and evaluates to one on inputs with more than two 1’s. On inputs with exactly two 1’s f may be nontrivially defined. There is a natural correspondence between 2-slice functions and graphs. Using the framework of graph complexity, we show that sufficiently strong superlinear monotone lower bounds for the very special class of 2-slice functions would imply superpolynomial lower bounds over a complete basis for certain functions derived from them. &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Graph Complexity and Slice Functions / Satyanarayana V. Lokam,&#xA;Theory Comput. Systems 36, 71–88 (2003)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;also as in his comments SJ covers this similar case in his book in the section  exploring star complexity of graphs sec1.7.2.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/3642245072&quot; rel=&quot;nofollow&quot;&gt;Boolean function complexity: advances and frontiers&lt;/a&gt;, Stasys Jukna&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2013-09-25T03:37:33.817" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19139" PostTypeId="1" AcceptedAnswerId="19145" CreationDate="2013-09-25T05:31:07.760" Score="5" ViewCount="169" Body="&lt;p&gt;Consider a random undirected graph on a set of $n$ nodes, say $\{1,2,\ldots,n\}$, such that the probability of edge between nodes $i$ and $j$ is $p_{ij}$ (we may assume $p_{ij}=o(1)$ for all $i,j$, i.e., $p_{ij}\rightarrow 0$ as $n\rightarrow \infty$, if it makes things simpler). We define Bernoulli r.v. $X_{ij}$ such that $X_{ij}=1$ iff edge $(i,j)$ exists. We also assume that $X_{ij}$'s are independent r.v.'s (so the existence of edges are independent events). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;We consider a random instance of the graph and define $Z_d=$ number of nodes that are reachable from node 1 via paths of length at most $d$ (we can assume $d=O(\log n)$). Then &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$Z_d \leq H_d = \sum_{i\neq 1}X_{1i}+\sum_{i,j\neq 1}X_{1i}X_{ij}+\sum_{i,j,k\neq 1}X_{1i}X_{ij}X_{jk}+\ldots$ (till $d$ levels).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I wanted to know if it is possible to get a concentration inequality for $Z_d$, like&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$P(Z_d&amp;gt;cE[H_d]\log n)\leq P(H_d&amp;gt;cE[H_d]\log n)\leq c'n^{-1}$, &lt;/p&gt;&#xA;&#xA;&lt;p&gt;where $c,c'$ are constants? ($\exp(-c''n)$ in place of $c'n^{-1}$ would be desirable) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;(whether $P(H_d&amp;gt;cE[H_d]\log n)\leq c'n^{-1}$ is possible or not is the concentration inequality for function of independent Bernoulli r.v.'s that I am interested in)&lt;/p&gt;&#xA;" OwnerUserId="14229" LastActivityDate="2013-09-26T01:56:26.620" Title="Concentration inequality for function of independent Bernoulli r.v.'s (related to random graph)" Tags="&lt;graph-theory&gt;&lt;pr.probability&gt;" AnswerCount="2" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19142" PostTypeId="2" ParentId="869" CreationDate="2013-09-25T09:37:34.887" Score="8" Body="&lt;p&gt;There are recent exciting results concerning the search for a logic capturing PTIME. &#xA;The famous example by &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=1398656&quot;&gt;Cai, Fürer and Immerman &lt;/a&gt;showing that LFP+C does not capture&#xA;PTIME was based on a seemingly artificial class of graphs, though. Of course, it was constructed for the particular&#xA;task of demonstrating the restrictions of LFP+C. Only recently it was shown by &lt;a href=&quot;http://link.springer.com/chapter/10.1007/978-3-540-69937-8_2&quot;&gt;Dawar&lt;/a&gt; that &#xA;the class is not artificial at all. It can rather be seen as an example for the fact that LFP+C cannot&#xA;solve linear equation systems!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hence &lt;a href=&quot;http://www.automata.rwth-aachen.de/~grohe/pub/dawgrohollau09.pdf&quot;&gt;Dawar, Grohe, Holm and Laubner&lt;/a&gt; extended logics by operators from linear algebra, for example by an operator to define the rank of a definable matrix.&#xA;The resulting logic LFP+rank can express strictly more than LFP+C, in fact, there is no known PTIME property that LFP+rank cannot express. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Even FO+rk is surprisingly powerful, it can express deterministic and symmetric transitive closure. It is still open &#xA;whether it can express the general transitive closure of a graph. &lt;/p&gt;&#xA;" OwnerUserId="17644" LastActivityDate="2013-09-25T09:37:34.887" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19145" PostTypeId="2" ParentId="19139" CreationDate="2013-09-25T12:45:00.737" Score="7" Body="&lt;p&gt;In general, it seems that you cannot get the concentration you want without  more constraints on the probabilities. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider the following graph on $n$ vertices. Let vertices $C = \{2,\ldots,n\}$ form a clique such that for all $i,j \in C$, $p_{ij} = 1$. Let vertex $1$ be connected to this clique via only one edge, with $p_{1,2} = 1/\log(n)$, and $p_{1,j} = 0$ for all $j \in C$ with $j \neq 2$. Then with probability $1/\log(n)$, all $n$ vertices are reachable from $1$ with 2 hops, and with probability $1 - 1/\log(n)$ none are. So the expected number of reachable vertices is $n/\log(n)$, but with probability $1/\log(n) \gg n^{-1}$, it is $n$, larger than its expectation by a $\log(n)$ factor. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In fact, since you are interested in paths of length $\log n$, all that we require is that the realized edges in $C$ form an expander, not a clique, with high probability. This can be accomplished with $p_{ij} = o(1)$ as well, so this condition does not save you. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The essence of the problem is this: since you can have a group of vertices $C$ that are highly connected with high probability, how many vertices vertex $1$ is connected to can depend only on whether it is connected to $C$ or not, which can depend on only a single edge. You can't expect something depending on only a single Bernouli random variable to be well concentrated. &lt;/p&gt;&#xA;" OwnerUserId="25" LastActivityDate="2013-09-25T12:45:00.737" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19146" PostTypeId="2" ParentId="18704" CreationDate="2013-09-25T14:24:44.960" Score="1" Body="&lt;p&gt;I found the answer. The &lt;a href=&quot;http://en.wikipedia.org/wiki/Synchronizer_%28algorithm%29&quot; rel=&quot;nofollow&quot;&gt;alpha synchronizer&lt;/a&gt; will do it. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is the full paper: &lt;a href=&quot;http://www.cs.uiowa.edu/~ghosh/synchronizer.pdf&quot; rel=&quot;nofollow&quot;&gt;Baruch Awerbuch (1985). Complexity of Network Synchronization&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="12237" LastActivityDate="2013-09-25T14:24:44.960" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19148" PostTypeId="1" AcceptedAnswerId="19151" CreationDate="2013-09-25T20:45:36.790" Score="8" ViewCount="162" Body="&lt;p&gt;Say I have a one bit random variable $X \in \{0,1\}$, and let $n$ be a natural number.  I want a sequence of random variables $0 = X_0, X_1, \ldots, X_n = X$ s.t.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$H\left(X~|~\{X_0,\ldots,X_k\}\right) = 1-\frac{k}{n}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;That is, each additional $X_k$ provides $1/n$ of the information of $X$, until everything is revealed by $X_n = X$.  Is there a nice construction for this sequence?&lt;/p&gt;&#xA;" OwnerUserId="13245" LastActivityDate="2013-09-26T20:27:13.883" Title="Smoothly leaking information over time" Tags="&lt;it.information-theory&gt;&lt;shannon-entropy&gt;" AnswerCount="2" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19149" PostTypeId="2" ParentId="1955" CreationDate="2013-09-25T21:14:37.490" Score="1" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0073191469&quot; rel=&quot;nofollow&quot;&gt;Introduction to languages and The theory of computation&lt;/a&gt;&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;John C. Martin&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I highly recommend this book for a beginner and this is a perfect choice for someone who's looking for lots of examples.&lt;/p&gt;&#xA;" OwnerUserId="7439" LastActivityDate="2013-09-25T21:14:37.490" CommentCount="0" CommunityOwnedDate="2013-09-25T21:14:37.490" ContentLicense="CC BY-SA 3.0" />
  <row Id="19150" PostTypeId="2" ParentId="19139" CreationDate="2013-09-25T22:30:39.587" Score="1" Body="&lt;p&gt;Here's a heuristic argument to say that, if each vertex has an expected number of edges of at least $\Omega(\log d)$, then you can get such a bound, and furthermore it depends mainly on this expected number of edges per vertex (not much on $n$ or $d$). (&lt;strong&gt;Edit&lt;/strong&gt;: As Aaron points out in comments, though, a bound for $H_d$ does not look like it will help us bound $Z_d$!) Let's write $H_d$ as&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$H_d = \sum_{i_2\neq 1}X_{1i_2} \left(1 + \sum_{i_3 \neq 1} X_{i_2 i_3} \left(1 + \cdots \sum_{i_{d-2}\neq 1}X_{i_{d-2}i_{d-1}} \left(1 + \sum_{i_d \neq 1} X_{i_{d-1}i_d}\right)\cdots \right) \right)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now use Chernoff from the inside and move outward. For each index $i_k$, let $\mu_k = \sum_{j \neq 0} p_{i_k j}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\Pr\left[\sum_{i_d \neq 0} X_{i_{d-1}i_d} &amp;gt; (1 + \delta)\mu_d\right] \leq \approx e^{-\delta^2 \mu_d}$. So replace this innermost sum with the constant $(1+\delta)\mu_d$ and add $e^{-\delta^2 \mu_d}$ onto the probability we need. Now expand outwards, adding the probabilities (union-bounding). For example, at the next step we say&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\Pr\left[\sum_{i_{d-1}\neq 0} X_{i_{d-2}i_{d-1}} \left(1 + (1+\delta)\mu_d\right) \geq (1+\delta)(\mu_{d-1} + (1+\delta)\mu_d)\right] \leq \approx e^{-\delta^2 \mu_{d-1}}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;At the end we get&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\Pr\left[H_d &amp;gt; (1+\delta)\mu_1 + (1+\delta)^2 \mu_1 \mu_2 + ~\cdots~ + (1+\delta)^d \mu_1 \cdots \mu_d \right] \leq \approx de^{-\delta^2 \mu_{min}}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where $\mu_{min}$ is the smallest $\mu_k$. If the number of edges per vertex were independent across vertices (not true, but maybe &quot;close&quot; if $\mu = \omega(1)$), then we could say&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\Pr\left[H_d &amp;gt; (1+\delta)^d E[H_d] \right] \leq \approx de^{-\delta^2 \mu_{min}}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So based on this it seems like a sufficient (and hopefully not too loose) condition should be that for every vertex $k$, the expected number of neighbors is $\mu_k = \Omega(\log d)$.&lt;/p&gt;&#xA;" OwnerUserId="8243" LastEditorUserId="8243" LastEditDate="2013-09-26T01:56:26.620" LastActivityDate="2013-09-26T01:56:26.620" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="19151" PostTypeId="2" ParentId="19148" CreationDate="2013-09-26T00:00:21.463" Score="2" Body="&lt;p&gt;Via Michael Kass: let $Y(t)$ be a Wiener process starting at $Y(0) = X$, and define&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$f(t) = H(X~|~Y(t))$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then $f(0) = 0$, $f(\infty)=1$, and $f(t)$ is smoothly strictly increasing in between.  Thus, for any $k$ we can find $0 \le t \le \infty$ s.t. $X_k = Y(t)$ has the desired conditional entropy ($t$ will be a decreasing function of $k$).&lt;/p&gt;&#xA;" OwnerUserId="13245" LastActivityDate="2013-09-26T00:00:21.463" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="19156" PostTypeId="1" CreationDate="2013-09-26T05:20:19.350" Score="2" ViewCount="332" Body="&lt;p&gt;Can some one suggest a good source for VNP completeness of Permanent. I tried reading it from book on Algebraic complexity theory by Burgisser,clausen,shokrollahi,lickteig. &#xA;And What is the best known lower-bound on determinental complexity of $PERM_{n}$? &lt;/p&gt;&#xA;" OwnerUserId="9155" LastActivityDate="2013-09-26T09:02:15.343" Title="VNP completeness of Permanent" Tags="&lt;cc.complexity-theory&gt;&lt;arithmetic-circuits&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19157" PostTypeId="2" ParentId="17693" CreationDate="2013-09-26T07:37:35.013" Score="0" Body="&lt;p&gt;If I guessed really well, hyperspherical will mean that the clusters generated by &lt;code&gt;k-means&lt;/code&gt; are all spheres and by adding more elements/observations to the cluster the spherical shape of &lt;code&gt;k-means&lt;/code&gt; will be expanding in a way that it can't be reshaped with anything but a sphere.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then the paper is wrong about that,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;even that we use &lt;code&gt;k-means&lt;/code&gt; with bunch of data that can be in millions, we are still able to create a cube or any other shape in a three-dimensional space or higher with this data. &#xA;Let's say that I added a filter for the pre-processing step that will make the &lt;code&gt;observations&lt;/code&gt; be filled up into two clusters withing 3D space accordingly to shape a cube for the first cluster and a pyramid for the second one. &#xA;you can keep adding observations till you have the previous shapes embodied perfectly.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;yes, this might seem extremely hard. However, it is still possible. Therefore, we can't say that &lt;code&gt;k-means&lt;/code&gt; will only generates spheres' shapes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What I want to point out here is that you can force-shape the clusters if you like. even that it is just useless to do so. but as any other data-mining algorithm, &lt;code&gt;k-means&lt;/code&gt; needs a pre-processing before using it. Thus, we can play around with our &lt;code&gt;observations&lt;/code&gt; to get any shape for our clusters. But once again, THIS IS NOT USEFUL IN ANY CASE. &lt;/p&gt;&#xA;" OwnerUserId="17781" LastActivityDate="2013-09-26T07:37:35.013" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19158" PostTypeId="2" ParentId="18944" CreationDate="2013-09-26T07:49:02.803" Score="0" Body="&lt;p&gt;as it has been mentioned in the comment section, '&lt;strong&gt;I&lt;/strong&gt;' can be exponential in &lt;code&gt;n&lt;/code&gt; if you run the algorithm to completion. which means you can't just cut down &lt;code&gt;O(n.K.I.D)&lt;/code&gt; to be &lt;code&gt;O(n)&lt;/code&gt;.&#xA;number of iterations can be just a big factor in your complexity.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;for the second part I would also say no, you can't add the complexity like this.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;let's say that your &lt;code&gt;k-means&lt;/code&gt; is refining your data. Then, your &lt;code&gt;n&lt;/code&gt; would become a &lt;code&gt;j&lt;/code&gt; where: &lt;code&gt;n &amp;gt;= j&lt;/code&gt; when you reach your &lt;code&gt;random forest&lt;/code&gt;. so what you can say that the complexity here is:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;code&gt;O(n.K.I.D) + O( j.log j)&lt;/code&gt; where &lt;code&gt;j &amp;lt;= n&lt;/code&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I really don't have a valid proof here. but when you look at it. it just makes sense.&lt;/p&gt;&#xA;" OwnerUserId="17781" LastActivityDate="2013-09-26T07:49:02.803" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19159" PostTypeId="2" ParentId="19156" CreationDate="2013-09-26T09:02:15.343" Score="5" Body="&lt;p&gt;The place from which I had read the proof was &lt;a href=&quot;http://math-www.uni-paderborn.de/agpb/work/habil.ps&quot;&gt;Completeness and Reduction in Algebraic Complexity Theory by Peter Bürgisser (.ps)&lt;/a&gt;. As for the determinental complexity of the permanent, the best lower bound known so far is $\Omega(n^2)$ by &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.106.4910&amp;amp;rep=rep1&amp;amp;type=pdf&quot;&gt;Mignon and Ressayre&lt;/a&gt;. &lt;/p&gt;&#xA;" OwnerUserId="877" LastActivityDate="2013-09-26T09:02:15.343" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="19161" PostTypeId="1" AcceptedAnswerId="19162" CreationDate="2013-09-26T13:13:04.333" Score="5" ViewCount="130" Body="&lt;p&gt;If a have a set of finite infixes of a specific length, which $\omega$-languages are determined by them, and furthermore, when does a set of infixes determine a $\omega$-word uniquely. For example for the set $W = \{ 0, 1 \}$ all words in $X^* \setminus \{ 0^\omega, 1^{\omega} \}$ have it as infixes, and if I have $V = \{ 011, 110, 101 \}$ it determines the three words&#xA;$$&#xA; 011011011011\ldots, \quad&#xA; 110110110110\ldots, \quad&#xA; 101101101101\ldots.&#xA;$$&#xA;What could be said about the relations about infix-sets and $\omega$-languages, are there any results or articles on this topic?&lt;/p&gt;&#xA;" OwnerUserId="17672" LastEditorUserId="2367" LastEditDate="2020-03-13T13:56:40.620" LastActivityDate="2020-03-13T13:56:40.620" Title="When does a set of infixes determine a set of ($\omega$-) words" Tags="&lt;fl.formal-languages&gt;&lt;automata-theory&gt;&lt;omega-language&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19162" PostTypeId="2" ParentId="19161" CreationDate="2013-09-26T18:43:53.970" Score="9" Body="&lt;p&gt;There are several interesting subquestions in your question:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Which $\omega$-languages are determined by a set of finite infixes of a specific length?  &lt;/li&gt;&#xA;&lt;li&gt;When does a set of infixes determine a $\omega$-word uniquely?  &lt;/li&gt;&#xA;&lt;li&gt;What could be said about the relations about infix-sets and $\omega$-languages?  &lt;/li&gt;&#xA;&lt;li&gt;Are there any results or articles on this topic?&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Let $A$ be a finite alphabet, let $n$ be a positive integer and let $F$ be a subset of $A^n$. &#xA;Given an $\omega$-word $u$, let $F_n(u)$ be the set of its factors (= infixes) of length $n$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question 1.&lt;/strong&gt; It can be restated as follows: What is the $\omega$-language &#xA;$$&#xA;  L(F) = \{ u \in A^\omega \mid  F_n(u) = F \}? &#xA;$$&#xA;The answer is &#xA;$$&#xA;  L(F) = \bigcap_{x \in F}A^*xA^\omega \setminus \bigcup_{x \in A^n \setminus F}A^*xA^\omega &#xA;$$&#xA;which shows that $L(F)$ is $\omega$-regular (it actually belongs to a much smaller class of $\omega$-languages than the regular ones, see below).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question 2.&lt;/strong&gt; I only have a weak answer to this question. Given $F$, one can effectively compute $L(F)$ (say, by a finite Büchi automaton) and then one can effectively decide whether $L(F)$ contains a single $\omega$-word (which has to be ultimately periodic). I also tried the other way around: given an ultimately periodic word $uv^\omega$, is the language $\{uv^\omega\}$ of the form $L(F)$ for some $F$? This question is again decidable, but they might be some simple combinatorial characterization on the pair $(u, v)$. Unfortunately, I only got some partial results in this direction.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question 3.&lt;/strong&gt; I know of several topics in which infix-sets and $\omega$-languages are related.  &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Locally testable $\omega$-languages (the notion of &lt;a href=&quot;https://cstheory.stackexchange.com/questions/19056/closure-properties-of-locally-testable-language&quot;&gt;locally testable languages&lt;/a&gt; was originally introduced for finite words and later extended to infinite words [2]). The language $L(F)$ is an example.  &lt;/li&gt;&#xA;&lt;li&gt;Factors of biinfinite words [1].   &lt;/li&gt;&#xA;&lt;li&gt;First order logic of one successor [3]. &lt;/li&gt;&#xA;&lt;li&gt;Sophic shifts and subshifts of finite type in symbolic dynamics [4].&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question 4.&lt;/strong&gt; A few references:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] D. Beauquier and M. Nivat, About rational sets of factors of a bi-infinite word, LNCS &lt;strong&gt;194&lt;/strong&gt;, (1985) 33-42.&lt;br&gt;&#xA;[2] J.P. Pécuchet Étude syntaxique des parties reconnaissables de mots infinis, &lt;em&gt;Theoret. Comput. Sci.&lt;/em&gt; &lt;strong&gt;56&lt;/strong&gt; (1988) 231-248.&lt;br&gt;&#xA;[3] &lt;a href=&quot;http://hal.archives-ouvertes.fr/hal-00112833/fr/&quot; rel=&quot;nofollow noreferrer&quot;&gt;The expressive power of existential first order sentences of Büchi's sequential calculus&lt;/a&gt;.&lt;br&gt;&#xA;[4] M.P. Béal and D. Perrin, &lt;a href=&quot;http://igm.univ-mlv.fr/~beal/Recherche/Publications/miseAJourHandbook.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Symbolic Dynamics and Finite Automata&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="17203" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2013-09-26T18:43:53.970" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="19163" PostTypeId="1" CreationDate="2013-09-26T19:07:20.393" Score="4" ViewCount="213" Body="&lt;p&gt;Let $R(v_{\bullet}, w_{\bullet})$ be some $P$-time computable relation between two binary strings $v_{\bullet}$ and $w_{\bullet}$. $NP$ problems are problems of the form: Given $v_{\bullet}$, determine whether there exists an $w_{\bullet}$ so that $R(v_{\bullet}, w_{\bullet})$. The $\# P$ problems are problems of the form: Given $v_{\bullet}$, count the number of $w_{\bullet}$ satisfying $R(v_{\bullet}, w_{\bullet})$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are certainly examples of $R$ from which the counting problem is hard but the existence problem is not:  Determining whether a graph has a perfect matching is in $P$, but counting the perfect matchings is $\# P$-complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What are examples of relations $R$ for the existence problem is $NP$-complete but the counting problem is, subject to reasonable conjectures, not $\# P$-complete? &lt;/p&gt;&#xA;" OwnerUserId="6508" LastActivityDate="2013-09-26T19:07:20.393" Title="What NP-complete problems are expected not to have #P-hard counting problems?" Tags="&lt;cc.complexity-theory&gt;&lt;counting-complexity&gt;" AnswerCount="0" CommentCount="8" ClosedDate="2013-10-01T13:40:25.110" ContentLicense="CC BY-SA 3.0" />
  <row Id="19164" PostTypeId="2" ParentId="19148" CreationDate="2013-09-26T20:27:13.883" Score="0" Body="&lt;p&gt;The problem with the previous construction is that there is no guarantee that $X$ is unequivocally revealed after $n$ bits are transmitted (which seems to be a requirement). Here is a similar construction that works if $n$ is odd. Generate $n$ random bits with probability of 1/2, $S=Y_0, Y_1,...$. Let $N(0)$ and $N(1)$ be the number of 1 and 0 in $S$. Now, transmit S if either $X=1$ and $N(1)&amp;gt;N(0)$ or $X=0$ and $N(1)&amp;lt;N(0)$; otherwise transmit the one complement of $S$.&lt;/p&gt;&#xA;" OwnerUserId="10740" LastActivityDate="2013-09-26T20:27:13.883" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="19165" PostTypeId="1" CreationDate="2013-09-27T01:25:41.823" Score="14" ViewCount="719" Body="&lt;p&gt;Lemma: Assuming eta-equivalence we have that &lt;code&gt;(\x -&amp;gt; ⊥) = ⊥ :: A -&amp;gt; B&lt;/code&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Proof: &lt;code&gt;⊥ = (\x -&amp;gt; ⊥ x)&lt;/code&gt; by eta-equivalence, and &lt;code&gt;(\x -&amp;gt; ⊥ x) = (\x -&amp;gt; ⊥)&lt;/code&gt; by reduction under the lambda.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The Haskell 2010 report, section 6.2 specifies the &lt;code&gt;seq&lt;/code&gt; function by two equations:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&#xA;seq :: a -&gt; b -&gt; b&#xA;seq ⊥ b  =  ⊥&#xA;seq a b  =  b, if a ≠ ⊥&#xA;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;It then claims &quot;As a consequence, ⊥ is not the same as \x -&gt; ⊥, since seq can be used to distinguish them.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is, is that really a consequence of the definition of &lt;code&gt;seq&lt;/code&gt;?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The implicit argument seems to be that &lt;code&gt;seq&lt;/code&gt; would be uncomputable if &lt;code&gt;seq (\x -&amp;gt; ⊥) b = ⊥&lt;/code&gt;.  However I haven't been able to prove that such a &lt;code&gt;seq&lt;/code&gt; would be uncomputable.  It seems to me such a &lt;code&gt;seq&lt;/code&gt; is both monotone, and continuous, which puts it in the the realm of being computable.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;An algorithm that implement such as seq might work by attempting to search for for some &lt;code&gt;x&lt;/code&gt; where &lt;code&gt;f x ≠ ⊥&lt;/code&gt; by enumerating the domain of &lt;code&gt;f&lt;/code&gt; starting with ⊥. Though such an implementation, even if possible at all, gets pretty hairy once we want to make &lt;code&gt;seq&lt;/code&gt; polymorphic.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a proof that there is no computable &lt;code&gt;seq&lt;/code&gt; that identifies &lt;code&gt;(\x -&amp;gt; ⊥)&lt;/code&gt; with &lt;code&gt;⊥ :: A -&amp;gt; B&lt;/code&gt;?  Alternatively, is there some construction of &lt;code&gt;seq&lt;/code&gt; that does identify &lt;code&gt;(\x -&amp;gt; ⊥)&lt;/code&gt; with &lt;code&gt;⊥ :: A -&amp;gt; B&lt;/code&gt;?&lt;/p&gt;&#xA;" OwnerUserId="4122" LastEditorUserId="270" LastEditDate="2014-03-24T08:17:28.440" LastActivityDate="2014-04-07T10:26:50.833" Title="Is eta-equivalence for functions compatiable with Haskell's seq operation?" Tags="&lt;domain-theory&gt;&lt;haskell&gt;&lt;extensionality&gt;" AnswerCount="4" CommentCount="0" FavoriteCount="13" ContentLicense="CC BY-SA 3.0" />
  <row Id="19167" PostTypeId="1" CreationDate="2013-09-27T04:15:44.323" Score="5" ViewCount="234" Body="&lt;p&gt;I'm currently on the job market and I've seen some open faculty positions in computer science at a business university (which is quite reputable among its kind). While the job opening doesn't emphasize TCS, it's written in such a broad way that my current line of work could easily fit the profile.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;That said, I'm having some concerns before applying:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Will it be difficult/impossible to get PhD students that are interested in TCS? &lt;/li&gt;&#xA;&lt;li&gt;Should I expect a negative bias from funding agencies regarding grants, because of me being at a &quot;non-technical/science&quot;-oriented university?&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="17788" LastEditorUserId="17788" LastEditDate="2013-09-27T10:30:40.113" LastActivityDate="2013-09-27T10:30:40.113" Title="Being a theoretician at a business university?" Tags="&lt;soft-question&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="19168" PostTypeId="1" AcceptedAnswerId="19178" CreationDate="2013-09-27T05:57:50.437" Score="4" ViewCount="434" Body="&lt;p&gt;The scheduling problem (arising from distributed computing) is defined as a decision problem as follows:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Instance:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;A &lt;em&gt;trace&lt;/em&gt; is comprised of $n$ processes histories (denoted $p_0, p_1, \ldots, p_{n-1}$), each of which consisting of a finite sequence of Read and Write operations on &lt;em&gt;multiple shared variables&lt;/em&gt; in program order.&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;An important restriction here is that &lt;em&gt;all the Read operations are on the process&lt;/em&gt; $p_0$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/3tHYW.png&quot; alt=&quot;&amp;quot;simple trace&amp;quot;&quot;&gt; The above figure gives a trace example. Here, $W$ is for Write operation, and $R$ is for Read operation. $Wx1$ means updating the shared variable $x$ to 1. $Ry3$ means reading the shared variable $y$ and returning 3.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Problem:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there some schedule (i.e., a sequence) of all the operations such that:&lt;/p&gt;&#xA;  &#xA;  &lt;ul&gt;&#xA;  &lt;li&gt;the program order between operations is maintained;&lt;/li&gt;&#xA;  &lt;li&gt;in the schedule, each Read should read the value from the latest preceding Write on the same variable.   &lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Example (Cont.):&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;For example, the trace in the above figure can be scheduled as follows:&#xA;  $$Wx1(p_1), Wx1(p_0), Rx1, Wx2(p_1), Wy3, Ry3, Wx2(p_0), Wx1(p_3), Rx1.$$&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Now, I want to study the complexity issue of this decision problem. Specifically, is this decision problem NP-hard?&lt;/strong&gt;&lt;/p&gt;&#xA;" OwnerUserId="12739" LastActivityDate="2013-10-02T08:52:35.513" Title="Is This Scheduling Problem NP-Hard?" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;&lt;dc.distributed-comp&gt;&lt;scheduling&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="19171" PostTypeId="2" ParentId="12268" CreationDate="2013-09-27T07:35:11.073" Score="11" Body="&lt;p&gt;The question whether any fixed graph $H$ is an (induced) subgraph of $G$ is a first-order definable property, i.e., for every $H$ there is a formula $\varphi_H$ ($\psi_H$) such that $H$ is an (induced) subgraph of $G$ if and only if $G \models \varphi_H$ ($G\models\psi_H$). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It was formerly known that the model-checking problem is fixed-parameter tractable on classes of graphs that &lt;a href=&quot;http://ieeexplore.ieee.org/xpl/login.jsp?tp=&amp;amp;arnumber=4276571&amp;amp;tag=1&amp;amp;url=http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=4276571&amp;amp;tag=1&quot;&gt;(locally) exclude a minor&lt;/a&gt; and on classes of &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.170.9781&amp;amp;rep=rep1&amp;amp;type=pdf&quot;&gt;(locally) bounded expansion&lt;/a&gt;. Recently, Grohe, Kreutzer and S. anounced an even more general meta-theorem, stating that every first-order property can be decided in almost linear time on nowhere dense classes of graphs. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For your question this implies the following. Let $H$ be a fixed rooted tree. Then it can be decided in linear time whether $H$ is an (induced) subgraph of an input (directed or undirected) graph $G$ if $G$ is planar, or more generally is from a class that excludes a minor or from a class of bounded expansion. The problem can be decided in almost linear time if $G$ is from a class that locally excludes a minor or from a class of locally bounded expansion or most generally, $G$ is from a nowhere dense class of graphs. &lt;/p&gt;&#xA;" OwnerUserId="17644" LastActivityDate="2013-09-27T07:35:11.073" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19172" PostTypeId="1" AcceptedAnswerId="20856" CreationDate="2013-09-27T09:15:52.213" Score="9" ViewCount="1385" Body="&lt;p&gt;How many cycles $C_k$ $(k \geq 3)$ are there in a $n $ vertex graph such that graph doesn't have any cycle $C_m$ $(m&amp;gt;k)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example $n=5$, $k=3$, then graph will have at most two $C_3$'s so that $G$ will not have any $C_k (k &amp;gt; 3).$  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am thinking that there are $O(n)$ cycles will be there satisfying above conditions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can some one help me out.&lt;/p&gt;&#xA;" OwnerUserId="14028" LastActivityDate="2014-02-04T07:42:55.123" Title="Number of cycles in a Graph" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;" AnswerCount="2" CommentCount="5" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="19173" PostTypeId="1" CreationDate="2013-09-27T15:32:01.103" Score="3" ViewCount="88" Body="&lt;p&gt;Suppose we have a collection of linear subspaces $\mathbb{C}$ lying in $\mathbb{R}^d$, such that each $c \in \mathbb{C}$ is of dimension at most $k \leq d$ for a given fixed $k$ and $|\mathbb{C}| = n$. Now we want to find the subspace of dimension at most $k$ closest to each $c \in \mathbb{C}$ under the sin-theta distance. (Note we do not restrict this optimal subspace to be chosen from $\mathbb{C}$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;How can compute this and how much time would this take? This seems simple enough that it might be standard and well-known, perhaps under the right geometric transformation? Even an exponential time algorithm would be very useful - I am more interested in computability rather than optimal efficiency.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To be more precise, define the sin-theta distance for two linear subspaces $L$ and $M$ as follows:&#xA;$\sin \theta(L,M) = \max_{x \in L, ||x|| = 1} \min_{y \in M, ||y|| = 1} || x - y||_2$. (This is symmetric if and only if $L$ and $M$ are of equal dimensionality.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now if we let $S$ be the space of all subspaces of $\mathbb{R}^d$ of rank at most $k$ our problem reduces to finding $\text{argmin}_{s \in S} \sin \theta (\mathbb{C}, s)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note: Having though about this where all the subspaces are of dimension exactly $k$, the problem simply maps to having a collection $\bar{\mathbb{C}}$ of $n$ points on the surface of the sphere $\mathbb{S}^{d-1}$ and finding the point closest to them. It becomes more tricky where the subspaces in $\mathbb{C}$ are of varying dimensions, as you introduce more degrees of freedom.&lt;/p&gt;&#xA;" OwnerUserId="2302" LastEditorUserId="2302" LastEditDate="2013-09-27T20:13:10.590" LastActivityDate="2013-09-27T20:13:10.590" Title="Finding the closest subspace to a collection of subspaces" Tags="&lt;linear-algebra&gt;&lt;spectral&gt;" AnswerCount="0" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="19174" PostTypeId="1" CreationDate="2013-09-27T15:32:45.420" Score="1" ViewCount="98" Body="&lt;p&gt;Let $I$ be the set of all recursively enumerable languages over an alphabet $\Sigma$.&#xA;Let $$S_\alpha=\{i\in I : \alpha\in i\}$$ for all $\alpha\in\Sigma^*$.&#xA;Then $$E=\{S_\alpha:\alpha\in K\subseteq\Sigma^*\}$$ can be extended to an ultrafilter $\mathscr{U}$ since $E$ has the finite intersection property:&#xA;$$\{{\alpha_1},\dots,{\alpha_n}\}\in S_{\alpha_1}\cap\dots\cap S_{\alpha_n}\text { and }\{{\alpha_1},\dots,{\alpha_n}\}\in I \text{ since it's a finite language}$$&#xA;We can define $L=\{\alpha:\{i\in I:\alpha\in i\}\in \mathscr{U}\}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is the relationship between $L$ and $K$?&lt;/p&gt;&#xA;" OwnerUserId="17677" LastEditorUserId="17677" LastEditDate="2013-09-27T15:45:00.537" LastActivityDate="2013-09-27T15:45:00.537" Title="Formal languages induced by ultrafilters" Tags="&lt;fl.formal-languages&gt;" AnswerCount="0" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19175" PostTypeId="2" ParentId="19165" CreationDate="2013-09-27T17:35:12.690" Score="2" Body="&lt;p&gt;Note that the specification for &lt;code&gt;seq&lt;/code&gt; which you quote is &lt;em&gt;not&lt;/em&gt; its definition.&#xA; To quote the Haskell report &quot;The function seq is &lt;em&gt;defined by the equations&lt;/em&gt;: [and then the equations you give]&quot;.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;The suggested argument seems to be that seq would be uncomputable if seq (\x -&gt; ⊥) b = ⊥. &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Such behaviour would violate the specification of &lt;code&gt;seq&lt;/code&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Importantly, since &lt;code&gt;seq&lt;/code&gt; is polymorphic, &lt;code&gt;seq&lt;/code&gt; cannot be defined in terms of deconstructors (projections/pattern matching, etc.) on either of the two parameters.  &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there a proof that there is no computable seq that identifies (\x -&gt; ⊥) with ⊥ :: A -&gt; B? &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;If &lt;code&gt;seq' (\x -&amp;gt; ⊥) b&lt;/code&gt;, one might think we could apply the first parameter (which is a function) to some value and then get ⊥ out. But, &lt;code&gt;seq&lt;/code&gt; can never identify the first parameter with a function value (even if it happens to be one for some use of &lt;code&gt;seq&lt;/code&gt;) because of its parametric polymorphic type. Parametricity means we know nothing about the parameters. Furthermore, &lt;code&gt;seq&lt;/code&gt; can never take an expression and decide &quot;is this ⊥?&quot; (cf. the Halting problem), &lt;code&gt;seq&lt;/code&gt; can only try to evaluate it, and itself diverge to ⊥.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What &lt;code&gt;seq&lt;/code&gt; does is to evaluate the first parameter (not fully, but to &quot;weak head normal form&quot; [1], i.e. to the top-most constructor), then return the second parameter. If the first parameter happens to be &lt;code&gt;⊥&lt;/code&gt; (i.e., a non terminating computation) then evaluating it causes &lt;code&gt;seq&lt;/code&gt; to non-terminate, and thus &lt;code&gt;seq ⊥ a = ⊥&lt;/code&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] Free Theorems in the Presence of seq - Johann, Voigtlander &lt;a href=&quot;http://www.iai.uni-bonn.de/~jv/p76-voigtlaender.pdf&quot; rel=&quot;nofollow&quot;&gt;http://www.iai.uni-bonn.de/~jv/p76-voigtlaender.pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="10003" LastEditorUserId="10003" LastEditDate="2013-09-29T01:39:54.717" LastActivityDate="2013-09-29T01:39:54.717" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="19176" PostTypeId="1" AcceptedAnswerId="19676" CreationDate="2013-09-27T20:06:01.950" Score="21" ViewCount="411" Body="&lt;p&gt;Consider language $ \mathtt{EQUALITY} = \{ a^nb^n \mid n \geq 0 \} $. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is known that $ \mathtt{EQUALITY} $ cannot be recognized by any sublogarithmic-space alternating Turing machine (ATM) &lt;a href=&quot;http://link.springer.com/book/10.1007/3-540-58355-6/page/1&quot;&gt;(Szepietowski, 1994)&lt;/a&gt;. (There is an ATM using sublogarithmic space for members but not for all non-members!) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand,  &lt;a href=&quot;http://link.springer.com/chapter/10.1007/3-540-10856-4_72&quot;&gt;Freivalds (1981)&lt;/a&gt; showed that bounded-error constant-space probabilistic Turing machines (PTMs) can recognize $ \mathtt{EQUALITY} $ but only in exponential expected time (&lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/0022000086900450&quot;&gt;Greenberg and Weiss, 1986&lt;/a&gt;). Later, it was shown that no bounded-error $ o(\log\log n) $-space PTM can recognize a non-regular language in polynomial expected time (&lt;a href=&quot;http://epubs.siam.org/doi/abs/10.1137/0219069&quot;&gt;Dwork and Stockmeyer, 1990&lt;/a&gt;). My question is&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;whether poly-time sublogarithmic-space PTMs recognize $ \mathtt{EQUALITY} $ with bounded-error.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="7358" LastEditorUserId="80" LastEditDate="2013-09-28T03:20:59.803" LastActivityDate="2013-11-05T19:01:57.287" Title="Can $\{a^nb^n\}$ be recognized in poly-time probabilistic sublogarithmic-space?" Tags="&lt;space-bounded&gt;&lt;polynomial-time&gt;" AnswerCount="1" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="19177" PostTypeId="2" ParentId="12268" CreationDate="2013-09-27T21:01:17.903" Score="11" Body="&lt;p&gt;It can be solved in randomized expected time $O(2^km)$ where $k$ is the size of the small directed tree to be found and $m$ is the number of edges of the large directed graph in which to find it. See Theorem 6.1 of Alon, N., Yuster, R., and Zwick, U. (1995). Color-coding. &lt;a href=&quot;http://doi.acm.org/10.1145/210332.210337&quot;&gt;J. ACM 42(4): 844–856&lt;/a&gt;. Alon et al. also state that their algorithm can be derandomized but don't give the details for that part; I think the deterministic time may be a little larger, something more like $O(k!\,m)$.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2013-09-27T21:01:17.903" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19178" PostTypeId="2" ParentId="19168" CreationDate="2013-09-27T23:19:52.163" Score="4" Body="&lt;p&gt;This is a possible reduction from 3-partition which is strongly NP-complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a set $A = \{a_1,a_2,...,a_{3m}\}$ of $3m$ positibe integers, and a target sum $B$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The basic idea is simple: if we found a read sequence like $Rx1\; Rx2\; Rx1$, even if the last write of $x$ before the sequence was a $Wx2$, the first $Rx1$ forces to &quot;use&quot; another $Wx2$ to satisfy the $Rx2$ in the middle.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We represent each $a_i$ with a &lt;em&gt;unary&lt;/em&gt; chain $P_{a_i}$ made of $a_i+2$ write operations: the first operation is a $Wx2$ (green boxes in the figure), followed by $a_i$ write operations $Wy2$ (gray boxes), followed by a single $Wz2$ (blue boxes) write operation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We add three &lt;em&gt;auxiliary&lt;/em&gt; chains $P_{c_1}, P_{c_2}, P_{c_3}$. $P_{c_1}$ made with $4m$ write operations $Wx1$, $P_{c_2}$ made with $B \cdot m = \sum_{i=1}^{3m} a_i$ write operations $Wy1$,  $P_{c_3}$ made with $4m$ write operations $Wz1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now we build the chain $P_0$ made only with read operations in the following way:&#xA;concatenate $m$ &lt;em&gt;slot subsequences&lt;/em&gt;; each slot subsequence is made with:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;a leading &lt;em&gt;open sequence&lt;/em&gt; $Rx1\; Rx2\;  Rx1\;  Rx2\;  Rx1\;  Rx2\;  Rx1$, that forces to &lt;em&gt;pop&lt;/em&gt; three operations $Wx2$ from three distinct $P_{a_i}$ and &lt;em&gt;open&lt;/em&gt; those chains;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;followed by a &lt;em&gt;sum sequence&lt;/em&gt; $Ry1\; Ry2$ repeated $B$ times, that forces to pop $B$ operations $Ry2$ from the chains that are currently open;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;followed by a trailing &lt;em&gt;close sequence&lt;/em&gt; $Rz1\; Rz2\;  Rz1\;  Rz2\;  Rz1\;  Rz2\;  Rz1$, that forces to &lt;em&gt;pop&lt;/em&gt; three operations $Wz2$ from the end of the chains that are currently opened.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Note that if a chain is opened and some $Wy2$ are still there and in order to complete the current close sequence  we pop them  (without a corresponding $Ry2$) to reach the final $Wz2$, in one of the next slot subsequences there will be not enough $Wy2$ to reach the close sequence. And if we are in the middle of a sum sequence and we need a $Wy2$ but we've already reached the end of all the currently opened $a_i$ chains, we cannot open another chain to recover a $Wy2$ to complete the sum sequence, otherwise in one of the next slot subsequences there will be not enough $Wx2$ to complete an open sequence.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The figure represents the instance: $A = \{ 3,3,2,2,2,2 \}$, $m=2$, $B=7$ (note that every $a_i$ should be between $B/4$ and $B/2$ to force exactly three elements in each &lt;em&gt;slot sequence&lt;/em&gt;) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/z6giR.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;NOTE: as noted in the comments, the trailing $Rx1$ (resp. $Rz1$) of the open (resp. close) sequences are unuseful and they can be removed (and $P_{c1}, P_{c3}$ shortened to $3m$ elements).&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2013-10-02T08:52:35.513" LastActivityDate="2013-10-02T08:52:35.513" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="19179" PostTypeId="1" AcceptedAnswerId="19207" CreationDate="2013-09-28T10:59:28.710" Score="1" ViewCount="622" Body="&lt;p&gt;Many operations on arrays have $O(n)$ complexity. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we represent arrays as &lt;a href=&quot;http://en.wikipedia.org/wiki/Accessor_method&quot; rel=&quot;nofollow&quot;&gt;accessors methods&lt;/a&gt;, many of them could be done in $O(1)$. For example, the $i$th item in the reverse of an array $A$ of size $n$ is given by $reverse(A).i = A[n-1-i]$. So we can define reverse as:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$reverse := \lambda A:array \ \lambda i:int. \ A[n-1-i]$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;and similarly for other operations like &#xA;slicing, zipping, concatenation, and so on.&#xA;This technique allows us to implement these complicated operations in constant time without touching the original memory at all.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;What is the formal name of this structure? &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;What are the negative aspects of using this structure compared to the standard structure?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="17388" LastEditorUserId="17388" LastEditDate="2013-09-29T22:44:55.663" LastActivityDate="2013-09-30T12:36:11.117" Title="Is there an array structure that allows for O(1) complexity for reverse, zip, slice etc operations?" Tags="&lt;ds.data-structures&gt;&lt;pl.programming-languages&gt;&lt;functional-programming&gt;" AnswerCount="3" CommentCount="12" ContentLicense="CC BY-SA 3.0" />
  <row Id="19180" PostTypeId="1" CreationDate="2013-09-28T16:30:49.853" Score="0" ViewCount="70" Body="&lt;p&gt;There is a symmetric sparse matrix with large front. This matrix is created from graph. Element with position $(i,j)$ is not zero if nodes $i$ and $j$ are connected. &#xA;What algorithms can be used for re-enumerating graph nodes to create matrix with lesser front?&#xA;I have only one option - &lt;a href=&quot;http://en.wikipedia.org/wiki/Cuthill%E2%80%93McKee_algorithm&quot; rel=&quot;nofollow&quot;&gt;the Cuthill-McKee algorithm&lt;/a&gt;. Is there anything else?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks in advance.&lt;/p&gt;&#xA;" OwnerUserId="17803" LastEditorUserId="-1" LastEditDate="2013-09-29T01:00:38.193" LastActivityDate="2013-09-29T01:00:38.193" Title="Sparse matrix front reducing" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;sparse-matrix&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="19181" PostTypeId="1" AcceptedAnswerId="19186" CreationDate="2013-09-28T17:51:19.757" Score="2" ViewCount="867" Body="&lt;p&gt;Barrington's Theorem gives us that polynomial size and bounded width Branching programs can compute exactly functions in $NC_1$, are there any results known about read-once BPs - bounded width and polynomial size?&lt;/p&gt;&#xA;" OwnerUserId="14116" LastEditorUserId="14116" LastEditDate="2013-09-29T15:49:16.847" LastActivityDate="2013-09-29T15:49:16.847" Title="What functions can read-once branching programs compute?" Tags="&lt;cc.complexity-theory&gt;&lt;circuit-complexity&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="19182" PostTypeId="2" ParentId="16730" CreationDate="2013-09-28T19:14:45.520" Score="2" Body="&lt;p&gt;It is a standard fact that if $f:\{-,1,1\}^n \to \{-1,1\}$ is a function of Fourier degree $d$, then its Fourier coefficients are multiples of $2^{-d+1}$. In particular, every non-zero coefficient must be at least $2^{-d+1}$ in absolute value. Therefore, by Parseval, there are at most $2^{2(d-1)}$ non-zero coefficients, and so the spectral norm of $f$ is at most&#xA;$$\sum_{S}|\hat{f}(S)| \leq \sqrt{2^{2(d-1)}}\sqrt{\sum_{S}\hat{f}(S)^2} = 2^{d-1}$$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This bound is tight. For example the complete binary decision tree of depth $d$ has spectral norm $2^{d-1}$. This can be shown, e.g., by induction on $d$.&#xA;The address function has also maximal possible spectral norm.&lt;/p&gt;&#xA;" OwnerUserId="15711" LastEditorUserId="15711" LastEditDate="2013-09-28T19:34:04.537" LastActivityDate="2013-09-28T19:34:04.537" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19183" PostTypeId="2" ParentId="18918" CreationDate="2013-09-28T21:51:55.857" Score="4" Body="&lt;p&gt;The algorithm is described in the proof of Theorem 9. For every proper minor closed class $\mathcal{F}$ and every planar graph $H$ there is a constant $c(\mathcal{F}, H)$ such that if the tree-width of $G\in\mathcal{F}$ is at least $c$, then the answer is positive. Furthermore, the property of containing $H$ as an induced minor is an MSO definable property (and the length of the formula depends on $H$ only). Hence you first check whether the tree-depth of $G$ is smaller than $c$ and compute a tree-decomposition (e.g. by Bodlaender's algorithm). If so, you take an MSO model-checker and check whether $H$ is an induced minor of $G$ by testing whether $G$ satisfies the appropriate formula. If not, you simply answer yes. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note though that the constant $c$ depends on the class $\mathcal{F}$ and if you don't have an explicit list of excluded minors, there might be no constructive way to find them. You cannot just take a bipartite graph and apply the theorem. The graph must be from some class $\mathcal{F}$ with the above properties. &lt;/p&gt;&#xA;" OwnerUserId="17644" LastActivityDate="2013-09-28T21:51:55.857" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19184" PostTypeId="1" CreationDate="2013-09-28T22:54:02.207" Score="2" ViewCount="76" Body="&lt;p&gt;It is known that first order logic is too general to be decidable. Adding axioms with special meaning (e.g. expressing notions such as necessity/obligation, provability, etc.) leads us to modal logics but some of them (especially multidimensional fusions or products of them) are undecidable too.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As I understand, then undecidability generally is created by quantifiers - it is quite hard to prove of refute formula, that should be valid in all worlds (if accessibility relation allow them).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The undecidability can be handled by several approaches:&#xA;1) lowering the expressivity of the logic or considering the less expressive fragments;&#xA;2) following ideas of max-SAT problems;&#xA;3) moving to approximate reasoning (probabilistic, fuzzy-logic, etc.).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;All these approaches has this drawback: they tries to reformulate or make less relevant the original problem that was created as conscise and clear model of the real world problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Maybe there is better way how to approach such undecidable situations - simply by adding additional axioms that reflect the real-world situation. E.g. axiom can be added that the number of variables is bounded in the logic (there can be different axioms depending on how we model the reason why there are only finite number of instances of some class in the world - e.g. bounded resources, restricion by law, etc.).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So - &lt;strong&gt;&lt;em&gt;the question is - is there some research trend that investigates the modal logics with aim - what axioms should be added to them the regain the decidability of logics&lt;/em&gt;&lt;/strong&gt; (and according - the suitability for them for automated reasoning tasks, for use in autonomous systems)?&lt;/p&gt;&#xA;" OwnerUserId="9317" LastActivityDate="2013-09-28T22:54:02.207" Title="Regaining decidability by adding axioms that model real world situation" Tags="&lt;automated-theorem-proving&gt;&lt;undecidability&gt;&lt;modal-logic&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19185" PostTypeId="2" ParentId="19179" CreationDate="2013-09-28T23:10:30.893" Score="6" Body="&lt;p&gt;This is not completely useless, and this sort of thing does indeed see a few niche uses, for instance when we want to access an array backwards it's faster to loop over &lt;code&gt;array[n-i-1]&lt;/code&gt; rather than calling &lt;code&gt;reverse(array)&lt;/code&gt; followed by a loop over &lt;code&gt;array[i]&lt;/code&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The flaw I'm seeing here is that this sort of thing will cause access times to scale with the number of times the data in the list have been fiddled with. After $k$ modifications to the data, you'll naturally take at least $O(k)$ time to access the data. If I want to perform $O(n^2)$ non-lookup list transformations I'm not going to be happy unless you flatten it back down to an array first. Changing the data from a function representation, proposed by you, to an array representation takes one access per element, so $O(nk)$ time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;How frequently should we change the representation back? If we rebuild the array after every $l$ operations on it, we need to spend $O(nl)$ time to rebuild every $l$ operations, so the amortised complexity of each operation becomes $O(n)$. The complexity of a lookup becomes $O(l)$ in the worst case. This is worse than an array representation in general.&lt;/p&gt;&#xA;" OwnerUserId="16881" LastActivityDate="2013-09-28T23:10:30.893" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="19186" PostTypeId="2" ParentId="19181" CreationDate="2013-09-29T00:00:01.520" Score="7" Body="&lt;p&gt;Barrington's theorem shows that &lt;strong&gt;polynomial size, bounded width&lt;/strong&gt; branching programs compute exactly the languages in $NC^1$. (Specifically, he shows this for branching programs with width at least 5, and a later result shows that 5 is necessary to capture $NC^1$). However, it's easy to see that &lt;strong&gt;any&lt;/strong&gt; function is computable by an exponential size, read-once branching program (just take a decision tree which branches on every variable and outputs the truth-table of the function). If we wanted to focus on, say, polynomial size, read-once branching programs, then nothing is really known in terms of a standard complexity class. The &quot;bounded replication&quot; classes of branching programs (i.e. branching programs with a restriction on the number of times variables appear) don't really offer themselves well to such characterizations. Rather, the complexity classes for which we &lt;strong&gt;do&lt;/strong&gt; have branching program characterizations are natural, given the model (i.e. like $L/poly$) or given via an algebraic approach, like Barrington's theorem or related results (e.g. &lt;a href=&quot;http://dl.acm.org/citation.cfm?doid=48014.63138&quot;&gt;this paper&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is an &lt;a href=&quot;http://link.springer.com/book/10.1007/978-3-642-24508-4/page/1&quot;&gt;excellent book&lt;/a&gt; by Jukna which studies different types of branching programs in depth.&lt;/p&gt;&#xA;" OwnerUserId="2652" LastEditorUserId="2652" LastEditDate="2013-09-29T00:20:55.997" LastActivityDate="2013-09-29T00:20:55.997" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19187" PostTypeId="1" AcceptedAnswerId="19188" CreationDate="2013-09-29T00:53:42.197" Score="1" ViewCount="381" Body="&lt;p&gt;I was reading up proof of Ladner's Theorem and I found this :&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\mathrm{SATH} = \{ (x,\mathrm{pad}) \mid x \in \mathrm{SAT} \text{ and } |\mathrm{pad}|=|x|^{H(|x|)}\}.$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If SATH is NPC (which implies that SATH not in P) and $H(|x|)$ goes to inﬁnity, &#xA;then SAT in P!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Proof: Suppose $f(x) = (x',\mathrm{pad})$, such that $|(x',\mathrm{pad})| \leq c|x|^c$. If $|x'|&amp;gt;|x|/2$, &#xA;then $|\mathrm{pad}| = |x',|x|^{H(|x|)} &amp;gt; c|x|^c$ (for long enough $x$). So $|x'|$ is &#xA;at most $|x|/2$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Repeat to solve SAT.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What does it mean to repeat and solve sat? How does this make SAT in P.&lt;/p&gt;&#xA;" OwnerUserId="17807" LastEditorUserId="17082" LastEditDate="2013-09-29T12:35:21.690" LastActivityDate="2013-09-29T12:35:21.690" Title="Ladner's Theroem Proof" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="19188" PostTypeId="2" ParentId="19187" CreationDate="2013-09-29T03:03:43.840" Score="4" Body="&lt;p&gt;&lt;strong&gt;Recap:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;At this stage in the proof of Ladner's Theorem, it has already been shown that $H(n)$ tends towards $\infty$ as $n$ does. You are assuming that $\text{SAT}_H$is $\text{NP-complete}$ for the sake of contradiction. Equivalently: $\text{SAT} \le_p \text{SAT}_H$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The mapping used in the reduction, $f(x)$, maps $\langle \varphi , pad \rangle$ to a $\langle \varphi' , pad \rangle$. Because of the polynomial time limitation, $\langle \varphi' , pad \rangle$ has to be, at most, of size $c\left|\langle \varphi , pad \rangle\right|^c$. If the size of $\varphi$ remains unchanged, then the length of the padding causes $\langle \varphi' , pad \rangle$ to be too large.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The only alternative is to assume that $f(x)$ somehow reduces the size of $\varphi$ to compensate for possible growth of the padding. It is pointed out that size of $\varphi'$ is less than or equal to $\left|\varphi\right|/2$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The primary observation here is that $f(x)$ has significantly reduced the size of the $\varphi$ we need to consider in polynomial time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Answer:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Take padding out of the picture completely and just consider instances of $\text{SAT}$ (with formula $\varphi$). Take a modification of $f$ to ignore padding and compose it $\text{log}_2(\left|\varphi\right|)$ times on our input $\varphi$. The result is a boolean formula, $\varphi^*$, of constant size that is satisfiable if and only if $\varphi$ is. The satisfiability of $\varphi^*$can trivially be determined in far less than polynomial time. So overall, this entire procedure must decide any $SAT$ instance in polynomial time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Because this violates Ladner's assumption that $\text{P} \ne \text{NP}$, $\text{SAT}_H$ could not possibly be $\text{NP-complete}$.&lt;/p&gt;&#xA;" OwnerUserId="17465" LastEditorUserId="17465" LastEditDate="2013-09-29T03:36:30.940" LastActivityDate="2013-09-29T03:36:30.940" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19189" PostTypeId="1" CreationDate="2013-09-29T03:07:56.117" Score="24" ViewCount="1068" Body="&lt;p&gt;Polya's counting theorem leads to an algorithm for counting (precisely) the number of isomorphism types of graphs with $n$ vertices in $\exp (\sqrt n )$ steps. From Polya theorem you get a formula where you need to run over all conjugacy classes of the symmetric group $S_n$ and the number of conjugacy classes in $S_n$ is the number of partitions of the number $n$ known to behave like $\exp (\sqrt n )$.  (There is a famous approximation for the partition function by Hardy and Ramanujan and subsequent expansions.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question 1:&lt;/strong&gt; Is there a better algorithm? Can you improve the number of steps below $\exp (\sqrt n)$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Actually, I would be interested also by a different algorithm even if not better.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;While at it: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question 2 (updated):&lt;/strong&gt;  What is the smallest number of arithmetic operations for an algorithm to count the number of partitions of an integer $n$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(I asked originally about a better than $\exp (\sqrt n)$ time algorithm for counting the number of partitions of an integer n, but Sasho indicated an $O(n^{3/2}$ algorithm.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question 3:&lt;/strong&gt; Since Questions 1 and 2 are questions with a &quot;tiny input&quot; (a single integer $n$)  is computational complexity theory adequate to ask and offer useful answers (reductions etc.) to these (and similar) question?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question 4&lt;/strong&gt;: How much better can you do if you want only to approximate the number of isomorphism types by Polya theory or by other means?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question 5:&lt;/strong&gt; What is the complexity of sampling precisely or approximately isomorphism types of graphs with $n$ vertices?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question 6:&lt;/strong&gt; What is the complexity of questions 1,4,5  if instead of dealing with all graphs on $n$ vertices we deal with subgraphs of an input graph $G$ with $n$ vertices. (This makes these problems ordinary &quot;big input&quot; problems. Here, I am not aware of a $\exp (\sqrt n$) algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question 7:&lt;/strong&gt; Are these problems related in some way to the graph isomorphism problem?&lt;/p&gt;&#xA;" OwnerUserId="712" LastEditorUserId="712" LastEditDate="2013-09-29T05:49:09.107" LastActivityDate="2018-03-07T21:28:41.607" Title="Counting Isomorphism Types of Graphs" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;counting-complexity&gt;&lt;graph-isomorphism&gt;" AnswerCount="0" CommentCount="9" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="19191" PostTypeId="1" AcceptedAnswerId="19211" CreationDate="2013-09-29T14:48:44.567" Score="11" ViewCount="669" Body="&lt;p&gt;I am interested to study Graph Isomorphism (GI) complete problems.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the Paper &quot; Problems Polynomially Equivalent to Graph Isomorphism&quot; by Kellogg S. Booth, (1979), proved that many basic problems are GI complete by using Edge replacement techniques, Composition techniques etc. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would like to learn some more techniques which are used in recent papers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can some one suggest me some recent papers which are more concentrated in proving some graph class is GI complete.   &lt;/p&gt;&#xA;" OwnerUserId="14028" LastEditorUserId="5385" LastEditDate="2013-09-29T18:30:16.827" LastActivityDate="2013-09-30T15:57:00.397" Title="On Graph Isomorphism Complete Problems" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;graph-isomorphism&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="19193" PostTypeId="1" AcceptedAnswerId="19196" CreationDate="2013-09-29T16:47:43.440" Score="1" ViewCount="215" Body="&lt;p&gt;I have a set $S$, and a partial order relation $\preceq$ defined on $S$. The way this partial order is given to me is through a function $f:S\times S \to \{true, false\}$,  where $f(a,b) = true$ if and only if $a\preceq b$. Given this setup, I can construct a directed graph $D = (S, E)$, where $E= \{(a,b) \in S\times S | f(a,b) = true\}$. I can find all the elements of $E$ in  time $|S|^2/2$ by examining all the possibilities. I am looking for an algorithm that can take advantage of the properties of partial order (in particular, transitivity), to reduce the expected time to find all the elements of $E$ to a linear order function of $|S|$.  &lt;/p&gt;&#xA;" OwnerUserId="17815" LastEditorUserId="17815" LastEditDate="2013-09-29T19:27:43.913" LastActivityDate="2013-09-29T20:06:33.400" Title="How to find the set of edges for the directed graph associated with a partial order?" Tags="&lt;graph-algorithms&gt;&lt;directed-acyclic-graph&gt;&lt;partial-order&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="19194" PostTypeId="1" CreationDate="2013-09-29T16:47:46.120" Score="5" ViewCount="214" Body="&lt;p&gt;I am interested in the conversion of  $\sum_{i=1}^n x_i = y$ to 3-CNF.  Here $x_i$ is a binary 0/1 variable and $y$ is some positive integer. There are a number of practical methods for doing this, some of which are in this &lt;a href=&quot;https://cs.stackexchange.com/a/6522/755&quot;&gt;answer&lt;/a&gt;.  What is known about the minimum possible size however? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Define a function $f(n,y)$ as the minimum size of a logical formula which is equivalent to the question: does $\sum_{i=1}^n x_i = y$? What is known about  $f(n,y)$?   Is the exact value of $f(n,y)$ known for small values $n$ and $y$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT&lt;/strong&gt; Kaveh has formalized my intended question in the final part of his answer. From there we learn that finding any lower bound might be hard. I am still interested to know what the best upper bounds are, especially for small problem sizes.&lt;/p&gt;&#xA;" OwnerUserId="17390" LastEditorUserId="-1" LastEditDate="2017-04-13T12:48:30.830" LastActivityDate="2013-10-02T10:02:55.917" Title="Lower bounds for formulae sizes for addition" Tags="&lt;cc.complexity-theory&gt;&lt;lo.logic&gt;&lt;lower-bounds&gt;&lt;boolean-functions&gt;" AnswerCount="1" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="19195" PostTypeId="1" CreationDate="2013-09-29T18:00:28.097" Score="0" ViewCount="845" Body="&lt;p&gt;I have to implement an algorithm that solves the multi-selection problem.&#xA;The multiselection problem is:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Given a set S of n elements drawn from a linearly ordered set, and a set $K = {k_{1}, &amp;gt;k_{2},...,k_{r}}$ of positive integers between 1 and n, the multiselection problem is to &gt;select the $k_{i}th$ smallest element for all values of i, $1 \le i \le r$&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I need to solve the average case on $ \theta(n log p) $.&#xA;I've found a paper that implements the solution I need, but it assumes that there are no repeated numbers on the set S. The problem is that I can't assume that and I don't know how to adapt the algorithm of that paper to support repeated numbers.&#xA;The paper is here: &lt;a href=&quot;http://www.ccse.kfupm.edu.sa/~suwaiyel/publications/multiselection_parCom.pdf&quot; rel=&quot;nofollow&quot;&gt;http://www.ccse.kfupm.edu.sa/~suwaiyel/publications/multiselection_parCom.pdf&lt;/a&gt; &#xA;and the algorithm is on the second page. Any tips are welcome!&lt;/p&gt;&#xA;" OwnerUserId="17816" LastActivityDate="2013-09-29T18:00:28.097" Title="Efficient multi-selection algorithm" Tags="&lt;selection&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="19196" PostTypeId="2" ParentId="19193" CreationDate="2013-09-29T20:06:33.400" Score="8" Body="&lt;p&gt;As Yury already mentioned, the output size can be too large to hope for subquadratic time, when measured as a function of the input size $n$. But even when the output size is small, very little can be done. In particular, suppose that the input is a partial order with a single comparable pair, chosen uniformly at random among all such partial orders. Then the output size is $O(1)$ but nevertheless it takes $\Omega(n^2)$ queries to find the comparable pair. This is true regardless of whether you're considering only deterministic algorithms or whether you're doing expected case analysis of randomized algorithms.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2013-09-29T20:06:33.400" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19197" PostTypeId="2" ParentId="1198" CreationDate="2013-09-29T21:01:16.113" Score="4" Body="&lt;p&gt;&lt;a href=&quot;http://www.heidelberg-laureate-forum.org/event_2013/&quot; rel=&quot;nofollow&quot;&gt;Videos&lt;/a&gt; of talks by several Abel, Fields and Turing laureates at &lt;a href=&quot;http://www.heidelberg-laureate-forum.org&quot; rel=&quot;nofollow&quot;&gt;Heidelberg Laureate Forum&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="186" LastActivityDate="2013-09-29T21:01:16.113" CommentCount="0" CommunityOwnedDate="2013-09-29T21:01:16.113" ContentLicense="CC BY-SA 3.0" />
  <row Id="19198" PostTypeId="2" ParentId="19179" CreationDate="2013-09-29T22:17:23.983" Score="2" Body="&lt;p&gt;The issue is that you are not computing anything, &lt;strong&gt;you are simply postponing them for the time that the array items need to be accessed&lt;/strong&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is worst in general (regarding the time efficiency of the operations) because every time we need to perform an access operation we need to perform all of these computations again. Even if we are performing the access operation only once on each item, it can be more efficient to perform all similar operations at once.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It would only be useful if you are going to access very few elements of the array over time, in which case there is probably no point to perform these operations on the whole array. We can simply compute the index and access it directly. If you are not using the intermediate arrays in whole then don't compute them, only compute those which you need to access a considerable number of times.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;ps: many pure functional programming language do not have environment so there is simply no way of storing the resulting values. However even there you can do either &lt;a href=&quot;http://en.wikipedia.org/wiki/Lazy_evaluation&quot; rel=&quot;nofollow&quot;&gt;lazy evaluation&lt;/a&gt; or &lt;a href=&quot;http://en.wikipedia.org/wiki/Eager_evaluation&quot; rel=&quot;nofollow&quot;&gt;eager evaluation&lt;/a&gt; (or other evaluation strategies) and what you are describing seems to be similar to the lazy evaluation: not evaluating until we really need the value.&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2013-09-29T22:36:17.283" LastActivityDate="2013-09-29T22:36:17.283" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="19202" PostTypeId="2" ParentId="19194" CreationDate="2013-09-30T04:06:38.670" Score="2" Body="&lt;p&gt;Counting the number of 1s in a given binary string is $\mathsf{TC^0}$-complete and cannot be decided using any polynomial-size CNF. In fact you need exponentially large CNFs to decide them. So if you want $y$ to be part of the input then the size is going to be exponential in $n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $y$ is fixed, then there are CNF's with $O({n \choose y})$ gates: check if any $y$bits of $x$ are 1: &#xA;$$\exists I \in {n \choose y} \ \forall j \in I. \ x_{j} \land \forall j\notin I. \ \lnot x_j $$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For $y = \frac{n}{2}$ this gives an exponential-size CNF. I haven't checked it but I think the proof for parity not in $\mathsf{AC^0}$ can be adopted to prove an exponential size lower-bound for this function.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;As I wrote before, in case we are interested in satisfiability and a reduction to 3CNF-SAT then the size is constant as we can decide in polynomial-time if the equality holds or not and depending on the answer return $\top$ or $\bot$.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Another question is to look for a CNF $\varphi(\vec{x}, \vec{y}, \vec{w})$ such that for all $\vec{a}$ and $\vec{b}$, $\Sigma_{1 \leq i \leq n} a_i = b$ holds iff $\varphi(\vec{a}, \vec{b}, \vec{w})$ is satisfiable, i.e. $\exists \vec{w} \ \varphi(\vec{a}, \vec{b}, \vec{w})$ holds. The lower-bound does not apply to such formula, in fact for any langauge $L \in \mathsf{NP}$ there is a polynomial-size CNF $\varphi(\vec{x},\vec{w})$ s.t.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$ x \in L \Leftrightarrow \exists \vec{w} \ \varphi(\vec{x},\vec{w}).$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I don't know what is the best known CNF size for &#xA;$\Sigma_{1 \leq i \leq n} x_i = y$ in this sense.&#xA;I don't think there is any good lower-bound for the following reason:&#xA;the reduction from circuit-SAT to 3CNF-SAT is very efficient: linear number of new variables, linear increase in size.&#xA;Any lower-bound would also give a similar lower-bound on the circuit size for deciding the equation and in general we don't have good circuit size lower-bounds.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An obvious upper-bound can be obtained from the same idea: the equation can be decided using two Threshold and one And, so this has a constant size $\mathsf{TC^0}$ circuit. The upper-bound follows from reducing evaluation of a $\mathsf{TC^0}$ circuit to 3CNF-SAT.&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2013-10-02T05:10:15.307" LastActivityDate="2013-10-02T05:10:15.307" CommentCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="19203" PostTypeId="2" ParentId="14664" CreationDate="2013-09-30T08:07:52.637" Score="3" Body="&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;&quot;Lower elementary functions are in &lt;b&gt;EXP&lt;/b&gt;&quot; is correct. &#xA;They are in fact in &lt;b&gt;DPSPACE&lt;/b&gt;(&lt;i&gt;n&lt;/i&gt;);&#xA;as can for instance be seen from structural induction.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;It is shown here [1] that Boolean satisfiability SAT lies in the lowest level&#xA;&lt;b&gt;E&lt;/b&gt;&lt;sub&gt;0&lt;/sub&gt; of the Grzegorczyk Hierarchy, that is with bounded recursion instead of bounded summation.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;[1] Cristian Grozea: NP Predicates Computable in the Weakest Level of the Grzegorczyck (sic!) &#xA;Hierarchy. &lt;i&gt;Journal of Automata, Languages and Combinatorics&lt;/i&gt; &lt;b&gt;9(2/3)&lt;/b&gt;: 269-279 (2004).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The basic idea is to encode the given formula of binary length &lt;i&gt;n&lt;/i&gt; &#xA;into an integer &lt;i&gt;N&lt;/i&gt; of value roughly exponential in &lt;i&gt;n&lt;/i&gt;; and then&#xA;express the existence of a satisfying assignment in terms of&#xA;quantification bounded by said &lt;i&gt;N&lt;/i&gt; (rather than &lt;i&gt;n&lt;/i&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This method seems to carry over from &lt;b&gt;E&lt;/b&gt;&lt;sub&gt;0&lt;/sub&gt; to &lt;i&gt;Lower Elementary&lt;/i&gt;&lt;br&gt;&#xA;(and to generalize from SAT to QBF&lt;sub&gt;&lt;i&gt;k&lt;/i&gt;&lt;/sub&gt;&#xA;for arbitrary but fixed &lt;i&gt;k&lt;/i&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It does not imply &lt;b&gt;E&lt;/b&gt;&lt;sub&gt;0&lt;/sub&gt; to contain &lt;b&gt;NP&lt;/b&gt; (or even &lt;b&gt;P&lt;/b&gt; for that matter), &#xA;though, because polytime computations are known to leave &lt;b&gt;E&lt;/b&gt;&lt;sub&gt;2&lt;/sub&gt;.&lt;/p&gt;&#xA;" OwnerUserId="17822" LastEditorUserId="17822" LastEditDate="2013-09-30T08:13:49.353" LastActivityDate="2013-09-30T08:13:49.353" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19204" PostTypeId="1" CreationDate="2013-09-30T08:56:20.463" Score="4" ViewCount="90" Body="&lt;p&gt;I work in the algebra $R$ of reflexive, transitive relations over some set $S$, ordered by subset inclusion. This is a complete lattice, with intersection as g.l.b. and transitive hull as l.u.b., i.e. $r_1\vee r_2=( r_1\cup r_2)^+$, where ${}^+$ is transitive closure.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm interested in the residual $\ominus$ to $\vee$. Standard residual theory seems to tell me that $r_2\ominus r_1= \bigvee\{ r\mid r\vee r_1\subseteq r_2\}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Did I get this right? I'm not really on safe ground here... Also, this formulation is, well, somewhat indirect: does there exist a more direct formula?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit: To perhaps de-mystify this a bit, let me give the definition of residual: $\ominus$ is a residual to $\vee$ if it holds for all $r_1$, $r_2$, $r_3$ that $r_1\vee r_2\subseteq r_3$ iff $r_1\subseteq r_3\ominus r_2$. (Yes, this looks like adjoints in category theory; like adjoints, residuals are unique up to isomorphism if they exist.)&lt;/p&gt;&#xA;" OwnerUserId="16382" LastEditorUserId="16382" LastEditDate="2013-10-04T12:29:42.060" LastActivityDate="2013-10-04T12:29:42.060" Title="Residual for transitive hull" Tags="&lt;co.combinatorics&gt;&lt;algebra&gt;&lt;order-theory&gt;&lt;relational-structures&gt;" AnswerCount="0" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19205" PostTypeId="2" ParentId="17347" CreationDate="2013-09-30T10:18:17.320" Score="6" Body="&lt;p&gt;For a constant $d$ the $(k,d)$-hitting set problem is not harder than the original $d$-hitting set (i.e. $k=1$) in view of both approximation and parametrized complexity.&#xA;There is a simple reduction from $kd$-HS to $d$-HS. For an instance $(U,\mathcal{F},d,k)$ of the first problem we get an instance of $(U',\mathcal{F'},d)$ of the second one in which every element $e \in U'$ corresponds to a $k$-element subset of $U$, and each set in $\mathcal{F'}$ corresponds to a set in $\mathcal{F}$ in the same way (i.e. mapping all $k$-element subsets of $U$ to elements in $U'$). Since $k$ is a constant the size of new instance is a polynomial function of the size of the first instance ($O(n^k)$).&#xA;A hitting set for the first problem corresponds to a hitting set of same cardinality for the second problem and vice versa, hence the reduction is approximation preserving.&lt;/p&gt;&#xA;" OwnerUserId="17271" LastActivityDate="2013-09-30T10:18:17.320" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19207" PostTypeId="2" ParentId="19179" CreationDate="2013-09-30T12:28:44.460" Score="4" Body="&lt;p&gt;I call them &lt;em&gt;nonstrict arrays&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;They're not only not completely useless, but very useful and interesting. Operating on them is also not the worst in time efficiency, but can be asymptotically equivalent if done correctly. Further, if an array is just a lambda with a shape attached to it, then like transformations, pointwise operations are also not much more than function composition.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For a good start, look here:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://research.microsoft.com/en-us/um/people/simonpj/papers/ndp/RArrays.pdf&quot; rel=&quot;nofollow&quot;&gt;Regular, shape-polymorphic, parallel arrays in Haskell, Gabriele Keller, Manuel Chakravarty, Roman Leshchinskiy, Simon Peyton Jones, and Ben Lippmeier. ICFP 2010.&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The authors present a multidimensional version of the arrays you're asking about, which are like NumPy's multidimensional arrays but in Haskell style. Arrays are just a lambda and a shape, and they don't cache computed elements for faster retrieval in the future. But at any time, a user can force one to compute and cache all of its elements.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;These arrays force users to think in terms of whole-array operations. I consider that a plus, as it encourages a more declarative style of coding than writing loops that micromanage elements. I liked this style better when I was using NumPy as well. Others have different opinions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The upside is automatic fusion of array operations, which reduces the memory cost of whole-array operations. It also helps immensely with parallelizing sequences of operations. Allocating space for intermediate arrays is a synchronization point. But if intermediate arrays are nonstrict, their elements don't require space, so that synchronization point disappears. Further, this &quot;loop fusion&quot; happens &lt;em&gt;even when operations are in different functions&lt;/em&gt;, which would be very difficult, if not impossible, for a static optimizer to do.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One downside is that it's harder to reason about the performance of operations on nonstrict arrays. Another is that users have to decide which arrays to force to be strict. There are some simple rules of thumb, but they can't reduce the mental overhead to zero.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you want to play with implementations, check out Haskell's &lt;a href=&quot;http://hackage.haskell.org/package/repa&quot; rel=&quot;nofollow&quot;&gt;Repa&lt;/a&gt; and Racket's &lt;a href=&quot;http://docs.racket-lang.org/math/array.html?q=math/array&quot; rel=&quot;nofollow&quot;&gt;math/array&lt;/a&gt;. (For the latter, you'll have to set a parameter to make the results of array operations nonstrict. The default is to return strict arrays because of the mental overhead problem.)&lt;/p&gt;&#xA;" OwnerUserId="3644" LastEditorUserId="3644" LastEditDate="2013-09-30T12:36:11.117" LastActivityDate="2013-09-30T12:36:11.117" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19208" PostTypeId="2" ParentId="12268" CreationDate="2013-09-30T13:32:41.373" Score="2" Body="&lt;p&gt;You are probably looking for Marx,Pilipczuk work on &lt;a href=&quot;http://arxiv.org/abs/1307.2187&quot; rel=&quot;nofollow&quot;&gt;parameterized complexity of Subgraph Isomorphism&lt;/a&gt;. Technically, it covers only undirected graphs, but I think you can adapt the hardness results for trees $H$ easily to rooted trees. The positive results relevant for your problem are already covered by the previous answers.&lt;/p&gt;&#xA;" OwnerUserId="2666" LastEditorUserId="1846" LastEditDate="2013-10-01T13:37:41.490" LastActivityDate="2013-10-01T13:37:41.490" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19210" PostTypeId="1" AcceptedAnswerId="19215" CreationDate="2013-09-30T15:20:39.407" Score="4" ViewCount="1304" Body="&lt;p&gt;Is there an interpretation of MAXCUT using eigenvalues of the graph that yields constant factor approximation to MAXCUT?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can the estimates provide sharp lower bound to MAXCUT?&lt;/p&gt;&#xA;" OwnerUserId="1812" LastEditorUserId="1812" LastEditDate="2013-09-30T16:57:04.363" LastActivityDate="2013-10-03T00:56:27.417" Title="Size of MAXCUT from eigenvalues" Tags="&lt;spectral-graph-theory&gt;&lt;max-cut&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="19211" PostTypeId="2" ParentId="19191" CreationDate="2013-09-30T15:57:00.397" Score="4" Body="&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://cs.uwaterloo.ca/~dloker/papers/CS-2006-32.pdf&quot; rel=&quot;nofollow&quot;&gt;Graph Isomorphism Completeness for Perfect Graphs&#xA;and Subclasses of Perfect Graphs&lt;/a&gt;&#xA;C. Boucher D. Loker (2006)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;In this paper, we prove that deciding&#xA;  isomorphism of double split graphs, the class of graphs exhibiting a 2-join, and the class of&#xA;  graphs exhibiting a balanced skew partition are GI-complete. Further, we show that the GI&#xA;  problem for the larger class including these graph classes–that is, the class of perfect graphs–is&#xA;  also GI-complete.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2013-09-30T15:57:00.397" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19213" PostTypeId="1" AcceptedAnswerId="19225" CreationDate="2013-09-30T16:43:01.510" Score="8" ViewCount="416" Body="&lt;p&gt;I am interested in how one proves that a sentence relativizes.  Of course, proving that a sentence does &lt;em&gt;not&lt;/em&gt; relativize is simple, as seen in the Baker-Gill-Solovay result; but how does one prove that a sentence &lt;em&gt;does&lt;/em&gt; relativize, i.e., that it is true relative to any oracle?  Are there known techniques for achieving this for arbitrary sentences?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you know of any references that address this question, I would like to hear of them.  Thanks.&lt;/p&gt;&#xA;" OwnerUserId="1338" LastEditorUserId="135" LastEditDate="2013-10-01T11:29:44.107" LastActivityDate="2013-10-01T11:29:44.107" Title="Techniques for proving that a sentence relativizes" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;relativization&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="19214" PostTypeId="2" ParentId="19210" CreationDate="2013-09-30T16:44:30.720" Score="2" Body="&lt;p&gt;Yes. The original &lt;a href=&quot;http://www-math.mit.edu/~goemans/PAPERS/maxcut-jacm.pdf&quot; rel=&quot;nofollow&quot;&gt;Goemans-Williamson paper&lt;/a&gt; also discusses the dual of the PSD relaxation, which is equivalent to minimizing $\lambda_{max}(L_G+D)$, over all the traceless diagonal matrices D.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://arxiv.org/pdf/0806.1978v5.pdf&quot; rel=&quot;nofollow&quot;&gt;Trevisan&lt;/a&gt; used some of this intuition to design a nontrivial approximation to MaxCut, at the bottom of which lies a spectral partitioning algorithm. In his algorithm, he essentially looks at the largest eigenvector of the normalized Laplacian in order to isolate components of the graph between which there is a large cut. The core of the analysis is a Cheeger-like inequality for the largest eigenvalue.&lt;/p&gt;&#xA;" OwnerUserId="49" LastActivityDate="2013-09-30T16:44:30.720" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="19215" PostTypeId="2" ParentId="19210" CreationDate="2013-09-30T16:46:45.333" Score="4" Body="&lt;p&gt;Yes, there is a connection between the spectrum of the graph and the size of the maximum cut. It might be easiest to see this with the normalized graph Laplacian, $L = I - D^{-1/2}AD^{-1/2}$, where $I$ is the identity, $A$ is the adjacency matrix of the graph $G = ([n], E)$ and $D$ is the diagonal matrix defined by $D_{ii} = d_i$, the degree of vertex $i$. The largest eigenvalue of $L$ is &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\lambda_{n-1} = \max_x\frac{x^TLx}{x^Tx} = \max_{x}\frac{\sum_{(i, j) \in E}{(x_i - x_j)^2}}{\sum_{i}{d_i x_i^2}}.$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Because $(x_i - x_j)^2 \leq 2x_i^2 + 2x_j^2$ by Cauchy-Schwarz, $\lambda_{n-1} \leq 2$. Equality is achieved if and only if for each edge $(i, j)$, $x_i = -x_j$, which means that $\lambda_{n-1}= 2$ only if the graph has a bipartite connected component, i.e. a connected component whose maximum cut is equal to the number of edges in the component. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For a robust version of this result, see &lt;a href=&quot;http://arxiv.org/abs/0806.1978&quot; rel=&quot;nofollow&quot;&gt;Luca Trevisan's paper&lt;/a&gt;. He shows that &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;\lambda_{n-1} \geq 2\frac{\text{MaxCut}}{m},&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(where $m$ is the number of edges of the graph) and if $\lambda_{n-1} \geq 2(1-\epsilon)$, then there exits a set of vertices $S$ and a partition $(S_1, S_2)$ of $S$ such that &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;|e(S_1, S_2)| \geq \frac{1}{2}(1-\sqrt{16\epsilon})\text{vol}(S),&#xA;$$&#xA;where $\text{vol}(S) = \sum_{i \in S}{d_i}$ and $e(S_1, S_2)$ is the set of edges with one endpoint in $S_1$ and the other in $S_2$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that the second bound does not necessarily lower bound the max cut in a useful way: it only lower bounds the maximum cut of the set $S$ &lt;em&gt;in terms of $\text{vol}(S)$&lt;/em&gt;. This is unavoidable: think of a graph that's the disjoint union of an edge and a large graph with small maximum cut, say a clique. The maximum cut of the graph is very close to $m/2$, which is the minimum possible value of the max cut of a graph with $m$ edges. However, $\lambda_{n-1} = 2$, the maximum possible value of $\lambda_{n-1}$. In other words, while $\lambda_{n-1}$ is a relaxation of the maximum cut (up to appropriate rescaling), the gap is arbitrarily close to 2, and a 2-approximation to max cut is trivial.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Nevertheless, in the paper Luca uses the spectral result to design a recursive approximation algorithm for max cut. This is one cool thing about the paper: it uses a relaxation that, unlike the SDP relaxation of Goemans and Wiliamson, has trivial gap, but despite that an optimal solution to the relaxation actually provides enough guidance to achieve a non-trivial approximation factor. &lt;/p&gt;&#xA;" OwnerUserId="4896" LastEditorUserId="4896" LastEditDate="2013-10-03T00:56:27.417" LastActivityDate="2013-10-03T00:56:27.417" CommentCount="17" ContentLicense="CC BY-SA 3.0" />
  <row Id="19216" PostTypeId="1" CreationDate="2013-09-30T17:11:00.440" Score="8" ViewCount="328" Body="&lt;p&gt;While &lt;a href=&quot;https://cstheory.stackexchange.com/questions/18846/a-simple-problem-whose-decidability-is-not-known/18868#18868&quot;&gt;browsing old CStheory.se posts&lt;/a&gt;, I ran across a fascinating blog post on the &lt;a href=&quot;http://uniformlyatrandom.wordpress.com/2009/07/09/matrix-mortality/&quot; rel=&quot;nofollow noreferrer&quot;&gt;matrix mortality problem&lt;/a&gt;.  Unless I've misinterpreted the problem, it states that given a finite collection of 3 x 3 matrices with integer entries for each matrix value, one must decide if there exists a finite product of those matrices that equals a matrix comprised of all zeros.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Amazingly, this problem is undecidable, due to a reduction from the Post correspondence problem.  My question is:  Given the undecidability of the problem, and its link to a problem that is linked to Turing machines, can you show that there exists a way to characterize (for example) all r.e. languages, the class P, and the class NP using matrices?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I've done a little work on this myself, but lack the training to be sure if my belief is correct.  This problem would, I think, require a little bit of work on the reader's part to solve.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I don't know how to use LaTeX to write matrices on SE, but here's my first attempt to characterize NP:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Given a finite set $S$ of 3 x 3 matrices with integer entries and an integer $k$ as an NP &quot;query,&quot; let an additional matrix $M$ be taken as a &quot;structure.&quot;  The &quot;query&quot; accepts the &quot;structure&quot; if there exists a product of $|M|^k + k$ matrices from $S$ that equals a matrix that consists of only zeros.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;This attempt is not complete and does include any proof, as you see, but I wanted to give my first thoughts on the problem to see if a more sophisticated attempt could be made to formalize a notion of matrix complexity.  This is interesting because, like Fagin's characterization of NP using descriptive complexity, it could be used to characterize NP in a machine-independent fashion.&lt;/p&gt;&#xA;" OwnerUserId="1338" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2013-10-01T00:36:50.870" Title="&quot;Matrix complexity&quot; - is it possible?" Tags="&lt;cc.complexity-theory&gt;&lt;matrix-product&gt;" AnswerCount="1" CommentCount="7" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19217" PostTypeId="2" ParentId="19085" CreationDate="2013-09-30T17:36:35.800" Score="5" Body="&lt;p&gt;Nielsen et al. showed that quantum computing has a geometrical interpretation. Specifically, they showed that finding a short quantum circuit to perform a target unitary $U$ is equivalent to finding a short geodesic in a particular curved geometry. See the following papers for details: &lt;a href=&quot;http://arxiv.org/abs/quant-ph/0603161&quot; rel=&quot;noreferrer&quot;&gt;http://arxiv.org/abs/quant-ph/0603161&lt;/a&gt;  and  &lt;a href=&quot;http://arxiv.org/abs/quant-ph/0701004&quot; rel=&quot;noreferrer&quot;&gt;http://arxiv.org/abs/quant-ph/0701004&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="13754" LastActivityDate="2013-09-30T17:36:35.800" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19220" PostTypeId="2" ParentId="19216" CreationDate="2013-09-30T20:38:27.813" Score="1" Body="&lt;p&gt;This isn't a characterization of NP: it's just an NP-complete problem (well, I assume it's NP-complete, anyway). OK, if so, you could characterize NP as the class of problems reducible to your matrix problem but how are you going to define reductions? Using reductions from some existing model of computation (e.g., Turing machines) would be self-defeating. What advantages would such a characterization have over, say, considering NP to be the class of problems reducible to, say, independent set?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, the &quot;structure&quot; matrix $M$ plays no role in the problem except via its determinant so there's no reason for it to be a matrix, rather than just a natural number.&lt;/p&gt;&#xA;" OwnerUserId="17082" LastEditorUserId="17082" LastEditDate="2013-09-30T21:52:06.870" LastActivityDate="2013-09-30T21:52:06.870" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19223" PostTypeId="1" AcceptedAnswerId="19237" CreationDate="2013-10-01T05:28:21.657" Score="1" ViewCount="158" Body="&lt;p&gt;&lt;strong&gt;Backgroud&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am reading Chapter 10 ``Fault-Tolerant Simulations of Read/Write Objects'' of the Book &lt;a href=&quot;http://www.cs.technion.ac.il/~hagit/DC/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Distributed Computing (by Hagit Attiya &amp;amp; Jennifer Welch)&lt;/a&gt;. Specifically, in section 10.2.3, it simulates a multi-writer multi-reader read/write register from single-writer multi-reader registers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Simulation Algorithm&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;The idea of the algorithm is to have each writer announce each value it desires to write to all the readers, by writing it in its own (single-writer multi-reader) registers; each reader reads all the values written by the writers and picks the most recent one among them.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The algorithm uses vector clock to compare the values written by the writers and find the most recent one among them. The pseudocode appears in Figure &lt;img src=&quot;https://i.stack.imgur.com/bOQ3X.png&quot; alt=&quot;Simulation Algorithm&quot;&gt;, where&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;ol&gt;&#xA;  &lt;li&gt;$TS[i]:$ The vector timestamp of writer $p_i$, $0 \le i \le m - 1$. It is written by $p_i$ and read by all writers.&lt;/li&gt;&#xA;  &lt;li&gt;$Val[i]:$ The latest value written by writer $p_i$, $0 \le i \le m - 1$, together with the vector timestamp associated with that value. It is written by $p_i$ and read by all readers.&lt;/li&gt;&#xA;  &lt;/ol&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Correctness Proof&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are two types of operations in the algorithm:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;em&gt;high-level operation:&lt;/em&gt; operation on simulated object $R$ (i.e., $read_r(R)$ and $write_w(R,v)$ in the pseudocode).&lt;/li&gt;&#xA;&lt;li&gt;&lt;em&gt;low-level operation:&lt;/em&gt; operation on $TS[i]$ and $Val[i]$.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;To prove that the simulation is correct we have to show that every admissible execution is linearizable. Consider any admissible execution $\alpha$. To show that $\alpha$ is linearizable, we have to show that there is a permutation $\pi$ of the &lt;strong&gt;high-level operations&lt;/strong&gt; in $\alpha$ that preserves the order of non-overlapping operations, and in which every read operation returns the value of the latest preceding write.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;My Problem&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As the last paragraph indicated, we consider the schedule of &lt;strong&gt;high-level operations&lt;/strong&gt;. So my problem is:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Should the schedule of &lt;strong&gt;high-level operations&lt;/strong&gt; also respect the linearizability of &lt;strong&gt;low-level operations&lt;/strong&gt;?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;To illustrate, consider the following admissible (according to the simulation algorithm) execution:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Assume $TS[i][i] = 0, \forall 0 \le i \le m - 1$ initially. $m$ writers write concurrently. They all first execute Line 10 - Line 11 in procedure $NewCTS_w()$ and thus obtain $TS[i][i] = 0, \forall 0 \le i \le m - 1$. Then, they execute Line 12 in some order (for example, in the order of pid). In this scenario, when all writers finish, the system state can be stated as&#xA;  $$S = \left\{ \begin{array}{ll}&#xA;\langle 1, 0 , 0, \ldots, 0 \rangle \\&#xA;\langle 0, 1 , 0, \ldots, 0 \rangle \\&#xA;\langle 0, 0 , 1, \ldots, 0 \rangle \\&#xA;\langle 0, 0 , 0, \ldots, 1 \rangle&#xA;\end{array} \right.$$ &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;In the linearizability proof, the $m$ &lt;strong&gt;high-level&lt;/strong&gt; writes will be put in an order, for example, according to their pids. However, if we consider the &lt;strong&gt;low-level&lt;/strong&gt; operations in such order, the second writer cannot obtain $\langle 0, 1, 0, \ldots, 0 \rangle$. Instead, it should obtain $\langle 1, 1, 0, \ldots, 0 \rangle$, because it is put after the first writer's &lt;strong&gt;high-level&lt;/strong&gt; write operation.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Problem:&lt;/strong&gt; I am confused about the situation. What is wrong of my argument? Should the schedule respect the linearizability of &lt;em&gt;low-level operations&lt;/em&gt; in simulation algorithm? Or, what does it mean to respect it?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="12739" LastActivityDate="2013-10-02T04:29:57.813" Title="Should the Schedule of ``High-level Operations'' Respect the Linearizability of ``Low-level Operations'' in Proof of Simulation Algorithm?" Tags="&lt;dc.parallel-comp&gt;&lt;dc.distributed-comp&gt;&lt;concurrency&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19225" PostTypeId="2" ParentId="19213" CreationDate="2013-10-01T06:19:35.360" Score="12" Body="&lt;p&gt;Normally, the way people prove that a complexity theorem relativizes is using the following two-step procedure:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Prove the theorem.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Observe that your proof relativizes!  In other words, that nothing in the proof changes at all if all the machines mentioned in the proof get access to the same oracle A.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Yes, it's really as simple as that.  To make it rigorous, you should rewrite the whole proof adding superscripts of &quot;A&quot; all over the place.  In practice, though, if people notice this issue at all, they'll usually just add a remark like &quot;this result is easily seen to relativize.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If people seem cavalier about this, it's because they've learned, from experience, that only certain techniques (such as arithmetization) can possibly cause a proof &lt;i&gt;not&lt;/i&gt; to relativize.  So if your proof doesn't use those techniques, then it relativizes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(A close analogy: suppose you prove a theorem about real numbers, but your proof never uses anything about the reals other than the fact that they're a field.  Then it suffices to note that fact, to show that an analogous theorem must hold for complex numbers, p-adics, etc.  There's no need to redo the proof.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The one situation where more discussion is necessary, is where it's not even obvious what it &lt;i&gt;means&lt;/i&gt; to relativize your theorem.  (E.g., what's the oracle access mechanism?)  As Kaveh pointed out above, there's no well-defined mathematical operation of &quot;relativizing&quot; a complexity theorem, just like there's no well-defined mathematical operation of &quot;complexifying&quot; a theorem about real numbers.  Notice that, in the latter case, it's not enough to replace every occurrence of R by C: you probably also need to replace x&lt;sup&gt;2&lt;/sup&gt; by |x|&lt;sup&gt;2&lt;/sup&gt; (in some places, not others!), and make other changes that are &quot;obvious&quot; to a mathematician but hard to list formally.  Likewise, in complexity theory, it's &lt;i&gt;usually&lt;/i&gt; obvious what it means to &quot;relativize&quot; a theorem (i.e., who should get access to A, and what does it mean for them to access it?), but in some cases it can be quite subtle.  See &lt;a href=&quot;http://blog.computationalcomplexity.org/2009/06/great-oracle-debate-of-1993.html&quot;&gt;here&lt;/a&gt; for more about this issue.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Turning your question on its head, one could ask:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;b&gt;Is there any example of a relativizing complexity theorem, for which it's significantly harder to prove that the theorem relativizes than that the theorem is true?&lt;/b&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Interestingly, I can't come up with a single indisputable example (though maybe someone else can)!  Here's the best I can do:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Recent work on blind and authenticated quantum computing (by Broadbent-Fitzsimons-Kashefi, Reichardt-Unger-Vazirani, and others) &lt;i&gt;might&lt;/i&gt; lead to examples.  In those cases, the situation is that we don't know whether the theorems relativize or not---but if they &lt;i&gt;do&lt;/i&gt; relativize, then certainly a new idea will be needed beyond what's in the existing proofs.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Arguably, another example might be the random self-reducibility of #P.  If you asked most complexity theorists why that was true, they'd probably say it's because the permanent is both #P-complete and random self-reducible.  That's true, but it doesn't answer the question of whether #P is rsr relative to any oracle.  Well, it turns out that #P &lt;i&gt;is&lt;/i&gt; rsr relative to any oracle, and it's not even hard to prove it---but you need to give a direct argument using polynomials, rather than appealing to properties of the permanent.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;In Section 8 of my and Avi Wigderson's &lt;a href=&quot;http://www.scottaaronson.com/papers/alg.pdf&quot;&gt;algebrization paper&lt;/a&gt;, we showed that the GMW theorem (that NP has computational zero-knowledge proofs) is algebrizing.  And that really &lt;i&gt;did&lt;/i&gt; take new ideas: not &quot;dramatically&quot; new, but certainly nowhere to be found in the usual proofs of the GMW theorem.  Of course, this is for algebrization rather than for relativization.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;&lt;b&gt;Addendum:&lt;/b&gt; In answer to a further question of the OP, I don't know of any techniques whatsoever for showing that, if you &lt;i&gt;could&lt;/i&gt; prove a certain complexity conjecture (which you haven't yet), then your proof would necessarily relativize.  Yes, as long as you restrict your &quot;search for a proof&quot; to relativizing techniques only, you can be sure that, if you ever succeed in finding a proof, then your proof will necessarily relativize.  And in practice, that's often what people do (e.g., because they have certain ideas about what a proof would look like, and those ideas relativize).  But I don't know of any way to guarantee, &lt;i&gt;a priori&lt;/i&gt;, that by broadening your search to include non-relativizing techniques, you couldn't find a proof that had eluded you before.&lt;/p&gt;&#xA;" OwnerUserId="1575" LastEditorUserId="1575" LastEditDate="2013-10-01T06:31:37.160" LastActivityDate="2013-10-01T06:31:37.160" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="19226" PostTypeId="2" ParentId="19165" CreationDate="2013-10-01T06:47:41.530" Score="6" Body="&lt;p&gt;First, let us be explicit about how &lt;code&gt;seq&lt;/code&gt; distinguishes $\bot$ from $\lambda x . \bot$:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;bottom :: a&#xA;bottom = bottom&#xA;&#xA;eta :: a -&amp;gt; b&#xA;eta x = bottom&#xA;&#xA;-- This terminates&#xA;fortytwo = seq eta 42&#xA;&#xA;-- This does not terminate&#xA;infinity = seq bottom 42&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;It is therefore an experimental fact that in Haskell $\bot$ and $\lambda x . \bot$ are operationally distinguishable. It is also a fact, and a quite obvious one, that &lt;code&gt;seq&lt;/code&gt; is computable because Haskell computes it. So much about Haskell. You are asking about the very particular phrasing of the Haskell documentation. I read it as saying that &lt;code&gt;seq&lt;/code&gt; is supposed to satisfy the two given equations, but those two equations are not sufficient for the definition of &lt;code&gt;seq&lt;/code&gt;. Here is why: I can give you two models of (simply typed) $\lambda$-calculus in which &lt;code&gt;seq&lt;/code&gt; is computable and satisfies the given equations, but in one of the models $\bot$ and $\lambda x . \bot$ agree, while in the other they do not.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In a simple domain-theoretic model where $\lambda$-expressions are interpreted in the domain of continuous functions $[D \to E]$ we have $\bot = \lambda x . \bot$, obviously. Take effective Scott domains or some such to make everything computable. It is easy to define &lt;code&gt;seq&lt;/code&gt; in such a model.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We can also have a model of $\lambda$-calculus in which &lt;code&gt;seq&lt;/code&gt; distinguishes $\bot$ and $\lambda x . \bot$, and then of course $\eta$-rule cannot hold. For instance, we can do this by interpreting functions in the domain $[D \to E]_\bot$, i.e., the function space domain with an extra bottom attached. Now $\bot$ is, well, the bottom of $[D \to E]_\bot$, while $\lambda x . \bot$ is the element just above it. They cannot be distinguished by application because they both evaluate to $\bot$, no matter what you apply them to (they are &lt;em&gt;extensionally equal&lt;/em&gt;). But we do have &lt;code&gt;seq&lt;/code&gt; as a map between domains and it alwyas distinguishes bottom from all other elements.&lt;/p&gt;&#xA;" OwnerUserId="705" LastActivityDate="2013-10-01T06:47:41.530" CommentCount="10" ContentLicense="CC BY-SA 3.0" />
  <row Id="19228" PostTypeId="1" AcceptedAnswerId="19232" CreationDate="2013-10-01T09:22:50.487" Score="2" ViewCount="300" Body="&lt;p&gt;According to the &lt;a href=&quot;http://www.cs.cmu.edu/~sleator/papers/pairing-heaps.pdf&quot; rel=&quot;nofollow&quot;&gt;paper (1986)&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Decrease-key is implemented by first by removing the node from the tree $O(1)$, decreasing the key $O(1)$, then linking it with the root node $O(1)$. The paper admits this as well.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I must be missing something since &lt;a href=&quot;http://wwwens.uqac.ca/azinflou/Fichiers840/EfficiencyPairingHeap.pdf&quot; rel=&quot;nofollow&quot;&gt;this paper&lt;/a&gt; shows that it is $\Omega(\log \log n)$ amortized.&lt;/p&gt;&#xA;" OwnerUserId="12469" LastActivityDate="2013-10-01T14:11:37.643" Title="Why isn't the decrease key operation in a pairing heap $O(1)$" Tags="&lt;ds.data-structures&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19229" PostTypeId="1" AcceptedAnswerId="19230" CreationDate="2013-10-01T09:42:11.233" Score="-1" ViewCount="51" Body="&lt;p&gt;I need to calculate the combinations of elements with a substitution element.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example for elements &lt;code&gt;[A,B]&lt;/code&gt; if the substitution is X the results should be &lt;code&gt;{[A,X],[X,B],[X,X]}&lt;/code&gt;. While this is easy enough to implement when the number of elements increase it becomes harder and error prone.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there an algorithm I can implement for this kind of combination calculations?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If this question is not a good fit for this site I do apologize, but this is the best site for an algorithmic question as far as I can tell.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT :&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I should have mentioned that all results should be of the same length as well.&lt;/p&gt;&#xA;" OwnerUserId="17835" LastEditorUserId="17835" LastEditDate="2013-10-01T10:00:48.343" LastActivityDate="2013-10-01T13:34:19.707" Title="Algorithm for calculating substitution combination with ordering" Tags="&lt;ds.algorithms&gt;&lt;permutations&gt;&lt;combinatory-logic&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="19230" PostTypeId="2" ParentId="19229" CreationDate="2013-10-01T13:34:19.707" Score="1" Body="&lt;p&gt;This is the same as picking a subset and replacing the elements in the subset with X&lt;/p&gt;&#xA;" OwnerUserId="12469" LastActivityDate="2013-10-01T13:34:19.707" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19231" PostTypeId="1" AcceptedAnswerId="19235" CreationDate="2013-10-01T13:54:24.743" Score="2" ViewCount="172" Body="&lt;p&gt;I only have a (very) introductory knowledge about the Hardness of Approximation and PCP theorem, and I am wondering if it has any specific implications (or can somehow be studied) with Zero Knowledge Proofs?&lt;/p&gt;&#xA;" OwnerUserId="17325" LastActivityDate="2013-10-02T15:01:52.817" Title="How are PCPs and ZKPs related?" Tags="&lt;pcp&gt;&lt;zero-knowledge&gt;&lt;intuition&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="19232" PostTypeId="2" ParentId="19228" CreationDate="2013-10-01T14:11:37.643" Score="3" Body="&lt;p&gt;An operation can have higher amortized cost than actual cost if it adds too many coins (in the banker's method) or too much potential (in the physicist's method). The lower bound paper you linked to includes the line:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Decrease-key and insertion operations are both considered to have 0 &lt;em&gt;actual&lt;/em&gt; cost.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="43" LastActivityDate="2013-10-01T14:11:37.643" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19233" PostTypeId="1" AcceptedAnswerId="19299" CreationDate="2013-10-01T14:51:44.197" Score="11" ViewCount="422" Body="&lt;p&gt;For a &lt;a href=&quot;http://en.wikipedia.org/wiki/PLS_(complexity)&quot; rel=&quot;noreferrer&quot;&gt;polynomial local search problem&lt;/a&gt;, we know that at least one solution (local optimum) must exist. However, many more solutions could exist, &lt;strong&gt;how hard is it to count the number of solutions for a PLS-complete problem?&lt;/strong&gt; I am &lt;em&gt;particularly interested&lt;/em&gt; in the decision problem: &lt;strong&gt;does this PLS-complete problem's instance have two or more solutions?&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;Does the complexity depend on which PLS-complete problem we choose? If so then I would be particularly interested in &lt;em&gt;weighted 2SAT&lt;/em&gt; (as defined in [SY91] and [Rou10]). I know that counting the number of satisfying solutions for 2SAT is #P-complete, but at first glance it seems like local optima of weighted 2SAT and solutions for 2SAT don't have all that much in common.&lt;/p&gt;&#xA;&lt;p&gt;I also know that for PLS's cousin PPAD, [CS02] shows that counting the number of Nash equilibria is #P-hard. This suggests that similar PLS problems like counting the number of pure-strategy equilibria in congestion games, would also be hard.&lt;/p&gt;&#xA;&lt;h3&gt;References&lt;/h3&gt;&#xA;&lt;p&gt;[CS02] Conitzer, V., and Sandholm, T. (2002). Complexity results about Nash equilibria. &lt;em&gt;IJCAI-03&lt;/em&gt;. &lt;a href=&quot;http://arxiv.org/abs/cs/0205074&quot; rel=&quot;noreferrer&quot;&gt;cs/0205074&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;[Rou10] T. Roughgarden. (2010). Computing equilibria: A computational complexity perspective. &lt;em&gt;Economic Theory&lt;/em&gt;, 42:193-236.&lt;/p&gt;&#xA;&lt;p&gt;[SY91] A.A. Schaeffer and M. Yannakakis. (1991). Simple local search problems that are hard to&#xA;solve. &lt;em&gt;SIAM Journal on Computing&lt;/em&gt;, 20(1):56-87.&lt;/p&gt;&#xA;" OwnerUserId="1037" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2013-12-04T23:56:52.040" Title="How hard is it to count the number of local optima for a problem in PLS?" Tags="&lt;cc.complexity-theory&gt;&lt;counting-complexity&gt;&lt;gt.game-theory&gt;" AnswerCount="2" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19234" PostTypeId="1" CreationDate="2013-10-01T16:07:33.583" Score="0" ViewCount="179" Body="&lt;p&gt;I was wondering about the self-information, the information content . If I have data and I measure different words in it, their probability and take the average mean of that, what is the lowest and what is the biggest outcome?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$I(data) = \frac{\sum_{i=1}^{n} - log(P(word_i))}{n}$$ &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The summed up probability is one, but how does that change with the logarithm? It seems, if one word is very unique and another word takes up the rest of the data in a big quantity, than the information content is higher:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\frac{(-\log 0.9999) + (-\log 0.0001)}{2} &amp;gt; \frac{(-\log 0.9) + (-\log 0.1)}{2}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does that mean, if one of the words limits to zero, that the information content becomes infinite? Does that make sense, seems strange.&lt;/p&gt;&#xA;" OwnerUserId="17842" LastEditorUserId="17842" LastEditDate="2013-10-03T11:46:00.460" LastActivityDate="2013-10-03T11:46:00.460" Title="Can the self-information be infinite?" Tags="&lt;it.information-theory&gt;&lt;shannon-entropy&gt;" AnswerCount="0" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="19235" PostTypeId="2" ParentId="19231" CreationDate="2013-10-01T17:11:41.507" Score="3" Body="&lt;p&gt;PCPs are very often used to construct ZKPs, especially for NP-complete languages. The idea is simple: you commit to every bit of PCP separately, and then the prover makes random queries to the PCP. Given the query and committed bit, you prove in ZK that the bits in concrete locations would make the prover to accept. Since the number of queries is small, the proof is relatively efficient.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The main problem tends to be the computational complexity: generating a PCP for an arbitrary NP language is efficient only in theory, and thus people look for more efficient solution.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A recent related paper, that does something in between is by Bitansky and others (TCC 2013) where they study &quot;linear PCPs&quot; and their relation to ZK. Since linear PCPs (see their paper) are less stringent than general PCPs, they can be constructed more efficiently.&lt;/p&gt;&#xA;" OwnerUserId="14132" LastActivityDate="2013-10-01T17:11:41.507" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="19237" PostTypeId="2" ParentId="19223" CreationDate="2013-10-01T20:42:33.853" Score="1" Body="&lt;p&gt;I understand the proof as follows.&#xA;Start with an arbitrary execution of the above algorithm. In this execution each operation on $TS[i]$ and $Val[i]$ has already been linearlized by assuming that these are single-writer multi-reader atomic registers. Therefore, by assumption, the schedule linearizes these low level operations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The remainder of the proof shows that there exists some unique assignment of distinct times for each high-level operation such that the following are true.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;For each such operation that starts at time $t_s$ and ends at time&#xA;$t_e$, the assigned time $t_a$ is in the interval $[t_s,t_e]$. &lt;/li&gt;&#xA;&lt;li&gt;The sequence of high-level  reads and writes, as determined by this assignment of times, satisfies the linearlizability.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="17846" LastEditorUserId="12739" LastEditDate="2013-10-02T04:29:57.813" LastActivityDate="2013-10-02T04:29:57.813" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19238" PostTypeId="1" AcceptedAnswerId="19289" CreationDate="2013-10-01T21:01:30.880" Score="1" ViewCount="520" Body="&lt;p&gt;Suppose an algorithm that receive an input array of $n$ elements and it performs a task over each element. All tasks are independent and take $O(k)$ each (being $k$ a variable). Since all tasks are independent this is a fully parallelizable problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have a basic algorithm that uses the Divide and Conquer technique. It receive the input array $A$ and if $|A| &amp;gt; 1$ then it &lt;strong&gt;spawn&lt;/strong&gt; a new thread to process the first half of $A$, and recursively call itself to process the second half. This recursions stops when the function is called with a single element, in which case it runs a series of steps that takes $O(k)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I´m using the &lt;em&gt;Dynamic Multithreading&lt;/em&gt; model (&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0262033844&quot; rel=&quot;nofollow&quot;&gt;Introduction to Algorithms&lt;/a&gt;, chapter 27) to analyze this algorithm. So, I have an execution graph with n &quot;leafs&quot;, representing the basic cases ($|A| = 1$), and it needs $O(n)$ &quot;internal nodes&quot; to divide the work until it reaches the leafs. Given that the longest path has length $O(\log n)$ with a constant cost for each internal node, then the total cost will be $T_\infty = O(\log (n) + k)$ (which is the &lt;em&gt;span&lt;/em&gt;). I also can get other measures like the total work $T_1 = O(n + kn)$, and the &lt;em&gt;parallelism&lt;/em&gt; $\frac{T_1}{T_\infty} = \frac{n + nk}{k + \log n}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another performance measure of interest is the &lt;em&gt;speedup&lt;/em&gt;, which is defined as $\frac{T_1}{T_p}$ (where &lt;strong&gt;&lt;em&gt;p&lt;/em&gt;&lt;/strong&gt; is the number of processors used to compute $T_p$). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally my question is how do I get $T_p$ (analytically) so I can calculate the speedup?&#xA;I cannot simply divide $T_1/p$ since in the first levels of the graph/tree I won't be using all the processors.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there any more elegant expression for this than simply dividing the height of the tree before and after $\log p$?&lt;/p&gt;&#xA;" OwnerUserId="17516" LastEditorUserId="17516" LastEditDate="2013-10-01T21:14:35.717" LastActivityDate="2013-10-06T17:19:10.143" Title="Task Multithreading analysis for a Divide and Conquer algorithm" Tags="&lt;ds.algorithms&gt;&lt;time-complexity&gt;&lt;dc.parallel-comp&gt;" AnswerCount="2" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19241" PostTypeId="1" CreationDate="2013-10-02T03:14:30.050" Score="14" ViewCount="566" Body="&lt;p&gt;&lt;a href=&quot;http://egtheory.wordpress.com/2013/10/01/nfa-limits/#rfsa&quot; rel=&quot;nofollow noreferrer&quot;&gt;Residual finite state automata&lt;/a&gt; (RFSAs, defined in [DLT02]) are NFAs that have some nice features in common with DFAs. In particular, there is always a canonical minimum sized RFSA for every regular language, and the language recognized by each state in the RFSA is a residual, just like in a DFA. However, whereas a minimum DFAs states form a bijection with all residuals, the canonical RFSAs states are in bijection with the prime residuals; there can be exponentially fewer of these, so RFSAs can be much more compact than DFAs for representing regular languages.&lt;/p&gt;&#xA;&lt;p&gt;However, I can't tell if there is an efficient algorithm for minimizing RFSAs or if there is a hardness result. &lt;strong&gt;What is the complexity of minimizing RFSAs?&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;From browsing [BBCF10], it doesn't seem like this is common knowledge. On the one hand, I expect this to be difficult because a lot of simple questions about RFSAs like &amp;quot;is this NFA an RFSA?&amp;quot; are very hard, PSPACE-complete in this case. On the other hand, [BHKL09] shows that canonical RFSAs are efficiently learnable in Angluin's minimally-adequate teacher model [A87], and efficiently learning a minimum RFSA and minimizing RFSAs seems like it should be of equal difficulty. However, as far as I can tell [BHKL09]'s algorithm does not imply a minimization algorithm, since the size of counter-examples is not bounded and it is not clear how to efficiently test RFSAs for equality to simulate the counter-example oracle. &lt;a href=&quot;https://cs.stackexchange.com/a/9955/55&quot;&gt;Testing two NFAs for equality is PSPACE-complete&lt;/a&gt;, for example.&lt;/p&gt;&#xA;&lt;h3&gt;References&lt;/h3&gt;&#xA;&lt;p&gt;[A87] Angluin, D. (1987). Learning regular sets from queries and counterexamples. Information and Computation, 75: 87-106&lt;/p&gt;&#xA;&lt;p&gt;[BBCF10] Berstel, J., Boasson, L., Carton, O., &amp;amp; Fagnot, I. (2010). Minimization of automata. &lt;a href=&quot;http://arxiv.org/abs/1010.5318&quot; rel=&quot;nofollow noreferrer&quot;&gt;arXiv:1010.5318&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;[BHKL09] Bollig, B., Habermehl, P., Kern, C., &amp;amp; Leucker, M. (2009). Angluin-Style Learning of NFA. In &lt;em&gt;IJCAI&lt;/em&gt;, 9: 1004-1009.&lt;/p&gt;&#xA;&lt;p&gt;[DLT02] Denis, F., Lemay, A., &amp;amp; Terlutte, A. (2002). Residual finite state automata. &lt;em&gt;Fundamenta Informaticae&lt;/em&gt;, 51(4): 339-368.&lt;/p&gt;&#xA;" OwnerUserId="1037" LastEditorUserId="2367" LastEditDate="2021-01-03T15:44:21.043" LastActivityDate="2021-01-03T15:44:21.043" Title="Minimizing residual finite state automata" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;automata-theory&gt;&lt;lg.learning&gt;&lt;minimization&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="4" ContentLicense="CC BY-SA 4.0" />
  <row Id="19242" PostTypeId="2" ParentId="18872" CreationDate="2013-10-02T05:10:43.250" Score="0" Body="&lt;p&gt;Yes, when implementing this sort of thing in practice, one has to be careful that this doesn't screw you up.  If you're not careful, when trying to estimate the probability of a term that doesn't appear in the document, you might mistakenly estimate its probability as 0 (e.g., if your estimate of its probability is the number of times it appears in the document divided by the number of words in the document).  However, the actual probability is almost certainly not 0.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A standard workaround is to use &lt;a href=&quot;https://en.wikipedia.org/wiki/Additive_smoothing&quot; rel=&quot;nofollow&quot;&gt;Laplace smoothing&lt;/a&gt;, add-one smoothing, Bayesian smoothing, or another similar method.&lt;/p&gt;&#xA;" OwnerUserId="5038" LastActivityDate="2013-10-02T05:10:43.250" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19244" PostTypeId="1" CreationDate="2013-10-02T07:25:01.483" Score="-1" ViewCount="164" Body="&lt;p&gt;I am dealing with reconstruction of molecular graphs for which unlabelled rooted trees with maximum degree 4 are fair approximations. In particular, I would like to encode a small tree (assume number of vertices is less than 20) and degree is upper bounded by 4, such that we can reconstruct the tree form the encoding, decoding is not necessary to be unique but low degeneracy is expected. Currently, I am given the number of vertices at various distance from the root, say $d = [d_1, d_2, ..., d_k]$ where $d_i$ is the number of vertices at distance $i$ from root. However, the number of tree satisfying this condition is very large. I am looking for other representation (as an alternative to $d$) of tree which will be more suitable for reconstruction, may be approximately. I would prefer the representation which is hierarchical in the sense that, first few information are more constrained and informative, and others are gradually less so. For example, here $d_1$ gives complete information on number of nodes at level 1, there is slight degeneracy in constructing level two nodes from $d_2$, etc. My focus is on approximate reconstruction rather than canonical encoding. &lt;/p&gt;&#xA;" OwnerUserId="10456" LastEditorUserId="20504" LastEditDate="2013-12-06T20:25:41.840" LastActivityDate="2013-12-06T20:25:41.840" Title="Representation suitable for reconstruction of a tree with bounded degree" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;co.combinatorics&gt;&lt;tree&gt;" AnswerCount="1" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="19249" PostTypeId="2" ParentId="19231" CreationDate="2013-10-02T15:01:52.817" Score="1" Body="&lt;p&gt;There is a classical paper of Feige and Killian &lt;a href=&quot;http://www.wisdom.weizmann.ac.il/~feige/Approx/coloring.ps&quot; rel=&quot;nofollow&quot;&gt;Zero Knowledge and the Chromatic Number&lt;/a&gt; that uses the ideas from Zero Knowledge Proofs in order to construct PCPs with certain &quot;ZKP-type&quot; properties. Using these properties they prove that it is NP-hard to color a $N^{0.01}$-colorable graph with $N^{0.99}$-colors.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It should be noted that their result does not rely on any commitment schemes, or any other cryptographic assumptions. The only assumption they make is $NP \not\subseteq ZPP$, that is, their PCP-reduction is randomized, and not deterministic.&lt;/p&gt;&#xA;" OwnerUserId="15711" LastActivityDate="2013-10-02T15:01:52.817" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19250" PostTypeId="1" CreationDate="2013-10-02T16:09:42.590" Score="1" ViewCount="101" Body="&lt;h2&gt;Short version&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;Given &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;the $N$ code lengths of an optimal prefix-free code $L[1..N]$ for $N$ unknown weights $W[1..N]$ of known sum $S$, and &lt;/li&gt;&#xA;&lt;li&gt;$N'$ new weights $W'[1..N']$ all larger than the weights of $W$, &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;is it possible to compute the code lengths of an optimal prefix-free code for the union of $W$ and $W'$ knowing only $S$, $W'$, and a finite amount of values from $W$ (such as the min and max)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;After a long time taking the existence of such an algorithm for granted, I now suspect it does not exist, but my mind is still foggy from assuming for so long the contrary, and I was hoping that someone with a fresher view could produce a small counter-example and clarify my mind. (This is NOT an assignment given to students, but I think it would make a nice one... if there is a clear answer to it.)&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Motivation&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;Among other consequences, it would prove whether the convoluted algorithm used to compute canonical prefix-free codes (compute prefix-free code, extract code lengths, &lt;em&gt;forget prefix-free code&lt;/em&gt;, rebuild canonical prefix-free code from code lengths) can or cannot be made incremental (which would have simplified various other results).&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Background&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;In 1964, Schwartz et al. (1964-ACMCom-GeneratingACanonicalPrefixEncoding-SchwartzKallick), introduced the concept of &lt;a href=&quot;https://en.wikipedia.org/wiki/Huffman_coding#The_canonical_Huffman_code&quot; rel=&quot;nofollow&quot;&gt;canonical prefix-free code&lt;/a&gt; in which &quot;the numerical values of the codes are monotone increasing and each code has the smallest possible numerical value consistent with the requirement that the code is not the prefix of any other code&quot;.  They described how to compute such codes by computing first the Huffman's code, then deducing from it an optimal vector of code lengths, and then computing from the latter an optimal prefix-free canonical code, &quot;iteratively by assigning codes to the words in order of decreasing rank&quot;.&lt;/p&gt;&#xA;" OwnerUserId="191" LastEditorUserId="14130" LastEditDate="2014-05-26T09:59:17.570" LastActivityDate="2014-05-26T09:59:17.570" Title="Existence of incremental algorithm for (canonical) prefix-free codes" Tags="&lt;prefix-free-code&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19251" PostTypeId="1" AcceptedAnswerId="19257" CreationDate="2013-10-02T16:14:34.890" Score="5" ViewCount="199" Body="&lt;p&gt;I am interested in the following variant of multiple knapsack. There are $n$ items with values $v_1,\ldots,v_n$. We want to partition the items into $m$ subsets $S_1,\ldots,S_m$ to maximize $\min_{j\in\{1,\ldots,m\}}\sum_{i\in S_j} v_i$. In words, we want to assign the items to $m$ bins to maximize the minimum total value in any bin.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem is clearly NP-hard even for the case of two bins; it is essentially the PARTITION problem. However, SUBSET-SUM has an FPTAS and many generalizations of SUBSET-SUM and KNAPSACK have a PTAS; there are so many of them, though... Is there a generalization of these problems that is known to have a PTAS and captures my problem? (On the other hand, the problem is a special case of the Santa Claus problem [Bansal and Sviridenko, STOC'06], which seems to be quite hard to approximate.)&lt;/p&gt;&#xA;" OwnerUserId="17859" LastActivityDate="2013-10-03T02:22:54.637" Title="PTAS for a variant of multiple knapsack?" Tags="&lt;approximation-algorithms&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19252" PostTypeId="1" CreationDate="2013-10-02T16:57:24.990" Score="7" ViewCount="129" Body="&lt;p&gt;For two computational problems $A$ and $B$ in complexity class C (let say $NP$), the existence of a reduction $A &amp;lt;_m^L B$ computable in class (say $L$) implies that $A$ is not computationally harder than $B$ and $B$ is at least as hard as $A$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am interested in information theoretic characterization and implications for the existence and non-existence of $&amp;lt;_m^L$-reductions between computational problems. I'm aware of concepts such as &lt;em&gt;computational entropy&lt;/em&gt; and &lt;em&gt;hardness amplification&lt;/em&gt; but my limited understanding of these notions, which I guess originated from cryptographic applications, does not seem to shed light on the information theoretic characterization of $&amp;lt;_m^L$-reductions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is known about information theoretic characterization and consequences of the existence and non-existence of such reductions? Can notions such as computational entropy and hardness amplification help in answering my previous question?&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2013-10-02T17:30:16.587" LastActivityDate="2013-10-02T17:30:16.587" Title="Information theoretic characterization and consequences of reductions between computational problems" Tags="&lt;cc.complexity-theory&gt;&lt;it.information-theory&gt;" AnswerCount="0" CommentCount="1" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="19253" PostTypeId="1" CreationDate="2013-10-02T19:23:06.837" Score="5" ViewCount="303" Body="&lt;p&gt;Consider a $(c^a,(c+d)^a,1)$-regular directed hypergraph $\mathcal{H}(a)$ on $n^a$ vertices with fixed $n\geq c+d+1$, fixed $c\geq 2$, fixed $d\geq 0$ and variable parameter $a\geq 1$ (meaning every vertex $i_1$ has only $1$ outgoing hyperedge $\{i_1\rightarrow i_2,i_3,i_4,\dots,i_{c^a}\}\in\mathcal{E}(\mathcal{H}(a))$ which has $c^a$ vertices and every vertex is on $(c+d)^a$ hyperedges). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider the NP-complete &lt;em&gt;HYPERGRAPH-MAXDICUT&lt;/em&gt; problem of given an integer $t$ and a hypergraph $\mathcal{H}(a)$ with above parameters, one has to decide if there is a subset $S \subset \mathcal{V}(\mathcal{H}(a))$ such that $$|\{\mathcal{I}=\{i_1\rightarrow i_2,i_3,i_4,\dots,i_{c^a}\}\in\mathcal{E}(\mathcal{H}(a))\mid i_1\in S \text{ and } \mathcal{I}\setminus i_1\cap S=\emptyset\}|\geq t$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can there be a $c^{a^{\beta}}$ approximation algorithm to &lt;em&gt;HYPERGRAPH-MAXDICUT&lt;/em&gt; where $\beta\in(0,1)$? For which classes of $\mathcal{H}(a)$ could we have such approximation? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $n$ is variable how does the factor depend on both $a$ and $n$?&lt;/p&gt;&#xA;" OwnerUserId="1812" LastEditorUserId="1812" LastEditDate="2013-10-06T14:31:08.323" LastActivityDate="2013-10-06T14:31:08.323" Title="Best approximation for a HYPERGRAPH-MAXDICUT problem" Tags="&lt;approximation-algorithms&gt;&lt;max-cut&gt;&lt;hypergraphs&gt;&lt;apx&gt;" AnswerCount="1" CommentCount="8" FavoriteCount="0" CommunityOwnedDate="2013-10-06T14:31:08.323" ContentLicense="CC BY-SA 3.0" />
  <row Id="19256" PostTypeId="1" CreationDate="2013-10-03T02:02:16.217" Score="59" ViewCount="4374" Body="&lt;p&gt;Recently, when talking to a physicist, I claimed that in my experience, when a problem that naively seems like it should take exponential time turns out nontrivially to be in P or BPP, an &quot;overarching reason&quot; why the reduction happens can typically be identified---and almost always, that reason belongs to a list of a dozen or fewer &quot;usual suspects&quot; (for example: dynamic programming, linear algebra...).  However, that then got me to thinking: can we actually write down a decent list of such reasons?  Here's a first, incomplete attempt at one:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(0) &lt;b&gt;Mathematical characterization.&lt;/b&gt; Problem has a non-obvious &quot;purely-mathematical&quot; characterization that, once known, makes it immediate that you can just do exhaustive search over a list of poly(n) possibilities.  &lt;strike&gt;Example: graph planarity, for which an O(n&lt;sup&gt;6&lt;/sup&gt;) algorithm follows from Kuratowski's theorem.&lt;/strike&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(As &quot;planar&quot; points out below, this was a bad example: even once you know a combinatorial characterization of planarity, giving a polynomial-time algorithm for it is still quite nontrivial.  So, let me substitute a better example here: how about, say, &quot;given an input n written in binary, compute how many colors are needed to color an arbitrary map embedded on a surface with n holes.&quot;  It's not obvious a priori that this is computable at all (or even finite!).  But there's a known formula giving the answer, and once you know the formula, it's trivial to compute in polynomial time.  Meanwhile, &quot;reduces to excluded minors / Robertson-Seymour theory&quot; should probably be added as a separate overarching reason why something can be in P.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Anyway, this is specifically &lt;i&gt;not&lt;/i&gt; the sort of situation that most interests me.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(1) &lt;b&gt;Dynamic programming.&lt;/b&gt;  Problem can be broken up in a way that enables recursive solution without exponential blowup -- often because the constraints to be satisfied are arranged in a linear or other simple order.  &quot;Purely combinatorial&quot;; no algebraic structure needed.  Arguably, graph reachability (and hence 2SAT) are special cases.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(2) &lt;b&gt;Matroids.&lt;/b&gt;  Problem has a matroid structure, enabling a greedy algorithm to work.  Examples: matching, minimum spanning tree.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(3) &lt;b&gt;Linear algebra.&lt;/b&gt;  Problem can be reduced to solving a linear system, computing a determinant, computing eigenvalues, etc.  Arguably, most problems involving &quot;miraculous cancellations,&quot; including those solvable by Valiant's matchgate formalism, also fall under the linear-algebraic umbrella.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(4) &lt;b&gt;Convexity.&lt;/b&gt;  Problem can be expressed as some sort of convex optimization.  Semidefinite programming, linear programming, and zero-sum games are common (increasingly-)special cases.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(5) &lt;b&gt;Polynomial identity testing.&lt;/b&gt;  Problem can be reduced to checking a polynomial identity, so that the Fundamental Theorem of Algebra leads to an efficient randomized algorithm -- and in some cases, like primality, even a provably-deterministic algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(6) &lt;b&gt;Markov Chain Monte Carlo.&lt;/b&gt;  Problem can be reduced to sampling from the outcome of a rapidly-mixing walk.  (Example: approximately counting perfect matchings.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(7) &lt;b&gt;Euclidean algorithm.&lt;/b&gt;  GCD, continued fractions...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;b&gt;Miscellaneous / Not obvious exactly how to classify:&lt;/b&gt; Stable marriage, polynomial factoring, membership problem for permutation groups, various other problems in number theory and group theory, low-dimensional lattice problems...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is: &lt;b&gt;what are the most important things I've left out?&lt;/b&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To clarify:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;I realize that no list can possibly be complete: whatever finite number of reasons you give, &lt;i&gt;someone&lt;/i&gt; will be able to find an exotic problem that's in P but not for any of those reasons.  Partly for that reason, I'm more interested in ideas that put lots of different, seemingly-unrelated problems in P or BPP, than in ideas that only work for one problem.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;I also realize that it's subjective how to divide things up.  For example, should matroids just be a special case of dynamic programming?  Is solvability by depth-first search important enough to be its own reason, separate from dynamic programming?  Also, often the same problem can be in P for multiple reasons, depending on how you look at it: for example, finding a principal eigenvalue is in P because of linear algebra, but also because it's a convex optimization problem.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;In short, I'm not hoping for a &quot;classification theorem&quot; -- just for a list that usefully reflects what we currently know about efficient algorithms.  And that's why what interests me most are the techniques for putting things in P or BPP that have broad applicability but that &lt;i&gt;don't&lt;/i&gt; fit into the above list -- or other ideas for improving my crude first attempt to make good on my boast to the physicist.&lt;/p&gt;&#xA;" OwnerUserId="1575" LastEditorUserId="1575" LastEditDate="2013-10-04T12:43:56.387" LastActivityDate="2013-10-15T15:04:02.823" Title="Overarching reasons why problems are in P or BPP" Tags="&lt;big-list&gt;&lt;big-picture&gt;" AnswerCount="5" CommentCount="32" FavoriteCount="27" ContentLicense="CC BY-SA 3.0" />
  <row Id="19257" PostTypeId="2" ParentId="19251" CreationDate="2013-10-03T02:22:54.637" Score="5" Body="&lt;p&gt;If I'm not mistaken, in the introduction of Bansal and Sviridenko, they mention that your special case - where children value items equally aka jobs take the same time on all machines - was the topic of Woeginger (1994) and shown to have a PTAS. Woeginger also points out that the problem is strongly NP-hard and hence does not permit an FPTAS unless P=NP.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note however that if the number of bins $m$ is fixed rather than being part of the input, then the usual discretization method used for Knapsack and others, where items are rounded to powers of $(1+\epsilon/n)$, seems to yield an FPTAS.&lt;/p&gt;&#xA;" OwnerUserId="17477" LastActivityDate="2013-10-03T02:22:54.637" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19258" PostTypeId="1" AcceptedAnswerId="19265" CreationDate="2013-10-03T05:26:52.377" Score="1" ViewCount="157" Body="&lt;p&gt;I'm reading the book Introduction to Algorithms (Cormel et al., 2009) on the chapter about multithreaded algorithms, and I'm confused about the following:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;We must also account for the overhead of recursive spawning when analyzing the&#xA;  span of a parallel-loop construct. Since the depth of recursive calling is logarithmic in the number of iterations, for a parallel loop with $n$ iterations in which the $i$th iteration has span $iter_{\infty}(i)$, the span is $$T_\infty(n)=\Theta(\lg n)+\max_{1\leq i\leq n}iter_\infty(i).$$&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I agree that if there are a fixed number of processor, say $2$, then the depth is indeed $\log n$. But what if there are a huge number of processors, so that it can handle even large values of $n$? Wouldn't the depth of recursive calling be $\Theta(1)$ in that case?&lt;/p&gt;&#xA;" OwnerUserId="17866" LastActivityDate="2013-10-03T13:50:22.650" Title="Calculation of Recursive Spawning" Tags="&lt;time-complexity&gt;&lt;dc.parallel-comp&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19259" PostTypeId="2" ParentId="19233" CreationDate="2013-10-03T05:37:54.877" Score="7" Body="&lt;p&gt;Consider the maximum matching problem in bipartite graphs. The family of feasible solutions consists of all matchings, and local search is performed via finding augmenting paths. The problem belongs to PLS since an augmenting path can be found in polynomial time if a current matching is not maximum, and maximality can be checked in polynomial time. Any local optimum is a maximum matching (i.e., global optimum). However, it is #P-hard to compute the number of maximum matchings in a bipartite graph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since a local optimum can be found in polynomial time, the problem is unlikely to be PLS-complete. So, I'm afraid this is not an intended answer (your question restricts to PLS-complete problems). However, I should point out that counting the number of local optima can be hard even though one local optimum can be found efficiently.&lt;/p&gt;&#xA;" OwnerUserId="2955" LastActivityDate="2013-10-03T05:37:54.877" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="19261" PostTypeId="1" AcceptedAnswerId="19268" CreationDate="2013-10-03T09:47:59.507" Score="6" ViewCount="357" Body="&lt;p&gt;why do we need the restriction on the degree for a polynomial to be in VP due to which $(\prod_{i=0}^{n} x_i)^{2^n}$ $\notin$ VP even though it has a poly-size circuit?&lt;/p&gt;&#xA;" OwnerUserId="9155" LastEditorUserId="80" LastEditDate="2013-10-03T20:03:55.457" LastActivityDate="2013-10-03T20:03:55.457" Title="Degree restriction for polynomials in $\mathsf{VP}$" Tags="&lt;algebraic-complexity&gt;&lt;arithmetic-circuits&gt;&lt;bounded-degree&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19262" PostTypeId="2" ParentId="16401" CreationDate="2013-10-03T11:25:20.503" Score="8" Body="&lt;p&gt;The regular languages inside $AC^0$ are a &quot;nice&quot; subset of the regular languages. They have nice logical as well as algebraic characterizations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The book &quot;Finite Automata, Formal Logic and Circuit Complexity&quot; by Straubing considers these questions. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Your question can be answered as follows.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$AC^0 \cap REG$ = $FO[&amp;lt;,Suc,\equiv]$ = languages recognized by quasi-aperiodic monoids.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here $FO[&amp;lt;,Suc,\equiv]$ is first order logic using less than, successor and $x \equiv (0 ~mod ~q)$ numerical predicates.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another characterization as shown in &quot;Regular languages in $NC^1$&quot; are the set of languages which can be formed using a finite set of alphabets, LENGTH(q) and closing it under boolean combinations and concatenations.&lt;/p&gt;&#xA;" OwnerUserId="17869" LastActivityDate="2013-10-03T11:25:20.503" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19263" PostTypeId="1" CreationDate="2013-10-03T11:31:04.720" Score="7" ViewCount="264" Body="&lt;p&gt;I am trying to imagine what would be the implications of the loopholes on Bell test on the random sequence generation scheme proposed by Vazirani and Vidick (VV protocol) in the paper titled '&lt;a href=&quot;http://www.cs.berkeley.edu/~vazirani/pubs/dice0.pdf&quot;&gt;Certifiable Quantum Dice Or, True Random Number Generation Secure Against Quantum Adversaries&lt;/a&gt;'. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;To my knowledge there are six loopholes to be discussed here.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Detection efficiency, or fair sampling&lt;/li&gt;&#xA;&lt;li&gt;Communication, or locality&lt;/li&gt;&#xA;&lt;li&gt;Disjoint sampling&lt;/li&gt;&#xA;&lt;li&gt;Failure of rotational invariance&lt;/li&gt;&#xA;&lt;li&gt;Sources of error in (optical) Bell test experiments&lt;/li&gt;&#xA;&lt;li&gt;Free choice of detector orientations&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Let me try to express my understanding one by one.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Detection efficiency, or fair sampling&lt;/strong&gt;&#xA;If a very high efficiency detector is used it could be claimed that the loophole for Bell test is fixed. But the detector is a component of the device manufactured by the adversary. So, we should not be assured if the vendor claims that they are using very high efficiency detector.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Communication, or locality&lt;/strong&gt;&#xA;Non-locality is an assumption for the VV protocol so I assume this loophole has impact on the protocol.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Disjoint sampling&lt;/strong&gt;&#xA;I didn't get the whole thing but should I assume that this loophole will have impact if someone extends the VV protocol to a 3-party system?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Failure of rotational invariance&lt;/strong&gt;&#xA;I have no clue. Anyone with help?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Sources of error in (optical) Bell test experiments&lt;/strong&gt;&#xA;Is my logic used in case 1 applicable here too?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Free choice of detector orientations&lt;/strong&gt;&#xA;I am not sure but is it related to choosing the basis of measurements?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are my understandings correct? Thanks in advance for your help.&lt;/p&gt;&#xA;" OwnerUserId="13408" LastEditorUserId="13408" LastEditDate="2013-11-07T01:28:01.757" LastActivityDate="2013-11-07T01:28:01.757" Title="Implication of Bell test loopholes on Vazirani-Vidick random sequence generation scheme" Tags="&lt;cr.crypto-security&gt;&lt;quantum-computing&gt;&lt;randomness&gt;&lt;quantum-information&gt;&lt;physics&gt;" AnswerCount="0" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="19264" PostTypeId="1" AcceptedAnswerId="19266" CreationDate="2013-10-03T11:52:47.507" Score="3" ViewCount="3717" Body="&lt;p&gt;I get a bit confused about different definitions of entropy and/or self-information.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Entropy?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$ H(X) = - \sum_{x \in X} P_X(x) \cdot \log{\left(P_X(x)\right)} $$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Self-information?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$ I(x) = - \log{P_X(x)} $$&#xA;$$ I(X) = - \sum_{x \in X} \log{\left(P_X(x)\right)} $$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;When do I use which formulate to calculate what? Generally, I am interested in the average information content of a text. Here I would calculate the frequency of each word, the probability, sum up the negative logarithm of this probability and average it by the number of words.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What am I missing here?&lt;/p&gt;&#xA;" OwnerUserId="17842" LastActivityDate="2021-02-05T00:10:35.487" Title="Difference between self-information and entropy" Tags="&lt;it.information-theory&gt;&lt;shannon-entropy&gt;" AnswerCount="3" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19265" PostTypeId="2" ParentId="19258" CreationDate="2013-10-03T13:45:03.940" Score="1" Body="&lt;p&gt;$T_\infty$ means you have as many processor as you need (theoretically an infinite number). The strategy to assign each iteration to one processor is base on Divide and Conquer. So, at first, one processor split the number of iterations in two, spawn a new thread with the first half and recursively processes the other half. Then this two processors split each half in two chunks each. And so on until you have one iteration on each chunk, so you can compute it in $iter_\infty (i)$ time. Given that you have an infinite number of processors you can recruit twice the number of processors on each new level of this recursion, so each level can be executed in $O(1)$, but still you need to executed each level after the other. In order to have $n$ iterations (leaf on the recursion tree) you will need $O(\log n)$ levels.&lt;/p&gt;&#xA;" OwnerUserId="17516" LastEditorUserId="17516" LastEditDate="2013-10-03T13:50:22.650" LastActivityDate="2013-10-03T13:50:22.650" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="19266" PostTypeId="2" ParentId="19264" CreationDate="2013-10-03T14:14:16.477" Score="4" Body="&lt;p&gt;The entropy refers to a set of symbols (a text in your case, or the set of words in a language). The self-information refers to a symbol in a set (a word in your case).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The information content of a text depends on how common the words in the text are wrt the global usage of those words.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;E.g. &quot;Next saturday morning&quot; should have less self-information (as a named entity) than &quot;Large Hadron Collider&quot;, each of the words should have less self information (except for large, maybe). However the entropy may be higher in the first case, there are not many Large Hadron &quot;things&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Maybe Markov chains or some model that is better suited for probability in natural language would give you better (more significant and useful) results.&lt;/p&gt;&#xA;" OwnerUserId="6577" LastActivityDate="2013-10-03T14:14:16.477" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="19268" PostTypeId="2" ParentId="19261" CreationDate="2013-10-03T16:24:13.067" Score="11" Body="&lt;p&gt;It's not really &lt;em&gt;needed&lt;/em&gt;, so much as it is a matter of convention and utility. Of course, depending on your aims and your specific problem, it is completely reasonable to consider arithmetic circuits of polynomial size regardless of degree. This class is often denoted $\mathsf{VP}_{nb}$ (for &quot;Non-degree-Bounded&quot;), or sometimes &quot;algebraic $\mathsf{P/poly}$ or $\mathsf{algP/poly}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I was curious about this same question for a long time, so a while ago I spent some time digging. I found both a posteriori motivations, based on what we now know, and more historical, a priori motivations. I'm sure this list is incomplete, but here's what I found.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A priori motivations:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Skyum and Valiant [A Complexity Theory Based on Boolean Algebra. J.&#xA;ACM 32(2):484-502, 1985] seems to make it clear that the real&#xA;motivation is that in the Boolean setting p-bounded degree is what we&#xA;have, since every function can be expressed as a multilinear (and hence degree $\leq n$) polynomial. See (2), (3), and (4) below.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Valiant’s original paper (Valiant. Completeness classes in&#xA;algebra. STOC 1979) is focused on &lt;em&gt;formula size&lt;/em&gt;, and his original&#xA;definition of p-definable is given in terms of multilinear polynomials&#xA;whose coefficients have poly size formulae, and then taking the&#xA;closure under p-projections. The motivation for p-projections is&#xA;clear. This yields p-bounded degree as a consequence.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;One motivation for considering formula size:  ”We note that in the&#xA;Boolean case, although no analogue of Hyafil’s result is known, the&#xA;logarithm of formula size is intimately related to the space required&#xA;to compute the function.” [Valiant, p. 11] (We now know that, in the&#xA;Boolean case, polynomial formula size is equivalent to nonuniform $\mathsf{NC}^1$&#xA;(log-depth, poly-size circuits), but at the time I do not know if this&#xA;class was yet considered.)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Another motivation for formula size from the Boolean case (which he&#xA;discusses in Section 9): Boolean p-definable families exactly capture&#xA;$\mathsf{NP/poly}$ – that is, the only difference between &quot;Boolean p-definable&quot;&#xA;and &quot;$\mathsf{NP}$&quot; is nonuniformity. (The use of multilinearity in his&#xA;definition of p-definable may also have been motivated by this, since&#xA;all Boolean functions can be written multilinearly.)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Strassen’s result on eliminating divisions multiplies the&#xA;complexity by a factor of $deg^2$, so maintaining polynomial&#xA;complexity while eliminating divisions uses p-bounded degree.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;For quasipolynomial instead of polynomial bounds, we have&#xA;qp-computable iff qp formula size, but &lt;em&gt;only for families of&#xA;qp-bounded degree&lt;/em&gt;. This follows from two results that were known at the time: Hyafil (1979) showed that depth is at most $O((\log d + \log s)\log d)$, where $d$ is the degree and $s$ is the circuit size, and Brent (1974) showed that depth is $\Theta(\log(\text{formula size}))$&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Without the restriction on degree, permanent would not be&#xA;$\mathsf{VNP}$-complete under p-projections, as any p-projection of permanent has&#xA;p-bounded degree.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;A posteriori motivations:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Valiant-Skyum-Berkowitz-Rackoff [SIAM J. Comput. 12(4):641-644,&#xA;1983] extends Hyafil’s result to yield circuits of the same depth as&#xA;Hyafil, but whose size is polynomial in the original size &lt;em&gt;and the&#xA;degree&lt;/em&gt;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The more recent depth-reduction results (the chasms at depth 3 and 4) also involve the degree of the polynomial. As with VSBR, they become significantly less powerful for polynomials of large degree (and trivial for polynomials of really large degree).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;von zur Gathen’s “Feasible Arithmetic Computations: Valiant’s&#xA;Hypothesis” [J. Symb. Comput. (1987) 4, 137-172] provides several&#xA;useful reasons for bounding the degree. In particular, by bounding the&#xA;degree in the definition of $\mathsf{VNP}$, $\mathsf{VNP}$ is closed under many natural&#xA;operations that it would not otherwise be closed under. See esp. the&#xA;two paragraphs at the top of p. 156 mentioning results of Kaltofen&#xA;(1986) and Plaisted (1984).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;von zur Gathen, ibid., p. 7: &quot;Restricting the degree is quite reasonable over infinite fields, e.g.&#xA;over $\mathbb{Q}$, where the binary representation of the value of a polynomial&#xA;like $x^{2^n}$ has exponential length even for small inputs. In a&#xA;different setting–over varying finite fields–natural problems like&#xA;the trace, testing for quadratic residuosity, or factoring&#xA;polynomials, lead to polynomials of large degree, which can&#xA;nevertheless be computed efficiently (yon zur Gathen &amp;amp; Seroussi,&#xA;1986).&quot;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="129" LastActivityDate="2013-10-03T16:24:13.067" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19269" PostTypeId="2" ParentId="19256" CreationDate="2013-10-03T16:38:44.653" Score="19" Body="&lt;p&gt;Some graph classes allow polynomial-time algorithms for problems that are NP-hard for the class of &lt;em&gt;all&lt;/em&gt; graphs.  For instance, for perfect graphs, one can find a largest independent set in polynomial time (thanks to vzn in a comment for jogging my memory).  Via a product construction, this also allows a unified explanation for several apparently quite different CSPs being tractable (such as those with tree structure which are usually solved by hierarchical decomposition, and the All-Different constraint that is usually solved by perfect matching).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It could be argued that perfect graphs are &quot;easy&quot; because they allow nice semidefinite programming formulations of the problems in question (and therefore fall under linear algebra and/or convexity).  However, I'm not sure that completely captures what is going on.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;András Z. Salamon and Peter G. Jeavons, &lt;em&gt;Perfect constraints are tractable&lt;/em&gt;,&#xA;CP 2008,&#xA;LNCS 5202,&#xA;524–528.&#xA;doi:&lt;a href=&quot;http://dx.doi.org/10.1007/978-3-540-85958-1_35&quot;&gt;10.1007/978-3-540-85958-1_35&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Meinolf Sellmann, &#xA;&lt;em&gt;The Polytope of Tree-Structured Binary Constraint Satisfaction Problems&lt;/em&gt;,&#xA;CPAIOR 2008,&#xA;LNCS 5015,&#xA;367–371.&#xA;doi:&lt;a href=&quot;http://dx.doi.org/10.1007/978-3-540-68155-7_39&quot;&gt;10.1007/978-3-540-68155-7_39&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;As noted by Gil Kalai, properties of graphs that form minor-closed classes can be defined by a finite set of forbidden minors (this is the &lt;a href=&quot;https://en.wikipedia.org/wiki/Robertson%E2%80%93Seymour_theorem&quot;&gt;Robertson-Seymour theorem&lt;/a&gt;).  Another result of Robertson and Seymour is that testing for the presence of a minor can be done in cubic time.  Together these lead to a polynomial-time algorithm to decide properties that are minor-closed.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Neil Robertson and P. D. Seymour, &lt;em&gt;Graph Minors. XIII. The disjoint paths problem&lt;/em&gt;, Journal of Combinatorial Theory, Series B &lt;strong&gt;63&lt;/strong&gt;(1) 65–110, 1995.  doi:&lt;a href=&quot;http://dx.doi.org/10.1006/jctb.1995.1006&quot;&gt;10.1006/jctb.1995.1006&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;One problem with minor-closed graph properties is that they are &quot;small&quot;; excluding even one minor excludes lots of graphs.  This is perhaps one reason Robertson-Seymour structural decomposition works: there are few enough remaining graphs for them to have a nice structure.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Serguei Norine, Paul Seymour, Robin Thomas, and Paul Wollan, &lt;em&gt;Proper minor-closed families are small&lt;/em&gt;, Journal of Combinatorial Theory, Series B &lt;strong&gt;96&lt;/strong&gt;(5) 754–757, 2006.&#xA;doi:&lt;a href=&quot;http://dx.doi.org/10.1016/j.jctb.2006.01.006&quot;&gt;10.1016/j.jctb.2006.01.006&lt;/a&gt; (&lt;a href=&quot;http://www.math.princeton.edu/~snorin/papers/smallfam.pdf&quot;&gt;preprint&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;One attempt to go beyond minor-closed classes is via classes defined by forbidden subgraphs or forbidden induced subgraphs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Graph properties defined by a &lt;em&gt;finite&lt;/em&gt; set of forbidden subgraphs or induced subgraphs are decidable in polynomial time, by examining all possible subgraphs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I find the really interesting case to be hereditary graph properties where the forbidden set is &lt;em&gt;infinite&lt;/em&gt;.  A hereditary property is closed under taking of induced substructures, or equivalently consists of the $F$-free structures, where $F$ is a set of forbidden induced substructures, not necessarily finite.  For $F$-free classes, an infinite set $F$ doesn't lead to a recognition algorithm in any obvious way.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is also not clear why for some $F$-free graph classes one should be able to find largest independent sets in polynomial time.  &lt;a href=&quot;http://graphclasses.org/classes/gc_342.html&quot;&gt;Trees&lt;/a&gt; are the cycle-free graphs; &lt;a href=&quot;http://graphclasses.org/classes/gc_69.html&quot;&gt;bipartite graphs&lt;/a&gt; are the odd-cycle-free graphs; &lt;a href=&quot;http://graphclasses.org/classes/gc_56.html&quot;&gt;perfect graphs&lt;/a&gt; are the (odd-hole,odd-antihole)-free graphs.  In each of these cases the forbidden set is infinite yet there is a polynomial-time algorithm to find largest independent sets, and such graphs can also be recognised in polynomial time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is only partial progress so far on understanding why some $F$-free classes (with $F$ infinite) are decidable in polynomial time.&#xA;This progress consists of structural decomposition theorems that lead to polynomial-time recognition algorithms for such classes.  Perfect graphs are (odd-hole,odd-antihole)-free, yet can be recognised in polynomial time by the &lt;a href=&quot;http://dx.doi.org/10.1007/s00493-005-0012-8&quot;&gt;Chudnovsky-Cournéjols-Liu-Seymour-Vušković algorithm&lt;/a&gt;.  (This remains rather messy after a long period of cleaning.)  There are also results if $F$ is the set of all even cycles, or the set of all odd holes, and significant progress has been made on the case where $F$ contains the claw graph.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Maria Chudnovsky and Paul Seymour, &lt;em&gt;Excluding induced subgraphs&lt;/em&gt;, Surveys in Combinatorics 2007, 99–119, Cambridge University Press, ISBN 9780521698238. (&lt;a href=&quot;http://www.columbia.edu/~mc2775/induced_survey.pdf&quot;&gt;preprint&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The hereditary case shares some of the difficulty of the case of minors.  For minor-closed graph classes, it is usually not known what the finite set of forbidden minors is, even though it must be finite.  For $F$-free graph classes, if the set $F$ is infinite then the class might be nice or it might not be, and we currently have no way to tell other than to try to understand the decomposition structure of the $F$-free graphs.&lt;/p&gt;&#xA;" OwnerUserId="109" LastEditorUserId="109" LastEditDate="2013-10-04T10:45:12.787" LastActivityDate="2013-10-04T10:45:12.787" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="19271" PostTypeId="2" ParentId="19256" CreationDate="2013-10-03T20:04:12.563" Score="15" Body="&lt;p&gt;Lenstra's integer programming in bounded dimension, the Lenstra-Lenstra-Lovasz algorithm, and related subsequent algorithms - Barvinok's algorithm for the number of integer solutions to an IP problem in bounded dimension and Kannan's P-algorithm for the Frobenius/Sylvester problem can be added as a special category. A notable open problem here is to find a P-algorithm for higher order problems in the Presburger Hierarchy.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another class of P-algorithm worth mentioning are those P-algorithm given to object proved to exist by randomized proofs. Examples: algorithms for applications of Lovasz-Local Lemma; algorimic versions of  Spencer discrepency result; (of slightly different flavour) algorithmic versions of Szemeredi regularity lemma. &lt;/p&gt;&#xA;" OwnerUserId="712" LastEditorUserId="712" LastEditDate="2013-10-08T05:46:04.237" LastActivityDate="2013-10-08T05:46:04.237" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19273" PostTypeId="2" ParentId="19256" CreationDate="2013-10-03T20:30:15.887" Score="19" Body="&lt;p&gt;Lattice-basis reduction (LLL algorithm).    This the basis for efficient integer polynomial factorization and some efficient cryptanalytic algorithms like breaking of linear-congruential generators and low-degree RSA.  In some sense you can view the Euclidean algorithm as a special case.&lt;/p&gt;&#xA;" OwnerUserId="17875" LastActivityDate="2013-10-03T20:30:15.887" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="19275" PostTypeId="2" ParentId="19256" CreationDate="2013-10-04T00:32:33.473" Score="11" Body="&lt;p&gt;I see Chandra alluded to it, but I think structure of an LP relaxation (e.g. due to total unimodularity) is a pervasive form of &quot;structure&quot; that leads to polynomiality. It accounts for a large class of poly time algorithms. If one includes promise problems, it accounts for a large class of approximation algorithms as well. The most frequent classes of reasons one comes across that don't follow from LPs and/or SDPs are Gaussian elimination and dynamic programming.There are of course  others such as holographic algorithms that don't have simple explanations.&lt;/p&gt;&#xA;" OwnerUserId="982" LastActivityDate="2013-10-04T00:32:33.473" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19277" PostTypeId="1" CreationDate="2013-10-04T07:55:27.680" Score="15" ViewCount="339" Body="&lt;p&gt;I know that you can use other non-solvable groups, but is there a proof that uses a completely different approach?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In case someone would not know the theorem:&#xA;&lt;a href=&quot;http://en.wikipedia.org/wiki/NC_(complexity)#Barrington.27s_theorem&quot;&gt;http://en.wikipedia.org/wiki/NC_(complexity)#Barrington.27s_theorem&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="419" LastActivityDate="2013-10-04T07:55:27.680" Title="Are there other proofs for Barrington's theorem?" Tags="&lt;circuit-complexity&gt;&lt;gr.group-theory&gt;&lt;formulas&gt;" AnswerCount="0" CommentCount="11" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="19279" PostTypeId="2" ParentId="19256" CreationDate="2013-10-04T16:27:04.630" Score="14" Body="&lt;p&gt;There is a large and still growing body of theory about classes of fixed-template constraint satisfaction problems that have polynomial-time algorithms.&#xA;Much of this work requires mastery of the &lt;a href=&quot;http://www.ams.org/books/conm/076/&quot;&gt;Hobby and MacKenzie book&lt;/a&gt;, but luckily for those of us who are more interested in computer science than universal algebra, some parts of this theory have now been simplified enough to be accessible to a TCS audience.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Each of these problems is associated with a set of relations $\Gamma$, and can be expressed as: &lt;em&gt;given a source relational structure $S$ and a target relational structure $T$ with relations from $\Gamma$, does there exist a relational structure homomorphism from $S$ to $T$?&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An NP-hard example is when $\Gamma$ is the set containing the relation formed by the back-and-forth directed edges of a complete graph with at least $k \ge 3$ vertices: this expresses Graph $k$-Colouring.  An example in P is when every relation in $\Gamma$ contains the tuple $(0,0,\dots,0)$: in this case mapping every element of $S$ to $0$ in $T$ is a (trivial) solution.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is believed that there is a dichotomy for these problems, which can be expressed roughly as: the problem for $\Gamma$ is in P precisely when the algebra associated with $\Gamma$ has a Taylor term (note that I am leaving out some crucial conditions for the sake of exposition).  This extends &lt;a href=&quot;https://en.wikipedia.org/wiki/Schaefer%27s_dichotomy_theorem&quot;&gt;Schaefer's Dichotomy theorem&lt;/a&gt; to the case where the set used to construct the relations in $\Gamma$ contains more than two elements but is still finite.  The dichotomy is known to hold for the important case where the relations in $\Gamma$ are &lt;em&gt;conservative&lt;/em&gt;; this means in practice that the class of problems contains all the successively simpler subproblems considered by a constraint solver, so the process of constraint solving avoids generating &quot;hard&quot; intermediate instances while solving &quot;easy&quot; problems.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In one important case that falls into P, methods that are similar to Gaussian elimination can be applied.  This works if $\Gamma$ is obtained from a system of linear equations over a finite field.  More surprising, this also works for a range of problems that do not appear at first glance to have anything to do with linear algebra.  They all rely on the relations in $\Gamma$ being closed under &quot;nice&quot; polymorphisms.  These are functions that are applied componentwise to collections of tuples from the relation to yield another tuple, which then has to be in the relation.  Examples of &quot;nice&quot; polymorphisms are Taylor or cyclic terms.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The results to date seem to indicate that there should be a kind of general powering transformation of an underlying reachability state space that can turn such problems into ones with a constant tuple in each relation, like the example above.  (This is my personal interpretation of ongoing research &lt;em&gt;and may well be completely wrong&lt;/em&gt;, depending on how the ongoing search for an algorithm for algebras with cyclic terms pans out, so I reserve the right to recant this.)  It is known that when there &lt;em&gt;isn't&lt;/em&gt; such a transformation then the problem is NP-complete.  The frontier of the dichotomy conjecture currently involves closing this gap; see the &lt;a href=&quot;http://www.karlin.mff.cuni.cz/~barto/Articles/fields-2011-problems.pdf&quot;&gt;open problems list from the 2011 Workshop on Algebra and CSPs&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In either case, this probably deserves an entry in Scott's list.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A second class in PTIME allows local consistency techniques to be applied to prune possible solutions, until either a solution is found or no solutions are possible.  This is essentially a sophisticated version of the way most people solve Sudoku problems.  I don't think this reason currently features in Scott's list either.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is interesting that &lt;a href=&quot;http://www.karlin.mff.cuni.cz/~barto/research.html&quot;&gt;Libor Barto&lt;/a&gt;'s PTIME algorithm for the conservative case in the presence of cyclic terms is nonconstructive: if there is an absorbing subalgebra then there is an algorithm, but no way is known to decide whether a set is an absorbing subalgebra of an algebra.  Contrast this with the Robertson-Seymour setup, where there exists an algorithm but it relies on knowing the finite set of forbidden minors, yet no way is known how to decide whether a finite set of graphs is the list of forbidden minors of a graph class.  Barto's algorithm relies on knowing the absorbing subuniverses of all subsets of the algebra associated with $\Gamma$, and of the existential nature of the algorithm &lt;a href=&quot;http://www.karlin.mff.cuni.cz/~barto/Articles/Barto_LICS.pdf&quot;&gt;he says&lt;/a&gt; &quot;I love it&quot;...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, there is also much exciting work initiated by &lt;a href=&quot;http://www.lix.polytechnique.fr/~bodirsky/publications.html&quot;&gt;Manuel Bodirsky&lt;/a&gt; for the case of infinite domains.  Some of the algorithms look quite strange and may ultimately turn out to lead to more entries in Scott's list.&lt;/p&gt;&#xA;" OwnerUserId="109" LastEditorUserId="109" LastEditDate="2013-10-04T16:48:21.380" LastActivityDate="2013-10-04T16:48:21.380" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19280" PostTypeId="1" CreationDate="2013-10-04T17:06:29.207" Score="3" ViewCount="215" Body="&lt;p&gt;Consider a special case of homomorphisms of &lt;a href=&quot;http://en.wikipedia.org/wiki/Finite-state_machine#Transducers&quot; rel=&quot;nofollow&quot;&gt;FSM transducers&lt;/a&gt; (or &quot;generalized sequential machines&quot; in [1]). Let $F$ be a transducer accepting a language $L$, and let $h(x)$ be a homomorphism function which maps from $\Sigma \to \Sigma^*$. (Here, $h(x)$ is extended in the standard way to strings, $h(\epsilon)=\epsilon, h(x c) = h(x) h(c)$, where $x$ is a string and $c$ is a symbol from $\Sigma$.) Let $f(x)$ be the output of $F$ on $x$.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Problem:&lt;/strong&gt; Given $F$, find a non-trivial $h(x)$ such that for all $x \in L$, $h(f(x))$ = $f(h(x))$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Call this a &lt;em&gt;self similar homomorphism&lt;/em&gt; (SSH). Has this been studied anywhere? I'm looking for any (partial) insight, or related or nearby references on the following:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;ol&gt;&#xA;  &lt;li&gt;What is an algorithm for finding an SSH? What is its complexity?&lt;/li&gt;&#xA;  &lt;li&gt;What are sufficient and/or necessary conditions for a solution?&lt;/li&gt;&#xA;  &lt;li&gt;Are there any applications?&lt;/li&gt;&#xA;  &lt;/ol&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;[1] &lt;a href=&quot;http://en.wikipedia.org/wiki/Introduction_to_Automata_Theory,_Languages,_and_Computation&quot; rel=&quot;nofollow&quot;&gt;Introduction to automata theory, languages, and computation&lt;/a&gt; / Hopcroft &amp;amp; Ullman&lt;/p&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="5693" LastEditDate="2013-10-05T11:18:25.670" LastActivityDate="2018-12-04T20:59:58.980" Title="Finding self-similar homomorphisms of a FSM transducer" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;automata-theory&gt;&lt;regular-language&gt;&lt;dfa&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="19281" PostTypeId="1" CreationDate="2013-10-04T17:56:08.667" Score="11" ViewCount="170" Body="&lt;p&gt;Let $x=(x_1,\dots,x_n)$ be a vector of boolean variables.  Let $C,D$ be two boolean circuits on $x$.  Say that $C$ is similar to $D$ if:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;$\Pr[C(x) \ne D(x)]$ is exponentially small, when $x$ is drawn uniformly at random from $\{0,1\}^n$ (in other words, they have almost-identical functionality); and,&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;$C,D$ differ in graph edit distance by a tiny amount (their edit distance is much smaller than the size of the circuit, say, $O(1)$ or some small constant), meaning that almost all of the gates and wires of $C$ match a corresponding gate and wire in $D$, with only a few gates added/deleted/changed.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;My problem: I am given a circuit $C$, and I want to know whether there exists a circuit $D$ that is similar to $C$ but not identical to $C$ (i.e., where there exists $x$ such that $C(x)\ne D(x)$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can anyone suggest an algorithm to solve this problem?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If it helps, we can restrict attention to circuits $D$ that are smaller than the given circuit $C$ (i.e., we want to know whether there exists a circuit $D$ such that $D$ is smaller than $C$, $D$ is similar to $C$, and there exists $x$ such that $C(x)\ne D(x)$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If it helps, you can additionally assume we are given known-good test cases $x^1,\dots,x^m,y^1,\dots,y^m$ such that $C(x^i)=y^i$ for all $i$, and we can further restrict attention to only circuits $D$ such that $D(x^i)=y^i$ for all $i$.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;This arises from a practical application, so if you can't solve this problem, feel free to solve any variant or interesting special case.  For instance, feel free to instantiate any of the parameters or thresholds in any way that's convenient for you.  You can assume the circuits are not too large (polynomial sized, or something).  Feel free to replace graph edit distance by some other measure of near-match of implementation.  Also, in practice SAT solvers are often surprisingly effective on the structured circuits that arise in practice, so it's probably fine to invoke a SAT solver as a subroutine/oracle (at least, if you're invoking it on something like a SAT instance derived from a circuit like $C$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Alternatively, lacking any algorithms, I would also be interested in the existence question: for an &quot;average&quot; circuit $C$, what's the probability that there exists some $D$ that meets all the criteria?  (I'm hoping this probability is very low, but I have no clue if that is the case.)&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;The practical application is to test whether a circuit $C$ might contain a malicious backdoor / hidden Easter egg.  The hypothesis of how such a thing might get inserted goes like this.  We start with a &quot;golden&quot; circuit $D$, that computes the desired functionality and has no hidden backdoor.  Then, the adversary makes a small change to $D$ to introduce the hidden backdoor, obtaining a modified circuit $C$.  The purpose of the backdoor is to change the function computed by $D$ in some way.  If $\Pr[C(x) \ne D(x)]$ is not too small, the change can plausibly be detected by random testing, so an adversary will probably try to keep $\Pr[C(x) \ne D(x)]$ very small.  Similarly, if $C$ differs from $D$ in too many places, this might be noticed by random inspection of the circuit, so an adversary will probably try to minimize the number of changes.  (And, there may be a test suite of $x^i,y^i$ pairs that represent instances of the desired functionality, so we know that whatever the &quot;golden&quot; circuit $D$ is, it satisfies $D(x^i)=y^i$ for all $i$.)  Ultimately, we are given the circuit $C$ (but not the &quot;golden&quot; circuit $D$), and we want to know whether $C$ might be a modified version of some $D$, where the modification was made to introduce a hidden backdoor of this sort.&lt;/p&gt;&#xA;" OwnerUserId="5038" LastEditorUserId="5038" LastEditDate="2013-10-05T01:21:11.533" LastActivityDate="2013-10-05T12:10:32.607" Title="Detecting circuit that's similar in functionality and implementation" Tags="&lt;sat&gt;&lt;application-of-theory&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="19282" PostTypeId="1" CreationDate="2013-10-04T18:01:13.010" Score="13" ViewCount="271" Body="&lt;p&gt;Consider the following problem.&lt;br&gt;&#xA;Input: An undirected graph $G=(V,E)$.&lt;br&gt;&#xA;Output: A graph $H$ which is a minor of $G$ with the highest edge density among all minors of $G$, i.e., with the highest ratio $|E(H)|/|V(H)|$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Has this problem been studied? Is it solvable in polynomial time or is it NP-hard? What if we consider restricted graph classes like classes with excluded minors?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we ask for the densest subgraph instead, the &lt;a href=&quot;http://epubs.siam.org/action/showAbstract?page=30&amp;amp;volume=18&amp;amp;issue=1&amp;amp;journalCode=smjcat&amp;amp;&quot;&gt;problem is solvable in polynomial time&lt;/a&gt;. If we add an additional parameter $k$ and ask for the densest subgraph with $k$ vertices, the problem is NP-complete (this is an easy reduction from $k$-clique). &lt;/p&gt;&#xA;" OwnerUserId="17644" LastActivityDate="2013-10-24T15:10:28.903" Title="Complexity of computing a densest minor" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;np-hardness&gt;&lt;graph-minor&gt;" AnswerCount="2" CommentCount="3" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="19283" PostTypeId="1" CreationDate="2013-10-04T22:50:52.277" Score="7" ViewCount="287" Body="&lt;p&gt;Erdos&amp;amp;Stone conjectured in &lt;a href=&quot;http://www.renyi.hu/~p_erdos/1946-08.pdf&quot;&gt;1946-08&lt;/a&gt; that &lt;/p&gt;&#xA;&#xA;&lt;p&gt;there are at least $ck-1$ (k+1)-cliques in $G=(V,E)$ &#xA;whenever $|V|=ck$, $|E|-1$ is the edge-count in Turan's &#xA;$T(|V|,k)$, i.e., &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$|E|= 1+\lfloor {(k-1)|V|^2} / (2k) \rfloor$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am looking to see whether this conjecture has been proved in literature. &#xA;Didn't see a trace of it myself. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks in advance. &lt;/p&gt;&#xA;" OwnerUserId="12582" LastActivityDate="2013-11-30T00:30:25.323" Title="Erdos conjecture, number of cliques, Turan`s graph" Tags="&lt;reference-request&gt;&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;clique&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19284" PostTypeId="2" ParentId="19238" CreationDate="2013-10-04T23:08:35.513" Score="0" Body="&lt;p&gt;I would say that the speedup is asymptotic to 1/p because it's only the top levels of the tree which can't use all processors (e.g. where the number of nodes is less than p). As n approaches infinity this becomes an ever smaller proportion of the algorithm.&lt;/p&gt;&#xA;" OwnerUserId="17884" LastActivityDate="2013-10-04T23:08:35.513" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19289" PostTypeId="2" ParentId="19238" CreationDate="2013-10-05T10:00:48.207" Score="3" Body="&lt;p&gt;Since you know that you must process each element and tasks are independent, i.e., the algorithm is &lt;em&gt;embarrassingly parallel&lt;/em&gt;, in the Dynamic Multithreading model you should simply use a &lt;em&gt;parallel for&lt;/em&gt; instead of spawning threads as you do, and let the compiler implement this optimally.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The work (sequential time) is $T_1 = O(nk)$ because you need to process each element and each element requires O(k) time. The span is $T_\infty = O(log n + k)$, and the parallelism is $T_1 / T_\infty = nk / (log n + k)$. In general, you know that, regarding $T_p$, we can only say that:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$T_1/p \leq T_p \leq T_1/p +  T_\infty$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$T_\infty \leq T_p \leq T_1/p + T_\infty$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is because $T_p$ is a function of the work, span, size $n$ and scheduler behavior. And $T_\infty$ actually means for your algorithm $p = n$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, let's analyze what happens to the speedup by using the Generalized Amdahl's law (derived by Lee). This law describes the speedup of parallel applications in which the computation is made of phases and in each phase a different number of processors is actually used. Think about each level of the directed acyclic graph corresponding to the computation as a phase.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $q_i$ be the percentage of a parallel application executed simultaneously by $i$ processors; then, we have:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;${T_1} = \sum\limits_{i = 1}^p {{q_i}} {T_1}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;${T_p} = \sum\limits_{i = 1}^p {\frac{{{q_i}}}{i}} {T_1}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Therefore, the speedup is&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\frac{{{T_1}}}{{{T_p}}} = \frac{{\sum\limits_{i = 1}^p {{q_i}} {T_1}}}{{\sum\limits_{i = 1}^p {\frac{{{q_i}}}{i}} {T_1}}} = \frac{{\sum\limits_{i = 1}^p {{q_i}} }}{{\sum\limits_{i = 1}^p {\frac{{{q_i}}}{i}} }} = \frac{1}{{\sum\limits_{i = 1}^p {\frac{{{q_i}}}{i}} }}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Why is this useful? Because in general it allows you to derive useful bounds. For instance, assuming $q_i = 1/p$ then we can derive an upper bound for the speedup as follows:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\frac{{{T_1}}}{{{T_p}}} = \frac{1}{{\sum\limits_{i = 1}^p {\frac{{{q_i}}}{i}} }} = \frac{1}{{\frac{1}{p}\sum\limits_{i = 1}^p {\frac{1}{i}} }} = \frac{p}{{\sum\limits_{i = 1}^p {\frac{1}{i}} }} \leqslant \frac{p}{{\log p}}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In your algorithm, $q_i$ is different from zero only for values of $p$ which are powers of 2; i.e.,  $q_i = 2^i, i = 0,...,\log p$. In the corresponding summation $q_i$ will be divided by $2^i$, giving rise to a summation in which each term is 1. As an example, for $p=16$ the nonzero $q_i$ values are 1,2,4,8,16 and these values must be divided respectively by 1,2,4,8,16 so the sum is 5 and the speedup is 1/5. In general, the speedup of your algorithm is:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\frac{{{T_1}}}{{{T_p}}} = \frac{1}{{\sum\limits_{i = 1}^p {\frac{{{q_i}}}{i}} }} = \frac{1}{{\sum\limits_{j = 0}^{\log p} {\frac{{{2^i}}}{{{2^i}}}} }} = \frac{1}{{(\log p) + 1}}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now compare this with the performances you can obtain in the message passing model, in which your algorithm is executed on $p$ processors. Since the algorithm is embarrassingly parallel, $T_p = O(\frac{n}{p} k)$ (domain decomposition is trivial and requires O(1) time) and the speedup is (as expected for an embarrassingly parallel algorithm) $T_1/T_p = p.$&lt;/p&gt;&#xA;" OwnerUserId="4208" LastEditorUserId="4208" LastEditDate="2013-10-06T17:19:10.143" LastActivityDate="2013-10-06T17:19:10.143" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="19290" PostTypeId="2" ParentId="19281" CreationDate="2013-10-05T12:10:32.607" Score="4" Body="&lt;p&gt;This is only an extended comment that came to my mind immediately after reading the question:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;suppose you have a 3SAT formula $\phi$ with $n$ variables $x_1,...,x_n$ and let $C$ be the corresponding circuit;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;build a new circuit $C'$, adding $m = n^k$ variables $y_1, y_2, ...,y_{n^k}$, and enough gates to AND the $m$ new variables with the output of the original $C$ ($C' = \phi \land y_1 \land ... \land y_m$);&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;build a new circuit $D'$ from $C'$ that simply forces its output to 0 using an AND and NOT gate ($D' = C' \land \neg C'$)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;If $\phi$ is not satisfiable then $D'$ and $C'$ are equivalent, otherwise they differ when the $x_i$ satisfy the formula AND all $y_i = 1$, but you can choose $m$ large enough to make the probability that $\bigwedge y_i =  1$ very small.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So if you have an efficient algorithm for your problem, you can afficiently solve the 3SAT instance.&lt;/p&gt;&#xA;" OwnerUserId="3247" LastActivityDate="2013-10-05T12:10:32.607" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19293" PostTypeId="1" AcceptedAnswerId="19301" CreationDate="2013-10-06T06:31:15.257" Score="5" ViewCount="124" Body="&lt;p&gt;I'm interested in a variant of the Binary Channel, where the bits aren't &lt;em&gt;flipped&lt;/em&gt; with some probability, but rather they are &lt;em&gt;completely erased&lt;/em&gt;. Output words therefore vary in length.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm quite sure that this subject is well researched, and all I need is the correct search term.&lt;/p&gt;&#xA;" OwnerUserId="7715" LastEditorUserId="6623" LastEditDate="2013-10-07T00:39:16.100" LastActivityDate="2013-10-07T00:39:16.100" Title="Reference Request: Error correction code for a random projection" Tags="&lt;reference-request&gt;&lt;it.information-theory&gt;&lt;coding-theory&gt;" AnswerCount="2" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19294" PostTypeId="2" ParentId="19282" CreationDate="2013-10-06T07:38:50.513" Score="7" Body="&lt;p&gt;Ok, since there's still nothing here in the way of an answer, let me at least make a couple of simple observations:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For graphs of bounded treewidth it should be possible to find a densest minor (or even a minor with specified numbers of edges and vertices) by the usual sort of dynamic program on the tree decomposition, where each state of the dynamic program keeps track of the number of edges and vertices in the part of the minor living in a subtree of the decomposition, the subset of vertices in the bag of the decomposition that participate in the minor, the equivalences between vertices in this subset caused by the minor contractions in the whole graph, and a refinement of this equivalence relation caused by the contractions in the part of the minor living in the subtree.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If so, it would follow that, when the density is below three, it should be possible to find the densest minor in polynomial time (with a constant factor that depends on how close to three the density is). For, the graphs whose densest minor has density $\le 3-\epsilon$ have planar forbidden minors and therefore bounded treewidth.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2013-10-06T07:38:50.513" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19295" PostTypeId="2" ParentId="19244" CreationDate="2013-10-06T10:17:52.007" Score="0" Body="&lt;p&gt;I'm still not sure that I completely understand the problem domain, but here's a few suggestions:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The depth of each leaf.&lt;/li&gt;&#xA;&lt;li&gt;The difference between min and max number of children at each depth.&lt;/li&gt;&#xA;&lt;li&gt;The number of leaves below each node.&lt;/li&gt;&#xA;&lt;li&gt;The difference between the depths of the left and right subtrees for an in-order traversal.&lt;/li&gt;&#xA;&lt;li&gt;The weights required to build a Huffman tree of the same structure.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="17884" LastActivityDate="2013-10-06T10:17:52.007" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19296" PostTypeId="2" ParentId="19253" CreationDate="2013-10-06T10:26:04.947" Score="1" Body="&lt;p&gt;This is perhaps not entirely satisfactory since you asked for an approximation rather than a hardness result but there is no constant independent of $a$ for which the problem can be approximated to within via an FGLSS-like reduction.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Unless P=NP, for every $\epsilon &amp;gt; 0$, there exists $c_0$ such that there is no poly-time $\epsilon$-approximation for Hypergraph-DiCut (HDC) instances on $c_0 \le c$-uniform hypergraphs.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that this covers the original question since for any $c &amp;gt; 1$, one can take $a$ sufficiently large so that $c^a \ge c_0$; if $a$ grows with $n$, the problem only becomes harder to approximate. It is also easy to artificially increase $c$ in the sense that if one has approximation hardness for any $c$, then one also has an approximation hardness for $c' \ge c$ (ignoring rounding). (see below for details)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let me tell you the basic idea first and then do it properly.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Example Reduction from 3SAT&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;We know that it is NP-hard to distinguish satisfiable 3SAT instances from, say, 88%-satisfiable instances.&#xA;3SAT can be reduced to your problem like this: for each clause $C$, such as $(x_3 \lor \lnot x_5 \lor x_6)$, we introduce seven vertices - one for each of the seven satisfying assignments to these three variables, such as $(x_3=1, x_5=0, x_6=1)$. For each of these vertices $v$, we have a hyperedge where $v$ is the head and the tail consists of the six other assignments. This way, we force a solution to include in $S$ at most one of the assignments (for simplicity, we may assume that $S$ only contains vertices such that they are the head of a satisfied hyperedge). We also include in the tail of the hyperedge every other vertex that shares a variable with the clause $C$, and where the assignments of shared variables are inconsistent.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As an example, if we also have the clause $(x_3 \lor x_8 \lor x_9)$, we include in the tail of the hyperedge where $(x_3=1, x_5=0, x_6=1)$ is the head, the vertices corresponding to $(x_3=0, x_8=0, x_9=1), (x_3=0, x_8=1, x_9=0)$, and $(x_3=1, x_8=1, x_9=1)$. Note that these are &lt;em&gt;added&lt;/em&gt; to the tail, so the hyperedge both rules out inconsistent assignments to the original clause as well as inconsistent assignments of clauses with common variables.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This way, we can now only choose cuts $S$ where the assignments to variables are consistent and each cut hyperedge corresponds to one satisfied clause. In fact, the optimal cuts will correspond precisely to the optimal simultaneously satisfiable clauses. If we reduced from a 3SAT instance where each variable appeared in a bounded number of clauses, then the size of the constructed hyperedges will also be bounded by some constant. If the 3SAT instance was hard to approximate within, say, 0.88, then the Hypergraph DiCut problem, for sufficiently large $c$, is also hard to approximate within 0.88.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, we could have done precisely the same reduction but with each vertex representing the assignment to some $r$ number of clauses with the effect that the problem becomes hard to approximate to within any constant for sufficiently wide hyperedges.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Label Cover Reduction in Detail&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;More carefully now, the hardness reduction is from Label Cover (LC) and is similar to the FLGSS reduction from SAT to Clique (see references).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $u \sim v$ indicate that the vertices $u$ and $v$ are neighbors. If a hyperedge is $k$-uniform, I will also refer to $k$ as the width of the hyperedge.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We know that for every $\epsilon &amp;gt; 0$, there exists fixed $L$, $R$, $d$, $\Delta$, such that for Label Cover with label sets $L$ and $R$, projection degrees at most $d$, and bipartite constraint graphs with degrees at most $\Delta$, it is NP-hard to distinguish perfectly satisfiable instances from $\epsilon$-satisfiable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given an LC instance $(U, V, E, \Pi)$, we consider introducing for each LC vertex $v \in V$ and label $i \in R$, an HDC vertex $(v, i)$ which represents assigning $v$ the label $i$. For each HDC vertex $(v, i)$, let $A(v, i)$ be the set of HDC vertices with conflicting assignments to $v$. That is, $A(v, i) = \{ (v, j) : i \neq j \}_{j \in R}$. Similarly, let $N(v, i)$ be the set of neighbor-of-neighbor assignments conflicting with $(v, i)$. That is, $N(v, i) = \{ (w, j) : \forall_{u \in U: v \sim u \sim w} \pi_{vu}(i) \neq \pi_{v'u}(j) \}_{w \in W, j \in R}$.&#xA;For each HDC vertex $(v, i)$, we introduce an hyperedge with head $(v, i)$ and tail consisting of $A(v, i) \cup N(v, i)$.&#xA;From the assumptions of the reduced-from LC instances, the cardinality of $A(v, i)$ is at most $|R|-1$ and of $N(v, i)$ at most $(|R| - d) \Delta^2$. Hence the hyperedges have width at most $|R| \Delta^2$; the hyperedges may also have smaller width but it easy to add extra variables to pad the hyperedges (see below).&#xA;The tail elements $A(v,i)$ of $(v,i)$ ensure that we cannot simultaneously satisfy two hyperedges giving different assignments to $v$. The elements $N(v, i)$ ensure that we may assign a label to the neigbors $u \in U$ of $v$ such that all neighbors $w \in V$ of $u$ have projected labels which are consistent with the projection of $v$'s label; in effect, all LC edges incident $v$ are satisfied by the projected label.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For any set of HDC vertices $S$, let $H(S)$ be the set of hyperedges which have a head in $S$. Again, wlog, we may assume that a cut $S$ only contains HDC vertices which are heads of satisfied hyperedges.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Analysis&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Completeness claim:&lt;/strong&gt; if the LC instance has value 1, then the HDC instance has a cut of size $|V|$.&#xA;&lt;em&gt;Proof:&lt;/em&gt; Simply take a satisfying labeling $\lambda$ of the LC instance and let $S$ consist of the vertices $(v, \lambda(v))$ for each $v \in V$. Note that since we only take one assignment per vertex, the tail $A(v, i)$ has an empty intersection with $S$. Similarly, since the labeling satisfies all LC edges, for every $v, v' in V$ with a common neighbor $u \in U$, we have $\pi_{vu}(\lambda(v)) = \lambda(u) = \pi_{v'u}(\lambda(v'))$ and hence none of the elements in $S$ appear in the tails of the hyperedges of $H(S)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Soundness claim:&lt;/strong&gt; if the LC instance has value at most $\epsilon$, then the HDC instane has no cut larger than $\epsilon |V|$.&#xA;&lt;em&gt;Proof:&lt;/em&gt; since we assume that $S$ only contains heads of satisfied hyperedges, we know that for every LC vertex $v \in V$, there is at most one label $j \in R$ such that $(v, j) \in S$. We also know that for every $u \in U$, all neighbors $v \in V$ of $u$, which have an assignment in $S$ are consistent about the projected label of $u$. Consequently, we can define the partial labeling $\lambda$ by choosing $j$ as the label for $V$ if $(v, j) \in S$ and for every neighbor $u \in U$, the label $\lambda(u) = \pi_{v,u}(j)$. This labeling satisfies at least a fraction $|S| / |V|$ of LC constraints since for each labeled $v \in V$, we satisfy all incident constraints and the LC instance is regular.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Conclusion:&lt;/strong&gt; it is NP-hard to distinguish $|V|$-satisfiable instances from $\epsilon |V|$, i.e., it is NP-hard to approximate the problem to within a constant better than $\epsilon$ for sufficiently large hyperedge widths.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;--&#xA;&lt;em&gt;Caveat&lt;/em&gt;: The hardness result assumes that $c$ can be a large constant, i.e., $a$ reasonably large, and is therefore chiefly only of theoretical interest.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;--&#xA;To reduce instances with hyperedges of width $c$ to width $c' &amp;lt; 2c$, introduce a copy $v'$ of each variable $v$ and call the two duals of one another. Also introduce the corresponding copy of each hyperedge. Next, replace augment every - original and copy - hyperedge $v_1 \rightarrow v_2, \dotsc, v_c$ by adding $c'-c$ dual variables as tail: $v_1 \rightarrow v_2, \dotsc, v_c, v'_2, \dotsc, v'_{c'-c}$; the new instance will have the same value (=maximum fraction of simultaneously satisfied hyperedges). To see this, suppose the original instance had value $x$ and the augmented value $y &amp;gt; x$. Let $S \cup S'$ be a value-$y$ solution to the augmented instance where $S$ is the set of included original vertices and $S'$ the set of included copied vertices. Then the fraction of satisfied original hyperedges or the fraction of satisfied copied hyperedges must be at least $y$. Suppose it is $S$, then we choose $S$ as the assignment to the original instance as well. Since we only added more vertices to the hyperedges, if an original edge was satisfied by $S, S'$ in the augmented instance, it is also satisfied in the original instance by $S$. In effect, the value of the original instance must have been at least $y$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;P.S. Sorry about the wall of text.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;References&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Johan Håstad. Some Optimal Inapproximaility Results. In JACM'01.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Feige, Goldwasser, Lovasz, Safra, and Szegedy. Approximating clique is almost NP-complete. In FOCS'91. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="17477" LastEditorUserId="17477" LastEditDate="2013-10-06T10:38:51.930" LastActivityDate="2013-10-06T10:38:51.930" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="19297" PostTypeId="1" AcceptedAnswerId="19298" CreationDate="2013-10-06T14:43:28.740" Score="11" ViewCount="995" Body="&lt;p&gt;I'm reading Impagliazzo and Wigderson's famous $\mathsf P=\mathsf{BPP}$ paper in 1997.  Since I'm new to this field and the paper is a concise conference version, I have difficulty following their proofs.  In particular, some of their new theorems lack proofs.  To my best knowledge there hasn't been a journal version published.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm looking for resources from which I can learn their result, preferably those with formal proofs.  I'd be very grateful if you could tell me about such resources.&lt;/p&gt;&#xA;" OwnerUserId="7462" LastEditorUserId="4896" LastEditDate="2013-10-06T17:55:23.607" LastActivityDate="2013-10-06T17:55:23.607" Title="Impagliazzo and Wigderson's famous P=BPP paper" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;circuit-complexity&gt;&lt;derandomization&gt;&lt;pseudorandom-generators&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="19298" PostTypeId="2" ParentId="19297" CreationDate="2013-10-06T14:56:00.473" Score="16" Body="&lt;p&gt;Check Chapter 7 of Salil Vadhan's &lt;a href=&quot;http://people.seas.harvard.edu/~salil/pseudorandomness/pseudorandomness-Aug12.pdf&quot;&gt;monograph&lt;/a&gt;. Corollary 7.64 is Impagliazzo and Wigderson's result.&lt;/p&gt;&#xA;" OwnerUserId="4896" LastActivityDate="2013-10-06T14:56:00.473" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19299" PostTypeId="2" ParentId="19233" CreationDate="2013-10-06T15:09:38.777" Score="7" Body="&lt;p&gt;I can partially answer your question: counting the local optima of a PLS-complete search problem can indeed be #P-hard.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;First, as Yoshio points out, there is a search problem $P_1$ in PLS whose associated counting problem is #P-complete.  (We don't know if $P_1$ is PLS-complete, however.)  Let $P_2$ be some PLS-complete problem.  Then define $P'$ which, on input $(x, i)$ for $i \in \{1, 2\}$, asks for a local optimum for input $x$ with respect to $P_i$.  This problem inherits the PLS membership of $P_1, P_2$, inherits the PLS-completeness of $P_2$, and for the counting problem inherits the #P-completeness of $P_1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Similarly, one can construct an (artificial) PLS-complete problem for which it is NP-complete to decide if there is more than one local optimum.  As in the previous argument, one &quot;staples together&quot; a PLS-complete problem $P_1$ as before, with a PLS problem $P_2$ which, on input a Boolean formula $\psi$, has more than one associated local optimum iff $\psi$ is satisfiable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;These sorts of constructions are somewhat unsatisfying because we're trying to build a search problem $Q$ that has two hardness properties, but the domain of $Q$ &quot;splits&quot; into two pieces, each of which may have only one of the two properties.  Below I'll show how, given a search problem $P_1$ in PLS whose associated counting problem is #P-complete, and given a PLS-complete problem $P_2$, one can define a PLS problem $Q$ which is as hard as both counting for $P_1$ and search for $P_2$ in an &quot;instance-by-instance&quot; fashion.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Namely, we'll exhibit $Q$ such that solving the counting problem for $P_1$ on input $x$ efficiently reduces to solving the counting problem for $Q$ on input $x$, and the search problem for $P_2$ on input $x$ reduces to the search problem for $Q$ on input $x$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For simplicity of presentation, we assume $P_1, P_2$ are such that on any input $x$ of length $n$, the candidate-solution space associated with $x$ is over bitstrings $y$ of length $n^c$ for some $c$ (but with different neighborhood structures for $P_1, P_2$).  Let $F_i(x, y)$ be the fitness function associated with $P_i$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On input $x \in \{0, 1\}^n$, the search space for $Q$ is over tuples $(y^1, y^2, z, b)$ where each $y^i$ is in $\{0, 1\}^{n^c}$, $z \in \{0, 1\}^{n^c + 1}$, and $b \in \{0, 1\}$.  As the fitness function $F(x, (y^1, y^2, z, b))$ for $Q$, we define&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$F(x, (y^1, y^2, z, b)) := F_1(x, y^1) + F_2(x, y^2)$  if $b = 1$,  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$F(x, (y^1, y^2, z, b)) := ||y^1||  + ||z|| + F_2(x, y^2)$ if $b = 0$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;(That's Hamming weight above.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the neighborhood structure of $Q$, we connect each tuple $(x, (y^1, y^2, z, 1))$ (with $b = 1$) to all tuples $(x, ((y')^1, (y')^2, z', 1))$ such that&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(A) $(x, y^i)$ is connected to $(x, (y')^i)$ according to $P_i$ for $i = 1, 2$, AND&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(B) $z, z'$ differ in at most 1 coordinate.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For tuples with $b = 0$, we connect $(x, (y^1, y^2, z, 0))$ to all tuples $(x, ((y')^1, (y')^2, z', 0))$ such that&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(A') $(x, y^2)$ is connected to $(x, (y')^2)$ according to $P_2$, AND&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(B') $z, z'$ differ in at most 1 coordinate, as do $y^1, (y')^1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Note, tuples with $b = 0$ are disconnected from those with $b = 1$.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;That's the definition of $Q$.  The neighborhoods are of polynomial size as required, so $Q$ is in PLS.   &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Claim:&lt;/strong&gt; The local optima for length-$n$ input $x$ according to $Q$ are exactly the following two disjoint sets:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(1) all tuples $(x, (y^1, y^2, z,1))$, where $(x, y^i)$ is a local optimum of $P_i$ for each of $i = 1, 2$ (and $z$ is arbitrary, and $b = 1$);  and,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(2) all tuples $(x, 1^{n^c}, y^2, 1^n, 0))$, where $(x, y^2)$ is a local optimum of $P_2$, and where $z, y^1$ are both all-1s, and $b = 0$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you agree, then the PLS-hardness of $Q$ is immediate, since any local optimum $(x, (y^1, y^2, z,b))$ of $Q$ for input $x$ gives a local optimum $(x, y^2)$ of $P_2$ (for the same input $x$), and $P_2$ is PLS-hard.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, it follows from our Claim that the number $N(x)$ of local optima for $x$ under $Q$ equals $(2^{n^c + 1} N_1(x) + 1) \cdot N_2(x)$, where $N_i(x)$ is the number of local optima for $x$ under $P_i$.  Now $N_2(x)$ is in the range $[1, 2^{n^c}]$, so we have&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$N_2(x) = N_2(x)$ mod $2^{n^c + 1} = (2^{n^c + 1} N_1(x) + 1) \cdot N_2(x)$ mod $2^{n^c + 1} = N(x)$ mod $2^{n^c + 1}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So we can obtain $N_2(x)$ given $N(x)$.  Then we can also obtain $N_1(x)$, by simple algebra:&#xA;$N_1(x) = \left(\frac{N(x)}{N_2(x)} - 1\right)/2^{n^c + 1}$.  As $N_1(x)$ is #P-complete to compute, so is $N(x)$.  Thus it's #P-complete to count local optima for $Q$ (and counting for $P_1$ reduces to counting for $Q$ on the same instance).   &lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;I don't know how to give such a reduction for combining PLS-hardness with NP-hardness of deciding uniqueness of local optima in an &quot;instance-by-instance&quot; fashion.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As for whether &lt;em&gt;every&lt;/em&gt; PLS-complete search problem yields a #P-complete counting problem, I don't know this either.  It &lt;em&gt;seems&lt;/em&gt; related to the question of whether, for every NP-complete decision problem L and every polytime verifier $V(x, y)$ for $L$, the associated witness-counting problem is #P-complete.  #P-completeness holds in all specific cases people have considered, and under some reasonably mild conditions, but is open in general.  See &lt;a href=&quot;https://cstheory.stackexchange.com/questions/16119/when-does-x-is-np-complete-imply-x-is-p-complete&quot;&gt;this discussion&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For a specific, more natural problem $Q$ known to be PLS-complete, one might be able to establish #P-completeness for counting local optima by giving a PLS-reduction from say Matching to $Q$ that has some special properties appropriate for counting.  Maybe the existing techniques are sufficient; I haven't tried to ascertain.&lt;/p&gt;&#xA;" OwnerUserId="223" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2013-10-06T20:42:15.980" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19300" PostTypeId="2" ParentId="19293" CreationDate="2013-10-06T23:35:57.527" Score="-2" Body="&lt;p&gt;The term you're looking for is: Binary Erasure Channel. And here's the link: &lt;a href=&quot;http://en.wikipedia.org/wiki/Binary_erasure_channel&quot; rel=&quot;nofollow&quot;&gt;Binary Erasure channel&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="17139" LastActivityDate="2013-10-06T23:35:57.527" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19301" PostTypeId="2" ParentId="19293" CreationDate="2013-10-06T23:46:41.140" Score="5" Body="&lt;p&gt;I think the term is &lt;a href=&quot;http://en.wikipedia.org/wiki/Deletion_channel&quot;&gt;deletion channel&lt;/a&gt;. As the Wikipedia article says, this &quot;should not be confused with the binary erasure channel&quot;.&lt;/p&gt;&#xA;" OwnerUserId="6623" LastActivityDate="2013-10-06T23:46:41.140" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19307" PostTypeId="1" CreationDate="2013-10-07T14:22:28.267" Score="6" ViewCount="335" Body="&lt;p&gt;I want to build a website to find the cutest kitten(TM) there is. People can upload photos of their kittens, but also can vote on which kitten is the cutest. However, I don't want them to rate on a 1 to 10 scale, but kitten cuteness is relative to other kittens.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Every voter is presented with 3 kittens and needs to order them by cuteness using drag and drop.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;From these votes I can compute a weighted cyclic graph with the kittens being nodes and the edges being number of votes&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there an algorithm to approximate a (partial) linear ordering that takes transitive votes into account ? So one can put the kittens on a 1 to 10 scale after all ?&lt;/p&gt;&#xA;" OwnerUserId="17911" LastActivityDate="2013-10-07T22:03:00.633" Title="Linear ordering from weighted directed graph (kittens)" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;partial-order&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="19308" PostTypeId="2" ParentId="19307" CreationDate="2013-10-07T18:01:30.660" Score="2" Body="&lt;p&gt;Sorry for the brevity, maybe I can come back and expand later. There is work in voting and modeling voters that should be relevant. For example, take a model, i.e. in Mallows model, if A is truly cuter than B, then with probability $p &amp;gt; 0.5$ I rank $A$ ahead of $B$ and otherwise I rank B ahead of A. All rankings are made independently.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then the corresponding voting rule is to compute the MLE underlying &quot;true&quot; ranking that generates the votes we've seen. For this particular model it is the Kemeny rule and it's NP-hard, but there are other models too.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(expansion) Condorcet in the 1700s first used the MLE idea. Say that every voter produces a ranking, and in that ranking any given pair of candidates are in the &quot;correct&quot; order with probability $p &amp;gt; 0.5$. Then, given a bunch of people's votes, we want to compute the single linear order that had the highest probability of generating those votes, the MLE. Young showed that the solution of this is the &lt;a href=&quot;http://en.wikipedia.org/wiki/Kemeny%E2%80%93Young_method&quot; rel=&quot;nofollow&quot;&gt;Kemeny voting rule&lt;/a&gt;, which minimizes the average bubblesort distance to all the rankings we are given.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.cs.duke.edu/~conitzer/MLEvotingUAI05.pdf&quot; rel=&quot;nofollow&quot;&gt;Conitzer and Sandholm ('05)&lt;/a&gt; extended this idea to other voting rules, with other noise models (e.g. I put the best candidate in the $n$th place with probability $2^{-n}$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since then there's been work, e.g. by &lt;a href=&quot;http://ijcai.org/papers11/Papers/IJCAI11-082.pdf&quot; rel=&quot;nofollow&quot;&gt;Xia and Conitzer (09)&lt;/a&gt;, on extending these ideas to when people don't see the whole list of alternatives, but just get to see some of the alternatives (submit partial orders). This should be relevant to your setting, I think. There is also at least some empirical-type work in this vein. I am thinking specifically of &lt;a href=&quot;http://www.people.fas.harvard.edu/~xagao/papers/adaptivepolling_AIW2012.pdf&quot; rel=&quot;nofollow&quot;&gt;Pfeiffer et al (12)&lt;/a&gt;. The setting is basically the same as yours. They have some sort of adaptive strategy of which kitten pair (or whatever they used) to show to the next voter. The goal was to get a good ranking with fewer pairwise comparisons (i.e. not asking every voter to rank all the kittens).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;That's what I know of the theoretical and AI work. There's also a lot of statistics that I know less about. Probably the stats will be most helpful if you want to actually implement something that aggregates partial rankings/observations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I know that some of the most popular statistical models for these things are the Mallows model, Bradley-Terry, and Plackett-Luce. All of these are noise models for how voters randomly generate a ranking given the true underlying &quot;correct&quot; ranking. In fact, there is so much work about this going on in statistics that I might suggest you post on stats.se, because I am woefully ignorant but I think they (or perhaps the machine learning community as well) have a lot of work on algorithms for (approximately) finding solutions (e.g. the MLE) given a bunch of rankings and assuming that they were generated using one of these models. At least, I hope these keywords help you in your search!&lt;/p&gt;&#xA;" OwnerUserId="8243" LastEditorUserId="8243" LastEditDate="2013-10-07T22:03:00.633" LastActivityDate="2013-10-07T22:03:00.633" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19310" PostTypeId="1" CreationDate="2013-10-08T01:04:23.413" Score="-2" ViewCount="93" Body="&lt;p&gt;Am new to research and usually while reading computer science research papers,  the authors put many graphs as result of experimental data. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now this might be a generic question, but i would like to know which kind of graphs i need to know in order to show the results ? any good tools to produce such graphs which researchers popularly use ?&lt;/p&gt;&#xA;" OwnerUserId="10618" LastActivityDate="2013-10-08T02:31:21.260" Title="What kind of graphs we need to know for experimental results?" Tags="&lt;experimental&gt;" AnswerCount="1" CommentCount="2" ClosedDate="2013-12-01T19:26:39.330" ContentLicense="CC BY-SA 3.0" />
  <row Id="19311" PostTypeId="1" AcceptedAnswerId="19319" CreationDate="2013-10-08T01:51:48.183" Score="13" ViewCount="430" Body="&lt;p&gt;Contained in-between each level of the polynomial hierarchy are various complexity classes, including $\Delta_i^{\text{P}}$, $\text{DP}$, $\text{BH}_k$, and $\Sigma_i^\text{P} \cap \Pi_i^\text{P}$. For lack of better terminology, I will refer to these and any others as &lt;em&gt;intermediate classes&lt;/em&gt; between levels $i$ and $i+1$ in the polynomial hierarchy. For the purposes of this question, assume they are the classes contained in $\Sigma_{i+1}^\text{P} \cap \Pi_{i+1}^\text{P}$ but contain $\Sigma_i^\text{P}$ and/or $\Pi_i^\text{P}$. We want to avoid including $\Sigma_{i+1}^\text{P} \cap \Pi_{i+1}^\text{P}$, if possible, as it is trivially equivalent to $\text{PH}$ if it collapses to the ${i+1}^{th}$ level.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In addition, define the following:&lt;br&gt;&#xA;$\text{DP}_i = \left \{ L \cap L' : L \in \Sigma_i^\text{P} \text{ and } L' \in \Pi_i^{\text{P}} \right \}$  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The above is a generalization of the class $\text{DP}$ (also written $\text{D}^\text{P}$). In this definition, $\text{DP}$ is equivalent to $\text{DP}_1$. It is considered in another &lt;a href=&quot;https://cstheory.stackexchange.com/questions/18147/an-analog-of-dp-for-the-second-level-of-the-polynomial-hierarchy&quot;&gt;cstheory.se question&lt;/a&gt;. It is easy to see that $\text{DP}_i \subseteq \Delta_{i+1}^{\text{P}}$ and contains both $\Sigma_i^\text{P}$ and $\Pi_i^\text{P}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Reference Diagram:&lt;/strong&gt;  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/kWnPz.png&quot; alt=&quot;Diagram of PH&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question:&lt;/strong&gt;&lt;br&gt;&#xA;Suppose that the polynomial hierachy collapses to the ${i+1}^{th}$ level, but does &lt;strong&gt;not&lt;/strong&gt; collapse to the $i^{th}$ level.  That is, $\Sigma_{i+1}^\text{P}=\Pi_{i+1}^\text{P}$ and $\Sigma_{i}^\text{P}\neq\Pi_{i}^\text{P}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can we say anything more about the relationships between these intermediate classes themselves and others in any level below $i+1$? Is there a schema for a collection of complexity classes where, for every collection, the classes are equivalent if and only if the $\text{PH}$ collapses exactly to an arbitrarily chosen level?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Just as a followup, suppose that the hierarchy collapsed to any particular one of these intermediate classes (such as $\Delta_{i+1}^{\text{P}}$). Depending on the class selected, do we know if this collapse must continue to extend downwards, perhaps even to the $i^{th}$ level?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The above question was partially explored and answered in a paper by Hemaspaandra et. al:&lt;br&gt;&#xA;&lt;a href=&quot;http://arxiv.org/pdf/cs/9910007v1.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;A Downward Collapse within the Polynomial Hierarchy&lt;/a&gt;&lt;br&gt;&#xA;Does someone happen to know of additional examples not mentioned in this paper or have further intuition as to what needs to happen in order for a class to accomplish this?&lt;/p&gt;&#xA;" OwnerUserId="17465" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2017-07-09T21:54:44.817" Title="Is the collapse of $PH$ known to extend downward to classes in-between its levels?" Tags="&lt;cc.complexity-theory&gt;&lt;polynomial-hierarchy&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="19312" PostTypeId="2" ParentId="19310" CreationDate="2013-10-08T02:31:21.260" Score="2" Body="&lt;p&gt;This question is actually more related with &lt;a href=&quot;https://stats.stackexchange.com/&quot;&gt;statistics&lt;/a&gt; or &lt;a href=&quot;https://academia.stackexchange.com/&quot;&gt;academia&lt;/a&gt; and in any case very general. For example you will need to worry about the &lt;a href=&quot;http://en.wikipedia.org/wiki/Statistical_significance&quot; rel=&quot;nofollow noreferrer&quot;&gt;statistical significance&lt;/a&gt; of the data and avoid hidden variables (e.g.: &lt;a href=&quot;http://vudlab.com/simpsons/&quot; rel=&quot;nofollow noreferrer&quot;&gt;the Simpson's paradox&lt;/a&gt;). In the case of theoretical computer science this is probably not so relevant, as its nature is mostly qualitative. For applied or empirical computer science quantitative data may be of more interest.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The graphs that you should use are the ones that display best the data that you want to show. The data that you want to show will be different depending on the problem that you are solving and its characteristics, basically the dimensions of the problem and the solutions, focusing on the ones that are relevant (e.g.: &lt;a href=&quot;http://en.wikipedia.org/wiki/Principal_component_analysis&quot; rel=&quot;nofollow noreferrer&quot;&gt;principal component analysis&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Usually this is done when there are several approaches to compare and displaying the data as a graph helps to compare them, therefore the dimensions that are interesting are those that display the differences between systems in a way that is easy to understand, usually dimensions that are independent, but this is not necessarily the case always. Therefore, as there are previous approaches that already compare with the state of the art you can keep the approach found in the state of the art for the evaluation. For approaches that solve new problems there is usually nothing to compare with.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;About the tools to do this and examples, I'd recommend &lt;a href=&quot;http://www.texample.net/tikz/examples/tag/gnuplot/&quot; rel=&quot;nofollow noreferrer&quot;&gt;TeXample&lt;/a&gt;. There you will find examples for graphs and diagrams that can be used on TeX. For related questions there is a sibling site: &lt;a href=&quot;https://tex.stackexchange.com/&quot;&gt;TeX@StackExchange&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="6577" LastEditorUserId="-1" LastEditDate="2017-04-13T12:49:59.023" LastActivityDate="2013-10-08T02:31:21.260" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19313" PostTypeId="1" CreationDate="2013-10-08T03:48:33.143" Score="6" ViewCount="591" Body="&lt;p&gt;A colleague asks the following question:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Let $S_k$ denote the subsets of $n$ of size $k$. Is there an optimal&#xA;  and efficient encoding of these subsets ? Namely, is there an function&#xA;  $f$ from $[0,1]^{\log \binom{n}{k}}$ to $S_k$ that can be computed&#xA;  efficiently (ideally in linear time).&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="80" LastActivityDate="2013-10-09T17:17:51.227" Title="Optimal encoding of $k$-subsets of $n$" Tags="&lt;ds.algorithms&gt;&lt;coding-theory&gt;" AnswerCount="4" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19315" PostTypeId="1" CreationDate="2013-10-08T09:18:23.843" Score="23" ViewCount="1004" Body="&lt;p&gt;What are the compelling reasons for believing $L\neq P$? L is the class of log-space algorithms with pointers to the input.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose L=P for the moment. What would a log-space algorithm for a P-complete problem look like in its general outlines?&lt;/p&gt;&#xA;" OwnerUserId="17920" LastEditorUserId="129" LastEditDate="2013-10-13T14:16:47.340" LastActivityDate="2014-11-21T06:28:00.650" Title="What are the compelling reasons for believing $L\neq P$?" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;" AnswerCount="4" CommentCount="2" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="19317" PostTypeId="2" ParentId="19313" CreationDate="2013-10-08T10:24:12.227" Score="8" Body="&lt;p&gt;This is a question of encoding and decoding constant-weight code. There are several possible efficient algorithms for that, that provide different efficiency benefits.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here's a list of some papers on this field:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Tenkasi V. Ramabadran. A Coding Scheme for m-out-of-n Codes. IEEE Transactions on Communications, 38(8):1156–1163, August 1990.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Vitaly Skachek, Kees A. Schouhamer Immink: Constant weight codes: An approach based on Knuth's balancing method. ISIT 2011: 321-325&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Chao Tian, Vinay A. Vaishampayan, Neil J. A. Sloane: A Coding Algorithm for Constant Weight Vectors: A Geometric Approach Based on Dissections. IEEE Transactions on Information Theory 55(3): 1051-1060 (2009)&#xA;and its followup&#xA;N. J. A. Sloane, Vinay A. Vaishampayan: Generalizations of Schöbi's Tetrahedral Dissection. Discrete &amp;amp; Computational Geometry 41(2): 232-248 (2009)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;All three approaches are/seem to be efficient, but concrete approaches are very different. The first paper uses arithmetic decoding/encoding, the second paper generalizes Knuth's algorithm, and the third paper uses a geometric approach.&lt;/p&gt;&#xA;" OwnerUserId="14132" LastActivityDate="2013-10-08T10:24:12.227" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19318" PostTypeId="2" ParentId="19315" CreationDate="2013-10-08T14:10:34.687" Score="28" Body="&lt;p&gt;&lt;a href=&quot;http://dx.doi.org/10.1137/S0097539794282930&quot; rel=&quot;nofollow&quot;&gt;Mulmuley's result&lt;/a&gt; (from &lt;a href=&quot;http://gct.cs.uchicago.edu/lower-bound.ps&quot; rel=&quot;nofollow&quot;&gt;Mulmuley's webpage&lt;/a&gt; without paywall) that, in the PRAM model without bit operations, &quot;$\mathsf{P} \neq \mathsf{NC}$&quot;. (In the usual boolean model where $\mathsf{L}$ lives, $\mathsf{L} \subseteq \mathsf{NC}$.) This model is strong enough that the result implies any $\mathsf{L}$ algorithm for a $\mathsf{P}$-complete problem would have to look quite different from most known algorithms for $\mathsf{P}$-complete problems.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The PRAM model without bit operations is a nonuniform, algebraic model over $\mathbb{Z}$ (similar to algebraic computation trees or the Blum--Shub--Smale algebraic RAM model) in which the nonuniform program can depend not just on the number of integer inputs, but also on their total bitlength. In this way it's not a &quot;purely&quot; algebraic model, but lives somewhere between algebraic and boolean. This model includes poly-time algorithms for linear programming, maxflow, mincut, weighted spanning tree, shortest paths, and other combinatorial optimization problems, the logspace algorithm for tree isomorphism (see comments below), and algorithms for approximating the complex roots of polynomials, which is why I say any $\mathsf{L}$ algorithm for a $\mathsf{P}$-complete problem (which, as your question indicates you know, most people think does not exist) would have to look quite different from any of these.&lt;/p&gt;&#xA;" OwnerUserId="129" LastEditorUserId="129" LastEditDate="2014-04-04T16:55:14.050" LastActivityDate="2014-04-04T16:55:14.050" CommentCount="15" ContentLicense="CC BY-SA 3.0" />
  <row Id="19319" PostTypeId="2" ParentId="19311" CreationDate="2013-10-08T14:56:17.527" Score="12" Body="&lt;p&gt;I don't have a good answer, but in the spirit of complexity, I have some answers which suggest that a good answer may be hard to come by :).&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Note that the generalized version of Ladner's Theorem implies that there are infinitely many poly-time degrees strictly in between $\mathsf{\Sigma_i P}$ and any poly-time degree strictly above it. In particular, if the hierarchy collapses to the $i+1$-st level but not the $i$-th, then there are infinitely many p-degrees between $\mathsf{\Sigma_i P}$ and $\mathsf{\Sigma_{i+1} P} \cap \mathsf{\Pi_{i+1} P}=\mathsf{\Sigma_{i+1} P}$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;If I recall correctly, constructing an oracle for which $\mathsf{PH}$ looks like the arithmetic hierarchy is still an open problem. By &quot;looks like the arithmetic hierarchy,&quot; I mean that $\mathsf{PH}$ does not collapse, and $\mathsf{\Sigma_{k} P} \cup \mathsf{\Pi_k P} \subsetneq \mathsf{\Delta_{k+1} P} = \mathsf{\Sigma_{k+1} P} \cap \mathsf{\Pi_{k+1} P}$ for all $k$. This at least suggests that the answer to your question may not be known.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://www.cs.sunysb.edu/~keriko/survey2.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Ker-I Ko&lt;/a&gt; gives oracles in which he separates the levels of $\mathsf{BPH}$ from those of $\mathsf{PH}$. As these two hierarchies intertwine one another, this gives you at least some information about relativizable collapses of problems between the levels of $\mathsf{PH}$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;This next reference is the wrong direction, but you might also be interested in the result and its techniques. &lt;a href=&quot;http://www.csee.umbc.edu/~chang/papers/closer/bhe2.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Chang and Kadin&lt;/a&gt; showed that if the &lt;a href=&quot;https://complexityzoo.uwaterloo.ca/Complexity_Zoo:B#bh&quot; rel=&quot;nofollow noreferrer&quot;&gt;Boolean hierarchy&lt;/a&gt; (which lives entirely below the second level of $\mathsf{PH}$, but extends $\mathsf{DP}$ to a whole hierarchy) collapses to its $k$-th level then $\mathsf{PH}$ collapses to the $k$-th level of the Boolean hierarchy over $\mathsf{\Sigma_2 P}$. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="129" LastEditorUserId="129" LastEditDate="2017-07-09T21:54:44.817" LastActivityDate="2017-07-09T21:54:44.817" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="19321" PostTypeId="2" ParentId="2503" CreationDate="2013-10-08T15:43:24.557" Score="8" Body="&lt;p&gt;A paper accepted to SODA 2014 gives a polynomial time algorithm for Max Weight Independent set on $P_5$ free graphs.&#xA;&lt;a href=&quot;http://www.ii.uib.no/~martinv/Papers/ISinP5free.pdf&quot;&gt;http://www.ii.uib.no/~martinv/Papers/ISinP5free.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let H be a graph on at most 5 vertices, then the complexity of Independent set is known on the class of H-free graphs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem is hard if H contains a cycle or a degree 4 vertex.&#xA;The only remaining cases of connected H are $P_5$, claw and fork, for these classes the problem is known to be polynomial&#xA;for disconnected H with no cycles there are only a few possibilities.&#xA;If H has isolated vertices it is easy to see that IS is polynomial since it is polynomial for all H on 4 vertices without cycles.&#xA;The case $H = P_2 \cup P_3$ was settled by Lozin and Mosca in 2005.&lt;/p&gt;&#xA;" OwnerUserId="8936" LastActivityDate="2013-10-08T15:43:24.557" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19322" PostTypeId="1" AcceptedAnswerId="19328" CreationDate="2013-10-08T17:17:15.700" Score="9" ViewCount="385" Body="&lt;p&gt;Do &lt;a href=&quot;http://en.wikipedia.org/wiki/Natural_proof&quot;&gt;Natural Proofs&lt;/a&gt;, Relativization and Algebrization also affect separation of other complexity classes like $L\neq NL\neq NP\neq coNP \neq PH\neq PSPACE$ etc?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For instance natural proofs barrier should affect any proof of $NP\neq CoNP$ since it will separate $P\neq NP$. However relation between $NP$ and $CoNP$ does not seem to have much with OWFs as compared to relation between $P$ and $NP$. So do natural proofs affect the stronger separation of $NP\neq CoNP$?&lt;/p&gt;&#xA;" OwnerUserId="1812" LastEditorUserId="186" LastEditDate="2013-10-08T17:47:51.433" LastActivityDate="2013-10-09T12:41:11.260" Title="Barriers to separating other complexity classes" Tags="&lt;cc.complexity-theory&gt;&lt;barriers&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="19324" PostTypeId="1" AcceptedAnswerId="19333" CreationDate="2013-10-08T17:32:59.803" Score="11" ViewCount="409" Body="&lt;p&gt;Assume that we are given an array $A[1..n]$ containing nonnegative integers (not necessarily distinct).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $B$ be $A$ sorted in the nonincreasing order.&#xA;We want to compute &#xA;$$m = \max_{i\in [n]} B[i]+i.$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The obvious solution is sorting $A$ and then compute $m$. This gives an algorithm that runs in time $O(n \lg n)$ in the worst case.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is it possible to do better? Can we compute $m$ in linear time?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;My main question is the one above.&#xA;But it would be interesting to know about the following generalization of the problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $B$ be $A$ sorted according to some comparison oracle $\leq$&#xA;and $f$ a function given by an oracle.&#xA;Given $A$ and oracles for $\leq$ and $f$, what can we say about the time needed to compute $m = \max_{i \in [n]} f(B[i],i)$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We can still compute $m$ in $O(n \lg n)$ time. But can we prove a super-linear lower-bound for this generalized case? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If the answer is yes does the lower-bound hold if we assume that $\leq$ is the usual order on integers and $f$ is a &quot;nice&quot; function (monotone, polynomial, linear, etc.)?&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2013-10-09T06:03:58.767" LastActivityDate="2013-10-10T06:00:04.387" Title="Linear time algorithm for finding shifted max" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;optimization&gt;&lt;sorting&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="19325" PostTypeId="2" ParentId="19322" CreationDate="2013-10-08T18:12:41.587" Score="6" Body="&lt;p&gt;Razborov and Rudich's result in their &lt;a href=&quot;http://www.cs.cmu.edu/~rudich/papers/natural.ps&quot;&gt;natural proofs paper&lt;/a&gt; &#xA;is quite general. It is not restricted to $\mathsf{P}$ vs. $\mathsf{NP}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I personally like the clarity of the explanation in &lt;a href=&quot;http://www.thi.informatik.uni-frankfurt.de/~jukna/&quot;&gt;Stasys Jukna&lt;/a&gt;'s recent book &quot;&lt;a href=&quot;http://www.thi.informatik.uni-frankfurt.de/~jukna/boolean/&quot;&gt;Boolean Function Complexity: Advances and Frontiers&lt;/a&gt;&quot;:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Definition 18.30. A function $G : \{0,1\}^l \to \{0,1\}^n$ with $l &amp;lt; n$ is called an $(s,\epsilon)$-secure pseudorandom generator if for any circuit $C$ of size $s$ on $n$ variables,&#xA;  $$|Pr[C(y) = 1] − Pr[C(G(x)) = 1]| &amp;lt; \epsilon,$$&#xA;  where $y$ is chosen uniformly at random in $\{0,1\}^n$, and $x$ in $\{0,1\}^l$.&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;Definition 18.31. Let $f : {0,1}^n \to {0,1}$ be a boolean function. &#xA;  We say that $f$ is $(s,\epsilon)$-hard if for any circuit $C$ of size $s$,&#xA;  $$|Pr[C(x) = f(x)] − \frac{1}{2}| &amp;lt; \epsilon,$$&#xA;  where $x$ is chosen uniformly at random in $\{0,1\}^n$.  &lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;A pseudo-random function generator is a boolean function $f(x,y) : \{0,1\}^{n+n^2} \to \{0,1\}$. By setting the $y$-variables at random, we obtain its random subfunction $f_y(x) = f(x,y)$. Let $h : \{0,1\}^n \to \{0,1\}$ be a truly random boolean function. A generator $f(x,y)$ is secure against $\Gamma$-attacks if for every circuit $C$ in $\Gamma$,&#xA;  $$|Pr[C(f_y) = 1] − Pr[C(h) = 1]| &amp;lt; 2^{−n^2}.$$&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;A $\Gamma$-natural proof against $\Lambda$ is a property $\Phi : B_n \to {0,1}$ satisfying the following three conditions:&lt;br&gt;&#xA;  1. Usefulness against $\Lambda$ : $\Phi(f) = 1$ implies $f \notin \Lambda$.&lt;br&gt;&#xA;  2. Largeness: $\Phi(f) = 1$ for at least $2^{−O(n)}$ fraction of all $2^{2^n}$ functions $f \in B_n$.&lt;br&gt;&#xA;  3. Constructivity: $\Phi \in \Gamma$, that is, when looked at as a boolean function in $N = 2^n$ variables, the property $\Phi$ itself belongs to the class $\Gamma$.  &lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;Theorem 18.35. If a complexity class $\Lambda$ contains a pseudo-random function generator that is secure against Γ-attacks, then there is no $\Gamma$-natural proof against $\Lambda$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The question are: &#xA;1. Do we believe if there are such hard functions?&#xA;2. How constructive/large do we expect the properties in &#xA;currently possible separation proofs to be?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other direction, Razbarov has mentioned in various places that &#xA;he personally views the result as guide for what to avoid and &#xA;not as an essential obstacle to proving lower-bounds.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Apart from &lt;a href=&quot;http://www.cs.cmu.edu/~ryanw/&quot;&gt;Ryan Williams&lt;/a&gt;'s papers during the last few years there were two papers that he has mentioned:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://www-math.mit.edu/~tchow/&quot;&gt;Timothy Chow&lt;/a&gt;, &quot;&lt;a href=&quot;http://www-math.mit.edu/~tchow/almost.pdf&quot;&gt;Almost Natural Proofs&lt;/a&gt;&quot;, 2008, which states that if we relax the largeness a little bit then there are provably natural properties that would separate $\mathsf{NP}$ from $\mathsf{P}$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://www.cs.rutgers.edu/~allender/&quot;&gt;Eric Allender&lt;/a&gt; and &lt;a href=&quot;http://www.math.cas.cz/~koucky/&quot;&gt;Michal Koucký&lt;/a&gt;, &quot;&lt;a href=&quot;http://ftp.cs.rutgers.edu/pub/allender/amplifying.pdf&quot;&gt;Amplifying Lower Bounds by Means of Self-Reducibility&lt;/a&gt;&quot;, 2008, which says that to separate $\mathsf{NC^1}$ from $\mathsf{TC^0}$ we only need to prove slightly superlinear lower-bounds on the size of $\mathsf{TC^0}$ circuits computing the Boolean Formula Evaluation problem. The existence of natural proofs for such a lower-bound does not seem to be unreasonable.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Relativization and Algebraization are bit more tricky and dependent on the way we define the relaztivization for these classes. But as a general rule &lt;em&gt;simple&lt;/em&gt; diagonalization (a diagonalization which uses the same counter-example for all machines computing the same function, i.e. the counter-example only depends on what machines in the smaller compute and does not depend on their code and how they compute) cannot separate these classes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is possible to extract non-simple diagonalization functions from indirect diagonaliztion results like time-space lower-bounds for SAT.&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2013-10-08T18:41:43.277" LastActivityDate="2013-10-08T18:41:43.277" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="19328" PostTypeId="2" ParentId="19322" CreationDate="2013-10-08T21:02:39.507" Score="12" Body="&lt;p&gt;There are (at least) two areas where existing barriers have little to say:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;ACC Lower Bounds&lt;/strong&gt; There is no known barrier to proving that TC0 is not in (non-uniform) ACC -- other than the possibility that the separation may be false. It's unclear whether the Natural Proofs barrier should apply to ACC. The question boils down to: should we expect there to be pseudorandom functions implementable in ACC?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;LOGSPACE vs NP&lt;/strong&gt; As pointed out by &lt;a href=&quot;http://people.cs.uchicago.edu/~fortnow/papers/diag.pdf&quot; rel=&quot;nofollow&quot;&gt;Fortnow&lt;/a&gt;, the existing oracle mechanisms for space-bounded computation do not seem to present a real barrier to LOGSPACE vs NP. To my knowledge, the known oracle models which yield a collapse of LOGSPACE and NP also collapse ALTERNATING LOGSPACE (i.e., P) and ALTERNATING POLYTIME (i.e., PSPACE), hence these oracles treat alternating computational models inconsistently with reality (since LOGSPACE is not equal to PSPACE). &lt;/p&gt;&#xA;" OwnerUserId="225" LastEditorUserId="225" LastEditDate="2013-10-09T12:41:11.260" LastActivityDate="2013-10-09T12:41:11.260" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19329" PostTypeId="2" ParentId="19313" CreationDate="2013-10-09T01:17:02.183" Score="4" Body="&lt;p&gt;Well, you could just use a two-way hash map between $S_k$ to $\{0,1\}^{\lceil\lg{{n}\choose{k}}\rceil}$. That's easily computable in each direction in time corresponding to the length of the input, but it uses a lot of space.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www-cs-faculty.stanford.edu/~uno/fasc3a.ps.gz&quot; rel=&quot;nofollow&quot;&gt;Knuth's &quot;Pre-Fascicle 3a: Generating all combinations&quot;&lt;/a&gt;, as well as TaoCP, 7.2.1.3, Theorem L and exercise 17 explore the &lt;a href=&quot;https://en.wikipedia.org/wiki/Combinatorial_number_system&quot; rel=&quot;nofollow&quot;&gt;&quot;Combinatorial number system&quot;&lt;/a&gt;, which is an enumeration of $S_k$ that can be reversed without just computing a huge lookup table. No detailed analysis of run-time is given, but it looks $\omega(\lg{{n}\choose{k}})$ to me.&lt;/p&gt;&#xA;" OwnerUserId="43" LastActivityDate="2013-10-09T01:17:02.183" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19330" PostTypeId="2" ParentId="19313" CreationDate="2013-10-09T04:28:26.297" Score="8" Body="&lt;p&gt;The &quot;canonical&quot; answer (not necessarily linear time) is to use what could be termed &lt;em&gt;binomial encoding&lt;/em&gt; (this is probably the same solution given by Knuth). The idea is to interpret Pascal's identity $\binom{n}{k} = \binom{n-1}{k} + \binom{n-1}{k-1}$ as stating that the &lt;em&gt;code&lt;/em&gt; of those subsets not containing $n$ should fit into $[0,\binom{n-1}{k})$, while the code of those subsets containing $n$ should fit into $[\binom{n-1}{k},\binom{n}{k})$. (The order is arbitrary, of course.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More precisely, we use the following procedure for encoding:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\operatorname{ENCODE}(S,n,k)$:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;If $k = 0$, return $0$.&lt;/li&gt;&#xA;&lt;li&gt;If $n \notin S$, return $\operatorname{ENCODE}(S,n-1,k)$.&lt;/li&gt;&#xA;&lt;li&gt;If $n \in S$, return $\binom{n-1}{k}+\operatorname{ENCODE}(S,n-1,k-1)$.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;You're interested in the inverse function, which decodes a number in $[0,\binom{n}{k})$ into a subset:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\operatorname{DECODE}(x,n,k)$:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;If $k = 0$, return $\emptyset$.&lt;/li&gt;&#xA;&lt;li&gt;If $x &amp;lt; \binom{n-1}{k}$, return $\operatorname{DECODE}(x,n-1,k)$.&lt;/li&gt;&#xA;&lt;li&gt;If $x \geq \binom{n-1}{k}$, return $\operatorname{DECODE}(x - \binom{n-1}{k},n-1,k-1) \cup \{n\}$.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;$\operatorname{DECODE}$ can be implemented in linear time if you compute Pascal's table in advance, assuming that subtraction of large numbers has unit cost. The recursion can be easily turned into an iteration, if that makes any difference.&lt;/p&gt;&#xA;" OwnerUserId="40" LastActivityDate="2013-10-09T04:28:26.297" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="19331" PostTypeId="2" ParentId="19324" CreationDate="2013-10-09T04:41:37.587" Score="-1" Body="&lt;p&gt;If the array $A$ consists of distinct integers, then $m = \max(A) + 1$, since the distance between adjacent entries in $B$ is at least $1$; the situation is more interesting when they need not be distinct.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For your more general question, imagine a situation in which $f(B[i],j)$ is only &quot;interesting&quot; when $i = j$. It seems possible to construct an adversary argument which forces you to query $f(B[i],i)$ for all $i$ before you can know $\max_i f(B[i],i)$, hence you need to sort $A$ in order to find the answer, which takes $\Omega(n\log n)$ comparisons. (There are some complications since it might be the case that we can test whether $A[i] = B[j]$ in constant rather than linear time by querying $f(A[i],j)$.) This is the case even if $f$ is a (high-degree) polynomial.&lt;/p&gt;&#xA;" OwnerUserId="40" LastEditorUserId="40" LastEditDate="2013-10-09T05:52:27.823" LastActivityDate="2013-10-09T05:52:27.823" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="19332" PostTypeId="2" ParentId="19315" CreationDate="2013-10-09T08:05:56.000" Score="15" Body="&lt;p&gt;There is a series of works by &lt;a href=&quot;http://www.tcs.ifi.lmu.de/people/martin-hofmann&quot;&gt;M. Hofmann&lt;/a&gt; and &lt;a href=&quot;http://www.tcs.ifi.lmu.de/people/ulrich-schoepp&quot;&gt;U. Schöpp&lt;/a&gt; that formalizes the intuitive notion of &quot;typical logarithmic space algorithms&quot;, using only a constant number of pointers to the input data structure, as a programming language PURPLE (pure pointer programs with iteration.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Even though PURPLE programs do not capture all of $\mathsf{L}$ (they have been shown to be unable to decide undirected s-t-connectiviy), their extension with counting is shown to capture a large fraction of $\mathsf{L}$, but not the P-complete problem Horn-SAT. &#xA;This is shown in the latest paper in the series: &#xA;&lt;a href=&quot;http://link.springer.com/chapter/10.1007/978-3-642-37075-5_21&quot;&gt;M. Hofmann, R. Ramyaa and U. Schöpp: Pure Pointer Programs and Tree Isomorphism, FOSSACS 2013.&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The conclusion seems to be that logarithmic space algorithms for $\mathsf{P}$-complete problems must be very untypical and go beyond what can be implemented in PURPLE with counting.&lt;/p&gt;&#xA;" OwnerUserId="6579" LastEditorUserId="6579" LastEditDate="2014-04-03T08:42:29.990" LastActivityDate="2014-04-03T08:42:29.990" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19333" PostTypeId="2" ParentId="19324" CreationDate="2013-10-09T10:04:17.073" Score="10" Body="&lt;p&gt;We can compute $m$ in linear time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For simplicity suppose that the arrays are 0 based: $A[0..n-1]$, $B[0..n-1]$. &#xA;We want to compute $m = \max_i B[i]+i$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $max = \max_i A[i]$. &#xA;Obviously $max \leq m$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $A[j]$ be $B[k]$ after sorting. If $A[j] \leq max - n$ we have&#xA;$$B[k] + k \leq B[k] + (n-1) = A[j] + (n-1) \leq (max-n) + (n-1) = max-1 &amp;lt; max \leq m.$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Therefore we can ignore $A[j]$ when $A[j] \leq max - n$. &#xA;We only need to consider the numbers in the range $[max-n, max]$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We can use counting sort to sort the numbers in $A$ &#xA;which are in the range $[max-n, max]$ in linear time and&#xA;use the sorted list to compute $m$.&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="186" LastEditDate="2013-10-10T06:00:04.387" LastActivityDate="2013-10-10T06:00:04.387" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="19334" PostTypeId="1" CreationDate="2013-10-09T12:52:59.923" Score="15" ViewCount="478" Body="&lt;p&gt;I have some questions on the previous question which is written bellow. &lt;/p&gt;&#xA;&#xA;&lt;h1&gt;Natural Proof and Constructivity : The topic of the previous question&lt;/h1&gt;&#xA;&#xA;&lt;p&gt;Recently, Ryan Williams proved that Constructivity in Natural Proof is unavoidable to derive a separation of complexity classes : $\mathsf{NEXP}$ and $\mathsf{TC}^{0}$.   &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Constructivity in Natural Proof is a condition that all combinatorial proofs in circuit complexity satisfies and that we can decide whether the target function in $\mathsf{NEXP}$ (or another &quot;hard&quot; complexity classes) has a &quot;hard&quot; property by a algorithm that runs in poly-time in the length of target function's truth table.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The other two conditions are: useless condition that require &quot;hard&quot; property can not be computed by any circuits in $\mathsf{TC}^0$ and largeness condition that the hard property is easy to find.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;References:&lt;br&gt;&#xA;* Ryan Williams, &quot;&lt;a href=&quot;http://arxiv.org/abs/1212.1891&quot;&gt;Natural Proofs Versus Derandomization&lt;/a&gt;&quot;&lt;/p&gt;&#xA;&#xA;&lt;h1&gt;My Question&lt;/h1&gt;&#xA;&#xA;&lt;p&gt;Breaking the largeness condition is formally stated as follows. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is a property such that &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\mathop{Pr}_{f \leftarrow_{R} \{0,1\}^{2^{n}}} [f $ have the constructive property which is hard and useful against the class $\mathcal{C}] \leq \frac{o(2^{n})}{2^{2^{n}}}$&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;If someone prove that the following statement , the statement have some meaning or shed light on this topic ?&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;Statement:For some $f$, there exists  $n$-inputs circuit $C \in \mathcal{C}$ computing $f$ of size $m$ such that Circuit SAT on $C$ can be solved nontorivialy faster in the sence of the Ryan's technique, that is , $2^{n-l(m)}poly (m,n)$ giving a lower bound $2^{l(n)}$ against $NEXP$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I am not sure whether this question is a good one, because in the Ryan's methods, the circuit which is given as an instance of CKT-SAT is yield through proof by contradiction. That is, Ryan shows that if $NEXP \subseteq P/poly$ then there is a circuit as an &lt;em&gt;compressed representation of witnesses&lt;/em&gt; and the exsistance of such circuit is derived through proof by contradiction using derandomization and $NEXP \subseteq P/poly \Rightarrow NEXP=EXP=MA$. &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;I am not sure the property which circuits as a compressed representation of witnesses have and the function $f_{C}$ which circuits as a compressed representation computes.&#xA;  If $f_{C}$ is very rare in the sence of largeness, can we break the largeness condition ?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="17938" LastEditorUserId="13756" LastEditDate="2013-10-18T11:11:59.777" LastActivityDate="2013-10-18T11:11:59.777" Title="Williams' Method, Natural Proofs and Constructivity" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;circuit-complexity&gt;&lt;sat&gt;&lt;natural-proofs&gt;" AnswerCount="0" CommentCount="1" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="19335" PostTypeId="1" CreationDate="2013-10-09T13:41:54.213" Score="5" ViewCount="304" Body="&lt;p&gt;The weight enumerator polynomial of a $(n,k)$ binary linear code $\mathcal{C}$ is defined as&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$WE(\mathcal{C}) = \sum_{i=0}^{n}WE_{i}(\mathcal{C}) x^{i}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where $$WE_{i}(\mathcal{C}) = \#\{c\in\mathcal{C} : |c| = i\}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;is the number of codewords in $\mathcal{C}$ of &lt;em&gt;Hamming weight&lt;/em&gt; (denoted by $|c|$) $i$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is known from:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://tel.archives-ouvertes.fr/docs/00/66/57/82/PDF/BRIQUEL_IrA_nA_e_2011_ThA_se.pdf&quot; rel=&quot;noreferrer&quot;&gt;Complexity issues in counting, polynomial evaluation and zero finding&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://arxiv.org/pdf/0704.3683.pdf&quot; rel=&quot;noreferrer&quot;&gt;The Complexity of Weighted Boolean #CSP&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;That computing the weight enumerator polynomial for a binary linear code is a problem in $\mathsf{\#P}$-complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I wish to know if anything is known about the case of:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;computing the $i^\text{th}$ coefficient of the weight enumerator polynomial where $i = \text{polylog}(n)$ (otherwise a naive enumeration of all binary sequences of weight $i$ and verification of those in the code would be possible).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Computing the weight enumerator, given the promise $WE_{i}(\mathcal{C}) \leq n^\lambda$, for $\lambda$ any constant, independent of $n$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Does the complexity of the problem remain $\mathsf{\#P}$-hard in both cases ?&lt;/p&gt;&#xA;" OwnerUserId="9893" LastEditorUserId="5693" LastEditDate="2013-10-09T22:00:51.260" LastActivityDate="2013-10-09T22:00:51.260" Title="Weight enumerator of a binary linear code" Tags="&lt;cc.complexity-theory&gt;&lt;counting-complexity&gt;&lt;coding-theory&gt;" AnswerCount="0" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19336" PostTypeId="1" CreationDate="2013-10-09T14:15:17.407" Score="13" ViewCount="1146" Body="&lt;p&gt;I recently started to read a lot about proof complexity and have been really enjoying what I have been reading. I would really like to learn more about this, but I am having difficulty finding some good beginner material to start with. Would anyone be able to recommend some basics? &lt;/p&gt;&#xA;" OwnerUserId="17939" LastEditorUserId="186" LastEditDate="2013-10-09T17:05:11.543" LastActivityDate="2013-11-11T18:51:35.953" Title="Start learning proof complexity" Tags="&lt;cc.complexity-theory&gt;&lt;lo.logic&gt;&lt;proof-complexity&gt;" AnswerCount="4" CommentCount="2" FavoriteCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="19338" PostTypeId="2" ParentId="19313" CreationDate="2013-10-09T17:17:51.227" Score="2" Body="&lt;p&gt;Isn't $lg{n \choose k} \approx k *lg (n)$?&#xA;Naively code each of the set bits by a length $k$ list of their indexes. If you have more than ${n/2}$ encode the zero bits; this takes one extra bit at the front to know which you encoded.  &lt;/p&gt;&#xA;" OwnerUserId="2021" LastActivityDate="2013-10-09T17:17:51.227" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19339" PostTypeId="2" ParentId="18816" CreationDate="2013-10-09T17:42:05.207" Score="3" Body="&lt;p&gt;Every integer has an associated Kolmogorov complexity; the shortest program that prints that integer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are $\approx {x \over ln(x)}$ primes up to $x$ so primes have lower Kolmogrov complexity than composites on average; $\approx ln({x \over ln(x)})$    vs  $\approx ln(x)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As a side effect you have to have some large gaps between primes; otherwise you could encode every number as the previous prime plus some small number of bits.&lt;/p&gt;&#xA;" OwnerUserId="2021" LastEditorUserId="2021" LastEditDate="2013-10-09T17:48:52.780" LastActivityDate="2013-10-09T17:48:52.780" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19341" PostTypeId="1" AcceptedAnswerId="33609" CreationDate="2013-10-09T18:49:28.770" Score="3" ViewCount="162" Body="&lt;p&gt;This question was originally posted on &lt;a href=&quot;https://mathoverflow.net/questions/141516/bits-required-to-encode-difference-between-number-of-subgraphs-with-odd-number-o&quot;&gt;mathoverflow&lt;/a&gt;. Having obtained no answers after one month, I've decided to cross-post it here.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Let $H = ( V, E )$ be a $k$-uniform connected hypergraph, with $n = |V|$ vertices and $m = |E|$ hyperedges. Let $O_w$ be the number of distinct edge induced subgraphs of $H$ having $w$ vertices and an odd number of hyperedges. Let $E_w$ be the number of distinct edge induced subgraphs of $H$ having $w$ vertices and an even number of hyperedges. Let $\Delta_w = O_w - E_w$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $b_w$ be the number of bits required to encode $\Delta_w$, i.e. $b_w = log_2 \ \Delta_w$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $b = \displaystyle\max_{\substack{w}} b_w$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm interested in how $b$ grows. I would like to determine the best possible upper bound for $b$ which is expressible as a function of only $n$, $m$ and $k$. More precisely, I would like to determine a function $f(n,m,k)$ having both the following properties:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;$b \leq f( n, m, k )$ for any $k$-uniform hypergraph $H$ having $n$ vertices and $m$ hyperedges.&lt;/li&gt;&#xA;&lt;li&gt;$f(n,m,k)$ grows slower than any other function which satisfies the 1&lt;sup&gt;st&lt;/sup&gt; property.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;In general both $O_w$ and $E_w$ are exponential in $m$, therefore I expect that their difference $\Delta_w$ is not exponential in $m$ and thus that $b \in o( m )$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;However for the moment I've no clue on how to try to prove this.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Questions&lt;/strong&gt;  &lt;/p&gt;&#xA;  &#xA;  &lt;ul&gt;&#xA;  &lt;li&gt;How does $b$ grow with respect to $n$, $m$ and $k$?&lt;/li&gt;&#xA;  &lt;li&gt;Are there any relevant results in the literature?&lt;/li&gt;&#xA;  &lt;li&gt;Any hint on how to try to prove $b \in o(m)$?&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="947" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.530" LastActivityDate="2016-02-19T07:45:08.083" Title="Bits required to encode difference between number of subgraphs with odd number of edges and number of subgraphs with even number of edges" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19345" PostTypeId="1" CreationDate="2013-10-10T02:49:42.810" Score="10" ViewCount="167" Body="&lt;p&gt;I have a question relevant to the number of graphs with prescribed spectral ratio.&#xA;Let $A$ be the adjacency matrix of a graph on $n$ vertices. Let $\lambda_i$ be its $i$-th largest (signed) eigenvalue. Moreover, assume the following (larger than a constant) spectral ratio constraint $$\frac{\lambda_1}{\max\{\lambda_2,|\lambda_n|\}} \ge \Omega(\log(n)).$$ &#xA;What is the fraction of graphs (out of the $2^{O(n^2)}$ many) that have the above spectral property?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In other words, what is the fraction of graphs on $n$ vertices with increasing spectral ratio?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit: A relevant question that might be easier: 'is there a combinatorial property on the graph that leads to an $Ω(\log(n))$ ratio?'&lt;/p&gt;&#xA;" OwnerUserId="6963" LastEditorUserId="6963" LastEditDate="2013-10-10T22:55:33.887" LastActivityDate="2013-10-10T22:55:33.887" Title="Number of graphs with prescribed spectrum" Tags="&lt;graph-theory&gt;&lt;linear-algebra&gt;&lt;spectral-graph-theory&gt;" AnswerCount="0" CommentCount="11" ContentLicense="CC BY-SA 3.0" />
  <row Id="19346" PostTypeId="1" CreationDate="2013-10-10T10:47:54.790" Score="14" ViewCount="216" Body="&lt;p&gt;It seems that encoding an NP-complete problem succinctly often makes it &lt;a href=&quot;https://cstheory.stackexchange.com/a/3303/4780&quot;&gt;nexptime-complete&lt;/a&gt;. For instance, 3SAT or HAMILTONIAN PATH become NEXPTIME-complete when the encoding is succint, eg using circuits.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can a similar approach be taken for PSPACE-complete problems? For instance, do we get EXPSPACE-completeness if QBF or GENERALIZED GEOGRAPHY are encoded using circuits?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I see Ryan Williams has a &lt;a href=&quot;http://www.stanford.edu/~rrwill/qbf-lower-bd.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;paper&lt;/a&gt; discussing SUCCINT-QBF but I am not familiar enough with complexity theory to understand it.&lt;/p&gt;&#xA;" OwnerUserId="4780" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2013-10-10T10:47:54.790" Title="Do circuits allow to derive EXPSPACE hardness results?" Tags="&lt;complexity-classes&gt;&lt;nexp&gt;" AnswerCount="0" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19347" PostTypeId="2" ParentId="19336" CreationDate="2013-10-10T10:54:54.823" Score="12" Body="&lt;p&gt;It depends on what kind of a &quot;beginner&quot; level you wish to have. I don't think there is a real good undergraduate level text on proof complexity (this is probably true for most specialized sub-areas in complexity). But for a beginner (graduate level) sources, I would recommend, something like understanding well the basic exponential size lower bound on resolution refutations of the pigeonhole principle (via random restrictions, width-size tradeoff and feasible interpolation), and to expand from that point further. This could be achieved (approximately) as follows:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Stasys Jukna, Extremal Combinatorics With Applications in Computer Science, 2001, Springer-Verlag, Section 4.8.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Eli Ben-sasson and Avi Wigderson, Short Proofs are Narrow - Resolution made Simple (2000), JACM.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;P. Beame and T. Pitassi, Propositional proof complexity: Past, present, and future, Current trends in theoretical computer science: Entering the 21st century (G. Paul, G. Rozenberg, and A. Salomaa, editors), World Scientific Publishing, 2001, pp. 42--70.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Pavel Pudlák, Lower bounds for resolution and cutting planes proofs and monotone computations, The Journal of Symbolic Logic, vol. 62 (1997), no. 3, pp. 981-998. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;You can also consult the more self contained and lengthy text:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Peter Clote and Evangelos Kranakis, Boolean Functions and Computation Models (Chapter 5)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;For the more &lt;em&gt;logical&lt;/em&gt; side of proof complexity, as Kaveh suggested, you can start reading the first chapters of:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Stephen Cook and Phuong Nguyen, Logical Foundations of Proof Complexity (Perspectives in Logic, Cambridge Press, 2010).&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="78" LastEditorUserId="78" LastEditDate="2013-11-11T18:51:35.953" LastActivityDate="2013-11-11T18:51:35.953" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19348" PostTypeId="2" ParentId="7286" CreationDate="2013-10-10T13:24:36.297" Score="5" Body="&lt;p&gt;As others have said, there is less than you would expect. A couple of tangentially related papers: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://arxiv.org/pdf/1208.3160v1.pdf&quot;&gt;&quot;Multiplicative Weights in Coordination Games and the Theory of Evolution&quot;&lt;/a&gt; by Chastain, Livnat, Papadimitriou, and Vazirani. This paper argues that evolutionary dynamics (in a simple model) is equivalent to a coordination game between genes being played with the multiplicative weights learning algorithm. They analyze the 2 gene variant, in a simplified model. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note the multiplicative weights algorithm is a natural dynamic known to converge to Nash equilibrium in zero sum games, nonatomic potential games, and some others (see e.g. &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0899825699907388&quot;&gt;Freund and Schapire&lt;/a&gt; )&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.cis.upenn.edu/~aaroth/Papers/stochasticanarchy.pdf&quot;&gt;&quot;The Price of Stochastic Anarchy&quot;&lt;/a&gt; by Chung, Ligett, Pruhs, and myself (from awhile ago). Here we study stochastically stable states of a game, which are related to ESS. We don't worry about the complexity of finding them, but we show that in some games, the price of anarchy is lower over the set of stochastically stable equilibria as compared to arbitrary Nash equilibria. &lt;/p&gt;&#xA;" OwnerUserId="25" LastActivityDate="2013-10-10T13:24:36.297" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19349" PostTypeId="2" ParentId="19336" CreationDate="2013-10-10T14:10:07.753" Score="6" Body="&lt;p&gt;For the more algebraic side of proof complexity I recommend starting with Pitassi's 1996 survey paper:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;T. Pitassi. &lt;a href=&quot;http://www.cs.toronto.edu/~toni/Papers/pitassi-algebraic.ps&quot;&gt;Algebraic propositional proof systems&lt;/a&gt;, in DIMACS Series in Discrete Mathematics and Theoretical Computer Science, Volume 31, Descriptive Complexity and Finite Models, Immerman and Kolaitis (Eds.), pp. 215-244, 1996.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;For a quick overview you might also consult Chapter 5 of the Clote--Kranakis book already mentioned by Iddo, which has a section on algebraic proof systems.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The first research paper I'd recommend reading (both because it's seminal and because it's a pleasant read) is the paper in which the Groebner or Polynomial Calculus proof system was introduced:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Clegg, Matthew; Edmonds, Jeffery; Impagliazzo, Russell. &lt;a href=&quot;http://dx.doi.org/10.1145/237814.237860&quot;&gt;Using the Groebner basis algorithm to find proofs of unsatisfiability&lt;/a&gt; STOC 1996, 174-183. (Also available from author's webpages without paywall.)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="129" LastActivityDate="2013-10-10T14:10:07.753" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19350" PostTypeId="2" ParentId="18688" CreationDate="2013-10-10T18:25:42.427" Score="1" Body="&lt;p&gt;I am not in the cs theory but I have somethint which might be usefull. I have taken another approch.  I designed a simple processor directly programmable with a small sub-set of C. There is NO assembly code, only C-like code.  You could use use the same tool I used and modify this processor to design your Turing machine simulator.  It took me 4 days to design, simulate and test this processor, well a few instructions! The Tools I used even enabled me to generate real VHDL synthetizable code.  It is a true working processor.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is what a program looks like:&#xA;&lt;img src=&quot;https://i.stack.imgur.com/tBxBt.png&quot; alt=&quot;Example of C-Like Assembly Program&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is a picture of the processor using theses Tools.:&#xA;&lt;img src=&quot;https://i.stack.imgur.com/oM7Nv.png&quot; alt=&quot;Processor Circuit&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The Tools &quot;Novakod Studio&quot; uses a High Level Language Hardware Description Language.  As an example, here is the code of the program counter:&#xA;&lt;img src=&quot;https://i.stack.imgur.com/rzTMz.png&quot; alt=&quot;psC - Parallel and synchronous C - code sample&quot;&gt;&#xA;Enough talking, if anyone is interested, here is the public information to contact me:&#xA;&lt;a href=&quot;https://repertoire.uqac.ca/Fiche.aspx?id=JjstNzsH0&amp;amp;link=1&quot; rel=&quot;nofollow noreferrer&quot;&gt;https://repertoire.uqac.ca/Fiche.aspx?id=JjstNzsH0&amp;amp;link=1&lt;/a&gt; &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Luc&lt;/p&gt;&#xA;" OwnerUserId="17959" LastActivityDate="2013-10-10T18:25:42.427" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="19351" PostTypeId="2" ParentId="7286" CreationDate="2013-10-10T20:57:42.057" Score="-1" Body="&lt;p&gt;I learned from the &lt;a href=&quot;http://eldar.mathstat.uoguelph.ca/dashlock/PD/Tools.html&quot; rel=&quot;nofollow&quot;&gt;school of Ashlock&lt;/a&gt;. The big take away I got was how useful it was to take the $n^2$ table of outcomes between agents and use K-Means to cluster the rows into strategy groups for analysis.&lt;/p&gt;&#xA;" OwnerUserId="2021" LastActivityDate="2013-10-10T20:57:42.057" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19353" PostTypeId="2" ParentId="19336" CreationDate="2013-10-11T09:33:01.397" Score="6" Body="&lt;p&gt;I find these introductory lecture notes easy to read: &lt;a href=&quot;http://www.cs.cornell.edu/~sabhar/publications/iaspcmi-proofcomplexity00.pdf&quot;&gt;Paul Beame's IAS Lectures&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="1080" LastActivityDate="2013-10-11T09:33:01.397" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19354" PostTypeId="1" AcceptedAnswerId="19355" CreationDate="2013-10-11T14:55:40.307" Score="9" ViewCount="418" Body="&lt;p&gt;We all know that the minimal complexity of a comparison-based sorting algorithm is $\Omega(n \log n)$ comparisons. I'm trying to do a &lt;em&gt;blind&lt;/em&gt; sort, i.e. given a number $n$ output a circuit (with boolean, arithmetic and &quot;comparison&quot; gates) that sorts a list of $n$ items. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Precomputing all ${n \choose 2}$ comparisons and then doing arithmetic on the resulting bits gets me an $\Theta(n^3)$ algorithm, however by some crazy &quot;pointer arithmetic&quot; I think I can get a $\Theta(n^2)$ version.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a known lower bound for comparison-based sorting circuits along similar lines to the $n \log n$ one for comparison-based sorting algorithm? Might it even be possible to blind sort in $n \log n$ time?&lt;/p&gt;&#xA;" OwnerDisplayName="user17966" LastEditorUserId="1037" LastEditDate="2013-11-06T16:57:19.293" LastActivityDate="2013-11-06T16:57:19.293" Title="Complexity of blind sort?" Tags="&lt;cc.complexity-theory&gt;&lt;terminology&gt;&lt;sorting&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19355" PostTypeId="2" ParentId="19354" CreationDate="2013-10-11T15:03:47.217" Score="13" Body="&lt;p&gt;&lt;a href=&quot;http://www.siam.org/proceedings/soda/2010/SODA10_101_goodrichm.pdf&quot;&gt;Goodrich's &quot;Randomized Shellsort: A Simple Oblivious Sorting Algorithm&quot;&lt;/a&gt; has a discussion of data-oblivious sorting. &lt;a href=&quot;https://en.wikipedia.org/wiki/Sorting_network&quot;&gt;Sorting networks&lt;/a&gt; are data-oblivious, but impractical in general, as I understand it.&lt;/p&gt;&#xA;" OwnerUserId="43" LastActivityDate="2013-10-11T15:03:47.217" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19357" PostTypeId="1" CreationDate="2013-10-11T22:43:40.143" Score="2" ViewCount="113" Body="&lt;p&gt;Betweeness problem is well known NP-complete permutation problem. Given a family $M$ of triples $(a_i, a_j, a_k)$, the problem is to decide whether a permutation $\Phi$ of elements $a_1, a_2, ..., a_n$ exists which satisfies all betweeness constraints.  For each triple $(a,b,c)$ in $M$, it holds that either $\Phi(a) \lt \Phi(b) \lt \Phi(c)$ or $\Phi(c) \lt \Phi(b) \lt \Phi(a)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Motivated partialy by this &lt;a href=&quot;https://cstheory.stackexchange.com/questions/1699/is-gap-3sat-np-complete-even-for-3cnf-formulas-where-no-pair-of-variables-appear&quot;&gt;CS Theory post&lt;/a&gt;, I am interested in the relation between density of constraints and hardness of betweeness problem. I am looking for for a classification of problem's hardness based on the number of triples $|M|$ for these cases:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1-$|M|=O(\log n)$, 2-$|M|=o(n)$ , 3-$|M|=\Theta(n)$,  4-$|M|=\Omega(n^2)$, 5-$|M|=\Omega(n^3)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Please classify it to PTIME solvable, Quasi-polynomial solvable, Subexponential time solvable, and NP-complete.&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2013-10-12T01:12:12.600" Title="Effect of constraints Density on the hardness of Betweness problem" Tags="&lt;cc.complexity-theory&gt;&lt;permutations&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19358" PostTypeId="1" AcceptedAnswerId="30797" CreationDate="2013-10-11T23:15:16.827" Score="1" ViewCount="214" Body="&lt;p&gt;this question is inspired by a recent popular question [1] on a boundary relating to decidable and undecidable problems (ie open problems in this area), a sort of counterpoint.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;there are at least some papers of a type that attack multiple instances of undecidable problems. each instance of the general problem is not known &lt;em&gt;a priori&lt;/em&gt; to be decidable or undecidable, and the paper describes strategies/techniques for identifying/sorting some into decidable cases, and provides algorithms which decide the problem if it is found to be among the decidable cases.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;what are papers of this genre, systematically attacking multiple instances of undecidable problems?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;[1] &lt;a href=&quot;https://cstheory.stackexchange.com/questions/18846/a-simple-problem-whose-decidability-is-not-known&quot;&gt;A simple problem whose decidability is not known&lt;/a&gt; / Reyzin, tcs.se&lt;/p&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.743" LastActivityDate="2015-03-12T19:58:06.943" Title="research on systematically attacking multiple instances of undecidable problems" Tags="&lt;reference-request&gt;&lt;computability&gt;&lt;big-list&gt;&lt;undecidability&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19359" PostTypeId="2" ParentId="19357" CreationDate="2013-10-12T01:12:12.600" Score="2" Body="&lt;p&gt;As mentioned in the comments, the case with $\Theta(\log n)$ clauses is in PTIME. The other cases are NP complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;From Chor&amp;amp;Sudan, we know that solving Betweenness instances with $m\in\Theta(n)$ clauses is NP complete (as they present a gadget reduction from gap-E3SAT instances with a linear number of clauses). We also know that there are trivially-satisfiable instances with up to $\Theta(n^3)$ constraints. We can therefore reduce the hard language of Betweenness instances with $m \in \Theta(n)$ to the language with $m \in \Theta(n^c)$ clauses, for any rational $0 &amp;lt; c \le 3$, simply by composing the hard instances with trivially-satisfiable instances of suitable density.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Chor and Sudan, 1998, A Geometric Approach to Betweenness.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="17477" LastActivityDate="2013-10-12T01:12:12.600" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="19361" PostTypeId="1" AcceptedAnswerId="19365" CreationDate="2013-10-12T10:35:48.467" Score="3" ViewCount="542" Body="&lt;p&gt;This is a &quot;dual&quot; question of &lt;a href=&quot;https://math.stackexchange.com/questions/24241/why-do-mathematicians-use-single-letter-variables&quot;&gt;a popular post on math.se&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some mathematical objects in computational complexity theory have multiple-letter names.   Complexity classes such as $\mathbf{BPP}$ have an established multiple-letter name.  So do some computational problems, although the naming convension seems to vary.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am happy with names such as $\mathbf{BPP}$; however, when I write $\mathbf{PromiseBPP}$ on paper or blackboard over and over, I wish its name were more concise (in fact, some authors prefer to write it as $\mathbf{prBPP}$).&lt;br&gt;&#xA;In a popular textbook in complexity, a polynomial that appears in the chapter on algebraic complexity of the book is named as $\mathtt{EXACTLY-ONCE}$, which I do not think is a suitable name to write by hand.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Considering the arguments in the original post on math.se, the pros of shorter names seem to apply more to TCS than those of longer names.  After all, what theoreticians do is to work on paper and blackboards, not to write large and complex software with editors that do auto-completion.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some early literature takes different approach to names.  In Cinderella Book, computational problems have concise names such as $L_{\mathrm h}$ (which stands for the Hamiltonian path problem).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thus the question is: why do theoreticians in CS use multiple-letter variables?  Or do we have to give long names to objects we are working on?&lt;/p&gt;&#xA;" OwnerUserId="7462" LastEditorUserId="-1" LastEditDate="2017-04-13T12:19:19.363" LastActivityDate="2013-10-13T06:20:02.123" Title="Why do theoreticians in CS use multiple-letter variables?" Tags="&lt;cc.complexity-theory&gt;&lt;soft-question&gt;&lt;big-picture&gt;&lt;notation&gt;" AnswerCount="3" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="19363" PostTypeId="2" ParentId="17560" CreationDate="2013-10-12T12:14:46.457" Score="1" Body="&lt;p&gt;Let's assume all possible paths are finite to make the discussion simpler. This is the case for the vast majority of game actually played such as Chess (because of the 50-move rule) or Go (assuming superko is forbidden).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The idea you have about chosing the move maximizing the minimum path is actually an instance of the following more general idea. A &lt;em&gt;proof tree&lt;/em&gt; for player P is a subtree of game tree starting at the current position such that for every node n of the tree&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;if the position corresponding to n is terminal then P has won on that position&lt;/li&gt;&#xA;&lt;li&gt;if P is to play in the position corresponding to n, then n has exactly one child&lt;/li&gt;&#xA;&lt;li&gt;if the opponent of P is to play, then every opponent's move leads to a child of n&#xA;A proof tree corresponds to a winning strategy for P, so if a position is a theoretical win, then it should be possible to find a proof tree.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Now, there may be several proof trees to choose from in a given won position. To decide which one should be chosen, you can define a &lt;em&gt;cost&lt;/em&gt; for each proof tree. For instance, the &lt;em&gt;fastest&lt;/em&gt; win is obtained by finding a proof tree of minimal depth. The &lt;em&gt;simplest&lt;/em&gt; win is obtained by finding a proof tree of minimal size etc.&#xA;After you have decided on the definition of &lt;em&gt;cost&lt;/em&gt;, you get a strategy for the losing player: play the move leading to a position with maximal cost. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, the only things that remains is finding the minimum cost for won positions and finding the maximum cost for lost positions. As you have discovered, this can be done by &lt;em&gt;retrograd analysis&lt;/em&gt; when the cost is the depth of a tree. It turns out it's not too hard to generalize this for other cost measures still using retrograd analysis.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If your game is too large to perform retrograd analysis or you are only interested in a specific starting position, the problem becomes a little bit harder but you can to use a kind of generalization of the A* algorithm. Shameless plug: I have &lt;a href=&quot;http://arxiv.org/abs/1207.1832&quot; rel=&quot;nofollow&quot;&gt;a paper&lt;/a&gt; on this very topic.&lt;/p&gt;&#xA;" OwnerUserId="4780" LastActivityDate="2013-10-12T12:14:46.457" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19364" PostTypeId="2" ParentId="19361" CreationDate="2013-10-12T13:15:55.540" Score="3" Body="&lt;p&gt;I'm not sure I agree with your premise. I think in most papers, you will find short variable names: some of my personal favorites are $n$, $m$, $i$, $k$, $\epsilon$, and $\alpha$, each quite concise! Now when writing a typeset textbook, one has the luxury to use variable names that make their meaning more apparent to a first-time reader. This is especially true when writing pseudo-code: here, you can borrow from the programming convention of making variable names readable and meaningful, rather than concise. &lt;/p&gt;&#xA;" OwnerUserId="25" LastActivityDate="2013-10-12T13:15:55.540" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="19365" PostTypeId="2" ParentId="19361" CreationDate="2013-10-12T14:07:55.630" Score="5" Body="&lt;p&gt;I agree with the arguments for shorter variable names on the math.se question, but I disagree that &quot;the pros of shorter names seem to apply more to TCS than those of longer names&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In particular, I don't think the best argument there (which follows) applies here.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;I think one reason is that often one does not want to remember what the variable names really represent.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;This argument works when the definition is generic, like &quot;n is a number&quot;, but not when the definition is quite specific, like &quot;BPP is the class of languages for which there exists a probabilistic Turing machine that runs in polynomial time and outputs 1 with probability greater than 2/3 for all inputs in the language and outputs 1 with probability less than 1/3 for all inputs not in the language&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Sure, if I am dealing with a situation where I DO want to forget the complexity class, then I will use a single letter variable name, like using $\mathcal{C}^L$ to define the relativization of $\mathcal{C}$ with oracle language $L$.  But as long as you are working with BPP specifically, I think that it is helpful that the name reminds you that you are working with Polynomial-time Probabilistic (Turing) machines with Bounded error (as opposed to the class of languages that without Bounded error, PP, and the class of languages that is also not based on Probabilistic Turing machines, P).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;When we use BPP, we really do want to remember what the variable represents. If this were not the case, then I would not expect &lt;em&gt;everyone&lt;/em&gt; to use BPP to denote the above class of languages.&lt;/p&gt;&#xA;" OwnerUserId="3964" LastActivityDate="2013-10-12T14:07:55.630" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19367" PostTypeId="2" ParentId="2761" CreationDate="2013-10-12T22:15:54.853" Score="6" Body="&lt;p&gt;Basically everything that is known about the Quantum PCP conjecture has been collected in this survey by Dorit Aharonov, Itai Arad, and Thomas Vidick:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://arxiv.org/abs/1309.7495&quot;&gt;The Quantum PCP Conjecture&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See also Thomas' &lt;a href=&quot;http://mycqstate.wordpress.com/2013/10/01/quantum-pcp-a-survey/&quot;&gt;blog post&lt;/a&gt; on the topic.&lt;/p&gt;&#xA;" OwnerUserId="1542" LastActivityDate="2013-10-12T22:15:54.853" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19368" PostTypeId="1" CreationDate="2013-10-13T01:01:08.427" Score="0" ViewCount="195" Body="&lt;p&gt;Traditionally, the boolean satisfiability problem is framed as, given a boolean formula, is there an assignment that satisfies the formula. I'm trying to look at this differently - from the perspective of a Non-Deterministic Turing machine that, given a set of examples, will returns a formula that satisfies all of them. I'm familiar with non-determinism to seek out a single solution, but in this case, there is another dimension - specifically not whether there is any expression in the Universe of expressions that will satisfy each example, but instead what is the 1 expression that is satisfied by all the example assignments. Does anyone have a recommendation on how picture this?&lt;/p&gt;&#xA;" OwnerUserId="8771" LastActivityDate="2013-10-13T01:01:08.427" Title="How to picture Non-Deterministic Turing machine seeking out boolean expression to satisfy examples" Tags="&lt;turing-machines&gt;&lt;nondeterminism&gt;" AnswerCount="0" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="19369" PostTypeId="2" ParentId="19361" CreationDate="2013-10-13T06:20:02.123" Score="7" Body="&lt;p&gt;Because we're computer scientists as well as mathematicians, and from the computer science side of the world we've learned the same thing the software engineers have learned about why not to use single-letter names for things other than the most local of variables: longer and more semantically meaningful names are easier to remember and keep straight, easier for others to read and understand, and using them helps avoid certain common errors such as using $k$ to mean three different things in overlapping parts of a paper.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Actually, I suspect that for the specific case you had in mind, names of complexity classes, this reason is historically inaccurate. But I still believe it's a good reason for using longer names.)&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2013-10-13T06:20:02.123" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="19374" PostTypeId="1" AcceptedAnswerId="19384" CreationDate="2013-10-14T00:17:10.900" Score="1" ViewCount="223" Body="&lt;p&gt;I'm interested in proving that a program (which may or may not terminate) will give the correct answer if it terminates.  Given:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;$P$ is a family of programs, parameterized by a function $f$. Write $P_f$ for a particular program from this family.&lt;/li&gt;&#xA;&lt;li&gt;We know that $P_f$ is correct.&lt;/li&gt;&#xA;&lt;li&gt;$g$ is partial function from the same domain to the same range as $f$.&lt;/li&gt;&#xA;&lt;li&gt;Moreover, $g$ is a &lt;em&gt;subset&lt;/em&gt; of $f$; that is, for all $x$ where $g(x)$ is defined, $g(x) = f(x)$.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;I'd like to show that $P_g$, wherever it terminates, gives the correct answer.  This seems intuitively obvious.  However, I'm struggling to find the appropriate math for it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Most importantly, &lt;strong&gt;if we use functions&lt;/strong&gt; instead of programs &lt;strong&gt;the claim is &lt;em&gt;not&lt;/em&gt; correct&lt;/strong&gt;.  For example, if $Q$ is a multivariable function, $Q(f,n)$ does not in general equal $Q(g,n)$, even if they're both defined.  However, if we think of $Q$ not as a function but as a program, which gets to use $f$ and $g$ as oracles, then they are.  What is the proper way to show that mathematically? Or, even simpler: What is the correct mathematical term for $Q$? If it's not a function, what is it?&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;By &lt;em&gt;program&lt;/em&gt;, I mean &quot;algorithm which makes use of an other algorithm&quot;; I'm not referring to any particular language or implementation.  Note that even in functional languages like Haskell, due to the Halting Problem, a program is not truly a function: a program isn't guaranteed to terminate, whereas the concept of terminating doesn't apply to functions.  A function of $f$ can depend on whether $f$ terminates, but no program which uses $f$ as a subroutine can.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Indeed, this is the essence of waht I'm struggling with: What is the appropriate mathematical formalism for a program which uses other programs as subroutines?&lt;/p&gt;&#xA;" OwnerUserId="17980" LastEditorUserId="17980" LastEditDate="2013-10-14T05:11:43.867" LastActivityDate="2013-10-14T21:27:39.383" Title="Using partial functions to prove correctness" Tags="&lt;lo.logic&gt;&lt;functional-programming&gt;&lt;program-verification&gt;&lt;set-theory&gt;" AnswerCount="2" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="19375" PostTypeId="1" CreationDate="2013-10-14T05:42:00.620" Score="6" ViewCount="311" Body="&lt;p&gt;With Turing machines, by imposing certain restrictions on the form of the transition function, one can get a machine that accepts only regular languages. I am wondering what is the counterpart in lambda calculus? In other words, how to &lt;em&gt;restrict&lt;/em&gt; lambda calculus so it accepts only regular languages?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Related papers would be great, just as an explanation if my question does not make any sense, if that is the case.&lt;/p&gt;&#xA;" OwnerUserId="16196" LastActivityDate="2013-10-14T05:42:00.620" Title="Regular languages in lambda calculus" Tags="&lt;turing-machines&gt;&lt;lambda-calculus&gt;&lt;regular-language&gt;" AnswerCount="0" CommentCount="5" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="19378" PostTypeId="1" CreationDate="2013-10-14T13:44:52.573" Score="2" ViewCount="111" Body="&lt;p&gt;I have a 3D object bounded by Polygons. Is there a standard algorithm that tests if the volume is closed e.g. no polygon is missing?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt; I have a cube bounded by six squares. The algorithm should detect if one of those squares is missing. &lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;It would be &lt;em&gt;perfect&lt;/em&gt;, if also the minimal surface could be calculated to complement an existing (open) surface to a closed one. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It would be &lt;em&gt;even more perfect&lt;/em&gt; if that minimal surface could be returned in terms of a minimal set of convex polygons.&lt;/p&gt;&#xA;" OwnerUserId="17983" LastActivityDate="2013-10-14T13:44:52.573" Title="test if a polygon-surface is closed (+ additional nice-to-have requirements)" Tags="&lt;ds.algorithms&gt;&lt;topology&gt;" AnswerCount="0" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19379" PostTypeId="1" AcceptedAnswerId="19380" CreationDate="2013-10-14T14:12:27.737" Score="4" ViewCount="351" Body="&lt;p&gt;Given a hypergraph $H$ with $n$ vertices and $m$ edges,&#xA;one of the simplest inequalities on the discrepancy of $H$ is&#xA;$\text{disc}(H) \le \sqrt{2n \ln (2m)}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is usually proved by mixing together one type of &lt;a href=&quot;https://en.wikipedia.org/wiki/Chernoff_bound&quot; rel=&quot;nofollow&quot;&gt;Chernoff bound&lt;/a&gt; using the &lt;a href=&quot;https://en.wikipedia.org/wiki/Probabilistic_method&quot; rel=&quot;nofollow&quot;&gt;probabilistic method&lt;/a&gt; (for instance, see the outline proof at the &lt;a href=&quot;https://en.wikipedia.org/wiki/Discrepancy_of_hypergraphs&quot; rel=&quot;nofollow&quot;&gt;Wikipedia article on discrepancy&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a known colouring $\chi \colon V(H) \to \{-1,1\}$ of the vertices of a hypergraph $H$ with $-1$ and $1$ that witnesses this bound?  In other words, such that for every edge $e \in E(H)$,&#xA;$$\left|\sum_{v \in e} \chi(v)\right| \le \sqrt{2n \ln (2m)}.$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course, the probabilistic method guarantees the existence of such a $\chi$, but is there an algorithm better than exhaustively checking all possible colourings?&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;For completeness, the &lt;em&gt;discrepancy&lt;/em&gt; of a hypergraph $H$ is the minimum over all possible colourings $\chi \colon V(H) \to \{-1,1\}$ of&#xA;the largest value of the local discrepancy $\left|\sum_{v \in e} \chi(v)\right|$ over all edges $e$ of $H$.&lt;/p&gt;&#xA;" OwnerUserId="109" LastEditorUserId="4896" LastEditDate="2013-10-14T15:09:44.367" LastActivityDate="2019-09-20T20:41:36.693" Title="Colouring achieving simple discrepancy bound?" Tags="&lt;co.combinatorics&gt;" AnswerCount="2" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19380" PostTypeId="2" ParentId="19379" CreationDate="2013-10-14T14:42:22.373" Score="7" Body="&lt;p&gt;I assume you mean a deterministic algorithm. The best discrepancy bound is in fact $O(\sqrt{n\log (m/n)})$ which is $O(\sqrt{n})$ when $m = O(n)$. This the famous Six Standard Deviations Suffice bound of Spencer (1985 TAMS). A coloring achieving this bound can be found in deterministic polynomial time, using a &lt;a href=&quot;http://link.springer.com/chapter/10.1007/978-3-642-23719-5_35&quot; rel=&quot;nofollow&quot;&gt;recent result&lt;/a&gt; by Bansal and Spencer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Achieving the random coloring bound of $\sqrt{2n \ln (2m)}$ can be done with simple classic derandomization methods. You can use the method of conditional expectations or variants of the multiplicative weights method. You can even achieve the stronger $\sqrt{2|e|\ln(2m)}$ bound for each edge $e$. See Section 1.1. of &lt;a href=&quot;http://www.cs.princeton.edu/~chazelle/book.html&quot; rel=&quot;nofollow&quot;&gt;Chazelle's book&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For completeness, let me reproduce the multiplicative weights argument, because it's nice and simple. Identify the vertices of $H$ with $[n]$. We will pick $\chi(i)$ for $i = 1, \ldots, n$ greedily. Define $D(e, k) = \sum_{i \in e, i \leq k}{\chi(i)}$ to be the discrepancy of $e$ up to $k$. Let $p(e, k) = \frac{1}{2}e^{\alpha D(e, k)} +\frac{1}{2}e^{-\alpha D(e, k)}$ for $\alpha = \sqrt{2\ln (2m)/n}$, and the potential function $P(k) = \sum_e{p(e, k)}$. Define also $p(e, 0) = 1$ and $P(0) = m$. You can verify that for a random choice of $\chi(k+1)$, $\mathbb{E}P(k+1) \leq P(k)e^{\alpha^2/2}$. So you can just pick each $\chi(k)$ to minimize $P(k)$, and after the final step you have&#xA;$$&#xA;\frac{1}{2} e^{\alpha |D(e, n)|} \leq \max_e p(e, n) \leq P(n) \leq me^{n\alpha^2/2}.&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Simple algebra gives the bound.&lt;/p&gt;&#xA;" OwnerUserId="4896" LastEditorUserId="4896" LastEditDate="2013-10-15T14:17:16.657" LastActivityDate="2013-10-15T14:17:16.657" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19381" PostTypeId="1" AcceptedAnswerId="19383" CreationDate="2013-10-14T19:25:29.863" Score="3" ViewCount="116" Body="&lt;p&gt;Much work has been done demonstrating that certain program transformations preserve particular properties.  That is, for any program $P$ which has property $\alpha$, show that $P$ transformed under transformation $T$ still has property $\alpha$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm interested in a transformation which replaces every usage of function $f$ in $P$ with partial function $g$, where $g$ is a restriction of $f$ (meaning that $g(x) = y \implies f(x) = y$). It seems intuitively obvious that this transformation, while not necessarily preserving totatlity, preserves partial correctness.  Yet I cannot find a standard proof or reference on this or even mention of this seemingly elemental fact.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can anyone help me out? A reference, a proof, a different formalism?&lt;/p&gt;&#xA;" OwnerUserId="17980" LastActivityDate="2013-10-14T21:08:45.873" Title="Program transformation using partial functions which preserve partial correctness" Tags="&lt;lo.logic&gt;&lt;turing-machines&gt;&lt;program-verification&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19382" PostTypeId="2" ParentId="19374" CreationDate="2013-10-14T20:52:59.923" Score="4" Body="&lt;p&gt;If I read you correctly, the intuition you have in mind goes like this:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose we have a program $P$, which takes a function as an argument. Further suppose that we have two functions $f$ and $g$, such that $f$ terminates on a subset of the inputs $g$ terminates on, but agrees with $g$ whenever they both terminate.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, if $P\;g$ is partially correct, then you want to argue that $P\;f$ must also be partially correct. After all, the &quot;only thing&quot; that $P$ can do with its functional parameter is to apply it (what you call &quot;use as an oracle&quot;), and so $P\;f$ must compute the same values as $P\;g$, possibly terminating less often. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is more or less exactly the intuition underlying &lt;em&gt;domain theory&lt;/em&gt;. The idea is that we can interpret computations at a particular type as CPPOs, or chain-complete pointed partial orders. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;That is, a CPPO is a triple $(X, \bot, \leq)$, with $X$ as the set of elements denoting computations, $\bot$ as the nonterminating computation, and $\leq$ as a partial order representing how close to fully defined a computation is. $\bot$ is the least element in this partial order, and the chain-completeness condition says that if you have a countable chain $x_0 \leq x_1 \leq \ldots$, then the chain has a least upper bound $\bigsqcup_{i \in \mathbb{N}} x_i$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Programs are interpreted by continuous functions between CPPOs, with the idea that continuity is a stand-in for computability. That is, a function $f : X \to Y$ should be a monotone function which preserves lubs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In particular, the set of continuous functions $X \to Y$ also forms a CPPO, with the least element given by $\lambda x.\;\bot_Y$, and the order given pointwise, so that &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$f \leq_{X \to Y} g \iff \forall x \in X.\; f\;x \leq_Y g\;x$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then the property you want follows more or less instantaneously. Suppose we have a continuous $P : (X \to Y) \to Z$. Then $f$ being &quot;less defined&quot; than $g$ amounts to saying that $f \leq g$. Then, by the continuity of $P$, it follows that $P\;f \leq P\;g$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Samson Abramsky and Achim Jung &lt;a href=&quot;http://www.cs.bham.ac.uk/~axj/pub/papers/handy1.pdf&quot; rel=&quot;nofollow&quot;&gt;have a chapter on domain theory in the Handbook on Logic in Computer Science, which is freely available online&lt;/a&gt;. &lt;/p&gt;&#xA;" OwnerUserId="657" LastActivityDate="2013-10-14T20:52:59.923" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="19383" PostTypeId="2" ParentId="19381" CreationDate="2013-10-14T21:08:45.873" Score="3" Body="&lt;p&gt;I imagine that you can prove this straight from the operational&#xA;semantics using the standard operational precongruence (assuming that&#xA;you have a sequential language). Some of the relevant techniques&#xA;have been collected in &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.137.4615&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;nofollow&quot;&gt;Operationally-based theories of program equivalence&lt;/a&gt; by&#xA;Andy Pitts.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you have a Hoare logic of partial correctness for the language you are interested&#xA;in, you can probably&#xA;establish a meta-theorem to the effect that for all programs $M$, all&#xA;models $\xi, \xi'$ such that $\xi$ is less defined than $\xi'$, and&#xA;all formulae $A, B$, we have&#xA;$\xi \models \{A\} M \{B\}$ implies $\xi' \models\{A\} M \{B\}$.  Proving such&#xA;a meta-theorem typically boils down to the operational reasoning&#xA;mentioned above.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Such questions come up all the time in proving observational and&#xA;descriptive completeness of Hoare logics. As Neel points out in &#xA;an answer to your other question, domain theory is based upon&#xA;related ideas.&lt;/p&gt;&#xA;" OwnerUserId="898" LastActivityDate="2013-10-14T21:08:45.873" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19384" PostTypeId="2" ParentId="19374" CreationDate="2013-10-14T21:27:39.383" Score="3" Body="&lt;p&gt;I will attempt to write the same answer as Neel with fewer technicalities (and therefore not really correct). By the way, you are using very strange terminology, which I will avoid.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For each type $T$ appearing in a programming language we can define a partial order $\leq_T$ as follows:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;on the integers we define $p \leq_{\mathtt{int}} q$ to mean: &quot;if $p$ terminates then $q$ terminates and they evaluate to the same integer value&quot;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;on the function type $A \to B$ we define $p \leq_{A \to B} q$ to mean: &quot;for all $x: A$, $p(x) \leq_B q(x)$&quot;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Caveat: do &lt;em&gt;not&lt;/em&gt; think that because I called it a &quot;function type&quot; it has anything to do with your use of the word &quot;function&quot;. I am using standard terminology: the type of &quot;things&quot; which accept $A$ and return $B$ is called a &quot;function type&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Observe that $f \leq_{\mathtt{int} \to \mathtt{int}} g$ means: &quot;if $f(n)$ terminates then so does $g(n)$ and $f(n) = g(n)$&quot;, which you expressed by saying that &quot;$f$ is a subset of $g$&quot; (probably because someone baked in set theory into you a long time ago, and now it's doing some harm). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, it is a matter of fact that for a reasonable programming language we have &lt;em&gt;monotonicity&lt;/em&gt; of every $p : A \to B$, namely if $x \leq_A y$ then $p(x) \leq_B p(y)$. When we look at what monotonicity means for $P : (\mathtt{int} \to \mathtt{int}) \to \mathtt{int}$ we get the notion you are looking for: if $f \leq_{\mathtt{int} \to \mathtt{int}} g$ then, either $P(f)$ is undefined or both $P(f)$ and $P(g)$ are defined an equal.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you'd like to know more, have a look at domain theory where these concepts are properly developed.&lt;/p&gt;&#xA;" OwnerUserId="705" LastActivityDate="2013-10-14T21:27:39.383" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19385" PostTypeId="2" ParentId="2517" CreationDate="2013-10-15T01:53:11.377" Score="17" Body="&lt;p&gt;The paper called &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.162.2268&quot;&gt;&lt;strong&gt;Multiplication by a constant is sublinear&lt;/strong&gt;&lt;/a&gt; (&lt;a href=&quot;http://www.lirmm.fr/~imbert/pdfs/constmult_arith18.pdf&quot;&gt;PDF&lt;/a&gt;) gives an algorithm for $\mathcal{O}\left(\frac{n}{\log n}\right)$ shift/addition operations, where $n$ is the size of the constant.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Essentially, it works by looking for the $1$-bits in the constant, shifting and adding the number to be multiplied only for those $1$ bits in the constant (like long multiplication for binary, where a $0$ bit in the bottom number to be multiplied means the top is not shifted and added, while a $1$ bit means the top is shifted and added). However this is still $\mathcal{O}\left(n\right)$, because there can be $\mathcal{O}(n)$ $1$-bits in the constant.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The paper then talks about changing the number representation of the constant into the double-base number system, where apparently, the non-$0$-bits are sparser, if the conversion is done correctly (it is a very redundant number system). They calculate just how sparse it is; the number of non-zero bits is bounded to less than $\mathcal{O}(n)$, thus there is a sublinear number of additions required. However it is still $\mathcal{O}\left(\frac{nm} {\log n}\right)$ actual operations, due to the $\mathcal{O}(m)$ cost of each addition (where $n$ is the size of the constant, and $m$ is the size of the other number).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So to answer your question, yes there is a similar result to matrix-vector multiplication, in that you get a $\log n$ speedup if it is constant; but of course this speedup is only over naive long-multiplication, and there exists multiplication algorithms that are far better than $\mathcal{O}\left(\frac{n^2} {\log n}\right)$ you can get with this algorithm.&lt;/p&gt;&#xA;" OwnerUserId="3377" LastEditorUserId="3377" LastEditDate="2013-11-04T03:52:50.637" LastActivityDate="2013-11-04T03:52:50.637" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="19386" PostTypeId="1" CreationDate="2013-10-15T02:56:53.690" Score="1" ViewCount="121" Body="&lt;p&gt;My aim is to prove a vc-dimension $d$ for different problems. All the problems I have do not have visualised target function (or concept) . I know this is unnecessarily. But this unlike most of the examples I came through. For example in the interval problem, the target function $h^*$ is: if point $x\in [a,b]$ then $x=+$ and $-$ otherwise. I do not know where $[a,b]$ resides in $R$ but at least I know its an interval. Therefore, three points of $(+,-,+)$ cannot be shattered by any concept.   &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am given an infinite input space $X$ and $H$ is the class of all finite languages over $X$ and asked to find and prove the vc-dimension for this problem. Since I do not know what the target function looks like, I can't test the sample points. All what I know is that if $|x|$ is finite then $h^*(x)=+$ otherwise $-$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assume I got two points $x_1,x_2\in X$, there are $2^2$ possibilities $(-,-),(-,+),(+,-),(+,+)$. I am stucking here since I don't know how to test for example $(-,+)$ against my function behaviour. Any hints on how to shatter without visualising the target behaviour? &lt;/p&gt;&#xA;" OwnerUserId="17991" LastEditorUserId="17991" LastEditDate="2013-10-15T03:07:51.097" LastActivityDate="2013-10-15T03:07:51.097" Title="How to find the shattering set size without visualising the target function behaviour?" Tags="&lt;machine-learning&gt;&lt;vc-dimension&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19389" PostTypeId="1" AcceptedAnswerId="19390" CreationDate="2013-10-15T12:54:25.993" Score="1" ViewCount="2066" Body="&lt;p&gt;We have recently covered linear programming and I am comfortable with the weak and strong duality theorems.  However, I don't understand what the applications of duality are that are specific to TCS.  &lt;a href=&quot;http://mikespivey.wordpress.com/2012/12/04/dualitylp/&quot; rel=&quot;nofollow&quot;&gt;Mike Spivey's blog post&lt;/a&gt; gives some interesting examples of some nice properties of duality but I was wondering if there are algorithmic advances, for example,  that come from understanding duality or anything more CS related.&lt;/p&gt;&#xA;" OwnerDisplayName="user15587" LastEditorUserId="1037" LastEditDate="2013-10-15T21:45:32.577" LastActivityDate="2013-10-26T20:38:11.020" Title="Applications of duality" Tags="&lt;linear-programming&gt;&lt;primal-dual&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="19390" PostTypeId="2" ParentId="19389" CreationDate="2013-10-15T13:43:14.717" Score="10" Body="&lt;p&gt;Yup. Everything follows from duality. (I am only half joking). &#xA;A partial list:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Boosting &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The Hard-Core Lemma &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Online Learning &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The ability to actually solve LPs efficiently &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A large fraction of approximation algorithms results.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Much more&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To develop algorithms, you often need a constructive or algorithmic version of the duality theorem (which is essentially equivalent to Von-Neumman's min-max theorem in game theory -- the applications in game theory are also huge). This is essentially what the multiplicative weights algorithm is. See Arora/Hazan/Kale for the best survey on this topic: &lt;a href=&quot;http://www.satyenkale.com/papers/mw-survey.pdf&quot;&gt;http://www.satyenkale.com/papers/mw-survey.pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="25" LastActivityDate="2013-10-15T13:43:14.717" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="19391" PostTypeId="2" ParentId="10766" CreationDate="2013-10-15T14:01:49.860" Score="5" Body="&lt;p&gt;Anindya Sen and I have a &lt;a href=&quot;http://link.springer.com/chapter/10.1007%2F978-3-642-40935-6_14&quot; rel=&quot;nofollow&quot;&gt;paper&lt;/a&gt; in ALT '13 where we give an $\tilde O(n \sqrt{n})$ algorithm for this problem. We don't know if a better algorithm is possible.&lt;/p&gt;&#xA;" OwnerUserId="547" LastEditorUserId="1800" LastEditDate="2016-05-30T04:21:23.393" LastActivityDate="2016-05-30T04:21:23.393" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19392" PostTypeId="1" AcceptedAnswerId="19398" CreationDate="2013-10-15T14:19:40.400" Score="5" ViewCount="168" Body="&lt;p&gt;Let $G$ be an undirected Cayley graph over an abelian group. Let $H$ a regular graph whose independence number and chromatic number are known. Let $inj(G,H)$ be the number of injective homomorphisms from $G$ to $H$. It is known &lt;em&gt;SUBGRAPH ISOMORPHISM&lt;/em&gt; is NP-complete. Consider the &lt;em&gt;CAYLEY SUBGRAPH ISOMORPHISM&lt;/em&gt; problem: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given an undirected Cayley $G$ and a regular $H$, is inj(G,H)&gt;0?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is the above problem NP-complete?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since linear codes are abelian, I am extending the question. Given two $[n_i,k_i,d_i]$ linear codes $C_i$ for $i=1$ and $2$ and $n_1&amp;lt;n_2$, is deciding $C_1\cong D \subset C_2$ NP-complete? Note that code isomrphism is similar to graph isomorphism.&lt;/p&gt;&#xA;" OwnerUserId="1812" LastEditorUserId="1812" LastEditDate="2013-10-15T17:42:24.730" LastActivityDate="2013-10-15T17:58:54.563" Title="Cayley subgraph isomorphism and complexity of linear subcode decision" Tags="&lt;graph-theory&gt;&lt;graph-isomorphism&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19393" PostTypeId="1" AcceptedAnswerId="19415" CreationDate="2013-10-15T14:54:34.710" Score="10" ViewCount="4568" Body="&lt;p&gt;I have the following problem:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Input: two sets of intervals $S$ and $T$ (all endpoints are integers).&lt;br&gt;&#xA;Query: is there a monotone bijection $f:S \to T$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The bijection is monotone w.r.t. the set inclusion order on $S$ and $T$.&#xA;$$\forall X\subseteq Y \in S, \ f(X) \subseteq f(Y)$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[I am not requiring the reverse condition here. &lt;strong&gt;&lt;em&gt;Update:&lt;/strong&gt; if the reverse condition were required, i.e., $\forall X, Y, X\subseteq Y \Leftrightarrow f(X) \subseteq f(Y)$, then this would be in PTIME because it amounts to isomorphism testing of the corresponding inclusion posets (which have &lt;a href=&quot;https://en.wikipedia.org/wiki/Order_dimension&quot; rel=&quot;nofollow noreferrer&quot;&gt;order dimension&lt;/a&gt; 2 by construction), which is in PTIME by Möhring, &lt;a href=&quot;http://page.math.tu-berlin.de/~moehring/adm3-scheduling/paperOrderedSets.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Computationally Tractable Classes of Ordered Sets&lt;/a&gt;, Theorem 5.10, p. 61&lt;/em&gt;.]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem is in $\mathsf{NP}$: we can check efficiently if a given $f$ is a monotone bijection. &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there a polynomial-time algorithm for this problem? &#xA;  Or is it $\mathsf{NP}$-hard? &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The question can be stated more generally as &#xA;existence of a monotone bijection between two given posets of &#xA;&lt;a href=&quot;https://en.wikipedia.org/wiki/Order_dimension&quot; rel=&quot;nofollow noreferrer&quot;&gt;order dimension&lt;/a&gt; 2. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Using a reduction inspired by the answers to &lt;a href=&quot;https://cstheory.stackexchange.com/questions/19073/complexity-of-topological-sort-with-constrained-positions&quot;&gt;this question&lt;/a&gt;, &#xA;I know that the problem is $\mathsf{NP}$-hard&#xA;when dimensions are not restricted.&#xA;However, it is not clear &#xA;if the reduction would also work when dimensions are restricted.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am also interested to know about tractability when &#xA;the dimension is just bounded by some arbitrary constant (not just 2).&lt;/p&gt;&#xA;" OwnerUserId="4795" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2014-07-08T16:11:01.537" Title="Monotone bijections between lists of intervals" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;np-hardness&gt;&lt;partial-order&gt;&lt;matching&gt;" AnswerCount="1" CommentCount="10" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="19396" PostTypeId="1" AcceptedAnswerId="19397" CreationDate="2013-10-15T15:54:16.043" Score="0" ViewCount="109" Body="&lt;p&gt;I have a question about counting problems on arbitrary (not necessarily polynomial time) functions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $F_n = \{f : \{0,1\}^n \to \{0,1\}\}$ be the set of all boolean functions with $n$ inputs (again, not necessarily polynomial time).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider the operator $\#: F_n \to \mathbb{N}$ that maps $f \in F_n$ to $\#f = |\{x \in \{0,1\}^n : f(x) = 0\}|$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider a computational model where evaluating $f$ on an input $x$ can be done in time O(1). Clearly, the operator #f can be computed in time $O(2^n)$ by a brute force algorithm that evaluates $f$  on all inputs, and counts which of these inputs are zeros of $f$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is, is there an exponential lower bound on the running time of #f?  &lt;/p&gt;&#xA;" OwnerUserId="7040" LastActivityDate="2013-10-15T16:40:10.643" Title="Lower bounds on counting functions" Tags="&lt;lower-bounds&gt;&lt;counting-complexity&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19397" PostTypeId="2" ParentId="19396" CreationDate="2013-10-15T16:40:10.643" Score="1" Body="&lt;p&gt;Since you are accessing $f$ in a black box manner, you have to query $f(x)$ at all $2^n$ points. Since otherwise, you can design two functions $f_1$ and $f_2$ that are consistent at all query points yet have different number of zeros.&lt;/p&gt;&#xA;" OwnerUserId="6190" LastActivityDate="2013-10-15T16:40:10.643" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19398" PostTypeId="2" ParentId="19392" CreationDate="2013-10-15T17:58:54.563" Score="2" Body="&lt;p&gt;For your first question: yes, it is NP-complete. The complete graph is the Cayley graph of &lt;em&gt;any&lt;/em&gt; group, if you take the entire group (say, except the identity, but that would just add a self-loop at every vertex) as the generating set. Then CLIQUE is a particular instance of your problem. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A more interesting question might be to restrict Cayley subgraph isomorphism to Cayley graphs where only a minimal, or say $O(\log|G|)$-sized, generating set is used.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For your second question, the answer is also yes, because not only is Code Equivalence similar to Graph Isomorphism, but GI reduces to Code Equivalence. Essentially the same reduction (due to Petrank and Roth) gives a reduction from Subgraph Isomorphism to Subcode Equivalence.&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2013-10-15T17:58:54.563" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="19399" PostTypeId="1" CreationDate="2013-10-15T17:59:40.790" Score="1" ViewCount="287" Body="&lt;p&gt;Avi Wigderson have a paper on how to derandomize the matrix-valued Chernoff bound. I would like to know whether there exists a simple version of paper on how to derandomize the real-valued Chernoff bound. Thanks so much!&lt;/p&gt;&#xA;" OwnerUserId="17956" LastActivityDate="2013-10-15T17:59:40.790" Title="How to derandomize the Chernoff bound?" Tags="&lt;derandomization&gt;&lt;chernoff-bound&gt;" AnswerCount="0" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="19400" PostTypeId="2" ParentId="305" CreationDate="2013-10-15T18:13:14.837" Score="7" Body="&lt;p&gt;The Lin-Kernighan heuristic for the TSP (&quot;An effective heuristic for the traveling salesman problem&quot;, Operations Research 21:489–516, 1973) is very successful in practice, but still lacks an average-case or smoothed analysis to explain its performance. It contrast, there is a smoothed analysis of the 2-opt heuristic for the TSP by Matthias Englert, Heiko Röglin, and Berthold Vöcking (Algorithmica, to appear).&lt;/p&gt;&#xA;" OwnerUserId="17994" LastEditorUserId="17994" LastEditDate="2013-10-17T11:20:17.443" LastActivityDate="2013-10-17T11:20:17.443" CommentCount="0" CommunityOwnedDate="2013-10-15T18:13:14.837" ContentLicense="CC BY-SA 3.0" />
  <row Id="19402" PostTypeId="2" ParentId="894" CreationDate="2013-10-15T19:08:56.790" Score="3" Body="&lt;p&gt;&lt;em&gt;Bijective analysis&lt;/em&gt; is a way to compare two algorithms (Spyros Angelopoulos, Pascal Schweitzer: Paging and list update under bijective analysis. J. ACM 60, 2013): Roughly, Algorithm A is better than Algorithm B on inputs of length n if there is a bijection f of the inputs of length n such that A performs on input x at least as good as B on f(x).&lt;/p&gt;&#xA;" OwnerUserId="17994" LastActivityDate="2013-10-15T19:08:56.790" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19405" PostTypeId="1" CreationDate="2013-10-15T20:35:45.817" Score="2" ViewCount="306" Body="&lt;p&gt;The subgraph isomorphism problem problem is to determine given $G$ and $H$ whether $G$ is a subgraph of $H$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $G$ and $H$ be regular graphs with degree of $H$ greater than degree of $G$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does the subgraph isomorphism problem remain NP-complete for the following case:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$1.$ Girth of $G$ and $H$ are fixed, say $girth=3$ or a fixed $h$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;How large should a fixed $k$-diameter $d_H$-regular graph $H$ be for it to have a fixed $k$-diameter $d_G$-regular subgraph $G$ of vertex count $n_G$ when both have the same girth?&lt;/p&gt;&#xA;" OwnerUserId="1812" LastEditorUserId="1812" LastEditDate="2013-10-15T23:14:04.753" LastActivityDate="2013-10-15T23:14:04.753" Title="On the subgraph isomorphism problem" Tags="&lt;graph-theory&gt;&lt;graph-isomorphism&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="19407" PostTypeId="1" CreationDate="2013-10-16T05:48:46.010" Score="1" ViewCount="112" Body="&lt;p&gt;Regularly in a Hamming hypercube, the vertices are labelled so that edge difference equals path difference. That is greater the edge difference, greater the hamming distance of the labelled vertices will be.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can we label the cube so that lower the edge difference, higher will the Hamming distance be? Not all pairs of words will satisfy this property (for instance try labeling the 2-cube). However, is there a lower bound on how many close vertices any vertex can have and still have the property? Any references for this would help. This does sound like anticodes. However I am unsure.&lt;/p&gt;&#xA;" OwnerUserId="1812" LastEditorUserId="1812" LastEditDate="2013-10-16T07:24:20.300" LastActivityDate="2013-10-16T07:24:20.300" Title="On Labeling the cube" Tags="&lt;graph-theory&gt;&lt;coding-theory&gt;" AnswerCount="0" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19408" PostTypeId="1" AcceptedAnswerId="19414" CreationDate="2013-10-16T10:33:53.010" Score="0" ViewCount="187" Body="&lt;p&gt;Let $L$ be an infinite regular language, then does there exists a strictly locally testable  infinite language $P$ such that $P \subseteq L$?&lt;/p&gt;&#xA;" OwnerUserId="17672" LastEditorUserId="17203" LastEditDate="2013-10-17T00:05:47.033" LastActivityDate="2013-10-17T00:05:47.033" Title="Does every regular language contains a strictly locally testable language?" Tags="&lt;fl.formal-languages&gt;&lt;automata-theory&gt;&lt;regular-language&gt;" AnswerCount="1" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="19410" PostTypeId="1" AcceptedAnswerId="19413" CreationDate="2013-10-16T11:48:47.500" Score="10" ViewCount="324" Body="&lt;p&gt;Consider a non-empty language $L$ of binary strings of length $n$. I can describe $L$ with a Boolean circuit $C$ with $n$ inputs and one output such that $C(w)$ is true iff $w \in L$: this is well-known.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, I want to represent $L$ with a Boolean circuit $C'$ with $n$ &lt;em&gt;outputs&lt;/em&gt; and a certain number of inputs, say $m$, such that the set of the output values of $C'$ for each of the $2^m$ possible inputs is exactly $L$.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Given $L$, how can I find such a circuit $C'$ of minimal size, and what is the complexity? Is there any relationship between known bounds about the size of circuits of the first kind ($C$) and circuits of this second kind ($C'$), or the complexity of finding them?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;(Observe that there is some sort of duality in the following sense: given $C$, I can easily decide if an input word $w$ is in $L$ by evaluating the circuit, but it is NP-hard in general to find some word in $L$ by finding an assignment such that the output is true. Given $C'$ it is likewise NP-hard to decide if some input word $w$ is in $L$ because I have to see if an assignment yields $w$ as output, but it is easy to find some word in $L$ by evaluating the circuit on any arbitrary input.)&lt;/p&gt;&#xA;" OwnerUserId="4795" LastActivityDate="2013-10-21T18:19:54.103" Title="Smallest Boolean circuit to generate a language" Tags="&lt;fl.formal-languages&gt;&lt;circuit-complexity&gt;" AnswerCount="2" CommentCount="3" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="19411" PostTypeId="2" ParentId="19410" CreationDate="2013-10-16T11:55:18.867" Score="5" Body="&lt;p&gt;You should have a look at &lt;a href=&quot;http://www.cs.sfu.ca/~kabanets/Research/circuit.html&quot; rel=&quot;nofollow&quot;&gt;this paper&lt;/a&gt; by Kabanets and Cai. I will quote the abstract of the paper:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;We study the complexity of the circuit minimization problem: given the truth table of a Boolean function $f$ and a parameter $s$, decide whether $f$ can be realized by a Boolean circuit of size at most $s$. We argue why this problem is unlikely to be in $\mathsf{P}$ (or even in $\mathsf{P}/\mathsf{poly}$) by giving a number of surprising consequences of such an assumption. We also argue that proving this problem to be $\mathsf{NP}$-complete (if it is indeed true) would imply proving strong circuit lower bounds for the class $\mathsf{E}$, which appears beyond the currently known techniques.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Although the circuit $C'$ you mentioned computes a function $F:\{0,1\}^m \rightarrow L$, we can think of it as a sequence of circuits $C'_1,C'_2,\ldots,C'_n$, where $C'_i$ computes the $i^{\rm th}$ output bit of $F$. Since each $C'_i$ computes a boolean function $\{0,1\}^m\rightarrow \{0,1\}$, minimizing the circuits $C'_i$ seems hard according to the above result.&lt;/p&gt;&#xA;" OwnerUserId="1080" LastEditorUserId="1080" LastEditDate="2013-10-16T23:48:45.477" LastActivityDate="2013-10-16T23:48:45.477" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="19412" PostTypeId="2" ParentId="18294" CreationDate="2013-10-16T15:09:51.113" Score="1" Body="&lt;p&gt;This doesn't answer the question, but it might be helpful.  Mossel and Umans have made a detailed study of the complexity of approximating VC-dimension, when the set system is succinctly presented:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;On the Complexity of Approximating the VC Dimension&lt;/em&gt;&#xA;&lt;a href=&quot;http://users.cms.caltech.edu/~umans/papers/MU01-final.ps&quot; rel=&quot;nofollow&quot;&gt;http://users.cms.caltech.edu/~umans/papers/MU01-final.ps&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="223" LastActivityDate="2013-10-16T15:09:51.113" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19413" PostTypeId="2" ParentId="19410" CreationDate="2013-10-16T15:45:23.253" Score="11" Body="&lt;p&gt;I will point out a simple connection to nondeterministic circuits, and comment briefly on cryptographic hardness.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For $S \subseteq \{0, 1\}^n$, define the &lt;em&gt;image complexity,&lt;/em&gt; denoted $imc(S)$, as the minimal number of gates in any (fanin-two, AND/OR/NOT) Boolean circuit $C: \{0, 1\}^m \rightarrow \{0, 1\}^n$ whose image is $S$.  The question asks about the complexity of computing $imc(S)$, given a truth-table representation of $S$ (a string of length $2^n$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also define the &lt;em&gt;nondeterministic circuit complexity&lt;/em&gt; of $S$, which we'll denote $ncc(S)$, as the smallest nondeterministic circuit $C(x, y): \{0, 1\}^{n + m'} \rightarrow \{0, 1\}$ accepting exactly $S$.  That is, we require of $C$ that $x \in S$ iff $\exists y: C(x, y) = 1$.  This is a standard notion, used to define the non-uniform class $NP/poly$: it is the class of all sets $S = \{S_n\}_{n &amp;gt; 0}$, with $S_n \subseteq \{0, 1\}^n$, such that $ncc(S_n) \leq poly(n)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What I wanted to point out is that $imc(S) = ncc(S) \pm O(n)$.  Both directions of this inequality are simple to verify.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $dcc(S)$ denote the deterministic circuit complexity.  Using Razborov-Rudich, the paper that Dai Le mentions shows (roughly speaking here) that under certain cryptographic assumptions, it is computationally hard to distinguish truth-tables of $S$ with $dcc(S)$ small, from truth-tables of truly random $S$ (with $dcc(S)$ near-maximal).  Random $S$ also have $ncc(S)$ nearly-maximal, and we of course have $ncc(f) \leq dcc(f)$. So your problem is hard under the same assumptions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Which is harder to compute given a truth-table for $S$, $dcc(S)$ or $ncc(S)$?  Is there a reduction either way?  I don't know.&lt;/p&gt;&#xA;" OwnerUserId="223" LastEditorUserId="223" LastEditDate="2013-10-21T18:19:54.103" LastActivityDate="2013-10-21T18:19:54.103" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19414" PostTypeId="2" ParentId="19408" CreationDate="2013-10-16T15:53:40.947" Score="6" Body="&lt;p&gt;The answer is no. The argument was suggested by phs, but you have to start with a different language. Take $L = (aa)^*$. Then any regular language $K$ contained in $L$ is of the form&#xA;$$&#xA; K = \{(aa)^n \mid n \in U \}&#xA;$$&#xA; for some ultimately periodic subset $U$ of $\mathbb{N}$. If $K$ is infinite, then the period $p$ of $U$ is not $0$ and thus $K$ is not star-free (hence not locally testable and not strictly locally testable).&lt;/p&gt;&#xA;" OwnerUserId="17203" LastActivityDate="2013-10-16T15:53:40.947" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19415" PostTypeId="2" ParentId="19393" CreationDate="2013-10-16T17:15:57.717" Score="8" Body="&lt;p&gt;Here is an attempt to prove that the problem without the reverse condition is NP-hard.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The basic idea is that disjoint intervals in $S$ like this one:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt; [S]  +-a-+ +-b-+&#xA;      +---c-----+  c&amp;lt;a, c&amp;lt;b (here &amp;lt; is interval inclusion)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;can have a valid mapping to a &quot;&lt;em&gt;pyramid&lt;/em&gt;&quot; in $T$:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt; [T]  +-x-+      f(a)=x, f(b)=y, f(c)=z&#xA;      +-y---+    &#xA;      +-z-----+  z&amp;lt;x, z&amp;lt;y OK&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;The reduction is from Unary 3-Partition (which is NPC).&#xA;Given $3m$ integers $A = \{a_1,a_2,...,a_{3m}\}$ and an integer $B$, does exists a partition of A in $m$ sets $A_1,...,A_m$ such that every $A_i$ have exactly 3 elements and their sum is $B$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose that $max = \sum a_i + 3m$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We construct $S$ adding $3m$ &lt;em&gt;base intervals&lt;/em&gt; $BI_i$ of length $3*max$ (red lines in the figure),&#xA;on top of each base interval  we add a &lt;em&gt;marker pyramid&lt;/em&gt; of $max$ intervals of increasing length (green lines in the figure).&#xA;To base interval $BI_i$ we also add $a_i$ disjoint &lt;em&gt;unit intervals&lt;/em&gt; of length 1 (black lines in the figure). Finally we add a long interval $L$ to cover all $BI_i$ (blue line in  the figure).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then we construct $T$ starting from a copy of $L$, then we add $m$ &lt;em&gt;sum groups&lt;/em&gt; $G_j$, each one  made with a copy of three stacked base intervals stretched in such a way that their marker pyramids don't intersect (see red+green lines at the bottom of the figure).&#xA;Then we add on top of the three base intervals of $G_j$ a &lt;em&gt;sum pyramid&lt;/em&gt; of $B$ intervals of increasing length (disjoint from the marker pyramids).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose that there exists a bijection between S and T that preserves the interval inclusion (in one direction from S to T).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then each marker pyramids of S must correspond to a marker pyramid in T (the only way to have an inclusion chain of $max$ intervals), so exactly three &lt;em&gt;base intervals&lt;/em&gt; ($BI_{j_1},BI_{j_2},BI_{j_3}$) of $S$ must be mapped to each group $G_j$. Furthermore, the unit intervals of $BI_{j_k}$ must be mapped to the &lt;em&gt;sum pyramid&lt;/em&gt; of $G_j$ and cannot be &quot;exchanged&quot; between different groups. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In a similar way it can be proved that if there exists a bijection then the original unary 3-partition problem has a solution.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/Srfqt.jpg&quot; alt=&quot;enter image description here&quot;&gt;&#xA;Reduction example from the unary 3-partition problem $m=2, A = \{3,3,2,2,2,2\}, B = 7$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note: as observed in the comments the blue intervals L in S and T are not essential for the reduction.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If the reverse condition is also required, then you can build two DAGs using the relation $I_i \subseteq I_j$ to build arcs $(I_j \rightarrow I_i)$. A bijection that preserves interval inclusion in both directions exists iif the two DAGs are isomorphic. So the problem cannot be harder than the DAG isomorphism problem, which is GI-complete (and if you prove that it is NP-complete then you prove that GI is NP-complete, too).&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2013-10-17T12:04:35.310" LastActivityDate="2013-10-17T12:04:35.310" CommentCount="10" ContentLicense="CC BY-SA 3.0" />
  <row Id="19417" PostTypeId="1" AcceptedAnswerId="19427" CreationDate="2013-10-16T18:40:12.640" Score="3" ViewCount="1029" Body="&lt;p&gt;I am looking for an approximated (or randomized) maximum weight matching algorithm. Do you have any suggestion for me?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In my problem, I have a bipartite graph with N abound 1000 (#vertices on each side) and the Hungarian algorithm takes too much time to be an option for my case.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;the weight on edges are real numbers but it's ok to round them to integer numbers&lt;/li&gt;&#xA;&lt;li&gt;I have a brute-force greedy implementation, however, I am looking for something more sophisticated&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Thanks &lt;/p&gt;&#xA;" OwnerUserId="12807" LastActivityDate="2013-10-17T09:31:19.177" Title="Approximate Maximum Weight Matching" Tags="&lt;graph-algorithms&gt;&lt;approximation-algorithms&gt;&lt;linear-programming&gt;&lt;randomized-algorithms&gt;&lt;matching&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="19419" PostTypeId="1" CreationDate="2013-10-16T21:09:29.243" Score="2" ViewCount="133" Body="&lt;p&gt;When evaluating clustering algorithms for networks, we have well-established metrics like &lt;a href=&quot;http://en.wikipedia.org/wiki/Modularity_%28networks%29&quot; rel=&quot;nofollow&quot;&gt;Modularity&lt;/a&gt; and &lt;a href=&quot;http://en.wikipedia.org/wiki/Surprise_%28networks%29&quot; rel=&quot;nofollow&quot;&gt;Surprise&lt;/a&gt; for evaluating the quality of the resulting partition.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we then embed our graph (well) in a metric space, it becomes much easier to compute distances and communities using geometric algorithms on the points, at the cost of losing our link structure.  Therefore, given a partitioning of the points in the metric space (into, say, k clusters) are there any well-established metrics for computing the quality of the clusters?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;And if such metrics exist, can we say anything about what embedding/clustering methods are likely to yield clusters that yield similar results when moving from a graph to its embedding?&lt;/p&gt;&#xA;" OwnerUserId="10059" LastActivityDate="2013-10-16T21:09:29.243" Title="Quality measure for clusters of a metric space embedding of a graph?" Tags="&lt;graph-theory&gt;&lt;clustering&gt;&lt;metrics&gt;&lt;embeddings&gt;&lt;metric-spaces&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19421" PostTypeId="1" CreationDate="2013-10-17T05:39:28.957" Score="3" ViewCount="829" Body="&lt;p&gt;In a standard Ford-Fulkerson setting (directed graph $G$ with a source $s$ and a sink $t$), consider the problem of achieving a given amount of flow using the &lt;em&gt;minimum number of nodes&lt;/em&gt; in the graph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The familiarity with the problem discussed here: &lt;a href=&quot;https://cstheory.stackexchange.com/questions/7520/laying-paths-on-a-network-using-minimum-number-of-links-edges&quot;&gt;Laying paths on a network using minimum number of links/edges&lt;/a&gt; seems to suggest that this problem might also be NP-hard. I can split every node in $G$ into two nodes and add an edge of unit cost between them, and assign zero cost to all the original edges. Cap-SNDP (&lt;a href=&quot;http://www.cis.upenn.edu/~sanjeev/papers/ipco11_capacitated.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://www.cis.upenn.edu/~sanjeev/papers/ipco11_capacitated.pdf&lt;/a&gt;) on this new graph is equivalent to finding the minimum number of nodes in $G$ required to support the desired flow. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) Is this problem known to be NP-hard?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) If I restrict attention to layered graphs, does it change anything about the complexity/approximability? (A layered graph is one in which all $s-t$ paths have the same number of edges.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks in advance.&lt;/p&gt;&#xA;" OwnerUserId="16266" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2013-10-18T05:10:06.213" Title="network flow using minimum number of nodes" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="19422" PostTypeId="1" CreationDate="2013-10-17T06:06:46.057" Score="0" ViewCount="134" Body="&lt;p&gt;I'm writing an implementation for a common array structure.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As you would find already familiar, an array is an ordered data structure that you can transform with different (hopefully self-explained) operations like:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;set object at index&lt;/li&gt;&#xA;&lt;li&gt;insert object(s) starting at index i&lt;/li&gt;&#xA;&lt;li&gt;remove object(s) starting at index i&lt;/li&gt;&#xA;&lt;li&gt;splice&lt;/li&gt;&#xA;&lt;li&gt;push&lt;/li&gt;&#xA;&lt;li&gt;pop&lt;/li&gt;&#xA;&lt;li&gt;shift&lt;/li&gt;&#xA;&lt;li&gt;unshift&lt;/li&gt;&#xA;&lt;li&gt;clear&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;And then you could intuitively see that you could just code a set of 'fundamental operations' from where you could construct all the other ones. For instance, you could use &lt;strong&gt;splice&lt;/strong&gt; to emulate the behavior of all other operations but you could also use &lt;strong&gt;insert&lt;/strong&gt; and &lt;strong&gt;remove&lt;/strong&gt; to construct all of them.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is, then, how would you define those 'fundamental operations'?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is &lt;strong&gt;splice&lt;/strong&gt; a construct of &lt;strong&gt;insert&lt;/strong&gt; and &lt;strong&gt;remove&lt;/strong&gt;, therefore &lt;strong&gt;insert&lt;/strong&gt; and &lt;strong&gt;remove&lt;/strong&gt; being fundamental?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Or are &lt;strong&gt;insert&lt;/strong&gt; and &lt;strong&gt;remove&lt;/strong&gt; special cases of &lt;strong&gt;splice&lt;/strong&gt;, therefore &lt;strong&gt;splice&lt;/strong&gt; being the fundamental operation for the whole group?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there some theory or field of CS that deals with these things?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;P.S. Sorry if I'm making a lot of mistakes when presenting the question. I don't know about the correct language for this and have never studied this stuff formally. I hope that I explained myself correctly.&lt;/em&gt;&lt;/p&gt;&#xA;" OwnerUserId="18021" LastEditorUserId="18021" LastEditDate="2013-10-22T01:46:49.057" LastActivityDate="2013-10-22T01:46:49.057" Title="How would you define a set of 'fundamental operations' over an object?" Tags="&lt;ds.algorithms&gt;&lt;semantics&gt;&lt;implementation&gt;&lt;operational-semantics&gt;" AnswerCount="1" CommentCount="6" ClosedDate="2013-12-01T11:30:19.920" ContentLicense="CC BY-SA 3.0" />
  <row Id="19423" PostTypeId="1" CreationDate="2013-10-17T06:26:13.017" Score="6" ViewCount="175" Body="&lt;p&gt;I was going through the &lt;a href=&quot;http://arxiv.org/abs/0808.2117&quot; rel=&quot;nofollow&quot;&gt;PhD thesis of Daniel Nagaj&lt;/a&gt;. At the beginning of chapter two he indicated a relation between the local Hamiltonian perspective of adiabatic quantum computation and combination search problem. I am not getting the intuition behind this. Let me quote from the second paragraph of the chapter.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;There is hope that there may be combinatorial search problems, defined&#xA;  on $n$ bits so that $N = 2^n$ , where for certain “interesting” subsets of&#xA;  the instances the run time of the Quantum Adiabatic Algorithm grows&#xA;  sub-exponentially in $n$. A positive result of this kind would greatly&#xA;  expand the known power of quantum computers.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I understand that it is possible to implement the Grover's algorithm as an adiabatic quantum algorithm. What I don't understand is the special relation between local Hamiltonian and combinatorial search problems. Any clue?&lt;/p&gt;&#xA;" OwnerUserId="13408" LastEditorUserId="13408" LastEditDate="2013-10-18T23:43:08.133" LastActivityDate="2013-10-18T23:43:08.133" Title="Local Hamiltonian and combinatorial search problems" Tags="&lt;co.combinatorics&gt;&lt;quantum-computing&gt;&lt;quantum-information&gt;&lt;physics&gt;" AnswerCount="0" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19424" PostTypeId="2" ParentId="17601" CreationDate="2013-10-17T07:54:33.967" Score="3" Body="&lt;p&gt;The paper by Bläser, Panagiotou, and Rao deals with concentration of the tour produced by Christofides' algorithm. No average-case approximation ratio is claimed, except for some experimental results.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The paper by Röglin and Vöcking (Math. Program., 2007) and an earlier paper by Beier and Vöcking (SIAM J. Comput., 2006) roughly state that smoothed polynomial time is equivalent to randomized pseudo-polynomial time. Here, pseudo-polynomial means running-time polynomial in the input size and the magnitude of the coefficients that are perturbed. This rules out smoothed polynomial complexity for strongly NP-hard optimization problems (unless NP=ZPP).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Concerning smoothed analysis and approximation, there are only very few papers that address specific problems or algorithms (Englert, Röglin, and Vöcking for the 2-opt heuristic for TSP; Bläser, Manthey, and Rao as well as Curticapean and Künnemann for partitioning heuristics; Karger and Onak for multi-dimensional packing). However, I am not aware of any structural connections between inapproximability and smoothed analysis.&lt;/p&gt;&#xA;" OwnerUserId="17994" LastActivityDate="2013-10-17T07:54:33.967" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19425" PostTypeId="2" ParentId="5606" CreationDate="2013-10-17T08:38:03.560" Score="4" Body="&lt;p&gt;Integer programming is strongly NP-hard, thus integer programs can in general not be solved in pseudo-polynomial time. The result of Röglin and Vöcking is that, provided that the range of integers that the variables can assume is polynomially bounded, (randomized) pseudo-polynomial solvability is equivalent to polynomial smoothed complexity. Thus, general integer programs do not have polynomial smoothed complexity.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The statement &quot;randomized pseudo-polynomial complexity = polynomial smoothed complexity&quot; is not known to be true in general. For instance, the flip heuristic for Max-Cut runs in pseudo-polynomial time, but it is unknown if a local optimum w.r.t. the flip heuristic can be found with polynomial smoothed complexity (cf. Etscheid and Röglin, SODA 2014).&lt;/p&gt;&#xA;" OwnerUserId="17994" LastActivityDate="2013-10-17T08:38:03.560" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19427" PostTypeId="2" ParentId="19417" CreationDate="2013-10-17T09:31:19.177" Score="3" Body="&lt;p&gt;You should try Sage's implementation. It uses LP, but I don't think that you would get something so large in less than 100milliseconds. Greedy probabilistic would be nice in this case I guess.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.sagemath.org/doc/reference/graphs/sage/graphs/graph.html#sage.graphs.graph.Graph.matching&quot; rel=&quot;nofollow&quot;&gt;http://www.sagemath.org/doc/reference/graphs/sage/graphs/graph.html#sage.graphs.graph.Graph.matching&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="1209" LastActivityDate="2013-10-17T09:31:19.177" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19428" PostTypeId="2" ParentId="19018" CreationDate="2013-10-17T14:20:34.553" Score="3" Body="&lt;p&gt;By the Ky Fan minimax theorem, if you can identify the strategy spaces of the two players with convex compact subsets of a locally convex topological vector space, and the payoff function $M(x, y)$ is convex and continuous in $y$ for any $x$, and also concave and continuous in $x$ for any $y$, then the minimax theorem holds. &lt;/p&gt;&#xA;" OwnerUserId="4896" LastActivityDate="2013-10-17T14:20:34.553" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19431" PostTypeId="1" CreationDate="2013-10-17T20:11:17.687" Score="4" ViewCount="140" Body="&lt;p&gt;Given a graph, say one wants to find the clique number, independence number, chromatic number, vertex cover number etc., one knows that a solution exists. However if the solution space has more than one solution, it is possible to talk about the symmetry of the solution space. For instance if there is only one solution, we have only the identity. However, if we have $n!$ solutions, the solution space has $S_n$ as symmetry group ($n$ is number of vertices on the graph).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Has there been any study on the symmetry of solution spaces to NP-complete problems atleast for classes of graphs?&lt;/p&gt;&#xA;" OwnerUserId="1812" LastActivityDate="2013-10-17T20:11:17.687" Title="Symmetry of optimal solutions to discrete optimization problems" Tags="&lt;optimization&gt;&lt;np-complete&gt;&lt;structural-complexity&gt;&lt;symmetry&gt;" AnswerCount="0" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19433" PostTypeId="2" ParentId="19421" CreationDate="2013-10-18T05:10:06.213" Score="3" Body="&lt;p&gt;The problem is NP-hard on layered graphs. This can be seen by reduction from Exact Cover by 3-sets (X3C). Let $A_1,\ldots,A_m$ be subsets of $\{1,2,\ldots,3n\}$ with $\vert A_i\rvert=3$ for every $i$, the problem asks if there exists a set $I\subseteq\{1,2,\ldots,m\}$ of $\lvert I\rvert=n$ indices such that $\bigcup_{i\in I}A_i=\{1,2,\ldots,3n\}$. This can be reduced to the following instance of your problem. The node set is&#xA;$$V=\{s,t\}\cup\{v_i\ :\ i=1,2,\ldots,m\}\cup\{w_j\ :\ j=1,2,\ldots,3n\}.$$&#xA;There are the following arcs:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;an arc $(s,v_i)$ with capacity 3 for every $i\in\{1,2,\ldots,m\}$,&lt;/li&gt;&#xA;&lt;li&gt;an arc $(v_i,w_j)$ with capacity 1 for every pair $(i,j)$ with $j\in A_i$&lt;/li&gt;&#xA;&lt;li&gt;an arc $(w_j,t)$ with capacity 1 for every $j\in\{1,2,\dots,3n\}$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;A flow of value $3n$ can be achieved using $4n$ nodes (not counting $s$ and $t$) if and only if the X3C-instance is a YES-instance. &lt;/p&gt;&#xA;" OwnerUserId="15637" LastActivityDate="2013-10-18T05:10:06.213" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="19434" PostTypeId="1" AcceptedAnswerId="19437" CreationDate="2013-10-18T06:21:05.407" Score="0" ViewCount="566" Body="&lt;p&gt;I have the following Equivalent DNF problem:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Input:Two DNF formulas, $F_1$ and $F_2$,with variables $a_1,a_2,...a_n.$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Output: $1$ if $F_1$ and $F_2$ are equivalent, $0$ otherwise.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$F_1$ and $F_2$ are equivalent if for all $(a_1,a_2,...a_n)∈\{0,1\}^n,F_1(a_1,a_2,...a_n)= F_2(a_1,a_2,...a_n).$ &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is the DNF-Equivalence problem polynomial or in $\mathsf{NP\mbox{-Hard}}$? If in $P$, how do we find an efficient algorithm and determine its complexity. How do we prove it if it's $\mathsf{NP\mbox{-Hard}}$.&lt;/p&gt;&#xA;" OwnerUserId="18032" LastEditorUserId="3247" LastEditDate="2013-10-18T07:47:56.550" LastActivityDate="2013-10-19T07:04:58.797" Title="Is DNF-Equivalence Problem $\mathsf{NP\mbox{-Hard}}$?" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;np-hardness&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19435" PostTypeId="2" ParentId="19434" CreationDate="2013-10-18T06:51:41.533" Score="0" Body="&lt;p&gt;The DNF-Equivalence problem is a special case of the Formula Equivalence problem that is coNP-complete. If you assume that the DNF-Equivalence is $\mathsf{NP-hard} $ then, by definition, you have that every problem in $\mathsf{NP} $ reduces to the DNF-Equivalence problem that in turn implies $\mathsf{NP} \subseteq \mathsf{coNP} $&lt;/p&gt;&#xA;" OwnerUserId="3080" LastEditorUserId="3080" LastEditDate="2013-10-18T09:24:48.637" LastActivityDate="2013-10-18T09:24:48.637" CommentCount="10" ContentLicense="CC BY-SA 3.0" />
  <row Id="19436" PostTypeId="1" CreationDate="2013-10-18T07:59:22.253" Score="0" ViewCount="122" Body="&lt;p&gt;I understand that a regular expression can be converted to an equivalent DFA which can then be simulated. However, is it possible to simulate the regular expression directly with the aid of a stack ? I believe that by pushing the alphabets onto a stack and expanding any composite expression such as &lt;code&gt;(r1.r2)&lt;/code&gt; into its constituent expressions one can parse against the regular expression but I am unable to figure out how to deal with the &lt;code&gt;|&lt;/code&gt; operator . As an example of what I am thinking consider the following regular expression :&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;a.b.(c.d)*.e&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;The string &lt;code&gt;abe&lt;/code&gt; can be parsed against the regular expression in the following way using a stack:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;Stack:             alphabet action &#xA;|e|(c.d)*|b|a      a        match: pop off the stack&#xA;|e|(c.d)*|b        b        match: pop off the stack&#xA;|e|(c.d)*          e        composite element , expand          &#xA;|e|(c.d)*|d|c      e        no match , but expanding from a composite under kleene closure , pop off&#xA;     ^&#xA;|e|(c.d)*|d        e        no match , but expanding from a composite under kleene closure , pop off&#xA;     ^&#xA;|e|(c.d)*          e        stack top not an alphabet, pop off&#xA;|e                 e        match : pop off from stack&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;" OwnerUserId="18033" LastActivityDate="2013-10-18T07:59:22.253" Title="Is it possible to simulate a regular expression using a single stack?" Tags="&lt;regular-expressions&gt;&lt;parsing&gt;" AnswerCount="0" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="19437" PostTypeId="2" ParentId="19434" CreationDate="2013-10-18T09:42:05.110" Score="8" Body="&lt;p&gt;A special case of DNF equivalence is DNF tautology: Given a DNF formula $F$, is it satisfied for all assignments? This can be seen by setting $F_1 = F$ and $F_2$ to be a trivial tautology. CNF non-satisfiability is co-NP-complete. Negating the input formula turns a CNF formula into a DNF formula and vice versa and non-satisfiability into tautology. Thus, DNF tautology is co-NP-complete.&lt;/p&gt;&#xA;" OwnerUserId="17994" LastEditorUserId="17994" LastEditDate="2013-10-19T07:04:58.797" LastActivityDate="2013-10-19T07:04:58.797" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="19440" PostTypeId="1" AcceptedAnswerId="19488" CreationDate="2013-10-18T20:47:16.167" Score="3" ViewCount="461" Body="&lt;p&gt;This question is inspired by one of my professors giving out&#xA;&lt;br&gt;&#xA;sequential lecture notes that have a significant amount of overlap :-).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;br&gt;&lt;br&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is known about the following problems?&#xA;&lt;br&gt;&lt;br&gt;&lt;br&gt;&#xA;Given a set of integer intervals whose union is an integer interval, find a subset&#xA;&lt;br&gt;&#xA;with the same union that minimizes the number of intervals in the subset.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a set of integer intervals whose union is an integer interval, find a subset with the&#xA;&lt;br&gt;&#xA;same union that minimizes the sum of the &lt;a href=&quot;http://en.wikipedia.org/wiki/Cardinality&quot; rel=&quot;nofollow&quot;&gt;cardinalities&lt;/a&gt; of the intervals in the subset.&#xA;&lt;br&gt;&lt;br&gt;&lt;/p&gt;&#xA;" OwnerDisplayName="user6973" LastEditorDisplayName="user6973" LastEditDate="2013-10-19T20:58:11.410" LastActivityDate="2013-10-23T04:14:31.560" Title="How efficiently can one find small subcovers for integer intervals?" Tags="&lt;set-cover&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="19441" PostTypeId="1" CreationDate="2013-10-18T23:52:22.553" Score="1" ViewCount="535" Body="&lt;p&gt;I am interested in the following questions and would be grateful if anyone could give me hints or point me to articles:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) Given a regular language $L$, what are its regular sublanguages $L'\subseteq L$, i.e. how to enumerate all regular $L' \subseteq L$ for a given regular language $L$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) Could every regular sublanguage $L'$ of a regular language $L$ be written as $L' = L''\cap L$ with $L''$ regular&lt;/p&gt;&#xA;&#xA;&lt;p&gt;3) Given a arbitrary language, is it decidable if it is regular (of course one could compute it's syntactic monoid, but this computation could take on forever if the language is not regular) &lt;/p&gt;&#xA;" OwnerUserId="17672" LastActivityDate="2013-10-20T11:04:29.847" Title="Questions about regular languages and their sublanguages" Tags="&lt;fl.formal-languages&gt;&lt;automata-theory&gt;" AnswerCount="4" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="19442" PostTypeId="2" ParentId="19441" CreationDate="2013-10-19T00:41:45.960" Score="2" Body="&lt;p&gt;1) I'll let someone wiser and clearer answer this.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) Yes and no? Allow me to explain and come to your own conclusion.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is always the trivial L'' = L' and sometimes this is the only answer. If the alphabet is E and L = E*, then the only L'' that will intersect with L to give L' is L'. (there are less extreme versions of this, say if L'={}, no matter the L, L'==L'')&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you wanted to see if there are any non-trivial solutions, you can express L' as an DFA A' which is a subautomaton of A, a possibly non-minimal DFA equivalent to L. Whenever you can add an edge in A' that is not in A, you have a needed L''. If there is no such edge to add, then there is only the trivial solution. (This operation would be equivalent to finding any word w=se where w is in E*\L and s is in L')&lt;/p&gt;&#xA;&#xA;&lt;p&gt;3) How am I given it? Could you provide an example? If I am given it as a grammar/expression, I'd use the pumping lemma. If I am given it as an unambiguous English statement, I'd translate it to an expression then use the pumping lemma. &lt;/p&gt;&#xA;" OwnerUserId="18044" LastActivityDate="2013-10-19T00:41:45.960" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19445" PostTypeId="2" ParentId="19441" CreationDate="2013-10-19T08:22:27.520" Score="1" Body="&lt;p&gt;I am not sure about (i). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;As for (ii), as pointed out in the comments, we can see that the language $L'' =  L$ satisfies the requirement. Also, we can construct smaller sublanguages.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $L_1 = L-L'$ we know that $L_1 \neq \phi$. Consider the regular language $L''=L-a$ where $a$  is the lexicographically smallest string in $L_1$. This language is still regular and also contains the language $L'$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In part (iii) we can use Rice's Theorem to show that if a language is represented as a Turing Machine than the language is not decidable. If it was represented as a regular expression or a DFA/NFA then the language is regular. &lt;/p&gt;&#xA;" OwnerUserId="14116" LastActivityDate="2013-10-19T08:22:27.520" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19447" PostTypeId="2" ParentId="19441" CreationDate="2013-10-19T10:10:00.640" Score="4" Body="&lt;blockquote&gt;&#xA;1) Given a regular language $L$, what are its regular sublanguages $L′\subseteq L$, i.e. how to enumerate all regular $L′\subseteq L$ for a given regular language $L$.&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;If $L, L'$ are regular languages, then $L' \subseteq L$ is decidable (it is PSPACE-complete, see &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=1438639&quot; rel=&quot;nofollow&quot;&gt;A. R. Meyer  L. J. Stockmeyer, The equivalence problem for regular expressions with squaring requires exponential space.&lt;/a&gt;).&#xA;So you can just enumerate the regular expressions over the alphabet of $L$ in lexicographic order (i.e. enumerate the regular languages): $L_1, L_2, ...\,$; if $L_i \subseteq L$ then output $L_i$ as the next element of the enumeration, otherwise discard it. All and only those regular languages that are subsets of $L$ are included in the enumeration.&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2013-10-20T11:04:29.847" LastActivityDate="2013-10-20T11:04:29.847" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="19449" PostTypeId="1" CreationDate="2013-10-19T13:34:54.810" Score="1" ViewCount="8840" Body="&lt;p&gt;I have built a max network flow graph that carries certain amount of people from a source to a destination. Now, I'd like to attach a lower bound $l_(e_)$ constraint to each edge $e$. But I don't know what algorithm to use and how to analyze its complexity. Here's the graph:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/inzm3.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;" OwnerUserId="18032" LastEditorUserId="18032" LastEditDate="2013-10-19T14:01:44.123" LastActivityDate="2018-11-26T21:25:16.813" Title="Algorithm for Max Network Flow with lower bounds and its complexity" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19450" PostTypeId="2" ParentId="19441" CreationDate="2013-10-19T14:47:26.050" Score="7" Body="&lt;p&gt;3) It is undecidable to know whether a given context-free grammar generates a regular language. So even for context-free languages, you are in trouble.&lt;/p&gt;&#xA;" OwnerUserId="17203" LastActivityDate="2013-10-19T14:47:26.050" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19451" PostTypeId="1" AcceptedAnswerId="47182" CreationDate="2013-10-19T18:15:23.810" Score="4" ViewCount="126" Body="&lt;p&gt;Let $\mathcal A$ be an automaton, then I define the following $\omega$-language accepted by $\mathcal A$:&#xA;$$&#xA; L'(\mathcal A) := \{ \eta \in X^{\omega} : v \sqsubset \eta \mbox{ implies } v \in L(\mathcal A) \}&#xA;$$&#xA;where $v \sqsubset \eta$ means $v$ is a finite prefix of $\eta$ and $L(\mathcal A)$ denotes the finite (regular) language accepted by $\mathcal A$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For $k &amp;gt; 0$ denote by $PF_k(\eta)$ the set of all $\omega$ words $\xi$ such that the first $k$ letters of $\eta$ and $\xi$ are the same (they share a common prefix of length $k$) and the infixes (or factors) of length $k$ are the same, i.e. if $F_k(\eta)$ denotes the factors of length $k$ then $PF_k(\eta) = \{ \xi : \eta[0...k] = \xi[0...k], F_k(\eta) = F_k(\xi) \}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now I want to show, if $\eta \in L'(\mathcal A)$, then there exists a $k &amp;gt; 0$ such that $PF_k(\eta) \subseteq L'(A)$. First I thought that this does not hold, so that for every $\eta \in L'(A)$ and $k &amp;gt; 0$ you can find some $\xi \notin L'(A)$ such that $\xi \in PF_k(\eta)$, but didn't succeeded in constructing a counter-example, so I guess it holds but I have no idea how to proof it?&lt;/p&gt;&#xA;" OwnerUserId="17672" LastEditorUserId="2367" LastEditDate="2020-07-07T19:10:47.023" LastActivityDate="2020-07-07T20:26:42.323" Title="Subsets of $\omega$-words which share certain factors and languages accepted by special (prefix-closed) automata" Tags="&lt;fl.formal-languages&gt;&lt;automata-theory&gt;&lt;regular-language&gt;&lt;omega-language&gt;" AnswerCount="1" CommentCount="7" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="19452" PostTypeId="2" ParentId="19449" CreationDate="2013-10-19T20:18:36.163" Score="5" Body="&lt;p&gt;&lt;a href=&quot;http://jeffe.cs.illinois.edu/teaching/algorithms/notes/25-maxflowext.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://jeffe.cs.illinois.edu/teaching/algorithms/notes/25-maxflowext.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There's a very simple reduction from that problem to the maximum flow problem. This is simply called &quot;maximum flow with edge demands&quot;.&lt;/p&gt;&#xA;" OwnerUserId="15815" LastEditorUserId="5038" LastEditDate="2018-11-26T21:25:16.813" LastActivityDate="2018-11-26T21:25:16.813" CommentCount="1" ContentLicense="CC BY-SA 4.0" />
  <row Id="19454" PostTypeId="1" AcceptedAnswerId="19475" CreationDate="2013-10-19T22:46:14.363" Score="14" ViewCount="392" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;Is it known if $\mathsf{NC^1}$ circuit evaluation problem is in $\mathsf{NC^1}$? &#xA;  How about $\mathsf{ALogTime}$ (uniform  $\mathsf{NC^1}$)?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;We know that circuits of depth $k$ can be evaluated with circuits of depth $k+c$ &#xA;where $c$ is a universal constant. &#xA;This means circuits of depth $k\lg n + o(\lg n)$ can be evaluated by &#xA;a circuit of depth $O(\lg n)$.&#xA;However $O(\lg n)$ doesn't contain a function that eventually dominates all functions in $O(\lg n)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We know that formula evaluation problem is in $\mathsf{ALogTime}$. Every $\mathsf{NC^1}$ circuit is equivalent to a Boolean formula. Can't we compute the extended connection representation of an equivalent Boolean formula from that of a given $\mathsf{NC^1}$ circuit in $\mathsf{ALogTime}$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The &lt;em&gt;extended connection representation&lt;/em&gt; of a circuit includes &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;the number of gates in the circuit, &lt;/li&gt;&#xA;&lt;li&gt;the type of each gate, and &lt;/li&gt;&#xA;&lt;li&gt;for every gate $g$ and every path $\pi$ in the DAG of the circuit the gate reached from $g$ following path $\pi$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;A path is given by a 0/1 sequence where 0 represents moving to the left parent and 1 represents moving to the right parent. Note that the number of paths is polynomial: the length of the paths is bounded by the depth of the circuit.&lt;/p&gt;&#xA;" OwnerUserId="186" LastActivityDate="2013-10-22T16:44:25.117" Title="$\mathsf{NC^1}$ circuit evaluation" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;circuit-complexity&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="19455" PostTypeId="1" CreationDate="2013-10-19T23:49:36.147" Score="4" ViewCount="120" Body="&lt;p&gt;Imagine we have a graph, which is 2k-regular, and we want to decompose it into copies of k-stars. Then we could just at first decompose the graph into 2-factors, orient each of the factors and then we can easily decompose the graph into stars: put a center in any vertex and choose k outgoing edges.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would like to ask about the case of multigraphs (so that we can have now multiple edges between the same pair of vertices, but without loops). It is easy to construct examples, when we cannot find a decomposition. What is known about the complexity of a problem of deciding whether a 2k-regular multigraph has a k-star decomposition?&lt;/p&gt;&#xA;" OwnerUserId="5102" LastActivityDate="2013-10-19T23:49:36.147" Title="What is the complexity of decomposing 2k-regular multigraphs into k-stars?" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;" AnswerCount="0" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19458" PostTypeId="1" AcceptedAnswerId="19461" CreationDate="2013-10-20T14:32:57.200" Score="6" ViewCount="348" Body="&lt;p&gt;We have a binary tree with height $h$, and for the sake of analysis assume it's a complete tree.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we pick two nodes at random (with or without replacement, your choice), what is the expected height of the subtree rooted at the least common ancestor of those nodes?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I believe I've calculated the first few results, by exhaustive case analysis (for the situation of choosing a node at random with replacement, i.e. both nodes may be the same):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Tree height 1 (1 node), height of subtree: 1&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Tree height 2 (3 nodes), height of subtree: 1.666... (5/3)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Tree height 3 (7 nodes), height of subtree: 2.551... (125/49)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is the actual formula?&lt;/p&gt;&#xA;" OwnerUserId="18057" LastEditorUserId="18057" LastEditDate="2013-10-20T15:11:06.063" LastActivityDate="2013-10-20T21:56:34.067" Title="Average height of the least common ancestor of 2 random nodes in a binary tree" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19459" PostTypeId="1" AcceptedAnswerId="19599" CreationDate="2013-10-20T21:21:06.443" Score="1" ViewCount="195" Body="&lt;p&gt;What is an &quot;informational density&quot; and why numeral system with the base of e (2,71828...) has the maximum informational density? How do you calculate &quot;informational density&quot; of a given numeral system?&lt;/p&gt;&#xA;" OwnerUserId="18063" LastActivityDate="2013-10-31T18:39:37.620" Title="Numeral system information density" Tags="&lt;it.information-theory&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19460" PostTypeId="2" ParentId="9000" CreationDate="2013-10-20T21:21:34.880" Score="5" Body="&lt;p&gt;There are plenty of semirings related to language theory. First of all, the Boolean semiring. Next any class of languages closed under finite union and (concatenation) product is a subsemiring of the semiring of all languages. For instance the rational (= regular) languages form a semiring. See also the related notion of &lt;a href=&quot;http://en.wikipedia.org/wiki/Kleene_algebra&quot; rel=&quot;noreferrer&quot;&gt;Kleene algebra&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The $k \times k$ matrices over a semiring do form a semiring. In particular, matrices over the Boolean semiring encode nondeterministic finite automata and matrices over the slightly larger semiring $\{-\infty, 0, 1\}$ encode transitions of a Büchi automaton. Matrices over a semiring are used to characterize &lt;a href=&quot;http://tagh.de/tom/wp-content/uploads/berstelreutenauer2008.pdf&quot; rel=&quot;noreferrer&quot;&gt;rational series&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The &lt;a href=&quot;http://hal.archives-ouvertes.fr/hal-00113779/fr/&quot; rel=&quot;noreferrer&quot;&gt;tropical semirings&lt;/a&gt;, in particular $(\mathbb{N} \cup \{+\infty\}, \min, +)$ and $(\mathbb{N} \cup \{-\infty\}, \max, +)$ play a proeminent role in automata theory. They also led to a new branch of mathematics, the &lt;a href=&quot;http://en.wikipedia.org/wiki/Tropical_geometry&quot; rel=&quot;noreferrer&quot;&gt;tropical geometry&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="17203" LastActivityDate="2013-10-20T21:21:34.880" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19461" PostTypeId="2" ParentId="19458" CreationDate="2013-10-20T21:56:34.067" Score="2" Body="&lt;p&gt;It took me a while to see the nice formula, but there is one.&#xA;Consider a node $w$ at height $k$. The root is at height $h$ and the leaves at height $1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The probability that $w$ is the least common ancestor of the two nodes is the probability that:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;(1) Both random nodes are in the subtree rooted at $w$;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;and we do &lt;em&gt;not&lt;/em&gt; have that&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;(2) Both nodes are in $w$'s left subtree or both nodes are in $w$'s right subtree.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The size of a subtree at height $k$ is $2^k-1$.&#xA;The probability of #1 is therefore $\left(\frac{2^k-1}{2^h - 1}\right)^2$. The probability of #2 is $2 \left(\frac{2^{k-1}-1}{2^h - 1}\right)^2$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The probability of the event that #1 happens and #2 does not (since #2 is a subset of #1) is thus&#xA;\begin{align}&#xA;\Pr[\text{$w$ at height $k$ is lca}] &amp;amp;= \frac{\left(2^k-1\right)^2 - 2\left(2^{k-1}-1\right)^2}{\left(2^h - 1\right)^2} \\&#xA;&amp;amp;=\frac{2^{2k-1} - 1}{\left(2^h -1 \right)^2}&#xA;\end{align}&#xA;once you work it out. (You can check that these probabilities sum to $1$.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are $2^{h-k}$ nodes at height $k$. So the probability that the lca is at height $k$ is $\frac{2^{h+k-1} - 2^{h-k}}{\left(2^h - 1\right)^2}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The expected height is thus&#xA;\begin{align}&#xA;  &amp;amp;\sum_{k=1}^h (k)\frac{2^{h+k-1} - 2^{h-k}}{\left(2^h - 1\right)^2} \\&#xA;  &amp;amp;\approx \sum_{k=1}^h \frac{(k)\left(2^{k-1} - 2^{-k}\right)}{2^h} \\&#xA;  &amp;amp;\approx h - 1 - \Theta\left(\frac{1}{2^h}\right) .&#xA;\end{align}&#xA;Simulations bear this out up to three decimal points anyway. By the way, this is very easy to simulate: Suppose the nodes are numbered $1,2,\dots, 2^h - 1$. Pick two random numbers from this range. Now each node $x$'s parent is $\lfloor \frac{x}{2} \rfloor$. To find the lca of two numbers, continue halving (and rounding down) the larger number until they are equal. To find the height of a number, continue halving (and rounding down) until it is one and count the steps. So if your random number generator is comfortable giving you random numbers in the range $[1,2^{100}]$ (as python's seems to be) then you can simulate easily.&lt;/p&gt;&#xA;" OwnerUserId="8243" LastActivityDate="2013-10-20T21:56:34.067" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="19462" PostTypeId="2" ParentId="19422" CreationDate="2013-10-21T00:36:04.423" Score="2" Body="&lt;p&gt;There is no standard notion of &quot;fundamentalness&quot;.  It's not clear that what you are looking for is meaningful or makes any sense.  What is &quot;fundamental&quot; is a matter of perspective; I don't see any reason to privilege &lt;strong&gt;insert&lt;/strong&gt; as more fundamental than &lt;strong&gt;splice&lt;/strong&gt;, or vice versa.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, if you need a concept of &quot;fundamental&quot; for some reason, you'll need to define for yourself what you mean by &quot;fundamental&quot;.  If you're going to head that path, I would suggest that you start by asking yourself, &quot;Why do you care?&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Personally, I suspect an XY problem.  I suspect you're asking the wrong question, and you should go back and ask yourself why you want to know and what you will do with the answer -- and that might help you identify a more sensible question or a more pragmatic path to achieving your real goals.&lt;/p&gt;&#xA;" OwnerUserId="5038" LastActivityDate="2013-10-21T00:36:04.423" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="19464" PostTypeId="2" ParentId="12172" CreationDate="2013-10-21T01:16:47.340" Score="13" Body="&lt;p&gt;According to Theorem 3.1 in Alexis Maciel and Denis Therien &lt;a href=&quot;http://dx.doi.org/10.1006/inco.1998.2732&quot; rel=&quot;nofollow&quot;&gt;Threshold Circuits of Small Majority-Depth&lt;/a&gt; there is indeed a depth-3 circuit for computing the addition of two numbers. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The precise bound is $\Delta_2 \cdot \mathsf{NC}^0_1$ where $\Delta_2 = \Sigma_2 \cap \Pi_2$ are problems which have depth-2 $\mathsf{AC}^0$ circuits with both $\vee,\wedge$ gates at top and $\mathsf{NC}^0_1$ circuits are $\mathsf{NC}^0$ circuits of depth one (see the paper for a detailed explanation of the notation).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The main proof ideas are:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;First, express the Carry-lookahead circuit as $\mathsf{NC}^0\cdot\Delta_2\cdot\mathsf{NC}^0$&lt;/li&gt;&#xA;&lt;li&gt;Next, invoke closure properties of $\Delta_2$ to write this as $\Delta_2\cdot\mathsf{NC}^0$&lt;/li&gt;&#xA;&lt;li&gt;Finally, use the fact (also proved in the paper) that $\mathsf{NC}^0 \subset \Delta_1\cdot\mathsf{NC}^0_1$&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="214" LastEditorUserId="14197" LastEditDate="2013-10-21T16:32:39.530" LastActivityDate="2013-10-21T16:32:39.530" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19466" PostTypeId="1" AcceptedAnswerId="19484" CreationDate="2013-10-21T08:17:39.760" Score="3" ViewCount="394" Body="&lt;p&gt;I searched internet but could not find any good weblink which shows how the &lt;a href=&quot;http://en.wikipedia.org/wiki/Sequent_calculus#Inference_rules&quot; rel=&quot;nofollow&quot;&gt;cut rule&lt;/a&gt; for sequent calculus can be derived.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I found &lt;a href=&quot;http://www.iam.unibe.ch/~kai/Papers/ace.pdf&quot; rel=&quot;nofollow&quot;&gt;this&lt;/a&gt; paper but it uses implication elimination rule which I cannot find as a standard rule anywhere (see page 2).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks in advance.&lt;/p&gt;&#xA;" OwnerUserId="18068" LastEditorUserId="186" LastEditDate="2013-10-22T16:59:04.170" LastActivityDate="2013-10-22T16:59:04.170" Title="Derivation of cut rule in sequent calculus" Tags="&lt;lo.logic&gt;&lt;proof-theory&gt;&lt;sequent-calculus&gt;&lt;formal-systems&gt;" AnswerCount="2" CommentCount="5" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19468" PostTypeId="1" CreationDate="2013-10-21T17:19:28.563" Score="5" ViewCount="234" Body="&lt;p&gt;Lately I've been reading a lot about game semantics and in particular the problem of &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0890540100929304&quot; rel=&quot;nofollow&quot;&gt;PCF's full abstraction&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm trying to understand how the definition from &lt;a href=&quot;http://www.pps.univ-paris-diderot.fr/~mellies/mpri/mpri-ens/articles/harmer-hyland-mellies-categorical-combinatorics.pdf&quot; rel=&quot;nofollow&quot;&gt;this&lt;/a&gt; article relates to the one found in &lt;a href=&quot;http://www.cs.bath.ac.uk/~gam23/papers/marktoberdorf.ps.gz&quot; rel=&quot;nofollow&quot;&gt;this&lt;/a&gt; notes (section 3.4).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The definition in the notes seem to follow quite closely the original definition used by &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0890540100929304&quot; rel=&quot;nofollow&quot;&gt;Abramsky et al&lt;/a&gt; and &lt;a href=&quot;http://www.mimuw.edu.pl/~urzy/SPFiL/Abramsky-i-inni/hylandong-iandc00.pdf&quot; rel=&quot;nofollow&quot;&gt;Ong and Hyland&lt;/a&gt;.&#xA;The definition of the category $\mathcal{INN}$ in the article is more interesting since it uses some more advanced categorical construct(a distributive law between a comonad and a monad) and makes (even) more obvious the connection with linear logic(namely: models of linear logic are given by an adjunction between a symmetric monoidal closed category and a cartesian category).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However I don't understand exactly how $\mathcal{INN}$ is related to $\mathcal{C}_{ib}$ defined in the notes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, reading the article I don't see any mention of well-bracketing(actually the article doesn't even divide the game moves into question and answers). Is this condition implicit somewhere in the definition they give? If yes how?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One of the authors, Hyland, also wrote one of the &quot;original articles&quot; about PCF's full-abstraction. In that article they put the well-bracketing condition in the definition of legal play and hence it is included in the condition of &quot;innocence&quot;. It seems strange that they simply ignore it in the article.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another thing I wonder: is $\mathcal{INN}$ cpo-enriched? Or, more generally, can we obtain the same(or very similar) full-abstract model of PCF using $\mathcal{INN}$ instead of $\mathcal{C}_{ib}$? Is there some major difference that wont allow this?&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Note that Hyland et al, in the introduction of the article I linked, state that their &quot;aim is to derive the &lt;em&gt;original notion of innocent strategy&lt;/em&gt; together with its basic properties from structure on a primitive category $\mathcal{G}$ of games.&quot;, which I believe is in favor of the &quot;equivalence&quot; of $\mathcal{INN}$ with the category used to model the semantics of PCF, however they never make an explicit statement about this and the category they define in the article.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt;&#xA;It just occurred to me that the definition of games and strategies in &lt;a href=&quot;http://www.pps.univ-paris-diderot.fr/~mellies/mpri/mpri-ens/articles/harmer-hyland-mellies-categorical-combinatorics.pdf&quot; rel=&quot;nofollow&quot;&gt;the article&lt;/a&gt; seems to only consider the &quot;well-opened&quot; games(as defined in &lt;a href=&quot;http://www.cs.bath.ac.uk/~gam23/papers/marktoberdorf.ps.gz&quot; rel=&quot;nofollow&quot;&gt;the notes&lt;/a&gt;), i.e. the games whose plays contain a single initial move at the beginning.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This would make much sense since then we can interpret the games $!?A$ and $?!A$ that arise when defining $\mathcal{INN}$ through the distributive law as generic games(since the $!$ and $?$ &quot;allow backtracking&quot; and hence more than an initial move can happen in a single play).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does this make any sense?&lt;/p&gt;&#xA;" OwnerUserId="18074" LastEditorUserId="18074" LastEditDate="2013-10-23T16:35:21.647" LastActivityDate="2013-10-23T16:35:21.647" Title="What's the connection between these two categories of games and innocent strategies?" Tags="&lt;semantics&gt;&lt;ct.category-theory&gt;" AnswerCount="0" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19471" PostTypeId="2" ParentId="9000" CreationDate="2013-10-21T20:08:46.837" Score="1" Body="&lt;p&gt;&lt;a href=&quot;http://www.cl.cam.ac.uk/~sd601/papers/semirings.pdf&quot; rel=&quot;nofollow&quot;&gt;Fun with Semirings: A functional pearl on the abuse of linear algebra&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.cse.chalmers.se/~bernardy/PP.pdf&quot; rel=&quot;nofollow&quot;&gt;Efficent Divide and Conquer parsing of context free languages&lt;/a&gt; &lt;/p&gt;&#xA;" OwnerUserId="2021" LastActivityDate="2013-10-21T20:08:46.837" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19472" PostTypeId="2" ParentId="19389" CreationDate="2013-10-22T02:04:40.753" Score="4" Body="&lt;p&gt;Perhaps the most famous application of duality has been the max-flow min-cut theorem (introduced in Ford &amp;amp; Fulkerson's landmark paper &quot;Maximal Flow Through a Network&quot;). The theorem states, formally, that the optimal solution for the (primal) integer linear program for finding the maximum flow is equal to the same optimal solution for the dual program to find a minimum cut.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The wikipedia page provides a good summary of this concept;&#xA;&lt;a href=&quot;http://en.wikipedia.org/wiki/Max-flow_min-cut_theorem&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/Max-flow_min-cut_theorem&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Moreover, this special case of LP duality has been previously studied in a graph-theoretic context, in the form of Menger's Theorem and Konig's Theorem. Menger's Theorem characterizes the number of edge-disjoint paths between vertices $x,y \in V$, and Konig's Theorem states the equivalence between optimal solutions for maximum matching and minimum vertex cover on bipartite graphs (one can find a nice reduction to flows).&lt;/p&gt;&#xA;" OwnerUserId="15815" LastEditorUserId="15815" LastEditDate="2013-10-26T20:38:11.020" LastActivityDate="2013-10-26T20:38:11.020" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19473" PostTypeId="1" AcceptedAnswerId="19491" CreationDate="2013-10-22T06:08:45.513" Score="7" ViewCount="226" Body="&lt;p&gt;For a distribution X over $\{0,1\}^n$, we can define the Fourier coefficient of the distribution as $\hat{Y}(s)= \textbf{E}_{y\in Y}({\chi_s(y)})$.&lt;br&gt;&#xA;The question I have is, do there exist distributions that can be efficiently computed such that at most polynomially many Fourier coefficients are non-zero?&lt;/p&gt;&#xA;" OwnerUserId="14116" LastEditorUserId="14116" LastEditDate="2013-10-24T16:34:29.897" LastActivityDate="2013-10-24T16:34:29.897" Title="Are there any distributions with only polynomially many non-zero Fourier coefficients and a small support?" Tags="&lt;reference-request&gt;&lt;pseudorandomness&gt;" AnswerCount="1" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="19475" PostTypeId="2" ParentId="19454" CreationDate="2013-10-22T06:43:33.610" Score="12" Body="&lt;p&gt;As far as I know, $\mathsf{NC^1}$ evaluation is not known to be in $\mathsf{NC^1}$, and is conjectured to be outside $\mathsf{NC^1}$. See &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Emil Jerabek, &quot;&lt;a href=&quot;http://www.math.cas.cz/~jerabek/papers/vnc.pdf&quot; rel=&quot;noreferrer&quot;&gt;On theories of bounded arithmetic for $\mathsf{NC^1}$&lt;/a&gt;&quot;,  Ann. Pure Appl. Logic 2011&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="78" LastEditorUserId="186" LastEditDate="2013-10-22T16:44:25.117" LastActivityDate="2013-10-22T16:44:25.117" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="19476" PostTypeId="2" ParentId="19466" CreationDate="2013-10-22T08:52:17.670" Score="2" Body="&lt;p&gt;Showing that from two cut-free derivations $\Gamma \vdash A$ and $\Gamma, A \vdash C$ you can produce a cut-free derivation of $\Gamma \vdash C$ is called &lt;em&gt;cut admissibility&lt;/em&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Admissibility of cut is actually equivalent to showing that cut can be eliminated. If you have cut-elimination, you just cut the two derivations together and then eliminate the cut. On the other hand, if you have cut-admissibility, you can use it to recursively eliminate all the cuts, starting at the leaves and working down to the root.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A good description of this proof, for a variety of logics, can be found in Frank Pfenning's 1995 LICS paper, &lt;a href=&quot;http://www.cs.cmu.edu/~fp/papers/lics95.pdf&quot; rel=&quot;nofollow&quot;&gt;&lt;em&gt;Structural Cut Elimination&lt;/em&gt;&lt;/a&gt;. &lt;/p&gt;&#xA;" OwnerUserId="657" LastActivityDate="2013-10-22T08:52:17.670" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19477" PostTypeId="1" AcceptedAnswerId="19482" CreationDate="2013-10-22T10:17:07.180" Score="3" ViewCount="1489" Body="&lt;p&gt;Steiner tree problem for weighted graphs is NP-hard. How about unweighted graphs? That is, given a graph $G=(V,E)$ and a subset&amp;nbsp;$C$ of&amp;nbsp;$V$, find a subtree of&amp;nbsp;$G$ with the least number of vertices to connect all the vertices in&amp;nbsp;$C$. (Since we are looking for a subtree, minimizing the number of vertices also minimizes edges.) The unweighted Steiner tree problem should be NP-hard but is there any better (approximation) algorithm for it?&lt;/p&gt;&#xA;" OwnerUserId="18041" LastEditorUserId="17082" LastEditDate="2013-10-23T16:23:44.667" LastActivityDate="2013-10-23T16:23:44.667" Title="Steiner tree problem for unweighted graphs" Tags="&lt;graph-theory&gt;&lt;approximation-algorithms&gt;&lt;tree&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19480" PostTypeId="1" AcceptedAnswerId="33408" CreationDate="2013-10-22T12:51:30.113" Score="7" ViewCount="233" Body="&lt;p&gt;Do you know of any data structure $S[A]$, that maintains a (finite) set $A \subset \mathbb{Z}_{\geq0}$ of non-negative integers, subject to the following operations:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Given $S[A],$ calculate minimal excludant $\mbox{mex} A = \min \ \mathbb{Z_{\geq 0}} \setminus  A.$&lt;/li&gt;&#xA;&lt;li&gt;Given two data structures for sets $A$ and $B$, construct a data structure, maintaining the union of the two $S[A \cup B]$.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Disjoint set union comes into mind, but I can't think of a way to make it support mex-es.&#xA;Intuitively, the problem I see is that we can have a situation in which both $A$ and $B$ contain many small intervals, and then their union is hard to obtain.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Ideally, both of these should be polylog (on the size of the represented sets). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;How about if the sets are from a bounded universe?&lt;/p&gt;&#xA;" OwnerUserId="18086" LastActivityDate="2015-12-21T08:25:00.907" Title="Maintain mex with efficient union" Tags="&lt;co.combinatorics&gt;&lt;ds.data-structures&gt;" AnswerCount="1" CommentCount="13" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="19482" PostTypeId="2" ParentId="19477" CreationDate="2013-10-22T14:32:03.180" Score="6" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;[Steiner tree] remains NP-complete if all edge weights are equal, even if $G$&amp;nbsp;is a bipartite graph having no edges joining two vertices in&amp;nbsp;$C$ or two vertices in&amp;nbsp;$V-C$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&amp;mdash; Garey and Johnson, &lt;em&gt;Computers and Intractability&lt;/em&gt;, Freeman, 1979.  Citation is to private communication with E.&amp;nbsp;R. Berlekamp.&lt;/p&gt;&#xA;" OwnerUserId="17082" LastActivityDate="2013-10-22T14:32:03.180" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19483" PostTypeId="1" AcceptedAnswerId="19486" CreationDate="2013-10-22T16:30:40.030" Score="2" ViewCount="2747" Body="&lt;p&gt;I have a directed graph which has cycles. &#xA;Each edge has a nonnegative weight and each vertex has a nonnegative reward.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given two vertices s and t, I need to find a simple path (a path with no repeated vertices) from s to t which minimizes &lt;/p&gt;&#xA;&#xA;&lt;p&gt;(sum of edge weights on the path) - (sum of vertex rewards covered by the path). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;One can surely absorb node reward into edge weight like &lt;a href=&quot;https://cstheory.stackexchange.com/questions/16226/finding-a-minimum-node-weight-path&quot;&gt;this post&lt;/a&gt;, but then the edge weight can become negative and negative cycles can emerge.  As a result, the shortest simple path, if posed in such a general setting, is NP-hard (eg &lt;a href=&quot;https://cstheory.stackexchange.com/questions/17462/finding-the-shortest-path-in-the-presence-of-negative-cycles&quot;&gt;this post&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, some hints from submodular analysis suggest this problem is not NP-hard. Can we find an efficient algorithm?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Many thanks in advance.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Follow-up&lt;/strong&gt;:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Please see &lt;a href=&quot;https://cstheory.stackexchange.com/questions/19494/whats-wrong-with-my-linear-programming-formulation-of-longest-path&quot;&gt;this post&lt;/a&gt; for a &quot;proof&quot; which gave me the (wrong) hint.&lt;/p&gt;&#xA;" OwnerUserId="18093" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2013-10-23T11:59:50.093" Title="Shortest simple path with minimum edge cost minus node reward" Tags="&lt;graph-algorithms&gt;&lt;shortest-path&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19484" PostTypeId="2" ParentId="19466" CreationDate="2013-10-22T16:56:48.990" Score="4" Body="&lt;p&gt;The fact that a system is complete for proving valid formulas without the cut rule doesn't mean you can derive the cut rule from other rules. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In fact it is not difficult to construct counter-examples. Consider &#xA;$\Rightarrow A \rightarrow B$ and $\Rightarrow A$. From these assumptions it would follow that $\Rightarrow B$. But you cannot derive it without using a cut.&lt;/p&gt;&#xA;" OwnerUserId="186" LastActivityDate="2013-10-22T16:56:48.990" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19486" PostTypeId="2" ParentId="19483" CreationDate="2013-10-22T18:19:03.763" Score="1" Body="&lt;p&gt;As &lt;a href=&quot;https://stackoverflow.com/questions/19520672/shortest-acyclic-path-on-directed-cyclic-graph-with-negative-weights-cycles/19521656#comment28962941_19521656&quot;&gt;we discussed earlier&lt;/a&gt;, this can be solved by transforming your weighted edges-and-nodes graph to a normal weighted-edges graph: simply make the edge-weights in the new graph equal to the edge-weights in the old graph minus the reward of the node they point to.  This may lead to a graph with negative-cycles; and finding a simple path on such a graph &lt;a href=&quot;https://cstheory.stackexchange.com/questions/17462&quot;&gt;is NP-Hard&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Unfortunately, the two problems are equivalent.  The transformation in the other direction is easy - given a directed weighted graph with negative cycles, you can turn it into a directed weighted-edges-and-nodes graph with no negative edges simply by setting the &quot;reward&quot; of each node to the lowest incoming edge, and subtracting that amount from all incoming edges.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thus, your problem NP-Hard in the general case.  However, the sub-cases where the transformation in the first paragraph would generate a graph with no negative edge-cycles &lt;em&gt;(ex. if, for instance, the node's reward is &amp;lt;= the least weight of an incoming edge)&lt;/em&gt; are in P.&lt;/p&gt;&#xA;" OwnerUserId="8532" LastEditorUserId="-1" LastEditDate="2017-05-23T12:40:09.333" LastActivityDate="2013-10-22T20:41:49.270" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19488" PostTypeId="2" ParentId="19440" CreationDate="2013-10-22T21:51:07.917" Score="3" Body="&lt;p&gt;Let me restate the first problem:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Problem:&lt;/strong&gt; Given a set of intervals $\mathcal{S} = \{ I_1, I_2,\ldots,I_n\}$,  minimize $|\mathcal{C}|$, where $ \mathcal{C} =\{ I_{j_1}, I_{j_2},\ldots,I_{j_k}\} \subseteq\mathcal{S} $ and&#xA;$ \bigcup_{l=1}^{n}I_l = \bigcup_{m=1}^{k}I_{j_m} $&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Define:&lt;/strong&gt; Graph $G(V,E)$, $V = \{v_1, v_2, \ldots, v_n ,s ,t \}$ where,&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Vertex $v_j \in V$ denotes interval $I_j$.&lt;/li&gt;&#xA;&lt;li&gt;Vertices $v_k, v_l$ have an edge between them if their corresponding intervals $I_k,\; I_l$ overlap.&lt;/li&gt;&#xA;&lt;li&gt;Source vertex $s$ and $v_j$ have an edge between them if $v_j$'s corresponding interval $I_j$ contains the leftmost point of $\bigcup_{l=1}^{n}I_l $.&lt;/li&gt;&#xA;&lt;li&gt;Similarly sink vertex $t$ and $v_j$ have an edge between them if $v_j$'s corresponding interval $I_j$ contains the rightmost point of $\bigcup_{l=1}^{n}I_l $.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Answer&lt;/strong&gt;: The intervals corresponding to the vertices in the 'shortest vertex path' between $s$ and  $t$ gives the minimum set cover!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If I have understood your 2nd question correctly, it is nothing but the weighted 1-dimensional set cover problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Remark 1:&lt;/strong&gt; The intervals $I_j$ considered above might possibly have non-integer end-points.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Remark 2:&lt;/strong&gt; One can solve this problem using dynamic programming, which I think has &quot;lower&quot; complexity than the shortest path solution.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT-1&lt;/strong&gt;: For the ease of exposition, I have considered only closed intervals in the above problem.&lt;/p&gt;&#xA;" OwnerUserId="16261" LastEditorUserId="16261" LastEditDate="2013-10-23T04:14:31.560" LastActivityDate="2013-10-23T04:14:31.560" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="19489" PostTypeId="2" ParentId="9088" CreationDate="2013-10-22T23:45:07.937" Score="-4" Body="&lt;p&gt;DPLL does not strictly specify the variable-visit ordering and there is a lot of interesting research looking at optimal variable ordering attack strategies. some of this is incorporated into variable selection logic in SAT algorithms. in a sense some of this research is preliminary in that it shows that different variable attack orderings lead to different sequential constrainedness (which is highly correlated with instance hardness), and devising the most effective heuristics or strategies to exploit this apparently key insight seems to be in the early stages of research.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://autodeskresearch.org/pdf/ictai04.pdf&quot; rel=&quot;nofollow&quot;&gt;Guiding Real-World SAT Solving with Dynamic Hypergraph Separator&#xA;Decomposition&lt;/a&gt; Li, van Beek&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://www.st.ewi.tudelft.nl/sat/theses/paul.pdf&quot; rel=&quot;nofollow&quot;&gt;Decomposing satisﬁability problems&#xA;or&#xA;Using graphs to get a better insight into satisﬁability problems&lt;/a&gt; Herwig&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.2.3267&quot; rel=&quot;nofollow&quot;&gt;The Constrainedness Knife-Edge (1998)&lt;/a&gt; Walsh&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2013-10-22T23:45:07.937" CommentCount="23" ContentLicense="CC BY-SA 3.0" />
  <row Id="19491" PostTypeId="2" ParentId="19473" CreationDate="2013-10-23T04:25:00.610" Score="11" Body="&lt;p&gt;If you want $Y$ to have entropy less than $0.99 n$ bits, the answer is no, by the uncertainty principle: Either $Y$ has high entropy or its Fourier transform has large support.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;b&gt;Theorem.&lt;/b&gt; Let $H(Y)$ be the &lt;a href=&quot;http://en.wikipedia.org/wiki/Entropy_(information_theory)&quot;&gt;Shannon entropy&lt;/a&gt; of $Y$ and let $F  \subset \{0,1\}^n$ be the support of $\hat{Y}$. Then $H(Y) \geq n - \log |F|$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;i&gt;Proof.&lt;/i&gt; Consider the collision probability of $Y$ (the probability that two independent samples of $Y$ are the same). By &lt;a href=&quot;http://en.wikipedia.org/wiki/Discrete_Fourier_transform#The_Plancherel_theorem_and_Parseval.27s_theorem&quot;&gt;Parseval's identity&lt;/a&gt;,&#xA;$$CP(Y) = \sum_y \text{Pr}[Y=y]^2 = 2^{-n} \sum_s \hat{Y}(s)^2 \leq 2^{-n} |F|,$$ as $|\hat{Y}(s)| \leq 1$. On the other hand, $CP(Y) = 2^{-H_2(Y)}$, where $H_2(Y)$ is the &lt;a href=&quot;http://en.wikipedia.org/wiki/R%C3%A9nyi_entropy#Collision_entropy&quot;&gt;Renyi entropy&lt;/a&gt; of $Y$. Noting that $H_2(Y) \leq H(Y)$ gives the result. Q.E.D.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $|F| = \mathrm{poly}(n)$, then $H(Y) = n-O(\log n)$. So, if $Y$ is the output of a pseudorandom generator, the seed length is at least $n-O(\log n)$.&lt;/p&gt;&#xA;" OwnerUserId="2022" LastEditorUserId="2022" LastEditDate="2013-10-23T20:17:59.573" LastActivityDate="2013-10-23T20:17:59.573" CommentCount="10" ContentLicense="CC BY-SA 3.0" />
  <row Id="19492" PostTypeId="2" ParentId="149" CreationDate="2013-10-23T05:49:20.220" Score="10" Body="&lt;p&gt;The &lt;a href=&quot;http://arxiv.org/pdf/0808.0163v3.pdf&quot; rel=&quot;noreferrer&quot;&gt;Batson-Spielman-Srivastava&lt;/a&gt; barrier function method has had a number of applications to geometry and functional analysis, arose in computer science, and is a very original form of potential function argument, reminiscent of the method of pessimistic estimators. Moreover, it goes against the conventional wisdom that analyzing  the characteristic polynomial of random matrices is intractable, and one is better off looking at matrix moments instead.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The barrier function method was first developed to prove the existence of (and construct in deterministic polynomial time) sparsifiers of graphs that preserve their spectral properties. Such sparsifiers were motivated by algorithmic applications: essentially any algorithm that needs to compute cuts approximately can be sped up by being given as input a sparsified version of the original input. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Beyond sparsifiers however, the method has had numerous applications, many of which are surveyed by Assaf Naor in &lt;a href=&quot;http://arxiv.org/abs/1101.4324&quot; rel=&quot;noreferrer&quot;&gt;this paper&lt;/a&gt;. Some prominent examples are construction of weighted expander graphs, approximate John decompositions of the identity with fewer points, dimension reduction of subsets/subspaces of $\ell_1^n$, a tight version of Bourgain and Tzafriri's restricted invertibility principle. For all of the above applications, the barrier function method yields essentially tight bounds, gives an efficient deterministic algorithm in addition to an existence proof, and often provides a more elementary proof than prior methods (although not without some hairy calculations).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Fast forward to 2013, and the barrier function method, on steroids, and augmented with the machinery of interlacing polynomials, was used by &lt;a href=&quot;http://arxiv.org/abs/1306.3969&quot; rel=&quot;noreferrer&quot;&gt;Marcus, Srivastava, and Spielman&lt;/a&gt;, to solve one of the most notorious problems in functional analysis, the Kadison-Singer problem. This problem arises from &lt;a href=&quot;http://www.soulphysics.org/2013/06/philosophy-and-physics-in-the-kadison-singer-conjecture/&quot; rel=&quot;noreferrer&quot;&gt;fundamental questions&lt;/a&gt; in mathematical physics, but it goes much further - it is known to be &lt;a href=&quot;http://arxiv.org/abs/math/0510024&quot; rel=&quot;noreferrer&quot;&gt;equivalent&lt;/a&gt; to dozens of problems all over mathematics. Not to mention that many analysts (including Kadison and Singer) did not even think the problem had a positive resolution (the cited survey by Cassaza et al. speculates on possible counterexamples).&lt;/p&gt;&#xA;" OwnerUserId="4896" LastEditorUserId="4896" LastEditDate="2013-10-23T21:28:22.327" LastActivityDate="2013-10-23T21:28:22.327" CommentCount="0" CommunityOwnedDate="2013-10-23T05:49:20.220" ContentLicense="CC BY-SA 3.0" />
  <row Id="19494" PostTypeId="1" AcceptedAnswerId="19495" CreationDate="2013-10-23T11:49:23.043" Score="-2" ViewCount="1187" Body="&lt;p&gt;I have a directed graph which has cycles.  Each edge has a positive weight. Now given two vertices $u$ and $v$, I want to find the longest simple path from $u$ to $v$.  Simple means the path has no repetition in vertices.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I understand this problem is NP-hard in general.  But I am wondering what's wrong in my following linear programming formulation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let us add a source vertex $s$, which is connected to $u$ by an edge with capacity $1$. Let v be connected to a sink vertex $t$ with capacity 1 too.  Denote the new edge set as $E$.  Use $w_{ij} = 1$ to represent that the edge $(i,j)$ is in the path, and $w_{ij} = 0$ if not. So $w_{ij} \in \{0,1\}$.  Then a simple path from $s$ to $t$ needs to satisfy&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Conservation constraints: for all vertices $i$ (except $s$ and $t$),&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\sum_{k: (k, i) \in E} w_{ki} = \sum_{j: (i,j) \in E} w_{ij}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let us call this common quantity as $w_i$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;No repetition of vertex: add a vertex capacity 1 on each vertex:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$w_i \in \{0,1\}$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Clearly any set of $\{w_{ij}\}$ satisfying these constraints represents an st-path, as long as $w_{ij}$ is not straight $0$.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now let us drop the integral constraints:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$w_{ij} \in [0,1]$, $w_i \in [0,1]$,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$w_i = \sum_{k: (k, i) \in E} w_{ki}$  for all $i$,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$w_i = \sum_{j: (i,j) \in E} w_{ij}$  for all $i$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then I claim the coefficient matrix arising from these linear constraints is totally unimodular (TUM).  To this end, it suffices to show that the coefficient matrix for the last two constraints is TUM. But this is trivial, say by the example 1 of &lt;a href=&quot;http://en.wikipedia.org/wiki/Unimodular_matrix#Common_totally_unimodular_matrices&quot; rel=&quot;nofollow&quot;&gt;this link&lt;/a&gt; (take $B$ as the set of all rows, and $C$ as an empty set).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since a longest path maximizes a linear function of $w_{ij}$ with positive coefficients, the optimal solution must be an extreme point of the feasible region, which by TUM must be integral.  Clearly, setting $w_{ij}$ to straight 0 is not optimal, and so the optimal solution must be an $st$-path.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So question: something must be wrong here, either&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;The integral constraints in 1 and 2 do not jointly define an $st$-path (ignoring the straight 0), and/or&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;TUM does not hold indeed.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="18093" LastEditorUserId="18093" LastEditDate="2013-10-23T11:56:13.957" LastActivityDate="2013-10-23T12:05:05.613" Title="What's wrong with my linear programming formulation of longest path?" Tags="&lt;graph-algorithms&gt;&lt;shortest-path&gt;" AnswerCount="1" CommentCount="1" ClosedDate="2013-11-07T05:16:58.503" ContentLicense="CC BY-SA 3.0" />
  <row Id="19495" PostTypeId="2" ParentId="19494" CreationDate="2013-10-23T12:05:05.613" Score="4" Body="&lt;p&gt;Your solution might consist of a path plus several edge-disjoint cycles.&lt;/p&gt;&#xA;" OwnerUserId="111" LastActivityDate="2013-10-23T12:05:05.613" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19496" PostTypeId="2" ParentId="9088" CreationDate="2013-10-23T12:09:25.520" Score="4" Body="&lt;p&gt;&lt;a href=&quot;http://mcts.ai/index.html&quot; rel=&quot;nofollow&quot;&gt;Monte Carlo Tree Search (MCTS)&lt;/a&gt; has recently achieved some impressive results on games such as Go. The rough basic idea is interleaving random simulation with tree search. It is lightweight and easy to implement, the research hub page I linked contains many examples, papers and some code as well.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Previti et al. [1] did some preliminary investigation of MCTS applied to SAT. They call the MCTS-based search algorithm UCTSAT (&quot;upper confidence bounds applied to trees SAT&quot;, if you will). They compared the performance of DPLL and UCTSAT on instances from the SATLIB repository, with the goal of seeing if UCTSAT would produce significantly smaller search trees than DPLL. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For uniform random 3-SAT and flat-graph coloring instances of different sizes, there were no significant differences. However, UCTSAT performed better for real-world instances. Average tree sizes (in terms of the number of nodes) for four different SSA circuit fault analysis instances were in several thousands for DPLL, while always less than 200 for UCTSAT.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;[1] &lt;a href=&quot;http://link.springer.com/chapter/10.1007/978-3-642-23954-0_18&quot; rel=&quot;nofollow&quot;&gt;Previti, Alessandro, Raghuram Ramanujan, Marco Schaerf, and Bart Selman. &quot;Monte-carlo style UCT search for boolean satisfiability.&quot; In AI* IA 2011: Artificial Intelligence Around Man and Beyond, pp. 177-188. Springer Berlin Heidelberg, 2011.&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="5693" LastActivityDate="2013-10-23T12:09:25.520" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19498" PostTypeId="1" CreationDate="2013-10-23T17:52:28.120" Score="17" ViewCount="922" Body="&lt;p&gt;I am currently a high school student, interested in theoretical computer science and applied mathematics. I have self taught myself linear algebra and calculus and concrete mathematics. I have a naive notion that for one to write better algorithms, one must know as much mathematics as one can because you can learn about new structures and then use those structures to form more complex and faster algorithms, now, I am not understanding what to do next. I have still an year to go to college, and in that time, I would like study some mathematics that may help me in my career. What should I start with ? Can someone please provide me with probably a list of topics that I should study now and in future.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also are things like abstract algebra (it is too formal of a subject) and algebraic topology useful in computer science?&lt;/p&gt;&#xA;" OwnerUserId="18107" LastActivityDate="2014-05-15T04:01:07.377" Title="Career in Theoretical Computer Science" Tags="&lt;big-picture&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="19499" PostTypeId="1" CreationDate="2013-10-23T18:54:21.333" Score="1" ViewCount="32" Body="&lt;p&gt;I have a system that accepts a vector and returns a function value. The goal is to change the elements of the vector such that the function value is minimized using a derivative-free solver, eg. using NOMAD. The structure of the problem allows to pass &lt;code&gt;n&lt;/code&gt; vectors to the function at once and receive &lt;code&gt;n&lt;/code&gt; function values in return within about the same computation time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The solvers, which I have found so far, will only pass 1 vector to the function at a time and wait for the function value to be returned.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a solver, which allows &quot;parallel processing&quot; on a single-cpu? Any idea is appreciated.&lt;/p&gt;&#xA;" OwnerUserId="18108" LastActivityDate="2013-10-23T18:54:21.333" Title="Nonlinear optimization using parallel input/output" Tags="&lt;optimization&gt;" AnswerCount="0" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19500" PostTypeId="2" ParentId="149" CreationDate="2013-10-23T19:08:06.063" Score="2" Body="&lt;p&gt;IMHO TCS is a branch of mathematics and I would put it a bit broader.&#xA;We live in the algorithmic age, almost everybody, in all human activities, invents/reinvents&#xA;algorithms, mainly heuristics. But some of those algorithms are 1. good; 2. contain (burried)&#xA;answers to deep mathematical questions; 3. Wait for a professional mathematical analysis/improvement/attention.&#xA;My personal experience: a stunning power of one physics/machine learning heuristic,&#xA;namely the Bethe Approximation, as a proof technique. The main problem is that possible&#xA;encounters of this kind mainly happen in the industry, where nobody cares about those&#xA;non-product related insights/revelations. &lt;/p&gt;&#xA;" OwnerUserId="13778" LastActivityDate="2013-10-23T19:08:06.063" CommentCount="0" CommunityOwnedDate="2013-10-23T19:08:06.063" ContentLicense="CC BY-SA 3.0" />
  <row Id="19501" PostTypeId="2" ParentId="14892" CreationDate="2013-10-23T19:47:14.420" Score="3" Body="&lt;p&gt;I am not sure if this is very relevant but in &lt;a href=&quot;http://link.springer.com/article/10.1007/s00224-013-9469-9&quot; rel=&quot;nofollow&quot;&gt;Log-Space Algorithms for Paths and Matchings in k-Trees&lt;/a&gt; (building on a long history of past work and specifically on &lt;a href=&quot;http://www.imsc.res.in/~meena/papers/tocs-arithnc.pdf&quot; rel=&quot;nofollow&quot;&gt;Arithmetizing classes around NC1 and L&lt;/a&gt; by Limaye-Mahajan-Rao) we show how to find recursive balanced separators for a tree in Logspace. This bound may very well be improvable to $\mathsf{NC}^1$ if the input tree is directly given in the string representation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The basic idea is to represent the tree as a parenthesis expression and find balanced separators for these. Notice that we find leaf separators i.e. subtrees which are balanced w.r.t. number of leaves.&lt;/p&gt;&#xA;" OwnerUserId="214" LastActivityDate="2013-10-23T19:47:14.420" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19502" PostTypeId="1" CreationDate="2013-10-23T20:26:51.557" Score="8" ViewCount="852" Body="&lt;p&gt;Let $P(x)$ be a univariate polynomial with integer coefficients where both coefficients and degrees are in binary and let $q(x)$ be another polynomial also with integer coefficients where the degrees are given in unary and the coefficients in binary. What is the complexity of determining $P(x) \bmod{q(x)}$? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am specifically interested in the case when $P(x) = x^N$ for a binary integer $N$ and $q(x)$ is a &lt;em&gt;constant&lt;/em&gt; degree polynomial. Any upper bound on this problem will imply the same bound on the &lt;a href=&quot;https://cstheory.stackexchange.com/questions/12785/complexity-of-matrix-powering&quot;&gt;matrix powering problem&lt;/a&gt; (see comment there) for constant size matrices (the degree of $q(x)$ figures as the dimension of the matrix).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem can be reduced to $\mathsf{BitSLP}$ (see &lt;a href=&quot;http://ftp.cs.rutgers.edu/pub/allender/slp.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;this&lt;/a&gt; for definition) e.g. by reducing the problem to computing (large) powers of a matrix (&lt;a href=&quot;http://alexhealy.net/papers/FieldOps.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Healy-Viola&lt;/a&gt; show how to do the reduction over finite fields in Lemma 21 - the algorithm being essentially the Kung-Sieveking algorithm - but the basic ideas are the same over $\mathbb{Z}$ also. The challenge is to improve the bound from the one for $\mathsf{BitSLP}$ proved in &lt;a href=&quot;http://eccc.hpi-web.de/report/2013/177/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Allender et al&lt;/a&gt; viz. $\mathsf{PH}^{\mathsf{PP}^{\mathsf{PP}^\mathsf{PP}}} \subseteq \mathsf{CH}$&lt;/p&gt;&#xA;" OwnerUserId="214" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.743" LastActivityDate="2014-09-08T14:45:53.703" Title="Complexity of Polynomial Division" Tags="&lt;cc.complexity-theory&gt;&lt;circuit-complexity&gt;&lt;arithmetic-circuits&gt;" AnswerCount="0" CommentCount="6" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="19503" PostTypeId="2" ParentId="5801" CreationDate="2013-10-23T21:32:41.330" Score="1" Body="&lt;p&gt;This book is used for an intro probability class at MIT. &lt;a href=&quot;http://vfu.bg/en/e-Learning/Math--Bertsekas_Tsitsiklis_Introduction_to_probability.pdf&quot; rel=&quot;nofollow&quot;&gt;http://vfu.bg/en/e-Learning/Math--Bertsekas_Tsitsiklis_Introduction_to_probability.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Table of contents:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Sample Space and Probability&lt;/li&gt;&#xA;&lt;li&gt;Discrete Random Variables&lt;/li&gt;&#xA;&lt;li&gt;General Random Variables&lt;/li&gt;&#xA;&lt;li&gt;Further Topics on Random Variables and Expectations&lt;/li&gt;&#xA;&lt;li&gt;The Bernoulli and Poisson Processes&lt;/li&gt;&#xA;&lt;li&gt;Markov Chains&lt;/li&gt;&#xA;&lt;li&gt;Limit Theorems&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="18111" LastActivityDate="2013-10-23T21:32:41.330" CommentCount="0" CommunityOwnedDate="2013-10-23T21:32:41.330" ContentLicense="CC BY-SA 3.0" />
  <row Id="19507" PostTypeId="1" CreationDate="2013-10-24T01:27:08.537" Score="2" ViewCount="168" Body="&lt;p&gt;Johnson graphs have a dual like construction to Kneser graphs in the sense that in Kneser we encode non-intersecting k-sets by joining vertices that represent the sets while in Johnson graphs we encode intersecting k-1-sets.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have a few questions on Johnson graphs:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is the fractional chromatic number $\chi_f(J(n,2))$ of Johnson graph $J(n,2)$ which is the complement of Kneser graph $K(n,2)$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In general what is $\chi_f(J(n,k))$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is known that we have a graph homomorphism $G\rightarrow K(n,m)$ if and only if $\chi_f(G)=\frac{m}{n}$ for any graph $G$. Is there a similar relation for Johnson graphs(atleast for $J(n,2)$)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In general do we have $G\leftrightarrow H\iff\chi_f(G)=\chi_f(H)$? (where $\leftrightarrow$ implies homomorphisms bothways?)&lt;/p&gt;&#xA;" OwnerUserId="1812" LastEditorUserId="1812" LastEditDate="2013-10-24T07:14:00.207" LastActivityDate="2013-10-24T07:14:00.207" Title="Fractional chromatic number of Johnson graphs" Tags="&lt;graph-theory&gt;&lt;graph-isomorphism&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19508" PostTypeId="1" AcceptedAnswerId="19510" CreationDate="2013-10-24T05:22:03.560" Score="9" ViewCount="5200" Body="&lt;p&gt;We have $f(k) n^3$ time algorithm to determine whether a graph $G$ has a cycle of length exactly $k$.&#xA;How can we find how many such $k$-cycles are present in $G$ using the same or any other algorithm.&lt;/p&gt;&#xA;" OwnerUserId="14028" LastActivityDate="2013-10-25T07:11:17.823" Title="Finding number of cycles of length $k$ in a graph" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;" AnswerCount="3" CommentCount="0" FavoriteCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="19509" PostTypeId="2" ParentId="19498" CreationDate="2013-10-24T06:13:13.020" Score="9" Body="&lt;p&gt;My name is Mike.  I'm a PhD student in the area of TCS.  I am self taught in many areas of Mathematics and Computer Science.  Many people would tell you NOT to do this, but when I was your age I bought a book on Analysis (Formal Version of Calculus) and read it cover to cover.  It took about 9 months to read with a continued supply of effort and motivation, but it helped transform my way of thought and gave me the skills to formally express concepts and create proofs on my own.  It also helped me to finally understand the concept of real numbers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here's a problem that you would face if you did this.  One, it's hard and you would likely be reading it on your own.  You can talk about it with your friends and parents, but most of them won't really understand.  Secondly, once you finish it, you will be much better at math, but you don't get any college credit and later on you may have to retake a simpler version of the class and be bored out of your mind.  I was able to avoid this by doing a summer program at a local university and afterwards enrolling there as a part-time student.  It took some confidence, effort, and luck to organize such an education, but it paid off.  It allowed me to continue to learn and get credit so that I could take the classes I should be taking when I got to college.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;After telling that little story I decided to write up some options that I'd recommend:&#xA;(1) Get a good math book and read it&#xA;(2) Enroll in a college course at a local university (or summer program locally or not locally)&#xA;(3) Work on programing projects&#xA;(4) &lt;strong&gt;**&lt;/strong&gt; Participate in USAMTS &lt;strong&gt;**&lt;/strong&gt; - &lt;a href=&quot;http://www.usamts.org/&quot; rel=&quot;nofollow&quot;&gt;http://www.usamts.org/&lt;/a&gt;&#xA;(5) But, whatever you do, try not to do it all alone&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Options for what you could be learning:&#xA;(a) Intro to Formal Mathematics: any book that includes proofs, sets and functions, basic number theory, inequalities, basic counting problems, and fun/interesting/challenging problems.&#xA;(b) Number Theory - I did well starting out with a few number theory books early on.&#xA;(c) Intro to Analysis - Formal version of Calculus and a study of real numbers.&#xA;(d) I myself didn't learn much graph theory until later on, but I don't think that would be an unreasonable subject to learn about especially since it's important for Computer Science and Computation in general.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You should know this as well.  For all those who are self teachers, be aware that communication with others is key.  It's important to develop the flexibility to take on new terminology, to be capable of verbally expressing complex concepts, and to take the time and energy to really focus and listen to others.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I wish you the best of luck with everything.  If you ever would like to talk further, please respond.  I am more than willing to chat with you every now and then.  :D&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Ps. I would have started out by saying hi, but it didn't let me.&lt;/p&gt;&#xA;" OwnerUserId="14207" LastEditorUserId="14207" LastEditDate="2014-05-15T04:01:07.377" LastActivityDate="2014-05-15T04:01:07.377" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19510" PostTypeId="2" ParentId="19508" CreationDate="2013-10-24T08:43:08.097" Score="11" Body="&lt;p&gt;When $k$ is part of the input, the problem of deciding if $G$ contains a simple cycle of length $k$ is NP-complete. For every fixed $k$, the problem can be solved in either $O(VE)$ time, or $O(V^\omega \log V)$ time. Flum and Grohe [1] showed that counting cycles and paths of length $k$ in both directed and undirected graphs, parameterized by $k$, is #W[1]-complete. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For $3 \leq k \leq 7$, one can count the $k$-cycles in $O(V^\omega)$ time, where $\omega &amp;lt; 2.376$ is the exponent of matrix multiplication. This is the result of Alon, Yuster and Zwick [2]. The paper also contains methods for finding simple cycles of length exactly $k$, where $k \geq 3$.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;[1] &lt;a href=&quot;http://www-i7.informatik.rwth-aachen.de/~grohe/pub/flugro04b.pdf&quot;&gt;Flum, Jörg, and Martin Grohe. &quot;The parameterized complexity of counting problems.&quot; SIAM Journal on Computing 33.4 (2004): 892-922.&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] &lt;a href=&quot;http://perso.ens-lyon.fr/eric.thierry/Graphes2009/ayz97.pdf&quot;&gt;Alon, Noga, Raphael Yuster, and Uri Zwick. &quot;Finding and counting given length cycles.&quot; Algorithmica 17.3 (1997): 209-223.&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="5693" LastEditorUserId="5693" LastEditDate="2013-10-24T09:00:56.123" LastActivityDate="2013-10-24T09:00:56.123" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19511" PostTypeId="2" ParentId="19508" CreationDate="2013-10-24T09:42:12.277" Score="10" Body="&lt;p&gt;As Juho pointed out, the problem is known to be #W[1]-complete by the work of Flum and Grohe. However, there does exist a randomized approximation scheme which runs in FPT time and returns an estimate which is a $(1+\epsilon)$ factor away from the correct solution with high probability. See &quot;Approximation Algorithms for Some Parameterized Counting Problems&quot;, by Arvind and Raman, ISAAC 2002.&lt;/p&gt;&#xA;" OwnerUserId="3168" LastActivityDate="2013-10-24T09:42:12.277" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19512" PostTypeId="2" ParentId="19101" CreationDate="2013-10-24T09:53:33.590" Score="1" Body="&lt;p&gt;Regarding &lt;strong&gt;Problem 1&lt;/strong&gt;: I think the first part of the definition is fine. &#xA;The second item (about the time before $scan$) is not clear to me; More specifically, the order of quatifiers: is it $\exists time: \forall i$ or $\forall i: \exists time$ ? I guess the first, because in the second I don't see why it is necessary. But definitions should not need guessing ;-)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Regarding &lt;strong&gt;Problem 2&lt;/strong&gt;: In principle there is two ways of looking at $K$. You can consider the last $K$ updates on a per item level or the last $K$ updates globally. The other choice is (already mentioned above) whether to require a point in time when the memory actually had the value returned by $scan$ (the $\exists time: \forall i$ case above) or whether not to require such a point.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A &lt;strong&gt;general&lt;/strong&gt; comment: What happens when every process just updates $K$ times and scans until two scans are equal. Wouldn't that (trivially) implement ($1$-)atomic snapshot memory? If that is the case then the whole idea of $K$-atomic snapshpot memory could be hard to sell. &lt;/p&gt;&#xA;" OwnerUserId="4483" LastEditorUserId="4483" LastEditDate="2013-10-25T14:22:50.870" LastActivityDate="2013-10-25T14:22:50.870" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="19514" PostTypeId="2" ParentId="17266" CreationDate="2013-10-24T10:20:04.623" Score="4" Body="&lt;p&gt;The thing you get wrong is &quot;we know that linearizability can be achieved in the asynchronous message passing system, while tolerating a minority of process crashes.&quot; We don't know that, and in fact it is wrong. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;What the quote from the JACM95 paper shows is that single-writer multi-reader registers can be implemented using message passing. And only this kind of registers, or any other objects that can be implemented (given a minority of crashes) from such registers. This includes for example multi-writer multi-reader registers (MWMR).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In contrast, &lt;em&gt;linearizability&lt;/em&gt; is not limited to objects that can be implemented using single-writer multi-reader registers. One example of such objects are those that support (atomic) Read-Modify-Write operations. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In fact as Attiya et al point out (Section 7) such objects cannot be implemented by MWMR registers precicely because they allow solving consensus (cf. Wait-free synchronization by Herlihy) and thus implementability would contradict the FLP result. &lt;/p&gt;&#xA;" OwnerUserId="4483" LastEditorUserId="4483" LastEditDate="2014-01-10T23:20:39.187" LastActivityDate="2014-01-10T23:20:39.187" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="19515" PostTypeId="1" AcceptedAnswerId="19521" CreationDate="2013-10-24T13:57:00.187" Score="2" ViewCount="74" Body="&lt;p&gt;I am trying to figure out a quick algorithm which solves the following problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the rest of this question, assume $0\in\mathbb{N}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Denote by $\mathbb{R}^\mathbb{N}$ the set of all real sequences and by $\mathbb{N}^\mathbb{N}$ the set of all natural sequences. The algorithm should emulate a function $F:\mathbb{R}^\mathbb{N}\to\mathbb{N}^\mathbb{N}$ which can be defined as follows: given a real sequence $\{x_n\}$, $F(\{x_n\}) = \{y_n\}$, where $y_n$ is the maximum natural number for which both $y_n\le n$ and $x_{n-i} &amp;lt; x_n$ for all $0&amp;lt;i\le y_n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The emulation is of the following sense: the algorithm should receive floats, one by one, and for the float $x_n$ return the integer $y_n$. By &lt;em&gt;quick&lt;/em&gt; I mean of linear speed. The naive algorithm is $O(n^2)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note: there is a similar (?) algorithm which for a given positive integer $n$, receives a sequence of floats and returns for each the maximal value among the last $n$ received values, which is linear.&lt;/p&gt;&#xA;" OwnerUserId="18115" LastActivityDate="2013-10-28T14:07:42.667" Title="Fast algorithm for linear context finding" Tags="&lt;online-algorithms&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19516" PostTypeId="1" CreationDate="2013-10-24T14:26:49.933" Score="7" ViewCount="163" Body="&lt;p&gt;This question is related to a previous unanswered &lt;a href=&quot;https://cstheory.stackexchange.com/questions/7903/complexity-of-tensor-rank-over-an-infinite-field&quot;&gt;question&lt;/a&gt; of mine.  Please see that question for background.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;When Håstad &lt;a href=&quot;http://www.nada.kth.se/~johanh/tensorrank.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;proved&lt;/a&gt; that computing tensor rank is NP-complete, the rank in question was allowed to be part of the input.  Specifically, given a Boolean formula with $n$ variables and $m$ clauses, Håstad constructed a tensor that has rank exactly $4n+2m$ if the formula is satisfiable and has some larger rank otherwise.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What if we fix the bound on the rank to some constant?  For example...&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What is the complexity of deciding if a tensor has rank at most 3?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The tensor should be defined over an infinite field, otherwise the problem is trivial (...only a finite number of things to check).  Answers for the natural infinite fields $\mathbb{Q}$, $\mathbb{R}$, and $\mathbb{C}$ would be best.  I am personally interested in this question using the complex numbers.&lt;/p&gt;&#xA;" OwnerUserId="3964" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2013-10-24T16:53:03.517" Title="Deciding bound on Tensor Rank for a fixed value" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;tensor-rank&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="19517" PostTypeId="2" ParentId="19282" CreationDate="2013-10-24T15:10:28.903" Score="7" Body="&lt;p&gt;I found a closely related problem in a &lt;a href=&quot;http://jgaa.info/accepted/2006/BodlaenderWolleKoster2006.10.1.pdf&quot;&gt;paper of Bodaender et. al.&lt;/a&gt;. They consider a problem called contraction degeneracy, i.e., the problem to decide for a given Graph $G$ and $k\in \mathbb{N}$ whether all minors of $G$ are $k$-degenerate. Now edge density over all subgraphs of a graph and degeneracy are very similar concepts (if a graph contains a subgraph of average degree $d$ then it also contains a subgraph of minimum degree $d/2$) and I think that their proof can be modified to show that the problem of finding a densest minor is NP-complete as well. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In fact I am quite happy with this paper because degeneracy is much nicer to work with - only natural numbers may appear as degeneracy, while the average degree over subgraphs may be any rational number. Also the paper provides a very short proof for fixed-parameter tractability using the graph minor theory of Robertson and Seymour. The class of graphs with contraction degeneracy at most $k$ is closed under taking minors and hence is described by a finite set of excluded minors. For fixed $k$ we hence have an algorithm for testing containment in the class which runs in time $O(n^3)$. &lt;/p&gt;&#xA;" OwnerUserId="17644" LastActivityDate="2013-10-24T15:10:28.903" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19518" PostTypeId="2" ParentId="19516" CreationDate="2013-10-24T16:53:03.517" Score="7" Body="&lt;p&gt;Testing for constant &lt;em&gt;border&lt;/em&gt;-rank can be done in polynomial-time, I'm pretty sure, if you're talking about tensors of fixed arity. More precisely, testing for border-rank $\leq r$ in $\mathbb{C}^{d_1} \otimes \dotsb \otimes \mathbb{C}^{d_k}$ can be done in something like $k(d_1 d_2 \dotsb d_k)^{2(r+1)}$ evaluations of $(r+1) \times (r+1)$ determinants plus some additional constant work (constant depending on $r$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Theorem 3.7.1.1 of &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0821869078&quot;&gt;Landsberg's tensor book&lt;/a&gt; (&quot;Inheritance&quot;) says that the equations for the variety of tensors of border-rank $\leq r$ in $\mathbb{C}^{d_1} \otimes \mathbb{C}^{d_2} \otimes \dotsb \otimes \mathbb{C}^{d_k}$ are given by the equations for border-rank $r$ in $\mathbb{C}^r \otimes \mathbb{C}^r \otimes \dotsb \otimes \mathbb{C}^r$ together with all $(r+1) \times (r+1)$ minors of flattenings. Since $r = O(1)$, there are only finitely many equations of the former type.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Border-rank 1 = rank 1, and more generally rank $\leq r$ implies border-rank $\leq r$. But border-rank 2 can have rank anywhere from $2$ to the arity $k$, and border-rank $3$ in arity 3 can have ranks 3, 4, or 5. Beyond that I don't know about testing for rank.&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2013-10-24T16:53:03.517" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="19519" PostTypeId="2" ParentId="19515" CreationDate="2013-10-24T19:08:45.420" Score="1" Body="&lt;p&gt;You can solve this in $O(n \lg^2 n)$ time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Build a (balanced) binary tree with $n$ nodes, where the leaves are annotated with the values $x_1,x_2,\dots,x_n$, and $x_i$ is placed on the $i$th leaf from the left.  Annotate each internal node $v$ in the tree with the maximum value over all the leaves in the subtree rooted at $v$.  For instance, the root is annotated with $\max(x_1,x_2,\dots,x_n)$.  The tree and the annotations can be built in $O(n)$ time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Next, note that, for any $j,k$, a sequence $x_j, x_{j+1}, \dots, x_k$ of consecutive leaves can be covered by some union of $O(\lg n)$ subtrees.  In particular, given any $j,k$, we can compute $\max(x_j,x_{j+1},\dots,x_k)$ in $O(\lg n)$ time, by traversing the tree and using the annotations on the internal nodes at the top of those $O(\lg n)$ subtrees.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, to compute $y_k$, we do a binary search to find the largest $j$ such that $\max(x_j,x_{j+1},\dots,x_{k-1})&amp;lt;x_k$ but $\max(x_{j-1},x_j,x_{j+1},\dots,x_{k-1})\ge x_k$.  Each iteration of the binary search takes $O(\lg n)$ time, and the binary search takes at most $O(\lg n)$ iterations, so this allows us to compute each $y_k$ in $O(\lg^2 n)$ time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, there are $n$ $y$-values that we want to compute, so the total running time is $O(n \lg^2 n)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This can be adjusted to work in an incremental/online/streaming fashion, with $O(\lg^2 n)$ running time per value of $x$ received, by tweaking the structure of the binary tree appropriately.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;It's possible you might be able to get a slightly better solution by using 2-D range trees, where you store the $n$ points $(i,x_i)$ in the tree (for $i=1,2,\dots,n$).  However, I'm not certain.&lt;/p&gt;&#xA;" OwnerUserId="5038" LastEditorUserId="5038" LastEditDate="2013-10-24T22:39:48.413" LastActivityDate="2013-10-24T22:39:48.413" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19520" PostTypeId="1" AcceptedAnswerId="19536" CreationDate="2013-10-24T20:17:35.127" Score="0" ViewCount="161" Body="&lt;p&gt;I think this should be a famous problem but I could not find its name.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have $n$ jobs with size $s_i$ that are offered at time $t_i$ and $k$ machines. &#xA;How can I assign jobs to machines to minimize the maximum finish time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I know that when the offering times $t_i$s are equal, this is a partition problem as it balances the jobs over machines. Also I know that there are approximation algorithms for that. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there any greedy algorithm (with approximation bound) for this generalized version?&lt;/p&gt;&#xA;" OwnerUserId="10188" LastActivityDate="2013-10-26T05:43:59.293" Title="Planning jobs as partition problem" Tags="&lt;approximation-algorithms&gt;&lt;partition-problem&gt;&lt;greedy-algorithms&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="19521" PostTypeId="2" ParentId="19515" CreationDate="2013-10-24T22:17:56.513" Score="1" Body="&lt;p&gt;You can solve this in $O(n \lg n)$ time through an appropriate use of interval trees.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm going to explain how to process the $x$'s in an incremental, streaming fashion.  So, suppose we've already received $x_1,\dots,x_n$.  Define the sequence $m_1,\dots,m_n$ by $m_i=\max(x_i,x_{i+1},\dots,x_n)$.  In previous processing, we'll have accumulated a data structure that summarizes the sequence $m_1,\dots,m_n$.  This data structure supports two kinds of operations:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;$\text{find}(\alpha)$: given a real number $\alpha$, return the largest index $i$ such that $m_i&amp;lt;\alpha$ but $m_{i-1}\ge \alpha$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;$\text{append}(x_{n+1})$: given the value of $x_{n+1}$, update the data structure to reflect that we've now received $x_1,\dots,x_{n+1}$.  In other words, the data structure should now summarize the sequence $m'_1,\dots,m'_{n+1}$ where $m'_i = \max(x_i,x_{i+1},\dots,x_{n+1})$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Given such a data structure, it is easy to see how to process the $x$'s in a streaming way.  When we receive $x_{n+1}$, we first set $y_{n+1} = \text{find}(x_{n+1})$ and then execute $\text{append}(x_{n+1})$ to update the data structure.  We iteratively repeat this for each $x$-value we receive.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm going to show a data structure that supports each of these two operations in $O(\lg n)$ time.  This shows that we solve this problem, for the sequence $x_1,\dots,x_n$, in $O(n \lg n)$ time.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;So, how do we build the data structure to represent the sequence $m_1,\dots,m_n$ and enable us to update it rapidly?  We'll use an interval tree.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider the mapping from $\{1,2,\dots,n\} \to \mathbb{R}$ given by $i \mapsto m_i$.  We want to represent this mapping efficiently.  We'll do this by actually building a mapping from a set of intervals to $\mathbb{R}$, where the intervals are disjoint and their union is $\{1,2,\dots,n\}$.  Whenever we have a consecutive sequence $j,j+1,\dots,k$ of indices that all map to the same value (i.e., where $m_j = m_{j+1} = \dots = m_k$), we'll collapse them into a single interval $[j,k]$.  The interval tree will record the mapping $[j,k] \mapsto m_j$, which is a compact way of representing the mapping $j \mapsto m_j$, $j+1 \mapsto m_j$, $\ldots$, $k \mapsto m_j$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose we've decomposed $\{1,2,\dots,n\}$ into $k$ intervals.  Our data structure will be a (balanced) binary tree with $k$ leaves, where each leaf corresponds to one of these $k$ intervals, and the leaves are in sorted order.  At each internal node, we'll record the interval that covers the union of intervals at all the leaves underneath that node.  Also, at each leaf, we'll record the corresponding value of $m$ (e.g., at the leaf for $[j,k]$, we'll record the value of $m_j$, which is of course the same as the value for $m_{j+1}$ and $\ldots$ and $m_k$).  At each internal node, we'll record the minimal and maximum values of $m$ at all of the leaves underneath that node.  This forms a binary search tree on intervals, where the search key at a node is the minimum $m$-value for the subtree rooted at that node.  Since the intervals are disjoint, everything is nice and clean.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Notice that the $m_i$'s are in decreasing order, i.e., $m_1\ge m_2 \ge \dots \ge m_n$.  This will help us implement both operations that the data structure needs to support.  In particular, we can think of the search key at a node as the index of the left endpoint of the interval covered by the subtree rooted at that node, or we can think of the search key as the maximum $m$-value for the subtree rooted at that node.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To implement $\text{find}(\alpha)$, it's easy to traverse the tree to find the rightmost interval whose $m$-value is smaller than $\alpha$.  Return the index $i$ of the left endpoint of this interval.  This operation can be implemented in $O(\lg n)$ time, since we only need to traverse the search tree from the root down to an appropriate leaf.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To implement $\text{append}(x_{n+1})$, we find the rightmost interval whose $m$-value is smaller than $x_{n+1}$ and let $i$ be the left endpoint of this interval.  Then, we delete this interval and every interval to its right from the interval tree.  Next, we add the interval $[i,n+1]$ to the interval tree, with $m$-value $x_{n+1}$.  Each of these steps can be done in $O(\lg n)$ time, so this operation can also be implemented in $O(\lg n)$ time.&lt;/p&gt;&#xA;" OwnerUserId="5038" LastEditorUserId="5038" LastEditDate="2013-10-28T14:07:42.667" LastActivityDate="2013-10-28T14:07:42.667" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19522" PostTypeId="1" AcceptedAnswerId="19653" CreationDate="2013-10-24T22:29:05.177" Score="3" ViewCount="97" Body="&lt;p&gt;I have been going through Eddie Farhi's 6-pages long pre-Adiabatic paper, &lt;a href=&quot;http://arxiv.org/abs/quant-ph/9612026&quot; rel=&quot;nofollow&quot;&gt;An Analog Analogue of a Digital Quantum Computation&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I guess I understand most of the math and physics but I am struggling with the intuitions used throughout the paper. Here are my questions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Introduction of $|r\rangle$ on page 3:&lt;/strong&gt;&#xA;I understand that $|r\rangle$ and $|w\rangle$ are orthonormal. But I don't see why the authors introduced this state.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Use of Norm in equation 17 on page 4:&lt;/strong&gt;&#xA;The equation is as follows.&#xA;$$\sum_w |||\Psi_w, t\rangle - |\Psi, t\rangle||^2 \ge N \varepsilon$$&#xA;There are more than one kind of norms. What kind of norm are we talking about here? Why? What is the physical significance of this quantity in this context?&lt;/p&gt;&#xA;" OwnerUserId="13408" LastActivityDate="2013-11-04T13:43:22.850" Title="Questions about Farhi's pre-Adiabatic paper" Tags="&lt;optimization&gt;&lt;quantum-computing&gt;&lt;quantum-information&gt;&lt;physics&gt;&lt;search-problem&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19523" PostTypeId="1" CreationDate="2013-10-24T23:11:17.753" Score="1" ViewCount="55" Body="&lt;p&gt;I don't know if this counts as an &lt;em&gt;objective&lt;/em&gt; question, but...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Say I have an image in RGB space $C=[0,1]^3$ and I wanted to resample it to a restricted palette of $P_1,\ldots,P_n\in C$: Would it be appropriate to check which Voronoi cell, generated by the $P$s and bounded by the edges of $C$, a particular colour fell in and then match that to its respective $P_i$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Clearly generating the Voronoi diagram for the $P$s would be a bit excessive; but if $n$ is relatively small, we could just check which $P_i$ is closest to an arbitrary colour in $C$. That would be pretty efficient.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT&lt;/strong&gt; It occurred to me that this method could be extended to also dither the image: Check the distances from your colour $x\in C$ to each $P_i$. If $x=P_i$, for some $i$, then we're good; otherwise, calculate the metric $d(x,P_i),\forall i$ and, &lt;em&gt;rather&lt;/em&gt; than choose the closest, weight them inverse-proportionally and then &quot;probabilistically&quot; pick one.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, restricting to $C=[0,1]$, we have $x=0.1$ and $P_1=0.01$, $P_2=0.3$. Then $\mathbb{P}(x\mapsto P_i) = d(x,P_i)^{-1}\div\sum_{j=1}^nd(x,P_j)^{-1}$; so $\mathbb{P}(x\mapsto P_1)\approx69\%$ and $\mathbb{P}(x\mapsto P_2)\approx31\%$.&lt;/p&gt;&#xA;" OwnerUserId="12872" LastEditorUserId="12872" LastEditDate="2013-10-25T09:25:03.747" LastActivityDate="2013-10-25T09:25:03.747" Title="Colourspace Quantisation using Voronoi Diagrams" Tags="&lt;image-processing&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="19524" PostTypeId="1" AcceptedAnswerId="19533" CreationDate="2013-10-24T23:56:06.373" Score="12" ViewCount="2240" Body="&lt;p&gt;Sean Anderson published &lt;a href=&quot;http://graphics.stanford.edu/~seander/bithacks.html#IntegerLogDeBruijn&quot; rel=&quot;noreferrer&quot;&gt;bit twiddling hacks&lt;/a&gt; containing the Eric Cole's algorithm to find the $\lceil\log_2 v \rceil$ of an $N$-bit integer $v$ in $O(\lg(N))$ operations with multiply and lookup.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The algorithm relies on a &quot;magic&quot; number from De Bruijn sequence.&#xA;Can anybody explain fundamental math properties of the sequence used here?&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;uint32_t v; // find the log base 2 of 32-bit v&#xA;int r;      // result goes here&#xA;&#xA;static const int MultiplyDeBruijnBitPosition[32] = &#xA;{&#xA;  0, 9, 1, 10, 13, 21, 2, 29, 11, 14, 16, 18, 22, 25, 3, 30,&#xA;  8, 12, 20, 28, 15, 17, 24, 7, 19, 27, 23, 6, 26, 5, 4, 31&#xA;};&#xA;&#xA;v |= v &amp;gt;&amp;gt; 1; // first round down to one less than a power of 2 &#xA;v |= v &amp;gt;&amp;gt; 2;&#xA;v |= v &amp;gt;&amp;gt; 4;&#xA;v |= v &amp;gt;&amp;gt; 8;&#xA;v |= v &amp;gt;&amp;gt; 16;&#xA;&#xA;r = MultiplyDeBruijnBitPosition[(uint32_t)(v * 0x07C4ACDDU) &amp;gt;&amp;gt; 27];&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;" OwnerUserId="18122" LastEditorUserId="18122" LastEditDate="2013-10-26T17:11:36.543" LastActivityDate="2020-12-14T06:34:31.630" Title="Using the de Bruijn sequence to find the $\lceil\log_2 v \rceil$ of an integer $v$" Tags="&lt;nt.number-theory&gt;&lt;comp-number-theory&gt;" AnswerCount="3" CommentCount="4" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="19526" PostTypeId="1" AcceptedAnswerId="19552" CreationDate="2013-10-25T02:30:49.330" Score="4" ViewCount="966" Body="&lt;p&gt;If I have a set S = {1,2,3,4,5} that represents a universe and the following subsets of S: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;U1 = {1,2}&lt;/p&gt;&#xA;&#xA;&lt;p&gt;U2 = {3,4,5}&lt;/p&gt;&#xA;&#xA;&lt;p&gt;C1 = {3,5}&lt;/p&gt;&#xA;&#xA;&lt;p&gt;C2 = {2}&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The above sets are guaranteed to be subsets of S, however they may not be subsets of each other. To check if C1 is subset of U2 I need to iterate through both sets and check if all elements of C1 are in U2.  In this case 3 and 5 are elements of U2 thus C1 is a subset of U2.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;But this operation is O(n) at best if you keep everything sorted.  I'm wondering, is it possible to select the elements of S wisely or construct a data structure in such a way to perform fast (like O(1)) subset check operations ? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If this means I need to look into parallel algorithms I am open to that as well. &lt;/p&gt;&#xA;" OwnerUserId="9422" LastActivityDate="2013-11-15T14:41:08.977" Title="How to construct a special data structure that allows for &quot;fast&quot; subset operation?" Tags="&lt;set-theory&gt;" AnswerCount="3" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="19527" PostTypeId="2" ParentId="19526" CreationDate="2013-10-25T05:59:40.223" Score="1" Body="&lt;p&gt;Here's one heuristic that might help in some practical situations:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Store the $U$ sets in sorted order, or for each $U$ set keep a hashtable of the elements of the set.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To test whether $C_i$ is a subset of $U_j$, select a few elements at random from $C_i$.  For each selected element $x$, test whether $x \in U_j$.  If $x \notin U_j$, you can immediately answer &quot;No, $C_i$ is not a subset of $U_j$&quot;: you can answer the answer quickly.  If $x \in U_j$ for each selected element, then there's no shortcut: you have to compare all the elements, for a running time of $O(|C_i| \lg |U_j|)$ or $O(|C_i|)$ (depending upon whether you have sorted lists or a hashtable).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This doesn't help if what you care about is worst-case performance.  But if you have a practical application, depending upon how the sets you're dealing with are formed, you might find it helpful.&lt;/p&gt;&#xA;" OwnerUserId="5038" LastActivityDate="2013-10-25T05:59:40.223" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19528" PostTypeId="2" ParentId="19508" CreationDate="2013-10-25T07:03:18.893" Score="8" Body="&lt;p&gt;For any $k$ there is a fairly simple $f(k)n^{\lceil k/2 \rceil+3}$ time algorithm by &lt;a href=&quot;http://www.math.ias.edu/files/Vassilevska%20Subgraphs.pdf&quot;&gt;Vassilevska Williams and Williams&lt;/a&gt;.&#xA;The asymptotically fastest exact algorithm known AFAIK is &lt;a href=&quot;http://arxiv.org/abs/1306.4111&quot;&gt;Björklund, Kaski, and Kowalik&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="679" LastEditorUserId="679" LastEditDate="2013-10-25T07:11:17.823" LastActivityDate="2013-10-25T07:11:17.823" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19533" PostTypeId="2" ParentId="19524" CreationDate="2013-10-25T20:00:18.763" Score="10" Body="&lt;p&gt;First note that this algorithm only computes $\lceil \log_2 v \rceil$, and as the code is written, it works only for $v$ that fit in a $32$-bit word.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The sequence of shifts and or-s that appears first has the function of propagating the leading 1-bit of $v$ all the way down to the least significant bit. Numerically, this gives you $2^{\lceil \log_2 v \rceil} - 1$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The interesting part is the de Bruijn trick, which comes from this paper of &lt;a href=&quot;http://supertech.csail.mit.edu/papers/debruijn.pdf&quot;&gt;Leiserson, Prokop and Randall&lt;/a&gt; (apparently MIT professors spend time doing bit hacks :) ). What you need to know about &lt;a href=&quot;http://en.wikipedia.org/wiki/De_Bruijn_sequence&quot;&gt;de Bruijn sequences&lt;/a&gt; is that they represent all possible sequences of a given length in a way that's as compressed as possible. Precisely, a de Brujn sequence over the alphabet $\{0, 1\}$ is a binary string $s$ of length $2^k$ such that each length $k$ binary string appears exactly once as a contiguous substring (wrap around is allowed). The reason this is useful is that if you have a number $X$ whose bit representation is a de Bruijn sequence (padded with $k$ zeros), then the top $k$ bits of $2^iX$ uniquely identify $i$ (as long as $i &amp;lt;k$). &lt;/p&gt;&#xA;" OwnerUserId="4896" LastEditorUserId="4896" LastEditDate="2013-10-25T20:11:15.280" LastActivityDate="2013-10-25T20:11:15.280" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="19534" PostTypeId="1" CreationDate="2013-10-25T20:22:02.953" Score="5" ViewCount="196" Body="&lt;p&gt;Let $M=(\Sigma,S,s_0,\delta)$ be an (unknown) deterministic finite-state automaton (DFA), with alphabet $\Sigma$, statespace $S$, start state $s_0 \in S$, and transition relation $\delta$.  I want to explore $M$, i.e., visit every state of $M$, or as many states as possible.  Unfortunately, I'm not given $M$; I only have the ability to send inputs to $M$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In particular, what I can do is specify some input strings $x,y,\dots \in \Sigma^*$.  The string $x$ will drive $M$ down some path, namely, down the sequence of states $s_0,s_1,s_2,\dots$ where $s_{i+1} = \delta(s_i,x_i)$.  I can specify as many input strings as I want.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The cost to me is the sum of the lengths of the input strings.  In other words, each transition costs me \$1.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The benefit to me is the fraction of $M$'s states that are visited at least once in response to at least one of these input strings.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have complete freedom to choose the set of input strings, but I am not given any feedback (I can't see the sequence of states that $M$ follows, I don't learn when I've visited a new state, etc.).  I'm hoping to get as much coverage of $M$'s statespace as possible.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;How should I choose the set of input strings to maximize the coverage while minimizing the cost?  For instance, given a fixed budget, what's the best set of input strings that will give the best benefit?  Is there a reasonable strategy, or any theory to help guide the choice of input strings?&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Of course, I realize that the worst-case coverage, taken over all possible DFAs, might be very poor.  But I would be satisfied with any approach that one can argue is close to optimal, in any meaningful sense.  For instance, maybe one metric might be to use a regret ratio, where the regret of strategy 1 compared to strategy 2 is the maximum, over all DFA's $M$, of the benefit of strategy 2 on $M$ divided by the benefit of strategy 1 on $M$.  Or maybe you can suggest some other way to formulate this in a principled way that admits an interesting solution.  I'm open to suggestions about how to formulate the problem in a way that permits analysis.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If it's helpful, I'll promise that the alphabet is small (say, $|\Sigma| \le 10$), the number of states is not too large (say, $|S| \le 1000$), and the diameter of the graph is small (say, at most 10).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm also interested in the variant where $M$ is a NFA instead of a DFA, but I thought I'd start with the simpler case. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is an attempt at an application of theory to practice.  The application is randomized testing of UI-driven applications, where we think of the application as a DFA and the inputs represent user actions (e.g., tapping on a particular portion of the screen).  The problem above is an idealization of the problem where we don't get any feedback as we go (which is motivated by the fact that it's not trivial to observe anything reliable about the state of the application).&lt;/p&gt;&#xA;" OwnerUserId="5038" LastEditorUserId="5038" LastEditDate="2013-10-25T22:12:05.180" LastActivityDate="2015-12-26T21:07:12.530" Title="Exploring a DFA, with no feedback" Tags="&lt;ds.algorithms&gt;&lt;application-of-theory&gt;&lt;ai.artificial-intel&gt;&lt;heuristics&gt;&lt;dfa&gt;" AnswerCount="0" CommentCount="8" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19536" PostTypeId="2" ParentId="19520" CreationDate="2013-10-26T05:11:36.407" Score="0" Body="&lt;p&gt;I found the solution of the solution of this algorithm in this book: &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/1584883979&quot; rel=&quot;nofollow&quot;&gt;Handbook of Scheduling: Algorithms, Models, and Performance Analysis&lt;/a&gt; . &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;In Theorem 3.4, they show an optimal algorithm for the preemptive case.&lt;/li&gt;&#xA;&lt;li&gt;The largest processing time first algorithm has worst case bound of $\frac{4}{3} − \frac{1}{3k} $ if $t_i=0, \forall i$ for non-preemptive case&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I will apply this largest processing time first to the general case and see how it works in practice.&lt;/p&gt;&#xA;" OwnerUserId="10188" LastEditorUserId="10188" LastEditDate="2013-10-26T05:43:59.293" LastActivityDate="2013-10-26T05:43:59.293" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19538" PostTypeId="1" AcceptedAnswerId="19545" CreationDate="2013-10-26T14:04:15.740" Score="10" ViewCount="1372" Body="&lt;p&gt;I am now trying to understand better what &quot;abstract interpretation&quot; in programming languages are. I found a good book chapter that explains the idea of extending the domain with a least fixed element, the four axioms that yield a fixed point for a continuous function, and so on. I understand these technical details (though I am not quite sure what is &quot;abstract interpretation&quot; exactly referring to in this whole scheme).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What I am not sure about is what motivates the use of abstract interpretation? Is it just identifying fixed points for computable functions? Is the main motivation coming from having recursion in most programming languages?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Would also be glad to get some high-level overview which does go technically deep enough for someone who has a degree in computer science. I find the Wikipedia page rather unsettling.&lt;/p&gt;&#xA;" OwnerUserId="18137" LastEditorUserId="4155" LastEditDate="2013-11-19T08:38:25.190" LastActivityDate="2013-11-19T08:38:25.190" Title="What is the goal behind abstract interpretation in programming languages?" Tags="&lt;pl.programming-languages&gt;&lt;program-analysis&gt;" AnswerCount="2" CommentCount="4" FavoriteCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="19539" PostTypeId="1" CreationDate="2013-10-26T15:35:11.123" Score="8" ViewCount="217" Body="&lt;p&gt;A subgraph $H$ of a given graph $G$ is called a biclique of $G$ if $H$ is a complete bipartite graph.  Given a graph $G$, finding a maximum edge biclique is known to be NP-complete (&lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0166218X03003330&quot;&gt;Peeters&lt;/a&gt;, &lt;em&gt;Discrete Applied Mathematics&lt;/em&gt; 131, pages 651-654, 2003).  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In fact, it is also known that it is unlikely we can obtain an $n^{\delta}$-approximation for this problem in polynomial time, for some constant $\delta &amp;gt; 0$ (&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.3.8586&quot;&gt;Feige&lt;/a&gt;, STOC 2002; Goerdt and Lanka, ECCC 2004; Ambuhl, Mastrolilli, and Svensson SICOMP 2011).  These results hold even when $G$ is bipartite.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I was wondering whether any results are known for finding the maximum edge biclique in &lt;em&gt;co-comparability graphs&lt;/em&gt;.  There are several equivalent definitions of a co-comparability graph.  One of them is a graph whose vertices are the elements of a partial order, and the edges are given by pairs of elements that are incomparable in the partial order.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Specific questions:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(1) Is the maximum edge biclique problem polynomially solvable for co-comparability graphs?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(2) If no polynomial time optimal algorithm is known, what is the best approximation algorithm known?&lt;/p&gt;&#xA;" OwnerUserId="18138" LastActivityDate="2013-10-26T15:35:11.123" Title="Complexity and approximability of maximum edge biclique problem on co-comparability graphs" Tags="&lt;cc.complexity-theory&gt;&lt;graph-algorithms&gt;&lt;approximation-algorithms&gt;" AnswerCount="0" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19540" PostTypeId="2" ParentId="19538" CreationDate="2013-10-26T18:42:53.633" Score="7" Body="&lt;p&gt;I agree that it's often hard to extract the main point from all those details. (In fact, my big issue with every treatment of abstract interpretation I've seen is that they present so much machinery without motivating it.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here's how I think of it:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Abstract interpretation is running programs, approximately, on large sets of inputs all at once.&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This doesn't cover everything, but it holds up well in general.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The canonical example is evaluating arithmetic expressions to determine the sign of the result. You can imagine a hypothetical, infinitely fast machine that can evaluate an expression on every positive input and return the set of results. If you had one of those, you could in principle determine things like &quot;this program returns positive numbers when given positive numbers.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But of course you don't actually have that machine. You're stuck in real life, so you have to either do the same thing &lt;em&gt;symbolically&lt;/em&gt;, which can give exact answers sometimes but often fail, or &lt;em&gt;approximately&lt;/em&gt;, in a way that always returns answers but they may not be exact. The latter is what abstract interpretation does.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can't even represent the set of all positive numbers directly. Instead, you need an &lt;em&gt;abstraction&lt;/em&gt; of that set. You also need to abstract the negative numbers and zero. You end up with a family of finite &lt;em&gt;abstract&lt;/em&gt; sets $\{neg,zero,pos\}$, that represent the &lt;em&gt;concrete&lt;/em&gt; sets $\{\{...,-2,-1\},\{0\},\{1,2,...\}\}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now you can come up with rules, such as &quot;adding two positive numbers results in a positive number,&quot; or $add : pos \times pos \to pos$. Come up with rules for each of your language primitives, and you can pretend to evaluate arithmetic expressions on large sets of inputs all at the same time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course, the &quot;adding a positive and a negative number&quot; rule will give you trouble, because additions like that can return anything. The abstract interpretation framework helps you out, here: it says you should return a &lt;em&gt;sound&lt;/em&gt; approximation that is as tight as possible. If your rules are sound, and they say addition returns something in an abstract set, any concrete evaluation should return a number in the corresponding concrete set. For example, the $add : pos \times pos \to pos$ rule is sound if $add(a,b)$ is positive for every positive $a$ and $b$. Also, $pos \times neg \to (pos \sqcup zero \sqcup neg)$ is sound, where &quot;$\sqcup$&quot; is your abstract sets' union operation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I believe even the youngest PL researcher could code up an abstract interpretation like this in an afternoon. It's actually not that hard, and you should try it before reading much more to get a feel for the basics. While you do, you'll discover that your abstract sets need some notion of intersection (denoted &quot;$\sqcap$&quot;) and subset (denoted &quot;$\sqsubseteq$&quot;). They should correspond with concrete intersection and subset.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;When you want to prove that your abstract interpretation is as tight as possible, you'll want a &lt;em&gt;Galois connection&lt;/em&gt; to formalize this correspondence. Just having one ensures that, for any given concrete set, a tightest abstract set exists.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;When you want to work with a language with loops or recursion, your programs may not terminate, so you'll need a $\bot$ value to represent nontermination. You'll need to &quot;compute&quot; (in a mathematical sense) concrete functions as fixpoints, and compute abstract functions similarly. If you have higher-order functions, you'll find that typical topological machinery doesn't handle them at all (higher-order application is generally not continuous), and need Scott domains.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;IOW, what you've identified as the motivation for abstract interpretation is really the motivation for the machinery required for doing abstract interpretation on Turing-equivalent languages. The actual motivation is usefully summarizing the behavior of programs by running them on many inputs at once.&lt;/p&gt;&#xA;" OwnerUserId="3644" LastEditorUserId="3644" LastEditDate="2013-10-26T18:54:40.383" LastActivityDate="2013-10-26T18:54:40.383" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19541" PostTypeId="1" AcceptedAnswerId="19654" CreationDate="2013-10-26T19:38:28.273" Score="0" ViewCount="92" Body="&lt;p&gt;&lt;em&gt;[This might be related to one of my &lt;a href=&quot;https://cstheory.stackexchange.com/questions/19522/questions-about-farhis-pre-adiabatic-paper&quot;&gt;previous unanswered questions&lt;/a&gt;.]&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This proof belongs to the paper, &lt;a href=&quot;http://arxiv.org/abs/quant-ph/0512159&quot; rel=&quot;nofollow noreferrer&quot;&gt;How to Make the Quantum Adiabatic Algorithm Fail&lt;/a&gt; by Edward Farhi, Jeffrey Goldstone, Sam Gutmann and Daniel Nagaj. It is the theorem 1 on page 3. The theorem is as follows.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Let $H_P$ be diagonal in the $z$ basis with a ground state subspace of&#xA;  dimension $k$. Let &lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;$$ H(t) = \left(1 - \frac{t}{T} \right) E \left( \mathbb{I} -&#xA;&amp;gt; |s\rangle \langle s|  \right) + \left( \frac{t}{T} \right) H_P $$ .&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;Let $P$ be the projector onto the ground state subspace of $H_P$ and&#xA;  let $b &amp;gt; 0$ be the success probability, that is, $b = \langle \Psi (T)&#xA;&amp;gt; | P | \Psi (T) \rangle $. Then&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;$$ T \ge \frac{b}{E} \sqrt{\frac{N}{k}} - \frac{2 \sqrt{b}}{E} $$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;As the proof proceeds I can't really follow it completely.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, there are three equations at the bottom of page 3 which evaluates $S(t)s$. As per the paper $S(t)$ is the sum on $x$. But the expression looks to involve norms. I understand that there are more than one kind of norms. What kind of norm are we talking about here? Why? What is the physical significance of this quantity in this context?&lt;/p&gt;&#xA;" OwnerUserId="13408" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2013-11-04T13:56:17.860" Title="Confusion with the proof of constraints for a particular adiabatic quantum evolution" Tags="&lt;cc.complexity-theory&gt;&lt;quantum-computing&gt;&lt;quantum-information&gt;&lt;physics&gt;&lt;norms&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19542" PostTypeId="1" CreationDate="2013-10-26T21:14:42.783" Score="4" ViewCount="188" Body="&lt;p&gt;Notations&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;$\alpha(G) = $  Max sized independent set of graph $G$.&lt;/li&gt;&#xA;&lt;li&gt;$n(G) = $ Number of vertex in graph $G$.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Theorem&lt;/em&gt; (by Ajtai et al.): For a &lt;a href=&quot;http://en.wikipedia.org/wiki/Triangle-free_graph&quot; rel=&quot;nofollow&quot;&gt;triangle-free&lt;/a&gt; graph $G$ and max degree being $\Delta$,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\alpha(G) \geq \frac{n(G)}{8\Delta}\log_2\Delta.$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For a general graph, $\alpha(G) \geq n(G)/(\Delta+1)$, hence the above result is an improvement by a factor of $\log_2\Delta$. The proof of the above theorem is solely based on the triangle-free property of the graph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;My question&lt;/strong&gt;: Can one obtain $\alpha(G)$ better than $n(G)/(\Delta+1)$ for graphs with only &lt;strong&gt;few&lt;/strong&gt; triangles? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT 1&lt;/strong&gt; - I am looking for solutions where number of triangles, $t=O(n)$.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;&lt;strong&gt;EDIT 2&lt;/strong&gt;&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;In the &lt;a href=&quot;http://arxiv.org/pdf/math.CO/0404325&quot; rel=&quot;nofollow&quot;&gt;paper&lt;/a&gt;, lemma 6 has the following result.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Theorem&lt;/em&gt; : For a graph $G$ having maximum degree $\Delta$ and having at most T triangles,&#xA;$$\alpha(G) \geq \frac{n(G)}{10\Delta}\Bigg(\log_2\Delta - \frac{1}{2}\log_2\Big(\frac{T}{n(G)}\Big)\Bigg)$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But I am not able to find the proof for the above theorem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT3:&lt;/strong&gt; Thje proof can be found in &quot;Random Graphs , 2nd edition&quot;, pg 332.&lt;/p&gt;&#xA;" OwnerUserId="16261" LastEditorUserId="16261" LastEditDate="2014-03-20T17:15:38.117" LastActivityDate="2014-03-20T17:15:38.117" Title="Size of Independent set of sparse graphs with few triangles" Tags="&lt;reference-request&gt;&lt;graph-algorithms&gt;&lt;approximation-algorithms&gt;" AnswerCount="0" CommentCount="7" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19545" PostTypeId="2" ParentId="19538" CreationDate="2013-10-27T07:20:31.117" Score="17" Body="&lt;p&gt;Abstract interpretation is a very general concept and depending on whom you ask, you will receive different explanations because versatile concepts admit multiple perspectives. The view in this answer is mine and I would not assume it is general.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Computational hardness as a motivation&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let's start with decision problems, whose solutions have a structure like this:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/IMFNR.png&quot; alt=&quot;decision problem&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is often an NP-hard lower bound on the procedure. Checking semantic properties of programs is even undecidable. What can we do?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let's make two observations. First, we can sometimes solve specific problem instances even if we cannot solve the general problem. Second, applications like compiler optimization tolerate approximation in that a compiler that eliminates some but not all sources of inefficiency is useful. To make this intuition precise, we must answer:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;What does it mean formally to solve some, but not all problem instances?&lt;/li&gt;&#xA;&lt;li&gt;What is an approximate solution to a decision problem?&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Abstract Interpretation Idea 1: Change the Problem Statement&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To me, a major insight of abstract interpretation is to change the problem formulation so that instead of asking for a &lt;em&gt;Yes/No&lt;/em&gt; answer, we ask for a &lt;em&gt;Yes/No/Maybe&lt;/em&gt; answer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/AuURN.png&quot; alt=&quot;yes-no-maybe&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As a consequence, every problem has a trivial, constant time solution (output &lt;em&gt;Maybe&lt;/em&gt;). We can now shift our attention to deriving a procedure that does not always produce &lt;em&gt;Maybe&lt;/em&gt;. To return to the questions above, a solution that works for some problem instances is one that returns &lt;em&gt;Maybe&lt;/em&gt; on problems it cannot solve. Moreover, &lt;em&gt;Maybe&lt;/em&gt; is an approximation of &lt;em&gt;Yes&lt;/em&gt; and &lt;em&gt;No&lt;/em&gt;  because we are not certain what the answer is. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This idea is not restricted to decision problems. Consider these problems concerning programs.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Which lines of code in the program are dead (will never be executed)?&lt;/li&gt;&#xA;&lt;li&gt;Which variables in the program have constant values?&lt;/li&gt;&#xA;&lt;li&gt;Which assertions in the program are violated?&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;In all these situations, we can move from an exact solution to an approximate one by considering solutions that have some uncertainty.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;What is &lt;em&gt;a set&lt;/em&gt; of lines of code that is dead? &lt;/li&gt;&#xA;&lt;li&gt;What is &lt;em&gt;a set&lt;/em&gt; of variables in the program that have constant values?&lt;/li&gt;&#xA;&lt;li&gt;What is &lt;em&gt;a set&lt;/em&gt; of assertions in the program that is not violated?&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;The sets produced need not be the largest. This idea is extremely general and applies to problems that have little to do with program analysis.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Instead of adding $m$ and $n$, we can ask for a range $[a,b]$ in which the sum lies. &lt;/li&gt;&#xA;&lt;li&gt;Instead of multiplying $m$ by $n$ we can ask for $k$ bits of the result (specific, common examples are the sign or the parity bit).&lt;/li&gt;&#xA;&lt;li&gt;Instead of asking for the satisfying assignments to a formula, we can ask for a set that contains the satisfying assignments. &lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Note that we have not only changed the problem but also strictly generalized it because a solution to the original problem is still a solution to the modified problem. The big unanswered question now is: How can we find an approximate solution?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Abstract Interpretation Idea 2: Fixed Point Characterization of the Original Solutions&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The second big idea is to observe that &lt;em&gt;the set of solutions&lt;/em&gt; to many problems has a characterization as a fixed point in a lattice of candidate solutions. As an example, suppose you have a graph and you want to know if a vertex $t$ is reachable from a vertex $s$. We can break this down into finding the set $\mathit{Reach}(s)$ of all vertices reachable from $s$ and then checking if $t$ is in this set. We can further observe that $\mathit{Reach}(s)$ is the least solution to the equation:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;$X = \{s\} \cup \{ w ~|~ v \text{ is in } X \text{ and } (v,w) \text{ is an edge}\}$&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The value of a fixed point characterization is that the exact solution can be viewed as the limit of a series of approximations. In this example, the $n$-th element of the series is the set of graph vertices reachable in $n$ steps from $s$ and approximation is a subset of these vertices. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The fixed point characterization is a design decision. There are many different characterizations of a set of solutions. Each of them may have different advantages. In the case of programming languages, we have more structure than just dealing with a graph. The fixed point equations we care about can be defined by &lt;em&gt;induction on structure&lt;/em&gt; of the input program. This idea is not specific to programs. When applying abstract interpretation to elements of a structured language such as a grammar, logical formula, program, arithmetic expression, etc. we can define fixed points by induction on the structure of some syntactic object.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By giving this fixed point characterization, we are committing to a specific way of computing solutions. We will not actually calculate this fixed point because it is at least as hard as solving the original problem, which brings us to the next step.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Abstract Interpretation Idea 3: Fixed Point Approximation&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Instead of computing a fixed point of a function $F$ in a lattice $L$, we can compute a fixed point of another function $G$ in a lattice $M$. Provided certain conditions are met relating $M$ to $L$, a solution computed in $M$ is guaranteed to be an approximation of the solution in $L$. This is one of the foundational results of abstract interpretation, usually called the &lt;em&gt;fixed point transfer theorem&lt;/em&gt;. The soundness condition is given either by Galois connections, or weaker settings involving abstraction or concretization functions, or soundness relations. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The fixed point transfer theorem guarantees that you do not have to prove that you are computing a sound approximation every time you design an approximate analysis. You only have to prove that the lattices $L$ (containing original solutions) and $M$ (containing approximations)  and the functions $F$ and $G$ satisfy certain constraints. This is a big win if you are the designer of an analysis and you care about soundness.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You may find the intuition behind fixed point transfer insightful. We can think of a fixed point as the limit of a (possibly transfinite) chain of elements. Computing approximate solutions amounts to approximating this limit, which we can do by approximating elements of the chain.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The notion of approximation depends on the application. If you are using graph reachability to plan a trip, you may accept an approximation that tells you there is no path between $s$ and $t$ even if there is a path, but you will not be happy if the algorithm says there is a path from $s$ to $t$ where there is no path. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Abstract Interpretation Idea 4: Fixed Point Approximation Algorithms&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Everything seen so far has been a mathematical existence result. The final step is to compute the approximation. When the lattice of approximations is finite (or if the ascending/descending chain condition is met), we can use a simple iterative procedure. If the lattice is infinite an iterative procedure may not suffice, though computing a fixed point may still be decidable. In this situation, many techniques are used to further approximate the solution, or to jump to an exact solution faster than a naive iteration algorithm. In the context of computing a solution, you hear terms like &lt;em&gt;widening&lt;/em&gt;, &lt;em&gt;narrowing&lt;/em&gt;, &lt;em&gt;strategy iteration&lt;/em&gt;, &lt;em&gt;acceleration&lt;/em&gt;, etc.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Summary&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In my opinion, abstract interpretation provides a mathematical basis for the notion of abstraction in the same way that mathematical logic provides a mathematical basis for reasoning. The solutions to many problems we care about have characterizations as fixed points. This observation is not restricted to programming language problems and even to computer science. Approximate solutions can be characterized as approximations of fixed points and are computed with specialized algorithms. These characterizations and algorithms will exploit the structure of the problem instance. In the case of programs, this structure is given by the syntax of the language.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Computing approximations to problems that do not have a natural metric is an art constantly developed and refined by practitioners. Abstract interpretation is one mathematical theory for the science behind this art.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;References&lt;/strong&gt;&#xA;There are several good tutorials on abstract interpretation that you can read.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.di.ens.fr/~cousot/publications.www/slides-public/PCousot-SBFM-2012-4-1.pdf&quot; rel=&quot;noreferrer&quot;&gt;A casual introduction to Abstract Interpretation&lt;/a&gt;, Patrick Cousot (Joint work with Radhia Cousot), Workshop on Systems Biology and Formals Methods (SBFM'12)&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.di.ens.fr/~cousot/publications.www/CousotCousot-Marktoberdorf-2009.pdf&quot; rel=&quot;noreferrer&quot;&gt;A gentle introduction to formal verification of computer systems by abstract interpretation&lt;/a&gt;, Patrick and Radhia Cousot, Marktoberdorf Summer School 2010.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://web.mit.edu/16.399/www/lecture_13-abstraction1/Cousot_MIT_2005_Course_13_4-1.pdf&quot; rel=&quot;noreferrer&quot;&gt;Lecture 13: Abstraction Part I&lt;/a&gt;, Patrick Cousot, Abstract interpretation, MIT Course.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.cs.berkeley.edu/~necula/cs263/handouts/AbramskiAI.pdf&quot; rel=&quot;noreferrer&quot;&gt;Introduction to Abstract Interpretation&lt;/a&gt;, Samson Abramsky and Chris Hankin, Abstract Interpretation of Declarative Languages, 1987.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.di.ens.fr/~cousot/COUSOTpapers/JLP92.shtml&quot; rel=&quot;noreferrer&quot;&gt;Abstract interpretation and application to logic programs&lt;/a&gt;, Patrick and Radhia Cousot, 1992. The first two sections have a general, high-level overview with several examples.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="4155" LastEditorUserId="4155" LastEditDate="2013-10-27T07:50:47.327" LastActivityDate="2013-10-27T07:50:47.327" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19547" PostTypeId="1" CreationDate="2013-10-27T13:15:10.470" Score="-1" ViewCount="167" Body="&lt;p&gt;I need to use a Multi Layer Perceptron Network in order to perform some non-linear regression.&#xA;Any ideas if it's possible to perform a task like that and how? Which activation function should be used for that purpose?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;thanks!&lt;/p&gt;&#xA;" OwnerUserId="18144" LastEditorUserId="18144" LastEditDate="2013-10-27T13:22:26.183" LastActivityDate="2013-11-27T10:40:09.797" Title="Is a traditional Multi Layer Perceptron Network capable of non-linear regression? Which activation function should be used for that purpose?" Tags="&lt;machine-learning&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="19548" PostTypeId="1" CreationDate="2013-10-27T15:22:11.420" Score="15" ViewCount="1604" Body="&lt;p&gt;Is there some natural way to understand the essence of relational semantics for parametric polymorphism? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have just started reading about the notion of relational parametricity, a la John Reynolds' &quot;Types, Abstraction and Parametric Polymorphism&quot;, and I am having trouble understanding how the relational semantics is motivated.  Set semantics makes perfect sense to me, and I realise that set semantics is insufficient to describe parametric polymorphism, but the leap to relational semantics seems to be magic, coming completely out of nowhere.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there some way of explaining it along the lines &quot;Assume relations on the base types and terms, and then the interpretation of the derived terms is just the natural relationship between &lt;em&gt;...such and such a natural thing...&lt;/em&gt; in your programming language&quot;?  Or some other natural explanation?&lt;/p&gt;&#xA;" OwnerUserId="18145" LastActivityDate="2019-11-27T16:15:40.433" Title="How can relational parametricity be motivated?" Tags="&lt;type-theory&gt;&lt;parametricity&gt;" AnswerCount="3" CommentCount="0" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="19550" PostTypeId="1" CreationDate="2013-10-27T18:01:22.633" Score="5" ViewCount="165" Body="&lt;p&gt;I'm familiar with the correspondence between combinatory logic and $\lambda$-calculus at equality level, ie $=_{\beta\eta}$ corresponds to $=_s$ (the equivalence relation generated by strong reduction) and that there is also a combinatory equality $=_{C\beta}$ corresponding to $=_\beta$ in $\lambda$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, I'm having trouble understanding what happens at reduction level. In particular, is it true that Curry's strong reduction corresponds to $\rightarrow_{\beta\eta}$? For instance, could we use strong reduction to &quot;evaluate&quot; (up to $\beta\eta$) $\lambda$-terms? Also, if I understand correctly, is it even harder to come up with a combinatory reduction equivalent to $\rightarrow_\beta$?&lt;/p&gt;&#xA;" OwnerUserId="18146" LastActivityDate="2015-08-28T11:57:42.943" Title="Is combinatory strong reduction equivalent to lambda beta-eta reduction?" Tags="&lt;lambda-calculus&gt;&lt;combinatory-logic&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19551" PostTypeId="1" AcceptedAnswerId="21203" CreationDate="2013-10-27T18:09:38.433" Score="14" ViewCount="360" Body="&lt;p&gt;Can a standard two counters ($c_1,c_2$) machine with the following instructions:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;1) ADD 1 to c_i, GOTO label_j&#xA;2) IF c_i = 0 GOTO label_j, OTHERWISE SUB 1 to c_i and GOTO label_k&#xA;3) GOTO label_j&#xA;4) HALT and ACCEPT|REJECT&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;decide the following language:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$L = \{ n^2 \mid n \geq 1 \}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(the input is initially loaded in the counter $c_1$)?.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is it still an open problem? (cf. Rich Schroeppel, &quot;A Two counter Machine Cannot Calculate $2^N$&quot; [1972])&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="109" LastEditDate="2014-03-02T23:01:13.687" LastActivityDate="2014-03-02T23:01:13.687" Title="Can a two counters machine decide $n^2$?" Tags="&lt;fl.formal-languages&gt;&lt;counter-automata&gt;" AnswerCount="1" CommentCount="7" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19552" PostTypeId="2" ParentId="19526" CreationDate="2013-10-27T18:19:37.990" Score="2" Body="&lt;p&gt;Represent sets as &lt;a href=&quot;http://en.wikipedia.org/wiki/Bit_array&quot; rel=&quot;nofollow&quot;&gt;Bit Sets&lt;/a&gt;. Java has &lt;a href=&quot;http://docs.oracle.com/javase/7/docs/api/java/util/BitSet.html&quot; rel=&quot;nofollow&quot;&gt;built-in&lt;/a&gt; implementation. A is subset of B if A &amp;amp; B = A. These operations on bit sets are fast (O(1) ).&lt;/p&gt;&#xA;" OwnerUserId="15538" LastActivityDate="2013-10-27T18:19:37.990" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="19553" PostTypeId="1" CreationDate="2013-10-27T19:47:56.193" Score="-5" ViewCount="331" Body="&lt;p&gt;Consider the problem of finding smaller &quot;non-intersecting&quot; circuits or paths in graphs embedded in the euclidean plane (visiting all vertices) in the sense of geometric intersections of edges plotted as lines. This is clearly closely related to TSP, &lt;a href=&quot;http://en.wikipedia.org/wiki/Travelling_salesman_problem&quot; rel=&quot;nofollow noreferrer&quot;&gt;travelling salesman problem&lt;/a&gt; for euclidean plane embedded graphs. Is it virtually the same problem or not?&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there research on and/or are there algorithms that enumerate small non-intersecting circuits/paths of planar graphs?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;In other words the $n$ graph vertices are already given as 2d coordinates of points. The problem is to find a $n$-vertex path or cycle through all the points such that when the edges are plotted as lines, the edges/lines do not cross.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I did not find any literature directly on this in various online searches.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A second somewhat related question: Is the &lt;a href=&quot;https://cs.stackexchange.com/questions/16269/shortest-non-intersecting-path-for-a-graph-embedded-in-a-euclidean-plane-2d&quot;&gt;shortest non intersecting path for a graph embedded in the euclidean plane&lt;/a&gt; on cs.se. This asks basically the same question for a path with $m$ points, $m \leq n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The question is related to experiments &amp;amp; questions by a new cs.se user &lt;a href=&quot;https://cs.stackexchange.com/users/10572/babibu&quot;&gt;babibu&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="-1" LastEditDate="2017-04-13T12:48:30.830" LastActivityDate="2014-03-27T12:48:02.790" Title="Attacking TSP via small nonintersecting circuits" Tags="&lt;reference-request&gt;&lt;graph-algorithms&gt;&lt;optimization&gt;&lt;planar-graphs&gt;" AnswerCount="1" CommentCount="8" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="19554" PostTypeId="2" ParentId="19548" CreationDate="2013-10-27T21:10:02.800" Score="22" Body="&lt;p&gt;Well, relational parametricity is one of the most important ideas introduces by John Reynolds, so it shouldn't be too much of a surprise that it looks like magic. Here is a fairy tale about how he might have invented it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose you're trying to formalize the idea that certain functions (identity, map, fold, reversal of lists) act &quot;the same way on many types&quot;, i.e., you have some intuitive ideas about parametric polymorphism, and you have formulated some rules for creating such maps, i.e., the polymorphic &lt;span class=&quot;math-container&quot;&gt;$\lambda$&lt;/span&gt;-calculus or some early variant of it. You notice that naive set-theoretic semantics is not working.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For instance, we stare at the type &lt;span class=&quot;math-container&quot;&gt;$$\forall X : \mathsf{Type} . X \to X,$$&lt;/span&gt;&#xA;which should contain only the identity map, but naive set-theoretic semantics allows unwanted functions such as&#xA;&lt;span class=&quot;math-container&quot;&gt;$$\lambda X : \mathsf{Type} . \lambda a : X . \mathsf{if}\ (X = \lbrace 0, 1 \rbrace) \ \mathsf{then} \ 0 \ \mathsf{else}\ a.$$&lt;/span&gt;&#xA;To eliminate this sort of thing, we need to impose some further conditions on functions. For instance, we could try some domain theory: equip each set &lt;span class=&quot;math-container&quot;&gt;$X$&lt;/span&gt; with a partial order &lt;span class=&quot;math-container&quot;&gt;$\leq_X$&lt;/span&gt; and require that all functions be monotone. But that doesn't quite cut it because the above unwanted function is either constant or identity, depending on &lt;span class=&quot;math-container&quot;&gt;$X$&lt;/span&gt;, and those are monotone maps.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A partial order &lt;span class=&quot;math-container&quot;&gt;$\leq$&lt;/span&gt; is relfexive, transitive and antisymmetric. We can try to alter the structure, for instance we could try to use a strict partial order, or a linear order, or an equivalence relation, or just a symmetric relation. However, in each case some unwanted examples creep in. For instance, symmetric relations eliminate our unwanted function but allow other uwanted functions (exercise).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;And then you notice two things:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;The &lt;em&gt;wanted&lt;/em&gt; examples are never eliminated, whatever relations you use in place of partial orders &lt;span class=&quot;math-container&quot;&gt;$\leq$&lt;/span&gt;.&lt;/li&gt;&#xA;&lt;li&gt;For each particular unwanted example you look at, you can find a relation that eliminates it, but there is no single relation that eliminates all of them.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;So, you have the brilliant thought that the wanted functions are those that preserve &lt;em&gt;all relations&lt;/em&gt;, and the relational model is born.&lt;/p&gt;&#xA;" OwnerUserId="705" LastEditorUserId="236" LastEditDate="2019-11-27T16:15:40.433" LastActivityDate="2019-11-27T16:15:40.433" CommentCount="6" ContentLicense="CC BY-SA 4.0" />
  <row Id="19555" PostTypeId="2" ParentId="19553" CreationDate="2013-10-27T22:26:16.100" Score="-6" Body="&lt;p&gt;Let it be Euclidean graph: each vertex is a point on the 2D plane, so the weight of each edge is the Euclidean distance between the vertices.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I tell you what I am going to prove that and then I try proving. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;So first I am going to show you that each planar graph with &lt;a href=&quot;https://en.wikipedia.org/wiki/Hamiltonian_cycle&quot; rel=&quot;nofollow noreferrer&quot;&gt;Hamiltonian circuit&lt;/a&gt; path, that have intersections, could be easily changed to shorter path, then I show you that those changes could be done in short time in compare to exponential time, and then I show you why I think that there are only very few options to find a non intersecting Hamiltonian circuit path and why I think that one of those options is the TSP optimal path.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So first I want to prove you and show you a method to remove intersections from the graph.&#xA;Lets start with a small example for intersection&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/G8EHW.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In this drawing you can see the edges $AB$ and $DC$ intersect with each other. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am going to switch between the edges so it will look like this:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/2HW77.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In orange you can see the new edges, and now I am going to show you why those new edges are shorter. But before that I want to notice that this is a legal action in a graph, I do not break the rule that there would be no more than 2 edges connected to single vertex.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/yqqrk.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;At this image I added to lines for calculations: EO is perpendicular to AC, and EF is perpendicular to DF. So now we have triangles with 90 degree angle and we can tell that $AO$ is bigger than $AE$ and $OC$ is bigger than $EC$ and so is $DO$ is bigger than $DF$ and $OB$ is bigger than $FB$. So we may say that $AE + EC + DF + FB &amp;lt; AO + OB + OC + OD$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;And so we can say $AC + DB &amp;lt; AB + DC$. So by solving intersections in graph we can actually find a shorter paths and this is the reason there couldn't be any intersections in TSP optimal route.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But even more interesting than that is calculating by just how much we cut the graph. I do not know how exactly explain this mathematically, I hope someone will be able to help me here, but try comparing $AB + DC$ to $AC + DB$ what is the difference between them. I think we need to look at the average difference between all the edges, and this difference cannot be very small in compare to $N$(This is the part that I do not know how to explain) so there could not be many &quot;Fixes&quot; like that, that we can do, so the efficiency of finding non intersecting graph is $O(CN^2)$ where $C$ is not a big number in compare to $N$. You can find &lt;a href=&quot;http://tsp-vs-world.blogspot.co.il/2013/10/big-plane.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;here&lt;/a&gt; a pasado code that I wrote to implement this.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also I want to share with you the results of my guesses using this algorithm to guess what is the optimal toure. I used a sample data from &lt;a href=&quot;http://www.math.uwaterloo.ca/tsp/world/countries.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;this&lt;/a&gt; site, because I can't really know if my guess is the optimal toure or not. And so, it took me 122 millisecond to guess the optimal tour of 39 cities. 0 or 16 milliseconds for 29 cities and just a bit less than 3 sec guessing the optimal tour of 194 cities. Each of those numbers is the worst and also the average case of 50 tries on each input.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also I been trying to build a small test tool to get some feeling about how many non intersecting routes there are, and it looks like between $0.5N$ to $3N$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I can tell you that this subject is very interesting, I already spent weeks on that and continue the work.&lt;/p&gt;&#xA;" OwnerUserId="17941" LastEditorUserId="17941" LastEditDate="2013-10-28T00:10:39.370" LastActivityDate="2013-10-28T00:10:39.370" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="19556" PostTypeId="2" ParentId="19524" CreationDate="2013-10-27T23:19:12.717" Score="7" Body="&lt;p&gt;Some comments (not really an answer). Let's classify 32-bit integers $c$ as follows:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Type X: $c$ (as a binary string) is De Bruijn sequence (for all rotations, bits [27,31] are distinct). An example:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;11111011100110101100010100100000&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Type Y: bits [27,31] of $2^i \cdot c$ are distinct for $i = 0, 1, ..., 31$. This is what &lt;a href=&quot;http://supertech.csail.mit.edu/papers/debruijn.pdf&quot; rel=&quot;noreferrer&quot;&gt;Leiserson et al.&lt;/a&gt; uses. Examples:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;00000100011001010011101011011111&#xA;00001111101110011010110001010010&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Type Z: bits [27,31] of $(2^{i+1} - 1) \cdot c$ are distinct for $i = 0, 1, ..., 31$. This is what we need in the original question. Examples:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;00000111110001001010110011011101  (07C4ACDD)&#xA;10000111110001001010110011011101&#xA;01111000001110110101001100100011&#xA;11111000001110110101001100100011&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Some observations based on quick experiments (I hope I got these right):&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;There are 65536 integers of type X.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;There are 4096 integers of type X + Y. These are precisely those integers of type X that begin with sequence '0000...'&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;intuition: with leading zeroes, rotation = shifting?&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;There are 256 integers of type X + Y + Z. These are precisely those integers of type X that begin with sequence '0000011111...'&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;intuition: ??&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;All integers of type Y are also of type X.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;However, there are also 768 integers of type Z that are neither of type X nor of type Y. These begin with '1000011111...', '0111100000...', or '1111100000...'&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="74" LastActivityDate="2013-10-27T23:19:12.717" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19557" PostTypeId="1" AcceptedAnswerId="19580" CreationDate="2013-10-28T03:38:51.637" Score="9" ViewCount="397" Body="&lt;p&gt;The following is not believed to be true:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;$\mathsf{L} \subseteq \mathsf{L}-\mbox{uniform } \mathsf{NC}^1$&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Can you help me see where the argument breaks down?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The directed reachability problem is complete for $\mathsf{L}$. &#xA;I argue that it is in $\mathsf{L}$-uniform $\mathsf{NC^1}$.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;The directed reachability problem over configuration graphs of&#xA;deterministic log-space Turing Machine is complete for $\mathsf{L}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The directed reachability problem is in $\mathsf{MSO}_2$:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;given $s$ and $t$, &#xA;  let $P$ represent the free $\mathsf{MSO}$ variable for the edges in the path. &#xA;  We need to verify that $P$ contains a directed path from $s$ to $t$ &#xA;  which can be done by verifying that the in-degree and out-degree (in $P$)&#xA;  of every vertex incident on an edge in $P$ is $1$ except for $s$ and $t$ &#xA;  which have in-degree,out-degree = $0,1$ and $1,0$ respectively.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Every forest is a graph of tree-width $1$. &#xA;In particular the configuration graph of &#xA;a deterministic log-space Turing Machine is a bounded tree-width structure.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;From Elberfeld, Jakoby, and Tantau's&#xA;&lt;a href=&quot;http://eccc.hpi-web.de/report/2010/062/&quot; rel=&quot;nofollow&quot;&gt;Logspace versions of the theorems of Bodlaender and Courcelle&lt;/a&gt;:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;$\mathsf{MSO}$ formula over bounded tree-width structures &#xA;  can be evaluated in log-space.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The proof goes something like this:&#xA;For a given structure size $n$,&#xA;a bound on the tree-width of the structures $w$, and&#xA;a $\mathsf{MSO}$ formula $\varphi$ with vocabulary $\tau$,&#xA;construct (in $\mathsf{L}$) construct a $\#\mathsf{NC}^1$ circuit $C$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The circuit $C$ given a structure $M$ of size $n$ and tree-width at most $w$,&#xA;counts the number of &quot;satisfying&quot; assignments of $\varphi$ on $M$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(The histogram tabulating &#xA;the number of assignments to the free second order variables in $\varphi$&#xA;parameterized on the sizes of the sets of values taken by the the variables).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I &lt;em&gt;think&lt;/em&gt; the circuit $C$ only depends on the vocabulary $\tau$, &#xA;the tree-width bound $d$, and the size of structure $n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The proof proceeds by evaluating the circuit in $\#\mathsf{NC}^1 \subseteq \mathsf{L}$ but we don't need that part.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For us it suffices to observe that from &lt;a href=&quot;http://dx.doi.org/10.1006/jcss.1998.1588&quot; rel=&quot;nofollow&quot;&gt;Nondeterministic $\mathsf{NC^1}$ Computation&lt;/a&gt; &#xA;by Caussinus-Mackenzie-Therien-Vollmer:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;every $\#\mathsf{NC}^1$-circuit can be interpreted as &#xA;  counting the number of proof-trees of a $\mathsf{NC}^1$-circuit.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Thus the corresponding circuit outputs $1$ iff &#xA;the input structure satisfies the $\mathsf{MSO}$ formula.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;From the above it seems that log-space is at least in logspace-uniform $\mathsf{NC}^1$ &lt;/p&gt;&#xA;" OwnerUserId="214" LastEditorUserId="214" LastEditDate="2013-10-28T21:55:48.527" LastActivityDate="2013-10-29T22:18:05.673" Title="What is wrong with this $\mathsf{L} \subseteq \mathsf{L}-$uniform $\mathsf{NC}^1$ argument?" Tags="&lt;cc.complexity-theory&gt;&lt;graph-algorithms&gt;&lt;complexity-classes&gt;&lt;descriptive-complexity&gt;&lt;finite-model-theory&gt;" AnswerCount="1" CommentCount="15" FavoriteCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="19558" PostTypeId="2" ParentId="19547" CreationDate="2013-10-28T10:22:09.193" Score="1" Body="&lt;p&gt;Any normal activation function should do. Multi-layer perceptrons are universal approximators, so you should have no problems.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can find this even on &lt;a href=&quot;http://en.wikipedia.org/wiki/Feedforward_neural_network#Multi-layer_perceptron&quot; rel=&quot;nofollow&quot;&gt;wikipedia&lt;/a&gt;. The limitation for perceptrons is linear separability. Intuitively, each new layer allows to classify inputs according to as many parameters as neurons in the the previous layer obtaining a classification in as many dimensions as neurons in the next layer. In short, for one layer you have to keep linear separability, but according to that linear separability you are kind of &quot;bending&quot; (non isomorphic transformation) that hyperspace into a different one, where linear separability may be possible, or at least one layer closer.&lt;/p&gt;&#xA;" OwnerUserId="6577" LastActivityDate="2013-10-28T10:22:09.193" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19559" PostTypeId="1" CreationDate="2013-10-28T11:46:29.697" Score="1" ViewCount="57" Body="&lt;p&gt;as far as I understood one wants that an algorithm produces only results that can be also achieved by a sequentially consistent execution.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is whether this is true or whether there are correct algorithms that have results that can be only achieved by sequentially inconsistent executions?&lt;/p&gt;&#xA;" OwnerUserId="18152" LastActivityDate="2013-10-28T11:46:29.697" Title="Correct algorithms with sequentially inconsistent executions" Tags="&lt;concurrency&gt;" AnswerCount="0" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19561" PostTypeId="1" CreationDate="2013-10-28T14:57:39.753" Score="1" ViewCount="136" Body="&lt;p&gt;This is related to the following question which has already been explored:&#xA;&lt;a href=&quot;https://cstheory.stackexchange.com/questions/3742/reverse-graph-spectra-problem&quot;&gt;Reverse Graph Spectra Problem?&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So it seems as if given a sequence of real numbers, it is not always possible to generate a 0-1 symmetric matrix (with zeros on the diagonal) whose spectrum is the given sequence. This is because not only is it true that not all sequences can occur as eigenvalues of such matrices, but also because there exist non-isomorphic graphs with the spectrum. This leads to the question of characterizing n-sequences for which such a reverse reconstruction exists and whether such a reverse reconstruction is possible in more specific cases.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider the case of simple digraphs and their line digraphs. In this case, the adjacency matrices are again 0-1 matrices with zeroes on the diagonal, but not the matrix need not be symmetric. The following paper shows a clean relationship between the spectrum of a digraph and that of its line digraph:&#xA;&lt;a href=&quot;http://www.academia.edu/1462821/Algebraic_properties_of_line_digraphs&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://www.academia.edu/1462821/Algebraic_properties_of_line_digraphs&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What I noticed in the introduction was that:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;&quot;As it is expected, it is not possible, to reconstruct the adjacency matrix of a digraph from the spectrum or the characteristic polynomial only. However we shall prove that this is possible for the case of line digraphs.&quot;&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The paper claims to do this using a relation between the Jordan normal forms of the adjacency matrices of the digraph and its line digraph, which I am firstly unable to see clearly.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Secondly, given any graph, I could convert it into a digraph in the natural way by having two arcs for each of its edges. Then given the spectrum of a graph, we could construct the spectrum of its line digraph, from which I could reconstruct the line digraph, from which I could in turn reconstruct the digraph (this correspondence between a digraph and its line digraph is well-understood in the case of digraphs with no sources or sinks- from the result of Harary and Norman) from which we could construct the underlying graph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What am I missing here? &lt;/p&gt;&#xA;" OwnerUserId="18154" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2013-10-28T14:57:39.753" Title="Constructing a digraph from its spectrum" Tags="&lt;graph-theory&gt;&lt;linear-algebra&gt;&lt;spectral-graph-theory&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19562" PostTypeId="1" AcceptedAnswerId="19578" CreationDate="2013-10-28T16:01:11.643" Score="5" ViewCount="226" Body="&lt;p&gt;The divisor function $d(n)$, is the number of $(a,b)\in\mathbb {N^+}^2$ such that $a\times b =n$.&#xA;For example, $d(2)=2$ because $2=1\times 2=2\times 1$ and d(6)=4 because $6=1\times 6=2\times 3=3\times 2=6\times 1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Divisor_summatory_function&quot;&gt;The divisor summatory function&lt;/a&gt; is defined by :&#xA;$$D(n)=\sum_{i=1}^n d(i)$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is &lt;a href=&quot;https://oeis.org/A006218&quot;&gt;sequence A006218&lt;/a&gt; in OEIS.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does anyone know the best time complexity algorithm to compute this function ? Are they any results published on the computational complexity of this function ?&lt;/p&gt;&#xA;" OwnerUserId="10151" LastActivityDate="2013-10-30T20:16:23.407" Title="Computational Complexity of the Divisor summatory function" Tags="&lt;time-complexity&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19567" PostTypeId="2" ParentId="19548" CreationDate="2013-10-28T18:19:34.223" Score="3" Body="&lt;p&gt;Another possible answer different from Andrej's is the given by the example of the &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/0304397588900977#&quot; rel=&quot;nofollow&quot;&gt;$\omega$-set model of polymorphism&lt;/a&gt;. Since every function in the polymorphic calculus is computable, it's natural to interpret a type by a set of numbers which represent the computable functions of that type.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Furthermore, it's tempting to identify functions with the same extensional behavior, thus leading to an equivalence relation. The relation is partial if we exclude the &quot;undefined&quot; functions, that is the functions which &quot;loop&quot; for some well-formed input.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The PER models are a generalization of this.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another way to see these models are as a (very) special case of the simplicial set models of &lt;a href=&quot;http://homotopytypetheory.org/&quot; rel=&quot;nofollow&quot;&gt;Homotopy Type Theory&lt;/a&gt;. In that framework, types are interpreted as (a generalization of), sets with relations, and relations between those relations, etc. At the lowest level, we simply have the PER models.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, the field of constructive mathematics has seen the appearance of related notions, in particular &lt;a href=&quot;http://ncatlab.org/nlab/show/Bishop+set&quot; rel=&quot;nofollow&quot;&gt;the Set Theory of Bishop&lt;/a&gt; involves describing a set by giving both elements and an explicit equality relation, which must be an equivalence. It's natural to expect some principles of constructive mathematics make their way into type theory.&lt;/p&gt;&#xA;" OwnerUserId="3984" LastActivityDate="2013-10-28T18:19:34.223" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="19568" PostTypeId="2" ParentId="1848" CreationDate="2013-10-28T19:33:44.187" Score="2" Body="&lt;p&gt;I guess Planar Perfect Matching got missed out from this list.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The decision version is in NC (even the counting version is in $\mathsf{NC}$) by a parallel version (see &lt;a href=&quot;http://www.imsc.res.in/~meena/papers/pfaffians.ps.gz&quot; rel=&quot;nofollow&quot;&gt;Mahajan-Subramanya-Vinay&lt;/a&gt;) of Kastelyn's algorithm&lt;/li&gt;&#xA;&lt;li&gt;The search version remains unparallelised to date i.e there is no known deterministic $\mathsf{NC}$ algorithm for this problem (though if we drop either of the parallel or deterministic restrictions there are well known algorithms - &lt;a href=&quot;http://en.wikipedia.org/wiki/Blossom_algorithm&quot; rel=&quot;nofollow&quot;&gt;Edmonds&lt;/a&gt; and &lt;a href=&quot;http://www.eecs.berkeley.edu/~vazirani/pubs/matching.pdf&quot; rel=&quot;nofollow&quot;&gt;Mulmuley-Vazirani-Vazirani&lt;/a&gt;/&lt;a href=&quot;http://www.columbia.edu/~cs2035/courses/ieor8100.F12/KUW86.pdf&quot; rel=&quot;nofollow&quot;&gt;Karp-Upfal-Wigderson&lt;/a&gt;, respectively.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="214" LastActivityDate="2013-10-28T19:33:44.187" CommentCount="0" CommunityOwnedDate="2013-10-28T19:33:44.187" ContentLicense="CC BY-SA 3.0" />
  <row Id="19569" PostTypeId="2" ParentId="19336" CreationDate="2013-10-28T22:30:22.803" Score="5" Body="&lt;p&gt;The most recent and up-to-date general-purpose proof complexity survey is probably that of Nathan Segerlind:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Nathan Segerlind: The Complexity of Propositional Proofs. Bulletin of Symbolic Logic 13(4): 417-481, 2007 (&lt;a href=&quot;http://www.math.ucla.edu/~asl/bsl/1304/1304-001.ps&quot;&gt;http://www.math.ucla.edu/~asl/bsl/1304/1304-001.ps&lt;/a&gt;).&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;And now, warnings for two shameless self plugs&amp;hellip;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An even more recent survey, but more narrowly focused on questions regarding proof size, proof space, and size-space trade-offs, is:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Jakob Nordström. Pebble Games, Proof Complexity, and Time-Space Trade-offs. Logical Methods in Computer Science, volume 9, issue 3, article 15, September 2013 (&lt;a href=&quot;http://www.lmcs-online.org/ojs/viewarticle.php?id=674&quot;&gt;http://www.lmcs-online.org/ojs/viewarticle.php?id=674&lt;/a&gt;).&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are also some lecture notes from a somewhat recent course I gave on the &quot;low-end spectrum&quot; of proof complexity (i.e., comparatively weak proof systems such as resolution, polynomial calculus, and cutting planes) and connections to SAT solving. These notes can be found at &lt;a href=&quot;http://www.csc.kth.se/~jakobn/teaching/proofcplx11/#scribe-notes&quot;&gt;http://www.csc.kth.se/~jakobn/teaching/proofcplx11/#scribe-notes&lt;/a&gt; (some are still in progress but the ones that are available should be in good shape).&lt;/p&gt;&#xA;" OwnerUserId="3220" LastActivityDate="2013-10-28T22:30:22.803" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19570" PostTypeId="2" ParentId="3742" CreationDate="2013-10-28T22:57:17.940" Score="10" Body="&lt;p&gt;Even asking whether a graph with a given spectrum exists is a tough question. This is  witnessed by the &lt;a href=&quot;https://en.wikipedia.org/wiki/Moore_graph&quot; rel=&quot;noreferrer&quot;&gt;open problem&lt;/a&gt; of determining whether there exists a graph of girth 5 diameter 2 and order 3250 whose spectrum  (if it exists) is known.&lt;/p&gt;&#xA;" OwnerUserId="2562" LastEditorUserId="3227" LastEditDate="2016-02-13T05:13:50.050" LastActivityDate="2016-02-13T05:13:50.050" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19572" PostTypeId="2" ParentId="1684" CreationDate="2013-10-29T14:00:21.017" Score="2" Body="&lt;p&gt;The almost-universal family of hash functions&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\{h_a(\vec{x}) = \sum a^i x_i \bmod p: a \in \mathbb{Z}_p\}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;has a nice property here: $h_a(\vec{x}) + a^{|\vec{x}|}h_a(\vec{y}) = h_a(\vec{x} \circ \:\vec{y})$, where &quot;$\circ$&quot; denotes concatenation. If you cache at the root of each tree both its hash value and $a^{|\vec{x}|}$, you can calculate the hash of the concatenation of two trees in $O(1)$ operations on $\mathbb{Z}_p$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is both associative and pretty fast. The collision probability of $\vec{x} \neq \vec{y}$ is $O(\min(|\vec{x}|,|\vec{y}|)/p)$. See CLRS or Dietzfelbinger et al.'s in &quot;Polynomial Hash Functions Are Reliable&quot;.&lt;/p&gt;&#xA;" OwnerUserId="43" LastActivityDate="2013-10-29T14:00:21.017" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19574" PostTypeId="2" ParentId="1848" CreationDate="2013-10-29T15:01:04.350" Score="2" Body="&lt;p&gt;Let's notch up the complexity a bit.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Many decision problems about vector addition systems (VAS) are EXPSPACE-complete, but may require much larger witnesses.  For instance, deciding whether the language of a VAS is regular is EXPSPACE-complete (e.g. &lt;a href=&quot;http://dx.doi.org/10.1007/978-3-642-22993-0_13&quot; rel=&quot;nofollow&quot;&gt;Blockelet &amp;amp; Schmitz, 2011&lt;/a&gt;), but the smallest equivalent finite-state automaton might be of Ackermannian size (&lt;a href=&quot;http://dx.doi.org/10.1016/0022-0000(81)90067-2&quot; rel=&quot;nofollow&quot;&gt;Valk &amp;amp; Vidal-Naquet, 1981&lt;/a&gt;).  The explanation behind this huge gap is that there exist much smaller witnesses of &lt;em&gt;non&lt;/em&gt;-regularity.&lt;/p&gt;&#xA;" OwnerUserId="609" LastActivityDate="2013-10-29T15:01:04.350" CommentCount="0" CommunityOwnedDate="2013-10-29T15:01:04.350" ContentLicense="CC BY-SA 3.0" />
  <row Id="19575" PostTypeId="1" AcceptedAnswerId="19581" CreationDate="2013-10-29T15:18:05.787" Score="3" ViewCount="207" Body="&lt;p&gt;I have Euclidean graph: each vertex is a point on the 2D plane, so the weight of each edge is the Euclidean distance between the vertices.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am trying to solve TSP with brute algorithm, and I want to know how to calculate the smallest possible difference between the paths that I find during the run.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit:&lt;/strong&gt;&#xA;I want to know this, to proper round my distances. May be I can use integers, may be I need floats, or maybe I need 1,000,000 floating point number. When I am comparing two distances and I coming to the conclusion that they are equal I want to be &lt;strong&gt;100%&lt;/strong&gt; sure they are.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit 2&lt;/strong&gt; Another interesting example for the possibilities is: If you are taking a graph that all the weights are 1 or 2. The minimum offset will be exactly 1.&lt;/p&gt;&#xA;" OwnerUserId="17941" LastEditorUserId="17941" LastEditDate="2013-10-29T16:47:35.603" LastActivityDate="2013-10-29T22:31:52.970" Title="Minimum offset while measuring TSP paths" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;shortest-path&gt;&lt;hamiltonian-paths&gt;" AnswerCount="1" CommentCount="11" ContentLicense="CC BY-SA 3.0" />
  <row Id="19576" PostTypeId="1" CreationDate="2013-10-29T15:31:54.037" Score="6" ViewCount="110" Body="&lt;p&gt;Are there any known constructions of binary &lt;a href=&quot;http://en.wikipedia.org/wiki/Locally_testable_code&quot;&gt;locally testable codes&lt;/a&gt; with very low (e.g., independent of the length of the codeword) query complexity and &quot;good&quot; rate (e.g., mapping strings of length $k$ to strings of length $k^{1+c}$, for a small constant $c$) that are also &lt;a href=&quot;http://en.wikipedia.org/wiki/Locally_decodable_code&quot;&gt;locally decodable&lt;/a&gt; (even if the query complexity for decoding is very large (but still sublinear))?&lt;/p&gt;&#xA;" OwnerDisplayName="user887" LastEditorDisplayName="user887" LastEditDate="2013-10-29T16:33:42.993" LastActivityDate="2013-10-29T16:33:42.993" Title="Codes that are both locally testable and locally decodable" Tags="&lt;coding-theory&gt;" AnswerCount="0" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19578" PostTypeId="2" ParentId="19562" CreationDate="2013-10-29T21:26:01.780" Score="8" Body="&lt;p&gt;Based on a &quot;folkore intuition&quot; for a related problem, one might expect this to be at least as hard as factoring: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The folkore intuition suggests that computing the number of prime factors, or even computing essentially any useful information about the prime factorization, is as hard as factoring itself (see Tao's answer to &lt;a href=&quot;https://mathoverflow.net/questions/3820/how-hard-is-it-to-compute-the-number-of-prime-factors-of-a-given-integer&quot;&gt;this related question&lt;/a&gt;). $d(n)$ gives you exactly such information, and is essentially equivalent (from the computational perspective) to computing $D(n)$, since $d(n) = D(n) - D(n-1)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, if $n$ is squarefree, then $d(n)$ is equal to $2^{f}$ where $f$ is the number of prime factors. For general $n$, $d(n)$ is $\prod_{p} (m_p + 1)$ where $m_p$ is the number of times the prime $p$ divides $n$ (that is, $n = \prod_{p} p^{m_p}$ is the prime factorization of $n$).&lt;/p&gt;&#xA;" OwnerUserId="129" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2013-10-30T20:16:23.407" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="19580" PostTypeId="2" ParentId="19557" CreationDate="2013-10-29T22:18:05.673" Score="6" Body="&lt;p&gt;In fact, the circuit depends on the input structure, not only on the input structure size. We take a tree-decomposition of the graph with additional colours and turn it into a convolution tree. The evaluation of the formula on this tree is reduced to computing the value of the convolution tree. To compute the value of the tree, it is turned into an arithmetic circuit. Hence we do not get one circuit for each input size as required for $NC^1$, but rather one circuit for each single input. &lt;/p&gt;&#xA;" OwnerUserId="17644" LastActivityDate="2013-10-29T22:18:05.673" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19581" PostTypeId="2" ParentId="19575" CreationDate="2013-10-29T22:31:52.970" Score="8" Body="&lt;p&gt;It is an open problem to lower bound the difference between two distinct Euclidean TSP tours by an inverse polynomial in the input size. Such a lower bound would show that Euclidean TSP is an NP optimizaition problem, which is not known. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let us assume that a Euclidean TSP instance is given by a collection of points in $(\mathbb{Z} \cap [-N, N])^2$ (i.e. points with integer coordinates bounded in absolute value by $N$). It is not known how to decide the following problem in polynomial time: given two tours $T_1$, $T_2$ over the same set of points, is the cost $c(T_1)$ of $T_1$ less than the cost $c(T_2)$ of $T_2$. To solve this problem it is sufficient to upper bound $-\log |c(T_1) - c(T_2)|$ by a polynomial in n and $\log N$, which is equivalent to your question. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The even more basic problem of deciding if $\sum_{i = 1}^n{\sqrt{a_i}} &amp;lt; \sum_{i = 1}^n{\sqrt{b_i}}$, for $a_i, b_i \in \mathbb{Z} \cap [1, N]$ (i.e. positive integers bounded by $N$) in time polynomial in $n$ and $\log N$ is also open, see &lt;a href=&quot;http://cs.smith.edu/~orourke/TOPP/P33.html&quot;&gt;http://cs.smith.edu/~orourke/TOPP/P33.html&lt;/a&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If all distances between points are rational, i.e. $\|v_i - v_j\| = a_{i,j}/b_{i,j}$ for integers $a_{ij}$, $b_{i,j}$, then &#xA;$$&#xA;|c(T_1) - c(T_2)| &amp;gt;= \frac{1}{\text{LCM}(\{b_{i,j}\}_{i, j \in [n]})},&#xA;$$ &#xA;where LCM is the least common multiple function.&lt;/p&gt;&#xA;" OwnerUserId="4896" LastActivityDate="2013-10-29T22:31:52.970" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19583" PostTypeId="1" CreationDate="2013-10-30T08:29:58.210" Score="-5" ViewCount="745" Body="&lt;p&gt;&lt;strong&gt;Short question:&lt;/strong&gt; How many self-avoiding-filling-polygons are there in a grid-graph of $n×n$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Long question:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit&lt;/strong&gt;: This question is not about p = np. I am searching for a way to calculate the numbers of Self-avoiding circuit paths in TSP. It's not a typical Self-avoiding circuit but it have my own definition, I call it: non-intersecting path, and it's defined by my pseudo code that is use both for Euclidean and not Euclidean graphs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am trying to solve &lt;a href=&quot;http://en.wikipedia.org/wiki/Hamiltonian_path_problem&quot; rel=&quot;nofollow noreferrer&quot;&gt;Hamiltonian Circuit Problem (HCP)&lt;/a&gt; by converting it to &lt;a href=&quot;http://en.wikipedia.org/wiki/Travelling_salesman_problem&quot; rel=&quot;nofollow noreferrer&quot;&gt;TSP&lt;/a&gt;, then finding &lt;strong&gt;non-intersecting paths&lt;/strong&gt; (see my definition on the bottom of the page).  Then keeping the path with the shortest weight, randomly ruined it by swapping random vertices along the path(I am storing the path in array and randomly swapping indexes), then fix it by converting it to non-interacting path again, and doing this again until I solve the HCP(I gave the wight 1 to all the edges that I got and weight 2 for all the rest when converting to TSP, so when I find a route where all the weights are 1 I know that I found the solution).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Using this method I been able to solve HCP passels with 300 vertexes and around 800 edges. I suspect that the reason that I been able to do that, is that the number of &lt;em&gt;non-intersecting paths&lt;/em&gt; is very small. So I did a test, I created a brute force program and test it on inputs of 20 cities, I found that there wasn't any input(from my random generations) with more than 300 non-intersecting paths. This &quot;evidence&quot; makes me very optimistic about my suspicious that the number of non-intersecting paths in compare to number of vertices is not big, how ever a proof is required. &lt;/p&gt;&#xA;&#xA;&lt;h2&gt;So please help me to find a proof for whether my suspicious is true or not.&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;non-intersecting path:&lt;/strong&gt; In Euclidean graph where each vertex is a point on the 2D plane, so the weight of each edge is the Euclidean distance between the vertices. I found a &lt;a href=&quot;http://tsp-vs-world.blogspot.co.il/2013/10/intersections-optimal-tsp-route.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;geometric proof&lt;/a&gt; that TSP solution cannot have any interactions. And I used this code to convert any given path to non-interacting path&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;Read input into cities array&#xA;do&#xA;  iterate over cities from i = 0&#xA;    iterate over cities from j = i&#xA;      if swapIfBetter(i, j) then set swapFound to true&#xA;while not swapFound&#xA;&#xA;function swapIfBetter(index1, index2)&#xA;  if index1 equals 0 and index2 equals cities size - 1&#xA;    return false&#xA;&#xA; initialize cities a,b,c,d&#xA; set a to cities at index index1&#xA; set b to cities at index (index1 - 1) unless index1 equals 0 in that case set it to (cities size - 1)&#xA; set c to cities at index index2&#xA; set d to cities at index (index2 + 1) unless index2 equals (cities size - 1) in that case set it to 0&#xA;&#xA; initialize currentDistance1 to distance between a and b&#xA; initialize currentDistance2 to distance between c and d&#xA;&#xA; initialize newDistance1 to distance between b and c&#xA; initialize newDistance2 to distance between a and d&#xA;&#xA; if currentDistance1  + currentDistance2 &amp;lt; newDistance1 + newDistance2&#xA;   swap(index1, index2)&#xA;   return true&#xA; end if&#xA;return false&#xA;end function swapIfBetter&#xA;&#xA;function swap(i, j):&#xA;  while i &amp;lt; j:&#xA;    cities[i], cities[j] = cities[j], cities[i]&#xA;    i += 1&#xA;    j -= 1&#xA;  end loop&#xA;end function swap&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;*the swap function is taken from my other question &lt;a href=&quot;https://cs.stackexchange.com/questions/16418/efficient-way-to-find-intersections&quot;&gt;here&lt;/a&gt;, created by Yuval Filmus.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The most interesting thing is when I used this code on not Euclidean graph it also worked. So I define non-interacting path, by path that been converted this way.&lt;/p&gt;&#xA;" OwnerUserId="17941" LastEditorUserId="-1" LastEditDate="2017-04-13T12:48:30.830" LastActivityDate="2013-10-30T14:57:44.707" Title="Self-avoiding walk in Graph" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;shortest-path&gt;&lt;hamiltonian-paths&gt;" AnswerCount="1" CommentCount="10" ClosedDate="2013-10-30T17:36:39.547" ContentLicense="CC BY-SA 3.0" />
  <row Id="19585" PostTypeId="2" ParentId="19583" CreationDate="2013-10-30T11:11:38.267" Score="3" Body="&lt;p&gt;Something has gone wrong, here.  Let us start with the basic definitions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A &lt;strong&gt;Hamiltonian cycle&lt;/strong&gt; is a cycle is an enumeration $v_1, \dots, v_n$ of the vertices of a graph such that there is an edge from $v_i$ to $v_{i+1}$ for $1\leq i&amp;lt;n$ and an edge from $v_n$ to $v_1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the &lt;strong&gt;Traveling Salesman Problem&lt;/strong&gt; (TSP), we are given $n$ cities and, for &lt;em&gt;every&lt;/em&gt; pair of cities, the non-negative cost of traveling between them. We want to know the minimum cost of starting at the city of our choice, visiting every other city exactly once, in the order of our choice, and returning directly to the start point.  There are no restrictions on the costs: it could cost \$1 to get from London to Paris, \$1 to get from Paris to New York but \$1,000,000 to get directly from London to New York. Thus, TSP is the problem of finding a minimum-weight Hamiltonian cycle in a complete graph with arbitrary non-negative weights.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The &lt;strong&gt;Euclidean Traveling Salesman Problem&lt;/strong&gt; is TSP with the restriction that the cities are distinct points in Euclidean space and the cost of getting from A to B is the distance between those two points. Euclidean TSP is the problem of finding a minimum-weight Hamiltonian cycle in an arbitrary Euclidean complete graph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A &lt;strong&gt;Euclidean graph&lt;/strong&gt; is an embedding of a graph in the Euclidean plane. Each vertex is a point and each edge is a straight line between its endpoints. If there is an edge between $x$ and $y$, the weight of that edge is its length.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Yet a third problem is to find the minimum weight Hamiltonian cycle in a Euclidean graph, which I'll call &lt;strong&gt;Euclidean MinHam&lt;/strong&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You appear to be confusing Euclidean TSP and Euclidean MinHam. In Euclidean TSP, there is an edge between every pair of vertices; in Euclidean MinHam, there may or may not be an edge between every pair of vertices. This is crucially important.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Your claimed algorithm for Euclidean TSP is to generate a Hamiltonian cycle and then adjust it until you get one of minimum weight. I do not believe that will give an efficient algorithm but it is possible that it will. A key point is that generating a Hamiltonian cycle is trivial because the graph you start with is a complete graph: &lt;em&gt;every&lt;/em&gt; enumeration of the vertices is a Hamiltonian cycle.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Your second claim is that you can solve Euclidean MinHam by the same method. However, to even get this started, you need to find &lt;em&gt;some&lt;/em&gt; Hamiltonian cycle in your Euclidean graph, to begin the optimization process. This problem is already NP-hard.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Your third claim is that you can find a Hamiltonian cycle in a general graph&amp;nbsp;$G$ by giving every edge weight&amp;nbsp;1 and every non-edge weight&amp;nbsp;2, and then feeding the resulting graph to your Euclidean TSP algorithm. This cannot possibly work. Your Euclidean TSP algorithm is supposed to work by exploiting the geometric properties of the problem (for example, that the minimum-weight solution cannot cross itself). This property does not hold for general weighted graphs. Your transformed version of&amp;nbsp;$G$ is not a Euclidean graph so, if your algorithm requires Euclidean graphs, it cannot work on&amp;nbsp;$G$.&lt;/p&gt;&#xA;" OwnerUserId="17082" LastActivityDate="2013-10-30T11:11:38.267" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="19587" PostTypeId="2" ParentId="19102" CreationDate="2013-10-30T16:37:05.883" Score="0" Body="&lt;p&gt;It depends on whether you substitute 'context-free' with 'regular' only in front of 'language(s)', or also in front of 'grammar(s)'.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;All regular languages are generated by &lt;a href=&quot;https://en.wikipedia.org/wiki/Regular_grammar&quot; rel=&quot;nofollow&quot;&gt;regular grammars&lt;/a&gt;, and in particular, by unambiguous regular grammars, e.g. &lt;a href=&quot;https://en.wikipedia.org/wiki/LL_parser&quot; rel=&quot;nofollow&quot;&gt;LL(1)&lt;/a&gt; right-regular grammars, which are all unambiguous.&lt;/p&gt;&#xA;" OwnerUserId="3113" LastActivityDate="2013-10-30T16:37:05.883" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19588" PostTypeId="1" AcceptedAnswerId="19589" CreationDate="2013-10-30T17:38:02.800" Score="6" ViewCount="269" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;is there a connection between the inherent complexity of binary/integer multiplication algorithms and matrix multiplication algorithms? if so what is a ref that outlines/discusses it?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;some related history: &lt;a href=&quot;http://en.wikipedia.org/wiki/Sch%C3%B6nhage%E2%80%93Strassen_algorithm&quot;&gt;Schonhage/Strassen&lt;/a&gt; give a fast algorithm for binary multiplication and &lt;a href=&quot;http://en.wikipedia.org/wiki/Strassen_algorithm&quot;&gt;Strassen&lt;/a&gt; also gave a faster matrix multiplication method.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;A. Schonhage and V. Strassen, “Schnelle Mu ¨ ltiplikation grosser Zahlen,” Computing 7 (1971),&#xA;281–292&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2013-10-30T18:56:38.320" Title="any connection between binary/integer multiplication and matrix multiplication?" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;boolean-functions&gt;&lt;matrices&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="19589" PostTypeId="2" ParentId="19588" CreationDate="2013-10-30T17:52:28.720" Score="5" Body="&lt;p&gt;Here is a relevant reference and Sasho has graciously added a high-level summary.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;A Group-theoretic Approach to Fast Matrix Multiplication&lt;/em&gt; by Cohn and Umans. (2004, &lt;a href=&quot;http://arxiv.org/abs/math/0307321&quot; rel=&quot;nofollow&quot;&gt;arxiv&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;There is a close analogy between the framework we propose in this paper and the well-known algorithm for multiplying two degree n polynomials in O(n log n) operations&#xA;  using the Fast Fourier Transform (FFT). In this section we&#xA;  elucidate this analogy to give a high-level description of our&#xA;  technique.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;On a very high level, the FFT-base polynomial multiplication algorithm can be seen as the following strategy: 1) embed the polynomials as elements of the group algebra of a not-too-large abelian group; 2) apply the DFT to the group algebra elements in order to embed them as complex-valued diagonal matrices; 3) multiply the diagonal matrices.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Note: the group algebra here is the algebra of formal &quot;linear combinations&quot; of group elements with complex or real coefficients). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The same approach almost works for matrix multiplication. Step 1) becomes hard, where it was trivial with polynomials. The embedding can be done with abelian groups of size $n^3$, and no better, so for $n^{2 + o(1)}$ size groups you need to abandon commutativity. Then 2) turns out to still be doable with non-abelian groups using the appropriate generalization of DFT that you get from representation theory, but the resulting object is a block-diagonal matrix rather than a diagonal matrix. Then 3) is no longer the trivial pointwise multiplication operation, but multiplication of smaller matrices. Bounding the sizes of these matrices is a question about dimensions of irreducible representations of the group we used. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;See also the follow-up &lt;em&gt;Group-Theoretic Algorithms for Matrix Multiplication&lt;/em&gt; by Cohn, R. Kleinberg, Szegedy, and Umans (2005, &lt;a href=&quot;http://arxiv.org/abs/math/0511460&quot; rel=&quot;nofollow&quot;&gt;arxiv&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Perhaps there have been advancements (or even a survey) since then. Of course this probably doesn't answer your question about how the complexities of the problems are related....&lt;/p&gt;&#xA;" OwnerUserId="8243" LastEditorUserId="8243" LastEditDate="2013-10-30T18:56:38.320" LastActivityDate="2013-10-30T18:56:38.320" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19591" PostTypeId="1" AcceptedAnswerId="19903" CreationDate="2013-10-30T20:15:20.590" Score="4" ViewCount="411" Body="&lt;p&gt;Can anyone come up with a nice way of computing a solution to the linear diophantine equation $ax + by = c$ where $a,b,c \in \mathbb{Z}$ and $\gcd(a,b) \mid c$, such that all the calculations are carried out without any of the intermediate results exceeding $\max\{|a|, |b|, |c|\}$ in absolute value?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I.e. if $a,b,c$ are 64-bit integers, all the calculations should be done using 64-bit integers only.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The standard method is of course to use Euclidean algorithm to first find a solution to $ax + by = \gcd(a,b)$ and then multiplying $x$ and $y$ by $\frac{c}{\gcd(a,b)}$. The Euclidean algorithm is fine, but this last multiplication might go out of range.&lt;/p&gt;&#xA;" OwnerUserId="18191" LastEditorUserId="18191" LastEditDate="2013-11-06T19:02:30.943" LastActivityDate="2013-11-21T19:54:49.427" Title="Avoiding overflow in finding a solution to $ax + by = c$" Tags="&lt;ds.algorithms&gt;" AnswerCount="3" CommentCount="7" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19592" PostTypeId="1" AcceptedAnswerId="19595" CreationDate="2013-10-30T21:14:02.477" Score="9" ViewCount="226" Body="&lt;p&gt;Let $x_i \in \{-1,0,+1\}$ for $i \in \{1,\ldots,n\}$, with the promise that $x = \sum_{i=1}^n{x_i} \in \{0,1\}$ (where the sum is over $\mathbb{Z}$). Then what is the complexity of determining if $x = 1$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Notice that trivially the problem lies in $\cap_{m \geq 2}{\mathsf{AC}^0[m]}$ because $x \equiv 1\bmod{m}$ iff $x = 1$. Question is: does the problem lie in&#xA;$\mathsf{AC}^0$? If so, what is the circuit witnessing this? If not, how does one prove this?&lt;/p&gt;&#xA;" OwnerUserId="214" LastEditorUserId="214" LastEditDate="2013-10-30T21:19:41.863" LastActivityDate="2013-10-31T07:29:14.193" Title="Exact complexity of a problem in $\cap_{m \geq 2}\mathsf{AC}^0[m]$" Tags="&lt;reference-request&gt;&lt;complexity-classes&gt;&lt;circuit-complexity&gt;&lt;upper-bounds&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19593" PostTypeId="2" ParentId="19592" CreationDate="2013-10-30T22:21:19.050" Score="7" Body="&lt;p&gt;I do not think this is in AC0 and I can show a lower bound for the related promise problem of distinguishing between $\sum x_i = 0$ and $\sum x_i = 2$, when $x \in \{-1, 1\}^n$. Similar Fourier techniques should apply to your problem, but I have not verified that. Or maybe there is a simple reduction. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose there is a size $s$ depth $d$ circuit that computes a function $f: \{-1, 1\}^n \rightarrow \{0, 1\}$ such that  $f(x) = \sum_i x_i$ whenever $\sum_i x_i \in \{0,2\}$. Because for a random $x$, the probability that $\sum_i x_i = 0$ is $2^{-n} {n \choose n/2} \approx n^{-1/2}$, and for each such $x$ there are $n/2$ coordinates that change the value of $f$, the total influence of $f$ is $\Omega(n^{1/2})$, which is roughly the same as majority (because you included most of majority's sensitive inputs). By a theorem of Hastad (see Colorraly 2.5 in Ryan O'Donnel's &lt;a href=&quot;http://www.cs.cmu.edu/~odonnell/boolean-analysis/lecture10.pdf&quot;&gt;notes&lt;/a&gt;), this implies that &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;s \geq 2^{\Omega(n^{1/(2d-2)})}.&#xA;$$&lt;/p&gt;&#xA;" OwnerUserId="4896" LastEditorUserId="4896" LastEditDate="2013-10-30T23:54:37.473" LastActivityDate="2013-10-30T23:54:37.473" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19594" PostTypeId="1" AcceptedAnswerId="19657" CreationDate="2013-10-30T22:56:47.783" Score="14" ViewCount="339" Body="&lt;p&gt;Belief propagation has been shown to be a very powerful method through research in probabilistic graphical models.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, I don't know anything about BP that's comparable to MCMC methods where we can have fully polynomial randomized approximation schemes (FPRAS) for #P-complete problems.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Could someone point me to some references?&lt;/p&gt;&#xA;" OwnerUserId="8215" LastEditorUserId="8215" LastEditDate="2013-11-05T04:09:05.220" LastActivityDate="2013-11-05T04:09:05.220" Title="Theoretical guarantees for running times of belief propagation methods?" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;graph-algorithms&gt;&lt;machine-learning&gt;&lt;st.statistics&gt;" AnswerCount="2" CommentCount="4" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="19595" PostTypeId="2" ParentId="19592" CreationDate="2013-10-31T07:19:38.660" Score="7" Body="&lt;p&gt;You can use the usual switching lemma argument. You haven't explained how you represent your input in binary, but under any reasonable encoding, the following function is AC$^0$-equivalent to your function:&#xA;$$ f(x_1,\ldots,x_n) = \begin{cases} 0 &amp;amp; \text{if }x_1 - x_2 + x_3 - x_4 + \cdots - x_n = 0, \\ 1 &amp;amp; \text{if }x_1 - x_2 + x_3 - x_4 + \cdots - x_n = 1, \\ ? &amp;amp; \text{otherwise.} \end{cases} $$&#xA;(We assume that $n$ is even.) Following &lt;a href=&quot;http://www.cs.princeton.edu/courses/archive/spr01/cs522/lecnotes/lec19.ps&quot;&gt;these lecture notes&lt;/a&gt;, suppose that $f$ can be computed by a depth $d$ circuit of size $n^b$. Then a random restriction of $n - n^{1/2^d}$ inputs leaves a function of decision tree complexity at most $2^d(b+1)+1$ with probability at least $1-1/(3n)$. A calculation will probably show that this is another instance of $f$ (on a smaller input size) with probability $\Theta(1/\sqrt{n})$, and so there is some random restriction which yields both an instance of $f$ on $n^{1/2^d}$ inputs and a function with constant decision tree complexity, leading to a contradiction. The same argument should yield exponential lower bounds.&lt;/p&gt;&#xA;" OwnerUserId="40" LastEditorUserId="40" LastEditDate="2013-10-31T07:29:14.193" LastActivityDate="2013-10-31T07:29:14.193" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19596" PostTypeId="1" CreationDate="2013-10-31T09:30:44.503" Score="5" ViewCount="185" Body="&lt;p&gt;I use the following Lemma and I wonder whether it is known in literature. If you look at the proof it feels like it should be known from combinatorics or extremal graph theory. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Lemma.&lt;/strong&gt; Let $A$ be an $n$-element set and let $A_1,\ldots, A_n\subseteq A$ be a collection of sets, each of size at least $d$ such that $A=\bigcup_{1\leq i\leq n}A_i$. Let $d\leq s\leq n$. Then there exists a set $S\subseteq A$ of size $s$ such that $|A_i\cap S|\geq \left\lfloor sd/n\right\rfloor$ for at least $n/2$ of the $A_i$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Proof.&lt;/strong&gt; We may assume without loss of generality that every set $A_i$ has&#xA;  exactly $d$ elements. For each $i$, the number of subsets of $A$ of&#xA;  size $s$ including exactly $k$ elements of $A_i$ is&#xA;  $\binom{n-d}{s-k}\binom{d}{k}$ (choose $k$ elements of $A_i$ and&#xA;  $s-k$ elements of $A\setminus A_i$). Hence the number of subsets of&#xA;  $A$ of size $s$ including at least $k$ elements from $A_i$ is&#xA;  $\sum_{k\leq \ell}\binom{n-d}{s-\ell}\binom{d}{\ell}$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For $k\leq d$ consider the bipartite graphs $G_k$, where one part&#xA;  consists of the $s$-element subsets of $A$ and the other part&#xA;  consists of the sets $A_i$. We introduce an edge between $(B, A_i)$&#xA;  if and only if $|B\cap A_i|\geq k$. The degree of $B$ in $G_k$&#xA;  corresponds to the number of $A_i$ that $B$ shares at least $k$&#xA;  elements with. As observed above, every $A_i$ has degree&#xA;  $\sum_{k\leq&#xA;    \ell}\binom{n-d}{s-\ell}\binom{d}{\ell}$. Hence $|E(G_k)|=n\cdot&#xA;  \sum_{k\leq \ell}\binom{n-d}{s-\ell}\binom{d}{\ell}$.  The average&#xA;  degree of a vertex $B$ in $G_k$ is $\frac{n\cdot\sum_{k\leq \ell}&#xA;    \binom{n-d}{s-\ell}\binom{d}{\ell}}{\binom{n}{s}}$ and there must&#xA;  be one vertex $S$ with at least this degree.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Observe that $\frac{\binom{n-d}{s-k}\binom{d}{k}}{\binom{n}{s}}$ is&#xA;  the probability mass function of a hypergeometric distribution with&#xA;  mean $\frac{ds}{n}$. Hence for&#xA;  $k=\left\lfloor\frac{ds}{n}\right\rfloor$ the above sum is greater&#xA;  than $1/2$ and hence $d(S)\geq n/2$ for this $k$. We conclude that&#xA;  $|A_i\cap S|=k=\left\lfloor\frac{ds}{n}\right\rfloor$ for at least&#xA;  $n/2$ of the $A_i$. $\hspace{4.5cm}\square$&lt;/p&gt;&#xA;" OwnerUserId="17644" LastActivityDate="2013-10-31T09:30:44.503" Title="Lemma about intersecting sets" Tags="&lt;reference-request&gt;&lt;graph-theory&gt;&lt;co.combinatorics&gt;" AnswerCount="0" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="19597" PostTypeId="1" AcceptedAnswerId="19598" CreationDate="2013-10-31T09:39:48.780" Score="-4" ViewCount="111" Body="&lt;p&gt;Many algorithms include a step such as &quot;select the largest number from a given numeric array&quot;, or &quot;select the leftmost point from a given set of points&quot;, etc. In many cases, it is possible that the set contains more than one largest/leftmost element, and in this case, it irrelevant which largest element to choose.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is: when I describe an algorithm in a CS paper, is there a concise way to say: &quot;Select the largest element from set X, and if there is more than one largest elements, select one of them arbitrarily&quot;? Currently this sentence appears many times and makes my algorithms look unneccessarily cumbersome.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I thought of writing: &quot;Select &lt;strong&gt;a&lt;/strong&gt; largest element from set X&quot; or &quot;select &lt;strong&gt;one&lt;/strong&gt; leftmost point from set X&quot;. Is this clear enough?&lt;/p&gt;&#xA;" OwnerUserId="9453" LastActivityDate="2013-10-31T10:14:09.943" Title="How to say &quot;select the largest&quot; when there can be more than one" Tags="&lt;ds.algorithms&gt;&lt;terminology&gt;" AnswerCount="1" CommentCount="3" ClosedDate="2013-11-28T06:39:18.950" ContentLicense="CC BY-SA 3.0" />
  <row Id="19598" PostTypeId="2" ParentId="19597" CreationDate="2013-10-31T10:14:09.943" Score="1" Body="&lt;p&gt;&quot;&lt;strong&gt;Select a largest/leftmost&lt;/strong&gt;&quot; is the usual way of phrasing this. If, in the particular situation, you feel it would help to make it explicit, you could say something like &quot;Select a largest element from the set&amp;nbsp;$X$ (which is not necessarily unique)&quot;.&lt;/p&gt;&#xA;" OwnerUserId="17082" LastActivityDate="2013-10-31T10:14:09.943" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19599" PostTypeId="2" ParentId="19459" CreationDate="2013-10-31T18:39:37.620" Score="1" Body="&lt;p&gt;Let you want to represent integer values from 0 to 999. You need 3 digits, each has 10 states, 30 states overall. When using binary digits, you need 10 digits with 2 states, 20 states overall, So binary representation is more &quot;dense&quot;. In general case, p*ln(N)/ln(p) states is required. This formula has minimum at p=e. However, this is pure theoretical speculation. Numeral system with the base 3 is slightly more dense than that of 2, and 3-based computers were really built, but appeared more complex than binary computers.&lt;/p&gt;&#xA;" OwnerUserId="15538" LastActivityDate="2013-10-31T18:39:37.620" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19602" PostTypeId="1" CreationDate="2013-10-31T23:11:44.377" Score="13" ViewCount="191" Body="&lt;p&gt;The &lt;a href=&quot;https://en.wikipedia.org/wiki/Long_code_%28mathematics%29&quot;&gt;long code&lt;/a&gt; (arising in PCP theory etc) is an encoding of a set of $k$ values, using binary strings of length $2^k$ (double exponential in the number of bits needed to specify a value), with one coordinate position in the encoding for each of the $2^k$ different binary functions on the input values. Instead, I want to consider a shorter but still doubly exponential code, with one coordinate position for each of the $\tbinom{k}{k/2}/2$ partitions of the $k$ values into two equal-sized subsets (assuming $k$ is even). Each partition can be thought of as corresponding to two different binary functions (the functions whose inverse images form the given partition) and we choose arbitrarily which one of these two functions to use.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The minimum distance of the code (and in fact the distance between all pairs of codewords) is $\tbinom{k-2}{(k-2)/2}$, smaller than the length of the code by only a factor of $\tfrac{k}{2k-1}&amp;gt;\tfrac{1}{2}$. For instance for $k=8$ we get a code of length 35 with minimum distance 20, which &lt;a href=&quot;http://www.codetables.de/&quot;&gt;http://www.codetables.de/&lt;/a&gt; tells me matches the &lt;a href=&quot;https://en.wikipedia.org/wiki/Griesmer_bound&quot;&gt;Griesmer bound&lt;/a&gt; for binary linear codes of the same size (rank 3 or size 8).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am interested in this for reasons only vaguely related to coding theory, but it seems likely to me that the coding theorists have already studied this code. Unfortunately, I don't know of a good way of looking up coding schemas by the formulas for their parameters. If it has been previously studied, what is it called? And what are some references to it?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(BTW, the property I actually care about, which is easy enough to prove using Sperner's theorem, is that this is the longest possible binary code in which each two positions are independent of each other, in the sense that all four possible combinations of symbols in the two positions are realized by codewords. There appears to be something in the literature called a Sperner code but it's transposed from this — each codeword has equally many zeros and ones, rather than the property of the code I'm looking at, where each bit position has equally many codewords for which that position is a 0 or 1.)&lt;/p&gt;&#xA;" OwnerUserId="95" LastEditorUserId="95" LastEditDate="2013-11-04T17:03:15.430" LastActivityDate="2013-11-04T17:03:15.430" Title="Name and references for balanced variant of the long code?" Tags="&lt;reference-request&gt;&lt;coding-theory&gt;" AnswerCount="0" CommentCount="1" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="19603" PostTypeId="2" ParentId="19591" CreationDate="2013-11-01T00:14:22.390" Score="3" Body="&lt;p&gt;One way to solve this might be through an application of the Chinese remainder theorem and some kind of Hensel lifting.&lt;/p&gt;&#xA;&lt;p&gt;Let's fix a constant &lt;span class=&quot;math-container&quot;&gt;$\alpha$&lt;/span&gt; with the property that &lt;span class=&quot;math-container&quot;&gt;$2^\alpha 3^\alpha 5^\alpha &amp;gt; 2^{129}$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$5^\alpha &amp;lt; 2^{64}$&lt;/span&gt;.  For instance, &lt;span class=&quot;math-container&quot;&gt;$\alpha=27$&lt;/span&gt; would work fine.&lt;/p&gt;&#xA;&lt;p&gt;Suppose &lt;span class=&quot;math-container&quot;&gt;$ax+by=c$&lt;/span&gt; holds modulo &lt;span class=&quot;math-container&quot;&gt;$2^\alpha$&lt;/span&gt;, modulo &lt;span class=&quot;math-container&quot;&gt;$3^\alpha$&lt;/span&gt;, and modulo &lt;span class=&quot;math-container&quot;&gt;$5^\alpha$&lt;/span&gt;, i.e., &lt;span class=&quot;math-container&quot;&gt;$ax+by \equiv c \pmod{q}$&lt;/span&gt; for &lt;span class=&quot;math-container&quot;&gt;$q=2^\alpha$&lt;/span&gt;, &lt;span class=&quot;math-container&quot;&gt;$q=3^\alpha$&lt;/span&gt;, and &lt;span class=&quot;math-container&quot;&gt;$q=5^\alpha$&lt;/span&gt;.  Then by the Chinese remainder theorem, it follows that &lt;span class=&quot;math-container&quot;&gt;$ax+by=c$&lt;/span&gt; holds in the integers.  So, our goal will be to find &lt;span class=&quot;math-container&quot;&gt;$x,y$&lt;/span&gt; that satisfy this equation modulo &lt;span class=&quot;math-container&quot;&gt;$2^\alpha$&lt;/span&gt;, modulo &lt;span class=&quot;math-container&quot;&gt;$3^\alpha$&lt;/span&gt;, and modulo &lt;span class=&quot;math-container&quot;&gt;$5^\alpha$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Here are some observations that will help us find a solution that works modulo each of &lt;span class=&quot;math-container&quot;&gt;$2^\alpha$&lt;/span&gt;, &lt;span class=&quot;math-container&quot;&gt;$3^\alpha$&lt;/span&gt;, and &lt;span class=&quot;math-container&quot;&gt;$5^\alpha$&lt;/span&gt;:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Given a solution that is valid modulo &lt;span class=&quot;math-container&quot;&gt;$2^i$&lt;/span&gt;, &lt;span class=&quot;math-container&quot;&gt;$3^i$&lt;/span&gt;, and &lt;span class=&quot;math-container&quot;&gt;$5^i$&lt;/span&gt;, it is easy to find a solution that is valid modulo &lt;span class=&quot;math-container&quot;&gt;$2^{i+1}$&lt;/span&gt;, &lt;span class=&quot;math-container&quot;&gt;$3^{i+1}$&lt;/span&gt;, and &lt;span class=&quot;math-container&quot;&gt;$5^{i+1}$&lt;/span&gt;.  Here is how.  Given &lt;span class=&quot;math-container&quot;&gt;$(x,y)$&lt;/span&gt; such that &lt;span class=&quot;math-container&quot;&gt;$ax+by \equiv c \pmod{q}$&lt;/span&gt; (for &lt;span class=&quot;math-container&quot;&gt;$q\in \{2^i,3^i,5^i\}$&lt;/span&gt;), we consider the 3481 pairs &lt;span class=&quot;math-container&quot;&gt;$(x',y')$&lt;/span&gt; such that &lt;span class=&quot;math-container&quot;&gt;$x' \in \{x,x+ d \cdot 2^i 3^i 5^i : |d| &amp;lt; 30, d \in \mathbb{Z}\}$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$y' \in \{y,y+ d \cdot 2^i 3^i 5^i : |d| &amp;lt; 30, d \in \mathbb{Z}\}$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;p&gt;One of these pairs will satisfy &lt;span class=&quot;math-container&quot;&gt;$ax+by \equiv c \pmod{q}$&lt;/span&gt; (for &lt;span class=&quot;math-container&quot;&gt;$q\in \{2^{i+1}, 3^{i+1}, 5^{i+1}\}$&lt;/span&gt;) and will avoid overflow in &lt;span class=&quot;math-container&quot;&gt;$x',y'$&lt;/span&gt; (i.e., we will have &lt;span class=&quot;math-container&quot;&gt;$0 \le x',y' &amp;lt; 2^{64}$&lt;/span&gt;).  So, you can check all 3481 candidates and find the one that you wanted.  Identifying the one you wanted is easy.  Given a candidate, it is easy to check for overflow and immediately rule out any &lt;span class=&quot;math-container&quot;&gt;$x',y'$&lt;/span&gt; that trigger overflow or underflow in the expressions &lt;span class=&quot;math-container&quot;&gt;$x+ d \cdot 2^i 3^i 5^i,y+ d \cdot 2^i 3^ i5^i$&lt;/span&gt;.  Also, you can check whether &lt;span class=&quot;math-container&quot;&gt;$ax+by=c$&lt;/span&gt; holds modulo &lt;span class=&quot;math-container&quot;&gt;$2^{i+1}$&lt;/span&gt;, &lt;span class=&quot;math-container&quot;&gt;$3^{i+1}$&lt;/span&gt;, and &lt;span class=&quot;math-container&quot;&gt;$5^{i+1}$&lt;/span&gt; separately in 64-bit arithmetic without overflow, as long as each of &lt;span class=&quot;math-container&quot;&gt;$2^{i+1},3^{i+1},5^{i+1}$&lt;/span&gt; is at most &lt;span class=&quot;math-container&quot;&gt;$2^{64}$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;It is also easy to find a solution that is valid modulo &lt;span class=&quot;math-container&quot;&gt;$2^0 3^0 5^0$&lt;/span&gt;: simply take &lt;span class=&quot;math-container&quot;&gt;$x=0,y=0$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Given all of this background, we can now use induction to find a solution.  We start by forming a solution that works for &lt;span class=&quot;math-container&quot;&gt;$i=0$&lt;/span&gt;.  At each step, we increment &lt;span class=&quot;math-container&quot;&gt;$i$&lt;/span&gt;, until we reach &lt;span class=&quot;math-container&quot;&gt;$i=\alpha$&lt;/span&gt;.  Each step can be done in 64-bit arithmetic semi-efficiently (with a few thousand basic arithmetical operations), so the whole computation should be semi-efficient.&lt;/p&gt;&#xA;&lt;hr /&gt;&#xA;&lt;p&gt;I feel like there ought to be some way to work modulo &lt;span class=&quot;math-container&quot;&gt;$2^i$&lt;/span&gt;, &lt;span class=&quot;math-container&quot;&gt;$3^j$&lt;/span&gt;, and &lt;span class=&quot;math-container&quot;&gt;$5^k$&lt;/span&gt;, and at each step separately increment either &lt;span class=&quot;math-container&quot;&gt;$i$&lt;/span&gt;, &lt;span class=&quot;math-container&quot;&gt;$j$&lt;/span&gt;, or &lt;span class=&quot;math-container&quot;&gt;$k$&lt;/span&gt;, but I haven't worked out the exact details of how to do that yet.  If you can make that work, the resulting scheme would be significantly more efficient.&lt;/p&gt;&#xA;" OwnerUserId="5038" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2013-11-07T05:36:31.690" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="19604" PostTypeId="2" ParentId="1684" CreationDate="2013-11-01T00:44:29.340" Score="2" Body="&lt;p&gt;One solution is to use Merkle hashing.  Use an immutable/persistent binary tree data structure.  Annotate each leaf node with the hash of the data contained within that leaf.  Annotate each internal node with the hash of the hashes on its two children.  In other words, if $n$ is an internal node with children $n',n''$, and they have been annotated with the hash values $y',y''$, then you should annotate the internal node $n$ with the hash value $y=H(y',y'')$, where $H$ is a hash function.  This adds only $O(1)$ extra work per node created to all tree operations.  For instance, you can support merging of two trees in $O(\lg n)$ time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another approach is to use a commutative, associative hash.  Label the root of the tree with $H(x_1,\dots,x_m)$, where $x_1,\dots,x_m$ represent the values on the $m$ leaves of the tree.  Then, use one of the hash function constructions suggested at &lt;a href=&quot;https://crypto.stackexchange.com/q/11420/351&quot;&gt;https://crypto.stackexchange.com/q/11420/351&lt;/a&gt; to ensure it has the commutative, associative property.  Now given two trees, you can merge them and construct the hash value on their root efficiently.&lt;/p&gt;&#xA;" OwnerUserId="5038" LastEditorUserId="-1" LastEditDate="2017-04-13T12:48:17.970" LastActivityDate="2013-11-01T00:44:29.340" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19606" PostTypeId="2" ParentId="4074" CreationDate="2013-11-01T04:50:10.423" Score="11" Body="&lt;h2&gt;Combinatorial Optimization&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Chandra Chekuri's &lt;em&gt;&lt;a href=&quot;http://courses.engr.illinois.edu/cs598csc/sp2010/&quot; rel=&quot;noreferrer&quot;&gt;Topics in Combinatorial Optimization&lt;/a&gt;&lt;/em&gt;&lt;/li&gt;&#xA;&lt;li&gt;Michel Goemans' &lt;em&gt;&lt;a href=&quot;http://ocw.mit.edu/courses/mathematics/18-997-topics-in-combinatorial-optimization-spring-2004/lecture-notes/&quot; rel=&quot;noreferrer&quot;&gt;Topics in Combinatorial Optimization&lt;/a&gt;&lt;/em&gt;&lt;/li&gt;&#xA;&lt;li&gt;Lex Schrijver's &lt;em&gt;&lt;a href=&quot;http://homepages.cwi.nl/%7Elex/files/dict.pdf&quot; rel=&quot;noreferrer&quot;&gt;A Course in Combinatorial Optimization&lt;/a&gt;&lt;/em&gt;&lt;/li&gt;&#xA;&lt;li&gt;Jan Vondrak's &lt;em&gt;&lt;a href=&quot;http://theory.stanford.edu/%7Ejvondrak/CS369P.html&quot; rel=&quot;noreferrer&quot;&gt;Polyhedral techniques in combinatorial optimization&lt;/a&gt;&lt;/em&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="13056" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2014-04-06T04:35:37.133" CommentCount="2" CommunityOwnedDate="2013-11-01T04:50:10.423" ContentLicense="CC BY-SA 3.0" />
  <row Id="19607" PostTypeId="2" ParentId="6801" CreationDate="2013-11-01T05:37:05.200" Score="0" Body="&lt;p&gt;I have been trying to find approaches to locate sub-matches within an expression in O(n) (n being the length of the input) time myself.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have a thought, which I would like to present here, and maybe I could get some help ironing it out.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider a regular expression: x(ab|(abc))y&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In this case, we are interested in 2 submatch captures. The NFA and DFA for the RE above are:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/EhK3T.png&quot; alt=&quot;NFA for x(ab|(abc))y&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;and&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/BxRrq.png&quot; alt=&quot;DFA for x(ab|(abc))y&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;respectively.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We shall focus on the 2nd submatch capture for now, since it poses a greater problem than the first one. The reason that sub-match captures are problematic is because the generated DFA can share a prefix with another expression that is not part of the submatch capture. However, I believe that a DFA that is part of a submatch capture can not share a suffix with another DFA that is not part of the submatch capture that it is part of. (Except for examples such as (ab|(ab)), in which case it doesn't matter).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Keeping this in mind, it seems that it is sufficient to start tracking a capture when we reach a state in the DFA that is composed of a state in the original NFA but corresponds to an open parenthesis to start the submatch capture. For example, state 2 in the DFA is such a state. However, we shall tag exit edges instead of exit nodes since we want to avoid the ambiguity problem. We always tag those edges as interesting edges if the destination DFA state is composed of an NFA state that included a closing parenthesis.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, if we tag state 16 in the NFA as an interesting state, then we find that epsilon-closure(16) = (16, 8, 9), and that would correspond to state 6 in the DFA. However, we need to track those edges that are incident on node 6 in the DFA and also have a starting node that originates from some state within the parenthesized expression. Depending on how we generate the NFA from the RE, we can ensure that we never have to deal with this situation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I believe that if we skip the DFA minimization step then the choice of such a starting node (and hence an edge) is easy to make. For example, consider the following RE: x(ab|(abc)|s)y&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The NFA and DFA follow:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/JfpNz.png&quot; alt=&quot;NFA for x(ab|(abc)|s)y&quot;&gt;&#xA;&lt;img src=&quot;https://i.stack.imgur.com/bUGkw.png&quot; alt=&quot;DFA for x(ab|(abc)|s)y&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It would have been entirely possible for an edge to go from state 2 in the DFA to state 7 in the DFA on an input of 's', but because of our construction, this doesn't happen.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The good news seems to be that we can match subexpressions in linear time. However, the bad news seems to be that the number of states in our DFA will at least be exponential in the number of parenthesized subexpressions (since we prefer to branch and replicate everything after it).&lt;/p&gt;&#xA;" OwnerUserId="983" LastActivityDate="2013-11-01T05:37:05.200" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19608" PostTypeId="1" CreationDate="2013-11-01T06:58:15.313" Score="0" ViewCount="111" Body="&lt;p&gt;First of all, to my best understanding, traditionally, if $f$ is a one-way function that maps a length $l$ bit string to another length $l$ bit string (i.e., $f:\{0,1\}^l\rightarrow\{0,1\}^l$), then given a length $l$ bit string $x$ that is chosen uniformly at random from $\{0,1\}^l$, the probability that an adversary can invert it in poly time is at most $o(1/poly(l))$. (Notice, it is small $o$, not big $O$.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, further assume $f$ is a one-way permutation, that is, $f$ is bijective. Hence, according to discussion in first paragraph, I think it's safe to say:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\forall x\in_{\mathcal{u}}: \mathbb{P}(A(f(x))=x)&amp;lt;1/poly(n)$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where $A$ is the adversary.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In fact, I'm going to strength our assumption a bit:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\forall x\in_{\mathcal{u}}: \mathbb{P}(A(f(x))=x)\leq 1/2^l$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, my question is, under above assumption, we give Eve a length $l$ string $x$ that is chosen uniformly at random, what is the probability that Eve found another string $y$ such that $f(y)$ and $f(x)$ has, say $l/4$ bits are the same?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More formally, let $I=\{i_1,\cdots,i_{|I|}\}$ be a set of non-negative integers (indice), let $L_{I,x}$ be the set of length $l$ bit strings such that:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\forall x'\in L_{I,x}: \forall i_j\in I, f(x')[i_j]=f(x)[i_j]$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where $f(x)[i_j]$ denotes the $i_j$th bit of $f(x)$ (and similar for $f(x')[i_j]$),&lt;/p&gt;&#xA;&#xA;&lt;p&gt;and the question is: given $I$, when we choose $f(x)$ uniformly at random from $\{0,1\}^l$, what is the probability that Eve found any $x'$ that is in $L_{I,x}$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Answers are great, but pointers to existing literature that studies this kind of problem are warmly welcome as well!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks in advance! &lt;/p&gt;&#xA;" OwnerUserId="18212" LastActivityDate="2013-11-01T06:58:15.313" Title="&quot;Partial&quot; invert a one-way permutation" Tags="&lt;permutations&gt;&lt;one-way-function&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="19610" PostTypeId="1" CreationDate="2013-11-01T11:07:57.623" Score="1" ViewCount="58" Body="&lt;p&gt;We have number of non-isomorphic graphs given in &lt;a href=&quot;http://planetmath.org/enumeratinggraphs&quot; rel=&quot;nofollow&quot;&gt;http://planetmath.org/enumeratinggraphs&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Over an alphabet $q$ how many non-isomorphic $[n,k,d]_q$ codes are possible particularly in the special case of $d=n-k+1$ (MDS case)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The paper here provides number of non-isomorphic $[n,k]_2$ codes without restricting distance.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question has distance restriction.&lt;/p&gt;&#xA;" OwnerUserId="1812" LastActivityDate="2013-11-01T11:07:57.623" Title="Number of non-isomorphic codes" Tags="&lt;coding-theory&gt;&lt;graph-isomorphism&gt;" AnswerCount="0" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19612" PostTypeId="2" ParentId="6704" CreationDate="2013-11-01T14:06:08.480" Score="2" Body="&lt;p&gt;Not quite a complete answer, but seems to be an improvement:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The research papers cited above compare the problem of computing eth roots mod N, i.e. doing the private key operation in the RSA cryptosystem, to the problem of factoring, i.e. finding the private key, in both cases, using only the public key.   In this case, the factoring problem is not the general case, but the semiprime case.  In other words, they are considering a different question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I believe that it is known, see Knuth's AoCP, that most numbers N have prime factorizations whose bit lengths compare in bit length to that of N, on average something like 1/2, 1/4, 1/8, ..., or perhaps even falling off more sharply, as in 2/3, 2/9, 2/27, ... but maybe flattening out.  So, for general random N of size small enough that the smaller factors can be expected to be found quickly by trial division or Lenstra's ECM, then what remains may be a semiprime, though an unbalanced one.  This is a kind of reduction, but it depensds heavily on the distribution of factors, and it is a slow reduction, in that it invokes other factorization algorithms.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, there is no known test for determining if a number is semiprime or not.  This only means that if one just applied a semiprime factorization algorithm to a general number, and it always failed, then one has solved an unknown problem.  &lt;/p&gt;&#xA;" OwnerUserId="18217" LastActivityDate="2013-11-01T14:06:08.480" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19613" PostTypeId="1" CreationDate="2013-11-01T16:42:18.020" Score="7" ViewCount="864" Body="&lt;p&gt;Given a graph $G$, what is the minimum number of edges of $G$ that we need to delete to make the graph triangle free? To my untrained eye, this appears to be a difficult problem. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is this problem known to be NP-complete? What about the analogue for oriented graphs (i.e., digraphs with no parallel edges) and directed 3-cycles? References would be greatly appreciated!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT: David has very helpfully answered my question, in the undirected case, below. Any information on the directed/oriented version would be much appreciated.&lt;/p&gt;&#xA;" OwnerUserId="18221" LastEditorUserId="18221" LastEditDate="2013-11-04T14:08:47.250" LastActivityDate="2014-01-02T08:15:45.440" Title="Minimum Triangle Covers" Tags="&lt;cc.complexity-theory&gt;&lt;graph-algorithms&gt;&lt;np-hardness&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19615" PostTypeId="2" ParentId="19613" CreationDate="2013-11-01T17:02:40.643" Score="12" Body="&lt;p&gt;The undirected version is NP-hard. More specifically, the following problem, known as &lt;strong&gt;Partial Feedback Edge Set&lt;/strong&gt; is NP-complete: given an undirected graph&amp;nbsp;$G$, and positive integers $K$ and $L$, is there a set of at most $K$&amp;nbsp;edges that contains at least one edge from every cycle of length at most&amp;nbsp;$L$ in&amp;nbsp;$G$.  This is still NP-complete for any fixed $L\geq 3$, and if $G$&amp;nbsp;is restricted to be bipartite (in which case, $L$&amp;nbsp;may also be fixed to any value of at least&amp;nbsp;$4$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the directed case, Karp's proof that Feedback Arc Set is NP-complete  actually shows that it's NP-complete to determine if you can remove all directed $4$-cycles from an oriented graph by deleting at most $k$&amp;nbsp;edges. (His reduction from Vertex Cover produces an oriented, triangle-free graph in which deleting all $4$-cycles deletes all cycles.) But that's not what you're asking.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Sources: The undirected version is problem GT9 of Garey and Johnson, &lt;em&gt;Computers and Intractability&lt;/em&gt; (Freeman, New York, 1979). The original paper was Yannakakis, &lt;em&gt;&lt;a href=&quot;http://dl.acm.org/citation.cfm?doid=800133.804355&quot; rel=&quot;nofollow&quot;&gt;Node- and edge-deletion NP-complete problems&lt;/a&gt;&lt;/em&gt; (Proceedings of STOC 1978) but it doesn't seem to contain a proof. Karp's Feedback Arc Set proof is on page&amp;nbsp; of the &quot;21&amp;nbsp;problems&quot; paper: &lt;em&gt;&lt;a href=&quot;http://cgi.di.uoa.gr/~sgk/teaching/grad/handouts/karp.pdf&quot; rel=&quot;nofollow&quot;&gt;Reducibility among combinatorial problems&lt;/a&gt;&lt;/em&gt; (Proceedings of symposium on Complexity of Computer Computations, 1972).&lt;/p&gt;&#xA;" OwnerUserId="17082" LastEditorUserId="17082" LastEditDate="2013-11-04T19:04:19.423" LastActivityDate="2013-11-04T19:04:19.423" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19617" PostTypeId="5" CreationDate="2013-11-01T20:37:41.397" Score="0" Body="" OwnerUserId="-1" LastEditorUserId="-1" LastEditDate="2013-11-01T20:37:41.397" LastActivityDate="2013-11-01T20:37:41.397" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19618" PostTypeId="4" CreationDate="2013-11-01T20:37:41.397" Score="0" Body="Clustering is an unsupervised learning problem. It deals with finding &quot;clusters&quot; or groups in a collection of unlabeled data.&#xD;&#xA;A cluster is therefore a collection of objects which are “similar” and are “dissimilar” to the objects belonging to other clusters." OwnerUserId="16195" LastEditorUserId="80" LastEditDate="2013-11-01T21:18:03.753" LastActivityDate="2013-11-01T21:18:03.753" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19619" PostTypeId="5" CreationDate="2013-11-01T20:41:09.243" Score="0" Body="" OwnerUserId="-1" LastEditorUserId="-1" LastEditDate="2013-11-01T20:41:09.243" LastActivityDate="2013-11-01T20:41:09.243" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19620" PostTypeId="4" CreationDate="2013-11-01T20:41:09.243" Score="0" Body="" OwnerUserId="-1" LastEditorUserId="-1" LastEditDate="2013-11-01T20:41:09.243" LastActivityDate="2013-11-01T20:41:09.243" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19621" PostTypeId="1" AcceptedAnswerId="19624" CreationDate="2013-11-01T21:50:28.317" Score="4" ViewCount="485" Body="&lt;p&gt;there are various theorems that relate major complexity class separations to circuit family DAGs sizes, in particular for P/poly vs NP. in contrast,&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;are there theorems/conjectures that relate P/poly vs NP separation to the size of circuit &lt;em&gt;trees&lt;/em&gt; (aka formulas)?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;note of course that CNF/SAT is a boolean formula. an example in this form would be something like if a CNF circuit family $C_n$ requires size $\Omega(g(n))$ clauses to compute function $f$ (alternately, can compute $f'$ in $O(g'(n))$ clauses) then NP $\not\subset$ P/poly, but the question is not limited to CNF &amp;amp; is asking about formulas in general. ([1] is a somewhat related question) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] &lt;a href=&quot;https://cstheory.stackexchange.com/questions/4867/complexity-of-converting-a-boolean-circuit-to-a-boolean-formula&quot;&gt;Complexity of converting a boolean circuit to a boolean formula&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2013-11-02T15:00:50.733" Title="P/poly vs NP separation based on circuit trees instead of DAGs" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;&lt;lower-bounds&gt;&lt;p-vs-np&gt;&lt;circuits&gt;" AnswerCount="2" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19622" PostTypeId="2" ParentId="19621" CreationDate="2013-11-01T23:24:44.173" Score="8" Body="&lt;p&gt;The class of functions computable by formulas of polynomial size is equivalent to the (nonuniform) class $\mathsf{NC}^1$ of functions computable by (bounded fanin/fanout) circuits of logarithmic depth. Proving the two implications is a nice exercise. In one direction, you can recursively &quot;untangle&quot; each level of a circuit by creating copies of gates. This increases the size by a constant factor for each of the $O(\log n)$ levels of the circuit. The other direction is proven by balancing the tree of the formula.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, $\mathsf{NC}^1$ is equivalent, by Barrington's theorem, to width 5 polynomial size branching programs. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;We know  that the uniform version of $\mathsf{NC}^1$ is contained in $\mathsf{L} \subseteq \mathsf{P}$ ($\mathsf{L}$ stands for deterministic logspace). It is not known whether any of these containments is proper AFAIK. Also it is not known whether the non-uniform $\mathsf{NC}^1$ is a proper subset of $\mathsf{P/\text{poly}}$.&lt;/p&gt;&#xA;" OwnerUserId="4896" LastEditorUserId="4896" LastEditDate="2013-11-01T23:29:57.093" LastActivityDate="2013-11-01T23:29:57.093" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="19624" PostTypeId="2" ParentId="19621" CreationDate="2013-11-02T15:00:50.733" Score="7" Body="&lt;p&gt;As Sasho suggested, I am putting my comment as an answer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The separations between &lt;em&gt;monotone&lt;/em&gt; versions of $\mathsf{NC}^1/\mathsf{poly}$ and $\mathsf{P/poly}$ versions of complexity are long known (Karchmer-Wigderson, Grigni-Sipser, etc), but in the &lt;em&gt;non-monotone&lt;/em&gt; world almost nothing was known. Fortunately, Ben Rossman &lt;a href=&quot;http://theory.cs.uchicago.edu/abstract.php?id=rossman&quot;&gt;has recently found&lt;/a&gt; the first separation of formulas vs. circuits in the &lt;em&gt;bounded depth&lt;/em&gt; setting.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $\mathrm{Circuit}(S,d)$ (resp.,  $\mathrm{Formula}(S,d)$) denote the set of all boolean functions computable by unbounded fanin circuits (resp. formulas) of depth $\leq d$ and size $\leq S$. It is clear that&#xA;$$&#xA;\mathrm{Circuit}(S,d) \subseteq \mathrm{Formula}(S^d,d).&#xA;$$&#xA;In particular,&#xA;$$&#xA;\mathrm{Circuit}(n^{O(1)},d) \subseteq \mathrm{Formula}(n^{O(d)},d).&#xA;$$&#xA;What Ben has shown is that, if $d=d(n)\leq \log\log\log n$, then&#xA;$$&#xA;\mathrm{Circuit}(n^{O(1)},d) \not\subseteq \mathrm{Formula}(n^{o(d)},d).&#xA;$$&#xA;Even more important is that he shows this separation on an &lt;b&gt;explicit&lt;/b&gt; and basic function $\mathrm{STCONN}(n,k)$: given an $n$-vertex graph, decide whether it has an $s$-$t$ path of length $\leq k$. This function is in $\mathrm{Circuit}(n^{O(1)},\log k)$.&#xA;His main result is: if $dk^3\leq \log n/\log\log n$ then&#xA;$$&#xA;\mathrm{STCONN}(n,k)\in  \mathrm{Formula}(S,d)\ \Longrightarrow\ S\geq n^{\Omega(\log k)}.&#xA;$$&#xA;This implies a tight depth lower bound: if $k\leq \log\log n$ then&#xA;$$&#xA;\mathrm{STCONN}(n,k)\in  \mathrm{Circuit}(n^{O(1)},d)\ \Longrightarrow\ d=\Theta(\log k).&#xA;$$&#xA;The existing techniques for small-depth circuit -- namely switching lemmas and approximation by&#xA;low-degree polynomials-- do not distinguish between formulas and circuits due to their&#xA;&lt;em&gt;bottom-up&lt;/em&gt; nature. &lt;em&gt;Top-down&lt;/em&gt; arguments, as Karchmer-Wigderson games, are difficult to realize in the&#xA;non-monotone case. What Ben uses is a combination of these arguments. &lt;/p&gt;&#xA;" OwnerUserId="5788" LastActivityDate="2013-11-02T15:00:50.733" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="19626" PostTypeId="1" AcceptedAnswerId="19642" CreationDate="2013-11-02T17:25:15.223" Score="2" ViewCount="493" Body="&lt;p&gt;Considering the definition&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&quot;2-SAT: Given a CNF formula whose clauses have exactly 2 literals,&#xA;  does there exist an assignment of $\mathsf{TRUE}$ or $\mathsf{FALSE}$ to the variables&#xA;  that will satisfy the formula?&quot;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question 1:&lt;/strong&gt; Is it necessary to give an assignment, or is it sufficient to prove that an assignment exists? (This question has been answered by Vijay D.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question 2:&lt;/strong&gt; A reliable assignment is a partial assignment which is guaranteed to deliver only satisfying assignments under DPLL. I.e., DPLL can never resolve an empty clause and therefore never produces an unsatisfying assignment. A reliable assignment is different from an implicant as it does not necessarily satisfy all clauses. However, an implicant is a special case of a reliable assignment.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would prefer using the correct term for this type of assignment.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question3:&lt;/strong&gt; Reliable assignments appear in my SAT solving algorithm as an entire set with cost O(n^2). A set of implicants can be generated by distributive expansion of the disjunctions defining the reliable assignments with cost O(2^n). Due to the construction, each implicant is necessarily defined by the conjunction of a subset of reliable assignments.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does such a set of reliable assignments appear in other algorithms?&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Context&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The reliable assignments appear in the context of &lt;a href=&quot;http://www.sw-amt.ws/satoku/doc/doc-partial-distributive-expansion/README.html&quot; rel=&quot;nofollow&quot;&gt;Partial Distributive Expansion&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Detailed examples are available at &lt;a href=&quot;http://sw-amt.ws/exp/prime-implicants/README.html&quot; rel=&quot;nofollow&quot;&gt;Prime Implicants and Reliable Assignments&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The full context is an integrated SAT algorithm for a complete set of solutions. Here is an &lt;a href=&quot;http://www.sw-amt.ws/satoku/doc/doc-rationale/README.html&quot; rel=&quot;nofollow&quot;&gt;informal rationale&lt;/a&gt; on what I have to cover eventually. Any hints welcome.&lt;/p&gt;&#xA;" OwnerUserId="18231" LastEditorUserId="18231" LastEditDate="2013-11-10T13:59:54.757" LastActivityDate="2013-11-10T18:37:35.413" Title="Questions about special types of partial assignments" Tags="&lt;cc.complexity-theory&gt;&lt;lo.logic&gt;&lt;sat&gt;" AnswerCount="2" CommentCount="20" FavoriteCount="1" CommunityOwnedDate="2013-11-09T22:00:06.643" ContentLicense="CC BY-SA 3.0" />
  <row Id="19631" PostTypeId="1" CreationDate="2013-11-03T08:10:42.413" Score="15" ViewCount="340" Body="&lt;p&gt;There are studies about approximation algorithms for NP complete problems in Polynomial time and exact algorithms in exponential time. Are there studies about approximation algorithms for NP complete problems in subexponential time of form $2^{n^{\delta_2}}$ where $\delta_2\in(0,1)$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am particularly interested in what is known about hard to polynomial time approximable problems such as Independence number and Clique number in subexponential time? Note that ETH only prohibits exact computation in such a time frame. Say Independence number is $\alpha(G)=2^{r(n)n}$ on a graph with vertex count $|V|=2^{s(n)n}$ for some $0&amp;lt;r(n)&amp;lt;s(n)$. Is an $2^{(r(n)n)^{\delta_1}}$-factor approximation scheme possible for Independence number in time $2^{|V|^{\delta_2}}=2^{2^{\delta_2s(n) n}}$ where $0&amp;lt;\delta_1&amp;lt;1$ and $0&amp;lt;\delta_2&amp;lt;1$ are some fixed positive reals?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;That is for every $\delta_1\in(0,1)$ is there a $\delta_2\in (0,1)$ such that $\alpha(G)$ can be approximated within $2^{\log_2^{\delta_1}(\alpha(G))}=2^{(r(n)n)^{\delta_1}}$ factor in time $2^{|V|^{\delta_2}}=2^{2^{\delta_2s(n) n}}$? &lt;/p&gt;&#xA;" OwnerUserId="1812" LastEditorUserId="1812" LastEditDate="2013-11-04T05:40:32.977" LastActivityDate="2014-03-15T09:35:59.747" Title="Approximation in subexponental time" Tags="&lt;approximation-algorithms&gt;&lt;approximation-hardness&gt;" AnswerCount="2" CommentCount="8" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="19632" PostTypeId="1" CreationDate="2013-11-03T08:51:46.777" Score="3" ViewCount="346" Body="&lt;p&gt;Using quantum computers we can do calculations very fast.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However from a layman's view, I want to know the impact of quantum computers have on Theoretical computer science.&lt;/p&gt;&#xA;" OwnerUserId="10995" LastActivityDate="2013-11-05T22:02:30.883" Title="Impacts of quantum computing on Theoretical Computer Science" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;quantum-computing&gt;" AnswerCount="2" CommentCount="5" ClosedDate="2013-11-08T19:14:40.840" ContentLicense="CC BY-SA 3.0" />
  <row Id="19635" PostTypeId="1" CreationDate="2013-11-03T18:48:58.090" Score="0" ViewCount="60" Body="&lt;p&gt;Let &lt;span class=&quot;math-container&quot;&gt;$s = \{\sigma_1, \sigma_2 \ldots \sigma_n\}$&lt;/span&gt;, where &lt;span class=&quot;math-container&quot;&gt;$\sigma_i \in \Sigma$&lt;/span&gt;, denote a set of alphabet characters.&lt;/p&gt;&#xA;&lt;p&gt;And &lt;span class=&quot;math-container&quot;&gt;$s \in S$&lt;/span&gt; where &lt;span class=&quot;math-container&quot;&gt;$S$&lt;/span&gt; denotes a set of sets.&lt;/p&gt;&#xA;&lt;p&gt;Given a new set &lt;span class=&quot;math-container&quot;&gt;$s' = \{\sigma'_1, \sigma'_2, \ldots \sigma'_n \}$&lt;/span&gt; is there an efficient algorithm for getting all sets, &lt;span class=&quot;math-container&quot;&gt;$s'' \in S$&lt;/span&gt;, where &lt;span class=&quot;math-container&quot;&gt;$s' \subset s''$&lt;/span&gt;&lt;/p&gt;&#xA;&lt;p&gt;In other words, given a set of sets, is there a way of getting the subset of sets the contain specific set of attributes?&lt;/p&gt;&#xA;&lt;p&gt;I would be willing to build data structures with search and update complexities in the &lt;span class=&quot;math-container&quot;&gt;$O(\log (n))$&lt;/span&gt; range, &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt; being the number of sets - also I would like the alphabet &lt;span class=&quot;math-container&quot;&gt;$\Sigma$&lt;/span&gt; to be infinite.&lt;/p&gt;&#xA;&lt;p&gt;The alphabet size is not known in advance.&lt;/p&gt;&#xA;&lt;p&gt;This seems like a pretty simple problem, I am however not able to get my head around it.&lt;/p&gt;&#xA;&lt;h2&gt;&lt;strong&gt;Example:&lt;/strong&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Given the dataset &lt;span class=&quot;math-container&quot;&gt;$S$&lt;/span&gt;:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$s_1$&lt;/span&gt;: {a,b,c,d}&lt;/p&gt;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$s_2$&lt;/span&gt;: {a,c,d}&lt;/p&gt;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$s_3$&lt;/span&gt;: {b,c,d,f}&lt;/p&gt;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$s_4$&lt;/span&gt;: {a,b,d,h}&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;and the query string &lt;span class=&quot;math-container&quot;&gt;$s'$&lt;/span&gt; = &lt;code&gt;{a,b}&lt;/code&gt;&lt;/p&gt;&#xA;&lt;p&gt;I would like the result :&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$s_1$&lt;/span&gt;: {a,b,c,d}&lt;/p&gt;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$s_4$&lt;/span&gt;: {a,b,d,h}&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;The only sets containing the two elements.&lt;/p&gt;&#xA;" OwnerUserId="9537" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2013-11-04T06:27:20.850" Title="Finding containing sets, within sets of sets" Tags="&lt;regular-language&gt;&lt;regular-expressions&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="19636" PostTypeId="1" CreationDate="2013-11-03T18:55:07.587" Score="13" ViewCount="891" Body="&lt;p&gt;What exactly is theoretical computer science? Is it learning to code in various language and making apps in platforms? Or is it just thinking about faster and faster algorithms so that you can achieve a task more efficiently by the computers? Or is it programming and thinking of new life situations which can be simulated on a computer? What exactly are we trying to do here ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, physics is trying to find all the laws of nature that govern it; mathematics is a tautology based to model reality and used as a very precise language by other subjects.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What exactly is theoretical computer science? When computers were designed by us humans for application purposes, hence it must all drop down to mathematics and physics in the end? Then where is the &quot;theory&quot; in computer science itself.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Sorry for being too naive but I want to know what does a theoretical computer scientist do ?&lt;/p&gt;&#xA;" OwnerUserId="18245" LastActivityDate="2013-11-11T19:18:42.773" Title="What is theoretical computer science?" Tags="&lt;big-picture&gt;" AnswerCount="2" CommentCount="8" FavoriteCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="19637" PostTypeId="2" ParentId="19631" CreationDate="2013-11-03T19:49:46.917" Score="10" Body="&lt;p&gt;One paper that gives an answer to this question is &lt;a href=&quot;http://arxiv.org/pdf/1308.2617v2.pdf&quot;&gt;Chalermsook, Laekhanukit, &amp;amp; Nanongkai (2013)&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are also related works in the context of Fixed Parameter Tractability such as&#xA;&lt;a href=&quot;http://arxiv.org/pdf/1310.2711v1.pdf&quot;&gt;Hajiaghayi, Khandekar, &amp;amp; Kortsarz (2013)&lt;/a&gt; and &lt;a href=&quot;http://arxiv.org/pdf/1308.3520v1.pdf&quot;&gt;Chitnis, Hajiaghayi, Kortsarz (2013)&lt;/a&gt;.&#xA;These hardness results are proven under various assumptions such as ETH or existence of very strong PCPs.&lt;/p&gt;&#xA;" OwnerUserId="15711" LastEditorUserId="1037" LastEditDate="2014-03-15T00:07:18.063" LastActivityDate="2014-03-15T00:07:18.063" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19638" PostTypeId="2" ParentId="19636" CreationDate="2013-11-03T19:57:06.543" Score="12" Body="&lt;p&gt;For a rough answer, if you are new to TCS you can probably think of it as a sub-area of mathematics: Theoretical computer science consists mainly of &lt;em&gt;proving theorems&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you want a contrast with standard &quot;mathematics&quot;, TCS is (I think) primarily &lt;em&gt;algorithmic&lt;/em&gt;: Focusing on the design, analysis, and theoretical capabilities/limitations of algorithms.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Computer science can also be experimental, &lt;em&gt;i.e.&lt;/em&gt; a &lt;em&gt;natural&lt;/em&gt; science like physics or biology, but this tends to more often fall outside the realm of &quot;theory&quot;.&lt;/p&gt;&#xA;" OwnerUserId="8243" LastActivityDate="2013-11-03T19:57:06.543" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19639" PostTypeId="2" ParentId="19594" CreationDate="2013-11-03T21:23:50.030" Score="12" Body="&lt;p&gt;BP and most of its variants are proved to converge on graphs without cycles. When you have cycles they show very strange behavior sometimes. For these cases people have tried different approximations schemes, for example Sherali-Adams, Lovasz-Schrijver, and Lasserre Hierarchies. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;See [1] for a comprehensive review of these approximations. Also (Wainwright and Jordan, 2008) includes other class of approximations. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] &lt;a href=&quot;http://cs.nyu.edu/~dsontag/papers/sontag_phd_thesis.pdf&quot;&gt;http://cs.nyu.edu/~dsontag/papers/sontag_phd_thesis.pdf&lt;/a&gt; &lt;/p&gt;&#xA;" OwnerUserId="15645" LastActivityDate="2013-11-03T21:23:50.030" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19640" PostTypeId="1" CreationDate="2013-11-03T22:38:34.753" Score="11" ViewCount="1272" Body="&lt;p&gt;I am looking for resources (preferably a handbook) on advanced topics in algorithms (topics beyond what is covered in algorithms textbooks like CLRS and DPV). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The type of material that can be used for teaching a topics in algorithms course like &#xA;Erik Demaine and David Karger's &lt;a href=&quot;http://courses.csail.mit.edu/6.854/03/&quot;&gt;Advanced Algorithms course&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Resources that would give an overview of the field (like a handbook) are preferable, &#xA;but more focused resources like Vijay Vazirani's &quot;Approximation Algorithms&quot; book are also fine.&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2013-11-03T22:51:34.027" LastActivityDate="2013-11-06T02:25:35.517" Title="Handbook of advanced algorithms" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;survey&gt;&lt;books&gt;" AnswerCount="7" CommentCount="3" FavoriteCount="18" ContentLicense="CC BY-SA 3.0" />
  <row Id="19642" PostTypeId="2" ParentId="19626" CreationDate="2013-11-04T02:41:51.893" Score="8" Body="&lt;p&gt;Answer to your primary question: You have posed a Yes/No question. By definition, a Yes/No answer suffices. There is no requirement to produce any kind of assignment as an answer. If you modify the problem to require a &lt;em&gt;certificate&lt;/em&gt; for the Yes/No answer, the answer will depend on what constraints you impose on the certificate and the certification algorithm (should it be linear-time verifiable, etc.).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Answer about terminology: The most common term I know of for what you call ``micromal'' is minimal assignment. I do not have a good sense for how standard this terminology is. If the partial assignments are represented as formulae, you obtain the very standard notion of &lt;em&gt;prime implicants&lt;/em&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is some confusion about terminology in your answer so I will expand on this issue below.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Assignments and Partial Assignments&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;A partial assignment is a partial function in $\mathit{Var} \to \{\mathsf{true}, \mathsf{false}\}$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;A partial assignment $\pi$ &lt;em&gt;refines&lt;/em&gt; a partial assignment $\theta$ if for every variable $x$ on which $\theta$ is defined, $\pi$ is also defined and $\theta(x) = \pi(x)$. This definition allows $\pi$ to assign values for variables not assigned to by $\theta$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A &lt;em&gt;total assignment&lt;/em&gt; is a partial assignment that is a total function. A partial assignment represents the set of total assignments that refine it (meaning, that extend it). Observe that these definitions make no reference to formulae.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can define the truth value of a formula under a partial assignment in a fairly standard manner. The only difference to defining the truth value of a formula under an assignment is that a formula may be $\mathsf{true}$, $\mathsf{false}$ or $\mathsf{unknown}$ under a partial assignment.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Minterms and Cubes&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A &lt;em&gt;literal&lt;/em&gt; in propositional logic is a Boolean variable or its negation. A &lt;em&gt;cube&lt;/em&gt; is a conjunction of literals. A cube is a &lt;em&gt;minterm&lt;/em&gt; is a cube in which every variable occurs exactly once.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is a correspondence between minterms and partial assignments. Every partial assignment  $\pi$ defined on exactly $k$ variables can be represented by a minterm $\ell_0 \land \cdots \land \ell_{k-1}$, such that $\ell_i = x_i$ if  $\pi$ is defined on $x_i$ and sends $x_i$ to $\mathsf{true}$ and $\ell_i = \neg x_i$ if $\pi$ sends $x_i$ to $\mathsf{false}$. Observe that a total assignment $\sigma$ refines a partial assignment $\pi$ exactly if the assignment $\sigma$ satisfies the cube representation of $\pi$. We can similarly move in the other direction and represent cubes as partial assignments.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Prime Implicants and Minimal Assignments&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Everything above was stated without needing the notion of a formula which is being solved. Let $F$ be a Boolean formula.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An &lt;em&gt;implicant&lt;/em&gt; $C$ of a formula $F$ is a cube that implies $F$. The implicant $C$ is a &lt;em&gt;prime implicant&lt;/em&gt; if there is no smaller cube that is an implicant.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The dual notion is of an &lt;em&gt;implicate&lt;/em&gt;. An &lt;em&gt;implicate&lt;/em&gt; $C$ of a formula $F$ is a clause $C$ that is implied by $F$. A &lt;em&gt;prime implicate&lt;/em&gt; is an implicate that with no sub-clause that is an implicate.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The connection to your question is: If a partial assignment $\pi$ represents an implicant for a formula $F$, then every total assignment that refines $\pi$ satisfies $F$. Moreover, if no $\theta$ refined by $\pi$ represents an implicant, then $\pi$ represents a prime implicant. The literature on prime implicants is vast, but you only need to follow work that is based on modern SAT solvers because they will be using partial assignments.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Formalizing your question&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think it would help to use more precise terms in formalizing your question. Here are some examples.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider a partial assignment $\pi$ and a formula $F$.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;What is $\pi$ called if every total assignment $\theta$ that refines $\pi$ satisfies $F$? That is, $\pi$ represents a subset of the satisfiying assignments of $F$.&lt;/li&gt;&#xA;&lt;li&gt;What is $\pi$ called if every total assignment $\theta$ that satisfies $F$ also refines $\pi$? That is, $\pi$ represents a superset of the satisfying assignments of $F$.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Some comments. There is a unique, maximally defined partial assignment that contains a superset of all satisfying assignments to $F$. You can construct this by taking the conjunction of all literals implied by $F$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is no unique partial assignment that represents only satisfying assignments of $F$. There are multiple, maximal ones, corresponding to prime implicants.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;References about implicants&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;These references are within a model checking context as I am more familiar with that context. There are discussions of minimizing assignments and manipulation of implication graphs in both these papers.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://link.springer.com/chapter/10.1007/978-3-540-24730-2_3&quot; rel=&quot;nofollow noreferrer&quot;&gt;Minimal Assignments for Bounded Model Checking&lt;/a&gt;, Ravi and Somenzi, 2004. (I did not find a freely available PDF, but maybe you can mail the authors if you don't have Springer access).&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://kenmcmil.com/pubs/CAV02.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Applying SAT Methods in Unbounded Symbolic Model Checking&lt;/a&gt;, McMillan, 2002.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;About your algorithm&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are certain things you are doing in your algorithm which makes me wonder if you are familiar with modern SAT algorithms.  You are describing a mix of the original Davis-Putnam and the Davis-Logeman-Loveland algorithm from the 60s. Specifically, Steps 4 and 5 are implemented differently today in what is called the &lt;em&gt;unit rule&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Please confirm if this is what you mean by  &lt;em&gt;reliable assignment&lt;/em&gt;. &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;A partial assignment $\pi$ is &lt;em&gt;reliable&lt;/em&gt; for a formula $F$ if some&#xA;  extension of $\pi$ satisfies $F$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I think that this definition is equivalent to yours but much much shorter. A better term would be &lt;em&gt;feasible&lt;/em&gt;. Note that a partial assignment that is not reliable in the sense defined here is called a &lt;em&gt;conflict&lt;/em&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would suggest looking at the following CS Theory answers. (and all have answers shamelessly from me)&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/a/7611/4155&quot;&gt;Starting SAT solver papers&lt;/a&gt; &lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/questions/16133/cnf-rule-hierarchy-discovery/16134#16134&quot;&gt;CNF Rule Hierarchy Discovery&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/questions/18716/good-reference-about-approximate-methods-for-solving-logic-problems/18717#18717&quot;&gt;Good reference about approximate methods for solving logic problems&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="4155" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2013-11-09T12:28:18.617" CommentCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="19645" PostTypeId="2" ParentId="19635" CreationDate="2013-11-04T06:27:20.850" Score="2" Body="&lt;p&gt;The problem you are trying to solve is called PARTIAL-MATCH: given a database of sets, and a query set, find all sets in the database that contain the query. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The most relevant paper is one by Charikar, Indyk and Panigrahy from ICALP 2002: &#xA;&lt;a href=&quot;http://dl.acm.org/citation.cfm?id=684567&quot; rel=&quot;nofollow&quot;&gt;New Algorithms for Subset Query, Partial Match, Orthogonal Range Searching, and Related Problems&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;That's on the theoretical side. In practice, many simplifications can be made if one knows something about the sets and the query. For example if $|Q|$ is small, you might be able to get away with an &lt;a href=&quot;http://en.wikipedia.org/wiki/Inverted_index&quot; rel=&quot;nofollow&quot;&gt;inverted index&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2013-11-04T06:27:20.850" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19648" PostTypeId="1" AcceptedAnswerId="30529" CreationDate="2013-11-02T20:34:54.200" Score="3" ViewCount="888" Body="&lt;p&gt;&lt;strong&gt;Ising Model&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;Pr(x; \lambda) = \frac{1}{Z(\lambda)} \exp \left( \sum_{ij \in E} \lambda_{ij} x_{ij} \right)  &#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In which $\lambda_{ij} \in \mathbb{R}$, and&lt;br&gt;&#xA;$$&#xA;x_{ij} = &#xA;\begin{cases}&#xA;1 &amp;amp; x_i = x_j\\ &#xA;-1 &amp;amp; x_i \neq x_j&#xA;\end{cases}&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;and we are looking for &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;x^* = \arg\max_x Pr(x; \lambda)&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is proven to be NP-Complete. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Max Cut&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given the graph $G(V,E)$ and non-negative weights $w_{ij} \in E $ the goal is to find the set of vertices $S$ such that we maximize the the weight of edges in the cut $(S, V \setminus S)$ (the edges with the start-point in $S$ and end-point in $V\setminus S$).&#xA;More formally, by assuming $w_{ij} = 0, \forall e_{ij} \notin E $, we dote the weight of the cut by $w(S, V \setminus S) = \sum_{i \in S, j \in V \setminus S} w_{i,j}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is proven to be NP-Complete. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Min Cut&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Exactly like Max-Cut, but the goal is to minimize the weight of the cut. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem could be solved in polynomial time using its max-flow formulation. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Problem Statement&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In [1] (Page 16, last paragraph) it is mentioned that &quot;finding the most likely assignment in an Ising model is equivalent to a cut problem. For example, if  $\mu \leq 0$, then the MAP assignment for graph $G = (V; E)$ corresponds to the maximum cut of $G$ with edge weights $\lambda$.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am looking for the direct conversion between the two problems. The 2nd sentences (Started by &quot;For example&quot;) also doesn't make sense to me. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand in Page 20 of [1] (Second paragraph), it is mentioned that: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&quot;In the positive side, MAP inference in Ising models with ferromagnetic potentials, or&#xA;positive edge weights, is equivalent to the minimum cut problem, which can be solved in&#xA;nearly linear time (Karger, 2000)&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'd interpret this as, Min Cut (which is Poly-time) is &lt;em&gt;special case&lt;/em&gt; of MAP inference. Again, this is a little vague. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] &lt;a href=&quot;http://cs.nyu.edu/~dsontag/papers/sontag_phd_thesis.pdf&quot; rel=&quot;nofollow&quot;&gt;http://cs.nyu.edu/~dsontag/papers/sontag_phd_thesis.pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="15645" OwnerDisplayName="Daniel" LastActivityDate="2015-02-18T01:57:00.960" Title="Max-cut equivalence with most likely assignment to an Ising model" Tags="&lt;graph-theory&gt;&lt;approximation&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19649" PostTypeId="2" ParentId="19640" CreationDate="2013-11-04T09:58:04.470" Score="4" Body="&lt;p&gt;I rather liked &quot;Algorithmics for Hard Problems&quot; by Juraj Hromkovic&lt;/p&gt;&#xA;" OwnerUserId="9553" LastActivityDate="2013-11-04T09:58:04.470" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19650" PostTypeId="1" CreationDate="2013-11-04T10:51:17.847" Score="0" ViewCount="110" Body="&lt;p&gt;I would like to know how is theoretical computer science helping to understand mathematics, physics and biology better in our universe. How is it all merging out and how is theoretical computer science helping us to get a better understanding of nature around us? Perhaps some physical problem solved by some unconventional way of using computer science to help understand something in nature that wasn't previously understood well enough/or not understood at all. I don't mean just the application of part of something like the internet for sharing data, but something like theoretical computer science offered a new insight into, for example like quantum mechanics/string theory, some theorem of mathematics or cure for a disease. links to some research papers might be helpful.&lt;/p&gt;&#xA;" OwnerUserId="18254" LastActivityDate="2013-11-04T10:51:17.847" Title="Contributions Of Computer Science" Tags="&lt;big-picture&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="19652" PostTypeId="1" AcceptedAnswerId="29091" CreationDate="2013-11-04T11:19:29.483" Score="4" ViewCount="229" Body="&lt;p&gt;Is anybody aware of a concurrent version of Tarjan's SCCs algorithm, Kosaraju's algorithm or any other fast, O(|V| + |E|) algorithm for finding SCCs? Neither of those algorithms seem to be very hard to multithread, but I'd be happy for somebody else to have done this job. What I'm trying to handle here is an 8 GB directed graph, which I keep in RAM using a big AWS instance, and I'd like to make a good use of all 16 cores.&lt;/p&gt;&#xA;" OwnerUserId="13859" LastActivityDate="2015-01-09T17:12:28.243" Title="Concurrent algorithm for strongly connected components (SCCs)" Tags="&lt;ds.algorithms&gt;&lt;graph-algorithms&gt;&lt;ds.data-structures&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19653" PostTypeId="2" ParentId="19522" CreationDate="2013-11-04T13:43:22.850" Score="5" Body="&lt;p&gt;Everything interesting happens in this paper happens within the 2D subspace generated by the two vectors $|s\rangle$ and $|w\rangle$. The vector $|r\rangle$ is a vector from this subspace orthogonal to $|w\rangle$, giving us the basis $|w\rangle, |r\rangle$, where the analysis will be very simple (using 2x2 matrices).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The norm in the second question is simply $|||a\rangle||^2 = \langle a | a \rangle $. The meaning of individual terms in the sum is: &quot;Does the result of our (Hamiltonian) algorithm actually get away from the (useless) state we would get without applying the oracle at all?&quot; If this term is small for many different instances (different $w$'s), the algorithm doesn't work, as it would likely give the same (wrong) answer for these instances. Thus, if the sum over all of the $w$'s were small, it would tell us that the algorithm fails. If it is large, it doesn't immediately mean it works, however, having the sum large is a necessary condition for a successful algorithm.&lt;/p&gt;&#xA;" OwnerUserId="18255" LastActivityDate="2013-11-04T13:43:22.850" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19654" PostTypeId="2" ParentId="19541" CreationDate="2013-11-04T13:56:17.860" Score="3" Body="&lt;p&gt;The norms are the usual norms of a ket vector, i.e. $|||a\rangle||^2 = \langle a|a\rangle$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What did we do on the bottom of page 3? It is really running the argument from the &lt;a href=&quot;http://arxiv.org/abs/quant-ph/9612026&quot; rel=&quot;nofollow&quot;&gt;An Analog Analogue&lt;/a&gt; paper backwards.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Imagine we start from the state $|g_x\rangle$ (a particular ground state of the final Hamiltonian $H_{P}$, related to $|x\rangle$), and evolve backwards with an inverse algorithm. Similarly to &lt;a href=&quot;http://arxiv.org/abs/quant-ph/9612026&quot; rel=&quot;nofollow&quot;&gt;AAA&lt;/a&gt;, we are looking at whether evolving backwards with no purpose (without knowledge of $x$) makes the evolution any different from evolving with a Hamiltonian that involves $x$. We show that for a successful algorithm, it is necessary that the quantity $S(0)$ must be large enough. However, running back in time from $T$ to $0$, this $S(t)$ doesn't change much, which allows us to show that $T$ must be large.&lt;/p&gt;&#xA;" OwnerUserId="18255" LastActivityDate="2013-11-04T13:56:17.860" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19656" PostTypeId="2" ParentId="19640" CreationDate="2013-11-04T16:18:20.497" Score="0" Body="&lt;p&gt;not exactly what is desired yet similar to your example, consider &lt;a href=&quot;http://www.ccs.neu.edu/home/viola/classes/gems-08/index.html&quot; rel=&quot;nofollow&quot;&gt;CS G399: Gems of Theoretical Computer Science; Spring 2009&lt;/a&gt; lecture notes by Viola. its more a proof-centric perspective however most are essentially advanced algorithms in key frontier research areas. (also note lower bounds proofs can be regarded as compression algorithms.)&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;This course covers some of the most exciting and recent progress in theoretical computer science. It presents state-of-the-art results on active research areas, and teaches related proof techniques. A tentative list of topics includes: &lt;/p&gt;&#xA;  &#xA;  &lt;ul&gt;&#xA;  &lt;li&gt;Lower bounds for constant-depth circuits. &lt;/li&gt;&#xA;  &lt;li&gt;The Nisan-Wigderson pseudorandom generator. &lt;/li&gt;&#xA;  &lt;li&gt;Cryptography in constant parallel time. &lt;/li&gt;&#xA;  &lt;li&gt;The complexity of Nash equilibria. &lt;/li&gt;&#xA;  &lt;li&gt;Undirected connectivity in logarithmic space (SL = L). &lt;/li&gt;&#xA;  &lt;li&gt;Communication complexity. &lt;/li&gt;&#xA;  &lt;li&gt;Primes is in P. &lt;/li&gt;&#xA;  &lt;li&gt;Fast matrix multiplication. &lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2013-11-04T16:18:20.497" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19657" PostTypeId="2" ParentId="19594" CreationDate="2013-11-04T17:23:05.890" Score="5" Body="&lt;p&gt;Here's a &lt;a href=&quot;http://web.mit.edu/devavrat/www/OR-BP-Preprint.pdf&quot;&gt;paper&lt;/a&gt; where the authors used BP to obtain a fully polynomial-time randomized approximation scheme for the the capacitated minimum-cost network ﬂow problem.&lt;/p&gt;&#xA;" OwnerUserId="8215" LastActivityDate="2013-11-04T17:23:05.890" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19658" PostTypeId="5" CreationDate="2013-11-04T18:17:40.160" Score="0" Body="&lt;p&gt;The problem can be stated simply as follows. One wants a subset S of the vertex set such that the number of edges between S and the complementary subset is as large as possible.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is a more advanced version of the problem called weighted max-cut. In this version each edge has a real number, its weight, and the objective is to maximize not the number of edges but the total weight of the edges between S and its complement. The weighted max-cut problem is often, but not always, restricted to non-negative weights, because negative weights can change the nature of the problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For more details, see &lt;a href=&quot;http://en.wikipedia.org/wiki/Maximum_cut&quot; rel=&quot;nofollow&quot;&gt;this&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="16195" LastEditorUserId="16195" LastEditDate="2013-11-04T19:33:15.860" LastActivityDate="2013-11-04T19:33:15.860" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19659" PostTypeId="4" CreationDate="2013-11-04T18:17:40.160" Score="0" Body="For a graph, a maximum cut is a cut whose size is at least the size of any other cut. The problem of finding a maximum cut in a graph is known as the max-cut problem." OwnerUserId="16195" LastEditorUserId="16195" LastEditDate="2013-11-04T19:33:21.423" LastActivityDate="2013-11-04T19:33:21.423" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19661" PostTypeId="2" ParentId="19636" CreationDate="2013-11-04T22:09:44.157" Score="20" Body="&lt;p&gt;Your question itself is not naive but the type of answer you ask for is. It is rare for any line of work or intellectual enquiry to have an elevator pitch explanation. Not all would agree with your characterizations of mathematics and physics because they ignore the depth and nuances of those fields. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Theoretical computer scientists are concerned with studying and applying &lt;em&gt;computation&lt;/em&gt;. The computational perspective is a deep and all encompassing one so the study of computation is also deep and has a bearing on many other areas of study. Every single process, whether arising in nature or synthetic, manipulates information. They &lt;em&gt;compute&lt;/em&gt;. As in mathematics, there are different languages and types of structures involved in computation, as in physics, there are fundamental laws about computation that we are trying to discover, as in chemistry, fundamental elements of computation can be classified. Theoretical computer science is broad and robust enough to be amenable to any perspective you bring to it. Some of the questions studied are:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;What is computation and how can it be characterized? (Turing machines, lambda calculi, tiling systems, register machines, DNA computers etc.)&lt;/li&gt;&#xA;&lt;li&gt;What is the computational model underlying a process? (Biological, chemical, economic, sociological processes, etc.)&lt;/li&gt;&#xA;&lt;li&gt;What is efficient computation? (complexity via time, space, communication, amortized, smoothed, etc.)&lt;/li&gt;&#xA;&lt;li&gt;What are characterizations of efficient computation? (Turing machines, algebraic notions, logic, type systems, etc.)&lt;/li&gt;&#xA;&lt;li&gt;What is the most efficient way to  compute a solution to a problem? (algorithms)&lt;/li&gt;&#xA;&lt;li&gt;How efficient are existing algorithmic processes (analysis of algorithms, statistical phenomena, market equillibria, etc.)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;These are a small and non-representative sample of the questions that one may ask. As in any field, answers to some questions generate new questions and drive enquiry about other questions. You can find a rather dated view of the field by browsing the articles in the Handbook of Theoretical Computer Science. &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.informatik.uni-trier.de/~%20ley/db/books/collections/leeuwen90.html&quot;&gt;Handbook of Theoretical Computer Science, Volume A: Algorithms and Complexity, 1990&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.informatik.uni-trier.de/~%20ley/db/books/collections/leeuwen90a.html&quot;&gt;Handbook of Theoretical Computer Science, Volume B: Formal Models and Sematics, 1990&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="4155" LastEditorUserId="4155" LastEditDate="2013-11-11T19:18:42.773" LastActivityDate="2013-11-11T19:18:42.773" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19662" PostTypeId="1" AcceptedAnswerId="19663" CreationDate="2013-11-04T23:29:32.547" Score="1" ViewCount="187" Body="&lt;p&gt;Given $n$ linearly independent vectors $v_1, v_2, \ldots, v_n$ in $n$-dimensional space. Let $V$ be the set of $2^n$ points of the form $x_1 v_1 + x_2v_2 + \ldots + x_nv_n$, in which $x_i$ can be $0$ or $1$. $V$ is the set of vertices of an n-dimensional parallelepiped. Is there any way to find the Delaunay triangulation of $V$ using subexponential space with respect to $n$? I understand that the size of the output is big, and we can't store the whole output. But is there any way to output the Delaunay edges one by one without storing the previous result? &lt;/p&gt;&#xA;" OwnerUserId="12723" LastEditorUserId="12723" LastEditDate="2013-11-04T23:35:53.057" LastActivityDate="2013-11-05T02:00:55.247" Title="Delaunay Triangulation of Parallelepiped" Tags="&lt;cg.comp-geom&gt;&lt;delaunay-triangulation&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19663" PostTypeId="2" ParentId="19662" CreationDate="2013-11-05T02:00:55.247" Score="5" Body="&lt;p&gt;Testing whether a pair of points $p_i$ and $p_j$ are the endpoints of a Delaunay edge can be solved as a linear programming feasability problem: Lift each point to one higher dimension by making its last coordinate be the sum of squares of the other coordinates. Then look for a hyperplane passing through $p_i$ and $p_j$, such that all the other points are on one side of it. This can be represented in linear inequality constraints by seeking a vector $v$ and scalar $c$ such that the dot product of $v$ with each point is at least $c$, and is exactly $c$ in the case of $p_i$ and $p_j$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So for any set of points in any dimension, it's possible to find the Delaunay edges one by one, by solving a number of linear programs that is polynomial in the number of points. The reason Delaunay triangulation is hard is not because of the edges, it's because there may be too many higher-dimensional features.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2013-11-05T02:00:55.247" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="19664" PostTypeId="2" ParentId="19640" CreationDate="2013-11-05T03:35:02.660" Score="6" Body="&lt;p&gt;The Design of Approximation Algorithms by Williamson &amp;amp; Shmoys (&lt;a href=&quot;http://www.designofapproxalgs.com/&quot; rel=&quot;nofollow&quot;&gt;http://www.designofapproxalgs.com/&lt;/a&gt;) is a great book for many approximation methods such as greedy algorithms, semidefinite programming, etc. Also, it covers some topics within complexity that are closely related to approximation algorithms (inapproximability, Unique Games-based hardness of MAX-CUT).&lt;/p&gt;&#xA;" OwnerUserId="15815" LastEditorUserId="15815" LastEditDate="2013-11-06T02:25:35.517" LastActivityDate="2013-11-06T02:25:35.517" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19665" PostTypeId="2" ParentId="19640" CreationDate="2013-11-05T07:00:16.717" Score="5" Body="&lt;p&gt;You may find of interest the following recent handbooks.&#xA;The range of topics covered goes well beyond CLRS, and the material is well suited for graduate and Ph.D. students, even though you may choose a few selected topics for advanced undergraduate students.   &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/1584888180&quot;&gt;Algorithms and Theory of&#xA;Computation Handbook Second Edition (Special Topics and Techniques)&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0470044926&quot;&gt;Handbook of Applied Algorithms Solving Scientific, Engineering and Practical problems&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/1584885505&quot;&gt;Handbook of Approximation Algorithms and Metaheuristics&lt;/a&gt;&#xA;￼￼￼￼￼&lt;/p&gt;&#xA;" OwnerUserId="4208" LastEditorUserId="4208" LastEditDate="2013-11-05T07:28:33.373" LastActivityDate="2013-11-05T07:28:33.373" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19667" PostTypeId="2" ParentId="19632" CreationDate="2013-11-05T13:36:34.167" Score="0" Body="&lt;p&gt;One major impact is that quantum computing gave us a polynomial time algorithm to solve the integer factoring problem which is not known to be efficiently solvable on classic computers. This partially motivated the development of public key cryptography that does not depend on the hardness of factoring problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Efficient quantum algorithm for an NP-complete problem would have the greatest impact on TCS since it would give us insights into the fundamental differences between the computational power of classical and quantum algorithms (assuming classic deterministic algorithms can not solve NP-complete problems in polynomial time) .&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2013-11-05T13:44:21.277" LastActivityDate="2013-11-05T13:44:21.277" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19668" PostTypeId="1" AcceptedAnswerId="19669" CreationDate="2013-11-05T13:37:22.523" Score="10" ViewCount="422" Body="&lt;p&gt;If we can prove that  $\mathsf{L}=\mathsf{P}$, does it imply that $\mathsf{NL}=\mathsf{NP}$ ? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I thought it is the case, but I cannot prove it (also for the converse).&lt;/p&gt;&#xA;" OwnerUserId="12646" LastActivityDate="2019-01-17T15:56:51.590" Title="Implications between $\mathsf{L}=\mathsf{P}$ and $\mathsf{NL}=\mathsf{NP}$?" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;nondeterminism&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="19669" PostTypeId="2" ParentId="19668" CreationDate="2013-11-05T13:55:35.513" Score="14" Body="&lt;p&gt;No. It is possible that L=P and that P != NP which implies that NL != NP since NL is contained in P.&lt;/p&gt;&#xA;" OwnerUserId="495" LastActivityDate="2013-11-05T13:55:35.513" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19670" PostTypeId="2" ParentId="19640" CreationDate="2013-11-05T14:23:22.310" Score="4" Body="&lt;p&gt;Have look at the &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0387307702&quot; rel=&quot;nofollow&quot;&gt;Encyclopedia of Algorithms&lt;/a&gt; by Kao (Editor). It contains over 500 entries and many of them contain advanced algorithms.&lt;/p&gt;&#xA;" OwnerUserId="495" LastActivityDate="2013-11-05T14:23:22.310" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19672" PostTypeId="2" ParentId="19640" CreationDate="2013-11-05T15:59:10.900" Score="4" Body="&lt;p&gt;&lt;strong&gt;Computational Geometry:&lt;/strong&gt; Mark de Berg, Marc van Kreveld, Mark Overmars, and Otfried Cheong. Computational Geometry: Algorithms and Applications; &lt;a href=&quot;http://www.cs.umd.edu/~mount/754/Lects/754lects.pdf&quot; rel=&quot;nofollow&quot;&gt;David Mount's Course Notes&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Randomized Algorithms:&lt;/strong&gt; Motwani and Raghavan. Randomized Algorithms; &lt;a href=&quot;http://www.cs.yale.edu/homes/aspnes/classes/469/notes.pdf&quot; rel=&quot;nofollow&quot;&gt;Excellent Notes by James Aspnes&lt;/a&gt;; Mitzenmacher and Upfal. Probability and Computing.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Network Flows:&lt;/strong&gt; Ahuja, Magnanti, and Orlin. Network Flows. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Approximation Algorithms:&lt;/strong&gt; Dorit Hochbaum. Approximation Algorithms for NP-Hard Problems.&#xA;￼￼￼￼￼&lt;/p&gt;&#xA;" OwnerUserId="12723" LastEditorUserId="12723" LastEditDate="2013-11-05T21:48:25.357" LastActivityDate="2013-11-05T21:48:25.357" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="19673" PostTypeId="1" AcceptedAnswerId="19707" CreationDate="2013-11-05T17:12:13.780" Score="14" ViewCount="1063" Body="&lt;p&gt;Given a graph, $G = (V, E)$, I want to find an optimal $r$-domination for $G$. That is, I want a subset $S$ of $V$ such that all vertices in $G$ are at a distance of at most $r$ from some vertex in $S$, while minimizing the size of $S$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;From what I have checked so far, I got the following: There is this related problem of finding a $(k,r)$-center in a graph which is a subset $S$ of size at most $k$ such that all the vertices in the graph are at a distance of atmost $r$ from some vertex in $S$(here both $|S| \leq k$ and $r$ are parts of the input) for which &lt;a href=&quot;https://www.google.co.in/url?sa=t&amp;amp;rct=j&amp;amp;q=&amp;amp;esrc=s&amp;amp;source=web&amp;amp;cd=1&amp;amp;cad=rja&amp;amp;ved=0CCgQFjAA&amp;amp;url=http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.71.3709&amp;amp;rep=rep1&amp;amp;type=pdf&amp;amp;ei=aCV5UqbiIsqErAfVwoDYDw&amp;amp;usg=AFQjCNEgry8oI-5qLowdUGlrR3fa5eL4Qg&quot;&gt;Demaine et al&lt;/a&gt;. have a FPT algorithm for planar graphs. Otherwise the problem is $W[2]$-hard for even $r = 1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is anything known about the exact complexity of $r$-domination problem for bounded tree width graphs or even just trees? (Is $r$-domination MSO definable? the usual $k$-dominating set problem is MSO definable -- which then would allow one to use Courcelle's theorem to conclude that there is a linear time algorithm for the problem). Are there any conditional hardness results known regarding this problem?&lt;/p&gt;&#xA;" OwnerUserId="256" LastEditorUserId="27464" LastEditDate="2017-03-30T08:53:52.613" LastActivityDate="2017-03-30T10:52:56.730" Title="Exact Algorithms for r-Dominating Set on Bounded Treewidth Graphs" Tags="&lt;graph-algorithms&gt;&lt;np-hardness&gt;&lt;treewidth&gt;&lt;parameterized-complexity&gt;&lt;fixed-parameter-tractable&gt;" AnswerCount="5" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="19674" PostTypeId="2" ParentId="19640" CreationDate="2013-11-05T18:22:17.197" Score="0" Body="&lt;p&gt;this ref is recommended by Lance Fortnow (on his blog).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0262720140&quot; rel=&quot;nofollow&quot;&gt;Jan van Leeuwen, editor. Handbook of Theoretical Computer Science, volume A: Algorithms&#xA;and Complexity. MIT Press, 1994.&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2013-11-05T18:22:17.197" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19675" PostTypeId="1" AcceptedAnswerId="19679" CreationDate="2013-11-05T18:47:40.540" Score="12" ViewCount="1427" Body="&lt;p&gt;The only definition of &quot;calculus&quot; I'm aware of is the study of limits, derivatives, integrals, etc. in analysis. In what sense is lambda calculus (or things like mu calculus) a &quot;calculus&quot;? How does it relate to calculus in analysis?&lt;/p&gt;&#xA;" OwnerUserId="17584" LastActivityDate="2013-11-05T22:16:05.133" Title="Why is lambda calculus a &quot;calculus&quot;?" Tags="&lt;terminology&gt;&lt;lambda-calculus&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="19676" PostTypeId="2" ParentId="19176" CreationDate="2013-11-05T19:01:57.287" Score="8" Body="&lt;p&gt;I have found an answer to my own question. The result was given in Section 5 of &lt;a href=&quot;http://theory.cs.uni-bonn.de/ftp/reports/cs-reports/1985-1989/854-CS.pdf&quot;&gt;Karpinski and Verbeek, 1987&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For any input of length $ n $, a PTM can construct $ \Theta(\log \log n) $ space with high probability (Section 4). (With a very small probability, the machine can also construct logarithmic space, and this might be seen as a &quot;drawback&quot; of the algorithm.) Then, the PTM can decide whether the numbers of $a$'s ($n$) and $b$'s ($m$) are equal with high probability by using $ O(\log \log n) $ space in polynomial time. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The idea is as follows. If $ n \neq m $, then $ \exists k \leq 4 \log(n+m) $ such that $ n \not\equiv m \mod k $ (&lt;a href=&quot;https://domino.mpi-inf.mpg.de/intranet/ag1/ag1publ.nsf/0/0DC1428DF5BE30AFC12571C3001E4E5D/%24file/ICALP76.PDF&quot;&gt;Alt and Mehlron, 1976&lt;/a&gt;). The PTM can pick a random $ k $ by using $ O(\log \log n) $ space. $ O(\log \log n) $ is also sufficient to keep a counter and so trying more than half of all possible $k$'s. The case of $ n \neq m $ can be detected with a probability more than $ 1 \over 2 $.&lt;/p&gt;&#xA;" OwnerUserId="7358" LastActivityDate="2013-11-05T19:01:57.287" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19678" PostTypeId="2" ParentId="19632" CreationDate="2013-11-05T22:02:30.883" Score="0" Body="&lt;p&gt;In general, there is a classical - quantum computer theory seperation and since the fundamental principles of quantum computer theory differ from the classic approach we have new algorithms and interest for theoretical research on this field.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can check this too:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://security.stackexchange.com/questions/25251/impact-of-quantum-computers-other-than-new-algorithms&quot;&gt;https://security.stackexchange.com/questions/25251/impact-of-quantum-computers-other-than-new-algorithms&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="18269" LastEditorUserId="-1" LastEditDate="2017-03-17T13:14:46.680" LastActivityDate="2013-11-05T22:02:30.883" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19679" PostTypeId="2" ParentId="19675" CreationDate="2013-11-05T22:06:36.037" Score="19" Body="&lt;p&gt;A calculus is just a system of reasoning. One particular calculus (well, actually two closely related calculi: the differential calculus and the integral calculus) has become so widespread that it is just known as &quot;calculus&quot;, as if it were the only one. But, as you have observed, there are other calculi, such as the lambda calculus, mu calculus, pi calculus, propositional calculus, predicate calculus, sequent calculus and Professor Calculus.&lt;/p&gt;&#xA;" OwnerUserId="17082" LastActivityDate="2013-11-05T22:06:36.037" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19680" PostTypeId="2" ParentId="19675" CreationDate="2013-11-05T22:16:05.133" Score="7" Body="&lt;p&gt;Calculus refers to systematic methods of treating problems by a special system of algebraic notations, generally a method of calculation.&lt;/p&gt;&#xA;" OwnerUserId="18269" LastActivityDate="2013-11-05T22:16:05.133" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19681" PostTypeId="2" ParentId="19673" CreationDate="2013-11-05T23:09:11.623" Score="9" Body="&lt;p&gt;It is quite easy to do dynamic programming on graphs of treewidth $k$ for this problem.&#xA;One can keep for each vertex in a bag the shortest distance to some vertex in the partial solution and the distance to future solution needed to dominate the undominated vertices.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This in total gives a table size of $O(r^k)$ so for fixed $r$ this problem is FPT parameterized by treewidth, however if $r$ is not fixed this becomes an XP algorithm.&#xA;As far as I know the question of whether this problem is FPT for all values of $r$ is open.&lt;/p&gt;&#xA;" OwnerUserId="8936" LastActivityDate="2013-11-05T23:09:11.623" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19689" PostTypeId="1" CreationDate="2013-11-06T13:04:48.273" Score="2" ViewCount="103" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;I am considering some geometric concepts in a space of functions.But I am not sure the concept I consider is already defined in some references.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Let $P_{1},...,P_{N}:\mathbb{F}_{2}^{n}\rightarrow \mathbb{F}_{2}$ be functions with $ n $ variables &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$dist (P,Q):=$ the number of input strings $x$ such that   $P(x)$ agrees with  $Q(x)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $\mathcal{P}$ be a family of funcitons $\{P_{1},P_{2},...,P_{N}\}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A subfamily $(m,\epsilon)-\mathcal{C}$ of $\mathcal{P}$  is called  $(m,\epsilon)$-&lt;em&gt;colony&lt;/em&gt; , if $(m,\epsilon)-\mathcal{C}$ is a subfamily of $\mathcal{P}$ such that for $some$ partial assignment to $m$ variables $\rho (m):{[n] \choose m} \rightarrow \{0,1\}$ $\max\limits_{i,j}dist (P_{i}|_{\rho},P_{j}|_{\rho}) \leq \epsilon $&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;My question : is there a reference or results on $any$ concepts relating with the above  $(m,\epsilon)$-&lt;em&gt;colony&lt;/em&gt; ?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="17938" LastEditorUserId="17938" LastEditDate="2013-11-13T07:15:33.027" LastActivityDate="2013-11-13T07:15:33.027" Title="Geometry on a space of polynomial functions" Tags="&lt;reference-request&gt;&lt;co.combinatorics&gt;&lt;cg.comp-geom&gt;&lt;polynomials&gt;&lt;fourier-analysis&gt;" AnswerCount="0" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19692" PostTypeId="2" ParentId="9792" CreationDate="2013-11-06T15:41:51.590" Score="0" Body="&lt;p&gt;Explanation 1: if you know which $k$ it shall be, you can &lt;em&gt;easily&lt;/em&gt; check if the grammar is $LR(k)$ and thus derive an $LR(1)$ Grammar for it. On the other hand you cannot even know if there is a $k \geq 0$ such that $G$ is $LR(k)$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Different with &quot;Yes and No&quot;: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Yes: $L(G_1)$ is deterministic, then it is immediately $LR(k)$ and thus $LR(1)$.&#xA;No: $L(G_1)$ is not deterministic. This means the language itself is inherently ambiguous  this in turn means that there is no Grammar $G_n$ which is not ambiguous. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Much more and much more detailed (and quite understandable, far better than I am able right now) can be found in the following two works. The second contains (iirc) the proof that $LL(k)$ is a (theoretically) weaker than $LR(k)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Knuth, D. E. (1965). &lt;em&gt;On the translation of languages from left to right&lt;/em&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;D. J. Rosenkrantz and R. E. Stearns. 1969. &lt;em&gt;Properties of deterministic top down grammars&lt;/em&gt;. &lt;/p&gt;&#xA;" OwnerUserId="13427" LastActivityDate="2013-11-06T15:41:51.590" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19695" PostTypeId="1" AcceptedAnswerId="19743" CreationDate="2013-11-06T20:17:29.577" Score="5" ViewCount="209" Body="&lt;p&gt;In the unbounded-error case, it is known that both realtime quantum and probabilistic finite automata can recognize some uncomputable languages if they are allowed to use arbitrary real numbers in their transitions (&lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0019995863902900&quot; rel=&quot;nofollow&quot;&gt;Rabin, 1963&lt;/a&gt;; &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0890540111000319&quot; rel=&quot;nofollow&quot;&gt;Yakaryilmaz and Say, 2011&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the bounded-error case, we have a similar result for poly-time quantum Turing machines as well, i.e. the cardinality of $ \mathsf{BQP}_{\mathbb{C}}  $ is uncountable (&lt;a href=&quot;http://epubs.siam.org/doi/abs/10.1137/S0097539795293639&quot; rel=&quot;nofollow&quot;&gt;Adleman et. al., 1997&lt;/a&gt;). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is whether any &lt;strong&gt;bounded-error probabilistic&lt;/strong&gt; space (time) class defined with unrestricted real numbers contains an uncomputable (or a recursive enumerable) language.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is also known that (&lt;a href=&quot;http://link.springer.com/article/10.1007/s00037-003-0177-8&quot; rel=&quot;nofollow&quot;&gt;Watrous, 2003&lt;/a&gt;) if we restrict ourselves to algebraic numbers ($\mathbb{A}$), for any space-constructable function $ s(n) \in \Omega(\log n) $, &#xA;\begin{equation}&#xA;\mathsf{PrQSPACE}_{\mathbb{A}}(s) \subseteq \mathsf{DSPACE}(s^2),&#xA;\end{equation}&#xA;where $\mathsf{PrQSPACE}$ stand for unbounded-error quantum space.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any partial answer (for the case of &lt;strong&gt;bounded-error probabilistic&lt;/strong&gt; computation using non-algebraic transitions) violating this upper bound would also be nice.&lt;/p&gt;&#xA;" OwnerUserId="7358" LastEditorUserId="7358" LastEditDate="2013-11-12T10:18:58.353" LastActivityDate="2013-11-12T10:18:58.353" Title="Is bounded-error probabilistic computation sensitive to transition types?" Tags="&lt;reference-request&gt;&lt;probabilistic-computation&gt;&lt;quantum-computing&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="19697" PostTypeId="2" ParentId="16441" CreationDate="2013-11-07T02:58:11.187" Score="2" Body="&lt;p&gt;The way you are doing is not quite correct. Take a look at these tutorials &#xA; -  &lt;a href=&quot;http://homepages.inf.ed.ac.uk/csutton/publications/ep-tutorial.pdf&quot; rel=&quot;nofollow&quot;&gt;http://homepages.inf.ed.ac.uk/csutton/publications/ep-tutorial.pdf&lt;/a&gt; &#xA; -  &lt;a href=&quot;http://web.engr.illinois.edu/~khashab2/learn/ep.pdf&quot; rel=&quot;nofollow&quot;&gt;http://web.engr.illinois.edu/~khashab2/learn/ep.pdf&lt;/a&gt; &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Go over the algorithms which show the EP procedures. Also note the way they explain the projection of the distributions using KL projection. &lt;/p&gt;&#xA;" OwnerUserId="15645" LastActivityDate="2013-11-07T02:58:11.187" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19699" PostTypeId="1" AcceptedAnswerId="19706" CreationDate="2013-11-07T06:42:23.290" Score="6" ViewCount="290" Body="&lt;p&gt;H.L. Bodlander in Polynomial algorithms for graph isomorphism and chromatic index on partial $k$-trees given a polynomial time algorithm for graph isomorphism when $k$ is constant.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there any FPT algorithm for partial $k$-tree isomorphism.&lt;/p&gt;&#xA;" OwnerUserId="14028" LastActivityDate="2017-02-03T20:51:29.573" Title="FPT algorithm for Partial k-tree Isomorphism" Tags="&lt;reference-request&gt;&lt;graph-isomorphism&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19700" PostTypeId="2" ParentId="19110" CreationDate="2013-11-07T07:53:34.093" Score="4" Body="&lt;p&gt;It's called finding a minimal model of a Horn formula.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This model is unique because the intersection of two models of a Horn formula is itself a model. In fact, [Horn, On sentences which are true of direct unions of algebras, 1951] proved the following: A boolean function can be expressed as a conjunction of Horn clauses if and only if its set of models is closed under intersection.&lt;/p&gt;&#xA;" OwnerUserId="236" LastActivityDate="2013-11-07T07:53:34.093" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19701" PostTypeId="2" ParentId="19699" CreationDate="2013-11-07T08:56:10.577" Score="2" Body="&lt;p&gt;no FPT algorithm is known. I am wondering whether, under some complexity hypothesis, noone exists. &lt;/p&gt;&#xA;" OwnerUserId="4854" LastActivityDate="2013-11-07T08:56:10.577" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19702" PostTypeId="1" CreationDate="2013-11-07T13:32:21.337" Score="2" ViewCount="129" Body="&lt;p&gt;Given a sparse matrix $A[1..n, 1..n]$ containing cells with integer value of either $0$ or $1$, partition it in $J$ non-overlapping axis-parallel 2D rectangles, such that each $1$-cell is covered by exactly one rectangle, and a $0$-cell is covered by at most one rectangle. Given that weight of a rectangle is $a * \mbox{perimeter} + b* \mbox{sum_of_cell_values_inside}$, design an algorithm which minimizes the maximum weight of a rectangle.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Ideally, we would like an approximation algorithm with competitive ratio=2 and $O(n \log n)$ time complexity. We would be fine with probabilistic guarantees.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The matrix is sparse, that is the number of non-zero elements in the matrix is $O(n \log n)$. In addition, $a, b &amp;gt; 0$, $J \ll n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We posed the same question on &lt;a href=&quot;https://mathoverflow.net/questions/141797/tiling-a-rectangle-with-weighted-cells-min-max-problem?noredirect=1#comment375379_141797&quot;&gt;MathOverflow&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We hope anyone can give us any leads on this problem. Thanks a lot :)&lt;/p&gt;&#xA;" OwnerUserId="18300" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2013-11-07T13:42:26.527" Title="Tiling a rectangle with weighted cells (min-max problem)" Tags="&lt;approximation-algorithms&gt;&lt;optimization&gt;&lt;computational-geometry&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="19703" PostTypeId="1" AcceptedAnswerId="19704" CreationDate="2013-11-07T13:59:29.813" Score="10" ViewCount="476" Body="&lt;p&gt;Given a directed graph, we want to decide whether it contains a directed cycle of even length. This 1997 paper by &lt;a href=&quot;http://perso.ens-lyon.fr/eric.thierry/Graphes2010/yz97.pdf&quot;&gt;YUSTER and ZWICK&lt;/a&gt; states that the problem is not known to be in $P$ nor is it known to be $NP$-complete.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there any recent result that resolves the complexity of the even cycle problem in directed graphs?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="495" LastActivityDate="2013-11-07T14:30:18.103" Title="Finding even cycle in directed graphs" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;graph-theory&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="19704" PostTypeId="2" ParentId="19703" CreationDate="2013-11-07T14:19:05.133" Score="17" Body="&lt;p&gt;Yes, a polynomial time algorithm was first given in:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Neil Robertson, P. D. Seymour, Robin Thomas. &quot;Permanents, Pfaffian orientations, and even directed circuits.&quot; Annals of Mathematics 150.3 (1999): 929-975. &lt;a href=&quot;http://arxiv.org/abs/math.CO/9911268&quot;&gt;arXiv&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;edit: Actually, according to the acknowledgements section of the above paper, the result was first obtained by McCuaig who later published it as:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;William McCuaig. &quot;Pólya's Permanent Problem.&quot; Electr. J. Comb. 11(1) (2004) &lt;a href=&quot;http://www.combinatorics.org/ojs/index.php/eljc/article/view/v11i1r79&quot;&gt;http://www.combinatorics.org/ojs/index.php/eljc/article/view/v11i1r79&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="636" LastEditorUserId="636" LastEditDate="2013-11-07T14:30:18.103" LastActivityDate="2013-11-07T14:30:18.103" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19706" PostTypeId="2" ParentId="19699" CreationDate="2013-11-07T16:25:57.847" Score="6" Body="&lt;p&gt;As M. Kanté pointed out, it's open whether or not graph isomorphism is FPT when parameterized by tree-width. Furthermore, I don't believe there is any complexity-theoretic barrier to creating an FPT algorithm in this case.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For a survey of what's known about the fixed-parameter tractability of graph isomorphism, see the introduction of my paper with Anuj Dawar and Eryk Kopczyński &lt;a href=&quot;http://www.springerlink.com/content/5g1pxq558676t552/&quot;&gt;here&lt;/a&gt;. In the paper we show graph isomorphism is FPT in the tree-&lt;em&gt;depth&lt;/em&gt; of a graph, which is a necessary (but not sufficient) condition for graph isomorphism to be FPT in tree-width.&lt;/p&gt;&#xA;" OwnerUserId="13754" LastActivityDate="2013-11-07T16:25:57.847" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="19707" PostTypeId="2" ParentId="19673" CreationDate="2013-11-07T16:50:10.380" Score="15" Body="&lt;p&gt;An (optimal) $r$-domination for $G$ is an (optimal) domination for the $r$th power $G^r$ and vice versa &#xA;($G^r$ is obtained from $G$ by adding new edges between distinct vertices of distance at most $r$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The following facts are well known: (1) All powers of a strongly chordal graph are strongly chordal &#xA;(A. Lubiw, Master thesis; see also Dahlhaus &amp;amp; Duchet, On strongly chordal graphs, &#xA;Ars Combin. 24 B (1987) 23-30), and (2) Domination is solvable in linear time for strongly chordal graphs &#xA;(M. Farber. Domination, independent domination and duality in strongly chordal graphs, &#xA;Discrete Appl. Math., 7 (1984) 115–130). Hence $r$-domination is solvable in polynomial time for &#xA;strongly chordal graphs, in particular for trees ($r$ fixed or not).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Gurski &amp;amp; Wanke proved in &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0166218X08004022&quot;&gt;this paper&lt;/a&gt; &#xA;that the clique-width of $G^r$ is at most $2\cdot (r+1)^{\text{tw}(G)+1}−2$, where $\text{tw}(G)$ is the tree-width &#xA;of $G$. Thus, for fixed $r$, the $r$th powers of bounded tree-width graphs have bounded clique-width. &#xA;Hence, for fixed $r$, $r$-domination is solvable in polynomial time for bounded tree-width graphs &#xA;(by Courcelle's theorem).    &lt;/p&gt;&#xA;" OwnerUserId="6706" LastActivityDate="2013-11-07T16:50:10.380" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19708" PostTypeId="1" AcceptedAnswerId="19724" CreationDate="2013-11-07T22:23:12.000" Score="17" ViewCount="2993" Body="&lt;p&gt;This is written in the wiki entry of &lt;a href=&quot;http://en.wikipedia.org/wiki/Symbolic_execution&quot;&gt;Symbolic Execution&lt;/a&gt;, but I can't find any reference for it. Can anyone show me a pointer? Thank you.&lt;/p&gt;&#xA;" OwnerUserId="10526" LastEditorUserId="4155" LastEditDate="2013-11-19T08:37:12.670" LastActivityDate="2019-01-29T22:38:33.553" Title="Symbolic Execution is a case of Abstract Interpretation?" Tags="&lt;reference-request&gt;&lt;lo.logic&gt;&lt;program-analysis&gt;" AnswerCount="3" CommentCount="0" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="19709" PostTypeId="2" ParentId="19708" CreationDate="2013-11-07T22:27:34.230" Score="6" Body="&lt;p&gt;I think this is meant in a very shallow sense. The first step of abstract interpretation is to identify a concrete collecting semantics. Rather than describe the evolution of a single state, collecting semantics describes the evolution of sets of states. Since symbolic execution reasons about the representations of sets of states, one can argue that it represents the concrete semantics of the program. I am not aware of a more precise correspondence being worked out. &lt;/p&gt;&#xA;" OwnerUserId="4155" LastActivityDate="2013-11-07T22:27:34.230" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="19710" PostTypeId="1" CreationDate="2013-11-07T23:42:10.797" Score="14" ViewCount="461" Body="&lt;p&gt;This question is inspired by this question &lt;a href=&quot;https://cstheory.stackexchange.com/questions/19668/implications-between-mathsfl-mathsfp-and-mathsfnl-mathsfnp&quot;&gt;Implications between $\mathsf{L}=\mathsf{P}$ and $\mathsf{NL}=\mathsf{NP}$?&lt;/a&gt; &lt;/p&gt;&#xA;&#xA;&lt;p&gt;We do know that ${\bf L}$ could equal ${\bf NL}$ and at the same time ${\bf P}$ could be different from ${\bf NP}$. I was wondering whether or not the inequality between ${\bf L}$ and ${\bf NL}$ imply inequality between ${\bf P}$ and ${\bf NP}$. Or we just simply do not know... &lt;/p&gt;&#xA;" OwnerUserId="18304" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.743" LastActivityDate="2013-11-07T23:42:10.797" Title="Does ${\bf L} \neq {\bf NL}$ imply ${\bf P} \neq {\bf NP}$?" Tags="&lt;complexity-classes&gt;" AnswerCount="0" CommentCount="7" FavoriteCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="19711" PostTypeId="1" AcceptedAnswerId="19715" CreationDate="2013-11-08T03:11:03.827" Score="9" ViewCount="765" Body="&lt;p&gt;This question is essentially &lt;a href=&quot;https://mathoverflow.net/questions/145689/categorical-semantics-for-second-order-logics&quot;&gt;the question&lt;/a&gt; I asked on Mathoverflow.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Monadic Second Order (MSO) logic is second order logic with quantification over unary predicates. That is, quantification over sets. There are several MSO logics that are fundamental to structures studied in computer science. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question 1.&lt;/strong&gt; Is there a categorical semantics for Monadic Second Order Logics? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question 2.&lt;/strong&gt; Treatments of categorical logic often talk about &quot;higher order intuitionistic logic.&quot; Am I right to assume that they are referring to higher order functions, rather than quantification over second order predicates?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question 3.&lt;/strong&gt; (Added, 08 Nov 2013, after Neel's answer) My understanding of first-order quantification (in terms of the presentation of Pitts mentioned below) is that it is defined with respect to the pullback $\pi^*$ of a projection morphism $\pi$. Specifically, universal quantification is interpreted as the right adjoint of $\pi^*$ and existential quantification is interpreted as the left adjoint of $\pi^*$. These adjoints have to satisfy some conditions, which I have sometimes seen referred to as Beck-Chevalley and Frobenius-Reciprocity conditions. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now if we want to quantify over predicates I assume I'm in a Cartesian closed category, the picture is nearly the same, except that $X$ below has a different structure from before.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$  \exists_{I,X}, \forall_{I,X}: P_C(I\times X) \to P_C(I) $$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is that right? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I believe my mental block was because I was previously dealing with first-order hyperdoctrines and did not need the category to be Cartesian closed and did not consider it later.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Background and Context.&lt;/strong&gt;&#xA;I have been working with the presentation of categorical logic by Andy Pitts in his &lt;em&gt;Handbook of Logic in Computer Science&lt;/em&gt; article, but I'm also familiar with the treatment of Tripos theory in his doctoral dissertation, as well as the notes of Awodey and Bauer. I started out studying Crole's &lt;em&gt;Categories for Types&lt;/em&gt; and the book by Lambek and Scott but it's been a while since I consulted the last two texts. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For motivation, I am interested in the kind of MSO logics appearing in the theorems below. I do not want to deal with a logic that is expressively equivalent to one of these. Meaning, I do not want to encode monadic predicates in terms of higher order functions and then deal with another logic, but I'm happy to study a semantics that includes such an encoding under the hood.  &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;(Buechi and Elgot Theorem) When the universe of structures is finite words over a finite alphabet, a language is regular exactly if it is definable in MSO with an interpreted predicate for expressing consecutive positions.&lt;/li&gt;&#xA;&lt;li&gt;(Buechi's Theorem) When the universe of structures is $\omega$-words over a finite alphabet, a language is $\omega$-regular exactly if it is definable in MSO with an appropriate interpreted predicate.&lt;/li&gt;&#xA;&lt;li&gt;(Thatcher and Wright Theorem) A set of finite trees is recognizable by a bottom-up finite tree automaton exactly if it is definable in MSO with an interpreted predicate.&lt;/li&gt;&#xA;&lt;li&gt;&lt;em&gt;WS1S&lt;/em&gt; is the Weak Monadic Second order theory of One Successor. Formulae define sets of natural numbers and second order variables can only be interpreted as finite sets. WS1S can be decided by finite automata by encoding tuples of natural numbers as finite words.&lt;/li&gt;&#xA;&lt;li&gt;(Rabin's Theorem) &lt;em&gt;S2S&lt;/em&gt; is the Second order theory of Two Successors. S2S can be decided by Rabin automata.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="4155" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2013-11-09T09:46:54.787" Title="Hyperdoctrines and Monadic Second Order Logic" Tags="&lt;lo.logic&gt;&lt;ct.category-theory&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="19713" PostTypeId="2" ParentId="19591" CreationDate="2013-11-08T05:07:08.620" Score="2" Body="&lt;p&gt;Here is a better solution that should be extremely efficient (within a $2\times$ factor as fast as the extended Euclidean algorithm) and never overflows 64-bit arithmetic.  Without loss of generality, let's assume that $a&amp;gt;b&amp;gt;0$ and $\gcd(a,b)=1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Definition.&lt;/strong&gt; Suppose $0\le c\le b$ and $x,y \in \mathbb{N}$.  We'll say that $(x,y)$ is a representation of $c$ if (i) $ax-by=c$ and (ii) $0 \le x &amp;lt; b$ and $0 \le y &amp;lt; a$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;The basic idea.&lt;/strong&gt;  Our goal is to find a representation of $c$, using 64-bit arithmetic.  Here's the overall approach I suggest.  First, I'll show below how to obtain a representation of $1$.  Next, I'll show that if we have a representation of $c_1$ and a representation of $c_2$, we can obtain a representation of $c_1+c_2$ (subject to a few minor conditions).  This will make it easy to obtain a representation of $c$: we form an &lt;a href=&quot;https://en.wikipedia.org/wiki/Addition_chain&quot; rel=&quot;nofollow&quot;&gt;addition chain&lt;/a&gt; that ends with $c$, and then use the preceding observations to calculate a representation of $c$.  Details follow below.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Fact 1.&lt;/strong&gt; If $0 \le c \le b$, then there exists a representation of $c$, and this representation is unique.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Proof sketch.&lt;/strong&gt; To show existence, we can take $y$ be $b^{-1} c \bmod a$ and $x = (by+c)/a$.  To show uniqueness, if there are two representations of $c$, subtract them; we obtain $x,y$ such that $ax-by=0$, $0\le x &amp;lt; b$, $|y| &amp;lt; a$, but this is only possible when $x=y=0$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Fact 2.&lt;/strong&gt; We can find a representation of $1$, within 64-bit arithmetic.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Proof sketch.&lt;/strong&gt; Use the extended Euclidean algorithm.  None of the intermediate values exceed $\max(a,b,c)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For what comes next, define an operator $\oplus$ on representation as follows:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$(x_1,y_1) \oplus (x_2,y_2) =&#xA;\begin{cases}&#xA;(x_1+x_2,y_1+y_2) &amp;amp;\text{if $y_1+y_2&amp;lt;a$}\\&#xA;(x_1+x_2-b,y_1+y_2-a) &amp;amp;\text{otherwise.}&#xA;\end{cases}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Fact 3.&lt;/strong&gt; If $(x_1,x_2)$ is a representation of $c_1$ and $(x_2,y_2)$ is a representation of $c_2$ and $0 \le c_1,c_2,c_1+c_2 \le b$, then $(x_1,y_1) \oplus (x_2,y_2)$ is a representation of $c_1+c_2$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Proof sketch.&lt;/strong&gt; We can extend the proof of uniqueness above to demonstrate that if $(x_3,y_3) = (x_1,y_1) \oplus (x_2,y_2)$ and if $0 \le y_3 &amp;lt; a$, then $0 \le x_3 &amp;lt; b$.  Now the fact that $(x_3,y_3)$ is a representation of $c_1+c_2$ is immediate, by linearity.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Notice that the definition of the operator $\oplus$ ensures that you never overflow 64-bit arithmetic.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;So, the algorithm becomes straightforward.  Choose an addition chain that ends in $c$.  In other words, choose a sequence $c_1,c_2,\dots,c_m$ such that $c_1=1$ and $c_m=c$ and for all $k$, there exists $i,j$ such that $c_i+c_j=c_k$ (where $1 \le i,j &amp;lt; k$).  There are standard ways to choose such a sequence of length $\le 2 \lg c$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Next, use the extended Euclidean algorithm to find a representation of $c_1=1$.  Finally, iteratively sweep forward: for $k=1,2,\dots,m$, find a representation of $c_k$ (using the representations of $c_1,\dots,c_{k-1}$ and $\oplus$, as suggested by the addition chain).  We end with a representation of $c_m=c$, as desired.  No step of this process overflows 64-bit arithmetic, so this satisfies all your desired requirements.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This property is quite efficient.  The extended Euclidean algorithm requires at most $2 \lg c$ iterations, and the addition chain is of length at most $2 \lg c$, so you do at most $4 \lg c$ steps, where you do a handful of simple 64-bit arithmetic operations in each step.  That's about as efficient as you could hope for.&lt;/p&gt;&#xA;" OwnerUserId="5038" LastEditorUserId="5038" LastEditDate="2013-11-08T05:26:13.800" LastActivityDate="2013-11-08T05:26:13.800" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="19714" PostTypeId="1" CreationDate="2013-11-08T09:52:06.083" Score="16" ViewCount="550" Body="&lt;p&gt;I was offered to teach a novel TCS high school program, which requires constructing a curriculum. I would very much like to hear opinions and suggestions regarding this.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First, does anyone know of high schools where a TCS program has been taught successfully (or unsuccessfully)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The idea is for a 3-year program (10th-12th grades, ages 16-18), about 8 weekly hours, for selected outstanding students, meaning that it can and should be demanding. Unlike the standard &quot;computers&quot; program, this program should not focus on programming, but rather on selected topics in CS, mostly in TCS. The topics we have in mind so far are, broadly:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Asymptotic analysis&lt;/li&gt;&#xA;&lt;li&gt;Basic data structures and algorithms (lists, arrays)&lt;/li&gt;&#xA;&lt;li&gt;Graph algorithms, also as a demonstration of greedy algorithms v.s. dynamic programming.&lt;/li&gt;&#xA;&lt;li&gt;Other algorithms (e.g. probabilistic)&lt;/li&gt;&#xA;&lt;li&gt;Computability - the concept of a TM, reduction, decidability.&lt;/li&gt;&#xA;&lt;li&gt;Complexity - NP, P, perhaps PSPACE and NL. Completeness.&lt;/li&gt;&#xA;&lt;li&gt;Automata theory&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Basically, this covers the TCS part of the first two years of a B.Sc in CS. However, we must keep in mind that these students lack the mathematical foundation needed for most of this material. In particular, things like set theory, combinatorics, probability, and modular artihmetic are not taught in high school (unfortunately).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To sum up, and to give precise questions:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Does anyone know of a similar program anywhere?&lt;/li&gt;&#xA;&lt;li&gt;Are there suggestions for concrete/general topics which you think can and should be taught in addition/instead of the topics above, while keeping the program interesting as well as important and directly relevant (e.g. group theory is important and interesting, but not relevant enough to justify the time it will take)&lt;/li&gt;&#xA;&lt;li&gt;I would have been happy to introduce machine-learning in some form, as it is a really hot topic nowadays. Any ideas as to how machine learning can be presented without tools like measure-concentration theorems are welcome.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="7531" LastActivityDate="2013-11-10T18:51:01.263" Title="Teaching high school TCS - existing programs" Tags="&lt;teaching&gt;" AnswerCount="4" CommentCount="12" FavoriteCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="19715" PostTypeId="2" ParentId="19711" CreationDate="2013-11-08T09:53:16.240" Score="5" Body="&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;I don't know! &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;No, your assumption is not right. You can quantify over higher-order functions and predicates in IHOL (in fact, predicates are just functions into a type of propositions). The setup looks a bit like this:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;\begin{array}{llcl}&#xA;\mbox{Sort} &amp;amp; \omega &amp;amp; ::= &amp;amp;  \omega \to \omega \;\; | \;\; \omega \times \omega \;\; | \;\; 1  \;\;|\;\; \mathrm{prop}  \;\;|\;\; \iota\\&#xA;\mbox{Term} &amp;amp; t &amp;amp; ::= &amp;amp; x \;\;|\;\; \lambda x.t \;\;|\;\; t\;t' \;\;|\;\; (t,t) \;\; | \;\; \pi_1(t) \;\;|\;\; \pi_2(t) \;\;|\;\; () \\&#xA;&amp;amp;            &amp;amp;  |  &amp;amp; &#xA;     p \Rightarrow q \;\;|\;\; \top \;\;|\;\; p \wedge q \;\;|\;\; \bot \;\;|\;\; p \vee q  \\&#xA;&amp;amp; &amp;amp; | &amp;amp; \forall x:\omega.p \;\;|\;\; \exists x:\omega.p  \;\;|\;\; t =_\omega t' \\&#xA;&amp;amp; &amp;amp; | &amp;amp; f(\vec{t}) &#xA;\end{array}&#xA;$$&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;You give the usual typing rules to judge the well-formedness of a term. The first line of terms are the usual simply-typed lambda calculus, the second two lines are the propositions of higher-order logic (typed as elements of $\mathrm{prop}$), and the third line are whatever constants you use to form individuals (elements of $\iota$). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then the idea is that you want to extend the Kripke semantics for first-order intuitionistic logic to higher-order logic, by extending the hyperdoctrine semantics with additional structure. A first-order hyperdoctrine is a functor $P : C^\mathrm{op} \to \mathrm{Poset}$ between a category $C$ with products (used to interpret the terms in context), and a category of posets (the truth value lattices), satisfying some conditions to make substitution work right. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;To get to IHOL, you additionally assert that &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;$C$ is cartesian closed (to model the ability to quantify over function types), and &lt;/li&gt;&#xA;&lt;li&gt;$C$ has an internal Heyting algebra $H$ satisfying the property that for every $\Gamma \in C$, $\mathit{Obj}(P(\Gamma)) \simeq C(\Gamma, H)$. You use $H$ to model $\mathrm{prop}$, and the isomorphism tells you that terms of type $\mathrm{prop}$ really do correspond to truth values.  &lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;This structure is &lt;em&gt;almost&lt;/em&gt; an &quot;elementary topos&quot;. If you additionally require that $P(\Gamma)$ is a poset of subojects of $\Gamma$, then you're there. (This essentially says that you can add a comprehension principle to your logic.)  &lt;/p&gt;&#xA;" OwnerUserId="657" LastActivityDate="2013-11-08T09:53:16.240" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19718" PostTypeId="2" ParentId="19673" CreationDate="2013-11-08T11:52:18.830" Score="9" Body="&lt;p&gt;&lt;a href=&quot;http://arxiv.org/abs/0907.4283&quot;&gt;Dawar and Kreutzer&lt;/a&gt; have shown that the problem is fixed-parameter tractable on nowhere dense classes of graphs, which includes the planar graphs, the graphs of bounded (local) tree-width and all classes with (locally) excluded minors. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://arxiv.org/abs/1110.5190&quot;&gt;Dvorak&lt;/a&gt; has shown that there is a polynomial time constant factor approximation for classes of bounded expansion, which includes the planar graphs, graphs of bounded tree-width and all classes with excluded minors. &lt;/p&gt;&#xA;" OwnerUserId="17644" LastActivityDate="2013-11-08T11:52:18.830" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19719" PostTypeId="2" ParentId="9731" CreationDate="2013-11-08T12:31:44.953" Score="1" Body="&lt;p&gt;In your concrete example (with Functor type class), Haskell and Java implementations behave differently. Imagine you have Maybe data type and want it to be Functor (it is really popular data type in Haskell, which you can easily implement in Java as well). In your Java example you will make Maybe class implement your Functor interface. So you can write the following (just pseudo code because I have c# background only) :&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;Maybe&amp;lt;Int&amp;gt; val = new Maybe&amp;lt;Int&amp;gt;(5);&#xA;Functor&amp;lt;Int&amp;gt; res = val.fmap(someFunctionHere);&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Notice that the &lt;code&gt;res&lt;/code&gt; has type Functor, not Maybe. So this makes Java implementation almost unusable because you lose concrete type information, and need to do casts. (at least I failed to write such an implementation where types were still present).&#xA;With Haskell type classes you will get Maybe Int as a result.&lt;/p&gt;&#xA;" OwnerUserId="18310" LastActivityDate="2013-11-08T12:31:44.953" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19720" PostTypeId="2" ParentId="19714" CreationDate="2013-11-08T17:10:48.503" Score="3" Body="&lt;p&gt;heres one promising direction to go on this. AP/NSF recently announced a new high school advanced placement CS program initiative. there will be many advantages to using such a program such as a standardized lesson plan, college accreditation, etc. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;it is currently under development and to be ready for 2016. the tentative course syllabus and materials are available online. (for academic experts, there might even be some possibility at this point to influence the future content via &quot;collective intelligence&quot; type collaboration.)&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;The College Board's Advanced Placement Program said Thursday that it plans to add a new computer-science program to its class offerings, the first new test in seven years. The move reflects a growing interest in training students for careers in the sciences amid a national push to make the U.S. economy more competitive globally.&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;The new program, AP Computer Science Principles, will concentrate on the &quot;creative aspects&quot; of computing and will be funded partly by a \$5.2 million grant from the National Science Foundation. The federal agency aims to train an additional 10,000 computer-science teachers across the same number of high schools nationwide by 2016 as part of an effort to improve education in the science, technology, engineering and math, or STEM, fields. The College Board will chip in about \$3.5 million for teacher support and equipment.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;the existing program is called AP Computer Science A and the new program is called AP Computer Science Principles. the existing class has been around for many years and is also helpful as a model for teachers developing curriculum.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://online.wsj.com/news/articles/SB10001424127887324049504578543822451290856&quot; rel=&quot;nofollow&quot;&gt;Advanced Placement Adds New Computer-Science Test&lt;/a&gt; WSJ June 2013&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/AP_Computer_Science&quot; rel=&quot;nofollow&quot;&gt;AP computer science&lt;/a&gt;, wikipedia&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://apcentral.collegeboard.com/apc/public/courses/teachers_corner/4483.html&quot; rel=&quot;nofollow&quot;&gt;AP computer science home page&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://apstudent.collegeboard.org/apcourse/ap-computer-science-a&quot; rel=&quot;nofollow&quot;&gt;AP students/College Board computer science&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.csprinciples.org/&quot; rel=&quot;nofollow&quot;&gt;AP CS Principles&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.collegeboard.com/html/computerscience/&quot; rel=&quot;nofollow&quot;&gt;College board CS principles&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2013-11-08T17:10:48.503" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="19721" PostTypeId="2" ParentId="19714" CreationDate="2013-11-08T20:37:42.723" Score="8" Body="&lt;p&gt;Many countries organize summer schools for their IOI teams &#xA;(consisting of high school students aged roughly 16 IIRC). &#xA;The one we have in Iran used to have the following courses: &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;programming, &lt;/li&gt;&#xA;&lt;li&gt;data structure and algorithms, &lt;/li&gt;&#xA;&lt;li&gt;combinatorics, and &lt;/li&gt;&#xA;&lt;li&gt;graph theory. &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;I think ACM's Computer Science Teachers Association has &#xA;a &lt;a href=&quot;http://csta.acm.org/Curriculum/sub/CurrFiles/K-12ModelCurr2ndEd.pdf&quot; rel=&quot;nofollow&quot;&gt;K12 curriculum&lt;/a&gt; on its &lt;a href=&quot;http://csta.acm.org/Curriculum/sub/CurrResources.html&quot; rel=&quot;nofollow&quot;&gt;Curriculum Resources&lt;/a&gt; page&#xA;though it is probably way too light for talented teenagers. &lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;I think programming &lt;em&gt;must&lt;/em&gt; definitely be part of the curriculum. &#xA;Python should be a good first language to learn.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You might want to also cover some accessible topics with applications &#xA;(the joy of building something cool can have a big effect on their interest).&#xA;I think &lt;a href=&quot;https://www.coursera.org/course/ml&quot; rel=&quot;nofollow&quot;&gt;Andrew Ng's ML course on Coursera&lt;/a&gt; &#xA;should be accessible for talented students&#xA;(specially for those in countries like yours where &#xA;there is a more serious K12 math curriculum ).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A nonstandard topic that you might want to consider is combinational game theory,&#xA;it might be not very interesting with 16 years old (I don't have experience for it) but &#xA;it works quite well for a bit younger students in my experience.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I personally think the central and connecting theme should be around algorithms,&#xA;I think it would work better than automata theory as the central theme and &#xA;arguably the algorithmic perspective (not Turing machines, automata, etc.) &#xA;is &lt;em&gt;the&lt;/em&gt; essence of computer science.&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2013-11-09T21:28:46.397" LastActivityDate="2013-11-09T21:28:46.397" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="19722" PostTypeId="1" CreationDate="2013-11-08T21:49:54.567" Score="0" ViewCount="58" Body="&lt;p&gt;In uniform converge results of means or averages to their expectations (think of the typical results involving VC-dimension, covering numbers, Pseudo-dimension, fat shattering dimension, ...) , the estimator used on the sample is the sample average. Is it possible to use a different estimator? Is it required that the estimator has some specific properties (I assume at least unbiasedness) ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks&lt;/p&gt;&#xA;" OwnerUserId="4828" LastActivityDate="2013-11-08T21:49:54.567" Title="Different estimators for uniform convergence of means/averages to expectations" Tags="&lt;co.combinatorics&gt;&lt;cg.comp-geom&gt;&lt;machine-learning&gt;&lt;lg.learning&gt;&lt;vc-dimension&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="19724" PostTypeId="2" ParentId="19708" CreationDate="2013-11-09T12:35:50.293" Score="24" Body="&lt;p&gt;I am not aware of a paper concerned with the comparison between symbolic execution and abstract interpretation. Nor do I think one is needed. Reading the original descriptions of these two techniques should be enough.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;King, &lt;em&gt;Symbolic Execution and Program Testing&lt;/em&gt;, 1976&lt;/li&gt;&#xA;&lt;li&gt;Cousot, Cousot, &lt;em&gt;Abstract Interpretation: a Unified Lattice Model for Static Analysis of Programs by Construction of Approximation of Fixpoints&lt;/em&gt;, 1977&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;(Conversely, if there would be some unexpected connection, then that would be worth describing. But I very much doubt this is the case.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The main idea of symbolic execution is that, at an arbitrary point in execution, you can express the values of all variables as functions of the initial values. The main idea of abstract interpretation is that you can systematically explore all executions of a program by a series of over-approximations. (I can hear several AI enthusiasts groaning at the previous approximation.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thus, at least in the original formulation, symbolic execution was not concerned with exploring all possible executions. You can see this even in the title: it includes the word ‘testing’. But here's more from Section 8: &quot;For programs with infinite execution trees, the symbolic testing cannot be exhaustive and no absolute proof of correctness can be established.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In contrast, abstract interpretation aims to explore all executions. To do so, it uses several ingredients, one of which is very similar to the main idea of symbolic execution. These ingredients are (1) abstract states, (2) joining and widening (hence, ‘lattice’ in the title).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Abstract states.&lt;/em&gt; The concrete state of a program at a particular point in time is basically a snapshot of the memory content (including the program code itself and the program counter). This has a lot of detail, which is hard to track. When you analyze a particular property, you may want to ignore large parts of the concrete state. Or you may want to care only whether a particular variable is negative, zero, or positive, but not care about its exact value. In general, you want to consider an abstract version of the concrete state. For this to work out, you must have a commutativity property: If you take a concrete state, execute a statement, and then abstract the resulting state, you should obtain the same result as if you abstract the initial state, and then execute the same statement but on the abstract state. This commutativity diagram appears in both papers. This is the common idea. Again, abstract interpretation is more general, for it does not dictate how to abstract a state -- it just says there should be a way to do it. In contrast, symbolic execution says that you use (symbolic) expressions that mention the initial values.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Joining and Widening.&lt;/em&gt; If program execution reaches a certain statement in two different ways, symbolic execution does not try to merge the two analyzes. That is why the quote above talks about execution trees, rather than dags. But, remember that abstract interpretation wants to cover all executions. Thus, it asks for a way to merge the analyses of two executions at the point where they have the same program counter. (The join &lt;em&gt;could&lt;/em&gt; be very dumb ({a} join {b} = {a,b}) such that it amounts to what symbolic execution does.) In general, joining itself is not sufficient to guarantee that you'll eventually finish analyzing all executions. (In particular, the dumb join mentioned earlier won't work.) Consider a program with a loops: &quot;n=input(); for i in range(n): dostuff()&quot;. How many times should you go around the loop and keep joining? No fixed answer works. Thus, something else is needed, and that is &lt;em&gt;widening&lt;/em&gt;, which can be seen as a heuristic. Suppose you went around the loop 3 times and you learned that &quot;i=0 or i=1 or i=2&quot;. Then you say: hmmm, ... let's widen, and you get &quot;i&gt;=0&quot;. Again abstract interpretation does not say how to do widening -- it just says what properties widening should have to work out.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Sorry for this long answer: I really didn't have time to make it shorter.)&lt;/p&gt;&#xA;" OwnerUserId="236" LastActivityDate="2013-11-09T12:35:50.293" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19726" PostTypeId="2" ParentId="19714" CreationDate="2013-11-09T18:17:05.670" Score="5" Body="&lt;p&gt;Curiously, there is &lt;a href=&quot;http://www.lsi.upc.edu/~gavalda/docencia/tml08-revised.pdf&quot;&gt;someone&lt;/a&gt; who argued that machine learning is &lt;em&gt;uniquely fit&lt;/em&gt; among computer science topics to teach to high school students, because supposedly it is one of the few subfields where basic math can get you to understand enough to appreciate the important challenges. I disagree with this claim -- basic algorithms (say for searching, sorting) can be presented as puzzles, and you can very quickly get to very simple to state but fundamental open problems like &quot;can multiplication be done with essentially the same number of operations as addition&quot;, or sorting integers in linear time, or factoring (I assume the concept of primes numbers would not be new to the select group of high school students?). On the other hand, a lot of machine learning would be hard to grasp without a good level of experience with statistics and probability theory. Nevertheless, he has some ideas what material to present to students.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In terms of a teaching program, there is a &lt;a href=&quot;http://www.ece.drexel.edu/gailr/papers/essinger_11.pdf&quot;&gt;more detailed one&lt;/a&gt; by Essinger and Rosen at Drexel.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In addition to these, I would think one can attempt to sketch some of the more high-level ideas of learning theory: &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;what is the basic classification problem&lt;/li&gt;&#xA;&lt;li&gt;what is a concept class and what does it mean to learn a concept&lt;/li&gt;&#xA;&lt;li&gt;why you can't hope to learn concepts from an unrestricted concept class with less than exponential sampling complexity (as an introduction to counting arguments)&lt;/li&gt;&#xA;&lt;li&gt;what is VC-dimension&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Another suggestion is to introduce circuits and attempt some sketch of Shannon's lower bound. Depends how comfortable students are with counting. If this is too heavy, it might still help to do the argument while having the students take the counting of circuits itself on faith. I think the idea of &quot;most problems require large circuits because there are too many problems and too few small circuits&quot; will be striking. This idea is important and pervasive in complexity. &lt;/p&gt;&#xA;" OwnerUserId="4896" LastActivityDate="2013-11-09T18:17:05.670" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="19727" PostTypeId="2" ParentId="16159" CreationDate="2013-11-09T18:44:56.977" Score="5" Body="&lt;p&gt;There has been interesting work recently on making the relation between proof net and focused calculi tighter, using &quot;multi-focused&quot; variants where you may have several simultaneous left holes, and studying &quot;maximally focused&quot; proofs. If you pick the calculus right, maximally-focused proofs can correspond to MLL proof nets or, in classical logic, to expansion proofs (&lt;a href=&quot;http://chaudhuri.info/papers/draft12lkfexp.pdf&quot;&gt;The Isomorphism Between Expansion Proofs and Multi-Focused Sequent Proofs&lt;/a&gt;, Kaustuv Chaudhuri, Stefan Hetzl and Dale Miller, 2013)&lt;/p&gt;&#xA;" OwnerUserId="4984" LastActivityDate="2013-11-09T18:44:56.977" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19728" PostTypeId="1" CreationDate="2013-11-09T22:54:47.227" Score="-3" ViewCount="523" Body="&lt;p&gt;Suppose, i have a graph with fixed number of nodes and edges. However, all the nodes doesn't remain active all the time causing the graph disconnected. In this sort of situation, i want to find out the minimal set of vertices that will help the graph remain connected all the time. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can this problem be mapped to any know problem?&lt;/p&gt;&#xA;" OwnerUserId="19330" LastActivityDate="2013-11-10T09:59:25.803" Title="How to find the minimum number of vertices to join disconnected components of a graph?" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;" AnswerCount="1" CommentCount="3" ClosedDate="2013-11-17T05:44:59.347" ContentLicense="CC BY-SA 3.0" />
  <row Id="19730" PostTypeId="1" AcceptedAnswerId="19753" CreationDate="2013-11-10T03:43:55.147" Score="7" ViewCount="737" Body="&lt;p&gt;I am new to PAC-learnability. Assume a class $\mathcal{H}$ of hypotheses is PAC-learnable. Then all we know that if we draw polynomial number of examples (in $\delta$ and $\epsilon$), we can return a hypothesis with high accuracy. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;But how this related to the complexity of the learner $L$?. Because I often read $\mathcal{H}$ is PAC-learnable if there exist an algorithm $L$ runs in time polynomial (in $\delta$ and $\epsilon$). &lt;/p&gt;&#xA;" OwnerUserId="17991" LastEditorDisplayName="user6973" LastEditDate="2013-11-11T22:28:24.857" LastActivityDate="2013-11-12T02:13:58.357" Title="What does PAC-learnability say about the learner runtime?" Tags="&lt;machine-learning&gt;&lt;lg.learning&gt;&lt;pac-learning&gt;" AnswerCount="1" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="19735" PostTypeId="2" ParentId="19728" CreationDate="2013-11-10T09:59:25.803" Score="1" Body="&lt;p&gt;I don't know if I understood your question. But there are two possibilities: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;1)If you want to know the minimum set that cover all the edges this (in the general case) is a NP-complete problem and is called &lt;a href=&quot;http://en.wikipedia.org/wiki/Vertex_cover&quot; rel=&quot;nofollow&quot;&gt;Minimum vertex cover&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2)If you want to know the set of vertices with which every other vertex are connected at least at a vertex in the set this can be solved in P time solving the minimum spanning tree problem for unweighted graph (&lt;a href=&quot;http://faculty.simpson.edu/lydia.sinapova/www/cmsc250/LN250_Weiss/L22-MinSpanEX1.htm&quot; rel=&quot;nofollow&quot;&gt;Here you can find an example&lt;/a&gt;). &lt;/p&gt;&#xA;" OwnerUserId="19339" LastActivityDate="2013-11-10T09:59:25.803" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19739" PostTypeId="2" ParentId="19626" CreationDate="2013-11-10T18:37:35.413" Score="1" Body="&lt;p&gt;Regarding your second and third questions, you want to know if there is a name for a partial assignment that is guaranteed not to be a nogood, and which will generate only satisfying assignments when DPLL is applied to it.  I am not aware of a standard name for this concept, but cannot judge whether &quot;reliable assignment&quot; (as you suggest) is suitable.  However, this sounds like it is closely related to Oliver Kullmann's &lt;em&gt;autarky&lt;/em&gt; notion.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Hans Kleine Büning and Oliver Kullmann, &lt;em&gt;Minimal Unsatisfiability and Autarkies&lt;/em&gt;. Chapter 11 of &lt;em&gt;Handbook of Satisfiability&lt;/em&gt;, 2009. (&lt;a href=&quot;http://www.cs.swan.ac.uk/~csoliver/Artikel/p01c11_mus.pdf&quot; rel=&quot;nofollow&quot;&gt;draft&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I am not aware of any implementations of related concepts, but you might want to ask a SAT solver expert like the people taking part in the SAT Competition (&lt;a href=&quot;http://satcompetition.org/2013/proceedings.shtml&quot; rel=&quot;nofollow&quot;&gt;2013 edition&lt;/a&gt;).&lt;/p&gt;&#xA;" OwnerUserId="109" LastActivityDate="2013-11-10T18:37:35.413" CommentCount="1" CommunityOwnedDate="2013-11-10T18:37:35.413" ContentLicense="CC BY-SA 3.0" />
  <row Id="19740" PostTypeId="2" ParentId="19714" CreationDate="2013-11-10T18:51:01.263" Score="2" Body="&lt;p&gt;An idea I've been kicking around recently is how to teach HS students the notion of a reduction between problems. I found this to be one of the most interesting yet most challenging topics when I was introduced to complexity, since it's quite hard (at least initially) to wrap one's head around the fact that a problem like 3-SAT is &quot;just as hard&quot; as Vertex-Cover.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The example I came up with was a reduction between Vertex Cover (VC) and Independent Set (IND-SET), phrased as follows;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&quot;You're the director of a museum, and are tasked with hiring security to guard the hallways. When placed at an intersection of hallways, a guard can keep an eye on ALL hallways adjacent to him. What is the minimum number of guards needed to patrol the entire museum?&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&quot;A little bit later, some children decide to play a game of hide-and-seek in the museum.  Their goal is to hide such that no other child can see them. However, the guards don't want them running around in the hallways, so they are relegated to &quot;hiding&quot; in the intersections. What is the largest number of children that can hide in the museum without seeing each other?&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The main goal would be for students to formulate and prove the following theorem that is central to the reduction showing $\text{V}C \leq_{P} \text{IND-SET}$;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Theorem:&lt;/strong&gt; For $G=(V,E)$, $S \subseteq V$ is an independent set $\iff$ $V \backslash S$ is a vertex cover (where $\backslash$ denotes set difference).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The reason I selected VC &amp;amp; IND-SET is that it's not &lt;em&gt;too&lt;/em&gt; hard to see that the problems are closely related; whenever there's an independent set $S$, it induces a vertex cover $V\backslash S$ in $G$.&lt;/p&gt;&#xA;" OwnerUserId="15815" LastActivityDate="2013-11-10T18:51:01.263" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="19742" PostTypeId="1" CreationDate="2013-11-11T05:48:50.610" Score="2" ViewCount="1139" Body="&lt;p&gt;I have been going through &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=2213984&quot; rel=&quot;nofollow&quot;&gt;Certifiable quantum dice: or, true random number generation secure against quantum adversaries&lt;/a&gt; by    Umesh Vazirani and Thomas Vidick. They have used entangled particles as shared resources for a quantum nonlocal game aka CHSH game. Because of the acronym CHSH I assumed that the game was proposed by Clauser et al. in their famous paper, &lt;a href=&quot;http://prl.aps.org/abstract/PRL/v23/i15/p880_1&quot; rel=&quot;nofollow&quot;&gt;Proposed Experiment to Test Local Hidden-Variable Theories&lt;/a&gt;. But it looks they proposed only the famous inequality not the game. So, I am trying to trace the evolution of intuitions, ideas and results of the researchers which link the CHSH game with CHSH inequality. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The usual form of CHSH inequality is as follows.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$-2 \le S \le 2$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where,&#xA;$$S = E(a, b) − E(a, b') + E(a', b) + E(a' b')$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here $a$ and $a'$ are detector settings on side $A$, $b$ and $b'$ on side $B$, the four combinations being tested in separate subexperiments. The terms $E(a, b)$ etc. are the quantum correlations of the particle pairs, where the quantum correlation is defined to be the expectation value of the product of the &quot;outcomes&quot; of the experiment, i.e. the statistical average of $A(a)·B(b)$, where $A$ and $B$ are the separate outcomes, using the coding $+1$ for the '$+$' channel and $−1$ for the '$−$' channel.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the &lt;a href=&quot;http://prl.aps.org/abstract/PRL/v23/i15/p880_1&quot; rel=&quot;nofollow&quot;&gt;original paper&lt;/a&gt; the inequality is Equation 1b which is as follows.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$|P(\alpha) - P(\alpha + \beta)| \le 2 - P(\gamma) -P(\beta + \gamma)$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As mentioned on page 883 of the paper greatest violation occurs when $\alpha = 22.5^\circ$ , $\beta = 45^\circ$, and $\gamma = 157.5^\circ$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But the paper doesn't describe a nonlocal game. Even the later survey, &lt;a href=&quot;http://iopscience.iop.org/0034-4885/41/12/002&quot; rel=&quot;nofollow&quot;&gt;Bell's theorem. Experimental tests and implications&lt;/a&gt;, by Clauser et al. also doesn't describe any nonlocal game.  So, my understanding is that the CHSH inequality is just a component of the CHSH game which was later defined by someone else. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;After googling and tracing through the bibliographies of the papers for a while I found the paper, &lt;a href=&quot;http://ieeexplore.ieee.org/xpl/login.jsp?tp=&amp;amp;arnumber=1313847&amp;amp;url=http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=1313847&quot; rel=&quot;nofollow&quot;&gt;Consequences and limits of nonlocal strategies&lt;/a&gt;, by Cleve et al. In section 3.1 they have defined the CHSH game formally. I assume this is the first formal description of the game.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;CHSH game is just another nonlocal game with two provers. In a CHSH game the contribution of the CHSH inequality is in the strategy of the game. For the nonlocal game the players, Alice and Bob employ strategies in answering to the referee. The strategies are quantum. The possible answers are boolean values. The probability distribution over the answers are the probability distribution retrieved from the measurements performed by them on a shared Bell state. This probability distribution is defined by the CHSH inequality. It's optimality is given by the Tsirelson's equality defined in &lt;a href=&quot;http://link.springer.com/article/10.1007/BF00417500&quot; rel=&quot;nofollow&quot;&gt;Quantum generalizations of Bell's inequality &lt;/a&gt; (4th condition of the theorem 1) by Tsirelson and &lt;a href=&quot;http://www.tau.ac.il/~tsirel/download/khts85.html&quot; rel=&quot;nofollow&quot;&gt;Quantum and quasi-classical analogs of Bell inequalities&lt;/a&gt; by Khalfin and Tsirelson (Equation 2).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is : &lt;strong&gt;Am I able to trace the evolution of the ideas, intuitions and results between CHSH inequality and CHSH game correctly? Did I miss anything?&lt;/strong&gt;&lt;/p&gt;&#xA;" OwnerUserId="13408" LastEditorUserId="13408" LastEditDate="2013-11-11T06:32:13.310" LastActivityDate="2013-11-11T06:32:13.310" Title="From CHSH inequality to CHSH game" Tags="&lt;quantum-computing&gt;&lt;gt.game-theory&gt;&lt;quantum-information&gt;&lt;pcp&gt;&lt;interactive-proofs&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19743" PostTypeId="2" ParentId="19695" CreationDate="2013-11-11T11:48:22.027" Score="9" Body="&lt;p&gt;If you have a coin which has an uncomputable probability of landing heads, then you can estimate with bounded error the first $k$ bits of this probability using $O(4^{k})$ coin flips. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This lets you construct a machine with bounded error that computes an uncomputable function. The uncomputable function is the $k$&lt;sup&gt;th&lt;/sup&gt; bit of the probability. The computation is estimating the probability of landing heads by flipping the coin $4^k$ times. Considerations of running time don't matter when you're worrying about whether a function is computable or uncomputable, so it doesn't matter that it takes time exponential in $k$ to estimate the $k$&lt;sup&gt;th&lt;/sup&gt; bit of the function; it's still an uncomputable function.&lt;/p&gt;&#xA;" OwnerUserId="1677" LastEditorUserId="1677" LastEditDate="2013-11-12T06:23:21.700" LastActivityDate="2013-11-12T06:23:21.700" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="19745" PostTypeId="2" ParentId="8314" CreationDate="2013-11-11T14:17:40.987" Score="3" Body="&lt;p&gt;Unfortunately, I also don't have an exact answer. After an initially wrong statement in my lecture notes, currently I do not provide a good bound on the Fano code (version 3.1 of lecture notes). I do, however, have a proof that shows that the Fano codes has an expected average codeword length of less than H(U)/log(2) + 1 - 2p_{min}. Unfortunately, I only have the proof for the case of a binary code, not a general D-ary code. This is why I haven't included this yet into the lecture notes. But I'm still working on it and hope that I will eventually be able to fix it in my lecture notes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note, however, that my result does NOT compare Shannon codes with Fano codes. It only gives a general upper bound on the Fano codes. I think it is very difficult to compare the two codes directly. In particular, I do not understand the proof given above and I have my doubts that it can be made rigorous, particularly not for D&gt;2.&lt;/p&gt;&#xA;" OwnerUserId="19350" LastActivityDate="2013-11-11T14:17:40.987" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19746" PostTypeId="1" AcceptedAnswerId="19847" CreationDate="2013-11-11T14:37:46.287" Score="12" ViewCount="540" Body="&lt;p&gt;UP class is &lt;a href=&quot;https://complexityzoo.uwaterloo.ca/Complexity_Zoo%3aU#up&quot;&gt;defined&lt;/a&gt; as such:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;The class of decision problems solvable by an NP machine such that&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;If the answer is 'yes,' exactly one computation path accepts.&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;If the answer is 'no,' all computation paths reject.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I'm trying to develop intuition for this definition.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can one say that UP problems are the problems with unique solutions (e.g. prime factorisation)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;That seems close to the truth to me; but I can't help thinking that that would mean, since UP contains P and is contained in NP, that in case &lt;code&gt;P = NP&lt;/code&gt; we'd get that &lt;code&gt;P = UP = NP&lt;/code&gt;, so all problems in &lt;code&gt;NP&lt;/code&gt; have unique solutions as well, which seems like something provably not true: &lt;code&gt;P != NP&lt;/code&gt; by reductio ad absurdum. I hope there's not too much conjectures and hand-wavery in this paragraph for your taste.&lt;/p&gt;&#xA;" OwnerUserId="19351" LastActivityDate="2013-11-19T00:59:38.107" Title="Intuition for the UP class" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;" AnswerCount="2" CommentCount="5" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="19747" PostTypeId="1" CreationDate="2013-11-11T15:37:25.207" Score="2" ViewCount="74" Body="&lt;p&gt;I am doing some research regarding (resource-constrained) scheduling, and in several papers I find multi-project scheduling problems. What is so special about multi-project scheduling problems compared to single-project scheduling problems?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is what I understand the problems to be:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The single-project scheduling problem consists of a set of tasks with temporal relationships between those tasks (defining lower and/or upper bounds between start or end times of tasks), and a set of resources. Tasks require resources during execution, which are released when execution is finished.&#xA;Depending on the problem that is being solved, different properties are optimized (for example makespan or tardiness).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The multi-project scheduling problem consists of several such projects, which can have different release dates or deadlines.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My intuition is that the multi-project scheduling problem can be very easily reduced to the single-project scheduling problem by combining the tasks and temporal constraints and adding some dummy tasks and constraints to create a single release time and deadline for the whole instance.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are two reasons why this bothers me:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;If there is no actual difference between the two problems, why bother with having distinct problems?&lt;/li&gt;&#xA;&lt;li&gt;Having multiple projects requires extra indices (for example $e_{ijmM}$ instead of $e_{imM}$, or &lt;code&gt;a[i][j][m][M]&lt;/code&gt; instead of &lt;code&gt;a[i][m][M]&lt;/code&gt; in code). This makes it harder to work with and increases the probability of errors, both in notation and in code.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Therefore my question is: is there a use for the distinction between single- and multi-project scheduling?&lt;/p&gt;&#xA;" OwnerUserId="19352" LastActivityDate="2013-11-11T15:37:25.207" Title="What is the use of the multi-project scheduling problem compared to single-project?" Tags="&lt;scheduling&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19750" PostTypeId="2" ParentId="8542" CreationDate="2013-11-11T18:27:52.193" Score="1" Body="&lt;p&gt;As permanents give the probability amplitudes of measurement outcomes of bosons after they interfere in a linear interferometer, Scheel obtained a simple &quot;quantum&quot; proof that the absolute value of the permanent of any unitary matrix is 1 (&lt;a href=&quot;http://arxiv.org/abs/quant-ph/0406127&quot; rel=&quot;nofollow&quot;&gt;http://arxiv.org/abs/quant-ph/0406127&lt;/a&gt;).&lt;/p&gt;&#xA;" OwnerUserId="19354" LastActivityDate="2013-11-11T18:27:52.193" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19753" PostTypeId="2" ParentId="19730" CreationDate="2013-11-11T19:15:21.800" Score="10" Body="&lt;p&gt;PAC comes in two flavors -- &quot;information theoretic PAC&quot; and &quot;efficient PAC.&quot; The latter asks for computational efficiency whereas the former cares only about sample size.  One usually understands which is referred to from context.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Indeed, it is not known whether (efficient) PAC learning is NP-hard in general, but results on the &lt;a href=&quot;http://robotics.upenn.edu/~mkearns/papers/crypto.pdf&quot; rel=&quot;noreferrer&quot;&gt;cryptographic hardness of learning&lt;/a&gt; as well as on &lt;a href=&quot;http://researcher.watson.ibm.com/researcher/files/us-vitaly/PittValiant88-e.pdf&quot; rel=&quot;noreferrer&quot;&gt;hardness of proper learning&lt;/a&gt; make it universally believed that learning is hard.&lt;/p&gt;&#xA;" OwnerUserId="123" LastEditorUserId="123" LastEditDate="2013-11-12T02:13:58.357" LastActivityDate="2013-11-12T02:13:58.357" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="19755" PostTypeId="1" CreationDate="2013-10-27T00:12:48.233" Score="19" ViewCount="283" Body="&lt;p&gt;In adiabatic quantum computation (AQC), one encodes the solution to an optimization problem in the ground state of a [problem] Hamiltonian $H_p$. To get to this ground state, you start in an easily coolable initial (ground) state with Hamiltonian $H_i$ and &quot;anneal&quot; (adiabatically perturb) towards $H_p$, i.e.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;H(s) = s H_i + (1-s) H_p&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where $s \in [0,1]$. Details about AQC: &lt;a href=&quot;http://arxiv.org/abs/quant-ph/0001106v1&quot;&gt;http://arxiv.org/abs/quant-ph/0001106v1&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The interesting thing about this problem is to try to understand the gap between the ground state eigenvalue and the first excited state, as this determines the problem complexity. One interesting thing to do would be to try and say something about the behavior of certain types of Hamiltonians. One can analyze the energy spectrum of small qubit cases by simulation to understand the problem complexity, but this becomes infeasible very quickly.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What I'd like to know is if there is a geometrical or topological way of looking at how certain Hamiltonians behave. Someone mentioned that the above form could be looked at as a homotopy (if the scalar functions were generalized to operators), but I'm not well-versed in higher level mathematics so I'm not sure what this implies or what I could do with it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It might help to mention that the Hamiltonians are usually Ising spin-glass Hamiltonians (at least, that is what $H_p$ is). I'm not well-read on advanced statistical mechanics literature either, so this may be another avenue.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I wondered if anyone could provide some explanation on this, or at least provide some interesting references, keywords, etc.&lt;/p&gt;&#xA;" OwnerUserId="12442" OwnerDisplayName="hadsed" LastEditorUserId="186" LastEditDate="2013-11-11T21:10:11.263" LastActivityDate="2013-11-13T17:38:41.610" Title="Is there a geometrical picture for adiabatic quantum computation?" Tags="&lt;reference-request&gt;&lt;quantum-computing&gt;&lt;physics&gt;&lt;topology&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="19758" PostTypeId="1" CreationDate="2013-11-12T07:23:58.010" Score="17" ViewCount="2373" Body="&lt;p&gt;There's only very little information I can find on the NP-complete problem of solving linear diophantine equation in non-negative integers. That is to say, is there a solution in non-negative $x_1,x_2, ... , x_n$ to the equation $a_1 x_1 + a_2 x_2 + ... + a_n x_n = b$, where all the constants are positive? The only noteworthy mention of this problem that I know of is in Schrijver's &lt;em&gt;Theory of Linear and Integer Programming&lt;/em&gt;. And even then, it's a rather terse discussion.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So I would greatly appreciate any information or reference you could provide on this problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are two questions I mostly care about:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Is it strongly NP-Complete?&lt;/li&gt;&#xA;&lt;li&gt;Is the related problem of counting the number of solutions #P-hard, or even #P-complete? &lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="19363" LastEditorUserId="705" LastEditDate="2013-11-13T19:17:36.720" LastActivityDate="2015-09-30T11:54:47.787" Title="Linear diophantine equation in non-negative integers" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;np-hardness&gt;&lt;counting-complexity&gt;" AnswerCount="2" CommentCount="16" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="19759" PostTypeId="1" AcceptedAnswerId="19773" CreationDate="2013-11-12T15:01:40.673" Score="320" ViewCount="196720" Body="&lt;p&gt;To demonstrate the importance of algorithms (e.g. to students and professors who don't do theory or are even from entirely different fields) it is sometimes useful to have ready at hand a list of examples where core algorithms have been deployed in commercial, governmental, or widely-used software/hardware.&lt;/p&gt;&#xA;&lt;p&gt;I am looking for such examples that satisfy the following criteria:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;The software/hardware using the algorithm should be in wide use right now.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The example should be specific.&#xA;Please give a reference to a specific system and a specific algorithm.&lt;br /&gt;&#xA;E.g., in &amp;quot;algorithm X is useful for image processing&amp;quot;&#xA;the term &amp;quot;image processing&amp;quot; is not specific enough;&#xA;in &amp;quot;Google search uses graph algorithms&amp;quot;&#xA;the term &amp;quot;graph algorithms&amp;quot; is not specific enough.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The algorithm should be taught in&#xA;typical undergraduate or Ph.D. classes in algorithms or data structures.&#xA;Ideally, the algorithm is covered in typical algorithms textbooks.&#xA;E.g., &amp;quot;well-known system X uses little-known algorithm Y&amp;quot; is not good.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;hr /&gt;&#xA;&lt;h3&gt;Update:&lt;/h3&gt;&#xA;&lt;p&gt;Thanks again for the great answers and links!&#xA;Some people comment that it is hard to satisfy the criteria&#xA;because core algorithms are so pervasive that it's hard to point to a specific use.&#xA;I see the difficulty.&#xA;But I think it is worthwhile to come up with specific examples because&#xA;in my experience telling people:&#xA;&amp;quot;Look, algorithms are important because they are &lt;em&gt;just about everywhere&lt;/em&gt;!&amp;quot; does not work.&lt;/p&gt;&#xA;" OwnerUserId="259" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2013-11-25T22:41:27.287" Title="Core algorithms deployed" Tags="&lt;ds.algorithms&gt;&lt;big-picture&gt;&lt;application-of-theory&gt;" AnswerCount="29" CommentCount="1" FavoriteCount="838" ContentLicense="CC BY-SA 3.0" />
  <row Id="19760" PostTypeId="2" ParentId="19759" CreationDate="2013-11-12T15:56:23.097" Score="12" Body="&lt;p&gt;Check out Jens Vygen's project BonnTools for Chip Design.&#xA;&lt;a href=&quot;http://www.or.uni-bonn.de/~vygen/projects.html&quot;&gt;http://www.or.uni-bonn.de/~vygen/projects.html&lt;/a&gt;&#xA;I have heard some talks on this and also looked at some of their papers.&#xA;They use Raghavan-Thompson style randomized rounding as well as multiplicative weight update method for solving large-scale multicommodity flow LPs. &#xA;However, like any big project, they need to do some engineering as well but the methodology is very much based on well-known algorithms.&lt;/p&gt;&#xA;" OwnerUserId="176" LastActivityDate="2013-11-12T15:56:23.097" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="19761" PostTypeId="2" ParentId="19746" CreationDate="2013-11-12T16:44:04.707" Score="11" Body="&lt;p&gt;I agree with Shaull's comment that the intuition of having a unique witness is correct, but subtle. The argument in your last paragraph can be made technically precise, and highlights the subtlety of $\mathsf{UP}$ versus $\mathsf{NP}$. In particular, the problem in your last paragraph is essentially the question of whether $\mathsf{NPMV} \subseteq_{c} \mathsf{NPSV}$:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\mathsf{NPMV}$ is the class of partial multi-valued functions computable in non-deterministic polynomial time, that is, each accepting nondeterministic branch gets to output a value (if there are no accepting paths on some input, then there is no output, leading to the fact that these need only be &lt;em&gt;partial&lt;/em&gt; functions). This is closely related to the search version of $\mathsf{NP}$ problems.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\mathsf{NPSV}$ is the class of &lt;em&gt;single&lt;/em&gt;-valued functions in $\mathsf{NPMV}$, that is, multiple branches can accept, but if any branches do accept, all of the accepting branches must output the same value.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Intuitively, your last paragraph is talking about whether or not you can always select, from among the witnesses for a given verifier of some $\mathsf{NP}$ problem, a single witness. This is the question of whether every $\mathsf{NPMV}$ function has an $\mathsf{NPSV}$ refinement (denoted $\mathsf{NPMV} \subseteq_{c} \mathsf{NPSV}$). If this is the case, then the polynomial hierarchy collapses (see &lt;a href=&quot;http://dx.doi.org/10.1137/S0097539794268315&quot; rel=&quot;nofollow&quot;&gt;Hemaspaandra, Naik, Ogihara, and Selman &quot;Computing Solutions Uniquely Collapses the Polynomial Hierarchy&quot;&lt;/a&gt;). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;To contrast with $\mathsf{UP}$, no such implication is known to follow from $\mathsf{NP} = \mathsf{UP}$. Essentially because given a language $L \in \mathsf{NP}$, the (witnesses for a) $\mathsf{UP}$ machine for $L$ need not have anything to do with (the witnesses for any) other $\mathsf{NP}$ machine(s) for $L$.&lt;/p&gt;&#xA;" OwnerUserId="129" LastEditorUserId="129" LastEditDate="2013-11-17T15:56:51.560" LastActivityDate="2013-11-17T15:56:51.560" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19762" PostTypeId="2" ParentId="19759" CreationDate="2013-11-12T16:47:22.787" Score="41" Body="&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Pagerank&quot;&gt;PageRank&lt;/a&gt; is one of the best-known such algorithms. Developed by Google co-founder Larry Page and co-authors, it formed the basis of Google's original search engine and is &lt;a href=&quot;http://blog.computationalcomplexity.org/2013/07/altavista-versus-google.html&quot;&gt;widely credited&lt;/a&gt; with helping them to achieve better search results than their competitors at the time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We imagine a &quot;random surfer&quot; starting at some webpage, and repeatedly clicking a random link to take him to a new page. The question is, &quot;What fraction of the time will the surfer spend at each page?&quot; The more time the surfer spends at a page, the more important the page is considered.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More formally, we view the internet as a graph where pages are nodes and links are directed edges. We can then model the surfer's action as a random walk on a graph or equivalently as a Markov Chain with transition matrix $M$. After dealing with some issues to ensure that the Markov Chain is ergodic (where does the surfer go if a page has no outgoing links?), we compute the amount of time the surfer spends at each page as the steady state distribution of the Markov Chain.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The algorithm itself is in some sense trivial - we just compute $M^k \pi_0$ for large $k$ and arbitrary initial distribution $\pi_0$. This just amounts to repeated matrix-matrix or matrix-vector multiplication. The algorithms content is mainly in the set-up (ensuring ergodicity, proving that an ergodic Markov Chain has a unique steady state distribution) and convergence analysis (dependence on the spectral gap of $M$).&lt;/p&gt;&#xA;" OwnerUserId="969" LastActivityDate="2013-11-12T16:47:22.787" CommentCount="10" ContentLicense="CC BY-SA 3.0" />
  <row Id="19763" PostTypeId="2" ParentId="19759" CreationDate="2013-11-12T17:03:29.170" Score="33" Body="&lt;p&gt;I would mention the widely-used software CPLEX (or similar) implementation of the Simplex method/algorithm &#xA;for solving linear programming problems. &#xA;It is the (?) most used algorithm in economy and operations research. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;&quot;If one would take statistics about which mathematical&#xA;problem is using up most of the computer time in the&#xA;world, then (not counting database handling problems&#xA;like sorting and searching) the answer would probably be&#xA;linear programming.&lt;/em&gt;&quot; (L. Lovász, A new linear programming algorithm-better &#xA;or worse than the simplex method? Math. Intelligencer 2 (3) (1979/80) 141-146.) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The Simplex algorithm has also great influence in theory; see, for instance, &#xA;the &lt;a href=&quot;https://cstheory.stackexchange.com/questions/1814/a-combinatorial-version-for-the-polynomial-hirsch-conjecture&quot;&gt;(Polynomial) Hirsch Conjecture&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I guess a typical undergraduate or Ph.D. class in algorithms deals with the Simplex algorithm &#xA;(including basic algorithms from linear algebra like Gauss Elimination Method).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Other successful algorithms, including Quicksort for sorting, are listed in &#xA;&lt;a href=&quot;https://cstheory.stackexchange.com/questions/189/algorithms-from-the-book&quot;&gt;Algorithms from the Book&lt;/a&gt;.)&lt;/p&gt;&#xA;" OwnerUserId="6706" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:30.623" LastActivityDate="2013-11-12T17:03:29.170" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="19764" PostTypeId="2" ParentId="19759" CreationDate="2013-11-12T17:26:27.400" Score="19" Body="&lt;p&gt;More generally, the &lt;a href=&quot;http://awards.acm.org/kanellakis/&quot;&gt;Kanellakis prize&lt;/a&gt; is awarded by the ACM for precisely such theoretical discoveries that have had a major impact in practice. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;the 2012 award is for &lt;a href=&quot;http://awards.acm.org/press_releases/tech_awards_2012.pdf&quot;&gt;locality-sensitive hashing&lt;/a&gt;, which has become a go-to method for dimensionality reduction in data mining for near neighbor problems (and is relatively easy to teach - at least the algorithm itself)&lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2013-11-12T17:26:27.400" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="19765" PostTypeId="2" ParentId="19759" CreationDate="2013-11-12T18:02:35.010" Score="7" Body="&lt;p&gt;The &lt;a href=&quot;http://en.wikipedia.org/wiki/Knuth%E2%80%93Morris%E2%80%93Pratt_algorithm&quot;&gt;Knuth-Morris-Pratt&lt;/a&gt; string search is widely used, specific, and taught in undergrad / graduate CS.&lt;/p&gt;&#xA;" OwnerUserId="13300" LastActivityDate="2013-11-12T18:02:35.010" CommentCount="1" CommunityOwnedDate="2013-11-25T22:41:27.287" ContentLicense="CC BY-SA 3.0" />
  <row Id="19766" PostTypeId="2" ParentId="19759" CreationDate="2013-11-12T18:25:26.900" Score="30" Body="&lt;p&gt;As I understand it, the &lt;a href=&quot;http://en.wikipedia.org/wiki/National_Resident_Matching_Program&quot;&gt;National Resident Matching Program&lt;/a&gt; was for a long time just a straight application of the &lt;a href=&quot;http://en.wikipedia.org/wiki/Stable_marriage_problem&quot;&gt;Gale-Shapley algorithm&lt;/a&gt; for the stable marriage problem. It has since been slightly updated to handle some extra details like spousal assignments (aka the &quot;two-body problem&quot;), etc...&lt;/p&gt;&#xA;" OwnerUserId="751" LastActivityDate="2013-11-12T18:25:26.900" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="19767" PostTypeId="2" ParentId="19759" CreationDate="2013-11-12T19:05:27.177" Score="18" Body="&lt;p&gt;The &lt;a href=&quot;http://dimacs.rutgers.edu/~graham/pubs/papers/cm-full.pdf&quot;&gt;CountMin Sketch&lt;/a&gt; and &lt;a href=&quot;http://www.mathcs.emory.edu/~cheung/papers/StreamDB/Frequency-count/FrequentStream.pdf&quot;&gt;Count Sketch&lt;/a&gt;, from data streaming algorithms, are used in industrial systems for network traffic analysis and analysis of very large unstructured data. These are data structure that summarize the frequency of a huge number of items in a tiny amount of space. Of course they do that approximately, and the guarantee is that, with high probability, the frequency of any item is approximated to within an an $\varepsilon$-fraction of the total &quot;mass&quot; of all items (the mass is the first or second moment of the frequency vector). This is good enough to find &quot;trending&quot; items, which is what you need in a lot of applications.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some examples of industrial uses of these data structures are:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Google's &lt;a href=&quot;http://static.googleusercontent.com/external_content/untrusted_dlcp/research.google.com/en/us/archive/sawzall-sciprog.pdf&quot;&gt;Sawzall&lt;/a&gt; system for unstructured data analysis uses the Count Sketch to implement a 'most popular items' function&lt;/li&gt;&#xA;&lt;li&gt;AT&amp;amp;T's &lt;a href=&quot;http://www2.research.att.com/~divesh/meetings/mpds2003/schedule/spatscheck.pdf&quot;&gt;Gigascope&lt;/a&gt; &quot;stream database&quot; system for network traffic monitoring &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.60.2012&amp;amp;rep=rep1&amp;amp;type=pdf&quot;&gt;implements&lt;/a&gt; the CountMin sketch.&lt;/li&gt;&#xA;&lt;li&gt;Sprint's Continous Monitoring (CMON) system &lt;a href=&quot;http://www.cs.rutgers.edu/~muthu/ss.pdf&quot;&gt;implements&lt;/a&gt; CountMin.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Here is also a &lt;a href=&quot;https://sites.google.com/site/countminsketch/home&quot;&gt;site&lt;/a&gt; that collects information about applications of CountMin.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As far as teaching, I know that basic sketching techniques are taught at Princeton in undergraduate discrete math courses. I was taught the CountMin sketch in my first algorithms course. In any case, the analysis of CountMin is simpler than the analysis for almost any other randomized algorithm: it's a straightforward application of pairwise independence and Markov's inequality. If this is not standard material in most algorithms courses, I think it's for historical reasons.&lt;/p&gt;&#xA;" OwnerUserId="4896" LastActivityDate="2013-11-12T19:05:27.177" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19768" PostTypeId="2" ParentId="19759" CreationDate="2013-11-12T20:33:40.133" Score="13" Body="&lt;ol&gt;&#xA;&lt;li&gt;A* is used in many Personal Navigation Devices (aka GPS units)&lt;/li&gt;&#xA;&lt;li&gt;A* is very well defined, and has been implemented fairly straightforward.&lt;/li&gt;&#xA;&lt;li&gt;A* isn't entirely trivial, but it doesn't take a Ph.D. to understand it.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="3481" LastActivityDate="2013-11-12T20:33:40.133" CommentCount="3" CommunityOwnedDate="2013-11-25T22:41:27.287" ContentLicense="CC BY-SA 3.0" />
  <row Id="19769" PostTypeId="2" ParentId="19759" CreationDate="2013-11-12T22:25:44.210" Score="23" Body="&lt;p&gt;If you're also including PhD-level stuff, many (most?) graduate CS programs include some course in coding theory. If you have a course in coding theory, you will definitely cover the &lt;a href=&quot;http://en.wikipedia.org/wiki/Reed_Solomon&quot;&gt;Reed-Solomon code&lt;/a&gt; which is integral to how compact discs work and &lt;a href=&quot;http://en.wikipedia.org/wiki/Huffman_encoding&quot;&gt;Huffman encoding&lt;/a&gt; which is used in JPEG, MP3, and ZIP file formats. Depending on the orientation of the course, you may also cover &lt;a href=&quot;http://en.wikipedia.org/wiki/Lempel_Ziv&quot;&gt;Lempel-Ziv&lt;/a&gt; which is used in the GIF format. Personally, I got Lempel-Ziv in an undergraduate algorithms course, but I think that might be atypical.&lt;/p&gt;&#xA;" OwnerUserId="751" LastActivityDate="2013-11-12T22:25:44.210" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="19770" PostTypeId="2" ParentId="19759" CreationDate="2013-11-12T23:06:37.780" Score="22" Body="&lt;p&gt;GNU &lt;strong&gt;grep&lt;/strong&gt; is a command line tool for searching one or more input files for lines containing a match to a specified pattern. It is well-known that &lt;strong&gt;grep&lt;/strong&gt; is very fast! Here's a quote from its author Mike Haertel (taken from &lt;a href=&quot;http://lists.freebsd.org/pipermail/freebsd-current/2010-August/019310.html&quot;&gt;here&lt;/a&gt;):&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;GNU grep uses the well-known Boyer-Moore algorithm, which looks first for the&#xA;final letter of the target string, and uses a lookup table to tell it how far&#xA;ahead it can skip in the input whenever it finds a non-matching character.&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;" OwnerUserId="1080" LastEditorUserId="1080" LastEditDate="2013-11-12T23:12:34.367" LastActivityDate="2013-11-12T23:12:34.367" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19771" PostTypeId="2" ParentId="19759" CreationDate="2013-11-12T23:54:09.460" Score="10" Body="&lt;p&gt;Finding a Eulerian path is at the base of the genome assembly -- a task commonly performed when working with full genomes (in bioinformatics, medicine, forensics, ecology).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;UPDATE&lt;/strong&gt; Forgot this obvious one: UPS, FedEx, USPS all have to solve large instances of Traveling Salesman Problem every night. Saves a lot of time and money for them to send the drivers on an optimal route.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;UPDATE2&lt;/strong&gt; Minimum feedback vertex set problem is used for deadlock resolution in many OSes.&lt;/p&gt;&#xA;" OwnerUserId="6285" LastEditorUserId="6285" LastEditDate="2013-11-13T17:11:45.123" LastActivityDate="2013-11-13T17:11:45.123" CommentCount="3" CommunityOwnedDate="2013-11-25T22:41:27.287" ContentLicense="CC BY-SA 3.0" />
  <row Id="19772" PostTypeId="2" ParentId="19759" CreationDate="2013-11-13T00:19:02.653" Score="10" Body="&lt;p&gt;I'm rather surprised that with all the fancy algorithms above, nobody mentioned the venerable Lempel-Ziv family of compression algorithms (invented in 1977/78).&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Those are used everywhere - text to image to stream processing. It is quite possible that LZ* is a single most used algorithm family in existence.&lt;/li&gt;&#xA;&lt;li&gt;Dictionary compression was a considerable breakthrough in compression theory and a stark departure from Shannon-Fano style approach.&lt;/li&gt;&#xA;&lt;li&gt;The algorithms in the family are rather straightforward and easy to comprehend.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Update&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Apparently it was mentioned briefly already.&lt;/p&gt;&#xA;" OwnerUserId="19383" LastActivityDate="2013-11-13T00:19:02.653" CommentCount="0" CommunityOwnedDate="2013-11-25T22:41:27.287" ContentLicense="CC BY-SA 3.0" />
  <row Id="19773" PostTypeId="2" ParentId="19759" CreationDate="2013-11-13T00:33:52.410" Score="485" Body="&lt;p&gt;Algorithms that are the main driver behind a system are, in my opinion, easier to find in non-algorithms courses for the same reason theorems with immediate applications are easier to find in applied mathematics rather than pure mathematics courses. It is rare for a practical problem to have the exact structure of the abstract problem in a lecture. To be argumentative, I see no reason why fashionable algorithms course material such as Strassen's multiplication, the AKS primality test, or the Moser-Tardos algorithm is relevant for low-level practical problems of implementing a video database, an optimizing compiler, an operating system, a network congestion control system or any other system. The value of these courses is learning that there are intricate ways to exploit the structure of a problem to find efficient solutions. Advanced algorithms is also where one meets simple algorithms whose analysis is non-trivial. For this reason, I would not dismiss simple randomized algorithms or PageRank.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think you can choose any large piece of software and find basic and advanced algorithms implemented in it. As a case study, I've done this for the Linux kernel, and shown a few examples from Chromium.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Basic Data Structures and Algorithms in the Linux kernel&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;Links are to the &lt;a href=&quot;https://github.com/mirrors/linux-2.6&quot;&gt;source code on github&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://github.com/mirrors/linux-2.6/blob/master/lib/llist.c&quot;&gt;Linked list&lt;/a&gt;, &lt;a href=&quot;https://github.com/mirrors/linux-2.6/blob/master/include/linux/list.h&quot;&gt;doubly linked list&lt;/a&gt;, &lt;a href=&quot;https://github.com/mirrors/linux-2.6/blob/master/include/linux/llist.h&quot;&gt;lock-free linked list&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://github.com/mirrors/linux-2.6/blob/39caa0916ef27cf1da5026eb708a2b8413156f75/lib/btree.c&quot;&gt;B+ Trees&lt;/a&gt; with comments telling you what you can't find in the textbooks.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;A relatively simple B+Tree implementation.  I have written it as a learning exercise to understand how B+Trees work.  Turned out to be useful as well.&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;...&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;A tricks was used that is not commonly found in textbooks.  The lowest values are to the right, not to the left.  All used slots within a node are on the left, all unused slots contain NUL values.  Most operations simply loop once over all slots and terminate on the first NUL.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://github.com/mirrors/linux-2.6/blob/master/include/linux/plist.h&quot;&gt;Priority sorted lists&lt;/a&gt; used for &lt;a href=&quot;https://github.com/mirrors/linux-2.6/blob/b3a3a9c441e2c8f6b6760de9331023a7906a4ac6/include/linux/rtmutex.h&quot;&gt;mutexes&lt;/a&gt;, &lt;a href=&quot;https://github.com/mirrors/linux-2.6/blob/f0d55cc1a65852e6647d4f5d707c1c9b5471ce3c/drivers/powercap/intel_rapl.c&quot;&gt;drivers&lt;/a&gt;, etc.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://github.com/mirrors/linux-2.6/blob/master/include/linux/rbtree.h&quot;&gt;Red-Black trees&lt;/a&gt; are &lt;a href=&quot;http://lwn.net/Articles/184495/&quot;&gt;used&lt;/a&gt; for scheduling, virtual memory management, to track file descriptors and directory entries,etc.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://github.com/mirrors/linux-2.6/blob/master/include/linux/interval_tree.h&quot;&gt;Interval trees&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://github.com/mirrors/linux-2.6/blob/master/include/linux/radix-tree.h&quot;&gt;Radix trees&lt;/a&gt;, are used for &lt;a href=&quot;http://lwn.net/Articles/175432/&quot;&gt;memory management&lt;/a&gt;, NFS related lookups and networking related functionality.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;A common use of the radix tree is to store pointers to struct pages;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://github.com/mirrors/linux-2.6/blob/b3a3a9c441e2c8f6b6760de9331023a7906a4ac6/include/linux/prio_heap.h&quot;&gt;Priority heap&lt;/a&gt;, which is literally, a textbook implementation, used in the &lt;a href=&quot;https://github.com/mirrors/linux-2.6/blob/42a2d923cc349583ebf6fdd52a7d35e1c2f7e6bd/include/linux/cgroup.h&quot;&gt;control group system&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Simple insertion-only static-sized priority heap containing pointers, based on CLR, chapter 7&lt;/p&gt;&#xA;&lt;/blockquote&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://github.com/mirrors/linux-2.6/blob/b3a3a9c441e2c8f6b6760de9331023a7906a4ac6/include/linux/hash.h&quot;&gt;Hash functions&lt;/a&gt;, with a reference to Knuth and to a paper.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Knuth recommends primes in approximately golden ratio to the maximum&#xA;  integer representable by a machine word for multiplicative hashing.&#xA;  Chuck Lever verified the effectiveness of this technique:&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;&lt;a href=&quot;http://www.citi.umich.edu/techreports/reports/citi-tr-00-1.pdf&quot;&gt;http://www.citi.umich.edu/techreports/reports/citi-tr-00-1.pdf&lt;/a&gt;&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;These primes are chosen to be bit-sparse, that is operations on&#xA;  them can use shifts and additions instead of multiplications for&#xA;  machines where multiplications are slow.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Some parts of the code, such as &lt;a href=&quot;https://github.com/mirrors/linux-2.6/blob/0b1e73ed225d8f7aeef96b74147215ca8b990dce/drivers/staging/lustre/lustre/lov/lov_pool.c&quot;&gt;this driver&lt;/a&gt;, implement their own hash function.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;hash function using a Rotating Hash algorithm&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;Knuth, D. The Art of Computer Programming,&#xA;  Volume 3: Sorting and Searching,&#xA;  Chapter 6.4.&#xA;  Addison Wesley, 1973&lt;/p&gt;&#xA;&lt;/blockquote&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://github.com/mirrors/linux-2.6/blob/master/include/linux/hashtable.h&quot;&gt;Hash tables&lt;/a&gt; used to implement &lt;a href=&quot;https://github.com/mirrors/linux-2.6/blob/42a2d923cc349583ebf6fdd52a7d35e1c2f7e6bd/fs/inode.c&quot;&gt;inodes&lt;/a&gt;, &lt;a href=&quot;https://github.com/mirrors/linux-2.6/blob/ff812d724254b95df76b7775d1359d856927a840/fs/btrfs/check-integrity.c&quot;&gt;file system integrity checks&lt;/a&gt; etc.&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://github.com/mirrors/linux-2.6/blob/master/include/linux/bitmap.h&quot;&gt;Bit arrays&lt;/a&gt;, which are used for dealing with flags, interrupts, etc. and are featured in Knuth Vol. 4. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://github.com/mirrors/linux-2.6/blob/master/include/linux/semaphore.h&quot;&gt;Semaphores&lt;/a&gt; and &lt;a href=&quot;https://github.com/mirrors/linux-2.6/blob/master/include/linux/spinlock.h&quot;&gt;spin locks&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://github.com/mirrors/linux-2.6/blob/master/lib/bsearch.c&quot;&gt;Binary search&lt;/a&gt; is used for &lt;a href=&quot;https://github.com/mirrors/linux-2.6/blob/b3a3a9c441e2c8f6b6760de9331023a7906a4ac6/drivers/sh/intc/chip.c&quot;&gt;interrupt handling&lt;/a&gt;, &lt;a href=&quot;https://github.com/mirrors/linux-2.6/blob/10d0c9705e80bbd3d587c5fad24599aabaca6688/drivers/base/regmap/regcache.c&quot;&gt;register cache lookup&lt;/a&gt;, etc.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://github.com/mirrors/linux-2.6/blob/b3a3a9c441e2c8f6b6760de9331023a7906a4ac6/fs/befs/btree.c&quot;&gt;Binary search with B-trees&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://github.com/mirrors/linux-2.6/blob/a9238741987386bb549d61572973c7e62b2a4145/drivers/acpi/acpica/nswalk.c&quot;&gt;Depth first search&lt;/a&gt; and variant used in &lt;a href=&quot;https://github.com/mirrors/linux-2.6/blob/b3a3a9c441e2c8f6b6760de9331023a7906a4ac6/fs/configfs/dir.c&quot;&gt;directory configuration&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Performs a modified depth-first walk of the namespace tree, starting&#xA;  (and ending) at the node specified by start_handle.  The callback&#xA;  function is called whenever a node that matches the type parameter is&#xA;  found. If the callback function returns a non-zero value, the search&#xA;  is terminated immediately and this value is returned to the caller.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://github.com/mirrors/linux-2.6/blob/4fbf888accb39af423f271111d44e8186f053723/kernel/locking/lockdep.c&quot;&gt;Breadth first search&lt;/a&gt; is used to check correctness of locking at runtime.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://github.com/mirrors/linux-2.6/blob/master/lib/list_sort.c&quot;&gt;Merge sort&lt;/a&gt; on linked lists is used for &lt;a href=&quot;https://github.com/mirrors/linux-2.6/blob/42a2d923cc349583ebf6fdd52a7d35e1c2f7e6bd/fs/ubifs/gc.c&quot;&gt;garbage collection&lt;/a&gt;, &lt;a href=&quot;https://github.com/mirrors/linux-2.6/blob/ff812d724254b95df76b7775d1359d856927a840/fs/btrfs/raid56.c&quot;&gt;file system management&lt;/a&gt;, etc.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://github.com/mirrors/linux-2.6/blob/b3a3a9c441e2c8f6b6760de9331023a7906a4ac6/drivers/media/common/saa7146/saa7146_hlp.c&quot;&gt;Bubble sort&lt;/a&gt; is amazingly implemented too, in a driver library.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://github.com/mirrors/linux-2.6/blob/b3a3a9c441e2c8f6b6760de9331023a7906a4ac6/lib/ts_kmp.c&quot;&gt;Knuth-Morris-Pratt string matching&lt;/a&gt;, &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Implements a linear-time string-matching algorithm due to Knuth,&#xA;  Morris, and Pratt [1]. Their algorithm avoids the explicit&#xA;  computation of the transition function DELTA altogether. Its&#xA;  matching time is O(n), for n being length(text), using just an&#xA;  auxiliary function PI[1..m], for m being length(pattern),&#xA;  precomputed from the pattern in time O(m). The array PI allows&#xA;  the transition function DELTA to be computed efficiently&#xA;  &quot;on the fly&quot; as needed. Roughly speaking, for any state&#xA;  &quot;q&quot; = 0,1,...,m and any character &quot;a&quot; in SIGMA, the value&#xA;  PI[&quot;q&quot;] contains the information that is independent of &quot;a&quot; and&#xA;  is needed to compute DELTA(&quot;q&quot;, &quot;a&quot;) &lt;a href=&quot;https://github.com/mirrors/linux-2.6/blob/master/lib/llist.c&quot;&gt;2&lt;/a&gt;. Since the array PI&#xA;  has only m entries, whereas DELTA has O(m|SIGMA|) entries, we&#xA;  save a factor of |SIGMA| in the preprocessing time by computing&#xA;  PI rather than DELTA.&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;[1] Cormen, Leiserson, Rivest, Stein&#xA;   Introdcution to Algorithms, 2nd Edition, MIT Press&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;[2] See finite automation theory&lt;/p&gt;&#xA;&lt;/blockquote&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://github.com/mirrors/linux-2.6/blob/b3a3a9c441e2c8f6b6760de9331023a7906a4ac6/lib/ts_bm.c&quot;&gt;Boyer-Moore pattern matching&lt;/a&gt; with references and recommendations for when to prefer the alternative.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Implements Boyer-Moore string matching algorithm:&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;[1] A Fast String Searching Algorithm, R.S. Boyer and Moore.&#xA;   Communications of the Association for Computing Machinery, &#xA;   20(10), 1977, pp. 762-772.&#xA;   &lt;a href=&quot;http://www.cs.utexas.edu/users/moore/publications/fstrpos.pdf&quot;&gt;http://www.cs.utexas.edu/users/moore/publications/fstrpos.pdf&lt;/a&gt;&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;[2] Handbook of Exact String Matching Algorithms, Thierry Lecroq,&#xA;  2004&#xA;   &lt;a href=&quot;http://www-igm.univ-mlv.fr/~lecroq/string/string.pdf&quot;&gt;http://www-igm.univ-mlv.fr/~lecroq/string/string.pdf&lt;/a&gt;&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;Note: Since Boyer-Moore (BM) performs searches for matchings from&#xA;  right &#xA;  to left, it's still possible that a matching could be spread over &#xA;  multiple blocks, in that case this algorithm won't find any &#xA;  coincidence.&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;If you're willing to ensure that such thing won't ever happen,&#xA;  use the &#xA;  Knuth-Pratt-Morris (KMP) implementation instead. In conclusion,&#xA;  choose &#xA;  the proper string search algorithm depending on your setting. &lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;Say you're using the textsearch infrastructure for filtering,&#xA;  NIDS or&lt;br&gt;&#xA;  any similar security focused purpose, then go KMP. Otherwise, if&#xA;  you &#xA;  really care about performance, say you're classifying packets to&#xA;  apply&#xA;  Quality of Service (QoS) policies, and you don't mind about&#xA;  possible&#xA;  matchings spread over multiple fragments, then go BM. &lt;/p&gt;&#xA;&lt;/blockquote&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;h2&gt;Data Structures and Algorithms in the Chromium Web Browser&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;Links are to the &lt;a href=&quot;https://code.google.com/p/chromium/&quot;&gt;source code on Google code&lt;/a&gt;. I'm only going to list a few. I would suggest using the search feature to look up your favourite algorithm or data structure.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;ol&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://code.google.com/p/chromium/codesearch#chromium/src/v8/src/splay-tree.h&quot;&gt;Splay trees&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;The tree is also parameterized by an allocation policy&#xA;  (Allocator). The policy is used for allocating lists in the C free&#xA;  store or the zone; see zone.h.&lt;/li&gt;&#xA;  &lt;li&gt;&lt;a href=&quot;https://code.google.com/p/chromium/codesearch#chromium/src/native_client_sdk/src/examples/demo/voronoi/index.html&quot;&gt;Voronoi diagrams&lt;/a&gt; are used in a demo.&lt;/li&gt;&#xA;  &lt;li&gt;&lt;a href=&quot;https://code.google.com/p/chromium/codesearch#chromium/src/chrome/browser/ui/cocoa/tabs/tab_strip_controller.mm&quot;&gt;Tabbing based on Bresenham's algorithm&lt;/a&gt;.&lt;/li&gt;&#xA;  &lt;/ol&gt;&#xA;  There are also such data structures and algorithms in the third-party code included in the Chromium code.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;ol&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://code.google.com/p/chromium/codesearch#chromium/src/third_party/bintrees/bintrees/bintree.py&quot;&gt;Binary trees&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://code.google.com/p/chromium/codesearch#chromium/src/third_party/bintrees/bintrees/rbtree.py&quot;&gt;Red-Black trees&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Conclusion of Julian Walker&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;Red black trees are interesting beasts. They're believed to be&#xA;  simpler than&#xA;  AVL trees (their direct competitor), and at first glance this seems&#xA;  to be the&#xA;  case because insertion is a breeze. However, when one begins to play&#xA;  with the&#xA;  deletion algorithm, red black trees become very tricky. However, the&#xA;  counterweight to this added complexity is that both insertion and&#xA;  deletion&#xA;  can be implemented using a single pass, top-down algorithm. Such is&#xA;  not the&#xA;  case with AVL trees, where only the insertion algorithm can be&#xA;  written top-down.&#xA;  Deletion from an AVL tree requires a bottom-up algorithm.&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;...&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;Red black trees are popular, as most data structures with a&#xA;  whimsical name.&#xA;  For example, in Java and C++, the library map structures are&#xA;  typically&#xA;  implemented with a red black tree. Red black trees are also&#xA;  comparable in&#xA;  speed to AVL trees. While the balance is not quite as good, the work&#xA;  it takes&#xA;  to maintain balance is usually better in a red black tree. There are&#xA;  a few&#xA;  misconceptions floating around, but for the most part the hype about&#xA;  red black&#xA;  trees is accurate.&lt;/li&gt;&#xA;  &lt;li&gt;&lt;a href=&quot;https://code.google.com/p/chromium/codesearch#chromium/src/third_party/bintrees/bintrees/avltree.py&quot;&gt;AVL trees&lt;/a&gt;&lt;/li&gt;&#xA;  &lt;li&gt;&lt;a href=&quot;https://code.google.com/p/chromium/codesearch#chromium/src/third_party/zlib/deflate.c&quot;&gt;Rabin-Karp string matching&lt;/a&gt; is used for compression.&lt;/li&gt;&#xA;  &lt;li&gt;&lt;a href=&quot;https://code.google.com/p/chromium/codesearch#chromium/src/native_client/src/trusted/validator_ragel/dfa_traversal.py&quot;&gt;Compute the suffixes of an automaton&lt;/a&gt;.&lt;/li&gt;&#xA;  &lt;li&gt;&lt;a href=&quot;https://code.google.com/p/chromium/codesearch#chromium/src/third_party/WebKit/Source/wtf/BloomFilter.h&quot;&gt;Bloom filter&lt;/a&gt; implemented by Apple Inc.&lt;/li&gt;&#xA;  &lt;li&gt;&lt;a href=&quot;https://code.google.com/p/chromium/codesearch#chromium/src/third_party/libvpx/source/libvpx/vp8/common/textblit.c&quot;&gt;Bresenham's algorithm&lt;/a&gt;.&lt;/li&gt;&#xA;  &lt;/ol&gt;&#xA;  &lt;h2&gt;Programming Language Libraries&lt;/h2&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I think they are worth considering. The programming languages designers thought it was worth the time and effort of some engineers to implement these data structures and algorithms so others would not have to. The existence of libraries is part of the reason we can find basic data structures reimplemented in software that is written in C but less so for Java applications. &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;The &lt;a href=&quot;http://www.cplusplus.com/reference/stl/&quot;&gt;C++ STL&lt;/a&gt; includes lists, stacks, queues, maps, vectors, and algorithms for &lt;a href=&quot;http://www.cplusplus.com/reference/algorithm/&quot;&gt;sorting, searching and heap manipulation&lt;/a&gt;. &lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://docs.oracle.com/javase/7/docs/api/&quot;&gt;The Java API&lt;/a&gt; is very extensive and covers much more.&lt;/li&gt;&#xA;&lt;li&gt;The &lt;a href=&quot;http://www.boost.org/doc/libs/1_55_0/libs/algorithm/doc/html/index.html#algorithm.description_and_rationale&quot;&gt;Boost C++ library&lt;/a&gt; includes algorithms like Boyer-Moore and Knuth-Morris-Pratt string matching algorithms.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;h2&gt;Allocation and Scheduling Algorithms&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;I find these interesting because even though they are called heuristics, the policy you use dictates the type of algorithm and data structure that are required, so one need to know about stacks and queues. &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Least Recently Used can be implemented in multiple ways. A &lt;a href=&quot;https://github.com/mirrors/linux-2.6/blob/master/include/linux/list_lru.h&quot;&gt;list-based implementation&lt;/a&gt; in the Linux kernel.&lt;/li&gt;&#xA;&lt;li&gt;Other possibilities are First In First Out, Least Frequently Used, and Round Robin. &lt;/li&gt;&#xA;&lt;li&gt;A variant of FIFO was used by the VAX/VMS system.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Page_replacement_algorithm#Clock&quot;&gt;The Clock algorithm&lt;/a&gt; by &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=4750&quot;&gt;Richard Carr&lt;/a&gt; is used for page frame replacement in Linux.&lt;/li&gt;&#xA;&lt;li&gt;The Intel i860 processor used a random replacement policy.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Adaptive_Replacement_Cache&quot;&gt;Adaptive Replacement Cache&lt;/a&gt; is used in some IBM storage controllers, and was used in PostgreSQL though &lt;a href=&quot;http://www.varlena.com/GeneralBits/96.php&quot;&gt;only briefly due to patent concerns&lt;/a&gt;. &lt;/li&gt;&#xA;&lt;li&gt;The &lt;a href=&quot;http://en.wikipedia.org/wiki/Buddy_memory_allocation&quot;&gt;Buddy memory allocation algorithm&lt;/a&gt;, which is discussed by Knuth in TAOCP Vol. 1 is used in the Linux kernel, and the jemalloc concurrent allocator used by FreeBSD and in &lt;a href=&quot;http://www.facebook.com/notes/facebook-engineering/scalable-memory-allocation-using-jemalloc/480222803919&quot;&gt;facebook&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;h2&gt; Core utils in *nix systems&lt;/h2&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;em&gt;grep&lt;/em&gt; and &lt;em&gt;awk&lt;/em&gt; both implement the Thompson-McNaughton-Yamada construction of NFAs from regular expressions, which apparently &lt;a href=&quot;http://swtch.com/~rsc/regexp/regexp1.html&quot;&gt;even beats the Perl implementation&lt;/a&gt;. &lt;/li&gt;&#xA;&lt;li&gt;&lt;em&gt;tsort&lt;/em&gt; implements topological sort.&lt;/li&gt;&#xA;&lt;li&gt;&lt;em&gt;fgrep&lt;/em&gt; implements the &lt;a href=&quot;http://en.wikipedia.org/wiki/Aho%E2%80%93Corasick_string_matching_algorithm&quot;&gt;Aho-Corasick string matching algorithm.&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;em&gt;GNU grep&lt;/em&gt;, &lt;a href=&quot;http://lists.freebsd.org/pipermail/freebsd-current/2010-August/019310.html&quot;&gt;implements the Boyer-Moore algorithm&lt;/a&gt; according to the author Mike Haertel. &lt;/li&gt;&#xA;&lt;li&gt;crypt(1) on Unix implemented a variant of the encryption algorithm in the Enigma machine.&lt;/li&gt;&#xA;&lt;li&gt;&lt;em&gt;&lt;a href=&quot;http://www.cs.dartmouth.edu/~doug/diff.pdf&quot;&gt;Unix diff&lt;/a&gt;&lt;/em&gt; implemented by Doug McIllroy, based on a prototype co-written with James Hunt, performs better than the standard dynamic programming algorithm used to compute Levenshtein distances. The &lt;a href=&quot;http://linux.die.net/man/3/diff&quot;&gt;Linux version&lt;/a&gt; computes the shortest edit distance. &lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;h2&gt;Cryptographic Algorithms&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;This could be a very long list. Cryptographic algorithms are implemented in all software that can perform secure communications or transactions.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Merkle_tree&quot;&gt;Merkle trees&lt;/a&gt;, specifically the Tiger Tree Hash variant, were used in peer-to-peer applications such as &lt;a href=&quot;https://github.com/gtk-gnutella/bitter&quot;&gt;GTK Gnutella&lt;/a&gt; and &lt;a href=&quot;http://en.wikibooks.org/wiki/LimeWire&quot;&gt;LimeWire&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/MD5&quot;&gt;MD5&lt;/a&gt; is used to provide a checksum for software packages and is used for integrity checks on *nix systems (&lt;a href=&quot;https://github.com/mirrors/linux-2.6/blob/b3a3a9c441e2c8f6b6760de9331023a7906a4ac6/crypto/md5.c&quot;&gt;Linux implementation&lt;/a&gt;) and is also supported on Windows and OS X.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.openssl.org/&quot;&gt;OpenSSL&lt;/a&gt; implements many cryptographic algorithms including AES, Blowfish, DES, SHA-1, SHA-2, RSA, DES, etc.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;h2&gt;Compilers&lt;/h2&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/LALR_parser&quot;&gt;LALR parsing&lt;/a&gt; is implemented by yacc and bison.&lt;/li&gt;&#xA;&lt;li&gt;Dominator algorithms are used in most optimizing compilers based on SSA form.&lt;/li&gt;&#xA;&lt;li&gt;&lt;em&gt;lex&lt;/em&gt; and &lt;em&gt;flex&lt;/em&gt; compile regular expressions into NFAs. &lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;h2&gt;Compression and Image Processing &lt;/h2&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Lempel_Ziv&quot;&gt;The Lempel-Ziv&lt;/a&gt; algorithms for the GIF image format are implemented in image manipulation programs, starting from the *nix utility &lt;em&gt;convert&lt;/em&gt; to complex programs.&lt;/li&gt;&#xA;&lt;li&gt;Run length encoding is used to generate PCX files (used by the original Paintbrush program), compressed BMP files and TIFF files.&lt;/li&gt;&#xA;&lt;li&gt;Wavelet compression is the basis for JPEG 2000 so all digital cameras that produce JPEG 2000 files will be implementing this algorithm. &lt;/li&gt;&#xA;&lt;li&gt;Reed-Solomon error correction is implemented in &lt;a href=&quot;https://github.com/mirrors/linux-2.6/blob/b3a3a9c441e2c8f6b6760de9331023a7906a4ac6/lib/reed_solomon/reed_solomon.c&quot;&gt;the Linux kernel&lt;/a&gt;, CD drives, barcode readers and was combined with convolution for image transmission from Voyager.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;h2&gt;Conflict Driven Clause Learning&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;Since the year 2000, the running time of SAT solvers on industrial benchmarks (usually from the hardware industry, though though other sources are used too) has decreased nearly exponentially every year. A very important part of this development is the &lt;em&gt;Conflict Driven Clause Learning&lt;/em&gt; algorithm that combines the &lt;em&gt;Boolean Constraint Propagation&lt;/em&gt; algorithm in the original paper of Davis Logemann and Loveland with the technique of clause learning that originated in constraint programming and artificial intelligence research. For specific, industrial modelling, SAT is considered an easy problem (&lt;a href=&quot;http://rjlipton.wordpress.com/2009/07/13/sat-solvers-is-sat-hard-or-easy/&quot;&gt;see this discussion&lt;/a&gt;). To me, this is one of the greatest success stories in recent times because it combines algorithmic advances spread over several years, clever engineering ideas, experimental evaluation, and a concerted communal effort to solve the problem. The &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=1536637&quot;&gt;CACM article by Malik and Zhang&lt;/a&gt; is a good read. This algorithm is taught in many universities (I have attended four where it was the case) but typically in a logic or formal methods class. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Applications of SAT solvers are numerous. IBM, Intel and many other companies have their own SAT solver implementations. The &lt;a href=&quot;http://en.opensuse.org/Portal%3aLibzypp&quot;&gt;package manager&lt;/a&gt; in OpenSUSE also uses a SAT solver.&lt;/p&gt;&#xA;" OwnerUserId="4155" LastEditorUserId="-1" LastEditDate="2013-11-24T11:48:02.943" LastActivityDate="2013-11-24T11:48:02.943" CommentCount="15" ContentLicense="CC BY-SA 3.0" />
  <row Id="19774" PostTypeId="2" ParentId="19759" CreationDate="2013-11-13T01:59:46.993" Score="10" Body="&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Singular_value_decomposition&quot;&gt;singular value decomposition&lt;/a&gt; (SVD) has a strong connection to statistical &lt;a href=&quot;http://en.wikipedia.org/wiki/Factor_analysis&quot;&gt;factor analysis&lt;/a&gt; or &lt;a href=&quot;http://en.wikipedia.org/wiki/Principal_components_analysis&quot;&gt;principal components analysis&lt;/a&gt; and is comprehensible within an undergraduate linear algebra or statistics class, and has many important theoretical properties. it also plays a role in image compression algorithms. it played a key element in the winning entries in the &lt;a href=&quot;http://en.wikipedia.org/wiki/Netflix_prize&quot;&gt;$1M Netflix prize contest&lt;/a&gt; (one of the worlds largest datamining competitions in history) and is now implemented on their site to predict user ratings. it is also known to be highly related to &lt;a href=&quot;http://en.wikipedia.org/wiki/Hebbian_learning&quot;&gt;Hebbian self-organizing neural networks&lt;/a&gt; which originate in biological theory. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;there is some connection also to &lt;a href=&quot;http://en.wikipedia.org/wiki/Gradient_descent&quot;&gt;gradient descent&lt;/a&gt; which is used widely in &lt;a href=&quot;http://en.wikipedia.org/wiki/Machine_learning&quot;&gt;machine learning&lt;/a&gt; &amp;amp; &lt;a href=&quot;http://en.wikipedia.org/wiki/Artificial_neural_networks&quot;&gt;artificial neural networks&lt;/a&gt; and as a very universally applied optimization technique of which case &lt;a href=&quot;http://en.wikipedia.org/wiki/Newtons_method&quot;&gt;Newton's method&lt;/a&gt; is a basic 2d form. there is a gradient-descent algorithm for obtaining the SVD.&lt;/p&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2013-11-13T01:59:46.993" CommentCount="0" CommunityOwnedDate="2013-11-25T22:41:27.287" ContentLicense="CC BY-SA 3.0" />
  <row Id="19775" PostTypeId="2" ParentId="8542" CreationDate="2013-11-13T02:30:27.990" Score="0" Body="&lt;ul&gt;&#xA;&lt;li&gt;see also &lt;a href=&quot;https://www.simonsfoundation.org/quanta/20121218-classical-computing-embraces-quantum-ideas/&quot; rel=&quot;nofollow noreferrer&quot;&gt;classical computing embraces quantum ideas&lt;/a&gt; a sort of semi-pop-science overview/survey of this classical/quantum dichotomy phenomenon by Wolchover writing for the Simons institute with some examples &amp;amp; leads/refs.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;In recent years, quantum ideas have helped researchers prove the security of promising data encryption schemes called lattice-based cryptosystems, some applications of which can shroud users’ sensitive information, such as DNA, even from the companies that process it. A quantum computing proof also led to a formula for the minimum length of error-correcting codes, which are safeguards against data corruption.&lt;/p&gt;&#xA;&lt;p&gt;Quantum ideas have also inspired a number of important theoretical results, such as a refutation of an old, erroneous algorithm that claimed to efficiently solve the famously difficult traveling salesman problem, which asks how to find the fastest route through multiple cities.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;another recent example that is similar to the research direction of the Razborov/Rudich &lt;a href=&quot;http://en.wikipedia.org/wiki/Natural_proof&quot; rel=&quot;nofollow noreferrer&quot;&gt;Natural Proofs&lt;/a&gt; (which related complexity class separations to breaking random number generators)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;a href=&quot;http://arxiv.org/pdf/1310.2885v1.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;A quantum lower bound for distinguishing random functions from random permutations&lt;/a&gt; Henry Yuen&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;The problem of distinguishing between a random function and a random permutation on a domain of size N is important in theoretical cryptography, where the security of many primitives depend on the problem’s hardness. We study the quantum query complexity of this problem...&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2013-11-13T02:30:27.990" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19777" PostTypeId="2" ParentId="19759" CreationDate="2013-11-13T08:21:11.147" Score="11" Body="&lt;p&gt;Funny that I saw this question today and then coincidentally clicked &lt;a href=&quot;http://nautil.us/blog/the-math-trick-behind-mp3s-jpegs-and-homer-simpsons-face&quot;&gt;this link on the many uses of the Fourier Transform&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="19396" LastActivityDate="2013-11-13T08:21:11.147" CommentCount="0" CommunityOwnedDate="2013-11-25T22:41:27.287" ContentLicense="CC BY-SA 3.0" />
  <row Id="19778" PostTypeId="2" ParentId="19759" CreationDate="2013-11-13T09:58:05.250" Score="5" Body="&lt;p&gt;Bresenham's line algorithm is the single most useful algorithm I've come across. Easy to understand Ive used it for lots of applications from line drawing to a complex spliner for 3d casting engine to a complex polygon renderer, as well as for complex animation and scaling uses.&lt;/p&gt;&#xA;" OwnerUserId="19401" LastActivityDate="2013-11-13T09:58:05.250" CommentCount="0" CommunityOwnedDate="2013-11-25T22:41:27.287" ContentLicense="CC BY-SA 3.0" />
  <row Id="19779" PostTypeId="1" CreationDate="2013-11-13T10:48:49.547" Score="6" ViewCount="352" Body="&lt;p&gt;I'm looking for a graph $G$ on $n$ vertices with the following properties&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;G doesn't have too many edges, $O(nlog(n))$ or $O(n)$ would be perfect&lt;/li&gt;&#xA;&lt;li&gt;For &lt;em&gt;random&lt;/em&gt; k disjoint pairs of vertices $(s_i,t_i)$ there is a path that links $s_i$ to $t_i$ for each $i$ such that all of these paths are vertex-disjoint. &lt;em&gt;This statement should be true with high probability p&lt;/em&gt;.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The goal is to find $G$ such that $k$ is maximal. I'm not very precise on $k$ and the number of edges &lt;em&gt;as well as on p (but let's say large constant p is fine or even better something that goes to 0 with n)&lt;/em&gt; because I don't know what is possible.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT: I rephrased the question in terms of average case instead of worst case since worst case won't give many vertex-independent paths as pointed out by Chandra Chekuri.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks,&#xA;André.&lt;/p&gt;&#xA;" OwnerUserId="7372" LastEditorUserId="7372" LastEditDate="2013-11-14T10:47:31.130" LastActivityDate="2013-11-19T09:07:55.997" Title="Vertex-disjoint paths in sparse graphs" Tags="&lt;graph-theory&gt;" AnswerCount="3" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19780" PostTypeId="2" ParentId="19759" CreationDate="2013-11-13T10:54:38.303" Score="10" Body="&lt;p&gt;I like this system for saving the maximum number of lives in the UK with kidney transplants, based on maximum matching algorithms: &lt;a href=&quot;http://link.springer.com/chapter/10.1007/978-3-642-30850-5_24&quot;&gt;Paired and Altruistic Kidney Donation&lt;/a&gt;. &#xA;They match up people needing kidneys who have a non-matching friend/relative willing to donate, with other people in the same situation, in a maximal way. Then on donation day, all the donors donate at the same time, followed by a speedy transport of kidneys around the country to the recipients. &lt;/p&gt;&#xA;" OwnerUserId="17760" LastActivityDate="2013-11-13T10:54:38.303" CommentCount="0" CommunityOwnedDate="2013-11-25T22:41:27.287" ContentLicense="CC BY-SA 3.0" />
  <row Id="19781" PostTypeId="2" ParentId="19779" CreationDate="2013-11-13T11:43:41.817" Score="2" Body="&lt;p&gt;I think that what you are looking for may be here:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Jon Kleinberg, &quot;&lt;a href=&quot;http://www.cs.cornell.edu/home/kleinber/focs96-exp.ps&quot; rel=&quot;nofollow&quot;&gt;Short Paths in Expander Graphs&lt;/a&gt;&quot;, FOCS 1996.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;In particular they show that for any bounded-degree expander graph $G$ (hence answering your O(n) requirement on the edges) any graph $H$ on $O(n/log(n))$ vertices and edges appears in $G$ as a graph minor, i.e. the edges of $H$ translate into disjoint paths in $G$.&#xA;Hence your $k$ parameter can go as high as $n/log(n)$.&lt;/p&gt;&#xA;" OwnerUserId="6238" LastEditorUserId="186" LastEditDate="2013-11-14T23:54:09.127" LastActivityDate="2013-11-14T23:54:09.127" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19782" PostTypeId="2" ParentId="19779" CreationDate="2013-11-13T12:53:17.807" Score="3" Body="&lt;p&gt;A hypercube has $O(n\log n)$ edges and satisfies your property for $k\leq\frac{\log_2 n+1}{2}$:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;S. Madhavapeddy, and I. H. Sudborough, &quot;&lt;a href=&quot;http://ieeexplore.ieee.org/xpl/articleDetails.jsp?arnumber=143599&quot; rel=&quot;nofollow&quot;&gt;A topological property of hypercubes: node disjoint paths&lt;/a&gt;&quot;, Proc. IEEE SPDP, 532-539, 1990. &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="636" LastEditorUserId="186" LastEditDate="2013-11-14T23:54:53.757" LastActivityDate="2013-11-14T23:54:53.757" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19785" PostTypeId="2" ParentId="19759" CreationDate="2013-11-13T16:27:19.973" Score="2" Body="&lt;p&gt;Wikipedia has a decent collection of algorithms/applications classified more or less in a &lt;a href=&quot;http://en.wikipedia.org/wiki/List_of_important_publications_in_computer_science&quot; rel=&quot;nofollow&quot;&gt;list&lt;/a&gt;.&#xA;Microsoft provides the &lt;a href=&quot;http://academic.research.microsoft.com/RankList?entitytype=1&amp;amp;topDomainID=2&amp;amp;subDomainID=0&amp;amp;last=0&amp;amp;start=1&amp;amp;end=100&quot; rel=&quot;nofollow&quot;&gt;top cited papers&lt;/a&gt; but without any explicit explanation of the area of computer science nor the application. There is also a chronological list from different CS conferences _http://jeffhuang.com/best_paper_awards.html_ compiled by Prof. Huang.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Spectral Clustering&lt;/em&gt; is an elegant clustering algorithm,  known being &lt;em&gt;Normalized cuts&lt;/em&gt; algorithm introduced by Jianbo Shi and Jitendra Malik for image segmentation. It has also well been developed in Data clustering applications, being an good intersection between the two communities.&lt;/p&gt;&#xA;" OwnerUserId="19420" LastActivityDate="2013-11-13T16:27:19.973" CommentCount="0" CommunityOwnedDate="2013-11-25T22:41:27.287" ContentLicense="CC BY-SA 3.0" />
  <row Id="19786" PostTypeId="2" ParentId="19759" CreationDate="2013-11-13T16:40:21.737" Score="-8" Body="&lt;p&gt;An amazingly successful (hardware) algorithm is the power-on reset.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Without a system whereby a computer is in a known state when power is applied, &lt;strong&gt;nothing else happens right&lt;/strong&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Power-on reset is why anything works at all that has a CPU in it, whether considered embedded or otherwise.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Next time you're at the watering hole for programmers and computer scientists, raise your glass of cherry soda to the power-on reset.&lt;/p&gt;&#xA;" OwnerUserId="19422" LastActivityDate="2013-11-13T16:40:21.737" CommentCount="1" CommunityOwnedDate="2013-11-25T22:41:27.287" ContentLicense="CC BY-SA 3.0" />
  <row Id="19787" PostTypeId="2" ParentId="19755" CreationDate="2013-11-13T17:38:41.610" Score="-4" Body="&lt;p&gt;a very challenging/advanced/provocative question; following, a brief/sketchy/tentative answer [maybe/hopefully better than none] considering geometry in QM computing in general &amp;amp; a few refs/leads. geometry is used in a variety of ways in QM in general, and it appears to be somewhat of an open question and challenging work-in-progress how to determine a coherent/natural &quot;geometric picture&quot; for QM, and there apparently are multiple ways to do it, and currently no generally-agreed, unified or standard approach. also, some directions can be highly abstract reflecting the direction of mathematical research developed largely independently of physics.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;the 2-qubit state has been more extensively studied and there is more chance of creating a picture there 1&lt;sup&gt;st&lt;/sup&gt; and maybe using it as a somewhat &quot;toy&quot; area that can be expanded later. (note that adiabatic QM computing is still based on qubits.) also there is a relatively new study of &quot;quantum dischord&quot; which is seen as promising by some (but also controversial) &amp;amp; might be part of the answer as in the following ref.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;the Bloch sphere is a clear geometric picture for a single qubit and has some &lt;a href=&quot;http://en.wikipedia.org/wiki/Bloch_sphere#A_generalization_for_pure_states&quot; rel=&quot;nofollow&quot;&gt;generalization for pure states&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://iopscience.iop.org/1367-2630/13/7/073016&quot; rel=&quot;nofollow&quot;&gt;Geometric picture of quantum discord for two-qubit quantum states&lt;/a&gt; Shi, Jiang, Sun, Du&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://www.cs.indiana.edu/~sabry/papers/geometry-quantum.pdf&quot; rel=&quot;nofollow&quot;&gt;Geometry of Discrete Quantum Computing&lt;/a&gt; Hanson, Ortiz, Sabry, Tai&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://www.nature.com/news/2011/110601/full/474024a.html&quot; rel=&quot;nofollow&quot;&gt;Quantum computing: The power of discord&lt;/a&gt; Merali/Nature&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2013-11-13T17:38:41.610" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19789" PostTypeId="2" ParentId="19758" CreationDate="2013-11-13T19:45:53.933" Score="1" Body="&lt;p&gt;I am not an expert on this at all, but I would like to get a constructive discussion started. Here is an attempt, based on the math.stackexchange.com question &lt;a href=&quot;https://math.stackexchange.com/questions/30638/count-the-number-of-positive-solutions-for-a-linear-diophantine-equation&quot;&gt;Count the number of positive solutions for a linear diophantine equation&lt;/a&gt;. The stuff is related to Erhart polynomials, which I know nothing about, and I think also to @SashoNikolov's comments above.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Define $N(a_1, a_2, \ldots, a_n; b)$ to be the number of non-negative solutions of the Diophantine equation&#xA;$$a_n x_n + a_{n-1} x_{n-1} + \cdots + a_1 x_1 = b,$$&#xA;where coefficients $a_i$ are positive and $b$ is non-negative. If I am getting my recursions right, then we have&#xA;$$N(a_1; b) = \begin{cases}&#xA;1 &amp;amp; \text{if $a_1 \mid b$} \\\\&#xA;0 &amp;amp; \text{otherwise}&#xA;\end{cases}$$&#xA;and&#xA;$$N(a_1, \ldots, a_{n+1}; b) = &#xA;\sum_{0 \leq \ k \ \leq b/a_{n+1}} N(a_1, \ldots, a_n; b - a_{n+1} k)&#xA;$$&#xA;Now, the sum is a bit long (measured in terms of the length of the input), but we might hope to find a better way of computing it than to actually run through all the $k$'s. We know it's going to be a polynomial in $b$, but I do not see how to compute the polynomial fast enough.&lt;/p&gt;&#xA;" OwnerUserId="705" LastEditorUserId="-1" LastEditDate="2017-04-13T12:19:19.363" LastActivityDate="2013-11-13T20:05:17.737" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="19790" PostTypeId="2" ParentId="19759" CreationDate="2013-11-13T20:08:12.367" Score="17" Body="&lt;p&gt;In the last decade algorithms have been used to increase the number (and quality, I think?) of kidney transplants through various kidney donor matching programs. I've been having trouble finding the latest news on this, but here are at least a few pointers:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;As recently as 2007 the Alliance for Paired Donation was using an algorithm of &lt;a href=&quot;http://www.cs.cmu.edu/~avrim/Papers/ec150abraham.pdf&quot;&gt;Abraham, Blum, and Sandholm&lt;/a&gt;. They may still be using it, but I couldn't find out by searching online. Although this algorithm is almost surely not covered in &quot;standard&quot; courses, it combines several fundamental ideas that surely are taught in such courses to provide a good enough algorithm for a problem that is, in general, NP-complete (a variant of Cycle Cover).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The National Kidney Registry also uses some standard algorithms, including (at one point) CPLEX. This led to an actually performed &lt;a href=&quot;http://www.nytimes.com/2012/02/19/health/lives-forever-linked-through-kidney-transplant-chain-124.html?pagewanted=all&amp;amp;_r=0&quot;&gt;chain of transplants linking 60 people&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;This is one of my favorite examples not just of the success of algorithms, but of the importance of studying algorithms for NP-complete problems. They can &lt;em&gt;literally save lives&lt;/em&gt;, and have already done so!&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2013-11-13T20:08:12.367" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19793" PostTypeId="1" CreationDate="2013-11-13T23:41:09.713" Score="-2" ViewCount="196" Body="&lt;p&gt;Suppose that I have a MAX CUT problem on a weighted undirected Graph $G$, but there is an oracle that tells me what the value of the MAX CUT is, but not which edges produce it.  Does this make the problem any easier?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Added later: to clarify what I want: the oracle only tells you the value of max cut for the original graph, not for any of the modified graphs as in Austin's answer.&lt;/p&gt;&#xA;" OwnerUserId="7988" LastEditorUserId="7988" LastEditDate="2013-11-14T03:49:04.557" LastActivityDate="2013-11-15T03:29:58.557" Title="MAX Cut with an oracle" Tags="&lt;max-cut&gt;" AnswerCount="2" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="19794" PostTypeId="2" ParentId="19759" CreationDate="2013-11-14T00:00:35.737" Score="16" Body="&lt;p&gt;Viterbi's algorithm, which is still widely used in speech recognition and multiple other applications: &lt;a href=&quot;http://en.wikipedia.org/wiki/Viterbi_algorithm&quot;&gt;http://en.wikipedia.org/wiki/Viterbi_algorithm&lt;/a&gt; The algorithm itself is basic dynamic programming.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;From Wikipedia:&#xA;&quot;The Viterbi algorithm was proposed by Andrew Viterbi in 1967 as a decoding algorithm for convolutional codes over noisy digital communication links.[1] The algorithm has found universal application in decoding the convolutional codes used in both CDMA and GSM digital cellular, dial-up modems, satellite, deep-space communications, and 802.11 wireless LANs. It is now also commonly used in speech recognition, speech synthesis, keyword spotting, computational linguistics, and bioinformatics. For example, in speech-to-text (speech recognition), the acoustic signal is treated as the observed sequence of events, and a string of text is considered to be the &quot;hidden cause&quot; of the acoustic signal. The Viterbi algorithm finds the most likely string of text given the acoustic signal.&quot;&lt;/p&gt;&#xA;" OwnerUserId="254" LastEditorUserId="254" LastEditDate="2013-11-14T00:11:43.060" LastActivityDate="2013-11-14T00:11:43.060" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19795" PostTypeId="1" CreationDate="2013-11-14T01:55:21.653" Score="4" ViewCount="276" Body="&lt;p&gt;Are there &lt;em&gt;weakly&lt;/em&gt; NP-complete problems whose associated counting problem can be computed in &lt;em&gt;pseudo-polynomial&lt;/em&gt; time? And if one were to be found (and assuming it is #P-complete), what would be the consequences on the polynomial hierarchy?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm aware of pseudo-polynomial time approximate counts to the knapsack problem. I'm only interested in exact ones.&lt;/p&gt;&#xA;" OwnerUserId="19363" LastEditorUserId="19363" LastEditDate="2013-11-14T02:06:24.007" LastActivityDate="2013-11-14T02:06:24.007" Title="The weakly NP-complete problems and their associated counting problem" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;np-hardness&gt;&lt;counting-complexity&gt;" AnswerCount="0" CommentCount="4" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="19796" PostTypeId="2" ParentId="19759" CreationDate="2013-11-14T02:19:03.407" Score="9" Body="&lt;p&gt;this relatively new book is worth considering as a complete/detailed answer to the question in convenient, extended/collected form and which could be used as supplemental material for an algorithms class. [some of these have already been mentioned; the strong overlap itself is notable.]&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0691158193&quot;&gt;Nine Algorithms That Changed the Future: The Ingenious Ideas That Drive Today's Computers&lt;/a&gt; by MacCormick&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;search engine indexing&lt;/li&gt;&#xA;&lt;li&gt;Pagerank&lt;/li&gt;&#xA;&lt;li&gt;public key cryptography&lt;/li&gt;&#xA;&lt;li&gt;error correcting codes&lt;/li&gt;&#xA;&lt;li&gt;pattern recognition&lt;/li&gt;&#xA;&lt;li&gt;data compression&lt;/li&gt;&#xA;&lt;li&gt;databases&lt;/li&gt;&#xA;&lt;li&gt;digital signatures&lt;/li&gt;&#xA;&lt;li&gt;computability theory&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;another reference somewhat similar but more theoretical, &lt;a href=&quot;http://www.siam.org/pdf/news/637.pdf&quot;&gt;The Best of the 20th Century: Editors Name Top 10 Algorithms&lt;/a&gt; Cipra/SIAM.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Monte Carlo method&lt;/li&gt;&#xA;&lt;li&gt;simplex algorithm&lt;/li&gt;&#xA;&lt;li&gt;Krylov subspace iteration&lt;/li&gt;&#xA;&lt;li&gt;decompositional matrix computation&lt;/li&gt;&#xA;&lt;li&gt;Fortran compiler&lt;/li&gt;&#xA;&lt;li&gt;QR matrix algorithm&lt;/li&gt;&#xA;&lt;li&gt;quicksort&lt;/li&gt;&#xA;&lt;li&gt;FFT&lt;/li&gt;&#xA;&lt;li&gt;integer relation detection&lt;/li&gt;&#xA;&lt;li&gt;fast multipole algorithm&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2013-11-14T02:19:03.407" CommentCount="1" CommunityOwnedDate="2013-11-25T22:41:27.287" ContentLicense="CC BY-SA 3.0" />
  <row Id="19797" PostTypeId="2" ParentId="19793" CreationDate="2013-11-14T03:24:43.187" Score="2" Body="&lt;p&gt;Yes. You could find the actual cut using $n$ calls to the oracle. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let the vertices be labeled $1, \dots, n$. Add a dummy vertex $0$ with outgoing edge weights equal to zero. For each vertex $j=2,\dots, n$ tentatively merge $j$ with vertex $1$. If the max cut objective remains the same, leave $j$ and 1 merged. Otherwise, merge $j$ with $0$ instead.&lt;/p&gt;&#xA;" OwnerUserId="13056" LastActivityDate="2013-11-14T03:24:43.187" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19799" PostTypeId="1" CreationDate="2013-11-14T06:18:45.373" Score="0" ViewCount="413" Body="&lt;p&gt;My aim is to classify types of cars (Sedans,SUV,Hatchbacks) and earlier I was using corner features for classification but it didn't work out very well so now I am trying Gabor features.&lt;br/&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.mathworks.in/matlabcentral/fileexchange/38844-gabor-image-features&quot; rel=&quot;nofollow&quot;&gt;code from here&lt;/a&gt;&lt;br/&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now the features are extracted and suppose when I give an image as input then for 5 scales and 8 orientations I get 2 [1x40] matrices.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;1. 40 columns of squared Energy.&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;2. 40 colums of mean Amplitude.&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Problem is I want to use these two matrices for classification and I have about 230 images of 3 classes (SUV,sedan,hatchback).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I do not know how to create a [N x 230] matrix which can be taken as vInputs by the neural netowrk in matlab.(where N be the total features of one image).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;How to create a one dimensional image vector from the 2 [1x40] matrices for one image.(should I append the mean Amplitude to square energy matrix to get a [1x80] matrix or something else?)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Should I be using these gabor features for my purpose of classification in first place? if not then what?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Thanks in advance&lt;/p&gt;&#xA;" OwnerUserId="19448" LastActivityDate="2013-11-14T06:18:45.373" Title="Making feature vector from Gabor filters for classification using Neural Networks" Tags="&lt;machine-learning&gt;&lt;image-processing&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="19800" PostTypeId="1" CreationDate="2013-11-14T08:24:15.293" Score="30" ViewCount="842" Body="&lt;p&gt;I would like to find a polynomial time algorithm that determines if the span of a given set of matrices contains a permutation matrix.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If any one knows if this problem is of a different complexity class, that would be just as helpful.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;EDIT: I've tagged this question with Linear Programming, because I have a strong suspicion that if such a solution existed, it would be a kind of linear programming algorithm. The reason I believe this is because the extreme points of the &lt;a href=&quot;http://en.wikipedia.org/wiki/Birkhoff_polytope&quot; rel=&quot;noreferrer&quot;&gt;Birkhoff polytope&lt;/a&gt; are precisely the permutation matrices. If you could then find an objective function which is either maximized or minimized only on the vertices of the Birkhoff polytope, you could constrain your function to the intersection of the polytope and your vector subspace, then maximize it in polynomial time. If this value were a permutation matrix, you'd know the set contained a permutation. Those are my thoughts on the subject.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;EDIT 2: After some more thought, it seems to me that the permutation matrices are precisely the elements of the Birkhoff Polytope with Euclidean norm $\sqrt{n}$, the we consider the Birkhoff polytope to be the convex hull of the $n \times n$ permutation matrices. Perhaps that could also be significant.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;EDIT 3: I added the semidefinite programming tag, because after my previous comment, I'm beginning to think that a semidefinite programming solution may be possible since it is now a linearly constrained quadratic optimization algorithm.&lt;/p&gt;&#xA;" OwnerUserId="19455" LastEditorUserId="39090" LastEditDate="2018-08-18T11:44:59.150" LastActivityDate="2018-08-25T15:46:17.987" Title="Is there a polynomial time algorithm to determine if the span of a set of matrices contains a permutation matrix?" Tags="&lt;cc.complexity-theory&gt;&lt;linear-algebra&gt;&lt;linear-programming&gt;&lt;semidefinite-programming&gt;&lt;polynomial-time&gt;" AnswerCount="2" CommentCount="9" FavoriteCount="4" ContentLicense="CC BY-SA 4.0" />
  <row Id="19801" PostTypeId="2" ParentId="19759" CreationDate="2013-11-14T10:12:19.840" Score="6" Body="&lt;p&gt;Thinking of very basic algorithms&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Random number generators are found everywhere and specifically in all games.&lt;/li&gt;&#xA;&lt;li&gt;Databases are composed of many algorithms, including B+, Hashes, priority queues, regular expression, criptography, sorting, etc... A friend of mine says SGBDs are at the top of the computing food chain.&lt;/li&gt;&#xA;&lt;li&gt;Sort is used everywhere, for example in Excel. It is actually used all time in real life, but usually humans use ad-hoc algorithms&lt;/li&gt;&#xA;&lt;li&gt;Parity bits are used all around&lt;/li&gt;&#xA;&lt;li&gt;Huffman encoding is in compression and transmission software&lt;/li&gt;&#xA;&lt;li&gt;Stacks (LIFO) are used everywhere. Inside programming languages, in CPUs, etc...&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Nice to show they appearing in real life:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A. Many groups use a kind of covering tree algorithm to communicate, by dividing telephone lists in hierarchical way among people&#xA;B. Cars in a intersection usually use a round-robin algorithm (in a voluntary way)&#xA;C. Most places, as banks and hospital, organize their clientes in a FIFO algorithm&lt;/p&gt;&#xA;" OwnerUserId="19461" LastActivityDate="2013-11-14T10:12:19.840" CommentCount="3" CommunityOwnedDate="2013-11-25T22:41:27.287" ContentLicense="CC BY-SA 3.0" />
  <row Id="19802" PostTypeId="1" CreationDate="2013-11-14T11:45:29.263" Score="8" ViewCount="7666" Body="&lt;p&gt;Paper &quot;HyperLogLog: the analysis of a near-optimal cardinality estimation algorithm&quot; introduce an efficient algorithm which can help to estimate distinct items in large data set.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am thinking about few related question:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Given a large data set (total data size is known), how to find top k frequent items? better to use less space. &#xA;Simple approach(count frequency of each item in data set, and sort) requires lots of space&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;What about finding top k frequent items in data stream?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Is there any near-optimal algorithms avaiable? or, can we prove relationship between space requirement and error ratio?&lt;/p&gt;&#xA;" OwnerUserId="9934" LastEditorUserId="80" LastEditDate="2013-11-14T22:06:10.990" LastActivityDate="2015-06-22T13:09:09.060" Title="Top-k frequent items in data stream" Tags="&lt;approximation-algorithms&gt;&lt;lower-bounds&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="19803" PostTypeId="2" ParentId="19802" CreationDate="2013-11-14T12:10:48.230" Score="3" Body="&lt;p&gt;Frequent items can be found using either $count$-based or $sketch$-based algorithms; these algorithms may be adapted to answer top-$k$ queries as well.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For count-based algorithms, Space Saving can report frequent items in time linear in $O(n)$, the total number of items using $k$ counters. The Frequent algorithm reports frequent items in $O(n)$ time using $k-1$ counters.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Among the sketch-based algorithms, relevant algorithms include Count-Min which uses $O(1/\epsilon \log 1/\delta )$ space and hCount whose space complexity is better, being $O(1/\epsilon \log(-M/(\log 1- \delta)))$, where $\epsilon, \delta, M$ are input parameters.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;These algorithms also works for streams. Note that the space complexities reported are for heavy-hitters and not for top$k$ queries. See Sasho's answer.&lt;/p&gt;&#xA;" OwnerUserId="4208" LastEditorUserId="4208" LastEditDate="2013-11-15T14:43:32.397" LastActivityDate="2013-11-15T14:43:32.397" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="19804" PostTypeId="2" ParentId="19759" CreationDate="2013-11-14T13:39:21.053" Score="6" Body="&lt;p&gt;A fascinating algorithmic problem arises in medical application of CT scan. In Computed Tomography (CT), the body is exposed to X-rays from different angles. At one end of the scanner are the X-ray transmitters and at the other end the sensors. From such a series of scans, an image is reconstructed for the physician to examine! &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The &lt;a href=&quot;http://shaidekel.tripod.com/Lesson3.pdf&quot; rel=&quot;noreferrer&quot;&gt;filtered back projection&lt;/a&gt;&#xA;algorithm is the basis for reconstruction of an image from a set of scans. This algorithm is actually a form of an approximation problem in which the &quot;signal&quot; is sampled below Nyquist rate. This algorithm is in use &quot;behind the scenes&quot; at all hospitals and the basic filtered back projection utilizes undergraduate math such as Fourier transforms to achieve the &lt;a href=&quot;http://en.wikipedia.org/wiki/Projection-slice_theorem&quot; rel=&quot;noreferrer&quot;&gt;Fourier Slice Theorem&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="19471" LastEditorUserId="19471" LastEditDate="2013-11-14T13:51:43.790" LastActivityDate="2013-11-14T13:51:43.790" CommentCount="0" CommunityOwnedDate="2013-11-25T22:41:27.287" ContentLicense="CC BY-SA 3.0" />
  <row Id="19805" PostTypeId="1" AcceptedAnswerId="40299" CreationDate="2013-11-14T14:16:53.823" Score="7" ViewCount="231" Body="&lt;p&gt;Consider an invertible function that maps an $N$ bit string $x$ to an $N$ bit string $f(x)$. Let us use $F(x)$ to denote the inverse of the function $f(x)$, such that $F(f(x)) = x$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose that I know a circuit with ${\rm poly} \, N$ reversible Boolean logic gates that can compute this function. However, it also produces an additional output string $g(x)$ (with may be a copy of the input, for example).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given this scenario, I have two questions that I believe to be equivalent.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Does the existence of an efficient reversible circuit to output $f(x)$ that also outputs $g(x)$ imply the existence of an efficient reversible circuit that only outputs $f(x)$?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Does the existence of an efficient reversible circuit to output $f(x)$ that also outputs $g(x)$ imply the existence of an efficient reversible circuit to output $F(x)$ (and may or may not also output some $G(x)$)?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="17599" LastActivityDate="2018-03-01T04:29:23.960" Title="Complexity of computing invertible functions with reversible circuits" Tags="&lt;cc.complexity-theory&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19807" PostTypeId="2" ParentId="19802" CreationDate="2013-11-14T15:05:04.877" Score="9" Body="&lt;p&gt;&lt;a href=&quot;http://www.tau.ac.il/~nogaa/PDFS/amsz4.pdf&quot; rel=&quot;nofollow&quot;&gt;Alon, Matias, and Szegedy&lt;/a&gt; proved that finding the frequency of the most frequent of $n$ items requires $\Omega(n)$ space in the worst case in the streaming model, even if you allow a constant number of passes over the input. Since finding the most frequent item gives you a two-pass algorithm for computing its frequency (find in the first pass, track its frequency in the second), we cannot find the most frequent item in sublinear space in the streaming model. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Usually the way to deal with such a lower bound is to relax the problem. The algorithms Massimo mentions are for the most popular relaxation: the $k$-Heavy Hitters problem ($k$-HH). The $k$-HH problem asks to output all items whose frequency is at least $\frac{m}{k}$, where $m$ is the total frequency of all items (i.e. the length of the stream, in the simplest streaming model). So in $k$-HH we ´expect to see an item only if it actually is very frequent. This problem requires linear space to solve exactly as well: i.e. an algorithm which outputs all and only the items of frequency $\geq \frac{m}{k}$ requires $\Omega(n)$ space in the worst case. For this reason, the problem is usually relaxed a little further: we expect a $k$-HH algorithm to output all items of frequency at least $\frac{m}{k}$ and no items of frequency less than $\frac{(1-\varepsilon)m}{k}$. All algorithms Massimo lists actually do that.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://dimacs.rutgers.edu/~graham/pubs/papers/freq.pdf&quot; rel=&quot;nofollow&quot;&gt;Cormode and Hadjieleftheriou&lt;/a&gt; gave a very nice overview of the known $k$-HH algorithms, with brief descriptions, space complexity, and experimental results for performance. &lt;/p&gt;&#xA;" OwnerUserId="4896" LastEditorUserId="4051" LastEditDate="2015-06-22T13:09:09.060" LastActivityDate="2015-06-22T13:09:09.060" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19809" PostTypeId="2" ParentId="19793" CreationDate="2013-11-14T16:32:01.640" Score="3" Body="&lt;p&gt;Let's consider unweighted graphs, which is still a hard problem. Say you have an algorithm that solves your problem in time $T(n)$. Then I could solve the MAX CUT problem without such an oracle in time $O(m\cdot T(n))$, where $m$ is the number of edges in the graph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Run $m+1$ versions of your algorithm in parallel, each of which gets a different value for the MAX CUT from the &quot;oracle&quot;. Note that $m$ out of these $m+1$ runs will get an incorrect value from their &quot;oracle&quot;, but one of them will get the correct one since the true MAX CUT value must be between $0$ and $m$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;After you performed $T(n)$ steps in each of these runs, the run that found the largest cut will have found the MAX CUT.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So no, in general it does not help significantly to have such an oracle.&lt;/p&gt;&#xA;" OwnerUserId="127" LastEditorUserId="127" LastEditDate="2013-11-15T03:29:58.557" LastActivityDate="2013-11-15T03:29:58.557" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19810" PostTypeId="1" AcceptedAnswerId="19814" CreationDate="2013-11-14T16:33:06.507" Score="-1" ViewCount="845" Body="&lt;p&gt;Right now I have a binary genetic algorithm. I used a random 0-512 and other random to get the symbol.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Example:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1- 297 and + = 297&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2- 486 and - = -486&#xA;...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I used 512 because the binary of it is 10 0000 0000&#xA;and its simple to deal with it if I need to check the fitness.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Someone told me that If I used gray code or binary code I can make custom domains like :&lt;/p&gt;&#xA;&#xA;&lt;p&gt;00000 as -89.3&lt;/p&gt;&#xA;&#xA;&lt;p&gt;11111 as 187.9&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But I don't know how to accomplish this.&#xA;Any insight would be helpful.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thank you.&lt;/p&gt;&#xA;" OwnerUserId="18223" LastActivityDate="2013-11-14T17:43:57.823" Title="Convert to gray code a custom domain of a genetic algorithm" Tags="&lt;genetic-algorithms&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="1" ClosedDate="2013-12-01T18:59:48.407" ContentLicense="CC BY-SA 3.0" />
  <row Id="19814" PostTypeId="2" ParentId="19810" CreationDate="2013-11-14T17:43:57.823" Score="1" Body="&lt;p&gt;Two different questions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;How to map your decoded values onto a non-power of two range is really just basic arithmetic. Suppose your target range is the half-open interval [10, 20). (That is, 10.0 &amp;lt;= x &amp;lt; 20.0). Suppose further you have an 8-bit encoding. Let's take the string 01001011. In standard binary, this decodes to the integer 128+8+2+1=139. The total range of values you can represent is of course 0-255 inclusive. 139/(255-0)=0.545098. Think of this as the fraction of the way that 139 is to 255. The target range is only 10.0 however (20-10). Multiplying 0.545098 * 10.0 gives 5.45098. So 5.45098 is the same proportion of 10 as 139 is of 255, right? Now all that's left is to add the lower bound back in so that we're mapping between 10 and 20 instead of 0 and 10.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Putting this all together, let X_int = the decoded integer value from your bit string of length L, and let X_min and X_max be your desired range. Then&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;X = (X_int / 2^L-1) * (X_max - X_min) + X_min&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;If you want to use a standard binary encoding, that's all you need. However, Gray codes often do work better in search algorithms because of the Hamming cliff problem. If we want to use Gray codes, we need to be able to get X_int out of the Gray coded bit string.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You typically learn Gray codes by learning how to construct one via the binary reflection trick, but there is a bit of a shortcut here. The reflected gray code of a binary string b is just b xor b logically right shifted by one. We can reconstruct b and decoded it all in one pass through the string. In C-ish pseudocode,&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;int decode_gray(int[] gray_bits, int numbits)&#xA;    int[] binary = new int[numbits]&#xA;    binary[0] = gray[0]&#xA;    int X_int = binary[0]&#xA;    for i=1 to numbits                         // note we start at 1, not 0&#xA;        binary[i] = !(binary[i] == gray[i-1])  // g xor g shifted by 1&#xA;        X_int += X_int + binary[i]             // building up the powers of two&#xA;    return X_int&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Let's see an example. Take the string 1101. In the reflected binary Gray code, this is 9. So let's decode it and see what happens.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First we create a new bit string for the binary equivalent, and set it's leading bit to the same as the leading bit from the Gray code&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;gray = 1101&#xA;bin  = 1---&#xA;Xint = 1&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Now we start the loop with i=1. Comparing gray[1] and bin[0], they are equal. But we take the not of that, so we get false, or 0 for bin[1]. And X_int gets updated with this weird += X_int + bin[i] thing.&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;gray = 1101&#xA;bin  = 10--&#xA;Xint = Xint + Xint + 0 = 2&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Next trip through the loop, gray[2] == bin[1] again, so bin[2] = 0.&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;gray = 1101&#xA;bin  = 100-&#xA;Xint = Xint + Xint + 0 = 4&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Finally, we have gray[3] != bin[2], so bin[3] = 1.&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;gray = 1101&#xA;bin  = 1001&#xA;Xint = Xint + Xint + 1 = 9&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;So you get both the binary string 1001, which is 9 in binary, and the parameter value 9 out the back end. Why this works is not too hard to figure out if you spend some time working out the properties of gray and binary codes.&lt;/p&gt;&#xA;" OwnerUserId="5832" LastActivityDate="2013-11-14T17:43:57.823" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19815" PostTypeId="1" CreationDate="2013-11-14T22:49:46.393" Score="2" ViewCount="144" Body="&lt;p&gt;Having multiple streams of pseudo-random numbers known to be independent and with a uniform distribution I want to do Monte Carlo simulations in parallel.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In other words, one thread will have a full-period independent and uniformly distributed stream of pseudo-random numbers. Each thread will consume these numbers in four different functions (a,b,c,d).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My concern is about the distribution across threads for each function. Thread.1 func_a.1, thread.2 func_a.2... and so on. Do I still need to make sure this distribution is indeed uniform across func_a1, func_a2, etc? Failing to do so can make my simulation have flaws?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In summary,if I start using the pseudo-random numbers in a &quot;random&quot; fashion, &lt;strong&gt;rejection sampling&lt;/strong&gt;. Can I still be sure of the normal distribution among the different parts?&lt;/p&gt;&#xA;" OwnerUserId="19493" LastEditorUserId="186" LastEditDate="2013-11-14T23:33:53.690" LastActivityDate="2018-09-18T01:35:57.950" Title="Multiple independent random number streams" Tags="&lt;pr.probability&gt;&lt;randomness&gt;&lt;dc.parallel-comp&gt;&lt;na.numerical-analysis&gt;&lt;monte-carlo&gt;" AnswerCount="2" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19816" PostTypeId="2" ParentId="19759" CreationDate="2013-11-14T23:37:51.577" Score="-2" Body="&lt;p&gt;two other personal favorite examples firmly rooted in computer science but maybe easily overlooked by abstractionist theoreticians, which have undergone enormous/transformative advances and had major-to-massive practical/applied impact in daily life over the last few decades. already an entire generation has grown up not knowing the world without them. basically the category of &lt;a href=&quot;http://en.wikipedia.org/wiki/Modeling_and_simulation&quot; rel=&quot;nofollow&quot;&gt;Modelling and simulation&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Dynamical_simulation&quot; rel=&quot;nofollow&quot;&gt;physics simulation algorithms&lt;/a&gt;. mainly using Newtons laws but using other laws (such as fluid dynamics). used in a wide variety of applications ranging from engineering applications, video games, and sometimes movies. this is responsible also for significantly improving safety, efficiency, or reliability of eg cars &amp;amp; airplanes via subjecting virtual/test designs to simulated stresses. a major related ongoing research area from bioinformatics with massive implications in biology eg drug design, disease prevention etc: &lt;a href=&quot;http://en.wikipedia.org/wiki/Protein_structure_prediction&quot; rel=&quot;nofollow&quot;&gt;protein folding/structure prediction&lt;/a&gt;. also note this years Nobel Prize in Chemistry was awarded for &lt;a href=&quot;http://www.nytimes.com/2013/10/10/science/three-researchers-win-nobel-prize-in-chemistry.html&quot; rel=&quot;nofollow&quot;&gt;chemistry simulation&lt;/a&gt; to Karplus, Levitt, Warshel. physics simulation algorithms are highly involved in &lt;a href=&quot;http://www.state.gov/t/avc/rls/202014.htm&quot; rel=&quot;nofollow&quot;&gt;nuclear weapons safety/testing&lt;/a&gt; eg at Los Alamos laboratories.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Raytracing&quot; rel=&quot;nofollow&quot;&gt;raytracing/CGI algorithms&lt;/a&gt;. this started out as a research topic merely a few decades ago [a friend got his masters degree in CS writing raytracing algorithms] but became very applied in eg games and the movie making business, reaching extraordinary levels of verisimilitude that is responsible for large amounts of special effects in movies. these industries have literally &lt;em&gt;billions of dollars&lt;/em&gt; invested and riding on these algorithms and entire large corporations are based on harnessing them, eg &lt;a href=&quot;http://en.wikipedia.org/wiki/Pixar&quot; rel=&quot;nofollow&quot;&gt;Pixar&lt;/a&gt;. mostly initially used in eg scifi movies, the technique is now so widespread it is routinely used even in &quot;typical&quot; movies. for example recently &lt;a href=&quot;http://www.imdb.com/title/tt1343092/?ref_=nv_sr_1&quot; rel=&quot;nofollow&quot;&gt;The Great Gatsby&lt;/a&gt; relied heavily on CGI effects to draw convincing or stylized environments, retouch the film/characters, etc.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="7884" LastEditDate="2013-11-14T23:43:28.633" LastActivityDate="2013-11-14T23:43:28.633" CommentCount="0" CommunityOwnedDate="2013-11-25T22:41:27.287" ContentLicense="CC BY-SA 3.0" />
  <row Id="19820" PostTypeId="2" ParentId="3921" CreationDate="2013-11-15T08:58:51.297" Score="15" Body="&lt;p&gt;I think the answer to your first question is also $\widetilde O(n^3 \log( \|A\| + \|b\|))$ due to the following arguments: Edmonds' paper does not describe a variant of Gaussian elimination but it proves that any number computed in a step of the algorithm is a determinant of some submatrix of A. By &lt;a href=&quot;http://books.google.de/books?id=zEzW5mhppB8C&amp;amp;redir_esc=y&quot;&gt;Schrijver's book on Theory of Linear and Integer Programming&lt;/a&gt; we know that if A's encoding needs b bits (b should be in $\widetilde O(\log( \|A\|)$) then any of its subdeterminants needs at most 2b bits (Theorem 3.2). In order to make Gaussian elimination a polynomial time algorithm we have to care about the computed quotients: We have to cancel out common factors from every fraction we compute in any intermediate step and then all numbers have encoding length linear in the encoding length of A.&lt;/p&gt;&#xA;" OwnerUserId="19504" LastActivityDate="2013-11-15T08:58:51.297" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19821" PostTypeId="1" CreationDate="2013-11-15T09:03:03.617" Score="9" ViewCount="2731" Body="&lt;p&gt;(I posted this question on &lt;a href=&quot;https://cs.stackexchange.com/questions/16741/complexity-of-sat-to-3-sat-problem&quot;&gt;CS&lt;/a&gt; ten days ago, with no answer since then - so I post it here.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any CNF formula can be transform in polynomial time into a 3-CNF formula  by using new variables. It is not always possible if new variables are not allowed (take for instance the single clause formula : $(x_1 \lor x_2 \lor x_3 \lor x_4)$). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let define the (SAT to 3-SAT) problem : Given $F$, a CNF formula. Is it possible to transform $F$ into an equivalent 3-CNF defined &lt;em&gt;on the same variables&lt;/em&gt; as $F$ ? - where &quot;equivalent&quot; means with the same set of models.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is the complexity of this problem ?&lt;/p&gt;&#xA;" OwnerUserId="6346" LastEditorUserId="-1" LastEditDate="2017-04-13T12:48:30.830" LastActivityDate="2013-11-16T08:01:23.377" Title="Transform a CNF into an equivalent 3-CNF defined on the same variables" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;sat&gt;" AnswerCount="1" CommentCount="8" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="19822" PostTypeId="1" AcceptedAnswerId="19835" CreationDate="2013-11-15T09:54:30.867" Score="4" ViewCount="995" Body="&lt;p&gt;Every heuristic for the traveling salesman problem that I know of (Nearest-Neighbour, Christofides, Held-Karp, ...) assumes that the &lt;em&gt;triangle inequality&lt;/em&gt; holds. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there heuristics to solve the tsp that don't assume the triangle inequality and still perform well*?&lt;br&gt;&#xA;If there aren't, why is that?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;*i.e. don't run for a year for 100 cities and get relatively close to the optimum&lt;/p&gt;&#xA;" OwnerUserId="3263" LastActivityDate="2013-11-16T16:37:47.837" Title="Heuristics for tsp without triangle inequality" Tags="&lt;tsp&gt;&lt;heuristics&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19825" PostTypeId="2" ParentId="19526" CreationDate="2013-11-15T14:41:08.977" Score="1" Body="&lt;p&gt;For an approximate solution, &lt;a href=&quot;http://en.wikipedia.org/wiki/Bloom_filter&quot; rel=&quot;nofollow&quot;&gt;bloom filters&lt;/a&gt; could be an option. You get guaranteed negative answers, and a bound on the false positive rate. Bloom filters would have O(log(1/epsilon)) space complexity, where epsilon is the false positive rate you want. Time complexity for intersection would be the same. So compared to bit sets, you get a complexity that is, if i translate the false positive rate correctly, logarithmic in the universe's size, as compared to linear in that size for BitSets.&lt;/p&gt;&#xA;" OwnerUserId="19513" LastActivityDate="2013-11-15T14:41:08.977" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19826" PostTypeId="2" ParentId="19759" CreationDate="2013-11-15T15:22:49.840" Score="6" Body="&lt;p&gt;An example of FFT&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I once helped port an FFT algorithm to a different system language.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The algorithm was being used to determine line breaks in coaxial delivery of cable tv/internet/phone.  Basically a technician would request a signal to be sent to the customer's box, at the same time they would pull up a real-time display of the statistics for the specific customer, such as QoS, dB, ....  The technician could use the data and a graph to determine within a few feet between the house and pole where a partial break existed (or multiple breaks as I was told).  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;As mentioned above FFT is widely used, but this was one of the more blatant and obvious (in terms of why and how) I have seen in practice.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Sorry I had to keep it a high level.  &lt;/p&gt;&#xA;" OwnerUserId="19512" LastEditorUserId="19512" LastEditDate="2013-11-16T05:27:31.530" LastActivityDate="2013-11-16T05:27:31.530" CommentCount="0" CommunityOwnedDate="2013-11-25T22:41:27.287" ContentLicense="CC BY-SA 3.0" />
  <row Id="19829" PostTypeId="1" AcceptedAnswerId="19872" CreationDate="2013-11-15T18:02:19.367" Score="3" ViewCount="924" Body="&lt;p&gt;If this is known, can someone point me to a proof?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A QP is essentially a LP with a quadratic objective. That is, it looks like:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;minimize $\frac{1}{2} x^T Q x + c^T x$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;s.t. $Ax \leq b$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's known that in general, solving a QP is NP-Hard. Is it NP-Complete to know if there are at least two different solutions to the QP?&lt;/p&gt;&#xA;" OwnerUserId="16013" LastEditorUserId="16013" LastEditDate="2013-11-15T20:36:43.613" LastActivityDate="2013-11-19T18:03:19.513" Title="Is it NP-Complete to determine if a quadratic program (QP) has multiple solutions?" Tags="&lt;np-hardness&gt;&lt;optimization&gt;" AnswerCount="1" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="19831" PostTypeId="2" ParentId="10788" CreationDate="2013-11-16T03:28:17.527" Score="6" Body="&lt;p&gt;The problem admits an FPTRAS. This is a randomized algorithm $\mathbb{A}$ that gets a graph $G$, a parameter $k\in \mathbb{N}$, and rational numbers $\epsilon &amp;gt;0$ and $\delta \in (0,1)$ as inputs. If $z$ is the number of $k$-vertex sets you are looking for, then $\mathbb{A}$ outputs a number $z'$ such that&#xA;\begin{equation}&#xA;\mathbb{P}(z' \in [(1-\epsilon)z,(1+\epsilon)z]) \geq 1-\delta, &#xA;\end{equation}&#xA;and it does so in time $f(k)\cdot g(n,\epsilon^{-1},\log \delta^{-1})$, where $f$ is some computable function and $g$ is some polynomial.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This follows from Thm. 3.1 in &lt;a href=&quot;http://arxiv.org/abs/1308.1575&quot;&gt;(Jerrum, Meeks 13)&lt;/a&gt;: Given a property $\Phi$ of graphs, there is an FPTRAS, with the same input as above, that approximates the size of the set&#xA;\begin{equation}&#xA;\{S \subseteq V(G) \mid |S| =k \wedge \Phi(G[S])\},&#xA;\end{equation}&#xA;provided that $\Phi$ is computable, monotone, and all of its edge-minimal graphs have bounded treewidth. All three conditions hold if $\Phi$ is the graph property of admitting a perfect matching.&lt;/p&gt;&#xA;" OwnerUserId="2666" LastActivityDate="2013-11-16T03:28:17.527" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19832" PostTypeId="1" AcceptedAnswerId="19858" CreationDate="2013-11-16T06:55:05.027" Score="8" ViewCount="739" Body="&lt;p&gt;I know that in general, multivariate polynomial satisfiability is equivalent to 3-SAT; however, I'm wondering if there are any good techniques in the quadratic case, specifically if there is a polynomial time solution.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I guess the more general question would be, are there any classes of multivariate polynomials for which the satisfiability problem is efficiently solvable?&lt;/p&gt;&#xA;" OwnerUserId="19455" LastActivityDate="2013-12-12T18:13:35.770" Title="What are some efficient algorithms for determining if a quadratic multivariate polynomial has a solution?" Tags="&lt;cc.complexity-theory&gt;&lt;polynomials&gt;&lt;polynomial-time&gt;&lt;quadratic&gt;" AnswerCount="4" CommentCount="6" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="19833" PostTypeId="2" ParentId="19821" CreationDate="2013-11-16T07:50:24.360" Score="7" Body="&lt;p&gt;(From the comment above)&#xA;The problem seems coNP-hard; the simple reduction is from 3CNF-UNSAT (which is coNP-complete):&#xA;given a 3CNF formula $\varphi = C_1 \land ... \land C_m$, extend it adding a new clause with 4 new variables:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\varphi' = (y_1 \lor y_2 \lor y_3 \lor y_4) \land C_1 \land ... \land C_m$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\varphi'$ has an equivalent 3CNF formula defined on the same variables if and only if the original formula $\varphi$ is unsatisfiable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;($\Leftarrow$) the 3CNF formula $(y_1 \lor y_2 \lor y_3) \land (y_1 \lor y_2 \lor y_4) \land C_1 \land ... \land C_m$ is equivalent to $\varphi'$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;($\Rightarrow$) suppose that $\varphi'$ has an equivalent 3CNF formula $\varphi''$ and that $\varphi$ is satisfiable.&#xA;Pick a satisfying assignment $X = \langle \dot{x}_1,...,\dot{x}_n \rangle$ of $\varphi$, and simplify both $\varphi'$ and $\varphi''$ replacing the variables $x_i$ with&#xA;the corresponding truth values $\dot{x}_i$. We get $\varphi'_X$ which is satisfiable if and only if $\varphi''_X$ is satisfiable&#xA;(both contain only variables $y_i$).&#xA;Clearly $\varphi'_X = (y_1 \lor y_2 \lor y_3 \lor y_4)$. Every clause of $\varphi''_X$ contains at most three variables,&#xA;so we can pick one of them, e.g. $(y_1 \lor \lnot y_2 \lor y_3)$, and use it to build a satisfying assignment for $\varphi'$:&#xA;$\langle y_1=false, y_2=true, y_3=false,y_4=true,\dot{x}_1,...,\dot{x}_n \rangle$ which is not a satisfying assignment for $\varphi''$,&#xA;leading to a contradiction.&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2013-11-16T08:01:23.377" LastActivityDate="2013-11-16T08:01:23.377" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="19834" PostTypeId="1" AcceptedAnswerId="19857" CreationDate="2013-11-16T08:43:38.923" Score="4" ViewCount="338" Body="&lt;p&gt;Let me quote from the section 9.3 of &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0821832298&quot; rel=&quot;nofollow&quot;&gt;Classical and Quantum Computation&lt;/a&gt; by Kitaev, Shen and Vyalyi. &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;With high confidence, we may claim that every physical quantum system&#xA;  can be efficiently simulated on a quantum computer, but we can never&#xA;  prove this statement.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Why can't we ever prove this statement?&lt;/p&gt;&#xA;" OwnerUserId="13408" LastActivityDate="2013-11-18T20:53:39.650" Title="Simulation of every physical quantum system on quantum computer" Tags="&lt;quantum-computing&gt;&lt;turing-machines&gt;&lt;quantum-information&gt;&lt;physics&gt;&lt;qma&gt;" AnswerCount="2" CommentCount="10" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19835" PostTypeId="2" ParentId="19822" CreationDate="2013-11-16T14:38:26.243" Score="12" Body="&lt;p&gt;I hope this partly answers your question: Most known heuristics like Greedy, Naerest Neighbor, Lin-Kerninhan etc. &#xA;perfrom quite well for (symmetric) TSP without triangle inequality.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You may check these heuristics with the &lt;a href=&quot;http://www.math.uwaterloo.ca/tsp/concorde/index.html&quot;&gt;Concorde TSP Solver&lt;/a&gt; &#xA;which is the best TSP solver I know so far.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In theory, there is no heuristic for TSP without triangle inequality that performs well &#xA;(like Christofides for metric TSP). &#xA;This is due to the well known fact that TSP cannot be approximated within any &#xA;polynomial time computable function unless P=NP. &lt;/p&gt;&#xA;" OwnerUserId="16809" LastEditorUserId="16809" LastEditDate="2013-11-16T16:37:47.837" LastActivityDate="2013-11-16T16:37:47.837" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19836" PostTypeId="2" ParentId="19759" CreationDate="2013-11-16T16:46:01.683" Score="-5" Body="&lt;p&gt;maybe all the major/preferred algorithms of interest to this audience have been mentioned at this point. however, a few more deserve mention for completeness. &amp;amp; some analysis of what is considered a significant algorithm is relevant here.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;in CS &amp;amp; IT fields there seems to be a phenomenon noticed long ago in AI called &lt;a href=&quot;http://en.wikipedia.org/wiki/Moving_the_goalpost&quot; rel=&quot;nofollow&quot;&gt;&quot;moving the goalposts&quot;&lt;/a&gt;. this is a psychological phenomenon where the field advances relatively quickly but people quickly mentally adjust to &quot;the new normal&quot; and take real or even breakthrough advances as mundane or unremarkable in retrospect, after accomplished, ie downplayed or minimized. this is highly captured in this question in the way that algorithms move from R&amp;amp;D into &quot;deployment&quot;. quoting the author of the question in later comments:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;In fact, a negligible fraction of all the code that gets written is implementing anything that is interesting from an algorithmic point of view.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;but this is problematic and basically a TCS-centric redefinition of the word &quot;algorithm&quot;. presumably the interesting algorithms are advanced. does that mean that if a problem is reduced to an advanced algorithm, its no longer &quot;interesting&quot;? and &quot;advanced&quot; is clearly a moving target. so there is a way to define &quot;algorithms&quot; &lt;em&gt;narrowly&lt;/em&gt;, or &lt;em&gt;broadly&lt;/em&gt;. it seems the TCS definition changes on context, but note even in TCS, there is a trend toward the &lt;em&gt;broad&lt;/em&gt; definition eg in the so-called &lt;a href=&quot;http://lazowska.cs.washington.edu/fcrc/Christos.FCRC.pdf&quot; rel=&quot;nofollow&quot;&gt;&quot;algorithmic lens&quot;&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;sometimes the most ubiquitous algorithms are also the most overlooked! the internet and WWW is a large environment/near-ecology for algorithms. still relatively young at only about 2 decades old (invented ~1991) it has grown massively and exponentially in a short amount of time. WWW site growth has probably even outpaced the famous exponential Moores law.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;the internet/WWW are supported by many sophisticated algorithms. the internet has complex routing algorithms built into routers (again powering multi-billion-dollar corporations such as Cisco). some advanced theory is applicable there eg in &lt;a href=&quot;http://en.wikipedia.org/wiki/Routing&quot; rel=&quot;nofollow&quot;&gt;routing algorithms&lt;/a&gt;. these algorithms were a subject of emerging, advanced/cutting edge research decades ago however a now so finetuned &amp;amp; well understood that its somewhat invisible. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;we should not so soon forget that decades ago, leading researchers were not even sure if the internet world work or was possible (seen in early packet switching research, a radical new design pattern at the time departing from the prior circuit-switching), and even a few years ago there were fears that it would fail to scale at some point and begin to fail due to overwhelming spikes in volume.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;it also uses sophisticated &lt;a href=&quot;http://en.wikipedia.org/wiki/Error_correction&quot; rel=&quot;nofollow&quot;&gt;error detection/correction&lt;/a&gt;. the internet probably &lt;em&gt;the&lt;/em&gt; largest, most &lt;a href=&quot;http://en.wikipedia.org/wiki/Fault_tolerance&quot; rel=&quot;nofollow&quot;&gt;fault-tolerant&lt;/a&gt; system ever built by humans, still growing.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;next, there is a strong case to make that the algorithms powering the WWW are advanced. &lt;a href=&quot;http://en.wikipedia.org/wiki/Http&quot; rel=&quot;nofollow&quot;&gt;HTTP&lt;/a&gt; &amp;amp; web servers are highly tuned/optimized and also use advanced security/encryption protocols (HTTPS). the rendering logic of a web page has become extremely advanced in &lt;a href=&quot;http://en.wikipedia.org/wiki/Html5&quot; rel=&quot;nofollow&quot;&gt;HTML5&lt;/a&gt; &amp;amp; &lt;a href=&quot;http://en.wikipedia.org/wiki/Css&quot; rel=&quot;nofollow&quot;&gt;CSS3&lt;/a&gt;, along with the &lt;a href=&quot;http://en.wikipedia.org/wiki/Javascript&quot; rel=&quot;nofollow&quot;&gt;Javascript&lt;/a&gt; programming language. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;the relatively new CSS has various principles similar to &lt;a href=&quot;http://en.wikipedia.org/wiki/Object_oriented_programming&quot; rel=&quot;nofollow&quot;&gt;OOP programming&lt;/a&gt; such as reusability and inheritance. speaking of typesetting, &lt;a href=&quot;http://en.wikipedia.org/wiki/TeX&quot; rel=&quot;nofollow&quot;&gt;TeX&lt;/a&gt; is an important, internally complex scientific typesetting system (not so different than a programming language) invented by Knuth that can now be rendered on web pages (and is used in possibly hundreds of thousands of scientific papers or more).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;another relatively new area of algorithms building on the internet, still emerging, those based on &lt;a href=&quot;http://en.wikipedia.org/wiki/Collective_intelligence&quot; rel=&quot;nofollow&quot;&gt;collective intelligence&lt;/a&gt;. stackexchange software itself is an example of a sophisticated collective intelligence system. &lt;a href=&quot;http://en.wikipedia.org/wiki/Social_networking&quot; rel=&quot;nofollow&quot;&gt;social networking&lt;/a&gt; also exhibits the key features of collective intelligence and features are continually being added to increase that intelligence (for example facebook &quot;Likes&quot; are only a few years old). the field of rating systems is based on &lt;a href=&quot;http://en.wikipedia.org/wiki/Collaborative_filtering&quot; rel=&quot;nofollow&quot;&gt;collaborative filtering&lt;/a&gt; algorithms and is still evolving based on new research and applications.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;so in short, all &lt;em&gt;revolutionary successes transforming daily human experience&lt;/em&gt; actually quite far beyond merely &quot;field goals&quot;. as the title of the question states, all &lt;em&gt;core algorithms deployed&lt;/em&gt;. now so ubiquitous and invisible as to be something like the IT expression, &quot;part of the plumbing&quot;.&lt;/p&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2013-11-16T16:46:01.683" CommentCount="2" CommunityOwnedDate="2013-11-25T22:41:27.287" ContentLicense="CC BY-SA 3.0" />
  <row Id="19837" PostTypeId="2" ParentId="19834" CreationDate="2013-11-16T18:05:54.600" Score="0" Body="&lt;p&gt;This question is similar to the &quot;Computability Theory&quot;. This theory studies the problem of &quot;What problems can be computed by a computing machine?&quot;! Well! We need a model for that machine!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is exactly the case here, from my point of view if I am correct. They did not consider a computational model for quantum computer or maybe they believe, as Prof @Peter Shor pointed out, they do not know all the quantum laws.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To sum it up, the question here is that are all quantum systems computable by a quantum computer?&lt;/p&gt;&#xA;" OwnerUserId="12274" LastActivityDate="2013-11-16T18:05:54.600" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19839" PostTypeId="1" CreationDate="2013-11-16T20:34:52.627" Score="9" ViewCount="570" Body="&lt;p&gt;Being a professional software engineer, i have seen a lot of really interesting technical work, many of it is published as technical articles in technical journals and websites like &lt;a href=&quot;http://www.drdobbs.com&quot; rel=&quot;nofollow&quot;&gt;http://www.drdobbs.com&lt;/a&gt; and &lt;a href=&quot;http://www.codeproject.com&quot; rel=&quot;nofollow&quot;&gt;http://www.codeproject.com&lt;/a&gt; and many others, here is a few examples in some areas of interest:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Algorithm engineering and implementation:&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.codeproject.com/Articles/18113/KD-Tree-Searching-in-N-dimensions-Part-I&quot; rel=&quot;nofollow&quot;&gt;http://www.codeproject.com/Articles/18113/KD-Tree-Searching-in-N-dimensions-Part-I&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.codeproject.com/Articles/9021/Simple-and-fast-Huffman-coding&quot; rel=&quot;nofollow&quot;&gt;http://www.codeproject.com/Articles/9021/Simple-and-fast-Huffman-coding&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.drdobbs.com/cpp/sorting-an-immutable-list/240163397&quot; rel=&quot;nofollow&quot;&gt;http://www.drdobbs.com/cpp/sorting-an-immutable-list/240163397&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.codeproject.com/Articles/33781/Calculate-Percentiles-in-O-1-space-and-O-n-time&quot; rel=&quot;nofollow&quot;&gt;http://www.codeproject.com/Articles/33781/Calculate-Percentiles-in-O-1-space-and-O-n-time&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Data structures:&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.codeproject.com/Articles/43103/SlimList&quot; rel=&quot;nofollow&quot;&gt;http://www.codeproject.com/Articles/43103/SlimList&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.codeproject.com/Articles/2839/C-AVL-Tree-Template&quot; rel=&quot;nofollow&quot;&gt;http://www.codeproject.com/Articles/2839/C-AVL-Tree-Template&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.codeproject.com/Articles/9138/Fast-Binary-Tree-Operations&quot; rel=&quot;nofollow&quot;&gt;http://www.codeproject.com/Articles/9138/Fast-Binary-Tree-Operations&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.codeproject.com/Articles/23198/C-String-Toolkit-StrTk-Tokenizer&quot; rel=&quot;nofollow&quot;&gt;http://www.codeproject.com/Articles/23198/C-String-Toolkit-StrTk-Tokenizer&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.codeproject.com/Articles/11274/Implementing-a-memory-efficient-search-tree-for-a&quot; rel=&quot;nofollow&quot;&gt;http://www.codeproject.com/Articles/11274/Implementing-a-memory-efficient-search-tree-for-a&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Text search:&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.codeproject.com/Articles/198236/Boolean-text-search-queries-and-their-processing&quot; rel=&quot;nofollow&quot;&gt;http://www.codeproject.com/Articles/198236/Boolean-text-search-queries-and-their-processing&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.codeproject.com/Articles/20423/N-gram-and-Fast-Pattern-Extraction-Algorithm&quot; rel=&quot;nofollow&quot;&gt;http://www.codeproject.com/Articles/20423/N-gram-and-Fast-Pattern-Extraction-Algorithm&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Object oriented and generic programming:&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.codeproject.com/Articles/16006/Dynamic-Inheritance&quot; rel=&quot;nofollow&quot;&gt;http://www.codeproject.com/Articles/16006/Dynamic-Inheritance&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.codeproject.com/Articles/19444/Interface-Detection&quot; rel=&quot;nofollow&quot;&gt;http://www.codeproject.com/Articles/19444/Interface-Detection&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.codeproject.com/Articles/20085/Superior-container-classes-Smaller-faster-flexible&quot; rel=&quot;nofollow&quot;&gt;http://www.codeproject.com/Articles/20085/Superior-container-classes-Smaller-faster-flexible&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.drdobbs.com/cpp/theory-versus-practice-the-great-divide/240160938&quot; rel=&quot;nofollow&quot;&gt;http://www.drdobbs.com/cpp/theory-versus-practice-the-great-divide/240160938&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Database optimization:&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.codeproject.com/Articles/25728/Database-Virtual-Cursor&quot; rel=&quot;nofollow&quot;&gt;http://www.codeproject.com/Articles/25728/Database-Virtual-Cursor&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Real time processing:&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.codeproject.com/Articles/224733/Shared-Queue&quot; rel=&quot;nofollow&quot;&gt;http://www.codeproject.com/Articles/224733/Shared-Queue&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;This level of work is considered highly innovative from the technical/engineering point of view.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;I wonder if any technical work can be considered an academic achievement and can be deployed in research papers as well as technical articles.&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;In other words:&#xA;When can a technical article be published as a research paper, in which areas? any examples?&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks&lt;/p&gt;&#xA;" OwnerUserId="7383" LastEditorUserId="2367" LastEditDate="2015-01-11T13:26:15.170" LastActivityDate="2015-01-11T13:26:15.170" Title="Technical article vs. research paper" Tags="&lt;soft-question&gt;&lt;research-practice&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="19842" PostTypeId="1" CreationDate="2013-11-17T16:37:42.867" Score="1" ViewCount="45" Body="&lt;p&gt;I am currently working on some computational geometry problems with non-euclidean metrics, and have some trouble on a fact that sounds easy enough, at least intuitively.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The fact is as follows:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a line segment and two points p,q in the plane, which conditions need to hold such that the point on the segment that is closest to p,q (i.e., sum of the distances to p and q) is one of the extreme points of the segment?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is easy enough if the metric is l1 (Manhattan) and the segment is horizontal (or vertical). In this case, it is sufficient that at least one among p and q is outside the vertical &quot;stripe&quot; defined by the extreme points of the segment.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The metrics I am most interested in are fixed orientation metrics. I guess that something similar to what happens for l1 would be true also for fixed-orientations, but I am not sure where to start for proving it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am reading through the papers of &lt;a href=&quot;http://epubs.siam.org/doi/abs/10.1137/0216049&quot; rel=&quot;nofollow&quot;&gt;Widmayer&lt;/a&gt;, &lt;a href=&quot;http://ieeexplore.ieee.org/xpl/login.jsp?tp=&amp;amp;arnumber=159995&amp;amp;url=http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=159995&quot; rel=&quot;nofollow&quot;&gt;Sarrafzadeh&lt;/a&gt;, and others trying to get the hang of it. I was hoping some of you could refer me to other readings.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is probably not the right place to ask, since it is more related to topology rather than computer science. However, being a computer scientist myself, I would find it more comfortable to read something written by a computer scientist.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks for your help!&lt;/p&gt;&#xA;" OwnerUserId="19549" LastEditorUserId="19549" LastEditDate="2013-11-21T23:35:23.760" LastActivityDate="2013-11-21T23:35:23.760" Title="Fixed orientation metrics" Tags="&lt;cg.comp-geom&gt;&lt;metrics&gt;&lt;metric-spaces&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19843" PostTypeId="1" CreationDate="2013-11-17T17:25:45.230" Score="2" ViewCount="159" Body="&lt;p&gt;Let us allow path to have same vertexes in it. (defining)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So suppose we have a graph of $N$ vertexes and we want to separate it into some superposition of paths that have $N$ vertexes (so if the number of vertexes is $N$, there would be like $N^N$ paths.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is this possible? If it is, how can this be done?&lt;/p&gt;&#xA;" OwnerUserId="19550" LastActivityDate="2013-11-19T22:04:53.110" Title="Quantum algorithm of graphs: How to create superposition of paths?" Tags="&lt;cc.complexity-theory&gt;&lt;quantum-computing&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="19845" PostTypeId="1" AcceptedAnswerId="19867" CreationDate="2013-11-14T16:18:36.653" Score="24" ViewCount="1137" Body="&lt;p&gt;(This question is a bit of a &amp;quot;survey&amp;quot;.)&lt;/p&gt;&#xA;&lt;p&gt;I'm currently working on a problem where I'm trying to partition the edges of a tournament into two sets, both of which are required to fulfill some structural properties. The problem &amp;quot;feels&amp;quot; quite hard, and I fully expect it to be &lt;span class=&quot;math-container&quot;&gt;$\mathcal{NP}$&lt;/span&gt;-complete. For some reason I'm having a hard time even finding similar problems in literature.&lt;/p&gt;&#xA;&lt;p&gt;An example of a problem that I would consider comparable to the one I'm dealing with:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Given a weighted tournament &lt;span class=&quot;math-container&quot;&gt;$G = (V,E,w)$&lt;/span&gt;, is there a feedback arc set in &lt;span class=&quot;math-container&quot;&gt;$G$&lt;/span&gt; the edges of which fulfill the triangle inequality?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Note the difference to the traditional feedback arc set (DFAS) problem: I don't care about the size of the set, but I do care whether the set itself has a certain structural property.&lt;/p&gt;&#xA;&lt;p&gt;Have you encountered any decision problems that feel similar to this? Do you remember whether they were &lt;span class=&quot;math-container&quot;&gt;$\mathcal{NP}$&lt;/span&gt;-complete or in &lt;span class=&quot;math-container&quot;&gt;$\mathcal{P}$&lt;/span&gt;? Any and all help appreciated.&lt;/p&gt;&#xA;" OwnerUserId="8871" OwnerDisplayName="G. Bach" LastEditorUserId="46469" LastEditDate="2021-01-01T14:31:37.020" LastActivityDate="2021-01-01T14:31:37.020" Title="NP complete graph problems about structural properties" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;graph-theory&gt;&lt;np-complete&gt;&lt;survey&gt;" AnswerCount="3" CommentCount="5" FavoriteCount="3" ContentLicense="CC BY-SA 4.0" />
  <row Id="19846" PostTypeId="1" CreationDate="2013-11-17T19:27:42.520" Score="0" ViewCount="407" Body="&lt;p&gt;I have implemented the nearest neighbor heuristic for solving symmetric TSP problems.&#xA;I was wondering if there is any relation between the solution found by the heuristic and the optimal solution? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can we state theoretically how much higher the route length is in a worst case scenario?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Same question for simulated annealing, tabu-search and 2-opt search.&lt;/p&gt;&#xA;" OwnerUserId="19553" LastEditorUserId="19553" LastEditDate="2013-11-17T19:37:31.107" LastActivityDate="2013-11-17T19:37:31.107" Title="Worst case of heuristics for symmetric TSP" Tags="&lt;tsp&gt;&lt;greedy-algorithms&gt;" AnswerCount="0" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="19847" PostTypeId="2" ParentId="19746" CreationDate="2013-11-17T22:17:02.217" Score="13" Body="&lt;p&gt;Your confusion appears to be over the fact that $\mathsf{NP}$ problems have more than one way to define a &quot;solution&quot; (or witness). The type of the solution is not part of the definition of the problem. For instance, for graph coloring, the obvious type of solution is an assignment of one color for each vertex (using at most the required number of colors); however, by the &lt;a href=&quot;https://en.wikipedia.org/wiki/Gallai%E2%80%93Hasse%E2%80%93Roy%E2%80%93Vitaver_theorem&quot;&gt;Gallai–Hasse–Roy–Vitaver theorem&lt;/a&gt; another type of solution that works equally well is an assignment of an orientation to each edge (creating directed paths of at most the required number of vertices). These two types of solutions can both be checked in polynomial time, but by different algorithms, and they also have different combinatorial properties. For instance, for a typical problem instance, the number of vertex color assignments will be different from the number of edge orientations. A lot of research on speeding up exponential algorithms for NP type problems can be interpreted as finding a new family of solutions to the same problem that has fewer possibilities to check.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Every problem in $\mathsf{P}$ has an $\mathsf{NP}$ &quot;solution&quot; consisting only of the empty string. To verify that this is a solution, just check that the solution string is empty and then run the polynomial time algorithm for the problem instance. With this type of solution, every yes instance has exactly one valid solution and every no instance has zero, meeting the definition of $\mathsf{UP}$ and showing that $\mathsf{P}\subset\mathsf{UP}$. If $\mathsf{P}=\mathsf{NP}$ then the same empty-string solution would also work for every problem in $\mathsf{NP}$, showing that $\mathsf{NP}=\mathsf{UP}$. So there is no contradiction between the fact that the empty-string solution is unique and the fact that some other type of solution for the same problem is non-unique.&lt;/p&gt;&#xA;" OwnerUserId="95" LastEditorUserId="95" LastEditDate="2013-11-19T00:59:38.107" LastActivityDate="2013-11-19T00:59:38.107" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="19848" PostTypeId="1" CreationDate="2013-11-17T22:41:26.970" Score="4" ViewCount="251" Body="&lt;p&gt;I'm looking into the Undirected Vertex Disjoint Paths problem:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Given a list of tuples of vertices (s_i, t_i)&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;Find simple, pairwise disjoint paths P_{s_0,t_0}, P_{s_1,t_1}, ... that connects the given vertices. If they exist.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I'm in particular interesting in implementing a solution to this this for grid meshes. A situation that comes up in many pen+paper puzzles. I know this will be NP hard in the list of tuples, but hopefully not in the size of the graph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I know about the Robertson-Seymour theorem, and its complications. However I'm wondering if the required minors might be well known for say planar graphs or meshes?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I also found mentions that Schrijver has made a more approachable polynomial algorithm, but I haven't been able to find mentions of complexity in terms of implementation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can anyone point me in a good direction?&#xA;I'd be interested even in solutions for just two pairs. &lt;/p&gt;&#xA;" OwnerUserId="4310" LastEditorUserId="80" LastEditDate="2014-02-27T16:49:01.583" LastActivityDate="2014-02-27T16:49:01.583" Title="Implementations of Undirected Disjoint Paths" Tags="&lt;graph-algorithms&gt;&lt;implementation&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19849" PostTypeId="2" ParentId="19832" CreationDate="2013-11-18T00:09:49.783" Score="2" Body="&lt;p&gt;Here is an approach that will work for some polynomials, but is not guaranteed to work for all of them.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is guaranteed to work for all multilinear quadratic polynomials.  It is also guaranteed to work if there is any variable $x$ such that $p(\cdots,x,\cdots)$ does not contain a $x^2$ term.  However, for polynomials of the form $p(x,\cdots,z) = c_x \cdot x^2 + \cdots + c_z \cdot z^2 + p'(x,\cdots,z)$ where $p'$ is a multilinear quadratic polynomial (i.e., polynomials where every variable appears squared), I am only able to present a heuristic.  The heuristic might often work OK in practice, but I have no proof.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(I feel like there must be a cleaner solution lurking here somewhere....)&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Let $\mathbb{F}$ be a field.  Suppose $p(x,y,z,\cdots) \in \mathbb{F}[x,y,z,\cdots]$ is a multivariate quadratic polynomial with coefficients in the field $\mathbb{F}$.  Factor out factors of $x$, to get&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$p(x,y,z,\cdots) = c \cdot x^2 + q(y,z,\cdots) \cdot x + r(y,z,\cdots).$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Notice that $q$ must be linear/affine, $r$ must be quadratic, and $c$ must be a constant ($c \in \mathbb{F}$).  We want to find an assignment of values to $x,y,z,\cdots$ that makes&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$c \cdot x^2 + q(y,z,\cdots) \cdot x + r(y,z,\cdots) = 0.$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now let $\Delta$ denote the discriminant of this quadratic equation (in $x$), i.e.,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\Delta(y,z,\cdots) = q(y,z,\cdots)^2 - 4c \cdot r(y,z,\cdots).$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The original polynomial is satisfiable if and only if you can find an assignment of values to $y,z,\cdots$ that makes $\Delta(y,z,\cdots)$ be a square (i.e., a quadratic residue) in $\mathbb{F}$.  Notice that $\Delta(y,z,\cdots)$ is itself a multivariate quadratic polynomial (since $q$ is affine and $r$ is quadratic).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;At the point, our solution approach is going to branch, based upon whether $c=0$ (an easy case) or $c\ne 0$ (the harder case).&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;If $c=0$, solving this equation is easy: it is basically just a linear equation (it is linear in $x$, once you fix all the other variables).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As a result, there is a special class of polynomials where this problem is especially easy to solve: any polynomial $p$ where there exists a variable -- for simplicity, we will call it $x$ -- such that $x^2$ does not appear in $p$.  For that class, you will have $c=0$ above, and then the following algorithm suffices to solve the problem:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Check whether $q$ has any assignment of values to $y,z,\cdots$ that makes $q(y,z,\cdots) \ne 0$.  Since $q$ is linear, this is easy to check.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;If yes, then choose any such assignment of values to $y,z,\cdots$.  Next, set $x = - r(y,z,\cdots) q(y,z,\cdots)^{-1}$.  By definition, $q(y,z,\cdots) \ne 0$, so $q(y,z,\cdots)$ has an inverse (since we're working in a field), so such a value of $x$ exists.  This immediately yields an assignment of values to $x,y,z,\cdots$ that makes $p$ zero, and we're done.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;If no, then we know $p(x,y,z,\cdots) = r(y,z,\cdots)$ for all possible assignments of values to the variables of $p$.  Effectively, $p$ never depended on $x$ in the first place, so it was a mistake to think of it as a function of $x$.  Or, put another way, we have eliminated one variable from $p$, and we get a new instance of the original problem.  Recursively apply our methods to $r(y,z,\cdots)$.  Exception: if $p$ was a function of a single variable (i.e., $p(x)$), then in this case you can conclude that $p$ is not satisfiable (it is identically zero for all possible values of its variables).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;This algorithm handles the easy case: namely, polynomials where there exists at least one variable $x$ that appears in $p$ but where $x^2$ does not appear in $p$.  For this case, the algorithm runs in polynomial time and determines whether there exists an assignment of values to the variables that makes the polynomial equal to zero.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Now back to the hard case.  If it doesn't fall into the easy case, then we must have &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$p(x,\cdots,z) = c_x \cdot x^2 + \cdots + c_z \cdot z^2 + p'(x,\cdots,z).$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where $p'(x,\cdots,z)$ has no squared-terms (it is multilinear).  Let's look at what methods we can use for this case.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Well, here's one situation where we can solve this.  Suppose there exist a pair of variables $x,y$ such that $-c_x/c_y$ is a square (a quadratic residue) in $\mathbb{F}$, say, $-c_x/c_y=\alpha^2$.  Then we can apply the change of variables $y' = y+\alpha x$.  Conveniently, we have&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$(y')^2 = (y+\alpha x)^2 = y^2 + 2\alpha \cdot xy + \alpha^2 \cdot x^2 = y^2 + 2\alpha cdot xy - c_x/c_y \cdot x^2.$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Plugging this change of variables into $p$, we get&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$p(x,y',\cdots) = c_x \cdot x^2 + c_y \cdot y^2 + 2\alpha c_y \cdot xy - c_y \cdot (c_x/c_y) \cdot x^2 + \dots,$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;i.e.,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$p(x,y',\cdots) = c_y \cdot y^2 + 2\alpha c_y \cdot xy + \dots$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where the omitted part does not contain a $x^2$ term (since the $c_x \cdot x^2$ and $\alpha^2 c_y \cdot x^2$ terms cancel).  Effectively, we have eliminated the $x^2$ term, so now we can apply the method above to $p(x,y',\cdots)$.  Notice that $p(x,y',\cdots)=0$ is satisfiable if and only if $p(x,y,\cdots)=0$ is.  When we find a solution that makes this zero, we can back-solve for $y$, and we obtain an assignment to $x,y,z,\cdots$ that makes $p(x,y,z,\cdots)=0$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is it possible that no pair of variables allows us to eliminate a squared-term?  If $-1$ is a quadratic residue (a square) in $\mathbb{F}$, and if we have at least 3 variables, then that is not possible: $-c_x/c_z = (-1) \times (-c_x/c_y) \times (-c_y/c_z)$, and since the product of a quadratic non-residue and a quadratic non-residue is a quadratic residue, we are guaranteed that at least one of $-c_x/c_z$, $-c_y/c_z$, or $-c_x/c_z$ is a quadratic residue so at least one of the squared terms can be cancelled.  However, if $-1$ is a quadratic non-residue, or we have only 1 or 2 variables, then it might not be possible to eliminate a squared-term.  That's the remaining difficult case.  (The situation with only 1 or 2 variables is not difficult to handle, so really the difficult case is where $-1$ is a quadratic non-residue, and where each variable appears squared in $p$.)  I have no general solution for this difficult case.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;However, I can suggest a heuristic that may often work, even for this difficult case.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In any field $\mathbb{F}$, approximately half of all field elements are squares (quadratic residues); if you pick a random field element, it will be a square with probability about $1/2$.  Therefore, if we pick values for $y,z,\ldots$ randomly, we can predict that (heuristically) $\Delta(y,z,\cdots)$ should be a square with probability $1/2$, if $\Delta(y,z,\cdots)$ acts like a random function.  This suggests the following heuristic algorithm:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Randomly pick a variable to eliminate, say $x$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Pick values for $y,z,\ldots$ randomly.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;If $\Delta(y,z,\cdots)$ is a square in $\mathbb{F}$, then the equation $p(x,y,z,\cdots)=0$ has a solution for $x$, namely $x=(-q(y,z,\cdots) \pm \sqrt{\Delta(y,z,\cdots)})/(2c)$ (assuming $\mathbb{F}$ does not have characteristic 2).  This gives us an assignment to the variables $x,y,z,\ldots$ that makes $p(x,y,z,\cdots)=0$, so we're done.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;If $\Delta(y,z,\cdots)$ is not a square, go back to step 1.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;If after many steps, you do not find any solution, then you might guess that the equation is unsatisfiable (but this is a heuristic, so your guess could be wrong).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This algorithm might work well for many of the remaining difficult polynomials, but I have no proof that it will always work.  In particular, there is a risk that all the possible discriminant polynomials $\Delta(\cdots)$ might have the property that their values are always non-squares (quadratic non-residues), in which case the algorithm above will fail.&lt;/p&gt;&#xA;" OwnerUserId="5038" LastEditorUserId="5038" LastEditDate="2013-11-18T07:27:58.017" LastActivityDate="2013-11-18T07:27:58.017" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="19854" PostTypeId="1" CreationDate="2013-11-18T15:10:38.943" Score="7" ViewCount="1918" Body="&lt;p&gt;I am interested in exact scaling of the ellipsoid method and interior point methods for solving SDPs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(I am not interested in algorithms like multiplicative weights updates method.)&lt;/p&gt;&#xA;" OwnerUserId="19570" LastEditorUserId="4896" LastEditDate="2013-12-20T06:42:35.543" LastActivityDate="2013-12-20T06:42:35.543" Title="Time complexity of standard semidefinite programming solvers" Tags="&lt;ds.algorithms&gt;&lt;convex-optimization&gt;&lt;semidefinite-programming&gt;" AnswerCount="0" CommentCount="4" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="19855" PostTypeId="2" ParentId="19848" CreationDate="2013-11-18T16:15:01.877" Score="2" Body="&lt;p&gt;If you want an implementation, Sage has one. With a LP, as usual ;-)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.sagemath.org/doc/reference/graphs/sage/graphs/generic_graph.html#sage.graphs.generic_graph.GenericGraph.disjoint_routed_paths&quot; rel=&quot;nofollow&quot;&gt;http://www.sagemath.org/doc/reference/graphs/sage/graphs/generic_graph.html#sage.graphs.generic_graph.GenericGraph.disjoint_routed_paths&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Nathann&lt;/p&gt;&#xA;" OwnerUserId="1209" LastActivityDate="2013-11-18T16:15:01.877" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="19856" PostTypeId="1" CreationDate="2013-11-18T16:53:50.823" Score="3" ViewCount="140" Body="&lt;p&gt;I have a problem that I can model as a minimum cost network flow. The only problem is that I need to be able to set the flow through some arcs to be either 0 or at least 5. That is, the arc cannot carry an integer flow of 1 through 4, but is otherwise okay. Can anyone point me in the direction of any pre-existing work on a problem like this?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thank you!&lt;/p&gt;&#xA;" OwnerUserId="17912" LastEditorUserId="612" LastEditDate="2013-11-19T18:56:57.387" LastActivityDate="2013-11-19T20:03:20.007" Title="Network Flow with Non-contiguous Capacities" Tags="&lt;max-flow&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19857" PostTypeId="2" ParentId="19834" CreationDate="2013-11-18T20:33:53.877" Score="6" Body="&lt;p&gt;We will never be able to &lt;em&gt;prove&lt;/em&gt; this statement, because we can never be able to know for sure whether we have the exact laws of physics, or just a very good approximation to them. Even if we had a satisfactory theory of everything which we could use to make good predictions about every experimentally measurable physical system, there would be no way to tell whether it was correct or a very good approximation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Having said that, we are still quite far from even coming close to a proof of this statement. For example, we can't even prove that the Standard Model is simulable by a quantum computer. Jordan, Lee, and Preskill have &lt;a href=&quot;http://arxiv.org/abs/1111.3633&quot;&gt;two&lt;/a&gt; &lt;a href=&quot;http://arxiv.org/abs/1112.4833&quot;&gt;papers&lt;/a&gt; showing how to use a quantum computer to simulate a quantum field theory which is much simpler than the Standard Model. This turns out to be harder than it might at first appear. &lt;/p&gt;&#xA;" OwnerUserId="1677" LastEditorUserId="1677" LastEditDate="2013-11-18T20:53:39.650" LastActivityDate="2013-11-18T20:53:39.650" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19858" PostTypeId="2" ParentId="19832" CreationDate="2013-11-18T20:39:07.823" Score="9" Body="&lt;p&gt;You can decide if a quadratic polynomial $p: \mathbb{R}^n \rightarrow \mathbb{R}$ has real roots with some linear algebra. As you note, the general case should be hard.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Observe first that $p(x) \neq 0$ for all $x \in \mathbb{R}^n$ if either $p(x) &amp;gt; 0$ or $p(x) &amp;lt; 0$ for all $x$ (this follows by continuity). So it is enough to be able to decide if $p(x) &amp;gt; 0$ for all $x$. In general this is related to complexity-theoretic versions of Hilbert's 17th problem: a polynomial $p(x)$ is positive over the reals if and only if you can write $p$ as the sum of squares of rational functions and a positive constant $c$ (this is a theorem by Artin). Finding this decomposition or solving the decision problem is most likely hard in general, but the quadratic case is easy, because of the magic of the spectral theorem. For more information about the general case, look at &lt;a href=&quot;http://research.microsoft.com/en-us/um/people/nikdev/pubs/hilbert.pdf&quot; rel=&quot;noreferrer&quot;&gt;Devanur,Lipton,Vishnoi&lt;/a&gt;, and &lt;a href=&quot;http://homepages.cwi.nl/~monique/files/moment-ima-update-new.pdf&quot; rel=&quot;noreferrer&quot;&gt;Monique Laurent's survey&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let us write $p(x) = p_2(x) + p_1(x) + c$ where $p_2$ is homogeneous of degree 2, $p_1$ is linear, and $c$ is a constant. Let us define $q(x_0,x) = p_2(x) + x_0p_1(x) + cx_0^2$ to be the homogenization of $p$, where $x_0$ is an additional variable. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Claim&lt;/strong&gt;. $p(x) &amp;gt; 0 \Leftrightarrow \forall x_0 \neq 0: q(x_0,x) &amp;gt; 0$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The &quot;if&quot; direction is easy. In the non-trivial direction, assume $p(x) &amp;gt; 0$ for all $x$ and assume $x_0 \neq 0$:&#xA;$$&#xA;q(x_0,x) = x_0^2q\left(1,\frac{x}{x_0}\right) = x_0^2 p\left(\frac{x}{x_0}\right) &amp;gt; 0.&#xA;$$&#xA;QED&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Notice also that, because $q(x_0, x)$ is continuous, if $p(x) &amp;gt; 0$ for all $x$ then $q(x_0,x) \geq 0$ for all $(x_0,x)$ (including $x_0 = 0$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since $q$ is homogeneous, we can write $q(x_0,x) = y^TQy$, where $Q$ is a symmetric matrix and $y = (x_0,x)$. By the above, if $p(x) &amp;gt; 0$ for all $x$, then $Q$ is positive semidefinite. Moreover, $q(x_0, x) &amp;gt; 0$ for all $x_0 \neq 0$ if and only if the kernel of $Q$ is a subset of the hyperplane $\{y = (0,x): x \in \mathbb{R}^n\}$. Both these conditions can be decided in polynomial time by computing the SVD of $Q$.&lt;/p&gt;&#xA;" OwnerUserId="4896" LastEditorUserId="4896" LastEditDate="2013-11-19T23:05:16.907" LastActivityDate="2013-11-19T23:05:16.907" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="19860" PostTypeId="1" AcceptedAnswerId="19880" CreationDate="2013-11-19T00:59:26.587" Score="3" ViewCount="156" Body="&lt;p&gt;I am interested in range searching purely as a black box in another problem. One problem in particular is that of shooting 2D rays among 2D segments. It seems that Agarwal and Matousek have a well known method for doing this in [1] which requires $O(m^{1 + \epsilon})$ time preprocessing and space to answer ray shooting queries for any fixed positive $\epsilon$. It is not clear to me yet (having read the introduction and conclusion of the paper and skimmed the rest), whether this $\epsilon$ arises due to randomization, approximation, or something else. As I said I only need this as a black box and am somewhat trying to avoid becoming an expert in range searching just to know the answer, and since my initial skimming of the paper didn't produce results I decided to ask it here: which of these three is the algorithm: deterministic, approximate, or randomized? If not deterministic, what is the best that can be done deterministically? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] Agarwal P. K, Matousek, J. Ray shooting and parametric search. STOC '92 Proc. of the 24th annual ACM symp. on Theory of computing. Pages 517-526 &lt;/p&gt;&#xA;" OwnerUserId="17504" LastEditorUserId="17504" LastEditDate="2013-11-19T01:05:07.767" LastActivityDate="2013-11-20T09:23:44.253" Title="Range searching: what is $\epsilon$?" Tags="&lt;cg.comp-geom&gt;&lt;range-searching&gt;&lt;computational-geometry&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="19861" PostTypeId="2" ParentId="19845" CreationDate="2013-11-19T03:34:48.177" Score="4" Body="&lt;p&gt;An $NP$-complete structural problem is to decide the existence of odd (even) hole in directed graphs. Anna Lubiw proved the &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/0166218X88901254&quot; rel=&quot;nofollow&quot;&gt;$NP$-completeness&lt;/a&gt; of the above two problems.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A hole is chordless cycle of length greater than three. A cycle in directed graph is chordless if its length is greater than 3 and no two of its vertices are joined by an&#xA;edge of the directed graph which does not belong to the cycle.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As for undirected graph, testing for the existence of odd hole passing through a given vertex is &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/0012365X9190098M&quot; rel=&quot;nofollow&quot;&gt;$NP$-complete&lt;/a&gt;. Specifically, the problem is to decide whether a graph contains an induced odd cycle of length greater than three, passing through a prescribed vertex. (Odd hole in a graph is an induced cycle of length at least five). However, the complexity of deciding the existence of odd hole is a long standing open problem (if we drop the requirement of passing through a given vertex). In contrast, the task of finding an even hole in a graph is in $P$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The structural property of the cycle is the property of being chordless. In directed graph, this is enough for NP hardness (in addition to parity requirement) while in undirected graphs odd parity of the chordless cycle is required for $NP$-completeness.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The importance of detecting odd-hole structure in graphs is highlighted by the recent breakthrough of the &lt;a href=&quot;http://en.wikipedia.org/wiki/Strong_perfect_graph_theorem&quot; rel=&quot;nofollow&quot;&gt;Strong Perfect Graph Theorem&lt;/a&gt;. It shows that a graph is&#xA;&lt;a href=&quot;http://en.wikipedia.org/wiki/Perfect_graph&quot; rel=&quot;nofollow&quot;&gt;perfect&lt;/a&gt; if and only if neither it nor its complementary graph has an odd hole.&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2013-11-19T12:17:56.477" LastActivityDate="2013-11-19T12:17:56.477" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="19863" PostTypeId="2" ParentId="19779" CreationDate="2013-11-19T09:07:55.997" Score="0" Body="&lt;p&gt;&lt;strong&gt;Answer from Coding theory&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In case you are looking for bi-partite graphs, &lt;a href=&quot;http://en.wikipedia.org/wiki/Tanner_graph&quot; rel=&quot;nofollow&quot;&gt;Tanner graphs&lt;/a&gt; for &lt;a href=&quot;http://en.wikipedia.org/wiki/Low-density_parity-check_code&quot; rel=&quot;nofollow&quot;&gt;LDPC codes&lt;/a&gt; gives you $O(n)$ vertices with $O(n)$ edges. Lot of research has been done in this area of coding theory, therefore, you will be able to find various modifications of tanner graphs which might suit your need.&lt;/p&gt;&#xA;" OwnerUserId="16261" LastActivityDate="2013-11-19T09:07:55.997" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19866" PostTypeId="2" ParentId="19845" CreationDate="2013-11-19T14:38:16.350" Score="4" Body="&lt;p&gt;Another example is the efficient dominating set problem also known as 1-perfect code in graphs. The problem is to determine the existence of a dominating set $C$ in undirected graph such that the shortest path between any two nodes in the dominating set $C$ is at least 3 (edges). The problem was proven to be $NP$-complete independently by many researchers. The problem remains $NP$-complete even for cubic planar graphs. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;D. W. Bange, A. E. Barkauskas, and P. J. Slater. &lt;a href=&quot;http://books.google.com.sa/books?id=zgHVZdBAezYC&amp;amp;pg=PA189&amp;amp;lpg=PA189&amp;amp;dq=efficient+dominating+sets+in+graphs+bange&amp;amp;source=bl&amp;amp;ots=IU4uL9pxUN&amp;amp;sig=woTBH0AMz2i2X1f4lDAxLh355hU&amp;amp;hl=en&amp;amp;sa=X&amp;amp;ei=h4SLUsaIBqG57AaljoDYDg&amp;amp;safe=on&amp;amp;redir_esc=y#v=onepage&amp;amp;q=efficient%20dominating%20sets%20in%20graphs%20bange&amp;amp;f=false&quot; rel=&quot;nofollow&quot;&gt;Efficient dominating sets in graphs&lt;/a&gt;. Applications of discrete mathematics, Proc. 3rd SIAM Conf., Clemson/South Carolina 1986, 189-199 (1988)., 1988.&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2013-11-19T15:31:40.030" LastActivityDate="2013-11-19T15:31:40.030" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="19867" PostTypeId="2" ParentId="19845" CreationDate="2013-11-19T15:01:28.497" Score="21" Body="&lt;p&gt;I think there are lot of similar problems. Here are two in vertex version and one in edge version:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) Does a given graph have an &lt;strong&gt;independent&lt;/strong&gt; feedback vertex set? (we don't care about the size of the set). &#xA;This problem is NP-complete; the proof can be derived from the proof of Theorem 2.1 in &#xA;&lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/0304397576900591#&quot;&gt;Garey, Johnson &amp;amp; Stockmeyer&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) Does a given graph have a vertex cover &lt;strong&gt;that induces a tree&lt;/strong&gt;? (we don't care about the size of the set). &#xA;This &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0166218X98001164&quot;&gt;paper&lt;/a&gt; &#xA;gives an NP-completeness proof for this problem (Theorem 2); even for bipartite graphs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;3) Does a given graph have a dominating edge set &lt;strong&gt;the edges of which form an induced $1$-regular subgraph&lt;/strong&gt;? &#xA;(also known as dominating induced matching or efficient edge dominating; the vertex version is given in the &#xA;second answer by Mohammad. &#xA;Again, we don't care about the size of the set). &#xA;This problem is NP-complete (well-known, first proved &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/002001909390084M&quot;&gt;here&lt;/a&gt;), even for planar bipartite graphs. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The first two problems are particular examples of the problem class called stable-$\pi$: &#xA;Let $\pi$ be a graph property. Does a given graph have a vertex cover satisfying $\pi$? &#xA;More NP-complete cases as well as polynomially solvable cases can be found in &#xA;&lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0166218X98001164&quot;&gt;this&lt;/a&gt; &#xA;and in &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0166218X13003119&quot;&gt;this&lt;/a&gt; paper &#xA;(and the refs given there) .&lt;/p&gt;&#xA;" OwnerUserId="6706" LastEditorUserId="6706" LastEditDate="2013-11-19T18:05:24.623" LastActivityDate="2013-11-19T18:05:24.623" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="19869" PostTypeId="1" AcceptedAnswerId="19871" CreationDate="2013-11-19T16:28:12.690" Score="3" ViewCount="322" Body="&lt;p&gt;I am now considering about studying functional programming from the viewpoint of category theory. There are a lot of books about functional programming and category theory, I want some suggestions regarding some comprehensive books and reference materials (like online notes, courses etc)that would contain category theory viewpoint rather than plain functional programming. I have a solid background in Abstract Algebra,commutative algebra, functional programming and bit of category theory too.&lt;/p&gt;&#xA;" OwnerUserId="19582" LastActivityDate="2013-11-19T17:47:44.110" Title="Learning road map for functional programming from the viewpoint of category theory" Tags="&lt;reference-request&gt;&lt;functional-programming&gt;&lt;advice-request&gt;&lt;ct.category-theory&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19870" PostTypeId="1" CreationDate="2013-11-19T17:02:33.157" Score="4" ViewCount="203" Body="&lt;p&gt;In the quantum adiabatic algorithm, one prepares the ground state of a Hamiltonian $H_{i}$, and then evolves the Hamiltonian slowly over time to a target Hamiltonian $H_{f}$ via the interpolation $H(s)=(1-s)H_{i}+sH_{f}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $\Delta(s)$ denote the gap between the two smallest eigenvalues of $H(s)$. The Adiabatic Theorem states that if $s$ changes at a rate proportional to $\frac{1}{\Delta(s)^2}$, then the system will remain in the ground state of $H(s)$ at all times with high probability. Thus proving a lower bound on $\Delta(s)$ implies an upper bound on the runtime of the adiabatic algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What proof techniques are know to place lower bounds on the size of the spectral gap $\Delta(s)$?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I'm aware of two results in this area:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;In some cases the gap can be found analytically, as is the case for adiabatic Grover search. Reference: &lt;a href=&quot;http://arxiv.org/abs/quant-ph/0206003&quot; rel=&quot;nofollow&quot;&gt;http://arxiv.org/abs/quant-ph/0206003&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;In some cases the gap can be be bounded using results from the mixing times of Markov chains, as is the case when preparing the Kitaev clock state for a poly-size quantum circuit. Reference: &lt;a href=&quot;http://arxiv.org/abs/quant-ph/0405098&quot; rel=&quot;nofollow&quot;&gt;http://arxiv.org/abs/quant-ph/0405098&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I'd appreciate pointers to any other results in this area. &lt;/p&gt;&#xA;" OwnerUserId="13754" LastEditorUserId="13754" LastEditDate="2013-11-19T17:24:34.380" LastActivityDate="2013-12-21T19:03:51.310" Title="Techniques for lower bounding spectral gaps in the quantum adiabatic algorithm" Tags="&lt;reference-request&gt;&lt;quantum-computing&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="19871" PostTypeId="2" ParentId="19869" CreationDate="2013-11-19T17:34:02.843" Score="2" Body="&lt;p&gt;There's no agreed upon &quot;bible&quot; for CT for computer science in the same way as for mathematicians (&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0387984038&quot; rel=&quot;nofollow&quot;&gt;Mac Lane&lt;/a&gt;), probably because the field is younger and a bit broader. It really depends on whether you want to understand . Here are a few computer science concepts with category theory counterparts:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Simple types (which correspond to &lt;a href=&quot;http://en.wikipedia.org/wiki/Cartesian_closed_category&quot; rel=&quot;nofollow&quot;&gt;Cartesian Closed Categories&lt;/a&gt;)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;dependent types (&lt;a href=&quot;http://ncatlab.org/nlab/show/locally+cartesian+closed+category&quot; rel=&quot;nofollow&quot;&gt;Locally Cartesian Closed Categories&lt;/a&gt;)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Abstract data types (categorical algebras, coalgebras, as described in e.g. &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.174.8390&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;nofollow&quot;&gt;Uustalu &amp;amp; Vene&lt;/a&gt;)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Programing with effects (Monads, monoidal categories, building on the foundational observations of &lt;a href=&quot;http://www.cs.cmu.edu/~crary/819-f09/Moggi91.pdf&quot; rel=&quot;nofollow&quot;&gt;Moggi&lt;/a&gt;)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Ressource aware programing (Closed Monoidal Categories (?))&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;CPS translations can be interpreted through the lens of the &lt;a href=&quot;http://en.wikipedia.org/wiki/Yoneda_lemma&quot; rel=&quot;nofollow&quot;&gt;Yoneda lemma&lt;/a&gt; (see &lt;a href=&quot;http://golem.ph.utexas.edu/category/2008/01/the_continuation_passing_trans.html&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt; for a brief explanation)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I'm missing a few, there are applications of category theory from everything to domain theory to database management.&lt;/p&gt;&#xA;" OwnerUserId="3984" LastEditorUserId="3984" LastEditDate="2013-11-19T17:47:44.110" LastActivityDate="2013-11-19T17:47:44.110" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19872" PostTypeId="2" ParentId="19829" CreationDate="2013-11-19T18:03:19.513" Score="7" Body="&lt;p&gt;[Since I could not edit my comment, I repost it here as an answer] &lt;/p&gt;&#xA;&#xA;&lt;p&gt;To determine if a quadratic program (QP) has multiple solutions (so you have to answer &quot;Yes&quot; if the QP has more than one solutions, and &quot;No&quot; if it has one or no solution) can be shown to be NP-complete by modifying the proof on NP-completeness of QP here &lt;a href=&quot;http://link.springer.com/article/10.1007%2FBF00120662&quot;&gt;http://link.springer.com/article/10.1007%2FBF00120662&lt;/a&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The proof uses a reduction from k-clique to a QP. Now, add a free variable to the QP, so that it has one solution iff it have multiple ones. Thus, the answer to the problem if QP has multiple solutions or not gives the answer to the question if a graph has a clique of size k or not.&lt;/p&gt;&#xA;" OwnerUserId="6059" LastActivityDate="2013-11-19T18:03:19.513" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19874" PostTypeId="2" ParentId="19856" CreationDate="2013-11-19T20:03:20.007" Score="1" Body="&lt;p&gt;I think this is NP-complete, here I try to give a reduction from 1-in-3-SAT, where we want every clause to contain exactly one true literal. Suppose we are given a 3-CNF with $n$ variables and $m$ clauses, from this we construct a DAG.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The first level consists of the source $s$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;From here you have an edge of capacity $m$ to $v_i$ for each variable $x_i$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The third level has vertices of the form $x_i$ and $\bar x_i$, with an edge of capacity $0$ or at least $m$ from the corresponding $v_i$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the fourth level, there is a vertex $c_j$ for every clause with an edge of capacity $0$ or at least $1$ from its literals. We also have an extra vertex, $w$ with edges of capacity $m$ from every literal vertex.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, on the fifth level we have the target, $t$ with an edge of capacity $1$ from each $c_j$ and an edge of capacity $mn-m$ from $w$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In this graph you have a flow of size $mn$ if and only if there is a 1-in-3-SAT assignment.&lt;/p&gt;&#xA;" OwnerUserId="419" LastActivityDate="2013-11-19T20:03:20.007" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19875" PostTypeId="1" AcceptedAnswerId="19910" CreationDate="2013-11-19T20:33:28.060" Score="16" ViewCount="770" Body="&lt;p&gt;Gowers has &lt;a href=&quot;http://gowers.wordpress.com/2013/11/03/dbd1-initial-post/&quot;&gt;recently outlined&lt;/a&gt; a problem, which he calls &quot;discretized Borel determinacy,&quot; whose solution is related to proving circuit lower bounds.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Can you provide a summary of the approach that is tailored to an audience of complexity theorists?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;What would it take for this approach to prove &lt;em&gt;anything&lt;/em&gt;, including re-proving known lower bounds?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="259" LastActivityDate="2013-11-23T18:17:02.570" Title="Gowers &quot;discretized Borel determinacy&quot; approach" Tags="&lt;cc.complexity-theory&gt;&lt;p-vs-np&gt;" AnswerCount="1" CommentCount="8" FavoriteCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="19878" PostTypeId="2" ParentId="19800" CreationDate="2013-11-20T02:56:49.820" Score="3" Body="&lt;p&gt;Regarding the problem of computing the diameter of a polytope presented as the intersection of halfspaces, the problem is NP-hard in general, and also NP-hard to approximate within any constant factor, see &lt;a href=&quot;http://link.springer.com/article/10.1007/s00454-002-2756-x&quot; rel=&quot;nofollow&quot;&gt;Brieden's paper&lt;/a&gt; and references therein. I think for centrally symmetric polytopes, an SDP gives an $O(\sqrt{\log m})$ approximation where $m$ is the  number of inequalities defining the polytope. I sketch this below the line.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In your case the Birkhoff polytope $P$ is not centrally symmetric, but working with the convex hull of $P$ and $-P$ suffices for your purposes. I &lt;em&gt;think&lt;/em&gt; this &quot;symmetric Birkhoff&quot; polytope can be represented as the set of all square matrices $M$ that satisfy:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;\forall i^*, j^*: \sum_{i}{M_{ij^*}} =  \sum_j{M_{i^*j}} = c&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;\forall i,j: -1 \leq M_{ij} \leq 1&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;-1 \leq c \leq 1&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;If&lt;/em&gt; this is a correct representation (not sure), then you can just add the constraints that restrict this polytope to your given subspace. It is not hard to adapt the SDP below the line to this representation, but I choose not to go through it in order to keep notation managable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am not sure what approximate diameter does for your problem: it probably lets you decide if the given subspace is close to a permutation matrix or far from all of them, but I have not worked out the calculations. &lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Let me finish with a sketch of the SDP rounding (which is fairly standard fare). Let $P = \{x: -b \leq Ax \leq b\}$ be a centrally symmetric polytope, where $A$ is $m \times n$. Define the vector program:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\alpha^2 = \max \sum_{i = 1}^n{\|v_i\|_2^2}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;subject to:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\forall 1 \leq i \leq m: \|\sum_{j = 1}^n{A_{ij} v_j}\|_2^2 \leq b_i^2$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Above the $v_i$ range over $n$-dimensional vectors. This can be written as an SDP in the standard way and is a relaxation of the diameter of $P$, i.e $\alpha$ is at least the euclidean diameter of $P$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I now claim that $\alpha \leq O(\sqrt{\log m})\cdot \text{diam}(P)$. To show this,  I will give  you an algorithm that, given $(v_i)_{i=1}^n$ of value $\alpha$, outputs $x \in P$ of length at least $\frac{\alpha}{O(\sqrt{\log m})}$. The algorithm is just a random projection: pick a random $n$-dimensional vector $g$ where each $g_i$ is a standard gaussian. Set $\tilde{x}_i = g^T v_i$. By standard properties of gaussians:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;\mathbb{E}\ \|\tilde{x}\|_2^2 = \alpha^2 &#xA;$$&#xA;$$&#xA;\forall i \leq m: \mathbb{E}\ |(A\tilde{x})_i|^2 \leq b_i^2 \ \ \Rightarrow \ \ \mathbb{E}\ \max_{i=1}^m{\frac{|(A\tilde{x})_i|}{b_i}} \leq C\sqrt{\log m}.&#xA;$$&#xA;where the last bound holds for large enough $C$ (this is a standard fact about the maximum of $m$ subguassian random variables, and can be proven using the Chernoff bound). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The two equations already imply there exists an $x$ such that $x \in P$ and $\|x\|_2^2 \geq \frac{1}{C\sqrt{\log m}}\alpha$. Or, using concentration bounds, you can show that with constant probability $\frac{1}{2C\sqrt{\log m}}\tilde{x} \in P$ and $\|\tilde{x}\|_2\geq \frac{1}{2}\alpha$.&lt;/p&gt;&#xA;" OwnerUserId="4896" LastEditorUserId="4896" LastEditDate="2013-11-20T04:21:06.907" LastActivityDate="2013-11-20T04:21:06.907" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19880" PostTypeId="2" ParentId="19860" CreationDate="2013-11-20T09:23:44.253" Score="2" Body="&lt;p&gt;In some of these bounds, the $\varepsilon$ doesn't come from an approximation, but rather from the degree to which you recurse in a partition tree. Roughly speaking, the idea goes like this. Find a small sample of the input objects that form an arrangement so that the remaining objects are &quot;spread out nicely&quot;. In particular, each cell of the arrangement is not intersected by too many of the remaining objects. Then recurse in each piece. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Using things like $(1/r)$-cuttings, you get recurrences that look like&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$ S(n) = r^d( 1 + S(n/r) ) $$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Solving such recurrences gives you bounds like $S(n) = n^{d+\varepsilon}$, where $\varepsilon$ is roughly $1/\log r$. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2013-11-20T09:23:44.253" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19881" PostTypeId="2" ParentId="19815" CreationDate="2013-11-20T10:06:37.620" Score="4" Body="&lt;p&gt;Do not use a single stream of random numbers generated in one thread (or process) and consumed in other threads (or processes). In general, you must instead use several random number streams for your calculations, one for each thread/process. It is extremely important for these streams to be uncorrelated, in order for the pseudorandom numbers to be effective at the desired variance reduction, which is, of course, the point of large Monte Carlo calculations. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;You may want to take advantage of the &lt;a href=&quot;http://sprng.org&quot; rel=&quot;nofollow&quot;&gt;Scalable Parallel Random Number Generators Library&lt;/a&gt; (SPRNG), which is a parallel library (but you may also use it sequentially as well) providing these and other additional properties; it is particularly well suited for parallel Monte Carlo simulations.&lt;/p&gt;&#xA;" OwnerUserId="4208" LastEditorUserId="4208" LastEditDate="2013-11-20T10:14:25.400" LastActivityDate="2013-11-20T10:14:25.400" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="19882" PostTypeId="1" AcceptedAnswerId="19904" CreationDate="2013-11-20T10:22:54.440" Score="5" ViewCount="536" Body="&lt;p&gt;Given a degree &lt;span class=&quot;math-container&quot;&gt;$2k$&lt;/span&gt; reducible polynomial &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$$f(x)=\sum_{i=0}^{2k}a_ix^i\in\Bbb Z[x]$$&lt;/span&gt; &lt;/p&gt;&#xA;&#xA;&lt;p&gt;with &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$$\text{gcd}(a_{2k},\dots,a_0)=1$$&lt;/span&gt; that is known to be of the form &lt;span class=&quot;math-container&quot;&gt;$f_1(x)f_2(x)$&lt;/span&gt; with &lt;span class=&quot;math-container&quot;&gt;$\text{deg}\big(f_i(x)\big)=\frac{\text{deg}(f(x))}{2}=k$&lt;/span&gt; and each &lt;span class=&quot;math-container&quot;&gt;$f_i(x)$&lt;/span&gt; irreducible.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can the &lt;a href=&quot;https://en.wikipedia.org/wiki/Lenstra%E2%80%93Lenstra%E2%80%93Lov%C3%A1sz_lattice_basis_reduction_algorithm&quot; rel=&quot;nofollow noreferrer&quot;&gt;LLL algorithm&lt;/a&gt; be used to factor &lt;span class=&quot;math-container&quot;&gt;$f(x)$&lt;/span&gt; in polynomial time and what is the complexity?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that &lt;span class=&quot;math-container&quot;&gt;$\text{gcd}(a_{2k},\dots,a_0)=1$&lt;/span&gt; makes &lt;span class=&quot;math-container&quot;&gt;$f(x)$&lt;/span&gt; primitive.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://math.stackexchange.com/questions/285649/irreducible-polynomials-in-mathbbzx&quot;&gt;This answer&lt;/a&gt; tells that such polynomials have efficient factorization algorithms. Although the precise method is not mentioned there I belive LLL suffices and hence the question here. If LLL does do the job, can its complexity be improved from &lt;span class=&quot;math-container&quot;&gt;$(2k)^{6+\epsilon}$&lt;/span&gt; arithmetic operations which is needed if the form of the factors are unknown.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.tankonyvtar.hu/en/tartalom/tamop425/0046_algorithms_of_informatics_volume1/ch05s05.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;Refer here&lt;/a&gt; for complexity of factoring primitive polynomials with integer ocefficents where the phrase &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;We also mention Schönhage's method using &lt;span class=&quot;math-container&quot;&gt;$O(n^6+n^4\log_2^2l)$&lt;/span&gt;  bit operations for factoring polynomials with integer coefficients (&lt;span class=&quot;math-container&quot;&gt;$l$&lt;/span&gt; is the length of the coefficients)&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;is used. &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt; is the degree and it corresponds to &lt;span class=&quot;math-container&quot;&gt;$2k$&lt;/span&gt; here.&lt;/p&gt;&#xA;" OwnerUserId="1812" LastEditorUserId="2367" LastEditDate="2020-05-24T21:17:07.590" LastActivityDate="2020-05-24T21:17:07.590" Title="Factoring with LLL when the form of the factors is given" Tags="&lt;ds.algorithms&gt;&lt;polynomials&gt;&lt;algebraic-complexity&gt;&lt;factoring&gt;&lt;lattice&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 4.0" />
  <row Id="19883" PostTypeId="1" CreationDate="2013-11-20T10:24:45.013" Score="3" ViewCount="123" Body="&lt;p&gt;Given a $d$-dimensional (rational) convex polytope $P$ with vertices $v_1, \ldots, v_n$, I would like to compute many equally distributed points that lie in $P$. &quot;Equally distributed&quot; is of course not a precise term. It should just mean that points don't accumulate at some point in $P$ much more than at others (like they would be by doing a repeated barycentric subdivision, for example).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, there are two obvious solutions: First one is to just generate a lot of random points in the polytope. This can be done quickly with a software like Polymake. But the problem is that the coordinates have huge denominators which make subsequent computations very slow.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The second approach would be to generate coefficient vectors that sum up to $1$ and have entries $\geq 1/k$. The coefficients have small denominators but the algorithm would generate ${n-k-1 \choose k-1}$ coefficient vectors, while only a tiny fraction of them give distinct points in the polytope (at least for the polytopes I am interested in).&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Are there any algorithms that do what I want efficiently with small denominators?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="9735" LastActivityDate="2013-11-25T15:30:09.857" Title="Efficient algorithm for computing equally distributed points in polytope?" Tags="&lt;ds.algorithms&gt;&lt;cg.comp-geom&gt;&lt;convex-geometry&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="19885" PostTypeId="2" ParentId="12692" CreationDate="2013-11-20T14:57:28.577" Score="0" Body="&lt;p&gt;The probability ranking principle asserts that relevance has a probabilistic interpretation. According to this principle documents are ranked by a probability p(Rel|d, q), where Rel denotes the event of a document d being relevant to a query q. Robertson called this principle the probability ranking principle.&lt;/p&gt;&#xA;" OwnerUserId="19602" LastActivityDate="2013-11-20T14:57:28.577" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19887" PostTypeId="1" CreationDate="2013-11-20T18:02:24.353" Score="5" ViewCount="155" Body="&lt;p&gt;I'm trying to figure out some consequences of the fact that Toda's Theorem relativizes. The (un-relativized) Toda's theorem states that $PH \subset P^{\#P}$ so that for any constant $k$ and any polynomial-time computable function $g: \{0,1\}^{n \times 2k} \to \{0,1\}$ we have that the problem of computing&#xA;$$\min_{x_1} \max_{y_1} ... \min_{x_k} \max_{y_k} g(x_1,y_1,...,x_k,y_k)$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;can be reduced to the problem of computing&#xA;$$h(\#\phi)$$&#xA;for some polynomial time function $h: \mathbb{N} \to \{0,1\}$ and some polynomial time boolean formula $\phi: \{0,1\}^{poly(n)} \to \{0,1\}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is, do I need to assume that $\phi$ and $g$ can be computed in polynomial time? My conjecture is that since Toda's theorem relativizes, I can assume that they are arbitrary black-box functions and the theorem will still hold. &lt;/p&gt;&#xA;" OwnerUserId="7040" LastActivityDate="2013-11-20T18:02:24.353" Title="Relativization of Toda's Theorem" Tags="&lt;counting-complexity&gt;&lt;relativization&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19891" PostTypeId="1" CreationDate="2013-11-20T20:47:55.560" Score="2" ViewCount="410" Body="&lt;p&gt;Suppose one wants to use a μ-calculus model checker, but specify things in temporal logics, which is easier (more intuitive). Is there a technique (even better, a tool) that automatically translates formulae in any of these logics (CTL,CTL* or LTL) to the μ-calculus?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks very much in advance!&lt;/p&gt;&#xA;" OwnerUserId="19583" LastEditorUserId="77" LastEditDate="2014-04-24T08:05:05.330" LastActivityDate="2014-04-24T08:05:05.330" Title="Conversion technique/tool from temporal logic CTL,CTL* or LTL to μ-calculus" Tags="&lt;lo.logic&gt;&lt;program-verification&gt;&lt;temporal-logic&gt;" AnswerCount="0" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="19892" PostTypeId="1" CreationDate="2013-11-20T22:26:51.967" Score="2" ViewCount="118" Body="&lt;p&gt;The KKT conditions are necessary and sufficient conditions for problems where we maximize over a convex function subject to linear inequality and equality constraints. That is $x^*$ is an optimal point iff it satisfies the KKT conditions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is, are there similar necessary and/or sufficient conditions for points $x$ near $x^*$?&lt;/p&gt;&#xA;" OwnerUserId="16013" LastActivityDate="2013-11-20T22:26:51.967" Title="KKT-like conditions for values close to optimal solution" Tags="&lt;optimization&gt;&lt;convex-optimization&gt;" AnswerCount="0" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19894" PostTypeId="1" AcceptedAnswerId="19915" CreationDate="2013-11-21T03:25:55.800" Score="7" ViewCount="177" Body="&lt;p&gt;I'm a newcomer to communication complexity, and so far I've read the chapter in Arora-Barak and some papers giving lower bounds in various applications.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A priori the definition of multiparty communication complexity is strange. Forgetting the fruitful applications of the &quot;number on the forehead&quot; model, I would imagine people first thought to have each player see only their &lt;em&gt;own&lt;/em&gt; input and not &lt;em&gt;all but their own&lt;/em&gt; inputs. The computation of the protocol would happen in parallel, and communication could be player-to-player or broadcast.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have reason to believe that lower bounds in such a model will aid me in proving lower bounds in a problem I'm currently looking at. Does this model have a name? What is known about it?&lt;/p&gt;&#xA;" OwnerUserId="7091" LastActivityDate="2013-11-22T14:34:43.030" Title="Lower bounds on alternative models of multiparty communication complexity" Tags="&lt;lower-bounds&gt;&lt;communication-complexity&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="19896" PostTypeId="2" ParentId="79" CreationDate="2013-11-21T09:57:16.767" Score="7" Body="&lt;p&gt;The problem of finding a &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/0304397588901314&quot; rel=&quot;noreferrer&quot;&gt;minimum dominating set in tournament&lt;/a&gt; is not known to be in $P$ neither known to be $NP$-complete. The problem has quasi-polynomial time algorithm ($ O(n^{\log n})$). If the problem has polynomial time algorithm then satisfiability can be solved in sub-exponential time.  &lt;/p&gt;&#xA;" OwnerUserId="495" LastActivityDate="2013-11-21T09:57:16.767" CommentCount="0" CommunityOwnedDate="2013-11-21T09:57:16.767" ContentLicense="CC BY-SA 3.0" />
  <row Id="19897" PostTypeId="2" ParentId="79" CreationDate="2013-11-21T10:37:32.373" Score="9" Body="&lt;p&gt;The problem of finding &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0022000096900586&quot;&gt;Vapnik–Chervonenkis dimension&lt;/a&gt; is not known to be in $P$ neither known to be $NP$-complete. The problem can be solved by quasi-polynomial time algorithm ($ O(n^{\log n})$). The problem can not be $NP$-complete unless $NP$ is contained in Quasi-polynomial time.&lt;/p&gt;&#xA;" OwnerUserId="495" LastActivityDate="2013-11-21T10:37:32.373" CommentCount="1" CommunityOwnedDate="2013-11-21T10:37:32.373" ContentLicense="CC BY-SA 3.0" />
  <row Id="19902" PostTypeId="1" AcceptedAnswerId="25635" CreationDate="2013-11-21T18:39:32.283" Score="17" ViewCount="2496" Body="&lt;p&gt;Some of the work on sensitivity vs. block sensitivity has been aimed at examining functions with as large a gap as possible between &lt;span class=&quot;math-container&quot;&gt;$s(f)$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$bs(f)$&lt;/span&gt; in order to resolve the conjecture that &lt;span class=&quot;math-container&quot;&gt;$bs(f)$&lt;/span&gt; is only polynomially larger than &lt;span class=&quot;math-container&quot;&gt;$s(f)$&lt;/span&gt;. What about the opposite direction? What is known about functions where &lt;span class=&quot;math-container&quot;&gt;$s(f) = bs(f)$&lt;/span&gt;?&lt;/p&gt;&#xA;&lt;p&gt;Trivially, constant functions have &lt;span class=&quot;math-container&quot;&gt;$0=s(f)=bs(f)$&lt;/span&gt;. Also trivially, any function with &lt;span class=&quot;math-container&quot;&gt;$s(f) = n$&lt;/span&gt; also has &lt;span class=&quot;math-container&quot;&gt;$s(f) = bs(f)$&lt;/span&gt;. It is non-trivial but not too hard to show that any monotone function also satisfies this equality. Are there any other nice classes of functions that have &lt;span class=&quot;math-container&quot;&gt;$s(f) = bs(f)$&lt;/span&gt;? A complete characterization would be ideal. What if we further strengthen the requirements to &lt;span class=&quot;math-container&quot;&gt;$s^0(f) = bs^0(f)$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$s^1(f) = bs^1(f)$&lt;/span&gt;?&lt;/p&gt;&#xA;&lt;p&gt;The motivation for this question is simply to get some intuition for how sensitivity relates to block sensitivity.&lt;/p&gt;&#xA;&lt;h2&gt;Definitions&lt;/h2&gt;&#xA;&lt;p&gt;Let &lt;span class=&quot;math-container&quot;&gt;$f:\{0,1\}^n\rightarrow \{0,1\}$&lt;/span&gt; be a Boolean function on &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt;-bit words. For &lt;span class=&quot;math-container&quot;&gt;$x \in \{0,1\}^n$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$A \subseteq \{1,\ldots,n\}$&lt;/span&gt;, let &lt;span class=&quot;math-container&quot;&gt;$x^A$&lt;/span&gt; denote the &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt;-bit word obtained from &lt;span class=&quot;math-container&quot;&gt;$x$&lt;/span&gt; by flipping the bits specified by &lt;span class=&quot;math-container&quot;&gt;$A$&lt;/span&gt;. In the case that &lt;span class=&quot;math-container&quot;&gt;$A = \{i\}$&lt;/span&gt;, we will simply denote this as &lt;span class=&quot;math-container&quot;&gt;$x^i$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;p&gt;We define the &lt;em&gt;sensitivity of &lt;span class=&quot;math-container&quot;&gt;$f$&lt;/span&gt; at &lt;span class=&quot;math-container&quot;&gt;$x$&lt;/span&gt;&lt;/em&gt; as &lt;span class=&quot;math-container&quot;&gt;$s(f,x) = \# \{ i | f(x^i) \neq f(x)\}$&lt;/span&gt;. In other words, it is the number of bits in &lt;span class=&quot;math-container&quot;&gt;$x$&lt;/span&gt; that we can flip in order to flip the output of &lt;span class=&quot;math-container&quot;&gt;$f$&lt;/span&gt;. We define the &lt;em&gt;sensitivity&lt;/em&gt; of &lt;span class=&quot;math-container&quot;&gt;$f$&lt;/span&gt; as &lt;span class=&quot;math-container&quot;&gt;$s(f) = \text{max}_x s(f,x)$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;p&gt;We define the &lt;em&gt;block sensitivity of &lt;span class=&quot;math-container&quot;&gt;$f$&lt;/span&gt; at &lt;span class=&quot;math-container&quot;&gt;$x$&lt;/span&gt;&lt;/em&gt; (denoted &lt;span class=&quot;math-container&quot;&gt;$bs(f,x)$&lt;/span&gt;) as the maximum &lt;span class=&quot;math-container&quot;&gt;$k$&lt;/span&gt; such that there are disjoint subsets &lt;span class=&quot;math-container&quot;&gt;$B_1, B_2, \ldots, B_k$&lt;/span&gt; of &lt;span class=&quot;math-container&quot;&gt;$\{1,2,\ldots, n\}$&lt;/span&gt; such that &lt;span class=&quot;math-container&quot;&gt;$f(x^{B_i}) \neq f(x)$&lt;/span&gt;. We define the &lt;em&gt;block sensitivity&lt;/em&gt; of &lt;span class=&quot;math-container&quot;&gt;$f$&lt;/span&gt; as &lt;span class=&quot;math-container&quot;&gt;$bs(f) = \text{max}_x bs(f,x)$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Finally, we define the &lt;em&gt;0-sensitivity&lt;/em&gt; of &lt;span class=&quot;math-container&quot;&gt;$f$&lt;/span&gt; as &lt;span class=&quot;math-container&quot;&gt;$s^0(f) = \text{max} \{ s(f,x) | f(x) = 0 \}$&lt;/span&gt;. We similarly define &lt;em&gt;1-sensitivity&lt;/em&gt;, &lt;em&gt;0-block sensitivity&lt;/em&gt;, and &lt;em&gt;1-block sensitivity&lt;/em&gt; , denoted &lt;span class=&quot;math-container&quot;&gt;$s^1(f)$&lt;/span&gt;, &lt;span class=&quot;math-container&quot;&gt;$bs^0(f)$&lt;/span&gt;, and &lt;span class=&quot;math-container&quot;&gt;$bs^1(f)$&lt;/span&gt;, respectively.&lt;/p&gt;&#xA;" OwnerUserId="751" LastEditorUserId="751" LastEditDate="2020-11-24T20:54:04.413" LastActivityDate="2020-11-24T20:54:04.413" Title="Boolean Functions Where Sensitivity Equals Block Sensitivity" Tags="&lt;circuit-complexity&gt;&lt;boolean-functions&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="3" ContentLicense="CC BY-SA 4.0" />
  <row Id="19903" PostTypeId="2" ParentId="19591" CreationDate="2013-11-21T19:54:49.427" Score="1" Body="&lt;p&gt;Here is a modified version of the Euclidean algorithm that is stable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;When considering the equation&#xA;$$ax + by = c \quad (1)$$&#xA;we may w.l.o.g. assume that $a, b, c \ge 0$, $b \ge 1$ and $b \ge a$. From now on we will only consider such equations. Moreover, we will set $d = \gcd(a,b)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We call a solution $(x,y)$ &lt;strong&gt;good&lt;/strong&gt; if $0 \le x &amp;lt; \frac{b}{d}$. Such a solution always exists, since all solutions are parametrized by $(x + t \cdot \frac{b}{d}, y - t \cdot \frac{a}{d})$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $(x,y)$ is a good solution, then&#xA;$$\frac{c}{b} - \frac{a}{d} &amp;lt; y \le \frac{c}{b} \quad (2)$$&#xA;This follows simply from the bounds on $x$ and the fact that $y = \frac{c}{b} - \frac{ax}{b}$. Notice that in particular $|y| \le \max(a,c)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We will now solve the problem by induction. Assume first that $a=0$. Then $x=0$, $y = \frac{c}{b}$ is a good solution. Let us then suppose by induction that we can obtain good solutions for all coefficients smaller than $a,b,c$. We let $(x',y')$ be a good solution to the equation&#xA;$$(b - \left\lfloor \frac{b}{a} \right\rfloor a) x' + a y' = c \quad (3)$$&#xA;Then $(\tilde{x}, \tilde{y}) = (y' - \left\lfloor \frac{b}{a} \right\rfloor x',  x')$ is a solution to (1). First of all we can calculate $\left\lfloor \frac{b}{a} \right\rfloor x'$ without overflow since $0 \le x' &amp;lt; \frac{a}{d}$. We note that (2) applied to the equation (3) gives us&#xA;$$\frac{c}{a} - \frac{b - \left\lfloor \frac{b}{a}\right\rfloor a}{d} &amp;lt; y' \le \frac{c}{a}.$$&#xA;Hence it follows that&#xA;$$\frac{c}{a} - \frac{b}{d} &amp;lt; y' - \left\lfloor \frac{b}{a} \right\rfloor x' \le \frac{c}{a} \quad (4)$$&#xA;Thus $|\tilde{x}| \le \max(b,c)$ and $\tilde{x}$ can be computed without overflow.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally it remains to normalize $(\tilde{x}, \tilde{y})$ to a good solution. This involves computing $x = \tilde{x} + t \cdot \frac{b}{d}$ and $y = \tilde{y} - t \cdot \frac{a}{d}$ where $t = \left\lceil \frac{-\tilde{x}}{b/d} \right\rceil$. Assume first that $\tilde{x} &amp;lt; 0$. From (4) we see that then $t=1$ and everything can be done without overflow. Assume then that $\tilde{x} \ge 0$. Then $|t| \le \frac{\tilde{x}}{b/d}$. Because $b \ge a$, both products $t \cdot \frac{b}{d}$ and $t \cdot \frac{a}{d}$ can be calculated without overflow. We are done.&lt;/p&gt;&#xA;" OwnerUserId="18191" LastActivityDate="2013-11-21T19:54:49.427" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19904" PostTypeId="2" ParentId="19882" CreationDate="2013-11-21T19:56:37.847" Score="9" Body="&lt;p&gt;Yes, assuming you want both &lt;span class=&quot;math-container&quot;&gt;$f_1(x)$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$f_2(x)$&lt;/span&gt; with integer coefficients.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One of the reasons why LLL is so popular is precisely because it gives a polynomial time algorithm to factor polynomials with integer coefficients.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For an excellent introduction, I recommend C. Yap's &lt;a href=&quot;http://cs.nyu.edu/yap/book/berlin/&quot; rel=&quot;nofollow noreferrer&quot;&gt;&quot;Fundamental Problems in Algorithmic Algebra&quot;&lt;/a&gt; (available online, for free), specifically chapter 9 &lt;a href=&quot;http://cs.nyu.edu/~yap/book/alge/ftpSite/l9.ps.gz&quot; rel=&quot;nofollow noreferrer&quot;&gt;&quot;Lattice Reduction and Applications&quot;&lt;/a&gt; (section 9.6).  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Following Yap, choose an approximation, &lt;span class=&quot;math-container&quot;&gt;$\alpha$&lt;/span&gt;, of a (complex) root for &lt;span class=&quot;math-container&quot;&gt;$f(x)$&lt;/span&gt;.  Setup the lattice reduction with the following basis:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$$ B_k = \begin{bmatrix} &#xA;\text{Re}(\alpha^0) &amp;amp; \text{Re}(\alpha^1) &amp;amp; \text{Re}(\alpha^2) &amp;amp; \cdots &amp;amp; \text{Re}(\alpha^k) \\&#xA;\text{Im}(\alpha^0) &amp;amp; \text{Im}(\alpha^1) &amp;amp; \text{Im}(\alpha^2) &amp;amp; \cdots &amp;amp; \text{Im}(\alpha^k) \\&#xA;c &amp;amp; 0 &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0 \\&#xA;0 &amp;amp; c &amp;amp; 0 &amp;amp; \cdots &amp;amp; 0 \\&#xA;0 &amp;amp; 0 &amp;amp; c &amp;amp; \cdots &amp;amp; 0 \\&#xA;\vdots &amp;amp; \vdots &amp;amp; \vdots &amp;amp; \ddots &amp;amp; \vdots \\&#xA;0 &amp;amp; 0 &amp;amp; 0 &amp;amp; \cdots &amp;amp; c &#xA; \end{bmatrix}&#xA;$$&lt;/span&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Choosing &lt;span class=&quot;math-container&quot;&gt;$c = 2^{-4t^3}$&lt;/span&gt;, with &lt;span class=&quot;math-container&quot;&gt;$\alpha$&lt;/span&gt; to have &lt;span class=&quot;math-container&quot;&gt;$O(t^3)$&lt;/span&gt; bits for each of the real and complex portions.  Here, &lt;span class=&quot;math-container&quot;&gt;$t = \log ||f(x)||_{\infty}$&lt;/span&gt; (that is, the cube of the number of bits of the maximum coefficient of &lt;span class=&quot;math-container&quot;&gt;$f(x)$&lt;/span&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Quoted from FPiAA:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Theorem 9&lt;/strong&gt; &lt;em&gt;Given a basis &lt;span class=&quot;math-container&quot;&gt;$A \in \mathbb{Q}^{n \times m}$&lt;/span&gt;, we can compute a reduced basis &lt;span class=&quot;math-container&quot;&gt;$B$&lt;/span&gt; with &lt;span class=&quot;math-container&quot;&gt;$\Lambda(A) = \Lambda(B)$&lt;/span&gt; using &lt;span class=&quot;math-container&quot;&gt;$O(n^5(s + \log n))$&lt;/span&gt; arithmetic operations, where s is the maximum bit size of entries in &lt;span class=&quot;math-container&quot;&gt;$A$&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;This gives us the (polynomial) run time.  Proof of correctness that for a properly setup lattice will give you the minimal factor of a reducible polynomial is a bit more involved, but please refer to theorem 14 of the same chapter to see the relation between the reduced basis and the minimal polynomial.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By setting up the basis with dimension &lt;span class=&quot;math-container&quot;&gt;$n=k$&lt;/span&gt; you can easily see the bound as roughly &lt;span class=&quot;math-container&quot;&gt;$O(k^5( \lg^3(||f(x)||_{\infty}) + \log n))$&lt;/span&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since, by assumption, you know the degree of &lt;span class=&quot;math-container&quot;&gt;$f_1(x)$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$f_2(x)$&lt;/span&gt;, the lattice reduction algorithm only needs to be run once to find one of the two factors of &lt;span class=&quot;math-container&quot;&gt;$f(x)$&lt;/span&gt;.  You can then use the discovered &lt;span class=&quot;math-container&quot;&gt;$f_j(x)$&lt;/span&gt; to find the other by standard polynomial division.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The original paper by Lenstra, Lenstra and Lovasz, &lt;a href=&quot;http://www.math.elte.hu/~lovasz/scans/lll.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;&quot;Factoring polynomials with rational coefficients&quot;&lt;/a&gt;, is also quite readable and I found it to be a good compliment to Yap's introduction.&lt;/p&gt;&#xA;" OwnerUserId="834" LastEditorUserId="834" LastEditDate="2020-05-23T13:21:27.473" LastActivityDate="2020-05-23T13:21:27.473" CommentCount="6" ContentLicense="CC BY-SA 4.0" />
  <row Id="19905" PostTypeId="1" CreationDate="2013-11-21T20:01:10.583" Score="5" ViewCount="219" Body="&lt;p&gt;I am interested in the following problem which seems like an extension of the Kruskal-Katona Theorem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $A_k \subseteq \{0,1\}^n$ be a subset of the hypercube such that every element in $A$ has exactly $k$ ones. For any element $x \in \{0,1\}^n$ let $N_l(x)$ be the set of elements obtained by flipping one of the 1's in x to 0. (Generally referred to as the lower shadow of X) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let the majority upper shadow of $A_k$ referred to as $M_u(A_k)$ be the set such that for each $a \in M_u(A_k)$ number of ones in $a = k+1$ and $|N_l(a) \cap A_k| \geq (\frac{k+1}{2})$. That is more than half of a's neighbours are present in $A_k$. Given the size of $A_k$ can we put an upper bound on the size of $M_u(A_k)$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Has this problem been studied and are there results are relevant to the above. Note that in case $|A_k| = \binom{n}{k}$ we of course have that $|M_u(A_k)|=\binom{n}{k+1}$. In general I am looking at the size of $A_k$ to be $\epsilon\cdot \binom{n}{k}$ where $\epsilon$ is a small constant. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Could you also refer to me a good survey of the Kruskal-Katona Theorem in general , one that surveys recent results in this setting ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks in advance&lt;/p&gt;&#xA;" OwnerUserId="12212" LastActivityDate="2013-11-22T09:59:28.707" Title="Kruskal-Katona Theorem with Majority?" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;set-theory&gt;&lt;extremal-combinatorics&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19906" PostTypeId="1" AcceptedAnswerId="19916" CreationDate="2013-11-21T21:43:04.563" Score="0" ViewCount="87" Body="&lt;p&gt;A language $L$ is called&lt;/p&gt;&#xA;&#xA;&lt;p&gt;i) locally testable in the strict sense iff there exists $P, S, I \subseteq X^*$ such that&#xA;$$&#xA; w \in L \mbox{ iff } pref^k(w) \in P, suffix^k(w) \in S, infix^k(w) \subseteq I.&#xA;$$&#xA;for some $k &amp;gt; 0$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;ii) locally testable iff for $u,v \in X^*$ the following holds:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $pref^k(u) = pref^k(v), suffix^k(u) = suffix^k(v), infix^k(u) = infix^k(v)$ then&#xA;$$&#xA; u \in L \mbox{ iff } v \in L.&#xA;$$&#xA;Meaning if two words coincide in there infixes, suffix and prefix up to a specific length $k &amp;gt; 0$ then they are either both in the language or they are both not.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;iii) the class of locally testable events with order is defined as the smallest class of languages containing the locally testable languages and closed under the boolean operations union, intersection and complementation. (this could be equivalently defined with locally testable in the strict sense instead of locally testable)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In what sense do they differ, that iii) contains more languages is clear, for example the language which contains for example $00$ followed by $01$ is in iii) but not in ii) or i) I think (because it involves some kind of order in requiring that $01$ need to follow $00$), but in what sense are ii) and i) different, what is a languge contained in ii) but no in i)?&lt;/p&gt;&#xA;" OwnerUserId="17672" LastActivityDate="2013-11-23T19:52:46.977" Title="Difference between locally testable and it's boolean closure" Tags="&lt;fl.formal-languages&gt;&lt;automata-theory&gt;" AnswerCount="1" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="19907" PostTypeId="1" CreationDate="2013-11-21T22:10:42.523" Score="4" ViewCount="107" Body="&lt;p&gt;A two player game $G = (I,O,V,p)$ is such that, if two non-communicating players Alice and Bob are given questions $(x,y)\in I^2$ drawn from the probability distribution $p$, they are supposed to produce two answers $(a,b) \in O^2$ such that $V(x,y,a,b) = 1$ - in which case they are said to &lt;em&gt;win&lt;/em&gt; the game $G$. The maximum probability that Alice and Bob can win the game $G$, over the randomness of the inputs and their strategies, is called the &lt;em&gt;value&lt;/em&gt; of the game. The value of the game can change depending on the resources allowed: if Alice and Bob are purely classical players, then the classical value is denoted $\omega(G)$. If Alice and Bob can share quantum entanglement and employ quantum strategies, they can achieve a quantum value $\omega^*(G)$. If Alice and Bob can share general &lt;em&gt;no-signalling&lt;/em&gt; strategies, they can achieve a no-signalling value $\omega^{ns}(G)$. It is known that $\omega(G) \leq \omega^*(G) \leq \omega^{ns}(G) \leq 1$. Are there games for which all three inequalities are strict?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, the famed CHSH game is an example of which &lt;em&gt;two&lt;/em&gt; of the inequalities are strict: $\omega(G) &amp;lt; \omega^*(G) &amp;lt; \omega^{ns}(G)$, but $\omega^{ns}(G) = 1$.&lt;/p&gt;&#xA;" OwnerUserId="170" LastEditorUserId="170" LastEditDate="2013-11-21T22:31:29.637" LastActivityDate="2013-11-21T22:31:29.637" Title="Games where $\omega(G) &lt; \omega^*(G) &lt; \omega^{ns}(G) &lt; 1$?" Tags="&lt;cc.complexity-theory&gt;&lt;it.information-theory&gt;&lt;gt.game-theory&gt;&lt;quantum-information&gt;" AnswerCount="0" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19910" PostTypeId="2" ParentId="19875" CreationDate="2013-11-22T04:04:45.240" Score="17" Body="&lt;p&gt;Let me give a summary of my understanding of the motivation for the approach. Be warned that I am fairly new to the concept of Borel determinacy, and not at all an expert in set theory. All mistakes are mine. Also I am not sure reading this is all that much better than reading Gowers' posts.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think what Gowers has in mind is not a finitary analogue of the Borel determinacy theorem, but a finitary analogue of the following: Borel determinacy follows from ZFC, while determinacy of analytic games requires the existence of (essentially) measurable cardinals. I will very briefly describe what games we're talking about and what Borel determinacy is, and then I will tie this in with the approach to proving lower bounds. The very high-level idea is to consider the property &quot;allows a finitary analogue of a proof of Borel determinacy to work&quot; as a property that can separate P\poly from NP.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We think of games where two players I and II take turns &quot;playing&quot; an integer. The game goes on forever, so they produce a sequence $x= x_1, x_2, \ldots$. The game is defined by a winning set $A \subseteq \mathbb{N}^\mathbb{N}$ (i.e. a set of sequences). If $x \in A$ then player I wins, otherwise player II wins. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A game is determined if either player I or player II has a winning strategy: a way to decide a next move based on the play so far that guarantees a win. Whether all games are determined turns out to have intimate connections to the foundations of set theory (they are not, if you believe in the axiom of choice). In any case, one  simple example when games are in fact determined is when $A$ is open in the product topology on $\mathbb{N}^\mathbb{N}$, which is a fancy way of saying that membership $x \in A$ can be decided based only on a finite number of elements of $x$. For example the game in which player I wins if she is the first to play an even number is open. Another simple example of determined games is closed games, i.e. games where $x \not \in A$ can be decided based on a finite subsequence of $x$. Closed games are open games with the roles of players inverted.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now we can come to Borel determinacy, and right after I will try to tie this in with circuits and complexity. A Borel set is a set that can be derived from open and closed sets by repeatedly applying a countable number of unions and intersections. You should think of open and closed sets as your basic sets, and Borel sets as derived from basic sets using several levels of a &quot;small&quot; (= countable) number of simple operations in each level. It turns out that you can prove in ZFC that Borel sets are determined, and there is a precise sense in which this is the best you can do.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The analogy that I think Gowers is drawing here is that Borel sets are like small circuits. In the finite world, we replace the &quot;universe&quot; $\mathbb{N}^\mathbb{N}$ by the hypercube $\{0,1\}^n$. Our basic sets become facets of the cube: $\{x \in \{0,1\}^n: x_i = b\}$ for $b \in \{0,1\}$; these are equivalent to literals $x_i$ and $\bar{x}_i$. You can write AND and OR of literals as unions and intersections of such sets. So, for a boolean functions $f:\{0,1\}^n \rightarrow \{0,1\}$, being able to produce $f^{-1}(1)$ out of $s$ unions and intersections of basic sets is equivalent to having a size $s$ circuit for $f$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let me throw a word in about analytic sets. An analytic set is a projection of a Borel set: if $S \subseteq X \times Y$ is a Borel set, then $T = \{x: \exists y\ (x,y) \in S\}$ is analytic. By our correspondence between Borel sets and functions of small circuit complexity, analytic sets are like NP/poly.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now he draws inspiration from a proof of Borel determinacy to come up with a property (in the Razborov-Rudich sense) to distinguish functions of small circuit complexity from functions of large circuit complexity. The hope of course is that the property avoids the natural proofs barrier. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Martin's proof of Borel determinacy uses a conceptually very neat approach: Martin shows that every Borel game is a the image of an open (in fact clopen) game under a map $\pi$, so that $\pi$ preserves winning strategies -- let's call this a &quot;lift&quot;. So what Martin shows is that each Borel game is the image of a game in which the winning set is a basic set. Since open games are easily seen to be determined, this proves Borel determinacy. The proof is inductive, with the base case showing that closed games can be lifted. The important part is that each step of the induction &quot;blows&quot; up the universe: getting rid of one level of the Borel set construction requires lifting a game to a game over a universe that is essentially the power set of the universe of the original game. Interestingly, this is unavoidable: Borel sets that require more levels to define can only be lifted to games over much larger universes. Analytic sets require universes that are so large, that their existence requires large cardinal axioms.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Drawing inspiration from this, Gowers formulates a game in which player I and player II must jointly specify some $x$; player I wins if $f(x) = 1$, otherwise player II wins. Player I can specify the first half of the coordinates, and player II the second half. The intuition now is that games corresponding to simple $f$, i.e. $f$ with small circuit complexity, should allow a Martin-style lift to a relatively small universe, just like Borel games do. On the other hand random $f$ should require double exponential size universes, and hopefully NP-hard $f$ should as well, because they would correspond to analytic games.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let me be just slightly more concrete about what a Martin-style lift is, but do check Gowers' posts for technical definitions. A Martin-style (in Gowers' terminology, &quot;Ramsey&quot;) lift is a lift to a game of specifying some $y \in U$ coordinate by coordinate, where $U$ is the universe and is potentially larger than $2^n$, but now the winning condition is very simple: whether player I or II wins is decided based on the value of a single coordinate of $y$. As in Martin's proof, a lift must preserve winning strategies.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The hope that this may avoid the natural proofs barrier is based on the intuition that the property &quot;has Martin style lift to a small universe&quot; is probably not easy to compute. But at this point it's not clear if the parity function has a lift to a small universe. I worry that the appropriate analogy to Borel sets may be functions $f$ in AC0: finding a small lift for parity would put at least that worry to rest.&lt;/p&gt;&#xA;" OwnerUserId="4896" LastEditorUserId="4896" LastEditDate="2013-11-23T18:17:02.570" LastActivityDate="2013-11-23T18:17:02.570" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="19911" PostTypeId="2" ParentId="19832" CreationDate="2013-11-22T06:49:30.350" Score="1" Body="&lt;p&gt;Your question does not specify the field you are working in.  Sasho Nikolov has given an excellent answer if you are working over $\mathbb{R}$, but it does not extend to finite fields -- so I think it remains interesting to look at your problem, for the case of a finite field $\mathbb{F}$.  I do not have a complete solution, but here is an algorithm will work for all multilinear quadratic polynomials except for one specific class of polynomials (which I do not know how to handle yet).  It feels close: If we could find some extension to solve this problem for all bivariate polynomials, the techniques below could take care of the rest.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;If $p$ is univariate, i.e., $p(x)=ax^2 + bx + c$, then the problem is easy: simply test whether $b^2-4ac$ is a square in $\mathbb{F}$.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;If $p$ is bivariate, i.e., $p(x,y) = a x^2 + b y^2 + c xy + dx + ey + f$, then we can use the following procedure:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We will first make some transformations to &quot;force&quot; $a$ to zero, since this is particularly convenient for what follows:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;If $a=0$ already, then there is nothing to do.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;If $b=0$, we can swap the role of $x$ and $y$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Alternatively, suppose $a\ne 0$ and $b \ne 0$.  If $-b/a$ is a non-square in $\mathbb{F}$ I am screwed, and I don't have a solution (in this case I give up and go home).  Otherwise, apply a change of variables $x' = \sqrt{-b/a} \cdot x$, $y' = x + y$ and define $p'(x,y)=p(x',y')$, noticing that $p'(x,y)$ has no $x^2$ term (it cancels after the change of variables).  Notice that $p$ is equisatisfiable with $p'$ (any solution to $p'(x,y)$ can be immediately translated to a solution to $p(x,y)$ by applying the change of variables, and vice versa).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;After this step, we have a polynomial with no $x^2$ term.  So, without loss of generality we can assume $a=0$ ($p(x,y)$ has no $x^2$ term).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since $p$ has no $x^2$ term, we can rewrite it as&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$p(x,y) = q(y) \cdot x + r(y).$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Conveniently, this is a linear function of $x$.  So, we can test whether there is a solution to $p(x,y)=0$, as follows:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Check whether there exists $y$ such $q(y) \ne 0$.  Conveniently, degree considerations ensure that $q(y)$ is linear/affine, so this is easy to check.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;If yes, then let $y$ be any value such that $q(y) \ne 0$.  Now we can let $x = -r(y) q(y)^{-1}$.  Since $q(y) \ne 0$, the inverse is sure to exist, so this gives an assignment $x,y$ that makes $p$ zero, and we're done.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;If no, then we know that $p(x,y)=r(y)$.  By degree considerations, $r$ must be a quadratic polynomial.  Therefore, we can recursively apply our algorithm to $r$ (which has one fewer variable).  There will be a solution to $p(x,y)=0$ if and only if there is a solution to $r(y)=0$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;This algorithm handles all bivariate polynomials except for the unfortunate case where $-b/a$ is a non-square.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Next, suppose we have a trivariate quadratic polynomial.  Strangely, this case is actually easier.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$p(x,y,z) = a x^2 + b y^2 + c z^2 + \cdots.$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If all of $a,b,c$ are non-zero, we will eliminate the $x^2$ term using a cute trick.  Find $\alpha,\beta \in \mathbb{F}$ such that $b \cdot \beta^2 + c \cdot \gamma^2 = -a$ (e.g., using &lt;a href=&quot;https://math.stackexchange.com/q/573579/14578&quot;&gt;the algorithm here&lt;/a&gt;; such $\beta,\gamma$ are always guaranteed to exist).  Now apply the change-of-variable transformation $x'=x$, $y'=\beta x + y$, $z'=\gamma x + z$,&#xA;yielding the polynomial $p'(x,y,z)=p(x',y',z')$.  Notice that, thanks to the careful choice of the transformation, $p'(x,y,z)$ has no $x^2$ term.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's smooth sailing from here.  We can write&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$p'(x,y,z) = q(y,z) \cdot x + r(y,z),$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where $q$ is linear and $r$ is quadratic.  If $q$ is identically zero, we recurse on $r$.  Otherwise, we can pick any values of $y,z$ that make $q(y,z) \ne 0$ and then immediately solve for $x$, as before.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Isn't it interesting that the case of 2 variables seems to be harder than the case of 3 variables or 1 variable?)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm sure you can see how to extend these ideas to a multivariate quadratic polynomial with more than three variables.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;This algorithm runs in polynomial time.  Unfortunately, there is a class of unfortunate polynomials where I am screwed and I am forced to give up.  Can anyone see how to handle the remaining class of bivariate quadratic polynomials?&lt;/p&gt;&#xA;" OwnerUserId="5038" LastEditorUserId="-1" LastEditDate="2017-04-13T12:19:19.363" LastActivityDate="2013-11-22T06:49:30.350" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19913" PostTypeId="2" ParentId="19905" CreationDate="2013-11-22T09:59:28.707" Score="3" Body="&lt;p&gt;I am not sure if these results are known. If you define the $t$-thick upper (or lower, does not matter) shadow of $A_k$ as the sets of one level higher (resp. lower) that contain (resp. are contained in) at least $t$ sets from $A_k$, then what you ask for is the $(k+1)/2$-thick upper shadow. As far as I know it is open to determine the size of the smallest $A_k$ whose $2$-thick shadow is empty. Unfortunately I cannot point you to a reference but I think I heard it from Katona. (And in case I am wrong, then I remember incorrectly...)&lt;/p&gt;&#xA;" OwnerUserId="419" LastActivityDate="2013-11-22T09:59:28.707" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="19915" PostTypeId="2" ParentId="19894" CreationDate="2013-11-22T14:34:43.030" Score="4" Body="&lt;p&gt;The &quot;number in hand&quot; model is the one I was thinking of, and there is quite a bit of literature about it. In particular I found this paper of Jeff Phillips, Elad Verbin, and Qin Zhang from SODA 2012 [1]. In particular they prove lower bounds on the problem I was interested in using, the undirected graph connectivity problem, of $\Omega(nk / \log^2(k))$. Here $k$ is the number of edges provided to each player and $n$ is the number of vertices in the graph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] &lt;a href=&quot;http://arxiv.org/abs/1107.2559&quot; rel=&quot;nofollow&quot;&gt;http://arxiv.org/abs/1107.2559&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="7091" LastActivityDate="2013-11-22T14:34:43.030" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19916" PostTypeId="2" ParentId="19906" CreationDate="2013-11-22T16:16:22.967" Score="1" Body="&lt;p&gt;In ii), you say that $u$ being in $L$ can be deduced only by knowing $pref^k(u)$, $inf^k(u)$ and $suff^k(u)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This mean that $L$ can be given by a set $E\subseteq (X^*\times 2^{X^*}\times X^*)$, namely $u\in L$ iff $(pref^k(u),inf^k(u),suff^k(u))\in E$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The reason why condition i) is stronger is because it forces $E$ to be of the form $P\times 2^I\times S$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An example of a language which is in ii) but not i) is therefore given by $E=\{ (a,X^*,a),  a\in X\}$. This means that $L$ is just the language of words whose last letter is equal to the first. $L$ is locally testable with $k=1$ for condition ii), but it is not for any $k$ for condition i).&lt;/p&gt;&#xA;" OwnerUserId="8953" LastEditorUserId="8953" LastEditDate="2013-11-23T19:52:46.977" LastActivityDate="2013-11-23T19:52:46.977" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19917" PostTypeId="1" AcceptedAnswerId="19918" CreationDate="2013-11-22T17:40:39.120" Score="-1" ViewCount="268" Body="&lt;p&gt;Let the &lt;em&gt;Graph Isomorphism Problem&lt;/em&gt; be the problem to decide whether there is a one-to-one mapping between the vertices of two graphs that preserves the edge relations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let the &lt;em&gt;Graph Isomorphism Problem for Connected Graphs&lt;/em&gt; be the problem to decide whether there is a one-to-one mapping between the vertices of two connected graphs that preserves the edge relations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a polynomial time reduction from the Graph Isomorphism Problem to the Graph Isomorphism Problem for connected graphs? How can I prove it?&lt;/p&gt;&#xA;" OwnerUserId="19627" LastActivityDate="2013-11-22T19:30:42.610" Title="Graph Isomorphism: Polynomial time reduction from GI for disconnected graphs to GI for connected graphs?" Tags="&lt;graph-theory&gt;&lt;reductions&gt;&lt;graph-isomorphism&gt;" AnswerCount="1" CommentCount="4" ClosedDate="2013-12-01T18:56:16.090" ContentLicense="CC BY-SA 3.0" />
  <row Id="19918" PostTypeId="2" ParentId="19917" CreationDate="2013-11-22T18:05:50.920" Score="2" Body="&lt;p&gt;What about the following simple reduction: given graphs $G$ and $H$, &#xA;let $G' = G * g$ and $H' = H * h$, where $X * x$ is obtained from $X$ by adding a new &#xA;vertex $x$ and all edges between $x$ and all vertices in $X$ &#xA;(so, $x$ is universal in $X * x$). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then $G$ and $H$ are isomorphic iff $G'$ and $H'$ are isomorphic. &#xA;Note that, in all cases, $G'$ and $H'$ are connected. &lt;/p&gt;&#xA;" OwnerUserId="13667" LastEditorUserId="17082" LastEditDate="2013-11-22T19:30:42.610" LastActivityDate="2013-11-22T19:30:42.610" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="19919" PostTypeId="1" CreationDate="2013-11-22T18:41:16.220" Score="5" ViewCount="280" Body="&lt;p&gt;(The following question has bothered me for many years.) Razborov seems to have obtained some of the strongest/&lt;a href=&quot;http://en.wikipedia.org/wiki/Nevanlinna_Prize&quot; rel=&quot;nofollow noreferrer&quot;&gt;award winning&lt;/a&gt; lower bounds on circuits found in the field over many years, largely through the &quot;method of approximations&quot;, which has also been refined/simplified over the years by many other researchers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then in 1989 he seemed to somewhat dramatically switch thinking &amp;amp; directions with the paper &lt;a href=&quot;http://people.cs.uchicago.edu/~razborov/files/approx.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;&quot;on the method of approximations&quot;&lt;/a&gt; showing that, roughly, in the form considered, at best it can prove $\Omega(n^2)$ lower bounds on any circuit computing a hard function. In some key ways this also foreshadows his important paper on &lt;a href=&quot;http://en.wikipedia.org/wiki/Natural_proof&quot; rel=&quot;nofollow noreferrer&quot;&gt;Natural Proofs&lt;/a&gt; (eg in showing a barrier-type theorem on a technique instead of working to improve lower bounds).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However the ideas in the paper seem hard to follow, &amp;amp; they seem to be rarely cited. There is not any mention of this idea in the later famous paper Natural Proofs which is also a broad survey of techniques in the field. So the 1989 paper refers to a key barrier, of which there is &lt;a href=&quot;http://intractability.princeton.edu/programs/workshops/barriers-workshop/&quot; rel=&quot;nofollow noreferrer&quot;&gt;much prominent consideration of in TCS&lt;/a&gt;, but it's an apparently more obscure barrier. And it doesn't seem to be much tied in with the other well-known barriers, e.g., it doesn't seem like it fits in with the framework of Natural Proofs (which is meant to be a comprehensive-as-possible framework).&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Looking for a proof sketch/outline of why the method of approximations can do no better than $\Omega(n^2)$ lower bounds, ideally tying it in with other known barriers/results.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;[The bigger motivation here is that [barrier-type/&quot;no-go&quot;] theorems can be &lt;a href=&quot;http://rjlipton.wordpress.com/2013/03/13/no-go-theorems/&quot; rel=&quot;nofollow noreferrer&quot;&gt;notoriously tricky&lt;/a&gt; &amp;amp; the idea that maybe some basic change on the idea of the method of approximations not envisioned by Razborov could achieve new lower bounds. Of course, understood, this is &quot;a long shot&quot;.]&lt;/p&gt;&#xA;" OwnerUserId="7884" LastEditorDisplayName="user30448" LastEditDate="2017-06-30T07:30:25.450" LastActivityDate="2017-06-30T07:30:25.450" Title="Sketch of Razborov's paper &quot;On the method of approximations&quot;" Tags="&lt;cc.complexity-theory&gt;&lt;circuit-complexity&gt;&lt;lower-bounds&gt;&lt;big-picture&gt;&lt;circuits&gt;" AnswerCount="0" CommentCount="7" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="19920" PostTypeId="2" ParentId="16428" CreationDate="2013-11-22T18:57:45.620" Score="5" Body="&lt;p&gt;There are two new papers on graphs without cycle having exactly one chord. Both mainly deal with coloring these graphs: &#xA;&lt;a href=&quot;http://arxiv.org/abs/1309.2749&quot;&gt;http://arxiv.org/abs/1309.2749&lt;/a&gt; and &lt;a href=&quot;http://arxiv.org/abs/1311.1928&quot;&gt;http://arxiv.org/abs/1311.1928&lt;/a&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The later also gives an $O(m^2n)$ recognition algorithm. But a faster one &#xA;in time $O(mn)$ is already provided in the paper by Trotignon and Vuskovic &#xA;(cited in answer by user13136).&lt;/p&gt;&#xA;" OwnerUserId="13667" LastActivityDate="2013-11-22T18:57:45.620" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19921" PostTypeId="1" AcceptedAnswerId="19953" CreationDate="2013-11-22T19:02:22.900" Score="8" ViewCount="1085" Body="&lt;p&gt;Primality was a nice problem that was in ZPP but was not known to be in P. Is there a (preferably simple to state) problem of which we can prove that it is in ZPP but we do not know whether it is in P or not?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I know ZPP=EXP might hold and so on, I want a problem surely in ZPP that is not surely in P.&lt;/p&gt;&#xA;" OwnerUserId="419" LastActivityDate="2013-11-25T03:31:10.187" Title="Is there a problem in ZPP not yet in P?" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;randomness&gt;" AnswerCount="1" CommentCount="12" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19922" PostTypeId="1" AcceptedAnswerId="19924" CreationDate="2013-11-22T21:33:02.657" Score="8" ViewCount="3542" Body="&lt;p&gt;I'm reading through &quot;Type Theory &amp;amp; Functional Programming&quot; by Simon Thompson and it says&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;We shall not distinguish between expressions which are equivalent up to change of bound variable names in what follows. (As an aside, this convention which is easy to state, and indeed for us to follow, is surprisingly difficult to implement.)&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;This seems quite straightforward to implement though:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given two sets $\Gamma_1$ and $\Gamma_2$, where $\Gamma_1$ = $\Gamma_2$ = $\varnothing$, a $\lambda$-expression $e_1$ is $\alpha$-equivalent to a $\lambda$-expression $e_2$ (that is, $(e_1, \Gamma_1) \equiv_\alpha (e_2, \Gamma_2)$) iff&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;$e_1$ and $e_2$ are variables and $e_1 \in \Gamma_1$ and $e_2 \in \Gamma_2$&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;$e_1 \equiv (e_1'e_1'')$ and $e_2 \equiv (e_2'e_2'')$ are applications and $(e_1', \Gamma_1) \equiv_\alpha (e_2', \Gamma_2)$ and $(e_1'', \Gamma_1) \equiv_\alpha (e_2'', \Gamma_2)$&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;$e_1 \equiv (\lambda x_1.e_1')$ and $e_2 \equiv (\lambda x_2.e_2')$ are abstractions and $(e_1', \Gamma_1 \cup x_1) \equiv_\alpha (e_2', \Gamma_2 \cup x_2)$&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Is there something wrong with my interpretation of the problem and consequent answer or is the author simply misinformed?&lt;/p&gt;&#xA;" OwnerUserId="19631" LastActivityDate="2020-12-16T00:07:46.457" Title="Implementation of alpha equivalence" Tags="&lt;lambda-calculus&gt;" AnswerCount="3" CommentCount="2" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="19923" PostTypeId="2" ParentId="19922" CreationDate="2013-11-22T22:42:46.727" Score="14" Body="&lt;p&gt;The author is not misinformed, I'm afraid; it's part of the development process of any computer scientist to go through several phases:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Phase 1: $\alpha$-equivalence is easy! Why is everyone making a big deal about this?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Phase 2: $\alpha$-equivalence is impossible! Why should I do computer science if such a basic notion is so impossibly complex?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Phase 3: I've finally understood $\alpha$-conversion! I should write up a paper to explain it to the world!&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I'm currently in phase 2. However I'll try to explain my limited understanding.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Your algorithm is flawed: it doesn't distinguish&#xA;$$ \lambda x.\lambda y. x\ y$$&#xA;and&#xA;$$\lambda x.\lambda y. y\ x$$&lt;/li&gt;&#xA;&lt;li&gt;It's not completely trivial to fix: if you want to prove the equivalence of $\lambda x.\lambda y.x\ y$ and $\lambda y.\lambda x. y\ x$ (which does hold!), you have to find a &lt;em&gt;new&lt;/em&gt; variable $z$, and replace $x$ by $z$ in the first term, and $y$ by $z$ in the second. If you simply replace $y$ by $x$ in the second term, you'll get $\lambda x.\lambda x.x\ x$ which is &lt;em&gt;not&lt;/em&gt; what you want.&lt;/li&gt;&#xA;&lt;li&gt;It seems you can &quot;pre-process&quot; your terms by requiring all bound variables to be distinct. This is called &lt;em&gt;hygiene&lt;/em&gt;. Unfortunately hygienic terms like&#xA;$$ (\lambda x. x\ x)\ (\lambda y.y)$$&#xA;become &lt;em&gt;unhygienic&lt;/em&gt; when applying &lt;em&gt;$\beta$-reduction&lt;/em&gt;:&#xA;$$ (\lambda x. x\ x)\ (\lambda y.y)\rightarrow_\beta (\lambda y.y)\ (\lambda y.y)$$&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;There is a vast literature on how to do this properly. The main approach on how to handle $\alpha$-equivalence that I know of is &lt;a href=&quot;http://www.cl.cam.ac.uk/~amp12/talks/tacs01.pdf&quot;&gt;Nominal Logic&lt;/a&gt; which instead of re-naming, advocates &quot;swapping&quot; which is better behaved. The other (non)-solution is to do away with variable names altogether and simply have pointers from variable positions to $\lambda$s, as seen in the variants of the &lt;a href=&quot;http://en.wikipedia.org/wiki/De_Bruijn_index&quot;&gt;de Bruijn index&lt;/a&gt; method.&lt;/p&gt;&#xA;" OwnerUserId="3984" LastActivityDate="2013-11-22T22:42:46.727" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="19924" PostTypeId="2" ParentId="19922" CreationDate="2013-11-23T00:19:58.983" Score="11" Body="&lt;p&gt;I doubt that this author is misinformed… but in any case, you did miss part of the problem. In all fairness, the statement you quote doesn't describe the whole problem. I don't have the book, perhaps a later section expands on the topic after covering more background material.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You're only describing how to implement a test for alpha equivalence. This is not enough: you need to maintain alpha equivalence in any transformation that you apply to terms. Formally speaking, whenever a function takes a term as argument, it must return the same result (or an alpha-equivalent result) when you apply it to an alpha-equivalent argument.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Sounds easy? Let's take substitution, which is the first major function you encounter when studying lambda calculus.&#xA;$$ (\lambda x. x y) [y/z] = (\lambda x. x z) $$&#xA;Looks easy so far. Let's rename a bound variable — we're just changing a term for an alpha-equivalent one. Can we do the same renaming in the result?&#xA;$$ \color{red}{(\lambda z. z y) [y/z] = (\lambda z. z z)} \quad \text{?!}$$&#xA;Oh dear. That's wrong. What did we miss? Ah, yes: the rules of &lt;a href=&quot;http://en.wikipedia.org/wiki/%CE%9B_calculus#Capture-avoiding_substitutions&quot;&gt;capture-avoiding substitution&lt;/a&gt; say that we aren't allowed to substitute that $z$ under the $\lambda z$. So what's the result? Undefined? Of course not — substitution happens when you do a beta reduction, and lambda terms don't get stuck, so there must be a result. The normal way to see this result is to apply an alpha conversion first, and then perform the substitution.&#xA;$$ (\lambda z. z y) [y/z] \equiv_\alpha (\lambda x. x y) [y/z] = (\lambda x. x z) $$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Renaming bound variables so that they don't clash with free variables is the gist of the &lt;a href=&quot;http://en.wikipedia.org/wiki/De_Bruijn_index#Alternatives_to_De_Bruijn_indices&quot;&gt;variable convention&lt;/a&gt; — the convention that people invariably follow when they aren't reasoning about variable names, which explains how not to worry and learn to love variable names. The variable convention is not too difficult to apply on paper, though you need to be careful when you take terms from different sources and put them together. But when you're processing terms automatically, it gets to be a pain, and error-prone. You need to be especially careful when manipulating terms under binders, which compilers and optimizers do.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Automatic reasoning up to alpha equivalence is painful in many theorem provers, which has motivated a lot of research on metatheory of binders and their representations, especially with the increased interest in mechanizing programming language theory in the 2000s. The &lt;a href=&quot;https://en.wikipedia.org/wiki/POPLmark_challenge&quot;&gt;POPLmark challenge&lt;/a&gt; was a focal point of this research (it wasn't solely about variable binding, but that was a major part of the difficulty). One approach worth mentioning is &lt;a href=&quot;http://www.chargueraud.org/projects/meta/&quot;&gt;locally nameless representations&lt;/a&gt;, where free variables get names but bound variables are represented canonically (i.e. there is a single way to write a term) using &lt;a href=&quot;http://en.wikipedia.org/wiki/De_Bruijn_index&quot;&gt;De Bruijn indices&lt;/a&gt; — but there are many other approaches.&lt;/p&gt;&#xA;" OwnerUserId="634" LastActivityDate="2013-11-23T00:19:58.983" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19925" PostTypeId="1" AcceptedAnswerId="19948" CreationDate="2013-11-23T03:27:00.063" Score="0" ViewCount="129" Body="&lt;p&gt;I'm reading through a paper on feature selection: &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.231.7844&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Feature Selection Based on Mutual Information: Criteria of Max-Dependency, Max-Relevance,and in-Redundancy&#xA;&lt;/a&gt; but I'm unable to understand parts of the proof presented in section 2.3 where they are using information theory to prove that Max-Dependency is equivalent to the algorithm they present (mRMR). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I don't follow how they derive the equality for minimal redundancy...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/iXTy6.gif&quot; alt=&quot;step 3&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;... from ... &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/9o2T9.gif&quot; alt=&quot;step 2&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;... and ...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/69FQY.gif&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(There is a similar step for the maximal relevance term which I also don't grasp)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My best understanding of what they are doing is that the entropy for each individual feature is found in the summation of the H(x_i) terms, and then the mutual information between all features is subtracted out in the J term, and that this is done (some how) through the chain rule, and then collection of the mutual information terms? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I don't have a strong back ground in information theory - so this is mostly conjecture. Hopefully some one with a stronger information theoretic background could elucidate this. Thanks.&lt;/p&gt;&#xA;" OwnerUserId="16041" LastEditorUserId="16041" LastEditDate="2013-11-23T04:45:02.657" LastActivityDate="2013-11-24T19:59:23.937" Title="Mutual information and entropy to prove minimal Relevance Maximum Dependency" Tags="&lt;machine-learning&gt;&lt;it.information-theory&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19928" PostTypeId="2" ParentId="19548" CreationDate="2013-11-23T11:38:14.170" Score="11" Body="&lt;p&gt;The answer to your question is really there in Reynolds's fable (Section 1).  Let me try and interpret it for you.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In a language or formalism in which types are treated as &lt;em&gt;abstractions&lt;/em&gt;, a type variable can stand for any abstract concept whatsoever.  We don't assume that types are generated via some syntax of type terms, or some fixed collection of type operators, or that we can test two types for equality etc.  In such a language, if a function involves a type variable then the only thing the function can do to values of that type is to shuffle around the values it has  been given.  It cannot invent new values of that type, because it doesn't &quot;know&quot; what that type is!  That is the intuitive idea of &lt;em&gt;parametricity&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then Reynolds thought about how to capture this intuitive idea mathematically, and noticed the following principle.  Suppose we instantiate the type variable, say $t$, to two different concrete types, say $A$ and $A'$, in separate instantiations, and keep in our mind some correspondence $R : A \leftrightarrow A'$ between the two concrete types.  Then we can imagine that, in one instance, we provide a value $x \in A$ to the function and, in the other instance, a corresponding value $x' \in A'$ (where &quot;corresponding&quot; means that $x$ and $x'$ are related by $R$).  Then, since the function knows nothing about the types we are supplying for $t$ or the values of that type, it has to treat $x$ and $x'$ in exactly the same way.  So, the results we get from the function should again correspond by the relation $R$ we have kept in our mind, i.e., wherever the element $x$ appears in the result of one instance, the element $x'$ must appear in the other instance.  Thus, &lt;em&gt;a parametrically polymorphic function should preserve all possible relational correspondences between possible instantiations of type variables&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This idea of preservation of correspondences is not new.  Mathematicians have known about it for a long time.  In the first instance, they thought that polymorphic functions should preserve isomorphisms between type instantiations.  Note that isomorphism means some idea of a &lt;em&gt;one-to-one correspondence&lt;/em&gt;.  Apparently, isomorphisms were originally called &quot;homomorphisms&quot;.  Then they realized that what we now call &quot;homomorphisms&quot;, i.e., some idea of &lt;em&gt;many-to-one correspondences&lt;/em&gt;, would be preserved too.  Such preservation goes by the name of &lt;em&gt;natural transformation&lt;/em&gt; in category theory.  But, if we think about it keenly, we realize that preservation of homomorphisms is utterly unsatisfying.  The types $A$ and $A'$ we mentioned are completely arbitrary.  If we pick $A$ as $A'$ and $A'$ as $A$, we should get the same property.  So, why should &quot;many-to-one correspondence&quot;, an asymmetric concept, play a role in formulating a symmetric property?  Thus, Reynolds took the big step of generalizing from homomorphisms to logical relations, which are &lt;em&gt;many-to-many correspondences&lt;/em&gt;.  The full impact of this generalization is not yet fully understood.  But the underlying intuition is fairly clear.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is one further subtlety here.  Whereas the instantiations of type variables can be arbitrarily varied, constant types should stay fixed.  So, when we formulate the relational correspondence for a type expression with both variable types and constant types, we should use the chosen relation $R$ wherever the type variable appears and the identity relation $I_K$ wherever a constant type $K$ appears.  For instance, the relation expression for the type $t \times Int \to Int \times t$ would be $R \times I_{Int} \to I_{Int} \times R$.  So, if $f$ is a function of this type, it should map a pair $(x,n)$ and a related $(x',n)$ to some pair $(m,x)$ and related $(m,x')$.  Note that we are obliged to test the function by putting the same values for constant types in the two cases, and we are guaranteed to get the same values for constant types in the outputs.  So, in formulating relational correspondences for type expressions, we should make sure that, by plugging in identity relations (representing the idea that those types are going to be consant), we get back identity relations, i.e., $F(I_{A_1},\ldots,I_{A_n}) = I_{F(A_1,\ldots,A_n)}$.  This is the crucial &lt;em&gt;identity extension&lt;/em&gt; property.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To understand parametricity intuitively, all you need to do is to pick some samplee function types, think of what functions can be expressed of those types, and think about how those functions behave if you plug in different instantiations of type variables and different values of those instantiation types.  Let me suggest a few function types to get you started: $t \to t$, $t \to Int$, $Int \to t$, $t \times t \to t \times t$, $(t \to t) \to t$, $(t \to t) \to (t \to t)$.&lt;/p&gt;&#xA;" OwnerUserId="8519" LastEditorUserId="8519" LastEditDate="2013-11-23T17:29:25.220" LastActivityDate="2013-11-23T17:29:25.220" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="19929" PostTypeId="5" CreationDate="2013-11-23T11:49:32.553" Score="0" Body="" OwnerUserId="-1" LastEditorUserId="-1" LastEditDate="2013-11-23T11:49:32.553" LastActivityDate="2013-11-23T11:49:32.553" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19930" PostTypeId="4" CreationDate="2013-11-23T11:49:32.553" Score="0" Body="Parametricity is the semantic theory of parametrically polymorphic functions, i.e., functions parameterized by type parameters." OwnerUserId="8519" LastEditorUserId="8519" LastEditDate="2013-11-23T21:06:23.700" LastActivityDate="2013-11-23T21:06:23.700" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19931" PostTypeId="2" ParentId="189" CreationDate="2013-11-23T11:59:06.380" Score="3" Body="&lt;p&gt;In THE BOOK, there should include &quot;The Power of Random Two Choices&quot; paradiam.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.eecs.harvard.edu/~michaelm/postscripts/handbook2001.pdf&quot; rel=&quot;nofollow&quot;&gt;http://www.eecs.harvard.edu/~michaelm/postscripts/handbook2001.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Result is pretty simple, but super helpful to use in practical scenarios, and algorithm design . It can help to reduce computation complexity by load balance in algorithm based on &quot;the power of random two choices&quot;&lt;/p&gt;&#xA;" OwnerUserId="9934" LastActivityDate="2013-11-23T11:59:06.380" CommentCount="0" CommunityOwnedDate="2013-11-23T11:59:06.380" ContentLicense="CC BY-SA 3.0" />
  <row Id="19932" PostTypeId="1" CreationDate="2013-11-23T12:25:33.093" Score="0" ViewCount="208" Body="&lt;p&gt;I understand the significance of the theory of comptuation, for example NP-hardness of a problem signals us to forget about implementing it's exact solution and rather try approximating it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the similar fashion, I am not able to get intuition of how to bridge the theory and practical aspects of the course &quot;Logic in Computer Science&quot;. Let's say, some problem does not belong to Predicate or First-order logic, and that can be rather modeled by LTL or CTL. So what does that signify?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any links or pointers will be helpful. Thanks in advance.&lt;/p&gt;&#xA;" OwnerUserId="16547" LastActivityDate="2013-11-23T12:25:33.093" Title="Significance of Logic in Computer Science" Tags="&lt;cc.complexity-theory&gt;&lt;lo.logic&gt;" AnswerCount="0" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="19935" PostTypeId="1" AcceptedAnswerId="19941" CreationDate="2013-11-23T21:12:48.487" Score="2" ViewCount="166" Body="&lt;p&gt;I am framing a particular combinatorial question using users and files for better understanding.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let there be a universe of files $F$ = $\{f_1, f_2,\ldots,f_n\}$ and $2k$ users $\{u_1, u_2,\ldots, u_{2k}\}$. Each user $u_i$ has a set of files denoted by $F(u_i) \subseteq F$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can the users be divided (whenever possible) into two equal sized group $G_1$ and $G_2$ in polynomial time in $n$, such that   $\mathcal{F}(G_1) = \bigcup_{u_i \in G_1} F(u_i)$ and similarly let &#xA;$\mathcal{F}(G_2) = \bigcup_{u_j \in G_2} F(u_j)$ satisfy the following conditions:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\mathcal{F}(G_1)\not\subset \mathcal{F}(G_2) \text{ and } \mathcal{F}(G_2)\not\subset \mathcal{F}(G_1), $$&#xA;where $\not \subset$ means &quot;not a strict subset&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT 1&lt;/strong&gt;: The algorithm must to be polynomial time in $k$ and $n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks in advance.&lt;/p&gt;&#xA;" OwnerUserId="16261" LastEditorUserId="16261" LastEditDate="2013-11-24T10:09:43.330" LastActivityDate="2013-11-24T14:01:49.370" Title="Dividing users with certain files into 2 equal groups" Tags="&lt;reference-request&gt;&lt;co.combinatorics&gt;&lt;np&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="19937" PostTypeId="1" CreationDate="2013-11-23T22:38:33.330" Score="4" ViewCount="263" Body="&lt;p&gt;I am looking for a good relatively complete and up-to-date book or survey about heuristic algorithm design techniques.&lt;/p&gt;&#xA;" OwnerUserId="186" LastActivityDate="2013-11-24T12:21:28.507" Title="Heuristic algorithm design techniques" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;survey&gt;&lt;books&gt;" AnswerCount="0" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19938" PostTypeId="2" ParentId="19759" CreationDate="2013-11-24T04:15:23.657" Score="4" Body="&lt;p&gt;&lt;strong&gt;Customizable Route Planning&lt;/strong&gt; (Daniel Delling, Andrew V. Goldberg, Thomas Pajor, and Renato F. Werneck) &lt;a href=&quot;http://research.microsoft.com/apps/pubs/default.aspx?id=145688&quot; rel=&quot;nofollow&quot;&gt;http://research.microsoft.com/apps/pubs/default.aspx?id=145688&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;powers Bing Maps: &lt;a href=&quot;http://www.bing.com/blogs/site_blogs/b/maps/archive/2012/01/05/bing-maps-new-routing-engine.aspx&quot; rel=&quot;nofollow&quot;&gt;http://www.bing.com/blogs/site_blogs/b/maps/archive/2012/01/05/bing-maps-new-routing-engine.aspx&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="4821" LastActivityDate="2013-11-24T04:15:23.657" CommentCount="0" CommunityOwnedDate="2013-11-25T22:41:27.287" ContentLicense="CC BY-SA 3.0" />
  <row Id="19939" PostTypeId="2" ParentId="19759" CreationDate="2013-11-24T07:42:00.040" Score="-3" Body="&lt;p&gt;Rosetta Code lists applied algorithms by &lt;a href=&quot;http://rosettacode.org/wiki/Category%3aProgramming_Tasks&quot; rel=&quot;nofollow&quot;&gt;Programming Task&lt;/a&gt; (692) and by &lt;a href=&quot;http://rosettacode.org/wiki/Category%3aProgramming_Languages&quot; rel=&quot;nofollow&quot;&gt;Programming Language&lt;/a&gt; (518) with Semantic MediaWiki.&lt;/p&gt;&#xA;" OwnerUserId="19733" LastActivityDate="2013-11-24T07:42:00.040" CommentCount="5" CommunityOwnedDate="2013-11-25T22:41:27.287" ContentLicense="CC BY-SA 3.0" />
  <row Id="19940" PostTypeId="1" CreationDate="2013-11-24T08:25:34.050" Score="5" ViewCount="96" Body="&lt;p&gt;Orthogonal 2-dimensional range reporting is the problem of storing a set of values from $U \times V$, where $U$ and $V$ are totally ordered universes, subject to queries of the form &quot;Return all stored points in the four-sided box $[a,b] \times [c,d]$&quot;, where $a,b \in U$ and $c,d \in V$ are parameters of the query.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Nekrich, in &lt;a href=&quot;http://dx.doi.org/10.1016/j.comgeo.2008.09.001&quot; rel=&quot;nofollow&quot;&gt;&quot;Orthogonal range searching in linear and almost-linear space&#xA;&quot;&lt;/a&gt;, summarizes the best known results for linear space:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;\begin{array}{|l|l|l|}&#xA;\hline \text{Reference} &amp;amp; \text{Query Time} &amp;amp; \text{Modification Time} \\&#xA;\hline \text{Kreveld and Overmars} &amp;amp; O(\sqrt{n \lg n} + k) &amp;amp; O(\lg n)\\&#xA;\hline \text{Chazelle} &amp;amp; O((k+1)\lg^2 n) &amp;amp; O(\lg^2 n)\\&#xA;\hline \text{Nekrich} &amp;amp; O(\lg n + k \lg^\varepsilon n) &amp;amp; O(\lg^{3+\varepsilon} n) \\&#xA;\hline&#xA;\end{array}&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.cs.uu.nl/research/techreps/repo/CS-1988/1988-28.pdf&quot; rel=&quot;nofollow&quot;&gt;Kreveld and Overmars, &quot;Divided K-d trees&quot;&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.cs.princeton.edu/~chazelle/pubs/FunctionalDataStructures.pdf&quot; rel=&quot;nofollow&quot;&gt;Chazelle, &quot;A functional approach to data structures and its use in multidimensional searching&quot;&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://dx.doi.org/10.1016/j.comgeo.2008.09.001&quot; rel=&quot;nofollow&quot;&gt;Nekrich, &quot;Orthogonal range searching in linear and almost-linear space&#xA;&quot;&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;What are the best known extensions of these in external memory? The result from &lt;a href=&quot;http://cs.au.dk/~large/Papers/rangepods99.pdf&quot; rel=&quot;nofollow&quot;&gt;Arge et al.'s &quot;On two-dimensional indexability and optimal range search indexing&quot;&lt;/a&gt; uses superlinear space. The only generalizations I know have bounds&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;\begin{array}{|l|l|l|}&#xA;\hline \text{Reference} &amp;amp; \text{Query Time} &amp;amp; \text{Modification Time} \\&#xA;\hline \text{Kanth and Singh} &amp;amp; O(\sqrt{n/B} + k/B) &amp;amp; O(\lg_B n)\\&#xA;\hline \text{Procopiuc et al.} &amp;amp; O(\sqrt{n/B} + k/B) &amp;amp; O\left(\frac{1}{B} \left( \lg_{M/B} \frac{n}{B}\right) \left(\lg \frac{n}{M}\right)\right)\\&#xA;\hline&#xA;\end{array}&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://cs.au.dk/~large/ioS05/KS.pdf&quot; rel=&quot;nofollow&quot;&gt;Kanth and Singh, &quot;Optimal dynamic range searching in non-replicating index structures&quot;&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.cs.duke.edu/~pankaj/publications/papers/bkd-sstd.pdf&quot; rel=&quot;nofollow&quot;&gt;Procopiuc et al., &quot;Bkd-tree: A Dynamic Scalable kd-tree&quot;&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="43" LastEditorUserId="43" LastEditDate="2013-12-05T03:39:42.267" LastActivityDate="2013-12-05T03:39:42.267" Title="Dynamic 2-dimensional orthogonal range reporting in external memory and linear space" Tags="&lt;cg.comp-geom&gt;&lt;ds.data-structures&gt;" AnswerCount="0" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="19941" PostTypeId="2" ParentId="19935" CreationDate="2013-11-24T09:50:24.187" Score="2" Body="&lt;p&gt;The problem is NP-complete. The reduction is from the &lt;a href=&quot;http://en.wikipedia.org/wiki/Set_cover_problem&quot; rel=&quot;nofollow&quot;&gt;Set cover problem&lt;/a&gt;. Let one user has all the files $F$. Then our only hope is to achieve $\mathcal{F}(G_2)= \mathcal{F}(G_1)$. So the question is, from given $2k-1$ sets, are there $k$ that cover the ground set? This easily reduces to the decision version of the Set cover problem after adding a few dummy users/files.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My old answer, which gives a polytime algorithm if we do not allow $\mathcal{F}(G_2)= \mathcal{F}(G_1)$:&#xA;Yes, you can check this in P. Your condition is equivalent to that there is an $f_i$ and $f_j$ such that $f_i\in \mathcal{F}(G_1)\setminus \mathcal{F}(G_2)$ and $f_j\in \mathcal{F}(G_2)\setminus \mathcal{F}(G_1)$. So all you have to do is for each pair, $f_i, f_j$, you check whether you can divide the users appropriately. This can be done if no user has both files and at most $k$ users have any of the files. The total running time is $O(n^2k)$ (if the info is stored appropriately) which can be easily improved.&lt;/p&gt;&#xA;" OwnerUserId="419" LastEditorUserId="419" LastEditDate="2013-11-24T14:01:49.370" LastActivityDate="2013-11-24T14:01:49.370" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="19945" PostTypeId="1" AcceptedAnswerId="19999" CreationDate="2013-11-24T16:42:38.310" Score="2" ViewCount="446" Body="&lt;p&gt;Subset $k$-sum problem has been well studied as a fixed parameter version of subset sum.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is known about the analogous Subset $k$-product problem which is the fixed parameter version of subset product?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am interested in the case where the base field has characteristic $0$ and not $0$ and large of order $O(2^n)$ where $n$ is the number of elements as input to the problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a faster than $n^{O(k)}$ algorithm for this problem?&lt;/p&gt;&#xA;" OwnerUserId="1812" LastEditorUserId="1812" LastEditDate="2013-11-25T14:18:23.197" LastActivityDate="2013-12-02T00:46:18.303" Title="Subset $k$-product" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19948" PostTypeId="2" ParentId="19925" CreationDate="2013-11-24T19:59:23.937" Score="1" Body="&lt;p&gt;For the equations you are reporting, $J(S_m) = I(S_{m-1}; x_m)$, i.e. $J(S_m)$ is the mutual information between $S_{m-1}$ and $x_m$. Since for any two random variables $X$ and $Y$ &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$I(X; Y) = H(X) + H(Y) - H(X; Y)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;the equation follows directly from the definition of mutual information (the chain rule does not apply here, since there is no need to deal with conditional entropy):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\begin{gathered}&#xA;  H({S_{m - 1}},{x_m}) = H({S_m})  \\&#xA;   = \sum\limits_{i = 1}^m {H({x_i})}  - J({S_m})  \\&#xA;   = \sum\limits_{i = 1}^m {H({x_i})}  - I({S_{m - 1}};{x_m})  \\&#xA;   = \sum\limits_{i = 1}^m {H({x_i})}  - (H({S_{m - 1}}) + H({x_i}) - H({S_{m - 1}},{x_m}))  \\&#xA;   = \sum\limits_{i = 1}^m {H({x_i})}  - (\sum\limits_{i = 1}^m {H({x_i})}  - H({S_{m - 1}},{x_m}))  \\&#xA;   = H({S_{m - 1}},{x_m})  \\ &#xA;\end{gathered}$&lt;/p&gt;&#xA;" OwnerUserId="4208" LastActivityDate="2013-11-24T19:59:23.937" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="19949" PostTypeId="1" AcceptedAnswerId="19950" CreationDate="2013-11-19T15:01:08.247" Score="7" ViewCount="562" Body="&lt;p&gt;Consider the complexity classes &lt;a href=&quot;https://complexityzoo.uwaterloo.ca/Complexity_Zoo%3aN#np&quot;&gt;$\mathsf{NP}$&lt;/a&gt; and &lt;a href=&quot;https://complexityzoo.uwaterloo.ca/Complexity_Zoo%3aZ#zpp&quot;&gt;$\mathsf{ZPP}$&lt;/a&gt;. Whether the two classes are equal is an open question, but as far as I know, $\mathsf{NP} = \mathsf{ZPP}$ is not known to imply $\mathsf{P} = \mathsf{NP}$. For example, there are many inapproximability results depending on $\mathsf{NP} \neq \mathsf{ZPP}$, but what evidence do we have for believing they would indeed be not equal?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In other words, what would be the consequences of $\mathsf{NP} = \mathsf{ZPP}$? Is it safe to claim that likewise for $\mathsf{P}$ and $\mathsf{NP}$, many theorists also believe $\mathsf{NP}$ is not equal to $\mathsf{ZPP}$?&lt;/p&gt;&#xA;" OwnerUserId="5693" OwnerDisplayName="Juho" LastEditorUserId="634" LastEditDate="2013-11-24T23:01:33.630" LastActivityDate="2013-11-25T01:15:25.027" Title="Consequences and state-of-the-art of NP ≠ ZPP?" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;np&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="19950" PostTypeId="2" ParentId="19949" CreationDate="2013-11-19T19:18:38.440" Score="3" Body="&lt;p&gt;Yes, it is safe to claim that most theorists believe that $\mathsf{NP}$ is not equal to $\mathsf{ZPP}$ -- and that most theorists believe that $\mathsf{NP}$ is not equal to $\mathsf{BPP}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One consequence of $\mathsf{NP} = \mathsf{ZPP}$ is that computational cryptography is impossible.  This is described as the world Algorithmica in Impagliazzo's famous five worlds:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.cs.ucsd.edu/users/russell/average.ps&quot; rel=&quot;nofollow&quot;&gt;A Personal View of Average-Case Complexity&lt;/a&gt;.  Russell Impagliazzo.  1995 Complexity Conference. (A PDF version is &lt;a href=&quot;http://www.karlin.mff.cuni.cz/~krajicek/ri5svetu.pdf&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;).&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Note that as far as practical consequences go, Impagliazzo says it doesn't matter much whether we have $\mathsf{P} = \mathsf{NP}$ or $\mathsf{NP} \subseteq \mathsf{BPP}$ (he even calls the latter the &quot;moral equivalent&quot; of $\mathsf{P} = \mathsf{NP}$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See also &lt;a href=&quot;http://blog.computationalcomplexity.org/2004/05/what-if-p-np.html&quot; rel=&quot;nofollow&quot;&gt;What if P = NP?&lt;/a&gt; for additional practical consequences (assuming the constants hidden by asymptotic notation are not too large).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I don't know whether there are any surprising implications for complexity classes.&lt;/p&gt;&#xA;" OwnerUserId="5038" OwnerDisplayName="D.W." LastEditorUserId="5038" LastEditDate="2013-11-25T01:15:25.027" LastActivityDate="2013-11-25T01:15:25.027" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19953" PostTypeId="2" ParentId="19921" CreationDate="2013-11-24T23:15:07.737" Score="9" Body="&lt;p&gt;The Problem:&#xA;&lt;br&gt;&lt;br&gt;&lt;br&gt;&#xA;Input: $\;\;$ a tuple that parses as $\:\langle \hspace{.04 in}p,\hspace{-0.03 in}y,\hspace{-0.03 in}i\hspace{.02 in}\rangle$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Output:&#xA;&lt;br&gt;&#xA;if $p$ is prime and $y$ is a &lt;a href=&quot;http://en.wikipedia.org/wiki/Quadratic_residue&quot; rel=&quot;noreferrer&quot;&gt;quadratic residue&lt;/a&gt; modulo $p$, $\;$ then the $\hspace{.02 in}i\hspace{.03 in}$th$\hspace{.01 in}$ bit of the&#xA;&lt;br&gt;&#xA;non-negative integer $x$ that satisfies $\;\;\; x^{\hspace{.02 in}2} \equiv y \; \pmod p\;\;\;$ and $\;\; 2\hspace{-0.04 in}\cdot \hspace{-0.04 in}x \: \leq \: p \;\;$,&#xA;&lt;br&gt;&#xA;else 0&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;br&gt;&lt;br&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;According to &lt;a href=&quot;http://en.wikipedia.org/wiki/Quadratic_residue#Prime_or_prime_power_modulus&quot; rel=&quot;noreferrer&quot;&gt;the wiki article&lt;/a&gt;, that problem is in ZPP but is not known to be in P.&#xA;&lt;br&gt;&lt;br&gt;&lt;/p&gt;&#xA;" OwnerDisplayName="user6973" LastEditorDisplayName="user6973" LastEditDate="2013-11-25T03:31:10.187" LastActivityDate="2013-11-25T03:31:10.187" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="19955" PostTypeId="1" CreationDate="2013-11-25T05:37:46.813" Score="2" ViewCount="142" Body="&lt;p&gt;Consider the logic whose $\tau$-sentences are the sentences in $IFP(\tau \cup \{&amp;lt;\})$, and the satisfaction relation is given by $\mathfrak{A} \models^* \phi$ if $(\mathfrak{A}, &amp;lt;)  \models \phi$ for every ordering $&amp;lt;$ of $\mathfrak{A}$. Why does this logic not capture PTIME? I suppose that it is because a machine cannot quickly determine whether whether all linear orderings satisfy the sentence, but is there a formal proof of this?&lt;/p&gt;&#xA;" OwnerUserId="20114" LastActivityDate="2013-11-25T16:32:20.627" Title="Why does IFP&lt; not capture PTIME?" Tags="&lt;cc.complexity-theory&gt;&lt;lo.logic&gt;" AnswerCount="2" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19956" PostTypeId="1" AcceptedAnswerId="19967" CreationDate="2013-11-25T07:42:23.493" Score="4" ViewCount="196" Body="&lt;p&gt;Given a class of hypothesis $\mathcal{H}$ representing the set of all consistent hypotheses with the examples seen so far, how to compute the region of uncertainty? The region of uncertainty is defined as all points where there are two or more hypotheses disagree on its labelling. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am representing $\mathcal{H}$ as two hypotheses: most specific (MS) and most general (MG) (as described &lt;a href=&quot;http://en.wikipedia.org/wiki/Version_space&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt; ). $\mathcal{H}$ consists of these two and anything in between. Clearly, enumerating all possible hypotheses is infeasible due to the size of $\mathcal{H}$. To put it in one word, how to compute disagreements in practice?  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;sorry for not being specific. I am trying to learn a graphical model similar to bayesian networks but instead of probabilities I have order relation.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have a set of variables $V=\{v_1,v_2,...,v_n\}$ where each variable has a set of possible values (its domain). $V$ defines an outcome space $\mathcal{O}$ (the set of all possible assignments over $V$ from their domain values). For example, if $A=\{1,2\}$ and $B=\{3,4\}$ we have $\mathcal{O}=\{(1,3),(1,4),(2,3),(2,4)\}$. The input space $X$ is the set of all pairs of outcomes from $\mathcal{O}$. Each example $x$ consist of pairs of outcomes $a$,$b\in \mathcal{O}$ (denoted as $x[a]$,$x[b]$ respectively). The target function is a strict order relation $\succ$ over $\mathcal{O}$. I am adopting the active learning paradigm. I first choose $\mathcal{U}$ unlabelled examples, then ask the oracle to label an example $x\in \mathcal{U}$. $h(x)=+$ if $x[a]$ is better than $x[b]$ otherwise $-$. The hypothesis class $\mathcal{H}$ is the set of all possible strict (partial/total) orders consistent with the examples seen so far.  My main concern is how to select representative hypotheses from $\mathcal{H}$ &lt;/p&gt;&#xA;" OwnerUserId="17991" LastEditorUserId="17991" LastEditDate="2013-11-28T21:03:10.223" LastActivityDate="2013-11-29T18:28:05.570" Title="How to compute the disagreement between hypotheses" Tags="&lt;machine-learning&gt;" AnswerCount="2" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="19958" PostTypeId="1" AcceptedAnswerId="20028" CreationDate="2013-11-25T10:52:37.327" Score="1" ViewCount="106" Body="&lt;p&gt;There appears to be this &lt;a href=&quot;http://en.wikipedia.org/wiki/Actor_model_and_process_calculi&quot; rel=&quot;nofollow&quot;&gt;beautiful algebra&lt;/a&gt; to help you think through the implications of Communicating Sequential Processes by Hoare. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;What I'm wondering, is there an equivalent algebra that helps you think through ACID transactions on a database, where one suceeds and another rolls back?&lt;/p&gt;&#xA;" OwnerUserId="608" LastActivityDate="2013-11-28T22:28:26.467" Title="Is there a 'process algebra' to describe ACID transactions on a database?" Tags="&lt;algebra&gt;&lt;process-algebra&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19962" PostTypeId="1" CreationDate="2013-11-25T12:00:50.397" Score="42" ViewCount="2640" Body="&lt;p&gt;The &lt;a href=&quot;https://en.wikipedia.org/wiki/Graph_isomorphism_problem&quot; rel=&quot;nofollow noreferrer&quot;&gt;Graph Isomorphism problem&lt;/a&gt; (GI) is arguably &#xA;the best known candidate for an &lt;a href=&quot;https://cstheory.stackexchange.com/questions/79/problems-between-p-and-npc&quot;&gt;NP-intermediate&lt;/a&gt; problem. &#xA;The best known algorithm is sub-exponential algorithm &#xA;with run-time $2^{O(\sqrt{n \log n})}$. &#xA;It is known that GI is not $\mathsf{NP}$-complete unless &#xA;the &lt;a href=&quot;https://en.wikipedia.org/wiki/Polynomial_hierarchy&quot; rel=&quot;nofollow noreferrer&quot;&gt;polynomial hierarchy&lt;/a&gt; collapses. &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What would be the complexity theoretic consequences of a quasi-polynomial time algorithm for the Graph Isomorphism problem?&lt;br&gt;&#xA;  Would a quasi-polynomial time algorithm for GI refute any famous conjectures in complexity theory?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Other similar problems like &#xA;Minimum Dominating Set in Tournaments problem, &#xA;Group Isomorphism problem, and &#xA;Tournament Isomorphism problem &#xA;have quasi-polynomial time (&lt;a href=&quot;https://complexityzoo.uwaterloo.ca/Complexity_Zoo:Q#qp&quot; rel=&quot;nofollow noreferrer&quot;&gt;QP&lt;/a&gt;) algorithms. &#xA;The later two problems are polynomial-time reducible to GI.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Can we efficiently reduce Minimum Dominating Set in Tournaments problem to GI?&lt;br&gt;&#xA;  Is there any conjecture ruling out GI being hard for QP?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Update (2015-12-14)&lt;/strong&gt;: Babai has &lt;a href=&quot;http://arxiv.org/abs/1512.03547&quot; rel=&quot;nofollow noreferrer&quot;&gt;posted a preliminary draft paper&lt;/a&gt; on arXiv for his quasipolynomial-time algorithm for GI.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Update (2017-01-04)&lt;/strong&gt;: Babai &lt;a href=&quot;http://people.cs.uchicago.edu/~laci/update.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;retracted&lt;/a&gt; the claim that the algorithm is in quasipolynomial time, according to the new analysis the algorithm is in subexponential time $\exp \exp(\tilde{O}(\sqrt{\lg n}))$ which is inside $2^{n^{o(1)}}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Update (2017-01-09)&lt;/strong&gt;: Babai &lt;a href=&quot;http://people.cs.uchicago.edu/~laci/update.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;reinstated&lt;/a&gt; the quasipolynomial time claim, replacing the offending procedure with a more efficient one.&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2017-01-30T12:42:55.657" Title="Consequences of a quasi-polynomial time algorithm for the graph isomorphism problem" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;graph-isomorphism&gt;" AnswerCount="3" CommentCount="19" FavoriteCount="10" ContentLicense="CC BY-SA 3.0" />
  <row Id="19964" PostTypeId="2" ParentId="19883" CreationDate="2013-11-25T15:07:20.413" Score="2" Body="&lt;p&gt;This is an answer just to record a solution to the problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given the polytope, I triangulate it without introducing new vertices. Then I generate for each simplex in the resulting simplicial complex many points in the interior with my second approach. Every coefficient vector will give distinct points because the vertices of the simplices are affinely independent. To implement this solution one can use Sage together with TOPCOM, for example.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Depending on the chosen triangulation, the dimension and and number of vertices this solution can actually be quite inefficient.&lt;/p&gt;&#xA;" OwnerUserId="9735" LastEditorUserId="9735" LastEditDate="2013-11-25T15:30:09.857" LastActivityDate="2013-11-25T15:30:09.857" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19965" PostTypeId="2" ParentId="19955" CreationDate="2013-11-25T16:27:12.333" Score="2" Body="&lt;p&gt;This semantic is powerful enough to embed co-$NP$-complete problems. For instance, on an input graph $G$, you can design $\phi$ to say &quot;the even elements according to $&amp;lt;$ do not form a clique&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then, under your semantic, $G\models^* \phi$ iff $G$ does not have a clique which is half the size of $G$. It is not hard to verify that this is a co-$NP$-complete problem, so unless $P=NP$, your logic is more powerful than $P$.&lt;/p&gt;&#xA;" OwnerUserId="8953" LastEditorUserId="8953" LastEditDate="2013-11-25T16:32:20.627" LastActivityDate="2013-11-25T16:32:20.627" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19966" PostTypeId="2" ParentId="19955" CreationDate="2013-11-25T16:29:32.377" Score="4" Body="&lt;p&gt;The definition of a logic&amp;nbsp;$\mathcal{L}$ capturing a complexity class&amp;nbsp;$\mathcal{C}$ requires that the problem of evaluating $\mathcal{L}$-formulas is itself in&amp;nbsp;$\mathcal{C}$.  However, evaluating formulas of the logic you suggest is &lt;strong&gt;coNP&lt;/strong&gt;-complete (in fact, even without the fixed points).&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Membership&lt;/strong&gt;. You can determine that $\mathfrak{A}\nvDash^* \varphi$ by guessing a linear order and checking that it makes the formula false.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Completeness&lt;/strong&gt;. A graph is non-3-colourable if, and only if, every linear order $\leq$ on its vertices satisfies the property that, for every pair $x$, $y$ of vertices, at least one of the the vertex sets $\{z\mid z&amp;lt;x\}$, $\{z\mid x\leq z&amp;lt;y\}$ and $\{z\mid y\leq z\}$ contains an edge.  This property is definable without using the fixed point operator.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;You could try to get around this by defining the formulas of the logic to be only the order-invariant $\mathrm{IFP}(\tau+&amp;lt;)$ formulas, i.e., those that are true for some linear order if, and only if, they are true for all. But it's an easy consequence of Trakhtenbrot's theorem that this class of formulas is undecidable.&lt;/p&gt;&#xA;" OwnerUserId="17082" LastActivityDate="2013-11-25T16:29:32.377" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19967" PostTypeId="2" ParentId="19956" CreationDate="2013-11-25T16:39:33.050" Score="6" Body="&lt;p&gt;One major task of computational learning theory is to try to handle questions like this for specific classes.  In general, if you assume no structure on the hypothesis space, you basically have no choice but to look at each hypotheses individually.  On the other hand, if there is a lot of structure, eg. if you assume the hypotheses are linear separators, say in $\mathcal{R}^2$, you can see that it's possible to be quite efficient even though there are infinitely many linear separators!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The same thing happens for trying to find the ERM (empirical risk minimizing) hypothesis in a class.  This is important for PAC learning. Sometimes it's easy, sometimes it's not.&lt;/p&gt;&#xA;" OwnerUserId="123" LastActivityDate="2013-11-25T16:39:33.050" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="19969" PostTypeId="1" CreationDate="2013-11-25T21:13:10.730" Score="2" ViewCount="148" Body="&lt;p&gt;I heard that there exist two styles to define an evaluation context: outside-in and inside-out.  Can someone give the definitions?  Why are they so named (inside-out and outside-in)?  What is the difference?  Some examples would be appreciated.&lt;/p&gt;&#xA;" OwnerUserId="656" LastActivityDate="2013-11-25T21:13:10.730" Title="Evaluation contexts: outside-in vs inside-out" Tags="&lt;pl.programming-languages&gt;&lt;lambda-calculus&gt;&lt;functional-programming&gt;&lt;operational-semantics&gt;" AnswerCount="0" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19975" PostTypeId="1" CreationDate="2013-11-26T03:37:28.070" Score="-6" ViewCount="207" Body="&lt;p&gt;In a comment to &lt;a href=&quot;https://physics.stackexchange.com/questions/87704/explanation-for-the-power-of-quantum-computers&quot;&gt;this question&lt;/a&gt; Peter Shor asked me for a reference about the third described in the question point of view, namely, that quantum computers can be described as computers that can manipulate units of information less than one bit independently. Although I cannot provide a reference, here is a brief clarification.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose that each bit is divided into N sub-bits. Each sub-bit can be in two states: 0 or 1, similarly to the bit as a whole.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/EacKi.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since the entropy of 1 bit is 1 (in bits), each sub-bit should have a factor, equal to 1/N so to sum up to 1 for the whole bit. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$H=\sum_{i=0}^N \frac{1}{N} \ln 2= \ln 2 = 1$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This factor, $1/N$ represents the probability that a certain sub-bit is measured when reading the bit with classical means. As such, the whole bit is equal to 1 when all its sub-bits are equal to 1, and to 0 when all the sub-bits are 0. In other cases there is a probability that the whole bit is read either as 0 or as 1. The probability is determined by the ratio of 0's and 1's in the sub-bits.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As such, the bits of sub-bit composition (10), (1100), (111000), (11110000), ... considered equal as each sub-bit can be infinitely devided.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The more the number N of sub-bits to which the bit is devided, the more points of the Bloch sphere is representable. At the analog limit, the whole Bloch sphere is covered.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/AVUYx.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As such, the digital quantum computer can be represented as a set of classical logical gates applied to sub-bits, very much similar to a classical computer with only one diffrernce: the final result cannot be read by each sub-bit separately, but only whole bits at minimum.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Thus my question is, whether the outlined model can be considered an exhaustive description of a digital quantum computer that uses a finite set of pure states to perform its operation?&lt;/em&gt; &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Whether the presented model can represent any quantum gate quantum computer in a limit of infinite division?&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Whether this somehow indicates that a qubit actually is the same unit of information as a classical bit, albeit treated somewhat differently?&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;UPDATE&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This update clarifies some of the issues pointed by Niel de Beaudrap.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Quantum gates&lt;/strong&gt; in sub-bit model can be represented by truth table.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Entanglement&lt;/strong&gt; is realized as a fact that some states with the same Hamming-weight (and as such, the same expected outcome) may be opposite to each other. For example, qubits 1100 and 0011 are opposite to each other while 1010 and 1100 are correlated, even though each of them gives completely random result taken separately.&lt;/p&gt;&#xA;" OwnerUserId="19469" LastEditorUserId="-1" LastEditDate="2017-04-13T12:40:17.207" LastActivityDate="2013-11-27T17:51:10.927" Title="Is the sub-bit model of quantum computation equivalent to other models?" Tags="&lt;quantum-computing&gt;&lt;quantum-information&gt;" AnswerCount="1" CommentCount="8" ClosedDate="2013-12-19T21:46:11.893" ContentLicense="CC BY-SA 3.0" />
  <row Id="19976" PostTypeId="1" CreationDate="2013-11-26T05:40:36.707" Score="0" ViewCount="787" Body="&lt;p&gt;I have a vector (er, array) that is the sum of a number of other known vectors. I would like to reverse the process and find the specific known vectors that were summed to make the final vector. The problem appears to be similar to the subset-sum problem. I see some algorithms for the subset sum problem on the internet. However, it's not clear if they would work for my scenario. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Do you have any suggested algorithms for this problem? Can someone help me write the problem in summation notation? Can you see some way of grouping the vectors out of the solution set for a branch and bound algorithm approach?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I've attempted to solve the problem with a matrix multiply; details here: &lt;a href=&quot;https://math.stackexchange.com/questions/516208/minimize-ax-b-where-x-is-a-binary-vector&quot;&gt;https://math.stackexchange.com/questions/516208/minimize-ax-b-where-x-is-a-binary-vector&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I've attempted to solve the problem with genetic algorithms. I'm no longer a believer in evolution. Details here: &lt;a href=&quot;https://stackoverflow.com/questions/17297313/genetic-algorithms-name-the-piece-that-drives-the-mutation-location&quot;&gt;https://stackoverflow.com/questions/17297313/genetic-algorithms-name-the-piece-that-drives-the-mutation-location&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(The known vectors are smaller than the final result, but I can fake a full length through an approach of &quot;known vectors at all possible offsets&quot;. My numbers all range between -1 and 1. It seems I could add 1 to make them all positive.)&lt;/p&gt;&#xA;" OwnerUserId="10557" LastEditorUserId="-1" LastEditDate="2017-05-23T12:40:09.333" LastActivityDate="2013-11-26T05:40:36.707" Title="dynamic algorithms for the subset-sum problem hold for vectors?" Tags="&lt;optimization&gt;&lt;genetic-algorithms&gt;&lt;dynamic-algorithms&gt;" AnswerCount="0" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="19978" PostTypeId="2" ParentId="19975" CreationDate="2013-11-26T09:48:11.980" Score="6" Body="&lt;p&gt;I'm not sure who would suggest that qubits can meaningfully be described this way, or why anyone would do so. There are simply too many missing details, and it falls afoul of no-go theorems for local hidden-variable theories in quantum mechanics. This isn't &quot;an exhaustive description of a digital quantum computer that uses a finite set of pure states to perform its operation&quot; — even for single qubits — and extensions to multiple qubits immediately presents problems.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;How does one map binary strings to pure states? Why did you associate $0011 \mapsto \frac1{\sqrt2}(|0\rangle + |1\rangle)$ and $0110 \mapsto \frac1{\sqrt2}(|0\rangle + \mathrm e^{i\pi/3}|1\rangle)$ rather than the other way around? What specific mapping does one use for the boolean strings of length 4, with Hamming weight 1? What is the significance of the overlaps between those states, and the states you give for strings of Hamming weight 2? None of these details are provided, or even implied in any way that I can tell.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;What &lt;em&gt;transformations&lt;/em&gt; of states are allowed depends crucially on the answers to the previous questions, but also is likely to be somewhat artificial from a physical point of view. Consider an operation mapping $|0\rangle $ to $ \frac1{\sqrt2}(|0\rangle + |1\rangle)$, and $|1\rangle $ to $ \frac1{\sqrt2}(|0\rangle - |1\rangle)$. In quantum computation, there is exactly one operation which does this — the Hadamard gate — and it's self-inverse. What transformation of bit-strings does it correspond to? Unfortunately, none. The strings of Hamming-weight 2 correspond to equally spaced states on the equator of the Bloch sphere (at 60° intervals), so their images in the Hadamard operation must include states at every 60° interval in latitude on the intersection of the XZ plane and the sphere — so your states for 4-bit strings must include $\frac12(\sqrt3|0\rangle \pm |1\rangle)$. This is not a real problem, but then what other states are there associated to strings of Hamming weight 1, and what does the Hadamard gate map them to? Unfortunately there is no solution for four-bit strings.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In fact, it's not clear that any operations other than the identity operation and bit-flips can be represented, so it isn't clear how states involving the sub-bits would actually be prepared. One could respond that perhaps only the &quot;continuum limit&quot; actually describes the state-space of a non-trivial quantum computation, but then one should also not describe it as a &quot;limit&quot; of these discrete &quot;models&quot;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Related to the above problem: How does one represent an entangled state? Consider the state $$ |\Psi^-\rangle = \mathrm{CNOT} \Bigl[\tfrac1{\sqrt2}(|0\rangle -|1\rangle)\otimes&#xA;|1\rangle\Bigr].$$&#xA;How would you represent this state? The representation has to somehow include the fact that&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;measuring the first (or second) qubit gives a random result;&lt;/li&gt;&#xA;&lt;li&gt;measuring the first bit &lt;em&gt;has the effect&lt;/em&gt; of also measuring the second qubit;&lt;/li&gt;&#xA;&lt;li&gt;the outcomes of the two qubits are opposite to each other;&lt;/li&gt;&#xA;&lt;li&gt;the above &lt;em&gt;also&lt;/em&gt; holds if you first  perform any given reversible operation $U$ to both first and second qubits;&lt;/li&gt;&#xA;&lt;li&gt;this should preferably not require the model to include communication between the qubits any time you measure one of them.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;That is to say: to represent the state $|\Psi^-\rangle $, you would need to come up with a local hidden variable model for quantum mechanics. But it's possible to prove that this is impossible, for instance using Bell's Theorem, which shows that the measurement outcomes that one may obtain from $|\Psi^-\rangle $ using various unitaries $U$ first (as above) are correlated in a way that no local hidden variable model may reproduce.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;It seems to me that the idea of trying to represent qubits in terms of &quot;sub-bits&quot; is an attempt to represent the randomness of single-qubit measurement by a hidden-variable model. Indeed, it doesn't seem capable of anything more than this; and unfortunately it doesn't even do that particularly well — it just doesn't provide any insight into quantum computation. And any similar model will succumb to the fact that no local hidden-variable theory can represent quantum mechanics.&lt;/p&gt;&#xA;" OwnerUserId="248" LastEditorUserId="248" LastEditDate="2013-11-27T17:51:10.927" LastActivityDate="2013-11-27T17:51:10.927" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="19980" PostTypeId="1" CreationDate="2013-11-26T10:43:53.550" Score="7" ViewCount="302" Body="&lt;p&gt;Why can the statement $SAT \in DTIME(n^3)$ not be proven through a non-constructive proof? Intuitively a proof would be a turing machine, which solves this problem in $DTIME(n^3)$, but there are non-constructive proofs like the following:&#xA;&lt;a href=&quot;https://cs.stackexchange.com/questions/367/how-can-it-be-decidable-whether-pi-has-some-sequence-of-digits&quot;&gt;https://cs.stackexchange.com/questions/367/how-can-it-be-decidable-whether-pi-has-some-sequence-of-digits&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="20264" LastEditorUserId="-1" LastEditDate="2017-04-13T12:48:30.830" LastActivityDate="2013-11-26T23:01:55.087" Title="SAT in some DTIME always via a constructive proof?" Tags="&lt;cc.complexity-theory&gt;&lt;lo.logic&gt;&lt;sat&gt;&lt;proof-theory&gt;&lt;constructive-mathematics&gt;" AnswerCount="2" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="19982" PostTypeId="1" AcceptedAnswerId="19987" CreationDate="2013-11-26T11:27:34.223" Score="11" ViewCount="889" Body="&lt;p&gt;We can do convolution in &lt;span class=&quot;math-container&quot;&gt;$O(n\log n)$&lt;/span&gt; for plus/multiply polynomials with FFT.  However, the approach doesn't seem very generalisable to rings in general. &#xA;Has there been any progress over the naive &lt;span class=&quot;math-container&quot;&gt;$O(n^2)$&lt;/span&gt; convolution for the max/plus ring?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I should note that one can transform soft-max/plus into plus/product by doing exponentiation. Here &lt;span class=&quot;math-container&quot;&gt;$\text{soft-max}(x,y)=\log(e^x+e^y) = \max(x,y)  + \log(1+e^{\min(x,y)-\max(x,y)})$&lt;/span&gt;.&lt;/p&gt;&#xA;" OwnerUserId="4310" LastEditorUserId="4310" LastEditDate="2019-06-15T08:24:13.410" LastActivityDate="2021-01-09T17:45:11.980" Title="Complexity of convolution in the max/plus ring" Tags="&lt;algebra&gt;&lt;polynomials&gt;&lt;fft&gt;&lt;convolution&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 4.0" />
  <row Id="19986" PostTypeId="1" AcceptedAnswerId="19994" CreationDate="2013-11-26T16:24:18.413" Score="7" ViewCount="543" Body="&lt;p&gt;Typically to show $P=NP$, one has to show an NP complete problem has a polynomial time solution and to show $P\neq NP$, has to show an NP complete problem has superpolynomial lower bound. These are broadly the general techniques.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For showing $P=BPP$ or $P\neq BPP$ what strategies can be used or used? It is not like there is one problem in BPP that can either be shown to be derandomized or not be derandomized that solves the question.&lt;/p&gt;&#xA;" OwnerUserId="1812" LastEditorUserId="1812" LastEditDate="2013-11-26T17:53:17.240" LastActivityDate="2013-11-26T20:22:00.490" Title="Proof Strategies on P versus BPP" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;randomness&gt;&lt;proofs&gt;" AnswerCount="2" CommentCount="6" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19987" PostTypeId="2" ParentId="19982" CreationDate="2013-11-26T17:03:36.537" Score="12" Body="&lt;p&gt;There is a more general question on &lt;a href=&quot;https://mathoverflow.net/questions/10237/does-the-convolution-theorem-apply-to-weaker-algebraic-structures/&quot;&gt;mathoverflow&lt;/a&gt;, and I asked a &lt;a href=&quot;https://cs.stackexchange.com/questions/18211/maxima-of-diagonals-in-a-column-wise-and-row-wise-sorted-matrix&quot;&gt;similar question on CS.SE&lt;/a&gt;. jbapple provided a good answer. To quote:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;a href=&quot;http://arxiv.org/abs/1212.4771&quot; rel=&quot;nofollow noreferrer&quot;&gt;&amp;quot;Necklaces, Convolutions, and X+Y&amp;quot;, By Bremner et&#xA;al.&lt;/a&gt; shows a&#xA;&lt;span class=&quot;math-container&quot;&gt;$O\left(\frac{n^2(\lg \lg n)^3}{\lg^2 n}\right)$&lt;/span&gt; algorithm&#xA;for this problem on the real RAM and a &lt;span class=&quot;math-container&quot;&gt;$O(n \sqrt{n})$&lt;/span&gt; algorithm in&#xA;the nonuniform linear decision tree model.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Any improvement to this bound will shed light to a few tough open problems like sorting &lt;span class=&quot;math-container&quot;&gt;$X+Y$&lt;/span&gt; and all pair shortest path.&lt;/p&gt;&#xA;&lt;p&gt;If one of the functions is convex/concave, we can solve the problem in &lt;span class=&quot;math-container&quot;&gt;$O(n\log n)$&lt;/span&gt; time. See &lt;a href=&quot;http://www.ics.uci.edu/%7Eeppstein/pubs/EppGalGia-FOCS-88.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;&amp;quot;Speeding up Dynamic Programming&amp;quot;, By Eppstein et al.&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="314" LastEditorUserId="4310" LastEditDate="2021-01-09T17:45:11.980" LastActivityDate="2021-01-09T17:45:11.980" CommentCount="2" ContentLicense="CC BY-SA 4.0" />
  <row Id="19988" PostTypeId="1" CreationDate="2013-11-26T17:48:42.077" Score="6" ViewCount="229" Body="&lt;p&gt;Lipton &lt;a href=&quot;http://rjlipton.wordpress.com/2013/11/26/theorems-from-physics/#comments&quot;&gt;asks&lt;/a&gt; for a physical proof of $P\neq NP$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can we even ask for a physical proof for understanding $P=BPP$ or $P\neq BPP$? Is there anything in physics that lets us avoid randomness? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Statistical mechanics and hence entropy is founded on randomness. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Entropy, information and randomness are all related and in this case can physical principles show $P=BPP$ or $P\neq BPP$ let alone the harder $P$ versus $NP$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Harder is relative here.. the guess here is that $P=BPP$ and $P\neq NP$ and showing classes that are hypothetically closer to be equal may be easier than showing classes that are hypothetically far-off to be separate).&lt;/p&gt;&#xA;" OwnerUserId="1812" LastEditorUserId="186" LastEditDate="2013-11-26T19:07:24.600" LastActivityDate="2013-11-26T19:07:24.600" Title="Physical Proof for P versus BPP" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;it.information-theory&gt;&lt;randomness&gt;&lt;derandomization&gt;" AnswerCount="0" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19989" PostTypeId="1" AcceptedAnswerId="19997" CreationDate="2013-11-26T17:52:20.500" Score="4" ViewCount="198" Body="&lt;p&gt;In the arithmetic hierarchy, is there an analog of $P$ versus $BPP$? Particularly is there a notion of randomness there?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If there is no such analogy, why is randomness in the resource bounded case special? Any references will be great.&lt;/p&gt;&#xA;" OwnerUserId="1812" LastEditorUserId="186" LastEditDate="2013-11-26T21:38:27.763" LastActivityDate="2013-11-26T23:08:39.187" Title="Arithmetic Analogues of P versus BPP" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;computability&gt;&lt;randomness&gt;&lt;derandomization&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19990" PostTypeId="2" ParentId="19986" CreationDate="2013-11-26T19:11:27.470" Score="5" Body="&lt;p&gt;I'd imagine that you'd have to go from first principles, by taking a TM that exhibits an arbitrary BPP algorithm and simulating it in P. This is how &lt;a href=&quot;http://en.wikipedia.org/wiki/Sipser%E2%80%93Lautemann_theorem&quot;&gt;it is shown that&lt;/a&gt; $\mathsf{BPP} \in \Sigma_2 \cap \Pi_2$. In particular, you have to &quot;derandomize&quot; the space of random choices much like it is done for specific problems, where a small set of carefully chosen seeds gives enough pseudorandomness.&lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2013-11-26T19:11:27.470" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19991" PostTypeId="2" ParentId="19980" CreationDate="2013-11-26T19:49:23.027" Score="6" Body="&lt;p&gt;It is not entirely clear what you mean by a nonconstructive proof of P=NP.&#xA;I am guessing that you are asking if it is possible to prove that there is a polynomial time algorithm for SAT without providing one. That cannot be the case because we can prove that Levin's universal search algorithm for SAT has optimal running time, if P=NP is true (even if it is not provable &lt;em&gt;at all&lt;/em&gt;) his algorithm will be polynomial time and will solve SAT.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, the proving that Levin's algorithm (or any algorithm for SAT) runs in polynomial time may require nonconstructive concepts and axioms.&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2013-11-26T19:55:59.017" LastActivityDate="2013-11-26T19:55:59.017" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="19992" PostTypeId="1" CreationDate="2013-11-26T19:49:52.120" Score="3" ViewCount="203" Body="&lt;p&gt;The paper below and the news story based on it describe a new form of computation based on what they call environment-assisted quantum transport (ENAQT).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;ENAQT involves a combination of quantum and classical effects at room temperature.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The paper says:&quot;Current computers operate with about 4 GHz processors, where the cycle time of logical operations is 250 picoseconds. Computers based on articial light harvesting complexes could have units with 100-1000 times larger eciency at room temperature. But, it is also possible to realize such systems on excitons of organic molecules or on Hamiltonians arising in nuclear matter, which would provide a virtually endless source of improvement both in time and miniaturization below the atomic scale.&quot;&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://www.technologyreview.com/view/522016/quantum-light-harvesting-hints-at-entirely-new-form-of-computing/&quot; rel=&quot;nofollow&quot;&gt;http://www.technologyreview.com/view/522016/quantum-light-harvesting-hints-at-entirely-new-form-of-computing/&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Evolutionary Design in Biological Quantum Computing,&#xA;Gabor Vattay, Stuart A. Kauffman&#xA;&lt;a href=&quot;http://arxiv.org/abs/1311.4688&quot; rel=&quot;nofollow&quot;&gt;http://arxiv.org/abs/1311.4688&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I know next to nothing about quantum computers or complexity-theory. Am I right in thinking that ENAQT computation is theoretically slower than quantum computers as heretofore conceived but faster than classical computers?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Will terms such a qubit, quantum-information and quantum complexity-classes need new ENAQT counterparts (ENAQTbit, B-ENAQT-P instead of BQP etc) or will the existing quantum versions be sufficient for describing ENAQT computation?&lt;/p&gt;&#xA;" OwnerUserId="19531" LastActivityDate="2013-11-26T19:49:52.120" Title="Environment-assisted quantum transport computation" Tags="&lt;quantum-computing&gt;" AnswerCount="0" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19993" PostTypeId="1" CreationDate="2013-11-26T20:13:07.913" Score="1" ViewCount="585" Body="&lt;p&gt;I ran across a problem while working on an algorithm for a game I'm making on the side. It's basically a clustering problem where we have a graph G and want to split it into clusters of equal size where each cluster is a connected subgraph of G. I also wanted to minimize the number of clusters and keep some guarantees about their size. The graph will also change over time so I want some quick way to add and remove vertices and maintain the clustering properties I created for the original clusters.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm working on this myself at the moment but I don't want to waste time if there already exists some sort of solution for this problem or if I'm overlooking an easy solution. If y'all have any helpful algorithms or papers you could refer me to, that would be amazing. Also, if you straight up solve this, that would be great as well.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here's a formalization of the problems: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Cluster Property&lt;/strong&gt;: given undirected graph G = (V, E) with vertices V and edges E and a set of clusters $C=\{C_1, ..., C_n\}$ where each $C_k=(E_k, V_k)$, $C$ holds the following properties:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$|C_k| \le a*ceil(\sqrt{|V|})$ where ceil is the ceiling function that rounds to up&lt;/li&gt;&#xA;&lt;li&gt;$n$ is minimized for graph $G$&lt;/li&gt;&#xA;&lt;li&gt;$C_k$ is connected&lt;/li&gt;&#xA;&lt;li&gt;$V_k \subseteq V$ and $E_k \subseteq E$&lt;/li&gt;&#xA;&lt;li&gt;the sets $V_1,\ldots,V_n$ are disjoint&lt;/li&gt;&#xA;&lt;li&gt;$V_1 \cup V_2 ...\cup V_n = V$&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Problem 1&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Input&lt;/strong&gt;: an undirected graph $G = (V,E)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Output&lt;/strong&gt;: a set of clusters $C={C_1,...,C_n}$ where $C$ has the Cluster Property&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Problem 2&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Input&lt;/strong&gt;: an undirected graph $G = (V, E)$, a set of clusters $C={C_1,...,C_n}$, and a set of valid edges and vertices to remove $R=(E_R,V_R)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Output&lt;/strong&gt;: a set of clusters $C'={C'_1,...C'_n}$  for graph $G_R=(V-V_R,E-(E_R\cup E_{V_R}))$ where $C'$ maintains the Cluster Property. $E_{V_R}$ is the set of all edges that have an endpoint in $V_R$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Problem 3&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Input&lt;/strong&gt;: an undirected graph $G = (V, E)$, a set of clusters $C={C_1,...,C_n}$, and a set of valid edges and vertices to add $R=(E_A,V_A)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Output&lt;/strong&gt;: a set of clusters $C'={C'_1,...C'_n}$  for graph $G_A=(V \cup V_R,E \cup E_A)$ where $C'$ maintains the Cluster Property.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: when adding or removing edges to the graph, assume that valid edges have endpoints in vertices that exist in the final graph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit&lt;/strong&gt;: There are a couple extra constraints I have that on the graph that I haven't provided. I'd like to be able to solve this problem for undirected graphs in general but if that's not possible or it's too difficult, I'll be forced to solve it for the specific set of graphs I'm working on. These graphs are Constrained Delaunay Triangulations, I can go into this more if you'd like.&lt;/p&gt;&#xA;" OwnerUserId="20287" LastEditorUserId="1929" LastEditDate="2013-12-06T20:26:06.467" LastActivityDate="2013-12-06T20:26:06.467" Title="Splitting a graph into size constrained clusters" Tags="&lt;graph-theory&gt;&lt;clustering&gt;&lt;minimization&gt;" AnswerCount="0" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="19994" PostTypeId="2" ParentId="19986" CreationDate="2013-11-26T20:22:00.490" Score="7" Body="&lt;p&gt;Although there aren't any problems known to be $\mathsf{BPP}$-complete (and Sipser gave an oracle relative to which $\mathsf{BPP}$ doesn't have complete problems), one topic to look at here is pseudorandom generators. The existence of a good enough pseudorandom generator implies $\mathsf{BPP} = \mathsf{P}$. This isn't $\mathsf{BPP}$-complete, but it does have the feature that a single algorithm could show $\mathsf{BPP}=\mathsf{P}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, although not $\mathsf{BPP}$-complete, Polynomial Identity Testing is a good single problem in $\mathsf{BPP}$ to focus on derandomizing. Many problems in $\mathsf{BPP}$ are actually in $\mathsf{RP}$ or $\mathsf{coRP}$, often due to the Schwarz-Zippel Lemma (in fact, there are apparently very few known candidates that are known to be in $\mathsf{BPP}$ but not in $\mathsf{RP} \cup \mathsf{coRP}$, see &lt;a href=&quot;https://cstheory.stackexchange.com/questions/11425/problem-in-bpp-but-not-known-to-be-in-rp-or-co-rp&quot;&gt;this related question&lt;/a&gt;), so derandomizing PIT would derandomize a whole bunch of problems. Furthermore, derandomizing PIT is known to imply strong lower bounds on $\mathsf{NEXP}$.&lt;/p&gt;&#xA;" OwnerUserId="129" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2013-11-26T20:22:00.490" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="19995" PostTypeId="1" CreationDate="2013-11-26T21:23:12.113" Score="1" ViewCount="234" Body="&lt;p&gt;Is it possible to construct a graph with 5 to 10 vertices for which the Dinic-Algorithm finds exactly |V|-1 blocking flows, and if so what does it look like?&lt;/p&gt;&#xA;" OwnerUserId="20290" LastActivityDate="2013-12-02T01:06:44.700" Title="Dinic Algorithm with limited vertices" Tags="&lt;max-flow&gt;" AnswerCount="0" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="19996" PostTypeId="2" ParentId="19980" CreationDate="2013-11-26T23:01:55.087" Score="8" Body="&lt;p&gt;I would like to elaborate on Kaveh's answer because I see people wondering about the constructive status of $P = NP$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Levin's algorithm performs a dove-tailing parallel execution of all Turing machines on the given SAT instance. If and when any machine terminates, it is verified whether its output is a solution to the SAT instance. If so, Levin's algorithm terminates, otherwise it keeps going.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The algorithm solves SAT because there is a Turing macine that solves SAT, and so eventually Levin's algorithm emulates enough of it to find a solution. Moreover, with careful programming the dove-tailing technique incures at most a polynomial slowdown of any particular simulated machine, so if there is a machine solving SAT in polynomial time, then Levin's algorithm does it in polynomial time as well.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now let us consider the logical complexity of the statement *&quot;Levin's algorithm runs in polynomial time&quot;. It is a specific algorithm whose Gödel code is some number $\ell$. The statement that it runs in polytime can be expressed in first-order arithmetic using Kleene's predicate $T$:&#xA;$$\exists C, k. \forall m . \exists n &amp;lt; 2^{C \cdot m^k}. T(\ell, k, n).$$&#xA;This can be read as: &quot;There are $C$ and $k$ such that for every (Gödel code of a) SAT instance $m$ there is (a Gödel code of) an execution trace $n$ of $\ell$ running on input $k$, and the length of execution trace does not exceed $C \cdot m^k$.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The predicate $T$ is primitive recursive, and so is the inner formula as its quantifier is bounded by a primitive recursive function. If I am not making a mistake here (please correct me if I am, or provide a reference as I cannot be the first person noticing this), this means that we can express $P = NP$ as a $\Sigma^0_2$-formula. Thus, by negating the formula we can express $P \neq NP$ as a $\Pi^0_2$-formula. By Friedman's conservativity result we therefore have&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;If Peano arithmetic proves $P \neq NP$ then Heyting arithmetic proves $P \neq NP$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;In other words, this shows that in the context of first-order arithmetic $P \neq NP$ has a constructive proof if it has a classical one.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Am I making a mistake somewhere?&lt;/p&gt;&#xA;" OwnerUserId="705" LastActivityDate="2013-11-26T23:01:55.087" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="19997" PostTypeId="2" ParentId="19989" CreationDate="2013-11-26T23:08:39.187" Score="5" Body="&lt;p&gt;There are several notions of randomness in computability theory (/the arithmetic hierarchy; lookup &quot;Martin-Lof randomness&quot;, &quot;Kurtz random&quot;, &quot;Schnorr random&quot;, ...), but I think the ones that are analogous to $\mathsf{BPP}$ become trivial in the setting of the arithmetic hierarchy. The reason is essentially that a randomized Turing machine with bounded error can be simulated by a deterministic one: the deterministic one simulates the random one with all settings of the randomness and then takes the majority vote. If the original machine took time $t(n)$ then the new machine takes time $2^{t(n)}$, which is why this trick tends not to work in the resource-bounded case. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Though of course it works for any deterministic time-bounded class where if time bound $t(n)$ is allowed in the class then so is $2^{t(n)}$. In particular, this trick works in $\mathsf{DTIME}(\mathcal{E}^4)$, where $\mathcal{E}^4$ is the fourth level of the &lt;a href=&quot;http://en.wikipedia.org/wiki/Grzegorczyk_hierarchy&quot;&gt;Grzegorczyk hierarchy&lt;/a&gt; of primitive recursive functions. But that's still a pretty big class.)&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2013-11-26T23:08:39.187" CommentCount="10" ContentLicense="CC BY-SA 3.0" />
  <row Id="19999" PostTypeId="2" ParentId="19945" CreationDate="2013-11-27T00:49:46.677" Score="5" Body="&lt;p&gt;Over the integers, it looks like Subset Product is at least as hard as the Exact Cover problem&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Exact_cover&quot;&gt;http://en.wikipedia.org/wiki/Exact_cover&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;parametrized by the number of sets used in the exact cover.&#xA;(For the reduction, one assigns a distinct prime to each element of the ground set.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I couldn't find a reference, but I'm guessing that this problem is $W[1]$-hard and so unlikely to have an $f(k) \cdot n^{O(1)}$-time algorithm.  (I would look in Downey-Fellows or other textbooks on FPT theory.)  Maybe one could rule out $n^{o(k)}$ running time under the Exponential Time Hypothesis or Strong ETH.  The paper of Patrascu-Williams might be a starting point.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Sorry for not knowing much, but I figured this is better than nothing.&lt;/p&gt;&#xA;" OwnerUserId="223" LastActivityDate="2013-11-27T00:49:46.677" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="20000" PostTypeId="1" AcceptedAnswerId="20029" CreationDate="2013-11-27T01:25:24.957" Score="15" ViewCount="1636" Body="&lt;p&gt;Compiler verification efforts often come down to proving the compiler fully abstract: that it preserves and reflects (contextual) equivalences.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Instead of providing full abstraction proofs, some recent (categorical based) compiler verification work by Hasegawa [&lt;a href=&quot;http://www.kurims.kyoto-u.ac.jp/~hassei/papers/flops02.pdf&quot;&gt;1&lt;/a&gt;,&lt;a href=&quot;http://www.kurims.kyoto-u.ac.jp/~hassei/papers/flops2004.pdf%E2%80%8E&quot;&gt;2&lt;/a&gt;] and Egger et. al. [&lt;a href=&quot;http://arxiv.org/pdf/1209.4268v2&quot;&gt;3&lt;/a&gt;] prove the full completeness of various CPS translations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question:&lt;/strong&gt;&#xA;What is the difference between full completeness and full abstraction?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To me, completeness just looks like equivalence reflection for a translation and fullness appears to be a consequence of equivalence preservation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: Both Curien [&lt;a href=&quot;http://www.pps.univ-paris-diderot.fr/~curien/gordon-fs-plc.pdf%E2%80%8E&quot;&gt;7&lt;/a&gt;] and Abramsky [&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.39.6390&quot;&gt;8&lt;/a&gt;] explore the relationship between definability, full abstraction, and to some extent full completeness. I suspect these resources may have the answer to my question, but after a surface read I have yet to confirm that.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Some Background&lt;/strong&gt;:&#xA;The term &quot;full completeness&quot; was coined by Abramsky and Jagadeesan [&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download;jsessionid=1C774E49D8104A9706EBD4359D334BE8?doi=10.1.1.12.6946&amp;amp;rep=rep1&amp;amp;type=pdf&quot;&gt;4&lt;/a&gt;] to characterize the correctness of a game-semantic model of Multiplicative Linear Logic.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Blute [&lt;a href=&quot;http://www.site.uottawa.ca/~phil/papers/catsurv.web.pdf%E2%80%8E&quot;&gt;5&lt;/a&gt;] provides the following definition:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Let $\mathcal{F}$ be a free category. We say that a categorical model&#xA;  $\mathcal{M}$ is &lt;em&gt;fully complete for&lt;/em&gt; $\mathcal{F}$ or that we have&#xA;  &lt;em&gt;full completeness of $\mathcal{F}$ with respect to $\mathcal{M}$&lt;/em&gt; if, with respect to some interpretation of the generators, the unique free&#xA;  functor $[\![ - ]\!] : \mathcal{F} \rightarrow \mathcal{M}$ is full.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;As far as I can tell, Hasegawa in [&lt;a href=&quot;http://www.kurims.kyoto-u.ac.jp/~hassei/papers/girard.pdf&quot;&gt;6&lt;/a&gt;] is the first to adapt full completeness to describe a program translation instead of a categorical semantic model. In this case, the Girard translation from simply typed lambda calculus to the linear lambda calculus.&#xA;Later, in [&lt;a href=&quot;http://www.kurims.kyoto-u.ac.jp/~hassei/papers/flops02.pdf&quot;&gt;1&lt;/a&gt;], he defines full completeness of the CPS translation $(\cdot)^\circ$ as:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;If $\Gamma^{\circ};\emptyset \vdash N : (\sigma^\circ \rightarrow o) \multimap o$ is derivable in the linear lambda calculus, then there&#xA;  exists $\Gamma \vdash M : \sigma$ in the computational lambda calculus&#xA;  such that $\Gamma^{\circ};\emptyset \vdash M^\circ = N : (\sigma^\circ&#xA; \rightarrow o) \multimap o$ holds in the linear lambda calculus.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;(where $o$ is a base type in the linear lambda calculus (target language), but not in the computational lambda calculus (source language).)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To me, Hasegawa's definition seems like a fullness and should really be combined with completeness to get full completeness.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Egger et. al. [&lt;a href=&quot;http://arxiv.org/pdf/1209.4268v2&quot;&gt;3&lt;/a&gt;] define full completeness of a CPS translation $(\cdot)^v$ as a combination of (1) completeness and (2) fullness:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;(1): If $\Theta \vdash M,N : \tau$ and $\Theta^v | - \vdash M^v =_{\beta\eta} N^v : !\tau^v$ then $\Theta \vdash M =_{\lambda_c} N : \tau$&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;(2): If $\Theta^v | - \vdash t : !\tau^v$ then there exists a term&#xA;  $\Theta \vdash M : \tau$ such that $\Theta^v | - \vdash M^v =_{\beta\eta} t : !\tau^v$&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;(where $=_{\lambda_c}$ is Moggi's computational equational theory)&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;[1] &quot;&lt;a href=&quot;http://www.kurims.kyoto-u.ac.jp/~hassei/papers/flops02.pdf&quot;&gt;Linearly Used Effects: Monadic and CPS Transformations into Linear Lambda Calculus&lt;/a&gt;&quot;, Hasegawa 2002&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] &quot;&lt;a href=&quot;http://www.kurims.kyoto-u.ac.jp/~hassei/papers/flops2004.pdf%E2%80%8E&quot;&gt;Semantics of Linear Continuation-Passing in Call-by-Name&lt;/a&gt;&quot;, Hasegawa 2004&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[3] &quot;&lt;a href=&quot;http://arxiv.org/pdf/1209.4268v2&quot;&gt;Linear-use CPS Translations in the Enriched Effect Calculus&lt;/a&gt;&quot;, Egger et. al. 2012&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[4] &quot;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download;jsessionid=1C774E49D8104A9706EBD4359D334BE8?doi=10.1.1.12.6946&amp;amp;rep=rep1&amp;amp;type=pdf&quot;&gt;Games and Full Completeness for Multiplicative Linear Logic&lt;/a&gt;&quot;, Abramsky and Jagadeesan 1992&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[5] &quot;&lt;a href=&quot;http://www.site.uottawa.ca/~phil/papers/catsurv.web.pdf%E2%80%8E&quot;&gt;Category Theory for Linear Logicians&lt;/a&gt;&quot;, Blute 2003&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[6] &quot;&lt;a href=&quot;http://www.kurims.kyoto-u.ac.jp/~hassei/papers/girard.pdf&quot;&gt;Girard Translation and Logical Predicates&lt;/a&gt;&quot;, Hasegawa 2000&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[7] &quot;&lt;a href=&quot;http://www.pps.univ-paris-diderot.fr/~curien/gordon-fs-plc.pdf%E2%80%8E&quot;&gt;Definability and full abstraction&lt;/a&gt;&quot;, Curien 2007&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[8] &quot;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.39.6390&quot;&gt;Axioms for Definability and Full Completeness&lt;/a&gt;&quot;, Abramsky 1999&lt;/p&gt;&#xA;" OwnerUserId="2726" LastEditorUserId="2726" LastEditDate="2013-11-27T04:08:26.767" LastActivityDate="2014-03-27T21:22:19.383" Title="Full Completeness vs Full Abstraction of a program translation" Tags="&lt;pl.programming-languages&gt;&lt;ct.category-theory&gt;&lt;semantics&gt;&lt;denotational-semantics&gt;&lt;program-verification&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="20004" PostTypeId="2" ParentId="20000" CreationDate="2013-11-27T06:04:32.903" Score="5" Body="&lt;p&gt;&lt;strong&gt;Summary:&lt;/strong&gt; full completeness means    that the&#xA;interpretation function is not just complete, but also surjective on programs.&#xA;Full abstraction has no requirement for surjectivity.&#xA;$\newcommand{\semb}[1]{[\![ #1 ]\!]}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Details:&lt;/strong&gt; The detailed meaning of full abstraction&#xA;and full completeness depends on the nature of what/where/how you&#xA;are interpreting. Here is a rendition for the interpretation of&#xA;one typed programming language into another.  You have an&#xA;interpretation function $\semb{.}$ which maps three things.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Types $A$ of the source language to types $\semb{A}$ in the&#xA;target language.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Contexts $\Gamma$ in the source language to contexts&#xA;$\semb{\Gamma}$ in the target language.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Programs in context $\Gamma \vdash P : \alpha$ to programs in&#xA;context $\semb{\Gamma} \vdash \semb{P} : \semb{\alpha}$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;In a categorical interpretation the first two maps collapse into one.&#xA;The interpretation function can have various properties, e.g. it can be&#xA;compositional, or preserve termination or ... Full abstraction is&#xA;one such property.  Recall that full abstraction of $\semb{.}$&#xA;means that&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;   P \cong^S Q\ \ \ \ \ \text{iff}\ \ \ \ \ \semb{P} \cong^T \semb{Q}&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;for all $P, Q$. Here $\cong^S$ is the&#xA;chosen notion of typed program equivalence for the source&#xA;language while $\cong^T$ plays that role for the target language. More precisely, because we are in a typed setting, &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;   P \cong^S_{\Gamma, \alpha} Q\ \ \ \ \ \text{iff}\ \ \ \ \ \semb{P} \cong^T_{\semb{\Gamma}, \semb{\alpha}} \semb{Q}&#xA;$$&#xA;for all appropriate $\Gamma, \alpha, P, Q$. &#xA;Full abstraction implies that $\semb{.}$ is sound and complete.The reason&#xA;we speak of full abstraction and not just soundness &amp;amp; completeness is that&#xA;we also want that the target language is 'somehow' non-trivial, e.g. not &#xA;a term model. But formalising this non-triviality is hard, and we just allude to &#xA;non-triviality by terminology.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now full abstraction does not imply that $\semb{.}$&#xA;is surjective on types, contexts or programs in context.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Full completeness means that the map $\semb{.}$ is (complete and) surjective &lt;strong&gt;on&#xA;programs in context&lt;/strong&gt; for all definable contexts and definable types,&#xA;i.e. any program $\semb{\Gamma} \vdash Q : \semb{\alpha}$ in the target&#xA;language is the denotation of some $\Gamma \vdash P : \alpha$ in the&#xA;source language, i.e. $Q = \semb{P}$.  Note that this does not&#xA;require $\semb{.}$ to be surjective on types and contexts, because&#xA;that property rarely holds in the interpretations we are&#xA;typically interested in.&lt;/p&gt;&#xA;" OwnerUserId="898" LastEditorUserId="898" LastEditDate="2013-11-27T09:25:55.537" LastActivityDate="2013-11-27T09:25:55.537" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20007" PostTypeId="1" AcceptedAnswerId="20008" CreationDate="2013-11-27T10:57:46.457" Score="4" ViewCount="235" Body="&lt;p&gt;Going through the literature, it seems that what it comes down to is that if one could efficiently approximate permanents of matrices with negative entries, then that would imply an efficient algorithm for calculating permanents of 0/1 matrices exactly. On the other hand, Valiant provided a polynomial time reduction from the permanent of an arbitrary matrix with integer entries to the permanent of a 0/1 matrix. Why could one not make use of this reduction, followed by an application of the JSV algorithm (which can efficiently approximate the permanents of matrices with nonnegative entries but cannot handle matrices with negative entries) to efficiently approximate the permanents of arbitrary integer matrices? &lt;/p&gt;&#xA;" OwnerUserId="20312" LastActivityDate="2013-11-27T11:23:58.933" Title="Permanent Approximation - Why can the JSV algorithm not handle matrices with negative entries?" Tags="&lt;approximation-algorithms&gt;&lt;reductions&gt;&lt;matrices&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="20008" PostTypeId="2" ParentId="20007" CreationDate="2013-11-27T11:23:58.933" Score="10" Body="&lt;p&gt;The answer to the title question is: it's difficult to simulate a Markov chain with negative transition probabilies.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Valiant's reduction uses the Chinese remainder theorem, which requires an exact number, not just an approximation. The JSV algorithm cannot tell you what the permanent of a matrix is modulo 3, for example.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The type of reductions you'd need to reduce to JSV were named &quot;approximation preserving reductions&quot; by &lt;a href=&quot;http://dx.doi.org/10.1007/3-540-44436-X_12&quot;&gt;Dyer at al&lt;/a&gt;. An approximation-preserving reduction from a problem X to a problem Y is a way of turning an FPRAS for Y into an FPRAS for X (in a way that relativises). A simpler case of the same pattern is #DNF and #SAT:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://dx.doi.org/10.1016/0885-064X%2885%2990021-4&quot;&gt;There is an approximation algorithm (an FPRAS) for counting solutions of a formula in disjunctive normal form.&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;It is NP hard to approximate the number of solutions of a formula in conjunctive normal form to within a multiplicative constant (because it is NP hard to determine whether there is any satisfying assignment at all).&lt;/li&gt;&#xA;&lt;li&gt;There is a reduction from #SAT to #DNF: given a CNF formula $\phi$ on $n$ variables, replace all the conjunctions by disjunctions and vice versa. If the resulting formula has $x$ solutions, then $\phi$ has $2^n-x$ solutions.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;There is no contradiction, because the reduction described above is not approximation-preserving. Another common non-approximation-preserving reduction for counting problems is polynomial interpolation.&lt;/p&gt;&#xA;" OwnerUserId="636" LastActivityDate="2013-11-27T11:23:58.933" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="20010" PostTypeId="2" ParentId="1955" CreationDate="2013-11-27T15:18:26.067" Score="0" Body="&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;a href=&quot;http://computationbook.com/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Understanding Computation&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;From Simple Machines to Impossible Programs&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;It does cover a lot of stuff, which includes automata theory. The examples are presented in Ruby, and they are pretty easy to understand. You may need another book if you want to delve deeper into theory, but this one is great to learn the basics.&lt;/p&gt;&#xA;" OwnerUserId="20052" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2013-11-27T15:18:26.067" CommentCount="0" CommunityOwnedDate="2013-11-27T15:18:26.067" ContentLicense="CC BY-SA 3.0" />
  <row Id="20013" PostTypeId="1" CreationDate="2013-11-27T18:26:24.033" Score="0" ViewCount="96" Body="&lt;p&gt;Grover's algorithm searches an unstructured database (or an unordered list) with N entries. what type of data it works on? will it be possible to search data about some images that is stored in database?&lt;/p&gt;&#xA;" OwnerUserId="20324" LastActivityDate="2013-11-27T22:42:37.890" Title="grover's algorithm" Tags="&lt;it.information-theory&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20016" PostTypeId="2" ParentId="20013" CreationDate="2013-11-27T22:42:37.890" Score="4" Body="&lt;p&gt;The Grover algorithm in its simplest form searches a list of $N$ bits for an occurrence of a bit with value 1.  If a 1 is present, Grover will find one with high probability in $O(\sqrt{N})$ steps.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;While this seems quite specific, the algorithm is actually applicable in a variety of settings.  For example, say you want to search in a image database for an image that contains a cat.  Let us assume that there is some algorithm $CAT$ that will decide whether a given image contains a cat, outputting a 1 on input $Img$ if a cat is found in $Img$.  Suppose $CAT$ requires $S$ steps per image.  Then instead of running $CAT$ on all $N$ images (for $NS$ total work), we can run Grover search on the list of $N$ bits, computing the bits &lt;em&gt;only when required&lt;/em&gt; by the Grover algorithm.  These various calls to the $CAT$ routine are applied in quantum superposition, and the total work required is $O(\sqrt{N}\cdot S)$, a substantial savings.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course, the technology needed to implement Grover search and the superposition of subroutine calls does not yet exist, except perhaps in embryonic form. Hopefully it will become possible in our lifetimes.&lt;/p&gt;&#xA;" OwnerUserId="223" LastActivityDate="2013-11-27T22:42:37.890" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="20020" PostTypeId="1" AcceptedAnswerId="20039" CreationDate="2013-11-28T09:21:58.233" Score="4" ViewCount="554" Body="&lt;p&gt;Permanent is random self-reducible. $\mathsf{SAT}$ is not random self-reducible since otherwise the polynomial hierarchy collapses to $\mathsf{\Sigma_3}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;1) Is $k$-sum random self-reducible?&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;That is if $k$-sum can be computed in time $n^{O(k^b)}$ for some $0&amp;lt;b&amp;lt;1$ on $\frac{1}{2}+\epsilon$ of inputs where $n$ is the number of input integers, then can $k$-sum be computed time $n^{O(k^b)}$ for all inputs of $n$ input integers in a randomized sense?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The Patrascu-Williams paper &lt;a href=&quot;http://people.csail.mit.edu/mip/papers/sat-lbs/paper.pdf&quot; rel=&quot;nofollow&quot;&gt;http://people.csail.mit.edu/mip/papers/sat-lbs/paper.pdf&lt;/a&gt; talks about deterministic algorithms and does not imply hierarchy collapse but only tells that the ETH fails (somewhat mildly) when we have a deterministic $n^{O(k^b)}$ algorithm. We have a randomized setting here and even if we have such a random self-reducible condition satisfied, we may still not upset the big picture.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;2)Likewise can the $\mathsf{NP=coNP}$ problem be random self reducible?&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;That is, if for an $\mathsf{NP}$ complete problem we have short certificates for $\frac{1}{2}+\epsilon$ of the $\mathsf{NO}$ instances, then we have short certificates for all $\mathsf{NO}$ instances in a randomized sense?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Update&lt;/strong&gt; The results in &lt;a href=&quot;http://research.microsoft.com/en-us/um/redmond/groups/theory/jehkim/a-yspapers/unsat.pdf&quot; rel=&quot;nofollow&quot;&gt;http://research.microsoft.com/en-us/um/redmond/groups/theory/jehkim/a-yspapers/unsat.pdf&lt;/a&gt; seems to indicate the $\mathsf{NP}=\mathsf{coNP}$ issue is not random self-reducible. &lt;/p&gt;&#xA;" OwnerUserId="1812" LastEditorUserId="1812" LastEditDate="2013-11-29T19:05:46.753" LastActivityDate="2013-11-29T19:05:46.753" Title="On Random Self-reducible properties" Tags="&lt;cc.complexity-theory&gt;&lt;randomized-algorithms&gt;&lt;reductions&gt;&lt;parameterized-complexity&gt;&lt;fixed-parameter-tractable&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="20021" PostTypeId="1" CreationDate="2013-11-23T05:20:28.017" Score="27" ViewCount="1419" Body="&lt;p&gt;It seems that many people believe that $P \ne NP \cap coNP$, in part because they believe that factoring is not polytime solvable. (Shiva Kintali has &lt;a href=&quot;http://kintali.wordpress.com/2010/06/06/np-intersect-conp/&quot; rel=&quot;nofollow&quot;&gt;listed a few other candidate problems here&lt;/a&gt;). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, Grötschel, Lovász, and Schrijver have written that &quot;many people believe that $P=NP\cap coNP$.&quot; This quote can be found in &lt;em&gt;Geometric Algorithms and Combinatorial Optimization,&lt;/em&gt; and Schrijver makes similar statements in &lt;em&gt;Combinatorial Optimization: Polyhedra and Efficiency&lt;/em&gt;. &lt;a href=&quot;https://twitter.com/wjcook/status/508771136583524353&quot; rel=&quot;nofollow&quot;&gt;This picture&lt;/a&gt; makes it clear where Jack Edmonds stands on the issue.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What evidence supports a belief in $P\ne NP\cap coNP$? Or to support $P=NP\cap coNP$?&lt;/p&gt;&#xA;" OwnerUserId="13056" OwnerDisplayName="Austin Buchanan" LastEditorUserId="13056" LastEditDate="2014-09-12T15:31:45.450" LastActivityDate="2014-09-12T15:31:45.450" Title="Reasons to believe $P \ne NP \cap coNP$ (or not)" Tags="&lt;cc.complexity-theory&gt;&lt;np&gt;&lt;conditional-results&gt;" AnswerCount="2" CommentCount="5" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="20022" PostTypeId="2" ParentId="20021" CreationDate="2013-11-26T01:15:26.060" Score="0" Body="&lt;p&gt;I believe that there exists very space efficient high quality random number generators. Despite this belief, I normally use &lt;a href=&quot;http://en.wikipedia.org/wiki/Mersenne_twister&quot; rel=&quot;nofollow noreferrer&quot;&gt;Mersenne twister&lt;/a&gt; in my code, which is high quality, but not very space efficient. There is a missing link between space efficiency and NP∩coNP, it's just a gut feeling that there is a link.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Let me try to give one reason why I believe that &quot;true randomness&quot; can be simulated/approximated very space efficiently. We know that it is possible to produce pseudo-random numbers that are sufficiently random for all practical purposes (including cryptography). We also know that using (a small amount of fixed) large prime numbers in the construction of pseudo-random number generators is rarely a bad idea. We know from conjectures like Riemann's that nearly all prime numbers contain a high degree of randomness, but we also know that we are not yet able to rigorously prove this.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there an intuitive explanation why the prime numbers behave like random numbers? The prime numbers are the complement of the composite numbers. The complement of a well behaved set is often more complicated than the original set. The composite numbers are composed of prime numbers, which in turn already gives this set a certain complexity.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Background&lt;/strong&gt; I once tried to understand why P≠NP is difficult. I wondered whether approximating inner symmetry groups of a problem instance by nilpotent groups might not lead to an &quot;abstraction algorithm&quot; able to see into the inner structure of the problem instance. But then I realized that even computing the structure of a nilpotent group contains factoring as a special case. The question of the simple subgroups of a cyclic group of order n is equivalent to determining the prime factors of n. And the &lt;a href=&quot;https://math.stackexchange.com/questions/96188/classifications-of-finite-nilpotent-groups&quot;&gt;classification of finite nilpotent groups&lt;/a&gt; contains even worse subproblems related to graph isomorphism. That was enough to convince me that this approach won't help. But my next step was trying to understand why factoring is difficult, and the above answer is what I came up with. It was enough to convince me, so maybe it will also be convincing for other people. (I didn't know about groupoids or inverse semigroups back then, which are probably more suitable than nilpotent groups for handling inner symmetries. Still, the argument why such an approach won't be efficient stays the same.)&lt;/p&gt;&#xA;" OwnerUserId="20340" OwnerDisplayName="Thomas Klimpel" LastEditorUserId="-1" LastEditDate="2017-04-13T12:19:19.363" LastActivityDate="2014-01-19T16:44:53.297" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="20023" PostTypeId="2" ParentId="1955" CreationDate="2013-11-28T12:11:22.717" Score="1" Body="&lt;p&gt;I enjoy the following lecture notes by Jarkko Kari:&#xA;&lt;a href=&quot;http://users.utu.fi/jkari/automata/&quot; rel=&quot;nofollow&quot;&gt;http://users.utu.fi/jkari/automata/&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Brief course outline:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;Regular languages&#xA;    Finite automata, regular expressions&#xA;    Kleene theorem&#xA;    Pumping lemma&#xA;    Closure properties and decision algorithms&#xA;    State minimization, Myhill-Nerode theorem&#xA;&#xA;Context-free languages&#xA;    Grammars, parsing&#xA;    Normal forms&#xA;    Pushdown automata&#xA;    Pumping lemma&#xA;    Closure properties and decision algorithms&#xA;&#xA;Turing machines&#xA;    Recursive and recursively enumerable languages&#xA;    Universal Turing machines&#xA;    Undecidability of the halting problem (Turing)&#xA;    Reductions, other undecidable problems&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;" OwnerUserId="4697" LastActivityDate="2013-11-28T12:11:22.717" CommentCount="0" CommunityOwnedDate="2013-11-28T12:11:22.717" ContentLicense="CC BY-SA 3.0" />
  <row Id="20024" PostTypeId="2" ParentId="8073" CreationDate="2013-11-28T14:02:42.953" Score="5" Body="&lt;p&gt;No, such an algorithm cannot exist.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assume $t$ comparisons per element are allowed.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For a start, consider the situation of merging two lists, one of size&#xA;one, and the other of size $2^t$.&#xA;There are $2^t+1$ possible results, and an easy adversarial argument&#xA;shows that the element in the small list needs to participate in $t+1$ comparisons,&#xA;and this element has to go to the trash.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;From this it is easy to construct an instance with two lists of size $n$&#xA;that consists of $n/2^t$ such small situations, and hence $n/2^t$ elements&#xA;have to go to the trash.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hence, as long as $t$ is constant, it is impossible to have a trash of&#xA;$o(n)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On a side note, it seems that it is possible to match this bound by an algorithm where every element is compared with roughly log of the size of the surrounding part of the other list.  If this is of interest, I will try to work out the details.&lt;/p&gt;&#xA;" OwnerUserId="3049" LastEditorUserId="3049" LastEditDate="2013-12-01T16:59:27.550" LastActivityDate="2013-12-01T16:59:27.550" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20027" PostTypeId="1" CreationDate="2013-11-28T20:57:32.143" Score="18" ViewCount="769" Body="&lt;p&gt;Suppose I consider the following variant of BPP, which let us call E(xact)BPP:&#xA;A language is in EBPP if there is a polynomial time randomized TG that accepts every word of the language with exactly 3/4 probability and every word not in the language with exactly 1/4 probability. Obviously EBPP is contained in BPP but are they equal? Has this been studied? What about the similarly definable ERP?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Motivation.&lt;/strong&gt; My main motivation is that I wanted to know what the complexity theoretic analogue of the ``correct in expected value'' randomized algorithm of Faenza et al. (see &lt;a href=&quot;http://arxiv.org/abs/1105.4127&quot; rel=&quot;noreferrer&quot;&gt;http://arxiv.org/abs/1105.4127&lt;/a&gt;) would be. First I wanted to understand what decision problems such an algorithm can solve (with worst case polynomial running time). Let us denote this class by E(xpected)V(alue)PP. It is easy to see that USAT $\in$ EVPP. Also easy to see that EBPP $\subset$ EVPP. So this was my motivation. Any feedback about EVPP is also welcome.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In fact, their algorithm always outputs a nonnegative number. If we denote the decisions problems recognizable by such an algorithm by EVP(ositive)PP, then we still have USAT $\in$ EVPPP. While EBPP might not be a subset of EVPPP, we have ERP $\subset$ EVPPP. Maybe using these we can define a (nonnegative) rank for decision problems.&lt;/p&gt;&#xA;" OwnerUserId="419" LastEditorUserId="419" LastEditDate="2013-12-07T16:25:26.193" LastActivityDate="2020-12-13T16:17:00.190" Title="In what class are randomized algorithms that err with exactly 25% chance?" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;randomized-algorithms&gt;" AnswerCount="3" CommentCount="7" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="20028" PostTypeId="2" ParentId="19958" CreationDate="2013-11-28T22:28:26.467" Score="1" Body="&lt;p&gt;There is a &lt;a href=&quot;http://alexandria.tue.nl/extra1/wskrap/public_html/200218.pdf&quot; rel=&quot;nofollow&quot;&gt;paper&lt;/a&gt; by Van Beek called &lt;em&gt;An Algebraic Approach to Transactional Processes&lt;/em&gt; which describes adding transactions to process algebra:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;(a :~ 0 . a:~ a + 2) II (a:~ 1 a:~ a X 2) ((a :~ 0 . a:~ a + 2)) II ((a:~ 1 a:~ a X 2))&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;This paper even delves into isolation levels. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The author describes how in Communicating Sequential Processes (CSP), if you have a write blocked on a read, you can get into a deadlock scenario. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The author references another paper &lt;em&gt;J.A. Bergstra, A. Ponse, and J.J. van Warne. Process algebra with backtracking&lt;/em&gt; which allows for rollback of a failed CSP operation.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is discussion on the nature of transactions in &lt;em&gt;K.P. Eswaran, J .N. Gray, R.A. Lorie, and 1.1. Traiger. On the notions of consistency and  predicate locks in a data base system. Communications of the ACM, 19(11)&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The properties of transactions are described in &lt;em&gt;] J. Gray and A. Reuter. Transaction Processing: Concepts and Techniques.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The acid properties of transactions are described in &lt;em&gt;J. Gray. The transaction concept: Virtues and limitations&lt;/em&gt; and in &lt;em&gt;T. Haerder and A. Reuter. Principles of transaction-oriented database recovery&lt;/em&gt;&lt;/p&gt;&#xA;" OwnerUserId="608" LastActivityDate="2013-11-28T22:28:26.467" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20029" PostTypeId="2" ParentId="20000" CreationDate="2013-11-28T23:07:30.010" Score="12" Body="&lt;p&gt;Unfortunately, there are too many things are going on here.  So, it is easy to mix things up.  The use of &quot;full&quot; in &quot;full completeness&quot; and &quot;full abstraction&quot; refer to completely different ideas of fullness.  But, there is also some vague connection between them.  So, this is going to be a complicated answer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Full completeness&lt;/strong&gt;:  &quot;Sound and complete&quot; is a property you want for a traditional logic to have with respect to its semantics.  Soundness means that whatever you can prove in the logic is true in the semantic model.  Completeness means that whatever is true in the semantic model is provable in the logic.  We say that a &lt;em&gt;logic&lt;/em&gt; is sound and complete for a particular semantic model.  When we come to &lt;em&gt;constructive logic&lt;/em&gt;, such as Martin-Lof type theory or linear logic, we care not only about whether formulas provable, but also what their proofs are.  A provable formula may have many proofs and a constructive logic wants to keep them apart.  So, a semantics for a constructive logic involves specifying not only whether a formula is true, but also some abstract semantic notion of &quot;proof&quot; (&quot;evidence&quot;) for its truth.  Abramsky and colleagues coined the term &quot;full completeness&quot; to mean that the proofs in the logic can express all the semantic proofs in the model.  So, &quot;full&quot; refers to proofs here.  &lt;em&gt;A &quot;complete&quot; logic can prove everything it needs to.  A &quot;fully complete&quot; logic has all the proofs that it needs to have.&lt;/em&gt;  So &quot;full completeness&quot; means &quot;constructive completeness&quot; or &quot;proof completeness&quot;.  This has nothing to do with full abstraction.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Full abstraction&lt;/strong&gt;: &quot;Adequate and fully abstract&quot; is a property you want for the &lt;em&gt;semantic model&lt;/em&gt; of a programming language.  (Note the first difference: we are now dealing with the properties of the &lt;em&gt;semantic model&lt;/em&gt;, not the properties of the language!)  Adequacy means that, whenever two terms have the same meaning in the semantic model, they are observationally equivalent in the programming language (with respect to some notion of execution).  Full abstraction means that, if two terms are observationally equivalent, they have the same meaning in the semantic model.  These ideas can be related to soundness and completeness, but in a somewhat contrived way.  If we think of the semantic model of a programming language as a &quot;logic&quot; or a &quot;proof method&quot; to talk about observational equivalence, then adequacy means that this proof method is sound; full abstraction means that this proof method is complete.  There is no notion of &quot;full completeness&quot; here because nobody has yet produced a semantic model that represents a &lt;em&gt;constructive&lt;/em&gt; proof method.  (But, such a thing is theoretically possible, and one of these days somebody might do so.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In your case, you are interested in &lt;strong&gt;translations&lt;/strong&gt; rather than semantic models.  The properties of adequacy and full abstraction can be extended to deal with translations as follows.  You think of the target language as your &quot;semantic model&quot;, i.e., a formalism that you fully understand somehow.  If so, you have some notion of equivalence for it.  Then, we say that the translation is &lt;em&gt;adequate&lt;/em&gt; if, whenever the translations of two source programs are equivalent in the target language, they are observationally equivalent in the source language.  We say that it is &lt;em&gt;fully abstract&lt;/em&gt; if, whenever two source programs are observationally equivalent in the source language, their translations are equivalent in the target language.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In reality, I don't know of any target languages that we really fully &quot;understand&quot;.  All we know is some other notion of observational equivalence for the target language.  In that case, the translation is adequate if the observational equivalence of the translations in the target language implies observational equivalence in the source language.&#xA;$$ \tau(M) \cong \tau(N) \Longrightarrow M \cong N$$&#xA;The translation is fully abstract if the observational equivalence of the terms in the source language implies the observational equivalence of the translations in the target language.&#xA;$$M \cong N \Longrightarrow \tau(M) \cong \tau(N)$$&#xA;Some authors take &quot;fully abstract translation&quot; to mean the combination of these two properties:&#xA;$$M \cong N \iff \tau(M) \cong \tau(N)$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Egger et al seem to be similarly extending the idea of full completeness to translations.  In their set-up, formulas are types and proofs are terms.  Their translation translates types as well as terms.  They call their translation &lt;em&gt;fully complete&lt;/em&gt; if the translation of a type $A$ has only those terms that are obtained by translating the original terms of type $A$.&#xA;$$\forall N : \tau(A).\; \exists M : A.\, \tau(M) = N$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now for the &lt;strong&gt;vague connection&lt;/strong&gt; between full completeness and full abstraction.  Proving that a semantic model or a translation is fully abstract often involves some of definability.  This is because our languages are generally higher-order.  So, if the semantic model or the target language has too many &quot;contexts&quot; then it will be able to poke our terms or semantic meanings in undesirable ways and spoil their equivalence.  &quot;Undesirable ways&quot; means in ways that the programming language itself cannot poke them.  So, to get full abstraction, we need to ensure that the &quot;contexts&quot; available in the semantic model or the target language do come from those in the source language in some form.  Note that this relates to the full completeness property.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Why do we want such properties?  It has &lt;em&gt;nothing&lt;/em&gt; to do with compilers!  We want these properties in order to claim that the source language embeds into the target language.  If we are happy with a particular target language (as being clean, understandable, somehow fundamental or God-given) then, if the source language embeds into it, then we can claim that there is nothing new in the source language.  It is just a fragment of the target language that we know and love.  It is just syntactic sugar.  So, fully abstract translations are given by people to establish that particular target languages are great.  They are also sometimes given by people who have a big or complicated language to deal with.  So, instead of defining a semantics for it directly, they translate it to some core language and then give semantics to the core language.  For instance, the Haskell report does this.  But the full abstraction of these translations is rarely ever proved because the source languages are big and complicated.  People take it on faith that the translation is good.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Once again, this has nothing to do with compilers.  Compilers are rarely ever adequate or fully abstract.  And, they don't need to be!  All that a compiler needs to do is to preserve the execution behavior of complete programs.  The target language of a compiler is generally huge, which means that it has lots of contexts that can mess up equivalence.  So, equivalent programs in the source language are almost never contextually equivalent when compiled.&lt;/p&gt;&#xA;" OwnerUserId="8519" LastEditorUserId="8519" LastEditDate="2014-03-27T21:22:19.383" LastActivityDate="2014-03-27T21:22:19.383" CommentCount="11" ContentLicense="CC BY-SA 3.0" />
  <row Id="20032" PostTypeId="1" AcceptedAnswerId="20038" CreationDate="2013-11-29T11:22:56.180" Score="3" ViewCount="272" Body="&lt;p&gt;I know that this question it not entirely theoretical, but I think that's the place where is more probable that someone knows the answer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The question is: is there any OO strong typed language where I could &quot;delay&quot; the definition of the method's arguments types?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'll write an example. Imagine I want to model abelian additive groups, and I program the following interface:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;interface AbelianAdditiveGroup&#xA;{&#xA;    public method add(b final_class) : final_class;&#xA;    public method additiveInverse() : final_class;&#xA;}&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Where &lt;strong&gt;final_class&lt;/strong&gt; is a keyword to tell the compiler to use the implementation class, not the AbelianAdditiveGroup or any other intermediate abstract class.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;That's an example of what I'm searching. I think that using fixed interfaces or classes as argument types in these methods is a bad approach in a lot of cases because this causes that we have to do multiple runtime type checks in our code.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If there is no language with this feature... is there any good reason for this?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks in advance :) .&lt;/p&gt;&#xA;" OwnerUserId="5497" LastEditorUserId="5497" LastEditDate="2013-11-29T11:29:34.323" LastActivityDate="2013-11-29T21:48:34.413" Title="Is there a language with strong typed interfaces where types resolution are &quot;delayed&quot;?" Tags="&lt;pl.programming-languages&gt;&lt;language-design&gt;&lt;object-oriented&gt;" AnswerCount="3" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="20033" PostTypeId="2" ParentId="20032" CreationDate="2013-11-29T11:42:15.063" Score="2" Body="&lt;p&gt;In Scala you can use parametric polymorphism for this, e.g. like so:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;trait A [ T ] {&#xA;   def f ( t : T ) : T&#xA;   def g ( t : T ) : T = t }&#xA;&#xA;class AImpl () extends A [ AImpl ] {&#xA;   def f ( t : AImpl ) : AImpl = t }&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;(Traits are a generalisation of Java interfaces). This can be resolved at compile-time, although I don't know how the Scala compiler and the JVM  implement this. Other languages with expressive polymorphism should enable similar constructs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit following Neel's remarks:&lt;/strong&gt; here is a Scala implementation that, I think, does exactly what you want, but without a hack like type-parameterisation.&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;trait A { self =&amp;gt;&#xA;  def f ( t : self.type ) : self.type&#xA;  def g ( t : self.type ) : self.type = t }&#xA;&#xA;class AImpl () extends A {&#xA;  def f ( t : this.type ) : this.type = t }&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Scala's &lt;code&gt;self=&amp;gt; ...&lt;/code&gt; construct gives you access to the &lt;code&gt;this&lt;/code&gt; pointer in classes 'up the inheritance/implementation hierarchy', and &lt;code&gt;.type&lt;/code&gt; give you the corresponding type. &lt;/p&gt;&#xA;" OwnerUserId="898" LastEditorUserId="898" LastEditDate="2013-11-29T21:48:34.413" LastActivityDate="2013-11-29T21:48:34.413" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="20034" PostTypeId="1" CreationDate="2013-11-29T12:46:47.130" Score="3" ViewCount="111" Body="&lt;p&gt;A language $L \subseteq X^*$ is non-counting of order $n &amp;gt; 0$ iff for all $u,v, w \in X^*$&#xA;$$&#xA; uv^nw \in L \Leftrightarrow uv^{n+1} w \in L.&#xA;$$&#xA;A $\omega$-language (set of infinite sequences) $L \subseteq X^{\omega}$ is non-counting of order $n &amp;gt; 0 $ iff for all $u,v \in X^*, \eta \in X^{\omega}$&#xA;$$&#xA; uv^{n}\eta \in L \Leftrightarrow uv^{n+1} \eta \in L.&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;When talking about languages over finite words, i.e. subsets $L$ of $X^*$ every regular, noncounting languages of order $n &amp;gt; 0$ fullfills the following property: Let $u,v \in X^*$ with&#xA;$$&#xA; P_n(u) = P_n(v), I_n(u) = I_n(v), S_n(u) = S_n(v)&#xA;$$&#xA;and $u \in L$ (where $P_n, S_n, I_n$ denote the prefix, suffix and infixes of length $n$) then also $v \in L$, meaning if two words coincide in their prefix, suffix and infixes of fixed length $n &amp;gt; 0$ then they are either both in $L$ or both not in $L$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now when considering subsets of infinite words (and so just prefix and infixes), i.e. $L \subseteq X^{\mathbb N}$, then this does not hold any longer. For consider $L = X^* 0^{\omega}$, then $L$ is regular and non-counting for each $n &amp;gt; 0$. Fix some $n &amp;gt; 0$ and consider&#xA;$$&#xA; \xi = 0^n1^n0^{\omega} \quad \mbox{ and } \quad \eta = 0^n1^n0^n1^{\omega}&#xA;$$&#xA;then $P_n(\xi) = P_n(\eta)$ and $I_n(\xi) = I_n(\eta)$ but $\xi \in L$ and $\eta\notin L$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The space $X^{\omega}$ is naturally topologized as the Cantor space, i.e. the space with the common-prefix-metric, or equivalently generated by the basis $v\cdot X^{\omega}$, $v \in X^*$. Now the set $L = X^* 0^{\omega}$ is not closed in Cantor space, for example $1^n0^{\omega}$ is in $L$, but its limit $1^{\omega}$ is not in $L$. So I conjecture that if $L$ is closed then the property from finite sets also hold for infinite sequences, i.e. if $L$ is regular and non-counting, then if two words coinside in their prefix and infixes of some specified length, then they are either both in $L$ or not both. A language $L$ is closed in Cantor space iff if it has the property that if $\xi$ is such that every prefix of $\xi$ is the prefix of some words from $L$, then $\xi \in L$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I conjecture that for closed sets $L$, that if $L$ is regular and non-counting, then membership could be decided by comparing prefix and infixes, but I am stuck with the proof, so any hints or suggestions for me?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT&lt;/strong&gt;: There is a certain problem with the way it is stated, instead of locally testable use star-free, and instead of just presuppose a set to be closed I will presuppose it to be open or closed, so that the proposition is stable under complementation (which are the star-free and non-countable languages), see the comments.&lt;/p&gt;&#xA;" OwnerUserId="17672" LastEditorUserId="17672" LastEditDate="2013-12-06T23:16:42.407" LastActivityDate="2013-12-06T23:16:42.407" Title="Transfering properties from subsets of $X^*$ to subsets of $X^{\omega}$ by using the topology induces by Cantor space" Tags="&lt;fl.formal-languages&gt;&lt;automata-theory&gt;&lt;regular-language&gt;&lt;topology&gt;" AnswerCount="0" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="20035" PostTypeId="1" CreationDate="2013-11-29T13:16:41.083" Score="11" ViewCount="1079" Body="&lt;p&gt;&quot;Second $X$&quot; problem is the problem of deciding the existence of another solution different from some given solution for problem instance. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For some $NP$-complete problems, the second solution version is $NP$-complete (deciding the existence of another solution for the partial Latin square completion problem) while for others it is either trivial (Second NAE SAT) or it can not be $NP$-complete (Second Hamiltonian cycle in cubic graphs) under widely believed complexity conjecture. I am interested in the opposite direction. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;We assume a natural $NP$ problem $X$ where there is &lt;strong&gt;natural&lt;/strong&gt; efficient verifier that verifies a natural &lt;strong&gt;interesting&lt;/strong&gt; relation $(x, c)$ where $x$ is an input instance and $c$ is a short witness of membership of $x$ in $X$. All witnesses are indistinguishable to the verifier. The validity of witnesses must be decided by running the natural verifier and it does not have any knowledge of any correct witness ( both examples in the comments are solutions by definition).  &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Does “Second $X$ is NP-complete” imply “$X$ is NP-complete” for all &quot;natural&quot; problems $X$?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;In other words, &lt;strong&gt;Are there any &quot;natural&quot; problem $X$ where this implication fails?&lt;/strong&gt;. Or equivalently,&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there any &quot;natural&quot; problem $X$ in $NP$ and not known to be $NP$-complete but its Second $X$ problem is $NP$-complete?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT&lt;/strong&gt;: Thanks to Marzio's comments, I am not interested in contrived counter-examples. I am only interested in natural and interesting counter-examples for NP-complete problems $X$ similar to the ones above. An acceptable answer is either a proof of the above implication or a counter-example &quot;Second X problem&quot; which is defined for natural, interesting, and well known $NP$ problem $X$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT 2&lt;/strong&gt;: Thanks to the fruitful discussion with David Richerby, I have edited the question to emphasis that my interest is only in natural problems $X$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT 3&lt;/strong&gt;: Motivation: First, the existence of such implication may simplify the $NP$-completeness proofs of many $NP$ problems. Secondly, the existence of the implication links the complexity of deciding the uniqueness of solution to the problem of deciding existence of a solution for $NP$ problems.&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2013-12-13T09:03:25.113" LastActivityDate="2019-10-08T10:31:05.790" Title="Does “Second X is NP-complete” imply “X is NP-complete”?" Tags="&lt;cc.complexity-theory&gt;&lt;unique-solution&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="20036" PostTypeId="2" ParentId="20032" CreationDate="2013-11-29T13:51:03.037" Score="4" Body="&lt;p&gt;Perhaps you are looking for modules. For example, the following code uses OCaml's module system to define a signature for monoids and two implementations:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;module type Monoid = sig&#xA;  type t&#xA;  val identity : t&#xA;  val oper : t -&amp;gt; t -&amp;gt; t&#xA;end&#xA;&#xA;module IntSum : Monoid = struct&#xA;  type t = int&#xA;  let identity = 0&#xA;  let oper x y = x + y&#xA;end&#xA;&#xA;module IntProd : Monoid = struct&#xA;   type t = int&#xA;   let identity = 1&#xA;   let oper x y = x * y&#xA;end&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Does this qualify as OO? Hmm... What does OO mean again?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To give this more of a cstheory vibe: modules are related to existential types (but not the same thing, see below). In turn, existential types are essentially (second-order) existential quantification under the propositions-as-types correspondence. See Mitchell and Plotkin's &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=45065&quot; rel=&quot;nofollow&quot;&gt;Abstract types have existential type&lt;/a&gt; (paywall) as well as &#xA;Cardelli and Wegner's &lt;a href=&quot;http://lucacardelli.name/Papers/OnUnderstanding.A4.pdf&quot; rel=&quot;nofollow&quot;&gt;On Understanding Types,&#xA;Data Abstraction, and Polymorphism&lt;/a&gt;. See also this HaskellWiki entry on &lt;a href=&quot;http://www.haskell.org/haskellwiki/Existential_type&quot; rel=&quot;nofollow&quot;&gt;existential types&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are some subtleties to this point, however. See e.g. MacQueen's &lt;a href=&quot;http://www.cs.cmu.edu/~rwh/courses/modules/papers/macqueen86/paper.pdf&quot; rel=&quot;nofollow&quot;&gt;Using Dependent Types to Express Modular Structure&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="10661" LastEditorUserId="10661" LastEditDate="2013-11-29T14:49:09.423" LastActivityDate="2013-11-29T14:49:09.423" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20038" PostTypeId="2" ParentId="20032" CreationDate="2013-11-29T15:29:25.440" Score="5" Body="&lt;p&gt;What you are looking for are called &quot;self types&quot;, and have been studied theoretically for ~20 years or so. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, see &lt;em&gt;Safe Type Checking in a Statically-Typed Object-Oriented Programming Language&lt;/em&gt; by Kim B. Bruce, in the 1993 POPL (Principles of Programming Languages), pp. 285-298. Off the top of my head, John Mitchell and Kathleen Fisher have also worked on this, and they may also be described in Abadi and Cardelli's book &lt;em&gt;A Theory of Objects&lt;/em&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Scala supports them, but I don't know if other mainstream OO languages do. &lt;/p&gt;&#xA;" OwnerUserId="657" LastEditorUserId="657" LastEditDate="2013-11-29T21:41:03.600" LastActivityDate="2013-11-29T21:41:03.600" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="20039" PostTypeId="2" ParentId="20020" CreationDate="2013-11-29T15:50:33.853" Score="2" Body="&lt;p&gt;I don't know the answer to Question (1)---I suspect there is no such reduction.  But I have a couple of points to make.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A non-adaptive random self-reduction (to the uniform distribution) is a poly-time randomized algorithm $R$ which, given an arbitrary instance $x$ of length $n$ for the decision problem for $L$, produces a list $y^1, \ldots, y^{q(n)}$ of instances of some second length $\ell(n)$.  We have the properties that &lt;/p&gt;&#xA;&#xA;&lt;p&gt;(i) each $y^i$ generated by $R$ is individually uniformly distributed, for any fixed input $x$ (although there may be complicated dependence between the $y^i$s, which in some way &quot;encodes&quot; $x$);&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(ii) there is a second poly-time algorithm $R'$ which, given $y^1, \ldots, y^q$ along with their $L$-membership values $b^1, \ldots, b^q$ ($b_i = [y_i \in L]$), outputs the desired value $[x \in L]$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Feigenbaum and Fortnow &lt;a href=&quot;http://www.cs.uchicago.edu/~fortnow/papers/rsr.pdf&quot; rel=&quot;nofollow&quot;&gt;prove&lt;/a&gt; that if an $NP$-complete language has such a reduction then the Polynomial Hierarchy collapses. The argument applies to other target distributions, not just the uniform distribution. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now my first point (regarding your Question (2)) is that their result directly gives evidence for the difficulty of showing a worst-case to average-case connection for proof systems certifying unsatisfiability of Boolean formulas.  Because the most natural way you'd try to argue that random unsatisfiable formulas are hard to refute (assuming $NP \neq coNP$), is by exhibiting a random self-reduction as above.  Now in the study of proof systems, it might be natural to allow the recovery algorithm $R'$ to be nondeterministic, for example; I believe the [FF] analysis techniques would still apply, but this would take verification after defining things carefully.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My second point is that non-adaptive random self-reductions as above are not the only way to establish average-case hardness of a language $L$ (assuming its worst-case hardness).  There is also the more general notion of a &lt;em&gt;self-correction&lt;/em&gt; reduction, which converts any mostly-correct algorithm for $L$ into a fully-correct algorithm, but which does not guarantee that its individual queries be distributed according to any particular distribution (they may depend heavily on the input $x$).  Bogdanov and Trevisan &lt;a href=&quot;http://theory.stanford.edu/~trevisan/pubs/redux-sicomp.pdf&quot; rel=&quot;nofollow&quot;&gt;proved&lt;/a&gt; that non-adaptive self-correctors for $NP$-complete languages would also collapse the Polynomial Hierarchy.&lt;br&gt;&#xA;But it is completely open whether &lt;em&gt;adaptive&lt;/em&gt; self-correctors exist for $NP$-complete languages.  I believe the question of adaptive random self-reductions for SAT is also open.&#xA;Even if all of these could be ruled out (under the assumption $PH$ does not collapse, say), there might conceivably still be some other, less constructive proof of a worst-case to average-case hardness connection for $NP$.  Bogdanov-Trevisan give a good discussion of the issues here (see also their &lt;a href=&quot;http://arxiv.org/abs/cs/0606037&quot; rel=&quot;nofollow&quot;&gt;survey&lt;/a&gt; on average-case complexity).&lt;/p&gt;&#xA;" OwnerUserId="223" LastActivityDate="2013-11-29T15:50:33.853" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="20040" PostTypeId="2" ParentId="19956" CreationDate="2013-11-29T18:28:05.570" Score="3" Body="&lt;p&gt;Given your edit, the question now looks trivial.  The structure on $\mathcal{O}$ is irrelevant.  Basically,  you are given a set $\mathcal{O}$ and a set of pairs $a_i,b_i$ with the promise that $a_i &amp;lt; b_i$ for some total order $&amp;lt;$.  You want to find all pairs $a',b'$ such that there exists some total orders $&amp;lt;_1,&amp;lt;_2$ that are consistent with all the examples and such that $a' &amp;lt;_1 b'$ and $a' &amp;gt;_2 b'$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assuming I've got all that right, that's an easy problem to solve, computationally.  Basically, build a DAG with an edge $a_i \to b_i$ for each $i$.  Compute the transitive closure of the DAG.  Now, if there's an edge $a' \to b'$ in the transitive closure, then you know $a' &amp;lt; b'$ in all possible orders.  On the other hand, for any pair of vertices $a',b'$ that are not connected by an edge in the transitive closure, you could have either $a' &amp;lt; b'$ or $a' &amp;gt; b'$.  So, that's the region of uncertainty: the set of pairs of vertices $a',b'$ that are not connected by an edge in the transitive closure of this DAG.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If I haven't got all that right, you might need to provide a clearer statement of the problem in the question.&lt;/p&gt;&#xA;" OwnerUserId="5038" LastActivityDate="2013-11-29T18:28:05.570" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="20041" PostTypeId="1" CreationDate="2013-11-29T19:16:08.663" Score="4" ViewCount="424" Body="&lt;p&gt;I am looking for references for the following theorems.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Theorem 1&lt;/strong&gt;: Distributive expansion of a CNF formula $P_c$ (product of sums)&#xA;results in a DNF formula (sum of products) consisting of all prime&#xA;implicants for $P_c$. $P_c$ is called a Blake canonical form BCF.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Theorem 2&lt;/strong&gt;: If we transform a disjunctive clause $C_d$ with $k$ literals to a&#xA;disjunctive clause of conjunctions $C_m$ by replacing each literal&#xA;$l_i, i = (1, ..., k)$ with the conjunction $(\neg l_1 \wedge&#xA;... \wedge \neg l_{i-1} \wedge l_i)$, then $C_m$ will be logically equivalent to $C_d$. The clause $C_m$ is called a&#xA;clause with maximized conflicts.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Distributive expansion of $C_m$ shows that it is logically&#xA;equivalent to the unmaximized clause $C_d$, $C_m = C_d$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Theorem 3&lt;/strong&gt;: Distributive expansion of a CNF formula with maximized conflicts&#xA;$P_m$ (product of sums of products), with simplification of&#xA;outermost clauses &lt;em&gt;before&lt;/em&gt; innermost clauses, results in a DNF&#xA;formula $P_u$ (sum of products) defining a set of (not&#xA;necessarily prime) implicants $I_u$ for $P_m$. The&#xA;implicants from $I_u$ cover all possible solutions for&#xA;$P_m$.  The implicants $I_u$ are unique, in that no&#xA;implicant $M_i \in I_u$ covers the solutions of any other&#xA;implicant $M_j \in I_u, i \ne j$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Motivation&lt;/strong&gt;:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;With the discussion in [BROWN] I have finally found the last&#xA;piece of the puzzle.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Obviously, the restrictions for syllogistic formulae --- namely&#xA;removal of duplicate literals and elimination of clauses with&#xA;contradictory literals --- have been loosened over time. However, this&#xA;seems to have been a process of ad hoc reasoning.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am missing an exhaustive formal discussion of the&#xA;consequences. I.e., the set of logically equivalent DNFs&#xA;represented by their minimal form of a disjunction of &quot;atomic&quot;&#xA;literals and the influence on the resulting DNFs of partial&#xA;assignments, which always cover all possible solutions, albeit in&#xA;different ways.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In order to find out, whether I have to do all of that on my own,&#xA;I use theorem 3 to show, that besides the well-known Blake canonical&#xA;form BCF, other non-trivial DNFs of implicants with different&#xA;properties appear, when the input clauses are generalized from&#xA;CNF to allow non-syllogistic representations, namely the DNFs&#xA;from theorem 2. Since that also requires a different order of&#xA;evaluation which is highly non-intuitive to simplification&#xA;junkies, I assume that I am out of luck.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It can especially be shown that for selection problems in &quot;direct&#xA;encoding&quot; (Chapter 2, &lt;em&gt;Handbook of Satisfiability&lt;/em&gt;), the input based on theorem 2 alone allows a &lt;a href=&quot;http://sw-amt.ws/satoku/doc/doc-experiments/README.html&quot; rel=&quot;nofollow&quot;&gt;CDCL solver to solve the problem with&#xA;significantly less decisions&lt;/a&gt; than with plain CNF. Small problems&#xA;(currently 40 variables, 171 clauses) are even solved earlier with the&#xA;generally less effective &quot;direct encoding&quot; than with the original CNF&#xA;encoding. Note, that there is actually never a set of implicants&#xA;generated in that case.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have prepared a &lt;a href=&quot;http://sw-amt.ws/satoku/doc/doc-cnf-cdf-pde/satoku-cnf-cdf-pde.pdf&quot; rel=&quot;nofollow&quot;&gt;PDF with examples&lt;/a&gt; to illustrate the effects.&lt;/p&gt;&#xA;" OwnerUserId="18231" LastEditorUserId="18231" LastEditDate="2013-12-09T21:39:43.943" LastActivityDate="2014-03-09T22:52:52.240" Title="Distributive expansion of CNF and implicants" Tags="&lt;lo.logic&gt;&lt;big-picture&gt;" AnswerCount="1" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="20045" PostTypeId="2" ParentId="19283" CreationDate="2013-11-30T00:30:25.323" Score="3" Body="&lt;p&gt;Isn't the conjecture in the paper that the number of $(k+1)$-cliques in this case is at least $c^{k-1}$? That's the number you get by adding a single edge to the Turan-graph. I think it's proved in &lt;a href=&quot;http://www.renyi.hu/~p_erdos/1969-10.pdf&quot; rel=&quot;nofollow&quot;&gt;1969-10&lt;/a&gt;. Also relevant: &lt;a href=&quot;http://www.renyi.hu/~p_erdos/1983-28.pdf&quot; rel=&quot;nofollow&quot;&gt;1983-28&lt;/a&gt;.&#xA;Recently, there has been significant progress on bounding the number of cliques as a function of the quadratic term of the number of edges: &lt;a href=&quot;http://arxiv.org/abs/1212.2454&quot; rel=&quot;nofollow&quot;&gt;arxiv:1212.2454&lt;/a&gt;.  &lt;/p&gt;&#xA;" OwnerUserId="15637" LastActivityDate="2013-11-30T00:30:25.323" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20050" PostTypeId="1" AcceptedAnswerId="20051" CreationDate="2013-11-30T15:03:49.390" Score="2" ViewCount="931" Body="&lt;p&gt;$\underline{\mathsf{EQUAL\mbox{ }k-COMPLEMENTARY\mbox{ }SUBSET\mbox{ }SUM(EkCSS)} }$Problem:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Input&lt;/em&gt;: $a_1,\dots,a_n,b\in \mathbb Z$, with distinct $a_i$ and $k\in\Bbb Z^+$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Output&lt;/em&gt;: $k$ $\mbox{ }\underline{not\mbox{ }necessarily\mbox{ }disjoint}$ subsets of $a_i$s of sizes $n_1,\dots,n_k$ satisfying $\sum_{i=1}^kn_i=n$ such that each subset sums to $b$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;(1) Is $\mathsf{EkCSS}$ $NP$-complete?&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;(2) If we replace requiring $k$ subsets by requiring $\lceil\log^cn\rceil$ subsets for some fixed $c\in\Bbb R^+$ does the problem remain NP complete?&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;(3) Is $\mathsf{EkCSS-Diff}\mbox{ }$ $NP$-complete where $\mathsf{EkCSS-Diff}$ is same as $\mathsf{EkCSS}$ but with added condition $n_i\neq n_j\forall i\neq j$ (different subset sizes)?&lt;/strong&gt;&lt;/p&gt;&#xA;" OwnerUserId="1812" LastEditorUserId="495" LastEditDate="2014-01-29T10:47:24.063" LastActivityDate="2014-01-29T10:47:24.063" Title="Multiple subset sum where subsets have complementary cardinality" Tags="&lt;np-complete&gt;&lt;subset-sum&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" CommunityOwnedDate="2013-12-01T08:45:00.023" ContentLicense="CC BY-SA 3.0" />
  <row Id="20051" PostTypeId="2" ParentId="20050" CreationDate="2013-11-30T17:19:48.387" Score="2" Body="&lt;p&gt;This is a reduction (attempt :-) from this slight variant of SUBSET SUM (which should be NPC) to prove that &lt;strong&gt;E2CSS&lt;/strong&gt; is NP-complete:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given integers $A = a_1,a_2,...,a_n\;; a_i &amp;gt; 0$ (with the additional constraint that n is even) and a target sum $b$. Does exist $X \subseteq A$ such that $|X|=2m, m \geq 1$ (i.e. $|X|$ is even and greater than or equal to 2) and $sum(X)=b$?  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Reduction: suppose that $2^k &amp;gt; b+\sum_{i=1}^n |a_i|$; then we expand $A$ adding a &lt;em&gt;dummy solution&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$A' = A \cup \{ -2^k, 2^k + b\}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $X$ is a solution for the original problem, then  $X, Y= \{ -2^k, 2^k + b\}$ are two distinct solutions for $A'$ and target sum $b$. Now we can further expand $A'$ to $|A''|$ adding &lt;em&gt;padding pairs&lt;/em&gt; of integers that do not affect the sums but can be used to &quot;pad&quot; $X$ and $Y$ up to $|X|+|Y|=|A''|$. We have&#xA;$|A'|=n+2$, so we add $n/2-1$ pairs $\{2^{k+i},-2^{k+i}\}$, $i=1..n/2-1$:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$A'' = \{a_1,...,a_n,-2^k, 2^k + b, 2^{k+1},-2^{k+1},...,2^{k+n/2-1},-2^{k+n/2-1}\}$, $|A''|=2n$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Using all the $n/2-1$ &lt;em&gt;padding pairs&lt;/em&gt; we can build a set $Z$ such that $sum(Z)=0$ and $|Z|=2(n/2-1)=n-2$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We can notice that using the dummy solution and the padding pairs we can build a set $Y'=Y \cup Z$, $sum(Y')=b$, $|Y'|=n$ (which is half the size of $A''$). So in order to get another &lt;em&gt;different&lt;/em&gt; solution we  must use two or more of the $a_i$ plus some padding pairs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the figure a binary expansion of the elements of $A''$:&#xA;&lt;img src=&quot;https://i.stack.imgur.com/mtWia.jpg&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The above reduction works for any &lt;em&gt;fixed&lt;/em&gt; $k$: just start with the (NP-complete) subset sum variant in which $k$ divides $n$ and $|X|\geq k$, then add $k-1$ dummy solutions (each dummy solution made with $k$ elements) and $(n/k-1)$ padding k-tuples.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $k$ &lt;em&gt;is part of the input&lt;/em&gt; (&lt;strong&gt;EkCSS&lt;/strong&gt;), we have a simple generalization of the E2CSS problem and its NP-hardness follows immediately by the NP-completeness of E2CSS; the reduction is trivial: given an instance $A'',b$ of the E2CSS problem, just transform it to $A'',b,k=2$ which is a valid instance of the EkCSS problem. So EkCSS is NP-complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Very informally) The &lt;strong&gt;EkCSS-diff&lt;/strong&gt; should be NP-complete, too and the reduction from EkCSS is: &quot;attach&quot; to every $a_i$ a group of elements $T_i$ of size $m_i=(i+1)*n$:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$T_i= \{ a_i+1*2^u, 2*2^u,3*2^u,....,(m_i-1) 2^u,-2^u*\sum_{j=1}^{m_i-1} \}, |T_i|=(i+1)*n$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The first element of $T_i$ &lt;em&gt;which replaces&lt;/em&gt; $a_i$, contains two detached &quot;bit components&quot; the original $a_i$ and $1*2^u$; but the only way to &quot;clear&quot; $1*2^u$ is to include the other elements of $T_i$ and the final one that is the only negative element (it &quot;clears&quot; all the previous $2^u$ components).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Every $T_i$ have distinct values for $u$ (and choosen in such a way that the sums don't interfere with each other and with the sum of the original $a_i$s).&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2013-12-01T19:29:42.500" LastActivityDate="2013-12-01T19:29:42.500" CommentCount="13" ContentLicense="CC BY-SA 3.0" />
  <row Id="20053" PostTypeId="1" AcceptedAnswerId="20054" CreationDate="2013-11-30T18:38:00.383" Score="3" ViewCount="190" Body="&lt;p&gt;Are there any known languages that require $o(\log n)$ space but are also not regular?  I'm looking for a problem &quot;just below&quot; undirected connectivity.&lt;/p&gt;&#xA;" OwnerUserId="123" LastActivityDate="2013-11-30T21:14:48.873" Title="Nonregular Languages in Sublogarithmic Space" Tags="&lt;cc.complexity-theory&gt;&lt;space-complexity&gt;" AnswerCount="2" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="20054" PostTypeId="2" ParentId="20053" CreationDate="2013-11-30T20:59:41.727" Score="7" Body="&lt;p&gt;Yes. I think the main reference is &lt;a href=&quot;http://link.springer.com/book/10.1007/3-540-58355-6/page/1&quot;&gt;Turing Machines with Sublogarithmic Space&lt;/a&gt; by Szepietowski (1994). (Link to &lt;a href=&quot;http://books.google.com/books?isbn=3540583556&quot;&gt;books.google&lt;/a&gt;)&lt;/p&gt;&#xA;" OwnerUserId="7358" LastActivityDate="2013-11-30T20:59:41.727" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20055" PostTypeId="2" ParentId="20053" CreationDate="2013-11-30T21:14:48.873" Score="2" Body="&lt;p&gt;In case you don't want to read the book, take the numbers written in binary from 1 to n, separated by a comma.&lt;/p&gt;&#xA;" OwnerUserId="419" LastActivityDate="2013-11-30T21:14:48.873" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20056" PostTypeId="1" AcceptedAnswerId="20057" CreationDate="2013-11-30T23:41:31.083" Score="12" ViewCount="517" Body="&lt;p&gt;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.129.7944&amp;amp;rep=rep1&amp;amp;type=pdf&quot;&gt;Impagliazzo, Paturi&lt;/a&gt; and &lt;a href=&quot;http://faculty.cs.tamu.edu/chen/iwpec2009/images/52.pdf&quot;&gt;Calabro, Impagliazzo, Paturi&lt;/a&gt; introduced Exponential-Time Hypothesis (ETH) and Strongly Exponential-Time Hypothesis (SETH). Roughly, SETH says that there is no algorithm which solves SAT in time $1.99^n$.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I was wondering what would that mean to break SETH. We definitely need to find an algorithm which solves SAT in fewer than $2^n$ steps, but I don't quite understand what computational model we should use. As far as I know, results based on SETH (see, e.g., &lt;a href=&quot;http://arxiv.org/pdf/1112.2275.pdf&quot;&gt;Cygan, Dell, Lokshtanov, Marx, Nederlof, Okamoto, Paturi, Saurabh, Wahlstrom&lt;/a&gt;) don't need to make assumptions about the underlying model of computation. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assume, for example, that we found an algorithm which solves SAT in time $1.5^n$ using space $1.5^n$. Does it automatically imply that we can find a Turing Machine which solves this problem in time $1.99^n$? Does it break SETH?&lt;/p&gt;&#xA;" OwnerUserId="7454" LastActivityDate="2013-12-04T18:44:12.763" Title="Computational Model in SETH" Tags="&lt;cc.complexity-theory&gt;&lt;sat&gt;&lt;exp-time-algorithms&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="20057" PostTypeId="2" ParentId="20056" CreationDate="2013-12-01T06:21:54.123" Score="18" Body="&lt;p&gt;SETH says that for all $\delta &amp;lt; 1$ there is a $k$ such that $k$-SAT requires $2^{\delta n}$ time to be solved in the worst-case. The computational model is generally taken to be the random-access machine or pointer machine model, which allows for $O(\log N)$ time access to a storage of $N$ items, and is generally assumed to also be probabilistic with bounded error. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;As far as I know, it is open whether $2^{\delta n}$ time algorithms on such a model can be translated into two-tape Turing machines running in $2^{\delta n} \cdot poly(n)$ time. Nevertheless, proving that such a translation is &lt;em&gt;not&lt;/em&gt; possible would separate multitape Turing machines from random access machines, which would have several very intriguing implications. For one, it would prove that SAT is not solvable in quasi-linear time on multitape Turing machines (because, if SAT could be solved with such multitape machines, then random-access machines &lt;em&gt;can&lt;/em&gt; be efficiently simulated with multitape Turing machines). Note that many computational primitives (such as sorting, circuit evaluation, simple dynamic programming) can be implemented efficiently on multitape Turing machines. One relevant reference for these issues is Regan, &lt;a href=&quot;http://scholar.google.com/scholar?q=On%20the%20Difference%20Between%20Turing%20Machine%20Time%20and%20Random-Access%20Machine%20Time.&quot;&gt;&quot;On the Difference Between Turing Machine Time and Random-Access Machine Time.&quot;&lt;/a&gt; &lt;/p&gt;&#xA;&#xA;&lt;p&gt;To address your specific questions: no, a multitape Turing machine is not automatically implied here, but yes, such an &quot;algorithm&quot; for SAT (under the usual random-access model) would break SETH.&lt;/p&gt;&#xA;" OwnerUserId="225" LastEditorUserId="225" LastEditDate="2013-12-04T18:44:12.763" LastActivityDate="2013-12-04T18:44:12.763" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="20058" PostTypeId="1" AcceptedAnswerId="20215" CreationDate="2013-12-01T10:02:26.927" Score="3" ViewCount="373" Body="&lt;p&gt;$1)$Can a $NP$-hard problem can have short certificates that can be verified in deterministic polynomial time for ALL but $\frac{1}{n}$ of the NO instances$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$2)$ Can one concoct versions of NP complete problems $\Pi_1$ and $\Pi_2$ where probability $p=P(\Pi_2=NO|\Pi_1=YES)=P(\Pi_1=NO|\Pi_2=YES)$ is between $\frac{1}{2}+\epsilon$ and $1-\epsilon$? Then almost all the time short certificates are possible as in $1)$ if $p$ is closer to $1-\epsilon$.&lt;/p&gt;&#xA;" OwnerUserId="1812" LastEditorUserId="1812" LastEditDate="2013-12-02T19:35:42.140" LastActivityDate="2013-12-15T13:15:05.080" Title="On $NP=coNP$ problem in average case" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;" AnswerCount="1" CommentCount="9" CommunityOwnedDate="2013-12-02T19:35:42.140" ContentLicense="CC BY-SA 3.0" />
  <row Id="20062" PostTypeId="1" CreationDate="2013-12-01T23:23:36.157" Score="3" ViewCount="263" Body="&lt;p&gt;This is kind of multiple questions in one. Let's consider $\phi$ a formula in the basic modal language (that is, in propositional language based on a set of propositional variables $\Phi$, plus one of the basic modal operators, say, $\Diamond$)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) Define the $\phi-\mathsf{MODEL}$ problem as: Given a finite structure $M = (W, R, V, w)$, where $W$ is a set, $R \subseteq W \times W$, $V : \Phi \rightarrow 2^W$ and $w \in W$, is $\phi$ satisfied in $M$, as per the usual modal logic definition of satisfiability?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2)  Define the $\phi-\mathsf{FRAME}$ problem as: Given a finite structure $F = (W, R)$, where $W$ is a set and $R \subseteq W \times W$ is $\phi$ valid in $F$, as per the usual modal logic definition of validity?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We could go on and define other variants, asking if there is a world in which the formula is satisfied (or valid), if there is a valuation such that the formula is satisfied, and so on.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now consider, for example, the collection of $\phi-\mathsf{MODEL}$ problems, for all basic modal formulas $\phi$. My question could be formulated as thus: &lt;strong&gt;Is this class of problems equal to any well-known complexity class?&lt;/strong&gt; Of course, the question could be formulated for any of the variants i just proposed, so it's as i said earlier, kind of multiple questions in one.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(It goes without saying, but for other logics, such as first and second-order logics, this is a much-studied subject with the name Descriptive Complexity, with classic results such as Fagin's Theorem relating the existential fragment of second-order logic to the complexity class NP)&lt;/p&gt;&#xA;" OwnerUserId="20416" LastActivityDate="2013-12-02T11:09:01.560" Title="What is the descriptive complexity of the basic modal logic?" Tags="&lt;complexity-classes&gt;&lt;modal-logic&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="20063" PostTypeId="2" ParentId="19945" CreationDate="2013-12-02T00:46:18.303" Score="1" Body="&lt;p&gt;Any efficient algorithm to solve the subset $k$-product problem (for $k$ large enough) would also give an efficient algorithm to solve the discrete logarithm problem in that field.  Therefore, if you are working in a large finite field where the discrete log is hard (e.g., $GF(p)$ where $p$ is a sufficiently large prime), there is no hope for an efficient algorithm to solve the subset $k$-product problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Conversely, if you are working in a field where the discrete logarithm problem is easy, it is easy to convert any instance of the subset $k$-product problem to the subset $k$-sum problem: just take discrete logs.  Therefore, if the discrete log problem is easy, subset $k$-product is no harder than subset $k$-sum.&lt;/p&gt;&#xA;" OwnerUserId="5038" LastActivityDate="2013-12-02T00:46:18.303" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="20068" PostTypeId="2" ParentId="20062" CreationDate="2013-12-02T11:09:01.560" Score="5" Body="&lt;p&gt;Modal logic does not capture any interesting complexity class. As it is invariant under bisimulation, it cannot even test whether the vertex $w$ has degree greater than $2$, which is a constant time property. We are interested in ML for a different reason: ML is the bisimulation invariant fragment of first-order logic (Theorem of van Benthem). In other words, ML is the &quot;first-order logic of process behaviour&quot;. Similarly, the bisimulation invariant fragment of monadic second-order logic is the $\mu$-calculus (Theorem of Janin/Walukiewicz). &lt;/p&gt;&#xA;" OwnerUserId="17644" LastActivityDate="2013-12-02T11:09:01.560" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="20071" PostTypeId="1" AcceptedAnswerId="20090" CreationDate="2013-12-02T15:35:48.390" Score="7" ViewCount="1320" Body="&lt;p&gt;I understand that using higher-order abstract syntax essentially means using host (meta) language abstraction facilities to represent binders in embedded (object) language. But, Why exactly is it higher-order? Why is traditional abstract syntax called first-order abstract syntax?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I read the paper (Frank Pfenning, and Conal Elliott, Higher-Order Abstract Syntax, PLDI'88) that introduced HOAS as we use today. I could not quite understand the following paragraph ($\S$ 3.2) that describes encoding in HOAS:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;In this first generalization, simply typed lambda terms represent programs. .. . The lexical terminals and the operators that do not introduce variable bindings are, respectively, first-order and second-order constants of the $\lambda$-calculus. Another crucial change occurs for the variables. Operators in the object language that are binding constructs are now explicitly encoded as third-order constants. As the following examples will show, this requires that bound object language variables actually become variables in the typed lambda calculus.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Particularly, I am not convinced why encodings for binding-introducing constructs like let (shown in Figure 1 of the paper) are considered third-order.&lt;/p&gt;&#xA;" OwnerUserId="19615" LastEditorUserId="19615" LastEditDate="2013-12-02T20:16:20.643" LastActivityDate="2013-12-04T15:37:38.643" Title="What is higher-order in higher-order abstract syntax?" Tags="&lt;functional-programming&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="20072" PostTypeId="1" AcceptedAnswerId="20181" CreationDate="2013-12-02T20:30:16.047" Score="2" ViewCount="129" Body="&lt;p&gt;Is it true that for all $n$ &#xA;there are $n$ pairwise nonhomomorphic graphs with $poly(n)$ vertices?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a polynomial time algorithm for constructing such families of graphs?&lt;/p&gt;&#xA;" OwnerUserId="14197" LastActivityDate="2013-12-11T21:08:21.270" Title="Polynomial time construction of families of pairwise nonhomomorphic graphs" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;homomorphism&gt;" AnswerCount="2" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="20073" PostTypeId="2" ParentId="17636" CreationDate="2013-12-02T21:10:18.630" Score="8" Body="&lt;p&gt;I'm not sure I can completely answer your question, but I'll give it a&#xA;shot, and ask a few questions of my own that might spur some further&#xA;discussion on this subject.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My first point is this: two terms $t, t'$ in the &lt;em&gt;untyped&lt;/em&gt;&#xA; $\lambda$-calculus are said to be &lt;strong&gt;observably equal&lt;/strong&gt; iff for every&#xA; term $M$:&#xA; $$M\ t \mbox{ terminates } \Leftrightarrow M\ t' \mbox{ terminates }$$&#xA; Where &lt;em&gt;terminates&lt;/em&gt; means &quot;has a $\beta$-normal form&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I find it more natural to consider terms with &quot;holes&quot; or &lt;em&gt;contexts&lt;/em&gt;&#xA; $E[\_]$ instead of simply terms $M$ and write $E[t]$ instead of $M\&#xA; t$. The two views are certainly equivalent (if variables are not&#xA; bound by the context), as abstraction allows you to turn the context&#xA; $E[\_]$ into the term $\lambda x.E[x]$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now it is a fact that observational equality in the untyped calculus&#xA; is &lt;strong&gt;not captured&lt;/strong&gt; by $\beta\eta$-equality! Indeed there is a whole&#xA; class of terms, which both do not terminate and have no head normal&#xA; forms and are all therefore observably equal. These are sometimes&#xA; called the &lt;strong&gt;perpetual terms&lt;/strong&gt; or &lt;strong&gt;unsolvable terms&lt;/strong&gt;, and here are&#xA; two such terms:&#xA; $$ (\lambda x. x\ x)(\lambda x. x\ x)$$&#xA; and&#xA; $$ (\lambda x. x\ x\ x)(\lambda x. x\ x\ x)$$&#xA; It's quite easy to show that these terms are not $\beta\eta$-equal.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If all perpetual terms are identified, then observational equality is&#xA; completely captured, by a classic result (see &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0444875085&quot; rel=&quot;nofollow noreferrer&quot;&gt;Barendregt&lt;/a&gt; theorem 16.2.7).&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Now for typed calculi. Let's consider the simply typed&#xA; $\lambda$-calculus without natural numbers first. The above&#xA; definition of observational equality becomes trivial, as every term&#xA; normalizes! We need a finer distinction. We will use value equality&#xA; $t_1\downarrow t_2$ for closed terms, defined by induction on the&#xA; type of $t_1$ and $t_2$. Let's first add for each type $A$, an&#xA; infinite number of constants $c_A, c_A', c''_A,\ldots$. We'll choose&#xA; some constant $c_x$ of the appropriate type to correspond to each&#xA; variable $x$.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;At base type $B$, $t_1\downarrow t_2$ iff the $\beta$-head normal&#xA;form of $t_1$ is $c\ u_1\ldots u_n$ and that of $t_2$ is $d\&#xA; v_1\ldots v_n$ and $c=d$ and $u_1\downarrow v_1,\ldots,&#xA; u_n\downarrow v_n$ at their respective types.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;At arrow type, $t_1\downarrow t_2$ iff both terms $\beta$-reduce to a&#xA;$\lambda$-abstraction.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Note that I only use $\beta$-conversion in this definition.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now I define contexts to be:&#xA; $$[\_]\mid E[\_]\ u\mid t\ E[\_]\mid \lambda x.\ E[\_]\mid E[\_]\theta $$&#xA; with the head context, application, abstraction and substitution (by&#xA; closed terms) respectively.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We can then define $t$ and $t'$, well typed of type $T$ to be&#xA; observationally equivalent if and only if for every context $E[\_]$&#xA; such that $E[t],E[t']$ are well-typed and &lt;strong&gt;closed&lt;/strong&gt;.&#xA; $$ E[t]\downarrow E[t']$$&#xA; we will write $t=_{\mathrm{obs}}t'$ in this case&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now it is easy to observe that if $t=_{\beta\eta}t'$ then&#xA; $t=_{\mathrm{obs}}t'$. The other direction is less trivial, but also&#xA; holds: indeed, if $t=_{\mathrm{obs}}t'$, then we can show that the&#xA; terms are equal for $\beta\eta$ by induction on the type:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;At base type, simply take $E[\_]$ to be $[\_]\theta$, with&#xA;$\theta$ the substitution that sends $x$ to $c_x$.  We have&#xA;$E[t]=t\theta$ and $E[t']=t'\theta$. We have&#xA;$t\theta\rightarrow_\beta c_x\ u_1\theta\ldots u_n\theta$ and&#xA;$t'\theta\rightarrow_\beta c_{x'}\ v_1\theta\ldots v_n\theta$. We&#xA;then have $c_x=c_{x'}$ and so $x=x'$. Now we can't immediately conclude that&#xA;$u_i\theta=_{\beta\eta}v_i\theta$. Indeed, if $u_i$ and $v_i$ are&#xA;$\lambda$-abstractions, then trivially $u_i\theta\downarrow&#xA; v_i\theta$! The trick here is to send $x$ to &#xA;$$\lambda \vec{y}.\tilde{c_x}\ (y_1\vec{c_1})\ldots (y_n\vec{c_n})$$&#xA;and to repeat this as many times as necessary. I'm a bit fuzzy on the&#xA;details here, but the idea is similar to Böhm's theorem (&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0444875085&quot; rel=&quot;nofollow noreferrer&quot;&gt;Barendregt again&lt;/a&gt;&#xA;10.4.2).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;At arrow type, take $E[\_]$ to be $[\_]\ c_y$, i.e. application to&#xA;$c_y$ with $c_y$ and $y$ not in $t$ or $t'$. By the induction hypothesis we have:&#xA;$$ t\ c_y \ =_{\beta\eta}\ t'\ c_y$$&#xA;and so&#xA;$$ t\ y \ =_{\beta\eta}\ t'\ y$$&#xA;Which gives $\lambda y.t\ y\ =_{\beta\eta}\ \lambda.t'\ y$ and&#xA;finally by $\eta$-equality:&#xA;$$t\ =_{\beta\eta}\ t'$$&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;That was harder than expected!&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Alright let's tackle system T. Let's add a type $\mathbb{N}$ to the mix,&#xA;  constructors $0$ and $S$, and a recursor $\mathrm{rec_T}$ for each&#xA;  type $T$, with the &quot;$\beta$-rules&quot;&#xA;  $$ \mathrm{rec_T}\ u\ v\ 0\rightarrow_{\beta} u$$&#xA;  $$ \mathrm{rec_T}\ u\ v\ (S\ n)\rightarrow_{\beta} v\ n\&#xA;  (\mathrm{rec_T}\ u\ v\ n)$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We want to prove the same theorem as above. It's tempting to add&#xA;  &quot;$\eta$-rules&quot; to prove equivalences like:&#xA;  $$ \lambda x.x\ =_{\beta\eta}\ \mathrm{rec_{\mathbb{N}}}\&#xA;  0\ (\lambda k\ m.S\ m)$$ &#xA;  where the term on the right is the &quot;stupid&#xA;  identity&quot; that peels off $m$ successors just to add them again.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example let's add this rule:&#xA;  $$ \frac{f\ (S\ x)\ =_{\beta\eta}\ h\ x\ (f\ x)}{f\ t\&#xA;  =_{\beta\eta}\mathrm{rec_T}\ (f\ 0)\ h\ t}$$&#xA;  where $x$ is a fresh variable as in the usual $\eta$ rule. Now note that&#xA;  this rule is recursively enumerable (you can try every possible&#xA;  choice for $h$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can we prove the same theorem as above? Unfortunately, as you&#xA;  suspected, you're going to run into some Gödel nastiness, or rather,&#xA;  the Kleene variant (see &lt;a href=&quot;http://en.wikipedia.org/wiki/G%C3%B6del%27s_incompleteness_theorems#Relationship_with_computability&quot; rel=&quot;nofollow noreferrer&quot;&gt;Wikipedia&lt;/a&gt;). For every Turing machine ${\cal&#xA;  M}$, it's easy to build a term $t_{\cal M}$ in system $T$ such that $t_{\cal M}\&#xA;  (S\ldots\ S\ 0)$ (with $n$ $S$es) returns $1$ if ${\cal M}$ finishes&#xA;  in at most $n$ steps and $0$ otherwise.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So now if ${\cal M}$ does not terminate, you can ask whether the&#xA;  (true) equation&#xA;  $$t_{\cal M}\ = \lambda x.0$$&#xA;  is provable using the $\beta\eta$ rules above. But taking ${\cal M}$&#xA;  to be the machine that terminates iff&#xA;  $$0\ =_{\beta\eta}\ S\ 0$$&#xA;  is provable in system $T$ (with the above rules), you're going to&#xA;  run into trouble, i.e. the equation $t_{\cal M}=\lambda x.0$ is true but not provable (or&#xA;  Peano Arithmetic is inconsistent!).&lt;/p&gt;&#xA;" OwnerUserId="3984" LastEditorUserId="3984" LastEditDate="2017-03-13T15:07:37.640" LastActivityDate="2017-03-13T15:07:37.640" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="20075" PostTypeId="2" ParentId="20071" CreationDate="2013-12-03T08:21:52.013" Score="15" Body="&lt;p&gt;You can think of $\lambda$-abstraction as an operator $\Lambda$ which takes a &lt;em&gt;function&lt;/em&gt; from terms to terms into a term:&#xA;$$\Lambda : (\mathsf{Term} \to \mathsf{Term}) \to \mathsf{Term}.$$&#xA;The type of $\Lambda$ is &lt;em&gt;higher-order&lt;/em&gt; because it maps &lt;em&gt;functions&lt;/em&gt; to &lt;em&gt;objects&lt;/em&gt;, so it is a &lt;em&gt;functional&lt;/em&gt; of rank 2. This is where the name comes from.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, if $\mathsf{id}$ is the identity map then $\Lambda(\mathsf{id})$ is the term $\lambda x . x$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Constructors, for example $\mathsf{succ}$ as a constructor for the type of natural numbers, can naturally be viewed as &lt;em&gt;first-order&lt;/em&gt; because they take terms to terms.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course, for the above to make sense, we need to be able to speak about functions between terms at the meta-level. And there are various subtleties: in principle one can have weird functions between terms that do not correspond to anything that can be written down in the syntax (consider a non-computable map). So if you're not careful, you're going to end up with &quot;exotic terms&quot; $\Lambda(f)$ that create a lot of trouble.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The usual solution is to somehow limit $\mathsf{Term} \to \mathsf{Term}$ to only &quot;nice&quot; functions. One possibility is &lt;a href=&quot;http://adam.chlipala.net/papers/PhoasICFP08/&quot;&gt;PHOAS&lt;/a&gt;, another is to use a meta-theory such as Logical Frameworks in which only nice functions exist.&lt;/p&gt;&#xA;" OwnerUserId="705" LastActivityDate="2013-12-03T08:21:52.013" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20076" PostTypeId="1" AcceptedAnswerId="20077" CreationDate="2013-12-03T15:39:01.913" Score="4" ViewCount="674" Body="&lt;p&gt;Consider a set of $n$ points in $\mathbb Z^2$. It is known that &lt;a href=&quot;https://en.wikipedia.org/wiki/Convex_hull_algorithms&quot; rel=&quot;nofollow&quot;&gt;their convex hull can be computed in time $O(n\log n)$&lt;/a&gt;, or even $O(n\log h)$ where $h$ is the number of points in the convex hull. These bounds are in given (for instance) in the model of algebraic decision trees.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;What is the bit-complexity of computing the convex hull of $n$ points in $\mathbb Z^2$, whose both coordinates are bounded in absolute value by $M$?&lt;/strong&gt; &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am interested on the one hand in the dependence of the complexity in $M$, and on the other hand in the possible gain in complexity one obtains using the fact that the input points have integer coordinates. In my problem, I see $M$ as a large parameter, that is $\log(M)$ has the same order of magnitude as $n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that I am especially interested in the problem with the additional requirement that the points on the convex hull have to be listed in the order of the (say) counterclockwise rotation, beginning for instance at the leftmost point.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am also interested in the same questions in higher dimensions.&lt;/p&gt;&#xA;" OwnerUserId="976" LastEditorUserId="976" LastEditDate="2013-12-03T17:47:50.603" LastActivityDate="2013-12-03T19:59:07.230" Title="Computing the convex hull of lattice points" Tags="&lt;reference-request&gt;&lt;cg.comp-geom&gt;" AnswerCount="1" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="20077" PostTypeId="2" ParentId="20076" CreationDate="2013-12-03T17:26:30.927" Score="10" Body="&lt;p&gt;The time is essentially the same as that for sorting numbers in the range $1,\dots M$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Graham scan (in the version where the points are sorted by their x-coordinates (with ties broken by y coordinates) rather than the one the textbooks unaccountably use in which they are sorted radially) can find convex hulls in linear time after the sorting step. So for your problem in which the coordinates are small integers, all the standard bounds of &lt;a href=&quot;https://en.wikipedia.org/wiki/Integer_sorting&quot;&gt;integer sorting&lt;/a&gt; apply. In particular, radix sort can achieve time $O(n(1+\frac{\log M}{\log n}))$ (e.g. linear time whenever $M$ is at most polynomial in $n$), and a randomized sorting algorithm of Han &amp;amp; Thorup 2002 can achieve time $O(n\sqrt{\log\log n})$. These are in models of computation in which machine words hold integers of some word length that is big enough to store the numbers $n$ and $M$ and in which one can do arithmetic and table lookups in constant time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Conversely, you could use a convex hull algorithm to sort a set of numbers $x_i$, by finding the hull of the points $(x_i,x_i^2)$. So if you could do convex hulls any faster than this, you could also improve the times for integer sorting. (The range $M$ of $y$-coordinates of these points would be the square of the range of the numbers, but since all the time bounds involve logarithms of this range, squaring $M$ makes no difference in terms of the eventual $O$-notation.)&lt;/p&gt;&#xA;" OwnerUserId="95" LastEditorUserId="95" LastEditDate="2013-12-03T19:59:07.230" LastActivityDate="2013-12-03T19:59:07.230" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="20079" PostTypeId="5" CreationDate="2013-12-03T18:30:26.500" Score="0" Body="" OwnerUserId="-1" LastEditorUserId="-1" LastEditDate="2013-12-03T18:30:26.500" LastActivityDate="2013-12-03T18:30:26.500" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20080" PostTypeId="4" CreationDate="2013-12-03T18:30:26.500" Score="0" Body="A partial order is a binary relation over a set which is reflexive, antisymmetric, and transitive." OwnerUserId="6477" LastEditorUserId="6477" LastEditDate="2013-12-04T00:33:36.117" LastActivityDate="2013-12-04T00:33:36.117" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20083" PostTypeId="1" CreationDate="2013-12-03T22:02:09.377" Score="2" ViewCount="187" Body="&lt;p&gt;2-SAT is in P.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Additionally, a (CNF) SAT-problem is trivially poly-time solvable if no two expressions can be resolved (via Robinson resolution, ie for every pair of disjunctive clauses, they either share no opposite literals or else two or more opposite literals)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I was wondering if there's a nice common generalization of these two classes of poly-time solvable SAT instance-types which is also poly-time solvable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What other classes of SAT-problems might such a generalization cover?&lt;/p&gt;&#xA;" OwnerUserId="13643" LastActivityDate="2013-12-03T22:02:09.377" Title="Most general form of SAT which is in P" Tags="&lt;sat&gt;&lt;polynomial-time&gt;&lt;resolution&gt;" AnswerCount="0" CommentCount="13" ContentLicense="CC BY-SA 3.0" />
  <row Id="20084" PostTypeId="1" CreationDate="2013-12-04T01:45:33.487" Score="26" ViewCount="2059" Body="&lt;p&gt;Suppose $P = NP$ and a fast linear-time algorithm for SAT appears tomorrow.  Suddenly RSA is insecure, much of our modern communication system is broken, and we need to reconsider how to keep secrets from each other. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question:&lt;/strong&gt; Is there a good single reference (or short list) to gain a big-picture view of what is possible in crypto (and in the allied field of &quot;security&quot;) &lt;em&gt;without&lt;/em&gt; intractability assumptions? This could save civilization one day, and would also be nice to peruse in the meantime. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Discussion:&lt;/strong&gt; Most of the cryptographic tasks we now study (OWFs, PRGs, PKE) are provably impossible in the $P = NP$ world (a world dubbed &quot;Algorithmica&quot; in an influential &lt;a href=&quot;http://cseweb.ucsd.edu/~russell/average.ps&quot;&gt;essay&lt;/a&gt; by Impagliazzo), but some things remain possible: communication with a &lt;a href=&quot;http://en.wikipedia.org/wiki/One-time_pad&quot;&gt;one-time pad&lt;/a&gt;; distributed &lt;a href=&quot;http://en.wikipedia.org/wiki/Secret_sharing&quot;&gt;secret sharing&lt;/a&gt;; &lt;a href=&quot;http://en.wikipedia.org/wiki/Private_information_retrieval&quot;&gt;private info retrieval&lt;/a&gt;; and some other nice things.&#xA;(Certain kinds of physical mechanisms such as &lt;a href=&quot;http://en.wikibooks.org/wiki/Cryptography/Public_Key_Overview&quot;&gt;locked boxes&lt;/a&gt;, devices implementing &lt;a href=&quot;http://en.wikipedia.org/wiki/Oblivious_transfer&quot;&gt;oblivious transfer&lt;/a&gt;, and &lt;a href=&quot;http://en.wikipedia.org/wiki/Quantum_key_distribution&quot;&gt;quantum states&lt;/a&gt; can also come in handy.  Of course there is always some kind of physical assumption about who can see what information.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One can distinguish between information-theoretic security (which works against a computationally unbounded adversary) and &quot;unconditional&quot; security (which may require a bounded adversary, but still shows security under no unproven assumptions).  I'm most interested in the info-theoretic case.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For starters, here is one &lt;a href=&quot;http://itsecurity.orgfree.com&quot;&gt;bibliography&lt;/a&gt; of information-theoretic security (which, for my purposes, is unmanageably long and disparate).&lt;/p&gt;&#xA;" OwnerUserId="223" LastActivityDate="2013-12-06T12:58:01.623" Title="Cryptography without assumptions -- seeking an overview" Tags="&lt;cr.crypto-security&gt;" AnswerCount="3" CommentCount="7" FavoriteCount="10" ContentLicense="CC BY-SA 3.0" />
  <row Id="20085" PostTypeId="2" ParentId="20084" CreationDate="2013-12-04T02:10:14.237" Score="16" Body="&lt;p&gt;The key phrases you are probably looking for are &quot;information-theoretic cryptography&quot; and &quot;quantum cryptography&quot;.  Searching the literature on these topics will turn up lots of work of the sort you are looking for.  Some example highlights below:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;For confidentiality: the one-time pad, the Wyner wiretap channel, secret sharing, quantum key exchange, etc.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;For integrity and authentication: universal hash functions.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;For anonymity: anonymous communication (e.g., DC nets, onion-based schemes, p2p networks based upon rapidly mixing random walks), distance bounding protocols.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;For security based upon physical assumptions: PUFs (physically unclonable functions), integrity codes (Capkun et al.), quantum cryptography, security using TPMs or tamper-resistant hardware.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;There are lots of papers on those topics; too many to summarize all the results in the literature.&lt;/p&gt;&#xA;" OwnerUserId="5038" LastActivityDate="2013-12-04T02:10:14.237" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="20086" PostTypeId="1" AcceptedAnswerId="20087" CreationDate="2013-12-04T06:28:23.010" Score="1" ViewCount="316" Body="&lt;p&gt;It would be extremely helpful if someone can suggest foundational textbooks on Recursive Analysis (Computability over Reals) which explains connections between Computability and the Topological properties of continuous sets. I could not find any, except &quot;Recursive Analysis&quot; by R.L. Goodstein but I dont have any feedback on that book. I would also like to ask for suggestions regarding a book on Complexity over Real Numbers which again deals with the connection between the complexity and the topology of a set. The only book I found on the net was &quot;Complexity and Real Computation&quot; by Lenore Blum et al but I am not sure if that is the book which I am looking for. Thanks in advance.&lt;/p&gt;&#xA;" OwnerUserId="17706" LastActivityDate="2013-12-04T12:27:28.110" Title="Foundational textbook(s) for Complexity and Computability on Real Numbers" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;soft-question&gt;&lt;computability&gt;&lt;computing-over-reals&gt;" AnswerCount="2" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20087" PostTypeId="2" ParentId="20086" CreationDate="2013-12-04T10:21:46.597" Score="2" Body="&lt;p&gt;There are some good books - &#xA; 1. Computable Analysis - Pour-El and Richards (an older reference)&#xA; 2. Computable Analysis - Weihrauch &lt;/p&gt;&#xA;&#xA;&lt;p&gt;There's also the Blum-Shub-Smale Model, which is the model explored in &quot;Complexity and Real Computation&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The complexity theory of computability of reals is explored in &#xA; 1. Computational Complexity of real functions  - Ker-I Ko&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A regular conference which explores this area is &quot;Computability and Complexity in Analysis&quot;, held annually.&lt;/p&gt;&#xA;" OwnerUserId="20479" LastActivityDate="2013-12-04T10:21:46.597" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20088" PostTypeId="1" CreationDate="2013-12-04T11:06:44.430" Score="8" ViewCount="285" Body="&lt;p&gt;I am looking for a reference on `reducing' Turing reductions to many-one reductions.  I have in mind a statement of the following form (similar enough statements would also satisfy me):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Theorem.&lt;/strong&gt;  If $\mathsf{A}\leq_T^f \mathsf{B}$, then $\mathsf A\leq_m^{2^f}\mathsf B^{tt}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where &quot;$\leq_T^f$&quot; and &quot;$\leq_m^f$&quot; denote respectively Turing and many-one reductions in deterministic time $f(n)$, and &quot;$\mathsf{B}^{tt}$&quot; denotes a `truth table' variant of the language $\mathsf{B}$, which evaluates a Boolean combination of checks &quot;$x\in\mathsf{B}$&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Proof idea for the statement:&lt;/em&gt;  Simulate the $f(n)$-time bounded oracle Turing machine used in the Turing reduction: it's easy enough to obtain a nondeterministic Turing transducer also in time $f(n)$ that guesses the answers of the $\mathsf B$ oracle and writes a conjunction of checks &quot;$x\in\mathsf B$&quot; or &quot;$x\not\in\mathsf{B}$&quot; on the output, to be evaluated by an $\mathsf B^{tt}$ machine.  This transducer can be determinized by exploring both outcomes of the oracle calls, and handling them through disjunctions in the output; it now works in time $2^{f(n)}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Oddly enough, I cannot seem to find any related result in complexity textbooks.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit: renamed &quot;$A\mathsf B$&quot; into &quot;$\mathsf B^{tt}$&quot; to emphasize the relation with truth tables, as pointed out by @MarkusBläser.&lt;/p&gt;&#xA;" OwnerUserId="609" LastEditorUserId="609" LastEditDate="2013-12-05T01:34:03.437" LastActivityDate="2013-12-05T01:34:03.437" Title="Reference for Turing to many-one reductions" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;complexity-classes&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="20089" PostTypeId="2" ParentId="20086" CreationDate="2013-12-04T12:27:28.110" Score="1" Body="&lt;p&gt;The website of &lt;a href=&quot;http://cca-net.de/&quot; rel=&quot;nofollow&quot;&gt;Computability and Complexity in Analysis Network&lt;/a&gt; has extensive &lt;a href=&quot;http://cca-net.de/publications/bibliography.php&quot; rel=&quot;nofollow&quot;&gt;bibliography&lt;/a&gt;. See their page for &lt;a href=&quot;http://cca-net.de/publications/books.html&quot; rel=&quot;nofollow&quot;&gt;books&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For computability, see &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Klaus Weihrauch, &quot;&lt;a href=&quot;http://www.fernuni-hagen.de/weihrauch/index_data/book.html&quot; rel=&quot;nofollow&quot;&gt;Computable Analysis&lt;/a&gt;&quot;, 2010.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;It also has a chpater on complexity.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See also PhD theses of Jens Blanc and Andrej Bauer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another interesting paper is &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Viggo Stoltenberg-Hansen and John Tucker, &quot;Computability on Topological&#xA;Spaces via Domain Representations&quot;, 1997.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="186" LastActivityDate="2013-12-04T12:27:28.110" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20090" PostTypeId="2" ParentId="20071" CreationDate="2013-12-04T13:04:57.907" Score="6" Body="&lt;p&gt;Re: &quot;why encodings for binding-introducing constructs are considered third-order&quot;, the conventions are a bit arbitrary, and I've usually heard these encodings described as &quot;second-order&quot;. For example, although in &lt;a href=&quot;http://who.rocq.inria.fr/Gilles.Dowek/Publi/unification.ps%E2%80%8E&quot; rel=&quot;nofollow&quot;&gt;these notes by Gilles Dowek&lt;/a&gt;, the order $o(T)$ of a simple type $T$ (Definition 2.3) is defined as&lt;/p&gt;&#xA;&#xA;&lt;p&gt;\begin{align}&#xA;o(p) &amp;amp;= 1 \tag{$p$ atomic} \\&#xA;o(S \to T) &amp;amp;= \max(1+o(S),o(T))&#xA;\end{align}&lt;/p&gt;&#xA;&#xA;&lt;p&gt;on the other hand in &lt;a href=&quot;http://www.cs.ru.nl/~herman/PUBS/IntroTT-improved.pdf&quot; rel=&quot;nofollow&quot;&gt;these notes by Herman Geuvers&lt;/a&gt;, the order $h(T)$ of a simple type $T$ (Definition 22/Exercise 7) is defined as&lt;/p&gt;&#xA;&#xA;&lt;p&gt;\begin{align}&#xA;h(p) &amp;amp;= 0 \tag{$p$ atomic} \\&#xA;h(S \to T) &amp;amp;= \max(1+h(S),h(T))&#xA;\end{align}&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm not sure why Pfenning &amp;amp; Elliott chose the 1-indexed numbering scheme, but I suppose it might be the influence of the literature on higher-order matching/unification.&lt;/p&gt;&#xA;" OwnerUserId="674" LastEditorUserId="674" LastEditDate="2013-12-04T15:37:38.643" LastActivityDate="2013-12-04T15:37:38.643" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20093" PostTypeId="2" ParentId="20088" CreationDate="2013-12-04T19:20:06.110" Score="2" Body="&lt;p&gt;I'm pretty sure you can find this in the book &lt;a href=&quot;http://www.springer.com/birkhauser/computer+science/book/978-0-8176-3966-2&quot; rel=&quot;nofollow&quot;&gt;Bounded Queries in Recursion Theory&lt;/a&gt; by Martin and Gasarch, but I don't have access to a copy now to check. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Your statement gives an upper bound of $2^f$; most of that book is about lower bounding such quantities, so the upper bound must be in there somewhere, probably very near the beginning.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;PS - I agree with M. Blaser's comment: you're basically talking about truth-table reductions without using that terminology.&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2013-12-04T19:20:06.110" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20095" PostTypeId="1" AcceptedAnswerId="36987" CreationDate="2013-12-04T22:10:24.370" Score="15" ViewCount="2063" Body="&lt;p&gt;The critical ratio of clauses to variables for random 3-SAT is more than 3 and less than 6, and seems to be commonly described as &quot;around 4.2&quot; or &quot;around 4.25&quot;.  &lt;a href=&quot;http://www.sciencemag.org/content/297/5582/812.abstract&quot;&gt;Mezard, Parisi, and Zecchina prove&lt;/a&gt; (in the physics sense) that the critical ratio is 4.256, whereas &lt;a href=&quot;http://arxiv.org/pdf/cond-mat/0207194v3.pdf&quot;&gt;the first and third authors prove&lt;/a&gt; that it is 4.267.&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;What is the range of values that the critical ratio could possibly take?&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;The motivation for me asking this question is that if the ratio could be $2+\sqrt{5} \approx 4.236$, then the standard reduction of 3-SAT to NAE-3-SAT (transforming $m$ clauses and $n$ variables into $2m$ clauses and $m+n+1$ variables) gives a ratio of $\phi$, which seems unlikely but would be pretty cool.&lt;/p&gt;&#xA;" OwnerUserId="1929" LastActivityDate="2021-01-01T08:09:24.937" Title="Random 3-SAT: What is the consensus experimental range of the threshold?" Tags="&lt;sat&gt;&lt;phase-transition&gt;&lt;random-k-sat&gt;" AnswerCount="2" CommentCount="4" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="20097" PostTypeId="2" ParentId="20084" CreationDate="2013-12-05T04:32:28.350" Score="3" Body="&lt;p&gt;Some research groups in Europe have pursued this line of research; more specifically, because of my interest in information theory I have ran into the work of Ueli Maurer and his school, which is both significant from purely information theoretic point of view (which I am more familiar with) and also offers some practical approaches to information theoretic security. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Related to the above line of work, some places you might want to consider looking at are the PhD thesis of Christian Cachin and also Renato Renner (more quantum). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course, there is a whole different approach with keywords including BB84, Preskill-Shor, Artur Ekert, etc.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The above of course only reflects my limited experience, and surely there are many more approaches and interesting lines of work.&lt;/p&gt;&#xA;" OwnerUserId="12127" LastActivityDate="2013-12-05T04:32:28.350" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20102" PostTypeId="1" CreationDate="2013-12-05T12:05:49.950" Score="5" ViewCount="102" Body="&lt;p&gt;Is there a publicly available testbed of &lt;a href=&quot;http://en.wikipedia.org/wiki/Perfect_graph&quot;&gt;perfect graphs&lt;/a&gt;? Ideally, the number of vertices should be 100 or more.&lt;/p&gt;&#xA;" OwnerUserId="13056" LastActivityDate="2013-12-05T12:05:49.950" Title="Testbed of perfect graphs" Tags="&lt;perfect-graph&gt;" AnswerCount="0" CommentCount="5" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="20104" PostTypeId="2" ParentId="34" CreationDate="2013-12-05T14:12:25.060" Score="12" Body="&lt;p&gt;The solution that Sam Buss and I proposed in November 2012 (showing that unshuffling a square in NP-hard by a reduction from 3-Partition) is now a published article in the Journal of Computer System Sciences:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S002200001300189X&quot;&gt;http://www.sciencedirect.com/science/article/pii/S002200001300189X&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="12701" LastActivityDate="2013-12-05T14:12:25.060" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="20107" PostTypeId="1" AcceptedAnswerId="20113" CreationDate="2013-12-05T16:07:06.363" Score="11" ViewCount="4753" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there a 2DFA with $n$ states (where $n$ is nontrivial, say at least 4) that requires at least $2^n$ states to simulate using any DFA?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;A &lt;a href=&quot;https://en.wikipedia.org/wiki/Two-way_deterministic_finite_automaton&quot;&gt;two-way DFA (2DFA)&lt;/a&gt; is a deterministic finite-state automaton that is allowed to move back and forth on its read-only input tape, unlike finite-state automata that may only move the input head in one direction.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is well-known that 2DFAs recognize precisely the same class of languages as DFAs, in other words the regular languages.  Less well-understood is the question of how efficient the simulation is.  The original constructions from the late 1950s by Rabin/Scott and Shepherdson used a notion of crossing sequences and are quite hard to analyse.  Moshe Vardi published another construction that shows an upper bound of $2^{O(n^2)}$ states, but this bound may have some slack.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am asking whether any (families of) 2DFAs are known that &lt;em&gt;require&lt;/em&gt; many states in any DFA simulating them, even after Myhill-Nerode minimization of the DFA.  Moreover, would there be any interesting consequences of knowing such 2DFAs?&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Moshe Y. Vardi, &lt;em&gt;A Note on the Reduction of Two-Way Automata to One-Way Automata&lt;/em&gt;, IPL &lt;strong&gt;30&lt;/strong&gt; 261–264, 1989.  doi:&lt;a href=&quot;http://dx.doi.org/10.1016/0020-0190%2889%2990205-6&quot;&gt;10.1016/0020-0190(89)90205-6&lt;/a&gt; (&lt;a href=&quot;http://www.cs.rice.edu/~vardi/papers/ipl88rj.ps.gz&quot;&gt;preprint&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="109" LastActivityDate="2013-12-06T09:38:14.017" Title="2DFA that requires many states in equivalent DFA?" Tags="&lt;automata-theory&gt;&lt;lower-bounds&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="20108" PostTypeId="2" ParentId="20107" CreationDate="2013-12-05T19:23:23.967" Score="5" Body="&lt;p&gt;Consider the following language for an alphabet $\Sigma = \{a,b,c\}$:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\{a,b\}^* \cdot b \cdot \{a,b\}^n \cdot c$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In words, this is the set of words that contain precisely one $c$ and for which $n+1$ characters before the $c$, a letter $b$ can be found.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The language can be seen to be accepted by a 2-way DFA of size $n+c$ for some constant $c$, but we need more than $2^n$ states in the DFA in order to keep track of the last $n$ characters from the prefix input stream $\{a,b\}$. The 2-DFA would start by cycling in the initial state and would reverse direction upon reading a $c$. Then, it waits $n$ steps (by following a chain of $n$ transitions) and finally checks that a $b$ is read.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;While this is not precisely a formal proof, it should be no problem to make one from it. Note that the dual language can be shown to need more than $2^n$ states for every NFA, whereas the 2-DFA stays to be of size $n+c$ (possibly +1).&lt;/p&gt;&#xA;" OwnerUserId="16000" LastActivityDate="2013-12-05T19:23:23.967" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="20109" PostTypeId="1" CreationDate="2013-12-05T20:55:28.350" Score="2" ViewCount="413" Body="&lt;p&gt;I am facing the following research problem. We are given a matrix $M[1..p,1..p]$ of elements such that:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;each element has value in the range $[0, \frac 1 j]$, $j &amp;lt;= p$, $j$ is given,&lt;/li&gt;&#xA;&lt;li&gt;the sum of all elements in the matrix is 1.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The matrix is partitioned into $j$ axis-parallel non-overlapping rectangles. Each matrix cell with positive value is covered by exactly one rectangle. Whereas, each matrix cell with value 0 is covered by at most one rectangle. For each region, we sum the values inside it and obtain $region\_sum_i$, $i = 1..j$. We are given an optimal partitioning algorithm whose objective is to minimize the maximum $region\_sum_i$. The algorithm is &lt;em&gt;Recursive Slice-and-Dice: Binary Space Partitions&lt;/em&gt; from &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.57.8152&quot; rel=&quot;nofollow&quot;&gt;Slice and Dice : A Simple, Improved Approximate Tiling Recipe&lt;/a&gt;. I need this algorithm due to the support for don't care regions and a general version of tiling problem. This is a DRTILE problem, but I translate this to RTILE using binary search.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;The problem&lt;/strong&gt; is to find an upper bound on $region\_sum_i$ for the optimal solution under worst-case input with given constraints. I need this as I am doing competitive analysis.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I appreciate any help! Many thanks!&lt;/p&gt;&#xA;" OwnerUserId="18297" LastEditorUserId="18297" LastEditDate="2013-12-06T12:06:29.143" LastActivityDate="2013-12-06T12:06:29.143" Title="Partitioning a matrix into equal-sized regions: finding the maximum" Tags="&lt;partition-problem&gt;&lt;sparse-matrix&gt;" AnswerCount="1" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="20110" PostTypeId="2" ParentId="3473" CreationDate="2013-12-06T02:09:13.550" Score="14" Body="&lt;p&gt;Determining whether a graph $G$ has a dominating clique for:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$diam(G)=1$ is trivial -- answer is always 'yes'&lt;/li&gt;&#xA;&lt;li&gt;$diam(G)=2$ is NP-complete&lt;/li&gt;&#xA;&lt;li&gt;$diam(G)=3$ is NP-complete &lt;/li&gt;&#xA;&lt;li&gt;$diam(G)\ge 4$ is trivial -- answer is always 'no'&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The case $diam(G)=3$ is due to &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/0304397587901289&quot;&gt;Brandstädt and Kratsch&lt;/a&gt;, and the case $diam(G)=2$ is noted in &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0377221713009533&quot;&gt;a recent paper of mine&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="13056" LastEditorUserId="13056" LastEditDate="2013-12-29T04:28:56.580" LastActivityDate="2013-12-29T04:28:56.580" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="20112" PostTypeId="1" AcceptedAnswerId="20209" CreationDate="2013-12-06T09:13:22.810" Score="15" ViewCount="739" Body="&lt;p&gt;Graph Isomorphism ($GI$) is good candidate for $NP$-intermediate problem. $NP$-intermediate problems exist unless $P=NP$. I'm looking for natural problem that is hard for $GI$ under Karp reduction (A graph problem $X$ such that $GI &amp;lt;_p^m X$).&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there a natural $GI$-hard graph problem that is neither $GI$-equivalent nor known to be $NP$-complete?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2014-02-09T16:10:30.483" LastActivityDate="2018-06-05T19:35:08.720" Title="GI-hard graph problem not known to be $NP$-complete" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;&lt;graph-isomorphism&gt;&lt;np-intermediate&gt;" AnswerCount="2" CommentCount="7" FavoriteCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="20113" PostTypeId="2" ParentId="20107" CreationDate="2013-12-06T09:38:14.017" Score="9" Body="&lt;p&gt;The tight bound is $ n(n^n -(n-1)^n) $, which was given in &lt;a href=&quot;http://link.springer.com/chapter/10.1007/11549345_47&quot; rel=&quot;noreferrer&quot;&gt;Removing Bidirectionality from Nondeterministic Finite Automata&lt;/a&gt; by Christos Kapoutsis (2005).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am also putting a figure from this paper giving a clear picture:&#xA;&lt;img src=&quot;https://i.stack.imgur.com/X8nJU.png&quot; alt=&quot;&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To get more, I think this paper is a good starting point. To check the related recent developments, I can also recommend to check the papers listed here: &lt;a href=&quot;http://www.informatik.uni-trier.de/~ley/pers/hy/k/Kapoutsis:Christos_A=.html&quot; rel=&quot;noreferrer&quot;&gt;dblp: Christos A. Kapoutsis&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="7358" LastActivityDate="2013-12-06T09:38:14.017" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="20114" PostTypeId="2" ParentId="20109" CreationDate="2013-12-06T10:53:54.890" Score="2" Body="&lt;p&gt;In the proof of theorem 2 in &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.43.6236&quot; rel=&quot;nofollow&quot;&gt;Improved Approximation Algorithms for Rectangle Tiling and Packing&lt;/a&gt; by Berman et al, they proved an upper bound of $\frac{11}{5} \max\{W/p,y\}$, where $W$ is the sum of the weight of all elements, $p$ is the number of rectangles and $y$ is the weight of the largest element. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This implies a upper bound of $\frac{11}{5j}$ for your problem.&lt;/p&gt;&#xA;" OwnerUserId="314" LastEditorUserId="314" LastEditDate="2013-12-06T10:59:19.673" LastActivityDate="2013-12-06T10:59:19.673" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="20115" PostTypeId="2" ParentId="12581" CreationDate="2013-12-06T11:45:11.803" Score="1" Body="&lt;p&gt;The complement of your problem is known as graph automorphism problem (GA). It is a candidate for $NP$-intermediate problems. The problem is not known to be solvable in polynomial time. Also, It is not known to be $NP$-complete. It polynomialy reduces to the graph isomorphism problem (GI) but no known polynomial reduction from GI to GA. Unique-GI is equivalent to GA. &lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2013-12-06T12:05:30.410" LastActivityDate="2013-12-06T12:05:30.410" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20116" PostTypeId="2" ParentId="20084" CreationDate="2013-12-06T12:58:01.623" Score="4" Body="&lt;p&gt;This is a fairly complex question, as we really don't have a good overview of the area. Partially this is due to the fact the information-theory and the crypto community have been working on similar topics without really interacting enough with each other. Many good points have been given above. I would just like to add a few extra observations:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;We have had a large body of works dealing with the problem of secret-key agreement (and secure communication) with a given setup. Here, a setup means for example that the parties in the system (say Alice, Bob, and the adversary Eve) share some correlated information coming from a tripartite probability distribution. An alternative setup could consist of noisy channels (e.g., Alice can send information to Bob and Eve through noisy channels). Additionally, Alice and Bob are connected through a communication channel (which may or may not be authenticated). This line of work started with Aaron Wyner in the 70s, who introduced the Wiretap channel model, and was further cleaned up by Maurer and others in the 90s. Also, lots of techniques in this area (privacy amplification, information reconciliation) ended up being used in the Quantum Key-Distribution (QKD) setting. A fair amount of work is being done here even to date, for example in related areas such as non-malleable extractors, etc. The bounded-storage model is also a setting which is different from the above, but uses similar techniques and has similar goals.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Beyond just secret sharing, you will find a large body of works on information-theoretically secure multi-party computation (MPC). In particular, the line of works initiated by the BGW protocol is completely information theoretical. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Also, I am not sure how far the scope of the question goes: If for example P = NP indeed holds, but we can somehow justify the presence of a random oracle in the sky, then symmetric cryptography is still possible. Sometimes, such models are indeed used to prove security of certain cryptographic constructions (like hash functions or block ciphers), and the techniques are completely information-theoretic. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Information-theoretic techniques in cryptography also come up often as an intermediate tool in complexity-theoretic results, but I think this is beyond the scope of the question. (See Maurer's work on random systems and on indistinguishability amplification as an example of this type of work.)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="20526" LastActivityDate="2013-12-06T12:58:01.623" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="20117" PostTypeId="1" CreationDate="2013-12-06T17:28:27.467" Score="5" ViewCount="1074" Body="&lt;p&gt;In a recent course based on Scala I found a hint that the Scala types &lt;code&gt;Try[T]&lt;/code&gt; and &lt;code&gt;Future[T]&lt;/code&gt; are &lt;strong&gt;dual&lt;/strong&gt;. This was explained only informally and the reader was referred to duality in category theory for a more precise definition.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have some basic knowledge of category theory but I cannot see how these two types can correspond to categories that are dual to each other.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, what categories correspond to the Scala types &lt;code&gt;Try[T]&lt;/code&gt; and &lt;code&gt;Future[T]&lt;/code&gt;, and why are these categories dual?&lt;/p&gt;&#xA;" OwnerUserId="15562" LastEditorUserId="2185" LastEditDate="2013-12-10T18:12:16.527" LastActivityDate="2013-12-10T18:12:16.527" Title="In what sense are Scala's Try[T] and Future[T] dual?" Tags="&lt;pl.programming-languages&gt;&lt;type-theory&gt;&lt;ct.category-theory&gt;" AnswerCount="1" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="20118" PostTypeId="2" ParentId="20027" CreationDate="2013-12-06T22:22:04.310" Score="1" Body="&lt;p&gt;This is a partial answer; maybe it will inspire someone else to provide a better one.&#xA;$\newcommand{\EBPP}{\mathsf{EBPP}}$&#xA;$\newcommand{\CP}{\mathsf{C}_=\mathsf{P}}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Your class $\EBPP$ is a special case of &lt;a href=&quot;https://complexityzoo.uwaterloo.ca/Complexity_Zoo%3aC#cequalsp&quot; rel=&quot;nofollow&quot;&gt;$\CP$&lt;/a&gt;. I think one way of defining $\CP$ is as follows (see Section 2 of &lt;a href=&quot;http://mathcs.clarku.edu/~fgreen/papers/cep.pdf&quot; rel=&quot;nofollow&quot;&gt;this paper&lt;/a&gt;). A language $L$ is in $\CP$ if there is a polynomial time verifier $V$ such that&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;if $x$ is in $L$, then $\Pr_w[V(x, w) \text{ accepts}] = \frac{3}{4}$, and&lt;/li&gt;&#xA;&lt;li&gt;if $x$ is not in $L$, then $\Pr_w[V(x, w) \text{ accepts}] \neq \frac{3}{4}$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;(The completeness probability can essentially be any fixed fraction; I chose $\frac{3}{4}$ so that it matches the probability given in your question.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One way of defining $\EBPP$ is as follows. A language $L$ is in $\EBPP$ if there is a polynomial time verifier $V$ such that&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;if $x$ is in $L$, then $\Pr_w[V(x, w) \text{ accepts}] = \frac{3}{4}$, and&lt;/li&gt;&#xA;&lt;li&gt;if $x$ is not in $L$, then $\Pr_w[V(x, w) \text{ accepts}] = \frac{1}{4}$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="4193" LastActivityDate="2013-12-06T22:22:04.310" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="20119" PostTypeId="1" CreationDate="2013-12-06T23:19:00.823" Score="6" ViewCount="428" Body="&lt;p&gt;I thought the relation between P using a #P-oracle and NP using a #P-oracle is still unknown (or equivalently the relation between P^PP and NP^PP).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Recently, I have read in a journal article that P^#P = NP^#P (citing Toda's publication &quot;PP is as hard as the polynomial time hierarchy&quot;). As far as I remember this relation was posed as an open question in Toda's paper.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am very confused at the moment and I would be glad if someone could clarify this situation. Thanks a lot.&lt;/p&gt;&#xA;" OwnerUserId="20544" LastActivityDate="2013-12-07T02:31:05.220" Title="Do we know whether P^#P = NP^#P?" Tags="&lt;cc.complexity-theory&gt;&lt;counting-complexity&gt;" AnswerCount="1" CommentCount="6" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="20121" PostTypeId="2" ParentId="11072" CreationDate="2013-12-06T23:47:22.717" Score="3" Body="&lt;p&gt;For synchronizing from a master list to a slave list, it looks like a fellow named Michael Heyeck has a good, &lt;a href=&quot;http://www.mlsite.net/blog/?p=2250&quot; rel=&quot;nofollow&quot;&gt;O(n) solution&lt;/a&gt; to this problem. Check out that blog post for an explanation and some code. Perhaps this is a good starting point to generalize to a two-way sync.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Essentially, the solution tracks both the master and slave lists in a single pass, tracking indices into each. Two data structures are then managed: a list of insertions to be replayed on the slave list, and a list of deletions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It looks straightforward and also has the benefit of a proof of minimalism, which Heyeck followed up with in a &lt;a href=&quot;http://www.mlsite.net/blog/?p=2271&quot; rel=&quot;nofollow&quot;&gt;subsequent post&lt;/a&gt;. The code snippet in this post is more compact, as well:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;def sync_ordered_list(a, b):&#xA;x = 0; y = 0; i = []; d = []&#xA;while (x &amp;lt; len(a)) or (y &amp;lt; len(b)):&#xA;    if y &amp;gt;= len(b): d.append(x); x += 1&#xA;    elif x &amp;gt;= len(a): i.append((y, b[y])); y += 1&#xA;    elif a[x] &amp;lt; b[y]: d.append(x); x += 1&#xA;    elif a[x] &amp;gt; b[y]: i.append((y, b[y])); y += 1&#xA;    else: x += 1; y += 1&#xA;return (i,d)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Again, credit to Michael Heyeck.&lt;/p&gt;&#xA;" OwnerUserId="20546" LastActivityDate="2013-12-06T23:47:22.717" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20122" PostTypeId="2" ParentId="20119" CreationDate="2013-12-07T02:31:05.220" Score="5" Body="&lt;p&gt;This is an open question. If it is to be true the consequences would imply the collapse of the ${\bf Counting-Hierarchy}$, ${\bf CH}$ for short. In the paper &quot;On the closure properties of #P in the context of PF o #&quot; by Ogihara, Toda, Watanabe and Thierauf&quot; on proposition 2.1 it is stated that &lt;/p&gt;&#xA;&#xA;&lt;p&gt;${\bf NP ^{PP}} \subseteq {\bf P^{\#P^{[1]}}} $ if and only if ${\bf CH} = {\bf P^{\#P^{[1]}}} $ if and only if ${\bf FP ^{CH}} \subseteq {\bf FP^{\#P^{[1]}}} $.&lt;/p&gt;&#xA;" OwnerUserId="1590" LastActivityDate="2013-12-07T02:31:05.220" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="20123" PostTypeId="1" AcceptedAnswerId="20129" CreationDate="2013-12-07T03:30:42.993" Score="3" ViewCount="233" Body="&lt;p&gt;I am trying to find a reduction for a problem that seems NP-hard:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let me start from a toy example. Consider 3 elements, $a$, $b$, and $c$.&#xA;You want to choose two pairs out of the three pairs and compare the &#xA;two elements of each pair. There is a true underlying ordering of &#xA;the elements, which we don't know. Our objective is to pick the comparisons&#xA;that will maximize, in expectation, the number of elements that &#xA;will &quot;lose&quot; at least one comparison. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, lets assume that we choose $(a,b)$ and $(b,c)$. &#xA;There are four possibilities:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(1) $a&amp;gt;b$ and $c&amp;gt;b$ with probability $\frac{2}{6}$ ($2$ out of the $3!$ possible permutations respect $a&amp;gt;b$ and $c&amp;gt;b$)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(2) $a&amp;gt;b$ and $c&amp;lt;b$ with probability $\frac{1}{6}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(3) $a&amp;lt;b$ and $c&amp;gt;b$ with probability $\frac{1}{6}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(4) $a&amp;lt;b$ and $c&amp;lt;b$ with probability $\frac{2}{6}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the case of (1), only $b$ loses at least one comparison, in (2), $b$ and $c$ lose at least one comparison, and so on. &#xA;The expected number of elements losing at least one comparison is:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\frac{2}{6} * 1 + \frac{1}{6} * 2 + \frac{1}{6} * 2 + \frac{2}{6} * 2 = 1\frac{2}{3}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that the outcome of each comparison is based on the true ordering, which we don't know..&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In this toy example, any two pairs give the same expected number of &quot;losers&quot;. &#xA;In its general form, the problem states that we have $n$ elements, and we can ask &#xA;for $b$ comparisons (the problem becomes interesting when $b&amp;gt;\frac{n}{2}$). Making &#xA;it even more general, we can have the outcome of previous comparisons as input and try to maximize the &quot;losers&quot; out of those elements that still haven't lost any comparison. I am interested in the second, more general, case but I feel that even without the previous comparisons' outcome, the problem is still NP-hard.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The most helpful result I have found until now, is that counting linear extensions of a partially ordered set is #P-complete [1]. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would greatly appreciate any ideas about a reduction, or any obvious reduction that I can not see.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thank you!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] Brightwell, Graham R.; Winkler, Peter (1991), &quot;Counting linear extensions&quot;, Order 8 (3): 225–242, &lt;a href=&quot;http://dx.doi.org/10.1007/BF00383444&quot; rel=&quot;nofollow&quot;&gt;paper&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="20550" LastEditorUserId="20550" LastEditDate="2013-12-07T03:52:55.937" LastActivityDate="2013-12-07T14:21:40.017" Title="Maximize the expected number of &quot;losers&quot; - Is it NP-hard?" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;&lt;np-hardness&gt;&lt;reductions&gt;&lt;directed-acyclic-graph&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="20124" PostTypeId="1" AcceptedAnswerId="20126" CreationDate="2013-12-07T03:46:31.403" Score="2" ViewCount="293" Body="&lt;p&gt;I was reading a &lt;a href=&quot;http://www.oracle.com/technetwork/java/jvmls2013vitek-2013524.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;paper&lt;/a&gt; about implementing the statistical programming language R on the JVM, and encountered this notation I haven't seen before (I'm not formally CS-trained). What is the name of notational style? I've seen it before in other papers--usually as it related to functional programming and the REPL.&#xA;&lt;img src=&quot;https://i.stack.imgur.com/rmTOm.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;" OwnerUserId="20551" LastEditorUserId="20551" LastEditDate="2013-12-07T06:57:18.873" LastActivityDate="2013-12-07T09:12:21.703" Title="What is this notation style called?" Tags="&lt;notation&gt;" AnswerCount="2" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="20125" PostTypeId="2" ParentId="11072" CreationDate="2013-12-07T04:01:23.180" Score="0" Body="&lt;p&gt;The standard approach is probably going to be something like this:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Each side keeps track of the last-synchronized state of the list.  In other words, at any point in time, each side knows the state $L_{t-1}$ of the list at the last synchronization point when they synchronized their lists.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;If Alice currently has list $L$ and she wants to send her updates to Bob, she computes the diff between $L_{t-1}$ and $L$ and sends that diff to Bob.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;If both Alice and Bob concurrently made changes to their list, then you need to merge their diffs to form a new list.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The result, after sychronization is $L_t$, which is known to both parties.  Now go back to the beginning.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Now you have some design decisions that you can fill in various ways:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;How should Alice compute the diff between $L_{t-1}$ and her list $L$?  One way is for her to keep track of a log of the changes she has made to the list since $L_{t-1}$ and use that as the diff (or possibly to compact that diff, e.g., if she inserts an item and then deletes it, no need to include that in the log of changes).  Another way is for her to compute the diff between $L_{t-1}$ and $L$ from scratch, without keeping any logs.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;How should the diff be represented compactly, to minimize network bandwidth and make it as easy as possible for Bob to apply the diff?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;How should we merge Alice's diff and Bob's diff?  There are many standard algorithms here; e.g., see source code revision control systems.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I hope that this was not already obvious.   Your question did not make it entirely clear how much you already know about the general approach and what specifically you were looking for in an answer.&lt;/p&gt;&#xA;" OwnerUserId="5038" LastActivityDate="2013-12-07T04:01:23.180" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20126" PostTypeId="2" ParentId="20124" CreationDate="2013-12-07T08:24:07.457" Score="4" Body="&lt;p&gt;It is notation for &lt;a href=&quot;http://www.ams.org/notices/200811/tx081101370p.pdf&quot; rel=&quot;nofollow&quot;&gt;Formal Proofs&lt;/a&gt; and specification of language grammar in &lt;a href=&quot;http://en.wikipedia.org/wiki/Backus%E2%80%93Naur_Form&quot; rel=&quot;nofollow&quot;&gt;Backus-Naur Form&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="612" LastActivityDate="2013-12-07T08:24:07.457" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20127" PostTypeId="2" ParentId="20124" CreationDate="2013-12-07T09:12:21.703" Score="0" Body="&lt;p&gt;The individual statements of the form $A\Rightarrow B$ are &lt;strong&gt;sequents&lt;/strong&gt; and the things that look like fractions are &lt;strong&gt;inference rules&lt;/strong&gt;.&lt;/p&gt;&#xA;" OwnerUserId="17082" LastActivityDate="2013-12-07T09:12:21.703" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20129" PostTypeId="2" ParentId="20123" CreationDate="2013-12-07T14:21:40.017" Score="6" Body="&lt;p&gt;Look at the graph that is formed by the comparisons. Each element corresponds to a vertex. If an element is a vertex of degree $d$, then the probability that it will be the lowest in at least one of these comparisons is the probability that it is not larger than all of its neighbors. This probability is $d/(d+1)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, expectation is linear. This means that the expected number of losers is $$ \sum_{v \in G} \frac{d_v}{d_v+1}.$$ To illustrate, with your example there is one vertex of degree 2 and two of degree 1, so the expected number of losers is $\frac{2}{3} + \frac{1}{2} + \frac{1}{2} = \frac{5}{3}.\ $ &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is easy to prove that this quantity is maximized when the degrees of the vertices are all as close to equal as possible, so the vertex degrees all are either $d$ or $d+1$ for some $d$. &lt;/p&gt;&#xA;" OwnerUserId="1677" LastActivityDate="2013-12-07T14:21:40.017" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="20130" PostTypeId="2" ParentId="20027" CreationDate="2013-12-07T15:35:40.907" Score="11" Body="&lt;p&gt;On a side note, it's not clear that EBPP is a robust class. For example, if instead of allowing the algorithm to flip an unbiased coin, if it were given an unbiased 3-sided coin, or a 6-sided die, it's not clear that you get the same class. BPP remains the same if you change these details. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Anyway, your primary question is whether EBPP is equal to BPP or not. It seems to me that EBPP is closer to P than it is to BPP. Consider the query complexity or oracle version of these classes where they have access to a large input string and have to make queries to learn bits of this string. If you have a P algorithm that computes a function $f$ with $Q$ queries, then there exists an exact representing polynomial of degree $Q$ for $f$ over $\mathbb{R}$. (This is the usual polynomial method argument.) On the other hand, if you have a BPP algorithm, then you get a degree $Q$ polynomial over $\mathbb{R}$ that approximates $f$ in the sense that its value is close to the value of $f$ at every input.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given an EBPP algorithm for a function $f$, we can construct a polynomial that outputs 1/4 when the answer is NO and 3/4 when the answer is YES. By subtracting 1/2 and multiplying by 2, you can get an exact representing polynomial, just like in the case of P. This suggests to me that EBPP is closer to P.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This observation can also be used to show an oracle separation between EBPP and BPP. Consider the promise-Majority problem where you're promised that the input has either more than 2N/3 1s or less than N/3 1s and you have to decide which is the case. This is clearly in BPP. Using the polynomial argument described above it can be shown that this function requires $\Omega(N)$ queries for an EBPP machine.  But note that you can also prove an oracle separation the other way, between P and EBPP. So maybe oracle results don't say much for this problem? Or maybe what they say is that it will be hard to show equality in either direction.&lt;/p&gt;&#xA;" OwnerUserId="206" LastActivityDate="2013-12-07T15:35:40.907" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="20137" PostTypeId="1" AcceptedAnswerId="20159" CreationDate="2013-12-08T18:21:09.930" Score="8" ViewCount="1406" Body="&lt;p&gt;Note: I posted &lt;a href=&quot;https://cstheory.stackexchange.com/questions/20185/subgraph-containing-all-nodes-and-edges-that-are-part-of-length-limited-simple-s&quot;&gt;a similar question regarding undirected graph&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;A digraph $G$ with no multiple-edges or loops&lt;/li&gt;&#xA;&lt;li&gt;A source node $s$&lt;/li&gt;&#xA;&lt;li&gt;A target node $t$&lt;/li&gt;&#xA;&lt;li&gt;Maximal path length $l$&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I am looking for $G'$ - A subgraph of $G$ that contains any node and any edge in $G$ (and only those), that are part of at least one simple path from $s$ to $t$ with length $\leq l$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that I don't need to enumerate the paths.&lt;/p&gt;&#xA;" OwnerUserId="4804" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2014-04-01T11:19:39.427" Title="Subgraph containing all nodes and edges that are part of length-limited simple s-t paths in a digraph" Tags="&lt;graph-algorithms&gt;" AnswerCount="4" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="20138" PostTypeId="2" ParentId="20137" CreationDate="2013-12-08T21:23:38.140" Score="0" Body="&lt;p&gt;We can compute the subgraph $G$ using two breadth-first searches and a scan through the nodes and edges in time $O(V + E)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We perform a breadth-first search from $s$ in $G$ to get the BFS numbering $d_s(v)$ for each node $v$ in $G$. The BFS number denotes the number of edges in the shortest path from $s$ to $v$.&#xA;We also perform a breadth-first search from $t$ in the transpose of $G$ (that is the graph with an edge $(v,u)$ for each edge $(u,v)$ in $G$) to get the BFS numbering $d_t(v)$ for each node $v$ in $G$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For each node $v$ in G, the shortest simple path from $s$ to $t$ that goes through $v$ has length $d_s(v) + d_t(v)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The subgraph $G'$ contains the node $v$ from $G$ if and only if $d_s(v) + d_t(v) \leq l$ and an edge $(u,v)$ if and only if $d_s(u) + d_t(v) \leq l-1$.&lt;/p&gt;&#xA;" OwnerUserId="20581" LastEditorUserId="8936" LastEditDate="2013-12-14T04:07:46.800" LastActivityDate="2013-12-14T04:07:46.800" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="20139" PostTypeId="1" CreationDate="2013-12-08T23:21:23.790" Score="2" ViewCount="154" Body="&lt;p&gt;Based on &lt;a href=&quot;https://cstheory.stackexchange.com/questions/19832/what-are-some-efficient-algorithms-for-determining-if-a-quadratic-multivariate-p&quot;&gt;this question&lt;/a&gt;, there's an efficient algorithm to determine whether a quadratic multivariate polynomial has a root.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What are some algorithms to enumerate these solutions?  I'm interested in rational roots (working in $\mathbb{Q}$), if possible, or roots over the real numbers or some subfield of the real numbers if not.  I'd like algorithms that are as efficient as possible.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the case of a large set of solutions (e.g. exponentially or infinitely large), an algorithm whose running time is polynomial in the number of roots would be ideal.&lt;/p&gt;&#xA;" OwnerUserId="8109" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2013-12-14T21:50:19.133" Title="What are some efficient algorithms for finding the solutions to a quadratic multivariate polynomial?" Tags="&lt;cc.complexity-theory&gt;&lt;polynomials&gt;&lt;polynomial-time&gt;&lt;quadratic&gt;" AnswerCount="0" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="20144" PostTypeId="2" ParentId="3967" CreationDate="2013-12-09T09:15:58.750" Score="2" Body="&lt;p&gt;You mention &lt;a href=&quot;https://cs.stackexchange.com/questions/18736/equivalence-of-independent-set-and-set-packing&quot;&gt;Measure and conquer: a simple $O(2^{0.288n})$ independent set algorithm. SODA’06&lt;/a&gt;. There seems to be a &lt;a href=&quot;https://cs.stackexchange.com/questions/18736/equivalence-of-independent-set-and-set-packing&quot;&gt;one-to-one polynomial-time reduction between independent-set and set-packing&lt;/a&gt;. Therefore, the results for the independent set problem should be applicable to set packing as well.&lt;/p&gt;&#xA;" OwnerUserId="9453" LastEditorUserId="-1" LastEditDate="2017-04-13T12:48:30.830" LastActivityDate="2013-12-09T09:15:58.750" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20145" PostTypeId="1" CreationDate="2013-12-09T10:01:07.700" Score="5" ViewCount="161" Body="&lt;p&gt;What is the underlying physical principle behind quantum fault tolerance in quantum computation?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am trying to follow the mathematical steps behind quantum fault tolerance, and while I can just manage to do so, I have to admit I fail to see the underlying principle behind them, or the motivation for just why it works. I kind of understand how entanglement swapping with a heat sink lies behind quantum error correction, but what underlying principler lies behind quantum fault tolerance?&lt;/p&gt;&#xA;" OwnerUserId="20593" LastActivityDate="2013-12-11T16:02:20.940" Title="What is the underlying physical principle behind quantum fault tolerance in quantum computation?" Tags="&lt;quantum-computing&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="20146" PostTypeId="1" CreationDate="2013-12-09T10:11:54.467" Score="4" ViewCount="133" Body="&lt;p&gt;Lovasz Theta Function provides short proof for the question, &quot;is the Shannon Capacity of a graph($\Theta(G)$) greater than $r\in\Bbb R$?&quot; if the answer is NO when $r$ is above a certain value (this value is $\vartheta(G)$). Assuming the Shannon capacity problem is non-computable, can one expect to have a different computable function that can lower the lower limit on $r$ (assume that function takes values of $\vartheta(G)$ wherever it is tight)?&lt;/p&gt;&#xA;" OwnerUserId="1812" LastEditorUserId="1812" LastEditDate="2013-12-09T18:39:27.343" LastActivityDate="2013-12-09T18:39:27.343" Title="Lovasz Theta as a short certificate" Tags="&lt;computability&gt;&lt;it.information-theory&gt;" AnswerCount="0" CommentCount="8" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="20147" PostTypeId="2" ParentId="1955" CreationDate="2013-12-09T11:57:03.333" Score="1" Body="&lt;p&gt;There is also Elements of the Theory of Computation by H.Lewis and C.Papadimitriou. It's a well written introduction to automata theory.&lt;/p&gt;&#xA;" OwnerUserId="18269" LastActivityDate="2013-12-09T11:57:03.333" CommentCount="0" CommunityOwnedDate="2013-12-09T11:57:03.333" ContentLicense="CC BY-SA 3.0" />
  <row Id="20148" PostTypeId="2" ParentId="20137" CreationDate="2013-12-09T18:20:51.680" Score="0" Body="&lt;p&gt;Update: this answer appears to be flawed.  See the comment from Kristoffer Arnsfelt Hansen.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;I don't know how to solve your problem, but here is a technique to solve a simpler version of your problem: namely, given an edge $e$, test whether there exists any simple path from $s$ to $t$ that includes edge $e$.  (This corresponds to the special case of your problem where $l=\infty$.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can solve this simpler problem using &quot;max-flow with lower bounds&quot; as a subroutine.  In the standard max-flow problem, the capacity of each edge gives us an upper bound on the amount of flow going through that edge, and we require that the amount of flow on edge be lower-bounded by 0.  In &quot;max-flow with lower bounds&quot;, we are allowed to specify both a lower bound and an upper bound on the amount of flow through that edge.  It is known that &quot;max-flow with lower bounds&quot; can be solved in polynomial time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, suppose we have an edge $e \in E$, and we want to test whether there exists a simple path from $s$ to $t$ that includes edge $e$.  We're going to set up a max-flow with lower bounds problem.  In particular, take graph $G$ and add a new node $s_0$ with edge $s_0 \to s$ and a new node $t_1$ with edge $t \to t_1$.  Make the capacity (upper-bound) on each edge 1.  The lower-bound on all edges will be 0, except that the lower-bound on edge $e$ is 1.  Now check whether there exists a feasible flow from $s$ to $t$ that satisfies all the bounds (this test can be done in polynomial time, as mentioned above).  If there is no flow, then there is no simple path from $s$ to $t$.  If there is such a flow, then tracing out that flow yields a simple path from $s$ to $t$ that includes edge $e$, so there does exist such a simple path.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;How do we solve a &quot;max-flow with lower bounds&quot; problem?  In this case, only one edge has a non-zero lower bound.  Therefore, we can use a standard approach to network flow, where at each point we choose an augmenting path by computing shortest paths in the residual graph -- except that here we ask (roughly) that one of the augmenting paths includes the edge $e$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I learned this idea from the following paper:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://opnear.utdallas.edu/publications/reports/UTD-EE-2-2009.pdf&quot; rel=&quot;nofollow&quot;&gt;Finding a Simple Path with Multiple Must-include Nodes&lt;/a&gt;.   Hars Vardhan, Shreejith Billenahalli, Wanjun Huang, Miguel Razo, Arularasi Sivasankaran, Limin Tang,Paolo Monti, Marco Tacca, and Andrea Fumagalli.  The University of Texas at Dallas, Technical Report UTD/EE/2/2009.  June 2009.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;(Make sure to read the techreport version, not the published version.  This idea is found in the second paragraph of the introduction.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Unfortunately, I don't know how to extend this technique to solve your original problem, with your upper-bound $l$ on the length of the simple path.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Alternatively, we could solve your problem in a straightforward way using integer linear programming (ILP).  In practice, ILP solvers are pretty good on many problems.  However, their worst-case running time is still exponential, so this is not going to give an algorithm with polynomial worst-case running time.  Let me know if you want me to elaborate on how to formulate this using ILP.&lt;/p&gt;&#xA;" OwnerUserId="5038" LastEditorUserId="5038" LastEditDate="2013-12-10T18:11:48.443" LastActivityDate="2013-12-10T18:11:48.443" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="20149" PostTypeId="1" CreationDate="2013-12-09T20:55:15.893" Score="17" ViewCount="1002" Body="&lt;p&gt;While searching &lt;a href=&quot;http://www.graphclasses.org/index.html&quot;&gt;The information System on Graph Classes and their Inclusions&lt;/a&gt;, I found several graph classes for which  the Hamiltonian Cycle problem is NP-complete while the complexity of Hamiltonian Path problems is &lt;strong&gt;NOT&lt;/strong&gt; known. Some of those classes are bipartite maximum degree 3 graphs, maximum degree 3 grid graphs, and 2-connected cubic planar graphs. Also this phenomena applies to circle graphs and triangular grid graphs.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there an update to the complexity of Hamiltonian path problem on those classes? Is there an explanation for this phenomena?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT&lt;/strong&gt;: I found in the graph classes database a weird case of &lt;a href=&quot;http://www.graphclasses.org/classes/gc_1058.html&quot;&gt;solid grid graphs&lt;/a&gt; where Hamiltonian cycle problem is in $P$ while Hamiltonian path problem is of &lt;strong&gt;unknown&lt;/strong&gt; complexity.&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2013-12-10T09:44:25.047" LastActivityDate="2020-09-14T18:25:13.730" Title="Graph classes where Hamiltonian Cycle and Hamiltonian Path problems have different complexity" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;" AnswerCount="3" CommentCount="4" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="20150" PostTypeId="2" ParentId="20041" CreationDate="2013-12-09T21:39:00.933" Score="1" Body="&lt;p&gt;Theorem 1 is related to &lt;a href=&quot;https://en.wikipedia.org/wiki/Blake_canonical_form&quot; rel=&quot;nofollow&quot;&gt;Blake canonical form&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The Wikipedia article refers to&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;em&gt;Brown, Frank Markham, Boolean Reasoning: The Logic of Boolean Equations&lt;/em&gt;,&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;which in turn references&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;em&gt;Canonical expressions in Boolean algebra. Ph.D. dissertation U (1937)&lt;/em&gt;).&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="18231" LastActivityDate="2013-12-09T21:39:00.933" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20155" PostTypeId="1" CreationDate="2013-12-10T08:53:54.647" Score="21" ViewCount="894" Body="&lt;p&gt;OK, this might seem like a homework question and, in a sense, it is. As a homework assignment in an undergraduate algorithms class, I gave the following classic:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given an undirected graph $G=(V,E)$, give an algorithm that finds a cut $(S,\bar{S})$ such that $\delta(S,\bar{S})\geq |E|/2$, where $\delta(S,\bar{S})$ is the number of edges crossing the cut. Time complexity must be $O(V+E)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For some reason, I got a lot of the following solution. Now, it does use too much time, so it's not a matter of grading, but I got curious. It doesn't &quot;seem&quot; correct, but all my attempts at counterexamples have failed. Here it is:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Set $S\leftarrow \emptyset$&lt;/li&gt;&#xA;&lt;li&gt;Let $v$ be a max degree vertex in the graph&lt;/li&gt;&#xA;&lt;li&gt;Add $v$ to $S$&lt;/li&gt;&#xA;&lt;li&gt;Delete all edges adjacent to $v$&lt;/li&gt;&#xA;&lt;li&gt;If $\delta(S,\bar{S}) &amp;lt; |E|/2$ return to 2&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Note that $E$ in step 5 refers to the original graph. Also note that had we skipped step 4, this would obviously be wrong (for example the union of a triangle with two isolated edges).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, any simple proof has the following problem - it might be that when we add a new vertex $v$ we actually remove $|S|$ edges from the cut while adding $d(v)$ new edges (where $d(v)$ refers to the graph with edges deleted). The thing is, that if this is detrimental to our cause, it means that this vertex $v$ &quot;used to&quot; have an ever higher degree, so it &quot;should have been&quot; selected earlier.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is this a well known algorithms? Is there some simple counterexample for it?&lt;/p&gt;&#xA;" OwnerUserId="5835" LastActivityDate="2013-12-21T12:27:15.053" Title="Max-Cut algorithm that shouldn't work, unclear why" Tags="&lt;graph-algorithms&gt;&lt;max-cut&gt;&lt;greedy-algorithms&gt;" AnswerCount="2" CommentCount="8" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="20157" PostTypeId="2" ParentId="20117" CreationDate="2013-12-10T10:00:35.193" Score="10" Body="&lt;p&gt;The short answer is: they are not dual. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The &lt;code&gt;Try[T]&lt;/code&gt; type is basically the sum type $T + E$, where $E$ is the type of exceptions. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A typical way of rendering a future &lt;code&gt;Future[T]&lt;/code&gt; is via &lt;em&gt;temporal logic&lt;/em&gt;. Here, a future can be understood as a &quot;weak eventually&quot; operator, $\Diamond T$, saying that at some point in the future you may receive a $T$. This can be decomposed as the coinductive type $\nu \alpha.\;T + \bullet\alpha$, where $\bullet$ is the &quot;next-step&quot; modality. &lt;/p&gt;&#xA;" OwnerUserId="657" LastActivityDate="2013-12-10T10:00:35.193" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="20159" PostTypeId="2" ParentId="20137" CreationDate="2013-12-10T11:53:55.493" Score="6" Body="&lt;p&gt;As the question is stated, having $l$ as part of the input, the problem is $\mathsf{NP}$-hard. This follows as a special case of the classification of the class of patterns for which the directed subgraph homeomorphism problem is $\mathsf{NP}$-complete by Fortune, Hopcroft, and Wyllie's paper: &lt;a href=&quot;http://dx.doi.org/10.1016/0304-3975%2880%2990009-2&quot;&gt;The directed subgraph homeomorphism problem&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In particular the following problem is $\mathsf{NP}$-complete: Given a directed graph $G$ and vertices $s,t,v$, does there exist a (simple) $(s,t)$-path through $v$?&lt;/p&gt;&#xA;" OwnerUserId="313" LastActivityDate="2013-12-10T11:53:55.493" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="20160" PostTypeId="2" ParentId="20149" CreationDate="2013-12-10T13:45:10.283" Score="5" Body="&lt;p&gt;The &lt;em&gt;Hamiltonian path problem on grid graphs with maximum degree 3&lt;/em&gt; is NP-complete. The proof is in &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/0196677484900294&quot;&gt;C. H. Papadimitriou and U. V. Vazirani, On two geometric problems related to the travelling salesman problem, Journal of Algorithms, Volume 5, Issue 2, June 1984, Pages 231–246&lt;/a&gt; (Theorem 2)&lt;/p&gt;&#xA;" OwnerUserId="3247" LastActivityDate="2013-12-10T13:45:10.283" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="20161" PostTypeId="1" CreationDate="2013-12-10T13:48:51.957" Score="2" ViewCount="59" Body="&lt;p&gt;Informally, I want to ask if two functions $f$ and $g$ on the Hamming cube have the same Fourier spectra but w.r.t different measure and basis, then is $||f||_p$ related to $||g||_p$? (Where each $p$-norm is measured according to the appropriate measure.) This question requires some notation to set up more precisely.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First, for the Hamming cube $\{0,1 \}^d$,  given a bias parameter $0 \leq b \leq 1$, we may construct a biased measure $\mu_b$ that assigns a weight $b$ to $0$ bits and $1-b$ to $1$ bits as follows:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;\begin{equation}&#xA;\mu_b(x) = b^{\sum_i x_i} (1-b)^{d - \sum_i x_i}.&#xA;\end{equation}&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We continue that expectations and $l_p$-norms can also be defined under this measure. So for example, $ E_b[f] = \sum_{x \in \{0,1\}^d} \mu_b(x) f(x)$ and $||f||_p = &#xA;\left( \sum_{x \in \{0,1 \}^d} \mu_b(x) (f(x))^p \right)^{\frac{1}{p}} $. We note now an Fourier parity basis for the space $F_b$ of all functions $f: \{0,1\}^d \to \mathbb{R}$ when $\{0,1\}^d$ is associated with measure $\mu_b$. First for each $x \in \{0,1\}^d$ and $i \in [d]$ we define:&#xA; \begin{equation}\chi_i^b =  \begin{cases} &#xA;      \sqrt{\frac{b}{1-b}} &amp;amp; x_i = 0 \\&#xA;      -\sqrt{\frac{1-b}{b}} &amp;amp; x_i = 1 \\&#xA;   \end{cases}&#xA;\end{equation}&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This set of $\chi_i^b$ essentially correspond to a bit wise parity basis, which we can extent to arbitrary $S \subset [n]$ as &#xA;$\chi_S^b(x) = \prod_{i \in S} \chi_i^b(x)$. The collection $\{\chi_S^b \}$ over all $S \subset [n]$ is now our desired orthonormal basis. All this notation reduces to the standard Fourier basis and notions for $b = \frac{1}{2}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now after all that lengthy build-in, here is my question. Suppose $f$ is a function over $\{0,1 \}^d$ with measure $\mu_{1/2}$ and $g$ is a function over $\{0,1 \}^d$ with measure $\mu_b$ (for $b \neq \frac{1}{2}$) and suppose $f$ and $g$ &lt;strong&gt;have the same Fourier cofficients&lt;/strong&gt; w.r.t their corresponding bases elements $\chi_S^{1/2}$ and $\chi_S^b$ . Parseval's immediately implies $||f||_2 = ||g||_2$, where each norm is calculated according to the measure of the space the function lies in ($\mu_{1/2}$ and $\mu_b$ respectively). Is this true for all the $l_p$ norms? Is there a general relation between $||f||_p$  and $||g||_p$?&lt;/p&gt;&#xA;" OwnerUserId="2302" LastActivityDate="2013-12-10T13:48:51.957" Title="Is there a relation between $l_p$-norms of functions with same Fourier spectra but w.r.t different measures on the Hamming cube?" Tags="&lt;boolean-functions&gt;&lt;fourier-analysis&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20163" PostTypeId="1" AcceptedAnswerId="20165" CreationDate="2013-12-10T15:03:18.710" Score="3" ViewCount="421" Body="&lt;p&gt;A topological sort of a graph $G(V,E)$ consisting of $n$ vertices assigns a label $L(v_x)$ to a vertex $v_x$ where $L$ is defined as $L:V \rightarrow \{1,\dots,n\}$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let additional constraints over the labels that the topological sort will assign to be defined as follows.  For every vertex pair $(v_x,v_y)$ let $d(v_x,v_y)$ be the permitted difference between $L(v_x)$ and $L(v_y)$ i.e. $L(v_x) - L(v_y) \leq d(v_x,v_y)$. $d$ is defined as $d:V \times V \rightarrow \{0,\dots,n-1\}$. A solution to this variant of Constrained Topological Sort (CTS) will compute a tolopological sort satisfying the difference constraints for all possible pairs of vertices in $G$.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Is a linear time solution to CTS possible?   &lt;/li&gt;&#xA;&lt;li&gt;Is there an existing work where I can refer to?&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="20614" LastActivityDate="2013-12-10T16:25:55.597" Title="Topological sort with constraints on the relative difference between the vertex labels" Tags="&lt;graph-algorithms&gt;&lt;topological-graph-theory&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20164" PostTypeId="2" ParentId="3540" CreationDate="2013-12-10T16:24:27.987" Score="10" Body="&lt;p&gt;&quot;Foundations of Data Science&quot; (&lt;a href=&quot;https://www.cs.cornell.edu/jeh/book.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;pdf&lt;/a&gt;) by Hopcroft and Kannan. The text was &lt;a href=&quot;http://rjlipton.wordpress.com/2013/12/09/a-negative-impossibility-theorem/&quot; rel=&quot;nofollow noreferrer&quot;&gt;discussed by Lipton&lt;/a&gt; on his blog.  As the title implies, the emphasis of the text seems to be applications and issues related to Big Data and Learning problems.  It seems to have grown out of &lt;a href=&quot;http://www.cs.cmu.edu/~venkatg/teaching/CStheory-infoage/&quot; rel=&quot;nofollow noreferrer&quot;&gt;this course&lt;/a&gt;.   &lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Update 8/2015) The book now has a third author, Avrim Blum. The pdf link has been updated.&lt;/p&gt;&#xA;" OwnerUserId="7189" LastEditorUserId="34442" LastEditDate="2017-01-09T11:57:58.200" LastActivityDate="2017-01-09T11:57:58.200" CommentCount="3" CommunityOwnedDate="2013-12-10T16:24:27.987" ContentLicense="CC BY-SA 3.0" />
  <row Id="20165" PostTypeId="2" ParentId="20163" CreationDate="2013-12-10T16:25:55.597" Score="7" Body="&lt;p&gt;The problem is $\mathsf{NP}$-hard. See [GT41] DIRECTED BANDWIDTH in Garey and Johnson.&lt;/p&gt;&#xA;" OwnerUserId="313" LastActivityDate="2013-12-10T16:25:55.597" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20166" PostTypeId="2" ParentId="12581" CreationDate="2013-12-10T16:55:40.507" Score="1" Body="&lt;p&gt;I computed the black box number of permutations you have to test to prove the only automorphism is the identity permutation. &lt;a href=&quot;http://oeis.org/A186202&quot; rel=&quot;nofollow&quot;&gt;http://oeis.org/A186202&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you can inspect the structure of the graph you can solve it much faster in practice.&lt;/p&gt;&#xA;" OwnerUserId="2021" LastActivityDate="2013-12-10T16:55:40.507" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20167" PostTypeId="2" ParentId="14400" CreationDate="2013-12-10T20:54:51.443" Score="19" Body="&lt;p&gt;The basic sum-of-squares proof system, introduced under the name of Positivstellensatz refutations by &lt;a href=&quot;http://dx.doi.org/10.1016/S0168-0072%2801%2900055-0&quot;&gt;Grigoriev and Vorobjov&lt;/a&gt;, is a “static” proof system for showing that a set of polynomial equations and inequations&#xA;$$S=\{f_1=0,\dots,f_k=0,h_1\ge0,\dots,h_m\ge0\},$$&#xA;where $f_1,\dots,f_k,h_1,\dots,h_m\in\mathbb R[x_1,\dots,x_n]$, has no common solution in $\mathbb R^n$: a refutation of $S$ is given by polynomials $g_i$ and $e_{I,j}$ such that&#xA;$$\tag{$*$}-1=\sum_{i=1}^kg_if_i+\sum_{I\subseteq\{1,\dots,m\}}\sum_je_{I,j}^2\prod_{i\in I}h_i.$$&#xA;(One could work with any real-closed field in place of $\mathbb R$.) Stengle’s Positivstellensatz guarantees that $S$ has a refutation if and only if it has no solution. The main complexity measure here is the &lt;em&gt;degree&lt;/em&gt; of the refutation, which is the maximum of total degrees of the polynomials that appear under the sum signs in $(*)$, that is, $g_if_i$ and $e_{I,j}^2\prod_{i\in I}h_i$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As usual with algebraic proof systems, one can also consider it as a refutation system for unsatisfiable Boolean formulas $\phi$ by including in $S$ the axioms $x_i^2-x_i$ for each variable $x_i$, and a translation of $\phi$ by polynomial inequalities.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More on the history and development of SOS systems can be found in &lt;a href=&quot;http://arxiv.org/abs/1211.1958&quot;&gt;http://arxiv.org/abs/1211.1958&lt;/a&gt; .&lt;/p&gt;&#xA;" OwnerUserId="6959" LastActivityDate="2013-12-10T20:54:51.443" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="20169" PostTypeId="1" AcceptedAnswerId="20172" CreationDate="2013-12-10T21:56:34.650" Score="9" ViewCount="457" Body="&lt;p&gt;I'm familiar with linear programs in that they can solve problems with linear objective functions and linear constraints. But what can semidefinite programming solve that linear programming can't? I already know that semidefinite programs are a generalization of linear programs. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, how does one recognize a problem that can be solved using semidefinite programming? What is a typical problem that semidefinite programming is used for that couldn't be solved via linear programming? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks very much for any response.&lt;/p&gt;&#xA;" OwnerUserId="20620" LastEditorUserId="39090" LastEditDate="2018-08-17T12:27:18.063" LastActivityDate="2018-08-17T12:27:18.063" Title="What can be solved with semidefinite programming that can't be solved with linear programming?" Tags="&lt;linear-programming&gt;&lt;convex-optimization&gt;&lt;semidefinite-programming&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="3" ContentLicense="CC BY-SA 4.0" />
  <row Id="20170" PostTypeId="1" CreationDate="2013-12-10T23:36:19.723" Score="2" ViewCount="947" Body="&lt;p&gt;I've been reading a paper on Sparse PCA, which is:&#xA;&lt;a href=&quot;http://stats.stanford.edu/~imj/WEBLIST/AsYetUnpub/sparse.pdf&quot; rel=&quot;nofollow&quot;&gt;http://stats.stanford.edu/~imj/WEBLIST/AsYetUnpub/sparse.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;And it states that, if you have $n$ data points, each represented with $p$ features, then, the complexity of PCA is $O(\min(p^3,n^3))$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can someone please explain how/why?&lt;/p&gt;&#xA;" OwnerUserId="10924" LastEditorUserId="16809" LastEditDate="2013-12-11T23:07:11.303" LastActivityDate="2013-12-11T23:07:11.303" Title="How is the complexity of PCA $O(\min(p^3,n^3))$?" Tags="&lt;machine-learning&gt;&lt;time-complexity&gt;&lt;matrices&gt;" AnswerCount="0" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="20171" PostTypeId="2" ParentId="20169" CreationDate="2013-12-11T04:05:51.947" Score="12" Body="&lt;p&gt;For many combinatorial optimization problems (for instance Max-Cut), semidefinite programming yields much stronger relaxations than the LP relaxation of IP formulations. This allows the design of approximation algorithms, and of exact algorithms which are more efficient than their linear counterparts due to the better quality of the bounds. Examples can be found in Christoph Helmberg's &lt;a href=&quot;http://opus.kobv.de/zib/volltexte/2000/603/pdf/ZR-00-34.pdf&quot;&gt;Habilitation thesis&lt;/a&gt;, &lt;a href=&quot;http://dx.doi.org/10.1016/S0927-0507%2805%2912008-8&quot;&gt;this survey&lt;/a&gt;, and &lt;a href=&quot;http://www.math.cmu.edu/~reha/sdpco.html&quot;&gt;this course page&lt;/a&gt;  .&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another recent sequence of spectacular results making use of semidefinite programming is the application of Razborov's &lt;a href=&quot;http://www.jstor.org/stable/10.2307/27588603&quot;&gt;flag algebras&lt;/a&gt; to prove results on Turan type problems (see &lt;a href=&quot;http://people.cs.uchicago.edu/~razborov/files/flag_survey.pdf&quot;&gt;this survey&lt;/a&gt; and the &lt;a href=&quot;http://flagmatic.org/&quot;&gt;flagmatic project&lt;/a&gt;).     &lt;/p&gt;&#xA;" OwnerUserId="15637" LastActivityDate="2013-12-11T04:05:51.947" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20172" PostTypeId="2" ParentId="20169" CreationDate="2013-12-11T05:04:30.070" Score="18" Body="&lt;p&gt;A typical problem is MaxCut: output a cut in a graph that (approximately) maximizes the number of edges cut. &lt;a href=&quot;http://www-math.mit.edu/~goemans/PAPERS/maxcut-jacm.pdf&quot;&gt;Goemans and Williamson&lt;/a&gt; showed an SDP approximates the value of MaxCut to within a factor at least 0.878. Recently, &lt;a href=&quot;http://www.cs.cornell.edu/~dsteurer/papers/lpsize.pdf&quot;&gt;Chan, Lee, Raghavendra, and Steurer&lt;/a&gt; showed that for a natural linear encoding of the MaxCut problem, all polynomial size LPs achieve approximation no better than 0.5. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's hard to say concisely what kind of problems usually benefit from an SDP. A systematic approach to constructing SDP relaxations is through hierarchies, the most powerful of which is the Lasserre hierarchy: see &lt;a href=&quot;http://math.mit.edu/~rothvoss/lecturenotes/lasserresurvey.pdf&quot;&gt;Rothvoß's survey&lt;/a&gt; for a nice introduction. By now there are too many examples of successes of SDPs in optimization to list. Also, &lt;a href=&quot;http://www.eecs.berkeley.edu/~prasad/Files/extabstract.pdf&quot;&gt;Raghavendra showed&lt;/a&gt; that one particular SDP gives the best approximation to all MaxCSP problems, if the Unique Games conjecture is true. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Check the books of &lt;a href=&quot;http://link.springer.com/book/10.1007/978-3-642-22015-9&quot;&gt;Gaertner and Matousek&lt;/a&gt;, chapters 6 and 13 of &lt;a href=&quot;http://link.springer.com/book/10.1007/978-3-642-22015-9&quot;&gt;Willimson and Shmoys' book&lt;/a&gt;, &lt;a href=&quot;http://www.cs.elte.hu/~lovasz/semidef.ps&quot;&gt;Lovasz's survey&lt;/a&gt;. &lt;/p&gt;&#xA;" OwnerUserId="4896" LastEditorUserId="4896" LastEditDate="2013-12-11T16:12:45.933" LastActivityDate="2013-12-11T16:12:45.933" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20173" PostTypeId="2" ParentId="19832" CreationDate="2013-12-11T05:56:35.573" Score="0" Body="&lt;p&gt;This does not give a full answer for the question, but provides an interesting way to understand the space of potential solutions to an multivariate quadratic polynomial.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $ x^T A x + b^T x + c = 0$ be a multivariate quadratic polynomial equation. Note that $(Dx + h)^T(Dx + h) = x^T D^T D x + x^T D^T h + h^T Dx + h^T h$. If D is a diagonal matrix, this gives:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$ (Dx + h)^T(Dx + h) = x^T D^2 x +  2 h^T Dx + h^T h $$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Returning to our original equation, $x^T A x + b^T x + c = 0$, note that without loss of generality we can assume that $A$ is symmetric, then it has a unique positive definite square root which may be computed in polynomial time. Call this root $D$, then we have:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$ x^T A x + b^T x + c = 0 \implies x^T D^T D x + b^T x + \frac{b^T (D^{-1})^2 b }{4} = \frac{b^T (D^-1)^2 b }{4} - c $$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Therefore, &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$ (Dx + \frac{b^T D^{-1}}{2})^T (Dx + \frac{b^T D^{-1}}{2}) = \sqrt{\frac{b^T (D^-1)^2 b }{4} - c}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So the solutions $x$ may be obtained by applying an affine transformation to vectors of norm $\sqrt{\frac{b^T (D^-1)^2 b }{4} - c} = \sqrt{\frac{b^T A^{-1} b }{4} - c}$. &lt;/p&gt;&#xA;" OwnerUserId="19455" LastEditorUserId="19455" LastEditDate="2013-12-12T18:13:35.770" LastActivityDate="2013-12-12T18:13:35.770" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="20176" PostTypeId="1" CreationDate="2013-12-11T12:10:53.530" Score="7" ViewCount="611" Body="&lt;p&gt;In 1990's, the paper &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.137.5518&quot;&gt;Unifying Maximum Cut and Minimum Cut of a Planar Graph&lt;/a&gt; described an&#xA;$O(n^{3/2}\log n)$-time algorithm for Weighted Planar Max Cut, a landmark in the field. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Recently, this paper appeared:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Min st-Cut Oracle for Planar Graphs with Near-Linear Preprocessing Time &#xA;  &lt;a href=&quot;http://arxiv.org/abs/1003.1320&quot;&gt;http://arxiv.org/abs/1003.1320&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I was wondering if the time for Weighted Planar Max Cut could be improved from $O(n^{3/2}\log n)$ to $O(n \log^c n)$ for some small constant $c$, using ideas from this paper?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In general, have any improvements in Weighted Planar Max Cut been published?&lt;/p&gt;&#xA;" OwnerUserId="10136" LastEditorUserId="111" LastEditDate="2013-12-11T13:07:25.140" LastActivityDate="2013-12-14T14:21:42.040" Title="What is the fastest algorithm for Weighted Planar Max Cut" Tags="&lt;time-complexity&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="20177" PostTypeId="2" ParentId="20155" CreationDate="2013-12-11T14:40:21.657" Score="12" Body="&lt;p&gt;After a while of thinking and asking around, here's a counter-example, courtesy of &lt;a href=&quot;https://mathoverflow.net/users/27663/ami-paz&quot;&gt;Ami Paz&lt;/a&gt;:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $n$ be even and $G$ be a graph which is the union of $K_n$ with a matching of $n+2$ vertices (that is, a matching with $n/2+1$ edges).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;How does the algorithm run on this graph? It just takes vertices from the clique part in arbitrary order. After having taken $k$ vertices from the clique, the cut is of size $k\cdot (n-k)$. This is maximal for $k=n/2$, which gives a cut of size $\frac{n^2}{4}$, while the number of edges in the graph is $\frac{n^2}{2}+1$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The algorithm as prescribed will continue adding vertices from the clique, reducing the number of edges crossing the cut, until what remains from the clique is just a single edge. At this point it cannot obtain anything better than $\frac{n}{2}+2$.&lt;/p&gt;&#xA;" OwnerUserId="5835" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2013-12-11T14:40:21.657" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="20178" PostTypeId="2" ParentId="20145" CreationDate="2013-12-11T14:56:51.620" Score="5" Body="&lt;p&gt;I would encourage you to think of error correction not as entanglement-swapping, per se, but the stimulated dissipation of excitations from a carefully engineered Hamiltonian &amp;mdash; not the Hamiltonian which governs the unitary evolution, but a different Hamiltonian in whose ground-state manifold one thinks of trying to keep the state of the system, by dissipating excitations into a system of low temperature. Then we can describe &lt;em&gt;fault tolerance&lt;/em&gt; as the threshold at which the rate of stimulated dissipation is such that the probability of an uncontrolled &lt;em&gt;spontaneous&lt;/em&gt; dissipation can be efficiently suppressed by any desired factor.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Against the role of entanglement &amp;mdash; per se &amp;mdash; in error correction&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The picture of 'entanglement swapping' which you describe brings to mind the question of coherence, and the issue of the state of the computation being isolated from the environment: in the quantum circuit model, we would quite like (short of what transformations are being applied) for the state of the computation to be essentially closed off from the outside world. This is the classic catch-22 behind the engineering problem of designing a quantum computer: to be open to the environment only when you want it to be (because you are part of the environment), and to control when it is open to the environment (from within the environment). It invites us to think of the problem in terms of a double-bind. Furthermore, not all errors necessarily would manifest as entanglement with the environment: an environment which deterministically performs Pauli operations on each of our qubits in some order would not be entangling and would be just as bad from an error perspective as anything which did involve entanglement.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Error correction as a form of Hamiltonian engineering&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An alternative view is that the error correcting process is a sort of dissipative process.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Each detectable error corresponds to a sort of excitation of the system &amp;mdash; an event corresponding perhaps to a projector onto a partial error syndrome &amp;mdash; and what we are attempting to determine is whether the state of the system has become &quot;excited&quot; because it has a substantial overlap with the 'signature' of some error due to interaction with an environment with non-zero temperature. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the case of stabilizer codes, for instance, you could think of the Pauli generators $S_1, S_2, \ldots$ of the code as giving rise to projectors $P_j = \tfrac12(\mathbf 1 - S_j)$. The Hamiltonian is then $H = \sum_j P_j$, and the codespace is the &lt;em&gt;ground state manifold&lt;/em&gt; &amp;mdash; that is, the lowest-energy eigenspace: the zero eigenspace, &lt;em&gt;i.e.&lt;/em&gt;&amp;nbsp;the &lt;em&gt;joint zero eigenspace&lt;/em&gt; of the projectors, as opposed to the joint +1-eigenspace that one often considers. The error syndrome is then a description of a collection of commuting excitations of the projectors $P_j$ representing energy contributions &amp;mdash; the error-free syndrome corresponding to the highly degenerate ground-state manifold, $\mathrm{null}(H)$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;What we attempt to do is to measure the energy terms in the Hamiltonian &lt;em&gt;frequently enough&lt;/em&gt;, not to mention &lt;em&gt;accurately enough&lt;/em&gt;, to detect the excitations (errors). Then, we attempt to &lt;em&gt;dissipate away&lt;/em&gt; these excitations (correct the errors) the dissipation process being the efficient transmission of the excitation (error) out of the state of the computation and into some auxiliary system.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Furthermore, we would like to do it quickly enough so that the system&#xA;does not accumulate too much error, and then &lt;em&gt;spontaneously and uncontrollably&lt;/em&gt; dissipate the excitations. For the error correcting code to be useful, it has to encode a highly degenerate subspace: thus, the error-excitations which we are trying to dissipate are excitations of a highly degenerate Hamiltonian. Because of the degeneracy of the ground-state manifold, there is a risk that a &lt;em&gt;spontaneous&lt;/em&gt; relaxation of an excited state to a ground state could give rise to a non-trivial transformation of the ground-state manifold: an uncorrectable encoded error.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;In all of the above, entangled states will sometimes be involved, and one may think of codes such as the Shor 9-qubit code as exploiting entanglement (correlations in multiple bases of measurement) to represent a quantum analogue of a simple repetition code. But in all this, entanglement is an &lt;em&gt;incidental feature&lt;/em&gt; of the more fundamental phenomenon of correlations of multi-qubit observables representing excitations (or lack of them) in a physical process. That is, the role of entanglement here is the same as in many-body systems: it just so happens that the ground states of Hamiltonians may be entangled, but the mere presence or absence of entanglement is not what makes the states ground-states.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Competing dissipation processes&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Above, I talk about &lt;em&gt;spontaneous&lt;/em&gt; versus &lt;em&gt;stimulated&lt;/em&gt; dissipation. However, this is a distinction of engineering, not of physics: the fact that the 'stimulated' process is under our control is not relevant from a physical perspective. Physically, we merely have two interaction/dissipation processes with the computational system: an uncontrolled 'noise' process with a bath, and a controlled dissipation process which we might think of as happening with a cold reservoir (corresponding to the ancillas which we prepare to aid with the error correction process). The error rate per unit &lt;em&gt;time&lt;/em&gt; is the interaction of the bath with the computational system; the error rate per &lt;em&gt;gate&lt;/em&gt; is the effective three-way interaction of the bath with the reservoir and computational system. The error correction is the interaction of the computational system with the cold reservoir alone.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In this picture, what would it look like if we could make the interaction with the reservoir dominate these interactions of the computational system with the bath, or the bath-system-reservoid interaction? It would look as if any interaction of the bath with the system would be more and more efficiently transmitted into the cold reservoir, with the computational system left essentially undisturbed.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is how we can interpret what the threshold theorem tells us &amp;mdash; if the interaction of the system with the warm bath is sufficiently low, we can simulate a bath at arbitrarily low temperature by simulating a coupling of the computational system with a cold reservoir, where the transmission of excitations from the system to the reservoir is arbitrarily swift; and furthermore the resources to do so is $\mathrm{poly} \log(\varepsilon)$, where $\varepsilon &amp;gt; 0$ is the factor of suppression of noise in the computational system.&lt;/p&gt;&#xA;" OwnerUserId="248" LastEditorUserId="248" LastEditDate="2013-12-11T16:02:20.940" LastActivityDate="2013-12-11T16:02:20.940" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20179" PostTypeId="1" AcceptedAnswerId="20189" CreationDate="2013-12-11T15:33:39.603" Score="7" ViewCount="374" Body="&lt;p&gt;Petersen's theorem states that a bridgeless cubic graph contains a perfect matching (1-factor). Motivated by this question, &lt;a href=&quot;https://cstheory.stackexchange.com/questions/6107/complexity-of-finding-2-vertex-disjoint-v-2-cycles-in-cubic-graphs&quot;&gt;Complexity of finding 2 vertex-disjoint (|V|/2)-cycles in cubic graphs?&lt;/a&gt; I am interested in the problem of deciding the existence of perfect matching $M$ such that removing the edges of $M$ leaves two node-disjoint cycles of equal cardinality  (each cycle has size $|V|/2$).&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is this problem solvable in P-time? Is it $NP$-complete?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The input is connected bridgeless cubic graph.&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2014-01-31T02:48:57.270" Title="Finding balanced disjoint cycles in bridgeless cubic graphs" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;" AnswerCount="1" CommentCount="6" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="20181" PostTypeId="2" ParentId="20072" CreationDate="2013-12-11T20:46:13.747" Score="1" Body="&lt;p&gt;Take cycles $C_{p_1}, \ldots, C_{p_n}$ where $p_i$ is the $i$th prime number.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We can find the first $n$ prime number in time polynomial in $n$.&lt;/p&gt;&#xA;" OwnerUserId="186" LastActivityDate="2013-12-11T20:46:13.747" CommentCount="1" CommunityOwnedDate="2013-12-11T20:46:13.747" ContentLicense="CC BY-SA 3.0" />
  <row Id="20182" PostTypeId="2" ParentId="20072" CreationDate="2013-12-11T21:08:21.270" Score="0" Body="&lt;p&gt;The problem without a size bound and also in the infinite case was studied in 1960s by &lt;a href=&quot;http://www.cs.sfu.ca/~pavol/&quot; rel=&quot;nofollow&quot;&gt;Pavol Hell&lt;/a&gt; and his colleagues. They called them &lt;em&gt;mutually rigid graphs&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Similar constructions work for the finite case.&#xA;For directed case this is quite easy, take paths of length $n+5$ with the following pattern:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\overset{2+k\text{ times}}{\overbrace{\rightarrow\ldots\rightarrow}} \leftarrow\overset{n+2-k\text{ times}}{\overbrace{\rightarrow\ldots\rightarrow}}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To get an undirected graph one can replace the directed edges with a &lt;em&gt;strongly rigid&lt;/em&gt; graph that mimics the homomorphism actions of a directed edge.&#xA;See figure 4.9 in section 4.4 &lt;em&gt;the replacement operation&lt;/em&gt; (pages 117-122) in&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Pavol Hell and Jarik Nesetril, &lt;a href=&quot;http://ukcatalogue.oup.com/product/9780198528173.do&quot; rel=&quot;nofollow&quot;&gt;Graphs and Homomorphisms&lt;/a&gt;, 2004.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="186" LastActivityDate="2013-12-11T21:08:21.270" CommentCount="0" CommunityOwnedDate="2013-12-11T21:08:21.270" ContentLicense="CC BY-SA 3.0" />
  <row Id="20183" PostTypeId="1" CreationDate="2013-12-12T03:51:53.253" Score="4" ViewCount="211" Body="&lt;p&gt;We want to maintain a dictionary of &lt;span class=&quot;math-container&quot;&gt;$m$&lt;/span&gt; elements with insert/delete and lookup in the word RAM model. Assume &lt;span class=&quot;math-container&quot;&gt;$m=O(n)$&lt;/span&gt; at all times, so there can't be too many inserts without deletions. The universe has size &lt;span class=&quot;math-container&quot;&gt;$\{0,\ldots,n^c-1\}$&lt;/span&gt; for some constant &lt;span class=&quot;math-container&quot;&gt;$c$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;p&gt;How fast can we support these operations deterministically (in either worst case or amortized time) if we are restricted to &lt;span class=&quot;math-container&quot;&gt;$O(n)$&lt;/span&gt; space? How about &lt;span class=&quot;math-container&quot;&gt;$O(n \mathop{\mathrm{polylog}} n)$&lt;/span&gt; space?&lt;/p&gt;&#xA;&lt;p&gt;A few simple observations:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;When &lt;span class=&quot;math-container&quot;&gt;$c=1$&lt;/span&gt;, an array of size &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt; support all operations in worst time &lt;span class=&quot;math-container&quot;&gt;$O(1)$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;It's not hard to come up with a &lt;span class=&quot;math-container&quot;&gt;$O(n^{1+\epsilon})$&lt;/span&gt; space data structure so all queries can be done in &lt;span class=&quot;math-container&quot;&gt;$O(\frac{1}{\epsilon})$&lt;/span&gt; worst case time for any &lt;span class=&quot;math-container&quot;&gt;$\epsilon&amp;gt;0$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;We can implement all operations in worst time &lt;span class=&quot;math-container&quot;&gt;$O\left(\frac{(\log \log n)^2}{\log \log \log n}\right)$&lt;/span&gt; with &lt;span class=&quot;math-container&quot;&gt;$O(m)$&lt;/span&gt; space using exponential tree.&lt;a href=&quot;http://dl.acm.org/citation.cfm?id=335344&quot; rel=&quot;nofollow noreferrer&quot;&gt;[1]&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;To clarify, I'm looking for dictionaries with space requirement as a function of the size of the universe, and not the number of elements in the dictionary.&lt;/p&gt;&#xA;" OwnerUserId="314" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2013-12-12T16:51:00.277" Title="Deterministic dynamic dictionary on a small universe" Tags="&lt;ds.data-structures&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="20185" PostTypeId="1" AcceptedAnswerId="21809" CreationDate="2013-12-12T08:32:23.543" Score="12" ViewCount="1654" Body="&lt;p&gt;Quite similar to my &lt;a href=&quot;https://cstheory.stackexchange.com/questions/20137/subgraph-containing-all-nodes-and-edges-that-are-part-of-length-limited-simple-s&quot;&gt;previously posted question&lt;/a&gt;. This time however, the graph is undirected.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;An &lt;strong&gt;undirected&lt;/strong&gt; graph $G$ with no multiple-edges or loops,&lt;/li&gt;&#xA;&lt;li&gt;A source vertex $s$,&lt;/li&gt;&#xA;&lt;li&gt;A target vertex $t$,&lt;/li&gt;&#xA;&lt;li&gt;Maximal path length $l$,&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I am looking for $G'$ - A subgraph of $G$ that contains any vertex and any edge in $G$ (and only those), that are part of at least one simple path from $s$ to $t$ with length $\leq l$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Notes:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;I don't need to enumerate the paths.&lt;/li&gt;&#xA;&lt;li&gt;I'm looking for an efficient algorithm (both time and memory), as I need to execute it over very large graphs (10^8 vertexes, 10^9 edges).&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="4804" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2014-04-08T11:43:35.990" Title="Subgraph containing all nodes and edges that are part of length-limited simple s-t paths in an undirected graph" Tags="&lt;ds.algorithms&gt;&lt;graph-algorithms&gt;&lt;shortest-path&gt;" AnswerCount="3" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="20187" PostTypeId="2" ParentId="20183" CreationDate="2013-12-12T15:42:41.880" Score="1" Body="&lt;p&gt;If randomness is allowed, you can get space $B + o(B)$ and time $O(1)$ (worst-case, with high probability), where $B$ is $\lg {U \choose n}$, which is the lower bound on how much space you need using &lt;em&gt;any&lt;/em&gt; representation: &lt;a href=&quot;http://arxiv.org/abs/0912.5424&quot; rel=&quot;nofollow&quot;&gt;Arbitman et al., &quot; Backyard Cuckoo Hashing: Constant Worst-Case Operations with a Succinct Representation&quot;&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For deterministic dictionaries, the best known bounds are discussed in &lt;a href=&quot;http://albcom.lsi.upc.edu/ojs/index.php/beatcs/article/viewFile/163/176&quot; rel=&quot;nofollow&quot;&gt;Thorup's &quot;Mihai Pǎtraşcu: Obituary and Open Problems&quot;&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="43" LastEditorUserId="43" LastEditDate="2013-12-12T16:51:00.277" LastActivityDate="2013-12-12T16:51:00.277" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="20189" PostTypeId="2" ParentId="20179" CreationDate="2013-12-12T19:10:42.047" Score="5" Body="&lt;p&gt;This is NP-complete; reduction from the question, &quot;Does a 2-edge-connected cubic graph $H$ contain a Hamiltonian cycle avoiding a given edge $e$?&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Construct $G$ as follows.  Take two copies of $H-e$, denoting the endpoints of $e$ in the first copy $v_1$, $u_1$ and denoting the endpoints of $e$ in the second copy $v_2$, $u_2$.  Add edges $e_v$ between $v_1$ and $v_2$, and $e_u$ between $u_1$ and $u_2$.  Observe that $G$ is 2-edge-connected.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any cycle of $G$ contains both or neither of $e_v$ and $e_u$, since these edges form an edge cut.  Thus if $G$ has two vertex-disjoint cycles of length $|V(H)|$, they must each lie in a separate copy of $H$.  Such cycles exist precisely if $H$ contains a Hamiltonian cycle avoiding $e$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit: Am I missing something obvious, or is the question of finding a good perfect matching clearly equivalent to finding the two long cycles?&lt;/p&gt;&#xA;" OwnerUserId="1929" LastEditorUserId="1929" LastEditDate="2013-12-12T19:16:30.383" LastActivityDate="2013-12-12T19:16:30.383" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="20190" PostTypeId="2" ParentId="20155" CreationDate="2013-12-12T20:29:43.047" Score="13" Body="&lt;p&gt;&lt;em&gt;&lt;sup&gt;My earlier claim of $\frac{2}{c+6}$ did not take into account the cut of size $n^2/4$ already present in the graph. The following construction appears to result (emperically - I have created a question at math.stackexchange.com for a rigorous proof) in a $O\left(\frac{1}{\log c}\right)$ fraction.&lt;/sup&gt;&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The algorithm performs badly on unions of several disconnected, differently sized complete graphs. We denote the complete graph on $n$ vertices as $K_n$. Consider the behavior of the algorithm on $K_n$: it repeatedly adds an arbitrary vertex not yet in $S$ to $S$ - all such vertices are identical and so the order does not matter. Setting the number of vertices not yet added to $S$ by the algorithm $|\bar{S}| = k$, the size of the cut at that moment is $k (n-k)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider what happens if we run the algorithm on several disconnected $K_{x_i n}$ graphs with $x_i$ constants between 0 and 1. If $k_i$ is the number of elements not yet in $S$ in the $i$th complete graph, then the algorithm will repeatedly add a vertex to $S$ from the complete graph with highest $k_i$, breaking ties arbitrarily. This will induce `round' based additions of vertices to $S$: the algorithm adds a vertex from all complete graphs with the highest $k = k_i$, then from all complete graphs with $k_i=k-1$ (with $k_i$ updated after the previous round), and so on. Once a complete graph has a vertex added to $S$ in a round, it will do so for every round from then on.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $c$ be the number of complete graphs. Let $0 &amp;lt; x_i \leq 1$ with $0 \leq i \leq c - 1$ be the size modifier for the $i$-th complete graph. We order these size modifiers from large to small and set $x_0 = 1$. We now have that if there are $c'$ graphs with exactly $k$ elements not yet added to $S$, then the size of the cut at that time is $\sum_{i=0}^{c'-1} k (x_i n - k) = k n \sum_{i=0}^{c'-1} (x_i) - c' k^2$. The total number of edges is $|E| = \sum_{i=0}^{c-1} \frac{x_i n (x_i n - 1)}{2} \approx \frac{n^2}{2} \sum_{i=0}^{c-1} x_i^2$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that $k n \sum_{i=0}^{c'-1} x_i - c' k^2$ is a quadratic function in $k$ and hence has a maximum. We will therefore have several locally maximal cuts. For example, if $c=1$ our maximal cut is at $k=\frac{n}{2}$ of size $\frac{n^2}{4}$. We are going to pick $x_1$ so that $x_1 = 1/2 - \varepsilon$, which means the second complete graph will not change the size of this locally maximal cut at $k=\frac{n}{2}$. We then get a new locally maximal cut at $k=3/8 n - \varepsilon'$ and so we pick $x_2 = 3/8 n - \varepsilon''$ (with $\varepsilon, \varepsilon', \varepsilon''$ small constants). We will ignore the $\varepsilon$s for the moment and just assume we can pick $x_1 = 1/2$ - we should ensure $x_1 n = \frac{n}{2} - 1$, but this will not affect the final results if $n$ is large enough.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We wish to find the local maxima of our cuts. We differentiate $k n \sum_{i=0}^{c'-1} (x_i) - c' k^2$ to $k$, yielding $n \sum_{i=0}^{c'-1} (x_i) - 2 c' k$. Equating to $0$ gives $k = \frac{n}{2c'} \sum_{i=0}^{c'-1} x_i$, which gives a cut of size $\frac{n^2}{4c'} \left(\sum_{i=0}^{c'-1} x_i\right)^2$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $k_i$ be the $k$ determined in the previous paragraph if $c'=i$. We will ensure that the formula holds by demanding that $x_i n &amp;lt; k_i$ - all complete graphs $i'$ with $i'&amp;gt;i$ are then smaller than the $k_i$ of this locally maximal cut and hence do not increase the size of the cut. This means we have $c$ cuts at these $k_i$ that are larger than all other cuts found by the algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Filling in $x_i n &amp;lt; k_i$, we get the recurrence $x_i = \frac{1}{2c'} \sum_{i=0}^{c'-1} x_i$ (plus some small $\varepsilon$) with $x_0 = 1$. Solving this yields $x_i = \frac{\binom{2i}{i}}{4^i}$: &lt;a href=&quot;https://math.stackexchange.com/q/614746/19258&quot;&gt;see my question on math.stackexchange.com&lt;/a&gt; for the derivation by @Daniel Fisher. Plugging this into $\frac{n^2}{4c'} \left(\sum_{i=0}^{c'-1} x_i\right)^2$ and using our insight into the recurrence gives us cuts of size $\frac{n^2}{4c'} \left(2c' \frac{\binom{2c'}{c'}}{4^{c'}}\right)^2 = n^2 c' \left(\frac{\binom{2c'}{c'}}{4^{c'}}\right)^2$. Using &lt;a href=&quot;http://en.wikipedia.org/wiki/Central_binomial_coefficient#Properties&quot; rel=&quot;nofollow noreferrer&quot;&gt;properties of this central binomial coefficient&lt;/a&gt;, we have $\lim_{c' \to \infty} c' \left(\frac{\binom{2c'}{c'}}{4^{c'}}\right)^2 = \frac{1}{\pi}$ (also see &lt;a href=&quot;http://en.wikipedia.org/wiki/Central_binomial_coefficient#Properties&quot; rel=&quot;nofollow noreferrer&quot;&gt;my question on math.stackexchange.com&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The number of edges is approximately $\frac{n^2}{2} \sum_{i=0}^{c-1} x_i^2 = \frac{n^2}{2} \sum_{i=0}^{c-1} \left(\frac{\binom{2i}{i}}{4^i}\right)^2$. &lt;a href=&quot;http://en.wikipedia.org/wiki/Central_binomial_coefficient#Properties&quot; rel=&quot;nofollow noreferrer&quot;&gt;By known properties&lt;/a&gt; we have $\frac{1}{\sqrt{4i}} \leq \frac{\binom{2i}{i}}{4^i}$. Filing in gives at least $\frac{n^2}{2} \sum_{i=0}^{c-1} \left(\frac{1}{\sqrt{4i}}\right)^2 = \frac{n^2}{8} \sum_{i=0}^{c-1} \frac{1}{i}$ which is asymptotically $\frac{n^2}{8} \log c$ as $c$ goes to infinity.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We therefore have $\frac{\delta(S, \bar{S})}{|E|}$ is asymptotically equal to $\frac{8}{\pi \log c}$ as $c$ goes to infinity, showing that the algorithm can return cuts that are arbitrarily low fractions of $|E|$.&lt;/p&gt;&#xA;" OwnerUserId="988" LastEditorUserId="-1" LastEditDate="2017-04-13T12:19:19.363" LastActivityDate="2013-12-21T12:27:15.053" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="20193" PostTypeId="1" CreationDate="2013-12-12T22:57:08.337" Score="3" ViewCount="78" Body="&lt;p&gt;The lambda calculus is a rewriting system and Turing complete. Which are the rewriting systems corresponding to the other levels of the Chomsky hierarchy? E.g. what is the functionally computing system for finite state machines and so on?&lt;/p&gt;&#xA;" OwnerUserId="7750" LastActivityDate="2013-12-12T22:57:08.337" Title="Which are the rewriting systems corresponding to the levels of the computatational hierarchy?" Tags="&lt;term-rewriting-systems&gt;" AnswerCount="0" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="20194" PostTypeId="1" CreationDate="2013-12-12T23:10:31.230" Score="3" ViewCount="73" Body="&lt;p&gt;Here is a brief summary of the experts framework: Given $n$ experts who either give correct or wrong advice for each round $t\in [T]$, an algorithm is required to give a best prediction for each round based on the advice from experts. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;We define the difference of total loss (either 0 or 1 for each round) incurred and that of the best expert as &lt;strong&gt;regret&lt;/strong&gt;. We call the regret as a function of $n$ and $T$ the zero-order regret, as a function of $L^*$ (loss of the best expert) the first-order expert, and so on.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The upper bound on the zero-order regret is known as $O(\sqrt{T\ln n})$. I was wondering if there is also a positive lower bound on this? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I guess this is true, since I could find it in Exercise 5 in the survey &lt;a href=&quot;https://www.cs.cmu.edu/~avrim/Papers/regret-chapter.pdf&quot; rel=&quot;nofollow&quot;&gt;Learning, Regret minimization, and Equilibria by A. Blum and Y. Mansour&lt;/a&gt;. I would appreciate it if anyone can give me a pointer to the proof. Thanks.&lt;/p&gt;&#xA;" OwnerUserId="20653" LastEditorUserId="20653" LastEditDate="2013-12-15T00:53:55.233" LastActivityDate="2013-12-15T00:53:55.233" Title="Lower Bound on Zero-order Regret" Tags="&lt;machine-learning&gt;&lt;gt.game-theory&gt;" AnswerCount="0" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="20196" PostTypeId="2" ParentId="20176" CreationDate="2013-12-13T04:29:18.953" Score="7" Body="&lt;p&gt;Shih, Wu, and Kuo's &quot;unifying&quot; paper reduces the planar maximum cut problem to two related problems in planar graphs: (1) maximum-weight bipartite matching and (2) minimum cycle (aka weighed girth).  Both problems are solved in $O(n^{3/2}\log n)$ time using divide-and-conquer algorithms that rely on Lipton and Tarjan's planar separator theorem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;After a long series of improvements, the minimum-weight cycle in a weighted planar graph can now be computed in $O(n \log\log n)$ time using a recent algorithm of &lt;a href=&quot;http://arxiv.org/abs/1104.4890&quot; rel=&quot;nofollow&quot;&gt;Łącki and Sankowski&lt;/a&gt; (2011).  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, I am unaware of any improvement on the time to find maximum-weight matchings, which means &lt;strong&gt;Shih, Wu, and Kuo's $O(n^{3/2}\log n)$ time algorithm is still the fastest algorithm known&lt;/strong&gt; (at least to me) for weighted planar max-cut.&lt;/p&gt;&#xA;" OwnerUserId="111" LastEditorUserId="111" LastEditDate="2013-12-14T14:21:42.040" LastActivityDate="2013-12-14T14:21:42.040" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="20201" PostTypeId="2" ParentId="19103" CreationDate="2013-12-13T23:37:10.623" Score="3" Body="&lt;p&gt;I don't have access to the original paper, but this is an alternate reduction from SUBSET PRODUCT. The decision version of the WEAPON TARGET ASSIGNMENT (&lt;strong&gt;WTA&lt;/strong&gt;) problem is:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Input&lt;/strong&gt;: Given an integer $k$, $W_i$ weapons of type $i = 1,...,m$, $n$ targets $j=1,...,n$ having values $V_j$; each weapon type has a certain probability of destroying each target, given by $p_{i,j}$.&#xA;&lt;br&gt;&lt;strong&gt;Question&lt;/strong&gt;: Does there exist an assignment of the available weapons such that:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$D = \sum_{j=1}^n V_j \prod_{i=1}^m q_{i,j}^{x_{i,j}} \leq k  $$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where $x_{i,j} = 1$  if weapon $i$ is assigned to target $j$ ($x_{i,j} = 0$ otherwise), and $q_{i,j} = 1 - p_{i,j}$ (survival probability of target $j$ when hit by weapon $i$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a set of positive integers $A= \{a_1, a_2, ..., a_m\}$, and a target product $b$; the SUBSET PRODUCT problems asks for a subset $X \subseteq \{1,2,...,m\}$ such that $\prod_{i \in X} a_i = b$. Let $P = \prod a_i$, note that if $b \nmid P$ then the subset product problem doesn't have a solution.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We can build a WTA instance with two targets ($n=2$) having the same value $V_1 = V_2= P$ and $m+2$ weapons $W_1,W_2,...,W_m,W_{\alpha},W_{\beta}$:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;    &lt;li&gt;weapons $W_1,W_2,...,W_m$ can destroy both targets with probability $p_{i,1} = p_{i,2} = 1 - \frac{1}{a_i}$ (the survival probability is $q_{i,1} = q_{i,2} = \frac{1}{a_i}$);&lt;/li&gt;&#xA;    &lt;li&gt;weapon $W_{\alpha}$ can destroy both targets with probability $p_{i,1} = p_{i,2} = 1 - \frac{b}{2P}$ (the survival probability is $q_{i,1} = q_{i,2} = \frac{b}{2P}$);&lt;/li&gt;&#xA;    &lt;li&gt;weapon $W_{\beta}$ can destroy both targets with probability $p_{i,1} = p_{i,2} = 1 - \frac{1}{2b}$ (the survival probability is $q_{i,1} = q_{i,2} = \frac{1}{2b})$&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;We set $k = 1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;($\Rightarrow$) Suppose that the original subset sum problem has a solution $X$; let $Y=\{1,\ldots,m\} \setminus X$.&#xA;Then&#xA;$$\prod_{i \in X} \frac{1}{a_i}=\frac{1}{b},\quad \prod_{y \in Y} \frac{1}{a_y} = \frac{b}{P}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we assign weapons $W_x, x \in X$ and $W_{\alpha}$ to target 1; weapons $W_y, y \in Y$ and $W_{\beta}$ to target 2 we get:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$ D= V_1 * \frac{b}{2P}* \frac{1}{b}  + V_2 * \frac{1}{2b}* \frac{b}{P} = P * \frac{b}{2P}* \frac{1}{b}  + P * \frac{1}{2b}* \frac{b}{P}  = 1$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;($\Leftarrow$) Suppose that the WTA instance has a solution and let $X',Y'$ be the indices of the weapons assigned to target 1 and 2 respectively ($X',Y'\subseteq \{1,\ldots,m,\alpha,\beta\}$). We must have:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$ D = P \prod_{x \in X'} q_{x,1} + P \prod_{y \in Y'} q_{y,2} \leq 1$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$W_{\alpha}$ and $W_{\beta}$ cannot both belong to $X'$ (or $Y'$), otherwise:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$P \frac{1}{2b}*\frac{b}{2P}*\frac{1}{ \prod_{x \in X'\setminus \{\alpha,\beta\}} a_x} + \frac{P}{ \prod_{y \in Y'} a_y} \geq \frac{1}{4 \prod_{x \in X'\setminus \{\alpha,\beta\}} a_x}+1 &amp;gt; 1$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So suppose that weapon $W_{\alpha}$ is assigned to target 1 and $W_{\beta}$ to target 2; let $X = X' \setminus \{ \alpha \}, Y = Y' \setminus \{ \beta \}$; we must have:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$ P \frac{b}{2P} \prod_{x \in X} \frac{1}{a_x} + P\frac{1}{2b} \prod_{y \in Y} \frac{1}{a_y} \leq 1$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\mbox{if } z = \prod_{x \in X} a_x, \quad \frac{b}{2z} + \frac{z}{2b} \leq 1$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Multiplying both sides by the positive quantity $2bz$ we get:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$ b^2 + z^2 \leq 2bz$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$(b - z)^2 \leq 0$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So we must have $b = z = \prod_{x \in X} a_x$, so $X$ is a valid solution for the original SUBSET PRODUCT problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(P.S. Unfortunately, despite the hardness of this problem, the war between peoples seems to be a lot easier to start ...&quot;The day the power of love overrules the love of power, the world will know peace.&quot; [Mahatma Gandhi] ):&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="5693" LastEditDate="2013-12-14T19:23:54.850" LastActivityDate="2013-12-14T19:23:54.850" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20203" PostTypeId="1" AcceptedAnswerId="20204" CreationDate="2013-12-14T07:12:11.440" Score="2" ViewCount="161" Body="&lt;p&gt;Question description:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider the problem of finding a minimum $n$-color $k$-state one-dimensional cellular automata (minimizing $k$ for some fixed value of $n$ or vice versa), with communication between cells defined by a 3-neighbor von Neumann relation, that recreates some fixed-size spacetime history &quot;patch&quot; (&lt;a href=&quot;http://www.wolframscience.com/nksonline/page-960b-text&quot; rel=&quot;nofollow&quot;&gt;http://www.wolframscience.com/nksonline/page-960b-text&lt;/a&gt;) of an unknown cellular automata (e.g. some output of Wolfram's pseudorandom Rule 30 CA: &lt;a href=&quot;http://en.wikipedia.org/wiki/Rule_30&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/Rule_30&lt;/a&gt;) initiating from a known seed of some specified size and geometry and evolved for $t$ iterations.  Informally speaking, provided an array corresponding to an unknown n-color k-state CA evolved for a known number of iterations from a defined seed specifying initial conditions, can you provide me a sufficiently minimal CA to create given pattern (with the full understanding that there may be a diverse and non-unique set of solutions)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now let me make a strong (and possibly false) statement: &quot;There is no known computational complexity for this problem, and in the general case, exhaustive search must be employed over the set of all possible $n$-color $k$-state cellular automata (with communication between cells defined by a 3-neighbor von Neumann relation) to find a minimal cellular automata capable of recreating a specified spacetime history provided an initial seed of some defined size and geometry.  This is true even if we specify that $n = 2$, as for example Wolfram does for all of his elementary CA patterns.  This is true regardless of any guarantee about the properties of the initial seed as long as $r$, the number of cells in the seed, is $&amp;lt;&amp;lt;N$, the number of cells in the specified spacetime history.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To what extent is the above statement true, and are there any good literature references that make any strong statements about the computational complexity of this problem?  I've been able to find a lot of papers in the literature that talk about, say, using evolutionary algorithms to solve this so-called &quot;cellular automata inverse&quot; problem, but almost nothing that touches on the general case computational complexity of the problem.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Motivation: In Stephen Wolfram's &quot;New Kind of Science&quot;, the central argument of the book seems to be that one can &quot;mine the computational universe&quot; for cellular automaton rules that at least emulate everything from patterns appearing on seashells and stripes on a zebras, to local deterministic models of reality (proven aphysical in Scott Aaronson's review of NKS (section 3.2): &lt;a href=&quot;http://www.scottaaronson.com/papers/nks.pdf&quot; rel=&quot;nofollow&quot;&gt;http://www.scottaaronson.com/papers/nks.pdf&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Saying nothing about whether emulating some pattern or process in nature yields insight into the underlying rules for the process, I'd like to be able to say something specific about the &quot;hardness&quot; of trying to actually actually emulate some fixed sized pattern with a sufficiently simple $n$-color $k$-state CA.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Update: Why is this problem not the Configuration REachability Problem (CREP)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Quickly, and to simplify matters, I'd like to further specify that the one-dimensional CA we consider here should be deterministic in one direction, though not necessarily invertible (i.e. they could involve cumulative XOR calculations).  Initial conditions (i.e. seed values) are always defined.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, the Configuration REachability Problem (CREP) asks if a given cellular automaton in one state, $X$, can evolve in some number of iterations $t$ to reach a state $Y$.  This diverges from my question in two important ways:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(1) I'm not specifying a cellular automata.  The problem is to find one that is sufficiently simple to reproduce some provided (finite) spacetime history (i.e. where the number of states or colors is restricted or minimized).  This is not a straightforward decision problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(2) I'm interested in finding a CA that not only reaches the current state of a given spacetime history, but the entirety of the spacetime history.  For example, if I run Wolfram's Rule 30 for some number of iterations from a one-dimensional seed of length $L$, making a triangle with a pseudo-random pattern, I would then simply give you an array encoding this triangle, and your job would be to find a simple $n = 2$ state cellular automata (minimizing for colors) that reproduces the triangle starting from the same initialization conditions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In any case, for a deterministic one-dimensional CA starting from known initial conditions, determining reachability should be a matter of simply simulating the CA for a sufficiently time to generate the provided finite spacetime history.&lt;/p&gt;&#xA;" OwnerUserId="20676" LastEditorUserId="20676" LastEditDate="2013-12-15T09:53:11.010" LastActivityDate="2013-12-15T09:53:11.010" Title="Computational complexity of finding a (1D deterministic) CA that achieves a desired spacetime history &quot;patch&quot; after $t$ iterations" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;&lt;cellular-automata&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="20204" PostTypeId="2" ParentId="20203" CreationDate="2013-12-14T09:48:06.320" Score="2" Body="&lt;p&gt;The CONFIGURATION REACHABILITY PROBLEM:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a cellular automaton and a pair of configurations $\langle X,Y \rangle$; does exist an instant $t \geq 0$ such that starting from configuration $X$, the cellular automaton reaches configuration $Y$ after $t$ iterations?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;is PSPACE-complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you drop $t$ from the input then you can achieve any r.e. degree of unsolvability:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Theorem 3.1: For any recursively enumerable degree $d$ there is a one-dimensional celullar automaton whose Reachability  Problem for finite configurations is of degree $d$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=2371155&quot; rel=&quot;nofollow&quot;&gt;K. Sutner, Cellular Automata and Intermediate Reachability Problems&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm not an expert, but I think there are a lot of work on restricted classes of CAs, too; for example:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/002001909400169Y&quot; rel=&quot;nofollow&quot;&gt;Andrea Clementi and Russell Impagliazzo, The Reachability problem for finite cellular automata&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Abstract: &lt;em&gt;We investigate the complexity of the Configuration REachability Problem (CREP)&#xA;for two classes of finite weakly predictable cellular automata: the invertible and the&#xA;additive ones. In both cases we prove that CREP belongs to the &quot;Arthur-Merlin&quot;&#xA;class CoAM.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you give the full spacetime history then the problem seems easy.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a full spacetime history $X_1,X_2,...,X_t$ you want to find a CA having $k$-neighbourhood, $k \in \{ 1,\ldots,max\{|X_i|\}\}$ that reproduces it (with $k$ as little as possible).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The minimum number of colors $c$ needed are obviously the number of colors that appear in the history (because there are no missing iterations).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You start with $k=1$ (1-neighbourhood) and with an empty ruleset $R$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You examine each iteration from left to right and add to $R$ the required rules. For example if we have $c=2$ and during the scan of the $X_1\rightarrow X_2$ iteration you find:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;  X_1: ...122....&#xA;  X_2: ....1.....&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;then $R = R \cup \{ 122 \rightarrow 1 \}$.&#xA;During the scan of each iteration you check that the new rules added are not in conflict with those already in $R$, otherwise you restart with the first iteration, $R = \emptyset$ and $(k+1)$-neighbourhood.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you reach $X_t$ without conflicts the you can fill the missing rules randomly.&#xA;The resulting CA is minimal with respect to the given spacetime history.&#xA;The time complexity is $O(|n|^2)$ (assuming $O(1)$ access/update time to the current ruleset $R$).&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2013-12-15T09:35:10.963" LastActivityDate="2013-12-15T09:35:10.963" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="20205" PostTypeId="1" AcceptedAnswerId="20208" CreationDate="2013-12-14T13:23:44.333" Score="1" ViewCount="308" Body="&lt;p&gt;I am trying to find a fast algorithm to extract pairs that overlap with a specified interval.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Lets say I have a long list of pairs of integers, each pair (x1, x2) assuming x1 &amp;lt;= x2, (you can imagine them two points on the x-axis or on a timeline to visualise the problem better). Provided 2 other values V1, and V2, also assuming V1 &amp;lt;= V2, I want to extract the set of all pairs that satisfy at least &lt;strong&gt;one&lt;/strong&gt; of the following criteria.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;V1 &amp;lt;= x1 &amp;lt;= V2&lt;/li&gt;&#xA;&lt;li&gt;V1 &amp;lt;= x2 &amp;lt;= V2&lt;/li&gt;&#xA;&lt;li&gt;x1 &amp;lt;= V1 &amp;lt;= V2 &amp;lt;= x2&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;So intuitively what I need to extract is all interval pairs that overlap with V1 and V2, either partially (criteria 1 and 2) or completely (criteria 3).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I wish to find a fast way to extract them (I know this depends on how large the interval between V1 and V2 is). The solution I came up with so far is organising the pairs in a balanced binary search tree sorted with just x1 and traversing it for items that are x1 &amp;lt;= V2, and then checking the rest of the criteria as I am traversing the tree. I could also enhance it by adding another binary search tree sorted by x2 of the same pairs, and traversing similarly for pairs x2 &gt;= V1, and maybe using this tree instead when the V1, V2 interval is biased towards the right of the midpoint of the whole range of values of the pairs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there any better idea how I could achieve this? It seems I can only get O(n) complexity.&lt;/p&gt;&#xA;" OwnerUserId="20679" LastEditorUserId="20679" LastEditDate="2013-12-14T14:58:16.833" LastActivityDate="2013-12-14T18:45:51.570" Title="Fast extraction of pairs overlapping an interval" Tags="&lt;sorting&gt;" AnswerCount="1" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="20207" PostTypeId="1" CreationDate="2013-12-14T18:03:57.843" Score="9" ViewCount="397" Body="&lt;p&gt;I am a software engineer and I need a bit of clarification. The practical performance of algorithms is usually compared against models where arithmetic and dereferencing are instantaneous, such as RAM. The assumption is that the primary storage  already has the capacity to store and address the input, so it should be feasible to expect rapid performance on the words that encode the address space. This is reasonable, yet I think that the model may give equal footing to algorithms that perform inherently different amounts of work - such as returning a constant and mapping numbers (the latter is obviously more demanding in a non-Neumann architecture). Similarly, on a tangent topic, the development of parallel algorithms assumes infinitely parallel hardware, which does not take into account the spatial factors involved in a circuit design.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Furthermore, while contemporary machines provide integer-based addressing and while I see this as an arbitrary beneficial phenomenon, I don't think that there is fundamental need for our addresses to be effective quantities, with the corresponding constant-time arithmetic operations on them. So this may also influence the analysis of algorithms towards disbalance.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In view of the above, I have the following questions:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Are there operations, to our understanding, that we expect to be implemented efficiently in our fully featured (i.e. for practical evaluation) models of computation and why - arithmetic, or any polylogarithmic complexity operation (assuming the standard encodings), or any function that maps words, even finding the n-th prime number if it fits in a word. Why we choose particular operations, and could we choose others? Can we use a different encoding, not based on positional numerals as the medium of computation and gain some comparative benefits throughout?&lt;/li&gt;&#xA;&lt;li&gt;Is it conceivable that data structures and algorithms may be improved asymptotically if they were implemented directly as VLSI circuit designs? For example, is it theoretically conceivable that sorting and dynamic indexing (single-, multi-dimensional) of sets with variably-sized lexicographically ordered keys can be implemented more efficiently if we don't use RAM as our point of reference? Is there counterproof to that, proof, or conjecture?&lt;/li&gt;&#xA;&lt;li&gt;If improvements appear to be possible under 2, how the relationship between the model and the problem enable such improvements? For example, given a universe of keys for an indexing problem, how can we decide if a given model of computation (restricted by faithful correspondence to the VLSI design economics) is optimal, or a better model of computation exists (again feasible and faithful to VLSI economics, but different operations and implementation)?&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Thanks&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;PS:&lt;/strong&gt;&#xA;A similar issue with lock-free algorithms in my opinion is that they assume the underlying architecture provides atomic operations that scale perfectly with the number of cores and cpus. The interconnects and coherency protocols can not scale perfectly, so essentially the algorithms remain blocking. The algorithmic design optimally solves the problem with the resources provided by the model, but this does not answer which is the most optimal practically feasible hardware architecture for solving the original problem, and whether from this point of view the algorithm is actually optimal.&lt;/p&gt;&#xA;" OwnerUserId="20680" LastEditorUserId="20680" LastEditDate="2013-12-17T05:09:26.680" LastActivityDate="2013-12-17T05:09:26.680" Title="Fundamental assumptions in complexity analysis" Tags="&lt;ds.algorithms&gt;&lt;circuit-complexity&gt;&lt;time-complexity&gt;" AnswerCount="0" CommentCount="8" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="20208" PostTypeId="2" ParentId="20205" CreationDate="2013-12-14T18:45:51.570" Score="6" Body="&lt;p&gt;This is a standard geometric data structure problem, which can be solved by storing the intervals $(x_1, y_1), \dots, (x_n, y_n)$ in an &lt;a href=&quot;https://en.wikipedia.org/wiki/Interval_tree&quot;&gt;interval tree&lt;/a&gt;.  Then you can extract all the intervals $(x_i,y_i)$ overlapping a given query interval $(X,Y)$ in $O(\log n + k)$ time, where $k$ is the number of output intervals.&lt;/p&gt;&#xA;" OwnerUserId="111" LastActivityDate="2013-12-14T18:45:51.570" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="20209" PostTypeId="2" ParentId="20112" CreationDate="2013-12-14T20:25:00.623" Score="8" Body="&lt;p&gt;After extensive search, I found the Legitimate Vertex Deck problem (LVD) which is related to the famous &lt;a href=&quot;http://en.wikipedia.org/wiki/Reconstruction_conjecture&quot;&gt;Graph Reconstruction conjecture&lt;/a&gt;. A deck of graph $G(V, E)$ is a multi-set of graphs $F = \{G_1,G_2, . . . , G_n\}$ such that $G_i$ is isomorphic to $G−v_i$ ($G-v$ is a graph obtained from $G$ by removing $v$ and its incident edges). ($|V|=n$)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The k-LEGITIMATE VERTEX-SUBDECK problem, given multi-set of graphs $F= \{G_1,G_2, . . . , G_k\}$, Decide whether there is a graph $G$ such that $F$ is a subset of its vertex-deck (&lt;strong&gt;k-LVD&lt;/strong&gt; =$ \{[G_1, . . . , G_k]|(∃G)[[G_1, . . . , G_k] ⊆ vertex-deck(G)]\}$) &#xA;where $k \ge 3$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;k-LVD&lt;/strong&gt; problem is $GI$-hard and is not known to be $GI$-equivalent. It is open problem whether &lt;strong&gt;k-LVD&lt;/strong&gt; is $NP$-complete (for $k \ge 3$). See the open problems section of &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0166218X06002228&quot;&gt;Complexity results in graph reconstruction&lt;/a&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, the paper suggests the existence of a problem of intermediate complexity between $GI$ and &lt;strong&gt;k-LVD&lt;/strong&gt;. The problem is &lt;strong&gt;LVD&lt;/strong&gt;= &lt;strong&gt;n-LVD&lt;/strong&gt; where all $n$ candidate cards are given (Input for &lt;strong&gt;LVD&lt;/strong&gt; is $F= \{G_1,G_2, . . . , G_n \})$. &lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2013-12-17T08:12:20.053" LastActivityDate="2013-12-17T08:12:20.053" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20210" PostTypeId="1" AcceptedAnswerId="20226" CreationDate="2013-12-14T22:13:39.970" Score="4" ViewCount="267" Body="&lt;p&gt;Are there any applications of lattice-based algorithms other than those in cryptography and integer programming?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Could someone state a few papers where &#xA;the primary algorithms use lattice-based LLL algorithms?&lt;/p&gt;&#xA;" OwnerUserId="19570" LastEditorUserId="186" LastEditDate="2013-12-19T20:48:17.153" LastActivityDate="2013-12-19T20:48:17.153" Title="Lattice-based algorithms in practice" Tags="&lt;ds.algorithms&gt;&lt;integer-programming&gt;&lt;lattice&gt;" AnswerCount="2" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="20212" PostTypeId="1" CreationDate="2013-12-15T07:18:02.673" Score="3" ViewCount="1750" Body="&lt;p&gt;Consider a set of processes ($P=\{p_1, p_2,\dots, p_n \}$) and their data dependencies. Each process $p_i$ has an execution runtime which is denoted by $d_i$. We are interested to parallelize these processes on $k$ processors. Note that if process $p_i$ depends on process $p_j$ (which is denoted by $p_j \rightarrow p_i$), it cannot be executed until $p_j$ is finished so it can provide the necessary data that $p_i$ requires. Moreover, if processes $p_i$ and $p_j$ are assigned to different processors and $p_i \rightarrow p_j$, there is a delay associated for moving data from one processor to another. On the other hand, if processes $p_i$ and $p_j$ are assigned to one processor $p_i \rightarrow p_j$, the data can be provided to $p_i$ in zero time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now we want to divide these processes into $k$ partitions such that the overall execution time of them (i.e., their makespan) are minimized. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Please note that this problem is different from the standard graph partitioning problem since we are dealing with a DAG rather than an undirected graph. &quot;&lt;a href=&quot;http://www.sandia.gov/~tgkolda/pubs/bibtgkfiles/Parallel-Computing-2000.pdf&quot; rel=&quot;nofollow&quot;&gt;Graph partitioning models for parallel computing&lt;/a&gt;&quot; by Hendrickson and Kolda has pointed to the aforesaid problem but does not provide any solution to it.&lt;/p&gt;&#xA;" OwnerUserId="10990" LastEditorUserId="10990" LastEditDate="2013-12-15T20:53:37.740" LastActivityDate="2013-12-15T20:53:37.740" Title="DAG partitioning for parallel computing" Tags="&lt;graph-theory&gt;&lt;dc.parallel-comp&gt;&lt;partition-problem&gt;" AnswerCount="0" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="20213" PostTypeId="1" CreationDate="2013-12-15T10:28:56.357" Score="1" ViewCount="112" Body="&lt;p&gt;Note: This question is an extension of: &lt;a href=&quot;https://cstheory.stackexchange.com/questions/20203/computational-complexity-of-finding-a-1d-deterministic-ca-that-achieves-a-desi#20204&quot;&gt;Computational complexity of finding a (1D deterministic) CA that achieves a desired spacetime history &amp;quot;patch&amp;quot; after $t$ iterations&lt;/a&gt;, which Marzio De Biasi took time to answer in a very nice manner.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $S$ be a spacetime patch (&lt;a href=&quot;http://www.wolframscience.com/nksonline/page-960b-text&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://www.wolframscience.com/nksonline/page-960b-text&lt;/a&gt;) with $n$-colors corresponding to a one-dimensional deterministic cellular automata $(Q,\sigma)$.  I generate a reduced coloring spacetime patch $S_r$ by partitioning the $n$ colors in $S$ into subsets, and then repainting $S$ s.t. any two colors in the same subset will now have the same color.  For example, $S$ could have cells colored {Red, Green, Yellow, Blue}, but to generate $S_r$, we form the subsets {{Red}, {Green, Yellow, Blue}}, and repaint the Red cells WHITE, and the Green/Yellow/Blue cells BLACK.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Next, I tell you the value of $n$, i.e. the original number of colors in $S$, I explain how the colors were partitioned into subsets, and I define the strictly local communication rules between cells (e.g. I could say that communication between cells defined by a 3-neighbor von Neumann relation).  However, I only provide you the reduced coloration spacetime patch $S_r$.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Your task is to come up with an $n$-color $k$-state one-dimensional deterministic CA that accurately generates $S_r$ after some color partitioning and repainting procedure that (a) could be the same as the one I describe, or (b) could be something novel.  What is the computational complexity of your task?&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;My intuition says that this problem should become impractical to solve in the worst-case as the number of colors increases to somewhere between $n = 10$ to $100$, and where we have spacetime patches that sample a sufficiently large fraction of possible CA states.  Here, there should be a combinatoric explosion in the number of possible color assignments to the monochromatic neighborhoods in $S_r$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Admittedly this could be wrong, but if it is the case, it isn't clear to me what complexity class this problem should fall into.  Is it NP-complete but not PSPACE complete, for example?&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;For an example of what I'm trying to do, here's a deterministic one-dimensional CA with $n = 3$ colors initiating from random initial conditions:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.wolframalpha.com/input/?i=CA+3-color%2C+range+1%2C+rule+4594122302107&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://www.wolframalpha.com/input/?i=CA+3-color%2C+range+1%2C+rule+4594122302107&lt;/a&gt;&#xA;(5th &quot;sub-box&quot; down)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now imagine I repaint the cells in the spacetime patch shown in the above link, e.g. by taking the {0, 1, 2} colors, making the subsets {{0, 1}, {2}}, and then painting the 0 and 1 cells WHITE and the 2 cells BLACK.  Call this repainted spacetime patch $S_r$.  I then ask you to come up with an $n=3$ color CA that can reproduce the provided spacetime patch $S_r$ by running the CA for an appropriate number of iterations $t$ to generate a spacetime patch of the right size, and then performing a recoloration as you see fit.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You might be able to do the above without needing $n = 3$ colors.  If so, that's fantastic.  But in the worst case, you'll run into trouble, because we're restricting long-range communication between cells (i.e. cells can only communicate with their nearest-neighbors) so you'll encounter situations where there aren't enough states to get away with fewer colors.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Said differently, the number of global configurations for a deterministic one-dimensional CA is at most $n^j$ (or $n^j \times$ (number of possible CA rules) for all possible $n$-color 1D cellular automata) where $j$ is the number of cells in CA's initial state.  The total number of global configurations, the vast majority unreachable by the $n$-color CA, is $n^{(j*t)}$ where $j \times t$ is the size of the spacetime patch.  So more colors mean more possible CA configurations for the same size initial input, and thus, the repainted  $S_r$ could easily correspond to a global configuration that can't be reached by a CA with fewer than the number of colors used to generate the spacetime patch $S$ prior to the repainting procedure.&lt;/p&gt;&#xA;" OwnerUserId="20676" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2013-12-15T18:00:55.770" Title="Finding a cellular automaton that reproduces a finite-sized spacetime patch with reduced coloration" Tags="&lt;cc.complexity-theory&gt;&lt;cellular-automata&gt;" AnswerCount="0" CommentCount="12" ContentLicense="CC BY-SA 3.0" />
  <row Id="20215" PostTypeId="2" ParentId="20058" CreationDate="2013-12-15T12:26:54.283" Score="2" Body="&lt;p&gt;You can construct artificial examples by padding. For example, take an NP-hard language $L$ and pad it by zeroes to $L'=\{x0^{|x|^2}|x\in L\}$. Then the original instances form only a $2^{-n^2}$ fraction, and the answer to the fraction $1-2^{-n^2}$ of the instances is trivially &quot;no&quot; (no certificate is needed at all), yet the language remains NP-hard.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you look specifically at SAT and the uniform distribution, you need to specify a particular encoding of formulas into bit strings (it will change the effective distribution on formulas). See, for example, &lt;a href=&quot;http://www.math.tau.ac.il/~krivelev/SAT.ps&quot; rel=&quot;nofollow&quot; title=&quot;Frieze, Goerdt, Krivelevich&quot;&gt;the paper by Frieze, Goerdt, and Krivelevich&lt;/a&gt; on easy random SAT instances and short proofs of unsatisfiability.&lt;/p&gt;&#xA;" OwnerUserId="19643" LastEditorUserId="19643" LastEditDate="2013-12-15T13:15:05.080" LastActivityDate="2013-12-15T13:15:05.080" CommentCount="0" CommunityOwnedDate="2013-12-15T12:26:54.283" ContentLicense="CC BY-SA 3.0" />
  <row Id="20217" PostTypeId="1" CreationDate="2013-12-15T21:42:52.100" Score="9" ViewCount="268" Body="&lt;p&gt;I have a convex polyhedron $\mathcal{P}$, given by $n$ linear inequalities $a_i \cdot x \le c_i$ where $x$ is a $d$-dimensional vector over the non-negative real numbers.  In other words,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\mathcal{P} = \{x \in \mathbb{R}^d : \forall i . a_i \cdot x \le c_i, \forall j . x_j \ge 0\},$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where $a_1,\dots,a_n \in \mathbb{R}^d$ and $c_1,\dots,c_n$ are given.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm given $m$, where $m &amp;lt; n$.  I want to find a new convex polyhedron $\mathcal{Q}$ defined by $m$ linear inequalities, so that $\mathcal{Q}$ is contained within $\mathcal{P}$.  In other words, I want to find $b_1,\dots,b_m \in \mathbb{R}^d$ and $d_1,\dots,d_n$ such that the convex polyhedron&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\mathcal{Q} = \{x \in \mathbb{R}^d : \forall i . b_i \cdot x \le d_i, \forall j . x_j \ge 0\}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;is wholly contained within $\mathcal{P}$ ($\mathcal{Q} \subseteq \mathcal{P}$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So far, this is easy, but there is an objective function I am trying to minimize.  Fix vectors $\mu,\sigma \in \mathbb{R}^d$.  Let $X$ be a random variable over $\mathbb{R}^d$, where the $i$th component $X_i$ of $X$ has a $\mathcal{N}(\mu_i,\sigma_i^2)$ distribution, and where the $X_i$'s are mutually independent.  The &quot;badness&quot; of $\mathcal{Q}$ is given by $\Pr[X \in \mathcal{Q} \setminus \mathcal{P}]$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My goal: given $\mathcal{P}$ and $m,\mu,\sigma$, find a convex polyedron $\mathcal{Q}$ defined by $m$ linear inequalities that is contained within $\mathcal{P}$ and whose &quot;badness&quot; is as small as possible.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If there is no efficient solution to this optimization problem, I would be happy with an approximation algorithm or a heuristic.  In my application, I would expect to have $m,n \le 50$ or so (perhaps even smaller), but $d$ is large (say $d \approx 10^4$ or so).  Also, if a solution for the general problem is too hard, I would be satisfied with a solution for the special case where we are guaranteed that $a_i,c_i$ are all $\ge 0$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can you suggest any methods that might be effective for this problem?&lt;/p&gt;&#xA;" OwnerUserId="5038" LastEditorUserId="5038" LastEditDate="2013-12-16T01:31:02.920" LastActivityDate="2013-12-16T01:31:02.920" Title="Approximating a convex polyhedron, with fewer inequalities" Tags="&lt;cg.comp-geom&gt;&lt;approximation-algorithms&gt;&lt;linear-programming&gt;&lt;convex-geometry&gt;&lt;high-dimensional-geometry&gt;" AnswerCount="0" CommentCount="2" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="20218" PostTypeId="1" AcceptedAnswerId="20253" CreationDate="2013-12-16T03:14:19.733" Score="1" ViewCount="163" Body="&lt;p&gt;First thing first - I am not a CS guy. I am EE student (Systems and Signals). So it would help if you didn't use any big words :)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The Multi-terminal cut the input is a graph G and a subset T of its vertices. The task is to remove the minimum number of edges from G such that there is no path connecting any distinct vertices of T. Dalhaus et all showed that its NP-Hard for $k\ge 3$ for arbitrary.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Question - Why is this class of problem important? Do they show up in some engineering application.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A few years ago I found a simple algorithm proposed as an approximation of the Multi-terminal cut problem for arbitrary weighted slow-coherent graphs. (Strong connected components which are weakly connected with each other). I did a performance analysis of the algorithm from a linear algebra point of view and was able show that algorithm should be work for these classes of graphs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would like to take the algorithm and apply it to an application area and see how it fares compared to the &quot;standard&quot;.&lt;/p&gt;&#xA;" OwnerUserId="20697" LastActivityDate="2013-12-19T10:20:35.377" Title="Multi-Terminal Cuts - Applications and Verifying validity of an approximation algorithm" Tags="&lt;graph-algorithms&gt;&lt;approximation-algorithms&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20221" PostTypeId="1" AcceptedAnswerId="20261" CreationDate="2013-12-16T15:15:27.777" Score="3" ViewCount="454" Body="&lt;p&gt;What is &quot;the best&quot; algorithm to find the densest subgraph of size k?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;i.e. a subgraph of size k with the maximum number of edges inside for an unweighted and undirected graph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For fixed k, the straightforward brute-force algorithm takes $O(n^k)$ time with n the number of nodes. I'm looking for something, like $O(2^kn)$ or so. Maybe using a recursive algorithm or dynamic programming.&lt;/p&gt;&#xA;" OwnerUserId="20710" LastEditorUserId="20710" LastEditDate="2013-12-16T15:24:44.230" LastActivityDate="2017-02-12T14:12:43.653" Title="find the densest subgraph of size k" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;" AnswerCount="2" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="20223" PostTypeId="2" ParentId="20210" CreationDate="2013-12-16T20:11:20.520" Score="-3" Body="&lt;p&gt;Lattices are one abstraction for eventually consistent distributed computations. &lt;a href=&quot;https://www.cs.indiana.edu/~lkuper/papers/lvars-fhpc13.pdf&quot; rel=&quot;nofollow&quot;&gt;https://www.cs.indiana.edu/~lkuper/papers/lvars-fhpc13.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;How you would usefully apply LLL in this context would take some category theory foo to abstract it.&lt;/p&gt;&#xA;" OwnerUserId="2021" LastActivityDate="2013-12-16T20:11:20.520" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="20226" PostTypeId="2" ParentId="20210" CreationDate="2013-12-17T00:40:03.913" Score="8" Body="&lt;p&gt;If you look at the original paper by Lenstra, Lenstra, and Lovasz, you will see the following applications:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;factoring univariate polynomials over the rationals (the motivation for developing LLL basis reduction)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;efficient version of Dirichlet's classical diophantine approximation theorem: for rationals $a_1, \ldots, a_n$ and $\epsilon$, find in polynomial time integers $p_1, \ldots, p_n$, and $q$ such that &lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;\forall 1 \leq i \leq n: |qa_i - p_i| &amp;lt; \epsilon,&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;and $q&amp;lt; 2^{n(n+1)/4}\epsilon^{-n}.$ Dirichlet proved this without the $2^{n(n+1)/4}$ factor, but his proof is a pigeonhole argument (sometimes called Dirichlet's principle) and does not yield an efficient algorithm.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;efficiently find integer relations between rationals: given rationals $a_1, \ldots, a_n$ find integers $m_1, \ldots, m_n$ such that $\sum{m_i a_i}$ is minimized and the $m_i$ are not too large.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;You can also check out Oded Regev's &lt;a href=&quot;http://www.cims.nyu.edu/~regev/teaching/lattices_fall_2004/ln/lll.pdf&quot; rel=&quot;nofollow&quot;&gt;lecture notes&lt;/a&gt; which reference more applications. This &lt;a href=&quot;http://link.springer.com/chapter/10.1007/978-3-642-02295-1_6&quot; rel=&quot;nofollow&quot;&gt;book chapter by Hanrot&lt;/a&gt; gives details about quite a few applications of LLL to constructive versions of results in diophantine approximation.&lt;/p&gt;&#xA;" OwnerUserId="4896" LastEditorUserId="4896" LastEditDate="2013-12-17T18:47:16.247" LastActivityDate="2013-12-17T18:47:16.247" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="20228" PostTypeId="1" AcceptedAnswerId="20231" CreationDate="2013-12-17T04:43:44.817" Score="8" ViewCount="288" Body="&lt;p&gt;What is the fastest algorithm known for factoring polynomials with $n$ variables and total degree $\leq d$? Here, $n$ is growing and $d$ is fixed. Most work seem to consider the case when $d$ is growing and $n$ is fixed. I am interested in results both over finite fields and over rationals.&lt;/p&gt;&#xA;" OwnerUserId="15" LastActivityDate="2013-12-17T15:49:40.063" Title="Factoring low-degree polynomials" Tags="&lt;cc.complexity-theory&gt;&lt;algebra&gt;&lt;factoring&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20231" PostTypeId="2" ParentId="20228" CreationDate="2013-12-17T10:43:09.913" Score="8" Body="&lt;p&gt;Let $\mathbb K$ be a field of characteristic $0$ or at least $d(d-1)+1$, and $p\in\mathbb K[x_1,\dotsc,x_n]$ be a polynomial of total degree at most $d$. If $d$ is fixed and $n$ is growing, one has the following complexity bounds for the reduction of the factorization of $p$ to the factorization of a degree-$d$ univariate polynomial: (The notation $\tilde{\mathcal O}(\cdot)$ ignores logarithmic factors.)&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Deterministic algorithms:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$\tilde{\mathcal O}\left( \binom{n+d}{n}^4 \right)$ field operations, using naive multiplication algorithms;&lt;/li&gt;&#xA;&lt;li&gt;$\tilde{\mathcal O}\left( \binom{n+2d-2}{n-1} d^\omega \right)$ field operations, if fast multiplication algorithms are availaible, where $2&amp;lt;\omega\le 3$ is an admissible exponent for linear algebra.¹&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Probabilistic algorithms:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$\tilde{\mathcal O}\left(\binom{n+d}{n}\right)$ field operations, if fast multiplication algorithms are available.&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Then, one has to factorize a univariate degree-$d$ polynomial. The complexity of this step does not depend on $n$ anymore, so the above bounds remain valid for the complete factorization algorithms. The only difference is in positive characteristic: Since no deterministic polynomial-time algorithm is known to factor a univariate polynomial, even the deterministic reduction yield a probabilistic algorithm. Nonetheless, if $d$ is really fixed and small, one can replace the probabilistic polynomial-time algorithm by a deterministic exponential-time one. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that the probabilistic bound $\tilde{\mathcal O}\left(\binom{n+d}{n}\right)$ is optimal up to logarithmic factors since $\binom{n+d}{n}$ is the size of the input.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More details can be found in the paper &lt;strong&gt;&lt;a href=&quot;http://dx.doi.org/10.1016/j.jsc.2007.01.003&quot;&gt;Improved dense multivariate polynomial factorization algorithms&lt;/a&gt;&lt;/strong&gt; of Grégoire Lecerf (&lt;a href=&quot;http://lecerf.perso.math.cnrs.fr/publications/Lecerf:2005%3aidmpfa.pdf&quot;&gt;link without paywall&lt;/a&gt;). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another reference, especially for fields of small characteristic, is E. L. Kaltofen &amp;amp; G. Lecerf, &lt;strong&gt;Factorization of multivariate polynomials&lt;/strong&gt; (&lt;a href=&quot;http://www4.ncsu.edu/~kaltofen/bibliography/11/KL11.pdf&quot;&gt;link without paywall&lt;/a&gt;), chapter 11.5 of G. L. Mullen and D. Panario, editors, &lt;em&gt;&lt;a href=&quot;http://www.crcpress.com/product/isbn/9781439873786&quot;&gt;Handbook of finite fields&lt;/a&gt;&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;¹ The result needs to assume that $\omega&amp;gt;2$.&lt;/p&gt;&#xA;" OwnerUserId="976" LastEditorUserId="976" LastEditDate="2013-12-17T15:49:40.063" LastActivityDate="2013-12-17T15:49:40.063" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="20232" PostTypeId="1" CreationDate="2013-12-17T12:14:14.180" Score="1" ViewCount="97" Body="&lt;p&gt;Our input is a $(n+1)\times (n+1)$ table filled with some value (integer) for each leftmost and bottom cell $l_i,b_i$ as in the figure. &#xA;We wish to compute the value of all upper and rightmost cells $u_i$ and $r_i$ ($1\leq i\leq n$) &#xA;when each cell of the table is filled recursively according &#xA;to the equation $T(x,y)=T(x,y-1)+T(x-1,y)$ for each $x,y\geq 1$. &#xA;&lt;img src=&quot;https://i.stack.imgur.com/Ubuhd.jpg&quot; alt=&quot;picture to illustrate problem input&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we compute naively the $u_i,r_i$ by filling the table, or summing corresponding binomial coefficients, the complexity is $\Theta(n^2)$. &#xA;Is this a lower bound for the problem or is there any way to compute all $u_i, r_i$ in $o(n^2)$? &#xA;If so, does the technique extend to rectangular tables?&lt;/p&gt;&#xA;" OwnerUserId="20726" LastEditorUserId="20726" LastEditDate="2013-12-17T12:45:29.363" LastActivityDate="2013-12-17T12:45:29.363" Title="Complexity for computing weighted number of paths on integer lattice" Tags="&lt;ds.algorithms&gt;&lt;co.combinatorics&gt;&lt;integer-lattice&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="20234" PostTypeId="1" CreationDate="2013-12-17T16:24:12.243" Score="6" ViewCount="438" Body="&lt;p&gt;Given an undirected graph and an integer $B$, &#xA;we ask to find the minimum set of nodes &#xA;whose removal partitions the generated graph into connected components, &#xA;each having at most $B$ nodes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We can consider this to be a generalization of the minimum vertex cover, &#xA;where $B=1$, since deleting the vertex cover set of a graph $G$ gives an independent set, &#xA;i.e. partition G on connected component of no more than 1 node.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Are there similar problems in literature?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;This problem is NP-complete on general graphs. &#xA;Which known problem on graph theory help to study its (in)approximation?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;I want to study it on chordal graphs. &#xA;For which cases it may be polynomial and for which it is NP-complete?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="20733" LastEditorUserId="186" LastEditDate="2013-12-19T20:37:07.470" LastActivityDate="2013-12-19T20:37:07.470" Title="Graph partitioning by node deletion" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;&lt;np-hardness&gt;" AnswerCount="1" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="20236" PostTypeId="2" ParentId="18637" CreationDate="2013-12-17T21:09:48.263" Score="4" Body="&lt;p&gt;Regarding your last question: The paper &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.39.3761&quot; rel=&quot;nofollow&quot;&gt;Size-Depth Trade-offs for Threshold Circuits&lt;/a&gt; shows that the parity function requires depth-$d$ threshold circuits with $\ge n^{1+\epsilon(d)}$ wires, which is tight up to the function $\epsilon$.  But for gates not even $\Omega(n)$ lower bounds are known.&lt;/p&gt;&#xA;" OwnerUserId="259" LastActivityDate="2013-12-17T21:09:48.263" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20239" PostTypeId="1" CreationDate="2013-12-18T07:32:14.030" Score="1" ViewCount="128" Body="&lt;p&gt;I'm just started lecture myself about arrow's theorem. There are some problems which make me confused.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;ARROW'S THEOREM: Any constitution that respects transitivity, independence of irrelevant alternatives, and unanimity is a dictatorship.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is a kind of statement from john Geanakoplos' paper. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think unanimity+transitivity and independence of irrelevant alternatives are equivalent. For example:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;voter A: a&gt;b&gt;c&gt;d&#xA;voter B: a&gt;c&gt;b&gt;d&#xA;voter C: a&gt;d&gt;c&gt;b&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So we can conclude that everybody prefers a to b just according to unanimity and transitivity. And I think this conclusion implies independence of irrelevant alternatives. So if I drop the constraint of independence of irrelevant alternatives, Is this still right?&lt;/p&gt;&#xA;" OwnerUserId="16093" LastActivityDate="2013-12-18T15:55:46.250" Title="Some problems about arrow's theorem and social choice" Tags="&lt;gt.game-theory&gt;&lt;social-sciences&gt;" AnswerCount="1" CommentCount="5" ClosedDate="2013-12-25T20:30:39.777" ContentLicense="CC BY-SA 3.0" />
  <row Id="20241" PostTypeId="1" CreationDate="2013-12-18T11:04:31.953" Score="0" ViewCount="177" Body="&lt;p&gt;The problem is same as the title, given a Continous Stochastic Logic(CSL) formula how can we create a machine which accepts the formula? Any intuitive ideas or references will be appreciated. &lt;/p&gt;&#xA;" OwnerUserId="20751" LastActivityDate="2013-12-18T11:04:31.953" Title="Given a CSL formula, how can we generate an automaton that accepts the formula?" Tags="&lt;lo.logic&gt;&lt;model-checking&gt;" AnswerCount="0" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="20243" PostTypeId="1" CreationDate="2013-12-18T15:48:38.270" Score="3" ViewCount="241" Body="&lt;p&gt;I would like to generate points that are uniformly distributed over the SURFACE of a standard $k$-simplex ($k$ dimensions, $k+1$ vertices).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One way to efficiently generate points that are uniformly distributed over the ENTIRETY of the $k$-simplex is to generate samples of $k$ iid exponential random variables, $E_i$, $i\in \left[1,k\right]$, then normalize, and $\vec{X}=\frac{\left\langle E_1,E_2,\dots,E_k\right\rangle}{\sum_{i=1}^k E_i}$, will be uniformly distributed over the entire $k$-simplex.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My problem is that the probability that one of these points lands on the surface (i.e. at a vertex, or along a hyper-edge, or on hyper-face, etc.) is nearly $0$, so that in practice all of the points end up being in the INTERIOR of the $k$-simplex.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In an attempt to sample the SURFACE of the $k$-simplex I have considered each hyper-edge, hyper-face, etc. separately and generated uniformly distributed samples on each (since they are themselves lower dimensional simplices). However, the problem becomes computationally unfeasible as $k$ increases because the number of hyper-edges, hyper-faces, etc. blows up.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does anyone know of a method to explicitly generate samples that are uniformly distributed over the SURFACE (or BOUNDARY) of a standard $k$-simplex?&lt;/p&gt;&#xA;" OwnerUserId="20757" LastActivityDate="2014-07-12T05:47:46.820" Title="Generating points uniformly distributed over the SURFACE of a standard simplex" Tags="&lt;simplex&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="20244" PostTypeId="2" ParentId="20239" CreationDate="2013-12-18T15:55:46.250" Score="5" Body="&lt;p&gt;Unanimity and transitivity do no imply IIA.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, consider the Borda-count voting mechanism. There is an example of the violation of IIA &lt;a href=&quot;http://en.wikipedia.org/wiki/Independence_of_irrelevant_alternatives#Borda_count&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="7531" LastActivityDate="2013-12-18T15:55:46.250" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20245" PostTypeId="1" AcceptedAnswerId="33603" CreationDate="2013-12-18T17:28:35.990" Score="3" ViewCount="721" Body="&lt;p&gt;Given a bipartite graph $G = (U \sqcup V, E)$ with sets of vertices $U$ and $V$ and edge set $E \subseteq U \times V$, a &lt;em&gt;matching&lt;/em&gt; $M$ is a subset of $E$ whose edges have no common vertices: for all $(u, v)$ and $(u', v') \in M$, $u = u'$ or $v = v'$ implies $(u, v) = (u', v')$. A &lt;em&gt;maximum matching&lt;/em&gt; is a matching containing the maximum number of edges. It is immediate that a maximum matching is a matching achieving the minimal number of &lt;em&gt;unmatched&lt;/em&gt; vertices, where I say that $u \in U$ is unmatched in $M$ if there is no $(u', v') \in M$ such that $u = u'$, and likewise for $v \in V$. Hence, the minimal number of unmatched vertices in $G$ over all possible matchings of $G$, that I write $f(G)$, can be computed by finding a maximum matching, which can be done in polynomial time with, e.g., the &lt;a href=&quot;https://en.wikipedia.org/wiki/Hopcroft%E2%80%93Karp_algorithm&quot; rel=&quot;nofollow&quot;&gt;Hopcroft-Karp algorithm&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I now consider the following problem: from a bipartite graph $G = (U \sqcup V, E)$, what is the maximum, over all subsets $U'$ of $U$, of $f(G_{|U'})$? By $G_{|U'}$ I mean the bipartite graph which is the restriction of $G$ to $U'$, namely $G_{|U'} = (U' \sqcup V, \{(u, v) \in E \mid u \in U'\})$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is this problem NP-hard, or can it be solved in PTIME? On the one hand it seems related to &lt;a href=&quot;https://en.wikipedia.org/wiki/Set_cover&quot; rel=&quot;nofollow&quot;&gt;set cover&lt;/a&gt; or &lt;a href=&quot;https://en.wikipedia.org/wiki/Exact_cover&quot; rel=&quot;nofollow&quot;&gt;exact cover&lt;/a&gt; which are NP-hard, but on the other hand the subproblem of maximum matching is PTIME and maybe there is a clever way to identify what is the worst subset.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To motivate this problem, here is a rephrasing in terms of &lt;a href=&quot;https://en.wikipedia.org/wiki/Assignment_problem&quot; rel=&quot;nofollow&quot;&gt;assignments&lt;/a&gt; of agents to tasks. $U$ is a set of tasks, $V$ a set of agents, and $E$ indicates which agents can perform which tasks. A matching is a way of assigning tasks to agents such that each agent does at most one task and each task is done by at most one agent. The cost measure is the number of unmatched vertices, namely the number of undone tasks plus the number of unoccupied agents. I want to know what is my worst possible cost in this sense, over all subsets of the tasks (think of $U$ as a set of possible tasks from which an arbitrary subset will be requested, and $V$ as a fixed set of agents that I cannot adjust but which I can allocate freely once a subset has been requested).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To see why this problem is not trivial, observe that choosing the empty subset $\emptyset \subseteq U$ yields a cost of $|V|$ (the cost of leaving all agents unoccupied), the complete subset $U \subseteq U$ yields a certain cost and may be the worst if e.g. $|U|$ is much larger than $|V|$, but in general my best solution may be to choose a subset of $U$ which retains the tasks than can be done by only few agents (so that many of them will have to remain undone as each of those agents can do only one task) but would not retain the tasks that can be done by otherwise unoccupied agents (so that those agents remain unoccupied and contribute to the cost).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If this problem is in PTIME, I am also interested to know if the following weighted version is also PTIME: each vertex and each edge has a weight, the cost of a matching is the sum of the weights of the unmatched vertices plus the sum of the weights of the retained edges, and I want again to find the subset of $U$ with the worst minimal cost in this sense. In the vocabulary of the assignment problem, this means that each task and each agent has an individual cost of remaining undone or unoccupied, and assigning a task to an agent is not free anymore but carries a certain cost indicated on the edge.&lt;/p&gt;&#xA;" OwnerUserId="4795" LastEditorUserId="4795" LastEditDate="2013-12-19T01:04:15.020" LastActivityDate="2016-01-19T00:54:27.493" Title="Subset of a bipartite graph with maximal number of minimal unmatched vertices" Tags="&lt;ds.algorithms&gt;&lt;graph-algorithms&gt;&lt;co.combinatorics&gt;&lt;optimization&gt;&lt;matching&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="20246" PostTypeId="1" CreationDate="2013-12-18T19:46:39.417" Score="19" ViewCount="10681" Body="&lt;p&gt;How can I go about determining the number of unique simple paths within an undirected graph? Either for a certain length, or a range of acceptable lengths.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Recall that a simple path is a path with no cycles, so I'm talking about counting the number of paths with no cycle.&lt;/p&gt;&#xA;" OwnerUserId="20759" LastEditorUserId="5038" LastEditDate="2013-12-23T05:50:01.150" LastActivityDate="2017-01-17T02:21:56.847" Title="Counting the Number of Simple Paths in Undirected Graph" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;counting-complexity&gt;" AnswerCount="3" CommentCount="3" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="20247" PostTypeId="1" AcceptedAnswerId="20302" CreationDate="2013-12-18T21:01:46.567" Score="2" ViewCount="916" Body="&lt;p&gt;I have a bipartite graph $G$ with two sets of vertices $X$ and $Y$, where the degree of each vertex in $X$ is exactly $M$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I now must remove some of the edges to ensure that, after removal, no vertex in $Y$ will have a degree larger than $1$.  I want to choose a way to remove the edges so that as many vertices in $X$ have degree at least $N$ (where $N$ is given to me, $N \le M$).  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;How can I find the maximum number of vertices in $X$ whose degree will be at least $N$ after removal, subject to the restriction that after removal no vertex in $Y$ should have degree larger than $1$?&lt;/p&gt;&#xA;" OwnerUserId="17147" LastEditorUserId="17147" LastEditDate="2013-12-30T13:55:42.360" LastActivityDate="2013-12-30T13:55:42.360" Title="Remove edges from bipartite graph subject to degree restrictions" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;" AnswerCount="2" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="20248" PostTypeId="2" ParentId="20246" CreationDate="2013-12-18T22:27:04.893" Score="19" Body="&lt;p&gt;It's #P-complete (Valiant, 1979) so you're unlikely to do a whole lot better than brute force, if you want the exact answer. Approximations are discussed by Roberts and Kroese (2007).&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;B. Roberts and D. P. Kroese, &quot;&lt;a href=&quot;http://jgaa.info/accepted/2007/RobertsKroese2007.11.1.pdf&quot;&gt;Estimating the number of $s$--$t$ paths in a graph&lt;/a&gt;&quot;. &lt;em&gt;Journal of Graph Algorithms and Applications&lt;/em&gt;, 11(1):195-214, 2007.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;L. G. Valiant, &quot;&lt;a href=&quot;http://epubs.siam.org/doi/abs/10.1137/0208032&quot;&gt;The complexity of enumeration and reliability problems&lt;/a&gt;&quot;. &lt;em&gt;SIAM Journal on Computing&lt;/em&gt; 8(3):410-421, 1979.&lt;/p&gt;&#xA;" OwnerUserId="17082" LastActivityDate="2013-12-18T22:27:04.893" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="20250" PostTypeId="2" ParentId="20234" CreationDate="2013-12-19T06:36:52.683" Score="4" Body="&lt;p&gt;The problem that you are describing seems to be a variation of a critical node detection problem. In general, most critical node detection problems aim to identify a set of at most $B$ nodes (or if you are considering the weighted case, a set of nodes with a weighted sum of at most $B$ ) whose deletion results in the maximum disruption of a given property of the graph. In many of the papers that you can find in the literature, the property that is being disrupted often represents a measure of how well connected the residual graph is. For instance, such property may account for the total number of node pairs that remain connected, the number of maximally connected components, or the size of the largest connected component after the critical nodes are removed (you can also search for node interdiction or node blocker problems for other versions). Some references are: Arulslevan et al [1], Shen et al [2], Di Summa et al [3], Addis et al [4], Oosten et al [5] among others. There is also a very short survey [7] on some of these problems. Although, several other papers have been published after that chapter was in press. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;These problems are indeed NP-Hard for general graphs. However, there are some polynomially solvable cases (trees and series-parallel graphs, see [3], [4], and [6]). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the version that you mention, which is somehow a complement of the above problems (instead of maximizing the disruption, you minimize the number of critical nodes to achieve the desired disruption) there is an article that proves inapproximability for the version of the problem in which the disrupted property is the total number of pairwise connections [8]. Your intuition is correct, vertex cover is commonly used to as a steeping stone. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If have some other questions or ideas, you can send me an email. This is one of my research interests. I will be happy to provide you with more ideas and to collaborate. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is also something to keep in mind. These problems lay in the intersection of several fields, so there may be some similar versions with different names (I have found problems that belong to the same family, like graph separators, pivotal vertices, and articulation points).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1]: Detecting critical nodes in sparse graphs&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2]: Exact interdiction models and algorithms for disconnecting networks via node deletions&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[3]: Complexity of the critical node problem over trees&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[4]: Identifying critical nodes in undirected graphs: Complexity results and polynomial algorithms for the case of bounded treewidth&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[5]: Disconnecting graphs by removing vertices: A polyhedral approach&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[6]: Polynomial-time algorithms for solving a class of critical node problems on trees and series-parallel graphs&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[7]: Selected Topics in Critical Element Detection&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[8]: On New Approaches of Assessing Network Vulnerability: Hardness and Approximation&lt;/p&gt;&#xA;" OwnerUserId="20767" LastActivityDate="2013-12-19T06:36:52.683" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="20251" PostTypeId="2" ParentId="20246" CreationDate="2013-12-19T09:21:03.707" Score="21" Body="&lt;p&gt;There are several algorithms that count the simple paths of length $k$ in $f(k)n^{k/2+O(1)}$ time, which is a whole lot better than brute force ($O(n^k)$ time). See e.g. &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.156.345&quot;&gt;Vassilevska and Williams, 2009&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="679" LastActivityDate="2013-12-19T09:21:03.707" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20252" PostTypeId="1" CreationDate="2013-12-19T09:29:50.857" Score="5" ViewCount="178" Body="&lt;p&gt;Call a discrete logarithm algorithm functoral if the commutative algebraic object that the algorithm acts on can be changed with another commutative object in the same category and the algorithm does not asymptotically slowdown.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Why is it difficult to develop a single functoral discrete logarithm (classical) algorithm that works on all commutative groups?&lt;/p&gt;&#xA;" OwnerUserId="1812" LastEditorUserId="1812" LastEditDate="2013-12-19T22:49:20.930" LastActivityDate="2013-12-19T22:49:20.930" Title="Why is it difficult to develop a subexponential functoral approach to discrete log" Tags="&lt;ds.algorithms&gt;&lt;algebra&gt;" AnswerCount="1" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="20253" PostTypeId="2" ParentId="20218" CreationDate="2013-12-19T10:20:35.377" Score="2" Body="&lt;p&gt;The multi-terminal cut problem (which is also known as the &lt;em&gt;multiway cut&lt;/em&gt; problem) has many important applications. In the more general setting, each edge $e$ has a cost $c_e \ge 0$. The goal is to remove a minimum cost set of edges such that in the resulting graph there is no path between any two vertices in $T$. Here is an application in distributed computing.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Each vertex represents an object, and an edge $e$ of cost $c_e$ between them represents the cost of communication between the objects. The objects have to be partitioned to reside on $k$ different machines, with special object $s_i$ residing on the $i^{th}$ machine. The goal is to partition the objects residing on the $k$ machines in such a way that the communication cost between the machines is minimized.&lt;/p&gt;&#xA;" OwnerUserId="9569" LastActivityDate="2013-12-19T10:20:35.377" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20259" PostTypeId="2" ParentId="20252" CreationDate="2013-12-19T20:21:51.890" Score="8" Body="&lt;p&gt;The reason that sub exponential algorithms for the discrete log in $\mathbb{Z}/p\mathbb{Z}$ do not carry over to groups based on elliptic curves is because $\mathbb{Z}/p\mathbb{Z}$ has extra structure that doesn't seem to be present in elliptic curve groups.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In particular, $\mathbb{Z}/p\mathbb{Z}$ has both addition and multiplication, whereas the elliptic curve groups have only one operation.  The sub exponential algorithms for the discrete log in $\mathbb{Z}/p\mathbb{Z}$ make essential use of this: the extra structure allows us to define the notion of a smooth integer.  A smooth integer is an integer that factors into small primes; here the notion of &quot;small&quot; makes use of this additional structure (namely, the addition operation).  This notion of smoothness is critical to the effectiveness of the sub exponential algorithms for $\mathbb{Z}/p\mathbb{Z}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any discrete log algorithm that relies upon &quot;smoothness&quot; (or this additional structure) is therefore not going to be &quot;functoral&quot;.  A consequence is that the best existing techniques we know of for computing the discrete log in $\mathbb{Z}/p\mathbb{Z}$ are not functoral and do not carry over to elliptic curve groups.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Why is it hard to develop an efficient functoral algorithm for the discrete log in $\mathbb{Z}/p\mathbb{Z}$?  Because if you want it to be functoral, you're disallowing use of smoothness, which is essential to all known techniques.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See, e.g., &lt;a href=&quot;http://en.wikipedia.org/wiki/Index_calculus_algorithm&quot;&gt;http://en.wikipedia.org/wiki/Index_calculus_algorithm&lt;/a&gt; and &lt;a href=&quot;http://en.wikipedia.org/wiki/Number_field_sieve&quot;&gt;http://en.wikipedia.org/wiki/Number_field_sieve&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Here is a second hurdle to functoral algorithms.  There are known lower bounds on the discrete log problem in &quot;black box&quot; groups.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A black box group is one where we do not have an explicit representation of group elements.  Instead, all we have are a few black boxes: a black box that, given two group elements, returns their product; a black box that, given a group element, returns its inverse; a black box that returns a random element of the group; and so on.  In particular, in a black box group, you cannot do something like &quot;look at the third bit of the representation of the group element and branch based upon whether it is 1 or 0&quot;.  You also can't access any additional structure (since you're only given a black box for the group operation; it's a black box group, not a black box ring).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In this setting, it is known that, if the group is of order $p$ where $p$ is a prime, there is no generic algorithm for the discrete log whose running time is better than $\Theta(\sqrt{p})$.  I'm not 100% clear on how you plan to define &quot;functoral&quot;, but it looks to me like this implies you cannot expect a functoral algorithm whose running time is sub exponential.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See, e.g., the following paper:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.shoup.net/papers/dlbounds1.pdf&quot;&gt;Lower Bounds for Discrete Logarithms and Related Problems&lt;/a&gt;.  Victor Shoup.  EUROCRYPT '97.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="5038" LastEditorUserId="5038" LastEditDate="2013-12-19T20:51:00.347" LastActivityDate="2013-12-19T20:51:00.347" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="20260" PostTypeId="2" ParentId="16244" CreationDate="2013-12-19T22:18:48.733" Score="5" Body="&lt;p&gt;First of all is the known weaker result $NL\neq PSPACE$ or the stronger conjecture $NP\neq coNP$ possible laws of nature? Then we can ask questions about if $P\neq NP$ is a law of nature.&lt;/p&gt;&#xA;" OwnerUserId="1812" LastEditorUserId="1812" LastEditDate="2013-12-21T14:58:31.123" LastActivityDate="2013-12-21T14:58:31.123" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="20261" PostTypeId="2" ParentId="20221" CreationDate="2013-12-19T22:36:18.300" Score="9" Body="&lt;p&gt;An answer to your problem tells you whether there exists a clique of size k. So, any such algorithm for your problem must be at least as slow as clique algorithms. See the &lt;a href=&quot;https://en.wikipedia.org/wiki/Clique_problem#Fixed-parameter_intractability&quot;&gt;wikipedia section on FPT and clique&lt;/a&gt; for more.&lt;/p&gt;&#xA;" OwnerUserId="13056" LastActivityDate="2013-12-19T22:36:18.300" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20262" PostTypeId="1" CreationDate="2013-12-19T23:55:27.403" Score="10" ViewCount="1218" Body="&lt;p&gt;Is a CNF SAT problem NP hard when the total number (but not the width) of the 3-or-more-term clauses is bounded above by a constant?  What about specifically when there's only one such clause?&lt;/p&gt;&#xA;" OwnerUserId="13643" LastEditorUserId="13643" LastEditDate="2013-12-20T00:06:45.330" LastActivityDate="2013-12-20T13:05:19.703" Title="Is Almost-2-SAT NP-hard?" Tags="&lt;np-hardness&gt;&lt;sat&gt;&lt;upper-bounds&gt;" AnswerCount="2" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="20264" PostTypeId="2" ParentId="20262" CreationDate="2013-12-20T00:38:07.840" Score="8" Body="&lt;p&gt;Ok, I got it.  The answer is no.  This can be solved in poly-time.  For each 3-or-more-term clause, select a literal and set it to be true.  Then solve the remaining 2-sat problem.  If any one provides a solution, then that is a solution to the overall problem.  Since the number of 3-or-more-term clauses is fixed (say c), then if all such clauses have size &amp;lt;= m, then this runs in O(m^(c)*n).  O(m^c) for going through each possible selection, times O(n) for solving the remaining 2-sat problem.&lt;/p&gt;&#xA;" OwnerUserId="13643" LastActivityDate="2013-12-20T00:38:07.840" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="20265" PostTypeId="2" ParentId="11696" CreationDate="2013-12-20T01:06:28.687" Score="0" Body="&lt;p&gt;Holm et. al's algorithm works with an arbitrary number of vertices, though it isn't so clear from the description.  The main difficulty in their presentation is how they label the levels of the forest.  If instead of setting the largest level forest to $F_{lg(n)}$, you start counting from $F_0$ up and modify invariant 2 such that every tree in level i has size at most $\frac{n}{2^i}$ instead of $2^i$, then there is no longer a bound on the number of vertices in the graph and you can freely insert and delete them as you choose.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For an example implementation of this (in JavaScript) you can take a look a the following GitHub repository:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://github.com/mikolalysenko/dynamic-forest&quot; rel=&quot;nofollow&quot;&gt;https://github.com/mikolalysenko/dynamic-forest&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="559" LastActivityDate="2013-12-20T01:06:28.687" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20266" PostTypeId="1" CreationDate="2013-12-20T03:02:49.720" Score="-3" ViewCount="572" Body="&lt;p&gt;Let's say you use Kruskal's or Prim's algorithm to compute the first MST, and you want to check to see if there are other MSTs. I can do this in O(E/V) time. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The algorithm uses a priority queue (which can be constructed in O(N) ). Kruskal's and Prim's already use priority queues, but they're slower than the linear time algorithms listed below. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I know there are already algorithms that can find a single MST in linear time: &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;A randomized algorithm can solve it in linear expected time. [Karger, Klein, and Tarjan, &quot;A randomized linear-time algorithm to find minimum spanning trees&quot;, J. ACM, vol. 42, 1995, pp. 321-328.]&lt;/li&gt;&#xA;&lt;li&gt;It can be solved in linear worst case time if the weights are small integers. [Fredman and Willard, &quot;Trans-dichotomous algorithms for minimum spanning trees and shortest paths&quot;, 31st IEEE Symp. Foundations of Comp. Sci., 1990, pp. 719--725.]&lt;/li&gt;&#xA;&lt;li&gt;Otherwise, the best solution is very close to linear but not exactly linear. The exact bound is O(m log beta(m,n)) where the beta function has a complicated definition: the smallest i such that log(log(log(...log(n)...))) is less than m/n, where the logs are nested i times. [Gabow, Galil, Spencer, and Tarjan, Efficient algorithms for finding minimum spanning trees in undirected and directed graphs. Combinatorica, vol. 6, 1986, pp. 109--122.]&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I'm not sure if these algorithms use priority queues. It doesn't really matter since I could just use one of these algorithms to find the first MST in O(N) then construct a priority queue in O(N) then find all the other MSTs in O(E/V). Overall, this would take O(N). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I just came up with this algorithm for a class assignment. The algorithm my TA used to find multiple MSTs took O(N^2) or O(N^3), and so he said I should try to see if this is publishable. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit: I realized my algorithm only finds some of the MSTs in O(E/V). To be more specific: &#xA;on all graphs, it finds some additional MSTs within time O(E/V), and I'm not sure how to find all possible MSTs. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The input to the algorithm is: &#xA; 1. an MST (a list of Edge objects. Edge.weight, Edge.vertex1 and Edge.vertex2 are fields of the object). &#xA; 2. A graph (a list of Edges and Verteces).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The output (for all graphs) is &lt;em&gt;some&lt;/em&gt; (but not all) of its MSTs. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT&lt;/strong&gt;: I talked to one of the other TA's about this, and he discovered a flaw in my proof. Sorry for getting excited about this. &lt;/p&gt;&#xA;" OwnerUserId="20780" LastEditorUserId="20780" LastEditDate="2013-12-22T03:17:01.193" LastActivityDate="2013-12-22T03:17:01.193" Title="I found an algorithm for computing multiple MSTs in O(E/V). Is this publishable?" Tags="&lt;graph-algorithms&gt;" AnswerCount="1" CommentCount="10" FavoriteCount="0" ClosedDate="2013-12-22T17:28:10.723" ContentLicense="CC BY-SA 3.0" />
  <row Id="20267" PostTypeId="1" AcceptedAnswerId="20272" CreationDate="2013-12-20T04:37:09.740" Score="18" ViewCount="1112" Body="&lt;p&gt;Presently I am doing literature survey on Graph isomorphism (GI) problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would like to know some open questions related to the following  &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;What are the graph parameters for which fixed parameter tractability of GI is an open problem. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;What are the graph parameters, by fixing them polynomial time solvability of GI is not known.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Complexity of GI when restricted to many graph classes is equivalent to general GI (GI-Completeness). What are the graph classes for which GI-completeness is not known. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Thank you.&lt;/p&gt;&#xA;" OwnerUserId="14028" LastActivityDate="2014-10-08T14:34:52.667" Title="Open problems related to Graph isomorphism" Tags="&lt;graph-isomorphism&gt;&lt;fixed-parameter-tractable&gt;" AnswerCount="4" CommentCount="2" FavoriteCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="20270" PostTypeId="2" ParentId="20262" CreationDate="2013-12-20T13:05:19.703" Score="15" Body="&lt;p&gt;It is worth noting that the problem becomes NP-hard when the restriction is relaxed slightly.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;With a fixed number of clauses that are also of bounded size, the average number of literals in a clause is as close to 2 as one wants, by considering an instance with enough variables.  As you point out, there is then a simple upper bound which is polynomial if the clause size is bounded.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In contrast, if the average number of literals per clause is at least $2 + \epsilon$ for some fixed (but arbitrarily small) $\epsilon &amp;gt; 0$, then the problem is NP-hard.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This can be shown by reducing 3SAT to this problem, by introducing new clauses with 2 literals that are trivially satisfiable.  Suppose there are $m$ clauses in the 3SAT instance; to reduce the average clause size to $(2+\epsilon)$, it is enough to add $m(1 - \epsilon)/\epsilon$ new clauses with two literals.  Since $\epsilon$ is fixed and positive, the new instance is of polynomial size.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This reduction also shows that even the version where the &quot;large&quot; clauses are restricted to 3 literals is NP-hard.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The remaining case is when the few large clauses are not of bounded size; each large clause seems to make the problem harder.  See the SODA 2010 paper by Pǎtraşcu and Williams for the case of two clauses: they argue that if this can be done in sub-quadratic time then we would have better algorithms for SAT.  There might be an extension of their argument to more clauses, which would provide evidence that your upper bound cannot be improved (modulo some form of the exponential time hypothesis).&lt;/p&gt;&#xA;" OwnerUserId="109" LastActivityDate="2013-12-20T13:05:19.703" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="20271" PostTypeId="2" ParentId="20267" CreationDate="2013-12-20T13:50:20.543" Score="5" Body="&lt;p&gt;For the third question: The survey paper of Brandstadt, Le, and Spinrad, Graph Classes: A Survey, SIAM, 1999, contains several graph classes for which GI-completeness is not known. One such class is &lt;a href=&quot;https://dspace.jaist.ac.jp/dspace/bitstream/10119/4896/1/C3941.pdf&quot; rel=&quot;nofollow&quot;&gt;trapezoid graphs&lt;/a&gt;. Another class is circular arc graphs which is mentioned as open problem in the introduction of the paper, &lt;a href=&quot;http://www.mdpi.com/1999-4893/6/1/60&quot; rel=&quot;nofollow&quot;&gt;Tractabilities and Intractabilities on Geometric Intersection Graphs&lt;/a&gt; by Uehara.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT&lt;/strong&gt;: The Graph Isomorphism problem for tournaments is not known to be GI-complete.&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2014-10-08T13:28:31.837" LastActivityDate="2014-10-08T13:28:31.837" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20272" PostTypeId="2" ParentId="20267" CreationDate="2013-12-20T13:57:23.217" Score="13" Body="&lt;p&gt;For the first question: Graph Isomorphism has been considered for at least the following parameters for which fixed-parameter tractability is still open.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;pathwidth / treewidth (see [2], has been asked &lt;a href=&quot;https://cstheory.stackexchange.com/questions/19699/fpt-algorithm-for-partial-k-tree-isomorphism&quot;&gt;here&lt;/a&gt;), maybe solved: &lt;a href=&quot;http://arxiv.org/abs/1404.0818&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://arxiv.org/abs/1404.0818&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;cutwidth / bandwidth [1]&lt;/li&gt;&#xA;&lt;li&gt;treewidth-k vertex deletion set size (feedback vertex set number in [7])&lt;/li&gt;&#xA;&lt;li&gt;tree / path distance width (see [1]), &lt;strike&gt;connected tree distance width (see [3], however you can get quite close to the last one, see section 6.4. of my &lt;a href=&quot;http://www.informatik.hu-berlin.de/forschung/gebiete/algorithmenII/mitarbeiter/fuhlbrueck/diplomarbeit-fuhlbrueck-rev1.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;diploma thesis&lt;/a&gt; ) &lt;/strike&gt;: solved by Y. Otachi  and P. Schweitzer : &lt;a href=&quot;http://arxiv.org/abs/1403.7238&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://arxiv.org/abs/1403.7238&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;clique-width / shrub-depth (or SC-depth) (see [&lt;a href=&quot;http://www.fi.muni.cz/~hlineny/res-en.html#recent&quot; rel=&quot;nofollow noreferrer&quot;&gt;4&lt;/a&gt;])&lt;/li&gt;&#xA;&lt;li&gt;maximum degree [5]&lt;/li&gt;&#xA;&lt;li&gt;genus [6] / crossing number [8]&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Note that there is active ongoing research for some them.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] : K. Yamazaki, H. L. Bodlaender, B. de Fluiter and D. M. Thilikos. Isomorphism&#xA;for graphs of bounded distance width. Algorithmica 24.2 (1999)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] : H. L. Bodlaender. Polynomial algorithms for graph isomorphism and chro-&#xA;matic index on partialk-trees. Journal of Algorithms 11.4 (1990)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[3] : Y. Otachi. Isomorphism for Graphs of Bounded Connected-Path-Distance-&#xA;Width. Algorithms and Computation. Springer, 2012&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[&lt;a href=&quot;http://www.fi.muni.cz/~hlineny/res-en.html#recent&quot; rel=&quot;nofollow noreferrer&quot;&gt;4&lt;/a&gt;] : &lt;a href=&quot;http://www.fi.muni.cz/~hlineny/res-en.html#recent&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://www.fi.muni.cz/~hlineny/res-en.html#recent&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[5] : L. Babai and E. M. Luks. Canonical labeling of graphs. STOC '83.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[6] : I. S. Filotti and J. N. Mayer. A polynomial-time algorithm for determining the&#xA;isomorphism of graphs of fixed genus. STOC '80 / &#xA;G. Miller. Isomorphism testing for graphs of bounded genus. STOC '80 &lt;/p&gt;&#xA;&#xA;&lt;p&gt;[7] : S. Kratsch and P. Schweitzer. Isomorphism for graphs of bounded feedback vertex set number. SWAT 2010 &lt;/p&gt;&#xA;&#xA;&lt;p&gt;[8] : &lt;a href=&quot;http://math.mit.edu/news/summer/SPURprojects/2012Velednitsky.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://math.mit.edu/news/summer/SPURprojects/2012Velednitsky.pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="13836" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2014-05-05T15:40:37.570" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="20273" PostTypeId="1" CreationDate="2013-12-20T16:07:39.933" Score="2" ViewCount="1597" Body="&lt;p&gt;What are the differences between Quantum Computing and Parallelism?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;thanks in advance&lt;/p&gt;&#xA;" OwnerUserId="17629" LastActivityDate="2013-12-20T17:41:33.747" Title="Differences between Quantum Computing and Parallelism" Tags="&lt;quantum-computing&gt;&lt;dc.parallel-comp&gt;" AnswerCount="1" CommentCount="7" FavoriteCount="2" ClosedDate="2014-04-29T22:14:03.590" ContentLicense="CC BY-SA 3.0" />
  <row Id="20275" PostTypeId="2" ParentId="20273" CreationDate="2013-12-20T17:01:16.173" Score="11" Body="&lt;p&gt;The essential difference between quantum computation and parallelism is &lt;em&gt;for the most part&lt;/em&gt; the same as between &lt;em&gt;randomized&lt;/em&gt; computation (e.g. using coin-flips, or some other form of random number generation) and parallelism.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In randomized computation, depending on the outcome of the coin-flips, you explore one out of many possible computational possibilities. If the &lt;em&gt;vast majority&lt;/em&gt; of those paths give quickly rise to a particular answer, then that is the answer. In quantum computation, one is tempted to consider these different computational possibilities as being more &quot;real&quot; than in randomized computation, for the reason that we can cause them to cancel each other out &amp;mdash; which seems a little as though the different computational possibilities are distinct processes which communicate with one another to collaboratively give an answer. However, while these different computational paths do interfere, they do not &lt;em&gt;interact&lt;/em&gt;: a partial answer in one cannot be communicated to another, and as with the purely randomized computation, we cannot choose which one we &lt;em&gt;observe&lt;/em&gt; &amp;mdash; that is chosen at random from among the possibilities whose amplitudes haven't been cancelled out. In the end, the result is (as with randomized computation) taken as a sort of uncontrolled democratic vote between different so-called &quot;computational branches&quot;, with only a small chance of an upset due to getting the answer from a small minority of computations which cast the objecting vote.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By contrast, in a truly parallel computation, each parallel process is obviously and independently present for querying and inspection. The decomposition of the computation as being performed by a collection of communicating agents, or 'processes', is a much more meaningful description. Whether a particular part of the computation 'belongs' to a particular process is something which we might impose by fiat, &lt;em&gt;e.g.&lt;/em&gt;&amp;nbsp;if we design a piece of hardware or software which is given responsibility (by us) for performing that computation, but at least there we may consider the activity of an individual agent and in principle design a protocol so that it determines the final output of the computation. This is simply not what happens in the mathematical model of quantum computation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the end, one must remember that the (very rough) intuition that quantum computing involves any parallelism at all, is just part of a struggle to obtain robust insights into how quantum computation differs from classical computation. From a point of view of interpretations of quantum mechanics, it corresponds to the Many Worlds Interpretation: but it is dubious to say that any 'world' which is to be cancelled out by destructive interference 'exists' independently, as such. Especially in the case where we may have a large amount of destructive interference and tight control over something like time-reversible operations, the choice of how we decompose the state of the computation into multiple &quot;classical looking&quot; branches is likely to be a description that we &lt;em&gt;impose&lt;/em&gt; on the system to understand it, not one that necessarily refers to the physics or the nature of the computation in itself. This is especially true if you consider the various transformations that we can apply on a single qubit: sure, we can describe them as variations on performing a bit-flip or not performing a bit-flip, but what is the meaning of the &lt;em&gt;differences&lt;/em&gt; between these quantum-superpositions-of-performing-a-bit-flip-or-not?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thus, the difference between quantum computation and parallelized computation is that the so-called 'parallel' processes in quantum computation are much more like the imaginary parallel processes of a randomized computation: they cannot be addressed directly, but only in statistical bulk.&lt;/p&gt;&#xA;" OwnerUserId="248" LastEditorUserId="248" LastEditDate="2013-12-20T17:41:33.747" LastActivityDate="2013-12-20T17:41:33.747" CommentCount="10" ContentLicense="CC BY-SA 3.0" />
  <row Id="20276" PostTypeId="2" ParentId="1215" CreationDate="2013-12-20T17:15:53.077" Score="8" Body="&lt;p&gt;Empire colouring is NP-hard for trees.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $r$ and $s$ be fixed positive integers, and let $G$ be a graph whose vertex set is &#xA;partitioned into blocks (or empires) each containing exactly $r$ vertices. The $(s, r)$-colouring&#xA;problem $s$-$\text{COL}_r$ asks for a colouring of the vertices of the graph $G$ that &#xA;uses at most $s$ colours, never assigns the same colour to adjacent vertices in different &#xA;empires and, conversely, assigns the same colour to all vertices in the same empire, &#xA;disregarding adjacencies.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;McGrae and Zito, Empires make cartography hard: The complexity of the empire colouring problem, &#xA;&lt;a href=&quot;http://link.springer.com/chapter/10.1007/978-3-642-25870-1_17&quot;&gt;LNCS 6986&lt;/a&gt; (2011) 179–190, &#xA;show that, for trees, $s$-$\text{COL}_r$ is NP-hard for $s \in \{3,\ldots, 2r − 1\}$ &#xA;(and solvable in polynomial time for other positive values of $s$.)&lt;/p&gt;&#xA;" OwnerUserId="20785" LastActivityDate="2013-12-20T17:15:53.077" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20277" PostTypeId="1" AcceptedAnswerId="20318" CreationDate="2013-12-20T19:15:09.467" Score="26" ViewCount="1250" Body="&lt;p&gt;Given an $m$ by $n$ binary matrix $M$ (entries are $0$ or $1$), the problem is to determine if there exists two binary vectors $v_1 \ne v_2$ such that $Mv_1 = Mv_2$ (all operations performed over $\mathbb{Z}$).  Is this problem NP-hard?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is clearly in NP as you can give two vectors as witnesses.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Equivalently: Given $M$, is there a non-zero vector $v\in \{-1,0,1\}^n$ such that $Mv=0$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Equivalently: Given $n$ vectors $X=\{x_1,\dots,x_n\}$ over $\{0,1\}^m$, are there two different subsets $A,B \subseteq X$ such that $\sum_{x \in A} x = \sum_{x \in B} x$?&lt;/p&gt;&#xA;" OwnerDisplayName="user17100" LastEditorUserId="495" LastEditDate="2013-12-26T08:29:48.913" LastActivityDate="2013-12-26T14:07:26.210" Title="Decide whether a matrix's kernel contains any non-zero vector all of whose entries are -1, 0, or 1" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;&lt;linear-algebra&gt;" AnswerCount="3" CommentCount="9" FavoriteCount="10" ContentLicense="CC BY-SA 3.0" />
  <row Id="20278" PostTypeId="1" CreationDate="2013-12-21T02:09:26.813" Score="6" ViewCount="441" Body="&lt;p&gt;Consider the following empty intersection problem:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;INPUT&lt;/strong&gt;: a ground set $[n]:=\{1, \ldots, n\}$; a set family $S_1, \ldots, S_m$ s.t. $S_i\subseteq [n]$ for every $1\leq i\leq m$ &lt;br&gt;&#xA;&lt;strong&gt;TASK&lt;/strong&gt;: on query $X\subseteq [n]$ decide whether there exists $1\leq i\leq m$ s.t. $S_i\cap X = \emptyset$.&lt;br&gt;&#xA;&lt;strong&gt;TASKbis&lt;/strong&gt;: on batch queries $X_1, \ldots, X_k\subseteq [n]$ decide whether $S_i\cap X_j=\emptyset$ for each $i,j$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm in deep search for &lt;strong&gt;&lt;em&gt;references&lt;/em&gt;&lt;/strong&gt; about this problem, both TASK as well as the batched version TASKbis: fast algorithms (sequential, parallel, randomized, any other model is appreciated), also complexity lower bounds or other characterizations...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Observe that we can impose special values of $m$, for example consider $m=n^2$, or similar ...&lt;/p&gt;&#xA;" OwnerUserId="20792" LastEditorUserId="20792" LastEditDate="2013-12-27T22:21:38.270" LastActivityDate="2014-01-01T12:39:21.977" Title="Testing empty set intersection" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;" AnswerCount="2" CommentCount="10" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="20281" PostTypeId="2" ParentId="20266" CreationDate="2013-12-21T11:42:33.593" Score="4" Body="&lt;p&gt;I think the best way to proceed is to have a chat with your algorithms professor. Together, you can figure out exactly what you have achieved and then decide if it's something that's worth taking farther. That might mean dropping it, it might mean publishing what you have already, or it might mean extending the results and publishing something more significant.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's very hard for us to give specific advice here as it's not clear to us exactly what you've achieved. In fact it's not clear to me that you're sure exactly what you've achieved. It's possible that your algorithm can be extended to do more than you realise but, because of the questions above about how it manages to, for example, output a spanning tree in constant time, it's also possible that it does less than you think. I think you need to share your work with somebody who can help you figure out exactly what it does.&lt;/p&gt;&#xA;" OwnerUserId="17082" LastActivityDate="2013-12-21T11:42:33.593" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20282" PostTypeId="1" AcceptedAnswerId="20287" CreationDate="2013-12-21T14:55:32.597" Score="7" ViewCount="805" Body="&lt;p&gt;In the set multicover problem we are given a set N of n elements and a set S of m subsets of N. Additionally, each element has a coverage requirement, i.e. the number of times it has to be covered. The question is to cover N with the minimum number of subsets from S. I'm aware of the approximation algorithms for this problem (Rajagopalan &amp;amp; Vazirani).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm interested in a different version of the problem (max multi-coverage). We are given K and we ask for the maximal number of the elements from N we can cover with K subsets from S. We count an element as covered if it is covered at least the required number of times. Are there any approximation algorithms for this case? Are there any lower bounds for this case (or even for the standard set multicover problem)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks in advance!&lt;/p&gt;&#xA;" OwnerUserId="20798" LastActivityDate="2013-12-22T05:09:28.003" Title="Approximating Max-Coverage when the elements need to be covered multiple times" Tags="&lt;set-cover&gt;&lt;approximation&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="20283" PostTypeId="2" ParentId="19870" CreationDate="2013-12-21T19:03:51.310" Score="4" Body="&lt;p&gt;You might find the techniques here useful too:&#xA;&lt;a href=&quot;http://arxiv.org/abs/1203.5801&quot; rel=&quot;nofollow&quot;&gt;http://arxiv.org/abs/1203.5801&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A generalization of the above is on its way.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are various references that give bounds for mixing times of Markov chains. Sometimes the gap of the quantum systems can be related to a the gap (largest to second largest) of a Markov chain, in which case the techniques such as rapidly mixing, high conductivity, gap upper bounds of Markov chains become relevant . Eg.&#xA;Persi Diaconis and Laurent Saloff-Coste, 'comparison theorems for reversible markov chains'&lt;/p&gt;&#xA;&#xA;&lt;p&gt;RM&lt;/p&gt;&#xA;" OwnerUserId="20801" LastActivityDate="2013-12-21T19:03:51.310" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="20284" PostTypeId="2" ParentId="20277" CreationDate="2013-12-21T23:38:47.033" Score="3" Body="&lt;p&gt;This doesn't answer the question but might contain some&#xA;helpful observations. I didn't want to put it as a comment &#xA;because I find long, fragmented comments bothersome to read&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The reformulation of the problem as stated in my comment to the question:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Input: $n$ vectors $X = \{ x_1, \dots, x_n \}$ over $\{0,1\}^m$, $m$ is part of the input&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Question: Are there two different subsets $A,B \subseteq X$ such that&#xA;$$\sum_{x \in A} x = \sum_{x \in B} x$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Maybe I should note that one should regard $X,A,B$ as multisets(the vectors must not be unique) and the sums are over $\mathbb{N}$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I propose to call this problem 2SUBSET-BINARY-VECTOR-SUM due to the fact that we are looking for 2 subsets of binary vectors. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some observations:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;If $X$ contains one vector multiple times the answer becomes trivial. Let $x_i,x_j \in X$ and $x_i = x_j$. Then $A = \{x_i\}, B = \{x_j\}$ works as witness.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;If one of the vectors in $X$ contains only 0's it is trivial. Let $0 \in X$ be that vector. Then for every $A \subseteq X \setminus \{ 0 \}$ it follows $B = A \cup \{ 0 \}$ is a witness.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Assume there exists a witness such that $A \subset B$. This implies that every vector that is in $B$ but not in $A$ must consist of zeroes only.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;To subsume the above two points: a witness $A,B$ with $A \subset B$ exists iff at least one of the vectors in $X$ contains only zeroes&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Assume there exists a witness $A,B$ such that $A \cap B \neq \emptyset$. You can remove the common elements in both sets and still have a correct witness. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;These points essentialy mean that you are looking for a partition of $X$ into &#xA;two sets($A \cup B = X$) or three sets. The third set represents the vectors which weren't choosen for either $A$ or $B$. Let $S(n,k)$ be the Stirling numbers of the second kind - the number of ways to partition a set of $n$ objects into $k$ non-empty partitions. Then there are $S(n,3)+S(n,2)$ possible solutions, so brute force isn't feasible here.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you allow the vectors to be over $\mathbb{N}^m$ (2SUBSET-VECTOR-SUM), then we can try to reduce &lt;a href=&quot;https://cs.stackexchange.com/questions/13030/partition-problem-with-distinct-integers&quot;&gt;UNIQUE-PARTITION&lt;/a&gt; to this problem. Let $m=1$ and simply pass the instance of UNIQUE-PARTITION(if it contains 0, remove it first to avoid trivial solutions). However, this doesn't work since possible solutions $A,B$ don't necessarily contain all input elements:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider $\{1,2,3,5\}$. This isn't in UNIQUE-PARTITION but $A=\{1,2\} , B = \{3\}$ in 2SUBSET-VECTOR-SUM. Maybe using $m&amp;gt;1$ we can use the additional vector entries to force $A,B$ to partition the input.&lt;/p&gt;&#xA;" OwnerUserId="17410" LastEditorUserId="-1" LastEditDate="2017-04-13T12:48:30.830" LastActivityDate="2013-12-21T23:38:47.033" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20285" PostTypeId="1" CreationDate="2013-12-22T00:34:05.647" Score="7" ViewCount="331" Body="&lt;p&gt;Consider the following problems, &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Problem1:&#xA;&lt;strong&gt;INPUT&lt;/strong&gt;: a set $S:=\{s_1, \ldots, s_n\}$ of vectors in $d$-dimensional boolean vector space $\{0,1\}^d$ over $\mathbb{F}_2$ &lt;br&gt;&#xA;&lt;strong&gt;TASK&lt;/strong&gt;: preprocess INPUT in such a way that the following queries can be solved as fast as possible: given a query vector $x\in\{0,1\}^d$, find every $s\in S$ that is orthogonal (or non orthogonal, by complementarity) to $x$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Problem2:&#xA;&lt;strong&gt;INPUT&lt;/strong&gt;: a set $S:=\{s_1, \ldots, s_n\}$ of vectors in $d$-dimensional boolean vector space $\{0,1\}^d$ over $\mathbb{F}_2$&lt;br&gt;&#xA;&lt;strong&gt;TASK&lt;/strong&gt;: preprocess INPUT in such a way that the following queries can be solved as fast as possible: given a query vector $x\in\{0,1\}^d$, decide whether $S$ contains a vector orthogonal to $x$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm in deep search of fast methods, i.e. faster than naive inspection! Also complexity lower bounds, or any other known reference ...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In particular, I was wondering whether we can adapt &lt;a href=&quot;http://en.wikipedia.org/wiki/Range_searching&quot; rel=&quot;nofollow&quot;&gt;range searching&lt;/a&gt; techniques (I'm thinking about kd-trees or similar partitioning trees) to the problems above ...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, I wonder whether Random Projection or (Jaccard index, angle, cosine based) Similarity Search methods might provide good speed-up ...&lt;/p&gt;&#xA;" OwnerUserId="20792" LastEditorUserId="20792" LastEditDate="2013-12-23T11:45:27.817" LastActivityDate="2013-12-23T12:31:19.230" Title="Testing boolean vectors orthogonality with fast query-time" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;cg.comp-geom&gt;&lt;ds.data-structures&gt;" AnswerCount="2" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="20286" PostTypeId="1" CreationDate="2013-12-22T01:36:41.517" Score="1" ViewCount="93" Body="&lt;p&gt;consider a function&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$f(x_1,x_2...x_n)$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am told it is possible to compute the period of the function as a vector&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&amp;lt;l_1,l_2...l_n&amp;gt;$$&#xA;where each l denotes the period of the function for that corresponding variable using a generalization of the fourier transform.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is the time complexity of running the multivariable version of the quantum fourier transform still polynomial in the bit complexity of a function being evaluated?&lt;/p&gt;&#xA;" OwnerUserId="17394" LastActivityDate="2013-12-22T01:36:41.517" Title="Period of a Multivariable Function using Quantum Computing" Tags="&lt;cc.complexity-theory&gt;&lt;quantum-computing&gt;&lt;fourier-analysis&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20287" PostTypeId="2" ParentId="20282" CreationDate="2013-12-22T04:58:09.660" Score="6" Body="&lt;p&gt;If the required number of times we need to cover an element is 2, we have the following &lt;em&gt;densest k-subgraph problem&lt;/em&gt;: (Imagine the edges are elements and nodes are sets.)&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Given a graph $G$ and an integer $k$, find a subgraph of $G$ on $k$ nodes with maximum density.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Khot proved that &lt;a href=&quot;http://ieeexplore.ieee.org/xpl/login.jsp?tp=&amp;amp;arnumber=1366233&amp;amp;url=http%3A%2F%2Fieeexplore.ieee.org%2Fiel5%2F9430%2F29918%2F01366233&quot;&gt;no PTAS exists under plausible complexity assumptions&lt;/a&gt;; there is &lt;a href=&quot;http://www.cs.princeton.edu/~aravindv/DkS.pdf&quot;&gt;an $O(n^{1/4+\epsilon})$ approximation&lt;/a&gt; to the problem by Bhaskara, Charikar, Chlamtac, Feige and Vijayaraghavan; &lt;a href=&quot;http://www.cs.princeton.edu/~aravindv/dksgaps.pdf&quot;&gt;a polynomial integrality gaps result&lt;/a&gt; by Bhaskara, Charikar, Guruswami, Vijayaraghavan and Zhou.  Therefore I believe your question is hard to approximate in the most general case.&lt;/p&gt;&#xA;" OwnerUserId="1800" LastEditorUserId="1800" LastEditDate="2013-12-22T05:09:28.003" LastActivityDate="2013-12-22T05:09:28.003" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20291" PostTypeId="2" ParentId="20285" CreationDate="2013-12-22T23:26:18.097" Score="1" Body="&lt;p&gt;Your second problem has an efficient answer.  In particular, after preprocessing, each query can be answered in at most $O(d^2)$ time.  This will be a big performance gain if $d \ll n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let's start by considering the variant where we want to test whether $S=\{s_1,\dots,s_n\}$ contains a vector that is non-orthogonal to $x$.  The answer will be &quot;No&quot; exactly if $s_i \cdot x = 0$ for all $i$.  Form the $n\times d$ matrix $M$ whose $i$th row is $s_i$; then the answer to the query will be &quot;No&quot; exactly if $Mx=0$.  Notice that we can form a new matrix $M'$ containing at most $d$ rows, such that $Mx=0$ if and only if $M'x=0$.  (In particular, consider the subspace of $\mathbb{F}_2^d$ spanned by $s_1,s_2,\dots,s_n$; let $t_1,\dots,t_{n'}$ be a basis for this space, and define $M'$ to be a $n' \times d$ matrix whose $i$th row is $t_i$.)  In a preprocessing step, we can compute the matrix $M'$.  To answer each query $x$, we can simply compute $M'x$; if $M'x=0$, then answer &quot;No&quot;, otherwise answer &quot;Yes&quot;.  The running time to answer the query is the time to multiply a $n' \times d$ matrix by a $d$-vector, where $n' \le d$; this is at most $O(n'd) = O(d^2)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What about the original version of the problem, where we are given a vector and we want to decide whether $S$ contains a vector that is orthogonal to $x$?  Well, we can solve this with a very similar strategy.  Define $S'=\{s'_1,\dots,s'_n\} \subseteq \mathbb{F}_2^{d+1}$ where $s'_i = (s_i,1)$, and define $x'= (x,1)$ (extend each vector by adding a single 1 to the end).  Now notice that $s_i \cdot x = 1$ if and only if $s'_i \cdot x' = 0$.  Therefore, $S$ contains a vector that is orthogonal to $x$ if and only if $S'$ contains a vector that is non-orthogonal to $x'$.  Therefore, we can preprocess the set $S'$ using the technique of the previous paragraph, then test whether $S'$ contains a vector that is non-orthogonal to $x$.  This increases the dimension from $d$ to $d+1$, so the running time to answer each query is $O((d+1)^2) = O(d^2)$.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;I doubt that your first problem will have any general solution that is much more efficient than the naive approach of testing $x$ against each element of $S$, one by one.  The naive approach has running time $\Theta(nd)$.  If $x$ and each element of $S$ are distributed uniformly at random, then you'd expect about $n/2$ elements of $S$ to be orthogonal to $x$, so there doesn't seem to be much room for hope for a general solution whose running time is asymptotically better than $d \times n/2 = \Theta(nd)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you know something about the distribution on your vectors or if they have some structure, perhaps one could do something better in that specific setting -- but I wouldn't expect to see a generally applicable algorithm that doesn't make use of that kind of additional information.&lt;/p&gt;&#xA;" OwnerUserId="5038" LastEditorUserId="5038" LastEditDate="2013-12-23T00:26:09.023" LastActivityDate="2013-12-23T00:26:09.023" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20293" PostTypeId="2" ParentId="20285" CreationDate="2013-12-23T01:50:56.650" Score="10" Body="&lt;p&gt;The &quot;offline&quot; version of this question is addressed in my SODA 2014 paper with Huacheng Yu, &lt;a href=&quot;http://www.stanford.edu/~rrwill/orthog-soda.pdf&quot;&gt;Finding orthogonal vectors in discrete structures&lt;/a&gt;. For the case of $\mathbb F_2$, we give an $O(nd)$ time algorithm for determining, given two sets of $n$ vectors $A$ and $B$, whether there is a vector in $A$ and vector in $B$ with zero inner product. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm sure you can modify our algorithm appropriately, and get an interesting preprocessing/query version; we did not consider this question.&lt;/p&gt;&#xA;" OwnerUserId="225" LastActivityDate="2013-12-23T01:50:56.650" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20294" PostTypeId="1" CreationDate="2013-12-23T02:34:39.310" Score="0" ViewCount="134" Body="&lt;p&gt;Consider a blackbox function&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$f(x): Z \rightarrow \lbrace 0,1 \rbrace  $$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Which inputs an integer and outputs 0 or 1 with bit complexity n.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If the period P of this function satisfies&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$P \in O(2^{n})$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can a quantum computer determine the period of this function within $\frac{2}{3}$ probability of correctness in polynomial in $n$ time using polynomial in $n$ space?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;===========================================================================================&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let me correct this:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;the problem is equivalent to asking if Simon's Algorithm or some variant of it can be used to find the period of a function $f: {\lbrace 0,1 \rbrace}^n \rightarrow \lbrace 0,1 \rbrace$&lt;/p&gt;&#xA;" OwnerUserId="17394" LastEditorUserId="17394" LastEditDate="2013-12-23T02:47:24.880" LastActivityDate="2013-12-23T02:47:24.880" Title="Computing the period of a function using a quantum computer" Tags="&lt;cc.complexity-theory&gt;&lt;quantum-computing&gt;&lt;fourier-analysis&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="20295" PostTypeId="2" ParentId="16244" CreationDate="2013-12-23T03:31:34.793" Score="1" Body="&lt;p&gt;The statement P≠NP can encoded as a statement $\phi$ about natural numbers. Since $\phi$ is either true or false about the naturals, the answer to the question is a purely mathematical one. This is definitely not a physical law which is subject to the nature of the physical world that we live in. &lt;/p&gt;&#xA;" OwnerUserId="12660" LastActivityDate="2013-12-23T03:31:34.793" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="20297" PostTypeId="1" AcceptedAnswerId="20301" CreationDate="2013-12-09T10:21:28.900" Score="4" ViewCount="144" Body="&lt;p&gt;I am interested in the following problem:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;There are n collections of M axis-parallel squares (not necessarily disjoint).&#xA;Pick a single square from each collection,&#xA;     such that the n selected squares are pairwise interior-disjoint.&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;One way to approach the problem is to discretize the squares such that each square becomes a set of small squares. This makes the problem an instance of the following &lt;strong&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Set_packing&quot; rel=&quot;nofollow&quot;&gt;set packing&lt;/a&gt;&lt;/strong&gt; problem:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;There are n collections of sets (not necessarily disjoint).&#xA;Pick a single set from each collection, &#xA;     such that the n selected sets are pairwise disjoint.&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;The set packing problem is equivalent to the &lt;strong&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Independent_set_%28graph_theory%29&quot; rel=&quot;nofollow&quot;&gt;independent set&lt;/a&gt;&lt;/strong&gt; problem, and both are known to be NP-complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is: does the fact that the sets in this case are discretizations of axis-parallel squares make the problem any easier?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Particularly, is it possible to solve the problem, or at least approximate it to a constant factor, in time polynomial in $n$ (the number of collections), assuming $M$ is constant? &lt;/p&gt;&#xA;" OwnerUserId="9453" OwnerDisplayName="Erel Segal Halevi" LastEditorUserId="9453" LastEditDate="2013-12-24T08:18:04.877" LastActivityDate="2013-12-24T08:18:04.877" Title="Is set packing easier when the sets are squares?" Tags="&lt;ds.algorithms&gt;&lt;packing&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20298" PostTypeId="1" AcceptedAnswerId="20306" CreationDate="2013-12-23T16:28:53.547" Score="3" ViewCount="224" Body="&lt;p&gt;Flajolet analyzed Wegman's &lt;a href=&quot;http://algo.inria.fr/flajolet/Publications/Flajolet90.pdf&quot; rel=&quot;nofollow&quot;&gt;Adaptive Sampling&lt;/a&gt; for estimating distinct values (species) in a stream (population), giving an unbiased estimator for mean and specified the standard error to be approximately $1.2/\sqrt(n)$ where n is the number of samples. Another way of estimating the number of distinct values is by using Bernoulli sampling over uniformly hashed value of the target attribute. In this case, the standard error should be $\sqrt{pq/n}$. The obvious advantage of Adaptive Sampling is the number of samples retained is at most n whereas Bernoulli sampling would require $Np$ samples ($O(N)$ in $N$, the actual number of distinct values). Is my analysis correct? For some reason, I cannot accept the Bernoulli sampling can be more accurate than Adaptive for fixed sample size, $n$. Thoughts?&lt;/p&gt;&#xA;" OwnerUserId="20820" LastEditorUserId="20820" LastEditDate="2013-12-23T21:41:25.837" LastActivityDate="2013-12-24T09:01:05.670" Title="Adaptive vs Bernoulli sampling" Tags="&lt;approximation-algorithms&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="20299" PostTypeId="1" AcceptedAnswerId="20312" CreationDate="2013-12-23T18:30:45.093" Score="7" ViewCount="606" Body="&lt;p&gt;I'm not talking about the &lt;a href=&quot;http://en.wikipedia.org/wiki/RSA_%28cryptosystem%29&quot; rel=&quot;nofollow noreferrer&quot;&gt;RSA&lt;/a&gt;, &lt;a href=&quot;http://en.wikipedia.org/wiki/El_Gamal&quot; rel=&quot;nofollow noreferrer&quot;&gt;El-gamal&lt;/a&gt;, nor any specific encryption scheme. Rather, my question, as related to &lt;a href=&quot;https://cstheory.stackexchange.com/questions/453/how-does-theoretical-computer-science-relate-to-security/7299#7299&quot;&gt;this&lt;/a&gt; and &lt;a href=&quot;https://cstheory.stackexchange.com/questions/20084/cryptography-without-assumptions-seeking-an-overview&quot;&gt;this&lt;/a&gt; threads, is why the idea of Public-Key encryption scheme cannot be secure under CPA (which has equal power as eavesdropper in the public-key area) without the assumption that $P \neq NP$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $P=NP$ the task to compute a decision of &quot;whether a secret key $S_k$ is the &lt;em&gt;complement&lt;/em&gt; of the given public key $P_k$?&quot; takes a poly time (where &lt;em&gt;complement&lt;/em&gt; may be refer to &lt;em&gt;inverse in the Euler group&lt;/em&gt; in RSA or &lt;em&gt;discrete-log&lt;/em&gt; in El-Gamal or any other term but my question is general) is equal (in regard to the time complexity) to the task of &quot;finding the actual complement $S_k$ from a given $P_k$ and additional public settings (as the group description etc.)&quot; which will also take poly time.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Does my last state seems logical/correct?&lt;/li&gt;&#xA;&lt;li&gt;How can I further formalize it?&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="12633" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2015-01-12T10:07:00.737" Title="Public-key encryption without the assumption that $P \neq NP$" Tags="&lt;cc.complexity-theory&gt;&lt;cr.crypto-security&gt;&lt;big-picture&gt;&lt;np&gt;&lt;p-vs-np&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="20301" PostTypeId="2" ParentId="20297" CreationDate="2013-12-23T21:16:57.000" Score="3" Body="&lt;p&gt;I think your problem is NP-complete already for M=3, as there is a quite straight-forward reduction to it from 3SAT. Just for each variable xi, make a pair of squares, truei and falsei. For a clause Cj, make a pair of squares for each of its literals, e.g., Aj1, Bj1, Aj2, Bj2, Aj3, Bj3. Let Aj1 intersect the respective square of the variable (e.g., truei) (but disjoint from any other similar clause-squares intersecting it), while the Bj1, Bj2 and Bj3 are put somewhere in a disjoint way. Finally, for each clause we have a collection of three squares, which is also Bj1, Bj2 and Bj3.&lt;/p&gt;&#xA;" OwnerUserId="419" LastActivityDate="2013-12-23T21:16:57.000" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="20302" PostTypeId="2" ParentId="20247" CreationDate="2013-12-23T21:25:31.953" Score="6" Body="&lt;p&gt;This problem is NP-hard as 3DM (3-dimensional matching problem) reduces to it. Just pick M=N=3, Y to be the points of the underlying base set, and X to be the triples on them.&lt;/p&gt;&#xA;" OwnerUserId="419" LastActivityDate="2013-12-23T21:25:31.953" CommentCount="11" ContentLicense="CC BY-SA 3.0" />
  <row Id="20304" PostTypeId="1" AcceptedAnswerId="20320" CreationDate="2013-12-24T02:38:00.460" Score="1" ViewCount="580" Body="&lt;p&gt;consider the problem: given a graph and a number of vertices $n$ less than the vertices in the graph, and a distance $d$. find a set of $n$ vertices such that all vertices of the graph are within $d$ distance of the $n$ vertices (measured in edge count of the shortest path). in a sense the $n$ vertices are &quot;hubs&quot; of the graph. (there may be other constraints on their selection.) suspect this problem may arise in a variety of guises. am not nec. looking for an exact solution.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;looking for the contexts this arises (applications) &amp;amp; recent literature/survey(s) on this problem, finding the &quot;natural&quot; &quot;hubs&quot; of a graph.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;possibly somewhat related is finding/adding a few edges to yield &quot;good&quot; hubs (hub sets that are small relative to the vertices they &quot;reach&quot;).&lt;/p&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2013-12-26T00:08:17.540" Title="finding &quot;hubs&quot; in a graph" Tags="&lt;reference-request&gt;&lt;graph-theory&gt;&lt;optimization&gt;&lt;application-of-theory&gt;" AnswerCount="1" CommentCount="6" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="20306" PostTypeId="2" ParentId="20298" CreationDate="2013-12-24T09:01:05.670" Score="2" Body="&lt;p&gt;I do not quite understand the question because you do not define some of your paremters (what are $p$ and $q$?). But let me try to clarify things. Let $N$ be the true number of distinct items.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First Flajolet's guarantee for Wegman's algorithm is that, if the space used is $n$ words, then the estimate $X$ produced by the algorithm satisfies &#xA;$$&#xA;\sqrt{\mathbb{E}[(X - N)^2]} \leq \frac{1.2}{\sqrt{n}}N.&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Your suggestion is to sample at a rate $p$ from the $N$ different distinct items. I.e., you make a pass over the sequence of item identifiers and you keep each identifier in memory with probability $p$. Let the number of items stored in memory be $n$. Then the expected value of $n$ is $pN$, and the variance of $n$ is $p(1-p)N$, so we have&#xA;$$&#xA;\sqrt{\mathbb{E}\left[\left(\frac{n}{p}-N\right)^2\right]} =\sqrt{\frac{1-p}{pN}}N = \sqrt{\frac{1-p}{\mathbb{E}[n]}}N.&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So you are right that this is in some sense comparable with the guarantees for adaptive sampling (as well as those for the Flajolet-Martin probabilistic counting algorithm). However, the issue is that without knowing $N$, you do not know ahead of time what your space complexity $n$ will be, even in expectation. Or to put it another way, you do not know what to set $p$ to in order to make the space complexity acceptable. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A natural fix is to start with some sample rate $p$, say $p = 1$, and once your memory fills up, you lower $p$. This is essentially the adaptive sampling algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The simple sampling algorithm you suggest can be useful to refine a rough estimate of $N$. For example, you can use adaptive sampling or Flajolet-Martin to get a constant factor approximation to $N$, and then use that approximation to set $p$ in the Bernoulli sampling strategy. See &lt;a href=&quot;http://researcher.watson.ibm.com/researcher/files/us-dpwoodru/knw11.pdf&quot; rel=&quot;nofollow&quot;&gt;this nice paper&lt;/a&gt; by Daniel Kane, Jelani Nelson, and David Woodruff, where they use this idea and a lot more to get an optimal space algorithm for the distinct items problem. The paper also gives references to much of the more important work on this problem.&lt;/p&gt;&#xA;" OwnerUserId="4896" LastActivityDate="2013-12-24T09:01:05.670" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="20310" PostTypeId="1" CreationDate="2013-12-24T19:06:58.727" Score="0" ViewCount="124" Body="&lt;p&gt;Consider an arbitrary boolean function&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$f: {\lbrace 0,1 \rbrace}^n \rightarrow \lbrace 0,1 \rbrace$$&#xA;which we write as:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$f(x_1, x_2 ... x_n) $$&#xA;where each $x_i$ is a boolean variable &lt;/p&gt;&#xA;&#xA;&lt;p&gt;We note here that the function in question can be evaluated in constant time (is given by a constant time oracle). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The task is to determine whether this function is constant on all inputs or not.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We can consider the set of integers $Z$ modulo $2^n$ and look at their binary representation: noting that each digit in this binary representation corresponds to a value for one of the functional variables thus we write out $f$ as&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$f((Q \mod 2)_2, \frac{(Q \mod 4)_2}{2_2}, \frac{(Q \mod 8)_2}{4_2} ... \frac{(Q  \mod 2^n)_2}{2^{n-1}_2})) $$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Where $n_2$ means convert n to binary and division is integer division&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We note that if this function is periodic with period = 1, then it must be constant. Can a Quantum Fourier Transform be employed to calculate the period of this function or merely test that the period is not equal to 1? &lt;/p&gt;&#xA;" OwnerUserId="17394" LastEditorUserId="17394" LastEditDate="2013-12-24T19:13:21.337" LastActivityDate="2013-12-24T19:13:21.337" Title="Determining if a function is constant or not using period finding" Tags="&lt;cc.complexity-theory&gt;&lt;quantum-computing&gt;&lt;sat&gt;&lt;boolean-functions&gt;&lt;fourier-analysis&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="20312" PostTypeId="2" ParentId="20299" CreationDate="2013-12-24T21:08:50.483" Score="6" Body="&lt;p&gt;In a &lt;a href=&quot;http://en.wikipedia.org/wiki/Ciphertext_indistinguishability#Indistinguishability_under_chosen-plaintext_attack_.28IND-CPA.29&quot; rel=&quot;nofollow&quot;&gt;CPA game&lt;/a&gt;, a key pair $(sk,pk)$ is generated, and $pk$ is given to the adversary.&#xA;The adversary outputs a pair of messages $(m_0,m_1)$ in the message space, such that $|m_0|=|m_1|$. A random bit $b \in \{0,1\}$ is then generated, and $m_b$ is encrypted and returned as the cipher $c = E_{pk}(m_b ; r)$, where $r$ is the randomness used for encryption. The task of the adversary is to guess $b$ correctly.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Lemma.&lt;/strong&gt; There do not exist $r_0$ and $r_1$ such that $c = E_{pk}(m_0 ; r_0)$ and $c = E_{pk}(m_1 ; r_1)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Proof.&lt;/strong&gt; If such $r_0$ and $r_1$ exist, $c$ can be decrypted to both $m_0$ and $m_1$, which contradicts the uniqueness of decryption.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Note.&lt;/strong&gt; In some texts, uniqueness of decryption is not required. It is only required that decryption is unique with overwhelming probability. In such cases, the above lemma must be changed accordingly.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, assume that $\mathsf{P = NP}$. The adversary can then find in &lt;strong&gt;polynomial time&lt;/strong&gt; whether there exists an $r$ (i.e., an $\mathsf{NP}$-witness) such that $c = E_{pk}(m_0 ; r)$. If so, the adversary outputs $b=0$. Otherwise, he outputs $b=1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Therefore, if $\mathsf{P = NP}$, there exists a polynomial-time adversary which always succeeds in the CPA game, and no encryption scheme will be CPA-secure.&lt;/p&gt;&#xA;" OwnerUserId="873" LastEditorUserId="873" LastEditDate="2015-01-12T10:07:00.737" LastActivityDate="2015-01-12T10:07:00.737" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="20313" PostTypeId="2" ParentId="20278" CreationDate="2013-12-25T00:31:03.980" Score="5" Body="&lt;p&gt;As you might have realized by now, this problem is closely related to Matrix Multiplication.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Particularly: Task B asks to preprocess an m by n matrix S, such that given as a query a n by matrix X, we need to compute the m by m boolean product SX. For particularly structured matrices S, this can be solved by something like FFT. But I suspect that for a non-structured S (say random S) the best you could do is used fast matrix multiplication.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If the matrices S and X are sparse (i.e. the input sets are of cardinality &amp;lt;&amp;lt; n) then there are some algorithms for sparse matrix multiplication that can give some good results.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;About the first task, it's of course even harder-looking, and I suspect that, unless the input S is of one of those special structures, the best approach is the naive one that takes O(n) time per query.&lt;/p&gt;&#xA;" OwnerUserId="20830" LastActivityDate="2013-12-25T00:31:03.980" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="20315" PostTypeId="2" ParentId="20267" CreationDate="2013-12-25T10:13:44.290" Score="13" Body="&lt;p&gt;For the second question: Fixing rank-width (equivalently, fixing clique-width), polynomial time solvability of GI is not known. Recently, &lt;a href=&quot;https://cstheory.stackexchange.com/users/4854/m-kante&quot;&gt;Mamadou Kanté&lt;/a&gt; posed an open question &lt;a href=&quot;http://www.lsi.upc.edu/~sedthilk/grow/Open_Problems_GROW_2013.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;if the graph isomorphism problem can be solved in polynomial time for graphs of bounded linear rank-width&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="20818" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2013-12-25T11:43:17.803" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20317" PostTypeId="2" ParentId="20277" CreationDate="2013-12-25T16:38:20.973" Score="7" Body="&lt;p&gt;EDIT: My original proof had a bug. I now believe that it is fixed.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We reduce the problem of EQUAL SUM SUBSETS to this problem. EQUAL SUM SUBSETS is the problem of: given a set of $m$ integers, find two disjoint subsets which have the same sum. EQUAL SUM SUBSETS is known to be &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.19.7386&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;nofollow&quot;&gt;NP-complete.&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose these bit strings were not vectors but representations of $n$-bit numbers in binary. Then the problem would be NP-complete by a reduction from EQUAL SUM SUBSETS.  I will show how to make these vectors behave like they are binary numbers. What we need is to be able to do carries; that is, for every pair of adjacent coordinates, we need to be able to replace the vector ..02.. by ..10.. .&lt;/p&gt;&#xA;&#xA;&lt;p&gt;How can we do that? We need a &lt;em&gt;gadget&lt;/em&gt; that lets us do that. In particular, we need two subsets whose sums are ..02.. x  and ..10.. x, where x is a bit string using new coordinates (i.e., coordinates which aren't any of the $n$ coordinates making up the binary representations), and where there is only one way to create two subsets with the same sum in the new bit positions corresponding to x.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is fairly easy to do. For every pair of adjacent bit positions, add three vectors of the following form. Here the last two bits are coordinates which are non-zero only in these three vectors, and every bit not explicitly given below is 0.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;..10.. 11&lt;br&gt;&#xA;  ..01.. 10&lt;br&gt;&#xA;  ..01.. 01&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Let me do an example. We want to show how 5+3=8 works.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is 8 = 5 + 3 in binary:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;1000  &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;=&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;0101&lt;br&gt;&#xA;  0011  &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;These bit strings give the same sum in binary, but not in vector addition. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, we have carries in the 1, 2, 4 places, so we need to add three sets of three vectors to the equation so as to perform these carries.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;1000 00 00 00&lt;br&gt;&#xA;  0001 00 00 01&lt;br&gt;&#xA;  0001 00 00 10&lt;br&gt;&#xA;  0010 00 01 00&lt;br&gt;&#xA;  0010 00 10 00&lt;br&gt;&#xA;  0100 01 00 00&lt;br&gt;&#xA;  0100 10 00 00  &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;=&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;0101 00 00 00&lt;br&gt;&#xA;  0011 00 00 00&lt;br&gt;&#xA;  0010 00 00 11&lt;br&gt;&#xA;  0100 00 11 00&lt;br&gt;&#xA;  1000 11 00 00  &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;These sets now have the same sum in vector addition. The sums are:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;1222 11 11 11&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;in both cases.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This construction works great if there is only one carry per position, but there could potentially be up to $n$ carries per position, and you need to make sure that your construction can handle up to $n$ carries, and that the different carries don't interfere with each other. For instance, if you added two different sets of three vectors for the same pair of adjacent positions (which is what I proposed in my original proof):&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;..01.. 01 00&lt;br&gt;&#xA;  ..01.. 10 00&lt;br&gt;&#xA;  ..10.. 11 00&lt;br&gt;&#xA;  ..01.. 00 01&lt;br&gt;&#xA;  ..01.. 00 10&lt;br&gt;&#xA;  ..10.. 00 11  &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;you have the problem that you get two different sets of vectors giving the same sum:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;..01.. 01 00&lt;br&gt;&#xA;  ..01.. 10 00&lt;br&gt;&#xA;  ..10.. 00 11&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;=&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;..01.. 00 01&lt;br&gt;&#xA;  ..01.. 00 10&lt;br&gt;&#xA;  ..10.. 11 00&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;How to fix this? Add one set of vectors which lets you carry 1, one set which lets you carry 2, and one set for 4, 8, $\ldots$, 2$^{\lfloor \log n \rfloor}$. I'm not going to go work out the details of this construction right now, but it should be fairly straightforward. Since each number has a unique binary representation, this will let you carry any number up to $n$. For carrying 4, for example, you need find four vectors which have the same sum as two vectors, and for which this is the only linear relation between the two sets. For example, the set&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;..01.. 11000&lt;br&gt;&#xA;  ..01.. 00100&lt;br&gt;&#xA;  ..01.. 00010&lt;br&gt;&#xA;  ..01.. 00001&lt;br&gt;&#xA;  ..10.. 10001&lt;br&gt;&#xA;  ..10.. 01110  &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;works. You can easily check that the relation&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;11000&lt;br&gt;&#xA;  00100&lt;br&gt;&#xA;  00010&lt;br&gt;&#xA;  00001  &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;=&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;10001&lt;br&gt;&#xA;  01110&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;is the only possible relation among these six vectors because the matrix formed by these six rows has rank 5.&lt;/p&gt;&#xA;" OwnerUserId="1677" LastEditorUserId="1677" LastEditDate="2013-12-26T14:07:26.210" LastActivityDate="2013-12-26T14:07:26.210" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="20318" PostTypeId="2" ParentId="20277" CreationDate="2013-12-25T19:45:23.433" Score="7" Body="&lt;p&gt;I use the user17410 equivalent formulation:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Input: $n$ vectors $X = \{ x_1, \dots, x_m \}$ over $\{0,1\}^n$, $n$ is part of the input&lt;br&gt;&#xA;Question: Are there two different subsets $A,B \subseteq X$ such that&#xA;$$\sum_{x \in A} x = \sum_{x \in B} x$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The hardness proof involve many intermediate reductions that follow the same &quot;chain&quot; used to prove the hardness of the standard EQUAL SUBSET SUM problem:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;X3C $\leq$ SUBSET SUM $\leq$ PARTITION $\leq$  EVEN-ODD PARTITION $\leq$ EQUAL SUBSET SUM&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(I'm still checking it so it may be wrong :)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;STEP 1&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The following problem (&lt;strong&gt;0-1 VECTOR SUBSET SUM&lt;/strong&gt;) is NP-complete: given  $X = \{ x_1, \dots, x_m \}$, $x_i$ vectors over $\{0,1\}^n$ and a target sum vector $t$, decide if there is $A \subseteq X$ such that&#xA;$$\sum_{x \in A} x = t$$&#xA;&lt;em&gt;Proof&lt;/em&gt;: Direct reduction from EXACT COVER BY 3-SETS (X3C): given a set of $n$ elements $Y = \{y_1,...,y_n\}$ and a collection $C$ of $m$ three elements subsets $C = \{C_1,...,C_m\}$ we build the corresponding 0-1 VECTOR SUM instance setting $x_i[j] = 1$ if and only if element $j$ is included in $C_i$; $t = [1,1,...1]$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;STEP 2&lt;/strong&gt;&#xA;Finding two equal sum subsets $A,B$ among $m$ 0-1 vectors over $\{0,1\}^n$, is equivalent to finding two equal sum subsets $A,B$ of vectors with element of bounded size $x_1 ... x_m$ where $max\{x_i\} = O((mn)^k)$ for fixed $k$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example the set of vectors:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;x1 2 1 0 1&#xA;x2 1 2 3 1&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Is equvalent to the 0-1 vectors:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;x1  1 1 0 1   1 0   0 0 0&#xA;    1 0 0 0   0 1   0 0 0 &#xA;    0 0 0 0   1 1   0 0 0 &#xA;              ^ ^&#xA;                +-- 0 elsewhere&#xA;&#xA;x2  1 1 1 1   0 0   1 0 0&#xA;    0 1 1 0   0 0   0 1 0&#xA;    0 0 1 0   0 0   0 0 1&#xA;    0 0 0 0   0 0   1 1 1&#xA;                    ^ ^ ^&#xA;                      +-- 0 elsewhere&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Informally the 0-1 vectors are grouped (if you select one vector of the x2 group and add&#xA;it to subset $A$, then you are forced to include in $A$ the other two and put the last in subset $B$) and the sums are done in unary (this is the reason why the corresponding non binary vectors must contain elements that are polynomially bounded with respect to $mn$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So the following problem is NP-complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;STEP 3&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The following problem (&lt;strong&gt;0-1 VECTOR PARTITION&lt;/strong&gt;) is NP-complete: given  $B = \{ x_1, \dots, x_m \}$, $x_i$ vectors over $\{0,1\}^n$ decide if $X$ can be partitioned in two subsets $B_1, B_2$ such that &#xA;$$\sum_{x \in B_1} x = \sum_{x \in B_2} x$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Proof&lt;/em&gt;: Reduction from 0-1 VECTOR SUM:   given  $X = \{ x_1, \dots, x_m \}$&#xA;and the target sum vector $t$; let $S = \sum x_i$, we add to $X$ the following vectors: $b' = -t + 2S$ and  $b'' = t + S\;$:  $B = X \cup \{b',b''\}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;($\Rightarrow$) Suppose that there exists $A \subseteq X$ such that $\sum_{x \in A} x= t$;&#xA;we set $B_1 = A \cup \{b'\}$ and $B_2 =B \setminus B_1 = X \setminus \{A\} \cup \{b''\}$; we have&#xA;$$\sum_{x \in B_1} = b'+\sum_{x \in A} x = t - t + S = 2S$$&#xA;$$\sum_{x \in B_2} = b'' + \sum_{x \in X\setminus A} x = b'' + S - \sum_{x \in A} x=2S$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;($\Leftarrow$) Suppose that $B_1$ and $B_2$ have equal sum. $b', b''$ cannot both belong to the same set (otherwise their sum is $\geq 3S$ and cannot be &quot;balanced&quot; by the elements in the other set). Suppose that $b' = -t + 2S \in B_1$; we have:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$-t +2S+ \sum_{x \in B_1 \setminus\{b'\}} x = t + S + \sum_{x \in B_2 \setminus\{b''\}} x$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hence we must have $\sum_{x \in B_1 \setminus\{b'\}} x = t$ and $B_1 \setminus\{b'\}$ is a valid solution for the 0-1 VECTOR SUM.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We only allow 0-1 vectors in the set $B$, so vectors $b', b''$ must be &quot;represented&#xA;in unary&quot; as shown in STEP 2.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;STEP 3&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem is still NP-complete if the vectors are numbered from $x_1,...,x_2n$ and &#xA;the two subsets $X_1,X_2$ must have equal size and we require that $X_1$ contains exactly one of $x_{2i-1},x_{2i}$ for $1 \leq i \leq n$ (so, by the equal size constraint, the other element of the pair must be included in $X_2$) (&lt;strong&gt;0-1 VECTOR EVEN-ODD PARTITION&lt;/strong&gt;). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Proof:&lt;/em&gt;: The reduction is from 0-1 VECTOR PARTITION and is similar to the reduction from PARTITION to EVEN-ODD PARTITION. If $X = \{x_1,...,x_m\}$ are $m$ vectors over $\{0,1\}^n$ replace each vector with two vectors over $\{0,1\}^{2n+2m}$:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;       1   2       n&#xA; --------------------&#xA; x_i  b_1 b_2 ... b_n&#xA;&#xA; becomes:&#xA;&#xA;           1 2 ... 2i ... 2m&#xA;  --------------------------&#xA;  x'_2i-1  0 0 ...  1 ...  0  b_1 b_2 ... b_n   0   0  ...  0  &#xA;  x'_2i    0 0 ...  1 ...  0   0   0  ...  0   b_1 b_2 ... b_n &#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Due to the $2i$ element, the vectors $x'_{2i-1}$ and $x'_{2i}$ cannot be contained in the same subset; and a valid solution to the 0-1 VECTOR EVEN-ODD PARTITION correspond to a valid solution of the original 0-1 VECTOR PARTITION (just pick elements 2m+1..2m+n of each vector of the solution discarding vectors that contain all zeros in those positions).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;STEP 4&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;0-1 VECTOR EQUAL SUBSET SUM&lt;/strong&gt; (the problem in the question)  is NP-complete: reduction from 0-1 VECTOR EVEN-ODD PARTITION similar to the reduction from EVEN-ODD PARTITION to EQUAL SUM SUBSET, as proved in &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/002001909290226L&quot; rel=&quot;nofollow&quot;&gt;Gerhard J. Woeginger, Zhongliang Yu, On the equal-subset-sum problem&lt;/a&gt;: given an ordered set $A = \{x_1,...,x_{2m}\}$ of $2m$ vectors over $\{0,1\}^n$, we build a set $Y$ of $3m$ vectors over $\{0,1\}^{2m+n}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For every vector $x_{2i-1}, 1 \leq i \leq m$ we build a vector $y_{2i-1}$ over $\{0,1\}^{2m+n}$ in this way:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;  1 2 ... i i+1 ... m  m+1 m+2 ... m+i ... 2m  2m+1 ... 2m+n&#xA;  ------------------------------------------------------&#xA;  0 0 ... 2  0  ... 0   0   0       1       0  x_{2i-1}&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;For every vector $x_{2i}, 1 \leq i \leq m-1$ we build a vector $y_{2i}$ over $\{0,1\}^{2m+n}$ in this way:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;  1 2 ... i i+1 ... m  m+1 m+2 ... m+i ... 2m  2m+1 ... 2m+n&#xA;  ------------------------------------------------------&#xA;  0 0 ... 0  2  ... 0   0   0       1       0  x_{2i}&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;We map element $x_{2m}$ to&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;  1 2 ...       ... m  m+1 m+2 ...  . 2m  2m+1 ... 2m+n&#xA;  ------------------------------------------------------&#xA;  2 0 ...       ... 0   0   0          1  x_{2m}&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Finally we add $m$ dummy elements:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;  1 2 ...       ... m  m+1 m+2 ...  ... 2m  2m+1 ... 2m+n&#xA;  ------------------------------------------------------&#xA;  4 0 ...       ... 0   0   0            0  0    ... 0&#xA;  0 4 ...       ... 0   0   0            0  0    ... 0&#xA;  ...&#xA;  0 0 ...       ... 4   0   0            0  0    ... 0&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Note again that vectors containing values $&amp;gt; 1$ can be represented in &quot;unary&quot; using a group of 0-1 vectors like showed in STEP 2. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$Y$ has two disjoint $Y_1,Y_2$ subsets having equal sum if and only if $X$ has an even-odd partition.  &lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2013-12-26T08:48:43.877" LastActivityDate="2013-12-26T08:48:43.877" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="20320" PostTypeId="2" ParentId="20304" CreationDate="2013-12-26T00:08:17.540" Score="6" Body="&lt;p&gt;When n is given and the objective is to minimize d, it is the well-known n-center problem. &lt;/p&gt;&#xA;" OwnerUserId="20839" LastActivityDate="2013-12-26T00:08:17.540" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="20321" PostTypeId="2" ParentId="16387" CreationDate="2013-12-26T01:27:10.880" Score="4" Body="&lt;p&gt;This problem is called MIN-SUM clustering and is NP-hard. There's a &lt;a href=&quot;http://www.cs.princeton.edu/~moses/papers/minsum.ps%E2%80%8E&quot; rel=&quot;nofollow&quot;&gt;paper by Bartal, Charikar and Raz&lt;/a&gt; from 2001 that has an approximation scheme for it: the paper also includes references to the NP-hardness result and other related results. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2013-12-26T01:27:10.880" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20322" PostTypeId="2" ParentId="20247" CreationDate="2013-12-26T04:31:26.700" Score="1" Body="&lt;p&gt;When N&amp;lt;3, you may have polynomial time algorithms. For N=1, it is equivalent to the bipartite maximum matching problem.&lt;/p&gt;&#xA;" OwnerUserId="20839" LastActivityDate="2013-12-26T04:31:26.700" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="20323" PostTypeId="1" CreationDate="2013-12-26T05:03:49.383" Score="0" ViewCount="144" Body="&lt;p&gt;I am wondering why some methods transform the underlying DAG-based graphical model (Bayesian Networks for example) to a joint tree$^1$? What are the advantages? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I believe it's for computational purposes. If that's the case under what circumstances it is not recommended to transform the underlying DAG to jointtrees?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Speaking about graphical models in general (whether they are probabilistic or not), is there some guidelines when to transform them i.e. decompose them?&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;sub&gt;$^1$ Also known as jointree, junction tree, tree decomposition.  &lt;/sub&gt;&lt;/p&gt;&#xA;" OwnerUserId="17991" LastActivityDate="2013-12-28T06:47:41.907" Title="Why use joint trees in Graphical Models?" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20326" PostTypeId="1" CreationDate="2013-12-26T11:09:42.467" Score="-2" ViewCount="668" Body="&lt;p&gt;I'm trying to find a formal proof of the following fact:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a context-free language, say $L_1$, and a context-sensitive language, say $L_2$, it is NOT decidable if their intersection is empty ($L_1 \cap L_2 = \emptyset$)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some suggestions for the proof? Thanks&lt;/p&gt;&#xA;" OwnerUserId="20847" LastEditorUserId="17203" LastEditDate="2013-12-26T17:32:11.350" LastActivityDate="2013-12-26T17:32:11.350" Title="Intersection between context-free and context-sensitive language decidability" Tags="&lt;cc.complexity-theory&gt;&lt;computability&gt;&lt;automata-theory&gt;&lt;context-free&gt;&lt;decidability&gt;" AnswerCount="1" CommentCount="2" ClosedDate="2013-12-28T21:31:48.740" ContentLicense="CC BY-SA 3.0" />
  <row Id="20329" PostTypeId="1" CreationDate="2013-12-26T12:52:45.803" Score="3" ViewCount="160" Body="&lt;p&gt;Why is Shor's algorithm in $BPP^{BQNC}$? It's true the quantum Fourier transform is in $BPP^{BQNC}$, but the algorithm needs to call a number theoretic function f which has period p which is a factor of n. f is computed by exponentiation by squaring, but the important thing is it has to be uncomputed reversibly. Doesn't the reversibility requirement place it out of BPP even though it superficially looks like it belongs there?&lt;/p&gt;&#xA;" OwnerUserId="20851" LastActivityDate="2013-12-26T12:52:45.803" Title="Why is Shor's algorithm in $BPP^{BQNC}$ when needing to uncompute subprocedure call?" Tags="&lt;quantum-computing&gt;" AnswerCount="0" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="20330" PostTypeId="1" CreationDate="2013-12-26T12:58:01.097" Score="1" ViewCount="492" Body="&lt;p&gt;Why is finding the ground stte of a Hamiltonian in QMA?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's in QMA to figure out if a hamiltonian has any energy eigenvalue within a certain window range which is at least inverse polynomial in size. But what if the energy gap for the ground state is inverse exponentially small? Then why is specifying the ground state in QMA? It takes an exponential time to measure energy up to inverse exponential accuracy, right? So, Arthur needs more than polynomial time to verify, right?&lt;/p&gt;&#xA;" OwnerUserId="20851" LastEditorUserId="121" LastEditDate="2013-12-27T08:49:32.040" LastActivityDate="2018-11-16T12:37:26.910" Title="Why is finding the ground state of a Hamiltonian in QMA?" Tags="&lt;quantum-computing&gt;" AnswerCount="3" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20331" PostTypeId="1" AcceptedAnswerId="20336" CreationDate="2013-12-26T14:01:04.830" Score="8" ViewCount="466" Body="&lt;p&gt;Has anyone thought about the possibility of a programming language, and a compiler, such that the compiler can automatically do worst-case asymptotic analysis? The use case I have in mind is a programming language where I write code, and compile. The compiler tells me that my code runs in O(n^2) (for example). It does this by doing what the smart people who do algorithmic analysis do, possibly counting loops and so on.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Because of halting problem issues, and since one can have programs that work by dovetailing, for example Levin's algorithm for SAT that runs in polynomial time iff P=NP, I suspect that one may have to design the programming language to be sufficiently restrictive to allow something like this. Are there negative results, which rule out certain kinds of programming languages from having such compilers.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;I would also be interested in systems that give not an exact asymptotic analysis, but an &quot;interesting&quot; upper bound. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;I am specifically &lt;em&gt;NOT&lt;/em&gt; interested in black box and statistical methods that sample from inputs of particular length, and find out how long the program takes. These methods are very interesting, but they are not what I'm looking for. I am interested in &lt;em&gt;exact&lt;/em&gt; methods that may give &lt;em&gt;approximate&lt;/em&gt; bounds. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I would be very grateful if someone could point me to some references on work in this direction.&lt;/p&gt;&#xA;" OwnerUserId="492" LastActivityDate="2013-12-27T20:40:27.547" Title="Can one automate algorithmic analysis?" Tags="&lt;reference-request&gt;&lt;pl.programming-languages&gt;&lt;time-complexity&gt;&lt;compilers&gt;&lt;program-analysis&gt;" AnswerCount="3" CommentCount="10" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="20332" PostTypeId="1" AcceptedAnswerId="20361" CreationDate="2013-12-26T15:37:41.243" Score="2" ViewCount="4219" Body="&lt;p&gt;In my thesis on object recognition based on spatial relations and visual features, I need to convert the images to graphs to be able to work on their spatial relations. Could you introduce some methods you're familiar with along with their advantages and disadvantages? Google yielded no relevant results. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I haven't done much research yet, except for reading a few articles to get familiar with different approaches and methods and have a clear view of what I want to do. Going through &lt;a href=&quot;http://link.springer.com/article/10.1007/s11042-011-0938-3&quot; rel=&quot;nofollow&quot;&gt;this article&lt;/a&gt;, a method is proposed for converting an image to graph, which is called &lt;strong&gt;irregular pyramids&lt;/strong&gt;. So all I want to know is whether there are other methods for such propose?&lt;/p&gt;&#xA;" OwnerUserId="27498" LastEditorUserId="27498" LastEditDate="2013-12-29T10:16:52.027" LastActivityDate="2017-01-21T09:16:58.380" Title="Methods of converting an image to graph" Tags="&lt;graph-theory&gt;&lt;image-processing&gt;" AnswerCount="3" CommentCount="14" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="20333" PostTypeId="2" ParentId="20326" CreationDate="2013-12-26T17:10:34.177" Score="4" Body="&lt;p&gt;The problem is undecidable even for two context-free languages. See for instance &lt;a href=&quot;http://www.cs.wcupa.edu/~rkline/fcs/other-undecidable.html&quot; rel=&quot;nofollow&quot;&gt;this page&lt;/a&gt; for a short proof.&lt;/p&gt;&#xA;" OwnerUserId="17203" LastActivityDate="2013-12-26T17:10:34.177" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="20334" PostTypeId="2" ParentId="20331" CreationDate="2013-12-26T20:22:25.913" Score="2" Body="&lt;p&gt;I actually thought about the same question a while ago. Here is the train of thought I had:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As you said the halting problem is an issue. To avoid this we need a language which only allows programs that always halt. On the other hand our language needs to be expressive enough to deal with  most common problems(e.g. it should at least capture all of the complexity class EXP). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, let's look at LOOP programs. A LOOP program always halts and its expressiveness is way beyond EXP - to get a better idea: you can simulate any TM for which the runtime function can be expressed as LOOP program. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, we can look at the nesting depth and the magnitude of the number of repetitions for every loop from a syntactic point of view and we have a starting point(dont know how far this takes us though). However, consider the following problem:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We want to implement the function $f(n)$:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$f(n) = y$ such that $y$ is the first prime number after $n$ with $y &amp;gt; n$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let's assume we have a function $p(n)$ which tells us whether a number $n$ is prime or not. Then to implement $f(n)$ most of us would probably write something like:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;y := n + 1&#xA;while not prime(y) &#xA;    y++&#xA;return y&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Now, how are we going to do this with only bounded loops? The problem now becomes to think about an upper bound for the range of numbers we have to search.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But that was what we wanted our compiler to tell us in some sense! So, we just shifted the problem of pondering about time complexiy to the programmer. By the way, the following sentence gives us the upper bound for our problem:&#xA;$$ \forall \text{ prime } p \phantom{a} \exists \text{ prime } p' : p &amp;lt; p' \leq p! + 1 $$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My intuition here is that the only information a compiler can give you is from carefully analyzing the syntax which in the end is provided by the programmer. So, enabling the compiler to make any meaningful statement about the time complexity of a program means to force the programmer to incorporate this information into the program. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, the last paragraph is subjective and there certainly might be other possible approaches which yield interesting results. I just wanted to give an idea of what not to expect when going down this road.&lt;/p&gt;&#xA;" OwnerUserId="17410" LastActivityDate="2013-12-26T20:22:25.913" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="20335" PostTypeId="1" CreationDate="2013-12-26T20:51:50.573" Score="-2" ViewCount="158" Body="&lt;p&gt;I'm reading &lt;a href=&quot;http://www.cs.utexas.edu/~shmat/shmat_oak08netflix.pdf&quot; rel=&quot;nofollow&quot;&gt;this article&lt;/a&gt; about how personal information that was anonymaized can usually be re identified. In the article at Theorem 3 the writers talk about &lt;code&gt;entropic deanonymization&lt;/code&gt;. I couldn't figure out what that is. So this is basically my question: What is entropic deanonymization?&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Some context and background&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;Companies like Google/Facebook and many more publish their users data for many reasons, and to keep the private data private, the anonymize the data (remove names, id numbers, address etc.). So then they claim that no ones privacy is harmed. This article say's mainly that it's very compicated to really anonymize the data. So the paper talks about the relation about how much data is published and how much &quot;deanonymization power&quot; you get, Theorem 1 makes the first binding between &lt;code&gt;m&lt;/code&gt; the amount of data published and how good the dataset can be deanonymized. Theorem 2 talks about the same when you have a sparse dataset, like most real world datasets. Theorem 3 is talking about entropy somehow, and this is where is started wondering what &lt;code&gt;entropic deanonymization&lt;/code&gt; is. Later they talk about what you do when only a subset is published (after anonymization) and later on they show results from the Netflix prize - a real competition where this technique was used.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Edit&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;Just for clarity: The author didn't use the phrase &lt;code&gt;entropic deanonymization&lt;/code&gt;. It's a semantic conversion I did, because it was never given a name. Sorry if that's misleading as pointed out in the comments. So my question rephrased: What entropy has to do with deanonymization?&lt;/p&gt;&#xA;" OwnerUserId="13082" LastEditorUserId="111" LastEditDate="2013-12-31T06:56:26.467" LastActivityDate="2013-12-31T06:56:26.467" Title="What's the connection between entropy and deanonymization?" Tags="&lt;ir.information-retrieval&gt;&lt;privacy&gt;" AnswerCount="1" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="20336" PostTypeId="2" ParentId="20331" CreationDate="2013-12-26T20:51:50.997" Score="8" Body="&lt;p&gt;Implicit Complexity has taught us that (some) complexity classes can be classified by type systems, in the sense that there are type systems that only accept polynomial programs, for example. One more practical-minded offshoot of this research is &lt;a href=&quot;http://raml.tcs.ifi.lmu.de/documentation/papers&quot;&gt;RAML&lt;/a&gt; (Resource Aware ML), a functional programming language with a type system that will give you precise information of the running times of its programs. It is more precise, in fact, than big-O complexity, are constant factors are also included, parametrized by a cost model for the base operations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You may think that this is cheating: surely some algorithms have a complexity that is very hard to compute precisely, so how could this language easily determine the complexity of its programs? The trick is that there are many ways to express a given algorithm, some which the type-system will reject (it rejects some fine programs), and some, maybe, that it accept. So the user doesn't get the world for free: he or she doesn't have to compute cost estimations anymore, but need to figure how to express code in a way that is accepted by the system.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(It is always the same trick, as with programming languages with only terminating computations, or provable security properties, etc.)&lt;/p&gt;&#xA;" OwnerUserId="4984" LastEditorUserId="4984" LastEditDate="2013-12-26T23:27:09.763" LastActivityDate="2013-12-26T23:27:09.763" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="20338" PostTypeId="2" ParentId="20335" CreationDate="2013-12-26T22:35:31.493" Score="5" Body="&lt;p&gt;If you read the paper carefully, you will find a discussion about using entropy as a metric for the degree of anonymity (see Section 3).  In particular, if the conditional entropy of a certain random variable is too low (conditioned on the information available to the adversary), then the adversary has narrowed down the value of the supposedly-anonymized information to a small set of plausible values -- so anonymity is poor.  The paper makes this formal.  For instance, see Definition 4 and the surrounding discussion.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Read the paper.  Carefully.  The whole paper.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;And, by the way, nowhere do the authors use the phrase &quot;entropically deanonymization&quot;.  That is a phrase you have invented, not one found in the paper.&lt;/p&gt;&#xA;" OwnerUserId="5038" LastActivityDate="2013-12-26T22:35:31.493" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20339" PostTypeId="1" AcceptedAnswerId="20340" CreationDate="2013-12-27T01:51:25.180" Score="6" ViewCount="632" Body="&lt;p&gt;Given a graph $G$, and a vertex-induced subgraph $H$ of $G$, there are two superficially-similar definitions ways to define the density of $H$:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(1) &lt;b&gt;Average degree&lt;/b&gt; of vertices in $H$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(2) What I will refer to as the &lt;b&gt;&quot;edge density&quot;&lt;/b&gt; of $H$, defined as $\frac{ E(H) }{ \binom{V(H)}{2}}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm interested in understanding the complexity of finding dense subgraphs, subject to constraints on the number of nodes, using the second definition of density. Unfortunately, most of the relevant work I can find, most notably on variants of the $k$-densest subgraph problem, uses the first definition. I'm looking for pointers to work on the second definition. First, I will elaborate on the similarities and differences between the two definitions before asking two specific questions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If one is interested in finding the &lt;b&gt; densest subgraph with a given number of nodes $k$,&lt;/b&gt; it doesn't matter which definition you use. The two definitions coincide when comparing subgraphs with the same number of nodes. The result is the NP-hard $k$-densest subgraph problem, which is well studied, but who's complexity of approximation remains poorly understood. However,when looking for the &quot;densest at-most-k subgraph&quot;  or &quot;densest at-least-k&quot; subgraph, the two definitions of density appear importantly different.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;b&gt;Densest at-most-k subgraph:&lt;/b&gt; Using the average-degree definition, this problem is NP-hard, and its approximability is essentially equivalent to that of the classic &quot;k-densest subgraph&quot; problem [Anderson and Chellapilla '09]. Using the edge density definition, however, this problem is trivial: any two nodes connected by an edge are an optimal choice of $H$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;b&gt;Densest at-least-k subgraph:&lt;/b&gt; Using the average-degree definition, this problem has been studied before, and admits a constant factor approximation [Anderson and Chellapilla '09]. However, using the edge density definition, I can't seem to find any related work.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This get more dicey when one considers both upper and lower bounds on $k$, the number of nodes in the sought induced subgraph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;b&gt;My questions:&lt;/b&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(a) Can anyone point me to work on approximation algorithms for densest at-least-k subgraph using the edge-density definition of density?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(b) What is the proper name of what I'm calling &quot;edge density&quot;? Why does this definition appear more esoteric, as far as the approximation algorithms community is concerned, than the average degree definition? (Or is it?)&lt;/p&gt;&#xA;" OwnerUserId="2945" LastActivityDate="2013-12-27T18:35:49.733" Title="Variants of Densest Subgraph Problems" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;approximation-algorithms&gt;&lt;approximation-hardness&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="20340" PostTypeId="2" ParentId="20339" CreationDate="2013-12-27T08:30:54.950" Score="4" Body="&lt;p&gt;This is meant more as a comment than as a solution, but is a bit too long to fit in the comment box. There is a bit of handwaving and ignoring of small factors, but I can formalize the work below further if requested.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here's a heuristic reason why (a) might be difficult to approximate within a small factor. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider the random-in-random &lt;code&gt;PLANTED DENSE SUBGRAPH&lt;/code&gt; problem, which one to reliably distinguish between the Erdos-Renyi graph $G(n,p)$ and the graph $G(n,p)$ with a planted $G(n',p')$ for certain values of $n,n',p,p'$. It is a difficult problem -- conjectured hard by some -- to do this in polynomial time for $p = \frac{1}{n^{1/2}}$, $n' = n^{1/2}$, $p' = \frac{1}{n^{1/4 + \epsilon}}$. That is, it's hard to distinguish a &quot;pure&quot; $G(n,1/\sqrt{n})$ graph (where each induced subgraph of size $\sqrt{n}$ has average degree near $1$) from instances where some subset of $\sqrt{n}$ vertices has so many edges planted between them that the average degree is roughly $n^{1/4 - \epsilon}$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In such instances, there's quite a large gap in the maximum edge densities in subgraphs of size at least $\sqrt{n}$. In particular, while the planted portion of the planted-instance graph has edge density roughly $\frac{1}{n^{1/4+\epsilon}}$, just about any size $\sqrt{n}$ (or higher) subgraph of the non-planted $G(n,1/\sqrt{n})$ graph will have edge density about $1/\sqrt{n}$, a gap of roughly $n^{1/4 - \epsilon}$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any approximation algorithm with a stronger guarantee than $n^{1/4 - \epsilon}$ can thus be used to solve a conjectured-hard class of instances of Planted-DkS.&lt;/p&gt;&#xA;" OwnerUserId="3532" LastEditorUserId="3532" LastEditDate="2013-12-27T08:36:01.677" LastActivityDate="2013-12-27T08:36:01.677" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="20341" PostTypeId="2" ParentId="20330" CreationDate="2013-12-27T08:42:59.787" Score="2" Body="&lt;p&gt;There needs to be a gap between the eigenvalue of the groundspace and the first excited state that is inverse-polynomial in the system size, and indeed such a promise is required for the QMA-complete Local Hamiltonian problem. Please refer to the formal definition of the Local Hamiltonian problem and the QMA-completness proof, e.g. Definition 10 and Theorem 1 in &lt;a href=&quot;http://arxiv.org/pdf/0808.2117v1.pdf&quot; rel=&quot;nofollow&quot;&gt;Nagaj's thesis&lt;/a&gt;. If the gap is inverse-exponentially small, then the promise is not satisfied by that local Hamiltonian instance and the QMA-completness proof does not apply since a key assumption is not satisfied.&lt;/p&gt;&#xA;" OwnerUserId="121" LastEditorUserId="121" LastEditDate="2013-12-27T09:26:06.987" LastActivityDate="2013-12-27T09:26:06.987" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20346" PostTypeId="2" ParentId="20339" CreationDate="2013-12-27T18:35:49.733" Score="2" Body="&lt;p&gt;The edge density as you define it is often used in extremal graph theory. See for example the textbook of Diestel, where he defines it under this name in the chapter on extremal graph theory. It is a useful notion especially when considering dense graph classes, then the lim sup of edge densities from the class will go to something interesting below 1. See for example the famous theorem of &lt;a href=&quot;http://www.renyi.hu/~p_erdos/1966-01.pdf&quot; rel=&quot;nofollow&quot;&gt;Erdös and Simonovits.&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The lim sup for a sparse graph class will always go to $0$ and we gain no insight from this. When considering sparse graph classes and also when analysing algorithms, the notion of average degree is more useful. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I do not know of any algorithmic results using the definition of edge density. Maybe it might be interesting to you that if you drop $k$ completely, i.e., if you just want to find the densest subgraph, this can be done in &lt;a href=&quot;http://epubs.siam.org/action/showAbstract?page=30&amp;amp;volume=18&amp;amp;issue=1&amp;amp;journalCode=smjcat&amp;amp;&amp;amp;&quot; rel=&quot;nofollow&quot;&gt;polynomial time.&lt;/a&gt; &lt;/p&gt;&#xA;" OwnerUserId="17644" LastActivityDate="2013-12-27T18:35:49.733" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20348" PostTypeId="2" ParentId="20331" CreationDate="2013-12-27T20:40:27.547" Score="7" Body="&lt;p&gt;The &lt;a href=&quot;http://costa.ls.fi.upm.es/~costa/costa/costa.php&quot;&gt;COSTA tool&lt;/a&gt; developed by the &lt;a href=&quot;http://costa.ls.fi.upm.es/web/&quot;&gt;COSTA research group&lt;/a&gt; does exactly what you want. Given a program (in Java bytecode format), the tool produces a cost equation based on a cost model provided by the programmer. The cost model can involve entities such as runtime, memory usage, or billable events (such as sending text messages). The runtime equation is then solved using a dedicated tool to produce a closed form, worst-case upper bound of the cost model.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Naturally, the tool does not work in all cases, either by failing to produce a runtime equation or by failing to find a closed form. This is not surprising.&lt;/p&gt;&#xA;" OwnerUserId="77" LastActivityDate="2013-12-27T20:40:27.547" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20350" PostTypeId="2" ParentId="20323" CreationDate="2013-12-28T06:47:41.907" Score="1" Body="&lt;p&gt;My only background on this subject is a course I took as a grad student, so take my answer with a grain of salt:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The reason that some methods transform the DAG to a tree because some algorithms work on trees but do not work on graphs with cycles. For example, belief propogation is guaranteed to converge on a tree after every node received two messages. On general graphs, on the other hand, no general convergence theorem is known, and we know that convergence occurs only in some special cases. Intuitively, the reason is that on a general graph, a message that goes through a cycle can loop in it indefinitely, each time changing the information stored at the nodes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Regarding under what circumstances it is recommended to transform the graph into a tree: In the process of transforming the graph into a tree, every node of the new tree is identified with a set of nodes of the original graph. The size of the maximal set with which a node is identified (in the best decomposition) is called the &lt;i&gt;tree-width&lt;/i&gt; of the graph. Now, the complexity of belief propagation, as well as other algorithms, is exponential in the tree-width, so you want to transform the graph to a tree only if the tree-width is sufficiently small.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Unfortuantely, it is $NP$-complete to compute the tree-width of a graph exactly, but there are some approximation algorithms. You can read more about it in Shiva Kintali's blog:&#xA;&lt;a href=&quot;http://kintali.wordpress.com/2010/01/28/approximating-treewidth/&quot; rel=&quot;nofollow&quot;&gt;http://kintali.wordpress.com/2010/01/28/approximating-treewidth/&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="8429" LastActivityDate="2013-12-28T06:47:41.907" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="20352" PostTypeId="2" ParentId="18965" CreationDate="2013-12-28T13:57:23.877" Score="7" Body="&lt;p&gt;The closest I've seen to an answer to this question is the first picture in &lt;a href=&quot;http://www.pps.univ-paris-diderot.fr/~mellies/gallery.html&quot; rel=&quot;noreferrer&quot;&gt;the Gallery of Doctor Melliès&lt;/a&gt;,&#xA;&lt;img src=&quot;https://i.stack.imgur.com/lqhD9.jpg&quot; alt=&quot;~~A * ~~B |- ~~(A * B)&quot;&gt;&#xA;illustrating the map&#xA;$$\neg\neg A \otimes \neg\neg B \longrightarrow \neg\neg(A \otimes B)$$&#xA;which exists in any &lt;em&gt;dialogue category&lt;/em&gt; (i.e., a monoidal category with closures into a fixed object).  Note that the left-to-right CPS transform of general binary functions reduces to applying this map and then composing with the functorial action of the double-negation monad.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The illustration basically follows the standard conventions of &lt;a href=&quot;http://ncatlab.org/nlab/show/string+diagram&quot; rel=&quot;noreferrer&quot;&gt;string diagrams&lt;/a&gt; (modulo the polarizations of the wires, which are meant to indicate the flow of control).  In particular, the map is constructed in three steps: twice applying the &lt;a href=&quot;http://ncatlab.org/nlab/show/tensorial+strength&quot; rel=&quot;noreferrer&quot;&gt;strength&lt;/a&gt; ($\kappa\wedge$) of the monad induced from the negation self-adjunction, and then applying the counit of the adjunction ($\epsilon$).  At this level of abstraction, the derivation is generic for any adjunction giving rise to a strong monad, and you could then ask for a more abstract characterization of such adjunctions, which Melliès has also &lt;a href=&quot;http://www.pps.univ-paris-diderot.fr/~mellies/tensorial-logic/8-parametric-monads-and-enriched-adjunctions.pdf&quot; rel=&quot;noreferrer&quot;&gt;written about&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="674" LastActivityDate="2013-12-28T13:57:23.877" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20353" PostTypeId="1" CreationDate="2013-12-28T15:54:57.033" Score="3" ViewCount="1170" Body="&lt;p&gt;I searched through the web for a polynomial algorithm for correlated equilibrium. &#xA;I found a lot of papers by C.H. Papadimitriou that proposes a solution using the &lt;a href=&quot;http://en.wikipedia.org/wiki/Ellipsoid_method&quot; rel=&quot;nofollow&quot;&gt;ellipsoid algorithm&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Is there a simpler algorithm to get the correlated equilibrium, or a paper to start from?&lt;/strong&gt;&lt;/p&gt;&#xA;" OwnerUserId="20875" LastEditorUserId="1037" LastEditDate="2014-01-15T00:47:24.240" LastActivityDate="2014-01-15T00:48:56.077" Title="Polynomial algorithm for correlated equilibrium" Tags="&lt;linear-programming&gt;&lt;gt.game-theory&gt;" AnswerCount="2" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="20354" PostTypeId="2" ParentId="20353" CreationDate="2013-12-28T20:46:33.803" Score="3" Body="&lt;p&gt;I would perhaps suggest taking a look at the &quot;Algorithmic Game Theory&quot; book by Noam Nisan et. al., which briefly discusses this problem. The solution however, is left up to the reader. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you're needing to actually compute correlated equilibria, and your input is a payoff matrix, I would suggest formulating it as an LP and then applying a standard LP solver like CPLEX or Gurobi. To formulate it as an LP, you introduce a variable for each cell in the payoff matrix, and constrain their sum to one. Then, for each player, action, and action the player can deviate to, you introduce a constraint requiring the deviation to have no better utility, conditioned on the probability distribution induced by the choice of action revealed to the player. This constraint is linear, and I would suggest taking a look at page 14-15 in the Algorithmic Game Theory book for an explanation of the constraint.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If your input is not the payoff matrix, you might still be in luck. For another good paper on (exact) computation of correlated equilibria in compact games, check out &quot;Polynomial-time Computation of Exact Correlated Equilibrium in Compact Games&quot; by Albert Xin Jiang et. al. (Edit: See Albert's answer to this question: &lt;a href=&quot;https://cstheory.stackexchange.com/questions/1994/algorithms-for-nash-equilibrium-computation?rq=1&quot;&gt;Algorithms for Nash equilibrium computation.&lt;/a&gt;)&lt;/p&gt;&#xA;" OwnerUserId="3837" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2013-12-28T20:52:57.870" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20355" PostTypeId="2" ParentId="20353" CreationDate="2013-12-28T22:26:29.597" Score="7" Body="&lt;p&gt;The linear program for computing a correlated equilibrium in a game has size that is polynomial in the size of the game matrix: i.e. exponential in the number of players. The scheduling game that you describe is an $n$ player game, so the linear program will not be polynomially sized. However, it is a compactly represented game, so you can in principle use the &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=1379762&quot; rel=&quot;nofollow&quot;&gt;Ellipsoid approach of Papadimitirou and Roughgarden&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you are ok with an approximate correlated equilibrium, there are much simpler and easier to implement approaches based on no-regret algorithms. For a textbook exposition, check out &lt;a href=&quot;http://www.cs.cmu.edu/~avrim/Papers/regret-chapter.pdf&quot; rel=&quot;nofollow&quot;&gt;Chapter 4 of Algorithmic Game Theory&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="25" LastEditorUserId="1037" LastEditDate="2014-01-15T00:48:56.077" LastActivityDate="2014-01-15T00:48:56.077" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20357" PostTypeId="1" CreationDate="2013-12-29T04:05:44.583" Score="3" ViewCount="255" Body="&lt;p&gt;&lt;strong&gt;Background:&lt;/strong&gt;&lt;br&gt;&#xA;&lt;a href=&quot;http://pine.cs.yale.edu/pinewiki/AtomicSnapshots&quot; rel=&quot;nofollow&quot;&gt;Atomic snapshot memory&lt;/a&gt; is a shared memory partitioned into words written (&lt;em&gt;updated&lt;/em&gt;) by individual processes, or instantaneously read (&lt;em&gt;scanned&lt;/em&gt;) in its entirety.&lt;br&gt;&#xA;&lt;a href=&quot;http://dl.acm.org/citation.cfm?id=153724.153741&quot; rel=&quot;nofollow&quot;&gt;The Gang of Six algorithm&lt;/a&gt; shows that such an atomic snapshot object has wait-free implementation with $\Theta(n^2)$ reads and writes to the component shared registers (when they are restricted to single-writer, $n$-reader registers) in the worst case. This time complexity is then reduced to $\Theta(n \log n)$ using &lt;a href=&quot;http://epubs.siam.org/doi/abs/10.1137/S0097539795279463?journalCode=smjcat&quot; rel=&quot;nofollow&quot;&gt;a more clever algorithm&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Questions:&lt;/strong&gt;&lt;br&gt;&#xA;The two algorithms are both concerned with the most general structure of the underlying single-writer, $n$-reader registers. That is to say, they are simply an unorganized array of registers. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, in many situations, they are in tree structures, like in a file system. For instance, in ZooKeeper, the in-memory &lt;em&gt;znodes&lt;/em&gt; are organized in a hierarchical namespace referred to as the &lt;em&gt;data tree&lt;/em&gt;. My questions are:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;ol&gt;&#xA;  &lt;li&gt;Are there any atomic snapshot algorithms concerning the special tree structures of the underlying shared registers? (I found nothing closely related.)&lt;/li&gt;&#xA;  &lt;li&gt;What are the advantages an atomic snapshot algorithm can take when the underlying shared registers are organized in trees, in hope of reducing the worst-case (or average-case) time complexity.&lt;/li&gt;&#xA;  &lt;/ol&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="12739" LastEditorUserId="12739" LastEditDate="2015-03-26T02:03:57.283" LastActivityDate="2015-03-26T02:03:57.283" Title="Atomic snapshot algorithms on tree-structured shared registers" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;ds.data-structures&gt;&lt;dc.distributed-comp&gt;&lt;concurrency&gt;" AnswerCount="0" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="20359" PostTypeId="2" ParentId="20332" CreationDate="2013-12-29T10:39:44.403" Score="6" Body="&lt;p&gt;I'm not an expert, but perhaps this recent survey can help you:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.mecs-press.org/ijigsp/ijigsp-v4-n5/IJIGSP-V4-N5-1.pdf&quot;&gt;K. Santle Camilus, V. K. Govindan, A Review on Graph Based Segmentation;&#xA;I.J. Image, Graphics and Signal Processing, 2012, 5, 1-13&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Abstract: ... The major&#xA;four categorizations we have employed for the purpose of&#xA;review are: &lt;em&gt;graph cut based methods, interactive methods,&#xA;minimum spanning tree based methods and pyramid&#xA;based methods&lt;/em&gt;. This review not only reveals the pros in&#xA;each method and category but also explores its&#xA;limitations. ...&lt;/p&gt;&#xA;" OwnerUserId="3247" LastActivityDate="2013-12-29T10:39:44.403" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20360" PostTypeId="1" CreationDate="2013-12-29T15:06:10.500" Score="1" ViewCount="291" Body="&lt;p&gt;Suppose you have items, whose total size (i.e. sum of sizes) is $k$. &#xA;The number of items and their individual sizes are unknown integers.&#xA;We need to pack the items into bins of size $r$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I need to find a number of bins $X$, such that given a random distribution of the items into bins (every item goes to every bin w.p. $1/X$), all bins will satisfy the size limit &#xA;(i.e. no bin will contain items of size more than r) with as high as possible probability.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If, for a specific $X$, we denote the success probability by $P_X$, then my goal is to minimize $\frac{X + 1 \choose k + 1}{P_X}$ (for an adversarial selection of item number and sizes).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We have pretty much established that if $X &amp;lt; \frac{2k}{r+1}$, then $P_X=0$ (or $X &amp;lt; \frac{2k}{r}$, in case $r$ is even).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I believe that if we pick $X = \frac{2k}{r}$, then we get a probability bound of $P_X \geq X!/X^X &amp;gt; e^{-X}$, since it looks like the worst case is when all items are of size $(r/2 + \epsilon)$, where $\epsilon \in {0.5,1}$ depending on whether $r$ is odd or even.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If this is indeed the worst case, I have to get all of the items colored by different colors (packed into different random beans), so the bound $P_X \geq X!/X^X$ is tight.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The motivation for this problem comes from random coloring of graphs, where I want to color weighted vertices, such that no color will have vertices of weight more than $r$ colored by it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;~~~~~~~~~~&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A try to formalize the question in a simpler manner:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Find a minimal number of colors $C$, such that if we randomly color an item set $I$, whose total size is $k$:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The probability of the event where there is a color in which an items of size $&amp;gt; r$ is only exponentially low in $k$.&lt;/p&gt;&#xA;" OwnerUserId="20885" LastEditorUserId="20885" LastEditDate="2013-12-30T11:24:20.293" LastActivityDate="2013-12-30T11:24:20.293" Title="Bin packing upper bound: total size of items = k, bin size = r" Tags="&lt;upper-bounds&gt;&lt;packing&gt;&lt;combinatorics&gt;" AnswerCount="0" CommentCount="11" ContentLicense="CC BY-SA 3.0" />
  <row Id="20361" PostTypeId="2" ParentId="20332" CreationDate="2013-12-29T15:35:20.277" Score="6" Body="&lt;p&gt;This paper may be useful and it may lead you in the right direction. &quot;Graph-theoretical Methods In Computer Vision,&quot; available at &lt;a href=&quot;http://www.cs.toronto.edu/~sven/Papers/graph02.pdf&quot; rel=&quot;nofollow&quot;&gt;http://www.cs.toronto.edu/~sven/Papers/graph02.pdf&lt;/a&gt;&quot;.&lt;/p&gt;&#xA;" OwnerUserId="12867" LastEditorUserId="12867" LastEditDate="2013-12-30T05:53:35.843" LastActivityDate="2013-12-30T05:53:35.843" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20362" PostTypeId="1" CreationDate="2013-12-29T15:38:41.160" Score="6" ViewCount="337" Body="&lt;p&gt;I know that computing factorial modulo a composite number has no fast algorithm and showing non-polylogarithmic lower bound in BSS model for factorial would separate P from NP in that model.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given $a\in\Bbb Z/n\Bbb Z$, where $n$ is composite, what is the complexity of calculating $a^{m!}$ in $\Bbb Z/n\Bbb Z$ for any given integer $n&amp;gt;m&amp;gt;0$?&lt;/p&gt;&#xA;" OwnerUserId="1812" LastEditorUserId="1812" LastEditDate="2014-02-05T14:24:48.857" LastActivityDate="2014-08-04T18:10:39.567" Title="Complexity of factorial exponent over composite moduli" Tags="&lt;cc.complexity-theory&gt;&lt;nt.number-theory&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20363" PostTypeId="2" ParentId="20332" CreationDate="2013-12-29T16:55:15.183" Score="0" Body="&lt;p&gt;unfortunately as pointed out in many comments the question is still a little too vague to be very specific. graphs are used in &lt;em&gt;very many&lt;/em&gt; contexts in image analysis. however as mentioned in other answer(s), indeed one of the main uses is &lt;a href=&quot;http://en.wikipedia.org/wiki/Image_segmentation&quot; rel=&quot;nofollow&quot;&gt;image segmentation&lt;/a&gt;, basically the representation of the local spatial areas of an image as a graph, and there are several surveys in this area. image segmentation seems to be sufficient for your application but it would be better if you were more specific about your application. here are several surveys on graph-based image segmentation.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www4.comp.polyu.edu.hk/~cslzhang/paper/PR_2012_review.pdf&quot; rel=&quot;nofollow&quot;&gt;A Survey of Graph Theoretical Approaches to Image Segmentation&lt;/a&gt;, Peng, Zhang, Zhang&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.ijsce.org/attachments/File/v2i6/F1121112612.pdf&quot; rel=&quot;nofollow&quot;&gt;Survey on Image Segmentation Using Graph&#xA;Based Methods&lt;/a&gt; Nalina.P, Muthukannan.K&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://su.digitaluniversity.ac/downloads/2%20_1.pdf&quot; rel=&quot;nofollow&quot;&gt;GRAPH THEORETICAL APPROACHES FOR IMAGE SEGMENTATION&lt;/a&gt; Basavaprasad B., Ravindra S. Hegadi&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2013-12-29T16:55:15.183" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20364" PostTypeId="1" AcceptedAnswerId="20368" CreationDate="2013-12-29T18:36:20.310" Score="9" ViewCount="1427" Body="&lt;p&gt;Is there any system similar to the lambda calculus that is strong normalizing, without the need to add a type system on top of it?&lt;/p&gt;&#xA;" OwnerUserId="17388" LastActivityDate="2014-01-09T16:24:36.273" Title="How to make the Lambda Calculus strong normalizing without a type system?" Tags="&lt;pl.programming-languages&gt;&lt;computability&gt;&lt;lambda-calculus&gt;&lt;functional-programming&gt;" AnswerCount="3" CommentCount="1" FavoriteCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="20365" PostTypeId="2" ParentId="5101" CreationDate="2013-12-29T19:19:04.393" Score="5" Body="&lt;p&gt;There have been interesting developments on this problem, however Replacing $AC^0$ with ACC(2) (Namely allowing mod 2 gates as well) is still well out-of-reach. Some progress beyond Ben Green's theorem can be found in this MO question &lt;a href=&quot;https://mathoverflow.net/questions/57543/walsh-fourier-transform-of-the-mobius-function&quot;&gt;https://mathoverflow.net/questions/57543/walsh-fourier-transform-of-the-mobius-function&lt;/a&gt; as well as this one &lt;a href=&quot;https://mathoverflow.net/questions/97261/mobius-randomness-of-the-rudin-shapiro-sequence&quot;&gt;https://mathoverflow.net/questions/97261/mobius-randomness-of-the-rudin-shapiro-sequence&lt;/a&gt; . In addition, Jean Bourgain proved Mobius randomness for every monotone function $f$ (in terms of the binary-digit expansion).&lt;/p&gt;&#xA;" OwnerUserId="712" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2013-12-29T19:19:04.393" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20367" PostTypeId="2" ParentId="20364" CreationDate="2013-12-30T01:20:05.163" Score="12" Body="&lt;p&gt;The original paper by Church and Rosser, &quot;Some Properties of Conversion,&quot; describes something that may be an example of what you're looking for.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you use the &lt;em&gt;strict&lt;/em&gt; lambda calculus, where in every occurrence of $\lambda x.M$ you have that $x$ appears free in $M$, then without a type system the following property holds (it's Theorem 2 in Church and Rosser's paper):&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;If $B$ is a normal form of $A$, then there is a number $m$ such that any sequence of reductions starting from $A$ will lead to $B$ [modulo alpha equivalence] after at most $m$ reductions.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Thus, even though you can write non-terminating terms in the (untyped) strict lambda calculus,  every term with a normal form normalizes strongly; that is, every sequence of reductions will reach that unique normal form.&lt;/p&gt;&#xA;" OwnerUserId="1024" LastEditorUserId="1024" LastEditDate="2014-01-09T16:24:36.273" LastActivityDate="2014-01-09T16:24:36.273" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="20368" PostTypeId="2" ParentId="20364" CreationDate="2013-12-30T02:03:47.807" Score="22" Body="&lt;p&gt;I can think of a few possible answers coming from linear logic.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The simplest one is the affine lambda-calculus: consider only lambda-terms in which every variable appears at most once.  This condition is preserved by reduction and it is immediate to see that the size of affine terms strictly decreases with each reduction step.  Therefore, the untyped affine lambda-calculus is strongly normalizing.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More interesting examples (in terms of expressiveness) are given by the so-called &quot;light&quot; lambda-calculi, arising from the subsystems of linear logic introduced by Girard in &quot;Light Linear Logic&quot; (Information and Computation 143, 1998), as well as Lafont's &quot;Soft Linear Logic&quot; (Theoretical Computer Science 318, 2004).  There are several such calculi in the literature, perhaps a good reference is Terui's &quot;Light affine lambda calculus and polynomial time strong normalization&quot; (Archive for Mathematical Logic 46, 2007).  In that paper, Terui defines a lambda-calculus derived from light affine logic and proves a strong normalization result for it.  Even though types are mentioned in the paper, they are not used in the normalization proof.  They are useful for a neat formulation of the main property of the light affine lambda-calculus, namely that the terms of a certain type represent exactly the Polytime functions.  Similar results are known for elementary computation, using other &quot;light&quot; lambda-calculi (Terui's paper contains further references).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As a side note, it is interesting to observe that, in proof-theoretic terms, the affine lambda-calculus corresponds to intuitionistic logic without the contraction rule.  Grishin observed (before linear logic was introduced) that, in the absence of contraction, naive set theory (i.e., with unrestricted comprehension) is consistent (i.e., Russel's paradox does not give a contradiction).  The reason is that cut-elimination for naive set-theory without contraction may be proved by a straightforward size-decreasing argument (as the one I gave above) which does not rely on the complexity of formulas.  Via the Curry-Howard correspondence, this is exactly the normalization of the untyped affine lambda-calculus.  It is by translating Russel's paradox in linear logic and by &quot;tweaking&quot; the exponential modalities so that no contradiction could be derived that Girard came up with light linear logic.  As I mentioned above, in computational terms light linear logic gives a characterization of the polynomial-time computable functions.  In proof-theoretic terms, a consistent naive set theory may be defined in light linear logic such that the provably total functions are exactly the polynomial-time computable functions (there is another paper by Terui on this, &quot;Light affine set theory: A naive set theory of polynomial time&quot;,&#xA;Studia Logica 77, 2004).&lt;/p&gt;&#xA;" OwnerUserId="20716" LastActivityDate="2013-12-30T02:03:47.807" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="20369" PostTypeId="1" AcceptedAnswerId="20480" CreationDate="2013-12-30T07:21:12.787" Score="2" ViewCount="3542" Body="&lt;p&gt;I'm studying how, given:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;an input from the user ( like a click of the mouse or the input from a key )&lt;/li&gt;&#xA;&lt;li&gt;a well defined data structure that represent the graphical layout inside a window ( a tree/graph like structure for now )&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I could possibly create what is generally called as a &quot;G/UI toolkit&quot;, which means that I should be able to create a responsive UI and a mapping between the input from the user and the functionality given to the UI itself.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I found absolutely no paper, no technical explanation, no articles, about both the data structure and the algorithms used to perform this kind of mapping, and I'm wondering if someone could help me with this.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I found some sparse reference to some tree-like data structure like kd-tree or quadtree that are used to subdivide the 2D space in the window and so when the signal will be fired, the coordinates generated by the signal, the click of a mouse, will be injected in the tree to find the corresponding widget to activate.&#xA;This approach feels really old and I don't think it will scale that well.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I also found some reference to what is called the &lt;a href=&quot;http://arstechnica.com/apple/2000/01/macos-x-gui/3/&quot; rel=&quot;nofollow&quot;&gt;third generation&lt;/a&gt; of rasterizers and UIs which seems to be based on linear algebra/vectors and sounds really nice because it's highly scalable and simple to reason about, the problem is I can't see any implementation or algorithms or data structures.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Someone can point me in the right direction ?&lt;/p&gt;&#xA;" OwnerUserId="20896" LastActivityDate="2019-03-15T09:42:44.467" Title="What are the algorithms and the data structures for GUIs and input management?" Tags="&lt;graph-algorithms&gt;&lt;data-streams&gt;" AnswerCount="2" CommentCount="5" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="20371" PostTypeId="2" ParentId="20369" CreationDate="2013-12-30T10:39:17.303" Score="2" Body="&lt;p&gt;A graphical user interface that contains more than a few tens of components would be very confusing for the user. This means that, whatever data structure is used, it doesn't have to scale to large instances. The user is unlikely to generate more than a couple of mouse-clicks per second, so whatever data structure is used, it doesn't even have to be processed very fast.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So it sounds like this is a problem that has already been solved as well as it needs to be solved and, in fact, that almost anything you could try would work on a modern computer.&lt;/p&gt;&#xA;" OwnerUserId="17082" LastActivityDate="2013-12-30T10:39:17.303" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="20373" PostTypeId="1" CreationDate="2013-12-30T12:22:33.460" Score="0" ViewCount="128" Body="&lt;p&gt;Suppose that you have a multiset of positive integers $I$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$I$ is not given, but it is known that the sum over all elements of $I$ = $k$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;(e.g. if $I$={2,5,7} then k=14 is given, but I is unknown).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We are also given another integer $r$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$S\subseteq I$ will be called $r-minimal-subset$, if $sum(S)&amp;gt;r$,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;and for every $x\in S$, $sum(S$\{x}$) \leq r$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, if $I$={1,3,3,5,7,8} and r=10, &lt;/p&gt;&#xA;&#xA;&lt;p&gt;then {3,3,5} and {1,3,7} are r-minimal-subset, but {5,7,8} is not (as the subset {7,8} 's sum is 15. {7,8} is a r-minimal-subset).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is the the best upper bound we can give on the number of $r-minimal-subsets$ of I?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(In this setting, we get is $(r,k)$, while $I$ is being chosen by an adversary). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;~~~~~~~~~~~~~~~~~~~~~~~~~~&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit:&#xA;Hmm, sorry for the question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Obviously the answer is $k \choose r+1$, for I={1,1,..,1}, $|I|=k$.&#xA;It doesn't let me answer the question, so you could go ahead :/.&lt;/p&gt;&#xA;" OwnerUserId="20885" LastEditorUserId="20885" LastEditDate="2013-12-30T12:36:31.037" LastActivityDate="2014-01-02T08:05:26.993" Title="Counting subsets with large sum" Tags="&lt;co.combinatorics&gt;&lt;upper-bounds&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20374" PostTypeId="2" ParentId="20373" CreationDate="2013-12-30T14:47:51.610" Score="-1" Body="&lt;p&gt;Let me know if I understood the question correctly: you want to count the sets of $n$ positive integers summing exactly $k$, right? This is $\binom{n+k+1}{k}$. If you want for non-negative integers version, add one more number to the count, $\binom{n+k+1}{k+1}$.&lt;/p&gt;&#xA;" OwnerUserId="8123" LastActivityDate="2013-12-30T14:47:51.610" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="20380" PostTypeId="1" CreationDate="2013-12-31T02:40:18.217" Score="6" ViewCount="710" Body="&lt;p&gt;Suppose we are given two graphs $G$ and $H$, where $H$ is a subgraph of $G$. What is the maximum number $k$ such that if any $k$ edges are removed from $G$, $H$ still remains a subgraph of $G$? What about the same question when edges are replaced by vertices? A generalization is to consider weights on edges/vertices and ask for maximum weight edges/vertices. I want both a bound as well as an algorithm. This problem is NP-hard as subgraph isomorphism is a special case of it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any papers on this problem will be helpful.&lt;/p&gt;&#xA;" OwnerUserId="9569" LastEditorUserId="9569" LastEditDate="2013-12-31T05:01:58.587" LastActivityDate="2018-05-08T07:26:18.957" Title="Edge and vertex fault tolerance in graphs" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;np-hardness&gt;&lt;approximation-algorithms&gt;" AnswerCount="2" CommentCount="6" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="20381" PostTypeId="2" ParentId="20380" CreationDate="2013-12-31T03:54:05.677" Score="0" Body="&lt;p&gt;/* My response no longer applies after the question was edited. */&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The unweighted versions are trivial.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The answer to &quot;How many vertices can be removed so that $H$ is still a subgraph?&quot; is $|V(G)|-|V(H)|$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The answer to &quot;How many edges can be removed so that $H$ is still a subgraph&quot; is $|E(G)|-|E(H)|$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The complexity may be different when the graphs are weighted or if you don't assume a priori that $H \subseteq G$.&lt;/p&gt;&#xA;" OwnerUserId="13056" LastEditorUserId="13056" LastEditDate="2013-12-31T13:57:59.047" LastActivityDate="2013-12-31T13:57:59.047" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="20384" PostTypeId="1" AcceptedAnswerId="20662" CreationDate="2013-12-31T09:05:51.400" Score="1" ViewCount="86" Body="&lt;p&gt;Two phase commitment can be used for distributed transaction commitment. But it is consider as a blocking protocol when we used it with a best effort broadcast (BEBcast).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My first question is, can we overcome &quot;blocking&quot; using 2PC (two phase commitment) with Uniform reliable broadcast (URBcast)?&#xA; if it can, then what are the limitations if we compared it with a 3PC (three phase commitment) protocol? &lt;/p&gt;&#xA;" OwnerUserId="20913" LastEditorUserId="20913" LastEditDate="2014-01-02T02:56:46.997" LastActivityDate="2014-01-20T14:27:58.190" Title="2PC with URBcast" Tags="&lt;dc.distributed-comp&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="20385" PostTypeId="2" ParentId="20278" CreationDate="2013-12-31T09:35:14.630" Score="3" Body="&lt;p&gt;Here is how to solve the basic task in $O(n)$, at the expense of possibly lots of preprocessing. (This expands a comment I made.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Example.&lt;/strong&gt; Suppose that $n$ is 3, and the given sets are {1,2}, {2,3}. Represent the boolean function $f(x_1,x_2,x_3)=(x_1\land x_2)\lor(x_2\land x_3)$ as a BDD:&#xA;$$f(x_1,x_2,x_3)=x_1?(x_2?1:0):(x_2?(x_3?1:0):0)$$&#xA;(Here $x?a:b$ means 'if $x$ then $a$ else $b$'.)&#xA;Clearly, evaluating $f$ written in this form takes time linear in $n$, which is possibly much smaller than the size of the input. The problem, of course, is that going from DNF to BDD may take an exponential amount of time (and space). But this is just preprocessing.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose the query is the set {1}. We evaluate $f(0,1,1)$ to get 1, so we conclude that one of the given sets is disjoint from the query.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose the query is the set {2}. We evaluate $f(1,0,1)$ to get 0, so we conclude that none of the given sets is disjoint from the query.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;The general case.&lt;/strong&gt; Given sets $S_1,\ldots,S_m\subseteq[n]$, represent the function&#xA;$$f(x_1,\ldots,x_n)=\bigvee_{i=1}^m\bigwedge_{j\in S_i}x_j$$&#xA;as a (RO)BDD. To answer a query $X$ evaluate $f(x_1,\ldots,x_n)$ with $x_j=[j\notin X]$ for $1\le j\le n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Comments.&lt;/strong&gt; One way to view this construction is as a systematic way to precompute all answers. ‘Precompute all answers’ sounds dissatisfying, but I think the keyword should be ‘systematic’: it's not &lt;em&gt;a priori&lt;/em&gt; obvious how to do it for this problem, given the comments on the question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another thing to note is that there are many negations going on here, which some people say are obvious, but they tend to make me dizzy. Probably the only reason I saw this construction quickly is that minutes before reading the question I was looking at the Monotone Duality problem, which is closely related to the question. Monotone Duality comes in many guises. One of them is Hitting-Sets: Given a family of sets, compute the family of all the hitting sets. This is clearly related to the question posed here, in which we are asked whether a given set is not a hitting set. (It's not the same though.) Another guise is Monotone-DNF-Dual: Given a monotone $f$ in DNF, find a $g$ in DNF such that $\lnot f(x_1,\ldots,x_m)=g(\lnot x_1,\ldots,\lnot x_m)$. I thought of the construction above because I knew that this is an equivalent formulation. So, perhaps a reference to a survey of the Monotone Duality problem would serve as a suitable reference:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Eiter, Makino, Gottlob, &lt;a href=&quot;http://scholar.google.co.uk/scholar?hl=en&amp;amp;q=Computational%20Aspects%20of%20Monotone%20Dualization%3a%20A%20Brief%20Survey&quot; rel=&quot;nofollow&quot;&gt;Computational Aspects of Monotone Dualization: A Brief Survey&lt;/a&gt;, 2007&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;What does this construction say about lower bounds? Not much. But it does say that if you find a solution that answers a query in $O(h(m,n))$ time after $O(g(m,n))$ time preprocessing, then there exists a representation for monotone boolean functions that takes $O(g(m,n))$ space and allows evaluation in $O(h(m,n))$ time. For example, BDDs have exponential $g$ and $h(m,n)=n$. The reference for ‘exponential $g$’ is&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Hayase, Imai, &lt;a href=&quot;http://scholar.google.co.uk/scholar?hl=en&amp;amp;q=OBDDs%20of%20a%20monotone%20function%20and%20of%20its%20prime%20implicants&quot; rel=&quot;nofollow&quot;&gt;OBDDs of a monotone function and of its prime implicants&lt;/a&gt;, 1996&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;PS:&lt;/em&gt; I would be grateful for any comments on how to improve this answer.&lt;/p&gt;&#xA;" OwnerUserId="236" LastEditorUserId="236" LastEditDate="2014-01-01T12:39:21.977" LastActivityDate="2014-01-01T12:39:21.977" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20386" PostTypeId="1" AcceptedAnswerId="20392" CreationDate="2013-12-31T11:40:31.290" Score="9" ViewCount="4479" Body="&lt;p&gt;Exact cover by 3-sets problem is defined as:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;&lt;b&gt;Instance&lt;/b&gt;: a set $X = \{ x_1,x_2,...,x_{3n}\}$ and a family $F = \{ ( x_{i_1}, x_{i_2}, x_{i_3}) \}  $ of 3-elements subsets of $X$ (triples);&lt;br&gt;&#xA;&lt;b&gt;Question&lt;/b&gt;: Is there a subfamily $F'$ of $F$ such that every element in $X$ is contained in exactly one triple of $F'$.&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;It is known that Exact cover by 3-sets problem is NP-complete even if input is restricted such that each element of $X$ appears &lt;a href=&quot;https://www.sciencedirect.com/science/article/pii/0304397585902245&quot; rel=&quot;nofollow noreferrer&quot;&gt;exactly in three triples&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is still NP-complete if the input is restricted further such that no pair of input triples share more than one element of $X$? &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2017-12-29T22:09:44.840" LastActivityDate="2020-04-20T08:10:38.290" Title="Restriction of Exact Cover by 3-sets" Tags="&lt;cc.complexity-theory&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="20390" PostTypeId="2" ParentId="20386" CreationDate="2013-12-31T14:05:20.933" Score="7" Body="&lt;p&gt;I guess so. In the following paper, it was shown that the partition-into-triangle (PIT) problem with the restriction that no two triangles share a common edge is NPC. &#xA;The reduction is simple. Just replace the subgraph in (Garey and Johnson, p 68) with the following subgraph. &#xA;I guess that the restricted PIT problem can be reduced to your problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://link.springer.com/chapter/10.1007/978-3-642-22616-8_19&quot; rel=&quot;noreferrer&quot;&gt;On the Maximum Locally Clustered Subgraph and Some Related Problems&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/2J1rG.jpg&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;" OwnerUserId="20839" LastEditorUserId="20839" LastEditDate="2014-01-01T11:14:21.923" LastActivityDate="2014-01-01T11:14:21.923" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="20391" PostTypeId="1" CreationDate="2013-12-31T17:32:42.127" Score="4" ViewCount="104" Body="&lt;p&gt;I am interested in the following NP-complete decision problem:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;Given n collections of M axis-parallel squares in the plane, &#xA;is it possible to pick a single representative from each collection,&#xA;such that all n representatives are pairwise disjoint?&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;I found several useful approximation algorithms to the following maximization problem:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;Given n axis-parallel squares in the plane, &#xA;find the largest set of pairwise disjoint squares.&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;(see &lt;a href=&quot;http://link.springer.com/article/10.1007/s00454-012-9417-5&quot; rel=&quot;nofollow&quot;&gt;Timothy M. Chan and Sariel Har-Peled, 2013&lt;/a&gt;, for a recent survey of approximation algorithms for this and similar problems).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am trying to use them for solving my original problem, but in order to get a better understanding of the relation between these two problems, I ask the following theoretical question:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Given an oracle that solves the maximum-disjoint-squares problem, how can it be used for solving the square-representative-decision problem?&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;NOTE 1: The two problems can be seen as special cases of the following set packing problems:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Decision problem:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;Given n collections of M sets, &#xA;is it possible to pick a single representative from each collection,&#xA;such that all n representatives are pairwise disjoint?&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Maximization problem:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;Given n sets, &#xA;find the largest set of pairwise disjoint sets.&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;In this case, there is a simple reduction from the decision problem to the maximization problem: add a unique element $A_i$ to all sets in collection $i$, find the largest set of pairwise disjoint sets, and return &quot;true&quot; if the largest set has $n$ sets. Unfortunately this reduction doesn't work in the geometric scenario.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;NOTE 2: Both the decision problem and the maximization problem can be solved with an oracle to the following problem:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;Given n collections of M axis-parallel squares in the plane,&#xA;find the maximum number of disjoint representatives, one per collection.&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;For the decision problem, just check if the maximum is $n$. For the maximization problem, take $M=1$.&lt;/p&gt;&#xA;" OwnerUserId="9453" LastEditorUserId="9453" LastEditDate="2014-01-01T19:16:37.300" LastActivityDate="2014-01-01T19:16:37.300" Title="Reduction from a geometric decision problem to its maximization problem" Tags="&lt;cg.comp-geom&gt;&lt;oracles&gt;&lt;packing&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="20392" PostTypeId="2" ParentId="20386" CreationDate="2013-12-31T19:24:57.070" Score="8" Body="&lt;p&gt;I didn't check if the Bangye's solution is correct/simpler, but a quick transformation from RESTRICTED X3C (the name is the same used by Gonzales)  to &lt;strong&gt;SINGLE OVERLAP RESTRICTED X3C&lt;/strong&gt; (the name is invented) that should work is:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Replace&lt;/strong&gt; each subset &lt;span class=&quot;math-container&quot;&gt;$C_j=\{x_1,x_2,x_3\}$&lt;/span&gt; adding 6 new elements &lt;span class=&quot;math-container&quot;&gt;$z_{j,1},z_{j,2},...,z_{j,6}$&lt;/span&gt; and 5 new three elements subsets&lt;br&gt; &lt;span class=&quot;math-container&quot;&gt;$L_{j,1}=\{x_1,z_{j,1},z_{j,4}\}$&lt;/span&gt;,&lt;br&gt;&lt;span class=&quot;math-container&quot;&gt;$L_{j,2}=\{x_2,z_{j,2},z_{j,5}\}$&lt;/span&gt;,&lt;br&gt;&lt;span class=&quot;math-container&quot;&gt;$L_{j,3}=\{x_3,z_{j,3},z_{j,6}\}$&lt;/span&gt;,&lt;br&gt;&lt;span class=&quot;math-container&quot;&gt;$L_{j,4}=\{z_{j,1},z_{j,2},z_{j,3}\}$&lt;/span&gt;,&lt;br&gt;&lt;span class=&quot;math-container&quot;&gt;$L_{j,5} = \{ z_{j,4},z_{j,5},z_{j,6}\}$&lt;/span&gt; .&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;like in the figure below (blue triples).&#xA;Informally, the three elements originally in &lt;span class=&quot;math-container&quot;&gt;$C_j$&lt;/span&gt; are grouped and in order to include elements &lt;span class=&quot;math-container&quot;&gt;$z_{j,1},...,z_{j,6}$&lt;/span&gt; the exact cover must include the group of triples &lt;span class=&quot;math-container&quot;&gt;$L_{j,1},L_{j,2},L_{j,3}$&lt;/span&gt; OR the two triples &lt;span class=&quot;math-container&quot;&gt;$L_{j,4},L_{j,5}$&lt;/span&gt;, but not both.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/xXABo.jpg&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;At this point no pair of triples share more than one element and each element is included in exactly 3 triples; except elements &lt;span class=&quot;math-container&quot;&gt;$z_{j,1},...,z_{j,6}$&lt;/span&gt; which are included only in two triples.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;In order to fix this it's enough to add a duplicate of every element element &lt;span class=&quot;math-container&quot;&gt;$x_i \rightarrow x'_i, z_i \rightarrow z'_i$&lt;/span&gt;, a duplicate of each triple containing &lt;span class=&quot;math-container&quot;&gt;$x_i$&lt;/span&gt; or &lt;span class=&quot;math-container&quot;&gt;$z_i$&lt;/span&gt; elements using the corresponding duplicated elements (green triples in the figure below) and for each original triple &lt;span class=&quot;math-container&quot;&gt;$C_j$&lt;/span&gt; add three new elements &lt;span class=&quot;math-container&quot;&gt;$t_{j,1},t_{j,2},t_{j,3}$&lt;/span&gt; and 7 new &#xA;dummy subsets with elements:&lt;br&gt;&#xA;&lt;span class=&quot;math-container&quot;&gt;$D_{j,1} =\{ z_{j,2},z_{j,6},t_{j,1} \}$&lt;/span&gt;,&lt;br&gt;&#xA;&lt;span class=&quot;math-container&quot;&gt;$D_{j,2} =\{ z_{j,3},z_{j,4},t_{j,2} \}$&lt;/span&gt;,&lt;br&gt;&#xA;&lt;span class=&quot;math-container&quot;&gt;$D_{j,3} =\{ z_{j,1},z_{j,5},t_{j,3} \}$&lt;/span&gt;,&lt;br&gt;&#xA;&lt;span class=&quot;math-container&quot;&gt;$D_{j,4} =\{ z_{j,2}',z_{j,6}',t_{j,2} \}$&lt;/span&gt;,&lt;br&gt;&#xA;&lt;span class=&quot;math-container&quot;&gt;$D_{j,5} =\{ z_{j,3}',z_{j,4}',t_{j,3} \}$&lt;/span&gt;,&lt;br&gt;&#xA;&lt;span class=&quot;math-container&quot;&gt;$D_{j,6} =\{ z_{j,1}',z_{j,5}',t_{j,1} \}$&lt;/span&gt;,&lt;br&gt;&#xA;&lt;span class=&quot;math-container&quot;&gt;$D_{j,7} =\{ t_{j,1},t_{j,2},t_{j,3} \}$&lt;/span&gt; (yellow triples in the figure below).&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;(note that the &lt;span class=&quot;math-container&quot;&gt;$z,z'$&lt;/span&gt; elements of dummy triples &lt;span class=&quot;math-container&quot;&gt;$D_{j,1}, D_{j,2}, ..., D_{j,6}$&lt;/span&gt; and elements &lt;span class=&quot;math-container&quot;&gt;$t$&lt;/span&gt; of dummy triples &lt;span class=&quot;math-container&quot;&gt;$D_{j,4},D_{j,5},D_{j,6}$&lt;/span&gt; are &quot;shifted&quot;  to avoid triples that share more than one element)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/GX2fM.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(&lt;span class=&quot;math-container&quot;&gt;$\Rightarrow$&lt;/span&gt;) Suppose that &lt;span class=&quot;math-container&quot;&gt;$\bigcup_{j \in A \subseteq \{1,...,3n\}} C_j$&lt;/span&gt; is an exact cover of the original RESTRICTED X3C instance. &#xA;Then by construction:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$$\bigcup_{j \in A } ( L_{j,1} \cup  L_{j,2} \cup  L_{j,3} \cup L'_{j,1} \cup  L'_{j,2} \cup  L'_{j,3} \cup D_{j,7} ) \cup \bigcup_{j \notin A } (L_{j,4} \cup L_{j,5} \cup  L'_{j,4} \cup  L'_{j,5} \cup D_{j,7}) $$&lt;/span&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;is an exact cover of SINGLE OVERLAP RESTRICTED X3C.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(&lt;span class=&quot;math-container&quot;&gt;$\Leftarrow$&lt;/span&gt;) Suppose that there exists an exact cover of the SINGLE OVERLAP RESTRICTED X3C instance.&#xA;Every original element &lt;span class=&quot;math-container&quot;&gt;$x_i$&lt;/span&gt; must be included exactly once in the cover, but, as seen above, the only way to include an element &lt;span class=&quot;math-container&quot;&gt;$x_i$&lt;/span&gt;  is by choosing a group of triples &lt;span class=&quot;math-container&quot;&gt;$L_{j,1},L_{j,2},L_{j,3}$&lt;/span&gt; that correspond to an original triple &lt;span class=&quot;math-container&quot;&gt;$C_j$&lt;/span&gt; that contains &lt;span class=&quot;math-container&quot;&gt;$x_i$&lt;/span&gt;.&#xA;Furthermore  if &lt;span class=&quot;math-container&quot;&gt;$L_p, L_q, p \neq q$&lt;/span&gt; are included in the exact cover we have &lt;span class=&quot;math-container&quot;&gt;$L_p \cap L_q = \emptyset$&lt;/span&gt;.&#xA;So the collection &lt;span class=&quot;math-container&quot;&gt;$L_{j,k}$&lt;/span&gt; of subsets in the  SINGLE OVERLAP RESTRICTED X3C exact cover correspond to a valid cover &lt;span class=&quot;math-container&quot;&gt;$\bigcup C_j$&lt;/span&gt; of the original RESTRICTED X3C instance.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The reduction can be done in polynomial time, so we can conclude that SINGLE OVERLAP RESTRICTED X3C is NP-complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Just note that a SINGLE OVERLAP RESTRICTED X3C instance built using the above reduction can contain two valid and &lt;em&gt;distinct&lt;/em&gt; exact covers of the original RESTRICTED X3C problem, but we are sure that if only one exact cover exists, it can be &quot;mirrored&quot; to form a valid exact cover of SINGLE OVERLAP RESTRICTED X3C.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let me know if you need a more formal proof for a paper.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Update 20/04/2020&lt;/em&gt;: I noticed that the previous figure had a small issue in the dummy triples and I fixed it.  &lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2020-04-20T08:10:38.290" LastActivityDate="2020-04-20T08:10:38.290" CommentCount="7" ContentLicense="CC BY-SA 4.0" />
  <row Id="20399" PostTypeId="1" CreationDate="2014-01-01T23:31:54.970" Score="6" ViewCount="540" Body="&lt;p&gt;A generalized sequential machine (GSM) is a generalization of a Mealy machine where on each transition one input symbol is read and 0 or more output symbols are written. As in a Mealy machine, we assume that there are no final states, i.e. a GSM operates on infinite input/output words. A GSM has finitely many states.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assume $A$ and $B$ are two single-valued GSMs and $C$ is a not necessarily single-valued GSM. Single-valued means that for each infinite input word there is at most one infinite output word (determinism is a sufficient but not necessary condition for single-valuedness). Suppose in addition that $A$ and $C$ are fully reachable, i.e. there is a path from the start state to every other state. In the following, two GSM synthesis problems are described. Let $T_X$ denote the set of states of GSM $X$.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Are there single-valued GSMs $X$ and $Y$ such that $X \circ A \equiv Y \circ B$ and in $X \circ A$ for every $t \in T_A$ there is a state $(\_, t) \in T_X \times T_A$ reachable from the start state, i.e. $A$ remains fully reachable in $X \circ A$? Note that $\circ$ denotes transducer composition.&lt;/li&gt;&#xA;&lt;li&gt;Are there single-valued, finite state transducers $X$ and $Y$ such that $X \circ C \supseteq Y \circ B$ and in $X \circ C$ for every $t \in T_C$ there is a state $(\_, t) \in T_X \times T_C$ reachable from the start state, i.e. $C$ remains fully reachable in $X \circ C$?&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Clearly, 1. is semi-decidable and 2. is undecidable if $C$ is non-deterministic (without restriction, i.e. infinitely-valued). However, is 1. decidable and if so what is the complexity? For it to be decidable it must be possible to bound the number of states of $X$ and $Y$. Moreover, is 2. decidable if $C$ is finitely-valued, i.e. there is a bounded number of infinite output words for each infinite input word? I'm particularly interested in symbolic methods, also references to practical bounded synthesis approaches. I appreciate any hints that relate this problem to a standard problem as well. Thanks for your input.&lt;/p&gt;&#xA;" OwnerUserId="20901" LastEditorUserId="20901" LastEditDate="2014-01-04T01:31:42.007" LastActivityDate="2014-01-04T01:31:42.007" Title="Generalized sequential machine synthesis subject to language equivalence/inclusion and reachability" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;lo.logic&gt;&lt;automata-theory&gt;&lt;sat&gt;" AnswerCount="0" CommentCount="11" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="20401" PostTypeId="1" CreationDate="2014-01-02T06:53:22.733" Score="4" ViewCount="86" Body="&lt;p&gt;Regex Equivalence is a hard problem which in general takes exponential space and exponential time. Are there any approximation/sub-optimal algorithms with some theoretical guarantees over equivalence available?&lt;/p&gt;&#xA;" OwnerUserId="6495" LastActivityDate="2014-01-02T06:53:22.733" Title="Sub optimal regex equivalence" Tags="&lt;approximation-algorithms&gt;&lt;automata-theory&gt;&lt;regular-expressions&gt;" AnswerCount="0" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="20402" PostTypeId="1" CreationDate="2014-01-02T08:04:44.217" Score="4" ViewCount="734" Body="&lt;p&gt;&lt;strong&gt;NP&lt;/strong&gt;-hardness and &lt;strong&gt;NP&lt;/strong&gt;-completeness play an important role in complexity theory. &#xA;My question is, does there exist a language $L$ in &lt;strong&gt;RP&lt;/strong&gt; &#xA;to which any language $M$ in &lt;strong&gt;RP&lt;/strong&gt; can be reduced in polynomial time?&#xA;We can say that such a language $L$ is &quot;&lt;strong&gt;RP&lt;/strong&gt;-complete&quot;, if exists, but I cannot find any information about this idea. Can anyone tell me about it, please?&lt;/p&gt;&#xA;" OwnerUserId="20935" LastEditorUserId="20935" LastEditDate="2014-01-02T10:54:29.457" LastActivityDate="2014-01-02T10:54:29.457" Title="Does there exist the idea of &quot;RP-complete&quot;, like NP-complete?" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="20407" PostTypeId="2" ParentId="20402" CreationDate="2014-01-02T09:30:12.087" Score="9" Body="&lt;p&gt;Yes: the concept of &quot;&lt;strong&gt;X&lt;/strong&gt;-complete under &lt;strong&gt;Y&lt;/strong&gt;-reductions&quot; exists for any complexity class&amp;nbsp;&lt;strong&gt;X&lt;/strong&gt; and any class&amp;nbsp;&lt;strong&gt;Y&lt;/strong&gt; of reductions.  However, there may or may not be any complete problems under this definition, depending on what &lt;strong&gt;X&lt;/strong&gt; and&amp;nbsp;&lt;strong&gt;Y&lt;/strong&gt; are. For example, it is well-known that &lt;strong&gt;NP&lt;/strong&gt; has complete problems under polynomial-time, logspace and even first-order reductions, but it does not have complete problems under linear-time reductions as this would violate the time hierarchy theorem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As far as I can see, it is open whether there is a class of reductions under which &lt;strong&gt;RP&lt;/strong&gt; has complete problems. The issue is that it is a so-called &lt;em&gt;semantic class&lt;/em&gt;: it is defined by a non-computable set of Turing machines, namely polynomial-time randomized Turing machines with the undecidable requirement that, for every input, either every path rejects or at least half accept. See &lt;a href=&quot;https://cstheory.stackexchange.com/questions/1233/semantic-vs-syntactic-complexity-classes&quot;&gt;this question&lt;/a&gt; for more details on the issues surrounding complete problems for semantic classes.&lt;/p&gt;&#xA;" OwnerUserId="17082" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2014-01-02T09:30:12.087" CommentCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="20408" PostTypeId="1" AcceptedAnswerId="20412" CreationDate="2014-01-02T19:25:28.533" Score="8" ViewCount="276" Body="&lt;p&gt;One way to prove NP$\neq$ coNP is to show that for every propositional proof system $f$ computable in polynomial time, there exists a family of tautologies for which $f$ requires super polynomial proof lengths (w.r.t the length of tautology being proven).&#xA;Results like that of &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/0304397585901446&quot;&gt;Haken&lt;/a&gt; and &lt;a href=&quot;http://link.springer.com/article/10.1007/BF01302964&quot;&gt;Ajtai&lt;/a&gt; fix a propositional proof system and prove that a certain family (PHP in this case) requires super polynomial length proofs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My Question:&#xA;Are there results which &lt;strong&gt;do not fix&lt;/strong&gt; a proof system and show, possibly very weak, but non-trivial lower bounds on proof length?&#xA;For Example: Are there results showing that for every propositional proof system, there exists a family of tautologies which requires superlinear proof lengths?&lt;/p&gt;&#xA;" OwnerUserId="20897" LastActivityDate="2014-01-03T03:55:06.160" Title="Proof complexity and lower bounds" Tags="&lt;cc.complexity-theory&gt;&lt;proof-complexity&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20409" PostTypeId="1" CreationDate="2014-01-02T21:01:27.153" Score="0" ViewCount="1107" Body="&lt;p&gt;In cryptography (and probably in many other areas) there is a huge usage of negligible functions when proving theorems.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Although I know what is a &lt;a href=&quot;http://en.wikipedia.org/wiki/Negligible_function&quot; rel=&quot;nofollow&quot;&gt;negligible function&lt;/a&gt;, every time I encounter a function that need to be determined as negligible or not I just don't know how to do that. I just say that the function is negligible if it seems like $c/2^n$ where $c$ is a constant (or known to be negligible).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can you provide an efficient method to determine quickly if a function is negligible or not?&lt;/p&gt;&#xA;" OwnerUserId="12633" LastEditorUserId="12633" LastEditDate="2014-11-08T22:23:32.937" LastActivityDate="2014-11-08T22:23:32.937" Title="How to determine if a function is negligible?" Tags="&lt;cc.complexity-theory&gt;&lt;cr.crypto-security&gt;" AnswerCount="0" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="20412" PostTypeId="2" ParentId="20408" CreationDate="2014-01-02T22:40:39.430" Score="3" Body="&lt;p&gt;The statement is false for any polynomial time recognizable family of tautologies: the proof system will simply check if the formula is one of them and accept if it is. Proof length of them will be O(1). So I don't think any explicit example is known.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Recall that we don't even know if SAT $\notin$ DTime(O(n)) so we also don't know if SAT$\notin$ coNTime(O(n)) which is equivalent to your question TAUT $\notin$ NTime(O(n)) and follows from a positive answer to your question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, if NP is not equal to coNP, then the family consisting of all tautologies has super polynomial length in any efficient proof system.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Part of what people try to do in prof complexity is to rule out interesting classes of algorithms. A lower bound in a proof system implies a lower bound for all (co-nondeterministic) algorithms whose correctness can be efficiently proven in the proof system (if we can formalize and prove the correctness of an algorithm for SAT in a proof system we can consider its failing execution to find a satisfying assignment as proofs of the tautologihood).&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2014-01-03T03:55:06.160" LastActivityDate="2014-01-03T03:55:06.160" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="20413" PostTypeId="1" AcceptedAnswerId="20423" CreationDate="2014-01-02T23:33:04.997" Score="6" ViewCount="1320" Body="&lt;p&gt;I'm wondering if there is any algorithm known for finding edges in a graph that are part of all hamiltonian paths (operating under the assumption that the graph has at least one such path). Failing that, is there an algorithm for finding as many of these edges as possible, relaxing the requirement that all such edges are found?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One could find all hamiltonian paths in the graph, and then look at all the edges in those paths, but is there a better way?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One type of edge in this class obvious even to me is edges that are directed to vertices with in-degree 1 (or similarly edges from vertices that have out-degree 1). I'm particularly interested in directed graphs but the insight into the undirected version would also be helpful.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My apologies if this question is overly naive - I ran across this problem while doing microbial genomics, and any help would be greatly appreciated.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks in advance,&#xA;ben&lt;/p&gt;&#xA;" OwnerUserId="20931" LastEditorUserId="20931" LastEditDate="2014-01-03T06:09:28.463" LastActivityDate="2014-01-13T22:35:21.183" Title="Is there an efficient algorithm for finding edges that are part of all hamiltonian paths?" Tags="&lt;graph-theory&gt;&lt;hamiltonian-paths&gt;" AnswerCount="3" CommentCount="0" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="20416" PostTypeId="2" ParentId="20413" CreationDate="2014-01-03T01:41:33.500" Score="1" Body="&lt;p&gt;If we didn't have the guarantee that there is at least one Hamiltonian path, the following would show &lt;strong&gt;NP&lt;/strong&gt;-hardness.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Write $h(G)$ for the set of edges of the digraph&amp;nbsp;$G$ that appear in every Hamiltonian path.  The key fact is the following.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Lemma.&lt;/strong&gt; For a digraph $G$, $h(G)=E(G)$ if, and only if, $G$&amp;nbsp;is a directed path or $G$&amp;nbsp;has no Hamiltonian path.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Proof.&lt;/em&gt; If $G$&amp;nbsp;is a directed path, then clearly $h(G)=E(G)$; if $G$&amp;nbsp;has no Hamiltonian path then, for any edge $e\in G$ there is no Hamiltonian path that does not contain&amp;nbsp;$e$ so $e\in h(G)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Conversely, suppose that $h(G)=E(G)$.  If $G$&amp;nbsp;is a directed path, then we are done.  If not, then any Hamiltonian path in&amp;nbsp;$G$ would have to be the whole of&amp;nbsp;$G$, which is impossible, since $G$&amp;nbsp;is not a directed path. Therefore, $G$&amp;nbsp;has no Hamiltonian path.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$\Box$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As a result, it is &lt;strong&gt;NP&lt;/strong&gt;-hard to compute $h(G)$ since, given $h(G)$, we can determine whether an input graph&amp;nbsp;$G$ has a Hamiltonian path by checking whether $G$&amp;nbsp;is a path and whether $h(G)=E(G)$. Thus, there is (probably) no polynomial-time algorithm to compute $h(G)$.  &lt;/p&gt;&#xA;" OwnerUserId="17082" LastEditorUserId="17082" LastEditDate="2014-01-03T09:25:27.433" LastActivityDate="2014-01-03T09:25:27.433" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="20418" PostTypeId="1" AcceptedAnswerId="20428" CreationDate="2014-01-03T03:11:43.360" Score="1" ViewCount="78" Body="&lt;p&gt;What makes a language hard in a computational sense is neither simply that it contains very few words(e.g. is finite) or that it contains a lot of words(e.g. is infinte) but rather an intricate selection of a subset of $\Sigma^*$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would try to formalize this intuition as the following statement:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $A,B$ be two languages which are complete w.r.t to some class $\mathcal{C}$. Then for every language $C$ it holds that&#xA;$$ A \subseteq C \subseteq B \implies C \text{ is complete w.r.t $\mathcal{C}$} $$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What can we say about the truth value of this statement or interesting special cases such as NP. Maybe it implies only lower bounds(hardness)?&#xA;I would be rather suprised if even the lower bounds of $A$ and $B$ don't apply to $C$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;One natural example to explore might be HAMCIRC and HAMPATH. If the hypotheses holds then we could state that any set of graphs $G$ for which every element has a hampath and every graph with a hamcirc is contained in it, it follows that $G$ is NP-complete. &lt;/p&gt;&#xA;" OwnerUserId="17410" LastActivityDate="2014-01-03T11:10:11.270" Title="Assessing complexity of a language using subset relations" Tags="&lt;cc.complexity-theory&gt;&lt;fl.formal-languages&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20419" PostTypeId="1" AcceptedAnswerId="20430" CreationDate="2014-01-03T04:26:52.770" Score="4" ViewCount="202" Body="&lt;p&gt;I am interested in the best known number of code words in binary 1 error correcting codes of length $n$. I am aware of the Hamming code when $n=2^r-1$, but i would like to get lower bounds for other $n$ too. My motivation is completely theoretical and is related to graph theory.&lt;/p&gt;&#xA;" OwnerUserId="20947" LastEditorUserId="20947" LastEditDate="2014-01-03T11:53:15.487" LastActivityDate="2014-01-03T17:21:09.623" Title="The length of non perfect binary 1 error correcting codes" Tags="&lt;reference-request&gt;&lt;graph-theory&gt;&lt;it.information-theory&gt;&lt;coding-theory&gt;" AnswerCount="2" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20420" PostTypeId="1" AcceptedAnswerId="20440" CreationDate="2014-01-03T05:40:23.977" Score="0" ViewCount="158" Body="&lt;p&gt;I know that in the general case it isn't efficient. However, I'm wondering if there are any good techniques in the quadratic case over the reals, specifically if there is a polynomial time solution.&lt;/p&gt;&#xA;" OwnerUserId="8109" LastActivityDate="2014-01-04T04:00:25.170" Title="What are some efficient algorithms for determining if a system of quadratic multivariate polynomials have a solution?" Tags="&lt;cc.complexity-theory&gt;&lt;polynomials&gt;&lt;polynomial-time&gt;&lt;quadratic&gt;" AnswerCount="1" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="20421" PostTypeId="2" ParentId="20413" CreationDate="2014-01-03T05:52:07.007" Score="1" Body="&lt;p&gt;A partial answer to the easier of my two questions:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If an edge $x\rightarrow y$ is 'obviously' part of all Hamiltonian paths because it is the only edge into vertex $y$, then all other edges from $x$ cannot be in &lt;em&gt;any&lt;/em&gt; Hamiltonian cycle, because this would imply the path visits $x$ more than once. Thus, these other edges from $x$ can be removed from the graph, and this may reveal further edges that have in-degree 1 (and thus must also be in all Hamiltonian paths). And so on.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Similar logic can be used where an edge $w \rightarrow z$ is the only edge from $w$, or where the graph is undirected.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I don't think this will find the complete set of edges that are in all Hamiltonian paths, but at least it might find more than just going with the 'obvious' ones mentioned in the question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Come to think of it if there is some algorithm for finding edges that are not part of any Hamiltonian paths then I'd also be interested in that - this solves a related problem in the field.&lt;/p&gt;&#xA;" OwnerUserId="20931" LastActivityDate="2014-01-03T05:52:07.007" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="20422" PostTypeId="1" AcceptedAnswerId="20436" CreationDate="2014-01-03T06:27:42.223" Score="1" ViewCount="189" Body="&lt;p&gt;Theorem 1.1 of &lt;a href=&quot;http://www.wisdom.weizmann.ac.il/~ranraz/publications/Pparal1.ps&quot; rel=&quot;nofollow&quot;&gt;Ran Raz's paper&lt;/a&gt; is a non-constructive upper bound on the soundness error of parallel repetitions of a 2-prover minimally minimally interactive proof system with perfect completeness.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As far as I can see, despite the second sentence of that paper's abstract suggesting otherwise, that paper does not give a &lt;em&gt;constructive&lt;/em&gt; upper bound on the relevant quantities.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there a known constructive upper bound on the soundness error of parallel repetitions of a 2-prover minimally minimally interactive proof system with perfect completeness?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerDisplayName="user6973" LastEditorUserId="5693" LastEditDate="2014-01-04T02:09:02.300" LastActivityDate="2014-01-04T02:09:02.300" Title="Is there a constructive parallel repetition theorem for nice MIP protocols?" Tags="&lt;interactive-proofs&gt;" AnswerCount="1" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="20423" PostTypeId="2" ParentId="20413" CreationDate="2014-01-03T09:36:03.170" Score="7" Body="&lt;p&gt;A polytime algorithm that can find such a collection of edges &lt;em&gt;even in the promise version of this problem&lt;/em&gt; can be used as a blackbox to solve the &lt;code&gt;Hamiltonian Path&lt;/code&gt; problem in polynomial time, and thus this promise problem is NP-Hard under Cook reductions. The idea here is to use the algorithm for solving the promise problem on a sequence of graphs, many (but not all) of which potentially violate the promise given in the problem statement. Importantly, &lt;strong&gt;nothing is assumed of the output of the algorithm when it is fed a promise-violating graph as input&lt;/strong&gt;, just that it outputs something (perhaps even adversarially). We can, of course, always cut the algorithm off and return the empty set as its solution if its execution is taking longer than some provided time bound (a bound only proven to hold only in promise-satisfying instances) and satisfy this requirement. It is the nature of the change in the algorithm's output (or lack thereof) on the sequence of instances that interests us.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose you have a graph $G=(V,E)$ in which you wish to determine the existence of a Hamiltonian path, and oracle access to a function $\varphi$ such that $\varphi(G) = h(G)$ (where $h$ is defined as in David's post) whenever $G$ contains a Hamiltonian path (and returns an arbitrary answer otherwise). Intuitively, the algorithm searches for a supergraph $H$ of $G$ on which $\varphi(H) = h(H)$ is violated. If such a graph can be found, it must be the case that $H$ (and all of its subgraphs, including $G$) is &lt;em&gt;not&lt;/em&gt; Hamiltonian. Conversely, not violating the inequality on any graph in the sequence shows that the original $G$ is Hamiltonian.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now construct a sequence of graphs $G_0 \cdots G_{n-1}$ as follows:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Let $G_0 = G$&lt;/li&gt;&#xA;&lt;li&gt;Pick a permutation $\pi$ of $V$ such that no $(\pi_i, \pi_{i+1})$ is an edge of $\varphi(G_0)$.*&lt;/li&gt;&#xA;&lt;li&gt;For $i = 1$ to $n-1$&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Let $e_i = (\pi_i, \pi_{i+1})$&lt;/li&gt;&#xA;&lt;li&gt;Let $G_i = G_{i-1}$ with edge $e_i$ added (if it did not already exist in $G_{i-1}$)&lt;/li&gt;&#xA;&lt;/ol&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Note that $h(G_x) \supseteq h(G_y)$ when $x &amp;lt; y$ (i.e. containment of some fixed edge in $h$ is hereditary among the $\{G_i\}$). Thus, if $e_i \in \varphi(G_i)$ for some $i \geq 1$, it must be the case that $G$ &lt;em&gt;does not contain&lt;/em&gt; a Hamiltonian Path, since $\varphi(\cdot)$ is not hereditary on this graph family (recall that $e_i$ is not in $\varphi(G_0)$) and thus $\varphi(G_i) \neq h(G_i)$ for some $G_i$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, if $e_i \not \in \varphi(G_i)$ for all $i$, no single addition of an edge was necessary in the construction of the first (set of) Hamiltonian Path(s) in the sequence in which we constructed $\{G_i\}$. Since $G_{n-1}$ contains a Hamiltonian path by construction, a simple inductive argument implies $G_0$ &lt;em&gt;must contain&lt;/em&gt; one as well.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thus, &lt;code&gt;Hamiltonian Path&lt;/code&gt; can be solved via $O(n)$ queries to an oracle solving this promise problem (assuming they produce an arbitrary output on promise-violating graphs), meaning that any time bound $f(n)$ for an algorithm solving this problem implies a time bound of $O(n f(n))$ for solving &lt;code&gt;Hamiltonian Path&lt;/code&gt;, and thus $f(n)$ (and any provable upper bound on the running time for a TM solving this problem) cannot be a polynomial unless $P = NP$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;*This is easy to do because $|h(G_0)| \leq n$ by definition, and we could always of course prematurely determine the nonexistance of a Hamiltonian path if $|\varphi(G_0)|$ is any larger than that.&lt;/p&gt;&#xA;" OwnerUserId="3532" LastEditorUserId="3532" LastEditDate="2014-01-13T22:35:21.183" LastActivityDate="2014-01-13T22:35:21.183" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="20428" PostTypeId="2" ParentId="20418" CreationDate="2014-01-03T11:10:11.270" Score="3" Body="&lt;p&gt;The statement is unlikely to be true since we can deduce NP-hardness for Graph Isomorphism from it (which would imply a collapse of PH to its second level) as follows:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let SGI be the Subgraph Isomorphism problem which is known to be NP-complete. Then GI is a subset of SGI. Now, take HAMCIRC and define a slightly different version:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;ISO-HAMCIRC = $\{ (G_1, G_2) | G_1 \text{ is isomorph to } G_2 \text{ and } G_1 \in \text{HAMCIRC} \}$ &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is trivial to see that ISO-HAMCIRC is NP-complete as well. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It follows that ISO-HAMCIRC $\subseteq$ GI $\subseteq$ SGI and therefore GI would be NP-hard assuming the hypothesis holds.&lt;/p&gt;&#xA;" OwnerUserId="17410" LastActivityDate="2014-01-03T11:10:11.270" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20429" PostTypeId="2" ParentId="20419" CreationDate="2014-01-03T11:37:10.477" Score="0" Body="&lt;p&gt;Demazure (in &lt;em&gt;Cours d'algèbre&lt;/em&gt;) writes:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Let &lt;span class=&quot;math-container&quot;&gt;$C$&lt;/span&gt; a binary &lt;span class=&quot;math-container&quot;&gt;$t$&lt;/span&gt;-error correcting code of length &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt; and let &lt;span class=&quot;math-container&quot;&gt;$N$&lt;/span&gt; the number of elements of &lt;span class=&quot;math-container&quot;&gt;$C$&lt;/span&gt;. Then &lt;span class=&quot;math-container&quot;&gt;$N(n + 1) \leqslant 2^n$&lt;/span&gt;. Moreover, the following conditions are equivalent:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;span class=&quot;math-container&quot;&gt;$C$&lt;/span&gt; is perfect&lt;/li&gt;&#xA;&lt;li&gt;&lt;span class=&quot;math-container&quot;&gt;$N(n + 1) = 2^n$&lt;/span&gt;&lt;/li&gt;&#xA;&lt;li&gt;there exists &lt;span class=&quot;math-container&quot;&gt;$r &amp;gt; 1$&lt;/span&gt; such that &lt;span class=&quot;math-container&quot;&gt;$n = 2^r - 1$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$N = 2^{n - r}$&lt;/span&gt;.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;&lt;em&gt;Proof&lt;/em&gt;. Each ball of radius 1 has &lt;span class=&quot;math-container&quot;&gt;$n + 1$&lt;/span&gt; elements (its center plus &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt; elements around). All &lt;span class=&quot;math-container&quot;&gt;$N$&lt;/span&gt; balls centered in the codewords are disjoint (because &lt;span class=&quot;math-container&quot;&gt;$C$&lt;/span&gt; is 1-error correcting) so they cover &lt;span class=&quot;math-container&quot;&gt;$N(n + 1)$&lt;/span&gt; elements among the &lt;span class=&quot;math-container&quot;&gt;$2^n$&lt;/span&gt; possible words. The equality characterizes the perfect codes, for which &lt;span class=&quot;math-container&quot;&gt;$N$&lt;/span&gt; divides &lt;span class=&quot;math-container&quot;&gt;$2^n$&lt;/span&gt;.&lt;/p&gt;&#xA;" OwnerUserId="9542" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2014-01-03T11:37:10.477" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="20430" PostTypeId="2" ParentId="20419" CreationDate="2014-01-03T14:02:19.390" Score="7" Body="&lt;p&gt;Here is a &lt;a href=&quot;http://www.eng.tau.ac.il/~litsyn/tableand/index.html#dist3&quot;&gt;table&lt;/a&gt; of the best known (linear and non-linear) binary codes for distance 3, for $n \leq 512\,$. Distance 3 is equivalent to being able to correct one error. The table only gives you the number of codewords, but the references given in the table will tell you how to construct the codes themselves.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The best known codes for $n$ not in this table can be found by taking the code for the next larger $n$ in the table, repeatedly choosing a coordinate, and retaining only those codewords which have $0$'s (or $1$'s) in that position. You can delete $\ell$ coordinates and retain a $2^{-\ell}$ fraction of the codewords. &lt;/p&gt;&#xA;" OwnerUserId="1677" LastEditorUserId="1677" LastEditDate="2014-01-03T17:21:09.623" LastActivityDate="2014-01-03T17:21:09.623" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20433" PostTypeId="1" CreationDate="2014-01-03T16:52:14.720" Score="6" ViewCount="116" Body="&lt;p&gt;&lt;a href=&quot;http://www.phillong.info/publications/LS10_potential.pdf&quot;&gt;Long/Servedio&lt;/a&gt; showed AdaBoost/etc doesn't perform well under noisy environments, but that branching forms of boosting do.  Can any point me to a list of branching boosting algorithms, or a reference for the current best-of-breed alternatives? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Much appreciated!&lt;/p&gt;&#xA;" OwnerUserId="20958" LastEditorUserId="1037" LastEditDate="2014-01-12T13:12:23.050" LastActivityDate="2015-01-30T09:52:08.987" Title="Branching Boosting Algorithms" Tags="&lt;reference-request&gt;&lt;machine-learning&gt;&lt;lg.learning&gt;" AnswerCount="0" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="20434" PostTypeId="2" ParentId="20364" CreationDate="2014-01-03T20:07:02.277" Score="10" Body="&lt;p&gt;Here's a fun one, by Neil Jones and Nina Bohr:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.lmcs-online.org/ojs/viewarticle.php?id=333&amp;amp;layout=abstract&quot;&gt;Call-by-value Termination in the Untyped $\lambda$-calculus&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It shows how to apply the &lt;em&gt;size-change analysis&lt;/em&gt; (a type of control flow analysis that detects infinite loops) on untyped $\lambda$-terms. This is quite nice in practice, but of course is restricted to $\lambda$-terms without defined constants (though the method may be extended to more general use).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The advantage of typing, of course is both the low complexity cost and the modularity of the approach: in general termination analyses are very non-modular, but typing can be done &quot;piece-by-piece&quot;.&lt;/p&gt;&#xA;" OwnerUserId="3984" LastActivityDate="2014-01-03T20:07:02.277" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="20435" PostTypeId="2" ParentId="1215" CreationDate="2014-01-03T23:26:49.580" Score="3" Body="&lt;p&gt;A graph $G(V, E)$ is 2-splittable if it is possible to partition its edge set into two subsets such that the induced subgraphs are isomorphic. Deciding whether a given graph is 2-splittable is $NP$-complete even if input is restricted to trees.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Formally, the problem is:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;PARTITIONED GRAPH ISOMORPHISM&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;INSTANCE: A tree $T = (V,E)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;QUESTION: Is there a partition $\{E1,E2 \}$ of $E$ such that the two forests $T1 = (V,E1)$ and $T2 = (V,E2)$ are isomorphic?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The NP-completeness column cites the unpublished manuscript of Graham and Robinson, &quot;Isomorphic factorization IX: even trees&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;D.S. Johnson, The NP-completeness column: an ongoing guide, Journal of Algorithms 3&#xA;(1982), 288–300&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2015-08-13T03:17:34.193" LastActivityDate="2015-08-13T03:17:34.193" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20436" PostTypeId="2" ParentId="20422" CreationDate="2014-01-04T00:25:28.533" Score="1" Body="&lt;p&gt;In his &lt;a href=&quot;http://arxiv.org/pdf/cs/0607139v3.pdf&quot; rel=&quot;nofollow&quot;&gt;simplified proof&lt;/a&gt; of the parallel repetition theorem, Holenstein gives the following explicit bound on the value of the $n$-fold parallel repetition of a game with value $v$:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;\left(1-\frac{(1-v)^3}{6000}\right)^{n/\log(|\Sigma_1|\cdot |\Sigma_2|)},&#xA;$$&#xA;where $\Sigma_1, \Sigma_2$ are the alphabets of the two players. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's not clear to me that Raz's bound is not constructive in your sense; I am wondering what step in his proof you think is not computable. He does not make his bound fully explicit, but I thought this was done more for exposition. &lt;/p&gt;&#xA;" OwnerUserId="4896" LastActivityDate="2014-01-04T00:25:28.533" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="20437" PostTypeId="1" CreationDate="2014-01-04T01:17:02.443" Score="1" ViewCount="93" Body="&lt;p&gt;&lt;strong&gt;Definitions:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider a polytope $P \subset \mathbb{R}^n$ with a nonempty interior to be $P : \{x \in \mathbb{R}^n | Ax \le B\}$ for appropriate real $n \times m$ matrix $A$ and $m \times 1$ vector $B$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Furthermore consider a lattice $L$ to be all points spanned by positive integer linear combinations of a basis set of vectors $\mathbb{B} = V_1, V_2, ..., V_b$ where $V_i \in \mathbb{R}^n$, so that $L = \{\sum_{i}{c_i \times V_i} | c_i \in \mathbb{Z}^+\}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Referenced work:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.renyi.hu/~barany/cikkek/rsurv.pdf&quot; rel=&quot;nofollow&quot;&gt;Random points and lattice points in convex bodies&lt;/a&gt; I Bárány et al&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.71.1583&amp;amp;rep=rep1&amp;amp;type=ps&quot; rel=&quot;nofollow&quot;&gt;Sampling Lattice Points&lt;/a&gt; R Kannan et al&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Problem:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The above referenced work illustrates how one might randomly sample integer lattice points within the body of a polytope and use the results to approximate the size of the polytope, which is known to be $\#P$ hard to calculate in the general case. Furthermore they give sufficient conditions for when the sampling procedure will output a reasonable approximation (within polynomial factors).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;These two papers assume the input lattice is the integer lattice $\mathbb{Z}^n$. For my application, I want lattice points spanned by a separate basis set.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;While the general procedures used in the above papers to sample random integer lattice points seems adaptable to other lattices, the bounds necessary for nearly-uniform sampling may not. Do the same bounds and sampling procedures hold immediately for other basis vectors?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More directly, I am seeking a quick (polynomial time) nearly-uniformal sampling procedure that can output points in $P \cap L$ with inputs $A, B, n, $ and $\mathbb{B}$.&lt;/p&gt;&#xA;" OwnerUserId="3624" LastActivityDate="2014-01-04T01:17:02.443" Title="Nearly-uniformally sampling lattice points from a basis that lie on the interior of a polytope" Tags="&lt;co.combinatorics&gt;&lt;lattice&gt;&lt;integer-lattice&gt;" AnswerCount="0" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="20438" PostTypeId="1" CreationDate="2014-01-04T02:24:36.713" Score="2" ViewCount="178" Body="&lt;p&gt;A circuit is used to express a piecewise linear function of one variable $\ f:\mathbb{Q}\to\mathbb{Q}$  The component gates are:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;add the outputs of two other gates together&lt;/li&gt;&#xA;&lt;li&gt;scale the output of one other gate by some constant&lt;/li&gt;&#xA;&lt;li&gt;offset the output of one other gate by some constant&lt;/li&gt;&#xA;&lt;li&gt;take as input the outputs of three other gates, labeled X, Y, C.  If C is less than some constant, output X from this gate, otherwise output Y&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Given such a circuit, how efficiently can one verify whether $f(x)=0$ for all $x$?&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;My apologies that I don't have references to possibly related problems.  I tried searching piecewise linear (identity/equivalence) testing without much luck.  Randomized polynomial identity testing could possibly be tropicalized, but I don't have high hopes for that avenue of attack.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, I should mention that this came out of a practical problem involving document layout, in case the existence of applications is motivational.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Addendum:  Here is a non-standard &quot;circuit&quot; problem, which is closer to the intended application.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider a DAG with a unique root.  Each node in the DAG represents a function of type $f:\mathbb{Q}\to\mathbb{Q}$:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Leaf $\ f(w) = w\ $ This node has no children.&lt;/li&gt;&#xA;&lt;li&gt;Linear $\ f(w) = child(aw + b)\ $ This node has one child, with function $child(w)$&lt;/li&gt;&#xA;&lt;li&gt;Branch $\ f(w) = \left\{\begin{array}[ll]\\ left(w) &amp;amp; w &amp;lt; c\\ right(w) &amp;amp; w\geq c\end{array}\right.\ \ $  This node has two children, whose functions are $left(w)$ and $right(w)$ respectively.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Then, the DAG as a whole represents a piecewise linear function, namely the composition of the atomic functions beginning at the root.  Again, the problem is to determine whether the piecewise linear function is $0$. Or, equivalently (I haven't verified the reduction works both ways) whether for two such piecewise linear functions $f=g$?&lt;/p&gt;&#xA;" OwnerUserId="20962" LastEditorUserId="20962" LastEditDate="2014-01-09T03:03:24.437" LastActivityDate="2014-01-09T03:03:24.437" Title="Piecewise Linear Circuit Identity Testing" Tags="&lt;ds.algorithms&gt;&lt;linear-equations&gt;&lt;circuits&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="20439" PostTypeId="2" ParentId="20438" CreationDate="2014-01-04T03:21:33.660" Score="4" Body="&lt;p&gt;In the general case, your problem is NP-hard, if you are working over a finite field (say, the integers modulo $p$).  It is easy to see that the language of such circuits that are not identically zero is in NP (if it isn't identically zero, there exists a witness: an input that makes its output non-zero).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, we can reduce SAT to this problem.  Consider a formula $\varphi$ in CNF, over variables $x_1,\dots,x_n$.  As is standard, we'll let $1$ represent &quot;true&quot; and $0$ represent &quot;false&quot;.  Now it is easy to build a subcircuit that computes logical NOT ($x \mapsto 1-x$, and $1-x$ is linear), a subcircuit that computes logical OR (using your conditional gates), and a subcircuit that computes logical AND (again, using your conditional gates).  Thus, we can transform $\varphi(x_1,\dots,x_n)$ to one of your circuits, where the inputs are $x_1,\dots,x_n$ and the output is the truth value of $\varphi(x_1,\dots,x_n)$.  This circuit will be not identically zero if and only if $\varphi$ is satisfiable.  Also, the size of this circuit is polynomial in the size of $\varphi$.  Thus, if we could solve your problem in polynomial time for arbitrary circuits, then we could solve SAT in polytime and we'd have $P=NP$ -- which seems unlikely.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, you should not expect an efficient and fully general solution to your problem, at least if you are working over a finite field.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you are working over $\mathbb{Q}$ or $\mathbb{R}$, I don't have a proof that your problem is NP-hard (I suspect it probably still will be but I have no proof).&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Of course, one pragmatic approach might be to try converting your problem to a SAT instance and applying an off-the-shelf SAT solver.  If you are working over the integers ($\mathbb{Z}$), you might also want to try formulating it as an integer linear programming (ILP) problem and then apply an off-the-shelf ILP solver.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Depending upon the size and complexity of your circuits, this might work reasonably well in practice -- though there is no guarantee that it will always run efficiently.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Incidentally, your problem is equivalent to the question: &quot;given a &lt;a href=&quot;https://en.wikipedia.org/wiki/Decision_tree_complexity#Linear_decision_tree&quot; rel=&quot;nofollow&quot;&gt;linear decision tree&lt;/a&gt;, test whether its output will be identically zero for all inputs&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The equivalence can be seen by topologically sorting the circuit so it can be computed sequentially, and then noting that it forms a decision tree: each of the first three gates can be absorbed into the linear expression, and each instance of the fourth gate corresponds to a boolean decision (testing whether some linear expression of the inputs is $\ge 0$ or not).  In the subtree where this value is $&amp;lt;0$, you substitute in $X$ for each mention of the output of this gate; and substitute $Y$ in the subtree where this value is $&amp;gt;0$.  The depth of the decision tree is equal to the number of type-4 gates in your circuit.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I don't know the complexity of this problem, but perhaps these search times will help you identify whether there is anything relevant in the literature.&lt;/p&gt;&#xA;" OwnerUserId="5038" LastEditorUserId="5038" LastEditDate="2014-01-04T04:54:40.637" LastActivityDate="2014-01-04T04:54:40.637" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="20440" PostTypeId="2" ParentId="20420" CreationDate="2014-01-04T04:00:25.170" Score="3" Body="&lt;p&gt;This problem is NP-hard, as can be shown by a straightforward reduction from SAT.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It sounds like you are interested in the case of $m$ quadratic equations on $n$ variables (over $\mathbb{R}$).  In practice, the hardness of this problem depends on the relationship between $m$ and $n$:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;If $m = \Theta(n)$, this problem is believed to be very hard (say, exponential in $n$).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;If $m \ge n^2/2$ (roughly), this problem is easy and can be solved through linearization: replace each quadratic monomial $x_i x_j$ with a new variable $t_{i,j}$, then use Gaussian elimination.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;If $m = \Theta(n^2)$, this problem can be solved in polynomial time through relinearization.  Roughly speaking, you linearize as above; then, for each $i,j,k,l$, you add constraints $t_{i,j} t_{k,l} = t_{i,k} t_{j,l} = t_{i,l} t_{j,k}$, which are themselves quadratic equations.  This gives you a new system of quadratic equations in the variables $x_i$, $t_{i,j}$.  Now you can apply linearization (or recursively apply relinearization) to this system of quadratic equations.  For details, see my explanation elsewhere and the reference into the literature there: &lt;a href=&quot;https://crypto.stackexchange.com/a/3736/351&quot;&gt;https://crypto.stackexchange.com/a/3736/351&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;If $m = \omega(n)$ and $m = o(n^2)$, I don't know what the complexity is.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;There are also &lt;a href=&quot;https://en.wikipedia.org/wiki/Gr%C3%B6bner_basis&quot; rel=&quot;nofollow noreferrer&quot;&gt;Grobner basis&lt;/a&gt; algorithms, the &lt;a href=&quot;https://en.wikipedia.org/wiki/XSL_attack&quot; rel=&quot;nofollow noreferrer&quot;&gt;XL and XSL algorithms&lt;/a&gt;, and probably others as well.  I don't know if there are any provable, useful running time bounds for any of them for any useful parameter ranges.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Incidentally, you probably don't want to work over the real numbers (where even testing equality is hard), but over the rationals or the integers or some finite field.&lt;/p&gt;&#xA;" OwnerUserId="5038" LastEditorUserId="-1" LastEditDate="2017-04-13T12:48:17.970" LastActivityDate="2014-01-04T04:00:25.170" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20443" PostTypeId="2" ParentId="1215" CreationDate="2014-01-04T15:01:16.330" Score="7" Body="&lt;p&gt;The Travelling Repairman Problem (TRP) is known to be NP-hard on weighted trees. In this problem, which is also sometimes called the Minimum Latency Problem, the goal is to find a tour that visits all the vertices of a graph while minimizing the average latency. The latency of a vertex $u$ is the cost of the tour from the origin until the tour visits $u$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that in the related (and more famous) TSP problem, the goal is to minimize the maximum, rather than the average latency. I think the TRP is generally considered a more complicated problem (in fact TSP is in P for tree metrics).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;NP-hardness on trees was shown in R.A. Sitters &quot;The Minimum Latency Problem Is NP-Hard for Weighted Trees&quot;, ISCO 2002.&lt;/p&gt;&#xA;" OwnerUserId="3168" LastActivityDate="2014-01-04T15:01:16.330" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="20448" PostTypeId="1" AcceptedAnswerId="20451" CreationDate="2014-01-04T23:23:37.287" Score="1" ViewCount="419" Body="&lt;p&gt;Let $L \subseteq X^*$ and $X = \{a,b\}$ be a language of finite words, denote by $A(u)$ the prefixes of some word (finite or infinite), then the adherence $\mbox{Adh}(L)$ is defined to be the set of infinite words such that&#xA;$$&#xA; \mbox{Adh}(L) = \{ \xi \in X^{\omega} : A(\xi) \subseteq A(L) \}&#xA;$$&#xA;i.e. the set of infinite words all of whose prefixes are prefixes of some words from $L$. Also &#xA;write $u \le v$ if $u$ is a prefix of $v$. Define the Dyck language as&#xA;$$&#xA; D = \{ v \in X^* : |v|_a = |v|_b \mbox{ and } \forall w \le v : |w|_a \ge |w|_b \}.&#xA;$$&#xA;Examples of words from $D$ are: $ab, abaabb, aabbab$. Then it is claimed that&#xA;$$&#xA; \mbox{Adh}(D) = \{ \xi \in X^{\omega} : \forall v &amp;lt; \xi : |v|_a \ge |v|_b \}.&#xA;$$&#xA;Note that if this holds then $aaba^{\omega}$ should be in $\mbox{Adh}(D)$. I wanted to proof that claim, therefore I use the property of Adh:&#xA;$$&#xA; \mbox{Adh}(L^*) = L^* \cdot Adh(L) \cup L^{\omega}.&#xA;$$&#xA;And define a &quot;strict&quot; Dyck-language $D_s := \{ a^nb^n : n \ge 0 \}$, then $D = (D_s)^*$.&#xA;It is&#xA;$$&#xA; \mbox{Adh}(D_s) = \{ a^{\omega} \}&#xA;$$&#xA;because $A(D_s) = \{ \varepsilon, a, ab, aa, aab, aabb, \ldots \} = \{ a^i b^j : i \ge j \}$ and just the subset $a^*$ fulfills the property that there exists an infinite word $\xi$ with $A(\xi) = a^*$, for $a^ib^j$ with $j &amp;gt; 0, i \ge j$ just has a finite number of completions $w$ such that $a^ib^jw \in A(D_s)$ (namely by $w = \varepsilon, b, bb, \ldots, b^{i-j}$) and so could not be the set of prefixes of some infinite word (the set $A(\xi)$ for infinite $\xi$ has two properties, 1) it is infinite and 2) the words could be lineary ordered according to the prefix relation, by 2) it is enough to look at some $a^ib^j$ and see of what words from $A(D_s)$ it is a prefix of).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now using the property it is&#xA;$$&#xA; \mbox{Adh}(D) = \mbox{Adh}(D_s^*) = D_s^* \cdot Adh(D_s) \cup D_s^{\omega} = D_s^* a^{\omega} \cup D_s^{\omega}.&#xA;$$&#xA;But the word $aaba^{\omega}$ is not an element of this language, contradicting the first claim? Might the claim be false, or is there some flaw with my proof, I don't see it, maybe you can help?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;PS: The claim (unproved) as well as the properties of the Adh-Operator is from the famous and often cited paper &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/0022000080900100&quot; rel=&quot;nofollow&quot;&gt;Adherences of Languages&lt;/a&gt;, which introduces those notions, so I think the claim is correct.&lt;/p&gt;&#xA;" OwnerUserId="17672" LastEditorUserId="2367" LastEditDate="2020-03-13T13:53:18.567" LastActivityDate="2020-03-13T13:53:18.567" Title="Adherence of languages and the Dyck language" Tags="&lt;fl.formal-languages&gt;&lt;automata-theory&gt;&lt;topology&gt;&lt;omega-language&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20449" PostTypeId="1" CreationDate="2014-01-05T02:41:42.727" Score="4" ViewCount="433" Body="&lt;p&gt;I am cross posting this question from &lt;a href=&quot;https://cs.stackexchange.com/questions/19467/how-to-go-from-a-dag-model-to-bounded-treewidth&quot;&gt;CS.SE&lt;/a&gt; since I believe it is research-related question.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a Bayesian Network DAG $G$, we can transform it into a junction tree $T_G$ by performing two steps: &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;moralisation (connect variables that have the same child, drop directions)&lt;/li&gt;&#xA;&lt;li&gt;triangulation (fill-in edges) i.e chordal graphs. &lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Are there known conditions/assumptions over $G$ under which for any junction tree $T_G$, $T_G$ will have tree width at most $k$? In other words, bounded treewidth for the triangulated graph of $G$? &lt;/p&gt;&#xA;" OwnerUserId="17991" LastEditorUserId="-1" LastEditDate="2017-04-13T12:48:30.830" LastActivityDate="2014-01-05T02:41:42.727" Title="How to go from a DAG model to bounded treewidth?" Tags="&lt;graph-theory&gt;&lt;treewidth&gt;" AnswerCount="0" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="20451" PostTypeId="2" ParentId="20448" CreationDate="2014-01-05T10:01:21.807" Score="5" Body="&lt;p&gt;For each $n \geq 0$, the word $aaba^nb^{n+1}$ is in $D$, therefore $aaba^\omega$ is in $Adh(D)$.&lt;/p&gt;&#xA;" OwnerUserId="17203" LastActivityDate="2014-01-05T10:01:21.807" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="20453" PostTypeId="1" AcceptedAnswerId="20454" CreationDate="2014-01-05T17:11:16.827" Score="2" ViewCount="181" Body="&lt;p&gt;Dudley's chaining integral is commonly used to bound &lt;a href=&quot;http://en.wikipedia.org/wiki/Rademacher_complexity&quot; rel=&quot;nofollow&quot;&gt;Rademacher complexities&lt;/a&gt;. &#xA;I recall seeing several papers give this as the reference&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;@ARTICLE{MR512411,&#xA;  author = {Dudley, R. M.},&#xA;  title = {Central limit theorems for empirical measures},&#xA;  journal = {Ann. Probab.},&#xA;  year = {1978},&#xA;  volume = {6},&#xA;  pages = {899--929 (1979)},&#xA;  number = {6},&#xA;  coden = {APBYAE},&#xA;  fjournal = {The Annals of Probability},&#xA;  issn = {0091-1798},&#xA;  mrclass = {60F05 (28C20 60B10 60F17)},&#xA;  mrnumber = {MR512411 (81k:60029a)},&#xA;  mrreviewer = {P. R{\'e}v{\'e}sz}&#xA;}&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;but I don't think the result in question actually appears in that paper. &#xA;Could anyone point me to the definitive reference?&lt;/p&gt;&#xA;" OwnerUserId="1746" LastEditorUserId="186" LastEditDate="2014-01-05T21:08:14.673" LastActivityDate="2014-01-05T22:08:01.137" Title="Reference for Dudley's chaining integral" Tags="&lt;reference-request&gt;&lt;machine-learning&gt;&lt;lg.learning&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20454" PostTypeId="2" ParentId="20453" CreationDate="2014-01-05T22:08:01.137" Score="4" Body="&lt;p&gt;I think the proper reference is:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;@article{Dudley1967290,&#xA;    Author = {R.M Dudley},&#xA;    Doi = {http://dx.doi.org/10.1016/0022-1236(67)90017-1},&#xA;    Issn = {0022-1236},&#xA;    Journal = {Journal of Functional Analysis},&#xA;    Number = {3},&#xA;    Pages = {290 - 330},&#xA;    Title = {The sizes of compact subsets of Hilbert space and continuity of Gaussian processes},&#xA;    Url = {http://www.sciencedirect.com/science/article/pii/0022123667900171},&#xA;    Volume = {1},&#xA;    Year = {1967},&#xA;    Bdsk-Url-1 = {http://www.sciencedirect.com/science/article/pii/0022123667900171},&#xA;    Bdsk-Url-2 = {http://dx.doi.org/10.1016/0022-1236(67)90017-1}}&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;See Theorem 3.1. for the relevant result, although stated in terms of continuity of Gaussian processes.&lt;/p&gt;&#xA;" OwnerUserId="4896" LastActivityDate="2014-01-05T22:08:01.137" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20455" PostTypeId="1" AcceptedAnswerId="20460" CreationDate="2014-01-05T23:37:33.197" Score="4" ViewCount="157" Body="&lt;p&gt;Please, correct my terminology as I am not a combinatorician&#xA;(I am using &lt;a href=&quot;http://en.wikipedia.org/wiki/Partial_permutation&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/Partial_permutation&lt;/a&gt;). Please, refer me to the solution if this is a solved problem.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Let $P_k$ be partial permutations of the set $\{1, 2, \ldots, n\}$, e.g. $n=5$, $P_1=(1,\cdot,3,2,\cdot)$, and $P_2=(\cdot,2,3,1,5)$. Let $T_k$ be permutations from the same set, e.g. $T_1=(1,3,4,2,5)$.  I will write $P_1[4]=2$, $P_2[4]=1$, and $T_1[4]=2$.  I will say, that $P_1[2]$, $P_1[5]$, and $P_2[1]$ do not exist.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let define that a given partial permutation $P$ is included in the given permutation $T$ if for all $i,j$ for which $P[i]$ and $P[j]$ exist: if $P[i] &amp;lt; P[j]$ then $T[i] &amp;lt; T[j]$. For example, the given $P_1$ and $P_2$ are both included in the given $T_1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let define that two given partial permutations are compatible if there exists a permutation such that both partial permutations are included in it. For example, the given $P_1$ and $P_2$ are compatible, because they are both included in $T_1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;QUESTION: Propose an algorithm to check if two given partial permutations are compatible. Please propose also the proper data structure for representing partial orders which will allow your (efficient) algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(I am tagging this question with BDD because the solution may help me to represent BDDs with different variable ordering more concisely)&lt;/p&gt;&#xA;" OwnerUserId="7015" LastEditorUserId="7015" LastEditDate="2014-01-07T08:57:01.693" LastActivityDate="2014-01-07T08:57:01.693" Title="Compatible partial permutations" Tags="&lt;sorting&gt;&lt;permutations&gt;&lt;partial-order&gt;&lt;binary-decision-diagrams&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20457" PostTypeId="1" CreationDate="2014-01-06T03:39:34.347" Score="0" ViewCount="305" Body="&lt;p&gt;What are the best known upper and lower bounds for simulating t steps of certain models of deterministic turing machines (1 tape, 1 tape with read only input tape, 2 tape, multi tape, with/without random access to memory)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit: I am mainly interested in efficient simulations with the same or with weaker models. Simulations with stronger models are quite efficient in most of the cases.&lt;/p&gt;&#xA;" OwnerUserId="20544" LastEditorUserId="20544" LastEditDate="2014-01-06T09:42:09.730" LastActivityDate="2014-01-06T09:59:59.273" Title="Simulation of deterministic turing machines" Tags="&lt;computability&gt;&lt;turing-machines&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="20458" PostTypeId="1" CreationDate="2014-01-06T07:42:04.173" Score="0" ViewCount="121" Body="&lt;p&gt;I want to calculate the training and testing time for binary classification. How to calculate that if a given database D has A attributes and T records. Please any one help me?&#xA;or how to calculate the time complexity for binary classifier?&lt;/p&gt;&#xA;" OwnerUserId="20983" LastActivityDate="2014-01-06T10:30:02.877" Title="How to calculate machine learning time for binary classification?" Tags="&lt;cc.complexity-theory&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="20460" PostTypeId="2" ParentId="20455" CreationDate="2014-01-06T09:43:50.997" Score="2" Body="&lt;p&gt;We can reduce it to the following problem:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Given a directed graph on vertex set $\{1,2,\dots,n\}$, we want to know if there exists a permutation $T$ such that for each edge $(i,j)$ in the graph, $T[i]&amp;lt;T[j]$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The reduction: add an edge to the graph for each pair $i,j$ where both $P_b[i]$ and $P_b[j]$ exist for some $b \in \{0,1\}$; the orientation of the edge is determined by whether $P_b[i]&amp;lt;P_b[j]$ or not.  This yields a directed graph that contains the union of edges from $P_0$ plus edges from $P_1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Conveniently, the new problem is easy.  Of course, if there are any cycles in the graph, then there is no such permutation $T$ (i.e., the two permutations $P_0,P_1$ are not compatible).  Conversely, if there are no cycles in the graph, then there is such a permutation $T$ (i.e., the permutations $P_0,P_1$ are compatible).  Do you see why?  We can simply apply a topological sort to the graph and use it to construct an example of such a permutation $T$, where we assign $T[i]=j$ if vertex $i$ is the $j$th vertex to be visited in the topologically sorted order.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm not sure what BDDs have to do with it.  This does not seem like a research-level question.&lt;/p&gt;&#xA;" OwnerUserId="5038" LastActivityDate="2014-01-06T09:43:50.997" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="20461" PostTypeId="2" ParentId="20457" CreationDate="2014-01-06T09:52:48.313" Score="1" Body="&lt;p&gt;For what regards (apparently) &quot;weaker&quot; models, one of the recent new results that I saw is that a deterministic Turing machine can be efficiently simulated by a 2-tag system:&#xA;&lt;a href=&quot;http://arxiv.org/abs/cs/0612089&quot; rel=&quot;nofollow&quot;&gt;Damien Woods and Turlough Neary, On the time complexity of 2-tag systems and&#xA;small universal Turing machines (FOCS 2006)&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Theorem 1:&lt;/strong&gt; Given a single tape deterministic Turing machine $M$ that computes in time $t$ then there is a 2-tag system TM that simulates the computation&#xA;of $M$ and computes in polynomial time $O(t^4(\log t)^2)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Corollary 1:&lt;/strong&gt; The small UTMs of Minsky, Rogozhin and others are polynomial time, $O(t^8(\log  t)^4)$, simulators of Turing machines.&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2014-01-06T09:59:59.273" LastActivityDate="2014-01-06T09:59:59.273" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="20462" PostTypeId="1" AcceptedAnswerId="25649" CreationDate="2014-01-06T10:19:27.523" Score="25" ViewCount="727" Body="&lt;p&gt;According to &lt;a href=&quot;http://link.springer.com/book/10.1007%2F978-94-011-1134-8&quot;&gt;D. den Hertog, Interior Point Approach to Linear, Quadratic and Convex Programming, 1994&lt;/a&gt;, a linear program with $n$ variables, $n$ constraints and precision $L$ is solvable in $O(n^3L)$ time. Has that been improved upon?&lt;/p&gt;&#xA;" OwnerUserId="1746" LastEditorUserId="3247" LastEditDate="2014-01-06T12:49:36.600" LastActivityDate="2014-08-31T15:06:44.770" Title="Is cubic complexity still the state of the art for LP?" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;linear-programming&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="20463" PostTypeId="2" ParentId="20458" CreationDate="2014-01-06T10:30:02.877" Score="2" Body="&lt;p&gt;By &quot;time&quot; do you mean the number of examples or the computation required to construct a classifier? If the former, the key quantity is the VC-dimension of the hypothesis class (i.e., collection of all classifiers you are willing to consider). The latter is strongly dependent on the representation (i.e., how you &quot;view&quot; the classifier in terms of algorithms and data structures) and in many cases can be NP-hard.&lt;/p&gt;&#xA;" OwnerUserId="1746" LastActivityDate="2014-01-06T10:30:02.877" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20464" PostTypeId="1" CreationDate="2014-01-06T13:47:20.160" Score="0" ViewCount="135" Body="&lt;p&gt;Assume a qubit quantum channel (trace-preserving CP (==completely positive) map) $\mathcal{N}:C^2\to C^2$ whose quantum capacity is known. Now I construct a new channel $\mathcal{M}:C^2\to C^{2+n}$ where $n&amp;gt;0$:&#xA;$$&#xA;\mathcal{M}=p\mathcal{N}\oplus(1-p)\mathcal{C},&#xA;$$&#xA;where $\mathcal{C}$ is an arbitrary channel $C^2\to C^n$, whose form I don't need to know, and $0\leq p\leq1$. Assume that I have access just to the two-dim output subspace of $\mathcal{M}$ given by the image of $\mathcal{N}$. So effectively, I constructed a new CP map $\mathcal{M'}:C^2\to C^{2}$ that is trace-decreasing (since $p\leq1$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is my question:&#xA;What si the quantum capacity of $\mathcal{M'}$ ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is my answer:&#xA;Irrespective of $n$, I can assume that $\mathcal{M'}$ can be written as&#xA;$$&#xA;\mathcal{M'}=\mathcal{E}\circ\mathcal{N},&#xA;$$&#xA;where $\mathcal{E}:C^2\to C^3$ is a qubit erasure channel&#xA;$$&#xA;\mathcal{E}(\rho)=p{\rho}\oplus(1-p)\rho_{fixed},&#xA;$$ &#xA;where  $\rho_{fixed}$ is an input-independent positive operator (density matrix) spanning a one-dimensional subspace. Hence, the quantum capacity of $\mathcal{M'}$ is the minimum of the quantum capacities of $\mathcal{N}$ and $\mathcal{E}$ (known as the bottleneck inequality).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT&lt;/strong&gt;&#xA;Following Shor's comment I wanted to say that the quantum capacity of $\mathcal{M'}$ will be &lt;strong&gt;bounded&lt;/strong&gt; from above by the quantum capacities of $\mathcal{N}$ and $\mathcal{E}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Do you agree?&lt;/p&gt;&#xA;" OwnerUserId="20993" LastEditorUserId="20993" LastEditDate="2014-01-07T13:11:36.587" LastActivityDate="2014-01-07T13:11:36.587" Title="The quantum capacity of a trace-decreasing CP map" Tags="&lt;quantum-information&gt;" AnswerCount="0" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="20468" PostTypeId="1" CreationDate="2014-01-06T16:52:26.010" Score="18" ViewCount="758" Body="&lt;p&gt;Consider the language $L_{k-distinct}$ consisting of all $k$-letter strings over $\Sigma$ such that no two letters are equal:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;L_{k-distinct} :=\{w = \sigma_1\sigma_2...\sigma_k \mid \forall i\in[k]: \sigma_i\in\Sigma ~\text{ and }~ \forall j\ne i: \sigma_j\ne\sigma_i \}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This language is finite and therefore regular.  Specifically, if $\left|\Sigma\right|=n$, then $\left|L_{k-distinct}\right| = \binom{n}{k} k!$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;What is the smallest non-deterministic finite automaton that accepts this language?&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I currently have the following loose upper and lower bounds:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;The smallest NFA I can construct has $4^{k(1+o(1))}\cdot polylog(n)$ states.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The following lemma implies a lower bound of $2^k$ states: &lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Let $L ⊆ Σ^*$ be a regular language.  Suppose there are $n$ pairs $P = \{ (x_i, w_i) \mid 1 ≤ i ≤ n \}$ such that $x_i\cdot w_j \in L$ if and only if $i=j$.  Then any NFA accepting L has at least n states.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Another (trivial) lower bound is $log$$n\choose k$, which is the log of the size of the smallest DFA for the language.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I am also interested in NFAs that accept only a fixed fraction ($0&amp;lt;\epsilon&amp;lt;1$) of $L_{k-distinct}$, if the size of the automaton is smaller than $\epsilon\cdot 4^{k(1+o(1))}\cdot polylog (n)$.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Edit: I've just started a bounty that had a mistake in the text.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I meant we may assume $k=polylog(n)$ while I wrote $k=O(log(n))$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit2:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The bounty is going to end soon, so if anyone is interested in what is perhaps an easier way to earn it, consider the following language:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$L_{(r,k)-distinct} :=\{w : w$ contains $k$ distinct symbols and no symbol appear more than $r$ times$\}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(i.e. $L_{(1,k)-distinct} = L_{k-distinct}$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A similar construction as the one in the comments gives $O(e^k\cdot 2^{k\cdot log(1+r)}\cdot poly(n))$ sized automaton for $L_{(r,k)-distinct}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can this be improved? What's the best lower bound we can show for this language?&lt;/p&gt;&#xA;" OwnerUserId="21001" LastEditorUserId="42" LastEditDate="2014-03-25T19:50:27.703" LastActivityDate="2014-03-27T15:59:55.863" Title="Bounds on the size of the smallest NFA for L_k-distinct" Tags="&lt;automata-theory&gt;&lt;lower-bounds&gt;&lt;regular-language&gt;&lt;communication-complexity&gt;&lt;streaming&gt;" AnswerCount="2" CommentCount="21" FavoriteCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="20471" PostTypeId="1" CreationDate="2014-01-06T22:48:31.367" Score="8" ViewCount="388" Body="&lt;p&gt;Here is the problem as posed by Jerrum:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&quot;The computational complexity of the following problem is investigated: Given a permutation group specified as a set of generators, and a single target permutation which is a member &#xA;of the group, what is the shortest expression for the target permutation in terms of the generators?&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Jerrum, Mark R. &quot;&lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/0304397585900477&quot; rel=&quot;noreferrer&quot;&gt;The complexity of finding minimum-length generator sequences.&lt;/a&gt;&quot; Theoretical Computer Science 36 (1985): 265-289.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is the current state of the art algorithm for finding min-length generator sequences over small ( n&amp;lt;13 ) permutations?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The simple approach seems to be caching prefixes and growing them when a length $i+1$ word (composed into a permutation) is not contained in any of the length $1..i$ words. You either reach the target permutation, or at some length your words no longer compose into new permutations so you know the target is unreachable.&lt;/p&gt;&#xA;" OwnerUserId="2021" LastEditorUserId="898" LastEditDate="2014-01-07T01:17:28.160" LastActivityDate="2014-01-07T01:17:28.160" Title="Permutation optimization problem" Tags="&lt;optimization&gt;&lt;permutations&gt;" AnswerCount="0" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="20472" PostTypeId="2" ParentId="4227" CreationDate="2014-01-07T04:14:57.517" Score="3" Body="&lt;p&gt;This thread is quite old; however, nobody seems to have hit on the most elegant and simple approach. Lexicographically sort the adjacency-list in O(n+m) time then check for duplicates (see Aho, Hopcroft, Ullman, 74').  You can use modular decomposition, but this is total overkill.&lt;/p&gt;&#xA;" OwnerUserId="15745" LastActivityDate="2014-01-07T04:14:57.517" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="20473" PostTypeId="1" CreationDate="2014-01-07T05:30:09.337" Score="3" ViewCount="168" Body="&lt;p&gt;Let $f:\{-1,1\}^n \rightarrow \{-1,1\}$ be any boolean function. Let $Maj_n$ represent the majority function. Let $\langle f,g \rangle = E[f(x)g(x)]$ and $\mathcal{I}(f) = E_x[\# i, s.t. f(x)\neq f(x \oplus e_i)]$ be the total influence of a function under the standard definitions. Then does the following identity always hold? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$  \langle f,Maj_n \rangle \leq c*\frac{\mathcal{I}(f)}{\mathcal{I}(Maj_n)} $$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where c is some universal constant. I believe it might be true but have not been able to prove it. I have tried some standard functions and they seem to work. I may be mistaken as I am very new to this area.  Could you please suggest a way to prove it ? or some references regarding this&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks in advance&lt;/p&gt;&#xA;" OwnerUserId="12212" LastEditorUserId="12212" LastEditDate="2014-01-07T05:55:57.570" LastActivityDate="2014-01-07T05:55:57.570" Title="An identity about the Majority function?" Tags="&lt;co.combinatorics&gt;&lt;boolean-functions&gt;&lt;fourier-analysis&gt;" AnswerCount="0" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="20475" PostTypeId="2" ParentId="11033" CreationDate="2014-01-07T08:56:39.017" Score="0" Body="&lt;p&gt;My opinion is that The CAP Theorem Is Not a Theorem. The CAP properties in the conjecture by Brewer are simply not well-defined enough to provide a rigorous mathematical proof. So, the reason availability is hard to &quot;understand&quot; could be because it is simply not well-defined in this context.&lt;/p&gt;&#xA;" OwnerUserId="21019" LastEditorUserId="17082" LastEditDate="2014-01-07T09:48:16.830" LastActivityDate="2014-01-07T09:48:16.830" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="20476" PostTypeId="1" CreationDate="2014-01-07T10:01:42.200" Score="0" ViewCount="61" Body="&lt;p&gt;I am looking for ways to crowd-source systematic reasoning behind common and uncommon convictions, beliefs, science principles, software or product design, political views, etc. Today, discussions on such topics happen in both formal &amp;amp; informal media, like newspapers, blogs, emails, scientific literature, e-groups, etc. Such discussions use the tools, style and expressions of natural language and are also hugely diverse in presentation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The disadvantage of this type of discourse is that the rigor behind a certain claim cannot always be evaluated easily. It's fairly complex to figure all the missing pieces, unstated assumptions, specious logic, etc.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The best case would be a system that can auto-derive conclusions, figure out contradictions, incompleteness, unsoundness, etc. but that's probably too far at this point. For a start am looking for a simple system that would allow me to represent Boolean statements like: &quot;z is true iff (x OR y) is true&quot;, etc., along with axioms that one declares true. The statement themselves could just be in a natural language form.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Such a system would help in rigorously representing scientific answers like for &quot;Why is the sky blue?&quot;, convictions like &quot;Why should I homeschool my child?&quot;, &quot;Why is the US dollar not a good bet in the long run?&quot;, &quot;Why is climate change caused by human activity?&quot;, &quot;Why does C++ have to do this?&quot;, etc.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As you'd see many of the above questions come with too many points &amp;amp; counter points to be rigorously represented in regular forums. In most cases it's just different axioms that drive disagreeing parties away from each other. Calling out axioms explicitly simplifies the evaluation of an argument.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The system am looking for would be able to present a claim with finality like: &quot;Given the following axioms/assumptions, the statement .... is true.&quot;.  It would also be able to represent the chain of reasoning as appropriate.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A simple vision for such a system is to represent short statements (restricting perhaps to a tweet-like length of 144 chars), their truth-value condition (as a Boolean expression) and the axioms to start out with.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Do we have such systems/websites available? Thoughts?&lt;/p&gt;&#xA;" OwnerUserId="21021" LastActivityDate="2014-01-07T10:01:42.200" Title="Bringing rigor into discussions. Do we have a crowd-sourced sytematic reasoning system?" Tags="&lt;lo.logic&gt;" AnswerCount="0" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="20478" PostTypeId="1" AcceptedAnswerId="20479" CreationDate="2014-01-07T10:11:00.113" Score="0" ViewCount="144" Body="&lt;p&gt;I have a finite graph with vertices $V$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The sets $A_i, i=1,\ldots,N$ are non-empty disjoint subsets of $V$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I want to find out if there is some way of selecting $a_i, i=1,\ldots,N$ such that&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;$a_i \in A_i$ for all $i$. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;For any $i$ and $j$ such that $i\ne j$ there is no edge connecting&#xA;$a_i$ and $a_j$ in the given graph&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;I know that I can set this up as a boolean satisfiability problem. But I was wondering if there is anything in the structure of this particular problem which will allow for a more efficient approach?&lt;/p&gt;&#xA;" OwnerUserId="21020" LastActivityDate="2014-01-07T10:46:40.740" Title="A combinatorial problem" Tags="&lt;graph-algorithms&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="20479" PostTypeId="2" ParentId="20478" CreationDate="2014-01-07T10:46:40.740" Score="3" Body="&lt;p&gt;No, you can't do much better than encoding your problem as a satisfiability problem, as it is NP-complete. Here is an example reduction to 3SAT to your problem:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For every clause, instantiate three vertices (one for every literal), which form one of your sets A_i. Chosing a vertex means that your 3SAT-solution should satisfy the clause by satisfying the respective literal. Then, add an edge between a node $x$ and $\neg x$ between of any clause for all variables $x$ in order to enforce that solutions are consistent. A solution to your problem for this graph then almost represents a 3SAT solution. I am writing &quot;almost&quot; as some variables may not occur in a chosen literal. These can have any value, however. &lt;/p&gt;&#xA;" OwnerUserId="16000" LastActivityDate="2014-01-07T10:46:40.740" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20480" PostTypeId="2" ParentId="20369" CreationDate="2014-01-07T11:37:26.733" Score="3" Body="&lt;p&gt;I'll first restate your question, and then try to answer it. As I understand it, the question you are trying to answer is, &quot;if I have a scene graph/widget tree, and I get an event, how can I figure out how to dispatch that event to the appropriate subnodes of the tree?&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The answer is that the data structures you have outlined are not sufficient by themselves to do the job; you need a bit more information. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The primitive events the OS produces tell you the positions of the mouse, and the scene graph gives you a logical decomposition of the structure of the GUI. Therefore, you need some additional data structures to translate between the widget tree and what it looks like geometrically. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The simplest case is when every widget is an axis-aligned rectangle. What you do then is:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Every widget node stores its position and shape. &lt;/li&gt;&#xA;&lt;li&gt;In addition to the widget tree, you keep  a separate doubly-linked list storing all of the clickable widgets in their z-order, so that the widget which is visually &quot;on top&quot; is at the head of the list. &lt;/li&gt;&#xA;&lt;li&gt;You also keep track of the current mouse position (you have to do this anyway, because the OS only gives you relative position changes). &lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;When an event occurs, what you do is:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;When an event occurs you iterate through the z-order list, doing a simple hit test for the bounding box of each widget. &lt;/li&gt;&#xA;&lt;li&gt;The first time the hit test succeeds, you know where the event occurred, and can do event dispatch. &lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;With fancier graphics geometry (say with vector graphics), each widget will store a data structure representing the shape, and your hit test gets more complicated to match. The things to Google for: &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&quot;collision detection&quot; or &quot;hit detection&quot;. &lt;/li&gt;&#xA;&lt;li&gt;&quot;spatial indices&quot; -- often these data structures &lt;em&gt;are&lt;/em&gt; variants of quadtrees and the like. It really does work pretty well, even though the geometric data can be quite large, because user events are generally relatively infrequent. &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="657" LastActivityDate="2014-01-07T11:37:26.733" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20481" PostTypeId="1" CreationDate="2014-01-07T12:42:29.353" Score="2" ViewCount="268" Body="&lt;p&gt;In the &lt;em&gt;connected dominating set problem&lt;/em&gt; (CDS) we are given an &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt;-vertex undirected graph, and asked to find the smallest connected subset &lt;span class=&quot;math-container&quot;&gt;$S$&lt;/span&gt; of vertices such that each vertex not in &lt;span class=&quot;math-container&quot;&gt;$S$&lt;/span&gt; is adjacent to some vertex in &lt;span class=&quot;math-container&quot;&gt;$S$&lt;/span&gt;. If we drop the connectedness requirement (the usual dominating set problem (DS)), we have exact algorithms that are much faster than the naive brute force method. The trivial algorithm for CDS runs in &lt;span class=&quot;math-container&quot;&gt;$\Omega(2^n)$&lt;/span&gt; time and enumerates all the subsets of vertices. To the best of my knowledge, the fastest known exact algorithm for CDS is the one given by Fomin, Grandoni and Kratsch running in &lt;span class=&quot;math-container&quot;&gt;$O(1.9407^n)$&lt;/span&gt; time.&lt;/p&gt;&#xA;&lt;p&gt;It seems both intuitively true, and also generally accepted in the literature, that non-local problems (such as CDS) are harder to solve than local problems (such as DS). The reason seems to be that often exact algorithms are exploiting the local structure of the problem whereas say connectivity is a global property. Another non-local problem is TSP, for which as far as I know, the fastest known algorithm dates back to the sixties and runs in &lt;span class=&quot;math-container&quot;&gt;$\Omega(2^n)$&lt;/span&gt; time.&lt;/p&gt;&#xA;&lt;p&gt;Say for TSP, we do have faster algorithms for special graph classes of course (cubic, bounded-degree, and so on). Also, for many non-local problems on graphs of bounded treewidth we have (I guess possibly even optimal under SETH) algorithms (see the work by Cygan et al). Similarly, I think we can get &lt;span class=&quot;math-container&quot;&gt;$O(c^{\sqrt{n}})$&lt;/span&gt; algorithms for non-local problems on planar graphs using a result of Fomin and Thilikos bounding the treewidth of a planar graph, and showing how a tree decomposition of such width can be found in polynomial time. But what about general (undirected) graphs?&lt;/p&gt;&#xA;&lt;p&gt;It indeed appears that for many non-local problems the best known algorithms are still trivial. For Steiner tree (i.e. find a minimum size subtree of a given graph spanning a given subset of &lt;span class=&quot;math-container&quot;&gt;$k$&lt;/span&gt; nodes), we have a &lt;span class=&quot;math-container&quot;&gt;$O(1.4143^n)$&lt;/span&gt; time algorithm obtained by combining the &lt;span class=&quot;math-container&quot;&gt;$O((2+\epsilon)^kn^{O(1)}$&lt;/span&gt; DP algorithm (for small &lt;span class=&quot;math-container&quot;&gt;$k$&lt;/span&gt;) with the trivial &lt;span class=&quot;math-container&quot;&gt;$O(2^{n-k}n^{O(1)})$&lt;/span&gt; enumeration of Steiner nodes (for large &lt;span class=&quot;math-container&quot;&gt;$k$&lt;/span&gt;). To the best of my knowledge, finding a polynomial space algorithm faster than &lt;span class=&quot;math-container&quot;&gt;$2^n$&lt;/span&gt; is still open.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;(1)&lt;/strong&gt; What other examples of non-local problems besides connected dominating set and Steiner tree do we have such that there is a faster non-trivial exact algorithm for them (on general graphs)?&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;(2)&lt;/strong&gt; Is it possible to extract some kind of general algorithmic design techniques from the known fast exact algorithms for non-local problems?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="5693" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2014-01-08T08:32:20.313" Title="Design of exact algorithms for non-local hard problems" Tags="&lt;np-hardness&gt;&lt;exp-time-algorithms&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="20483" PostTypeId="1" CreationDate="2014-01-07T14:26:40.930" Score="0" ViewCount="153" Body="&lt;p&gt;&lt;strong&gt;Intro&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hi, I'm a hobbyist, with no formal education, tinkering with SAT solving and boolean algebra minimization. So expect bad terminology. I hope you will forgive me I'm asking a wrong question in a wrong place. I'll give it a shot.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Essentially I'm trying to find the most &quot;complex&quot;/&quot;chaotic&quot;/&quot;highest entropy&quot; truth tables of some sizes (&gt;32 bits / &gt;5 vars). I'm asking if it would be possible to find such functions without enumeration and how to go about getting there?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Complex in what context?&lt;/strong&gt; Complexity would mean the size of some representation other than the truth table itself. So let's say the complexity of a function is the size of the function's optimal CNF/DNF or NNF representation with &quot;temp vars&quot;(to avoid the exponential growth in certain cases like XORs). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Number of clauses in case of CNF/DNF, number of temp vars in case of NNF. Don't know if those can be called CNF and NNF anymore but I hope you get what I mean.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm more used to a NNF-like representation without ORs. Where (a+b).(a'+b') would be described in the following way:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;0 = a'.b'&lt;/li&gt;&#xA;&lt;li&gt;1 = a.b &lt;/li&gt;&#xA;&lt;li&gt;2 = 0'.1'&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Application / Why I'm asking?&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm looking for a way to find and analyse cases (preferably similar) where the optimal representation in the And-inverter graph structure would start to grow exponentially as the size of the truth table increases and it would get way bigger than the truth table itself. Just like it happens with XORs in CNF/DNF structure.&lt;/p&gt;&#xA;" OwnerUserId="17076" LastEditorUserId="17076" LastEditDate="2014-01-07T17:42:52.353" LastActivityDate="2014-01-07T17:42:52.353" Title="How to go about finding the most &quot;complex&quot; function?" Tags="&lt;sat&gt;&lt;boolean-functions&gt;&lt;gr.group-theory&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="20484" PostTypeId="2" ParentId="20483" CreationDate="2014-01-07T16:35:30.520" Score="3" Body="&lt;p&gt;Pick one at random. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If it is random, then there is no way to compress the representation. You have to store the entire truth table.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Kolmogorov_complexity&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/Kolmogorov_complexity&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="2021" LastActivityDate="2014-01-07T16:35:30.520" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="20485" PostTypeId="1" CreationDate="2014-01-07T16:50:10.797" Score="3" ViewCount="128" Body="&lt;p&gt;The complexity of computing the permanent of a $l\times l$ binary matrix is known to be $\#\mathsf{P}$-complete, from the famous result of &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/0304397579900446&quot; rel=&quot;nofollow&quot;&gt;Valiant&lt;/a&gt;, where $l = \Theta(n)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We know that the problem is not in $\mathsf{P}$, unless $l = \mathcal{O}(\log_2 n)$. What can we say about the complexity of the problem when $l = \mathcal{o}(n)$ as well as $\log_2 n = \mathcal{o}(l)$ ? For example, if $l = \text{polylog}(n)$ ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does the problem remain $\#\mathsf{P}$-complete ? Or is it complete for a class in some level of the polynomial hierarchy ?&lt;/p&gt;&#xA;" OwnerUserId="9893" LastEditorUserId="80" LastEditDate="2014-01-07T18:27:54.507" LastActivityDate="2014-01-07T18:27:54.507" Title="Computing the permanent with polylog size matrices" Tags="&lt;complexity-classes&gt;&lt;counting-complexity&gt;&lt;permanent&gt;&lt;polynomial-hierarchy&gt;" AnswerCount="0" CommentCount="5" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="20486" PostTypeId="1" CreationDate="2014-01-07T22:07:58.500" Score="3" ViewCount="171" Body="&lt;p&gt;Multiplicity automatons (see &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=337257&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;) is an interesting model. They have the (almost) same syntax as a non-deterministic finite automatons, but instead of deciding whether a word belongs to a language, they compute a function, $f_A: \Sigma^* \to F$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm interested in a special kind of multiplicity automata, called binary MA :- automaton which computes a value over $Z_2$, and all of the weights associated to the arcs are $1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since the function computed is over $Z_2$, we can discuss the language of the automaton, which is defined as: $L(A) = \{w|f_A(w)=1\}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;In other words - such automaton $A$ is a NFA, accepting a word $w$ iff the number of accepting paths for $w$ in $A$ is a odd number.&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, every DFA is a binary MFA.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;While it is easy to figure whether a DFA or NFA has an empty language, finding whether a binary MFA's language is empty or not seems harder.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(or, formulated differently, whether a NFA has a word which is accepted by odd number of paths).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It seems that I can find a naive algorithm for the task which runs in $poly(n,|\Sigma|)$ (where $n$ is the number of states), but I'm wondering if it's possible to reduce it to $n^2$ (or maybe lower :) ).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT: if it helps, the actual automaton I have has no cycles (which means $L(A)$ is finite).&lt;/p&gt;&#xA;" OwnerUserId="21001" LastEditorUserId="21001" LastEditDate="2014-01-08T09:09:49.190" LastActivityDate="2014-01-08T09:09:49.190" Title="Deciding whether a binary multiplicity automaton has empty language" Tags="&lt;fl.formal-languages&gt;&lt;automata-theory&gt;&lt;counting-complexity&gt;&lt;boolean-functions&gt;&lt;nondeterminism&gt;" AnswerCount="0" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="20487" PostTypeId="2" ParentId="20481" CreationDate="2014-01-07T22:26:55.947" Score="2" Body="&lt;p&gt;Well, Hamiltonicity was $\Omega(2^n)$ problem till recently, when &lt;a href=&quot;http://eccc.hpi-web.de/report/2013/012/download/&quot; rel=&quot;nofollow&quot;&gt;it was shown&lt;/a&gt; that simple k-path can be solved in $O^*(1.657^k)$, which means $O(1.657^n \cdot poly(n))$ for the classical Hamiltonicity.&lt;/p&gt;&#xA;" OwnerUserId="21001" LastEditorUserId="21001" LastEditDate="2014-01-08T08:32:20.313" LastActivityDate="2014-01-08T08:32:20.313" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="20489" PostTypeId="1" CreationDate="2014-01-07T23:42:11.707" Score="1" ViewCount="197" Body="&lt;p&gt;On Stackoverflow, user &lt;a href=&quot;https://stackoverflow.com/q/20926827/684229&quot;&gt;asked a question&lt;/a&gt; about a data structure that would allow to keep an ordering for a set of items, with the condition of limited memory and only one item can be modified at a single operation. My feeling is that such an algorithm &lt;em&gt;does NOT exist&lt;/em&gt;, but have no clue how to prove that.&lt;/p&gt;&#xA;&lt;p&gt;First I tried to formalize the OPs requirements on the algorithm:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;The data structure keeps an order of given item set, i.e. one of &lt;code&gt;n!&lt;/code&gt; permutations.&lt;/li&gt;&#xA;&lt;li&gt;Now the hard part comes. Not sure how to formalize that single item modification. We perhaps need to assume that the data structure keeps one of &lt;code&gt;O(n)&lt;/code&gt; possible values for each item. This matches both the numbering algorithms linked list algorithms mentioned in the OPs question, and many more (tree data structures etc.).&lt;/li&gt;&#xA;&lt;li&gt;Then say we have function &lt;code&gt;f(data structure)&lt;/code&gt; that will return the order (permutation) of all the items.&lt;/li&gt;&#xA;&lt;li&gt;Then suppose we have an operation which is a function &lt;code&gt;data_structure_after = op(data_structure_before)&lt;/code&gt; that will just change the position of one existing item relatively to the other items. During the operation, only value of one item can be changed.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h3&gt;We want to prove that such algorithm doesn't exist.&lt;/h3&gt;&#xA;&lt;p&gt;I got totally stuck here. It is totally clear why the numbering solution in the OPs question will not work, because it will break if you for example have items A, B, and C and keep putting the last item between the first two. It is also clear that linked list solution will break on the single item modifictaion requirement. But to prove non-existence, we must use much more general approach!&lt;/p&gt;&#xA;&lt;p&gt;Maybe somehow start from the fact that &lt;code&gt;f&lt;/code&gt; has &lt;code&gt;O(n^n)&lt;/code&gt; input values and &lt;code&gt;n!&lt;/code&gt; output values, and during each operation input values can only change for one item, thus &lt;code&gt;O(n)&lt;/code&gt; possible changes, has to produce &lt;code&gt;n&lt;/code&gt; changes at the output, so if we imagine this as a graph we have limitations of the number of edges going from each vertex... maybe use graph theory here. Then construct some infinite row of operations as a contra example that will either break on the single item modification requirement (like the linked list solution) or on the &lt;code&gt;O(n)&lt;/code&gt; requirement for the set of item values (like the numbering solution).&lt;/p&gt;&#xA;&lt;p&gt;This was the basic idea but I am totally clueless how to actually perform the proof.&lt;/p&gt;&#xA;" OwnerUserId="21029" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2014-01-07T23:42:11.707" Title="Prove algorithm non-existence: keep order of items with single item modification" Tags="&lt;proofs&gt;" AnswerCount="0" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="20490" PostTypeId="1" CreationDate="2014-01-08T01:54:21.413" Score="2" ViewCount="72" Body="&lt;p&gt;Let $A_i$ be the number of codewords in a binary linear code $\mathcal{C}$ of weight $i$. It is known that:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;$A_k$ is in $P$, where $k = \mathcal{O}(\log_2 n)$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;$A_{n}$ is in $\#P-Complete$, equivalently, computing $A_{n}$ is hard for $PH$, under polytime Turing reductions. See &lt;a href=&quot;http://tel.archives-ouvertes.fr/docs/00/66/57/82/PDF/BRIQUEL_IrA_nA_e_2011_ThA_se.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;here&lt;/a&gt; and &lt;a href=&quot;http://arxiv.org/pdf/cs/0304044.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;What about the computational hardness of $A_{i}$ where $i = polylog(n)$ ? Are there results of the type: $A_{\lceil \log_{2}^{k}n \rceil} \in \Sigma^{P}_{k-1}$ ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This question may be related to &lt;a href=&quot;https://cstheory.stackexchange.com/questions/20485/computing-the-permanent-with-polylog-size-matrices&quot;&gt;this&lt;/a&gt; stack exchange question.&lt;/p&gt;&#xA;" OwnerUserId="9893" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2014-01-08T01:54:21.413" Title="Weight enumerator and levels of polynomial hierarchy" Tags="&lt;reference-request&gt;&lt;counting-complexity&gt;&lt;coding-theory&gt;&lt;polynomial-hierarchy&gt;" AnswerCount="0" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="20491" PostTypeId="1" AcceptedAnswerId="20514" CreationDate="2014-01-08T02:11:27.150" Score="3" ViewCount="253" Body="&lt;p&gt;So, first of all: I'm not sure how to tag this question. Feel free to tag it differently.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I recently started reading up on &lt;a href=&quot;http://www.lix.polytechnique.fr/~fvalenci/papers/cham.pdf&quot; rel=&quot;nofollow&quot;&gt;CHAM&lt;/a&gt;s, which can express different process calculi. Slightly confused, I go to read up on &lt;a href=&quot;http://en.wikipedia.org/wiki/Abstract_machine&quot; rel=&quot;nofollow&quot;&gt;abstract machine&lt;/a&gt;s. Okay, so, abstract machines are... machines in which you can express algorithms...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My thought process then was: [...] algorithms, which are expressed in math... which is what the calculi are for.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, from my understanding, there's some sort of implicit layering going on here where somewhere up the math-ladder there's this abstract machine which can be used to express more mathematically pure calculi, and somewhere embedded in that jumble is the concept of an algorithm expressed in the math... of the abstract machine?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;What is the difference between abstract machines and calculi, if there is one?&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;If there is a difference, &lt;em&gt;what draws the line&lt;/em&gt; between abstract machines and calculi?&lt;/strong&gt;&lt;/p&gt;&#xA;" OwnerUserId="14359" LastEditorUserId="898" LastEditDate="2014-01-08T15:18:51.433" LastActivityDate="2014-02-05T22:11:05.753" Title="Difference between abstract machines and calculi" Tags="&lt;pl.programming-languages&gt;&lt;semantics&gt;&lt;machine-models&gt;" AnswerCount="2" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="20492" PostTypeId="2" ParentId="438" CreationDate="2014-01-08T09:21:57.570" Score="1" Body="&lt;p&gt;A DFA, as stated, can answer your question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you are interested in a small automaton for this task there are three things which comes to mind:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;DFA can be optimized, so you could find the minimal (state-wise) automaton for the langauge.&lt;/li&gt;&#xA;&lt;li&gt;There exists a different type of automaton called &lt;em&gt;Unambiguous Finite Automaton&lt;/em&gt; ($UFA$), which is a non deterministic finite automaton which has at most one accepting path for each word.&lt;/li&gt;&#xA;&lt;li&gt;Unlike DFA, UFA optimization is NP-hard hence the minimal automaton for your task is unlikely to be found efficiently for a general language.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="21001" LastActivityDate="2014-01-08T09:21:57.570" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20493" PostTypeId="1" AcceptedAnswerId="20502" CreationDate="2014-01-08T10:38:56.110" Score="6" ViewCount="779" Body="&lt;p&gt;It is well-known that it is NP-complete to decide whether in a 2-CNF at least s clauses are satisfiable. It also follows from the reduction from 3-SAT-3 that we can suppose that every literal occurs in at most k clauses of the 2-CNF for some constant k. Can someone give me a good bound on k?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can we suppose that every variable occurs at most twice negated or at most twice unnegated?&lt;/p&gt;&#xA;" OwnerUserId="419" LastActivityDate="2014-01-08T21:50:59.507" Title="For what k is MAX-2-SAT-k NP-complete?" Tags="&lt;np-hardness&gt;&lt;sat&gt;&lt;max2sat&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="20495" PostTypeId="1" AcceptedAnswerId="21245" CreationDate="2014-01-08T12:38:57.910" Score="3" ViewCount="646" Body="&lt;p&gt;I have a Treap, and want to bulk delete nodes in a given key range (i.e. the nodes to be deleted are consecutive nodes in an in-order walk of the tree). If I have $n$ nodes in the Treap, and $k$ nodes are to be deleted, is there an algorithm that can let me do this in $O(k + \log n)$. Or maybe provide a lower-bound proof that shows that that is impossible?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The obvious algorithm seems to be the one where the following steps are performed:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;The treap is first split into 2 treaps by rotating the predecessor of the first node to be deleted to the root: $O(\log n)$&lt;/li&gt;&#xA;&lt;li&gt;Detach the right child of the root: $O(1)$&lt;/li&gt;&#xA;&lt;li&gt;Rotate the successor of the last node to be deleted in the detached treap and throw away the left subtree of this treap: $O(\log n)$&lt;/li&gt;&#xA;&lt;li&gt;Meld the 2 remaining treaps: $O(\log n)$&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;However, I'm worried that the treap will get skewed (or will they)?&lt;/p&gt;&#xA;" OwnerUserId="983" LastEditorUserId="9186" LastEditDate="2014-02-23T12:58:20.503" LastActivityDate="2014-02-25T15:17:55.267" Title="Algorithm to Bulk Delete nodes from a Treap" Tags="&lt;ds.data-structures&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="20496" PostTypeId="1" CreationDate="2014-01-08T14:59:00.227" Score="4" ViewCount="117" Body="&lt;p&gt;We know that counting the number of solutions to $3-SAT$ is the canonical $\#P-Complete$ problem. Equivalently, it is the canonical $PH-Hard$ problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, counting the number of solutions to $3-SAT$ that have weight at most $\log_2n$ (that is, have at most $\log_2n$ variables assigned to &lt;strong&gt;True&lt;/strong&gt;) is a problem in $P$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we want to look at the complexity of counting solutions to $3-SAT$ with the maximum weight of an assignment, say $w$, as a parameter, it seems that:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;$w = \mathcal{O}(\log_2 n):$ the complexity is $P$&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;$w = \mathcal{O}(n):$ Complexity is $PH-Hard$&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;It seems fair to tell that:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;$w = \mathcal{O}(\log_2^kn):$ the complexity of counting solutions to $3-SAT$ is complete (or maybe just hard) for $\Sigma^P_{k-1}$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;where $\Sigma^P_{k-1}$ is the $k-1$ level of the polynomial hierarchy.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can anyone please help me see why the above should be true, or otherwise ? Any reference would also greatly help.&lt;/p&gt;&#xA;" OwnerUserId="9893" LastActivityDate="2014-01-08T14:59:00.227" Title="Gradual increase in hardness from P to PH of #SAT" Tags="&lt;reference-request&gt;&lt;sat&gt;&lt;counting-complexity&gt;&lt;polynomial-hierarchy&gt;" AnswerCount="0" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="20497" PostTypeId="1" CreationDate="2014-01-08T16:02:27.893" Score="-1" ViewCount="288" Body="&lt;p&gt;Suppose I give as input a Turing machine M &lt;em&gt;guaranteed to halt in time n^c&lt;/em&gt; on inputs of length n for a universal constant c.&#xA;Is there a Turing machine that given any such M can decide whether M solves SAT?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Remarks:&#xA;- could it be that there is an N depending on c and the description size of M such that if M doesn't solve SAT it answers wrong on an input of length at most N?&lt;/p&gt;&#xA;" OwnerUserId="18157" LastEditorUserId="18157" LastEditDate="2014-01-09T08:37:03.893" LastActivityDate="2014-01-09T12:59:11.263" Title="Deciding whether a turning machine guaranteed to halt solves sat" Tags="&lt;np&gt;&lt;decidability&gt;" AnswerCount="1" CommentCount="8" ClosedDate="2014-01-12T12:09:32.280" ContentLicense="CC BY-SA 3.0" />
  <row Id="20498" PostTypeId="2" ParentId="20497" CreationDate="2014-01-08T18:18:18.167" Score="5" Body="&lt;p&gt;Assuming P != NP, the answer is surely yes; based on your guarantee, you've restricted the problem to polynomial time machines, and thus the language you describe should be trivially empty.  The challenge is &lt;em&gt;proving&lt;/em&gt; that a machine that rejects every input truly decides the language--not just finding this machine.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course, if P = NP, you have a Rice's theorem problem (and the answer is no).  Since the language is now non-trivial, you're describing a non-trivial property of &lt;em&gt;some&lt;/em&gt; Turing machines--specifically, the ones bounded by n^c.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The following is drawn from David Richerby's comment above.  Given a Turing machine M1, let M2 be a machine that simulates M1 and rejects if it hasn't halted after n^c steps.  Deciding whether a machine M1 solves SAT with the promise (that the machine halts after n^c steps) is equivalent to deciding whether M2 solves SAT without the promise.  Deciding M2 without the promise is undecidable, by Rice's theorem.&lt;/p&gt;&#xA;" OwnerUserId="1338" LastEditorUserId="1338" LastEditDate="2014-01-09T12:59:11.263" LastActivityDate="2014-01-09T12:59:11.263" CommentCount="10" ContentLicense="CC BY-SA 3.0" />
  <row Id="20500" PostTypeId="1" AcceptedAnswerId="20677" CreationDate="2014-01-08T20:42:21.287" Score="3" ViewCount="112" Body="&lt;p&gt;Given a matrix $A$ with rational entries, how to check whether all the eigenvalues of $A$ are  rational? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;What's the complexity of this problem? It seems that this can be done in polynomial time, but is there a tighter upper bound?&lt;/p&gt;&#xA;" OwnerUserId="21036" LastActivityDate="2014-01-21T18:56:11.983" Title="compleixty of rational checking of eigenvalues" Tags="&lt;cc.complexity-theory&gt;&lt;linear-algebra&gt;&lt;matrices&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20501" PostTypeId="1" AcceptedAnswerId="20534" CreationDate="2014-01-08T20:48:57.927" Score="2" ViewCount="465" Body="&lt;p&gt;The &lt;a href=&quot;http://en.wikipedia.org/wiki/Syntactic_monoid&quot; rel=&quot;nofollow&quot;&gt;syntactic monoid&lt;/a&gt; of a language $L \subseteq X^*$ is defined as the monoid obtained from the congruence relation&#xA;$$&#xA; u\ \tilde{}\ v \ \mbox{ iff }\ \forall x,y \in X^* : xuy \in L \leftrightarrow xvy \in L.&#xA;$$&#xA;How to compute this in general? For regular languages I just know an approach via the minimal automaton, from which you compute the transition monoid. More concretely let $\mathcal A = (X, Q, f, q_0, F)$ a DFA, from the state vector $(q_0, q_1, \ldots, q_n)$ compute the closure with regard to&#xA;$$ &#xA; (q_0, q_1, \ldots, q_n) \cdot w = (f(q_0,w), f(q_1, w), \ldots, f(q_n,w))&#xA;$$&#xA;and $w \in X^*$. Then the tupel $(q_0, q_1, \ldots, q_n)$ corresponds to the identity element of the monoid and the tupels $(q_0, q_1, \ldots, q_n) \cdot x$ for $x \in X$ correspond to the generators of the monoid. Each tupel corresponds to a minimal word, the product of two tupels $q, q'$ is defined by taking some word $w$ which represents $q'$ and compute $q\cdot w$ (this works because $[u] = [v]$ iff $f(q,u) = f(q,v)$ for all $q$ in the minimal automata). Or more simple set $f_w(q) := f(q,w)$, then $f_u(f_v(q)) = f_{vu}(q)$, the transition monoid is $\{ f_w : w \in X^* \}$ under functional composition.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Two question:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;i) Are there other ways without using an automata as intermediate step to compute the syntactic monoid,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;ii) This just works for regular languages, how to proceed for non-regular language? (okay for languages like $\{a^nb^n : n \in \mathbb N\}$ one could imagine an infinite automata and proceed, but that does not works in general)&lt;/p&gt;&#xA;" OwnerUserId="17672" LastEditorUserId="898" LastEditDate="2014-01-08T22:16:08.803" LastActivityDate="2014-01-11T14:39:09.490" Title="Computing the Syntactic Congruence" Tags="&lt;fl.formal-languages&gt;&lt;automata-theory&gt;" AnswerCount="1" CommentCount="8" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="20502" PostTypeId="2" ParentId="20493" CreationDate="2014-01-08T21:18:02.313" Score="6" Body="&lt;p&gt;3-OCC-MAX 2SAT: given a CNF formula $\varphi$ in which each clause contains at most 2 literals and each variable appears in at most three clauses (&lt;em&gt;counting together both positive and negative literals&lt;/em&gt;); does there exist an assignment that satisfies at least $k$ clauses?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.45.8088&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;nofollow&quot;&gt;P. Berman, M. Karpinski, On some tighter inapproximability results (1998). Lecture&#xA;Notes In Computer Science, vol. 1644 (1999), pp. 200-209&lt;/a&gt; :&lt;/p&gt;&#xA;&#xA;&lt;p&gt;... for any $\epsilon &amp;gt; 0$ it is NP hard to decide whether an&#xA;instance of 3-OCC-MAX 2SAT&#xA;with $2016 n$ clauses has a truth assignment that satisfies&#xA;at least $(2012 - \epsilon)n$ clauses.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As noted in the domotorp's comment, if a variable appers only positive or negative we can fix its value (satisfying and deleting all the clauses in which it appears); so we can assume that the 3 occurrences are not-all-equal ending up in a &quot;3-NAE-OCC-MAX 2SAT&quot; instance :-)  &lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2014-01-08T21:50:59.507" LastActivityDate="2014-01-08T21:50:59.507" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="20505" PostTypeId="1" AcceptedAnswerId="20541" CreationDate="2014-01-08T23:00:33.433" Score="6" ViewCount="163" Body="&lt;p&gt;Consider a Generalized Sequential Machine (GSM; or nearly equivalently -- an &lt;a href=&quot;http://en.wikipedia.org/wiki/Finite_state_transducer&quot; rel=&quot;noreferrer&quot;&gt;FSM transducer&lt;/a&gt;). These machines are closed under compositions. A composition of two GSMs &lt;span class=&quot;math-container&quot;&gt;$f(x)$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$g(x)$&lt;/span&gt; can be written as a function &lt;span class=&quot;math-container&quot;&gt;$h(x) = f(g(x))$&lt;/span&gt;.  I am interested in the inverse problem:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Given a transducer &lt;span class=&quot;math-container&quot;&gt;$h(x)$&lt;/span&gt;, decompose it into a composition of two transducers &lt;span class=&quot;math-container&quot;&gt;$f(g(x))$&lt;/span&gt;. (One of the &lt;span class=&quot;math-container&quot;&gt;$f,g$&lt;/span&gt; might be given.)&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Has this question been studied?&lt;/p&gt;&#xA;&lt;hr /&gt;&#xA;&lt;h3&gt;Motivation&lt;/h3&gt;&#xA;&lt;p&gt;This question that occurred to me many years ago and is similar to a &lt;a href=&quot;https://cstheory.stackexchange.com/q/20399/1037&quot;&gt;recent question by Dave Lang&lt;/a&gt;. After some back-and-forth we agree that it seems basic, yet not to under-studied. Although, Dave Lang did find a potentially related paper: Weber, A. (1996). Decomposing a k-valued transducer into k unambiguous ones. &lt;em&gt;Informatique théorique et applications&lt;/em&gt;, 30(5): 379-413.&lt;/p&gt;&#xA;&lt;p&gt;I suspect that this is linked to the &lt;a href=&quot;http://en.wikipedia.org/wiki/Krohn%E2%80%93Rhodes_theory&quot; rel=&quot;noreferrer&quot;&gt;Krohn-Rhodes decomposition&lt;/a&gt; and that through the natural correspondence between TMs and transducers, we might find hidden structure that could be useful in &lt;a href=&quot;https://en.wikipedia.org/wiki/Termination_analysis&quot; rel=&quot;noreferrer&quot;&gt;termination analysis&lt;/a&gt; and &lt;a href=&quot;https://en.wikipedia.org/wiki/Automated_theorem_proving&quot; rel=&quot;noreferrer&quot;&gt;automated theorem proving&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2014-03-04T23:11:04.600" Title="Inverse of transducer compositions" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;automata-theory&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="20506" PostTypeId="2" ParentId="4984" CreationDate="2014-01-08T23:25:47.933" Score="1" Body="&lt;p&gt;There is a distinction between LSM-Tree and Log-Structured Storage:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Log-structured_merge-tree&quot; rel=&quot;nofollow&quot;&gt;Log-Structured Merge Tree&lt;/a&gt; (LevelDB, SQLite4, Apache Cassandra, and others).&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Berkeley_DB&quot; rel=&quot;nofollow&quot;&gt;Log-Structured Storage&lt;/a&gt; (Berkeley DB Java Edition)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="453" LastActivityDate="2014-01-08T23:25:47.933" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20507" PostTypeId="1" AcceptedAnswerId="20509" CreationDate="2014-01-08T23:47:05.810" Score="4" ViewCount="285" Body="&lt;p&gt;A &lt;em&gt;polynomial language&lt;/em&gt; is a languge which could be represented as the finite union of languages of the form:&#xA;$$&#xA; A_0^* a_1 A_1^* a_2 \cdots a_k A_k^* \quad a_i \in X, A_i \subseteq X&#xA;$$&#xA;Such an expression is called a &lt;em&gt;monom&lt;/em&gt; and it's &lt;em&gt;degree&lt;/em&gt; is the value $k$.&#xA;Equivalently it could be defined as the smallest class containing the finite languages, languages of the form $A^*$ for $A \subseteq X$ and closed under union and concatentation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The &lt;em&gt;degree&lt;/em&gt; of a polynomial language is the maximum degree of the monoms in a minimal (with regard to the degree) representation of the polynomial language in the form of unions of monoms.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An &lt;em&gt;ordered monoid&lt;/em&gt; $(M, \le)$ is a monoid $M$ together with a partial order which is compatible with multiplication. A set $D$ is called &lt;em&gt;downward closed&lt;/em&gt; if $p \in D$ and $q \le p$ implies $q \in D$. An ordered monoid recognized a language $L$ via a morphism $\varphi : X^* \to M$ if&#xA;$$&#xA; L = \varphi{-1}(\downarrow\varphi(L))&#xA;$$&#xA;where $\downarrow D$ denotes the smallest downward closed subset containing $D$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the syntactic monoid $Syn(L)$ there is a natural order given by $u \le_L v$ iff&#xA;$$&#xA; \forall p,q \in X^* : pvq \in L \Rightarrow puq \in L.&#xA;$$&#xA;Then for $[u], [v] \in Syn(L)$ it is $[u] \le [v] :\Leftrightarrow u \le_L v$.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Let us consider a polynomial language $L$ of degree $k$ and words $u,v$ with $\mbox{alph}(v) \subseteq \mbox{alph}(u)$. Then for all $p,q$ we have $pu^{k+1} q \in L$ implies that $pu^kv u^k q\in L$, too. Thus, the syntactic orderd monoid of $L$ satisfied an equation of type $u^{\pi}vu^{\pi} \le_L u^{\pi}$ &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Remark: $u^{\pi}$ denotes the unique idempotent associated with $u$, for example $\pi = n!$ where $n$ is the size of the finite monoid.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The shaded paragraph I do not understand, the relation&#xA;$$&#xA; pu^{k+1}q \in L \Rightarrow pu^k vu^k q \in L&#xA;$$&#xA;for $\mbox{alph}(v) \subseteq \mbox{alph}(u)$ and $k$ the degree of the polynomial is clear cause a monom of degree $k$ can &quot;fix&quot; just $k$ letters, and so some $u$ lies in some $A_i^* \subseteq X^*$ and so also $v$. But why does this order relation for the syntactic monoid follows? Is there any simple relation between the idempotent powers and the degree I do not see?&lt;/p&gt;&#xA;" OwnerUserId="17672" LastActivityDate="2014-01-09T00:41:02.177" Title="The polynomial languages and ordered syntactic monoids" Tags="&lt;fl.formal-languages&gt;&lt;automata-theory&gt;&lt;algebra&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="20508" PostTypeId="1" CreationDate="2014-01-09T00:31:01.820" Score="1" ViewCount="276" Body="&lt;p&gt;Given an array $A[1...n]$ of non-negative integers, &#xA;we want to transform $A$ into $A'$ such that&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$|A[I] - A[I + 1]| \leq 1$ in the minimum number of operations. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;One operation consist of picking two adjacent elements and perform:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) Add 1 to $A[I]$ and subtract 1 from $A[I + 1]$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) Subtract 1 from $A[I]$ and Add 1 to $A[I + 1]$&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;E.g.: 1 3 5 2&#xA;1 4 4 2 (picking 3,5)&#xA;2 3 4 2 (picking 1,4)&#xA;2 3 3 3 (picking 4,2)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;" OwnerUserId="21041" LastEditorUserId="186" LastEditDate="2014-01-09T19:38:56.133" LastActivityDate="2014-01-09T19:38:56.133" Title="Complexity of an edit distance problem" Tags="&lt;np-hardness&gt;&lt;np&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="20509" PostTypeId="2" ParentId="20507" CreationDate="2014-01-09T00:41:02.177" Score="1" Body="&lt;p&gt;The relation $pu^{k+1}q\in L\Rightarrow pu^k vu^kq\in L$ is true for any $p,q$, $k$ big enough and $v$ with $alph(v)\subseteq alph(u)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let call $a$ the first letter of $u$ and $b$ the last letter.&#xA;Let $v$ with $alph(v)\subseteq alph(u)$, and $v'=uvu$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then by using the relation above with $v'$, we get that for any $p,q$ and $k$ big enough, we have $pu^{k}q\in L\Rightarrow pu^k vu^kq\in L$, which is the definition of $u^kvu^k\leq_L u^k$. In particular, for $n$ big enough, we get $u^{n!}vu^{n!}\leq_L u^{n!}$, which is the wanted equation.&lt;/p&gt;&#xA;" OwnerUserId="8953" LastActivityDate="2014-01-09T00:41:02.177" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="20510" PostTypeId="1" CreationDate="2014-01-09T04:02:34.203" Score="4" ViewCount="118" Body="&lt;p&gt;Is there a version of Toda's theorem for intermediate levels of the polynomial hierarchy ? More precisely, is there any variant of the Toda's theorem that states:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $\# wSAT$ be the number of satisfying assignments to a boolean formula, where $(\log_2 n)^w$ variables (out of $n$) are assigned to TRUE.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;$\bigcup_{i=1}^k \Sigma^P_k \subseteq P^{\# wSAT}$ ?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;If something of this form is known, a reference would greatly help.&lt;/p&gt;&#xA;" OwnerUserId="9893" LastActivityDate="2014-01-09T04:02:34.203" Title="Variant of Toda's theorem for intermediate levels of the polynomial hierarchy" Tags="&lt;reference-request&gt;&lt;sat&gt;&lt;counting-complexity&gt;&lt;polynomial-hierarchy&gt;" AnswerCount="0" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="20511" PostTypeId="1" CreationDate="2014-01-09T05:49:36.677" Score="14" ViewCount="909" Body="&lt;p&gt;As I understand it, a proof that P=NP or P≠NP would need to be non-relativizable (as in recursion theory oracles).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Virtually all proofs seem to be relativizable, though.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What are good examples of &lt;em&gt;non&lt;/em&gt; relativizable proofs, of the sort that a P=NP/P≠NP proof would need to be, that are not trivial or contrived?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(I am not a recursion theorist, so please pardon the lack of citations.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[EDIT: better &lt;a href=&quot;https://mathoverflow.net/questions/55933/what-proofs-cannot-be-relativized&quot;&gt;mathoverflow&lt;/a&gt; post]&lt;/p&gt;&#xA;" OwnerUserId="21046" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2016-01-27T06:58:24.770" Title="What are natural examples of non-relativizable proofs?" Tags="&lt;cc.complexity-theory&gt;&lt;lo.logic&gt;&lt;computability&gt;&lt;p-vs-np&gt;&lt;relativization&gt;" AnswerCount="3" CommentCount="10" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="20512" PostTypeId="2" ParentId="20508" CreationDate="2014-01-09T06:26:30.407" Score="1" Body="&lt;p&gt;I give a rough idea to solve the problem in polynomial time.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;In the optimal solution, the flow on each edge is unidirectional.&lt;/li&gt;&#xA;&lt;li&gt;The final value of each element is not far from the mean. Also $\sum_{i&amp;lt;k}A'_i$, the prefix-sum of the optimal $A'$, is bounded in a range at most $O(n^2)$.&lt;/li&gt;&#xA;&lt;li&gt;Let $T(k,R)$ be the optimal flow on the first $k$ edges such that $\sum_{i&amp;lt;k}A'_i=R$. Then $T(k,R)$ can be computed from $T(k-1,R')$ for all possible $R'$. &lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;These imply a dynamic programming algorithm with polynomial time complexity.&lt;/p&gt;&#xA;" OwnerUserId="20839" LastEditorUserId="236" LastEditDate="2014-01-09T10:09:05.287" LastActivityDate="2014-01-09T10:09:05.287" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="20513" PostTypeId="2" ParentId="20511" CreationDate="2014-01-09T08:00:00.797" Score="10" Body="&lt;p&gt;Here is a list of non-relativizable proofs:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/PCP_theorem&quot; rel=&quot;nofollow&quot;&gt;The PCP Theorem&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Instance-dependent commitment implies zero-knowledge protocol:&lt;br&gt;&#xA;&lt;a href=&quot;http://people.seas.harvard.edu/~salil/research/ZKcommit-abs.html&quot; rel=&quot;nofollow&quot;&gt;An Equivalence between Zero Knowledge and Commitments&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;There is no efficient &quot;virtual black box&quot; circuit obfuscator for general circuits:&lt;br&gt;&#xA;&lt;a href=&quot;http://www.wisdom.weizmann.ac.il/~oded/p_obfuscate.html&quot; rel=&quot;nofollow&quot;&gt;An Equivalence between Zero Knowledge and Commitments&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;PSPACE is reducible to evaluating a succinct product of $S_5$:&lt;br&gt;&#xA;&lt;a href=&quot;http://www.cs.yale.edu/publications/techreports/tr528.pdf#page=5&quot; rel=&quot;nofollow&quot;&gt;PSPACe survives three-bit bottlenecks&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Against unentangled provers, NEXP has minimally-interactive 2-prover proof systems:&lt;br&gt;&#xA;&lt;a href=&quot;http://dl.acm.org/citation.cfm?id=129783&quot; rel=&quot;nofollow&quot;&gt;Two-prover one-round proof systems: their power and their problems&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Against possibly-entangled provers, NEXP has more-interactive MIP protocols:&lt;br&gt;&#xA;&lt;a href=&quot;http://arxiv.org/abs/1207.0550&quot; rel=&quot;nofollow&quot;&gt;A multi-prover interactive proof for NEXP sound against entangled provers&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;NP has efficient-prover NISZK proofs-of-knowledge with perfect knowledge extraction in a &quot;efficiently samplable non-standard distribution&quot; hidden bits model, and efficient-prover NIPZK proofs-of-knowledge  in the (real) hidden bits model. Furthermore, if the sampler is allowed to have a small probability of outputting $\perp$ (and soundness is only required to hold when the sampler doesn't output $\perp$), then &quot;NISZK&quot; from the previous sentence can be replaced with &quot;NIPZK&quot;.&lt;br&gt;&#xA;&lt;a href=&quot;http://www.cs.umd.edu/~jkatz/gradcrypto2/NOTES/lecture13.pdf&quot; rel=&quot;nofollow&quot;&gt;Jonathan Katz, Advanced Topics in Cryptography, Lecture 13&lt;/a&gt;&lt;br&gt;&#xA;Note: Perfect knowledge-extraction follows by inspection of the soundness part on page 2. (Non-perfect) knowledge-extraction holds for the same reason as non-perfect soundness, as described at the top of page 5. Perfect zero-knowledge can be obtained by having the simulator use the Hamiltonian matrix $C_i$ as its permutation $\pi$, and some of the actual bit-strings corresponding to biased-bits with value 0 as themselves, just mostly in different locations. The &quot;furthermore&quot; sentence follows by having the sampler output $\perp$ if it was unable to choose an element from {0,1,2,3,...,n!-1} perfectly uniformly in a small enough amount of time, since such a choice would allow for the perfectly uniform generation of a directed cycle graph matrix or a permutation of the vertices.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerDisplayName="user6973" LastEditorUserId="186" LastEditDate="2016-01-27T06:58:24.770" LastActivityDate="2016-01-27T06:58:24.770" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20514" PostTypeId="2" ParentId="20491" CreationDate="2014-01-09T10:43:02.387" Score="7" Body="&lt;p&gt;I essentially agree with Martin's comment, I can elaborate on that to make a tentative answer, knowing that there is no general formal definition of &lt;em&gt;calculus&lt;/em&gt; or &lt;em&gt;abstract machine&lt;/em&gt; and that what I am going to describe cannot possibly cover the meaning of all instances of these two words found in the literature.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;In brief:&lt;/strong&gt; a calculus usually gives you the abstract &lt;em&gt;spefication&lt;/em&gt; of the meaning of programs, whereas an abstract machine usually &lt;em&gt;implements&lt;/em&gt; that specification.  Such an implementation is likely to be still high-level (&lt;em&gt;i.e.&lt;/em&gt;, many low-level details are not specified), hence the adjective &quot;abstract&quot;, but it gets closer to what a phyisical machine would do to execute programs (according to the spefication given by the calculus).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;More in detail:&lt;/strong&gt; a calculus usually comes with an &lt;em&gt;operational semantics&lt;/em&gt;, which gives you the meaning of programs in terms of the result they denote (if any). For this, one often uses the notation&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$t\Downarrow v$,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;which means that &quot;the value (&lt;em&gt;i.e.&lt;/em&gt;, the final result) of the expression $t$ is $v$&quot;. Now, such a &quot;big step&quot; operational semantics (as it is sometimes referred to) is usually given in terms of a derivation system (&lt;em&gt;i.e.&lt;/em&gt;, a system in which you can prove judgments of the form $t\Downarrow v$), which is useful to reason abstractly about programs but is a bit far from describing how the execution of $t$ would look like on a concrete machine.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One may then move to a &quot;small step&quot; operational semantics, which is a set of rewriting rules on expressions (written $t\rightarrow t'$) describing how one can, step by step, compute the value of an expression (if any):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$t\Downarrow v\quad$ iff $\quad t\rightarrow^\ast v$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, even the small-step semantics may be too coarse: typically, some rewriting rules may duplicate arbitrary big sub-expressions, and a chain of duplications may cause an exponential blow-up of the size of expressions in only a linear number of steps, which means that these steps are not so &quot;small&quot; after all...  In particular, one may want to give a more realistic description of the execution of programs, getting even closer to the machine level. This is where abstract machines come into the picture.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is impossible to give a general description of an abstract machine, since they may differ greatly. However, these usually include low-level components (&lt;em&gt;e.g.&lt;/em&gt; a pointer to a &quot;code memory&quot; where the executed program is stored, a stack, a memory for storing the values of variables, etc.) which make them look much more like physical machines executing the programs of the language underlying the original calculus.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;About where to &quot;draw the line&quot; between calculi and machines: this is actually a tricky question. There are calculi whose small-step semantics is more or less the same thing as an abstract machine. Lambda-calculi with explicit substitutions are examples of this: in such calculi, expressions contain constructs (the explicit substitutions) which make it possible for the small-step semantics to operate at a lower level, much closer to that of the machine.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;About your reasoning on how the levels of expression of an algorithm are &quot;layered&quot;, I am not sure I follow it, so I cannot say much. But I hope that at least I gave you some elements of answer to your last two questions.&lt;/p&gt;&#xA;" OwnerUserId="20716" LastEditorUserId="20716" LastEditDate="2014-01-10T10:11:11.177" LastActivityDate="2014-01-10T10:11:11.177" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="20515" PostTypeId="2" ParentId="20511" CreationDate="2014-01-09T11:45:54.287" Score="25" Body="&lt;p&gt;As Steven notes, the canonical example is $\mathsf{IP} = \mathsf{PSPACE}$. This collapse does not relativize, in the sense that there is an oracle $A$, subject to which $\mathsf{IP}^A \ne \mathsf{PSPACE}^A$. The intuition why the known proof of this result avoids the relativization barrier is that it uses arithmetization (Yonatan alluded to this in a comment): an interactive protocol for the $\mathsf{PSPACE}$-complete problem TQBF is given by considering an extension of a quantified boolean formula to a low-degree polynomial over a suitably large field. If we are given a relativized boolean formula (with oracle gates), such an extension does not exist. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is a refinement of the relativization barrier -- algebrization -- due to &lt;a href=&quot;http://www.scottaaronson.com/papers/alg.pdf&quot;&gt;Aaronson and Wigderson&lt;/a&gt;. Generically, the arithmetization technique is not enough to circumvent the algebrization barrier. A complexity class inclusion $\mathsf{C} \subseteq \mathsf{D}$ algebrizes if for any oracle $A$ and any extension $\tilde{A}$ of $A$ to low-degree polynomials over a finite field, $\mathsf{C}^A \subseteq \mathsf{D}^{\tilde{A}}$. A separation $\mathsf{C} \not \subset \mathsf{D}$ algebrizes if for all $A$, and all extensions $\tilde{A}$, $\mathsf{C}^{\tilde{A}} \not \subset \mathsf{D}^{A}$. Aaronson and Wigderson show that $\mathsf{IP} = \mathsf{PSPACE}$ algebrizes, but many other results, including $\mathsf{NP} \not \subset \mathsf{P}$, do not.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A recent example of a technique that does not algebrize or relativize is &lt;a href=&quot;http://www.stanford.edu/~rrwill/acc-lbs.pdf&quot;&gt;Ryan Williams' proof&lt;/a&gt; that $\mathsf{NEXP} \not \subset \mathsf{ACC}$. The separation does not algebrize: there is an oracle $A$ and a low-degree extension $\tilde{A}$ such that $\mathsf{NEXP}^{\tilde{A}} \subset \mathsf{ACC}^A$.  Intuitively the reason why the proof avoids the barrier is that it relies on the existence of a faster-than-trivial satisfiability algorithm for $\mathsf{ACC}$ circuits, and the algorithm uses non-relativizing and non-algebrizing properties of such circuits. Ryan notes in the paper that all known faster-than-trivial satisfiability algorithms break down when oracles or algebraic extensions of oracles are added.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is also an interesting approach to understanding relativization through logic. In an old manuscript, &lt;a href=&quot;http://www.cs.berkeley.edu/~vazirani/pubs/relativizing.ps&quot;&gt;Arora, Impagliazzo, and Vazirani&lt;/a&gt; define a system of axioms such that the relativizing results are exactly those that follow from the axioms, while non-relativizing results are independent from the system. A paper by &lt;a href=&quot;http://www.cs.sfu.ca/~kabanets/papers/act-full.pdf&quot;&gt;Impagliazzo, Kabanets, and Kolokolova&lt;/a&gt; does something similar for algebrization by introducing an additional axiom to the ones defined by Arora, Impagliazzo and Vazirani. They show that most known non-relativizing results follow from their axioms, while P vs NP, among others, is independent of them.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Apologies if I got something wrong, I am not quite an expert.&lt;/p&gt;&#xA;" OwnerUserId="4896" LastEditorUserId="4896" LastEditDate="2014-01-27T16:36:15.847" LastActivityDate="2014-01-27T16:36:15.847" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="20522" PostTypeId="1" CreationDate="2014-01-09T18:18:23.513" Score="34" ViewCount="1401" Body="&lt;p&gt;I wonder, what is (currently) the largest number $k$, such that a &lt;em&gt;natural&lt;/em&gt; problem is known with the following properties:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;An $O(n^k)$ algorithm has been already found for the problem.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;For any fixed $\epsilon&amp;gt;0$ no $O(n^{k-\epsilon})$ algorithm is known for the same problem. (Note that a faster algorithm $may$ exist, just it is not known yet, so I am not looking for a proven lower bound.)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The problem description itself does not depend on $k$. (This condition is needed to exclude parametrized cases like &quot;find a clique of size $k$ in an input graph, for a constant $k$.&quot;)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;In a sense, such a problem might qualify as the &lt;em&gt;hardest, known, natural, problem&lt;/em&gt; in $\bf P$ (regarding the exponent of the fastest known algorithm).&lt;/p&gt;&#xA;" OwnerUserId="12710" LastEditorUserId="7884" LastEditDate="2014-02-28T02:40:35.763" LastActivityDate="2014-10-02T23:18:21.327" Title="Hardest known natural problem in P?" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;" AnswerCount="3" CommentCount="4" FavoriteCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="20523" PostTypeId="2" ParentId="20522" CreationDate="2014-01-09T18:22:52.427" Score="28" Body="&lt;p&gt;The &lt;a href=&quot;http://en.wikipedia.org/wiki/AKS_primality_test&quot; rel=&quot;nofollow&quot;&gt;AKS Primality testing algorithm&lt;/a&gt; may be a good candidate, where the best algorithm currently known version of the algorithm has $\tilde{O}(n^6)$ running time.  See &lt;a href=&quot;http://www.math.dartmouth.edu/~carlp/aks041411.pdf&quot; rel=&quot;nofollow&quot;&gt;Primality testing with Gaussian periods&lt;/a&gt; (Lenstra and Pomerance).&lt;/p&gt;&#xA;" OwnerUserId="7531" LastEditorUserId="5038" LastEditDate="2014-10-02T23:18:21.327" LastActivityDate="2014-10-02T23:18:21.327" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20524" PostTypeId="1" AcceptedAnswerId="20526" CreationDate="2014-01-09T19:47:46.383" Score="6" ViewCount="672" Body="&lt;p&gt;I know that there are complexity classes that are &quot;below&quot; P like L or NL and stuff like that. But I was curious to know where sub linear time algorithms fitted in this picture and maybe how they were related to the P vs NP problem or if they had their own version of something similar. I am aware that this question might lead to a list of open problem in sublinear time algorithms or something similar, which is a fine answer to my question. I am also curious to know what we know about this theory and what we don't know or what are open problems to tackle.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[I tried adding the tag sublinear time algorithms but I am not sure if it exists. Feel free to add a tag that might help]&lt;/p&gt;&#xA;" OwnerUserId="20909" LastEditorUserId="20909" LastEditDate="2014-01-09T21:41:46.120" LastActivityDate="2014-01-09T22:00:35.370" Title="Where do sublinear time algorithms fit in the picture of complexity theory?" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;" AnswerCount="1" CommentCount="10" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="20526" PostTypeId="2" ParentId="20524" CreationDate="2014-01-09T22:00:35.370" Score="7" Body="&lt;p&gt;Sublinear time algorithms (as well as sublinear &lt;em&gt;space&lt;/em&gt; algorithms) are indeed an active area of research. The field of &lt;strong&gt;property testing&lt;/strong&gt; covers much of the sublinear time regime, and I'll point you to the &lt;a href=&quot;http://ptreview.sublinear.info/&quot;&gt;property testing blog&lt;/a&gt; to learn about recent work in the area. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The question about complexity theory relating to this is very interesting, and is also an active area of research. P vs NP might not exactly be the right analogy here, but you're right that the boundary between computation and verification is something where sublinearity changes things. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In particular, you can look at a PCP as &quot;kind of&quot; doing something sublinear, in that it only inspects a few bits of a long proof in order to check the prover's claim. More generally, there's been recent work prover-verifier systems where the verifier runs in sublinear time. Some references that are worth perusing:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://privacytools.seas.harvard.edu/publications/interactive-proofs-proximity-delegating-computation-sublinear-time&quot;&gt;Interactive proofs of proximity: delegating computation in sublinear time&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://eccc.hpi-web.de/report/2013/078/&quot;&gt;Non-Interactive Proofs of Proximity&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="80" LastActivityDate="2014-01-09T22:00:35.370" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="20527" PostTypeId="1" AcceptedAnswerId="20530" CreationDate="2014-01-09T23:38:17.200" Score="7" ViewCount="350" Body="&lt;p&gt;&lt;a href=&quot;http://www.cis.upenn.edu/~mkearns./papers/sq-journal.pdf&quot;&gt;Kearns' statistical query model&lt;/a&gt; is a well-known learning model with noise tolerance. The statistical query oracle takes as input a statistical query of the form $\{\chi, \tau\}$. Here $\chi$ is any mapping of a labeled example to $\{0, 1\}$ and $\tau \in [0, 1]$ is called the noise tolerance. The oracle returns an estimate for the expectation $\mathbf{E}\chi$, that is, the probability that $\chi = 1$. The additive error of this estimate is at most $\tau$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The statistical query oracle only guarantees an upper bound of the noise and Kearns' model mentions nothing about the noise distribution. &lt;strong&gt;Is there any query oracle in computational learning theory that can answer a statistical query with normal distributed noise?&lt;/strong&gt; That is, the oracle takes as input a statistical query of the form $\{\chi, \sigma^2\}$ and returns the estimate of $\mathbf{E}\chi$ with additive error of Gaussian distribution $\mathcal{N}(0, \sigma^2)$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think this model is reasonable because Gaussian noise is a common assumption in many problems. Also, for &lt;a href=&quot;http://en.wikipedia.org/wiki/Central_limit_theorem&quot;&gt;central limit theorem&lt;/a&gt;, the estimate will converge to a Gaussian distribution (but we are not able to control the variance). &lt;/p&gt;&#xA;" OwnerUserId="21062" LastActivityDate="2014-01-11T18:43:17.217" Title="Statistical query model with Gaussian noise?" Tags="&lt;machine-learning&gt;&lt;lg.learning&gt;&lt;pac-learning&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20529" PostTypeId="1" AcceptedAnswerId="20549" CreationDate="2014-01-10T02:02:24.670" Score="7" ViewCount="192" Body="&lt;p&gt;For non-negative integers q, let PCP(q) denote the set of &lt;a href=&quot;http://en.wikipedia.org/wiki/Promise_problem&quot;&gt;promise problems&lt;/a&gt;&#xA;&lt;br&gt;&#xA;that have polynomial-length &lt;a href=&quot;http://en.wikipedia.org/wiki/Probabilistically_Checkable_Proof#Definition&quot;&gt;probabalistically checkable proofs&lt;/a&gt;&#xA;&lt;br&gt;&#xA;over the binary alphabet in which the verifier only reads q bits.&#xA;&lt;br&gt;&#xA;(with no restriction on the amount of randomness that the verifier can use)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let sPCP(q) denote the analogous class in which the verifier has&#xA;&lt;br&gt;&#xA;perfect completeness and chooses the bits to read non-adaptively.&#xA;&lt;br&gt;&#xA;(sPCP stands for &quot;strong PCP&quot;, a term I made up for this question)&#xA;&lt;br&gt;&lt;br&gt;&lt;br&gt;&#xA;Obviously, $\:$PCP(0) = promiseBPP$\:$.&#xA;&lt;br&gt;&#xA;It is slightly less obvious, but still easy to show, that $\:$PCP(1) = promiseBPP$\:$.&#xA;&lt;br&gt;&#xA;It is &lt;a href=&quot;http://www.kurims.kyoto-u.ac.jp/~kyodo/kokyuroku/contents/pdf/1649-18.pdf&quot;&gt;known&lt;/a&gt;, though highly non-trivial, that $\:$NP $\subseteq$ sPCP(3)$\:$.&#xA;&lt;br&gt;&#xA;Since $\:$&lt;a href=&quot;http://en.wikipedia.org/wiki/2-satisfiability&quot;&gt;2SAT $\in$ P&lt;/a&gt;$\:$, $\:$ one has $\:$sPCP(2) $\subseteq$ promise-coRP$\:$ by reasoning similar to the PCP(1) equality.&#xA;&lt;br&gt;&#xA;However, that does yield any comparison between PCP(2) and NP.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is either $\;\;\;$NP $\subseteq$ PCP(2) $\:$ or $\:$ PCP(2) $\subset$ NP$\;\;\;$ known to hold under plausible assumptions,&#xA;  &lt;br&gt;&#xA;  such as the promise versions of $\:$ P = BPP $\subset$ NP = MA ≠ coNP $\:$ ?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&#xA;" OwnerDisplayName="user6973" LastActivityDate="2014-01-10T18:27:20.767" Title="Can NP-hard statements be proved by PCPs that only involve reading 2 bits?" Tags="&lt;np&gt;&lt;pcp&gt;" AnswerCount="1" CommentCount="6" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="20530" PostTypeId="2" ParentId="20527" CreationDate="2014-01-10T02:55:22.243" Score="9" Body="&lt;p&gt;We know something close to what you want.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you look at Ke Yang's &quot;&lt;a href=&quot;http://eccc.hpi-web.de/report/2002/060/&quot;&gt;Honest Statistical Queries&lt;/a&gt;&quot; -- there is no noise at all, but only &quot;sampling error&quot;.   In this model, you pass in a parameter $t$, and the Oracle takes $t$ samples, honestly evaluates the passed-in function (onto {0,1}), and returns the average value of the function on the samples.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In effect, this estimates the expected value of the function.  It is easy to see that this Oracle samples from the Binomial distribution $B(t, E_{x \sim D}(f(x))$.  For small skew and large $t$, this is approximated by the Normal.  We extended this to explicitly consider variance &lt;a href=&quot;http://eccc.hpi-web.de/report/2012/064/&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The punchline, basically, is that SQ lower bounds still hold in this non-adversarial noise setting.  Actually the SQ lower bounds are even harsher because they work for sample sizes $t=1$, where the algorithm sees the result of its function evaluation on every random sample (and can average or do anything by itself).&lt;/p&gt;&#xA;" OwnerUserId="123" LastEditorUserId="123" LastEditDate="2014-01-11T18:43:17.217" LastActivityDate="2014-01-11T18:43:17.217" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20531" PostTypeId="1" CreationDate="2014-01-10T06:35:33.940" Score="3" ViewCount="284" Body="&lt;p&gt;I am interested to know the structure of random graphs generated by the &lt;a href=&quot;http://en.wikipedia.org/wiki/Preferential_attachment&quot; rel=&quot;nofollow&quot;&gt;preferential attachment&lt;/a&gt; model with degree bounds. Specifically, when a vertex is chosen with a probability proportional to its degree, the edge is added if and only if the degree of the vertex does not exceed some upper bound.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What will be the vertex degree distribution of such a graph? What will be the size of the largest (giant) component, diameter and the average path length? Any reference will be highly appreciated.&lt;/p&gt;&#xA;" OwnerUserId="9569" LastActivityDate="2014-01-10T06:35:33.940" Title="Generating random graphs using the preferential attachment model with degree bounds" Tags="&lt;graph-theory&gt;&lt;randomized-algorithms&gt;" AnswerCount="0" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="20532" PostTypeId="1" CreationDate="2014-01-10T08:08:05.337" Score="0" ViewCount="40" Body="&lt;p&gt;I am new to provable security and am working on cryptanalysis of a certificate free signature scheme. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Unfortunately, I don't have much knowledge about finding attacks on schemes. It would be very helpful if someone can point me to a survey or other reference to study about cryptanalysis and basically develop some intuition to attack an scheme.&lt;/p&gt;&#xA;" OwnerUserId="17325" LastActivityDate="2014-01-10T08:08:05.337" Title="Reference Request: Surveys on attacks on security schemes" Tags="&lt;reference-request&gt;&lt;cr.crypto-security&gt;" AnswerCount="0" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="20533" PostTypeId="1" CreationDate="2014-01-10T09:19:55.383" Score="2" ViewCount="213" Body="&lt;p&gt;In Introduction to algorithm (CLRS), even in its third edition (published in 2009) it is noted in Sec 12.4 that little is known about height of randomly built binary search tree using insert and delete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In a  discussion (Oct 12. Can it be said old?) in stack ex here &lt;a href=&quot;https://cs.stackexchange.com/questions/6342/proof-that-a-randomly-built-binary-search-tree-has-logarithmic-height&quot;&gt;https://cs.stackexchange.com/questions/6342/proof-that-a-randomly-built-binary-search-tree-has-logarithmic-height&lt;/a&gt; as well the explanation of CLRS method has been discussed.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there some work in last one year or so? &#xA;Much appreciate if a reference could be found of some recent publication noting the above i.e. there is no progress as yet!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks&lt;/p&gt;&#xA;" OwnerUserId="21070" LastEditorUserId="-1" LastEditDate="2017-04-13T12:48:30.830" LastActivityDate="2014-01-10T09:19:55.383" Title="Height of randomly built binary search tree by insert and delete?" Tags="&lt;ds.algorithms&gt;&lt;ds.data-structures&gt;&lt;randomized-algorithms&gt;&lt;average-case-complexity&gt;" AnswerCount="0" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="20534" PostTypeId="2" ParentId="20501" CreationDate="2014-01-10T11:46:47.333" Score="5" Body="&lt;p&gt;&lt;strong&gt;Question 1&lt;/strong&gt;. Yes, there are other ways than using automata. Typically, if you already now that your language is recognized by some surjective monoid morphism $\varphi: A^* \to M$, then you know that $M(L)$ (the syntactic monoid of $L$) is a quotient of $M$. For instance if $L = \{ u \in \{a,b\}^* \mid |u|_a \equiv 5 \bmod 13 \text{ and } |u|_a \equiv 6 \bmod 7\}$, then you can prove directly that $M(L) = \mathbb{Z}/91\mathbb{Z}$ without computing the minimal automaton.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question 2&lt;/strong&gt;. C. Brand is right. You can still use the minimal automaton, even if it is infinite. You can also just use the definition of the syntactic congruence to get a presentation of the syntactic monoid. You may also just guess a morphism recognizing your language. Three examples:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(1) Let $L = \{u \in \{a,b\}^* \mid |u|_a = |u|_b \}$. Then the morphism $\pi: \{a,b\}^* \to \mathbb{Z}$ defined by $\pi(a) = 1$ and $\pi(b) = -1$ recognizes $L$ since $L = \pi^{-1}(0)$. Thus $M(L)$ is a quotient of $\mathbb{Z}$. But every nontrivial quotient of $\mathbb{Z}$ is finite and cannot be equal to $M(L)$ (otherwise $L$ would be regular). Thus&#xA;$M(L) = \mathbb{Z}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(2) Let $L = \{u \in \{a,b\}^* \mid |u|_a \geqslant |u|_b \}$. This context-free language generated by the grammar $S \to SS + aSb + 1$. Its syntactic monoid is also equal to $\mathbb{Z}$, since $L = \pi^{-1}([0, + \infty[)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Update following Stefan's comment&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(3) Let $D$ be the Dyck language (see Stefan's comment). Its syntactic monoid is the &lt;em&gt;bicyclic monoid&lt;/em&gt;, which is the monoid presented by $&amp;lt;a,b \mid ab = 1&amp;gt;$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(4) Let $L = \{a^nb^n \mid n \geqslant 0 \}$. Its syntactic monoid is the monoid with zero presented by $&amp;lt;a,b \mid ba = 0&amp;gt;$.&lt;/p&gt;&#xA;" OwnerUserId="17203" LastEditorUserId="17203" LastEditDate="2014-01-11T14:39:09.490" LastActivityDate="2014-01-11T14:39:09.490" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="20535" PostTypeId="1" CreationDate="2014-01-10T12:50:03.127" Score="-4" ViewCount="66" Body="&lt;p&gt;How to find ALL the pair of two edges which, removed from a graph, makes it disconnected?&#xA;I was thinking about a O(M * (N + M )) algorithm, and I am wondering if there is a better algorithm.&#xA;Thanks in advice!&lt;/p&gt;&#xA;" OwnerUserId="21074" LastEditorUserId="21074" LastEditDate="2014-01-10T13:49:45.537" LastActivityDate="2014-01-10T14:01:35.020" Title="How to find the pair of two of edges which, removed from a graph, makes it disconnected?" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="20536" PostTypeId="1" AcceptedAnswerId="20555" CreationDate="2014-01-10T13:00:17.033" Score="22" ViewCount="1007" Body="&lt;p&gt;I'm designing a simple statically typed functional programming language as a learning experience.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It appears that the type system I have implemented so far could (with a little extra work) incorporate intersection and union types, e.g. you could have:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;&amp;lt;Union String Integer&amp;gt;&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;&amp;lt;Union Integer Foo&amp;gt;&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;The intersection of the two types above would be a plain &lt;code&gt;Integer&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;The union of the two types would be &lt;code&gt;&amp;lt;Union String Integer Foo&amp;gt;&lt;/code&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The fact that this is possible, of course, doesn't necessary mean it is a good design idea. In particular, I'm a somewhat concerned about the implementation difficulties of keeping the types disjoint and/or handling overlaps.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What are the pros/cons of incorporating such features in the type system?&lt;/p&gt;&#xA;" OwnerUserId="3205" LastActivityDate="2014-01-11T10:57:30.550" Title="What are the practical issues with intersection and union types?" Tags="&lt;type-theory&gt;&lt;functional-programming&gt;&lt;type-inference&gt;&lt;language-design&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="16" ContentLicense="CC BY-SA 3.0" />
  <row Id="20537" PostTypeId="2" ParentId="20535" CreationDate="2014-01-10T13:22:14.993" Score="1" Body="&lt;p&gt;Not sure what you are asking here, but I guarantee you won't find any sub-linear time algorithm for this task.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you have $O(M+(N+M )) = O(N+M)$ algorithm,  be happy about it :).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the general case, every set of two edges could leave the graph disconnected so you'd need $\Omega(M^2)$ just to output the result (think of a cycle on $N$ vertices).&lt;/p&gt;&#xA;" OwnerUserId="21001" LastEditorUserId="21001" LastEditDate="2014-01-10T14:01:35.020" LastActivityDate="2014-01-10T14:01:35.020" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="20538" PostTypeId="1" AcceptedAnswerId="20546" CreationDate="2014-01-10T14:41:38.850" Score="18" ViewCount="970" Body="&lt;p&gt;This problem came out of my recent &lt;a href=&quot;http://blog.computationalcomplexity.org/2014/01/is-traveling-salesman-np-complete.html&quot;&gt;blog post&lt;/a&gt;, suppose you are given a TSP tour, is it co-NP-complete to determine if it is a minimal one?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More precisely is the following problem NP-complete:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Instance: Given a complete graph G with edges weighted with positive integers and a simple cycle C that visits all the nodes of G.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Question: Is there a simple cycle D that visits all the nodes of G such that the total weight of all the edges of D in G is strictly less than the total weight of all the edges of C in G?&lt;/p&gt;&#xA;" OwnerUserId="550" LastActivityDate="2014-03-20T13:30:25.480" Title="Co-NP-completeness of minimal TSP tour?" Tags="&lt;np-hardness&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="20539" PostTypeId="1" AcceptedAnswerId="20542" CreationDate="2014-01-10T14:42:51.723" Score="1" ViewCount="430" Body="&lt;p&gt;The standard NP-hard SAT problem is the problem of &lt;a href=&quot;https://en.wikipedia.org/wiki/Boolean_satisfiability_problem&quot; rel=&quot;nofollow&quot;&gt;Boolean satisfiability&lt;/a&gt; of conjunctions of clauses, where clauses are disjunctions of literals.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am interested in the problem of the Boolean satisfiability of conjunctions of &lt;em&gt;exclusive&lt;/em&gt; clauses, where exclusive clauses is an &lt;em&gt;exclusive&lt;/em&gt; disjunction of multiple literals. By exclusive disjunction of literals, I do not mean $l_1 \oplus \ldots \oplus  l_n$, which would require an odd number of literals to be true; I mean that the clause is true iff &lt;em&gt;exactly one&lt;/em&gt; literal of the clause is true. (Of course, the literals can be positive or negative, i.e., $l = x$ or $l = \neg x$.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a reference to justify that it is also NP-hard, or a straightforward reduction to prove it?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I had a look in Wikipedia and in the Garey-Johnson, to no avail. Thanks in advance for your help!&lt;/p&gt;&#xA;" OwnerUserId="4795" LastEditorUserId="4795" LastEditDate="2014-01-10T15:20:45.827" LastActivityDate="2014-01-10T15:25:06.557" Title="Hardness of XSAT" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;np-hardness&gt;&lt;sat&gt;" AnswerCount="1" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="20541" PostTypeId="2" ParentId="20505" CreationDate="2014-01-10T15:24:20.943" Score="8" Body="&lt;p&gt;This is done in Chapter 6 &quot;Decomposition of sequential functions&quot; of &lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] S. Eilenberg, Automata, languages and machines, Vol. B, Academic Press, New York, 1976&lt;/p&gt;&#xA;&#xA;&lt;p&gt;and there is indeed a connection with the Krohn-Rhodes decomposition. However the decomposition is weaker than just $h = f \circ g$, just like in K-R decomposition, which works up to division. See also&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] H. Straubing, Families of recognizable sets corresponding to certain&#xA;varieties of nite monoids, J. Pure Appl. Algebra, 15, (1979) 305{318.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;for application to regular languages (or Google &quot;wreath product principle&quot; for more recent papers).&lt;/p&gt;&#xA;" OwnerUserId="17203" LastActivityDate="2014-01-10T15:24:20.943" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20542" PostTypeId="2" ParentId="20539" CreationDate="2014-01-10T15:25:06.557" Score="2" Body="&lt;p&gt;Exact SAT (XSAT) is NP-hard by a reduction from the &lt;a href=&quot;https://en.wikipedia.org/wiki/Exact_hitting_set#Exact_hitting_set&quot; rel=&quot;nofollow&quot;&gt;exact hitting set&lt;/a&gt; problem (or, equivalently, exact set cover), even when all literals are positive. Encode the set $X$ to a set of positive literals, and each subset to a clause. Now, solving Exact SAT amounts to deciding whether some subset of the positive literals is such that every clause contains exactly one positive literal.&lt;/p&gt;&#xA;" OwnerUserId="4795" LastActivityDate="2014-01-10T15:25:06.557" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20543" PostTypeId="1" CreationDate="2014-01-10T15:28:52.063" Score="-1" ViewCount="964" Body="&lt;p&gt;I know about algorithms like &lt;a href=&quot;http://en.wikipedia.org/wiki/Sieve_of_Eratosthenes&quot; rel=&quot;nofollow&quot;&gt;Sieve of Eratosthenes&lt;/a&gt; and &lt;a href=&quot;http://en.wikipedia.org/wiki/Sieve_of_Atkin&quot; rel=&quot;nofollow&quot;&gt;Sieve of Atkin&lt;/a&gt; for &lt;a href=&quot;http://en.wikipedia.org/wiki/Generating_primes&quot; rel=&quot;nofollow&quot;&gt;generating prime numbers&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would like to know what is the most efficient known algorithm to generate the sequence of $k$ distinct prime numbers all of which are larger than a given number $n$?&lt;/p&gt;&#xA;" OwnerUserId="17629" LastEditorUserId="186" LastEditDate="2014-04-13T21:06:30.333" LastActivityDate="2014-04-13T21:06:30.333" Title="What is the most efficient algorithm to generate a sequence of prime numbers?" Tags="&lt;ds.algorithms&gt;&lt;cr.crypto-security&gt;&lt;nt.number-theory&gt;" AnswerCount="1" CommentCount="8" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="20544" PostTypeId="1" CreationDate="2014-01-10T15:52:11.967" Score="4" ViewCount="177" Body="&lt;p&gt;There are a couple of randomized parallel algorithms for the maximal independent set problem, e.g. &lt;a href=&quot;http://epubs.siam.org/doi/abs/10.1137/0215074&quot; rel=&quot;nofollow&quot;&gt;A Simple Parallel Algorithm for the Maximal Independent Set Problem&lt;/a&gt;, &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/0196677486900192&quot; rel=&quot;nofollow&quot;&gt;A fast and simple randomized parallel algorithm for the maximal independent set problem&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;These algorithms were the (or one of the) first examples where $k$-wise independent events/random variables are used to derandomize parallel algorithms. One algorithm (which is described &lt;a href=&quot;http://dcg.ethz.ch/lectures/podc_allstars/lecture/chapter7.pdf&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt; in the chapter &quot;Fast MIS v2&quot;) works as follows:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;The algorithm operates in synchronous rounds, grouped into phases.&#xA;A single phase is as follows:&#xA;1) Each node v chooses a random value r(v) from [0,1] and sends it to its&#xA;neighbors.&#xA;2) If r(v) &amp;lt; r(w) for all neighbors w in N(v), node v enters the MIS and&#xA;informs its neighbors.&#xA;3) If v or a neighbor of v entered the MIS, v terminates (v and all edges&#xA;adjacent to v are removed from the graph), otherwise v enters the next phase.&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;My question:&lt;/strong&gt; Is it known that this algorithm also works if the random values are $k$-wise or even pairwise independent?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I didn't find anything in the literature but maybe I just miss something.&lt;/p&gt;&#xA;" OwnerUserId="2517" LastActivityDate="2014-01-10T15:52:11.967" Title="Randomized Parallel Algorithm for Maximal Independent Set" Tags="&lt;reference-request&gt;&lt;randomized-algorithms&gt;&lt;dc.parallel-comp&gt;&lt;derandomization&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20545" PostTypeId="2" ParentId="20511" CreationDate="2014-01-10T16:14:52.883" Score="7" Body="&lt;p&gt;this is a nice survey of the field by a leading expert that summarizes/details some of the points of the other answers so far &amp;amp; has additional examples.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] &lt;a href=&quot;http://people.cs.uchicago.edu/~fortnow/papers/relative.pdf&quot;&gt;The Role of Relativization in Complexity Theory&lt;/a&gt; Fortnow&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Several recent nonrelativizing results in the area of interactive proofs have caused many&#xA;  people to review the importance of relativization. In this paper we take a look at how complexity&#xA;  theorists use and misuse oracle results. We pay special attention to the new interactive proof&#xA;  systems and program checking results and try to understand why they do not relativize. We&#xA;  give some new results that may help us to understand these questions better.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2014-01-10T16:14:52.883" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="20546" PostTypeId="2" ParentId="20538" CreationDate="2014-01-10T17:20:07.023" Score="17" Body="&lt;p&gt;A sketch of a possible reduction to prove that it is NP-complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Informally it starts from a modified 3SAT formula used to show that 3SAT is ASP-complete (Another Solution Problem), and &quot;follows&quot; the standard chain of reductions 3SAT=&gt;DIRECTED HAMCYCLE =&gt; UNDIRECTED HAMCYCLE =&gt; TSP&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Start with a 3SAT formula $\varphi$ with $n$ variables $x_1,...x_n$ and $m$ caluses $C_1,...,C_m$;&lt;/li&gt;&#xA;&lt;li&gt;Trasform it to a new formula $\varphi'$ adding a new variable $t$ ...;&lt;/li&gt;&#xA;&lt;li&gt;... and expanding each clause $(x_{i_1} \lor x_{i_2} \lor x_{i_3})$ to $(x_{i_1} \lor x_{i_2} \lor x_{i_3} \lor t)$;&lt;/li&gt;&#xA;&lt;li&gt;From $\varphi'$ build the &lt;em&gt;diamonds structure&lt;/em&gt; graph $G = \{V,E\}$ used to prove that DIRECTED HAMILTONIAN CYCLE is NP-Complete; suppose that each clause $C_j$ correspond to node $N_j$ in $G$;&lt;/li&gt;&#xA;&lt;li&gt;Modify $G$ into graph $G' = \{V',E'\}$ replacing each node $u$ with three linked nodes $u_1, u_2, u_3$  and modify the edges according to the standard reduction used to prove the NP-completeness of UNDIRECTED HAMILTONIAN CYCLE from DIRECTED HAMILTONIAN CYCLE i.e. $u_1$ is the node used for incoming edges, $u_3$ is the node used for outgoing edges; &lt;/li&gt;&#xA;&lt;li&gt;Convert the UNDIRECTED HAMILTONIAN CYCLE instance on $G'$ to a TSP instance $T$ in which all edges of $G'$ has weight $w = 1$, except the (unique) edge in the diamond going to the &quot;positive&quot; assignment of $t$ which has weight $w = 2$ (red edge in the figure below); finally the edges added to make $G'$ complete have weight $w = 3$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Clearly the TSP instance $T$ has a simple cycle that visits all nodes which corresponds to the satisfying assignment of  $\varphi'$ in which $t = true$ (and this tour can be easily constructed in polynomial time), but it has total weight $|V'|+1$ (because it uses the edge that correspond to the assignment $t = true$ that has weight 2). $T$ has another simple cycle that visits all nodes with a lower total weight $|V'|$ if and only if the edge of weight $2$ that corresponds to the assignment $t = true$ is not used; or equivalently if and only if there is another satisfying assignment of $\varphi'$ in which&#xA;$t = false$ ; but this can be true if and only if the original formula $\varphi$ is satisfiable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'll think more about it, and I'll write a formal proof (if it doesn't turn out to be wrong :-).&#xA;Let me know if you need further details about one or more of the above passages.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/ZBDcx.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As noted by domotorp an interesting consequence is that the following problem is NP-complete: Given a graph $G$ and an Hamiltonian path in it, does $G$ have an Hamiltonian cycle?&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2014-01-11T14:22:47.667" LastActivityDate="2014-01-11T14:22:47.667" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="20547" PostTypeId="1" AcceptedAnswerId="22586" CreationDate="2014-01-10T17:54:32.757" Score="3" ViewCount="156" Body="&lt;p&gt;I'm reading a paper that uses the following result:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Let $S$ be a set of $n$ points in the plane. Then a spanning tree for $S$ with crossing number $O(\sqrt{n})$ can be computed in $O(n^{1+\epsilon})$ time for any $\epsilon &amp;gt; 0$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The paper refers the reader to Matoušek's paper [1] for this result. However, Matoušek does not discuss spanning trees of points in [1], rather several methods for computing simplicial partition trees. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;So I've been trying to track down where the result comes from. I finally found, in [2], the following statement: &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;So-called simplicial partitions ([Mat91b], see Section 5) can be used to obtain a spanning tree with crossing number $O(\sqrt{n})$ in time $O(n^{1+\epsilon})$ for any $\epsilon &amp;gt; 0$ (where the constant in the crossing numbers depends on $\epsilon$), [Mat91a].&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The reference [Mat91b] in the quote is my reference [1], and the reference [Mat91a] is a private communication between Wezl and Matoušek. It seems that this sentence from [2] is most likely why [1] is referenced in the paper I'm currently reading. I think this is a slight mistake, since [Mat91b] appears to be included as a reference for simplicial partitions, and [Mat91a] (the private communication) is the reference for the entire section and hence the claim. I must admit the first time I read this sentence I made the same mistake, but after searching in vain for the result in [1], have come to the conclusion above.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So my question is this: has the proof of this result appeared in the literature? Perhaps it is obvious (it is not yet obvious to me, but I am still learning about these algorithms). If it is not obvious, I am hoping someone can either provide me with a reference to where it has appeared, or a (rough?) explanation of how a simplicial partition of a point set can be used to construct a spanning tree of the point set with stabbing number $O(\sqrt{n})$ in $O(n^{1 + \epsilon})$ time (or any other $O(n^{1+\epsilon})$ time method, really)? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;References&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] Matoušek, J. Efficient Partition Trees. &lt;em&gt;Discrete Comput. Geom.&lt;/em&gt;, 8:315-334, 1992.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] Wezl, E. On spanning trees with low crossing numbers. &lt;em&gt;Data Structures and Efficient Algorithms, LNCS&lt;/em&gt; 594:233-249, 1992.&lt;/p&gt;&#xA;" OwnerUserId="17504" LastEditorUserId="17504" LastEditDate="2014-01-10T19:05:34.247" LastActivityDate="2014-05-17T11:03:21.160" Title="Computing spanning trees with low crossing number using simplicial partitions" Tags="&lt;reference-request&gt;&lt;cg.comp-geom&gt;" AnswerCount="1" CommentCount="14" ContentLicense="CC BY-SA 3.0" />
  <row Id="20549" PostTypeId="2" ParentId="20529" CreationDate="2014-01-10T18:27:20.767" Score="8" Body="&lt;p&gt;Such a characterization of NP follows from the NP-hardness of any gap problem for a binary CSP with constraints of arity 2.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A binary CSP with arity 2 constraints is given by a family $\Pi$ of arity 2 relations on $\{0, 1\}^n$. An instance is given by a set of constraints. The GapCSP$_\Pi$($c$,$s$) problem for the CSP is the promise problem of distinguishing between CSP instances where at least a fraction $c$ of the constraints can be satisfied and instances where at most a fraction $s$ of the constraints can be satisfied. If such a GapCSP$_\Pi$($c$, $s$) problem is NP-hard for constants $c &amp;gt; s$, then we get a 2-bit PCP for NP in the usual way: the proof is a variable assignment, and can be verified by sampling a constraint and checking if it is satisfied.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In &lt;a href=&quot;http://www.nada.kth.se/~johanh/optimalinap.ps&quot;&gt;Some Optimal Inapproximability Results&lt;/a&gt;, Håstad shows that the GapCSP$_\Pi$($\frac{3}{4} - \delta$, $\frac{11}{16} + \delta$) problem is NP-hard for any constant $\delta$ when $\Pi$ is the family of constraints of the type $x_i + x_j = c \pmod 2$. There are two components to the reduction:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;the famous optimal hardness of 3-variable linear equations mod 2: $\text{GapCSP}{_\Pi}$($1 - \delta'$, $\frac{1}{2} + \delta'$) is NP-hard for any constant $\delta'$ and $\Pi$ the family of constraints of the type $x_i + x_j + x_k = c \pmod 2$ (equivalently, this is a result about optimal 3-bit PCP for NP)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;a gadget reduction from 3-variable linear equations to 2-variable linear equation; each 3-variable equation is replaced by sixteen 2-variable equations over the original variables and some auxiliary ones, so that if the original equation is satisfied, then 12 of the new equations can be satisfied by some assignment of the auxiliary variables, and if the original equation is not satisfied, then no assignment of the auxiliary variables satisfies more than 10 of the new equations (Theorem 5.14 in the paper)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;You can get a better ratio between $c$ and $s$ if you assume the Unique Games conjecture: &lt;a href=&quot;http://www.cs.cmu.edu/~odonnell/papers/maxcut.pdf&quot;&gt;Khot, Kindler, O'Donnel, and Mossel&lt;/a&gt; showed that for $\Pi$ the max cut constraints $x_i \neq x_j$, solving GapCSP$_\Pi$($\frac{1}{2}(1 - \rho)$, $\frac{1}{\pi}\arccos(\rho) - \delta$) is as hard as Unique Games for any $\rho \in (-1, 1)$ and any constant $\delta &amp;gt; 0$. Optimizing over $\rho$ gives $\frac{s}{c}$ arbitrarily close to the Goemans-Williamson constant.&lt;/p&gt;&#xA;" OwnerUserId="4896" LastActivityDate="2014-01-10T18:27:20.767" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20550" PostTypeId="1" AcceptedAnswerId="20560" CreationDate="2014-01-10T20:58:39.770" Score="25" ViewCount="2495" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;Do you know interesting consequences of (standard) conjectures in complexity theory in other fields of mathematics (i.e. outside of theoretical computer science)?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I would prefer answers where:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;the complexity theory conjecture is as general and standard as possible; I am ok with consequences of the hardness of specific problems too, but it would be nice if the problems are widely believed to be hard (or at least have been studied in more than a couple of papers)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;the implication is a statement that is not known to be true unconditionally, or other known proofs are considerably more difficult&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;the more surprising the connection the better; in particular, the implication should not be a statement explicitly about algorithms&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;&quot;If pigs could fly, horses would sing&quot; type of connections are ok, too, as long as the flying pigs come from complexity theory, and the singing horses from some field of math outside of computer science.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This question is in some sense &quot;the converse&quot; of a &lt;a href=&quot;https://cstheory.stackexchange.com/q/1920/4896&quot;&gt;question&lt;/a&gt; we had about surprising uses of mathematics in computer science. Dick Lipton had a &lt;a href=&quot;http://rjlipton.wordpress.com/2009/03/11/factoring-could-be-easy/&quot; rel=&quot;nofollow noreferrer&quot;&gt;blog post&lt;/a&gt; exactly along these lines: he writes about consequences of the conjecture that factoring has large circuit complexity. The consequences are that certain diophantine equations have no solutions, a kind of statement that can very hard to prove unconditionally. The post is based on work with Dan Boneh, but I cannot locate a paper. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT:&lt;/strong&gt; As Josh Grochow notes in the comments, &lt;a href=&quot;https://cstheory.stackexchange.com/a/163/4896&quot;&gt;his question&lt;/a&gt; about applications of TCS to classical math is closely related. My question is, on one hand, more permissive, because I do not insist on the &quot;classical math&quot; restriction. I think the more important difference is that I insist on a proven implication from a complexity conjecture to a statement in a field of math outside TCS. Most of the answers to Josh's question are not of this type, but instead give techniques and concepts useful in classical math that were developed or inspired by TCS. Nevertheless, at least &lt;a href=&quot;https://cstheory.stackexchange.com/a/163/4896&quot;&gt;one answer&lt;/a&gt; to Josh's question is a perfect answer to my question: &lt;a href=&quot;http://arxiv.org/abs/0810.0033&quot; rel=&quot;nofollow noreferrer&quot;&gt;Michael Freedman's paper&lt;/a&gt; which is motivated by a question identical to mine, and proves a theorem in knot theory, conditional on $\mathsf{P}^{\#P} \ne \mathsf{NP}$. He argues the theorem seems out of reach of current techniques in knot theory. By Toda's theorem, if $\mathsf{P}^{\#P} = \mathsf{NP}$ then the polynomial hierarchy collapses, so the assumption is quite plausible. I am interested in other similar results.&lt;/p&gt;&#xA;" OwnerUserId="4896" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2017-02-26T06:49:54.813" Title="Mathematical implications of complexity theory conjectures outside TCS" Tags="&lt;cc.complexity-theory&gt;&lt;conditional-results&gt;" AnswerCount="5" CommentCount="11" FavoriteCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="20551" PostTypeId="2" ParentId="20550" CreationDate="2014-01-10T21:08:15.547" Score="6" Body="&lt;p&gt;Here's an example: &lt;a href=&quot;http://www.cs.princeton.edu/~rongge/derivative.pdf&quot;&gt;Computational complexity and informational asymmetry in financial products&lt;/a&gt; by Arora, Barak and Ge shows that it can be computationally intractable (ie NP-hard) to price derivatives correctly - they use densest subgraph as an embedded hard problem. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Along the same lines and much earlier is the famous paper by &lt;a href=&quot;http://link.springer.com/article/10.1007/BF00295861#page-1&quot;&gt;Bartholdi, Tovey, and Trick&lt;/a&gt; on the hardness of manipulating an election. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2014-01-10T21:08:15.547" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="20552" PostTypeId="2" ParentId="20543" CreationDate="2014-01-10T23:51:42.333" Score="3" Body="&lt;p&gt;If by efficient you mean more practical space-wise for large bounds, check the &lt;a href=&quot;http://digitalcommons.butler.edu/cgi/viewcontent.cgi?article=1095&amp;amp;context=facsch_papers&quot; rel=&quot;nofollow&quot;&gt;Pseudosquares Prime Sieve&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This (given enough time) allows searching for much larger prime numbers.&lt;/p&gt;&#xA;" OwnerUserId="21001" LastActivityDate="2014-01-10T23:51:42.333" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20554" PostTypeId="2" ParentId="149" CreationDate="2014-01-11T08:22:35.960" Score="5" Body="&lt;p&gt;In his paper &lt;a href=&quot;http://www.cs.ou.edu/~qcheng/paper/BSS.pdf&quot; rel=&quot;noreferrer&quot;&gt;&lt;strong&gt;Straight Line Programs and Torsion Points on Elliptic Curves&lt;/strong&gt;&lt;/a&gt;, Qi Cheng relates Bürgisser's $L$-conjecture (a variant of Shub and Smale's $\tau$-conjecture¹) to the Torsion Theorem and to Masser's Theorem in the field of elliptic curves. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Very roughly, if the $L$-conjecture is true (or a weaker version of it), then one can &quot;easily&quot; deduce these both theorems. Their original proofs are much harder.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;¹ The $\tau$-conjecture asserts that if a polynomial $p$ has a constant-free straight-line program (or arithmetic circuit) of size $\tau$, its number of integer roots is at most $(1+\tau)^c$ for some absolute constant $c$.&lt;/p&gt;&#xA;" OwnerUserId="976" LastActivityDate="2014-01-11T08:22:35.960" CommentCount="0" CommunityOwnedDate="2014-01-11T08:22:35.960" ContentLicense="CC BY-SA 3.0" />
  <row Id="20555" PostTypeId="2" ParentId="20536" CreationDate="2014-01-11T10:57:30.550" Score="27" Body="&lt;p&gt;Here are a few things to keep in mind:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Although we generally think we know what we mean by set-theoretic intersection and union, there have been several different takes on what exactly intersection and union types &lt;em&gt;are&lt;/em&gt;.  So, it's worth pinning this down before you embark on an implementation.&lt;/li&gt;&#xA;&lt;li&gt;One element which I think is awfully important for understanding intersections and unions is the concept of &lt;em&gt;type refinement&lt;/em&gt;, essentially the idea that a program has a certain intrinsic &quot;archetype&quot; (e.g., &quot;&lt;em&gt;foo&lt;/em&gt; is a function from integers to integers&quot;), which can then be refined to express more precise properties (e.g., &quot;&lt;em&gt;foo&lt;/em&gt; takes even integers to even integers and odd integers to odd integers&quot;). With the concept of refinement in hand, the key property which distinguishes intersections and unions from products and sums is that the intersection/union of two types can be formed only if they refine the same archetype.  In other words, the type formation rules for intersections and unions may be expressed like so (read &quot;$S \sqsubset A$&quot; as &quot;$S$ refines $A$&quot;)&#xA;$$\frac{S\sqsubset A \quad T \sqsubset A}{S\cap T\sqsubset A}\qquad&#xA;\frac{S\sqsubset A \quad T \sqsubset A}{S\cup T\sqsubset A}$$&#xA;whereas the formation rules for ordinary products and sums are &#xA;$$\frac{S\sqsubset A \quad T \sqsubset B}{S* T\sqsubset A*B}\qquad&#xA;\frac{S\sqsubset A \quad T \sqsubset B}{S+T\sqsubset A+B}$$&lt;/li&gt;&#xA;&lt;li&gt;Since intersections and unions can be used to make more precise assertions about the run-time behavior of a program, it is natural that typing becomes sensitive to evaluation order. For example, papers &lt;a href=&quot;http://www.cs.cmu.edu/~fp/papers/icfp00.pdf&quot;&gt;(2)&lt;/a&gt; and &lt;a href=&quot;http://www.cs.cmu.edu/~joshuad/papers/tridirectional-typechecking-TR/Dunfield04_tridirectional-TR.pdf&quot;&gt;(4)&lt;/a&gt; below explained why  the &quot;obvious&quot; (and fairly standard) typing and subtyping rules for intersections and unions are actually unsound for ML-like languages (due to the presence of side effects and non-termination). &lt;a href=&quot;http://goto.ucsd.edu/~rjhala/liquid/haskell/blog/blog/2013/11/23/telling_lies.lhs/&quot;&gt;You have been warned!&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;For similar reasons, global type inference generally becomes impractical or undecidable. Indeed, the whole concept of &quot;principal type&quot; is arguably a red-herring, since a function may satisfy many different properties which are irrelevant to its intended use (e.g., &quot;&lt;em&gt;foo&lt;/em&gt; takes prime integers to integers greater than 7&quot;). Instead, practical approaches to intersections and unions (see &lt;a href=&quot;http://reports-archive.adm.cs.cmu.edu/anon/2005/CMU-CS-05-110.pdf&quot;&gt;(3)&lt;/a&gt;, &lt;a href=&quot;http://www.cs.cmu.edu/~joshuad/papers/tridirectional-typechecking-TR/Dunfield04_tridirectional-TR.pdf&quot;&gt;(4)&lt;/a&gt;) are generally based on a combination of inference and checking.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I suppose some of the above points might sound negative, though I wouldn't call them &quot;cons&quot; but merely &quot;realities&quot; of intersection and union types. On the other hand, from a language design perspective, one reason for making the effort of supporting intersections and unions (and for getting them right!) is that they allow more precise properties of programs to be expressed in a fairly incremental way, requiring a much less drastic transformation than, say, dependent type theory.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A brief reading list:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.42.9976&amp;amp;rep=rep1&amp;amp;type=pdf&quot;&gt;Design of the Programming Language Forsythe&lt;/a&gt; by John C. Reynolds&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.cs.cmu.edu/~fp/papers/icfp00.pdf&quot;&gt;Intersection Types and Computational Effects&lt;/a&gt; by Rowan Davies and Frank Pfenning&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://reports-archive.adm.cs.cmu.edu/anon/2005/CMU-CS-05-110.pdf&quot;&gt;Practical Refinement-Type Checking&lt;/a&gt; by Rowan Davies (dissertation)&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.cs.cmu.edu/~joshuad/papers/tridirectional-typechecking-TR/Dunfield04_tridirectional-TR.pdf&quot;&gt;Tridirectional Typechecking&lt;/a&gt; by Joshua Dunfield and Frank Pfenning&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="674" LastActivityDate="2014-01-11T10:57:30.550" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="20558" PostTypeId="2" ParentId="20550" CreationDate="2014-01-11T13:14:57.553" Score="6" Body="&lt;p&gt;As suggested by Sasho, my &lt;a href=&quot;https://cstheory.stackexchange.com/a/20554/976&quot;&gt;answer&lt;/a&gt; to the question &quot;&lt;a href=&quot;https://cstheory.stackexchange.com/q/149/976&quot;&gt;Applications of TCS to classical mathematics?&lt;/a&gt;&quot; follows:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;In his paper &lt;a href=&quot;http://www.cs.ou.edu/~qcheng/paper/BSS.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;&lt;strong&gt;Straight Line Programs and Torsion Points on Elliptic Curves&lt;/strong&gt;&lt;/a&gt;, Qi Cheng relates Bürgisser's $L$-conjecture (a variant of Shub and Smale's $\tau$-conjecture¹) to the Torsion Theorem and to Masser's Theorem in the field of elliptic curves. &lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;Very roughly, if the $L$-conjecture is true (or a weaker version of it), then one can &quot;easily&quot; deduce these both theorems. Their original proofs are much harder.&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;¹ The $\tau$-conjecture asserts that if a polynomial $p$ has a constant-free straight-line program (or arithmetic circuit) of size $\tau$, its number of integer roots is at most $(1+\tau)^c$ for some absolute constant $c$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="976" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2014-01-11T13:14:57.553" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20559" PostTypeId="1" AcceptedAnswerId="20565" CreationDate="2014-01-12T05:11:47.820" Score="5" ViewCount="616" Body="&lt;p&gt;The subset sum problem and subset product problem are NP-complete.&#xA;Is the following problem polynomial-time solvable: given a set of positive integers, find a subset whose sum is $S$ and whose product is $T$.&lt;/p&gt;&#xA;" OwnerUserId="21085" LastEditorUserId="495" LastEditDate="2014-01-29T10:35:30.237" LastActivityDate="2014-01-29T10:35:30.237" Title="Combining subset sum and subset product problems" Tags="&lt;cc.complexity-theory&gt;&lt;subset-sum&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="20560" PostTypeId="2" ParentId="20550" CreationDate="2014-01-12T10:23:00.627" Score="14" Body="&lt;p&gt;Here's another example from graph theory. The graph minor theorem tells us that, for every class $\mathcal{G}$ of undirected graphs that is closed under minors, there is a finite obstruction set $\mathcal{Obs(G)}$ such that a graph is in $\mathcal{G}$ if and only if it does not contain a graph in $\mathcal{Obs(G)}$ as a minor. However, the graph minor theorem is inherently nonconstructive and does not tell us anything about how big these obstruction sets are, i.e., how many graphs it contains for a particular choice of $\mathcal{G}$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In &lt;a href=&quot;http://www.jucs.org/jucs_3_11/too_many_minor_order&quot;&gt;Too Many Minor Order Obstructions&lt;/a&gt;, Michael J. Dinneen showed that under a plausible complexity-theoretic conjecture, the sizes of several of such obstruction sets can be shown to be large. For example, consider the parameterized class $\mathcal{G}_k$ of graphs of genus at most $k$. As $k$ increases, we can expect the obstruction sets $\mathcal{Obs}(\mathcal{G}_k)$ to become more and more complicated, but how much so? Dinneen showed that if the polynomial hierarchy does not collapse to its third level then there is no polynomial $p$ such that the number of obstructions in $\mathcal{Obs}(\mathcal{G}_k)$ is bounded by $p(k)$. Since the number of minor obstructions for having genus zero (i.e. being planar) is just two ($\mathcal{Obs}(\mathcal{G}_0) = \{K_5, K_{3,3}\}$), this superpolynomial growth is not immediately obvious (although I believe it can be proven unconditionally). The nice thing about Dinneen's result is that it applies to the sizes of obstruction sets corresponding to &lt;em&gt;any&lt;/em&gt; parameterized set of minor ideals $\mathcal{G}_k$ for which deciding the smallest $k$ for which $G \in \mathcal{G}_k$ is NP-hard; in all of such parameterized minor ideals the obstruction set sizes must grow superpolynomially.  &lt;/p&gt;&#xA;" OwnerUserId="122" LastActivityDate="2014-01-12T10:23:00.627" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="20561" PostTypeId="1" CreationDate="2014-01-12T12:11:59.950" Score="9" ViewCount="121" Body="&lt;p&gt;This question is a reformulation of &#xA;&lt;a href=&quot;https://cstheory.stackexchange.com/questions/20232/complexity-for-computing-weighted-number-of-paths-on-integer-lattice&quot;&gt;Complexity for computing weighted number of paths on integer lattice&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there any way to compute in $o(n^2)$ all $n$ sums &#xA;$\sum_{0\leq i \leq j} a_i\binom{j}{i}$ for $j\in\{1,\dots,n\}$? &lt;/p&gt;&#xA;" OwnerUserId="20726" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2014-01-12T12:11:59.950" Title="Computing weighted sums of binomial coefficients" Tags="&lt;ds.algorithms&gt;&lt;co.combinatorics&gt;" AnswerCount="0" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="20562" PostTypeId="1" AcceptedAnswerId="20574" CreationDate="2014-01-12T14:40:37.047" Score="16" ViewCount="641" Body="&lt;p&gt;Unambiguous Finite Automatons (UFA) are special type of non-deterministic finite automatons (NFA).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A NFA is called &lt;em&gt;unambiguous&lt;/em&gt; if every word $w\in \Sigma^*$ has at most one accepting path.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This means $DFA\subset UFA\subset NFA$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Known related automaton results:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;ol&gt;&#xA;  &lt;li&gt;NFA minimization is PSPACE-Complete.&lt;/li&gt;&#xA;  &lt;li&gt;&lt;a href=&quot;http://www2.tcs.ifi.lmu.de/~gruberh/data/lata07-submission.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;NFA minimization over finite languages is DP-Hard&lt;/a&gt;.&lt;/li&gt;&#xA;  &lt;li&gt;&lt;a href=&quot;http://lrb.cs.uni-dortmund.de/~martens/data/icalp08talk.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;UFA minimization is NP-Complete&lt;/a&gt;.&lt;/li&gt;&#xA;  &lt;li&gt;&lt;a href=&quot;https://cs.stackexchange.com/questions/3381/nfa-with-exponential-number-of-states-when-deteminized&quot;&gt;There exists NFAs which are exponentially smaller than minimal DFAs&lt;/a&gt;.&#xA;  (Also - there exists UFAs which are exponentially smaller than minimal DFAs - R B).&lt;/li&gt;&#xA;  &lt;/ol&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The question is: can we find a regular language $L$ such that the there exists a NFA accepting $L$ which is exponentially smaller (state-wise) than the minimal &lt;strong&gt;UFA&lt;/strong&gt; for $L$?&#xA;Can this happen for a finite language?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I believe such (finite) $L$ exists, but my proof currently relies on the Exponential Time Hypothesis to hold, and was wondering if someone has a proof which doesn't rely on it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, can someone characterize the set of languages for which such size difference exist?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT: @Shaull gave a nice link to a paper dealing with infinite language. Does anyone know a similar result for a finite language?&lt;/p&gt;&#xA;" OwnerUserId="21001" LastEditorUserId="21001" LastEditDate="2018-06-14T11:42:04.053" LastActivityDate="2018-06-14T11:42:04.053" Title="How small can a NFA be, compared to the minimal Unambiguous Finite Automaton (UFA) of the same regular language?" Tags="&lt;cc.complexity-theory&gt;&lt;fl.formal-languages&gt;&lt;automata-theory&gt;&lt;regular-language&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="3" ContentLicense="CC BY-SA 4.0" />
  <row Id="20563" PostTypeId="2" ParentId="20562" CreationDate="2014-01-12T15:22:26.647" Score="16" Body="&lt;p&gt;There is even a stronger result than your request:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are exponentially-ambiguous NFAs for which the minimal polynomially-ambiguous NFAs are exponentially larger, and in particular the minimal UFAs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Check &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=284965&quot;&gt;this paper&lt;/a&gt; by Hing Leung.&lt;/p&gt;&#xA;" OwnerUserId="7531" LastActivityDate="2014-01-12T15:22:26.647" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="20565" PostTypeId="2" ParentId="20559" CreationDate="2014-01-12T18:40:12.043" Score="3" Body="&lt;p&gt;It is still NP-complete. Here is a very sketchy reduction from subset sum. The goal of the whole reduction will be to make $T$ unimportant.&#xA;If the inputs for subset sum are $a_i$, then add $a_i$ and $2^Na_i$ to our inputs, where $N$ is large, but still $poly(n)$.&#xA;Set $S$ to be $2^N$ times the original subset sum plus $2^N-1$.&#xA;Set $T$ to be the product of the $a_i$'s multiplied by a sufficiently big power of $2$, to be determined later.&#xA;The idea is that if the number with index $i$ was not picked, then we can pick $a_i$, while if it was picked, we can pick $2^Na_i$.&#xA;Finally, add a lot of each small power of $2$ to our input to be able to make the desired sum and product.&#xA;Notice that this gives us enough liberty to get $S$ and $T$.&lt;/p&gt;&#xA;" OwnerUserId="419" LastActivityDate="2014-01-12T18:40:12.043" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="20567" PostTypeId="1" CreationDate="2014-01-13T01:52:37.473" Score="2" ViewCount="150" Body="&lt;p&gt;The question itself is closer to the bottom of this post, and&#xA;&lt;br&gt;&#xA;is formulated without any rerefence to the term &quot;CART&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Motivation:&lt;br&gt;&#xA;In traditional CART (&lt;a href=&quot;http://www.stat.cmu.edu/~cshalizi/350/lectures/22/lecture-22.pdf&quot; rel=&quot;nofollow&quot;&gt;Classification and Regression Trees&lt;/a&gt;), one simply chooses the locally-optimal question at each step. $\:$ However, it is not obviously the case that doing so produces a&#xA;&lt;br&gt;&#xA;globally-optimal tree of questions. $\:$ In formalizing this problem, attributes with a canonical&#xA;&lt;br&gt;&#xA;total order do not pose any issues; the nodes are allowed order-comparisons and nothing else.&#xA;&lt;br&gt;&#xA;The two issues I see are attributes without a canonical total order (categorical attributes), and what trees are allowed. $\:$ One possibility for categorical attributes is to allow the nodes to apply a circuit of bounded size; however, the feasibility or lack thereof in that case is likely to depend on cryptographic assumptions. $\:$ Instead, I will require that the input come with an explicit list of the tests that a single node is allowed to apply to a given categorical attribute. $\:$ Since the number of values of each totally-ordered attribute is at most the number of data-points, one can in that case convert an instance so that &lt;em&gt;all&lt;/em&gt; attributes will be categorical. $\:$ After doing that, the number of allowed tests per attribute is at most the total number of allowed tests, so one can convert an instance so that all attributes are binary (with the bits given by the responses to each of the allowed tests), and one no longer needs to worry about what tests are allowed.&#xA;&lt;br&gt;&#xA;The other issue was what &lt;em&gt;trees&lt;/em&gt; are allowed. $\:$ Since I have no idea how one would weight&#xA;&lt;br&gt;depth vs. number of nodes, I will keep things simple and require that the trees be &lt;a href=&quot;http://en.wikipedia.org/wiki/Binary_tree#Types_of_binary_trees&quot; rel=&quot;nofollow&quot;&gt;perfect&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;br&gt;&lt;br&gt;&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Actual Question&lt;/strong&gt;: $\:$ Is there an additive-error &lt;a href=&quot;http://en.wikipedia.org/wiki/Polynomial-time_approximation_scheme#Variants&quot; rel=&quot;nofollow&quot;&gt;PTAS&lt;/a&gt; for the following minimization problem?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;br&gt;&#xA;Inputs: $\:$ a positive integer S that is given in unary, a positive integer n,&#xA;&lt;br&gt;&#xA;and a non-empty list of binary vectors whose lengths are all n+1,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Well-Formed Outputs: $\:$ a &lt;a href=&quot;http://en.wikipedia.org/wiki/Binary_tree#Types_of_binary_trees&quot; rel=&quot;nofollow&quot;&gt;perfect&lt;/a&gt; binary tree of depth d that has each non-leaf node labelled with an element of {0,1,2,3,...,n-2,n-1}, where d is the greatest integer that satisfies 2^d ≤ S&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Value of a Well-Formed Output: $\:$ the &lt;a href=&quot;http://en.wikipedia.org/wiki/Conditional_entropy&quot; rel=&quot;nofollow&quot;&gt;conditional entropy&lt;/a&gt; of the last entry of V (which is V[n])&#xA;&lt;br&gt;&#xA;given the leaf-node that one ends at when going out from the root along the edges indicated&#xA;&lt;br&gt;&#xA;by V[current_node's_label], where V is chosen uniformly from the list of vectors in the input&#xA;&lt;br&gt;&lt;br&gt;&lt;/p&gt;&#xA;" OwnerDisplayName="user6973" LastActivityDate="2014-01-13T01:52:37.473" Title="How hard is it to compute an approximately optimal non-greedy CART tree?" Tags="&lt;optimization&gt;&lt;shannon-entropy&gt;&lt;decision-trees&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20569" PostTypeId="2" ParentId="20550" CreationDate="2014-01-13T02:37:57.257" Score="-6" Body="&lt;p&gt;it appears that many TCS complexity class separation questions have major implications in mathematics. the P=?NP question in particular seems to have very deep connections across many fields and this includes mathematics. some notable cases in this area:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Hilberts &lt;a href=&quot;http://en.wikipedia.org/wiki/Hilbert&amp;#39;s_Nullstellensatz&quot; rel=&quot;nofollow noreferrer&quot;&gt;Nullstellensatz problem&lt;/a&gt; formulated in the early 20th century has been shown to have a tractability closely relating to the P vs NP complexity eg in &lt;a href=&quot;http://www.cs.technion.ac.il/~janos/COURSES/238900-13/Papers-1/ShubSmale-pap97.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;ON THE INTRACTABILITY OF HILBERT’S NULLSTELLENSATZ AND AN ALGEBRAIC VERSION OF “NP ̸= P?”&lt;/a&gt; by Shub/Smale. this is a continuing area of study eg in &lt;a href=&quot;http://www.math.psu.edu/margulies/papers/thesis.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Computer Algebra, Combinatorics, and Complexity: Hilbert’s Nullstellensatz and NP-complete Problems&lt;/a&gt; by Margulies.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Fagin&amp;#39;s_theorem&quot; rel=&quot;nofollow noreferrer&quot;&gt;Fagins theorem&lt;/a&gt; (wikipedia):&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Fagin's theorem is a result in descriptive complexity theory that states that the set of all properties expressible in existential second-order logic is precisely the complexity class NP. It is remarkable since it is a characterization of the class NP that does not invoke a model of computation such as a Turing machine.  &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;the major/surprising implication of P=NP here would mean that all second-order logic assertions could be efficiently computed.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;another case is that there are various NP complete problems stated mostly only in mathematical terms (eg no reference to TCS concepts like TMs, nondeterminism etc). this list could be very large if graph theory is (quite reasonably) regarded as mathematical. however even narrow interpretations of &quot;mathematical&quot; lead to cases, for example in number theory.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;As proved by &lt;a href=&quot;http://dx.doi.org/10.1145/800113.803627&quot; rel=&quot;nofollow noreferrer&quot;&gt;Manders and Adleman&lt;/a&gt;, the following problem is NP-complete: given natural numbers $a,b,c$, determine whether there exists a natural number $x\le c$ such that $x^2\equiv a\pmod b$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/questions/14124/is-there-a-natural-problem-on-the-naturals-that-is-np-complete&quot;&gt;Is there a natural problem on the naturals that is NP-complete?&lt;/a&gt; tcs.se&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://mathoverflow.net/questions/72628/number-theory-and-np-complete&quot;&gt;number theory and NP complete&lt;/a&gt; mathoverflow&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2014-01-13T02:37:57.257" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="20572" PostTypeId="2" ParentId="149" CreationDate="2014-01-13T10:29:21.777" Score="7" Body="&lt;h2&gt;Automata theory and algebraicity&lt;/h2&gt;&#xA;&lt;p&gt;Automata theory has given some interesting results to characterize algebraicity. I mention two of them, with references. It is by no way exhaustive.&lt;/p&gt;&#xA;&lt;h3&gt;1. An algebraic closure of &lt;span class=&quot;math-container&quot;&gt;$\mathbb F_q(t)$&lt;/span&gt;&lt;/h3&gt;&#xA;&lt;p&gt;Let &lt;span class=&quot;math-container&quot;&gt;$\mathbb F_q(t)$&lt;/span&gt; be the rational function field over the finite field with &lt;span class=&quot;math-container&quot;&gt;$q$&lt;/span&gt; elements, where &lt;span class=&quot;math-container&quot;&gt;$q=p^s$&lt;/span&gt; for some prime &lt;span class=&quot;math-container&quot;&gt;$p$&lt;/span&gt; and integer &lt;span class=&quot;math-container&quot;&gt;$s$&lt;/span&gt;. Let &lt;span class=&quot;math-container&quot;&gt;$\mathbb F_q[[t]]$&lt;/span&gt; be the ring of formal power series over &lt;span class=&quot;math-container&quot;&gt;$\mathbb F_q$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;p&gt;One can characterize the power series which are &lt;em&gt;algebraic over &lt;span class=&quot;math-container&quot;&gt;$\mathbb F_q(t)$&lt;/span&gt;&lt;/em&gt;, that is roots of a monic polynomial with coefficients in &lt;span class=&quot;math-container&quot;&gt;$\mathbb F_q(t)$&lt;/span&gt;, using an automata-theoretic description.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Theorem (Christol [1]).&lt;/strong&gt; A formal power series &lt;span class=&quot;math-container&quot;&gt;$\sum_{i=0}^{\infty} a_i t^i$&lt;/span&gt; is algebraic over &lt;span class=&quot;math-container&quot;&gt;$\mathbb F_q(t)$&lt;/span&gt; if and only if the sequence &lt;span class=&quot;math-container&quot;&gt;$\{a_i\}_{i=0}^\infty$&lt;/span&gt; is &lt;span class=&quot;math-container&quot;&gt;$p$&lt;/span&gt;-automatic.&lt;/p&gt;&#xA;&lt;p&gt;Actually, this method allows to give a description of an algebraic closure of &lt;span class=&quot;math-container&quot;&gt;$\mathbb F_q(t)$&lt;/span&gt;. It is known that the field of &lt;em&gt;generalized power series&lt;/em&gt; of the form&#xA;&lt;span class=&quot;math-container&quot;&gt;$$\sum_{i\in I} x_i t^i\text,$$&lt;/span&gt;&#xA;where &lt;span class=&quot;math-container&quot;&gt;$I$&lt;/span&gt; is a well-ordered subset of &lt;span class=&quot;math-container&quot;&gt;$\mathbb Q$&lt;/span&gt;, contains an algebraic closure of &lt;span class=&quot;math-container&quot;&gt;$\mathbb F_q(t)$&lt;/span&gt;. Again, the generalized power series which are algebraic can be characterized using an automata-theoretic description.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Theorem (Kedlaya [2]).&lt;/strong&gt; A generalized power series &lt;span class=&quot;math-container&quot;&gt;$\sum_{i\in I} a_i t^i$&lt;/span&gt; is algebraic over &lt;span class=&quot;math-container&quot;&gt;$\mathbb F_q(t)$&lt;/span&gt; if and only if the sequence &lt;span class=&quot;math-container&quot;&gt;$\{a_i\}_{i\in I}$&lt;/span&gt; is &lt;span class=&quot;math-container&quot;&gt;$p$&lt;/span&gt;-quasi-automatic.&lt;/p&gt;&#xA;&lt;h3&gt;2. Transcendental numbers&lt;/h3&gt;&#xA;&lt;p&gt;Automatic sequences are also used to characterize transcendental numbers. For instance,&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Theorem (Adamczewski &amp;amp; Bugeaud [3]).&lt;/strong&gt; Let &lt;span class=&quot;math-container&quot;&gt;$b$&lt;/span&gt; be an integer &lt;span class=&quot;math-container&quot;&gt;$\ge 2$&lt;/span&gt;. Let &lt;span class=&quot;math-container&quot;&gt;$x\in\mathbb R$&lt;/span&gt; and let &lt;span class=&quot;math-container&quot;&gt;$\mathbf x=\{x_i\}_{i=0}^\infty$&lt;/span&gt; be the sequence of digits of its base-&lt;span class=&quot;math-container&quot;&gt;$b$&lt;/span&gt; representation.&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;If &lt;span class=&quot;math-container&quot;&gt;$\mathbf x$&lt;/span&gt; is ultimately periodic, then &lt;span class=&quot;math-container&quot;&gt;$x$&lt;/span&gt; is rational;&lt;/li&gt;&#xA;&lt;li&gt;If &lt;span class=&quot;math-container&quot;&gt;$\mathbf x$&lt;/span&gt; is &lt;span class=&quot;math-container&quot;&gt;$b$&lt;/span&gt;-automatic (but not ultimately periodic), then &lt;span class=&quot;math-container&quot;&gt;$x$&lt;/span&gt; is transcendental;&lt;/li&gt;&#xA;&lt;li&gt;Else, &lt;span class=&quot;math-container&quot;&gt;$x$&lt;/span&gt; is an algebraic irrational number.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;Of course, the first item is a very classic result!&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;References.&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;[1] Gilles Christol. &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/0304397579900112&quot; rel=&quot;noreferrer&quot;&gt;&lt;strong&gt;Ensembles presque périodiques k-reconnaissables&lt;/strong&gt;&lt;/a&gt;. In &lt;em&gt;Theoretical Computer Science&lt;/em&gt; &lt;strong&gt;9&lt;/strong&gt;(1), pp 141-145, 1979.&lt;/p&gt;&#xA;&lt;p&gt;[2] Kiran S. Kedlaya. &lt;a href=&quot;http://www.emis.de/journals/JTNB/2006-2/article07.pdf&quot; rel=&quot;noreferrer&quot;&gt;&lt;strong&gt;Finite automata and algebraic extensions of function&#xA;fields&lt;/strong&gt;&lt;/a&gt;. In &lt;em&gt;Journal de théorie des nombres de Bordeaux&lt;/em&gt; &lt;strong&gt;18&lt;/strong&gt;, pp 379-420, 2006. arXiv:&lt;a href=&quot;http://arxiv.org/abs/math/0410375&quot; rel=&quot;noreferrer&quot;&gt;math/0410375&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;[3] Boris Adamcweski, Yann Bugeaud. &lt;a href=&quot;http://annals.math.princeton.edu/2007/165-2/p04&quot; rel=&quot;noreferrer&quot;&gt;&lt;strong&gt;On the complexity of algebraic numbers I. Expansions in integer bases&lt;/strong&gt;&lt;/a&gt;. In &lt;em&gt;Annals of Mathematics&lt;/em&gt; &lt;strong&gt;165&lt;/strong&gt;(2), pp 547-565, 2007.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="976" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2014-01-13T10:29:21.777" CommentCount="1" CommunityOwnedDate="2014-01-13T10:29:21.777" ContentLicense="CC BY-SA 3.0" />
  <row Id="20574" PostTypeId="2" ParentId="20562" CreationDate="2014-01-13T13:31:29.827" Score="14" Body="&lt;p&gt;I think the IJFCS'05 paper by Leung: &lt;a href=&quot;http://www.worldscientific.com/doi/pdf/10.1142/S0129054105003418&quot; rel=&quot;noreferrer&quot;&gt;Descriptional complexity of nfa of different ambiguity&lt;/a&gt;&#xA;provides an example with a family of NFA accepting finite languages that involve an exponential blowup for &quot;disambiguation&quot; (in the proof of Theorem 5).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is more, those automata have a special structure (DFA with multiple initial states).&lt;/p&gt;&#xA;" OwnerUserId="20726" LastEditorUserId="2367" LastEditDate="2017-09-27T09:10:57.857" LastActivityDate="2017-09-27T09:10:57.857" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20575" PostTypeId="7" CreationDate="2014-01-13T15:55:59.707" Score="0" Body="&lt;p&gt;&#xA;    On Stack Exchange, we believe the core moderators should come &lt;i&gt;from&lt;/i&gt; the community, and be elected by the community itself through popular vote. We hold regular elections to determine who these community moderators will be.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&#xA;    Community moderators are &lt;a href=&quot;http://blog.stackoverflow.com/2009/05/a-theory-of-moderation/&quot;&gt;accorded the highest level of privilege on our community&lt;/a&gt;, and should themselves be exemplars of positive behavior and leaders within the community.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&#xA;    Our general criteria for moderators is as follows:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;    &lt;li&gt;patient and fair&lt;/li&gt;&#xA;    &lt;li&gt;leads by example&lt;/li&gt;&#xA;    &lt;li&gt;shows respect for their fellow community members in their actions and words&lt;/li&gt;&#xA;    &lt;li&gt;open to some light but firm moderation to keep the community on track and resolve (hopefully) uncommon disputes and exceptions&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;&#xA;    Every election has three phases:&#xA;&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;    &lt;li&gt;Nomination&lt;/li&gt;&#xA;    &lt;li&gt;Primary&lt;/li&gt;&#xA;    &lt;li&gt;Election&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;&#xA;    Please participate in the moderator elections by voting, and perhaps even by nominating yourself to be a community moderator!&#xA;&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://chat.stackexchange.com/rooms/79350/2018-cs-theory-moderator-election-chat&quot;&gt;Election chat room&lt;/a&gt; - discuss the election, candidates, etc.&lt;/li&gt;&#xA;&lt;li&gt;For questions about the election process itself, visit &lt;a href=&quot;https://cstheory.meta.stackexchange.com/tags/election&quot;&gt;Meta&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;&lt;a href=&quot;https://cstheory.meta.stackexchange.com/questions/3008/2018-moderator-election-qa-questionnaire&quot;&gt;The candidates answer your questions!&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="-1" LastEditorUserId="6115" LastEditDate="2018-06-25T20:17:09.207" LastActivityDate="2018-06-25T20:17:09.207" CommentCount="0" ContentLicense="CC BY-SA 4.0" />
  <row Id="20576" PostTypeId="1" CreationDate="2014-01-13T17:06:43.363" Score="1" ViewCount="106" Body="&lt;p&gt;In helping out @bapi-chatterjee on a &lt;a href=&quot;https://cstheory.stackexchange.com/questions/20533/height-of-randomly-built-binary-search-tree-by-insert-and-delete&quot;&gt;BST question&lt;/a&gt; , when it came to teasing out the combinatorics of BST_DELETE(i) I ran into a wall where even under the conservative assumption that the parent tree remains intact, with $k$ children you still have any of the $k!$ insertion sequences to rebuild the children into a new subtree since any legal BST among the children will work.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a survey article on BST deletion algorithms? Most articles simply talk about the &lt;a href=&quot;http://en.wikipedia.org/wiki/Binary_search_tree#Deletion&quot; rel=&quot;nofollow noreferrer&quot;&gt;standard textbook BST delete algorithm&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="2021" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2014-01-13T17:06:43.363" Title="Binary Search Tree DELETE survey" Tags="&lt;ds.data-structures&gt;&lt;combinatorics&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="20578" PostTypeId="1" AcceptedAnswerId="20582" CreationDate="2014-01-14T00:36:32.047" Score="9" ViewCount="620" Body="&lt;p&gt;Foetus, if you have not heard of it, can be read up on &lt;a href=&quot;http://www2.tcs.ifi.lmu.de/~abel/foetus/&quot;&gt;here&lt;/a&gt;. It uses a system of 'call matrices' and 'call graphs' to find all 'recursion behaviors' of recursive calls in a function. To show that a function terminates it shows that all the recursion behaviors of recursive calls made to a function obey a certain 'lexicographic ordering'. It's termination checker allows all primitive recursive functions and functions such the Ackermann function. Basically it allows multi-argument primitive recursion. This is also basically the the termination checker of Agda; I believe that Coq has some similar facilities as well though perhaps more general.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;From reading the paper &lt;a href=&quot;http://www.jucs.org/jucs_10_7/total_functional_programming/jucs_10_07_0751_0768_turner.pdf&quot;&gt;&quot;Total Functional Programming&quot; by D.A. Turner&lt;/a&gt;. He explains that his proposed language would be able to express all &quot;primitive recursive functionals&quot; as seen in System T studied by Godel. He goes on to say that this system is &quot;known to include every recursive function whose totality can be proved in first order logic&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Dose Foetus allow all primitive recursive functionals? If so does it allow functions which are not primitive recursive functionals? Can a citation be provided for the answer to this? (this is not actually necessary as I'm just interested; it's just that some reading marital on the matter would be nice)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Bonus question:&#xA;Primitive recursive functionals have a very concise definition in terms of combinators: typed S and K (that can't express the fixed point combinators), zero, the successor function, and the iteration function; that's it. Are there other more general such languages which have such a concise definition and in which all expressions terminate?&lt;/p&gt;&#xA;" OwnerUserId="21112" LastActivityDate="2014-01-15T11:05:38.310" Title="Is the class of primitive recursion functionals equivalent to the class of functions which Foetus proves to terminate?" Tags="&lt;lo.logic&gt;&lt;computability&gt;&lt;functional-programming&gt;" AnswerCount="3" CommentCount="3" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="20579" PostTypeId="6" CreationDate="2014-01-14T03:59:28.093" Score="0" Body="&lt;p&gt;I have been an active participant in CStheory for a couple of years now, and am one of top rated users. I have also been doing some moderation afforded by my points: closing off topic and inappropriate questions, and reviewing edits. Would be happy to help more as a moderator. &lt;/p&gt;&#xA;" OwnerUserId="4896" LastEditorUserId="4896" LastEditDate="2014-01-14T03:59:28.093" LastActivityDate="2014-01-14T03:59:28.093" CommentCount="1" CommunityOwnedDate="2014-01-14T03:59:28.093" ContentLicense="CC BY-SA 3.0" />
  <row Id="20581" PostTypeId="1" CreationDate="2014-01-14T09:01:04.960" Score="9" ViewCount="245" Body="&lt;p&gt;I'm looking for a reduction that gets a graph $G=(V_G,E_G)$ and outputs a graph $H$ that satisfies the following requirements.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;If $G$ contains a triangle, then $H$ contains a clique of size 9.&lt;/li&gt;&#xA;&lt;li&gt;If $G$ contains no triangles, then $\mathrm{maxclique}(H) \leq 4$.&lt;/li&gt;&#xA;&lt;li&gt;The reduction runs in time $O(|G|) = O(|V_G|+|E_G|)$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;A simple attempt would be to take $H=G\boxtimes K_3$, that is the &lt;a href=&quot;http://en.wikipedia.org/wiki/Strong_product_of_graphs&quot;&gt;strong direct product&lt;/a&gt; of $G$ with $K_3$. This will give 9-vs-6, and not the required 9-vs-4.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another attempt would be to try taking $H=G\boxtimes G$ to be the strong direct product of $G$ with itself. This satisfies the first two requirements, but the running time is quadratic. On the other hand, this construction gives something stronger, namely, if $\mathrm{maxclique}(G)=k$, then $\mathrm{maxclique}(H) = k^2$ regardless of the value of $k$. So maybe there is hope to change this product so that it works only for $k=2,3$ in linear time.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Remark 1:&lt;/strong&gt; Note that we don't expect to have a linear time algorithm for finding a triangle, so I want a &quot;real&quot; reduction, and not an algorithm that looks for triangles in $G$.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Remark 2:&lt;/strong&gt; Alternatively, I'd be happy with an explanation why such reduction is unlikely to exist (e.g., because the 9-vs-4 problem can be solved in linear time).&lt;/p&gt;&#xA;" OwnerUserId="15711" LastEditorUserId="15711" LastEditDate="2014-01-14T11:43:08.753" LastActivityDate="2014-02-10T15:09:12.087" Title="A reduction between small cliques problems" Tags="&lt;reductions&gt;&lt;clique&gt;" AnswerCount="0" CommentCount="4" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="20582" PostTypeId="2" ParentId="20578" CreationDate="2014-01-14T10:54:49.160" Score="7" Body="&lt;p&gt;Yes, the Foetus checker can typecheck everything in Goedel's T. You can show this by using the checker to show that the iteration operator in T is terminating. For example, the following definition will work:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;\begin{array}{lcl}&#xA;\mathit{iter}  &amp;amp; : &amp;amp;  A \to (A \to A) \to \mathbb{N} \to A \\&#xA;\mathit{iter} \;i \;f \;0 &amp;amp; = &amp;amp; i \\&#xA;\mathit{iter} \;i \;f \;(n+1) &amp;amp; = &amp;amp; f\;(\mathit{iter} \;i \;f \;n)  &#xA;\end{array}&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is very easy for the Foetus checker (or most any other termination checker) to check, because it is an obviously structurally recursive definition.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Agda and Coq both permit proving termination of functions that go far beyond what is provably total in first-order arithmetic. The feature which enables this is that they permit defining types by recursion on data, which is called &quot;large elimination&quot;. (In ZF set theory, the &lt;a href=&quot;http://en.wikipedia.org/wiki/Axiom_schema_of_replacement&quot;&gt;axiom scheme of replacement&lt;/a&gt; serves roughly the same purpose.) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;An easy example of something that goes beyond T is the consistency of Goedel's T itself! We can give the syntax as a datatype:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;data T : Set where &#xA;   N : T &#xA;   _⇒_ : T → T → T&#xA;&#xA;data Term : T → Set where &#xA;   zero : Term N&#xA;   succ : Term (N ⇒ N)&#xA;   k    : {A B : T} → Term (A ⇒ B ⇒ A)&#xA;   s    : {A B C : T} → Term ((A ⇒ B ⇒ C) ⇒ (A ⇒ B) ⇒ A ⇒ C)&#xA;   r    : {A : T} → Term (A ⇒ (A ⇒ A) ⇒ N ⇒ A)&#xA;   _·_  : {A B : T} → Term (A ⇒ B) → Term A → Term B&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Note that the type dependency permits us to define a datatype of terms containing only the well-typed terms of T. We can then give an interpretation function for the types:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;interp-T : T → Set &#xA;interp-T N       = Nat &#xA;interp-T (A ⇒ B) = (interp-T A) → (interp-T B)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;This says that &lt;code&gt;N&lt;/code&gt; should be the Agda natural numbers, and T's arrow should be interpreted as the Agda function space. This is a &quot;large&quot; elimination, because we define a &lt;em&gt;set&lt;/em&gt; by recursion on the structure of the datatype T. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;We can then define an interpretation function, showing that every term of Goedel's T can be interpreted by an Agda term:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;interp-term : {A : T} → Term A → interp-T A&#xA;interp-term zero    = 0 &#xA;interp-term succ    = \n → n + 1&#xA;interp-term k       = \x y → x&#xA;interp-term s       = \x y z → x z (y z)&#xA;interp-term r       = Data.Nat.fold &#xA;interp-term (f · t) = (interp-term f) (interp-term t)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;(I don't have Agda on this machine, so there are doubtless some missing imports, fixity declarations, and typos. Fixing that is an exercise for the reader, who can also be an editor, if they like.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I don't know what the consistency strength of Agda is, but Benjamin Werner has shown that the Calculus of Inductive Constructions (Coq's kernel calculus) is equiconsistent with ZFC plus countably many inaccessible cardinals. &lt;/p&gt;&#xA;" OwnerUserId="657" LastActivityDate="2014-01-14T10:54:49.160" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="20583" PostTypeId="2" ParentId="20578" CreationDate="2014-01-14T12:39:38.183" Score="1" Body="&lt;p&gt;If by primitive recursive functionals you mean &lt;a href=&quot;http://en.wikipedia.org/wiki/Primitive_recursive_function&quot; rel=&quot;nofollow&quot;&gt;primitive recursive functions&lt;/a&gt; and you know that Foetus contains the Ackermann function then Foetus does not coincide with the class of p.r. functions as the Ackermann function is not primitive recursive.&#xA;This was shown by Ackermann and later a simplified proof was given by Rosza Peter in &quot;&lt;a href=&quot;http://link.springer.com/article/10.1007%2FBF01472200&quot; rel=&quot;nofollow&quot;&gt;Konstruktion nichtrekursiver Funktionen&lt;/a&gt;&quot; 1935 (unfortunately only in German as far as I know). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you look for larger classes of recursive functions that are guaranteed to terminate which might coincide with the class of functions captured by Foetus then some other work of Rosza Peter might interest you. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The Ackermann function is contained in the class of multiple recursive functions as defined by Rosza Peter in &quot;&lt;a href=&quot;http://link.springer.com/article/10.1007%2FBF01571648&quot; rel=&quot;nofollow&quot;&gt;Uber die mehrfache Rekursion&lt;/a&gt;&quot; 1937. Informally, the idea behind multiple recursion is that you can have multiple recursive variables which can change after a recursive step. For example $f(a,b)$ might call $f(a,b-1)$ or $f(a-1,b)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Yet a stronger class is given by the concept of transfinite recursion described in &quot;&lt;a href=&quot;http://www.jstor.org/discover/10.2307/2268337?uid=3737864&amp;amp;uid=2&amp;amp;uid=4&amp;amp;sid=21103269656597&quot; rel=&quot;nofollow&quot;&gt;Zusammenhang der mehrfachen und transfiniten&#xA;Rekursion&lt;/a&gt;&quot; by Rosza Peter.  For transfinite recursion you have one recursive variable which can call predecessors w.r.t. to a special ordering $&amp;lt;$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, you can interpret an integer as a pair of integers and use the ordering&#xA;$$ (a,b) &amp;lt; (c,d) \iff ( a &amp;lt; c \wedge b \leq d ) \vee ( a \leq c \wedge b &amp;lt; d )$$ &#xA;This can be generalized for triples of integers and so on. Peter calls these orderings $\omega^2, \omega^3$ and so on. &#xA;You can go one step further and interpret an integer as an arbitrary number of integers. Let $p_i$ be the $i$-th prime number. Then we can consider $z = p_1^{n} \cdot p_2^{x_1} \cdot p_3^{x_2} \cdot \dots$ where $n$ denotes the number of integers encoded in $z$ and the $x_i$'s contain the resp. value. She denotes an ordering for such a list of integers as $\omega^\omega$ and shows by diagonalization that this kind of recursion is stronger than multiple recursion. However, I'm not sure if there is a syntactical characterization of this class. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;[edit] Primitive recursive functions are not the same as primtive recursive functionals as noted in the comment below. Yet I think one could transfer the concept of transfinite recursion to functionals. However, it isn't clear whether it still is more powerful w.r.t. a functional setting.&lt;/p&gt;&#xA;" OwnerUserId="17410" LastEditorUserId="17410" LastEditDate="2014-01-15T11:05:38.310" LastActivityDate="2014-01-15T11:05:38.310" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="20584" PostTypeId="1" CreationDate="2014-01-14T15:35:52.477" Score="2" ViewCount="142" Body="&lt;p&gt;It is a well known fact that a permutation is a set of cycles, and that one can find all cycles of a permutation in $O(n)$ time, where $n$ is the length of the permutation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But suppose that we know that the number of cycles in the permutation is less than a fixed number $k$. Can we find $k$ distinct elements belonging to the $k$ cycles in less than $O(n)$ time? Clearly, if $k=1$ this is true. But is it true for all $k$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More specifically, suppose we know that $k$ is $O(log{\text{ n}})$, does this information help in anyway? I'm interested in understanding the time complexity of this problem, but if it's possible to give an efficient randomized algorithm for this problem, that will also be interesting in itself.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have tried to find papers on this topic without any luck so any relevant paper or material will be greatly appreciated.  &lt;/p&gt;&#xA;" OwnerUserId="5789" LastEditorUserId="612" LastEditDate="2014-01-14T16:11:00.290" LastActivityDate="2014-01-14T17:14:51.860" Title="Complexity of determining unique elements of each cycle in a permutation" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;time-complexity&gt;&lt;randomized-algorithms&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="20585" PostTypeId="2" ParentId="20584" CreationDate="2014-01-14T17:14:51.860" Score="3" Body="&lt;p&gt;Even for $k=2$ when the instance may have two cycles of length $n/2$, &#xA;any sublinear algorithm can only build chains of length $\ll n/4$, so no deterministic algorithm can guarantee that the two vertices it outputs belong to distinct cycles. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I doubt (though I am not sure and do not have a proof) that the problem would admit a solution in sublinear expected time even for algorithms with probabilistic guarantees. &lt;/p&gt;&#xA;" OwnerUserId="20726" LastActivityDate="2014-01-14T17:14:51.860" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20586" PostTypeId="1" AcceptedAnswerId="20603" CreationDate="2014-01-14T18:22:09.937" Score="3" ViewCount="392" Body="&lt;p&gt;My question is given a set of 2d polygons how can I find the connected components of polygons according to a criteria based on intersection or proximity of them.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In other words I have a set of polygons. I want to group them into subsets where each polygon has at least one intersection with (one or more) other polygon(s) of the subset and no intersections with any other polygon in a different subset. &#xA;So if I have S = {A, B, C, D} and A intersects C and C intersects D the resulting partitions are: P1 = {A, C, D} and P2 = {B}. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I don't have any problems with an good approximate solution if its fast and doesn't generate false negatives (i.e. no (potential) intersection is lost).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I don't need to actually calculate the intersections just determine if they intersect. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In my case the polygons are complex but if a known answer only works for concave or simple polygons I would still like to know about  it!   &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am actually not sure how to phrase this question which may account for my lack of findings of relevant papers. &lt;/p&gt;&#xA;" OwnerUserId="6679" LastActivityDate="2014-01-16T17:35:13.543" Title="Partitioning a set of 2d polygons into intersection-connected subsets" Tags="&lt;polygon&gt;&lt;computational-geometry&gt;" AnswerCount="3" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="20587" PostTypeId="1" CreationDate="2014-01-14T19:26:40.960" Score="12" ViewCount="532" Body="&lt;p&gt;I am interested in knowing how we can use the concepts of Limits and Colimits in modeling problems in every day life? Could anyone provide (Software) engineering examples, perhaps? Or describe intuitively in general for what sorts of modeling problems we can use these concepts? Thank you.&lt;/p&gt;&#xA;" OwnerUserId="21123" LastActivityDate="2015-01-05T17:23:35.970" Title="What are the uses of Limits and Colimits of Category Theory in every day problems?" Tags="&lt;ct.category-theory&gt;" AnswerCount="4" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="20588" PostTypeId="2" ParentId="20578" CreationDate="2014-01-14T19:45:58.913" Score="3" Body="&lt;p&gt;As means of clarification, I should note that Foetus is developed by &lt;a href=&quot;http://www2.tcs.ifi.lmu.de/~abel/index.html&quot; rel=&quot;nofollow&quot;&gt;Andreas Abel&lt;/a&gt;, who also developed the &lt;a href=&quot;http://www2.tcs.ifi.lmu.de/~abel/diplomathesis.pdf&quot; rel=&quot;nofollow&quot;&gt;original termination checker for Agda&lt;/a&gt;, and worked on &lt;a href=&quot;http://www2.tcs.ifi.lmu.de/~abel/publications.html#diss&quot; rel=&quot;nofollow&quot;&gt;more advanced termination techniques&lt;/a&gt; since.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The answer to your question might be a bit disappointing: the class of functions from $\mathbb{N}$ to $\mathbb{N}$ is &lt;strong&gt;exactly&lt;/strong&gt; the functions that can be defined in system $\mathrm{F}$. The reason for this: the aforementioned class is equal to the provably terminating functions in Second Order Arithmetic ($\mathrm{PA}^2$) which in turn is equal to the functions definable in system $\mathrm F$ (see e.g. &lt;a href=&quot;http://www.paultaylor.eu/stable/Proofs+Types.html&quot; rel=&quot;nofollow&quot;&gt;Proofs and Types&lt;/a&gt;, chapter 11). Furthermore, if you remove the polymorphism, then you fall down to functions definable in $\mathrm{PA}$, which happens to coincide with those definable in system $\mathrm{T}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Again, the reson for this is that the decrease captured by the &quot;call matrices&quot; is &lt;strong&gt;provably well-founded&lt;/strong&gt;, and that proof can be carried out entirely in $\mathrm{PA}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, this doesn't mean that Foetus is not more &lt;strong&gt;useful&lt;/strong&gt; than system $\mathrm{T}$! In practice, more complex termination analyses are required to be able to accept certain &lt;strong&gt;presentations&lt;/strong&gt; of computable functions. You don't want to have to do a complicated proof in Peano Arithmetic every time you write a unification function, for example. So in this respect, Foetus is very powerful, and allows you to define functions in a way which wouldn't be accepted by either Coq, Agda or any other common proof system.&lt;/p&gt;&#xA;" OwnerUserId="3984" LastActivityDate="2014-01-14T19:45:58.913" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="20589" PostTypeId="2" ParentId="1814" CreationDate="2014-01-14T20:47:20.197" Score="4" Body="&lt;p&gt;A friend of mine and me have decided to try the brute-force method and compute some values of $t$ for small values of $n$ and $d$. This is totally impossible without employing pruning, and we hope that the tricks we have found will give some insight in the rest of the problem. So far, we have not managed to get the doubly-exponential running time of the brute force method down significantly (roughly $3^{2^n}$ is our best bound so far) and hence we have not yet reached our original goal of somehow predicting the function behind $f$ from its first few values. We have also not studied all the comments of the previous threads in detail, so some of this may already be known - we basically had fun making our code fast and wanted to post our results somewhere, if I had a functioning LaTeX environment I would have put this on the ArXiV.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Code (it's not exactly production code...): &lt;a href=&quot;http://pastebin.com/bSetW8JS&quot; rel=&quot;nofollow&quot;&gt;http://pastebin.com/bSetW8JS&lt;/a&gt;. Values:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;f(d=2, n)=2n-1 for n &amp;lt;= 6&#xA;&#xA;f(d=3, n=3) = 6&#xA;{} {0} {01} {012} {12} {2}&#xA;&#xA;f(d=4, n=4) = 8&#xA;f(d=3, n=4) = 8&#xA;{} {0} {01} {1,02,03} {2,13} {123} {23} {3}&#xA;{} {0} {01} {2,013} {1,02,03} {023} {23} {3}&#xA;&#xA;f(d=5, n=5) = 11&#xA;f(d=4, n=5) = 11&#xA;f(d=3, n=5) = 11&#xA;{} {0} {01} {1,02} {2,13,04} {12,03,14} {3,124} {23,24} {234} {34} {4}&#xA;{} {0} {01} {1,02} {2,13,04} {12,03,14} {3,124} {23,24} {234} {34} {4}&#xA;{} {0} {01} {012,3} {02,12,013,014} {13,023,04,124} {123,024} {23,24} {234} {34} {4}&#xA;{} {0} {01} {012,13} {02,12,013} {03,123,014,024} {023,124} {23,24} {234} {34} {4}&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;We say that the sequence ${\cal F}_1, ..., {\cal F}_t$ is &lt;em&gt;convex&lt;/em&gt; if (*) holds. Our approach constructs convex sequences by appending families to shorter convex sequences, essentially using that if ${\cal F}_1, ..., {\cal F}_t$ is convex, then ${\cal F}_1, ..., {\cal F}_{t-1}$ is convex. We note that ${\cal F}_1, ..., {\cal F}_t$ is convex if and only if for all $A \in {\cal F}_t$ we have that ${\cal F}_1, ..., {\cal F}_{t-1}, \{ A \}$ is convex. We say that $A$ is &lt;em&gt;compatible&lt;/em&gt; with ${\cal F}_1, ..., {\cal F}_{t-1}$ if ${\cal F}_1, ..., {\cal F}_{t-1}, \{ A \}$ is convex - we save computation time by computing the sets that are compatible with a sequence and then taking the elements of their powerset as the new ${\cal F}_t$, rather than determining if ${\cal F}_1, ..., {\cal F}_t$ is convex directly.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Our next speedup is essentially dynamic programming. We try to find an equivalence relation $\sim$ on convex sequences with the following two properties. First, if ${\cal F}_1, ..., {\cal F}_t \sim {\cal F}'_1, ..., {\cal F}'_t$ for two convex sequences, then $A$ is compatible with ${\cal F}_1, ..., {\cal F}_t$ if and only if it is compatible with ${\cal F}'_1, ..., {\cal F}'_t$. Second, if ${\cal F}_1, ..., {\cal F}_t \sim {\cal F}'_1, ..., {\cal F}'_t$ and ${\cal F}_1, ..., {\cal F}_t, {\cal F}_{t+1}$ is convex, then ${\cal F}_1, ..., {\cal F}_t, {\cal F}_{t+1} \sim {\cal F}'_1, ..., {\cal F}'_t, {\cal F}_{t+1}$. Furthermore, we would like it if we can determine whether a set is compatible with elements from an equivalence class, and determine a representative of the equivalence class of ${\cal F}_1, ..., {\cal F}_t, {\cal F}_{t+1}$ given ${\cal F}_{t+1}$ and a representative of the equivalence class of ${\cal F}_1, ..., {\cal F}_t$. The ensuing dynamic programming algorithm is then obvious. The number of equivalence classes (along with the time taken by the above two operations) then gives a bound on the running time of the obvious dynamic programming algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the equivalence we use to get our bound, we use a characterization of convexity that is based on `intervals' as follows. Given a subset $A$ of $\{ 1, \dots, n \}$, we say $A$ is &lt;em&gt;contiguous&lt;/em&gt; with respect to a (not necessarily convex) sequence ${\cal F}_1, ..., {\cal F}_t$ if $\{ k \mid \exists B \in {\cal F}_k : A \subseteq B \} = \{ i, \dots, j \}$ for some integers $1 \leq i \leq j \leq n$. We say that $(i, j)$ is the interval for $A$ w.r.t. this sequence. It is easily seen that ${\cal F}_1, ..., {\cal F}_t$ is convex if and only if all subsets of $\{ 1, \dots, n \}$ are contiguous with respect to the sequence.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, given a convex sequence ${\cal F}_1, ..., {\cal F}_t$, we mark all subsets of $\{ 1, \dots, n \}$ as &lt;em&gt;not touched&lt;/em&gt;, &lt;em&gt;disallowed&lt;/em&gt; or &lt;em&gt;active&lt;/em&gt; as follows: all elements of ${\cal F}_t$ are active, all elements of ${\cal F}_1, ..., {\cal F}_{t-1}$ are disallowed and all supersets $B$ of sets $A$ whose interval with respect to ${\cal F}_1, ..., {\cal F}_{t-1}$ is $(i, j)$ with $j &amp;lt; t - 1$ are also disallowed. It is immediate that a set $A$ is compatible with the sequence if and only if it is marked as not touched. We define two sequences as equivalent under $\sim$ if their marking is equal. It is easily seen that this equivalence relation satisfies our two properties. For computing whether a set $B$ should be disallowed by the interval condition, we can use the equivalent condition 'there exists a set $C \in {\cal F}_t$ such that for no set $D \in {\cal F}_{t+1}$, $B \cap C \subseteq D$'. $3^{2^n}$ is an immediate bound on the number of equivalence classes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We also use various extra prunings. We only consider antichains for ${\cal F}_{t+1}$ and we require that the elements of its elements come from ${1, \dots, i}$. Lastly, we use the optimization that ${\cal F}_1 = \{ \{ 1 \} \}, {\cal F}_2 = \{ \{ 1, 2 \} \}$ for optimally long sequences (and similar for ${\cal F}_{t-1}$ and ${\cal F}_t$). We imagine that investigating the behaviour of ${\cal F}_3$ may result in more drastic savings.&lt;/p&gt;&#xA;" OwnerUserId="988" LastActivityDate="2014-01-14T20:47:20.197" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20592" PostTypeId="1" AcceptedAnswerId="20637" CreationDate="2014-01-15T06:46:27.287" Score="6" ViewCount="307" Body="&lt;p&gt;For $f(n)\ge n$, &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\mathsf{DSPACE}(f(n)) \subseteq \mathsf{DTIME}(2^{O(f(n))}).$$ &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there any function $f$ for which this containment is known to be proper?&lt;/p&gt;&#xA;" OwnerUserId="16737" LastEditorUserId="-1" LastEditDate="2014-01-18T17:03:00.190" LastActivityDate="2014-01-18T17:05:17.900" Title="Separating $DSPACE(f)$ and $DTIME(2^f)$: is there any function computable in time $2^{O(f)}$ but not in space $O(f)$?" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;" AnswerCount="1" CommentCount="8" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="20593" PostTypeId="1" CreationDate="2014-01-15T11:52:47.233" Score="2" ViewCount="78" Body="&lt;p&gt;Are there any works where authors tried to define weighted finite state automata over hyperreals (or a similar object allowing for infinite and infinitesimal values) in an attempt to make automata properly behave for any assignment of weights?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the probability semiring, for instance, epsilon loops with weight $\geq 1$ present a problem since they define an automaton with infinite values (as explained in &lt;a href=&quot;http://biblio.telecom-paristech.fr/cgi-bin/download.cgi?id=13444&quot; rel=&quot;nofollow&quot;&gt;this&lt;/a&gt; paper). An introduction of hyperreals can possibly make such an automaton properly defined, and, furthermore, normalizable (meaning that there exists such a quantity $Z$ that sum values of the automaton on all sequences divided by $Z$ equals to $1$).&lt;/p&gt;&#xA;" OwnerUserId="16629" LastActivityDate="2014-01-15T11:52:47.233" Title="WFSA over hyperreals" Tags="&lt;reference-request&gt;&lt;automata-theory&gt;&lt;probabilistic-automata&gt;" AnswerCount="0" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="20594" PostTypeId="1" AcceptedAnswerId="21004" CreationDate="2014-01-15T18:44:26.523" Score="4" ViewCount="303" Body="&lt;p&gt;How efficiently can we decide that a number $P$ is the result of the factorial of another number $N$ (i.e. $P = N!$)? Notice that $P$ and $N$ are both integers and we are only given $P$.&lt;/p&gt;&#xA;" OwnerUserId="20927" LastEditorUserId="20927" LastEditDate="2014-02-13T19:23:43.607" LastActivityDate="2014-02-13T23:15:36.687" Title="Factoriality testing algorithms and their efficiency" Tags="&lt;ds.algorithms&gt;" AnswerCount="2" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="20595" PostTypeId="2" ParentId="20586" CreationDate="2014-01-15T18:48:25.977" Score="2" Body="&lt;p&gt;Make an undirected graph where each vertex corresponds to a polygon and link any pair of vertices if their corresponding polygons overlap.  Then run whatever connected component labeling algorithm you like on the result.&lt;/p&gt;&#xA;" OwnerUserId="559" LastActivityDate="2014-01-15T18:48:25.977" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20596" PostTypeId="1" CreationDate="2014-01-15T19:00:05.410" Score="17" ViewCount="664" Body="&lt;p&gt;Following Josh Grochow's suggestion, I am converting my comment from a previous &lt;a href=&quot;https://cstheory.stackexchange.com/q/14791/4896&quot;&gt;question&lt;/a&gt; into a new question.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What evidence do we have for $\mathsf{UP} \neq \mathsf{NP}$?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Here &lt;a href=&quot;https://complexityzoo.uwaterloo.ca/Complexity_Zoo:U#up&quot; rel=&quot;nofollow noreferrer&quot;&gt;$\mathsf{UP}$&lt;/a&gt; is the class of languages recognizable by polynomial time non-deterministic Turing machines that have a unique accepting path on &quot;yes&quot; instances and no accepting path on &quot;no&quot; instances. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Obviously $\mathsf{UP} \subseteq \mathsf{NP}$, but why would we believe that the containment is strict? The evidence I can find is &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=322306&quot; rel=&quot;nofollow noreferrer&quot;&gt;oracle separation&lt;/a&gt;: subject to a random oracle, $\mathsf{P} \subsetneq \mathsf{UP} \subsetneq \mathsf{NP}$. Also, the Complexity Zoo suggests that $\mathsf{UP}$ is not believed to have complete problems.&lt;/p&gt;&#xA;" OwnerUserId="4896" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2014-02-14T11:33:20.173" Title="What evidence do we have for $\mathsf{UP} \neq \mathsf{NP}$?" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;conditional-results&gt;&lt;unique-solution&gt;" AnswerCount="1" CommentCount="7" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="20597" PostTypeId="2" ParentId="20594" CreationDate="2014-01-15T20:31:21.223" Score="3" Body="&lt;p&gt;If you want to use primes a &lt;a href=&quot;http://www.cecm.sfu.ca/personal/pborwein/PAPERS/P29.pdf&quot; rel=&quot;nofollow&quot;&gt;result by Peter Borwein&lt;/a&gt; is $O(log log n M( n log n))$ where $n$ is the bits of $P$ and $M$ is the run time of your fast multiplication algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have created a &lt;a href=&quot;https://gist.github.com/chadbrewbaker/8445183&quot; rel=&quot;nofollow&quot;&gt;worksheet&lt;/a&gt; in Ruby to demonstrate a few. Even for $N=10000$ you get at least twice the speed of the brute force approach.&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;              user     system      total        real&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Primal: 4.742000 0.296000 5.038000 ( 5.045505)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Primal memo: 0.921000 0.000000 0.921000 ( 0.910091)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Brute: 10.186000 1.560000 11.746000 ( 11.760176)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;interval 5: 0.500000 0.000000 0.500000 ( 0.496049)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;interval 10: 0.514000 0.000000 0.514000 ( 0.511051)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;interval 100: 0.515000 0.031000 0.546000 ( 0.539054)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;interval 512: 0.515000 0.047000 0.562000 ( 0.574058)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Unique values (should be 1): 1&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some things to note. Cache efficiency matters once numbers get large enough. Also $M(n)$ is a bad bound of the fast multiplication run time. You want to use $M(a,b)$ because multiplying a huge number repeatedly by small numbers is a waste when you can reduce the small ones first.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As requested by @Artem if $N$ is not specified then you have to do a bit more book-keeping.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It helps if you look at N! in binary: 1, 10, 110, 11000, 1111000, 1011010000, 1001110110000&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Notice the number of trailing zeros identifies $N$ within one. See &lt;a href=&quot;https://oeis.org/A011371&quot; rel=&quot;nofollow&quot;&gt;https://oeis.org/A011371&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Compute the factorial of $N=2k$ using Borwien's method and match it against $P$, if necessary multiply one more number to get $N=2k+1$.&lt;/p&gt;&#xA;" OwnerUserId="2021" LastEditorUserId="2021" LastEditDate="2014-02-13T23:15:36.687" LastActivityDate="2014-02-13T23:15:36.687" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="20599" PostTypeId="1" AcceptedAnswerId="20601" CreationDate="2014-01-16T00:15:20.583" Score="11" ViewCount="262" Body="&lt;p&gt;I am looking for a complexity class that relates to APX as BPP relates to P. I have already asked the same question &lt;a href=&quot;https://cs.stackexchange.com/questions/19583/almost-always-almost-right&quot;&gt;here&lt;/a&gt;, but perhaps TCS would be a more fruitful location for answers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The reason for the question is that in practical problems one often needs to find approximate answers (thus APX) with sufficiently high confidence (thus BPP), which would make the class of problems with bounded probabilistic approximation algorithms potentially a useful model of what's computable in practice.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A possible candidate of such class would be $APX^{BPP}$: problems that admit approximated solutions with bounded probabilistic subroutines; however, I'm not confident that such class would be the appropriate setting for the class probabilistically computable approximations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Both BPP and APX have been extensively studied. Is that the case for $APX^{BPP}$, or whichever class would be the best to capture the above problems?&lt;/p&gt;&#xA;" OwnerUserId="21132" LastEditorUserId="-1" LastEditDate="2017-04-13T12:48:30.830" LastActivityDate="2014-01-16T02:11:07.800" Title="Almost always almost right" Tags="&lt;cc.complexity-theory&gt;&lt;approximation-hardness&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="20601" PostTypeId="2" ParentId="20599" CreationDate="2014-01-16T02:11:07.800" Score="1" Body="&lt;p&gt;For any given objective function, let BotL (best-of-the-list) be the algorithm that evaluates the objective function on a set of inputs and returns an input from that list that had maximal output (from among those inputs), with ties broken arbitrarily. $\:$ Since APX only includes problems&#xA;&lt;br&gt;&#xA;who's objective function can be computed in deterministic polynomial time, BotL can be implemented deterministically in polynomial time. $\:$ Furthermore, the value returned by BotL&#xA;&lt;br&gt;&#xA;is at least as good as any of inputs in the least that BotL was evaluated on. $\:$ In particular,&#xA;&lt;br&gt;&#xA;if any of the inputs in that list is good-enough then BotL's output will be good-enough.&#xA;&lt;br&gt;&#xA;Therefore running BotL on the outputs of a sufficiently large number of independent executions of a base algorithm can amplify the success probability from 1/poly to 1-(1/(2^poly)).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As consequence of the preceding paragraph, the precise&#xA;&lt;br&gt;&#xA;confidence level essentially does not affect the resulting class.&#xA;&lt;br&gt;&#xA;(This situation is highly analogous to &lt;a href=&quot;http://en.wikipedia.org/wiki/RP_%28complexity%29&quot; rel=&quot;nofollow&quot;&gt;RP&lt;/a&gt;.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I was not able to find anything about that on the complexity zoo, although there&#xA;&lt;br&gt;&#xA;might have been talks on it given at the workshop referred to in &lt;a href=&quot;http://www.dcs.ed.ac.uk/home/mrj/RAND-APXworkshop/report.ps&quot; rel=&quot;nofollow&quot;&gt;this paper&lt;/a&gt;.&#xA;&lt;br&gt;&lt;br&gt;&lt;/p&gt;&#xA;" OwnerDisplayName="user6973" LastActivityDate="2014-01-16T02:11:07.800" CommentCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="20602" PostTypeId="2" ParentId="2562" CreationDate="2014-01-16T03:25:34.187" Score="-3" Body="&lt;p&gt;A stack may be implemented using two queues by using the second queue as a b&#xA;uffer. &#xA;When items are pushed onto the stack they are added onto the end of the queue. Each &#xA;time an item is popped, the &#xA;n&#xA;–&#xA;1 elements of the first queue must be moved to the &#xA;second, while the remaining item is returned.&#xA;public&#xA;class&#xA;QueueStack &#xA;implemen&#xA;ts&#xA;IStack&#xA;{&#xA;private&#xA;IQueue q1 = &#xA;new&#xA;Queue();&#xA;private&#xA;IQueue q2 = &#xA;new&#xA;Queue();&#xA;public&#xA;void push( E e )&#xA;{&#xA;q1.enqueue( e )&#xA;//&#xA;O&#xA;(&#xA;1&#xA;)&#xA;}&#xA;public&#xA;E pop( E e )&#xA;{&#xA;while&#xA;( 1 &amp;lt; q1.size() )&#xA;// &#xA;O&#xA;(&#xA;n&#xA;)&#xA;{&#xA;q2.enqueue( q1.dequeue() );&#xA;}&#xA;sw&#xA;apQueues();&#xA;return&#xA;q2.dequeue();&#xA;}&#xA;p&#xA;rivate&#xA;void swapQueues()&#xA;{&#xA;IQueue Q = q2;&#xA;q2 = q1;&#xA;q1 = Q;&#xA;}&#xA;}&lt;/p&gt;&#xA;" OwnerUserId="21133" LastActivityDate="2014-01-16T03:25:34.187" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="20603" PostTypeId="2" ParentId="20586" CreationDate="2014-01-16T04:06:29.193" Score="3" Body="&lt;p&gt;What you want is to find the connected components of the intersection graph of the polygons, right? It would help to be more clear about what counts as an intersection: do the boundaries have to cross or does one polygon entirely inside another count as an intersection? And can the polygons have holes?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Regardless, a natural lower bound for running times for the problem is $\Omega(n^{4/3})$ where $n$ is the total number of segments in the input. Any faster and we could also improve the known time bounds for Hopcroft's problem of detecting an intersection between $n$ given points and $n$ given lines: expand each point into a small polygon (not so large that it intersects any line it didn't before) and test whether any of these expanded points belongs to a nontrivial connected component. This lower bound is mentioned briefly in my paper &quot;&lt;a href=&quot;http://arxiv.org/abs/cs.CG/0307023&quot; rel=&quot;nofollow&quot;&gt;Testing Bipartiteness of Geometric Intersection Graphs&lt;/a&gt;&quot; which uses it to argue that bipartiteness of intersection graphs is strictly easier than connectivity; it in turn cites Jeff Erickson's paper &quot;&lt;a href=&quot;http://compgeom.cs.uiuc.edu/~jeffe/pubs/hopcroft.html&quot; rel=&quot;nofollow&quot;&gt;New lower bounds for Hopcroft’s problem&lt;/a&gt;&quot;, which proves an $\Omega(n^{4/3})$ lower bound in a reasonable but limited model of computation.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2014-01-16T04:06:29.193" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="20605" PostTypeId="1" CreationDate="2014-01-16T10:25:29.390" Score="0" ViewCount="68" Body="&lt;p&gt;I am interested in an algorithm that allows me to construct all inequivalent (non-isomorpic) digraphs of size n with self-loops allowed. For example, the output should look like this:&#xA;&lt;img src=&quot;https://i.stack.imgur.com/qKA9K.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Even though it is trivial to simply construct all such digraphs, I believe that the requirement that non-isomorphic graphs should appear only once makes the problem very difficult. Of course, we can always construct all of them and drop the duplicates but this approach is too slow. Ideally I would like an algorithm that just creates the inequivalent ones by construction.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does such a thing exist? Any ideas or references would be most welcome.&#xA;Descriptions of the algorithm either in a diagrammatic form or in terms of adjacency matrices are equally acceptable. Thanks in advance!&lt;/p&gt;&#xA;" OwnerUserId="21139" LastActivityDate="2014-01-16T10:37:47.990" Title="Constructing all digraphs without repetitions" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;" AnswerCount="0" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="20608" PostTypeId="1" AcceptedAnswerId="20610" CreationDate="2014-01-16T11:55:58.217" Score="10" ViewCount="278" Body="&lt;p&gt;A deterministic automaton $\mathcal A = (X, Q, q_0, F, \delta)$ is called $k$-local  for $k &amp;gt; 0$ if for every $w \in X^k$ the set $\{ \delta(q,w) : q \in Q \}$ contains at most one element. Intuitively that means if a word $w$ of length $k$ leads to a state, then this state is unique, or said differently from an arbitrary word of length $&amp;gt; k$ the last $k$ symbols determine the state it leads to.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now if an automaton is $k$-local, then it need not be $k'$-local for some $k' &amp;lt; k$, but it has to be $k'$-local for $k' &amp;gt; k$ cause the last symbols of some word $|w| &amp;gt; k$ determine the state, if any, uniquely.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now I try to connect the number of states and the $k$-localness of an automaton. I conjecture:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Lemma:&lt;/strong&gt; Let $\mathcal A = (X,Q,q_0,F,\delta)$ be $k$-local, if $|Q| &amp;lt; k$ then the automaton is also $|Q|$-local.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;But I failed to proof, any suggestions or ideas?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I hope by this Lemma to derive something about the number of states of an automaton which is not $k$-local for all $k \le N$ given a fixed $N &amp;gt; 0$, but $k$-local for some $k &amp;gt; N$.&lt;/p&gt;&#xA;" OwnerUserId="17672" LastEditorUserId="2367" LastEditDate="2014-07-20T12:42:31.410" LastActivityDate="2014-07-20T12:42:31.410" Title="The number of states of local automata" Tags="&lt;fl.formal-languages&gt;&lt;automata-theory&gt;&lt;synchronization&gt;" AnswerCount="2" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20609" PostTypeId="1" CreationDate="2014-01-16T12:03:36.833" Score="13" ViewCount="854" Body="&lt;p&gt;I am trying to understand to which complexity class the following problem belongs:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Exponentiating Polynomial Root Problem (EPRP)&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $p(x)$ be a polynomial with $\deg(p) \geq 0$ with coefficients drawn from a finite field $GF(q)$ with $q$ a prime number, and $r$ a primitive root for that field. Determine the solutions of:&#xA;$$p(x) = r^x $$&#xA;(or equivalently, the zeros of $p(x) - r^x$) where $r^x$ means exponentiating $r$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that, when $\deg(p)=0$ (the polynomial is a constant), this problem reverts to the Discrete Logarithm Problem, which is believed to be NP-Intermediate, i.e. it is in NP but neither in P nor NP-complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To the best of my knowledge, efficient (polynomial) algorithms to solve this problem  do not exist (Berlekamp and Cantor–Zassenhaus algorithms require exponential time). Finding roots to such equation can be done in two ways:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Try all possible items $x$ in the field, and check whether they&#xA;satisfy the equation or not. Clearly, this requires exponential time in the bitsize of the field&#xA;modulus;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The exponential $r^x$ can be rewritten in polynomial form, by using&#xA;Lagrange interpolation to interpolate the points&#xA;$\{(0,r^0),(1,r^1),\ldots,({q-1},r^{q-1})\}$, determining a&#xA;polynomial $f(x)$. This polynomial is &lt;em&gt;identical&lt;/em&gt; to $r^{x}$ precisely because we are working on a finite field. Then, the difference $p(x) - f(x)$, can be&#xA;factored in order to find the roots of the given equation (using&#xA;Berlekamp or Cantor–Zassenhaus algorithms) and the roots read off the factors. However, this approach is&#xA;even worse than exhaustive search: since, on average, a polynomial&#xA;passing by $n$ given points will have $n$ non-null coefficients, even&#xA;only the input to Lagrange interpolation will require exponential&#xA;space in the field bit size.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Does anyone know if this problem is believed to be NP-intermediate as well or belonging to any other complexity class ? A reference will be greatly appreciated. Thanks.&lt;/p&gt;&#xA;" OwnerUserId="4208" LastEditorUserId="4208" LastEditDate="2014-01-21T19:55:29.257" LastActivityDate="2014-01-22T17:09:05.173" Title="Complexity class of this problem?" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;comp-number-theory&gt;&lt;np-intermediate&gt;" AnswerCount="1" CommentCount="15" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="20610" PostTypeId="2" ParentId="20608" CreationDate="2014-01-16T14:07:51.440" Score="7" Body="&lt;p&gt;Since you say that $T_w:=\{\delta(q,w):q\in Q\}$ should have &lt;em&gt;at most&lt;/em&gt; one element, I'll assume that you use the version of DFA where $\delta$ can be partial. Then this is a counterexample: $X=\{a,b\}, Q=\{0,1,2,3,4\},\delta(q,a)=q+1$ for $q&amp;lt;4$, and $\delta(1,b)=2,\delta(2,b)=3,\delta(4,b)=0$. $F$ and $q_0$ obviously don't matter for this question. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The automaton is $6$-local, but not $5$-local, since $T_{abaab} = \{0,3\}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit: this counterexample does not work, I'll keep it so that the comments make sense. The following does, though.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Take $X=\{a,b\}, Q=\{0,1,2,3\}$, with transitions $0\to 1(a),1\to 2(a), 2\to 3(a), 2\to 0(b), 3\to 2(b)$. This automaton is $5$-local, but not $4$-local: for $aaba$, we get the paths $0\to 1\to 2\to 0\to 1$ and $1\to 2\to 3\to 2\to 3$, i.e. $T_{aaba}=\{1,3\}$. &lt;/p&gt;&#xA;" OwnerUserId="5183" LastEditorUserId="5183" LastEditDate="2014-01-16T17:56:54.120" LastActivityDate="2014-01-16T17:56:54.120" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="20613" PostTypeId="1" AcceptedAnswerId="20620" CreationDate="2014-01-16T17:15:39.683" Score="4" ViewCount="696" Body="&lt;p&gt;Let us consider a complete weighted graph, with $NM$ nodes.&#xA;Our objective is to find, among all possible combinations of $N$ disjoint $M$-cliques (each clique consisting of $M$ nodes), the configuration that maximizes/minimizes the sum of the $N$ $M$-cliques weights.&#xA;Here the weight of a $M$-clique is the sum of the edge weights between all the $M$ nodes composing the clique.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It sounds like a classical mathematical problem, but I have been spending hours without finding anything.&#xA;The special case where $M=2$ consists of a maximal weighted matching problem in a complete graph and can be solved using Edmonds Matching Algorithm, but I can't find anything for $M&amp;gt;2$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there an efficient algorithm for this problem?&lt;/p&gt;&#xA;" OwnerUserId="21141" LastEditorUserId="5038" LastEditDate="2014-01-17T00:27:16.147" LastActivityDate="2014-01-21T15:43:58.423" Title="M-clique covers in complete graphs" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;clique&gt;" AnswerCount="3" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="20615" PostTypeId="2" ParentId="20586" CreationDate="2014-01-16T17:35:13.543" Score="2" Body="&lt;p&gt;To expand on Mikola's answer, you could modify a sweep-line algorithm like the Bentley-Ottman algorithm (&lt;a href=&quot;http://en.wikipedia.org/wiki/Bentley&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/Bentley&lt;/a&gt;–Ottmann_algorithm) to detect the crossings, and maintain an auxiliary graph structure where each polygon is represented by a vertex. Mark each line segment with its polygon's representative graph vertex. Each time you detect a crossing between two line segments from different polygons, add an edge between the corresponding vertices of the auxiliary graph (if one does not already exist). In the end, the connected components of the auxiliary graph will give you exactly what you want.&lt;/p&gt;&#xA;" OwnerUserId="17504" LastActivityDate="2014-01-16T17:35:13.543" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="20617" PostTypeId="1" CreationDate="2014-01-16T18:57:00.327" Score="1" ViewCount="1101" Body="&lt;p&gt;I am not a researcher in algorithms (I am a college freshman).&#xA;I would like to implement an interesting recent algorithm from &#xA;a data structure/algorithms paper.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;How can find a good algorithms paper to implement?&lt;/p&gt;&#xA;" OwnerUserId="21145" LastEditorUserId="186" LastEditDate="2014-01-18T18:03:17.680" LastActivityDate="2014-01-18T18:03:17.680" Title="How to find interesting algorithms to implement?" Tags="&lt;ds.algorithms&gt;&lt;soft-question&gt;" AnswerCount="0" CommentCount="10" ContentLicense="CC BY-SA 3.0" />
  <row Id="20619" PostTypeId="2" ParentId="20613" CreationDate="2014-01-17T00:32:38.947" Score="1" Body="&lt;p&gt;There is of course a formulation of this as an integer linear program (ILP).  There's no reason to expect it to run in polynomial time, but off-the-shelf ILP servers are pretty good so it might yield decent solutions in practice if your graph isn't too large.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In particular, let $x_{i,v}$ be a 0-or-1 integer variable, with the intended meaning that $x_{i,v}=1$ means that the $i$th clique contains vertex $v$.  We obtain the linear equations&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\sum_{v \in V} x_{i,v} = M$$&#xA;$$\sum_i x_{i,v} = 1$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;and the inequalities $0 \le x_{i,v} \le 1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Next, let $y_{i,u,v}$ be a 0-or-1 integer variable, with the intended meaning that $y_{i,u,v}=1$ if and only if $x_{i,u}=x_{i,v}=1$.  We obtain the linear inequalities&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$y_{i,u,v} \ge x_{i,u} + x_{i,v}-1, y_{i,u,v} \le x_{i,u}, y_{i,u,v} \le x_{i,v}, 0 \le y_{i,u,v} \le 1.$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, we wish to maximize/minimize&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\sum_{i,u,v} y_{i,u,v} wt(u,v).$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you wish, you could add some symmetry-breaking by requiring that $\sum_{u,v} y_{i,u,v} wt(u,v) \le \sum_{u,v} y_{i+1,u,v} wt(u,v)$ for all $i$: it is possible that this might help the ILP solver a little bit.&lt;/p&gt;&#xA;" OwnerUserId="5038" LastActivityDate="2014-01-17T00:32:38.947" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20620" PostTypeId="2" ParentId="20613" CreationDate="2014-01-17T01:01:53.667" Score="2" Body="&lt;p&gt;This problem is NP-hard.  As proof, the maximal clique problem (or rather the decision variant find-a-K-clique) can be reduced to this problem as follows.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Start with a problem on a graph with N vertices where we wish to find a clique of size K.  The set containing these original vertices we'll call S. Add a clique (we'll call it C) of size (N - K)*K which is joined to every vertex in S.  Additionally, adjoin one more vertex V which is joined only to the vertices in S (not the ones in C).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now we have an instance of your problem (never mind the edge weights) where we want to divide the resulting graph up into N - K + 1 cliques of size K+1.  I claim that there is a solution to this problem if and only if there is a clique of size K in the original graph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;only-if follows from the fact that V must belong to some clique of size K+1 which is only the case if there are K vertices which form a clique in S.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Furthermore, there will be enough leftover nodes in C that every S-vertex not in the solution clique can be assigned to a separate set of K vertices from C.  So once we've managed to find a clique for V, finding the other N-K (K+1)-cliques is always possible (and indeed trivial).&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;So taking &quot;efficient&quot; to mean &quot;polynomial time&quot;, then the answer to your question is &quot;no&quot;, or more precisely, &quot;only if P = NP&quot;&lt;/p&gt;&#xA;" OwnerUserId="13643" LastEditorUserId="13643" LastEditDate="2014-01-17T07:55:32.423" LastActivityDate="2014-01-17T07:55:32.423" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20621" PostTypeId="1" AcceptedAnswerId="33393" CreationDate="2014-01-17T01:37:57.697" Score="2" ViewCount="155" Body="&lt;p&gt;(My question is not a duplicate of &lt;a href=&quot;https://cstheory.stackexchange.com/questions/696/mip-with-efficient-provers&quot;&gt;this question&lt;/a&gt;.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Fix a good coding of non-deterministic &lt;a href=&quot;http://en.wikipedia.org/wiki/Random-access_machine&quot; rel=&quot;nofollow noreferrer&quot;&gt;random-access machines&lt;/a&gt;.&#xA;&lt;br&gt;&#xA;For non-negative integers $m$ that code such a machine, let&#xA;&lt;br&gt;&#xA;$\operatorname{states}(m)$ denote the number of internal states in the coded machine.&#xA;&lt;br&gt;&lt;br&gt;&lt;br&gt;&#xA;(&quot;hc&quot; stands for &quot;hard-coded&quot;.)&#xA;&lt;br&gt;&#xA;Choose some polynomial function $hcpoly$, and let $L$ be the language&#xA;&lt;br&gt;&#xA;$\{\langle m\hspace{.02 in},\hspace{-0.025 in}t,\hspace{-0.02 in}s\hspace{-0.02 in}\rangle \;\; : \;\; m$ codes such a machine and $\:t\leq 2^{hcpoly(\operatorname{states}(m))}\:$ and&#xA;&lt;br&gt;&#xA;there is a sequence of non-deterministic choices which will make that machine&#xA;&lt;br&gt;&#xA;accept the empty string in at most $t$ time without using more than $s$ space$\}\;$.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there a &lt;a href=&quot;http://en.wikipedia.org/wiki/Interactive_proof_system#MIP&quot; rel=&quot;nofollow noreferrer&quot;&gt;MIP&lt;/a&gt; protocol for $L\hspace{.02 in}$ in which the provers use not&#xA;  &lt;br&gt;&#xA;  much more than $t$ time and/or not much more than $s$ space?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;That could just mean $\:poly(\hspace{.02 in}\operatorname{length}(\langle m\hspace{.02 in},\hspace{-0.025 in}t,\hspace{-0.02 in}s\hspace{-0.02 in}\rangle))\:$ time and space, although&#xA;&lt;br&gt;&#xA;ideally it would be $\:poly(\operatorname{states}(m))\hspace{-0.03 in}\cdot \hspace{-0.03 in}t\:$ time and $\:poly(\operatorname{states}(m))\hspace{-0.03 in}+\hspace{-0.03 in}s\:$ space.&#xA;&lt;br&gt;&lt;br&gt;&lt;/p&gt;&#xA;" OwnerDisplayName="user6973" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2015-12-19T04:12:52.480" Title="Is there a version of MIP=NEXP with relatively efficient provers?" Tags="&lt;interactive-proofs&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="20624" PostTypeId="1" CreationDate="2014-01-17T17:07:54.753" Score="3" ViewCount="175" Body="&lt;p&gt;Both definitions try to create a quantum analog for NP. NQP's definition comes from non-deterministic algorithms: it contains languages for which a Quantum Algorithm accepts with non-zero probability the strings in the language and always rejects strings not in the language.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;QMA's definition is based on verification algorithms: it contains language for which there is a quantum verifier algorithm that, for yes-instances, there is a quantum proof that makes the verifier accept with probability at least $\frac{2}{3}$ and for no-instances, all proofs make the verifier accept with probability at most $\frac{1}{3}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Each of them seems to have a property that makes it accept some language that seem hard for the other. NQP can recognize languages for which the acceptance probability is exponentially small. However, QMA allows some error for no-instances.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The connection between perfect soundness version of QMA (do not allow error for no-instances) and NQP was proved by &lt;a href=&quot;http://arxiv.org/pdf/quant-ph/0306051.pdf&quot; rel=&quot;nofollow&quot;&gt;Kobayashi, Matsumoto and Yamakami&lt;/a&gt;. Now, I'm wondering about the relation between QMA and NQP.&lt;/p&gt;&#xA;" OwnerUserId="10564" LastActivityDate="2014-01-17T17:07:54.753" Title="Are NQP and QMA comparable?" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;quantum-computing&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="20625" PostTypeId="1" AcceptedAnswerId="20628" CreationDate="2014-01-17T19:41:27.123" Score="2" ViewCount="93" Body="&lt;p&gt;Imagine that we have a been given an Excel spreadsheet with three columns, labeled COND, X and Y.&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;COND = TRUE or FALSE (user input)&#xA;X = if(COND == TRUE) then 0 else Y&#xA;Y = if(COND == TRUE) then X else 1;&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;These formulas evaluate perfectly fine in Excel, and Excel does not generate a Circular Dependency error.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am writing a compiler that tries to convert these Excel formulas to C code. In my compiler, these formulas do generate a circular dependency error. The issue is that (naïvely) the expression of X depends on Y and the expression for Y depends on X and my compiler is unable to logically continue.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Excel is able to accomplish this feat because it is a lazy, interpreted language. Excel will just lazily evaluate the formulas at run-time (with user inputs), and since no circular dependency occurs at run-time Excel has no problem evaluating such logic. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Unfortunately, I need to convert these formulas to a compiled language (not an interpreted one). The actual formulas, in the actual spreadsheets, have more complicated dependencies between multiple cells/variables (involving up to over half a dozen different cells). This means that my compiler has to perform some kind of sophisticated static, semantic analysis of the formulas and be smart enough to detect that there are no circular references if we &quot;look inside&quot; the conditional branches. The compiler would then have to generate the following C code from the above Excel formulas:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;bool COND;&#xA;int X, Y;&#xA;if(COND) { X = 0; Y = X; } else { Y = 1; X = Y; }&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Notice that the order of the assignment instructions is different in each branch of the if-statement in C.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is, is there any established algorithm or literature on compilers that explains how to implement this type of analysis in a compiler? Do functional programming language compilers have to solve this problem?&lt;/p&gt;&#xA;" OwnerUserId="10442" LastActivityDate="2014-01-17T23:32:26.783" Title="Conditional Dependencies in Compiler Semantic Analysis Passes" Tags="&lt;pl.programming-languages&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20628" PostTypeId="2" ParentId="20625" CreationDate="2014-01-17T23:32:26.783" Score="4" Body="&lt;p&gt;In general, &lt;em&gt;mutual recursion&lt;/em&gt; is the problem you are facing: some languages support it, some don't. The fact is that you can always compile mutual recursion away to &lt;em&gt;simple&lt;/em&gt; recursion, using pairs of results instead of a simple result &lt;a href=&quot;https://cstheory.stackexchange.com/questions/10228/removing-recursion-a-look-into-theory-behind-the-scenes&quot;&gt;here&lt;/a&gt; is an explanation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The laziness can also be compiled away, by creating &lt;em&gt;thunks&lt;/em&gt;, or functions with &lt;code&gt;void&lt;/code&gt; argument.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It turns out that in C, mutual recursion is allowed, so only the second trick is required.&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;int cond = 0;&#xA;&#xA;int if_X(void){&#xA;  if(cond){return 0;} else {return Y();}&#xA;}&#xA;&#xA;int X(void) {&#xA;  return if_X();&#xA;}&#xA;&#xA;int if_Y(void){&#xA;  if(cond){return X();} else {return 1;}&#xA;}&#xA;&#xA;int Y(void){&#xA;  return if_Y();&#xA;}         &#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;" OwnerUserId="3984" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.743" LastActivityDate="2014-01-17T23:32:26.783" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="20631" PostTypeId="1" CreationDate="2014-01-18T03:22:51.707" Score="3" ViewCount="116" Body="&lt;p&gt;We consider a random directed graph with fixed out-degree $d$. Each vertex chooses $d$ neighbors with replacement, uniformly and independently. Self-loops and multiple arcs are allowed in this model. This corresponds to a model of random automata over an alphabet of size $d$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Denote by $n$ the number of vertices in the graph, which is finite. Thus there must exist a stationary distribution $\pi$ of the random walk on the graph, regardless of whether it converges. For symmetry, the expectation of $\pi(i)$ is $1/n$ for all $i$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I want to show that with high probability, $\min_i\{\pi(i)\}$ is not too small, i.e., at least polynomially large w.r.t. $n$. Since the graph is not necessarily strongly connected, we only consider the strongly connected component. More strictly, &lt;strong&gt;I want to show that with high probability, $\min_i\{\pi(i) \mid \pi(i)&amp;gt;0\}$ won't be too small.&lt;/strong&gt; Any literature on this?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By &quot;high probability&quot;, I mean the probability goes to $1$ when $n \to +\infty $.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A most recent related work could be &lt;a href=&quot;http://arxiv.org/abs/1309.4811&quot; rel=&quot;nofollow&quot;&gt;[Kenter 2013]&lt;/a&gt;. However, their model is different from mine and more like the Erdős–Rényi model. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thank you.&lt;/p&gt;&#xA;" OwnerUserId="21062" LastEditorUserId="21062" LastEditDate="2014-01-18T07:54:26.463" LastActivityDate="2014-01-18T07:54:26.463" Title="Concentration of Stationary Distribution on Random Directed Graphs" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;automata-theory&gt;&lt;markov-chains&gt;&lt;random-walks&gt;" AnswerCount="0" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="20633" PostTypeId="2" ParentId="20613" CreationDate="2014-01-18T10:11:50.713" Score="0" Body="&lt;p&gt;It is also interesting when M is a small constant &gt;2. Unfortunately it is still NP-complete for M=3. Let G be an instance of the Partition-Into-Triangle (PIT) problem. Note that the number of nodes n is a multiple of 3. We construct a complete weighted graph H as an instance of your problem. The edge weight is one if it is in G, or otherwise two. Then, it is clear G can be partition into triangles iff your problem has a solution of cost n. The maximization version can be shown similarly. Consequently for any constant M&gt;2, the problem is NP-hard, even when all edge weights are either one or two.   &lt;/p&gt;&#xA;" OwnerUserId="20839" LastActivityDate="2014-01-18T10:11:50.713" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20634" PostTypeId="2" ParentId="668" CreationDate="2014-01-18T13:13:05.413" Score="4" Body="&lt;p&gt;A Rice-style theorem for $NP$ is the result proved by &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0304397504001458&quot; rel=&quot;nofollow&quot;&gt;Hemaspaandra and Thakur&lt;/a&gt; which states that every nontrivial language property of $NP$ sets is $NP$-hard.&lt;/p&gt;&#xA;" OwnerUserId="495" LastActivityDate="2014-01-18T13:13:05.413" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20635" PostTypeId="1" CreationDate="2014-01-18T15:07:01.313" Score="6" ViewCount="288" Body="&lt;p&gt;Consider a binary relation $\mathsf{R}$ such that $x\mathsf{R}y$ is the case only if there is some $z$ such that both $x\mathsf{R}z$ and $y\mathsf{R}z$ are the case.&#xA;&lt;br&gt;&#xA;(&lt;strong&gt;EDIT&lt;/strong&gt;: note that this may be formalized as $\forall x\forall y(x\mathsf{R}y\to\exists z(x\mathsf{R}z\land y\mathsf{R}z)))$&#xA;&lt;br&gt;&#xA;Is there a well-known name for the property enjoyed by this relation?  And are there natural examples in mathematics (or in &lt;a href=&quot;http://en.wikipedia.org/wiki/Abstract_rewriting_system&quot; rel=&quot;nofollow noreferrer&quot;&gt;ARS&lt;/a&gt;) of relations characterized by this property?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In normal modal logic, the above property characterizes frames axiomatized by the schema $\lozenge\square\alpha\to\lozenge\alpha$ (or, dually, by $\square\alpha\to\square\lozenge\alpha$).  It amounts to a stronger version of the &lt;a href=&quot;http://mathworld.wolfram.com/Church-RosserProperty.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;Church-Rosser property&lt;/a&gt;, according to which $x\mathsf{R}y$ and $y\mathsf{R}x$ are &lt;em&gt;simultaneously&lt;/em&gt; the case only if there is a $z$ such that both $x\mathsf{R}z$ and $y\mathsf{R}z$ are the case.  I have however been unable to determine so far whether there is an established name for the above mentioned property in the literature.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(I am now &lt;a href=&quot;https://math.stackexchange.com/q/645700/65869&quot;&gt;cross-posting&lt;/a&gt; this with Math.SE, to see if anyone there has an aswer to offer.)&lt;/p&gt;&#xA;" OwnerUserId="16763" LastEditorUserId="-1" LastEditDate="2017-04-13T12:19:19.363" LastActivityDate="2014-01-21T01:46:30.957" Title="Is there a name for this property of a binary relation?" Tags="&lt;graph-theory&gt;&lt;terminology&gt;&lt;term-rewriting-systems&gt;&lt;modal-logic&gt;" AnswerCount="0" CommentCount="11" ContentLicense="CC BY-SA 3.0" />
  <row Id="20637" PostTypeId="2" ParentId="20592" CreationDate="2014-01-18T16:21:02.920" Score="10" Body="&lt;p&gt;If $\mathsf{L} = \mathsf{P}$ then $\mathsf{DSPACE}(O(f(n))) = \mathsf{DTIME}(2^{O(f(n)})$ for all time-constructible functions $f(n) \geq \log n$ using standard padding arguments. I am not sure what happens if $f(n)$ is not time-constructible.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $\mathsf{L} \neq \mathsf{P}$ then $f(n) = \log n$ will be an example. Therefore there is a time-constructable function $f(n)$ where the containment is proper iff the containment is proper for $f(n) = \log n$ .&lt;/p&gt;&#xA;" OwnerUserId="550" LastEditorUserId="-1" LastEditDate="2014-01-18T17:05:17.900" LastActivityDate="2014-01-18T17:05:17.900" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20643" PostTypeId="1" CreationDate="2014-01-18T23:24:33.160" Score="3" ViewCount="909" Body="&lt;p&gt;Exact algorithms for NP-complete problems are sometimes feasible, if the input is small enough.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I’ve also came across some algorithms which are not practical even for very small inputs, and their importance is questionable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I’m wondering what's the &quot;hardest&quot; (time complexity-wise) problems people have worked on its exact solution:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;The problem is in NP.&lt;/li&gt;&#xA;&lt;li&gt;A non-trivial exact algorithm is known for the problem (preferably from the last few years).&lt;/li&gt;&#xA;&lt;li&gt;No better algorithm is known.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;For example, the &lt;a href=&quot;http://www.mif.vu.lt/~valdas/ALGORITMAI/Uzduotys2013/30%20%28DOMINATING%20SET%29/Fernau10.pdf&quot; rel=&quot;nofollow&quot;&gt;minimum dominating set of queens&lt;/a&gt; has an algorithm which runs in $O(39.51^n\cdot poly(n))$ time.&lt;/p&gt;&#xA;" OwnerUserId="21001" LastEditorUserId="-1" LastEditDate="2014-01-20T03:58:54.480" LastActivityDate="2014-01-20T03:58:54.480" Title="What's the hardest problem with a non-trivial exact algorithm?" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;np-hardness&gt;&lt;exp-time-algorithms&gt;&lt;examples&gt;" AnswerCount="0" CommentCount="15" ContentLicense="CC BY-SA 3.0" />
  <row Id="20644" PostTypeId="2" ParentId="3887" CreationDate="2014-01-19T00:38:47.120" Score="4" Body="&lt;p&gt;It is known that $\mathsf{UP= NP}$ implies $\mathsf{SpanP = \#P}$ since Kobler, Schoning, and Toran proved that $\mathsf{UP= NP}$ if and only if $\mathsf{SpanP = \#P}$. It is easy to see that $\mathsf {\#P}$ is contained in $\mathsf {SpanP}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A function $f : Σ^* →\mathbb N$ is in $\mathsf{SpanP}$ if there is an $\mathsf {NP}$ Turing machine transducer $M$ such that for all $x$, $f(x)$ is the number of distinct outputs of $M$ on input $x$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;J. Kobler, U. Schoning, and J. Toran. &lt;a href=&quot;http://link.springer.com/article/10.1007/BF00276023&quot; rel=&quot;nofollow&quot;&gt;On counting and approximation&lt;/a&gt;, Acta Informatica,&#xA;26:363-379, 1989.&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="248" LastEditDate="2014-01-20T10:26:00.143" LastActivityDate="2014-01-20T10:26:00.143" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="20645" PostTypeId="2" ParentId="20596" CreationDate="2014-01-19T01:13:11.550" Score="5" Body="&lt;p&gt;Even, Selman, and Yacobi conjectured that there does not exist a disjoint $NP$-pair $(A, B)$ such that all separators of $(A, B)$ are $ \le_T^p $-hard for $NP$. This conjecture implies that $UP \ne NP$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;S. Even, A. Selman, and J. Yacobi. The complexity of promise problems with applications to public-key cryptography. Information and Control, 61:159–173, 1984.&lt;/p&gt;&#xA;" OwnerUserId="495" LastActivityDate="2014-01-19T01:13:11.550" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="20646" PostTypeId="2" ParentId="7179" CreationDate="2014-01-19T02:21:27.990" Score="6" Body="&lt;p&gt;The second paragraph of Plotkin's &lt;a href=&quot;http://www.cs.cmu.edu/~neelk/plotkin-logical-relations.pdf&quot; rel=&quot;nofollow&quot;&gt;1973 Memo on Lambda-definability and Logical Relations&lt;/a&gt; says this: &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&quot;The definition of logical [relation] is derived from a corresponding&#xA;  one of M. Gordon for the typed λ-calculus.&quot;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;This doesn't say explicitly that the term was coined by Gordon. But, given that the memo is titled &quot;Lambda-definability and logical relations&quot; as if &quot;logical relation&quot; is an already known idea, and the second para says &quot;construct certain, &lt;em&gt;so-called&lt;/em&gt;, logical relations,&quot; I think it very likely that Gordon coined the term and Plotkin used it hence. (Plotkin confirmed to me that whatever he wrote in the memo is correct.) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Gordon is credited again at the top of p. 12, &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&quot;M. Gordon proposed, as a possible remedy, that relations... should be&#xA;  extended - not just permutations.&quot;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The published version of the paper (&quot;Lambda-definability in the full type hierarchy&quot; in &lt;a href=&quot;http://www.amazon.co.uk/To-H-B-Curry-Combinatory-Calculus-Formalism/dp/0123490502/ref=sr_1_1?ie=UTF8&amp;amp;qid=1390096478&amp;amp;sr=8-1&amp;amp;keywords=hindley%20seldin%20curry&quot; rel=&quot;nofollow&quot;&gt;To H. B. Curry: Essays on Combinatory Logic, Lambda Calculus and Formalism&lt;/a&gt;) has this remark.  It also has a remark that could be construed as an explanation of the term &quot;logical relation&quot;:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Because of the &quot;logical&quot; nature of the $\lambda$-definable elements, they should be  invariant under permutations of $D$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;In my view, this is an extremely satisfying explanation of why logical relations are &quot;logical&quot;.  Lambda calculus is logical and, so, the functions defined using it will be uniform with respect to the base types.  They can't &quot;see&quot; the permutations we might do to the values of the base types.  Viewed in this way, what Gordon and Plotkin meant by &quot;logical&quot; is essentially the same as what Reynolds calls &quot;parametric&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, the term &quot;logical relation&quot; doesn't appear in the published version of the paper.  It is possible that the referees might have objected that the term was confusing and Plotkin might have decided it best to avoid the term.  But, Statman went back to the old terminology and the term has come back into popular parlance.&lt;/p&gt;&#xA;" OwnerUserId="8519" LastEditorUserId="8519" LastEditDate="2014-02-06T16:38:18.400" LastActivityDate="2014-02-06T16:38:18.400" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20647" PostTypeId="1" CreationDate="2014-01-19T04:01:20.977" Score="10" ViewCount="216" Body="&lt;p&gt;The &lt;a href=&quot;http://en.wikipedia.org/wiki/Hubbard_model&quot; rel=&quot;nofollow noreferrer&quot;&gt;Hubbard model&lt;/a&gt; (see also the wikipedea article on the &lt;a href=&quot;http://en.wikipedia.org/wiki/Bose%E2%80%93Hubbard_model&quot; rel=&quot;nofollow noreferrer&quot;&gt;Bose-Hubbard model&lt;/a&gt;) is a basic quantum model of solid-state physics. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Question: What is the computational complexity of approximating the ground state of a 2-D Hubbard model? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Remarks:  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) This question is inspired by lecture-series by &lt;strong&gt;Frank Verstraete&lt;/strong&gt; in Jerusalem. (&lt;a href=&quot;http://www.youtube.com/playlist?list=PLTn74Qx5mPsRlH0Ex_eqD6HVEunhzIQXC&quot; rel=&quot;nofollow noreferrer&quot;&gt;See here for the videotaped lectures&lt;/a&gt;.) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) The question is a &quot;tiny input&quot; question, (see this question:&lt;a href=&quot;https://cstheory.stackexchange.com/questions/19189/counting-isomorphism-types-of-graphs&quot;&gt;Counting Isomorphism Types of Graphs&lt;/a&gt;  ) so hardness result for questions of this kind is largely an uncharted territory.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We can ask: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) is there a polynomial time algorithm? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) Is there a polynomial time quantum algorithm? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Frank suggested that algorithms based on adiabatic evolution (starting from a product state) would work, since gaps at phase transitions typically only scale as 1/poly in the system size, (which keeps it in BQP). My question is if this is known/proven.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;3) Is the problem in NP?&lt;/p&gt;&#xA;" OwnerUserId="712" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2014-01-27T21:19:55.240" Title="How hard it is to approximate the ground state of the (2-D) Hubbard model" Tags="&lt;quantum-computing&gt;" AnswerCount="0" CommentCount="5" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="20649" PostTypeId="1" CreationDate="2014-01-19T11:17:18.097" Score="26" ViewCount="684" Body="&lt;p&gt;We define a &lt;em&gt;regular tree language&lt;/em&gt; as in the book &lt;a href=&quot;http://tata.gforge.inria.fr/&quot; rel=&quot;noreferrer&quot;&gt;TATA&lt;/a&gt;: It is the set of trees accepted by a non-deterministic finite tree automaton (Chapter 1) or, equivalently, the set of trees generated by a regular tree grammar (Chapter 2). Both formalisms hold close resemblances to the well-known string analogues.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there a regular tree language in which the average height of a tree of size $n$ is neither $\Theta(n)$ nor $\Theta(\sqrt{n})$?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Obviously there are tree languages such that the height of a tree is linear in its size; and in the book &lt;a href=&quot;http://algo.inria.fr/flajolet/Publications/books.html&quot; rel=&quot;noreferrer&quot;&gt;Analytic Combinatorics&lt;/a&gt; it is shown e.g. that binary trees of size $n$ have average height $2\sqrt{ \pi n}$. If I understand Proposition VII.16 (p.537) of the mentioned book correctly, then there is a wide subset of regular tree languages that have average height of $\Theta(\sqrt{n})$, namely those in which the tree language is also a &lt;em&gt;simple variety of trees&lt;/em&gt; fulfilling some extra conditions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So I was wondering whether there is a regular tree language showing a different average height or if there is a true dichotomy for regular tree languages.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note: This question has been asked before on &lt;a href=&quot;https://cs.stackexchange.com/&quot;&gt;Computer Science&lt;/a&gt;, yet it has been unanswered for more than three months. I would like to repost it here because the question is too old to migrate and because there is still an interest in the question. Here is a &lt;a href=&quot;https://cs.stackexchange.com/questions/16073/is-there-a-regular-tree-language-in-which-the-average-height-of-a-tree-of-size&quot;&gt;link&lt;/a&gt; to the original post.&lt;/p&gt;&#xA;" OwnerUserId="21199" LastEditorUserId="-1" LastEditDate="2017-04-13T12:48:30.830" LastActivityDate="2018-06-11T04:56:13.273" Title="Is there a regular tree language in which the average height of a tree of size $n$ is neither $\Theta(n)$ nor $\Theta(\sqrt{n})$?" Tags="&lt;co.combinatorics&gt;&lt;fl.formal-languages&gt;&lt;tree&gt;&lt;regular-language&gt;" AnswerCount="1" CommentCount="16" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="20652" PostTypeId="2" ParentId="20021" CreationDate="2014-01-19T16:44:17.513" Score="5" Body="&lt;p&gt;Theorem 3.1 of One-Way Permutations and Self-Witnessing Languages C. Homan and M. Thakur, Journal of Computer and System Sciences, 67(3):608-622, November 2003. [ &lt;a href=&quot;http://www.cs.rit.edu/~cmh/10.1.1.88.9482.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;as .pdf&lt;/a&gt; ] states that $P≠UP∩coUP$ if and only if (&quot;worst-case&quot;) one-way permutations exist. Theorem 3.2 recalls 10 further hypotheses that have been shown to be equivalent to $P≠UP∩coUP$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, we have &lt;a href=&quot;https://cstheory.stackexchange.com/a/20645/495&quot;&gt;strong reason&lt;/a&gt; to conjecture that $UP \ne NP$. Therefore, the above theorem and the conjecture result in a strong reason to believe that $P \ne NP ∩ coNP$. &lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Disclaimer:&lt;/strong&gt; I moved Mohammad Al-Turkistany's edit of my answer to this community wiki answer. He believes that it perfectly answers the question since the existence of one-way permutations is widely believed. I myself haven't yet sufficiently understood the difference between &quot;worst-case&quot; and &quot;average-case&quot; one-way functions to claim that it really answers the question.&lt;/p&gt;&#xA;" OwnerUserId="20340" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2014-01-19T16:44:17.513" CommentCount="0" CommunityOwnedDate="2014-01-19T16:44:17.513" ContentLicense="CC BY-SA 3.0" />
  <row Id="20654" PostTypeId="1" CreationDate="2014-01-19T20:37:10.293" Score="2" ViewCount="200" Body="&lt;p&gt;In Vapnik's book &quot;Statistical Learning Theory&quot;, Theorem 10.5 states that - for a Support Vector Machine - the expected probability of error (of the optimal hyperplane) is upper bounded by $1/(l+1)$ times the expected number of support vectors.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is the expected probability of error - the LHS of inequality 10.32 - non-increasing in the number $l$ of training samples?&lt;/p&gt;&#xA;" OwnerUserId="15867" LastEditorUserId="15867" LastEditDate="2014-01-20T10:40:37.100" LastActivityDate="2014-02-07T22:19:19.960" Title="Expected probability of error in Vapnik's book" Tags="&lt;machine-learning&gt;&lt;lg.learning&gt;&lt;st.statistics&gt;&lt;vc-dimension&gt;" AnswerCount="0" CommentCount="12" ContentLicense="CC BY-SA 3.0" />
  <row Id="20657" PostTypeId="1" CreationDate="2014-01-20T12:11:37.177" Score="1" ViewCount="259" Body="&lt;p&gt;After having read matus's beautiful answer in &lt;a href=&quot;https://cstheory.stackexchange.com/questions/17545/universal-approximation-theorem-neural-networks/17630#17630?newreg=bb92f636fd6443e9bc21a23c5924808b&quot;&gt;this thread&lt;/a&gt;  explaining (among other things) Cybenko's proof of the Universal Approximation Theorem for Neural Networks, I wonder: if we use a piecewise constant function to approximate the target function, won't this have horrendous implications for generalization?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In practice, the only information we have about the target function comes from the training data, which makes up a discrete set. The machine learning task, as perhaps suggested from the Universal Approximation Theorem, could be dealt with by taking 'the simplest' piecewise constant function which perfectly fits the training set, and representing that as a neural net with one hidden layer, sigmoid transfer functions, and an identity output node. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;But one can intuitively tell that such a trained model would perform terribly on test data! Because given an unseen case C, lying between training cases A1, A2, ..., Ak, instead of assigning as output some middle ground between the output for cases A1 .. Ak, it will assign exactly the output for Ap, where Ap is the nearest of the Ai to C.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So is there not a lot less value in this theorem if it cannot enrich the intuition of a machine learning engineer wishing to construct the optimal neural network for a given task?&lt;/p&gt;&#xA;" OwnerUserId="21223" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2014-01-20T12:11:37.177" Title="Generalization Issues with Practical Suggestions from Universal Approximation Theorem with Neural Networks" Tags="&lt;approximation-algorithms&gt;&lt;machine-learning&gt;&lt;ne.neural-evol&gt;" AnswerCount="0" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="20658" PostTypeId="1" CreationDate="2014-01-20T13:06:35.050" Score="4" ViewCount="547" Body="&lt;p&gt;After having read matus's beautiful answer in &lt;a href=&quot;https://cstheory.stackexchange.com/questions/17545/universal-approximation-theorem-neural-networks/17630#17630?newreg=bb92f636fd6443e9bc21a23c5924808b&quot;&gt;this thread&lt;/a&gt; explaining (among other things) Kolmogorov's result regarding the Universal Approximation Theorem with Neural Networks, I wonder: if just $\mathcal{O}$($d^2$) nodes can replicate (!) the target function, provided we can use different transfer functions, do there exist theory or algorithms for inferring from the training data which transfer functions to use?&lt;/p&gt;&#xA;" OwnerUserId="21223" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2014-01-20T13:06:35.050" Title="Practical Implications of Kolmogorov's Result on the Universal Approximation Theorem with Neural Networks" Tags="&lt;approximation-algorithms&gt;&lt;machine-learning&gt;&lt;ne.neural-evol&gt;&lt;st.statistics&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="20660" PostTypeId="1" AcceptedAnswerId="20672" CreationDate="2014-01-20T13:24:59.127" Score="4" ViewCount="908" Body="&lt;p&gt;Does there exist any theory (other than Cybenko's proof of the Universal Approximation Theorem with sigmoids) advocating the use of indicator functions as transfer functions for machine learning with neural networks?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;After having read matus's beautiful answer in &lt;a href=&quot;https://cstheory.stackexchange.com/questions/17545/universal-approximation-theorem-neural-networks/17630#17630?newreg=bb92f636fd6443e9bc21a23c5924808b&quot;&gt;this thread&lt;/a&gt; explaining (among other things) Cybenko's proof, I wonder: if it weakens the approximation to use sigmoid transfer functions instead of indicator functions, what are the theoretical reasons for not using indicator functions?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As suggested &lt;a href=&quot;https://cstheory.stackexchange.com/questions/20657/generalization-issues-with-practical-suggestions-from-universal-approximation-th&quot;&gt;here&lt;/a&gt;, perhaps it's because indicator functions have negative implications for generalization. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, indicator functions are computationally far cheaper to implement than sigmoid functions, and also more closely resemble biological neural networks (ie the brain). Therefore, does there exist any other theory advocating the use of indicator functions as transfer functions for machine learning with neural networks?&lt;/p&gt;&#xA;" OwnerUserId="21223" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2015-02-18T15:26:16.380" Title="Using Indicator Functions as Transfer Functions for Neural Networks" Tags="&lt;machine-learning&gt;&lt;ne.neural-evol&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="20661" PostTypeId="1" CreationDate="2014-01-20T14:19:09.823" Score="13" ViewCount="943" Body="&lt;p&gt;Some time ago, I posted &lt;a href=&quot;https://cstheory.stackexchange.com/questions/19845/np-complete-graph-problems-about-structural-properties&quot;&gt;a reference request&lt;/a&gt; for graph problems where we want to find a 2-partition of the edges where both sets fulfill a property not related to their cardinality. I was trying to prove that the following problem is NP-hard:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Given a tournament $G = (V,E)$, is there a feedback arc set $F \subseteq E$ in $G$ that defines a transitive relation?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I do have a construction for an attempt at a proof, but it seems that that is going to run into a dead end, so I thought I might ask here to see whether I'm missing something obvious. In order to not confine your creativity to lines of thought similar to the ones I used, I won't post my attempt here.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is this problem NP-hard? If so, how to prove it?&lt;/p&gt;&#xA;" OwnerUserId="8871" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2014-02-01T23:09:48.563" Title="Transitive feedback arc set (TFAS): NP-complete?" Tags="&lt;np-hardness&gt;&lt;reductions&gt;" AnswerCount="3" CommentCount="11" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="20662" PostTypeId="2" ParentId="20384" CreationDate="2014-01-20T14:27:58.190" Score="0" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;My first question is, can we overcome &quot;blocking&quot; using 2PC (two phase commitment) with Uniform reliable broadcast (URBcast)? &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;No. 2PC is blocking because the protocol cannot progress when the coordinator crashes between sending the first and second messages, because the followers/cohort/participants wait for the second message. Since for blocking a blocking scenario it is not necessary to see some deliver the message and others not, going for URB will not change anything. &lt;/p&gt;&#xA;" OwnerUserId="4483" LastActivityDate="2014-01-20T14:27:58.190" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20665" PostTypeId="6" CreationDate="2014-01-20T16:43:11.503" Score="0" Body="&lt;p&gt;am volunteering based on lack of other volunteer(s) so far &amp;amp; last-minute breaking key info from current mod &lt;a href=&quot;http://meta.cstheory.stackexchange.com/questions/2767/who-would-you-like-to-become-the-new-moderators&quot;&gt;DC&lt;/a&gt; in a comment who states that 1-2 moderators are planning to step down [this is not clearly indicated in any election details provided to the group so far; think they are too brief &amp;amp; not informative/communicative enough right now] &amp;amp; that suresh is committed to stay on. (have voted for all 6 individuals endorsed as other moderators in that post but none have volunteered at this last minute...are they all aware they've been endorsed?)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;like suresh's low-key moderator style &amp;amp; think it would be possible to work together as a team in the same direction &amp;amp; with any other new moderator eg SN who has also volunteered, &amp;amp; hopefully inject some fresh/different energy into the group. can/will fill out more details/intentions/personal bkg at a later moment based on next stages.&lt;/p&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="7884" LastEditDate="2014-01-20T17:18:36.270" LastActivityDate="2014-01-20T17:18:36.270" CommentCount="0" CommunityOwnedDate="2014-01-20T16:43:11.503" ContentLicense="CC BY-SA 3.0" />
  <row Id="20666" PostTypeId="6" CreationDate="2014-01-20T17:26:26.347" Score="0" Body="&lt;p&gt;Having been involved with cstheory since its inception, I am very glad to see that it has become a useful resource for researchers.  I have been an active user and promoter of this site and have a reasonably high rating.  I usually visit the site daily (at least), and I've been helping out in moderating to the extent my privilages have allowed.  I think the current moderators have done a great job, and I am volunteering because I want to contribute to helping the site thrive.&lt;/p&gt;&#xA;" OwnerUserId="123" LastEditorUserId="123" LastEditDate="2014-01-20T17:26:26.347" LastActivityDate="2014-01-20T17:26:26.347" CommentCount="0" CommunityOwnedDate="2014-01-20T17:26:26.347" ContentLicense="CC BY-SA 3.0" />
  <row Id="20667" PostTypeId="6" CreationDate="2014-01-20T18:03:48.653" Score="0" Body="&lt;p&gt;My hope is that cstheory and other Q&amp;amp;A sites become part of the typical research workflow for more and more researchers. I've been an active user for over 3 years. Aside from asking and answering questions, I have done my best to be an &lt;a href=&quot;http://cstheory.stackexchange.com/users?tab=Voters&amp;amp;filter=all&quot;&gt;active voter&lt;/a&gt; and meta participant. I am very happy with the existing moderators and their encouragement of community self-moderation, and hope this trend continues.&lt;/p&gt;&#xA;" OwnerUserId="1037" LastEditorUserId="1037" LastEditDate="2014-01-20T18:03:48.653" LastActivityDate="2014-01-20T18:03:48.653" CommentCount="0" CommunityOwnedDate="2014-01-20T18:03:48.653" ContentLicense="CC BY-SA 3.0" />
  <row Id="20669" PostTypeId="1" CreationDate="2014-01-20T19:39:25.743" Score="-3" ViewCount="283" Body="&lt;p&gt;So as far as I know the weakly universal hashing is defined as:&#xA;for any $x, y \subset U, Pr(h(x) = h(y)) \le \frac{1}{m}$ where m is a smaller number than the cardinality of $U$, and h are chosen randomly from a set of all possible hash function $H$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am just wondering if we choose the hash of an item randomly from the set $Z_m$, then the probability of having a hash collision is $\frac{1}{m}$ for x and y. So the weakly universal hashing is a quite strong requirement on how to choose hash function isn't it? Why?&lt;/p&gt;&#xA;" OwnerUserId="16488" LastActivityDate="2014-01-23T23:29:31.927" Title="Isn't weakly universal hashing even a stronger than truly random?" Tags="&lt;ds.algorithms&gt;&lt;ds.data-structures&gt;&lt;hash-function&gt;" AnswerCount="1" CommentCount="8" ClosedDate="2014-01-27T00:24:16.930" ContentLicense="CC BY-SA 3.0" />
  <row Id="20671" PostTypeId="1" CreationDate="2014-01-21T10:27:17.693" Score="1" ViewCount="66" Body="&lt;p&gt;Suppose we have two points, &lt;code&gt;A&lt;/code&gt; and &lt;code&gt;B&lt;/code&gt;, each point has its own clock.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We are able to send messages between &lt;code&gt;A&lt;/code&gt; and &lt;code&gt;B&lt;/code&gt;, the message takes some random delay to be delivered: &#xA;$$min &amp;lt; delay &amp;lt; max,$$for each message the actual delay is unknown.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In this setup:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Can we sync clock at this points perfectly?&lt;/li&gt;&#xA;&lt;li&gt;Can we prove that it is impossible to sync perfectly?&lt;/li&gt;&#xA;&lt;li&gt;Can we prove that it is impossible to sync this clock with a precision, which is better than some $f(min, max)$? (In other words, that after any sync process, this clock will still have difference at least $f(...)$)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;&lt;code&gt;Precision&lt;/code&gt; is the difference between this clock after actually syncing.&lt;/p&gt;&#xA;" OwnerUserId="21241" LastActivityDate="2014-01-21T10:27:17.693" Title="Sync time between two points" Tags="&lt;approximation-algorithms&gt;&lt;optimization&gt;" AnswerCount="0" CommentCount="10" ContentLicense="CC BY-SA 3.0" />
  <row Id="20672" PostTypeId="2" ParentId="20660" CreationDate="2014-01-21T11:39:16.030" Score="2" Body="&lt;p&gt;Sigmoid functions have clear probabilistic interpretation, so one can derive optimal learning algorithms for them within the bayesian approach. Moreover, they are differentiable, so the gradient descent can be directly applicable.&#xA;However, in general, neural networks are &quot;universal approximators&quot; in almost the same sense as, for example, polynomials. They can capture a limited set of regularities. Different activation functions (like different basis functions in functional approximation) will capture different regularities and will have different biases in approximating other regularities.&#xA;Thus, what activation functions are better depends on what underlying regularities are presented in data. Indicator functions can surely be better for some tasks. However, no generally applicable (task-independent) theory advocating the use of indicator functions is possible.&lt;/p&gt;&#xA;" OwnerUserId="21224" LastActivityDate="2014-01-21T11:39:16.030" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="20675" PostTypeId="2" ParentId="118" CreationDate="2014-01-21T16:03:39.487" Score="17" Body="&lt;p&gt;This question has been completely resolved (up to constant factors) by a recent result of Benjamin Rossman (&lt;a href=&quot;http://eccc.hpi-web.de/report/2013/169/&quot;&gt;http://eccc.hpi-web.de/report/2013/169/&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As Kaveh points out above, a depth $d$, size $S$, circuit can be converted to a depth $d$, size $S^d$ formula. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Rossman shows that this is essentially tight. For any depth $d$, he exhibits a function that can be computed by a constant-depth circuit of depth $d$ and size $S = O(n^3)$, but any constant-depth formula (or even a $\sqrt{\log n}$-depth formula) needs size $S^{\Omega(d)}$ to compute it. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Forgot to say this before: Thanks to Benjamin Rossman for letting me know about this result.)&lt;/p&gt;&#xA;" OwnerUserId="206" LastEditorUserId="206" LastEditDate="2014-01-22T12:27:41.320" LastActivityDate="2014-01-22T12:27:41.320" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20676" PostTypeId="2" ParentId="6711" CreationDate="2014-01-21T18:26:57.300" Score="5" Body="&lt;p&gt;Option 0: &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.29.2256&quot; rel=&quot;noreferrer&quot;&gt;Permuting In Place&lt;/a&gt; (1995) by Faith E. Fich , J. Ian Munro , Patricio V. Poblete $O(n \log n)$ time $O( \log^{2} n )$ space.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Option 1: Cheat by compressing your permutation to a succinct data structure, see Munro  &lt;a href=&quot;http://www.itu.dk/people/ssrao/icalp03-a.pdf&quot; rel=&quot;noreferrer&quot;&gt;http://www.itu.dk/people/ssrao/icalp03-a.pdf&lt;/a&gt; .&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Option 2:  Use a prime cycle decomposition to store the perm succinctly and use that extra space to cheat &lt;a href=&quot;http://oeis.org/A186202&quot; rel=&quot;noreferrer&quot;&gt;http://oeis.org/A186202&lt;/a&gt; &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Option 3: Keep track of the largest index of each cycle manipulated. For each iteration use the largest unseen index to move everything in its cycle by one. If it hits a seen index undo all that work because the cycle has already been manipulated. $O(n^2)$ time, $O(\#\text{cycles} * \log n)$ space.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Option 4: Keep track of the largest index of each cycle manipulated, but only do them in batches of distinct cycle lengths. For each iteration use the largest unseen index to move everything in it's cycle by one. If it hits a seen index undo all that work because thae cycle has already been manipulated. $O(n^2 * \text{distinct}\_\text{cycle}\_\text{lengths})$ time, $O((\#\text{cycles}\_\text{with}\_\text{same}\_\text{size}) * \log n)$ space.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Option 5: From same paper by Munro as Option 0, For $i = 1 .. n$ rotate the cycle of $p(i)$ if $i$ is the largest index in that cycle. $O(n^2)$ time and $O(\log  n)$ space.&lt;/p&gt;&#xA;" OwnerUserId="2021" LastEditorUserId="2021" LastEditDate="2014-01-21T23:28:29.163" LastActivityDate="2014-01-21T23:28:29.163" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="20677" PostTypeId="2" ParentId="20500" CreationDate="2014-01-21T18:27:55.773" Score="3" Body="&lt;p&gt;The problem is in &lt;strong&gt;P&lt;/strong&gt; for the following reason.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Eigenvalues are the solutions of a univariate polynomial. Finding a solution of a univariate polynomial over $\mathbb{Q}$  can be done in polynomial time by:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Lenstra, A.K.; Lenstra, H.W.jun.; Lovász, László: Factoring polynomials with rational coefficients. (English) Math. Ann. 261, 515-534 (1982).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The polynomial has only rational roots iff all factors have degree 1.&lt;/p&gt;&#xA;" OwnerUserId="13756" LastEditorUserId="13756" LastEditDate="2014-01-21T18:56:11.983" LastActivityDate="2014-01-21T18:56:11.983" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="20678" PostTypeId="1" CreationDate="2014-01-21T23:13:38.900" Score="9" ViewCount="251" Body="&lt;p&gt;Assume that we have an unbounded fan-in circuit family of depth $d(n)$ and size $s(n)$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is &lt;em&gt;the smallest depth&lt;/em&gt; (in terms of $d(n)$ and $n$ and $s(n)$) bounded fan-in circuit family of size $poly(s)$ for it?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In particular what is the largest depth $d(n)$ for which we know polynomial size unbounded fan-in circuit families of depth $d(n)$ are in $\mathsf{NC^1}$?&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2014-01-22T00:49:32.247" LastActivityDate="2014-01-22T00:49:32.247" Title="Depth of bounded fan-in circuits for unbounded fan-in circuits" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;circuit-complexity&gt;&lt;circuit-depth&gt;" AnswerCount="0" CommentCount="6" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="20680" PostTypeId="1" CreationDate="2014-01-22T06:06:04.543" Score="1" ViewCount="87" Body="&lt;p&gt;Is there a known upper bound on the number of vertex transitive graphs on $n$ vertices?&lt;/p&gt;&#xA;" OwnerUserId="17092" LastEditorUserId="17092" LastEditDate="2014-01-22T10:07:43.130" LastActivityDate="2014-01-22T10:07:43.130" Title="Upper bound on the number of vertex-transitive graphs" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;gr.group-theory&gt;" AnswerCount="0" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="20681" PostTypeId="1" CreationDate="2014-01-22T08:05:57.007" Score="0" ViewCount="63" Body="&lt;p&gt;I would like to ask whether there exists a better approximation result on a special case of the ATSP metric instances: when cost(a,b)=cost(b,a) for $O(log(|E|)$ edges, or something close/related to that (in fact when this holds for the 'small-cost' edges).&#xA;Thank you &lt;/p&gt;&#xA;" OwnerUserId="8353" LastActivityDate="2014-01-22T08:05:57.007" Title="Asymmetric metric TSP when many edges have equal costs in both directions" Tags="&lt;tsp&gt;&lt;approximation&gt;" AnswerCount="0" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="20682" PostTypeId="1" AcceptedAnswerId="20685" CreationDate="2014-01-22T11:48:49.670" Score="14" ViewCount="2783" Body="&lt;p&gt;The longest path problem is NP-hard. The (typical?) proof relies on a reduction of the Hamiltonian path problem (which is NP-complete). Note that here the path is taken to be (node-)simple. That is, no vertex can occur more than once in the path. Obviously it is thus also edge-simple (no edge will occur more than once in the path).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So what if we drop the requirement of finding a (node-)simple path and stick to finding an edge-simple path (trail). At first glance, since finding a Eulerian trail is much easier than finding a Hamiltonian path, one might have some hope that finding the longest trail would be easier than finding the longest path. However, I cannot find any reference proving this, let alone one that provides an algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that I am aware of the argument made here:&#xA;&lt;a href=&quot;https://stackoverflow.com/questions/8368547/how-to-find-the-longest-heaviest-trail-in-an-undirected-weighted-graph&quot;&gt;https://stackoverflow.com/questions/8368547/how-to-find-the-longest-heaviest-trail-in-an-undirected-weighted-graph&lt;/a&gt;&#xA;However, the argument seems flawed in its current form, as it basically shows you could solve the edge-simple case by solving the node-simple case on a different graph (so the reduction is the wrong way around). It is not clear that the reduction could easily be changed to work the other way as well. (Still, it does show that at the very least the longest trails problem is not harder than the longest paths problem.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So are there any known results for finding longest trails (edge-simple paths)? Complexity (class)? (Efficient) algorithm?&lt;/p&gt;&#xA;" OwnerUserId="21250" LastEditorUserId="-1" LastEditDate="2017-05-23T12:40:09.333" LastActivityDate="2014-01-22T16:30:36.117" Title="Is the longest trail problem easier than the longest path problem?" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;hamiltonian-paths&gt;" AnswerCount="1" CommentCount="14" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="20684" PostTypeId="1" AcceptedAnswerId="20699" CreationDate="2014-01-22T15:31:45.033" Score="1" ViewCount="210" Body="&lt;p&gt;Suppose a vector of size $n$ is given. The goal is to compute, $\forall i \in [n]$ the lightest interval of size $i$ (i.e. the interval whose sum is minimal).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, if we have the array:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;1 1 0 0 1 2 1 0 0 0 1&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;For any length n, the minimal weight of $i$ length interval is:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;interval size:              1  2  3  4  5  6  7  8  9  10 11&#xA;interval weight:            0  0  0  1  2  4  4  4  5  6  7&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;A naive algorithm would compute the shortest interval for each $i$ by itself, which results in a $O(n^2)$ time algorithm (keeping a sliding window of size $i$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we attempt a greedy &quot;triangle&quot; algorithm (start from the smallest number, expand by 1 each time), it fails, no matter if we try it botom-up or top-down:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A triangle algorithm would fail at 1 1 1 4 0 1 4&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;1 1 1 4 0 1 4 -&amp;gt; 0&#xA;1:0 :         0&#xA;2:1 :       4 0 &amp;gt; 0 1&#xA;3:5 :       4 0 1 = 0 1 4     BUT: 1 1 1 would be cheaper&#xA;4:6 :     1 4 0 1 &amp;lt; 4 0 1 4&#xA;5:7 :   1 1 4 0 1 &amp;lt; 1 4 0 1 4&#xA;6:8 : 1 1 1 4 0 1 &amp;lt; 1 1 4 0 1 4&#xA;7:12: 1 1 1 4 0 1 4&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;A reverse triangle algorithm would fail at 0 3 0 0 1 1&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;6:5: 0 3 0 0 1 1&#xA;5:4: 0 3 0 0 1 &amp;lt; 3 0 0 1 1&#xA;4:3: 0 3 0 0 &amp;lt; 3 0 0 1     BUT: 0 0 1 1 would be cheaper!&#xA;3:3: 0 3 0 == 3 0 0        BUT: 0 0 1 would be cheaper!&#xA;2:3: 0 3 == 3 0            BUT: 0 0 would be cheaper!&#xA;1:0: 0 &amp;lt; 3&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Is it possible to find the interval weights in time $o(n^2)$? Is it possible to approximate them with lower runtime?&lt;/strong&gt;&lt;/p&gt;&#xA;" OwnerUserId="21251" LastEditorUserId="282" LastEditDate="2014-01-23T19:08:02.287" LastActivityDate="2014-01-26T12:51:49.413" Title="Efficiently generate list of lightest intervals of a vector" Tags="&lt;ds.algorithms&gt;&lt;dynamic-programming&gt;" AnswerCount="4" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="20685" PostTypeId="2" ParentId="20682" CreationDate="2014-01-22T16:18:22.833" Score="21" Body="&lt;p&gt;From the comments above: the Hamiltonian cycle problem remains NP-complete even in grid graphs with max degree 3 [1], but in these graphs every traversal of a node requires two edges and at most one edge remains unused, so a node cannot be traversed twice by an Eulerian path.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So apparently there is an immediate reduction from the Hamiltonian cycle problem to your problem: &#xA;given a grid graph with max degree 3 $G = (V,E)$, just ask for a trail of length $|V|$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But all three edges of the node at the end of the trail can be used; to avoid this situation you can pick the top-left node $u$ of the grid graph (which has degree two) and add two nodes: $V' = V \cup \{u',u''\}$ and a new edges $E = E \cup  \{(u,u'), (u,u'')\}$ and ask for a trail of length $|V'| = |V|+2$: informally the added edge forces $u',u''$ to be the endpoints of the trail.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] Christos H Papadimitriou, Umesh V Vazirani, On two geometric problems related to the travelling salesman problem, Journal of Algorithms, Volume 5, Issue 2, June 1984, Pages 231-246, ISSN 0196-6774&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2014-01-22T16:30:36.117" LastActivityDate="2014-01-22T16:30:36.117" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="20686" PostTypeId="2" ParentId="20609" CreationDate="2014-01-22T17:09:05.173" Score="-5" Body="&lt;p&gt;will take a stab at answering this. there are no refs given in the question but it is given an acronym &quot;EPRP&quot; as if more than one person has studied it. does anyone know if that is the case? the questioner MC seems to have significant bkg in this area but it would help significantly to list some &quot;nearby&quot; refs known/reviewed to understand why they have some gap that doesnt (?) cover this supposedly special case.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;it usually helps to find &quot;nearest available refs&quot; and determine how the problem is different or similar. here is a comprehensive ref that seems to consider closely related problem(s). think that the questioner MC should try to locate the nearest case of the problem in this ref, or maybe some other one, and then point out how this case asked about is specifically different than general problem cases given in the ref. the ref has a long list of related refs to also check for nearby/related problem(s). he considers the complexity of the problem and gives efficient P-time algorithms for various cases.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.cs.umd.edu/~jkatz/THESES/sze.pdf&quot; rel=&quot;nofollow&quot;&gt;ON SOLVING UNIVARIATE POLYNOMIAL&#xA;EQUATIONS OVER FINITE FIELDS&#xA;AND SOME RELATED PROBLEMS&lt;/a&gt;&#xA;Tsz Wo Sze, Doctor of Philosophy, 2007&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;...we present a deterministic polynomial-time algorithm to&#xA;  solve polynomial equations over some families of finite fields. Note that polynomial&#xA;  equations are powerful constructs. Many problems can be formulated as polynomial&#xA;  equations.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2014-01-22T17:09:05.173" CommentCount="13" ContentLicense="CC BY-SA 3.0" />
  <row Id="20687" PostTypeId="1" AcceptedAnswerId="20691" CreationDate="2014-01-22T19:22:24.207" Score="13" ViewCount="310" Body="&lt;p&gt;In the &lt;a href=&quot;http://www.bundeswettbewerb-informatik.de/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Bundeswettberweb Infomatik&lt;/a&gt; 2010/2011, there was an interesting problem:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For fixed $n$, find a minimal $k$ and a map  $\varphi: \{(i,j)|i\leq j \leq n\}\rightarrow \{1,\ldots,k\}$, such that there is no triple $(i,j),(i+l,j),(i+l,j+l)$ with $\varphi(i,j)=\varphi(i+l,j)=\varphi(i+l,j+l)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Namely we are looking for the minimal amount of colors for a triangle, such that there is no uniformly colored equilateral subtriangle (the following picture shows an invalid coloring as the highlighted vertices form such an uniformly colored equilateral subtriangle):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\ \ \ ~~~~~~~~~~~~~~~~~~~~~~~~~~~$&lt;img src=&quot;https://i.stack.imgur.com/9Sblb.png&quot; alt=&quot;Example&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In fact they asked for a reasonably small $k$ for $n=1000$ and in the &lt;a href=&quot;http://www.bundeswettbewerb-informatik.de/fileadmin/templates/bwinf/aufgaben/bwinf29/loesungshinweise292.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;solution&lt;/a&gt; (written in german) they noted that a greedy approach yields a coloring with $27$ colors for $n=1000$, which can be reduced to $15$ by randomizing colors until a valid solution is found.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am interested into exact solutions (for smaller $n$). The solution says that backtracking yields that $2$ colors are sufficient for $n\in\{2,3,4\}$ and $3$ are sufficient for $5\leq n \leq 17$, where backtracking is already really slow for $n=17$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First I tried to use an ILP formulation and Gurobi to get some results for $n&amp;gt;17$, but it was too slow (already for $n=17$). Then I used a &lt;a href=&quot;http://www.labri.fr/perso/lsimon/glucose/&quot; rel=&quot;nofollow noreferrer&quot;&gt;SAT solver&lt;/a&gt;, because I noticed that there is a straight forward formulation as a SAT-instance.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;With that approach I was able to generate a solution with $3$ colors for $n=18$ within $10$ minutes:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\ \ \ ~~~~~~~~~~~~~~~~~~~~~~~~~~~$&lt;img src=&quot;https://i.stack.imgur.com/iIwnX.png&quot; alt=&quot;Solution with 3 colors for 18 nodes&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But to decide if $3$ colors suffice for $n=19$ it is already too slow. Is there some different approach that gives exact solutions for $n \geq 19$? Certainly we can't expect a polynomial algorithm.&lt;/p&gt;&#xA;" OwnerUserId="13956" LastActivityDate="2016-07-14T16:48:28.763" Title="Minimum amount of colors preventing an equilateral uniformly colored subtriangle" Tags="&lt;graph-theory&gt;&lt;sat&gt;&lt;combinatorics&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="20688" PostTypeId="1" AcceptedAnswerId="20689" CreationDate="2014-01-22T19:49:06.447" Score="7" ViewCount="8756" Body="&lt;p&gt;Finite state machines (FSM) are strictly less powerful than turing machines (TM).  But this is not the case with infinite state machines (ISM).  For example, every TM can be embedded into some ISM.  The opposite (that for every ISM there exists a TM that can be embedded within the ISM), however, is not true.  We can construct a counterexample from any FSM by adding an infinite number of states and no transitions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have two questions: &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Are all ISMs equivalent to either a FSM or TM?  (For example, does there exist an ISM that can recognize a context-free grammar, but nothing more powerful?)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Is there an algorithm for determining how powerful an ISM is?  &lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;EDIT: If such an algorithm doesn't exist, are there any reasonable heuristics or rules of thumb?&lt;/p&gt;&#xA;" OwnerUserId="10267" LastEditorUserId="10267" LastEditDate="2014-01-22T20:50:00.773" LastActivityDate="2014-01-22T22:26:10.527" Title="Difference between infinite state machines and turing machines" Tags="&lt;automata-theory&gt;&lt;turing-machines&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="20689" PostTypeId="2" ParentId="20688" CreationDate="2014-01-22T20:02:24.347" Score="2" Body="&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;A pushdown automaton is a particular case of ISM, so it is possible to recognize a context-free language with ISM.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;How would you give your ISM to the algorithm? Anyway a lot of problems are already undecidable for Pushown Automata (particular case of ISM) like equivalence or universality, so I guess the answer would be no for any reasonable question here.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="8953" LastActivityDate="2014-01-22T20:02:24.347" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="20690" PostTypeId="2" ParentId="20688" CreationDate="2014-01-22T20:38:20.103" Score="18" Body="&lt;p&gt;Let me provide you with an algorithm for recursively constructing an infinite state machine to decide any language $L \subseteq \{0,1\}^\ast$ that you like.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Make the initial state accept if the empty string is in the language.&lt;/li&gt;&#xA;&lt;li&gt;Create two states for the strings 0 and 1, which the initial state branches to depending on whether the first symbol is 0 or 1. Label these $q_0$ and $q_1$. If either of the strings 0 or 1 are in $L$, make the corresponding state accept.&lt;/li&gt;&#xA;&lt;li&gt;For a given $n \geqslant 1$, and for each state $q_x$ for $x \in \{0,1\}^n$, create two states $q_{x0}$ and $q_{x1}$, to which the state $q_x$ branches depending on whether the next symbol is 0 or 1. If either $x0 \in L$ or $x1 \in L$ is in the language, make the corresponding state accept. Having performed this for all $x \in \{0,1\}^n$, proceed to the next value of $n$, ad infinitum.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;This produces an infinite state machine which decides the language $L$. In particular, it decides $L$ regardless of whether $L$ is even computable, and even regardless of its position in the arithmetic hierarchy. So not only can you have infinite state machines which have power intermediate between FSMs and Turing machines, you can make it have as much or as little power as you like.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As to algorithms, note that the ISMs constructed this way have the same structure for any language: an infinite balanced binary tree. It in essence also represents the language directly, in that it effectively is equivalent to an infinite boolean string representing the characteristic function of the language $L$. As such, the subset of these ISMs which represent regular languages is not recursively enumerable: there is no way to conclude after a finite number of steps that the language recognised is regular, because for any candidate language that the ISM recognises, there could always be some exception &amp;mdash; but the ISM might still represent some more complicated regular expression, so neither can one conclude in a finite number of steps that the language it decides is &lt;em&gt;not&lt;/em&gt; a regular language. The complete lack of compression in the description of the language (which is necessary to be able to represent arbitrary languages using a common structure) makes it effectively impossible to decide such problems.&lt;/p&gt;&#xA;" OwnerUserId="248" LastEditorUserId="248" LastEditDate="2014-01-22T22:26:10.527" LastActivityDate="2014-01-22T22:26:10.527" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="20691" PostTypeId="2" ParentId="20687" CreationDate="2014-01-22T21:12:14.520" Score="10" Body="&lt;p&gt;Just an extended comment:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can take a look to the approach used by Steinbach and Posthoff to find &lt;a href=&quot;http://blog.computationalcomplexity.org/2012/02/17x17-problem-solved-also-18x18.html&quot; rel=&quot;noreferrer&quot;&gt;the 4-coloring of a 18x18 (and 12x21) grid without monochromatic rectangles&lt;/a&gt;:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.informatik.tu-freiberg.de/prof2/publikationen/ISMVL_2013_slofcrfg.pdf&quot; rel=&quot;noreferrer&quot;&gt;Bernd Steinbach and Christian Posthoff, Solution of the Last Open Four-Colored Rectangle-free Grid an Extremely Complex Multiple-Valued Problem&lt;/a&gt;. In Proceedings of the 2013 IEEE 43rd International Symposium on Multiple-Valued Logic (ISMVL '13)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As proved by Gasarch et al. given a partial $c$-coloring of an arbitrary $n \times m$ rectangle, it is NP-complete to decide if the coloring can be extended to the whole rectangle without monochromatic rectangles: &lt;a href=&quot;http://arxiv.org/abs/1205.3813&quot; rel=&quot;noreferrer&quot;&gt;Daniel Apon, William Gasarch, Kevin Lawler, An NP-Complete Problem in Grid Coloring&lt;/a&gt;. &#xA;So there are high chances that the problem is NP-complete even for equilateral triangles .... I think it would be a nice result to prove it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Just a side note: I spent weeks of CPU cycles on the monochromatic rectangle-free 4-coloring problem but I started from a wrong partial result (a wrong previous analysis that restricted the number of possible 1-color sub-configurations) and I used the &lt;a href=&quot;https://sites.google.com/site/stpfastprover/&quot; rel=&quot;noreferrer&quot;&gt;STP constraint solver&lt;/a&gt;; you can achieve great improvements if you add constraints that break symmetries (e.g. an ordering on the coloring of a side of the triangle) and try to make an analysis of the possible configurations using only 1-color.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT: this is the result of an STP program for n=19 (~ 1 min.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/NMilL.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2014-01-27T23:01:01.787" LastActivityDate="2014-01-27T23:01:01.787" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="20693" PostTypeId="1" AcceptedAnswerId="20698" CreationDate="2014-01-23T00:24:15.027" Score="6" ViewCount="256" Body="&lt;p&gt;I'm looking for a set of permutations over $n$ elements $\mathcal{P}=\{P_1,P_2,...,P_r\}$ of minimal size such that for every ordered subset of size $k$, $S=&amp;lt;x_1,x_2,...,x_k&amp;gt;, (x_i \in [n])$, there exists a permutation $P \in\mathcal{P}, $ such that $P(x_1)&amp;lt;P(x_2)&amp;lt;...&amp;lt;P(x_k)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A simple probabilistic argument can show that such family of size $r=k!\cdot k\cdot log(n)+1$ exists:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose we draw $r$ random permutations.&#xA;The chance that some specific $&amp;lt;x_1,...,x_k&amp;gt;$ is not ordered by non of the permutations is $(1-\frac{1}{k!})^r$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Using the union bound, the chance that any ordered k tuple will not be ordered is bounded by:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$(1-\frac{1}{k!})^r\cdot$$ n\choose k$$\cdot k!&amp;lt;(1-\frac{1}{k!})^r\cdot n^k &amp;lt; n^k\cdot e^{-r/k!}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we demand that the probability will be less than 1 (which ensures such family exists), we get the desired size, $r&amp;gt;k!\cdot k\cdot log(n)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The question is:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Is there an explicit build for such family? is it computable in $O(k!\cdot poly(n))$ time?&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This question might have been referred to somewhere in a different name, so if anyone is familiar with it, a reference will be great.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit:&lt;/strong&gt; Andreas gave a nice build for parametric $k$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;What about the case that $k$ is a small, fixed number?&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $k=2$, then it's easy: take $\mathcal{P}=\{&amp;lt;1,2,...,n&amp;gt;,&amp;lt;n,n-1,...,1&amp;gt;\}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can we build $O(1)$ sized 3-perfect permutation family? higher fixed $k$?&lt;/p&gt;&#xA;" OwnerUserId="21001" LastEditorUserId="21001" LastEditDate="2014-03-11T22:58:32.053" LastActivityDate="2014-03-11T22:58:32.053" Title="Constructing a k-perfect permutations family" Tags="&lt;ds.algorithms&gt;&lt;co.combinatorics&gt;&lt;extremal-combinatorics&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="20694" PostTypeId="1" AcceptedAnswerId="20697" CreationDate="2014-01-23T06:57:41.320" Score="7" ViewCount="370" Body="&lt;p&gt;I understand that the study of Boolean circuits and nonuniform complexity classes was introduced to (hopefully) prove separation of uniform complexity classes.  In this sense, nonuniform computational models can be thought of as a secondary device in complexity theory, the main interest being the uniform model.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, in algebraic complexity, the situation seems to have been the other way around.  Algebraic nonuniform models including algebraic circuits were studied long before the uniform Blum-Shub-Smale machines were introduced.  I am confused about this; since nonuniformity preceded uniformity in the algebraic setting, something about nonuniformity should have been unsatisfactory.  But what was wrong with straight-line programs?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'd be grateful if you could tell me why uniformity in algebraic complexity theory can be preferable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT: I realized that uniformity helps if you are discussing &lt;em&gt;computability&lt;/em&gt; of algebraic problems.&lt;/p&gt;&#xA;" OwnerUserId="7462" LastEditorUserId="7462" LastEditDate="2014-01-23T12:57:52.600" LastActivityDate="2014-01-23T12:57:52.600" Title="Uniformity vs. nonuniformity in algebraic complexity theory" Tags="&lt;cc.complexity-theory&gt;&lt;algebraic-complexity&gt;&lt;arithmetic-circuits&gt;&lt;computing-over-reals&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20695" PostTypeId="1" CreationDate="2014-01-23T09:10:53.477" Score="2" ViewCount="110" Body="&lt;p&gt;We have a linear program in the standard form $Ax=b,x\geq 0$ with $A(i,j)\in\{-1,0,1\}\:\forall\,i,j$ and $b(i)\in\{0,1\}\:\forall\,i$. $A$ is not full rank. Is the time complexity of testing the feasibility of this LP any better than that of general LPs? If yes, is there an algorithm known? Thanks in advance.&lt;/p&gt;&#xA;" OwnerUserId="9295" LastActivityDate="2014-01-23T19:13:02.327" Title="Testing feasibility of special linear programs" Tags="&lt;cc.complexity-theory&gt;&lt;linear-programming&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20696" PostTypeId="2" ParentId="20684" CreationDate="2014-01-23T09:29:03.957" Score="0" Body="&lt;p&gt;Assuming you really meant the minimal weight interval as Sasho suggested, answering each query in $O(n)$ time and $O(1)$ space is trivial:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Compute the sum of the first $i$ elements, then go through the vector with a sliding window of size $i$ (keep a $sum$ and $min$ variables), and compare its sum to $min$ for every index. Every time a new minimal window is discovered, save it's start index, so after a single path you have the lightest interval of size $i$.&lt;/p&gt;&#xA;" OwnerUserId="21001" LastEditorUserId="21001" LastEditDate="2014-01-23T09:54:00.453" LastActivityDate="2014-01-23T09:54:00.453" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="20697" PostTypeId="2" ParentId="20694" CreationDate="2014-01-23T09:32:17.220" Score="10" Body="&lt;p&gt;Blum, Shub and Smale created their model based on known algebraic models of computations, to unify (as much as possible) complexity theory and numerical analysis (&lt;em&gt;cf.&lt;/em&gt; [1]). They wanted to give solid theoretical foundations to numerical analysis, and they wanted uniformity since the algorithms used in &lt;em&gt;real life&lt;/em&gt; are uniform. Also, their model is a generalization of the Turing Machine, and having uniformity implies that $\mathsf {(N)P}_{\mathbb Z_2}$ in their model equals precisely $\mathsf{(N)P}$ in the classical model.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Uniformity is much less central for lower-bound questions, or as Bürgisser states it [2]:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Before, uniformity was not studied systematically in algebraic complexity, mainly because it is unknown how to exploit the uniformity condition for lower bound proofs.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Note that non-uniformity in the BSS model can be studied also. This is the viewpoint taken for instance by Poizat [3].&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As a final note, BSS model and Valiant's model have different goals, and I am not sure that uniformity is &quot;preferable&quot;, neither that non-uniformity is preferable. As a argument for this, both models are used today to study different questions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;References&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] Lenore Blum, Felipe Cucker, Mike Shub, and Steve Smale. &quot;&lt;a href=&quot;http://www.math.toronto.edu/shub/IJBC_0601.pdf&quot;&gt;Complexity and real computation: A manifesto.&lt;/a&gt;&quot; International Journal of Bifurcation and Chaos 6, no. 01 (1996): 3-26.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] Peter Bürgisser. &lt;a href=&quot;http://www-math.uni-paderborn.de/agpb/work/habil.pdf&quot;&gt;Completeness and reduction in algebraic complexity theory&lt;/a&gt;. Vol. 7. Springer, 2000.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[3] Bruno Poizat. Les petits cailloux: une approche modèle-théorique de l'algorithmie. Aléas, 1995.&lt;/p&gt;&#xA;" OwnerUserId="976" LastActivityDate="2014-01-23T09:32:17.220" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="20698" PostTypeId="2" ParentId="20693" CreationDate="2014-01-23T10:10:43.647" Score="6" Body="&lt;p&gt;Here is a sketch on how to do almost what you want, but not quite. &#xA;It only proves a $k^{k+\operatorname{polylog}(k)}\log n$ bound.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider a set of size $m=n\log_2 k$ which we think of as $n$ groups on $\log_2 k$ elements each.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Next construct an $(m,k\log_2 k)$-universal set family $F$ of size $2^{k\log k+\operatorname{polylog}(k)}\log m$ using &#xA;the method of &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=796315&quot; rel=&quot;nofollow&quot;&gt;Naor, Schulman, and Srinivasan&lt;/a&gt;. We interprete each set in $F$ as a string on $n$ symbols from $[k]$ with one symbol for each group.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now we turn each string into a permutation of $[n]$ in the following way:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We first think of the $n$ first positive integers divided in $k$ stacks $T_0$ throgh $T_{k-1}$ where $T_0$ contains the elements $1,...,n/k$ from top to bottom, $T_1$ contains $n/k+1,...,2n/k$, and so on.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We parse each string $s_1s_2...s_n\in F$ into a permutation by considering the symbols one at a time for increasing $j$, and on encountering symbol $s_j$ we pop the stack&#xA;$T_{s_j}$ from the top and put that number in place $j$ of the permutation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since the family $F$ was $(m,k\log_2 k)$-universal, we know that for every ordered set of $k$ of the $n$ groups, there is one string that maps the symbols $0$,$1$,...,$k-1$ to that ordered set. By the construction of the stacks, the elements fetched to the permutations preserve the order required.&lt;/p&gt;&#xA;" OwnerUserId="679" LastEditorUserId="679" LastEditDate="2014-01-23T12:13:29.763" LastActivityDate="2014-01-23T12:13:29.763" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20699" PostTypeId="2" ParentId="20684" CreationDate="2014-01-23T11:11:59.627" Score="1" Body="&lt;p&gt;You can build the whole table using the following $O(n^2)$ construction:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;1: 1   1   0 z:0 w:1   2   1   0   0   0   1    &#xA;2:   2   1   0   1   3   3   1   0   0   1&#xA;3:   y:2   1   1   3   4 v:3   1   0   1&#xA;4:     x:2   2   3   4 u:4 ...&#xA;5:        ...&#xA;...&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;At every step you are calculating the value $x$ at the top of a &quot;reversed triangle&quot;, and the value is simply the sum of an adjacent element in the previous row ($y$ in the figure) and the opposite vertex at the base of the triangle ($z$ in the figure).&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;*         z&#xA; ...   ...&#xA;   y   *&#xA;     x&#xA;x = y + z&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;or equivalently:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;w         *&#xA; ...   ...&#xA;   *   v&#xA;     u&#xA;u = v + w&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;For each row the difficulty is given by the lower element of that row.&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2014-01-23T11:19:09.920" LastActivityDate="2014-01-23T11:19:09.920" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="20700" PostTypeId="1" AcceptedAnswerId="20701" CreationDate="2014-01-23T13:20:09.293" Score="0" ViewCount="198" Body="&lt;p&gt;After looking at textbooks and trying to derive by my own deductive abilities, I was not able to see whether polynomial solution for #P-complete problem (that is counting problem done in polynomial time) do or do not lead to polynomial solution for PSPACE problem. Can anyone show me why it has to be one or the other way?&lt;/p&gt;&#xA;" OwnerUserId="21261" LastEditorUserId="21261" LastEditDate="2014-01-23T13:46:52.457" LastActivityDate="2014-01-23T20:15:54.967" Title="Would polynomial solution for #P-complete problem mean polynomial solution for PSPACE problem?" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="20701" PostTypeId="2" ParentId="20700" CreationDate="2014-01-23T15:49:55.753" Score="8" Body="&lt;p&gt;We know that #P is included in FPSPACE (the class of function problems corresponding to PSPACE), but we currently do not know if this inclusion is proper or not. Therefore, a polynomial time algorithm for #P-complete problems does not necessarily imply a polynomial time algorithm for all problems in PSPACE.&lt;/p&gt;&#xA;" OwnerUserId="20544" LastEditorUserId="20544" LastEditDate="2014-01-23T20:15:54.967" LastActivityDate="2014-01-23T20:15:54.967" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="20702" PostTypeId="2" ParentId="20695" CreationDate="2014-01-23T19:13:02.327" Score="3" Body="&lt;p&gt;My first observation: we know how to solve &lt;a href=&quot;http://pubsonline.informs.org/doi/abs/10.1287/opre.34.2.250&quot; rel=&quot;nofollow&quot;&gt;your LPs in strongly polynomial time&lt;/a&gt;, but this is an open question for general LPs.&lt;/p&gt;&#xA;" OwnerUserId="13056" LastActivityDate="2014-01-23T19:13:02.327" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20703" PostTypeId="2" ParentId="20684" CreationDate="2014-01-23T19:40:44.083" Score="0" Body="&lt;p&gt;Apply &lt;a href=&quot;http://en.wikipedia.org/wiki/Prefix_sum&quot; rel=&quot;nofollow&quot;&gt;parallel prefix&lt;/a&gt;. $O(n)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In parallel subtract the prefix that is $k-1$ before it. $O(n)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.mcs.anl.gov/research/projects/mpi/www/www3/MPI_Reduce.html&quot; rel=&quot;nofollow&quot;&gt;Reduce&lt;/a&gt; the array in parallel and get the min $O(n)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You could alternatively formulate this as a monoid that esentially @RB's solution but made to run in parallel. I did one for &lt;a href=&quot;https://gist.github.com/chadbrewbaker/4542999&quot; rel=&quot;nofollow&quot;&gt;arbitrary length roman numerals&lt;/a&gt; last year for a Iowa Ruby Brigade kata.&lt;/p&gt;&#xA;" OwnerUserId="2021" LastActivityDate="2014-01-23T19:40:44.083" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20704" PostTypeId="2" ParentId="20669" CreationDate="2014-01-23T23:29:31.927" Score="3" Body="&lt;p&gt;No, &quot;weakly universal&quot; is not a stronger requirement than &quot;truly random&quot;.  There are hash functions that satisfy the former but not the latter, e.g., $h(x) = ax+b$ over a finite field.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As far as whether &quot;weakly universal&quot; is a &quot;quite strong&quot; requirement, I guess that depends on your definition of &quot;quite strong&quot;, now, doesn't it?&lt;/p&gt;&#xA;" OwnerUserId="5038" LastActivityDate="2014-01-23T23:29:31.927" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20705" PostTypeId="1" CreationDate="2014-01-24T01:25:13.140" Score="3" ViewCount="82" Body="&lt;p&gt;I've got a convex program of the form:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Choose $v \in \mathbb{R}^n$ to minimize $vAv^T$ subject to $O(n)$ linear contraints (including $v \ge 0$).  $A$ is a square binary matrix.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What algorithm gives me the best asymptotic solution?&lt;/p&gt;&#xA;" OwnerUserId="11051" LastEditorUserId="11051" LastEditDate="2014-01-24T04:30:02.553" LastActivityDate="2014-01-24T04:30:02.553" Title="What is the state-of-the-art asymptotics for convex optimization?" Tags="&lt;convex-optimization&gt;&lt;asymptotics&gt;" AnswerCount="0" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="20707" PostTypeId="1" AcceptedAnswerId="20728" CreationDate="2014-01-24T06:20:21.173" Score="6" ViewCount="237" Body="&lt;p&gt;Assume we have some oracle $A$ such that when given as input a Boolean formula $\phi$, it outputs a 2-approximation to the number of satisfying assignments of $\phi$. If we are given multiple SAT instances $\phi_1,\ldots, \phi_m$ (where $m$ is a small constant such as 10, 5, or even 2), using only one query to $A$, how could I show in polynomial time which formulas are satisfiable?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that $\phi$ is unsatisfiable if and only if $A$ outputs 0 on input $\phi$.&lt;/p&gt;&#xA;" OwnerUserId="21148" LastEditorUserId="21148" LastEditDate="2014-01-25T20:19:31.913" LastActivityDate="2014-01-26T07:43:52.440" Title="Solve multiple instances of SAT with a 2-approximating #SAT query" Tags="&lt;cc.complexity-theory&gt;&lt;sat&gt;&lt;counting-complexity&gt;" AnswerCount="1" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="20709" PostTypeId="2" ParentId="20684" CreationDate="2014-01-24T07:46:28.320" Score="0" Body="&lt;p&gt;There is a &lt;a href=&quot;http://en.wikipedia.org/wiki/Branch_and_bound&quot; rel=&quot;nofollow&quot;&gt;Branch and Bound&lt;/a&gt; solution that I &lt;em&gt;think&lt;/em&gt; runs in $O(n \log n)$. &#xA;It works assuming that all elements in the vector $X$ are non-negative. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Intervals.&lt;/strong&gt; &#xA;An interval $X[b..e]$ is represented as a tuple $(b,e,w)$, where $w$ is the  weight $w=X[b] + X[b+1] + \cdots + X[e]$. The length is $y.length=e-b+1$, &#xA;its left extension is $y.left = (b-1,e,s+X[b-1])$, and its right extension is $(b,e+1,s+X[e+1])$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Data Structures.&lt;/strong&gt;&#xA;The algorithm uses two data structures. The second one is a set of elements represented as a balanced binary tree, in which insertion, deletion and access run in $O(\log n)$.&#xA;I assume that the input list of numbers $X$ is an array, so any access to $X$ is in constant time.   &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Algorithm.&lt;/strong&gt;&#xA;The algorithm uses two data structures to control the B&amp;amp;B process &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$queue$ is a priority queue of intervals that sorts these first by weight (lighter first), length (longer first) and  position (leftmost first). The queue is implemented using a heap array, in which add and remove operations run in logarithmic time. &lt;/li&gt;&#xA;&lt;li&gt;$alive$ is a set of pairs $(b,e)$, where each pair represents the beginning and end of an interval. Intuitively, an interval is alive if it is in the queue and there is no other interval in the queue that contains it. The set is implemented with a balanced tree, with insertions and deletions in $O(\log s)$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Here is the algorithm in pseudocode. &lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;queue := emptyQueue(); &#xA;alive := emptySet(); &#xA;for ( j &amp;lt;— 1..N ) {&#xA;    queue.insert( (j,j,X[j])) ; &#xA;    alive.insert( (j,j) ) ; &#xA;}&#xA;l = 1&#xA;while ( l &amp;lt;= N){&#xA;    h@(b,e,s) = queue.first()&#xA;    queue.removeFirst()&#xA;    if( alive.contains(b,e) ){&#xA;        alive.remove(b,e) &#xA;        if ( h.length == l) {&#xA;            C[l] = h&#xA;            l ++ &#xA;        }&#xA;        if (b &amp;gt; 1){&#xA;            left = h.left&#xA;            queue.insert(left)&#xA;            alive.insert( b-1,e  ) &#xA;            alive.remove( b-1,e-1 )&#xA;            alive.remove( b-1,b-1 )&#xA;        }&#xA;        if (e &amp;lt; N){&#xA;            right = h.right&#xA;            queue.insert(right)&#xA;            alive.insert( b  ,e+1 ) &#xA;            alive.remove( b+1,e+1 )&#xA;            alive.remove( e+1,e+1 )&#xA;        }  &#xA;    }&#xA;}&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;The initialisation runs in $O(N\log N)$ time. The $\mathtt{while}$ loop performs an unknown number $f$ of iterations. Each one performs several operatios on the queue and set with running times in $O(\log s)$ and $O(\log q)$, where $q$ and $s$ are the maximum number of elements in the queue and set during the algorithm. This maximum number is below $f+N$. &#xA;The key to control the loop is the $alive$ set of intervals, whose elements are pairwise not-contained, so there are at most $N$ elements in the set.  &lt;/p&gt;&#xA;" OwnerUserId="15558" LastEditorUserId="15558" LastEditDate="2014-01-26T12:51:49.413" LastActivityDate="2014-01-26T12:51:49.413" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20712" PostTypeId="1" CreationDate="2014-01-24T16:23:52.687" Score="2" ViewCount="304" Body="&lt;p&gt;Consider this &quot;variant&quot; of linear programming:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Notation: $\max\{ x_1, \cdots, x_n \}$ denotes the maximal number among $x_1, \cdots, x_n$;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;minimize $\sum a_i x_i$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;such that       $\max\{x_i\mid i\in J_k\}=b_k$ where $1\leq k\leq m$ and $J_k\subseteq \{1, \cdots, n\}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;minimize $0.1 x_1+ 0.2x_2 +0.3x_3+0.4 x_4$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;such that  $\max\{x_1, x_4\}=0.7$ and $\max\{x_1, x_2, x_3\}=0.5$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What's the complexity of  solving this problem? Can it be reduced to linear programming? Is there any efficient approach? Or is there any deep theory behind this problem?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Many thanks. &lt;/p&gt;&#xA;" OwnerUserId="21036" LastEditorUserId="3247" LastEditDate="2014-01-31T08:25:02.347" LastActivityDate="2014-03-02T23:43:08.337" Title="A variant of linear programming" Tags="&lt;cc.complexity-theory&gt;&lt;linear-programming&gt;" AnswerCount="2" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="20714" PostTypeId="2" ParentId="7737" CreationDate="2014-01-24T17:05:10.070" Score="-2" Body="&lt;p&gt;Sorry to bring up an old thread.  But here's something that might be relevant.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let &lt;strong&gt;pCFL&lt;/strong&gt; be the class of permutation-closed CFLs.  The equality problem for &lt;strong&gt;pCFL&lt;/strong&gt; is decidable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given $L$ in $\Sigma = \{ \sigma_1 , \dots , \sigma_n \}$, let $W_L = \{ \langle \#_{a_1}(w) , \dots , \#_{a_n}(w) \rangle \mid w \in L\}$. By Parikh's Theorem, $W_L$ is semilinear whenever $L$ is context-free.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, if $L$ is in &lt;strong&gt;pCFL&lt;/strong&gt;, we have that $w \in L$ iff $\langle \#_{a_1}(w) , \dots , \#_{a_n}(w) \rangle \in W_L$.  Thus, for $L_1 , L_2$ in &lt;strong&gt;pCFL&lt;/strong&gt;, $L_1 = L_2$ iff $W_{L_1} = W_{L_2}$. But equality of semilinear sets is decidable; see:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Huynh 1980 &quot;The complexity of semilinear sets&quot;: &lt;a href=&quot;http://link.springer.com/chapter/10.1007%2F3-540-10003-2_81#&quot; rel=&quot;nofollow&quot;&gt;http://link.springer.com/chapter/10.1007%2F3-540-10003-2_81#&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;This raises a question to which I would like to know the answer: is it decidable whether a given context-free language is permutation-closed?&lt;/p&gt;&#xA;" OwnerUserId="21279" LastActivityDate="2014-01-24T17:05:10.070" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="20715" PostTypeId="1" AcceptedAnswerId="20727" CreationDate="2014-01-24T17:32:55.270" Score="6" ViewCount="634" Body="&lt;p&gt;CFL is the class of context-free languages; co-CFL the languages whose complements are context-free.  So CFL $\neq$ co-CFL.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there any nice characterizations or other basic facts about CFL $\cap$ co-CFL?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Two easy examples of the kind of fact I have in mind (but one would like more precise information):&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;DCFL $\subseteq$ CFL $\cap$ co-CFL.&lt;/li&gt;&#xA;&lt;li&gt;pCFL $\subseteq$ CFL $\cap$ co-CFL, where pCFL is the class of CFLs that are permutation-closed.  It's closed under complement by Parikh's theorem and the fact that semilinear sets are definable in Presburger arithmetic.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Another related question: given a CFL $L$, it's undecidable whether $L \in$ DCFL.  Is the same true for pCFL?&lt;/p&gt;&#xA;" OwnerUserId="21279" LastEditorUserId="21279" LastEditDate="2014-01-24T18:16:35.710" LastActivityDate="2014-01-25T15:00:50.573" Title="What is known about $CFL \cap coCFL$?" Tags="&lt;context-free&gt;&lt;decidability&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="20717" PostTypeId="1" CreationDate="2014-01-24T19:11:57.513" Score="-4" ViewCount="446" Body="&lt;p&gt;hi all there seems to be a deep/not-much-explored phenomenon in the way that SAT resolution proofs can define a tree and/or a DAG &amp;amp; its relationship to lower bounds/circuit complexity. could there be something very significant here? here is a 1999 paper by Iwama, Miyazaki that describes this phenomenon: &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.45.9531&quot; rel=&quot;nofollow noreferrer&quot;&gt;Tree-Like Resolution Is Superpolynomially Slower Than DAG-Like Resolution for the Pigeonhole Principle&lt;/a&gt;. from abstract:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Our main result shows that a shortest proof size of tree-like resolution for the pigeonhole principle is superpolynomially larger than that of DAG-like resolution. In the proof of a lower bound, we exploit a relationship between tree-like resolution and backtracking, which has long been recognized in this field but not been used before to give explicit results.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;this seems very significant in that at heart, circuits are all about DAGs, and have long conjectured there may be a link here such that circuits might be defined by the trees or DAGs that occur in SAT resolution proofs. however, there is only a single binary-like operation in resolution proofs, so that is one challenge,[4] whereas in circuits at the minimum there are usually two, AND/OR with monotone circuits, although the single XOR operation is functionally complete.[1] the dichotomy of trees vs DAGs seems also a big theme arising in complexity theory.[2,3]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;anyway, my question:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;are there new results/directions in this area/line of research? something that builds on it or considers something similar?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;this is more a big-picture question and am not looking for strictly identical methods etc. and not all answers need have refs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] &lt;a href=&quot;https://cstheory.stackexchange.com/questions/10396/0-1-vector-xor-problem&quot;&gt;(0,1)-vector XOR problem&lt;/a&gt; tcs.se&lt;br&gt;&#xA;[2]  &lt;a href=&quot;https://cstheory.stackexchange.com/questions/19621/p-poly-vs-np-separation-based-on-circuit-trees-instead-of-dags&quot;&gt;P/poly vs NP separation based on circuit trees instead of DAGs&lt;/a&gt; tcs.se&lt;br&gt;&#xA;[3] &lt;a href=&quot;https://cs.stackexchange.com/questions/9940/formulas-vs-circuits&quot;&gt;formulas vs circuits&lt;/a&gt; cs.se&lt;br&gt;&#xA;[4] &lt;a href=&quot;https://cs.stackexchange.com/questions/9211/building-functionally-complete-boolean-circuits-out-of-trinary-logic&quot;&gt;building circuits out of trinary logic&lt;/a&gt; cs.se&lt;br&gt;&#xA;[5] &lt;a href=&quot;https://cstheory.stackexchange.com/questions/16500/in-sat-resolution-proofs-are-all-dags-possible?rq=1&quot;&gt;in SAT resolution proofs, are all DAGs possible?&lt;/a&gt; tcs.se&lt;/p&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="-1" LastEditDate="2017-04-13T12:48:30.830" LastActivityDate="2014-01-24T21:13:23.923" Title="&quot;tree-like&quot; vs &quot;DAG-like&quot; resolution" Tags="&lt;reference-request&gt;&lt;graph-theory&gt;&lt;circuit-complexity&gt;&lt;big-picture&gt;&lt;resolution&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="20718" PostTypeId="2" ParentId="20717" CreationDate="2014-01-24T21:13:23.923" Score="7" Body="&lt;p&gt;The same distinction exists in circuit complexity: tree-like circuits are known as &lt;em&gt;formulas&lt;/em&gt;, and it is easier to prove lower bounds for them. For example, there are no superlinear lower bounds for circuits (for explicit functions), but for formulas there is an $\tilde\Omega(n^3)$ average-case &lt;a href=&quot;http://eccc.hpi-web.de/report/2013/058/&quot;&gt;lower bound&lt;/a&gt;, proved recently by Komargodski, Raz and Tal, extending an &lt;a href=&quot;http://www.csc.kth.se/~johanh/shrinkgeneral.pdf&quot;&gt;old result&lt;/a&gt; of Håstad.&lt;/p&gt;&#xA;" OwnerUserId="40" LastActivityDate="2014-01-24T21:13:23.923" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="20720" PostTypeId="2" ParentId="3604" CreationDate="2014-01-24T21:35:23.843" Score="5" Body="&lt;p&gt;&lt;strong&gt;Regarding the choice of basis:&lt;/strong&gt; all finite bases are (polynomially) equivalent. That means that if $C$ is a circuit over a &lt;em&gt;finite&lt;/em&gt; base $B$ and $B'$ is any complete basis, then there is an equivalent circuit $C'$ over $B'$ of size at most $\alpha_1 |C|^{\alpha_2}$, where $\alpha_1,\alpha_2$ depend only on $B,B'$. This is proved for example in &lt;a href=&quot;http://www.cs.toronto.edu/~sacook/homepage/reckhow_thesis.pdf&quot; rel=&quot;noreferrer&quot;&gt;Reckhow's thesis&lt;/a&gt; (Section 5.3), though the result itself is due to &lt;a href=&quot;http://citeseer.uark.edu:8080/citeseerx/showciting;jsessionid=F593B995B9338A1124209542D7EE5B48?cid=1249521&quot; rel=&quot;noreferrer&quot;&gt;Spira&lt;/a&gt;. What this means informally is that when we're doing circuit complexity, we don't really care whether the basis is NAND or AND, OR, NOT. (That's because in circuit complexity we often don't care about polynomial factors.) NAND was chosen because that's what can be implemented in hardware. AND, OR, NOT were chosen for historical reasons: that's what was used in logic (along with similar bases such as NOT, IMPLIES for which $\alpha_2 = 1$ both ways). Circuits with unlimited arity PARITY gates don't fall under this formalism, since the basis is infinite.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Regarding the importance of Håstad's result:&lt;/strong&gt; This was the first non-trivial bound in circuit complexity. It is still one of the best bounds known for non-monotone models, along with the Razborov&amp;ndash;Smolensky methods, and Razborov's slightly superlinear lower bound for switching networks. All other bounds rely on restrictions of the model, usually monotonicity.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Parity is computed in real life in an iterative fashion, using tables or simply by &quot;deep&quot; circuits (this concept is of course hard to define exactly, since constant depth is an asymptotic notion). That's a different model. Circuits considered in circuit complexity are good enough for the P vs. NP question (or rather, P/poly vs. NP). At the time, it seems that people thought that the methods developed for small complexity classes would scale up to polysize circuits, but this hope hasn't materialized. Nowadays it is a less presumptuous specialist area.&lt;/p&gt;&#xA;" OwnerUserId="40" LastActivityDate="2014-01-24T21:35:23.843" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20721" PostTypeId="1" AcceptedAnswerId="20736" CreationDate="2014-01-24T21:58:01.457" Score="6" ViewCount="295" Body="&lt;p&gt;Given two circuits, how hard is it to tell if they represent the same function? Clearly, this must be at least as easy as Graph Isomorphism since you can represent any circuit as a graph.&lt;/p&gt;&#xA;" OwnerUserId="13963" LastActivityDate="2014-01-26T03:51:12.237" Title="How hard is the Circuit Isomorphism problem?" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;&lt;graph-isomorphism&gt;" AnswerCount="1" CommentCount="6" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="20722" PostTypeId="1" CreationDate="2014-01-24T22:03:04.017" Score="12" ViewCount="220" Body="&lt;p&gt;Let $G=(V,E)$ be a finite simple 2-connected graph. Let $B\subseteq E$ be a set of bad edges of size $k:=|B|$. For each edge $e\in E$ we toss a fair coin ($p=1/2$) and if the outcome is head, we hit the edge $e$ and we let it die (sorry about that).&#xA;At the end of the process, we consider the set of survived edges $S$ and we look at the graph $G[S]$ consisting of survived edges only. Let $C_1, \ldots, C_n$ be the connected components of $G[S]$ and let $e=(u,v)$ be a dead edge: we say that $e$ died with honor if there exists just a single component $C_i$ s.t. $u,v\in C_i$, that is $e$ dies with honor if it doesn't connect two different components of the survived edges graph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What can we say about the probability $P_H$ of the event $H=$&quot;all the bad edges $B$ are dead and at least one died with honor&quot; ? Can we lower bound somehow this probability as a function of $k$ ? Can we find structural hypothesis over $G$ or particular distributions for random $G$ in order to do that ? &lt;/p&gt;&#xA;" OwnerUserId="20792" LastEditorUserId="20792" LastEditDate="2014-01-25T09:30:00.530" LastActivityDate="2014-01-25T09:30:00.530" Title="Hitting edges in graphs at random and let them die with honor" Tags="&lt;graph-theory&gt;&lt;randomized-algorithms&gt;" AnswerCount="0" CommentCount="6" FavoriteCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20723" PostTypeId="1" CreationDate="2014-01-24T23:28:31.883" Score="15" ViewCount="1663" Body="&lt;p&gt;One way to show that checking the feasibility of a linear system of inequalities is as hard as linear programming is via the reduction given by the ellipsoid method. An even easier way is to guess the optimal solution and introduce it as a constraint via binary search. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Both of these reductions are polynomial, but not strongly polynomial (i.e they depend on the number of bits in the coefficients of the inequalities). &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there a strongly polynomial reduction from LP optimization to LP&#xA;  feasibility ?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="80" LastActivityDate="2014-01-29T13:06:07.920" Title="Equivalence of feasibility checking and optimization for linear systems" Tags="&lt;ds.algorithms&gt;&lt;linear-programming&gt;" AnswerCount="1" CommentCount="14" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="20727" PostTypeId="2" ParentId="20715" CreationDate="2014-01-25T15:00:50.573" Score="6" Body="&lt;p&gt;About the last question, the usual undecidability proof for universality could be adapted.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Recall that in this proof, one considers an instance $\langle \Sigma,\Delta,u,v\rangle$ of Post's correspondence problem, where $\Sigma$ and $\Delta$ are two disjoint alphabets, and $u$ and $v$ are two homomorphisms from $\Sigma^\ast$ to $\Delta^\ast$.  Then $$L_u=\{a_1\cdots a_n(u(a_1\cdots a_n))^R\mid n&amp;gt;0\wedge\forall 0&amp;lt;i\leq n.a_i\in\Sigma\}$$ and $$L_v=\{a_1\cdots a_n(v(a_1\cdots a_n))^R\mid n&amp;gt;0\wedge\forall 0&amp;lt;i\leq n.a_i\in\Sigma\}$$&amp;mdash;where $w^R$ denotes the reversal of word $w$&amp;mdash;are two DCFLs s.t. $L_u\cap L_v=\emptyset$ iff the original PCP instance was negative.  Letting $$L=\overline{L_u}\cup\overline{L_v}\;,$$one thus defines a CFL (since DCFLs are effectively closed under complement and CFLs under union), which is universal, i.e. equal to $(\Sigma\cup\Delta)^\ast$, iff the original PCP instance was negative.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, if $L$ is universal, i.e. if $L=(\Sigma\cup\Delta)^\ast$, then $L$ is closed under permutations.  Conversely, if $L$ is not universal, i.e. if $L_u\cap L_v\neq\emptyset$, there is at least one word $x$ of form $x=w(u(w))^R=w(v(w))^R$ for some $w$ in $\Sigma^+$.  Then $x$ does not belong to $L$, but it's easy to find a permutation of $x$ that belongs to $L$: for instance, permute the last letter of $w$ (which is in $\Sigma$) with the first of $(u(w))^R$ (which is in $\Delta$) to obtain a word in $\Sigma^\ast\Delta\Sigma\Delta^\ast\subseteq L$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hence $L$ is closed under permutation iff it is universal iff the original PCP instance was negative.&lt;/p&gt;&#xA;" OwnerUserId="609" LastActivityDate="2014-01-25T15:00:50.573" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20728" PostTypeId="2" ParentId="20707" CreationDate="2014-01-25T20:11:13.443" Score="6" Body="&lt;p&gt;Here's a sketch argument for constant $m$. I'll use $Z(\cdot)$ to denote the operator that takes a formula to its number of satisfying assignments. Let $T$ be a parameter to be determined later. You can easily construct formulae $\phi'_i$ with $Z(\phi'_i)=1+2^{2^iT}Z(\phi_i)$ for each $1\leq i\leq m$. Let $\phi$ be the conjunction $\phi'_1\wedge\cdots\wedge \phi'_m$ (renaming the variable sets to be disjoint if necessary). Then $Z(\phi)=\prod_{i=1}^m(1+2^{2^iT}Z(\phi_i))$, so $\frac 1 T \log_2 Z(\phi)$ is roughly the sum of $2^i$ over all $i$ such that $\phi_i$ is satisfiable. I believe the error term is $O(n/T)$ for fixed $m$ where $n$ is the total number of variables, so taking $T$ to be a sufficiently large $T$ polynomial in $n$, you can recover which $\phi_i$ are satisfiable from a $2$-approximation to $Z(\phi)$.&lt;/p&gt;&#xA;" OwnerUserId="636" LastEditorUserId="636" LastEditDate="2014-01-26T07:43:52.440" LastActivityDate="2014-01-26T07:43:52.440" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20729" PostTypeId="1" AcceptedAnswerId="20732" CreationDate="2014-01-25T21:54:25.363" Score="-2" ViewCount="369" Body="&lt;p&gt;Let's say we have the following cases:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$a =_\alpha b$&lt;/li&gt;&#xA;&lt;li&gt;$a =_\alpha a$&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Which of the above cases are $\alpha$-equivalent? Or does $\alpha$-equivalence has no meaning in the context of just variables? And what are the rules for determining $\alpha$-equivalence of two expressions/terms $t_1, t_2$ when both $t_1$ and $t_2$ are juts variables/symbols?&lt;/p&gt;&#xA;" OwnerUserId="7627" LastActivityDate="2014-01-25T23:03:34.873" Title="Are two unbound variables alpha-equivalent?" Tags="&lt;lambda-calculus&gt;" AnswerCount="1" CommentCount="1" ClosedDate="2014-01-28T06:08:24.427" ContentLicense="CC BY-SA 3.0" />
  <row Id="20731" PostTypeId="1" CreationDate="2014-01-25T22:52:22.193" Score="22" ViewCount="1530" Body="&lt;p&gt;I've been working on on introducing &lt;a href=&quot;http://egtheory.wordpress.com/2013/08/31/evolutionary-equilibria/&quot; rel=&quot;noreferrer&quot;&gt;some results&lt;/a&gt; from computational complexity into theoretical biology, especially &lt;a href=&quot;https://cstheory.stackexchange.com/q/14103/1037&quot;&gt;evolution &amp;amp; ecology&lt;/a&gt;, with the goal of being interesting/useful to biologists. One of the biggest difficulties I've faced is in justifying the usefulness of asymptotic worst-case analysis for lower bounds. &lt;strong&gt;Are there any article length references that justify lower bounds and asymptotic worst-case analysis to a scientific audience?&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;I am really looking for a good reference that I can defer to in my writing instead of having to go through the justifications in the limited space I have available (since that is not the central point of the article). I am also aware of &lt;a href=&quot;https://cstheory.stackexchange.com/q/894/1037&quot;&gt;other kinds&lt;/a&gt; and &lt;a href=&quot;https://cstheory.stackexchange.com/q/7203/1037&quot;&gt;paradigms&lt;/a&gt; of analysis, so &lt;strong&gt;I am &lt;em&gt;not&lt;/em&gt; seeking a reference that says worst-case is the &amp;quot;best&amp;quot; analysis&lt;/strong&gt; (since there are settings when it very much isn't), but that it isn't completeletely useless: it can still gives us theoretically useful insights into the behavior of &lt;em&gt;actual&lt;/em&gt; algorithms on &lt;em&gt;actual&lt;/em&gt; inputs. It is also important the &lt;strong&gt;writing is targeted at general scientists&lt;/strong&gt; and not just engineers, mathematicians, or computer scientists.&lt;/p&gt;&#xA;&lt;p&gt;As an example, &lt;a href=&quot;http://theory.stanford.edu/%7Etim/papers/et.pdf&quot; rel=&quot;noreferrer&quot;&gt;Tim Roughgarden's essay introducing complexity theory to economists&lt;/a&gt; is on the right track for what I want. However, only sections 1 and 2 are relevant (the rest is too economics specific) and the intended audience is a bit more comfortable with theorem-lemma-proof thinking than &lt;a href=&quot;https://cogsci.stackexchange.com/a/4807/29&quot;&gt;most scientists&lt;/a&gt;&lt;sup&gt;[1]&lt;/sup&gt;.&lt;/p&gt;&#xA;&lt;hr /&gt;&#xA;&lt;h3&gt;Details&lt;/h3&gt;&#xA;&lt;p&gt;In the context of &lt;a href=&quot;http://egtheory.wordpress.com/2013/08/16/fitness-landscapes/&quot; rel=&quot;noreferrer&quot;&gt;adaptive dynamics in evolution&lt;/a&gt;, I've met two specific types of resistance from theoretical biologists:&lt;/p&gt;&#xA;&lt;p&gt;[A] &amp;quot;Why should I care about behavior for arbitrary &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt;? I already know that the genome has &lt;span class=&quot;math-container&quot;&gt;$n = 3*10^9$&lt;/span&gt; base pairs (or maybe &lt;span class=&quot;math-container&quot;&gt;$n = 2*10^4$&lt;/span&gt; genes) and no more.&amp;quot;&lt;/p&gt;&#xA;&lt;p&gt;This is relatively easy to brush-off with the the argument of &amp;quot;we can imagine waiting for &lt;span class=&quot;math-container&quot;&gt;$10^9$&lt;/span&gt; seconds, but not &lt;span class=&quot;math-container&quot;&gt;$2^{10^9}$&lt;/span&gt;&amp;quot;. But, a more intricate argument might say that &amp;quot;sure, you say you care about only a specific &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt;, but your theories never use this fact, they just use that it is large but finite, and it is your theory that we are studying with asymptotic analysis&amp;quot;.&lt;/p&gt;&#xA;&lt;p&gt;[B] &amp;quot;But you only showed that this is hard by building this specific landscape with these gadgets. Why should I care about this instead of the average?&amp;quot;&lt;/p&gt;&#xA;&lt;p&gt;This is a more difficult critique to address, because a lot of the tools people commonly use in this field are coming from statistical physics where it is often safe to assume a uniform (or other specific simple) distribution. But biology is &amp;quot;physics with history&amp;quot; and almost everything isn't at equilibrium or 'typical', and &lt;a href=&quot;http://egtheory.wordpress.com/2013/08/18/empirical-epistasis/&quot; rel=&quot;noreferrer&quot;&gt;empirical knowledge is insufficient&lt;/a&gt; to justify assumptions about distributions over input. In other words, I want an argument similar to that used against uniform distribution average-case analysis in software engineering: &amp;quot;we model the algorithm, we can't construct a reasonable model of how the user will interact with the algorithm or what their distribuition of inputs will be; that is for psychologists or end users, not us.&amp;quot; Except in this case, the science isn't at a position where the equivalent of 'psychologists or end users' exists to figure out the underlying distributions (or if that is even meaningful).&lt;/p&gt;&#xA;&lt;h3&gt;Notes and related questions&lt;/h3&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;The link discusses cognitive sciences, but the mindset is similar in biology. If your browse through &lt;em&gt;Evolution&lt;/em&gt; or &lt;em&gt;Journal of Theoretical Biology&lt;/em&gt;, you will seldom see theorem-lemma-proof, and when you do it will typically be just a calculation instead of something like an existence proof or intricate construction.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/q/7203/1037&quot;&gt;Paradigms for complexity analysis of algorithms&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/q/894/1037&quot;&gt;Other kinds of running time analysis besides worst-case, average-case, etc?&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/q/14103/1037&quot;&gt;Ecology and evolution through the algorithmic lens&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/q/17552/1037&quot;&gt;Why economists should care about computational complexity&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="1037" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2014-01-30T21:40:05.493" Title="Justifying asymptotic worst-case analysis to scientists" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;big-picture&gt;&lt;application-of-theory&gt;&lt;worst-case&gt;" AnswerCount="3" CommentCount="32" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="20732" PostTypeId="2" ParentId="20729" CreationDate="2014-01-25T23:03:34.873" Score="4" Body="&lt;p&gt;I'm not really in TCS but more in Programming Languages, so in my mind the answer is clear.  Alpha equivalence means that you can rename variables without changing the semantics of your program.  Such renaming should only be performed on bound variables.  Free variables come from the &quot;external environment&quot;, so you cannot rename them without changing the semantics.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Quoting from &lt;a href=&quot;http://en.wikipedia.org/wiki/Lambda_calculus#Alpha_equivalence&quot; rel=&quot;nofollow&quot;&gt;Wikipedia&lt;/a&gt;:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;A basic form of equivalence, definable on lambda terms, is alpha&#xA;  equivalence. It captures the intuition that the particular choice of a&#xA;  bound variable, in a lambda abstraction, does not (usually) matter.&#xA;  For instance, $\lambda x.x$ and $\lambda y.y$ are alpha-equivalent&#xA;  lambda terms, and they both represent the same function (the identity&#xA;  function). The terms $x$ and $y$ are not alpha-equivalent, because&#xA;  they are not bound in a lambda abstraction. In many presentations, it&#xA;  is usual to identify alpha-equivalent lambda terms.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="17475" LastActivityDate="2014-01-25T23:03:34.873" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20733" PostTypeId="1" CreationDate="2014-01-26T01:08:35.253" Score="3" ViewCount="524" Body="&lt;p&gt;Given a graph G = (V,E) with edge and vertex weights. The minimum distance r-dominating set problem for a graph G = (V,E) requires to find a set S $\in$ V of smallest vertex-weight such that every vertex v not in S, there is a vertex u in S such that d(u,v) $\leq$  r. Distance is defined by the length of shortest path on graph. Does anyone know papers that solve this problem on a $\textbf{tree}$?  &lt;/p&gt;&#xA;" OwnerUserId="21297" LastActivityDate="2014-01-26T14:18:33.147" Title="minimum distance r-dominating set on tree" Tags="&lt;graph-algorithms&gt;&lt;tree&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="20734" PostTypeId="1" CreationDate="2014-01-26T01:21:05.867" Score="0" ViewCount="266" Body="&lt;p&gt;I have seen two different sets of connectives for LTL (see the picture):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/qclb5.jpg&quot; alt=&quot;LTL Connectives&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have learned LTL by the connectives of the first column ($X, F, G,$ ...). The table (from Wikipedia) says that the connectives in the second column have the same meaning as the connectives of the first column and are just different symbols. But recently I read a paper and saw this equivalence: $\bigcirc\varphi\equiv\bot\mathcal{U}\varphi$.&lt;br/&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I know that $X\varphi\equiv\bot U\varphi$ does not hold in LTL (because $\bot$ does not hold in any state, so $\bot U\varphi$ can be true only if $\varphi$ is true in the current state and no other state in the future. But this is different from $X\varphi$ which says $\varphi$ is true in the next state). But that table says $X$ and $\bigcirc$, and $U$ and $\mathcal{U}$ have the same meaning.&lt;br/&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am confused, any help would be appreciated.&lt;/p&gt;&#xA;" OwnerUserId="16255" LastActivityDate="2014-01-26T01:21:05.867" Title="What is the difference between LTL connectives X and O?" Tags="&lt;linear-temporal-logic&gt;" AnswerCount="0" CommentCount="10" ContentLicense="CC BY-SA 3.0" />
  <row Id="20735" PostTypeId="1" AcceptedAnswerId="20739" CreationDate="2014-01-26T03:40:08.430" Score="12" ViewCount="140" Body="&lt;p&gt;What are the known limits of the decidability of the comparison of growth rate of functions from $\mathbb{N} \to \mathbb{N}$? I am here thinking of the decidability of questions like &quot;Is $x^x \sim 2^{\lfloor x \lg (x+2) \rfloor}$?&quot; or &quot;Is $2^{\lg^* x} \in O(\lg \lg x)$?&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we restrict the functions to be polynomials (expressed in the usual manner), then this isn't hard. See also &lt;a href=&quot;https://en.wikipedia.org/wiki/Ordinal_arithmetic#Cantor_normal_form&quot;&gt;Cantor normal form&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;How large can we make the class of functions before comparison becomes undecidable? Can we extend it to the functions used in a typical undergraduate algorithms class?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As Joshua Grochow explains in the comments, I'm interested really in the set of expressions, not the functions themselves. So, for instance, I'd be interested in decision procedures that could compare &quot;$1$&quot; and &quot;$2$&quot;, even if they can't compare &quot;$\ln e$&quot; and &quot;$n^{(\ln n)^{-1}}$&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Possibly related question: &lt;a href=&quot;https://cstheory.stackexchange.com/questions/14045/is-the-theory-of-asymptotic-bounds-finitely-axiomatizable&quot;&gt;&quot;Is the theory of asymptotic bounds finitely axiomatizable?&quot;&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="43" LastEditorUserId="43" LastEditDate="2014-01-26T05:47:07.320" LastActivityDate="2014-01-26T06:24:03.897" Title="Decidable theory of asymptotic growth" Tags="&lt;decidability&gt;&lt;asymptotics&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="20736" PostTypeId="2" ParentId="20721" CreationDate="2014-01-26T03:51:12.237" Score="12" Body="&lt;p&gt;As pointed out by @Marzio De Biasi, the problem you are asking about is $\mathsf{coNP}$-complete, by a direct reduction from TAUTOLOGY: given a boolean formula $\varphi$, is $\varphi$ equivalent to the constant 1 circuit? It is easily seen to be in $\mathsf{coNP}$. (Given that Marzio really answered the question, I suggest anyone thinking of upvoting this answer flip a coin and if it lands heads then go vote for one of Marzio's other answers.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let me also clarify: the problem you are asking about is more typically called Circuit &lt;em&gt;Equivalence&lt;/em&gt;. Circuit &lt;em&gt;Isomorphism&lt;/em&gt; is the problem: given two circuits $C_1, C_2$ on $n$ inputs, is there a permutation $\pi \in S_n$ such that $C_1(\vec{x})$ and $C_2(\pi(\vec{x}))$ are equivalent? Circuit Isomorphism has a status similar to that of Graph Isomorphism, but one level higher in $\mathsf{PH}$: it is $\mathsf{coNP}$-hard (by the same reduction above), not known to be in $\mathsf{coNP}$, in $\mathsf{\Sigma_2 P}$, but not $\mathsf{\Sigma_2 P}$-complete unless $\mathsf{PH} = \mathsf{\Sigma_3 P}$. &lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2014-01-26T03:51:12.237" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20739" PostTypeId="2" ParentId="20735" CreationDate="2014-01-26T06:24:03.897" Score="9" Body="&lt;p&gt;Hardy, in his classical book &lt;em&gt;Orders of infinity&lt;/em&gt;, considered the class of logarithmic-exponential functions. This is a rather general class of functions, which is the minimal set of functions containing $\mathbb{R}$ and $x$, closed under addition, multiplication and division (unless it has infinitely many zeroes), closed under $\exp$ and $\log|\cdot|$ (same constraint), and closed under solution of polynomial equations (i.e. the function satisfying $f(x)^5 + f(x) = x$ is in the family). Hardy showed that any two such functions can be compared asymptotically. I'm not sure if the proof is algorithmic, but it is worth checking.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://download.springer.com/static/pdf/792/art%253A10.1007%252FBF02803337.pdf?auth66=1390889756_dd93b903f7ce69aec8a4831dcf137730&amp;amp;ext=.pdf&quot;&gt;Boshernitzan&lt;/a&gt; extended this class even further, and doubtlessly there is other work on the subject.&lt;/p&gt;&#xA;" OwnerUserId="40" LastActivityDate="2014-01-26T06:24:03.897" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="20742" PostTypeId="2" ParentId="20733" CreationDate="2014-01-26T14:18:33.147" Score="4" Body="&lt;p&gt;The problem is solved in the paper &lt;em&gt;P. Slater. R-domination in graphs. J. ACM, 23(3):446–450, July 1976.&lt;/em&gt; It considers an even more general problem using dynamic programming.&lt;/p&gt;&#xA;" OwnerUserId="2390" LastActivityDate="2014-01-26T14:18:33.147" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20744" PostTypeId="2" ParentId="14266" CreationDate="2014-01-26T18:56:41.630" Score="3" Body="&lt;p&gt;In geometric intersection graphs, there are several interesting approximations, PTASs, and sub-exponential exact algorithms. See the Wikipedia article &lt;a href=&quot;https://en.wikipedia.org/wiki/Maximum_disjoint_set&quot; rel=&quot;nofollow&quot;&gt;Maximum Disjoint Set&lt;/a&gt; for a survey.&lt;/p&gt;&#xA;" OwnerUserId="9453" LastActivityDate="2014-01-26T18:56:41.630" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20745" PostTypeId="1" CreationDate="2014-01-26T19:43:05.683" Score="21" ViewCount="1087" Body="&lt;p&gt;Consider the problem of finding a &lt;a href=&quot;https://en.wikipedia.org/wiki/Maximum_disjoint_set&quot; rel=&quot;nofollow noreferrer&quot;&gt;maximum disjoint set&lt;/a&gt; - a maximum set of non-overlapping geometric shapes, from a given collection of candidates. This is an NP-complete problem, but in many cases, the following greedy algorithm yields a constant-factor approximation:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;For every candidate shape &lt;em&gt;x&lt;/em&gt;, calculate its &lt;em&gt;disjoint intersection number&lt;/em&gt; $DIN(x)$ = the largest number of disjoint shapes that intersect &lt;em&gt;x&lt;/em&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Select a candidate shape with a smallest DIN ($\arg \min_{x} DIN(x)$). Remove it and all the shapes it intersects.&lt;/li&gt;&#xA;&lt;li&gt;Continue until no more candidates remain.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;For example, consider the following figure from the Wikipedia page:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/XhekH.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The green disk intersects 5 other disks, but its DIN is 3 (the 3 red disks are disjoint). The topmost and bottommost red disks intersect 2 other disks, but they themselves intersect, so their DIN is 1. The yellow disks have a DIN of 2.&#xA;The greedy algorithm thus selects the topmost or the bottommost red disk.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If the minimum DIN can be bounded by a constant, then the greedy algorithm is a polynomial constant-factor approximation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, if all candidate shapes are unit disks, &lt;a href=&quot;http://dx.doi.org/10.1002/net.3230250205&quot; rel=&quot;nofollow noreferrer&quot;&gt;Marathe et al (1995)&lt;/a&gt; show that a disk with a DIN of at most 3 always exists: the &lt;em&gt;leftmost&lt;/em&gt; disk (the disk with the smallest x coordinate) intersects at most 3 other disjoint disks. Therefore the greedy algorithm yields a 3-approximation because it obtains 1 disk for each (at most) 3 disks in the optimal solution.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Similarly, if all candidate shapes are disks of arbitrary size, the greedy algorithm yields a 5-approximation, because the &lt;em&gt;smallest&lt;/em&gt; disk intersects at most 5 other disjoint disks, i.e. the minimum DIN is at most 5.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So far so good, but &lt;strong&gt;Are these factors of 3 and 5 tight?&lt;/strong&gt; I am not sure.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider the figure above. Selecting the leftmost disk (green) will find a disjoint set of size 1, which is indeed a 3-approximation to the maximum disjoint set of size 3 (red), but, the greedy algorithm will not select the green disk - it will select the top/bottom red disk, whose DIN is 1. In this case the greedy algorithm will find the optimal solution.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I couldn't find a counter-example for general $n$, in which the greedy algorithm finds a disjoint set with $n$ unit disks while the maximum disjoint set has $3n$. Actually, I couldn't even construct a general counter-example in which the minimum DIN is indeed 3. The best I could come up with is the following, in which each unit disk intersects at most 2 other disjoint disks (i.e. the minimum DIN is 2). But even here, the greedy algorithm finds the optimal solution rather than a 2-approximation:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/jpIiH.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My questions are:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;What is the &lt;em&gt;actual&lt;/em&gt; max min DIN in collections of unit-disks? Arbitrary-sized disks? &lt;/li&gt;&#xA;&lt;li&gt;What is the &lt;em&gt;actual&lt;/em&gt; approximation factor of the greedy algorithm for collections of unit-disks? For arbitrary-sized disks? (this factor is at most as large as the max min DIN, but may be smaller).&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;UPDATE: For every k-tuple of shapes, $x_1,...,x_k$, define $DIN(x_1,...,x_k)$ = the largest number of disjoint shapes intersected by their union $x_1\cup...\cup x_k$. Define $minDIN_k$ as the minimum DIN of over all k-tuples of disjoint shapes. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, in Yury's answer below, $minDIN_1=3$, because every circle intersects 3 other circles. $minDIN_2=4$, because it is possible to select 2 disjoint circles, one from the outer circle and one from the inner circle, that together intersect only 4 other circles. For every $k$, $minDIN_k\leq k+2$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I THINK that the approximation ratio of the greedy algorithm can be bounded by $\frac{minDIN_k}{k}$, because, for every $minDIN_k$ shapes in the optimal solution, we have at least $k$ shapes in the algorithm output. Is this correct?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT: I am now reading the excellent book &lt;a href=&quot;http://www.springer.com/gp/book/9780387238159&quot; rel=&quot;nofollow noreferrer&quot;&gt;Research problems in discrete geometry&lt;/a&gt;. While I haven't found this exact problem, I found a problem that looks related. In section &quot;2.5 Thin Packings with Many Neighbors&quot;, there are examples of circle packings in which each circle touchese 5 other circles. I wonder if such a packing can yield a configuration of circles with DIN = 5.&lt;/p&gt;&#xA;" OwnerUserId="9453" LastEditorUserId="9453" LastEditDate="2016-01-02T18:54:41.493" LastActivityDate="2016-01-02T18:54:41.493" Title="Maximum disjoint set: what is the actual approximation factor of the greedy algorithm?" Tags="&lt;cg.comp-geom&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="20747" PostTypeId="2" ParentId="20745" CreationDate="2014-01-26T21:01:39.330" Score="19" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;What is the actual maximum minimum DIN in collections of unit-disks?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;It is 3.&lt;img src=&quot;https://i.stack.imgur.com/rtIeC.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;" OwnerUserId="9929" LastActivityDate="2014-01-26T21:01:39.330" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="20751" PostTypeId="2" ParentId="1639" CreationDate="2014-01-27T14:44:32.350" Score="2" Body="&lt;p&gt;The solution to both problems, UNIQUE SAT as well as ANOTHER SAT, with a complete classification of complexity, can be found in the paper&lt;/p&gt;&#xA;&#xA;&lt;p&gt;L. Juban: Dichotomy theorem for the generalized unique satisfiability problem   &lt;a href=&quot;http://link.springer.com/chapter/10.1007%2F3-540-48321-7_27&quot; rel=&quot;nofollow&quot;&gt;http://link.springer.com/chapter/10.1007%2F3-540-48321-7_27&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="21318" LastActivityDate="2014-01-27T14:44:32.350" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20752" PostTypeId="2" ParentId="14400" CreationDate="2014-01-27T17:15:52.380" Score="12" Body="&lt;p&gt;SOS can be considered as a proof system where lines are of the form $p(\vec{x}) \geq 0$ where $p(\vec{x})$ is a polynomial in variables $\vec{x}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The inference rules are: &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;$\over x^2-x \geq 0$&lt;/li&gt;&#xA;&lt;li&gt;$\over x-x^2 \geq 0$&lt;/li&gt;&#xA;&lt;li&gt;$\over p(\vec{x})^2\geq 0$&lt;/li&gt;&#xA;&lt;li&gt;$p(\vec{x}) \geq 0 \over p(\vec{x})x \geq 0$&lt;/li&gt;&#xA;&lt;li&gt;$p(\vec{x}) \geq 0 \over p(\vec{x})(1-x) \geq 0$&lt;/li&gt;&#xA;&lt;li&gt;$p_1(\vec{x}) \geq 0, \cdots, p_m(\vec{x}) \geq 0 \over \sum_{i=1}^m c_ip_i(\vec{x}) \geq 0$ where $c_1, \cdots, c_m \in \mathbb{R}^+$&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;The main difference from previous systems is that we have a rule for $p(\vec{x})^2\geq 0$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are nice connections with semidefinite programming and approximation algorithms. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For more check out &lt;a href=&quot;http://www.lsi.upc.edu/~atserias/&quot;&gt;Albert Atserias&lt;/a&gt;'s recent talk at BIRS workshop &lt;a href=&quot;http://www.birs.ca/events/2014/5-day-workshops/14w5101&quot;&gt;Theoretical Foundations of Applied SAT Solving&lt;/a&gt;:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.lsi.upc.edu/~atserias/&quot;&gt;Albert Atserias&lt;/a&gt;, &lt;a href=&quot;http://videos.birs.ca/2014/14w5101/201401211115-Atserias.mp4&quot;&gt;Mini-Tutorial on Semi-Algebraic Proof Systems&lt;/a&gt; (&lt;a href=&quot;http://www.birs.ca/workshops/2014/14w5101/files/AtseriasBanff.pdf&quot;&gt;slides&lt;/a&gt;), 2014&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2014-01-27T17:23:12.787" LastActivityDate="2014-01-27T17:23:12.787" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="20753" PostTypeId="1" AcceptedAnswerId="20759" CreationDate="2014-01-27T21:23:08.173" Score="5" ViewCount="916" Body="&lt;p&gt;My questions concern the use of crossovers in genetic algorithms. The three basic ingredients of genetic algorithms are:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;selection&lt;/li&gt;&#xA;&lt;li&gt;mutation&lt;/li&gt;&#xA;&lt;li&gt;crossover&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;If we think of genetic algorithm acting on binary strings…&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Crossover is the process by which two parent strings get mixed to give born to offspring strings. For example: 11000 and 00010 can create the offspring 11010 by crossover only.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In some genetic algorithm people authorize double-crossover. For example the two parents: 110011 and 001100 can give birth to 111111.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I don't fully understand the advantageous of crossovers! It seems to me that one can obtain similar results with algorithms that do not contain crossover.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;My questions&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Under what conditions is the use of crossover in genetic algorithm beneficial? why?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Under what conditions is the use of double-crossover more beneficial than single crossover? why? What about triple crossover?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;When I say &quot;Under what conditions&quot;, I mean &quot;for what &lt;a href=&quot;http://en.wikipedia.org/wiki/Fitness_landscape&quot; rel=&quot;noreferrer&quot;&gt;fitness landscape&lt;/a&gt;&quot; or &quot;for what problem type&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By fitness landscape, I mean a mapping of each possibility to fitness (reproductive success) in a hyperspace of $n+1$ dimensions where $n$ is the length of the string (the additional dimension being the fitness).&lt;/p&gt;&#xA;" OwnerUserId="21326" LastEditorUserId="21326" LastEditDate="2014-01-27T22:02:05.843" LastActivityDate="2014-01-30T16:47:52.290" Title="The use of crossovers in Genetic Algorithm" Tags="&lt;pr.probability&gt;&lt;genetic-algorithms&gt;&lt;search-problem&gt;" AnswerCount="3" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="20755" PostTypeId="1" AcceptedAnswerId="20760" CreationDate="2014-01-28T08:04:16.593" Score="14" ViewCount="1164" Body="&lt;p&gt;Assume P $\ne$ NP.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Ladner's Theorem says that there are NP Intermediate problems (problems in NP that are neither in P nor NP-Complete).  I have found some veiled references online that suggest (I think) that there are many &quot;levels&quot; of mutually reducible languages within NPI that definitely do not all collapse into one.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have some questions about the structure of these levels.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Are there &quot;NP-Intermediate-Complete&quot; problems - that is, NP-Intermediate problems to which every other NP-Intermediate problem is polytime reducible?&lt;/li&gt;&#xA;&lt;li&gt;Sort NP - P into equivalence classes, where mutual reducibility is the equivalence relation.  Now impose an ordering on these equivalence classes: $A &amp;gt; B$ if the problems in $B$ reduce to problems in $A$ (so clearly the NP-Complete equivalence class is the maximum element).  Is this a total ordering (i.e. the problems are arranged in an infinite descending chain)?  If not, does the &quot;tree structure&quot; of the partial ordering have a finite branching factor?&lt;/li&gt;&#xA;&lt;li&gt;Are there any other interesting known structural components of NP - P?  Are there any interesting open questions about the underlying structure?&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;If any of these are currently unknown, I would be interested to hear that as well.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks!&lt;/p&gt;&#xA;" OwnerUserId="11051" LastEditorUserId="11051" LastEditDate="2014-01-28T08:14:26.743" LastActivityDate="2014-01-28T13:29:40.077" Title="Are there &quot;NP-Intermediate-Complete&quot; problems?" Tags="&lt;cc.complexity-theory&gt;&lt;np&gt;&lt;np-intermediate&gt;" AnswerCount="1" CommentCount="9" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="20756" PostTypeId="1" AcceptedAnswerId="20761" CreationDate="2014-01-28T09:07:58.760" Score="2" ViewCount="686" Body="&lt;p&gt;Are there any bounds for the subset problem with respect to the number of the terms involved in the sum and the range of the possible values?For example looking for some 2 terms whose sum equals 3 you know that those two numbers are either $(1,2), (2,1)$ if both $a,b \in \mathbb{N}$. So it is pretty easy to find. How can we bound the difficulty of a polynomial time solver of this problem with respect to the number of the terms and the possible combinations in between them knowing a priori the sum?&lt;/p&gt;&#xA;" OwnerUserId="4874" LastEditorUserId="495" LastEditDate="2014-01-29T09:38:25.270" LastActivityDate="2014-01-29T09:38:25.270" Title="Subset Sum bounds" Tags="&lt;cc.complexity-theory&gt;&lt;time-complexity&gt;&lt;lower-bounds&gt;&lt;upper-bounds&gt;&lt;subset-sum&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="20757" PostTypeId="2" ParentId="9032" CreationDate="2014-01-28T11:05:05.427" Score="11" Body="&lt;p&gt;Assuming that the complexity of the provability problem would satisfy you, the landscape of complexities of substructural logics with and without contraction is somewhat complex.  I'll try to survey here what is known for propositional linear logic and propositional logic.  The short answer is that contraction sometimes helps (e.g. LLC is decidable, while LL isn't), and sometimes doesn't (e.g. MALL is PSPACE-complete, MALLC is ACKERMANN-complete).&lt;/p&gt;&#xA;&#xA;&lt;h3&gt;Propositional Logics&lt;/h3&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;CL: classical logic&lt;/li&gt;&#xA;&lt;li&gt;IL: intuitionistic logic&lt;/li&gt;&#xA;&lt;li&gt;LL: linear logic, fragments MLL (multiplicative), MELL (multiplicative exponential), MALL (multiplicative additive)&lt;/li&gt;&#xA;&lt;li&gt;LLW: affine logic, i.e. LL with weakening, same fragments as above&lt;/li&gt;&#xA;&lt;li&gt;LLC: contractive linear logic, i.e. LL with contraction, same fragments as above&lt;/li&gt;&#xA;&lt;li&gt;R: relevance logic; differs from MALLC by distributivity rules, implicational fragment R$_\to$, conjunctive-implicational fragment R$_{\to,\wedge}$&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;h3&gt;Complexity of Provability&lt;/h3&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;NP-complete: MLL [Kan91]&lt;/li&gt;&#xA;&lt;li&gt;co-NP-complete: CL&lt;/li&gt;&#xA;&lt;li&gt;PSPACE-complete: IL [Sta79], MALL [Lin92]&lt;/li&gt;&#xA;&lt;li&gt;2EXP-complete: R$_\to$, IMLLC, IMELLC [Sch14]&lt;/li&gt;&#xA;&lt;li&gt;TOWER-complete: MELLW, LLW [Laz14]&lt;/li&gt;&#xA;&lt;li&gt;ACKERMANN-complete: R$_{\to,\wedge}$ [Urq99], MALLC, LLC [Laz14]&lt;/li&gt;&#xA;&lt;li&gt;$\Sigma_1^0$-complete: LL [Lin92], R [Urq84]&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Some of the main open questions here are whether MELL is decidable, and what is the complexity of the implicational fragment T$_\to$ of ticket logic (a variant of R).&lt;/p&gt;&#xA;&#xA;&lt;h3&gt;References&lt;/h3&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;[Kan91] Max Kanovich, &lt;em&gt;The multiplicative fragment of linear logic is NP-complete&lt;/em&gt;, Research Report X-91-13, Institute for Language, Logic, and Information, 1991.&lt;/li&gt;&#xA;&lt;li&gt;[Laz14] Ranko Lazić and Sylvain Schmitz, &lt;em&gt;Non-Elementary Complexities for Branching VASS, MELL, and Extensions&lt;/em&gt;, manuscript, 2014. &lt;a href=&quot;http://arxiv.org/abs/1401.6785&quot; rel=&quot;nofollow&quot;&gt;arXiv:1401.6785 [cs.LO]&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;[Lin92] Patrick Lincoln, John Mitchell, Andre Scedrov, and Natarajan Shankar, &lt;em&gt;Decision problems for propositional linear logic&lt;/em&gt;, Annals of Pure and Applied Logic 56(1&amp;ndash;3):239&amp;ndash;311, 1992.  &lt;a href=&quot;http://dx.doi.org/10.1016/0168-0072(92)90075-B&quot; rel=&quot;nofollow&quot;&gt;10.1016/0168-0072(92)90075-B&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;[Sch14] Sylvain Schmitz, &lt;em&gt;Implicational Relevance Logic is 2-ExpTime-complete&lt;/em&gt;, manuscript, 2014.  &lt;a href=&quot;http://arxiv.org/abs/1402.0705&quot; rel=&quot;nofollow&quot;&gt;arXiv:1402.0705 [cs.LO]&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;[Sta79] Richard Statman, &lt;em&gt;Intuitionistic propositional logic is polynomial-space complete&lt;/em&gt;, Theoretical Computer Science 9(1):67&amp;ndash;72, 1979.  &lt;a href=&quot;http://dx.doi.org/10.1016/0304-3975(79)90006-9&quot; rel=&quot;nofollow&quot;&gt;doi:10.1016/0304-3975(79)90006-9&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;[Urq84] Alasdair Urquhart, &lt;em&gt;The Undecidability of Entailment and Relevant Implication&lt;/em&gt;, Journal of Symbolic Logic 49(4):1059&amp;ndash;1073, 1984. &lt;a href=&quot;http://dx.doi.org/10.2307/2274261&quot; rel=&quot;nofollow&quot;&gt;doi:10.2307/2274261&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;[Urq99] Alasdair Urquhart, &lt;em&gt;The Complexity of Decision Procedures In Relevance Logic II&lt;/em&gt;, Journal of Symbolic Logic 64(4):1774&amp;ndash;1802, 1999. &lt;a href=&quot;http://dx.doi.org/10.2307/2586811&quot; rel=&quot;nofollow&quot;&gt;10.2307/2586811&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="609" LastEditorUserId="609" LastEditDate="2014-02-05T03:18:51.830" LastActivityDate="2014-02-05T03:18:51.830" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20759" PostTypeId="2" ParentId="20753" CreationDate="2014-01-28T13:14:18.993" Score="7" Body="&lt;p&gt;If crossover is excluded from genetic algorithms, they become something between the gradient descent and the simulated annealing. The main effect of crossover consists in the exchange of parts of different solutions.  If an optimization task can be loosely decomposed into somewhat independent subtasks, and this decomposition is reflected in genes, then crossover will increase performance of GAs. For example, if there is a function f(x,y)=g(x)+h(y), and x and y are encoded consequently in the genome, and e.g. g(x) has larger influence, then the part of genome that stands for x will be optimized in the first place, and it will become nearly the same for the whole population thanks to crossover. After this, h(y) term will be optimized. That is, crossover helps to loosely decompose the task into subtasks without prior knowledge (but dependent on the encoding scheme), if it is possible (otherwise it will yield no benefit, or even will make search less efficient). This is actually the main additional metaheuristic of GAs in comparison with other metaheuristic optimization methods.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Double-point crossover (or other more “clutter” types of crossover) can be more beneficial, if the most crucial parts of solutions are encoded in the middle of the genome or if they are placed in separate locations. The simplest example is the function f(x,y,z)=h(x,z)+r(y)+g(z), where h(x,z) has the highest influence, and genes encode the string xyz. Single-point crossover will prefer to take x from one parent, and z from another parent. However, (x,z) determine the solution quality together. If one individual will occasionally have optimal components (x*,z*), they will not appear simultaneously in its children after single-point crossover, so it will be more difficult for these parts of the genome to stabilize.&lt;/p&gt;&#xA;" OwnerUserId="21224" LastActivityDate="2014-01-28T13:14:18.993" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20760" PostTypeId="2" ParentId="20755" CreationDate="2014-01-28T13:29:40.077" Score="32" Body="&lt;p&gt;I don't really have references for these results--they aren't hard to prove once you understand Ladner's theorem.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;No, for any NP-incomplete set A there is another set B strictly between A and SAT.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;These equivalence classes are known as polynomial-many-one degrees. You can embed any finite poset into the degrees below NP. In particular the degrees are not totally ordered or finitely branching. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;This all depends on what you mean by &quot;interesting&quot;. There is a huge theory of the degree structure of the computable sets (see &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0387152997&quot;&gt;Soare's book&lt;/a&gt; for instance) and many of those questions have not been ported down to polynomial-time sets. For instance, can you have NP sets A and B whose join is equivalent to SAT and whose meet is equivalent to the empty set? &lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="550" LastActivityDate="2014-01-28T13:29:40.077" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="20761" PostTypeId="2" ParentId="20756" CreationDate="2014-01-28T14:29:23.957" Score="5" Body="&lt;p&gt;Here is some information on &lt;em&gt;random&lt;/em&gt; instances of subset sum. This should give you a starting point at least.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The main factor influencing the computational difficulty of solving (random instances of) subset sum is the relationship between the &lt;em&gt;number&lt;/em&gt; of available terms, $n$, and the terms' &lt;em&gt;size&lt;/em&gt;, $M$. (This is different than the 'possible combinations' idea you were expressing before... Nonetheless:)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For simplicity in relating the two (and incidentally, to get an algebraically symmetric problem), we can write subset sum formally as..&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Given $a_1, ..., a_n, T\in\mathbb{Z}_M$,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where the $a_i$ are chosen uniformly and $T$ is a sum of a random subset of the $a_i$,&#xA;find a subset of the $a_i$ that sum to $T\pmod M$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;That is&lt;/em&gt;, given the $\{a_i\}$ and $T = \sum_{i\in S} a_i\pmod M$, for some (unknown, random) $S\subseteq [n]$,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;find $S'\subseteq [n]$ such that $T = \sum_{i\in S'} a_i\pmod M$. ($S = S'$ is one possible solution.)&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;The following is known:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;When $M = 2^{\Omega(n^2)}$, random subset sum can be solved in &lt;em&gt;polynomial time&lt;/em&gt; using lattice reduction techniques. See Lagarias/Odlyzko, &quot;Solving low density subset sum problems,&quot; JACM 1985.&lt;/li&gt;&#xA;&lt;li&gt;Similar techniques to the above yield subexponential time algorithms when $M &amp;gt; 2^{n^{1+\epsilon}}$.&lt;/li&gt;&#xA;&lt;li&gt;When $M = 2^{O(\log^2 n)}$, random subset sum can be solved in &lt;em&gt;polynomial time&lt;/em&gt; using a 'generalized birthday attack'-type algorithm. See Flaxman/Przydatek, &quot;Solving medium-density subset sum problems in expected polynomial time,&quot; STACS 2005.&lt;/li&gt;&#xA;&lt;li&gt;When $M &amp;lt; 2^{n^{\epsilon}}$ for $\epsilon &amp;lt; 1$, there is a $M^{O(\frac{1}{\log n})}$-time algorithm due to Lyubashevsky; see &quot;The Parity Problem in the Presence of Noise, Decoding Random Linear Codes, and the Subset Sum Problem,&quot; RANDOM 2005.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;In other words, the hardest instances of subset sum seem to be when $M = 2^{\epsilon n}$ for $\epsilon &amp;lt; 1$, for which we only know a $2^{\Omega(n)}$-time algorithm.&lt;/p&gt;&#xA;" OwnerUserId="108" LastEditorUserId="108" LastEditDate="2014-01-28T14:50:07.267" LastActivityDate="2014-01-28T14:50:07.267" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="20762" PostTypeId="2" ParentId="20661" CreationDate="2014-01-28T16:29:37.173" Score="0" Body="&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Scientific_Wild-Ass_Guess&quot; rel=&quot;nofollow&quot;&gt;SWAG&lt;/a&gt; conjecture [something better than nothing?]: &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Given a tournament $G = (V,E)$, there exists a feedback arc set $F \subseteq E$ in $G$ that defines a transitive relation. hence the problem is $O(1)$&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;sup&gt;notes: shootdown counterexamples welcome! none seem to be given so far. even better would be some observations of patterns of edge orientations related to particular graph classes. or some more motivation or tieing it into some existing literature. offered in the style of &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0521290384&quot; rel=&quot;nofollow&quot;&gt;Proofs and refutations&lt;/a&gt; (Lakatos)... also, since it seems such an offbeat problem that doesnt [yet?] relate to much, suggest studying it empirically....&lt;/sup&gt;&lt;/p&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2014-01-28T16:29:37.173" CommentCount="13" ContentLicense="CC BY-SA 3.0" />
  <row Id="20763" PostTypeId="2" ParentId="20731" CreationDate="2014-01-28T17:01:06.090" Score="4" Body="&lt;p&gt;Lower bounds and worst-case analysis don't usually go together. You don't say an algorithm will take at least exponential time in the worst case, therefore it's bad. You say it can take at most linear time in the worst case, and therefore is good. The former is only useful if you are going to run your algorithm on all possible inputs, and not merely an average input.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you want to use lower bounds to demonstrate badness, then you want a best-case analysis or an average-case analysis. You can simplify things by relying on @PeterShor's point that worst and average are often very similar, and give a laundry list of algorithms for which this is true. (Ex: all the classic sorts besides quicksort.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As for demonstrating that asymptotics matter when compared to constant inputs and constant factors, my favorite article on the topic is Jon Bentley's &quot;Programming pearls: algorithm design techniques&quot;. He presents four different solutions to a simple array problem, and demonstrates how the linear approach annihilates the cubic one. He calls his table &quot;The Tyranny of Asymptotics&quot;, after the term used by physicists for the intractability of the rocket equation. I use this example to motivate the search for better algorithms to pre-college students.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Will a non-computer scientist read through an article that contains code, and know to skip over the low-level details to get the big picture? I don't know. Perhaps there's a better presentation elsewhere. But I think this is a decent resource to cite.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;And if they argue that they don't care about arbitrarily large n, have them run recursive un-memoized Fibonacci on 3 * 10&lt;sup&gt;9&lt;/sup&gt; base pairs, and tell them it's O(1) since the size of the DNA sequence is fixed. ;)&lt;/p&gt;&#xA;" OwnerUserId="21337" LastActivityDate="2014-01-28T17:01:06.090" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="20766" PostTypeId="2" ParentId="20753" CreationDate="2014-01-29T01:50:17.697" Score="1" Body="&lt;p&gt;You may have a look at the article &quot;The Analysis of Evolutionary Algorithms — A Proof That Crossover Really Can Help&quot; published in 2002 by Jansen and Wegener in the journal Algorithmica. This might not really answer your two questions, but at least it shows that your statement (&quot;It seems to me that one can obtain similar results with algorithms that do not contain crossover.&quot;) does not hold and that crossover can have an important impact in evolutionary algorithms.&lt;/p&gt;&#xA;" OwnerUserId="20544" LastActivityDate="2014-01-29T01:50:17.697" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20767" PostTypeId="1" AcceptedAnswerId="20772" CreationDate="2014-01-29T05:07:12.710" Score="7" ViewCount="1715" Body="&lt;p&gt;I'm stumped on a sub problem that I'm working on for my thesis. I need to be able to partition a graph into 2 connected subgraphs of almost equal size. So if there are $m$ vertices in $G$, subgraphs $G_{1}$ and $G_{2}$ should have &lt;/p&gt;&#xA;&#xA;&lt;p&gt;\begin{equation}&#xA;|V_{1}| + |V_{2}| = |V|&#xA;\end{equation}&#xA;\begin{equation}&#xA;(|V_{1}| - |V|/2)^{2} \leq \epsilon^{2}, (|V_{2}| - |V|/2)^{2} \leq \epsilon^{2}&#xA;\end{equation}&lt;/p&gt;&#xA;&#xA;&lt;p&gt;and $V_{1}$ and $V_{2}$ should be disjoint.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Anyone know a quick way to compute if this exists and what the partition should be? I know that partitioning in general is NP-hard but I didn't know if it was for this special case.&lt;/p&gt;&#xA;" OwnerUserId="21347" LastEditorUserId="21347" LastEditDate="2014-01-29T07:33:34.867" LastActivityDate="2014-01-29T18:49:27.020" Title="Partition a graph into 2 connected subgraphs" Tags="&lt;graph-theory&gt;&lt;partition-problem&gt;" AnswerCount="2" CommentCount="6" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="20768" PostTypeId="1" CreationDate="2014-01-29T09:40:37.527" Score="4" ViewCount="101" Body="&lt;p&gt;Let &lt;span class=&quot;math-container&quot;&gt;${\cal A}$&lt;/span&gt; be a set of &lt;span class=&quot;math-container&quot;&gt;$k\times n $&lt;/span&gt; matrices over &lt;span class=&quot;math-container&quot;&gt;${\mathbb F}_2$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;p&gt;We call &lt;span class=&quot;math-container&quot;&gt;${\cal A}$&lt;/span&gt; a &lt;em&gt;(n,k)-covering&lt;/em&gt;, if for every subset of columns&#xA;&lt;span class=&quot;math-container&quot;&gt;$I=(i_1,\ldots,i_k)\subseteq [n]$&lt;/span&gt;, there is a matrix &lt;span class=&quot;math-container&quot;&gt;$A \in {\cal A}$&lt;/span&gt;&#xA;such that the columns &lt;span class=&quot;math-container&quot;&gt;$(i_1,\ldots,i_k)$&lt;/span&gt; in &lt;span class=&quot;math-container&quot;&gt;$A$&lt;/span&gt; are linearly independent.&lt;/p&gt;&#xA;&lt;p&gt;It is known that when choosing a random &lt;span class=&quot;math-container&quot;&gt;$k\times k$&lt;/span&gt; matrix over &lt;span class=&quot;math-container&quot;&gt;${\mathbb F}_2$&lt;/span&gt;&#xA;the probability that it is non-singular is at least half.&lt;/p&gt;&#xA;&lt;p&gt;This means that if we pick at random a set of &lt;span class=&quot;math-container&quot;&gt;$r$&lt;/span&gt; such matrices, the probability that for some &lt;span class=&quot;math-container&quot;&gt;$I=(i_1,\ldots,i_k)\subseteq [n]$&lt;/span&gt; won't be covered (by any matrix &lt;span class=&quot;math-container&quot;&gt;$A \in {\cal A}$&lt;/span&gt;) is at most &lt;span class=&quot;math-container&quot;&gt;$2^{-r}$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Since there are &lt;span class=&quot;math-container&quot;&gt;$n \choose k$&lt;/span&gt; such &lt;span class=&quot;math-container&quot;&gt;$I$&lt;/span&gt;'s, the probability that one of them will not be covered is at most (union bound):&lt;/p&gt;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$${n \choose k} \cdot 2^{-r}.$$&lt;/span&gt;&lt;/p&gt;&#xA;&lt;p&gt;If we force this probability to be strictly lower than 1 (which ensures such family of size &lt;span class=&quot;math-container&quot;&gt;$r$&lt;/span&gt; exists), we get:&lt;/p&gt;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$${n \choose k} \cdot 2^{-r}&amp;lt;1 \Rightarrow r &amp;gt; k \log n.$$&lt;/span&gt;&lt;/p&gt;&#xA;&lt;p&gt;Is there a deterministic build of such family of size &lt;span class=&quot;math-container&quot;&gt;$O(k \log n)$&lt;/span&gt;, or at least of size &lt;span class=&quot;math-container&quot;&gt;$\text{poly}(k,\log n)$&lt;/span&gt;?&lt;/p&gt;&#xA;&lt;h3&gt;Motivation for this problem:&lt;/h3&gt;&#xA;&lt;p&gt;I have an algorithm that searches for subgraphs of a given graph &lt;span class=&quot;math-container&quot;&gt;$G$&lt;/span&gt; which are similar to a smaller graph &lt;span class=&quot;math-container&quot;&gt;$H$&lt;/span&gt; on &lt;span class=&quot;math-container&quot;&gt;$k$&lt;/span&gt; vertices.&#xA;As part of the algorithm it gets a &lt;span class=&quot;math-container&quot;&gt;$k\times n$&lt;/span&gt; matrix (each vertex in the graph is associated with a binary vector of length k) and then it checks that all of the vertices which are matched to &lt;span class=&quot;math-container&quot;&gt;$H$&lt;/span&gt; are different by checking that the induced &lt;span class=&quot;math-container&quot;&gt;$k \times k$&lt;/span&gt; matrix is not singular.&lt;/p&gt;&#xA;&lt;p&gt;On the one hand, if two vertices of &lt;span class=&quot;math-container&quot;&gt;$H$&lt;/span&gt; were mapped to the same vertex, their vectors are the same and the matrix's rank will surely be less than &lt;span class=&quot;math-container&quot;&gt;$k$&lt;/span&gt;.&#xA;On the other, I'm not guaranteed that if the vertices were distinct the resulting matrix will be of full rank, so I run the algorithm for every matrix in my &lt;span class=&quot;math-container&quot;&gt;$(n,k)$&lt;/span&gt;-covering family.&lt;/p&gt;&#xA;&lt;p&gt;Currently I can draw random matrices and get the result with high probability, but an explicit build will allow me to derandomize the algorithm.&lt;/p&gt;&#xA;" OwnerUserId="21001" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2014-02-05T15:08:00.627" Title="Constructing a small (n,k)-Covering Matrices family" Tags="&lt;ds.algorithms&gt;&lt;co.combinatorics&gt;&lt;matrices&gt;&lt;extremal-combinatorics&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20769" PostTypeId="5" CreationDate="2014-01-29T10:10:18.917" Score="0" Body="&lt;p&gt;Extremal combinatorics, and one of it's most powerful tools, the probabilistic method is used for a variety of purposes, including derandomization of algorithms. &lt;/p&gt;&#xA;" OwnerUserId="21001" LastEditorUserId="21001" LastEditDate="2014-01-29T12:18:11.320" LastActivityDate="2014-01-29T12:18:11.320" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20770" PostTypeId="4" CreationDate="2014-01-29T10:10:18.917" Score="0" Body="Extremal combinatorics studies how large or how small a collection of finite objects (numbers, graphs, vectors, sets, etc.) can be, if it has to satisfy certain restrictions." OwnerUserId="21001" LastEditorUserId="21001" LastEditDate="2014-01-29T12:17:56.273" LastActivityDate="2014-01-29T12:17:56.273" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20771" PostTypeId="1" CreationDate="2014-01-29T10:15:12.557" Score="0" ViewCount="27" Body="&lt;p&gt;I have a system for tagging articles. Each editor ads different tags to each piece of content. For example:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;for A: George Washington, first president&#xA;for B: first president, Washington George&#xA;for C: George Bush, USA&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there any way I can generate &quot;possible similar tags&quot;. For example I need to suggest to the editor that &quot;George Washington&quot; and &quot;Washington George&quot; are similar and I should merge them.&lt;/p&gt;&#xA;" OwnerUserId="21350" LastActivityDate="2014-01-29T10:15:12.557" Title="Analyze tags similar tags" Tags="&lt;ds.algorithms&gt;&lt;data-mining&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="20772" PostTypeId="2" ParentId="20767" CreationDate="2014-01-29T10:33:02.210" Score="7" Body="&lt;p&gt;The problem you asked is the unweighted version of the Balance Connected 2-Partition ($BCP_2$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For unweighted case, any 2-connected graph can be partitioned into two connected subgraphs whose numbers of vertices differ by at most one. A simple algorithm uses st-numbering. For any 2-connected graph, we can label the vertices by $[1...n]$ such that any vertex has simultaneously a neighbor with smaller label and a neighbor with larger label. Let $V_1=\{1...n/2\}$ and $V_2=V-V_1$. It can be easily shown that both $V_1$ and $V_2$ induce connected subgraphs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, when there are cut vertices, the problem is NP-hard because it is equivalent to the weighted $BCP_2$. The transformation is as follows. Let $v$ be a cut vertex and $H$ be the maximum connected component in $G-v$. We shrink all components other than $H$ into $v$ and the weight of $v$ is given by the weight of the vertices combined in $v$. Repeat this process and we can obtain a weighted 2-connected graph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It can be easily realized that there exists a graph such that the minimum part contains only $n/3$ vertices in any 2-partition.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For $BCP_2$, the currently best approximation algorithm is due to Chlebikova (I hope that it is not out of date): &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Approximating the maximally balanced connected partition problem in graphs, Information Processing Letters, 60:225--230, 1996. The approximation ratio is 4/3. For some special graphs, there are better results. For example, &lt;a href=&quot;http://www.worldscientific.com/doi/abs/10.1142/S179383091250005X&quot; rel=&quot;noreferrer&quot;&gt;FPTAS for interval graphs&lt;/a&gt; and &lt;a href=&quot;http://link.springer.com/article/10.1007/s10878-012-9481-z&quot; rel=&quot;noreferrer&quot;&gt;5/4-approximation for grid graphs&lt;/a&gt; (&lt;a href=&quot;http://link.springer.com/chapter/10.1007/978-3-642-24983-9_19&quot; rel=&quot;noreferrer&quot;&gt;further improved to 7/6&lt;/a&gt;).&lt;/p&gt;&#xA;" OwnerUserId="20839" LastEditorUserId="1037" LastEditDate="2014-01-29T18:49:27.020" LastActivityDate="2014-01-29T18:49:27.020" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="20773" PostTypeId="2" ParentId="20723" CreationDate="2014-01-29T12:41:00.270" Score="8" Body="&lt;p&gt;The answer is yes, and in fact one can even reduce to the decision problem of linear inequalities feasibility!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We are as input given a LP instance P:&#xA;$\max c^Tx\ \text{s.t.}\ Ax \leq b\ ;\ x\geq 0$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;We furthermore have access to an oracle that given a system of inequalities $S=\{Bz \leq d\}$ returns yes/no, whether the system is feasible.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The reduction now proceeds as follows:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Test if $S_1=\{Ax \leq b\ ;\ x \geq 0\}$ is feasible. If not, we can report that P is INFEASIBLE.&lt;/li&gt;&#xA;&lt;li&gt;Form the dual program D: $\min b^Ty\ \text{s.t.}\ A^Ty \geq c\ ;\ y \geq 0$.&lt;/li&gt;&#xA;&lt;li&gt;Test if $S_2=\{Ax \leq b\ ;\ x\geq 0\ ;\ A^Ty\geq c\ ;\ y\geq0 \ ;\ b^Ty \leq c^Tx\}$ is feasible. If not, we can report that P is UNBOUNDED.&lt;/li&gt;&#xA;&lt;li&gt;Iterate over the inequalities of $S_1$ and try to add them one-by-one as &lt;em&gt;equalities&lt;/em&gt; (i.e. add the reverse inequality) to the system $S_2$. If the system remains feasible we keep the constraint in $S_2$, and otherwise remove it again. Let $S_3$ be the system of constraints (linear equalities) that gets added in this way. The system $S_3$  will now completely determine an optimal basic solution to P.&lt;/li&gt;&#xA;&lt;li&gt;Using Gaussian Elimination on the system $S_3$ compute an optimal solution $x$ to P.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="313" LastEditorUserId="313" LastEditDate="2014-01-29T13:06:07.920" LastActivityDate="2014-01-29T13:06:07.920" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="20774" PostTypeId="1" CreationDate="2014-01-29T12:46:15.327" Score="3" ViewCount="101" Body="&lt;p&gt;Consider the following optimization problem: given a finite set $S$ of intervals on the line and a number $k$. We need to colour this set in $k$ colours so that the measure of the set of points, which are contained in two or more intervals coloured with the same colour, is minimal for given $k$. By colouring a set $S$ in $k$ colours I mean a map from $S$ to $\{1,2,\ldots,k\}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Example: for three intervals $[0,3]$, $[1,4]$, $[2,5]$ and $k = 2$ we need to colour first and third interval in first colour and second interval in second colour, so the measure of the set of points, which are contained in two or more intervals coloured with the same colour, is $1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Motivation for this problem can be the following: we have $k$ guards and $S$ is a set of events to be observed. We need to partition these events into $k$ sets (one for every guard), minimizing the time when some guard observes more than one event.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I wonder if there are any papers on this problem or related problems.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note: I have asked &lt;a href=&quot;https://mathoverflow.net/questions/155920/minimize-the-length-of-intersection-of-the-set-of-intervals&quot;&gt;this question on mathoverflow&lt;/a&gt;, but didn't get a response. As this problem can be considered as scheduling optimization problem, I think it is closely related to computer science.&lt;/p&gt;&#xA;" OwnerUserId="21354" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2014-01-29T14:36:59.497" Title="Minimize the time when guard observes more than one event (for fixed number of guards)" Tags="&lt;reference-request&gt;&lt;optimization&gt;&lt;scheduling&gt;" AnswerCount="0" CommentCount="7" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="20776" PostTypeId="2" ParentId="20767" CreationDate="2014-01-29T15:29:35.530" Score="2" Body="&lt;p&gt;It is $NP$-complete to determine the existence of a partition of the vertex set $V$ of cubic graph into two vertex-induced trees of equal size.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This follows immediately from the the &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0010465505004303&quot; rel=&quot;nofollow noreferrer&quot;&gt;NP-completeness&lt;/a&gt; of deciding whether a cubic graph is Yutsis graph ( Yutsis graphs are also known as dual Hamiltonian cubic graphs). Jaeger proved that a graph $G(V, E)$ is dual Hamiltonian if and only if it has a partitioning of $V$ as $T_1 ∪ T_2$ such that $T_1$ and $T_2$ induce a tree. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Interestingly, Yutsis graphs arise naturally in the quantum theory of angular momenta. &lt;a href=&quot;https://physics.stackexchange.com/questions/80940/yutsis-graphs-in-quantum-theory&quot;&gt;Here&lt;/a&gt; I posted a related question on Physics SE. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;References&lt;/strong&gt;:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1- F. Jaeger, On vertex-induced forests in cubic graphs, Proceedings 5th&#xA;Southeastern Conference, Congressus Numerantium (1974) 501–512.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2- D. Van Dyck, G. Brinkmann, V. Fack, B.D. McKay, To be or not to be Yutsis: algorithms for the decision problem, Computer Physics Communications&#xA;173 (2005) 61–70.&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="-1" LastEditDate="2017-04-13T12:40:17.207" LastActivityDate="2014-01-29T16:14:44.540" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20778" PostTypeId="2" ParentId="20661" CreationDate="2014-01-29T18:49:58.197" Score="1" Body="&lt;p&gt;I ran a short clingo program which reported no graph without a TFAS, but there was a bug.  I fixed it and now it verifies there's no graph without a TFAS for n=8 or less.  For n=9, it finds this one:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;is_edge(edge(2,3)) is_edge(edge(1,4)) is_edge(edge(2,4)) is_edge(edge(3,5)) is_edge(edge(4,5)) is_edge(edge(1,6)) is_edge(edge(2,6)) is_edge(edge(3,6)) is_edge(edge(5,6)) is_edge(edge(1,7)) is_edge(edge(4,7)) is_edge(edge(5,7)) is_edge(edge(6,7)) is_edge(edge(1,8)) is_edge(edge(3,8)) is_edge(edge(4,8)) is_edge(edge(5,9)) is_edge(edge(6,9)) is_edge(edge(7,9)) is_edge(edge(2,1)) is_edge(edge(3,1)) is_edge(edge(4,3)) is_edge(edge(5,1)) is_edge(edge(5,2)) is_edge(edge(6,4)) is_edge(edge(7,2)) is_edge(edge(7,3)) is_edge(edge(8,2)) is_edge(edge(8,5)) is_edge(edge(8,6)) is_edge(edge(8,7)) is_edge(edge(9,1)) is_edge(edge(9,2)) is_edge(edge(9,3)) is_edge(edge(9,4)) is_edge(edge(9,8))&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Here's the (fixed) encoding&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;% tfas.asp&#xA;#show is_edge/1.&#xA;vertex(1..n).&#xA;&#xA;opp_edges(edge(A,B),edge(B,A)) :- vertex(A), vertex(B), A &amp;lt; B.&#xA;possible_edge(E1;E2) :- opp_edges(E1,E2).&#xA;&#xA;{is_edge(E1); is_edge(E2)} = 1 :- opp_edges(E1, E2).&#xA;ntfas(E) :- possible_edge(E), not is_edge(E).&#xA;ntfas(edge(X, X)) :- vertex(X).&#xA;&#xA;tfas(E) | fs(E) :- is_edge(E).&#xA;ntfas(E) :- fs(E).&#xA;&#xA;broken :- ntfas(edge(A,C)), tfas(edge(A, B)), tfas(edge(B,C)).&#xA;&#xA;reachable(X, Y) :- fs(edge(X, Y)), is_edge(edge(X, Y)).&#xA;reachable(X, Z) :- reachable(X, Y), fs(edge(Y, Z)), is_edge(edge(Y, Z)).&#xA;broken :- reachable(X, X).&#xA;&#xA;tfas(E) :- broken, possible_edge(E).&#xA;fs(E) :- broken, possible_edge(E).&#xA;:- not broken.&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Run it with &lt;code&gt;clingo -c n=7 tfas.asp&lt;/code&gt; (Using clingo 4.2.1)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(the n=7 indicates graphs of exactly 7 vertices)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It should return satisfiable if and only if there exists a graph with no TFAS on 7 vertices.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Ok, I figured out what graph @G.Bach was describing and coded it up in clingo (see the clingo description below.  It starts with a description of the gadget graph and proceeds to describe how to join copies of it together to get the full 34-vertex tournament graph G.Bach is describing.  I've attached the grounded graph description as well).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I then proceeded to run clingo on that graph and it claimed to have found a TFAS with 241 edges.  But I made a mistake in the graph encoding.  I fixed the mistake and clingo now reports unsatisfiable (ie there is no TFAS).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here's the program for finding TFAS's on a graph&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;{tfas(E)} :- is_edge(E).&#xA;:- not tfas(edge(A,C)), tfas(edge(A, B)), tfas(edge(B,C)).&#xA;&#xA;reachable(X, Y) :- not tfas(edge(X, Y)), is_edge(edge(X, Y)).&#xA;reachable(X, Z) :- reachable(X, Y), not tfas(edge(Y, Z)), is_edge(edge(Y, Z)).&#xA;:- reachable(X, X).&#xA;&#xA;tfas_count(N) :- N = #count{tfas(E) : tfas(E)}.&#xA;&#xA;#show tfas/1.&#xA;#show tfas_count/1.&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Here's the (updated) program for generating G.Bach's graph.  I added indicators at the end to check that the graph is a well-formed tournament graph:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;gadget_vertex(0..7).&#xA;&#xA;gadget_edge(0,1).&#xA;gadget_edge(0,2).&#xA;gadget_edge(0,3).&#xA;gadget_edge(0,4).&#xA;gadget_edge(1,2).&#xA;gadget_edge(1,3).&#xA;gadget_edge(1,6).&#xA;gadget_edge(1,7).&#xA;gadget_edge(2,3).&#xA;gadget_edge(2,4).&#xA;gadget_edge(2,5).&#xA;gadget_edge(2,7).&#xA;gadget_edge(3,4).&#xA;gadget_edge(3,5).&#xA;gadget_edge(3,6).&#xA;gadget_edge(4,1).&#xA;gadget_edge(4,5).&#xA;gadget_edge(4,6).&#xA;gadget_edge(4,7).&#xA;gadget_edge(5,0).&#xA;gadget_edge(5,1).&#xA;gadget_edge(5,6).&#xA;gadget_edge(6,0).&#xA;gadget_edge(6,2).&#xA;gadget_edge(6,7).&#xA;gadget_edge(7,0).&#xA;gadget_edge(7,3).&#xA;gadget_edge(7,5).&#xA;&#xA;special_edge(a;b;c;d;e).&#xA;&#xA;forces(a,b).&#xA;forces(b,c).&#xA;forcesn(c,a).&#xA;nforces(a,d).&#xA;forces(d,e).&#xA;forces(e,a).&#xA;&#xA;relates(A,B) :- forces(A,B).&#xA;relates(A,B) :- nforces(A,B).&#xA;relates(A,B) :- forcesn(A,B).&#xA;&#xA;is_se_pair(se_pair(A,B)) :- relates(A,B).&#xA;vertex_name(v(V,P)) :- gadget_vertex(V), is_se_pair(P).&#xA;&#xA;matches(from(A), v(5, se_pair(A,B))) :- forces(A,B).&#xA;matches(to(A), v(1, se_pair(A,B))) :- forces(A,B).&#xA;matches(from(B), v(3, se_pair(A,B))) :- forces(A,B).&#xA;matches(to(B), v(6, se_pair(A,B))) :- forces(A,B).&#xA;&#xA;matches(from(A), v(2, se_pair(A,B))) :- nforces(A,B).&#xA;matches(to(A), v(7, se_pair(A,B))) :- nforces(A,B).&#xA;matches(from(B), v(1, se_pair(A,B))) :- nforces(A,B).&#xA;matches(to(B), v(3, se_pair(A,B))) :- nforces(A,B).&#xA;&#xA;matches(from(A), v(7, se_pair(A,B))) :- forcesn(A,B).&#xA;matches(to(A), v(3, se_pair(A,B))) :- forcesn(A,B).&#xA;matches(from(B), v(5, se_pair(A,B))) :- forcesn(A,B).&#xA;matches(to(B), v(1, se_pair(A,B))) :- forcesn(A,B).&#xA;&#xA;same_vertex(V, V) :- vertex_name(V).&#xA;same_vertex(M, N; N, M) :- matches(X, M), matches(X, N).&#xA;&#xA;already_found(v(Y,N2)) :- vertex_name(v(X,N1)), same_vertex(v(X,N1),v(Y,N2)), N1 &amp;lt; N2.&#xA;vertex(V) :- vertex_name(V), not already_found(V).&#xA;&#xA;named_gadget_edge(edge(v(X,SE),v(Y,SE))) :- gadget_edge(X,Y), is_se_pair(SE).&#xA;from_gadget_edge_named(edge(A, B), edge(C,D)) :- named_gadget_edge(edge(C,D)), same_vertex(A,C), same_vertex(B,D), vertex(A), vertex(B).&#xA;from_gadget_edge(edge(A,B)) :- from_gadget_edge_named(edge(A,B),edge(C,D)).&#xA;is_edge(E) :- from_gadget_edge(E).&#xA;is_edge(edge(A,B)) :- vertex(A), vertex(B), A &amp;lt; B, not from_gadget_edge(edge(B,A)).&#xA;&#xA;vertex_count(VN) :- VN = #count{vertex(V) : vertex(V)}.&#xA;edge_count(EN) :- EN = #count{is_edge(E) : is_edge(E)}.&#xA;&#xA;#show vertex_count/1.&#xA;#show edge_count/1.&#xA;&#xA;bidirectional :- is_edge(edge(A,B)), is_edge(edge(B,A)).&#xA;phantom_vertex :- is_edge(edge(A,B)), not vertex(A).&#xA;phantom_vertex :- is_edge(edge(A,B)), not vertex(B).&#xA;incomplete :- vertex(A), vertex(B), not is_edge(edge(A,B)), not is_edge(edge(B,A)), A != B.&#xA;&#xA;#show bidirectional/0.&#xA;#show phantom_vertex/0.&#xA;#show incomplete/0.&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;" OwnerUserId="13643" LastEditorUserId="13643" LastEditDate="2014-02-01T23:09:48.563" LastActivityDate="2014-02-01T23:09:48.563" CommentCount="17" ContentLicense="CC BY-SA 3.0" />
  <row Id="20779" PostTypeId="2" ParentId="20731" CreationDate="2014-01-29T19:40:01.800" Score="-3" Body="&lt;p&gt;much agreed this an important topic to survey/cover but it seems not to have been much yet. a few refs of varying style/coverage/audience/ &lt;em&gt;formality&lt;/em&gt; not &lt;em&gt;exactly&lt;/em&gt; as requested but somewhat close (best seen online so far on medium search, hope to hear further of any better ones; more notes below):&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://www.cs.otago.ac.nz/staffpriv/mike/Papers/Wand/Wand.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;The complexity of algorithms&lt;/a&gt; Atkinson (alas only a single ref to biology in the paper, but may suffice on more general science/engineering terms)&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;The modern theory of algorithms dates from the late 1960s when the&#xA;method of asymptotic execution time measurement began to be used. It&#xA;is argued that the subject has both an engineering and scientiﬁc wing.&#xA;The engineering wing consists of well-understood design methodologies&#xA;while the scientiﬁc wing is concerned with theoretical underpinnings. The&#xA;key issues of both wings are surveyed. Finally some personal opinions on&#xA;where the subject will go next are oﬀered.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://www.cs.uu.nl/groups/AD/compl-diaz.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Complexity and Algorithms&lt;/a&gt; J. Diaz. 100 slides. broad; one could excerpt relevant ones in particular.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://discrete.gr/complexity/&quot; rel=&quot;nofollow noreferrer&quot;&gt;A Gentle Introduction to Algorithm Complexity Analysis&lt;/a&gt; Dionysis &amp;quot;dionyziz&amp;quot; Zindros&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;in other words is there a sort of introduction/survey/overview of the &lt;em&gt;complexity theoretic&lt;/em&gt; lens in close combination/conjunction/companion with the advancing &lt;em&gt;algorithmic lens&lt;/em&gt; in science, something like &lt;em&gt;&amp;quot;Complexity theory for scientists, engineers, and researchers&amp;quot;&lt;/em&gt;?&lt;/p&gt;&#xA;&lt;p&gt;there are good refs on the former &amp;quot;algorithmic lens&amp;quot; you have cited eg &lt;a href=&quot;http://lazowska.cs.washington.edu/fcrc/Christos.FCRC.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Papadimitriou&lt;/a&gt; but it does not seem a highly satisfactory ref by an expert in the field has been written on the latter &amp;quot;complexity lens&amp;quot;... &lt;em&gt;yet&lt;/em&gt; (maybe some &lt;em&gt;&amp;quot;elite&amp;quot;&lt;/em&gt; member of this site will consider that as their next book or paper project).&lt;/p&gt;&#xA;&lt;p&gt;note also there are a lot of refs on relevance P vs NP outside of complexity theory &amp;amp; in other scientific fields that could be used somewhat for these purpose. will add them in comments if there is any interest.&lt;/p&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2014-01-29T20:11:27.837" CommentCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="20780" PostTypeId="1" AcceptedAnswerId="20788" CreationDate="2014-01-29T21:52:04.600" Score="8" ViewCount="527" Body="&lt;p&gt;It is well known result proved by Holyer that deciding 3-edge colorability of cubic graphs is $NP$-complete problem. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;By Vizing's theorem, all cubic graphs are edge colorable using $\Delta +1$ colors. So, the property of 3-edge colorabilty partitions cubic graphs into two infinite sets. Therefore, the property of 3-edge colorability is an interesting natural property of cubic graphs. Another example is the the $NP$-complete problem of deciding whether a cubic graph $G(V, E)$ has a partitioning of $V$ as $T_1 ∪ T_2$ such that $T_1$ and $T_2$ induce trees of equal size (Deciding whether a cubic graph is &lt;a href=&quot;https://cstheory.stackexchange.com/a/20776/495&quot;&gt;Yutsis graph&lt;/a&gt;). The preceding two example problems demonstrates what I mean by &lt;strong&gt;natural interesting property&lt;/strong&gt; of cubic graphs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another &lt;strong&gt;natural interesting property&lt;/strong&gt; of cubic graphs is the problem of deciding the existence of 2-colorable perfect matching in cubic graphs which was proved to be $NP$-complete by Schaefer using his famous dichotomy theorem of CSP's. The problem is to decide the existence of 2-coloring of the vertices of cubic graph such that every vertex has exactly one neighbor of the same color as itself.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm interested in a dichotomy theorem that tells us which &lt;strong&gt;natural interesting&lt;/strong&gt; problems on cubic graphs are polynomial-time decidable and which ones are $NP$-complete.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there a P/NP-complete dichotomy theorem for &lt;strong&gt;natural interesting&lt;/strong&gt; properties of cubic graphs?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;As it is apparent from the examples, I'm only interested in decision problems where the validity of a solution can be expressed independent of the solution size. I require that the solution has a specific structural property. &lt;a href=&quot;https://cstheory.stackexchange.com/questions/19845/np-complete-graph-problems-about-structural-properties&quot;&gt;Bach's post&lt;/a&gt; may help in clarifying my motivation. &lt;a href=&quot;https://cstheory.stackexchange.com/a/19866/495&quot;&gt;My answer&lt;/a&gt; to Bach's post which involves the efficient dominating set problem ( 1-perfect code ) on cubic graphs is a perfect example for natural interesting property of cubic graphs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another famous natural interesting property of cubic graphs is being Hamiltonian. Also, it may not be obvious, I'm only interested in natural interesting properties of &lt;strong&gt;connected&lt;/strong&gt; cubic graphs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT 1-30-2014&lt;/strong&gt;:  To capture the essence of &lt;strong&gt;natural property&lt;/strong&gt; of cubic graphs, I accept a natural $NP$ &lt;strong&gt;property&lt;/strong&gt; $X$ of cubic graphs where there is &lt;strong&gt;natural&lt;/strong&gt; efficient verifier that verifies a &lt;strong&gt;natural interesting&lt;/strong&gt; relation $(x, c)$ where $x$ is an input instance (i.e. connected cubic graph) and $c$ is a short witness of membership of $x$ in $X$. All witnesses are indistinguishable to the verifier. The validity of witnesses must be decided by running the natural verifier. Such natural $NP$ property must partition the class of cubic graphs into two infinite sets.&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2014-02-05T18:59:00.043" Title="Is there a P/NP-complete dichotomy theorem for natural interesting properties of cubic graphs?" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;" AnswerCount="4" CommentCount="9" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="20781" PostTypeId="1" CreationDate="2014-01-29T22:28:24.003" Score="1" ViewCount="121" Body="&lt;p&gt;Relating to &lt;a href=&quot;https://cstheory.stackexchange.com/questions/20712/a-variant-of-linear-programming&quot;&gt;a question I posted here&lt;/a&gt;, I have formulated the following question:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Notation: $\max\{ x_1, \cdots, x_n \}$ denotes the maximal number among $x_1, \cdots, x_n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;How to check the following system of equations is feasible? Assumption: $x_i, b_k$ are all in $[0,1]$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\max\{x_i\mid i\in J_k\}=b_k$ where $1\leq k\leq m$ and $J_k\subseteq \{1, \cdots, n\}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;for example: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\max\{x_1, x_4\}=0.7$ and $\max\{x_1, x_2, x_3\}=0.5$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What's the complexity of this problem? Obviously it is in NP, but is it NP-hard? It would be a surprise if such an easy problem does not have a polynomial algorithm. Does linear programming help here?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Many thanks. &lt;/p&gt;&#xA;" OwnerUserId="21036" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.743" LastActivityDate="2014-01-30T18:18:43.813" Title="Feasibility of equations with max constraints" Tags="&lt;cc.complexity-theory&gt;&lt;linear-programming&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="20783" PostTypeId="2" ParentId="20661" CreationDate="2014-01-30T02:10:08.857" Score="4" Body="&lt;p&gt;To add a little context, here's a construction for a graph that doesn't have a transitive feedback arc set. For this construction, I'll use the following gadget graph:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/5LEkP.jpg&quot; alt=&quot;gadget graph used to force implications&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This tournament has the following properties (which I checked using a program, I didn't prove it formally):&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;if (2,7) is not in a given TFAS, then (1,3) is&lt;/li&gt;&#xA;&lt;li&gt;if (5,1) is in a given TFAS, then so is (3,6)&lt;/li&gt;&#xA;&lt;li&gt;if (7,3) is in a given TFAS, then (5,1) is not&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;or slightly abusing predicate logic notation:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$\neg (2,7) \rightarrow (1,3)$&lt;/li&gt;&#xA;&lt;li&gt;$(5,1) \rightarrow (3,6)$&lt;/li&gt;&#xA;&lt;li&gt;$(7,3) \rightarrow \neg (5,1)$&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;You'll notice that for each implication, the two edges are pairwise disjoint, so the following construction works:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/BELiw.jpg&quot; alt=&quot;construction for graph that doesn&amp;#39;t have a TFAS&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I hope you can make out the idea of the graph: using the implication properties of the tournament above, we can construct a graph in which each transitive feedback arc set both includes and doesn't include the edge $A$, i.e. a contradiction, which means the graph doesn't have a transitive feedback arc set. Any completion of that graph cannot have one either since the same contradiction will remain in any completion. I left out a large number of vertices, all of which can be derived from substituting the tournament above for the implications.&lt;/p&gt;&#xA;" OwnerUserId="8871" LastEditorUserId="8871" LastEditDate="2014-01-30T14:00:32.210" LastActivityDate="2014-01-30T14:00:32.210" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="20784" PostTypeId="1" AcceptedAnswerId="20785" CreationDate="2014-01-30T05:30:04.573" Score="1" ViewCount="144" Body="&lt;p&gt;I'm working on a path finding algorithm for my thesis and I've gotten to a problem I need to solve where agents can replan their path if they need/have to. For example, if an agent is traversing across a corridor and then a barrier is inserted in, the agent has to replan because his old path is invalid. Another case is if the barrier already exists and the agent has to take a longer route, but while traveling, the barrier is removed and a significantly shorter route becomes available so the agent may replan but can still continue on his old path.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have some ideas on how to work on the first case, but I'm at a loss for where to start for the second case. Does anyone know how other path planning algorithms deal with replanning, or can point me to any resources that can help me find some direction in tackling this problem?&lt;/p&gt;&#xA;" OwnerUserId="21347" LastActivityDate="2014-01-30T08:19:09.573" Title="Path replanning in path finding algorithms" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="20785" PostTypeId="2" ParentId="20784" CreationDate="2014-01-30T05:43:29.107" Score="3" Body="&lt;p&gt;The problem is known as the &lt;strong&gt;Canadian Traveler Problem&lt;/strong&gt;. &lt;/p&gt;&#xA;" OwnerUserId="20839" LastActivityDate="2014-01-30T05:43:29.107" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20787" PostTypeId="1" CreationDate="2014-01-30T07:13:23.283" Score="3" ViewCount="248" Body="&lt;p&gt;&quot;In-place&quot; is a seemingly informal adjective used to describe algorithms. Does it have a precise definition?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To further clarify the discussion, what models of computation can we say are in-place? We can probably say whether a specific C program running on a specific machine is in-place. Can we say whether a C program is in-place, independent of its implementation? Can we say whether a Turing machine is in-place? Can we identify in-place algorithms with known complexity classes?&lt;/p&gt;&#xA;" OwnerUserId="16737" LastActivityDate="2015-08-11T08:19:47.373" Title="What is a precise definition of &quot;in-place&quot;?" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;" AnswerCount="2" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="20788" PostTypeId="2" ParentId="20780" CreationDate="2014-01-30T07:42:38.593" Score="11" Body="&lt;p&gt;Here are some examples of problems which I believe have a reasonable claim of being &quot;natural&quot; (at least, they can be stated concisely) which (when phrased as decision problems) do not appear to be known in P nor known NP-complete. So if you want a dichotomy theorem you either need to be more precise about what you mean by &quot;natural&quot; in a way that excludes examples like these, or you need to look for more precisely defined subclasses of the natural problems (e.g. MSO formulas with the second-order quantification restricted to be existential and outside everything else) for which there might be more hope of a dichotomy.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I've made this community wiki because I think it could be a large list.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Are there evenly many 3-edge-colorings? (Should be $\oplus P$-complete)&lt;/li&gt;&#xA;&lt;li&gt;Who wins at strings-and-coins? (Might be PSPACE-complete)&lt;/li&gt;&#xA;&lt;li&gt;What is its list coloring or list edge coloring number? (Might be $\Pi^p_2$-complete)&lt;/li&gt;&#xA;&lt;li&gt;Is it a unit disk graph? A unit distance graph? (Might be $\exists \mathbb{R}$-complete)&lt;/li&gt;&#xA;&lt;li&gt;Given two cubic Halin graphs with the same labeled outer face, how few steps does it take to convert one to the other by alternatingly contracting an interior edge and then uncontracting it the other way? (Equivalent to the open problem of computing rotation distance on binary search trees; might also be interesting for broader classes of cubic graphs)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="95" LastEditorUserId="95" LastEditDate="2014-02-05T18:59:00.043" LastActivityDate="2014-02-05T18:59:00.043" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="20789" PostTypeId="2" ParentId="20784" CreationDate="2014-01-30T08:06:32.963" Score="3" Body="&lt;p&gt;The problem is also knwon and heavily studied as &lt;strong&gt;Dynamic Vehicle Routing Problem&lt;/strong&gt; (or &lt;em&gt;On-line vehicle routing problem&lt;/em&gt;):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It differs from the static counterpart because:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Not all information relevant to the planning of the routes is known by the planner when the routing process begins;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Information can change after the initial routes have been constructed.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;You can take a look to: &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Victor Pillaca, Michel Gendreauc, Christelle Guéreta, Andrés L. Medaglia, &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0377221712006388&quot; rel=&quot;nofollow&quot;&gt;A review of dynamic vehicle routing problems&lt;/a&gt;, (2011);&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Victor Pillaca, Christelle Guéreta, Andrés L. Medaglia, &lt;a href=&quot;http://hal.archives-ouvertes.fr/docs/00/62/34/74/PDF/Pillac2010_-_Dynamic_vehicle_routing_problems_-_state_of_the_art_and_prospects.pdf&quot; rel=&quot;nofollow&quot;&gt;Dynamic Vehicle Routing Problems: State of the art and Prospects&lt;/a&gt;, (2010);&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Allan Larsen's thesis: &lt;a href=&quot;http://orbit.dtu.dk/fedora/objects/orbit:83345/datastreams/file_5261816/content&quot; rel=&quot;nofollow&quot;&gt;The Dynamic Vehicle Routing Problem&lt;/a&gt;, with some real-world applications;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2014-01-30T08:19:09.573" LastActivityDate="2014-01-30T08:19:09.573" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20790" PostTypeId="2" ParentId="20780" CreationDate="2014-01-30T08:21:09.493" Score="3" Body="&lt;p&gt;No, there is no such theorem. There cannot be such a theorem because a theorem is a formal, proven statement of mathematics and &quot;natural interesting property&quot; is not a formal property and, therefore, nothing can possibly be proven about it.&lt;/p&gt;&#xA;" OwnerUserId="17082" LastActivityDate="2014-01-30T08:21:09.493" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="20792" PostTypeId="2" ParentId="20787" CreationDate="2014-01-30T11:41:21.897" Score="5" Body="&lt;p&gt;An in-place algorithm assumes its input is given in working memory, and it cannot use any other working memory than what the input initially occupies. We can consider any fixed amount of working memory to be part of the algorithm itself.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example,&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Finite_automaton&quot; rel=&quot;nofollow&quot;&gt;finite automata&lt;/a&gt; are in-place;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Pushdown_automata&quot; rel=&quot;nofollow&quot;&gt;pushdown automata&lt;/a&gt; are not;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Linear_bounded_automaton&quot; rel=&quot;nofollow&quot;&gt;linear bounded automata&lt;/a&gt; are;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Turing_machine&quot; rel=&quot;nofollow&quot;&gt;Turing machines&lt;/a&gt; are not.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;A formalization of the notion can be a &lt;a href=&quot;https://en.wikipedia.org/wiki/Random-access_machine&quot; rel=&quot;nofollow&quot;&gt;random-access machine&lt;/a&gt; with limited memory.&lt;/p&gt;&#xA;" OwnerUserId="3113" LastEditorUserId="3113" LastEditDate="2015-08-11T08:19:47.373" LastActivityDate="2015-08-11T08:19:47.373" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="20793" PostTypeId="2" ParentId="20780" CreationDate="2014-01-30T13:00:25.637" Score="5" Body="&lt;p&gt;There is no &lt;strong&gt;P&lt;/strong&gt;-vs-&lt;strong&gt;NP&lt;/strong&gt; dichotomy for problems on cubic graphs because there are problems on cubic graphs of arbitrarily high complexity.  We can code arbitrary binary strings as cubic graphs, thus translating any question about binary strings into a question about cubic graphs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For $k\geq 5$, let $W_k$ be the graph consisting of two disjoint $k$-cycles $x_1\dots x_k x_1$ and $y_1\dots y_k y_1$, along with the matching $x_2y_2, \dots, x_ky_k$. (Thus, every vertex except $x_1$ and $x_2$ has degree&amp;nbsp;3.) Given an arbitrary binary string $s=s_1\dots s_\ell$, let $H_1 \dots H_{\ell+4}$ be the following sequence of graphs.  For $1\leq i\leq \ell$, let $H_i = W_5$ if $s_i=0$ and $H_i = W_7$ if $s_i=1$.  Let $H_{\ell+1}=H_{\ell+4}=W_9$, $H_{\ell+2} = W_5$ and $H_{\ell+3} = W_7$.  Now, let $G_s$ be the graph made from the sequence of $H$'s by adding an edge between a degree-2 vertex in $H_i$ and one in $H_{i+1}$ ($i&amp;lt;\ell+4$) and likewise between $H_{\ell+4}$ and&amp;nbsp;$H_1$, thus making a connected, cubic graph.  (The purpose of $H_{\ell+1}, \dots, H_{\ell+4}$ is just to establish the direction of the cycle.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, take any language $\mathcal{L}\subseteq \{0,1\}^*$ &amp;ndash; it doesn't even have to be decidable. $\mathcal{G} = \{G_s\mid s\in\mathcal{L}\}$ is a subset of the cubic graphs and determining membership of $\mathcal{G}$ has the same complexity as determining membership of $\mathcal{L}$.&lt;/p&gt;&#xA;" OwnerUserId="17082" LastEditorUserId="17082" LastEditDate="2014-01-30T14:32:55.547" LastActivityDate="2014-01-30T14:32:55.547" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="20795" PostTypeId="1" CreationDate="2014-01-30T13:14:41.663" Score="5" ViewCount="195" Body="&lt;p&gt;The normal Quine - a program that prints its own code - is a special case of an n-Quine.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An n-Quine is a program that prints code for a different program that after n iterations of printing and running will yield its own source (it has a period of n, and it does not repeat during the first n-1 iterations).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A &quot;super Quine&quot; is a (n&gt;1)-Quine that is shorter than all the shortest n-Quines with smaller n (including the shortest 1-Quine = normal Quine).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;When are super Quines possible? It's easy enough to think of a language where they are. But it is hard to think of an example in any general purpose language.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What factor determines the presence or absence of super Quines in a language?&lt;/p&gt;&#xA;" OwnerUserId="12600" LastEditorUserId="12600" LastEditDate="2014-05-09T23:20:59.467" LastActivityDate="2014-05-10T19:14:02.250" Title="Higher order Quines - when do super Quines exist?" Tags="&lt;fl.formal-languages&gt;&lt;pl.programming-languages&gt;&lt;recursion&gt;" AnswerCount="2" CommentCount="7" FavoriteCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20796" PostTypeId="2" ParentId="20787" CreationDate="2014-01-30T16:29:42.883" Score="1" Body="&lt;p&gt;In place means you overwrite the memory location of the input with the output, and you are allowed to cannibalize this buffer for use in the computation.&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;void* in_place(void* ptr, int buffer_size) //If you prefer C notation&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;What goes in that function is arbitrary. In practice this is both a blessing and a curse. You have the freedom to recycle the buffer, but you are burdened by losing bits of the input as you overwrite them with the output.&lt;/p&gt;&#xA;" OwnerUserId="2021" LastActivityDate="2014-01-30T16:29:42.883" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="20797" PostTypeId="2" ParentId="20753" CreationDate="2014-01-30T16:47:52.290" Score="0" Body="&lt;p&gt;It depends. Evolutionary algorithms are highly sensitive to the state space of the fitness function. In general crossover gives you nothing better than flipping a random coin. On some fitness functions like maximize the number of 1 bits, crossover speeds convergence at an amazing rate.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you know little about your fitness function, keep track of how many times crossover(A,B) has yielded a fitter result than A or B.  Report this result as part of your analysis of the fitness landscape.&lt;/p&gt;&#xA;" OwnerUserId="2021" LastActivityDate="2014-01-30T16:47:52.290" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="20798" PostTypeId="2" ParentId="20781" CreationDate="2014-01-30T17:24:34.297" Score="4" Body="&lt;p&gt;Let $y_i=\min\{b_k| i\in J_k\}$. Observe for any feasible solution, $x_i\leq y_i$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Claim:&lt;/strong&gt; The system of $\max$ equations is feasible iff $x_i=y_i$ for $1\leq i\leq n$ is a solution.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Proof.&lt;/strong&gt; &#xA;If $x_i=y_i$ is a solution, then the system of $\max$ equations is feasible&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider any solution, and $x_i &amp;lt; y_i$ for some $i$. We can increase $x_i$ to $y_i$ without violate any equation. Assume it violates the $k$th equation, namely $\max\{x_j|j,i\in J_k\}=b_k$, then it implies $y_i = \max\{x_j|j,i\in J_k\} &amp;gt; b_k$, but that's a contradiction because&#xA;$$&#xA;b_k \geq \min\{b_j| i\in J_j\} = y_i = \max\{x_j|j,i\in J_k\} &amp;gt; b_k&#xA;$$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The algorithm is just compute $y_i$s and check if it satisfies all the equations. This takes linear time. &lt;/p&gt;&#xA;" OwnerUserId="314" LastEditorUserId="314" LastEditDate="2014-01-30T18:18:43.813" LastActivityDate="2014-01-30T18:18:43.813" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20799" PostTypeId="1" CreationDate="2014-01-30T17:46:36.580" Score="4" ViewCount="119" Body="&lt;p&gt;Is there any graph theoretic result for recognising graphs whose complement has no odd holes ?&#xA;I know about perfect graphs but they have the extra criteria being odd-hole free. &lt;/p&gt;&#xA;" OwnerUserId="12280" LastActivityDate="2014-01-30T20:46:45.803" Title="Criteria to determine if a complement of a graph has odd-holes" Tags="&lt;graph-theory&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="20800" PostTypeId="1" CreationDate="2014-01-30T17:58:36.060" Score="2" ViewCount="97" Body="&lt;p&gt;Perfect graphs exhibits many nice properties which enables NP complete problems to be solvable in polynomial time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question: Are there any result which indicates existence of some superclass of perfect graphs with similar properties ?&lt;/p&gt;&#xA;" OwnerUserId="12280" LastActivityDate="2014-01-30T17:58:36.060" Title="Super class of perfect graphs" Tags="&lt;graph-theory&gt;" AnswerCount="0" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="20801" PostTypeId="2" ParentId="20799" CreationDate="2014-01-30T20:46:45.803" Score="10" Body="&lt;p&gt;There is a structural result for odd-hole-free graphs by Michele Conforti, Gérard Cornuéjols, and Kristina Vušković:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0166218X03003640&quot;&gt;Decomposition of odd-hole-free graphs by double star cutsets and 2-joins&lt;/a&gt;, Discrete Applied Mathematics, 2004.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Basically what it says is either the odd-hole-free graph belongs to a kind of basic class, or we can decompose the graph into smaller pieces using two kinds of decompositions.  The proof of the strong perfect graph theorem follows the same spirit, and similar results are also known for various classes, e.g. even-hole-free graphs.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The interesting thing is that although &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0095895612000810&quot;&gt;the structural theorem of even-hole-free graphs&lt;/a&gt; leads to polynomial-time recognition algorithms (&lt;a href=&quot;http://integer.tepper.cmu.edu/webpub/algo-even.pdf&quot;&gt;1&lt;/a&gt;, &lt;a href=&quot;http://arxiv.org/abs/1311.0358&quot;&gt;2&lt;/a&gt;), the corresponding implication is not known for odd-hole-free graphs.  However if we add the restriction that the clique number is bounded then &lt;a href=&quot;http://integer.tepper.cmu.edu/webpub/oddhole2.pdf&quot;&gt;we do have such a result&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;$^1$ The first decomposition-based algorithm.&#xA;$^2$ The fastest algorithm currently known.&lt;/p&gt;&#xA;" OwnerUserId="1800" LastActivityDate="2014-01-30T20:46:45.803" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20802" PostTypeId="2" ParentId="20731" CreationDate="2014-01-30T20:59:31.417" Score="7" Body="&lt;p&gt;My personal (and biased) take is that asymptotic worst-case analysis is a historical stepping stone to more practically useful kinds of analysis.  It therefore seems hard to justify to practitioners.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Proving bounds for the worst case is often easier than proving bounds for even &quot;nice&quot; definitions of average case.  Asymptotic analysis is also often much easier than proving reasonably tight bounds.  Worst-case asymptotic analysis is therefore a great place to start.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The work of Daniel Spielman and Shanghua Teng on smoothed analysis of Simplex seems to me a harbinger of what can happen when we start to gain a better understanding of the shape of a problem: tackling the worst-case first enables a more nuanced understanding to be developed.  Further, as Aaron Roth suggested in the comments, if the &quot;usual&quot; behaviour of a system is significantly different from its worst case, then the system is not yet completely specified and more work is needed to improve the model.  So going beyond worst-case generally seems important as a long-term goal.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As far as asymptotic analysis is concerned, it usually serves to keep a long and messy proof clear of distracting details.  Unfortunately there currently does not seem to be a way to reward the tedious work of filling in the details to obtain the actual constants, so that seldom seems to get done.  (Page limits also work against this.)  Careful analysis of the details of an asymptotic bound has led to actual algorithms, with good bounds on the constants, so I personally would like to see more of this kind of work.  Perhaps if more proofs were formalised using proof assistant systems, then the constants could be estimated with less additional effort.  (Or bounds on the constants, along the lines of Gowers' bound for the Szemerédi Regularity Lemma, might become more routine.)  There are also ways to prove lower bounds that are free of constants, by using more explicit machine models (such as deterministic finite-state automata).  However, such (near-)exact lower bounds for more general models of computation may require a lot of work, or be out of reach altogether.  This seems to have been pursued in ~1958–73 during the first heyday of automata theory, but as far as I can tell has since largely been left alone.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In short: in future, I think we'll see worst-case analysis as just a first step, and I hope we'll see expressions like $O$&lt;sup&gt;&amp;#42;&lt;/sup&gt;$(n^k)$ with galactic hidden constants as just the first step.  I find it difficult to justify the current focus on worst-case asymptotic analysis to practitioners, but perhaps it is useful to see this as the beginning steps of a longer journey.&lt;/p&gt;&#xA;" OwnerUserId="109" LastActivityDate="2014-01-30T20:59:31.417" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="20807" PostTypeId="2" ParentId="8970" CreationDate="2014-01-30T23:04:43.863" Score="3" Body="&lt;p&gt;Just another (perhaps simpler) reduction from Exact Cover by Three Sets (X3C).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given  a set of $3q$ elements $X = \{ x_1,...,x_{3q}\}$ and a collection of 3 elements subsets $C = \{ C_1,...,C_m \}$, does $C$ contain an exact cover for $X$, i.e. a subcollection $C′\subseteq C$, $|C'| = q$,  such that every element of $X$ occurs in exactly one member of $C′$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Reduction: pick $n$ such that $2^n &amp;gt; q$ and transform every subset $C_j = \{x_{i_1}, x_{i_2}, x_{i_3}\}$ into an integer:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$a_j = 2^{6qn} + 2^{2(i_1-1)n} + 2^{2(i_2-1)n} + 2^{2(i_3-1)n}$$ and set as target sum:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$b = q 2^{6qn} + 2^{2(3q-1)n} + \ldots +  2^{2n} + 2$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$X$ has an exact cover if and only if there exist integers  $y_1,...,y_{3q}$, $y_j \geq 0$ such that:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$a_1 y_1 + \ldots +  a_{3q} y_{3q} = b\quad (1)$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/Y5SJ5.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Proof sketch:&lt;br&gt; $(\Rightarrow)$ It is easy to see that, by construction, if an exact cover $C' = \{ C_{j_1},...,C_{j_q} \}$ exists we can set $y_j = 1$ if $C_j \in C'$, $y_j = 0$ if $C_j \notin C'$, and equation $(1)$ holds.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$(\Leftarrow)$ Suppose that $(1)$ holds. Then at most $q$ from the $y_j$s can be different from $0$, otherwise the sum is greater than $(q+1)2^{6qn}&amp;gt;b$ (leftmost bits in the figure).&#xA;Furthermore every $y_i$ must be $&amp;lt; 2^n$ otherwise $a_i y_i \geq 2^n 2^{6qn} \geq (q+1)2^{6qn} &amp;gt; b$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But if $0 \leq y_j &amp;lt; 2^n$, the bit at position $2(i-1)n$ in $a_j$ corresponding to element &#xA;$x_i$ of $X$ cannot be shifted to the left by the multiplication and &quot;reach the position&quot; $2(i-1)+n$, so even if $q$ of them are summed, they cannot reach and alter the bit $2in$ which correspond to the element $x_{i+1}$: $2^{2(i-1)n}y_jq&amp;lt;2^{2in}$ (informally the bits corresponding to elements $x_i$ cannot interfere with each other).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Every bit $2^{2(i-1)n}, i &amp;lt; 3q$ of $b$ must be &quot;generated&quot; by exactly one of the $a_j$, so $0 \leq y_j \leq 1$ and the $y_j \neq 0$ identify an exact cover  of $X$: $C' = \{ C_j \mid y_j \neq 0 \}$.&lt;/p&gt;&#xA;" OwnerUserId="3247" LastActivityDate="2014-01-30T23:04:43.863" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20808" PostTypeId="1" CreationDate="2014-01-30T23:53:54.017" Score="-1" ViewCount="472" Body="&lt;p&gt;Does anyone know of any open source implementation (preferably in java) of Kallmann's DCDT algorithm? If there's another DCDT algorithm that has been implemented, that may work as well. I wasn't sure if I should post this here or on StackOverflow, so let me know if this is the wrong place to post. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT: Here's the algorithm: &lt;a href=&quot;http://infoscience.epfl.ch/record/100269/files/Kallmann_and_al_Geometric_Modeling_03.pdf&quot; rel=&quot;nofollow&quot;&gt;http://infoscience.epfl.ch/record/100269/files/Kallmann_and_al_Geometric_Modeling_03.pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="21347" LastActivityDate="2014-01-31T15:46:51.797" Title="Implementation of Kallmann's Dynamic Constrained Delaunay Triangulation algorithm" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;implementation&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="20810" PostTypeId="2" ParentId="20712" CreationDate="2014-01-31T01:18:49.250" Score="0" Body="&lt;p&gt;M(G)ods, if you deem this response unfit to be an &lt;em&gt;answer&lt;/em&gt;, please move it to a comment.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;FWIW, one could write a &lt;em&gt;binary&lt;/em&gt; integer linear program model for the problem:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$ \begin{array}{lrcll}&#xA;     \min &amp;amp; \sum_j a_j x_j \\&#xA;     \mbox{s.t.} &amp;amp; x_i &amp;amp; \leq &amp;amp; b_k, &amp;amp; \forall i \in J_k,~ k=1,\dots,m; \\&#xA;                 &amp;amp; x_i &amp;amp; \geq &amp;amp; b_k - M (1-z_{ik}), &amp;amp; \forall i \in J_k,~ k=1,\dots,m; \\&#xA;                 &amp;amp; \sum_{i \in J_k} z_{ik} &amp;amp; = &amp;amp; 1 &amp;amp; k=1,\dots,m; ~\mbox{and}\\&#xA;                 &amp;amp; z_{ik} &amp;amp; \in &amp;amp; \{0,1\} &amp;amp; \forall i,k.&#xA;    \end{array}&#xA; $$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The constraints with the extra binary variables $z_{ik}$ force a/the largest of the $x_i, i \in J_k$ to equal $b_k$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Typically, constraints of the $\min$-$\max$ or $\max$-$\min$ forms (i.e., minimize the maximum of a set of linear functions, or vice versa) could be modeled as linear inequalities, i.e., as linear programs, without requiring extra binary variables. In this case, we have to set the maximum of a set of variables ($x_i, i\in J_k$) to some predefined value ($b_k$). AFAICS, one could not avoid the use of extra binary variables when writing these maximum constraints as linear (in)equalities, for instance, as shown above. &lt;/p&gt;&#xA;" OwnerUserId="10079" LastActivityDate="2014-01-31T01:18:49.250" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20812" PostTypeId="1" CreationDate="2014-01-31T03:38:49.827" Score="5" ViewCount="151" Body="&lt;p&gt;Given $G$, $C$ and $M$, where $G$ is a graph with maximum degree $3$, $C$ is a hamiltonian cycle of $G$, and $M$ is a matching of $G$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $\mathcal{N}$ be the set of all matching of $C$ with size $|M|$. We want to pick a $N\in \mathcal{N}$, such that the number of cycles in $M\cup N$ is maximized. Here we also define edges in $M\cap N$ to be cycles.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is this problem NP-hard?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A cool way to visualize the problem is consider $n$ points on a circle and some endpoint disjoint chords between the points. We want to connect adjacent points with disjoint arcs to maximize the number of cycles. &lt;/p&gt;&#xA;" OwnerUserId="314" LastEditorUserId="314" LastEditDate="2014-01-31T03:48:04.960" LastActivityDate="2014-01-31T03:48:04.960" Title="Union of two matching to maximize the number of cycles" Tags="&lt;ds.algorithms&gt;&lt;graph-algorithms&gt;" AnswerCount="0" CommentCount="6" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="20814" PostTypeId="1" CreationDate="2014-01-31T09:59:50.047" Score="18" ViewCount="507" Body="&lt;p&gt;The problem Max-Sat ask you to find an assignment of a CNF formula which satisfy as many clauses as possible.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the simpler problem SAT there are many known special cases which can be solved in polynomial time, e.g. we can solve 2-SAT in polynomial time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For Max-Sat the situation is different since Max-Sat is NP-hard even for 2-CNF formulas (each clause contains only 2 variables).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there any interesting special inputs for which Max-Sat is polynomial? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In particular I would be interested in a standard reference for solving Max-Sat when the incedence graph has bounded treewidth.&lt;/p&gt;&#xA;" OwnerUserId="8936" LastEditorUserId="8936" LastEditDate="2014-01-31T10:26:38.597" LastActivityDate="2014-03-05T20:43:38.317" Title="Polynomial time solvable instances of Max-Sat" Tags="&lt;sat&gt;&lt;treewidth&gt;&lt;max2sat&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="20816" PostTypeId="2" ParentId="6528" CreationDate="2014-01-31T12:28:47.007" Score="3" Body="&lt;p&gt;Ryan Budney has started similar discussions at MathOverFlow: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://mathoverflow.net/questions/35946/how-expensive-is-knowledge-knots-links-3-and-4-manifold-algorithms&quot;&gt;https://mathoverflow.net/questions/35946/how-expensive-is-knowledge-knots-links-3-and-4-manifold-algorithms&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://mathoverflow.net/questions/144158/what-is-the-state-of-the-art-for-algorithmic-knot-simplification/145927&quot;&gt;https://mathoverflow.net/questions/144158/what-is-the-state-of-the-art-for-algorithmic-knot-simplification/145927&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;and at Wikipedia: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Talk:Computational_topology&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://en.wikipedia.org/wiki/Talk:Computational_topology&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="1905" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2014-01-31T12:37:48.973" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20817" PostTypeId="1" CreationDate="2014-01-31T14:04:02.713" Score="2" ViewCount="91" Body="&lt;p&gt;Suppose we have a recursive relation, e.g. $G(n,m) = G(n-1,m) + G(n, m-1)$, with some initial points where $n,m \in \mathbb{Z}^{+}$ and $F$ is a finite-field, e.g. $\mathbb{Z}_p$ for a prime $p$. Also $G: \mathbb{Z}_p \times \mathbb{Z}_p \rightarrow F$. There are enough initial points such that $G(n,m)$ terminates finitely for finite $m$ and $n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I want to compute the distribution of this relation over the field $F$ and then compare it to some other distribution, e.g. uniform or Gaussian distribution. The question is how can I do that? I have searched a lot, but could not find an answer. Even search terms are appreciated.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The reason I want to do this is proving hardness of the problem whose solution is finding $n$ and $m$ when $F(n,m)$ is given.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks in advance.&lt;/p&gt;&#xA;" OwnerUserId="12274" LastEditorUserId="80" LastEditDate="2014-02-03T22:09:12.700" LastActivityDate="2014-02-03T22:09:12.700" Title="How can I find the distribution of a recursive relation with two parameters?" Tags="&lt;cc.complexity-theory&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="20818" PostTypeId="2" ParentId="20808" CreationDate="2014-01-31T15:46:51.797" Score="2" Body="&lt;p&gt;He keeps the source code on his web page : &lt;a href=&quot;http://graphics.ucmerced.edu/software/tripath/index.html&quot; rel=&quot;nofollow&quot;&gt;http://graphics.ucmerced.edu/software/tripath/index.html&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="21347" LastActivityDate="2014-01-31T15:46:51.797" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="20819" PostTypeId="1" AcceptedAnswerId="20826" CreationDate="2014-01-31T17:13:08.257" Score="13" ViewCount="338" Body="&lt;p&gt;Can the following all hold simultaneously?&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;$L_s$ is contained in $L_{s+1}$ for all positive integers $s$.&lt;/li&gt;&#xA;&lt;li&gt;$L = \bigcup_s L_s$ is the language of all finite words over $\{0,1\}$.&lt;/li&gt;&#xA;&lt;li&gt;There is some complexity class $C$ and a notion of reduction appropriate for $C$ such that for each $s$, $L_s$ is hard for $C$.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="109" LastActivityDate="2014-02-01T02:01:57.423" Title="Can limit of hard languages be easy?" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;reductions&gt;" AnswerCount="3" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="20820" PostTypeId="2" ParentId="20819" CreationDate="2014-01-31T17:41:48.927" Score="4" Body="&lt;p&gt;Given an enumeration $\varphi_1, \varphi_2,...$ of binary encoded boolean formulas define $L_s = SAT \cup \{ \varphi_{i_1},...,\varphi_{i_s}\}$ where $\varphi_{i_1},...,\varphi_{i_s}$ are the first $s$ unsatisfiable formulas in the enumeration.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$L_s$ is clearly hard for $NP$: given a boolean formula $\varphi$ add to it enough new OR-ed variables $x_i$   $\varphi \lor x_1 \lor ... \lor x_n$ until its index in the enumeration becomes greater than (constant) $i_s$.&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2014-01-31T17:47:22.703" LastActivityDate="2014-01-31T17:47:22.703" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="20821" PostTypeId="2" ParentId="20814" CreationDate="2014-01-31T18:23:44.943" Score="6" Body="&lt;p&gt;This does not answer directly your Max-SAT problem but the references may guide you to the complete answer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Szeider showed that Satisfiability is ﬁxed-parameter tractable when parameterized by the treewidth of the incidence graph. Samer and Szeider gave an eﬃcient dynamic programming algorithm. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;References&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;S. Szeider. On ﬁxed-parameter tractable parameterizations of SAT. In Proc. 6th&#xA;International Conference on Theory and Applications of Satisﬁability (SAT’03),&#xA;Selected and Revised Papers, vol. 2919 of LNCS, pages 188–202. Springer-Verlag,&#xA;2004.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;M. Samer and S. Szeider. Algorithms for propositional model counting. In Proc.&#xA;14th Internationial Conference on Logic for Programming, Artiﬁcial Intelligence&#xA;and Reasoning (LPAR’07), vol. 4790 of LNCS, pages 484–498. Springer-Verlag,&#xA;2007.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Samer and Szeider, Fixed-parameter tractability. In A. Biere, M. Heule,&#xA;H. van Maaren, and T. Walsh, editors, Handbook of Satisﬁability, part 1,&#xA;chapter 13. IOS Press&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2014-01-31T18:35:05.280" LastActivityDate="2014-01-31T18:35:05.280" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="20822" PostTypeId="1" AcceptedAnswerId="20853" CreationDate="2014-01-31T21:57:03.733" Score="7" ViewCount="319" Body="&lt;p&gt;The Johnson-Lindenstrauss lemma says roughly that for any collection $S$ of $n$ points in $\mathbb{R}^d$, there exists a linear map $f:\mathbb{R}^d \rightarrow \mathbb{R}^k$ where $k = O(\log n/\epsilon^2)$ such that for all $x, y \in S$:&#xA;$$(1-\epsilon)\|x-y\|_2 \leq \|f(x)-f(y)\|_2 \leq (1+\epsilon)\|x-y\|_2$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I've been trying to prove that the inequality above is satisfied if $f$ is picked using &#xA;the &lt;a href=&quot;http://en.wikipedia.org/wiki/Haar_wavelet#Haar_transform&quot;&gt;&lt;em&gt;Haar Transform&lt;/em&gt;&lt;/a&gt; as follows. Let D be a random $n\times n$ diagonal matrix with each diagonal element drawn uniformly and independently from $\{-1, 1\}$ (i.e. diagonal entries of $D$ are Rademacher random variables). Let $H$ be the standard $n\times n$ Haar matrix. Let finally $M$ be a random $k \times n$ binary matrix, such that each row $i$ has a single entry $M_{ij}$ equal to $1$ for $j$ picked uniformly at random from $\{1, \ldots, n\}$, and $M_{ij} = 0$ for all other $j$. In other words, $MH$ is equal to a random $k\times n$ matrix each of whose rows is a uniformly random row of $H$. Then the transform is defined as&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;f(y) = MHDx&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;When $f$ is picked as above, what is the probability that it satisfies the Johnson-Lindenstrauss condition for a fixed pair $x,y$ (when $f$ is given by a an appropriately scaled Gaussian matrix, the probability is $1 - \frac{1}{n^2}$)?&lt;/p&gt;&#xA;" OwnerUserId="16195" LastEditorUserId="4896" LastEditDate="2014-02-03T00:06:40.087" LastActivityDate="2014-02-04T01:52:12.740" Title="Proof Haar matrices satisfy JL lemma" Tags="&lt;proofs&gt;&lt;st.statistics&gt;&lt;embeddings&gt;" AnswerCount="1" CommentCount="10" ContentLicense="CC BY-SA 3.0" />
  <row Id="20823" PostTypeId="1" CreationDate="2014-01-31T22:00:18.183" Score="1" ViewCount="129" Body="&lt;p&gt;a recent difficult question of interest to the group[1] by &lt;a href=&quot;https://cstheory.stackexchange.com/users/8871/g-bach&quot;&gt;GB&lt;/a&gt; has possibly led to verification of a new graph property by &lt;a href=&quot;https://cstheory.stackexchange.com/users/13643/dspyz&quot;&gt;dspyz&lt;/a&gt;, by use of &lt;a href=&quot;http://en.wikipedia.org/wiki/Answer_set_programming&quot; rel=&quot;nofollow noreferrer&quot;&gt;Answer Set Programming/ASP&lt;/a&gt;. via sophisticated logic principles/algorithms remarkably this software can verify a complex property of graphs apparently without enumerating all isomorphisms. there does not seem to be much prior ref to this software &amp;amp; logic/theorem proving research on tcs.se.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;looking for notable papers that use ASP from a TCS pov to investigate important problems in the area.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;even better would be anything that relates it to inductive proofs of graph properties in automated theorem proving.[5] (some misc refs [2-4] to the software utilized are included below.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] &lt;a href=&quot;https://cstheory.stackexchange.com/questions/20661/transitive-feedback-arc-set-tfas-np-complete&quot;&gt;Transitive feedback arc set (TFAS): NP-complete?&lt;/a&gt;&lt;br&gt;&#xA;[2] &lt;a href=&quot;http://www.cs.uni-potsdam.de/wv/pdfformat/gekakaosscsc11a.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Potassco: The Potsdam Answer Set Solving Collection&lt;/a&gt; Gebser et al&lt;br&gt;&#xA;[3] &lt;a href=&quot;http://potassco.sourceforge.net/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Potassco/sourceforge&lt;/a&gt;&lt;br&gt;&#xA;[4] &lt;a href=&quot;http://www.cs.utexas.edu/~vl/teaching/lbai/clingo_guide.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;ASP tools users guide&lt;/a&gt; Gebser et al&lt;br&gt;&#xA;[5] &lt;a href=&quot;https://cstheory.stackexchange.com/questions/11131/techniques-or-examples-of-analyzing-a-series-of-graphs&quot;&gt;techniques or examples of analyzing a series of graphs&lt;/a&gt;, tcs.se&lt;/p&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2014-01-31T23:37:08.343" Title="looking for notable applications of ASP (Answer Set Programming) in TCS" Tags="&lt;reference-request&gt;&lt;graph-theory&gt;&lt;big-picture&gt;&lt;application-of-theory&gt;&lt;proof-assistants&gt;" AnswerCount="0" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="20824" PostTypeId="2" ParentId="20712" CreationDate="2014-01-31T22:57:52.880" Score="2" Body="&lt;p&gt;(This following is just my comment above migrated into solution form).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We construct a Karp reduction from Vertex Cover into your problem. Given a graph $G = (V,E)$ in which we want to find the size of a minimum vertex cover, construct the following program&lt;/p&gt;&#xA;&#xA;&lt;p&gt;minimize $\sum x_i$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;subject to&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;$\max \left\{x_i, x_j\right\} = 1$ for $(x_i,x_j) \in E$&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;$x_i \geq 0$ for all $i \in \{1, 2, \cdots, |V|\}$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;This is just an instance of your linear programming variant, with $\vec a = \vec b = 1$ and $\mathcal{J} = \left\{\{u,v\} | (u,v) \in E\right\}$ along with your assumption from the comments that all variables are positive (which, as @AustinBuchanan and @SureshVenkat point out, is important).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's easy to see that each vertex cover satisfies (1), and that anything that satisfies (1) and (2) can be transformed into a vertex cover by decreasing all variables until they hit $1$ or $0$ (whichever comes first). Thus, the two problems have the same objective value (enough to show NP-hardness), and in fact such a program immediately reveals the optimal vertex cover itself.&lt;/p&gt;&#xA;" OwnerUserId="3532" LastActivityDate="2014-01-31T22:57:52.880" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20825" PostTypeId="2" ParentId="20780" CreationDate="2014-01-31T23:51:14.437" Score="7" Body="&lt;p&gt;Even for problems &lt;em&gt;within $\mathsf{NP}$&lt;/em&gt;, and even assuming some reasonable notion of &quot;natural property&quot;, there is likely no such dichotomy theorem (in addition to the excellent answers of Davids Richerby and Eppstein exhibiting natural problems much harder than $\mathsf{NP}$-complete). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The reason is that there are likely to be natural, interesting properties that are sparse, i.e. only $\leq poly(n)$ many cubic graphs on $n$ vertices have the property (not to be confused with &quot;sparse&quot; in the sense of &quot;sparse graph,&quot; which all cubic graphs are). By Mahaney's Theorem, no such problem can be $\mathsf{NP}$-complete. (Assuming $\mathsf{P} \neq \mathsf{NP}$, but that's implicit in the question itself.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'd be grateful to anyone who could strengthen this answer by coming up with such a property: natural, interesting, and sparse.&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2014-01-31T23:51:14.437" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20826" PostTypeId="2" ParentId="20819" CreationDate="2014-02-01T01:19:02.883" Score="10" Body="&lt;p&gt;I think we can just start with some base language $L$, then take $L_0 = L$ and $L_{s+1} = L_s \cup \{0,1\}^{s+1}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;That is, each $L_s$ is the union of $L$ with all strings of length up to $s$. Each $L_s$ is at least as hard as $L$ but is no harder (in an asymptotic sense), assuming we can count to $s$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I also thought about the opposite &quot;limit&quot;, so each $L_{s+1}$ is contained in $L_s$, and $L = \cap_s L_s$ is easy while each $L_s$ is hard. But I think we could just start with a hard (but countable) language $L_0$ and just remove one word at each step; the intersection should be empty (every word is eventually removed).&lt;/p&gt;&#xA;" OwnerUserId="8243" LastActivityDate="2014-02-01T01:19:02.883" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20827" PostTypeId="2" ParentId="20819" CreationDate="2014-02-01T02:01:57.423" Score="7" Body="&lt;p&gt;Just to add to Marzio's and usul's answers: the same can be done even if one wants to require that the difference between $L_s$ and $L_{s+1}$ be an infinite set (which is one way to try to make the question less trivially answered, but, as we see, doesn't work). Let $D_n = \{ x \in \{0,1\}^* : 1x \text{ is the binary expansion of an integer divisible by } n\}$. Then taking $L_0 = L$ and $L_{s+1} = L_s \cup D_s$ should do the trick.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(For any fixed $s$, if $L$ was, say, CLIQUE, it should be relatively easy to take a reduction from SAT to CLIQUE and modify it by something like padding so that it is still a reduction from SAT to CLIQUE$\cup D_s$.)&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2014-02-01T02:01:57.423" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20831" PostTypeId="1" CreationDate="2014-02-01T18:33:22.260" Score="1" ViewCount="227" Body="&lt;p&gt;What are some of the good references to understand loopy belief propagation and the need for it? I am looking for both theory and applications (for instance in coding/information and learning theory).&lt;/p&gt;&#xA;" OwnerUserId="1812" LastEditorUserId="1812" LastEditDate="2014-02-06T07:52:09.947" LastActivityDate="2014-02-11T23:37:08.993" Title="Good resources to learn loopy belief propagation" Tags="&lt;reference-request&gt;&lt;it.information-theory&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="20832" PostTypeId="1" AcceptedAnswerId="20833" CreationDate="2014-02-01T18:56:34.360" Score="-4" ViewCount="1213" Body="&lt;p&gt;I apologize for seemingly basic question:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I saw numerous times that the time complexity of finding the shortest path in directed acyclic graph is &lt;code&gt;O(|V| + |E|)&lt;/code&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Why there is this &lt;code&gt;|V|&lt;/code&gt;? Isn't it always the case that for a connected graph &lt;code&gt;|E|+2 &amp;gt; |V|&lt;/code&gt;, hiding the &lt;code&gt;|V|&lt;/code&gt; under &lt;code&gt;|E|&lt;/code&gt;? I mean:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;O(|V| + |E|) =&#xA;O(|E| + |E| + 2) =&#xA;O(|E| * 2) =&#xA;O(|E|)?&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;I also think the algorithm for solving the SP only follow the edges, no?&lt;/p&gt;&#xA;" OwnerUserId="7219" LastActivityDate="2014-02-01T19:19:31.563" Title="Time complexity of finding the shortest path in DAG" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;" AnswerCount="1" CommentCount="3" ClosedDate="2014-02-04T23:32:30.883" ContentLicense="CC BY-SA 3.0" />
  <row Id="20833" PostTypeId="2" ParentId="20832" CreationDate="2014-02-01T19:19:31.563" Score="0" Body="&lt;p&gt;DAG (Directed acyclic graph) doesn't have to be a connected graph, so the assumption $|E|+2 &amp;gt; |V|$ doesn't hold for some inputs.&lt;/p&gt;&#xA;" OwnerUserId="21400" LastActivityDate="2014-02-01T19:19:31.563" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="20834" PostTypeId="1" CreationDate="2014-02-01T20:04:16.880" Score="2" ViewCount="433" Body="&lt;p&gt;Yoshua Benhgio's &lt;a href=&quot;http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf&quot; rel=&quot;nofollow&quot;&gt;Learning Deep Architectures for AI&lt;/a&gt; book mentions that &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;we should [...] strive to develop learning algorithms that use the data to determine the depth of the ﬁnal architecture.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Would anyone know of any algorithms proposed thus far to achieve this?&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;So far I have come across:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The &lt;a href=&quot;http://iopscience.iop.org/0305-4470/22/12/019&quot; rel=&quot;nofollow&quot;&gt;tiling algorithm&lt;/a&gt; for building a feed-forward network to learn a Boolean function. It adds layers as well as units, but Boolean functions aren't too relevant for applied problems.&lt;/p&gt;&#xA;" OwnerUserId="21223" LastEditorUserId="186" LastEditDate="2014-02-01T22:35:34.583" LastActivityDate="2014-02-07T03:05:44.943" Title="Which algorithms have been proposed to learn the architecture of a deep neural network?" Tags="&lt;machine-learning&gt;&lt;ne.neural-evol&gt;" AnswerCount="3" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="20837" PostTypeId="2" ParentId="20834" CreationDate="2014-02-01T20:55:55.123" Score="0" Body="&lt;p&gt;this is generally an open question under active research; however there is quite a bit of research using &lt;a href=&quot;http://en.wikipedia.org/wiki/Genetic_algorithm&quot; rel=&quot;nofollow&quot;&gt;GAs&lt;/a&gt; to determine NN architectures see eg&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://www.iidia.com.ar/rgm/articulos/RCSJ-27-15-24.pdf&quot; rel=&quot;nofollow&quot;&gt;Finding Optimal Neural Network Architecture Using Genetic Algorithms&lt;/a&gt; Britos et al&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://www.sfu.ca/~rgencay/jarticles/pa-genetic.pdf&quot; rel=&quot;nofollow&quot;&gt;Using genetic algorithms to select architecture of a feedforward artificial neural network&lt;/a&gt; Arifovic/Gencay&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;however &lt;em&gt;caveat&lt;/em&gt; this type of approach is very expensive computationally and possibly hasnt yet been used with &lt;a href=&quot;http://en.wikipedia.org/wiki/Deep_learning&quot; rel=&quot;nofollow&quot;&gt;deep learning&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2014-02-01T20:55:55.123" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20838" PostTypeId="1" AcceptedAnswerId="21037" CreationDate="2014-02-02T03:02:12.697" Score="2" ViewCount="793" Body="&lt;p&gt;I have found some video courses like &lt;a href=&quot;http://logic.pdmi.ras.ru/csclub/en/randomizedmethods&quot; rel=&quot;nofollow noreferrer&quot;&gt;this one&lt;/a&gt; but they are all in russian or other languages I don't understand. I'll like to know if anyone has come across lectures (courses) of this kind which are in english.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am also aware that there are questions which are similar to this one on stackexchange e.g.&lt;a href=&quot;https://cstheory.stackexchange.com/questions/1198/what-videos-should-everybody-watch&quot;&gt;this one&lt;/a&gt;, but I couldn't find any course of this kind among the answers given.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;P.S: I'm interested in anything involving randomness in TCS as long as it is a &lt;em&gt;full video course&lt;/em&gt;. &lt;/p&gt;&#xA;" OwnerUserId="5789" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2014-03-16T23:19:32.197" Title="Does anyone know of online video courses (in english) on randomness in theoretical computer science?" Tags="&lt;soft-question&gt;&lt;big-list&gt;&lt;randomness&gt;" AnswerCount="3" CommentCount="5" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="20841" PostTypeId="1" AcceptedAnswerId="21982" CreationDate="2014-02-02T10:54:44.030" Score="0" ViewCount="137" Body="&lt;p&gt;A trilinear pairing is defined a function $e:G_1^3 \rightarrow G_2$, such that it satisfies the property $e(k_1^a, k_2^b, k_3^c) = e(k_1,k_2,k_3)^{abc}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In general I am trying to solve the following problem,&#xA;given a tuple $$(g, g^s, g^{r_1}, g^{r_2}, k_1, k_2, k_1^{r_1s},k_2^{r_2s'} )$$&#xA;where $g, k_1,k_2 ∈ G_1$ and $r_1, r_2, s,s' ∈ {Z_q}$ &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is it possible to predict if $s = s'$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One of the easy ways is to use trilinear mapping function $e$ to evaluate&#xA;$$e(g^{r_2}, k_1^{r_1s}, k_2 ) = e(g^{r_1}, k_1, k_2^{r_2s'})$$&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;However this can only be true if there exists an efficient construction of a trilinear pairing... &#xA;Is there a feasible construction available for a trilinear mapping or at least is it/has it been used in theory and in proofs?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Is there any other way to examine the same?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="17325" LastEditorUserId="17325" LastEditDate="2014-02-02T11:01:16.650" LastActivityDate="2014-04-07T09:54:33.030" Title="Is there an efficient construction for a trilinear pairing that has been used in theory or practice" Tags="&lt;reference-request&gt;&lt;cr.crypto-security&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="20842" PostTypeId="2" ParentId="7303" CreationDate="2014-02-02T14:32:12.003" Score="5" Body="&lt;p&gt;The theory of regular languages of infinite trees gave rise to several hierarchies, that are currently studied, with many questions that are still open.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;When using automata on infinite trees, the parity condition (or Mostowski condition) is of special interest, because non-deterministic parity automata can express all regular languages of ininite trees, and the structure of the acceptance condition is simpler than others like Rabin or Müller.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Every parity automaton has a &lt;em&gt;rank&lt;/em&gt; $[i,j]$ where $i\in\{0,1\}$ and $i\leq j$, describing the structure of the acceptance condition. Therefore, if a language $L$ is recognizable by a (det/ND/alt) automaton of rank $[i,j]$ we say that $L$ belongs to the $[i,j]$-level of the (respectively):&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;deterministic Mostowski hierarchy (not all regular languages)&lt;/li&gt;&#xA;&lt;li&gt;nondeterministic Mostowski hierarchy&lt;/li&gt;&#xA;&lt;li&gt;alternating Mostowski hierarchy&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The level $\Sigma_2\cap \Pi_2$ of the alternating hierarchy (i.e $L$ is both Büchi and co-Büchi definable) corresponds to the &lt;em&gt;weak level&lt;/em&gt; and is characterised by weak alternating automata, that give themselves rise to a hierarchy:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;weak index hierarchy (not all regular languages)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;For all these hierarchies (except the deterministic one), the decidability of membership in a level for a given regular language $L$ is an open problem. The links between these hierarchies and topological classifications (also called Wadge hierarchy and Borel hierarchy) also posed several open problems. For instance it is conjectured that the weak index hierarchy and the Borel hierarchy coincide. All these hierarchies are known to be strict, and some special cases of deciding the level (especially the low levels, or with input deterministic automaton) have been recently solved.&lt;/p&gt;&#xA;" OwnerUserId="8953" LastEditorUserId="8953" LastEditDate="2014-02-03T16:02:13.583" LastActivityDate="2014-02-03T16:02:13.583" CommentCount="0" CommunityOwnedDate="2014-02-02T14:32:12.003" ContentLicense="CC BY-SA 3.0" />
  <row Id="20843" PostTypeId="1" AcceptedAnswerId="20870" CreationDate="2014-02-02T15:07:18.250" Score="13" ViewCount="520" Body="&lt;p&gt;Suppose there is a graph $G=(V,E)$. I want to test if $V$ can be partitioned into two disjoint sets $V_1$ and $V_2$ such that the subgraphs induced by $V_1$ and $V_2$ are unit interval graphs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I know about the NP-completeness of determining interval numbers but the above problem is different.&#xA;Now, in the literature I found &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.47.4915&quot; rel=&quot;nofollow&quot;&gt;this&lt;/a&gt; work by A. Gyárfás and D. West on multitrack interval graphs but I'm not sure if it is relevant to above problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any citation to existing literature on the above or similar problem would be helpful. Also please let me know if there is a formal name for the above problem.&lt;/p&gt;&#xA;" OwnerUserId="12280" LastEditorUserId="17082" LastEditDate="2014-02-05T10:39:09.427" LastActivityDate="2014-02-05T10:39:09.427" Title="Partition into interval graphs" Tags="&lt;graph-theory&gt;&lt;partition-problem&gt;&lt;interval-graphs&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="20844" PostTypeId="1" CreationDate="2014-02-02T15:10:35.117" Score="7" ViewCount="192" Body="&lt;p&gt;Recently in my research I have faced with the following subproblem:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Given a tree $T, |V(T)| = n$ and its vertices are ordered $v_1, \ldots, v_n$ so that $T_i = T_{i-1} - v_i, 1 \le i \le n$ and $T_0 = T$ and every $T_i$ is a tree.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The question is:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there any linear-time algorithm which gives $n$ pairs $v_{i_k}, v_{j_k}$, which are ends of a diametral path in $T_k$ for every $1 \le k \le n$ (any one if there are several ones)?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I think this algorithm can be useful for achieving linear-time recognition algorithms from explicit characterizations of various subclasses of trees.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;ALSO, another way to think about it:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there a data structure for a tree, such that we can insert a new leaf and query for a diametral path in amortized $O(1)$ time? (see comment by Chao Xu).&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="21354" LastEditorUserId="21354" LastEditDate="2014-02-02T21:19:10.517" LastActivityDate="2014-02-02T22:29:33.680" Title="Linear-time algorithm for getting ends of diametral paths in special sequence of trees" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;" AnswerCount="1" CommentCount="6" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="20845" PostTypeId="2" ParentId="20838" CreationDate="2014-02-02T16:12:26.133" Score="4" Body="&lt;p&gt;leading expert on the topic Wigderson at IAS has recently been lecturing/researching/survey/overviewing this important/emerging/crosscutting area.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://youtu.be/syUxHJFwwQQ&quot;&gt;Avi Wigderson -- &quot;Randomness&quot;&lt;/a&gt; youtube&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://youtu.be/ZzsFb-6wvoE&quot;&gt;Professor Avi Wigderson on a computational theory of randomness&lt;/a&gt; youtube/ETH Zurich&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;written notes similar to/overlapping these lectures:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://terrytao.wordpress.com/2008/01/10/distinguished-lecture-series-i-avi-wigderson-the-power-and-weakness-of-randomness-in-computation/&quot;&gt;Tao notes on Widgerson power/weakness of randomness in computation&lt;/a&gt; Terence Tao blog&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://www.math.ias.edu/~avi/BOOKS/Randomness_and_Pseudorandomness.pdf&quot;&gt;COMPUTATIONAL INTRACTABILITY AND PSEUDORANDOMNESS&lt;/a&gt; essay by Wigderson&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2014-02-02T16:12:26.133" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="20846" PostTypeId="2" ParentId="20838" CreationDate="2014-02-02T21:40:01.477" Score="4" Body="&lt;p&gt;Well, there're these two courses I'm currently taking&lt;/p&gt;&#xA;&#xA;&lt;p&gt;half CS, half physics&#xA;&lt;a href=&quot;https://www.coursera.org/course/randomness&quot; rel=&quot;nofollow&quot;&gt;https://www.coursera.org/course/randomness&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Statistical Mechanics: Algorithms and Computations&#xA;&lt;a href=&quot;https://www.coursera.org/course/smac&quot; rel=&quot;nofollow&quot;&gt;https://www.coursera.org/course/smac&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have really hight hopes for the latter!&#xA;Hope I've helped.&lt;/p&gt;&#xA;" OwnerUserId="21407" LastActivityDate="2014-02-02T21:40:01.477" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20847" PostTypeId="2" ParentId="20844" CreationDate="2014-02-02T22:17:27.877" Score="1" Body="&lt;p&gt;Ok,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have an algorithm I believe is O(nlog*(n)), that's n log-star(n) (log-star n is constant for all practical purposes), but it's hard to prove and I suppose I could be wrong.  The running time guess comes from assuming the path compression step takes amortized O(log*(n)) as it does in a union-find data structure, but I don't remember the proof of that so I don't really know for certain that it applies here.  Nonetheless, I certainly can't generate any examples where the path-compression is generally slow and I can prove the other operations are amortized constant time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Following Chao Xu's suggestion, I'll describe the &quot;insert a new leaf&quot; operation on the data structure.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Each vertex has to contain pointers to 4 other vertices in addition to remembering its depth.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Each vertex $v_i$ must remember:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;$v_i$'s deepest descendant&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;$v_i$'s child on whose branch (1) is contained&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;$v_i$'s nearest ancestor $w_i$ for whom $w_i(2)$ is not an ancestor of $v_i$&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Which child of $w_i$ is an ancestor of $v_i$&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;In fact for any given vertex (1), (3), and (4) may be outdated, but using path-compression we can bring it up to date in (hopefully) amortized O(log*n) running time using path-compression.&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;def get_deepest(v): # returns (1)&#xA;  if v.deepest == v:&#xA;    return v&#xA;  v.deepest = get_deepest(v.deepest)&#xA;  while True:&#xA;    deep_ancest,_ = get_nearest_ignoring_ancestor(v.deepest)&#xA;    if (not deep_ancest) or deep_ancest.depth &amp;lt;= v.depth:&#xA;      break&#xA;    v.deepest = get_deepest(deep_ancest)&#xA;  return v.deepest&#xA;&#xA;def get_nearest_ignoring_ancestor(v): # returns tuple containing (3) and (4)&#xA;  if v.nia == None:&#xA;    return (None, root)&#xA;  elif v.nia.child_containing_deepest == v.nia_child_containing_self:&#xA;    v.nia,v.nia_child_containing_self = get_nearest_ignoring_ancestor(v.nia)&#xA;  return (v.nia, v.nia_child_containing_self)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Now when we add a new vertex $v$, we traverse upwards through each (3) updating the deepest vertex until we find one that doesn't update.  If we encounter a vertex $w$ which is on the primary path (this is easy to check because $w$.deepest() will be the same as root.deepest()), then we check if the path between the newly inserted node and the current deepest is longer than the currently known longest path.  Then that becomes the new diameter.  This check can be done in constant time since we know the depths of the current deepest, the newly inserted node, and also the node $w$ at which the paths pointing to the two diverge. Then the length (number edges in) the new path is just $d(v)+d(deepest)-2 d(w)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's easy to see that this algorithm is correct because any diameter must have an endpoint at the deepest node from the root (This is generally true of trees.  If you don't believe me you can verify it for yourself) and with every node we insert, we check that either&lt;/p&gt;&#xA;&#xA;&lt;p&gt;a) It's the deepest node (in which case, we've just increased the currently longest path by one)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;OR&lt;/p&gt;&#xA;&#xA;&lt;p&gt;b) There exists an ancestor containing a deeper (or equal) node which is not on the deepest path (so the diameter can't have increased)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;OR&lt;/p&gt;&#xA;&#xA;&lt;p&gt;c) We check the newly inserted node against the deepest node and compute the length of the new path to see if it's longer than the current longest.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To finish the Python pseudo-code for the algorithm:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;#root is the root of the tree, it's parent is None&#xA;#cur_opp is the vertex currently farthest from get_deepest(root)&#xA;&#xA;def add_node(v, parent):&#xA;  v.deepest = v&#xA;  v.child_containing_deepest = None&#xA;  v.nia = parent&#xA;  v.nia_child_containing_self = v&#xA;&#xA;  root_deepest = get_deepest(root)&#xA;&#xA;  while True:&#xA;    v_ancest,_ = get_nearest_ignoring_ancestor(v)&#xA;    if not v_ancest:&#xA;      check_update_path(root_deepest)&#xA;      break&#xA;    old_deepest = deepest(v_ancest)&#xA;    if v.depth &amp;gt; old_deepest.depth:&#xA;      old_deepest.nia = v_ancest&#xA;      old_deepest.nia_child_containing_self = v_ancest.child_containing_deepest&#xA;      v_ancest.child_containing_deepest = v.nia_child_containing_self&#xA;      v_ancest.deepest = v&#xA;      update_next = True&#xA;    else:&#xA;      break&#xA;  check_update_path(v)&#xA;&#xA;def check_update_path(v):&#xA;  cur_deepest = get_deepest(root)&#xA;  if v == cur_deepest:&#xA;    return&#xA;  common = get_nearest_ignoring_ancestor(v)&#xA;  if get_deepest(common) != cur_deepest:&#xA;    return&#xA;  max_len = len_path(cur_opp, cur_deepest)&#xA;  new_len = len_path(v, cur_deepest)&#xA;  if new_len &amp;gt; max_len:&#xA;    cur_opp = v&#xA;&#xA;def len_path(a,b):&#xA;  a_ancest = get_nearest_ignoring_ancestor(a)&#xA;  assert get_deepest(a_ancest) == b&#xA;  return a.depth + b.depth - 2 * a_ancest.depth&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;The longest path is just the path from &lt;code&gt;cur_opp&lt;/code&gt; to &lt;code&gt;get_deepest(root)&lt;/code&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now to show that the number of deepest-branch changes is amortized constant with each add, just imagine that each time we compare two depths and get d(a) == d(b) (when we stop), we reserve one time unit for later.  When a node changes deepest branches, the paths must have first been equal so we use up that time unit.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So now all that remains to prove is that the path-compression step is amortized fast and I unfortunately don't know how to do that.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Please note I haven't tested this code and it is almost certainly buggy.  Also, I may have left out some edge cases such as how to insert the first node or what to do in certain situations if a node already is on the primary path.  It shouldn't be too hard to account for these.&lt;/p&gt;&#xA;" OwnerUserId="13643" LastEditorUserId="13643" LastEditDate="2014-02-02T22:29:33.680" LastActivityDate="2014-02-02T22:29:33.680" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20851" PostTypeId="2" ParentId="20362" CreationDate="2014-02-03T15:26:17.153" Score="1" Body="&lt;p&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/questions/20594/factoriality-testing-algorithms-and-their-efficiency/&quot;&gt;Borwein's method&lt;/a&gt; to compute the exponent and the doubling method for multiplying out the $a$'s wouldn't be too terrible, but as @SashoNikolov pointed out it is exponential with regards to the input size. You can store all intermediate results in $O(log(n))$ bits when multiplying out $a$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I don't see what this has to do with P vs NP.  &lt;/p&gt;&#xA;" OwnerUserId="2021" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2014-02-04T16:34:17.793" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="20853" PostTypeId="2" ParentId="20822" CreationDate="2014-02-03T17:05:18.200" Score="5" Body="&lt;p&gt;Your construction does not work in general for the value of $k$ given. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Say $x = 0$ and $y= (1, 0, \ldots, 0)$ (or any other standard basis vector). Then $f(x) = 0$ and $HDy$ is a vector with $1 + \log_2 d$ nonzero entries. We have&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;Pr[f(y) = 0] = \left(1 - \frac{1 + \log_2 d}{d}\right)^k \approx 1-O\left(\frac{k\log d}{d}\right),&#xA;$$&#xA;for $k \ll d$. Of course, in this case $\|f(y) - f(x)\|_2 = 0$ is a very bad approximation for $\|x - y\|_2 = 1$. So you almost certainly get infinite error.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is why the &lt;a href=&quot;http://www.cs.princeton.edu/~chazelle/pubs/FJLT-sicomp09.pdf&quot; rel=&quot;nofollow&quot;&gt;Fast J-L Transform&lt;/a&gt; of Ailon and Chazelle uses a Walsh matrix rather than a Haar matrix: $WDx$, for $D$ picked as in your setup, is likely to have a lot of non-zero entries. This is related to the Uncertainty Principle. See also this &lt;a href=&quot;http://www.cs.princeton.edu/~chazelle/pubs/fasterdim-ac10.pdf&quot; rel=&quot;nofollow&quot;&gt;CACM exposition&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More generally, &lt;a href=&quot;http://arxiv.org/abs/1009.0744&quot; rel=&quot;nofollow&quot;&gt;Krahmer and Ward&lt;/a&gt; showed that if $M$ is a (possibly random) matrix that satisfies the restricted isometry property for submatrices of size at most $k$ (with sufficiently high probability), and $D$ is picked as above, then $f(x) = MDx$ satisfies the J-L condition for any $x, y$ with probability at least $1 - 2^{-\Omega(k)}$. This is in some sense a tight connection: a random matrix that satisfies the J-L condition for any $x, y$ with probability $1 - 2^{\Omega(k \log (n/k))}$, also satisfies the RIP property for submatrices of size up to $k$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For more on this subject check out the &lt;a href=&quot;http://people.seas.harvard.edu/~minilek/cs229r/lec.html&quot; rel=&quot;nofollow&quot;&gt;lecture notes&lt;/a&gt; from Jelani Nelson's course. In particular, &lt;a href=&quot;http://people.seas.harvard.edu/~minilek/cs229r/lec/lec17.pdf&quot; rel=&quot;nofollow&quot;&gt;lecture 17&lt;/a&gt; contains the Krahmer-Ward theorem. Lectures 9-12 introduce the JL lemma with the sparse and fast variants. &lt;/p&gt;&#xA;" OwnerUserId="4896" LastEditorUserId="4896" LastEditDate="2014-02-04T01:52:12.740" LastActivityDate="2014-02-04T01:52:12.740" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="20854" PostTypeId="2" ParentId="19172" CreationDate="2014-02-03T19:40:13.827" Score="1" Body="&lt;p&gt;I wrote a short clingo program to check the small values (it can quickly handle graphs of up to 7 vertices.  Beyond that, the grounding can take quite a while):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I got this table&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;                            n (vertices)&#xA;                         3   4   5   6   7&#xA;&#xA;                      3  1   1   2   2   3&#xA;&#xA;                      4      3   3   6  10&#xA;&#xA;k (cycle length)      5         12  12  12&#xA;&#xA;                      6             60  60&#xA;&#xA;                      7                360&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Here's the program:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;num(1..n).&#xA;is_sym_order(empty,0).&#xA;ncontains(empty,K) :- num(K).&#xA;is_sym_order(cons(K,empty),1) :- num(K).&#xA;last(cons(K,empty), K) :- num(K).&#xA;is_sym_order(cons(K,S),M+1) :- is_sym_order(S,M), ncontains(S,K), last(S,L), K &amp;gt; L.&#xA;ncontains(cons(K,S), J) :- J != K, ncontains(S,J), is_sym_order(cons(K,S),_).&#xA;last(cons(K,S), L) :- last(S,L), is_sym_order(cons(K,S),_).&#xA;sec_last(cons(A,S),A) :- is_sym_order(cons(A,S),2).&#xA;sec_last(cons(K,S), SL) :- sec_last(S,SL), is_sym_order(cons(K,S),_).&#xA;is_sub_order(cons(A,S), M) :- A &amp;gt; SL, sec_last(S,SL), is_sym_order(cons(A,S), M).&#xA;&#xA;vertex(1..n).&#xA;{is_edge(V,W)} :- vertex(V), vertex(W), V &amp;lt; W.&#xA;sym_edge(V,W;W,V) :- is_edge(V,W).&#xA;&#xA;is_path(cons(V,empty)) :- vertex(V).&#xA;&#xA;is_path(cons(A,cons(B,S))) :- is_path(cons(B,S)), sym_edge(A,B), is_sym_order(cons(A,cons(B,S)),_).&#xA;is_cycle(cons(A,S)) :- is_path(cons(A,S)), is_edge(V,A), last(S,V), is_sub_order(cons(A,S),M), M &amp;gt;= k.&#xA;&#xA;:- is_cycle(S), is_sub_order(S,M), M &amp;gt; k.&#xA;prim_cycle(S) :- is_cycle(S), is_sub_order(S,k).&#xA;:~ not is_cycle(S), is_sub_order(S,k).[1,S]&#xA;&#xA;num_cycs(C) :- C = #count{is_cycle(S):is_cycle(S)}.&#xA;#show is_edge/2.&#xA;#show num_cycs/1.&#xA;#show prim_cycle/1.&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;" OwnerUserId="13643" LastActivityDate="2014-02-03T19:40:13.827" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20855" PostTypeId="2" ParentId="20817" CreationDate="2014-02-03T19:57:08.857" Score="1" Body="&lt;p&gt;I've never done an exact solution for a &quot;change of variable&quot; problem with a recursive function, but I can give you a formula that might help. If $p : \mathbb{Z}_p \times \mathbb{Z}_p \to [0,1]$ is a probability mass function (i.e. sums to one over its domain), then the probability of any specific output for $G$ is&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\mathrm{Pr}[x]\ =\ \sum_{(n,m) \in G^{-1}(\{x\})} p(n,m)$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where $G^{-1} : \mathcal{P}(F) \to \mathbb{Z}_p \times \mathbb{Z}_p$ computes preimages under $G$ by&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$G^{-1}(A)\ =\ \{(n,m) \in \mathbb{Z}_p \times \mathbb{Z}_p\ \lvert\ G(n,m) \in A\}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In other words, it's the sum of the probabilities of the pairs $(n,m)$ for which $G(n,m) = x$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Despite the size of the formula, there are advantages to having it in terms of preimages. Unlike inverses, they always exist. They are often compositional, meaning that preimages under a function can often be defined in terms of preimages under its defining subexpressions, which is often necessary when dealing with recursion. For example, if $f : A \to B$ and $g : B \to C$, then&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$(g \circ f)^{-1}\ =\ f^{-1} \circ g^{-1}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another: if $f_1 : A \to B_1$, $f_2 : A \to B_2$, and $f : A \to B_1 \times B_2$ is defined by $f(x) = (f_1(x),f_2(x))$, then&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$f^{-1}(B_1' \times B_2')\ =\ f_1^{-1}(B_1') \cap f_2^{-1}(B_2')$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;for all $B_1' \subseteq B_1$ and $B_2' \subseteq B_2$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For addition... well, there might be something for your specific problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;At the very least, it leads to a nice way to factor a program that enumerates the probabilities of each $x \in F$.&lt;/p&gt;&#xA;" OwnerUserId="3644" LastActivityDate="2014-02-03T19:57:08.857" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="20856" PostTypeId="2" ParentId="19172" CreationDate="2014-02-03T23:34:54.277" Score="5" Body="&lt;p&gt;It is not $O(n)$ unless $k=3$. For $k$ even, the maximum length of a cycle in the complete bipartite graph $K_{n,k/2}$ is $k$, and the number of length-$k$ cycles is $(\frac{k}{2}-1)! n^{k/2}=\Theta(n^{k/2})$. For instance, $K_{2,n}$ has a quadratic number of 4-cycles, but no cycles longer than 4.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, for any constant bound $k$ on the length of the longest cycle, the number of triangles really is $O(n)$. Here's a quick proof: in a depth first search tree, each edge goes from the lower of its two endpoints to an ancestor at most $k-1$ steps back, so any leaf of the tree has degree at most $k-1$ and belongs to at most $\binom{k-1}{2}$ triangles. Now remove the leaf and induct.&lt;/p&gt;&#xA;" OwnerUserId="95" LastEditorUserId="95" LastEditDate="2014-02-04T07:42:55.123" LastActivityDate="2014-02-04T07:42:55.123" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="20859" PostTypeId="1" CreationDate="2014-02-04T07:10:06.520" Score="2" ViewCount="227" Body="&lt;p&gt;The paper &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.86.4265&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;nofollow&quot;&gt;On Best-Possible Obfuscation&lt;/a&gt; defines what is calls &quot;best-possible obfuscation&quot;,&#xA;&lt;br&gt;&#xA;and proves (propositions 3.4 and 3.5) that efficient best-possible&#xA;&lt;br&gt;&#xA;obfuscators are exactly efficient &lt;a href=&quot;http://eprint.iacr.org/2013/451.pdf&quot; rel=&quot;nofollow&quot;&gt;indistinguishability obfuscators&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, it is not clear to me that their definition corresponds to their name.&#xA;&lt;br&gt;&#xA;Inspired by the paper &lt;a href=&quot;http://www.iacr.org/archive/crypto2001/21390001.pdf&quot; rel=&quot;nofollow&quot;&gt;On the (Im)possibility of Obfuscation&lt;/a&gt; (though obviously not&#xA;&lt;br&gt;&#xA;using that paper's definition), I define the &quot;better obfuscator hypothesis&quot; as follows:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;There exists a probabilistic polynomial-time algorithm $\operatorname{Obf}$ such that,&#xA;  &lt;br&gt;&#xA;  with all probabilities involving $\operatorname{Obf}$ implicitly taken over $\operatorname{Obf}$'s randomness in&#xA;  &lt;br&gt;&#xA;  addition to what is indicated explicitly in the subscript, one has the following:&#xA;  &lt;br&gt;&lt;br&gt;&#xA;  $\;$ for all circuits $C$, $\;\; \operatorname{Prob}\left(\operatorname{Obf}(C\hspace{.03 in}) \text{ is a circuit that computes the same function as } C\right) \: = \: 1$&#xA;  &lt;br&gt;&lt;br&gt;and&lt;br&gt;&lt;br&gt;&#xA;   $\;$ for all families of polynomial-size circuits $\mathcal{F}\hspace{-0.02 in}_0$ and $\mathcal{F}\hspace{-0.03 in}_1$, if&#xA;  &lt;br&gt;&#xA;   $\;$ $\;$ for all adversaries $\mathcal{B}$ that are restricted to polynomially-many&#xA;  &lt;br&gt;&#xA;   $\;$ $\;$ oracle queries but are (otherwise) computationally unbounded,&#xA;  &lt;br&gt;&#xA;   $\;$ $\;$ $\left|\hspace{.02 in}\operatorname{Prob}_{C\leftarrow \mathcal{F}_0}\hspace{-0.05 in}\left(\mathcal{B}^C\hspace{-0.03 in}(\operatorname{size}(C\hspace{.03 in})) = 1\hspace{-0.02 in}\right)-\operatorname{Prob}_{C\leftarrow \mathcal{F}_1}\hspace{-0.05 in}\left(\mathcal{B}^C\hspace{-0.03 in}(\operatorname{size}(C\hspace{.03 in})) = 1\hspace{-0.02 in}\right)\right| \;$ is negligible&#xA;  &lt;br&gt; $\;$ then&lt;br&gt;&#xA;   $\;$ $\;$  for all feasible adversaries $\mathcal{A}$,&#xA;  &lt;br&gt;&#xA;   $\;$ $\;$ $\left|\operatorname{Prob}_{C\leftarrow \mathcal{F}_0}\hspace{-0.05 in}(\mathcal{A}(\operatorname{Obf}(C\hspace{.03 in})) = 1)-\operatorname{Prob}_{C\leftarrow \mathcal{F}_1}\hspace{-0.05 in}(\mathcal{A}(\operatorname{Obf}(C\hspace{.03 in})) = 1)\right| \;$ is negligible&#xA;  &lt;br&gt;&lt;br&gt;&#xA;  .&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;br&gt;&lt;br&gt;&#xA;(With respect to non-uniform adversaries, indistinguishability obfuscation&#xA;&lt;br&gt;&#xA;is equivalent to replacing &quot;families&quot; with &quot;sequences&quot; in that definition.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Questions:&lt;/strong&gt;&lt;br&gt;&#xA;Is the &quot;better obfuscator hypothesis&quot; known to be false?&#xA;&lt;br&gt;&#xA;Is the &quot;better obfuscator hypothesis&quot; known to be equivalent to the existence&#xA;&lt;br&gt;&#xA;of an efficient best-possible obfuscator, as defined on &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.86.4265&amp;amp;rep=rep1&amp;amp;type=pdf#page=8&quot; rel=&quot;nofollow&quot;&gt;page 7 of paper #1&lt;/a&gt;?&#xA;&lt;br&gt;&lt;br&gt;&lt;/p&gt;&#xA;" OwnerDisplayName="user6973" LastActivityDate="2014-02-04T07:10:06.520" Title="Is &quot;best-possible obfuscation&quot; really what its name indicates?" Tags="&lt;cr.crypto-security&gt;&lt;obfuscation&gt;" AnswerCount="0" CommentCount="18" ContentLicense="CC BY-SA 3.0" />
  <row Id="20861" PostTypeId="1" CreationDate="2014-02-04T09:35:45.987" Score="22" ViewCount="3288" Body="&lt;p&gt;everybody knows there exist many decision problems which are NP-hard on general graphs, but I'm interested in problems that are even NP-hard when the underlying graph is a path. So, can you help me to collect such problems?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I've already found a related question about &lt;a href=&quot;https://cstheory.stackexchange.com/questions/1215/np-hard-problems-on-trees?rq=1&quot;&gt;NP-hard problems on trees&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="21430" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.743" LastActivityDate="2019-10-14T13:17:57.500" Title="NP-hard problems on paths" Tags="&lt;graph-theory&gt;&lt;np-hardness&gt;" AnswerCount="8" CommentCount="2" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="20862" PostTypeId="2" ParentId="20861" CreationDate="2014-02-04T10:13:09.377" Score="25" Body="&lt;p&gt;A &lt;em&gt;rainbow matching&lt;/em&gt; in an edge-colored graph is a matching whose edges have distinct colors. The problem is: given an edge-colored graph $G$ and an integer $k$, does $G$ have a rainbow matching with at least $k$ edges? This is known as &lt;em&gt;rainbow matching problem&lt;/em&gt;, and its &lt;strong&gt;NP&lt;/strong&gt;-complete even for properly edge-colored paths. The authors even note that prior to this result, no unweighted graph problem is known to be &lt;strong&gt;NP&lt;/strong&gt;-hard for simple paths to the best of their knowledge.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0304397513009250&quot;&gt;Le, Van Bang, and Florian Pfender. &quot;Complexity results for rainbow matchings.&quot; Theoretical Computer Science (2013)&lt;/a&gt;, or &lt;a href=&quot;http://arxiv.org/pdf/1312.7253.pdf&quot;&gt;the arXiv version&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="5693" LastEditorUserId="5693" LastEditDate="2014-02-04T10:18:10.073" LastActivityDate="2014-02-04T10:18:10.073" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20863" PostTypeId="1" CreationDate="2014-02-04T10:37:09.000" Score="3" ViewCount="179" Body="&lt;p&gt;A set of length $n$ binary vectors $\mathcal{U}=\{u_1,..,u_r\}$ is called &lt;em&gt;$(n,k)$-universal&lt;/em&gt; if for all $S\subset [n], |S|=k$, $|\mathcal{U}_{|S}|=2^k$, i.e. for every subset of indices of size $k$, all $2^k$ vectors appear in $\mathcal{U}$'s vectors when restricted to $S$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A $(n,k)$-universal set is said to be $(T,\alpha)$-balanced if for every vector $v$ of length k and every subset $S\subset [n], |S|=k$, the number of vectors in $\mathcal{U}$ which has $v$ in indices $S$ is at least $\frac{T}{\alpha}$ and at most $T\cdot \alpha$. The original definition of the universal set only ensures that there exists at least one such vector $u\in \mathcal{U}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Related works for similar structures are:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.74.5859&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;nofollow&quot;&gt;Nearly optimal build of $(n,k)$-universal set&lt;/a&gt; (NSS).&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.tau.ac.il/~nogaa/PDFS/bhash3.pdf&quot; rel=&quot;nofollow&quot;&gt;Nearly optimal build of $\delta$-balanced perfect hashing family&lt;/a&gt; by Alon and Gunter.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.106.6442&quot; rel=&quot;nofollow&quot;&gt;Simple Constructions of Almost k-wise Independent Random Variables&lt;/a&gt; (AGHP).&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;My question is: is it possible to deterministically build a &lt;em&gt;small&lt;/em&gt; $(T,\alpha)$-balanced  universal set?&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(By small, I mean $O(2^{k+\text{polylog}(k,\alpha)}\cdot \text{poly}(n))$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It doesn't seem hard to show (using the probabilistic method) that such set exist, but I'm interested in explicit build.&lt;/p&gt;&#xA;" OwnerUserId="21001" LastEditorUserId="609" LastEditDate="2014-02-04T19:07:30.163" LastActivityDate="2014-02-04T19:07:30.163" Title="Building a &quot;balanced&quot; universal set" Tags="&lt;ds.algorithms&gt;&lt;co.combinatorics&gt;&lt;expanders&gt;&lt;extremal-combinatorics&gt;" AnswerCount="0" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="20864" PostTypeId="2" ParentId="20149" CreationDate="2014-02-04T10:44:37.947" Score="2" Body="&lt;p&gt;There has been an update to the information System on Graph Classes and their Inclusions. Now, the Hamiltonian cycle problem and Hamiltonian path problem are stated to be NP-complete on 2-connected cubic planar graphs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, the computational complexities of HC and HP problems are listed unknown for one problem and NP-complete for the other on &lt;a href=&quot;http://www.graphclasses.org/classes/gc_132.html&quot; rel=&quot;nofollow&quot;&gt;circle graphs&lt;/a&gt;, &lt;a href=&quot;http://www.graphclasses.org/classes/gc_1118.html&quot; rel=&quot;nofollow&quot;&gt;triangular grid graphs&lt;/a&gt;, and &lt;a href=&quot;http://www.graphclasses.org/classes/gc_1058.html&quot; rel=&quot;nofollow&quot;&gt;solid grid graphs&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2014-02-04T11:40:38.450" LastActivityDate="2014-02-04T11:40:38.450" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="20867" PostTypeId="2" ParentId="20861" CreationDate="2014-02-04T14:49:25.110" Score="8" Body="&lt;p&gt;Here are some simple observations.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;An uncolored path graph basically encodes an integer, so you can take any NP-hard problem involving unary-encoded integers and reinterpret it as a path graph problem. If you allow multiple integers encoded in unary (= a disjoint union of path graphs), then you can use some strongly NP-complete problems like 3-Partition.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;A colored path graph encodes a word on a fixed alphabet, so again you can take a NP-hard problem on words. An example that I'm aware of is the Disjoint Factors problem introduced in &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0304397511003483&quot;&gt;Bodlaender, Thomassé and Yeo&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="17699" LastActivityDate="2014-02-04T14:49:25.110" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="20868" PostTypeId="1" CreationDate="2014-02-04T17:10:04.263" Score="7" ViewCount="186" Body="&lt;p&gt;Let $G=(V,E)$ be an undirected graph. The &lt;strong&gt;independent node degree&lt;/strong&gt; $d^i(v)$ of a node $v$ is the maximum size of a set of independent neighbors of $v$. Denote by $\Delta^i(G) = \max \{d^i(v) \mid v \in V\}$. Obviously $\Delta^i(G) \le \alpha(G)$, where $\alpha(G)$ is the independence number of $G$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Examples: $\Delta^i(G)=1$ for complete graphs. $\Delta^i(G)\le 5$ for unit disc graphs. $\Delta^i(G)=n-1$ for a star graph with $n$ nodes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My questions:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;What natural graph classes have $\Delta^i(G)\in O(1)$?&lt;/li&gt;&#xA;&lt;li&gt;What is known about the distribution of $d^i(v)$ in random graphs?&lt;/li&gt;&#xA;&lt;li&gt;For dense graphs the expected value of the independent node degree should be small. Are there any quantitative results? E.g. relating $m/n$ with $\Delta^i(G)$?&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="2390" LastActivityDate="2014-02-07T15:48:35.833" Title="Independent Node Degree in Undirected Graphs" Tags="&lt;graph-theory&gt;&lt;randomness&gt;&lt;random-graphs&gt;" AnswerCount="3" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="20869" PostTypeId="2" ParentId="20868" CreationDate="2014-02-04T20:23:23.130" Score="2" Body="&lt;p&gt;Concerning the third question, triangle-free graphs have $\Delta^i(G) = \Delta(G)$. From Turán's theorem, we know that the maximum number of edges on a triangle-free graph is $\big\lfloor\frac{n}{4}\big\rfloor$, and this bound is tight for the complete bipartite graph $K_{n/2,n/2}$. Hence, at least in this case, you can have a dense graph with a large independent node degree, namely $d^i(v) = \frac{n}{2}$ for all $v$.&lt;/p&gt;&#xA;" OwnerUserId="282" LastActivityDate="2014-02-04T20:23:23.130" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20870" PostTypeId="2" ParentId="20843" CreationDate="2014-02-04T20:52:24.180" Score="21" Body="&lt;p&gt;I think, your problem is NP-complete. It is a special case of &lt;a href=&quot;http://www.combinatorics.org/ojs/index.php/eljc/article/view/v11i1r46/pdf&quot;&gt;a theorem &#xA;by Farrugia&lt;/a&gt;, &#xA;stating that it is NP-hard to test if the vertex set a graph can be partitioned into &#xA;two subsets $V_1,$ and $V_2$ such that $G(V_1)$ belongs to the graph class $\mathcal{P}$ and &#xA;$G(V_2)$ belongs to the graph class $\mathcal{Q}$, provided $\mathcal{P}$ and $\mathcal{Q}$ &#xA;are closed under taking vertex-disjoint unions and talking induced subgraphs, and at least &#xA;one of $\mathcal{P}$ and $\mathcal{Q}$ is non-trivial (meaning not all graphs in the class are &#xA;edgeless). &lt;/p&gt;&#xA;" OwnerUserId="6706" LastActivityDate="2014-02-04T20:52:24.180" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20872" PostTypeId="2" ParentId="7303" CreationDate="2014-02-05T00:51:59.573" Score="5" Body="&lt;p&gt;Here is a &lt;a href=&quot;http://arxiv.org/abs/1303.1717&quot; rel=&quot;noreferrer&quot;&gt;new hierarchy for context-free languages&lt;/a&gt; by Tomoyuki Yamakami.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;He introduces an oracle mechanism in nondeterministic pushdown automata and notions of Turing and many-one reducibilities. Then a new hierarchy is constructed for Context-free languages (CFL) similar to the polynomial hierarchy. For example, $CFL$, $CFL^{CFL}$, etc. The interesting part of all this is that a collapse in the CFL hierarchy occurs if and only if the polynomial hierarchy collapses. &lt;/p&gt;&#xA;" OwnerUserId="135" LastActivityDate="2014-02-05T00:51:59.573" CommentCount="0" CommunityOwnedDate="2014-02-05T00:51:59.573" ContentLicense="CC BY-SA 3.0" />
  <row Id="20873" PostTypeId="1" AcceptedAnswerId="20910" CreationDate="2014-02-05T03:40:51.327" Score="1" ViewCount="274" Body="&lt;p&gt;I was wondering whether &lt;a href=&quot;https://en.wikipedia.org/wiki/Simon%27s_problem&quot; rel=&quot;nofollow&quot;&gt;Simon's algorithm&lt;/a&gt; could be run on a &lt;a href=&quot;https://en.wikipedia.org/wiki/D-Wave_Systems&quot; rel=&quot;nofollow&quot;&gt;D-wave&lt;/a&gt; machine. &#xA;The Simon's algorithm is a promise problem. On the other hand the D-wave machine can run only quadratic unconstrained binary optimization problems. So, we need to convert the Simon's algorithm into an optimization problem. Is that possible?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Simon's algorithm is special because of its query complexity. Hypothetically, each query may correspond to a clock cycle. In that case, the difference between the number of cycles on a classical and a quantum computer will be different. On a D-wave computer we don't run a program over clock cycles. But it is true that the evolution of the Hamiltonian is traced over iterations and it could be correspondences to hypothetical clock cycles. Is there any way we could redefine the query complexity in the context of D-wave computer?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;D-wave's famous Chimera architecture is a bipartite graph. Can we create an instance of Simon's algorithm on the bipartite graph?&lt;/p&gt;&#xA;" OwnerUserId="13408" LastEditorUserId="6426" LastEditDate="2014-02-06T02:33:12.750" LastActivityDate="2014-02-06T19:50:10.300" Title="Running Simon's algorithm on D-wave machine" Tags="&lt;cc.complexity-theory&gt;&lt;quantum-computing&gt;&lt;quantum-information&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20875" PostTypeId="2" ParentId="17527" CreationDate="2014-02-05T09:26:35.037" Score="-2" Body="&lt;p&gt;Every instance of Q can be transformed into an instance of the Multiple Set Cover Problem, where the locations are the intervals $[l_i,r_i]$, covering a consecutive sequence of demand points (=integers $d_i$).&lt;/p&gt;&#xA;" OwnerUserId="21430" LastActivityDate="2014-02-05T09:26:35.037" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="20877" PostTypeId="2" ParentId="20861" CreationDate="2014-02-05T10:35:41.557" Score="3" Body="&lt;p&gt;A trivial answer which is close to some of what appears above but, I think, distinct.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Fix any polynomial-time computable coding $f\colon\mathbb{N}^3\to\mathbb{N}$ of triples $\langle k,m,w\rangle$ as natural numbers. The set of values $f(k,m,w)$ such that the $m$th nondeterministic Turing machine accepts its $w$th input in at most $n^{\log k}$ steps (where $n$ is the length of that input) is &lt;strong&gt;NP&lt;/strong&gt;-complete.  ($\log k$ so that we're effectively coding $k$ in unary.) That set of values can be represented as a set of paths.&lt;/p&gt;&#xA;" OwnerUserId="17082" LastActivityDate="2014-02-05T10:35:41.557" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20878" PostTypeId="2" ParentId="20861" CreationDate="2014-02-05T11:55:59.317" Score="5" Body="&lt;p&gt;Given a path with $n$ nodes and weighted edges $1 \leq \text{weight}(u,v) &amp;lt; n$, find if the nodes can be labeled using numbers in $[1..n]$ (avoiding duplicate labels) in such a way that the absolute difference of the labels of two adjacent nodes is equal to the weight of the edge:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$| \text{lab}(u) - \text{lab}(v)| = \text{weight}(u,v)$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is equivalent to the &lt;a href=&quot;http://www.nearly42.org/cstheory/the-crazy-frog-puzzle-and-permutation-reconstruction-from-differences/&quot; rel=&quot;nofollow&quot;&gt;Permutation Reconstruction  from Differences problem&lt;/a&gt; which is NPC (one of my &quot;unofficial&quot; results :-).&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="5693" LastEditDate="2014-02-05T12:01:08.133" LastActivityDate="2014-02-05T12:01:08.133" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20879" PostTypeId="2" ParentId="20608" CreationDate="2014-02-05T13:50:20.780" Score="8" Body="&lt;p&gt;A late answer, but the bound on synchronization delay has been studied for several classes of automata: see for instance &lt;a href=&quot;http://link.springer.com/article/10.1007/s11786-007-0027-1&quot;&gt;Unambiguous Automata; Béal et al. MCS'08&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In particular; there is a family of deterministic automata that have delay $\Omega(|Q|^2)$ as showed in &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S030439759880011X#&quot;&gt;On the Bound of the Synchronization Delay of a Local Automaton; Béal et al. TCS'98&lt;/a&gt;, which matches a corresponding $O(|Q|^2)$ upper bound.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;P.S. the synchronization delay defined in the paper is the minimal $k$ for which the deterministic local automaton is $k$-local.&lt;/p&gt;&#xA;" OwnerUserId="20726" LastEditorUserId="20726" LastEditDate="2014-02-06T16:19:07.583" LastActivityDate="2014-02-06T16:19:07.583" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="20880" PostTypeId="1" CreationDate="2014-02-05T14:25:41.027" Score="7" ViewCount="150" Body="&lt;p&gt;I am studying the (worst-case) complexity $C(n,d)$ required to solve the maximal vector problem: given a finite set $V$ of $n$ $d$-dimensional vectors, compute the set of undominated (a.k.a. skyline, pareto) vectors: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\{v\in V\mid \forall v'\in V\;\exists i\leq d.\, v.i&amp;gt;v'.i\}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am aware of the following upper bounds: &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$O(dn^2)$ (trivial algorithm)&lt;/li&gt;&#xA;&lt;li&gt;$O(n(\log n)^{d-2})$ when $d\geq3$, $O(n\log n)$ for $d\leq 3$. &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.87.6761&quot; rel=&quot;nofollow&quot;&gt;On Finding the Maxima of a Set of Vectors, Kung et al'75&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;$O(n^{2.684})$ when $d=n$ &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.145.9691&quot; rel=&quot;nofollow&quot;&gt;Efficient algorithms on sets of permutations, dominance, and real-weighted APSP, Yuster'08&lt;/a&gt;, which improves marginally a result of Matousek's IPL'91.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;As for lower bounds, I am only aware of one bound (tight when $d=2$):&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$C(n,2)\geq S(n)+n-1\approxeq n\log_2 n+n-1$ , where $S(n)$ is the number of comparisons required for sorting $n$ elements. &lt;a href=&quot;https://archive.org/details/onfindingmaximal667yaof&quot; rel=&quot;nofollow&quot;&gt;On finding the maximal elements in a set of plane vectors, F.F. Yao, technical report UIUC'74&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Are other non-trivial bounds known? In particular lower bounds that refine Yao's for $d&amp;gt;2$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;N.B.1 For the lower bound I am interested in a model where the only question available to access the data is &quot;&lt;em&gt;is vector $v$ greater than $v'$ along dimension $i$?&lt;/em&gt;&quot;.&#xA;Though I would still be curious about whether interesting bounds are known in other models (e.g. for integer valued vectors).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;N.B.2 The above is about computational complexity, but I am also curious about results about the minimal number of comparisons required, apart from&#xA;Yao's lower bound and the trivial $dS(n)$ upper bound&lt;/p&gt;&#xA;" OwnerUserId="20726" LastEditorUserId="20726" LastEditDate="2014-02-06T17:52:12.907" LastActivityDate="2014-02-06T17:52:12.907" Title="Lower bound for the maximal vectors problem" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;cg.comp-geom&gt;&lt;optimization&gt;" AnswerCount="0" CommentCount="2" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="20881" PostTypeId="1" AcceptedAnswerId="20882" CreationDate="2014-02-05T17:25:42.190" Score="5" ViewCount="403" Body="&lt;p&gt;The maximum independent set problem gives a lower bound for the minimum clique cover problem.  This is easy to see because given any clique cover together with an independent set, any two vertices which are part of the independent set must belong to separate cliques in the clique cover.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there any way to put a worst case (hopefully constant) upper bound on the ratio between these two values?  What about when the number of vertices grows large?  I know it must be at least $\frac{3}{2}$, since we can have a graph composed of an arbitrary number of pentagons (each pentagon has a maximum independent set of 2 vertices, but a minimum clique cover of 3 cliques).  Can anyone find a graph where the ratio is larger than $\frac{3}{2}$? larger than 2?&lt;/p&gt;&#xA;" OwnerUserId="13643" LastEditorUserId="4896" LastEditDate="2014-02-05T22:50:58.947" LastActivityDate="2014-02-05T22:50:58.947" Title="Worst case ratio between minimum clique cover and maximum independent set" Tags="&lt;co.combinatorics&gt;&lt;approximation-algorithms&gt;&lt;graph-colouring&gt;&lt;set-cover&gt;&lt;clique&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20882" PostTypeId="2" ParentId="20881" CreationDate="2014-02-05T18:16:45.763" Score="9" Body="&lt;p&gt;The &lt;a href=&quot;http://www.cs.cmu.edu/afs/cs.cmu.edu/academic/class/15859-f11/www/notes/lecture11.pdf&quot;&gt;Lovász $\vartheta$ function&lt;/a&gt; is an efficiently computable function with the property&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;\alpha(G) \leq \vartheta(G) \leq \bar{\chi}(G),&#xA;$$&#xA;where $\alpha$ is independence number and $\bar{\chi}$ is clique cover number. If the bound $\frac{\bar{\chi}(G)}{\alpha(G)} \leq n^{1-\varepsilon}$ were true for some constant $\varepsilon &amp;gt; 0$, then we would have an efficient approximation to $\alpha(G)$ within a factor of $n^{1-\varepsilon}$ . However, this is &lt;a href=&quot;http://www.nada.kth.se/~johanh/cliqueinap.pdf&quot;&gt;impossible, unless P=NP&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The above argument is conditional on the conjecture P $\neq$ NP. However, &lt;a href=&quot;http://www.wisdom.weizmann.ac.il/~feige/Approx/theta.ps&quot;&gt;Feige showed&lt;/a&gt; that, unconditionally, there exists a constant $c$ and an infinite family of graphs for which&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;\alpha(G) \leq \vartheta(G) &amp;lt; 2^{\sqrt{\log n}}\\&#xA;\bar{\chi}(G) &amp;gt; \frac{n}{2^{c\sqrt{\log n}}}&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So the gap between $\alpha(G)$ and $\bar{\chi}(G)$ is $n^{1 - o(1)}$, no need for conjectures.&lt;/p&gt;&#xA;" OwnerUserId="4896" LastEditorUserId="4896" LastEditDate="2014-02-05T22:38:00.553" LastActivityDate="2014-02-05T22:38:00.553" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20883" PostTypeId="1" CreationDate="2014-02-05T20:50:44.050" Score="36" ViewCount="2392" Body="&lt;p&gt;Given a new problem in $\mathsf{NP}$ whose true complexity is somewhere between $\mathsf{P}$ and being NP-complete, there are two methods that I know of that might be used to prove that resolving this is difficult:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Show that the problem is GI-complete (GI = Graph Isomorphism)&lt;/li&gt;&#xA;&lt;li&gt;Show that the problem is in $\mathsf{co-AM}$. By known results, such a result implies that if the problem is NP-complete, then PH collapses to the second level. For example, the famous protocol for Graph Nonisomorphism does exactly this.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Are there any other methods (maybe with different &quot;strengths of belief&quot;) that have been used ? For any answer, an example of where it has actually been used is required: obviously there are many ways one might try to show this, but examples make the argument more convincing. &lt;/p&gt;&#xA;" OwnerUserId="80" LastEditorUserId="495" LastEditDate="2014-02-06T08:31:54.277" LastActivityDate="2014-02-06T08:31:54.277" Title="Techniques for showing that problem is in hardness &quot;limbo&quot;" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;&lt;graph-isomorphism&gt;&lt;np-intermediate&gt;" AnswerCount="3" CommentCount="8" FavoriteCount="11" ContentLicense="CC BY-SA 3.0" />
  <row Id="20884" PostTypeId="2" ParentId="20883" CreationDate="2014-02-05T22:08:09.690" Score="48" Body="&lt;p&gt;Showing that your problem is in coAM (or SZK) is indeed one of the main ways to adduce evidence for &quot;hardness limbo.&quot;  But besides that, there are several others:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Show that your problem is in NP &amp;cap; coNP.  (Example: Factoring.)&#xA;&lt;li&gt;Show that your problem is solvable in quasipolynomial time.  (Examples: VC dimension, approximating free games.)&#xA;&lt;li&gt;Show that your problem is no harder than inverting one-way functions or solving NP on average.  (Examples: Lots of problems in cryptography.)&#xA;&lt;li&gt;Show that your problem reduces to (e.g.) Unique Games or Small-Set Expansion.&#xA;&lt;li&gt;Show that your problem is in BQP.  (Example: Factoring, though of course that's also in NP &amp;cap; coNP.)&#xA;&lt;li&gt;Rule out large classes of NP-completeness reductions.  (Example: The Circuit Minimization Problem, studied by Kabanets and Cai.)&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I'm sure there are others that I'm forgetting.&lt;/p&gt;&#xA;" OwnerUserId="1575" LastActivityDate="2014-02-05T22:08:09.690" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="20885" PostTypeId="2" ParentId="20491" CreationDate="2014-02-05T22:11:05.753" Score="1" Body="&lt;p&gt;I would add that, typically, one uses the term &quot;calculus&quot; when the evaluation rules are expressed at the level of the source language.  One use the term &quot;abstract machine&quot; when addition &quot;machine-level&quot; concepts are used in describing the evaluation (such as stores, pointers, stacks, etc.).&lt;/p&gt;&#xA;" OwnerUserId="8519" LastActivityDate="2014-02-05T22:11:05.753" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20888" PostTypeId="2" ParentId="20834" CreationDate="2014-02-06T04:54:53.223" Score="3" Body="&lt;p&gt;This predates the start of the &quot;deep learning craze&quot; in the mid-2000s, but for me the cascade correlation algorithm (Fahlman &amp;amp; Lebiere, 1989; &lt;a href=&quot;http://repository.cmu.edu/cgi/viewcontent.cgi?article=2937&amp;amp;context=compsci&amp;amp;sei-redir=1&amp;amp;referer=http%3A%2F%2Fscholar.google.ca%2Fscholar%3Fq%3Dcascade-correlation%2Balgorithm%26hl%3Den%26as_sdt%3D0%26as_vis%3D1%26oi%3Dscholart%26sa%3DX%26ei%3DpA_zUqyuKZLUsATusIDgDA%26ved%3D0CC0QgQMwAA#search=%22cascade-correlation%20algorithm%22&quot; rel=&quot;nofollow noreferrer&quot;&gt;pdf&lt;/a&gt;) is &lt;em&gt;the&lt;/em&gt; build-your-own-topology NN algorithm. I am not sure how popular the algorithm is in ML now-a-days, but it is still popular in cognitive science &lt;a href=&quot;https://cogsci.stackexchange.com/q/214/29&quot;&gt;despite it's unrealistic grounding in biology&lt;/a&gt;. If you want intersections with genetic algorithms (like the one @vzn points out with more recent examples) then that has been done with CC as well (Potter, 1992; &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.135.7792&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;pdf&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You might also find the following questions on other SEs to be of interest:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://cs.stackexchange.com/q/455/55&quot;&gt;Why do neural networks seem to perform better with restrictions placed on their topology?&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://stats.stackexchange.com/q/33967/4872&quot;&gt;Dynamically adjusting NN architecture: inventing the unnecessary?&lt;/a&gt; (also &lt;a href=&quot;http://metaoptimize.com/qa/questions/10799/dynamically-adjusting-nn-architecture-inventing-the-unnecessary&quot; rel=&quot;nofollow noreferrer&quot;&gt;on MetaOptimize&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="1037" LastEditorUserId="-1" LastEditDate="2017-04-13T12:56:17.630" LastActivityDate="2014-02-06T04:54:53.223" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20890" PostTypeId="2" ParentId="20883" CreationDate="2014-02-06T07:54:04.003" Score="24" Body="&lt;p&gt;From the comment above: if a problem seems hard enough, but you are not able to prove that it is NP-complete, a quick check is to count the number of strings of length $n$ in the language: if the set is sparse it is unlikely to be NPC, otherwise P=NP by &lt;a href=&quot;http://en.wikipedia.org/wiki/Sparse_language&quot;&gt;Mahaney's theorem&lt;/a&gt; ... so it's better to direct efforts towards proving that it is in P :-) :-)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An example is the &lt;a href=&quot;http://blog.computationalcomplexity.org/2010/07/what-is-complexity-of-these-problems.html&quot;&gt;problem of partitioning numbers into k-boxes&lt;/a&gt; (from Fortnow &amp;amp; Gasarch's blog, original source: &lt;em&gt;Doctor Ecco's Cyberpuzzles&lt;/em&gt;):&lt;br&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\{ (n,k) \mid \text{ there exists a way to partition }$ $\{1,...,n\} \text{ into at most k boxes so that no box has } x,y,z \text{ with } x+y=z \}$&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2014-02-06T08:03:57.460" LastActivityDate="2014-02-06T08:03:57.460" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20891" PostTypeId="2" ParentId="20883" CreationDate="2014-02-06T08:04:10.477" Score="23" Body="&lt;p&gt;Here are three additions to Scott's list:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Show your problem is in fewP. This means that the number of solutions is bounded by some polynomial. (Example: Turnpike problem). No NP-complete problem is known to be in fewP. (impossible unless fewP=NP).&#xA;&#xA;&lt;li&gt;Show your problem is in $LOGNP$ or in $NP[log^2n]$ (Can be solved using limited number of nondeterministic bits, Example Dominating set problem in tournaments)&#xA;&#xA;&lt;li&gt;Show that your problem has sub-exponential density (H. Buhrman and J. M. Hitchcock proved density lower bound ($2^{n^{\epsilon}}$), unless the polynomial hierarchy collapses. Therefore, any $NP$-complete set must have some $\epsilon \gt 0$ such that for infinitely-many integers $n\ge 0$, the set contains at least $2^{n^{\epsilon}}$ strings of length $n$. ). This is a much stronger than proving just sparsity (as stated in Marzio's answer).&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;H. Buhrman and J. M. Hitchcock, NP-Hard Sets are Exponentially Dense Unless $coNP ⊆ NP/poly$, In IEEE Conference on Computational Complexity, pages 1–7, 2008&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2014-02-06T08:29:26.513" LastActivityDate="2014-02-06T08:29:26.513" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="20892" PostTypeId="2" ParentId="17404" CreationDate="2014-02-06T08:06:44.180" Score="2" Body="&lt;p&gt;If randomness is in bounds, one rough idea would be to generate a bunch of &quot;random monotonic signature&quot; functions and use them to approximate the subset relation (a la Bloom filters).  Unfortunately, I don't know how to make this into a practical algorithm, but here are some estimates that don't immediately prove the idea impossible.  This is very far from a useful solution, but I'll write it out in case it helps.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assume for simplicity that the sets are all nearly the same size, say $|S| = s \pm O(1)$, and that $s = o(u)$.  We can assume $1 \ll s$, otherwise we're done.  Define&#xA;$$\begin{aligned}&#xA;q &amp;amp;= [s/2] \\&#xA;p &amp;amp;= \left[\frac{u \choose q}{s \choose q}\right]&#xA;\end{aligned}$$&#xA;Note that $p \gg 1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is the wildly impractical part.  Randomly choose $p$ subsets $A_1, \ldots, A_p \subset U$ with replacement, each of size $q$, and define a function $f : 2^U \to \{0,1\}$ by $f(S) = 1$ iff $A_i \subset S$ for some $i$.  With $S$ fixed and $A_i,f$ varying randomly, we have&#xA;$$\begin{aligned}&#xA;\Pr(f(S) = 0) &amp;amp;= \Pr(\forall i. A_i \not\subset S) \\&#xA;              &amp;amp;= \Pr(A_1 \not\subset S)^p \\&#xA;              &amp;amp;= \left(1 - {s \choose q}/{u \choose q}\right)^p \\&#xA;              &amp;amp;= e^{-\Theta(1)}&#xA;\end{aligned} $$&#xA;Since $f(S)$ is monotonic, $S \subset T$ implies $f(S) \le f(T)$.  If $T \not\subset S$, fix some $t \in T-S$.  The probability that $f$ detects $T \not\subset S$ is&#xA;$$\begin{aligned}&#xA;\Pr(f(S) = 0 &amp;lt; 1 = f(T)) &amp;amp;= \Pr(f(S) = 0) \Pr(f(T) = 1 | f(S) = 0) \\&#xA;&amp;amp;= e^{-\Theta(1)} \Pr(\exists i. A_i \subset T, A_i \cap T-S \ne 0 | f(S) = 0) \\&#xA;&amp;amp;= e^{-\Theta(1)} \Pr(\exists i. t \in A_i \subset T | f(S) = 0) \\&#xA;&amp;amp;\le e^{-\Theta(1)} \Pr(\exists i. t \in A_i \subset T) \\&#xA;&amp;amp;\approx e^{-\Theta(1)} p \Pr(t \in A_1 \subset T) \\&#xA;&amp;amp;\le e^{-\Theta(1)} p {s \choose q-1} / {u \choose q} \\&#xA;&amp;amp;\approx e^{-\Theta(1)} p \frac{q}{s-q} {s \choose q} / {u \choose q} \\&#xA;&amp;amp;= e^{-\Theta(1)}&#xA;\end{aligned}$$&#xA;Some of those steps are pretty tenuous, but I don't have time to improve them tonight.  In any case, if they all hold, then at least it's not clearly impossible to randomly generate signature functions that have reasonable likelihood of distinguishing subsets from nonsubsets.  A logarithmic number of such functions would then distinguish all pairs correctly.  If generating a signature function $f$ and computing $f(S)$ could be reduced to $\tilde{O}(n+u)$ time, the result would be an overall $\tilde{O}(n^2+u^2)$ algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Even if the above calculations are correct, I have no idea how to generate monotonic signature functions with the desired features quickly.  It's also likely that this technique doesn't extend to significantly different set sizes.&lt;/p&gt;&#xA;" OwnerUserId="13245" LastEditorUserId="13245" LastEditDate="2014-02-06T17:14:34.517" LastActivityDate="2014-02-06T17:14:34.517" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20893" PostTypeId="2" ParentId="5635" CreationDate="2014-02-06T08:23:35.150" Score="0" Body="&lt;p&gt;I'd name it &quot;Forward recursion with memoization&quot;.&lt;/p&gt;&#xA;" OwnerUserId="21430" LastActivityDate="2014-02-06T08:23:35.150" CommentCount="0" CommunityOwnedDate="2014-02-06T08:23:35.150" ContentLicense="CC BY-SA 3.0" />
  <row Id="20894" PostTypeId="1" CreationDate="2014-02-06T09:33:34.300" Score="13" ViewCount="4118" Body="&lt;p&gt;Suppose you're meeting with programmers who have taken some professional programming courses (/ self thought) but didn't study a university level math.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In order to show them the beauty of TCS, I'd like to gather some nice results/open questions coming from TCS which can easily be explained.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A good candidate for this purpose (IMHO) will be showing that the halting problem is not decidable. Another will be showing a lower bound on the running time of comparison based sorting (although that's a bit pushing it from what I expect them to understand).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I can also use the ideas from &lt;a href=&quot;https://cstheory.stackexchange.com/questions/5188/explain-p-np-problem-to-10-year-old&quot;&gt;Explain P = NP problem to 10 year old&lt;/a&gt;, assuming some of them are unfamiliar with it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, questions has to be:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(0. Beautiful)&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Explainable with (at most) high school math.&lt;/li&gt;&#xA;&lt;li&gt;(preferably) not trivial enough to be shown in professional programming courses (for C++/Java/Web/etc.).&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="21001" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2014-02-09T00:56:47.370" Title="Interesting results in TCS which are easily explainable to programmers without technical background" Tags="&lt;soft-question&gt;&lt;big-list&gt;&lt;big-picture&gt;&lt;teaching&gt;" AnswerCount="4" CommentCount="12" FavoriteCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="20895" PostTypeId="2" ParentId="18319" CreationDate="2014-02-06T10:30:19.643" Score="4" Body="&lt;p&gt;If the number of matrices is fixed (i.e., given a part of the input), then the problem was shown to be NP-complete in &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=218895&quot; rel=&quot;nofollow noreferrer&quot;&gt;&lt;em&gt;The complexity of the max word problem and the power of one-way interactive proof systems by Condon (1993)&lt;/em&gt;&lt;/a&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can download the related &lt;a href=&quot;http://www.google.com/url?sa=t&amp;amp;rct=j&amp;amp;q=&amp;amp;esrc=s&amp;amp;source=web&amp;amp;cd=3&amp;amp;cad=rja&amp;amp;ved=0CDoQFjAC&amp;amp;url=ftp://ftp.cs.wisc.edu/pub/techreports/1990/TR952.pdf&amp;amp;ei=JV3zUp3lJ-Sr0QXm2IDIAQ&amp;amp;usg=AFQjCNFujOfqRB3KVDLT-x_qdqk3CPzOMQ&amp;amp;sig2=JSMiT0Iti6dyuXtFU2wtjg&amp;amp;bvm=bv.60799247,d.d2k&quot; rel=&quot;nofollow noreferrer&quot;&gt;technical report (1990) for free&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The first paragraph from the technical report is as follows:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/Q7rKn.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Moreover, &lt;em&gt;the quantified max word problem for matrices&lt;/em&gt; was recently introduced and shown to be PSPACE-complete by &lt;a href=&quot;http://eccc.hpi-web.de/report/2014/016/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Demirci, Say, and Yakaryilmaz (2014)&lt;/a&gt;. Here is the related part:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/dHjec.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;" OwnerUserId="7358" LastEditorUserId="7358" LastEditDate="2014-02-06T11:16:09.950" LastActivityDate="2014-02-06T11:16:09.950" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20896" PostTypeId="2" ParentId="20861" CreationDate="2014-02-06T10:35:06.297" Score="6" Body="&lt;p&gt;MinCC Graph Motif is NP-hard when the graph is a path (even APX-hard). Given a graph with colors on the vertices and a set of colors, find a subgraph matching the set of colors and minimizing the number of connected comp. See Complexity issues in vertex-colored graph pattern matching, JDA 2011.&lt;/p&gt;&#xA;" OwnerUserId="21459" LastActivityDate="2014-02-06T10:35:06.297" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20897" PostTypeId="1" CreationDate="2014-02-06T10:45:58.497" Score="11" ViewCount="472" Body="&lt;p&gt;Do you know problems which are W[1]-hard even for bounded degree graphs? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Metric Dimension is hard on graphs with degree at most 3, but it is W[2]-hard. &#xA;Red-Blue Nonblocker used to be W[1]-hard on bounded degree graphs but there was an error in the proof (book of Downey Fellows 2013), and it is hard only if blue vertices are of bounded degree.&lt;/p&gt;&#xA;" OwnerUserId="21459" LastActivityDate="2014-02-08T00:35:59.597" Title="W[1]-hard problems on bounded degree graphs" Tags="&lt;reference-request&gt;&lt;parameterized-complexity&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="20898" PostTypeId="2" ParentId="20861" CreationDate="2014-02-06T10:57:36.910" Score="3" Body="&lt;p&gt;The Unsplittable Flow Problem (UFP) remains NP-hard on a path. Indeed, UFP is NP-hard even on a single edge, as it is equivalent to the Knapsack problem.&lt;/p&gt;&#xA;" OwnerUserId="9569" LastActivityDate="2014-02-06T10:57:36.910" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20901" PostTypeId="1" AcceptedAnswerId="20928" CreationDate="2014-02-06T12:33:07.020" Score="10" ViewCount="427" Body="&lt;p&gt;It is known that for $\Theta(1)$ error the worst case definition of randomized communication complexity and average case definition are equivalent. But when the error is $0$, the worst case randomized communication complexity is same as deterministic communication complexity.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is any function known to have super-constant deterministic communication complexity but constant zero error randomized communication complexity?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More generally, what is a witness function that separates deterministic communication complexity and zero-error randomized communication complexity?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any help is appreciated. &lt;/p&gt;&#xA;" OwnerUserId="21463" LastEditorUserId="21463" LastEditDate="2014-02-07T08:04:23.973" LastActivityDate="2014-02-07T17:33:04.167" Title="Zero error randomized communication complexity vs deterministic communication complexity" Tags="&lt;communication-complexity&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="20906" PostTypeId="2" ParentId="20897" CreationDate="2014-02-06T15:55:08.407" Score="7" Body="&lt;p&gt;Ball and Trap I remains &lt;a href=&quot;http://taxonomy.zoology.gla.ac.uk/rod/genetree/maths/fellows.pdf&quot;&gt;$W[1]$-hard&lt;/a&gt; when restricted to binary trees.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Theorem 5 states:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Theorem 5. Ball and Trap I remains $W[1]$-hard restricted to binary trees,&#xA;  the maximum number of traps per vertex is one per color, and balls are placed&#xA;  on neither leaves nor parents of leaves.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2014-02-06T16:07:57.700" LastActivityDate="2014-02-06T16:07:57.700" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20907" PostTypeId="1" CreationDate="2014-02-01T04:23:46.830" Score="20" ViewCount="470" Body="&lt;p&gt;I'm interested in the concept of &quot;r-Turing completeness&quot;, as defined by &lt;a href=&quot;http://link.springer.com/chapter/10.1007/978-3-642-19805-2_4#page-1&quot;&gt;Axelsen and Glück (2011)&lt;/a&gt;. A system is r-Turing complete if it can compute the same set of functions as a reversible Turing machine, &lt;em&gt;without&lt;/em&gt; producing any &quot;garbage&quot; data. This is the same as being able to compute every function that is both (a) computable, and (b) injective.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would like to computationally explore the space of computable injective functions. In order to do this I'm looking for the &quot;most minimal&quot; reversible programming language --- something that can play the equivalent role for r-Turing computability that the lambda calculus plays for Turing computability.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I know that there are many reversible languages that people have developed and proven to be r-Turing complete. However, these are being developed with practical applications in mind, and so their authors concentrate on giving them expressive features rather than making them minimal. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does anyone know if such a minimal invertible language has been described, or whether there is any research in such a direction? I'm fairly new to the literature on this topic, so I could easily have missed it. Alternatively, does anyone have any insight into how such a language could be created?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Below is a summary of what I'm looking for. I do not know whether it can be created by modifying the lambda calculus itself, or whether a completely different type of language would have to be used.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;r-Turing complete language - computes all computable invertible functions, and can only computes invertible functions&lt;/li&gt;&#xA;&lt;li&gt;Syntax and semantics as minimal as possible. (E.g. Lambda calculus has only function definitions and applications, and nothing else.) It isn't necessary for the syntax or semantics to be related to those of the lambda calculus, although they could be.&lt;/li&gt;&#xA;&lt;li&gt;Program = data. That is, the programs operate on expressions rather than any other kind of data. This guarantees that a program's output can always be interpreted as a program. This probably implies that it has to be a functional rather than an imperative style of language.&lt;/li&gt;&#xA;&lt;li&gt;There is some systematic way to convert a program into its inverse, which doesn't involve substantially more computation than that involved in actually performing the inverse computation. (Not all invertible languages have this property, but some do.)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I should emphasise that Axelsen and Glück's approach to reversible computing is quite different from the well-known approach due to Bennett, where an (in general non-invertible) program is made invertible by returning some information about the computation's history along with the output. r-Turing completeness is about being able to compute injective functions &lt;em&gt;without&lt;/em&gt; any additional output. There are several things called variations of &quot;reversible lambda calculus&quot; that are reversible in Bennet's sense - those are not what I'm looking for.&lt;/p&gt;&#xA;" OwnerUserId="13804" OwnerDisplayName="Nathaniel" LastActivityDate="2014-03-09T13:52:46.900" Title="A Lambda calculus for invertible (r-Turing computable) functions" Tags="&lt;lambda-calculus&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20910" PostTypeId="2" ParentId="20873" CreationDate="2014-02-06T19:50:10.300" Score="7" Body="&lt;p&gt;Short answer: No.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are really two separate issues to unpack here:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Even if it worked exactly as advertised (which, as you might have heard, is somewhat disputed at present... :-) ), D-Wave's machine, by the company's own account, is only for &lt;i&gt;adiabatic optimization.&lt;/i&gt;  There's no particular reason to think that it could implement (e.g.) Shor's factoring algorithm, or other algorithms in the usual quantum circuit model.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Even if you had a &lt;i&gt;standard, universal quantum computer&lt;/i&gt;---so, not any of D-Wave's current or planned devices, but a &quot;gate model&quot; QC capable of running Shor's factoring algorithm and so forth---even then, &lt;i&gt;Simon's algorithm&lt;/i&gt; in particular requires that the QC make quantum queries to a hypothetical black box.  So in order to run Simon's algorithm, you need some explicitly-computable function that &quot;instantiates&quot; the black box.  Right now, however, no one has a very clear idea whether there exist such explicitly-computable functions that satisfy the Simon promise, for which a classical algorithm couldn't &lt;i&gt;also&lt;/i&gt; use the explicit descriptions to solve Simon's problem efficiently.  Note that Shor's and Simon's algorithms are very similar at some level.  The main advantage of Shor's over Simon's is that, with the former, we &lt;i&gt;do&lt;/i&gt; know an explicitly-computable function---namely, the modular exponentiation function---that &quot;instantiates&quot; the abstract periodic black box (and that, moreover, has some practical importance...).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="1575" LastActivityDate="2014-02-06T19:50:10.300" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20912" PostTypeId="1" CreationDate="2014-02-06T21:43:15.267" Score="1" ViewCount="66" Body="&lt;p&gt;Suppose we have a sequence $a_1,a_2,\ldots, a_n$, each $a_i$  is sampled uniformly and independently from $[0,1]$. &#xA;Define&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;    J_1=1,\\&#xA;    \text{for}~i&amp;gt;1, ~J_i = 1 \iff a_i &amp;lt; \min \{a_1,a_2,\ldots,a_{i-1}\} \\&#xA;    \text{otherwise}, J_i=0&#xA;$$&#xA;By some sort of calculation, we can get&#xA;$$&#xA;    E[J_i] = \frac{1}{i}&#xA;$$&#xA;Thus if we let $J=\sum_{i=1}^nJ_i$, we have&#xA;$$&#xA;    E[J] = \sum_{i=1}^n \frac{1}{i} \approx \ln(n)&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Now, my question here is can we bound the probability $P(J-E[J] &amp;gt; \delta)$?&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;With Azuma's inequality, if we define $Y_i = E[J|J_1,J_2,\ldots,J_i]$, we can get&#xA;$$&#xA;    P(J-E[J]&amp;gt;\delta)=P(Y_n-Y_0&amp;gt;\delta) &amp;lt; e^{-\frac{\delta^2}{2n}}&#xA;$$&#xA;But this bound does not make much sense since when $n$ is large, it actually tends to be $1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The bound given by Markov inequality is also useless in our case. Any suggestion is welcome and highly appreciated.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks so much!&lt;/p&gt;&#xA;" OwnerUserId="21294" LastEditorUserId="21294" LastEditDate="2014-02-07T01:25:20.687" LastActivityDate="2014-02-07T01:25:20.687" Title="Bound the number of rounds in the sampling" Tags="&lt;approximation-algorithms&gt;&lt;randomized-algorithms&gt;&lt;upper-bounds&gt;&lt;data-streams&gt;" AnswerCount="0" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="20914" PostTypeId="1" CreationDate="2014-02-06T22:47:26.297" Score="1" ViewCount="81" Body="&lt;p&gt;I understand that hash is effective iff the &quot;domain&quot; size is smaller than the size of the &quot;general set&quot; - set of all possible objects.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;E.g., &quot;domain&quot; is the set of valid english phrases with length 1000, and &quot;general set&quot; is the set of all possible strings with length 1000.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Roughly speaking, hashes just project our objects from giant and almost-empty &quot;abacus&quot; desk to much more smaller one.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question:&lt;/strong&gt; Is there a smart criterion (expressed in therms of Kolmogorov complexity theory, Shannon entropy), which we could use to be sure that comparison operation will be more effective using hashes?&lt;/p&gt;&#xA;" OwnerUserId="21481" LastActivityDate="2014-02-06T22:47:26.297" Title="Entropy criterion of efficiency for (comparison using hashing)" Tags="&lt;hash-function&gt;&lt;kolmogorov-complexity&gt;&lt;shannon-entropy&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20915" PostTypeId="1" CreationDate="2014-02-06T23:18:01.247" Score="2" ViewCount="96" Body="&lt;p&gt;Consider $n$ variables $x_1, \cdots, x_n$ and &#xA;$f=\sum a_i x_1^{d_{i1}}\cdots x_n^{d_{in}}$ such that for each $i$, $d_{i1}+\cdots+d_{in}=d$ for some fixed $d$ and $a_i\geq 0$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am interested in the following question :- given $f$ and $\theta$ decide whether there exist $x_i$ such that $\sum_{i=1}^n x_i=1$ and $x_i\geq 0$, $f\geq \theta$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is this problem $NP_R$-hard? (I am referring the Blum–Shub–Smale model.)&lt;/p&gt;&#xA;" OwnerUserId="21036" LastActivityDate="2014-02-06T23:18:01.247" Title="Is this question $NP_R$ hard?" Tags="&lt;cc.complexity-theory&gt;&lt;lower-bounds&gt;&lt;computing-over-reals&gt;" AnswerCount="0" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="20917" PostTypeId="1" CreationDate="2014-02-07T02:48:09.380" Score="6" ViewCount="774" Body="&lt;p&gt;Unless I'm mistaken, deep neural networks are good for learning functions that are nonlinear in the input.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In such cases, the input set is linearly inseparable, so the optimisation problem that results from the approximation problem is not convex, so it cannot be globally optimised with local optimization. Support Vector Machines (try to) get around this by choosing features such that the projection of the input space into the feature space is linearly separable, and we have a convex optimisation problem once again. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I don't suppose that a deep neural network always learns features that make the input set linearly separable in feature space. So what's the point in it learning features?&lt;/p&gt;&#xA;" OwnerUserId="21223" LastEditorUserId="21223" LastEditDate="2014-02-07T10:46:09.797" LastActivityDate="2014-02-09T22:34:00.687" Title="Neural Networks: what's the point of learning features that don't linearly separate?" Tags="&lt;optimization&gt;&lt;ne.neural-evol&gt;&lt;convex-optimization&gt;" AnswerCount="3" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="20918" PostTypeId="2" ParentId="20834" CreationDate="2014-02-07T03:05:44.943" Score="-1" Body="&lt;p&gt;here are two other more recent papers that touch on this. as AK cites, cascade correlation algorithms were designed around ~1990 for this purpose of dynamic ANN growth but they seem not to be applied in deep learning experiments so far. the 2nd paper below cites cascade correlation as an inspiration for an incremental/online algorithm that adds feature detectors over time built out of lower-level feature detectors.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://www.geminoid.jp/~minato/papers/BenAmor06a.pdf&quot; rel=&quot;nofollow&quot;&gt;Learning Android Control using Growing Neural Networks&lt;/a&gt; 2006 Amor et al&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Fixed sized neural networks are a popular technique for learning the adaptive control of non-linear plants. When applied to the complex control of android robots, however, they suffer from serious limitations, such as the moving target problem i.e. the interference between old and newly learned knowledge. To overcome these problems, we propose the use of growing neural networks in a new learning framework based on the process of consolidation. &lt;/p&gt;&#xA;&lt;/blockquote&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;this paper comes from &lt;a href=&quot;https://sites.google.com/site/deeplearningnips2012/posters&quot; rel=&quot;nofollow&quot;&gt;Deep learning and unsupervised feature learning NIPS workshop 2012&lt;/a&gt;. &lt;a href=&quot;http://www.eng.uwaterloo.ca/~jbergstr/files/nips_dl_2012/Paper%2019.pdf&quot; rel=&quot;nofollow&quot;&gt;Online Representation Search and&#xA;Its Interactions with Unsupervised Learning&lt;/a&gt; by Mahmood/Sutton. see fig 4 p4. the network performance vs incremental growth in feature detectors is graphed.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;We consider the problem of finding good hidden units, or features, for use in multilayer neural networks. Solution methods that generate candidate features, evaluate them, and retain the most useful ones (such as cascade correlation and NEAT), we call representation search methods. In this paper, we explore novel representation search methods in an online setting, compare them with two simple unsupervised learning algorithms that also scale online.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2014-02-07T03:05:44.943" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20920" PostTypeId="2" ParentId="20868" CreationDate="2014-02-07T04:05:26.557" Score="2" Body="&lt;p&gt;Answer to your first question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Proper(Unit) Interval graphs have independent node degree of 2.&lt;/p&gt;&#xA;" OwnerUserId="12280" LastActivityDate="2014-02-07T04:05:26.557" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20922" PostTypeId="1" CreationDate="2014-02-07T08:11:59.647" Score="4" ViewCount="378" Body="&lt;p&gt;Obviously, lambda calculus functions are not in general invertible. That is, there is no lambda function $V$ (for inVerse) such that&#xA;$$&#xA;(V\; A)\; (A\; B) \to B&#xA;$$&#xA;for every $A$ and $B$ such that $(A\; B)$ can be reduced to normal form. (The arrow means that when the left- and right-hand expressions are reduced to normal form, they are $\alpha$-equivalent.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, I'm interested in defining a function $R$ (for Reverse) such that&#xA;$$&#xA;(R\; A\; B)\; (A\; B) \to B. \tag{1}&#xA;$$&#xA;Intuitively, $R$ is a function that reverses the application of $A$ to $B$; unlike the inverse function, $R$ is told what $B$ is, and just has to return it. By itself this is trivial of course; $(\lambda x.(\lambda y.(\lambda z.y)))$ does the job. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, I would also like $R$ to have another property. It follows from $(1)$ that&#xA;$$&#xA;R\; (R\; A\; B)\; (A\; B)\; B \to (A\; B).&#xA;$$&#xA;I would like to strengthen this to&#xA;$$&#xA;R\; (R\; A\; B)\; (A\; B) \to A. \tag{2}&#xA;$$&#xA;That is, I want the reverse of a reverse calculation to be the original function $A$, rather than just something that gives the same result when applied to $B$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a function $R$ that has both properties $(1)$ and $(2)$, whenever the reduction to normal form of $(A\;B)$ is possible? If so, what is it - and if not, how can this be shown?&lt;/p&gt;&#xA;" OwnerUserId="13804" LastEditorUserId="13804" LastEditDate="2014-02-07T09:19:58.203" LastActivityDate="2014-02-07T09:19:58.203" Title="Defining a calculation-reversing function in the lambda calculus" Tags="&lt;lambda-calculus&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20923" PostTypeId="2" ParentId="20907" CreationDate="2014-02-07T13:30:43.210" Score="4" Body="&lt;p&gt;I am not very familiar with the area, but there is some recent work from the programming languages community that might interest you, based on the idea of restricting to a language of type isomorphisms.  In particular, you could have a look at&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.cs.indiana.edu/~sabry/papers/fractionals.pdf&quot; rel=&quot;nofollow&quot;&gt;Fractional Types&lt;/a&gt; by Roshan P. James, Zachary Sparks, Jacques Carette, and Amr Sabry&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;as well as various related publications which you can find on &lt;a href=&quot;http://www.cs.indiana.edu/~sabry/research.html&quot; rel=&quot;nofollow&quot;&gt;Amr Sabry's website&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="674" LastActivityDate="2014-02-07T13:30:43.210" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20924" PostTypeId="1" CreationDate="2014-02-07T15:19:28.833" Score="7" ViewCount="432" Body="&lt;p&gt;$\mathsf{fewP}$ ($\mathsf{NP}$ with few witnesses, see &lt;a href=&quot;https://complexityzoo.uwaterloo.ca/Complexity_Zoo%3aF#fewp&quot;&gt;the zoo&lt;/a&gt;) is one of the important ambiguity-bounded sub-classes of $\mathsf{NP}$. There are interesting natural problems in this class that are believed to be good candidates for problems in $\mathsf{NPI}$-intermediate such as Beltway problem and the Turnpike problem. Informally, $\mathsf{fewP}$ is the class of $\mathsf{NP}$ problems with polynomialy-bounded number of solutions. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://complexityzoo.uwaterloo.ca/Complexity_Zoo%3aF#fewp&quot;&gt;$\mathsf{FewP}$&lt;/a&gt; is defined as:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;The class of decision problems solvable by an $\mathsf{NP}$ machine such that&#xA;  If the answer is 'no,' then all computation paths reject.&#xA;  If the answer is 'yes,' then at least one path accepts; furthermore, the number of accepting paths is upper-bounded by a polynomial in n, the size of the input.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;We known that $\mathsf{P} \subseteq \mathsf{UP} \subseteq \mathsf{fewP}\subseteq \mathsf{NP}$.&#xA;It is an open problem whether any inclusion is strict. Specifically, $\mathsf{fewP}$ vs. $\mathsf{NP}$ is an open problem. The Complexity Zoo cites oracle results suggesting that all inclusions are strict and that $\mathsf{fewP}$ does not have a Turing-complete set.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Why do we believe that $\mathsf{fewP \ne NP}$? &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Is there any unexpected consequence that follows from $\mathsf{fewP=NP}$ such as the collapse of the polynomial hierarchy or disproving any other widely believed complexity-theoretic conjecture?&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2014-02-07T15:52:14.810" LastActivityDate="2014-02-07T15:52:14.810" Title="Why do we believe $\mathsf{fewP \ne NP}$?" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;conditional-results&gt;" AnswerCount="0" CommentCount="8" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="20925" PostTypeId="2" ParentId="20868" CreationDate="2014-02-07T15:48:35.833" Score="2" Body="&lt;p&gt;Another answer to the first question: &#xA;Line graphs form another natural class of independent node degree 2. More general, claw-free graphs if they are natural enough for you.&lt;/p&gt;&#xA;" OwnerUserId="13136" LastActivityDate="2014-02-07T15:48:35.833" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20926" PostTypeId="1" CreationDate="2014-02-07T16:15:14.720" Score="2" ViewCount="590" Body="&lt;p&gt;I am writing a research paper, which describes some properties about finite automata. It also provides a couple of algorithms that can measure some aspects of the properties.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Could you point out some related conferences that this topic can well fit? And how good they are?&lt;/p&gt;&#xA;" OwnerUserId="15407" LastActivityDate="2014-02-10T01:54:21.500" Title="What are good conferences for algorithms about finite automata?" Tags="&lt;graph-algorithms&gt;&lt;automata-theory&gt;&lt;dfa&gt;&lt;finite-model-theory&gt;&lt;analysis-of-algorithms&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="20927" PostTypeId="2" ParentId="20926" CreationDate="2014-02-07T16:25:13.090" Score="6" Body="&lt;p&gt;The main conferences where automata are among the main topics are ICALP, LICS, STACS, CSL, MFCS, FSTTCS. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you feel your paper is not strong enough for these conferences (which accept about a quarter of the papers that are sent each year), you can send to conferences which are a little less exigeant.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The ICALP submission deadline is soon (in a week), after this the next in the list is FSTTCS I believe.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;These conferences are all european (except FSTTCS from India), it seems that automata are less popular in USA, but it might be that your results interest some people at STOC or FOCS.&lt;/p&gt;&#xA;" OwnerUserId="8953" LastEditorUserId="8953" LastEditDate="2014-02-10T01:54:21.500" LastActivityDate="2014-02-10T01:54:21.500" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="20928" PostTypeId="2" ParentId="20901" CreationDate="2014-02-07T16:50:24.567" Score="13" Body="&lt;p&gt;Indeed, for distjointness of sets of size $\log(n)$ out of $n$ items, it is known that &#xA;the $0$-error randomized communication complexity is $\Theta(\log n)$, while the deterministic&#xA;complexity is $\Theta(\log^2 n)$.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Recall that there can be at most a quadratic gap since the $0$-error randomized complexity is bounded from below by the non-deterministic and co-non-deterministic complexities.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See: &lt;a href=&quot;http://mirror.theoryofcomputing.org/articles/v003a011/v003a011.pdf&quot;&gt;http://mirror.theoryofcomputing.org/articles/v003a011/v003a011.pdf&lt;/a&gt; &lt;/p&gt;&#xA;" OwnerUserId="42" LastEditorUserId="2954" LastEditDate="2014-02-07T17:33:04.167" LastActivityDate="2014-02-07T17:33:04.167" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="20929" PostTypeId="2" ParentId="1060" CreationDate="2014-02-07T22:21:25.243" Score="12" Body="&lt;ul&gt;&#xA;&lt;li&gt;Timon Hertli, &quot;&lt;a href=&quot;http://arxiv.org/abs/1103.2165&quot;&gt;3-SAT Faster and Simpler - Unique-SAT Bounds for PPSZ Hold in General&lt;/a&gt;&quot;, FOCS 2011.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;deterministic $O(1.308^n)$ for 3SAT.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2014-02-11T03:10:06.577" LastActivityDate="2014-02-11T03:10:06.577" CommentCount="5" CommunityOwnedDate="2014-02-07T22:21:25.243" ContentLicense="CC BY-SA 3.0" />
  <row Id="20930" PostTypeId="1" CreationDate="2014-02-07T22:59:15.760" Score="32" ViewCount="2126" Body="&lt;p&gt;It is well known by Ladner's Theorem that if ${\mathsf P}\neq \mathsf {NP}$, then there exist infinitely many $\mathsf {NP}$-intermediate ($\mathsf{NPI}$) problems. There are also natural candidates for this status, such as Graph Isomorphism, and a number of others, see &#xA;&lt;a href=&quot;https://cstheory.stackexchange.com/questions/79/problems-between-p-and-npc&quot;&gt;Problems Between P and NPC&lt;/a&gt;. Nevertheless, the vast majority in the crowd of known $natural$ $\mathsf {NP}$-problems are known to be either in $\mathsf {P}$ or $\mathsf {NPC}$. Only a small fraction of them remains a candidate for $\mathsf {NPI}$. In other words, if we randomly pick a natural $\mathsf {NP}$-problem among the known ones, we have very little chance to pick an $\mathsf {NPI}$ candidate. Is there any explanation for this phenomenon? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I could think up 3 possible explanations, more on the philosophical side:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;The reason for having such a small fraction of natural $\mathsf {NPI}$ candidates is that     $\mathsf {NPI}$ will eventually turn out to be empty. I know, this implies ${\mathsf P} =\mathsf {NP}$, so it is very unlikely. Nevertheless, one could still argue (though I'm not one of them) that the rareness of natural $\mathsf {NPI}$ problems is  an empirical observation that appears to actually support ${\mathsf P} =\mathsf {NP}$, in contrast to most other observations. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The smallness of &quot;natural-$\mathsf {NPI}$&quot; represents a kind of sharp phase transition between easy and hard problems. Apparently,  the meaningful, natural algorithmic problems behave in a way that they tend to be either easy or hard, the transition is narrow (but still exists).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The argument in 2 can be taken to the extreme: eventually all problems in &quot;natural-$\mathsf {NPI}$&quot; will be put into $\mathsf {P} \cup \mathsf {NPC}$, yet ${\mathsf P}\neq \mathsf {NP}$, so $\mathsf {NPI}\neq \emptyset$. This would mean that all remaining problems in $\mathsf {NPI}$ are &quot;unnatural&quot; (contrived, without real-life meaning). An interpretation of this could be that natural problems are either easy or hard; the transition is only a logical construct, without &quot;physical&quot; meaning. This is somewhat reminiscent to the case of irrational numbers, which are perfectly logical, but do not arise as the measured value of any  physical quantity. As such, they do not come from physical reality, they are rather in the &quot;logical closure&quot; of that reality.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Which explanation do you like the best, or can you suggest another one?&lt;/p&gt;&#xA;" OwnerUserId="12710" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2014-03-14T10:09:27.397" Title="Why are so few natural candidates for NP-intermediate status?" Tags="&lt;cc.complexity-theory&gt;&lt;p-vs-np&gt;&lt;np-intermediate&gt;" AnswerCount="6" CommentCount="3" FavoriteCount="13" ContentLicense="CC BY-SA 3.0" />
  <row Id="20931" PostTypeId="1" AcceptedAnswerId="20934" CreationDate="2014-02-08T00:24:34.057" Score="7" ViewCount="158" Body="&lt;p&gt;Diagonalization is a frequently used technique in complexity theory. However, the problems (sets) that are created by diagonalization rarely correspond to anything natural. It would be interesting to collect examples, when a problem was originally defined via diagonalization, but later it was found to coincide with a natural problem. &lt;/p&gt;&#xA;" OwnerUserId="12710" LastActivityDate="2014-02-08T01:34:45.213" Title="Natural problem arising from diagonalization?" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;" AnswerCount="1" CommentCount="6" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="20932" PostTypeId="2" ParentId="20897" CreationDate="2014-02-08T00:35:59.597" Score="5" Body="&lt;p&gt;Given graphs $G$ and $H$ of maximum degree $2$, it is $\mathsf{W[1]}$-hard to decide whether $G$ contains a subgraph isomorphic to $H$, parameterized by the number of connected components of $G$. This is Theorem N.1 on page 46 of &lt;a href=&quot;http://arxiv.org/abs/1307.2187&quot; rel=&quot;noreferrer&quot;&gt;this paper&lt;/a&gt; by Dániel Marx and Michał Pilipczuk.&lt;/p&gt;&#xA;" OwnerUserId="2666" LastActivityDate="2014-02-08T00:35:59.597" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="20933" PostTypeId="2" ParentId="1060" CreationDate="2014-02-08T00:58:10.163" Score="22" Body="&lt;p&gt;I am not aware of any &lt;a href=&quot;http://en.wikipedia.org/wiki/Las_Vegas_algorithm&quot; rel=&quot;nofollow noreferrer&quot;&gt;zero-error randomized algorithms&lt;/a&gt; (or &lt;a href=&quot;https://complexityzoo.uwaterloo.ca/Complexity_Zoo:C#cone&quot; rel=&quot;nofollow noreferrer&quot;&gt;coNE&lt;/a&gt;/&lt;a href=&quot;https://complexityzoo.uwaterloo.ca/Complexity_Zoo:P#ppoly&quot; rel=&quot;nofollow noreferrer&quot;&gt;Eadvice&lt;/a&gt; algorithms,&#xA;&lt;br&gt;&#xA;for that matter) for SAT that have better bounds than known deterministic algorithms,&#xA;&lt;br&gt;&#xA;regardless of whether or not there is promised to be at most one satisfying assignment.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://arxiv.org/pdf/1102.3766v1.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Derandomizing HSSW Algorithm for 3-SAT&lt;/a&gt; shows that&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&quot;Problem 3-SAT is deterministically solvable in time $\overset{\sim}{O}(1.3303^n)$.&quot;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.danielrolf.com/files/e/ef/Rolf05derandomization.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Derandomization of PPSZ for Unique-k-SAT&lt;/a&gt; shows that:&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&quot;For a uniquely satisfiable 3-CNF (resp. 4-CNF) on $n$ variables, &#xA;  the satisfying assignment&#xA;  &lt;br&gt;&#xA;  can be found in deterministic running time at most $O\hspace{.02 in}(1.3071^n)$ (resp. $O\hspace{.02 in}(1.4699^n)$).&quot;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://arxiv.org/pdf/1103.2165.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;3-SAT Faster and Simpler - Unique-SAT Bounds for PPSZ Hold in General&lt;/a&gt; shows that (originally mentioned in &lt;a href=&quot;https://cstheory.stackexchange.com/questions/1060/best-upper-bounds-on-sat#comment26476_1070&quot;&gt;Ryan's comment&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;ol&gt;&#xA;  &lt;li&gt;&quot;There exists a randomized algorithm for 3-SAT with&#xA;  &lt;br&gt;one-sided error that runs in time $O\hspace{.02 in}(1.30704^n)$.&quot;  &lt;/li&gt;&#xA;  &lt;li&gt;&quot;There exists a randomized algorithm for 4-SAT with&#xA;  &lt;br&gt;&#xA;  one-sided error that runs in time $O\hspace{.02 in}(1.46899^n)$.&quot;&lt;/li&gt;&#xA;  &lt;/ol&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://arxiv.org/abs/1311.2513&quot; rel=&quot;nofollow noreferrer&quot;&gt;Breaking the PPSZ Barrier for Unique 3-SAT&lt;/a&gt;&#xA;&lt;br&gt;&#xA;claims a result that can be summarized as follows:&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&quot;There is a randomized algorithm for unique-3-SAT such that for $\: \epsilon  = 1\hspace{-0.03 in}\big/\hspace{-0.06 in}\left(\hspace{-0.03 in}10^{\hspace{.02 in}24}\hspace{-0.04 in}\right) \:$ and&#xA;  &lt;br&gt;&#xA;  $S$  the real number that lets the previous paper's runtime bound for&#xA;  3-SAT be expressed&#xA;  &lt;br&gt;&#xA;  as $\: O\hspace{-0.04 in}\left(2^{(S+o(1))\cdot n}\right) \:$, $\;$ the&#xA;  current paper's algorithm runs in time&#xA;  $\: O\hspace{-0.04 in}\left(2^{(S-\epsilon+o(1))\cdot n}\right)$ .&quot;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&#xA;" OwnerDisplayName="user6973" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.743" LastActivityDate="2016-09-10T11:05:09.443" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20934" PostTypeId="2" ParentId="20931" CreationDate="2014-02-08T01:34:45.213" Score="8" Body="&lt;p&gt;In some sense the halting problem satisfies this request (I was almost ready to say &quot;There are no such examples!&quot; when I thought of this one.) By doing diagonalization against computable sets, you can of course get sets of very high complexity, but the seemingly-most-natural way of diagonalizing against computable sets gives you a problem that is equivalent to the halting problem. As we now know, the halting problem is equivalent to many other computational problems, such as deciding many properties of TMs, telling whether a Diophantine equation has solutions, the word problem in finitely presented groups, telling whether a high-dimensional knot is the unknot, etc.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am still ready to say that I would be surprised to see other examples (that aren't just, say, relativized versions of this).&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2014-02-08T01:34:45.213" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20935" PostTypeId="2" ParentId="20930" CreationDate="2014-02-08T01:41:25.673" Score="19" Body="&lt;p&gt;Many natural problems can be expressed as Constraint Satisfaction Problems, and there are dichotomy theorems for CSPs.&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2014-02-08T01:41:25.673" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20937" PostTypeId="1" CreationDate="2014-02-08T08:18:44.200" Score="0" ViewCount="71" Body="&lt;p&gt;Given a set of points $p_1, p_2, ..., p_n$ and a collection of sets from $n$ points $S_1, S_2,...,S_m$. The pairwise distance between any three points $(p_1, p_2, p_3)$ satisfies triangle inequality $d(p_1,p_2) + d(p_2, p_3) \geq d(p_1, p_3)$. How to define the distance between sets such that the pairwise distance between any three sets $S_1, S_2, S_3$ satisfies triangle inequality $d(S_1,S_2) + d(S_2, S_3) \geq d(S_1, S_3)$. &#xA;For example, when every set is $\textbf{pairwise disjoint}$ and has the $\textbf{same cardinality}$, we can define the distance between any two set to be the sum of the distances between elements of the two sets $$d(S_1, S_2) = \sum_{x \in S_1, y \in S_2} d(x,y)$$. we can show that the triangle inequality is satisfied for any three sets. &lt;/p&gt;&#xA;" OwnerUserId="21297" LastActivityDate="2014-02-08T09:09:37.643" Title="Define metric for systems of set of points" Tags="&lt;metrics&gt;&lt;metric-spaces&gt;&lt;computational-geometry&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20938" PostTypeId="2" ParentId="20937" CreationDate="2014-02-08T09:09:37.643" Score="4" Body="&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Metric_space#Distance_between_points_and_sets.3B_Hausdorff_distance_and_Gromov_metric&quot; rel=&quot;nofollow&quot;&gt;Hausdorff distance&lt;/a&gt; is what you are looking for.&lt;/p&gt;&#xA;" OwnerUserId="12280" LastActivityDate="2014-02-08T09:09:37.643" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20939" PostTypeId="1" AcceptedAnswerId="20953" CreationDate="2014-02-08T10:56:54.190" Score="8" ViewCount="1195" Body="&lt;p&gt;A &lt;em&gt;message authentication code&lt;/em&gt; (MAC) is defined by a triple of efficient algorithms $(\mathsf{Gen}, \mathsf{MAC}, \mathsf{Verif})$, which satisfy the following (the definition is taken from section 4.3 of the &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/1584885513&quot;&gt;Katz-Lindell book&lt;/a&gt;):&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;On input $1^n$, the algorithm $\mathsf{Gen}$ generates a key $k \ge n$.&lt;/li&gt;&#xA;&lt;li&gt;On input $k$ generated by $\mathsf{Gen}$, and some message $m \in \{0,1\}^*$, the algorithm $\mathsf{MAC}$ generates a tag $t$. We write $t \gets \mathsf{MAC}_k(m)$.&lt;/li&gt;&#xA;&lt;li&gt;On input a triple $(k,m,t)$, the algorithm $\mathsf{Verif}$ generates a single bit $b$. We write $b \gets \mathsf{Verif}_k(m,t)$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;It is required that for all $k$ output by $\mathsf{Gen}$ and all $m \in \{0,1\}^*$, we have $\mathsf{Verif}_k(m, \mathsf{MAC}_k(m)) = 1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The security requirement is defined via the following experiment, between the challenger and the adversary $A$:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;$k \gets \mathsf{Gen}(1^n)$.&lt;/li&gt;&#xA;&lt;li&gt;$(m,t) \gets A^{\mathsf{MAC}_k(\cdot)}(1^n)$.&lt;/li&gt;&#xA;&lt;li&gt;Let $Q$ denote the set of all queries that $A$ asked to its oracle.&lt;/li&gt;&#xA;&lt;li&gt;The output of the experiment is defined to be 1 if and only if:&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$\mathsf{Verif}_k(m, t) = 1$, and&lt;/li&gt;&#xA;&lt;li&gt;$m \notin Q$.&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;The MAC is considered secure if the probability that the experiment outputs 1 is negligible in $n$.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;The experiment above resembles a &quot;chosen plaintext&quot; experiment against a symmetric encryption scheme, where the adversary can obtain ciphertexts corresponding to messages of his choice. In a more powerful attack, called &quot;chosen ciphertext&quot; attack, the adversary is allowed access to a decryption oracle as well.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, my question is:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What happens if we allow the MAC-adversary to access a verification oracle as well? In other words, what if line 2 of the experiment is replaced with the following:&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;$(m,t) \gets A^{\mathsf{MAC}_k(\cdot),\ \ \mathsf{Verif}_k(\cdot, \cdot)}(1^n)$.&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;Notice that in the new experiment, $Q$ only includes queries $A$ asks from the $\mathsf{MAC}_k$ oracle.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="873" LastActivityDate="2014-03-27T19:44:56.577" Title="Secure MAC when the adversary has a verification oracle" Tags="&lt;cr.crypto-security&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="20940" PostTypeId="2" ParentId="20917" CreationDate="2014-02-08T13:00:18.737" Score="0" Body="&lt;p&gt;I thought about this question once, and I convinced myself with an argument similar to this:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Unlike the SVM (kernel), the features are not projected to a different space, instead they are weighted! The weight of the features make them acts like like they would under &quot;gravity&quot; and balances the &quot;space&quot;, that way the features that have more weights associated to them actually has more &quot;dominance&quot; over the output (of the activation function). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I like to think of it this way- consider a non linear data set with just 2 attributes, now, after the training phase, each attribute has some weight assigned to them. these weights inherently change their &quot;role in the activation function&quot; thus might actually make one of them to shrink in in size relative to the other, now as this happens if you then again look at the points, you might see that the new data does not look as non linear but instead you can actually make a lot of sense of it.. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This was a very high level &quot;reasoning&quot; with a lot of &quot;handwaving&quot;. But intuitively on a high level this is what I think is happening under the hood. &lt;/p&gt;&#xA;" OwnerUserId="17325" LastActivityDate="2014-02-08T13:00:18.737" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="20941" PostTypeId="2" ParentId="20930" CreationDate="2014-02-08T13:24:29.160" Score="8" Body="&lt;p&gt;We can not rule-out a forth possibility that there are plenty of &lt;strong&gt;natural&lt;/strong&gt; $NP$-intermediate problems. The apparent scarcity is due to lack of necessary techniques and tools required to prove $NP$-intermediate status under some plausible complexity conjecture (Arora and Barak noted that we can not prove the $NP$-intermediate status of any natural $NP$ problem even assuming $P \ne NP$). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It seems that the floodgates of natural $NP$-intermediate problems are open. &lt;a href=&quot;http://www.ida.liu.se/~vicla67/cp2013.pdf&quot;&gt;Jonsson, Lagerkvist, and Nordh&lt;/a&gt; extended the diagonalization technique of Ladner, known as &lt;em&gt;blowing holes in problems&lt;/em&gt;, and applied it to Constraint Satisfaction Problems. They obtained a CSP that is a candidate for $NP$-intermediate status. They proved that propositional abduction problem has $NP$-intermediate fragments.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=1206036&quot;&gt;Grohe&lt;/a&gt; proved the existence of $NP$-intermediate CSP problems assuming that $FPT \ne W[1]$. He obtained such problems by restricting the tree-width of the corresponding primal graphs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;References&lt;/strong&gt;:  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;1- M. Grohe. The complexity of homomorphism and constraint satisfaction problems&#xA;seen from the other side. Journal of the ACM, 54(1), article 1, 2007&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2- Peter Jonsson, Victor Lagerkvist and Gustav Nordh. Blowing Holes in Various Aspects of Computational Problems, with Applications to Constraint Satisfaction. In Proceedings of the 19th International Conference on Principles and Practice of Constraint Programming (CP-2013). 2013.&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2014-02-08T13:35:02.180" LastActivityDate="2014-02-08T13:35:02.180" CommentCount="12" ContentLicense="CC BY-SA 3.0" />
  <row Id="20942" PostTypeId="2" ParentId="20894" CreationDate="2014-02-08T13:57:25.960" Score="9" Body="&lt;p&gt;In addition to the halting problem, I suggest discussing:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Rice%27s_Theorem&quot;&gt;Rice's Theorem.&lt;/a&gt;  Some of the explanation on Wikipedia is a bit jargon-heavy, but it's generally not a hard theorem or proof to understand other than that; it has a lot of relevance to real-world concepts like anti-virus software.  The proof is about as involved as the proof of the halting problem (and actually depends on the undecidability of the halting problem).  Basically, just understand that a &quot;computable function&quot; is a Turing machine or computer program.&lt;/p&gt;&#xA;" OwnerUserId="1338" LastEditorUserId="1338" LastEditDate="2014-02-08T17:15:14.243" LastActivityDate="2014-02-08T17:15:14.243" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="20943" PostTypeId="1" CreationDate="2014-02-08T14:41:44.417" Score="1" ViewCount="208" Body="&lt;p&gt;If you have &lt;a href=&quot;http://en.wikipedia.org/wiki/Polynomial-time_approximation_scheme#Randomized&quot; rel=&quot;nofollow&quot;&gt;FPRAS&lt;/a&gt;es for counting number of matchings of size $\leq n$ and size $\leq n-1$, &#xA;can you get an FPRAS for counting number of matchings of size $n$ (i.e perfect matchings)? &lt;/p&gt;&#xA;" OwnerUserId="21509" LastEditorUserId="186" LastEditDate="2014-02-08T23:27:53.270" LastActivityDate="2014-02-08T23:27:53.270" Title="FPRAS for Perfect Matching" Tags="&lt;ds.algorithms&gt;&lt;approximation-algorithms&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20944" PostTypeId="1" AcceptedAnswerId="32105" CreationDate="2014-02-08T15:06:41.907" Score="12" ViewCount="1181" Body="&lt;p&gt;I am looking for bibliographic references for the following algorithm/problem: I named it &quot;BiSelect&quot; or &quot;t-ary Select&quot; or &quot;Select in Union of Sorted Arrays&quot;, but I guess it was introduced before under another name?&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Problem&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;Consider the following problem:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Given $k$ disjoint sorted arrays $A_1,\ldots, A_k$, of respective sizes $n_1,\ldots,n_k$, and an integer $t\in[1..\sum n_i]$, what is&#xA;  the &lt;strong&gt;$t$-th value of their sorted union&lt;/strong&gt; $\cup_i A_i$?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;h2&gt;Solutions&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;There is a very simple and elegant algorithm running in time $O(\lg\min\{n_1,n_2,t\})$ if $k=2$: if $k=2$, just compare $A_1[t/2]$ with $A_2[t/2]$ and recurse on $A_1[t/2..t]$ and $A_2[1..t/2]$ or $A_1[1..t/2]$ and $A_2[t/2..t]$ accordingly, in both cases with parameter $t/2$ (and some minor optimizations when $n_1$ or $n_2$ are smaller than $t$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This generalizes to a slightly more sophisticated algorithm running in time $O(k\lg t)$ for larger values of $k$, based on computing the median of the values $A_i[t/k]$ for $i\in[1..k]$: the $t/k$  smallest elements can be further ignored in the $k/2$ arrays where $A_i[t/k]$ is smaller than the median, and the elements of ranks in $[t-t/k..]$ can be further ignored in the $k/2$ other arrays, resulting in a halving of $t$ in each recurrence (and a cost of $O(k)$ for the median).&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;References?&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;I am happy with my solution(s), but I suppose that the problem (and its solution) was already known. It is related to the linear time algorithm for computing the median (by sorting groups of size $5$, and recurse on the median of their middles), but is slightly more general. I asked several colleges at Madalgo in Aarhus (Denmark), and then some others at the workshop Stringology (Rouen), without success:  I am hoping that someone more knowledgeable might help on Stack Exchange... &lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Motivations&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;Solutions to this problem have applications to Deferred Data Structure on arrays (indeed, it can be seen as an operator in a deferred data structure for the union of sorted arrays); and in a more convoluted way, to the adaptive computation of optimal prefix free codes.&lt;/p&gt;&#xA;" OwnerUserId="191" LastEditorUserId="14130" LastEditDate="2015-07-10T20:10:27.397" LastActivityDate="2015-07-29T01:54:28.560" Title="Select in union of sorted arrays: Already known?" Tags="&lt;reference-request&gt;" AnswerCount="3" CommentCount="0" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="20945" PostTypeId="2" ParentId="20930" CreationDate="2014-02-08T16:00:00.770" Score="26" Body="&lt;p&gt;As others have pointed out, it's debatable to what extent the thing you're trying to explain is even true.  One could argue that, in the 60s and 70s, theoretical computer scientists were just more &lt;i&gt;interested&lt;/i&gt; in the sorts of problems that turn out to be either in P or else NP-complete.  Today, because of the rise of complexity-theoretic cryptography, quantum computing, lattices, etc.---as well as the simple fact that NP-completeness has become so well-understood---we've become more and more interested in the sorts of problems that turn out to be NP-intermediate.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Still, one could ask: to the extent that the thing is true---that is, to the extent that so many natural search and optimization problems &quot;snap&quot; to being either NP-complete or else in P---to that extent, &lt;i&gt;why&lt;/i&gt; is it true?  Here, I think you can get a lot of intuition by looking at an earlier phenomenon from computability: that so many natural models of computation &quot;snap&quot; to being Turing-complete.  In that case, I'd say the explanation is that, once you have a few basic components---a read/write memory, loops, conditionals, etc.---it's hard to &lt;i&gt;avoid&lt;/i&gt; being able to simulate a Turing machine, and therefore being Turing-complete.  In much the same way, once your search or optimization problem has a few basic components---most importantly, the ability to construct &quot;gadgets&quot; that mimic logic gates like AND, OR, and NOT---it's hard to avoid being able to encode SAT and therefore being NP-complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The way I like to think about it, problems like SAT exert a powerful &quot;gravitational pull&quot; on all the other computational problems in their vicinity, making them want to &quot;snap up&quot; to being NP-complete also.  So, it normally doesn't even require special explanation when yet another problem succumbs to that pull!  What's more striking, and more in need of explanation, is when an (apparently) hard NP problem has some property that lets it &lt;i&gt;resist&lt;/i&gt; the gravitational pull of SAT.  We then want to know: what &lt;i&gt;is&lt;/i&gt; that property?  &lt;i&gt;Why&lt;/i&gt; can't you play the usual NP-completeness trick for this problem, of constructing gadgets that encode Boolean logic gates?  I made up a list of some common answers to that question in &lt;a href=&quot;https://cstheory.stackexchange.com/questions/20883/techniques-for-showing-that-problem-is-in-hardness-limbo&quot;&gt;this recent CS.SE answer&lt;/a&gt;, but (as another commenter already pointed out) there are other possible answers that I missed.&lt;/p&gt;&#xA;" OwnerUserId="1575" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2014-02-08T16:00:00.770" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="20947" PostTypeId="2" ParentId="20943" CreationDate="2014-02-08T16:15:28.997" Score="3" Body="&lt;p&gt;No. Knowing $x$ and $y$ to within multiplicative error bounds of $1\pm\varepsilon$ does not give you a multiplicative error bound on $x-y$. In particular, if $x=y$, being allowed only multiplicative error means that an FPRAS for $x-y$ would have to return &lt;em&gt;exactly&lt;/em&gt; zero with probability at least $\tfrac34$, whereas you could end up returning any value $v$ such that $|v|\leq 2\varepsilon\cdot |x|$.&lt;/p&gt;&#xA;" OwnerUserId="17082" LastEditorUserId="8762" LastEditDate="2014-02-08T21:45:20.427" LastActivityDate="2014-02-08T21:45:20.427" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="20949" PostTypeId="1" CreationDate="2014-02-08T16:47:30.843" Score="10" ViewCount="506" Body="&lt;p&gt;Distributed algorithms that are resilient to failures can either be deterministic or probabilistic. Take for example the consensus problem.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Paxos is deterministic in the sense that given the assumption it makes, it &lt;em&gt;always&lt;/em&gt; works.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;In constrast, randomized consensus works with a given probability.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;What is the advantage of designing and using a deterministic algorithm?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The assumptions upon which deterministic algorithms rely have also a probability of holding in the reality (what is called their &lt;em&gt;assumption coverage&lt;/em&gt;). Hence, there is always a probability that a deterministic algorithm does not work in the reality.&lt;/p&gt;&#xA;" OwnerUserId="21511" LastActivityDate="2014-02-08T21:35:44.753" Title="What is the advantage of designing deterministic distributed algorithms?" Tags="&lt;randomized-algorithms&gt;&lt;dc.distributed-comp&gt;&lt;fault-tolerance&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="20950" PostTypeId="2" ParentId="20894" CreationDate="2014-02-08T20:39:59.790" Score="4" Body="&lt;p&gt;A fun example and entertaining one is the undecidability of the tiling problem of Wang tiles. The result follows directly from the undecidability of the Halting problem by a simple simulation of Turing machines using Wang tiles. Interestingly, the undecidability of tiling problem for Wang tiles led to the beautiful result that there are tile sets that tile the plane only aperiodicaly.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Wang conjectured that every tile set that tile the plane must have periodic tiling. Therefore, the conjecture implied that the tiling problem is decidable. Later, Burger proved the undecidability of the tiling problem which implied the existence of tile sets that tile the plane only aperiodicaly.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The bounded version of the tiling problem is $NP$-complete which can be used as a master problem for $NP$-completeness results.&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2014-02-08T21:39:17.373" LastActivityDate="2014-02-08T21:39:17.373" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20951" PostTypeId="2" ParentId="20894" CreationDate="2014-02-08T21:07:17.400" Score="3" Body="&lt;p&gt;favorites collected from here &amp;amp; elsewhere&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Public_key_cryptography&quot; rel=&quot;nofollow&quot;&gt;public key cryptography&lt;/a&gt; / &lt;a href=&quot;http://en.wikipedia.org/wiki/Rsa_algorithm&quot; rel=&quot;nofollow&quot;&gt;RSA algorithm&lt;/a&gt;, &lt;a href=&quot;http://en.wikipedia.org/wiki/Trapdoor_function&quot; rel=&quot;nofollow&quot;&gt;trapdoor functions&lt;/a&gt;, &lt;a href=&quot;http://compgeom.cs.uiuc.edu/~jeffe/teaching/497/13-circuits.pdf&quot; rel=&quot;nofollow&quot;&gt;Shannons counting argument showing most circuit functions are hard&lt;/a&gt;; re this mystery:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;13.2 Most Functions Are Hard, But We Don’t Have Any Bad Examples&lt;br&gt;&#xA;  To the everlasting shame of theoretical computer scientists everywhere, there is no known explicit example of a family of [hard] functions...&lt;/p&gt;&#xA;&lt;/blockquote&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/AKS_primality_test&quot; rel=&quot;nofollow&quot;&gt;AKS Primality testing in P&lt;/a&gt;, relatively recent TCS breakthrough easily communicated&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/P_vs_np&quot; rel=&quot;nofollow&quot;&gt;P vs NP&lt;/a&gt;. one elementary way to relate NP functions is through games eg &lt;a href=&quot;http://en.wikipedia.org/wiki/Battleship_%28puzzle%29#Computers_and_Battleship&quot; rel=&quot;nofollow&quot;&gt;battleship&lt;/a&gt; or &lt;a href=&quot;http://en.wikipedia.org/wiki/Mathematics_of_Sudoku&quot; rel=&quot;nofollow&quot;&gt;soduku&lt;/a&gt; both with NP complete generalizations. also see eg &lt;a href=&quot;http://press.princeton.edu/titles/9937.html&quot; rel=&quot;nofollow&quot;&gt;Fortnows book&lt;/a&gt;. see also &lt;a href=&quot;http://arxiv.org/abs/1201.4995&quot; rel=&quot;nofollow&quot;&gt;video games as NP complete&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;undecidability of &lt;a href=&quot;http://en.wikipedia.org/wiki/Post_correspondence_problem&quot; rel=&quot;nofollow&quot;&gt;Post correspondence problem&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Tseitin-Transformation&quot; rel=&quot;nofollow&quot;&gt;Tseitin circuit transformation&lt;/a&gt; &amp;amp; &lt;a href=&quot;http://en.wikipedia.org/wiki/Boolean_satisfiability_problem&quot; rel=&quot;nofollow&quot;&gt;SAT&lt;/a&gt; (re reductions &amp;amp; NP completeness)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Euclidean_algorithm&quot; rel=&quot;nofollow&quot;&gt;(ancient) Euclidean algorithm &amp;amp; worst case analysis connection to Fibonacci sequence&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Curry_Howard&quot; rel=&quot;nofollow&quot;&gt;Curry-Howard correspondence between proofs and programs&lt;/a&gt;. have not seen an elementary ref on this but at heart the idea is quite simple &amp;amp; communicable&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Four_color_theorem&quot; rel=&quot;nofollow&quot;&gt;Four color thm&lt;/a&gt; via &lt;a href=&quot;http://en.wikipedia.org/wiki/Automated_theorem_proving&quot; rel=&quot;nofollow&quot;&gt;auto thm proving&lt;/a&gt;, a breakthrough for TCS&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2014-02-08T21:07:17.400" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="20952" PostTypeId="2" ParentId="20949" CreationDate="2014-02-08T21:35:44.753" Score="10" Body="&lt;p&gt;I will answer this from the perspective of &lt;strong&gt;distributed graph algorithms&lt;/strong&gt; (distributed algorithms that solve a graph problem related to the structure of the communication network).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here are some non-obvious reasons for designing deterministic distributed algorithms in this setting:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Subroutines in randomised algorithms&lt;/strong&gt;. On p. 12–13 of &lt;a href=&quot;http://adga2013.hiit.fi/elkin.pdf&quot;&gt;these slides&lt;/a&gt;, Elkin outlines an algorithm design technique in which you can use a fast &lt;em&gt;deterministic&lt;/em&gt; distributed algorithms as a subroutine in order to construct a fast &lt;em&gt;randomised&lt;/em&gt; distributed algorithm. Interestingly, it is &lt;em&gt;not&lt;/em&gt; possible to use a typical randomised algorithm as a subroutine in the same context (the error probability would be too high).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Fault tolerance&lt;/strong&gt;. There is a mechanical translation that allows you to convert a fast &lt;em&gt;deterministic&lt;/em&gt; distributed algorithm into a fast &lt;em&gt;self-stabilising&lt;/em&gt; distributed algorithm (see e.g. Section 2.4 of &lt;a href=&quot;http://users.ics.aalto.fi/suomela/doc/local-self-stab.pdf&quot;&gt;this survey&lt;/a&gt;). A similar conversion is not known for randomised algorithms (and I think it is unlikely to exist in the general case).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="74" LastActivityDate="2014-02-08T21:35:44.753" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20953" PostTypeId="2" ParentId="20939" CreationDate="2014-02-09T00:24:43.243" Score="6" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;If there is a secure &lt;em&gt;message authentication code&lt;/em&gt; according to either definition,&#xA;  &lt;br&gt;&#xA;  then there is a system that the book's definition classifies as a secure&#xA;  &lt;br&gt;&#xA;  message authentication code and your definition classifies as insecure.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Let $\:\langle \operatorname{Gen}\hspace{.02 in},\hspace{-0.02 in}\operatorname{MAC}\hspace{.02 in},\hspace{-0.05 in}\operatorname{Verif}\hspace{.02 in}\rangle\:$ be secure according to either definition. $\;\;$ Since the book's definition&#xA;&lt;br&gt;&#xA;is weaker than your definition, it is in particular secure according to the book's definition.&#xA;&lt;br&gt;&#xA;Fix some efficiently-computable and efficiently-invertable coding of&#xA;&lt;br&gt;&#xA;ordered pairs, for example, concatenating an efficiently-computable and&#xA;&lt;br&gt;&#xA;efficiently-invertible &lt;a href=&quot;http://en.wikipedia.org/wiki/Prefix_code&quot; rel=&quot;nofollow noreferrer&quot;&gt;prefix-free representation&lt;/a&gt;  of the left entry to the right entry.&#xA;&lt;br&gt;&#xA;Let $\operatorname{MAC}_k\hspace{-0.09 in}'$ work by pairing the output of $\operatorname{MAC}_k$ with the empty string.&#xA;&lt;br&gt;&#xA;Let $\operatorname{Verif}_k\hspace{-0.09 in}'$ accept if and only if [[$\operatorname{Verif}_k$ would accept the message and the left entry&#xA;&lt;br&gt;&#xA;of the tag] and [the right entry of the input is a prefix of $k$]]. $\;\;$ $\:\langle \operatorname{Gen}\hspace{.02 in},\hspace{-0.02 in}\operatorname{MAC}\hspace{.01 in}\hspace{-0.03 in}'\hspace{-0.02 in},\hspace{-0.04 in}\operatorname{Verif}\hspace{.01 in}\hspace{-0.03 in}'\hspace{.02 in}\rangle\:$ is clearly efficient and satisfies the requirement. $\;\;\;$ Since [pairing the tags with the empty string for]&#xA;&lt;br&gt;&#xA;and [taking the left entry of the output of] a feasible adversary attacking the book's&#xA;&lt;br&gt;&#xA;definition of the security of $\:\langle \operatorname{Gen}\hspace{.02 in},\hspace{-0.02 in}\operatorname{MAC}\hspace{.01 in}\hspace{-0.03 in}'\hspace{-0.02 in},\hspace{-0.04 in}\operatorname{Verif}\hspace{.01 in}\hspace{-0.03 in}'\hspace{.02 in}\rangle\:$ cannot have a non-negligible probability&#xA;&lt;br&gt;&#xA;of breaking the book's definition of security for $\:\langle \operatorname{Gen}\hspace{.02 in},\hspace{-0.02 in}\operatorname{MAC}\hspace{.02 in},\hspace{-0.05 in}\operatorname{Verif}\hspace{.03 in}\rangle\:$, $\:$ the book's&#xA;&lt;br&gt;&#xA;definition also classifies $\:\langle \operatorname{Gen}\hspace{.02 in},\hspace{-0.02 in}\operatorname{MAC}\hspace{.01 in}\hspace{-0.03 in}'\hspace{-0.02 in},\hspace{-0.04 in}\operatorname{Verif}\hspace{-0.01 in}\hspace{-0.03 in}'\hspace{.02 in}\rangle\:$ as a secure message authentication code.&#xA;&lt;br&gt;&#xA;However, once an adversary gets &lt;em&gt;any&lt;/em&gt; valid message-tag pair for $k$, $\:2\hspace{-0.03 in}\cdot \hspace{-0.03 in}(\operatorname{length}(k)\hspace{-0.04 in}+\hspace{-0.05 in}1)\:$ &#xA;&lt;br&gt;&#xA;adaptive queries to $\operatorname{Verif}_k\hspace{-0.09 in}'$ is sufficient to learn $k\hspace{.01 in}$, which would allow forgeries on any message.&#xA;&lt;br&gt;&#xA;Thus your definition classifies $\:\langle \operatorname{Gen}\hspace{.02 in},\hspace{-0.02 in}\operatorname{MAC}\hspace{.01 in}\hspace{-0.03 in}'\hspace{-0.02 in},\hspace{-0.04 in}\operatorname{Verif}\hspace{-0.01 in}\hspace{-0.03 in}'\hspace{.02 in}\rangle\:$ as insecure. $\;\;\;$ QED&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;br&gt;&lt;br&gt;&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;The &lt;a href=&quot;http://crypto.stanford.edu/~dabo/papers/strongsigs.pdf#page=3&quot; rel=&quot;nofollow noreferrer&quot;&gt;strong unforgeability&lt;/a&gt; versions of the two definitions are equivalent.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;br&gt;&#xA;(The &quot;strong unforgeability&quot; versions are obtained by replacing $Q$ with&#xA;&lt;br&gt;&#xA;the set $Q^+$ given in my next sentence, and that is needed to make the &#xA;&lt;br&gt;&#xA;&lt;a href=&quot;https://crypto.stackexchange.com/a/205/991&quot;&gt;encrypt-then-mac&lt;/a&gt; construction provide ciphertext integrity and be IND-CCA2.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Initialize $\:Q^+\:$ as the empty set, and put $\: \langle m,\hspace{-0.03 in}t\rangle \:$ into $\:Q^+$&#xA;&lt;br&gt;&#xA;each time $\operatorname{MAC}_k$ outputs $t$ on a query of $m$ .&#xA;&lt;br&gt;&#xA;Define a query to be &lt;em&gt;trying&lt;/em&gt; if and only if it is submitting&#xA;&lt;br&gt;&#xA;to $\:\operatorname{Verif}_{\hspace{-0.02 in}k}\:$ a pair that was already put in $\:Q^+\:$.&#xA;&lt;br&gt;&#xA;Define a query to be &lt;em&gt;early-trying&lt;/em&gt; if and only if it is trying and&#xA;&lt;br&gt;&#xA;did not come after any trying query that $\:\operatorname{Verif}_{\hspace{-0.02 in}k}\:$ accepted.&#xA;&lt;br&gt;&lt;br&gt;&lt;br&gt;&#xA;$B^{\hspace{.02 in}\operatorname{MAC}_k(\cdot)}\hspace{-0.02 in}\left(\hspace{-0.03 in}1^n,\hspace{-0.02 in}q,\hspace{.02 in}j\hspace{-0.01 in}\right) \;$ interacts with $A$ as follows:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Using less than $\hspace{.02 in}j$ random bits, choose $\;\; r \: \in \: \left\{\hspace{-0.03 in}1,\hspace{-0.03 in}2\hspace{.02 in},\hspace{-0.03 in}3,...,\hspace{-0.02 in}q\hspace{-0.04 in}-\hspace{-0.04 in}2\hspace{.02 in},\hspace{-0.02 in}q\hspace{-0.04 in}-\hspace{-0.05 in}1,\hspace{-0.02 in}q\hspace{-0.02 in}\right\} \;\;$ almost uniformly.&#xA;&lt;br&gt;&#xA;&quot;Forward&quot; all of $A$'s $\:\operatorname{MAC}_k(\cdot)\:$ queries to $\:\operatorname{MAC}_k(\cdot)\:$ and give that oracle's&#xA;&lt;br&gt;&#xA;(actual) output to $A$, give $0$ as the outputs on the first up to $r\hspace{-0.04 in}-\hspace{-0.05 in}1$ trying queries,&#xA;&lt;br&gt;&#xA;and give $1$ as the outputs of $\:\operatorname{Verif}_{\hspace{-0.02 in}k}\:$ on queries to it that are not trying.&#xA;&lt;br&gt;&#xA;If $\:A^{\operatorname{MAC}_k(\cdot),\operatorname{Verif}_k(\cdot,\cdot)}\hspace{-0.03 in}\left(\hspace{-0.03 in}1^n\hspace{-0.02 in}\right)\:$ makes an $r$-th trying query, then output what that query was.&#xA;&lt;br&gt;&#xA;If $\:A^{\operatorname{MAC}_k(\cdot),\operatorname{Verif}_k(\cdot,\cdot)}\hspace{-0.03 in}\left(\hspace{-0.03 in}1^n\hspace{-0.02 in}\right)\:$ gives output, then give that same output.&#xA;&lt;br&gt;&lt;br&gt;&lt;br&gt;&#xA;With everything's randomness fixed, if $\:A^{\operatorname{MAC}_k(\cdot),\operatorname{Verif}_k(\cdot,\cdot)}\hspace{-0.03 in}\left(\hspace{-0.03 in}1^n\hspace{-0.02 in}\right)\:$ makes exactly $\:r\hspace{-0.03 in}-\hspace{-0.04 in}1\:$ early-trying queries and succeeds in the strong unforgeability version of your experiment, then&#xA;&lt;br&gt;&#xA;$B^{\hspace{.02 in}A,\operatorname{MAC}_k(\cdot)}\hspace{-0.03 in}\left(\hspace{-0.03 in}1^n,\hspace{-0.02 in}q,\hspace{.02 in}j\hspace{-0.01 in}\right)\:$ succeeds in the strong unforgeability version book's experiment.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Therefore $B$ is a constructive straight-line reduction from succeeding in the strong unforgeability version of your experiment with probability at least $\epsilon$ in a way that&#xA;  &lt;br&gt;&#xA;  makes less than $q$ early-trying queries, to succeeding in the strong unforgeability&#xA;  &lt;br&gt;&#xA;  version of the book's experiment with probability greater than $\;\; \left(\hspace{-0.03 in}\frac1q\hspace{-0.03 in}-\hspace{-0.03 in}\frac{q}{2\text{^}j}\hspace{-0.04 in}\right)\cdot \epsilon \;\;\;$.&#xA;  &lt;br&gt;&#xA;  $B$ uses less than $\hspace{.02 in}j$ random bits, has to handle insertions into and membership&#xA;  &lt;br&gt;&#xA;  testing for [a set with less than $q$ elements, each of which is an ordered pair whose&#xA;  &lt;br&gt;&#xA;  left entry is one of the inner algorithm's queries to $\:\operatorname{MAC}_k\:$ and whose right entry is&#xA;  &lt;br&gt;&#xA;  $\operatorname{MAC}_k\hspace{-0.02 in}$'s$\:$ response to that query], and has only trivial additional complexity beyond that.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Clearly, &quot;ignore the $\operatorname{Verif}_k$ oracle&quot; is a constructive straight-line reduction from succeeding&#xA;&lt;br&gt;&#xA;in the strong unforgeability version of the book's experiment to succeeding in the strong unforgeability version your experiment, and that reduction is almost perfectly tight.&#xA;&lt;br&gt;&lt;br&gt;&lt;br&gt;&#xA;Therefore the strong unforgeability version of your definition gives the same&#xA;&lt;br&gt;&#xA;asymptotic MACs as the strong unforgeability version the book's experiment.&#xA;&lt;br&gt;&lt;br&gt;&lt;/p&gt;&#xA;" OwnerDisplayName="user6973" LastEditorUserId="-1" LastEditDate="2017-04-13T12:48:17.970" LastActivityDate="2014-03-27T19:44:56.577" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20954" PostTypeId="2" ParentId="20894" CreationDate="2014-02-09T00:43:54.443" Score="5" Body="&lt;p&gt;I think that - &lt;em&gt;independently from the P vs NP question&lt;/em&gt; - the &lt;a href=&quot;http://en.wikipedia.org/wiki/Cook%27s_theorem&quot;&gt;Cook-Levin theorem&lt;/a&gt; (and the related notion of NP-completeness)  is another very good candidate; if you have an (efficient) solver for SAT then you have an (efficient) solver for any problem in NP .... and you can end up with something astonishing at least for me:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;solving $a x_1^2 + b x_2 + c = 0$ over non-negative integers variables;&lt;/li&gt;&#xA;&lt;li&gt;solving a Sudoku;&lt;/li&gt;&#xA;&lt;li&gt;finding an Hamiltonian path in a graph;&lt;/li&gt;&#xA;&lt;li&gt;solving a subset sum instance;&lt;/li&gt;&#xA;&lt;li&gt;and many other (real life) problems ...&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;are in some sense &quot;equivalent problems&quot;; so if your boss asks you to create a program for packing boxes into a container ... you can give him a Minesweeper solver ... :-) &lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2014-02-09T00:56:47.370" LastActivityDate="2014-02-09T00:56:47.370" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20955" PostTypeId="2" ParentId="20944" CreationDate="2014-02-09T02:58:32.423" Score="21" Body="&lt;p&gt;Frederickson and Johnson obtained an optimal result in the 80s. Let $p=\min(k,t)$, then there exist an algorithm solves your problem in $O(k+p \log \frac{t}{p})$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Reference&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;G.N. Frederickson, D.B. Johnson &quot;&lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/0022000082900484&quot;&gt;The complexity of selection and ranking in x+y and matrices with sorted columns&lt;/a&gt;&quot; &#xA;J. Comput. System Sci., 24 (2) (1982), pp. 197–208&lt;/p&gt;&#xA;" OwnerUserId="314" LastActivityDate="2014-02-09T02:58:32.423" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20956" PostTypeId="2" ParentId="20917" CreationDate="2014-02-09T09:01:25.777" Score="1" Body="&lt;p&gt;Indeed, one would like to construct features that make classes linearly separable. However, what patterns exactly should be linearly separable?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is easy to make patterns in training set linearly separable by greatly increasing feature space dimensionality. However, this will not necessarily imply good generalization (correct classification of new patterns).  Quite opposite, it can lead to overfitting. Thus, it is problematic to use the criterion of linear separability directly to select good nonlinear features for classification. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Deep learning networks adopt different approach. They try to select features with good generalization of patterns irrelative to the classification task. Thus, “useful” nonlinear features are selected without danger of overfitting. Indeed, it doesn’t necessarily ensure linear separability of classes, but it makes sense from induction point of view. If one extract statistically independent factors from initial features, in which these factors are mixed, it will be easier to solve any further classification task.&lt;/p&gt;&#xA;" OwnerUserId="21224" LastActivityDate="2014-02-09T09:01:25.777" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="20958" PostTypeId="2" ParentId="20917" CreationDate="2014-02-09T22:34:00.687" Score="1" Body="&lt;p&gt;Since each node in a neural network is a weighted linear threshold function, you can in fact view neural networks as mapping into a feature space where it then applies a linear separator, as follows. Consider the functions $g_1,\dotsc,g_k$ computed by the nodes just before the final output node. Here I'm assuming it's a binary classification task, so there's just one output node, but the general case is similar. Then the function $(x_1,\dotsc,x_n) \to (g_1(\vec{x}), \dotsc, g_k(\vec{x}))$ is a mapping into a feature space where the data is then linearly separable (by the final threshold gate).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Why is this useful, compared to the ways kernels are used in SVMs? Well, first of all, I think the features computed by neural networks are more general than the kernels people often use in practice, which come from a limited set of forms. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Second and more importantly, my guess would be that the reason it's useful is that it gives a principled, automatic way to generate the features. In the case of SVMs (if I understand correctly), you more or less have to guess a kernel based on your intuition, prior experience, trial and error, and luck. In the case of neural networks viewed as above, training the neural network builds the features for you.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As you said, the other nodes in the deep neural network - those that come before the penultimate layer of nodes $g_1,\dotsc,g_k$ - are not learning features that make the data linearly separable. I think their primary utility is in giving an automated way to represent and build the features $g_i$ that &lt;em&gt;will&lt;/em&gt; make the data linearly separable.&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2014-02-09T22:34:00.687" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20960" PostTypeId="2" ParentId="20930" CreationDate="2014-02-10T00:12:56.530" Score="9" Body="&lt;p&gt;Just a joke: after thinking about the &quot;SAT gravitational pull&quot; in the Scott Aaronson's nice answer, another metaphore came to my mind: the &lt;em&gt;3-SAT 2-SAT sandwich&lt;/em&gt; !&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/TDApg.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;br&gt;&lt;br&gt;&#xA;... but I don't know if the sandwich can be filled with natural ingredients (however I found that it could be filled with some $(2 + \frac{(\log n)^k}{n^2})$-SAT sauce [1] if the Exponential-Time Hypothesis is true) :-D &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another result in [1] is that it cannot be filled with $(2+1/n^{2−\epsilon}),0&amp;lt;\epsilon&amp;lt;2$ .&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0166218X0300194X&quot; rel=&quot;nofollow noreferrer&quot;&gt;Yunlei Zhao, Xiaotie Deng, C.H Lee, Hong Zhu, $(2+f(n))$-SAT and its properties&lt;/a&gt;, Discrete Applied Mathematics, Volume 136, Issue 1, 30 January 2004, Pages 3-11, ISSN 0166-218X.&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2014-03-14T10:09:27.397" LastActivityDate="2014-03-14T10:09:27.397" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="20961" PostTypeId="1" CreationDate="2014-02-10T05:38:18.733" Score="2" ViewCount="383" Body="&lt;p&gt;Several authors, starting with Slavik, have noted that the classical analysis of the set cover $H_n$ greedy algorithm does not readily extend to the set &lt;em&gt;partial cover&lt;/em&gt; problem, where the goal is to pick a minimum-cost family of sets to cover $p \cdot n$ of the $n$ elements, where $0&amp;lt;p&amp;lt;1$ is a constant. But it sure seems to!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Greedy: repeatedly choose the most cost-effective set, i.e., one minimizing $c(S)  /\min(|S-C|,pn-|C|)$, where $C$ is the set of elements covered so far.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;That is, the standard set cover greedy's cost-effectiveness definition is modified so that the benefit of a set is the min of # new elements and # of additional elements you still need to get.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then &lt;em&gt;it would seem&lt;/em&gt; that you can just say: number the elements $e_1,...,e_{pn}$ in order covered (ignoring any additional ones covered--we'll allocate all the costs to these first $pn$ elements), and argue that at the moment when greedy covers $e_k$, choosing all of $OPT$ would take care of your outstanding $\ge pn-k+1$ element needs, with cost per &quot;satisfied element need&quot; of at most $\alpha = OPT/(pn-k+1)$, so there's got to be a set that's at least that good, so greedy's going to choose one at least that good, which gives us a total bound of $OPT \sum_{i=1}^{pn} 1/(pn-k+1) = H_{pn} OPT$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But apparently this argument is flawed. How so?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Slivak writes in his thesis, &quot;Even though [the algorithms] are quite similar, it turns out that the approach used by Chvatal, Lovasz, or Johnson cannot be used to establish a reasonable bound on the performance [...]. The reasons are that only a fraction of points of the set $U$ are covered and that the part of $U$ covered by the optimum partial cover can be completely different from the part covered by the greedy cover. This makes the analysis of the performance bound [...] quite complicated.&quot;&#xA;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.17.5734&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;nofollow&quot;&gt;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.17.5734&amp;amp;rep=rep1&amp;amp;type=pdf&lt;/a&gt; And Kearns proved a $2H_n+3$ bound, and presumably not because he simply overlooked the obvious approach.)&lt;/p&gt;&#xA;" OwnerUserId="17099" LastEditorUserId="17099" LastEditDate="2014-02-12T05:32:11.433" LastActivityDate="2014-02-12T05:32:11.433" Title="Why doesn't the standard analysis of set cover $H_n$ greedy extend to partial cover?" Tags="&lt;ds.algorithms&gt;&lt;approximation-algorithms&gt;&lt;set-cover&gt;" AnswerCount="0" CommentCount="10" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="20962" PostTypeId="2" ParentId="20930" CreationDate="2014-02-10T09:47:30.477" Score="7" Body="&lt;p&gt;Here is a fairy tale about the Goldilocks structure of NP-intermediate&#xA;problems.  (Warning: this story may be a useful fallacy to generate&#xA;and test potential hypotheses, but is not meant to be scientifically&#xA;rigorous.  It relies on one part Exponential Time Hypothesis, a dash&#xA;of Kolmogorov complexity magic, some pieces borrowed from the theory&#xA;of SAT solving, and Terence Tao's heuristic trichotomy for problems.&#xA;Consume at own risk, as with all hand-waving concoctions about&#xA;mathematics.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If nearly all instances in a problem in NP are highly structured,&#xA;then the problem is actually in P.  The instances thus nearly all&#xA;contain a lot of redundancy, and a polynomial-time algorithm for the&#xA;problem is a way to factor out the redundancy.  It is even conceivable&#xA;that every problem in P can be obtained by taking some problem in EXP&#xA;and adding some structured redundancy, via some form of padding (not&#xA;necessarily the usual kind).  If this were so, then a polynomial-time&#xA;algorithm could be seen as an efficient way to undo that padding.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If there are enough instances that are not structured, forming a&#xA;&quot;core of hardness&quot;, then the problem is NP-complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, if this &quot;core of hardness&quot; is too sparse, then it only&#xA;has room to represent some of SAT, so the problem is in P or&#xA;NP-intermediate.  (This argument is the essence of Ladner's theorem).&#xA;To use Scott's analogy, the &quot;core of hardness&quot; exerts a gravitational&#xA;pull on the problem, toward it being NP-complete.  The instances in&#xA;the &quot;core of hardness&quot; do not contain much redundancy, and the only&#xA;realistic algorithm that works for all those instances is brute force&#xA;search (of course, if there are only finitely many, then table lookup&#xA;works, too).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;From this perspective, NP-intermediate problems should be rare&#xA;in practice, since they require a fine Goldilocks balance between&#xA;instances that are structured and unstructured.  Instances should have&#xA;enough redundancy that they are partially amenable to an algorithm,&#xA;but there should be enough of a core of hardness that the problem is&#xA;not in P.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;One can tell an even simpler (and amusing, but also potentially even&#xA;more misleading) story based on puzzles.  With just a few constraints,&#xA;one can force a lot of search to be done, for instance NxN Sudoku&#xA;is NP-complete.  Now consider being asked to solve lots of small&#xA;puzzles as a single instance, in one go (e.g. many 9x9 Sudokus).&#xA;The time taken is going to be roughly linear in the number of puzzles&#xA;in each instance, and this problem is then in P.  For intermediate&#xA;problems, one can think of each instance being a largish (but not&#xA;too large) number of Sudokus on largish (but not too large) grids.&#xA;The reason we don't observe many such problems is because they would be&#xA;dreary to pose and to solve!&lt;/p&gt;&#xA;" OwnerUserId="109" LastActivityDate="2014-02-10T09:47:30.477" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="20964" PostTypeId="1" AcceptedAnswerId="20966" CreationDate="2014-02-10T11:23:57.130" Score="1" ViewCount="347" Body="&lt;p&gt;Where I can find reference and documents on the work made for proving whether DLBA are equal NLBA nr not?&#xA;What is the underlying problem? Why it is still an open question in TCS? &lt;/p&gt;&#xA;" OwnerUserId="12832" LastActivityDate="2014-02-10T14:49:45.810" Title="On equivalence of NLBA and DLBA" Tags="&lt;automata-theory&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20965" PostTypeId="1" CreationDate="2014-02-10T14:40:29.383" Score="15" ViewCount="258" Body="&lt;p&gt;When we are given a tree decomposition of a graph $G$ with width $w$, there are several ways in which we can make it &quot;nice&quot;. In particular, it is known that it is possible to transform it into a tree decomposition where the tree is binary and its height is $O(\log n)$. This can be achieved while keeping the width of the decomposition at most $3w$. (See e.g. &quot;Parallel algorithms with optimal speedup for bounded treewidth&quot;, by Bodlaender and Hagerup). So, logarithmic depth is a property of a tree decomposition which we can get almost for free.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is if there exists a similar result for clique-width, or perhaps a counter-example. In other words, given a clique-width expression for $G$ using $k$ labels, does there always exist a clique-width expression of height $O(\log n)$ for $G$, that uses at most $f(k)$ labels? Here, the height is defined naturally as the height of the parse tree of the clique-width expression. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If a statement similar to the above is not known, is there an example of an $n$-vertex graph $G$ with small clique-width $k$, such that the only way to construct $G$ with $f(k)$ labels is to use an expression with large depth?&lt;/p&gt;&#xA;" OwnerUserId="3168" LastActivityDate="2014-12-05T13:38:11.000" Title="Clique-width expressions with logarithmic depth" Tags="&lt;treewidth&gt;&lt;parameterized-complexity&gt;&lt;fixed-parameter-tractable&gt;&lt;cliquewidth&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="20966" PostTypeId="2" ParentId="20964" CreationDate="2014-02-10T14:49:45.810" Score="3" Body="&lt;p&gt;The 1998 chapter about the second LBA Problem, from &lt;a href=&quot;http://link.springer.com/chapter/10.1007/978-3-642-60322-8_5#page-1&quot; rel=&quot;nofollow noreferrer&quot;&gt;Schöning and Pruim Gems of TCS&lt;/a&gt; mentions the first LBA problem.&#xA;The chapter does not say much more than the &lt;a href=&quot;http://en.wikipedia.org/wiki/Linear_bounded_automaton&quot; rel=&quot;nofollow noreferrer&quot;&gt;wikipedia article&lt;/a&gt; though, apart from mentioning the related Savitch's theorem, whose optimality is a notorious &lt;a href=&quot;https://cstheory.stackexchange.com/questions/2426/tight-lower-bounds-on-savitchs-theorem&quot;&gt;open question&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Perhaps by looking at papers quoting the Kuroda or Savitch paper you could get a picture of recent results in the field?&lt;/p&gt;&#xA;" OwnerUserId="20726" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2014-02-10T14:49:45.810" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20967" PostTypeId="1" CreationDate="2014-02-10T15:10:23.313" Score="6" ViewCount="202" Body="&lt;p&gt;I am concerned about the  following question, consider&#xA;$P_n(x)= \sum_{i=0}^n \frac{x^n}{n!}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a straight line program (or arithmetic circuits) of polynomial size (wrt $n$) for the  polynomial $P_{2^n}(x)$? The difficulty seems to lie in the factorial, as for example the polynomial $x^{2^n}$ has a polynomial size arithmetic circuit (by repeated squaring). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Sorry in my previous post I did not make the question clear, as it would become a very simple question. &lt;/p&gt;&#xA;" OwnerUserId="21036" LastEditorUserId="21036" LastEditDate="2014-02-10T15:32:37.250" LastActivityDate="2014-02-11T09:45:16.557" Title="arithmetic circuits for polynomials (updated)" Tags="&lt;cc.complexity-theory&gt;&lt;arithmetic-circuits&gt;" AnswerCount="1" CommentCount="10" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="20970" PostTypeId="2" ParentId="20930" CreationDate="2014-02-10T19:02:23.533" Score="2" Body="&lt;p&gt;Several answers pointed out that the premise of my question (the relative scarcity of natural $\mathsf{NPI}$-candidates) might be questionable. After some thinking, I must accept that they indeed have a point. In fact, one can even go as far as to make the case that there are actually &lt;em&gt; more &lt;/em&gt; natural $\mathsf{NPI}$ candidates than natural $\mathsf{NP}$-complete problems.  The argument could go as follows.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider the LOGCLIQUE problem, which aims at deciding whether an $n$-vertex input graph has a clique of size $\geq \log n$. This is a natural $\mathsf{NPI}$ candidate. Now, the same type of &quot;scaling down&quot; can be carried out on &lt;em&gt; any &lt;/em&gt; $\mathsf{NP}$-complete problem. Simply replace the question &quot;does the input string $x$ have a property $Q$?&quot; by the  scaled down question &quot;does $x$ have a logarithmically  sized substring that has property $Q$?&quot; (We may restrict ourselves only to those substrings that represent the appropriate type of structure, such as subgraphs etc.) &#xA;Arguably, if the original problem was natural, the scaling down does not change this, since we only alter the size of what is sought for. The resulting problem will be an $\mathsf{NPI}$ candidate, since it is solvable in quasi-polynomial time, but still unlikely to fall into $\mathsf{P}$, as the mere size restriction probably does not introduce new structure.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This way, we can construct a natural $\mathsf{NPI}$ candidate for &lt;em&gt; every &lt;/em&gt; natural $\mathsf{NP}$-complete problem. Additionally, there are also generic candidates that do not arise via scaling down, such as Graph Isomorphism, Factoring etc. Thus, one can indeed make the case that &quot;natural-$\mathsf{NPI}$&quot; is actually more populous than &quot;natural $\mathsf{NPC}$.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course, this scaling down process, using Scott's nice metaphor, gives an obvious reason for resisting the &quot;gravitational pull&quot; of SAT. While there are papers published about LOGCLIQUE and similar problems, they did not draw too much attention, as these problems are less exciting than the the generic  $\mathsf{NPI}$ candidates, where there is no clear understanding of how the gravitational pull is resisted, without falling into $\mathsf{P}$.&lt;/p&gt;&#xA;" OwnerUserId="12710" LastActivityDate="2014-02-10T19:02:23.533" CommentCount="15" ContentLicense="CC BY-SA 3.0" />
  <row Id="20972" PostTypeId="1" AcceptedAnswerId="20974" CreationDate="2014-02-10T20:56:00.247" Score="4" ViewCount="335" Body="&lt;p&gt;I'm working on my thesis dealing with pathfinding over Delaunay triangulations. I have an algorithm that has running time in time proportional to the degree of a vertex. Are there any properties or upper bounds on the degree of vertices in a Delaunay (or Constrained Delaunay) triangulation?&lt;/p&gt;&#xA;" OwnerUserId="21347" LastActivityDate="2014-02-11T12:54:45.940" Title="Properties about verticies in Delaunay Triangulations" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;delaunay-triangulation&gt;" AnswerCount="2" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="20973" PostTypeId="2" ParentId="20972" CreationDate="2014-02-10T21:42:42.110" Score="2" Body="&lt;p&gt;Here's a theta bound on the expected value of the maximum degree of any vertex in a DT:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\Theta (\log n / \log \log n)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here's the paper: &lt;a href=&quot;http://www.ics.uci.edu/~eppstein/pubs/BerEppYao-IJCGA-91.pdf&quot; rel=&quot;nofollow&quot;&gt;http://www.ics.uci.edu/~eppstein/pubs/BerEppYao-IJCGA-91.pdf&lt;/a&gt;. If anyone else finds other properties, let me know!&lt;/p&gt;&#xA;" OwnerUserId="21347" LastEditorUserId="21347" LastEditDate="2014-02-10T21:59:41.097" LastActivityDate="2014-02-10T21:59:41.097" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20974" PostTypeId="2" ParentId="20972" CreationDate="2014-02-11T00:23:37.320" Score="5" Body="&lt;p&gt;(In 2-space,) a Delaunay triangulation is a planar graph. &lt;a href=&quot;http://en.wikipedia.org/wiki/Planar_graph#Average_degree&quot; rel=&quot;nofollow&quot;&gt;All planar graphs have average degree at most 6&lt;/a&gt;. So, many (all?) operations that depend on vertex degree of a Delaunay triangulation will run in $O(1)$ expected time.&lt;/p&gt;&#xA;" OwnerUserId="108" LastEditorUserId="108" LastEditDate="2014-02-11T12:54:45.940" LastActivityDate="2014-02-11T12:54:45.940" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="20975" PostTypeId="1" CreationDate="2014-02-11T02:13:36.343" Score="1" ViewCount="53" Body="&lt;p&gt;I'm using a triangulation library to compute the Constrained Delaunay Triangulation of a set of rectangles within some large boundary. The algorithm returns all the edges, but also adds edges inside of the rectangles that define the constraints. I want to be able to find if an edge lies inside of a rectangle in O(1) time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here's a more general description of the problem I want to solve. Given a set of nonoverlapping rectangles (the borders of the rectangles may touch) and an edge e with endpoints (x1,y1) and (x2, y2), find in O(1) time if e lies within any of the rectangles (including the border). &lt;/p&gt;&#xA;" OwnerUserId="21347" LastActivityDate="2014-02-11T02:13:36.343" Title="Finding if an edge lies within a set of disjoint rectangles" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;cg.comp-geom&gt;&lt;delaunay-triangulation&gt;" AnswerCount="0" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="20976" PostTypeId="1" CreationDate="2014-02-11T05:01:27.203" Score="1" ViewCount="106" Body="&lt;p&gt;I wish to construct an unweighted, undirected graph on $n$ nodes that maximizes the number of minimal cycles of size $\ge k$.  What is known about this problem?  How many cycles can I squeeze in?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Additionally, how does the problem change if I require that my graph has $\ge m$ edges?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Clarification: I care purely about the &lt;em&gt;existence&lt;/em&gt; of a many-cycled graph; it doesn't need to be efficiently constructable.&lt;/p&gt;&#xA;" OwnerUserId="11051" LastActivityDate="2014-02-12T00:43:53.607" Title="How many minimal $k$-cycles can you put in a graph?" Tags="&lt;graph-theory&gt;" AnswerCount="1" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="20978" PostTypeId="1" AcceptedAnswerId="20980" CreationDate="2014-02-11T06:02:46.037" Score="32" ViewCount="5219" Body="&lt;p&gt;I know that the halting problem is undecidable in general but there are some Turing machines that obviously halt and some that obviously don't. Out of all possible turing machines what is the smallest one where nobody has a proof whether it halts or not?&lt;/p&gt;&#xA;" OwnerUserId="21538" LastActivityDate="2014-02-12T11:11:25.107" Title="What is the smallest Turing machine where it is unknown if it halts or not?" Tags="&lt;halting-problem&gt;" AnswerCount="4" CommentCount="5" FavoriteCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="20979" PostTypeId="2" ParentId="20978" CreationDate="2014-02-11T07:35:01.803" Score="4" Body="&lt;p&gt;No one has a proof whether Universal Turing machine halts or not. In fact, such proof is impossible as a result of the undecidability of the the Halting problem . The &lt;a href=&quot;http://en.wikipedia.org/wiki/Wolfram%27s_2-state_3-symbol_Turing_machine&quot; rel=&quot;nofollow noreferrer&quot;&gt;smallest is a 2-state 3-symbol universal Turing&lt;/a&gt; machine which was found by Alex Smith for which he won a prize of $25,000.&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2014-02-11T08:02:02.790" LastActivityDate="2014-02-11T08:02:02.790" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="20980" PostTypeId="2" ParentId="20978" CreationDate="2014-02-11T08:18:55.870" Score="37" Body="&lt;p&gt;The largest Turing machines for which the halting problem is decidable are: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$TM(2,3), TM(2,2), TM(3,2)$ (where $TM(k,l)$ is the set of Turing machines with $k$ states and $l$ symbols).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The decidability of $TM(2,4)$ and $TM(3,3)$ is on the boundary and it is difficult to settle because it depends on the Collatz conjecture which is an open problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See also &lt;a href=&quot;https://cstheory.stackexchange.com/questions/11611/what-is-the-nearest-problem-to-the-collatz-conjecture-that-has-been-successful&quot;&gt;my answer on cstheory about Collatz-like Turing machines&lt;/a&gt; and &quot;&lt;a href=&quot;http://www.dm.unito.it/~cerruti/ac/paperpm1.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Small Turing machines and generalized busy beaver competition&lt;/a&gt;&quot; by P. Michel (2004) (in which it is conjectured that $TM(4,2)$ is also decidable).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Kaveh's comment and Mohammad's answer are correct, so for a formal definition of the standard/non-standard Turing machines used in this kind of results see Turlough Neary and Damien Woods works on small universal Turing machines, e.g. &lt;a href=&quot;http://arxiv.org/abs/1110.2230&quot; rel=&quot;nofollow noreferrer&quot;&gt;The complexity of small universal Turing machines: a survey&lt;/a&gt; (Rule 110 TMs are weakly universal).&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2014-02-12T11:11:25.107" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="20981" PostTypeId="2" ParentId="20967" CreationDate="2014-02-11T09:45:16.557" Score="7" Body="&lt;p&gt;I assume that you mean $P_n(x)= \sum_{i=0}^n \frac{x^i}{i!}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Peter Bürgisser shows that if this problem is hard, then computing the permanent&#xA;is hard (&lt;a href=&quot;http://link.springer.com/article/10.1007/s00037-009-0260-x&quot;&gt;http://link.springer.com/article/10.1007/s00037-009-0260-x&lt;/a&gt;).&#xA;To my best knowledge, your problem is open.&lt;/p&gt;&#xA;" OwnerUserId="6456" LastActivityDate="2014-02-11T09:45:16.557" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="20983" PostTypeId="2" ParentId="8982" CreationDate="2014-02-11T12:49:52.900" Score="6" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;1/ Then he goes on defining Q as being states of the computation. What exactly are states of computations?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Q consists of the input $I$, output $\Omega$, and all the intermediate &quot;states&quot; or values during the computation. (it will be clear in the Euclid example.)&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;2/ The Euclid algorithm on page 22 is formalized in the defined computational method, but if Q is made up of (m,n), (n), (m,n,r,1), (m,n,r,2) and (m,n,p,3) are those the states of computation and how do you come up with them? and how does one recognize them from an algorithm. more precisely, how do you translate a given algorithm into the given computational method?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Yes, those are the states of computation. Note that the input $I$ consists of all pairs of $(m,n)$, which can be seen as the initial state, and $\Omega$ consists of all singleton $(n)$, which is the output and final computation state. The quadruples ends with 1,2,3 define various states of the computation and how $f$ maps each of those states corresponds to the various steps of the Euclid's algorithm as he described earlier in the book.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now let's run through the steps.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;$f((m,n)) = (m,n,0,1);$&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;this just says that given an initial input of (m,n), the algorithm will transform into &quot;state #1&quot; of the computation. How $f$ handles state #1 is defined below. Note that the value 0 here is simply a placeholder, because the 3rd value in the quadruple is ignored in &quot;state #1&quot;.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;$f((n)) = (n);$&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;given a singleton (only obtained as the final result), it is mapped to itself, which indicates the termination of the computation.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;$f((m,n,r,1)) = (m, n, m\bmod n, 2);$&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;this is the first step of the Euclid's algorithm. Given $(m, n)$ (note, value $r$ is ignored here.), compute the remainder of $m$ divided by $n$ and this new state will be mapped as follows:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;$f((m,n,r,2)) = (n)$ if $r = 0$, $(m,n,r,3)$ otherwise;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;note the $r$ is the remainder computed in the 1st step. If $r=0$, then this state is mapped to the singleton $(n)$, which indicates the termination of the algorithm because $(n) \in \Omega$, which means $f((n)) = (n)$. Else, it's mapped to another state and how $f$ handles this state is defined below:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;$f((m,n,p,3)) = (n,p,p,1)$&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Here $p$ gets the value of $r$ from the previous step. $p$ is introduced because $p &amp;gt;0$ as opposed to $r&amp;gt;=0$. This is the final step in Euclid where $m\gets n, n\gets r$, and a new state is produced with those values and f will handle this state according to &quot;state rule #1&quot; as defined earlier (basically computation returns to step 1).&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;3/ How are the values of f deduced from the algorithm?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I guess you mean the final output, which is $(n)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;hopefully this helps!&lt;/p&gt;&#xA;" OwnerDisplayName="user21541" LastEditorDisplayName="user21541" LastEditDate="2014-02-16T02:43:19.893" LastActivityDate="2014-02-16T02:43:19.893" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="20984" PostTypeId="2" ParentId="20978" CreationDate="2014-02-11T13:00:57.257" Score="32" Body="&lt;p&gt;I would like to add that there are some Turing Machines for which the Halting problem is independent of ZFC.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For instance take a Turing machine which looks for a proof of contradiction in ZFC. Then if ZFC is consistent, it won't halt, but you cannot prove it in ZFC (because of Gödel's second incompleteness theorem).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So it is not only a matter of not having found a proof yet, sometimes proofs don't even exist.&lt;/p&gt;&#xA;" OwnerUserId="8953" LastEditorUserId="8953" LastEditDate="2014-02-11T17:39:33.880" LastActivityDate="2014-02-11T17:39:33.880" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="20985" PostTypeId="1" AcceptedAnswerId="21035" CreationDate="2014-02-11T13:43:38.970" Score="5" ViewCount="146" Body="&lt;p&gt;Given a random instance $I_m = I_m(n,k)$ of $k$-SAT with $n$ variables and $m$ clauses, what's the probability $I_m$ is satisfiable?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's believed that there's a threshold above which satisfiability becomes less likely as $m/n$ increases. The reverse is true as $m/n$ decreases.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there an empirical formula for $3$-SAT and other $k$'s that describe the rate at which satisfiability becomes more/less likely as you move away from the threshold?&lt;/p&gt;&#xA;" OwnerUserId="21542" LastEditorUserId="8936" LastEditDate="2014-02-11T20:31:31.177" LastActivityDate="2014-02-13T22:12:21.340" Title="Empirical probability of k-SAT satisfiability" Tags="&lt;random-k-sat&gt;" AnswerCount="1" CommentCount="6" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="20986" PostTypeId="1" CreationDate="2014-02-11T14:04:20.030" Score="4" ViewCount="116" Body="&lt;p&gt;Assume a family of $n\times n$ integer matrices $\{M_a \mid a\in A\}$ for some finite set $A$, I want to decide whether for given vectors $\alpha$ and $\beta$, &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\alpha M(w) \beta=0$ for &lt;strong&gt;all&lt;/strong&gt; $w\in A^{\leq n}$. Here $M(w)= M_{a_1}\cdot M_{a_2}\cdots M_{a_m}$ when $w=a_1\cdots a_m$, and $A^{\leq n}$ denotes the set of words over $A$ whose length is less than $n$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think this problem can be reduced to polynomial identity testing and has an RNC algorithm. But is there a better upper-bound or any nontrivial lower-bound?   &lt;/p&gt;&#xA;" OwnerUserId="21544" LastActivityDate="2014-02-11T14:04:20.030" Title="Complexity of a variant of matrix multiplication" Tags="&lt;cc.complexity-theory&gt;&lt;matrix-product&gt;" AnswerCount="0" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="20987" PostTypeId="2" ParentId="5473" CreationDate="2014-02-11T15:48:45.890" Score="2" Body="&lt;p&gt;The feedback vertex set problem (FVS) can be solved by dynamic programming on graph decompositions.&#xA;As mentioned in another reply was treewidth, the standard algorithm gives $tw^{tw} poly(n)$, but a more involved result gives a $c^{tw}poly(n)$ algorithm.&#xA;The problem with this is that we don't know many graph classes which have logarithmic tree-width hence this does not often lead to polynomial algorithms.&#xA;To solve FVS on a tree-decomposition we store a table of different subsolutions where each partition of a bag can represent a partial solution.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We extended the standard algorithm to clique-width in this article&#xA;&lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0195669812001497&quot; rel=&quot;nofollow&quot;&gt;Feedback vertex set on graphs of low clique-width&lt;/a&gt;.&#xA;Although there are many graphs with low clique-width which does not have bounded treewidth, many of the well studied graphclasses have unbounded clique-width.&#xA;For clique-width we have an expectation of size $cw$ promising us that the partial solution union the expectation induces at most cw components, and for each of these cw components we have at most $3^{cw}$ different sets representing partial solutions (can be slightly improved to obtain a $cw^{cw}poly(n)$ runningtime.&#xA;The problem with clique-width is that we can not compute good clique-decompositions fast enough.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The result can be extended to a new parameter called Maximum Induced Matching width (MIM-width), see &lt;a href=&quot;http://www.ii.uib.no/~martinv/Papers/MartinThesis.pdf&quot; rel=&quot;nofollow&quot;&gt;My Thesis&lt;/a&gt; where it is introduced.&#xA;Given a decomposition of MIM-width $mim$ we need a expectation of size $mim$ (at most $n^{mim}$ choices of expectation).&#xA;For each of the components in the solution union the expectation we need to store which vertices has 1 neighbour in the partial solution and which vertices has at least 2 neighbours in the partial solution, which is similar to what we did in &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0304397513000595&quot; rel=&quot;nofollow&quot;&gt;Fast FPT algorithms for vertex subset and vertex partitioning problems using unions of neighbourhoods&lt;/a&gt;.&#xA;In total this leads to a $n^{O(mim^2)}poly(n)$ time algorithm.&#xA;This result is not published.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Combining the results with the results of &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0304397513000613&quot; rel=&quot;nofollow&quot;&gt;Graph classes with structured neighborhoods and algorithmic applications&lt;/a&gt; saying that many graphclasses have constant MIM-width and such decompositions can be found, we get the following result:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The feedback vertex set problem can be solved in polynomial time on:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Interval graphs (&lt;a href=&quot;http://www2.research.att.com/~mgcr/doc/sfsp.pdf&quot; rel=&quot;nofollow&quot;&gt;Festa et al&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;li&gt;Circular arc graphs&lt;/li&gt;&#xA;&lt;li&gt;Circular permutation graphs&lt;/li&gt;&#xA;&lt;li&gt;trapezoid graphs&lt;/li&gt;&#xA;&lt;li&gt;convex graphs (known from &lt;a href=&quot;http://www2.research.att.com/~mgcr/doc/sfsp.pdf&quot; rel=&quot;nofollow&quot;&gt;Festa et al&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;li&gt;Dilworth $k$ graphs&lt;/li&gt;&#xA;&lt;li&gt;$k$ polygon graphs&lt;/li&gt;&#xA;&lt;li&gt;bi-interval graphs&lt;/li&gt;&#xA;&lt;li&gt;complements of $k$-degenerate graphs&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;In addition we have:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Graphs with FVS of size $O(log n)$&#xA;Cao, Yixin; Chen, Jianer; Liu, Yang (2010), &lt;a href=&quot;http://link.springer.com/chapter/10.1007%2F978-3-642-13731-0_10&quot; rel=&quot;nofollow&quot;&gt;On Feedback Vertex Set: New Measure and New Structures&lt;/a&gt;, &quot;SWAT 2010&quot;, LNCS 6139: 93–104. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$k K_2$-free graphs, an easy consequence of Belas and Yu is that there are polynomially many FVS's in such graphs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Chordal graphs&#xA;&lt;a href=&quot;http://www2.research.att.com/~mgcr/doc/sfsp.pdf&quot; rel=&quot;nofollow&quot;&gt;Festa, P.; Pardalos, P. M.; Resende, M.G.C. (2000)&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Possibly Graphs of degree at most 3, see cstheory.stackexchange questions 12712 is-feedback-vertex-set-problem-is-solvable-in-polynomial-time-for-3-degree-bound&lt;/p&gt;&#xA;" OwnerUserId="8936" LastEditorUserId="8936" LastEditDate="2014-02-11T16:11:29.837" LastActivityDate="2014-02-11T16:11:29.837" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="20988" PostTypeId="1" CreationDate="2014-02-11T16:10:21.433" Score="0" ViewCount="440" Body="&lt;p&gt;I'm using a triangulation library to compute the Constrained Delaunay Triangulation of a set of rectangles within some large boundary. The algorithm returns all the edges, but also adds edges inside of the rectangles that define the constraints.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I want to be able to create a graph without the edges within any of the rectangles that are the constraints (with the exception of the large boundary of course) but removing these edges in the triangulation that is given to me takes longer than O(nlog(n)) time at least and that's not good for what I need.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What I'm asking is, is there any quick way to get a CDT to keep edges from appearing within some polygon? I want the rectangles to be empty of edges but I'm not sure how to quickly do that.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In case this helps, the library I'm using is TriPath by Marcello Kallmann (&lt;a href=&quot;http://graphics.ucmerced.edu/software/tripath/&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://graphics.ucmerced.edu/software/tripath/&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here's an image to help you visualize what I'm trying to describe. This CDT is built with the black lines being constraints. As you can see, each constrained edge is part of a rectangle. The blue lines are unconstrained Delaunay edges. I am trying to remove any blue unconstrained Delaunay edges from within the black constrained rectangles.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.imgur.com/qfiwW3p.png?1&quot; alt=&quot;CDT with edges in rectangles&quot;&gt;&lt;/p&gt;&#xA;" OwnerUserId="21347" LastEditorUserId="21347" LastEditDate="2014-02-11T17:33:41.117" LastActivityDate="2014-02-11T17:33:41.117" Title="Rectangular constraints in Delaunay Triangulation without edges within" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;planar-graphs&gt;&lt;delaunay-triangulation&gt;&lt;computational-geometry&gt;" AnswerCount="0" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="20989" PostTypeId="1" AcceptedAnswerId="20991" CreationDate="2014-02-11T16:10:52.023" Score="16" ViewCount="1760" Body="&lt;p&gt;I'm looking for problems which are known to be NPC for directed graphs but has a polynomial algorithm for undirected graphs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I've seen the question regarding the other way around here &lt;a href=&quot;https://cstheory.stackexchange.com/questions/9257/directed-problems-that-are-easier-than-their-undirected-variant&quot;&gt;“Directed” problems that are easier than their “undirected” variant&lt;/a&gt;, but I'm looking for for hardness on the directed side.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, &lt;a href=&quot;http://www8.cs.umu.se/kurser/TDBA77/VT06/algorithms/BOOK/BOOK4/NODE182.HTM&quot; rel=&quot;nofollow noreferrer&quot;&gt;Feedback edge set&lt;/a&gt; is known to be NPC on directed but polynomial time solvable on undirected graphs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Which other &lt;strong&gt;natural&lt;/strong&gt; problems have the same property?&lt;/p&gt;&#xA;" OwnerUserId="21001" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2014-02-12T00:38:22.880" Title="Graph problems which are NP-Complete on directed graphs but polynomial on undirected graphs" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;np-hardness&gt;" AnswerCount="4" CommentCount="1" FavoriteCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="20990" PostTypeId="1" CreationDate="2014-02-11T16:32:33.967" Score="3" ViewCount="110" Body="&lt;p&gt;A 2-factor of graph $G(V, E)$ is a set of vertex-disjoint cycles that cover $V$. It is &lt;a href=&quot;http://en.wikipedia.org/wiki/Petersen&amp;#39;s_theorem&quot; rel=&quot;nofollow noreferrer&quot;&gt;known&lt;/a&gt; that every connected bridgeless cubic graph contains a 2-factor (and a disjoint perfect matching). I'm interested in the computational properties of 2-factors in connected bridgeless cubic graphs. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are two parameters of two-factor: the number of disjoint-cycles and the size of each cycle. It seems that restricting cycles sizes and/or the number of cycles in the 2-factor makes the following decision problem $NP$-complete. The problem is to decide the existence of restricted 2-factor in the specified class of graphs. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Restricted 2-factor problem&lt;/strong&gt;:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Input&lt;/strong&gt;: connected bridgeless cubic graph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Output&lt;/strong&gt;: Decide whether there is a 2-factor such that forbidden lengths of the cycles of the 2-factor form a proper non-empty subset of $N=\{5, 6, 7, ..., |V|\}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Such decomposition must partition the class of connected bridgeless cubic graphs into two infinite sets. That means, there is infinite set of connected bridgeless cubic graphs with such restricted 2-factor and infinite set not satisfying the above property. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I conjecture that deciding the existence of such restricted 2-factor in connected bridgeless cubic graph is $NP$-complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am aware of several $NP$-complete decomposition problems with restricted 2-factor in connected bridgeless cubic graphs that support the conjecture. For instance, Deciding the existence of connected 2-factor, even 2-factor, and odd 2-factor are all $NP$-complete problems. In general graphs,  &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/0012365X80900023&quot; rel=&quot;nofollow noreferrer&quot;&gt;Papadimitriou&lt;/a&gt; showed that deciding the existence of $C_k$-free 2-factor is $NP$-complete when $k \ge 5$  (A 2-factor is $C_k$-free if it contains no cycles of length $k$ or less). Also, deciding the existence of $C_4$-free 2-factor is an open problem.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there a counter-example to the conjecture? &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;A counter-example is a polynomial-time solvable decomposition decision problem where the forbidden lengths of the 2-factor cycles form a proper non-empty subset of $N=\{5, 6, 7, ..., |V| \}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is motivated by my post on &lt;a href=&quot;https://cs.stackexchange.com/questions/20203/intractable-properties-of-two-factor-in-connected-bridgeless-cubic-graphs&quot;&gt;CS SE&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="-1" LastEditDate="2017-04-13T12:48:30.830" LastActivityDate="2017-04-03T21:23:09.263" Title="Intractability of restricted decomposition of connected bridgeless cubic graphs" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;" AnswerCount="0" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="20991" PostTypeId="2" ParentId="20989" CreationDate="2014-02-11T16:34:17.480" Score="18" Body="&lt;p&gt;The first problem comes to my mind is the 2-path problem (or more generally k-path problem). Given $(s_1,t_1)$ and $(s_2,t_2)$, find two disjoint paths from $s_1$ to $t_1$ and $s_2$ to $t_2$, respectively. The problem is NPC for directed graphs but polynomial-time solvable for undirected graphs (although not trivial).&lt;/p&gt;&#xA;" OwnerUserId="20839" LastActivityDate="2014-02-11T16:34:17.480" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="20992" PostTypeId="2" ParentId="20989" CreationDate="2014-02-11T16:40:58.740" Score="3" Body="&lt;p&gt;In the Path Coloring problem we are given a tree T and a collection of paths on that tree (the idea is that T is a communication network and the paths are communication requests). We want to color the paths with a minimum number of colors so that two paths that share an edge take distinct colors.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This problem is known to be polynomial-time solvable if T is a bounded-degree undirected tree. It is however NP-complete if T is a bi-directed binary tree. I believe both results are given in the paper below.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] T. Erlebach and K. Jansen. &quot;The complexity of path coloring and call&#xA;scheduling&quot;. Theoretical Computer Science, 255(1-2):33–50, 2001.&lt;/p&gt;&#xA;" OwnerUserId="3168" LastActivityDate="2014-02-11T16:40:58.740" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20993" PostTypeId="1" AcceptedAnswerId="21266" CreationDate="2014-02-11T17:12:18.547" Score="8" ViewCount="314" Body="&lt;p&gt;Is there a natural $\mathsf{NP}$-complete graph problem, which remains $\mathsf{NP}$-complete even when it is restricted to &lt;em&gt; any &lt;/em&gt; polynomial-time recognizable graph class? To avoid degenerated cases, let us consider only &lt;em&gt; dense &lt;/em&gt; graph classes, in which   the number of non-isomorphic $\leq n$-vertex graphs grows exponentially with $n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt; Notes: &lt;/em&gt; &lt;/p&gt;&#xA;&#xA;&lt;p&gt;(1) Both a &quot;yes&quot; or a &quot;no&quot; answer would be quite interesting. If the answer is yes, then we would have a natural  $\mathsf{NP}$-complete graph property that could be called &lt;em&gt; universally hard, &lt;/em&gt; because it preserves hardness even when  restricted to any reasonable graph class.  If the answer is no, it would mean that every natural $\mathsf{NP}$-complete graph property can be made easy on some nontrivial graph class. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;(2) It is important to consider only polynomial-time recognizable graph classes, to exclude that the hardness of the property is simply shifted to the class.&#xA;For example, 3-COLORABILITY becomes trivial when restricted  to 3-colorable graphs.&lt;/p&gt;&#xA;" OwnerUserId="12710" LastActivityDate="2014-02-27T04:27:20.833" Title="Can a natural graph problem be universally hard?" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;np-complete&gt;&lt;graph-classes&gt;" AnswerCount="1" CommentCount="10" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="20994" PostTypeId="2" ParentId="20587" CreationDate="2014-02-11T19:42:13.897" Score="9" Body="&lt;p&gt;Take some relations $R_0\subseteq A_0\times A_1$, $R_1\subseteq A_1\times A_2$. Let $\pi_1:R_0\to A_1$, $\pi_0:R_1\to A_1$ be projections with domains restricted to relations $R_0$, $R_1$. Then the pullback of $\pi_0$, $\pi_1$ is the join of $R_0$ and $R_1$ in the SQL sense.&lt;/p&gt;&#xA;" OwnerUserId="1720" LastActivityDate="2014-02-11T19:42:13.897" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20995" PostTypeId="1" AcceptedAnswerId="20998" CreationDate="2014-02-11T20:15:54.380" Score="2" ViewCount="94" Body="&lt;p&gt;(CSP = &quot;constraint satisfaction problem&quot;)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;CSPs for which either the variables are restricted to less than two values or the constraints&#xA;&lt;br&gt;take less than two inputs are obviously trivial, and &lt;a href=&quot;http://en.wikipedia.org/wiki/Schaefer%27s_dichotomy_theorem&quot; rel=&quot;nofollow&quot;&gt;Schaefer's dichotomy theorem&lt;/a&gt;&#xA;&lt;br&gt;&#xA;gives the complete situation for variables with two possible values.&#xA;&lt;br&gt;&#xA;How hard is it to solve CSPs with 2-variable constraints&#xA;&lt;br&gt;&#xA;but variables that can take more than two values?&lt;/p&gt;&#xA;" OwnerDisplayName="user6973" LastActivityDate="2014-02-11T23:32:13.240" Title="complexity of CSPs with 2-variable constraints and multi-valued variables" Tags="&lt;np-hardness&gt;" AnswerCount="2" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20996" PostTypeId="2" ParentId="20587" CreationDate="2014-02-11T20:52:37.707" Score="5" Body="&lt;p&gt;In &lt;a href=&quot;http://math.mit.edu/~dspivak/CT4S.pdf&quot; rel=&quot;noreferrer&quot;&gt;Spivak's book&lt;/a&gt; on page 192 he gives an example of using colimits to create &lt;a href=&quot;http://en.wikipedia.org/wiki/Transit_map&quot; rel=&quot;noreferrer&quot;&gt;transit maps&lt;/a&gt;. Also, his Application 5.2.1.2 discusses applying &lt;a href=&quot;http://www.liquibase.org/&quot; rel=&quot;noreferrer&quot;&gt;Liquibase&lt;/a&gt; like patches to a database schema over time then using the colimits to reason between old and new data in universal manner.&lt;/p&gt;&#xA;" OwnerUserId="2021" LastActivityDate="2014-02-11T20:52:37.707" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20997" PostTypeId="2" ParentId="20989" CreationDate="2014-02-11T21:49:50.620" Score="10" Body="&lt;p&gt;Deciding the existence of 3-cycle cover is &lt;a href=&quot;http://wwwhome.math.utwente.nl/~mantheyb/conferences/APPROX2002_BlaeserManthey_3CycleCovers.pdf&quot;&gt;$NP$-complete&lt;/a&gt; on directed graphs while it is polynomial time solvable on undirected graphs by a reduction to perfect matching.&lt;/p&gt;&#xA;" OwnerUserId="495" LastActivityDate="2014-02-11T21:49:50.620" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20998" PostTypeId="2" ParentId="20995" CreationDate="2014-02-11T21:52:56.900" Score="4" Body="&lt;p&gt;With 3 values and binary relations, the CSP is still NP-complete (it is denoted with (3,2)-CSP). A quick reduction is from graph coloring:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;add a variable $x_i \in \{1,2,3\}$ for each node; then for each edge $(x_i,x_j)$ add the constraint $x_i \neq x_j$&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2014-02-11T23:28:50.710" LastActivityDate="2014-02-11T23:28:50.710" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="20999" PostTypeId="1" CreationDate="2014-02-11T22:56:39.510" Score="1" ViewCount="133" Body="&lt;p&gt;Is there any connection between Interactive proofs and learning theory?&lt;/p&gt;&#xA;" OwnerUserId="5868" LastActivityDate="2014-02-11T22:56:39.510" Title="Learning theory vs. Interactive Proofs" Tags="&lt;lg.learning&gt;&lt;interactive-proofs&gt;" AnswerCount="0" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21000" PostTypeId="2" ParentId="20995" CreationDate="2014-02-11T23:12:13.373" Score="2" Body="&lt;p&gt;&lt;a href=&quot;http://www.cs.ubc.ca/~davet/ubcsat/algorithms/Schoening99.pdf&quot; rel=&quot;nofollow&quot;&gt;Schöning's algorithm&lt;/a&gt; runs in time $O\left(\left(\frac{d(k-1)}{k}\right)^n\right)$, where $k$ is the clause width and $d$ is the number of possible values per variable.&lt;/p&gt;&#xA;" OwnerUserId="17068" LastEditorUserId="17068" LastEditDate="2014-02-11T23:32:13.240" LastActivityDate="2014-02-11T23:32:13.240" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21001" PostTypeId="2" ParentId="20831" CreationDate="2014-02-11T23:37:08.993" Score="2" Body="&lt;p&gt;The following tech-report (a simplified version of an earlier paper by the same authors) on general BP (not only loopy-BP), but has fantastic insights.&#xA;It's a great place to start, if you already haven't. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.merl.com/publications/docs/TR2001-22.pdf&quot; rel=&quot;nofollow&quot;&gt;http://www.merl.com/publications/docs/TR2001-22.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another good place is this book:&#xA;Information, Physics, and Computation - by Mezard and Montanari.&lt;/p&gt;&#xA;" OwnerUserId="5868" LastActivityDate="2014-02-11T23:37:08.993" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21002" PostTypeId="2" ParentId="20989" CreationDate="2014-02-12T00:38:22.880" Score="1" Body="&lt;p&gt;If I'm not mistaken, obtaining a constant factor approximation for the Steiner tree is NP-hard on directed graphs but is P-time on undirected graphs.&lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2014-02-12T00:38:22.880" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21003" PostTypeId="2" ParentId="20976" CreationDate="2014-02-12T00:43:53.607" Score="2" Body="&lt;p&gt;If $k$ is divisible by 2 we can take a clique on $n/2$ vertices and subdivide each edge once.&#xA;This graph will have ${n/2 \choose k/2} \cdot (k/2-1)!/2$ cycles of length $k$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hence the total number of cycles is $\frac{1}{2} \sum_{i=k/2}^{i=n/2} {n/2 \choose i} \cdot (i-1)!$&lt;/p&gt;&#xA;" OwnerUserId="8936" LastActivityDate="2014-02-12T00:43:53.607" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21004" PostTypeId="2" ParentId="20594" CreationDate="2014-02-12T01:07:41.903" Score="7" Body="&lt;p&gt;Notice that the input size is $n = \lceil \log_2 P \rceil$. The problem can be solved in time near linear in $n$, i.e. in time $n \log^{O(1)} n = (\log P)(\log \log P)^{O(1)}$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The trick is to do binary search on the integers in $[1, 2\log_2 P]$ in order to find the largest $N$ such that $N! \leq P$: call this number $N(P) = \max\{N: N! \leq P\}$. If $N(P) = P$, the answer is 'yes', otherwise it is 'no'. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let us first show that $N(P) \leq 2\log_2 P$ for $P \geq 4$ (for smaller $P$ you can use a lookup table). This follows because for every $N$, $N! \geq (N/2)^{N/2}$, and therefore&#xA;$$&#xA;\log_2 P \geq \frac{N}{2}\log_2 \frac{N}{2} \geq \frac{N}{2}.&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The complexity is $T(2\log_2 P) \cdot O(\log \log P)$, whete $T(N!)$ is the complexity of computing $N!$. This is because the binary search performs $O(\log \log P)$ steps, and at each step computes $N!$ for some $N \leq 2\log_2 P$. The &lt;a href=&quot;http://www.cecm.sfu.ca/personal/pborwein/PAPERS/P29.pdf&quot;&gt;work by Borwein&lt;/a&gt;, referenced in Chad's answer, gives a near-linear in $N$ bound on $T(N)$. &lt;/p&gt;&#xA;" OwnerUserId="4896" LastEditorUserId="4896" LastEditDate="2014-02-13T19:13:49.573" LastActivityDate="2014-02-13T19:13:49.573" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21006" PostTypeId="2" ParentId="20978" CreationDate="2014-02-12T03:21:50.500" Score="-4" Body="&lt;p&gt;an inexactly phrased but reasonable general question that can be studied in several particular technical ways. there are many &quot;small&quot; machines measured by states/symbols where halting is unknown but no &quot;smallest&quot; machine is possible unless one comes up with some justifiable/quantifiable metric of the complexity of a TM that takes into account both states and symbols (apparently nobody has proposed one so far).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;actually research into this problem related to Busy Beavers suggests that there are are many such &quot;small&quot; machines lying on a hyperbolic curve where $x \times y$, $x$ states and $y$ symbols, is small. in fact it appears to be a general phase transition/boundary between decidable and undecidable problems.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;this new paper &lt;a href=&quot;http://arxiv.org/pdf/1311.1029v1.pdf&quot; rel=&quot;nofollow&quot;&gt;Problems in number theory from busy beaver competition&lt;/a&gt; 2013 by Michel a leading authority exhibits many such cases for low $x,y$ and shows the connection to general number theoretic sequences similar to the Collatz conjecture.&lt;/p&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2014-02-12T03:21:50.500" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="21008" PostTypeId="1" AcceptedAnswerId="21009" CreationDate="2014-02-12T12:54:33.823" Score="7" ViewCount="508" Body="&lt;p&gt;Does there exist a programming language which is homoiconic (in the sense that any code can be represented as a data structure, can be altered, and can be run after being altered) but not Turing complete?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For instance, one may avoid &quot;for loops&quot; by preventing data (which could represent code) from being copied.&lt;/p&gt;&#xA;" OwnerUserId="8402" LastEditorUserId="898" LastEditDate="2014-02-12T14:23:05.410" LastActivityDate="2016-03-24T16:12:18.407" Title="Homoiconic languages which are not Turing complete" Tags="&lt;pl.programming-languages&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21009" PostTypeId="2" ParentId="21008" CreationDate="2014-02-12T13:38:19.127" Score="9" Body="&lt;p&gt;You can turn every programming language $L$ into a homoiconic language $L_{hom}$ by adding a suitable representation of programs, such as ASTs (abstract syntax trees) or quasi-quoted programs, together with some operations that mediate between $L$ and the representation of $L$-syntax (e.g. evaluation or splicing instructions). The details of this depend on your precise rendering of homoiconicity (e.g. compile-time as in Template Haskell vs run-time as in the MetaML family of languages or Javascript). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;One extreme example is the empty language $L^{\emptyset}$ that has no programs. Clearly its  homoiconic variant $L^{\emptyset}_{hom}$ isn't Turing complete. For more interesting examples, you can take any of the usual type theories such as the simply typed $\lambda$-calculus, System F or the Calculus of Constructions. Of course one would have to prove that the homoiconified version of such type-theories doesn't allow us to encode recursion somehow. I doubt that this has been done. Cody's comment below suggests that this might not be possible. &lt;/p&gt;&#xA;" OwnerUserId="898" LastEditorUserId="898" LastEditDate="2016-03-24T16:12:18.407" LastActivityDate="2016-03-24T16:12:18.407" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="21010" PostTypeId="1" CreationDate="2014-02-12T13:55:54.973" Score="1" ViewCount="57" Body="&lt;p&gt;Given a discrete variable whose value is characterized by &lt;a href=&quot;http://en.wikipedia.org/wiki/Knightian_uncertainty&quot; rel=&quot;nofollow&quot;&gt;Knightian uncertainty&lt;/a&gt;, that is, &lt;em&gt;belief&lt;/em&gt; and &lt;em&gt;plausibility&lt;/em&gt;, as in &lt;a href=&quot;http://en.wikipedia.org/wiki/Dempster-Shafer&quot; rel=&quot;nofollow&quot;&gt;Dempster-Shafer theory&lt;/a&gt;, what is its entropy?&lt;/p&gt;&#xA;" OwnerUserId="19469" LastActivityDate="2014-02-12T13:55:54.973" Title="What is entropy of a variable described by Knightian uncertainty?" Tags="&lt;pr.probability&gt;&lt;shannon-entropy&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21011" PostTypeId="2" ParentId="11722" CreationDate="2014-02-12T14:26:19.460" Score="-3" Body="&lt;p&gt;Passive observers can't verify that the drawing wasn't staged. Inputs into pseudorandom process can be chosen to give desired result.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However if the observer can supply a random number that he knows is random AND make sure that other agents won't change their inputs afterwards (because they could compensate his effect with their inputs), then he can be sure that the result was indeed random.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This requires &lt;em&gt;commitment scheme&lt;/em&gt; which we don't know any that is mathematically proven to be secure but in practice can be realized using secure hash (such as SHA3).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider this example:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/n9C6l.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I've made an example implementation. You can see it live here: &lt;a href=&quot;https://mrogalski.eu/cl/&quot; rel=&quot;nofollow noreferrer&quot; title=&quot;Crypto Lottery&quot;&gt;https://mrogalski.eu/cl/&lt;/a&gt; or check sources on &lt;a href=&quot;https://github.com/mafik/crypto-lottery&quot; rel=&quot;nofollow noreferrer&quot; title=&quot;Crypto Lottery - GitHub&quot;&gt;GitHub&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="21561" LastActivityDate="2014-02-12T14:26:19.460" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="21013" PostTypeId="2" ParentId="7374" CreationDate="2014-02-12T17:33:22.403" Score="5" Body="&lt;p&gt;The paper that describes how to build a binarized parse forest in cubic time (mentioned in the post by Angelo Borsotti) is: &quot;SPPF-Style Parsing From Earley Recognizers&quot; by Elizabeth Scott. You can find it here: &lt;a href=&quot;http://dx.doi.org/10.1016/j.entcs.2008.03.044&quot; rel=&quot;noreferrer&quot;&gt;http://dx.doi.org/10.1016/j.entcs.2008.03.044&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In this paper the construction of a shared packed parse forest (SPPF) is described which represents all the possible parse trees. Sub trees are shared whenever possible, and nodes corresponding to different derivations of the same substring from the same nonterminal are combined.&lt;/p&gt;&#xA;" OwnerUserId="21567" LastActivityDate="2014-02-12T17:33:22.403" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21014" PostTypeId="1" AcceptedAnswerId="22057" CreationDate="2014-02-12T20:37:41.413" Score="8" ViewCount="190" Body="&lt;p&gt;Consider the following problem:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Input:&lt;/strong&gt; (G1, G2) where G1 and G2 are undirected graphs&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question:&lt;/strong&gt;  Is the size of the max independent set of G1 at least as large as the size of the max independent set of G2?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This seems like a fairly natural question to ask, and yet I have been unable to find a complexity class for which this problem is complete.  Does anyone know of such?  As a starting point, it is readily seen that the problem is NP-hard and contained in P with access to an NP oracle with log many queries.&lt;/p&gt;&#xA;" OwnerUserId="21571" LastActivityDate="2014-04-10T21:18:50.000" Title="Complexity of Comparative Independent Set Decision Problem" Tags="&lt;cc.complexity-theory&gt;" AnswerCount="3" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21015" PostTypeId="2" ParentId="21014" CreationDate="2014-02-12T23:43:11.950" Score="1" Body="&lt;p&gt;I seems, your problem is Turing-complete for the class ${\mathsf{P}}^{\mathsf{NP}[O(\log n])]}$. As mentioned in the question, you already know that it falls in this class. To show Turing-completeness,  one can notice that taking an independent set of size $l$ for $G_1$ allows us to determine (using the task as an oracle) whether the max independent set in $G_2$ is $\leq l$. Repeating this with binary search for $1\leq l \leq n$, we can determine the $exact$ size of the max independent set in $G_2$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Apply the above to  the graph complements to  determine the exact size of the max clique in $G_2$, rather than the independent set. Having determined the size of the max clique, we can decide whether it is divisible by a given number $k$. Then we can invoke the result that deciding whether the max clique size of a graph is divisible by a given number is complete for ${\mathsf{P}}^{\mathsf{NP}[O(\log n])]}$ (see Krentel, &quot;The complexity of optimization problems,&quot; J. of Computer and System Sciences, 36(1988/3), pp. 490–509, Theorem 3.5)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;While the referenced result of Krentel proves the many-one completeness of the problem in ${\mathsf{P}}^{\mathsf{NP}[O(\log n])]}$, the above reduction only shows Turing-completeness, since in the binary search we have to call the oracle several ($\log n$) times. &lt;/p&gt;&#xA;" OwnerUserId="12710" LastActivityDate="2014-02-12T23:43:11.950" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="21016" PostTypeId="1" AcceptedAnswerId="21031" CreationDate="2014-02-13T00:52:48.620" Score="29" ViewCount="5351" Body="&lt;p&gt;I am looking for nice examples, where the following phenomenon occurs: (1) An algorithmic problem looks hard, if you want to solve it working from the definitions and using standard results only.&#xA;(2) On the other hand,  it becomes easy, if you know some (not so standard) theorems. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The goal of this is to illustrate for students that learning more theorems can be  useful, even for those  who are outside of the theory field (such as software engineers, computer engineers etc). Here is an &lt;b&gt; example: &lt;/b&gt;&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;b&gt; Question: &lt;/b&gt; Given integers $n, k, l, d$, does there exist an $n$-vertex graph (and if so, find one), such that its vertex connectivity is $k$, its edge connectivity is $l$, and its minimum degree is $d$? &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Note that we require that the parameters are exactly equal to the given numbers, they are not just bounds. If you want to solve this from scratch, it might appear rather hard. On the other hand, if you are familiar with the following theorem (see &lt;em&gt; Extremal Graph Theory &lt;/em&gt; by B. Bollobas), the situation becomes quite different.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;b&gt;Theorem: &lt;/b&gt; Let $n, k, l, d$ be integers. There exists an $n$-vertex graph with vertex connectivity $k$, edge connectivity $l$, and minimum degree  $d$, if and only if one of the following conditions is satisfied: &lt;UL&gt;&#xA;  &lt;LI&gt;  $0\leq k\leq l \leq d &amp;lt;\lfloor n/2 \rfloor$, &#xA;  &lt;LI&gt; $1\leq 2d+2-n\leq k\leq l = d&amp;lt; n-1$&#xA;  &lt;LI&gt; $k=l=d=n-1.$&#xA;  &lt;/UL&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;These conditions are very easy to check, being simple  inequalities among the input parameters, so the existence question can be answered effortlessly. Furthermore, the proof of the theorem is constructive, resolving the construction issue, as well. On the other hand, this result does not appear standard enough, so that you can expect everybody to know about it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can you provide further examples in this spirit, where knowing a (not so standard) theorem greatly simplifies a task?&lt;/p&gt;&#xA;" OwnerUserId="12710" LastActivityDate="2015-11-12T09:20:34.300" Title="Hard-looking algorithmic problems made easy by theorems" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;graph-algorithms&gt;" AnswerCount="16" CommentCount="9" FavoriteCount="16" CommunityOwnedDate="2014-03-14T00:03:36.567" ContentLicense="CC BY-SA 3.0" />
  <row Id="21018" PostTypeId="2" ParentId="21016" CreationDate="2014-02-13T03:38:10.193" Score="20" Body="&lt;p&gt;This afternoon I was reading &lt;a href=&quot;http://rjlipton.wordpress.com/2011/01/12/stringology-the-real-string-theory/&quot;&gt;Stringology -- the &quot;Real&quot; string theory&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Problem:&lt;/strong&gt; If $x$ and $y$ are two strings over some alphabet when are there some positive integers $m, n$ such that $x^m = y^n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Theorem:&lt;/strong&gt; There are positive integers $m,n$ such that $x^m = y^n$ if and only if $xy = yx$.&lt;/p&gt;&#xA;" OwnerUserId="612" LastActivityDate="2014-02-13T03:38:10.193" CommentCount="0" CommunityOwnedDate="2014-03-14T00:03:36.567" ContentLicense="CC BY-SA 3.0" />
  <row Id="21019" PostTypeId="1" AcceptedAnswerId="21020" CreationDate="2014-02-13T07:28:44.520" Score="2" ViewCount="733" Body="&lt;p&gt;A graph is an interval graph iff it is chordal and asteroidal triple free.&#xA;An interval graph is proper interval graph iff it is $K_{1,3}$ free.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However i googled intensely to find a minimal set of forbidden subgraphs for proper interval graphs,but in vain.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is : What are the minimal set of forbidden subgraphs for proper interval graphs ?&#xA;Any link to journal/paper is welcome.&lt;/p&gt;&#xA;" OwnerUserId="12280" LastActivityDate="2016-08-06T22:49:06.167" Title="Forbidden subgraph characterisation of interval graphs" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;interval-graphs&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21020" PostTypeId="2" ParentId="21019" CreationDate="2014-02-13T07:36:13.040" Score="8" Body="&lt;p&gt;&lt;a href=&quot;http://www.graphclasses.org/classes/gc_298.html&quot; rel=&quot;nofollow noreferrer&quot; title=&quot;ISCI&amp;#39;s page on proper interval graphs&quot;&gt;ISGCI's page on proper interval graphs&lt;/a&gt; (from our &lt;a href=&quot;https://cstheory.meta.stackexchange.com/questions/225/official-faq-for-theoretical-computer-science&quot;&gt;FAQ&lt;/a&gt;) lists a few equivalent classes; one of them is the class of $(C_{n+4}$, $S_3$, claw, net)-free  graphs (see the same website for definitions).&lt;/p&gt;&#xA;" OwnerUserId="775" LastEditorUserId="-1" LastEditDate="2017-03-16T15:45:13.547" LastActivityDate="2014-02-13T07:36:13.040" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21021" PostTypeId="2" ParentId="21014" CreationDate="2014-02-13T09:57:39.010" Score="0" Body="&lt;p&gt;Your problem is also &lt;em&gt;many-one&lt;/em&gt; hard for implications between NP instances.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Reduce the right side of the implication to independent set in any convenient way, and reduce the left side of the implication to independent set in a way that ensures the graph cannot have an independent set larger than the target size. $\:$ (For example, reduce to &lt;a href=&quot;http://en.wikipedia.org/wiki/Conjunctive_Normal_Form&quot; rel=&quot;nofollow&quot;&gt;CNF-SAT&lt;/a&gt; and then apply &lt;a href=&quot;http://infolab.stanford.edu/~ullman/ialc/slides/slides16.pdf&quot; rel=&quot;nofollow&quot;&gt;this reduction&lt;/a&gt; despite having a general CNF-SAT instance instead of necessarily a 3-SAT instance.) $\:$ Add a number of isolated vertices equal to the difference between the target sizes&#xA;&lt;br&gt;&#xA;to whichever instance's target size was smaller, and increase that instances target size by the&#xA;&lt;br&gt;&#xA;same number. $\:$ That obviously gives an equivalent instance, and makes the resulting target sizes equal. $\:$ If the target size is zero then return the empty instance of your problem,&#xA;&lt;br&gt;&#xA;else add [target size minus one] isolated vertices to the graph corresponding to the instance on&#xA;&lt;br&gt;&#xA;the right side of the implication and connect each of them to all of the vertices that were there&#xA;&lt;br&gt;&#xA;before this sentence, and return with G1 equal to that graph and G2 equal to the other graph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Additionally, your problem instances can trivially be many-one&#xA;&lt;br&gt;&#xA;reduced to &lt;em&gt;conjunctions of&lt;/em&gt; implications between NP instances.)&lt;/p&gt;&#xA;" OwnerDisplayName="user6973" LastActivityDate="2014-02-13T09:57:39.010" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21022" PostTypeId="1" AcceptedAnswerId="21088" CreationDate="2014-02-13T10:25:32.840" Score="9" ViewCount="1369" Body="&lt;p&gt;Assume that I have $P$ sets with elements taken from $r$ possible ones. Each set is of size $n$ ($n&amp;lt;r$), where the sets can overlap. I want to determine whether the following two problems are NP-complete or not:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Problem A.&lt;/strong&gt; Are there $M$ ($1 \le M \le P$) &lt;strong&gt;distinct&lt;/strong&gt; sets within the $P$ sets (i.e., their pair-wise intersection is empty)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Problem B.&lt;/strong&gt; Now $k$ ($k&amp;lt;n$) elements can be chosen from each set. Are there $L$ ($1 \le L \le P$) &lt;strong&gt;distinct&lt;/strong&gt; sets of size $k$ each within the $P$ sets? Note that only one set of $k$ elements can be taken from each set of $n$ elements.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Remark&lt;/strong&gt;: I am mainly interested in the case where $k,n$ are fixed ($n \ge 2, k \ge 2$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think that Problem A can be thought as an $n$-uniform $r$-partite hyper-graph matching problem. That is, we have the elements of $r$ as vertices, and each hyper-edge contains a subset of $n$ vertices of the graph.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;In the $n$-uniform $r$-partite hyper-graph matching problem NP-complete?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;I think that Problem B is equivalent to finding the number of distinct hyper-edges of cardinality $k$ taken from hyper-edges of cardinality $n$. Is this restricted version (in the sense that each $k$-cardinality set is taken from a pre-chosen set of $n$ elements rather than taken arbitrarily from $r$ elements) of Problem A NP-complete?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Example&lt;/strong&gt; ($n=3,r=5, P=3$):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$A=\{1,2,3\}$, $B=\{2,3,4\}$, $C=\{3,4,5\}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $k=n=3$, there is only $M=1$ one distinct set, which is $A$ or $B$ or $C$, since each of the pairs $(A,B)$, $(A,C)$, $(B,C)$ has non-empty intersection.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $k=2$, we have $L=2$ distinct sets: one solution is $\{1,2\}$, $\{3,4\}$ (subsets of $A$ and $B$).&lt;/p&gt;&#xA;" OwnerUserId="17147" LastEditorUserId="17147" LastEditDate="2014-02-16T11:23:15.970" LastActivityDate="2014-02-17T15:32:58.680" Title="Complexity of finding the maximal number of pair-wise disjoint sets" Tags="&lt;graph-theory&gt;&lt;np-hardness&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21026" PostTypeId="1" AcceptedAnswerId="21033" CreationDate="2014-02-13T17:11:26.830" Score="30" ViewCount="3596" Body="&lt;p&gt;What would be the nasty consequences of NP=PSPACE? I am surprised I did not found anything on this, given that these classes are among the most famous ones.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In particular, would it have any consequences on the lower classes?&lt;/p&gt;&#xA;" OwnerUserId="8953" LastEditorUserId="109" LastEditDate="2014-02-14T10:52:14.703" LastActivityDate="2014-02-14T20:20:35.293" Title="Consequences of NP=PSPACE" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;conditional-results&gt;" AnswerCount="4" CommentCount="1" FavoriteCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="21027" PostTypeId="2" ParentId="21016" CreationDate="2014-02-13T17:57:39.940" Score="4" Body="&lt;p&gt;&lt;strong&gt;Problem:&lt;/strong&gt; Satifsiability of an MSO (monadic second-order logic) formula over finite words.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Theorem:&lt;/strong&gt; MSO is equivalent to finite automata over finite words.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The above can be lifted to infinite words, finite trees, infinite trees.&lt;/p&gt;&#xA;" OwnerUserId="8953" LastActivityDate="2014-02-13T17:57:39.940" CommentCount="0" CommunityOwnedDate="2014-03-14T00:03:36.567" ContentLicense="CC BY-SA 3.0" />
  <row Id="21028" PostTypeId="1" CreationDate="2014-02-13T18:23:02.637" Score="12" ViewCount="385" Body="&lt;p&gt;I read Freyd's paper &quot;Algebraically Complete Categories&quot; in the famous Como90 and I have two questions about the notion of algebraic compactness he defined in that paper. (If you are not familiar with the definition, here it is: A category is called algebraically compact if every endofunctor has an initial algebra and a final co-algebra which are canonically isomorphic.)&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;What are some examples of algebraically compact categories? Freyd mentions an example but strictly speaking the condition in the definition holds only for certain endofunctors of interest. From reading other papers (such as &quot;Functional Programming with Bananas, Lenses, Envelopes and Barbed Wire&quot;) I guess that category of cpo's, omega-cpo's or categories enriched over (omega-) cpo's are algebraically compact. What is the standard reference for this fact?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Freyd says that the definition is motivated by the &quot;principal of versality&quot; and, being a nonnative speaker of English, I am confused. First of all, I think it should be principle, not principal. Also what is versality? Does he mean versatility? Is this a game on words like (uni)versality?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="21578" LastActivityDate="2014-03-03T10:07:20.730" Title="Algebraically Compact Categories" Tags="&lt;reference-request&gt;&lt;type-theory&gt;&lt;ct.category-theory&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21030" PostTypeId="2" ParentId="21016" CreationDate="2014-02-13T18:36:29.687" Score="33" Body="&lt;p&gt;If I understand your question correctly, a canonical example would be deciding if a graph $G$ has an Eulerian circuit: equivalent to checking that &lt;em&gt;$G$ is connected and&lt;/em&gt; every vertex has even degree.&lt;/p&gt;&#xA;" OwnerUserId="4896" LastEditorUserId="80" LastEditDate="2014-02-14T16:24:39.840" LastActivityDate="2014-02-14T16:24:39.840" CommentCount="0" CommunityOwnedDate="2014-03-14T00:03:36.567" ContentLicense="CC BY-SA 3.0" />
  <row Id="21031" PostTypeId="2" ParentId="21016" CreationDate="2014-02-13T18:59:47.570" Score="31" Body="&lt;p&gt;Deciding isomorphism of &lt;em&gt;simple&lt;/em&gt; groups, given by their multiplication tables. The fact that this can be done in polynomial time follows directly from the fact that all finite simple groups can be generated by at most 2 elements, and currently the only known proof of that fact uses the Classification of Finite Simple Groups (perhaps the largest theorem - in terms of authors, papers, and pages - ever proven).&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2014-02-13T18:59:47.570" CommentCount="1" CommunityOwnedDate="2014-03-14T00:03:36.567" ContentLicense="CC BY-SA 3.0" />
  <row Id="21032" PostTypeId="2" ParentId="21026" CreationDate="2014-02-13T19:28:42.757" Score="12" Body="&lt;p&gt;If ${\bf NP} = {\bf PSPACE}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) Polynomial Hierarchy would collapse to ${\bf NP }$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) We will now have that ${\bf NP } \not ={\bf NL}$ since we know that ${\bf PSPACE} \not = {\bf NL}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;---UPDATE---&lt;/p&gt;&#xA;&#xA;&lt;p&gt;3) It is known that ${\bf NL} \subseteq {\bf C_=L} \subseteq {\bf PL}$, where they are the logarithmic space bounded versions of ${\bf NP}$, ${\bf C_=P}$ and ${\bf PP}$ respectively. Then by definition none of these complexity classes could be equal ${\bf NP}$ under the assumption that ${\bf NP} = {\bf PSPACE}$. &lt;/p&gt;&#xA;" OwnerUserId="1590" LastEditorUserId="1590" LastEditDate="2014-02-14T01:49:37.580" LastActivityDate="2014-02-14T01:49:37.580" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="21033" PostTypeId="2" ParentId="21026" CreationDate="2014-02-13T20:02:13.723" Score="28" Body="&lt;p&gt;If $\mathsf{NP} = \mathsf{PSPACE}$, this would imply:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;$\mathsf{P^{\#P}} = \mathsf{NP}$&lt;br&gt;That is, counting the solutions to a problem in $\mathsf{NP}$ would be polytime reducible to finding a single solution;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;$\mathsf{PP} = \mathsf{NP}$&lt;br&gt;That is, polynomial-time randomized algorithms with success probability arbitrarily close to 1/2 is polynomial-time reducible to polynomial-time randomized algorithms with one-sided error, where YES instances are accepted with arbitrarily small probability;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;$\mathsf{MA} = \mathsf{NP}$&lt;br&gt;That is, for any problem which is verifiable in polynomial time, randomization provides a polynomial-time speedup at best (but this is just a corollary of the polynomial-time hierarchy collapsing);&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;$\mathsf{BQP} \subseteq \mathsf{NP}$&lt;br&gt;That is, any problem which is solvable by a quantum computer has easily verified certificates for its answers; this would be an important positive result in the philosophy of quantum mechanics, and would probably be helpful to the effort to construct quantum computers (for verifying that they are doing what they are meant to be doing).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;All of these are due to containments of the classes on the left-hand sides in $\mathsf{PSPACE}$ (though we also have $\mathsf{BQP \subseteq PP}$).&lt;/p&gt;&#xA;" OwnerUserId="248" LastEditorUserId="248" LastEditDate="2014-02-14T00:46:43.713" LastActivityDate="2014-02-14T00:46:43.713" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="21035" PostTypeId="2" ParentId="20985" CreationDate="2014-02-13T22:12:21.340" Score="4" Body="&lt;p&gt;see eg sec 4.7.4 p103 of this thesis where a finite-size scaling formula based on a power law is applied and coefficients fit with experimental data.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://users.soe.ucsc.edu/~kolaitis/theses/bailey-dissertation.pdf&quot; rel=&quot;nofollow&quot;&gt;PHASE TRANSITIONS OF BOOLEAN SATISFIABILITY VARIANTS&lt;/a&gt;, Bailey 2004&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2014-02-13T22:12:21.340" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21037" PostTypeId="2" ParentId="20838" CreationDate="2014-02-13T23:05:28.883" Score="0" Body="&lt;p&gt;I have found a video course which is almost exactly what I was looking for.&#xA;It's a course titled &quot;Using Randomness in Computer Science&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It can be found here:&#xA; &lt;a href=&quot;http://www.dailymotion.com/playlists/user/NicolasSchabanel/2&quot; rel=&quot;nofollow&quot;&gt;http://www.dailymotion.com/playlists/user/NicolasSchabanel/2&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Each lecture is in a different playlist. Only the first lecture is missing, but I found it here: &lt;a href=&quot;http://www.youtube.com/user/nicolas2222222222/videos&quot; rel=&quot;nofollow&quot;&gt;http://www.youtube.com/user/nicolas2222222222/videos&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This note by Oded Goldreich is also very useful:&#xA;&lt;a href=&quot;http://www.wisdom.weizmann.ac.il/~oded/PDF/rnd.pdf&quot; rel=&quot;nofollow&quot;&gt;http://www.wisdom.weizmann.ac.il/~oded/PDF/rnd.pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="5789" LastEditorUserId="5789" LastEditDate="2014-03-16T23:19:32.197" LastActivityDate="2014-03-16T23:19:32.197" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21038" PostTypeId="2" ParentId="21026" CreationDate="2014-02-14T01:06:47.970" Score="23" Body="&lt;p&gt;One point which has been implicitly but not explicitly mentioned yet is that we would get $\mathsf{NP} = \mathsf{coNP}$. Although this is equivalent to $\mathsf{PH}$ collapsing to $\mathsf{NP}$, it follows directly from the fact that $\mathsf{PSPACE}$ is closed under complement, which is trivial to prove. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think $\mathsf{NP} = \mathsf{coNP}$ is worth pointing out on its own because of the large number of surprising consequences it has: there are short proofs witnessing when a graph is &lt;em&gt;not&lt;/em&gt; 3-colorable, *non-*Hamiltonian, when two graphs are *non-*isomorphic, ..., and (in some sense more generally) that there is some Cook-Reckhow proof system in which &lt;em&gt;every&lt;/em&gt; propositional tautology has a polynomial-sized proof.&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2014-02-14T01:06:47.970" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21039" PostTypeId="2" ParentId="21026" CreationDate="2014-02-14T02:01:22.310" Score="10" Body="&lt;p&gt;In addition to the results pointed in all other answers, there is a one involving Interactive Proof Systems (${\bf IP}$), that are the generalization  ${\bf NP}&#xA;$ where Verifier and Prover exchange messages in order to recognize a language. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is known that ${\bf IP = PSPACE}$, so if ${\bf NP = PSPACE}$, it means that only one message is sufficient! For me the more impressing of this result is that the Verifier wouldn't need to challenge the Prover and can trust the very first message sent by her.&lt;/p&gt;&#xA;" OwnerUserId="10564" LastEditorUserId="10564" LastEditDate="2014-02-14T20:20:35.293" LastActivityDate="2014-02-14T20:20:35.293" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="21040" PostTypeId="2" ParentId="21016" CreationDate="2014-02-14T02:40:41.430" Score="3" Body="&lt;p&gt;(Trivially) the existence of a Nash Equilibrium in a finite game, an even number of Hamiltonian Paths in a cubic graph, various types of fixed points, decently balanced comparisons in partial orders, and many other PPAD problems.&lt;/p&gt;&#xA;" OwnerUserId="3532" LastActivityDate="2014-02-14T02:40:41.430" CommentCount="2" CommunityOwnedDate="2014-03-14T00:03:36.567" ContentLicense="CC BY-SA 3.0" />
  <row Id="21041" PostTypeId="2" ParentId="21016" CreationDate="2014-02-14T02:49:09.543" Score="1" Body="&lt;p&gt;less complex examples: there are some theorem-like properties that show that greedy algorithms for some problems are optimal. its not so obvious to the uninitiated a &lt;a href=&quot;http://en.wikipedia.org/wiki/Minimum_spanning_tree&quot; rel=&quot;nofollow&quot;&gt;minimum spanning tree&lt;/a&gt; can be found by a greedy algorithm. somewhat similar conceptually is &lt;a href=&quot;http://en.wikipedia.org/wiki/Dijkstra%27s_algorithm&quot; rel=&quot;nofollow&quot;&gt;Dijkstra's algorithm&lt;/a&gt; to find a shortest path in a graph. actually in both cases the associated &quot;theorems&quot; are nearly the same as the algorithms.&lt;/p&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2014-02-14T02:49:09.543" CommentCount="3" CommunityOwnedDate="2014-03-14T00:03:36.567" ContentLicense="CC BY-SA 3.0" />
  <row Id="21042" PostTypeId="2" ParentId="21016" CreationDate="2014-02-14T03:37:50.667" Score="4" Body="&lt;p&gt;A slightly more complicated example: &lt;a href=&quot;http://arxiv.org/pdf/1111.0952v1.pdf&quot; rel=&quot;nofollow&quot;&gt;nonnegative matrix factorization&lt;/a&gt;, when the nonnegative rank is constant.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Say I give you a matrix $A \in M_{m \times n}$ along with the promise that there exist nonnegative $U \in M_{m \times k}$, $V \in M_{k \times n}$ such that $A = UV$. The problem is to find such a factorization for $A$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;With a few lines of elementary linear algebra you can reduce the problem to solving a system of polynomial inequalities in $O(r^2)$ variables, where $r$ is the nonnegative rank of the matrix you want to factor.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Using &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0747717110800033&quot; rel=&quot;nofollow&quot;&gt;Renegar's algorithm&lt;/a&gt; as a hammer, you can then solve this in time $(mn)^{O(r^2)}$ and hence recover $U$ and $V$. This is not far from optimality, since it's ETH-hard to solve NMF in time $(mn)^{o(r)}$.&lt;/p&gt;&#xA;" OwnerUserId="49" LastEditorUserId="49" LastEditDate="2014-02-14T03:43:42.783" LastActivityDate="2014-02-14T03:43:42.783" CommentCount="0" CommunityOwnedDate="2014-03-14T00:03:36.567" ContentLicense="CC BY-SA 3.0" />
  <row Id="21044" PostTypeId="2" ParentId="21016" CreationDate="2014-02-14T04:19:57.440" Score="4" Body="&lt;p&gt;&lt;strong&gt;Decisional Diffie Hellman&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It states: given $(g, g^a, g^b, g^c)$ where $g$ is some generator of a cyclic group $\mathbb{G}$, verify if $g^c = g^{ab}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Under the standard assumptions of hardness of discrete log problem, this problem may also seem hard.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, with bilinear maps this problem is easy and can be verified as &#xA;$$e(g,g^c) \stackrel{?}{=} e(g^a,g^b)$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where $e: \mathbb{G} \times \mathbb{G} \rightarrow \mathbb{G}_T$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More about this can be read on &lt;em&gt;The decisional diffie-hellman problem&lt;/em&gt;, Boneh'98 or a google lookup on Pairings&lt;/p&gt;&#xA;" OwnerUserId="17325" LastActivityDate="2014-02-14T04:19:57.440" CommentCount="0" CommunityOwnedDate="2014-03-14T00:03:36.567" ContentLicense="CC BY-SA 3.0" />
  <row Id="21049" PostTypeId="2" ParentId="21016" CreationDate="2014-02-14T13:52:01.290" Score="5" Body="&lt;p&gt;Another example: given an undirected graph, does it have a minimum cut in which all the edges are disjoint? If so, find one.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;At first sight this might appear hard. It becomes easy, however, if you know the result that an undirected $n$-vertex graph can have at most $n(n-1)/2$ minimum cuts, and they can all be listed in polynomial time. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It can be extended to nearly-minimum cuts, which are larger than the minimum cut, but at most by a constant factor. Their number is still bounded by a polynomial. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;(I did not search for a reference, my recollection is that these results are due to D. Karger.) &lt;/p&gt;&#xA;" OwnerUserId="12710" LastActivityDate="2014-02-14T13:52:01.290" CommentCount="0" CommunityOwnedDate="2014-03-14T00:03:36.567" ContentLicense="CC BY-SA 3.0" />
  <row Id="21050" PostTypeId="1" CreationDate="2014-02-14T16:29:41.093" Score="0" ViewCount="51" Body="&lt;p&gt;I am re-opening &lt;a href=&quot;https://cstheory.stackexchange.com/questions/20843/partition-into-interval-graphs&quot;&gt;this&lt;/a&gt; question as i have the following question.&#xA;I was going through the &lt;a href=&quot;http://www.combinatorics.org/ojs/index.php/eljc/article/view/v11i1r46/pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;paper by Farrugia&lt;/a&gt; which was mentioned in an answer in that post. Initially i beleived that the follwoing problem is NP-Complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose there is a graph $G=(V,E)$. I want to test if V can be partitioned into two disjoint sets $V_1$ and $V_2$ such that the subgraphs induced by $V_1$ and $V_2$ are unit interval graphs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But in the paper,there is a theorem which says &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Let $A$ and $B$ be additive induced-hereditary properties. Then there&#xA;  is a polynomial-time transformation from the $A$-recognition problem&#xA;  to the $(A◦B)$-recognition problem.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;So, my question is that :- is it possible that because of the above theorem the problem might be solvable in polynomial time ??&lt;/p&gt;&#xA;" OwnerUserId="12280" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2014-02-14T16:29:41.093" Title="partition into unit-interval graphs" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;partition-problem&gt;&lt;interval-graphs&gt;" AnswerCount="0" CommentCount="2" ClosedDate="2014-11-05T08:18:17.577" ContentLicense="CC BY-SA 3.0" />
  <row Id="21051" PostTypeId="1" CreationDate="2014-02-14T17:06:28.937" Score="1" ViewCount="62" Body="&lt;p&gt;I'm currently working on my thesis which deals with pathfinding over a Delaunay triangulated graph. I want to be able to partition my Delaunay triangulation into disjoint (regarding vertices) connected subgraphs of size at most k. The graph I am working with is planar and each vertex has degree at most 3.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I know that graph partitioning is in general NP-hard, but I was hoping that there is some polynomial time algorithm or approximation algorithm that could solve this problem. If anyone has a reference to some paper that deals with this problem or has a solution themselves, I'd love to hear from you.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT: If you also have an algorithm that covers the graph, rather than partition, post that as well!&lt;/p&gt;&#xA;" OwnerUserId="21347" LastEditorUserId="21347" LastEditDate="2014-02-14T17:12:48.130" LastActivityDate="2014-02-14T17:12:48.130" Title="Partition planar graph of vertices with at most degree 3 into connected subgraphs" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;planar-graphs&gt;&lt;partition-problem&gt;&lt;delaunay-triangulation&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="21052" PostTypeId="1" CreationDate="2014-02-14T17:44:06.223" Score="5" ViewCount="157" Body="&lt;p&gt;I am teaching a course and have a tiny implementation of a counter-style machine that has the following instructions and two registers, r0 &amp;amp; r1&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;INC ri   ; ri &amp;lt;- ri + 1&#xA;DEC ri  ; ri &amp;lt;- r1 - 1&#xA;JNZ  address    ; if (r0 != 0) then jump to &amp;lt;address&amp;gt;. Else, skip.&#xA;LDR ri, address  ; load value at &amp;lt;address&amp;gt; into ri&#xA;STR ri, address  ; store the value in &amp;lt;ri&amp;gt; to &amp;lt;address&amp;gt;&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;What interesting programs can I make using this instruction set using no more than 16 instructions (the range of my address space).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So far, the best I have is &quot;check if memory contains an odd value in the range 0-7&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, does it help if I add the following instruction:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;JLT address ; if (r0 &amp;lt; 0) then jump to &amp;lt;address&amp;gt;. Else, skip.&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;" OwnerUserId="21597" LastEditorUserId="21597" LastEditDate="2014-02-14T18:53:15.223" LastActivityDate="2014-02-15T03:57:26.617" Title="Interesting programs on small machines" Tags="&lt;soft-question&gt;&lt;teaching&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="21053" PostTypeId="1" AcceptedAnswerId="21059" CreationDate="2014-02-14T18:19:51.143" Score="-5" ViewCount="251" Body="&lt;p&gt;I want to ask a question concerning some aspects of the P vs. NP problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;NOTE: Possibly by &quot;popular&quot; standards i am a crank (i tend towards P=NP), but lets focus on the issue &lt;em&gt;(please with a grain of salt as mentioned in the comments)&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(i'm not sure about the status of an alleged &quot;serious&quot; proof that P &amp;lt; NP, a couple of years back and i cant seem to find the mentioned paper)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are some results that people use to support a preference / belief about the conjecture $P \neq NP$ (e.g. separation of P and NP over other computation models or fields, some relativized versions, the inability of many smart people to find polynomial algorithms for any NP-complete problem, etc.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is (not sure how to phrase it exactly): &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What if for every &quot;instance&quot; of an NP-complete problem (e.g. 3-SAT) there exists a polynomial algorithm but there is not &lt;em&gt;one&lt;/em&gt; fixed polynomial algorithm that solves all instances?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;For example there are polynomial-time algorithms for special cases of a (generally) np-complete problem, etc..&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are these not indications about a possible P=NP result?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there results that point towards this direction?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What will be the implications for P vs. NP if that hypothesis (or does not hold)?&#xA;Would it mean that the current context of P vs. NP may need revision and re-framing to capture these alternatives?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks&lt;/p&gt;&#xA;&#xA;&lt;p&gt;UPDATE:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Possible sketch of proof that P=NP&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;If the PH collapses, it collapses as a whole (due to &quot;symmetry of construction&quot; of each level). It seems awkward that at some level the hierarchy collapses while not at other levels since by construction no such foundamental difference exists.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Show that that at some level there can be collapse.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;=&gt; P=NP&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="21598" LastEditorUserId="21598" LastEditDate="2014-02-15T15:27:15.520" LastActivityDate="2014-02-15T15:27:15.520" Title="Can on every instance P = NP?" Tags="&lt;cc.complexity-theory&gt;&lt;p-vs-np&gt;" AnswerCount="1" CommentCount="35" ClosedDate="2014-02-15T02:27:31.443" ContentLicense="CC BY-SA 3.0" />
  <row Id="21054" PostTypeId="1" AcceptedAnswerId="21061" CreationDate="2014-02-14T18:54:59.483" Score="4" ViewCount="66" Body="&lt;p&gt;Given a monotonic increasing function $f(\mathbb{N}) \rightarrow \mathbb{N}$ and a slack function  $a(\mathbb{N})\rightarrow \mathbb{N}$, where $f(n) = n \pm O(a(n))$;  how many calls to $f$ do we need to brute force $f^{-1}$ as a function of $a$ and $n$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This problem comes up regularly when you have a near linear monotonic increasing sequence on OEIS which you have a good complexity algorithm to compute it, and need a generic algorithm to get an upper bound on the complexity of computing the inverse.&lt;/p&gt;&#xA;" OwnerUserId="2021" LastActivityDate="2014-02-18T22:35:14.247" Title="Complexity of generically inverting a class of near linear monotonic functions" Tags="&lt;time-complexity&gt;&lt;asymptotics&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21057" PostTypeId="1" CreationDate="2014-02-14T20:21:16.907" Score="2" ViewCount="108" Body="&lt;p&gt;Buchin [2] showed that under &quot;reasonable&quot; assumptions, (polynomial point spread) incremental construction of Delaunay triangulations using the biased randomized ordering of Amenta et al. [1] with a space filling curve takes $O(n \log n)$ even when points are located by walking from the last inserted point.  This reduces to $O(n)$ for uniformly random points if the BRIO jumps are treated carefully.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question&lt;/strong&gt;: Are there any &quot;simple to compute&quot; orders which are worst case $O(n \log n)$ for all general position inputs?  I am leaving &quot;simple&quot; intentionally vague, but roughly I mean simpler than computing the Delaunay triangulation itself (from which an optimal order is easy to derive).&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.inf.fu-berlin.de/groups/ag-ti/teaching/WiSe2000/uploads/tx_tipublications/Incremental_constructions_con_BRIO_02.pdf&quot; rel=&quot;nofollow&quot;&gt;Amenta, Nina, Sunghee Choi, and Günter Rote. &quot;Incremental Constructions con BRIO.&quot; (2003).&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://link.springer.com/chapter/10.1007%2F978-3-642-04128-0_11&quot; rel=&quot;nofollow&quot;&gt;Buchin, Kevin. &quot;Constructing Delaunay triangulations along space-filling curves.&quot; Algorithms-ESA 2009. Springer Berlin Heidelberg, 2009. 119-130.&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="13245" LastActivityDate="2014-02-14T20:21:16.907" Title="Worst-case optimal Delaunay algorithm based on spatial sort and walking?" Tags="&lt;delaunay-triangulation&gt;&lt;computational-geometry&gt;" AnswerCount="0" CommentCount="5" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21059" PostTypeId="2" ParentId="21053" CreationDate="2014-02-14T22:20:11.250" Score="0" Body="&lt;p&gt;@NikosM. you've alluded to circuits, and Joshua Grochow answered that quite well. You mention fractional Knapsack which is NOT NP-complete and ask about &quot;special families of parameters&quot; for which a problem is solvable. There are numerous examples of this; for example the class FPT is the class of problems for which the running time of an algorithm is polynomial in the input size and exponential in a different program parameter (which if held constant yields a P-time algorithm). In brief, there are numerous ways in which people are trying to approach the P vs NP issue, and it's not clear whether it's even feasible to enumerate all of them here. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Your best bet is to study some basic complexity theory as Kaveh points out. Once you do that, we'd be happy to answer more directed questions about specific things. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2014-02-14T22:20:11.250" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21060" PostTypeId="1" AcceptedAnswerId="21081" CreationDate="2014-02-14T23:00:45.937" Score="23" ViewCount="1000" Body="&lt;p&gt;Consider optimization problems of the following form. Let $f(x)$ be a polynomial-time computable function that maps a string $x$ into a rational number. The optimization problem is this: what is the maximum value of $f(x)$ over $n$-bit strings $x$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let us say that such a problem has a &lt;em&gt;minimax characterization&lt;/em&gt;, if there is another polynomial-time computable function $g$, such that &#xA;$$\max_x f(x) = \min_y g(y)$$ holds. Here $x$ runs over all $n$-bit strings, and $y$ runs over all $m$-bit strings; $n$ and $m$ may be different, but they are polynomially related. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Numerous natural and important optimization problems have such minimax characterization. A few examples (the theorems on which the characterizations are based shown in parenthesis): &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;em&gt; Linear Programming &lt;/em&gt; (LP Duality Thm),  &lt;em&gt; Maximum Flow  &lt;/em&gt; (Max Flow Min Cut Thm),  &lt;em&gt; Max Bipartite Matching  &lt;/em&gt; (Konig-Hall Thm),  &lt;em&gt; Max Non-Bipartite Matching  &lt;/em&gt; (Tutte's Thm, Tutte-Berge formula),  &lt;em&gt; Max Disjoint Arborescences in directed graph  &lt;/em&gt; (Edmond's Disjoint Branching Thm),  &lt;em&gt; Max Spanning Tree Packing in undirected graph   &lt;/em&gt; (Tutte's Tree Packing Thm),   &lt;em&gt; Min Covering by Forests  &lt;/em&gt; (Nash-Williams Thm),  &lt;em&gt; Max Directed Cut Packing  &lt;/em&gt; (Lucchesi-Younger Thm),  &lt;em&gt; Max 2-Matroid Intersection  &lt;/em&gt; (Matroid Intersection Thm),  &lt;em&gt; Max Disjoint Paths  &lt;/em&gt; (Menger's Thm),  &lt;em&gt; Max Antichain in Partially Ordered Set  &lt;/em&gt; (Dilworth Thm), and many others.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;In all these examples, a polynomial-time algorithm is also available to find the optimum. My question: &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there any optimization problem with a minimax characterization, for which no polynomial-time algorithm has been found so far?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Note: Linear Programming was in this status for about 30 years!&lt;/p&gt;&#xA;" OwnerUserId="12710" LastEditorUserId="5693" LastEditDate="2014-02-15T00:16:52.930" LastActivityDate="2014-02-16T09:38:38.383" Title="Optimization problems with good characterization, but no polynomial-time algorithm" Tags="&lt;cc.complexity-theory&gt;&lt;graph-algorithms&gt;&lt;complexity-classes&gt;&lt;optimization&gt;&lt;linear-programming&gt;" AnswerCount="3" CommentCount="0" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="21061" PostTypeId="2" ParentId="21054" CreationDate="2014-02-15T00:02:11.460" Score="3" Body="&lt;p&gt;A simple variant of binary search takes $O(\log a(n))$ time assuming $a(n) = O(n)$ is monotonic.  To compute $f^{-1}(n)$, find $k$ s.t.&#xA;$$f(n-2^k) \le n \le f(n+2^k)$$&#xA;by trying $k = 0, 1, 2, \ldots$ until the bound holds.  This takes $O(\log a(n))$ steps and produces a window of size $O(a(n))$ which can be finished off with binary search.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Unfortunately, this is the best you can do without a stronger condition on $f(n)$.  Proof sketch: assume that after $O(1)$ queries we've reduced to an interval $[a,b]$ s.t.&#xA;$$\begin{aligned}&#xA;b-a &amp;amp;\ge c a(n) \\&#xA;f(b)-f(a) &amp;amp;= \Theta(a(n))&#xA;\end{aligned}$$&#xA;Then $f(n)$ within $[a,b]$ is an arbitrary monotonic function subject to the end constraints, and we can adversarily choose $f$ to make $\Theta(\log a(n))$ optimal.&lt;/p&gt;&#xA;" OwnerUserId="13245" LastEditorUserId="13245" LastEditDate="2014-02-18T22:35:14.247" LastActivityDate="2014-02-18T22:35:14.247" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="21062" PostTypeId="2" ParentId="8087" CreationDate="2014-02-15T00:04:55.093" Score="18" Body="&lt;p&gt;To me, one of the most basic and surprising consequences of $\mathsf{NP}=\mathsf{coNP}$ is the existence of short proofs for a whole host of problems where it is very difficult to see why they should have short proofs. (This is sort of taking a step back from &quot;What other complexity implications does this collapse have?&quot; to &quot;What are the very basic, down-to-earth reasons this collapse would be surprising?&quot;)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, if $\mathsf{NP}=\mathsf{coNP}$, then for every graph that is not Hamiltonian, there is a short proof of that fact. Similarly for graphs that are not 3-colorable. Similarly for pairs of graphs that are not isomorphic. Similarly for &lt;em&gt;any propositional tautology&lt;/em&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In a world where $\mathsf{P} \neq \mathsf{NP} = \mathsf{coNP}$, the difficulty in proving propositional tautologies isn't that some short tautologies have long proofs - because in such a world &lt;em&gt;every&lt;/em&gt; tautology has a polynomially short proof - but rather that there is some &lt;em&gt;other&lt;/em&gt; reason that we are unable to find those proofs efficiently.&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2014-02-15T00:04:55.093" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="21063" PostTypeId="2" ParentId="8087" CreationDate="2014-02-15T01:15:45.677" Score="12" Body="&lt;p&gt;If we also assume $\mathsf{NP}=\mathsf{RP}$, then the hypothesis  would also cause the collapse of randomized classes: $\,\,\mathsf{ZPP}=\mathsf{RP}=\mathsf{CoRP}=\mathsf{BPP}$. Although these are all conjectured  to unconditionally collapse into $\mathsf{P}$, anyway, it is still open whether that indeed happens. In any case, $\mathsf{NP}=co\mathsf{NP}$ does not seem to imply  in itself  that these randomized classes collapse.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If they do not, that is, we at least have  $\mathsf{BPP}\neq \mathsf{P}$, then, along only  with the  $\mathsf{NP}=co\mathsf{NP}$ hypothesis, this would have another important consequence: $\,\,\mathsf{E}\neq \mathsf{NE}$. This follows from a result of Babai, Fortnow, Nisan and  Wigderson, which says that if all unary (tally) languages in $\mathsf{PH}$ fall in $\mathsf{P}$, then $\mathsf{BPP}=\mathsf{P}$. Thus, if $\mathsf{BPP}\neq \mathsf{P}$, then they cannot all fall in $\mathsf{P}$, as the $\mathsf{NP}=co\mathsf{NP}$ assumption implies $\mathsf{PH}=\mathsf{NP}$. Therefore, there must be a tally language in $\mathsf{NP}-\mathsf{P}$. Finally, the presence of a tally language in  $\mathsf{NP}-\mathsf{P}$ is well known to imply $\mathsf{E}\neq \mathsf{NE}$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The above reasoning shows the interesting effect that the $\mathsf{NP}=co\mathsf{NP}$ hypothesis, despite being a collapse, actually amplifies the &lt;em&gt; separating &lt;/em&gt; power of $\mathsf{BPP}\neq \mathsf{P}$, as the latter alone is not known to imply $\mathsf{E}\neq \mathsf{NE}$. This &quot;anomaly&quot; seems to support the conjecture $\mathsf{BPP}= \mathsf{P}$. &lt;/p&gt;&#xA;" OwnerUserId="12710" LastEditorUserId="12710" LastEditDate="2014-02-15T18:57:39.980" LastActivityDate="2014-02-15T18:57:39.980" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="21064" PostTypeId="1" AcceptedAnswerId="21140" CreationDate="2014-02-15T01:39:09.760" Score="2" ViewCount="685" Body="&lt;p&gt;Is it possible to simulate an inherited attribute using a synthesized attribute? For example, can the inherited attribute SYMTAB used in normal code generation modules be simulated using a synthesized attribute? If yes, what are the changes proposed to the existing attribute grammar? If not, why not? &lt;/p&gt;&#xA;" OwnerUserId="21579" LastEditorDisplayName="user6973" LastEditDate="2014-02-15T02:23:29.397" LastActivityDate="2016-07-06T08:57:31.320" Title="How can an inherited attribute be simulated using a synthesized attribute?" Tags="&lt;pl.programming-languages&gt;&lt;grammars&gt;&lt;compilers&gt;&lt;parsing&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21066" PostTypeId="2" ParentId="21060" CreationDate="2014-02-15T02:49:46.837" Score="14" Body="&lt;p&gt;&lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0095895683710270&quot;&gt;Seymour and Thomas&lt;/a&gt; showed a min-max characterization of treewidth. Yet, tree width is NP-hard. This however is not quite the kind of characterization you are asking for, because the dual function $g$ is not a polynomial time computable function of a short certificate. This is most likely unavoidable for NP complete problems, because otherwise we would have an NP-complete problem in coNP, implying a collapse NP = coNP, and I would consider that quite the shocker.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The &lt;a href=&quot;http://en.wikipedia.org/wiki/Treewidth&quot;&gt;treewidth&lt;/a&gt; of a graph $G$ is equal to the smallest smallest width of a tree decomposition of $G$. A tree decomposition of a graph $G$ is a tree $T$ such that each vertex $x$ of $T$ is labeled by a set $S(x)$ of vertices of $G$ with the property:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;For all $x \in V(T)$, $|S(x)| \leq k+1$.&lt;/li&gt;&#xA;&lt;li&gt;The union of all $S(x)$ is the vertex set of $G$.&lt;/li&gt;&#xA;&lt;li&gt;For every $u \in V(G)$, the subgraph of $T$ induced by all $x$ for which $u \in S(x)$ is connected.&lt;/li&gt;&#xA;&lt;li&gt;Every edge $(u, v) \in E(G)$ is a subset of some $S(x)$ for $x \in V(T)$.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Seymour and Thomas showed that treewidth is equal to &lt;em&gt;bramble number&lt;/em&gt; of $G$: the maximum $k$ such that there is a collection of connected subgraphs of $G$ so that: &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Each two subgraphs are intersecting or connected by an edge.&lt;/li&gt;&#xA;&lt;li&gt;No set of $k$ vertices of $G$ hits all subgraphs.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Such a collection of subgraphs is called a bramble of order $k$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Notice how &quot;bramble number is at least $k$&quot; is a $\exists\forall$ statement, with both quantifiers over exponentially large sets. So it does not suggest an easy to verify certificate (and if there were one that would be really big news, as I said above). To make things even worse, &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0095895608000683&quot;&gt;Grohe and Marx&lt;/a&gt; showed that for every $k$ there is a graph of treewidth $k$ such that any bramble of order at least $k^{1/2 + \epsilon}$ must consist of exponentially many subgraphs. They also show that there exist brambles of order $k^{1/2}/O(\log^2 k)$ of polynomial size. &lt;/p&gt;&#xA;" OwnerUserId="4896" LastEditorUserId="4896" LastEditDate="2014-02-15T03:11:59.243" LastActivityDate="2014-02-15T03:11:59.243" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="21067" PostTypeId="2" ParentId="21052" CreationDate="2014-02-15T03:57:26.617" Score="-4" Body="&lt;p&gt;even many simple &lt;a href=&quot;http://en.wikipedia.org/wiki/Counter_machine&quot; rel=&quot;nofollow&quot;&gt;counter machines&lt;/a&gt; have been proven Turing complete and this result might be surprising to nonresearchers (or researchers who dont specialize in the area). suggest a more relevant &lt;em&gt;research&lt;/em&gt; question would be to review the existing models (many listed on wikipedia), determine if yours fits into them anywhere, and if it does not, describe the precise difference with one of the &quot;nearest&quot; models analyzed in the literature.&lt;/p&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2014-02-15T03:57:26.617" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="21071" PostTypeId="2" ParentId="1215" CreationDate="2014-02-15T09:28:44.360" Score="6" Body="&lt;p&gt;A harmonious coloring of a simple graph is a proper vertex coloring such that each pair of colors appears together on at most one edge. The Harmonious Chromatic Number of a graph is least number of colors in a harmonious coloring of the graph. This problem of finding Harmonious Chromatic Number was shown to be NP-complete on trees by &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/0166218X9400100R&quot;&gt;Edwards and McDiarmid&lt;/a&gt;. In fact, they also show that the problem remains NP-complete for trees of radius 3. &lt;/p&gt;&#xA;" OwnerUserId="21609" LastActivityDate="2014-02-15T09:28:44.360" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21073" PostTypeId="2" ParentId="11338" CreationDate="2014-02-15T16:01:56.880" Score="2" Body="&lt;p&gt;The uniform version is theorem 7 of the paper &lt;a href=&quot;http://www.jstor.org/discover/10.2307/2275058?uid=3737512&amp;amp;uid=2&amp;amp;uid=4&amp;amp;sid=21103505591023&quot; rel=&quot;nofollow&quot;&gt;&quot;Inductive inference and unsolvability&quot;&lt;/a&gt; by Adleman and M. Blum. The result is for Gold's model of learnability in the limit (the oracle, instead of predicting the next bit, gives you an index of a program that computes the sequence you are trying to discover). Both models are equivalent.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The idea behind the proof is that, for every total computable function $h$ there is a total computable function $g$ whose running time dominates $h$. So, you use the oracle to, on input x, find the greatest of the running time of all functions inferable from a prefix of length $x$. In order not to run forever, you stop counting the steps of the function predicted by the oracle if you find that it will change its prediction when a finite number of 0s are appended to the prefix (this eventually happens because the oracle has to predict every finite variation of the constantly 0 function). The trick is that for every $h$ and every sufficiently large $z$, the output is at least as big as the number of steps to compute $g(z)$, for the respective $g$.&lt;/p&gt;&#xA;" OwnerUserId="21447" LastActivityDate="2014-02-15T16:01:56.880" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21074" PostTypeId="1" AcceptedAnswerId="21078" CreationDate="2014-02-15T17:06:27.577" Score="15" ViewCount="1072" Body="&lt;p&gt;We say that a Turing Machine $M$ is mortal if $M$ halts for every starting configuration (in particular, the tape content and initial state can be arbitrary). Is every recursive language recognized by a mortal Turing Machine? (i.e. if there is a TM that accepts $L$, there is also mortal TM that accepts $L$)&lt;/p&gt;&#xA;" OwnerUserId="2083" LastActivityDate="2014-02-15T20:33:10.473" Title="Is every recursive language recognized by a mortal Turing machine?" Tags="&lt;computability&gt;" AnswerCount="2" CommentCount="11" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="21076" PostTypeId="2" ParentId="21060" CreationDate="2014-02-15T19:24:16.210" Score="13" Body="&lt;p&gt;Parity games, Mean-payoff games, Discounted games, and Simple Stochastic games fall within this category.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;All of them are infinite two-player zero-sum games played on graphs, where players control vertices and choose where a token should go next. All have equilibria in memoryless positional strategies, meaning that each player chooses an edge at each choice vertex deterministically and irrespective of the history of play. Given a strategy of one player, a best response of the other player can be computed in polynomial time, and the min-max relationship you require holds for the &quot;value&quot; of the game.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The natural decision variants of these problems are in NP and co-NP (indeed UP and co-UP) and the function problems, to find an equilibrium, lie in PLS and PPAD.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The algorithms with best-known running time are sub-exponential, but super-polynomial (e.g. $O(n^\sqrt{n})$, where $n$ is the number of vertices in the game graph).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See, e.g.,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;David S. Johnson. 2007. The NP-completeness column: Finding needles in haystacks. ACM Trans. Algorithms 3, 2, Article 24 (May 2007). DOI=10.1145/1240233.1240247 &lt;a href=&quot;http://doi.acm.org/10.1145/1240233.1240247&quot; rel=&quot;nofollow&quot;&gt;http://doi.acm.org/10.1145/1240233.1240247&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="368" LastEditorUserId="368" LastEditDate="2014-02-16T09:38:38.383" LastActivityDate="2014-02-16T09:38:38.383" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21077" PostTypeId="2" ParentId="21074" CreationDate="2014-02-15T19:28:34.217" Score="9" Body="&lt;p&gt;I think there is. We have to make for every L an M that accepts it in such a way that all his moves are recorded on a tape and after every &quot;main step&quot; it checks whether all his steps until that point were really valid. Below I give a sketch about how such a machine should be made (which might contain some minor errors but the main idea should be fine).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Denote a machine that accepts L by T. Now we describe M. First, we copy x to a separate memory tape. Then whenever T would make a move, we write it down on this memory tape, after x. After this, we copy the whole contents of T's tapes into some extra working tapes and check whether from the starting configuration T would really get to its current state after the steps recorded on the memory tape. If not, we halt. If yes, we continue.&lt;/p&gt;&#xA;" OwnerUserId="419" LastActivityDate="2014-02-15T19:28:34.217" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="21078" PostTypeId="2" ParentId="21074" CreationDate="2014-02-15T19:36:48.987" Score="14" Body="&lt;p&gt;Here are two results cited in &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.74.6512&quot;&gt;Charles E. Hughes &quot;Undecidability of finite convergence for concatenation, insertion and bounded shuffle operators&quot;&lt;/a&gt;:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Theorem 3&lt;/strong&gt;: The class of mortal Turing machines is exactly the class of the constant running time Turing machines.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$ConstT = \{ M \mid \exists s $ s.t. for all initial configurations $C$, $M$ halts in no more than $s$ steps $\}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So I think that we can derive the following: given a mortal Turing machine $M$, let $M', s$ be the corresponding constant time TM and its running time. The language recognized by $M$ over alphabet $\Sigma = \{0,1\}$ is exactly:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\{ xy \mid |x| \leq s \land M' \text{ accepts } x \text{ in no more than s steps}, y \in \{0,1\}^* \}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So the class of languages recognized by mortal Turing machines is a proper subset of the class of regular languages. For example you can use  $L = \{(0|1)^*1^*\} $ to fool every constant time TM.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Things get interesting when we try to decide if a Turing machine is mortal because we have to face with arbitrary (finite) initial tape and state.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Theorem 4&lt;/strong&gt;: the set of mortal Turing machines is recursively enumerable. &lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2014-02-15T19:55:52.537" LastActivityDate="2014-02-15T19:55:52.537" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21079" PostTypeId="1" AcceptedAnswerId="21082" CreationDate="2014-02-15T19:38:36.310" Score="2" ViewCount="325" Body="&lt;p&gt;Reading the book &quot;Introduction to Graph Theory&quot; (West, 2nd ed.) I have come across the following definition and statement:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/OqHLa.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Why is this statement true ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose I have a graph $G$ that consist of a cycle $C$ and a path $P$ that share no vertices. Then $G$ has an ear decomposition ? Well, I can decompose $G$ into $P_o = C$ and $P_1 = P$ ? $P_o$ is a cycle and $P$ is an ear of $P_0 \cup P_1$ - $P$ is a maximal path whose interval vertices have degree $2$ in $G$ ? But $G$ is not connected and therefore is $0$-connected and not $2$-connected ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/XzNAY.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;" OwnerUserId="21617" LastEditorUserId="17082" LastEditDate="2014-02-16T09:38:30.227" LastActivityDate="2014-02-16T09:38:30.227" Title="Why is 2-connectedness characterized by the existence of an ear decomposition ?" Tags="&lt;graph-theory&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="21081" PostTypeId="2" ParentId="21060" CreationDate="2014-02-15T21:15:21.637" Score="22" Body="&lt;p&gt;In some technical sense you are asking whether $P = NP \cap coNP$.  Suppose that $L \in NP \cap coNP$, thus there exists poly-time $F$ and $G$ so that $x \in L$ iff $\exists y: F(x,y)$ and $x \not\in L$ iff $\exists y: G(x,y)$.  This can be recast as a minmax characterization by&#xA;$f_x(y) = 1$ if $F(x,y)$ and $f_x(y) = 0$ otherwise; $g_x(y) = 0$ if $G(x,y)$ and $g_x(y) = 1$&#xA;otherwise.  Now indeed we have $max_y f_x(y) = min_y g_x(y)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So in this sense, any problem known to be in $NP \cap coNP$ but not known to be in $P$ can be turned into an answer to your question.  E.g. Factoring (say, the decision version of whether the $i$'th bit of the largest factor is 1).&lt;/p&gt;&#xA;" OwnerUserId="42" LastEditorUserId="42" LastEditDate="2014-02-15T21:20:25.443" LastActivityDate="2014-02-15T21:20:25.443" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="21082" PostTypeId="2" ParentId="21079" CreationDate="2014-02-15T22:18:54.000" Score="6" Body="&lt;p&gt;&quot;Ear decomposition&quot; is not a term I've heard before but it's incorrectly defined, as you've observed, since it doesn't require that the graph be connected, let-alone 2-connected.  An &quot;ear&quot; needs to be defined as having each endpoint adjacent to at least one further vertex of&amp;nbsp;$G$.  (Actually, each endpoint would have to be adjacent to at least two further vertices, or the path wouldn't be maximal.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;With the correct definition, the theorem is true.&lt;/p&gt;&#xA;" OwnerUserId="17082" LastEditorUserId="17082" LastEditDate="2014-02-15T22:32:35.743" LastActivityDate="2014-02-15T22:32:35.743" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="21084" PostTypeId="1" CreationDate="2014-02-16T01:17:13.200" Score="0" ViewCount="114" Body="&lt;p&gt;According &lt;a href=&quot;http://possiblywrong.com/presentations/generic-discriminated-sorting/#/step-5&quot; rel=&quot;nofollow&quot;&gt;to this slide&lt;/a&gt; - the following sorting algorithms &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Merge Sort&lt;/li&gt;&#xA;&lt;li&gt;Insertion Sort&lt;/li&gt;&#xA;&lt;li&gt;Bubble Sort&lt;/li&gt;&#xA;&lt;li&gt;Quicksort&lt;/li&gt;&#xA;&lt;li&gt;Bogosort&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;all rely on &lt;code&gt;cmp&lt;/code&gt; - which has a fixed upper limit of &lt;code&gt;n log n&lt;/code&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.diku.dk/hjemmesider/ansatte/henglein/papers/henglein2011a.pdf&quot; rel=&quot;nofollow&quot;&gt;Ralf Hinze's Discriminator sort&lt;/a&gt; is incredibly performant in linear time. According &lt;a href=&quot;http://possiblywrong.com/presentations/generic-discriminated-sorting/#/step-60&quot; rel=&quot;nofollow&quot;&gt;to these tests&lt;/a&gt; in Scala it runs faster than cmp-based sorts for a linear operation. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is - can the &lt;a href=&quot;http://www.cs.ox.ac.uk/ralf.hinze/WG2.8/31/slides/aplas2013.pdf&quot; rel=&quot;nofollow&quot;&gt;disciminator sort&lt;/a&gt; be parallelized?&lt;/p&gt;&#xA;" OwnerUserId="608" LastActivityDate="2014-02-16T01:17:13.200" Title="Is Ralf Hinze's Discriminator sort parallelizable?" Tags="&lt;sorting&gt;&lt;parallel&gt;" AnswerCount="0" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="21085" PostTypeId="1" AcceptedAnswerId="21109" CreationDate="2014-02-16T02:49:05.217" Score="12" ViewCount="697" Body="&lt;p&gt;&lt;strong&gt;Instance:&lt;/strong&gt; An undirected graph $G$ with two distinguished vertices $s\neq t$, and an integer $k\geq 2$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question:&lt;/strong&gt; Does there exist an $s-t$ path in $G$, such that the path touches at most $k$ vertices? (A vertex is touched by the path if the vertex  is either on the path, or has a neighbor on the path.)&lt;/p&gt;&#xA;" OwnerUserId="12710" LastActivityDate="2014-03-10T03:39:42.060" Title="What is the complexity of this path problem?" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;" AnswerCount="2" CommentCount="6" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="21087" PostTypeId="1" CreationDate="2014-02-16T03:46:19.777" Score="2" ViewCount="264" Body="&lt;p&gt;Lets assume the proof of a conjecture, for example, the famous Goldbach conjecture. Is it possible to try to prove or disprove such a conjecture by devising a Turing machine that accepts if the proof is possible.&#xA;So, for Turing machine M, &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If, the conjecture is provable, accept, else reject.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, in essence, we don't try to find a proof of the conjecture, but, try to find whether its provable, something like zero-knowledge proofs. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Additional Details&lt;/strong&gt;:&#xA;I felt the way most of these conjectures go, is they say: For all n, C holds true. &#xA;So, in essence, even if it can be shown that C holds up to some n, but, it hasn't been able to be derived for all n. And, this seems to bear a striking similarity to the Halting problem. So, I felt a mapping must be worthwhile to study/research.&lt;/p&gt;&#xA;" OwnerUserId="21579" LastEditorUserId="21579" LastEditDate="2014-02-16T18:25:17.440" LastActivityDate="2014-02-17T15:03:49.243" Title="Is it worthwhile to try to prove a conjecture by mapping it to a Turing machine?" Tags="&lt;turing-machines&gt;&lt;proofs&gt;" AnswerCount="1" CommentCount="15" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21088" PostTypeId="2" ParentId="21022" CreationDate="2014-02-16T04:37:38.897" Score="2" Body="&lt;p&gt;This is a special case of the &lt;a href=&quot;http://en.wikipedia.org/wiki/Set_packing&quot; rel=&quot;nofollow&quot;&gt;Maximum Set Packing Problem&lt;/a&gt; and both problem A and B are &lt;strong&gt;NP-Complete&lt;/strong&gt;. Note that the problem is simply a &lt;a href=&quot;http://en.wikipedia.org/wiki/Matching_%28graph_theory%29&quot; rel=&quot;nofollow&quot;&gt;matching problem&lt;/a&gt; if $n=2$ and is also easy if $n=1$. So I'll assume $n \ge 3$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Instead of asking the question,&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Are there $M$ disjoint sets among the $P$ sets? &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Let's ask the following question&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What is the maximum number of disjoint sets we can obtain from the $P$ sets?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;It is clear that if the second question is answerable in polynomial time, then so is the first since all we have to do is compare this maximum value to $M$ and output &lt;strong&gt;YES&lt;/strong&gt; if $M$ is less than or equal to this maximum and &lt;strong&gt;NO&lt;/strong&gt; otherwise.&lt;br&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, if the first question is answerable in polynomial time, then the second is too since we can use binary search on $M$ and obtain the answer to the second question and only add a factor of $O(\log{M})$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So we can conclude that both questions are equivalent. i.e. Question 1 is polylomial time solvable if and only if Question 2 is too.&lt;br&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is also clear that the problems are in NP since we can easily verify that the $M$ sets outputed are disjoint.&lt;br&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So the question now is how do we reduce a known NP-Hard problem to this? To do this we reduce from the &lt;a href=&quot;http://en.wikipedia.org/wiki/Set_packing&quot; rel=&quot;nofollow&quot;&gt;maximum set packing&lt;/a&gt; problem. I'll simply focus on problem A since problem B can easily be shown to be hard by setting $k=n-1$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider an arbitrary instance of the maximum set packing problem $T$. Note that the only difference between problem A and the original maximum set packing problem is that in problem A, the size of the sets have to be equal. Let $t$ be the maximum cardinality among all sets in $T$. If every set in $T$ have the same cardinality, we are done and the set cover problem is exactlly problem A. Now suppose that for some set $S_i \in T$, we have $|S_i| &amp;lt; t$. We simply add $(t-|S_i|)$ elements to $S_i$ which are not elements of any set in $T$. We repeat this process until all sets $S_i \in T$ have the same size. It is clear that adding new elements in this way does not change the size of the maximum number of disjoint sets.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, if we can solve problem $A$ in polynomial time, we can solve the maximum set packing problem in polynomial time since all we have to do is remove the extra elements that we have added, and doing this doesn't change the size of the maximum number of disjoint sets in $T$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT - Some Additional information about problem B&lt;/strong&gt;&lt;br&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose problem B has a polynomial time solution, now consider an arbitrary instance $T$ of problem A with $n$ elements per set. Now we add a dummy element $d$ to each set in $T$. We now ask the following question.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What is the maximum number of disjoint sets we can obtain by taking&#xA;  $n$ elements from each set?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Now we know that among the sets in the maximum, at most one of them can contain the dummy element, hence if the answer we get as the maximum is $M$, then the actual maximum number of sets in instance $T$ (our original problem A) is either $M$ or $(M-1)$, but this gives a constant factor approximation for maximum set packing. And such an approximation is only possible if $P=NP$. So problem B is also hard.&lt;/p&gt;&#xA;" OwnerUserId="5789" LastEditorUserId="5789" LastEditDate="2014-02-17T15:32:58.680" LastActivityDate="2014-02-17T15:32:58.680" CommentCount="2" CommunityOwnedDate="2014-02-17T15:32:58.680" ContentLicense="CC BY-SA 3.0" />
  <row Id="21091" PostTypeId="2" ParentId="21087" CreationDate="2014-02-16T11:26:27.447" Score="6" Body="&lt;p&gt;First, you don't need to turn them into Turing machines, it is essentially the same as running a proof search algorithm. The logical complexity of the formula (which in the cases you have in mind are $\Pi^0_1$) has no effect on this, searching for proofs in any effective theory (like ZFC, for proof to make sense you have to fix a theory) can be done in a straight forward manner, the set of provable statements for any effective theory is $\Sigma^0_1$ and therefore computable enumerable.  But there are no reasons to do that, you don't gain anything a priori just by adding one extra unnecessary layer of coding, it has no benefit (AFAIK).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also don't confuse proof search with a direct reduction from the truth of a $\Pi^0_1$ statement to the halting problem (which exists as not halting is $\Pi^0_1$-complete).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Second, consider the much simpler case of &lt;em&gt;propositional&lt;/em&gt; tautologies in place of first-order statements like GC. (propositional tautologies is a coNP set also known as $\Pi^B_1$). The state of art proof search algorithms (i.e. SAT solvers) are exponentially inefficient in finding proofs of very simple finitary mathematical statements like the pigeon-hole principle tautologies. You can run a first-order proof search program to look for a ZFC proof of GC but I haven't seen &lt;em&gt;any&lt;/em&gt; interesting mathematical statement being discovered/proven by unguided brute-force search of proofs. So there is no example of this being useful. (For human-guided use of computer in proving mathematical theorems we have the four colors theorem.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Third, if you use a proof search algorithm you will only know if there is a proof, if there isn't any you will not know and the algorithm will continue forever without halting. In other words, you can't write a program like the one you have stated in the question (which is why I commented that this is more suitable for CS Q&amp;amp;A site since this is very basic mistake in computability theory).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See also my answers to similar questions on &lt;a href=&quot;https://math.stackexchange.com/questions/156975/solving-p-vs-np-with-computer/157493#157493&quot;&gt;math&lt;/a&gt; and &lt;a href=&quot;https://cs.stackexchange.com/questions/7737/is-it-mathsfnp-hard-to-decide-whether-mathsfp-mathsfnp/7774#7774&quot;&gt;CS&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="-1" LastEditDate="2017-04-13T12:48:30.830" LastActivityDate="2014-02-17T15:03:49.243" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21095" PostTypeId="2" ParentId="21016" CreationDate="2014-02-17T03:30:00.637" Score="1" Body="&lt;p&gt;Find the sequence of Fibonacci numbers that are the product of other Fibonacci numbers. For example, the Fibonacci number 8 is in the sequence because 8=2*2*2, and 2 is a Fibonacci number that is not equal to 8. The Fibonacci number 144 is in the sequence because 144=3*3*2*2*2*2, and both 2 and 3 are Fibonacci numbers that are not equal to 144.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Carmichael's theorem implies that 8 and 144 are the only terms of this sequence.&lt;/p&gt;&#xA;" OwnerUserId="21641" LastActivityDate="2014-02-17T03:30:00.637" CommentCount="0" CommunityOwnedDate="2014-03-14T00:03:36.567" ContentLicense="CC BY-SA 3.0" />
  <row Id="21097" PostTypeId="1" AcceptedAnswerId="21223" CreationDate="2014-02-17T03:52:10.653" Score="8" ViewCount="1742" Body="&lt;p&gt;I'm working on trying to partition a triangulated graph into connected subgraphs with some guarantees on the number of inter-partition edges. Here's an example of a triangulated graph that has been partitioned into 4 &quot;clusters&quot;: &lt;img src=&quot;https://i.stack.imgur.com/080uz.png&quot; alt=&quot;Example Triangulation with Partitioning&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What I wanted originally was an algorithm that could create partitions of approximately k triangles (there could be some error as long it wasn't too large), and I managed to figure out a $O(k^2p^2(v+e))$ algorithm (where p is the total number of partitions) that could find such a partitioning. I then realized that having large numbers of inter-partition edges were detrimental for the application I needed this algorithm for.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Ideally, I'd like an algorithm that can keep each partition within some range of $k$, ideally have it be a constant factor like 2. Also, I'd like to be able to make the number of inter-edges have an upper bound that is &quot;low&quot;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Additionally, another problem I have is if I have a partition that has these properties, and I modify the graph by doing one of the following:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Adding a set of edges connecting to existing vertices&lt;/li&gt;&#xA;&lt;li&gt;Adding a vertex and a set of edges connecting to the added vertex&lt;/li&gt;&#xA;&lt;li&gt;Removing a set of edges&lt;/li&gt;&#xA;&lt;li&gt;Removing a vertex and all edges that connect to this vertex&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I want to be able to repartition the graph and still have each partition with size $k$ and number of cut edges minimized. (This is the solution I'm putting up a bounty for). This means that using this algorithm, we can construct any partition by starting with an empty graph and adding vertices and edges one by one and repartitioning.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here's some additional constraints to the problem:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The graph is planar&lt;/li&gt;&#xA;&lt;li&gt;Each &quot;triangle&quot; is a vertex that has undirected edges to triangles it shares an edge with&lt;/li&gt;&#xA;&lt;li&gt;From the above statement, it is obvious that each vertex in this graph has degree at most 3&lt;/li&gt;&#xA;&lt;li&gt;The graph is connected&lt;/li&gt;&#xA;&lt;li&gt;Each subgraph from the partition is connected&lt;/li&gt;&#xA;&lt;li&gt;Each subgraph has approximately k vertices&lt;/li&gt;&#xA;&lt;li&gt;There are at most $\sqrt n$ inter-partition edges (edges that contain a vertices from different partitions). If you can find a similar bound for inter-partition edges like $2\sqrt n$ or $O(\log n)$ then that could work too. I'm not entirely sure the upper bound for inter-partition edges can be less than $O(n)$ so if you can prove that its impossible to do better, that is satisfying as well.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I'm at a point where I'm stuck, so any help with this problem would be lovely. If you can flat out solve this problem, you're the bees knees. Otherwise, if you know of any papers or textbooks or algorithms you could point me to, I'd appreciate it very much.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let me know if I need to clarify anything!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT: Here are some additional constraints if it makes the problem easier.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;We are dealing with constrained delaunay triangulations&lt;/li&gt;&#xA;&lt;li&gt;Constraints will NEVER be a single vertex&lt;/li&gt;&#xA;&lt;li&gt;The graph created from the triangulation is constructed as follows: each triangle is represented as a vertex. Each edge in the graph corresponds to an unconstrained edge in the triangulation. This means that a constrained edge between two triangles will not show up in the graph representation of the triangulation.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Another thing I realized is that we may need to modify $k$ to grow as $n$ grows, otherwise there can be no sub $O(n)$ guarantees on the number of inter-partition edges.&lt;/p&gt;&#xA;" OwnerUserId="21347" LastEditorUserId="21347" LastEditDate="2014-02-20T21:27:48.590" LastActivityDate="2014-02-24T01:20:40.733" Title="Partitioning graphs while minimizing inter-partition edges" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;planar-graphs&gt;&lt;partition-problem&gt;&lt;delaunay-triangulation&gt;" AnswerCount="4" CommentCount="8" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21099" PostTypeId="2" ParentId="21085" CreationDate="2014-02-17T09:32:02.250" Score="10" Body="&lt;p&gt;&lt;strong&gt;Edit:&lt;/strong&gt; Please see user20655's answer below for a reference to a paper already proving the hardness of this problem. I will leave my original post in, in case anyone wants to see this alternate proof.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;===============&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider an instance of MIN-SAT, &lt;a href=&quot;http://ndssl.vbi.vt.edu/Publications/ApproxAlgo.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;which is an NP-hard problem&lt;/a&gt;, consisting of variables $X = \{x_1, x_2, \cdots\, x_n\}$ and clauses $C = \{c_1, c_2, c_3, \cdots\}$. We will reduce this to your path problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We will have two vertices for each $x_i$ (one for the negated form and one for the unnegated) and one vertex for each $c_i$. Further, letting $m = 2n+|C|$, we will have $m$ vertices $p_1, p_2, \cdots, p_{m}$ for padding. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Roughly speaking, we will construct a graph where the optimal solution will be to build a path from $s$ to $t$ using the $x_i$s and $\bar{x_i}$s as intermediate nodes. The cost of this path will be exactly the $c_j$s that the path we chose would satisfy if we were to turn it into an assignment. The $p_i$s are just there to prevent the optimal solution from being able to cheat by short-cutting through any of the $c_j$s.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Connect $x_i$ to any clause $c_j$ in which $x_i$ appears and $\overline{x_i}$ to any clause $c_j$ in which $\overline{x_i}$ appears. To force an assignment of the variables, we make a diamond ladder-like structure, where $x_i$ and $\overline{x_i}$ are both connected to each of $x_{i+1}$ and $\overline{x_{i+1}}$. $s$ is connected to both $x_1$ and $\overline{x_1}$ and $t$ is connected to both $x_n$ and $\overline{x_n}$. Finally, each $c_i$ is connected to all padding variables $p_j$. I don't have my go-to software for graph drawing handy, so here is an (extremely) crudely-drawn diagram of this construction:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/zemBV.png&quot; alt=&quot;Construction of the hard instance&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Note that the $\{P_i\}$ cloud here is just a big set of vertices, and each thick edge from $c_j$ to this cloud represents $c_j$ being connected to each vertex in this set.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The claim is that in the optimal solution for the min-touching path problem, the number of vertices that will touch the path is $Q + 2n + 2$, where $Q$ is the optimal solution to the MIN-SAT instance. This is because&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;The path needs to start at $s$ and end at $t$, and the best way to do this  without collecting all padding vertices is to keep going from $y_i \in \{x_i, \overline{x_i}\}$ to $y_{i+1} \in \{x_{i+1}, \overline{x_{i+1}}\}$ without ever collecting both $x_i$ and $\overline{x_i}$ for any $i \in 1, \cdots, n$ (this is intuitive, as deleting one of the two options from any variable chosen twice yields a valid path with cost no larger than had we kept both in).&lt;/li&gt;&#xA;&lt;li&gt;There is a solution of cost at most $m+2$ that goes $s, x_1, x_2, \cdots, x_n, t$, collecting nothing outside of $s$, $t$, $\{x_i\}$, $\{\overline{x_i}\}$, and $\{c_i\}$. Since &lt;em&gt;any&lt;/em&gt; $s-t$ path that gets any padding must contain at least $s$, $t$, some $c_i$, some $x_i$ and $x_j$, and all of $\{p\}$, it has a cost of $\geq m+5$, so it is suboptimal. Thus, the optimal solution does not touch any of the padding vertices, so the path must proceed as outlined in part (1).&lt;/li&gt;&#xA;&lt;li&gt;Call the variable assignments corresponding to vertices that the path goes through (other than $s$ and $t$) the &lt;em&gt;induced assignment&lt;/em&gt; of the path. A vertex $c_j$ is touched iff the induced assignment of the path would satisfy clause $c_j$. Conversely, an assignment of the variables that satisfies $Q$ clauses can be transformed into a path that touches exactly $Q$ of the $c_j$s by looking at the path that induces said assignment.&lt;/li&gt;&#xA;&lt;li&gt;Every $x_i$ and $\overline{x_i}$ touches this path, as well as both $s$ and $t$. Together, these contribute $2n + 2$ to the total cost. The rest comes from the $c_i$ that are touched, at a cost of $Q$ in the optimal solution.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Thus, we can check if the MIN-SAT instance has a solution of cost $\leq k$ if the graph we construct has a cost of $\leq k + 2n + 2$ in an instance of your path problem. In particular, we can do this via a Karp-reduction. Thus, the problem as stated is NP-hard.&lt;/p&gt;&#xA;" OwnerUserId="3532" LastEditorUserId="3532" LastEditDate="2014-02-17T17:43:00.053" LastActivityDate="2014-02-17T17:43:00.053" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21100" PostTypeId="1" AcceptedAnswerId="21113" CreationDate="2014-02-17T10:21:20.263" Score="0" ViewCount="107" Body="&lt;p&gt;It is a common belief that $\mathbf{P}\subsetneq\mathbf{PSPACE}$, thus (most likely) there are problems that are &quot;harder&quot; for time than for space. But is there a problem in $\mathbf{P}$ with a poly-space lower bound (say for multi tape TM), i.e. is there a space-hard problem in $\mathbf{P}$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Similarly, is there a problem in $\mathbf{P}$ with a good non-deterministic time lower bound? Is there a problem in $\mathbf{NP}$ with poly-space lower bound? ...&lt;/p&gt;&#xA;" OwnerUserId="7289" LastEditorUserId="7289" LastEditDate="2014-02-18T12:05:37.733" LastActivityDate="2014-02-18T12:05:37.733" Title="Problems of similar complexity for different measures" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;" AnswerCount="1" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="21102" PostTypeId="2" ParentId="21016" CreationDate="2014-02-17T11:50:08.350" Score="2" Body="&lt;p&gt;Finding min-cuts. Given a weighted graph and two vertices $((V, E), s, t)$, find $E' \subset E$ such that $s$ and $t$ are not connected in $(V, E')$, such that the total weight of $E'$ is maximised.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By the max-flow/min-cut theorem, this reduces to finding the maximum flow from $s$ to $t$ in $(V, E)$. This problem is not trivial, but a pretty simple idea works: if we can increase the flow along some $s$-$t$ path, do so. The tricky part is choosing which paths to augment in a way which finds the max-flow quickly.&lt;/p&gt;&#xA;" OwnerUserId="2241" LastActivityDate="2014-02-17T11:50:08.350" CommentCount="3" CommunityOwnedDate="2014-03-14T00:03:36.567" ContentLicense="CC BY-SA 3.0" />
  <row Id="21104" PostTypeId="1" AcceptedAnswerId="21107" CreationDate="2014-02-17T12:59:43.753" Score="3" ViewCount="2481" Body="&lt;p&gt;The clique graph $C$ of a given graph $G$ has the maximal cliques of $G$ as vertices and their is an edge between two vertices in $C$ iff the corresponding cliques share some vertices.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now for chordal graphs, this clique graph is a tree and for proper interval graphs it is a path. Incidentally for both these graphs the max-clique recognition algorithm runs in polynomial time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is are there other class of graphs who has characterization in terms of its clique graph. ? I am specially looking for such characterisations for bipartite graphs. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any link to paper/journal is welcome.&lt;/p&gt;&#xA;" OwnerUserId="12280" LastActivityDate="2014-02-17T14:17:59.873" Title="Clique graph of bipartite graphs" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;clique&gt;" AnswerCount="2" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="21106" PostTypeId="1" AcceptedAnswerId="21125" CreationDate="2014-02-17T14:08:27.580" Score="28" ViewCount="1617" Body="&lt;p&gt;Is there an example of a language which is in $NP$, but where we cannot prove this fact directly by showing that there exists a polynomial witness for membership in this language?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Instead, the fact that the language is in $NP$ would be proven by reducing it to another language in $NP$, where the link between the two is not trivial and needs careful analysis.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More generally, are there some interesting examples of problems in $NP$ so that it is hard to see that they are in $NP$? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A semi-answer would be the problem of deciding the winner in parity games: to show that it is in $NP$ (even $NP\cap coNP$), we need the positional determinacy theorem which is deep and non-trivial. However this answer is not ideal, because it still boils down to the existence of a polynomial witness for this exact problem (the positional strategy), and does not reduce to another different $NP$-problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another one would be the AKS primality algorithm: deciding whether a number is prime is polynomial, while there is a priori no small witness for this fact. Let's say we rule out the &quot;surprising polynomial algorithms&quot;, since many of them would fit the description above. I'm more interested in surprising $NP$ algorithms which are not deterministic.&lt;/p&gt;&#xA;" OwnerUserId="8953" LastActivityDate="2014-02-20T05:19:59.170" Title="Nontrivial membership in NP" Tags="&lt;reductions&gt;&lt;np&gt;" AnswerCount="7" CommentCount="7" FavoriteCount="10" ContentLicense="CC BY-SA 3.0" />
  <row Id="21107" PostTypeId="2" ParentId="21104" CreationDate="2014-02-17T14:09:41.417" Score="6" Body="&lt;p&gt;I recommend you taking a look at this book chapter:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://link.springer.com/chapter/10.1007/0-387-22444-0_5&quot;&gt;J. L. Szwarcfiter, &lt;em&gt;A Survey on Clique Graphs&lt;/em&gt;, Recent Advances in Algorithms and Combinatorics,&#xA;CMS Books in Mathematics 2003, pp 109-136.&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;In there, many characterizations of clique graphs of specific classes are given. For example, it is mentioned that the clique graphs of chordal graphs are the dually chordal graphs and clique graphs of proper interval graphs are also proper interval graphs, and not trees and paths as you supposed.&lt;/p&gt;&#xA;" OwnerUserId="282" LastActivityDate="2014-02-17T14:09:41.417" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21109" PostTypeId="2" ParentId="21085" CreationDate="2014-02-17T14:15:24.880" Score="14" Body="&lt;p&gt;This problem was studied in:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Shiri Chechik, Matthew P. Johnson, Merav Parter, David Peleg: Secluded Connectivity Problems. ESA 2013: 301-312.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://arxiv.org/pdf/1212.6176v1.pdf&quot;&gt;http://arxiv.org/pdf/1212.6176v1.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;They called it secluded path problem. It's indeed NP-hard, and the optimization version has no constant-factor approximation.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The motivation the authors provide is a setting where the information is sent over the path, and only the neighbors and the nodes in the path can see it. The goal is to minimize the exposure. &lt;/p&gt;&#xA;" OwnerUserId="20655" LastEditorUserId="20655" LastEditDate="2014-02-17T15:46:04.200" LastActivityDate="2014-02-17T15:46:04.200" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21110" PostTypeId="2" ParentId="21104" CreationDate="2014-02-17T14:17:59.873" Score="2" Body="&lt;p&gt;There are other graphs, but they are all chordal. That is, chordal graphs are precisely the class of graphs that admit a clique tree representation, see e.g. [1]. Proper interval graphs are also chordal, while bipartite graphs in general are not. &lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;[1] &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/009589567490094X&quot; rel=&quot;nofollow&quot;&gt;Gavril, Fǎnicǎ. &quot;The intersection graphs of subtrees in trees are exactly the chordal graphs.&quot; Journal of Combinatorial Theory, Series B 16.1 (1974): 47-56.&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="5693" LastActivityDate="2014-02-17T14:17:59.873" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21112" PostTypeId="1" AcceptedAnswerId="21127" CreationDate="2014-02-17T17:34:29.863" Score="0" ViewCount="268" Body="&lt;p&gt;Is there a better term for &quot;complete k-partite graph&quot; in the case where k is not fixed?  If I say &quot;complete k-partite graph&quot;, people tend to assume &quot;for some particular k&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In other words, what's a term for any graph for whom each connected component in the complement graph is a clique?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I asked this before, but it was as part of another question, so it was ignored.&lt;/p&gt;&#xA;" OwnerUserId="13643" LastEditorUserId="13643" LastEditDate="2014-02-18T02:58:46.133" LastActivityDate="2014-02-18T18:25:28.613" Title="Terminology for complete k-partite graph where k is not fixed" Tags="&lt;graph-theory&gt;&lt;terminology&gt;&lt;clique&gt;" AnswerCount="3" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21113" PostTypeId="2" ParentId="21100" CreationDate="2014-02-17T17:38:28.087" Score="5" Body="&lt;p&gt;The answer to the first question is that we don't know, because we don't know whether $\mathbf P=\mathbf L$, so it could be that all $\mathbf P$ problems use only logarithmic space.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the second one, most reasonable problems need at least linear time to read the input, even for non-deterministic machines, so it does not make a lot of sense to say &quot;polynomial non-deterministic lower bound&quot;, or you need to make your question more precise.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, the last question is like the first one: it could be that $\mathbf{NL}=\mathbf{NP}$, in which case such a problem wouldn't exist, we don't know...&lt;/p&gt;&#xA;" OwnerUserId="8953" LastActivityDate="2014-02-17T17:38:28.087" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="21115" PostTypeId="1" CreationDate="2014-02-17T17:57:29.097" Score="2" ViewCount="776" Body="&lt;p&gt;I am a computer science graduate from India. I have worked in a reputed software company for 10 months only to discover that my area of interest is something else. So I resigned from there and I am presently preparing for GATE 2014 which is due in a few days. Now I have the following doubts in my mind : &lt;br&gt;&#xA; 1. Is it sufficient and necessary to get into a reputed college in India through GATE ? &lt;br&gt;&#xA; 2. Are there any alternatives to pursue a career in Theoretical CS ? &lt;br&gt;&#xA; 3. How about foreign universities for this career path ? &lt;br&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Please provide me some career guidelines. Thanks in advance. &lt;/p&gt;&#xA;" OwnerUserId="21371" LastActivityDate="2014-02-18T05:40:34.533" Title="How to become a Theoretical Computer Scientist" Tags="&lt;soft-question&gt;&lt;career&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="2" ClosedDate="2014-02-18T07:07:18.963" ContentLicense="CC BY-SA 3.0" />
  <row Id="21116" PostTypeId="1" AcceptedAnswerId="21122" CreationDate="2014-02-17T18:10:53.270" Score="0" ViewCount="782" Body="&lt;p&gt;I am looking for a kick in the right direction. What i am trying to do is to compute &quot;similarity&quot; between two graphs, where I define &quot;similarity&quot; as the number of shared paths. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;example:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;G1:   &#xA;A - B - C - D&#xA; \     /&#xA;    G&#xA;&#xA;G2:  &#xA;A - G - C - K - B &#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;G1 and G2 have similarity 3 (A - G - C) What I am interested in are examples for this particular problem. how is it described. how hard it is to compute? if it is NP-hard is there an approximated solution and how is it computed?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Anything that can be interpreted as a kick in the right direction is welcomed.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;thank you&lt;/p&gt;&#xA;" OwnerUserId="13612" LastActivityDate="2014-02-19T18:22:51.357" Title="Comparing graphs" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;np-hardness&gt;&lt;approximation-algorithms&gt;&lt;approximation-hardness&gt;" AnswerCount="3" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="21117" PostTypeId="1" CreationDate="2014-02-17T18:15:38.110" Score="21" ViewCount="1013" Body="&lt;p&gt;Shor stated, in his comment to anonymous moose's answer to this question &lt;a href=&quot;https://cstheory.stackexchange.com/a/18056/495&quot;&gt;Can you identify the sum of two permutations in polynomial time?&lt;/a&gt;, that it is $NP$-complete to identify the difference of two permutations. Unfortunately, I don't see a straightforward reduction from the permutation sum problem and it is useful to have the $NP$-completeness reduction for the permutation difference problem. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Permutation Difference:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;INSTANCE: An array $A[1...n]$ of positive integers. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;QUESTION: Do there exist two permutations $\pi$ and $\sigma$ of the positive integers $1,2, ... , n$ such that $|\pi(i) - \sigma(i)| = A[i]$ for $1 \le i \le n$ ? &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What is the reduction for proving the $NP$-completeness of recognizing the difference of two permutations?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT 10-9-2014&lt;/strong&gt;: &lt;a href=&quot;https://cstheory.stackexchange.com/questions/18037/can-you-identify-the-sum-of-two-permutations-in-polynomial-time/18056#comment62501_18056&quot;&gt;Shor's comment&lt;/a&gt; gives a reduction which proves $NP$-completeness when the elements of sequence $A$ are &lt;em&gt;signed&lt;/em&gt; differences. However, I don't see an easy reduction to my problem where all elements of $A$ are the absolute values of differences.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;UPDATE:&lt;/strong&gt; &lt;s&gt;The Permutation Difference problem seems to be $NP$-complete even if one of the two permutations is always the identity permutation. Hardness proof of this special case is very welcome. So, I am interested in $NP$-completeness of this restricted version:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Restricted Permutation Difference:&lt;/strong&gt;&#xA;INSTANCE: An array $A[1...n]$ of positive integers. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;QUESTION: Does there exist a &lt;em&gt;permutation&lt;/em&gt; $\pi$ of the positive integers $1,2, ... , n$ such that $|\pi(i) - i| = A[i]$ for $1 \le i \le n$ ? &lt;/s&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Update 2&lt;/strong&gt;: The restricted problem is efficiently decidable as shown by mjqxxxx's answer. The computational complexity of the original problem is not proven. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT 9/6/16&lt;/strong&gt;: I am interested in determining whether this simplification of &lt;strong&gt;Permutation Difference&lt;/strong&gt; is NP-complete:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Restricted Permutation Difference:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;INSTANCE&lt;/strong&gt;: A multiset $A$ of positive integers. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;QUESTION&lt;/strong&gt;: Does there exist a &lt;em&gt;permutation&lt;/em&gt; $\pi$ of the positive integers $1,2, ... , n$ such that  $A= \{|\pi(i) - i| :1 \le i \le n\}$ ? &lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2016-09-08T07:46:21.640" Title="$NP$-completeness of recognizing the difference of two permutations" Tags="&lt;cc.complexity-theory&gt;&lt;co.combinatorics&gt;&lt;np-hardness&gt;&lt;permutations&gt;" AnswerCount="2" CommentCount="8" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="21118" PostTypeId="2" ParentId="21016" CreationDate="2014-02-17T18:16:44.270" Score="9" Body="&lt;p&gt;Finding the number of (distinct) real roots of a real polynomial, either in all of ℝ or in a given interval. Sturm's theorem tells you that a sequence of polynomials that fulfils a small number of requirements can be used to count the number of real roots of a polynomial with real coefficients.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then, all you have to do is construct such a sequence (which isn't very difficult, but requires some edge cases and handling of the case of non-separable polynomials), and Bob's your uncle.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Surprisingly, few people know about this result, despite it being quite old (1829). It is used in many Computer Algebra Systems, but all the mathematics professors at my university whom I asked either didn't know Sturm's Theorem at all or they only knew it by name and that it has something to do with roots of polynomials.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Most people are quite surprised when you tell them that something like &lt;em&gt;counting&lt;/em&gt; real roots &lt;em&gt;exactly&lt;/em&gt; is this easy and does not require any approximation, considering that &lt;em&gt;finding&lt;/em&gt; roots is much more difficult. (Remember that for polynomials of degree ≥ 5, there does not even exist a “proper” formula for roots)&lt;/p&gt;&#xA;" OwnerUserId="21660" LastActivityDate="2014-02-17T18:16:44.270" CommentCount="0" CommunityOwnedDate="2014-03-14T00:03:36.567" ContentLicense="CC BY-SA 3.0" />
  <row Id="21119" PostTypeId="2" ParentId="21106" CreationDate="2014-02-17T18:34:31.453" Score="13" Body="&lt;p&gt;My favourite example is a classic 1977 result of &lt;a href=&quot;https://en.wikipedia.org/wiki/Ashok_K._Chandra&quot;&gt;Ashok Chandra&lt;/a&gt; and Philip Merlin.  They showed that the query containment problem was decidable for conjunctive queries.  The conjunctive query containment problem turns out to be equivalent to deciding whether there is a homomorphism between the two input queries.  This rephrases a semantics problem, involving quantification over an infinite set, into a syntactic one, requiring only checking a finite number of possible homomorphisms.  The homomorphism certificate is only of linear size and so the problem is in NP.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;This theorem provides one of the foundations of the theory of database query optimization.  The idea is to transform a query into another, faster one.  However, one wants an assurance that the optimization process doesn't create a new query that fails to give answers on some databases where the original query did produce results.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Formally, a &lt;em&gt;database query&lt;/em&gt; is an expression of the form $\mathbf{x}.Q(\mathbf{x},\mathbf{y})$, where $\mathbf{x}$ is a list of free variables, $\mathbf{y}$ is a list of bound variables, and $Q(\mathbf{x},\mathbf{y})$ is a first-order formula with variables $\mathbf{x}$ and $\mathbf{y}$ of a language with relation symbols.  The query $Q$ may contain existential and universal quantifiers, the formula may contain conjunction and disjunction of relational atoms, and negation may also appear.  A query is applied to a database instance $I$, which is a set of relations.  The result is a set of tuples; when tuple $\mathbf{t}$ in the result is substituted for $\mathbf{x}$ then the formula $Q(\mathbf{t},\mathbf{y})$ can be satisfied.  One can then compare two queries: $Q_1$ is contained in $Q_2$ if whenever $Q_1$ applied to an arbitrary database instance $I$ produces some results, then $Q_2$ applied to the same instance $I$ also produces some results.  (It is OK if $Q_1$ doesn't produce results but $Q_2$ does, but for containment the implication must hold for every possible instance.)&#xA;The &lt;strong&gt;query containment problem&lt;/strong&gt; asks: given two database queries $Q_1$ and $Q_2$, is $Q_1$ contained in $Q_2$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It was not at all clear before Chandra-Merlin that the problem was decidable.  Using just the definition, one has to quantify over the infinite set of all possible databases.  If the queries are unrestricted, then the problem is, in fact, undecidable: let $Q_1$ be a formula that is always true, then $Q_1$ is contained in $Q_2$ iff $Q_2$ is valid.  (This is Hilbert's &lt;a href=&quot;https://en.wikipedia.org/wiki/Entscheidungsproblem&quot;&gt;Entscheidungsproblem&lt;/a&gt;, shown undecidable by Church and Turing in 1936.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To avoid undecidability, a &lt;a href=&quot;https://en.wikipedia.org/wiki/Conjunctive_query&quot;&gt;conjunctive query&lt;/a&gt; has a rather limited form: $Q$ only contains existential quantifiers, and negation and disjunction are not allowed.  So $Q$ is a positive existential formula with only conjunction of relational atoms.  This is a tiny fragment of logic, but it is enough to express a large proportion of useful database queries.  The classic &lt;code&gt;SELECT ... FROM&lt;/code&gt; statement in SQL expresses conjunctive queries; most search engine queries are conjunctive queries.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One can define homomorphisms between queries in a straightforward way (similar to graph homomorphism, with a bit of extra bookkeeping).  The Chandra-Merlin theorem says: given two conjunctive queries $Q_1$ and $Q_2$, $Q_1$ is contained in $Q_2$ iff there is a query homomorphism from $Q_2$ to $Q_1$.  This establishes membership in NP, and it is straightforward to show that this is also NP-hard.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Ashok K. Chandra and Philip M. Merlin, &lt;em&gt;Optimal Implementation of Conjunctive Queries in Relational Data Bases&lt;/em&gt;, STOC '77 77–90. doi:&lt;a href=&quot;http://dx.doi.org/10.1145/800105.803397&quot;&gt;10.1145/800105.803397&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Decidability of query containment was later extended to unions of conjunctive queries (existential positive queries where disjunction is allowed), although allowing disjunction raises the complexity to $\Pi^P_2$-complete.  Decidability and undecidability results have also been established for a &lt;a href=&quot;https://cstheory.stackexchange.com/a/18867/109&quot;&gt;more general form of query containment&lt;/a&gt;, involving semiring valuations that occur when counting the number of answers, when combining annotations in provenance, or when combining results of queries in probabilistic databases.&lt;/p&gt;&#xA;" OwnerUserId="109" LastEditorUserId="109" LastEditDate="2014-02-17T20:18:24.823" LastActivityDate="2014-02-17T20:18:24.823" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21120" PostTypeId="2" ParentId="21016" CreationDate="2014-02-17T18:59:25.060" Score="2" Body="&lt;p&gt;Here is another example: given an undirected simple graph, decide if it has two vertex-disjoint circuits. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;One can naturally try to construct a recursive algorithm, by reducing the graph to a smaller one. This can be carried out easily, as long as the graph has a vertex with degree $\leq 2$. If, however, a graph is reached with minimum degree $\geq 3$, then it seems hard to find out how to continue, unless you know the following theorem (which originates in two papers, published independently by L. Lovasz and G. Dirac in 1965): &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Theorem.&lt;/strong&gt; If a simple graph with minimum degree $\geq 3$  does not have two vertex-disjoint circuits, then the graph can only be one of the following three types: (1) $K_5$, (2) a wheel graph, (3) $K_{3,n-3}$, with possibly any edges added to the the 3-vertex class.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Since it is easy to check whether a graph is one of the graphs allowed by the Theorem, this provides us with a polynomial-time algorithm for the decision problem. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Notes:&lt;/em&gt; (1) The proof of the theorem is not at all easy. (2) Once we decided that two disjoint circuits exist, it  seems less clear how to solve the associated &lt;em&gt;search problem&lt;/em&gt;, that  is, how to actually &lt;em&gt;find&lt;/em&gt; such circuits. The theorem does not give direct advice to that.&lt;/p&gt;&#xA;" OwnerUserId="12710" LastActivityDate="2014-02-17T18:59:25.060" CommentCount="0" CommunityOwnedDate="2014-03-14T00:03:36.567" ContentLicense="CC BY-SA 3.0" />
  <row Id="21121" PostTypeId="2" ParentId="21106" CreationDate="2014-02-17T19:11:34.530" Score="4" Body="&lt;p&gt;Deciding reachability for various kinds of infinite-state systems is sometimes decidable, often not.  For some interesting special cases a small enough and efficiently checkable certificate always exists, putting such problems into NP.  Here is a neat treatment for one-counter parametric automata:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Christoph Haase, Stephan Kreutzer, Joël Ouaknine, James Worrell, &lt;em&gt;Reachability in succinct and parametric one-counter automata&lt;/em&gt;, CONCUR 2009, LNCS 5710 369–383. doi:&lt;a href=&quot;http://dx.doi.org/10.1007/978-3-642-04081-8_25&quot; rel=&quot;nofollow&quot;&gt;10.1007/978-3-642-04081-8_25&lt;/a&gt; (&lt;a href=&quot;http://www.cs.ox.ac.uk/files/2833/iandc.pdf&quot; rel=&quot;nofollow&quot;&gt;extended version&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="109" LastActivityDate="2014-02-17T19:11:34.530" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21122" PostTypeId="2" ParentId="21116" CreationDate="2014-02-17T20:13:49.930" Score="1" Body="&lt;p&gt;I would try to group your paths in such a way that if two paths can equal each other they end up in the same group.  A &quot;can-equal&quot; test, if you will, that you can apply in a single pass through the edges of each graph.  It's much better to have a bunch of little groups to cross-product compare with each other than to have one big group.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To group them, I don't know if you can compute a hashcode, or if the nodes have coordinates that can be compared, or the edges have slopes that can be compared, or what.  But I think the first step is to try to limit the number of items you have to compare with other items.  If you are looking at a general-case solution that applies to any graph without knowing anything about the items in that graph, you either have to model a way for the implementation of that graph to specify some sort of ordering or partitioning, or I think you are out of luck.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hmm... That sounds a lot like &quot;Use a Hash Table.&quot;  But how?  I think &quot;similar&quot; paths must mean edges between &quot;equal&quot; nodes for some definition of &quot;similar&quot; and &quot;equals.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Load the nodes of each graph into a hashtable/set (one pass through each graph).  Then pick the smaller hashtable, and for each node see if it has a corresponding node in the other hashtable.  You don't need to consider any nodes that fail this test or any edges that touch nodes that fail that test.  Now you only have edges that are contained in both graphs and maybe the size of that set is the similarity value you are looking for?  Or maybe it's the largest sub-graph of edges meeting this criteria which is your score?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think you could still be in the case were a tiny part of an enormous problem is still too big to be practically solvable.  But in some cases, this may narrow down the problem enough to make it solvable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is my first time attempting an answer in this forum, so I hope that it is helpful.&lt;/p&gt;&#xA;" OwnerUserId="13632" LastEditorUserId="13632" LastEditDate="2014-02-17T22:43:32.590" LastActivityDate="2014-02-17T22:43:32.590" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21123" PostTypeId="2" ParentId="21016" CreationDate="2014-02-17T21:44:10.563" Score="6" Body="&lt;p&gt;Whether a real (multivariate) polynomial $p$ can be expressed as a sum of squares of real polynomials can be solved by reduction to semi-definite programming. Need to know SDP and that SDP can be solved efficiently. &lt;/p&gt;&#xA;" OwnerUserId="176" LastActivityDate="2014-02-17T21:44:10.563" CommentCount="0" CommunityOwnedDate="2014-03-14T00:03:36.567" ContentLicense="CC BY-SA 3.0" />
  <row Id="21125" PostTypeId="2" ParentId="21106" CreationDate="2014-02-17T21:58:49.580" Score="20" Body="&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Integer_programming&quot; rel=&quot;nofollow&quot;&gt;Integer Programming&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Showing that if there is an integer solution then there is a polynomial size integer solution is quite involved. See &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Christos Papadimitriou, &quot;&lt;a href=&quot;http://dx.doi.org/10.1145/322276.322287&quot; rel=&quot;nofollow&quot;&gt;On the Complexity of Integer Programming&lt;/a&gt;&quot;, JACM, 1981.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2014-02-20T05:19:59.170" LastActivityDate="2014-02-20T05:19:59.170" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="21126" PostTypeId="2" ParentId="21106" CreationDate="2014-02-17T22:25:49.477" Score="3" Body="&lt;p&gt;Here is an example (though admittedly artificial) when it is very hard to decide whether a problem is in $NP$ or not. Let $L_1, L_2$ be two languages, with $L_1\in NP$, and $L_2\notin NP$. Now define the language $L$, as follows:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$L=L_1 \; \mbox{if the twin prime conjecture is true, and } \;&#xA;L=L_2 \; \mbox{otherwise}$$ &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then $L\in NP$ precisely if  the twin prime conjecture is true. Since the conjecture is  either true or not, it is indeed well defined whether $L\in NP$ or not. However, deciding which is the case, that is, deciding membership in $NP$,  amounts to solving the famous twin prime conjecture, so it is certainly nontrivial...&lt;/p&gt;&#xA;" OwnerUserId="12710" LastActivityDate="2014-02-17T22:25:49.477" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21127" PostTypeId="2" ParentId="21112" CreationDate="2014-02-17T22:26:11.583" Score="8" Body="&lt;p&gt;How about this: &#xA;Call your graphs simply &lt;em&gt;$(K_1 + K_2)$-free graphs&lt;/em&gt;, where $K_n$ &#xA;is the complete graph with $n$ vertices, + stands for disjoint union, and $H$-free means without $H$ as an induced subgraph.  &lt;/p&gt;&#xA;" OwnerUserId="13136" LastEditorUserId="13136" LastEditDate="2014-02-18T18:25:28.613" LastActivityDate="2014-02-18T18:25:28.613" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="21128" PostTypeId="2" ParentId="21106" CreationDate="2014-02-17T22:33:46.253" Score="5" Body="&lt;p&gt;I found a good candidate while reading some papers about quadratic diophantine equations:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://arxiv.org/abs/math/0611209&quot; rel=&quot;noreferrer&quot;&gt;J. C. Lagarias, Succinct certificates for solutions to binary quadratic Diophantine equations (2006)&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;From the abstract: ... Let $L(F)$ denote the length of the binary encoding of the binary quadratic Diophantine&#xA;equation $F$ given by $a x_1^2 +b x_1 x_2+ c x_2^2 +d x_1+e x_2 + f = 0$. Suppose $F$ is such an equation having a nonnegative integer solution. This paper shows that there is a proof (i.e., “certificate”) that $F$ has such a solution which can be checked in $O(L(F)^5 \log L(F) \log \log L(F))$ bit operations.&#xA;A corollary of this result is that the set  $\Sigma = \{F : F \text{ has a nonnegative integer solution}\}$ is in&#xA;the complexity class NP ...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;... but - to be honest - the only evidence that I have that it is nontrivial is the number of the pages of the paper ... 62! :-)&lt;/p&gt;&#xA;" OwnerUserId="3247" LastActivityDate="2014-02-17T22:33:46.253" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21129" PostTypeId="2" ParentId="21106" CreationDate="2014-02-17T23:21:55.010" Score="17" Body="&lt;p&gt;While the problem &quot;is the crossing number of a graph at most $k$?&quot; is trivially in NP, &#xA;the NP-membership of the related problems for the &lt;em&gt;rectilinear crossing number&lt;/em&gt; and &#xA;the &lt;em&gt;pair crossing number&lt;/em&gt; are highly not obvious; &#xA;cf. Bienstock, Some probably hard crossing number problems, Discrete Comput. Geometry 6 (1991) 443-459, and &#xA;Schaefer et al., Recognizing string graphs in NP, J. Comput. System Sci. 67 (2003) 365-380.&lt;/p&gt;&#xA;" OwnerUserId="13136" LastActivityDate="2014-02-17T23:21:55.010" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21130" PostTypeId="1" CreationDate="2014-02-17T23:49:20.763" Score="23" ViewCount="2040" Body="&lt;p&gt;Many algorithmic graph problems can be solved in polynomial time both on unweighted and weighted graphs. Some  examples are shortest path, min spanning tree, longest path (in directed acyclic graphs), max flow, min cut, max matching, optimum arborescence, certain densest subgraph problems, max disjoint directed cuts, max clique in certain graph classes, max independent set in certain graph classes, various max disjoint path problems,  etc. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are, however, some (although probably significantly fewer) problems that are solvable in polynomial time in the &lt;strong&gt;&lt;em&gt;unweighted&lt;/em&gt;&lt;/strong&gt; case, but become hard (or have open status) in the &lt;strong&gt;&lt;em&gt;weighted&lt;/em&gt;&lt;/strong&gt; case. Here are two &lt;strong&gt;examples:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Given the $n$-vertex complete graph, and an integer $k\geq 1$, find a spanning $k$-connected subgraph with the minimum possible number of edges. This is solvable in polynomial time, using a theorem of F. Harary, which tells the structure of the optimal graphs. On the other hand, if the edges are weighted, then finding the minimum weight $k$-connected spanning subgraph is $NP$-hard. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;A recent (Dec 2012) paper of S. Chechik, M.P. Johnson, M. Parter, and D. Peleg (see &#xA;&lt;a href=&quot;http://arxiv.org/pdf/1212.6176v1.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://arxiv.org/pdf/1212.6176v1.pdf&lt;/a&gt;) considers, among other things, a path problem they call &lt;em&gt;Minimum Exposure Path.&lt;/em&gt; Here one looks for a path between two specified nodes, such that the number of nodes on the path, &lt;em&gt;plus&lt;/em&gt; the number of nodes that have a neighbor  on the path is minimum. They prove that in bounded degree graphs this can be solved in polynomial time for the unweighted case, but becomes $NP$-hard in the weighted case, even with degree bound 4. (Note: The reference was found as an answer to the question &lt;a href=&quot;https://cstheory.stackexchange.com/questions/21085/what-is-the-complexity-of-this-path-problem&quot;&gt;What is the complexity of this path problem?&lt;/a&gt;)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;What are some other interesting problems of this nature, that is, when switching to the weighted version causes a &quot;complexity jump?&quot;&lt;/strong&gt;&lt;/p&gt;&#xA;" OwnerUserId="12710" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2015-01-26T14:09:37.667" Title="Problems that are easy on unweighted graphs, but hard for weighted graphs" Tags="&lt;cc.complexity-theory&gt;&lt;graph-algorithms&gt;&lt;np-hardness&gt;" AnswerCount="10" CommentCount="3" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="21131" PostTypeId="2" ParentId="21130" CreationDate="2014-02-18T00:25:24.000" Score="7" Body="&lt;p&gt;Finding the minimum cost path under delay constraint (a.k.a. the Constrained Shortest Path problem) seems to fit here.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose you have a graph $G=(V,E)$, a delay function $d:V\to\mathbb {N}^+$, a cost function $c:\to\mathbb {N}^+$, a number $D\in \mathbb {N}^+$ and two vertices $s,t\in V$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem is finding the minimum cost $s-t$ path, such that the delay of the path no more than $D$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If the problem is unweighted ($\forall v\in V:d(v) =1$, a.k.a $hop-count$),  the problem is trivial (given as homework in basic algo courses sometimes).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If the problem is weighted, it becomes the &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download;jsessionid=B3DA001EDB3D8C1D95BBCF056ADE7A1C?doi=10.1.1.159.7347&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;nofollow&quot;&gt;Constrained Shortest Path&lt;/a&gt;, which is known to be NP-complete even on DAGs.&lt;/p&gt;&#xA;" OwnerUserId="21001" LastEditorUserId="21001" LastEditDate="2014-05-29T10:52:08.267" LastActivityDate="2014-05-29T10:52:08.267" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21132" PostTypeId="2" ParentId="21130" CreationDate="2014-02-18T03:23:03.813" Score="12" Body="&lt;p&gt;In the world of approximation algorithms there is the capacitated vertex cover problem.&#xA;Given $G=(V,E)$ and integer capacities $c(v)$ for each $v \in V$ the goal is to find&#xA;a minimum sized vertex cover for $G$ where the number of edges covered by $v$ is at most $c(v)$. This problem has a constant factor approximation in the unweighted case (that is, we want to minimize the size of the vertex cover) while it is $\Omega(\log n)$-hard (unless $P = NP$) in the weighted case (each vertex has a weight $w(v)$ and we want to minimize the weight of the cover). &lt;/p&gt;&#xA;" OwnerUserId="176" LastActivityDate="2014-02-18T03:23:03.813" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21133" PostTypeId="2" ParentId="21115" CreationDate="2014-02-18T03:55:53.063" Score="8" Body="&lt;p&gt;You asked three questions:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Q1 is really out of scope for this forum: it relates to GATE and how you gain admission to Indian grad schools.&lt;/li&gt;&#xA;&lt;li&gt;Q2 I interpret as &quot;do I need a graduate degree to study theoretical computer science&quot;. In general, of course the answer is &quot;no&quot;, but the discipline of studying at the grad level (with the access to professors and other grad students) is hard to replace with a self-study unless you're supremely motivated. &lt;/li&gt;&#xA;&lt;li&gt;Q3: of course you can apply to foreign universities for graduate studies: again, you might find it useful to peruse &lt;a href=&quot;https://academia.stackexchange.com/&quot;&gt;academia.stackexchange.com&lt;/a&gt; for a plethora of information on how to go about doing this.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="80" LastEditorUserId="-1" LastEditDate="2017-04-13T12:49:59.023" LastActivityDate="2014-02-18T05:40:34.533" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21135" PostTypeId="2" ParentId="21130" CreationDate="2014-02-18T04:47:22.257" Score="11" Body="&lt;p&gt;Perfect matching problem in bipartite graphs is in $P$ while &lt;a href=&quot;http://www.iaeng.org/publication/WCE2008/WCE2008_pp878-880.pdf&quot;&gt;Exact Weight Perfect Matching of Bipartite Graph is $NP$-Complete&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="495" LastActivityDate="2014-02-18T04:47:22.257" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21136" PostTypeId="2" ParentId="21130" CreationDate="2014-02-18T08:16:51.647" Score="5" Body="&lt;p&gt;The problem Local Max Cut with the FLIP neighbourhood is PLS-complete in general integer-weighted graphs. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A.A. Schaeffer and M. Yannakakis. (1991). Simple local search problems that are hard to solve. SIAM Journal on Computing, 20(1):56-87.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, if the largest weight is polynomial in the size of the graph, then local improvements to the potential (weight of a cut) will converge in polynomial time, since each improvement will increase the potential function by at least one, and the potential function is polynomially bounded. (With general weights, finding a solution reachable by local improvements from a specific starting cut is PSPACE-complete.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A similar thing happens also in other &quot;potential games&quot;.&lt;/p&gt;&#xA;" OwnerUserId="368" LastActivityDate="2014-02-18T08:16:51.647" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21137" PostTypeId="2" ParentId="21130" CreationDate="2014-02-18T09:07:26.077" Score="10" Body="&lt;p&gt;Graph Balancing (also known as Min Out-degree Orientation) is another example of this phenomenon. In this problem we are given an undirected edge-weighted graph. The goal is to orient the edges so that the resulting digraph's (weighted) maximum out-degree is minimized. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem is often motivated by a scheduling scenario. Imagine that each vertex is a processor and each edge is a job which is only allowed to run on one of its two endpoints. The weight of an edge is the length of the corresponding job and the goal is to minimize the makespan.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem is NP-hard and APX-hard, even if all weights are 1 or 2 (see Ebenlendr et al. &quot;Graph balancing: a special case of scheduling unrelated parallel machines&quot; in SODA 2008). It is however in P for unweighted graphs (see Asahiro et al. &quot;Graph classes and the complexity of the graph orientation&#xA;minimizing the maximum weighted outdegree&quot; in CATS 2008).&lt;/p&gt;&#xA;" OwnerUserId="3168" LastActivityDate="2014-02-18T09:07:26.077" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21138" PostTypeId="1" AcceptedAnswerId="21143" CreationDate="2014-02-18T09:56:57.137" Score="13" ViewCount="553" Body="&lt;p&gt;We are given a directed acyclic graph $G=(V,E)$ with a number associated with each vertex ($g:V\to \mathbb{N}$), and a target number $T\in \mathbb{N}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The DAG subset sum problem (might exist under a different name, a reference will be great) asks whether there are vertices $v_1,v_2,...,v_k$, such that $\Sigma_{v_i}g(v_i) = T$, and $v_1\to..\to v_k$ is a path in $G$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This problem is trivially NP-Complete, as the complete transitive graph yields the classical subset sum problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An approximation algorithm for the DAG subset sum problem is an algorithm with the following properties:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;If there exists a path with sum T, the algorithm return TRUE.&lt;/li&gt;&#xA;&lt;li&gt;If there is no path summing up to a number between $(1 − c)T$ and $T$ for some $c\in (0,1)$, the algorithm return FALSE.&lt;/li&gt;&#xA;&lt;li&gt;If there is a path summing to a number between $(1 − c)T$ and $T$, the algorithm may output any answer.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Subset_sum_problem#Polynomial_time_approximate_algorithm&quot; rel=&quot;nofollow&quot;&gt;Subset sum is known to be approximable in polynomial time for all $c&amp;gt;0$.&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Does the same hold for DAG-Subset-Sum?&lt;/strong&gt;&lt;/p&gt;&#xA;" OwnerUserId="21001" LastEditorUserId="21001" LastEditDate="2014-02-20T07:30:56.647" LastActivityDate="2014-02-20T07:30:56.647" Title="Is DAG subset sum approximable?" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;approximation-algorithms&gt;&lt;subset-sum&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21139" PostTypeId="2" ParentId="21112" CreationDate="2014-02-18T12:11:08.907" Score="9" Body="&lt;p&gt;I believe the most standard term is &lt;a href=&quot;http://en.wikipedia.org/wiki/Glossary_of_graph_theory#Independence&quot;&gt;complete multipartite graph&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="72" LastActivityDate="2014-02-18T12:11:08.907" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="21140" PostTypeId="2" ParentId="21064" CreationDate="2014-02-18T14:07:07.400" Score="3" Body="&lt;h2&gt;How can inherited attributes be simulated with synthesized ones: an example.&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;The way of doing it is to postpone the evaluation of any attribute&#xA;that uses directly or indirectly an inherited attribute, by&#xA;abstracting it into a function that takes the inherited attribute as&#xA;argument. There may be several such arguments.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is a fragment of a simple example, on the grammar rule $T\rightarrow T\; v$&lt;br&gt;&#xA; for a term in an expression, which is to be type-checked.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Right hand side symbols are subscripted to identify occurrences, so we actually write $T\rightarrow T_1\; v_1$&lt;br&gt;&#xA;We use the following attributes:  &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;for $T$ the inherited attribute $symtab$ and the synthesized&#xA;attribute $type$;  &lt;/li&gt;&#xA;&lt;li&gt;for $v$, which is a terminal, the synthesized attribute $name$ which is actually produced by the lexer.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The semantic rule  for type checking is:  $type(T)\gets  &#xA; if\; type(T_1)=symtab[name(v_1).type]\; then\; type(T_1)\; else\; typefail$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;meaning that the type of the subterm $T_1$ and the type associated with the symtab entry of the $name$ of the variable $v_1$ &#xA;must be the same, and that the name of this common type or $typefail$ is the value for the&#xA;synthesized attribute $type$ for $T$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;You replace that semantic rule by the following one:&lt;br&gt;&#xA;$type(T)\gets \lambda\; symtab.\;      if\; type(T_1)(symtab)=symtab[name(v_1).type]\;$ $\qquad\qquad\qquad\qquad\;\;\;\;\;\;then \;type(T_1)\; else\; typefail$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The synthesized attribute $type$ is now a function rather than a type&#xA;name.  When called, it takes a symtab as argument and checks whether&#xA;the expression $T$ is well typed with respect to this symtab, calling&#xA;recusively other such functional values of the attribute to actually&#xA;do the type checking for subexpressions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You no longer need to know the symbtab where you do the type checking, so you do not need the inherited attribute $symtab$.&#xA;When higher up in the tree you get a synthesized attribute that is the&#xA;actual symtab, you simply apply the type attribute with that symtab as&#xA;argument to get the type checking done.  Well, it is a bit more&#xA;complicated with scope rules.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This can be completely formalized, but I do not have the right papers&#xA;handy, and I have no courage or time to redo the complete formal presentation. But I am sure there are books and papers on this&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is a kind of continuation passing style for processing the inherited attributes.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;A proof that inherited attributes are not necessary&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;Hypotheses:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;attributes can carry values of any type, though functional types&#xA;are not really a requirement (see the proof) despite the example&#xA;above.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;any type of computation on the attributes is permitted.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;We assume a CF grammar $G$ with an attribute system, such that&#xA;evaluation of attributes on a parse tree $T$ will produce a result&#xA;$E(T)$ for a distinguished attribute $\rho$ of the initial symbol&#xA;$S$ labeling the root: $\rho(root_T)=E(T)$. Our purpose is to exhibit an attribute system that produces the&#xA;same result using only synthesized attributes. Without loss of&#xA;generality, we assume that the initial symbol S of the grammar is&#xA;never used used in a right-hand side of a rule.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Intuition: we make a copy of the tree as a purely synthesized attribute of the root node.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the formalization below $A_i$ denotes an occurence of a symbol in a rule, and&#xA;we note $\sigma A_i$ the actual symbol in that occurence.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We have a single synthesized attribute $\theta$ for all terminals and&#xA;non-terminals. For terminals, this attribute is initialized to a tree&#xA;degenerated to its root node labeled by the terminal. In addition,&#xA;there is the attribute $\rho$ for the initial symbol&#xA;$S$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To each grammar rule  $\qquad \sigma A_0 \to \sigma A_1 \dots \sigma A_n$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;we associate the following attribute calculation&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\theta(A_0) \leftarrow tree(\sigma A_0, [\theta(A_1), \dots \theta(A_1)])$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where $\theta(s,tt)$ is a function that takes two arguments, a&#xA;non-terminal $s$ and a list of trees $tt$, and returns a new tree with&#xA;a root labeled with $s$ and all the trees in $tt$ as daughters of the&#xA;root, in the same order.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is easily shown by structural induction that attribute evaluation&#xA;of a tree $T$ will thus assign to the attribute $\theta(S)$ a value&#xA;that is precisely equal to $T$ (i.e., a copy of $T$ if that is more&#xA;intuitive). Since we know from the initial attribute system that there&#xA;is an effective procedure to compute the result $E(T)$, we only have&#xA;to add one extra attribute rule to be associated with the initial&#xA;symbol $S$:&#xA;$\rho(S)\leftarrow E(\theta(S))$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thus, our new attribute system has only synthesized attributes and&#xA;computes exactly the same result as the initial system.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some readers may find the proof a bit unsettling, but it is not a&#xA;circular (tautological) proof. We do not have to use the initial&#xA;attribute system to actually compute $E(\theta(S))$. The only thing&#xA;that matters is that it is computable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Actually it is very close to the technique used in the example above,&#xA;using functional attributes, but it delays computation by passing&#xA;syntactic information bottom up, rather than doing it more&#xA;semantically by passing a continuation. One could use that functional attribute technique to do the proof, but I suspect it would be technically much more complex.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It shows that what matters to make sure than an evaluation policy can&#xA;be used is to check that this evaluation policy is able to duplicate&#xA;all the data, in this case the parse tree.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;From that perspective, it is easily seen that using only inherited&#xA;attributes will not in general be adequate, because the tree cannot be&#xA;duplicated with only inherited attributes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The reason is quite simple: when you are going top-down exclusively&#xA;you cannot pass information sideways in the tree. Take the rule&#xA;$  A \to B C$. If you are on the $B$ node of an instance of that&#xA;rule in the tree and want to compute the inherited attributes, all you see is $A$ above. There is no way you can relate to the $C$ side of the tree. And $A$ cannot look at it since information goes top down only, and $C$ is below $A$. The information on the current node depends only on the path from the root to that node, not on the whole tree.&lt;/p&gt;&#xA;" OwnerUserId="16132" LastEditorUserId="16132" LastEditDate="2014-02-19T18:55:18.903" LastActivityDate="2014-02-19T18:55:18.903" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="21142" PostTypeId="2" ParentId="21116" CreationDate="2014-02-18T15:06:56.077" Score="1" Body="&lt;p&gt;One popular metric is &lt;a href=&quot;http://orion.math.iastate.edu/rymartin/talks/EditDist/AMSS08DistFunc.pdf&quot; rel=&quot;nofollow&quot;&gt;edit distance&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Although for your problem, it seems close to &lt;a href=&quot;http://www.cs.um.edu.mt/gordon.pace/Research/Software/Relic/Transformations/FSA/intersection.html&quot; rel=&quot;nofollow&quot;&gt;automata intersection&lt;/a&gt;. You start with the empty string then accept a word who's symbols match a path in your graph for both G1 and G2.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Their intersection contains only their shared words.&lt;/p&gt;&#xA;" OwnerUserId="2021" LastActivityDate="2014-02-18T15:06:56.077" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21143" PostTypeId="2" ParentId="21138" CreationDate="2014-02-18T16:44:12.523" Score="14" Body="&lt;p&gt;It seems to me the pseudo-polynomial time dynamic programming algorithm for Subset Sum problem also works for this problem. For each vertex $v_i$, we compute the set $L_i$ consisting of all possible values of paths ended at $v_i$. Then, we have the recurrence relation: &#xA;$L_i=\{g(v_i)\}\cup\{x+g(v_i)\mid x\in \bigcup_{j\in  prec(i)} L_j\}$. Following a topological order, all the $L_i$ can be computed in $O(Km)$ time, where $K$ is the total weight and $m$ is the number of edges.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think the standard scaling-and-rounding can also be applied to derive a FPTAS. &lt;/p&gt;&#xA;" OwnerUserId="20839" LastEditorUserId="20839" LastEditDate="2014-02-19T00:32:00.953" LastActivityDate="2014-02-19T00:32:00.953" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21144" PostTypeId="2" ParentId="21112" CreationDate="2014-02-18T17:02:28.900" Score="1" Body="&lt;p&gt;A cluster graph consists of disjoint maximal cliques, i.e., each connected component is a clique. Your complete k-partite graph for non-fixed k is the complement of a cluster graph. Also, a graph is cluster graph iff it is &quot;induced $P_3$-free&quot;. Modifying a graph into a cluster graph with minimum number of edge insertions and deletions has been extensively studied in the area of parameterized algorithms. You can google &quot;cluster graph editing&quot; or &quot;correlation clustering&quot; to find them.&lt;/p&gt;&#xA;" OwnerUserId="20839" LastActivityDate="2014-02-18T17:02:28.900" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="21145" PostTypeId="2" ParentId="21130" CreationDate="2014-02-18T17:42:00.060" Score="12" Body="&lt;p&gt;Following up Mohammad Al-Turkistany's answer, it seems that many of the polynomial-time solvable unweighted problems could be turned $NP$-complete in the weighted case, if we ask whether there is a solution that has &lt;strong&gt;exactly&lt;/strong&gt; a given weight. The reason is that this may allow to encode the Subset Sum Problem into the considered task. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, in the case of Exact Weight Perfect Matching, we can take a complete bipartite graph as input, assigning given weights to the edges of a particular matching, and 0 weight to all other edges. It is easy to see that this weighted graph has a perfect matching of weight exactly $W$ if and only if there is a subset of the weights that sums exactly to $W$. (If there is such a subset,  then we can take the corresponding  edges from the fixed matching, and extending it to a perfect matching with 0-weight  edges, using that it is a complete bipartite graph.)  I think, a similar simple trick may work for a number of  other problems, as well. &lt;/p&gt;&#xA;" OwnerUserId="12710" LastActivityDate="2014-02-18T17:42:00.060" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21146" PostTypeId="1" AcceptedAnswerId="21419" CreationDate="2014-02-18T18:09:30.197" Score="2" ViewCount="154" Body="&lt;p&gt;In 1978 Willem H. Haemmers published &quot;&lt;a href=&quot;http://arno.uvt.nl/show.cgi?fid=80314&quot; rel=&quot;nofollow&quot;&gt;An upper bound on the Shannon capacity of a graph&lt;/a&gt;&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Tims has a survey of more recent results &lt;a href=&quot;http://orion.math.iastate.edu/lhogben/GeoffTimsThesis.pdf&quot; rel=&quot;nofollow&quot;&gt;his thesis&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is the computational complexity of computing Haemmer's minimum rank function?&lt;/p&gt;&#xA;" OwnerUserId="2021" LastEditorUserId="2021" LastEditDate="2014-03-07T15:10:34.633" LastActivityDate="2014-03-07T15:10:34.633" Title="Complexity of Haemers' minimum rank" Tags="&lt;np-hardness&gt;&lt;graph-colouring&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21147" PostTypeId="2" ParentId="21130" CreationDate="2014-02-18T22:13:00.260" Score="8" Body="&lt;p&gt;Maybe this is just a trivial example and you may consider it a degenerate case, but the first example that came to my mind is the &lt;a href=&quot;http://en.wikipedia.org/wiki/Travelling_salesman_problem&quot; rel=&quot;nofollow&quot;&gt;Travelling Salesman Problem&lt;/a&gt; (where it is usually assumed that the graph is complete). Note that the unweighted version is Hamiltonian Cycle, which is trivial for complete graphs.&lt;/p&gt;&#xA;" OwnerUserId="282" LastEditorUserId="1846" LastEditDate="2014-05-30T14:40:38.313" LastActivityDate="2014-05-30T14:40:38.313" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21148" PostTypeId="1" AcceptedAnswerId="21150" CreationDate="2014-02-19T01:17:50.813" Score="8" ViewCount="1238" Body="&lt;p&gt;&lt;strong&gt;c-chromatic number&lt;/strong&gt; is defined in the paper &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S1571065304001155&quot;&gt;Partitions of graphs into cographs&lt;/a&gt;. It asks for the minimum number of colors used to color vertices such that each color class is a &lt;a href=&quot;https://en.wikipedia.org/wiki/Cograph&quot;&gt;cograph&lt;/a&gt;. Cograph is a &lt;strong&gt;P4-free&lt;/strong&gt; graph, i.e., there is no induced path of length 3. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S1571065304001155&quot;&gt;paper&lt;/a&gt; denotes the c-chromatic number as $c(G)$ and proves that $c(G)\le \lceil \frac{1+\Delta}{2} \rceil$ in Remark 12 on page 4. The proof can be used to convert any coloring to a coloring of &lt;em&gt;at most&lt;/em&gt; $\lceil \frac{1+\Delta}{2} \rceil$ colors, in polynomial time. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the study of the classic graph coloring, i.e., the chromatic number $\chi(G)$, &lt;a href=&quot;https://en.wikipedia.org/wiki/Greedy_coloring&quot;&gt;greedy coloring&lt;/a&gt; was discussed. The performance of greedy coloring is determined by the order of vertices. In the worst case, a graph needs $\frac{|V|}{2}$ colors while $\chi(G)=2$. This implies that the approximation ratio of greedy coloring is arbitrarily bad.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Similarly, when we are coloring graph into cographs, we can use the greedy coloring. Given a order of vertices, label each vertex with the smallest color ( assume colors are labeled as 1, 2, 3, ....) such that each color class is a cograph. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question are :&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;what is the worst behavior of greedy coloring on cograph coloring? &lt;/li&gt;&#xA;&lt;li&gt;Is it possible that the greedy coloring needs more than $\lceil \frac{1+\Delta}{2} \rceil$ colors?&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="6108" LastActivityDate="2014-02-19T06:56:29.503" Title="How bad can the greedy coloring (list color) for the c-chromatic number of graph be?" Tags="&lt;graph-theory&gt;&lt;approximation-algorithms&gt;&lt;graph-colouring&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21150" PostTypeId="2" ParentId="21148" CreationDate="2014-02-19T06:56:29.503" Score="5" Body="&lt;p&gt;nice question.&#xA;Consider the following construction: build k P3s numbered / ordered as 1-2-3 4-5-6 7-8-9, etc.&#xA;Now 1-2-3 all get colour R by the greedy scheme. Make 4,5,6 all adjacent to 3. Then 4,5,6 each get colour B. Now make vertices 7,8,9 adjacent to 3 and to 6, then they can't get colours R or B. They get Y.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Continue with 10-11-12, with 10,11,12 adjacent to 3,6,9. They cannot be coloured with R B Y, so they get G.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;These 3k vertices will need k = n/3 colours. But note that c(G) is 2, since the set {3,6,9,12,etc} induce a clique, and the rest of the graph induces a perfect matching. So this shows that greedy colouring can still be arbitrarily bad for cograph colouring as well.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We can modify this construction to cut down the max degree as well... 4,5,6 are adjacent to 3, but make 7,8,9 still adjacent to 6 but now adjacent to 1 instead of 3. Then make 10,11,12 adjacent to 9, 4(instead of 6), and 3. And for future triplets, keep alternating which end-vertex of a prior P3 they join to. The resulting graph is probably not partitionable into 2 cographs anymore, but observe that 2,5,8,11,etc form an independent set and the rest is probably coverable with 2 more cographs, but I'm not quite sure. But I don't think this is important ... what is important here is that the max degree is low enough that the greedy colouring uses more than $\frac{1+\Delta}{2}$ colours (to answer your second question.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another interesting question to ask would be whether a &quot;smarter&quot; greedy colouring (such as LexBFS) would produce a constant-ratio approximation.&lt;/p&gt;&#xA;" OwnerUserId="2414" LastActivityDate="2014-02-19T06:56:29.503" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21151" PostTypeId="1" CreationDate="2014-02-19T09:11:50.853" Score="1" ViewCount="47" Body="&lt;p&gt;&lt;strong&gt;Background:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$K$-atomicity is a consistency condition meaning that a read operation can return one of the values written by the last $k$ preceding writes in an order consistent with real time. It is a relaxed version of atomicity, tolerating &lt;em&gt;limited staleness&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given $m$ instances of $k$-atomic single-writer registers, one can construct a $k'$-atomic multi-writer register which supports $m$ writers. In the paper &lt;a href=&quot;http://www.cs.utexas.edu/~lorenzo/papers/disc2006.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;&quot;Byzantine and Multi-writer K-Quorums [@DISC'2006]&quot;&lt;/a&gt;, the authors show that $k'$ cannot be arbitrarily low. They first obtain, by an illustrative scenario, a lower bound of $k' = \big( (2m-1)(k-1) + 1 \big)$ and then present a multi-writer construction which achieves $k' = \big( (2m-1)(k-1) + m \big)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Multi-writer construction:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The multi-writer construction uses $m$ instances of the $k$-atomic single-writer registers, one for each writer $w_i$. It uses approximate vector timestamps to compare the written values from different writers. Each writer $w_i (1 \le i \le m)$, maintains a local virtual clock $lts_i$, which is incremented by 1 for each write.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To perform a multi-writer write operation (&lt;code&gt;mw-write(i,val)&lt;/code&gt;), the writer $w_i$ first reads from all the underlying $k$-atomic single-writer registers, obtaining $m$ vector timestamps. It thens calculate an approximate vector timestamps $ats$, by setting $ats[j] (j \neq i)$ equal to the largest value for entry $j$ among the received $m$ vector timestamps and setting $ats[i]$ equal to $lts_i + 1$. The value, along with the timestamp $ats$, is finally written to the $k$-atomic single-writer register for this writer.&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;static lts_i = 1                                            &#xA;void mw-write(i,val):                                     mw-read(): return &amp;lt;val,ts&amp;gt;   &#xA;    for j = 1 to m                                            for j = 1 to m&#xA;        &amp;lt;val_j, ts_j&amp;gt; = sw-read(j)                                &amp;lt;val_j, ts_j&amp;gt; = sw-read(j)&#xA;&#xA;    ats[j] = max_p {ts_p[j]} for j != i                       apply elimination rules ...&#xA;    ats[i] = lts_i++                                          and return some value&#xA;&#xA;    sw-write(i,&amp;lt;val,ats&amp;gt;)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;To perform a read operation (&lt;code&gt;mw-read()&lt;/code&gt;), a reader reads from all the underlying $k$-atomic single-writer registers, obtaining $m$ vector timestamps. Two elimination rules are then applied to choose some value (along with its timestamp) to return.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;The case $k=3, m=2$ and my problem:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider the following possible execution of this multi-writer construction when taking $k=3, m=2$. As shown in the figure, the dashed arrows denote which vector timestamps (value is omitted) are obtained when the writer performs &lt;code&gt;sw-read&lt;/code&gt; operations on the underlying $k$-atomic single-writer registers. Two writers interleave in a &quot;highly concurrent&quot; way. Concurrent writes are put in the same row. In particular, the write of $\langle 4,3 \rangle$ by Writer 1 is concurrent with the writes of $\langle 1,4 \rangle, \langle 1,5 \rangle, \langle 1,6 \rangle$ by Writer 2. According to the multi-writer construction, the &lt;code&gt;mw-read&lt;/code&gt; operation by Writer 1 first reads from the two underlying $k$-atomic single-writer registers, obtaining two vector timestamps $\langle 4,3 \rangle$ and $\langle 1,6 \rangle$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://i1.tietuku.com/ff708c97cf73f760.jpg&quot; rel=&quot;nofollow noreferrer&quot;&gt;what_is_the_staleness_(3,2) http://i1.tietuku.com/ff708c97cf73f760.jpg&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;My problem:&lt;/strong&gt; Assuming now that the &lt;code&gt;mw-read&lt;/code&gt; operation by Writer 1 simply returns any one of the two vector timestamps. Then what is the staleness of the &lt;code&gt;mw-read&lt;/code&gt; operation in this execution? &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;In my opinion, if we schedule the writes to take place at the same instance as it is scheduled to take place in the underlying $k$-atomic single-writer register (i.e., the code line &lt;code&gt;sw-write(i,&amp;lt;val,ats&amp;gt;)&lt;/code&gt;), the write of $\langle 4,3 \rangle$ will be ordered after the write of $\langle 1,5 \rangle$ and the staleness of &lt;code&gt;mw-read&lt;/code&gt; is guaranteed to be less than or equal to 6 (ordering $\langle 1,5 \rangle$ before $\langle 4,3 \rangle$ which is before $\langle 1,6 \rangle, \langle 5,6 \rangle, \langle 4,7 \rangle, \langle 6,6 \rangle, \langle 5,8 \rangle$ and returning $\langle 4,3 \rangle$). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, because all the three &lt;code&gt;mw-write&lt;/code&gt; operations of $\langle 1,4 \rangle, \langle 1,5 \rangle, \langle 1,6 \rangle$ by Writer 2 interleave with the &lt;code&gt;mw-write&lt;/code&gt; of $\langle 4,3 \rangle$ by Writer 1, it is also legal to order the latter write of $\langle 4,3 \rangle$ before the former three. In this circumstance, the staleness of the &lt;code&gt;mw-read&lt;/code&gt; can be 8 (also returning $\langle 4,3 \rangle$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am quite confused about the two above-mentioned arguments. Which is correct? How to identify the staleness of this execution of the multi-writer construction? &lt;/p&gt;&#xA;" OwnerUserId="12739" LastEditorUserId="12739" LastEditDate="2014-02-19T09:19:36.877" LastActivityDate="2014-02-19T09:19:36.877" Title="What is the staleness in this execution of the $k$-atomic multi-writer register construction from $k$-atomic single-writer ones?" Tags="&lt;dc.distributed-comp&gt;&lt;concurrency&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21152" PostTypeId="1" CreationDate="2014-02-19T09:43:33.190" Score="12" ViewCount="265" Body="&lt;p&gt;For comparison-based sorting algorithms, asymptotically optimal algorithms in worst-case $\Theta(n\log n)$ comparisons are well known.&#xA;From a purely theoretical perspective, however, &#xA;&lt;em&gt;exactly&lt;/em&gt; optimal sorting algorithms (minimizing exactly the number of comparisons)&#xA;are only known up to $n=16$ and for particular values of $n$, as detailed in Kuth's &lt;em&gt;The Art of Computer Programming, vol3, § 5.3.1&lt;/em&gt;, or Peczarski's &lt;em&gt;&lt;a href=&quot;http://link.springer.com/article/10.1007/s00453-004-1100-7&quot;&gt;New Results in Minimum-Comparison Sorting; Algorithmica'04&lt;/a&gt;&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there hardness results on the complexity of optimal sorting? In particular the following two problems:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;given $n$, compute $S(n)$ the minimal number of comparisons necessary to sort $n$ numbers&lt;/li&gt;&#xA;&lt;li&gt;given an arbitrary set of $k$ comparisons already computed, find a next comparison that should be asked in an optimal sort&lt;/li&gt;&#xA;&lt;li&gt;same question, assuming the set of $k$ comparisons is not arbitrary but the result of running the first $k$ steps of an optimal algorithm. &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;(The last question being one possible formalization for: 'what is&#xA;   the complexity of computing an optimal sorting algorithm')&lt;/p&gt;&#xA;" OwnerUserId="20726" LastActivityDate="2014-02-19T09:43:33.190" Title="Hardness of optimal sorting" Tags="&lt;ds.algorithms&gt;&lt;lower-bounds&gt;&lt;sorting&gt;" AnswerCount="0" CommentCount="1" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="21154" PostTypeId="1" AcceptedAnswerId="21248" CreationDate="2014-02-19T12:03:24.553" Score="2" ViewCount="4207" Body="&lt;p&gt;My initial problem is geometric, but I've reformulated it to a graph:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/E1aya.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the graph above I need to find the set of minimal simple cycles that form the whole graph. The initial problem was to separate the complex figure into the minimal closed regions. In the graph formulation I assume that is suffices to find the set of cycles that represents the whole graph with minimal number of edges in every cycle.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Every vertex is connected to at least two other vertices, i.e. there are no &quot;hanging&quot; vertices. The possible graphs are planar and bridgeless. However, in general the graph may contain multiple connected components (if this is a serious restriction - ignore it). The graph can be considered as both weighted and unweighted, but I think it's better to consider it as unweighted if the goal is to find the cycle basis of minimal closed regions. The graphs in question either have one planar embedding or multiple &quot;equivalent&quot; planar embeddings (e.g. consider the example graph: the parallel edges can be moved, but the simple closed loops will remain the same).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is some ambiguity possible because of the parallel edges between some pairs of vertices. These multiple solutions are OK if they are equally valid.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I've read in &lt;a href=&quot;http://en.wikipedia.org/wiki/Spanning_tree&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://en.wikipedia.org/wiki/Spanning_tree&lt;/a&gt; about fundamental cycles, but I'm not quite sure that finding the fundamental cycles will solve the problem for every case.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;P.S.: See also this question &lt;a href=&quot;https://stackoverflow.com/questions/13111236/how-to-detect-minimal-cycles-in-a-graph&quot;&gt;https://stackoverflow.com/questions/13111236/how-to-detect-minimal-cycles-in-a-graph&lt;/a&gt; - it contains mine problem formulation, but no real solution. It would really be nice to give more hints than &lt;a href=&quot;https://www.google.com/search?q=minimal%20cycles%20in%20a%20graph&quot; rel=&quot;nofollow noreferrer&quot;&gt;google&lt;/a&gt;. And &lt;a href=&quot;https://stackoverflow.com/questions/16782898/algorithm-for-finding-minimal-cycles-in-a-graph&quot;&gt;https://stackoverflow.com/questions/16782898/algorithm-for-finding-minimal-cycles-in-a-graph&lt;/a&gt; contains some suggestions but without any serious justification.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;P.P.S.: Crossposting on CS.SE was removed (the question was deleted), but this question can still be moved to CS.SE if it's better fits there. Sorry for this misunderstanding.&lt;/p&gt;&#xA;" OwnerUserId="21691" LastEditorUserId="-1" LastEditDate="2017-05-23T12:40:09.333" LastActivityDate="2014-02-25T18:40:44.657" Title="minimal cycles in undirected graph" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;" AnswerCount="1" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="21155" PostTypeId="1" AcceptedAnswerId="21171" CreationDate="2014-02-18T19:47:39.753" Score="8" ViewCount="586" Body="&lt;p&gt;Recently there have been some new results on computer-based experimental study of the &lt;a href=&quot;http://en.wikipedia.org/wiki/Erd%C5%91s_discrepancy_problem&quot;&gt;Erdos Discrepancy Problem (EDP)&lt;/a&gt; (via SAT solvers, cited below). This problem has been cited and studied by several (T)CS researchers. However the (possibly deep?) links to (T)CS are not so obvious.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What are the link(s) of the EDP to (T)CS?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Here are some references that show interest of the (T)CS community in EDP:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://arxiv.org/pdf/1402.2184v1.pdf&quot;&gt;SAT attack on EDP&lt;/a&gt; by Konev and Lisitsa, and reaction by &lt;a href=&quot;http://gowers.wordpress.com/2014/02/11/recent-news-concerning-the-erdos-discrepancy-problem/&quot;&gt;Gowers&lt;/a&gt;; also, other connections to &lt;a href=&quot;http://vzn1.wordpress.com/2014/02/14/great-moments-in-empiricalexperimental-mathtcs-research-breakthough-sat-induction-idea/&quot;&gt;empirical/experimental TCS&lt;/a&gt; (e.g. SAT automated theorem proofs)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://rjlipton.wordpress.com/2013/03/25/win-five-hundred-or-a-million-dollars-by-recursion/&quot;&gt;Intro to EDP and techniques&lt;/a&gt; on Lipton's blog&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://windowsontheory.org/2012/09/05/from-discrepancy-to-privacy-and-back/&quot;&gt;EDP and Differential Privacy&lt;/a&gt; on the Windows on Theory blog, by Talwar&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://michaelnielsen.org/polymath1/index.php?title=The_Erd%C5%91s_discrepancy_problem&quot;&gt;EDP polymath project&lt;/a&gt;, with some contributions by computer scientists&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="7884" OwnerDisplayName="vzn" LastEditorUserId="4896" LastEditDate="2014-02-21T19:57:55.220" LastActivityDate="2014-02-21T19:57:55.220" Title="Connections between the Erdos Discrepancy Problem and (Theoretical) CS?" Tags="&lt;reference-request&gt;&lt;co.combinatorics&gt;&lt;soft-question&gt;&lt;big-picture&gt;" AnswerCount="1" CommentCount="10" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="21156" PostTypeId="1" AcceptedAnswerId="21157" CreationDate="2014-02-19T13:09:52.803" Score="6" ViewCount="193" Body="&lt;p&gt;I am trying to find about algorithms that, given graph $H, G$, determine if $H$ is a topological minor of $G$ (and if so, exhibit this explicitly). Most of the literature on this topic seems to be focused on the case when $H$ is a fixed small graph while $G$ goes to infinity --- e.g. testing if $G$ is planar. What are the algorithms when $H$ and $G$ are comparable in size? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If this problem requires exponential time, I would still be interested in the best algorithms and/or real implementations&lt;/p&gt;&#xA;" OwnerUserId="5538" LastActivityDate="2014-02-19T18:04:30.777" Title="Testing $H$ a topological minor of $G$ --- algorithms that scale with $H$?" Tags="&lt;graph-algorithms&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21157" PostTypeId="2" ParentId="21156" CreationDate="2014-02-19T13:22:22.310" Score="3" Body="&lt;p&gt;The general problem when $H$ is not fixed is NP-hard: Take $H$ to be a cycle of length $|V(G)|$ and it amounts to testing whether $G$ is hamiltonian.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think that the state of the art on this is the FPT algorithm of &#xA;&lt;a href=&quot;http://www.cs.bme.hu/~dmarx/papers/grohe-stoc2011-topminor.pdf&quot; rel=&quot;nofollow&quot;&gt;Grohe, Kawarabayashi, Marx and Wollan&lt;/a&gt;. The dependency on $G$ is cubic, but the one on $H$ seems impractical, since it relies quite heavily on the Robertson-Seymour theory.&lt;/p&gt;&#xA;" OwnerUserId="4871" LastEditorUserId="4871" LastEditDate="2014-02-19T13:27:49.377" LastActivityDate="2014-02-19T13:27:49.377" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21159" PostTypeId="2" ParentId="6846" CreationDate="2014-02-19T16:45:32.433" Score="2" Body="&lt;p&gt;As pointed out in the comments, the power of such devices depends on the operations that they are allowed to perform on the ''register''. Here is a classic example of a class that captures all regular, but not all context-free languages.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you restrict a PDA so that there is only one stack symbol, apart from the bottom-of-the-stack, the device is called a &lt;strong&gt;one-counter automaton&lt;/strong&gt;.&#xA;I'm unsure what a standard reference is, but you can have a look, for instance, at &lt;a href=&quot;http://link.springer.com/chapter/10.1007%2FBFb0039144&quot; rel=&quot;nofollow noreferrer&quot;&gt;this paper by Valiant and Paterson&lt;/a&gt; in LNCS, vol. 2 (1973).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For such a device, the set of all possible stack configurations is infinite (non-negative integers), but when it comes to operations on the stack, you can only increment and decrement the value by $1$ and test for $0$. This class of automata is strictly less powerful than the class of all pushdown automata; restricting it further with determinism results in an even weaker class. Also note that if you go for two counters instead of one, then even with deterministic machines you reach undecidability (even for the word problem, i.e., given a word, decide whether it is accepted).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some proofs and additional information can be found &lt;a href=&quot;https://cs.stackexchange.com/questions/7574/which-languages-are-recognized-by-one-counter-machines&quot;&gt;here&lt;/a&gt; and &lt;a href=&quot;https://cs.stackexchange.com/questions/7286/is-determinism-non-determinism-for-one-counter-automata&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="13649" LastEditorUserId="-1" LastEditDate="2017-04-13T12:48:30.830" LastActivityDate="2014-02-19T16:45:32.433" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21161" PostTypeId="2" ParentId="21156" CreationDate="2014-02-19T18:04:30.777" Score="3" Body="&lt;p&gt;I think the main reason for most literature topics focusing on a fixed small is the &lt;a href=&quot;http://en.wikipedia.org/wiki/Robertson%E2%80%93Seymour_theorem&quot; rel=&quot;nofollow&quot;&gt;Robertson–Seymour theorem&lt;/a&gt;. &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;If F is a minor-closed family, then let S be the set of graphs that&#xA;  are not in F (the complement of F). According to the Robertson–Seymour&#xA;  theorem, there exists a finite set H of minimal elements in S.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;So most of the algorithms in literature involving finding minors in a graph somehow make the family of forbidden graphs finite so that the main problem can be solved efficiently.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, in general when $H$ is not fixed it is hard to do better than a exponential algorithm. But some still special cases like &quot;&lt;a href=&quot;http://dl.acm.org/citation.cfm?id=982792.982920&quot; rel=&quot;nofollow&quot;&gt;Hole and Antihole Detection in Graphs&lt;/a&gt;&quot; by Stavros D. Nikolopoulos and Leonidas Palios might be intersting to you.  &lt;/p&gt;&#xA;" OwnerUserId="12280" LastActivityDate="2014-02-19T18:04:30.777" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21162" PostTypeId="2" ParentId="21116" CreationDate="2014-02-19T18:22:51.357" Score="1" Body="&lt;p&gt;Both of your graphs have longer paths than the 3-path you show, but you seem to only be matching up paths with identical vertex labels. If so, you should mention in your problem formulation that the labels are important (like instead of looking for similarity between 2 graphs, say 2 labelled graphs. And that you are looking for identically-labelled paths... these are not standard terms, though.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If this is the correct understanding of your problem, then given your two graphs G1 and G2, create a new graph G3 with vertices from the same set of labels (I notice that your G1 has vertex D while your G2 has vertex K ... if these are different nodes and do not count toward your measure of similarity, then my G3 does not need to include any vertices that are not in one of the initial graphs.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In G3, only create an edge xy if the edge xy exists in G1 and exists in G2. Otherwise, do not add such an edge. Your problem now asks to find a longest (simple?) path in G3.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;That might seem easy for you now, but you should know what any algorithm you write-up for finding the longest path in G3 will likely be exponential time (since finding a longest path is NP-hard as it includes the Hamiltonian Path problem).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;At least your G3 will have filtered out vertices and edges that are not common to both G1 and G2, and searching in a single graph should make for neater code than to search through two separate graphs simultaneously.&lt;/p&gt;&#xA;" OwnerUserId="2414" LastActivityDate="2014-02-19T18:22:51.357" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21163" PostTypeId="1" CreationDate="2014-02-19T18:46:10.620" Score="5" ViewCount="301" Body="&lt;p&gt;Is there any known decision version of matrix multiplication problem such that the time complexity of &lt;em&gt;the best known algorithm&lt;/em&gt; for this decision problem is $O(n^k)$ for $n \times n$-dimensional matrices, where $k$ is bigger than 2 and preferable very close to $ \omega $ or the best known candidate of $\omega$ ($\omega$ is the optimal matrix-product constant)? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;P.S. I am aware of &lt;em&gt;matrix product verification&lt;/em&gt; problem (e.g. &lt;a href=&quot;https://cstheory.stackexchange.com/q/5936/7358&quot;&gt;this post&lt;/a&gt;). &lt;/p&gt;&#xA;" OwnerUserId="7358" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2014-02-21T19:07:16.273" Title="Decision version of matrix multiplication problem" Tags="&lt;reference-request&gt;&lt;matrix-product&gt;" AnswerCount="2" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21164" PostTypeId="2" ParentId="21106" CreationDate="2014-02-19T18:56:01.000" Score="5" Body="&lt;p&gt;When the recognition of tolerance graph recognition was open, the following paper showed that it is in NP:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0166218X04000940&quot; rel=&quot;noreferrer&quot;&gt;http://www.sciencedirect.com/science/article/pii/S0166218X04000940&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Later on, tolerance graph recognition was shown to be NP complete: &lt;a href=&quot;http://arxiv.org/abs/1001.3251&quot; rel=&quot;noreferrer&quot;&gt;http://arxiv.org/abs/1001.3251&lt;/a&gt; )&lt;/p&gt;&#xA;" OwnerUserId="2414" LastActivityDate="2014-02-19T18:56:01.000" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21168" PostTypeId="2" ParentId="21163" CreationDate="2014-02-19T23:01:04.063" Score="2" Body="&lt;p&gt;Let $H$ be some complex hash function (almost any function will do), mapping long bit strings down to a single bit. Then to decide whether $H( A \times B ) = 0$, you will basically need to multiply $A \times B$ and compute $H$ on the resulting product. Unless $H$ has very special properties, there won't be any short cut to this.&lt;/p&gt;&#xA;" OwnerUserId="5538" LastActivityDate="2014-02-19T23:01:04.063" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21169" PostTypeId="1" AcceptedAnswerId="22721" CreationDate="2014-02-20T00:02:28.677" Score="2" ViewCount="268" Body="&lt;p&gt;Consider an undirected graph, with non-negative  weights on the edges, and two distinguished  nodes $s\neq t$. If $P$ is a simple $s-t$ path in this graph, let $W_1(P)$ denote the sum of the weights on the path, but only adding up every other one, as we traverse the path from $s$ to $t$, starting the summation with the first edge. That is, we add up the first, third, fifth etc. weights on the path. Let us call it the &lt;strong&gt;parity weight&lt;/strong&gt; of the path. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is the complexity of finding the minimum parity weight $s-t$ path? &lt;/p&gt;&#xA;" OwnerUserId="12710" LastActivityDate="2014-05-29T19:11:02.293" Title="Minimum Parity Weight Path - what is the complexity?" Tags="&lt;cc.complexity-theory&gt;&lt;graph-algorithms&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="21170" PostTypeId="1" AcceptedAnswerId="21219" CreationDate="2014-02-20T00:33:07.347" Score="4" ViewCount="370" Body="&lt;p&gt;I am reading the paper &quot;Kernelizations for Parameterized Counting Problems&quot;, and had a question regarding some of the notation in the paper (&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.86.8295&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;nofollow&quot;&gt;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.86.8295&amp;amp;rep=rep1&amp;amp;type=pdf&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In section 4, the author begins by defining the notion of a crown as follows:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $\mathcal{G} := (V, E)$ be a graph. A crown in $\mathcal{G}$ is a bipartite subgraph $\mathcal{C} = (I, N(I), F)$ of $\mathcal{G}$ satisfying the following three conditions.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$I$ is an independent set in $\mathcal{G}$ and $N(I)$ is the set of all neighbours of vertices from $I$ in $\mathcal{G}$.&lt;/li&gt;&#xA;&lt;li&gt;$F$ contains all of the edges of $E$ that connect vertices from $I$ to $N(I)$.&lt;/li&gt;&#xA;&lt;li&gt;$\mathcal{C}$ has a matching of cardinality $|N(I)|$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;In then goes on to define a few other pieces of notation. Let $\mathcal{G} - \mathcal{C}$ be the graph obtained from $\mathcal{G}$  by deleting all of the vertices in $\mathcal{C}$ and all edges incident to vertices in $\mathcal{C}$. Also, let $S_\mathcal{C}$ be a vertex cover of $\mathcal{C}$ and let $\mathcal{G}' := (V', E')$ be the graph obtained from $\mathcal{G} - \mathcal{C}$ by deleting all edges covered by vertices in $S_\mathcal{C}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What confuses me here is the difference between $\mathcal{G} - \mathcal{C}$ and $\mathcal{G}'$. Since the vertex cover contains only vertices in $I$ or $N(I)$, when removing $\mathcal{C}$ from $\mathcal{G}$, haven't we already removed all of the edges that can be covered by vertices in $S_\mathcal{C}$? It would seem to me that the edges in $\mathcal{G} - \mathcal{C}$ do not have any vertices that are incident, making it identical to $\mathcal{G}'$. Where is the error in my reasoning/understanding?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks!!&lt;/p&gt;&#xA;" OwnerUserId="21702" LastEditorUserId="21702" LastEditDate="2014-02-26T01:17:43.990" LastActivityDate="2014-02-26T01:17:43.990" Title="Crown Rule Reduction In Parameterized Complexity - Vertex Cover - Notion Question" Tags="&lt;graph-algorithms&gt;&lt;parameterized-complexity&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="21171" PostTypeId="2" ParentId="21155" CreationDate="2014-02-20T00:36:04.803" Score="15" Body="&lt;p&gt;There are many links between discrepancy theory and computer science, and Bernard Chazelle has beautifully surveyed some of them in &lt;a href=&quot;http://www.cs.princeton.edu/~chazelle/book.html&quot;&gt;his book&lt;/a&gt;. A number of links have been found more recently as well, for example Kunal's blog post talks about the connection to differential privacy from &lt;a href=&quot;http://dl.acm.org/citation.cfm?doid=2213977.2214090&quot;&gt;[MN]&lt;/a&gt; and &lt;a href=&quot;http://arxiv.org/abs/1212.0297&quot;&gt;[NTZ]&lt;/a&gt;. Another example is &lt;a href=&quot;http://www.madalgo.au.dk/~larsen/papers/range_and_disc.pdf&quot;&gt;Larsen's idea&lt;/a&gt; of using discrepancy to prove update/query time lower bounds for dynamic data structures. Many of these links can be instantiated with homogeneous arithmetic progressions (HAPs). This would give:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;upper bounds on the $\varepsilon$-samples for range spaces of HAPs&lt;/li&gt;&#xA;&lt;li&gt;lower bounds on time required to update/query a dynamic data structure for HAP range counting&lt;/li&gt;&#xA;&lt;li&gt;lower and upper bounds on the error required to privately answer HAP queries&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;However, there two things that you must realize with respect to these links. One is that it is not clear that range spaces of HAPs are very natural. When do you expect to have input that is a multiset of integers and want to answer how many elements of a HAP are in the input? I cannot think of a situation when this comes up, but maybe I am missing something. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another thing that you must realize is that all these applications rely on the notion of &lt;strong&gt;hereditary discrepancy&lt;/strong&gt;. This notion is more robust than discrepancy which makes it more tractable: there are stronger lower bounds available for it, it is approximable to within polylogarithmic factors, and it is approximately equal to the value of a convex optimization problem. The result Kunal talks about in the blog post (paper is &lt;a href=&quot;http://arxiv.org/abs/1309.6034&quot;&gt;here&lt;/a&gt;) and the construction by Alon and Kalai that Kalai wrote about in &lt;a href=&quot;http://gowers.wordpress.com/2012/08/22/edp22-first-guest-post-from-gil-kalai/&quot;&gt;this blog post&lt;/a&gt; together essentially settle the hereditary discrepancy of HAPs. As Kunal explains, intuition for the lower bound on the hereditary discrepancy of HAPs came from the tight connection between hereditary discrepancy and differential privacy, together with prior results in differential privacy.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However EDP is about the &lt;strong&gt;discrepancy&lt;/strong&gt; of HAPs. Discrepancy is much more brittle than hereditary discrepancy, and that makes it harder to lower bound. This also makes it less useful in applications than hereditary discrepapncy. And this is why EDP is still wide open while the hereditary discrepancy question is fairly well understood. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let me finish with one approach to attack EDP that is inspired by computer science ideas. There is a way to relax discrepancy to a semidefinite program, see the &lt;a href=&quot;http://www.win.tue.nl/~nikhil/pubs/disc-ismp%20-final.pdf&quot;&gt;survey&lt;/a&gt; by Bansal for details. The optimal value of the semidefinite program is lower bounded by the value of any feasible solution to its dual program. So one can attempt to prove EDP by exhibiting a family of dual solutions to this semidefinite relaxation of discrepancy, and showing that the value of the dual solutions goes to infinity. I see no reason why such an attack cannot work, in particular we do not know how to construct solutions to the semidefinite relaxation that have constant value for arbitrarily large instances. In fact a lot of the effort in polymath5 was centered around finding or ruling out dual solutions with particular structure. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The discrepancy of arbitrary arithmetic progressions is $\Theta(n^{1/4})$ in the worse case: the lower bound is known as Roth's 1/4 Theorem. Lovasz gives a proof of the theorem using semidefinite programming (although by arguing directly about the primal rather than by constructing dual solutions). For the proof, see Section 5.2. of his &lt;a href=&quot;http://www.cs.elte.hu/~lovasz/semidef.ps&quot;&gt;SDP survey&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="4896" LastEditorUserId="4896" LastEditDate="2014-02-20T20:35:04.227" LastActivityDate="2014-02-20T20:35:04.227" CommentCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="21172" PostTypeId="1" CreationDate="2014-02-20T08:25:58.433" Score="14" ViewCount="1040" Body="&lt;p&gt;Consider the following setting:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;we are given a stack $s$ which contains $n$ items.&lt;/li&gt;&#xA;&lt;li&gt;we can use a constant $O(1)$ number of extra stacks.&lt;/li&gt;&#xA;&lt;li&gt;we can apply the following operations on these stacks:&#xA;&lt;ol&gt;&#xA;&lt;li&gt;check if a stack is empty,&lt;/li&gt;&#xA;&lt;li&gt;compare the top items of two stacks,&lt;/li&gt;&#xA;&lt;li&gt;delete the top item in a stack,&lt;/li&gt;&#xA;&lt;li&gt;print the top item in a stack,&lt;/li&gt;&#xA;&lt;li&gt;copy the top item of a stack into another stack,&lt;/li&gt;&#xA;&lt;li&gt;copy the content of one stack to another stack.&lt;/li&gt;&#xA;&lt;/ol&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Note that these are the only operations that are permitted. &#xA;We cannot swap items and &#xA;we are not allowed to push any item onto any of the stacks &#xA;with the exception of copying the top item into a stack &#xA;(after which the previous content of the target stack is discarded and &#xA;it will only contain the copied item).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is an algorithm to sort the stacks with $O(n^2)$ comparisons:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;last := empty&#xA;for i from 1 to n&#xA;  min := empty&#xA;  w := s&#xA;  while w is not empty&#xA;    if w.top &amp;gt; last and w.top &amp;lt; min&#xA;      min := w.top&#xA;    delete w.top&#xA;  print min&#xA;  last := min&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Can we do better?&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there a program that prints the sorted list of the items in the stacks &#xA;  using only $O(n\log n)$ comparisons?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="16737" LastEditorUserId="186" LastEditDate="2014-02-22T07:15:11.640" LastActivityDate="2014-08-07T09:57:58.000" Title="Sorting using read-only stacks" Tags="&lt;ds.algorithms&gt;&lt;sorting&gt;" AnswerCount="2" CommentCount="14" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="21173" PostTypeId="2" ParentId="1215" CreationDate="2014-02-20T09:50:50.497" Score="2" Body="&lt;p&gt;Somehow i missed the Achromatic Number problem in the last answer, but this is one of the most natural problems i know of, which are NP-complete on trees.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A complete coloring of a graph is a proper coloring such that there is an edge between every pair of color classes. The coloring can be stated in contrast to Harmonious Coloring, as a proper coloring such that each pair of colors appears on &lt;em&gt;at least&lt;/em&gt; one edge. Also, it can be stated as a complete (or full) homomorphism to a clique. The Achromatic Number problem is a &lt;em&gt;maximization&lt;/em&gt; problem, where we look for largest number of color classes in a complete coloring of the graph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Yannakakis and Gravil proved this problem to be &lt;a href=&quot;http://epubs.siam.org/doi/abs/10.1137/0138030&quot; rel=&quot;nofollow&quot;&gt;NP-hard on complement of Bipartite Graphs&lt;/a&gt;. Cairnie and Edwards extended that result and showed that the problem is &lt;a href=&quot;http://onlinelibrary.wiley.com/doi/10.1002/%28SICI%291097-0118%28199711%2926:3%3C129%3a%3aAID-JGT3%3E3.0.CO;2-T/abstract&quot; rel=&quot;nofollow&quot;&gt;NP-complete on trees&lt;/a&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A lot of work has been done on this problem in the field of Approximation Algorithms  [&lt;a href=&quot;http://www.researchgate.net/publication/2942749_Approximation_Algorithms_for_the_Achromatic_Number&quot; rel=&quot;nofollow&quot;&gt;3&lt;/a&gt;,&lt;a href=&quot;http://www.researchgate.net/publication/2942749_Approximation_Algorithms_for_the_Achromatic_Number&quot; rel=&quot;nofollow&quot;&gt;4&lt;/a&gt;,&lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/0012365X81901643&quot; rel=&quot;nofollow&quot;&gt;5&lt;/a&gt;]. &lt;/p&gt;&#xA;" OwnerUserId="21609" LastActivityDate="2014-02-20T09:50:50.497" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21174" PostTypeId="2" ParentId="8899" CreationDate="2014-02-20T11:18:35.157" Score="1" Body="&lt;p&gt;I'd like to suggest some possible candidates for P-completeness:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;the Generalized Pebbling Game for trees (see &quot;An Application of Generalized Tree Pebbling to Sparse Matrix Factorization&quot; by J.W.H. Liu)&lt;/li&gt;&#xA;&lt;li&gt;The Agreement Supertree problem in phylogenetics (see &quot;Fixed-Parameter Algorithms for Agreement Supertrees&quot; by D. Fernandez-Baca et al).&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The P-completeness is not clear to me though, a reduction from HornSAT seems possible but tricky; maybe the Target Set Selection problem would be a more natural starting point?&lt;/p&gt;&#xA;" OwnerUserId="21714" LastActivityDate="2014-02-20T11:18:35.157" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="21175" PostTypeId="1" CreationDate="2014-02-20T14:26:31.470" Score="6" ViewCount="107" Body="&lt;p&gt;Suppose that $N = p_1^{a_1} p_2^{a_2} ... p_k^{a_k}$ with $p_i$ prime and $a_i \geq 1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a representation of the factorization of $N$ and an integer $m$ (using alphabet $\Sigma = \{0,1,,\}$):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;b&gt;Input:&lt;/b&gt; $\quad m,p_1, a_1, ..., p_k, a_k$ &lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is the time and space complexity of calculating the $m$-th bit of the binary representation of $N$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I asked a &lt;a href=&quot;https://mathoverflow.net/questions/156093/comparing-two-numbers-given-their-factorization&quot;&gt;similar question on mathoverflow&lt;/a&gt; a few weeks ago, but didn't get a satisfactory answer.&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2014-02-20T14:26:31.470" Title="Unique factorization representation and complexity" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;nt.number-theory&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="21177" PostTypeId="2" ParentId="21097" CreationDate="2014-02-20T16:05:50.697" Score="1" Body="&lt;p&gt;The following algorithm might help.&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;1. Choose any vertex from the graph.&#xA;&#xA;2. Do a BFS untill $O(K)$ vertices has been visited.&#xA;&#xA;3. Create a cluster with the visited vertices. (Connectivity is ensured for the cluster).&#xA;&#xA;4. Remover the visited vertices from the graph.&#xA;&#xA;5. Repeat 1-4 untill all nodes are visited.&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Every cluster contains $O(K)$ vertices and those vertices are found by BFS. Again the the degree of each vertex is constant. So the inter-cluster edges are also $O(K)$. I think it's a lower bound on the number of inter-cluster edges. The complexity of the algorithm is clearly linear in number of edges as only BFS is performed. The number of cluster is also $O(N/K)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also modification of the graph by adding vertices would not affect the partition. Any one partition in which one of the neighbour of the new vertex lies, that can be the partition of the new vertex. So , may be no repartition is required untill the size of one of the cluster becomes too much.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is a proof that it is not possible to do better than linear number of inter-partition edge for arbitary $k$. Let in some partition there are $m$ vertices and it is connected. At best, the corresponding triangles would construct a convex region $\mathscr{R}$. Now for arbitary $k$ the convex hull of $\mathscr{R}$ can contain $O(K)$ triangle corners. So in total you would have $O(K)$ edge going out from $\mathscr{R}$. &#xA;However if $k$ is $O(log n)$ then may be the inter-partition edges can be reduced.&lt;/p&gt;&#xA;" OwnerUserId="12280" LastEditorUserId="12280" LastEditDate="2014-02-20T18:43:06.940" LastActivityDate="2014-02-20T18:43:06.940" CommentCount="10" ContentLicense="CC BY-SA 3.0" />
  <row Id="21178" PostTypeId="1" AcceptedAnswerId="21193" CreationDate="2014-02-20T18:02:00.870" Score="2" ViewCount="1026" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there a standard macro package, or just standard set of macros, for&#xA;  formatting decision problems in LaTeX?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;A &lt;em&gt;decision problem&lt;/em&gt; is presented via the data &quot;problem name&quot;, &quot;instance&quot;, and &quot;question&quot;, with the latter always having a yes or no answer.  For example FACTOR has, as an instance, a pair of positive integers (n,p) and has, as its question, &quot;Does n have a factor less that q and greater than one?&quot;.  Here is an attempt to format FACTOR in HTML.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;FACTOR&lt;br&gt;&#xA;&lt;code&gt;&lt;/code&gt;&lt;em&gt;Instance&lt;/em&gt;: $(n,q) \in \mathbb N \times \mathbb N$ &lt;br/&gt;&#xA;&lt;code&gt;&lt;/code&gt;&lt;em&gt;Question&lt;/em&gt;: Does $n$ have a factor bigger than one and less than $q$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the interest of not reinventing the wheel, I asked google, and found some homegrown macros, each with their own spacing, choice of fonts, and layout.  Has anyone implemented a standard?  Say, a standard journal in complexity theory? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For quite old examples of formatting choices see Karp's classic paper &lt;a href=&quot;http://www.win.tue.nl/~gwoegi/AC/karp-1971.pdf%E2%80%8E&quot; rel=&quot;nofollow&quot;&gt;Reducibility among combinatorial problems&lt;/a&gt;, starting on page 89 (using the page numbers in the book, not in the pdf file).  The book &lt;a href=&quot;http://www.scribd.com/doc/176854596/3-Computers-and-Intractability-A-Guide-to-the-Theory-of-NP-Completeness-Garey-Johnson&quot; rel=&quot;nofollow&quot;&gt;Computers and intractability&lt;/a&gt; by Garey and Johnson also gives many decision problems - see page 25 of the linked text.  I've seen more recent texts where the problem name is in small caps, and the boiler-plate on the instance and question lines is in italics. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For a more recent example, I found a macro written for use by students in a &lt;a href=&quot;http://courses.cs.vt.edu/cs3824/Fall2011/homework2.tex&quot; rel=&quot;nofollow&quot;&gt;cs class&lt;/a&gt; - see lines 95 to 116.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally - I tried asking over at the TeX Stack Exchange site, but didn't get any answers.  I've deleted the question there, and moved it over here. &lt;/p&gt;&#xA;" OwnerUserId="1905" LastEditorUserId="1905" LastEditDate="2014-02-21T09:49:23.103" LastActivityDate="2014-02-21T16:47:39.263" Title="Formatting decision problems in LaTeX" Tags="&lt;cc.complexity-theory&gt;" AnswerCount="1" CommentCount="10" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21179" PostTypeId="1" CreationDate="2014-02-20T21:16:07.007" Score="5" ViewCount="229" Body="&lt;p&gt;You can find specialized books consisting entirely or problems from particular math domains (e.g. linear algebra, polynomials, combinatorics), but I've yet to find such a book for automata of any kind. &lt;/p&gt;&#xA;" OwnerUserId="6510" LastActivityDate="2014-03-23T01:10:33.830" Title="Are there any books containing collections of automata problems?" Tags="&lt;dfa&gt;&lt;books&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="21180" PostTypeId="1" CreationDate="2014-02-20T21:33:48.050" Score="1" ViewCount="58" Body="&lt;p&gt;Suppose I have a binary tree $G = (V, E)$ (with undirected edges) that is partitioned into sets of k vertices, where each set of vertices is a connected subgraph of $G$. Additionally, if there are sets that have less than k vertices, then at least one of these vertices must be a leaf.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now suppose I wanted to increase the size of each set to be $k+1$ and hold all the above properties. I'm not entirely sure what tools I would use to construct such an algorithm. Any ideas or resources you can link me to?&lt;/p&gt;&#xA;" OwnerUserId="21347" LastActivityDate="2014-02-20T21:33:48.050" Title="Repartitioning a binary tree" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;tree&gt;&lt;partition-problem&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21181" PostTypeId="2" ParentId="17914" CreationDate="2014-02-20T23:39:06.920" Score="0" Body="&lt;p&gt;I am reminded of &lt;a href=&quot;http://xkcd.com/505/&quot; rel=&quot;nofollow&quot;&gt;xkcd 505: A Bunch of Rocks&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any real-world computer is subject to some level of noise.  A simulation of a universal computer in the ideal infinite Conway's Life universe will have a mean time between failures dependent on the engineering details of its design.  It will compute reliably for a probabilistically quantifiable period, unreliably for a period of accumulating errors, and then &lt;a href=&quot;http://xkcd.com/1266/&quot; rel=&quot;nofollow&quot;&gt;not at all&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would expect a fuzzy logic or quantum superposition model to demonstrate clearly what reliability should be expected of a particular construction.  One may want to simulate the expected outputs of various components, rather than iterating over all of their cells, to whatever degree they can be isolated from each other.  One might be able to quantify expected interference from failing components.  A genetic algorithm should be the best way to develop fault-{tolerating,resisting,correcting} components with MTBFs as large as desired for a given noise distribution.&lt;/p&gt;&#xA;" OwnerUserId="21716" LastActivityDate="2014-02-20T23:39:06.920" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21182" PostTypeId="2" ParentId="21179" CreationDate="2014-02-21T00:24:24.113" Score="1" Body="&lt;p&gt;Sort of indirectly, this book is about research level automata problems:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.amazon.ca/Automatic-Sequences-Theory-Applications-Generalizations/dp/0521823323&quot; rel=&quot;nofollow&quot;&gt;http://www.amazon.ca/Automatic-Sequences-Theory-Applications-Generalizations/dp/0521823323&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An automatic sequence is essentially a set of strings which can be computed by a DFA.&lt;/p&gt;&#xA;" OwnerUserId="2414" LastActivityDate="2014-02-21T00:24:24.113" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21183" PostTypeId="2" ParentId="11110" CreationDate="2014-02-21T01:06:07.667" Score="6" Body="&lt;p&gt;Yes, your problem is essentially equivalent to the one (General Position) in the Alexander Chistov, Hervé Fournier, Leonid Gurvits and Pascal Koiran &lt;a href=&quot;http://perso.ens-lyon.fr/pascal.koiran/Publis/lip.02-31.ps&quot;&gt;paper&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider an $n \times m$ matrix $A$, $n &amp;lt; m$. Without loss of generality, assume that $\text{rank}(A) = n$ and the first $n$ columns of $A$ are independent: $A =[B\ |\ D]$, where $B$ is a nonsingular $n \times n$ matrix. Now, $A$ contains a singular $n \times n$ submatrix if and only if $B^{-1}D$ is not totally regular. &lt;/p&gt;&#xA;" OwnerUserId="13778" LastEditorUserId="4896" LastEditDate="2014-02-21T02:43:57.577" LastActivityDate="2014-02-21T02:43:57.577" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21184" PostTypeId="2" ParentId="11110" CreationDate="2014-02-21T01:14:38.173" Score="3" Body="&lt;p&gt;There is another NP-Complete problem in the same spirit: for a square matrix to decide whether all its principal submatrices(i.e. rows and columns from the same set) are nonsingular. Another curious fact: sum of squares of determinants of all&#xA;square submatrices is easy(just Det(I + AA^{T})), but the sum of absolute values is #P-Complete.&lt;/p&gt;&#xA;" OwnerUserId="13778" LastEditorUserId="13778" LastEditDate="2014-02-21T16:37:49.007" LastActivityDate="2014-02-21T16:37:49.007" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21186" PostTypeId="1" CreationDate="2014-02-21T05:15:26.853" Score="23" ViewCount="1375" Body="&lt;p&gt;I know that trivially the OR function on $n$ variables $x_1,\ldots, x_n$ can be represented exactly by the polynomial $p(x_1,\ldots,x_n)$ as such:&#xA;$p(x_1,\ldots,x_n) = 1-\prod_{i = 1}^n\left(1-x_i\right)$,&#xA;which is of degree $n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But how could I show, what seems obvious, that if $p$ is a polynomial that represents the OR function exactly (so $\forall x \in \{0,1\}^n : p(x) = \bigvee_{i = 1}^n x_i$), then $\deg(p) \ge n$?&lt;/p&gt;&#xA;" OwnerUserId="21148" LastEditorUserId="40" LastEditDate="2014-02-21T06:09:04.003" LastActivityDate="2018-05-27T17:27:38.673" Title="Representing OR with polynomials" Tags="&lt;cc.complexity-theory&gt;&lt;co.combinatorics&gt;&lt;lower-bounds&gt;&lt;polynomials&gt;" AnswerCount="3" CommentCount="1" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="21187" PostTypeId="2" ParentId="21186" CreationDate="2014-02-21T05:56:02.313" Score="26" Body="&lt;p&gt;Let $p$ be a polynomial such that for all $x\in \{0,1\}^n$, $p(x) = \sf{OR}(x)$. Consider the symmetrization of the polynomial $p$: &#xA;$$q(k) = \frac{1}{\binom{n}{k}} \sum_{x: |x| = k} p(x).$$ Note that, since the OR function is a symmetric boolean function, we have that for $k = 1, 2, \ldots, n$, $q(k) = 1$, and $q(0) = 0$. Since $q-1$ is a non-zero polynomial, and it has at least $n$ 0's, it must have degree at least $n$. Therefore, $p$ must also have degree $n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Symmetrization is often used in the study of the approximate degree of boolean functions and quantum query complexity. See, for example, &lt;a href=&quot;http://www.math.uwaterloo.ca/~amchilds/teaching/w11/l19.pdf&quot;&gt;http://www.math.uwaterloo.ca/~amchilds/teaching/w11/l19.pdf&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="170" LastEditorUserId="636" LastEditDate="2014-02-21T22:59:57.063" LastActivityDate="2014-02-21T22:59:57.063" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="21188" PostTypeId="2" ParentId="21186" CreationDate="2014-02-21T06:08:12.077" Score="30" Body="&lt;p&gt;Let $f\colon \{0,1\}^n \to \{0,1\}$ be a boolean function. If it has a polynomial representation $P$ then it has a multilinear polynomial representation $Q$ of degree $\deg Q \leq \deg P$: just replace any power $x_i^k$, where $k \geq 2$, by $x_i$. So we can restrict our attention to multilinear polynomials.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Claim:&lt;/strong&gt; The polynomials $\{ \prod_{i \in S} x_i : S \subseteq [n] \}$, as functions $\{0,1\}^n \to \mathbb{R}$ form a basis of for the space of all functions $\{0,1\}^n \to \mathbb{R}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Proof:&lt;/strong&gt; We first show that the polynomials are linearly independent. Suppose that $f = \sum_S c_S \prod_{i \in S} x_i = 0$ for all $(x_1,\ldots,x_n) \in \{0,1\}^n$. We prove by (strong) induction on $|S|$ that $c_S = 0$. Suppose that $c_T = 0$ for all $|T| &amp;lt; k$, and let us be given a set $S$ of cardinality $k$. For all $T \subset S$ we know by induction that $c_T = 0$, and so $0 = f(1_S) = c_S$, where $1_S$ is the input which is $1$ on the coordinates of $S$. $~\qquad\square$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The claim shows that the multilinear representation of a function $f\colon \{0,1\}^n \to \{0,1\}$ is unique (indeed, $f$ doesn't even have to be $0/1$-valued). The unique multilinear representation of OR is $1-\prod_i(1-x_i)$, which has degree $n$.&lt;/p&gt;&#xA;" OwnerUserId="40" LastActivityDate="2014-02-21T06:08:12.077" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21191" PostTypeId="1" CreationDate="2014-02-21T13:54:15.120" Score="13" ViewCount="2205" Body="&lt;p&gt;A recent  question (see &lt;a href=&quot;https://cstheory.stackexchange.com/questions/21026/consequences-of-np-pspace&quot;&gt;Consequences of NP=PSPACE&lt;/a&gt;) asked for the &quot;nasty&quot; consequences of $NP=PSPACE$. The answers list quite a few collapse consequences, including $NP=coNP$ and others, providing plenty of reasons to believe $NP\neq PSPACE$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What would be the consequences of the somewhat less dramatic collapse $PH=PSPACE$? &lt;/p&gt;&#xA;" OwnerUserId="12710" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2014-02-23T21:51:15.150" Title="What would be the consequences of PH=PSPACE?" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;conditional-results&gt;" AnswerCount="3" CommentCount="2" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="21192" PostTypeId="2" ParentId="21191" CreationDate="2014-02-21T15:19:41.110" Score="20" Body="&lt;p&gt;$\mathsf{PH}$ collapses. A $\mathsf{PSPACE}$-complete problem must be in some level of $\mathsf{PH}$, say it's in $\mathsf{\Sigma_k P}$. Since it's $\mathsf{PSPACE}$-complete$=\mathsf{PH}$-complete (by assumption), $\mathsf{PH} \subseteq \mathsf{\Sigma_k P}$.&lt;/p&gt;&#xA;" OwnerUserId="129" LastEditorUserId="129" LastEditDate="2014-02-21T15:25:04.467" LastActivityDate="2014-02-21T15:25:04.467" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="21193" PostTypeId="2" ParentId="21178" CreationDate="2014-02-21T16:47:39.263" Score="2" Body="&lt;p&gt;&lt;em&gt;For some obscure reason everyone is answering in comments, so let me comment in an answer.&lt;/em&gt; &lt;/p&gt;&#xA;&#xA;&lt;p&gt;While I am not aware of any standard macros for this, I'm partial to the G&amp;amp;J format (which is basically the format you use in the question. Namely, &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;PROBLEM NAME&lt;/strong&gt;  &lt;br /&gt;&#xA;  &lt;strong&gt;INSTANCE&lt;/strong&gt;: description of instance&lt;br /&gt;&#xA;  &lt;strong&gt;QUESTION&lt;/strong&gt;: description of problem&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="80" LastActivityDate="2014-02-21T16:47:39.263" CommentCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="21194" PostTypeId="1" CreationDate="2014-02-21T19:03:03.840" Score="0" ViewCount="803" Body="&lt;p&gt;I'm working on a triangle partitioning problem, and I'm trying to find and prove some properties of specific triangulations. The triangulations I'm dealing with are constrained delaunay triangulations in which every constraint is at least an edge (there are no single vertex constraints). Here is an example of such a triangulation:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/zxMyi.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The red lines represent edge constraints and the blue lines represent the unconstrained edges produced to create the triangulation. Notice how all vertices are in some edge constraint and that there will never be a vertex that is not connected to a constrained edge.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now let us create a graph from this triangulation. Every triangle is a vertex, and edges are defined by $(v_1,v_2)$ where $v_1$ and $v_2$ are triangles that share an unconstrained edge. Notice that every vertex in this graph has degree at most 3.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My problem is that I want to say something about the number of 3 degree vertices in such a graph. I believe that at least half the vertices have less than degree 3 (just from a hunch) but I have no idea how to go about proving such a thing. What I'm asking is, what is the upper bound of the ratio degree 3 vertices to total vertices in a triangulation with these properties.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT: I found this on the delaunay triangulation wikipedia page. Delaunay triangulations have $O(n^{d/2})$ simplicies, so a planar DT would have $O(n)$ triangles where $n$ is the number of vertices. This isn't the same as the set of constrained delaunay triangulations we're working with, but it seems to suggest that there could be a relationship degree-3 triangles and the total number of triangles.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/092577219500013Y&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://www.sciencedirect.com/science/article/pii/092577219500013Y&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="21347" LastEditorUserId="21347" LastEditDate="2014-02-22T19:10:12.007" LastActivityDate="2014-09-24T09:31:42.837" Title="Number of &quot;3-edge&quot; triangles in a planar triangulation" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;delaunay-triangulation&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21195" PostTypeId="2" ParentId="21163" CreationDate="2014-02-21T19:07:16.273" Score="1" Body="&lt;p&gt;While this doesn't answer your exact question, CFG parsing is a decision problem that was reduced from matrix multiplication (so it is as hard as matrix multiplication in a sense).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Specifically, in &lt;a href=&quot;http://arxiv.org/pdf/cs/0112018.pdf&quot; rel=&quot;nofollow&quot;&gt;[1]&lt;/a&gt; it was shown that CFG parsing is as hard as boolean matrix multiplication.  In particular, if CFG parsing (a decision problem) can be solved in $O(gn^{3-\epsilon})$ time, boolean matrix multiplication can be solved in $O(n^{3-\epsilon/3})$ time.  An interesting aspect is that matrix multiplication can also be used for fast CFG algorithms, so the problems are computationally equivalent in a sense.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The reduction has some unusual aspects because boolean matrix multiplication requires $n^2$ output bits, whereas CFG parsing only requires one.  To deal with this, the paper assumes that the CFG parser solves certain subproblems when parsing the string (and argues that this is a reasonable assumption to make).  The reduction makes $n^2$ queries to these subproblems to obtain the product matrix.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thus CFG parsing is a decision problem that is computationally as hard (in a sense) as matrix multiplication.  However, this is not specifically a decision version of matrix multiplication, and furthermore, the reduction relies on the idea that CFG parsing is actually made up of $n^2$ decision subproblems.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Lee, Lillian. &quot;Learning of context-free languages: A survey of the literature.&quot; Techn. Rep. TR-12-96, Harvard University (1996).&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="8927" LastActivityDate="2014-02-21T19:07:16.273" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21196" PostTypeId="2" ParentId="8899" CreationDate="2014-02-21T20:54:16.663" Score="1" Body="&lt;p&gt;Here is the third problem I mentioned, called Quad Tree Recoloring. We are given:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;a matrix of colors $\Gamma = (\gamma_{i,j})$,&lt;/li&gt;&#xA;&lt;li&gt;a quad-tree $T$ whose leaves are labelled by elements of $\Gamma$,&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;and the goal is to recolor the minimum number of nodes of $T$ such that no two adjacent nodes of $T$ are labelled by colors adjacent in $\Gamma$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another possible cost function would be to count the &lt;em&gt;surface&lt;/em&gt; of recolored nodes instead of their number. I conjecture that this problem is P-complete, but even membership in P is not immediate.&lt;/p&gt;&#xA;" OwnerUserId="21733" LastActivityDate="2014-02-21T20:54:16.663" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="21198" PostTypeId="1" CreationDate="2014-02-21T21:51:47.153" Score="5" ViewCount="187" Body="&lt;p&gt;The &lt;a href=&quot;http://en.wikipedia.org/wiki/Support_vector_machine#Transductive_support_vector_machines&quot; rel=&quot;nofollow&quot;&gt;Transductive Support Vector Machine training problem&lt;/a&gt; is a non-convex mixed integer programming problem:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Transductive Support Vector Machine training problem.&lt;/strong&gt;&#xA;  $$&#xA;\begin{align}&#xA;\mathop{\text{minimize}}_{\xi,\theta,b,u} \;&amp;amp;\|\theta\|^2 + C \sum_{i=1}^{m+k} \xi_i \\[1ex]&#xA;\text{subject to:}\;&#xA;&amp;amp;y^{(i)}(\theta^T x^{(i)}-b) \geqslant 1-\xi_i, \quad\text{for } \; i=1, \ldots, m\\&#xA;&amp;amp;u_i\;\;(\theta^T x^{(i)}-b) \geqslant 1-\xi_i, \quad\text{for }\; i=m, \ldots, m+k\\&#xA;&amp;amp;u_i \in \{-1, 1\}\\&#xA;&amp;amp;\xi_i \geqslant 0&#xA;\end{align}&#xA;$$&#xA;  where $C &amp;gt; 0$, and:&lt;/p&gt;&#xA;  &#xA;  &lt;ul&gt;&#xA;  &lt;li&gt;$x^{(1)},\dots,x^{(m+k)} \in \mathbb{R}^n$ are data points;&lt;/li&gt;&#xA;  &lt;li&gt;$y^{(1)},\dots,y^{(m)} \in \{-1, 1\}$ are labels provided for $1 \leqslant i \leqslant m$ &lt;br&gt;(the vectors $x^{(i)}$ are missing labels for $i &amp;gt; m$). &lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;If I recall correctly, it can be proved that this problem is NP-hard, but I can't find a reference to that claim.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Questions.&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Is it really NP-hard?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Is it APX-complete?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="1749" LastEditorUserId="248" LastEditDate="2014-02-24T23:51:24.123" LastActivityDate="2014-02-24T23:51:24.123" Title="Complexity of the Transductive SVM training problem" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;machine-learning&gt;&lt;svm&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="21199" PostTypeId="1" AcceptedAnswerId="21207" CreationDate="2014-02-22T01:03:43.083" Score="16" ViewCount="2334" Body="&lt;p&gt;When we look at &lt;a href=&quot;http://homotopytypetheory.org/book/&quot; rel=&quot;nofollow noreferrer&quot;&gt;the book, Homotopy Type Theory&lt;/a&gt; - we see the following topics:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;Homotopy type theory &#xA;2.1 Types are higher groupoids&#xA;2.2 Functions are functors&#xA;2.3 Type families are ﬁbrations&#xA;2.4 Homotopies and equivalences&#xA;2.5 The higher groupoid structure of type formers&#xA;2.6 Cartesian product types&#xA;2.7 S-types&#xA;2.8 The unit type&#xA;2.9 P-types and the function extensionality axiom&#xA;2.10 Universes and the univalence axiom&#xA;2.11 Identity type&#xA;2.12 Coproducts&#xA;2.13 Natural numbers&#xA;2.14 Example: equality of structures&#xA;2.15 Universal properties&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Now &lt;a href=&quot;https://cstheory.stackexchange.com/a/14338/608&quot;&gt;we know that not all of homotopy type theory is possible is Agda and Coq&lt;/a&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is: &lt;strong&gt;What parts of homotopy type theory are not possible in Agda or Coq?&lt;/strong&gt;&lt;/p&gt;&#xA;" OwnerUserId="608" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2014-02-24T08:32:54.377" Title="What parts of homotopy type theory are not possible in Agda or Coq?" Tags="&lt;type-systems&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="21200" PostTypeId="1" CreationDate="2014-02-22T04:04:10.093" Score="16" ViewCount="476" Body="&lt;p&gt;Hierarchy theorems are fundamental tools. A good number of them was collected in an earlier question (see &lt;a href=&quot;https://cstheory.stackexchange.com/questions/7303/what-hierarchies-and-or-hierarchy-theorems-do-you-know&quot;&gt;What hierarchies and/or hierarchy theorems do you know?&lt;/a&gt;). Some complexity class separations directly follow from hierarchy theorems.  Examples of such well known separations: $L\neq PSPACE$, $P\neq EXP$, $NP\neq NEXP$, $PSPACE\neq EXPSPACE$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, not every separation follows from a hierarchy theorem. A very simple example is $NP\neq E$. Even though we do not know if any of them contains the other, they are still different, because $NP$ is closed with respect to polynomial transformations, while $E$ is not. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Which are some deeper, unconditional, non-relativized complexity class separations for uniform classes that  do &lt;strong&gt;not&lt;/strong&gt; directly follow from some hierarchy theorem? &lt;/p&gt;&#xA;" OwnerUserId="12710" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2014-02-28T21:27:48.837" Title="Complexity class separations without hierarchy theorems" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;hierarchy-theorems&gt;" AnswerCount="3" CommentCount="5" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="21202" PostTypeId="2" ParentId="21191" CreationDate="2014-02-22T09:14:46.007" Score="19" Body="&lt;p&gt;It would still imply major separations of complexity classes. For example, $\mathrm{LOGSPACE \neq NP}$ would follow. (If $\mathrm{LOGSPACE = NP}$ then $\mathrm{LOGSPACE = PH}$.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also $\mathrm{NP \subseteq P/poly}$ would imply $\mathrm{PSPACE = \Sigma_2 P}$ by Karp-Lipton. It follows that $\mathrm{NP}$ has polysize circuits if and only if $\mathrm{PSPACE}$ does. And of course, we'd have $\mathrm{P = NP}$ iff $\mathrm{P = PSPACE}$. In any case, the consequences of solving $\mathrm{NP}$ problems efficiently would be significantly increased. &lt;/p&gt;&#xA;" OwnerUserId="225" LastEditorUserId="248" LastEditDate="2014-02-22T16:08:56.243" LastActivityDate="2014-02-22T16:08:56.243" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21203" PostTypeId="2" ParentId="19551" CreationDate="2014-02-22T12:20:38.087" Score="10" Body="&lt;p&gt;The problem has been solved in: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Oscar H. Ibarra, Nicholas Q. Trân, A note on simple programs with two variables, Theoretical Computer Science, Volume 112, Issue 2, 10 May 1993, Pages 391-397, ISSN 0304-3975, &lt;a href=&quot;http://dx.doi.org/10.1016/0304-3975%2893%2990028-R&quot;&gt;http://dx.doi.org/10.1016/0304-3975(93)90028-R&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $TV$ be the class of languages recognized by two-counter machines.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;&lt;b&gt;Theorem 3.3&lt;/b&gt;: For any fixed integer $k \geq 2$, $L_k = \{ n^k \mid n \geq 0 \} \notin TV$&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;br&gt;Note: it's strange that in the Ibarra&amp;amp;Tran's paper   &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;&lt;b&gt;Theorem 3.4&lt;/b&gt; Let $f$ be a total function with infinite range and such that the relation $f(a + bn)=f(a)+cn$ for all $n \geq 0$ does not hold for any triple $(a,b,c)$; then $f$ cannot be computed by any two-counter machine.&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;is proved and the authors say that it has been derived in a slightly different form in:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I.M. Barzdin, Ob odnom klasse machin Turinga (machiny Minskogo), Russian, &lt;em&gt;Algebra i Logika&lt;/em&gt; 1 (1963) 42-51&lt;/p&gt;&#xA;&#xA;&lt;p&gt;but don't cite Rich Schroeppel's paper (1972) in which the theorem is also derived ... :-)&lt;/p&gt;&#xA;" OwnerUserId="3247" LastActivityDate="2014-02-22T12:20:38.087" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="21204" PostTypeId="2" ParentId="21194" CreationDate="2014-02-22T13:02:43.200" Score="1" Body="&lt;p&gt;I think only those vertices corresponding to triangles sharing an edge with boundary or holes of the polygon will be of degree less than 3. Now the number of triangles in the triangulation is fixed. So you can always get the exact ratio of the number of degree 3 vertices for a polygon.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If the polygon has $k$ vertices and $l$ holes vertices and the number of triangles in the total triangulation is $N$ &#xA;then the upper bound should be $(N-K-l)/N$.&lt;/p&gt;&#xA;" OwnerUserId="12280" LastActivityDate="2014-02-22T13:02:43.200" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="21205" PostTypeId="2" ParentId="21199" CreationDate="2014-02-22T13:09:44.513" Score="12" Body="&lt;p&gt;As far as I understand, in Agda it is possible to represent all of that (i.e. all of Chapter 2 -- there is a library on github which does; AFAIK, the same is true of Coq).  It is only when you get to later chapters that things get dicey.  There are two obvious items:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;The circle.  This is represented (in Agda) using a &lt;strong&gt;postulate&lt;/strong&gt;, and so is not as nice as other things.&lt;/li&gt;&#xA;&lt;li&gt;$\infty$-groupoids.  But this is an open problem on how to represent infinitely many coherence laws in a finite way.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;There are other items too, but I have not gotten to reading that part of the Agda formalization yet...  But by and large, most of HoTT can be nicely formalized in both Agda and Coq.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More importantly, both teams of developers are actively working on adapting their systems so that more of HoTT can be handled, at least whenever there is a clear theory of how to implement the needed features.  That has turned out to be challenging in parts.&lt;/p&gt;&#xA;" OwnerUserId="66" LastActivityDate="2014-02-22T13:09:44.513" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21207" PostTypeId="2" ParentId="21199" CreationDate="2014-02-22T15:21:43.720" Score="21" Body="&lt;p&gt;If you look at &lt;a href=&quot;http://books.google.no/books?id=LkDUKMv3yp0C&amp;amp;lpg=PP1&amp;amp;pg=PA296#v=onepage&amp;amp;q&amp;amp;f=false&quot;&gt;Notes on Chapter 8&lt;/a&gt; you will see what &lt;em&gt;has&lt;/em&gt; already been formalized, and I think that's a lot. There are the Coq &lt;a href=&quot;https://github.com/HoTT/HoTT&quot;&gt;HoTT library&lt;/a&gt; and the Agda &lt;a href=&quot;https://github.com/HoTT/HoTT-Agda&quot;&gt;HoTT-Agda&lt;/a&gt; library which formalize large chunks of Homotopy Type Theory.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To get things done in Coq we needed a special version of Coq that was patched just for the purposes of HoTT. However, Coq is moving in the direction of supporting homotopy type theory, so before long we might be able to do it with standard Coq.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In Agda one has to turn on the &lt;code&gt;--without-K&lt;/code&gt; option, otherwise Agda thinks all types are 0-types. There are some lingering doubts as to whether &lt;code&gt;--without-K&lt;/code&gt; really gets rid of the assumption that everything is a 0-set, or perhaps one could reintroduce it into Agda with tricky uses of pattern matches.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The following aspects of Coq and Agda formalizations are not satisfactory:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;The Univalence axiom is stated as a hypothesis. It would be better if it were built into the system. In particular we would like Coq and Agda to understand the computation rules about the Univalence axiom.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Likewise, we have to use hacks to get workable higher-inductive types. Again, it would be better to have direct support.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;The trouble with the above deficiencies is that nobody knows how to fix them even in theory. This is an active area of research.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Other than that, I think it's fair to say that HoTT &lt;em&gt;can&lt;/em&gt; be mostly done in Coq and Agda, just not in the optimal way.&lt;/p&gt;&#xA;" OwnerUserId="705" LastEditorUserId="705" LastEditDate="2014-02-24T08:32:54.377" LastActivityDate="2014-02-24T08:32:54.377" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="21210" PostTypeId="1" AcceptedAnswerId="21213" CreationDate="2014-02-22T19:53:02.863" Score="3" ViewCount="142" Body="&lt;p&gt;Has any research been done on paradox-driven computers?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An example of what I mean by &quot;paradox-driven&quot;:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a computer which can send information back through time, an algorithm to instantly break passwords would be:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;crackPassword(){&#xA;    String password=recieveFromFuture();&#xA;    if (password.checkIfCorrect()){&#xA;        sendToPast(password);//no paradox generated, valid password found.&#xA;    }else{&#xA;        sendToPast(password++);//paradox generated, this &quot;parallel universe&quot; cannot exist.&#xA;    }&#xA;    return password;&#xA;}&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Since every parallel universe which does not contain a correct password is impossible, the user will continue on one or more valid &quot;parallel universes&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This allows for the solution of any problem in O(1) time, so long as the answer is easily verified.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To the user this would appear as if the program immediately jumped to a valid password.&lt;/p&gt;&#xA;" OwnerUserId="21749" LastActivityDate="2014-02-22T20:28:54.403" Title="paradox-driven computers?" Tags="&lt;dc.parallel-comp&gt;" AnswerCount="1" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="21211" PostTypeId="1" CreationDate="2014-02-22T20:02:59.473" Score="2" ViewCount="1083" Body="&lt;p&gt;I'm looking for an upper bound for the number of triangles in a constrained planar delaunay triangulation. I know for d=2 delaunay triangulation, there are at most n+1 triangles where n is the number of vertices.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there any papers or theorems that show that constrained delaunay triangulations have fewer or more triangles than normal delaunay triangulations?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.cs.ucdavis.edu/~amenta/pubs/HiDeeDel.pdf&quot; rel=&quot;nofollow&quot;&gt;http://www.cs.ucdavis.edu/~amenta/pubs/HiDeeDel.pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="21347" LastActivityDate="2014-02-22T20:02:59.473" Title="Maximum number of triangles in a constrained delaunay triangulation" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;upper-bounds&gt;&lt;delaunay-triangulation&gt;" AnswerCount="0" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="21212" PostTypeId="1" CreationDate="2014-02-22T20:22:08.963" Score="7" ViewCount="556" Body="&lt;p&gt;I know that integer multicommodity flow is NP-complete. It was proven in&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://dl.acm.org/citation.cfm?id=1382492&quot; rel=&quot;nofollow noreferrer&quot;&gt;On the complexity of time table and multi-commodity flow problems&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;that any SAT problem can be reduced to an integer multicommodity problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I also know that the ASP version of SAT (finding additional solutions to a SAT problem when a number of solutions are already known) is also NP-complete. It was shown in&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www-imai.is.s.u-tokyo.ac.jp/~yato/data2/SIGAL87-2.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Complexity and completeness of finding another solution&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question: is the &lt;strong&gt;ASP version of integer multicommodity&lt;/strong&gt; NP-complete as well? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The authors of the second article defined an ASP reduction, and proved that if one problem can be reduced by ASP-reduction to a problem that is ASP-complete, then that problem is also ASP-complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I never formally studied computer science, and I'm not sure if the reduction between integer multicommodity to SAT is an ASP reduction... I'd be grateful if someone from this field would know the answer.&lt;/p&gt;&#xA;" OwnerUserId="21750" LastEditorUserId="1993" LastEditDate="2019-03-12T06:34:16.363" LastActivityDate="2019-03-12T06:34:16.363" Title="Another Solution Problem (ASP) of integer multi-commodity flow: is it NP-complete?" Tags="&lt;np-hardness&gt;&lt;sat&gt;&lt;multicommodity-flow&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 4.0" />
  <row Id="21213" PostTypeId="2" ParentId="21210" CreationDate="2014-02-22T20:28:54.403" Score="9" Body="&lt;p&gt;This idea, known as &lt;a href=&quot;http://en.wikipedia.org/wiki/Novikov_self-consistency_principle#Time_loop_logic&quot;&gt;Time loop logic&lt;/a&gt; has been investigated by Moravec, Deutsch and Aaronson.&lt;/p&gt;&#xA;" OwnerUserId="1749" LastActivityDate="2014-02-22T20:28:54.403" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21215" PostTypeId="2" ParentId="21097" CreationDate="2014-02-23T01:07:02.350" Score="11" Body="&lt;p&gt;Rao has two papers on sparsest cut in planar graphs, a constant-factor approximation in quasi-linear time &lt;a href=&quot;http://www.sommer.jp/planarapxq.htm&quot;&gt;seems possible&lt;/a&gt;. Recursive bisection, while not ideal, might be a feasible approach for your problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Satish Rao. &lt;a href=&quot;http://doi.ieeecomputersociety.org/10.1109/SFCS.1987.26&quot;&gt;Finding near optimal separators in planar graphs&lt;/a&gt;. In 28th Symposium on Foundations of Computer Science (FOCS), pages 225-237, 1987.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Satish Rao. &lt;a href=&quot;http://doi.acm.org/10.1145/129712.129735&quot;&gt;Faster algorithms for finding small edge cuts in planar graphs&lt;/a&gt; (extended abstract). In 24th ACM Symposium on Theory of Computing (STOC), pages 229-240, 1992.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Horst D. Simon and Shang-Hua Teng. &lt;a href=&quot;http://dx.doi.org/10.1137/S1064827593255135&quot;&gt;How Good is Recursive Bisection?&lt;/a&gt; &#xA;In  SIAM Journal on Scientific Computing, Volume 18, Issue 5, pages 1436-1445, 1997.&lt;/p&gt;&#xA;" OwnerUserId="4821" LastActivityDate="2014-02-23T01:07:02.350" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21216" PostTypeId="1" CreationDate="2014-02-23T02:35:03.860" Score="7" ViewCount="114" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;Given a set of $n$ points $v_1,\ldots,v_n$ in $R^d$, find a point $p$&#xA;  such that $\sum_{i=1}^n w_i d(p,v_i)$ is minimized, where $w_i$ is the&#xA;  weight of $v_i$, which may be  positive or negative.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Is there any known result for this problem. It seems the problem has been considered in graphs (&lt;a href=&quot;http://rutcor.rutgers.edu/~do99/EA/ECela.ps&quot; rel=&quot;nofollow&quot;&gt;one&lt;/a&gt;, &lt;a href=&quot;http://link.springer.com/article/10.1007/s10878-008-9187-4&quot; rel=&quot;nofollow&quot;&gt;two&lt;/a&gt;). What about in $R^d$ ?  Due to the negative weights, the problem is not convex any more.&lt;/p&gt;&#xA;" OwnerUserId="383" LastEditorUserId="80" LastEditDate="2014-02-24T06:58:10.487" LastActivityDate="2014-02-24T06:58:10.487" Title="Is there any known result for 1-median problem with negative weights in Euclidean space?" Tags="&lt;ds.algorithms&gt;&lt;cg.comp-geom&gt;" AnswerCount="0" CommentCount="6" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21219" PostTypeId="2" ParentId="21170" CreationDate="2014-02-23T07:36:02.987" Score="2" Body="&lt;p&gt;I agree with the OP: $\mathcal{G} - \mathcal{C} = \mathcal{G}'$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I assume the author of the paper wanted to define $\mathcal{G}'$ as $\mathcal{G} - S_{\mathcal{C}}$. With this modification, the next sentence in the paper makes sense:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;One can easily see that $\#vc(\mathcal{G}',k-|S_{\mathcal{C}}|)$ equals the number of size $k$ vertex covers $S$ in $\mathcal{G}$ with $S \supseteq S_{\mathcal{C}}$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Here, $\#vc(\mathcal{G},k)$ denotes the number of size $k$ vertex covers in $\mathcal{G}$.&lt;/p&gt;&#xA;" OwnerUserId="72" LastActivityDate="2014-02-23T07:36:02.987" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="21220" PostTypeId="1" CreationDate="2014-02-23T08:56:50.783" Score="10" ViewCount="164" Body="&lt;p&gt;I have the following conjecture about bounded functions on the hypercube. Any help resolving it (proof, counterexample, some ideas) is much appreciated.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;&lt;b&gt;Conjecture.&lt;/b&gt; Let $f : \{ -1, +1 \}^n \to [-1, +1]$ and $p \in [0,1/2]$. Suppose $\left| \widehat{f}(S) \right| \leq p^{|S|+1}$ for all $S \subseteq [n]$. Then $\mathrm{Var}\left[ f \right] \leq p^{\Omega(1)}$. &#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Here $f(x) = \sum_{S \subseteq [n]} \widehat{f}(S) \prod_{i \in S} x_i$ for all $x \in \{ \pm 1\}^n$ defines the usual Fourier transform. It's clear that $$\mathrm{Var}\left[ f \right] = \sum_{S \ne \emptyset} \widehat{f}(S)^2 \leq \sum_S p^{2|S|+2} = p^2 (1+p^2)^n,$$ but, unless $p \leq \tilde{O}(1/\sqrt{n})$, this is worse than the trivial $\mathrm{Var}\left[ f \right] \leq 1$. I'm interested in $p = (1/\log n)^{O(1)}$. I don't know exactly what the right bound on the variance of $f$ should be.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My motivation comes from the area of pseudorandomness, but this seems to be an interesting question about discrete Fourier analysis in its own right. In particular, this seems related to the &lt;a href=&quot;http://arxiv.org/pdf/math/0503503v2.pdf&quot;&gt;majority is stablest&lt;/a&gt; theorem: Suppose $f = T_p(g)$ for some balanced $g : \{\pm 1\}^n \to \{\pm 1\}$ with $\mathrm{Inf}_i(g) \leq p^2$ for all $i$, where $T_p$ is the &lt;a href=&quot;https://www.contrib.andrew.cmu.edu/~ryanod/?p=406&quot;&gt;noise operator&lt;/a&gt;. Then $f$ satisfies the hypotheses of the conjecture and the variance of $f$ is the noise stability of $g$, which is bounded by $O(p)$ as a consequence of majority is stablest.&lt;/p&gt;&#xA;" OwnerUserId="2022" LastActivityDate="2014-02-23T08:56:50.783" Title="Variance of bounded functions with rapidly decaying Fourier coefficients" Tags="&lt;fourier-analysis&gt;" AnswerCount="0" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21221" PostTypeId="1" CreationDate="2014-02-23T14:07:18.290" Score="18" ViewCount="278" Body="&lt;p&gt;I would like to know if there are any free graph libraries for testing whether a specific set of minors exists in a given graph?&lt;/p&gt;&#xA;" OwnerUserId="21757" LastEditorUserId="80" LastEditDate="2014-02-27T16:49:28.620" LastActivityDate="2014-02-27T16:49:28.620" Title="A good Library for testing whether a minors exists in a graph?" Tags="&lt;graph-algorithms&gt;&lt;implementation&gt;&lt;graph-minor&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21223" PostTypeId="2" ParentId="21097" CreationDate="2014-02-23T21:16:17.830" Score="8" Body="&lt;p&gt;&lt;a href=&quot;http://cse.iitkgp.ac.in/~pabitra/paper/barna-sdm07.pdf&quot;&gt;http://cse.iitkgp.ac.in/~pabitra/paper/barna-sdm07.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;BAM, here's the answer. Incremental min cut graph partitions in $O(k^3)$ time for insertions and deletions. If you make $k = O(\log n)$ then it's poly logarithmic for insertions and deletions, which is damn good.&lt;/p&gt;&#xA;" OwnerUserId="21347" LastActivityDate="2014-02-23T21:16:17.830" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="21225" PostTypeId="2" ParentId="21191" CreationDate="2014-02-23T21:51:15.150" Score="2" Body="&lt;p&gt;As the answers point out,  $PH=PSPACE$ would still have significant consequences, even though not as numerous and dramatic ones as $NP=PSPACE$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Turning the issue  on its head, it could be viewed as &quot;empirical evidence&quot; to support $NP\neq PH$. After all, if $NP=PH$, then the two statements ($PH=PSPACE$ and $NP=PSPACE$) must have the same consequences. As the second hypothesis  has noticeably more and stronger known consequences, that can be viewed as empirical evidence to support that the left-hand sides in the equations must be different, that is $NP\neq PH$ (which, in turn,  is equivalent to $NP\neq coNP$). &lt;/p&gt;&#xA;" OwnerUserId="12710" LastActivityDate="2014-02-23T21:51:15.150" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21226" PostTypeId="1" AcceptedAnswerId="21233" CreationDate="2014-02-24T00:38:00.133" Score="12" ViewCount="190" Body="&lt;p&gt;The definition of &quot;algebraic poset&quot; in &lt;a href=&quot;http://books.google.com/books?id=xPF9Hb7DPLgC&amp;amp;printsec=frontcover&amp;amp;dq=continuous%20lattices%20and%20domains&amp;amp;hl=en&amp;amp;sa=X&amp;amp;ei=EpEKU8X8IY7e7AbTu4C4CA&amp;amp;ved=0CEMQ6AEwAA&quot;&gt;Continuous Lattices and Domains&lt;/a&gt;, Definition I-4.2, says that, for all $x \in L$, &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;the set $A(x) = {\downarrow} x \cap K(L)$ should be a directed set, and&lt;/li&gt;&#xA;&lt;li&gt;$x = \bigsqcup ({\downarrow} x \cap K(L)$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Here $L$ is a poset, $K(L)$ is the set of compact elements of $L$, and ${\downarrow} x$ means $\{y \mid y \sqsubseteq x\}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I was a bit surprised by the first condition.  It is an easy argument to show that, if $k_1$ and $k_2$ are in $A(x)$ then $k_1 \sqcup k_2$ is also in $A(x)$.  So, all nonempty finite subsets of $A(x)$ have upper bounds in it.  The only question is whether the empty subset has an upper bound in it, i.e., whether $A(x)$ is nonempty in the first place.  So,&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Is it ok to replace the first condition with $A(x)$ is nonempty?&lt;/li&gt;&#xA;&lt;li&gt;What is an example of a situation where $A(x)$ is empty?&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Note added: How is $k_1 \sqcup k_2$ in A(x)?  First, since $k_1 \sqsubseteq x$ and $k_2 \sqsubseteq x$, we have $k_1 \sqcup k_2 \sqsubseteq x$.  Second, $k_1$ and $k_2$ are compact.  So, any directed set that goes &quot;beyond&quot; them must &quot;pass&quot; them.  Suppose a directed set $u$ also goes beyond $k_1 \sqcup k_2$, i.e., $k_1 \sqcup k_2 \sqsubseteq \bigsqcup u$.  Since it has gone beyond $k_1$ and $k_2$, it must have passed them, i.e., there are elements $y_1, y_2 \in u$ such that $k_1 \sqsubseteq y_1$ and $k_2 \sqsubseteq y_2$.  Since $u$ is a directed set, it must have an upper bound for $y_1$ and $y_2$, say $y$.  Now, $k_1 \sqcup k_2 \sqsubseteq y \in d$.  This shows that $k_1 \sqcup k_2$ is compact.  The two pieces together say $k_1 \sqcup k_2 \in A(x)$.&lt;/p&gt;&#xA;" OwnerUserId="8519" LastEditorUserId="705" LastEditDate="2014-02-24T14:55:27.613" LastActivityDate="2014-02-24T14:55:27.613" Title="Is this an equivalent condition for algebraic posets?" Tags="&lt;domain-theory&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21227" PostTypeId="2" ParentId="21097" CreationDate="2014-02-24T01:05:57.790" Score="-1" Body="&lt;p&gt;did some search on this but held off on posting immed to see what other answers would materialize &amp;amp; am now posting this to not throw away some misc ideas/leads which could have some value (although the question author has already indicated hes now found an acceptable answer). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;on inspection there are many constraints given on this problem and it could conceivably take an entire paper to create an algorithm &amp;amp; prove that it satisfies all them (which of course is generally outside the scope of stackexchange format). nevertheless there are a few basic approaches to take on this type of problem&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;empirical. generate random graphs that fit the constraints or use graphs from some dataset that match the conditions and try different algorithms on them, and look at performance. one may find that an algorithm empirically satisfies the conditions reqd. if one is more strict, one could attempt to create a proof out of the empirical observation if its 100% satisfied by large datasets. also for empirical research it often helps to know how the datasets are obtained/generated, what their nature/origination is.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;the question has no related citations of literature/refs. so what are the nearest types of algorithms in the literature? for this type of problem multiple types of research areas might overlap. there is research on planar graphs, graph partitions, graph cuts, graph separators, partitioning triangular graphs, etc.; its not obvious to figure out the main theme of this question so far as its formulated or which particular (graph algorithm) research sub-area would most directly impinge on it.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;given those qualifications a basic theme of the question seems to be &quot;partitioning planar graphs&quot;. here are some leading recent refs on that topic which might be helpful &amp;amp; show additional themes/angles of current related research. there are some algorithms implemented &amp;amp; they may be available on request from the authors. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;the 3&lt;sup&gt;rd&lt;/sup&gt; involves partitioning with weights, which will generalize to equal weights, but which gives an additional framework for consideration/investigation: could all the question conditions be fulfilled by some kind of weight assignment scheme? (this could also tie in with the requirement to have some kind of dynamic control or adjustment over solutions also referred to in the question.)&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0024379506003454&quot; rel=&quot;nofollow&quot;&gt;Spectral partitioning works: Planar graphs and finite element meshes&lt;/a&gt; Spielman/Teng&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://link.springer.com/chapter/10.1007%2F10692760_26&quot; rel=&quot;nofollow&quot;&gt;Linear Algorithms for a k-partition Problem of Planar Graphs without Specifying Bases&lt;/a&gt; Wada, Chen&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://people.scs.carleton.ca/~maheshwa/papers/acmjea.pdf&quot; rel=&quot;nofollow&quot;&gt;Partitioning planar graphs with costs and weights&lt;/a&gt; Aleksandrov et al&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="7884" LastEditDate="2014-02-24T01:20:40.733" LastActivityDate="2014-02-24T01:20:40.733" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21228" PostTypeId="2" ParentId="19165" CreationDate="2014-02-24T01:12:09.587" Score="2" Body="&lt;p&gt;I am not sure if the Haskell report defines the semantics rigorously enough to settle the question about what $\lambda x.\, \bot$ should mean.  However, it is common experience in Haskell as well as all other lazy functional languages, that, if you ask them to evaluate a term that represents $\lambda x.\, \bot$, the evaluation terminates.  The &quot;As a consequence...&quot; remark in the Haskell report is assuming that the reader knows this.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Samson Abramsky considered this issue a long time ago and wrote a paper called &quot;&lt;a href=&quot;http://moscova.inria.fr/~levy/courses/X/M1/lambda/bib/90abramskylazy.pdf&quot; rel=&quot;nofollow&quot;&gt;The Lazy Lambda Calculus&lt;/a&gt;&quot;.  So, if you want formal definitions, this is where you might look.&lt;/p&gt;&#xA;" OwnerUserId="8519" LastActivityDate="2014-02-24T01:12:09.587" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="21229" PostTypeId="1" AcceptedAnswerId="21230" CreationDate="2014-02-24T04:27:08.333" Score="11" ViewCount="949" Body="&lt;p&gt;Is there a documented way to compute knots? (circumferences embedded in a 3-dimensional Euclidean space).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I mean, a datatype to represent them, and an algorithm to determine if two instances of the datatype represent the same knot.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If the answer is positive, what about the complexity of that problem?&lt;/p&gt;&#xA;" OwnerUserId="16829" LastActivityDate="2014-02-24T12:23:45.247" Title="How can I compute knots?" Tags="&lt;ds.algorithms&gt;&lt;computability&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="21230" PostTypeId="2" ParentId="21229" CreationDate="2014-02-24T10:59:31.770" Score="12" Body="&lt;p&gt;The most natural ways to represent knots are either to embed them piecewise linearly in $\mathbb{R}^3$ (just store the coordinates of the vertices and where you want to put segments) (any tame knot can be embedded piecewise linearly) or with a knot diagram, i.e. storing a projection on $\mathbb{R}^2$ as a graph where at every crossing you specify which strand is above.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As Suresh pointed out, checking knot equivalence is highly non-trivial (not known to be in P) but experimental results for unknot recognition are &lt;a href=&quot;http://arxiv.org/abs/1211.1079/&quot;&gt;polynomial-like&lt;/a&gt; -- knot equivalence looks much harder though. If you are looking for software, peek at &lt;a href=&quot;http://regina.sourceforge.net/&quot;&gt;Regina&lt;/a&gt; .&lt;/p&gt;&#xA;" OwnerUserId="4871" LastActivityDate="2014-02-24T10:59:31.770" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21231" PostTypeId="2" ParentId="21229" CreationDate="2014-02-24T11:42:33.257" Score="10" Body="&lt;p&gt;One tradition way to represent knots is via knot diagrams.  For a discussion of knot diagrams, see &quot;Knots, links, braids and 3-manifolds&quot; by Prasolov and Sossinsky&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The program SnapPea represents knots in the three-sphere by converting a given knot diagram into a triangulation of the knot's complement.  The triangulation simplification techniques in SnapPea appear to recognize the unknot within a second, for all &quot;human-sized&quot; knot diagrams. For the software SnapPy (Python upgrade of SnapPea) and much else, see the website CompuTop, maintained by Nathan Dunfield. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Ivan Dynnikov in his paper &quot;Three-page approach to knot theory&quot; has given a new and very interesting data structure for representing knots.  This also recognizes unknots very quickly, and has led to interesting developments in Heegaard Floer homology -- see the discussions there on grid-links. &lt;/p&gt;&#xA;" OwnerUserId="1905" LastEditorUserId="1905" LastEditDate="2014-02-24T12:23:45.247" LastActivityDate="2014-02-24T12:23:45.247" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21233" PostTypeId="2" ParentId="21226" CreationDate="2014-02-24T14:51:55.427" Score="12" Body="&lt;p&gt;An example where $A(x)$ is empty is the set of real numbers $\mathbb{R}$ with the usual ordering. It has no compact elements at all.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we assume the second condition then $A(x)$ cannot be empty: if $A(x) = \emptyset$ then by the second condition $x$ is the empty join, therefore the least element of $L$, which is compact, therefore $x \in A(x) = \emptyset$, a contradiction.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Your proposal to replace the first condition with non-emptyness does not work. Consider the poset $L$ which consists of two copies of $\mathbb{N}$ and $\infty$, where we write $\iota_1(n)$ and $\iota_2(n)$ for the two copies of $n$, ordered by:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$\iota_1(m) \leq \iota_1(n) \iff m \leq n$&lt;/li&gt;&#xA;&lt;li&gt;$\iota_2(m) \leq \iota_2(n) \iff m \leq n$&lt;/li&gt;&#xA;&lt;li&gt;$x \leq \infty$ for all $x$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;In words, we have two incomparable chains with a common supremum. All elements are compact except $\infty$. Now:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;${\downarrow}x \cap K(L) \neq \emptyset$, obviously.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;$x = \bigvee ({\downarrow}x \cap K(L))$, obviously.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The set ${\downarrow}\infty \cap K(L) = \mathbb{N} + \mathbb{N}$ is not directed.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="705" LastActivityDate="2014-02-24T14:51:55.427" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21238" PostTypeId="2" ParentId="21200" CreationDate="2014-02-25T01:41:54.813" Score="13" Body="&lt;p&gt;I'd love to be shown wrong, but I don't think there are currently any uniform lower bounds that aren't ultimately based on one of the hierarchy theorems. Our current understanding of how to take advantage of uniformity is really quite limited in that sense.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, there are many uniform lower bounds that don't follow &lt;em&gt;directly&lt;/em&gt; from hierarchy theorems, but use a hierarchy theorem in combination with other clever tricks, techniques, and results, for example: &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$\mathsf{CSL} \not\subseteq \mathsf{DTIME}(n)$ [&lt;a href=&quot;http://dx.doi.org/10.1145/322003.322015&quot;&gt;Hopcroft-Paul-Valiant&lt;/a&gt;]. They prove that $\mathsf{DTIME}(n) \subseteq \mathsf{DSPACE}(n/\log n)$ (the non-diagonalization part of their proof), and then use the fact that $\mathsf{CSL} = \mathsf{NSPACE}(n)$ in combination with the space hierarchy. Their result + the space hierarchy also implies $\mathsf{DSPACE}(n) \nsubseteq \mathsf{DTIME}(n)$.&lt;/li&gt;&#xA;&lt;li&gt;Time-space trade-offs for Satisfiability (see, e.g. the introductions of &lt;a href=&quot;http://eccc.hpi-web.de/report/2011/031/&quot;&gt;Buss-Williams&lt;/a&gt; and references therein)&lt;/li&gt;&#xA;&lt;li&gt;$\mathsf{DTIME}(n) \neq \mathsf{NTIME}(n)$ [&lt;a href=&quot;http://dx.doi.org/10.1109/SFCS.1983.39&quot;&gt;Paul-Pippinger-Szemeredi-Trotter&lt;/a&gt;]. Uses a nontrivial simulation of any deterministic super-linear-time machine by a faster four-alternation machine, in combination with the deterministic time hierarchy.&lt;/li&gt;&#xA;&lt;li&gt;Uniform lower bounds on the permanant [&lt;a href=&quot;http://dx.doi.org/10.4086/cjtcs.1999.007&quot;&gt;Allender&lt;/a&gt;, &lt;a href=&quot;http://dx.doi.org/10.1137/S0097539792233907&quot;&gt;Allender-Gore&lt;/a&gt;, &lt;a href=&quot;http://dx.doi.org/10.1109/CCC.2009.19&quot;&gt;Koiran-Perifel&lt;/a&gt;]&lt;/li&gt;&#xA;&lt;li&gt;$\mathsf{NEXP} \not\subseteq \mathsf{ACC}^0$ [&lt;a href=&quot;http://dx.doi.org/10.1145/2559903&quot;&gt;Williams&lt;/a&gt;] (although technically this is a nonuniform lower bound, it uses a bunch of clever ideas in combination with the nondeterministic time hierarchy)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="129" LastActivityDate="2014-02-25T01:41:54.813" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21240" PostTypeId="2" ParentId="17693" CreationDate="2014-02-25T06:34:59.150" Score="1" Body="&lt;p&gt;K-means tends to create compact clusters, which means that geometrically, the distance between every two points is small.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;K-means can create clusters which are ball-like if you use $L_2$ norm, pyramid if you use $L_1$ and hypercubes if $L_\infty$ is used.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As opposed to that there are clustering algorithms which first project the data into lower dimension (such as spectral clustering), which means not all of the points in a cluster has to be close, but rather &quot;connected&quot; via other points in the original space, which will make them close after the projection.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This allow you to find very nice looking clusters, such as &lt;a href=&quot;http://www.google.co.il/url?sa=i&amp;amp;rct=j&amp;amp;q=&amp;amp;esrc=s&amp;amp;source=images&amp;amp;cd=&amp;amp;cad=rja&amp;amp;docid=ogH1R431jJ1XLM&amp;amp;tbnid=m7zD7fzjrmkL2M%3a&amp;amp;ved=0CAUQjRw&amp;amp;url=http://www.ml.uni-saarland.de/code/pSpectralClustering/pSpectralClustering.htm&amp;amp;ei=RTkMU7e7IMnHtQa-9IC4Bg&amp;amp;bvm=bv.61725948,d.bGQ&amp;amp;psig=AFQjCNG0Zl4W0k2Q0wDQ4W3EwcfWaA4YqQ&amp;amp;ust=1393396411836861&quot; rel=&quot;nofollow&quot;&gt;this&lt;/a&gt; and &lt;a href=&quot;http://www.umiacs.umd.edu/labs/cvl/pirl/vikas/projects/projec7.gif&quot; rel=&quot;nofollow&quot;&gt;that&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="21001" LastActivityDate="2014-02-25T06:34:59.150" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21241" PostTypeId="2" ParentId="21200" CreationDate="2014-02-25T08:22:48.900" Score="4" Body="&lt;p&gt;Is the separation $\mathsf{AC}^0\subsetneq\mathsf{TC}^0$ by &lt;a href=&quot;http://dx.doi.org/10.1145/28395.28404&quot; rel=&quot;nofollow&quot;&gt;Smolensky&lt;/a&gt; something you have been looking for?&lt;/p&gt;&#xA;" OwnerUserId="17483" LastActivityDate="2014-02-25T08:22:48.900" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="21242" PostTypeId="1" AcceptedAnswerId="21250" CreationDate="2014-02-25T12:42:41.650" Score="11" ViewCount="664" Body="&lt;p&gt;Is the following claim known?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Claim&lt;/strong&gt;: For any graph $G$ with $n$ vertices there exists a coloring of $G$ such that every independent set is colored by at most $O(\sqrt{n})$ colors.&lt;/p&gt;&#xA;" OwnerUserId="15711" LastActivityDate="2014-05-23T14:21:57.553" Title="Graph coloring minimizing the number of colors in every independent set" Tags="&lt;reference-request&gt;&lt;graph-colouring&gt;" AnswerCount="3" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21244" PostTypeId="2" ParentId="21242" CreationDate="2014-02-25T14:09:55.347" Score="10" Body="&lt;p&gt;Not quite what you ask for, but here's a lower bound - a graph for which any coloring will result in an independent set colored by $\sqrt{n}$ colors:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Take $\sqrt{n}$ copies of $K_{\sqrt{n}}$, and connect all vertices to a single vertex $s$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Obviously, every set of $\sqrt{n}$ vertices from different $K$'s is independent, and in every copy of $K_{\sqrt{n}}$ you can find at least one &quot;new&quot; color.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This lower bound can easily be improved to $\sqrt{2n}$ or so if we connect $K_1,K_2,..$ to a single vertex, but it remains only $\Omega(\sqrt{n})$ colors.&lt;/p&gt;&#xA;" OwnerUserId="21001" LastEditorUserId="21001" LastEditDate="2014-05-23T14:21:57.553" LastActivityDate="2014-05-23T14:21:57.553" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="21245" PostTypeId="2" ParentId="20495" CreationDate="2014-02-25T15:17:55.267" Score="3" Body="&lt;p&gt;Section 2 of the original treaps paper (&lt;a href=&quot;http://faculty.washington.edu/aragon/pubs/rst89.pdf&quot; rel=&quot;nofollow&quot;&gt;&quot;Randomized Search Trees&quot;&lt;/a&gt; by Aradon and Seidel), as well as the journal version of the same paper (also called &lt;a href=&quot;http://people.ischool.berkeley.edu/~aragon/pubs/rst96.pdf&quot; rel=&quot;nofollow&quot;&gt;&quot;Randomized Search Trees&quot;&lt;/a&gt;), explains how to split and join treaps without affecting the validity of the randomized balancing. That's all you need to bulk delete.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;In order to &lt;em&gt;split&lt;/em&gt; a treap storing $X$ according to some $a$, simply insert an item with key $a$ and &quot;infinite&quot; priority. &#xA;  By the heap-order property the newly inserted item will be at the root of the new treap.&#xA;  By the in-order property the left subtree of the root will be a treap for $X_1$ and the right subtree will be a treap for $X_2$.&#xA;  In order to &lt;em&gt;join&lt;/em&gt; the treaps of two sets $X_1$ and $X_2$ as above, simply create a dummy root whose left subtree is a treap for $X_1$ and whose right subtree is a treap for $X_2$, and perform a delete operation on the dummy root.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="43" LastActivityDate="2014-02-25T15:17:55.267" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="21246" PostTypeId="1" AcceptedAnswerId="21247" CreationDate="2014-02-25T16:49:27.380" Score="5" ViewCount="174" Body="&lt;p&gt;What is the best lower bound for algebraic formulas for Permanent of a matrix given that the formulas have no negative sign? Is there an exponential lower bound known for such formulas and what would be a good reference on the topic? &lt;/p&gt;&#xA;" OwnerUserId="1812" LastActivityDate="2014-02-25T17:18:40.150" Title="Size of Formulas with no negative sign for Matrix Permanent" Tags="&lt;cc.complexity-theory&gt;&lt;algebraic-complexity&gt;&lt;permanent&gt;&lt;formulas&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21247" PostTypeId="2" ParentId="21246" CreationDate="2014-02-25T17:18:40.150" Score="6" Body="&lt;p&gt;&lt;a href=&quot;http://link.springer.com/chapter/10.1007/3-540-10003-2_103&quot;&gt;Snir&lt;/a&gt; has proved a tight lower bound on the size of monotone formulas representing the permanent of an $n\times n$ matrix. The lower bound is $2^{2n - 0.25\log^2 n}$, and he notes that a formula of size $2^{2n - 0.25\log^2 n + O(\log n)}$ exists (Theorem 3.1. and comment after the proof). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The &lt;a href=&quot;http://www.cs.technion.ac.il/~shpilka/publications/SY10.pdf&quot;&gt;survey&lt;/a&gt; by Shpilka, and Yehudayoff is a good resource. Also, a lower bound of $2^{\Omega(n)}$ on the size of monotone circuits for the permanent is known as well (proved by &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=322341&quot;&gt;Jerrum and Snir&lt;/a&gt;)&lt;/p&gt;&#xA;" OwnerUserId="4896" LastActivityDate="2014-02-25T17:18:40.150" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21248" PostTypeId="2" ParentId="21154" CreationDate="2014-02-25T18:40:44.657" Score="2" Body="&lt;p&gt;The solution is &lt;a href=&quot;https://math.stackexchange.com/questions/8140/find-all-cycles-faces-in-a-graph&quot;&gt;here&lt;/a&gt;, I hope that it helps somebody.. The &lt;a href=&quot;https://stackoverflow.com/questions/16782898/algorithm-for-finding-minimal-cycles-in-a-graph&quot;&gt;link&lt;/a&gt; given also in the question itself contains a useful pdf from geometrictools.com&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Sorry, the question was really not that hard, but it is somehow quite popular and there's still a lot of confusion about &quot;all faces of a planar embedding of a graph&quot;&lt;/p&gt;&#xA;" OwnerUserId="21691" LastEditorUserId="-1" LastEditDate="2017-05-23T12:40:09.333" LastActivityDate="2014-02-25T18:40:44.657" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21250" PostTypeId="2" ParentId="21242" CreationDate="2014-02-25T20:59:53.703" Score="11" Body="&lt;p&gt;The following claim is known to me, but may not count because it is unpublished:&#xA;Any graph on $n$ vertices can be colored so that any induced subgraph $H$ of chromatic number at most $k$ uses at most $\chi(H)+B$ colors,&#xA;where $B(B+1)\leq 2kn$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is a proof by induction; the motivation was to consider colorings which use few colors not only on the graph but also on all induced subgraphs.&#xA;I am not aware of any published results, though.&lt;/p&gt;&#xA;" OwnerUserId="2300" LastActivityDate="2014-02-25T20:59:53.703" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21251" PostTypeId="2" ParentId="21242" CreationDate="2014-02-26T00:58:46.740" Score="5" Body="&lt;p&gt;What about the following proof? If $\alpha(G) \leq \sqrt{n}$, then the claim holds obviously. Suppose the contrary, and let $I$ be an independent set of $G$ with maximum cardinality $\alpha$. Color $I$ with color 1, and recursively color the graph $G - I$ with colors $2,...,c$. Now, if $K$ is an independent set of $G$, consider $K' = K - I$. By induction hypothesis, $K'$ is colored with at most $\sqrt{n-\alpha}$ colors, and thus $K$ is colored with at most $1+\sqrt{n-\alpha} \leq \sqrt{n}$ colors; the inequality holds by the assumption that $\alpha \geq \sqrt{n}$.&lt;/p&gt;&#xA;" OwnerUserId="21798" LastActivityDate="2014-02-26T00:58:46.740" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="21253" PostTypeId="1" CreationDate="2014-02-26T12:16:48.987" Score="1" ViewCount="291" Body="&lt;p&gt;Numerous parameters are defined and considered in the graph theory. I am interested in analogy of these parameters in theory of hypergraphs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there some survey or book or lecture notes about various hypergraph parameters such as independent set, matching, separator, cut, and so on?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In particular, I am interested in an analogy of separator. For a graph $G=(V,E)$, a separator $S$ is a subset of vertices such that removing all elements in $S$ we can obtain two or more separated components $G_{1},G_{2},...$. I am interested in minimum size of separator for hypergraphs.&lt;/p&gt;&#xA;" OwnerUserId="21805" LastEditorUserId="80" LastEditDate="2014-04-27T17:53:40.913" LastActivityDate="2014-04-27T17:53:40.913" Title="Is there an analogy of a vertex separator for hypergraphs?" Tags="&lt;reference-request&gt;&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;set-system&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="21254" PostTypeId="2" ParentId="189" CreationDate="2014-02-26T15:02:31.667" Score="-2" Body="&lt;p&gt;I would like to make a basic remark which doesn't appear in the other answers. The elegance/beauty is somewhat subjective so I wouldn't pick it as a primary criterion for a book of algorithms. It seems more rational to consider the following criterions:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;usefulness: does the algorithm have important applications?&lt;/li&gt;&#xA;&lt;li&gt;intuitivity: is the algorithm easy to understand/implement; does it avoid complex data structures?&lt;/li&gt;&#xA;&lt;li&gt;conciseness: does the algorithm have a short description in pseudo-code or natural language? &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Personally, I rank these three criterions in this order, from the most to the least important. In particular, I advocate a &quot;principle of maximum usefulness&quot;, i.e. a good algorithm is one that finds multiple uses for seemingly unrelated applications.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An example is provided by the &quot;merge sort&quot; algorithm: in addition to providing a fast sorting method, it also allows to compute the number of inversions of a permutation in quasi-linear time, i.e. better than the naive quadratic approach. Another example is the simple polynomial algorithm for coloring chordal graphs, which finds applications such as timetabling and register allocation.&lt;/p&gt;&#xA;" OwnerUserId="17699" LastEditorUserId="17699" LastEditDate="2014-02-28T02:53:07.380" LastActivityDate="2014-02-28T02:53:07.380" CommentCount="3" CommunityOwnedDate="2014-02-26T15:02:31.667" ContentLicense="CC BY-SA 3.0" />
  <row Id="21255" PostTypeId="2" ParentId="17900" CreationDate="2014-02-26T16:02:38.003" Score="3" Body="&lt;p&gt;I am interested in &quot;empirical entropy&quot; like you and the earliest paper I find was that from Kosaraju like the user &quot;Marzio De Biasi&quot; told in his comment.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But in my opinion the real definitions of &quot;empirical entropy&quot; are made later by generalizing the former concepts: &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&quot;Large Alphabets and Incompressibility&quot; by Travis Gagie (2008)  &lt;/li&gt;&#xA;&lt;li&gt;&quot;Emprical entropy&quot; by Paul M. B. Vitányi (2011)&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Gagie rephrase the definition of $k$th order empirical entropy to:  &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$H_{k}(w)=\frac{1}{|w|}\min\limits_{Q}\left\{\log\large\frac{1}{P(Q=w)}\right\}$&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;where $Q$ is a $k$th order Markov process. He also showed that this definition is equivalent to the previous one.&lt;br&gt;&#xA;The next step from Vitányi was a generalization to arbitrary classes of processes (not only Markov-processes):&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$H(w|\mathcal{X})=\min\limits_{X}\left\{K(X)+H(X):\;\left|H(X)-\log\large\frac{1}{P(X=w)}\right|\normalsize\;is\;minimal!\right\}$&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;where $\mathcal{X}$ is the class of allowed processes and $K(X)$ is the Kolmogorov complexity.&lt;br&gt;&#xA;If we choose $\mathcal{X}$ to be the class of $k$th order Markov processes producing  a sequence of $|w|$ random variables and ignoring the Kolmogorov complexity, than this also leads to the definition of Gagie (multiplied with $|w|$).&lt;/p&gt;&#xA;" OwnerUserId="21809" LastEditorUserId="21809" LastEditDate="2014-02-26T16:08:43.967" LastActivityDate="2014-02-26T16:08:43.967" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21256" PostTypeId="2" ParentId="21253" CreationDate="2014-02-26T16:36:30.607" Score="1" Body="&lt;p&gt;heres an example&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.sandia.gov/~apinar/papers/NIG.pdf&quot; rel=&quot;nofollow&quot;&gt;PARTITIONING HYPERGRAPHS IN SCIENTIFIC COMPUTING&#xA;APPLICATIONS THROUGH VERTEX SEPARATORS ON GRAPHS&lt;/a&gt; KAYAASLAN et al&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;(there is also some research on hypergraph edge separators used in SAT solvers &amp;amp; other edge separators but not incl it because you asked for vertex separators although there is possibly/presumably some connection.)&lt;/p&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2014-02-26T16:36:30.607" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21257" PostTypeId="1" AcceptedAnswerId="21265" CreationDate="2014-02-26T17:05:29.737" Score="11" ViewCount="528" Body="&lt;p&gt;I have question regarding pure functions. According to the Wikipedia page one of the requisites for a pure function is :&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Evaluation of the result does not cause any semantically observable side effect or output, such as mutation of mutable objects or output to I/O devices.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Now what does this really mean. Or rather how can i make a side effect which is not semantically observable?&lt;/p&gt;&#xA;" OwnerUserId="20537" LastActivityDate="2014-02-27T01:42:12.217" Title="What exactly does &quot;semantically observable&quot; side-effect mean?" Tags="&lt;functional-programming&gt;&lt;semantics&gt;" AnswerCount="1" CommentCount="6" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21258" PostTypeId="2" ParentId="21221" CreationDate="2014-02-26T17:22:28.253" Score="5" Body="&lt;p&gt;&lt;a href=&quot;http://cs.anu.edu.au/~bdm/nauty/&quot;&gt;NAUTY&lt;/a&gt; can be used as a library to help you build a hashtable for the entire poset of graph minors for small $n$.  The key would be the cannonial form given by NAUTY and the value would be a concatenation in sorted order of the cannonical forms of it's direct minors.&lt;/p&gt;&#xA;" OwnerUserId="2021" LastActivityDate="2014-02-26T17:22:28.253" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="21261" PostTypeId="1" AcceptedAnswerId="21301" CreationDate="2014-02-26T23:02:40.967" Score="7" ViewCount="208" Body="&lt;p&gt;Coding theory is an useful topic in theoretical computer science. There are known examples of problems coming from coding theory which turn out to be NP complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My questions are the following:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$(1)$ Are there natural good examples of coding theory problems that lie in different levels of the polynomial hierarchy above NP and are complete for those levels?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$(2)$ Are there natural good examples of coding theory problems that are PSPACE complete? (Note that a coding theory approach is used to show IP=PSPACE in &lt;a href=&quot;http://www.math.ias.edu/~ormeir/papers/ip_pspace.pdf&quot; rel=&quot;nofollow&quot;&gt;http://www.math.ias.edu/~ormeir/papers/ip_pspace.pdf&lt;/a&gt;)&lt;/p&gt;&#xA;" OwnerUserId="1812" LastEditorUserId="1812" LastEditDate="2014-02-28T20:22:14.910" LastActivityDate="2014-02-28T20:22:14.910" Title="Coding theory and complete problems" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;coding-theory&gt;&lt;polynomial-hierarchy&gt;&lt;pspace&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21263" PostTypeId="1" AcceptedAnswerId="21267" CreationDate="2014-02-27T00:20:21.123" Score="3" ViewCount="791" Body="&lt;p&gt;Stochastic Optimization problems in general deals with random variables in the 'loss function'. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Incase of a Deterministic optimization problem with basic objective $\parallel Ax-b \parallel_2^2$, we usually have,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;\begin{equation}&#xA;\min_{x} \parallel Ax-b \parallel_2^2&#xA;\end{equation}&lt;/p&gt;&#xA;&#xA;&lt;p&gt;With some uncertainty or possible variations in the data matrix A, it is natural to use the expected value of the objective function $\parallel Ax-b \parallel_2^2$:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;\begin{equation}&#xA;\min_{x} E\left( \parallel Ax-b \parallel_2^2 \right)&#xA;\end{equation}&lt;/p&gt;&#xA;&#xA;&lt;p&gt;How is the above objective function different from the following objective function-&#xA;\begin{equation}&#xA;E\left( \min_{x} \parallel Ax-b \parallel_2^2 \right)&#xA;\end{equation}&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Certainly, for the basic objective function, first objective has a closed form compared the second objective. But, why aren't we dealing with the second objective in general ? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Which is more precise ?&lt;/p&gt;&#xA;" OwnerUserId="21814" LastEditorUserId="21814" LastEditDate="2014-02-27T01:45:15.407" LastActivityDate="2014-02-27T08:06:30.440" Title="Objective function for stochastic optimization" Tags="&lt;optimization&gt;&lt;machine-learning&gt;&lt;convex-optimization&gt;&lt;stochastic-process&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21264" PostTypeId="1" AcceptedAnswerId="21274" CreationDate="2014-02-27T01:24:33.200" Score="19" ViewCount="502" Body="&lt;p&gt;The famous &lt;a href=&quot;http://en.wikipedia.org/wiki/Berman%E2%80%93Hartmanis_conjecture&quot;&gt;&lt;strong&gt;Isomorphism Conjecture&lt;/strong&gt; of Berman and Hartmanis&lt;/a&gt; says that all $NP$-complete languages are polynomial time isomorphic (p-isomorphic) to each other. The key significance of the conjecture is that it implies $P\neq NP$. It was published in 1977, and a piece of supporting evidence was that all $NP$-complete problems known at the time were indeed p-isomorphic. In fact, they were all &lt;em&gt;paddable&lt;/em&gt;, which is a nice, natural property, and implies p-isomorphism in a nontrivial way.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since then, the trust in the conjecture deteriorated, because candidate $NP$-complete languages have been discovered that are not likely to be p-isomorphic to $SAT$, although the problem is still open. As far as I know, however, none of these candidates represent  &lt;em&gt;natural&lt;/em&gt; problems; they are constructed via diagonalization for the purpose of disproving the   Isomorphism Conjecture.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is it still true, after nearly four decades,  that &lt;strong&gt;all known natural&lt;/strong&gt; $NP$-complete problems are p-isomorphic to $SAT$? Or, is there any conjectured &lt;em&gt;natural&lt;/em&gt; candidate to the contrary?&lt;/p&gt;&#xA;" OwnerUserId="12710" LastEditorUserId="1037" LastEditDate="2014-02-28T13:06:35.130" LastActivityDate="2014-02-28T13:06:35.130" Title="Natural candidate against the Isomorphism Conjecture?" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;p-vs-np&gt;&lt;np-complete&gt;" AnswerCount="1" CommentCount="9" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="21265" PostTypeId="2" ParentId="21257" CreationDate="2014-02-27T01:42:12.217" Score="11" Body="&lt;p&gt;A semantics of a program is a model of its behavior which, like any scientific model, ignores aspects that you don't want to study.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An extremely detailed model of the execution of a program would model the physical behavior of the computer that executes it, including the execution time, power consumption, electromagnetic radiation, etc. Such aspects are very rarely taken into account because they are very rarely relevant. Nonetheless they do matter sometimes: a useful model of an airplane autopilot needs to include runtime information, a useful model of a credit card's security needs to include electromagnetic radiation, ...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In typical semantics, side effects such as timing and power consumption are ignored. Even if in a mundane setting where you type an expression at a Haskell interpreter prompt, the printing of the result is a side effect (if you try to print out an infinite object, it matters). If the Haskell interpreter runs out of memory, this is also an observable side effect in a “real-world” model, but not in an idealized model of Haskell that effectively allows unbounded computations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An &lt;em&gt;observable&lt;/em&gt; side effect is one which is modeled in the semantics. In typical models of programming languages, memory consumption is not modeled, so a computation that requires 1TB of storage can be pure, even though if you try to run it on your PC it would observably fail.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another kind of non-observable side effect is one that is internal to the function. This is, I think, what most semanticists would think of when talking about non-observable side effects. Consider a computation that uses mutable data internally, but does not share this mutable data with any other part of the program. For example, a list sorting function which builds an array with the same elements as the list, sorts the array in place, and returns a list containing the elements as the array in their final order: a semantic model of subexpressions of this function exhibits side effects (modifications of the array), but the function itself has no external side effect, so it is pure.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For a more subtle example, consider a function that writes some data to a temporary file and cleans up after itself. In a semantics where there is always enough room for temporary files and programs do not share temporary files, the function has no side effect; the temporary file acts as extra memory used by the function. In a semantics which takes filesystem full conditions into account, the function has a side effect — it may fail due to external circumstances. In a semantics that allows the machine to crash, the function has a side effect: if there is a crash during the execution of the function, the temporary file may be left behind. In a semantics that allows concurrently executed programs to see and maybe modify the temporary file, the function has a side effect.&lt;/p&gt;&#xA;" OwnerUserId="634" LastActivityDate="2014-02-27T01:42:12.217" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21266" PostTypeId="2" ParentId="20993" CreationDate="2014-02-27T02:42:02.330" Score="2" Body="&lt;p&gt;The definition of &quot;natural&quot; is a bit fuzzy, but there's a trivial reason the answer here is likely &quot;no&quot;. Suppose to the contrary that there is such a problem, $P$. If $P$ only acts on the first component of the provided graph, then $P$ is easy on the class of graphs where the first component is an instance of $P$ and the second component encodes a certificate of $P$ holding on the first component. Further, this class of graphs is polytime recognizable. Indeed, the same holds true if we can designate a portion of the graph as a &quot;this is a certificate and not part of the problem component&quot;, in the sense that we can sneak this certificate in without affecting the true answer. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Most &quot;natural&quot; problems, as far as I can tell, allow for the designation of such a piece of the graph. Here are a few examples&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Max Clique: just ensure that the certificate portion of the graph does not have a large clique (eg. encode it using a matching)&lt;/li&gt;&#xA;&lt;li&gt;Hamiltonian Path: the tail node is replaced by a certificate graph which has an easy-to-find Hamiltonian path of its own&lt;/li&gt;&#xA;&lt;li&gt;Hamiltonian Circuit: same as Hamiltonian path except &lt;em&gt;some&lt;/em&gt; designated vertex is replaced with a certificate graph containing a Hamiltonian cycle&lt;/li&gt;&#xA;&lt;li&gt;Max Cut: this doesn't affect the solution as long as there are no edges to the rest of the graph, so we just ensure that the max cut here is easy to find (eg. we encode using a matching)&lt;/li&gt;&#xA;&lt;li&gt;Vertex cover: the certificate is again encoded by a matching&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;We ensure that the certificate portion of the graph is designated as such, so to not lose it in the rest of the graph (though designating them implicitly via the graph structure is probably easy enough for most &quot;natural&quot; problems).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since NP-complete problems cannot be sparse unless $P=NP$ (Mahaney's theorem), neither can this construction, satisfying your non-triviality constraint.&lt;/p&gt;&#xA;" OwnerUserId="3532" LastEditorUserId="3532" LastEditDate="2014-02-27T04:27:20.833" LastActivityDate="2014-02-27T04:27:20.833" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21267" PostTypeId="2" ParentId="21263" CreationDate="2014-02-27T07:43:20.937" Score="4" Body="&lt;p&gt;First, notice that the first objective is a minimization problem, who's solution is a vector $x$, while the second is merely a number.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The objective $\min_{x} E\left( \parallel Ax-b \parallel_2^2 \right)$ asks for the vector $x$ which best explains the data.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $A$ is stochastic, it still looks for the best $x$ which, on average, is the best one.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The lower objective asks for &quot;What's the expected error of the best $x$, &lt;strong&gt;in hindsight&lt;/strong&gt; &quot;, i.e. after we fix $A$, take the minimum over all $x$'s, and ask what's the error.&#xA;(more formally, for different $A$ values there are different &quot;best&quot; $x$s, so the each time take the best one for computing the error).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since we are usually interested in finding the feature vector $x$ which explains the data, and not the expected error of the best $x$ after $A$ is fixed, the first stochastic objective makes more sense. The only reason I can think of as why would someone be interested in the second is for competitive-analysis like proofs (i.e. what's the gap between the best $x$ prior to knowing $A$ and the best one afterwards).&lt;/p&gt;&#xA;" OwnerUserId="21001" LastEditorUserId="21001" LastEditDate="2014-02-27T08:06:30.440" LastActivityDate="2014-02-27T08:06:30.440" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21268" PostTypeId="1" CreationDate="2014-02-27T09:06:47.257" Score="3" ViewCount="49" Body="&lt;p&gt;I'm looking for the best known complexity (and a bound for the number of processors invoved) to do the calculation of a $(n,n)$ matrix-vector product.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thank you&lt;/p&gt;&#xA;" OwnerUserId="20845" LastActivityDate="2014-02-27T09:06:47.257" Title="Best complexity bound for parallel matrix-vector product?" Tags="&lt;dc.parallel-comp&gt;&lt;matrices&gt;&lt;matrix-product&gt;&lt;parallel&gt;" AnswerCount="0" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21269" PostTypeId="2" ParentId="21172" CreationDate="2014-02-27T11:04:43.247" Score="0" Body="&lt;p&gt;Are you able to count elements? Then, I think, there is a fairly easy Mergesort implementation. If you were able to put additional symbols on the stack you could solve it with 3 stacks like this:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we have only one element, the list is already sorted. Now assume we have already sorted the top half of the stack. We can copy the top half (in reverse order) to the second stack and place a separation symbol on top of it. &#xA;Now we have again 3 Stacks (since we can ignore the already sorted symbols below the separation symbol) and can sort the lower half. Finally we can copy the sorted lower half to a third stack in reverse order and merge both halfs back to the original stack.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;All operations cost linear time, therefore we have sorted the list in $O(n \log n)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Note, that we need stacks of size $n \log n$ because of the separation symbols, but this can be easily corrected by using another stack)&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Since you can't put new elements on the stack you may get problems at the separation points. To solve this you may do the following with some additional stacks:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Copy the top $n-2^{\lfloor \log n\rfloor}$ elements to an additional stack, then proceed with the remaining elements as before. Now you know exactly the number of elements you need to consider in each step and therefore don't need any separation symbols.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally repeat the procedure with the additional elements at most $\log n$ times and merge them to the original stack in linear time. Sorting the stacks costs, for some constant $c$, at most $cn \log n+c\frac{n}{2} \log \frac{n}{2}+c\frac{n}{4} \log \frac{n}{4}+\ ... = O(n \log n)$ time, while merging costs an additional $O(n \log n)$.&lt;/p&gt;&#xA;" OwnerUserId="21558" LastActivityDate="2014-02-27T11:04:43.247" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="21270" PostTypeId="1" AcceptedAnswerId="21272" CreationDate="2014-02-27T12:28:21.597" Score="10" ViewCount="571" Body="&lt;p&gt;In Chapter 13 &quot;Atomic Objects&quot; of the book &quot;Distributed Algorithms&quot; by Nancy Lynch, linearizability (also known as atomicity) is proved to be a safety property. That is to say, its corresponding trace property is &lt;em&gt;nonempty, prefix-closed, and limit-closed&lt;/em&gt;, as defined in Section 8.5.3. Informally, a safety property is often interpreted as saying that some particular &quot;bad&quot; thing never happens.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Based on this, my first problem is as follows:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What are the advantages of linearizability as a safety property? Are there some results based on this fact in the literature?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;In the study of the classification of safety property and liveness property, it is well-known that safety property can be characterized as the closed set in an appropriate topology. In the paper &lt;a href=&quot;http://link.springer.com/chapter/10.1007%2F978-3-642-58041-3_5&quot;&gt;&quot;The Safety-Progress Classification&quot; @1993 by Amir Pnueli et al.&lt;/a&gt;, a metric topology is adopted. More specifically, a property $\Phi$ is a set of (finite or infinite) words over the alphabet $\Sigma$. The property $A(\Phi)$ consists of all infinite words $\sigma$ such that &lt;em&gt;all&lt;/em&gt; prefixes of $\sigma$ belong to $\Phi$. For example, if $\Phi = a^{+}b^{\ast}$, then $A(\Phi) = a^{\omega} + a^{+}b^{\omega}$. An infinitary property $\Pi$ is defined to be a &lt;em&gt;safety property&lt;/em&gt; if $\Pi = A(\Phi)$ for some finitary property $\Phi$. The metric $d(\sigma, \sigma')$ between infinite words $\sigma$ and $\sigma'$ is defined to be 0 if they are identical, and $d(\sigma, \sigma') = 2^{-j}$ otherwise, where $j$ is the length of the longest common prefix on which they agree. With this metric, the safety property can be characterized as closed sets topologically.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here comes my second problem:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;How to characterize linearizablity as closed sets topologically? In particular, what is the underlying set and what is the topology?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="12739" LastEditorUserId="6785" LastEditDate="2014-02-28T10:35:35.347" LastActivityDate="2014-02-28T10:35:35.347" Title="Why is linearizability a safety property and why are safety properties closed sets?" Tags="&lt;reference-request&gt;&lt;fl.formal-languages&gt;&lt;dc.distributed-comp&gt;&lt;concurrency&gt;" AnswerCount="2" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21271" PostTypeId="2" ParentId="21270" CreationDate="2014-02-27T12:51:03.560" Score="6" Body="&lt;p&gt;Regarding your first question - safety properties are, in a way, the &quot;easiest&quot; properties to handle, with respect to problems such as model-checking and synthesis.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The basic reason for this is that in the automata-theoretic approach to formal methods, reasoning about safety properties reduces to reasoning about finite traces, which is easier than the standard infinite-trace setting. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;See the work of &lt;a href=&quot;http://www.cs.huji.ac.il/~ornak/publications/atva06a.pdf&quot;&gt;Orna Kupferman here&lt;/a&gt; as a starting point.&lt;/p&gt;&#xA;" OwnerUserId="7531" LastActivityDate="2014-02-27T12:51:03.560" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="21272" PostTypeId="2" ParentId="21270" CreationDate="2014-02-27T13:39:10.680" Score="8" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;What are the advantages of linearizability as a safety property? Are there some results based on this fact in the literature?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Suppose that you've implemented a shared memory machine $M$ that only satisfies &lt;em&gt;eventual linearization&lt;/em&gt;, defined as follows: in every run $\alpha$ of $M$, there exists some point in time $T_\alpha$, such that linearization holds from time $T_\alpha$ on. Note that there is no upper bound on $T$. (*)&#xA; (This is an artificial liveness counterpart of the standard safety property definition of linearizability.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Such a shared memory implementation wouldn't be very useful to the programmer: Note that if only eventual linearizability holds, there are no guarantees whatsoever on the consistency of read/write operations in any &quot;early&quot; prefix of a run (before the unknown time $T$). Or, in other words, whatever has happened until now, you can still extend the current prefix of a run to one that satisfies eventual linearizability.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;(*) If there was such an upper bound, then &lt;em&gt;eventual linearizability&lt;/em&gt; would become a safety property. &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;How to characterize linearizablity as closed sets topologically? In particular, what is the underlying set and what is the topology?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;We can define a metric topology on the set $ASYNC$, which is the set of all possible runs of a distributed algorithms. Note that each run $\alpha \in ASYNC$ corresponds to an infinite sequence of state transitions. &#xA;For $\alpha, \beta \in ASYNC$, $\alpha \ne \beta$, we define $$d(\alpha,\beta) := 2^{-N}$$where $N$ is the earliest index where the state transitions in $\alpha$ and $\beta$ differ; otherwise, if $\alpha = \beta$, we define $d(\alpha,\beta) = 0$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We first argue that $d$ is a metric on $ASYNC$.&#xA;By definition, $d$ is nonnegative and $\forall \alpha,\beta \in ASYNC$ we have&#xA;$d(\alpha,\beta)=d(\beta,\alpha)$.&#xA;For $\alpha,\beta,\gamma \in ASYNC$, the triangle-inequality $d(\alpha,\beta)&#xA;\le d(\alpha,\gamma) + d(\gamma,\beta)$ trivially holds if $\gamma=\alpha$ or&#xA;$\gamma=\beta$.&#xA;Now consider the case that $d(\alpha,\gamma) \ge d(\gamma,\beta) &amp;gt; 0$, i.e.,&#xA;$d(\alpha,\gamma)=2^{-n_1}$ and $d(\gamma,\beta)=2^{-n_2}$, for some indices&#xA;$n_1\le n_2$.&#xA;Since $\gamma$ shares a common prefix of length $n_2-1$ with $\beta$ but only a&#xA;prefix of length $n_1-1$ with $\alpha$, it follows that $\alpha$ and&#xA;$\beta$ differ at index $n_1$, and thus $d(\alpha,\beta) = d(\alpha,\gamma)$ and&#xA;the triangle-inequality follows.&#xA;The case where $0&amp;lt;d(\alpha,\gamma) &amp;lt; d(\gamma,\beta)$ follows analogously.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The metric $d$ induces a topology (e.g., page 119 of [1]) where the $\epsilon$-balls  $B_\varepsilon(\alpha) = \{&#xA;\beta \in ASYNC \mid d(\alpha,\beta) &amp;lt; \varepsilon \}$ are the basic open sets.&#xA;We will now argue why safety properties correspond to&#xA;closed sets:&#xA;If an execution $\alpha$ does not satisfy a safety property&#xA;  $S\subseteq ASYNC$, i.e.\ $\alpha \notin S$, then there is an index &#xA;  $N$ where&#xA;  all runs $\beta$ that share a prefix longer than $N$ with $\alpha$ are&#xA;  not in $S$. &lt;strong&gt;This closely matches intuition, since once a &#xA;    safety property is violated in a prefix of an execution, it makes no &#xA;    difference how this prefix is extended!&lt;/strong&gt;&#xA;Formally speaking, suppose that $\alpha \notin S$. &#xA;There exists an $N\geq 0$ such that, if some&#xA;$\beta \in ASYNC$ has $d(\alpha,\beta) &amp;lt; {2^{-N}}\text{,}$ i.e., $\alpha$ and &#xA;$\beta$ share a prefix of length $\ge N$, then $\beta \notin S$.  Thus, the &#xA;set of runs $S$ is closed, since its complement is open.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] James Munkres. Topology. &lt;/p&gt;&#xA;" OwnerUserId="6785" LastEditorUserId="6785" LastEditDate="2014-02-28T07:27:19.867" LastActivityDate="2014-02-28T07:27:19.867" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="21273" PostTypeId="1" AcceptedAnswerId="21294" CreationDate="2014-02-27T14:04:40.403" Score="3" ViewCount="269" Body="&lt;p&gt;Let's say that you have some loop&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;for(i=0;i&amp;lt;n;i++){&#xA;    if(i &amp;gt; 3 &amp;amp;&amp;amp; i &amp;lt; 8){ p(i); }&#xA;}&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;How would I go about automatically fusing that into&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;for(i=4;i&amp;lt;8;i++){&#xA;    p(i);&#xA;}&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;How about&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;for(i=0;i&amp;lt;n;i++){&#xA;    if(isodd(n)){p(i);}&#xA;}&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;To &lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;for(i=1;i&amp;lt;n;i+=2){&#xA;    p(i);&#xA;}&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;And for the final challenge, fuse&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;for(i=0;;i++){&#xA;    if((i&amp;gt;&amp;gt;2)%2 == 0){ p(i); }&#xA;}&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;To&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;for(i=0;;i+=8){&#xA;    for(j=0;j&amp;lt;4;j++){ p(i+j); }&#xA;}&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;I'm not asking how to do this by hand. I want the compiler to figure out how to do this. I have a gut feeling like this is some well known problem, I just don't know what name it has, or even how I'd google for it.&lt;/p&gt;&#xA;" OwnerUserId="21826" LastActivityDate="2014-02-28T03:03:29.183" Title="Compiler Optimization: How do you automatically fuse conditionals into the loop index?" Tags="&lt;optimization&gt;&lt;compilers&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21274" PostTypeId="2" ParentId="21264" CreationDate="2014-02-27T15:01:57.170" Score="17" Body="&lt;p&gt;I think the answer is yes, even today there is no known natural problem that is a candidate for violating the Isomorphism Conjecture.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The primary reason is that typically natural NP-complete problems are very easily seen to be paddable, which Berman and Hartmanis showed suffices to be isomorphic to SAT. For natural graph-related problems this typically involves adding extra vertices that are, e.g., disconnected from the graph, or connected in a very particular (but usually obvious) way. For the decision version of optimization problems, it typically involves adding new dummy variables with no constraints on them. And so on.&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2014-02-27T15:01:57.170" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="21275" PostTypeId="5" CreationDate="2014-02-27T16:48:34.860" Score="0" Body="&lt;p&gt;Questions relating to implementations of algorithms, availability of code, and so on.&lt;/p&gt;&#xA;" OwnerUserId="80" LastEditorUserId="80" LastEditDate="2014-02-27T16:48:34.860" LastActivityDate="2014-02-27T16:48:34.860" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21276" PostTypeId="4" CreationDate="2014-02-27T16:48:34.860" Score="0" Body="Questions relating to implementations of algorithms" OwnerUserId="80" LastEditorUserId="80" LastEditDate="2014-02-27T16:48:34.860" LastActivityDate="2014-02-27T16:48:34.860" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21277" PostTypeId="1" CreationDate="2014-02-27T17:52:02.433" Score="2" ViewCount="63" Body="&lt;p&gt;Consider the &lt;a href=&quot;http://en.wikipedia.org/wiki/Hungarian_algorithm&quot; rel=&quot;nofollow&quot;&gt;Hungarian Search&lt;/a&gt; algorithm for max/min weighted bipartite matching. Let G be a bipartite graph weighted by $w:E\rightarrow\mathbb{R}$ and let $M$ be a matching in $G$, let $S$ be a subset of edges of $G$. The net-cost of $S$ w.r.t. $M$ is defined as &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$w_M(S):=\sum_{e\in S\setminus M} w(e) -\sum_{e\in S\cap M} w(e)$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;How would you prove or justify the claim that the Hungarian Search, with classical $\pm \delta$ dual-adjustments, augments $M$ by growing augmenting paths of minimum net-cost? Maybe we can think about the problem of finding an augmenting path as a max-flow augmenting step, with matched edges in one direction and unmatched undges the other way... ?&lt;/p&gt;&#xA;" OwnerUserId="20792" LastActivityDate="2014-02-27T17:52:02.433" Title="Hungarian Search and min net-cost-length paths" Tags="&lt;graph-algorithms&gt;&lt;matching&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21278" PostTypeId="2" ParentId="20246" CreationDate="2014-02-27T18:12:58.943" Score="7" Body="&lt;p&gt;I'd like to add another approximation algorithm, a parametrized one:&#xA;For a fixed $\delta&amp;gt;0$ (or more preciesly, $\delta =\Omega(\frac{1}{poly(k)})$ ),  &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download;jsessionid=918B7428BAD06428C58DFF7CEF62BEBE?doi=10.1.1.146.408&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;nofollow&quot;&gt;you can compute&lt;/a&gt; a $(1+\delta)$-approximation of the number of simple paths, in either undirected or directed graph, of length $k$ in time $O^*(2^{O(k)})$.&lt;/p&gt;&#xA;" OwnerUserId="21001" LastEditorUserId="21001" LastEditDate="2014-07-30T13:03:14.803" LastActivityDate="2014-07-30T13:03:14.803" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21279" PostTypeId="1" AcceptedAnswerId="37652" CreationDate="2014-02-27T19:32:31.370" Score="16" ViewCount="873" Body="&lt;p&gt;An &lt;a href=&quot;https://en.wikipedia.org/wiki/Edge_cover&quot;&gt;edge cover&lt;/a&gt; is a subset of edges of a graph such that every vertex of the graph is adjacent to at least one edge of the cover. The following two papers say that counting edge covers is &lt;a href=&quot;https://en.wikipedia.org/wiki/Sharp-P&quot;&gt;#P&lt;/a&gt;-complete: &lt;a href=&quot;http://arxiv.org/pdf/1309.6115v2.pdf&quot;&gt;A Simple FPTAS for Counting Edge Covers&lt;/a&gt; and &lt;a href=&quot;http://world-comp.org/p2013/FCS4082.pdf&quot;&gt;Generating Edge Covers of Path Graphs&lt;/a&gt;. However, unless I missed something, they do not provide a reference for this claim, or a proof. (Reference 3 of the first paper seemed promising, but I didn't find what I wanted there either.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Where can I find a reference or proof of the fact that counting the number of edge covers of a graph is #P-complete?&lt;/p&gt;&#xA;" OwnerUserId="4795" LastEditorUserId="4795" LastEditDate="2014-02-27T20:49:27.300" LastActivityDate="2019-08-28T11:54:13.027" Title="Complexity of counting the number of edge covers of a graph" Tags="&lt;reference-request&gt;&lt;graph-algorithms&gt;&lt;counting-complexity&gt;&lt;proofs&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="21280" PostTypeId="2" ParentId="189" CreationDate="2014-02-27T19:50:28.087" Score="-1" Body="&lt;p&gt;As we talk of a book of &quot;God&quot; and a beautiful algorithm, something that comes to my mind is &lt;a href=&quot;http://en.wikipedia.org/wiki/Conway%27s_Game_of_Life&quot; rel=&quot;nofollow&quot;&gt;Conway's Game of Life&lt;/a&gt;. It sets a grid as a cellular automaton and sets the following simple rules:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Any live cell with fewer than two live neighbours dies, as if caused&#xA;by under-population.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Any live cell with two or three live neighbours lives on to the next&#xA;generation.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Any live cell with more than three live neighbours dies, as if by&#xA;overcrowding.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Any dead cell with exactly three live neighbours becomes a live&#xA;cell, as if by reproduction.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Amazing, how simple rules like these and a random seeded initialization can achieve something as beautiful as life and evolution. &lt;/p&gt;&#xA;" OwnerUserId="21579" LastEditorUserId="21579" LastEditDate="2014-02-27T19:59:04.967" LastActivityDate="2014-02-27T19:59:04.967" CommentCount="1" CommunityOwnedDate="2014-02-27T19:50:28.087" ContentLicense="CC BY-SA 3.0" />
  <row Id="21281" PostTypeId="1" CreationDate="2014-02-27T19:51:36.990" Score="6" ViewCount="386" Body="&lt;p&gt;I have formulas in &lt;a href=&quot;http://en.wikipedia.org/wiki/Presburger_arithmetic&quot;&gt;Presburger arithmetic&lt;/a&gt; (with initial ∀, but I can apply quantifier elimination so they are quantifier-free) that are fairly complicated, yet, in many useful cases, are equivalent to very simple formulas such as conjunctions of simple arithmetic constrains (e.g. &lt;code&gt;p&amp;gt;=-1, p&amp;lt;q, y&amp;gt;=q, y&amp;lt;n, n&amp;gt;=2&lt;/code&gt; for a quantified formula taking up a whole screen page).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there any good simplification method for such formulas? (preferably in an off-the-shelf implementation)&lt;/p&gt;&#xA;" OwnerUserId="9598" LastEditorUserId="186" LastEditDate="2014-02-27T22:55:53.577" LastActivityDate="2014-03-04T21:50:43.543" Title="Simplification of Presburger formulas in practice" Tags="&lt;lo.logic&gt;" AnswerCount="4" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="21282" PostTypeId="1" CreationDate="2014-02-27T21:41:28.407" Score="3" ViewCount="223" Body="&lt;p&gt;I am creating a scheduling program that I need to either optimize or prove that what I have is already optimal.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have n groups, all of which need to do some activity a in time slot t. A person can belong to several groups. A person cannot perform two activities in the same time slot. There is also a limit to the number of persons that can do an activity in the same time slot.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is pseudocode for my current (greedy) algorithm&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;sort groups by size (descending)&#xA;t = 1&#xA;for each group&#xA;  place group in slot t&#xA;  if there is a conflict in this slot ( p1-&amp;gt;a1 &amp;amp;&amp;amp; p1-&amp;gt;a2) &#xA;    place group in slot t+1&#xA;  if slot t is full&#xA;    t++&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;What I am looking for is the minimum number of slots possible. I have an algorithm ready that does hill climbing with simulated annealing, which is used for another scheduling problem. The question is do I need it, or is there something else I can use? Or is this current algorithm already resulting in an optimal solution? And how do I find the theoretical minimum of slots?&lt;/p&gt;&#xA;" OwnerUserId="21831" LastEditorUserId="21831" LastEditDate="2014-02-27T21:47:25.530" LastActivityDate="2014-02-27T21:47:25.530" Title="Optimization of class schedule" Tags="&lt;optimization&gt;&lt;scheduling&gt;&lt;combinatorics&gt;" AnswerCount="0" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21283" PostTypeId="1" CreationDate="2014-02-27T21:47:38.300" Score="12" ViewCount="409" Body="&lt;p&gt;A graph property is called &lt;strong&gt;hereditary&lt;/strong&gt; if it closed with respect to deleting vertices (i.e., all induced subgraphs inherit the property). A graph property is called &lt;strong&gt;additive&lt;/strong&gt; if it is closed with respect to taking disjoint unions. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is not hard to find properties that are hereditary, but not additive. Two simple examples: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\;\;\;$ (1) The graph is complete. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\;\;\;$ (2) The graph does not contain two vertex-disjoint cycles. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In these cases it is obvious that the property is inherited by induced subgraphs, but taking two &lt;em&gt;disjoint&lt;/em&gt; graphs that have the property, their union may not preserve it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Both of the above examples are polytime decidable properties (although for (2) it is somewhat less trivial). If we want harder properties, they could still be created by following  the pattern of  (2), but replacing the cycles with more complicated graph types. Then, however, we can easily run into the situation where the problem does not even remain in $NP$, under standard complexity assumptions, such as $NP\neq coNP$. It appears less trivial to find an example which stays within $NP$, but it is still hard. &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Question:&lt;/strong&gt; Do you know a (preferably natural)  $NP$-complete graph property that is hereditary, but not additive?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="12710" LastEditorUserId="12710" LastEditDate="2014-02-27T21:53:10.517" LastActivityDate="2014-03-02T12:50:20.283" Title="NP-complete graph property that is hereditary, but not additive?" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;np&gt;" AnswerCount="3" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21284" PostTypeId="1" AcceptedAnswerId="21285" CreationDate="2014-02-27T21:57:15.730" Score="21" ViewCount="1039" Body="&lt;p&gt;Say we have a computational problem, e.g. 3-SAT, that has a set of problem instances (possible inputs) $S$. &#xA;Normally in the analysis of algorithms or computational complexity theory, we have some sets&#xA;$$I(n) = \{w \in S : |w| = n\}$$&#xA;of all inputs of length $n$, and a function $T(w)$ that gives the running time of some solution algorithm $A$ on input $w$. &#xA;The worst-case running time sequence for $A$ is then&#xA;$$ f_n = \max_{w \in I(n)} T(w). $$ &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let us now define the sets&#xA;$$ I^K(n) = \{w \in S : K(w) = n \}$$&#xA;of all inputs with Kolmogorov complexity $n$, and let us define the sequence&#xA;$$ f^K_n = \frac{1}{\left|I^K(n)\right|} \sum_{w \in I^K(n)} T(w). $$&#xA;Here $f^K$ is the average running time sequence for $A$, except where the &quot;size&quot; of inputs is their Kolmogorov complexity, not their length.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there algorithms for which $f_n$ is asymptotically significantly different from $f^K_n$?  If so, are there problems whose time complexity changes when using this different way of analyzing algorithms? &lt;/p&gt;&#xA;" OwnerUserId="7468" LastEditorUserId="7468" LastEditDate="2014-02-28T03:46:32.013" LastActivityDate="2014-03-04T14:51:40.890" Title="Using Kolmogorov complexity as input &quot;size&quot;" Tags="&lt;cc.complexity-theory&gt;&lt;kolmogorov-complexity&gt;&lt;parameterized-complexity&gt;&lt;succinct&gt;&lt;analysis-of-algorithms&gt;" AnswerCount="3" CommentCount="12" FavoriteCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="21285" PostTypeId="2" ParentId="21284" CreationDate="2014-02-27T22:49:20.687" Score="14" Body="&lt;p&gt;Consider the parity function (or any other function that depends on all/most bits of the input). For the parity function, $T(w) = \Theta(|w|)$. So &#xA;$$f_n = \Theta(n).$$&#xA;On the other hand, &#xA;$$f_n^K = \Theta\left(\frac{1}{|I^K(n)|} \sum_{w:K(w) = n} |w|\right) \geq \Omega\left(\frac{1}{2^n} \max_{w:K(w) = n} |w|\right).$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that $K(2^{2^n}) = O(n)$. Thus $$\max_{w:K(w) = n} |w| \geq 2^{2^{\Omega(n)}}$$ and $f_n^K \geq 2^{2^{\Omega(n)}} / 2^n \to \infty$. Similarly, $K(2^{\dots^{2^{2^n}}}) = O(n)$; thus $f_n^K \geq 2^{\dots^{2^{2^{\Omega(n)}}}}/2^n$ “grows very rapidly”. Moreover, it's not hard to see that there is no computable upper bound for $f_n^K$.&lt;/p&gt;&#xA;" OwnerUserId="9929" LastActivityDate="2014-02-27T22:49:20.687" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21286" PostTypeId="2" ParentId="21284" CreationDate="2014-02-27T22:56:07.703" Score="4" Body="&lt;p&gt;An easy case seems to be where the language $S$ contains only padded instances.  When $S$ is obtained from a language $L$ by padding each instance of size $n$ with $2^n-n$ symbols, $f^K_{n}$ can be in the region of $2^{f_n}$.&lt;/p&gt;&#xA;" OwnerUserId="109" LastActivityDate="2014-02-27T22:56:07.703" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21287" PostTypeId="2" ParentId="21200" CreationDate="2014-02-27T23:04:57.363" Score="2" Body="&lt;p&gt;Another nontrivial example comes from the area of average case complexity. Rainer Schuler proves interesting properties of the class he calls $P_{P-comp}$, see [1]. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$P_{P-comp}$ is the class of languages that are accepted in polynomial time on $\mu$-average for &lt;em&gt;every&lt;/em&gt; polynomial time  computable (P-computable) distribution $\mu$. Naturally, $P\subseteq P_{P-comp}$ holds, since the existence of a deterministic polytime algorithm implies that it remains efficient on the average, no matter the what the input distribution is.  However, the condition of running in average polynomial time for &lt;strong&gt;every&lt;/strong&gt; P-computable input distribution appears strong enough to suspect  $P_{P-comp}=P$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Surprisingly, Schuler proves that there is a language  $L\in P_{P-comp}$, which is Turing-complete for $E$, that is,&#xA;$$E\subseteq P^{P_{P-comp}}\;\;\;\;\;\;\;\;\;\;\;\;\;\;\; (*)$$&#xA;This implies the unconditional separation $P_{P-comp}\neq P$. While the latter also uses the fact $E\neq P$, which follows from the Time Hierarchy Theorem, the novel part (*) builds on different tools: beyond diagonalization, it employs resource bounded measure and  Kolmogorov complexity.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Reference:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] R. Schuler, &quot;Truth-table closure and Turing closure of average polynomial time have different measures in EXP,&quot; CCC 1996, &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.56.1686&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;nofollow&quot;&gt;pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="12710" LastActivityDate="2014-02-27T23:04:57.363" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21288" PostTypeId="1" CreationDate="2014-02-27T23:19:42.290" Score="3" ViewCount="157" Body="&lt;p&gt;Quoting from &lt;a href=&quot;http://www.jair.org/papers/paper3370.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;Wang and Botea 2011&lt;/a&gt;:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;An &lt;em&gt;instance&lt;/em&gt; is characterized by a graph representation of a map, and a non-empty collection of mobile units &lt;span class=&quot;math-container&quot;&gt;$U$&lt;/span&gt;. Units are homogeneous in speed and size. Each unit &lt;span class=&quot;math-container&quot;&gt;$u \in U$&lt;/span&gt; has an associated start-target pair &lt;span class=&quot;math-container&quot;&gt;$(s_u, t_u)$&lt;/span&gt;. All units have distinct starting and target positions.&lt;/p&gt;&#xA;&lt;p&gt;The objective is to navigate all units from their start positions to the targets while avoiding all fixed and mobile obstacles.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;The MAPP algorithm presented in this paper is complete for most instances of this (Multi-Agent Path Planning) problem.&lt;/p&gt;&#xA;&lt;p&gt;After implementing MAPP myself (even using the suggested &amp;quot;replanning with counting&amp;quot; technique), it seemed that many of the solutions obtained were far from optimal in path length, having many units that went near their goals than back near their starts multiple times.&lt;/p&gt;&#xA;&lt;p&gt;Specifically, I'm interested in the subset of this problem that has groups of units very near each other and groups of goals very near each other, as you might see in an &lt;a href=&quot;http://en.wikipedia.org/wiki/Real-time_strategy&quot; rel=&quot;nofollow noreferrer&quot;&gt;RTS&lt;/a&gt;, for example. Are there better algorithms for these kinds of instances, or better repositioning strategies for MAPP?&lt;/p&gt;&#xA;" OwnerUserId="21793" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2014-03-02T23:09:51.303" Title="Multi-Agent Pathfinding" Tags="&lt;ds.algorithms&gt;&lt;graph-algorithms&gt;&lt;shortest-path&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="21289" PostTypeId="2" ParentId="21283" CreationDate="2014-02-28T01:23:09.590" Score="9" Body="&lt;p&gt;I think the $k$-clique cover problem, which asks whether there exists a partition of the vertices in $k$ sets such that each set induces a clique, has the desired properties.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Clearly, taking induced subgraphs can't make the minimum size of such partition increase. On the other hand, when you take the disjoint union of two graphs, you have to take the union of the partition into cliques of each one.&lt;/p&gt;&#xA;" OwnerUserId="282" LastActivityDate="2014-02-28T01:23:09.590" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="21291" PostTypeId="2" ParentId="21281" CreationDate="2014-02-28T02:20:10.773" Score="3" Body="&lt;p&gt;Not knowing anything about the input problem, I suspect that if the blow up is coming from quantifier elimination of Presburger formulas. Cooper's algorithm can introduce a lot of redundancies and duplication during case splitting.&#xA;My suggestion comes from a trivial observation: Any tool that can find &quot;very simple&quot; Presburger formula also has to be able to find &quot;very simple&quot; pure boolean formulas. (Just encode each propositional variable $x_i$ with some trivial Presburger atom $s_i &amp;lt; 2$.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;BDDs are a fairly natural candidate for trying to get simple formulas (or at least unique wrt a variable order).&#xA;The closest work I am aware of to extending BDDs over Presburger is the Linear Decision Diagram (LDD) work of Chaki et al: &lt;a href=&quot;http://fmv.jku.at/fmcad09/slides/gurfinkel.pdf&quot; rel=&quot;nofollow&quot;&gt;slides&lt;/a&gt; and the &lt;a href=&quot;http://sourceforge.net/apps/trac/lindd&quot; rel=&quot;nofollow&quot;&gt;project's homepage&lt;/a&gt;. Links to the papers are on the project's site.  This work combines linear real/rational arithmetic with BDDs.  The goal of this work was to have a compact representation in order to do Fourier-Motzkin quantifier elimination. Already LDDs do not try to be canonical, just &quot;canonical enough&quot;.  The main idea is to add local conditions to eliminate certain kinds of redundancy during construction. These local conditions are things like: put the constraints on $x$ next to each other in the variable order, if $x &amp;lt; 5$, then $x&amp;lt;7$ always holds on the high branch, etc.  They do mention support for UTVPI constraints over integers in the paper and slides (like what you have above). The tool's API does not seem to support divisibility constraints coming from quantifier elimination or other more elaborate kinds of integer specific reasoning (gcd computations, conversion of $x &amp;lt; 2$ to $x \leq 1$, etc.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If the formulas have a lot of propositional redundancy introduced by quantifier elimination, this might be a reasonable thing to look into.  (I doubt this includes all of the reasoning you used to get down to the smaller formulas so it might not work out of the box.) I've used tricks like BDDs + unate implications (eg. $x &amp;lt; 2 \implies x &amp;lt; 3$) to reduce Presburger formulas that were blown up by a different algorithm to &quot;very simple&quot; equivalent ones. But I did this for debugging purposes only. It has never made sense to stick what I did into a real implementation so I do not have a tool I can point you to. Good luck.&lt;/p&gt;&#xA;" OwnerUserId="11047" LastEditorUserId="11047" LastEditDate="2014-02-28T15:31:19.650" LastActivityDate="2014-02-28T15:31:19.650" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21292" PostTypeId="2" ParentId="20522" CreationDate="2014-02-28T02:33:13.547" Score="13" Body="&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Perfect_graph&quot;&gt;perfect graphs&lt;/a&gt; appear to be fundamental and therefore &quot;natural&quot; to complexity theory/math in many ways. the &lt;a href=&quot;http://integer.tepper.cmu.edu/webpub/BergeAlg.pdf&quot;&gt;recognition algorithm&lt;/a&gt; runs in time $O(|V(G)|^9)$. it seems possible there are other &quot;natural&quot; or &quot;fundamental&quot; graph classes that take longer to recognize and are still in P.&lt;/p&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2014-02-28T02:33:13.547" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21294" PostTypeId="2" ParentId="21273" CreationDate="2014-02-28T03:03:29.183" Score="3" Body="&lt;p&gt;A general approach is to automatically infer loop invariants.  There are techniques for inferring loop invariants that can be expressed in &lt;a href=&quot;https://en.wikipedia.org/wiki/Presburger_arithmetic&quot; rel=&quot;nofollow&quot;&gt;Presburger arithmetic&lt;/a&gt;, i.e., linear expressions over the integers plus quantifiers.  These typically rely upon the fact that there exist decision procedures for Presburger arithmetic, e.g., &lt;a href=&quot;http://www.cs.umd.edu/~pugh/papers/omega.pdf&quot; rel=&quot;nofollow&quot;&gt;the Omega method&lt;/a&gt; (see also &lt;a href=&quot;http://www.cs.umd.edu/projects/omega/&quot; rel=&quot;nofollow&quot;&gt;the web site&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;These methods should be enough to build a special optimization that can solve your first two challenges.  For instance, you can use those methods to find loop strides.  In particular, you can use those methods to characterize the values of &lt;code&gt;i&lt;/code&gt; that will reach the then-block of the if-statement: you can first check whether the sequence of values of &lt;code&gt;i&lt;/code&gt; lies in an arithmetic progression, then characterize the progression (deduce find the minimum value of &lt;code&gt;i&lt;/code&gt;, deduce the maximum value of &lt;code&gt;i&lt;/code&gt;, and deduce the stride).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;These methods have been studied in depth in the compiler literature on loop vectorization, where we want to know whether we can execute each iteration of the loop in parallel on a separate core.  Similar techniques should be useful for your kind of problem as well.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I don't know whether there's any reasonable algorithm for your third example, or whether anyone has studied that sort of thing in the compiler literature.&lt;/p&gt;&#xA;" OwnerUserId="5038" LastActivityDate="2014-02-28T03:03:29.183" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21297" PostTypeId="1" CreationDate="2014-02-28T07:28:34.577" Score="4" ViewCount="1517" Body="&lt;p&gt;I have just started learning about coding theory. Hence, I would like to ask for your suggestions and guidance for a very beginner like me.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Which books are good for beginning coding theory? (I start reading the notes by J.I. Hall&#xA;from &lt;a href=&quot;http://www.mth.msu.edu/~jhall/classes/codenotes/coding-notes.html&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Which topics now are hot in coding theory? so that I could look at and choose the track to follow.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Where I could find lastest preprints and papers on coding theory. I know only &quot;&lt;a href=&quot;http://link.springer.com/journal/10623&quot; rel=&quot;nofollow&quot;&gt;Designs, Codes and Cryptography&lt;/a&gt;&quot;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Many thanks in advance.&lt;/p&gt;&#xA;" OwnerUserId="21787" LastActivityDate="2014-03-13T23:16:20.520" Title="Research in Coding Theory" Tags="&lt;reference-request&gt;&lt;coding-theory&gt;&lt;encoding&gt;" AnswerCount="4" CommentCount="2" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="21298" PostTypeId="1" CreationDate="2014-02-28T08:38:07.550" Score="10" ViewCount="128" Body="&lt;p&gt;Polynomial-time algorithms are known for finding generating sets of permutation groups, which is interesting since we can then represent those groups succinctly without giving up on polynomial-time algorithms for answering many interesting questions related to these groups.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, we may sometimes be interested in a set $R$ of permutations that does not form a group, so that set would be represented by $R=\langle S\rangle \setminus T$, where $\langle S\rangle$ is the group generated by a set $S$ of generators and $T$ is a set of permutations that are &lt;strong&gt;not&lt;/strong&gt; in $R$, instead of just $\langle S\rangle$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Has any work been done on computing such an encoding in the form of a pair $\{S,T\}$, possibly with the additional, natural goal of minimising $|S|+|T|$?&lt;/p&gt;&#xA;" OwnerUserId="775" LastActivityDate="2014-02-28T15:56:31.543" Title="Encoding sets of permutations with a generating set and a set of excluded elements" Tags="&lt;permutations&gt;&lt;gr.group-theory&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21299" PostTypeId="2" ParentId="21281" CreationDate="2014-02-28T09:38:37.670" Score="3" Body="&lt;p&gt;Conjunctions of linear arithmetic inequalities can be solved using &lt;a href=&quot;http://en.wikipedia.org/wiki/Fourier%E2%80%93Motzkin_elimination&quot; rel=&quot;nofollow&quot;&gt;Fourier-Motzkin variable elimination&lt;/a&gt;, which IIRC has a doubly-exponential worst case complexity. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;William Pugh improved upon this algorithm with his Omega test (see &lt;a href=&quot;http://www.cs.utexas.edu/~pingali/CS380C/2013/papers/pugh92omega.pdf&quot; rel=&quot;nofollow&quot;&gt;&lt;em&gt;The Omega Test: a fast and practical integer programming algorithm for dependence analysis&lt;/em&gt;&lt;/a&gt;), which has an exponential worst-case behaviour, but which is apparently polynomial on formulas coming from many common sources (such as compiler loop optimizations). &lt;/p&gt;&#xA;" OwnerUserId="657" LastActivityDate="2014-02-28T09:38:37.670" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="21300" PostTypeId="2" ParentId="189" CreationDate="2014-02-28T09:46:29.590" Score="3" Body="&lt;p&gt;The divide and conquer algorithm by Michael Shamos to solve the planar &lt;a href=&quot;http://en.wikipedia.org/wiki/Closest_pair_of_points&quot; rel=&quot;nofollow&quot;&gt;Closest pair of points problem&lt;/a&gt; in $O(n \log n)$ time. Not only is this optimal in the algebraic decision tree model of computation, it also illustrates the power of recursive thinking in a non-trivial setting.&lt;/p&gt;&#xA;" OwnerUserId="9569" LastActivityDate="2014-02-28T09:46:29.590" CommentCount="0" CommunityOwnedDate="2014-02-28T09:46:29.590" ContentLicense="CC BY-SA 3.0" />
  <row Id="21301" PostTypeId="2" ParentId="21261" CreationDate="2014-02-28T10:18:37.370" Score="3" Body="&lt;p&gt;An answer to the first question can be found in a paper by Schaefer and Umans, &lt;a href=&quot;http://www.hni.uni-paderborn.de/fileadmin/Fachgruppen/Algorithmen/Lehre/Vorlesungsarchiv/WS_2011_12/Komplexitaetstheorie/phcom.pdf&quot; rel=&quot;nofollow&quot;&gt;Completeness in the polynomial-time hierarchy: A compendium&lt;/a&gt; (2002).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In subsection &quot;Coding and cryptology&quot; (see p. 24), two $\Pi_2^p$-complete problems appear: checking an upper bound on the covering radius of a linear code, and deciding whether a linear code is $r$-identifying ($r$ part of the input). A certain $\Sigma_3^p$-complete problem called &quot;Minimum block decoder&quot; can be found on p. 28 (see also $\Sigma_2^p$-complete &quot;Minimal block encoder and decoder&quot;, p. 25).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I guess following the references should help in digging out more related problems.&lt;/p&gt;&#xA;" OwnerUserId="13649" LastActivityDate="2014-02-28T10:18:37.370" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21302" PostTypeId="2" ParentId="19046" CreationDate="2014-02-28T10:43:27.777" Score="6" Body="&lt;p&gt;Yes.&#xA;Consider the language $L = \{ a^n \mid n = 2^s, s \geq 0 \}$ and construct a one-way alternating one-counter automaton recognizing $L$ in the following way. First, the automaton starts increasing the value of the counter and guesses when to stop, that is, guesses some value $m$. Then it branches universally: the first branch checks that the length of the input is precisely $2 m$, and the second branch moves $m$ cells forward on the input and checks that the remainder is in $L$, by going to the initial control state. Now add a base case: let the device accept if the input tape is exactly of length $1$, by making a nondeterministic guess at the initial state. That completes the construction.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In a similar fashion, one can get products of the form $n = k_1^{s_1} \ldots k_r^{s_r}$, with $k_1, \ldots, k_r$ fixed and $s_1, \ldots, s_r$ arbitrary.&lt;/p&gt;&#xA;" OwnerUserId="13649" LastActivityDate="2014-02-28T10:43:27.777" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21304" PostTypeId="2" ParentId="21298" CreationDate="2014-02-28T15:17:51.540" Score="1" Body="&lt;p&gt;If you are storing random permutations with probability ${1\over2}$ then you are going to need $log_{2}(n!)$ bits per permutation, Kolmogorov complexity dictates it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If the distribution is non-random it depends.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To understand the state space it might help to look at &lt;a href=&quot;http://oeis.org/A186202&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://oeis.org/A186202&lt;/a&gt; , the size of any min dominating set over $S_{n}$ using a monogenic inclusion relation between permutations (ignoring the identity which is in all subgroups).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can encode the relevant prime order permutations in $log_{2}( OEIS\_A186202(n) )$ bits each. That will give you some savings over the usual $log_{2}(n!)$ needed for a random permuation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/JAsiA.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;" OwnerUserId="2021" LastEditorUserId="2021" LastEditDate="2014-02-28T15:56:31.543" LastActivityDate="2014-02-28T15:56:31.543" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21305" PostTypeId="2" ParentId="21281" CreationDate="2014-02-28T16:43:46.820" Score="2" Body="&lt;p&gt;You may know this, but &lt;a href=&quot;http://www.smtlib.org/&quot; rel=&quot;nofollow&quot;&gt;SMT&lt;/a&gt; solvers very often handle &quot;quantifier-free&quot; (implicitly universally quantified) linear arithmetic on integers, and sometimes even formulas with quantifier alternations (though with more limited success).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You might want to try &lt;a href=&quot;http://z3.codeplex.com/&quot; rel=&quot;nofollow&quot;&gt;Z3&lt;/a&gt; which performs quite well in practice, using variants of the Omega method referred to above, but with many twists and heuristics. In particular, the &lt;strong&gt;simplify&lt;/strong&gt; command (explained &lt;a href=&quot;http://rise4fun.com/Z3/tutorial/guide&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;) seems to do what you want, i.e. simplify formulas to an equivalent form.&lt;/p&gt;&#xA;" OwnerUserId="3984" LastEditorUserId="3984" LastEditDate="2014-02-28T16:49:07.950" LastActivityDate="2014-02-28T16:49:07.950" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="21307" PostTypeId="2" ParentId="174" CreationDate="2014-02-28T17:56:57.887" Score="1" Body="&lt;p&gt;&lt;strong&gt;Conjunctive query containment over bag semantics&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;In a &lt;a href=&quot;http://www.googlefight.com/&quot; rel=&quot;nofollow&quot;&gt;GoogleFight&lt;/a&gt; between two search queries, can one tell if the first query always wins, without looking at the data?&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;This 1993 question from database theory [1] asks whether it is possible to decide if an SQL query (more precisely, a &lt;a href=&quot;http://en.wikipedia.org/wiki/Conjunctive_query&quot; rel=&quot;nofollow&quot;&gt;conjunctive query&lt;/a&gt;) always yields at least as many answers as another conjunctive query, over all possible databases.  It would be nice to answer this question to help with query optimization.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One can also formalise the question without referring to databases (see also [2]):&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Homomorphism Domination&lt;/strong&gt;&lt;br&gt;&#xA;  &lt;strong&gt;Input:&lt;/strong&gt; finite relational structures $S$ and $S'$.&lt;br&gt;&#xA;  &lt;strong&gt;Question:&lt;/strong&gt; is it true that for any finite relational structure $T$, there are at least as many relational structure homomorphisms from $S$ to $T$ as there are from $S'$ to $T$?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Since the quantification is over an infinite set of structures $T$, this may be undecidable.  It is known to be NP-hard [3] as a special case of a more general question over positive &lt;a href=&quot;http://en.wikipedia.org/wiki/Semiring&quot; rel=&quot;nofollow&quot;&gt;semirings&lt;/a&gt; (the non-negative integers with addition and multiplication is a semiring); $\Pi^P_2$-hardness was claimed two decades ago but remains unclear.&#xA;If instead of conjunctive queries, slightly more general queries are allowed, then the problem does become undecidable, via reductions from &lt;a href=&quot;http://en.wikipedia.org/wiki/Hilbert%27s_tenth_problem&quot; rel=&quot;nofollow&quot;&gt;Hilbert's 10th problem&lt;/a&gt; [4,5].&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What makes this question interesting is that for most positive semirings of interest the general question &lt;em&gt;is&lt;/em&gt; decidable, and actually in $\Pi_2^P$.  In fact, for the Boolean semiring case the question becomes: given two conjunctive queries, is it always true that when the first query has an answer then so does the second?  &lt;a href=&quot;http://en.wikipedia.org/wiki/Ashok_K._Chandra&quot; rel=&quot;nofollow&quot;&gt;Ashok Chandra&lt;/a&gt; and Philip Merlin showed in 1977 [6] that this is equivalent to checking whether there exists a homomorphism between the queries, which is in NP.  Moreover, in typical databases the queries are usually small or even fixed, while the data is large and changes frequently.  This means that even brute force search for a homomorphism between the input queries may be worthwhile.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So it might be a good idea to look quite closely at two small fixed conjunctive queries to decide which is the better one to use.  Yet we don't know if such queries can be compared based on the number of answers they generate.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Edit:&lt;/em&gt; added some key references as requested by Sylvain.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Surajit Chaudhuri and Moshe Y. Vardi, &lt;em&gt;Optimization of&lt;/em&gt; Real &lt;em&gt;Conjunctive Queries&lt;/em&gt;, PODS 1993, 59–70. doi:&lt;a href=&quot;http://dx.doi.org/10.1145/153850.153856&quot; rel=&quot;nofollow&quot;&gt;10.1145/153850.153856&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Swastik Kopparty and Benjamin Rossman, &lt;em&gt;The homomorphism domination exponent&lt;/em&gt;, EJOC 2011, &lt;strong&gt;32&lt;/strong&gt;(7) 1097–1114.  doi:&lt;a href=&quot;http://dx.doi.org/10.1016/j.ejc.2011.03.009&quot; rel=&quot;nofollow&quot;&gt;10.1016/j.ejc.2011.03.009&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Egor V. Kostylev, Juan L. Reutter, and András Z. Salamon, &lt;em&gt;Classification of Annotation Semirings over Containment of Conjunctive Queries&lt;/em&gt;, TODS 2014, &lt;strong&gt;39&lt;/strong&gt;(1) 1:1–39.  doi:&lt;a href=&quot;http://dx.doi.org/10.1145/2556524&quot; rel=&quot;nofollow&quot;&gt;10.1145/2556524&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Yannis E. Ioannidis and Raghu Ramakrishnan, &lt;em&gt;Containment of conjunctive queries: beyond relations as sets&lt;/em&gt;, TODS 1995, &lt;strong&gt;20&lt;/strong&gt;(3) 288–324.  doi:&lt;a href=&quot;http://dx.doi.org/10.1145/211414.211419&quot; rel=&quot;nofollow&quot;&gt;10.1145/211414.211419&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;T.S. Jayram, Phokion G. Kolaitis, and Erik Vee, &lt;em&gt;The containment problem for&lt;/em&gt; Real &lt;em&gt;conjunctive queries with inequalities&lt;/em&gt;, PODS 2006, 80–89.  doi:&lt;a href=&quot;http://dx.doi.org/10.1145/1142351.1142363&quot; rel=&quot;nofollow&quot;&gt;10.1145/1142351.1142363&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Ashok K. Chandra and Philip M. Merlin, &lt;em&gt;Optimal Implementation of Conjunctive Queries in Relational Data Bases&lt;/em&gt;, STOC 1977, 77–90.  doi:&lt;a href=&quot;http://dx.doi.org/10.1145/800105.803397&quot; rel=&quot;nofollow&quot;&gt;10.1145/800105.803397&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="109" LastEditorUserId="109" LastEditDate="2014-03-01T16:49:26.337" LastActivityDate="2014-03-01T16:49:26.337" CommentCount="3" CommunityOwnedDate="2014-02-28T17:56:57.887" ContentLicense="CC BY-SA 3.0" />
  <row Id="21309" PostTypeId="2" ParentId="21279" CreationDate="2014-02-28T23:01:35.963" Score="11" Body="&lt;p&gt;I don't know where this was first proved, but since EdgeCover has an expression as a Boolean domain Holant problem, it is included in many Holant dichotomy theorems.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EdgeCover is included in the dichotomy theorem in (1).  Theorem 6.2 (in the journal version or Theorem 6.1 in the preprint) shows that EdgeCover is #P-hard over planar 3-regular graphs.  To see this, the expression for EdgeCover as a Holant problem over 3-regular graphs is $\operatorname{Holant}([0,1,1,1])$ (or replace $[0,1,1,1]$ with $[0,1,\dotsc,1]$ containing $k$ 1's for the same problem over $k$-regular graphs).  This $[0,1,1,1]$ notation lists the output of a &lt;a href=&quot;http://en.wikipedia.org/wiki/Symmetric_function&quot; rel=&quot;noreferrer&quot;&gt;symmetric function&lt;/a&gt; in order of input Hamming weight.  For some subset of the set edges (which we think of as being assigned 1 and the complement set being assigned 0), the constraint at each vertex is that at least one edge is assigned 1, which is exactly what the function $[0,1,1,1]$.  For a fixed subset of edges, its weight is the product of the outputs of $[0,1,1,1]$ at each vertex.  If any vertex is not covered, it contributes a factor of $0$.  If all vertices are covered, then all vertices contribute a factor of $1$, so the weight is also $1$.  Then the Holant is to sum over every possible subset of edges and add the weight corresponding to each subset.  This Holant value is exactly the same if we subdivide every edge and impose the constraint that both incident edges to these new vertices must be equal.  Using the symmetric function notation, this binary equality function is $[1,0,1]$.  This graph is bipartite.  The vertices in one part have the $[0,1,1,1]$ constraint while the vertices in the other part have the $[1,0,1]$ constraint.  The expression for this as a Holant problem is $\operatorname{Holant}([0,1,1,1]|[1,0,1])$.  Then you can check for yourself that row &quot;$[0,1,1,1]$&quot; and column &quot;$[1,0,1]$&quot; of the table near the theorem cited above contains &quot;H&quot;, which means the problem is #P-hard even the input graph must be planar.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Side note: Note that Pinyan Lu is an author of both this paper and the first paper you cite.  I am guessing that when their paper says &quot;counting edge covers is&#xA;a #P-complete problem even when we restrict the input to 3 regular graphs&quot;, they were implicitly citing (1).  They probably didn't mention that the hardness also holds when further restricted to planar graphs since their FPTAS does not need this restriction.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Later Holant dichotomy theorems, such as those in (2,3)---conference and journal versions of the same work---proved more.  Theorem 1 (in both versions) says that EdgeCover is #P-hard over planar $k$-regular graphs for $k \ge 3$.  To see this, we need to apply a holographic transformation.  As described above, the expression for EdgeCover as a Holant problem over $k$-regular graphs is $\operatorname{Holant}([0,1,\dotsc,1])$, where $[0,1,\dotsc,1]$ contains $k$ 1's.  And furthermore, this is equivalent to $\operatorname{Holant}([1,0,1]|[0,1,\dotsc,1])$.  Now we apply a Holographic transformation by $T = \begin{bmatrix} 1 &amp;amp; e^{\pi i / k} \\ 1 &amp;amp; 0 \end{bmatrix}$ (or its inverse, depending on your perspective).  By Valiant's Holant Theorem (4,5), this does not change the complexity of the problem (in fact, both problems are actually the same problem because they agree on the output of every input...only the expression of the problem has changed).  The alternate expression for this problem is&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;\operatorname{Holant}([1,0,1] T^{\otimes 2}|(T^{-1})^{\otimes k} [0,1,\dotsc,1])&#xA;= \operatorname{Holant}([2, e^{\pi i / k}, e^{2 \pi i / k}]|=_k),&#xA;$$&#xA;where $=_k$ is the equality function on $k$ inputs. To apply Theorem 1, we have to normalize $[2, e^{\pi i / k}, e^{2 \pi i / k}]$ to $[2 e^{-\pi i / k}, 1, e^{\pi i / k}]$ by dividing the original function by $e^{\pi i / k}$, which doesn't change the complexity of the problem since this value is nonzero.  Then the values $X$ and $Y$ in the statement of the theorem are $X = 2$ and $Y = -2^k - 1$.  For $k \ge 3$, one can check that this problem, so thus EdgeCover as well, is #P-hard over planar $k$-regular graphs for $k \ge 3$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Side note: One can also see this theorem and proof in &lt;a href=&quot;http://cs.nmu.edu/~mkowalcz/research/main.pdf&quot; rel=&quot;noreferrer&quot;&gt;Michael Kowalczyk's thesis&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I will continue my literature search to see EdgeCover was shown to be #P-hard before (1).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(1) Holographic Reduction, Interpolation and Hardness by Jin-Yi Cai, Pinyan Lu, and Mingji Xia (&lt;a href=&quot;http://link.springer.com/article/10.1007/s00037-012-0044-6&quot; rel=&quot;noreferrer&quot;&gt;journal&lt;/a&gt;, &lt;a href=&quot;http://pages.cs.wisc.edu/~jyc/papers/interpolation08.pdf&quot; rel=&quot;noreferrer&quot;&gt;preprint&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(2) &lt;a href=&quot;http://link.springer.com/chapter/10.1007/978-3-642-13562-0_30&quot; rel=&quot;noreferrer&quot;&gt;A Dichotomy for $k$-Regular Graphs with $\{0,1\}$-Vertex Assignments and Real Edge Functions&lt;/a&gt; by Jin-Yi Cai and Michael Kowalczyk.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(3) &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0304397513000091&quot; rel=&quot;noreferrer&quot;&gt;Partition functions on $k$-Regular Graphs with $\{0,1\}$-Vertex Assignments and Real Edge Functions&lt;/a&gt; by Jin-Yi Cai and Michael Kowalczyk.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(4) &lt;a href=&quot;http://epubs.siam.org/doi/abs/10.1137/070682575&quot; rel=&quot;noreferrer&quot;&gt;Holographic Algorithms&lt;/a&gt; by Leslie G. Valiant&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(5) &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0304397507004574&quot; rel=&quot;noreferrer&quot;&gt;Valiant’s Holant Theorem and matchgate tensors&lt;/a&gt; by Jin-Yi Cai and Vinay Choudhary&lt;/p&gt;&#xA;" OwnerUserId="3964" LastEditorUserId="-1" LastEditDate="2016-12-09T08:37:46.070" LastActivityDate="2016-12-09T08:37:46.070" CommentCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="21311" PostTypeId="1" CreationDate="2014-03-01T09:16:23.580" Score="5" ViewCount="563" Body="&lt;p&gt;I'm new to this site, so please pardon me for any mistakes and please feel free to edit the question to help get better answers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm interested in reading any proof of ACYCLIC PARTITION (Garey and Johnson) being NP-complete, and I'd love it if you could share a proof for the same here. It'd be great if you could also give an approximation algorithm for the problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem is defined as follows (Garey and Johnson):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $G = (V,A)$ be a directed graph, with a weight function $w(v)$ mapping each vertex $v$ to a positive integer, cost function $c(a)$ mapping each edge $a$ to a positive integer, and let there be two positive integers $B$ and $K$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a partition of V into disjoint sets $V1, V2,..., V_m$ such that the directed graph $G' = (V',A')$, where $V' = \{V1, V2,..., V_m\}$, and $(V_i, V_j)$ is in $A'$ if and only if $(v_i,v_j)$ is in $A$ for some $v_i \in V_i$ and some $v_j \in V_j$, is acyclic, such that the sum of the weights of the vertices in each $V_i$ does not exceed $B$, and such that the sum of the costs of all those arcs having their endpoints in different sets does not exceed $K$?&lt;/p&gt;&#xA;" OwnerUserId="21853" LastEditorUserId="3247" LastEditDate="2014-03-01T16:27:11.380" LastActivityDate="2014-03-02T08:18:26.943" Title="Proof for ACYCLIC PARTITION being NP-complete" Tags="&lt;graph-theory&gt;&lt;approximation-algorithms&gt;&lt;np-complete&gt;" AnswerCount="2" CommentCount="5" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21312" PostTypeId="2" ParentId="21284" CreationDate="2014-03-01T10:49:35.537" Score="9" Body="&lt;p&gt;Given the interest in this question, I thought it might be helpful to point out more explicitly the reason we should not be at all surprised by the answer and try to give some direction for refinements of the question. This collects and expands on some comments. I apologize if this is &quot;obvious&quot;!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider the set of strings of Kolmogorov complexity $n$:&#xA; $$J^K(n) = \{w : K(w) = n\}. $$&#xA;There are at most $2^n$ such strings, as there are $2^n$ descriptions of length $n$. But notice that this set is undecidable for general $n$ (otherwise, we could compute $K(w)$ just by iterating from $n=1$ to $|w|$ and checking membership in $J^K(n)$).&#xA;Furthermore, the function&#xA; $$g^K(n) = \max_{w \in J^K(n)} |w|$$&#xA;grows uncomputably fast. It is a variant of the busy-beaver function: what is the longest output by a Turing Machine of description length $n$? If this grew slower than some computable function, we could decide the halting problem: Given a TM $M$, construct $M'$ that simulates $M$ and prints a $1$ at every step. If the description length of $M'$ is $n$, then either: $M$ halts in at most $g^K(n)$ steps; or $M$ does not halt.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, to Andrew's question, we have that $I^K(n) = S \cap J^K(n)$, where $S$ is the original language. So the only way to avoid $I^K(n)$ containing inputs very large in $n$ would be if $S$ contains only very uncompressible strings. (Note that, otherwise, we can completely ignore the distinction between worst-case and average-case analysis here, because we average over at most $2^n$ strings but the size of the largest string is growing faster than any computable function of $n$.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I feel that it is likely impossible to construct any nontrivial (i.e. infinite) $S$ that contains only uncompressible strings, yet is decidable. But I don't know. However, hopefully this gives intuition as to why we should not hope for most languages to have $f^K_n$ growing slower than a computable function.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To step back slightly, the question is to compare performance on inputs of length $n$ to performance on inputs that can be &lt;em&gt;compressed&lt;/em&gt; to length $n$. But we have notions of compression that are much more tractable (and less powerful) than Kolmogorov Complexity. A simple way is to give a circuit of size $n$, which on input the binary number $b$ produces the $b$th bit of $w$. Note that here the blowup in input size is at most exponential (a circuit of size $n$ has at most $2^n$ possible inputs).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So we can rephrase the question by letting&#xA; $$ I^C(n) = \{ w \in S : \text{the smallest circuit implicitly specifying $w$ has size $n$}\}. $$&#xA;And define $f^C_n$ analogously. The reason for hope here is that most strings require a circuit almost as large as the string itself, and no strings are more than exponentially larger than the circuit required. Perhaps in this case we could find languages where $f_n$ and $f^C_n$ are similar asymptotically.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A pretty closely related question is the complexity of implicit languages like&#xA; $$ \mathsf{IMPLICIT\_SAT} = \{ \text{circuits $C$}: \text{$C$ implicitly specifies $w$}, w \in \mathsf{SAT}\}. $$&#xA;IMPLICIT_SAT is NEXP-complete, and usually the implicit version of NP-complete problems are NEXP-complete. Deciding IMPLICIT_SAT is at least as easy as just using the circuit to write out all of $w$, then running an algorithm for SAT on $w$. So if $f^C_n = \Theta(f_n)$ for SAT, then this seems close to giving evidence that IMPLICIT_SAT in the average-case is almost as quickly decidable as SAT is in the worst-case. But I don't know how one would directly compare your notion to implicit languages because the notion of &quot;smallest circuit for $w$&quot; does not come into play for implicit languages.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hope this is helpful/interesting!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm not sure of a textbook that mentions implicit problems, but here are some lecture notes: &lt;a href=&quot;http://people.seas.harvard.edu/~salil/cs221/spring10/lec8.pdf&quot; rel=&quot;nofollow&quot;&gt;http://people.seas.harvard.edu/~salil/cs221/spring10/lec8.pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="8243" LastEditorUserId="8243" LastEditDate="2014-03-04T14:51:40.890" LastActivityDate="2014-03-04T14:51:40.890" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="21313" PostTypeId="2" ParentId="21311" CreationDate="2014-03-01T11:28:05.980" Score="2" Body="&lt;p&gt;A useful reference is &quot;Sitting Closer to Friends Than Enemies, Revisited&quot; by Cygan, Pilipczuk, Pilipczuk and Wojtaszczyk, MFCS 2012. Not sure if the title should be interpreted literally though: it's probably better to keep your enemies close for various reasons (&lt;a href=&quot;http://www.askmen.com/money/mafioso_60/67_mafia.html&quot; rel=&quot;nofollow&quot;&gt;http://www.askmen.com/money/mafioso_60/67_mafia.html&lt;/a&gt;)&lt;/p&gt;&#xA;" OwnerUserId="17699" LastEditorUserId="17699" LastEditDate="2014-03-01T11:48:26.097" LastActivityDate="2014-03-01T11:48:26.097" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21314" PostTypeId="2" ParentId="21311" CreationDate="2014-03-01T12:33:54.920" Score="3" Body="&lt;p&gt;In the current formulation, your problem can be proved to be NP-complete by a direct reduction from PARTITION.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given $n$ positive integers, $S = \{a_1,a_2,...,a_n\}$ the PARTITION problem asks to find two disjoint subsets $S_1 \cup S_2 = S$ such that $\sum_{i\in S_1} a_i = \sum_{j \in S_2} a_j$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, just pick: $G = \{ V, \emptyset \}$ with $|V| = n$, set $m = 2$ and assign weight $a_i$ to node $u_i$ for all $i = 1,...,n$; set $B = \frac{1}{2} \sum a_i$, and set $K=0$ (arc costs and the acyclic constraints are irrelevant).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;NOTE: my old answer was related to a different ACYCLIC PARTITION problem, and you can find it in the edits history below.&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="21853" LastEditDate="2014-03-02T08:18:26.943" LastActivityDate="2014-03-02T08:18:26.943" CommentCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="21315" PostTypeId="2" ParentId="21283" CreationDate="2014-03-01T13:04:03.190" Score="1" Body="&lt;p&gt;Consider this problem &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Given a graph $G$ deciding whether its vertex set can be partitioned&#xA;  into two disjoint sets such that the induced graphs created by the&#xA;  sewts exhibits property $P$ and $Q$, is &lt;a href=&quot;http://www.combinatorics.org/ojs/index.php/eljc/article/view/v11i1r46&quot; rel=&quot;nofollow&quot;&gt;NP- complete&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;It remains NP complete even if the properties are hereditary.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now clearly a solution of the above problem for a graph also provides solution for the induced subgraphs. But upon taking union of graphs of same family as G might not be solved using that solution.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example partitioning general graphs in disjoint unit interval graphs is NP complete but upon taking union of all possible edges (making the graph complete) solves the problem trivially.&lt;/p&gt;&#xA;" OwnerUserId="12280" LastActivityDate="2014-03-01T13:04:03.190" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21317" PostTypeId="2" ParentId="21283" CreationDate="2014-03-01T18:35:37.800" Score="1" Body="&lt;p&gt;Define the cycle cover number of a graph $G = (V,E)$ as the minimum number of cycles $C_1,\ldots,C_m$ such that (i) each $C_i$ is a cycle graph over a subset of $V$, (ii) each edge of $E$ is present in some $C_i$. I conjecture the following:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(1) for $k \geq 3$, it is NP-complete to decide if $G$ has cycle cover number at most $k$,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(2) for $k = 2$, the problem is polynomial -- this should follow from &quot;Gauss Codes, Planar Hamiltonian Graphs, and Stack-Sortable Permutations&quot; by Rosenstiehl and Tarjan.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If (1) is true then it should answer your question, as it gives a property that is hereditary, but clearly not additive.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(NOTE ADDED: conjecture (2) is different from the &quot;double cycle cover conjecture&quot; by Szekeres and Seymour, despite the homonymity).&lt;/p&gt;&#xA;" OwnerUserId="21798" LastEditorUserId="21798" LastEditDate="2014-03-02T12:50:20.283" LastActivityDate="2014-03-02T12:50:20.283" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="21319" PostTypeId="1" AcceptedAnswerId="21326" CreationDate="2014-03-01T18:52:34.923" Score="11" ViewCount="288" Body="&lt;p&gt;As far as I know, the factorization norm lower bound given by Linial and Shraibman is essentially the only lower bound known for quantum communication complexity (or at least it subsumes all others).  Is there any evidence against this bound being tight?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The factorization norm bound (also called the $\gamma_2$ bound) I speak of is Theorem 13 of &lt;a href=&quot;http://onlinelibrary.wiley.com/doi/10.1002/rsa.20232/abstract&quot;&gt;Linial, Shraibman 2008&lt;/a&gt;.  In fact, this bound follows from a reduction from quantum communication complexity to the bias in a 2-player XOR game &lt;a href=&quot;http://arxiv.org/abs/0804.4859&quot;&gt;Degorre, et al. 2008&lt;/a&gt;.  For this reason it could be expected to be a lousy bound since the XOR game doesn't even have anything to do with communication.  For the impatient, a brief overview is given in &lt;a href=&quot;http://www.research.rutgers.edu/~troyjlee/grothtalk.pdf&quot;&gt;some slides by Troy Lee&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The introduction text of &lt;a href=&quot;http://arxiv.org/abs/0910.4266&quot;&gt;Jain, Klauck 2010&lt;/a&gt; says that information theoretic techniques may offer some competition but it is not known whether these beat the $\gamma_2$ bound.  So it would seem that, at least as of a few years ago, $\gamma_2$ was the best technique.  But I would like to know if there is even a specific example of a function that is believed to have quantum communication complexity much greater than the $\gamma_2$ bound.&lt;/p&gt;&#xA;" OwnerUserId="7092" LastEditorUserId="7092" LastEditDate="2014-03-01T19:56:20.143" LastActivityDate="2014-03-03T04:16:27.710" Title="Any evidence that Linial, Shraibman lower bound on quantum communication complexity is not tight?" Tags="&lt;quantum-information&gt;&lt;communication-complexity&gt;&lt;norms&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="21322" PostTypeId="2" ParentId="21016" CreationDate="2014-03-01T23:17:32.273" Score="9" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Theorem:&lt;/strong&gt; Every planar graph has a vertex with degree at most 5.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Problem:&lt;/strong&gt; Design an $O(n)$ representation of planar graphs where we can check if $(u, v)$ is an edge in $O(1)$ time. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;We can remove the vertex with degree at most 5, and add it to a list as a key and its neighbors as values. The remaining graph is also planar and has a vertex with degree at most 5. So the space consumed is at most $5n$. We can check if $u$ is in the adjacency list of $v$; if not we can check if $v$ is in the adjacency list of $u$. This takes at most $10$ steps. &lt;/p&gt;&#xA;" OwnerUserId="612" LastEditorUserId="6959" LastEditDate="2015-11-12T09:20:34.300" LastActivityDate="2015-11-12T09:20:34.300" CommentCount="1" CommunityOwnedDate="2014-03-14T00:03:36.567" ContentLicense="CC BY-SA 3.0" />
  <row Id="21323" PostTypeId="1" AcceptedAnswerId="21325" CreationDate="2014-03-01T23:18:53.583" Score="7" ViewCount="1186" Body="&lt;p&gt;&lt;a href=&quot;http://www.minesweeper.info/articles/MinesweeperIsNPComplete.pdf&quot; rel=&quot;noreferrer&quot;&gt;This paper&lt;/a&gt; shows that it is NP-hard &quot;to determine if there is &lt;em&gt;some&lt;/em&gt; pattern of mines in the blank squares that give rise to the numbers seen.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If there is a way to &quot;lead a perfect player into&quot; such positions, then it would easily follow that it is also NP-hard to &lt;em&gt;play&lt;/em&gt; minesweeper perfectly. However, I do not see any way to rule out the possibility of an algorithm that plays minesweeper perfectly by never going into the sort of positions that would be produced by applying that paper's reduction to hard instances of SAT.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is playing minesweeper perfectly known to be NP-hard?&lt;/p&gt;&#xA;" OwnerDisplayName="user6973" LastEditorUserId="5693" LastEditDate="2014-03-02T11:52:13.823" LastActivityDate="2014-03-02T11:52:13.823" Title="Is it NP-hard to _play_ minesweeper perfectly?" Tags="&lt;np-hardness&gt;&lt;board-games&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21324" PostTypeId="2" ParentId="3111" CreationDate="2014-03-01T23:19:24.533" Score="1" Body="&lt;p&gt;&quot;Why ordinals are good for you&quot; by I. Lepper and G. Moser. The paper itself is not intended to be humorous but it contains some funny quotes. I would be curious to see a similar introductory paper to the surreal numbers, a superclass of the ordinals introduced by J.H. Conway.&lt;/p&gt;&#xA;" OwnerUserId="21798" LastActivityDate="2014-03-01T23:19:24.533" CommentCount="0" CommunityOwnedDate="2014-03-01T23:19:24.533" ContentLicense="CC BY-SA 3.0" />
  <row Id="21325" PostTypeId="2" ParentId="21323" CreationDate="2014-03-02T00:06:35.657" Score="6" Body="&lt;p&gt;Just an extended comment; in&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://link.springer.com/article/10.1007/s00283-011-9256-x&quot;&gt;Allan Scott, Ulrike Stege, Iris van Rooij, Minesweeper May Not Be NP-Complete but Is Hard Nonetheless&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;the authors face the problem I mentioned in my comment above.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;From the abstract:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In volume 22 of The Mathematical Intelligencer, Richard&#xA;Kaye published an article entitled &quot;Minesweeper is NP-Complete.&quot;&#xA;We point out an oversight in Kaye's analysis&#xA;of this well-known game. As a consequence, his&#xA;NP-completeness proof does not prove the game to be hard.&#xA;We present here an improved model of the game,&#xA;which we use to show that the game is indeed a hard problem;&#xA;in fact, we show that it is &lt;strong&gt;co-NP-complete&lt;/strong&gt;.&lt;br&gt;&#xA;....&lt;br&gt;In this article, we investigate the complexity of the&#xA;deterministic part of playing Minesweeper. In our&#xA;analysis, we assume that the player is given a&#xA;&lt;em&gt;consistent&lt;/em&gt; Minesweeper board configuration.&#xA;That is, when completely revealed,&#xA;the board presented has in each square either&#xA;a mine or a numeber corresponding to the correct number&#xA;of neighboring mines.&#xA;Further, we assume an ideal player who makes no&#xA;mistakes in reasoning. Note that these assumptions imply&#xA;that the player can only lose (try to open a square containing a mine) when forced&#xA;to &lt;em&gt;guess&lt;/em&gt;. Therefore, our optimal player who follows&#xA;the strategy described previously will avoid guessing whenever possible.&#xA;However, to do so he must be able to decide&#xA;whether it is possible to make progress on the board&#xA;without guessing. This problem is what we call the&#xA;&lt;em&gt;Minesweeper Inference&lt;/em&gt; problem.&lt;br&gt;&#xA;...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is also a recent paper on arXiv that seems relevant (I just found it now):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://arxiv.org/abs/1204.4659&quot;&gt;Michiel de Bondt, The computational complexity of Minesweeper&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Abstract&lt;/strong&gt;: We show that the Minesweeper game is PP-hard, when the object is to locate all mines with the highest probability. When the probability of locating all mines may be infinitesimal, the Minesweeper game is even PSPACE-complete. In our construction, the player can reveal a boolean circuit in polynomial time, after guessing an initial square with no surrounding mines, a guess that has 99 percent probability of success. Subsequently, the mines must be located with a maximum probability of success.&lt;br&gt;&#xA;Furthermore, we show that determining the solvability of a partially uncovered Minesweeper board is NP-complete with hexagonal and triangular grids as well as a square grid, extending a similar result for square grids only by R. Kaye. Actually finding the mines with a maximum probability of success is again PP-hard or PSPACE-complete respectively.&lt;br&gt;&#xA;Our constructions are in such a way that the number of mines can be computed in polynomial time and hence a possible mine counter does not provide additional information. The results are obtained by replacing the dyadic gates in [3] by two primitives which makes life more easy in this context. &lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2014-03-02T00:20:26.057" LastActivityDate="2014-03-02T00:20:26.057" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21326" PostTypeId="2" ParentId="21319" CreationDate="2014-03-02T03:44:35.710" Score="6" Body="&lt;p&gt;I don't know of any function with communication much higher than the $\gamma_2$ bound. However, my intuition of why it is not tight is because the $\gamma_2$-norm is also a lower bound for QCMA communication. See &lt;a href=&quot;http://arxiv.org/abs/1101.0523&quot; rel=&quot;nofollow&quot;&gt;this paper&lt;/a&gt; by Klauck for the definition of QCMA communication.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To prove the lower bound on QCMA communication using the $\gamma_2$-norm you can use the same reduction to an XOR game as in the  proof of Theorem 14 of &lt;a href=&quot;http://arxiv.org/pdf/0911.4007v1.pdf&quot; rel=&quot;nofollow&quot;&gt;this paper&lt;/a&gt;. This will also hold for certain types of entanglement.&lt;/p&gt;&#xA;" OwnerUserId="135" LastEditorUserId="135" LastEditDate="2014-03-03T04:16:27.710" LastActivityDate="2014-03-03T04:16:27.710" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="21328" PostTypeId="2" ParentId="174" CreationDate="2014-03-02T12:37:29.060" Score="6" Body="&lt;p&gt;Some open problems in complexity theory lower bounds, together with their relationships, are mapped &lt;a href=&quot;http://eccc.hpi-web.de/report/2013/119/&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="259" LastActivityDate="2014-03-02T12:37:29.060" CommentCount="1" CommunityOwnedDate="2014-03-02T12:37:29.060" ContentLicense="CC BY-SA 3.0" />
  <row Id="21331" PostTypeId="1" CreationDate="2014-03-03T00:12:44.317" Score="2" ViewCount="104" Body="&lt;p&gt;I have a membership oracle to tell me whether a point is inside of some set, S. I would like to find the radius of the largest (origin-centered) hypersphere that is contained in S.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Do you know any good references for this problem? (I'm looking for an algorithm along with a confidence that the hypersphere is fully contained in S).&lt;/p&gt;&#xA;" OwnerUserId="21871" LastEditorUserId="80" LastEditDate="2014-03-03T06:14:39.690" LastActivityDate="2014-03-03T06:14:39.690" Title="Largest embeddable hypersphere given membership oracle" Tags="&lt;cg.comp-geom&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="21332" PostTypeId="1" AcceptedAnswerId="21346" CreationDate="2014-03-03T00:55:51.923" Score="12" ViewCount="728" Body="&lt;p&gt;One major problem in TCS is the problem of expressing a permanent as a determinant. I was reading Agrawal's paper &lt;a href=&quot;http://www.cse.iitk.ac.in/users/manindra/survey/Determinant.pdf&quot;&gt;Determinant Versus Permanent&lt;/a&gt; and in one paragraph he claims the reverse problem is easy.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;It is easy to see that the determinant of a matrix $X$ can be expressed as the permanent of a related matrix $Xˆ$ whose entries are 0, 1, or $x_{i,j}$ s and which is of size $O(n)$ (set up entries of Xˆ such that det $Xˆ$ = det $X$ and the product corresponding to every permutation that has an even cycle is zero).&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;First of all, I don't think 0, 1, and $x_{i,j}$ variables are enough because we would be missing negative terms. But even if we allowed -1 and $-x_{i,j}$ variables as well, I don't see why the growth in size can be made linear. Could someone please explain the construction to me?&lt;/p&gt;&#xA;" OwnerUserId="21873" LastEditorUserId="1542" LastEditDate="2014-03-05T06:13:55.133" LastActivityDate="2014-03-05T06:13:55.133" Title="Expressing Determinant as Permanent" Tags="&lt;cc.complexity-theory&gt;&lt;algebraic-complexity&gt;&lt;permanent&gt;&lt;determinant&gt;" AnswerCount="1" CommentCount="6" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="21333" PostTypeId="2" ParentId="21331" CreationDate="2014-03-03T04:53:58.197" Score="5" Body="&lt;p&gt;If S is convex, that this is a linear programming problem. It can as such be solved/approximated in polynomial time using the standard sequence of reductions to the ellipsoid algorithm. I do not know any reference that describe it cleanly, but the following book describe it:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Geometric Algorithms and Combinatorial Optimization (Algorithms and Combinatorics) [Paperback]&#xA;Martin Grötschel, Laszlo Lovasz, Alexander Schrijver&lt;/p&gt;&#xA;" OwnerUserId="9594" LastActivityDate="2014-03-03T04:53:58.197" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21335" PostTypeId="2" ParentId="174" CreationDate="2014-03-03T09:36:32.390" Score="8" Body="&lt;p&gt;Can we multiply two arbitrary &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt;-bit numbers in &lt;span class=&quot;math-container&quot;&gt;$O(n)$&lt;/span&gt; time? There is a trivial lower bound of &lt;span class=&quot;math-container&quot;&gt;$\Omega(n)$&lt;/span&gt;, but no better lower bound is known. Currently, the asymptotically fastest algorithm is &lt;span class=&quot;math-container&quot;&gt;$O(n \log n)$&lt;/span&gt; - a recent breakthrough by &lt;a href=&quot;https://hal.archives-ouvertes.fr/hal-02070778&quot; rel=&quot;nofollow noreferrer&quot;&gt;Harvey and van der Hoeven 2019&lt;/a&gt;. The previous best took time &lt;span class=&quot;math-container&quot;&gt;$O(n \log n 2^{\log^* n})$&lt;/span&gt; &lt;a href=&quot;https://doi.org/10.1137/070711761&quot; rel=&quot;nofollow noreferrer&quot;&gt;due to Martin Fürer&lt;/a&gt;, building off of the &lt;a href=&quot;https://en.wikipedia.org/wiki/Sch%C3%B6nhage%E2%80%93Strassen_algorithm&quot; rel=&quot;nofollow noreferrer&quot;&gt;original algorithm by Schönhage–Strassen&lt;/a&gt; which ran in &lt;span class=&quot;math-container&quot;&gt;$\Theta(n \log n \log \log n)$&lt;/span&gt; time. &lt;a href=&quot;https://rjlipton.wordpress.com/2012/06/15/why-the-hartmanis-stearns-conjecture-is-still-open/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Regan and Lipton showed&lt;/a&gt; that a super-linear lower bound would follow from the Hartmanis-Stearns Real-Time Computability Conjecture. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A &lt;a href=&quot;http://drops.dagstuhl.de/opus/volltexte/2019/10586/&quot; rel=&quot;nofollow noreferrer&quot;&gt;recent result of Afshani, Freksen, Kamma, and Larsen&lt;/a&gt; established the following conditional lower bound: assuming the network coding conjecture, any constant-degree Boolean circuit for multiplication must have size &lt;span class=&quot;math-container&quot;&gt;$\Omega(n\log n)$&lt;/span&gt;.&lt;/p&gt;&#xA;" OwnerUserId="9569" LastEditorUserId="13319" LastEditDate="2019-09-16T02:17:29.290" LastActivityDate="2019-09-16T02:17:29.290" CommentCount="9" CommunityOwnedDate="2014-03-03T09:36:32.390" ContentLicense="CC BY-SA 4.0" />
  <row Id="21336" PostTypeId="2" ParentId="21028" CreationDate="2014-03-03T10:07:20.730" Score="4" Body="&lt;p&gt;I found the reference for CPO-like categories.&#xA;Scott's paper &lt;em&gt;Continuous Lattices&lt;/em&gt; in the book &lt;em&gt;Toposes, Algebraic Geometry and Logic&lt;/em&gt;. It is explained in the comments right after corollary 4.3.&#xA;A more general theorem can be found in Smyth's and Plotkin's paper &lt;em&gt;Category-Theoretic Solution of Recursive Domain Equations&lt;/em&gt;. It is lemma 2.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, again, the functors are not arbitrary. One needs some sort of a continuity assumption. &lt;/p&gt;&#xA;" OwnerUserId="21578" LastActivityDate="2014-03-03T10:07:20.730" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21338" PostTypeId="1" AcceptedAnswerId="21339" CreationDate="2014-03-03T12:52:25.340" Score="21" ViewCount="2517" Body="&lt;p&gt;It is well-known that palindromes can be recognized in linear time on $2$-tape Turing machines, but not on single-tape Turing machines (in which case the time needed is quadratic). The linear-time algorithm uses a copy of the input, and thus also uses a linear space. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can we recognize palindromes in linear time of a multitape Turing machine, using only  a logarithmic space? More generally, what kind of space-time trade-off is known for palindromes?&lt;/p&gt;&#xA;" OwnerUserId="976" LastActivityDate="2017-01-16T20:47:49.137" Title="How much time to recognize palindromes in logarithmic space?" Tags="&lt;cc.complexity-theory&gt;&lt;time-complexity&gt;&lt;space-complexity&gt;&lt;space-time-tradeoff&gt;" AnswerCount="3" CommentCount="0" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="21339" PostTypeId="2" ParentId="21338" CreationDate="2014-03-03T13:40:04.823" Score="22" Body="&lt;p&gt;Using crossing sequences or communication complexity it is simple to derive the tradeoff $T(n)S(n) = \Omega(n^2)$ for a &lt;em&gt;sequential&lt;/em&gt; Turing machine using time $O(T(n))$ and space $O(S(n))$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This result was first obtained by Alan Cobham using crossing sequences in the paper &lt;a href=&quot;http://dx.doi.org/10.1109/SWAT.1966.30&quot;&gt;The recognition problem for the set of perfect squares&lt;/a&gt; which appeared at SWAT (later FOCS) 1966.&lt;/p&gt;&#xA;" OwnerUserId="313" LastEditorUserId="313" LastEditDate="2014-03-03T13:45:55.410" LastActivityDate="2014-03-03T13:45:55.410" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21340" PostTypeId="2" ParentId="21338" CreationDate="2014-03-03T13:41:46.603" Score="25" Body="&lt;p&gt;You can use the same argument used to prove the $\Omega(n^2)$ time bound on single tape.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose that you have a TM with $S(n)$ space that recognize palindromes &#xA;$\{x\,0^{\frac{n}{3}} x^R \mid |x|=n/3 \}$ (where $x^R$ is the reverse of $x$) in time $T(n)$.&#xA;When the (input) head crosses the middle $0^{n/3}$ it can carry only $S(n)$ bits of information. So it needs to make $\Omega(n / S(n))$ crosses, and each cross requires $n/3$ time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So $T(n)S(n)=\Omega(n^2)$.&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2017-01-16T20:47:49.137" LastActivityDate="2017-01-16T20:47:49.137" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="21344" PostTypeId="1" AcceptedAnswerId="21371" CreationDate="2014-03-03T17:32:03.070" Score="6" ViewCount="213" Body="&lt;p&gt;Gurevich provides an exact definition of what &lt;em&gt;Logic capturing PTIME&lt;/em&gt; is.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An abstract logic $L$ consists of&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;a set of $L[\tau]$-sentences for each vocabulary $\tau$,&lt;/li&gt;&#xA;&lt;li&gt;and a mapping that maps a property $\mathcal{P}_\varphi$ to each $L[\tau]$-sentence $\varphi$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;An abstract logic $L$ captures polynomial time on $\mathcal{C}$ if&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;for every $\tau$, $L[\tau]$ is decidable,&lt;/li&gt;&#xA;&lt;li&gt;for every property $\mathcal{P}$ of $\tau$-structures that is decidable in polynomial time, there is a $\varphi \in L[\tau]$ which defines $\mathcal{P}$ on $\mathcal{C}$,&lt;/li&gt;&#xA;&lt;li&gt;for every vocabulary $\tau$, we can compute an algorithm which decides $\mathcal{P}_\varphi$ for every $\varphi \in L[\tau]$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Infinitary logic $\mathcal{L}_{\infty \omega}$ is an extension of&#xA;  First-Order Logic s.t. if $X$ is set then  both&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;$$ \bigvee_{\phi \in X} \phi \textrm{ and } \bigwedge_{\phi \in X} \phi$$&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;are formulars. $\mathcal{L}^k_{\infty \omega}$ is infinitary logic&#xA;  with only $k$ distinct variables.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Apart from the question for which classes $\mathcal{C}$ of finite(!) structures, $\mathcal{L}_{\infty \omega}^k$ describes all polynomial time decidable properties, I want to know if $\mathcal{L}_{\infty \omega}^k$ is a logic in that sense.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;First Question:&lt;/strong&gt; Is $\mathcal{L}_{\infty \omega}^k[\tau]$ decidable for each $\tau$? We need an encoding for each $\varphi \in \mathcal{L}_{\infty \omega}^k[\tau]$ and a Turing Machine to decide whether $X$ is a set. Is it possible to provide a finite encoding for each $\varphi$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Problem:&lt;/em&gt; If we want to define a Turing Machine which decides whether $\varphi \in \mathcal{L}_{\infty \omega}^k[\tau]$ we need a finite representation of $\varphi$. &lt;em&gt;Approach:&lt;/em&gt; Let $\mathsf{FO}[\tau]$ be the set of all first order sentences over $\tau$. It is not possible to define a finite code for each $X \subset \mathsf{FO}[\tau]$ over a finite alphabet like $\{0,1\}$. $X$ is countable. However, $|\mathcal{P}(\mathsf{FO}[\tau])| &amp;gt; |\{0,1\}^*|$. Hence, there can be no bijective mapping from $\mathcal{P}(\mathsf{FO}[\tau])$ to $\{0,1\}^*$ (or any code with finite alphabet).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Second Question:&lt;/strong&gt; The other thing is a model checking algorithm. Is there a model checking algorithm for $\mathcal{L}_{\infty \omega}^k[\tau]$ on each finite $\tau$ for classes $\mathcal{C}$ of finite structures? Can we make assertions regarding the run time? The basic ideas that on a finite structure it is sufficient to model check a finite $X' \subset X$ to decide.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any ideas? Any references?&lt;/p&gt;&#xA;" OwnerUserId="7594" LastEditorUserId="7594" LastEditDate="2014-03-03T22:42:35.200" LastActivityDate="2014-03-05T15:20:06.017" Title="Is infinitary logic a logic in the sense of Gurevich?" Tags="&lt;lo.logic&gt;&lt;descriptive-complexity&gt;&lt;model-checking&gt;&lt;finite-model-theory&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21346" PostTypeId="2" ParentId="21332" CreationDate="2014-03-03T19:46:53.133" Score="8" Body="&lt;p&gt;I think this may have been a typo in Agrawal's paper. The best I know is how to write an $n \times n$ determinant as a projection of an $O(n^3)$-sized permanent, by writing the determinant as an &lt;a href=&quot;http://eccc.hpi-web.de/search/?search=algebraic+branching+program&quot; rel=&quot;nofollow noreferrer&quot;&gt;algebraic branching program&lt;/a&gt; (and I think this is currently the best known). See the comments on &lt;a href=&quot;https://cstheory.stackexchange.com/a/16477/129&quot;&gt;this answer&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="129" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2014-03-03T22:50:04.357" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="21350" PostTypeId="1" AcceptedAnswerId="21352" CreationDate="2014-03-04T02:28:29.083" Score="7" ViewCount="349" Body="&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Chromatic_number#Definition_and_terminology&quot; rel=&quot;nofollow noreferrer&quot;&gt;Cograph&lt;/a&gt; is a well-know graph that does not have induced $P_4$. My questions are about determining the chromatic number of graphs in the class &lt;strong&gt;cograph+v&lt;/strong&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Notations&lt;/strong&gt;:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Denote by $\chi(G)$ the &lt;a href=&quot;http://en.wikipedia.org/wiki/Chromatic_number#Definition_and_terminology&quot; rel=&quot;nofollow noreferrer&quot;&gt;chromatic number&lt;/a&gt; of a graph $G$. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Let $V(G)$ denote the vertices of $G$. For any vertex $v\in V(G)$, denote by $N(v)$ the neighbors of $v$ and $N[v]=N(v)+v$ the closed neighborhood of $v$. Let $A\subseteq V(G)$, denote by $\langle A \rangle_{G}$ be the induced subgraph of $A$ of $G$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Let $G$ be an undirected simple graph, and $H=G+v$ be a graph such that $G=H-v$, i.e., $G$ is the graph obtained by deleting $v$ from $H$. This type of notation is introduced in the paper &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0166218X02002421&quot; rel=&quot;nofollow noreferrer&quot;&gt;Parameterized complexity of vertex colouring&lt;/a&gt;. For a graph class $\mathcal{F}$, let $\mathcal{F}+kv$ denote the graphs which can be built by adding at most $k$ vertices to a graph in $\mathcal{F}$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question 1&lt;/strong&gt;:&#xA;Is the following statement true?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\chi(G+v)=\chi(G)+1$ if and only if $\chi(\langle N(v) \rangle)=\chi(G)$, where $G$ is a &lt;a href=&quot;http://en.wikipedia.org/wiki/Cograph&quot; rel=&quot;nofollow noreferrer&quot;&gt;cograph&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The &quot;if&quot; direction is easy, because $\chi(G+v) \le \chi(G)+1 $ and $\chi(\langle N[v] \rangle) = \chi(\langle N(v) \rangle) + 1$. &#xA;For general simple graph $G$, the &quot;only if&quot; direction is not true. For example, let $G$ be a $P_4$ (path of 4 vertices) and $G+v$ be a $C_5$ (cycle of 5 vertices).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/4ubPi.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question 2&lt;/strong&gt;:&#xA;If the proposition in question 1 is false. Is it easy to determine $\chi(G+v)$, where $G$ is a &lt;a href=&quot;http://en.wikipedia.org/wiki/Cograph&quot; rel=&quot;nofollow noreferrer&quot;&gt;cograph&lt;/a&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Update&lt;/strong&gt;: Jim showed than cograph+v is a subset of the class of perfect graph. Also he actually proved another more general theorem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For any &lt;a href=&quot;http://en.wikipedia.org/wiki/Perfect_graph&quot; rel=&quot;nofollow noreferrer&quot;&gt;perfect graph&lt;/a&gt; $G$, $\chi(G)=\chi(G-v)+1$ if and only if $\chi(\langle N(v)\rangle) = \chi(G-v)$.  &lt;/p&gt;&#xA;" OwnerUserId="6108" LastEditorUserId="6108" LastEditDate="2014-03-04T09:42:42.437" LastActivityDate="2014-03-04T18:31:19.013" Title="Chromatic number of G+v where G is a cograph" Tags="&lt;graph-theory&gt;&lt;graph-colouring&gt;&lt;perfect-graph&gt;&lt;cograph&gt;" AnswerCount="1" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="21351" PostTypeId="1" CreationDate="2014-03-04T06:19:39.040" Score="1" ViewCount="79" Body="&lt;p&gt;While converting a tree decomposition of graph to Normalized tree decomposition, the definitions of clique vertex and separator vertex are used in &#xA;&lt;a href=&quot;http://link.springer.com/chapter/10.1007/3-540-58218-5_16&quot; rel=&quot;nofollow&quot;&gt;Sequential and parallel algorithms for embedding problems on classes of partial k-trees&lt;/a&gt;&#xA;page: 8-9. &#xA;Can somebody help me out with the two definitions which are used there.&lt;/p&gt;&#xA;" OwnerUserId="14028" LastActivityDate="2014-03-04T06:19:39.040" Title="Definition of Clique vertex and separator vertex" Tags="&lt;graph-theory&gt;&lt;graph-isomorphism&gt;" AnswerCount="0" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21352" PostTypeId="2" ParentId="21350" CreationDate="2014-03-04T08:25:34.930" Score="8" Body="&lt;p&gt;I think Artem is on the right track with perfection:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As cographs are $P_4$-free, cograph+v is $C_5$-free (and $C_{2k+1}$-free and $\overline{C}_{2k+1}$-free, $k&amp;gt;1$) and so they are perfect graphs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This means the only thing that is pushing the chromatic number up is clique size. So if $\chi(G+v) = \chi(G) + 1$, it is because v has increased the maximum clique size, which means that $N(v)$ must have had a clique of size $\chi(G)$ and so $\langle N(v)\rangle_G$ had the same chromatic number as $G$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So it seems the statement in question 1 is true.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But even without it, since cograph+v can't have any large induced cycles, it is contained in the set of &lt;strong&gt;weakly chordal graphs&lt;/strong&gt;. A graph $G$ is a weakly chordal graph if for every cycle of length at least 5 in $G$ and $\overline{G}$, there is a chord. Weakly chordal graphs are a subset of perfect graphs and there are various efficient algorithms for a number of optimization problems on weakly chordal graphs, such as colouring.&lt;/p&gt;&#xA;" OwnerUserId="2414" LastEditorUserId="2414" LastEditDate="2014-03-04T18:31:19.013" LastActivityDate="2014-03-04T18:31:19.013" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21353" PostTypeId="1" CreationDate="2014-03-04T10:06:37.193" Score="4" ViewCount="230" Body="&lt;p&gt;Marzio De Biasi mentioned &lt;a href=&quot;http://arxiv.org/pdf/1204.4659v1.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;this paper&lt;/a&gt; in &lt;a href=&quot;https://cstheory.stackexchange.com/a/21325/6973&quot;&gt;this answer&lt;/a&gt;, and that paper's claim in part 5 would appear to resolve my question. However, there seems to be a significant gap in the proof.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Even though one may be able to figure out what the gadgets on the border of the known whitespace component are, that doesn't obviously help to figure out what the rest of the whitespace components are.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;How can one &quot;reason through wires to uncover all whitespace components&quot; when the wires go through other components (such as crossovers)?&lt;/p&gt;&#xA;" OwnerDisplayName="user6973" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2014-09-24T13:21:02.783" Title="How does part 5 of the paper &quot;computational complexity of Minesweeper&quot; work?" Tags="&lt;np-hardness&gt;" AnswerCount="0" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21355" PostTypeId="1" AcceptedAnswerId="21360" CreationDate="2014-03-04T14:11:41.777" Score="7" ViewCount="309" Body="&lt;p&gt;A graph property is called &lt;strong&gt;hereditary&lt;/strong&gt; if it is closed with respect to deleting vertices. There are many interesting hereditary graph properties. Moreover,  a number of nontrivial general facts are also known about hereditary classes of graphs, see &quot;&lt;a href=&quot;https://cstheory.stackexchange.com/questions/1005/global-properties-of-hereditary-classes&quot;&gt;Global properties of hereditary classes?&lt;/a&gt;&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Considering complexity, hereditary graph properties include both polynomial-time decidable and NP-complete ones. We know, however, that there are  a number of natural problems in NP that are candidates for NP-intermediate status, see a nice collection in &lt;a href=&quot;https://cstheory.stackexchange.com/questions/79/problems-between-p-and-npc&quot;&gt;Problems Between P and NPC&lt;/a&gt;. Among the numerous answers there, however, none of them looks like a hereditary graph property (unless I overlooked something). &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Question:&lt;/strong&gt; Do you know a hereditary graph property that is a candidate for NP-intermediate status? Or else, is there a dichotomy theorem for hereditary graph properties?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="12710" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2014-03-04T21:41:32.687" Title="NPI-candidate hereditary graph property?" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;p-vs-np&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="21357" PostTypeId="1" CreationDate="2014-03-04T15:59:40.667" Score="4" ViewCount="80" Body="&lt;p&gt;Does anybody know if a combinatorial optimzation problem that enjoys the Bellman's optimality principle can in automatic way be approximated?&lt;/p&gt;&#xA;" OwnerUserId="21910" LastActivityDate="2014-03-04T18:04:54.543" Title="Bellman principle and approximability" Tags="&lt;cc.complexity-theory&gt;&lt;approximation-algorithms&gt;&lt;approximation-hardness&gt;&lt;dynamic-programming&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21359" PostTypeId="2" ParentId="21357" CreationDate="2014-03-04T18:04:54.543" Score="5" Body="&lt;p&gt;One (old but useful) reference along these lines is Woeginger's 1998 paper on the connection between DPs and approximability: &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;a href=&quot;http://pubsonline.informs.org/doi/abs/10.1287/ijoc.12.1.57.11901&quot;&gt;When Does a Dynamic Programming Formulation Guarantee the Existence&#xA;  of a Fully Polynomial Time Approximation Scheme (FPTAS)?&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="80" LastActivityDate="2014-03-04T18:04:54.543" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21360" PostTypeId="2" ParentId="21355" CreationDate="2014-03-04T19:04:17.533" Score="9" Body="&lt;p&gt;Is there a particular style of problem you are looking for, or anything related to a hereditary graph property? Two common types of problems would be&#xA;(1) recognition: does a given $G$ have the hereditary property? or&#xA;(2) find the largest (induced or not) subgraph $H$ in $G$ having the hereditary property.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As I'm sure you are familiar, (2) is NP-complete (Mihalis Yannakakis: Node- and Edge-Deletion NP-Complete Problems. STOC 1978: 253-264) But I'm not sure if you are specifically only asking about problems of type (1) (recognition problems.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are a few recognition problems of hereditary graph classes which are still open. I think the &lt;i&gt;one-in-one-out&lt;/i&gt; graphs are open to recognize and clearly in NP.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Graphclasses.org also reports that the related class of &lt;i&gt;opposition graphs&lt;/i&gt; is still open to recognize (and these are also clearly in NP.) Apparently, so is the class of Domination graphs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A large list of open (and unknown) recognition status can be found on that site, and pretty much all of those properties appear to be hereditary.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.graphclasses.org/classes/problem_Recognition.html&quot;&gt;http://www.graphclasses.org/classes/problem_Recognition.html&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is one recognition problem they list under GI-complete, which is not a hereditary property ... so it is interesting to think that perhaps deciding a hereditary problem may indeed have a dichotomy theorem. &lt;/p&gt;&#xA;" OwnerUserId="2414" LastActivityDate="2014-03-04T19:04:17.533" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="21361" PostTypeId="2" ParentId="21355" CreationDate="2014-03-04T21:41:32.687" Score="2" Body="&lt;p&gt;Let $G$ be a finite undirected graph. By a &quot;$k$-independent&quot; (resp. a &quot;$k$-clique&quot;) of $G$, I mean a disjoint union of $k$ independent sets of $G$; the maximum size of such a set is denoted by $\alpha_k(G)$ (resp. $\omega_k(G)$). Say that $G$ has the &quot;Greene-Kleitman property&quot; if the sequences $(\alpha_i(G))$ and $(\beta_i(G))$ are increasing and correspond to conjugate partitions. It is known that comparability graphs enjoy the Greene-Kleitman property (see &quot;The Structure of Sperner k-Families&quot; by C. Greene and D.J. Kleitman, J. Comb. Theory, Ser. A 20(1): 41-68, and &quot;Generalizations of the Greene-Kleitman theorem&quot; by S. Fomin, FPSAC'94 problem session).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have no idea if the Greene-Kleitman graphs give an answer to your question, although I would expect their recognition to be either polynomial or NP-intermediate. Similar to perfect graphs, it seems reasonable to investigate this question for restricted graph classes first: for example, it can be seen that the split graphs having the GK property are exactly the (net,tent)-free graphs. I'm probably missing some of the relevant literature though as I'm not a graph theorist.&lt;/p&gt;&#xA;" OwnerUserId="21806" LastActivityDate="2014-03-04T21:41:32.687" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="21362" PostTypeId="2" ParentId="21281" CreationDate="2014-03-04T21:50:43.543" Score="1" Body="&lt;p&gt;My current best solution is to use the latest version of Z3 (which fixes a bug in simplification) and &lt;code&gt;Repeat(Then(OrElse('split-clause', 'nnf'), 'propagate-ineqs', 'ctx-solver-simplify'))&lt;/code&gt;.&lt;/p&gt;&#xA;" OwnerUserId="9598" LastActivityDate="2014-03-04T21:50:43.543" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21363" PostTypeId="1" AcceptedAnswerId="21365" CreationDate="2014-03-05T01:59:50.093" Score="5" ViewCount="546" Body="&lt;p&gt;The &lt;a href=&quot;http://en.wikipedia.org/wiki/Four_color_theorem&quot; rel=&quot;nofollow noreferrer&quot;&gt;four-color theorem&lt;/a&gt; claims that, any loopless planar graph is 4-colorable. However, it is NP-Complete to determine the chromatic number of planar graphs, &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/0012365X80902368&quot; rel=&quot;nofollow noreferrer&quot;&gt;even for those 4-regular ones&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Girth_%28graph_theory%29&quot; rel=&quot;nofollow noreferrer&quot;&gt;Girth&lt;/a&gt; is the length of the smallest cycle in a graph. Planar graph with girth at least 4, i.e., triangle-free, is 3-colorable, &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0095895684710690&quot; rel=&quot;nofollow noreferrer&quot;&gt;shown in paper&lt;/a&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question:&lt;/strong&gt;&#xA;Is it NP-Complete to find a 3-coloring of a planar graph with girth at least $k$, where $k$ is a fixed integer?  Is there any result about this topic?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I find another post &quot;&lt;a href=&quot;https://cstheory.stackexchange.com/questions/489/graph-families-which-have-polynomial-time-algorithms-for-computing-the-chromatic?rq=1&quot;&gt;graph families which have polynomial algorithms for chromatic number&lt;/a&gt;&quot; might be related.&lt;/p&gt;&#xA;" OwnerUserId="6108" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2014-03-05T04:53:22.587" Title="Chromatic number of planar graph with girth at least k" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;&lt;graph-colouring&gt;&lt;planar-graphs&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="21364" PostTypeId="2" ParentId="21338" CreationDate="2014-03-05T02:58:43.207" Score="3" Body="&lt;p&gt;In addition to the other answers, it's worth noting that if randomization is allowed, palindromes can be recognized with O(1) space and O(n) time by hashing the left side of the string, hashing the transpose of the right side of the string, and checking if the hashes are equal. It shouldn't be hard to do this on a Turing machine. &lt;/p&gt;&#xA;" OwnerUserId="20830" LastActivityDate="2014-03-05T02:58:43.207" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21365" PostTypeId="2" ParentId="21363" CreationDate="2014-03-05T04:53:22.587" Score="7" Body="&lt;p&gt;This paper: &lt;a href=&quot;http://www.mimuw.edu.pl/~kowalik/papers/grotzsch-full.pdf&quot;&gt;http://www.mimuw.edu.pl/~kowalik/papers/grotzsch-full.pdf&lt;/a&gt;&#xA;gives an $O(n\log{n})$-time 3-colouring algorithm for triangle-free planar graphs, improving on Thomassen's $O(n^2)$-time constructive proof.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm not exactly sure, but does this answer your question?&lt;/p&gt;&#xA;" OwnerUserId="2414" LastActivityDate="2014-03-05T04:53:22.587" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="21367" PostTypeId="1" CreationDate="2014-03-03T06:38:56.583" Score="15" ViewCount="2195" Body="&lt;p&gt;It is well established that for every matroid &lt;span class=&quot;math-container&quot;&gt;$M$&lt;/span&gt; and any weight function &lt;span class=&quot;math-container&quot;&gt;$w$&lt;/span&gt;, there exits an algorithm &lt;span class=&quot;math-container&quot;&gt;$\mbox{GreedyBasis}(M,w)$&lt;/span&gt; which returns a maximum weight basis of &lt;span class=&quot;math-container&quot;&gt;$M$&lt;/span&gt;. So, is the reverse direction also true? That is, if there is some greedy algorithm, then there must be some matroid structure also. &lt;/p&gt;&#xA;" OwnerDisplayName="user3373748" LastEditorUserId="6579" LastEditDate="2019-10-22T07:29:30.103" LastActivityDate="2019-10-22T07:29:30.103" Title="Does every greedy algorithm have matroid structure?" Tags="&lt;ds.algorithms&gt;&lt;greedy-algorithms&gt;" AnswerCount="3" CommentCount="2" FavoriteCount="7" ContentLicense="CC BY-SA 4.0" />
  <row Id="21368" PostTypeId="2" ParentId="21367" CreationDate="2014-03-03T11:04:34.663" Score="2" Body="&lt;p&gt;Consider following problems:&#xA;COIN-CHAINING EURO:&#xA;Given infinite amount of 1,2,5,10 euro notes, pay X euro using as few notes as possible.&#xA;This can be solved by using greedy algorithm, which takes largest note possible.&#xA;But there is no matroid structure in this problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;HOLE COVERAGE:&#xA;There are holes in positions x_1, x_2, ..., x_n. You have patch of length 10 cm. Patch the holes using as few patches as possible.&#xA;Again this can be solved in greedy fashion (just put patch as right as possible), but there is no matroid structure.&lt;/p&gt;&#xA;" OwnerUserId="46544" OwnerDisplayName="usamec" LastActivityDate="2014-03-03T11:04:34.663" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="21370" PostTypeId="1" CreationDate="2014-03-05T12:29:03.900" Score="2" ViewCount="101" Body="&lt;p&gt;In the paper &lt;a href=&quot;https://smartech.gatech.edu/bitstream/handle/1853/6781/GIT-CC-93-55.pdf?sequence=1&quot; rel=&quot;nofollow noreferrer&quot;&gt;&quot;Causal Memory: Definitions, Implementations, and Programming (Distributed Computing [DC] 1995)&quot;&lt;/a&gt;, the authors present a formal definition of causal memory, an abstraction of distributed shared memory that ensures that processes in a system agree on the relative ordering of operations that are &lt;em&gt;causally related&lt;/em&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;More interestingly, it is shown that data-race free (DRF, for short) programs, if written to run correctly on sequentially consistent memory, also run correctly in a system with causal memory. That is,&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;DRF theorem:&lt;/strong&gt; If program $\Pi$ is data-race free, then all histories of $\Pi$ when run on causal memory are sequentially consistent.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;For completeness, the definition of data-race free is given as follows. For more details and discussions, you can refer to &lt;a href=&quot;https://cs.stackexchange.com/q/22158/4911&quot;&gt;“Data-race free” programs at cs.se&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;DRF:&lt;/strong&gt; Program $\Pi$ is data-race free if, for all histories $H$ of $\Pi$ and all causality orders $\leadsto$ of $H$, if $H$ has a serialization that respects $\leadsto$ (note that this implies that $H$ is sequentially consistent), then $H$ is data-race free with respect to $\leadsto$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;This theorem is important and beneficial to programmers because data-race free programs can be written &lt;em&gt;assuming&lt;/em&gt; a sequentially consistent memory even for a system that provides causal memory.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Despite such &quot;equivalence&quot; DRF theorem, I am still curious about the detailed behaviors of data-race free programs when run on causal memory and on sequentially consistent memory. Formally,&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;My problem:&lt;/strong&gt; Let $\Pi$ be a data-race free program. When run on causal memory, $\Pi$ results in a set (denoted $E_{c}$) of (possibly infinite many) executions. When run on sequentially consistent memory, it results in a set (denoted $E_{s}$) of (possibly infinite many) executions. Though, according to DRF theorem, every execution in $E_{c}$ is sequentially consistent, are the two sets of executions &lt;em&gt;equal&lt;/em&gt;, i.e., $E_c = E_s$?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;This problem is essentially inspired by the paper &lt;a href=&quot;http://arxiv.org/pdf/1103.4690v2.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;&quot;Linearizable Implementations Do Not Suﬃce for Randomized Distributed Computation&quot; (arXiv for STOC'2011)&lt;/a&gt;, which shows that linearizability does not suffice for randomized algorithms. Specifically, using well-known linearizable &lt;em&gt;implementations&lt;/em&gt; of objects in place of atomic objects can change the probability distribution of the executions (and thus the outcomes).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I want to investigate whether such phenomenon happens in the context of data-race free programs on different memory models. Here the data-race free programs may be deterministic or randomized which permit local coin-flips.&lt;/p&gt;&#xA;" OwnerUserId="12739" LastEditorUserId="-1" LastEditDate="2017-04-13T12:48:30.830" LastActivityDate="2014-03-05T12:29:03.900" Title="Are the sets of executions of data-race free programs equal, when run on causal memory and on sequentially consistent memory respectively?" Tags="&lt;pl.programming-languages&gt;&lt;dc.parallel-comp&gt;&lt;dc.distributed-comp&gt;&lt;concurrency&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21371" PostTypeId="2" ParentId="21344" CreationDate="2014-03-05T15:20:06.017" Score="2" Body="&lt;p&gt;&lt;strong&gt;First question:&lt;/strong&gt; A set $M$ is decidable if there is a Turing Machine which halts on all inputs and accepts all inputs $x$ with $x \in M$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We try to encode $\bigwedge_{\phi \in X} \phi$ for arbitrary sets of $\mathsf{FO}[\tau]$-formulars $X$. Since, $\mathcal{P}(X)$ is uncountable there can be no code with finite alphabet. Hence, there can be no Turing Machine recognizing $\mathcal{L}_{\infty\omega}[\tau]$ for each $\tau$ (even for empty $\tau$). Hence, the syntax is undecidable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Second question:&lt;/strong&gt; Given a code which translates a Deterministic Turing Machine (DTM) $T$ into a $\tau$-Structure $\mathcal{T}$. We can write a $\mathsf{FO}$-formular $\varphi_k$ with&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$ \mathcal{T} \models \varphi_k \Leftrightarrow \textrm{ The DTM $T$ holds after $k$ steps on $\varepsilon$.}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we reassign variables (forgot the previous states of the Turing Machine) we can modell this $\varphi_k$ with constant, finite number $m$ of variables which does not depend on $k$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hence,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$ T \in H_\varepsilon \Leftrightarrow \mathcal{T} \models \bigvee_{k \in \omega} \varphi_k \in \mathcal{L}_{\infty \omega}^m.$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Where $H_\varepsilon$ is the special Halting Problem. Consequently, the Model Checking Problem for $\mathcal{L}_{\infty \omega}^m$ is undecidable for sufficiently large $m$.&lt;/p&gt;&#xA;" OwnerUserId="7594" LastActivityDate="2014-03-05T15:20:06.017" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="21372" PostTypeId="1" CreationDate="2014-03-05T15:28:15.490" Score="5" ViewCount="127" Body="&lt;p&gt;Suppose we have a source $X$ with min-entropy $\ell$. A &lt;em&gt;randomness extractor&lt;/em&gt; is defined as a function $f$ which satisfies the total variation $||f(X, R)-U_M||_{TV}\leq \epsilon$ where $R$ is an external randomness and $U_M$ is a uniform random variable over a set of $M$ points. &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What is the largest value of $M$ for which such an  extractor&#xA;  $f$ for source $X$ exists ?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Is there any connection between randomness extractor and the following problem: &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Given two dependent random variables $X$ and $Y$, how many bits we can&#xA;  extract from $Y$ that are  almost independent from $X$ (where the&#xA;  independence is measured via total variational distance) ?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Thanks&lt;/p&gt;&#xA;" OwnerUserId="21925" LastEditorUserId="80" LastEditDate="2014-03-05T17:47:00.333" LastActivityDate="2014-03-05T17:47:00.333" Title="Largest size for randomness extractor" Tags="&lt;randomness&gt;&lt;it.information-theory&gt;&lt;pseudorandomness&gt;" AnswerCount="0" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="21373" PostTypeId="2" ParentId="21367" CreationDate="2014-03-05T15:44:24.560" Score="11" Body="&lt;p&gt;Greedy algorithm is not a formally defined concept. There are various models trying to capture this intuitive notion but there is no consensus on what is a greedy algorithm. Unless you specify a formal definition of what you mean by a greedy algorithm the question cannot be answered as yes or no.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is a generalization of &lt;a href=&quot;http://en.wikipedia.org/wiki/Matroid&quot;&gt;matroids&lt;/a&gt; called &lt;a href=&quot;http://en.wikipedia.org/wiki/Greedoid&quot;&gt;greedoid&lt;/a&gt; which is inspired by greedy algorithms what you may want to look at.&lt;/p&gt;&#xA;" OwnerUserId="186" LastActivityDate="2014-03-05T15:44:24.560" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21374" PostTypeId="1" CreationDate="2014-03-05T15:53:58.227" Score="9" ViewCount="966" Body="&lt;p&gt;I have a naive question: does there exist a Turing machine whose termination is true but unprovable by any natural, consistent and finitely axiomatizable theory? I ask for a mere existence proof rather than a specific example. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This might have some connection with &lt;a href=&quot;http://en.wikipedia.org/wiki/Proof-theoretic_ordinal&quot; rel=&quot;nofollow&quot;&gt;ordinal analysis&lt;/a&gt;. Indeed, for a Turing machine $M$, we can define $O(M)$ as the least ordinal of a consistent theory proving its termination (or the infimum of these ordinals). So I guess it would be equivalent to ask whether there exists $M$ such that $O(M) \geq \omega_1^{CK}$?&lt;/p&gt;&#xA;" OwnerUserId="21798" LastEditorUserId="21798" LastEditDate="2014-03-06T23:49:25.610" LastActivityDate="2014-03-06T23:49:25.610" Title="Turing machines whose termination is unprovable?" Tags="&lt;turing-machines&gt;&lt;proof-theory&gt;&lt;halting-problem&gt;" AnswerCount="2" CommentCount="6" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21375" PostTypeId="1" CreationDate="2014-03-05T16:25:58.540" Score="0" ViewCount="225" Body="&lt;p&gt;Is there a general web repository of reductions between and among various NP problems?  In particular, I'm looking for a direct Turing reduction from integer factorization (candidate for NP-Intermediate, not known to be NP-Complete) to clique (NP-Complete).    &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Apologies if this is below the difficulty threshold for cstheory;  I'm a graduate mechanical engineering student by training, so my google whispering skills and resources are somewhat limited (though I am ordering a copy of Arora and Barak!).  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks!&lt;/p&gt;&#xA;" OwnerUserId="21926" LastEditorUserId="21926" LastEditDate="2014-03-05T17:09:33.467" LastActivityDate="2014-03-05T17:09:33.467" Title="Turing reduction from integer factorization to clique" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;" AnswerCount="0" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="21376" PostTypeId="1" AcceptedAnswerId="29112" CreationDate="2014-03-05T16:35:31.610" Score="2" ViewCount="307" Body="&lt;p&gt;We are given a universe $\mathcal{U}=\{e_1,..,e_n\}$ and a set of subsets $\mathcal{S}=\{s_1,s_2,...,s_m\}\subseteq 2^\mathcal{U}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm interested in the approximability of two problems, or in general, what is known about them.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Given a number $k'\in[m]$, is there a set $\mathcal{S'} \subseteq \mathcal{S}$,  $|\mathcal{S'}|=k'$ such that all of the sets in $\mathcal{S'}$ are disjoint.&lt;/li&gt;&#xA;&lt;li&gt;Given a number $k''\in[n]$, is there a set $\mathcal{S''} \subseteq \mathcal{S}$ such that $|\cup_{s\in\mathcal{S''}}s|\geq k''$ (i.e. it covers at least $k$ elements) and the sets in $\mathcal{S''}$ are disjoint.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The problems are NP-complete:&#xA;The first has a straight forward reduction from 3-dimensional matching, and the second answers exact cover directly.&lt;/li&gt;&#xA;&lt;li&gt;&#xA;The first problem seems $APX-hard$ if we use the hardness results from &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.6.7104&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;nofollow&quot;&gt;k-dimensional matching&lt;/a&gt;. &lt;/li&gt;&#xA;&lt;li&gt;Both problems can be viewed as a special case of Independent Set over the graph whose vertices are $\mathcal{S}$ and there's an edge $(s_i,s_j)$ iff $s_i\cap s_j$ isn't empty ( (2) has vertices weights $w(s_i)=|s_i|$), but I don't see any easy reduction from $IS$ to either that doesn't require exponential size blowup.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;What can we say about the approximability of the two problems? maximal&lt;/strong&gt; &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.6.7104&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;nofollow&quot;&gt;k-dimensional matching&lt;/a&gt; &lt;strong&gt;is known to be approximable within a factor of $\frac{k}{2}$, does it have an analogue for the first problem?&lt;/strong&gt; &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Both of these problems seems natural, so I'm tagging this question as a reference request, assuming they have been looked at under different name, rings a bell to anyone?&lt;/p&gt;&#xA;" OwnerUserId="21001" LastEditorUserId="21001" LastEditDate="2014-03-05T21:32:06.383" LastActivityDate="2015-01-12T16:02:41.147" Title="Covering by disjoint sets" Tags="&lt;reference-request&gt;&lt;approximation-algorithms&gt;&lt;set-cover&gt;&lt;exact-cover&gt;&lt;covering-problems&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21377" PostTypeId="2" ParentId="79" CreationDate="2014-03-05T17:04:01.450" Score="5" Body="&lt;p&gt;The following problem is believed to be NP-Intermediate, i.e. it is in NP but neither in P nor NP-complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Exponentiating Polynomial Root Problem (EPRP)&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $p(x)$ be a polynomial with $\deg(p) \geq 0$ with coefficients drawn from a finite field $GF(q)$ with $q$ a prime number, and $r$ a primitive root for that field. Determine the solutions of:&#xA;$$p(x) = r^x $$&#xA;(or equivalently, the zeros of $p(x) - r^x$) where $r^x$ means exponentiating $r$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that, when $\deg(p)=0$ (the polynomial is a constant), this problem reverts to the Discrete Logarithm Problem, which is believed to be NP-Intermediate as well.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For additional details see &lt;a href=&quot;https://cstheory.stackexchange.com/questions/20609/complexity-class-of-this-problem&quot;&gt;my question and related discussion&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="4208" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2014-03-05T17:04:01.450" CommentCount="0" CommunityOwnedDate="2014-03-05T17:04:01.450" ContentLicense="CC BY-SA 3.0" />
  <row Id="21378" PostTypeId="2" ParentId="21374" CreationDate="2014-03-05T17:17:12.530" Score="3" Body="&lt;p&gt;I'm not a logic expert, but I believe the answer is &lt;strong&gt;no&lt;/strong&gt;.  If the Turing machine halts, and the system is strong enough, you ought to be able to write out the full computation history of the Turing machine on its input.  When one verifies that the result of the computation is a terminating sequence of transitions, one can see that the machine halts.  Regardless of how you formalize Turing machines in your theory, you ought to be able to show in any reasonable theory that a machine that halts does in fact halt.  By way of analogy, think of trying to prove that a finite sum is equal to what it is equal to; e.g., prove that 5+2+3+19+7+6=42, or 5+5+5=15.  Just as this is always possible as long as the number of steps is finite, so too is proving the result of a finite computation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Just as an additional obvious point--even if your theory is inconsistent, you can still show that the machine halts, actually even if it doesn't, since you can prove any wff in an inconsistent theory, regardless of whether or not it is actually true.&lt;/p&gt;&#xA;" OwnerUserId="1338" LastActivityDate="2014-03-05T17:17:12.530" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="21379" PostTypeId="2" ParentId="861" CreationDate="2014-03-05T17:23:48.940" Score="0" Body="&lt;p&gt;There was some article by Aaronson in which it is shown that when $p \not\in \{1,2\}$ there aren't really any norm-preserving matrices.  But you can instead consider matrices which do not increase the $\ell_p$ norm.  Naturally you would want Born's rule to give probabilities $\left| \psi_i \right|^p$.  The problem is that if the norm of the state vector decreases, the probabilities don't add up to one anymore.  Aaronson considered the case where you would renormalize the vector after each step (see the links in @Tsuyoshi's answer above).  I believe the conclusion was that these machines would have great power.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Alternatively, instead of renormalizing the state vector, you could just accept that the probabilities don't add up to 1, and interpret the &quot;left over&quot; probability as corresponding to a &quot;fail&quot; outcome.  In this case, you can modify the arguments in &lt;a href=&quot;http://arxiv.org/abs/quant-ph/0311189&quot; rel=&quot;nofollow&quot;&gt;Laplante, Magniez&lt;/a&gt; in order to get an adversary bound for $\ell_p$.  Basically, you can interpolate between the $\ell_1$ and $\ell_2$ cases which are given in their Theorem 1.  It turns out that the complexity of unstructured search (think Grover algorithm) is $\Omega(N^{1/p})$.  I never was able to find a matching upper bound here, though.  To answer your question on $\ell_\infty$, I was able (IIRC) to show that the computational power of $\ell_p$ circuits for decision problems was equivalent to that of $\ell_q$ where $1/p+1/q=1$ (basically by taking the transpose of all the operators).  I conjecture that these $\ell_p$ circuits had strictly increasing power as $p$ increases from 1 (classical) to 2 (quantum).&lt;/p&gt;&#xA;" OwnerUserId="7092" LastActivityDate="2014-03-05T17:23:48.940" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21381" PostTypeId="2" ParentId="21376" CreationDate="2014-03-05T17:44:29.647" Score="1" Body="&lt;p&gt;Problem 1 is known as &lt;a href=&quot;http://en.wikipedia.org/wiki/Set_packing&quot; rel=&quot;nofollow&quot;&gt;SET PACKING&lt;/a&gt;. Like other packing problems, it's annoyingly hard. The best known bound is a $O(\sqrt{|S|})$ approximation and it is indeed APX-hard. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2014-03-05T17:44:29.647" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21383" PostTypeId="2" ParentId="21374" CreationDate="2014-03-05T18:00:07.617" Score="9" Body="&lt;p&gt;Termination of a Turing machine (on a fixed input) is a $\Sigma^0_1$ sentence and all usual first-order arithmetic theories are complete for $\Sigma^0_1$ sentences, i.e. all true $\Sigma^0_1$ statements are provable in these theories.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you look at &lt;em&gt;totality&lt;/em&gt; in place of &lt;em&gt;halting&lt;/em&gt;, i.e. a TM halts on all inputs, then that is a $\Pi^0_2$-complete sentence and for any computably axiomatizable consistent theory which is strong enough (e.g. extends say Robinson's $Q$ theory) there is a TM whose totality cannot be proven in that theory.&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2014-03-05T18:06:46.877" LastActivityDate="2014-03-05T18:06:46.877" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="21384" PostTypeId="2" ParentId="20814" CreationDate="2014-03-05T20:43:38.317" Score="0" Body="&lt;p&gt;We found one kind of such property:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For a formula $F$ , if $F$ has a linear ordering of the variables and clauses such that for any variable $x$ occurring in clause $C$, if $x$ appears before $C$ then any variable between them also occurs in $C$, and if $C$ appears before $x$ then $x$ occurs also in any clause between them.&#xA;Then we can solve MAX-SAT in polynomial time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;see:&lt;a href=&quot;http://arxiv.org/abs/1402.6485&quot; rel=&quot;nofollow&quot;&gt;http://arxiv.org/abs/1402.6485&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there any other such properties known?&lt;/p&gt;&#xA;" OwnerUserId="8936" LastActivityDate="2014-03-05T20:43:38.317" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21385" PostTypeId="1" CreationDate="2014-03-05T21:30:36.197" Score="2" ViewCount="252" Body="&lt;p&gt;I am trying to translate code from one programming language into another (to be specific - from RuleML to Drools, but other pairs can be expected as well) and it would be nice to know - whether there exists more general workbenches for this. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;E.g. one can formally specify programming language, that is clear. But are there any tools that can be used for capturing the formal semantics for formally specified language. It is obvious that the operational semantics is the most suitable for industrial programming languages. And - if semantics is specified then the translation from one programming language into other can be done at the meta-level. I guess, that this maybe too hard for C-to-Java translation, but it should work for more modest, recent languages that are created by academia.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have heard about Maude, but I guess that there can be something more. My experience is that Google can not replace bibliographies or suggestions from community. Thanks.&lt;/p&gt;&#xA;" OwnerUserId="9317" LastActivityDate="2014-03-06T15:11:38.987" Title="Tool for specifying operational semantics for given formally specified programming language" Tags="&lt;fl.formal-languages&gt;&lt;pl.programming-languages&gt;&lt;semantics&gt;&lt;operational-semantics&gt;" AnswerCount="2" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21386" PostTypeId="1" CreationDate="2014-03-05T21:50:35.340" Score="13" ViewCount="4040" Body="&lt;p&gt;Let $f: \{0,1\}^n \to \{0,1\}$ be the majority function, i.e. $f(x) = 1$ if and only if $\sum_{i = 1}^n x_i &amp;gt; n/2$. I was wondering if there was a simple proof of the following fact (by &quot;simple&quot; I mean not relying on the probabilistic method like Valiant 84 did or on sorting networks; preferably providing an explicit, straightforward construction of the circuit): &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$f$ can be computed by a family of circuits of $O(\log(n))$ depth, poly(n) size, where the gates consists of NOT gates, 2-input OR gates, and 2-input AND gates.&lt;/p&gt;&#xA;" OwnerUserId="21148" LastEditorUserId="186" LastEditDate="2014-03-06T03:46:16.993" LastActivityDate="2014-12-08T10:29:52.643" Title="Circuit complexity of Majority function" Tags="&lt;cc.complexity-theory&gt;&lt;circuit-complexity&gt;&lt;boolean-functions&gt;&lt;circuit-families&gt;&lt;circuit-depth&gt;" AnswerCount="3" CommentCount="2" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="21387" PostTypeId="1" AcceptedAnswerId="21390" CreationDate="2014-03-05T23:18:04.780" Score="7" ViewCount="2511" Body="&lt;p&gt;What's the relation between OOP and category theory?  Is there some related work on this topic one can read?&lt;/p&gt;&#xA;" OwnerUserId="21930" LastEditorUserId="186" LastEditDate="2014-03-06T00:05:08.190" LastActivityDate="2020-10-12T18:58:27.503" Title="What's the relation between OOP and category theory?" Tags="&lt;pl.programming-languages&gt;&lt;ct.category-theory&gt;&lt;survey&gt;&lt;object-oriented&gt;" AnswerCount="3" CommentCount="1" FavoriteCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="21388" PostTypeId="2" ParentId="21386" CreationDate="2014-03-06T00:04:21.077" Score="9" Body="&lt;p&gt;Computing restricted threshold gate ($\sum_i x_i \geq k$) is essentially sorting input bits.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you can sort the bits then it is easy to compare the result to $k$ and &#xA;compute restricted threshold.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, assume that we have an circuits to compute restricted threshold. &#xA;We can do a parallel search to find the number of ones in the input and &#xA;output the sorted list.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;These preserve circuit depth. So if you come up with a new $\mathsf{NC^1}$ circuit to compute the restricted threshold then it will give a depth $O(\lg n)$ sorting circuit.&#xA;So if we come up with a simple argument for showing majority is in $\mathsf{NC^1}$ &#xA;you have found a simple depth-$O(\lg n)$ sorting circuit &#xA;(other than the one based on AKS sorting network).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that it is easy to implement the restricted threshold using majority by adding new 1 and 0 inputs to the majority gate.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Previously this answer claimed that it can be done using divide and conquer and the fact that binary addition is in $\mathsf{AC^0}$. That only shows that majority is in $\mathsf{AC^1}$ and $\mathsf{NC^2}$ since we have unbounded fan-in gates in the binary addition if we do it directly. However it can be done with a bit more work.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We have to use the trick called &lt;em&gt;three-for-two&lt;/em&gt; to remain in depth $O(\lg n)$. &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;three-for-two binary addition:&lt;/strong&gt;&lt;br&gt;&#xA;  given three binary numbers $a,b,c$ we can compute two binary numbers $x,y$ such that&#xA;  $a+b+c = x+y$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Another method is to use signed digit representation of integers where addition can be done in depth $O(1)$ and fan-in 2. (The idea is to use the flexibility that a number can be represented in more than one way to make sure that carries do not propagate).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See section 4 and exercise 4 in&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;David Mix Barrington and Alexis Maciel, &quot;&lt;a href=&quot;http://www.cse.buffalo.edu/~regan/cse682/lectureA06.pdf&quot;&gt;Advanced Course on Computational Complexity&lt;/a&gt;&quot;, lecture 6, IAS/PCMI, 2000.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="186" LastEditorUserId="4896" LastEditDate="2014-03-06T15:01:04.727" LastActivityDate="2014-03-06T15:01:04.727" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21389" PostTypeId="2" ParentId="21385" CreationDate="2014-03-06T00:10:07.870" Score="1" Body="&lt;p&gt;I have not been following closely this area for many years, but I know&#xA;systems have existed for a very long time to capture semantics or help&#xA;translation.  The first system for creating interpreters based on&#xA;denotational semantics was SIS created by Peter Mosses around&#xA;1980. Around the same time, programmable &lt;a href=&quot;https://en.wikipedia.org/wiki/Structure_editor&quot; rel=&quot;nofollow&quot;&gt;structured editors&lt;/a&gt; and some multilanguage programming environments started being&#xA;used for program transformation and even program translation between&#xA;high-level languages, based on abstract syntax manipulation, since the mid-late seventies. Centaur&#xA;(Kahn et alii) was such a system circa 1990. However, though some such systems did use formal semantics for various purposes, the translations I&#xA;know of were programmed more or less by hand. There have been&#xA;compilers based on formal semantics, but I think it is already pretty&#xA;hard just to prove them correct. &lt;a href=&quot;http://compcert.inria.fr/doc/&quot; rel=&quot;nofollow&quot;&gt;Coq has been used for that&lt;/a&gt; and it is still on-going work.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Even if you manage to capture the semantics of both your languages,&#xA;trying to infer from that a translator from one to the other is likely&#xA;to be beyond current technology. For one thing, programming languages&#xA;do not use exactly the same high level concepts, and that is what&#xA;makes translation very difficult. Compiling, which is a form of translation to a target language produces code in a very low level language, not very readable, as the structure of the program is no longer explicited.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is true that some systems based on &lt;a href=&quot;https://en.wikipedia.org/wiki/Curry%E2%80%93Howard_correspondence&quot; rel=&quot;nofollow&quot;&gt;Curry-Howard isomorphism&lt;/a&gt; and &lt;a href=&quot;https://en.wikipedia.org/wiki/Intuitionistic_type_theory&quot; rel=&quot;nofollow&quot;&gt;type theory&lt;/a&gt;, such as &lt;a href=&quot;https://en.wikipedia.org/wiki/Coq&quot; rel=&quot;nofollow&quot;&gt;Coq&lt;/a&gt;, can assist the production of programs by extracting them from a proof of their specification. But these are carefully tailored systems, with an adequate specification formalism. I doubt that a program written in another programming language could serve as such a specification within the current state of the art.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I fear that the best you can hope for is the equivalent of a compiler to machine code: the&#xA;source language will be translated in some kind of machine code&#xA;expressed with an elementary and naive use of the target language. I doubt this is what you have in&#xA;mind.&lt;/p&gt;&#xA;" OwnerUserId="16132" LastEditorUserId="16132" LastEditDate="2014-03-06T07:59:39.543" LastActivityDate="2014-03-06T07:59:39.543" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21390" PostTypeId="2" ParentId="21387" CreationDate="2014-03-06T00:15:26.847" Score="6" Body="&lt;p&gt;Update (2020)&lt;/p&gt;&#xA;&lt;p&gt;Have a look at this year's CPPCon talk -  &lt;a href=&quot;https://www.youtube.com/watch?v=giWCdQ7fnQU&quot; rel=&quot;nofollow noreferrer&quot;&gt;Monoids, Monads, and Applicative Functors: Repeated Software Patterns&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Also look for mentions of the Fin category in &lt;a href=&quot;http://www.math.jhu.edu/%7Eeriehl/context.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Category Theory in Context&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Objects can implement category theoretic data types and access patterns.&lt;/p&gt;&#xA;&lt;hr /&gt;&#xA;&lt;p&gt;For a better understanding I would recommend &lt;a href=&quot;http://www.elementsofprogramming.com/book.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;Stepanov's book&lt;/a&gt; , &lt;a href=&quot;http://reperiendi.wordpress.com/2007/11/03/category-theory-for-the-java-programmer/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Mike Stay's article&lt;/a&gt;, and his more recent blog on &lt;a href=&quot;http://jscategory.wordpress.com/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Category Theory in Javascript&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Use composition not inheritance.&lt;/p&gt;&#xA;&lt;p&gt;Use sum types like enums to shrink the state space of your variables.&lt;/p&gt;&#xA;&lt;p&gt;Use product types (tuples) like std::pair in C++.&lt;/p&gt;&#xA;&lt;p&gt;If you have a function like  A someFunc(A a, B b, C c); the state space from the type signature is |A|^(|A|&lt;em&gt;|B|&lt;/em&gt;|C|). Beware of functions that take many arguments as the state space of your function is astronomical.&lt;/p&gt;&#xA;" OwnerUserId="2021" LastEditorUserId="2021" LastEditDate="2020-10-12T18:58:27.503" LastActivityDate="2020-10-12T18:58:27.503" CommentCount="1" ContentLicense="CC BY-SA 4.0" />
  <row Id="21392" PostTypeId="1" CreationDate="2014-03-06T00:31:28.240" Score="7" ViewCount="184" Body="&lt;p&gt;While thinking about natural language processing, I came up with the following NP problem:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;OCCAM-k:&lt;/strong&gt;  &lt;em&gt;Given a fixed natural number $k$, consider the following input:  a natural number of states $S$ in unary in a Turing machine $M$, a finite collection $A$ of strings that $M$ accepts, and a finite collection $R$ of strings that $M$ rejects.  Assuming that $M$ is polylimited by the polynomial $n^k+k$, that it contains at most $S$ states, that it accepts every string in $A$, and that it rejects every string in $R$, find a valid deterministic Turing machine that satisfies these conditions for $M$.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem is NP because after guessing a Turing machine $M$ of size $S = |S|$ ($S$ is unary), all that remains is to verify that the machine accepts every string in $A$ and rejects every string in $R$.  Since $M$'s running time is bounded above by $n^k+k$, this can be accomplished in polynomial time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am skeptical that this problem is NP-complete, as I cannot think of an NP-complete problem that sounds likely to reduce to it in polynomial time.  I would be excited if someone could prove that it is a member of P, as this would help with my motivation, which is to build a simple natural language processing system.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(My reason for calling the language OCCAM is that I believe that one could theoretically try to find a &quot;natural language processing algorithm&quot; that determines the binary truth value of sentences.  Suppose I provided 1 million true natural-language sentences and 1 million false natural-language sentences as part of the input; I could try to find a small enough polytime algorithm that &quot;gets all of these sentences right&quot; and hope that the algorithm would work on all natural language sentences in that language (e.g., English)).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is:  To which complexity class should we say OCCAM-k belongs?  NP-complete?  NPI?  P?  Is there an algorithm that could solve it?&lt;/p&gt;&#xA;" OwnerUserId="1338" LastEditorUserId="3247" LastEditDate="2014-03-06T09:34:30.903" LastActivityDate="2014-03-06T09:34:30.903" Title="Is the following &quot;Occam's razor&quot; decision problem a member of P?" Tags="&lt;ds.algorithms&gt;&lt;complexity-classes&gt;" AnswerCount="0" CommentCount="5" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="21393" PostTypeId="1" AcceptedAnswerId="21407" CreationDate="2014-03-06T01:12:56.493" Score="4" ViewCount="404" Body="&lt;p&gt;A lot of effort has been invested in finding simple k-paths, as well as in finding vertex disjoint paths.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there any known parametrized algorithm that given a graph $G=(V,E)$, decides whether there exist $p$ vertex disjoint simple paths of length $k$ in the graph?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finding a single simple k-path is &lt;a href=&quot;http://www.tau.ac.il/~nogaa/PDFS/col5.pdf&quot; rel=&quot;nofollow&quot;&gt;known to be&lt;/a&gt; single exponent $FPT$ for a long time, what about this variant (with respect to both $p,k$ as parameters)?&lt;/p&gt;&#xA;" OwnerUserId="21001" LastActivityDate="2014-06-05T00:22:37.207" Title="Vertex disjoint simple paths of length k" Tags="&lt;ds.algorithms&gt;&lt;parameterized-complexity&gt;&lt;fixed-parameter-tractable&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21394" PostTypeId="1" CreationDate="2014-03-06T01:34:32.250" Score="15" ViewCount="429" Body="&lt;p&gt;There are plenty of situations where a randomized &quot;proof&quot; is much easier than a deterministic proof, the canonical example being polynomial identity testing.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question&lt;/strong&gt;: Are there any natural mathematical &quot;theorems&quot; where a randomized proof is known but a deterministic proof is not?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By a &quot;randomized proof&quot; of a statement $P$ I mean that&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;There is a randomized algorithm that takes an input $n &amp;gt; 0$ and if $P$ is false produces a deterministic proof of $\neg P$ with probability at least $1-2^{-n}$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Someone has run the algorithm for, say, $n = 100$, and not disproved the theorem.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;It's easy to generate non-natural statements that fit: just pick a large instance of any problem where only an efficient randomized algorithm is known.  However, although there a lot of mathematical theorems with &quot;lots of numerical evidence&quot;, such as the Riemann hypothesis, I don't know of any with rigorous randomized evidence of the above form.&lt;/p&gt;&#xA;" OwnerUserId="13245" LastEditorUserId="13245" LastEditDate="2014-03-06T01:58:12.047" LastActivityDate="2014-03-06T21:07:09.653" Title="Natural theorems proven only &quot;to high probability&quot;?" Tags="&lt;lo.logic&gt;&lt;randomness&gt;&lt;randomized-algorithms&gt;&lt;proofs&gt;" AnswerCount="1" CommentCount="8" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="21397" PostTypeId="1" CreationDate="2014-03-06T09:50:08.980" Score="2" ViewCount="229" Body="&lt;p&gt;I've given an optimization problem for which I want to show that it is solvable in polynomial time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, I have two questions:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Can this be done by formulating a mixed-integer linear program such that the coefficient matrix A has only values of -1, 0 or +1 and show that A is total unimodular? Because solving the relaxation of this problem with appropriate LP-techniques delivers an optimal solution in polynomial time.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;What alternatives do I have to show that an optimization problem is solvable in polynomial time? I'm searching for an elegant proof for writing down this result.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;EDIT: I reformulated my questions and hope my request becomes clearer.&lt;/p&gt;&#xA;" OwnerUserId="21430" LastEditorUserId="21430" LastEditDate="2014-03-07T09:32:26.890" LastActivityDate="2014-03-07T09:32:26.890" Title="Proof-techniques for the hardness of optimization problems (esp. Polynomial time)" Tags="&lt;cc.complexity-theory&gt;&lt;optimization&gt;&lt;linear-programming&gt;&lt;proofs&gt;&lt;polynomial-time&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="21399" PostTypeId="2" ParentId="21386" CreationDate="2014-03-06T11:53:25.007" Score="9" Body="&lt;p&gt;Kaveh's answer provides an answer do the question as you have stated it (and this is the usual proof for showing that $\mathsf{TC}^0$ is contained in $\mathsf{NC}^1$). But I was thinking that you might actually have intended to ask a slightly a different question. Namely for an explicit polynomial size &lt;em&gt;monotone&lt;/em&gt; formula for majority.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since majority is monotone we know it can be computed by a monotone formula. There are two known constructions polynomial size monotone formulas, namely the two you mention, Valiant's probabilistic construction and the construction via sorting networks. As far as I know we have no simpler deterministic construction than that provided by sorting networks.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Related to this is also the following. It turns out that majority can be computed by formulas that consists of &lt;em&gt;only&lt;/em&gt; $\mathsf{MAJ}_3$ gates (and no constants!). Valiant's probabilistic construction can be adapted to give such formulas of $O(\log(n))$ depth. However here we known of no deterministic construction. In particular the sorting networks are not suitable for this (technical reason: they would provide all the threshold functions and only the majority function can be computed at all by $\mathsf{MAJ}_3$ gates). There is however recent progress on this question given in the paper &lt;a href=&quot;http://dx.doi.org/10.1007/978-3-642-40084-1_11&quot;&gt; Efficient Multiparty Protocols via Log-Depth Threshold Formulae&lt;/a&gt; by Cohen et al. Here such formulas are construction based on standard complexity-theoretic or cryptographic assumptions.&lt;/p&gt;&#xA;" OwnerUserId="313" LastActivityDate="2014-03-06T11:53:25.007" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21400" PostTypeId="1" AcceptedAnswerId="21401" CreationDate="2014-03-06T14:34:14.573" Score="17" ViewCount="675" Body="&lt;p&gt;Blum's $3n-o(n)$ lower bound is the best known circuit lower bound over the complete basis for an explicit function $f : \{0,1\}^n \to \{0,1\}$, cf. Jukna's answer to &lt;a href=&quot;https://cstheory.stackexchange.com/questions/7388/is-there-a-better-than-linear-lower-bound-for-factoring-and-discrete-log&quot;&gt;this question&lt;/a&gt; for related results.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What are the best known lower bounds if the range of $f$ is $\{0,1\}^m$?  In particular, do we get anything better for $m = n$, or for $m = 2$?&lt;/p&gt;&#xA;" OwnerUserId="259" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2015-10-21T01:28:00.123" Title="Better lower bounds than 3n for non-boolean functions?" Tags="&lt;circuit-complexity&gt;&lt;lower-bounds&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="21401" PostTypeId="2" ParentId="21400" CreationDate="2014-03-06T14:58:30.137" Score="18" Body="&lt;p&gt;According to the paper &lt;a href=&quot;http://dx.doi.org/10.1007/978-3-642-30870-3_44&quot;&gt;A $5n − o(n)$ Lower Bound on the Circuit Size over $U_2$ of a Linear Boolean Function&lt;/a&gt; by  Kulikov, Melanich, and Mihajlin, when $m=o(n)$ there are no lower bounds known better than $3n - o(n)$. It also outlines a method for obtaining functions for which a $4n - o(n)$ lower bound holds, when $m=n$, based on a result of Lamagne and Savage.&lt;/p&gt;&#xA;" OwnerUserId="313" LastEditorUserId="313" LastEditDate="2014-03-06T16:28:55.143" LastActivityDate="2014-03-06T16:28:55.143" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21403" PostTypeId="2" ParentId="21385" CreationDate="2014-03-06T15:11:38.987" Score="3" Body="&lt;p&gt;We have been working on one for the last few years: &lt;a href=&quot;http://www.cl.cam.ac.uk/~pes20/lem/&quot; rel=&quot;nofollow&quot;&gt;Lem&lt;/a&gt;, a higher-order, typed language with backends for OCaml, Coq, Isabelle/HOL, HOL4, LaTeX and HTML.  Lem has been used internally in the group to formalise various machine models (PowerPC, ARM, and so on), memory models (the C memory model, etc.), programming language semantics (OCaml Light), and so on.&lt;/p&gt;&#xA;" OwnerUserId="375" LastActivityDate="2014-03-06T15:11:38.987" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="21404" PostTypeId="2" ParentId="21397" CreationDate="2014-03-06T15:14:44.497" Score="3" Body="&lt;p&gt;Regarding question 2, there are at least two other classes of matrices that give integral polehydra: the &lt;em&gt;balanced&lt;/em&gt; and &lt;em&gt;totally balanced&lt;/em&gt; matrices. When available, these properties are simpler to establish than total unimodularity.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm not sure about question 1: your first paragraph seems to contain the answer, but after closer inspection I realize that total unimodularity yields integral polyhedras for &lt;em&gt;arbitrary&lt;/em&gt; budget vectors. As Linear Programming is not known to be strongly polynomial, I suspect that you won't get polynomial time with an arbitrary integral budget that is binary-encoded (but it works say for a 0,1-budget vector).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can find some relevant &lt;a href=&quot;http://www.mpi-inf.mpg.de/departments/d1/teaching/ws09_10/Opt2/handouts/lecture9.pdf&quot; rel=&quot;nofollow&quot;&gt;lecture notes&lt;/a&gt; online; some textbooks might be useful too (such as &quot;Combinatorial Optimization&quot; or &quot;Hypergraph Theory: An Introduction&quot;). &lt;/p&gt;&#xA;" OwnerUserId="21806" LastActivityDate="2014-03-06T15:14:44.497" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="21405" PostTypeId="2" ParentId="17998" CreationDate="2014-03-06T18:42:19.097" Score="1" Body="&lt;p&gt;Chess endgame techniques have been greatly enhanced by the advent of endgame tablebases.  Endgame tablebases are lookup tables that solve chess when there are no more than (currently) seven pieces on the board.  &lt;a href=&quot;http://www.k4it.de/index.php?lang=en&amp;amp;topic=egtb&quot; rel=&quot;nofollow&quot;&gt;Here&lt;/a&gt; is an online tablebase I've used in the past that works for up to six pieces.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Algorithmically, these tablebases are not very interesting; they are generated mostly by brute force.  However, they have contributed to several aspects of endgame theory.     Wikipedia has a nice summary of some interesting points &lt;a href=&quot;http://en.wikipedia.org/wiki/Chess_endgame#Effect_of_tablebases_on_endgame_theory&quot; rel=&quot;nofollow&quot;&gt;here.&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;These discoveries also had implications for the &quot;fifty move rule,&quot; which states that after fifty moves without a capture or pawn advance, either player can claim a draw.  Even before computer analysis, several endgames were thought to take more than fifty moves, and the rule was slightly extended in those circumstances (probably the most famous is the &lt;a href=&quot;http://en.wikipedia.org/wiki/Rook_and_bishop_versus_rook_endgame&quot; rel=&quot;nofollow&quot;&gt;rook and bishop vs rook endgame&lt;/a&gt;).  As the number of positions requiring these moves became larger, these extensions were dropped and the normal 50-move rule was reinstated in all cases.  Modern analysis has shown that some endgames take &lt;a href=&quot;http://en.wikipedia.org/wiki/Chess_endgame#Longest_forced_win&quot; rel=&quot;nofollow&quot;&gt;several hundred moves&lt;/a&gt; .&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://chessok.com/?page_id=27966&quot; rel=&quot;nofollow&quot;&gt;This&lt;/a&gt; is another interesting article, summarizing some effects of seven-piece tablebases on endgame theory.  I particularly like the mutual zugzwang shown in the last position.&lt;/p&gt;&#xA;" OwnerUserId="8927" LastActivityDate="2014-03-06T18:42:19.097" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21406" PostTypeId="2" ParentId="17998" CreationDate="2014-03-06T18:53:45.260" Score="1" Body="&lt;p&gt;It is not properly a &quot;game strategy&quot;, however in 2010 Tomas Rokicki, Herbert Kociemba, Morley Davidson, and John Dethridge found that all &#xA;Rubik's cube positions can be solved with a maximum of 20 face turns using a&#xA;computer-assisted proof [1] ... a nice result.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The annotated source code is available at &lt;a href=&quot;http://cube20.org/src/&quot; rel=&quot;nofollow&quot;&gt;http://cube20.org/src/&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The average number of moves taken by standard solving methods is ~50-60, but there is also &#xA;an official &lt;a href=&quot;http://www.worldcubeassociation.org/results/e.php?i=333fm&quot; rel=&quot;nofollow&quot;&gt;&quot;fewest moves&quot; hall of fame&lt;/a&gt;:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;  #player          #moves&#xA;1 Tomoaki Okayama  20  Japan    Czech Open 2012     &#xA;2 Moritz Karl      21  Germany  BW Open 2013     &#xA;3 István Kocza     22  Hungary  Czech Open 2010     &#xA;  Jimmy Coll       22  Belgium  Barcelona Open 2009     &#xA;5 Adrian Lehmann   23  Germany  German Open 2013&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;(note that the upper bound of 20 was reached only one time in 2012 ... so in Rubik's cube championships humans are far from playing the &quot;optimal strategy&quot; :) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] &lt;a href=&quot;http://epubs.siam.org/doi/abs/10.1137/120867366&quot; rel=&quot;nofollow&quot;&gt;Tomas Rokicki, Herbert Kociemba, Morley Davidson, John Dethridge: The Diameter of the Rubik's Cube Group Is Twenty. SIAM J. Discrete Math. 27(2): 1082-1105 (2013)&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2014-03-06T19:17:57.327" LastActivityDate="2014-03-06T19:17:57.327" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21407" PostTypeId="2" ParentId="21393" CreationDate="2014-03-06T18:55:31.287" Score="1" Body="&lt;p&gt;It appears that this problem (or a generalization of it) was considered with the &lt;a href=&quot;http://download.springer.com/static/pdf/205/chp%253A10.1007%252F11917496_6.pdf?auth66=1394304624_4356f85023e9c4dd6d0926ee3f9365f8&amp;amp;ext=.pdf&quot; rel=&quot;nofollow&quot;&gt;Divide and Color&lt;/a&gt; approach yielding a $O^*(4^{(k-1)\cdot p})$ run-time algorithm for deciding the problem. &lt;/p&gt;&#xA;" OwnerUserId="21001" LastEditorUserId="21001" LastEditDate="2014-03-06T23:27:10.400" LastActivityDate="2014-03-06T23:27:10.400" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="21409" PostTypeId="1" CreationDate="2014-03-06T19:42:52.337" Score="7" ViewCount="163" Body="&lt;p&gt;I had some hard times trying to formulate the question, so I'll start with some examples:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose you are given a Dominating Set instance, $&amp;lt;G,k&amp;gt;$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now suppose I give you a set of vertices $D$ of size $k$. Deciding whether $D$ is a dominating set of $G$ requires linear time in the size of $G$, and doesn't seem to be possible only by looking at the vertices of $D$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In contrast, if we have a $k-path$ instance $&amp;lt;G,k&amp;gt;$ (asking whether a simple path of length $k$ exists in $G$), and I give you a tuple $P$ of $k$ vertices, you can verify that $P$ is a k-path by reading merely $k$ bits of the adjacency table.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;In general, assume you have some graph problem that includes a parameter$L\subset \mathcal{G}\times \mathbb{N}$, &lt;strong&gt;whose witness is a set of $k$ vertices/edges&lt;/strong&gt; ($k$ is the parameter of the problem).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now we can define the set of problems which are &quot;easy&quot; to verify as:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$EasyVer=\{L\subset \mathcal{G}\times \mathbb{N}| $ a witness $w$ of $L$'s instance can be verified in $poly(k)$ time$\}$, i.e. independent of $|V|,|E|$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It seems, for example, that $EasyVer \not\subset FPT$ and $FPT \not\subset EasyVer$, as &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;$VC\in FPT, VC \notin EasyVer$.&lt;/li&gt;&#xA;&lt;li&gt;$Clique\in EasyVer$, while Clique is $W[1]-hard$.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Does my definition even make sense?&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Are there known complexity classes with similar meaning?&lt;/strong&gt;&lt;/li&gt;&#xA;&lt;li&gt;Any other complexity relations to known classes?&lt;/li&gt;&#xA;&lt;li&gt;Does it makes more sense to define $EasyVer$ in terms of the number of bits a verification algorithm needs to read from the adjacency matrix?&lt;/li&gt;&#xA;&lt;li&gt;Does generalizing the definition to $Ver_{f(n,k)}=\{L\subset \mathcal{G}\times \mathbb{N}| $ a witness $w$ of $L$'s instance can be verified in time $O(f(|G|,k))$ $\}$ makes sense?&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="21001" LastEditorUserId="21001" LastEditDate="2014-03-07T21:37:48.980" LastActivityDate="2014-03-07T21:37:48.980" Title="What relations are there between a problem hardness and the hardness of verifying a witness?" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;&lt;complexity-classes&gt;" AnswerCount="0" CommentCount="5" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="21411" PostTypeId="2" ParentId="21394" CreationDate="2014-03-06T21:07:09.653" Score="6" Body="&lt;p&gt;$&#xA;\DeclareMathOperator{\inv}{inv}&#xA;\DeclareMathOperator{\maj}{maj}&#xA;$&#xA;This is not an example of what you are asking for, but it suggests how such an example can come about. Some combinatorial identities can be encoded as identities about polynomials of bounded degree $d$. If the polynomials are univariate, to prove the identity it is enough to verify it on $d+1$ points. However, if the polynomials are multivariate, and the degree is at least moderately large, the &lt;a href=&quot;http://en.wikipedia.org/wiki/Schwartz%E2%80%93Zippel_lemma&quot;&gt;Scwartz-Zippel lemma&lt;/a&gt; may be the only practical way to verify the identity.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For an example of the univariate case, check this &lt;a href=&quot;http://www.math.rutgers.edu/~zeilberg/mamarim/mamarimPDF/brute.pdf&quot;&gt;article&lt;/a&gt; by Zeilberger, resolving a question of Knuth. He proves a statement about statistics of permutations. For a permutation $\pi \in S_n$, let $\inv(\pi)$ be the number $|\{(i, j): i &amp;lt; j, \pi(i) &amp;gt; \pi(j)\}|$ of inversions of $\pi$, and let the major index $\maj(\pi)$ of $\pi$  be the sum of all integers in the set $\{i: \pi(i+1) &amp;lt; \pi(i)\}$ . Zeilberger proves that, for all $n$, the covariance of the two statistics is&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;\mathbb{E}[(\inv(\pi) - \mathbb{E}[\inv(\pi)])\cdot(\maj(\pi) - \mathbb{E}[\maj(\pi)])] = \frac{1}{4}{n \choose 2},&#xA;$$&#xA;where all expectations are over a uniformly random $\pi$ in $S_n$. Zeilberger's proof is just a computer verification for $n \in \{1, 2, 3, 4, 5\}$, and an observation that the statement is equivalent to an identity between polynomials in $n$ of degree at most $4$. &lt;/p&gt;&#xA;" OwnerUserId="4896" LastActivityDate="2014-03-06T21:07:09.653" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21412" PostTypeId="2" ParentId="21367" CreationDate="2014-03-06T21:54:37.030" Score="14" Body="&lt;p&gt;Actually, the complete and general description of a problem that can be solved by a greedy algorithm is a &lt;a href=&quot;http://en.wikipedia.org/wiki/Matroid_embedding&quot;&gt;matroid embedding&lt;/a&gt;, which generalizes both the concept of a matroid and that of a &lt;a href=&quot;http://en.wikipedia.org/wiki/Greedoid&quot;&gt;greedoid&lt;/a&gt;. The answer is no—a problem solvable by a greedy algorithm need not have a matroid structure, but it &lt;em&gt;will&lt;/em&gt; have the structure of a matroid embedding (which is, alas, much more complicated).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A mental model for some of this could be finding minimum spanning trees. The structure used by Kruskal's algorithm is a matroid, but that used by Prim's algorithm (which requires a start node) is not. (It is, however, a greedoid—and a matroid embedding.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Helman et al. (1993), in their paper &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.37.1825&quot;&gt;&lt;em&gt;An Exact Characterization of Greedy Structures&lt;/em&gt;&lt;/a&gt; define their notion of a greedy algorithm in terms of set systems, which is the same formalism that is used for matroids and greedoids. A &lt;em&gt;set system&lt;/em&gt; $(S,\mathcal{C})$ consists of a set $S$ and a collection $\mathcal{C}$ of subsets of $S$, the so-called &lt;em&gt;feasible sets&lt;/em&gt;. A &lt;em&gt;basis&lt;/em&gt; for the set system is a maximal feasible set, that is, a set that is feasible but not contained in any other feasible set. An &lt;em&gt;objective function&lt;/em&gt; $f:2^S\rightarrow\mathbb{R}$ associates each subset of $S$ with a value. An &lt;em&gt;optimization problem&lt;/em&gt;, in this formalism, consists in finding a basis of maximum objective value for a given set system and objective function.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The greedy algorithm, defined in terms of this formalism, is quite simple: You start with the empty set, and successively add a single element until you reach a basis, always ensuring that (i) your set is feasible at each step, and (ii) the element you add maximizes the objective function of the resulting result, wrt. all the alternative elements you could have added. (That is, conceptually, you try adding all feasible alternatives, and choose the one yielding the highest objective value.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You could, perhaps, argue that there might be other forms of greedy algorithm, but there are several textbooks on algorithms and combinatorial optimization that describe this set-system based algorithm as &lt;em&gt;the&lt;/em&gt; greedy algorithm. That doesn't prevent you from describing something that doesn't fit, but could still be called greedy, I suppose. (Still, this &lt;em&gt;does&lt;/em&gt; cover anything that could potentially have a matroid structure, for example, though it is &lt;em&gt;much&lt;/em&gt; more general.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What Helman et al. do is that they describe when this algorithm will work. More specifically:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;They show that for linear objective functions (where the objective value is the sum of element weights), the greedy algorithm will work exactly on the structure they define as a matroid embedding;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;They give a similar characterization for so-called bottleneck objectives (where the objective value of a set is equal to the minimum over the individual element weights); and&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;They give an exact characterization of which objective functions (beyond linear ones) are optimized by the greedy algorithm on matroid embeddings.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="901" LastEditorUserId="901" LastEditDate="2014-03-08T20:58:55.820" LastActivityDate="2014-03-08T20:58:55.820" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="21413" PostTypeId="1" CreationDate="2014-03-06T22:34:44.997" Score="5" ViewCount="164" Body="&lt;p&gt;I know virtually noting about Fourier Analysis and I'd like to know whether it's worth to learn this topic for my problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My problem is: Given vectors $h_1,\cdots,h_k\in\{+1,-1\}^n$ where $k &amp;lt; n$, decide whether there exists another vector $x\in\{+1,-1\}^n$ that is orthogonal to all of $h_1,\cdots,h_k$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think I may formulate my problem with the help of a quadratic function $f(x) = x^T\left(\sum_{i=1}^k h_i h_i^T\right)x$ to have a condition that &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;$f(x) = 0$ if and only if $x$ is orthogonal to $h_1,\cdots,h_k$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;As the desired function is a boolean function that $f:\{+1,-1\}^n\to\mathbb{R}$, it may be uniquely represented by a certain &lt;a href=&quot;http://www.contrib.andrew.cmu.edu/~ryanod/?p=207&quot; rel=&quot;nofollow&quot;&gt;Fourier expansion&lt;/a&gt; . Then my job is to check whether this function has zero Fourier coefficients or not.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I know there can be $2^n$ Fourier coefficients. And it may be impossible to check whether a function has a Fourier expansion with zero coefficients. Does this approach make sense? Is there any reference / related work on this kind of problem?&lt;/p&gt;&#xA;" OwnerUserId="7411" LastEditorUserId="7411" LastEditDate="2014-03-07T15:35:02.510" LastActivityDate="2014-03-09T03:00:32.310" Title="Fourier Analysis on checking whether there exists a vector in hypercube orthogonal to a set of vectors?" Tags="&lt;boolean-functions&gt;&lt;fourier-analysis&gt;" AnswerCount="0" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="21414" PostTypeId="1" AcceptedAnswerId="21415" CreationDate="2014-03-06T23:11:59.953" Score="8" ViewCount="823" Body="&lt;p&gt;What are some of the best sources (books and papers) to motivate and learn communication complexity on its own and in connection with its relation to computational complexity theory?&lt;/p&gt;&#xA;" OwnerUserId="1812" LastEditorUserId="1812" LastEditDate="2014-03-06T23:17:40.593" LastActivityDate="2014-03-10T07:29:54.783" Title="Best sources for communication complexity" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;communication-complexity&gt;&lt;books&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="21415" PostTypeId="2" ParentId="21414" CreationDate="2014-03-07T00:15:49.023" Score="12" Body="&lt;p&gt;Books:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Eyal Kushilevitz and Noam Nisan, &quot;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/052102983X&quot;&gt;Communication Complexity&lt;/a&gt;&quot;, 2006.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Stasys Jukna, &quot;Boolean Function Complexity: Advances and Frontiers&quot;, 2012. (Part II of the book is dedicated to Communication Complexity.)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Articles:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Alexander Razborov, &quot;&lt;a href=&quot;http://people.cs.uchicago.edu/~razborov/files/cc.pdf&quot;&gt;Communication Complexity&lt;/a&gt;&quot;.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Lecture Notes:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Toni Pitassi, &quot;&lt;a href=&quot;http://www.cs.toronto.edu/~toni/Courses/CommComplexity2/CS2429.html&quot;&gt;Communication Complexity, Information Complexity and Applications&lt;/a&gt;&quot;, 2012&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Ran Raz, &quot;&lt;a href=&quot;http://www.wisdom.weizmann.ac.il/~ranraz/lecturenotes/&quot;&gt;Circuit Complexity and Communication Complexity&lt;/a&gt;&quot;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Also check &lt;a href=&quot;http://people.cs.uchicago.edu/~razborov/teaching/index.html&quot;&gt;Sasha's remarks about communication complexity&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2014-03-07T01:57:41.350" LastActivityDate="2014-03-07T01:57:41.350" CommentCount="3" CommunityOwnedDate="2014-03-07T00:15:49.023" ContentLicense="CC BY-SA 3.0" />
  <row Id="21417" PostTypeId="1" CreationDate="2014-03-07T02:35:04.243" Score="4" ViewCount="155" Body="&lt;p&gt;I've recently implemented a physics system where each object has to interact with eachother. It consisted of, pretty much, the following algorithm:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;for obj_a in world&#xA;    for obj_b in world&#xA;        obj_a.collide(obj_b)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;This is O(N^2) and obviously scales very badly. I know, though, that distant objects don't collide, so I partitioned the space. The algorithm became:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;for obj_a in world&#xA;    for obj_b in space_partition_of(obj_a)&#xA;        obj_a.collide(obj_b)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Considering the second loop iterates only over objects close to A, it brings the complexity down to almost O(N) and is ridiculously faster.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;That made me think: &lt;strong&gt;it does not matter which language I implemented the first algorithm, it would always be sluggish&lt;/strong&gt;. There is not a single compiler in the world that would fix my mistake, as much as obvious it seems for a human programmer. My question is: what is there stopping us to create a compiler that &lt;strong&gt;replaces the algorithms and data-structures used for the optimal ones&lt;/strong&gt;? Is it impossible in a turing complete language? Would it be possible in a non-turing-complete language such as Idris?&lt;/p&gt;&#xA;" OwnerUserId="17388" LastActivityDate="2014-03-07T10:03:33.997" Title="Is it possible to create an algorithm-aware optimizer?" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;pl.programming-languages&gt;&lt;optimization&gt;&lt;compilers&gt;" AnswerCount="1" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="21418" PostTypeId="1" CreationDate="2014-03-07T03:15:39.323" Score="3" ViewCount="162" Body="&lt;p&gt;I was reading Scott Aaronson's &lt;a href=&quot;http://www.scottaaronson.com/blog/?p=1697#comments&quot; rel=&quot;nofollow noreferrer&quot;&gt;blog&lt;/a&gt;, and one of the comments sparked a question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&quot;if P!=NP, this would be a general, conceptual result, so you’d expect the proof to be explanatory and in particular human-scaled. If P=NP, it could be 'an accident' and the reason is simply that there is some astronomic but polynomial time algorithm for SAT, an algorithm which humans might never grasp.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Problems with this specific argument aside, it seems that many proofs are best made by &lt;a href=&quot;https://math.stackexchange.com/questions/263657/is-a-counterexample-considered-a-rigorous-proof-that-a-property-is-not-true&quot;&gt;counterexamples&lt;/a&gt;, and often these counterexamples are simple enough that it's possible they could be semi-randomly generated by a computer, then automatically checked (say with an &lt;a href=&quot;http://en.wikipedia.org/wiki/Interactive_proof_system&quot; rel=&quot;nofollow noreferrer&quot;&gt;Interactive Proof&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is also true with algorithms - there are many procedures for checking if an algorithm works for solving a problem (IE: &lt;a href=&quot;http://en.wikipedia.org/wiki/Graph_isomorphism_problem&quot; rel=&quot;nofollow noreferrer&quot;&gt;Blum and Kannan's&lt;/a&gt; procedure for the Graph Isomorphism Problem) efficiently, without providing the algorithm itself.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I recognize you have many approximation algorithms that use this very principle to give near/if not optimal answers, but I'm asking about the case where typically such a search isn't academically productive because of how uncommon a randomly generated correct result occurs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Are there any significant proofs/efficient algorithms that have been randomly generated, potentially far ahead of the theoretical understanding for why those counterexamples exist? Or provided a helpful background that created motivation for building the knowledge-base for that understanding?&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The main reason I'm asking is because I've never head of such a result, and am wondering how commonly this occurs (thus if it's a viable assumption it can occur).&lt;/p&gt;&#xA;" OwnerUserId="21793" LastEditorUserId="-1" LastEditDate="2017-04-13T12:19:19.363" LastActivityDate="2014-03-07T04:05:27.823" Title="Randomly Discovered Algorithm/Counterexample" Tags="&lt;big-picture&gt;&lt;randomness&gt;&lt;proofs&gt;" AnswerCount="0" CommentCount="7" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21419" PostTypeId="2" ParentId="21146" CreationDate="2014-03-07T03:55:25.830" Score="3" Body="&lt;p&gt;Computing min rank is NP-hard:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Rene Peeters, &quot;&lt;a href=&quot;http://arno.uvt.nl/show.cgi?fid=95878&quot; rel=&quot;nofollow&quot;&gt;Orthogonal Representation over Finite Fields and the Chromic Numbr of Graphs&lt;/a&gt;&quot;, 1996.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Salim Y. El Rouayheb, Mohammad Asad R. Chaudhry, Alex Sprintson, &quot;&lt;a href=&quot;http://arxiv.org/abs/0707.0860v1&quot; rel=&quot;nofollow&quot;&gt;On the Minimum Number of Transmissions in Single-Hop Wireless Coding Networks&lt;/a&gt;&quot;, 2007.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="21953" LastEditorUserId="186" LastEditDate="2014-03-07T04:58:26.597" LastActivityDate="2014-03-07T04:58:26.597" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21421" PostTypeId="2" ParentId="21417" CreationDate="2014-03-07T10:03:33.997" Score="3" Body="&lt;p&gt;Actually, &lt;a href=&quot;https://en.wikipedia.org/wiki/Optimizing_compiler&quot; rel=&quot;nofollow&quot;&gt;optimizing compiler&lt;/a&gt;s do that kind of things. I am for&#xA;example thinking of the work of &lt;a href=&quot;http://www.cs.ox.ac.uk/jeremy.gibbons/wg21/paige.html&quot; rel=&quot;nofollow&quot;&gt;Robert Paige&lt;/a&gt; at NYU. The problem is of&#xA;course to identify situations where a given type of transformation may be useful.&#xA;That require identifying computational structures, and knowing some of&#xA;the algebraic properties of the data being manipulated.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A classical example, very simple, is the &lt;a href=&quot;https://en.wikipedia.org/wiki/Program_optimization#Strength_reduction&quot; rel=&quot;nofollow&quot;&gt;strength-reduction&lt;/a&gt; in&#xA;loops, where you replace a product by a sum. It usually does not change&#xA;much the complexity (see more below), but can effectively speed up your algorithm, at&#xA;the cost of one extra variable. This is a special case of finite&#xA;differencing techniques.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think you should find example in the litterature on high-level&#xA;optimization, which is quite different from peep-hole optimization in&#xA;the code generation process. See the two wikipedia article for various types of code optimization.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Regarding the identification of such situations, they can sometimes be&#xA;found by formal analysis of program. It can also help to make them&#xA;more apparent by using very high-level abstractions in the programming&#xA;process.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Many such transformations improve the program without changing the&#xA;complexity. But it much depends on what complexity you are considering&#xA;and what is a unit operation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example if you consider &lt;a href=&quot;https://en.wikipedia.org/wiki/Computational_complexity_of_mathematical_operations#Arithmetic_functions&quot; rel=&quot;nofollow&quot;&gt;arithmetics of unbounded integers&lt;/a&gt;,&#xA;addition has linear cost, while multiplication has a higher cost&#xA;(quadratic in the naive case). Using reduction in strength in loops&#xA;will reduce complexity.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I unfortunately do not remember more spectacular cases.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is also some significant litterature on &lt;a href=&quot;https://en.wikipedia.org/wiki/Program_transformation&quot; rel=&quot;nofollow&quot;&gt;program transformations&lt;/a&gt;, with a variety of techniques that started in the 1970ies. Some transformations may not bring much by themselves, but may enable other transformations. Pattern matching in equational algebras is one way of identifying possible tranformations that has been considered. This may be one reason why very high level abstractions can help the process.&lt;/p&gt;&#xA;" OwnerUserId="16132" LastActivityDate="2014-03-07T10:03:33.997" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21422" PostTypeId="2" ParentId="9806" CreationDate="2014-03-07T14:36:54.840" Score="11" Body="&lt;p&gt;$P \ne NP$ if and only if worst-case one-way functions exist.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Reference:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Alan L. Selman. A survey of one-way functions in complexity theory. Mathematical&#xA;systems theory, 25(3):203–221, 1992.&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2014-03-07T17:46:54.270" LastActivityDate="2014-03-07T17:46:54.270" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="21424" PostTypeId="1" AcceptedAnswerId="21968" CreationDate="2014-03-07T16:31:22.800" Score="1" ViewCount="551" Body="&lt;p&gt;the paper &quot;In defense of the Simplex Algorithm's worst-case behavior&quot; Disser/Skutella [1] was recently cited on this tcs.se site by &lt;a href=&quot;https://cstheory.stackexchange.com/users/1846/saeed&quot;&gt;saeed&lt;/a&gt; on another interesting question. the paper introduces the idea of &lt;em&gt;&quot;NP mighty&quot; algorithms&lt;/em&gt; (p3 def2). it follows a fruitful/continuing line of research analyzing P$\stackrel{?}{=}$NP wrt the simplex algorithm and linear programming of which there have been other major recent advances, eg results by Pokutta et al in [2] showing that the P-time TSP polytope must have an &quot;unlikely/restrictive&quot; form (commentaries in &lt;a href=&quot;http://rjlipton.wordpress.com/2012/11/29/barriers-to-pnp-proofs/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Barriers to P/NP proofs, RJLipton&lt;/a&gt;, also &lt;a href=&quot;http://rjlipton.wordpress.com/2010/06/26/stating-pnp-without-turing-machines/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Stating P$\stackrel{?}{=}$NP without TMs&lt;/a&gt;). question (possibly with multiple leading answers): &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;the Disser/Skutella paper has closely related ideas but does not seem to explicitly reformulate the P$\stackrel{?}{=}$NP question. what is an equivalent way to state/study it in their introduced schema/framework of &quot;NP Mighty&quot; algorithms? what is a/the basic open problem in simplex/linear programming complexity theory that is equivalent to P$\stackrel{?}{=}$NP?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;(somewhat related question: the Disser/Skutella paper also refers to Klee-Minty cubes, long used to show worst-case behavior on the simplex algorithm. are there any results relating lower bounds on them to general algorithmic lower bounds and/or complexity class separations eg P$\stackrel{?}{=}$NP etc?)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] &lt;a href=&quot;http://arxiv.org/abs/1311.5935&quot; rel=&quot;nofollow noreferrer&quot;&gt;&quot;In defense of the Simplex Algorithm's worst-case behavior&quot;&lt;/a&gt; Dissker/Skutella&lt;br&gt;&#xA;[2] &lt;a href=&quot;http://arxiv.org/abs/1111.0837&quot; rel=&quot;nofollow noreferrer&quot;&gt;Exponential Lower Bounds for Polytopes in Combinatorial Optimization&lt;/a&gt; Fiorini et al&lt;/p&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2017-04-20T08:53:54.687" Title="equivalent way(s) of expressing P=?NP problem in linear programming?" Tags="&lt;lower-bounds&gt;&lt;linear-programming&gt;&lt;p-vs-np&gt;&lt;barriers&gt;&lt;simplex&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="21425" PostTypeId="1" AcceptedAnswerId="21426" CreationDate="2014-03-07T17:18:05.520" Score="6" ViewCount="156" Body="&lt;p&gt;If we have a single straight line program expressing a multivariate polynomial equation with integer coefficients, the Schwartz-Zippel lemma gives a simple randomized algorithm for deciding whether the equation is always true.  We can similarly decide if a single polynomial inequation is always true over $\mathbb{C}$, since $p(z_1,\ldots,z_n) \ne 0$ for all $z_i$ iff the polynomial is a nonzero constant.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does the simplicity of randomized checking extend to any systems of multivariate polynomial equations?  In particular, is there a simple algorithm for deciding whether&#xA;$$p(z_1,\ldots,z_n) = 0 \implies q(z_1,\dots,z_n) = 0$$&#xA;where $p,q$ are straight line programs over $\mathbb{C}$ with integer coefficients?  I'm fairly sure randomness does not provide simple algorithms if we go to arbitrary systems of equations and inequations, but I'm curious where the boundary is between easy and hard.&lt;/p&gt;&#xA;" OwnerUserId="13245" LastEditorUserId="13245" LastEditDate="2014-03-07T19:19:42.623" LastActivityDate="2014-03-07T19:19:42.623" Title="Where does randomness help when deciding algebraic geometry over $\mathbb{C}$?" Tags="&lt;randomized-algorithms&gt;&lt;algebra&gt;&lt;algebraic-complexity&gt;&lt;polynomials&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21426" PostTypeId="2" ParentId="21425" CreationDate="2014-03-07T18:59:59.967" Score="7" Body="&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;For the question of when does $p=0 \Rightarrow q=0$, randomness can indeed help, as follows. First, &lt;a href=&quot;http://www4.ncsu.edu/~kaltofen/bibliography/89/Ka89_slpfac.pdf&quot;&gt;factor $p$&lt;/a&gt; (uses randomness when $p$ is given as a straight-line program; &lt;a href=&quot;http://www.ams.org/mathscinet-getitem?mr=682664&quot;&gt;doesn't need randomness if $p$ is given as a coefficient vector&lt;/a&gt;). Let $\tilde{p}$ denote the square-free version of $p$ - that is, if $p=p_1^{k_1} p_2^{k_2} \dotsb p_\ell^{k_\ell}$ then $\tilde{p} = p_1 p_2 \dotsb p_\ell$. Then $q=0$ follows from $p=0$ iff $\tilde{p}$ divides $q$, which happens iff $q$ is of the form $q=p_1^{k'_1} \dotsb p_\ell^{k'_\ell} f$ with all of the $k'_j$ strictly positive. The latter can be checked by factoring $q$ (uses randomness, as before).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;For the general question of $p_1=\dotsb=p_k=0 \Rightarrow q=0$, randomness seems not to help from the complexity perspective, as &lt;a href=&quot;http://www.ams.org/mathscinet-getitem?mr=683204&quot;&gt;this problem is $\mathsf{EXPSPACE}$-complete&lt;/a&gt; (randomness may help in practice though...). &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;For the problem of telling whether the variety $\{\vec{x} : p_1(x)=\dotsb=p_k(x)=0\}$ is empty or not (for polynomials given by a list of monomials and coefficients - which is &quot;sparse but not succinct&quot;, that is, not SLPs), randomness also seems to help: assuming GRH, this problem is in $\mathsf{RP}^{\mathsf{NP}}$ by a &lt;a href=&quot;http://www.ams.org/mathscinet-getitem?mr=1422712&quot;&gt;result of Koiran&lt;/a&gt;. It is $\mathsf{NP}$-hard, and not known to be in $\mathsf{P}^{\mathsf{NP}}$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="129" LastActivityDate="2014-03-07T18:59:59.967" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21427" PostTypeId="1" AcceptedAnswerId="21429" CreationDate="2014-03-07T19:54:28.667" Score="4" ViewCount="1135" Body="&lt;p&gt;A graph $G$ is chordal if it is the intersection graph of subtrees of a tree $T$. In particular $T$ can be chosen such that each node of $T$ corresponds to a maximal clique of $G$ and the subtrees $T_v$ consist of precisely those maximal cliques in $G$ that contain $v$. $T$ is then called the clique tree of $G$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now my question is the following. &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is any tree can be represented as a clique tree of some chordal graph?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Any counter example or hint of proof is welcome.&lt;/p&gt;&#xA;" OwnerUserId="12280" LastEditorUserId="282" LastEditDate="2014-03-07T21:03:30.543" LastActivityDate="2014-03-07T22:51:46.907" Title="Chordal graph and its clique tree" Tags="&lt;graph-theory&gt;" AnswerCount="2" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21428" PostTypeId="2" ParentId="21427" CreationDate="2014-03-07T20:57:56.740" Score="2" Body="&lt;p&gt;If I understood your question correctly, you want to know whether every tree $T$ is the clique tree of a chordal graph $G$. In this case, the answer is yes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To see this, take the family of subtrees being the set of vertices and the set of edges of $T$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To see that the vertices of $T$ correspond to the maximal cliques of $G$, notice that for each node $C$ of $T$ there is a subtree $T_v$ corresponding to it, hence $v$ is a simplicial vertex on $G$ and cannot be adjacent to any other vertex non-incident in $C$.&lt;/p&gt;&#xA;" OwnerUserId="282" LastActivityDate="2014-03-07T20:57:56.740" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21429" PostTypeId="2" ParentId="21427" CreationDate="2014-03-07T22:51:46.907" Score="4" Body="&lt;p&gt;Chordal graphs can be &lt;strong&gt;defined&lt;/strong&gt; as intersection graph of subtrees of any tree.  So the answer to your decision question is trivially YES.  On the construction side, for each subtree $T_v$ of bags (it's convenient and conventional to call the nodes of the tree as bags), you'll have a unique new vertex $v$, which is put into all bags of the $T_v$.  &lt;/p&gt;&#xA;" OwnerUserId="7059" LastActivityDate="2014-03-07T22:51:46.907" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21430" PostTypeId="1" CreationDate="2014-03-08T00:37:45.383" Score="8" ViewCount="178" Body="&lt;p&gt;I asked this question there: &lt;a href=&quot;https://math.stackexchange.com/questions/700975/equivalence-of-categories-of-directed-complete-posets&quot;&gt;https://math.stackexchange.com/questions/700975/equivalence-of-categories-of-directed-complete-posets&lt;/a&gt;.&#xA;Since I had no answer, I try here.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the book ``Domains and Lambda-Calculi'' by Amadio and Curien, there is the following exercise: Define an equivalence between the category of partial morphisms generated by $(\mathcal{M}_S, \textbf{Dcpo})$ and the category $\textbf{sCpo}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The category $\textbf{Dcpo}$ has as objects directed complete posets i.e. partially ordered sets such that any directed subset has a least upper bound and as morphisms continuous functions for the Scott topology (Scott opens of a dcpo $D$ are subsets $O$ of $D$ such that (1) $x \in O \textit{ and } x \leq y \Rightarrow y \in O$ and (2) $\Delta$ directed and $\bigvee \Delta \in O \Rightarrow O \cap \Delta \not= \emptyset$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The category $\textbf{sCpo}$ is a subcategory of $\textbf{Dcpo}$: objects are dcpo's with a least element $\bot$ and morphisms are continuous functions $f$ such that $f(\bot) = \bot$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For any dcpo $C$, we denote by $C_\bot$ the object of $\textbf{sCpo}$ obtained from $C$ by adding a new element $\bot$, which is the least element of $C_\bot$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The &quot;admissible family of monos&quot; $\mathcal{M}_S$ associates with every object $A$ of $\textbf{Dcpo}$ the class of monomorphisms $\mathcal{M}_S(A)$ such that if $m \in \mathcal{M}_S(A)$, then (1) $m$ is a monomorphism $D \rightarrow A$ for some $D$ and (2) $\textit{im}(m)$ is a Scott open of $A$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The category of partial morphisms generated by $(\mathcal{M}_S, \textbf{Dcpo})$, denoted below by $\textbf{pC}$, has as objects dcpo's and as morphisms from $D$ to $D'$ equivalence classes $[m, f]$ of representatives of partial morphisms $(m, f)$, where a representative $(m, f)$ for a partial morphism from $A$ to $B$ is a pair of morphisms in $\textbf{Dcpo}$ with $m : D \rightarrow A \in \mathcal{M}_S(A)$ and $f \in \textbf{Dcpo}(D, B)$ and $(m : D \rightarrow A, f: D \rightarrow B)$ is equivalent to $(m': D' \rightarrow A, f': D' \rightarrow B)$ iff there is an isomorphism $i : D \rightarrow D'$ such that $m' \circ i = m$ and $f' \circ i = f$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I had the idea to define the following functor $F: \textbf{pC} \rightarrow \textbf{sCpo}$: for any object $D$, $F(D) = D_\bot$; for any $[m, f] \in \textbf{pC}(D, D')$, $F([m, f])$ is the morphism $g: D_\bot \rightarrow D'_\bot$ defined by: $g(y) = f(x)$ with $m(x) =y $ if $y \in \textit{im}(m)$; $g(y) = \bot$ if $y \notin \textit{im}(m)$. But it seems that it does not work. Indeed, consider the following dcpo's: $D = (\{ a, b \}, \leq)$ with $a$ and $b$ not comparable; $D' = (\{ a', b' \}, \leq')$ with $a' &amp;lt;' b'$. I denote by $m$ the monomorphism $D \rightarrow D'$ defined by $m(a) = a'$ and $m(b) = b'$. Notice that $[m, m] \not= [id_{D'}, id_{D'}]$, since all the morphisms from $D'$ to $D$ are constant. But $F([m, m]) = id_{D'_\bot} = F([id_{D'}, id_{D'}])$, hence $F$ is not faithful. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;So I am not able to solve the exercise.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Assume that $\mathcal{M}_T$ associates with every object $A$ of $\textbf{Dcpo}$ the class of monomorphisms $\mathcal{M}_T(A)$ such that if $m \in \mathcal{M}_T(A)$, then (1) $m$ is a monomorphism $D \rightarrow A$ for some $D$, (2) $\textit{im}(m)$ is a Scott open of $A$ and (3) $m(x) \leq m(y) \Rightarrow x \leq y$. Consider the category $\textbf{pC'}$ of partial morphisms generated by $(\mathcal{M}_T, \textbf{Dcpo})$. Then it seems that the functor $F' : \textbf{pC'} \rightarrow \textbf{sCpo}$ defined as $F$ (for any object $D$, $F'(D) = D_\bot$; for any $[m, f] \in \textbf{pC'}(D, D')$, $F'([m, f])$ is the morphism $g: D_\bot \rightarrow D'_\bot$ defined by: $g(y) = f(x)$ with $m(x) =y $ if $y \in \textit{im}(m)$; $g(y) = \bot$ if $y \notin \textit{im}(m)$) is an equivalence of categories.)&lt;/p&gt;&#xA;" OwnerUserId="21929" LastEditorUserId="-1" LastEditDate="2017-04-13T12:19:19.363" LastActivityDate="2014-04-02T13:47:57.157" Title="Equivalence of categories of directed complete posets" Tags="&lt;lambda-calculus&gt;&lt;ct.category-theory&gt;&lt;denotational-semantics&gt;&lt;domain-theory&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21431" PostTypeId="1" AcceptedAnswerId="21436" CreationDate="2014-03-08T04:11:58.703" Score="3" ViewCount="197" Body="&lt;p&gt;Here is a problem I've never seen, in a model similar to the PAC model. It asks a similar question to PAC learning, but wishes to optimize, rather than learn. I wonder if this problem is known, has any name, or has ever been solved.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Input:&lt;/strong&gt; A Random Oracle to function $f:[0,1]^n \rightarrow [0,1]$ from a concept class $C$. Additionally, $n$ points $x_1,\ldots,x_n$ in the domain.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Goal:&lt;/strong&gt; Select an $i$ such that $E[f(x_i)]$ is as large as possible. We assume the function $f$ is randomly distributed amongst all functions in the class $C$ that agree with all the samples we have drawn.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One way to solve this problem is to draw many samples from $f$, create a hypothesis $h$, and choose the $x_i$ whose $h(x_i)$ is largest. There are two problems with this:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$h$ might not be representative of the set of all $f$'s that agree with the samples we've drawn.&lt;/li&gt;&#xA;&lt;li&gt;To solve our problem it is not clearly necessary to learn $f$: for some classes $C$ might be a more efficient way to select a good $i$ without trying to learn $f$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;An example setting is where $C$ is the set of linear classifiers. In that case it should probably be quite easy to solve the problem. But what about other, more complicated classes?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The real version I'm interested in is that of agnostic learning of linear functions? we assume the function $f$ is somewhat correlated with a linear function, and the goal is to choose an i which maximizes $E[f(x_i)]$ to the best of our ability.&lt;/p&gt;&#xA;" OwnerUserId="20830" LastActivityDate="2014-03-08T14:19:49.333" Title="Is this variant of PAC learning known?" Tags="&lt;machine-learning&gt;&lt;lg.learning&gt;&lt;pac-learning&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="21434" PostTypeId="1" CreationDate="2014-03-08T06:44:51.893" Score="2" ViewCount="328" Body="&lt;p&gt;I'm interested in hereditary graph classes characterized by a small number of excluded subgraphs. There are some well-known graph classes that are characterized by three or four obstructions -- examples are threshold graphs, chain grapns and trivially perfect graphs. My question is: are there natural graph classes characterized by five obstructions? (No relation to the eponymous movie). It may be possible to obtain some by considering the P4-structure of the graph.&lt;/p&gt;&#xA;" OwnerUserId="21962" LastEditorUserId="21714" LastEditDate="2014-04-09T21:52:55.137" LastActivityDate="2016-03-17T10:15:14.000" Title="Natural graph class with five excluded subgraphs?" Tags="&lt;graph-theory&gt;&lt;graph-classes&gt;" AnswerCount="3" CommentCount="7" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21435" PostTypeId="1" CreationDate="2014-03-08T13:52:48.713" Score="4" ViewCount="232" Body="&lt;p&gt;One of the most elemental result of relationship between boolean circuit size and polynomial uniform computation is Pippenger and Fishers simulation: &lt;span class=&quot;math-container&quot;&gt;$DTIME[T(n)]\subseteq SIZE[T(n)\log  T(n)]$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;p&gt;I want to consider the small branching program family simulating low space  computation.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Question1: What is the best simulation bound &lt;span class=&quot;math-container&quot;&gt;$S_{1}(n)$&lt;/span&gt; which is known at this moment such that &lt;span class=&quot;math-container&quot;&gt;$DSPACE [S(n)]\subseteq BP-SIZE[S_{1}(n)]$&lt;/span&gt;&lt;/p&gt;&#xA;&lt;p&gt;Question2:What is the best time complexity bound as far as we know, for the function that &lt;span class=&quot;math-container&quot;&gt;$1^{n}\rightarrow $&lt;/span&gt;a branching program in the Question 1.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="21593" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2015-01-05T16:45:01.463" Title="Low space computation and branching program" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;circuit-complexity&gt;&lt;space-bounded&gt;&lt;space-complexity&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21436" PostTypeId="2" ParentId="21431" CreationDate="2014-03-08T14:19:49.333" Score="8" Body="&lt;p&gt;What you describe is a non-stochastic version of the &quot;functional multi-arm bandit problem&quot;: you know you have an unknown function from some class C (does not have to be randomly selected), and you have query access to this function. The goal is to find the element which maximizes the function. As you say, depending on the class C, this may or may not require learning the function.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This paper by Amin, Kearns, and Syed exactly characterizes the query complexity of the problem: &lt;a href=&quot;http://www.cis.upenn.edu/~mkearns/papers/haystack.pdf&quot;&gt;http://www.cis.upenn.edu/~mkearns/papers/haystack.pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="25" LastActivityDate="2014-03-08T14:19:49.333" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21438" PostTypeId="2" ParentId="17534" CreationDate="2014-03-08T17:05:33.120" Score="3" Body="&lt;p&gt;This result is presented in the Web Addendum of Arora-Barak, which can be found &lt;a href=&quot;http://www.cs.princeton.edu/theory/uploads/Compbook/accnexp.pdf&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="122" LastActivityDate="2014-03-08T17:05:33.120" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21440" PostTypeId="1" CreationDate="2014-03-08T19:27:14.163" Score="1" ViewCount="205" Body="&lt;p&gt;In &lt;a href=&quot;https://cstheory.stackexchange.com/questions/21409/what-relations-are-there-between-a-problem-hardness-and-the-hardness-of-verifyin&quot;&gt;a related question&lt;/a&gt; I've defined a class of graph problems which are verifiable using a time related only on the size of the witness:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$EasyVer=\{L\subset \mathcal{G}\times \mathbb{N}| $ a witness $w$ of $L$'s instance can be verified in $poly(k)$ time$\}$, i.e. independent of $|V|,|E|$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can assume that the verifier has random access to the graph adjacency matrix in $O(1)$ time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Examples for $EasyVer$ problems will be $VC, Clique, IS$ and $Steiner Tree$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, many packing and problems, $triangle-packing$, $k-path-packing$, or in general $H-packing$ for a graph $H$ with constant treewidth, are all in $EasyVer$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Problems which aren't in (i.e. require more extensive interaction with the input) are also easily found: $VC, DominatingSet, FVS$(Feedback Vertex Set).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In order to get a sense of how $EasyVer$ relates to known complexity classes it would be useful to have a list of problem it contains.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Which other NP-complete problem (or even better, problem classes) can be verified in $poly(k)$ time, where $k$ is the size of the problem witness?&lt;/strong&gt;&lt;/p&gt;&#xA;" OwnerUserId="21001" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2014-08-05T23:43:08.797" Title="Figuring EasyVer problems - problems whose witness can be verified in time independent on the instance size" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;complexity-classes&gt;" AnswerCount="1" CommentCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="21441" PostTypeId="2" ParentId="21440" CreationDate="2014-03-08T20:10:10.457" Score="1" Body="&lt;p&gt;If I get it right, you are interested in those parameterized problems that can be verified by a bounded-time NTM (running in time $f(k)$ for some function of the parameter). Up to fpt-reduction, these are precisely the problems in the class $W[1]$, see &quot;On the parameterized complexity of short computation and factorization&quot; by Cai, Chen, Downey and Fellows.&lt;/p&gt;&#xA;" OwnerUserId="21798" LastActivityDate="2014-03-08T20:10:10.457" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="21442" PostTypeId="1" CreationDate="2014-03-08T20:55:53.880" Score="5" ViewCount="379" Body="&lt;p&gt;According to &lt;a href=&quot;http://www.cs.princeton.edu/theory/complexity/ab_quantumchap.pdf&quot; rel=&quot;nofollow&quot;&gt;Arora &amp;amp; Barak (pdf)&lt;/a&gt;, pg. 186, for a polynomial-time computable function $f: \{0,1\}^n \to \{0,1\}$ (represented as a circuit computing $f$), Grover's algorithm finds in $O(\text{poly}(n)2^{n/2})$ time a string $a$ such that $f(a) = 1$ (if such a string exists).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is an application of Grover's algorithm to 3 coloring. How can you show, using Grover's algorithm, that 3-coloring can be solved on a quantum computer in time $O(\text{poly}(n)2^{n/2})$, where $n$ is the number of vertices?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is not a direct application of the algorithm, since although you can easily encode each of the $3^n$ (valid and invalid) colorings of the $n$ vertices using $\log_2(3^n) = n\log_2(3) = O(n)$ bits, this means that Grover's algorithm gives a run time of $O(\text{poly}(n)2^{n\log_2(3)/2}) = O(\text{poly}(n)3^{n/2})$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So maybe, you would need to show that a coloring (possibly valid) can be encoded using only $n + O(1)$ bits? How would you show that?&lt;/p&gt;&#xA;" OwnerUserId="21148" LastEditorUserId="1037" LastEditDate="2014-03-09T00:17:49.770" LastActivityDate="2014-03-09T00:24:05.157" Title="Grover's search algorithm for 3 coloring" Tags="&lt;cc.complexity-theory&gt;&lt;graph-algorithms&gt;&lt;quantum-computing&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21443" PostTypeId="1" CreationDate="2014-03-08T21:15:05.203" Score="0" ViewCount="282" Body="&lt;p&gt;I heard a statement saying that iterated logarithm and inverse Ackermann function are usually the slowest growing functions used in computer program complexity analysis.  Is that true? What kind of computations or algorithms naturally give rise -- in the sense as does divide-and-conquer gives rise to logarithm --  to iterated logarithm and inverse Ackermann function? &lt;/p&gt;&#xA;" OwnerUserId="21930" LastActivityDate="2014-03-08T21:15:05.203" Title="What kind of computations or algorithms give rise to iterated logarithm and inverse Ackermann function?" Tags="&lt;complexity-classes&gt;" AnswerCount="0" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="21444" PostTypeId="1" CreationDate="2014-03-08T22:19:40.760" Score="4" ViewCount="1042" Body="&lt;p&gt;I'm working on a problem which MAY be reduced to the following version of Knapsack:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose two items $e_i$ and $e_j$ have profit $p_i$ and $p_j$ respectively. However, if both items are present in the knapsack, then for some $i$ and $j$, the combined profit of $e_i$ and $e_j$ is NOT $p_i+p_j$. It could be lower or higher. Note that in general, profits could be additive, but for some pairs of elements, our new rule holds, and we know in advance the value of $profit(\{e_i\} \cup \{e_j\})$ for such pairs. As always we want to maximize total profit.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So my question is, has work been done on such a variant of knapsack? Are there papers that can I read to better understand this formulation? I am not well-versed with the entire literature of Knapsack, and I tried to search for this but came up empty.&lt;/p&gt;&#xA;" OwnerUserId="21968" LastActivityDate="2021-04-23T12:09:56.427" Title="Knapsack with dependent profits (pairs of items)" Tags="&lt;ds.algorithms&gt;&lt;optimization&gt;" AnswerCount="1" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="21446" PostTypeId="2" ParentId="21442" CreationDate="2014-03-09T00:24:05.157" Score="7" Body="&lt;p&gt;You don't need to keep track of all $3$ colours for your colouring, because we know how to two colour quickly. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let the colours be $\{0,1,2\}$. Have an oracle $f: \{0,1\}^{|V|} \rightarrow \{0,1\}$ that you interpret as selection a subset $C_0 \subseteq V$ that you will pretend is $0$-coloured. Your circuit then (1) in polynomial time checks if $V - C_0$ is two-colourable with $\{1,2\}$, and (2) in polynomial time checks if $C_0$ is an independent set. If both are true then it returns $1$, else $0$. Now you are searching over only $2^n$ database entries for a marked element and so have the runtime you wanted.&lt;/p&gt;&#xA;" OwnerUserId="1037" LastActivityDate="2014-03-09T00:24:05.157" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="21448" PostTypeId="1" CreationDate="2014-03-09T08:44:57.423" Score="3" ViewCount="361" Body="&lt;p&gt;We are given a universe $\mathcal{U}=\{e_1,..,e_n\}$ and a set of subsets $\mathcal{S}=\{s_1,s_2,...,s_m\}\subseteq 2^\mathcal{U}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Set-Packing&lt;/strong&gt; asks how many disjoint sets we can pack, and is defined as follows:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a number $k\in[m]$, is there a set $\mathcal{S'} \subseteq \mathcal{S}$,  $|\mathcal{S'}|=k$ such that all of the sets in $\mathcal{S'}$ are disjoint?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Maximum-Coverage&lt;/strong&gt;, allows intersecting sets, but asks how much of the universe can we cover by $k$ sets:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given numbers $k\in[m]$,$r\in[n]$ is there a set $\mathcal{S'} \subseteq \mathcal{S}$,  $|\mathcal{S'}|=k$ such that $|\cup_{s\in\mathcal{S''}}s|\geq r$?&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;I'm interested in what seems to be a combination of the two, a disjoint cover, which aims at covering as much of $\mathcal{U}$ as possible.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Disjoint-Maximum-Coverage&lt;/strong&gt;:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a set $\mathcal{S'} \subseteq \mathcal{S}$ such that $|\cup_{s\in\mathcal{S'}}s|\geq k$ (i.e. it covers at least $k$ elements) &lt;strong&gt;and&lt;/strong&gt; the sets in $\mathcal{S'}$ are disjoint?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;What can we say about the approximation hardness of $DMC$?&lt;/strong&gt;&#xA;Is this problem known under a different name?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Related results:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Both &lt;strong&gt;Set-Packing&lt;/strong&gt; and &lt;strong&gt;Maximum-Coverage&lt;/strong&gt; are known to be $APX$-Hard (and even stronger than that - Unless $P=NP$, $SP$ can't be approximated within $ln(|S|)(1-o(1))$, and $MC$ has a tight bound using the greedy algorithm).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$MC$ is approximable within $1-\frac{1}{e} + o(1)$, while the best known bound for $SP$ is a $O(\sqrt S)$ approximation.&lt;/p&gt;&#xA;" OwnerUserId="21001" LastEditorUserId="495" LastEditDate="2014-03-09T15:55:02.537" LastActivityDate="2014-03-19T16:54:34.400" Title="Set packing with maximum coverage objective" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;complexity-classes&gt;&lt;approximation-algorithms&gt;&lt;approximation-hardness&gt;" AnswerCount="2" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21449" PostTypeId="2" ParentId="21448" CreationDate="2014-03-09T16:03:09.253" Score="1" Body="&lt;p&gt;Optimization version of 3D matching is a special case of your problem. Approximating &lt;a href=&quot;http://www.nada.kth.se/~viggo/wwwcompendium/node143.html&quot; rel=&quot;nofollow&quot;&gt;Maximum 3D Matching&lt;/a&gt; is $APX$-complete. However, it is approximable within 3/2$+\epsilon $ for any  $\epsilon &amp;gt;0$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;References:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hurkens, C. A. J., and Schrijver, A. (1989), On the size of systems of sets every t of which have an SDR, with an application to the worst-case ratio of heuristics for packing problems, &#xA;SIAM J. Disc. Math. 2, 68-72. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Kann, V. (1991), Maximum bounded 3-dimensional matching is MAX SNP-complete, Inform. Process. Lett. 37, 27-35. &lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2014-03-09T16:18:13.173" LastActivityDate="2014-03-09T16:18:13.173" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21451" PostTypeId="1" CreationDate="2014-03-09T17:54:41.433" Score="7" ViewCount="300" Body="&lt;p&gt;It is well known that minimizing an NFA for a fixed regular language is $PSPACE-Complete$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As far as I know, there are no better than trivial algorithms for minimizing such NFA, but there's a little improvement if you consider symmetries.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I've a specific regular language I'd like to compute a minimal automaton for:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;L_{k-distinct} :=\{w = \sigma_1\sigma_2...\sigma_k \mid \forall i\in[k]: \sigma_i\in\Sigma ~\text{ and }~ \forall j\ne i: \sigma_j\ne\sigma_i \}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But at the moment &lt;a href=&quot;https://cstheory.stackexchange.com/questions/20468/bounds-on-the-size-of-the-smallest-nfa-for-l-k-distinct&quot;&gt;I can't seem to close the gap between&lt;/a&gt; the automaton I know to build for it and the lower bound I can prove for it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I thought it might be fruitful to use some tool that given a language (it is finite for all $k,n$), searches (exhaustively if needed) for the smallest automaton which accept it, and see what the automaton looks like for small values of $k,n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Does anyone know a tool which builds a minimal automaton for a given language?&lt;/strong&gt;&lt;/p&gt;&#xA;" OwnerUserId="21001" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2014-03-09T21:46:15.090" Title="A tool for minimal NFA computation" Tags="&lt;reference-request&gt;&lt;automata-theory&gt;&lt;nondeterminism&gt;&lt;minimization&gt;&lt;nfa&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="21452" PostTypeId="1" CreationDate="2014-03-09T20:30:24.117" Score="8" ViewCount="747" Body="&lt;p&gt;I conjecture that if $ G $ is a simple triangle-free graph, then there is a set of at most $ n^2/25 $ edges whose deletion destroys every odd cycle.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For more information, see the 1988 paper by Erdös et al., &lt;em&gt;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.99.8611&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;nofollow&quot;&gt;How to Make a Graph Bipartite&lt;/a&gt;&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Question 1: Is this conjecture true by your intuition?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Question 2: What is the complexity of counting the number of odd cycles in a graph? Is there any efficient algorithm to do that?&lt;/p&gt;&#xA;" OwnerDisplayName="user17918" LastEditorUserId="4193" LastEditDate="2014-04-15T18:56:18.857" LastActivityDate="2014-04-15T18:56:18.857" Title="Intuition: Odd-cycle transversal in triangle-free graphs" Tags="&lt;graph-theory&gt;" AnswerCount="2" CommentCount="5" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21453" PostTypeId="2" ParentId="21451" CreationDate="2014-03-09T20:33:36.920" Score="0" Body="&lt;p&gt;There is an elementary argument showing that a minimal NFA must have $O(|\Sigma|^k)$ states, so I guess the standard construction is essentially optimal. The argument is as follows. Suppose w.l.o.g. that $A$ is a NFA without $\epsilon$-transitions recognizing $L_k$. We can make the following assumptions:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$A$ has a unique starting state $q_0$ and each state recognizes a non-empty language;&lt;/li&gt;&#xA;&lt;li&gt;$A$ is acyclic, and contains $k+1$ levels where each state at level $i$ only recognizes words in $L_i$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;It can be seen that if two words of $L_i$ have a different set of letters, then they cannot lead to the same state starting from $q_0$. It follows that the number of states at level $i$ is at least $\binom{|\Sigma|}{i}$, and thus the total number of states is at least $\sum_{i = 0}^{k} \binom{|\Sigma|}{i} = O(|\Sigma|^k)$.&lt;/p&gt;&#xA;" OwnerUserId="21984" LastActivityDate="2014-03-09T20:33:36.920" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="21455" PostTypeId="2" ParentId="21451" CreationDate="2014-03-09T21:46:15.090" Score="5" Body="&lt;p&gt;The following paper reports on an implementation of the Kameda-Weiner algorithm for computing a minimal NFA, as well on an approach using a SAT solver. I don't know whether the implementation is available, but perhaps you can contact the authors about this.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Jaco Geldenhuys, Brink van der Merwe, and Lynette van Zijl. Reducing Nondeterministic Finite Automata with SAT Solvers. Revised Selected Papers from the 8th International Workshop on Finite-State Methods and Natural Language Processing (FSMNLP 2009), LNCS 6062, Springer, pages 81-92, 2010. &lt;/p&gt;&#xA;" OwnerUserId="2367" LastActivityDate="2014-03-09T21:46:15.090" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21456" PostTypeId="1" AcceptedAnswerId="21468" CreationDate="2014-03-09T22:09:50.600" Score="0" ViewCount="117" Body="&lt;p&gt;In packing problems, we need to select a set of sets of items, such that no item is chosen twice (in $Set-Packing$, the actual items must not be packed twice, in $Graph-Packing$ the copies of the graph has to be vertex disjoint, in multidimensional matching every item has to appear once, etc.).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there any studied problems that ask for packing such that every item is packed at most $p$ times?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, is there any known reference for (perhaps under a different name?)-&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$repetition-Set-Packing$:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;given a universe $\mathcal{U}=\{e_1,..,e_n\}$, two numbers $k,r\in \mathbb{N}$ and a set of subsets $\mathcal{S}=\{s_1,s_2,...,s_m\}\subseteq 2^\mathcal{U}$, is there a set $\mathcal{S'} \subseteq \mathcal{S}$,  $|\mathcal{S'}|=k$ such that every item in $\mathcal{U}$ appears in at most $r$ sets in $S'$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there any other works on packing with limitied repetitions?&lt;/p&gt;&#xA;" OwnerUserId="21001" LastActivityDate="2014-03-10T14:23:28.187" Title="Packing problems with repetitions" Tags="&lt;reference-request&gt;&lt;packing&gt;&lt;covering-problems&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21458" PostTypeId="1" CreationDate="2014-03-09T22:51:34.547" Score="4" ViewCount="1069" Body="&lt;p&gt;Consider a naive MAX SAT approximation algorithm:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;pick a literal $l$ which appears in maximum number of clauses&lt;/li&gt;&#xA;&lt;li&gt;set the corresponding variable of $l$, such that all clauses containing $l$ are satisfied&lt;/li&gt;&#xA;&lt;li&gt;repeat on the reduced formula until no variables remain&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;What is the approximation factor of the algorithm?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's easy to show by induction, that at least half of all clauses will end up sattisfied. But I can't find a tight example  with only 1/2 clauses sattisfied and all clauses satisfiable. I expect, that the approximation ratio is better than 1/2, but I can neither prove it nor disprove it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thank you very much.&lt;/p&gt;&#xA;" OwnerUserId="21985" LastActivityDate="2014-03-10T19:58:19.580" Title="Greedy MAX SAT approximation ratio" Tags="&lt;approximation-algorithms&gt;&lt;approximation&gt;&lt;max2sat&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21459" PostTypeId="2" ParentId="21458" CreationDate="2014-03-09T23:07:21.570" Score="5" Body="&lt;p&gt;The described algorithm is actually Johnson's algorithm (with order on the vertices) which is known to achieve&lt;a href=&quot;http://www.researchgate.net/publication/222467398_Tight_Bound_on_Johnson%27s_Algorithm_for_Maximum_Satisfiability/file/5046351cbf32169123.pdf&quot;&gt;$\frac{2}{3} ratio$&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="21001" LastActivityDate="2014-03-09T23:07:21.570" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="21460" PostTypeId="2" ParentId="21458" CreationDate="2014-03-09T23:27:12.627" Score="8" Body="&lt;p&gt;To complement the other answer: &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=2133036.2133086&quot;&gt;Costello, Shapira and Tetali&lt;/a&gt; showed that the expected approximation ration achieved by Johnson's algorithm on a random permutation of the variables is strictly better than $\frac{2}{3}$. &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=2133087&quot;&gt;Poloczek and Schnitger&lt;/a&gt; showed that another randomized version of the algorithm has expected approximation ratio $\frac{3}{4}$, and that the random permutation version does worse than $\frac{3}{4}$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;By the way do not feel bad about getting stuck on this. Proving an approximation ratio better than $\frac{1}{2}$ for this algorithm was an open problem for a while.&lt;/p&gt;&#xA;" OwnerUserId="4896" LastActivityDate="2014-03-09T23:27:12.627" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="21465" PostTypeId="2" ParentId="21172" CreationDate="2014-03-10T07:40:14.503" Score="1" Body="&lt;p&gt;I think I can now demonstrate a nontrivial lower bound. The idea is to implement any such program with a family of comparison branching programs. The `read-only' assumption means that our family of branching programs uses little, i.e. $O(\log n)$, space. Then we apply the lower bound $ST=\Omega(n^2)$ proved by Borodin et al. in &quot;A Time-Space Tradeoff for Sorting on non-oblivious Machines.&quot; This gives us a $n^2/\log n$ lower bound for the time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In a bit more detail: We can dispense with operation 5 above. Loosely speaking, if we can already compare the heads of two lists and print the head of a list, then there is no need for us to isolate the head of a list on a particular register. Assuming this, we see that every register in the machine only ever stores a final substring of the input.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose our register program has $\ell$ lines of code and $k$ registers, $X_1,\dots,X_k$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Fix $n$. We construct the comparison branching program for strings of length $n$ as follows. Create a node for each tuple $(i,d_1,\dots,d_k)$ where $1\le i\le \ell$  and $0\le d_1 ,\dots, d_k \le n$. The idea is, computations in the register machine correspond to paths in the branching program, and we're at node $(i,d_1 ,\dots, d_k)$ if we're at line $i$ in the register machine and the length of the string stored in $X_i$ is $d_i$. Now, we have to define the directed edges of the branching program&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If line $i$ is of the form&lt;/p&gt;&#xA;&#xA;&lt;p&gt;if $X_u&amp;lt;X_v$ then goto $i_1$ else goto $i_2$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;then for all $d_1,\dots,d_k$, node $(i,d_1,\dots,d_k)$ is labelled by comparing the $d_u$-th and $d_v$-th element of input, and having the &quot;true&quot; edge go to $(i_1,d_1,\dots,d_k)$, and the &quot;false&quot; edge to $(i_2,d_1,\dots,d_k)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If line $i$ is of the form &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$X_1 \leftarrow tail(X_2)$, goto line $i'$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;then there is an arrow from any node $(i,d_1,\dots,d_k)$ to $(i',d_2-1,\dots,d_k)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If line $i$ is of the form &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$print(head(X_u))$, goto line $i'$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;then there is an arrow from any node $(i,d_1,\dots,d_k)$ to $(i',d_1,\dots,d_k)$ which is labelled by the $d_u$-th node of the input.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hopefully these examples make it clear how I intend to construct my branching program. When all is said and done, this branching program has at most $\ell\cdot n^k$ nodes, so it has space $O(\log n)$&lt;/p&gt;&#xA;" OwnerUserId="16737" LastActivityDate="2014-03-10T07:40:14.503" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21466" PostTypeId="2" ParentId="21434" CreationDate="2014-03-10T08:10:33.680" Score="3" Body="&lt;p&gt;The &quot;&lt;strong&gt;split-substitute&lt;/strong&gt;&quot; graphs are the graphs starting with a split graph and substituting any split graph into any node.&#xA;The forbidden induced subgraphs can be obtains from the forbidden induced subgraphs of split graphs (c4, C5, co-C4), but replacing the non-prime ones (c4 and co-c4) with their minimal prime extensions... (here primality is with respect with modular decomposition.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So the 5 forbidden induced subgraphs are the C5, P5, co-P5, H6 and co-H6. This forms a self-complementary class which strictly contains the class of cographs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See: &lt;a href=&quot;http://webdocs.cs.ualberta.ca/~hayward/papers/p4comp.online.pdf&quot; rel=&quot;nofollow&quot;&gt;http://webdocs.cs.ualberta.ca/~hayward/papers/p4comp.online.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;The &lt;strong&gt;maxibrittle&lt;/strong&gt; graphs are the perfectly orderable graphs for which a vertex sequence defined only by the degrees will produce a perfect order (more specifically, the degree sequence defines a brittle ordering). These graphs have exactly 5 minimal forbidden induced subgraphs.&lt;/p&gt;&#xA;" OwnerUserId="2414" LastEditorUserId="2414" LastEditDate="2014-03-10T08:26:22.983" LastActivityDate="2014-03-10T08:26:22.983" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21467" PostTypeId="2" ParentId="21434" CreationDate="2014-03-10T11:57:56.087" Score="0" Body="&lt;p&gt;After browsing the &lt;a href=&quot;http://www.graphclasses.org/&quot; rel=&quot;nofollow&quot;&gt;ISGCI&lt;/a&gt; site I came across the following class: &lt;a href=&quot;http://www.graphclasses.org/classes/gc_89.html&quot; rel=&quot;nofollow&quot;&gt;opposition graphs&lt;/a&gt;.&#xA;They seem a possible candidate for your question, but is their obstruction set known?&lt;/p&gt;&#xA;" OwnerUserId="21990" LastEditorUserId="21798" LastEditDate="2014-04-09T21:51:58.463" LastActivityDate="2014-04-09T21:51:58.463" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="21468" PostTypeId="2" ParentId="21456" CreationDate="2014-03-10T14:23:28.187" Score="4" Body="&lt;p&gt;Yes, people do consider these problems but there is no standard name. A useful way to think about these problems is via packing integer programs. Consider the problem $\max wx$ such that $Ax \le b, x \in {0,1}^n$ where $A$ is a $m \times n$ non-negative matrix. The width of the program is $\min_{i,j} b_i/A_{i,j}$ (which we can assume is at least $1$). If $A$ is a $0,1$ matrix and $b$ is an integer vector then this captures packing problems where one allows repetitions up to $\min_i b_i$. Packing problems become easier as width increases. For Set Packing one can get an approximation of the form $d^{1/W}$ where $W$ is the width and $d$ is the maximum set size and this is more or less tight from hardness of maximum independent set. In particular when $W = \Omega(\log d)$ one gets a constant factor approximation.&lt;/p&gt;&#xA;" OwnerUserId="176" LastActivityDate="2014-03-10T14:23:28.187" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21469" PostTypeId="1" CreationDate="2014-03-10T15:41:19.360" Score="5" ViewCount="1045" Body="&lt;p&gt;I have seen this statement before, but I haven't really seen a proof of it:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $SAT\in PCP_{1,2^{−q}}[\log(n),q]$, for some constant $q$, then $P = NP$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, if $SAT\in PCP_{1,2^{−q}}[\log(n),q]$, then SAT reduces to $GAP-q-CSP[1,2^{-q}]$. So to show $P = NP$, how do we show then that $GAP-q-CSP[1,2^{-q}]$ is in $P$?&lt;/p&gt;&#xA;" OwnerUserId="21148" LastActivityDate="2014-03-11T15:11:37.277" Title="If SAT is in PCP, for some constant q, then P = NP" Tags="&lt;cc.complexity-theory&gt;&lt;sat&gt;&lt;pcp&gt;&lt;p-vs-np&gt;" AnswerCount="3" CommentCount="5" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="21470" PostTypeId="1" CreationDate="2014-03-10T16:55:49.353" Score="9" ViewCount="1866" Body="&lt;p&gt;Is checking transitivity of a digraph not easier than (in terms of asymptotic complexity) taking the transitive closure of the digraph? Do we know any lower bound better than $\Omega(n^2)$ to determine if a digraph is transitive or not?&lt;/p&gt;&#xA;" OwnerUserId="21993" LastEditorUserId="21993" LastEditDate="2014-03-13T22:15:41.603" LastActivityDate="2014-03-18T11:34:54.020" Title="Transitivity check vs. Transitive Closure" Tags="&lt;graph-theory&gt;&lt;directed-acyclic-graph&gt;&lt;transitive-closure&gt;" AnswerCount="5" CommentCount="6" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="21471" PostTypeId="1" AcceptedAnswerId="27850" CreationDate="2014-03-10T18:09:00.123" Score="3" ViewCount="262" Body="&lt;p&gt;Let $C$ be a concept class with VC dimension $d$ exponential to the input size (i.e number of variables represented in each concept $c\in C$). I am looking for papers/resources/suggestions of how computational learning community handle the learnability of $C$.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;One thing I am thinking about is investigating the learnability of $C$ in active learning. Hoping that I will end up with less number of examples required. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, I prefer to stick with the passive learning for now and wondered what else I can do for this poor $C$? As I am new to the field, I also wish to have some examples of concept classes with exponential VC dimension. &lt;/p&gt;&#xA;" OwnerUserId="17991" LastActivityDate="2014-12-15T22:22:27.377" Title="How to deal with concept classes with exponential value of VC dimension" Tags="&lt;machine-learning&gt;&lt;lg.learning&gt;&lt;vc-dimension&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21474" PostTypeId="1" AcceptedAnswerId="21481" CreationDate="2014-03-10T20:03:36.870" Score="10" ViewCount="205" Body="&lt;p&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Circuit_minimization_for_Boolean_functions&quot;&gt;Circuit Minimization&lt;/a&gt; is the problem to minimize the size of a given circuit. Is there anything similar for general programs? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In particular my question is -&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Do there exist algorithms to minimize the # of instructions for a given program. I know it's an undecidable problem but I'm not looking for a solution that returns something optimal. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;While one can apply preexisting compiler transformations to accomplish this, I'm looking for something where I don't have to define a set of very narrow transformations and algorithms to search for them beforehand.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit: The other question I have is whether one can have a calculus that is sound and complete that allows us to explore the whole space of such semantically equivalent programs or is that not possible.&lt;/p&gt;&#xA;" OwnerUserId="24" LastActivityDate="2014-03-11T11:24:00.937" Title="Program Minimization" Tags="&lt;pl.programming-languages&gt;&lt;optimization&gt;&lt;circuit-complexity&gt;&lt;semantics&gt;&lt;compilers&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21475" PostTypeId="2" ParentId="12027" CreationDate="2014-03-10T23:17:22.070" Score="1" Body="&lt;p&gt;The main credit should go to &lt;strong&gt;John Fearnley&lt;/strong&gt;!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is a PSPACE-complete problem given in &lt;a href=&quot;http://dx.doi.org/10.1007/978-3-642-39212-2_21&quot; rel=&quot;nofollow&quot;&gt;(John Fearnley, Marcin Jurdzinski: Reachability in Two-Clock Timed Automata Is PSPACE-Complete. ICALP (2) 2013: 212-223)&lt;/a&gt;:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;\begin{equation}&#xA;	\mathtt{SUBSETSUM\mbox{-}GAME}=\{ S~ \forall(a_1 , b_1) \exists(e_1,f_1) \cdots \forall(a_n , b_n) \exists(e_n,f_n)  \},&#xA;\end{equation}&#xA;where &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$S$ and each $ a_i,b_i,e_i $, and $f_i$ are natural numbers ($1 \leq i \leq n$); and,&lt;/li&gt;&#xA;&lt;li&gt;for every $ x=(x_1,\ldots,x_n) \in \times_{i=1}^n  \{ a_i,b_i \} $, there exists a $ y=(y_1,\ldots,y_n) \in \times_{i=1}^n  \{ e_i,f_i \} $ such that $ S = \sum_{i=1}^n = x_i+y_i $.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Similarly, we can define some complete problems for each level of polynomial hierarchy (PH). But, of course, in case of being complete at some level of PH, we need to release the condition of having only two natural numbers after each quantifier.&lt;/p&gt;&#xA;" OwnerUserId="7358" LastActivityDate="2014-03-10T23:17:22.070" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21476" PostTypeId="2" ParentId="21469" CreationDate="2014-03-10T23:30:40.973" Score="-7" Body="&lt;p&gt;along these lines a property relating PCP and NP can be found in the following citation p63 from &lt;a href=&quot;http://www.unizar.es/acz/05Publicaciones/Monografias/MonografiasPublicadas/Monografia26/057Mayordomo.pdf&quot; rel=&quot;nofollow&quot;&gt;P vs NP&lt;/a&gt; by Mayordomo (2004):&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;The best known result [2] is that NP is exactly the class of problems&#xA;  that can be solved by probabilistic verifiers using a constant number of certiﬁcate bits&#xA;  (that is, the same number of bits for all inputs and certiﬁcates) and a logarithmic number&#xA;  of random bits, this is the complexity class PCP(log n, 1).&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;the ref is:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] S. Arora, C. Lund, R. Motwani, M. Sudan, and M. Szegedy. Proof veriﬁcation and the&#xA;hardness of approximation problems. Journal of the ACM, 45(3):501–555, 1998.&lt;/p&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2014-03-10T23:30:40.973" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21477" PostTypeId="2" ParentId="21452" CreationDate="2014-03-10T23:39:55.527" Score="8" Body="&lt;p&gt;My intuition says it's probably true, and here's a matching lower bound (i.e. a graph of which you have to delete at least $\frac{n^2}{25}$ edges for it to become bipertite:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$G=(V_1\cup V_2\cup V_3\cup V_4\cup V_5, (V_1\times V_2) \cup (V_2\times V_3) \cup (V_3\times V_4) \cup (V_4\times V_5) \cup (V_5\times V_1))$&#xA;, $|V_1| = |V_2| = |V_3| = |V_4| = |V_5|$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This graph is certainly triangle free, but if $x&amp;lt;\frac{n^2}{25}$ edges are to be deleted there will still exist a $C_5=v_1\to v_2\to v_3\to v_4\to v_5 \to v_1$  for some vertices $v_1\in V_1, v_2\in V_2, v_3\in V_3, v_4\in V_4, v_5\in V_5$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As for the second question, &lt;a href=&quot;http://www.stanford.edu/~rrwill/presentations/counting-k-paths.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;it is well known that counting simple cycles of length $2k+1$ are $\#W[1]-hard$&lt;/a&gt;, with respect to $k$, and can't be computed in time $n^{o(k)}$ unless ETH fails.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is, however, &lt;a href=&quot;https://cstheory.stackexchange.com/questions/20246/counting-the-number-of-simple-paths-in-undirected-graph/21278#21278&quot;&gt;a possibility to approximate the number of such cycles&lt;/a&gt; in $O^*(2^{O(k)})$.&lt;/p&gt;&#xA;" OwnerUserId="21001" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2014-03-10T23:39:55.527" CommentCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="21478" PostTypeId="2" ParentId="11119" CreationDate="2014-03-10T23:52:18.363" Score="5" Body="&lt;p&gt;I think Amnon Ta-Shma's new result is a good answer to my own question.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://doi.acm.org/10.1145/2488608.2488720&quot; rel=&quot;nofollow&quot;&gt;Amnon Ta-Shma: Inverting well conditioned matrices in quantum logspace. STOC 2013: 881-890&lt;/a&gt;. (&lt;a href=&quot;http://www.cs.tau.ac.il/~amnon/Papers/T.stoc13.IntQLog.pdf&quot; rel=&quot;nofollow&quot;&gt;copy from author's website&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;...  We show that the inverse of a well conditioned matrix can be approximated in quantum logspace with intermediate measurements. This should be compared with the best known classical algorithm for the problem that requires $\Omega(\log^2 n)$ space. We also show how to approximate the spectrum of a normal matrix, or the singular values of an arbitrary matrix, with $\epsilon$ additive accuracy, and how to approximate the singular value decomposition (SVD) of a matrix whose singular values are well separated. ...&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="7358" LastEditorUserId="186" LastEditDate="2014-03-11T05:49:44.990" LastActivityDate="2014-03-11T05:49:44.990" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21479" PostTypeId="2" ParentId="21469" CreationDate="2014-03-11T03:09:03.310" Score="9" Body="&lt;p&gt;Given a CSP where all constraints have arity at most $q$ we want to distinguish between the case where everything is satisfiable and the case where at most $1/2^q$ fraction of the constraints are satisfiable, in polynomial time. Here is how this can be done.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First, all predicates used in the CSP must have at least one satisfying assignment (otherwise we know that the instance is not perfectly satisfiable and we are done). If a used predicate has two or more satisfying assignments, then, if we take a random assignment for all variables some constraint is satisfied with probability at least $2/2^q&amp;gt;1/2^q$. Since all other constraints are satisfied with probability at least $1/2^q$, by linearity of expectations there exists an assignment that satisfies strictly more than $1/2^q$ fraction of the constraints and we are done in this case.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, suppose that all predicates used have exactly one satisfying assignment. Then the CSP is an instance of DNF-SAT, which can be decided in polynomial time (we only need to check if any two constraints have a conflict).&lt;/p&gt;&#xA;" OwnerUserId="3168" LastEditorUserId="3168" LastEditDate="2014-03-11T15:11:37.277" LastActivityDate="2014-03-11T15:11:37.277" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21480" PostTypeId="2" ParentId="21469" CreationDate="2014-03-11T08:00:03.463" Score="3" Body="&lt;p&gt;The algorithm is as follows:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;If one of the constraints has no satisfying assignments, then output NO.&lt;/li&gt;&#xA;&lt;li&gt;Otherwise, output YES&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Obviously this can be done in polynomial time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the analysis note that if one of the constraints has no satisfying assignments, then clearly the given instance is not satisfiable.&#xA;Otherwise, if all constraints are satisfiable, then a random assignment satisfies each assignment with probability at least $2^{-q}$, and so, in expectation a random assignment satisfies at least $2^{-q}$ fraction of the constraints. This means that the value of the given CSP instance is at least $2^{-q}$, and by the gap assumption must be 1.&lt;/p&gt;&#xA;" OwnerUserId="15711" LastActivityDate="2014-03-11T08:00:03.463" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21481" PostTypeId="2" ParentId="21474" CreationDate="2014-03-11T11:24:00.937" Score="10" Body="&lt;p&gt;There is a naive algorithm for programs with bounded-size inputs: enumerate all programs in order of increasing length (or execution time, which is a bounded function of the length). If you can prove that the program is equivalent to the original, stop; otherwise keep searching.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This algorithm is sound. In order for it to be complete, you need to be able to prove all rejected programs are not equivalent to the original. This is possible in finitary machine models, as long as you have a bound for the input size.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that when the program execution time depends on the input, there may not be an optimal solution. If you look for e.g. a worst-case bound, you'll very quickly run into undecidable equivalences when you quantify over all possible unbounded inputs, and into untractable problems if the inputs are bounded.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A decade ago, &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.23.5676&amp;amp;rank=4&quot;&gt;“Denali: A Goal-Directed Superoptimizer” by Rajeev Joshi , Greg Nelson and Keith Randall&lt;/a&gt; was able to find optimal programs of about 5 machine instructions. I haven't looked at more recent results.&lt;/p&gt;&#xA;" OwnerUserId="634" LastActivityDate="2014-03-11T11:24:00.937" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21483" PostTypeId="1" CreationDate="2014-03-11T11:49:29.703" Score="7" ViewCount="1845" Body="&lt;p&gt;Can someone explain to me what real world applications could potentially benefit from the study of quantum random walks?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have researched a fair amount on how quantum walks operate and their properties but I would like to know the end goal of studying them at a deep level? Is it simply for the sake of it in terms of mathematics or computer science, or are there actual real-world applications that can benefit from this research?&lt;/p&gt;&#xA;" OwnerUserId="22001" LastActivityDate="2018-02-18T09:59:07.560" Title="Applications of Quantum Walks?" Tags="&lt;quantum-computing&gt;&lt;random-walks&gt;&lt;quantum-walk&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="21484" PostTypeId="2" ParentId="21483" CreationDate="2014-03-11T12:58:30.267" Score="9" Body="&lt;p&gt;With the exception of cryptography applications like &lt;a href=&quot;https://en.wikipedia.org/wiki/Shor%27s_algorithm&quot; rel=&quot;noreferrer&quot;&gt;Shor's algorithm&lt;/a&gt; and &lt;a href=&quot;https://en.wikipedia.org/wiki/Quantum_key_distribution&quot; rel=&quot;noreferrer&quot;&gt;quantum key distribution&lt;/a&gt;, I think engineering 'killer-apps' are not the norm for quantum computing, and nobody expects them to be. As such, quantum walks are a natural generalization of random walks and thus worth studying in their own right. However, to avoid side-stepping any longer, I can give you some motivation and past successes.&lt;/p&gt;&#xA;&lt;p&gt;First, just like with classical random walks, we can use quantum random walks in the &lt;strong&gt;design of algorithms&lt;/strong&gt;. This can give us &lt;strong&gt;complexity seperations&lt;/strong&gt; in the &lt;a href=&quot;http://egtheory.wordpress.com/2013/12/09/quantum-query-complexity/&quot; rel=&quot;noreferrer&quot;&gt;quantum query model&lt;/a&gt; by looking at glued trees (two binary trees attached leaf-to-leaf via a random permutation); there is no classical randomized algorithm (walk or otherwise) to get from one root to the other in a polynomial number of queries, but the quantum walk does it in polynomial number of queries:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Childs, A. M., Cleve, R., Deotto, E., Farhi, E., Gutmann, S., &amp;amp; Spielman, D. A. (2003). Exponential algorithmic speedup by a quantum walk. In &lt;em&gt;SToC&lt;/em&gt; (pp. 59-68). ACM.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Of course, this relies on this problem being a partial function, since &lt;a href=&quot;https://cstheory.stackexchange.com/q/6077/1037&quot;&gt;for total-functions we know that exponential separations are not possible, and expect quadratic separation to be the best generally achievable result&lt;/a&gt; for quantum query complexity of total-functions. However, if you have a good classical Markov-chain based algorithm then we know that in many cases, the quantum version will have a quadratically faster hitting time, saturating the expected speed up:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Szegedy, M. (2004). Quantum speed-up of Markov chain based algorithms. In &lt;em&gt;FoCS&lt;/em&gt; (pp. 32-41). IEEE.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Quantum walk approaches also resulted in optimal query algorithms for less &amp;quot;artificial&amp;quot; problems like element distinctness, where it is the best known algorithm:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Ambainis, A. (2007). Quantum walk algorithm for element distinctness. &lt;em&gt;SIAM Journal on Computing&lt;/em&gt;, 37(1), 210-239.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;In general, quantum walks are very powerful, and could also be used as &lt;strong&gt;models of universal computation&lt;/strong&gt;:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Childs, A. M. (2009). Universal computation by quantum walk. &lt;em&gt;Physical Review Letters&lt;/em&gt;, 102(18), 180501.&lt;/p&gt;&#xA;&lt;p&gt;Childs, A. M., Gosset, D., &amp;amp; Webb, Z. (2013). Universal Computation by Multiparticle Quantum Walk. &lt;em&gt;Science&lt;/em&gt;, 339(6121), 791-794.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;If you want to take your applications outside of theoretical computer science and into the &lt;em&gt;real-world&lt;/em&gt; of natural sciences, then you can also use quantum random walks just like classical ones: to model and understand certain natural processes. The paradigmatic example of this is for &lt;strong&gt;modeling photosynthesis&lt;/strong&gt;:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Engel GS, Calhoun TR, Read EL, Ahn TK, Mancal T, Cheng YC et al. (2007). Evidence for wavelike energy transfer through quantum coherence in photosynthetic systems. &lt;em&gt;Nature&lt;/em&gt; 446 (7137): 782–6.&lt;/p&gt;&#xA;&lt;p&gt;Rebentrost, P., Mohseni, M., Kassal, I., Lloyd, S., &amp;amp; Aspuru-Guzik, A. (2009). Environment-assisted quantum transport. &lt;em&gt;New Journal of Physics&lt;/em&gt;, 11(3), 033003.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;In the above work it was shown (roughly) that after a photon hits the chlorophyll, it is transformed into an exciton which does a quantum random walk on the chlorophyll complex until it finds a binding site where it can share its energy to turn an ADP into ATP. A quantum random walk is required by nature, because the lifetime of the exciton is not sufficient for a classical random walk to have sufficient energy transfer. We could get speculative and combine the previous two observations to &lt;a href=&quot;http://egtheory.wordpress.com/2013/04/08/cell-computer/&quot; rel=&quot;noreferrer&quot;&gt;suggest a nature-inspired model of computation&lt;/a&gt; but there is no reason to believe it could be anything better than a toy due to the fast decoherence times.&lt;/p&gt;&#xA;" OwnerUserId="1037" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2014-03-11T13:09:04.780" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21485" PostTypeId="1" AcceptedAnswerId="21526" CreationDate="2014-03-11T16:41:31.563" Score="3" ViewCount="93" Body="&lt;p&gt;Let $G$ be a group, $g ∈_R G, x ∈_R Z_q$, and  $e: G \times G \rightarrow G_T$ be a bilinear paring.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then, given $g, g^x$, is it still hard to compute $g^{x^2}$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;1. In other words is Square Diffie-Hellman hard in Bilinear Groups?&lt;/strong&gt; &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am trying to look for references that have used this problem or a reduction which proves this is hard.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[I am aware of a variant of this called the Flexible Square Diffie-Hellman &lt;a href=&quot;https://www.iacr.org/archive/asiacrypt2005/679/679.pdf&quot; rel=&quot;nofollow&quot;&gt; [Laguillaumie et al]&lt;/a&gt;, which asks to compute $(h,h^x,h^{x^2})$ given $g^x$.]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;2. What about the decisional version of the same problem?&lt;/strong&gt;&lt;/p&gt;&#xA;" OwnerUserId="17325" LastEditorUserId="5038" LastEditDate="2014-03-13T17:47:24.810" LastActivityDate="2014-03-13T19:56:40.657" Title="Is Square DH hard in Bilinear Groups?" Tags="&lt;reference-request&gt;&lt;cr.crypto-security&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="21487" PostTypeId="1" AcceptedAnswerId="21489" CreationDate="2014-03-11T19:14:02.693" Score="12" ViewCount="3534" Body="&lt;p&gt;The Johnson-Lindenstrauss lemma allows one to represent points in a high dimensional space into points in lower dimension. When finding lower dimensional spaces of best fit, a standard technique is to find the singular value decomposition and then take the subspace generated by the largest singular values. When is it of interest to use Johnson-Lindenstrauss over the SVD?&lt;/p&gt;&#xA;" OwnerUserId="22005" LastActivityDate="2014-07-04T09:45:55.197" Title="When to use the Johnson-Lindenstrauss lemma over SVD?" Tags="&lt;machine-learning&gt;" AnswerCount="3" CommentCount="0" FavoriteCount="10" ContentLicense="CC BY-SA 3.0" />
  <row Id="21488" PostTypeId="1" CreationDate="2014-03-11T19:19:42.437" Score="4" ViewCount="126" Body="&lt;p&gt;Is there any algorithm that decides whether a given directed acyclic graph is transitive or not, in time-complexity asymptotically better than boolean matrix multiplication?&lt;/p&gt;&#xA;" OwnerUserId="21993" LastActivityDate="2014-03-11T22:30:42.263" Title="Deciding transitivity of a directed acyclic graph" Tags="&lt;time-complexity&gt;&lt;directed-acyclic-graph&gt;&lt;upper-bounds&gt;&lt;boolean-matrix&gt;" AnswerCount="0" CommentCount="1" FavoriteCount="0" ClosedDate="2014-03-13T21:11:57.843" ContentLicense="CC BY-SA 3.0" />
  <row Id="21489" PostTypeId="2" ParentId="21487" CreationDate="2014-03-11T20:06:07.167" Score="20" Body="&lt;p&gt;The two approaches provide very different guarantees. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The JL Lemma says essentially &quot;you give me the error you want, and I'll give you a low dimensional space that captures the distances upto that error&quot;. It's also a &lt;strong&gt;worst-case&lt;/strong&gt; pairwise guarantee: for &lt;strong&gt;each pair of points&lt;/strong&gt;, etc etc&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The SVD essentially promises &quot;you tell me what dimension you want to live in, and I'll give you the best possible embedding&quot;, where &quot;best&quot; is defined as &lt;strong&gt;on average&lt;/strong&gt;: the total error of true similarity versus projected similarity is minimum. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;So from a theoretical perspective they solve very different problems. In practice, which one you want depends on your model for the problem, what parameters are more important (error or dimension), and what kind of guarantees you need. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2014-03-11T20:06:07.167" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="21491" PostTypeId="2" ParentId="21470" CreationDate="2014-03-11T21:03:55.223" Score="4" Body="&lt;p&gt;Figuring if a DAG is transitive is as hard as deciding if a general digraph is transitive (which bring us back to your previous question :) ).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assume you have an algorithm running in time $O(f(n))$ for deciding if a DAG is transitive.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a directed graph $G$, you can use the following randomized algorithm to decide if $G$ is transitive in time $O(f(n)\cdot \log(\frac{1}{\delta}))$ and error probability $\leq \delta$:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt; 1. for $O(\log{\frac{1}{\delta}})$ iterations:&#xA;&#xA;   1.1. Compute a random permutation on $V$. Denote the result by $&amp;lt;v_1,v_2,...,v_n&amp;gt;$.&#xA;&#xA;   1.2. Set $G'=(V,E\cup \{(v_i,v_j)|i&amp;lt;j\})$ (i.e. compute a random acyclic orientation).&#xA;&#xA;   1.3. If $G'$ (which is acyclic) is not transitive return false.&#xA;&#xA; 2. return true.&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Now it is obvious that if $G$ was transitive, this algorithm return true.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now assume $G$ wasn't transitive. Let $e_1=(v_i,v_j),e_2=(v_j,v_k)\in E$ such that $(v_i,v_k)\notin E$ (there has to be such edges as $G$ is not transitive).&#xA;The probability that $e_1,e_2\in G'$ is $\frac{1}{6}$, therefore in each iteration the probability that the algorithm will figure $G$ wasn't transitive is $\frac{1}{6}$ and after $O(\log{(\delta)})$ iterations the failure probability is at most $\delta$.&lt;/p&gt;&#xA;" OwnerUserId="21001" LastEditorUserId="21001" LastEditDate="2014-03-11T21:37:17.130" LastActivityDate="2014-03-11T21:37:17.130" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21494" PostTypeId="2" ParentId="21470" CreationDate="2014-03-11T22:30:42.263" Score="1" Body="&lt;p&gt;I think this should be feasible in linear time, i.e. $O(n+m)$ where $n$ is the number of vertices and $m$ the number of edges. Maybe by adapting some graph traversal scheme to the directed setting? A starting point could be the &lt;em&gt;LexBFS&lt;/em&gt; / &lt;em&gt;LexDFS&lt;/em&gt; described &lt;a href=&quot;http://citeseerx.ist.psu.edu/showciting?cid=4369072&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;; for directed graphs it seems that we should use topological sorting rather than DFS, so maybe it's possible with some &lt;em&gt;LexTSA&lt;/em&gt; algorithm to discover?&lt;/p&gt;&#xA;" OwnerUserId="21984" LastActivityDate="2014-03-11T22:30:42.263" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21495" PostTypeId="2" ParentId="21487" CreationDate="2014-03-12T00:13:39.260" Score="3" Body="&lt;p&gt;This is a follow-up to Suresh's answer - I googled a bit after reading his answer, and came up with the following understanding. I was originally going to post this as a comment to his answer, but it kept on increasing. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Please point out errors in the answer, I'm no expert in this field.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In some sense, JL and SVD are like apples and oranges.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) The problems they solve are completely different. One is concerned with pairwise distances, the other with the best representation. One is worst case, the other is average case.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The subspace JL returns &lt;strike&gt;(JL isn't constructive, but lets assume it returned a best subspace)&lt;/strike&gt; is the solution to the following optimization &#xA;$$\arg\min\limits_{P} \left\{\sup\limits_{u,v} \left(\Biggl\lvert 1- \frac{||Pu-Pv||_2}{||u-v||_2} \Biggl\rvert \right) \right\} \tag{1}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(This isn't precise, I'll comment more on this later)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem SVD is solving is (given a dimension $k$) &#xA;$$\arg\min\limits_{P\text{ of dim k}} \left\{\text{Avg}\left(||u-Pu||_2\right)\right\} $$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) Inputs: Although both algorithms output subspaces, the inputs they need are different. JL requires a tolerance $\epsilon$ (what is the max error you are willing to tolerate between actual distances and distances in the subspace), while SVD requires number of dimensions. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strike&gt;&#xA;3) JL is nonconstructive, SVD is constructive - this point is a bit vague, as the term constructive is not precisely defined. There are deterministic algorithms for computing the SVD, but the algorithm for finding a JL space is a randomized one - do random projections, if you fail, try again. &#xA;&lt;/strike&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;4) SVD is unique (the subspace may not be unique, but the objective value will be the same for all subspaces). Eqn(1) above isn't precise in the sense that JL doesn't actually talk about minimizing the discrepancy in the pairwise distances - it gives a guarantee about the existence of a smaller subspace where distances will be atmost $\epsilon$ different from their actual values. There could be many such subspaces, some better than the others.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(See comments for explanation regarding striked portions of the answer).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit: @john-myles-white has written a post about JL to verify its claims, and show how a projection can be constructed: &lt;a href=&quot;http://www.johnmyleswhite.com/notebook/2014/03/24/a-note-on-the-johnson-lindenstrauss-lemma/&quot; rel=&quot;nofollow&quot;&gt;http://www.johnmyleswhite.com/notebook/2014/03/24/a-note-on-the-johnson-lindenstrauss-lemma/&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="21564" LastEditorUserId="21564" LastEditDate="2014-03-25T15:05:27.943" LastActivityDate="2014-03-25T15:05:27.943" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="21496" PostTypeId="1" AcceptedAnswerId="21535" CreationDate="2014-03-12T07:08:06.963" Score="5" ViewCount="457" Body="&lt;p&gt;We have a strictly convex function $f(x,y)$ with a global minimum at $p_{min}$. &#xA;The goal is to approximate the minimum. &#xA;E.g. &#xA;$$f: [0,\pi]^2 \to \mathbb{R}$$&#xA;$$f(\theta,\phi) = t_1 \sin \theta + t_2 \sin \phi$$&#xA;where $t_1,t_2$ are constants in $\mathbb{R}^+$.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;We want to find the best possible approximation for the minimum $p_{min}$,&#xA;but we only have noisy black-box access to the function $f$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We can think of the setting as a game with two players Alice and Bob as follows:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Alice provides Bob a point $s$ such that $|s-p_{min}|&amp;lt;r$.&lt;/li&gt;&#xA;&lt;li&gt;Bob provides Alice a point $p$.  &lt;/li&gt;&#xA;&lt;li&gt;Alice provides Bob information about the value of the function on $p$.&#xA;However, the information is noisy: Bob gets $v \sim f(p) + N(\mu,\sigma)$.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;If Bob can pick $k$ points adoptively, &#xA;what would be an optimal strategy for choosing the points s.t. &#xA;the last one is as close as possible to the minimum?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On average, how well can Bob do? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;What would be the dependency of the error on $k$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If it simplifies things, we can use uniform distribution $U[a,b]$ in place of Gaussian distribution for noise.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://mathoverflow.net/questions/159789/gradient-descent-like-optimization-on-a-convex-landscape-with-noisy-sampling&quot;&gt;The copy of the question on MathOverflow.&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="22010" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2014-03-14T00:51:59.797" Title="Gradient descent-like optimization on a convex landscape with noisy sampling" Tags="&lt;approximation-algorithms&gt;&lt;optimization&gt;&lt;convex-optimization&gt;" AnswerCount="1" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="21498" PostTypeId="2" ParentId="4427" CreationDate="2014-03-12T10:14:50.027" Score="1" Body="&lt;p&gt;Due to [Aho, Garey, and Ullman, The transitive reduction of a directed graph, 1972]; $G^t = G - GG^+$, where $G^t$ is the transitive reduction of $G$. In this particular case, $G = G^+$. So, we can conclude $G^t = G - G^2$. Although this result does not lead to a linear non-approximate algorithm, I hope such an observation would be helpful in this context. &lt;/p&gt;&#xA;" OwnerUserId="21993" LastActivityDate="2014-03-12T10:14:50.027" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21502" PostTypeId="2" ParentId="21297" CreationDate="2014-03-12T12:04:49.090" Score="2" Body="&lt;p&gt;My favorites for the first part of your question:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Neal Koblitz: &quot;A Course in Number Theory and Cryptography&quot;&lt;br&gt;&#xA;$\rightarrow$ Very good introduction for mathematical treatment&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Oded Goldreich: &quot;The Foundations of Cryptography&quot;&lt;br&gt;&#xA;$\rightarrow$ More applications, but also a good book for basical interests&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thomas M. Cover and Joy A. Thomas: &quot;Elements of Information Theory&quot;&lt;br&gt;&#xA;$\rightarrow$  This book presents a great overview about the whole package of information theory&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Imre Csiszár and János Körner: &quot;Information Theory: Coding Theorems for Discrete Memoryless Systems&quot;&lt;br&gt;&#xA;$\rightarrow$ Anonther classic for information theory  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Jörg Rothe: &quot;Complexity theory and cryptology&quot;&lt;br&gt;&#xA;$\rightarrow$ This book focussing on the complexity aspects (like the name already says)&lt;/p&gt;&#xA;" OwnerUserId="21809" LastEditorUserId="21809" LastEditDate="2014-03-12T22:28:47.293" LastActivityDate="2014-03-12T22:28:47.293" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="21503" PostTypeId="1" AcceptedAnswerId="25287" CreationDate="2014-03-12T12:32:00.553" Score="9" ViewCount="726" Body="&lt;p&gt;There has been a few questions (&lt;a href=&quot;https://cstheory.stackexchange.com/questions/21488/deciding-transitivity-of-a-directed-acyclic-graph&quot;&gt;1&lt;/a&gt;, &lt;a href=&quot;https://cstheory.stackexchange.com/questions/21470/transitivity-check-vs-transitive-clousure&quot;&gt;2&lt;/a&gt;, &lt;a href=&quot;https://cstheory.stackexchange.com/questions/4427/approximating-transitive-reduction-of-a-transitive-closure-of-a-dag/21498#21498&quot;&gt;3&lt;/a&gt;) about transitive completion here that made me think if something like this is possible:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Assume we get an input directed graph &lt;span class=&quot;math-container&quot;&gt;$G$&lt;/span&gt; and would like to answer queries of type &amp;quot;&lt;span class=&quot;math-container&quot;&gt;$(u,v)\in G^+$&lt;/span&gt;?&amp;quot;, i.e. asking if there exists an edge between two vertices in the transitive completion of a graph &lt;span class=&quot;math-container&quot;&gt;$G$&lt;/span&gt;? (equivalently, &amp;quot;is there a path from &lt;span class=&quot;math-container&quot;&gt;$u$&lt;/span&gt; to &lt;span class=&quot;math-container&quot;&gt;$v$&lt;/span&gt; in &lt;span class=&quot;math-container&quot;&gt;$G$&lt;/span&gt;?&amp;quot;).&lt;/p&gt;&#xA;&lt;p&gt;Assume after given &lt;span class=&quot;math-container&quot;&gt;$G$&lt;/span&gt; you are allowed to run preprocessing in time &lt;span class=&quot;math-container&quot;&gt;$f(n,m)$&lt;/span&gt; and then required to answer queries in time &lt;span class=&quot;math-container&quot;&gt;$g(n,m)$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Obviously, if &lt;span class=&quot;math-container&quot;&gt;$f=0$&lt;/span&gt; (i.e. no preprocessing is allowed), the best you can do is answer a query in time &lt;span class=&quot;math-container&quot;&gt;$g(n)=\Omega(n+m)$&lt;/span&gt;. (run DFS from &lt;span class=&quot;math-container&quot;&gt;$u$&lt;/span&gt; to &lt;span class=&quot;math-container&quot;&gt;$v$&lt;/span&gt; and return true if there exists a path).&lt;/p&gt;&#xA;&lt;p&gt;Another trivial result is that if &lt;span class=&quot;math-container&quot;&gt;$f=\Omega(min\{n\cdot m,n^\omega\})$&lt;/span&gt;, you can compute the transitive closure and then answer queries in &lt;span class=&quot;math-container&quot;&gt;$O(1)$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;p&gt;What about something in the middle? If you are allowed, say &lt;span class=&quot;math-container&quot;&gt;$f=n^2$&lt;/span&gt; preprocessing time, can you answer queries faster than &lt;span class=&quot;math-container&quot;&gt;$O(m+n)$&lt;/span&gt;? Maybe improve it to &lt;span class=&quot;math-container&quot;&gt;$O(n)$&lt;/span&gt;?&lt;/p&gt;&#xA;&lt;p&gt;Another variation is: assume you have &lt;span class=&quot;math-container&quot;&gt;$poly(n,m)$&lt;/span&gt; preprocessing time, but only &lt;span class=&quot;math-container&quot;&gt;$o(n^2)$&lt;/span&gt; space, can you use the preprocessing to answer queries more efficient than &lt;span class=&quot;math-container&quot;&gt;$O(n+m)$&lt;/span&gt;?&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Can we say anything in general about the &lt;span class=&quot;math-container&quot;&gt;$f,g$&lt;/span&gt; tradeoff that allows answering such queries?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;A somewhat similar tradeoff structure is considered in GPS systems, where holding a complete routing table of all pairwise distances between locations is infeasible so it's using the idea of &lt;a href=&quot;http://download.springer.com/static/pdf/194/art%253A10.1007%252Fs00453-011-9543-0.pdf?auth66=1394799508_d3b2253c4e8abb7060cb04bc05f4e19c&amp;amp;ext=.pdf&quot; rel=&quot;noreferrer&quot;&gt;distance oracles&lt;/a&gt; which stores a partial table but allow significant query speedup over computing the distance of the whole graph (usually yielding only approximated distance between points).&lt;/p&gt;&#xA;" OwnerUserId="21001" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2019-04-01T23:10:46.880" Title="Computing a transitive completion / path existence oracle" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;space-time-tradeoff&gt;&lt;transitive-closure&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 4.0" />
  <row Id="21504" PostTypeId="1" AcceptedAnswerId="21506" CreationDate="2014-03-12T14:06:53.223" Score="2" ViewCount="4455" Body="&lt;p&gt;In an NxN grid, I want to select M points (&lt;span class=&quot;math-container&quot;&gt;$1 \leq M \leq N^2$&lt;/span&gt;) so that they are distributed as evenly as possible, spread out everywhere, edge to edge. &lt;strong&gt;Can you suggest a fast algorithm for distributing points evenly over a grid?&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;I won't yet try to formally define &amp;quot;evenly&amp;quot;, because it's not an exact requirement. Low runtime is the most important factor here, so algorithms like &amp;quot;do a random distribution and refine until it satisfies a criteria&amp;quot; are bad, I prefer doing it in a simple nested loop.&lt;/p&gt;&#xA;&lt;hr /&gt;&#xA;&lt;h3&gt;Examples&lt;/h3&gt;&#xA;&lt;p&gt;Let me illustrate with some examples.&lt;/p&gt;&#xA;&lt;p&gt;When M is a square number, the solution is simple, let's say N=5 and M=9:&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;trivial&#xA;#.#.#&#xA;.....&#xA;#.#.#&#xA;.....&#xA;#.#.#&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;It can also work in some special cases when M can be written as a sum of squares, and there's no interference between the squares, for example N=5 and M=13=9+4:&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;two square patterns&#xA;#.#.#&#xA;.X.X.&#xA;#.#.#&#xA;.X.X.&#xA;#.#.#&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;But this wouldn't exactly work for M=10, because after you select 9 points in a square pattern, there's no good place to put the 10th one.&lt;/p&gt;&#xA;&lt;p&gt;My first shot at this was an image dithering algorithm. It looked pretty good when M was big enough, but with small M's, the error distribution makes it biased towards the edges. For example with N=3 and M=1, dithering yields a bad result when a good result is pretty obvious:&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;bad  good&#xA;...  ...&#xA;...  .#.&#xA;..#  ...&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;Let me show another example of a bad and good distribution with N=5 and M=5:&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;bad    good   bad    good&#xA;#....  #...#  .....  .#...&#xA;.#...  .....  .#.#.  ....#&#xA;..#..  ..#..  ..#..  ..#..&#xA;...#.  .....  .#.#.  #....&#xA;....#  #...#  .....  ...#.&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;I'll tell you an idea for a formal definition of &amp;quot;evenly&amp;quot;. But as I said, it doesn't have to be exactly like that, it's more of an intuitive thing. So how about this: let's take every 2x2, 3x3, ... N-1xN-1 subsquare and count the point density in each of them. The deviation of those numbers should be as small as possible. Let's see for N=4 and M=4:&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;one   two&#xA;#.#.  #..#&#xA;....  ....&#xA;#.#.  ....&#xA;....  #..#&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;One:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;2x2 sums: 1/4, 1/4, 1/4, 1/4, 1/4, 1/4, 1/4, 1/4, 1/4&lt;/li&gt;&#xA;&lt;li&gt;3x3 sums: 4/9, 2/9, 2/9, 1/9&lt;/li&gt;&#xA;&lt;li&gt;stddev: 0.06991&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Two:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;2x2 sums: 1/4, 0, 1/4, 0, 0, 0, 1/4, 0, 1/4&lt;/li&gt;&#xA;&lt;li&gt;3x3 sums: 1/9, 1/9, 1/9, 1/9&lt;/li&gt;&#xA;&lt;li&gt;stddev: 0.10758&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;(Even though number two has a higher deviation, it is spread edge to edge, so I prefer it a little, but number one works as well. Dealing with the edges is a not-so important edge-case.)&lt;/p&gt;&#xA;" OwnerUserId="22014" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2014-03-12T15:39:49.153" Title="Fast algorithm to distribute points evenly in a 2D grid" Tags="&lt;ds.algorithms&gt;&lt;application-of-theory&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21505" PostTypeId="2" ParentId="21470" CreationDate="2014-03-12T15:21:59.473" Score="7" Body="&lt;p&gt;It looks like that $\Omega(n^2)$ is the best known lower bound, since any lower bound implies a lower bound for boolean matrix multiplication. We know that transitivity check can be achieved using one boolean matrix multiplication, that is, $G$ is transitive if and only if $G = G^2$.&lt;/p&gt;&#xA;" OwnerUserId="21993" LastEditorUserId="21993" LastEditDate="2014-03-17T15:52:56.027" LastActivityDate="2014-03-17T15:52:56.027" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21506" PostTypeId="2" ParentId="21504" CreationDate="2014-03-12T15:39:49.153" Score="2" Body="&lt;p&gt;The optimal centroidal Voronoi tessellation for the infinite 2D grid is a &lt;a href=&quot;https://orion.math.iastate.edu/reu/2001/voronoi_paper/voronoi.pdf&quot; rel=&quot;nofollow&quot;&gt;hexagon tiling&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can get one of these by placing points at even coordinates on even rows and odd coordinates for odd rows. Depends on the number of points you need.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Start with that then run &lt;a href=&quot;http://en.wikipedia.org/wiki/Lloyd%27s_algorithm&quot; rel=&quot;nofollow&quot;&gt;Lloyd's algorithm&lt;/a&gt; for a few iterations to tidy up the corners and edges.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would compute it offline on a unit square to good precision, then dilate it to your chosen rectangle with a simple linear transformation.&lt;/p&gt;&#xA;" OwnerUserId="2021" LastActivityDate="2014-03-12T15:39:49.153" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="21507" PostTypeId="1" AcceptedAnswerId="21508" CreationDate="2014-03-12T18:19:25.823" Score="1" ViewCount="240" Body="&lt;p&gt;I encountered this sub-problem while working on a problem about robustness of networks against link failures. Suppose we have an undirected graph $G=(V,E)$ such that edges in $E$ have weights taking values from $\{-1,+1\}$. We define the cut-set for $S\subseteq V$ as the set of edges connecting nodes in $S$ to those in $V\backslash S$ (the standard definition), and the cut value of the cut-set as the sum of weights of the edges in it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is known that one can find the cut-set with least cut value (min-cut) in polynomial time (in terms of |V|, |E|). I am interested in finding the cut-set whose cut value is the least and greater than zero (i.e., number of edges of weight +1 exceeds the number of edges of weight -1 in the cut-set) - does there exist a polynomial-time algorithm for generating such a cut-set?  &lt;/p&gt;&#xA;" OwnerUserId="14229" LastActivityDate="2014-03-13T08:30:01.623" Title="Finding a special cut-set in an weighted undirected graph" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21508" PostTypeId="2" ParentId="21507" CreationDate="2014-03-12T18:58:25.347" Score="1" Body="&lt;p&gt;This problem is NP-complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here's a simple reduction from MAXCUT:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given an input graph $G$, we create a new graph $G'=G\cup K_{n^2}$ (i.w. add a separated clique over $n^2$ vertices).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We can now set the weight to be $-1$ for the original graph edges, and $1$ for the edges of the clique.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Claim:&#xA;If $G$ has a max cut $(S,\bar S  = V\setminus S)$ such that $|E\cap (S\times \bar S)| = k$, then $G'$ has a minimal &quot;special cut-set&quot; whose value is $|n^2-k-1|$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Proof:&#xA;Since the special cut set's value is required to be positive, $S\cap K_{n^2}$ is neither empty or the entire clique. Since the contribution from the negatively weighted edges of $G$ less than $n^2-1$, we can conclude that $|S\cap K_{n^2}|\in \{1,n-1\}$, and it's contribution to the special cut value is $n^2-1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now the set intersection with $G$ has to be the max cut of $G$, as all of the weights are negative, which contributes another $k$ to the special cut value.&lt;/p&gt;&#xA;" OwnerUserId="21001" LastEditorUserId="21001" LastEditDate="2014-03-13T08:30:01.623" LastActivityDate="2014-03-13T08:30:01.623" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21510" PostTypeId="2" ParentId="21470" CreationDate="2014-03-13T00:12:47.593" Score="9" Body="&lt;p&gt;Below I'll show the following: if you have an O($n^{3-\varepsilon}$) time algorithm for checking if a graph is transitive for any $\varepsilon&amp;gt;0$, then you have an O($n^{3-\varepsilon}$) time algorithm for detecting a triangle in an $n$ node graph, and hence (by a &lt;a href=&quot;http://dx.doi.org/10.1109/FOCS.2010.67&quot; rel=&quot;nofollow&quot;&gt;paper from FOCS'10&lt;/a&gt;) you'd have an O($n^{3-\varepsilon/3}$) time algorithm for multiplying two boolean $n\times n$ matrices, and hence by a result of &lt;a href=&quot;http://dx.doi.org/10.1109/SWAT.1971.4&quot; rel=&quot;nofollow&quot;&gt;Fischer and Meyer from the 70s&lt;/a&gt;, this also implies an O($n^{3-\varepsilon/3}$) time algorithm for transitive closure. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose that you want to detect a triangle in an $n$ node $G$. We can now create the following graph $H$. $H$ is tripartite with partitions $I,J,K$ on $n$ nodes each. Here each node $x$ of $G$ has copies $x_I,x_J,x_K$ in the parts $I,J,K$. For each edge $(u,v)$ of $G$ add directed edges $(u_I,v_J)$ and $(u_J,v_K)$. For each nonedge $(u,v)$ of $G$ add the directed edge $(u_I,v_K)$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;First, if $G$ contains a triangle $u,v,w$, then $H$ is not transitive. This is since the edges $(u_I,v_J),(v_J,w_K)$ are in $H$ but $(u_I,w_K)$ is not. Second, if $H$ is not transitive, then there must exist some directed path from some node $s$ to some node $t$ in $H$ such that $(s,t)$ is not a directed edge in $H$. However, the longest paths in $H$ have $2$ edges, and so any such path must be of the form $(u_I,v_J),(v_J,w_K)$ and $(u_I,w_K)$ is not in $H$, hence $u,v,w$ form a triangle in $G$.&lt;/p&gt;&#xA;" OwnerUserId="410" LastEditorUserId="129" LastEditDate="2014-03-13T18:00:59.390" LastActivityDate="2014-03-13T18:00:59.390" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="21511" PostTypeId="1" AcceptedAnswerId="21539" CreationDate="2014-03-13T03:17:20.670" Score="2" ViewCount="192" Body="&lt;p&gt;Say I sample a set of points $(p_1,p_2,...) \in P$ from a probability distribution $f(x,y)$, e.g. a bivariate normal distribution, such that my sampling process chooses a point in the distribution with a probability proportional to the value $f(x,y)$ at that point.  In particular, let's say we use the Metropolitan-Hastings algorithm to sample the set of points $P$ via a biased random walk.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, I take $P$, and I apply some arbitrary geometric rotational and translational geometric transform that acts uniformly on all points $p_i \in P$.  I provide this transformed set of points $P^*$ to you, and your job is to reverse the geometric transform and map the coordinates back to their original positions to the best of your ability.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is the optimal way to proceed?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A thought is that we can sample a new set of points $P_2$ from the distribution $f(x,y)$, and then use something like the RANSAC algorithm (&lt;a href=&quot;http://en.wikipedia.org/wiki/RANSAC&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/RANSAC&lt;/a&gt;) to find a geometric transform to align the $P^*$ and $P_2$.  This, however, seems to be a bit wasteful?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Motivation - Say we know that the maxima of the distribution $f(x,y)$ occurs at some $(x_k,y_k)$.  What is $(x_k,y_k)^*$, i.e. where is this point after applying the geometric transform that mapped $P$ to $P^*$?  We could also ask about other &quot;distinct&quot; points of interest in $f(x,y)$ so that it isn't simply a matter of computing something like a geometric mean (or perhaps geometric median) of the point set $P^*$ to calculate $(x_k,y_k)^*$.  Can we figure this out without the kind of silly solution I propose the employs the RANSAC algorithm?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(In response to R. B.'s comments): I mean &quot;up to symmetry&quot; here - apologies for the confusion.&lt;/p&gt;&#xA;" OwnerUserId="22010" LastEditorUserId="22010" LastEditDate="2014-03-14T02:56:17.907" LastActivityDate="2014-03-14T05:52:06.333" Title="Overlaying a point cloud on a two-dimensional probability distribution such that the local point density corresponds to the local probability density" Tags="&lt;ds.algorithms&gt;&lt;cg.comp-geom&gt;" AnswerCount="2" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="21514" PostTypeId="1" AcceptedAnswerId="21524" CreationDate="2014-03-13T08:08:18.223" Score="2" ViewCount="262" Body="&lt;p&gt;Kirchhoff's theorem relies on the notion of the Laplacian matrix of a graph that is equal to the difference between the graph's degree matrix (a diagonal matrix with vertex degrees on the diagonals) and its adjacency matrix (a $(0,1)$-matrix with $1$'s at places corresponding to entries where the vertices are adjacent and $0$'s otherwise).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is known that for a given connected graph $G$ with $n$ labeled vertices, let $λ_1,λ_2,...,λ_{n−1}$ be the non-zero eigenvalues of its Laplacian matrix. Then the number of spanning trees of $G$ is $t(G)=\frac{1}{n} \lambda_1\lambda_2\cdots\lambda_{n-1}\,$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now I want to extend it to the steiner tree. A $T$-Steiner tree is a subgraph of $G$ that is a tree and that spans $T$. When $T=V(G)$, a $T$-Steiner tree is a spanning tree. My question is that what is the connection between general $T$-Steiner tree and the Laplacian matrix? So far I didn't find any known results about this extension. Your comments and discussion are welcome. &lt;/p&gt;&#xA;" OwnerDisplayName="user17918" LastEditorDisplayName="user17918" LastEditDate="2014-03-13T18:11:08.190" LastActivityDate="2014-03-13T18:50:01.803" Title="Extensions of Matrix-Tree Theorem" Tags="&lt;graph-theory&gt;&lt;matrices&gt;&lt;tree&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="21516" PostTypeId="1" AcceptedAnswerId="21546" CreationDate="2014-03-13T10:21:50.257" Score="11" ViewCount="728" Body="&lt;p&gt;In &lt;em&gt;&lt;a href=&quot;http://ttic.uchicago.edu/~dreyer/course/papers/wadler.pdf&quot;&gt;Theorems for Free!&lt;/a&gt;&lt;/em&gt;, Wadler says that the characterization of parametricity can be re-expressed in terms of &lt;a href=&quot;http://ncatlab.org/nlab/show/lax+natural+transformation&quot;&gt;lax natural transformations&lt;/a&gt; and this will be the subject of a further paper. Which paper is he referring to?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The categorical approach to paramtericty I know uses &lt;a href=&quot;http://en.wikipedia.org/wiki/Dinatural_transformation&quot;&gt;dinatural transformations&lt;/a&gt; as in &lt;em&gt;&lt;a href=&quot;http://citeseer.uark.edu:8080/citeseerx/showciting;jsessionid=8E22D04EC0AD799DCB3EC193F67AD728?cid=582306&quot;&gt;Functorial Polymorphism&lt;/a&gt;&lt;/em&gt; by Bainbridge, Freyd, Scedrov and P.J. Scott. What is the connection between lax natural transformation and dinatural transformation formulations of parametricity?&lt;/p&gt;&#xA;" OwnerUserId="21578" LastEditorUserId="3984" LastEditDate="2014-03-14T15:55:44.993" LastActivityDate="2014-03-14T18:08:28.113" Title="Natural Transformations and Parametricity" Tags="&lt;reference-request&gt;&lt;ct.category-theory&gt;&lt;parametricity&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="21518" PostTypeId="2" ParentId="21297" CreationDate="2014-03-13T13:32:25.113" Score="4" Body="&lt;p&gt;Lecture notes of the course &quot;An Algorithmic Introduction to Coding Theory,&quot; by Madhu Sudan.&#xA;Publication Date: 2001. The first chapter offers useful comments regarding several textbooks on coding theory.&#xA;Available at &lt;a href=&quot;http://people.csail.mit.edu/madhu/FT01/scribe/overall.pdf&quot; rel=&quot;nofollow&quot;&gt;http://people.csail.mit.edu/madhu/FT01/scribe/overall.pdf&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="12867" LastActivityDate="2014-03-13T13:32:25.113" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21519" PostTypeId="2" ParentId="21511" CreationDate="2014-03-13T14:23:02.620" Score="1" Body="&lt;p&gt;Overlaying a point cloud on a two-dimensional probability distribution such that the local point density corresponds to the local probability density is a good way to define the cell generators of a &lt;a href=&quot;https://orion.math.iastate.edu/reu/2001/voronoi_paper/voronoi.pdf&quot; rel=&quot;nofollow&quot;&gt;centroidal Voronoi tessellation&lt;/a&gt; (CVT).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;CVTs don't loose their quantization precision by translation or rotation in concert with the underlying probability distribution. Not sure what your question is.&lt;/p&gt;&#xA;" OwnerUserId="2021" LastActivityDate="2014-03-13T14:23:02.620" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21520" PostTypeId="2" ParentId="21297" CreationDate="2014-03-13T14:27:33.907" Score="8" Body="&lt;p&gt;From a mathematical perspective: Try &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;1) Handbook of coding theory - Huffman and Pless&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;2) Fundamentals of Error-Correcting Codes - Huffman and Pless&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;3) Introduction to coding theory - Ron Roth &lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;4) Algebraic Geometric Codes: Basic Notions - Vladut, Nogin and Tsfasman &lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;5) Introduction to Coding Theory - Van Lint &lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;6) Algebraic Geometry in Coding Theory and Cryptography - Harald Niederreiter and Chaoping Xing.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;From an engineering perspective: Try &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;1) Error Control Coding - Shu Lin and Daniel Costello &lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;2) Modern Coding Theory - Richardson and Urbanke &lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;3) Error Correction Coding - Todd K Moon &lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;4) Channel Codes: Classical and Modern - William Ryan and Shu Lin.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;From Computer Science perspective: Try &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;1) Madhu Sudan MIT Notes &lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;2) Algorithmic Results in List Decoding -  Guruswami &lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;3) Computational complexity - Boaz Barak (Chapter 19) &lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;4) Refer this cstheory question - &lt;a href=&quot;https://cstheory.stackexchange.com/questions/121/using-error-correcting-codes-in-theory?rq=1&quot;&gt;Using error-correcting codes in theory&lt;/a&gt;&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;5) Locally Decodable Codes - Yekhanin&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;6) Chapter on applications of coding theory in complexity theory in Different Aspects of Coding Theory - Calderbank.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="1812" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.743" LastActivityDate="2014-03-13T23:16:20.520" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21521" PostTypeId="1" CreationDate="2014-03-13T16:40:21.763" Score="1" ViewCount="8483" Body="&lt;p&gt;I have a quite big graph which has millions of nodes and edges. I modify the graph using an algorithm which only changes small portion of edges. At then end, I'd like to investigate how the algorithm affects the graph. There are a couple of options I have considered, but neither are appropriate.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) compare the graph metrics (e.g. avg nodes degree, avg. coefficient clustering) for two graphs. The problem is as the algorithm only affects small portion of edges, and as there are great number of nodes and edges, the reported values are almost the same.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) sample portion of each graph and find graph metrics on the sampled graphs. Again, the reported numbers are quire similar.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there any metric or technique to compare only subgraphs of two graphs? That is, I would like to consider only the modified nodes in the comparison. &lt;/p&gt;&#xA;" OwnerUserId="22025" LastEditorUserId="22025" LastEditDate="2014-03-13T16:55:54.750" LastActivityDate="2014-03-13T18:04:41.623" Title="Comparing two graphs" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="21522" PostTypeId="2" ParentId="21521" CreationDate="2014-03-13T18:04:41.623" Score="2" Body="&lt;p&gt;here is one table about the different similarity measures which can be found in this paper &lt;a href=&quot;https://www.cs.cmu.edu/~jingx/docs/DBreport.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;https://www.cs.cmu.edu/~jingx/docs/DBreport.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/NQklf.jpg&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;" OwnerDisplayName="user17918" LastActivityDate="2014-03-13T18:04:41.623" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21523" PostTypeId="2" ParentId="21297" CreationDate="2014-03-13T18:38:26.087" Score="2" Body="&lt;p&gt;excellent 50p survey by leading expert/member &lt;a href=&quot;https://cstheory.stackexchange.com/users/1069/luca-trevisan&quot;&gt;Luca Trevisan&lt;/a&gt; from 2004 also tracking recent/latest research in the field&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://arxiv.org/pdf/cs/0409044v1.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Some Applications of Coding Theory in Computational&#xA;Complexity&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;sections: &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;ol&gt;&#xA;  &lt;li&gt;Introduction&lt;/li&gt;&#xA;  &lt;li&gt;Error-Correcting codes&lt;/li&gt;&#xA;  &lt;li&gt;Sublinear Time Unique Decoding&lt;/li&gt;&#xA;  &lt;li&gt;Sublinear Time List Decoding&lt;/li&gt;&#xA;  &lt;li&gt;Locally Testable Codes&lt;/li&gt;&#xA;  &lt;/ol&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2014-03-13T18:38:26.087" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21524" PostTypeId="2" ParentId="21514" CreationDate="2014-03-13T18:50:01.803" Score="3" Body="&lt;p&gt;Let me give a side answer to your question. Consider the variant where you only care about edge-minimal spanning trees: for 2 terminals $s$ and $t$, the problem is equivalent to counting simple $s,t$-paths, which is $\# P$-complete; also, the parameterized version where you ask for paths of length $k$ is $\# W[1]$-hard. If you care about arbitrary $T$-steiner trees (i.e. not necessarily minimal), I expect that it is also $\# P$-hard though I'm not aware of any reference.&#xA;These hardness results suggest that it's unlikely to find some &quot;nice formula&quot; for the number of $T$-steiner trees.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The references are: &quot;The complexity of enumeration and reliability problems&quot; by L. G. Valiant, and &quot;The parameterized complexity of counting problems&quot; by J. Flum and M. Grohe.&lt;/p&gt;&#xA;" OwnerUserId="21798" LastActivityDate="2014-03-13T18:50:01.803" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="21525" PostTypeId="1" CreationDate="2014-03-13T19:14:10.483" Score="19" ViewCount="443" Body="&lt;p&gt;I would like to prove (or disprove) the following conjecture:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;b&gt;Conjecture&lt;/b&gt;: a &lt;a href=&quot;http://en.wikipedia.org/wiki/Counter_machine&quot;&gt;two counter automata&lt;/a&gt; (2CA) cannot decide the following language:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$L = \{ n \mid $ the ternary and binary representations of $n$ have both even length or odd length$\}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A 2CA can easily check if the binary representation has even or odd length (just keep dividing by two and update an &quot;even length&quot; flag after each division); in the same manner it can check if the ternary representation has even or odd length (just keep dividing by three and update an &quot;even length&quot; flag after each division).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But in order to calculate one of them it must &lt;strong&gt;destroy&lt;/strong&gt; its input, and cannot recover it to calculate the other; so it seems that there is no way to decide $L$.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;Do you know a technique that can be used to prove the conjecture?&lt;br&gt;&#xA;Or can you disprove the conjecture building a 2CA that decides $L$?&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I tried the same approach followed by Ibarra to prove that a &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=151866&quot;&gt;2CA cannot decide $\{n^2\mid n \geq 1\}$&lt;/a&gt;, but it seems not the right way.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;b&gt;Note&lt;/b&gt;: for simplicity a 2CA is equivalent to a program with &lt;b&gt;one&lt;/b&gt; variable $c$  that initially contains the input and the following instruction set:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;b&gt;INC&lt;/b&gt;: add one to the variable;&lt;/li&gt;&#xA;&lt;li&gt;&lt;b&gt;DEC&lt;/b&gt;: decrement $c$ (only if it is greater than zero);&lt;/li&gt;&#xA;&lt;li&gt;&lt;b&gt;JZ  $lab$&lt;/b&gt;: if $c$ is zero jump to label $lab$ otherwise continue;&lt;/li&gt;&#xA;&lt;li&gt;&lt;b&gt;MUL $K$&lt;/b&gt;: multiply $c$ by the costant $K$;&lt;/li&gt;&#xA;&lt;li&gt;&lt;b&gt;DIV $K [, lab_0, lab_1,...,lab_{K-1}]$&lt;/b&gt;: divide $c$ by the constant $K$ and store the  quotient to $c$ ($c = \lfloor c / K \rfloor$); possibly jump to different labels according to the remainder ($c \bmod K$);&lt;/li&gt;&#xA;&lt;li&gt;&lt;b&gt;GOTO $lab$&lt;/b&gt;: unconditional jump;&lt;/li&gt;&#xA;&lt;li&gt;&lt;b&gt;HALT Accept|Reject&lt;/b&gt;: halt and accept or halt and reject.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;For example a program to check if the binary representation of $n$ has even length is:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;   loop: JZ even   // test if n = 0&#xA;         DIV 2&#xA;         JZ odd    // test if n = 0&#xA;         DIV 2&#xA;         GOTO loop&#xA;   even: HALT Accept&#xA;    odd: HALT Reject&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;(we can build an equivalent 2CA)&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2014-03-13T19:37:09.450" LastActivityDate="2015-01-19T16:41:04.240" Title="Conjecture about two counters automata" Tags="&lt;automata-theory&gt;" AnswerCount="1" CommentCount="22" FavoriteCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="21526" PostTypeId="2" ParentId="21485" CreationDate="2014-03-13T19:56:40.657" Score="2" Body="&lt;p&gt;This assumption has been used in cryptographic constructions.  Both the computational and decisions are generally believed hard by the provable security community, but I doubt a reduction to, e.g., DH will be found.  See &lt;a href=&quot;http://homepage.ruhr-uni-bochum.de/Eike.Kiltz/papers/dh_full.pdf&quot; rel=&quot;nofollow&quot;&gt;http://homepage.ruhr-uni-bochum.de/Eike.Kiltz/papers/dh_full.pdf&lt;/a&gt; for discussion and references.&lt;/p&gt;&#xA;" OwnerUserId="12654" LastActivityDate="2014-03-13T19:56:40.657" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21528" PostTypeId="1" CreationDate="2014-03-13T20:44:07.463" Score="1" ViewCount="102" Body="&lt;p&gt;I'm looking for graph properties which only consider neighbours of a node and do not go beyond that. For example, nodes degree only considers neighbours or clustering coefficient also consider only neighbours, but shortest path considers all nodes in the graph. Are there any other property (except node degree and node coefficient clustering) which only considers neighbours of a node in its calculation?&lt;/p&gt;&#xA;" OwnerUserId="22025" LastActivityDate="2014-03-13T20:57:46.677" Title="What graph properties only consider neighbours of a node in their calculations?" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21529" PostTypeId="1" AcceptedAnswerId="21531" CreationDate="2014-03-13T20:47:44.193" Score="19" ViewCount="487" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;The halting problem for Turing machines is perhaps the canonical undecidable&#xA;  set. Nevertheless, we prove that there is an algorithm deciding almost&#xA;  all instances of it. The halting problem is therefore among the growing collection&#xA;  of those exhibiting the “black hole” phenomenon of complexity theory,&#xA;  by which the difficulty of an unfeasible or undecidable problem is confined&#xA;  to a very small region, a black hole, outside of which the problem is easy.  &lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;[Joel David Hamkins and Alexei Miasnikov, &quot;&lt;a href=&quot;http://arxiv.org/abs/math/0504351&quot;&gt;The halting problem is decidable on a set of asymptotic probability one&lt;/a&gt;&quot;, 2005]&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Can anyone provide references to other “black holes” in complexity theory, or another place where this or related concepts are discussed?&lt;/p&gt;&#xA;" OwnerUserId="12527" LastEditorUserId="186" LastEditDate="2014-03-13T22:03:38.757" LastActivityDate="2014-03-14T01:05:55.743" Title="Problems with efficient solution except for a small fraction of inputs" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;computability&gt;&lt;undecidability&gt;" AnswerCount="2" CommentCount="5" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="21530" PostTypeId="2" ParentId="21528" CreationDate="2014-03-13T20:57:46.677" Score="1" Body="&lt;p&gt;There are several measures like clustering coefficients that sort of satisfy this, such as &lt;strong&gt;edge embeddedness&lt;/strong&gt;. But this looks at the number of neighbours in common to two adjacent nodes. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The property of v being &lt;strong&gt;simplicial&lt;/strong&gt; is an important structural property used in algorithmic graph theory, and is fully characterized by only the neighbourhood of v.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Notice that the two examples you gave are: (1) the number of nodes in v's neighbourhood, and (2) the number of edges in v's neighbourhood. Perhaps You might also be interested in the number of triangles in v's neighbourhood (i.e. the number of K4s that v is in) or perhaps the number of $P_3$s in v's neighbourhood, etc.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Perhaps you could loosen your requirement of locality, or else you will only be asking about properties such as &quot;the number of &lt;strong&gt;_&lt;/strong&gt; in v's neighbourhood,&quot; which might be too limiting. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;How about the number of connected components in v's neighbourhood? Something similar to this was used in a recent Kleinberg paper on predicting spouses by looking at Facebook egonets.&lt;/p&gt;&#xA;" OwnerUserId="2414" LastActivityDate="2014-03-13T20:57:46.677" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21531" PostTypeId="2" ParentId="21529" CreationDate="2014-03-13T21:31:26.053" Score="15" Body="&lt;p&gt;I'm not sure whether this is what you're looking, but the phase transition in random SAT is an example. Let $\rho$ be the ratio of number of clauses to number of variables. Then a random SAT instance with parameter $\rho$ is very likely to be satisfiable if $\rho$ is less than a fixed constant (near 4.2) and is very likely to be unsatisfiable if $\rho$ is a little bit more than this constant. The &quot;black hole&quot; is the phase transition. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2014-03-13T21:31:26.053" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21533" PostTypeId="1" CreationDate="2014-03-13T22:59:22.663" Score="9" ViewCount="851" Body="&lt;p&gt;Let $S(X) = \{\sum_{i\in Y} i  | Y\subset X \}$, the set of subset sums of $X$. $S_n(X) = S(X)\cap \{1,\ldots,n\}$. Consider the following variant of subset sum.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;ALL-SUBSET-SUMS&lt;/strong&gt;  &lt;br /&gt;&#xA;  &lt;strong&gt;INPUT&lt;/strong&gt;: positive integer $n$ and set $X\subset \{1,\ldots,n\}$.&lt;br /&gt;&#xA;  &lt;strong&gt;OUTPUT&lt;/strong&gt;: $S_n(X)$&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;There is the common dynamic programming algorithm taught in algorithm classes, which takes $O(n |X|)$ time. It takes $O(n^2)$ time for large input sets. It's not hard to devise and output sensitive version that takes $O(|X||S_n(X)|+n)$ time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's possible to solve it &lt;a href=&quot;http://www.chaoxuprime.com/posts/2014-02-26-subset-target-sum.html#the-algorithm-that-exploits-the-sparsity&quot;&gt;in $O((n \log n)^\frac{3}{2})$ time&lt;/a&gt; by decompose the problem to $\sqrt{n\log n}$ &lt;strong&gt;ALL-SUBSET-SUMS&lt;/strong&gt; with small output size, and we can combine the solutions through FFT. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;How fast can we solve this problem? There are subset sum algorithms using analytical number theory[1], but they have many technical conditions on the input. It can't be applied directly on &lt;strong&gt;ALL-SUBSET-SUMS&lt;/strong&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Reference:&lt;/strong&gt; &lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] M. Chaimovich , G. Freiman , Z. Galil, &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=68751&amp;amp;CFID=300414753&amp;amp;CFTOKEN=22641006&quot;&gt;Solving dense subset-sum problems by using analytical number theory&lt;/a&gt;, Journal of Complexity, v.5 n.3, p.271-282, Sept. 1989&lt;/p&gt;&#xA;" OwnerUserId="314" LastActivityDate="2014-03-13T22:59:22.663" Title="Faster pseudo-polynomial time algorithm for subset-sum?" Tags="&lt;subset-sum&gt;" AnswerCount="0" CommentCount="3" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="21534" PostTypeId="1" AcceptedAnswerId="21543" CreationDate="2014-03-13T23:05:03.063" Score="14" ViewCount="544" Body="&lt;p&gt;While discussion strong normalization proofs, &lt;a href=&quot;https://cstheory.stackexchange.com/questions/14105/how-to-show-that-a-type-in-a-system-with-dependent-types-is-not-inhabited-i-e/14113?noredirect=1#comment57022_14113&quot;&gt;this comment&lt;/a&gt; contrasts the &quot;normal forms model&quot; with &quot;purely syntactic methods&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This brings me back to a more basic question: can we still distinguish syntactic and semantic constructions strictly, in the face of syntax-based models? What about term models for algebras, Henkin models for first-order logics? What about structural operational semantics? Since term models can be isomorphic to syntax, it seems hard to make a firm distinction.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Until I studied the difference between proof theory and model theory in logic, I was even baffled by the idea that &quot;static type systems are a syntactic method&quot;. After all, a type system reasons about types, which are an abstraction of program behavior (and with dependent types, an arbitrarily precise one).&lt;/p&gt;&#xA;" OwnerUserId="989" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2014-03-14T17:46:22.333" Title="Can we distinguish strictly syntactic and semantic methods in programming language?" Tags="&lt;lo.logic&gt;&lt;pl.programming-languages&gt;&lt;operational-semantics&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="21535" PostTypeId="2" ParentId="21496" CreationDate="2014-03-14T00:51:59.797" Score="5" Body="&lt;p&gt;The problem you describe is called &quot;stochastic convex optimization in the bandit setting&quot;. This is the problem considered and solved here: &lt;a href=&quot;http://arxiv.org/pdf/1107.1744v2.pdf&quot;&gt;http://arxiv.org/pdf/1107.1744v2.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;They show that after $k$ queries, you can get within $O(1/\sqrt{k})$ of the minimum value of the function (ignoring a poly$(d)$ dependence on the dimension $d$ of the domain of the function $f$). &lt;/p&gt;&#xA;" OwnerUserId="25" LastActivityDate="2014-03-14T00:51:59.797" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="21536" PostTypeId="2" ParentId="21529" CreationDate="2014-03-14T01:05:55.743" Score="5" Body="&lt;p&gt;Like the Halting problem, &lt;i&gt;Post's Correspondence Problem&lt;/i&gt; is undecidable in general. Ling Zhao's Master's thesis describes a large set of solvable instances of the PCP problem, including some &quot;hard&quot; instances. But I don't know if the size/density/measure of his set of solvable instances is on par with the Halting Problem result you cite.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://webdocs.cs.ualberta.ca/~games/PCP/paper/CG2002.pdf&quot;&gt;http://webdocs.cs.ualberta.ca/~games/PCP/paper/CG2002.pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="2414" LastActivityDate="2014-03-14T01:05:55.743" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21537" PostTypeId="1" CreationDate="2014-03-14T01:52:17.430" Score="8" ViewCount="1287" Body="&lt;p&gt;I am a Control Engineer and I have been working on Discrete Event Systems and Supervisory Control, based on Finite Automata Theory. My problem is to represent large automata (about $2 \times 10^6$ states) in software and operate with them. May someone suggest me data structures with reasonable performance and a good book with algorithms for automata theory (minimization, determinization, extraction of regular languages, automata equivalence, ...)? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;PS: This is my first question and my English is very poor but I expect everyone to understand. Thanks in advance&lt;/p&gt;&#xA;" OwnerUserId="22031" LastEditorUserId="1037" LastEditDate="2014-03-14T03:36:23.450" LastActivityDate="2019-04-08T11:36:22.383" Title="Data structures for Finite Automata" Tags="&lt;ds.data-structures&gt;&lt;automata-theory&gt;&lt;application-of-theory&gt;" AnswerCount="0" CommentCount="13" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="21538" PostTypeId="1" AcceptedAnswerId="22304" CreationDate="2014-03-14T05:52:04.453" Score="12" ViewCount="321" Body="&lt;p&gt;Dyck languages $\mathsf{Dyck}(k)$ is defined by the following grammar&#xA;$$&#xA;S \rightarrow SS \,|\, (_1 S )_1 \,|\, \ldots \,|\, (_k S )_k \,|\, \epsilon&#xA;$$&#xA;over the set of symbols $\{(_1,\ldots,(_k,)_1,\ldots,)_k\}$.  Intuitively Dyck languages are the languages of balanced parentheses of $k$ different kind.  For example, $(\,[\,]\,)\,(\,)$ is in $\mathsf{Dyck}(2)$ but $(\,[\,)\,]$ is not.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the paper &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.29.5560&amp;amp;rep=rep1&amp;amp;type=pdf&quot;&gt;Dynamic Algorithms for the Dyck Languages&lt;/a&gt; by Frandsen, Husfeldt, Miltersen, Rauhe, and Skyum, 1995,&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;it is claimed that the following result is folklore:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;$\mathsf{Dyck}(k)$ is $\mathsf{TC}_0$-complete under $\mathsf{AC}_0$ reductions.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Is there any reference known for the above claim?  In particular, I'm looking for any results that shows at least one of the following:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$\mathsf{Dyck}(k)$ is in $\mathsf{TC}_0$ for arbitrary $k$.&lt;/li&gt;&#xA;&lt;li&gt;$\mathsf{Dyck}(k)$ is $\mathsf{TC}_0$-hard for arbitrary $k$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;The closest paper I can find is&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;a href=&quot;http://arxiv.org/abs/1310.2017&quot;&gt;Bi-Lipschitz Bijection between the Boolean Cube&#xA;  and the Hamming Ball&lt;/a&gt;, by Benjamini, Cohen, and Shinkar, 2013&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;which redirects me to the paper &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.19.7200&amp;amp;rep=rep1&amp;amp;type=pdf&quot;&gt;Log space recognition and translation of parenthesis languages&lt;/a&gt; by Lynch who proved that $\mathsf{Dyck}(1)$ (that is, normal balanced parentheses) is in $\mathsf{TC_0}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any related papers are welcomed as well.  Thanks!&lt;/p&gt;&#xA;" OwnerUserId="1800" LastEditorUserId="2367" LastEditDate="2014-07-20T11:27:03.900" LastActivityDate="2014-07-20T11:27:03.900" Title="Reference for Dyck languages being $\mathsf{TC}_0$-complete" Tags="&lt;reference-request&gt;&lt;fl.formal-languages&gt;&lt;circuit-complexity&gt;&lt;ho.history-overview&gt;&lt;context-free&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21539" PostTypeId="2" ParentId="21511" CreationDate="2014-03-14T05:52:06.333" Score="0" Body="&lt;p&gt;This seems to depend heavily on the form of $f$.  If $f$ has a small number of distinct features (say, a handful of well-separated sharp peaks), then you can attempt to identify those features in the point cloud and then use SVD to find the Euclidean transformation that best takes the observed features back to their original locations.  If $f$ is spread out and has no obvious landmarks (e.g., $f(x,y)\propto e^{-\beta(x^2+y^2)}\left(1+\varepsilon\sin^2(x+y)\right)$, where $\beta$ and $\varepsilon$ are small), then there will be no way to find the maximum-likelihood transformation without trying a large number of possibilities.  In general it becomes an optimization problem that could have many, many local optima.&lt;/p&gt;&#xA;" OwnerUserId="3183" LastActivityDate="2014-03-14T05:52:06.333" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21542" PostTypeId="2" ParentId="21538" CreationDate="2014-03-14T07:55:31.390" Score="6" Body="&lt;p&gt;Here is an $AC_0$ reduction from $\rm Majority$ to $Dyck(1)$.&#xA;(This implies that $\rm Majority$ is $AC_0$ reducible to $Dyck(k)$ for all $k \geq 1$.)&#xA;In order to do it, we construct a poly-size&#xA;constant depth circuit whose gates are $AND$, $OR$, $NOT$ and $Dyck(1)$.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Given an instance $x \in \{0,1\}^n$ of $\rm Majority$ do&lt;/li&gt;&#xA;&lt;li&gt;Compute $y \in \{0,1\}^{2n}$ by replacing each $0$ with $(($ and each $1$ with $()$.&lt;/li&gt;&#xA;&lt;li&gt;Now for each $i = 1,\dots, n/2$ let $z_i$ be the string obtained by concatenating $y$ with $2i$-many closing parentheses, i.e. $z_i = y \circ )^{2i}$.&lt;/li&gt;&#xA;&lt;li&gt;If $z_i \in Dyck(1)$ for some $i = 1,\dots, n/2$ then ACCEPT.&#xA;Otherwise, REJECT.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;This can be clearly done with a constant depth circuit. (Computing $z_i$ can be done in depth 1, and computing the last step is done using an $OR$ gate.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is also easy to see that this circuit indeed computes $\rm Majority$ because $z_i \in Dyck(1)$ if and only if ${\rm weight}(x) = n - i$.&lt;/p&gt;&#xA;" OwnerUserId="15711" LastEditorUserId="15711" LastEditDate="2014-03-14T13:41:16.307" LastActivityDate="2014-03-14T13:41:16.307" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="21543" PostTypeId="2" ParentId="21534" CreationDate="2014-03-14T11:27:16.637" Score="14" Body="&lt;p&gt;No, you cannot strictly distinguish syntactic from semantic methods, but the distinction still ends up making sense.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Structural operational semantics is not denotational, because it is not a compositional method of giving semantics to a programming language.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;However, you can build denotational models out of a structural operational semantics by using a realizability or logical relations method. As an example, see Robert Harper's &lt;a href=&quot;http://www.cs.uoregon.edu/research/summerschool/summer10/lectures/Harper-JSC92.pdf&quot; rel=&quot;noreferrer&quot;&gt;&lt;em&gt;Constructing Type Systems over Operational Semantics&lt;/em&gt;&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Term models are denotational, but generally semanticists are not satisfied with them. What they usually want is a category of models in which the term model is initial, which can be used to prove soundness and completeness results.  (The soundness and completeness of the typed lambda calculus for cartesian closed categories is the paradigmatic example; see Alex Simpson's &lt;a href=&quot;http://homepages.inf.ed.ac.uk/als/Research/completeness.ps.gz&quot; rel=&quot;noreferrer&quot;&gt;&lt;em&gt;Categorical Completeness Results for the Simply-Typed &lt;span class=&quot;math-container&quot;&gt;$\lambda$&lt;/span&gt;-calculus&lt;/em&gt;&lt;/a&gt; for some details.)&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;In the other direction, if you have a denotational semantics, you might want to figure out what the syntax for it is. Then you want to go and find a syntax and abstract machine whose term model can serve as an intitial object in a suitable category of models.&lt;/p&gt;&#xA;&lt;p&gt;For instance, game semantics began its life as a purely semantic construction, and eventually led to work on operational game semantics --- a recent example of which is Alexis Goyet's &lt;a href=&quot;http://goyet.info/goyet_2013_llbc.pdf&quot; rel=&quot;noreferrer&quot;&gt;&lt;em&gt;The lambda lambda-bar calculus: A dual calculus for unconstrained strategies&lt;/em&gt;&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Overall, you can think of structural operational semantics as a way of specifying abstract machines, which we hope are easy to implement. A denotational semantics gives a compositional model of a language, which we hope is easy to reason about. If we have both, then we can both implement and reason about the language.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Normalization theorems are an interesting ambiguous case. Usually, to prove normalization, you need a semantic model (typically a logical relation). However, once you know that normalization holds, many properties can now be proved by induction on normal forms, which is a purely syntactic argument.&lt;/p&gt;&#xA;&lt;p&gt;For weak logics (anything up to first-order logic without induction, roughly), you can prove normalization syntactically, using the technique of &lt;em&gt;hereditary substitution&lt;/em&gt;. In these logics, the subformula property holds, and so you can prove normalization by induction on types. See Frank Pfenning's paper &lt;a href=&quot;http://www-cgi.cs.cmu.edu/%7Efp/papers/lics95.pdf&quot; rel=&quot;noreferrer&quot;&gt;&lt;em&gt;Structural Cut Elimination&lt;/em&gt;&lt;/a&gt; for an explanation of how this works.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="657" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2014-03-14T17:46:22.333" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="21544" PostTypeId="1" CreationDate="2014-03-14T14:32:06.263" Score="0" ViewCount="128" Body="&lt;p&gt;According to &lt;a href=&quot;https://cstheory.stackexchange.com/questions/93/what-are-the-best-current-lower-bounds-on-3sat&quot;&gt;&quot;What are the best current lower bounds on 3SAT?&quot;&lt;/a&gt;, Ryan Williams has an answer that states that the (time * space) requirements for 3-SAT must meet or exceed $n^{2 \cos(\pi/7) - o(1)}$ infinitely often.  See&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt; Ryan R. Williams&#xA; Better Time-Space Lower Bounds for SAT and Related Problems&#xA; 20th IEEE Conference on Computational Complexity, pages 40-49&#xA; 2005&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;...or his link &lt;a href=&quot;http://www.cs.cmu.edu/~ryanw/automated-lbs.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we consider Atkin and Bernstein's sieve:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt; A.O.L Atkin and D.J. Bernstein&#xA; Prime sieves using binary quadratic forms&#xA; Mathematics of Computation, Volume 73, Number 246, pages 1023-1030&#xA; December 19, 2003&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;...It requires $O(\frac{n}{\log \log n})$ additions and $n^{1/2 + O(1)}$ space.  So does this sieve alone meet the time/space requirements for 3-SAT?  Or are the results inconclusive for the sieve?&lt;/p&gt;&#xA;" OwnerUserId="1549" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2014-03-14T14:32:06.263" Title="Does this meet the space requirements for the lower 3-SAT bounds?" Tags="&lt;sat&gt;&lt;lower-bounds&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="21546" PostTypeId="2" ParentId="21516" CreationDate="2014-03-14T18:08:28.113" Score="8" Body="&lt;p&gt;Unfortunately, the remark of Wadler is too cryptic for me to tell what use he wanted to make of &quot;lax natural transformations&quot;.  Here is a guess.  Relation-preservation squares can often be recast as lax commutative squares.  This is how they used to be written in old automata theory papers/books.  See paragraph 1.2 in my &lt;a href=&quot;http://www.cs.bham.ac.uk/~udr/notes/semigroups.pdf&quot;&gt;Notes on Semigroups&lt;/a&gt;.  To do this kind of thing, you have to mix up relations and morphisms and pretend that they are the same.  I am also not sure that it buys you anything new.  It is just uglier notation for saying the same thing as relation-preservation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Please feel free to explore the connection, but I am not confident that you will find anything new by doing it.&lt;/p&gt;&#xA;" OwnerUserId="8519" LastActivityDate="2014-03-14T18:08:28.113" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="21547" PostTypeId="1" AcceptedAnswerId="21549" CreationDate="2014-03-14T20:49:44.007" Score="3" ViewCount="336" Body="&lt;p&gt;I have a polynomial time best-response function that has the same properties as a game-theory game (convexity, compactness, set-valued).  I don't know that much topology, but my understanding is that the Kakutani fixed-point theorem confirms that this function has a fixed point, i.e., there exists a strategy profile whose best response is itself.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The &quot;game&quot; I have is not really a game, in the sense that there are no payoffs; there is only a best-response function.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is:  Given such a function, can one find a fixed-point quickly?  Ordinarily, there are polytime approximation algorithms for this task (finding a Nash equilibrium), but here I do not have the game in normal form, or an easy way to put it in normal form given the lack of payoffs specified.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit&lt;/strong&gt;:  More specific information:  Given a fixed input, find a polytime machine bounded by n^8+8 s.t. the machine outputs its description on the input.  (There are ways of making this convex by allowing mixing over the edges of the machine.)&lt;/p&gt;&#xA;" OwnerUserId="1338" LastEditorUserId="1338" LastEditDate="2014-03-14T21:22:43.390" LastActivityDate="2014-03-14T21:22:43.390" Title="How do you compute the fixed point of a best-response function efficiently?" Tags="&lt;cc.complexity-theory&gt;&lt;gt.game-theory&gt;&lt;topology&gt;" AnswerCount="1" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="21548" PostTypeId="1" AcceptedAnswerId="21550" CreationDate="2014-03-14T21:05:23.827" Score="0" ViewCount="140" Body="&lt;p&gt;I am trying to either prove or refute the claim mentioned in the title.&#xA;Any ideas ?&lt;/p&gt;&#xA;" OwnerUserId="22042" LastActivityDate="2014-03-14T21:27:52.730" Title="Assume that $\mathsf{NP} \subseteq \mathsf{P}/\text{log(n)}$, does it imply that $\mathsf{P} = \mathsf{NP}$?" Tags="&lt;cc.complexity-theory&gt;&lt;p-vs-np&gt;&lt;advice-and-nonuniformity&gt;" AnswerCount="1" CommentCount="1" ClosedDate="2014-03-14T23:45:11.077" ContentLicense="CC BY-SA 3.0" />
  <row Id="21549" PostTypeId="2" ParentId="21547" CreationDate="2014-03-14T21:11:01.680" Score="6" Body="&lt;p&gt;A fixed point of a best response function is a Nash equilibrium -- the fact that you do not have the payoff matrix cannot make the problem easier (since if you know the payoff matrix, you also know the best response function, but not vice versa). Unfortunately, there are not in general good algorithms for computing approximate Nash equilibria in multi-player games. It is known that in general settings, computing a fixed point of a function is equivalent in difficulty to computing a Nash equilibrium -- see for instance &lt;a href=&quot;http://homepages.inf.ed.ac.uk/kousha/nash_focs07_full_j_spec_issue_sub.pdf&quot; rel=&quot;noreferrer&quot;&gt;http://homepages.inf.ed.ac.uk/kousha/nash_focs07_full_j_spec_issue_sub.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are not believed to be efficient algorithms for computing fixed points for general (best response) functions, and it is open whether they can be approximated well in general. &lt;/p&gt;&#xA;" OwnerUserId="25" LastActivityDate="2014-03-14T21:11:01.680" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21550" PostTypeId="2" ParentId="21548" CreationDate="2014-03-14T21:27:52.730" Score="3" Body="&lt;p&gt;Yes. All advice strings of length log n can be cycled though in polynomial time.&#xA;The polynomial time algorithm for SAT would be:&#xA;For each of the polynomially many advice strings, try to use it to produce a satisfying assignment for SAT (using self-reducibility) in polynomial time. I would guess this is in the original Karp Lipton paper.&lt;/p&gt;&#xA;" OwnerUserId="22043" LastActivityDate="2014-03-14T21:27:52.730" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="21551" PostTypeId="2" ParentId="10353" CreationDate="2014-03-14T21:47:48.867" Score="2" Body="&lt;p&gt;I found a related MS thesis. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Title: APPROXIMATION ALGORITHMS FOR MINIMUM KNAPSACK PROBLEM&#xA;&lt;a href=&quot;https://www.uleth.ca/dspace/bitstream/handle/10133/1304/islam,%20mohammed.pdf?sequence=1&quot; rel=&quot;nofollow&quot;&gt;https://www.uleth.ca/dspace/bitstream/handle/10133/1304/islam,%20mohammed.pdf?sequence=1&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can also find related papers in its references. &lt;/p&gt;&#xA;" OwnerUserId="22044" LastActivityDate="2014-03-14T21:47:48.867" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21553" PostTypeId="2" ParentId="17854" CreationDate="2014-03-14T23:48:46.640" Score="5" Body="&lt;p&gt;The following paper at least formalizes the notion of approximate equilibria being close to exact equilibria, and proves some related structural results.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Pranjal Awasthi, Maria-Florina Balcan, Avrim Blum, Or Sheffet, and Santosh Vempala (2010). On Nash equilibria of approximation-stable games. In Proceedings of the Third international conference on Algorithmic game theory (SAGT'10), 78-89.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In particular, the paper gives an example of a class of games for question 3.&lt;/p&gt;&#xA;" OwnerUserId="368" LastActivityDate="2014-03-14T23:48:46.640" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21556" PostTypeId="2" ParentId="19631" CreationDate="2014-03-15T08:27:40.587" Score="3" Body="&lt;p&gt;You have many $FPA$ (fixed parameter approximation) algorithms for which a sublinear parameter translates into subexponential time in the length of the input.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download;jsessionid=918B7428BAD06428C58DFF7CEF62BEBE?doi=10.1.1.146.408&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;nofollow&quot;&gt;approximating the number of simple paths&lt;/a&gt; of length $k$, for some $k=n^c$ (where $c&amp;lt;1$), gives you a running time of:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$O((2e)^{n^c}\cdot 2^{polylog(n)})$.&lt;/p&gt;&#xA;" OwnerUserId="21001" LastEditorUserId="21001" LastEditDate="2014-03-15T09:35:59.747" LastActivityDate="2014-03-15T09:35:59.747" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21557" PostTypeId="1" CreationDate="2014-03-15T10:23:22.623" Score="5" ViewCount="176" Body="&lt;p&gt;I was wondering if there is an online source where I can find the latest book releases on theoretical computer science issues?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;And I mean quality books and papers on new and upcoming issues from famous authors. The amazon and other mainstream pages seem not to tend to those insider tip books I am searching for. Although I know there are famous best books out there as well.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;They can also be written in a not so scientific and educational way as well. The specification is, so to say, to present the knowledge in the best known way.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You are also invited to comment this question with titles of the latest or &quot;best&quot; books on algorithms which you would recommend (I am looking for them at the moment).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;I hope this question belongs to this board somehow - sorry if not.&lt;/em&gt;&lt;/p&gt;&#xA;" OwnerUserId="22050" LastEditorUserId="22050" LastEditDate="2014-03-15T12:55:50.357" LastActivityDate="2014-03-15T12:55:50.357" Title="Where to find the latest book releases on theoretical computer science?" Tags="&lt;books&gt;" AnswerCount="0" CommentCount="12" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21563" PostTypeId="2" ParentId="12929" CreationDate="2014-03-15T20:04:46.753" Score="6" Body="&lt;p&gt;We have developed a user-friendly browser-based system to input and solve 2-player strategic-form and extensive-form games:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.gametheoryexplorer.org/&quot; rel=&quot;nofollow&quot;&gt;http://www.gametheoryexplorer.org/&lt;/a&gt; (GTE)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Currently, we support:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;finding all equilibria via polyhedral vertex enumeration (which works on the strategic-form representation, which is converted to in the case of extensive-form games; this uses David Avis' lrs &lt;a href=&quot;http://cgm.cs.mcgill.ca/~avis/C/lrs.htmlW&quot; rel=&quot;nofollow&quot;&gt;http://cgm.cs.mcgill.ca/~avis/C/lrs.htmlW&lt;/a&gt;); and&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;finding one equilibrium using Lemke's algorithm (which works on the strategic-form representation or on the sequence-form representation for extensive-form games).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;You can use lrs separately offline to solve larger bimatrix games.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The GTE project is under active development (supported by the Google Summer of Code in 2011, 2012, and 2014), so please provide feedback and/or let us know if you would like to contribute) at&lt;/p&gt;&#xA;&#xA;&lt;p&gt;gte@nash.lse.ac.uk&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For a paper that covers the basic theory and a number of methods for enumeration of equilibria, see &lt;/p&gt;&#xA;&#xA;&lt;p&gt;D. Avis, G. Rosenberg, R. Savani , and B. von Stengel (2010).&#xA;&lt;a href=&quot;http://cgi.csc.liv.ac.uk/~rahul/papers/avisetal.pdf&quot; rel=&quot;nofollow&quot; title=&quot;Enumeration of Nash Equilibria for Two-Player Games&quot;&gt;Enumeration of Nash Equilibria for Two-Player Games&lt;/a&gt;.&#xA;Economic Theory 42, 9-37.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For a paper that describes GTE and what it can do, see&lt;/p&gt;&#xA;&#xA;&lt;p&gt;R. Savani and B. von Stengel (2014).&#xA;&lt;a href=&quot;http://www.maths.lse.ac.uk/Personal/stengel/TEXTE/largeongte.pdf&quot; rel=&quot;nofollow&quot;&gt;Game Theory Explorer - Software for the Applied Game Theorist&lt;/a&gt;.&#xA;Computational Management Science, 29 pages, to appear. &lt;a href=&quot;http://arxiv.org/abs/1403.3969&quot; rel=&quot;nofollow&quot;&gt;arXiv version&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Zouzias' answer gives a good description of how to use support enumeration, which works fine for small examples. The methods in the paper above and used in GTE will in general be much quicker than support enumeration for finding extreme equilibria. In addition, GTE will find the complete set of equilibria (which can include convex combinations of extreme equilibria) by finding maximal cliques in a bipartite graph.&lt;/p&gt;&#xA;" OwnerUserId="368" LastEditorUserId="368" LastEditDate="2014-03-18T07:00:53.363" LastActivityDate="2014-03-18T07:00:53.363" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21564" PostTypeId="1" CreationDate="2014-03-15T21:52:04.213" Score="22" ViewCount="2675" Body="&lt;p&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Karatsuba_algorithm&quot;&gt;Karatsuba's algorithm&lt;/a&gt; for fast multiplication was first published in A. Karatsuba and Yu. Ofman (1962), &quot;Multiplication of Many-Digital Numbers by Automatic Computers&quot;, &lt;em&gt;Proceedings of the USSR Academy of Sciences&lt;/em&gt; 145: 293–294.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;According to &lt;a href=&quot;http://www.cs.ru/personal/karatsuba/divcen.pdf&quot;&gt;Karatsuba (1995, &quot;The complexity of computations&quot;, &lt;em&gt;Proc. Steklov Institute&#xA;of Mathematics&lt;/em&gt; 211: 169–183)&lt;/a&gt;, this paper was actually written by Kolmogorov (and possibly Ofman) without Karatsuba's knowledge. By modern standards this seems a strange and grave breach of ethics.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Why would Kolmogorov have done this? What did he gain?&lt;/p&gt;&#xA;" OwnerUserId="2241" LastEditorUserId="2241" LastEditDate="2014-03-16T08:06:34.153" LastActivityDate="2015-11-13T21:48:18.377" Title="Why did Kolmogorov publish Karatsuba's algorithm?" Tags="&lt;ho.history-overview&gt;" AnswerCount="2" CommentCount="3" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="21565" PostTypeId="1" CreationDate="2014-03-16T00:54:06.360" Score="4" ViewCount="61" Body="&lt;p&gt;&lt;a href=&quot;http://massivedatasets.files.wordpress.com/2011/02/decrementalconnectivitytrees_2011.pdf&quot; rel=&quot;nofollow&quot;&gt;This set of lecture notes&lt;/a&gt; describes a data structure for decremental connectivity in path graphs that supports queries and removals in amortized O(1) each. Has there been any work done on &lt;em&gt;incremental&lt;/em&gt; connectivity on path graphs? Using a disjoint-set forest it's possible to do queries and insertions in amortized O(&amp;alpha;(n)) time each, but can that be sped up using the fact that we're only looking at a path graph, not a general graph?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks!&lt;/p&gt;&#xA;" OwnerUserId="4354" LastEditorUserId="80" LastEditDate="2014-03-16T04:55:25.453" LastActivityDate="2014-03-16T04:55:25.453" Title="Has there been any work done on incremental connectivity in path graphs?" Tags="&lt;graph-algorithms&gt;&lt;ds.data-structures&gt;" AnswerCount="0" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21567" PostTypeId="1" AcceptedAnswerId="21580" CreationDate="2014-03-16T02:07:20.170" Score="2" ViewCount="700" Body="&lt;p&gt;I'm looking for a fast algorithm to find a clique cover on an undirected unweighted graph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm not looking for an optimal solution (ie minimal number of cliques). Obviously I'm also not looking for a maximal solution (ie 1 clique per edge on an edge cover).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any pointer towards a nice algorithm?&lt;/p&gt;&#xA;" OwnerUserId="22054" LastActivityDate="2014-03-16T18:41:58.643" Title="Fast approximation of (vertex) clique cover" Tags="&lt;graph-theory&gt;&lt;clique&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="21570" PostTypeId="2" ParentId="21564" CreationDate="2014-03-16T06:42:53.810" Score="35" Body="&lt;p&gt;This paper, in Russian, &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Gricenko, S. A., Karatsuba, E. A., Korolyov, M. A., Rezvyakova, I. S.,&#xA;  Tolev, D. I., &amp;amp; Changa, M. E. (2012). Scientific contributions of A. A.&#xA;  Karatsuba / Научные достижения Анатолия Алексеевича Карацубы.&#xA;  Современные проблемы математики, 16(0), 7-30.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;states the following (items 1—3).&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Karatsuba presented his algorithm at a seminar led by Kolmogorov. &lt;/li&gt;&#xA;&lt;li&gt;Kolmogorov prepared an article that had two results of his students, Karatsuba and Ofman. One of the results was Karatsuba's algorithm, the other was an unrelated result of Ofman.&lt;/li&gt;&#xA;&lt;li&gt;The article clearly attributed the results. It stated that the multiplication algorithm is due to Karatsuba and the other result is due to Ofman.  &lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;We can only guess why Kolmogorov did that. I am afraid that the only person who could answer the question why Kolmogorov published the paper without Karatsuba's permission or knowledge was Kolmogorov himself.&lt;/em&gt;  Perhaps he thought that it was a good way to publish the results of his students. Note that the article correctly attributed all results. The article of Karatsuba and Ofman was published in the &lt;em&gt;Proceedings of the USSR Academy of Sciences&lt;/em&gt;; it is my understanding that it had to be submitted/presented by a member of the USSR Academy of Sciences.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is the relevant quote from the paper of Gricenko et al (in Russian):&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Этот результат был доложен Анатолием Карацубой на семинаре А. Н.&#xA;  Колмогорова в МГУ в 1960 г., после чего семинар был Колмогоровым&#xA;  закрыт. Первая статья с описанием этого метода [2] была подготовлена&#xA;  самим Колмогоровым. Там он представил два разных и не связанных друг с&#xA;  другом результата двух своих учеников, и хотя в статье Колмогоров&#xA;  четко отметил, что одна теорема (не связанная с быстрым умножени- ем)&#xA;  принадлежит Ю. Офману, а другая теорема (с первым в истории быстрым&#xA;  умножением) принадлежит А. Карацубе, эта публикация под именами двух&#xA;  авторов надолго сбила с толку читателей, которые полагали, что оба&#xA;  автора внесли вклад в создание быстрого умножения, и даже называли&#xA;  этот метод двумя именами.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;English translation:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;This result was presented by Anatoly Karatsuba in A. N. Kolmogorov's seminar at the Moscow State University in 1960, after which the seminar was closed by Kolmogorov. The first article with the description of this algorithm [2] was prepared by Kolmogorov himself.  In it he presented two different results from his two students that were unrelated to each other, and although Kolmogorov clearly noted in the article that one theorem (unrelated to fast multiplication) belonged to Y. Ofman, and the other theorem (with the first fast multiplication algorithm in history) belonged to A. Karatsuba, this publication on behalf of the two authors for a long time confused readers, who supposed that both authors had stake in the invention of fast multiplication, and even referred to the algorithm using both names.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="9929" LastEditorUserId="3131" LastEditDate="2015-06-09T11:08:51.280" LastActivityDate="2015-06-09T11:08:51.280" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="21571" PostTypeId="1" AcceptedAnswerId="21572" CreationDate="2014-03-16T10:39:16.197" Score="16" ViewCount="1851" Body="&lt;p&gt;Is NP in $DTIME(n^{poly\log n})$? &lt;/p&gt;&#xA;" OwnerDisplayName="user17918" LastEditorUserId="186" LastEditDate="2014-03-16T15:39:11.363" LastActivityDate="2014-03-21T14:00:42.320" Title="Is NP in $DTIME(n^{poly\log n})$?" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="21572" PostTypeId="2" ParentId="21571" CreationDate="2014-03-16T10:55:10.317" Score="22" Body="&lt;p&gt;$DTIME(n^{polylogn})$ is known as &lt;a href=&quot;http://en.wikipedia.org/wiki/Time_complexity#Quasi-polynomial_time&quot;&gt;$QP$ (quasi-polynomial)&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is widely believed that $NP\not \subset QP$, although it is a stronger statement than $P\neq NP$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some common conjectures, such as the  &lt;a href=&quot;http://en.wikipedia.org/wiki/Exponential_time_hypothesis&quot;&gt;Exponential Time Hypothesis&lt;/a&gt; imply $NP\not \subset QP$.&lt;/p&gt;&#xA;" OwnerUserId="21001" LastEditorUserId="21001" LastEditDate="2014-03-16T11:31:16.393" LastActivityDate="2014-03-16T11:31:16.393" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21574" PostTypeId="1" CreationDate="2014-03-16T13:18:57.740" Score="3" ViewCount="185" Body="&lt;p&gt;Let $K_1,..., K_m$ be a set of $m$ polyhedra, with $K_i\subseteq \mathbf{R}^n$, for all $i\in [m]$, and each is described by a set of $poly(n)$ linear inequalities.&#xA;How easy is it to compute an efficient description (half-space representation, or vertex representation) of the convex hull:&#xA;$$&#xA;conv(K_1,...,K_n).&#xA;$$&#xA;Is there an algorithm running in time $poly(n)$,  $poly(n,m)$ ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Similarly, given membership oracles to $K_1,...,K_n$ can one determine in polynomial time, w.r.t. these oracles, whether a point $x$ belongs to $conv(K_1,...,K_n)$?&lt;/p&gt;&#xA;" OwnerUserId="6238" LastEditorUserId="6238" LastEditDate="2014-03-16T18:54:52.603" LastActivityDate="2014-03-16T18:54:52.603" Title="Computing the convex hull of several polyhedra" Tags="&lt;cg.comp-geom&gt;&lt;optimization&gt;&lt;convex-optimization&gt;&lt;convex-geometry&gt;" AnswerCount="0" CommentCount="11" ContentLicense="CC BY-SA 3.0" />
  <row Id="21575" PostTypeId="2" ParentId="9840" CreationDate="2014-03-16T15:10:58.320" Score="4" Body="&lt;p&gt;If you allow dynamic data structure problems, we know some super-linear time optimal algorithms. This is in the cell probe model, which is as strong as the word RAM, i.e. this is &lt;em&gt;not&lt;/em&gt; a restricted model such as algebraic decision trees.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One example is keeping &lt;em&gt;prefix sums&lt;/em&gt; under dynamic updates. We start with an array of numbers $A[1], \ldots, A[n]$, and the goal is to keep a data structure that allows the following operations:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Add $\Delta$ to $A[i]$, given $i$ and $\Delta$&lt;/li&gt;&#xA;&lt;li&gt;Compute the prefix sum $\sum_{j = 1}^i{A[i]}$, given $i$&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;You can easily support both operations in $O(\log n)$ time with a data structure based on an augmented binary tree with $A[i]$ at the leaves. &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=982796&quot; rel=&quot;nofollow&quot;&gt;Patrascu and Demaine&lt;/a&gt; showed this is optimal:  for any data structure there is a sequence of $n$ additions and prefix sum queries that must take $\Omega(n\log n)$ time total. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another example is &lt;em&gt;union find&lt;/em&gt;: start with a partition of $\{1, \ldots n\}$ into singletons, and keep a data structure that allows the two operations:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Union: given $i$ and $j$, replace the part containing $i$ and the part containing $j$ with their union&lt;/li&gt;&#xA;&lt;li&gt;Find: given $i$, output a canonical element from the part containing $i$&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://dl.acm.org/citation.cfm?id=321884&quot; rel=&quot;nofollow&quot;&gt;Tarjan&lt;/a&gt; showed that the classical disjoint set forest data structure with the union by rank and path compression heuristics takes $O(\alpha(n))$ time per operation, where $\alpha$ is the inverse Ackermann function. &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=73040&quot; rel=&quot;nofollow&quot;&gt;Fredman and Saks&lt;/a&gt; showed this is optimal: for any data structure there exists a sequence of $n$ union and find operations which must take $\Omega(n\alpha(n))$ time.&lt;/p&gt;&#xA;" OwnerUserId="4896" LastActivityDate="2014-03-16T15:10:58.320" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21577" PostTypeId="1" CreationDate="2014-03-16T15:58:05.363" Score="3" ViewCount="245" Body="&lt;p&gt;I've asked a &lt;a href=&quot;https://cs.stackexchange.com/questions/22511/runtime-bounds-on-algorithms-of-np-complete-problems-assuming-problems-pnp&quot;&gt;similar question&lt;/a&gt; in cs.se, but didn't get a satisfying answer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assuming $P\neq NP$, what can we say about the runtime of any algorithm for an $NP$-complete problem?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Obviously, it means $\omega(n^c)$ for all $c&amp;gt;0$, but can we give a better lower bound?&#xA;For example, is it possible that $P\neq NP$ and $NP\subset DTIME(2^{logn\cdot log^*n})$, where $log^*n$ is the &lt;a href=&quot;http://en.wikipedia.org/wiki/Iterated_logarithm&quot; rel=&quot;nofollow noreferrer&quot;&gt;iterated log&lt;/a&gt; function?&lt;/p&gt;&#xA;" OwnerUserId="21001" LastEditorUserId="-1" LastEditDate="2017-04-13T12:48:30.830" LastActivityDate="2014-03-16T15:58:05.363" Title="Does $P\neq NP$ imply any larger separation?" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;time-complexity&gt;&lt;np&gt;&lt;p-vs-np&gt;" AnswerCount="0" CommentCount="9" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21580" PostTypeId="2" ParentId="21567" CreationDate="2014-03-16T18:41:58.643" Score="2" Body="&lt;p&gt;You can use a fast (e.g. greedy) max clique algorithm to find cliques one after another. That is, find a maximal clique, remove it from the graph, and repeat until the graph is empty. If fact, I just coded this in C++ for some project that I'm working on now. I can share the code if you'd like it (it accepts DIMACS files).&lt;/p&gt;&#xA;" OwnerUserId="22061" LastActivityDate="2014-03-16T18:41:58.643" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21581" PostTypeId="2" ParentId="12929" CreationDate="2014-03-16T19:54:46.437" Score="2" Body="&lt;p&gt;As far as I remember there is a simple exponential time algorithm for computing  a Nash Equilibrium (NE) for 2 player games.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Guess the support of the NE mixed strategy for each player.&lt;/li&gt;&#xA;&lt;li&gt;Assuming that you know the support, you now have to compute the weights of selecting each pure strategy. This can be written down as a system of linear equations, which can be solved efficiently. More precisely, the system of linear equations encodes the constraints of a mixed strategy being a NE (i.e., each strategy on its support is best response, sums up to one, etc).&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;This algorithm can be programmed quite easily assuming access to a linear solver.&lt;/p&gt;&#xA;" OwnerUserId="1503" LastActivityDate="2014-03-16T19:54:46.437" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="21583" PostTypeId="1" CreationDate="2014-03-16T22:52:55.787" Score="14" ViewCount="294" Body="&lt;p&gt;I am studying the BSS model of computation recently (cf. for instance Complexity and Real Computation; Blum, Cucker, Shub, Smale.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For reals $R$, it is shown that, given a system of polynomials $f_1,\cdots, f_m\in R[x_1, \cdots, x_n]$, the existence of zeros is $NP_R$-complete. However, I am wondering, if those $f$'s are polynomials only have integer coefficients, i.e., $f_1,\cdots, f_m\in Z[x_1, \cdots, x_n]$, is still the problem $NP_R$-hard? (it is obviously in $NP_R$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I suspect yes, but is there a simple proof? &lt;/p&gt;&#xA;" OwnerUserId="21036" LastActivityDate="2014-03-19T23:37:44.830" Title="NP completeness over reals" Tags="&lt;cc.complexity-theory&gt;&lt;computing-over-reals&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="21585" PostTypeId="1" CreationDate="2014-03-17T01:31:21.213" Score="0" ViewCount="180" Body="&lt;p&gt;A related question &lt;a href=&quot;https://cstheory.stackexchange.com/questions/1535/intermediate-problems-between-l-and-nl&quot;&gt;asked&lt;/a&gt; about intermediate problems between $L$ and $NL$. I'm interested in problems between the nonuniform versions of $NL$, $Mod_n L$ and $P$. This makes sense as it is known that $NL \subseteq Mod_2 L$ nonuniformly (see &lt;a href=&quot;https://cstheory.stackexchange.com/questions/7937/parity-l-vs-nl&quot;&gt;here&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A motivation comes from the complexity classification of Constraint Satisfaction Problems. To the best of my knowledge, all known dichotomies in this field yield tractable cases that fall in one of the above classes. A seminal result in this area is Schaefer's dichotomy for binary CSPs showing that the tractable instances are reducible to either $2SAT$ (thus $NL$-complete), $HornSAT$ or its dual (thus $P$-complete) or satisfiability of affine equations (thus $\oplus L$-complete).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This question can also be declined in two variants: (i) what about the corresponding counting classes, (ii) what about the corresponding parameterized classes, e.g. parameterized problems non-deterministically solvable in $O(k \log n)$ space vs problems solvable in $n^{O(k)}$ time.&lt;/p&gt;&#xA;" OwnerUserId="21798" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2014-03-17T01:43:52.943" Title="Intermediate problems between nonuniform $NL$, $Mod_n L$ and $P$?" Tags="&lt;complexity-classes&gt;" AnswerCount="0" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="21586" PostTypeId="2" ParentId="12651" CreationDate="2014-03-17T10:45:46.973" Score="4" Body="&lt;p&gt;The Vehicle Routing Problem was introduced in G. B. Dantzig and J. H. Ramser, &lt;a href=&quot;http://andresjaquep.files.wordpress.com/2008/10/2627477-clasico-dantzig.pdf&quot; rel=&quot;nofollow&quot;&gt;The Truck Dispatching Problem&lt;/a&gt;, Management Science Vol. 6, No. 1 (Oct., 1959), pp. 80-91.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The authors underline the differences with TSP in this way:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;... The &quot;truck dispatching problem&quot; formulated in this paper may be considered as a &lt;em&gt;generalization&lt;/em&gt; of the TSP ...&lt;br&gt;&lt;br&gt;&#xA;&#xA;... The salesman may be required to return to the &quot;terminal point&quot; whenever he has contated $m$ of the $n-1$ remaining points, $m$ being a divisor of $n-1$. For given $n$ and $m$ the problem is to find loops such that all loops have a specified point in common and total loop length is a minimum. Since the loops have one point in commom, this problem may be called the &quot;Clover Leaf Problem&quot;...&lt;br&gt;&lt;br&gt;&#xA;&#xA;... The TSP may also be generalized by imposing the condition that specified deliveries $q_i$ be made at every point $P_i$ (excepting the terminal point). If the capacity of the carrier $C$ is greater than $\sum_i q_i$, the probelm is formally identical with the TSP in its original form since the carrier can serve every delivery point on one trip which links all the points...&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;In the simplest VRP formulation, all trucks (vehicles) have the same capacity and only one product is to be delivered to each point $P_i$. Other common constraints are: time constraints (or total length of each route), time windows, precedence relations between points.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To summarize: the main difference between a TSP and VRP is that the salesman must return to the starting location after some points have been visited. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For what regards &quot;&lt;em&gt;It seems relatively easy to model TSR in the form of VRP and likewise inversely.&lt;/em&gt;&quot;; the reduction from TSP to VRP is immediate, the opposite direction VRP $\leq_m^p$ TSP is surely more complex (and probably it requires other intermediate reductions).&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2014-03-17T11:16:09.083" LastActivityDate="2014-03-17T11:16:09.083" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="21588" PostTypeId="1" AcceptedAnswerId="21592" CreationDate="2014-03-17T15:58:59.317" Score="4" ViewCount="258" Body="&lt;p&gt;I've read that this SE is for research-level CS questions; this is certainly research level, just not my field of research, so it is hard for me to assess how difficult the question really is. So in case this is well-known and easy, I'd still be grateful for a hint or a reference. Thanks!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So here is the question:&#xA;Given a multiset $S$ of integers (or rationals), does there exist a multi-subset $T\subsetneq S$ such that $|\sum_{t\in T}t-\sum_{s\in S\setminus T}s|\le\sum_{s\in S}s$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In case we replace the rhs with some constant $l\ge0$, this reduces to the subset sum decision variant, which is NP hard. &lt;strong&gt;But is this variant still NP-hard?&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks!&#xA;- Josely&lt;/p&gt;&#xA;" OwnerUserId="22073" LastEditorUserId="22073" LastEditDate="2014-03-17T16:07:02.490" LastActivityDate="2014-03-17T19:31:05.553" Title="Subset Sum Variant still NP hard?" Tags="&lt;cc.complexity-theory&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="21589" PostTypeId="2" ParentId="5801" CreationDate="2014-03-17T16:13:44.123" Score="2" Body="&lt;p&gt;Just to add to the suggestions others have given, this note by &lt;a href=&quot;http://www.wisdom.weizmann.ac.il/~/oded/&quot; rel=&quot;nofollow&quot;&gt;Oded Goldreich&lt;/a&gt; is one of the most useful ones I've found so far. It gives a lot of examples of how probability is used in various branches Computer Science.&#xA;The references at the end of the book are also definitely worth looking at.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.wisdom.weizmann.ac.il/~oded/PDF/rnd.pdf&quot; rel=&quot;nofollow&quot;&gt;Randomized Methods in Computation: Tentative Collection of Reading Materials&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="5789" LastActivityDate="2014-03-17T16:13:44.123" CommentCount="0" CommunityOwnedDate="2014-03-17T16:13:44.123" ContentLicense="CC BY-SA 3.0" />
  <row Id="21590" PostTypeId="1" AcceptedAnswerId="21606" CreationDate="2014-03-17T18:13:06.517" Score="9" ViewCount="568" Body="&lt;p&gt;According to BGS theorem [1], there is an oracle $A$ such that $P^A\neq NP^A$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If the relativization operation $B\mapsto B^A$ was a well-defined function, &#xA;one would expect that from $B^A\neq C^A$ one would be able to conclude that $B\neq C$,&#xA;e.g. $P\neq NP$ would follow from BGS. However, $P\neq NP$ is still open.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does that mean that relativization is not a well-defined function? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If so, do we have any example of two provably different relativizations of the same complexity class?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] T. P. Baker, J. Gill, and R. Solovay, &quot;Relativizations of the P =? NP Question&quot;&lt;/p&gt;&#xA;" OwnerUserId="21132" LastEditorUserId="186" LastEditDate="2014-03-17T23:02:25.443" LastActivityDate="2014-03-18T15:29:30.237" Title="Is relativization well-defined?" Tags="&lt;cc.complexity-theory&gt;&lt;oracles&gt;&lt;relativization&gt;" AnswerCount="2" CommentCount="8" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="21591" PostTypeId="1" CreationDate="2014-03-17T18:50:37.270" Score="1" ViewCount="348" Body="&lt;p&gt;There are several ways to solve the marriage problem. The &quot;preferential assignment&quot; approach consists in forming couples on the basis of preferred characteristics expressed by each individual. An alternative approach consists in selecting preferred partners among lovers: suppose that you have the graph $G$ of sexual relations, and that each relation $e$ is rated with some preference factor $w(e)$, then computing a maximum weighted matching in $G$ would aim at optimizing the sexual adequacy between lovers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If there are only heterosexual relationships with two sexes (men and women), then this is a bipartite matching problem, which is conjectured to be in $NC_2$ . Now suppose that a devious adversary had the following abilities: (i) control of the sexual performances of the individuals, (ii) ability to solve parallel problems efficiently. Then this adversary could trick the heterosexual group into forming &quot;bad unions&quot; in a pessimistic sense, i.e. leading to increased instability or corruption.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So my question is: what are the remedies to this problem? Does the introduction of same-sex relations or ternary relations change the situation? I suspect that the goal would be to obtain a P-complete matching problem to defeat the parallel adversary.&lt;/p&gt;&#xA;" OwnerUserId="17699" LastEditorUserId="17699" LastEditDate="2014-04-17T10:58:12.277" LastActivityDate="2015-03-13T16:45:31.290" Title="Maximum matching versus preferential assignment" Tags="&lt;multicommodity-flow&gt;" AnswerCount="1" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="21592" PostTypeId="2" ParentId="21588" CreationDate="2014-03-17T19:31:05.553" Score="3" Body="&lt;p&gt;Note that $T=S$ and $T=\emptyset$ are trivial solutions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;With the constraints $T \neq \emptyset$ and $S\setminus T \neq \emptyset$ the problem seems (unless the proof below is wrong :-) NP-complete. A possible reduction is from PARTITION: given a set $A$ of $n$ positive integers $A=a_1,..a_n$, can $A$ be partitioned in two sets $A = A_1 \cup A_2$ such that $\sum_{a_i\in A_1} a_i = \sum_{a_j \in A_2} a_j$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $M = \sum_{a_i \in A}a_i$; without loss of generality we can assume that $M$ is even.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can pick $S = A \cup \{a_{n+1}, a_{n+2}\}$ with $a_{n+1}= a_{n+2}=-M/2$; so we have $\sum_{s \in S}s = 0$ (right hand side of the equation of your problem). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The original PARTITION problem has a solution if and only if your problem has a solution.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$(\Leftarrow)$ Suppose that there exists $T$ such that $|\sum_{t\in T}t-\sum_{s\in S\setminus T}s|\le\sum_{s\in S}s$ = 0. So the absolute value of the difference of the sums is zero: $|\sum_{t\in T}t-\sum_{s\in S\setminus T}s| = 0$ &lt;br&gt; $T$ cannot contain both $a_{n+1}$ and $a_{n+2}$, otherwise  $|\sum_{t\in T}t-\sum_{s\in S\setminus T}s| &amp;gt; 0$ because at least one element $a_i&amp;gt;0$ must be contained in $S \setminus T$ and $|-M/2 -M/2 - a_i| &amp;gt; M$. For the same reason $S \setminus T$ cannot contain both $a_{n+1}$ and $a_{n+2}$. So $a_{n+1} \in T$ and $a_{n+2} \in S \setminus T$, and their contribution to the absolute value of the difference of the sums is $0$. So the remaining elements must be partitioned in such a way that the sum of the elements in $T$ equals the sum of elements in $S \setminus T$ in order to have an absolute value of the difference of the sums equal to $0$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$(\Rightarrow)$ If the original partition problem has a solution, then it is easy to see that if $T = A_1 \cup a_{n+1}$ we get an absolute value of the difference of the sums equal to $0$.&lt;/p&gt;&#xA;" OwnerUserId="3247" LastActivityDate="2014-03-17T19:31:05.553" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21593" PostTypeId="2" ParentId="21590" CreationDate="2014-03-17T22:42:55.640" Score="5" Body="&lt;p&gt;(I assume this question will eventually get migrated to CS.SE, but I am posting my answer to it here on cstheory for now.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Technically, one doesn't usually think of relativization as an &quot;operator&quot; or &quot;function&quot;; however, I don't see a reason why you couldn't take a &lt;em&gt;statement&lt;/em&gt; and map the statement to a relativized version of it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The trick is that, as others have said, relativization isn't really defined over a complexity class; instead, it is defined on the computation model you are using.  Further, what relativizes is the statement, not the classes.  (The notation is a little misleading.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An example of this is that I could theoretically say that a statement relativizes (or, less likely, doesn't relativize) even if it doesn't refer to a Turing machine at all.  E.g., I could say (truthfully), &quot;1 + 1 = 2&quot; relativizes, because relative to every oracle that could be added to the definition of my universal Turing machine, 1 + 1 = 2 would remain true.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So the short answer is:  Yes, it's well-defined, but not on classes.&lt;/p&gt;&#xA;" OwnerUserId="1338" LastActivityDate="2014-03-17T22:42:55.640" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="21594" PostTypeId="1" AcceptedAnswerId="21596" CreationDate="2014-03-17T23:51:21.103" Score="8" ViewCount="226" Body="&lt;p&gt;A subset $T$ of vertices of a graph $G$ is called a $P_4$-transversal if $T$ intersects every $P_4$ of $G$. In the context of this question, we consider $P_4$ as an induced path on 4 vertices. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Conjecture :&lt;/strong&gt;&#xA;Given a graph $G$ of $n$ vertices, the minimal $P_4$-transversal of G is of at most $\frac{n}{2}$ vertices. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;We consider gneral simple graphs here. However, any results of subclasses of simple graphs are welcome.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Thoughts:&lt;/strong&gt;&#xA;$P_4$-transversal can be seen as a special case of hitting set of sets of size 4. However, for general hitting set of 4-sets (i.e., 4-uniform hypergraph) on $n$ vertices, the minimum hitting set can be as large as $n-3$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The original version of this question guessed the upperbound of the size of $P_4$-transversal as $\frac{n}{3}$. Thanks to the comments from &lt;a href=&quot;https://cstheory.stackexchange.com/users/21001/r-b&quot;&gt;R B&lt;/a&gt; and &lt;a href=&quot;https://cstheory.stackexchange.com/users/2414/jim-nastos&quot;&gt;Jim Nastos&lt;/a&gt;, we have an example on 16 vertices and whose minimal transverval has 7 vertices.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/v9lti.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Introduction and why I am interested in $P_4$-transversal of graphs.&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Study of $P_4$-transversal is a part of study of $P_4$-structures of graphs, which plays an important role in the &quot;&lt;a href=&quot;http://en.wikipedia.org/wiki/Strong_perfect_graph_theorem&quot; rel=&quot;nofollow noreferrer&quot;&gt;Strong Perfect Graph Theorem&lt;/a&gt;&quot;. $P_4$-transversal of perfect graphs and chordal graphs were studied in &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0012365X99003003&quot; rel=&quot;nofollow noreferrer&quot;&gt;perfect graph&lt;/a&gt; and &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0012365X07008151&quot; rel=&quot;nofollow noreferrer&quot;&gt;chordal graph&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$P_4$ is a path of 4 vertices. A $P4$-free graphs is called a &lt;a href=&quot;http://en.wikipedia.org/wiki/Cograph&quot; rel=&quot;nofollow noreferrer&quot;&gt;cograph&lt;/a&gt;, which is the minimal family of graphs generated from $K_1$ and complementation and disjoint union. Therefore, $P_4$ structures seems to be an interesting and important property of graphs.  &lt;/p&gt;&#xA;" OwnerUserId="6108" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2014-03-18T08:40:11.580" Title="On the size of P4-transversals of graphs" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;co.combinatorics&gt;&lt;cograph&gt;" AnswerCount="3" CommentCount="4" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="21595" PostTypeId="2" ParentId="21594" CreationDate="2014-03-18T00:42:26.933" Score="1" Body="&lt;p&gt;Following the idea of user &lt;a href=&quot;https://cstheory.stackexchange.com/users/21001/r-b&quot;&gt;R B&lt;/a&gt; pointed out in the comment, I think the following example may have disproved the conjecture in the question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $H$ be the following graph on 8 vertices. It is clear that, the minimal $P_4$-transversal of $H$ has 2 vertices. For example, the two red vertices.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/AjY92.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now we construct a graph $G$ of 32 vertices. First, make  4 disjoint copies of $H$, $H_1$,$H_2$,$H_3$,$H_4$. Then, let $G$ be the union of $H_1$ join $H_2$, $H_2$ join $H_3$ and $H_3$ join $H_4$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is the minimal $P_4$-transversal of $G$ has 14 vertices. We can choose $H_1$ and 6 vertices, 2 from each $H_2$, $H_3$ and $H_4$, as a $P_4$-transversal. Is this a minimal one? Does there exist another one of at most $11 = \lceil \frac{32}{3} \rceil$ vertices?&lt;/p&gt;&#xA;" OwnerUserId="6108" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2014-03-18T00:42:26.933" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="21596" PostTypeId="2" ParentId="21594" CreationDate="2014-03-18T01:40:17.157" Score="2" Body="&lt;p&gt;Let H be any graph on N vertices and requires T vertices in a P4-transversal (so its ratio is T/N).&#xA;Construct G like in the previous examples: G is a P4 but substitute an H in for each vertex. Then the total number of vertices of G is n = 4N and the transversal size is N + 3T.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This gives a ratio of (N+3T)/4N = (1/4) + (3/4)T/N&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, the last example I gave in the comment of Peng Zhang's answer used H = $P_4$ with T/N = 1/4 and the ratio was 1/4 + 3/16 = 7/16.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now use that 7/16 graph in for H and construct G. This uses 64 vertices, and the transversal size is 16 + 3(7) = 37. We get a ratio of (1/4) + (3/4)(7/16) = 16/64 + 21/64 = 37/64 which is already over 50%.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This seems correct to me (in that I don't see what is wrong with it) but it is troublesome, because repeating this process will get to a fixed point x = (1/4) + (3/4)x , which is x=1.0 (?)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thoughts...? &lt;/p&gt;&#xA;" OwnerUserId="2414" LastActivityDate="2014-03-18T01:40:17.157" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21597" PostTypeId="2" ParentId="14103" CreationDate="2014-03-18T02:08:56.837" Score="-2" Body="&lt;p&gt;alas there seems to be a massive gap here in scientific interest/significance vs actual scientific research as also evidenced in high votes on this question vs low votes on answers (&amp;amp; not expecting to defy that pattern here). it appears to be a very important study/research program at the heart of scientific theory in its early infancy. we now have the tools to do computational experiments that can subject evolution theory to &lt;a href=&quot;http://en.wikipedia.org/wiki/Falsifiability&quot; rel=&quot;nofollow noreferrer&quot;&gt;falsifiability&lt;/a&gt; constraints at least in the sense that if evolutionary theory is accurate, then it should it be possible to model/simulate it at least roughly on a computer; but there seem to be very few attempting the project (which is, surely, extremely ambitious to say the least). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;for example, is there some simulation that matches known evolutionary changes in the phylogenetic tree over billions of years? the challenge is interdisciplinary and crosscutting and does not seem to fit neatly/exactly into existing scientific fields/boundaries. remarkably there does not even seem to be any major scientists or biologists explicitly &lt;em&gt;proposing&lt;/em&gt; such a research program.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;here are a few other refs turned up which surely will not fit &lt;em&gt;strictly&lt;/em&gt; into the narrow criteria outlined in the question but may be roughly close:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;in the field of &lt;a href=&quot;http://en.wikipedia.org/wiki/Artificial_life&quot; rel=&quot;nofollow noreferrer&quot;&gt;&quot;artificial life&quot;&lt;/a&gt; there is some interest in attempting to simulate the conditions that led to &quot;chemical soup&quot; self-organizing into some kind of quasi-life forms that show basic aspects of replication etcetera. eg: &lt;a href=&quot;http://www.damer.com/writings/doctoral/Damer-Bruce-Phd-thesis-COMPRESSED-FINAL.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;THE EVOGRID:&#xA;An Approach to Computational Origins of Life Endeavours&lt;/a&gt; Damer&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;The quest to understand the mechanisms of the origin of life on Earth could be enhanced by computer simulations of plausible stages in the emergence of life from non-life at the molecular level. This class of simulation could then support testing and validation through parallel laboratory chemical experiments. This combination of a computational, or “cyber” component and a parallel effort investigation in chemical abiogenesis could be termed a cyberbiogenesis approach. The central technological challenge to cyberbiogenesis endeavours is to design computer simulation models permitting de novo emergence of prebiotic and biological virtual molecular structures and processes through multiple thresholds of complexity. This thesis takes on the challenge of designing, implementing and analyzing one such simulation model. This model can be described concisely as: distributed processing and global optimization through the method of search coupled with stochastic hill climbing supporting emergent phenomena within small volume, short time frame molecular dynamics simulations.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://www.agner.org/evolution/group_selection.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;A GROUP SELECTION MODEL OF TERRITORIAL WAR, XENOPHOBIA AND ALTRUISM IN HUMANS&#xA;AND OTHER PRIMATES&lt;/a&gt; Agner Fog&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Abstract: A theoretical model of wars over group territories shows that behavioural traits like cooperative warfare, justice, altruism and outsider exclusion may have coevolved in higher primates and prehistoric man. The conditions for territorial war to be an effective mechanism of group selection are discussed. These conditions may have been present in tribal societies in prehistoric times but not in modern times. The geographic evolution of territories is illustrated with computer simulations.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;remarkably the question appears to be very similar to: &lt;a href=&quot;https://stackoverflow.com/questions/396938/computer-simulation-of-the-evolution-process&quot;&gt;computer simulation of the evolution process on earth&lt;/a&gt; dating to 2008 on stack overflow with some misc refs.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="-1" LastEditDate="2017-05-23T12:40:09.333" LastActivityDate="2014-03-18T02:08:56.837" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21599" PostTypeId="2" ParentId="21594" CreationDate="2014-03-18T07:00:28.420" Score="2" Body="&lt;p&gt;Here's an alternative analysis.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Denote by $P_4^1$ a simple path of size 4, and $P_4^k=P_4^{k-1} \square P_4^1$ (i.e. full Cartesian product).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The example in your question is $P_4^2$, and it's minimal transversal is indeed $7/16$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Taking $P_4^3$, we already get a minimal transvesal of size $37$, which is $0.578125n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In general, the minimal transersal for $P_4^k$ is $T(k)=3T(k-1)+4^{k-1}=..=4^k-3^k$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The ratio $\frac{T(k)}{4^k}$ trivially converges to 1 as $k\to \infty$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Definition of cartesian product from textbook &quot;Graph Theory&quot; by J.A. Bondy and U.S.R. Murty.&#xA;The &lt;em&gt;cartesian product&lt;/em&gt; of simple graphs $G$ and $H$ is the graph $G \square H$ whose&#xA;vertex set is $V(G)\times V(H)$ and whose edge set is the set of all pairs $(u_1, v_1)(u_2, v_2)$ such that either $u_1u_2 \in E(G)$ and $v_1=v_2$, or $v_1v_2 \in E(H)$ and $u_1=u_2$.&lt;/p&gt;&#xA;" OwnerUserId="21001" LastEditorUserId="6108" LastEditDate="2014-03-18T08:27:46.250" LastActivityDate="2014-03-18T08:27:46.250" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="21602" PostTypeId="1" AcceptedAnswerId="21649" CreationDate="2014-03-18T10:32:07.543" Score="19" ViewCount="838" Body="&lt;p&gt;I'm interested if there exist any good expository articles or surveys to which I can refer when I write about &lt;em&gt;complexity class operators&lt;/em&gt;: operators which transform complexity classes by doing things such as adding quantifiers to them.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Examples of operators&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;The following can be interpreted as a bare minimum list of operators which an answer should be able to describe.&#xA;Here, $\mathbf C$ is an arbitrary set of languages, over an arbitrary finite alphabet $\Sigma$.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;$\exists \mathbf C := \left\{ L \subseteq \Sigma^\ast \,\left|\, \begin{array}{l} \exists A \in \mathbf C \;\exists f \in O(\mathrm{poly}(n))\;\forall x \in \Sigma^\ast: \\\quad \bigl[x \in L \iff \exists c \in \Sigma^{f(|x|)}: (x,c) \in A \bigr] \end{array} \right\}\right.$&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The $\exists$ operator was apparently introduced by Wagner&amp;nbsp;[1], albeit with the notation  $\bigvee\! \mathbf C$ rather than $\exists \mathbf C$. The most famous example of a class constructed in this way is $\mathsf{NP} = \exists \mathsf P$. This operator comes with a complementary quantifier $\forall$, in which the $\exists c$ in the definition is replaced by $\forall c$, which allows one to easily define the entire polynomial hierarchy: for instance, $\mathsf{\Sigma_2^P P = \exists \forall P}$. This may possibly be the first operator which was defined.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;$\oplus \mathbf C := \left\{ L \subseteq \Sigma^\ast \,\left|\, \begin{array}{l} \exists A \in \mathbf C \;\exists f \in O(\mathrm{poly}(n)) \;\forall x \in \Sigma^\ast: \\ \quad\bigl[x \in L \iff \#\{ c \in \Sigma^{f(|x|)}: (x,c) \in A \} \not\equiv 0 \pmod{2}\bigr]\end{array} \right\}\right.$&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The $\oplus$ operator is similar to the $\exists$ operator in that $\oplus\mathbf C$ concerns the number of certificates which exist that are verifiable in the class $\mathbf C$, but instead counts the number of certficiates modulo $2$. This can be used to define the classes $\mathsf{\oplus P}$ and $\mathsf{\oplus L}$. Similar operators &quot;$\mathsf{Mod_k \cdot}$&quot; exist for other moduli $k$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;$\mathsf{co}\mathbf C := \Bigl\{ L \subseteq \Sigma^\ast \,\Big|\, \exists A \in \mathbf C \;\forall x \in \Sigma^\ast: \bigl[x \in L \iff x \notin A \bigr] \Bigr\}$&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;This is the complementary operator, and is tacitly used to define $\mathsf{ coNP}$, $\mathsf{coC_=P}$, $\mathsf{coMod_kL}$, and a host of other classes from ones which are not known to be closed under complements.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;$\mathsf{BP}\cdot\mathbf C := \left\{ (\Pi_0, \Pi_1)  \,\left|\, \begin{array}{l} \Pi_0, \Pi_1 \subseteq \Sigma^\ast \;\mathbin\&amp;amp;\; \exists A \in \mathbf C \; \exists f \in O(\mathrm{poly}(n))\;\forall x \in \Sigma^\ast: \\ \quad\left[\begin{array}{l} \bigl(x \in \Pi_0 \Leftrightarrow \#\{c \in \Sigma^{f(|x|)}: (x,c) \in A \} \leqslant \tfrac{1}{3} {|\Sigma^{f(|x|)}|} \bigr) \mathbin\&amp;amp; \\ \bigl(x \in \Pi_1 \Leftrightarrow \#\{c \in \Sigma^{f(|x|)}: (x,c) \in A \} \geqslant \tfrac{2}{3} {|\Sigma^{f(|x|)}|} \bigr) \end{array}\right]\end{array}\right\}\right.$&lt;br&gt;&lt;br&gt;&#xA;  &amp;mdash; with apologies for the spacing&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The $\mathsf{BP}$ operator was apparently introduced by Sch&amp;ouml;ning&amp;nbsp;[2], albeit to define languages (i.e.&amp;nbsp;he did not permit a probability gap) and without using the explicit constants $\tfrac{1}{3}$ or $\frac{2}{3}$. The definition here yields promise-problems instead, with YES-instances $\Pi_1$ and NO-instances in $\Pi_0$. Note that $\mathsf{BPP = BP\cdot P}$, and $\mathsf{AM = BP\cdot NP}$; this operator was used by Toda and Ogiwara [3] to show that $\mathsf{P^{\#P} \subseteq BP\cdot\oplus P}$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;h2&gt;Remarks&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;Other important operators which one can abstract from the definitions of standard classes are $\mathsf{C_= \cdot\mathbf C}$ (from the classes $\mathsf{C_= P}$ and $\mathsf{C_= L}$) and $\mathsf C\cdot\mathbf C$ (from the classes $\mathsf{PP}$ and $\mathsf{PL}$). It is also implicit in most of the literature that $\mathsf{F\cdot}$ (yielding function problems from decision classes) and $\#\cdot$ (yielding counting classes from decision classes) are also complexity operators.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is an article by Borchert and Silvestri [4] which propose to define an operator for each class, but which does not seem to be referred to much in the literature; I also worry that such a general approach may have subtle definitional issues. They in turn refer to a good presentation by K&amp;ouml;bler, Sch&amp;ouml;ning, and Tor&amp;aacute;n [5], which however is now over 20 years old, and also seems to miss out $\oplus$.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Question&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;What book or article is a good reference for complexity class operators?&lt;/p&gt;&#xA;&#xA;&lt;h3&gt;References&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;[1]:  K. Wagner, &lt;em&gt;The complexity of combinatorial problems with succinct input representations&lt;/em&gt;, Acta Inform. 23 (1986) 325–356.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2]: U. Sch&amp;ouml;ning, &lt;em&gt;Probabilistic complexity classes and lowness&lt;/em&gt;, in Proc. 2nd IEEE Conference on Structure in Complexity Theory, 1987, pp. 2-8; also in J. Comput. System Sci., 39 (1989), pp. 84-100.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[3]: S. Toda and M. Ogiwara, &lt;em&gt;Counting classes are at least as hard as the polynomial-time hierarchy&lt;/em&gt;, SIAM J.&#xA;Comput. 21 (1992) 316–328.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[4]: B. and Borchert, R.  Silvestri, &lt;em&gt;Dot operators&lt;/em&gt;, Theoretical Computer Science&#xA;Volume 262 (2001), 501–523.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[5]: J. K&amp;ouml;bler, U. Sch&amp;ouml;ning, and J. Tor&amp;aacute;n, The Graph Isomorphism Problem: Its Structural Complexity, Birkh&amp;auml;user, Basel (1993).&lt;/p&gt;&#xA;" OwnerUserId="248" LastEditorUserId="248" LastEditDate="2014-03-18T11:25:58.340" LastActivityDate="2014-03-25T15:04:20.263" Title="A good reference for complexity class operators?" Tags="&lt;reference-request&gt;&lt;complexity-classes&gt;" AnswerCount="2" CommentCount="10" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="21603" PostTypeId="2" ParentId="21470" CreationDate="2014-03-18T11:34:54.020" Score="0" Body="&lt;p&gt;Regarding the previous answer, here's a simple way of defining such an algorithm. Assign to each vertex $x$ an index $i(x)$, initialized to $0$. For each $x$, let $M(x)$ denote the multiset of indices of its in-neighbors. We simulate a topological sorting by maintaining a set $R$ of unexplored vertices, initialized to the entire set. At each step, we do the following:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Chose a vertex $x \in R$ whose multiset $M(x)$ is minimal (in the multiset order);&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Update $i(x)$ to the current loop counter and remove $x$ from $R$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Can this algorithm be used for your problem, or for some other application?&lt;/p&gt;&#xA;" OwnerUserId="21714" LastActivityDate="2014-03-18T11:34:54.020" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21605" PostTypeId="1" CreationDate="2014-03-18T14:19:23.803" Score="0" ViewCount="184" Body="&lt;p&gt;Consider the following game. We are given two sets of sentences $S_1,S_2$ where $S_1$ is the set of &quot;ambiguous sentences&quot;&#xA;and $S_2$ is the set of &quot;explicit sentences&quot;. Each ambiguous sentence $s \in S_1$ can be decoded to a set $\Delta(s) \subseteq S_2$. Suppose&#xA;furthermore that to each &quot;explicit sentence&quot; $s \in S_2$ is associated a cost $c(s)$, e.g. evaluating the cost of the action described by the sentence.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now the game involves $n$ players $P_1,...,P_n$ that can communicate through a common network $N$. In each turn, a player $P_i$ can broadcast a sentence $s \in S_1$, and each other player $P_j$ can interpret it as some sentence $s_j \in \Delta(s)$. Suppose that the players are scored as follows: every time a player $P_i$ sends a sentence $s$ decoded into a set of sentences $s_j$, he is charged a score of $\sum_j c(s_j)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose for simplicity that there are two types of players: the &quot;honest players&quot; that always choose a minimum-cost decoding, and the &quot;devious players&quot; that always choose a maximum-cost decoding. Is it possible to devise an approximate strategy for the honest players in order to minimize their total score?&lt;/p&gt;&#xA;" OwnerUserId="21714" LastEditorUserId="21714" LastEditDate="2014-03-19T03:12:09.593" LastActivityDate="2014-03-19T03:12:09.593" Title="Message-based games with ambiguous communication" Tags="&lt;gt.game-theory&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="21606" PostTypeId="2" ParentId="21590" CreationDate="2014-03-18T15:29:30.237" Score="14" Body="&lt;p&gt;You are exactly right. The relativization operation $B\mapsto B^A$ is not well defined. &#xA;P and P&lt;sup&gt;A&lt;/sup&gt; are independently defined objects. The names are suggestive, but you cannot formally define P&lt;sup&gt;A&lt;/sup&gt; from the set P. (You can define P from P&lt;sup&gt;A&lt;/sup&gt; by setting A to be the empty set.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Think of P&lt;sup&gt;A&lt;/sup&gt; as being some kind of generalization of P, which equals P when A is empty, but otherwise may be different. Now if you only know the set P, it is not clear how to generalize this to get P&lt;sup&gt;A&lt;/sup&gt;. As an analogy, if I asked you to generalize the real numbers, it's not clear what generalization I'm looking for. Am I thinking of fields, rings, vector spaces, etc.? The reason this happens is that while P is merely a set of languages, P&lt;sup&gt;A&lt;/sup&gt; is defined in terms of a machine. This machine has the property that when A is empty it decides exactly the same languages as P. You could come up with some other machine, let's call it Q&lt;sup&gt;A&lt;/sup&gt;, which also has the property that when A is empty decides the same languages as P. This does not mean that P&lt;sup&gt;A&lt;/sup&gt; = Q&lt;sup&gt;A&lt;/sup&gt; for all A. This would be analogous to asserting that if f(0)=g(0), then f and g are the same function.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Perhaps &lt;a href=&quot;http://terrytao.wordpress.com/2009/08/01/pnp-relativisation-and-multiple-choice-exams/&quot;&gt;this post by Terence Tao&lt;/a&gt; will be helpful.&lt;/p&gt;&#xA;" OwnerUserId="206" LastActivityDate="2014-03-18T15:29:30.237" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21607" PostTypeId="2" ParentId="21602" CreationDate="2014-03-18T16:02:36.983" Score="17" Body="&lt;p&gt;As an introductory reference to the notion of a complexity operator (and demonstrating some applications of the idea), the best I have found so far is &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;D. Kozen, Theory of Computation (Springer 2006)&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;which is derived from lecture notes on computational complexity and related topics. On page 187 (&quot;Supplementary Lecture G: Toda's Theorem&quot;), he defines the operators&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$\mathsf R$ (for random certificates with bounded one-sided error, as in the class $\mathsf{RP}$)&lt;/li&gt;&#xA;&lt;li&gt;$\mathsf{BP}$ (for random certificates with bounded two-sided error, see above)&lt;/li&gt;&#xA;&lt;li&gt;$\mathsf P$ (for random certificates with unbounded error, c.f. $\mathsf C$ in the remarks above)&lt;/li&gt;&#xA;&lt;li&gt;$\oplus$ (for an odd number of certificates, see above)&lt;/li&gt;&#xA;&lt;li&gt;$\Sigma^{\mathrm{p}}$ (for existence of polynomial-length certificates, c.f. $\exists$ above)&lt;/li&gt;&#xA;&lt;li&gt;$\Sigma^{\mathrm{log}}$ (for existence of $O(\log n)$-length certificates, c.f. $\exists$ above)&lt;/li&gt;&#xA;&lt;li&gt;$\Pi^{\mathrm{p}}$ and $\Pi^{\mathrm{log}}$ (complementary operators to $\Sigma^{\mathrm{p}}$ and $\Sigma^{\mathrm{log}}$: see remarks on $\forall$ above)&lt;/li&gt;&#xA;&lt;li&gt;$\#$ (defining a counting class, c.f. remarks above)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;and tacitly defines $\mathsf{co\text-}$ on page 12 in the usual way.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Kozen's treatment of these operators is enough to indicate how they are connected with the &quot;usual&quot; complexity classes, and to describe Toda's theorem, but does not much discuss their relationships and only mentions them for a total of 6 pages (in what is after all a book covering a much wider topic).&#xA;Hopefully someone can provide a better reference than this.&lt;/p&gt;&#xA;" OwnerUserId="248" LastActivityDate="2014-03-18T16:02:36.983" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21608" PostTypeId="1" AcceptedAnswerId="31075" CreationDate="2014-03-18T16:45:40.023" Score="20" ViewCount="802" Body="&lt;h2&gt;Background:&lt;/h2&gt;&#xA;&lt;p&gt;Consider the usual two-party model of communication complexity where Alice and Bob are given &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt;-bit strings &lt;span class=&quot;math-container&quot;&gt;$x$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$y$&lt;/span&gt; and have to compute some Boolean function &lt;span class=&quot;math-container&quot;&gt;$f(x,y)$&lt;/span&gt;, where &lt;span class=&quot;math-container&quot;&gt;$f:\{0,1\}^n \times \{0,1\}^n \to \{0,1\}$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;p&gt;We define the following quantities:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$D(f)$&lt;/span&gt; (the deterministic communication complexity of &lt;span class=&quot;math-container&quot;&gt;$f$&lt;/span&gt;): The minimum number of bits that Alice and Bob need to communicate to compute &lt;span class=&quot;math-container&quot;&gt;$f(x,y)$&lt;/span&gt; deterministically.&lt;/p&gt;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$Pn(f)$&lt;/span&gt; (the partition number of &lt;span class=&quot;math-container&quot;&gt;$f$&lt;/span&gt;): The logarithm (base 2) of the smallest number of monochromatic rectangles in a partition (or a disjoint cover) of &lt;span class=&quot;math-container&quot;&gt;$\{0,1\}^n \times \{0,1\}^n$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;A monochromatic rectangle in &lt;span class=&quot;math-container&quot;&gt;$\{0,1\}^n \times \{0,1\}^n$&lt;/span&gt; is a subset &lt;span class=&quot;math-container&quot;&gt;$R \times C$&lt;/span&gt; such that &lt;span class=&quot;math-container&quot;&gt;$f$&lt;/span&gt; takes the same value (i.e., is monochromatic) on all elements of &lt;span class=&quot;math-container&quot;&gt;$R \times C$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Also note that the partition number is different from the &amp;quot;protocol partition number&amp;quot;, which was the subject of &lt;a href=&quot;https://cstheory.stackexchange.com/questions/4301/protocol-partition-number-and-deterministic-communication-complexity&quot;&gt;this question&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;See the text by Kushilevitz and Nisan for more information. In their notation, what I have defined to be &lt;span class=&quot;math-container&quot;&gt;$Pn(f)$&lt;/span&gt; is &lt;span class=&quot;math-container&quot;&gt;$\log_2 C^D(f)$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: These definitions are easily generalized to non-Boolean functions &lt;span class=&quot;math-container&quot;&gt;$f$&lt;/span&gt;, where the output of &lt;span class=&quot;math-container&quot;&gt;$f$&lt;/span&gt; is some larger set.&lt;/p&gt;&#xA;&lt;hr /&gt;&#xA;&lt;h2&gt;Known results:&lt;/h2&gt;&#xA;&lt;p&gt;It is known that &lt;span class=&quot;math-container&quot;&gt;$Pn(f)$&lt;/span&gt; is a lower bound on &lt;span class=&quot;math-container&quot;&gt;$D(f)$&lt;/span&gt;, i.e., for all (Boolean or non-Boolean) &lt;span class=&quot;math-container&quot;&gt;$f$&lt;/span&gt;, &lt;span class=&quot;math-container&quot;&gt;$Pn(f) \leq D(f)$&lt;/span&gt;.&#xA;Indeed, most lower bound techniques (or perhaps all?) for &lt;span class=&quot;math-container&quot;&gt;$D(f)$&lt;/span&gt; actually lower bound &lt;span class=&quot;math-container&quot;&gt;$Pn(f)$&lt;/span&gt;. (Can anyone confirm that this is true of all lower bound techniques?)&lt;/p&gt;&#xA;&lt;p&gt;It is also known that this bound is at most quadratically loose (for Boolean or non-Boolean functions), i.e., &lt;span class=&quot;math-container&quot;&gt;$D(f) \leq (Pn(f))^2$&lt;/span&gt;. To summarize, we know the following:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$Pn(f) \leq D(f) \leq (Pn(f))^2$&lt;/span&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;It is conjectured that &lt;span class=&quot;math-container&quot;&gt;$Pn(f) = \Theta(D(f))$&lt;/span&gt;. (This is open problem 2.10 in the text by text by Kushilevitz and Nisan.)  However, to the best of my knowledge, the best known separation between these two for Boolean functions is only by a multiplicative factor of 2, as shown in &amp;quot;The Linear-Array Conjecture in Communication Complexity Is False&amp;quot; by Eyal Kushilevitz,    Nathan Linial, and Rafail Ostrovsky.&lt;/p&gt;&#xA;&lt;p&gt;More precisely, they exhibit an infinite family of Boolean functions &lt;span class=&quot;math-container&quot;&gt;$f$&lt;/span&gt;, such that &lt;span class=&quot;math-container&quot;&gt;$D(f) \geq (2 - o(1)) Pn(f)$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;hr /&gt;&#xA;&lt;h2&gt;Question:&lt;/h2&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;What is the best known separation between &lt;span class=&quot;math-container&quot;&gt;$Pn(f)$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$D(f)$&lt;/span&gt; for non-Boolean functions? Is it still the factor-2 separation referenced above?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;Added in v2&lt;/strong&gt;: Since I haven't received an answer in a week, I'm also happy to hear partial answers, conjectures, hearsay, anecdotal evidence, etc.&lt;/p&gt;&#xA;" OwnerUserId="206" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2015-04-10T14:31:07.870" Title="Deterministic communication complexity vs partition number" Tags="&lt;lower-bounds&gt;&lt;communication-complexity&gt;" AnswerCount="2" CommentCount="4" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="21613" PostTypeId="1" CreationDate="2014-03-18T21:58:54.820" Score="4" ViewCount="114" Body="&lt;p&gt;I am reading the paper &quot;Generating random bits from an arbitrary source: fundamental limits&quot; by Vembu and Verdu. This paper is written in the language of information theory, however, I need to translate one quantity in this paper in terms of computer science.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;inf-entropy rate&lt;/em&gt;, $\underline{H}(X)$, of an arbitrary source is defined (Definition 3 in the paper) as the largest real number $\alpha$ (including $\infty$) that satisfies &#xA;$$\lim_{n\to\infty}P\{x^n:~\frac{1}{n}\log\frac{1}{P_{X^n}(x^n)}\leq \alpha-\epsilon\}=0,$$ for all $\epsilon&amp;gt;0$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Comparing this quantity with the definition of min-entropy, we can say that for  i.i.d sources $\underline{H}(X)=H_{\infty}(X)$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, it is obvious that for all stationary and ergodic sources, the Shannon-McMillan theorem leads us to conclude that $\underline{H}(X)=\lim_{n\to\infty}\frac{1}{n}H(X^n)$ as mentioned in expression (2) in the paper.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since i.i.d sources are a special class of stationary and ergodic sources for which $\lim_{n\to\infty}\frac{1}{n}H(X^n)=H(X)$,  from above, we conclude that for any i.i.d sources, $H_{\infty}(X)=H(X)$ which is clearly not true in general. [This is only true when the source is assumed to be uniform too].&#xA;So there must be a mistake somewhere in the above argument. Could you please let me know where is the mistake?    &lt;/p&gt;&#xA;" OwnerUserId="21925" LastActivityDate="2014-03-18T21:58:54.820" Title="Inf-entropy rate and min-entropy" Tags="&lt;cr.crypto-security&gt;&lt;it.information-theory&gt;&lt;shannon-entropy&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21614" PostTypeId="1" AcceptedAnswerId="21633" CreationDate="2014-03-18T22:50:22.150" Score="10" ViewCount="790" Body="&lt;p&gt;We know that beta-equality of simply typed lambda-terms is decidable. Given M,N:σ→τ, is it decidable whether for all X:σ, MX $≃_β$ NX?&lt;/p&gt;&#xA;" OwnerUserId="17388" LastEditorUserId="8519" LastEditDate="2014-03-19T22:35:39.440" LastActivityDate="2014-03-20T00:06:05.933" Title="Algorithm to determine function equality on the simply typed lambda calculus?" Tags="&lt;ds.algorithms&gt;&lt;pl.programming-languages&gt;&lt;type-theory&gt;&lt;functional-programming&gt;" AnswerCount="1" CommentCount="6" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="21615" PostTypeId="2" ParentId="21448" CreationDate="2014-03-18T23:11:15.360" Score="1" Body="&lt;p&gt;Not exactly what I was asking for, but I've noticed that this problem is $FPT$ with respect to $k$ (while Set Packing seems to be $W[1]-hard$ with respect to the required number of sets alone (i.e. without bound on the set sizes)).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The algorithm utilizes the famous &lt;a href=&quot;http://www.google.com/url?sa=t&amp;amp;rct=j&amp;amp;q=&amp;amp;esrc=s&amp;amp;source=web&amp;amp;cd=1&amp;amp;cad=rja&amp;amp;uact=8&amp;amp;ved=0CCcQFjAA&amp;amp;url=http://www.tau.ac.il/~nogaa/PDFS/col5.pdf&amp;amp;ei=_sooU7eACqmY4wTk0IDoDg&amp;amp;usg=AFQjCNH3yxDvNfSlKUXUNL9ZgZ38Mu6emg&amp;amp;sig2=r4wfkYm-o22WObADUNYPjg&amp;amp;bvm=bv.62922401,d.bGQ&quot; rel=&quot;nofollow&quot;&gt;color coding&lt;/a&gt; scheme in the following way:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;-Notice that we can assume w.l.o.g that all set sizes are at most $k-1$ (otherwise we can select the single largest set).&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&quot;Guess&quot; (i.e. go over all possibilities) the number of elements in the minimal feasible disjoint cover, $x$. Since the sets are of size $\leq k-1$, the smallest feasible cover is of size $k\leq x \leq 2(k-1)$.&lt;/li&gt;&#xA;&lt;li&gt;Randomly color all items by $x$ colors. Denote the coloring by $C$.&lt;/li&gt;&#xA;&lt;li&gt;Use dynamic programming to figure if if a set $S\subseteq [x]$ of item colors can be obtained by selecting disjoint sets. Formally, each cell in our matrix $A$ will be some subset of $[x]$, our initialization will be $A[\emptyset]=true$, and our computation will be $A[t]=\vee_{t'\subset t}\{((A[t']) \wedge (\exists s\in \mathcal{S}:C(s)\cap A[t']=\emptyset)\wedge (t'\cup C(s)=t)\}$. Basically, $A$ is a boolean matrix denoting if some set $t\subset [x]$ of colors is coverable by disjoint sets.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;(from this point is basically follows the CC analysis):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assuming there was a disjoint cover of size $x$, the probability that all of it's elements will be colored by different colors is $\frac{x!}{x^x}\leq e^{-x}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This means that if we repeat steps 2,3 for $O(e^x)$ iterations, we will get a coloring such that with high probability we will be able to cover all $x$ colors in the DP procedure.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The total running time will be $O((2e)^{2k}\cdot poly(n,m))\approx O^*(29.56^k)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Using the same method of computing a $k$-perfact hashing family (instead of the random coloring), this result can also be derandomized with an increase factor of $2^{polylogk}$ to the runtime.&lt;/p&gt;&#xA;" OwnerUserId="21001" LastEditorUserId="21001" LastEditDate="2014-03-19T16:54:34.400" LastActivityDate="2014-03-19T16:54:34.400" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21626" PostTypeId="1" AcceptedAnswerId="21637" CreationDate="2014-03-19T20:30:49.893" Score="4" ViewCount="193" Body="&lt;p&gt;I have a basic question regarding the best known polynomial-time &quot;distinguishing advantage&quot; for the planted clique problem. By this, I'm referring to the problem of distinguishing the distribution $G(n,\frac{1}{2})$ of Erdos Renyi Random graphs from $G_k(n,\frac{1}{2})$ -- the distribution of graphs formed by planting a clique of size $k$ in $G(n,\frac{1}{2})$. This problem (as well as its natural bipartite variant) is conjectured hard for $k=n^{\frac{1}{2} - \delta}$ when $\delta &amp;gt;0$ is an absolute constant. In this post, you can think of $k=n^{\frac{1}{4}}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is often assumed as a hardness assumption that no polynomial time algorithm can distinguish $G(n,\frac{1}{2})$ from $G_k(n,\frac{1}{2})$ with &quot;non-negligible&quot; advantage. Formally, this means that for any &quot;non-negligible&quot; advantage $\epsilon&amp;gt;0$, there is no polynomial time algorithm $f$ from graphs to $\{0,1\}$ such that $|\Pr[ f(G)=1 ] - \Pr[f(G_k)=1] | &amp;gt; \epsilon$ for $G \sim G(n,\frac{1}{2})$ and $G_k \sim G_k(n,\frac{1}{2})$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In applications of this hardness assumption which I have seen, &quot;non-negligible&quot; is often taken to mean an absolute constant. In other words, it is believed that no polynomial-time algorithm can distinguish between the two distributions with constant advantage. My question is whether this extends to sub-constant $\epsilon$ which are not too small? i.e., is it believed hard to distinguish the two distributions with advantage, say, $\epsilon = \frac{1}{n}$ or $\epsilon = \frac{1}{\sqrt{n}}$ ? Clearly, there is some advantage $\epsilon$ more than exponentially small in $n$ but less than a constant where this problem crosses from being easy to being hard, and I'm interested in what is known about this &quot;threshold&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The only reference to sub-constant distinguishability I could find is in &lt;a href=&quot;http://arxiv.org/abs/1201.1214&quot; rel=&quot;nofollow&quot;&gt;this paper&lt;/a&gt;, which (assuming I understand the paper correctly) seems to rule out polynomial-time distinguishability with $\epsilon &amp;gt; \frac{1}{o(n)}$ via &quot;statistical algorithms.&quot; Anybody know what else is known / believed?&lt;/p&gt;&#xA;" OwnerUserId="2945" LastEditorUserId="2945" LastEditDate="2014-03-19T22:44:23.360" LastActivityDate="2014-03-20T00:29:14.783" Title="Polynomial-time distinguishability threshold of planted clique" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;graph-algorithms&gt;&lt;approximation-algorithms&gt;&lt;clique&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21628" PostTypeId="1" AcceptedAnswerId="21629" CreationDate="2014-03-19T21:33:04.607" Score="3" ViewCount="836" Body="&lt;p&gt;There is a &lt;a href=&quot;http://www.ams.org/journals/tran/1923-025-03/S0002-9947-1923-1501252-3/S0002-9947-1923-1501252-3.pdf&quot; rel=&quot;nofollow&quot;&gt;paper by Ritt from 1923&lt;/a&gt; that calls the relation,  $f(g(x)) = g(f(x))$, &lt;em&gt;permutable functions&lt;/em&gt;. Is there a more recent terminology used in the literature, or is this still the standard?&lt;/p&gt;&#xA;" OwnerUserId="2021" LastActivityDate="2014-03-19T21:54:13.833" Title="Terminology for f(g(x)) = g(f(x))" Tags="&lt;circuit-complexity&gt;&lt;terminology&gt;&lt;functional-programming&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21629" PostTypeId="2" ParentId="21628" CreationDate="2014-03-19T21:54:13.833" Score="17" Body="&lt;p&gt;It's common to say that $f$ and $g$ commute with respect to composition (where the property is known as commutativity). See, e.g., &lt;a href=&quot;http://en.wikipedia.org/wiki/Function_composition&quot;&gt;http://en.wikipedia.org/wiki/Function_composition&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="368" LastActivityDate="2014-03-19T21:54:13.833" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21630" PostTypeId="1" CreationDate="2014-03-19T23:07:18.223" Score="-1" ViewCount="148" Body="&lt;p&gt;It is known that the metric steiner tree problem is NP hard (Garry and Johnson [1977]). I wanted to know if there is a simpler way of proving the same. Specifically, I am trying to find a polynomial time reduction from the steiner tree problem to the metric steiner tree problem. I am aware of a reduction which uses shortest path between two vertices, but as far as I know, that transformation is just approximation preserving. Can the same be used as a proof for NP hardness and if so, how ?&lt;/p&gt;&#xA;" OwnerUserId="15392" LastActivityDate="2014-03-20T15:26:38.267" Title="NP Hardness of Metric Steiner Tree" Tags="&lt;np-hardness&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21631" PostTypeId="1" CreationDate="2014-03-19T23:29:52.220" Score="4" ViewCount="243" Body="&lt;p&gt;Consider the problem $\def\GEN{\mathrm{GEN}}\GEN$: given a ternary relation $R \subseteq X^3$ and a subset $S \subseteq X$, is the closure of $S$ with respect to $R$ equal to the whole set $X$? By this we mean the smallest set $S \subseteq C \subseteq X$ such that $u,v \in C$ and $R(u,v,w)$ implies $w \in C$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is known that $\GEN$ is $\mathsf{P}$-complete for arbitrary relations, and $\mathsf{NL}$-complete when the relation $R$ expresses an associative composition law $*$ (i.e. $R(u,v,w)$ holds iff $w = u*v$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We can define a notion of &quot;associative relation&quot; extending the above situation, as follows: say that $R$ is associative if for each $a,b,d,e \in X$, we have&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\exists c. (R(a,b,c) \wedge R(c,d,e)) \Rightarrow \exists c. (R(a,c,e) \wedge R(b,d,c)).$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So I would like to know: what is the complexity of the $\GEN$ problem for such relations?&#xA;Also, is it possible to define a notion of &quot;$k$-associative relations&quot; that would induce a hierarchy in the space complexity of the $\GEN$ problem?&lt;/p&gt;&#xA;" OwnerUserId="21714" LastEditorUserId="248" LastEditDate="2014-03-20T09:27:32.060" LastActivityDate="2014-03-20T09:27:32.060" Title="Notion of associativity for ternary relations?" Tags="&lt;cc.complexity-theory&gt;" AnswerCount="0" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="21632" PostTypeId="2" ParentId="21583" CreationDate="2014-03-19T23:37:44.830" Score="3" Body="&lt;p&gt;I think the answer is &lt;em&gt;no&lt;/em&gt;, assuming $\mathsf{P}_{\mathbb{R}} \neq \mathsf{NP}_{\mathbb{R}}$ (I believe I give a proof below, but there are enough potentially nitpicky definitional issues here that I'm being cautious about my claims). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Proof that the answer is no assuming $\mathsf{P}_\mathbb{R} \neq \mathsf{NP}_{\mathbb{R}}$&lt;/strong&gt;: In fact, I believe the following stronger statement holds: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Lemma:&lt;/em&gt; For any BSS decision problem $L$ over $\mathbb{R}$, if $L$ poly-time-BSS$_{\mathbb{R}}$ reduces to a problem on integer inputs, then $L \in \mathsf{P}_\mathbb{R}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Proof of lemma&lt;/em&gt;: Suppose there were a polynomial-time BSS$_{\mathbb{R}}$ reduction from $L$ to a problem on integer inputs, given by a machine $M$. For inputs consisting of $n$ real parameters, unroll the computation of $M$ into an algebraic computation tree. There are only finitely many leaves, and the result at each leaf is a single rational function in the input parameters. In order for a rational function of real inputs to always output an integer value, it must be a constant function, and therefore not depend on the input. However, which constant function is used at each leaf can, of course, depend on the branches. However, since $M$ is a uniform machine, there can be only $O(1)$ output nodes, and thus only $O(1)$ output values. Thus $M$ can be trivially modified to in fact decide $L$ in polynomial time. QED&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, take $L$ to be real feasibility of real polynomials. If $\mathsf{P}_{\mathbb{R}} \neq \mathsf{NP}_{\mathbb{R}}$, then $L \notin \mathsf{P}_{\mathbb{R}}$, and by the Lemma there is no reduction from $L$ to any problem on integer inputs (in particular, to real feasibility of &lt;em&gt;integer&lt;/em&gt; polynomials).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Promise problem issue?&lt;/strong&gt;: Another potential issue with your question is that real feasibility of &lt;em&gt;integer&lt;/em&gt; polynomials may not be in $\mathsf{NP}_{\mathbb{R}}$, but only in its promise version. The issue here is that to verify that an input (such as the coefficient of a polynomial $f_i$) is an integer takes time that depends on the magnitude of $x$, whereas the set of instances (all instances, not just yes-instances) for an $\mathsf{NP}_{\mathbb{R}}$ decision problem should be decidable in $\mathsf{P}_\mathbb{R}$, the latter meaning that it takes polynomial time in the &lt;em&gt;number of parameters&lt;/em&gt;, and not their magnitudes. This is, I believe, closely related to the fact that the integers are not first-order definable within the reals. (Essentially the best a BSS$_{\mathbb{R}}$-machine can do to test if an input $x$ is an integer is to compute the integer part of $x$ by computing powers of $2$ and doing &quot;binary search.&quot; Once it's computed the integer part of $x$, it just checks whether that is equal to $x$.) So I think the probleam of real feasibility of &lt;em&gt;integer&lt;/em&gt; equations is in $\mathsf{PromiseNP}_{\mathbb{R}}$ but probably not in $\mathsf{NP}_{\mathbb{R}}$ (or at least it seems nontrivial to prove that it is in $\mathsf{NP}_{\mathbb{R}}$).&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2014-03-19T23:37:44.830" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21633" PostTypeId="2" ParentId="21614" CreationDate="2014-03-19T23:54:06.310" Score="13" Body="&lt;p&gt;As I said in my comment, the answer in general is no.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The important point to understand (I say this for Viclib, who seems to be learning about these things) is that having a programming language/set of machines in which all programs/computations terminate by no means implies that function equality (i.e., whether two programs/machines compute the same function) is decidable.  An easy example: take the set of polynomially-clocked Turing machines.  By definition, all such machines terminate on all inputs.  Now, given any Turing machine whatsoever $M$, there is a Turing machine $M_0$ that, given in input the string $x$, simulates $|x|$ steps of the computation of $M$ on a fixed input (say, the empty string) and accepts if $M$ terminates in at most $|x|$ steps, or rejects otherwise.  If $N$ is a Turing machine that always immediately rejects, $M_0$ and $N$ are both (obviously) polynomially-clocked, and yet if we could decide whether $M_0$ and $N$ compute the same function (or, in this case, decide the same language), we would be able to decide whether $M$ (which, remember, is an arbitrary Turing machine) terminates on the empty string.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the case of the simply typed $\lambda$-calculus (STLC), a similar argument works, except that gauging the expressive power of the STLC is not as trivial as in the above case. When I wrote my comment, I had in mind a couple of papers by Hillebrand, Kanellakis and Mairson from the early 90s, which show that, by using more complex types than the usual type of Church integers, one may encode in the STLC sufficiently complex computations for the above argument to work. Actually, I see now that the needed material is already in Mairson's simplified proof of Statman's theorem:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Harry G. Mairson, A simple proof of a theorem of Statman. Theoretical Computer Science, 103(2):387-394, 1992. (Available online &lt;a href=&quot;http://www.cs.brandeis.edu/~mairson/Papers/statman.ps.gz&quot;&gt;here&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In that paper, Mairson shows that, given any Turing machine $M$, there is a simple type $\sigma$ and a $\lambda$-term $\delta_M:\sigma\rightarrow\sigma$ encoding the transition function of $M$. (This is not obvious a priori, if one has in mind the extremely poor expressive power of the STLC on Church integers. Indeed, Mairson's encoding is not immediate).  From this, it is not hard to construct a term&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$t_M:\mathtt{nat}[\sigma]\rightarrow\mathtt{bool}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(where $\mathtt{nat}[\sigma]$ is the instantiation on $\sigma$ of the type of Church integers) such that $t_M\,\underline{n}$ reduces to $\underline{1}$ if $M$ terminates in at most $n$ steps when fed the empty string, or reduces to $\underline{0}$ otherwise. As above, if we were able to decide that the function represented by $t_M$ is the constant $\underline{0}$ function, we would have decided the termination of $M$ on the empty string. &lt;/p&gt;&#xA;" OwnerUserId="20716" LastEditorUserId="20716" LastEditDate="2014-03-20T00:06:05.933" LastActivityDate="2014-03-20T00:06:05.933" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="21637" PostTypeId="2" ParentId="21626" CreationDate="2014-03-20T00:29:14.783" Score="1" Body="&lt;p&gt;My understanding is that no algorithm is known for finding cliques with polynomially high success probability for $k=O(n^{1/2-\epsilon})$.  I think it is believed that getting a polynomially large success probability is not possible.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The reason for my holding this belief is that after a clique-finding algorithm outputs a clique, one can check if it succeeded.  So if the algorithm fails, it can be re-run until the clique is found, which would yield polynomial time algorithm for polynomially high edges.  Of course, this isn't quite right -- an algorithm may be deterministic and its success could depend on the random target graph, and so this trick wouldn't work.  So this is more intuition than proof.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The paper of mine you cite gives concrete lower bounds, but only for a restricted class of algorithms.&lt;/p&gt;&#xA;" OwnerUserId="123" LastActivityDate="2014-03-20T00:29:14.783" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="21642" PostTypeId="1" CreationDate="2014-03-20T12:57:05.097" Score="8" ViewCount="323" Body="&lt;p&gt;The monotone space complexity of a language $L \subseteq \Sigma^*$ can be defined in terms of monotone switching networks (see e.g. &quot;Average Case Lower Bounds for Monotone Switching Networks&quot; by Filmus et al.). This notion is linked to the monotone $NC$ hierarchy and may have applications to the non-monotone setting for which most questions are open.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is an equivalent definition in term of circuits. Let $K$ be a circuit (or dag) whose arcs are labelled by elements of $[n] \times \Sigma$, and which has a single root node $r$. We say that $K$ accepts a word $w \in \Sigma^n$ iff there is a root-leaf path $P$ in $K$ whose sequence of labels matches $w$, i.e. for each label $(i,a)$ in $P$ we have $w[i] = a$. Now, given a language $L$, for each integer $n$ we define its $n$-slice complexity $C_L(n)$ as the minimum size of a circuit accepting exactly the words in $L \cap \Sigma^n$. We can put some restrictions on this notion, for instance by requiring that the circuits are read-once, meaning that each accepting path makes a single access to a given position. This leads to a second complexity measure $C'_L(n)$ which seems easier to analyze, as illustrated below.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An example is the Perfect Matching problem ($PM$), which can be shown to have monotone complexity $C'_{PM}(n) = 2^{\Omega(n)}$ as follows. Let $PM_n$ denote the slice of the language corresponding to bipartite graphs $G$ with $n$ vertices on each side of the bipartition (denoted by $A,B$). Consider a circuit $K$ accepting it. Given an integer $k$, let $\mathcal{P}_k$ denote the set of paths of length $k$ in $K$ starting from the root, and let $\mathcal{T}_k$ denote the pair of sets $(S,T)$ with $S \subseteq A, T \subseteq B$ and $|S| = |T| = k$. By monotonicity, we can make the following assumption:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(*) for each node $u$ of depth $k$, there is a tuple $t = (S,T) \in \mathcal{T}_k$ such that each path $P \in \mathcal{P}_k$ leading to $u$ is labeled by a permutation $\sigma_P : S \rightarrow T$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Indeed, if there were two different paths leading to $u$ corresponding to different tuples, one of them could be extended to a function that is not a permutation (and thus would recognize an $n$-edges graph that is not a matching).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now observe that we must have the following &quot;coverage&quot; property: for each permutation $\sigma : A \rightarrow B$, there should exist some path $P \in \mathcal{P}_k$ such that $\sigma$ extends $\sigma_P$. Observe that a given permutation $\sigma_P$ can be extended to at most $(n-k)!$ different permutations, and that a given tuple in $\mathcal{T}_k$ can induce at most $k!$ different permutations. This implies that the number of nodes at depth $k$ is at least $\frac{n!}{k! (n-k)!}$. In particular, the number of nodes at level $\frac{n}{2}$ is at least $\frac{n!}{(\frac{n}{2})!^2} = 2^{\Omega(n)}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are two things I would like to understand: (i) why does this reasoning break down for read-many / nonmonotone space complexity, (ii) how does it relate to known lower bounds for the monotone space complexity of $PM$.&lt;/p&gt;&#xA;" OwnerUserId="21714" LastEditorUserId="21798" LastEditDate="2014-03-20T16:12:45.660" LastActivityDate="2014-03-26T16:27:10.760" Title="Lower bounds on monotone space complexity" Tags="&lt;circuit-complexity&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21644" PostTypeId="2" ParentId="20538" CreationDate="2014-03-20T13:30:25.480" Score="5" Body="&lt;p&gt;&lt;a href=&quot;http://epubs.siam.org/doi/abs/10.1137/0206005&quot;&gt;Papadimitriou &amp;amp; Steiglitz (1977)&lt;/a&gt; have shown NP-completeness of this problem.&lt;/p&gt;&#xA;" OwnerUserId="2150" LastActivityDate="2014-03-20T13:30:25.480" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="21646" PostTypeId="2" ParentId="21630" CreationDate="2014-03-20T15:26:38.267" Score="0" Body="&lt;p&gt;Let $G$ be the instance of the general Steiner tree problem and $G'$ be the shortest-path  closure of $G$. &#xA;When the shortest path of every pair of vertices on $G$ is unique, the cost of the Steiner minimum tree on $G$ is the same as that on $G'$. I think that there exists some simple way to transform the edge costs such that the shortest paths are unique and the instance size is polynomial to the original one.   &lt;/p&gt;&#xA;" OwnerUserId="20839" LastActivityDate="2014-03-20T15:26:38.267" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21648" PostTypeId="1" AcceptedAnswerId="21654" CreationDate="2014-03-20T17:14:44.063" Score="6" ViewCount="809" Body="&lt;p&gt;Consider a triangle-free graph $G$. The notations used are:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;$\alpha(G) = $ the size of a largest independent set of $G$.&lt;/li&gt;&#xA;&lt;li&gt;$n(G) = $ the number of vertices in $G$.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Theorem&lt;/em&gt; (Ajtai et al.): For a triangle-free graph $G$ with maximum degree $\Delta$,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\alpha(G) \geq \frac{n(G)}{8\Delta}\log_2\Delta.$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The book &quot;Probabilistic Methods&quot; by Alon-Spencer gives a very cute proof in the section &quot;The Probabilistic Lens&quot;, (pg 272).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But the theorem is true even when $\Delta$ is subsituted by the average degree $d_{avg}$ in the above expression and Bollobas proves this in his book &quot;Random Graphs, 2nd edition&quot;, pg 332, using completely different techniques.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;My Question :&lt;/strong&gt; Can we obtain Bollobas' result by tweaking the technique used by Alon-Spencer?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;PS:&lt;/em&gt; For a graph theory enthusiasts, both proofs are worth reading!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks in advance!&lt;/p&gt;&#xA;" OwnerUserId="16261" LastEditorUserId="72" LastEditDate="2014-03-21T06:25:06.787" LastActivityDate="2014-03-21T10:26:02.533" Title="Independent set size in triangle-free graphs" Tags="&lt;graph-theory&gt;&lt;pr.probability&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21649" PostTypeId="2" ParentId="21602" CreationDate="2014-03-20T18:03:35.120" Score="18" Body="&lt;p&gt;Here is a reference with many definitions of operators (not many details though):&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;S. Zachos and A. Pagourtzis,&#xA;  &lt;a href=&quot;http://www.cs.ucy.ac.cy/conferences/pls4/Pagourtzis.ps&quot;&gt;Combinatory Complexity: Operators on Complexity Classes&lt;/a&gt;, Proceedings of 4th Panhellenic Logic Symposium (PLS 2003), Thessaloniki, Jul 7-10 2003.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;It defines an identity operator $\mathcal E$, as well as operators $\mathsf{co}$-&amp;nbsp;, $\mathsf{N}$ (corresponding to $\exists$ above), $\mathsf{BP}$, $\mathsf{R}$ (corresponding to bounded one-sided error), $\oplus$, $\mathsf U$ (corresponding to non-determinism with a unique accepting transition), $\mathsf P$ (corresponding to unbounded two-sided error), and $\Delta$ (which for a class $\mathbf C$ forms $\mathbf C \cap \mathsf{co}\mathbf C$).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;It shows that:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;$\mathcal E$ is an identity element with respect to composition [Definition&amp;nbsp;1];&lt;/li&gt;&#xA;&lt;li&gt;$\mathsf{co}$- is self-inverse [Definition&amp;nbsp;2];&lt;/li&gt;&#xA;&lt;li&gt;$\mathsf{N}$ is idempotent [Definition&amp;nbsp;3] &amp;mdash; implicit is that $\mathsf{BP}$, $\mathsf{R}$, $\oplus$, $\mathsf U$, and $\mathsf{P}$ are also idempotent;&lt;/li&gt;&#xA;&lt;li&gt;$\mathsf{BP}$ and $\mathsf{P}$ commute with $\mathsf{co}$-&amp;nbsp; [Definitions&amp;nbsp;4 and&amp;nbsp;8], while $\oplus$ is invariant under right-composition with $\mathsf{co}$-&amp;nbsp;[Definition&amp;nbsp;6];&lt;/li&gt;&#xA;&lt;li&gt;The above operators are all monotone (that is, ${\mathbf C_1 \subseteq \mathbf C_2} \implies {\mathcal O\cdot\mathbf C_1 \subseteq \mathcal O\cdot\mathbf C_2}$ for all operators $\mathcal O$ above):&lt;/li&gt;&#xA;&lt;/ol&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Throughout, it also describes a handful of ways that these operators relate to traditional complexity classes, such as $\mathsf{\Sigma^p_2 P}$, $\mathsf{ZPP}$, $\mathsf{AM}$, $\mathsf{MA}$, etc.&lt;/p&gt;&#xA;" OwnerUserId="1542" LastEditorUserId="248" LastEditDate="2014-03-25T15:04:20.263" LastActivityDate="2014-03-25T15:04:20.263" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21652" PostTypeId="1" CreationDate="2014-03-20T22:41:18.227" Score="12" ViewCount="861" Body="&lt;p&gt;Does $\mathsf{NP^{NP \,\cap\, coNP}=NP}$ hold?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Clearly $\mathsf{NP^{NP}\neq NP}$, but it seems to me that $\mathsf{NP\cap coNP}$ is &quot;deterministic&quot; which makes me believe this is true. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a simple proof (or maybe just by definition)? &lt;/p&gt;&#xA;" OwnerUserId="21036" LastEditorUserId="129" LastEditDate="2014-03-24T16:55:52.170" LastActivityDate="2014-03-24T16:55:52.170" Title="$\mathsf{NP} \cap \mathsf{coNP}$ as oracle" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;oracles&gt;" AnswerCount="1" CommentCount="8" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21654" PostTypeId="2" ParentId="21648" CreationDate="2014-03-21T10:26:02.533" Score="4" Body="&lt;p&gt;If you don't care about the constants, then the answer is 'yes' by an easy reduction:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Take a triangle-free graph $G$ with average degree $d_{avg}$. Create a new graph $G'$ which is obtained from $G$ by deleting all vertices with degree $\ge 2d_{avg}$. Obviously, any independent set in $G'$ is an independent set in $G$, and $G'$ is triangle-free. Also, the number of vertices in $G'$ is at least $n(G)/2$. Now we can apply the Alon--Spencer proof.&lt;/p&gt;&#xA;" OwnerUserId="20830" LastActivityDate="2014-03-21T10:26:02.533" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="21656" PostTypeId="2" ParentId="21642" CreationDate="2014-03-21T11:45:16.737" Score="6" Body="&lt;p&gt;This not quite an answer, but rather an &quot;extended comment&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To question (i): property (*) holds because of read-once, not because of the monotonicity, and this is why the argument fails in the read-many (even monotone) case: then the combined paths need &lt;em&gt;not&lt;/em&gt; be PMs, they can be &lt;em&gt;arbitrary&lt;/em&gt; graphs &lt;em&gt;containing&lt;/em&gt; a PM.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the read-once case, even the Exact PM (accept a graph iff it &lt;em&gt;is&lt;/em&gt; a perfect matching) requires exponential size (by the same argument as yours). But if we allow negations, then EPM can be computed by a circuit of size $O(n^3)$: check if every node in A has degree at least one, and if every node in B has degree at most one. The resulting switching network is &quot;almost read-once&quot;: every consistent path is read -once. Search term &quot;null-path&quot; &lt;a href=&quot;http://books.google.de/books?id=rHn7hXxyPAkC&amp;amp;printsec=frontcover&amp;amp;hl=de&amp;amp;source=gbs_ge_summary_r&amp;amp;cad=0#v=onepage&amp;amp;q&amp;amp;f=false&quot;&gt;here&lt;/a&gt; for more information.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;To question (ii): I haven't understood what &quot;it&quot; here refers to? But as far as I know, the $n^{\Omega(\log n)}$ lower bound of Razborov (for monotone circuit size of PM) remains the strongest one. Even though monotone switching networks constitute a special case of monotone circuits (where one input of each AND gate must be a variable), no stronger lower bounds for PM are known here. &lt;/p&gt;&#xA;" OwnerUserId="5788" LastActivityDate="2014-03-21T11:45:16.737" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21658" PostTypeId="1" AcceptedAnswerId="21662" CreationDate="2014-03-21T12:38:03.390" Score="4" ViewCount="370" Body="&lt;p&gt;Suppose one has an matrix $A$ with $c$ columns and $r$ rows with entries in the binary field $GF(2)$. One wants to determine  &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;its rank, and &lt;/li&gt;&#xA;&lt;li&gt;a basis for its null-space.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;These can be computed easily in time $O(r^2 c)$ by Gauss elimination, but that is a very sequential algorithm. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there deterministic parallel (NC, polylogarithmic time, polynomial space) algorithms to compute these?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One may be able to assume that either $r$ or $c$ is small (maybe polylogarithmic) if it helps.&lt;/p&gt;&#xA;" OwnerUserId="5538" LastEditorUserId="186" LastEditDate="2014-03-21T15:51:47.523" LastActivityDate="2014-03-21T15:51:47.523" Title="Parallel (NC) replacements for Gaussian elimination?" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;linear-algebra&gt;&lt;dc.parallel-comp&gt;&lt;matrices&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21660" PostTypeId="2" ParentId="21571" CreationDate="2014-03-21T13:31:16.720" Score="21" Body="&lt;p&gt;Another good reason to believe $NP\not\subseteq QP$ is that $NP\subseteq QP$ implies $EXP=NEXP$, and the latter is thought highly unlikely. This implication can be proved by a padding argument, see, e.g., in the proof of Proposition 2 in the following paper:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;H. Buhrman and S. Homer, &quot;Superpolynomial circuits, almost sparse oracles and the exponential hierarchy,&quot; &lt;em&gt;Foundations of Software Technology and Theoretical Computer Science,&lt;/em&gt;&#xA;Springer LNCS Vol. 652, 1992, pp. 116-127,  &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.47.2228&amp;amp;rep=rep1&amp;amp;type=pdf&quot;&gt;pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="12710" LastEditorUserId="12710" LastEditDate="2014-03-21T14:00:42.320" LastActivityDate="2014-03-21T14:00:42.320" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="21661" PostTypeId="1" CreationDate="2014-03-21T15:27:01.240" Score="3" ViewCount="93" Body="&lt;p&gt;Consider the following optimization problem&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;INSTANCE&lt;/strong&gt;: vectors &lt;span class=&quot;math-container&quot;&gt;$\vec{a}, \vec{b}, \vec{c}$&lt;/span&gt;, matrices &lt;span class=&quot;math-container&quot;&gt;$A, B$&lt;/span&gt;, threshold &lt;span class=&quot;math-container&quot;&gt;$\theta$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;PROBLEM&lt;/strong&gt;:&lt;/p&gt;&#xA;&lt;p&gt;Let &lt;span class=&quot;math-container&quot;&gt;$f={\displaystyle \max_{\vec{x}, \vec{y}}} (\vec{x}+\vec{c}) \cdot \vec{y}$&lt;/span&gt;&lt;/p&gt;&#xA;&lt;p&gt;subject to &lt;span class=&quot;math-container&quot;&gt;$A\vec{x}\leq \vec{a}$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$B\vec{y}\leq \vec{b}$&lt;/span&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Is &lt;span class=&quot;math-container&quot;&gt;$f \le \theta$&lt;/span&gt;&lt;/strong&gt; ?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;This problem is in co-NP (provide a witness that &lt;span class=&quot;math-container&quot;&gt;$f &amp;gt; \theta$&lt;/span&gt;).&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Is this problem in NP ?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="22135" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2014-03-21T16:39:12.913" Title="NP algorithm for an optimization problem" Tags="&lt;cc.complexity-theory&gt;&lt;optimization&gt;" AnswerCount="0" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="21662" PostTypeId="2" ParentId="21658" CreationDate="2014-03-21T15:45:50.463" Score="8" Body="&lt;p&gt;Yes, it is in $\mathsf{NC}^2$: &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Mulmuley, K. &lt;a href=&quot;http://dx.doi.org/10.1007/BF02579205&quot;&gt;A fast parallel algorithm to compute the rank of a matrix over an arbitrary field&lt;/a&gt;. Combinatorica 7 (1987), no. 1, 101–104. &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The following (earlier) paper shows that solving a system of linear equations reduces to computing the rank, and thus, together with the above result, solving the system (in particular, finding a basis for the nullspace) is also in $\mathsf{NC}^2$:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Allan Borodin, Joachim von zur Gathen, John Hopcroft. &lt;a href=&quot;http://dx.doi.org/10.1016/S0019-9958(82)90766-5&quot;&gt;Fast parallel matrix and GCD computations&lt;/a&gt;. Information and Control 52(3):241-25, 1982.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="129" LastActivityDate="2014-03-21T15:45:50.463" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21663" PostTypeId="1" AcceptedAnswerId="21665" CreationDate="2014-03-21T16:32:18.663" Score="9" ViewCount="968" Body="&lt;p&gt;A recent question asks &lt;a href=&quot;https://cstheory.stackexchange.com/questions/21590/is-relativization-well-defined&quot;&gt;whether relativization is well-defined&lt;/a&gt;. This question wonders how to put one use of it on firmer ground. &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;ol&gt;&#xA;  &lt;li&gt;In the &lt;a href=&quot;http://zoo.cs.yale.edu/classes/cs468/BGS.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;BGS 1975 proof&lt;/a&gt; that there exists a language $B$ such that $P^B \neq NP^B$. To best available knowledge, what complexity class is $B$ in?&lt;/li&gt;&#xA;  &lt;li&gt;Fill in the blank (&quot;$?$&quot;) if possible, or analyze as best possible: if there existed a $B'$ in class &quot;$?$&quot; such that $P^{B'} \neq NP^{B'}$, then $P \neq NP$.&lt;/li&gt;&#xA;  &lt;/ol&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.743" LastActivityDate="2014-03-23T10:23:56.330" Title="Baker Gill Solovay $P^B \ne NP^B$ relativization, what class is $B$ in?" Tags="&lt;cc.complexity-theory&gt;&lt;oracles&gt;&lt;p-vs-np&gt;&lt;relativization&gt;" AnswerCount="2" CommentCount="11" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="21664" PostTypeId="2" ParentId="21663" CreationDate="2014-03-21T17:22:28.750" Score="11" Body="&lt;p&gt;For question 2, you can take any $B' \in \mathsf{PH}$ (this means you cannot bring down the $B$ in the BGS result down from $\mathsf{EXP}$ to $\mathsf{PH}$ without resolving the &lt;em&gt;big question&lt;/em&gt;). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Clearly for any $B'$, $P \subseteq \mathsf{P}^{B'} \subseteq \mathsf{NP}^{B'}$. Let $B' \in \Sigma_i^{\mathsf{P}}$. Recall that, by the definition of the Polynomial Hierarchy, $\mathsf{P}^{B'} \subseteq\mathsf{P}^{\Sigma_i^{\mathsf{P}}} = \Delta_{i+1}^{\mathsf{P}}$ and $\mathsf{NP}^{B'} \subseteq {\mathsf{NP}}^{\Sigma_i^{\mathsf{P}}} = \Sigma_{i+1}^{\mathsf{P}}$. If $\mathsf{P} =\mathsf{NP}$, then $\mathsf{P} = \Delta_{i+1}^{\mathsf{P}} = \Sigma_{i+1}^{\mathsf{P}}$ for all $i$, and, therefore $\mathsf{P} = \mathsf{P}^{B'} = \mathsf{NP}^{B'}$.&lt;/p&gt;&#xA;" OwnerUserId="4896" LastEditorUserId="4896" LastEditDate="2014-03-21T22:35:30.583" LastActivityDate="2014-03-21T22:35:30.583" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21665" PostTypeId="2" ParentId="21663" CreationDate="2014-03-21T18:09:42.000" Score="12" Body="&lt;p&gt;For question 1, the BGS construction can be performed in exponential time, so you can construct such $B \in \mathsf{EXP}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(For question 2: Sasho Nikolov's answer was originally only for $\mathsf{\Sigma_k P}$-complete languages, and I pointed out that one can also take any $B' \in \mathsf{NP} \cap \mathsf{coNP}$, since $\mathsf{NP}^{\mathsf{NP} \cap \mathsf{coNP}} = \mathsf{NP}$. But Sasho's updated answer subsumes this case.)&lt;/p&gt;&#xA;" OwnerUserId="129" LastEditorUserId="129" LastEditDate="2014-03-22T20:32:16.060" LastActivityDate="2014-03-22T20:32:16.060" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="21666" PostTypeId="1" CreationDate="2014-03-21T18:26:25.233" Score="4" ViewCount="316" Body="&lt;p&gt;Consider a regular language $L$ with alphabet $\Sigma = \{0,1\}$.&#xA;Can we say that the set of strings in $L$ (representing non-negative integers in binary encoding) when represented in some other encoding (say unary, or, decimal) also form a regular language ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Formally, is it the case that the language $L' = \{w | w \in 1^*, \exists w' \in L \text{ such that the unary encoding of } w' \text{ is } w \}$ also regular? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;What happens when the base is shifted to a lower number? For example can we also say anything about the following language:&#xA;$L'' = \{w | w \in \{0,1,2\}^*, \exists w' \in L \text{ such that the ternary encoding of } w' \text{ is } w \}$&lt;/p&gt;&#xA;" OwnerUserId="22137" LastActivityDate="2014-05-27T08:17:47.890" Title="Regular languages under change of encoding" Tags="&lt;fl.formal-languages&gt;&lt;automata-theory&gt;&lt;regular-language&gt;&lt;encoding&gt;" AnswerCount="3" CommentCount="1" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="21667" PostTypeId="2" ParentId="21666" CreationDate="2014-03-21T18:50:32.260" Score="-2" Body="&lt;p&gt;If my memory is right, the answer is yes as a consequence of the following two points:&lt;/p&gt;&#xA;&lt;p&gt;(1) conversion between two number bases can be expressed by a &lt;a href=&quot;http://en.wikipedia.org/wiki/Finite_state_transducer&quot; rel=&quot;nofollow noreferrer&quot;&gt;FS transducer&lt;/a&gt; -- not sure about that one, please check;&lt;/p&gt;&#xA;&lt;p&gt;(2) regular languages are closed under application of a FST -- this follows from the more general fact that FSTs are closed under compositions.&lt;/p&gt;&#xA;&lt;p&gt;A possible reference for FSTs is the Sakarovitch textbook &amp;quot;Elements of automata theory&amp;quot;. Hope this helps...&lt;/p&gt;&#xA;" OwnerUserId="21714" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2014-03-21T18:50:32.260" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="21668" PostTypeId="1" AcceptedAnswerId="21669" CreationDate="2014-03-21T19:20:34.923" Score="8" ViewCount="854" Body="&lt;p&gt;The maximum-weight connected subgraph problem is as follows:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Input: a graph &lt;span class=&quot;math-container&quot;&gt;$G=(V,E)$&lt;/span&gt; and a weight &lt;span class=&quot;math-container&quot;&gt;$w_i$&lt;/span&gt; (possibly negative) for each vertex &lt;span class=&quot;math-container&quot;&gt;$i \in V$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Output: a maximum-weight subset &lt;span class=&quot;math-container&quot;&gt;$S$&lt;/span&gt; of vertices such that &lt;span class=&quot;math-container&quot;&gt;$G[S]$&lt;/span&gt; is connected.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;This problem is NP-hard. David S. Johnson mentions on pg. 149 of &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/0196677485900252&quot; rel=&quot;noreferrer&quot;&gt;this column&lt;/a&gt; that the problem remains hard in planar graphs of maximum degree three with all weights either &lt;span class=&quot;math-container&quot;&gt;$+1$&lt;/span&gt; or &lt;span class=&quot;math-container&quot;&gt;$-1$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;p&gt;I cannot find the cited paper --  &lt;strong&gt;A. Vergis, manuscript (1983)&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;Any ideas as to where to find the paper? Or what the reduction was?&lt;/p&gt;&#xA;" OwnerUserId="13056" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2014-03-22T21:03:55.793" Title="Max-weight connected subgraph problem in planar graphs" Tags="&lt;reference-request&gt;&lt;np-hardness&gt;&lt;reductions&gt;&lt;planar-graphs&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="21669" PostTypeId="2" ParentId="21668" CreationDate="2014-03-21T21:05:06.873" Score="3" Body="&lt;p&gt;In the &quot;The NP-Completeness Column: An Ongoing Guide&quot; number 14, Johnson writes &lt;em&gt;&quot;... Vergis [49]. Transformation from STEINER TREE IN GRAPHS [ND12]...&quot;&lt;/em&gt;. I don't have access to the Vergis' paper, however a possible reduction can be the following.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Steiner Tree (ST) in graphs problem&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Instance&lt;/strong&gt;: an undirected graph $G = (V,E)$, a subset of the vertices $R \subseteq V$, called &lt;em&gt;terminal nodes&lt;/em&gt;; a non-negative integer $k$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question&lt;/strong&gt;: is there a subtree of $G$ that includes all the vertices of $R$ (a spanning tree for $R$) and that contains at most $k$ edges?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem remains NPC even for planar graphs (M. Garey and D. Johnson. The rectilinear Steiner tree problem is NP-complete).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given an instance of planar ST, for now suppose that you can assign arbitrary weights to nodes. If $|R|=p$ and $|E|=q$ , you can assign weight $q+1$ to the nodes of $R$ and you can add a &lt;em&gt;middle node&lt;/em&gt; to every edge of $E$ and assign weight $-1$ to it. Assign weight $0$ to the remaining nodes in $V \setminus R$. The original graph $G$ has a spanning tree for $R$ with at most $k$ edges if and only if in the transformed graph you can find a subgraph of &lt;em&gt;target weight&lt;/em&gt; greater or equal to $W = p(q+1) - k$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Informally to reach the $p(q+1)$ quantity you must include all the nodes of $R$ in the subgraph, and you must include at most $k$ middle nodes (corresponding to the edges of $G$) that have negative weight -1 to keep them connected.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can reduce the the max degree of the whole graph to three in this way: if $D = \max\{deg(u_i) \mid u_i \in V\}$ just transform each node $u_i$ to a circular chain of $D$ nodes (and adjust the value of $p$ accordingly). Connect the inbound edges to distinct nodes of the chain (that will have degree 3).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;And if you want to use only weights $+1,-1$ then you must:&lt;br&gt;&lt;strong&gt;(A)&lt;/strong&gt; assign $+1$ to all the nodes of the circular chains corresponding to nodes in $V\setminus R$,&lt;br&gt;&lt;strong&gt;(B)&lt;/strong&gt; transform every middle node to a linear chain of nodes of weight $-1$ and length $l_E = |V\setminus R|+1$, and&lt;br&gt;&lt;strong&gt;(C)&lt;/strong&gt; further expand the circular chains (with weight +1) corresponding to the nodes of $R$ to at least length $l_R = l_E( |E| + 1)$; and set target weight $W =pl_R - kl_E$.&lt;br&gt;&#xA;Informally, the expanded chains and the new target make the $+1$ weights of the nodes corresponding to $V \setminus R$ (point A) irrelevant.&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2014-03-22T21:03:55.793" LastActivityDate="2014-03-22T21:03:55.793" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="21671" PostTypeId="1" CreationDate="2014-03-21T22:46:31.947" Score="1" ViewCount="113" Body="&lt;p&gt;What are some good references, not very dense, to understand the underlying math and computability aspects of the notion of &quot;functional programming&quot;? I'd like to have something that talks about it from a math point of view and if/when I learn a functional programming language I can have the necessary &quot;aha&quot; moments when seeing the ideas being implemented.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I've read SICP, but that's Scheme specific and is a dense read. I don't really &quot;get&quot; functional programming after reading it and was looking for something more sublime and closer to the underlying math and computability points of views.&lt;/p&gt;&#xA;" OwnerUserId="7014" LastActivityDate="2014-03-21T22:46:31.947" Title="Good references for understanding the underlying abstractions/ideas of functional programming?" Tags="&lt;reference-request&gt;&lt;big-list&gt;&lt;books&gt;" AnswerCount="0" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21672" PostTypeId="2" ParentId="21666" CreationDate="2014-03-21T23:32:10.670" Score="11" Body="&lt;p&gt;The answer is no.&#xA;I'll give an example of a language $L$ which is regular in binary but not in unary:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider $L=\{10^k|k\in \mathbb{N}\}$. The corresponding language in unary is $L'=\{1^{2^k}|k\in \mathbb{N}\}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's easy to see that $L$ is regular while $L'$ is not even context free.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;L'' also isn't regular either, by the link @Sylvain posted in his comment.&lt;/p&gt;&#xA;" OwnerUserId="21001" LastEditorUserId="21001" LastEditDate="2014-05-27T08:17:47.890" LastActivityDate="2014-05-27T08:17:47.890" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21673" PostTypeId="2" ParentId="21666" CreationDate="2014-03-22T00:58:42.067" Score="7" Body="&lt;p&gt;When the base k representation is regular, the set is called k-automatic&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The wikipedia article on these reads:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For given &quot;k&quot; and &quot;r&quot;, a set is &quot;k&quot;-automatic if and only if it is &quot;k^r&quot;-automatic. Otherwise, for &quot;h&quot;and &quot;k&quot; multiplicatively independent, then a set is both &quot;h&quot;-automatic and &quot;k&quot;-automatic if and only if it is 1-automatic, that is, ultimately periodic.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It mentions other properties as well.&lt;/p&gt;&#xA;" OwnerUserId="2414" LastActivityDate="2014-03-22T00:58:42.067" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21678" PostTypeId="1" CreationDate="2014-03-22T13:27:53.677" Score="2" ViewCount="79" Body="&lt;p&gt;Suppose I have a code $C$ over $GF(2)$. I would like to count exactly the number of codewords of $C$ of weight $k$. Here $k$ should be thought of as small compared to the dimensions of the code. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is the best algorithm for this? Even exponential algorithms could be useful.&lt;/p&gt;&#xA;" OwnerUserId="5538" LastActivityDate="2014-03-22T13:27:53.677" Title="Complexity of counting codeword length distribution" Tags="&lt;coding-theory&gt;" AnswerCount="0" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="21679" PostTypeId="1" CreationDate="2014-03-22T13:47:26.670" Score="4" ViewCount="170" Body="&lt;p&gt;Sylvester's inertia law deals with the signatures of quadratic forms. I was thinking that it may be possible to extend this to multilinear forms; here is a first attempt.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $M$ be a $k$-linear form over the reals. For $1 \leq i \leq k$, define $\lambda_i(M)$ as the maximum dimension of a vector space $F$ such that&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(*) $M(u_1,...,u_i,v_{i+1},...,v_k) \neq 0$ for every non-null $u_1,...,u_i \in F$, $v_{i+1},...,v_k \in F^{\bot}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we define $\mu_i(M) = \lambda_i(M) - \lambda_{i-1}(M)$, is it true that these values form a partition of $n$? If so, can we formulate some &quot;extended inertia law&quot;? There might be some connection with Young tableaux but we probably don't require that for our needs.&lt;/p&gt;&#xA;" OwnerUserId="21714" LastEditorUserId="21798" LastEditDate="2014-03-22T23:40:34.400" LastActivityDate="2014-03-22T23:40:34.400" Title="Extensions of Sylvester's inertia law?" Tags="&lt;linear-algebra&gt;" AnswerCount="0" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="21682" PostTypeId="1" CreationDate="2014-03-22T16:15:38.620" Score="2" ViewCount="75" Body="&lt;p&gt;Consider a language $L$ which is hard for some class $C$ (e.g. PSPACE-hard). Trivially, $L$ is also $D$-hard for every class $D\subseteq C$ under the same type of reduction (e.g. NP-hard).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a natural/interesting example of a problem that is known to be $C$ hard, but that the proof of $D$ hardness is significantly different?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, $TQBF$ is PSPACE-hard, but proving $NP$-hardness is trivial (by reduction from $SAT$), but I wouldn't consider this example very interesting, as $TQBF$ is a generalization of $SAT$. I am looking for a problem whose natural formulation is e.g. PSPACE hard, but one can show NP-hardness in a different way.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm not sure how interesting this question is, but I am curios to see such examples.&lt;/p&gt;&#xA;" OwnerUserId="7531" LastActivityDate="2014-03-22T16:15:38.620" Title="Different hardness proofs w.r.t different classes" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;&lt;pspace&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21687" PostTypeId="2" ParentId="12691" CreationDate="2014-03-22T20:57:17.703" Score="6" Body="&lt;p&gt;The representation theory of the symmetric group plays a key role in the Geometric Complexity Theory approach to lower bounds on the determinant or on matrix multiplication.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://dx.doi.org/10.1145/2488608.2488627&quot;&gt;Bürgisser and Ikenmeyer&lt;/a&gt; prove a lower bound on the border-rank of matrix multiplication using the representation theory of $S_n$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;For how the representation theory of $S_n$ relates to lower bounds on the determinant, see &lt;a href=&quot;http://dx.doi.org/10.1137/080718115&quot;&gt;Geometric Complexity Theory II: Towards Explicit Obstructions for Embeddings among Class Varieties&lt;/a&gt; and &lt;a href=&quot;http://gct.cs.uchicago.edu/gct6.pdf&quot;&gt;Geometric Complexity Theory VI: The ﬂip via positivity&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="129" LastActivityDate="2014-03-22T20:57:17.703" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21689" PostTypeId="2" ParentId="14180" CreationDate="2014-03-22T22:06:07.457" Score="2" Body="&lt;p&gt;First, this entirely depends on what you take to be your set of contexts.  If &lt;code&gt;(quote [])&lt;/code&gt; is a context, then contextual equivalence is syntactic equivalence.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Traditionally, contexts for contextual equivalence are taken to be contexts in which &quot;expressions&quot;, in whatever meaning that has in the language, can appear. This rules out contexts like &lt;code&gt;&quot;[]&quot;&lt;/code&gt;, where the context places its argument inside a string literal. These kinds of contexts were also, IIRC, ruled out by Quine when he originally described referential transparency.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;From this perspective, I think &lt;code&gt;(quote [])&lt;/code&gt; is also not a context. Instead, the contexts are the places where expression evaluation could potentially happen, such as in the body of a function or in the argument of an application. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Potentially problematically, this means that in a Lisp program with macros (or a Racket or Scheme program) you don't know what the contexts are until you run the potentially-nonterminating macro expansion process, because you don't even know where the expressions are. Whether you think this is a problem or not is mostly a philosophical question rather than a technical one.&lt;/p&gt;&#xA;" OwnerUserId="2185" LastActivityDate="2014-03-22T22:06:07.457" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="21690" PostTypeId="2" ParentId="10876" CreationDate="2014-03-22T22:10:40.890" Score="4" Body="&lt;p&gt;I believe that the following paper explores some of this connection, mostly by using continuations to backtrack when things happen in parsers.  But there's definitely more to do here. &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Modular rollback through control logging: A pair of twin functional pearls&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;&lt;em&gt;Olin Shivers, Aaron Turon&lt;/em&gt;, ICFP 2011.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="2185" LastActivityDate="2014-03-22T22:10:40.890" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21692" PostTypeId="1" AcceptedAnswerId="21704" CreationDate="2014-03-23T02:51:46.790" Score="4" ViewCount="144" Body="&lt;p&gt;A lot of people have asked about generalizations of planar graphs on other forums. Some topics include:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://mathoverflow.net/questions/7650/generalizations-of-planar-graphs&quot;&gt;https://mathoverflow.net/questions/7650/generalizations-of-planar-graphs&lt;/a&gt;&#xA;&lt;a href=&quot;https://math.stackexchange.com/questions/22714/higher-dimensional-analog-to-planar-graphs&quot;&gt;https://math.stackexchange.com/questions/22714/higher-dimensional-analog-to-planar-graphs&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Many have talked about minor-closed family generalizations of planar graphs, but they cannot possibly include even 3D n by n by n grids. If they did, then n by n by n grids would have to have balanced separators of size $n^{3/2}$, but in reality all of their balanced separators have size at least $n^2$. Qiaochu's definition focuses more on the direction that I am interested in. Ideally, I would like to look at graphs that are 1-skeleta of $(k-1)$-dimensional cell complexes that can be embedded in $\mathbb{R}^k$ injectively (which may be the same thing that Qiaochu is looking for). These are not minor closed for $k\ge 3$, but might be face-contraction closed.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Have these graphs been studied algorithmically? For example, can one generalize the planar separator theorem to these graphs? Or is there something particularly nasty about this definition that I am overlooking that prevents these objects from being algorithmically interesting?&lt;/p&gt;&#xA;" OwnerUserId="15710" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2014-03-23T18:33:08.317" Title="Generalizations of planar graphs that include hypercubes with large side length in $R^d$" Tags="&lt;graph-theory&gt;&lt;planar-graphs&gt;&lt;topology&gt;&lt;algebraic-topology&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21694" PostTypeId="1" AcceptedAnswerId="21719" CreationDate="2014-03-23T10:17:30.773" Score="14" ViewCount="970" Body="&lt;p&gt;A &lt;a href=&quot;http://en.wikipedia.org/wiki/Planar_graph&quot; rel=&quot;noreferrer&quot;&gt;planar graph&lt;/a&gt; is a graph which can be embedded in the plane, without having crossing edges.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $G=(X,E)$ be a $k$-uniform-hypergraph, i.e. an hypergraph such that all its hyperedges have size k.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There has been &lt;a href=&quot;http://research.microsoft.com/en-us/um/people/denzho/papers/hyper.pdf&quot; rel=&quot;noreferrer&quot;&gt;some work done&lt;/a&gt; on embedding hypergraphs in the plane (with the context of clustering or some other application), but often, the data just can't be embedded in the plane. The solution could be either to force it, with some loss, or embed it in higher dimension as I suggest here:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A natural extension of planarity (IMO, at least) is a &quot;$k$-simple-embedding&quot; (is there a known different name for it?) of $G$: an embedding $\mathcal{M}:X\to \mathbb{R}^k$, such that there exist surfaces which connect all of the vertices of each hyperedge, and these do not intersect except for the endpoints.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Think of the analogue in 2D, where each surface is an edge you can draw however you like).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here's an example of a valid 3-simple-embedding of a 3-uniform-hypergraph. (Each vertex is colored by the hyperedges it is contained in, and each face represents an hyperedge). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.imgur.com/wA3Wkdz.png&quot; alt=&quot;example embedding&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another example of 3-simple graph is the complete 3-uniform-hypergraph on 5 vertices $G=(V,V\times V\times V)$. To see this simply take 4 points in $\mathbb{R}^3$ which don't lie on a 2D plane, create a triangular pyramid (their convex hull), and place the fifth point in the center of the pyramid, connecting it to the other vertices.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Similarly, it seems that the complete 3-uniform-hypergraph on 6 vertices doesn't have a 3-simple-embedding.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are some very useful properties of planar graphs which allow improved algorithms for hard problems when the graph is planar. Unfortunately, the data is often not planar, although sometimes it is of low dimensionality. I think that understanding which properties of planar graphs generalize will help us figure out which algorithms can be adapted for higher dimension with the same tool.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An example of a property that could be useful comes from &lt;a href=&quot;http://en.wikipedia.org/wiki/F%C3%A1ry%27s_theorem&quot; rel=&quot;noreferrer&quot;&gt;Fáry's Theorem&lt;/a&gt; which suggests every planar graph can be embedded in a way that all of its edges are straight line segments. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Does Fáry's Theorem hold in higher dimension?&lt;/strong&gt;, i.e. if a graph has a $k$-simple-embedding, does it have an embedding in which all of the hyper edges are hyperplanes?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Are there any other properties that can be generalized?&lt;/strong&gt; for example, can &lt;a href=&quot;http://en.wikipedia.org/wiki/Planar_graph#Euler.27s_formula&quot; rel=&quot;noreferrer&quot;&gt;Euler's Formula&lt;/a&gt; for planar graphs be generalized somehow to higher dimension? (although at the moment I'm not sure what would be the meaning of it).&lt;/p&gt;&#xA;" OwnerUserId="21001" LastEditorUserId="109" LastEditDate="2014-04-02T12:02:36.360" LastActivityDate="2014-04-02T12:02:36.360" Title="Which properties of planar graphs generalize to higher dimension / hypergraphs?" Tags="&lt;graph-theory&gt;&lt;planar-graphs&gt;&lt;hypergraphs&gt;&lt;embeddings&gt;&lt;generalizations&gt;" AnswerCount="4" CommentCount="0" FavoriteCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="21697" PostTypeId="1" CreationDate="2014-03-23T14:23:40.830" Score="0" ViewCount="253" Body="&lt;p&gt;It is frequent to find statistical studies observing some correlation between two events; this correlation is often interpreted by the medias as a causality relation (e.g. &quot;blue-eyed people have more kids&quot; or &quot;obese people have more chronic diseases&quot;) although most often there is little scientific support in favor of one causality relation rather than the other. So the reasonable conclusion is that these studies can only observe &quot;correlation&quot; but not &quot;causality&quot;. Now suppose that a correlation between two events $A$ and $B$ could be interpreted not as a binary causality (e.g. $A$ implies $B$) but as a ternary relation involving an unobservable &quot;cause factor&quot; trigerring an observable &quot;correlation&quot; (e.g. $K$ implies $A$ and $B$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This leads to some basic questions that might have some connection with computer science / graph theory. First, even if we cannot detect the &quot;cause factor&quot;, can we distinguish experimentally between the above two scenarii? Second, is it still possible to prove &quot;causality&quot; with a more fine-grained knowledge of reality, or do we have to abandon it completely? I guess this second question hinges on physics and philosophy, as it depends on the assumed model of physical reality -- for instance causality makes sense in a deterministic, sequential world but maybe not in some alternate models involving quantum theory and branes ??-&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(NOTE ADDED: I expect that my answer will be labeled as &quot;off-topic&quot; but there might still be some cross-disciplinary people interested in it)&lt;/p&gt;&#xA;" OwnerUserId="21714" LastActivityDate="2014-03-23T14:23:40.830" Title="Observable correlation vs non-observable causality" Tags="&lt;big-picture&gt;" AnswerCount="0" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="21698" PostTypeId="1" CreationDate="2014-03-23T16:34:59.243" Score="-3" ViewCount="6977" Body="&lt;p&gt;I am looking for an efficient algorithm to create a graph like this: &#xA;&lt;img src=&quot;https://i.stack.imgur.com/UPiMd.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Initially the graph is filled with &lt;code&gt;x&lt;/code&gt; then &lt;code&gt;h&lt;/code&gt;s then &lt;code&gt;g&lt;/code&gt;s and finally with &lt;code&gt;f&lt;/code&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;for every new vertex like &lt;code&gt;f&lt;/code&gt; the algorithm should traverse all existing vertex in the graph to find out which vertices can be parent of &lt;code&gt;f&lt;/code&gt;. Once it finds direct parents of &lt;code&gt;f&lt;/code&gt;, then it can add &lt;code&gt;f&lt;/code&gt; into the graph and draw dependency edges.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The key challenging point here is that &lt;code&gt;f&lt;/code&gt; is also dependent to &lt;code&gt;h&lt;/code&gt; and &lt;code&gt;x&lt;/code&gt; but they are considered as grand parents. Therefore, the algorithm does not draw dependency edges between child and grand parents. It only add dependency edges for between child and parents. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the above picture, the algorithm checks all vertices from &lt;code&gt;x&lt;/code&gt; to &lt;code&gt;g2&lt;/code&gt; and then it finds out &lt;code&gt;f&lt;/code&gt; is directly dependent to &lt;code&gt;g1&lt;/code&gt; and &lt;code&gt;g2&lt;/code&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;My naive algorithm to insert new vertex like &lt;code&gt;f&lt;/code&gt; is:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;list all graph vertices based on their insertion order&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;FOR every vertex X from most recently inserted vertex to least recently inserted:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt; if f is dependent to X but not reachable from X: &#xA;      add X-&amp;gt;f edge&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Can you please help me to improve this naive algorithm ?&lt;/p&gt;&#xA;" OwnerUserId="22157" LastActivityDate="2014-03-23T18:27:41.400" Title="Efficient algorithm to create a directed dependency graph" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;directed-acyclic-graph&gt;&lt;graph-drawing&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21699" PostTypeId="2" ParentId="20468" CreationDate="2014-03-23T16:52:54.230" Score="2" Body="&lt;p&gt;This is not an answer but a method which I believe would leave to an improved lower bound. Let us cut the problem after $a$ letters are read. Denote the family of $a$ element sets of $[n]$ by $\mathcal A$ and the family of $b=k-a$ element sets of $[n]$ by $\mathcal B$. Denote the states that can be reach after reading the elements of $A$ (in any order) by $S_A$ and the states from which an accepting state can be reached after reading the elements of $B$ (in any order) by $T_B$. We need that $S_A\cap T_B\ne \emptyset$ if and only if $A\cap B=\emptyset$. This already gives a lower bound for the required number of states and I think it could give something non-trivial.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This problem essentially asks for a lower bound on the number of the vertices of a hypergraph whose line graph is (partially) known. Similar problems were studied e.g., by &lt;a href=&quot;http://gilkalai.wordpress.com/2008/09/28/extremal-combinatorics-iii-some-basic-theorems/&quot; rel=&quot;nofollow&quot;&gt;Bollobas&lt;/a&gt; and there are several known proof methods that can be useful.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Update 2014.03.24: In fact if the above hypergraph can be realized on $s$ vertices, then we also get a non-deterministic communication complexity protocol of length $\log s$ for set disjointness with inputs sets of size $a$ and $b$ (in fact the two problems are equivalent). The bottleneck is of course when $a=b=k/2$, for this I could only find the following in Eyal and Noam's book: $N^1(DISJ_a)\le \log \big(2^k \log_e {n\choose a}\big)$ proved by the standard probabilistic argument. Unfortunately I could not (yet) find good enough lower bounds on this problem but assuming the above is sharp, it would give a lower bound $\Omega(2^k\log n)$ unifying the two lower bounds you have mentioned.&lt;/p&gt;&#xA;" OwnerUserId="419" LastEditorUserId="419" LastEditDate="2014-03-24T08:46:01.383" LastActivityDate="2014-03-24T08:46:01.383" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="21700" PostTypeId="1" AcceptedAnswerId="21702" CreationDate="2014-03-23T17:37:42.813" Score="12" ViewCount="659" Body="&lt;p&gt;So, a quick search on the web led me to believe that &quot;APXHardness implies that no QPTAS exist for a problem unless [some complexity class] is included in some [other complexity class]&quot; and it is well known too! It seems like everybody knows this except for me. Unfortunately, no reference to support this statement is given. I have two questions:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;What is the strongest version of this statement that is currently known?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;A reference? Please? &lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Thanks in advance.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Chandra Chekuri's answer suggests that a $QPTAS$ for a $APX$-hard problem implies $NP\subseteq QP$. Can anyone explain why it is true, or preferably give a reference for that? In other words, why does quasi polynomial time approximability imply QP time solvability?&lt;/p&gt;&#xA;" OwnerUserId="9594" LastEditorUserId="109" LastEditDate="2014-03-26T15:06:42.760" LastActivityDate="2014-03-26T15:06:42.760" Title="APX Hardness implies no QPTAS?" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="21702" PostTypeId="2" ParentId="21700" CreationDate="2014-03-23T18:21:54.083" Score="11" Body="&lt;p&gt;APX-Hardness implies that there is a $\delta &amp;gt; 0$ such that the problem does not admit a $(1+\delta)$-approximation unless $P=NP$. Clearly this rules out a PTAS (assuming $P \neq NP$). As for QPTAS, it will rule it out unless you believe that NP is contained in quasi-polynomial time. As far as I know, that is the only reason why APX-Hardness rules out a QPTAS. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since a couple of people asked more details, here are some more. APX-Hardness for a minimization problem P implies that there is a fixed $\delta &amp;gt; 0$ and a polynomial-time reduction from 3-SAT to P such that a $(1+\delta)$-approximation for P allows one to decide whether the 3-SAT formula is satisfiable or not. If there is a QPTAS for P we can obtain for any fixed $\delta &amp;gt; 0$ a $(1+\delta)$-approximation in time say $n^{O(\log n)}$. But this implies that we can decide whether a 3-SAT formula is satisfiable in $n^{O(\log n)}$ time which in turn implies that NP is in QP. &lt;/p&gt;&#xA;" OwnerUserId="176" LastEditorUserId="176" LastEditDate="2014-03-25T02:08:51.250" LastActivityDate="2014-03-25T02:08:51.250" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="21703" PostTypeId="2" ParentId="21698" CreationDate="2014-03-23T18:27:41.400" Score="0" Body="&lt;p&gt;You can use the following idea.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Maintain a graph,say $G^{'}$ similar to the graph that you are constructing,(say $G$) but the edges being reveresed and an extra dummy root node with a directed edge from that to last inserted node. Now when a new node comes,say $f$ in do a Breadth first search from the dummy root on $G^{'}$. Whenever a search node, say $v$ is found during BFS on which $f$ is dependent create an edge in $G$ and update $G^{'}$ accordingly.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The idea is similar to you but if implemented properly runs in linear time( in number of nodes).&#xA;Hope it helps.&lt;/p&gt;&#xA;" OwnerUserId="12280" LastActivityDate="2014-03-23T18:27:41.400" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="21704" PostTypeId="2" ParentId="21692" CreationDate="2014-03-23T18:33:08.317" Score="3" Body="&lt;p&gt;You may want to look at nowhere dense graphs.&#xA;&lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0195669811000151&quot; rel=&quot;nofollow&quot;&gt;http://www.sciencedirect.com/science/article/pii/S0195669811000151&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One of the reasons why minor-closedness is natural is the following. We typically want to work with families of graphs rather than specific graphs. And we want to solve problems with arbitrary weights/capacities on edges/nodes. Suppose we want to solve the shortest path problem in a family of graphs. Then, if we allow for zero length and infinite lengths then basically we are allowing minor operations on the family. In some settings it makes sense to work with unweighted graphs where positive results can be obtained for larger families of graphs that are not necessarily minor-closed.&lt;/p&gt;&#xA;" OwnerUserId="176" LastActivityDate="2014-03-23T18:33:08.317" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21705" PostTypeId="1" AcceptedAnswerId="21707" CreationDate="2014-03-23T19:20:25.640" Score="91" ViewCount="29010" Body="&lt;p&gt;I'm just reading up on lambda calculus to &quot;get to know it&quot;. I see it as an alternate form of computation as opposed to the Turing Machine. It's an interesting way of doing things with functions/reductions (crudely speaking). Some questions keep nagging at me though: &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;What's the point of lambda calculus? Why go through all these functions/reductions? What is the purpose?&lt;/li&gt;&#xA;&lt;li&gt;As a result I'm left to wonder: What exactly did lambda calculus do to advance the theory of CS? What were it's contributions that would allow me to have an &quot;aha&quot; moment of understanding the need for its existence?&lt;/li&gt;&#xA;&lt;li&gt;Why is lambda calculus not covered in texts on automata theory? The common route is to go through various automata, grammars, Turing Machines and complexity classes. Lambda calculus is only included in the syllabus for SICP style courses (perhaps not?). But I've rarely seen it be a part of the core curriculum of CS. Does this imply it's not all that valuable? Maybe not and I maybe missing something here?&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I'm aware that functional programming languages are based on lambda calculus but I'm not considering that as a valid contribution, since it was created much before we had programming languages. So, really what is the point of knowing/understanding lambda calculus, w.r.t. its applications/contributions to theory?&lt;/p&gt;&#xA;" OwnerUserId="7014" LastActivityDate="2017-06-14T14:19:41.317" Title="What is the contribution of lambda calculus to the field of theory of computation?" Tags="&lt;soft-question&gt;&lt;big-picture&gt;&lt;lambda-calculus&gt;&lt;ho.history-overview&gt;" AnswerCount="7" CommentCount="5" FavoriteCount="77" ContentLicense="CC BY-SA 3.0" />
  <row Id="21706" PostTypeId="2" ParentId="21705" CreationDate="2014-03-23T20:12:19.147" Score="13" Body="&lt;p&gt;Your questions can be approached from many sides. I'd like to leave the historical and philosophical aspects on the side and address your main question, which I take to be this:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What's the point of lambda calculus? Why go through all these functions/reductions?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;What is the point of Boolean Algebra, or Relational Algebra, or First-Order Logic, or Type Theory, or some other mathematical formalism/theory? The answer is that they have no &lt;em&gt;inherent&lt;/em&gt; purpose to them, even if their designers created them for some purpose or another. Leibniz, when erecting the foundations of Boolean Algebra, had a certain philosophical &lt;a href=&quot;http://en.wikipedia.org/wiki/Characteristica_universalis&quot;&gt;project&lt;/a&gt; in mind; Boole studied it for his own reasons. de Morgan's work on Relational Algebra also was motivated by various projects of his; Peirce and Frege had their own motivations for creating modern logic.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The point is: whatever reason Church may have had when creating lambda calculus, the point of lambda calculus varies from one practitioner to another. &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;To someone it's a convenient &lt;em&gt;notation&lt;/em&gt; for talking about computations; an alternative to Turing Machines, and so on. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;To another it's a solid &lt;em&gt;mathematical basis&lt;/em&gt; on which to build a more sophisticated programming language (e.g. McCarthy, Stanley).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;To a third person it's a &lt;em&gt;rigorous tool&lt;/em&gt; for giving the semantics of natural as well as programming languages (e.g. Montague, Fitch, Kratzer).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I think Lambda calculus is a formal language that is worth studying for its own sake. You can learn the fact that in untyped lambda calculus we have these little beasts called 'Y-combinators', and how they help us define recursive functions and make the proof of undecidability so elegant and simple. You can learn the amazing fact that there is an intimate &lt;a href=&quot;http://en.wikipedia.org/wiki/Curry%E2%80%93Howard_correspondence&quot;&gt;correspondence&lt;/a&gt; between &lt;a href=&quot;http://en.wikipedia.org/wiki/Simply_typed_lambda_calculus&quot;&gt;simply typed lambda calculus&lt;/a&gt; and a type of &lt;a href=&quot;http://en.wikipedia.org/wiki/Intuitionistic_logic&quot;&gt;intuitionistic logic&lt;/a&gt;. There are many other interesting topics to explore (e.g. how should we give the &lt;a href=&quot;http://en.wikipedia.org/wiki/Lambda_calculus#Semantics&quot;&gt;semantics&lt;/a&gt; of lambda calculus? how can we turn lambda calculus into a deductive system like FOL?) &lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Check out Hindley &amp;amp; Seldin's &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0521898854&quot;&gt;&lt;em&gt;Introduction to Combinators and &amp;lambda;&amp;ndash;Calculus&lt;/em&gt;&lt;/a&gt; for an introduction. Barendregt's &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0444875085&quot;&gt;&lt;em&gt;The Lambda Calculus&lt;/em&gt;&lt;/a&gt; is the bible, so if you're hooked after Hindley &amp;amp; Seldin, there are lots of topics of both semantical and syntactical nature in there to explore.&lt;/p&gt;&#xA;" OwnerUserId="17255" LastActivityDate="2014-03-23T20:12:19.147" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="21707" PostTypeId="2" ParentId="21705" CreationDate="2014-03-23T20:25:54.653" Score="100" Body="&lt;p&gt;$\lambda$-calculus has two key roles.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;It is a simple mathematical foundation of sequential, functional, higher-order&#xA;computational behaviour.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;It is a representation of proofs in   constructive&#xA;logic.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;This is also known as the &lt;a href=&quot;https://en.wikipedia.org/wiki/Curry%E2%80%93Howard_correspondence&quot; rel=&quot;noreferrer&quot;&gt;Curry-Howard correspondence&lt;/a&gt;.  Jointly,&#xA;the dual view of $\lambda$-calculus as proof and as (sequential,&#xA;functional, higher-order) programming language, strengthened by the algebraic feel&#xA;of $\lambda$-calculus (which is not shared by Turing machines), has lead&#xA;to massive technology transfer  between logic, the foundations of mathematics, and programming.&#xA;This transfer is still ongoing, for example in &lt;a href=&quot;http://homotopytypetheory.org&quot; rel=&quot;noreferrer&quot;&gt;homotopy type theory&lt;/a&gt;.  In&#xA;particular the development of programming languages in general, and&#xA;typing disciplines in particular, is inconceivable without&#xA;$\lambda$-calculus. Most programming languages owe some degree of debt to&#xA;Lisp and ML (e.g. garbage collection was invented for Lisp), which are direct descendants of the $\lambda$-calculus. A&#xA;second strand of work strongly influenced by $\lambda$-calculus are&#xA;&lt;a href=&quot;http://en.wikipedia.org/wiki/Proof_assistant%E2%80%8E&quot; rel=&quot;noreferrer&quot;&gt;interactive proof assistants&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does one have to know $\lambda$-calculus to be a competent programmer, or&#xA;even a theoretician of computer science?    No. If you are not interested&#xA;in types, verification and programming languages with higher-order&#xA;features, then it's probably a model of computation that's not&#xA;terribly useful for you. In particular, if you are interested in complexity theory, then&#xA;$\lambda$-calculus is probably not an ideal model because the basic&#xA;reduction step $$(\lambda x.M) N \rightarrow_{\beta} M[N/x]$$ is powerful: it can make an arbitrary number of copies on $N$, so&#xA;$\rightarrow_{\beta}$ is an unrealistic basic notion in accounting for&#xA;the microscopic cost of computation. I think this is the main reason why&#xA;Theory A is not so enamoured of $\lambda$-calculus. Conversely, Turing machines are not terribly inspirational for programming language development, because there are no natural notions of machine composition, whereas with $\lambda$-calculus, if $M$ and $N$ are programs, then so is $MN$. This algebraic view of computation relates naturally to programming languages used in practice, and much language development can be understood as the search for, and investigation of novel program composition operators.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For an encyclopedic overview of the history of $\lambda$-calculus see &lt;a href=&quot;http://www.users.waitrose.com/~hindley/SomePapers_PDFs/2006CarHin,HistlamRp.pdf&quot; rel=&quot;noreferrer&quot;&gt;History of Lambda-calculus and Combinatory Logic by Cardone and Hindley&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="898" LastEditorUserId="20340" LastEditDate="2017-06-14T14:19:41.317" LastActivityDate="2017-06-14T14:19:41.317" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="21709" PostTypeId="2" ParentId="21694" CreationDate="2014-03-24T03:07:36.737" Score="8" Body="&lt;p&gt;Oh oh. You want to be very very careful. Contact graphs of convex polytopes in 3d can realize any graph. Surprisingly, the clique can be realized by n polytopes that are n rotated and translated copies of the same polytope (the mind boggles). See this paper:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.cs.uiuc.edu/~jeffe/pubs/crum.html&quot;&gt;http://www.cs.uiuc.edu/~jeffe/pubs/crum.html&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This already implies that you can encode pretty nasty graphs as intersection graphs of triangles in 3d. See section 4 of this paper:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://sarielhp.org/p/09/set_cover_hard/&quot;&gt;http://sarielhp.org/p/09/set_cover_hard/&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;BTW, I am interested in a similar version of your problem by trying to understand how geometric intersection graph behaves...&lt;/p&gt;&#xA;" OwnerUserId="9594" LastActivityDate="2014-03-24T03:07:36.737" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21711" PostTypeId="1" CreationDate="2014-03-24T05:21:47.200" Score="4" ViewCount="99" Body="&lt;blockquote&gt;&#xA;&lt;b&gt;Question.&lt;/b&gt; Let $f,g : \{\pm 1\}^n \to \{\pm 1\}$ be $\varepsilon$-fooled by $k$-wise independence -- i.e. for &lt;i&gt;any&lt;/i&gt; $k$-wise independent random variable $X$, $\left|\mathbb{E}[f(X)] - \mathbb{E}[f(U)]\right| \le \varepsilon$ (where $U$ is uniform) and likewise for $g$. Define $h(x,y) = f(x) \cdot g(y)$. Is $h$ necessarily $O(\varepsilon)$-fooled by $O(k)$-wise independence?&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;If $\varepsilon=0$, the answer is yes: The hypotheses imply that $f$ and $g$ are polynomials of degree at most $k$, which implies $h$ has degree at most $2k$ and is therefore fooled by $2k$-wise independence.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This feels like it shouldn't be too hard to answer. Any ideas?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is an equivalent formulation in terms of sandwiching polynomials (see e.g. &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.118.1630&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;nofollow&quot;&gt;[Bazzi07]&lt;/a&gt; $\S 1.1$): Essentially, it asks is the product of two &quot;almost&quot; degree-$k$ functions &quot;almost&quot; degree $O(k)$?&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt; &lt;b&gt;Equivalent Question.&lt;/b&gt;&#xA;Let $f,g : \{\pm 1\}^n \to \{\pm 1\}$. Suppose there exist polynomials $f_+,f_-,g_+,g_- : \{\pm 1\}^n \to \mathbb{R}$ of degree at most $k$ such that $$f_-(x) \le f(x) \le f_+(x) ~~~ \text{and} ~~~ g_-(x) \le g(x) \le g_+(x)$$ for all $x \in \{\pm 1\}^n$ and $$\mathbb{E}[f_+(U)-f_-(U)] \le \varepsilon ~~~\text{and}~~~ \mathbb{E}[g_+(U)-g_-(U)] \le \varepsilon.$$ Do there exist polynomials $h_+, h_- : \{\pm 1\}^{n} \times \{\pm 1\}^{n} \to \mathbb{R}$ of degree $O(k)$ such that $h_-(x,y) \le f(x) \cdot g(y) \le h_+(x,y)$ for all $x,y \in \{\pm 1\}^n$ and $\mathbb{E}[h_+(U,U')-h_-(U,U')] \le O(\varepsilon)$?&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The obvious thing to try is setting $h_\pm(x,y)=f_\pm(x) \cdot g_\pm(y)$. Unfortunately, it doesn't seem to work out (essentially the signs and inequalities don't go the right way).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm also interested in generalisations of this question, where $X$ is, say, small-biased, rather than $k$-wise independent.&lt;/p&gt;&#xA;" OwnerUserId="2022" LastActivityDate="2014-03-24T16:45:38.483" Title="Is being fooled by limited independence preserved by products?" Tags="&lt;fourier-analysis&gt;&lt;pseudorandomness&gt;&lt;limited-independence&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21712" PostTypeId="1" AcceptedAnswerId="21715" CreationDate="2014-03-24T06:31:09.470" Score="3" ViewCount="1476" Body="&lt;p&gt;Let $G$ be a connected graph with $n$ vertices and $O(nk)$ edges, ($k$ is parameter). &#xA;Then how many connected induced subgraphs of size $l$  does $G$ have?   &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The simple case when $l=2$, The number of subgraphs is number of edges which is $O(nk)$. How can we generalize this one. &lt;/p&gt;&#xA;" OwnerUserId="14028" LastActivityDate="2014-03-25T13:32:30.393" Title="How many induced subgraphs does $G$ have of specific size" Tags="&lt;graph-theory&gt;" AnswerCount="2" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21713" PostTypeId="2" ParentId="21705" CreationDate="2014-03-24T08:38:35.160" Score="29" Body="&lt;p&gt;I think $\lambda$-calculus has contributed in many ways to this field, and still contributes to it. Three examples follow, and this is not exhaustive. Since I am not a specialist in $\lambda$-calculus, I certainly miss some important points.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;First, I think having different models of computation that turn out to represent the exact same set of functions was at the origin of the &lt;a href=&quot;https://en.wikipedia.org/wiki/Church%E2%80%93Turing_thesis&quot;&gt;Church-Turing thesis&lt;/a&gt;, and $\lambda$-calculus played a major role, alongside with Turing machines and $\mu$-recursive functions.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Second, regarding functional programming language, I do not understand as a &lt;em&gt;not valid contribution&lt;/em&gt;: Basically, all our models of computations were invented &lt;em&gt;long before&lt;/em&gt; anything happened in Computer Science! Thus $\lambda$-calculus brought another view of computation, in some sense orthogonal to Turing machines, that is very fruitful in the field of programming languages (which is part of the field of theory of computation).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Finally, and as a more specific example, I think of Implicit Computational Complexity which aims at characterizing complexity classes by means of dedicated languages. The first results such as &lt;em&gt;Bellantoni-Cook's Theorem&lt;/em&gt; were stated in terms of $\mu$-recursive functions, but more recent results use the vocabulary and techniques of $\lambda$-calculus. See this &lt;a href=&quot;http://link.springer.com/chapter/10.1007/978-3-642-31485-8_3&quot;&gt;Short introduction to Implicit Computational Complexity&lt;/a&gt; for more and pointers, or the proceedings of the &lt;a href=&quot;http://perso.ens-lyon.fr/patrick.baillot/DICE/&quot;&gt;DICE workshops&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="976" LastActivityDate="2014-03-24T08:38:35.160" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21714" PostTypeId="2" ParentId="21712" CreationDate="2014-03-24T09:13:02.010" Score="3" Body="&lt;p&gt;This does not completely answer your question. I don't believe any upper bounds are known with respect to the average degree of a graph, but here is a result about graphs where the maximum degree is bounded.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://doi.acm.org/10.1145/2151171.2151181&quot; rel=&quot;nofollow&quot;&gt;Björklund et al. (2012)&lt;/a&gt; showed that the number of connected vertex subsets of a graph with $n$ vertices and maximum degree $d$ is at most $(2^{d+1}-1)^{n/(d+1)}+n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For maximum degrees 3,4, and 5, this gives the upper bounds $O(1.9680^n)$, $O(1.9874^n)$, and $O(1.9948^n)$.&lt;/p&gt;&#xA;" OwnerUserId="72" LastActivityDate="2014-03-24T09:13:02.010" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21715" PostTypeId="2" ParentId="21712" CreationDate="2014-03-24T09:32:40.293" Score="5" Body="&lt;p&gt;Consider a star graph, if we take a center of star union with $l-1$ arbitrary vertices then the corresponding subgraph is induced connected subgraph. So the maximum number is about $n-1\choose l-1$. We can extend this class of graphs by connecting arbitrary vertices together to have more edges. It's also possible to achieve closer to $n \choose l$ if $l$ is much smaller than $k$, or $k$ is big enough.&lt;/p&gt;&#xA;" OwnerUserId="1846" LastEditorUserId="1846" LastEditDate="2014-03-25T13:32:30.393" LastActivityDate="2014-03-25T13:32:30.393" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21716" PostTypeId="2" ParentId="21694" CreationDate="2014-03-24T09:52:47.427" Score="3" Body="&lt;p&gt;Very important property : tree-width duality.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;e.g look at :&#xA;Tree-width of hyper-graphs and surface duality&#xA;by Frederic Mazoit,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The abstract is as follow:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;In Graph Minors III, Robertson and Seymour write: &quot;It seems that the&#xA;  tree- width of a planar graph and the tree-width of its geometric dual&#xA;  are approximately equal, indeed, we have convinced ourselves that&#xA;  they differ by at most one.&quot; They never gave a proof of this. In this&#xA;  paper, we prove a generalization of this statement to embedding of&#xA;  hypergraphs on general surfaces, and we prove that our bound is tight.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.labri.fr/perso/mazoit/uploads/Surface_duality_journal.pdf&quot; rel=&quot;nofollow&quot;&gt;http://www.labri.fr/perso/mazoit/uploads/Surface_duality_journal.pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="1846" LastEditorUserId="1846" LastEditDate="2014-03-24T10:46:42.397" LastActivityDate="2014-03-24T10:46:42.397" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="21717" PostTypeId="2" ParentId="3540" CreationDate="2014-03-24T10:59:43.780" Score="-2" Body="&lt;p&gt;&lt;a href=&quot;http://research.microsoft.com/en-us/people/kannan/book-dec-30-2013.pdf&quot; rel=&quot;nofollow&quot;&gt;Foundations of Data Science&lt;/a&gt; by John Hopcroft and Ravindran Kannan. It's an amazing book on Algorithms for Big Data Analytics. They call it the 21st century algorithms.&lt;/p&gt;&#xA;" OwnerUserId="9569" LastActivityDate="2014-03-24T10:59:43.780" CommentCount="1" CommunityOwnedDate="2014-03-24T10:59:43.780" ContentLicense="CC BY-SA 3.0" />
  <row Id="21718" PostTypeId="2" ParentId="21705" CreationDate="2014-03-24T11:33:44.530" Score="22" Body="&lt;p&gt;Apart from the foundational role of the $\lambda$-calculus, which was mentioned in all other answers, I would like to add something on&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What exactly did the lambda calculus do to advance the theory of CS?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I believe that &lt;strong&gt;concurrency theory&lt;/strong&gt; is one field of CS which has been tremendously influenced by the compositional view mentioned by Martin Berger.  Of course, the $\lambda$-calculus itself is not a concurrent language, but its &quot;algebraic spirit&quot; permeates the definition and development of modern &lt;a href=&quot;http://en.wikipedia.org/wiki/Process_calculus&quot; rel=&quot;noreferrer&quot;&gt;process calculi&lt;/a&gt;.  I think it is fair to say that process algebras are descendants of the $\lambda$-calculus more than they are of automata and Turing machines and, in general, concurrency theory wouldn't be what it is today without the import of the $\lambda$-calculus.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Besides concurrency, I am happy to see &lt;strong&gt;implicit computational complexity&lt;/strong&gt; (ICC) mentioned in one of the answers (it is a field in which I am personally involved).  However, it must be said that, so far, ICC has no use in CS theory outside of programming languages and, in a very limited way, software verification.  This is just an example of a more general situation: the modular, compositional, highly structured view of computation underlying the $\lambda$-calculus and predominant in &quot;Theory B&quot; seems to bring little insight into the deep problems of interest in &quot;Theory A&quot;.  Why this is so is, for me, an interesting and at the same time frustrating subject of reflection.  (See &lt;a href=&quot;https://cstheory.stackexchange.com/questions/944/solid-applications-of-category-theory-in-tcs&quot;&gt;this question&lt;/a&gt; for a related discussion).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(As a side note, let me mention that, thanks to its deep connections with proof theory (Curry-Howard), the $\lambda$-calculus has interesting applications also outside of CS &quot;proper&quot;, in particular in set theory.  I am especially alluding to recent work on classical realizability, a research program developed from the early 2000s onward by &lt;a href=&quot;http://www.pps.univ-paris-diderot.fr/~krivine/&quot; rel=&quot;noreferrer&quot;&gt;Jean-Louis Krivine&lt;/a&gt; (and several other people now, such as Alexandre Miquel, the lectures found on his &lt;a href=&quot;http://perso.ens-lyon.fr/alexandre.miquel/&quot; rel=&quot;noreferrer&quot;&gt;web page&lt;/a&gt; are an excellent introduction to the subject).  From the model-theoretic standpoint, classical realizability may be seen as a &quot;non-commutative&quot; generalization of Cohen's forcing, yielding models of set theory impossible to obtain with forcing).&lt;/p&gt;&#xA;" OwnerUserId="20716" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2014-06-09T08:56:53.223" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="21719" PostTypeId="2" ParentId="21694" CreationDate="2014-03-24T13:19:20.733" Score="8" Body="&lt;p&gt;As a first remark, your focus seems to be on hypergraphs but I think that most of the literature about embedding hypergraphs prefers to work with simplicial complexes. A good reference on these questions is &lt;a href=&quot;http://arxiv.org/abs/0807.0336&quot;&gt;this paper&lt;/a&gt; by Matousek, Tancer and Wagner.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Does Fáry's Theorem hold in higher dimension?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The answer is no. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are actually 3 different notions of embeddability: with straight, piecewise-linear and continuous (hyper)-edges. In the plane, they all coincide, but in general they do not. Regarding straight-line embeddings, a first counter-example is due to Brehm&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Brehm, U. (1983). A nonpolyhedral triangulated Möbius strip. Proc. Amer. Math. Soc., 89(3), 519–522. doi:10.2307/2045508&lt;/p&gt;&#xA;&#xA;&lt;p&gt;and several examples have followed using results from matroid theory.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;About the difference between PL and topological embeddings, this results from the general counter-examples arising from the &lt;a href=&quot;http://en.wikipedia.org/wiki/Hauptvermutung&quot;&gt;Hauptvermutung&lt;/a&gt;: In dimensions 5 and more, there exist topological spheres which do not admit any piecewise-linear structure&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Are there any other properties that can be generalized? for example, can Euler's Formula for planar graphs be generalized somehow to higher dimension?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;You might want to take a look at the &lt;a href=&quot;http://en.wikipedia.org/wiki/Euler_characteristic&quot;&gt;Euler characteristic&lt;/a&gt; (jump to the topological definition), which relates the alternating sum of the number of $k$-dimensional simplices with the alternating sum of the betti numbers of your complex.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Similarly, it seems that the complete 3-hypergraph on 6 vertices doesn't have 3-simple-embedding.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Indeed, this results from the van Kampen-Flores obstruction. This is explained in remarkable detail and clarity in Matousek's book Using the Borsuk Ulam Theorem.&lt;/p&gt;&#xA;" OwnerUserId="4871" LastEditorUserId="4871" LastEditDate="2014-03-24T13:37:53.180" LastActivityDate="2014-03-24T13:37:53.180" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21720" PostTypeId="1" CreationDate="2014-03-24T13:37:58.953" Score="3" ViewCount="192" Body="&lt;p&gt;Consider the following  min-cost flow variant:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Input:&lt;/strong&gt; &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;a positively-weighted complete bipartite graph $G = (S, T, c)$ and extra vertices $s, t$ &lt;/li&gt;&#xA;&lt;li&gt;edges from $s$ to $S$ and from $T$ to $t$.  &lt;/li&gt;&#xA;&lt;li&gt;lower and upper capacity bounds $l_i, u_i$ on each edge $(s, s_i)$&lt;/li&gt;&#xA;&lt;li&gt;flow values $g_i$ for each edge $(t_i, t)$ with the constraint that $\sum_i g_i = 1$&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;For any flow assignment $f$ on the edges $(s, s_i)$ (note that by flow conservation $\sum_i f_i = 1$), let $\text{cost}(f)$ be the cost of a min-cost flow satisfying the upper and lower bounds. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Problem&lt;/strong&gt;:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Find an $f$ satisfying all capacity constraints such that&#xA;  $\text{cost}(f)$ is maximized.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="22166" LastEditorUserId="80" LastEditDate="2014-03-27T15:37:31.550" LastActivityDate="2014-03-27T17:46:58.737" Title="Complexity of a parametrized min-cost flow problem" Tags="&lt;cc.complexity-theory&gt;&lt;graph-algorithms&gt;&lt;max-flow&gt;" AnswerCount="1" CommentCount="12" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="21721" PostTypeId="1" AcceptedAnswerId="21728" CreationDate="2014-03-24T14:24:44.790" Score="2" ViewCount="185" Body="&lt;p&gt;It's possible to define the properties of a grammar that is fast to parse as it is indeed possible to classify algorithm based on their complexity ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In other words it's possible to evaluate and define grammars based on their &quot;computational&quot; properties/behaviour ?&lt;/p&gt;&#xA;" OwnerUserId="20896" LastActivityDate="2014-03-24T16:44:55.073" Title="Define the properties of a grammar that is the fastest to parse" Tags="&lt;grammars&gt;&lt;parsing&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21722" PostTypeId="2" ParentId="21694" CreationDate="2014-03-24T14:50:36.883" Score="4" Body="&lt;p&gt;Schnyder Theorem states that a graph is planar iff its incidence poset has dimension at most 3. This has been extended by Mendez to arbitrary simplicial complexes (see &quot;Geometric Realization of Simplicial Complexes&quot;, Graph Drawing 1999: 323-332). Strangely enough there is a much older paper with a very similar title &quot;The geometric realization of a semi-simplicial complex&quot;, but I suspect that it's on a different topic.&lt;/p&gt;&#xA;" OwnerUserId="21714" LastActivityDate="2014-03-24T14:50:36.883" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21723" PostTypeId="1" AcceptedAnswerId="21724" CreationDate="2014-03-24T14:57:23.050" Score="2" ViewCount="160" Body="&lt;p&gt;I was wondering what is the state of the art on approximating the quadratic assignment problem (QAP). In particular, I am interested in the following instance. Suppose the $A = (a_{ij}) \in \{0,1\}^{n \times n}$ is the adjacency matrix of an undirected graph. Let $B = (b_{\ell k}) \in \mathbb{R}^{K \times K}$ and $\pi : [n] \to [K]$ be a map. (We might put some restriction on $\pi$ too, for example, equal number of nodes being mapped to each element of $[K]$.) We would like to solve&#xA;$$&#xA;\arg \max_{\pi} \sum_{ij} a_{ij} b_{\pi(i),\pi(j)}&#xA;$$&#xA;A more specific questions is this: what is known about semi-definite programming relaxations (SDP) of this problem? Are there ones which do not significantly increase the dimension of the problem? Any review papers on recent advancements?&lt;/p&gt;&#xA;" OwnerUserId="9424" LastActivityDate="2014-03-24T15:29:36.297" Title="State of the art on approximating quadratic assignment problem" Tags="&lt;approximation-algorithms&gt;&lt;semidefinite-programming&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21724" PostTypeId="2" ParentId="21723" CreationDate="2014-03-24T15:29:36.297" Score="3" Body="&lt;p&gt;See the following paper. There may have been other developments since then.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Maximum Quadratic Assignment Problem,&#xA;Konstantin Makarychev, Rajsekar Manokaran, Maxim Sviridenko, &#xA;ICALP 2010 &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.cs.princeton.edu/~kmakaryc/pdf/maxqap.pdf&quot; rel=&quot;nofollow&quot;&gt;http://www.cs.princeton.edu/~kmakaryc/pdf/maxqap.pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="176" LastActivityDate="2014-03-24T15:29:36.297" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21727" PostTypeId="1" CreationDate="2014-03-24T16:20:31.990" Score="0" ViewCount="247" Body="&lt;p&gt;In an &lt;a href=&quot;https://cstheory.stackexchange.com/questions/21631/notion-of-associativity-for-ternary-relations&quot;&gt;earlier question&lt;/a&gt; I proposed a definition of associativity for ternary relations generalizing the usual notion for composition laws. I'm still not sure whether this definition makes sense, but if so this leads to some interesting algebraic questions. In particular, what parts of &quot;semigroup theory&quot; can be extended to that setting, if any?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider such a relation $\cal{R}$ over $X$. Similar to semigroup theory, we can give the following definitions:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;a set $S \subseteq X$ is a &quot;substructure&quot; if $a,b \in S$ and $\cal{R}(a,b,c)$ holds imply that $c \in S$;&lt;/li&gt;&#xA;&lt;li&gt;a set $L \subseteq X$ is a &quot;left ideal&quot; if $a \in L, b \in X$ and $\cal{R}(a,b,c)$ holds imply that $c \in L$;&lt;/li&gt;&#xA;&lt;li&gt;a set $R \subseteq X$ is a &quot;right ideal&quot; if $a \in X, b \in R$ and $\cal{R}(a,b,c)$ holds imply that $c \in R$;&lt;/li&gt;&#xA;&lt;li&gt;given a substructure $S$, we can define an order relation $\leq_S$ such that for any $a,a' \in X$, $a \leq_S a'$ iff for every $b \in S,c \in X$, $\cal{R}(a,b,c)$ implies $\cal{R}(a',b,c)$. We can also define an equivalence relation $\equiv_S$ as $\leq_S \cap \geq_S$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;This leads to some natural questions: (i) what are the conditions on $S$ such that $\cal{R} / \equiv_S$ behaves as a substructure? (ii) how do chains of ideals behave with respect to inclusion? (iii) are there some possible generalizations of the isomorphism theorems? (iv) are there some connections with automata and possible extensions of Krohn-Rhodes theory?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is probably pie in the sky though, as I don't even have any concrete example of such a structure...&lt;/p&gt;&#xA;" OwnerUserId="21714" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2014-04-13T20:20:17.317" Title="Extending semigroup theory?" Tags="&lt;algebra&gt;" AnswerCount="1" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="21728" PostTypeId="2" ParentId="21721" CreationDate="2014-03-24T16:44:55.073" Score="2" Body="&lt;p&gt;Your question is unclear. When you write &quot;parse&quot;, do you actually mean&#xA;to produce a parse structure (one, or all possible ones). How do you define&#xA;it ? For example, some grammars have a parse tree that differs from the&#xA;derivation tree. Or did you mean that the language must be fasted to&#xA;recognize?  Regular grammars give you languages that are recognized&#xA;in linear time. What qualifies as a grammar? Actually, if you are just&#xA;interested in recognition, you are looking for properties of languages&#xA;rather than properties of grammar (though they can be related).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can certainly build hierarchies of grammars according to&#xA;complexity criteria if you clarify the above.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example in the case of Context-Free grammar, the is nearly a well&#xA;defined concept of parsing (up to specifying whether you want one&#xA;parse tree or all possible parse trees).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The complexity is at worst $O(n^3)$ for parsing and &lt;a href=&quot;http://repository.cmu.edu/cgi/viewcontent.cgi?article=2751&amp;amp;context=compsci&quot; rel=&quot;nofollow&quot;&gt;$O(n^{2.373})$&lt;/a&gt; (due to valiant, with a looser bound at the time) for&#xA;recognition (wich is only asymptotic, and not the fastest in any&#xA;realistic situation). There are CF grammar that will parse in linear&#xA;time (notably deterministic grammars), others  will parse in $O(n^2)$&#xA;time, and others are &lt;a href=&quot;http://acl.ldc.upenn.edu/P/P97/P97-1002.pdf&quot; rel=&quot;nofollow&quot;&gt;believed to require more&lt;/a&gt; (though the exact&#xA;complexity bound is not known), even for simple recognition.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I do not really know if these complexity hierarchies have been&#xA;identified precisely.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The &lt;a href=&quot;https://en.wikipedia.org/wiki/Context-free_grammar#Subclasses&quot; rel=&quot;nofollow&quot;&gt;usual hierarchies&lt;/a&gt; studied for context-free grammars are often more&#xA;related to the applicability of techniques that can be used to build&#xA;parsers for these grammars.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As the question is stated, I guess there is one language that is faster than any other to recognize. That is the &lt;a href=&quot;https://en.wikipedia.org/wiki/The_Library_of_Babel&quot; rel=&quot;nofollow&quot;&gt;Babel language&lt;/a&gt; invented (nearly) by Jorge Luis Borges and containing all possible string (Borges was unfortunately limited to a finite size due to paper shortage, which would invalidate what I am saying). With all strings of any size, recognition is easy. You start in an accepting state and terminate in 0 steps.&#xA;The empty language is recognized as fast. I believe these are the only ones recognized in 0 steps (for a given alphabet). This establishes that, if the alphabet is fixed, the class of languages recognizable in 0 time is closed under complementation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is of course in jest, but you can see from it that one can define languagesn and corresponding grammars, that can be recognized in constant time, by putting constraints only on a finite prefix of strings. They are not much more interesting. The problem is in the statement of the question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I guess the fasted interesting class of CF grammars is the class parsable in linear-time. &lt;a href=&quot;https://en.wikipedia.org/wiki/Deterministic_context-free_grammarttps%3a&quot; rel=&quot;nofollow&quot;&gt;Deterministic CF grammars&lt;/a&gt; are clearly member of that class, so that is a sufficient property. However many non-deterministic languages, having no deterministic grammars, can also be parsed in linear time.&lt;/p&gt;&#xA;" OwnerUserId="16132" LastActivityDate="2014-03-24T16:44:55.073" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="21729" PostTypeId="2" ParentId="21711" CreationDate="2014-03-24T16:45:38.483" Score="3" Body="&lt;p&gt;I have figured out that the answer to this question is yes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The proof goes via sandwiching polynomials. It's a simple modification of a proof in &lt;a href=&quot;http://arxiv.org/pdf/1210.0049v1.pdf&quot; rel=&quot;nofollow&quot;&gt;[GMRTV12]&lt;/a&gt; $\S 4$. (Instead of keeping track of $\mathrm{L}_1$, we keep track of degree.)&lt;/p&gt;&#xA;" OwnerUserId="2022" LastActivityDate="2014-03-24T16:45:38.483" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21730" PostTypeId="1" AcceptedAnswerId="21736" CreationDate="2014-03-24T16:46:48.613" Score="25" ViewCount="3526" Body="&lt;p&gt;I need to calculate the running median:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;em&gt;Input:&lt;/em&gt; $n$, $k$, vector $(x_1, x_2, \dotsc, x_n)$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;em&gt;Output:&lt;/em&gt; vector $(y_1, y_2, \dotsc, y_{n-k+1})$, where $y_i$ is the median of $(x_i, x_{i+1}, \dotsc, x_{i+k-1})$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;(No cheating with approximations; I would like to have exact solutions. Elements $x_i$ are large integers.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is a trivial algorithm that maintains a search tree of size $k$; the total running time is $O(n \log k)$. (Here a &quot;search tree&quot; refers to some efficient data structure that supports insertions, deletions, and median queries in logarithmic time.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, this seems a bit stupid to me. We will effectively learn &lt;em&gt;all&lt;/em&gt; order statistics within all windows of size $k$, not just the medians. Moreover, this is not too attractive in practice, especially if $k$ is large (large search trees tend to be slow, overhead in memory consumption is non-trivial, cache-efficiency is often poor, etc.).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can we do anything substantially better?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there any lower bounds (e.g., is the trivial algorithm asymptotically optimal for the comparison model)?&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit:&lt;/strong&gt; David Eppstein gave a nice lower bound for the comparison model! I wonder if it is nevertheless possible to do something slightly more clever than the trivial algorithm?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, could we do something along these lines: divide the input vector to parts of size $k$; sort each part (keeping track of the original positions of each element); and then use the piecewise sorted vector to find the running medians efficiently without any auxiliary data structures? Of course this would still be $O(n \log k)$, but in practice sorting arrays tends to be much faster than maintaining search trees.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit 2:&lt;/strong&gt; Saeed wanted to see some reasons why I think sorting is faster than search tree operations. Here are very quick benchmarks, for $k = 10^7$, $n = 10^8$:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;≈ 8s: sorting $n/k$ vectors with $k$ elements each&lt;/li&gt;&#xA;&lt;li&gt;≈ 10s: sorting a vector with $n$ elements&lt;/li&gt;&#xA;&lt;li&gt;≈ 80s: $n$ insertions &amp;amp; deletions in a hash table of size $k$&lt;/li&gt;&#xA;&lt;li&gt;≈ 390s: $n$ insertions &amp;amp; deletions in a balanced search tree of size $k$&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The hash table is there just for comparison; it is of no direct use in this application.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In summary, we have almost a &lt;strong&gt;factor 50&lt;/strong&gt; difference in the performance of sorting vs. balanced search tree operations. And things get much worse if we increase $k$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Technical details: Data = random 32-bit integers. Computer = a typical modern laptop. The test code was written in C++, using the standard library routines (std::sort) and data structures (std::multiset, std::unsorted_multiset). I used two different C++ compilers (GCC and Clang), and two different implementations of the standard library (libstdc++ and libc++). Traditionally, std::multiset has been implemented as a highly optimised red-black tree.)&lt;/p&gt;&#xA;" OwnerUserId="74" LastEditorUserId="74" LastEditDate="2014-03-30T01:38:06.617" LastActivityDate="2014-06-09T08:36:01.257" Title="Nontrivial algorithm for computing a sliding window median" Tags="&lt;ds.algorithms&gt;&lt;ds.data-structures&gt;&lt;lower-bounds&gt;" AnswerCount="3" CommentCount="9" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="21731" PostTypeId="2" ParentId="21652" CreationDate="2014-03-24T16:54:49.467" Score="13" Body="&lt;p&gt;Yes. Indeed, an oracle $A$ satisfies $\mathsf{NP}^A=\mathsf{NP}$ if and only if $A \in \mathsf{NP} \cap \mathsf{coNP}$. This &lt;a href=&quot;http://complexityzoo.uwaterloo.ca/Complexity_Zoo:L#lkp&quot;&gt;class is called $\mathsf{Low(NP)}$ or sometimes $\mathsf{L_1 P}$&lt;/a&gt; (see the link and the paper cited there for more of an explanation of the low hierarchy in general).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Your intuition about &quot;determinism&quot; is actually somewhat correct (although it's not deterministic enough for us to conclude $\mathsf{P} = \mathsf{NP} \cap \mathsf{coNP}$). Try this as an exercise and you'll see this intuition vindicated: first show - carefully, spelling out the details - that if $A \in \mathsf{P}$, then $\mathsf{NP}^{A} = \mathsf{NP}$. Figure out exactly the part of your proof that doesn't work if you only assume $A \in \mathsf{NP}$, and then realize why that part does work when $A \in \mathsf{NP} \cap \mathsf{coNP}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Showing the converse is not too difficult either: $\mathsf{NP}^A = \mathsf{NP}$ implies $A \in \mathsf{NP} \cap \mathsf{coNP}$.)&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2014-03-24T16:54:49.467" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21732" PostTypeId="2" ParentId="19165" CreationDate="2014-03-24T17:29:29.523" Score="2" Body="&lt;p&gt;Proving that λ x. Ω ‌≠ Ω in is one of the goals Abramsky sets for his lazy lambda calculus theory (page 2 of &lt;a href=&quot;http://moscova.inria.fr/~levy/courses/X/M1/lambda/bib/90abramskylazy.pdf&quot; rel=&quot;nofollow&quot;&gt;his paper&lt;/a&gt;, already cited by Uday Reddy), because they are both in weak head normal form. As of definition 2.7, he discusses explicitly that eta-reduction λ x. M x → M is not generally valid, but it is possible if M terminates in every environment. This does not mean that M must be a total function — only that evaluating M must terminate (by reducing to a lambda, for instance).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Your question seems to be motivated by practical concerns (performance). However, even though the Haskell Report might be less than completely clear, I doubt that equating λ x. ⊥ ‌with ⊥ would produce a useful implementation of Haskell; whether it implements Haskell '98 or not is debatable, but given the remark, it's clear that the authors intended it to be the case.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, how's seq to generate elements for an arbitrary input type? (I know QuickCheck defines the Arbitrary typeclass for that, but you're not allowed to add such constraints here). This violates parametricity.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Updated&lt;/strong&gt;: I didn't manage to code this right (because I'm not so fluent in Haskel), and fixing this seems to require nested &lt;code&gt;runST&lt;/code&gt; regions.&#xA;I tried using a single reference cell (in the ST monad) to save such arbitrary elements, read them later, and make them universally available. Parametricity proves that &lt;code&gt;break_parametricity&lt;/code&gt; below cannot be defined (except by returning bottom, e.g. an error), while it could recover the elements your proposed seq would generate.&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;import Control.Monad.ST&#xA;import Data.STRef&#xA;import Data.Maybe&#xA;&#xA;produce_maybe_a :: Maybe a&#xA;produce_maybe_a = runST $ do { cell &amp;lt;- newSTRef Nothing; (\x -&amp;gt; writeSTRef cell (Just x) &amp;gt;&amp;gt; return x) `seq` (readSTRef cell) }&#xA;&#xA;break_parametricity :: a&#xA;break_parametricity = fromJust produce_maybe_a&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;I have to admit that I'm slightly fuzzy on formalizing the parametricity proof needed here, but this informal use of parametricity is standard in Haskell; but I learned from Derek Dreyer's writings that the needed theory is being quickly worked out in these last years.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDITs:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;I am not even sure whether you need those extensions, which are studied for ML-like, imperative and untyped languages, or whether the classical theories of parametricity cover Haskell.&lt;/li&gt;&#xA;&lt;li&gt;Also, I mentioned Derek Dreyer simply because I only later came&#xA;across Uday Reddy's work — I learned about it only recently from &quot;The essence of&#xA;Reynolds&quot;. (I only started really reading literature on parametricity in the last month or so).&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="989" LastEditorUserId="989" LastEditDate="2014-04-07T10:26:50.833" LastActivityDate="2014-04-07T10:26:50.833" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="21733" PostTypeId="1" AcceptedAnswerId="21735" CreationDate="2014-03-24T19:04:13.203" Score="7" ViewCount="737" Body="&lt;p&gt;What is the maximum number of colors that can be used for coloring the vertices of a given graph, with no isolated vertices, such that each vertex should share its color with at least one of its neighbour vertices?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there anything in literature about this variant of coloring?&lt;/p&gt;&#xA;" OwnerUserId="21993" LastActivityDate="2014-03-24T20:06:34.903" Title="Anti-chromatic number" Tags="&lt;graph-theory&gt;&lt;graph-colouring&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21734" PostTypeId="2" ParentId="21733" CreationDate="2014-03-24T20:02:22.053" Score="3" Body="&lt;p&gt;This problem is equivalent to finding a &lt;a href=&quot;http://en.wikipedia.org/wiki/Edge_cover&quot; rel=&quot;nofollow&quot;&gt;minimum edge cover&lt;/a&gt; for the given graph. Each edge in the edge cover corresponds to a pair of adjacent nodes that are the same color.  The edges involved in a minimum edge cover make up a subgraph in which each component is a tree (if any component contained a cycle, at least one edge could be removed); and clearly each component must be monochromatic.  Since a tree with $n_i$ nodes has $2n_i-1$ edges, it's clear that a set of $k$ disjoint trees with $n$ total nodes has $2n-k$ edges.  Inverting the relation, we see that if the minimum edge cover of an $n$-node graph has $m$ edges, then it has $k=2n-m$ components.  At most $2n-m$ different colors may be used without violating your &quot;anti-chromatic&quot; constraint.&lt;/p&gt;&#xA;" OwnerUserId="3183" LastActivityDate="2014-03-24T20:02:22.053" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21735" PostTypeId="2" ParentId="21733" CreationDate="2014-03-24T20:06:34.903" Score="14" Body="&lt;p&gt;Your problem is equivalent to maximum matching. In an optimal coloring, each color class is connected. Choosing one edge from each color class, we get a matching. This shows that the maximum matching is at least the antichromatic number. In the other direction, take any maximal matching, and color each of the pairs using a different color. Every other vertex is adjacent to some colored vertex (otherwise the matching isn't maximal), so you can extend this to an antichromatic coloring, showing that the antichromatic number is at least the size of a maximum matching.&lt;/p&gt;&#xA;" OwnerUserId="40" LastActivityDate="2014-03-24T20:06:34.903" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21736" PostTypeId="2" ParentId="21730" CreationDate="2014-03-24T21:20:48.980" Score="32" Body="&lt;p&gt;Here's a lower bound from sorting. Given an input set $S$ of length $n$ to be sorted, create an input to your running median problem consisting of $n-1$ copies of a number smaller than the minimum of $S$, then $S$ itself, then $n-1$ copies of a number larger than the maximum of $S$, and set $k=2n-1$. The running medians of this input are the same as the sorted order of $S$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So in a comparison model of computation, $\Omega(n\log n)$ time is required. Possibly if your inputs are integers and you use integer sorting algorithms you can do better.&lt;/p&gt;&#xA;" OwnerUserId="95" LastEditorUserId="21912" LastEditDate="2014-04-08T17:56:13.290" LastActivityDate="2014-04-08T17:56:13.290" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="21737" PostTypeId="2" ParentId="21705" CreationDate="2014-03-24T21:59:47.623" Score="6" Body="&lt;p&gt;other answers are good, here is one additional angle/reason for consideration that meshes with others yet might be even more definitive, nevertheless may be harder to keep clearly in mind as the old origins are lost somewhat in the sands of time:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;&lt;strong&gt;historical precedence!&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Lambda_calculus&quot; rel=&quot;noreferrer&quot;&gt;Lambda calculus&lt;/a&gt; was introduced &lt;em&gt;at least&lt;/em&gt; as early as &lt;strong&gt;1932&lt;/strong&gt; in the following ref:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;A. Church, &quot;A set of postulates for the foundation of logic&quot;, Annals of Mathematics, Series 2, 33:346–366 (1932).&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;the &lt;a href=&quot;http://en.wikipedia.org/wiki/Turing_machine&quot; rel=&quot;noreferrer&quot;&gt;Turing Machine&lt;/a&gt; was introduced in &lt;strong&gt;~1936&lt;/strong&gt;, so Lambda Calculus predates the appearance of the TM by several years!&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Turing, A.M. (1936). &quot;On Computable Numbers, with an Application to the Entscheidungs problem&quot;. Proceedings of the London Mathematical Society. 2 (1937) 42: 230–265. &lt;a href=&quot;http://dx.doi.org/10.1112%2Fplms%2Fs2-42.1.230&quot; rel=&quot;noreferrer&quot;&gt;doi:10.1112/plms/s2-42.1.230&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;so in other words a basic answer is that Lambda Calculus is in many ways the ultimate &lt;em&gt;legacy system&lt;/em&gt; of TCS. its still around in much the same way that &lt;a href=&quot;http://en.wikipedia.org/wiki/Cobol&quot; rel=&quot;noreferrer&quot;&gt;Cobol&lt;/a&gt; is even though not as much new development goes on in the language! it appears to be the earliest &lt;a href=&quot;http://en.wikipedia.org/wiki/Turing_complete&quot; rel=&quot;noreferrer&quot;&gt;Turing Complete computation system&lt;/a&gt; introduced and even predates the fundamental idea of Turing Completeness. it was only later retrospective analysis that showed that Lambda Calculus, Turing machines, and the Post Correspondence Problem were equivalent and introduced the concept of Turing equivalence and the &lt;a href=&quot;http://en.wikipedia.org/wiki/Church%E2%80%93Turing_thesis&quot; rel=&quot;noreferrer&quot;&gt;Church-Turing thesis&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Lambda calculus is simply the way to study computation from a &lt;a href=&quot;http://en.wikipedia.org/wiki/Logic&quot; rel=&quot;noreferrer&quot;&gt;&lt;em&gt;logic-centric&lt;/em&gt;&lt;/a&gt; pov more in terms of representing it as math theorems &amp;amp; logical formula derivations etcetera. it also shows the deep relationship between computing and &lt;a href=&quot;http://en.wikipedia.org/wiki/Recursion&quot; rel=&quot;noreferrer&quot;&gt;recursion&lt;/a&gt; and the further tight coupling with &lt;a href=&quot;http://en.wikipedia.org/wiki/Mathematical_induction&quot; rel=&quot;noreferrer&quot;&gt;mathematical induction&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;this is a somewhat remarkable factoid because it suggests that in many ways the (at least &lt;em&gt;theoretical&lt;/em&gt;) origins of computing were fundamentally in &lt;em&gt;logic/mathematics&lt;/em&gt;, a thesis advanced/expanded in detail by Davis in his book &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0393322297&quot; rel=&quot;noreferrer&quot;&gt;Engines of Logic/Mathematicians and the origins of the computer&lt;/a&gt;. (of course the origins &amp;amp; fundamental role of &lt;a href=&quot;http://en.wikipedia.org/wiki/Boolean_algebra&quot; rel=&quot;noreferrer&quot;&gt;Boolean algebra&lt;/a&gt; also further reinforce that conceptual historical framework.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;hence, dramatically, one might even say Lambda calculus is a bit like a &lt;em&gt;pedagogical time machine&lt;/em&gt; for exploring the origins of computing!&lt;/p&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="7884" LastEditDate="2014-03-24T22:23:14.903" LastActivityDate="2014-03-24T22:23:14.903" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="21739" PostTypeId="1" CreationDate="2014-03-24T23:15:02.650" Score="-4" ViewCount="277" Body="&lt;p&gt;I can think of a way that to prove a 3-connected 5-regular planar graph does not contain a 5-critical subgraph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We can choose two non-adjacent vertices a,b and contract them into a single vertex. If a and b has common neighbours, the resultant graph will still be a planar graph G'. But how can I prove chromatic number of G' is less or equal than 4?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Furthermore, how to prove that a 5-regular planar graph has chromatic number &amp;lt;= 4?&lt;/p&gt;&#xA;" OwnerUserId="22177" LastActivityDate="2015-07-19T06:27:40.770" Title="How to prove that a 3-connected 5-regular planar graph has chromatic number &lt;= 4?" Tags="&lt;graph-theory&gt;&lt;planar-graphs&gt;" AnswerCount="1" CommentCount="2" ClosedDate="2015-07-25T12:34:53.613" ContentLicense="CC BY-SA 3.0" />
  <row Id="21740" PostTypeId="2" ParentId="21739" CreationDate="2014-03-24T23:22:13.913" Score="2" Body="&lt;p&gt;Every planar graph can be colored by 4 color, take dual of graph, the faces of dual are able to be colored by 4 color because of 4 color theorem, but they are also vertices of original graph.&lt;/p&gt;&#xA;" OwnerUserId="1846" LastActivityDate="2014-03-24T23:22:13.913" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="21741" PostTypeId="1" CreationDate="2014-03-25T00:52:31.673" Score="12" ViewCount="721" Body="&lt;p&gt;What is the simplest computational model for which the emptiness problem is undecidable?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Emptiness problem for a computational model (e.g. finite state automaton, alternating pushdown automaton, bounded-error quantum automaton with a counter, deterministic LBA, etc.) is to determined whether, for a given such machine, the language recognized/defined by this machine is empty. Here the description of the machine should be finite!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I know that the word &quot;simplest&quot; is a little vague. There could be more than one answer for some incomparable computational models.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As a special remark, I believe that the question would become more interesting by focusing on unary and binary alphabets separately. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that there are many computational models for which the halting problem is decidable but the emptiness problem (and some other problems) is (are) undecidable, e.g. &lt;a href=&quot;http://www.google.com/url?sa=t&amp;amp;rct=j&amp;amp;q=&amp;amp;esrc=s&amp;amp;source=web&amp;amp;cd=2&amp;amp;ved=0CDMQFjAB&amp;amp;url=http://www.cs.uky.edu/~lewis/texts/theory/automata/lb-auto.pdf&amp;amp;ei=XdAwU_riN6TnygOD0IHoDQ&amp;amp;usg=AFQjCNGxc790e8AcKQMJ8U8gNx_pYYwJRg&amp;amp;sig2=54iNeFrmEOaClzrU4itWNA&quot;&gt;Linear bounded automata (LBAs)&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="7358" LastEditorUserId="7358" LastEditDate="2014-03-25T08:55:29.240" LastActivityDate="2014-03-26T00:28:37.247" Title="What is the simplest computational model for which the emptiness problem is undecidable?" Tags="&lt;computability&gt;&lt;decidability&gt;&lt;undecidability&gt;&lt;unary-languages&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21742" PostTypeId="1" CreationDate="2014-03-25T04:29:20.267" Score="1" ViewCount="133" Body="&lt;p&gt;I am building a predictive model for the growth of the amount of users of a new p2p protocol inspired by bitcoin and I would like to use historical data collected from the growth of major social networks in my model. My specific questions are the following:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Does a public database exist containing growth data for major social networks?&lt;/li&gt;&#xA;&lt;li&gt;Does there exist a generally accepted method for estimating contagion given specific network characteristics/assumptions?&lt;/li&gt;&#xA;&lt;li&gt;I need to account for the loss of users over time and thus I need a proper way of measuring node death and its impact upon connected nodes in the model. Is there a generally accepted method to estimate this given some set of parameters?&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;As a side note, I am uncertain, which stack exchange to post this question in or the best way to format the question for this channel. If there is a forum one could recommend in the comments that is better suited, then I would appreciate the advice. &lt;/p&gt;&#xA;" OwnerUserId="22185" LastActivityDate="2014-03-25T04:29:20.267" Title="Predicting the growth of a social network" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;social-sciences&gt;" AnswerCount="0" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21744" PostTypeId="2" ParentId="21730" CreationDate="2014-03-25T06:12:33.337" Score="3" Body="&lt;p&gt;Given David's bound it's unlikely you can do better worst case, but there are better output sensitive algorithms.  Specifically, if $m$ in the number of medians in the result, we can solve the problem in time $O(n \log m + m \log n)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To do this, replace the balanced binary tree with a balanced binary tree consisting of only those elements that were medians in the past, plus two Fibonacci heaps in between each pair of previous medians (one for each direction), plus counts so that we can locate which Fibonacci heap contains a particular element in the order.  Don't bother ever deleting elements.  When we insert a new element, we can update our data structure in $O(\log m)$ time.  If the new counts indicate that the median is in one of the Fibonacci heaps, it takes an additional $O(\log n)$ to pull the new median out.  This $O(\log n)$ charge occurs only once per median.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If there was a clean way to delete elements without damaging the nice Fibonacci heap complexity, we'd get down to $O(n \log m + m \log k)$, but I'm not sure if this is possible.&lt;/p&gt;&#xA;" OwnerUserId="13245" LastActivityDate="2014-03-25T06:12:33.337" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="21745" PostTypeId="2" ParentId="21741" CreationDate="2014-03-25T09:00:19.460" Score="15" Body="&lt;p&gt;Probably you already got these in your bag :-) &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Two way one counter machine over unary alphabet (Minsky61).&lt;/li&gt;&#xA;&lt;li&gt;Two way weak counter machines (the counter has no effect on the computation but the machine halts if counter reaches zero) [1].&lt;/li&gt;&#xA;&lt;li&gt;Quantum one counter automata [2].&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;With binary alphabets, the emptiness remains undecidable for:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;One way machines with one unbounded counter and one pushdown store that makes at most one reversal [3].&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Two-way machines deterministic finite automata with multiple reversal bounded counters (even over a bounded language) [3].&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Stateless (the transitions depend only on the scanned symbol) 2-head 2-way deterministic finite automata even when each head makes only one reversal on the input tape [4].&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit&lt;/strong&gt;: on the boundary:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;(Open problem) Is the emptiness problem decidable for two-way nondeterministic finite automata with one reversal bounded counter over non-bounded languages? (over bounded languages it is decidable [5])&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;[1] Tat-hung Chan. &lt;em&gt;On Two-Way Weak Counter Machines&lt;/em&gt;. Mathematical Systems Theory 01/1987;&lt;br&gt;&#xA;[2] Richard F. Bonner, Rusins Freivalds, and Maksim Kravtsev. 2001. &lt;em&gt;Quantum versus Probabilistic One-Way Finite Automata with Counter&lt;/em&gt;. In Proceedings of the 28th Conference on Current Trends in Theory and Practice of Informatics Piestany: Theory and Practice of Informatics (SOFSEM '01), Leszek Pacholski and Peter Ruzicka (Eds.). Springer-Verlag, London, UK, UK, 181-190. &lt;br&gt;&#xA;[3] Oscar H. Ibarra. 1978. &lt;em&gt;Reversal-Bounded Multicounter Machines and Their Decision Problems&lt;/em&gt;. J. ACM 25, 1 (January 1978), 116-133.&lt;br&gt;&#xA;[4] Oscar H. Ibarra, Juhani Karhumäki, Alexander Okhotin, &lt;em&gt;On stateless multihead automata: Hierarchies and the emptiness problem&lt;/em&gt;, Theoretical Computer Science, Volume 411, Issue 3, 6 January 2010, Pages 581-593, ISSN 0304-3975.&lt;br&gt;&#xA;[5] Zhe Dang, Oscar H. Ibarra, Zhi-wei Sun. &lt;em&gt;On the emptiness problems for two-way nfa with one reversal-bounded counter&lt;/em&gt;. In Proc. Thirteenth Int. Symp. on Algorithms and Computation (2002) &lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2014-03-26T00:28:37.247" LastActivityDate="2014-03-26T00:28:37.247" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="21747" PostTypeId="1" CreationDate="2014-03-25T13:05:12.757" Score="3" ViewCount="149" Body="&lt;p&gt;Let $S$ be a finite set. Following Lovasz (&lt;a href=&quot;http://ac.els-cdn.com/0095895680900660/1-s2.0-0095895680900660-main.pdf?_tid=f0b3e4cc-b41a-11e3-b981-00000aacb35f&amp;amp;acdnat=1395751535_bc97d640dee3077a7a8f7a14bc6c6f90&quot; rel=&quot;nofollow&quot;&gt;Matroid matching and some applications&lt;/a&gt;), let us define a &lt;em&gt;polymatroid function over $S$&lt;/em&gt; as a function $f : 2^S \rightarrow \mathbb{N}$ such that&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(1) $f(\emptyset) = 0$,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(2) $X \subseteq Y \Rightarrow f(X) \leq f(Y)$,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(3) $f(X \cup Y) + f(X \cap Y) \leq f(X) + f(Y)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The function $f$ defines a &lt;em&gt;2-polymatroid&lt;/em&gt; if $f({x}) \leq 2$ for every $x \in S$. My question is as follows: given two such functions $f,g$ over the same set $S$, and given two integers $r,s$, what is the complexity of counting sets $Z \subseteq S$ such that $f(Z) = r$ and $g(Z) = s$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The $\# \mathsf{P}$-hardness of this problem is not clear to me, if by chance it was in $\mathsf{P}$ it would have some interesting consequences. Indeed, it encompasses natural problems such as counting the number of $k$-vertex trees in a graph, which complexity is open afaik.&lt;/p&gt;&#xA;" OwnerUserId="21714" LastActivityDate="2014-03-25T13:05:12.757" Title="Counting problems with two-polymatroids" Tags="&lt;counting-complexity&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="21748" PostTypeId="2" ParentId="16428" CreationDate="2014-03-25T18:49:55.537" Score="11" Body="&lt;p&gt;Seemingly the earliest characterization of the graphs in which every minimal separator is an independent set appeared in T. A. McKee, &quot;Independent separator graphs,&quot; &lt;em&gt;Utilitas Mathematica&lt;/em&gt; &lt;strong&gt;73&lt;/strong&gt; (2007) 217--224.&#xA;These are precisely the graphs in which no cycle has a unique chord (or, equivalently, in which, in every cycle, every chord has a crossing chord). &lt;/p&gt;&#xA;" OwnerUserId="22201" LastActivityDate="2014-03-25T18:49:55.537" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21750" PostTypeId="1" AcceptedAnswerId="22146" CreationDate="2014-03-26T00:39:38.260" Score="9" ViewCount="922" Body="&lt;p&gt;In the planted clique problem, one must recover a $k$-clique planted in an Erdos-Renyi random graph $G(n,p)$. This has mostly been looked at for $p=\frac{1}{2}$, in which case it is known to be polynomial-time solvable if $k &amp;gt; \sqrt{n}$ and conjectured hard for $k&amp;lt; \sqrt{n}$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is: what is known/believed about other values of $p$? Specifically, when $p$ is a constant in $[0,1]$? Is there evidence that, for every such value of $p$, there exists some $k=n^{\alpha}$ for which the problem is computationally hard?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;References would be particularly helpful, as I haven't succeeded in finding any literature which looks at the problem for values other than $p=\frac{1}{2}$.&lt;/p&gt;&#xA;" OwnerUserId="2945" LastActivityDate="2015-05-01T01:40:54.840" Title="Planted Clique in G(n,p), varying p" Tags="&lt;cc.complexity-theory&gt;&lt;approximation-algorithms&gt;&lt;approximation-hardness&gt;" AnswerCount="3" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21753" PostTypeId="1" AcceptedAnswerId="42768" CreationDate="2014-03-26T03:28:49.997" Score="2" ViewCount="119" Body="&lt;p&gt;This is much more focused version of this question:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/questions/6186/are-there-good-implementations-for-easy-subclasses-of-np-hard-graph-problems&quot;&gt;Are there good implementations for easy subclasses of NP-hard graph problems &lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Computing the &lt;a href=&quot;http://mathworld.wolfram.com/GraphCrossingNumber.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;graph-crossing number&lt;/a&gt; $cr(G)$ for a simple graph is known to be NP-complete. A quick literature review shows some suggested algorithms for computing if $cr(G)&amp;lt;k$. Are they any active implementations available?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Already checked: &lt;a href=&quot;http://www.sagemath.org/doc/reference/graphs/sage/graphs/graph.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;SAGE&lt;/a&gt;, &lt;a href=&quot;http://doc.cgal.org/latest/BGL/index.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;CGAL_Boost&lt;/a&gt;, &lt;a href=&quot;http://networkx.github.io/&quot; rel=&quot;nofollow noreferrer&quot;&gt;networkx&lt;/a&gt;, &lt;a href=&quot;http://graph-tool.skewed.de/&quot; rel=&quot;nofollow noreferrer&quot;&gt;graph_tool&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="10692" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.743" LastActivityDate="2019-04-23T00:52:37.733" Title="Are there any implementations of a graph crossing algorithm?" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;software&gt;&lt;implementation&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21754" PostTypeId="1" CreationDate="2014-03-26T03:37:13.463" Score="6" ViewCount="72" Body="&lt;p&gt;&lt;strong&gt;The process:&lt;/strong&gt; Given is a clique $C_n$ of size $n$. Consider the following synchronous process, also known as the (synchronous) voter model (e.g., &lt;a href=&quot;http://www.math.tau.ac.il/~asafico/diffusion.pdf&quot; rel=&quot;nofollow&quot;&gt;Even-Dar and Shapira&lt;/a&gt;):&#xA;Define an indicator variable $x_i(t)$, which denotes the state of node $i \in \{1,\ldots,n\}$ at step $t$. We interpret $x_i(t)=1$ as &quot;node $i$ is black (infected) at step $t$, and white (uninfected) otherwise.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Initially, $x_1(0)=1$, whereas $x_i(0)=0$ for all $i=2,\ldots,n$. At step $t&amp;gt;0$, each node $i$ picks a neighbour $j \in N(i)$ uniformly at random (we assume that $i \in N(i)$), and sets $x_i(t)=x_j(t-1)$. The process stops only when the nodes are either all-black or all-white. This process is Markovian.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;My problem:&lt;/strong&gt; I want to compute the following probability. For a given $t^*$, compute the probability that for every $i=1,\ldots,n$, $x_i(t^*)=0$. Specifically, I want to show that for $t^*=O(\log n)$, the above probability is $1-o(1)$. In words, I want to show that only after a logarithmic number of steps, the entire clique is all-white w.h.p. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This seems to be similar to the extinction problem in branching programs (&lt;a href=&quot;http://en.wikipedia.org/wiki/Branching_process&quot; rel=&quot;nofollow&quot;&gt;wikipedia entry&lt;/a&gt;), but I'm not sure if the results for that problem carry over directly to mine.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt; One can try to solve this problem &quot;from scratch&quot; (without using &#xA;any known related results), by looking at the following measure.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $d(t,j)$ denote the probability that the graph is all-white by step $t$, assuming that there are initially $j$ black nodes (e.g., $x_i(0)=1$ for $i=1,\ldots,j$, and $x_i(0)=0$ for $i=j+1,\ldots,n$). Clearly, we are interested in the value of $d(log n, 1)$. Also, &#xA;we have that $d(0,0)=1$ and $d(0,j)=0$ for $j&amp;gt;0$; and also $d(t,0)=1$ for $t \geq 0$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For $t, j&amp;gt;0$, the recurrence can be expressed as follows:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$d(t,j)=\sum_{i=0}^{n-1}\binom{n}{i}\big(\frac{j}{n}\big)^i\big(\frac{n-j}{n}\big)^{n-i}d(t-1,i)$ &lt;/p&gt;&#xA;&#xA;&lt;p&gt;But I'm not sure how to solve it.&lt;/p&gt;&#xA;" OwnerUserId="7701" LastEditorUserId="7701" LastEditDate="2014-03-27T02:14:34.057" LastActivityDate="2014-03-27T02:14:34.057" Title="Fast convergence of a contagion process in special graphs" Tags="&lt;reference-request&gt;&lt;randomness&gt;&lt;pr.probability&gt;&lt;markov-chains&gt;" AnswerCount="0" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21755" PostTypeId="1" CreationDate="2014-03-26T06:01:20.707" Score="1" ViewCount="127" Body="&lt;p&gt;Consider a graph $G(V,E)$. For any two vertices $v_1 , v_2 \in V$,  the subgraph induced by the neigbourhood of vertex $v_1$, denoted by $G_{v_1}$ be isomorphic to the subgraph induced by the neigbourhood of veretx $v_2$, denoted by $G_{v_2}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now suppose one can color $G_{v_1}$(and $G_{v_2}$) using $k$ colors. Can one upper-bound the chromatic number of the graph $G$ in terms of $k$ (and other graph &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT 1:&lt;/strong&gt; The motivation behind this question is the fact that the chromatic number is upper bounded by max degree of the graph. Therefore it might happen that if the neighbourhood satisfies certain properties (like densely connected?,lot of cycles of all lengths?), may be one can related its chromatic number of graph $G$ to $k$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Links to related literature will be helpful.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks in advance!&lt;/p&gt;&#xA;" OwnerUserId="16261" LastEditorUserId="16261" LastEditDate="2014-03-27T17:58:18.620" LastActivityDate="2014-03-27T17:58:18.620" Title="Chromatic number of a graph where neighbourhood of each vertex is isomorphic" Tags="&lt;reference-request&gt;&lt;graph-theory&gt;&lt;graph-isomorphism&gt;&lt;graph-colouring&gt;" AnswerCount="0" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="21758" PostTypeId="1" AcceptedAnswerId="21764" CreationDate="2014-03-26T18:56:24.917" Score="3" ViewCount="150" Body="&lt;p&gt;I was enumerating pairs of functions from a size $n$ set into itself, and ran into these three relations which all generate the same integer sequence starting at index zero:  1, 1, 6, 87, 2200, 84245. $$f(f(f(x))) = g(f(x))$$&#xA;$$f(g(x)) = g(x)$$&#xA;$$f(g(x)) = g(g(x))$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is a deep theorem on trees in there but it isn't jumping out at me. Anyone have a reference in the literature?&lt;/p&gt;&#xA;" OwnerUserId="2021" LastActivityDate="2014-03-27T06:32:35.510" Title="A curious Wilf equivalence class of function compositions" Tags="&lt;reference-request&gt;&lt;circuit-complexity&gt;&lt;functional-programming&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21762" PostTypeId="2" ParentId="21608" CreationDate="2014-03-26T22:46:38.630" Score="7" Body="&lt;p&gt;You remark that lower bounds on $Pn(f)$ are closely related to all existing lower bound techniques.  For Boolean functions this seems to be true, as long as the log-rank conjecture is true.&#xA;However, $Pn(f)$ can be exponentially larger than the fooling set bound.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is not clear to me how much $Pn(f)$ and $D(f)$ can differ in the non-Boolean case.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the remainder I make these comments more precise.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;KN (Kushilevitz and Nisan in their 1997 textbook) outline the three basic techniques for Boolean functions: size of a fooling set, size of a monochromatic rectangle, and rank of the communication matrix.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First, fooling sets.&#xA;A fooling set $S$ is monochromatic: there is some $z \in \{0,1\}$ such that $f(x,y) = z$ for every $(x,y)\in S$.&#xA;Some final patching is then needed to take into account the other colour.  This extra step can be avoided.&#xA;Let $f \colon X \times Y \to \{0,1\}$ be a function.&#xA;A pair of distinct elements $(x_1,y_1),(x_2,y_2) \in X \times Y$ is &lt;em&gt;weakly fooling&lt;/em&gt; for $f$ if $f(x_1,y_1) = f(x_2,y_2)$ implies that either $f(x_1,y_2) \ne f(x_1,y_1)$ or $f(x_2,y_1) \ne f(x_1,y_1)$.&#xA;A set $S \subseteq X \times Y$ is a &lt;em&gt;weak fooling set&lt;/em&gt; for $f$ if every distinct pair of elements of $S$ is weakly fooling.&#xA;KN implicitly state after the proof of 1.20 that the log-size of a weak fooling set is a lower bound for the communication complexity.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A largest weak fooling set picks a representative element from each monochromatic rectangle in a smallest disjoint set cover.  The size of a largest weak fooling set is therefore at most as large as (the exponent of) the partition number.&#xA;Unfortunately the bound provided by fooling sets is often weak.&#xA;The proof of KN 1.20 shows that any function mapping each element $s$ of a weak fooling set $S$ to a monochromatic rectangle $R_s$ containing that element is injective.&#xA;However, there can be many monochromatic rectangles $R$ in a smallest disjoint cover that do not appear in the image of $S$, with every element of $R$ weakly fooling with some but not all of the elements of $S$, and so cannot simply be added to $S$.&#xA;In fact Dietzfelbinger, Hromkovič and Schnitger showed (doi:&lt;a href=&quot;http://dx.doi.org/10.1016/S0304-3975(96)00062-X&quot; rel=&quot;nofollow&quot;&gt;10.1016/S0304-3975(96)00062-X&lt;/a&gt;) that for all large enough $n$, at least $1/4$ of all Boolean functions on $n$ variables have $Pn(f) = n$ yet have (weak) fooling sets of log-size $O(\log n)$.&#xA;So the log of the size of a largest (weak) fooling set can be exponentially smaller than the communication complexity.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For rank, establishing a close correspondence between the rank of the matrix of the function and its partition number would establish a form of the log-rank conjecture (depending on the tightness of the correspondence).&#xA;For instance, if there is a constant $a&amp;gt; 0$ such that $Pn(f) \le a\log rk(f)$ for every Boolean function $f$, then $D(f) \le (2a\log rk(f))^2$, and a kind of log-rank conjecture then holds for families of functions for which $rk(f)$ ultimately increases with $|X|+|Y|$, with exponent $2+\epsilon$ for any $\epsilon &amp;gt; 0$ achievable for sufficiently large $|X|+|Y|$.&#xA;(Recall that the Lovász-Saks log-rank conjecture says that there is a constant $c&amp;gt;0$ such that $D(f) \le (\log rk(f))^c$ for every Boolean function $f$; here $rk(f)$ is the rank of the communication matrix of $f$ over the reals.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Similarly, if there is only one quite large monochromatic rectangle together with many small ones, then the partition number gives a stronger bound than the log-size of a largest monochromatic rectangle.&#xA;However, the log-rank conjecture is also equivalent to a conjecture about the size of a largest monochromatic rectangle (Nisan and Wigderson 1995, doi:&lt;a href=&quot;http://dx.doi.org/10.1007/BF01192527&quot; rel=&quot;nofollow&quot;&gt;10.1007/BF01192527&lt;/a&gt;, Theorem 2).  So using monochromatic rectangles is not currently known to be &quot;the same as&quot; using the partition number, but they are closely related if the log-rank conjecture holds.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In summary, the log-size of a largest weak fooling set may be exponentially smaller than the partition number.  There may be gaps between the other lower bound techniques and the partition number, but if the log-rank conjecture holds then these gaps are small.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By using notions of size that extend the usual one (of cardinality), the size of any monochromatic rectangle can be used to generalise fooling sets, and to lower bound the communication complexity (see KN 1.24).  I am not sure how close the generalised largest &quot;size&quot; of any monochromatic rectangle must be to the communication complexity.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In contrast to the above discussion for Boolean functions, for non-Boolean functions the gap between $D(f)$ and $\log rk(f)$ may be exponential.  KN 2.23 gives an example: let $f$ be the function that returns the size of the intersections of the sets represented by the two input characteristic vectors.  For this function, the log-rank is $\log n$.&#xA;Now the set of all pairs of non-intersecting sets has $3^n$ elements.&#xA;As far as I can tell, there can be no monochromatic rectangles larger than this set.  If this is correct, then $D(f) \ge Pn(f) \ge (2 - \log 3)n &amp;gt; 0.4n$, so for this function, $D(f)$, $Pn(f)$, and the log-size of a largest monochromatic rectangle are all within a factor of at most $2.5$ of each other, while being exponentially far from the log rank.&#xA;Hence small separations between $Pn(f)$ and $D(f)$ may be possible in the non-Boolean case, but they are not related in an obvious way to the log-rank of the matrix of $f$.&#xA;I am not aware of any published work discussing how these measures are related in the non-Boolean case.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, Dietzfelbinger et al. also defined an extended fooling set bound, generalising the fooling condition from pairs (&quot;order 1&quot; subsets) to larger subsets of monochromatic elements; the extended fooling condition requires that the submatrix spanned by the monochromatic elements is not monochromatic.&#xA;It is not clear how this behaves as the order of the monochromatic subsets increases, as one has to divide the size of the extended fooling set by the order, and consider the largest value over all orders.&#xA;However, this notion ends up being a close lower bound to $Pn(f)$.&lt;/p&gt;&#xA;" OwnerUserId="109" LastEditorUserId="109" LastEditDate="2015-04-10T14:31:07.870" LastActivityDate="2015-04-10T14:31:07.870" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="21764" PostTypeId="2" ParentId="21758" CreationDate="2014-03-27T00:19:48.810" Score="6" Body="&lt;p&gt;More generally, you can consider the identity&#xA;$$ f(g(x)) = g^{(n)}(x), $$&#xA;which generalizes your identities, in which $n=3,1,2$ (respectively).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For a given function $g$, this identity states that $f$ needs to have given values on $\operatorname{ran} g$, and is free otherwise. The specific value of $n$ doesn't matter, in fact we can put whatever we want on the right-hand side as long as it doesn't involve $f$. Using inclusion-exclusion, you can come up with an explicit formula for the number of solutions, but I'll leave that to you.&lt;/p&gt;&#xA;" OwnerUserId="40" LastActivityDate="2014-03-27T00:19:48.810" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21765" PostTypeId="2" ParentId="16550" CreationDate="2014-03-27T00:39:05.000" Score="1" Body="&lt;p&gt;As stated in &lt;a href=&quot;http://coq.inria.fr/V8.2pl1/refman/Reference-Manual004.html&quot; rel=&quot;nofollow&quot;&gt;Coq Reference Manual&lt;/a&gt; (2.3)&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;in Fixpoint, the decreasing argument must be given (unless the&#xA;  function is not recursive), but it must not necessary be &lt;em&gt;structurally&lt;/em&gt;&#xA;  decreasing.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Key word is &lt;em&gt;structurally&lt;/em&gt;, Coq can't guess, which arguments is decreasing at each step of the recursion.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The reason for this is nicely described in &lt;a href=&quot;http://www.cis.upenn.edu/~bcpierce/sf/Imp.html&quot; rel=&quot;nofollow&quot;&gt;Software Foundations&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Since Coq is not just a functional programming language, but also a&#xA;  consistent logic, any potentially non-terminating function needs to be&#xA;  rejected. Here is an (invalid!) Coq program showing what would go&#xA;  wrong if Coq allowed non-terminating recursive functions:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt; Fixpoint loop_false (n : nat) : False := loop_false n. &#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;  &#xA;  &lt;p&gt;That is, propositions like False would become provable (e.g. loop_false 0 would&#xA;  be a proof of False), which would be a disaster for Coq's logical&#xA;  consistency.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="22215" LastActivityDate="2014-03-27T00:39:05.000" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="21772" PostTypeId="2" ParentId="21720" CreationDate="2014-03-27T13:35:44.073" Score="1" Body="&lt;p&gt;&lt;em&gt;this is too long for a comment, but it's not an answer&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One reformulation of your problem might prove to be useful in terms of finding related work. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that $f$ and $g$ essentially define probability distributions over the $s_i$ and $t_i$. If we treat the $c(e)$ as a &quot;length&quot;, then the mincost flow is basically the earthmover distance between the two distributions $f$ and $g$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now your maximization over $f$ is really saying: find the farthest neighbor to $g$ lying in a box defined over the simplex. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Formulating the problem this way suggests that you want some kind of projection from $g$ to the box. &lt;/p&gt;&#xA;" OwnerUserId="80" LastEditorUserId="80" LastEditDate="2014-03-27T17:46:58.737" LastActivityDate="2014-03-27T17:46:58.737" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21773" PostTypeId="1" AcceptedAnswerId="21796" CreationDate="2014-03-27T14:27:50.447" Score="2" ViewCount="623" Body="&lt;p&gt;For a chordal graph $G$ there is a clique tree such that its vertices corresponds to maximal cliques of $G$ and there is a edge between two vertices iff the intersection of the corresponding cliques are also their minimal vertex separator and for each vertex in the graph the cliques containing it, induces a subtree.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now my questions are:- &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;1.Take a subpath of the tree of length 5 with the property that no&#xA;  vertex has degree more that 2 and intersection of all the maximal&#xA;  cliques is non empty. Does there exist a independent set of&#xA;  atleast size 3 in the subgraph induced by that vertices present in the&#xA;  maximal cliques taken in the path?&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;2.If yes, then is the bound of path length and independent set size tight?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="12280" LastEditorUserId="12280" LastEditDate="2014-03-27T14:37:34.203" LastActivityDate="2014-03-28T19:13:36.347" Title="Chordal Graphs and maximum independent sets" Tags="&lt;graph-theory&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="21775" PostTypeId="2" ParentId="3919" CreationDate="2014-03-27T14:52:12.580" Score="7" Body="&lt;p&gt;The fundamental reason there are such limitations on communication complexity is that there is only ever a linear amount of total information that needs to be communicated (the inputs). Although Hartmut Klauck already essentially pointed this out in his answer, I wanted to highlight an answer to the other OQ regarding the underlying reason for this fundamental limitation, namely, that &lt;strong&gt;the players are computationally unbounded&lt;/strong&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If one would like to consider &quot;higher&quot; communication classes, a natural thing to look at (instead) is combined communication/computational complexity, which people are definitely aware of and has been studied in various guises, but I think hasn't really been systematically studied. For example, in the study of interactive proofs, it is common to consider the effects of the computational limitations of the players, though not quite as common to consider the total number of bits communicated. The latter is more common in studying PCPs, where e.g. a PCP of poly size requiring $d(n)$ queries only needs $O(d(n)\log n)$ bits to be communicated. When $d(n)=O(1)$, I think the converse is also essentially true, so that query complexity in PCPs is closely related to this issue of combined communication/computational complexity.&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2014-03-27T14:52:12.580" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21777" PostTypeId="2" ParentId="20468" CreationDate="2014-03-27T15:59:55.863" Score="0" Body="&lt;p&gt;Some work in progress:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm trying to prove a lower bound of $4^k$. Here is a question that I'm pretty sure would give such a lower bound: find the minimum $t$ such that there exists a function $f:\{S \subseteq [n], |S|=k/2 \} \rightarrow \{0,1\}^t$ that preserves disjointness, i.e. that $S_1 \cap S_2 = \emptyset$ iff $f(S_1) \cap f(S_2) = \emptyset$. I'm pretty sure a lower bound of $t \ge 2k$ would almost immediately imply a lower bound of $2^{2k}=4k$ for our problem. $f(S)$ roughly corresponds to the set of nodes the NFA can get to after reading the first $k/2$ symbols of the input, when the set of these $k/2$ symbols is $S$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think the solution to this question might already be known, either in the communication complexity literature (especially in papers dealing with the disjointness problem; maybe some matrix rank arguments will help), or in literature about encodings (e.g. &lt;a href=&quot;http://ieeexplore.ieee.org/xpl/articleDetails.jsp?arnumber=4787619&quot; rel=&quot;nofollow&quot;&gt;like this&lt;/a&gt;).&lt;/p&gt;&#xA;" OwnerUserId="20830" LastActivityDate="2014-03-27T15:59:55.863" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21778" PostTypeId="1" CreationDate="2014-03-27T16:38:13.483" Score="5" ViewCount="794" Body="&lt;p&gt;Fibonacci heaps have $O(1)$ insertion and $O(\log n)$ delete-min and delete-key (under amortized complexity).  Is there a heap data structure with $O(1)$ insertion and delete-key and $O(\log n)$ delete-min and find-min?  That is, can delete-key be reduced to $O(1)$ at the cost of more expensive other operations such as find-min, meld, and reduce-key?  Here delete-key means remove a particular key given a pointer to that key in the data structure.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This data structure would be necessary to fix my broken answer to this question: &lt;a href=&quot;https://cstheory.stackexchange.com/questions/21730/nontrivial-algorithm-for-computing-a-sliding-window-median/21744#21744&quot;&gt;Nontrivial algorithm for computing a sliding window median&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="13245" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2014-12-02T09:21:59.230" Title="Heap with $O(1)$ delete-key" Tags="&lt;ds.data-structures&gt;&lt;sorting&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="21782" PostTypeId="2" ParentId="2537" CreationDate="2014-03-28T00:07:03.087" Score="2" Body="&lt;p&gt;I'm not sure about the exact connection, but this seems related to the Friedberg-Muchnik theorem (see &lt;a href=&quot;http://en.wikipedia.org/wiki/Turing_degree#Post.27s_problem_and_the_priority_method&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;): there is a r.e. set whose Turing degree is less than the halting problem. This result answered an influential question of Post and led to the introduction of the &quot;priority method&quot; in calculability.&lt;/p&gt;&#xA;" OwnerUserId="17699" LastActivityDate="2014-03-28T00:07:03.087" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21783" PostTypeId="1" CreationDate="2014-03-28T01:12:25.220" Score="0" ViewCount="619" Body="&lt;p&gt;I want to go to grad school in theoretical computer science.&#xA;I don't like programming. &#xA;I am in France.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Should I pursue a bachelors in math or in computer science?&lt;/p&gt;&#xA;" OwnerUserId="22230" LastEditorUserId="186" LastEditDate="2014-03-29T04:56:06.573" LastActivityDate="2014-03-29T04:56:06.573" Title="Mathematics degree for Theoretical Computer Science?" Tags="&lt;soft-question&gt;&lt;advice-request&gt;" AnswerCount="1" CommentCount="9" ClosedDate="2014-03-28T16:45:12.967" ContentLicense="CC BY-SA 3.0" />
  <row Id="21785" PostTypeId="1" AcceptedAnswerId="21795" CreationDate="2014-03-28T15:03:58.777" Score="1" ViewCount="819" Body="&lt;p&gt;There are &lt;em&gt;many&lt;/em&gt; &lt;a href=&quot;http://en.wikipedia.org/wiki/Turing_complete&quot; rel=&quot;nofollow&quot;&gt;Turing complete&lt;/a&gt; computation models and new ones are devised all the time.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;I am looking for Turing-complete computation models based on &lt;em&gt;graphs&lt;/em&gt;?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="4896" LastEditDate="2014-03-28T16:26:04.307" LastActivityDate="2014-04-03T20:52:15.867" Title="Turing-complete computation models on graphs" Tags="&lt;reference-request&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;computability&gt;" AnswerCount="4" CommentCount="7" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="21786" PostTypeId="2" ParentId="21783" CreationDate="2014-03-28T15:18:42.413" Score="4" Body="&lt;p&gt;I would say there is no &quot;one best/most appropriate route&quot; to becoming a theoretical computer scientist, so it is more a matter of your personal tastes, and even what &lt;em&gt;part&lt;/em&gt; of theoretical computer science you are most interested in, &lt;em&gt;which you may not even know yet&lt;/em&gt;. I know of great TCS researchers who started out in pure math, and great TCS researchers who started out in CS or (even!) EE. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;(And by the way, to the commenters: I know plenty of good TCS researchers who more or less abhor programming, and I also know plenty who are not only great programmers, but great software engineers.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Whatever route you take, if you think you are really interested in TCS then you should immerse yourself in it, especially to try to find out which parts of it you are really interested in. Introductory classes on algorithms (many of which are purely theoretical and involve no programming, if you so desire) or the theory of computation are good places to start, and beyond that it is a matter of reading, asking professors for references and pointers, sitting in on introductory TCS grad classes if you have the opportunity, etc. From that point of view, your particular degree doesn't matter so much (unless e.g. if you do a mathematics degree your university would perversely prevent you from taking a course on algorithms or theory of computation).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, it also sounds like it is still so early in your potential research career that it would be healthy to question &lt;em&gt;why&lt;/em&gt; you are interested in TCS (even asking this question can lead you on a path to discovering exactly what parts of TCS you are really interested in, and give you better motivation for your future work), and to expose yourself to plenty of other topics to see if your true interests end up being elsewhere.&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2014-03-28T15:18:42.413" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="21787" PostTypeId="1" AcceptedAnswerId="21822" CreationDate="2014-03-28T16:10:32.947" Score="34" ViewCount="1482" Body="&lt;p&gt;Let&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$L = \{ n : \text{the }n^{th}\text{ binary digit of }\pi\text{ is }1 \}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(where $n$ is thought of as encoded in binary).  Then what can we say about the computational complexity of $L$?  It's clear that $L\in\mathsf{EXP}$.  And if I'm not mistaken, the &lt;a href=&quot;http://numbers.computation.free.fr/Constants/Algorithms/nthdecimaldigit.pdf&quot;&gt;amazing &quot;BBP-type&quot; algorithms&lt;/a&gt; for computing the $n^{th}$ bit of $\pi$ using quasilinear time and $(\log n)^{O(1)}$ memory, without needing to compute the previous bits, yield $L\in\mathsf{PSPACE}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can we do even better, and place $L$ (say) in the counting hierarchy?  In the other direction, is there any hardness result whatsoever for $L$ (even an extremely weak one, like $\mathsf{TC}^0$-hardness)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An interesting related language is&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$L' = \{ \langle x,t\rangle : x\text{ occurs as a substring within the first }t\text{ digits of }\pi \}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(where again, $t$ is written in binary).  We have&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$L' \in \mathsf{NP}^L$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;and hence $L' \in \mathsf{PSPACE}$; I'd be extremely interested if anything better is known.&lt;/p&gt;&#xA;" OwnerUserId="1575" LastActivityDate="2014-04-03T20:23:23.077" Title="Computational complexity of pi" Tags="&lt;cc.complexity-theory&gt;&lt;na.numerical-analysis&gt;" AnswerCount="1" CommentCount="14" FavoriteCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="21788" PostTypeId="2" ParentId="21778" CreationDate="2014-03-28T17:09:09.420" Score="2" Body="&lt;p&gt;To the best of my knowledge, no heap data structure matches your requirements. In terms of complexity, the best one is the &lt;a href=&quot;http://en.wikipedia.org/wiki/Brodal_queue&quot; rel=&quot;nofollow noreferrer&quot;&gt;Brodal queue&lt;/a&gt;, a heap data structure with worst case $O(1)$ time for insertion, find-minimum, meld (merge two queues) and decrease-key, and $O(\log~n)$ for delete-minimum and general deletion. However, this data structure is only of theoretical interest.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you depart from the comparison-based model and adopt the RAM model where keys are regarded as binary strings, each one contained in one or more machine words, the best you can achieve for both insert and delete operations $\mathcal{O}(\sqrt{\log \log n}) $. See my answer to &lt;a href=&quot;https://cs.stackexchange.com/questions/6455/an-efficient-data-structure-supporting-insert-delete-and-mostfrequent/6462#6462&quot;&gt;this question&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="4208" LastEditorUserId="-1" LastEditDate="2017-04-13T12:48:30.830" LastActivityDate="2014-03-29T14:29:55.323" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="21789" PostTypeId="2" ParentId="21785" CreationDate="2014-03-28T17:09:41.090" Score="5" Body="&lt;p&gt;As in my comment, the configuration graph (Chapter 4.1.1. of &lt;a href=&quot;http://www.cs.princeton.edu/theory/index.php/Compbook/Draft&quot; rel=&quot;nofollow&quot;&gt;Arora-Barak&lt;/a&gt;) is a simple way to view a Nondeterministic Turing Machine (NTM) as a graph. The vertices of the graph are labeled by configurations: the internal state of the NTM, the contents of the tape, and head positions. There is a  directed edge from vertex $c_1$ to vertex $c_2$ if the NTM can move from $c_1$ to $c_2$ in one step. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is especially useful for arguing about space-bounded computation. If the space used by the NTM is bounded by $s(n)$, then on input size $n$ you only need to consider a configuration graph with $O(2^{s(n)})$ vertices. Then a lot of complexity results follow from algorithms for directed $s$-$t$ connectivity: Savitch's theorem (NPSPACE = PSPACE) follows from an algorithm that uses $O(\log^2 |V|)$ space, PSPACE in EXP (or, scaling down, L in P) follows from DFS,  etc. Similarly, you can show that directed connectivity is complete for NL under L reductions, so NL is equal to L if and only if there is a logspace algorithm for directed $s$-$t$ connectivity.&lt;/p&gt;&#xA;" OwnerUserId="4896" LastEditorUserId="4896" LastEditDate="2014-03-28T20:27:50.370" LastActivityDate="2014-03-28T20:27:50.370" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21791" PostTypeId="1" CreationDate="2014-03-28T17:54:50.560" Score="0" ViewCount="500" Body="&lt;p&gt;Do there exist polynomial time algorithms that admit Probably Approximately Correct (PAC) bounds for APX-Hard problems? That is, does there exist a problem $P$ that is APX-Hard, such that for every $\epsilon, \delta &amp;gt; 0$, we have an algorithm that runs in polynomial time in $n$ that gives a $1 + \epsilon$ approximation to it with probability $1 - \delta$. Note that the randomness is not dependent on the instance of $P$ given, but some randomness of the algorithm.&lt;/p&gt;&#xA;" OwnerUserId="16013" LastActivityDate="2014-03-31T14:03:50.067" Title="PAC algorithms for APX-Hard problems" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;randomized-algorithms&gt;&lt;apx&gt;" AnswerCount="1" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="21792" PostTypeId="1" AcceptedAnswerId="21801" CreationDate="2014-03-28T18:40:42.373" Score="42" ViewCount="3655" Body="&lt;p&gt;I am a 2nd year graduate student in theory.&#xA;I have been working on a problem for the last year (in graph theory/algorithms).&#xA;Until yesterday I thought I am doing well (I was extending a theorem from a paper).&#xA;Today I realized that I have made a simple mistake. &#xA;I realized that it will be much harder than I thought to do what I intended to do. &#xA;I feel disappointed so much I am thinking about leaving grad school.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is this a common situation that a researchers notices that her idea is not going to work after considerable amount of work?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What do you do when you realized that an approach you had in mind is not going to work and&#xA;the problem seems too difficult to solve?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What advice would you give to a &lt;em&gt;student&lt;/em&gt; in my situation?&lt;/p&gt;&#xA;" OwnerUserId="14028" LastEditorUserId="1590" LastEditDate="2014-03-29T16:16:49.803" LastActivityDate="2016-05-01T14:54:23.560" Title="What do you do when you cannot make progress on the problem you have been working on?" Tags="&lt;soft-question&gt;&lt;research-practice&gt;" AnswerCount="8" CommentCount="11" FavoriteCount="16" ContentLicense="CC BY-SA 3.0" />
  <row Id="21793" PostTypeId="1" CreationDate="2014-03-28T18:43:28.590" Score="1" ViewCount="160" Body="&lt;p&gt;It seems like most constraint satisfaction problems can be posed in terms of SAT. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The question is two fold:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;How can any CSP with quadratic constraints be framed as a&#xA;satisfiability instance&lt;/li&gt;&#xA;&lt;li&gt;Is there an algorithm which performs this&#xA;transformation.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="22236" LastEditorUserId="42362" LastEditDate="2016-09-05T07:24:47.763" LastActivityDate="2016-09-05T07:24:47.763" Title="Encoding quadratic constraints in a constraint satisfaction problem into SAT" Tags="&lt;sat&gt;&lt;csp&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="21794" PostTypeId="2" ParentId="21785" CreationDate="2014-03-28T18:44:54.817" Score="1" Body="&lt;p&gt;Following vzn's comment, you can define a straightforward extension of TMs using graph products. Define a &quot;graph machine&quot; as a tuple $M = (S,T)$ where $S$ is a sets of states, and $T$ is a binary relation over $S \times S$. Fix a graph family $\cal{G}$, and consider the following problem: given a graph $G \in \cal{G}$ and two $S$-labelings $L_1,L_2$ of $G$, does there exist a graph $H \in \cal{G}$ with two distinguished vertices $s,t$ and a $S$-labeling $M$ of $G \times H$ such that:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(i) the restriction of $M$ to $G \times \{s\}$ and $G \times \{t\}$ coincides with $L_1$ and $L_2$ respectively;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(ii) for each &quot;square&quot; of $G \times H$ of the form&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;&lt;pre&gt;&lt;code&gt;(u_1,v_1) - (u_1,v_2)&#xA;    |           |&#xA;(u_2,v_1) - (u_2,v_2)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;with $s_i = M(u_1,v_i)$ and $s'_i = M(u_2,v_i)$, it holds that $(s_1,s_2) T (s'_1,s'_2)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It shouldn't be difficult to show that this problem is Turing-complete when $\cal{G}$ is the class of paths, intuitively you can encode the computation by a grid with &quot;local&quot; rules applied to each square.&lt;/p&gt;&#xA;" OwnerUserId="17699" LastActivityDate="2014-03-28T18:44:54.817" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21795" PostTypeId="2" ParentId="21785" CreationDate="2014-03-28T18:44:55.157" Score="5" Body="&lt;p&gt;Only an extended comment: I only heard about it (and I know almost nothing about it :), but there is a computational model based on &lt;a href=&quot;http://en.wikipedia.org/wiki/Graph_rewriting&quot; rel=&quot;nofollow&quot;&gt;Graph Rewriting&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;From Wikipedia: &quot;... The basic idea is that the state of a computation can be represented as a graph, further steps in that computation can then be represented as transformation rules on that graph. Such rules consist of an original graph, which is to be matched to a subgraph in the complete state, and a replacing graph, which will replace the matched subgraph. ...&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can take a look at: D. L. McBurney and M. R. Sleep. 1991. &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=111305&quot; rel=&quot;nofollow&quot;&gt;Graph Rewriting as a computational model&lt;/a&gt;. In Proceedings of the UK/Japan workshop on Concurrency : theory, language, and architecture: theory, language, and architecture, A. Yonezawa and T. Lto (Eds.). Springer-Verlag New York, Inc., New York, NY, USA, 235-256. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;or this thesis for an introduction: König, Barbara (December 2004). &lt;a href=&quot;http://www.fmi.uni-stuttgart.de/szs/publications/koenigba/habilschrift.pdf&quot; rel=&quot;nofollow&quot;&gt;Analysis and Verification of Systems with Dynamically Evolving Structure&lt;/a&gt;. Habilitation thesis, Universität Stuttgart, pp. 65–180.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But I don't know if it is still an active field of research.&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2014-03-28T21:09:16.277" LastActivityDate="2014-03-28T21:09:16.277" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21796" PostTypeId="2" ParentId="21773" CreationDate="2014-03-28T19:00:53.487" Score="2" Body="&lt;p&gt;There are arbitrarily long sub-path whose induced subgraph contains no three independent vertices.  See the graph below for length 4:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/fabQb.jpg&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Indeed, vertices in a sub-path induces an interval subgraph.  So you can use standard interval models (the endpoints of the interval for a vertex $v$ are the indices of leftmost and rightmost bags that contain $v$) to construct the tight example easily.  The graph given above have intervals:&#xA;[1,1], [1,2], [1,3], [2,4], [3,4],[4,4].  Likewise, you can construct for a subpath of length n: the basic idea is that each interval either starts from 1 or ends at n.&lt;/p&gt;&#xA;" OwnerUserId="7059" LastEditorUserId="7059" LastEditDate="2014-03-28T19:13:36.347" LastActivityDate="2014-03-28T19:13:36.347" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="21799" PostTypeId="1" AcceptedAnswerId="21883" CreationDate="2014-03-28T22:46:28.410" Score="4" ViewCount="185" Body="&lt;p&gt;I work on implementing a simple dependently typed language. I want to implement inductive types there. However, I want them to be well formed. From what I've seen in Coq not all types are acceptable. What can I read about them? Could give a simple enough well-formedness condition which I can use?&lt;/p&gt;&#xA;" OwnerUserId="21833" LastEditorUserId="186" LastEditDate="2014-03-29T04:25:18.587" LastActivityDate="2020-04-30T22:47:40.450" Title="Well-formedness condition for inductive types" Tags="&lt;lo.logic&gt;&lt;pl.programming-languages&gt;&lt;type-theory&gt;&lt;dependent-type&gt;" AnswerCount="2" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21800" PostTypeId="1" AcceptedAnswerId="21862" CreationDate="2014-03-29T00:07:26.293" Score="14" ViewCount="535" Body="&lt;p&gt;It is mentioned in a comment in another &lt;a href=&quot;https://cstheory.stackexchange.com/questions/19133/a-reachability-problem#comment49492_19133&quot;&gt;cstheorySE post&lt;/a&gt; that PSPACE-completeness imply APX-hardness. Can anyone please explain/share a reference for it?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is this &quot;tight&quot;? (i.e., are there PSPACE-complete problems whose optimization problem admits constant factor approximation in poly time?)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What about completeness for some level of PH? Does it imply any approximation hardness?&lt;/p&gt;&#xA;" OwnerUserId="21001" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2014-04-01T11:35:03.770" Title="Does PSPACE-completeness imply approximation hardness?" Tags="&lt;cc.complexity-theory&gt;&lt;approximation-algorithms&gt;&lt;approximation-hardness&gt;&lt;np&gt;&lt;pspace&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21801" PostTypeId="2" ParentId="21792" CreationDate="2014-03-29T08:08:44.263" Score="52" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;Is this a common situation that a researchers notices that her idea is&#xA;  not going to work after considerable amount of work?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Yes. But as you get more experienced, you're able to &quot;fail fast&quot; - learn how to test the idea quickly to see if it passes a 'smell test'. &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What do you do when you realized that an approach you had in mind is&#xA;  not going to work and the problem seems too difficult to solve?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;It depends. Sometimes the best thing to do is put the problem away for a while and work on something else. Sometimes the failure suggests a different question. &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What advice would you give to a student in my situation?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/rLg5o.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2014-03-29T08:08:44.263" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21805" PostTypeId="2" ParentId="21799" CreationDate="2014-03-29T11:46:36.967" Score="6" Body="&lt;p&gt;Inductive types have been studied heavily and many variants exist. A well-known introduction to inductive definitions is&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;P. Aczel, An Introduction to Inductive Definitions&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;which was originally published in the indispensable Handbook of Mathematical Logic, but is now available online stand-alone. An introduction to inductive types is&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;T. Coquand, P. Dybjer, &lt;a href=&quot;http://www.cse.chalmers.se/~peterd/papers/ESSLLI94.pdf&quot;&gt;Inductive Definitions and Type Theory: an Introduction&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The theory of inductive definitions for Coq was first (?) approached in&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;F. Pfenning, C. Paulin-Mohring, &lt;a href=&quot;http://repository.cmu.edu/cgi/viewcontent.cgi?article=2907&amp;amp;context=compsci&quot;&gt;Inductively defined types in the Calculus of Constructions&lt;/a&gt;,&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I don't know to what extend modern Coq has diverged from what's described in that paper. Either way, none of those is easy reading. You're probably better off to look at a Coq manual and copy the well-formedness conditions imposed there.&lt;/p&gt;&#xA;" OwnerUserId="898" LastActivityDate="2014-03-29T11:46:36.967" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21806" PostTypeId="1" CreationDate="2014-03-29T12:13:45.133" Score="5" ViewCount="993" Body="&lt;p&gt;Consider a graph $G$ with max degree $\Delta_G$, min degree $\delta_G$ and average degree $d_G$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is it possible to obtain a subgraph of $G$, say $G'$, such that  $\Delta_{G'} = c_1d_{G}$, $\delta_{G'} = c_2d_{G}$ , where $c_1,c_2$ are constants&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT 1&lt;/strong&gt;: Also the size of the resultant subgraph $G'$ must be constant times the size of original graph $G$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;My attempt :&lt;/strong&gt; &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $X$ be the random variable which denotes the degree of any randomly chosen vertex. Therefore, $d_G = E[X]$. Using markovs's inequality, we have&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$P(X &amp;gt; 3E[X]) &amp;lt; \frac{1}{3} $$&#xA; and &#xA;$$P(X &amp;lt; \frac{E[X]}{3}) = P(\frac{1}{X} &amp;gt; \frac{3}{E[X]}) &amp;lt; \frac{E[\frac{1}{X}]*E[X]}{3} &amp;lt; \frac{1}{3}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Using union bound, we have&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$P(\frac{E[X]}{3} &amp;lt; X &amp;lt; 3E[X]) &amp;gt; 1/3$$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Using the above equation, we can show that there exist $|V|/3$ vertices in $G$ whose degree is between $d_G/3$ and $3d_G$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does the graph obtained by the above $|V|/3$ vertices solve the problem? If not, can we modify the technique to obtain a solution?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks in advance!&lt;/p&gt;&#xA;" OwnerUserId="16261" LastEditorUserId="16261" LastEditDate="2014-03-31T11:08:01.933" LastActivityDate="2014-04-03T20:23:52.983" Title="Subgraph of G whose maximum degree and minimum degree are of the same order" Tags="&lt;graph-theory&gt;&lt;pr.probability&gt;" AnswerCount="2" CommentCount="8" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21807" PostTypeId="1" CreationDate="2014-03-29T12:50:19.157" Score="2" ViewCount="163" Body="&lt;p&gt;We may be able to solve SAT in $c^{\sqrt{n}}$ for $n$ variables and a constant $c$.  Now we can suppose that we require a certain amount of preprocessing to get this result.  For example, in &lt;a href=&quot;https://cstheory.stackexchange.com/a/9656/1549&quot;&gt;this answer&lt;/a&gt;, Ryan Williams points out that we could have a large amount of preprocessing, and SAT in QP (quasi-polynomial) would still be interesting.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So my question is, &lt;strong&gt;if we solve SAT in $c^{\sqrt{n}}$, how much preprocessing can we have and still have an interesting result?&lt;/strong&gt;  In other words, if we had something like $2^{2^n}$ preprocessing, would this remain an interesting result?  &lt;strong&gt;Basically, we would be saying that SAT has $c^{\sqrt{n}}$ sized circuits.&lt;/strong&gt;&lt;/p&gt;&#xA;" OwnerUserId="1549" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.743" LastActivityDate="2014-03-29T20:47:07.933" Title="Is SAT in $c^{\sqrt{n}}$ time with preprocessing worthwhile?" Tags="&lt;cc.complexity-theory&gt;&lt;sat&gt;" AnswerCount="0" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="21808" PostTypeId="2" ParentId="21792" CreationDate="2014-03-29T15:00:12.810" Score="2" Body="&lt;p&gt;The higher quality the scientific research, &lt;em&gt;the harder it is&lt;/em&gt; but also realize that early in ones career, one cannot realistically expect earth-shattering results (and not even later also!) You don't mention how you arrived at the problem you were given. Was it from an advisor? Did you come up with it yourself? If it came from elsewhere it's a lesson on fine-tuning/adjusting your personal discrimination/ parameters/ boundaries. Problem selection is critical. Don't &quot;put all your eggs in one basket&quot;. If you are focused on one topic, look at multiple ways to work on it and multiple open problems in that area. Realize that &lt;em&gt;some problems cannot be solved and a big part of the game is developing a personal intuition on which ones can/can't&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Scientific research is fundamentally &lt;em&gt;about the unknown&lt;/em&gt;. Especially in TCS even experts routinely admit there are vast swathes of important unknown aspects &amp;amp; even admit to personal frustration/disappointment on that. Look at the &quot;big picture&quot;. Despite over a century old, TCS is still a rather young science. In many ways one could build a case and realize that TCS is &lt;em&gt;one of the hardest scientific fields&lt;/em&gt; in existence among all scientific fields.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Try reading books/biographies about the historical greats in the field, they all struggled with serious research hardships and setbacks throughout their careers. We also are very lucky to have a very good picture of most of their lives. As &lt;a href=&quot;http://www.einstein-website.de/z_kids/letterskids.html&quot; rel=&quot;nofollow&quot;&gt;Einstein said&lt;/a&gt; &lt;em&gt;(in a letter to a child, but widely quoted &amp;amp; taken to heart!)&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Do not worry about your problems with mathematics, I assure you that mine are far greater.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;And of course there are highly accomplished experts/leaders who are alive right now and writing or even blogging about their research practices and careers! Blogs give an amazingly candid/ personal/ visceral snapshot of research-in-progress/motion that has never before been seen in scientific history. Again we're very lucky to have blogs and brilliant researchers who are willing to spend substantial time on them (this was not the case years ago and many scientists and professionals were justifiably reluctant to go into blogging). Two standouts in particular in TCS, &lt;a href=&quot;http://rjlipton.wordpress.com/&quot; rel=&quot;nofollow&quot;&gt;RJLipton&lt;/a&gt; and &lt;a href=&quot;http://blog.computationalcomplexity.org/&quot; rel=&quot;nofollow&quot;&gt;Fortnow&lt;/a&gt; blogs which both cover great behind-the-scenes verisimilitude. Another remarkable/inspiring story circulating recently is that of &lt;a href=&quot;http://vzn1.wordpress.com/2013/10/04/zhang-twin-prime-breakthru-vs-academic-trackgrind/&quot; rel=&quot;nofollow&quot;&gt;Zhang&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Make sure to socialize with your academic peers at conferences &amp;amp; elsewhere (even somewhat on the internet if possible). You won't feel so alone, you'll see that struggle is an inherent part of the picture. Research is a fundamentally different activity than what precedes it in education, it's about a difficult/challenging shift from the known to &lt;em&gt;terra incognita&lt;/em&gt;. The old adage written on centuries-old map regions prior to discovery of the &quot;New World&quot; still applies: &lt;em&gt;here there be dragons&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Maybe somewhat synchronistically, here is a neat paper that has been circulating through many scientific blogs lately, it has caused quite an impact/stir, do a search to see all the reactions to it along the lines, &lt;em&gt;&quot;wow isn't it great someone said that, how I've been feeling&quot;&lt;/em&gt;. Also am including some other refs that can be helpful in describing the picture.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://jcs.biologists.org/content/121/11/1771.full&quot; rel=&quot;nofollow&quot;&gt;The importance of stupidity in scientific research&lt;/a&gt; Schwartz. By a biologist but written in a general way such that other scientists from all fields are finding it insightful/compelling.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/B001949X9U&quot; rel=&quot;nofollow&quot;&gt;Idea factory: learning to think at MIT&lt;/a&gt; by grad student White at MIT (mechanical engineering masters). At the end he describes his choice not to do a Phd based on his experiences/challenges.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/B004EHZDE8&quot; rel=&quot;nofollow&quot;&gt;A PhD is not enough: a guide to survival in science&lt;/a&gt; Feibelman. Shows an accurate picture of building a career and how the Phd degree is really just the very beginning. Some describe it as a &quot;union card/ work permit&quot;!&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="7884" LastEditorDisplayName="user30448" LastEditDate="2016-04-29T23:13:51.353" LastActivityDate="2016-04-29T23:13:51.353" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21809" PostTypeId="2" ParentId="20185" CreationDate="2014-03-29T15:04:19.630" Score="6" Body="&lt;p&gt;Well, the problem is in $P$ after all.&#xA;I'll keep the &lt;a href=&quot;https://cstheory.stackexchange.com/questions/20137/subgraph-containing-all-nodes-and-edges-that-are-part-of-length-limited-simple-s/21861#21861&quot;&gt;previous answer&lt;/a&gt; as it also works for the directed case (which is NPC, as answered on the other question), and shows it is $FPT$ with respect to $l$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the undirected case, it is solvable, deterministically via &lt;a href=&quot;http://en.wikipedia.org/wiki/Minimum-cost_flow_problem&quot; rel=&quot;nofollow noreferrer&quot;&gt;minimum cost flow&lt;/a&gt; (this might not work on the scales you are referring to in the question, but its better than exponential algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The following procedure will decide whether some edge $e=(u,v)\in E$ should be a part of the output graph. In order to answer the original problem just loop over all edges.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In order to create the flow network, do as follows:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Step 1:&#xA;Expand $e$ to have a vertex $x_e$ and replace $e$ with the edges $(u,x_e),$$(x_e,u),(v,x_e),(x_e,v)$  (they are directed as a part of the flow network), set their cost to 0.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Step 2: replace every vertex $t$, except for $x_e$ by two vertices $t^-$ and $t^+$, and add an edge $(t^-,t^+)$. Set the cost of these edges to 1.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Step 3: Replace of every edge $\{a,b\}\in E$ with the edges $(a^+,b^-),(b^+,a^-)$. Set the cost of these edges to 0.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Step 4: Add a new vertex $y_e$ and add the edges $(s,y_e),(t,y_e)$ with cost 0.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Step 5: set all capacities to 1.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now run the min cost flow algorithm, searching for a flow of value 2 from $x_e$ to $y_e$.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Analysis:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Every 2-valued flow from $x_e$ to $y_e$ is a union of a path $x_e\leadsto s\to y_e$ and a path $x_e\leadsto t\to y_e$. &lt;/li&gt;&#xA;&lt;li&gt;The paths are disjoint, since for every vertex $t$ there's only 1 capacity in the $(t^-,t^+)$ arc.&lt;/li&gt;&#xA;&lt;li&gt;The returned paths are the two paths whose sum of distances is minimal, and that's also the cost of the found flow. This allows us to add $e$ to the output graph or delete otherwise.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="21001" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2014-04-08T11:43:35.990" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="21810" PostTypeId="2" ParentId="21792" CreationDate="2014-03-29T15:05:58.220" Score="38" Body="&lt;p&gt;This is very common, and certainly frustrating. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is my advice: Don't wait until you have a complete result to start writing. Maintain a TeX document with formal descriptions of your problem, proofs of preliminary lemmas, etc. as you go. It is easy to convince yourself that something is true and overlook simple mistakes if you are holding the argument only in your head, but the process of writing something down formally forces you to find these mistakes. If you wait to write until the end, you might not find the mistake until you have already expended a lot of effort; if you write as you go, you can find the errors more quickly. &lt;/p&gt;&#xA;" OwnerUserId="25" LastActivityDate="2014-03-29T15:05:58.220" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21811" PostTypeId="1" CreationDate="2014-03-29T18:00:31.640" Score="2" ViewCount="92" Body="&lt;p&gt;(This question has been unsuccessfully asked on mathoverflow: &lt;a href=&quot;https://mathoverflow.net/questions/161728/convergence-of-iterated-stochastic-matrices&quot;&gt;https://mathoverflow.net/questions/161728/convergence-of-iterated-stochastic-matrices&lt;/a&gt;)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is well-known that for a stochastic aperiodic matrix $M$,&#xA;the sequence of iterated powers $(M^n)_n$ converges.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here I would like to a have a more precise analysis. Consider now a sequence of stochastic matrices $(M_n)_n$, converging to $A$. We even assume that there exists $0 &amp;lt; \alpha &amp;lt; 1$ such that for all $n$, we have $||M_n - A|| \le \alpha^n$.&#xA;Is it true that $||M_n^n - A^n||$ converges to $0$?&lt;/p&gt;&#xA;" OwnerUserId="22244" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2014-03-29T18:29:04.360" Title="Convergence of iterated stochastic matrices" Tags="&lt;pr.probability&gt;&lt;matrices&gt;" AnswerCount="0" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="21813" PostTypeId="1" CreationDate="2014-03-29T19:33:51.290" Score="2" ViewCount="288" Body="&lt;p&gt;Inspired by this &lt;a href=&quot;https://cstheory.stackexchange.com/a/567/495&quot;&gt;answer&lt;/a&gt; given by Noam, which I think implies (if I understood correctly his answer ) that a set $A \in NP$ if and only if there is polynomial-time computable function $f$ from a strings space $S$ to combinatorial objects in some space $Y$ such that $A$= $\{ a: a=f(x), x \in S \}$. The space $S$ represents the set of all witnesses $x$ of an $NP$ problem $A$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This motivates studying the properties of the space $S$ (of all witnessing strings $x$) for various $NP$ problems. &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there a published work that studies space $S$ for various problems inside $NP$ such as $P$ problems, $NPI$ problems, and $NP$-complete problems?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;UPDATE 9/7/2015:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The following formalism is taken from &lt;a href=&quot;https://books.google.com.sa/books?id=oG6lRcwRqCUC&amp;amp;pg=PA71&amp;amp;dq=%22polynomially+honest%22++%22honest+function%22&amp;amp;hl=en&amp;amp;sa=X&amp;amp;ved=0CCkQ6AEwAmoVChMI9snDzO7kxwIVxH4aCh0A8AjC#v=onepage&amp;amp;q=%22polynomially%20honest%22%20%20%22honest%20function%22&amp;amp;f=false&quot; rel=&quot;nofollow noreferrer&quot;&gt;Theory of computational complexity&lt;/a&gt;;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&quot;A binary relation $R \subseteq\Sigma^* \times \Sigma^*$ is called polynomial honest if there exists a polynomial function $p$ such that $&amp;lt;x,y&amp;gt; \in R$ only if $|x|\le p(|y|)$ and $|y|\le p(|x|)$. A function $f:\Sigma^* \to \Sigma^*$ is polynomially honest  if the relation $\{ &amp;lt;x, f(x)&amp;gt;: x\in \Sigma^*\}$ is polynomial honest. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Therefore, $A \subseteq \Sigma^*$ is in $NP$ if and only if $A=Range(f)$ for some polynomial honest and polynomial time computable function $f$.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, assume that there exists a &lt;em&gt;universal witness set&lt;/em&gt; $W \subseteq \Sigma^*$ such that for every $NP$-complete set $D_i \subseteq \Sigma^*$ there is some polynomially honest and polynomial-time computable function $g_i:W\to \Sigma^*$ such that $D_i=Range(g_i)$.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What are the consequences of existence of a &lt;em&gt;universal witness set&lt;/em&gt; for $NP$? Does it imply $P \ne NP$?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The last question is interesting only when the &lt;em&gt;universal witness set&lt;/em&gt; $W$  is in $P$ (3SAT can be seen as universal witness set but it is not known to be in $P$). &lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2015-09-07T15:55:52.200" Title="Universal witness set for $NP$" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21814" PostTypeId="2" ParentId="20185" CreationDate="2014-03-29T20:05:47.807" Score="1" Body="&lt;p&gt;Here is a &lt;strong&gt;wrong&lt;/strong&gt; answer: it outputs some vertices that are part of non-simple paths from $s$ to $t$ and that are not a part of any simple path from $s$ to $t$ of length $\le \ell$. The answer might still be relevant to the asker's application, so I'm leaving it here.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is an algorithm that runs in time $O(|V|+|E|)$ (and actually is faster than this when $\ell$ is small).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The algorithm runs a BFS search from $s$ that terminates at depth $\ell$. This BFS gives a set $V_s$ of all vertices reachable from $s$ with a path of length at most $\ell$, and it also computes the distances $dist(s,v)$ for each $v \in V_s$. Then I'd do the same from $t$ and get the set $V_t$ and distances from $t$. Finally, the vertices you're looking for are exactly $V_{solution}=\{ v : v \in V_s \cap V_t, dist(s,v)+dist(t,v) \le \ell \}$. The edges are exactly those edges in $E[V_{solution}]$ ($=(v,u) \in E : u,v \in V_{solution}$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The running time of this algorithm is surely $O(|V|+|E|)$ because it just does two BFSs. But the running time is actually $O(|V_s| + |V_t| + |E[V_s]|+|E[V_t]|)$ which will be much smaller than the size of the graph when the $\ell$-radius neighborhoods of $s$ and $t$ are small.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit: there's probably a somewhat faster algorithm in practice that does a BFS from $s$ and $t$ of depth only $\ell/2$ rather than $\ell$. This discovers all the paths, and then with a bit of bookkeeping you can find all the vertices. This cuts the running time by a square root for the case of a large random-looking graph when $\ell$ is small.&lt;/p&gt;&#xA;" OwnerUserId="20830" LastEditorUserId="20830" LastEditDate="2014-04-01T13:22:09.080" LastActivityDate="2014-04-01T13:22:09.080" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="21815" PostTypeId="2" ParentId="21792" CreationDate="2014-03-29T22:10:27.550" Score="3" Body="&lt;ol&gt;&#xA;&lt;li&gt;Don't panic.&lt;/li&gt;&#xA;&lt;li&gt;Take a brief &quot;vacation&quot; from the problem to help clear any anxieties.&lt;/li&gt;&#xA;&lt;li&gt;Read &lt;a href=&quot;http://en.wikipedia.org/wiki/How_to_Solve_It&quot; rel=&quot;nofollow&quot;&gt;How to Solve It&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Decide what will make you happier: retackle the problem or moving on to something new.&lt;/li&gt;&#xA;&lt;li&gt;Whichever #4 fork you choose, remember you can always change your mind later.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="22248" LastActivityDate="2014-03-29T22:10:27.550" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21816" PostTypeId="2" ParentId="21813" CreationDate="2014-03-29T22:42:40.333" Score="4" Body="&lt;p&gt;My answer to the question is that I don't know of published work. However, I've recently been thinking a bit about formalizing what I believe is essentially your question, so I'll try to collect some thoughts in the following &amp;quot;extended comment&amp;quot;, hoping that it will be interesting, useful, or spark productive discussion! (Maybe this is already well-known or studied, in which case I apologize.)&lt;/p&gt;&#xA;&lt;p&gt;Consider the set of all languages on a fixed alphabet; call this the &amp;quot;universe&amp;quot;. In analogy with a topology, we can define a sort of &amp;quot;computational space&amp;quot; as this universe together with a set of languages, i.e. a set of subsets of this universe. In particular &lt;span class=&quot;math-container&quot;&gt;$P$&lt;/span&gt; is the set of languages decidable in polynomial time. I'll think of languages in &lt;span class=&quot;math-container&quot;&gt;$P$&lt;/span&gt; as the analogues of open sets and polytime-computable functions (which will serve mainly as &lt;em&gt;reductions&lt;/em&gt;) as the analogues of continuous functions.&lt;/p&gt;&#xA;&lt;p&gt;Note that &lt;span class=&quot;math-container&quot;&gt;$P$&lt;/span&gt; is closed under complement, finite union, and finite intersection, but not countable union or intersection (breaking the analogy).&lt;/p&gt;&#xA;&lt;p&gt;Now in analogy with continuous functions, consider all &lt;em&gt;polytime&lt;/em&gt; functions: functions &lt;span class=&quot;math-container&quot;&gt;$f: \Sigma^* \to \Sigma^*$&lt;/span&gt; that are computable in polynomial time. You might also want to require that its input and output sizes are polynomially related (&lt;em&gt;i.e.&lt;/em&gt; for some &lt;span class=&quot;math-container&quot;&gt;$p$&lt;/span&gt;, &lt;span class=&quot;math-container&quot;&gt;$|x| \leq p(|f(x)|)$&lt;/span&gt;). This choice could alter the sequel a little, so that's a caveat, but the whole discussion is sub-formal anyway.&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;We can see that the polytime functions satisfy the following property: &lt;span class=&quot;math-container&quot;&gt;$B \in P \implies f^{-1}(B) \in P$&lt;/span&gt;. We would like the following to be true: They are the only such &amp;quot;continuous&amp;quot; functions (note that output-size-messiness comes in when attempting to prove this converse). I don't know if it's true and it might even be equivalent to a very hard problem.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;We can also see that a language &lt;span class=&quot;math-container&quot;&gt;$B$&lt;/span&gt; is in NP if and only if it is the polytime image of a language in &lt;span class=&quot;math-container&quot;&gt;$P$&lt;/span&gt;, that is, there exists &lt;span class=&quot;math-container&quot;&gt;$A \in P$&lt;/span&gt; and polytime &lt;span class=&quot;math-container&quot;&gt;$f$&lt;/span&gt; with &lt;span class=&quot;math-container&quot;&gt;$f(A) = B$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Sketch: If &lt;span class=&quot;math-container&quot;&gt;$A \in P$&lt;/span&gt;, then to decide the language &lt;span class=&quot;math-container&quot;&gt;$f(A)$&lt;/span&gt; in nondeterministic polynomial time, given &lt;span class=&quot;math-container&quot;&gt;$y$&lt;/span&gt;, guess &lt;span class=&quot;math-container&quot;&gt;$x$&lt;/span&gt; and accept iff &lt;span class=&quot;math-container&quot;&gt;$f(x)=y$&lt;/span&gt;. On the other hand, if &lt;span class=&quot;math-container&quot;&gt;$B$&lt;/span&gt; is in NP, let &lt;span class=&quot;math-container&quot;&gt;$A = \{(x,w) : x \in B \text{ and $w$ is an NP certificate for $x$}\}$&lt;/span&gt;. &lt;span class=&quot;math-container&quot;&gt;$A$&lt;/span&gt; is decidable in polynomial time and the polytime function &lt;span class=&quot;math-container&quot;&gt;$f$&lt;/span&gt; that projects onto the first element of the pair satisfies &lt;span class=&quot;math-container&quot;&gt;$f(A) = B$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Therefore, we can notice that &lt;span class=&quot;math-container&quot;&gt;$P = NP$&lt;/span&gt; if and only if &lt;span class=&quot;math-container&quot;&gt;$P$&lt;/span&gt; is closed under these polytime mappings, i.e. for all &lt;span class=&quot;math-container&quot;&gt;$A \in P$&lt;/span&gt; and polytime &lt;span class=&quot;math-container&quot;&gt;$f$&lt;/span&gt;, &lt;span class=&quot;math-container&quot;&gt;$f(A) \in P$&lt;/span&gt;. The analogous statement in topology would be &amp;quot;all continuous mappings are open mappings&amp;quot;.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;We can see that an NP-complete set &lt;span class=&quot;math-container&quot;&gt;$B$&lt;/span&gt; has the property that, for &lt;em&gt;every&lt;/em&gt; &lt;span class=&quot;math-container&quot;&gt;$A \in P$&lt;/span&gt;, there exists a polytime &lt;span class=&quot;math-container&quot;&gt;$f$&lt;/span&gt; with &lt;span class=&quot;math-container&quot;&gt;$f^{-1}(B) = A$&lt;/span&gt;. If &lt;span class=&quot;math-container&quot;&gt;$P \neq NP$&lt;/span&gt;, then an NP-intermediate set &lt;span class=&quot;math-container&quot;&gt;$C$&lt;/span&gt; would therefore satisfy that there is some &lt;span class=&quot;math-container&quot;&gt;$A \in P$&lt;/span&gt; with, for every polytime &lt;span class=&quot;math-container&quot;&gt;$f$&lt;/span&gt;, &lt;span class=&quot;math-container&quot;&gt;$f^{-1}(C) \neq A$&lt;/span&gt;; and also that it is not decidable in polynomial time, so there is no &lt;span class=&quot;math-container&quot;&gt;$A \in P$&lt;/span&gt; and polytime &lt;span class=&quot;math-container&quot;&gt;$f$&lt;/span&gt; with &lt;span class=&quot;math-container&quot;&gt;$f^{-1}(A) = C$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;There seem to be lots of sort-of interesting statements we can make, though their novelty/usefulness is probably dubious. For instance, I think something like this is true: &amp;quot;&lt;span class=&quot;math-container&quot;&gt;$P = NP$&lt;/span&gt; if and only if every polytime mapping can be preimaged in polynomial time&amp;quot;, (the analogy is that &amp;quot;every continuous function has a continuous inverse&amp;quot;).&lt;/p&gt;&#xA;&lt;p&gt;Similarly, you could probably translate lots of complexity statements into this framework but with again dubious utility. For instance, one-way functions (although I haven't thought about randomized algorithms...that could be quite interesting).&lt;/p&gt;&#xA;&lt;p&gt;Final notes: I think the most interesting thing about this framework is that it seems not to relativize. One might of course think about other interesting complexity classes than &lt;span class=&quot;math-container&quot;&gt;$P$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$NP$&lt;/span&gt;; one might also think of e.g. &lt;span class=&quot;math-container&quot;&gt;$DTIME(g(n))$&lt;/span&gt; for a specific &lt;span class=&quot;math-container&quot;&gt;$g$&lt;/span&gt;; I'm not sure if that's interesting.&lt;/p&gt;&#xA;" OwnerUserId="8243" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2014-03-30T05:54:31.170" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21817" PostTypeId="2" ParentId="21806" CreationDate="2014-03-29T23:05:47.097" Score="1" Body="&lt;p&gt;If you want to find an &lt;strong&gt;induced&lt;/strong&gt; subgraph of &quot;sufficient size&quot; i.e not of constant size, then this is not possible. Consider the star $K_{1, n}$, which has average degree $2-1/n$.  Take any subset of the vertices. &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;if the subset contains the central node, then the max degree equals the size of the subset. If this subset is more than a constant size, then it violates your condition.&lt;/li&gt;&#xA;&lt;li&gt;if the subset does not contain the central node then the max degree is zero, which again violates your condition.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="80" LastActivityDate="2014-03-29T23:05:47.097" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="21820" PostTypeId="2" ParentId="21792" CreationDate="2014-03-30T08:51:52.953" Score="3" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;What do you do when you cannot make progress on the problem you have&#xA;  been working on?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I go for a walk in the woods, or focus on something else for a while, and come back to the problem later.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is this a common situation that a researchers notices that her idea is&#xA;  not going to work after considerable amount of work?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Yes.  But as the accepted answer says, learn to test early and fail fast.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What do you do when you realized that an approach you had in mind is&#xA;  not going to work and the problem seems too difficult to solve?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Talk to others about your work.  Get suggestions from them for other approaches you could pursue.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Primarily: talk to your supervisor, other lecturers, and peers in your department.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But beyond that, there are lots of other places to ask questions: newsgroups, mailing lists, web forums, and of course stackexchange sites.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What advice would you give to a student in my situation?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Learn from your mistake, so that you won't make a similar mistake in the future.  Also share what you have learned with others, so they won't do the same!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am sure it is very disappointing to be in this situation, but be encouraged by the knowledge that lots of other researchers have been here too, and have gone on to make progress with the problem.  Good luck to you!&lt;/p&gt;&#xA;" OwnerUserId="22255" LastActivityDate="2014-03-30T08:51:52.953" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21821" PostTypeId="1" AcceptedAnswerId="21825" CreationDate="2014-03-30T09:12:28.917" Score="6" ViewCount="1740" Body="&lt;p&gt;I would like to compare two languages which are from different programming paradigms. Both langauges are object oriented languages, but one of them a multiparadigm language because it supports functional programming style as well.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I wrote some example codes in imperative style and functional style which are absolutely different in syntax but equivalent in semantics.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have some experiences about operational semantics, the WHILE language and so on from my university studies and I was wondering how I could give a formal definiton about semantic equivalence of an imperative and a functional language.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I was looking for a clear and nice article about this topic on google scholar but i have not found any useful yet.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks for helping! &lt;/p&gt;&#xA;" OwnerUserId="22256" LastEditorUserId="2185" LastEditDate="2014-04-02T13:45:00.383" LastActivityDate="2014-04-02T13:45:00.383" Title="How can I prove formally semantic equivalence of programming languages?" Tags="&lt;reference-request&gt;&lt;pl.programming-languages&gt;&lt;semantics&gt;&lt;equivalence&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="21822" PostTypeId="2" ParentId="21787" CreationDate="2014-03-30T09:49:03.943" Score="27" Body="&lt;p&gt;OK, James Lee has pointed me to &lt;a href=&quot;http://arxiv.org/pdf/1112.4295v1.pdf&quot;&gt;this 2011 paper&lt;/a&gt; by Samir Datta and Rameshwar Pratap, which proves that my language $L$ (encoding the digits of $\pi$) is in the fourth level of the counting hierarchy ($\mathsf{PH}^{\mathsf{PP}^{\mathsf{PP}^{\mathsf{PP}}}}$; thanks to SamiD below for pointing out a missing $\mathsf{PP}$ in the paper, which I'd simply repeated in my answer!).  The paper also explicitly discusses my question of &lt;i&gt;lower&lt;/i&gt; bounds on the complexity of computing the binary digits of irrational numbers, though it only manages to prove a very weak lower bound for computing the binary digits of &lt;i&gt;rational&lt;/i&gt; numbers.  This is exactly what I was looking for.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;b&gt;Update (April 3):&lt;/b&gt; An amusing consequence of the digits of $\pi$ being computable in the counting hierarchy is as follows.  Suppose that $\pi$ is a normal number (whose binary expansion converges quickly to &quot;effectively random&quot;), and suppose that $\mathsf{P} = \mathsf{PP}$ (with the simulation involving only a small polynomial overhead).  Then it would be feasible to program your computer to find, for example, the first occurrence of the complete works of Shakespeare in the binary expansion of $\pi$.  If that sounds absurd to you, then maybe it should be taken as additional evidence that $\mathsf{P} \ne \mathsf{PP}$. :-)&lt;/p&gt;&#xA;" OwnerUserId="1575" LastEditorUserId="1575" LastEditDate="2014-04-03T20:23:23.077" LastActivityDate="2014-04-03T20:23:23.077" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="21823" PostTypeId="2" ParentId="21792" CreationDate="2014-03-30T10:02:46.647" Score="7" Body="&lt;p&gt;There are some nice answers by others. I just want to add a few points:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Don't panic! Usually, you expect to be graduated sooner than the average students because you think that you are smarter than most of them. Fast graduation doesn't mean you are better than others. Longer graduation time doesn't mean you are weaker that others. You are working on totally different problems. In some areas of computer science, this is enough to do a couple of experiment and write down the result, whatever it is, as a thesis. This is not true about the theory of CS.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Describe your problem and what you know about it in details to others. Ever if the audiences are not experts in your area, they may ask questions that turns on a light in your mind. Describing your problem forms a better understanding for yourself.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Attend various seminars, conferences, and courses, even if they look unrelated to your topic. Read related papers frequently. They will give you new ideas and clues to tackle the problem. Sometimes, it is difficult or impossible to solve the problem with the tools/methods that you have in mind. You need to find a new tool or idea to solve it.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Try to solve a simpler version of your problem first. Add new assumptions to simplify your problem or consider a special case. Once you solved the special case of the problem, you can relax the assumption or generalize the problem.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;If you think that a portion of the problem is solvable, but you couldn't solve it, concentrate on that portion. Go to the library or somewhere that nobody disturbs you. Close your laptop. Turn off your cell phone. Focus on the problem for a few hours. Try it for a few times.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="4264" LastEditorUserId="4264" LastEditDate="2014-03-30T10:10:19.650" LastActivityDate="2014-03-30T10:10:19.650" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21825" PostTypeId="2" ParentId="21821" CreationDate="2014-03-30T11:18:37.333" Score="13" Body="&lt;p&gt;Comparing two programming languages is difficult  is a difficult&#xA;problem, and far from being solved. The key issue is that there are many different ways languages can be compared, and none of them is compelling. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The most widely used approach, coming from logic, is to &#xA;consider translations between the languages to be compared.&#xA;The general&#xA;idea is as follows:  if we &#xA;have a translation into from $L_1$ into $L_2$, say, then &#xA;$L_2$ is at least as expressive as $L_1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Unfortunately, things are not quite that easy. &#xA;By the &lt;a href=&quot;http://en.wikipedia.org/wiki/Church%E2%80%93Turing_thesis%E2%80%8E&quot;&gt;Church-Turing thesis&lt;/a&gt; you know that you can &#xA;always find such translations&#xA;(for Turing-complete languages). So the very existence of&#xA;translations is not discreminating enough to distinguish&#xA;programming languages. And yet, everybody who has programmed in&#xA;different languages (e.g. Assembler vs Scala) knows that some&#xA;languages are easier to program than others. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This conundrum is&#xA;usually approached by putting &lt;strong&gt;restrictions&lt;/strong&gt; on what counts as a&#xA;translation functions. The idea here is  that the translation functions&#xA;'measure' how much 'rearrangement' is necessary when translating&#xA;from one language to the other: the more 'rearrangement'&#xA;required, the less expressive the target language. Restrictions&#xA;on translations control what kind of 'rearrangement' we consider.&#xA;If we can show that&#xA;no translation exists that satisfies a bunch of restrictions, then&#xA;the languages are substantially different in expressivity.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In this sense e.g. the $\pi$-calculus is very expressive because&#xA;we can often find translations meeting various restrictions when&#xA;translating from a language $L$ into the $\pi$-calculus. Conversely, &#xA;purely functional languages are not so expressive, because when we&#xA;translate $L$ into a purely functional language, the translation functions&#xA;often violate various constraints.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is a far from exhausting list of popular restrictions&#xA;for this purpose:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;The translation should preserve &lt;strong&gt;termination&lt;/strong&gt;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The translation should preserve the structure of&#xA;programs (mathematically: translation should be a&#xA;homomorphism): $$trans(f(P_1, ..., P_n)) = trans(f)(trans(P_1),&#xA;  ..., trans(P_n)).$$ This constraint is usually referred to as&#xA;&lt;strong&gt;compositionality&lt;/strong&gt; of the translation.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;While compositionality can often not be achieved when we try to&#xA;compare very different languages $L_1$ and $L_2$, A weaker form&#xA;almost always holds: (simplifying a bit) there is a fixed&#xA;program $Q$ for each constructor $f$ such that $$trans(f(P_1, ..., P_n)) = trans(f)(Q,&#xA;  trans(P_1), ..., trans(P_n)).$$ I like to call this&#xA;&lt;strong&gt;compositionality-up-to-OS&lt;/strong&gt;, because the fixed program $Q$ acts&#xA;like an operating system.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The translation should preserve the (asymptotic space or time)&#xA;&lt;strong&gt;complexity&lt;/strong&gt; of programs. (The Slot and van Emde Boas thesis says&#xA;that polynomial-time translations are always possible, so we&#xA;might need finer distinctions than preservation of run-time up&#xA;to a polynomial factor.) The theory of NP-completeness can be&#xA;seen in this light.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The translation should exhibit &lt;strong&gt;operational correspondence&lt;/strong&gt;: We&#xA;say an encoding $trans(.)$ is operationally corresponding if it is&#xA;Whenever $P →^* Q$ then $trans(P) →^*≈ trans(Q)$. Moreover, whenever $trans(P) →^* Q$ then there is $P'$ such that $P&#xA;  →^* P'$ and $Q →^*≈ trans(P')$. Here ≈ is the chosen notion of program &#xA;equality in the target language.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Divergence reflection&lt;/strong&gt;: this means that whenever $trans(P)$ diverges, then so does $P$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Success sensitiveness&lt;/strong&gt;: Given a criterion of program&#xA;success (e.g. the ability of output a chosen value) on both&#xA;source and target, an encoding $trans(.)$ is success sensitive if $P$&#xA;is successful if and only iff $trans(P)$ is successful.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Full abstraction&lt;/strong&gt;, we want $P \simeq_1 Q$ iff $trans(P) \simeq_2 trans(Q)$,&#xA;where $\simeq_1$ is the chosen notion of program equality in the source language&#xA;of the translation and $\simeq_2$ does that job in the target.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Preservation of &lt;strong&gt;program size&lt;/strong&gt;:  the translation should not lead to substantial&#xA;increases in program size.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Name invariance&lt;/strong&gt;: each program has a finite number of&#xA;'interaction points' that the outside can use to interact with&#xA;the program, e.g. free variables.  We can require that&#xA;encodings commut with injective renamings of 'interaction&#xA;points'.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The relationships between those criteria, like the whole field&#xA;of programming language expressiveness, is ill-understood.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A pioneering paper in the study of programming language expressiveness is&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;M. Felleisen, &lt;a href=&quot;http://www.ccs.neu.edu/racket/pubs/scp91-felleisen.ps.gz%E2%80%8E&quot;&gt;On the Expressive Power of Programming Languages.&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;where key concepts from logic, such as conservative extension of&#xA;theories are generalised to programming languages.&lt;/p&gt;&#xA;" OwnerUserId="898" LastEditorUserId="898" LastEditDate="2014-03-31T08:03:07.767" LastActivityDate="2014-03-31T08:03:07.767" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="21826" PostTypeId="1" CreationDate="2014-03-30T12:12:51.407" Score="5" ViewCount="125" Body="&lt;p&gt;I'm reading some lecture notes saying that “&lt;code&gt;fix&lt;/code&gt; cannot be defined in the simply typed lambda-calculus” and that “&lt;em&gt;no&lt;/em&gt; expression that can lead to non-terminating computations can be typed using only simple types.”&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm sure more of this will be covered later, but it left me curious: What is needed in a type system to support defining &lt;code&gt;fix&lt;/code&gt;? I.e., how can I simply type (in Haskell): &lt;code&gt;fix f = let x = f x in x&lt;/code&gt; and get the type &lt;code&gt;(a → a) → a&lt;/code&gt;? Also, is this related to needing to write &lt;code&gt;let rec&lt;/code&gt; in ML/F#?&lt;/p&gt;&#xA;" OwnerUserId="16797" LastEditorUserId="16797" LastEditDate="2014-04-07T10:19:35.647" LastActivityDate="2014-04-07T10:19:35.647" Title="Extending simple types to allow `fix`" Tags="&lt;type-theory&gt;&lt;type-systems&gt;&lt;recursion&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21827" PostTypeId="1" CreationDate="2014-03-30T13:05:03.863" Score="2" ViewCount="305" Body="&lt;p&gt;Consider the following problem. We are given a set of words $W \subseteq \Sigma^*$ and a set of sentences $S \subseteq W^*$. The &quot;ambiguous parsing&quot; problem consists, given a word $w \in \Sigma^*$, to enumerate the sentences $s \in S$ that parse to $w$ (meaning that $s$ consists of the letters $w_1,\ldots,w_k$ and $w$ is the concatenation of the corresponding words).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem has an interesting variant which is the search of &lt;a href=&quot;http://www.fun-with-words.com/spoon_example.html&quot; rel=&quot;nofollow&quot;&gt;spoonerisms&lt;/a&gt;: we now allow some number $M$ of letters swap, and we want to enumerate the valid sentences obtainable from $w$ with at most $M$ swaps.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So my question is: under what condition on the language $S$ can the above  problem be solved in linear time? By this I mean time $O(|W|+|S|+|w|+c)$ where $c$ is the number of solutions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(NOTE ADDED: in response to the comments below, the vocabulary $W$ is assumed to be finite, and the set $S$ can be infinite but &quot;finitely described&quot; by some device $\Delta_S$. As we can report all meaningful subwords of $w$ in $O(|w|)$ time, it may be possible to reduce my question to the enumeration of the accepting paths of a non-deterministic automaton or the derivations of an ambiguous grammar. What I am looking for is restricted models that allow a linear or amortized-constant delay enumeration of the parsings.)&lt;/p&gt;&#xA;" OwnerUserId="17699" LastEditorUserId="17699" LastEditDate="2014-04-17T10:54:28.727" LastActivityDate="2014-07-16T11:47:25.377" Title="Complexity of ambiguous parsing?" Tags="&lt;string-matching&gt;" AnswerCount="3" CommentCount="10" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21828" PostTypeId="2" ParentId="21826" CreationDate="2014-03-30T14:00:24.320" Score="9" Body="&lt;p&gt;If you want to include a fixpoint combinator in the language, you don't need to change anything to the syntax of types or the rules to type existing expressions. All it takes is adding one constant, a rule to type it and a rule to reduce expressions containing it:&#xA;$$&#xA;  \dfrac{}{\mathsf{fix} : (\tau \rightarrow \tau) \rightarrow \tau} \qquad&#xA;  \mathsf{fix} \, f \to f (\mathsf{fix} f)&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you want to be able to define a fixpoint combinator in terms of the core lambda-calculus syntax, that's a different matter. There are a lot of type systems, some of them allowing arbitrary recursion, some of them not. There isn't a simple way of telling by looking at a type system whether it allows arbitrary recursion. For example, some very sophisticated type systems (e.g. the &lt;a href=&quot;https://en.wikipedia.org/wiki/Calculus_of_constructions&quot; rel=&quot;nofollow noreferrer&quot;&gt;calculus of inductive constructions&lt;/a&gt; which &lt;a href=&quot;https://en.wikipedia.org/wiki/Coq&quot; rel=&quot;nofollow noreferrer&quot;&gt;Coq&lt;/a&gt; is based on) include a $\mathsf{fix}$ combinator with a typing rule that limits the types at which it can be used in such a way that only terminating functions can be defined. Here are a few ways arbitrary recursion can be added to a typed lambda calculus:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Intersection types: they allow any lambda-term to be typed, in a way that you can read from the type whether the term is strongly normalizing and whether it has a normal form. See &lt;a href=&quot;https://cs.stackexchange.com/questions/2638/does-there-exist-a-turing-complete-typed-lambda-calculus/2639#2639&quot;&gt;Does there exist a Turing complete typed lambda calculus?&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;If you add (sufficient) recursion to the type language, this &lt;a href=&quot;http://en.wikipedia.org/wiki/Fixed_point_combinator#Type_for_the_Y_combinator&quot; rel=&quot;nofollow noreferrer&quot;&gt;adds recursion to the term language as well&lt;/a&gt;. In ML, this leads to a recursive function definition without using &lt;code&gt;let rec&lt;/code&gt;, by relying instead on a type definition of the form &lt;code&gt;type t = Constructor of (t -&amp;gt; …)&lt;/code&gt;.&lt;/li&gt;&#xA;&lt;li&gt;The typing rules for ML-like languages are based on defining a typing rule for &lt;code&gt;let rec&lt;/code&gt; that allows the variable to be used in its own definition. This makes &lt;code&gt;let rec&lt;/code&gt; not syntactic sugar for a lambda-expression, unlike plain &lt;code&gt;let&lt;/code&gt;.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;The need to write &lt;code&gt;let rec&lt;/code&gt; in ML is unrelated, or at least only loosely related, to the type theory. Here are a few reasons to annotate recursive definitions differently:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;ML started out as the metalanguage for a theorem prover, and the designers may have felt that it was best programming practice to explicitly mention the use of unbounded recursion (which has the potential to make the proof building process not terminate).&lt;/li&gt;&#xA;&lt;li&gt;Having the &lt;code&gt;rec&lt;/code&gt; indication can make compiler design and type theory design slightly simpler, because there are cases where &lt;code&gt;let&lt;/code&gt; can have a more generalizable type than &lt;code&gt;let rec&lt;/code&gt;, and different kinds of terms that can or cannot be defined recursively.&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;There are cases where it's useful in programs to have a non-recursive &lt;code&gt;let&lt;/code&gt;, which defines a new variable of the same name as an existing one: when an object undergoes a series of transformation, but they're intuitively different stages of the same object.&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;let widget = read_widget_source () in&#xA;let widget = parse_widget widget in&#xA;let widget = compile_widget widget in&#xA;execute_widget widget&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="634" LastEditorUserId="-1" LastEditDate="2017-04-13T12:48:30.830" LastActivityDate="2014-03-30T19:37:50.800" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21830" PostTypeId="2" ParentId="21827" CreationDate="2014-03-30T20:01:30.650" Score="0" Body="&lt;p&gt;Here is one algorithm. It runs in time at most $O(|S|*|w| + c)$, and probably runs much faster for many inputs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We create a directed graph $G$. The graph $G$ has a vertex $(s,i,j)$ for any $s \in S$ and any indices $i,j$ such that $s=w[i..j]$. Then the graph has a directed edge from $(s,i,j)$ to $(s',i',j')$ whenever $i'=j+1$. Finally, the graph has two additional vertices, a source and a sink. There is a directed edge from the source to any vertex of the form $(s,0,j)$ and from any vertex of the form $(s,0,|w|)$ to the sink.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now notice that the directed paths from the source of the sink correspond exactly to the parsings of $w$. So it's enough to enumerate all (source,sink)-paths in $G$, which can be done in time $O(|G'|+c)$. Note that the graph $G$ kind of represents all the parsings, so for many applications you wouldn't even have to enumerate them explicitly.&lt;/p&gt;&#xA;" OwnerUserId="20830" LastActivityDate="2014-03-30T20:01:30.650" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="21831" PostTypeId="1" AcceptedAnswerId="21839" CreationDate="2014-03-30T21:50:19.840" Score="3" ViewCount="214" Body="&lt;p&gt;In Ulf Norell's thesis he mentions that Agda is based on Luo's UTT. However, I can't find a way to use Prop there. Is there any way to do so? &lt;/p&gt;&#xA;" OwnerUserId="21833" LastActivityDate="2014-04-01T21:59:20.683" Title="How to use Prop from UTT in Agda" Tags="&lt;lo.logic&gt;&lt;dependent-type&gt;" AnswerCount="2" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21832" PostTypeId="1" AcceptedAnswerId="21841" CreationDate="2014-03-30T21:56:11.747" Score="5" ViewCount="520" Body="&lt;p&gt;I want to learn more about Calculus of Inductive Constructions. What can you recommend to read on this topic? All the materials which I found are either in French or too basic (the Coq'Art book).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The thing I am interested the most are not definitions but the proofs of important properties.&lt;/p&gt;&#xA;" OwnerUserId="21833" LastEditorUserId="21833" LastEditDate="2014-03-31T03:15:14.313" LastActivityDate="2019-08-26T08:40:21.333" Title="Good description of Calculus of Inductive Construction" Tags="&lt;lo.logic&gt;&lt;dependent-type&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="21833" PostTypeId="2" ParentId="21791" CreationDate="2014-03-31T02:43:35.323" Score="4" Body="&lt;p&gt;If you had an approximation algorithm for an APX-hard problem which for any $\epsilon, \delta &amp;gt;0$ runs in polynomial time and approximates the problem within a factor of $1+\epsilon$ with probability $1-\delta$, then $\mathsf{NP} \subseteq \mathsf{BPP}$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The reasoning is very similar to &lt;a href=&quot;https://cstheory.stackexchange.com/a/21702/4896&quot;&gt;Chandra's answer&lt;/a&gt; to another question. APX-hardness for a problem $P$ implies that there is a &lt;a href=&quot;http://www.nada.kth.se/~viggo/wwwcompendium/node5.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;PTAS reduction&lt;/a&gt; from instances of MaxSAT to instances of $P$: for every $\epsilon$, approximating Max3SAT to within a factor of $1+\epsilon$ is polynomial-time reducible to approximating $P$ to within a factor of $1 + c(\epsilon)$. By the PCP theorem, there is a constant $\epsilon_0$ such that the promise problem of distinguishing between satisfiable 3SAT instances and instances where at most a $1-\epsilon_0$ fraction of the constraints can be satisfied is NP-hard (in fact $\epsilon_0$ can be taken arbitrarily close to $1/8$, which is tight). Call this NP-hard promise problem $\text{Gap3SAT}(1, 1-\epsilon_0)$. The PTAS reduction from Max3SAT to $P$ with small enough $\epsilon$ (i.e. $\epsilon &amp;lt; \frac{\epsilon_0}{1-\epsilon_0}$), together with the algorithm with &quot;PAC guarantees&quot;, give a BPP algorithm for $\text{Gap3SAT}(1, 1-\epsilon_0)$, which implies a BPP algorithm for any problem in NP. &lt;/p&gt;&#xA;" OwnerUserId="4896" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2014-03-31T14:03:50.067" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21836" PostTypeId="1" AcceptedAnswerId="21838" CreationDate="2014-03-31T03:13:16.880" Score="39" ViewCount="5208" Body="&lt;p&gt;Coq has a type Prop of proof irrelevant propositions which are discarded during extraction. What are the reason for having this if we use Coq only for proofs. Prop is impredicative, &lt;s&gt;so Prop : Prop,&lt;/s&gt; however, Coq automatically infers universe indexes and we can use Type(i) instead everywhere. It seems Prop complicates everything a lot.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I read that there're philosophical reasons for separating Set and Prop in Luo's book, however, I didn't find them in the book. What are they?&lt;/p&gt;&#xA;" OwnerUserId="21833" LastEditorUserId="3984" LastEditDate="2015-09-14T13:41:51.673" LastActivityDate="2021-04-09T10:48:15.487" Title="Why does Coq have Prop?" Tags="&lt;coq&gt;&lt;dependent-type&gt;" AnswerCount="4" CommentCount="1" FavoriteCount="20" ContentLicense="CC BY-SA 3.0" />
  <row Id="21838" PostTypeId="2" ParentId="21836" CreationDate="2014-03-31T05:07:13.747" Score="38" Body="&lt;p&gt;$\mathtt{Prop}$ is very useful for program extraction because it allows us to delete parts of code that are useless. For example, to extract a sorting algorithm we would prove the statement &quot;for every list $\ell$ there is a list $k$ such that $k$ is ordered and $k$ is a permutatiom of $\ell$&quot;. If we write this down in Coq and extract without using $\mathtt{Prop}$, we will get:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&quot;for all $\ell$ there is $k$&quot; will give us a map &lt;code&gt;sort&lt;/code&gt; which takes lists to lists,&lt;/li&gt;&#xA;&lt;li&gt;&quot;such that $k$ is ordered&quot; will give a funciton &lt;code&gt;verify&lt;/code&gt; which runs through $k$ and checks that it is sorted, and&lt;/li&gt;&#xA;&lt;li&gt;&quot;$k$ is a permutation of $\ell$&quot; will give a permutation &lt;code&gt;pi&lt;/code&gt; which takes $\ell$ to $k$. Note that &lt;code&gt;pi&lt;/code&gt; is not just a mapping, but also the inverse mapping together with programs verifying that the two maps really are inverses.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;While the extra stuff is not totally useless, in many applications we want to get rid of it and keep just &lt;code&gt;sort&lt;/code&gt;. This can be accomplished if we use $\mathtt{Prop}$ to state &quot;$k$ is ordered&quot; and &quot;$k$ is a permutation of $\ell$&quot;, but &lt;em&gt;not&lt;/em&gt; &quot;for all $\ell$ there is $k$&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In general, a common way to extract code is to consider a statement of the form $\forall x : A \,.\, \exists y : B \,.\, \phi(x, y)$ where $x$ is input, $y$ is output, and $\phi(x,y)$ explains what it means for $y$ to be a correct output. (In the above example $A$ and $B$ are the types of lists and $\phi(\ell, k)$ is &quot;$k$ is ordered and $k$ is a permutation of $\ell$.&quot;) If $\phi$ is in $\mathtt{Prop}$ then extraction gives a map $f : A \to B$ such that $\phi(x, f(x))$ holds for all $x \in A$. If $\phi$ is in $\mathtt{Set}$ then we also get a function $g$ such that $g(x)$ is the proof that $\phi(x, f(x))$ holds, for all $x \in A$. Often the proof is computationally useless and we prefer to get rid of it, especially when it is nested deeply inside some other statement. $\mathtt{Prop}$ gives us the possibility to do so.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Added 2015-07-29:&lt;/strong&gt; There is a question whether we could avoid $\mathsf{Prop}$ altogether by automatically optimizing away &quot;useless extracted code&quot;. To some extent we can do that, for instance all code extracted from the negative fragment of logic (stuff built from the empty type, unit type, products) is useless as it just shuffles around the unit. But there are genuine design decisions one has to make when using $\mathsf{Prop}$. Here is a simpe example, where $\Sigma$ means that we are in $\mathsf{Type}$ and $\exists$ means we are in $\mathsf{Prop}$. If we extract from&#xA;$$\Pi_{n : \mathbb{N}} \Sigma_{b : \{0,1\}} \Sigma_{k : \mathbb{N}} \; n = 2 \cdot k + b$$&#xA;we will get a program which decomposes $n$ into its lowest bit $b$ and the remaining bits $k$, i.e., it computes everything. If we extract from&#xA;$$\Pi_{n : \mathbb{N}} \Sigma_{b : \{0,1\}} \exists_{k : \mathbb{N}} \; n = 2 \cdot k + b$$&#xA;then the program will only compute the lowest bit $b$. The machine cannot tell which is the correct one, the user has to tell it what he wants.&lt;/p&gt;&#xA;" OwnerUserId="705" LastEditorUserId="705" LastEditDate="2015-07-29T09:54:48.633" LastActivityDate="2015-07-29T09:54:48.633" CommentCount="10" ContentLicense="CC BY-SA 3.0" />
  <row Id="21839" PostTypeId="2" ParentId="21831" CreationDate="2014-03-31T06:08:04.867" Score="6" Body="&lt;p&gt;In Agda this is done by tagging types as &quot;irrelevant&quot;. It's a kind of quotenting. A function from an irrelevant to a (relevant) type must be constant (and Agda enforces this). You can read more about it on the &lt;a href=&quot;http://wiki.portal.chalmers.se/agda/pmwiki.php?n=ReferenceManual.Irrelevance&quot;&gt;Agda wiki Irrelevance page&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="705" LastActivityDate="2014-03-31T06:08:04.867" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21840" PostTypeId="1" CreationDate="2014-03-31T06:33:19.867" Score="1" ViewCount="64" Body="&lt;p&gt;In &lt;a href=&quot;http://dx.doi.org/10.1137/0208032&quot; rel=&quot;nofollow&quot;&gt;&quot;The Complexity of Enumeration and Reliability Problems&quot;&lt;/a&gt;, Valiant mentions the existence of a single Turing machine that is complete for the class $\#P_1$ (i.e., $\#P$ with unary input). On page 419, he writes:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;it is sufficient to simulate just the following fixed TM, $M$, which&#xA;  is clearly complete for $\#P_1$: on unary input $n$, $M$ first&#xA;  verifies that ... and then simulates the $i$th machine in $\#TIME(n)$&#xA;  on input $j$ (or vice versa)&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I find the existence of such a machine surprising:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Does there exist a machine complete for PTIME that can simulate any&#xA;other PTIME machine. That is, a PTIME machine that takes a number $i$ and a string $s$ as input, and then executes the $i$th PTIME machine&#xA;with input $s$? &lt;/li&gt;&#xA;&lt;li&gt;Would the existence of such a machine not lead to a&#xA;contradiction, because it would have a complexity $O(n^k)$, which means that no PTIME machine can have complexity $O(n^{k+1})$.&lt;/li&gt;&#xA;&lt;li&gt;If this is indeed not possible for PTIME, why is it possible for $\#P_1$?&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="22206" LastActivityDate="2014-03-31T06:33:19.867" Title="Can there exist a single Turing machine complete for PTIME, or for $\#P_1$?" Tags="&lt;complexity-classes&gt;&lt;counting-complexity&gt;&lt;universal-computation&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="21841" PostTypeId="2" ParentId="21832" CreationDate="2014-03-31T07:38:28.370" Score="4" Body="&lt;p&gt;I'm not sure which properties you're after, but what about the original paper:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thierry Coquand, Gérard P. Huet: The Calculus of Constructions. Inf. Comput. 76(2/3): 95-120 (1988)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I got it from: &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/0890540188900053#&quot; rel=&quot;nofollow&quot;&gt;http://www.sciencedirect.com/science/article/pii/0890540188900053#&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="20458" LastActivityDate="2014-03-31T07:38:28.370" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="21843" PostTypeId="1" AcceptedAnswerId="21871" CreationDate="2014-03-31T10:05:37.243" Score="3" ViewCount="151" Body="&lt;p&gt;I am trying to prove the following&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Given $g, g^a, g^{ab}$ it is hard to compute $r, g^r, g^{rb}$, for some arbitrarily chosen value of $r$ &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;where $g ∈ \mathbb{G}, \mathbb{G}$ is a cyclic group of prime order $p$ and $r∈ \mathbb{Z}^*_p -\{0\} $ and $r \neq a$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I don't have a clear (far from elegant) proof that, if there exists an algorithm $\mathcal{A}$ that can solve this, then we can solve *some*  hard problem..&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The best sketch I can think of is reducing this to a the Okamato's Conference Key Sharing Scheme. However, again, I don't have a clear proof idea here...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, I argue, the adversary can submit the following,$(g^a)^t, (g^{ab})^t$,  $t∈_R Z$, however in that case, the adversary has no clue about the value of the exponent&lt;/p&gt;&#xA;" OwnerUserId="17325" LastEditorUserId="17325" LastEditDate="2014-04-01T16:03:12.020" LastActivityDate="2014-04-01T16:43:48.323" Title="On proving it is hard to compute $g^{rb}$ with knowledge of $r$, given $g, g^a, g^{ab}$" Tags="&lt;cr.crypto-security&gt;&lt;reductions&gt;&lt;gr.group-theory&gt;" AnswerCount="3" CommentCount="11" ContentLicense="CC BY-SA 3.0" />
  <row Id="21844" PostTypeId="2" ParentId="21836" CreationDate="2014-03-31T11:21:37.960" Score="14" Body="&lt;p&gt;Even if you are not interested in extracting programs, the fact that &lt;code&gt;Prop&lt;/code&gt; is impredicative allows you to build some models which you can't build using a predicative tower of universes. IIRC Thorsten Altenkirch has a model of System F using Coq's impredicativity.&lt;/p&gt;&#xA;" OwnerUserId="5097" LastActivityDate="2014-03-31T11:21:37.960" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21845" PostTypeId="1" CreationDate="2014-03-31T11:44:33.717" Score="-3" ViewCount="224" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;AVL-tree T: can T be a chain (linear BST) according to the definition ?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The definition of an AVL-tree is as follows:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A binary search tree (BST) is called an AVL-tree if for every internal node $v$ of $T$ the heights of the children of $v$ can differ by at most $1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/ln76G.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But according to this definition the above BST is an AVL-tree ? Well, the height of every children differ by at most $1$ ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But at the same time the height of an AVL-tree storing $n$ keys is $O(\log n)$ ? Thus an AVL-tree cannot be a chain ?&lt;/p&gt;&#xA;" OwnerUserId="21617" LastEditorUserId="21617" LastEditDate="2014-03-31T11:59:48.920" LastActivityDate="2014-03-31T12:07:34.370" Title="AVL-tree T: can T be a chain (linear BST) according to the definition?" Tags="&lt;graph-algorithms&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="21846" PostTypeId="2" ParentId="21845" CreationDate="2014-03-31T12:07:34.370" Score="0" Body="&lt;p&gt;A chain is not considered an AVL tree, as after the second insert (a chain of length 3), the root's left son has height 1 while son on the right has height -1 (which is the &lt;a href=&quot;http://en.wikipedia.org/wiki/Tree_height#Terminology&quot; rel=&quot;nofollow&quot;&gt;definition&lt;/a&gt; of the height of an empty tree).&lt;/p&gt;&#xA;" OwnerUserId="21001" LastActivityDate="2014-03-31T12:07:34.370" CommentCount="10" ContentLicense="CC BY-SA 3.0" />
  <row Id="21847" PostTypeId="1" CreationDate="2014-03-31T13:13:08.613" Score="0" ViewCount="465" Body="&lt;p&gt;Let $A,B$ be two automata over the same alphabet $\Sigma$; they are supposed to be complete, strongly connected DFAs. We denote by $._A$ (resp. $._B$) the action induced by $\Sigma^*$ over $Q(A)$, i.e. $u ._A s$ designates the state reached from $s$ upon reading $u$ - note that this is more commonly denoted by $\delta_A(u,s)$ but we adopt the first notation for conciseness.  Say that an &quot;automata relation&quot; between $A$ and $B$ is a relation $R \subseteq Q(A) \times Q(B)$ such that:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(*) if $R(s,t)$ holds, then for any $u,v \in \Sigma^*$ we have: $u ._A s = v ._A s \Rightarrow u ._B t = v ._B t$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given $R$ and $t \in Q(B)$, we then define $R^{-1}(t) = \{ s \in Q(A) : R(s,t) \text{ holds} \}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given such a relation, it is possible to define an action of $Q(A)$ over $Q(B)$ as follows: given $t \in Q(B)$ and $s \in Q(A)$, we define $s^{-1} t$ as the unique state $t' \in Q(B)$ such that for every $s' \in R^{-1}(t)$, $L_A(s',s).t = \{t'\}$. Note that the existence of $t'$ follows from the strong connectedness of $A$, and that the unicity follows by observing that if $u,v \in L_A(s',s)$, we have $u ._A s' = v ._A s' = s$ and thus $u ._B t = v ._B t = t'$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, given the tuple $T = (A,B,R)$ and given two weight functions $f,g$ over $Q(B)$, let us define the &quot;theta function&quot; $\Theta_{T,f,g}(s) = \sum_{t \in Q(B)} f(t) g(s^{-1} t)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Question: what are the interesting questions to ask about this notion?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Some examples and suggestions should follow, I'm still trying to clear my thoughts on this problem.)&lt;/p&gt;&#xA;" OwnerUserId="17699" LastEditorUserId="17699" LastEditDate="2014-04-17T11:01:04.863" LastActivityDate="2014-04-17T11:01:04.863" Title="Theta functions of automata relations" Tags="&lt;automata-theory&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21849" PostTypeId="1" AcceptedAnswerId="32717" CreationDate="2014-03-31T15:26:55.150" Score="15" ViewCount="673" Body="&lt;h2&gt;Short Question.&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;What is the computational power of &quot;quantum&quot; circuits, if we allow non-unitary (but still invertible) gates, and require the output to give the correct answer with certainty?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This question is in a sense about what happens to the class $\mathsf{EQP}$ when you allow the circuits to use more than just unitary gates. (We're still forced to restrict ourselves to invertible gates over $\mathbb C$ if we want to be able to have a well-defined model of computation.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(This question has undergone some revisions in light of some confusion on my part about the known results about such circuits in the unitary case.)&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;About &quot;exact&quot; quantum computation&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;I define $\mathsf{EQP}$ for the sake of this question to be the class of problems which can be exactly solved by a uniform quantum circuit family, where the coefficients of each unitary is computable by polynomial-time-bounded Turing machines (from the input string $1^n$) for each input size $n$, and that the layout of the circuit as a directed network can also be produced in polynomial time. By &quot;exactly&quot; solved, I mean that measuring the output bit yields $|0\rangle$ with certainty for NO instances, and $|1\rangle$ with certainty for YES instances.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Caveats:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Even restricting to unitary gates, this notion of $\mathsf{EQP}$ is different from that described by Bernstein and Vazirani using quantum Turing machines.&#xA;The definition above allows a circuit family $\{ C_n \}$ to in principle have an infinite gate set &amp;mdash; each individual circuit $C_n$ only uses a finite subset, of course &amp;mdash; because the gates are in effect computed from the inputs. (A quantum Turing machine can simulate any finite gate set that you like, but can only simulate finite gate sets, because it only has a finite number of transitions.)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;This model of computation trivializes any problems in $\mathsf P$, because the unitary could contain a single gate which hard-codes the solution to any problem in $\mathsf P$ (its coefficients are after all determined by a poly-time computation). So the specific time- or space-complexity of problems are not necessarily interesting for such circuits.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;We can add to these caveats the observation that practical implementations of quantum computers will have noise anyway. &lt;em&gt;This model of computation is interesting primarily for theoretical reasons&lt;/em&gt;, as one concerned with composing unitary transformations rather than feasible computation, and also as an exact version of $\mathsf{BQP}$. In particular, despite the caveats above, we have $\mathsf{P} \subseteq \mathsf{EQP} \subseteq \mathsf{BQP}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The reason for defining $\mathsf{EQP}$ in the way I do is so that DISCRETE-LOG can be put into $\mathsf{EQP}$.&#xA;By [&amp;nbsp;&lt;a href=&quot;http://arxiv.org/abs/quant-ph/0301093&quot;&gt;Mosca+Zalka&amp;nbsp;2003&lt;/a&gt;&amp;nbsp;], there is a polynomial-time algorithm to construct a unitary circuit which exactly solves instances of DISCRETE-LOG by producing exact versions of the QFT depending on the input modulus.&#xA;I believe that we can then put DISCRETE-LOG into $\mathsf{EQP}$, as defined above, by embedding the elements of circuit-construction into the way that the gate coefficients are computed. (So the result DISCRETE-LOG $\in \mathsf{EQP}$ essentially holds by fiat, but relying on the construction of Mosca+Zalka.)&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Suspending unitarity&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;Let $\mathsf{EQP_{\mathrm{GL}}}$ be the computational class that we get if we suspend the restriction that gates be unitary, and allow them to range over invertible transformations. Can we place this class (or even characterize it) in terms of other traditional non-deterministic classes $\mathbf C$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One of my reasons for asking: if $\mathsf{BQP}_{\mathrm{GL}}$ is the class of problems efficiently solvable with &lt;em&gt;bounded error&lt;/em&gt;, by uniform &quot;non-unitary quantum&quot; circuit families &amp;mdash; where YES instances give an output of $|1\rangle$ with probability at least 2/3, and NO instances with probability at most 1/3 (after normalizing the state-vector) &amp;mdash; then &lt;a href=&quot;http://rspa.royalsocietypublishing.org/content/461/2063/3473.full&quot;&gt;[Aaronson 2005]&lt;/a&gt; shows that $\mathsf{BQP}_{\mathrm{GL}} = \mathsf{PP}$.&#xA;That is: suspending unitarity is in this case equivalent to allowing unbounded error.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does a similar result, or any clear result, obtain for $\mathsf{EQP_{\mathrm{GL}}}$?&lt;/p&gt;&#xA;" OwnerUserId="248" LastEditorUserId="248" LastEditDate="2014-04-02T11:12:09.510" LastActivityDate="2015-10-05T18:10:03.893" Title="How powerful is exact &quot;quantum&quot; computing if you suspend unitarity?" Tags="&lt;complexity-classes&gt;&lt;quantum-computing&gt;" AnswerCount="1" CommentCount="7" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21850" PostTypeId="2" ParentId="4765" CreationDate="2014-03-31T15:59:34.687" Score="9" Body="&lt;p&gt;Elaborating on Joe's earlier answer: note that $\textrm{FACTORING} \in \mathsf{NP \cap coNP}$. The latter is the &lt;a href=&quot;https://complexityzoo.uwaterloo.ca/Complexity_Zoo%3aL#lkp&quot;&gt;second lowest class in the &quot;low&quot; hierarchy&lt;/a&gt;: which is to say that $\mathsf{NP^{NP \cap coNP} = NP}$. This implies in particular that $$\mathsf{P^{\textrm{FACTORING}} \subseteq NP^{\textrm{FACTORING}}} \subseteq \mathsf{NP}.$$&#xA;We may make similar remarks for $\mathsf{coNP}$ and $\mathsf{BQP}$, to show that at least on a coarse-grained level, $\mathsf P^{\textrm{FACTORING}}$ has the same complexity bounds as the problem $\textrm{FACTORING}$ itself, which is to say&#xA;$$ \mathsf{P^{\textrm{FACTORING}} \subseteq NP \cap coNP \cap BQP}.$$&lt;/p&gt;&#xA;" OwnerUserId="248" LastEditorUserId="248" LastEditDate="2014-03-31T16:04:53.950" LastActivityDate="2014-03-31T16:04:53.950" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="21852" PostTypeId="1" AcceptedAnswerId="21859" CreationDate="2014-03-31T23:28:17.740" Score="14" ViewCount="724" Body="&lt;p&gt;It seems to me that most complexity theorists generally believe the following philosophical rule:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;If we can't figure out an efficient algorithm for problem $A$, and we can reduce problem $A$ to problem $B$, then there probably isn't an efficient algorithm for problem $B$, either.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;This is why, for example, when a new problem is proved NP-Complete we simply file it away as &quot;too hard&quot; rather than getting excited about a new approach (problem $B$) that might finally show $P = NP$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I was discussing this with a fellow grad student in another scientific field.  She found this idea hugely counterintuitive.  Her analogy:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;You're an explorer, searching for a bridge between the North American and Asian continents.  For many months you have tried and failed to find a land bridge from the mainland United States area to Asia.  Then you discover that the mainland US is connected by land to the Alaskan area.  You realize that a land bridge from Alaska to Asia would imply a land bridge from the mainland US to Asia, which you're pretty sure doesn't exist.  So you don't waste time exploring near Alaska; you just go home.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Our previous philosophical rule sounds pretty silly in this context.  I couldn't think of a good rebuttal!  So I'm turning it over to you guys: &lt;strong&gt;Why should we treat a reduction $A \to B$ as making problem $B$ harder rather than making problem $A$ easier?&lt;/strong&gt;&lt;/p&gt;&#xA;" OwnerUserId="11051" LastEditorUserId="186" LastEditDate="2014-04-01T09:29:02.140" LastActivityDate="2014-04-01T15:57:01.090" Title="Should reductions make us more or less optimistic for the tractability of a problem?" Tags="&lt;cc.complexity-theory&gt;&lt;big-picture&gt;&lt;reductions&gt;" AnswerCount="5" CommentCount="8" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="21853" PostTypeId="2" ParentId="21852" CreationDate="2014-03-31T23:40:35.647" Score="9" Body="&lt;p&gt;It is not true that we always look at reduction theorems as hardness statements. &#xA;For example, in algorithms we often reduce a problem to LP and SDP to solve them. &#xA;These are not interpreted as hardness results but algorithmic results. &#xA;However, although they are technically reductions &#xA;we often don't refer to these as such. &#xA;What we mean by a reduction is usually a reduction to some (NP-)hard problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A reduction is a &lt;em&gt;relative&lt;/em&gt; hardness result,&#xA;if we have a reduction from problem $A$ to problem $B$ is means that $A$ is easier than $B$ in a sense, &#xA;which is the same as $B$ is more difficult than $A$.&#xA;A lower-bound is an &lt;em&gt;absolute&lt;/em&gt; hardness result. &#xA;Now if we know/conjecture that $A$ is absolutely hard then&#xA;the reduction from $A$ to $B$ implies the same for $B$.&#xA;Most researchers find it more likely that P is not equal to NP,&#xA;and even conjecture that SAT requires exponential time.&#xA;In other words SAT is believed to be very hard.&#xA;If you accept these conjectures then&#xA;it is completely reasonable to look at reductions proving &#xA;universality of a problem for NP as the problem being hard.&#xA;(Why researchers find P not equal to NP more likely is a different issue, &#xA;there has been several blog posts on theory blogs about that.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Part of the reason we replace lower-bound with universality results &#xA;(i.e. there is a reduction from every problem in a class to the problem) &#xA;is our lack of success in proving good general lower-bounds&#xA;(it is consistent with the current state of knowledge that SAT can be solved in linear deterministic time). &lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2014-04-01T09:45:31.337" LastActivityDate="2014-04-01T09:45:31.337" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="21854" PostTypeId="2" ParentId="21852" CreationDate="2014-03-31T23:49:12.483" Score="16" Body="&lt;p&gt;What is missing from the analogy is some notion of the relative distances involved.  Let's replace Alaska in our analogy with the moon:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You're an explorer, searching for a bridge between the North American and Asian continents. For many months you have tried and failed to find a land bridge from the mainland United States area to Asia. Then you discover that the mainland US is connected by land to the moon.  You are already confident that the moon is a vast distance away from Asia, so you can now be confident that North America is also a vast distance away from Asia by the triangle inequality.&lt;/p&gt;&#xA;" OwnerUserId="13245" LastActivityDate="2014-03-31T23:49:12.483" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21855" PostTypeId="1" CreationDate="2014-04-01T00:57:57.777" Score="1" ViewCount="206" Body="&lt;p&gt;I am working on a problem and it appears to be a special case of Hungarian algorithm. &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;In Hungarian algorithm for assignment problem, there are n people and n jobs. &lt;/li&gt;&#xA;&lt;li&gt;Each person can do any of n jobs and incur a corresponding cost C.&#xA;The goal is to minimize the cost by assigning n people to n jobs. &lt;/li&gt;&#xA;&lt;li&gt;My special case that for each person, he can be assigned only 2 specific&#xA;jobs out of n jobs. Given this condition, is there any optimization&#xA;possible for Hungarian algorithm that will reduce its complexity from&#xA;O(n^3) to lower.  &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Thanks for your help. &lt;/p&gt;&#xA;" OwnerUserId="21094" LastEditorUserId="21094" LastEditDate="2014-04-01T01:12:36.117" LastActivityDate="2014-04-01T01:12:36.117" Title="Help with a special case for Hungarian algorithm" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;optimization&gt;" AnswerCount="0" CommentCount="6" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21856" PostTypeId="2" ParentId="21827" CreationDate="2014-04-01T02:00:17.803" Score="2" Body="&lt;p&gt;Here is the first part of the answer (without swapping).  I restated some of the definitions to make them clearer (I think), as I was somewhat confused by the statement of the question.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Introduction to the problem and its practical importance&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;I do not know the motivation for the question, as it was not given.&#xA;However this is a known problem of natural language processing (NLP),&#xA;and specifically of speech processing. The problem is that phonems are&#xA;not always clearly identifiable, nor are the boundaries between&#xA;lexical elements (words), which is a little bit more general than the&#xA;question. As a consequence, there can be several ways to cut the&#xA;spoken sentence into words of the language. In order to account for&#xA;that, the single linear stream of phonems is actually transformed into&#xA;what is called a &quot;&lt;a href=&quot;http://www.statmt.org/moses/?n=Moses.WordLattices&quot; rel=&quot;nofollow noreferrer&quot;&gt;word lattice&lt;/a&gt;&quot; which may be seen as a&#xA;directed acyclic graph or as an acyclic DFA (though even the&#xA;acyclicity is also a topic for discussion in some cases - see my&#xA;remark on whether the empty word can be in $W$). This word&#xA;lattice corresponds to all the ways the sentence can be cut into&#xA;recognizable words. This is often based on probabilities and Markov&#xA;models.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Well known examples of the need for word lattices are holorime&#xA;verses. See for example &quot;&lt;a href=&quot;https://linguistics.stackexchange.com/questions/3514&quot;&gt;Phonological ambiguity that changes the syntactic structure&lt;/a&gt;&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The word lattices are then used in various way for further linguistic&#xA;processing. One use is to do syntax analysis with respect to a&#xA;syntactic definition of the language, the identified lexical elements&#xA;(or their lexical category, called &quot;part of speech&quot;) being used as&#xA;alphabet symbols at that syntactic level. In the question asked, the&#xA;collection $S$ or sentences plays the role of the language syntax that&#xA;defines allowed sentences. The set $W$ is the collection of acceptable&#xA;spoken language words that can be built from the phonems in $\Sigma$.&#xA;It is a bit simplified from the real speech processing situation. For&#xA;example, the set $W$ is finite, while in speech processing it is&#xA;considered open (actually finite, but so large ...). This is dealt with&#xA;by replacing all the words of a given category by that category&#xA;considered as a whole (I skip many details).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Many modern parsing techniques can be readily extended to the parsing&#xA;of word lattices, as most syntactic formalisms are closed under&#xA;intersection with regular sets. See for example &quot;&lt;a href=&quot;http://bat8.inria.fr/~lang/papers/harder/harder.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Recognition can be&#xA;Harder than Parsing&lt;/a&gt;&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem addressed by word lattices (and by this question) is &lt;strong&gt;lexical&#xA;ambiguity&lt;/strong&gt;: the ambiguity resulting from the fact that the sequence of&#xA;lexical elements that can correspond to the analyzed string is not&#xA;unique. This can be opposed to &lt;strong&gt;syntactic ambiguity&lt;/strong&gt; du to the fact that the&#xA;lexical sequence can be generated syntactically in two different ways,&#xA;as in ambiguous context-free grammars.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The issue of character swapping, here supposedly to detect&#xA;&quot;spoonerisms&quot;, is part of various techniques to deal with input&#xA;ill-formedness that can be modeled by finite state tranducers.&#xA;Here again, closure properties are more than helpful.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;A solution without swap, linear in each parameter&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;The set $W$ may be considered finite, as only a finite number of words&#xA;in $W$ can be used to form the alphabet for sentences. We assume&#xA;furthermore that the empty word is not in $W$. It is not strictly&#xA;necessary for the construction given here, but it could make the&#xA;parsing yield an arbitrarily long sequence, independently of the&#xA;length of the string $w$ being parsed, possibly giving a false idea of&#xA;the complexity.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We associate with each word $w\in W$ a unique symbol $\hat w$. Let&#xA;$\hat W=\{\hat w \mid w\in W\}$. This is not strictly necessary, but may&#xA;avoid confusion as to what is the alphabet.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then you build a &lt;a href=&quot;https://en.wikipedia.org/wiki/Trie&quot; rel=&quot;nofollow noreferrer&quot;&gt;trie&lt;/a&gt;, as a DFA that recognizes the words in $W$. Each&#xA;final state recognizing a word $w_k\in W$ is then labeled with $\hat w_k$&#xA;(cf &lt;a href=&quot;https://en.wikipedia.org/wiki/Moore_machine&quot; rel=&quot;nofollow noreferrer&quot;&gt;Moore machines&lt;/a&gt;). Then an $\epsilon$-transition is added from each&#xA;final state to the initial state, turning the DFA into a NFA that&#xA;recognizes sequences of words in $W$, and which can output $\hat w_k$&#xA;whenever $w_k$ has been recognized. Then you apply the powerset&#xA;construction to turn this NFA into a DFA $T_W$, such that the states of this new&#xA;DFA have all the labels of the trie final states they contain.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This construction, though expensive because of the powerset&#xA;construction, is done only once, independently of the sentence $w$,&#xA;and thus does not count in the complexity analysis. It is amortized over all string $w$ that will be parsed (as is the case for all parser construction techniques).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a string  $w\in\Sigma^*$&#xA;you build a DFA $L_{W,w}=(\{q_i\mid 0\leq i\leq |w|\},\hat W,q_0,q_n,\tau_{W,w})$ as follow:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;$q_0$ and $q_n$ are respectively initial and final state&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;the number of states is $n+1$&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;there is a transition on input $\hat w_k$  from state $q_i$ to state&#xA;$q_j$ iff $w[i:j]=w_k$ where $w_k \in W$&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The notation $w[i:j]$ denote the substring of $w$ from index $i+1$ to&#xA;index $j$, the first letter having index $1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This finite state automaton $L_{W,w}$, called a &lt;strong&gt;&lt;a href=&quot;http://www.statmt.org/moses/?n=Moses.WordLattices&quot; rel=&quot;nofollow noreferrer&quot;&gt;word lattice&lt;/a&gt;&lt;/strong&gt; in speech&#xA;processing, generates or recognizes all sentences that are sequences&#xA;of words in $W$ that concatenate into the string $w$. Note that the literature often presents it as a directed acyclic graph rather than a DFA.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To build the transitions, you apply the DFA $T_W$ to the string&#xA;$w$. Whenever you enter a state that has a label $\hat w_k$ (It may&#xA;have several labels), it means&#xA;that you have just recognized the string $w_k\in W$. If you have read&#xA;$j$ letters, it means that $w[i:j]=w_k$ for $i=j-|w_k|$. Thus you add&#xA;the corresponding transition to the word lattice.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The DFA $T_W$ executes no more than $|w|$ transition steps, and at&#xA;each step adds at most $|W|$ transitions to the word lattice.&#xA;Hence the complexity is $O(|W|\times|w|)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now we have to find out which sentences in the language recognize by&#xA;the language of $L_{W,w}$ are also recognized by the DFA $M_S$ on alphabet&#xA;$\hat W$ recognizing $S$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In other words we want the intersection of the two languages. This can&#xA;be obtained by the usual cross product construction of the two&#xA;automata, which are both DFA. The resulting automaton is a recognizer&#xA;for the solutions, and can be used to generate them non&#xA;deterministically.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since the set $S$ is a regular set, potentially infinite, each&#xA;solution must be given explicitely as a word in $\hat W^*$, with&#xA;corresponding cost, rather than being named in constant time.&#xA;However, if the empty word is not in $W$, the length of each solution&#xA;is bound by the length of $w$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The cross product construction gives a number of states that is the&#xA;product of that number for each automaton: $|Q_S|\times(|w|+1)$.&#xA;Each of the $|\tau_S|$ of the DFA $M_S$ is associated with each of the&#xA;$O(|W|\times|w|)$ transitions of the word lattice to determine the&#xA;transitions of the cross product.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hence the cost of producing the DFA for the solutions is $O(|W|\times|w|\times|M_S|)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The cross-product DFA is noted $F_{W,S,w}$. Its construction is such&#xA;that its mimics exactly the DFA $S$, but only for the sentences in&#xA;$\hat W^*$ accepted by the word lattice, i.e. all those corresponding&#xA;to the sentence $w$. Hence, it does give all the sentences in $S$ as&#xA;words in $\hat W^*$ that are equal letter-wise to $w$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Enumerating the solutions&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is how you can enumerate the solutions with the DFA $F_{W,S,w}$&#xA;to be conformant to the constraint that the enumeration should be&#xA;linear in the size of a trie of all solutions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We suppose the symbols in $\hat T$ are totally ordered, for example by&#xA;the lexicographic order of the corresponding words in $T$.  We also&#xA;assume that the DFA $F_{W,S,w}$ has been pruned of all states that do&#xA;not have a path to an accepting state, and of transitions to and from&#xA;these states (this does not have to exceed the cost of building the&#xA;DFA). The missing transitions will be considered as virtually going to&#xA;a dead state; they are not needed here.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $d$ be the length of the string $w$. Since we&#xA;excluded the empty word from $T$, all solutions have a length less&#xA;than $d$. Hence the DFA $F_{W,S,w}$ is acyclic, i.e. represented by an&#xA;edge labeled DAG. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Initialize an array $\mathcal S$ of length $d$, indexed from 1 to $d$, storing&#xA;the words to be enumerated, and a cursor $c$ indexing the last&#xA;modified letter of $\mathcal S$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Initialize a second array $\mathcal Q$ of length $d+1$, indexed from 0&#xA;to $d$, storing the states followed to produce/recognize the current&#xA;content of $\mathcal S$. The cursor $c$ indexes also the last visited&#xA;state.The array $\mathcal Q$ is initialised with the initial state of&#xA;the DFA $F_{W,S,w}$ at index 0.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Both arrays are used as pushdown stacks, the cursor $c$ pointing at&#xA;the top.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then perform a simulation of a Depth First Search (DFS) on a virtual&#xA;version of the trie of all solutions recognized by the DFA&#xA;$F_{W,S,w}$, by updating only the top of the stacks.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;When a transition of the DFA is followed, its label is pushed on&#xA;$\mathcal S$ and the next state is pushed on $\mathcal Q$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;When a state $q$ has just been pushed on the stack $\mathcal Q$:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;If $q$ is an accepting state the content of stack $\mathcal S$ is a&#xA;solution;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;if $q$ has transitions, follow the one with the smallest label;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;if there are no transitions, then pop both stacks.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;When the stacks are popped, let $\hat w$ be the symbol just popped&#xA;from $\mathcal S$, and $q$ be the new top of $\mathcal Q$.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;if $q$ has transitions with a label greater than $\hat w$, follow&#xA;the one with the smallest label;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;otherwise pop both stack.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;When all transitions of the initial state at the bottom of stack&#xA;$\mathcal Q$ have been followed, the enumeration terminates.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This algorithm is essentially a virtual traversal of the trie of all&#xA;solutions, because the finite automation $F_{W,S,w}$ is deterministic&#xA;and pruned of unproductive states and transitions. Therefore the time&#xA;cost is linear in the size of that trie. The solutions are given in&#xA;lexicographic order with respect to $\hat V$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, though I have not explored the issue, I fear that the size of&#xA;that trie may far exceed the size of the DFA $F_{W,S,w}$. Even if S is&#xA;finite, it may be represented by a DFA that is much smaller than its&#xA;trie (precisely our problem).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;:&lt;br&gt;&#xA;$S$ does not have to be a regular set.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The essential ingredients for the solution presented and its&#xA;complexity are the deterministic real-time character of the automaton&#xA;and the cross product construction. Hence it should be applicable with&#xA;the same complexity result if $S$ were a real-time deterministic&#xA;context-free language.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More generally, all kinds of languages families may be considered,&#xA;with a complexity that depends on recognition complexity of the&#xA;family.&#xA;For example, if $S$ is a context-free language,&#xA;then the complexity for $|w|$ is at worst $O(|w|^3)$. But things get&#xA;then more complex: parsing with respect to a regular set for $S$ just&#xA;means recognizing $\hat W$-strings in $S$ that expand to the word $w$.&#xA;However, if S is a context-free language, one may be satisfied with a&#xA;recognizer as in the regular case, but one may also want to have some&#xA;or all parses with respect to a specific grammar which may itself be&#xA;ambiguous. The complexity analysis may then depend somewhat on what is&#xA;actually desired, on language properties or on grammar properties.&#xA;And this extend to a variety of other grammatical formalisms.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Allowing to swap letters&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;To come later. It can be done also with finite state techniques.&lt;/p&gt;&#xA;" OwnerUserId="16132" LastEditorUserId="-1" LastEditDate="2017-04-13T12:54:12.010" LastActivityDate="2014-04-02T22:13:42.153" CommentCount="15" ContentLicense="CC BY-SA 3.0" />
  <row Id="21857" PostTypeId="2" ParentId="21843" CreationDate="2014-04-01T02:19:06.693" Score="1" Body="&lt;p&gt;The problem you listed in the first sentence of your question does not seem to be hard.  Given $g,g^a,g^{ab}$, I output $g^a,g^{ab}$.  That is of the form you desired (consider $r=a$), so I have shown that what you are trying to prove is not true.  If that's not a break of your hardness assumption, please edit your question to make the question a whole lot clearer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(I don't know what's going on in the last sentence of your question or what that is trying to say.  I'm ignoring that for now since it is not clear to me what it means.  If that is essential, please make a major edit to your question to make it much clearer what problem you are trying to solve.)&lt;/p&gt;&#xA;" OwnerUserId="5038" LastActivityDate="2014-04-01T02:19:06.693" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21858" PostTypeId="2" ParentId="21852" CreationDate="2014-04-01T07:55:24.210" Score="3" Body="&lt;p&gt;Actually, the discovery of Alaska would have the opposite effect, at least at first. Since it extends so far west, it would make people think that, hey, maybe there &lt;em&gt;is&lt;/em&gt; a land bridge, after all (the analogy being, hey, maybe &lt;strong&gt;P&lt;/strong&gt;&amp;nbsp;=&amp;nbsp;&lt;strong&gt;NP&lt;/strong&gt; since this new &lt;strong&gt;NP&lt;/strong&gt;-complete problem looks like such a good candidate for having a polynomial-time solution). However, once Alaska had been thoroughly explored and no land bridge had been found, people would probably be more convinced than before that Asia and the Americas are separate.&lt;/p&gt;&#xA;" OwnerUserId="17082" LastActivityDate="2014-04-01T07:55:24.210" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21859" PostTypeId="2" ParentId="21852" CreationDate="2014-04-01T09:00:44.257" Score="14" Body="&lt;p&gt;I think this is a very good question. To answer it we need to realise that:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;not all reductions are alike,&lt;/li&gt;&#xA;&lt;li&gt;to feel optimistic, we need to learn something genuinely helpful.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Typically, whenever we discover a nontrivial reduction $A \to B$, it falls in one of the following categories:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;We learned something helpful about problem A (and nothing about problem B).&lt;/li&gt;&#xA;&lt;li&gt;We learned something discouraging about problem B (and nothing about problem A).&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;A bit more precisely, these two cases can be characterised as follows:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;We discovered that problem A has some hidden structure, which makes it possible to design a new, clever algorithm for solving problem A. We just need to know how to solve problem B.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;We realised that in some special cases, problem B is basically just problem A in disguise. We can now see that any algorithm for solving problem B has to solve at least these special cases correctly; and solving these special cases is essentially equivalent to solving problem A. We are back at square one: to make any progress with problem B, we need to first make some progress with problem A.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Reductions of type 1 are common in the context of positive results, and these are certainly good reasons to feel optimistic.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, if you consider hardness reductions that we encounter in the context of, e.g., NP-hardness proofs, they are almost always of type 2.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that even if you do not know anything about the computational complexity of problem A or problem B, you can nevertheless tell if your reduction is of type 1 or type 2. Hence we do not need to believe in, e.g., P ≠ NP to determine if we should feel optimistic or pessimistic. We can just see what we have learned thanks to the reduction.&lt;/p&gt;&#xA;" OwnerUserId="74" LastActivityDate="2014-04-01T09:00:44.257" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21860" PostTypeId="2" ParentId="21705" CreationDate="2014-04-01T09:42:42.090" Score="12" Body="&lt;p&gt;Turing argued that Mathematics can be reduced to a combination of reading/writing symbols, chosen from a finite set, and switching between a finite number of mental 'states'. He reified this in his Turing Machines, where symbols are recorded in cells on a tape and an automaton keeps track of the state.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, Turing's machines are not a constructive proof of this reduction. He argued that any 'effective procedure' can be implemented by some Turing Machine, and showed that a Universal Turing Machine can implement all of those other machines, but he didn't actually give a set of symbols, states and update rules which implement Mathematics in the way that he argued. In other words, he did not propose a 'standard Turing Machine', with a standard set of symbol which we can use to write down our Mathematics.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Lambda Calculus, on the other hand, is precisely that. Church was specifically trying to unify the notations used to write down our Mathematics. Once it was shown that LC and TMs are equivalent, we could use LC as our 'standard Turing Machine' and everyone would be able to read our programs (well, in theory ;) ).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, we could ask why treat LC as a primitive, rather than as a TM dialect? The answer is that LC's semantics are &lt;em&gt;denotational&lt;/em&gt;: LC terms have 'intrinsic' meaning. There are Church numerals, there are functions for addition, multiplication, recursion, etc. This makes LC very well aligned with how (formal) Mathematics is practiced, which is why many (functional) algorithms are still presented directly in LC.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, the semantics of TM programs are &lt;em&gt;operational&lt;/em&gt;: the meaning is defined as the behaviour of the machine. In this sense, we can't cut out some section of tape and say &quot;this is addition&quot;, because it is context-dependent. The machine's behaviour, when it hits that section of tape, depends on the machine's state, the lengths/offsets/etc. of the arguments, how much tape will be used for the result, whether any previous operation has corrupted that section of tape, etc. This is a horrendous way of working (&quot;Nobody wants to program a Turing Machine&quot;), which is why so many (imperative) algorithms are presented as pseudocode.&lt;/p&gt;&#xA;" OwnerUserId="22300" LastActivityDate="2014-04-01T09:42:42.090" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21861" PostTypeId="2" ParentId="20137" CreationDate="2014-04-01T11:19:39.427" Score="0" Body="&lt;p&gt;Here's a simple FPT algorithm (where $l$ is the parameter), which works for both the directed and the undirected case in time $O(2^l\cdot m(n+m))$, which might be feasible if your graph is large but $l$ is small enough. &lt;a href=&quot;https://cstheory.stackexchange.com/questions/20185/subgraph-containing-all-nodes-and-edges-that-are-part-of-length-limited-simple-s/21809#21809&quot;&gt;In my other answer&lt;/a&gt; I give a poly time algorithm for the undirected case.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First, the question is equivalent (up to a factor $m$ in the runtime) to asking if there's a path of size at most $l$ that goes through some specific edge $e$.&#xA;Next, the idea is to force the simplicity of the path by partitioning the vertices into those that can appear before the examined edge and those that can only appear after it in the pass.&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;Foreach $e=(u,v)\in E$: &#xA;a. do for $O(2^l)$ times:&#xA;  1. Compute a random partition of the vertices set $V=(S,V\setminus S)$ &#xA;   such that $s,u\in S$, $v,t\not \in S$ (and every other vertex is in $S$ w.p. 1/2).&#xA;  2.Find the shortest path from $s$ to $u$ in the subgraph induced by $S$.&#xA;    And the shortest path from $v$ to $t$ in the subgraph of $V\setminus S$. &#xA;  3.If the sum of distances is no more than $l-1$, add $e$ to the output graph.&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Analysis&lt;/strong&gt;&lt;br&gt;&#xA;a. Obviously, if there was no simple path of size $\leq l$ in $G$ which goes through $e$, the algorithm will not return it. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;b. If there is such path, it would partition correctly (i.e. all of the vertices before $u$ will be in $S$ and the rest in $V\setminus S$) w.p. $2^{-l}$, therefore if we run the partition iteration $O(2^l)$ times we'll discover it with high probability.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Derandomization&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you're willing to pay $2^{polylog(l)}$ factor to the runtime, it can be derandomized as follows:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Take a &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=796315&quot; rel=&quot;nofollow noreferrer&quot;&gt;$(n,l)$-universal-set&lt;/a&gt; and replace the random partition stage by running over all of the strings in the universal set, interpreting $S$ as the set of vertices whose value in the string is 1. The size of the universal set is $O(2^{l+ log^3(l)}\cdot poly(n))$ which determines the runtime.&lt;/p&gt;&#xA;" OwnerUserId="21001" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.743" LastActivityDate="2014-04-01T11:19:39.427" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21862" PostTypeId="2" ParentId="21800" CreationDate="2014-04-01T11:35:03.770" Score="2" Body="&lt;p&gt;As there is no answer yet, I turn my comment to answer, Marathe et al. in their &lt;a href=&quot;http://arxiv.org/pdf/math/9409225.pdf&quot; rel=&quot;nofollow&quot;&gt;ICALP93 paper&lt;/a&gt;, defined some problems which are PSPACE complete but they admit constant factor approximations, they also provide some inapproximability results. For this particular question, consider MAX3SAT, corresponding decision problem is PSPACE-complete even if the corresponding SAT graph has hierarchical structure as they defined in their paper, but this problem has a 2-approximation guarantee algorithm in hierarchical structure.&lt;/p&gt;&#xA;" OwnerUserId="1846" LastActivityDate="2014-04-01T11:35:03.770" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21863" PostTypeId="1" AcceptedAnswerId="21872" CreationDate="2014-04-01T11:42:37.220" Score="0" ViewCount="356" Body="&lt;p&gt;How can I construct a &lt;a href=&quot;http://en.wikipedia.org/wiki/Sorting_network&quot; rel=&quot;nofollow noreferrer&quot;&gt;sorting network&lt;/a&gt; for $k$ numbers?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My goal is to implement sorting networks in Java for $k$ in the range $[3,\hspace{-0.03 in}32]$.&#xA;&lt;br&gt;&#xA;To be even more specific, I only want to sort integers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I found some implementation in this &lt;a href=&quot;http://www.drdobbs.com/sorting-networks/184402663&quot; rel=&quot;nofollow noreferrer&quot;&gt;article&lt;/a&gt; (pages 2-3), but I don't understand it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I been trying to convert this problem to SAT. I started with a simple non-optimal network: $[01, 12, \ldots, (n-1)n, 01, 12, \ldots, (n-2)(n-1), \ldots, 01, 12, 01]$ (&lt;a href=&quot;https://cs.stackexchange.com/a/23261/10572&quot;&gt;source&lt;/a&gt;). The idea is to convert it to SAT, find the shortest equal-satisfiable SAT formula, and convert it back to a network representation. The problem is that in the network, the order of comparisons is important, so I don't know hot to convert it to SAT. It sounds like some one has already been trying to do something like &lt;a href=&quot;http://courses.engr.illinois.edu/cs573/fa2012/lec/lec/19_sortnet.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;this&lt;/a&gt;, but I don't understand it completely. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://cs.stackexchange.com/questions/23251/find-the-minimum-amount-of-swaps-to-sort-array&quot;&gt;Related question.&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="17941" LastEditorUserId="-1" LastEditDate="2017-04-13T12:48:30.830" LastActivityDate="2015-08-06T17:18:57.863" Title="How can I construct sorting network for $k$ numbers" Tags="&lt;sorting&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="21864" PostTypeId="2" ParentId="21847" CreationDate="2014-04-01T14:24:44.910" Score="5" Body="&lt;p&gt;Your definition seems to extend the notion of &quot;convolution products&quot; in groups; this can be seen as follows. Consider a finite group $G$ with generating set $\Sigma$, with the corresponding map $i_G : \Sigma^* \rightarrow G$. Construct the corresponding automaton $\cal{A}(G,\Sigma)$ with state set $G$ and which contains a transition $x \rightarrow_a a.x$ for every $x \in G, a \in \Sigma$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $H$ be a normal subgroup of $G$, and consider the quotient $Q = G / H$; we can view $Q$ as a finite group with generating set $\Sigma$, up to identifying each $a \in \Sigma$ with its class $aH$. By the factor theorem, there is a projection $j : G \rightarrow Q$ (mapping $x$ to $xH$) and an homomorphism $i_Q : \Sigma^* \rightarrow Q$ such that $i_Q = j \circ i_G$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider the corresponding automata $A = \cal{A}(G,\Sigma)$ and $B = \cal{A}(Q,\Sigma)$. Define the relation $R$ by: $R(a,bH) \Leftrightarrow a \in bH$. This defines an automata relation: for every $u,v \in \Sigma^*$ such that $u.a = v.a$, we have $i_G(u) = i_G(v)$ and thus $i_Q(u) = i_Q(v)$, implying that $u.(bH) = v.(bH)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider the tuple $T = (A,B,R)$. For every coset $k = tH \in Q$, it is easy to see that the set $R^{-1}(k)$ consists exactly of the elements of $k$, and that given an element $s \in G$, the operation $s^{-1} k$ gives the coset $(s^{-1} t) H$. As $H$ is a normal subgroup of $G$, we have $(s^{-1} t) H = (s^{-1} H) (t H)$, and in this case we obtain a &quot;convolution product&quot; over $Q$: given two weight functions $f,g$ over $Q(B)$, we obtain $\Theta_{T,f,g}(s) = \sum_{t \in Q} f(t) g(s^{-1} t)$. In particular, the function is stabilized by $H$, as for $r \in H$ the function $t \rightarrow (s^{-1} r s) t$ is a bijection over $Q$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This suggests a possible connection with Fourier analysis and with the theta functions of integer lattices; there might be also a relation with the notion of harmonic functions over group actions. I'm not sure though if this is the kind of questions you are interested in.&lt;/p&gt;&#xA;" OwnerUserId="21714" LastEditorUserId="17699" LastEditDate="2014-04-02T14:23:29.777" LastActivityDate="2014-04-02T14:23:29.777" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21865" PostTypeId="1" CreationDate="2014-04-01T14:25:29.997" Score="8" ViewCount="1661" Body="&lt;p&gt;Who can point me to a reference where it is actually &lt;strong&gt;shown&lt;/strong&gt; that multidimensional knapsack is &lt;strong&gt;strongly NP-complete&lt;/strong&gt;? I have found loads of papers where they claim it is, without citation; I have found another load where they cite Garey &amp;amp; Johnson, although it is not in their list of strongly NP-complete problems (Sec. 4.2); many actually cite Garey &amp;amp; Johnson as &quot;An introduction to&quot; instead of &quot;A guide to&quot;, so these authors probably copied from one another. In fact, some authors claim that it is &lt;strong&gt;not&lt;/strong&gt; strongly NP-complete, an example is &quot;The multidimensional 0–1 knapsack problem: An overview&quot; by Freville, but the argument (generalize the DP for single-dimension knapsack) is obviously bogus, see below.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Multidimensional knapsack&lt;/em&gt; tries to maximize $\sum_j c_j x_j$ such that $\sum_j a_{ij} x_j \le b_j$ for $i=1,...,m$, with $x_i$ being integer $\ge 0$ (and all $c_j, a_{ij}, b_j$ being $\ge 0$). We can also demand $x_i \in \{0,1\}$, the 0/1-version of the problem. I would be happy for a proof of either of the two to be hard (hardness of the other should follow easily).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Strongly NP-hard applies only to number problems, and restricts the (some) maximum of the numbers to be polynomial in the size of the problem instance (bits needed to encode it). Strongly NP-hard rules out the existence of a pseudopolynomial algorithm for the problem, with running time polynomial in the numbers that appear in the instance. The usual knapsack (single-dimensional) obviously has a pseudopolynomial algorithm (DP), but this algorithm cannot be generalized to multidimensional KP, as the dimension of the KP appears in the exponent of the running time. I hope that I did not mess up anything in my definitions...&lt;/p&gt;&#xA;" OwnerUserId="22315" LastEditorUserId="3247" LastEditDate="2014-04-01T15:53:04.663" LastActivityDate="2015-05-20T01:10:54.907" Title="Multidimensional knapsack STRONGLY NP-complete" Tags="&lt;reference-request&gt;&lt;np-hardness&gt;" AnswerCount="5" CommentCount="6" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21866" PostTypeId="1" AcceptedAnswerId="21874" CreationDate="2014-04-01T14:51:15.957" Score="3" ViewCount="3312" Body="&lt;p&gt;I am trying to understand these subtle differences between LTL and CTL logic and one thing I simply don't have an idea how to understand.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Formula &lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;AG AF p &#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;in CTL and a formula&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;GF p&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;in LTL. Why aren't they equivalent? Can you give me an example, please? I tried finding and drawing things, but I simply can't find a counter example and there is no explanation in the lecture materials I have.&lt;/p&gt;&#xA;" OwnerUserId="22316" LastActivityDate="2016-06-16T14:40:49.443" Title="CTL and LTL logic difference" Tags="&lt;linear-temporal-logic&gt;&lt;temporal-logic&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="21867" PostTypeId="2" ParentId="21865" CreationDate="2014-04-01T15:04:37.080" Score="3" Body="&lt;p&gt;A possible reduction is from Exact Cover by Three Sets (X3C) (which is strongly NP-hard):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;b&gt;Instance&lt;/b&gt;: a set $X = \{ x_1,x_2,...,x_{3n}\}$ and a family $F_i = \{ ( x_{i_1}, x_{i_2}, x_{i_3}) \}, i=1,...,m$ of 3-elements subsets of $X$ (triples);&lt;br&gt;&#xA;&lt;b&gt;Question&lt;/b&gt;: Is there a subfamily $F'$ of $F$ such that every element in $X$ is contained in exactly one triple of $F'$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Reduction: given an instance of X3C, just pick a knapsack with $3n$ dimensions each one with maximum capacity $c_i = 1$; pick $n$ objects corresponding to the subsets $F_i$ with profit $1$ and assign weight $a_{ij} = 1$ if and only if $x_j$ is contained in set $F_i$. You can reach a total profit of $n$ if and only if the original X3C problem has a solution, i.e. you can fill the whole knapsack; the objects in the knapsack correspond to the subsets $F_i$ that form a valid exact cover of $X$.&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2014-04-02T08:09:44.560" LastActivityDate="2014-04-02T08:09:44.560" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="21868" PostTypeId="2" ParentId="20185" CreationDate="2014-04-01T15:32:03.660" Score="1" Body="&lt;p&gt;This is intended as a comment, but it's too long to post as a comment.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You might also be interested in graph spanners or emulators for your purposes.  A &lt;em&gt;spanner&lt;/em&gt; of a graph $G = (V, E)$ is a subgraph $H = (V, E')$ with few edges, but approximately preserved distances.  An emulator is a graph $H = (V, E', w)$ whose edges are allowed to be weighted.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The best result for spanners is $O(n^{4/3})$ edges and an additive error of +6 on distance estimates in the graph.  The best result for emulators is $O(n^{4/3})$ edges and an additive error of +4.  It is not known for either if we can beat $O(n^{4/3})$, even if the error is allowed to be polylogarithmic.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If this sounds useful, I can try and dig up the relevant constructions for you.&lt;/p&gt;&#xA;" OwnerUserId="11051" LastActivityDate="2014-04-01T15:32:03.660" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21869" PostTypeId="2" ParentId="21852" CreationDate="2014-04-01T15:50:24.147" Score="3" Body="&lt;p&gt;the question introduces a particular analogy/metaphor not used much by experts and focuses only on P/NP &amp;amp; does not mention any other complexity classes, whereas experts tend to see it as a large interconnected universe of entities as in the &lt;a href=&quot;http://www.math.ucdavis.edu/~greg/zoology/diagram.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;remarkable diagram created by Kuperberg&lt;/a&gt;. it would be neat to compile a large list of analogies of complexity classes, there are many such analogies. it talks about &quot;filing away&quot; problems proven as NP complete and &quot;excitement over new approaches&quot;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;one can understand that there was initial &quot;excitement&quot; on discovering the NP complete class, but some &quot;excitement&quot; has faded after now over four decades of intense effort to prove P≠NP seems not to have gone anywhere promising and some researchers feel that we are no closer. history is full of researchers who spent long years working on problems without any or much apparent progress sometimes with later regret. so NP complete can serve (to borrow Aaronson's analogy) as a sort of &quot;electric fence&quot;, a warning/&lt;em&gt;caveat&lt;/em&gt; not to get too involved in attempts on (here literally, in more ways than one) &quot;intractable&quot; problems.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;it is true there is a major aspect of &quot;cataloging&quot; NP complete problems that still continues. however massive &quot;finer-grained&quot; research on key NP complete problems (SAT, clique detection, etc) continues. (actually a very similar phenomenon occurs wrt undecidable problems: once proven undecidable, its as if they are ruled a &quot;no mans land&quot; for further inquiry.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;so all NP complete problems are proven equivalent &lt;em&gt;as far as current theory&lt;/em&gt; and this sometimes shows in striking conjectures such as the &lt;a href=&quot;http://en.wikipedia.org/wiki/Berman%E2%80%93Hartmanis_conjecture&quot; rel=&quot;nofollow noreferrer&quot;&gt;Berman-Hartmanis&lt;/a&gt; isomorphism conjecture. researchers are hopeful that this will change someday. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;this question is labelled &lt;code&gt;soft-question&lt;/code&gt; with good reason. you will not find serious scientists much discussing analogies in their papers, which veers into &lt;a href=&quot;https://cstheory.stackexchange.com/questions/18968/&quot;&gt;popular science&lt;/a&gt;, preferring instead to focus on mathematical precision/rigor (and as emphasized in the communication guidelines for this group). nevertheless there is some value here for educating &amp;amp; communicating with outsiders/laymen.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;here are a few &quot;counter-analogies&quot; for laymen along with &quot;research leads&quot; to the concepts. this could be made into a longer list. &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;there is an analogy of territories in the question. but it makes more sense to think of major regions of complexity theory including &lt;em&gt;within&lt;/em&gt; known classes as &lt;em&gt;terra incognita&lt;/em&gt;. in other words there is a region of P intersect NP. both P and NP are fairly well understood but it is not known if the region P ⋂ NP-hard (P intersect NP-hard) is empty or not.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://www.scottaaronson.com/blog/?p=1720&quot; rel=&quot;nofollow noreferrer&quot;&gt;Aaronson&lt;/a&gt; recently gave the metaphor of two apparently different types of frog species that never mix for P/NP. he also referred to the &quot;invisible electric fence&quot; between the two.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;particle physics studies the standard model. physics studies the composition of particles just as complexity theory studies the composition of complexity classes. in physics there is some uncertainty about how some particles give rise to others (&quot;establishing boundaries&quot;) just as in complexity theory.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://complexityzoo.uwaterloo.ca/Complexity_Zoo&quot; rel=&quot;nofollow noreferrer&quot;&gt;&quot;the complexity zoo&quot;&lt;/a&gt;, its like a lot of exotic animals that have different capabilities, some small/weak &amp;amp; some large/powerful.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;complexity classes are like a smooth time/space continuum as seen in the &lt;a href=&quot;http://en.wikipedia.org/wiki/Time_hierarchy_theorem&quot; rel=&quot;nofollow noreferrer&quot;&gt;Time&lt;/a&gt;/&lt;a href=&quot;http://en.wikipedia.org/wiki/Space_hierarchy&quot; rel=&quot;nofollow noreferrer&quot;&gt;Space&lt;/a&gt; hierarchy theorems with key &lt;a href=&quot;http://www.cse.unsw.edu.au/~tw/phase.ppt&quot; rel=&quot;nofollow noreferrer&quot;&gt;&quot;transition points&quot;&lt;/a&gt; (surprisingly quite deeply analogous to physical matter phase transitions) between the various states.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;a Turing machine is a &lt;em&gt;machine&lt;/em&gt; with &quot;moving parts&quot; and machines do &lt;em&gt;work&lt;/em&gt; which is equivalent to &lt;em&gt;energy&lt;/em&gt; measurements, and they have &lt;em&gt;time/space&lt;/em&gt; measurements. so complexity classes can be seen as &lt;a href=&quot;https://cstheory.stackexchange.com/questions/4204/&quot;&gt;&quot;energy&quot;&lt;/a&gt; associated with black box input-output transformations.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;there are many possible analogs from &lt;a href=&quot;https://mathoverflow.net/questions/160265/analogues-of-p-vs-np-in-the-history-of-mathematics&quot;&gt;Mathematics history&lt;/a&gt; ie the problem of squaring the circle, finding algebraic solutions to the quintic equation, etcetera.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://intractability.princeton.edu/blog/2009/05/program-for-workshop-on-impagliazzos-worlds&quot; rel=&quot;nofollow noreferrer&quot;&gt;Impaggliazo's worlds&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0691156492&quot; rel=&quot;nofollow noreferrer&quot;&gt;Fortnows new book&lt;/a&gt; contains much popular science analogy for mining.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Encryption/Decryption: Turing famously worked on this during WWII and a lot of theorem proving about differences in complexity classes might seem analogous to decryption problems. this is made more solid with papers like &lt;a href=&quot;http://en.wikipedia.org/wiki/Natural_proof&quot; rel=&quot;nofollow noreferrer&quot;&gt;Natural Proofs&lt;/a&gt; where complexity class separation is related directly to &quot;breaking&quot; pseudo random number generators.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Compression/decompression: different complexity classes allow for/represent different amounts of data compression. for example suppose P/poly contains NP. that would mean that there are &quot;smaller&quot; entities (namely circuits) that can &quot;encode&quot; &quot;larger&quot; NP complete problems, ie the larger (data) structures can be &quot;compressed&quot; efficiently into smaller (data) structures.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;along the zoo/animal analogy, there is a strong &lt;a href=&quot;http://en.wikipedia.org/wiki/Blind_men_and_an_elephant&quot; rel=&quot;nofollow noreferrer&quot;&gt;Blind man and elephant&lt;/a&gt; aspect to complexity theory. the field is still apparently/possibly in its earlier stages of a very long arc (this is not implausible or unheard-of wrt other math fields that have spans of centuries or even millenia) and much knowledge can be seen as partial, disjoint, and fragmented.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;so in short the question asks about &quot;optimism associated with reductions&quot;. scientists generally refrain from emotions or even laugh at them at times in their purely logical search. there is a balance of both longterm pessimism and cautious optimism in the field &amp;amp; while there is some room for informality, all serious researchers should strive toward impartiality in their professional attitudes as part of the job description. understandably there is a focus on small victories and incrementalism and not getting &quot;carried away&quot;.&lt;/p&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.530" LastActivityDate="2014-04-01T15:57:01.090" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="21870" PostTypeId="2" ParentId="21843" CreationDate="2014-04-01T16:11:01.763" Score="2" Body="&lt;p&gt;Here, I cranked out the &lt;a href=&quot;https://oeis.org/A186202&quot; rel=&quot;nofollow&quot;&gt;black box optimum&lt;/a&gt; to detect any subgroup of $S_{n}$, still exponential but much faster than brute force over all $n!$ permutations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Your problem is around $O(n  \log  rb)$ with repeated doubling if you have $g$ given to you as a permutation in $S_{n}$.&lt;/p&gt;&#xA;" OwnerUserId="2021" LastActivityDate="2014-04-01T16:11:01.763" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="21871" PostTypeId="2" ParentId="21843" CreationDate="2014-04-01T16:43:48.323" Score="1" Body="&lt;p&gt;Your problem is equivalent to the CONF problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$g^b \; = \; g^{\hspace{.02 in}b\cdot 1} \; = \; g^{\hspace{.02 in}b\cdot r\cdot \operatorname{modinv}(r\hspace{-0.02 in},\hspace{.02 in}p)} \; = \; \left(g^{\hspace{.02 in}b\cdot r}\hspace{-0.03 in}\right)^{\hspace{-0.02 in}\operatorname{modinv}(r\hspace{-0.02 in},\hspace{.02 in}p)} \; = \; \left(g^{br}\hspace{-0.03 in}\right)^{\hspace{-0.02 in}\operatorname{modinv}(r\hspace{-0.02 in},\hspace{.02 in}p)} \; = \; \left(g^{rb}\hspace{-0.03 in}\right)^{\hspace{-0.02 in}\operatorname{modinv}(r\hspace{-0.02 in},\hspace{.02 in}p)}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One can find an suitable output for your problem by chossing $\: r=2 \:$ or $\: r=1$&#xA;&lt;br&gt;&#xA;according to whether $\: g^a = g \:$ or $\: g^a \neq g \:$, $\:$ and then outputting $\:r,g^r\hspace{-0.02 in},\left(g^b\right)^r\;$.&#xA;&lt;br&gt;&lt;br&gt;&lt;/p&gt;&#xA;" OwnerDisplayName="user6973" LastActivityDate="2014-04-01T16:43:48.323" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="21872" PostTypeId="2" ParentId="21863" CreationDate="2014-04-01T16:43:56.000" Score="3" Body="&lt;p&gt;there is some research angle here dating at least to Knuth's Art of Computer Programming and presumably earlier in finding &lt;em&gt;optimal&lt;/em&gt; sorting networks for low $n$. its intractable to find optimal sorting networks for small $n$ but it has been done up to about $n=10$ eg as in this recent notable paper, also using SAT. details about how to reduce the problem to SAT are in the paper. basically a large SAT formula encoding is built that asserts &quot;these boolean variables configure a circuit that sorts all inputs for size $n$&quot;. (the more nonresearch angle is to use &lt;a href=&quot;http://en.wikipedia.org/wiki/Sorting_algorithm&quot; rel=&quot;nofollow&quot;&gt;existing sort algorithms&lt;/a&gt; or sorting network configurations as mentioned in the paper by Har-Peled you cite to generate the &lt;em&gt;(nonoptimal)&lt;/em&gt; circuits, this is more like a CS/EE exercise.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://arxiv.org/abs/1310.6271&quot; rel=&quot;nofollow&quot;&gt;Optimal Sorting Networks&lt;/a&gt; Daniel Bundala, Jakub Závodný&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;This paper settles the optimality of sorting networks given in The Art of Computer Programming vol. 3 more than 40 years ago. The book lists efficient sorting networks with n &amp;lt;= 16 inputs. In this paper we give general combinatorial arguments showing that if a sorting network with a given depth exists then there exists one with a special form. We then construct propositional formulas whose satisfiability is necessary for the existence of such a network. Using a SAT solver we conclude that the listed networks have optimal depth. For n &amp;lt;= 10 inputs where optimality was known previously, our algorithm is four orders of magnitude faster than those in prior work.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2014-04-01T16:43:56.000" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21874" PostTypeId="2" ParentId="21866" CreationDate="2014-04-01T18:56:06.777" Score="9" Body="&lt;p&gt;There are already some rather good related answers regarding LTL versus CTL. In a nutshell, LTL is first and foremost a logic of traces, and an LTL formula is true for a transition system $S$ if and only if it is true for each trace of $S$. CTL, on the other hand, is a branching-time logic, which can in a sense talk about multiple paths at the same time. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;One standard example here (not the one you give, about which more below) is a labelled transition system $S=(Q,T,q_0,L)$ with set of locations $Q=\{q_0,q_1,q_2\}$, set of transitions $T=\{(q_0,q_0),(q_0,q_1),(q_1,q_2),(q_2,q_2)\}$, and labelling given by $L(q_0)=L(q_2)=\{p\}$, $L(q_1)=\emptyset$. This system satisfies $FGp$, but not $AFAGp$, which can be seen as follows.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$FGp$ means that for every path $\pi=s_1,s_2,\dots$ in a given system, there is some point after which $p$ is always satisfied, i.e. there is some $i$ such that for all $j\geq i$, $p\in L(s_i)$. This is satisfied by $S$ since every path in $S$ either remains in $q_0$ forever (such that $p$ is always satisfied) or eventually gets to $p_2$ (after which $p$ is always satisfied). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, $AFAGp$ means that every path $\pi=s_1,s_2,\dots$ eventually reaches a state satisfying $AGp$, i.e. a state such that on &lt;em&gt;every path $\pi'$ starting there&lt;/em&gt;, $p$ is always satisfied. Formally, this means that there is an $i$ such that for all $\pi'=s_1',s_2',\dots$ with $s_1'=s_i$ and all $j$, we have $p\in L(s_j')$. But in $S$, for the path which always remains in $q_0$, the transition to $q_1$, where $p$ is not satisfied, is always available, so that at no point of that path $AGp$ holds; therefore $AFAGp$ is not satisfied by $S$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;As for your example, this is actually a case where two formulas &lt;em&gt;are&lt;/em&gt; equivalent. This does happen. The proof is a little involved, but I can add it if you are interested.&lt;/p&gt;&#xA;" OwnerUserId="5183" LastActivityDate="2014-04-01T18:56:06.777" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="21875" PostTypeId="1" AcceptedAnswerId="21909" CreationDate="2014-04-01T20:01:20.177" Score="3" ViewCount="123" Body="&lt;p&gt;Let $P = (V,\leq_P)$ be a poset, and for each $x \in V$ let $x^P = \{ y \in V : x \leq_P y \}$. A well-known property of certain posets (forests, Young diagrams) is the existence of a simple &lt;em&gt;hook length formula&lt;/em&gt; counting their linear extensions - while the problem is $\# P$-hard in general. To make this notion precise, we say that $P$ has a hook length formula if there exists a function $h : V \rightarrow \mathbb{N}$ such that for every $x \in V$, the number of extensions of $P | x^P$ is equal to:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;L(x) = $\frac{|x^P|!}{\prod_{y \geq_P x} h(y)}$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;It can be seen that this property is preserved by some natural operations: parallel composition, adjonction of a minimal or maximal element. This immediately implies the Knuth hook formula for forests, although it has a number of different proofs (including some of algorithmic nature).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'd like to know if there are examples of other operations preserving/breaking the existence of a hook length formula, in particular is it possible to define a gluing operation extending the above adjonction operation?&lt;/p&gt;&#xA;" OwnerUserId="21714" LastEditorUserId="21714" LastEditDate="2014-04-01T21:52:56.643" LastActivityDate="2014-04-03T12:20:29.933" Title="Hook length formuli and their invariance properties?" Tags="&lt;order-theory&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21876" PostTypeId="1" CreationDate="2014-04-01T20:45:15.773" Score="4" ViewCount="179" Body="&lt;p&gt;Metamathematics started in the 19th century with the discovery of paradoxes intrinsic to certain axiom systems involving infinite objects; attempts to resolve these paradoxes led to the formulation of set theory, transfinite arithmetics, and more recently to model theory/proof theory.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;While of interest to mathematicians, this line of research had so far a small impact on combinatoricians / computer scientists which deal with finite or countable structures. In particular the countable structures we are interested in are often $\omega$-categorical which rules out the possibility of independence results &lt;em&gt;à la Gödel&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So I would like to know if there are examples of interactions of metamathematics with &quot;concrete&quot; combinatorics (by which I mean essentially discrete algebra, structured algorithms and computational complexity), and how these kinds of interaction could possibly materialize given the apparent absence of overlap of the fields.&lt;/p&gt;&#xA;" OwnerUserId="21714" LastEditorUserId="21714" LastEditDate="2014-04-01T22:03:24.117" LastActivityDate="2014-04-01T22:03:24.117" Title="Interaction between metamathematics and combinatorics?" Tags="&lt;big-picture&gt;" AnswerCount="0" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="21878" PostTypeId="2" ParentId="21836" CreationDate="2014-04-01T21:29:57.507" Score="21" Body="&lt;p&gt;$\mathrm{Prop}$ is &lt;em&gt;impredicative&lt;/em&gt;, which create a very expressive proof system. However it is &quot;too&quot; expressive in the following sense:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$ \mathrm{impredicative\ Prop} + \mathrm{large\ elimination} + \mathrm{excluded\ middle} $$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;is inconsistent. Usually you want to keep the possibility to add the excluded middle, so one solution is to keep large elimination and make Prop predicative. The other is to suppress large elimination.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Coq did both! They renamed the predicative Prop to Set, and disabled large elimination in Prop.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The expressiveness gained by impredicativity is &quot;reassuring&quot; in the sense 99% of &quot;reasonable&quot; mathematics can be formalized with it, and it is known to be consistent relative to set theory. This makes it likely they won't weaken it to something like Agda, which only has predicative universes.&lt;/p&gt;&#xA;" OwnerUserId="3984" LastEditorUserId="898" LastEditDate="2014-04-01T21:44:49.283" LastActivityDate="2014-04-01T21:44:49.283" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="21879" PostTypeId="2" ParentId="21865" CreationDate="2014-04-01T21:39:14.973" Score="2" Body="&lt;p&gt;I believe you could also reduce from bin-packing which is strongly NP-complete according to wikipedia.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider this instance of MD-KS:&#xA;$$&#xA;\max \sum_{i = 1, j = 1}^{n, m} x_{i,j} \\&#xA;s.t.: \sum_{j} x_{i,j} \le 1 \\&#xA;\;\;\;\;\;\;\;\; \sum_{i} a_{i} x_{i,j} \le b \\&#xA;\;\;\;\;\;\;\;x_{i, j} \in \{0, 1 \}&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The optimization problem above finds the maximum number of objects out of $n$ objects, which can be fit into $m$ bins of size $b$ (size/weight of object $i$) is $a_i$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Bin Packing (decision problem): Given $n$ objects, can we fit them in $m$ bins?&#xA;Solution: Run optimization above and return true if the optimal value is $n$. False otherwise.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The size of MD-KP here is $mn$ variables and $n + m$ constraints. The size of corresponding bin-packing problem is $n$ objects and $m$ bins. In any case, the sizes are polynomial-ly related so I believe the reduction is valid.&lt;/p&gt;&#xA;" OwnerUserId="22040" LastActivityDate="2014-04-01T21:39:14.973" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="21880" PostTypeId="2" ParentId="21832" CreationDate="2014-04-01T21:49:29.707" Score="6" Body="&lt;p&gt;You can try the Coq user manual, in particular &lt;a href=&quot;https://coq.inria.fr/doc/language/cic.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;this section&lt;/a&gt; is pretty nice (the server seems to be down at the moment though).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For meta-theory you can try some recent work of Benjamin Werner &lt;em&gt;et al.&lt;/em&gt;, see &lt;a href=&quot;http://www.lmcs-online.org/ojs/viewarticle.php?id=675&quot; rel=&quot;nofollow noreferrer&quot;&gt;Proof-irrelevant model of CC with predicative induction and judgmental equality&#xA;&lt;/a&gt; and &lt;a href=&quot;http://arxiv.org/abs/0808.3928&quot; rel=&quot;nofollow noreferrer&quot;&gt;On the strength of proof-irrelevant type theories&lt;/a&gt; for the most salient work.&lt;/p&gt;&#xA;" OwnerUserId="3984" LastEditorUserId="9552" LastEditDate="2019-08-26T08:40:21.333" LastActivityDate="2019-08-26T08:40:21.333" CommentCount="0" ContentLicense="CC BY-SA 4.0" />
  <row Id="21881" PostTypeId="2" ParentId="21831" CreationDate="2014-04-01T21:59:20.683" Score="3" Body="&lt;p&gt;Andrej answer covers uses of extraction, but as far as &lt;em&gt;expressiveness&lt;/em&gt; goes, I believe that having impredicative Prop leads to a system that is strictly stronger than Agda. In fact &quot;Martin-Löf type theory with universes&quot; is sometimes called &quot;Luo's predicative UTT&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One subtle issue is &lt;strong&gt;induction-recursion&lt;/strong&gt;, which gives Agda significant power and seems to be absent in Coq. However there is a &lt;a href=&quot;http://www.cs.ru.nl/~venanzio/publications/induction_recursion.ps&quot; rel=&quot;nofollow&quot;&gt;trick&lt;/a&gt; by V. Capretta (It's likely been independently discovered) which allows expressing such definitions in Coq.&lt;/p&gt;&#xA;" OwnerUserId="3984" LastActivityDate="2014-04-01T21:59:20.683" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21882" PostTypeId="1" AcceptedAnswerId="21887" CreationDate="2014-04-01T22:09:38.333" Score="9" ViewCount="317" Body="&lt;p&gt;Most dependent typed systems have a strict positivity conditions for inductive types. Does anybody know an example where violation of the condition leads to inconsistency in the system?&lt;/p&gt;&#xA;" OwnerUserId="21833" LastActivityDate="2014-04-02T12:04:14.427" Title="Example of where violation of strict positivity condition in inductive types leads to inconsistency" Tags="&lt;lo.logic&gt;&lt;type-theory&gt;&lt;dependent-type&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21883" PostTypeId="2" ParentId="21799" CreationDate="2014-04-01T22:19:56.990" Score="3" Body="&lt;p&gt;In addition to Martin's answer, you can try the &quot;British school&quot;:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Altenkirch, McBride &amp;amp; McKinna &lt;a href=&quot;http://www.cs.nott.ac.uk/~txa/publ/ydtm.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Why Dependent Types Matter&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Goguen, McBride &amp;amp; McKinna &lt;a href=&quot;https://static.googleusercontent.com/media/research.google.com/en//pubs/archive/99.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Eliminating Dependent Pattern-Matching&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I'm sure that by this point you've been told to read Ulf Norrel's PhD dissertation. In fact pretty much any paper by Ulf is useful in this regard.&lt;/p&gt;&#xA;" OwnerUserId="3984" LastEditorUserId="55535" LastEditDate="2020-04-30T22:47:40.450" LastActivityDate="2020-04-30T22:47:40.450" CommentCount="0" ContentLicense="CC BY-SA 4.0" />
  <row Id="21886" PostTypeId="2" ParentId="21865" CreationDate="2014-04-02T06:00:03.423" Score="2" Body="&lt;p&gt;Ok, let me try to answer this myself:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;I was looking for a &lt;em&gt;reference&lt;/em&gt;, not a proof. My hope was that it is in fact a two-line proof, and that I was just missing that. This seems to be true. The people who saw it, never wrote it up; everybody else just repeated the fact, without seeing the proof, I guess.&lt;/li&gt;&#xA;&lt;li&gt;You can use reduction from &lt;em&gt;any&lt;/em&gt; problem that can be formulated as an ILP with&#xA;&lt;ul&gt;&#xA;&lt;li&gt;polynomial number of constraints/variables,&lt;/li&gt;&#xA;&lt;li&gt;only non-negative (integer) coefficients in the ILP formulation and objective function,&lt;/li&gt;&#xA;&lt;li&gt;bounded maximum coefficient in the ILP is (either constant or some polynomial in the size of the instance), and&lt;/li&gt;&#xA;&lt;li&gt;all constraints are $\le$.&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;li&gt;Any problem that is NP-hard and &lt;em&gt;does not involve numbers&lt;/em&gt;, is strongly NP-hard.&lt;/li&gt;&#xA;&lt;li&gt;Just as (yet another) example, you can use the ILP formulation of &lt;em&gt;maximum independent set&lt;/em&gt; as a multidimensional KP, where all coefficients are 0/1. This is the simplest ILP of any problem that I can think of.&lt;/li&gt;&#xA;&lt;li&gt;This indeed results in a polynomial number of constraints (polynomial dimension), but:&lt;/li&gt;&#xA;&lt;li&gt;For &lt;em&gt;fixed dimension&lt;/em&gt;, there exists a polynomial &lt;em&gt;DP&lt;/em&gt; algorithm for finding the best solution; so, it cannot be strongly NP-hard for fixed dimension (@Austin).&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Is all of that correct? Then, sorry for the mess. Otherwise, please tell me if/where I am wrong...&lt;/p&gt;&#xA;" OwnerUserId="22315" LastEditorUserId="22315" LastEditDate="2014-04-02T17:05:40.050" LastActivityDate="2014-04-02T17:05:40.050" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="21887" PostTypeId="2" ParentId="21882" CreationDate="2014-04-02T09:09:19.030" Score="10" Body="&lt;p&gt;It is actually possible to relax strict positivity and remain consistent. For instance, it suffices to only have a positivity condition. That is, we can accept type definitions like&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;  T \triangleq \mu\alpha. (\alpha \to 2) \to 2&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where recursive type variables occur to the left of an even number of arrows and retain consistency.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, theories permitting this sort of inductive type do not have set-theoretic models -- you cannot interpret types as sets and terms as elements of sets. In this case, we are saying that $T$ is isomorphic to its double-powerset (i.e., $T \simeq \mathcal{P}(\mathcal{P}(T))$), and this violates &lt;a href=&quot;http://en.wikipedia.org/wiki/Cantor%27s_theorem&quot;&gt;Cantor's theorem&lt;/a&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since dependent type theories are often used to formalize mathematics, their designers are usually hesitant to add principles which are not compatible with a set-theoretic semantics, even if they are consistent.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT: I'm adding this edit in response to Andrej's question. The type $T$ &lt;em&gt;is consistent&lt;/em&gt; if you add it to (say) Agda; there are no problems with it at all. We only have a problem if we combine non-strict positivity with excluded middle.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The intuition for why is safe is (IMO) best seen through the lens of parametricity. In System F, we can show using parametricity that for any definable functor $F$, the type $\mu F \triangleq \forall \alpha.\; (F\alpha \to \alpha) \to \alpha$ is indeed an inductive type. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, recall that a definable functor $F$ is a type operator $F : \ast \to \ast$, together with an operator &#xA;$$\mathrm{map} : \forall \alpha,\beta.\;(\alpha \to \beta) \to F\;\alpha \to F\;\beta$$&#xA;satisfying the functoriality conditions (i.e., $\mathrm{map}\;id = id$ and $\mathrm{map}\;f\;\circ \mathrm{map}\;g = \mathrm{map}\;(f \circ g$). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, we can define a type operator for the double powerset&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$C = \lambda \alpha.\; (\alpha \to 2) \to 2$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;and because $\alpha$ occurs only positively, we can also define a map operator for it:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;map_C = \lambda f : \alpha \to \beta, a' : (\alpha \to 2) \to 2, k : \beta \to 2.\; a' \;(\lambda a:\alpha.\; k\;(f\;a))&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So we know that $T = \mu C$ is a legitimate inductive type. &lt;/p&gt;&#xA;" OwnerUserId="657" LastEditorUserId="657" LastEditDate="2014-04-02T09:42:17.933" LastActivityDate="2014-04-02T09:42:17.933" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="21891" PostTypeId="1" AcceptedAnswerId="21894" CreationDate="2014-04-02T13:21:25.833" Score="0" ViewCount="122" Body="&lt;p&gt;Given a $n\times m$ grid, let the bottom-left vertex be $s$ and the top-right vertex be $t$.&#xA;Given $k$ non-consecutive edges on the upper horizontal line of the grid, I want to find an upper bound on the number of simple $st$-path using those edges.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If I see  the grid as a box in the plane, I can visualize an $st$-path as a rectilinear curve cutting this box. In this way I can associate each cell of the grid to either one or the other partition, getting as a trivial upper bound the value of $2^{n^2}$.&#xA;Is there any better?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I also thought that, if I am considering only the paths using the $k$ given edges on the upper line, then I can map each of these paths to a cut of the grid graph into $k+1$ partitions.&#xA;Do you know whether any non-trivial upper bound on this number is known?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks for the help!&lt;/p&gt;&#xA;" OwnerUserId="22350" LastActivityDate="2014-04-02T14:17:15.947" Title="Number of $k$-cuts of grid graphs" Tags="&lt;graph-theory&gt;&lt;planar-graphs&gt;&lt;upper-bounds&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21892" PostTypeId="1" CreationDate="2014-04-02T13:29:19.767" Score="5" ViewCount="133" Body="&lt;p&gt;Some structures have a property of closure by a &quot;sum&quot; or &quot;product&quot; operation. Given a family of structures $(S_i)_{i \in I}$, we can then define a new structure denoted by $\sum_{i \in I} S_i$, resp. $\prod_{i \in I} S_i$; structures enjoying this property are vector spaces for instance. I consider these operations as &quot;undirected&quot; as the result does not depend on the order of the summands, up to isomorphism.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am interested in structures for which we can define a &quot;directed sum&quot; / &quot;directed product&quot; operation, meaning that the definition of the sum / product could now depend on the structure of the index set $I$ (e.g. it could be a totally ordered set and we would compute non-commutative sums / products according to this order).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To illustrate this, consider the following definitions for posets. Let $I = (G,\leq)$ be a poset and for each $i \in G$ let $S_i = (U_i,\leq_i)$ be a poset. &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;we define $\sum_{i \in I} S_i$ as the poset $R = (V,\leq')$ with $V = \cup_{i \in G} \{i\} \times U_i$, and $(i,x) \leq' (j,y)$ iff either $i &amp;lt; j$ or ($i = j$ and $x \leq_i y$);&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;we define $\prod_{i \in I} S_i$ as the poset $T = (W,\leq'')$ with $W = \prod_{i \in G} U_i$, and $x \leq'' y$ iff there exists a maximal antichain $A$ of $I$ such that (i) for every $i \in G$ below $A$, $x_i = y_i$, (ii) for every $i \in A$, $x_i \leq_i y_i$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Note that when the poset $I$ has no arcs, then we recover the usual constructions (disjoint union and function dominance).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In particular I would like to know whether (i) there could exist an axiomatic / category-theoretic definition of these &quot;directed&quot; operations, (ii) there are other examples of structures displaying this property.&lt;/p&gt;&#xA;" OwnerUserId="21714" LastEditorUserId="21714" LastEditDate="2014-04-02T13:48:42.760" LastActivityDate="2014-04-02T13:48:42.760" Title="Structures admitting directed sums and directed products?" Tags="&lt;ct.category-theory&gt;&lt;order-theory&gt;" AnswerCount="0" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21893" PostTypeId="2" ParentId="21806" CreationDate="2014-04-02T14:11:01.383" Score="1" Body="&lt;p&gt;This is not possible. Not every graph contains a &quot;nearly regular&quot; subgraph with large average degree.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The explanation given below is from the paper &quot;Every graph of sufficiently large average degree contains a $C_4$-free subgraph of large degree&quot; by Daniela Kuhn and Deryk Osthus.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the paper &quot;Dense subgraphs without 3-regular subgraphs&quot;, Pyber, Rodl and Szemeredi prove that:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(i) Any graph with at least $c_k n \log (\Delta)$ edges contains a $k$-regular subgraph;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(ii) There exist graphs on $\Omega(n \log \log n)$ edges which do not contain a $k$-regular subgraph for every $k \geq 3$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If the answer to your question was yes, then the subgraph $G'$ would satisfy (i) with any constant $k$ (for sufficiently large $\Delta(G)$), and hence contain a $k$-regular subgraph - this contradicts (ii).&lt;/p&gt;&#xA;" OwnerUserId="2300" LastEditorUserId="2300" LastEditDate="2014-04-03T20:23:52.983" LastActivityDate="2014-04-03T20:23:52.983" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="21894" PostTypeId="2" ParentId="21891" CreationDate="2014-04-02T14:17:15.947" Score="0" Body="&lt;p&gt;Consider this variation: we want to find number of paths which goes from $(1,1)-&amp;gt;(n-2,n)$ in $(n-2)\times n$ solid grid, this can be done in almost $2^{n(n-2)}$ possible ways. Then is simple to convert it to your case. Just go up one step, then go left $n$ steps, again up one step and then right $n$ steps. That path covers all of that $k$ edges, and these are just restricted versions, that means independent to $k$, the upperbound is big : $2^{O(n^2)}$.&lt;/p&gt;&#xA;" OwnerUserId="1846" LastActivityDate="2014-04-02T14:17:15.947" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21895" PostTypeId="1" CreationDate="2014-04-02T15:23:05.253" Score="6" ViewCount="180" Body="&lt;p&gt;Given are $n$ $d$-dimensional vectors and $m$ machines where $d$ need not be fixed. The objective is to minimize the makespan i.e., assign the vectors to machines such that the maximum of the component-wise sum is minimized over all machines.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would like to know is there any constant factor approximation algorithm for this problem and is there a generalization of list scheduling to this problem, if so what is its worst-case ratio? &lt;/p&gt;&#xA;" OwnerUserId="22355" LastEditorUserId="1037" LastEditDate="2014-04-02T22:34:50.997" LastActivityDate="2014-04-02T23:52:17.073" Title="Minimize makespan on identical machines when jobs are vectors" Tags="&lt;approximation-algorithms&gt;&lt;scheduling&gt;&lt;approximation&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21897" PostTypeId="2" ParentId="21827" CreationDate="2014-04-02T18:50:03.580" Score="0" Body="&lt;p&gt;&lt;em&gt;This is not an answer but an extended reply to babou's comment.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I suggest looking at some literature on constant-delay enumerators, this can usually be done with 'in place' modification. The simplest example is the lexicographical enumeration of a set of the form $[D]^n$ where $D,n$ are integers. If you identify an element of $[D]^n$ with an $n$-digit word in base $D$, it is easy to see that by starting with the word $(0,\ldots,0)$ and by repeatedly apply the successor operation you get an enumerator with amortized constant delay. The intuition is that a chain of $i$ carry propagations happen with probability $1/D^i$, and thus the average time is $\sum_{i = 1}^{n} i (1/D)^{i-1} (1-\frac{1}{D})$ which is bounded by a function of $D$ only.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More generally, here is how it would work with a trie. Let $d$ be the depth of the trie $T$, initialize an array $w$ of length $d$ storing the words to be enumerated, and a cursor $c$ pointing to the last modified letter of $w$. Perform a dfs of $T$ by updating only the last letter and the cursor: when going back to a parent node move $c$ to the left, when going to a child node write its label under $c$ and move $c$ to the right. It is clear that you get the desired result in time linear in the size in $T$. But this example is not so interesting as it corresponds to a finite language, so the next step would be to look at a star-free language represented by a trie $T$ with self-loops: in that case can you enumerate the words of length $n$ in time $O(|T|+c)$ where $c$ is the number of such words?&lt;/p&gt;&#xA;" OwnerUserId="17699" LastActivityDate="2014-04-02T18:50:03.580" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="21898" PostTypeId="1" AcceptedAnswerId="21904" CreationDate="2014-04-02T19:44:37.900" Score="9" ViewCount="329" Body="&lt;p&gt;I have been having a great deal of difficulty finding a reference that gives simple and straightforward explanation of the following:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose we have $n$ random variables $Y_1, \dots, Y_n$, each of $b$-bits long. (I.e. with values in $\{0, \dots, 2^b-1 \}$). We want a probability space where each $Y_i$ is unbiased (takes on each value with probability exactly $2^{-b}$), and has $k$-independence. That is, for any $i_1 &amp;lt; \dots &amp;lt; i_k$ and any $y_1, \dots, y_k$ we have&#xA;$$&#xA;P(Y_{i_1} = y_1 \wedge \dots \wedge Y_{i_k} = y_k) = 2^{-k b}&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;When $b = 1$ you can always get a probability space of size $n^{k}$ and sometimes you can get $n^{k/2}$ -- is there any clear statement about when these are possible?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can someone point me to references about what happens when $b &amp;gt; 1$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks&lt;/p&gt;&#xA;" OwnerUserId="5538" LastEditorUserId="80" LastEditDate="2014-04-02T19:49:02.880" LastActivityDate="2014-04-03T09:54:24.387" Title="$k$-wise independent probability spaces" Tags="&lt;pr.probability&gt;&lt;limited-independence&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21899" PostTypeId="1" CreationDate="2014-04-02T19:58:30.187" Score="12" ViewCount="473" Body="&lt;p&gt;It is well-known that sorting permutations by transposition is in $\sf{P}$, as the minimum number of transpositions required to sort $\pi \in S_n$ is exactly $inv(\pi) = \{ (i,j) \in [n] \times [n] : i &amp;lt; j \text{ and } \pi(i) &amp;gt; \pi(j) \}$. This notion of &quot;inversion number&quot; has also applications in algebraic combinatorics, for instance it allows to endow $S_n$ with a structure of lattice, called the permutohedron and based on the weak Bruhat order.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It can be illuminating to recast the problem in group-theoretic terms. We are given a group $G$ with generator set $\Gamma$ and a mapping $i_G : \Gamma^* \rightarrow G$, and another group $H$ on which $G$ acts transitively, and we want to solve the following problem: given $h \in H$, find a minimum-length $w \in \Gamma^*$ such that $i_G(w).h = 1_H$. In the permutation case, $G = H = S_n$ and $\Gamma$ is the set of transpositions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Question: are there other instances of this problem which admit efficient algorithms?&lt;/p&gt;&#xA;" OwnerUserId="21714" LastActivityDate="2014-04-03T12:43:26.130" Title="Can we sort without permutations?" Tags="&lt;sorting&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="21900" PostTypeId="1" AcceptedAnswerId="22070" CreationDate="2014-04-02T20:13:18.460" Score="8" ViewCount="373" Body="&lt;p&gt;Related to a recent question (&lt;a href=&quot;https://cstheory.stackexchange.com/questions/20468/bounds-on-the-size-of-the-smallest-nfa-for-l-k-distinct&quot;&gt;Bounds on the size of the smallest NFA for L_k-distinct&lt;/a&gt;) Noam Nisan asked for a method to give a better lower bound for the size of an NFA than what we get from communication complexity bounds. What follows is a special version of that problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose $L$ is a language over some $n$ letter alphabet whose words all have length $3$. Denote the size of the smallest NFA accepting $L$ by $NFA(L)$. Define an $n\times n^2$ matrix $M$ as $M(a;bc)=1$ if $abc\in L$ and otherwise $0$. Denote the minimal number of $1$-submatrices (submatrix that contains only $1$'s) covering all the $1$'s in matrix $M$ by $COV(M)$. (So $\log(COV(M))$ is the non-deterministic communication complexity of $M$.)&#xA;It is easy to see that $NFA(L)\ge COV(M)$. If we similarly define a matrix $N$ as $N(ab;c)=1$ if $abc\in L$ and otherwise $0$, then we also have $NFA(L)\ge COV(N)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there an $L$ for which $NFA(L)&amp;gt;COV(M)+COV(N)?$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By what function of $COV(M)$ and $COV(N)$ can we upper bound $NFA(L)?$&lt;/p&gt;&#xA;" OwnerUserId="419" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2014-05-12T21:37:53.183" Title="Lower bound for NFA accepting 3 letter language" Tags="&lt;fl.formal-languages&gt;&lt;automata-theory&gt;&lt;lower-bounds&gt;&lt;communication-complexity&gt;&lt;nfa&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="21901" PostTypeId="2" ParentId="21899" CreationDate="2014-04-02T20:14:41.667" Score="6" Body="&lt;p&gt;I don't have a definite answer to your question, but &quot;braid sorting&quot; seems a possible candidate. According to &lt;a href=&quot;http://en.wikipedia.org/wiki/Braid_group&quot;&gt;this wikipedia entry&lt;/a&gt; we can define it as follows. Let $X$ be a group, and let $H$ denote the set of tuples $(x_1,\ldots,x_n) \in X^n$ such that $x_1 \ldots x_n = 1_X$. If we let $G$ be the braid group $B_n$ generated by the moves $\sigma_i$,  we can define an action of $B_n$ over $H$ by:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;$\sigma_i(x_1,\ldots,x_n) = (x_1,\ldots,x_{i-1},x_{i+1},x_{i+1}^{-1} x_i x_{i+1},\ldots,x_n).$&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;That is to say, $\sigma_i$ combines the effect of a swap and a conjugation at positions $i$ and $i+1$. It might be possible to solve this problem optimally in polynomial time, which would  answer to your question.&lt;/p&gt;&#xA;" OwnerUserId="21714" LastEditorUserId="21714" LastEditDate="2014-04-02T20:26:39.280" LastActivityDate="2014-04-02T20:26:39.280" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21902" PostTypeId="1" CreationDate="2014-04-02T21:30:04.140" Score="5" ViewCount="130" Body="&lt;p&gt;The problem formulation is as follows:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Input: Undirected graph &lt;span class=&quot;math-container&quot;&gt;$G=(V,E)$&lt;/span&gt;, a set of vertices &lt;span class=&quot;math-container&quot;&gt;$S\subseteq |V|$&lt;/span&gt;, a weight function &lt;span class=&quot;math-container&quot;&gt;$w:E\to \mathbb{R}$&lt;/span&gt; and a threshold &lt;span class=&quot;math-container&quot;&gt;$T\in \mathbb{R}$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Parameter: &lt;span class=&quot;math-container&quot;&gt;$|S|=k$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Problem: decide whether there exist in &lt;span class=&quot;math-container&quot;&gt;$G$&lt;/span&gt; a simple cycle going through &lt;span class=&quot;math-container&quot;&gt;$S$&lt;/span&gt;'s vertices and it's weight is &lt;span class=&quot;math-container&quot;&gt;$\leq T$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Andreas Bjorklund et al. &lt;a href=&quot;http://thorehusfeldt.files.wordpress.com/2010/08/soda2012_submission_247.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;gave a &lt;span class=&quot;math-container&quot;&gt;$O^*(2^k)$&lt;/span&gt; algorithm&lt;/a&gt; for finding the shortest simple cycle through &lt;span class=&quot;math-container&quot;&gt;$k$&lt;/span&gt; vertices (i.e. in this setting &lt;span class=&quot;math-container&quot;&gt;$\forall e:w(e)=1$&lt;/span&gt;).&lt;/p&gt;&#xA;&lt;p&gt;Can this result be extended (or is there other known result) for finding a minimum weight cycle through &lt;span class=&quot;math-container&quot;&gt;$k$&lt;/span&gt; vertices (for a weighted graph) in &lt;span class=&quot;math-container&quot;&gt;$FPT$&lt;/span&gt; time?&lt;/p&gt;&#xA;" OwnerUserId="21001" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2014-04-03T15:10:14.457" Title="Is minimum weight simple cycles through specified vertics fixed parameter tractable?" Tags="&lt;cc.complexity-theory&gt;&lt;graph-algorithms&gt;&lt;parameterized-complexity&gt;&lt;fixed-parameter-tractable&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="21903" PostTypeId="2" ParentId="21895" CreationDate="2014-04-02T23:52:17.073" Score="5" Body="&lt;p&gt;This is the &lt;strong&gt;Vector Scheduling&lt;/strong&gt; (VS) problem. Unless P = NP, VS admits no constant factor approximation algorithm when $d$ is part of the input: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Chekuri, C., Khanna, S.: On multidimensional packing problems.&#xA;&lt;em&gt;SIAM J. Comput.&lt;/em&gt;, 33(4):837-851, 2004. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The same paper gives a polynomial-time approximation scheme when $d$ is not part of the input, and a polynomial time $O((\log d)^2)$ approximation when $d$ is part of the input. The latter was improved to $O(\log d)$ by Meyerson, Roytman and Tagiku (APPROX 2013). For more references and recent results you can refer to:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Bansal, N., Vredeveld, T., van der Zwaan, R.: Approximating Vector Scheduling: Almost Matching Upper and Lower Bounds. &lt;em&gt;Lecture Notes in Computer Science&lt;/em&gt;, 8392:47-59, 2014. &lt;/p&gt;&#xA;" OwnerUserId="392" LastActivityDate="2014-04-02T23:52:17.073" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21904" PostTypeId="2" ParentId="21898" CreationDate="2014-04-03T09:54:24.387" Score="5" Body="&lt;p&gt;For arbitrary $b$, &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/0196677486900192&quot;&gt;Alon, Babai and Itai&lt;/a&gt; showed a lower bound on the probability space size of $m(n,\lfloor k/2 \rfloor)$ where&#xA;$$ m(n,k) = \sum\limits_{i=0}^k \binom{n}{i}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;which is $\Omega(n^{k/2})$ for constant $k$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;They also gave a construction of size $O(n^{k/2})$ in the case of $b = 1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For $b=1$ there is a paper by &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=195409&quot;&gt;Karloff and Mansour&lt;/a&gt; which shows lower bounds and upper bounds for arbitrary probabilities, i.e., for $p_1,\ldots,p_n$ with $p_i = P(Y_i = 1)$. E.g., there are probabilities $p_1,\ldots,p_n$ such that the probability space size is at least $m(n,k)$. They also say that $m(n,k)$ is also a upper bound for arbitrary probabilities.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I don't known any construction with a better upper bound than $O(n^k)$ which is given by the construction (see &lt;a href=&quot;http://projecteuclid.org/euclid.aop/1176996762&quot;&gt;here&lt;/a&gt;) mentioned by Thomas as a comment.&lt;/p&gt;&#xA;" OwnerUserId="2517" LastActivityDate="2014-04-03T09:54:24.387" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21905" PostTypeId="1" CreationDate="2014-04-03T10:10:21.103" Score="2" ViewCount="89" Body="&lt;p&gt;Fix an integer $n$. Considered as a multiplicative group, the sets $A = (\mathbb{Z} / n \mathbb{Z})^*$ and $B = \mathbb{Z} / \phi(n) \mathbb{Z}$ have the same cardinality $\phi(n)$, but it does not seem possible to give a 'well-behaved' bijection witnessing this fact. On the other hand, by considering the ring $R = \mathbb{Z} / n \mathbb{Z}$, it is possible to give a bijection between $R^A$ and $R^B$, considered as sets of functions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Indeed, any element $f \in R^A$ can be written uniquely as $f(x) = \sum_{y \in B} \hat{f}(y) x^y$ with $\hat{f} \in R^B$; this is well-defined as for $x \in R$ we have $x^{\phi(n)}$ congruent to $0$ or $1$ modulo $n$. Conversely, $\hat{f}$ can be recovered as $\hat{f}(y) = \phi(n)^{-1} \sum_{x \in A} f(x) x^{-y}$. This has the desired properties: consider the matrices $K \in R^{A \times B}$ and $L \in R^{B \times A}$ defined by $K(x,y) = x^y$ and $L(y,x) = x^{-y}$, it can then be checked that $K.L = L.K = \phi(n) I$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would like to know if there are references to this bijection in the literature, and if there are other examples of 'indirect bijections' witnessing a combinatorial identity for which a direct bijective proof is not known.&lt;/p&gt;&#xA;" OwnerUserId="21714" LastEditorUserId="21714" LastEditDate="2014-04-03T10:19:25.047" LastActivityDate="2014-04-03T10:19:25.047" Title="A number-theoretic bijection in modular arithmetic" Tags="&lt;reference-request&gt;&lt;combinatorics&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21906" PostTypeId="1" AcceptedAnswerId="21907" CreationDate="2014-04-03T10:16:57.673" Score="2" ViewCount="341" Body="&lt;p&gt;A graph $G$ is $P_k$-free if and only if $G$ does not have an induced subgraph isomorphic to a path of $k$ vertices. Thus, $P_2$-free graphs are exactly &lt;a href=&quot;http://en.wikipedia.org/wiki/Independent_set_%28graph_theory%29&quot; rel=&quot;nofollow&quot;&gt;independent sets&lt;/a&gt; (or stable sets). $P_4$-free graphs are exactly &lt;a href=&quot;http://en.wikipedia.org/wiki/Cograph&quot; rel=&quot;nofollow&quot;&gt;cographs&lt;/a&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question.&lt;/strong&gt; In the worst case, how many $P_3$-free graphs are necessarily needed to partition a $P_4$-free graph of $n$ vertices? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A trivial upperbound is $\frac{n}{2}$. Because graphs of 2 vertices are trivially $P_3$-free, so we can simply partition any graph of $n$ vertices into $\frac{n}{2}$ components with each component having 2 vertices. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A &lt;a href=&quot;http://en.wikipedia.org/wiki/Clique_cover_problem&quot; rel=&quot;nofollow&quot;&gt;clique-cover number&lt;/a&gt; is also an upperbound because clique is also $P_3$-free.&lt;/p&gt;&#xA;" OwnerUserId="6108" LastEditorUserId="2414" LastEditDate="2014-04-03T20:57:40.223" LastActivityDate="2014-04-03T20:57:40.223" Title="Upperbound the order of P3-free partition of P4-free graphs" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;co.combinatorics&gt;&lt;extremal-combinatorics&gt;&lt;cograph&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21907" PostTypeId="2" ParentId="21906" CreationDate="2014-04-03T10:33:24.443" Score="2" Body="&lt;p&gt;&lt;em&gt;I update my reply in light of Aravind's comment. The claim in my previous answer was clearly incorrect but, in my defence, I never had a good intuition about graphs.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By adapting Aravind's argument you can show an upper bound of $O(\sqrt{n})$, as every $n$-vertex perfect graph has an independent set or a clique of size $\sqrt{n}$. It should be possible to show the tightness of the bound by reasoning on the tree-representation of the cograph. Consider for instance a complete binary tree $T$ with $N = 2^n$ vertices, and label its nodes as series/parallel in an alternating fashion. It represents a cograph $G$, and any $P_3$-free subgraph $H$ of $G$ must span a subtree of $T$ that does not contain three alternations along a root-leaf path; it should imply that this graph may have at most $O(\sqrt{N})$ vertices, but I leave the details to you.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A related question would be to look for a partition in bicluster graphs, as they are exactly the bipartite $P_4$-free graphs. Observe that this problem can be solved in polynomial time by computing the chromatic number of the graph: an arbitrary pairing between color classes then gives the optimal partition.&lt;/p&gt;&#xA;" OwnerUserId="21714" LastEditorUserId="21714" LastEditDate="2014-04-03T10:58:04.300" LastActivityDate="2014-04-03T10:58:04.300" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="21908" PostTypeId="1" AcceptedAnswerId="21935" CreationDate="2014-04-03T10:47:11.227" Score="5" ViewCount="379" Body="&lt;p&gt;I once skimmed a paper which examined the probability of two (infinite) graphs picked at random being isomorph. The surprising result was that for two random infinite graphs this probability is quite high as opposed to the finite case. I remember it being referenced in the context of why so many graph invariants  - often claimed to be complete - work correct on most inputs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think the paper was published before the nineties.&lt;/p&gt;&#xA;" OwnerUserId="17410" LastActivityDate="2014-04-04T12:35:47.890" Title="Probability of random (in)finite graphs being isomorphic" Tags="&lt;reference-request&gt;&lt;graph-isomorphism&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="21909" PostTypeId="2" ParentId="21875" CreationDate="2014-04-03T12:20:29.933" Score="0" Body="&lt;p&gt;Consider two posets $P,Q$ and an element $x \in V(P)$. Let $Pe(x)$ denote the immediate predecessors of $x$ and let $Su(x)$ denote the immediate successors of $x$ in $P$. Let $Min_Q,Max_Q$ denote the minimal, resp. maximal, elements of $Q$. Fix two mappings $Conn_1 : Pe(x) \rightarrow Min_Q$ and $Conn_2 : Su(x) \rightarrow Max_Q$. It is then possible to define a poset $R$ by starting with $(P - x) \uplus Q$ and by adding an arc $(w,Conn_1(w))$ for each $w \in Pe(x)$, and an arc $(w,Conn_2(w))$ for each $w \in Su(x)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This operation has a simple meaning for trees: given a tree $T$, you pick a node $u$, and you substitute it by a tree $T'$ by attaching the leaves of $T'$ to the children of $u$ in an injective manner. This means that the trees are closed under this operation of substitution, and thus we could expect that it preserves the property you're interested in. I admit though that I have no idea of what I'm doing with this defn, this might be a joke so please check on your side :)&lt;/p&gt;&#xA;" OwnerUserId="21714" LastActivityDate="2014-04-03T12:20:29.933" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21910" PostTypeId="2" ParentId="21899" CreationDate="2014-04-03T12:43:26.130" Score="4" Body="&lt;p&gt;The following paper by Mark Jerrum studied the problem you mentioned when $G=H=S_n$ and $G=H=A_n$ (the alternating group):&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Mark Jerrum: The Complexity of Finding Minimum-Length Generator Sequences. Theor. Comput. Sci. 36: 265-289 (1985) &lt;a href=&quot;http://dx.doi.org/10.1016/0304-3975(85)90047-7&quot; rel=&quot;nofollow&quot;&gt;http://dx.doi.org/10.1016/0304-3975(85)90047-7&lt;/a&gt; .&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Among other results, he proved that when $G=H=S_n$ and $\Gamma$ is the set of &quot;cyclically adjacent transpositions,&quot; the minimum length of such $w$ can be found in polynomial time.&lt;/p&gt;&#xA;" OwnerUserId="2955" LastActivityDate="2014-04-03T12:43:26.130" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21911" PostTypeId="1" CreationDate="2014-04-03T15:22:10.393" Score="0" ViewCount="70" Body="&lt;p&gt;Following an earlier &lt;a href=&quot;https://cstheory.stackexchange.com/questions/21785/turing-complete-computation-models-on-graphs/21794#21794&quot;&gt;question&lt;/a&gt;, I would like to suggest the following generic computation model. Let $\Gamma$ be a group, we say that a $\Gamma$-labeled digraph is a digraph $G$ whose arcs are labeled by $\Gamma$ and such that for each directed cycle $C$, the product of the labels equals $1_{\Gamma}$. Let $F,G$ be two $\Gamma$-labeled digraphs with two distinguished vertices $s_F,t_F$, resp. $s_G,t_G$. We say that an equivalence relation $R$ on $V(F) \cup V(G)$ is a &lt;em&gt;bisimulation&lt;/em&gt; if:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(1) $s_F ~R~ s_G$ and $t_F ~R~ t_G$,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(2) whenever $u ~R~ v$ holds, if $F$ contains a path $u \rightarrow^*_a u'$ and $G$ contains a path $v \rightarrow^*_a v'$ then $u' ~R~ v'$ also holds (and conversely).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $O(G)$ denote the set of bisimulations of $G$. Fix two digraphs $F,G$ with $V(F) = \{v_1,\ldots,v_m\}$, $v_1 = s_F, v_m = t_F$, and $V(G) = \{w_1,\ldots,w_n\}$, $w_1 = s_G, w_n = t_G$. We may then define a relation $R$ on $O(F) \times O(G)$ as follows. Given $J \in O(F), K \in O(G)$, we say that $(J,K) ~R~ (J',K')$ holds if there is a $\Gamma$-labeled digraph $L$ and an arrangement of curves $\gamma_1,\ldots,\gamma_m, \delta_1,\ldots,\delta_n$ forming a grid-like shape such that:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(*) we can arrange the vertices of $L$ on the union of these curves, and if we let $H_i$ the part mapped to $\gamma_i$ and $V_j$ the part mapped to $\delta_j$, then we have: (a) $H_1 = J, H_n = J'$, $V_1 = K, V_m = K'$, (b) for every $1 \leq i &amp;lt; m$, there is a bisimulation $R_i$ between $H_i$ and $H_{i+1}$ such that for each class $C$ of $R_i$ and $j \in \{i,i+1\}$, the elements of $V(H_j) \cap C$ are &quot;consecutive&quot; on $\gamma_j$, (c) the same condition holds for the pairs $V_j,V_{j+1}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Despite the apparent complexity of the formulation, the motivation is simple: first, we want to break the word/machine dichotomy of TMs by restoring some symmetry between the &quot;computer&quot; and the &quot;data&quot;; second, we try to abstract the geometric &quot;grid-like&quot; structure of a TM and the locality properties of the computation, which are here expressed by the nullity constraint on cycles.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As I come back to ground, I'm not sure if my model has any practicality though, but it may interest some researchers in machine models. Even though the target audience is probably narrow, I'd like to ask: (i) what is the computation power of the model depending on the group $\Gamma$, (ii) can we exploit the geometric definition to get some interesting properties (i.e. possibility of composition by grid juxtaposition)?&lt;/p&gt;&#xA;" OwnerUserId="21714" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2014-04-03T16:26:11.530" Title="Machine models based on group-labeled digraphs?" Tags="&lt;machine-models&gt;" AnswerCount="0" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="21912" PostTypeId="1" CreationDate="2014-04-03T15:27:52.800" Score="7" ViewCount="184" Body="&lt;p&gt;Suppose that $G$ and $H$ are both expander graphs on the same node set $V$ with a second largest eigenvalue of $\lambda_G$ resp. $\lambda_H$.&#xA;Let $G\cup H$ be the graph on $V$ with the smallest set of edges such that both, $G$ and $H$, are subgraphs of $G \cup H$.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;What can be said about the expansion of graph $G \cup H$? In particular, is the spectral gap of $G \cup H$ at least as large as the minimum of the spectral gaps of $G$ and $H$? &lt;/li&gt;&#xA;&lt;li&gt;Is the case where $G$ and $H$ both have constant node degree any different?&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;This is certainly true for the &lt;em&gt;edge expansion&lt;/em&gt; of $G \cup H$, since it can only increase by adding edges. &#xA;I know that spectral expansion and edge expansion are related by the &lt;a href=&quot;http://en.wikipedia.org/wiki/Cheeger_constant_%28graph_theory%29#Cheeger_Inequalities&quot; rel=&quot;nofollow&quot;&gt;Cheeger inequality&lt;/a&gt;, but using this route we only get a bound on the &lt;em&gt;spectral expansion&lt;/em&gt; of $G \cup H$ that is worse than the one given by $\lambda_G$ and $\lambda_H$. &lt;/p&gt;&#xA;" OwnerUserId="6785" LastEditorUserId="6785" LastEditDate="2014-04-04T07:19:56.697" LastActivityDate="2014-04-04T07:19:56.697" Title="Expansion of the union of two expander graphs" Tags="&lt;graph-theory&gt;&lt;expanders&gt;" AnswerCount="0" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="21913" PostTypeId="1" AcceptedAnswerId="22021" CreationDate="2014-04-03T16:36:32.803" Score="2" ViewCount="797" Body="&lt;p&gt;Suppose that we have a two commodities flow network $N=&amp;lt;G=(V,E), s_1,s_2,t_1,t_2\in V&amp;gt;$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem is to find a minimum cost two-commodity flow in which there a flow $f_1$ from $s_1$ to $t_1$ of 2 units and a flow $f_2$ from $s_2$ to $t_2$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;All edges has capacities 1 and cost 1.&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(In two-commodity flow the two flows share the edges capacities, that is $\forall e\in E, f_1(e)+f_2(e)\leq 1$, and the cost is defined as $\Sigma_{_{e\in E}}f_1(e) + f_2(e)$ ).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the general case, multi-commodity flow can have fractional optimum flow even if the capacities/costs are integers, but I was wondering if there's an example for it which doesn't use negative weights and only 2 commodities, so my question is: &lt;strong&gt;Is there be a network with my specifications that doesn't have an optimal integer solution?&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The following example (taken from Idan Maor's presentation) shows that that 3-MCF can have only a fractional optimal flow:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/mV9wF.jpg&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have two motivations here: if such network exists, it can be used to show a very simple example for which using LP for solving this problem can't work, and if there isn't such network, this might allow us to develop an efficient method for finding disjoint paths in a graph (if we can find the optimal solution in poly time).&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Edit: as Suresh have mentioned, 2-commodity flow is NP-hard in the general case, so I'm only looking at the unit capacities/costs case, which I couldn't find a mentioning for it as being NP-hard (Intuitively, I believe an integer solution does exist for every such network)&lt;/p&gt;&#xA;" OwnerUserId="21001" LastEditorUserId="21001" LastEditDate="2014-04-09T15:22:55.127" LastActivityDate="2014-04-09T15:22:55.127" Title="Can the optimal minimum cost two-commodities flow be fractional on this special case?" Tags="&lt;multicommodity-flow&gt;&lt;flow-problems&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="21914" PostTypeId="2" ParentId="21785" CreationDate="2014-04-03T16:41:25.183" Score="2" Body="&lt;p&gt;You can perform universal computation using &lt;em&gt;zero forcing&lt;/em&gt;: a simple, repeated transformation of (improper) 2-colourings of vertices. Starting from an initial configuration in which most vertices are coloured white, except for some black &quot;input&quot; vertices, you repeatedly change the colour of any vertex with exactly one white neighbour to black. Logic gates are represented by specific gadgets which are subgraphs.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;D.&amp;nbsp;Burgarth, V.&amp;nbsp;Giovannetti, L.&amp;nbsp;Hogben, S.&amp;nbsp;Severini, M.&amp;nbsp;Young.&lt;br&gt;&#xA;  &lt;em&gt;Logic circuits from zero forcing&lt;/em&gt;.&lt;br&gt;&#xA;  [&lt;a href=&quot;http://arxiv.org/abs/1106.4403&quot; rel=&quot;nofollow&quot;&gt;arXiv:1106.4403&lt;/a&gt;]&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="248" LastEditorUserId="248" LastEditDate="2014-04-03T20:52:15.867" LastActivityDate="2014-04-03T20:52:15.867" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21915" PostTypeId="1" AcceptedAnswerId="21919" CreationDate="2014-04-03T18:05:30.637" Score="8" ViewCount="200" Body="&lt;p&gt;Definition: A &quot;$k$-chain&quot; is a multi-graph obtained from a path of length $k$ by duplicating every edge.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that the number of paths between two endpoints of a $k$-chain is $2^k.$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Question: Let $G$ be a simple graph on n nodes and let $s$ and $t$ be two nodes of $G.$ Suppose that number of (simple) paths from s to t in $G$ is at least $n^k.$ Then, is it possible to obtain a $\Omega(k)$-chain from $G$ with ($s$ and $t$ as endpoints) by a sequence of deletion and contraction of edges?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If the answer is positive then the second part of question is whether there is an efficient algorithm to obtain such a large chain.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would be equally happy with $\sqrt k$-chain or $k^\alpha$ for any $\alpha &amp;gt;0.$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would appreciate any partial answer or any intuition on whether such a conjecture should hold.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I had posted this on math overflow few days back. Someone suggested to post it here as well.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://mathoverflow.net/questions/161451/do-graphs-with-large-number-of-paths-contain-large-chain-minor&quot;&gt;https://mathoverflow.net/questions/161451/do-graphs-with-large-number-of-paths-contain-large-chain-minor&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="22365" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.530" LastActivityDate="2014-04-11T06:33:56.980" Title="Do graphs with large number of paths contain large chain minor?" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;graph-minor&gt;" AnswerCount="2" CommentCount="5" FavoriteCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21916" PostTypeId="1" AcceptedAnswerId="22006" CreationDate="2014-04-03T18:14:42.580" Score="16" ViewCount="307" Body="&lt;p&gt;I'm trying to understand the complexity of functions expressible via threshold gates and this led me to $\mathsf{TC}^0$. In particular, I'm interested what's currently known about learning inside $\mathsf{TC}^0$, since I'm not an expert in the area. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;What I've discovered thus far is:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;All of  $\mathsf{AC}^0$ can be learned in quasipolynomial time under the uniform distribution via &lt;a href=&quot;http://www.cs.columbia.edu/~rocco/Teaching/S12/Readings/LMN.pdf&quot; rel=&quot;nofollow&quot;&gt;Linial-Mansour-Nisan&lt;/a&gt;. &lt;/li&gt;&#xA;&lt;li&gt;Their paper also points out that existence of a pseudorandom function generator prevents learning, and this, coupled with a later result of &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=972643&quot; rel=&quot;nofollow&quot;&gt;Naor-Reingold&lt;/a&gt; that $\mathsf{TC}^0$ admits PRFGs, suggests that $\mathsf{TC}^0$ represents the limits of learnability (at least in a PAC-sense)&lt;/li&gt;&#xA;&lt;li&gt;There's a 2002 paper by &lt;a href=&quot;http://www.stat.ucla.edu/~cocteau/dimacs/servedio.pdf&quot; rel=&quot;nofollow&quot;&gt;Jackson/Klivans/Servedio&lt;/a&gt; that can learn a fragment of $\mathsf{TC}^0$ (with at most polylogarithmic majority gates). &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I've done the usual google scholaring, but am hoping the collective wisdom of cstheory might have a quicker answer: &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is what I described the state of the art for our understanding of the&#xA;  complexity of learning (in terms of which classes sandwich efficient&#xA;  learners) ? And is there a good survey/reference that maps out the current state of the landscape ? &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="80" LastEditorUserId="4896" LastEditDate="2014-04-08T16:58:52.717" LastActivityDate="2014-04-08T16:58:52.717" Title="On the status of learnability inside $\mathsf{TC}^0$" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;cr.crypto-security&gt;&lt;lg.learning&gt;&lt;boolean-functions&gt;" AnswerCount="2" CommentCount="6" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="21917" PostTypeId="1" CreationDate="2014-04-03T18:14:48.437" Score="13" ViewCount="1068" Body="&lt;p&gt;The usual way of proving undecidability is by reduction from a RE-complete problem such as the halting problem, validity in first order logic, satisfiability of Diophantine equations, etc.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is known that there are recursively enumerable, but undecidable problems that are not RE-complete, but these are artificial constructions (that is, sets that have been defined just for showing this &quot;density&quot; result).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;How would one tackle proving undecidability without reduction from a RE-complete problem? Diagonalization?&lt;/p&gt;&#xA;" OwnerUserId="9598" LastActivityDate="2014-04-05T04:41:34.683" Title="Proof of undecidability not by reduction from the halting problem" Tags="&lt;computability&gt;" AnswerCount="3" CommentCount="6" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="21919" PostTypeId="2" ParentId="21915" CreationDate="2014-04-03T19:40:06.933" Score="2" Body="&lt;p&gt;Seems this is a FPT algorithm for a fixed $k$. First of all we can just consider a block which contains $s,t$. If we have a $k\times k$ grid minor which contains $s,t$ then we can find the corresponding chain. As otherwise, as &lt;a href=&quot;http://arxiv.org/abs/1305.6577&quot; rel=&quot;nofollow&quot;&gt;Chekuri et al.&lt;/a&gt; shown, the graph has tree width at most $O(k^{1/\delta})$ where $\delta &amp;gt; 0$ is some constant. So we can compute the tree decomposition of graph then check whether that chain exists or not. I'm not sure if with usual dynamic programming on graphs of bounded tree width is possible to find the chain. Also if is not bounded tree width, their algorithm can find the corresponding grid in polynomial time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;P.S: Note that I didn't use the fact that there are $n^k$ s-t paths, may be by some trick inside this fact is possible to obtain better algorithm. &lt;/p&gt;&#xA;" OwnerUserId="1846" LastEditorUserId="1846" LastEditDate="2014-04-03T19:45:19.480" LastActivityDate="2014-04-03T19:45:19.480" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="21921" PostTypeId="1" CreationDate="2014-04-03T23:34:51.000" Score="2" ViewCount="166" Body="&lt;p&gt;The following notion comes from algebraic combinatorics and might have some connections to language/permutation theory. Fix an integer $k$. Let us call a &lt;em&gt;$k$-Yamanouchi word&lt;/em&gt; a sequence $u$ of integers in $[k]$ such that (i) for every prefix $v$ of $u$, we have $|v|_k \geq |v|_{k-1} \geq \ldots \geq |v|_1$, (ii) when $v = u$, the equalities hold.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;These words generalize the notion of Dyck words, which are basically 2-Yamanouchi words. It is well-known that Dyck words are counted by Catalan numbers and can be put in bijection with numerous objects (see e.g. &lt;a href=&quot;http://mupad-combinat.sourceforge.net/doc/en/combinat/dyckWords.html&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;). On the other hand, $k$-Yamanouchi words are in bijection with Young tableaux of rectangular shape $k \times n$, and thus are counted by the &quot;hook length formula&quot;:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$Y^k_n = \frac{(kn)!}{n! (n+1)! \ldots (n+k)!}.$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm not aware of any other known bijections involving $k$-Yamanouchi words, so I am asking for possible references or new bijections, involving for instance trees or permutations. A note of caution: these objects seem much harder to handle algebraically than Dyck words so it's not clear whether they can give rise to &quot;well-structured&quot; objects such as trees.&lt;/p&gt;&#xA;" OwnerUserId="21714" LastEditorUserId="21714" LastEditDate="2014-04-03T23:49:54.507" LastActivityDate="2014-04-03T23:49:54.507" Title="Existence of bijective proofs involving Yamanouchi words?" Tags="&lt;reference-request&gt;&lt;co.combinatorics&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21924" PostTypeId="2" ParentId="19315" CreationDate="2014-04-04T02:11:00.673" Score="1" Body="&lt;p&gt;This is not really an answer, but as described &lt;a href=&quot;https://cstheory.stackexchange.com/questions/21631/notion-of-associativity-for-ternary-relations&quot;&gt;here&lt;/a&gt; I believe that for the $\sf{P}$-complete problem $\sf{GEN}$ it should be possible to define some &quot;complexity measure&quot; on the instances such that solving an instance of complexity $k$ would require $\Theta(k \log n)$ space. If true this would imply the desired separation; if we identify such a measure, it seems within reach to bound the &lt;em&gt;monotone&lt;/em&gt; space complexity of the instances, and this would give tangible evidence that we're on the right track - although showing a non-monotone bound is apparently much harder.&lt;/p&gt;&#xA;" OwnerUserId="21714" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.743" LastActivityDate="2014-04-04T02:11:00.673" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21925" PostTypeId="2" ParentId="21917" CreationDate="2014-04-04T02:27:36.103" Score="10" Body="&lt;p&gt;One can show fairly directly that Kolmogorov complexity is not computable, see e.g. Sipser, 3rd edition, problem  6.23.&lt;/p&gt;&#xA;" OwnerUserId="1993" LastEditorUserId="1993" LastEditDate="2014-04-04T02:39:46.727" LastActivityDate="2014-04-04T02:39:46.727" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="21926" PostTypeId="1" AcceptedAnswerId="21950" CreationDate="2014-04-04T02:34:34.037" Score="4" ViewCount="569" Body="&lt;p&gt;What is the famous &quot;hard&quot; problems that were shown to be in $\mathcal{P}$ after?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I want to know a list of problems that are difficult to prove in the class of &quot;easy&quot; problems?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Maybe like matching, linear programming. Any list or references would be appreciated.&lt;/p&gt;&#xA;" OwnerUserId="22370" LastActivityDate="2014-04-05T03:32:16.670" Title="Problems that are hard to prove in $\mathcal{P}$" Tags="&lt;reference-request&gt;&lt;big-list&gt;&lt;polynomial-time&gt;" AnswerCount="5" CommentCount="6" FavoriteCount="2" CommunityOwnedDate="2014-04-05T05:05:48.280" ContentLicense="CC BY-SA 3.0" />
  <row Id="21927" PostTypeId="2" ParentId="21926" CreationDate="2014-04-04T03:07:19.547" Score="15" Body="&lt;p&gt;The famous primality testing problem, shown to be in P in the 2000 paper &lt;a href=&quot;http://annals.math.princeton.edu/2004/160-2/p12&quot;&gt;PRIMES is in P&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="16635" LastActivityDate="2014-04-04T03:07:19.547" CommentCount="0" CommunityOwnedDate="2014-04-05T05:05:48.280" ContentLicense="CC BY-SA 3.0" />
  <row Id="21928" PostTypeId="2" ParentId="21926" CreationDate="2014-04-04T05:12:52.003" Score="6" Body="&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Convex_optimization&quot; rel=&quot;nofollow noreferrer&quot;&gt;Convex Optimization&lt;/a&gt; is another relatively recent one.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit: I suppose more specifically, &lt;a href=&quot;http://en.wikipedia.org/wiki/Semidefinite_programming&quot; rel=&quot;nofollow noreferrer&quot;&gt;Semidefinite Programming&lt;/a&gt; is a subfield of convex optimization that has been used in some &lt;a href=&quot;http://www.cs.cornell.edu/~dsteurer/talks/siamdm.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;breakthroughs&lt;/a&gt; in complexity theory recently.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit edit: &lt;a href=&quot;https://cstheory.stackexchange.com/questions/6833/what-classes-of-mathematical-programs-can-be-solved-exactly-or-approximately-in?rq=1&quot;&gt;This question&lt;/a&gt; seemed to cover this point in a little more detail.&lt;/p&gt;&#xA;" OwnerUserId="21793" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2014-04-04T20:08:15.757" CommentCount="9" CommunityOwnedDate="2014-04-05T05:05:48.280" ContentLicense="CC BY-SA 3.0" />
  <row Id="21929" PostTypeId="2" ParentId="21926" CreationDate="2014-04-04T07:48:58.517" Score="12" Body="&lt;p&gt;Testing perfect graphs. &#xA;Famous people (Lovasz, Knuth, ...)  conjectured in the 1980s  that there is &#xA;a polynomial time recognition for perfect graphs. Such an algorithm was &#xA;found after almost 20 years later by famous people ( Cornuéjols and other, FOCS 2003).&lt;/p&gt;&#xA;" OwnerUserId="22243" LastActivityDate="2014-04-04T07:48:58.517" CommentCount="0" CommunityOwnedDate="2014-04-05T05:05:48.280" ContentLicense="CC BY-SA 3.0" />
  <row Id="21930" PostTypeId="1" AcceptedAnswerId="22059" CreationDate="2014-04-04T07:50:30.240" Score="30" ViewCount="778" Body="&lt;p&gt;&lt;em&gt;Bounded nondeterminism&lt;/em&gt; associates a function $g(n)$ with a class $C$ of languages accepted by resource-bounded deterministic Turing machines, to form a new class $g$-$C$.  This class consists of those languages that are accepted by some nondeterministic Turing machine $M$ obeying the same resource bounds as are used to define $C$, but where $M$ is allowed to make at most $g(n)$ nondeterministic moves.  (I am using the notation of Goldsmith, Levy and Mundhenk, instead of the original by Kintala and Fischer, and $n$ is the size of the input.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there a constant $c\ge0$ such that GRAPH ISOMORPHISM is in $c\sqrt{n}$-$\mathsf{PTIME}$?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;(&lt;em&gt;Edit:&lt;/em&gt; Joshua Grochow pointed out that a positive answer to this question would imply an algorithm for GI that has better asymptotic runtime bounds than are currently known.  I would therefore be happy to relax the bound, allowing $o(\sqrt{n}\log n)$ nondeterministic moves.)&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;h2&gt;Background&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;For every fixed constant $c \ge 0$, $\mathsf{PTIME} = {c\log n}$-$\mathsf{PTIME}$, as $c\log n$ nondeterministic moves create at most a polynomial number of configurations to explore deterministically.  Moreover $\mathsf{NP} = \cup_c n^c\text{-}\mathsf{PTIME}$, and by means of padding one can exhibit NP-complete languages in $n^\varepsilon$-$\mathsf{P}$ for every $\varepsilon &amp;gt; 0$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Kintala and Fischer observed that deciding if an input graph with vertices $V$ has a $(|V|/3)$-clique is $\mathsf{NP}$-complete, but is in $O(\sqrt{n})$-$\mathsf{PTIME}$.  To see this, discard the vertices which have at most $|V|/3 - 2$ neighbours.  If there are too few remaining vertices, then reject.  Otherwise the remaining vertices form a graph of size $\Omega(|V|^2)$.  Then guess a $|V|/3$-subset of vertices using $|V| = O(\sqrt{n})$ nondeterministic steps and verify that they form a clique in polynomial time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some other languages $L$ of dense graphs in $\mathsf{NP}$ are also in $O(\sqrt{n})$-$\mathsf{PTIME}$.  This is the case for any problem where a subset of the vertices serves as a certificate, and the size of the input graph is $\Omega(|V|^2)$.  Examples are the promise versions of Induced Path or 3-Colouring for the case of dense graphs.  Other problems seem to require larger certificates, for instance a list of vertices defining a Hamiltonian circuit seems to require $\Omega(|V| \log |V|)$ bits.  It is not clear to me whether one could use an amount of nondeterminism that is too small to guess the certificate to decide such problems.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given that $n^\varepsilon$-$\mathsf{P}$ can contain NP-complete languages, it then seems interesting to ask where in the bounded nondeterminism hierarchy potentially easier languages fall.  One might expect GI, as a language that does not seem to be NP-complete, to be in the hierarchy closer to $\log n$-$\mathsf{P}$ than to $n$-$\mathsf{P}$.  However, the obvious certificate for GI specifies the map using $|V|\log |V|$ bits, which is $\omega(\sqrt{n})$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another way to think about this question: is specifying a map between the sets of vertices a shortest possible certificate for GI?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Edit:&lt;/em&gt; Some further (corrected) remarks follow, to address the comments of Joshua Grochow.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If a certificate uses $f(n) = \Omega(\log n)$ bits and can be checked in polynomial time, then brute force gives an algorithm for GI taking $poly(n)2^{O(f(n))} = 2^{O(f(n))}$ time.&#xA;With a certificate of size $O(\sqrt{n})$, brute force gives an algorithm taking $2^{O(\sqrt{n})}$ time,&#xA;while a certificate of size $O(\sqrt{n}\log n)$ yields a brute force approach taking $2^{O(\sqrt{n}\log n)}$ time.&#xA;The long-standing upper bound of Luks is $2^{O(\sqrt{n\log n})}$ time, which is between these two bounds up to constant exponents.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;These considerations suggest that there might be an alternative approach to GI.&#xA;The approach of Luks seems to rely at its core on identifying a subset of generators of an associated group.&#xA;A nondeterministic machine might therefore guess a subset of the group.  These subsets could then be checked exhaustively to yield a deterministic algorithm.&#xA;If the list of elements can be specified succinctly, either because the associated group is never much larger than the size of the graph, or because the number of generators required is always small, and checking each candidate subset does not take too long, then this might yield an alternative approach to GI.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Chandra M. R. Kintala and Patrick C. Fischer, &lt;em&gt;Refining Nondeterminism in Relativized Polynomial-Time Bounded Computation&lt;/em&gt;, SIAM Journal on Computing &lt;strong&gt;9&lt;/strong&gt;(1), 46–53, 1980.  doi:&lt;a href=&quot;http://dx.doi.org/10.1137/0209003&quot;&gt;10.1137/0209003&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Judy Goldsmith, Matthew A. Levy, Martin Mundhenk, &lt;em&gt;Limited nondeterminism&lt;/em&gt;, SIGACT News &lt;strong&gt;27&lt;/strong&gt;(2), 20–29, 1996. doi:&lt;a href=&quot;http://dx.doi.org/10.1145/235767.235769&quot;&gt;10.1145/235767.235769&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;László Babai and Eugene M. Luks, &lt;em&gt;Canonical Labeling of Graphs&lt;/em&gt;, STOC 1983, 171–183.  doi:&lt;a href=&quot;http://dx.doi.org/10.1145/800061.808746&quot;&gt;10.1145/800061.808746&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="109" LastEditorUserId="109" LastEditDate="2014-04-10T19:09:51.587" LastActivityDate="2014-04-11T02:33:19.797" Title="Can graph isomorphism be decided with square root bounded nondeterminism?" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;&lt;graph-isomorphism&gt;&lt;nondeterminism&gt;" AnswerCount="1" CommentCount="11" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="21931" PostTypeId="1" CreationDate="2014-04-04T08:12:56.413" Score="4" ViewCount="100" Body="&lt;p&gt;I have a very specific problem that appears to be close to equivalence testing for arithmetic circuits (checking whether the computed functions are the same). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since I'm completely new to the field, I'm asking for some references, hopefully as close as possible to my concrete problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I want to find out the complexity of comparing two arithmetic circuits (directed graphs with addition and multiplication nodes). My concrete problem has the following particularities.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;There is only one input variable. Thus the circuits encode a function $\mathbb{N} \to \mathbb{N}$. Are there any results about a constant number of input variables?&lt;/li&gt;&#xA;&lt;li&gt;There might appear leafs of the form $c^n$ with $n$ being the input variable and $c \in \mathbb{N}$ some constant.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I'm happy with both surveys or original works about such equivalence problems. Books are also ok, but I prefer material that's downloadable.&lt;/p&gt;&#xA;" OwnerUserId="2764" LastEditorUserId="2764" LastEditDate="2014-04-04T12:41:46.797" LastActivityDate="2014-04-04T12:41:46.797" Title="Complexity of equivalence testing of arithmetic circuits" Tags="&lt;reference-request&gt;&lt;arithmetic-circuits&gt;" AnswerCount="0" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="21935" PostTypeId="2" ParentId="21908" CreationDate="2014-04-04T12:24:07.150" Score="2" Body="&lt;p&gt;From the comment: in the mathematical field of graph theory, the &lt;a href=&quot;http://en.wikipedia.org/wiki/Rado_graph&quot; rel=&quot;nofollow&quot;&gt;Rado graph&lt;/a&gt; [1], also known as the random graph or the Erdős–Rényi graph, is the unique (up to isomorphism) countable graph $R$ such that for every finite graph $G$ and every vertex $v$ of $G$, every embedding of $G − v$ as an induced subgraph of $R$ can be extended to an embedding of $G$ into $R$. As a result, the Rado graph contains all finite and countably infinite graphs as induced subgraphs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In &lt;a href=&quot;http://www.math.brown.edu/~res/MathNotes/random.pdf&quot; rel=&quot;nofollow&quot;&gt;this note&lt;/a&gt; you can find other details, in particular: ... if we produce two random infinite graphs, then, with probability 1, they both have the extension property. Hence they are isomorphic (and also isomorphic to the Rado graph); in other words, any two random countably infinite graphs are isomorphic ... &lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] Rado, Richard (1964), &quot;&lt;a href=&quot;http://matwbn.icm.edu.pl/ksiazki/aa/aa9/aa9133.pdf&quot; rel=&quot;nofollow&quot;&gt;Universal graphs and universal functions&lt;/a&gt;&quot;, Acta Arith. 9: 331–340.&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2014-04-04T12:35:47.890" LastActivityDate="2014-04-04T12:35:47.890" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21936" PostTypeId="1" CreationDate="2014-04-04T14:41:22.893" Score="2" ViewCount="137" Body="&lt;p&gt;&lt;strong&gt;Background&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I was looking for a formulation of 'free sets' and 'independent sets' from linear algebra that would extend to groups. This question was considered &lt;a href=&quot;http://www-circa.mcs.st-and.ac.uk/Theses/jdmphd.pdf%E2%80%8E&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt; but I couldn't find a satisfactory definition in the literature so I'd like to suggest the following simple approach. Let $G$ be a finite group, and for each $x \in G$ let $o(x)$ denote its order, i.e. the smallest positive integer $p$ such that $x^p = 1_G$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Core definitions&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $X = \{x_1,\ldots,x_k\}$ be a $k$-subset of $G$ and let $A_k = \{a_1,\ldots,a_k\}$ be the $k$-letter alphabet. Let $\Sigma_k$ denote the free monoid generated by $A_k$, and let $\Pi_k = \prod_{i \in [k]} \mathbb{Z}_{o(x_i)}$ viewed as an abelian group. Consider the homomorphism $\phi_k : \Sigma_k \rightarrow G$ that maps each $a_i$ to $x_i$, and consider the homomorphism $\psi_k : \Sigma_k \rightarrow \Pi_k$ defined by $(\psi_k(w))_i = |w|_{a_i}$. We can then give the following definitions:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(1) $X$ is a 'generating set' of $G$ if $\phi_k$ is surjective;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(2) $X$ is a 'free set' of $G$ if there exists an homomorphism $\eta_k : Im(\phi_k) \rightarrow \Pi_k$ such that $\psi_k = \eta_k \circ \phi_k$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We observe that some properties from linear algebra carry over to this setting. For instance, any superset of a generating set is also generating, and any subset of a free set is also free. We may then define a 'free generating set' of $G$ the obvious way. Note that such a set may not exist, but when $G$ does admit a fgs we may define $rank(G)$ as the cardinality of this set.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Basic remarks&lt;/strong&gt; &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Similar to linear algebra, it turns out that two fgs always have the same cardinality. Here is a proof sketch for a special case. Suppose for contradiction that $G$ had two fgs $X,Y$ with $k = |X| &amp;lt; |Y| = l$, and suppose &lt;em&gt;for simplicity&lt;/em&gt; that each element of $X \cup Y$ has the same order $p$. Consider the surjective mapping $\phi_k : \Sigma_k \rightarrow G$ obtained from $X$, and the surjective mapping $\phi_l : \Sigma_l \rightarrow G$ obtained from $Y$. As $Y$ is free, we obtain an homomorphism $\eta_l$ by (2).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given an element $x_i \in X$, there is a word $w_i \in \Sigma_l$ such that $\phi_l(w_i) = y_i$. Define the $k \times l$-matrix $M$ by $M_{i,j} = \eta_l(x_i)[j] = |w_i|_{a_j} \mod p$. For every $z \in G$, we can then write $\eta_l(z)$ as a combination of the column vectors of $M$. It follows that the image of the $\eta_l$ must be included in the subspace spanned by $M$ and thus has size at most $p^k$; therefore $\eta_l$ cannot be surjective contradicting the assumption that $Y$ is free.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some examples follow. For a finite abelian group $G$, we know that it is isomorphic to a product $\mathbb{Z}_{n_1} \times \ldots \times \mathbb{Z}_{n_k}$ and then $rank(G) = k$. For the permutation group $S_n$, it can be seen that $rank(S_n) = n-1$ as the transpositions form a free generating set; indeed, for a permutation $\pi \in S_n$ we can define a tuple $\eta(\pi) = (s_1,\ldots,s_{n-1}) \in \mathbb{Z}_2^{n-1}$, where $s_i = 0$ if $\pi(i) &amp;lt; \pi(i+1)$ and $s_i = 1$ otherwise. More generally, if $G \subseteq S_n$ is a permutation group, I conjecture that a free generating set can be obtained by the Schreier-Sims algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Questions&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;is it possible to adapt the above proof to handle distinct orders? if so, what part of linear algebra carries over to this setting?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;if we can compute the rank for permutation groups as suggested above, are there other, presumably infinite, groups for which this is doable efficiently?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;are there any algorithmic applications of this notion to problems involving graphs or permutations?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="21714" LastEditorUserId="21714" LastEditDate="2014-04-04T21:18:34.540" LastActivityDate="2014-04-04T21:18:34.540" Title="Extending the notion of independence" Tags="&lt;algebra&gt;&lt;gr.group-theory&gt;" AnswerCount="0" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="21937" PostTypeId="1" CreationDate="2014-04-04T15:21:23.340" Score="1" ViewCount="63" Body="&lt;p&gt;I have a simple function to minimize, but it is not discrete: $f(x) = 2x - \alpha x - c(x)$, where $x$ is a natural number, $\alpha$ is a rational number, $0 \leq \alpha \leq 1$, and $0 \leq c(x) \leq x$. Thus, $f(x)$ is zero if $c(x) = x$ and $\alpha = 1$, and this is the best possible value to $f$. This function comes from a NP-hard problem. Could I say that is not possible to approximate this problem with a constant approximation factor? I mean, it is possible to obtain a class of instances such that an optimal solution $f^*(x)$ is very close to zero and any heuristic solution $f(x)$ with cost greater than zero would be too far from the optimal solution. That is, $f(x)/f^*(x) \rightarrow \infty$.&lt;/p&gt;&#xA;" OwnerUserId="22377" LastActivityDate="2014-04-04T15:21:23.340" Title="Approximation algorithm to a minimization problem with optimization function going to zero" Tags="&lt;approximation-algorithms&gt;&lt;approximation-hardness&gt;" AnswerCount="0" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21938" PostTypeId="1" AcceptedAnswerId="21940" CreationDate="2014-04-04T19:25:20.630" Score="7" ViewCount="504" Body="&lt;p&gt;How to &quot;proof&quot;  that type theory is correct? Or at least explain that it's meaningful in some sense. In what extent is this a mathematical question and in what is a philosophical one?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;When type theories are introduced for example in Luo's book, the following properties are proved:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Subject reduction&lt;/li&gt;&#xA;&lt;li&gt;Reduction termination&lt;/li&gt;&#xA;&lt;li&gt;Church-Rosser property&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;As far as I understand, what these properties describe is that we have a decidable type checking, and that the language of type theory is meaningful in some sense, but nothing more than this.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I asked a question on violation of strict positivity for inductive types (&lt;a href=&quot;https://cstheory.stackexchange.com/questions/21882/example-of-where-violation-of-strict-positivity-condition-in-inductive-types-lea&quot;&gt;Example of where violation of strict positivity condition in inductive types leads to inconsistency&lt;/a&gt;) and in the answer I was told that non strictly positive types might lead to non existence of set theoretic model. Why we need type theoretic model here? And what it gives to us?&lt;/p&gt;&#xA;" OwnerUserId="21833" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2014-04-05T12:36:30.003" Title="&quot;Correctness&quot; of type theory" Tags="&lt;lo.logic&gt;&lt;type-theory&gt;&lt;dependent-type&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="21939" PostTypeId="1" CreationDate="2014-04-04T19:41:34.057" Score="2" ViewCount="195" Body="&lt;p&gt;Hi i am looking for algorithms to decide whether a planar pointset has a eulerian triangulation i.e. a triangulation that makes every vertex of even degree.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I cam across this page &lt;a href=&quot;http://cs.anu.edu.au/~bdm/plantri/&quot; rel=&quot;nofollow&quot;&gt;http://cs.anu.edu.au/~bdm/plantri/&lt;/a&gt; which implements a program to do the above but the algorithm was not clear to me.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any idea to design algorithm for the above problem will be helpfull.&#xA;Any link/paper to easier discussion is also welcome.&lt;/p&gt;&#xA;" OwnerUserId="12280" LastActivityDate="2014-04-04T19:41:34.057" Title="Eulerian Triangulations" Tags="&lt;graph-algorithms&gt;&lt;computational-geometry&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="21940" PostTypeId="2" ParentId="21938" CreationDate="2014-04-04T19:46:25.207" Score="11" Body="&lt;p&gt;Type theories have multiple uses, and with each kind of usage comes a different&#xA;notion of correctness. They two key uses are&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;As a &lt;strong&gt;foundation of mathematics&lt;/strong&gt;. In this context correctness means&#xA;primarily that we can't deduce falisity.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;As a &lt;strong&gt;tool in programming&lt;/strong&gt;. Here correctness means primarily that that&#xA;well-typed programs &quot;don't go wrong&quot; in Milner's famous words, i.e. that they do not&#xA;exhibit a certain forms of error, such as trying to execute 3 +&#xA;&quot;hello&quot;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Both notions of correctness are related, but not the same.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Gödel's second incompleteness theorem puts serious restrictions in the way of showing the 'correctness' of type theories as a foundation of mathematics. The best you can hope for is to show 'correctness' (understood as consistency) relative to some other foundation, e.g. by giving a set-theoretic model.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The key thing we worry about with type theories is  that a given type-theory is inconsistent because we can define a non-terminating term. Modern type-theories are fairly complicated beasts, and it's quite easy to make them too powerful  so  that a fix-point combinator&#xA;becomes definable. Such fixpoint combinators inhabit every type, making the type-theory inconsistent as a foundation of mathematics. Since fixpoint combinators can be subtle, it is quite easy to overlook how one's typing system allows them to be defined. Indeed, famous foundationalists have a habit of&#xA;proposing foundations of mathematics that are unsound for this reason.  For example Martin-L&amp;ouml;f's original proposal for type-theory made the kind of types itself a type (that approach to typing is now referred to as Type:Type). This is&#xA;extremely convenient, and gives you the most general form of impredicative polymorphism. Alas,  Girard discovered that this was unsound, when he managed to express the Burali-Forti paradox in Type:Type, see &lt;a href=&quot;https://cs.stackexchange.com/questions/12929/example-of-a-false-proposition-when-assuming-type-type&quot;&gt;this discussion&lt;/a&gt; for more details.  Every since, Martin-L&amp;ouml;f's type theories have been predicative, but with added inductive definitions to recover (much of) the expressive power of impredicativity.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Encoding a type theory in another foundation such as set theory gives us a fuzzy feeling of security: it says there are unlikely to be  an obvious unsoundness bugs in our type-theory. The justification behind this intuition is strictly empirical (!): in the century of since Cantor invented and Zermelo formalised it, nobody has found a soundness bug in conventional set theory. (As an aside, this situation is similar to cryptography where we trust RSA, Diffie-Hellman, AES or 3DES for little other reason than that they have withstood sustained attempts at breaking.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that while a system with Type:Type is wrong as a foundation of&#xA;mathematics, it is perfectly acceptable as a typing system for&#xA;programming languages, because we can still show that no typeable program goes &quot;wrong&quot;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Regarding proof techniques for correctness, the different properties you mention relate to different notions&#xA;of correctness. Termination is the key step to showing correctness&#xA;of a type-theory as a foundation of mathematics, while subject&#xA;reduction is usually the key step to showing that a type-theory&#xA;is usable as a tool in programming. Note that since a termination&#xA;proof is the high-road to consistency as a foundation, by&#xA;G&amp;ouml;del's second incompleteness theorem, we can prove termination of a type-theory only by using a stronger system.&lt;/p&gt;&#xA;" OwnerUserId="898" LastEditorUserId="898" LastEditDate="2014-04-05T12:36:30.003" LastActivityDate="2014-04-05T12:36:30.003" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="21941" PostTypeId="2" ParentId="21917" CreationDate="2014-04-04T20:41:06.527" Score="10" Body="&lt;p&gt;Consider what I like to call the CONSISTENT GUESSING problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given as input a description of a Turing machine $M$:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;If $M$ accepts on a blank tape, you have to accept.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;If $M$ rejects on a blank tape, you have to reject.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;If $M$ runs forever on a blank tape, then you can either accept or reject, but in either case you have to halt.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;(Of course this isn't quite a language, but more like a computability analogue of a promise problem.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, by a modification of Turing's original proof, it's quite easy to show that CONSISTENT GUESSING is undecidable (I'll leave that as an exercise for you).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, it's also possible to show that there's &lt;i&gt;no&lt;/i&gt; reduction from the halting problem to CONSISTENT GUESSING---i.e., that it's possible to construct an oracle $A$ that returns the correct accept/reject answer for every halting TM, but whose answers for the non-halting TMs kill off every possible reduction from the halting problem to $A$.  Thus, CONSISTENT GUESSING should really be seen as intermediate in difficulty between computable and the halting problem.&lt;/p&gt;&#xA;" OwnerUserId="1575" LastActivityDate="2014-04-04T20:41:06.527" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="21942" PostTypeId="1" CreationDate="2014-04-04T20:53:35.673" Score="0" ViewCount="1358" Body="&lt;p&gt;I am asking myself whether there is an polynomial algorithm for the following problem:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;- m persons (think of them as &quot;men&quot;)&#xA;- w persons (think of them as &quot;women&quot;)&#xA;&#xA;- t-talking sessions&#xA;- a function &#xA;     f: (w, m) -&amp;gt; {-1,0,1,2}, which is preference of a specific woman to talk with a specific man: -1 means, that the woman does not want to talk to this man, if possible.&#xA;     g: (m, w) -&amp;gt; {-1,0,1,2}, which is preference of a specific man to talk with a specific woman: -1 means, that the man does not want to talk to this woman, if possible.&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Target: Accomplish the &quot;best&quot; dating plan, meaning a pairing function for each talking session, which maximizes by summing over all dates using this function: m, w -&gt; max(f(m,w),g(w,m)). During the talking sessions noone should date a person he has met before.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a greedy algorithm for this problem, e.g. by matching the most loved-person with the most preferred person having the least number of talks?&lt;/p&gt;&#xA;" OwnerUserId="10749" LastEditorUserId="10749" LastEditDate="2014-04-04T22:28:53.140" LastActivityDate="2014-04-04T22:28:53.140" Title="Pairing algorithm for simple speed dating problem" Tags="&lt;ds.algorithms&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21943" PostTypeId="2" ParentId="21942" CreationDate="2014-04-04T21:24:17.050" Score="1" Body="&lt;p&gt;This is simply the &lt;a href=&quot;http://en.wikipedia.org/wiki/Stable_marriage_problem&quot; rel=&quot;nofollow&quot;&gt;Stable Marriage Problem&lt;/a&gt;, where rankings go from -1 to 2 instead of 1 to n. Thus it's almost a subset of the problem solved by the Gale–Shapley algorithm. Quoting from Wikipedia:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;The Gale–Shapley algorithm involves a number of &quot;rounds&quot; (or&#xA;  &quot;iterations&quot;).&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;In the first round, first a) each unengaged man proposes to the woman&#xA;  he prefers most, and then b) each woman replies &quot;maybe&quot; to her suitor&#xA;  she most prefers and &quot;no&quot; to all other suitors. She is then&#xA;  provisionally &quot;engaged&quot; to the suitor she most prefers so far, and&#xA;  that suitor is likewise provisionally engaged to her.&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;In each subsequent round, first a) each unengaged man proposes to the&#xA;  most-preferred woman to whom he has not yet proposed (regardless of&#xA;  whether the woman is already engaged), and then b) each woman replies&#xA;  &quot;maybe&quot; to her suitor she most prefers (whether her existing&#xA;  provisional partner or someone else) and rejects the rest (again,&#xA;  perhaps including her current provisional partner).&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;The provisional nature of engagements preserves the right of an&#xA;  already-engaged woman to &quot;trade up&quot; (and, in the process, to &quot;jilt&quot;&#xA;  her until-then partner).&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;This algorithm guarantees that:&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;&lt;strong&gt;Everyone gets married.&lt;/strong&gt;&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;Once a woman becomes engaged, she is always engaged to someone. So, at&#xA;  the end, there cannot be a man and a woman both unengaged, as he must&#xA;  have proposed to her at some point (since a man will eventually&#xA;  propose to everyone, if necessary) and, being unengaged, she would&#xA;  have had to have said yes.&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;&lt;strong&gt;The marriages are stable.&lt;/strong&gt;&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;Let Alice be a woman and Bob be a man who are both engaged, but not to&#xA;  each other. Upon completion of the algorithm, it is not possible for&#xA;  both Alice and Bob to prefer each other over their current partners.&#xA;  If Bob prefers Alice to his current partner, he must have proposed to&#xA;  Alice before he proposed to his current partner. If Alice accepted his&#xA;  proposal, yet is not married to him at the end, she must have dumped&#xA;  him for someone she likes more, and therefore doesn't like Bob more&#xA;  than her current partner. If Alice rejected his proposal, she was&#xA;  already with someone she liked more than Bob.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;It's not greedy, so I'm not totally answering the question, but it works. It's probably easier if you convert the problem to the marriage problem by changing the -1...2 to 1-n (by picking randomly higher preferences in the case of ties) before processing, I think. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit: Nevermind, this doesn't have the least number of talks either I think, but I figured it was still worth bringing up. Really it depends on whether those talking preferences are known beforehand (and we are optimizing the pairings, in which case this algorithm works), or whether those talking preferences aren't known until a talking session begins - in which case this algorithm isn't applicable at all. I mean you could just set everyone up with everyone else, compute these values, then run the algorithm above, but it's certainly not optimal.&lt;/p&gt;&#xA;" OwnerUserId="21793" LastEditorUserId="21793" LastEditDate="2014-04-04T21:48:41.817" LastActivityDate="2014-04-04T21:48:41.817" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21945" PostTypeId="2" ParentId="21926" CreationDate="2014-04-04T22:30:25.000" Score="5" Body="&lt;p&gt;There are some interesting problems in combinatorial optimization whose membership in $\sf{P}$ is quite non-trivial, in particular it often relies on some deep min-max theorem. Some examples are problems involving graphs (non-bipartite matching, maximum flow, and some of their extensions), posets (max antichain, max union of $k$ chains, path cover...), or matroids (intersection, partitioning, parity...). Afaik none of these problems are believed to be $\sf{P}$-complete though, but some of them are known to be equivalent (see e.g. &lt;a href=&quot;http://robertborgersen.info/Presentations/GS-05R-1.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;here&lt;/a&gt; or &lt;a href=&quot;https://math.stackexchange.com/questions/547096/dilworths-theorem-is-equivalent-to-halls&quot;&gt;here&lt;/a&gt;).&lt;/p&gt;&#xA;" OwnerUserId="21714" LastEditorUserId="-1" LastEditDate="2017-04-13T12:19:19.363" LastActivityDate="2014-04-04T22:30:25.000" CommentCount="0" CommunityOwnedDate="2014-04-05T05:05:48.280" ContentLicense="CC BY-SA 3.0" />
  <row Id="21946" PostTypeId="1" CreationDate="2014-04-04T23:44:44.593" Score="2" ViewCount="73" Body="&lt;p&gt;I'm not sure this question is appropriate for this site, but it might have some connections with computational algebra.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider a fixed &quot;category&quot; $\sf{Cat}$ (in the sense of category theory, but the precise notion is not important), e.g. groups or fields. Given an object $\mathbb{S}$ of $\sf{Cat}$, we say that a &quot;composition series&quot; for $\mathbb{S}$ is a chain of objects $C = (\mathbb{S}_{\alpha})_{\alpha}$ indexed by some ordinal $\lambda$, such that $\mathbb{S}_0$ is an initial object and for every $\alpha &amp;lt; \beta$, $\mathbb{S}_{\alpha}$ is a subobject of $\mathbb{S}_{\beta}$. We may then define the &lt;em&gt;length&lt;/em&gt; of $C$ as the ordinal $\lambda$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We say that the structure $\mathbb{S}$ is &lt;em&gt;isogenic&lt;/em&gt; if all maximal composition series have the same length. For instance, this is true for finite groups ordered by the normal subgroup relation (according to the Jordan-Hölder theorem). My question is: what are the structures known to have this property? &lt;/p&gt;&#xA;" OwnerUserId="21714" LastEditorUserId="21714" LastEditDate="2014-04-04T23:50:01.950" LastActivityDate="2014-04-04T23:50:01.950" Title="Composition series and isogeny" Tags="&lt;algebra&gt;&lt;ct.category-theory&gt;" AnswerCount="0" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21947" PostTypeId="1" CreationDate="2014-04-05T00:58:27.280" Score="2" ViewCount="75" Body="&lt;p&gt;Consider a family of structures equipped with a &quot;sub-structure&quot; relation - e.g. subwords, subpermutations or induced subgraphs. Given a set of structures $\cal{K}$, we denote by $Av(\cal{K})$ the family of structures $S$ that do not contain any element of $\cal{K}$ as a sub-structure. We say that $\cal{K}$ is &lt;em&gt;unavoidable&lt;/em&gt; if $Av(\cal{K})$ is finite, i.e. every sufficiently large structure contains an element of $\cal{K}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm not knowledgeable on this subject but it seems to have interesting aspects. In particular I'm interested in the following problem: given a set $\cal{K}$, what is the complexity of deciding if $\cal{K}$ is unavoidable? Without a single glance at the literature I'm pretty sure that this is easy for words, but the kinds of objects I'm interested in seem to lie at the border (mainly permutations / languages / trees) and it's not clear to me on what side they fall ($\sf{P}$ or $\sf{NP}$-hard).&lt;/p&gt;&#xA;" OwnerUserId="21798" LastEditorUserId="21798" LastEditDate="2014-04-05T01:08:07.380" LastActivityDate="2014-04-05T01:08:07.380" Title="Assessing the unavoidability of a set kof structures?" Tags="&lt;reference-request&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21948" PostTypeId="1" AcceptedAnswerId="21951" CreationDate="2014-04-05T01:08:47.883" Score="17" ViewCount="1396" Body="&lt;p&gt;The paper &quot;Subquadratic Algorithms for 3SUM&quot;, by Ilya Baran, Erik D. Demaine, Mihai Patrascu has the following complexity for the &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;3SUM problem:&lt;/strong&gt; &lt;em&gt;given a list $L$ of $n$ integers if there are $x,y,z \in L$ such that $x+y=z.$&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;They state, &quot;On a standard word RAM with $w-$bit words, we obtain a running time of &#xA;$O(n^2/ \max\{w \log w, \log n (\log \log n)^2 \})$. In the circuit RAM with one nonstandard $AC0$ operation, we obtain $O(n^2/ w^2 \log w)$. In external memory, we achieve $O(n^2/(MB))$, even under the standard assumption of data indivisibility. Cache-obliviously, we obtain a running time of $O(n^2/ MB \log M )$. In all cases, our speedup is almost quadratic in the “parallelism” the model can aﬀord, which may be the best possible. See the Baran, Demaine, Patrascu paper &lt;a href=&quot;http://erikdemaine.org/papers/3SUM_Algorithmica/paper.pdf&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Recently, a paper &quot;Threesomes, Degenerates, and Love Triangles&quot; by Grondlund and Pettie has proved that &quot;the decision tree complexity of 3SUM is $O(n^{3/2}\sqrt{\log n})$,  and that there is a randomized 3SUM algorithm running in $O(n^2(\log \log n)^2/\log n)$ time, and a deterministic algorithm running in $O(n^2(\log \log n)^{5/3}/(\log n)^{2/3})$ time. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;These results refute the strongest version of the 3SUM conjecture, namely that its decision tree (and algorithmic) complexity is $Ω(n^2)$.&quot; &lt;/p&gt;&#xA;&#xA;&lt;p&gt;See this second paper &lt;a href=&quot;http://arxiv.org/abs/1404.0799&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Clearly, both are important papers. Not being an expert to this area, my question is about how to compare the impact and significance of either, given the different complexity models. Any other insightful comments about this problem is also welcome. For example had the first paper already ruled out the $\Omega(n^2)$ bound? &lt;/p&gt;&#xA;" OwnerUserId="21948" LastActivityDate="2014-04-05T04:38:50.067" Title="Comparing Two Algorithms for 3SUM problem over Integers" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="21949" PostTypeId="2" ParentId="21948" CreationDate="2014-04-05T02:55:56.323" Score="14" Body="&lt;p&gt;The first paper essentially gives a subquadratic algorithm if we know that every input number has $w$ bits and we can add two $w$ bit numbers in one step. This was not a very surprising result and it did not rule out an $\Omega(n^2)$ bound.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The second paper does not use any such assumptions and improves the exponent of $n$ for decision trees, which is a surprise, although not as big as it would be for all algorithms, for which they have only improved slightly (thus disproving the strongest conjecture). I would guess that more results will follow shortly.&lt;/p&gt;&#xA;" OwnerUserId="419" LastActivityDate="2014-04-05T02:55:56.323" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21950" PostTypeId="2" ParentId="21926" CreationDate="2014-04-05T03:32:16.670" Score="12" Body="&lt;p&gt;The $k$-disjoint path problem for fixed $k$. Given an undirected graph $G$ and $k$ node pairs $s_1t_1,s_2t_2,\ldots,s_kt_k$, are there node-disjoint paths in $G$ connecting the pairs? Polynomial-time algorithm follows from the work of Robertson and Seymour and relies on very non-trivial and difficult graph theoretic results. There are more general problems than this one but the disjoint paths problem is highly non-trivial even for $k=2$. For instance it is NP-Complete in directed graphs for $k=2$.&lt;/p&gt;&#xA;" OwnerUserId="176" LastActivityDate="2014-04-05T03:32:16.670" CommentCount="1" CommunityOwnedDate="2014-04-05T05:05:48.280" ContentLicense="CC BY-SA 3.0" />
  <row Id="21951" PostTypeId="2" ParentId="21948" CreationDate="2014-04-05T04:38:50.067" Score="14" Body="&lt;p&gt;Here are some points that help give perspective to the new results. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The decision tree complexity result is big. One line of attack (and Jeff Erickson can say more on this) was to try and lower bound 3SUM via looking at the decision complexity of the problem (i.e the number of comparisons needed to solve the problem). The hope was that something close to $\Omega(n^2)$ was attainable. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This result decisively trashes that argument with a $O(n^{3/2})$ bound. Note that this doesn't say anything about the true complexity of the problem. It says that a decision tree lower bound isn't going to happen. And that (along with other evidence) casts doubt on the basic premise that 3SUM is &quot;morally&quot; close to $n^2$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The algorithmic result is subquadratic unconditionally (i.e not in a word-parallel model). That is a big deal, although I suppose one might quibble about the fact that it's not $O(n^{2-\epsilon})$ for some constant $\epsilon$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;As @domotorp says, this could very well be the beginning of a a series of new results. It's really hard to say. The current upper bound comes from &quot;re-implementing&quot; the decision tree algorithm with some magic tricks from Timothy Chan. It's conceivable that this could be pushed further. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2014-04-05T04:38:50.067" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21952" PostTypeId="2" ParentId="21917" CreationDate="2014-04-05T04:41:34.683" Score="5" Body="&lt;p&gt;If what you're looking for is a proof that is neither a) reduction from a known complete problem, nor b) straightforward diagonalization (which your various comments indicate you are), then as far as I know you are out of luck. All of the proofs that I am aware of that aren't by reduction - including those in the other excellent answers given here by Aaronson and Kjos-Hanssen - proceed by straightforward diagonalization. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;And all of those diagonalizations are &lt;em&gt;essentially the same proof&lt;/em&gt;. Some of them are slight variants on the proof that yield slightly stronger/weaker statements, but the proofs themselves are typically just very slight variations. (And all of these proofs are essentially the same as Cantor's original proof about cardinalities, which is the same as the proofs of Godel and Chaitin incompleteness, which are the all just theorem-versions of Russell's paradox... So much so that at one point I wondered if one could formalize in some sort of reverse-mathematics kind of way a theorem which said that there was essentially only one such proof.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It may be worth pointing out, however, that there are proofs of other statements - typically of a different flavor - that are diagonalizations that are really, truly, provably different than diagonalization used to prove e.g. undecidability of the halting problem.&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2014-04-05T04:41:34.683" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21956" PostTypeId="2" ParentId="21938" CreationDate="2014-04-05T11:55:20.793" Score="2" Body="&lt;p&gt;Regarding decidable type checking: this depends on whether you consider your λ-calculus with or without type annotations. System F (a.k.a second-order λ-calculus) has the three properties you cited, but it is proved that there is no algorithm that, given a System F term without type annotations, says whether this term can have a System F type.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In λ-calculi where types depend on terms (e.g. the Calculus of Constructions), it is necessary to decide when two terms are convertible (the same modulo β-reduction) during typing. This is done by checking that their normal forms are equal. The existence of normal forms and the possibility of computing them are ensured by the three properties cited.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The existence of nonterminating computations is a problem if you use type theory as a foundation of mathematics (this is what the first answer alludes to). A nonterminating term in a language that does not enforce termination, such as OCaml, may have type ∀X.X, also known as &quot;False&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, as pointed out before, nonterminating computations are not necessarily a problem if you use your type system for a programming language. First, certain computations are nonterminating (e.g. an operating system, the control loop of a user interface, of an airplane fly-by-wire system...); but it may be argued that such computations typically consist of a big loop whose body waits for an event and then executes a terminating computation. Furthermore, in a language such as Coq where you must prove termination, termination proofs are often very very tedious, to the extent that people often prefer to add an artificial extra argument initialized to a very high value, with some error condition if reaching zero, rather than proving termination,.&lt;/p&gt;&#xA;" OwnerUserId="9598" LastActivityDate="2014-04-05T11:55:20.793" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21958" PostTypeId="1" CreationDate="2014-04-05T14:33:24.217" Score="4" ViewCount="123" Body="&lt;p&gt;Consider the following problem. We're given a circuit $C$ with $n$ binary inputs and $n$ binary outputs, computing some boolean function $f_C : \mathbb{Z}_2^n \rightarrow \mathbb{Z}_2^n$. We assume for simplicity that $C$ only contains binary AND/OR gates, except for the output gates that can be OR gates of unbounded fan-in. We want to ensure that $C$ is 'disruption-resistant' in the sense that modifying a small number of gates &lt;em&gt;does not&lt;/em&gt; change the output. Formally, fix an integer $k$ and a circuit $C$. Call a '$k$-disruption' of $C$ a circuit $C'$ obtained from $C$ by modifying $k$ gates, except for output gates. Say that $C$ is '$k$-resistant' if, for any $k$-disruption $C'$ of $C$, it holds that $f_{C'} = f_C$, i.e. the two circuits compute the same function.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider the function $\chi_k : \mathbb{Z}_2^k \rightarrow \mathbb{Z}_2^k$ such that $\chi_k(x) = y$ with $y_j = 1 \Leftrightarrow \sum_{i = 1}^{k} x_i \geq j$. Given two tuples $u,v \in \mathbb{Z}_2^k$, say that $v$ is an $l$-perturbation of $u$ if $d_H(u,v) \leq l$. Consider the following question: given $l &amp;lt; k$, can we find a circuit $X_{k,l}$ such that for each $k$-disruption $C$ of $X_{k,l}$, for each $u \in \mathbb{Z}_2^k$, there is an $l$-perturbation $v$ of $u$ such that $f_C(u) = \chi_k(v)$? That is to say, $C$ would count the one-entries of $u$ up to some additive error $l$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose that we can find such a circuit $X_{4k,k}$ for any integer $k$. We can then solve the first problem using replication as follows. Take $4k$ copies $C_1,\ldots,C_{4k}$ of the given circuit $C$, and let gate $g_{i,j}$ be the $j$th output gate of $C_i$. For each $j \in [n]$, insert a copy of the circuit $X_{4k,k}$ with input connected to the gates $g_{1,j},\ldots,g_{4k,j}$, and with output gates labeled by $h_{1,j},\ldots,h_{4k,j}$. Finally, let the output gate for the $i$th bit be an OR of the outputs $h_{2k-1,i},\ldots,h_{4k,i}$. Let $\Gamma$ denote the resulting circuit. It is then easy to see that for any $k$-disruption $C'$ of $\Gamma$, there are at least $3k$ circuits $C_i$ that are not affected. Thus, if we consider a fixed input $x$, for each $i$th output bit the following holds: if the gates $g_{1,i},\ldots,g_{4k,i}$ evaluate to a constant tuple $t$ in $\Gamma$ and to a tuple $t'$ in $C'$, then $t'$ is a $k$-perturbation of $t$, and by definition of the circuit $X_{4k,k}$ it then computes a value $\chi_k(t'')$ with $t''$ a $2k$-perturbation of $t$. As this circuit has $4k$ outputs it follows that taking the OR of the last $2k+1$ values yields the desired result.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It it thus desirable to construct a circuit $X_{k,l}$ fullfilling the above requirements. I'm working on it but I welcome ideas or advice you may have.&lt;/p&gt;&#xA;" OwnerUserId="21714" LastEditorUserId="21714" LastEditDate="2014-04-05T23:58:46.303" LastActivityDate="2014-04-05T23:58:46.303" Title="A possible application of TCS to EE: disruption-resistant circuits" Tags="&lt;circuit-complexity&gt;&lt;boolean-functions&gt;" AnswerCount="0" CommentCount="5" FavoriteCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21959" PostTypeId="1" AcceptedAnswerId="21961" CreationDate="2014-04-05T14:45:05.240" Score="0" ViewCount="295" Body="&lt;p&gt;this problem was &lt;a href=&quot;https://cs.stackexchange.com/questions/23111/computing-the-intersection-of-two-npda-where-it-is-possible&quot;&gt;asked&lt;/a&gt; over a week ago on &lt;a href=&quot;http://cs.stackexchange.com&quot;&gt;cs.se&lt;/a&gt; now with 7v and no answers so far, ie still &quot;open&quot;. (there are many somewhat related problems/near variants re CFLs but its not obvious how to reduce it to them. eg it is known that CFLs are not closed under intersection but thats not the immediate answer.) a proof is ok but also looking for ref(s) if known. analysis of nontrivial special cases also might be interesting. also a single non empty/non trivial example case has not been given so far (eg plz exclude both languages regular languages).&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;let $L_1, L_2$ be &lt;a href=&quot;http://en.wikipedia.org/wiki/Context-free_language&quot; rel=&quot;nofollow noreferrer&quot;&gt;CFLs&lt;/a&gt; and $L=L_1 \cap L_2$ is known to be a CFL. is there an algorithm for constructing $L$?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="-1" LastEditDate="2017-04-13T12:48:30.830" LastActivityDate="2014-04-05T14:56:14.540" Title="is determining an unknown CFL from intersection of two CFLs decidable?" Tags="&lt;reference-request&gt;&lt;computability&gt;&lt;automata-theory&gt;&lt;context-free&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21961" PostTypeId="2" ParentId="21959" CreationDate="2014-04-05T14:56:14.540" Score="6" Body="&lt;p&gt;It's well-known you can present &lt;a href=&quot;http://en.wikipedia.org/wiki/Computation_history#Decidability_results&quot;&gt;computation history&lt;/a&gt; of a Turing machine as an intersection of two CFLs. Take a deterministic Turing machine $M$ and force it to reject everything except possibly the empty word. The set of computation histories is either empty (if $M$ rejects the empty word), or a singleton (if there's an accepting computation for the empty word), and if there was an algorithm for your problem, you could tell those cases apart.&lt;/p&gt;&#xA;" OwnerUserId="1886" LastActivityDate="2014-04-05T14:56:14.540" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21962" PostTypeId="1" CreationDate="2014-04-05T19:00:21.403" Score="5" ViewCount="500" Body="&lt;p&gt;Is there an approach to graph isomorphism considering that we are already given a partial isomorphism ?&#xA;In particular, it would be interesting to have conditions on this partial isomorphism that makes the problem polynomial.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This question arises from automata theory, where one approach to testing equivalence of two NFAs on alphabet $A$ is to compute their syntactic semigroups $M_1,M_2$ (of exponential size) together with functions $h_1:A\to M_1$, $h_2: A\to M_2$. Testing semigroup isomorphism is hard in the general case, but here we can do it polynomially, because $h_1,h_2$ already give us a partial isomorphism for a set of generators, which is enough. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For graphs, an obvious sufficent condition for such a partial isomorphism to make the problem polynomial would be &quot;containing a covering set&quot; (in the sense each edge contains a vertex in it) . Maybe there are more subtle conditions that would still work ? &lt;/p&gt;&#xA;" OwnerUserId="8953" LastEditorUserId="8953" LastEditDate="2014-04-05T19:34:04.650" LastActivityDate="2014-04-05T19:54:15.430" Title="graph isomorphism given a partial isomorphism" Tags="&lt;graph-isomorphism&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21963" PostTypeId="2" ParentId="21962" CreationDate="2014-04-05T19:33:16.147" Score="8" Body="&lt;p&gt;Only an extended comment: Lipton et al. proved [1] that if we have access to an oracle that given two graphs on $n$ vertices, reveals a partial map on at least $(3+\epsilon)\log n$ vertices (for some constant $\epsilon &amp;gt; 0$) which is part of an isomorpshism between the two graphs, then we can find the isomorphism in polynomial time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The theorem deals with &lt;em&gt;finding the isomorphism&lt;/em&gt; (the two graphs must  be  isomorphic), and the oracle is obviously called multiple times.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] Anna Gál, Shai Halevi, Erez Petrank, and Richard Lipton. 1999. &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=793388&quot;&gt;Computing From Partial Solutions.&lt;/a&gt; In Proceedings of the Fourteenth Annual IEEE Conference on Computational Complexity (COCO '99). IEEE Computer Society, Washington, DC, USA, 34-. &lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2014-04-05T19:40:33.520" LastActivityDate="2014-04-05T19:40:33.520" CommentCount="10" ContentLicense="CC BY-SA 3.0" />
  <row Id="21965" PostTypeId="2" ParentId="21962" CreationDate="2014-04-05T19:54:15.430" Score="0" Body="&lt;p&gt;It's not clear whether you seek a complexity result or you really wish to solve the problem in practice (therefore admitting heuristics), but maybe you should look into e.g. the works of Karem Sakallah on graph automorphisms.&lt;/p&gt;&#xA;" OwnerUserId="9598" LastActivityDate="2014-04-05T19:54:15.430" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21966" PostTypeId="1" AcceptedAnswerId="21972" CreationDate="2014-04-06T01:33:22.067" Score="8" ViewCount="448" Body="&lt;p&gt;There are several 2-approximation algorithms for the UNWEIGHTED feedback vertex set problem (FVS), which are summarized in [4]. Note that the reduction from vertex cover to FVS is approximation-preserving. Assuming Unique Game Conjecture, we cannot expect better algorithms. The question is: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Is there an unweighted graph on which some of the algorithm really reaches ratio 2?&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] contains such a tight instance for weighted FVS.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Vineet Bafna and Piotr Berman and Toshihiro Fujito,&#xA;&lt;a href=&quot;http://doi.org/10.1137/S0895480196305124&quot;&gt;http://doi.org/10.1137/S0895480196305124&lt;/a&gt;; &lt;/li&gt;&#xA;&lt;li&gt;Ann Becker and Dan&#xA;Geiger, &lt;a href=&quot;http://doi.org/10.1016/0004-3702(95)00004-6&quot;&gt;http://doi.org/10.1016/0004-3702(95)00004-6&lt;/a&gt;; &lt;/li&gt;&#xA;&lt;li&gt;Toshihiro&#xA;Fujito, &lt;a href=&quot;http://doi.org/10.1016/0020-0190(96)00094-4&quot;&gt;http://doi.org/10.1016/0020-0190(96)00094-4&lt;/a&gt;; &lt;/li&gt;&#xA;&lt;li&gt;Fabián A.&#xA;Chudak, Michel X. Goemans, Dorit S. Hochbaum, David P. Williamson,&#xA;&lt;a href=&quot;http://doi.org/10.1016/S0167-6377(98)00021-2&quot;&gt;http://doi.org/10.1016/S0167-6377(98)00021-2&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="7059" LastEditorUserId="80" LastEditDate="2014-04-06T05:45:44.147" LastActivityDate="2014-06-01T18:37:48.543" Title="Tight examples for approximating the feedback vertex set problem" Tags="&lt;reference-request&gt;&lt;graph-algorithms&gt;&lt;approximation-algorithms&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21968" PostTypeId="2" ParentId="21424" CreationDate="2014-04-06T06:02:57.727" Score="8" Body="&lt;p&gt;This answer is for your &quot;somewhat related question&quot;:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the following recent paper, Klee-Minty cubes were used explicitly to show that  there exists a pivoting rule for the simplex method (not one of the standard ones, like Dantzig's pivoting rule analysed by Disser and Skutella) for which it is PSPACE-complete to decide whether a variable enters the basis for the simplex method with this pivoting rule. It was left open (Conjecture 3 in the paper) whether the same result holds for Dantzig's pivot rule.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I. Adler, C. Papadimitriou, and A. Rubinstein (2014).&#xA;On Simplex Pivoting Rules and Complexity Theory.&#xA;In Proc. of IPCO, pp. 13-24.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the following paper we prove that conjecture and strengthen Disser and Skutella's result to show two PSPACE-completeness results for the simplex method with Dantzig's pivoting rule (one for whether a variable enters the basis &quot;along the way&quot; and another for whether a variable is in the final solution found by Dantzig's pivot rule).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;J. Fearnley and R. Savani (2015).&#xA;The Complexity of the Simplex Method. In Proc. of STOC, pp. 201-208. &#xA;&lt;a href=&quot;http://arxiv.org/abs/1404.0605&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://arxiv.org/abs/1404.0605&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We use the known connection between linear programs and Markov decision processes (MDPs). A central part of our construction are the exponential-time examples due to Condon and Melekopoglou for single-switch policy iteration for MDPs. Those examples use a reflected binary Gray code, as used for Klee-Minty cubes. We use a modification of those examples as a clock to drive iterated circuit evaluation in our construction.&lt;/p&gt;&#xA;" OwnerUserId="368" LastEditorUserId="368" LastEditDate="2017-04-20T08:53:54.687" LastActivityDate="2017-04-20T08:53:54.687" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21969" PostTypeId="1" CreationDate="2014-04-06T07:30:30.000" Score="5" ViewCount="218" Body="&lt;p&gt;The classic chromatic number of graph, $\chi(G)$, describes the minimum number of colors needed so that each color class is an independent set. There are many other graph coloring definitions. One of them is &lt;strong&gt;c-chromatic number&lt;/strong&gt;, $c(G)$, defined in the paper &lt;a href=&quot;https://www.dropbox.com/s/tqxdkzgvnlte4v3/Partitions%20of%20graphs%20into%20cographs.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Partitions of graphs into cographs&lt;/a&gt;. It asks that each color class is a &lt;a href=&quot;https://en.wikipedia.org/wiki/Cograph&quot; rel=&quot;nofollow noreferrer&quot;&gt;cograph&lt;/a&gt;. Cograph is a &lt;strong&gt;P4-free&lt;/strong&gt; graph, i.e., there is no induced path of length 3. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&quot;&lt;a href=&quot;https://www.dropbox.com/s/bz5936jzf9y32lq/G-free-complexity.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;G-free-complexity&lt;/a&gt;&quot; implies that it is NP-Complete decide $c(G)=k$ for any $k\ge 2$. I have thought following questions about (in-)approximating $c(G)$ for a while. Any suggestion is appreciated. Intuitively, I think these graph coloring are really hard to approximate.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This post is related to a previous one about &lt;a href=&quot;https://cstheory.stackexchange.com/questions/21148/how-bad-can-the-greedy-coloring-list-color-for-the-c-chromatic-number-of-graph&quot;&gt;greedy coloring using a list&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question 1&lt;/strong&gt;. Given a graph $G$ of $c(G)=2$, is it hard (e.g., unless P=NP. or any other hardness assumption) to partition $G$ into three cographs? How hard is it to approximate $c(G)$ for general graphs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Related results of the classic $\chi(G)$. It is hard to 4-color a 3-colorable graph. There are many inapproximateness results from the well-known &lt;a href=&quot;http://en.wikipedia.org/wiki/PCP_theorem&quot; rel=&quot;nofollow noreferrer&quot;&gt;&lt;code&gt;PCP theorem&lt;/code&gt;&lt;/a&gt;. I tried to learn this theorem myself but it is hard for me to apply it to get inapproximate result of $c(G)$. I also tried &lt;code&gt;gap amplification&lt;/code&gt; technique used to show it is hard to 2-approximate $\chi(G)$ by &lt;a href=&quot;https://www.dropbox.com/s/jmuebbzvhdo2ein/The%20complexity%20of%20near-optimal%20graph%20coloring.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Garey &amp;amp; Johnsn&lt;/a&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question 2&lt;/strong&gt;. How good can we approximate $c(G)$ in polynomial time?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Related results. &quot;&lt;a href=&quot;https://www.dropbox.com/s/qfeoujxl140a90a/Approximate%20Hypergraph%20Coloring.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Approximate Hypergraph Coloring&lt;/a&gt;&quot; shows that, for any 4-uniform 2-colorable hypergraph $H$, there is a randomized algorithm to color $H$ using $O(n^{2/9}\log n)$ colors.&#xA;For any graph, &lt;a href=&quot;https://www.dropbox.com/s/tqxdkzgvnlte4v3/Partitions%20of%20graphs%20into%20cographs.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Remark 12&lt;/a&gt; shows that we can partition $G$ into at most $\lceil \frac{\Delta + 1}{2} \rceil $ cographs. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any suggestion is welcome. A good tutorial or note of PCP Theorem (including application) is great. Thank you very much.&lt;/p&gt;&#xA;" OwnerUserId="6108" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2014-04-08T07:46:30.537" Title="Approximate c-chromatic number, each color class is P4-free (cograph)" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;approximation-algorithms&gt;&lt;approximation-hardness&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21972" PostTypeId="2" ParentId="21966" CreationDate="2014-04-06T10:32:50.840" Score="7" Body="&lt;p&gt;I think you can make the classical local ratio algorithm by Bafna et al. give a $2-o(1)$ approximation on the following family of graphs:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Take $G_n$ to be a $K_{n,n}$ (the complete bipertite graph with $n$ vertices on each side), and then delete a single edge. &#xA;The following shows that the algorithm might output all of the &quot;blue&quot; vertices ($2n-4$ in number) as the FVS approximation, while there's a much smaller FVS for $G_n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/yEQih.jpg&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(notice there's no edge between the teal vertices).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The optimal FVS is contains $n-1$ vertices (take all of the vertices on the right, except the top one).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now there are no semi-disjoint cycles, and the vertices degrees are as follows:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Blue / Purple vertices - degree $n$.&lt;/li&gt;&#xA;&lt;li&gt;Teal vertices - degree $n-1$.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;This means that the all of the blue/purple vertices will be inserted first into the stack at arbitrary order (the teal vertices enters the stack at the end and are the first to be deleted from $F$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assuming that the purple vertices will pushed after (and popped before) the blue ones, they will be removed from $F$ which will be updated to contain all of the blue vertices.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;From this point on, no other vertex can be deleted from $F$ (otherwise there will be a cycle using the teal/purpule vertices), and the resulting $FVS$ has size $2n-4$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This gives us a $\frac{2n-4}{n-1}=2-o(1)$ approximation ratio, hence showing the analysis is tight even for the unweighted case.&lt;/p&gt;&#xA;" OwnerUserId="21001" LastEditorUserId="21001" LastEditDate="2014-06-01T18:37:48.543" LastActivityDate="2014-06-01T18:37:48.543" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="21973" PostTypeId="1" AcceptedAnswerId="21976" CreationDate="2014-04-06T11:53:17.150" Score="2" ViewCount="596" Body="&lt;p&gt;The &lt;span class=&quot;math-container&quot;&gt;$k$&lt;/span&gt;-Vertex-Disjoint Paths Problem (&lt;span class=&quot;math-container&quot;&gt;$k$&lt;/span&gt;-&lt;span class=&quot;math-container&quot;&gt;$\text{DPP}$&lt;/span&gt;) is defined as follows:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Input: A graph &lt;span class=&quot;math-container&quot;&gt;$G=(V,E)$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$k$&lt;/span&gt; pairs of vertices &lt;span class=&quot;math-container&quot;&gt;$(s_1,t_1),\ldots,(s_k,t_k)$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Question: Does there exist &lt;span class=&quot;math-container&quot;&gt;$k$&lt;/span&gt;-pairwise vertex-disjoint paths &lt;span class=&quot;math-container&quot;&gt;$P_1,\ldots,P_k$&lt;/span&gt;, such that &lt;span class=&quot;math-container&quot;&gt;$P_i$&lt;/span&gt; goes from &lt;span class=&quot;math-container&quot;&gt;$s_i$&lt;/span&gt; to &lt;span class=&quot;math-container&quot;&gt;$t_i$&lt;/span&gt;?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;The problem, for general &lt;span class=&quot;math-container&quot;&gt;$k$&lt;/span&gt;, is &lt;a href=&quot;http://link.springer.com/article/10.1007/BF01202792#page-1&quot; rel=&quot;nofollow noreferrer&quot;&gt;known to be NP-complete even for planar graphs of max degree 3&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;That said, &lt;span class=&quot;math-container&quot;&gt;$2$&lt;/span&gt;-&lt;span class=&quot;math-container&quot;&gt;$\text{DPP}$&lt;/span&gt; &lt;a href=&quot;http://www.informatik.uni-augsburg.de/thi/personen/tholey_files/crntholey06.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;admits a nearly linear algorithm&lt;/a&gt; for general undirected graphs.&lt;/p&gt;&#xA;&lt;p&gt;Is there anything known for any higher value of &lt;span class=&quot;math-container&quot;&gt;$k$&lt;/span&gt; (assuming fixed &lt;span class=&quot;math-container&quot;&gt;$k$&lt;/span&gt; value)? What about &lt;span class=&quot;math-container&quot;&gt;$k=3$&lt;/span&gt;?&lt;/p&gt;&#xA;" OwnerUserId="21001" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2014-04-09T11:47:38.530" Title="For which values of $k$ is the $k$-disjoint paths problem in $\mathcal{P}$?" Tags="&lt;ds.algorithms&gt;&lt;graph-algorithms&gt;&lt;np-hardness&gt;&lt;complexity-classes&gt;&lt;disjoint-paths&gt;" AnswerCount="2" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21974" PostTypeId="2" ParentId="21973" CreationDate="2014-04-06T12:13:40.967" Score="4" Body="&lt;p&gt;Here's what I know.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;For undirected graphs, the problem admits a 'nonconstructive' FPT algorithm based on Robertson-Seymour theory. The running time is $f(k) n^3$ where $f$ is a fast-growing function.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;For directed graphs, the problem is $\sf{NP}$-complete for any constant $k \geq 3$. In the case of planar directed graphs, it is polynomial for fixed $k$: there is a relatively simple $n^{O(k)}$ algorithm due to Schrijver ('Finding k Disjoint Paths in a Directed Planar Graph', SICOMP) and a more involved FPT algorithm with running time $f(k) poly(n)$ due to Cygan et al., where $f(k)$ is a double-exponential function ('The Planar Directed K-Vertex-Disjoint Paths Problem Is Fixed-Parameter Tractable', FOCS 2013).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Also, if I remember right there are some cases where the edge-disjoint version is easier, but I couldn't recollect the details.&lt;/p&gt;&#xA;" OwnerUserId="21798" LastActivityDate="2014-04-06T12:13:40.967" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21975" PostTypeId="1" CreationDate="2014-04-06T13:00:47.493" Score="1" ViewCount="89" Body="&lt;p&gt;The BME problem has an interest in computational biology, for the reconstruction of phylogenetic trees from a distance matrix. Let me provide some context before defining the problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose that we are given a set of species $S$ and a symmetric function $\delta : S \times S \rightarrow \mathbb{R}^+$ such that $\delta(i,j)$ is an estimate of the evolutionary distance between species $i$ and $j$. The 'tree fitting' problem consists of finding a weighted tree $\hat{T}$ leaf-labeled by $S$, such that the induced metric $d_{\hat{T}}$ is a good estimation of $\delta$. Here $d_{\hat{T}}(i,j)$ is defined as the length of the unique path of $\hat{T}$ joining $i$ and $j$. If $T$ is unweighted, we denote by $p_T(i,j)$ the &lt;em&gt;number of edges&lt;/em&gt; of this path.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, given an unweighted tree $T$ and a matrix $\delta$, we may then define the following quantity:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;$L_T(\delta) = \sum_{\{i,j\} \subseteq X} 2^{1-p_T(i,j)} \delta(i,j)$&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;It is known that $L_T(\delta)$ computes the total length $l(\hat{T})$ of a weighted tree $\hat{T}$ with topology $T$ that best fits $\delta$ (in some precise sense that I won't explain). In particular, when $\delta$ is obtained from some weighted tree $\hat{U}$, we have the property that $L_U(\delta) = l(\hat{U})$ and that $L_T(\delta) \geq l(\hat{U})$ for every $T \neq U$. That is to say, in that case the 'right tree' can be obtained by a parsimony principle.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The BME problem consists, given the function $\delta$, to recover an unweighted tree $T$ minimizing $L_T(\delta)$. By the above remark, the problem is easy when $\delta$ is a tree metric, whereas it is $\sf{NP}$-hard for arbitrary metrics (and probably even for $\ell_p$ metrics of small dimension, although I don't have a formal proof of this fact). Mainly for theoretical reasons, I am looking for other classes of metrics for which the problem is &lt;strong&gt;polynomial&lt;/strong&gt;. An analogy with the TSP problem suggests that circular metrics are possible candidates, as they're known to be among the few tractable cases for TSP.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thus, to the experts in the field I'd like to ask if (1) they have literature to recommend about circular metrics, (2) they have suggestions of other candidate metrics that are known to be tractable for TSP.&lt;/p&gt;&#xA;" OwnerUserId="21798" LastEditorUserId="21798" LastEditDate="2014-04-29T13:44:06.873" LastActivityDate="2014-04-29T13:44:06.873" Title="Are there any polynomial cases of Balanced Minimum Evolution?" Tags="&lt;tree&gt;&lt;metric-spaces&gt;" AnswerCount="0" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21976" PostTypeId="2" ParentId="21973" CreationDate="2014-04-06T13:35:55.417" Score="6" Body="&lt;p&gt;For undirected graph problem admits a FPT algorithm for any fixed $k$. Robertson and Seymour, Graph Minor XIII. Their algorithm runs in time $2^{2^{2^{2^{O(k)}}}} P(n)$ which means for $k = O(\log\log\log\log n)$ is polynomial. But it's not known whether there is better bound for $k$ or not. In special cases like undirected &lt;a href=&quot;http://arxiv.org/abs/1310.2378&quot; rel=&quot;nofollow&quot;&gt;planar&lt;/a&gt; case and recently &lt;a href=&quot;http://arxiv.org/abs/1309.7820&quot; rel=&quot;nofollow&quot;&gt;bounded genus&lt;/a&gt; case, running time improved.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For directed graph it's NP-Complete even case of &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/0304397580900092&quot; rel=&quot;nofollow&quot;&gt;2-disjoint path&lt;/a&gt; problem. But in planar graphs is FPT by result of &lt;a href=&quot;http://arxiv.org/abs/1304.4207&quot; rel=&quot;nofollow&quot;&gt;Marx et al.&lt;/a&gt;, in graphs of bounded genus is &lt;a href=&quot;http://homepages.cwi.nl/~lex/files/dppg.pdf&quot; rel=&quot;nofollow&quot;&gt;at least in XP&lt;/a&gt; (not known whether is FPT or not), in directed acyclic graphs is $W[1]$-hard by result of &lt;a href=&quot;http://link.springer.com/chapter/10.1007/978-3-540-39658-1_44&quot; rel=&quot;nofollow&quot;&gt;Slivkins&lt;/a&gt;, for tournaments is NP-complete (not known if is FPT or even XP, edge disjoint version admits XP algorithm by result of Seymour et al).&lt;/p&gt;&#xA;" OwnerUserId="1846" LastEditorUserId="1846" LastEditDate="2014-04-09T11:47:38.530" LastActivityDate="2014-04-09T11:47:38.530" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21978" PostTypeId="1" CreationDate="2014-04-06T19:08:05.930" Score="2" ViewCount="114" Body="&lt;p&gt;The well-known notion of &lt;em&gt;associativity&lt;/em&gt; in algebra leads to structures with interesting properties, such as groups or semigroups. According to a &lt;a href=&quot;http://math.berkeley.edu/~rhodes/JohnRhodes.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;paper&lt;/a&gt; by John Rhodes, some researchers in algebra and computational complexity are interested in extending this notion to obtain more general structures that retain certain properties of semigroups.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It seems that such a suggestion was made &lt;a href=&quot;https://cstheory.stackexchange.com/questions/21631/notion-of-associativity-for-ternary-relations&quot;&gt;anonymously&lt;/a&gt; on this site, but I couldn't ascertain whether the definitition is well-founded and interesting. Therefore, I would like to know what other extensions of associativity are known, and which ones were successfully used in TCS, if any. I've heard about things like Moufang loops but couldn't wrap my mind around the defn, so any etra 'intuition' is welcome.&lt;/p&gt;&#xA;" OwnerUserId="22411" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2014-04-06T21:37:45.820" Title="Possible generalizations of associativity?" Tags="&lt;algebra&gt;&lt;advice-request&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="21982" PostTypeId="2" ParentId="20841" CreationDate="2014-04-07T09:54:33.030" Score="1" Body="&lt;p&gt;This question has been open for long now, and after some research I think I have the following answer&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There has been two candidate schemes proposed for multilinear pairing by &lt;a href=&quot;https://eprint.iacr.org/2012/610&quot; rel=&quot;nofollow&quot;&gt;Garg, Gentry,  Halevi&lt;/a&gt; and &lt;a href=&quot;https://eprint.iacr.org/2013/183&quot; rel=&quot;nofollow&quot;&gt;Coron, Lepoint, Tibouchi&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However either do not have a security proof and their security is given by extensive cryptanalysis. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, to sum it up, although it is possible to implement a &quot;trilinear&quot; map, these maps are NOT (provably) cryptographically secure. &lt;/p&gt;&#xA;" OwnerUserId="17325" LastActivityDate="2014-04-07T09:54:33.030" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="21983" PostTypeId="1" CreationDate="2014-04-07T13:51:31.777" Score="8" ViewCount="198" Body="&lt;p&gt;Problem:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider a finite number of control states (including an &quot;initial&quot; and a &quot;bad&quot; state), a finite number of integer variables, and for each ordered pair of states a transition relation expressed in Presburger arithmetic.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Decide whether there exists an inductive invariant (= stable by post-states of the transition relation) containing the initial but not the bad state, definable in Presburger arithmetic.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Note that this problem is different from the reachability problem in Presburger arithmetic, which is clearly undecidable (by reduction from two-counter machines).)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I suspect this problem is undecidable, but do not know of any proof for it. (It is obviously semidecidable.) Has somebody proved this ?&lt;/p&gt;&#xA;" OwnerUserId="9598" LastEditorUserId="2185" LastEditDate="2014-04-07T14:40:06.423" LastActivityDate="2014-04-15T22:53:22.947" Title="Decidability of inductive invariant existence in Presburger arithmetic" Tags="&lt;lo.logic&gt;&lt;pl.programming-languages&gt;&lt;decidability&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="21984" PostTypeId="1" AcceptedAnswerId="22037" CreationDate="2014-04-07T14:01:29.350" Score="7" ViewCount="653" Body="&lt;p&gt;I'm thinking about some properties of the empirical entropy for binary strings of length &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt; when the following question crosses my way:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$\underbrace{\large\frac{1}{2^{n}}\normalsize\sum\limits_{w\in\left\{0,1\right\}^{n}}\normalsize nH_{0}(w)}_{\large\#}\;\overset{?}{=}\;n-\varepsilon_{n}\;\;\;$&lt;/span&gt;&lt;/p&gt;&#xA;&lt;p&gt;with &lt;span class=&quot;math-container&quot;&gt;$\;\;\lim\limits_{n\rightarrow\infty}\varepsilon_{n}=c\;\;\;$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$\;\;\;\forall n:\;\varepsilon_{n}&amp;gt;0$&lt;/span&gt;&lt;/p&gt;&#xA;&lt;p&gt;where &lt;span class=&quot;math-container&quot;&gt;$c$&lt;/span&gt; is a constant.&lt;/p&gt;&#xA;&lt;h3&gt;Is that equation true? For which function &lt;span class=&quot;math-container&quot;&gt;$\varepsilon_{n}$&lt;/span&gt; respectively which constant &lt;span class=&quot;math-container&quot;&gt;$c$&lt;/span&gt;?&lt;/h3&gt;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$ $&lt;/span&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$n=2\;\;\;\;\;\;\;\rightarrow\;\#=1 $&lt;/span&gt;&lt;br /&gt;&#xA;&lt;span class=&quot;math-container&quot;&gt;$n=3\;\;\;\;\;\;\;\rightarrow\;\#\approx 2.066 $&lt;/span&gt;&lt;br /&gt;&#xA;&lt;span class=&quot;math-container&quot;&gt;$n=6\;\;\;\;\;\;\;\rightarrow\;\#\approx 5.189 $&lt;/span&gt;&lt;br /&gt;&#xA;&lt;span class=&quot;math-container&quot;&gt;$n=100\;\;\;\rightarrow\;\#\approx 99.275 $&lt;/span&gt;&lt;br /&gt;&#xA;&lt;span class=&quot;math-container&quot;&gt;$n=5000\;\rightarrow\;\#\approx 4999.278580 $&lt;/span&gt;&lt;br /&gt;&#xA;&lt;span class=&quot;math-container&quot;&gt;$n=6000\;\rightarrow\;\#\approx 5999.278592 $&lt;/span&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$ $&lt;/span&gt;&lt;/p&gt;&#xA;&lt;h1&gt;Backround&lt;/h1&gt;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$ $&lt;/span&gt;&lt;br /&gt;&#xA;&lt;span class=&quot;math-container&quot;&gt;$H_{0}(w)$&lt;/span&gt; is the zeroth-order empircal entropy for strings over &lt;span class=&quot;math-container&quot;&gt;$\Sigma=\left\{0,1\right\}$&lt;/span&gt;:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;span class=&quot;math-container&quot;&gt;$H_{0}(w)=\frac{|w|_{0}}{n}\log\frac{n}{|w|_{0}}+\frac{n-|w|_{0}}{n}\log\frac{n}{n-|w|_{0}}$&lt;/span&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;where &lt;span class=&quot;math-container&quot;&gt;$|w|_{0}$&lt;/span&gt; is the number of occurences of &lt;span class=&quot;math-container&quot;&gt;$0$&lt;/span&gt; in &lt;span class=&quot;math-container&quot;&gt;$w\in\Sigma^{n}$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;p&gt;The term &lt;span class=&quot;math-container&quot;&gt;$nH_{0}(w)$&lt;/span&gt; corresponds to the Shannon-entropy of the empirical distribution of binary words  with respect to the number of occurences of &lt;span class=&quot;math-container&quot;&gt;$0$&lt;/span&gt; respectively &lt;span class=&quot;math-container&quot;&gt;$1$&lt;/span&gt; in &lt;span class=&quot;math-container&quot;&gt;$w\in\Sigma^{n}$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;p&gt;More precise:&lt;br /&gt;&#xA;Let the words in &lt;span class=&quot;math-container&quot;&gt;$\left\{0,1\right\}^{n}$&lt;/span&gt; be possible outcomes of a Bernoulli process. If the probability of &lt;span class=&quot;math-container&quot;&gt;$0$&lt;/span&gt; is equal to the relative frequency of &lt;span class=&quot;math-container&quot;&gt;$0$&lt;/span&gt; in a word &lt;span class=&quot;math-container&quot;&gt;$w\in\left\{0,1\right\}^{n}$&lt;/span&gt;, then the Shannon-entropy of this Bernoulli process is equal to &lt;span class=&quot;math-container&quot;&gt;$nH_{0}(w)$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;p&gt;At this point, my question should be more reasonable since the first term normalizes the Shannon-entropies for all empirical distributions of words &lt;span class=&quot;math-container&quot;&gt;$w\in\left\{0,1\right\}^{n}$&lt;/span&gt;.&lt;br /&gt;&#xA;Intuitively I thought about getting something close to the Shannon-entropy of the uniform distribution of &lt;span class=&quot;math-container&quot;&gt;$\left\{0,1\right\}^{n}$&lt;/span&gt;, which is &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt;.&lt;br /&gt;&#xA;By computing and observing some values I've got the conjecture above, but I'm not able to prove it or to get the exact term &lt;span class=&quot;math-container&quot;&gt;$\varepsilon_{n}$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;p&gt;It is easy to get the following equalities:&lt;/p&gt;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$\large\frac{1}{2^{n}}\normalsize\sum\limits_{w\in\left\{0,1\right\}^{n}}\normalsize nH_{0}(w)\;\;=\large\frac{1}{2^{n}}\normalsize\sum\limits_{w\in\left\{0,1\right\}^{n}}\normalsize |w|_{0}\log\frac{n}{|w|_{0}}+(n-|w|_{0})\log\frac{n}{n-|w|_{0}}$&lt;/span&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$=\large\frac{1}{2^{n}}\normalsize\sum\limits_{k=1}^{n-1}$&lt;/span&gt; &lt;span class=&quot;math-container&quot;&gt;$n\choose k$&lt;/span&gt; &lt;span class=&quot;math-container&quot;&gt;$\left(k\log\frac{n}{k}+(n-k)\log\frac{n}{n-k}\right)$&lt;/span&gt;&lt;/p&gt;&#xA;&lt;p&gt;and it is possible to apply some logarithmic identities but I'm still in a dead point.&lt;/p&gt;&#xA;&lt;p&gt;(the words &lt;span class=&quot;math-container&quot;&gt;$0^{n}$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$1^{n}$&lt;/span&gt; are ignored, because the Shannon-entropy of their empirical distributions is zero)&lt;/p&gt;&#xA;&lt;p&gt;Any help is welcome.&lt;/p&gt;&#xA;" OwnerUserId="21809" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2014-10-30T09:52:58.377" Title="Expected empirical entropy" Tags="&lt;it.information-theory&gt;&lt;shannon-entropy&gt;" AnswerCount="4" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21985" PostTypeId="1" CreationDate="2014-04-07T15:34:41.033" Score="3" ViewCount="180" Body="&lt;p&gt;The notion of &lt;a href=&quot;http://en.wikipedia.org/wiki/Building_%28mathematics%29&quot; rel=&quot;nofollow&quot;&gt;Tits building&lt;/a&gt; was introduced by Jacques Tits to study certain questions in group theory. The wikipedia entry gives a way to construct a Tits building from a vector space, but I would be interested in a simpler construction defined as follows.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $\mathbb{V}$ be a vector space over a field $\mathbb{F}$. Construct a simplicial complex $SCI(\mathbb{V})$ with ground set $\mathbb{V}$, where the simplices are the linearly independent subsets of $\mathbb{V}$ - note that this essentially defines a representable matroid.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider two basis $B^1 = \{u^1_1,\ldots,u^1_n\}$ and $B^2 = \{u^2_1,\ldots,u^2_n\}$ of $\mathbb{V}$, such that the basis-change matrix $M_{B^1,B^2}$ is lower-triangular. We can then define an &lt;em&gt;apartment&lt;/em&gt; $O_{B^1,B^2}$ which is the subcomplex of $SCI(\mathbb{V})$ formed by the subsets $\{u^{i_1}_1,\ldots,u^{i_p}_p\}$ for $1 \leq p \leq n, i_j \in \{1,2\}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Question: does this construction satisfy the four axioms of a Tits building (given in the above link)? If so, what are the possible applications to matroid theory?&lt;/p&gt;&#xA;" OwnerUserId="21714" LastEditorUserId="21714" LastEditDate="2014-04-07T20:04:46.867" LastActivityDate="2014-04-07T20:04:46.867" Title="An interesting construction of a Tits building?" Tags="&lt;linear-algebra&gt;&lt;matrices&gt;" AnswerCount="0" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="21986" PostTypeId="2" ParentId="20522" CreationDate="2014-04-07T18:14:51.817" Score="16" Body="&lt;p&gt;How bout &lt;a href=&quot;http://ac.els-cdn.com/S0166218X97001212/1-s2.0-S0166218X97001212-main.pdf?_tid=11728ab4-be80-11e3-9e7c-00000aacb361&amp;amp;acdnat=1396894481_d7c17dcda37aaade0c9ed6c63e7c7bc7&quot;&gt;finding two disjoint shortest paths&lt;/a&gt;, which has a runtime of $O(|V|^8)$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, $O(|V|^{12}\cdot |E|)$ algorithm &lt;a href=&quot;http://www.ii.uib.no/~martinv/Papers/ISinP5free.pdf&quot;&gt;is known&lt;/a&gt; for independent set in $P_5$-free graphs.&lt;/p&gt;&#xA;" OwnerUserId="21001" LastEditorUserId="21001" LastEditDate="2014-10-01T07:56:10.160" LastActivityDate="2014-10-01T07:56:10.160" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21987" PostTypeId="1" AcceptedAnswerId="22357" CreationDate="2014-04-07T18:30:22.260" Score="4" ViewCount="261" Body="&lt;p&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/questions/21973/for-which-values-of-k-is-the-k-disjoint-paths-problem-in-mathcalp&quot;&gt;In a related question&lt;/a&gt;, Saeed and Super8 have mentioned the Robertson-Seymour theory which enables us to find $k$ disjoint paths between pairs of vertices $\{s_i,t_i\}_{i=1}^k$ in poly time for fixed $k\in \mathbb{N}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose now that we are trying to find $k$-disjoint-paths, such that the sum of their lengths is minimal.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Related results:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Using a similar reduction to the one &lt;a href=&quot;https://cstheory.stackexchange.com/questions/20185/subgraph-containing-all-nodes-and-edges-that-are-part-of-length-limited-simple-s/21809#21809&quot;&gt;I proposed here&lt;/a&gt;, it is possible to show that if there's a single source (and $k$ targets), the problem is in $P$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;There's a &lt;a href=&quot;http://ac.els-cdn.com/S0166218X97001212/1-s2.0-S0166218X97001212-main.pdf?_tid=11728ab4-be80-11e3-9e7c-00000aacb361&amp;amp;acdnat=1396894481_d7c17dcda37aaade0c9ed6c63e7c7bc7&quot; rel=&quot;nofollow noreferrer&quot;&gt;known algorithm&lt;/a&gt;(with the unusual runtime of $O(|V|^8)$) for a related problem, where only shortest $s_i\to t_i$ paths are to be considered. In this variant, $k=2$ is in $P$ .&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;In the same paper, they state that (notice it's not the same problem):&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&quot;the complexity for fixed $k \geq 3$ remains an open  problem. &quot;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;What can we say about the &quot;short-$k$-disjoint-paths&quot; problem?&lt;/p&gt;&#xA;" OwnerUserId="21001" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2014-04-30T08:34:17.500" Title="For which values of $k$ is minimum length undirected $k$-disjoint-paths in $\mathcal{P}$?" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;graph-algorithms&gt;&lt;shortest-path&gt;&lt;disjoint-paths&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21990" PostTypeId="1" CreationDate="2014-04-07T21:17:31.977" Score="5" ViewCount="211" Body="&lt;p&gt;I have &lt;strong&gt;a set of polygons&lt;/strong&gt; (convex, concave – non-convex, &lt;strong&gt;not&lt;/strong&gt; self-intersecting) in a plane. There may be intersections between polygons.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Polygon is defined by points (cartesian coordinate system).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Please see the example image:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/apypM.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is 2 polygons: the first is { A, B, C, D } and the second is { E, F, G }.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;How can I detect bounding &quot;face&quot; by the given point?&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Solution for point 1 is { A, B, the intersection between |BD| and |EF|, F, the intersection between |FG| and |DC|, C, A }.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;My idea&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;I tried some alghoritmus for boolean operations on polygons, but I think that this is not the right approach.&lt;/li&gt;&#xA;&lt;li&gt;I can insert intersection points into original polygons and subdivided the original edge. After that, there is no intersection between polygon's edges.&lt;/li&gt;&#xA;&lt;li&gt;Can I use some graph theory algorithm or algorithm for space partitioning?&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="22427" LastEditorUserId="80" LastEditDate="2014-04-08T17:56:31.757" LastActivityDate="2014-04-08T23:43:58.717" Title="Locating a point inside a union of simple polygons" Tags="&lt;computational-geometry&gt;" AnswerCount="3" CommentCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="21991" PostTypeId="2" ParentId="21730" CreationDate="2014-04-07T21:49:55.150" Score="9" Body="&lt;p&gt;&lt;strong&gt;Edit:&lt;/strong&gt; This algorithm is now presented here: &lt;a href=&quot;http://arxiv.org/abs/1406.1717&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://arxiv.org/abs/1406.1717&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Yes, to solve this problem it is sufficient to perform the following operations:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Sort $n/k$ vectors, each with $k$ elements.&lt;/li&gt;&#xA;&lt;li&gt;Do linear-time post-processing.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Very roughly, the idea is this:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Consider two adjacent blocks of input, $a$ and $b$, both with $k$ elements; let the elements be $a_1, a_2, ..., a_k$ and $b_1, b_2, ..., b_k$ in the order of appearance in input vector $x$.&lt;/li&gt;&#xA;&lt;li&gt;Sort these blocks and learn the rank of each element within the block.&lt;/li&gt;&#xA;&lt;li&gt;Augment the vectors $a$ and $b$ with predecessor/successor pointers so that by following the pointer chains we can traverse the elements in an increasing order. This way we have constructed doubly linked lists $a'$ and $b'$.&lt;/li&gt;&#xA;&lt;li&gt;One by one, delete all elements from the linked list $b'$, in the reverse order of appearance $b_k, b_{k-1}, ..., b_1$. Whenever we delete an element, &lt;strong&gt;remember what was its successor &amp;amp; predecessor at the time of deletion&lt;/strong&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Now maintain &quot;median pointers&quot; $p$ and $q$ that point to lists $a'$ and $b'$, respectively. Initialise $p$ to the midpoint of $a'$, and initialise $q$ to the tail of the empty list $b'$.&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;For each $i$:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Delete $a_i$ from list $a'$ (this is $O(1)$ time, just delete from the linked list). Compare $a_i$ with the element pointed by $p$ to see if we deleted before or after $p$.&lt;/li&gt;&#xA;&lt;li&gt;Put $b_i$ back to list $b'$ in its original position (this is $O(1)$ time, we memorised the predecessor and successor of $b_i$). Compare $b_i$ with the element pointed by $q$ to see if we added the element before or after $q$.&lt;/li&gt;&#xA;&lt;li&gt;Update pointers $p$ and $q$ so that the median of the joined list $a' \cup b'$ is either at $p$ or at $q$. (This is $O(1)$ time, just follow the linked lists one or two steps to fix everything. We will keep track of how many items are before/after $p$ and $q$ in each list, and we will maintain the invariant that both $p$ and $q$ point to elements that are as close to the median as possible.)&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The linked lists are just $k$-element arrays of indexes, so they are lightweight (except that the locality of memory access is poor).&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Here is a sample implementation and benchmarks:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://github.com/suomela/median-filter&quot; rel=&quot;nofollow noreferrer&quot;&gt;https://github.com/suomela/median-filter&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Here is a plot of running times (for $n \approx 2\cdot 10^6$):&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Blue = sorting + post-processing, $O(n \log k)$.&lt;/li&gt;&#xA;&lt;li&gt;Green = maintain two heaps, $O(n \log k)$, implementation from &lt;a href=&quot;https://github.com/craffel/median-filter&quot; rel=&quot;nofollow noreferrer&quot;&gt;https://github.com/craffel/median-filter&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Red = maintain two search trees, $O(n \log k)$.&lt;/li&gt;&#xA;&lt;li&gt;Black = maintain a sorted vector, $O(n k)$.&lt;/li&gt;&#xA;&lt;li&gt;X axis = window size ($\approx k/2$).&lt;/li&gt;&#xA;&lt;li&gt;Y axis = running time in seconds.&lt;/li&gt;&#xA;&lt;li&gt;Data = 32-bit integers and random 64-bit integers, from various distributions.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/0asKl.png&quot; alt=&quot;running times&quot;&gt;&lt;/p&gt;&#xA;" OwnerUserId="74" LastEditorUserId="74" LastEditDate="2014-06-09T08:36:01.257" LastActivityDate="2014-06-09T08:36:01.257" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="21992" PostTypeId="1" CreationDate="2014-04-07T21:55:01.547" Score="1" ViewCount="118" Body="&lt;p&gt;Consider a variety of algebras $\mathbb{V} = \mathbb{V}(\sigma,\tau)$ which consists of the set of algebras defined over a fixed signature $\sigma$ and satisfying a set of identities $\tau$. We may then define its &lt;em&gt;ordered&lt;/em&gt; version $\mathbb{V}_{or}(\sigma,\tau)$ cas the set of algebras admitting a total order $\leq$ compatible with $\sigma$. By this I mean that:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(*) for each $f : X^n \rightarrow X$ in $\sigma$, for each tuples $t,t' \in X^n$, if $t_i \leq t'_i$ for every $i \in [n]$ then $f(t) \leq f(t')$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given such an ordered algebra $A$, we may define its order type $ot(A)$ as the maximum order type of a well-founded order $\leq' \subseteq \leq$ without accumulation points. We may then define the &lt;em&gt;spectrum&lt;/em&gt; of the variety $\mathbb{V}$ as the set of ordinals obtainable in that way.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is this notion known in universal algebra, and if so, which varieties have a known spectra?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An easy case seems to be the variety of ordered fields: for instance, the field of reals $\mathbb{R}$ would have order type $\omega$, and the field of rational fractions $\mathbb{R}(x)$ would have order type $\omega^{\omega}$. So is the following true:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Conjecture: the spectrum of the ordered fields consists of the ordinals closed under addition and multiplication?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(NOTE: I added the requirement that $\leq'$ has no accumulation points, as otherwise any countable ordinal would be embeddable in $\mathbb{R}$. The precise meaning is relative to $\leq$: if $S$ is the set of elements of $\leq'$, we ask that for every $x \in S$, there is an interval $I$ of $\leq$ properly containing $x$ s.t. $I \cap S = \{x\}$.)&lt;/p&gt;&#xA;" OwnerUserId="21714" LastEditorUserId="21714" LastEditDate="2014-04-26T21:37:21.063" LastActivityDate="2014-04-26T21:37:21.063" Title="Spectrum of a variety: a possible connection btw ordinals and structures?" Tags="&lt;algebra&gt;&lt;order-theory&gt;" AnswerCount="0" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="21995" PostTypeId="1" CreationDate="2014-04-08T01:13:55.520" Score="28" ViewCount="1066" Body="&lt;p&gt;In his book, Boolean Function Complexity, Stasys Jukna mentions (page 564) that Kolmogorov believed that every language in P has circuits of linear size. No reference is mentioned and I couldn't find anything online. Does anyone know more about this?&lt;/p&gt;&#xA;" OwnerUserId="19587" LastEditorUserId="2367" LastEditDate="2014-04-11T13:53:50.153" LastActivityDate="2014-05-07T03:01:00.800" Title="Kolmogorov's conjecture that $P$ has linear-size circuits" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;circuit-complexity&gt;&lt;ho.history-overview&gt;" AnswerCount="2" CommentCount="17" FavoriteCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="21997" PostTypeId="2" ParentId="21916" CreationDate="2014-04-08T02:51:02.873" Score="5" Body="&lt;p&gt;Depth-2 TC0 probably can't be PAC learned in subexponential time over the uniform distribution with a random oracle access. I don't know of a reference for this, but here's my reasoning: We know that parity is only barely learnable, in the sense that the class of parity functions is learnable in itself, but once you do just about anything to it (such as adding a bit of random noise), it ceases being learnable. But depth-2 TC0 is strong enough to represent all parity functions and strong enough to represent perturbed versions of parities, so I think it's safe to guess that depth-2 TC0 cannot be PAC learned.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, parities and noisy parities &lt;em&gt;can&lt;/em&gt; be learned in polynomial time if we're given a membership oracle. So it might be interesting to check whether depth-2 TC0 can be learned using a membership oracle. I wouldn't be totally surprised if the answer is yes. On the other hand, I doubt that $O(1)$-depth TC0 can be learned with membership queries. It might be good to start with AC0[6] (or even AC0[2]) and go from there.&lt;/p&gt;&#xA;" OwnerUserId="20830" LastEditorUserId="20830" LastEditDate="2014-04-08T04:21:22.920" LastActivityDate="2014-04-08T04:21:22.920" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22000" PostTypeId="1" CreationDate="2014-04-08T10:07:50.867" Score="2" ViewCount="830" Body="&lt;p&gt;I am trying to implement the coordinate descent method to solve the dual of linear SVM problem, but blocked at the stopping criterion.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider the optimization problem &#xA;\begin{equation}&#xA;\min f(\mathbf{x})&#xA;\end{equation}&#xA;under the constraints $x_i\in C_i$ for $i=1,2,\ldots,m$ where $\mathbf{x}=(x_1,x_2,\ldots,x_m)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;At iteration $k$ we perform $m$ inner iterations where the $i$-th inner iteration updates $x_i$ by solving:&#xA;$$x_i^{k+1} = \arg\min_{y} f(x_1^{k+1},x_2^{k+1},\ldots,x_{i-1}^{k+1},y,x_{i+1}^{k},\ldots,x_{m}^{k})$$&#xA;under the constraint $y\in C_i$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is, what is the stopping criterion of this algorithm if we want to obtain an $\epsilon$-accurate solution $\mathbf{x}$, i.e. $f(\mathbf{x}) - f(\mathbf{x}^*) \le \epsilon$ where $\mathbf{x}^*$ is the true optimal solution? If it's too general then let's consider in particular the dual of linear SVM problem: $$\min f(\mathbf{x}) = \frac{1}{2}\mathbf{x}^\top K \mathbf{x} - C\mathbf{1}^\top\mathbf{x},\quad \mbox{s.t. } 0\le x_i\le C \quad i=1,\ldots,m$$&#xA;where $K$ is a positive semi-definite matrix and $C$ is a positive constant.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the moment I take $f(\mathbf{x}^k) - f(\mathbf{x}^{k+1})&amp;lt;\epsilon$ but $f(\mathbf{x}^k) - f(\mathbf{x}^{k+1})$ is only the lower bound of $f(\mathbf{x}^k) - f(\mathbf{x}^*)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thank you in advance.&lt;/p&gt;&#xA;" OwnerUserId="21840" LastActivityDate="2014-06-08T20:31:36.340" Title="On the stopping criterion of coordinate descent method" Tags="&lt;optimization&gt;&lt;convex-optimization&gt;&lt;primal-dual&gt;&lt;svm&gt;" AnswerCount="1" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="22001" PostTypeId="2" ParentId="21990" CreationDate="2014-04-08T11:17:37.557" Score="2" Body="&lt;p&gt;You can consider every polygon one by one. You should update the answer after adding each polygon. For every polygon, first consider whether the polygon enclose the point. If yes, consider the every edge. Finding the edges going into the current minimum polygon (your current answer) and going outside. Then you can find all intersection and edges which generates your new answer. Iterate this procedure you can finally get the final answer&lt;/p&gt;&#xA;" OwnerUserId="22438" LastActivityDate="2014-04-08T11:17:37.557" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="22002" PostTypeId="1" CreationDate="2014-04-08T11:33:28.273" Score="2" ViewCount="303" Body="&lt;p&gt;I am looking for websites or articles where can I find a data with test graphs for domination set problem. In my heuristic algorithms I use undirected and unweighted graphs. So I search for some graphs which already have been tested from other people.&lt;/p&gt;&#xA;" OwnerUserId="22440" LastEditorUserId="22440" LastEditDate="2014-04-09T16:57:27.853" LastActivityDate="2014-04-09T16:57:27.853" Title="Dominating set problem" Tags="&lt;graph-theory&gt;" AnswerCount="1" CommentCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="22003" PostTypeId="2" ParentId="21990" CreationDate="2014-04-08T11:37:06.687" Score="0" Body="&lt;p&gt;One solution is to build from the input polygons, a set of empty polygons (by 'empty' I mean there are no edges going through them) so that every 'face' of your shape has its own associated polygon. e.g. in your example we would create 4 polygons: the polygon containing (1), the polygon containing (2), the triangle with vertices G, intersection(EG, BD), intersection(FG, CD), and the triangle with vertices E, intersection(EF, BD), intersection(EG, BD).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If your input consists of many input polygons, an exponential number of these empty polygons will be generated. You can generate them by first finding all intersections between pairs of lines. Then for each vertex, for each outgoing edge of that vertex, if that (vertex, edge) pair is not yet seen, mark the (vertex, edge) pair as seen, walk from the vertex along the edge, and take the leftmost edge each time you encounter an intersection, and repeat for this (vertex, edge) pair. Stop when you reach the initial vertex again.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now every point will be contained within at most one empty polygon. To determine which one, loop through all empty polygons and use a standard point-in-polygon test.&lt;/p&gt;&#xA;" OwnerUserId="22439" LastActivityDate="2014-04-08T11:37:06.687" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="22004" PostTypeId="2" ParentId="21984" CreationDate="2014-04-08T13:22:03.343" Score="3" Body="&lt;p&gt;Here is a proof that the quantity # that OP considers tends to n(1-o(1)).&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Claim: #=n-o(n)&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;First, note that for any function $f:\{0, 1\}^n \rightarrow \mathbb{R}$, $\frac{1}{2^n} \sum_{w \in \{0,1\}^n} f(w)$ is exactly the same as $\mathbb{E}_{w \in \{0,1\}^n} f(w)$. So you're asking whether $\mathbb{E}_{w \in \{0,1\}^n} H(w) = 1-o(1)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To see this, define $X$ to be a random variable uniformly distributed on $\{0,1\}^n$ Let $X_0$ be the number of 0's in $X$ and $X_1$ be the number of 1's in $X$. We want to prove &#xA;$$&#xA;\mathbb{E}[(X_0/n)\log(n/X_0)+(X_1/n)\log(n/X_1)]=1-o(1). &#xA;$$&#xA;But we know from the law of large numbers that both $X_0/n$ and $X_1/n$ converge in probability to $1/2$ and that if a random variable $Y$ converges in probability to $c$ and if $f$ is a continuous function, then $f(Y)$ converges in probability to $f(c)$. So we get that $\mathbb{E}[(X_0/n)\log(n/X_0)+(X_1/n)\log(n/X_1)]$ converges in probability to $\frac12 \log(2) + \frac12 \log(2) = 1$, QED.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note: This claim is related to the Asymptotic equipartition property for discrete-time i.i.d. sources &lt;a href=&quot;http://en.wikipedia.org/wiki/Asymptotic_equipartition_property#AEP_for_discrete-time_i.i.d._sources&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="20830" LastEditorUserId="20830" LastEditDate="2014-04-15T15:52:23.417" LastActivityDate="2014-04-15T15:52:23.417" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="22005" PostTypeId="1" CreationDate="2014-04-08T13:48:31.357" Score="3" ViewCount="137" Body="&lt;p&gt;A &lt;em&gt;partial semigroup&lt;/em&gt; (or PSG) consists of a set $X$ and of a partial composition law $*$ defined over $X$, that is to say:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(1) $x*y$ is not always defined,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(2) if $(x*y)*z$ is defined, so is $x*(y*z)$, and the two values are equal,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(3) if $x*(y*z)$ is defined, so is $(x*y)*z$, and the two values are equal.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $\mathbb{R}$ be a ring. We may then define a &lt;em&gt;convolution product&lt;/em&gt; over $\mathbb{R}^X$ : given two functions $f,g$, we define a function $f*g$ such that&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;for every $w \in X$, $f*g(w) = \sum_{x,y \in X : x*y = w} f(x) g(y)$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;By a &lt;em&gt;graded PSG&lt;/em&gt;, we mean a pair $(S,r)$ consisting of a PSG $S = (X,*)$ and of a rank function $r : X \rightarrow \mathbb{N}$ such that whenever $x*y$ is defined, $r(x*y) = r(x)+r(y)$. This holds for instance for the &lt;em&gt;interval algebra&lt;/em&gt; of an Eulerian poset (see On the Foundations of Combinatorial Theory I. Theory of Moebius Functions, by G.C. Rota).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By analogy with the situation in posets, we may define a 'triangular matrix' $\lambda \in \mathbb{R}^X$ by $\lambda(x) = 1$ for every $x \in X$, and a mapping $\zeta : \mathbb{R}^X \rightarrow \mathbb{R}^X$ by $\zeta(x) = \lambda * x$. It is known that for a partial semigroup obtained from the interval algebra of an Eulerian poset, the function $\lambda$ has an inverse $\mu \in \mathbb{R}^X$ given by $\mu([x,y]) = (-1)^{r(y)-r(x)}$. This suggests a possible extension to certain graded PSGs, which leads me to ask the following.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Question: for a graded PSG, under what conditions does $\lambda$ have an inverse $\mu$? When this holds, is it always true that $\mu(x) = (-1)^{r(x)}$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(NOTE: I renamed the rank function $r$ instead of $l$ for greater consistency.)&lt;/p&gt;&#xA;" OwnerUserId="21714" LastEditorUserId="17082" LastEditDate="2014-04-13T01:20:45.067" LastActivityDate="2014-04-13T01:20:45.067" Title="Convolution products in partial semigroups" Tags="&lt;order-theory&gt;" AnswerCount="0" CommentCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="22006" PostTypeId="2" ParentId="21916" CreationDate="2014-04-08T15:30:18.423" Score="9" Body="&lt;p&gt;The main thing missing from your list is the &lt;a href=&quot;https://www.cs.utexas.edu/~klivans/crypto-hs.pdf&quot;&gt;beautiful 2006 paper of Klivans and Sherstov&lt;/a&gt;.  They show there that PAC-learning even depth-2 threshold circuits is as hard as solving the approximate shortest vector problem.&lt;/p&gt;&#xA;" OwnerUserId="1575" LastActivityDate="2014-04-08T15:30:18.423" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="22007" PostTypeId="2" ParentId="21984" CreationDate="2014-04-08T16:08:47.497" Score="4" Body="&lt;p&gt;(Edited from previous version, 2014-04-08.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I believe that the answer is $\epsilon_n \to \log(\sqrt{e}) \approx 0.7213475...$ where the logarithm is base 2. This seems to match simulation results. I don't have a full formal proof, but give the heuristic approximations/calculations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think it's easier to note that your question is equivalent to:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What are the asymptotics of $\delta_n = 1 - \mathbb{E}[H(k/n)]$, where the expectation is over $k \sim Binomial(n,0.5)$?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;(where $H$ is the binary entropy function $H(p) = p\log(1/p) + (1-p)\log(1/(1-p))$, and $\delta_n = \epsilon_n/n$.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here's a quick plot to show the idea. We have the binary entropy function in blue and the Binomial pmf (for $p=0.5$) in green. So we can see that the expectation of $H(k/n)$, when $k$ is distributed binomially, will always be below one but should be approaching one. The question is how fast.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/LhwTW.png&quot; alt=&quot;Binary entropy function and Binomial(n,0.5) pmf, where n=100&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The key idea will be that the value we're interested in,&#xA;  $$ \mathbb{E}[H(k/n)] = \sum_{k=0}^n \frac{{n \choose k}}{2^n} H\left(\frac{k}{n}\right) , $$&#xA;can be related entropy of the binomial distribution. Let $p_{n,k} = \frac{{n \choose k}}{2^n}$ be the probability of $k$ heads in $n$ fair coin flips. The steps will be as follows:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Use Stirling's approximation to get $H(k/n) = \frac{\log(p_{n,k})}{n} + 1 + \text{something}$.&lt;/li&gt;&#xA;&lt;li&gt;Rewrite the original sum to get $\mathbb{E}[H(k/n)] = 1 - \frac{H(Binom(n,0.5))}{n} + \sum \text{something}$.&lt;/li&gt;&#xA;&lt;li&gt;Get that the entropy of the binomial, divided by $n$, plus the sum of &quot;something&quot;, equals $\frac{\log(\sqrt{e})}{n} + O(1/n^2)$.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Step 1:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Just plugging in Stirling and doing some cancellation/rearranging,&#xA;\begin{align}&#xA;   p_{n,k} &amp;amp;:= \frac{{n \choose k}}{2^n} \\&#xA;    &amp;amp;\sim \frac{n^n}{k^k (n-k)^{n-k}}\frac{1}{2^n}\sqrt{\frac{n}{2\pi k (n-k)}} .&#xA;\end{align}&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This won't be very tight for every term in the sum, but I think it will be asmyptotically tight towards the middle, which is all that matters since all the probability is in the center.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We can rewrite the entropy function as follows. It's just some arithmetic to combine the logarithms.&#xA;\begin{align}&#xA; H(k/n) &amp;amp;= \frac{k}{n}\log\left(\frac{1}{k/n}\right) + \frac{n-k}{n}\log\left(\frac{1}{(n-k)/n}\right) \\&#xA;  &amp;amp;= \log\left(\frac{n}{k^{k/n}(n-k)^{(n-k)/n}}\right) .&#xA;\end{align}&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, using Sterling's approximation above, the logarithm of a probability term is&#xA;\begin{align}&#xA; \log(p_{n,k}) &amp;amp;= \log\left(\frac{{n \choose k}}{2^n}\right) \\&#xA;  &amp;amp;\approx n H(k/n) - n + \log\left(\sqrt{\frac{n}{2\pi k(n-k)}}\right) .&#xA;\end{align}&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Step 2:&lt;/strong&gt;&#xA;\begin{align}&#xA; \mathbb{E}[H(k/n)] &amp;amp;= \sum_{k=0}^n p_{n,k} H(k/n)  \\&#xA;  &amp;amp;\approx \sum_{k=0}^n p_{n,k} \left(\frac{\log(p_{n,k})}{n} + 1 - \frac{\log\left(\sqrt{\frac{n}{2\pi k (n-k)}}\right)}{n}\right) \\&#xA;  &amp;amp;= 1 - \frac{H(Binom(n,0.5))}{n} - \frac{1}{n}\sum_{k=0}^n p_{n,k}\log\left(\sqrt{\frac{n}{2\pi k(n-k)}}\right) .&#xA;\end{align}&#xA;Here, $H(Binom(n,0.5))$ is the entropy of the Binomial distribution for $n$ coin flips and $p=0.5$, which by wikipedia is $\log\left(\sqrt{\pi e n / 2}\right) + O(1/n)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Step 3:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, we just need to approximate the third sum. I will take a very rough approximation (feel free to do better, but it probably doesn't gain much). All the probability mass is concentrated on $k = \frac{n}{2} \pm o(n)$. So approximate this sum (which is an expectation) by its value on the term $k=\frac{n}{2}$, when it is $\log\left(\sqrt{\frac{2}{\pi n}}\right)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So now, we get&#xA;\begin{align}&#xA; \delta_n &amp;amp;\approx \frac{\log\left(\sqrt{\pi e n/2}\right)}{n} + \frac{\log\left(\sqrt{2/\pi n}\right)}{n} \pm O\left(\frac{1}{n^2}\right) \\&#xA;          &amp;amp;= \frac{\log\left(\sqrt{e}\right)}{n} \pm O\left(\frac{1}{n^2}\right) .&#xA;\end{align}&lt;/p&gt;&#xA;" OwnerUserId="8243" LastEditorUserId="8243" LastEditDate="2014-04-09T03:18:58.643" LastActivityDate="2014-04-09T03:18:58.643" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="22009" PostTypeId="2" ParentId="21990" CreationDate="2014-04-08T17:55:52.147" Score="2" Body="&lt;p&gt;&lt;em&gt;I didn't read the last few comments: this approach only makes sense for a fixed set of polygons and many different query points.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I haven't thought this through in detail, but something like the following might work:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Construct the trapezoidal decomposition of the arrangement of all line segments in the input (i.e ignoring which polygon each line segment comes from). There are standard algorithms for doing this. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Run a connected components algorithm over a graph induced by the resulting subdivision: each vertex is a cell of the subdivision and two vertices are connected by an edge if the corresponding cells intersect at an edge of the trapezoidal decomposition that is NOT part of the input. For each component, write down the canonical answer you desire. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Build a point location data structure over the subdivision. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;When a query comes in, locate the subdivision cell using (3) and then output its descriptor using (2). &lt;/p&gt;&#xA;" OwnerUserId="80" LastEditorUserId="80" LastEditDate="2014-04-08T23:43:58.717" LastActivityDate="2014-04-08T23:43:58.717" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22013" PostTypeId="1" CreationDate="2014-04-08T22:35:58.400" Score="-3" ViewCount="223" Body="&lt;p&gt;This is more of a 'meta' question as I cannot give a precise formulation of my question. Consider for example the category of total quasi-orders: we can then distinguish between a 'strict' order (where no two elements are equivalent) and a 'weak order' (where some elements may belong to the same equivalence class). It doesn't possible to define an intermediate notion of 'mild order' in this setting, so do you have any suggestions for other structures allowing a natural notion of 'mildness' which is well-behaved?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'd like to add a self-evident comment: in science the qualificative of 'mild' can be applied to certain notions, e.g. 'mild necessity', 'mild difficulty' or 'mild formalism' which describes well the questions that I'm asking. OTOH I guess we can't speak of a 'mildly correct' statement without resorting to statistics?&lt;/p&gt;&#xA;" OwnerUserId="21714" LastEditorUserId="21714" LastEditDate="2014-04-08T22:51:11.467" LastActivityDate="2014-04-25T10:30:30.493" Title="What structures allow a notion of 'strictness', 'weakness' and 'mildness'?" Tags="&lt;big-picture&gt;" AnswerCount="3" CommentCount="14" ContentLicense="CC BY-SA 3.0" />
  <row Id="22014" PostTypeId="1" CreationDate="2014-04-08T23:31:27.260" Score="2" ViewCount="77" Body="&lt;p&gt;It is commonly accepted that matroids provide an abstract setting for which greedy optimization works (although there are more general structures known as 'greedoids').&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I was wondering whether there had been attempts to formalize a notion of 'semi-greediness'. Intuitively, it means that we would still construct a solution iteratively, but going from a solution $S$ of cost $i$ to a solution $S'$ of cost $i+1$ would work differently: instead of having $S'$ of the form $S \cup \{x\}$, we could for example have $S'$ of the form $(S \Delta T) \cup \{x\}$ i.e. we would replace $r$ elements present in $S$ by $r+1$ elements exterior to $S$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This could possibly model interesting problems such as bipartite maximum matching, optimizations in $\Delta$-matroids or 2-polymatroids.&lt;/p&gt;&#xA;" OwnerUserId="21714" LastEditorUserId="21714" LastEditDate="2014-04-08T23:57:49.290" LastActivityDate="2014-04-08T23:57:49.290" Title="Is it possible to formalize the notion of 'semi-greediness'?" Tags="&lt;optimization&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22015" PostTypeId="2" ParentId="22013" CreationDate="2014-04-09T01:13:53.177" Score="1" Body="&lt;p&gt;This seems like a &quot;big-list&quot; and &quot;broad interpretation&quot; sort of question, so I'll throw one out there that is obvious (at least in retrospect) to TCS researchers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Define an ordering $\preceq_f$ on languages where $A \preceq_f B$ if $A$ can be reduced to $B$ in time $O(f(n))$. (I am thinking of Karp or &quot;many-one&quot; reductions, but one could also think of Cook reductions, also consider space-bounded reductions, etc etc.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;With this notation, $A \preceq_f B$ tells us that $A$ is an easier problem than $B$, and $f$ controls the &quot;strictness&quot; of the relation. (Let's also extend the notation to classes of functions in the obvious way, so $A \preceq_{poly} B$ means there is a polynomial $f$ such that $A \preceq_f B$.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Examples:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$A \preceq_{poly} SAT$ for all languages $A \in NP$.&lt;/li&gt;&#xA;&lt;li&gt;If $A$ and $B$ are both NP-complete, then we have $A \preceq_{poly} B$ and $B \preceq_{poly} A$.&lt;/li&gt;&#xA;&lt;li&gt;If $P \neq NP$, then for any $A \in P$, $A \preceq_{poly} SAT$ yet $SAT \npreceq_{poly} A$.&lt;/li&gt;&#xA;&lt;li&gt;If $A$ is decidable in time $O(f(n))$ and $B$ requires time $\Omega(g(n))$ with $f = o(g)$, then:&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$A \preceq_g B$&lt;/li&gt;&#xA;&lt;li&gt;$B \preceq_g A$&lt;/li&gt;&#xA;&lt;li&gt;$A \preceq_f B$, but&lt;/li&gt;&#xA;&lt;li&gt;$B \npreceq_f A$.&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;So we even have an ordering on our orderings: In the last example, $f$ gives a &quot;stricter&quot; relation than $g$.&lt;/p&gt;&#xA;" OwnerUserId="8243" LastActivityDate="2014-04-09T01:13:53.177" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="22016" PostTypeId="1" CreationDate="2014-04-09T01:40:16.613" Score="25" ViewCount="1484" Body="&lt;p&gt;A well known characteristic of $k$-SAT instances is the ratio of the number of clauses $m$ over the number of variables $n$, i.e., the quotient $\rho = m/n$.  For every $k$, there is a threshold value $\alpha$ s.t.\ for $\rho \ll \alpha$, most instances are satisfiable, and for $\rho \gg \alpha$ most instances are unsatisfiable. There has been a lot of research done for problems where $\rho \ll \alpha$, and for problems with sufficiently small $\rho$, $k$-SAT becomes solvable in polynomial time.  See, for instance, Dimitris Achlioptas's survey article from the Handbook of Satisfiability (&lt;a href=&quot;http://users.soe.ucsc.edu/~optas/papers/handbook.pdf&quot;&gt;PDF&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am wondering if any work has been done in the other direction (where $\rho \gg \alpha$), e.g., if we can somehow transform the problem from CNF to DNF in this case to solve it quickly.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, essentially, &lt;strong&gt;What is known regarding SAT where $\rho = m/n \gg \alpha$?&lt;/strong&gt;&lt;/p&gt;&#xA;" OwnerUserId="1549" LastEditorUserId="6579" LastEditDate="2014-04-16T11:29:24.973" LastActivityDate="2015-12-17T09:47:20.607" Title="Has there been any research on $k$-SAT above the satisfiability threshold?" Tags="&lt;cc.complexity-theory&gt;&lt;sat&gt;&lt;random-k-sat&gt;&lt;phase-transition&gt;" AnswerCount="3" CommentCount="2" FavoriteCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="22017" PostTypeId="2" ParentId="22016" CreationDate="2014-04-09T02:26:37.270" Score="26" Body="&lt;p&gt;Yes, there has been. Moshe Vardi recently gave a survey talk at &lt;a href=&quot;http://www.birs.ca/events/2014/5-day-workshops/14w5101&quot; rel=&quot;nofollow&quot;&gt;BIRS Theoretical Foundations of Applied SAT Solving workshop&lt;/a&gt;:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Moshe Vardi, &lt;a href=&quot;http://www.birs.ca/events/2014/5-day-workshops/14w5101/videos/watch/201401231116-Vardi.mp4&quot; rel=&quot;nofollow&quot;&gt;Phase transitions and computational complexity&lt;/a&gt;, 2014.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;(Moshe presents the graph of their experiment a bit after minute 14:30 in his talk linked above.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $\rho$ denote the clause ratio.&#xA;As the value of $\rho$ increases beyond the threshold &#xA;the problem becomes easier for existing SAT solvers, &#xA;but not as easy as it was before reaching the threshold. &#xA;There is a very steep increase in difficulty as we approach the threshold from below. &#xA;After the threshold the problem becomes easier compared to the threshold but &#xA;the decrease in difficulty is much less steep.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $T_\rho(n)$ denote the difficulty of the problem w.r.t. to $n$&#xA;(in their experiment $T_\rho(n)$ is the median running-time of &lt;a href=&quot;http://vlsicad.eecs.umich.edu/BK/Slots/cache/sat.inesc.pt/~jpms/grasp/&quot; rel=&quot;nofollow&quot;&gt;GRASP&lt;/a&gt; on random 3SAT instances with the clause ratio $\rho$).&#xA;Moshe suggests that $T_\rho(n)$ changes as follows:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$\rho \ll$ the threshold: $T_\rho(n)$ is polynomial in $n$,&lt;/li&gt;&#xA;&lt;li&gt;$\rho$ is near the threshold: $T_\rho(n)$ is exponential in $n$,&lt;/li&gt;&#xA;&lt;li&gt;$\rho \gg$ the threshold: $T_\rho(n)$ remains exponential in $n$ but &#xA;the exponent decreases as $\rho$ increases.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="186" LastEditorUserId="6579" LastEditDate="2015-12-17T09:47:20.607" LastActivityDate="2015-12-17T09:47:20.607" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="22018" PostTypeId="1" CreationDate="2014-04-09T03:24:47.567" Score="3" ViewCount="430" Body="&lt;p&gt;I know that knowledge about relationships between things can be represented using ontologies and stored in some sort of file or database system.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can a network of procedural knowledge also be created in this way? Such that complex algorithms can be defined and stored efficiently, translated into other languages and forms (such as finite state machines or machine language), &lt;a href=&quot;http://en.wikipedia.org/wiki/Belief_revision&quot; rel=&quot;nofollow&quot;&gt;changed&lt;/a&gt;, and form the basis for other AI axioms?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;i.e. &lt;a href=&quot;http://en.wikipedia.org/wiki/Procedural_Reasoning_System&quot; rel=&quot;nofollow&quot;&gt;Procedural Reasoning Systems&lt;/a&gt; -- how would a Knowledge Area (KA) be represented as a cognitive primitive in a computer system?&lt;/p&gt;&#xA;" OwnerUserId="22450" LastEditorUserId="22450" LastEditDate="2014-04-09T04:20:47.977" LastActivityDate="2015-10-26T21:38:03.493" Title="Representation of procedural knowledge" Tags="&lt;graph-theory&gt;&lt;machine-learning&gt;&lt;ai.artificial-intel&gt;&lt;db.databases&gt;&lt;knowledge-representation&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="22020" PostTypeId="2" ParentId="22002" CreationDate="2014-04-09T05:02:19.510" Score="3" Body="&lt;p&gt;A quick google search revealed &lt;a href=&quot;http://theinf1.informatik.uni-jena.de/publications/domset-reduction-annor05.pdf&quot; rel=&quot;nofollow&quot;&gt;Experiments on Data Reduction for Optimal Domination in Networks&lt;/a&gt;. If you look at their tables they cite a number of data sets for which the actual dominating set is given. They also use a number of random graph generators and publish the average dominating set size for these. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;There's another paper from 2002: &lt;a href=&quot;http://link.springer.com/article/10.1007/s00453-001-0101-z&quot; rel=&quot;nofollow&quot;&gt;Experimental Analysis of Heuristic Algorithms for the Dominating Set Problem&lt;/a&gt;. I couldn't find an online copy, but I'm sure this paper also documents data sets and actual DS sizes. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2014-04-09T05:02:19.510" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22021" PostTypeId="2" ParentId="21913" CreationDate="2014-04-09T06:47:47.617" Score="3" Body="&lt;p&gt;&lt;a href=&quot;http://dl.acm.org/citation.cfm?id=1382492&quot; rel=&quot;nofollow noreferrer&quot;&gt;Even, Itai, and Shamir&lt;/a&gt; proved that the undirected integral two-commodity flow is NP-hard even if all capacities are one. As far as I understand, the following is an example of what you ask for. It has a fractional solution twice as large as the integer one (All edge capacities are one. The costs don't really matter, as they only come in play to break ties between several optimum flows.):&#xA;&lt;img src=&quot;https://i.stack.imgur.com/5htOA.jpg&quot; alt=&quot;&quot;&gt;&lt;/p&gt;&#xA;" OwnerUserId="679" LastEditorUserId="679" LastEditDate="2014-04-09T07:20:03.300" LastActivityDate="2014-04-09T07:20:03.300" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="22022" PostTypeId="1" AcceptedAnswerId="22026" CreationDate="2014-04-09T10:12:46.047" Score="12" ViewCount="382" Body="&lt;p&gt;Is it possible that $\overline{SAT} \in NTIME(\exp(n^{0.9}))$ ?&#xA;Are there interesting consequences of such containment?&#xA;Would it contradict the Exponential Time Hypothesis?&lt;/p&gt;&#xA;" OwnerUserId="15711" LastActivityDate="2015-09-12T21:37:37.877" Title="$\overline{SAT} \in NTIME(subexp)$?" Tags="&lt;sat&gt;&lt;exp-time-algorithms&gt;&lt;nexp&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="22023" PostTypeId="2" ParentId="17509" CreationDate="2014-04-09T11:49:48.357" Score="1" Body="&lt;p&gt;I think it's really hard to do that. First of all, for one source dominator tree, there are several dominator points for a vertex. If we want to use &quot;Lengauer-Tarjan algorithm&quot;, we can't avoid using tree structure. But how can we save a tree with less than $o(n)$ space? It means that for $n$ source dominator tree, we have to use at least $o(n^2)$ space unless we create a new structure which can represent dominator's information more effective.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For a dag, I remember there is a another algorithm to find whether two vertices share the same dominator for one source. Maybe it will help, you may search uva12671 for more information. (Actually, I am thinking a developing problem about this recently.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, I am also fascinated by it. If anybody has a new idea, please contact me anytime.&lt;/p&gt;&#xA;" OwnerUserId="19413" LastEditorUserId="17082" LastEditDate="2014-04-09T18:18:55.707" LastActivityDate="2014-04-09T18:18:55.707" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="22025" PostTypeId="2" ParentId="22016" CreationDate="2014-04-09T15:08:48.107" Score="19" Body="&lt;p&gt;There are at least two lines of research concerning random $k\text-\mathsf{SAT}$ for formulas with a clause/variable-ratio larger than the satisfiability threshold:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;For such formulas lower bounds on the length of refutations in resolution and stronger propositional proof systems have been shown, starting with the paper &quot;&lt;a href=&quot;http://dx.doi.org/10.1145/48014.48016&quot;&gt;Many hard examples for resolution&lt;/a&gt;&quot; by Chvátal and Szemerédi. These resolution lower bounds imply lower bounds on the runtime of DPLL- and CDCL-based SAT-solvers. The strongest lower bounds are for Polynomial Calculus, due to &lt;a href=&quot;http://dx.doi.org/10.1109/SFFCS.1999.814613&quot;&gt;Ben-Sasson and Impagliazzo&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;For such formulas there are efficient deterministic algorithms for certifying unsatisfiability, i.e., algorithms that either output &quot;UNSAT&quot; or &quot;Don't Know&quot;, where the answer &quot;UNSAT&quot; is required to be correct, and it has to output &quot;UNSAT&quot; on unsatisfiable formulas with high probability. The strongest results in that direction are due to &lt;a href=&quot;http://dx.doi.org/10.4086/toc.2007.v003a002&quot;&gt;Feige and Ofek&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="6579" LastEditorUserId="6579" LastEditDate="2014-04-09T15:36:23.870" LastActivityDate="2014-04-09T15:36:23.870" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="22026" PostTypeId="2" ParentId="22022" CreationDate="2014-04-09T15:18:08.573" Score="17" Body="&lt;p&gt;It is possible ;-)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It would give new circuit lower bounds.  Since you are making a pretty strong assumption this could follow from the &lt;a href=&quot;http://www.cs.sfu.ca/~kabanets/Research/ikw.html&quot;&gt;seminal work by Impagliazzo, Kabanets, and Wigderson&lt;/a&gt;, I haven't checked.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you use &lt;a href=&quot;http://www.stanford.edu/~rrwill/improved-algs-lbs2.pdf&quot;&gt;Williams' approach&lt;/a&gt;, tightened &lt;a href=&quot;http://www.ccs.neu.edu/home/viola/papers/explicit.pdf&quot;&gt;here&lt;/a&gt;, you get a lower bound of $n^{1+\Omega(1)}$ for a function on $n$ bits in the class E$^{NP}$.  (For this approach, a fast co-nondeterministic algorithm for satisfibility is sufficient, as you are postulating.)  Specifically, the &lt;a href=&quot;http://www.ccs.neu.edu/home/viola/papers/explicit.pdf&quot;&gt;latter paper&lt;/a&gt; shows that a lower bound for size $s$ follows from a satisfiability algorithm for circuits of size $O(s)$, which we can translate to a 3SAT instance with $O(s)$ variables by Cook-Levin.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It would not directly contradict ETH because that's for deterministic algorithms.&lt;/p&gt;&#xA;" OwnerUserId="259" LastActivityDate="2014-04-09T15:18:08.573" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22027" PostTypeId="2" ParentId="22016" CreationDate="2014-04-09T15:35:42.953" Score="2" Body="&lt;p&gt;here is an older but relevant study/angle by a leading expert. &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.2.3267&quot; rel=&quot;nofollow&quot;&gt;The constrainedness knife edge&lt;/a&gt; Walsh 1998&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;he shows the parameter $\kappa$ estimates number of solutions and measures &quot;constrainedness&quot; and correlates/trends roughly with the clause-to-variable ratio. see p3 fig 4 in particular&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;In figure 4, we plot the estimated constrainedness down the heuristic branch for random 3-SAT problems. For L/N &amp;lt; 4.3, problems are under-constrained and soluble. As search progresses, $\kappa$ decreases as problems become more under-constrained and obviously soluble. For L/N &gt; 4.3, problems are over-constrained and insoluble. As search progresses, $\kappa$ increases as problems become more over-constrained and obviously insoluble.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;the question asks about $m/n \gg\alpha$. but this is known from empirical analysis to be highly overconstrained and therefore basically approaching P-time instances (a solver &quot;quickly&quot; discovers they are unsolvable) and therefore not as theoretically interesting (because they do not &quot;elicit/exercise&quot; the exponential-time-behavior of solvers on average). however, have not personally seen papers/ transformations/ theory that prove this more theoretically/rigorously (other than this paper as a start on that).&lt;/p&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2014-04-09T15:35:42.953" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="22028" PostTypeId="1" AcceptedAnswerId="22049" CreationDate="2014-04-09T16:31:22.913" Score="5" ViewCount="172" Body="&lt;p&gt;I am quite new to the area of metric embeddings so this question might turn out to be extremely easy.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider a metric supported on the edges of a boolean hypercube. By supported I mean every edge of the boolean hypercube has a non negative distance associated with it and the metric is defined by the length of the shortest path according to the distance function between any two vertices. Can we put upper bounds/lower bounds on the distortion when we embed such a metric into $l_1$ ? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any references would be highly appreciated.&lt;/p&gt;&#xA;" OwnerUserId="12212" LastActivityDate="2014-04-10T15:36:23.380" Title="L1 - embeddability of metrics supported on the Hypercube" Tags="&lt;boolean-functions&gt;&lt;metrics&gt;&lt;metric-spaces&gt;" AnswerCount="2" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22030" PostTypeId="2" ParentId="22028" CreationDate="2014-04-09T17:11:33.083" Score="4" Body="&lt;p&gt;In general there are all kinds of lower bounds for embedding an &lt;em&gt;arbitrary&lt;/em&gt; metric on the hypercube into $\ell_1$. For example, the edit distance &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.149.9265&quot; rel=&quot;nofollow&quot;&gt;cannot be embedded with better than $\log n$ distortion&lt;/a&gt;. Note that the Hamming distance itself embeds isometrically in $\ell_1$, so you can't expect to prove any nontrivial lower bound over &lt;em&gt;all&lt;/em&gt; metrics on the hypercube.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;p.s I don't think the boolean-ness matters at all. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2014-04-09T17:11:33.083" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="22032" PostTypeId="2" ParentId="22000" CreationDate="2014-04-09T19:26:09.783" Score="2" Body="&lt;p&gt;Here's one possible solution:&#xA;$$\nabla f(x) = \left[ \frac{\partial f(x)}{\partial x_1} \cdots \frac{\partial f(x)}{\partial x_n}\right]^T$$&#xA;The coordinate descent algorithm is exploring all the coordinate axes, so you have an estimate of $\hat{\nabla} f_i(x_k)=\frac{\partial f(x^k)}{\partial x_i}$. In particular, when $\Big| \hat{\nabla} f_i(x_k) \Big| &amp;lt; \epsilon \,\forall i$, then $|\nabla f(x_k)| &amp;lt; n\epsilon$, so setting $\frac{\epsilon}{n}$ as the stopping criterion for the maximum slope along the coordinate axes is a reasonable strategy.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(This gives you guarantees about the gradient and not the actual decrease, but I believe it can be modified because your function is a convex quadratic, not sure how off the top of my head)&lt;/p&gt;&#xA;" OwnerUserId="21564" LastActivityDate="2014-04-09T19:26:09.783" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22034" PostTypeId="2" ParentId="21984" CreationDate="2014-04-09T20:47:44.080" Score="0" Body="&lt;p&gt;I will prove that for all $n$, $H_n = n - \epsilon_n$ where $0 &amp;lt; \epsilon_n &amp;lt; 1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $f_{\alpha}(t) = 4^{\alpha} t^{\alpha}(1 - t)^{\alpha} $. I will not prove this, but you can find some $\alpha^*$ such that for all $\alpha \ge \alpha^*$, $f_{\alpha}(t) \le H(t)$. Also, for $\delta \ll 1$,  you can find $\alpha'$ such that for all $\alpha \le \alpha'$, $f_{\alpha'}(t) \ge H(t)$ in $[\delta, 1 - \delta]$. I will assume $\alpha =  1$ and $\alpha = 0.5$ lead to the two different types of functions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My point is that you can use simpler functions to obtain the bound you need. Here I will use $f_{\alpha}(t)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $H_n$ be the empirical entropy that you are looking for and $F(n, \alpha)$ be the value obtained when I replace $H(\frac{k}{n})$ with $f_{\alpha}(\frac{k}{n})$.&#xA;We have&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$F(n, \alpha) = n2^n \sum_{k = 0}^{n} {n \choose k} f_{\alpha}(\frac{k}{n})&#xA; = n 2^n 4^{\alpha} \sum_{k = 0}^{n} {n \choose k} \left( \frac{k}{n} \right) ^ {\alpha} \left(1 - \frac{k}{n} \right) ^\alpha = n 4^{\alpha} E\left[\left(  \frac{k}{n} - \frac{k^2}{n^2} \right)^{\alpha} \right] = n2^n 4^{\alpha} \sum_{k = 0}^{n / 2} {n \choose k} \left(\frac{k}{n} \right)^{2 \alpha}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For $\alpha = 1$, we know $F(n, \alpha) \le H_n$ and direct evaluation says that $F(n, 1) = n - 1$, which is true for all $n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For $\alpha = 0.5$, we know $F(n, \alpha) \ge H_n$ and a direct evaluation leads to $F(n, 0.5) = n 4^{0.5} E[\frac{k}{n}] = n$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Therefore, for all $n &amp;gt; 0$, $n\ge H_n \ge n - 1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I found it nontrivial to try this for any $\alpha &amp;lt; 1.0$ other than $\alpha = 0.5$. &lt;/p&gt;&#xA;" OwnerUserId="22040" LastEditorUserId="22040" LastEditDate="2014-04-09T20:58:38.310" LastActivityDate="2014-04-09T20:58:38.310" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22037" PostTypeId="2" ParentId="21984" CreationDate="2014-04-09T22:24:04.997" Score="7" Body="&lt;p&gt;Here is another approach, based on information theory and heavily inspired by @usul's answer. It shows that $\epsilon_n=O(1)$ with very few calculations, and can be used to prove that $\epsilon_n \rightarrow \log_2 \sqrt{e}$ and to derive good estimates on the rate of convergence with less calculations than @usul's approach. In fact, I find a closed-form expression for $\epsilon_n$ : $$(1)  \; \; \; \; \epsilon_n = n \left( H(Binom(n,1/2)) - H \left( Binom \left( n-1, 1/2 \right) \right) \right) \ .$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Details:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $X$ be a uniform random variable in $\{0,1\}^n$. Let $K$ be a random variable equal to the number of 1's in $X$. The expression $\#$ that @Danny wants to analyze is exactly equal to $n \cdot \mathbb{E}_{k} [H(X_1 | K=k)]$. (Here $X_1$ is the first bit of $X$.) By the basic properties of the entropy operator,&#xA;$$(2)  \; \; \; \; \# = n\mathbb{E}_{k} [H(X_1 | K=k)]=nH(X_1|K)=n(H(X_1K)-H(K))=n(H(K|X_1)+H(X_1)-H(K)) = n(1-H(Binom(n,1/2)) + H(Binom(n-1,1/2))) \ .$$&#xA;The last equality follows from the fact that $X_1$ is just a uniformly random bit, $K$ is the binomial distribution, and $K|(X_1=x_1)$ is distributed either as $Binom(n-1,1/2)$ or as $Binom(n-1,1/2)+1$, depending on the value of $x_1$, both of which have the same entropy.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This already gave us equation (1). Now we just need to calculate to get the value of $\lim_{n \rightarrow \infty} \epsilon_n$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We use any known estimation for the entropy of a binomial RV, such as &lt;a href=&quot;https://math.stackexchange.com/questions/244455/entropy-of-a-binomial-distribution&quot;&gt;here&lt;/a&gt;. We see that $$ (3)  \; \; \; \; H(K)=H(Binom(n,1/2))=\frac12 \log_2 ( \pi en / 2) + O(1/n) \ ,$$ and, similarly, that $$H(K|X_1)=H(Binom(n-1,1/2))=\frac12 \log_2 ( \pi e(n-1)/2) + O(1/n) \ .$$ Canceling out terms and substituting into (1), we get $$ (4)  \; \; \; \; \epsilon_n = n \cdot (H(K)-H(K|X_1)) = n \cdot \frac12 (\log_2 (n/(n-1)) + O(1/n)) = \\ \frac12 \log_2 ((n/(n-1))^n) + O(1) \rightarrow \log_2(\sqrt{e}) + O(1) \ . $$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By slightly improving the approximation (3) we should be able to replace the $O(1)$ term in (4) by $O(1/n)$ and therefore get that, indeed, $\lim_{n \rightarrow \infty} \epsilon_n = \log_2 \sqrt{e}$. To get this better estimation it should be enough to check that $H(Binom(n,1/2))=\frac12 \log_2 ( \pi en / 2) + err(n)$ where $err(n)=O(1/n)$ and $err$ is a monotone function.&lt;/p&gt;&#xA;" OwnerUserId="20830" LastEditorUserId="-1" LastEditDate="2017-04-13T12:19:19.363" LastActivityDate="2014-04-15T19:50:13.477" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="22041" PostTypeId="1" AcceptedAnswerId="22054" CreationDate="2014-04-10T04:20:26.073" Score="4" ViewCount="179" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;Is every Eulerian triangulated (planar) graph Hamiltonian?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;On the other hand we have that:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Barnette%27s_conjecture&quot; rel=&quot;nofollow noreferrer&quot;&gt;Barnette's Conjecture&lt;/a&gt; (Open): Every cubic bipartite (3-connected) planar graph is Hamiltonian.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Notice that: Eulerian triangulated planar graphs and cubic bipartite planar graphs are mutual duals.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would be happy to know of a proof or a counterexample (I have not been able to find either). In the absence of both is this a well known conjecture?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some additional facts (possibly relevant):&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Every Eulerian triangulated planar graph is $3$-colorable (see &lt;a href=&quot;http://www.math.uiuc.edu/~west/pubs/eultri.ps&quot; rel=&quot;nofollow noreferrer&quot;&gt;this&lt;/a&gt;).&lt;/li&gt;&#xA;&lt;li&gt;(&lt;a href=&quot;http://en.wikipedia.org/wiki/Hamiltonian_path#Theorems_on_existence_of_Hamiltonian_cycles_in_planar_graphs&quot; rel=&quot;nofollow noreferrer&quot;&gt;Whitney's Theorem&lt;/a&gt;) Every $4$-connected triangulated planar graph is Hamiltonian.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Definitions:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Hamiltonian Graph: Undirected Graph with a simple cycle through every vertex.&lt;/li&gt;&#xA;&lt;li&gt;Eulerian Graph: Connected graph with all degrees even.&lt;/li&gt;&#xA;&lt;li&gt;Triangulated (planar) Graph: Planar graph with every face a triangle.&lt;/li&gt;&#xA;&lt;li&gt;Cubic Graph: Graph with every vertex having degree exactly $3$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit:&lt;/strong&gt; (Thanks@domotorp) Triangulated planar graphs are not necessarily Hamiltonian (e.g. see &lt;a href=&quot;https://math.stackexchange.com/questions/78784/trivial-example-of-a-non-hamiltonian-planar-triangulation&quot;&gt;this&lt;/a&gt;)&lt;/p&gt;&#xA;" OwnerUserId="214" LastEditorUserId="-1" LastEditDate="2017-04-13T12:19:19.363" LastActivityDate="2014-04-10T18:52:06.980" Title="Dual Barnette's Conjecture" Tags="&lt;reference-request&gt;&lt;graph-theory&gt;&lt;planar-graphs&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22047" PostTypeId="1" CreationDate="2014-04-10T11:31:06.137" Score="0" ViewCount="196" Body="&lt;p&gt;A (possibly infinite) group $G$ is &lt;em&gt;noetherian&lt;/em&gt; if it satisfies the following equivalent conditions:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(1) every subgroup of $G$ is finitely generated,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(2) there is no infinite strict ascending chain of subgroups,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(3) any non-empty collection of subgroups has a maximal element under inclusion.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that this property is hereditary: if $G$ is noetherian then so are all its subgroups. Also, being noetherian is equivalent to require that the poset of subgroups $(Sub(G),\subseteq)$ is a well-order.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The &lt;em&gt;order type&lt;/em&gt; of a well-order $(S,\leq)$ is defined as the supremum of the order type of its linear extensions. By extension, we may define the &lt;em&gt;order type&lt;/em&gt; of a noetherian group $G$, denoted by $ot(G)$, as the order type of $(Sub(G),\subseteq)$. We may then ask the following questions:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(1) What ordinals $\alpha$ can be obtained as the order type of a noetherian &#xA;group?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(2) Is it possible to reduce that question to noetherian &lt;em&gt;simple&lt;/em&gt; groups? For instance, if $H$ is a normal subgroup of $G$, is it true that $ot(G) = ot(H) + ot(G/H)$?&lt;/p&gt;&#xA;" OwnerUserId="21714" LastEditorUserId="21714" LastEditDate="2014-04-10T11:36:56.453" LastActivityDate="2014-04-14T13:33:11.210" Title="Classifying noetherian simple groups by order type?" Tags="&lt;algebra&gt;&lt;gr.group-theory&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="22048" PostTypeId="2" ParentId="21995" CreationDate="2014-04-10T15:30:43.403" Score="24" Body="&lt;p&gt;[Following a suggestion of Kaveh, I am putting my (somewhat extended) comment as an answer]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This &quot;conjecture&quot; of Kolmogorov is just a rumor. It was not published anywhere. In the former USSR, &quot;publishing&quot; mathematics meant something different than what it does today: give a talk at a seminar or tell your colleagues at lunch. Counting papers was not an issue. (Actually, I've also enjoined this way of doing math.) I cannot exclude the possibility that this &quot;conjecture&quot; was just told to Levin by Kolmogorov during their walk to a seminar at Moscow University.  So don't take this too seriously as a formal conjecture; it is just a rumor that (needless to say) hasn't been refuted over the years. But since a giant such as Kolmogorov seriously thought about this problem, and hasn't excluded the possibility of a &quot;devil's power&quot;, the conjecture should be treated seriously enough, just as a warning about our possibly wrong intuition on what circuits actually do.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is a (very, very rough) speculation of my understanding of this conjecture. Our (apparently wrong) intuition about how circuits work relies on viewing the computation by a program as a sequential process which &lt;em&gt;gradually&lt;/em&gt; collects information about the input string. This intuition is borrowed from our view of how a Turing machine works. But each input string $x$ determines a subcircuit (witnessing $f(x)=1$ or $f(x)=0$). And for a circuit to be correct, it is enough that the sets of subcircuits for $f^{-1}(1)$ and $f^{-1}(0)$ are disjoint. That is, a circuit is a compact &quot;local encoding&quot; of a given partition of the $n$-cube. The length of this code is the Kolmogorov complexity of the given binary string $f_n$ of length $2^n$. A polynomial time &lt;em&gt;algorithm&lt;/em&gt;, however, does more: it gives &lt;em&gt;one&lt;/em&gt; &quot;global encoding&quot; of the entire infinite string $f$ for all $n$. Now, an infinite string $f$ allowing an encoding of size $n^c$ must be &quot;simple&quot;, and its prefixes &quot;should&quot; allow even more compact &quot;local&quot; encodings. Of course, it remains a mystery why Kolmogorov thought that &quot;local&quot; encodings even of size $cn$ for some $c$ may then be sufficient...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;P.S. Sorry, forgot to add: An excellent confirmation of my &quot;thesis&quot; that circuits should be viewed as (static) &lt;em&gt;codes&lt;/em&gt; rather than (dynamic) &lt;em&gt;algorithms&lt;/em&gt; is the famous &#xA;theorem of David Barrington that the entire class $NC^1$ can be simulated by polynomial-size branching programs of width 5. The &quot;gathering information&quot; view here is totally wrong: it is not even clear how to compute the majority function by keeping only 5 bits of information. A clever idea of David was just to &lt;em&gt;encode&lt;/em&gt; the behavior of a given formula by particular sequences of 5-permutations, and to show that accepted and rejected strings will get different codes. The point is that a branching program also does not &quot;compute&quot; --- it rather encodes input strings by its sub-programs: when an input arrives, inconsistent edges disappear, and we have a code of this input.&lt;/p&gt;&#xA;" OwnerUserId="5788" LastEditorUserId="4193" LastEditDate="2014-05-06T05:36:44.700" LastActivityDate="2014-05-06T05:36:44.700" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="22049" PostTypeId="2" ParentId="22028" CreationDate="2014-04-10T15:36:23.380" Score="4" Body="&lt;p&gt;Think of the hypercube as a graph $G$. Allowing arbitrary edge lengths implies that you can use edge lengths $0$ and $\infty$ to get a minor of $G$ on which you can put edge lengths. The hypercube has sufficiently large expansion that it contains, as a minor, a clique of size about $\sqrt{N}$ (ignoring polylog factors) where $N$ is the number of nodes of the hypercube. This implies you can basically have any finite metric on a set of size about $\sqrt{N}$ supported on the hyper cube. Thus the worst-case lower bounds will apply so you will get an $\Omega(\log N)$ lower bound. &lt;/p&gt;&#xA;" OwnerUserId="176" LastActivityDate="2014-04-10T15:36:23.380" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22053" PostTypeId="1" CreationDate="2014-04-10T18:17:00.393" Score="-5" ViewCount="241" Body="&lt;p&gt;I was looking for interesting questions pertaining to braid theory. I don't know if the following are considered important, but I'd like to ask:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(1) in relation with the following &lt;a href=&quot;https://cstheory.stackexchange.com/questions/21936/extending-the-notion-of-independence&quot;&gt;link&lt;/a&gt;, is it true that every subgroup of $B_n$ has a generating set of size at most $f(n)$, for some function $f$? This would imply that $B_n$ is a Noetherian group.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(2) are there positive algorithmic results for braid groups described by generators?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(3) it is known that every finite group of order $n$ can be embedded in $S_n$, so it is possible to define a notion of 'pseudo-order $n$' for an infinite group that allows embedding in $B_n$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(4) are there interesting partial orders to study on the braids of fixed size? Dehornoy showed that $B_n$ admits a left-invariant total order $\leq$, but I'm looking for a partial order $\preceq$ that would have a more 'topological' flavor (possibly such that $\preceq \subseteq \leq$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This list is certainly incomplete, so please feel free to point out other questions in the field that are deemed important.&lt;/p&gt;&#xA;" OwnerUserId="21714" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2014-04-15T02:00:49.077" Title="Some questions (still) unresolved about braids?" Tags="&lt;gr.group-theory&gt;&lt;algebraic-topology&gt;" AnswerCount="1" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="22054" PostTypeId="2" ParentId="22041" CreationDate="2014-04-10T18:52:06.980" Score="4" Body="&lt;p&gt;Maybe I am mistaken but I think it is possible to make the example from &lt;a href=&quot;https://math.stackexchange.com/a/78835/131224&quot;&gt;https://math.stackexchange.com/a/78835/131224&lt;/a&gt; Eulerian. Just take an octahedron and place 3 new vertices on each of its faces, connected to each other and also to two of the vertices of the face in a circular order. So if the face was $abc$, then add $def$ and connect $d$ to all but $a$, $e$ to all but $b$ and $f$ to all but $c$. The same reasoning works but now every degree is even.&lt;/p&gt;&#xA;" OwnerUserId="419" LastEditorUserId="-1" LastEditDate="2017-04-13T12:19:19.363" LastActivityDate="2014-04-10T18:52:06.980" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="22055" PostTypeId="1" AcceptedAnswerId="22056" CreationDate="2014-04-10T20:02:14.990" Score="18" ViewCount="1767" Body="&lt;p&gt;&lt;a href=&quot;http://www.csee.usf.edu/~christen/energy/ipl10.pdf&quot;&gt;This paper&lt;/a&gt; claims that the traditional analysis of the error rate in Bloom filters is incorrect, then provides a lengthy and nontrivial analysis of the actual error rate. The linked paper was published in 2010, yet I've seen the traditional analysis of Bloom filters continued to be taught in various algorithms and data structures courses.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is the traditional analysis of Bloom filters indeed incorrect?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks!&lt;/p&gt;&#xA;" OwnerUserId="4354" LastEditorUserId="4354" LastEditDate="2014-04-10T23:12:08.787" LastActivityDate="2014-04-11T12:59:38.083" Title="Is the traditional analysis of Bloom filters wrong?" Tags="&lt;ds.data-structures&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="22056" PostTypeId="2" ParentId="22055" CreationDate="2014-04-10T21:15:43.687" Score="37" Body="&lt;p&gt;The traditional analysis is fine.  The &quot;traditional&quot; analysis is, if it is explained correctly, an approximation;  it's based on calculating the expected number of cells that are 0/1 when you hash the keys into the filter, and then analyzing as though that was the actual number.  The point is that the number of cells that are 0 (or 1) are tightly concentrated around their expectation, so it's a fine approximation.  This was well known, and can be found, I think, even back in my survey article with Andrei Broder.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This paper says that really the performance of a Bloom filter is a random variable (corresponding to the actual fraction of 0/1 entries), and if you want to calculate that performance exactly for some reason, you need to do the combinatorics.  For smaller filters, you'll see an arguably non-trivial difference.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I've talked with the authors of this paper.  Their analysis is all well and good (though I'd argue that it isn't deep or new);  their motivation that the &quot;traditional analysis is wrong&quot; was, I think, exaggerated.  &lt;/p&gt;&#xA;" OwnerUserId="22483" LastActivityDate="2014-04-10T21:15:43.687" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="22057" PostTypeId="2" ParentId="21014" CreationDate="2014-04-10T21:18:50.000" Score="2" Body="&lt;p&gt;This problem is indeed complete for the class of polynomial time Turing machines with access to an NP oracle with log many queries (also known as $\Theta_2^p$).  The result appears in a 2000 FST TCS paper by Spakowski and Vogel titled &quot;$\Theta_2^p$-Completeness: A Classical Approach for New Results.&quot;  The proof presented there and a proof that I arrived at independently both rely on the $\Theta_2^p$-completeness criterion of Wagner (&quot;Bounded Query Classes&quot; SIAM Journal on Computing archive Volume 19 Issue 5, Oct. 1990).&lt;/p&gt;&#xA;" OwnerUserId="21571" LastActivityDate="2014-04-10T21:18:50.000" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22058" PostTypeId="1" CreationDate="2014-04-11T01:08:35.273" Score="7" ViewCount="345" Body="&lt;p&gt;Suppose I'm given a connected polygon in the plane with holes. I can &quot;remove&quot; a hole by drawing a straight line from the boundary of a hole to another boundary (either of another hole, or the boundary separating the polygon from the exterior). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/1FHcl.jpg&quot; alt=&quot;Illustration of how a single cut removes a hole&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Let's say the &quot;cost&quot; of a cut is its length. What is the minimum cost set of cuts needed to remove all holes in a polygon ? &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;At first I thought this would be easy: write down the distances between each pair of holes and each hole and the polygon boundary, and compute an MST. But it's not obvious to me that this is correct. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is this a known problem ? &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2014-04-11T01:08:35.273" Title="Minimum length cuts needed to remove holes in a polygon" Tags="&lt;ds.algorithms&gt;&lt;cg.comp-geom&gt;&lt;polygon&gt;" AnswerCount="0" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="22059" PostTypeId="2" ParentId="21930" CreationDate="2014-04-11T02:33:19.797" Score="8" Body="&lt;p&gt;First, (as has now been edited into the question statement) a positive answer to your question would immediately improve the state of the art in worst-case bounds for graph isomorphism. For a $O(\sqrt{n})-\mathsf{PTIME}$ algorithm yields a $2^{O(\sqrt{n})}$-time deterministic algorithm, but the current best known for GI is only $2^{O(\sqrt{n \log n})}$ &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Second, it is not even immediately clear to me whether or not the current best algorithm is in fact a $O(\sqrt{n \log n})-\mathsf{PTIME}$ algorithm, although the first part of it clearly is, in some sense. The algorithm first guesses a set of vertices of size $\sqrt{n/\log n}$ to individualize (Zemlyachenko's trick - see &lt;a href=&quot;http://dx.doi.org/10.1007/3-540-10854-8_4&quot;&gt;here&lt;/a&gt; for an exposition in English), which can be done by guessing $\sqrt{n \log n}$ bits nondeterministically. However, after guessing those and individualizing (in deterministic poly time), it applies the best-known bounded-degree isomorphism test, which takes time $n^{O(d /\log d)}$ (Theorem 9.1 of &lt;a href=&quot;http://dx.doi.org/10.1109/SFCS.1983.10&quot;&gt;this paper&lt;/a&gt;), and applies it in the case of $d=O(\sqrt{n \log n})$. I'd have to think carefully about whether the latter algorithm could be turned into a $O(\sqrt{n \log n})-\mathsf{PTIME}$ algorithm (seems like an interesting question...)&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2014-04-11T02:33:19.797" CommentCount="12" ContentLicense="CC BY-SA 3.0" />
  <row Id="22060" PostTypeId="1" CreationDate="2014-04-11T05:12:07.910" Score="5" ViewCount="398" Body="&lt;p&gt;This may sound more like a soft question but I am struggling to find an answer for it. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;While the learnability of Bayesian Networks and other graphical models are well detailed in the literature of machine learning and learning theory, there is almost nothing on learning CSPs. Given that CSP is a well known constraint formalism, I found this very weird. Am I missing something here? &lt;/p&gt;&#xA;" OwnerUserId="17991" LastActivityDate="2014-04-13T16:24:22.490" Title="Learnability of constraint satisfaction problems CSPs?" Tags="&lt;reference-request&gt;&lt;machine-learning&gt;&lt;lg.learning&gt;&lt;csp&gt;" AnswerCount="2" CommentCount="5" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="22061" PostTypeId="2" ParentId="21915" CreationDate="2014-04-11T06:33:56.980" Score="1" Body="&lt;p&gt;counter-examples to above are posted on MathOverflow:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://mathoverflow.net/questions/161006/do-graphs-with-large-number-of-cycles-always-contain-large-necklace-minor&quot;&gt;https://mathoverflow.net/questions/161006/do-graphs-with-large-number-of-cycles-always-contain-large-necklace-minor&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://mathoverflow.net/questions/161451/do-graphs-with-large-number-of-paths-contain-large-chain-minor?lq=1&quot;&gt;https://mathoverflow.net/questions/161451/do-graphs-with-large-number-of-paths-contain-large-chain-minor?lq=1&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any &quot;right&quot; modification of question that still holds true?&lt;/p&gt;&#xA;" OwnerUserId="22365" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2014-04-11T06:33:56.980" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22062" PostTypeId="1" CreationDate="2014-04-11T06:48:20.417" Score="5" ViewCount="188" Body="&lt;p&gt;Can we perform integer division with a polynomial size arithmetic circuit over $\mathbb{Q}$ that takes as input the numerator and denominator? &lt;/p&gt;&#xA;" OwnerUserId="22485" LastActivityDate="2014-04-11T06:57:22.750" Title="Can a polynomial sized arithmetic ciruits perform integer division?" Tags="&lt;arithmetic-circuits&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="22063" PostTypeId="2" ParentId="22062" CreationDate="2014-04-11T06:57:22.750" Score="4" Body="&lt;p&gt;See &lt;a href=&quot;ftp://athos.rutgers.edu/cs/pub/allender/division.eatcs.pdf&quot; rel=&quot;nofollow&quot;&gt;Eric Allender's survey&lt;/a&gt; of &quot;recent&quot; breakthroughs (circa more than a decade ago) in the complexity of division. The bottom line is that &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Division is complete for DLOGTIME-uniform $\mathsf{TC}^0$&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;so in particular there is a poly-sized circuit (of constant depth) that takes $x$ and $y$ as input and produces $x/y$. Notice that this circuit doesn't even need to be arithmetic (it only needs MAJORITY gates in addition to boolean gates)&lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2014-04-11T06:57:22.750" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22064" PostTypeId="2" ParentId="22060" CreationDate="2014-04-11T11:30:12.490" Score="6" Body="&lt;p&gt;You are probably looking for this paper:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Víctor Dalmau and Peter Jeavons, &lt;em&gt;Learnability of quantified formulas&lt;/em&gt;, TCS &lt;strong&gt;306&lt;/strong&gt; 485–511, 2003.  doi:&lt;a href=&quot;http://dx.doi.org/10.1016/S0304-3975%2803%2900342-6&quot;&gt;10.1016/S0304-3975(03)00342-6&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;In short, the learning complexity of a family of quantified formulas over a finite domain of values is determined by its clone of polymorphisms.  This includes CSPs as a special case of more general quantified formulas (since a CSP instance is just an existentially quantified conjunctive formula).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the Boolean case and also for two broad classes of non-Boolean formulas, there is a dichotomy between polynomially learnable (via the Generating Set algorithm, if the clone contains a &quot;nice&quot; operation) and not, subject to the hypothesis that there exists a public key cryptosystem secure against chosen ciphertext attacks.&lt;/p&gt;&#xA;" OwnerUserId="109" LastEditorUserId="109" LastEditDate="2014-04-13T16:24:22.490" LastActivityDate="2014-04-13T16:24:22.490" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22066" PostTypeId="1" AcceptedAnswerId="22599" CreationDate="2014-04-11T12:57:13.527" Score="4" ViewCount="161" Body="&lt;p&gt;Are there any parametrized algorithms $W$-hardness results known for the computational problem Geometric Set Cover?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is known that set cover problem is $W[2]$ hard when parametrized by the solution size? There might be some advantages when the sets are defined by geometric objects.&lt;/p&gt;&#xA;" OwnerUserId="224" LastEditorUserId="976" LastEditDate="2014-05-18T19:03:52.930" LastActivityDate="2014-05-18T19:03:52.930" Title="parameterized algorithms for geometric set cover" Tags="&lt;reference-request&gt;&lt;cg.comp-geom&gt;&lt;parameterized-complexity&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="22067" PostTypeId="2" ParentId="22055" CreationDate="2014-04-11T12:59:38.083" Score="12" Body="&lt;p&gt;Let me add to Michael's answer that for &lt;strong&gt;split&lt;/strong&gt; Bloom filters, where the hash functions have disjoint ranges, the traditional analysis is indeed correct without approximation or any concentration bounds. This is because the error probabilities for different hash functions become independent rather than correlated. The space/error trade-off for split Bloom filters is essentially the same as for traditional Bloom filters, so I think this is a good variant for teaching.&lt;/p&gt;&#xA;" OwnerUserId="215" LastActivityDate="2014-04-11T12:59:38.083" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="22068" PostTypeId="1" CreationDate="2014-04-11T13:09:29.077" Score="2" ViewCount="81" Body="&lt;p&gt;I am interested in the upper bound of the number of inequalities to describe the integer hull of a polyhedron. That is, given an integer programming problem with n inequalities which construct a polyhedron P, we often adding some inequalities to get the integer hull P_I of P. Then what is the maximum number of inequalities needed to describe this P_I? I have known that there are some conclusions on this topic but I don't what they are. I need some paper about it. Please tell me if you know it.&lt;/p&gt;&#xA;" OwnerUserId="22441" LastEditorUserId="17082" LastEditDate="2014-04-11T17:51:41.233" LastActivityDate="2014-04-11T21:45:44.887" Title="Paper about the upper bound of the number of inequalities to describe the Integer hull of a polyhedron" Tags="&lt;reference-request&gt;&lt;integer-programming&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="22069" PostTypeId="2" ParentId="22047" CreationDate="2014-04-11T13:39:37.397" Score="1" Body="&lt;p&gt;Here's an argument handling a special case. Consider a fixed poset $P = (S,\leq)$. Say that a (well-founded) forest $F$ is a &lt;em&gt;branching-representation&lt;/em&gt; of $P$ if:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;the nodes of $F$ are bijectively labelled by the elements of $P$;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;for each node $u$ of $F$, its children are ???&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;(SORRY, CAN'T FIGURE THE RIGHT DIFINITION NOW, I'M PUTTING THIS ON STANDBY)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We may then assign an ordinal $o(u)$ to each node of $T$ inductively: (i) if $u$ is a leaf then $o(u) = 1$, (ii) if $u$ has children $(u_i)$, then $o(u) = \sum_i o(u_i)$. The order type of $T$ is then defined as $o(T) = o(r)$ where $r$ is the root. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is the following true?&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Conjecture: the order type of $P$ equals the minimum of $o(T)$ over all possible branching-representations $T$ of $P$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Suppose this is true. Consider a poset $P = (S,\leq)$, and let $P^{\natural} = (S',\leq')$ where $S'$ consists of the finite antichains of $S$ and where the order satisfies $X \leq Y$ iff there is an injection $\phi : X \rightarrow Y$ s.t. $u \leq \phi(u)$ (f.a. $u \in X$). Suppose that $ot(P) = \lambda$ with $\lambda$ a limit ordinal, it should then follow that $ot(P^{\natural}) = \omega^{\lambda}$: starting with a b.p. $T$ of $P$, we would construct a b.p. $T'$ for $P^{\natural}$ by 'iterated substitution'.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This might help to analyze the case of &lt;em&gt;ordered free groups&lt;/em&gt;. In this case, we have an ordered alphabet $P = (S,\leq)$, and we consider the free group $P^{\sharp}$ over $\{S \cup S^{-1}\}^*$, equipped by the relation $u \preceq v$ iff $u_i \leq v_{\phi(i)}$ for some injection $\phi$. Now, given an element $B = \{b_1,\ldots,b_k\} \in (P^{\sharp})^{\natural}$, we may define the subgroup $\langle B \rangle$ of $P^{\sharp}$ generated by $\cup_{i = 1}^{k} (b_i \downarrow)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It follows that the map $\chi : (P^{\sharp})^{\natural} \rightarrow Sub(P^{\sharp})$ defined by $\chi(B) = \langle B \rangle$ is surjective. Consider the equivalence over $(P^{\sharp})^{\natural}$ s.t. $B \sim B'$ iff $\chi(B) = \chi(B')$. Assuming that the equivalence classes of $\sim$ are finite (which seems intuitively true), I think that it would imply $ot(Sub(P^{\sharp})) = ot((P^{\sharp})^{\natural}) = \omega^{\omega^{\omega^{\lambda}}}$ (possibly up to some lower degree terms).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So if the above is correct, you've got at least the ordinals of the form $\omega^{\omega^{\omega^{\lambda}}}$ in question (1).&lt;/p&gt;&#xA;" OwnerUserId="21798" LastEditorUserId="21798" LastEditDate="2014-04-14T13:06:55.323" LastActivityDate="2014-04-14T13:06:55.323" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="22070" PostTypeId="2" ParentId="21900" CreationDate="2014-04-11T13:49:31.560" Score="12" Body="&lt;p&gt;&lt;strong&gt;The bounds...&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We have in fact $NFA(L) \ge Cov(M) + Cov(N)$, see Theorem 4 in (Gruber &amp;amp; Holzer 2006). For an upper bound, we have $2^{Cov(M)+Cov(N)} \ge DFA(L) \ge NFA(L)$, see Theorem 11 in the same paper.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;...cannot be substantially improved&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There can be a subexponential gap between $Cov(M)+Cov(N)$ and $NFA(L)$. The following example, and the proof of the gap, is an adaptation of a similar example illustrating the limitations of 2-party protocols for proving lower bounds on nondeterministic state complexity from (Hromkovič et al. 2009):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We use the alphabet $[n]= \{\,1,2,\ldots,n\,\}$. Let $L=\{\,xyz\in [n]^3 \mid x=y \vee x\neq z \,\}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We first take care of $Cov(M)$. Observe that if $w=xyz$ with $y=z$, then&#xA;$w \in L$: in case $x=y$, $w\in L$ and in case $x\neq y$, we also have&#xA;$x\neq z$ and thus $w\in L$. Also, if $w$ is of the form $xyz$ with&#xA;$y\neq z$, then $w\in L$ iff $x\neq z$. So we can write $L = L'\cup L''$,&#xA;with $L'=\{xyz\in [n]^3 \mid y=z\}$ and $L''=\{\,xyz\in [n]^3 \mid y\neq z&#xA;\wedge x \neq z \,\}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now consider the bipartite graphs $G' = (U',V',E')$ with $U'=[n]$, $V'=&#xA;\{yz \in [n]^2 \mid y=z\}$, $E' = U' \times V'$, as well&#xA;as $G'' = (U'',V'',E'')$ with $U''=[n]$, $V''= \{ yz \in [n]^2 \mid&#xA;y\neq z\}$,&#xA;$E'' = \{(x,yz) \mid x\neq z\}$, and $G = (U' \cup U'',V' \cup V'', E'\cup E'')$. &#xA;Then a &lt;a href=&quot;http://en.wikipedia.org/wiki/Bipartite_dimension&quot;&gt;biclique edge cover&lt;/a&gt; for the graph&#xA;$G$ gives rise to a covering of $M$ with $1$-monochromatic&#xA;submatrices, and vice versa (Theorem 21 in Gruber &amp;amp; Holzer 2006). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A simple kernelization trick for computing a biclique edge cover for $G'$&#xA;is to put the twin vertices from $U'$ into equivalence classes. Then we do the same in the resulting graph for the twin vertices from $V'$.&#xA;Twin vertices are those with identical neighborhood.&#xA;This step does not alter the minimum number of bicliques needed to cover all&#xA;edges in the respective graph. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The kernelization step collapses $G'$ into a graph with two vertices and&#xA;a single edge. Thus, the edges of $G'$ can be covered with a single&#xA;biclique. Applying the kernelization step to $G''$ yields a &lt;a href=&quot;http://en.wikipedia.org/wiki/Crown_graph&quot;&gt;crown graph&lt;/a&gt;&#xA;on $2n$ vertices, whose bipartite dimension (the minimum biclique edge&#xA;cover number) is &lt;a href=&quot;http://en.wikipedia.org/wiki/Bipartite_dimension&quot;&gt;known&lt;/a&gt; to be $\sigma(n)$, where $\sigma$ is the inverse&#xA;function of the middle binomial coefficient (De Caen et al. 1981). Notice that $\sigma(n)=O(\log n)$.&#xA;Thus the bipartite dimension of $G$ is $1+\sigma(n)$, which is identical&#xA;to $Cov(M)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now consider $Cov(N)$. Observe that if $w=xyz$ with $x=y$, then $w \in&#xA;L$. If $x\neq y$, then $x\in L$ iff $x\neq z$. So we can write $L = L'''&#xA;\cup L''''$&#xA;with $L'''=\{xyz\in [n]^3 \mid x=y\}$ and $L''''= \{xyz\in [n]^3 \mid&#xA;x\neq y \wedge x\neq z\}$. Almost the same argument as above yields&#xA;$Cov(N)=1+\sigma(n)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It remains to give a lower bound on the nondeterministic state&#xA;complexity of $L$. Observe that $L$ contains all words of the form $xxx$&#xA;with $x\in[n]$. For each such word $xxx$ fix an accepting computation of a minimal&#xA;NFA accepting $L$. Let $p_x$ denote the state reached after reading the&#xA;prefix $x$, and let $q_x$ denote the state reached after reading the&#xA;prefix $xx$ of the input word $xxx$. Then all pairs $(p_x,q_x)$ must be&#xA;different. For the sake of contradiction, assume $(p_x,q_x)=(p_y,q_y)$&#xA;for some $x\neq y$. Then we can construct an accepting computation&#xA;on input $xyx$, such that the NFA is in state $p_x=q_x$ after reading&#xA;the prefix $x$, and in state $q_y=q_x$ after reading the prefix $xy$.&#xA;But the string $xyx$ is not in $L$. For the state set $Q$ of the NFA, this shows&#xA;that $|Q|^2 \ge n$. Thus, &#xA;for large $n$, we obtain a subexponential separation between $Cov(M)+Cov(N)$ and $|Q|$ (the nondeterministic state complexity of $L$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;References&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Dominique de Caen, David A. Gregory, Norman J. Pullman: The Boolean rank of zero-one matrices, in: Cadogan, Charles C. (ed.), 3rd Caribbean Conference on Combinatorics and Computing, Department of Mathematics, University of the West Indies, pp. 169–173 (1981)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Hermann Gruber and Markus Holzer. &lt;a href=&quot;http://eccc.hpi-web.de/report/2006/027/&quot;&gt;Finding Lower Bounds for Nondeterministic State Complexity is Hard&lt;/a&gt;. Report TR06-027, Electronic Colloquium on Computational Complexity (ECCC), March 2006. &lt;a href=&quot;http://hermann-gruber.com/data/dlt06-submission.pdf&quot;&gt;Short version&lt;/a&gt; appeared in: Oscar H. Ibarra and Zhe Dang, editors, 10th International Conference on Developments in Language Theory (DLT 2006), Santa Barbara (CA), USA, volume 4036 of LNCS, pages 363-374. Springer, June 2006. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Juraj Hromkovic, Holger Petersen, Georg Schnitger: &lt;a href=&quot;http://dx.doi.org/10.1016/j.tcs.2009.03.020&quot;&gt;On the limits of the&#xA;communication complexity technique for proving lower bounds on the size&#xA;of minimal NFAs&lt;/a&gt;. Theor. Comput. Sci. 410(30–32): 2972–2981 (2009)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="2367" LastEditorUserId="2367" LastEditDate="2014-04-13T21:43:41.757" LastActivityDate="2014-04-13T21:43:41.757" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="22071" PostTypeId="1" CreationDate="2014-04-11T13:59:18.553" Score="3" ViewCount="61" Body="&lt;p&gt;I am currently investigating a problem which can be formulated as a cover problem, in which real intervals have to be covered an odd number of times by integers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is just, if anybody has heard of cover problems in which the items have to be covered an odd number of times. And if so, are there any results about the (in)approximability of such problems known.&lt;/p&gt;&#xA;" OwnerUserId="20544" LastActivityDate="2014-04-11T13:59:18.553" Title="Do there exist &quot;odd times&quot; cover problems and what do we know about their approximability?" Tags="&lt;set-cover&gt;&lt;approximation&gt;&lt;covering-problems&gt;" AnswerCount="0" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="22073" PostTypeId="1" CreationDate="2014-04-11T15:46:00.690" Score="1" ViewCount="463" Body="&lt;p&gt;I have heard claims that for a certain class of optimization problems, one can re-write the problem as a linear-programming problem on the convex hull of the solution space of the original problem (even though enumerating the constraints that define the polytope could be computationally &lt;em&gt;very&lt;/em&gt; expensive). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is this correct? If so, what class of optimization problems can be re-written this way? and what references can I use to back up this claim?&lt;/p&gt;&#xA;" OwnerUserId="3137" LastEditorUserId="3137" LastEditDate="2014-04-13T00:13:58.817" LastActivityDate="2014-04-13T00:13:58.817" Title="Optimization as LP on the convex hull of its solution space" Tags="&lt;optimization&gt;&lt;linear-programming&gt;&lt;convex-optimization&gt;" AnswerCount="0" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="22074" PostTypeId="1" AcceptedAnswerId="22077" CreationDate="2014-04-11T15:47:38.747" Score="4" ViewCount="360" Body="&lt;p&gt;The &lt;a href=&quot;https://en.wikipedia.org/wiki/Word_problem_for_groups&quot; rel=&quot;nofollow noreferrer&quot;&gt;word problem for groups&lt;/a&gt; was shown to be Turing-complete in 1955 but has many decidable subcases. This problem arose more in mathematical group theory than in theoretical computer science, but now strong interconnections between the two are now known.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Are there any TCS-oriented references or surveys on the word problem for groups or its applications?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Related questions:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://cs.stackexchange.com/questions/14398/bridge-theorems-for-group-theory-and-formal-languages&quot;&gt;bridge problems for group theory/formal languages&lt;/a&gt;, cs.se&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/questions/10916/uses-of-algebraic-structures-in-theoretical-computer-science&quot;&gt;Uses of algebraic structures in theoretical computer science&lt;/a&gt;, tcs.se&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Related posts on RJ Lipton's blog:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://rjlipton.wordpress.com/2013/06/20/three-theorems-about-growth/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Gromov's Theorem&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://rjlipton.wordpress.com/2009/04/16/the-word-problem-for-free-groups/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Word problem for free groups&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="-1" LastEditDate="2017-04-13T12:48:30.830" LastActivityDate="2014-04-12T03:31:08.620" Title="TCS oriented refs/survey on group theoretic word problem" Tags="&lt;reference-request&gt;&lt;soft-question&gt;&lt;big-picture&gt;&lt;application-of-theory&gt;&lt;gr.group-theory&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="22075" PostTypeId="1" CreationDate="2014-04-11T16:49:17.110" Score="5" ViewCount="182" Body="&lt;p&gt;An &lt;em&gt;ordinal hierarchy&lt;/em&gt; is a way to assign a function $f_{\alpha} : \mathbb{N} \rightarrow \mathbb{N}$ to each (recursive) ordinal $\alpha$. The corresponding functions are expected to be monotone and correspond to even faster growth rates as the ordinal increases.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Two well-known definitions in the field are the &lt;em&gt;slow-growing hierarchy&lt;/em&gt; $(g_{\alpha})$ and the &lt;em&gt;fast-growing hierarchy&lt;/em&gt; $(h_{\alpha})$. Although the latter grows much faster than the former, some authors have claimed the existence of a 'catch-up' point, i.e. that both hierarchies attain the same growth rate at some large ordinal $LN_0$ - the notation is mine, and we have the expected relations $\epsilon_0 &amp;lt; FS_0 &amp;lt; BH_0 &amp;lt; LN_0$ where $FS_0$ and $BH_0$ respectively denote the Fefermann-Schütte and the Bachmann-Howard ordinals.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Specifically, it seems that S.S. Wainer first claimed that $LN_0 = FS_0$, then &lt;a href=&quot;http://journals.cambridge.org/action/displayAbstract?fromPage=online&amp;amp;aid=9079915&quot;&gt;retracted&lt;/a&gt; its claim after J.Y. Girard &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/0003484381900164&quot;&gt;proved&lt;/a&gt; that $LN_0$ corresponded to the ordinal of the theory $ID_{&amp;lt;\omega}$. I have two questions in this respect:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(1) is this ordinal $LN_0$ canonical, or does it depend on the choice of a fundamental sequences for the hierarchies?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(2) does there exist an ordinal notation system for the ordinals up to $LN_0$? It seems that the most generic ONS known is tree-based and is due to Takeuti (?) but it's unclear to me whether it reaches $LN_0$...&lt;/p&gt;&#xA;" OwnerUserId="21714" LastEditorUserId="898" LastEditDate="2014-04-11T17:08:32.920" LastActivityDate="2014-04-11T17:08:32.920" Title="Exact catchup point between SGH and FGH of ordinals?" Tags="&lt;computability&gt;&lt;order-theory&gt;" AnswerCount="0" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="22076" PostTypeId="1" CreationDate="2014-04-11T20:48:04.677" Score="6" ViewCount="212" Body="&lt;p&gt;Due to the apparent unpopularity of my previous posts, I'd like to post a question about graph theory which seems to be a popular topic here :)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Among the many known classes of perfect graphs, there are three classes that I find especially interesting:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(1) the weakly chordal graphs, whose obstruction set is $\{C_n,\bar{C_n} : n \geq 5\}$,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(2) the chordal graphs, whose obstruction set is $\{C_n : n \geq 4\}$,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(3) the strongly chordal graphs, whose obstruction set is $\{C_n : n \geq 4\} \cup \{S_n : n \geq 3\}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here, $C_n$ denotes the $n$-cycle, and $S_n$ denotes the $n$-sun (obtained by starting from a cycle $x_1 ... x_n$ and adding the edges $x_i y_i x_{i+1}$ for $1 \leq i \leq n$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;These classes admit polynomial algorithms for clique/independent set, the most general one being for the class of weakly chordal graphs and uses a clever 'two-pair contraction' argument (see 'Optimizing weakly triangulated graphs' by R. Hayward, C.T. Hoang and F. Maffray).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Intersection models are known for classes (2) and (3) as they correspond to the clique graphs of acyclic, resp. totally balanced, hypergraphs. Are there any known results about intersection models for weakly chordal graphs?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As a side note, there is a recursive construction of totally balanced hypergraphs due to Lehel (see 'A characterization of totally balanced matrices'), and I was also wondering about possible algorithmic applications of this result?&lt;/p&gt;&#xA;" OwnerUserId="21714" LastEditorUserId="21714" LastEditDate="2014-04-11T20:52:58.417" LastActivityDate="2015-01-07T10:02:20.527" Title="Intersection models for weakly chordal graphs?" Tags="&lt;hypergraphs&gt;&lt;perfect-graph&gt;" AnswerCount="1" CommentCount="10" ContentLicense="CC BY-SA 3.0" />
  <row Id="22077" PostTypeId="2" ParentId="22074" CreationDate="2014-04-11T21:27:31.463" Score="7" Body="&lt;p&gt;I think that you can start (and probably end, because it's a huge list  :-) with the references in the recent Charles F. Miller's paper: &quot;&lt;a href=&quot;http://www.ms.unimelb.edu.au/~cfm/papers/paperpdfs/tmtwp-lnl-v41-2013.pdf&quot;&gt;Turing machines to word problems&lt;/a&gt;&quot; (2013).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;And another recent paper that surveys the connections between group theory and theory of automata and formal languages and hase a huge (&gt;100 entries) reference section is:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Tullio Ceccherini-Silberstein, Michel Coornaert, Francesca Fiorenzi, Paul E. Schupp. &lt;a href=&quot;http://arxiv.org/pdf/1201.3108.pdf&quot;&gt;Groups, graphs, languages, automata, games and second-order monadic logic.&lt;/a&gt; European Journal of Combinatorics, Volume 33, Issue 7, October 2012, Pages 1330-1368.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Abstract:&lt;/strong&gt; In this paper we survey some surprising connections between group theory, the theory of automata and formal languages, the theory of ends, infinite games of perfect information, and monadic second-order logic.&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2014-04-11T22:00:35.060" LastActivityDate="2014-04-11T22:00:35.060" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22078" PostTypeId="2" ParentId="22068" CreationDate="2014-04-11T21:40:43.323" Score="3" Body="&lt;p&gt;Via &lt;a href=&quot;http://pubsonline.informs.org/doi/abs/10.1287/opre.18.5.940&quot; rel=&quot;nofollow&quot;&gt;Rubin&lt;/a&gt;:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is a sequence of polytopes $\{ P_k\}_k$ each defined by two variables and one constraint (plus two nonnegativity constraints) such that the integer hull of $P_k$ has $k+3$ vertices and $k+3$ facets. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$P_k=\{ (x,y)\in \mathbb{R}^2_+ ~|~f_{2k} x + f_{2k+1}y \le f^2_{2k+1}-1\}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here, $f_j$ is the $j$-th Fibonacci number.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This shows that the number of facets of the integer hull $P_I$ cannot be bounded above in terms of the number variables and constraints of $P$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Schrijver provides a nice collection of these kind of results in his &lt;em&gt;Theory of Linear and Integer Programming&lt;/em&gt;.&lt;/p&gt;&#xA;" OwnerUserId="13056" LastEditorUserId="13056" LastEditDate="2014-04-11T21:45:44.887" LastActivityDate="2014-04-11T21:45:44.887" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22079" PostTypeId="1" AcceptedAnswerId="22080" CreationDate="2014-04-11T23:47:27.547" Score="13" ViewCount="600" Body="&lt;p&gt;The title is a little misleading: but hopefully the question isn't:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://arxiv.org/abs/1404.0799&quot;&gt;Grønlund and Pettie's new result&lt;/a&gt; showing that &lt;a href=&quot;http://en.wikipedia.org/wiki/3SUM&quot;&gt;3SUM&lt;/a&gt; has only $O(n^{3/2})$ &lt;a href=&quot;http://en.wikipedia.org/wiki/Decision_tree_model&quot;&gt;decision tree complexity&lt;/a&gt; got me wondering: &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there a simple example of a problem with a decision tree complexity of $O(f)$ but that admits a lower bound (in a more detailed model) of $\omega(f)$ ? &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;In other words, how should the result on 3SUM change our view of the possibility of getting a &lt;strong&gt;significantly&lt;/strong&gt; lower than $n^2$ upper bound on the complexity of the problem ? &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2014-04-15T17:20:25.477" Title="Provable gaps between decision tree complexity and &quot;true&quot; complexity" Tags="&lt;cc.complexity-theory&gt;&lt;machine-models&gt;&lt;decision-trees&gt;" AnswerCount="2" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="22080" PostTypeId="2" ParentId="22079" CreationDate="2014-04-12T01:27:06.680" Score="16" Body="&lt;p&gt;Meyer auf der Heide described a non uniform family of linear decision trees for Subset Sum with depth $O(n^4\log n)$.  A similar result can be deived from a later algorithm of Meiser for point location in hyperplane arrangements. Of course the problem is NP-hard.&lt;/p&gt;&#xA;" OwnerUserId="111" LastActivityDate="2014-04-12T01:27:06.680" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="22081" PostTypeId="1" CreationDate="2014-04-12T01:33:33.730" Score="1" ViewCount="76" Body="&lt;p&gt;In integer programming problem, we often want to relax the integer programming problem to linear programming problem. So we want to find the integer hull of the problem. The number of inequalities to define this integer hull is exponential in general, but are there some conditions in which the number of inequalities to define the integer hull is relative small, say, polynomial to the number of constraints? Are there any research about this? &lt;/p&gt;&#xA;" OwnerUserId="22441" LastActivityDate="2014-05-12T12:39:45.907" Title="Small number of inequalities defining integer hull of integer programming problem" Tags="&lt;integer-programming&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22082" PostTypeId="1" CreationDate="2014-04-12T02:02:56.720" Score="5" ViewCount="219" Body="&lt;p&gt;The &lt;a href=&quot;http://en.wikipedia.org/wiki/Graph_coloring#Computational_complexity&quot; rel=&quot;noreferrer&quot;&gt;chromatic number&lt;/a&gt; of graph, $\chi( G)$ is hard to approximate for general graphs. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there results of hardness of approximating $\chi(G)$ for triangle-free graphs?&lt;/p&gt;&#xA;" OwnerUserId="6108" LastActivityDate="2014-04-12T03:09:46.593" Title="Hardness of approximating chromatic number of triangle-free graphs" Tags="&lt;graph-theory&gt;&lt;approximation-algorithms&gt;&lt;approximation-hardness&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="22083" PostTypeId="2" ParentId="22082" CreationDate="2014-04-12T03:09:46.593" Score="-2" Body="&lt;p&gt;They can be 3-colored in polynomial time, no? I didn't check the literature but here is a simple approach: take a DFS tree of the graph and color a node $u$ at depth $d(u)$ with color $(d(u)\mod 3)$. This gives a proper coloring since (1) the neighborhood of each vertex is an independent and (2) two nodes $u,v$ such that $|d(u)-d(v)| \geq 2$ cannot be adjacent.&lt;/p&gt;&#xA;" OwnerUserId="21798" LastActivityDate="2014-04-12T03:09:46.593" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="22084" PostTypeId="2" ParentId="22074" CreationDate="2014-04-12T03:31:08.620" Score="8" Body="&lt;p&gt;One family of results not mentioned in the excellent references of @Marzio's answer is relations between the isoperimetric (Dehn) function of a group $G$ and the nondeterministic time complexity of the word problem in $G$. For example:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;For finitely generated groups $G$, $WP(G) \in \mathsf{NP}$ if and only if $G$ can be embedded in a finitely presented group that has polynomial Dehn function. (In fact, if $WP(G)$ can be solved in $\mathsf{NTIME}(T(n))$, then $G$ can be embedded in a group with isoperimetric function $\leq n^2 T(n^2)^4$.) (&lt;a href=&quot;http://dx.doi.org/10.2307/3597196&quot;&gt;Birget-Ol'shanskii-Rips-Sapir&lt;/a&gt;)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;There are individual groups whose word problem is $\mathsf{NP}$-complete (corollary to the preceding), and similarly groups whose word problem is $\mathsf{coNP}$-complete (&lt;a href=&quot;http://dx.doi.org/10.1142/S0218196706002822&quot;&gt;Birget&lt;/a&gt;, also &lt;a href=&quot;http://arxiv.org/abs/math/0310335&quot;&gt;available on the arXiv&lt;/a&gt;).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The collection of functions $\mathcal{D}_4$ that are Dehn functions $\geq n^4$ of finitely presented groups are closely related to the collection $\mathcal{T}_4$ of time functions $\geq n^4$ of nondeterministic Turing machines. Specifically, $\mathcal{T}^4 \subseteq \mathcal{D}_4 \subseteq \mathcal{T}_4$, where $\mathcal{T}^4$ is the set of super-additive functions that are fourth powers of time functions of nondeterministic TMs. (&lt;a href=&quot;http://dx.doi.org/10.2307/3597195&quot;&gt;Sapir-Birget-Rips&lt;/a&gt;)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;See &lt;a href=&quot;http://arxiv.org/abs/1012.1325&quot;&gt;this survey by Sapir&lt;/a&gt; for more.&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2014-04-12T03:31:08.620" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22085" PostTypeId="2" ParentId="22076" CreationDate="2014-04-12T04:34:55.303" Score="1" Body="&lt;p&gt;If I would like to know something about intersection models, the first reference I would check is the &quot;Topics in Intersection Graph Theory&quot; by McKee and McMorris.  Theorem 1.5 answers your (combinatorial) question.&lt;/p&gt;&#xA;" OwnerUserId="7059" LastActivityDate="2014-04-12T04:34:55.303" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="22087" PostTypeId="2" ParentId="21452" CreationDate="2014-04-12T11:06:38.483" Score="1" Body="&lt;p&gt;One approach to proving your conjecture would be to try to use the &lt;a href=&quot;http://en.wikipedia.org/wiki/Szemer%C3%A9di_regularity_lemma&quot; rel=&quot;nofollow&quot;&gt;Szemerédi regularity lemma&lt;/a&gt;, similar to the way the triangle removal lemma is proved (see e.g. &lt;a href=&quot;http://matheuscmss.wordpress.com/2012/01/07/applications-of-szemeredis-regularity-lemma-triangle-removal-lemma-roths-theorem-corners-theorem-and-graph-removal-lemma/&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;). I don't know if you'll get the right constants from this approach, though.&lt;/p&gt;&#xA;" OwnerUserId="20830" LastActivityDate="2014-04-12T11:06:38.483" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="22089" PostTypeId="2" ParentId="22081" CreationDate="2014-04-12T12:12:18.933" Score="1" Body="&lt;p&gt;&quot;Is there research on this&quot;. Well, a great share of the operation research consists in finding linear (or, now, semidefinite or other convex cone) relaxations of combinatorial problems, such that the linear relaxation matches or nearly matches the exact integer hull; so if it nearly matches, then one can perhaps prove some results such as &quot;the optimum in the relaxation does not approximate the exact optimum by more than factor X&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An interesting approach is to lift the problem to a higher dimension. In general, the projection of a polyhedron to lower dimension may have many more constraints than the original, thus the converse (expressing a polyhedron as a projection of a higher dimension polyhedron) may be interesting so as to lower the number of constraints. This led to the family of methods known as &quot;lift and project&quot;.&lt;/p&gt;&#xA;" OwnerUserId="9598" LastActivityDate="2014-04-12T12:12:18.933" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22093" PostTypeId="1" AcceptedAnswerId="22099" CreationDate="2014-04-12T16:00:53.663" Score="38" ViewCount="1391" Body="&lt;p&gt;The complexity class $\mathsf{UP}$ consists of those $\mathsf{NP}$-problems that can be decided by a polynomial time nondeterministic Turing machine which has at most one accepting computational path. That is, the solution, if any, is &lt;em&gt;unique&lt;/em&gt; in this sense. &#xA;It is thought highly unlikely that all $\mathsf{UP}$-problems are in $\mathsf{P}$, because by the &lt;a href=&quot;http://en.wikipedia.org/wiki/Valiant%E2%80%93Vazirani_theorem&quot;&gt;Valiant-Vazirani Theorem&lt;/a&gt; this would imply the collapse $\mathsf{NP}=\mathsf{RP}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, no $\mathsf{UP}$-problem is known to be $\mathsf{NP}$-complete, which suggests that the unique solution requirement still somehow makes them easier.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;I am looking for examples, where  the uniqueness assumption leads to a faster algorithm. &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;For example, looking at graph problems, can a maximum clique in a graph be found faster (though possibly still in exponential time), if we know that the graph has a &lt;em&gt;unique&lt;/em&gt; maximum clique? How about unique $k$-colorability, unique Hamiltonian path, unique minimum dominating set etc.? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In general, we can define a      unique-solution version of &lt;em&gt;any&lt;/em&gt; $\mathsf{NP}$-complete problem, scaling them down to $\mathsf{UP}$. Is it known for any of them that adding the uniqueness assumption leads to a faster algorithm? (Allowing that it still remains exponential.)&lt;/p&gt;&#xA;" OwnerUserId="12710" LastEditorUserId="495" LastEditDate="2018-06-20T16:38:23.197" LastActivityDate="2018-06-20T16:38:23.197" Title="Examples where the uniqueness of the solution makes it easier to find" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;graph-algorithms&gt;&lt;complexity-classes&gt;&lt;unique-solution&gt;" AnswerCount="4" CommentCount="3" FavoriteCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="22094" PostTypeId="1" AcceptedAnswerId="22104" CreationDate="2014-04-12T21:01:42.517" Score="14" ViewCount="377" Body="&lt;p&gt;While reading the question &lt;a href=&quot;https://cstheory.stackexchange.com/q/22093/3247&quot;&gt;Examples where the uniqueness of the solution makes it easier to find&lt;/a&gt;, a new (easier?) question came to my mind: actually we don't know if the Graph Isomorphism ($GI$) problem is in $P$.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;But what happens if we assume that both $G_1$ and $G_2$ are asymmetric (i.e. both have only the trivial (identity) automorphism) ? Does the problem become easier (polynomial time)? &#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Note: the problem cannot be harder than Graph Automorphism ($GA$), because there is a quick reduction: just use $GA$ on $G_1 \cup G_2$, if the answer is yes then the two graphs are isomorphic (see also Johannes Köbler, Uwe Schöning, Jacobo Torán: &lt;a href=&quot;http://www.uni-ulm.de/fileadmin/website_uni_ulm/iui.inst.190/Mitarbeiter/toran/gi-low.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Graph Isomorphism is Low for PP&lt;/a&gt;. 401-411).&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2014-04-13T20:42:39.340" Title="Testing isomorphism of asymmetric graphs" Tags="&lt;reference-request&gt;&lt;graph-isomorphism&gt;" AnswerCount="1" CommentCount="7" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="22096" PostTypeId="1" CreationDate="2014-04-12T22:22:09.513" Score="2" ViewCount="350" Body="&lt;p&gt;I am acquinted with the basics of such notions as logic programming, monotonic and non-monotonic reasoning, modal logic (especially dynamic logic) and now I am wondering - does logic programming provides anything new to any logic?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As far as I understand, then (at least in dynamic logic) the logic programming refers to the formalization of state transitions (by actions, i.e. - logic programing can be understood just as logic about actions). But the same notion &quot;logic programing&quot; seems to be in use even in domains, where there is not state transition, just exploration of one state (or set of states - in case then the initial set of premises are vague enough to describe more than one state). It seems to me that some authors simply use  the notions &quot;logic programming&quot; for describing the procedure how to evaluate the query (I am reading currently about defeasible logic programming). But such procedure (although practical indeed) does not add anything new to the underlying logic. E.g. there is notion of &quot;rational closure&quot; (e.g. used for adaptive logics; just the consequence set for some set of premises) which should contain all the possible knowledge about state and therefore all the possible results of &quot;logic programing&quot; (if it is indeed perceived just as state exploration, derivation).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So - the question is - does logic programming provides anything new to the logic and does every logic (to be completely understood and readied for applications) need to have its own logic programming?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Maybe I am just missing the point...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Just for reference I find the following works interesting about this subject, if there are more along this line, then it would be great to hear!&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Mathematical Aspects of Logic Programming Semantics by Pascal&#xA;Hitzler, Anthony Seda &lt;/li&gt;&#xA;&lt;li&gt;Dynamic Logic (Foundations of Computing) by&#xA;David Harel, Dexter Kozen, Jerzy Tiuryn &lt;/li&gt;&#xA;&lt;li&gt;Adaptive Logics for&#xA;Defeasible Reasoning: Applications in Argumentation, Normative&#xA;Reasoning and Default Reasoning (Trends in Logic) by Christian&#xA;Straßer&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The answer to such question can have practical applications as well - e.g. it can help to define some kind of formal semantics of the &quot;business rules&quot; (declarative programming paradigm that is used more and more in business applications, e.g. IBM ILOG, JBoss Drools, Oracle Business Rules, PHP and Python also have their own rules engined) and going further - this can be useful for cognitive robotics as well.&lt;/p&gt;&#xA;" OwnerUserId="9317" LastEditorUserId="9317" LastEditDate="2014-04-12T22:29:11.773" LastActivityDate="2014-04-15T21:09:45.810" Title="What is logic programming and does it really add anything new to the logic?" Tags="&lt;lo.logic&gt;&lt;logic-programming&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="22098" PostTypeId="1" CreationDate="2014-04-13T12:55:45.523" Score="2" ViewCount="192" Body="&lt;p&gt;I am interested in two &quot;super-objects&quot; problems from computational biology.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The first problem, dubbed &lt;em&gt;Shortest Common Supersequence&lt;/em&gt; ($SCSy$), takes a family of sequences $s_1,\ldots,s_k$, and seeks a common supersequence of minimum length.&#xA;The second problem, dubbed &lt;em&gt;Shortest Common Supertree&lt;/em&gt; ($SCSx$, introduced &lt;a href=&quot;http://www.mrfellows.net/papers/C36.pdf&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;), takes a family of p-trees $t_1,\ldots,t_k$, and seeks a common supertree of minimum length.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have some issues ascertaining the fixed-parameter tractability or $\mathsf{W[1]}$-hardness of the following parameterizations:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(i) $SCSy$ parameterized by the number of sequences $k$: the problem is claimed to be $\mathsf{W[1]}$-hard in M. Hallett's thesis without proof;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(ii) $SCSx$ and $SCSy$ parameterized by the number of duplications of the super-object: in the above mentioned paper, the first problem is claimed to be FPT and the second is claimed to be $\mathsf{W[1]}$-hard, but I couldn't convince myself whether this is correct.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any people from the FPT scene willing to help?&lt;/p&gt;&#xA;" OwnerUserId="21714" LastEditorUserId="7059" LastEditDate="2014-04-14T16:47:20.073" LastActivityDate="2014-04-14T16:47:20.073" Title="Fixed-parameter tractability of SCS: finding the missing proof(s)" Tags="&lt;reference-request&gt;&lt;parameterized-complexity&gt;" AnswerCount="0" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="22099" PostTypeId="2" ParentId="22093" CreationDate="2014-04-13T13:17:49.740" Score="23" Body="&lt;p&gt;3-SAT may be one such problem.  Currently the best upper bound for Unique 3-SAT is exponentially faster than for general 3-SAT.  (The speedup is exponential, although the reduction in the exponent is tiny.)  The record-holder for the unique case is &lt;a href=&quot;http://arxiv.org/pdf/1311.2513v2.pdf&quot;&gt;this paper&lt;/a&gt; by Timon Hertli.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hertli's algorithm builds upon the important &lt;a href=&quot;http://cseweb.ucsd.edu/users/paturi/myPapers/pubs/PaturiPudlakSaksZane_2005_jacm.pdf&quot;&gt;PPSZ algorithm&lt;/a&gt; of Paturi, Pudlák, Saks, and Zane for $k$-SAT, which I believe is still the fastest for $k \geq 5$ (see also &lt;a href=&quot;http://cseweb.ucsd.edu/users/paturi/myPapers/pubs/PaturiPudlakSaksZane_2008_encyc.pdf&quot;&gt;this&lt;/a&gt; encyclopedia article).  The original analysis showed better bounds for Unique $k$-SAT than for general $k$-SAT when $k = 3, 4$; subsequently, however, Hertli showed in a different &lt;a href=&quot;http://arxiv.org/pdf/1103.2165v2.pdf&quot;&gt;paper&lt;/a&gt; that you could get the same bounds for (a slightly tweaked) PPSZ algorithm, without assuming uniqueness.  So, maybe uniqueness helps, and it can definitely simplify the analysis of some algorithms, but our understanding of the role of uniqueness for $k$-SAT is still growing.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is evidence that Unique $k$-SAT is not &lt;em&gt;too much&lt;/em&gt; easier than general $k$-SAT. The Strong Exponential Time Hypothesis (SETH) asserts there is no $\delta &amp;lt; 1$ such that $n$-variable $k$-SAT is solvable in $O^*(2^{\delta n})$ time for each constant $k \geq 3$. It was shown in a &lt;a href=&quot;http://cseweb.ucsd.edu/users/paturi/myPapers/pubs/CalabroImpagliazzoKabanetsPaturi_2008_jcss.pdf&quot;&gt;paper&lt;/a&gt; of Calabro, Impagliazzo, Kabanets, and Paturi that, if SETH holds, then the same statement is true for Unique $k$-SAT.  Also, if general $k$-SAT  requires exponential time, i.e. there is some $k \geq 3, \epsilon &amp;gt; 0$ such that general $k$-SAT cannot be solved in time $O^*(2^{\epsilon n})$, then the same must be true for Unique 3-SAT.  See the paper for the most general statement.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Note: the $O^*$ notation suppresses polynomial factors in the input length.)&lt;/p&gt;&#xA;" OwnerUserId="223" LastEditorUserId="223" LastEditDate="2014-04-13T13:37:22.223" LastActivityDate="2014-04-13T13:37:22.223" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="22100" PostTypeId="1" CreationDate="2014-04-13T14:01:32.047" Score="0" ViewCount="92" Body="&lt;p&gt;I'm currently investigating a family of temporal relations called 'Ordered Horn' ($OH$ for short). This class was introduced in 'Reasoning about Temporal Relations: A Maximal Tractable Subclass of Allen's Interval Algebra' by B. Nebel and H.J. Bürckert. Following this paper, we define an &lt;em&gt;OH clause&lt;/em&gt; as a formula over $\mathbb{N}^k$ of the form:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;$F_{H,R}(x_1,\ldots,x_k) = \wedge_{(i,j) \in E(H)} (x_i = x_j) \Rightarrow (x_p R x_q)$,&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;for a given graph $H$ on $[k]$ and a relation $R \in \{=,\leq,\neq\}$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;An &lt;em&gt;OH relation&lt;/em&gt; is then a conjunction of OH clauses. The authors state in Theorem 5 of the paper that the satisfiability of an OH relation can be decided in polynomial time, but the algorithm doesn't seem 'self-contained' as it relies on a generic algorithm for propositional Horn theories.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In relation to a problem I'm currently studying, such a self-contained algorithm seems desirable but it's unclear to me whether it is possible. To tell the truth, I have an algorithm for a subclass called &lt;em&gt;Restricted Ordered Horn&lt;/em&gt; (containing the relations expressible using clauses without $\neq$ in the rhs) but unfortunately it can't be adapted to the full $OH$ class.&lt;/p&gt;&#xA;" OwnerUserId="21714" LastActivityDate="2014-04-13T14:01:32.047" Title="A self-contained proof that OrdHorn relations are tractable?" Tags="&lt;sat&gt;&lt;proofs&gt;&lt;temporal-logic&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="22102" PostTypeId="2" ParentId="22060" CreationDate="2014-04-13T16:00:38.693" Score="-2" Body="&lt;p&gt;there are many old SAT search, variable ordering, backtracking etc heuristics that can be regarded as verging on learning algorithms and many are applicable/generalizable to CSPs, and exact boundaries here may be blurring. possibly these have generally traditionally been two different fields, machine learning and constraint satisfaction, but with increasing intersection in more recent times. here are a few research leads. this appears to be an emerging area with some crosspollination with &lt;a href=&quot;http://en.wikipedia.org/wiki/Big_data&quot; rel=&quot;nofollow noreferrer&quot;&gt;big data&lt;/a&gt;/&lt;a href=&quot;http://en.wikipedia.org/wiki/Data_mining&quot; rel=&quot;nofollow noreferrer&quot;&gt;datamining&lt;/a&gt; eg:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;May 15 – 20, 2011, Dagstuhl Seminar 11201 / &lt;a href=&quot;http://www.dagstuhl.de/en/program/calendar/semhp/?semnr=11201&quot; rel=&quot;nofollow noreferrer&quot;&gt;Constraint Programming meets Machine Learning and Data Mining&lt;/a&gt;&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;The second goal was to study the use of machine learning and data mining in constraint programming. Practitioners of constraint programming have to formulate explicitly the constraints that underly their application. This is often a difficult task. Even when the right constraints are known, it can be challenging to formalize them in such a way that the constraint programming system can use them efficiently. This raises the question as to whether it is possible to (semi)- automatically learn such constraints or their formulations from data and experience. Again, some initial results in this direction exist, but we are away from a complete understanding of the potential of this approach.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://research.microsoft.com/pubs/77780/lion2009.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Learning Adaptation to Solve Constraint Satisfaction Problems&lt;/a&gt; Yuehua Xu, David Stern and Horst Samulowitz&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Abstract. Constraint-based problems are hard combinatorial problems and are usually solved by heuristic search methods. In this paper, we consider applying a machine learning approach to improve the performance of these search-based solvers. We apply reinforcement learning in the context of Constraint Satisfaction Problems (CSP) to learn a value function, which results in a novel solving strategy. The motivation underlying this approach is to solve previously unsolvable instances.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://www.cs.hunter.cuny.edu/%7Eepstein/papers/Springer_online_AMAI.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Learning cluster-based structure to solve constraint satisfaction problems&lt;/a&gt; Xingjian Li · Susan L. Epstein&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Abstract The hybrid search algorithm for constraint satisfaction problems described here first uses local search to detect crucial substructures and then applies that knowledge to solve the problem. This paper shows the difficulties encountered by traditional and state-of-the-art learning heuristics when these substructures are overlooked. It introduces a new algorithm, Foretell, to detect dense and tight substructures called clusters with local search. It also develops two ways to use clusters during global search: one supports variable-ordering heuristics and the other makes inferences adapted to them. Together they improve performance on both benchmark and real-world problems.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2014-04-13T16:00:38.693" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="22103" PostTypeId="2" ParentId="14883" CreationDate="2014-04-13T17:25:44.063" Score="4" Body="&lt;p&gt;We were eventually able to analyze hypercontractive properties of $R_{p_1, p_2}$ (&lt;a href=&quot;http://arxiv.org/abs/1404.1191&quot; rel=&quot;nofollow&quot;&gt;http://arxiv.org/abs/1404.1191&lt;/a&gt;), building off of the main Fourier analysis of $R_{p,0}$ by &#xA;Ahlberg, Broman, Griffiths and Morris (&lt;a href=&quot;http://arxiv.org/abs/1108.0310&quot; rel=&quot;nofollow&quot;&gt;http://arxiv.org/abs/1108.0310&lt;/a&gt;). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;To summarize, the effect of a biased operator $R_{p,0}$ on a function $f$ can be analyzed as a symmetric noise operator in a biased measure space. This gives a weak form of hypercontractivity, which depends on how the $\ell_2$ norm of $f$ varies when switching to a choice of biased measure $\mu$ dependent on $p$.&lt;/p&gt;&#xA;" OwnerUserId="2302" LastEditorUserId="2302" LastEditDate="2014-04-15T21:30:46.457" LastActivityDate="2014-04-15T21:30:46.457" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="22104" PostTypeId="2" ParentId="22094" CreationDate="2014-04-13T17:51:26.730" Score="11" Body="&lt;p&gt;Upon request of Marzio De Biasi I'm converting my comment into an answer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A graph is asymmetric (some authors refer to it as rigid) if it has a unique automorphism, i.e., the identity. As pointed out by Chad Brewbacker, most graphs are asymmetric. However the following two questions are open:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) Is isomorphism of asymmetric graphs in P? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) Can isomorphism of general graphs be reduced to isomorphism of asymmetric graphs?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Question 1) has received a lot of attention in quantum computing due to the fact that the isomorphism of asymetric graphs can be reduced to the &lt;a href=&quot;http://arxiv.org/abs/quant-ph/0511148&quot;&gt;nonabelian hidden subgroup problem&lt;/a&gt;  and to the &lt;a href=&quot;http://arxiv.org/abs/quant-ph/0510185&quot;&gt;non abelian hidden shift problem&lt;/a&gt;. However the results are negative, showing that one needs to prepare at least $\Omega(n\log n)$ hidden subgroup states or hidden shift states to have enough information to solve the isomorphism problem. &lt;/p&gt;&#xA;" OwnerUserId="4237" LastEditorUserId="4237" LastEditDate="2014-04-13T20:42:39.340" LastActivityDate="2014-04-13T20:42:39.340" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22105" PostTypeId="2" ParentId="21727" CreationDate="2014-04-13T20:20:17.317" Score="1" Body="&lt;p&gt;The structure you suggest is known as a 'semihypergroup', a notion introduced by F. Marty in 1934. According to Google, some of your questions have already been attacked by a diverse community of mathematicians involving Greeks, Iranians and Thai people. The most challenging question seems point (iv) but I'm unsure about the outcome, though a positive result in that directions would probably have far-reaching consequences -- possibly in relation with Rhodes' interest in the separation of complexity classes.&lt;/p&gt;&#xA;" OwnerUserId="21714" LastActivityDate="2014-04-13T20:20:17.317" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="22106" PostTypeId="1" CreationDate="2014-04-13T22:34:49.513" Score="1" ViewCount="91" Body="&lt;p&gt;I'm interested in two 'natural bijections' that involve labeled forests and Young tableaux. Let me give the definition for labeled forests. By this, we mean a pair $\cal{F} = (F,f)$ where $F$ is an $n$-vertex forest, and $f$ is a labeling of its nodes from $1$ to $n$. We say that:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$\cal{F}$ is &lt;em&gt;standard&lt;/em&gt; if $f$ is bijective,&lt;/li&gt;&#xA;&lt;li&gt;$\cal{F}$ is &lt;em&gt;sorted&lt;/em&gt; if the numbering is increasing along each root-to-leaf path,&lt;/li&gt;&#xA;&lt;li&gt;$\cal{F}$ is &lt;em&gt;subexcedant&lt;/em&gt; if for each node $u$, $f(u)$ is at most the number of nodes of the subtree rooted at $u$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Let $T_n,O_n,U_n$ denote the sets arising from these three cases, for a fixed size $n$. It is not too difficult to show the existence of a bijection $Sort_n : T_n \rightarrow O_n \times U_n$, which implies a well-known 'hook length' formula due to Knuth. One unpleasant aspect of this bijection lies in its assymetry: we would like to get a pair of similar objects in order to get extra symmetry properties (e.g. what would happen if we switch the two objects and then apply the reverse bijection?)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Therefore, I'm asking naively if you think that the symmetry could be restored by considering more general structures. I'm not optimistic on this question though: there might be a positive but difficult answer that so far eludes me. A side remark: this bijection $Sort_n$ already enjoys some interesting symmetry properties in connection with the Schützenberger involution, but we would need something stronger to get an interesting algebraic object (possibly a Hopf algebra?)&lt;/p&gt;&#xA;" OwnerUserId="21714" LastActivityDate="2014-04-13T22:34:49.513" Title="Restoring symmetry in certain combinatorial bijections?" Tags="&lt;co.combinatorics&gt;&lt;algebra&gt;&lt;symmetry&gt;" AnswerCount="0" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="22107" PostTypeId="1" CreationDate="2014-04-13T22:50:52.153" Score="20" ViewCount="2625" Body="&lt;p&gt;Apologies if this is too broad a question for this forum, but I'm interested in specific tactics and tips that researchers (in TCS) use to write the introduction of a research paper.  &lt;/p&gt;&#xA;" OwnerUserId="1674" LastEditorUserId="186" LastEditDate="2014-04-13T23:44:24.330" LastActivityDate="2020-07-03T20:19:50.783" Title="How to write the introduction of a research paper?" Tags="&lt;soft-question&gt;&lt;advice-request&gt;&lt;research-practice&gt;&lt;writing&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="22109" PostTypeId="1" CreationDate="2014-04-14T05:42:07.140" Score="2" ViewCount="119" Body="&lt;p&gt;Let's say that I wanted to use a BSP not just for partitioning points, but also to define surfaces, i.e. that I have $\mathbb{R}^2$ and I want to be able to continuously map at least some easily known/calculated continuous subset of it to the points on the surface at every branch. Let's furthermore say that I wanted those surfaces to be curved.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I could arbitrarily approximate curved partitioning surfaces by using a helluva lot of straight planes ala the classic BSP, but that seems silly.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there prior art in using NURBS or kernelized support vectors or &lt;em&gt;whatever&lt;/em&gt; to define smooth curved surfaces in a binary space partitioning tree s.t. extraction of some of the boundaries' points from the representation (enough to illustrate the boundary) is easily (and preferably deterministically, avoiding monte carlo methods) accomplished? Or is this one of those trivial knowledge-synthesis problems and I'm better off just winging it? If not, could someone please point me in the right direction?&lt;/p&gt;&#xA;" OwnerUserId="14359" LastEditorUserId="80" LastEditDate="2014-04-14T07:28:10.590" LastActivityDate="2016-06-20T15:23:27.857" Title="BSP, but with curved surfaces (NURBS? kernelized support vectors?)" Tags="&lt;cg.comp-geom&gt;&lt;binary-space-partitions&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="22110" PostTypeId="2" ParentId="22107" CreationDate="2014-04-14T06:18:47.983" Score="17" Body="&lt;p&gt;Simon Peyton Jones has an excellent &lt;a href=&quot;https://www.microsoft.com/en-us/research/academic-program/write-great-research-paper/&quot; rel=&quot;nofollow noreferrer&quot;&gt;web page devoted not only to advice on writing introductions, but whole papers&lt;/a&gt;, and there is a &lt;a href=&quot;http://sms.cam.ac.uk/media/1464870&quot; rel=&quot;nofollow noreferrer&quot;&gt;cool video&lt;/a&gt; as well. On page 18 of his &lt;a href=&quot;https://www.microsoft.com/en-us/research/wp-content/uploads/2016/07/How-to-write-a-great-research-paper.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;slides&lt;/a&gt; he says that the purpose of an introduction is to:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Describe the problem.&lt;/li&gt;&#xA;&lt;li&gt;State your contributions.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;He then goes on for a while to explain what precisely that means in pracrtice. But there is much more to his talk, I highly recommend it.&lt;/p&gt;&#xA;&lt;p&gt;My personal piece of advice: never ever start your paper by saying &lt;em&gt;&amp;quot;In the recent years the foo technology has become important [1, 2, 3, 7, 10, 12, 13, 21] for saving the world peace, taking photos of kittens, and obtaining academic promotions. But all the people who did foo before us missed a minute point, which we are going to talk about at length in this paper. But first, let us bore you with a review of all the foos out there.&amp;quot;&lt;/em&gt; Just get to the point, please.&lt;/p&gt;&#xA;" OwnerUserId="705" LastEditorUserId="10183" LastEditDate="2020-07-03T20:19:50.783" LastActivityDate="2020-07-03T20:19:50.783" CommentCount="9" ContentLicense="CC BY-SA 4.0" />
  <row Id="22112" PostTypeId="1" CreationDate="2014-04-14T11:03:06.230" Score="16" ViewCount="518" Body="&lt;p&gt;A game in which the players alternately name positive integers that&#xA;are not sums of previously named integers (with repetitions being allowed). The person who names 1 (so&#xA;ending the game) is the loser.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The question is: If player 1 names ‘16’, and both players play optimally thereafter, then who wins?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It has been known that if player 1 name &quot;5n,&quot; then player 1 wins. If player name &quot;5n+2&quot;, the result is known(maybe palyer 2 wins, but I haven't found the source yet). 16 is the minimum number of &quot;5n+1&quot;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I guess that this problem is PSPACE-hard, but I haven't proved it yet. &lt;/p&gt;&#xA;" OwnerDisplayName="user17918" LastActivityDate="2014-04-14T11:03:06.230" Title="Sylver Coinage Game" Tags="&lt;co.combinatorics&gt;&lt;combinatorial-game-theory&gt;" AnswerCount="0" CommentCount="7" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="22113" PostTypeId="1" CreationDate="2014-04-14T12:16:50.063" Score="1" ViewCount="342" Body="&lt;p&gt;&lt;br/&gt;&#xA;I am interested in using Equational Theories (ET) together with Equational Logic (EL) found in algebraic specification languages such as  &lt;a href=&quot;http://www.ldl.jaist.ac.jp/cafeobj/&quot; rel=&quot;nofollow&quot;&gt;CafeOBJ&lt;/a&gt; . I wish to use ET+EL to represent and prove sentences in First Order Predicate Logic (FOPL).&#xA;The advantage of such an approach is that one can easily map loose theories written pseudo-FOPL to more concrete theories which may have initial models (using views).&#xA;Translating FOPL to EL seems to require auxiliary techniques such as Skolemization and sentences splitting.&#xA;I am concerned that there maybe some FOPL sentences which cannot be represented using EL even using these auxiliary techniques.&#xA;I am aware that in general EL is regarded as a sub-logic of FOPL and any valid EL theorem is a valid FOPL theorem (but not vice versa).&#xA;&lt;a href=&quot;http://cseweb.ucsd.edu/~goguen/pubs/asbk.html&quot; rel=&quot;nofollow&quot;&gt;Goguen and Malcolm1&lt;/a&gt; and &lt;a href=&quot;http://cseweb.ucsd.edu/~goguen/sys/objcourse.html&quot; rel=&quot;nofollow&quot;&gt;Goguen and Malcolm2&lt;/a&gt; describe FOPL as the &lt;em&gt;background&lt;/em&gt; for equational proof scores in OBJ which was a predecessor of CafeOBJ/Maude. They also provide general advice on how use EL to prove FOPL theorems.&#xA;&lt;br/&gt;&#xA;I am using an example from &lt;a href=&quot;http://coq.inria.fr/1-basic-Predicate-calculus&quot; rel=&quot;nofollow&quot;&gt;COQ: 1.4  predicate Calculus&lt;/a&gt; which I have written as two CafeOBJ theories or loose specifications.&#xA;They are my two attempts to represent FOPL in EL. I am not sure if the approaches are valid.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is the description of the relation R from &lt;a href=&quot;http://coq.inria.fr/1-basic-Predicate-calculus&quot; rel=&quot;nofollow&quot;&gt;COQ&lt;/a&gt;.&lt;br/&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hypothesis R_symmetric : $\forall x y:D, R x y \implies R y x$.&lt;br/&gt;&#xA;Hypothesis R_transitive : $\forall x y z:D, R x y \implies R y z \implies R x z$.&lt;br/&gt;&#xA;Prove that R is reflexive in any point x which has an R successor.&lt;br/&gt;&#xA;For any x and y, R x y implies R y x by symmetry, then by transitivity, we have R x x.&lt;br/&gt;&#xA;Symmetry and transitivity are not enough to prove reflexivity, we must also assume the x is related to something (e.g R x ? or R ? x exists).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider the 2 equations labelled PROPERTY in the module TRANSITIVE1 and EQUATION in the module TRANSITIVE2.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My questions are these: &lt;br/&gt;&#xA;&lt;strong&gt;Q1.&lt;/strong&gt;&lt;br/&gt;&#xA;Does the PROPERTY equation and its reduction represent and prove reflexivity? The results of the reductions would appear to represent a proof.&#xA;&lt;br/&gt;&#xA;&lt;strong&gt;Q2.&lt;/strong&gt;&lt;br/&gt;&#xA;Does the reduction of the EQUATION in TRANSITIVE2 prove reflexivity? I use a form selective application of bi-directional rewriting.&#xA;This form of rewriting is highly controller by the user.&#xA;Space does not permit a full description, but in this case the condition in the EQUATION is executed first and the  assumption R x Y is applied during the rewriting process.&#xA;We could describe this as a manual proof with some machine support.&lt;br/&gt;&#xA;&lt;strong&gt;Q3.&lt;/strong&gt;&lt;br/&gt;&#xA;How do these approaches differ? Form my web searches I get &lt;em&gt;implicit&lt;/em&gt; and &lt;em&gt;explicit&lt;/em&gt; as follows:&#xA;The implicitly specification of function or relation asserts property that its value must satisfy.&#xA;Implicit definitions take the form of a logical predicate over the input and result variables gives the result's properties.&#xA;This approach seems to be distinct from the normal Peano style equational axioms (e.g. N + 0 = N).&#xA;The PROPERTY approach seems to fit this description.&#xA;Explicitly defined functions or relations are those where the definition can be used to to calculate an output from the arguments.&#xA;The EQUATION approach seems to fit this description.&#xA;Are these reasonable distinctions?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Regards,&#xA;Pat&#xA;&lt;br/&gt;&#xA;&lt;code&gt;&#xA;**&gt; This is a loose module describing all models where the equation labelled PROPERTY holds.&#xA;mod* TRANSITIVE1 {&#xA;**&gt; One sort or type called D.&#xA;[ D ]&#xA;**&gt; A constant which ensures that transitivity holds&#xA;op Y : -&gt; D&#xA;**&gt; The symmetric property is asserted by CafeOBJ's commutativity property.&#xA;op R__ : D D -&gt; Bool {comm}&#xA;op P : D D D -&gt; Bool&#xA;vars x y z : D&#xA;**&gt; Right associativity of implies&#xA;eq [PROPERTY] : P(x,z,y)  =  (R x y) implies (R y z) implies (R x z) .&#xA;}&#xA;**&gt; Normal rewriting&#xA;open TRANSITIVE1 .&#xA;red P(x,Y,x) . -- Gives true&#xA;close&#xA;**&gt; A loose module describing all models where the equation labelled EQUATION holds.&#xA;mod* TRANSITIVE2 {&#xA;[ D ]&#xA;op R__ : D D -&gt; Bool {comm}&#xA;op P : D D D -&gt; Bool&#xA;vars x y z : D&lt;/p&gt;&#xA;&#xA;&lt;p&gt;**&gt;  Replace COQ implies triplet with CafeOBJ conditional equation, using the following:&#xA;**&gt;  [A -&gt; B -&gt; C] = [(A &amp;amp; B) -&gt; C] = [C = TRUE if (A &amp;amp; B)]&#xA;ceq  [EQUATION] : R x z = true if ((R x y) and (R y z)) .&#xA;**&gt;  Normal rewriting cannot deal with extra variable y in the condition on the RHS.&#xA;**&gt;  Hence user controlled rewriting required using start/apply commands.&#xA;}&#xA;open TRANSITIVE2 .&#xA;**&gt; Using start/apply&#xA;op X  : -&gt; D .&#xA;**&gt; If any variable x is related to arbitrary constant X&#xA;eq [e1] : R x X = true .&#xA;**&gt; Then x is related to itself.&#xA;**&gt;  CafeOBJ's start/apply commands allow selective bi-directional rewriting &#xA;start R x x .&#xA;apply .EQUATION  with y = X at term .&#xA;apply reduce at term . &#xA;-- Result true : Bool&#xA;close&#xA;&lt;/code&gt;&lt;/p&gt;&#xA;" OwnerUserId="16787" LastEditorUserId="16787" LastEditDate="2014-04-19T07:13:17.837" LastActivityDate="2014-04-19T07:13:17.837" Title="Equational Logic and First Order Predicate Logic" Tags="&lt;lo.logic&gt;&lt;proofs&gt;" AnswerCount="0" CommentCount="9" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="22115" PostTypeId="2" ParentId="22096" CreationDate="2014-04-14T17:00:11.303" Score="11" Body="&lt;p&gt;I will just write what Frank Pfenning taught me (all mistakes go on my account).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A traditional formal system in logic, such as natural deduction, is &lt;em&gt;descriptive&lt;/em&gt; in the sense that it tells us what valid deductions are, but it does not tell us how we are supposed to look for them.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The starting point of logic programming is to take the rules of deduction and reformulate them in such a way that they can be read &lt;em&gt;both&lt;/em&gt; as rules of deduction and an &lt;em&gt;evaluation strategy&lt;/em&gt; for a computation. This way a strong connection between deduction and computation is created. Both logic and theory of computation benefit from it, and it is perhaps a bit pointless to ask whether logic programming &quot;really adds&quot; anything new to logic. Logic and computation are not separate entities anyway.&lt;/p&gt;&#xA;" OwnerUserId="705" LastEditorUserId="705" LastEditDate="2014-04-15T21:09:45.810" LastActivityDate="2014-04-15T21:09:45.810" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22116" PostTypeId="1" CreationDate="2014-04-14T17:50:04.920" Score="4" ViewCount="363" Body="&lt;p&gt;Let #EXP be the counting variant of NEXP, in the same way that #P is the counting variant of NP.  Are there any known #EXP-complete problems?  In particular, has #Succinct Sat (the natural candidate) been shown to be #EXP-complete?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Papadimitriou and Yannakis mention this class in a 1986 &lt;a href=&quot;http://ac.els-cdn.com/S0019995886800092/1-s2.0-S0019995886800092-main.pdf?_tid=9028b852-c3f7-11e3-85e3-00000aacb35f&amp;amp;acdnat=1397495559_860f378da7efabfba882b275f2e11c9d&quot; rel=&quot;nofollow&quot;&gt;paper&lt;/a&gt; (1) but I have not been able to find more recent results.   &lt;/p&gt;&#xA;&#xA;&lt;p&gt;As an aside, they mention an interesting natural candidate for a #EXP problem: given a number $n$ in binary, return the number of planar graphs with $n$ nodes.  Is anything further known about the complexity of this problem?&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Papadimitriou, Christos H., and Mihalis Yannakakis. &quot;A note on succinct representations of graphs.&quot; Information and Control 71.3 (1986): 181-185.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="8927" LastActivityDate="2014-04-15T06:54:39.283" Title="#EXP-Complete problems" Tags="&lt;reference-request&gt;&lt;graph-theory&gt;&lt;counting-complexity&gt;&lt;nexp&gt;" AnswerCount="0" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="22117" PostTypeId="1" AcceptedAnswerId="22156" CreationDate="2014-04-14T20:18:22.190" Score="3" ViewCount="453" Body="&lt;p&gt;Is there a practical programming language that has an extensible type system?&#xA;Or alternatively, an add-on type system that can be used with existing languages?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;With extensible I mean that the typing rules are specified externally and can be changed by the user without rewriting the typechecking code.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The use would be to add additional checkable constraints to a program (for example physical dimensions, uniqueness types, reference frames, nulled memory etc.).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the programming language part, one would annotate the expressions with their types:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;    import units # library for physical units&#xA;    # x has type float and the type meter&#xA;    x:{float,units.meter}&#xA;    y:{float,units.meter**2}&#xA;    def f(x): return x*x&#xA;    y=f(x)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;(I am using Python as an example language as the semantics are independent of the optional type annotations, but any language would do)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the above case x has multiple types: float and a physical dimension.&#xA;Each of those have different typing rules, and it makes sense to treat them differently.&#xA;In the units type library, we would provide typing rules of the following form (assuming that the rules for float are defined elesewhere):&#xA;$$\frac{\Gamma \vdash x:Meter, n:Nat, m:Nat}{\Gamma \vdash x^\frac{n}{m}:Meter^\frac{n}{m}}$$ &lt;/p&gt;&#xA;&#xA;&lt;p&gt;While for example physical dimensions can be dealt with through a runtime library somewhat unsatisfactorily, doing dimensional analysis with the tools of types is much more elegant, doesn't incur any runtime overhead and proves dimensional correctness.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, the only mainstream language that I am aware of that provides physical dimensions is F#, but unfortunately it is broken as it does not support fractional exponents &lt;a href=&quot;https://stackoverflow.com/questions/11333135/fractional-power-of-units-of-measures-in-f/11334159#11334159&quot;&gt;https://stackoverflow.com/questions/11333135/fractional-power-of-units-of-measures-in-f/11334159#11334159&lt;/a&gt; &#xA;Providing the physical dimensions as a typing library instead of a language internal would allow the user to fix this problem and add other dimensional systems, like directional units or Siano's orientational dimensions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The annotated AST and the typing rules would be processed by a constraint solver to issue type errors and warnings for insufficiently typed expressions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Why am I asking for this?&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;It would be great for understanding type systems&lt;/li&gt;&#xA;&lt;li&gt;Existing software could be made more secure by adding extra type constraints.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="22525" LastActivityDate="2014-04-17T05:58:44.643" Title="Language with extensible type system?" Tags="&lt;pl.programming-languages&gt;&lt;type-systems&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="22118" PostTypeId="1" CreationDate="2014-04-14T21:19:34.837" Score="8" ViewCount="350" Body="&lt;p&gt;To show the NP-hardness of a problem, one need to choose a known NP-hard problem and find a polynomial reduction from the known problem to his problem in hand. Theoretically, any NP-hard problem can be used for the reduction, but in practice, some of the problems are more easily reduced than others.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For instance, 3-SAT is usually a better choice for constructing a reduction than SAT because the former one is more restricted than the latter one, 3-partition is usually an easier choice than bin packing, ...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One way to find such &quot;good&quot; problems for the reduction is to do a statistical analysis over the existing reductions. E.g., one can shape all the pairs of &lt;code&gt;from -&amp;gt; to&lt;/code&gt; reductions of the book &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0716710455&quot;&gt;Computers and Intractability: A Guide to the Theory of NP-Completeness&lt;/a&gt;&#xA;(or other resources)&#xA;and draw a histogram of the problems in the &lt;code&gt;from&lt;/code&gt; set.&#xA;Then we can find out which problems are more commonly used for reductions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I wonder if such a statistical analysis makes sense at all. Has such a research been already conducted or not? If not, what is your guess about the most commonly used problems for &#xA;reductions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The reason I am asking this question is that I have already done a few proofs of NP-hardness, but almost all of them rely on reduction from the same problem (3-partition). &#xA;I am looking for other options to use in my proofs.&lt;/p&gt;&#xA;" OwnerUserId="4264" LastActivityDate="2014-04-29T21:55:57.970" Title="NP-hardness proof: looking for some good restricted np-hard problems" Tags="&lt;np-hardness&gt;&lt;reductions&gt;" AnswerCount="1" CommentCount="6" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="22119" PostTypeId="1" CreationDate="2014-04-15T00:38:59.153" Score="2" ViewCount="237" Body="&lt;p&gt;I am wondering if this is a studied variant of the Set Cover problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We are given a universe $X$, a collection of sets $S = \{S_1, ..., S_m\}$ and integers $c_i$.  We want to cover all elements in $X$ with sets $S'_i \subseteq S_i$ such that $|S'_i| \leq c_i$.  In other words we want to cover the elements with as few sets as possible but we are only allowed to use $c_i$ elements of each set. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The most similar variant I found is described in &quot;Maximum Coverage Problem with Group Budget Constraints and Applications&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thank you&lt;/p&gt;&#xA;" OwnerUserId="22527" LastActivityDate="2014-04-15T02:03:30.070" Title="Set cover with budget on sets" Tags="&lt;np-hardness&gt;&lt;set-cover&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22120" PostTypeId="2" ParentId="22053" CreationDate="2014-04-15T01:58:11.140" Score="0" Body="&lt;p&gt;The following notion of 'tameness' seems interesting. Say that a braid $\beta \in B_n$ is &lt;em&gt;tamed&lt;/em&gt; if there is a set of $n$ rectilinear curves $\cal{C}$ over the 3-dimensional cylinder $S_1 \times [0,n]$ such that when projecting $\cal{C}$ on the $x$ plane, we obtain the graphic representation of $\beta$. Clearly, this notion is closed by inversion and composition, and we can therefore define the notion of &lt;em&gt;tamed braid group&lt;/em&gt; (TBG). This leads to the following definition: a pair $(G,H)$ of braid groups is a &lt;em&gt;tamed pair&lt;/em&gt; if the shuffle product $G \| H$ is a TBG.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let us precise this notation. Given a braid $\beta \in B_n$, and given a $k$-subset $I \subseteq B_n$, we denote by $\beta | I$ the braid in $B_k$ obtained by keeping the strands of $\beta$ starting at an index of $I$. Now, if $G \subseteq B_m$ and $H \subseteq B_n$, we define $G \| H$ is the subset of $B_{m+n}$ containing the braids $\beta$ such that $\beta | I \in G, \beta | J \in H$ for some partition $(I,J)$ of $[n+m]$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This definition seems to have some interesting properties, in particular $G$ and $H$ play symmetric roles. There might be an alternate way to define 'tameness' though, but this is currently the only one I can think of. Note that there is a different notion of &lt;em&gt;tame/wild knot&lt;/em&gt; in knot theory, but it doesn't seem very relevant to us as it only makes sense for infinite knots.&lt;/p&gt;&#xA;" OwnerUserId="21798" LastActivityDate="2014-04-15T01:58:11.140" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22121" PostTypeId="2" ParentId="22119" CreationDate="2014-04-15T02:03:30.070" Score="5" Body="&lt;p&gt;Yes, this variant, and in fact a further generalization has been considered in the literature. See the paper below for the problem they call capacitated facility location.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;J. Bar-Ilan, G. Kortsarz and D. Peleg, &#xA;Generalized submodular cover problems and applications, &#xA;Theoretical Computer Science, 250:179-200, 2001.&lt;/p&gt;&#xA;" OwnerUserId="176" LastActivityDate="2014-04-15T02:03:30.070" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22122" PostTypeId="1" CreationDate="2014-04-15T04:56:50.920" Score="3" ViewCount="114" Body="&lt;p&gt;I do computational research on preference aggregation. I am quite interested in Kemeny Optimal Aggregation. However I do not find much useful data for preference aggregation in context of social science where I can test my concepts and algorithms. I am not merely interested in meta-search stuffs. I am looking for some pure committee decision, voting type of social data. Any help will be highly appreciated. &lt;/p&gt;&#xA;" OwnerUserId="22530" LastEditorUserId="186" LastEditDate="2014-04-15T11:06:16.370" LastActivityDate="2014-04-15T11:06:16.370" Title="Social choice theory, preference aggregation data sets" Tags="&lt;boolean-functions&gt;&lt;gt.game-theory&gt;&lt;combinatorics&gt;&lt;social-sciences&gt;" AnswerCount="0" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="22125" PostTypeId="1" CreationDate="2014-04-15T07:22:31.863" Score="2" ViewCount="101" Body="&lt;p&gt;Consider a function $f:\mathbb{N} \to \{0,1\}$ whose is defined in terms of some universal Turing machine $U$. If $U$ halts when given $x$ as input then $f(x)=1$, otherwise $f(x)=0$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Clearly the function $f$ is undecidable. Now consider a new function $g:\mathbb{N}\to \{0,1\}$, defined by&#xA;$$&#xA;g(x) = \begin{cases} f(x/10^{6}) &amp;amp; \text{if $x \mathop{\%} 10^{6}=0$} \\&#xA;0 &amp;amp; \text{otherwise.} \end{cases}&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's equally clear that $g$ is undecidable. However, informally it seems that there should be some sense in which $g$ is &lt;em&gt;less&lt;/em&gt; undecidable than $f$, since, informally speaking, it looks like the value of $g$ can be determined for $99.999\%$ of its inputs just by checking if they're divisible by a million.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My first question is whether there's any sense in which the intuitive claim that $f$ is more undecidable than $g$ can be made into a rigorous one. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If there is, I'm interested in whether there are any functions that are particularly &quot;densely&quot; undecidable. I have in mind something like a universal Turing machine that not only halts for about 50% of possible inputs, but also when it fails to halt it does so for a wide variety of different non-trivial reasons. (If this were not the case one could generate a second Turing machine to spot the majority of non-halting cases, so it wouldn't be densely undecidable.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To ask more or less the same question in a different way: the vast majority of randomly-generated strings will halt immediately (with a compile error) if fed to a C compiler. The probability that randomly generated C code will fail to halt is very low, and the probability that it will fail to halt for some non-trivial reason is much lower still.  I'm interested in whether one can define a language (or model of computation) that, when given random input, is quite likely to do something strange and non-trivial that makes its output difficult to predict.&lt;/p&gt;&#xA;" OwnerUserId="13804" LastActivityDate="2014-04-15T07:22:31.863" Title="density of undeciability" Tags="&lt;computability&gt;" AnswerCount="0" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="22126" PostTypeId="1" CreationDate="2014-04-15T08:03:08.860" Score="2" ViewCount="508" Body="&lt;p&gt;I'm studying Distributed Systems and synchronization and I didn't catch this solution of totally ordered multicast with Lamport timestamps. I read that it doesn't need ack to deliver a message to the application, but&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&amp;quot;It is sufficient to multicast any other type of message, as long as that message has a timestamp larger than the received message. The condition for delivering a message m to the application, is that another message has been received from each other process with a large timestamp. This guarantees that there are no more messages underway with a lower timestamp.&amp;quot;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;This is a definition from a book. I tried to apply this definition to an example but I guess that something is wrong.&lt;/p&gt;&#xA;&lt;h3&gt;Example.&lt;/h3&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;There are 4 processes and they multicast the following messages (the second number in parentheses is timestamp) :&lt;br /&gt;&#xA;P1 multi-casts (m11, 5);  (m12, 12); (m13, 14);&lt;br /&gt;&#xA;P2 multi-casts (m21, 6); (m22, 14);&lt;br /&gt;&#xA;P3 multi-casts (m31, 5); (m32, 7); (m33, 11);&lt;br /&gt;&#xA;P4 multi-casts (m41, 8); (m42, 15); (m43, 19).&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Supposing that there are no acknoledgments, can I guess which messages can be delivered and which not? Based on definition, my guess is that only m11 and m31 can be delivered to the application, because all the other messages received will have a timestamp greater, but this seems very strange, and I think I didn't understand the delivery condition very well. I have an exam on Tuesday about this, but anyway I would understand this mechanism.&lt;/p&gt;&#xA;" OwnerUserId="20849" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2014-04-20T09:32:02.187" Title="Totally ordered multicast with Lamport timestamps" Tags="&lt;dc.distributed-comp&gt;" AnswerCount="0" CommentCount="6" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="22127" PostTypeId="2" ParentId="22118" CreationDate="2014-04-15T09:15:35.613" Score="6" Body="&lt;p&gt;I don't know if there is a machinery way to do this, but my little personal experience works as follows.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I try to provide a polynomial time algorithm for a problem. In those tries usually I can see there are some restricted versions of problem which are polynomial time solvable. I also will understand what part of my algorithm was handwaving for original problem. I can compare this two cases (difference between restricted versions and the general one also the part of an algorithm which was hard to improve). By comparing those two cases usually it's possible to guess how does the problem bottleneck looks like. So we can find a related hard problem. Usually providing an algorithm for a problem is hard job, and needs good knowledge about a problem. After we get this knowledge about the problem we can have many different ideas to tackle problem in different scenarios (not just hardness results).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;P.S: If your proof relays on a particular problem, I think it's because that problem is very close to your work, so don't blame yourself.&lt;/p&gt;&#xA;" OwnerUserId="1846" LastEditorUserId="1846" LastEditDate="2014-04-29T21:55:57.970" LastActivityDate="2014-04-29T21:55:57.970" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="22128" PostTypeId="1" CreationDate="2014-04-15T09:58:25.007" Score="11" ViewCount="503" Body="&lt;p&gt;This question is about whether there are there any known reversible Turing tarpits, where &quot;reversible&quot; means in the sense of &lt;a href=&quot;http://link.springer.com/chapter/10.1007/978-3-642-19805-2_4#page-1&quot; rel=&quot;nofollow noreferrer&quot;&gt;Axelsen and Glück&lt;/a&gt;, and &quot;tarpit&quot; is a much more informal concept (and might not be a very good choice of word), but I'll do my best to explain what I mean by it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;What I mean by &quot;tarpit&quot;&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some models of computation are designed to be useful in some way. Others just happen to be Turing complete and don't really have any particularly useful properties; these are known as &quot;Turing tarpits&quot;. Examples include the language &lt;a href=&quot;http://en.wikipedia.org/wiki/Brainfuck&quot; rel=&quot;nofollow noreferrer&quot;&gt;Brainfuck&lt;/a&gt;, the &lt;a href=&quot;http://en.wikipedia.org/wiki/Rule_110&quot; rel=&quot;nofollow noreferrer&quot;&gt;Rule 110&lt;/a&gt; cellular automaton, and the language &lt;a href=&quot;http://esolangs.org/wiki/Bitwise_Cyclic_Tag&quot; rel=&quot;nofollow noreferrer&quot;&gt;Bitwise Cyclic Tag&lt;/a&gt; (which I like because it's very easy to implement and any binary string is a valid program). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is no formal definition of &quot;Turing tarpit&quot;, but for this question I'm using it to mean a fairly simple system (in terms of having a small number of &quot;rules&quot;) that &quot;just happens&quot; to be Turing complete, without its internal state having any obvious semantic meaning. The most important aspect for my purposes is the simplicity of the rules, rather than the lack of obvious semantics. Basically we're talking about the sort of things that Stephen Wolfram once wrote a &lt;a href=&quot;https://www.wolframscience.com/&quot; rel=&quot;nofollow noreferrer&quot;&gt;very large book&lt;/a&gt; about, although he didn't use the word &quot;tarpit&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;What I mean by &quot;reversible&quot;&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm interested in reversible computation. In particular, I'm interested in languages that are r-Turing complete, in the sense of &lt;a href=&quot;http://link.springer.com/chapter/10.1007/978-3-642-19805-2_4#page-1&quot; rel=&quot;nofollow noreferrer&quot;&gt;Axelsen and Glück&lt;/a&gt;, which means that they can calculate every computable injective function, and can only calculate injective functions. Now, there are many models of computation that are reversible in this sense, such as &lt;a href=&quot;http://link.springer.com/chapter/10.1007%2F978-3-642-21254-3_8#page-1&quot; rel=&quot;nofollow noreferrer&quot;&gt;Axelsen's reversible universal Turing machine&lt;/a&gt;, or the high-level reversible language &lt;a href=&quot;http://en.wikipedia.org/wiki/Janus_%28programming_language%29&quot; rel=&quot;nofollow noreferrer&quot;&gt;Janus&lt;/a&gt;. (There are many other examples in the literature; it's an active area of research.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It should be noted that Axelsen and Glück's definition of r-Turing completeness is a different approach to reversible computing than the usual approach due to Bennett. In Bennett's approach a system is allowed to produce &quot;garbage data&quot; that is thrown away at the end of the computation; under such conditions a reversible system can be Turing complete. However, in Axelsen and Glück's approach, the system is not allowed to produce such &quot;junk data&quot;, which restricts the class of problems it can compute. (Hence, &quot;r-Turing complete&quot; rather than &quot;Turing complete&quot;.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;sub&gt;Note: the Axelsen and Glück paper is behind a paywall. This is unfortunate - to my knowledge there is not currently any non-paywalled resource on the subject of r-Turing completeness. I'll try to start a Wikipedia page if I have time, but no promises.&lt;/sub&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;What I'm looking for&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The examples of reversible computing mentioned above are all rather &quot;semantically laden&quot;. This is a good thing in most contexts, but it means that the rules required to update their state at each time step are fairly complex.  I'm looking for the &quot;tarpits&quot; of reversible computing. That is, more-or-less arbitrary systems with quite simple rules that &quot;just happen&quot; to be r-Turing complete languages. I reiterate that there is no formal definition of what I'm looking for, but I'll know it when I see it, and I think it's a reasonable thing to ask about.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are a number of things I know of that almost fit the bill, but not quite. There are several reversible cellular automata that have been shown to be Turing complete.  &lt;a href=&quot;http://en.wikipedia.org/wiki/Langton%27s_ant&quot; rel=&quot;nofollow noreferrer&quot;&gt;Langton's ant&lt;/a&gt; (a kind of two-dimensional Turing machine with a fairly arbitrary and quite simple reversible state transition function) is also Turing complete, as long as its initial conditions are allowed to contain infinite repeating patterns. However, with these systems it's not trivial to define a mapping from their state to an &quot;output&quot; in such a way that no junk data gets thrown away. I'm interested specifically in systems that can be thought of as taking an input, performing some sequence of (reversible) transformations on it, and then (if they terminate) returning some output.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(I'm hoping this question will be easier to answer than my &lt;a href=&quot;https://cstheory.stackexchange.com/questions/20907/a-lambda-calculus-for-invertible-r-turing-computable-functions&quot;&gt;previous related one&lt;/a&gt; about a reversible equivalent to the lambda calculus.)&lt;/p&gt;&#xA;" OwnerUserId="13804" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2021-01-20T04:17:51.600" Title="Reversible Turing tarpits?" Tags="&lt;fl.formal-languages&gt;&lt;computability&gt;&lt;machine-models&gt;" AnswerCount="2" CommentCount="23" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="22130" PostTypeId="1" AcceptedAnswerId="22145" CreationDate="2014-04-15T14:26:53.047" Score="12" ViewCount="1513" Body="&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Kurt_G%C3%B6del&quot; rel=&quot;noreferrer&quot;&gt;Kurt Gödel&lt;/a&gt;'s &lt;a href=&quot;http://en.wikipedia.org/wiki/G%C3%B6del%27s_incompleteness_theorems&quot; rel=&quot;noreferrer&quot;&gt;incompleteness theorems&lt;/a&gt;  establish the &quot;inherent limitations of all but the most trivial axiomatic systems capable of doing arithmetic&quot;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Homotopy_type_theory&quot; rel=&quot;noreferrer&quot;&gt;Homotopy Type Theory&lt;/a&gt; provides an alternative foundation for mathematics, a &lt;em&gt;univalent&lt;/em&gt; foundation based on &lt;a href=&quot;https://en.wikipedia.org/wiki/Inductive_type#Higher_Inductive_Types&quot; rel=&quot;noreferrer&quot;&gt;higher inductive types&lt;/a&gt; and the &lt;a href=&quot;https://en.wikipedia.org/wiki/Univalence_axiom&quot; rel=&quot;noreferrer&quot;&gt;univalence axiom&lt;/a&gt;. &#xA;The &lt;a href=&quot;http://homotopytypetheory.org/book/&quot; rel=&quot;noreferrer&quot;&gt;HoTT book&lt;/a&gt; explains that types are higher groupoids, functions are functors, type families are ﬁbrations, etc. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The recent article &lt;a href=&quot;http://cacm.acm.org/magazines/2014/4/173219-formally-verified-mathematics/fulltext&quot; rel=&quot;noreferrer&quot;&gt;&quot;Formally Verified Mathematics&quot;&lt;/a&gt; in CACM &#xA;by Jeremy Avigad and John Harrison &#xA;discusses HoTT with respect to &#xA;formally verified mathematics and automatic theorem proving. &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Do Gödel's incompleteness theorems apply to HoTT?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;And if they do,&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;is homotopy type theory impaired by Gödel's incompleteness theorem &#xA;  (within the context of formally verified mathematics)?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="608" LastEditorUserId="-1" LastEditDate="2014-04-17T06:23:18.423" LastActivityDate="2014-04-17T06:23:18.423" Title="Homotopy type theory and Gödel's incompleteness theorems" Tags="&lt;lo.logic&gt;&lt;type-systems&gt;&lt;homotopy-type-theory&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="22131" PostTypeId="1" CreationDate="2014-04-15T15:05:47.877" Score="7" ViewCount="281" Body="&lt;p&gt;For triangle-free (girth $\geq 4$) graph $G$. The following theorem holds true&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Theorem&lt;/em&gt; (Ajtai et al.): For a triangle-free graph $G$ with maximum degree $\Delta$,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\alpha(G) \geq \frac{n(G)}{8d}\log_2d.$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Where $n(G)$ is the vertex size of the graph, $d$ is the avg degree and $\alpha(G)$ is the size of maximum independent set.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;My Question :&lt;/strong&gt; Are there extensions of above result for graphs with girth $\geq l$ ?&lt;/p&gt;&#xA;" OwnerUserId="16261" LastEditorUserId="16261" LastEditDate="2014-04-17T07:36:05.010" LastActivityDate="2014-04-17T07:36:05.010" Title="Independent set size of a large girth graphs" Tags="&lt;reference-request&gt;&lt;graph-theory&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="22132" PostTypeId="1" AcceptedAnswerId="22134" CreationDate="2014-04-15T15:24:57.880" Score="1" ViewCount="139" Body="&lt;p&gt;Be $X := \{x_1,...,x_N\}$ and $Y := \{y_1,...,y_N\}$ subsets of $\mathbb{R}^d$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is/are the most efficient existing algorithm/s for determining whether X and Y are linearly separable and what is its/their computational complexity (O notation and P/LP/NP)?&lt;/p&gt;&#xA;" OwnerUserId="17498" LastActivityDate="2014-04-15T15:43:37.223" Title="Complexity of Determining Linear Separability" Tags="&lt;complexity-classes&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22134" PostTypeId="2" ParentId="22132" CreationDate="2014-04-15T15:43:37.223" Score="2" Body="&lt;p&gt;If you merely want separation, then this is solved using linear programming. If you want to maximize the separation, then you're in the land of linear classification problems and max-margin classification in general. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2014-04-15T15:43:37.223" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="22135" PostTypeId="2" ParentId="22131" CreationDate="2014-04-15T15:43:40.323" Score="7" Body="&lt;p&gt;&lt;a href=&quot;http://www.ams.org/journals/proc/1981-083-02/S0002-9939-1981-0624948-6/S0002-9939-1981-0624948-6.pdf&quot;&gt;Bollobas&lt;/a&gt; showed that for any $d$ and any $g$, there exists a $d$-regular graph $G$ of girth at least $g$ such that &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;\alpha(G) &amp;lt; \frac{2n\log d}{d}.&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So you cannot hope for more than a factor 16 improvement. &lt;a href=&quot;http://cs.anu.edu.au/~Brendan.McKay/papers/IndSetsRegGraphs.pdf&quot;&gt;McKay&lt;/a&gt; gave somewhat sharper bounds.&lt;/p&gt;&#xA;" OwnerUserId="4896" LastActivityDate="2014-04-15T15:43:40.323" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="22136" PostTypeId="2" ParentId="22079" CreationDate="2014-04-15T17:20:25.477" Score="4" Body="&lt;p&gt;Here is an example of a trivial gap between decision-tree and algorithmic complexity.  The randomized decision tree complexity of local sorting (orienting a vertex-weighted graph) is $O(n\log(\frac{m+n}{n}))$ whereas the size of the input is $\Theta(n+m)$.  Any algorithm needs to read the input, so there's a separation whenever $m=\omega(n)$.  See Goddard, Kenyon, King, Schulman (SICOMP 1993).&lt;/p&gt;&#xA;" OwnerUserId="22408" LastActivityDate="2014-04-15T17:20:25.477" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="22137" PostTypeId="1" CreationDate="2014-04-15T18:39:15.543" Score="10" ViewCount="216" Body="&lt;p&gt;Let $f$ be a Boolean function from $\{0,1\}^{n}$ to $\{0,1\}$.&#xA;We say that $f$ is randomly approximated with error probability $\epsilon$&#xA;by a family of polynomials $P$ if &#xA;\begin{equation}&#xA;\forall x\in\{0,1\}^{n}\Pr_{p\in P}[p(x)=f(x)]\geq1-\epsilon&#xA;\end{equation}&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is known that if $f:\{0,1\}^{n}\rightarrow\{0,1\}$ is computed&#xA;by an $s$ size bounded and $d$ depth bounded circuit of unbounded&#xA;fan-in, then $f$ can be randomly approximated with error probability&#xA;$\epsilon$ by a family of polynomials of degree $O(\log^{d}(\frac{s}{\epsilon})\cdot\log^{d}(s))$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $f$ can be computed by an $\textrm{AC}^{0}$ circuit then $s$ is polynomially&#xA;bounded by $n$ and $d$ is constant, hence $f$ can be randomly approximated&#xA;with constant error probability by a family of polynomials of degree&#xA;$\textrm{poly}(\log(n))$, which is low degree. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The number of monomials in these approximating polynomials may still be quasi-polynomial though. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;What&#xA;if we want to approximate such $f\in\textrm{AC}^{0}$ by not low degree polynomials&#xA;but by family of polynomials which are &lt;strong&gt;sparse&lt;/strong&gt;? Here, by sparse we would ideally&#xA;mean that number of monomial is something like $\textrm{poly}(n)$.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Can we find a family&#xA;  of sparse polynomials $P$ such that such $f$ is randomly approximated&#xA;  with error probability $\epsilon$ by $P$ ?&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;If not for $\textrm{AC}^{0}$,&#xA;  what are other non trivial class of functions which can be approximated&#xA;  by families of sparse polynomials. &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="16008" LastEditorUserId="80" LastEditDate="2014-04-15T22:53:44.803" LastActivityDate="2014-04-15T22:53:44.803" Title="Approximating $\textrm{AC}^{0}$ by sparse polynomials" Tags="&lt;cc.complexity-theory&gt;&lt;circuit-complexity&gt;" AnswerCount="0" CommentCount="4" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="22138" PostTypeId="1" CreationDate="2014-04-15T19:02:02.477" Score="11" ViewCount="507" Body="&lt;p&gt;After reading a &lt;a href=&quot;https://cstheory.stackexchange.com/questions/12162/are-there-non-constructive-algorithm-existence-proofs&quot;&gt;related question&lt;/a&gt;, about non-constructive existence proofs of algorithms, I was wondering if there are methods of showing existence of &amp;quot;small&amp;quot; (say, state-wise) computation machines without actually building it.&lt;/p&gt;&#xA;&lt;p&gt;Formally:&lt;/p&gt;&#xA;&lt;p&gt;suppose we are given some language &lt;span class=&quot;math-container&quot;&gt;$L\subseteq \Sigma^*$&lt;/span&gt; and fix some computation model (NFAs / turing machine/ etc.).&lt;/p&gt;&#xA;&lt;p&gt;Are there any non-constructive existence results showing a &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt;-state machine for &lt;span class=&quot;math-container&quot;&gt;$L$&lt;/span&gt; exists, but without the ability of finding (in &lt;span class=&quot;math-container&quot;&gt;$poly(n,|\Sigma|)$&lt;/span&gt; time) it?&lt;/p&gt;&#xA;&lt;p&gt;For example, is there any regular language &lt;span class=&quot;math-container&quot;&gt;$L$&lt;/span&gt; for which we can show &lt;span class=&quot;math-container&quot;&gt;$nsc(L)\leq n$&lt;/span&gt; but we don't know how to build a &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt;-state automaton for?&lt;/p&gt;&#xA;&lt;p&gt;(&lt;span class=&quot;math-container&quot;&gt;$nsc(L)$&lt;/span&gt; is the non-deterministic state complexity of &lt;span class=&quot;math-container&quot;&gt;$L$&lt;/span&gt;, i.e. the number of states in the minimal NFA that accepts &lt;span class=&quot;math-container&quot;&gt;$L$&lt;/span&gt;).&lt;/p&gt;&#xA;&lt;hr /&gt;&#xA;&lt;p&gt;EDIT: after some discussion with Marzio (thanks !) I think I can better formulate the question as follows:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Is there a language &lt;span class=&quot;math-container&quot;&gt;$L$&lt;/span&gt; and a computation model for which the following holds:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;We know how to build a machine that compute &lt;span class=&quot;math-container&quot;&gt;$L$&lt;/span&gt; that has &lt;span class=&quot;math-container&quot;&gt;$m$&lt;/span&gt; states.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;We have a proof that &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt;-states machine for &lt;span class=&quot;math-container&quot;&gt;$L$&lt;/span&gt;  exists (where &lt;span class=&quot;math-container&quot;&gt;$n &amp;lt;&amp;lt; m$&lt;/span&gt;), but either we can't find it at all or it'd take exponential time to compute it.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="21001" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2016-10-03T04:40:42.983" Title="Are there non-constructive proofs of existence of &quot;small&quot; Turing machines / NFAs?" Tags="&lt;cc.complexity-theory&gt;&lt;automata-theory&gt;&lt;turing-machines&gt;" AnswerCount="3" CommentCount="16" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="22140" PostTypeId="2" ParentId="22138" CreationDate="2014-04-15T22:36:19.513" Score="8" Body="&lt;p&gt;Only an extended comment with a trivial example; you can pick the one-element language:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$L_k = \{ M \mid  \sigma(M) = \Sigma(k) \}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;i.e. $L_k$ contains the first (in lexicographical order) &lt;a href=&quot;http://en.wikipedia.org/wiki/Busy_beaver&quot;&gt;busy beaver&lt;/a&gt; Turing machine of size $k$ (the Turing machine of size $k$ that attains the largest number of 1s on its tape after halting).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For every $k$ the language $L_k$ is regular ... but we have no idea on how to  build the small DFA that recognizes it (though it has only $\leq 2*k(\log k+2)$ states) :-)&lt;/p&gt;&#xA;" OwnerUserId="3247" LastActivityDate="2014-04-15T22:36:19.513" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="22141" PostTypeId="2" ParentId="21983" CreationDate="2014-04-15T22:53:22.947" Score="3" Body="&lt;p&gt;The inductive invariant separator problem for Presburger arithmetic is undecidable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am unaware of a proof in the literature to point you at. (It seems so straightforward a question I assume it is somewhere out there.) The proof I came up with follows roughly the same construction as the halting problem. Here is a brief overview. We first assume a decision procedure $D$ exists and then construct a machine $S$ with input $M$. $S$ uses $D$ to decide non-termination of $M$ on itself and then $S$ reverses the output. We then use the construction of $S$ to show that $D$ must give an incorrect answer on the execution of $S$ on itself.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Instead of a reduction to the halting problem, the proof is for all intents and purposes a restatement of the proof of the halting problem. It is a bit verbose as will require that the exact strongest post condition can be expressed.  (If a simpler proof is possible, I'd be very interested in hearing it.) Now on to the gory details.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;The inductive invariant separator problem for Presburger arithmetic is for a given 4-tuple $\left&amp;lt;\bar v,Init,Next, Bad\right&amp;gt;$ where $\bar v$ is a finite set of variable names, $Init$ and $Bad$ are Presburger formulas whose free variables are in $\bar v$, $Next$ is Presburger formula whose free variables are in $\bar v$ or $\bar{v}'$ (a primed copy of $\bar v$) does there exist a formula $\phi$ in Presburger arithmetic with free variables in $\bar v$ such that:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$Init \implies \phi$&lt;/li&gt;&#xA;&lt;li&gt;$\phi \land Next \implies \phi'$&lt;/li&gt;&#xA;&lt;li&gt;$\phi \implies \lnot Bad$&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;where $\phi'$ primes all of the free variables in $\phi$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose this problem is decidable. There then exists a Turing machine $D'$ that decides the separator problem (for a given encoding of Presburger formulas). Let $D$ be a deterministic Turing Machine that simulates $D'$. $D$ terminates and decides the separator problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A variable assignment over a finite set of variables $\{v_i\}$ is a conjunction $\bigwedge v_i = c_i$ where $c_i$ is an integer constant.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I will also assume the existence of a Turing machine to Presburger arithmetic compiler $C$ with some reasonable, but strong restrictions. $C$ takes as input a Turing machine $M$ with a unique final state, $term$, and an input $w$, and constructs presburger formulas $Init$ and $Next$ over a finite set of variables $\bar v$. Informally we require the paths of the Presburger formulas to simulate the execution of $M$ on $w$. Further, we require it to be a step simulation. Formally, we require that:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$C$ assigns a unique constant to all control states in $M$ and let the constant for $term$ be $\left&amp;lt;term\right&amp;gt;$,&lt;/li&gt;&#xA;&lt;li&gt;$C$ includes a variable $pc$ in $\bar v$ that tracks the control state of $M$ at every step in the execution,&lt;/li&gt;&#xA;&lt;li&gt;$C$ generates $Init$ to be in the form of a variable assignment over $\bar v$,&lt;/li&gt;&#xA;&lt;li&gt;$C$ ensures that $Next$ to have a unique successor on variable assignments over $\bar v$ (that are reachable from $Init$) if $M$ is deterministic,&lt;/li&gt;&#xA;&lt;li&gt;for there to exist an injective function $f$ from a state of $M$ (control and tape) to a variable assignment over $bar v$ such that $Next$ has a successor, the initial state of $M$ on $w$ is mapped to exactly $Init$ and the control state of $M$ consistently assigns $pc$,&lt;/li&gt;&#xA;&lt;li&gt;$C$ is deterministic, and&lt;/li&gt;&#xA;&lt;li&gt;$C$ terminates.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Now construct the Turing machine $S$ that takes a Turing machine $M$ as input and does the following (in pseudocode):&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;S(M):&#xA;   Run C(M,M) to get v, Init and Next&#xA;   Simulate D on v, Init, Next, Bad := (pc = &amp;lt;term&amp;gt;)&#xA;   If D says a separator exists:&#xA;     terminate&#xA;   If D says no separator exists:&#xA;     loop: goto loop&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;We now show $D$ cannot give a consistent answer on $S$ with the input $S$.  Start executing $S(S)$. $C$ terminates with $Init$ and $Next$ that can simulate $S$ with the input $S$. We now setup a correspondence between state $i$ of the execution of $S(S)$, $s_i$, and the $i$th variable assignment $\bar v_i = f(s_i)$ of the execution of $Next$ starting from $Init$. $S$ is deterministic by construction so by the properties of $C$, $Next$ must have unique successors on variable assignments and $Init$ is a variable assignment. (For reference, $f(s_0)=\bar v_i=Init$.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose $D$ says a separator exists. Let $\phi$ be such a separator. The execution of $S(S)$ then reaches $term$ in $k$ steps. (This includes executing $C$ and $D$.) Now $\bar v_1 \ldots \bar v_k$ is a counter example to $\phi$ being a separator as it reaches $pc = \left&amp;lt;term\right&amp;gt;$. $D$ gave an inconsistent answer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now suppose $D$ says no such separator exists. $S(S)$ then reaches the control state $loop$ in $k$ steps. All states after $k$ are then identical $s_{k+1}=s_{k+2}=\ldots$. The corresponding variables assignment sequence after $k$ must then assign each variable to the same constant. Let $\phi = \bigvee_{i=1}^{k+1} \bar v_i$. (Note: $\phi$ is now exactly the reachable variable assignments by $Next$ starting from $Init$.) Then&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$Init \implies \phi$ as $Init$ is exactly $\bar v_1$.&lt;/li&gt;&#xA;&lt;li&gt;$\phi \land Next \implies \phi'$ as $Next$ is deterministic and for all $i$ if $\bar v_i$ holds then $\bar v_{i+1}'$ holds.&lt;/li&gt;&#xA;&lt;li&gt;$\phi \implies \lnot Bad$ as each variable assignment $\bar v_i$ implies $pc \neq \left&amp;lt;term\right&amp;gt;$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Thus $\phi$ is an inductive invariant separator for $\left&amp;lt;\bar v,Init,Next, Bad\right&amp;gt;$ and $D$ gave an inconsistent answer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$D$ must always give an inconsistent answer and thus a decision procedure does not exist.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Doing this exercise really made me appreciate Jerome Leroux's work on separators for vector addition systems. &lt;/p&gt;&#xA;" OwnerUserId="11047" LastActivityDate="2014-04-15T22:53:22.947" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="22142" PostTypeId="2" ParentId="21750" CreationDate="2014-04-16T02:45:20.280" Score="0" Body="&lt;p&gt;heres a new paper that has an algorithm for arbitrary p≠½ based on an SVD algorithm. see p.4 for analysis of hidden (planted) clique.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://arxiv.org/pdf/1404.3918v1.pdf&quot; rel=&quot;nofollow&quot;&gt;A SIMPLE SVD ALGORITHM FOR FINDING HIDDEN PARTITIONS&lt;/a&gt; Van Vu&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Abstract. Finding a hidden partition in a random environment is a general and important problem, which contains as subproblems many famous questions, such as finding a hidden clique, finding a hidden coloring, finding a hidden bipartition etc.&#xA;  In this paper, we provide a simple SVD algorithm for this purpose, answering a question of McSherry. This algorithm is very easy to implement and works for sparse graphs with optimal density.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2014-04-16T02:45:20.280" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="22144" PostTypeId="2" ParentId="4258" CreationDate="2014-04-16T06:07:50.750" Score="6" Body="&lt;p&gt;The best exact algorithm will run in time O( min{mn, n^2.38} ) by using fast binary matrix multiplication. However, there is a random algorithm, which runs in time O(m+n) and estimates the number of reachable nodes from each node with a small relative error, please refer to paper &quot;&lt;a href=&quot;http://dx.doi.org/10.1006/jcss.1997.1534&quot; rel=&quot;nofollow&quot;&gt;Size-Estimation Framework with Applications to Transitive Closure and Reachability&lt;/a&gt;&quot; by Edith Cohen.&lt;/p&gt;&#xA;" OwnerUserId="22547" LastEditorUserId="6579" LastEditDate="2016-10-19T07:39:33.410" LastActivityDate="2016-10-19T07:39:33.410" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22145" PostTypeId="2" ParentId="22130" CreationDate="2014-04-16T06:25:09.087" Score="31" Body="&lt;p&gt;HoTT &quot;suffers&quot; from Gödel incompleteness, of course, since it has a computably enumerable language and rules of inference, and we can formalize arithmetic in it. The authors of the HoTT book were perfectly aware of its incompletness. (In fact, this is quite obvious, especially when half of the authors are logicians of some sort).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But does incompleteness &quot;impair&quot; HoTT? No more than it does any other formal system, and I think the whole issue is a bit misguided. Let me try an analogy. Suppose you have a car which can't take you everywhere on the planet. For instance, it can't climb vertically up a wall. Is the car &quot;impaired&quot;? Of course, it can't get you to the top of the Empire State building. Is the car useless? Far from it, it can take you too many other interesting places. Not to mention that the Empire State building has elevators.&lt;/p&gt;&#xA;" OwnerUserId="705" LastActivityDate="2014-04-16T06:25:09.087" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="22146" PostTypeId="2" ParentId="21750" CreationDate="2014-04-16T11:00:27.043" Score="9" Body="&lt;p&gt;If $p$ is constant, then the size of the maximum clique in the $G(n,p)$ model is almost everywhere a constant multiple of $\log n$, with the constant proportional to $\log (1/p)$.  (See Bollobás, p.283 and Corollary 11.2.)  Changing $p$ should therefore not affect the hardness of planting a clique with $\omega(\log n)$ vertices as long as the clique is too small for an existing algorithmic approach to work.  I therefore expect that with constant $p \ne 1/2$ the hardness of Planted Clique should behave just like the $p=1/2$ case, although it is possible that the case of $p$ very close to 0 or 1 might behave differently.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In particular, for $p\ne 1/2$ the same threshold of $\Omega(n^{\alpha})$ for $\alpha = 1/2$ for the size of the planted clique applies, above which the problem becomes polynomial-time.&#xA;The value of $\alpha$ here is $1/2$ (and not some other value) because the Lovász theta function of $G(n,p)$ is almost surely between $0.5\sqrt{(1-p)/p}\sqrt{n}$ and $2\sqrt{(1-p)/p}\sqrt{n}$, by a result of Juhász.&#xA;The algorithm of Feige and Krauthgamer uses the Lovász theta function to find and certify a largest clique, so it relies on this threshold size for the planted clique.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course, there may be a different algorithm that does not use the Lovász theta function, and that for values of $p$ far from $1/2$ can find a planted clique with say $n^{1/3}$ vertices.  As far as I can tell this is still open.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Feige and Krauthgamer also discuss when $p$ is not constant but depends on $n$, and is either close to 0 or close to 1.  In these cases other approaches exist to find planted cliques, and the threshold size is different.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Béla Bollobás, &lt;em&gt;Random Graphs&lt;/em&gt; (2nd edition), Cambridge University Press, 2001.&lt;/li&gt;&#xA;&lt;li&gt;Ferenc Juhász, &lt;em&gt;The asymptotic behaviour of Lovász' $\vartheta$ function for random graphs&lt;/em&gt;, Combinatorica &lt;strong&gt;2&lt;/strong&gt;(2) 153–155, 1982.  doi:&lt;a href=&quot;http://dx.doi.org/10.1007/BF02579314&quot;&gt;10.1007/BF02579314&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Uriel Feige and Robert Krauthgamer, &lt;em&gt;Finding and certifying a large hidden clique in a semirandom graph&lt;/em&gt;, Random Structures &amp;amp; Algorithms &lt;strong&gt;16&lt;/strong&gt;(2) 195–208, 2000.  doi:10.1002/(SICI)1098-2418(200003)16:2&amp;lt;195::AID-RSA5&gt;3.0.CO;2-A&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="109" LastActivityDate="2014-04-16T11:00:27.043" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="22147" PostTypeId="1" CreationDate="2014-04-16T14:45:54.807" Score="8" ViewCount="417" Body="&lt;p&gt;The S and K combinators form a complete (and Turing complete) basis when untyped. Within the Hindley-Milner type-system, and I believe within system $F$ as well, S and K can encode any well-typed function and, with the addition of the Y combinator, you gain Turing completeness (and adding other recursion combinations yields different recursive classes).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I highly suspect that the same can be done for System $F_{\omega}$ but I'm not sure how quite to do this. Is there a set of combinators that form a complete basis typed under system F-omega?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Additionally, in system $F$ type checking is only decidable with type hints (Church style). Would a combinator basis for system $F$ still have decidable type checking? If true would this still also be true of a complete basis for system $F_\omega$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What about complete basis and decidability of type checking for Per Martin-Löf typing systems?&lt;/p&gt;&#xA;" OwnerUserId="21112" LastEditorUserId="3984" LastEditDate="2014-04-16T19:44:07.270" LastActivityDate="2014-04-18T15:24:31.560" Title="Complete combinator basis for System F-omega" Tags="&lt;pl.programming-languages&gt;&lt;type-theory&gt;&lt;lambda-calculus&gt;&lt;functional-programming&gt;&lt;combinatory-logic&gt;" AnswerCount="0" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="22148" PostTypeId="1" CreationDate="2014-04-16T15:33:36.800" Score="3" ViewCount="169" Body="&lt;p&gt;What are the future directions in fixed parameter tractability of graphs isomorphism after these two recent papers:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;em&gt;&lt;a href=&quot;http://arxiv.org/abs/1403.7238&quot; rel=&quot;nofollow&quot;&gt;Reduction Techniques for Graph Isomorphism in the Context of Width Parameters&lt;/a&gt;&lt;/em&gt;,  Yota Otachi, Pascal Schweitzer&lt;/li&gt;&#xA;&lt;li&gt;&lt;em&gt;&lt;a href=&quot;http://arxiv.org/abs/1404.0818&quot; rel=&quot;nofollow&quot;&gt;Fixed-parameter tractable canonization and isomorphism test for graphs of bounded treewidth&lt;/a&gt;&lt;/em&gt;,  Daniel Lokshtanov, Marcin Pilipczuk, Michał Pilipczuk, Saket Saurabh&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="14028" LastEditorUserId="10889" LastEditDate="2014-04-17T10:21:05.683" LastActivityDate="2014-04-17T10:21:05.683" Title="Fixed parameter tractable algorithms for graph isomorphism" Tags="&lt;graph-isomorphism&gt;" AnswerCount="0" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="22149" PostTypeId="1" CreationDate="2014-04-16T16:37:13.343" Score="8" ViewCount="504" Body="&lt;p&gt;I read it &lt;a href=&quot;http://www.iro.umontreal.ca/~pift6266/H10/notes/deepintro.html#insufficient-depth-can-hurt&quot;&gt;here&lt;/a&gt; that there are function families which need $\mathcal{O}(2^n)$ nodes on neural network with at most $d - 1$ layers to represent the function while need only $\mathcal{O}(n)$ if the neural network has at least $d$ layers. It was referring to a paper by Hastad. I didn't find it. Could someone tell me the title of the paper? I think this is a really fascinating theoretical result.&lt;/p&gt;&#xA;" OwnerUserId="1784" LastEditorUserId="109" LastEditDate="2014-04-17T10:21:33.793" LastActivityDate="2014-04-17T10:21:33.793" Title="Exponential gap on neural network layers" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;" AnswerCount="3" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="22150" PostTypeId="2" ParentId="22128" CreationDate="2014-04-16T17:38:02.517" Score="-1" Body="&lt;p&gt;&amp;quot;r-complete&amp;quot; seems to be a relatively new concept invented by Axelsen and Glück ~2011, possibly not considered much by other authors, and wonder if there is a proof its different than Turing complete.&lt;/p&gt;&#xA;&lt;p&gt;am taking this verbose &amp;amp; circuitous question to ask for basically:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;a simple Turing complete system&lt;/li&gt;&#xA;&lt;li&gt;reversible&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;try Turing-complete &lt;a href=&quot;http://en.wikipedia.org/wiki/Reversible_cellular_automaton&quot; rel=&quot;nofollow noreferrer&quot;&gt;reversible cellular automata&lt;/a&gt; eg:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://arxiv.org/ftp/nlin/papers/0501/0501022.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Two-state, Reversible, Universal Cellular Automata In Three Dimensions&lt;/a&gt; Miller/Fredkin&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;A novel two-state, Reversible Cellular Automata (RCA) is described. This three-dimensional RCA&#xA;is shown to be capable of universal computation. Additionally, evidence is offered that this RCA&#xA;Is capable of universal construction.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;K. Imai and K. Morita, &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0304397599000997&quot; rel=&quot;nofollow noreferrer&quot;&gt;A computation-universal two-dimensional 8-state triangular reversible cellular automaton,&lt;/a&gt; Theoretical Computer Science 231 (2000), no. 2, 181–191.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Abstract: A reversible cellular automaton (RCA) is a cellular automaton (CA) whose global function is injective and every configuration has at most one predecessor. Margolus showed that there is a computation-universal two-dimensional 2-state RCA. But his RCA has a non-uniform neighbor, so Morita and Ueno proposed 16-state computation-universal RCA using partitioned cellular automata (PCA). Because PCA can be regarded as a subclass of standard CA, their models have a standard neighbor. In this paper, we show that the number of states of Morita and Ueno's models can be reduced. To decrease the number of states from their models with preserving isotropic and bit-preserving properties, we used a triangular 3-neighbor, and thus an 8-state RCA can be possible. This is the smallest state two-dimensional RCA under the condition of isotropic property in the framework of PCA. We show that our model can simulate basic circuit elements such as unit wires, delay elements, crossing wires, switch gates and inverse switch gates, and it is possible to construct a Fredkin gate by combining these elements. Since Fredkin gate is known to be a universal logic gate, our model has computation-universality.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;it was found as a ref in this survey of CAs which might have other helpful leads on the inquiry (eg see sec 7, Reversibility and Universality). (at 17 pgs &amp;amp; 86 refs the title is verging on ironic.)&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&quot;http://hal.archives-ouvertes.fr/docs/00/27/45/63/PDF/102-118.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;UNIVERSALITIES IN CELLULAR AUTOMATA&#xA;A (SHORT) SURVEY&lt;/a&gt; Ollinger&lt;/p&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2014-04-16T17:59:55.827" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="22151" PostTypeId="2" ParentId="21591" CreationDate="2014-04-16T19:51:19.687" Score="1" Body="&lt;p&gt;After some introspection, I'd like to suggest the following natural problem. A  &lt;em&gt;skew-symmetric digraph&lt;/em&gt; is a digraph $G$ where each vertex comes in two copies $v,v'$ (possibly identical) and such that for each arc $(u,v) \in A(G)$ we also have $(v',u') \in A(G)$. The problem consists of packing cycles in a skew-symmetric digraph under a weight constraint. That is to say, we are given a ssd $G = (V,A)$, a weighting $w : V \rightarrow \mathbb{N}$ s.t. $w(v') = w(v)$ for each $v \in V$, and an integer $k$, and we seek a family of $k$ cycles $\cal{C}$ in $D$ such that (i) $V(\cal{C})$ has maximum cardinality, (ii) each $C \in \cal{C}$ is skew-symmetric, i.e. if it contains $(u,v)$ then it also contains $(v',u')$, (iii) each vertex $v$ is contained in at most $w(v)$ cycles of $D$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This problem would generalize two well-known problems in combinatorial optimizations: (1) maximum matchings in undirected graphs and (2) maximum $k$-chains in posets. Here is a sketch of the reductions. For problem (1) we start with an undirected graph $G$, and we let $D$ be the symmetric digraph obtained from $G$ with each vertex self-symmetric, assigning a weight one to each vertex. For problem (2) we start with a poset $P_0$ with underlying digraph $D_0$, and we let $D$ be the digraph obtained by taking the disjoint union of $D_0$, its symmetric copy, and arcs $(v,v'), (v',v)$ for each vertex $v$ of $P$; we assign a weight one to each vertex.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm not sure about the practical application of your problem, but I expect it to be P-hard: a reduction from &lt;em&gt;3HornSat&lt;/em&gt; to the weighted version seems possible although I didn't check the details. If this problem turned out to be in P (with a corresponding min/max result) it would be very interesting, at least from a theoretical standpoint.&lt;/p&gt;&#xA;" OwnerUserId="17699" LastEditorUserId="17699" LastEditDate="2014-04-16T20:02:38.893" LastActivityDate="2014-04-16T20:02:38.893" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="22152" PostTypeId="2" ParentId="22149" CreationDate="2014-04-16T22:10:43.413" Score="9" Body="&lt;p&gt;The paper that people usually cite is &lt;a href=&quot;http://citeseer.ist.psu.edu/viewdoc/summary?doi=10.1.1.100.8571&quot;&gt;Almost Optimal Lower Bounds for Small Depth Circuits&lt;/a&gt;, which appears in STOC 1986. The main result pertaining to your question is: &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;There exists a family of functions admitting linear size, depth $k$ circuits (of unbounded fan-in AND/OR and NOT) that requires exponential size at depth $k-1$. &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;What's possible even more relevant is the fact that &lt;a href=&quot;https://complexityzoo.uwaterloo.ca/Zooref#hmp93&quot;&gt;$\mathsf{TC}^0$ admits an exponential separation between depth 3 and depth 2&lt;/a&gt;. This is relevant because threshold gates are commonly used in deep networks. &lt;/p&gt;&#xA;" OwnerUserId="80" LastEditorUserId="80" LastEditDate="2014-04-16T22:37:32.670" LastActivityDate="2014-04-16T22:37:32.670" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="22154" PostTypeId="2" ParentId="22149" CreationDate="2014-04-17T02:55:49.983" Score="6" Body="&lt;p&gt;Literally stated, the problem of exponentially separating neural nets of depth d from depth d-1, for all d, is open, to the best of my knowledge. When your &quot;activation functions&quot; are linear threshold functions for example, it is open whether all nets of all depths d can be simulated, with a polynomial increase in size, in depth 3.&lt;/p&gt;&#xA;" OwnerUserId="225" LastActivityDate="2014-04-17T02:55:49.983" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="22155" PostTypeId="1" CreationDate="2014-04-17T05:03:59.937" Score="4" ViewCount="456" Body="&lt;p&gt;In Shapiro et al.'s SSS '11 paper on &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=2050642&quot; rel=&quot;nofollow&quot;&gt;Conflict-Free Replicated Data Types&lt;/a&gt; for eventual consistency of distributed replicated objects, they describe a system model in which replicas transmit their state to one another &quot;infinitely often&quot;.  On the receiving end, a replica can &lt;em&gt;merge&lt;/em&gt; the received state with its own local state by executing a method &lt;em&gt;m&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the case of &lt;em&gt;convergent replicated data types&lt;/em&gt;, or CvRDTs, the states a replica can take on are elements of a (join-semi)lattice, and the &lt;em&gt;m&lt;/em&gt; operation takes the join of the the received state and the local state with respect to the lattice.  Also, replicas can update their local state (by calling an update method, &lt;em&gt;u&lt;/em&gt;), but only in a way that is inflationary with respect to the lattice (that is, the state can only &quot;get bigger&quot;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My questions have to do with the &quot;infinitely often&quot; bit, and are as follows:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Is it just the state transmission that occurs infinitely often, or also the calls to &lt;em&gt;m&lt;/em&gt;?  That is, does the process running at some replica have to explicitly call the &lt;em&gt;m&lt;/em&gt; method in order to do a merge, or are these merges happening infinitely often &quot;in the background&quot;?  (It seems to me that it &lt;em&gt;must&lt;/em&gt; be happening infinitely often in the background, because otherwise, if a process didn't call &lt;em&gt;m&lt;/em&gt; at the end of its run, then its replica wouldn't converge with the others, breaking the eventual consistency guarantee that CvRDTs provide.)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;em&gt;But&lt;/em&gt;, if merges occur infinitely often, &lt;em&gt;do updates to a CvRDT really have to be inflationary&lt;/em&gt;?  In the presence of infinitely-often merges, it seems like if a non-inflationary update ever happened, that update would just be &lt;em&gt;lost&lt;/em&gt; -- which would be unfortunate, but wouldn't actually pose a problem for convergence.  When I look at the proof that CvRDTs are eventually consistent, I don't see the place that the inflationary condition on the &lt;em&gt;u&lt;/em&gt; method is required.  Why exactly does &lt;em&gt;u&lt;/em&gt; have to be inflationary?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Finally, the definition of causal history in the paper seems fishy if merges are really happening &quot;infinitely often&quot;, because if so there would be &quot;no room&quot; for any other method execution to occur! The &lt;em&gt;k&lt;/em&gt;'th method execution would have to be a merge, for all &lt;em&gt;k&lt;/em&gt;, wouldn't it?  Am I taking &quot;infinitely often&quot; too literally?  (&lt;strong&gt;Update:&lt;/strong&gt; Yes, I am taking it too literally!  See below.)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Thanks!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(&lt;strong&gt;Update:&lt;/strong&gt; After a Twitter discussion with Niklas Ekström, I understand the meaning of &quot;infinitely often&quot; better.  If an event occurs &quot;infinitely often&quot;, that doesn't mean anything about the &lt;em&gt;frequency&lt;/em&gt; of it occurring; it just means that the event occurs an infinite number of times.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, if event X occurs infinitely often, and some other event Y occurs once (or some finite number of times), then X is guaranteed to occur after Y, because infinitely many occurrences of X cannot all occur before the occurrence(s) of Y.  And here, in particular, there is no way for a replica to update itself and for the neighbors &lt;em&gt;not&lt;/em&gt; to find out, because a state transmission will always occur after that update (because there are infinitely many state transmissions, and therefore they can't all occur before that update!).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm still not sure if I should be thinking of state transmissions &lt;em&gt;and&lt;/em&gt; merges as happening infinitely often, or just state transmissions.  But, even if merges also occur infinitely often, my comment above about there being &quot;no room&quot; for any other event to occur doesn't make sense, considering what &quot;infinitely often&quot; actually means.)&lt;/p&gt;&#xA;" OwnerUserId="7638" LastEditorUserId="7638" LastEditDate="2014-04-18T00:08:39.360" LastActivityDate="2018-08-21T05:46:17.977" Title="What does it mean for CvRDT replicas to transmit their state &quot;infinitely often&quot;?" Tags="&lt;dc.distributed-comp&gt;" AnswerCount="3" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="22156" PostTypeId="2" ParentId="22117" CreationDate="2014-04-17T05:58:44.643" Score="1" Body="&lt;p&gt;There's support for extensible type systems in JetBrains MPS (&lt;a href=&quot;http://www.jetbrains.com/mps/&quot; rel=&quot;nofollow&quot;&gt;http://www.jetbrains.com/mps/&lt;/a&gt;). Basically it has a constraint solving engine which supports both equations (type equalities) and inequalities (subtyping). Extensions add new rules of adding constraints which are solved by the engine.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;P.S. I think the question is more appropriate for stackoverflow than cstheory.&lt;/p&gt;&#xA;" OwnerUserId="21833" LastActivityDate="2014-04-17T05:58:44.643" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="22157" PostTypeId="1" AcceptedAnswerId="22423" CreationDate="2014-04-17T06:07:10.500" Score="11" ViewCount="2557" Body="&lt;p&gt;Martin-Löf type theory uses W-types to define inductive structures like integers, lists, etc. However, calculus of inductive constructions doesn't use them in the same way, inductive types there seems to be more like axiom schemas. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are these two approaches equivalent (they seem to be)? Are there any philosophical reasons why one is better than the other (for me, W-types feel like more intuitive, because the are just trees of special structure)? Which is easier from implementation point of view (inductive types seems to be better for me, since for W-types to be useful we need at least finite types and products to be available in a system's core)&lt;/p&gt;&#xA;" OwnerUserId="21833" LastActivityDate="2014-05-05T12:06:26.057" Title="W-types vs Inductive types" Tags="&lt;lo.logic&gt;&lt;type-theory&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="22158" PostTypeId="2" ParentId="22155" CreationDate="2014-04-17T06:10:58.580" Score="1" Body="&lt;p&gt;From my understanding of CvRDTs (though I haven't read that exact paper recently)&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;I believe after receiving new state &lt;em&gt;m&lt;/em&gt; is always called, however this should be part of the send/receive machinery, rather than something the application has to deal with. That doesn't prevent the application calling &lt;em&gt;m&lt;/em&gt; if it sees the need, but in lots of cases there isn't one.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;em&gt;u&lt;/em&gt; has to be inflationary otherwise it will get &quot;lost&quot; by a merge. Given a merge could happen at any time, a non-inflationary update could disappear beneath the CvRDT user as they were performing operations on it. And while non-inflationary updates don't pose a problem for convergence, they do pose a problem for equality: &lt;code&gt;a &amp;lt;merge&amp;gt; b&lt;/code&gt; may not be deterministic in the presence of non-inflationary updates.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;I don't have an answer for this. Maybe it's worth reading as &quot;unboundedly many times between each update&quot;, but that's a guess.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="21537" LastActivityDate="2014-04-17T06:10:58.580" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="22160" PostTypeId="1" CreationDate="2014-04-17T07:20:49.083" Score="2" ViewCount="248" Body="&lt;p&gt;Under &lt;a href=&quot;https://cstheory.stackexchange.com/questions/21865/multidimensional-knapsack-strongly-np-complete&quot;&gt;Multidimensional knapsack STRONGLY NP-complete&lt;/a&gt; it was discussed that the Multidimensional Knapsack problem is strongly NP-hard.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Within this discussion the question whether the problem is W[1]-hard when parameterized by dimension d was mentioned, but not finally answered. Is the problem solved?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;And: Is there any known xp-algorithm for multidimensional knapsack w.r.t. parameter dimension?&lt;/p&gt;&#xA;" OwnerUserId="22558" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2014-05-04T08:03:20.637" Title="Multidimensional Knapsack W[1]-hard when parameterized by dimension" Tags="&lt;parameterized-complexity&gt;" AnswerCount="0" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="22162" PostTypeId="1" CreationDate="2014-04-17T07:34:12.567" Score="1" ViewCount="100" Body="&lt;p&gt;For some variants of RMQ data structures, the number of Cartesian trees (i.e. the Catalan numbers) is a part of the running-time analysis. What are some other examples where the Cataln numbers show up (either in a data structure itself or in a run-time analysis)?&lt;/p&gt;&#xA;" OwnerUserId="22559" LastActivityDate="2014-04-17T07:34:12.567" Title="What are some examples where the Catalan numbers show up in algorithms/data structures?" Tags="&lt;ds.algorithms&gt;&lt;ds.data-structures&gt;&lt;combinatorics&gt;" AnswerCount="0" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="22164" PostTypeId="2" ParentId="22149" CreationDate="2014-04-17T09:13:25.497" Score="5" Body="&lt;p&gt;The following paper proves an exponential separation of perceptrons of depth $d$ versus depth $d+1$. A perceptron is a circuit with a single threshold gate at the top, and unbouded fan-in boolean circuits as its inputs:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://dx.doi.org/10.1006/jcss.1997.1552&quot;&gt;Christer Berg, Staffan Ulfberg: A Lower Bound for Perceptrons and an Oracle Separation of the $\mathsf{PP}^{\mathsf{PH}}$ Hierarchy. J. Comput. Syst. Sci. (JCSS) 56(3):263-271 (1998)&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Perceptrons are often referred to as a model for neural networks. The authors were students of Johan Håstad, so this might be the reference you are looking for. &lt;/p&gt;&#xA;" OwnerUserId="6579" LastActivityDate="2014-04-17T09:13:25.497" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22165" PostTypeId="1" CreationDate="2014-04-17T10:48:59.597" Score="2" ViewCount="211" Body="&lt;p&gt;In category theory, a &lt;em&gt;functor&lt;/em&gt; between two categories $C,D$ is a map $F$ that assigns to each object (resp. morphism) $x$ of $C$ a corresponding object (resp. morphism) $F(x)$ of $D$ by respecting the incidence relations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For each pair of objects $x,y$ of $C$, we may then define a map $F_{x,y}$ that takes any morphism $m : x \rightarrow y$ to a morphism $F(m) : F(x) \rightarrow F(y)$. I understand that $F$ is called &lt;em&gt;faithful&lt;/em&gt; if every such mapping $F_{x,y}$ is injective, which means intuitively that the relational structure of the category is preserved, although the objects may not be.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is a related notion of &lt;em&gt;forgetful&lt;/em&gt; functor for which I couldn't find a precise definition, so is there anyone willing to help? I mean, is it just the opposite of faithful or is it the combination of unfaithfulness with some other implicit property?&lt;/p&gt;&#xA;" OwnerUserId="21798" LastActivityDate="2014-04-18T12:22:56.840" Title="Faithful functors vs forgetful functors: exact category-theoretic defs?" Tags="&lt;co.combinatorics&gt;&lt;soft-question&gt;&lt;ct.category-theory&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="22166" PostTypeId="1" AcceptedAnswerId="22168" CreationDate="2014-04-17T11:22:57.720" Score="0" ViewCount="275" Body="&lt;p&gt;I'm trying to use GA solve the quadratic assignment problem (QAP). We're planning on using it to be able to provide good solutions when using branch and bound becomes impossible, and as a requirement, I have to make it work as if it &quot;improved&quot; an existing solution. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem is of course in generating the initial population. I want to ensure diversity as well as good fitness, but the starting individuals, somehow, have to come from a single input individual (it's going to be a good one, in terms of fitness).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;How should I go about this? I've thought about creating an initial population consisting on half (or some proportion) of individuals similar to the initial one, and then adding the other half of new randomly (using some heuristic) generated individuals, to combine my solution with other parts of the solution space. Is this a good approach? If so, anny recommendations on the random heuristic to search for the new random individuals?&lt;/p&gt;&#xA;" OwnerUserId="22564" LastActivityDate="2014-04-17T13:49:35.217" Title="Initial population for a genetic algorithm from one individual" Tags="&lt;genetic-algorithms&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22168" PostTypeId="2" ParentId="22166" CreationDate="2014-04-17T13:49:35.217" Score="1" Body="&lt;p&gt;One nice thing about QAP is that local search methods can take advantage of incremental evaluation of modified solutions, and GAs typically can't. So a pure GA needs O(n^2) time for every fitness evaluation, but a local search can do many fitness calculations in O(1) time, and the rest in O(n).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What I've often done for QAP is to employ something like a tabu search method to do much of the search. See Eric Taillard's paper on &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0167819105801474&quot; rel=&quot;nofollow&quot;&gt;Robust Tabu Search&lt;/a&gt; for a good example of how to apply it to QAP in particular, including how to do the incremental fitness update.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can generate multiple good initial points by running multiple tabu searches from random starting points, or you can integrate it directly into the GA as a hybrid method.&lt;/p&gt;&#xA;" OwnerUserId="5832" LastActivityDate="2014-04-17T13:49:35.217" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="22169" PostTypeId="2" ParentId="22155" CreationDate="2014-04-17T14:25:58.787" Score="0" Body="&lt;p&gt;from section 2.1:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Systems that deliver every update to every replica eventually in a fault tolerant manner are well-known in the literature, for instance gossip or anti-entropy&#xA;  approaches [5,13]. For simplicity, we will assume hereafter a fully connected&#xA;  communication graph, where every arc is a fair-lossy channel. Infinitely&#xA;  often, the replica at pi sends (if it is correct) its current state to pj ; replica pj (if&#xA;  it is correct) merges the received state into its local state by executing method&#xA;  m.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&quot;Infinitely Often&quot; is a simplification. The requirement is, like all eventually consistent systems, that all updates eventually reach all replicas (which as the paper eludes, is well-known)&lt;/p&gt;&#xA;" OwnerUserId="22566" LastActivityDate="2014-04-17T14:25:58.787" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="22172" PostTypeId="1" AcceptedAnswerId="22173" CreationDate="2014-04-17T17:22:16.880" Score="5" ViewCount="269" Body="&lt;p&gt;I am currently reading the book by Luo on computation and reasoning. In the book he contrasts inductive types considered as computational theories with axiomatic theories widespread in &quot;standard&quot; mathematics. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, if we have axiomatic theories, then they can be inconsistent. It seems to be impossible with inductive types. But why this is so?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;P.S. As far as I understand from an answer to my previous question &lt;a href=&quot;https://cstheory.stackexchange.com/questions/21938/correctness-of-type-theory&quot;&gt;&amp;quot;Correctness&amp;quot; of type theory&lt;/a&gt; we can create an inductively defined set and consistency of the type theory + inductive type will be equivalent to the consistency of set theory. Am I right?&lt;/p&gt;&#xA;" OwnerUserId="21833" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2014-04-17T21:00:39.837" Title="What does consistency mean for &quot;computational theories&quot; corresponding to inductive types?" Tags="&lt;lo.logic&gt;&lt;dependent-type&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22173" PostTypeId="2" ParentId="22172" CreationDate="2014-04-17T18:20:25.550" Score="6" Body="&lt;p&gt;With inductive types consistency is manifested as a termination property. Functions from inductive types are defined by structural recursion. How do we know they are well-defined, i.e., that they are total?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is an example:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;Inductive nat :=&#xA;  | Z : nat&#xA;  | S : nat -&amp;gt; nat.&#xA;&#xA;Inductive omega1 :=&#xA;  | zero : omega1&#xA;  | succ : omega1 -&amp;gt; omega1&#xA;  | sup  : (nat -&amp;gt; omega1) -&amp;gt; omega1.&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Intuitively, &lt;code&gt;omega1&lt;/code&gt; consists of well-founded countable trees. Given a type &lt;code&gt;A&lt;/code&gt;, an element &lt;code&gt;a : A&lt;/code&gt;, a map &lt;code&gt;f : A -&amp;gt; A&lt;/code&gt; and a map &lt;code&gt;g : (nat -&amp;gt; A) -&amp;gt; A&lt;/code&gt; we can define a map &lt;code&gt;F : omega1 -&amp;gt; A&lt;/code&gt; by recursion:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;fix F (t : omega1) : A :=&#xA;  match t with&#xA;  | zero =&amp;gt; a&#xA;  | succ x =&amp;gt; f (F x)&#xA;  | sup s =&amp;gt; g (fun n : nat =&amp;gt; F (s n))&#xA;  end&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;The principle that every such &lt;code&gt;F&lt;/code&gt; is well defined is equivalent to induction on well-founded countable trees. In terms of ordinal strength that's induction up to $\omega_1$. If you keep everything syntactic and/or computable so that you only use computable trees, you might get away with $\omega_1^{\mathrm{CK}}$, which isn't really better. Therefore, if $\omega_1$ does not exist we have a problem, and existence of $\omega_1$ is pretty strong in terms of consistency.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Concretely, suppose we came up with a new kind of inductive type &lt;code&gt;I&lt;/code&gt; that were inhabited and it allowed us to write a non-terminating function. We could use it inhabit the empty type &lt;code&gt;void&lt;/code&gt; by defining a non-terminating function &lt;code&gt;f : I -&amp;gt; void&lt;/code&gt;. This actually happened in history. Originallly Martin-Löf proposed a type theory with &lt;code&gt;Type : Type&lt;/code&gt; and Girard proved it to be inconsistent by simulating the Burali-Forti paradox. This gives us an idea: suppose we define a type &lt;code&gt;WellOrder&lt;/code&gt; of all well-orders. Because well-orders themselves are well-ordered, &lt;code&gt;WellOrder&lt;/code&gt; has an induction principle -- it is a kind of inductive type, and in fact is itself a well-order. If we now also posit that &lt;code&gt;WellOrder&lt;/code&gt; is an element of &lt;code&gt;WellOrder&lt;/code&gt; (by which I mean that there is &lt;code&gt;wt : WellOrder&lt;/code&gt; which encodes &lt;code&gt;WellOrder&lt;/code&gt;) we will hit the Burali-Forty paradox, define a non-terminating function, and inhabit &lt;code&gt;False&lt;/code&gt;. In fact, much less is needed and is included in the standard Coq library under &lt;a href=&quot;http://coq.inria.fr/V8.2pl1/contribs/Paradoxes.BuraliForti_ex.html&quot; rel=&quot;nofollow&quot;&gt;&lt;code&gt;Pardoxes.BuralliForti_ex&lt;/code&gt;&lt;/a&gt;, see theorem &lt;a href=&quot;http://coq.inria.fr/V8.2pl1/contribs/Paradoxes.BuraliForti_ex.html#Burali_Forti&quot; rel=&quot;nofollow&quot;&gt;&lt;code&gt;Burali_Forti : False&lt;/code&gt;&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="705" LastEditorUserId="705" LastEditDate="2014-04-17T21:00:39.837" LastActivityDate="2014-04-17T21:00:39.837" CommentCount="12" ContentLicense="CC BY-SA 3.0" />
  <row Id="22174" PostTypeId="1" CreationDate="2014-04-17T20:27:30.427" Score="8" ViewCount="203" Body="&lt;p&gt;If $\mathsf{NP}$ contains a class of superpolynomial time problems, i.e.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;for some function $t \in n^{\omega(1)}$, $\mathsf{DTIME}(t) \subseteq \mathsf{NP}$,&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;then if follows from the deterministic time hierarchy theorem that &#xA;$\mathsf{P} \subsetneq \mathsf{NP}$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;But are there any other interesting consequences nontrivial &#xA;(i.e. not a consequence of $\mathsf{P} \subsetneq \mathsf{NP}$)&#xA;if nondeterminism can speed up deterministic computations?&lt;/p&gt;&#xA;" OwnerUserId="11051" LastEditorUserId="186" LastEditDate="2014-04-18T05:14:58.110" LastActivityDate="2014-04-21T19:19:07.110" Title="Consequences of nondeterminism speeding up deterministic computation" Tags="&lt;cc.complexity-theory&gt;&lt;time-complexity&gt;&lt;nondeterminism&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="22175" PostTypeId="1" CreationDate="2014-04-17T21:34:32.090" Score="12" ViewCount="601" Body="&lt;p&gt;Consider the following card game (known in Italy as &quot;Cavacamicia,&quot; which may be translated as &quot;stripshirt&quot;):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Two players randomly split in two decks a standard deck of cards.  Each player gets one deck.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The players alternate placing down in a stack the next card from their deck.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If a player (A) places down a special card, i.e. a I, II, or III, the other player (B) has to place down consecutively the corresponding number of cards.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;If in doing so B places down a special card, the action reverses, and so on; otherwise, if B places down the corresponding number of cards but no special card, A collects all the cards that were put down and adds them to their deck.  A then restarts the game by placing down a card.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The first player to run out of cards loses the game.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note: The outcome of the game depends exclusively on the initial partition of the deck.  (Which may make this game look a bit pointless ;-)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question:&lt;/strong&gt; Does this game always terminate? What if we generalize this game and give any two sequences of cards to each player?&lt;/p&gt;&#xA;" OwnerUserId="259" LastActivityDate="2015-10-27T19:47:13.500" Title="Does this game terminate?" Tags="&lt;board-games&gt;" AnswerCount="1" CommentCount="6" FavoriteCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="22177" PostTypeId="1" CreationDate="2014-04-18T02:40:24.283" Score="8" ViewCount="183" Body="&lt;p&gt;Fix an positive integer $N$.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A &lt;em&gt;row&lt;/em&gt; means any linear ordering $R=(n_i)_{0\leq i &amp;lt;N}$ of the additive group ${\Bbb Z}/N{\Bbb Z}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Call $R$ a (generalized) &lt;em&gt;all-interval row&lt;/em&gt; if the elements of the sequence $(n_i-n_{i-1})_{1\leq i &amp;lt;N}$ exhaust $({\Bbb Z}/N{\Bbb Z})\setminus \{0\}$. (This requires even $N$.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would like to know if the following decision problem is NP-complete:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given $M&amp;lt;N$ and a sequence $S=(n_i)_{0\leq i &amp;lt;M}$ with $n_i\in {\Bbb Z}/N{\Bbb Z}$, does $S$ extend to an all interval row?&lt;/p&gt;&#xA;" OwnerUserId="22578" LastActivityDate="2014-04-18T02:40:24.283" Title="Complexity question from mathematical music theory" Tags="&lt;np-complete&gt;" AnswerCount="0" CommentCount="11" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="22179" PostTypeId="2" ParentId="22165" CreationDate="2014-04-18T12:22:56.840" Score="4" Body="&lt;p&gt;you should have a look at &lt;a href=&quot;http://ncatlab.org/nlab/show/forgetful+functor&quot; rel=&quot;nofollow&quot;&gt;http://ncatlab.org/nlab/show/forgetful+functor&lt;/a&gt;. As the nLab article says, in its common usage there is no precise definition of forgetful functor, though there are some typical examples (such as a functor $U : Alg \to Set$ forgetting some kind of algebraic structure, which will typically have a left adjoint $F : Set \to Alg$ corresponding to the construction of free algebras). And in another (useful) sense, &lt;em&gt;every&lt;/em&gt; functor may be regarded as a forgetful functor, and classified according to how much it forgets.  There is no requirement that a functor be unfaithful for it to be called &quot;forgetful&quot;, and many common examples of forgetful functors are faithful (such as the forgetful functor $Grp \to Set$ from groups to their underlying sets), while others are not (such as in general the functor $cod : C^\to \to C$ from the &lt;a href=&quot;http://ncatlab.org/nlab/show/arrow+category&quot; rel=&quot;nofollow&quot;&gt;arrow category&lt;/a&gt; of $C$, forgetting everything about an arrow except its codomain).&lt;/p&gt;&#xA;" OwnerUserId="674" LastActivityDate="2014-04-18T12:22:56.840" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22180" PostTypeId="1" CreationDate="2014-04-18T13:36:26.497" Score="1" ViewCount="57" Body="&lt;p&gt;Class Cover Problem is nothing but finding an optimal cover of certain class (Point Set) with a particular shape only i.e. finding minimum number of a certain shaped polygon (for example, rectangle) required to cover the Point Set (S).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Well, covering by Rectangles is proved to be NP-Hard and now, I want to consider a different shape say L-shape and now find out covering by it. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, can somebody help me in proving that this problem is NP-Hard too. I've worked on it a bit, tried reducing it from known NP-Hard problem but couldn't quite get it.&lt;/p&gt;&#xA;" OwnerUserId="22574" LastActivityDate="2014-04-18T13:36:26.497" Title="Help in NP-Hardness proof of a certain type of Class Cover problem" Tags="&lt;np-hardness&gt;" AnswerCount="0" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="22182" PostTypeId="1" CreationDate="2014-04-18T14:10:27.167" Score="12" ViewCount="506" Body="&lt;p&gt;I was reading a paper of Buhrman and Homer &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.47.2228&amp;amp;rep=rep1&amp;amp;type=pdf&quot;&gt;“Superpolynomial Circuits, Almost Sparse Oracles and the Exponential Hierarchy”&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the bottom of page 2 they remark that the results of Kannan imply that $NEXPTIME^{NP}$ does not have polynomial size circuits. I know that in the exponential time hierarchy, $NEXPTIME^{NP}$ is just $\Sigma_2EXP$, and I also know that Kannan's result is that $\forall c\mbox{   }\exists L\in\Sigma_2P$ such that $L \not\in Size(n^c)$. Of course, Kannan's theorem is NOT saying $\Sigma_2P \not\subset P/poly$ (in order for that to be the case we would need to show that $\exists L\in\Sigma_2P$ such that $\forall c$, $L \not\in Size(n^c)$. However, I don't see how Kannan's result implies that $NEXPTIME^{NP} \not\subset P/poly$?&lt;/p&gt;&#xA;" OwnerDisplayName="Lorraine" LastEditorUserId="634" LastEditDate="2014-04-18T15:18:45.727" LastActivityDate="2017-12-26T22:09:01.337" Title="Does Kannan's theorem imply that NEXPTIME^NP ⊄ P/poly?" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;time-complexity&gt;&lt;oracles&gt;&lt;circuits&gt;" AnswerCount="1" CommentCount="8" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="22183" PostTypeId="2" ParentId="22182" CreationDate="2014-04-18T18:39:59.783" Score="11" Body="&lt;p&gt;&lt;strong&gt;This version of the answer incorporates feedback from Emil Jeřábek.&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;As far as I can see, the main twist is that there is a language in &lt;span class=&quot;math-container&quot;&gt;$\mathsf{EXP}^{\Sigma^\mathsf{P}_2}$&lt;/span&gt; of exponential circuit complexity. In particular, fix a binary encoding of boolean circuits and define &lt;span class=&quot;math-container&quot;&gt;$L$&lt;/span&gt; as the language defined by&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$L_n$&lt;/span&gt; is not decided by any circuit of size &lt;span class=&quot;math-container&quot;&gt;$2^{n/2}$&lt;/span&gt;, and&lt;/p&gt;&#xA;&lt;p&gt;any language &lt;span class=&quot;math-container&quot;&gt;$L'_n \subseteq \{0,1\}^n$&lt;/span&gt; which precedes &lt;span class=&quot;math-container&quot;&gt;$L_n$&lt;/span&gt; lexicographically is decided by some circuit &lt;span class=&quot;math-container&quot;&gt;$C$&lt;/span&gt; of size at most &lt;span class=&quot;math-container&quot;&gt;$2^{n/2}$&lt;/span&gt;,&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;where the notation &lt;span class=&quot;math-container&quot;&gt;$L_n$&lt;/span&gt; means the slice &lt;span class=&quot;math-container&quot;&gt;$L_n = L \cap \{0,1\}^n$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;p&gt;To do this in exponential time with a &lt;span class=&quot;math-container&quot;&gt;$\Sigma_2^\mathsf{P}$&lt;/span&gt; oracle, you can use binary search over subsets of &lt;span class=&quot;math-container&quot;&gt;$\{0,1\}^n$&lt;/span&gt; (think of them as &lt;span class=&quot;math-container&quot;&gt;$2^n$&lt;/span&gt; bit integers) to find the first such set which has circuit complexity &lt;span class=&quot;math-container&quot;&gt;$&amp;gt; 2^{n/2}$&lt;/span&gt;. You just keep the current guess of &lt;span class=&quot;math-container&quot;&gt;$L_n$&lt;/span&gt;, and use the oracle to test if there exists a &lt;span class=&quot;math-container&quot;&gt;$L'_n \prec_{\text{lex}} L_n$&lt;/span&gt; of circuit complexity at least &lt;span class=&quot;math-container&quot;&gt;$2^{n/2}$&lt;/span&gt;. Since this gives a machine in &lt;span class=&quot;math-container&quot;&gt;$\mathsf{EXP}^{\Sigma^\mathsf{P}_2}$&lt;/span&gt; which writes down the whole slice &lt;span class=&quot;math-container&quot;&gt;$L_n$&lt;/span&gt;, clearly we can also decide membership in &lt;span class=&quot;math-container&quot;&gt;$L_n$&lt;/span&gt;, and, therefore, in &lt;span class=&quot;math-container&quot;&gt;$L$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;p&gt;This is very much as in Kannan's argument, but scaled up and streamlined to use the exponential time. Then you should be able to use a scaled-up version of the Karp-Lipton theorem to show that if &lt;span class=&quot;math-container&quot;&gt;$\mathsf{NEXP} \subseteq \mathsf{P/poly}$&lt;/span&gt;, then &lt;span class=&quot;math-container&quot;&gt;$\mathsf{EXP}^{\Sigma^\mathsf{P}_2} \subseteq \mathsf{NEXP}^{\mathsf{NP}}$&lt;/span&gt;, and you can carry out the case analysis in Kannan's proof.&lt;/p&gt;&#xA;" OwnerUserId="4896" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2017-12-26T22:09:01.337" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="22184" PostTypeId="1" CreationDate="2014-04-18T18:50:25.423" Score="0" ViewCount="2516" Body="&lt;p&gt;(I apologize in advance if this question sounds a bit practical, but I suspect it might have an interesting theoretical aspect.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have a (large) array of data, not completely sorted, but with which has a very &lt;strong&gt;precise structure&lt;/strong&gt;, defined as follows.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The array has a length that is a (very large) &lt;strong&gt;power of 4&lt;/strong&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The data is such that:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;if the array is split in 4 parts - all of the &lt;strong&gt;same number of elements&lt;/strong&gt; - then &lt;strong&gt;in each part&lt;/strong&gt; &lt;strong&gt;the first element is the Minimum&lt;/strong&gt; of this part, and &lt;strong&gt;the last element is the Maximum of this part&lt;/strong&gt; (minimum &amp;lt; maximum).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;if we take &lt;strong&gt;any one of these parts&lt;/strong&gt; and, within it, we repeat the subdivision in 4 equal parts, the above fact holds always again for each of the new parts, all the way down, until we arrive at the smallest part, of size 4 elements.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;(in other words a sort of &quot;fractal&quot; arrangement, we might perhaps say (?)).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I need to search this array for a &lt;strong&gt;given&lt;/strong&gt; specific value.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;What would be the most efficient algorithm to perform the search, given the above structure&lt;/li&gt;&#xA;&lt;li&gt;And what is the best complexity I should expect for this task&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;(I would also like to know if this sort of problem is well known and has a name and there are additional pointers I can read read. Thank you)&lt;/p&gt;&#xA;" OwnerUserId="12863" LastEditorUserId="12863" LastEditDate="2014-04-18T19:38:07.823" LastActivityDate="2014-11-18T15:40:41.640" Title="Most efficient algorithm to search an unsorted array with a very precise data structure" Tags="&lt;ds.algorithms&gt;&lt;time-complexity&gt;&lt;search-problem&gt;&lt;fractals&gt;&lt;binary-space-partitions&gt;" AnswerCount="0" CommentCount="17" ContentLicense="CC BY-SA 3.0" />
  <row Id="22187" PostTypeId="1" CreationDate="2014-04-19T00:06:26.227" Score="0" ViewCount="231" Body="&lt;p&gt;Suppose we have a set of variable $\mathbf{y} = \left(y_1, ..., y_n \right)$. Also consider the set of functions $g_i(y_i), 1 \leq i \leq n$. Note that $g_i()$ is dependent only on $y_i$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider the program: &#xA;$$&#xA;\sum_{\mathbf{y} \in C} \prod_{i=1}^n g_i(y_i)&#xA;$$&#xA;Where $C$ is the feasible space for $\mathbf{y}$. The question is how to find this equation(or an approximation to it) efficiently?  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that naively computing this is $m^n$ (assuming that each $y_i$ can take $m$ possible values, although some of these combinations might not lie in the feasible space $\mathcal{C}$). To make it more clear consider the following example: &#xA;$$&#xA;\begin{cases}&#xA;\sum_{(y_1, y_2) \in C} g_1(y_1) g_2(y_2)  \\&#xA;\mathcal{C}: y_1 + y_2 \leq 1 \\ &#xA;y_1 \in \lbrace 0, 1 \rbrace \\  &#xA;y_2 \in \lbrace 0, 1 \rbrace  &#xA;\end{cases}&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can make the following assumptions (but not limited to): &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$\mathcal{C}$ is be represented with a linear constraint: &#xA;$$&#xA;A\mathbf{y} \leq b&#xA; $$&lt;/li&gt;&#xA;&lt;li&gt;$g_i(y_i)$ is bounded above with some number $M$. &lt;/li&gt;&#xA;&lt;li&gt;g_i(y_i) is a convex/super-convex function  &lt;/li&gt;&#xA;&lt;li&gt;Or any other necessary assumption that can help to solve or approximate this. &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Update1: It might be useful to know that &#xA;$$&#xA;\ln \sum_{\mathbf{y} \in C} \frac{ \prod_{i=1}^n g_i(y_i) } { |C| } \leq  \frac{1}{|C|} \sum_{\mathbf{y} \in C} \ln  \prod_{i=1}^n g_i(y_i) = \frac{1}{|C|} \sum_{\mathbf{y} \in C}   \sum_{i=1}^n \ln  g_i(y_i)&#xA;$$&lt;/p&gt;&#xA;" OwnerUserId="15645" LastEditorUserId="15645" LastEditDate="2014-04-20T22:11:33.090" LastActivityDate="2014-04-20T22:11:33.090" Title="Calculating exact/approximate solution to a formula" Tags="&lt;approximation-algorithms&gt;&lt;approximation-hardness&gt;&lt;dynamic-programming&gt;&lt;approximation&gt;" AnswerCount="0" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="22188" PostTypeId="1" CreationDate="2014-04-19T01:18:07.280" Score="5" ViewCount="94" Body="&lt;p&gt;(Definition: $\mathcal{F}$ is called downward closed if for any $A \in \mathcal{F}$&#xA;and $B \subseteq A$ it holds that $B \in \mathcal{F}.$)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $\mathcal{F}$ be a downward closed family of subsets of $\{1, ..., n\}$&#xA;generated by $m$ sets. &#xA;Let $\chi(\mathcal{F})$ := number of odd cardinality members of $\mathcal{F}$ minus&#xA;the number of even cardinality members of $\mathcal{F}.$ &#xA;Prove or disprove: $|\chi(\mathcal{F})| \leq m^{O(\log n)}.$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;MathOverflow Link:&#xA;&lt;a href=&quot;https://mathoverflow.net/questions/161471/is-euler-characteristic-of-a-simplicial-complex-on-n-vertices-and-f-facets-a?lq=1&quot;&gt;https://mathoverflow.net/questions/161471/is-euler-characteristic-of-a-simplicial-complex-on-n-vertices-and-f-facets-a?lq=1&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As a side question, I am also curious about how easy/hard it is to compute/approximate&#xA;$|\chi(\mathcal{F})|$ given $n$ and the $m$ generators of $\mathcal{F}.$&lt;/p&gt;&#xA;" OwnerUserId="22365" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2014-04-19T01:18:07.280" Title="Upper bound on Euler characteristic of downward closed family" Tags="&lt;ds.algorithms&gt;&lt;co.combinatorics&gt;" AnswerCount="0" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="22191" PostTypeId="1" CreationDate="2014-04-19T11:45:51.040" Score="56" ViewCount="30682" Body="&lt;p&gt;Many top notch computer science researchers and research groups) maintain active blogs that keep us updated on the latest research in the authors' fields of interest.  In most cases, blog posts are easier to understand than formal papers, because they omit most of the gory technical details and emphasize intuition (which papers generally omit).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thus, it would be useful to have a list of recommended blogs, in the same spirit as other lists of recommended resources:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/q/1168/873&quot;&gt;What papers should everyone read?&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/q/3253/873&quot;&gt;What books should everyone read?&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/q/3540/873&quot;&gt;What are the recent TCS books whose drafts are available online?&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/q/1198/873&quot;&gt;What videos should everybody watch?&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/q/4074/111&quot;&gt;What lecture notes should everyone read?&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Of course one can follow the excellent &lt;a href=&quot;http://cstheory-feed.org/&quot; rel=&quot;noreferrer&quot;&gt;Theory of Computing Blog Aggregator&lt;/a&gt;, but that list is rather overwhelming, especially for beginners.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Please highlight why you recommend them.&lt;/strong&gt;&lt;/p&gt;&#xA;" OwnerUserId="16261" LastEditorUserId="42283" LastEditDate="2019-01-01T10:07:33.720" LastActivityDate="2019-01-01T10:07:33.720" Title="What CS blogs should everyone read?" Tags="&lt;soft-question&gt;" AnswerCount="5" CommentCount="9" FavoriteCount="111" CommunityOwnedDate="2014-04-20T20:03:19.100" ContentLicense="CC BY-SA 4.0" />
  <row Id="22194" PostTypeId="1" CreationDate="2014-04-19T18:05:17.163" Score="5" ViewCount="272" Body="&lt;p&gt;Some context: there is a current debate in adiabatic quantum computing over whether a particular machine, the D-Wave quantum annealer, can outperform a classical algorithm [*]. Earlier this year, a &lt;a href=&quot;http://arxiv.org/abs/1401.2910&quot; rel=&quot;nofollow&quot;&gt;comparison between quantum Monte Carlo simulation and D-Wave machines&lt;/a&gt; were conducted, showing that the scaling behavior of the D-Wave chip did not indicate anything special. Around the same time, &lt;a href=&quot;http://arxiv.org/abs/1401.1546&quot; rel=&quot;nofollow&quot;&gt;Katzgraber and coauthors&lt;/a&gt; argue that random instances are not too useful for testing quantum speedup. They go on to propose some things specifically for Chimera spin-glasses (the Chimera graph is the name of the hardware graph used in the D-Wave chips).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What Katzgraber says makes a lot of sense--we should focus on the hard problems and see if there's anything interesting. But how to come up with these instances? There is an isomorphism between the Ising spin-glass model and quadratic unconstrained binary optimization problems (QUBOs), so you could ask the question both ways.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am open to: any (possibly small) insights, corrections of my misconceptions, keywords, ideas, or anything else you can contribute. Also I wonder if there are ideas in the AQC context for this that I've just simply missed or haven't understood.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;[*]&lt;/strong&gt; As a matter of courtesy, I thought I should include a brief description of the quantum annealing problem that I used in my other question:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In adiabatic quantum computation (AQC), one encodes the solution to an optimization problem in the ground state of a [problem] Hamiltonian $H_p$. To get to this ground state, you start in an easily coolable initial (ground) state with Hamiltonian $H_i$ and &quot;anneal&quot; (adiabatically perturb) towards $H_p$, i.e.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;H(s) = s H_i + (1-s) H_p&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where $s \in [0,1]$. Details about AQC: &lt;a href=&quot;http://arxiv.org/abs/quant-ph/0001106v1&quot; rel=&quot;nofollow&quot;&gt;http://arxiv.org/abs/quant-ph/0001106v1&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="12442" LastEditorUserId="12442" LastEditDate="2014-05-02T21:50:54.077" LastActivityDate="2014-05-21T20:17:29.640" Title="Generating quadratic optimization problems amenable to quantum annealing" Tags="&lt;reference-request&gt;&lt;optimization&gt;&lt;quantum-computing&gt;" AnswerCount="0" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="22200" PostTypeId="1" AcceptedAnswerId="22207" CreationDate="2014-04-20T16:47:42.480" Score="7" ViewCount="426" Body="&lt;p&gt;How is the &lt;a href=&quot;http://en.wikipedia.org/wiki/Property_testing&quot;&gt;Property testing &lt;/a&gt; is related to &lt;a href=&quot;http://en.wikipedia.org/wiki/Probably_approximately_correct_learning&quot;&gt;PAC&lt;/a&gt; model of learning?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More precisely, &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let we have given a property tester, $\mathcal{A}$, for the (concept) class of function $\mathcal{F_n}$  which receives as input a size parameter $n$ (labeled input $(x_1,f(x_1)), (x_2,f(x_2)),...,(x_n,f(x_n))$), distance parameter $0&amp;lt;\epsilon&amp;lt;1$,  confidence interval $0&amp;lt;\delta&amp;lt;1/2$, and does the following:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;-if $f\in \mathcal{F_n}$, then with probability probability $(1-\delta)$ (over the choice of $x_i$'s) $\mathcal{A}$ accepts $f$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;-if $f$ is $\epsilon$-far from $\mathcal{F_n}$, then with probability probability $(1-\delta)$ (over the choice of $x_i$'s) $\mathcal{A}$ rejects $f$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, I have following two questions:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) Now, how this tester $\mathcal{A}$ can be used to generate learning algorithm (under PAC learning model) for the concept class $\mathcal{F_n}$, and vice versa. And how does VC-dim of $\mathcal{F_n}$ plays role in the reduction.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) Can we give some sort of characterization (for example, on the basis of VC-dim) over the concept class for which  testing is easier/harder than  learning?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Pls let me know if I am not able to put the question clearly.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks.&lt;/p&gt;&#xA;" OwnerUserId="22594" LastEditorUserId="80" LastEditDate="2014-04-20T21:01:37.387" LastActivityDate="2014-04-21T00:48:32.487" Title="Is testing easier/harder than learning?" Tags="&lt;machine-learning&gt;&lt;property-testing&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="22201" PostTypeId="1" CreationDate="2014-04-20T16:49:37.620" Score="11" ViewCount="494" Body="&lt;p&gt;Does anyone know if there is an implementation of Cook-Levin?&lt;br /&gt;&#xA;A program that gets an input like the following:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;span class=&quot;math-container&quot;&gt;$M$&lt;/span&gt;: the code of a machine model/simple program in a programming language like C,&lt;/li&gt;&#xA;&lt;li&gt;&lt;span class=&quot;math-container&quot;&gt;$\vec{n}$&lt;/span&gt;: binary integers for the size of the inputs (in bits),&lt;/li&gt;&#xA;&lt;li&gt;&lt;span class=&quot;math-container&quot;&gt;$t$&lt;/span&gt;: a binary integer as a bound on the number of steps (if it is needed),&lt;/li&gt;&#xA;&lt;li&gt;&lt;span class=&quot;math-container&quot;&gt;$m$&lt;/span&gt;: a binary integer as a bound on the amount of memory (if it is needed),&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;and outputs a Boolean circuit &lt;span class=&quot;math-container&quot;&gt;$C$&lt;/span&gt; that computes &lt;span class=&quot;math-container&quot;&gt;$M$&lt;/span&gt; on inputs of size &lt;span class=&quot;math-container&quot;&gt;$\vec{n}$&lt;/span&gt;?&lt;/p&gt;&#xA;&lt;p&gt;Or a compiler from simple programs in a language like C to Turing machines,&#xA;plus an implementation of Cook-Levin for Turing machines.&lt;/p&gt;&#xA;&lt;p&gt;By a simple program in C I mean a program that does not use libraries&#xA;(using standard computational libraries can be fine), i.e.&#xA;computes a function of its inputs and&#xA;does not interact with the environment (file system, network, other processes, ...).&lt;/p&gt;&#xA;&lt;hr /&gt;&#xA;&lt;h3&gt;Motivation:&lt;/h3&gt;&#xA;&lt;p&gt;Sometimes we want to turn instances of other NP problems into SAT instances&#xA;so we can run SAT solvers on them.&#xA;In place of writing a reduction program for each NP problem&#xA;we can use an implementation of Cook-Levin plus the code of a verifier for the NP problem.&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2021-05-23T01:49:05.303" Title="Are there any implementations of Cook-Levin?" Tags="&lt;cc.complexity-theory&gt;&lt;software&gt;&lt;cook-levin&gt;" AnswerCount="0" CommentCount="9" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="22203" PostTypeId="1" CreationDate="2014-04-20T21:38:36.907" Score="0" ViewCount="701" Body="&lt;p&gt;I am finishing a masters program this year and I'm interested in doing a Ph.D. in the field of Artificial Intelligence. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have an idea I've been tinkering with for a while, but some people have told me that it is not ambitious enough for Ph.D.-level research. I'm not sure if this is because the TCS community already knows all there is to know about it or because I have failed to express myself adequately (bad sales pitch). Based on what I could find online, not all that much has been done. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, I am going to describe what I thought about doing and I would like to ask if you think this is a promising start idea and if it has the potential to lead to something graduate-level worthy.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I want to research efficient and reliable ways to implement a distributed system that can identify entities based on data collected from its users. To give a concrete example of this, I am going to use the &lt;a href=&quot;http://en.wikipedia.org/wiki/Twenty_Questions&quot; rel=&quot;nofollow&quot;&gt;20 questions game&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Existing implementations of this can be found at &lt;a href=&quot;http://www.20q.net/&quot; rel=&quot;nofollow&quot;&gt;http://www.20q.net/&lt;/a&gt; and &lt;a href=&quot;http://www.akinator.com/&quot; rel=&quot;nofollow&quot;&gt;http://www.akinator.com/&lt;/a&gt; however these are closed: no official details whatsoever on how they do it exist anywhere that I can find (&lt;strong&gt;subquestion&lt;/strong&gt;: in general, if someone does something but does not publish how it's done, how worthy is (much) later research that explains how it can be done?). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are also no details on the required processing power (performance can easily be seen to be very good, although also hard to quantify exactly - is this because they're smart about whatever it is they do or because they run the site on supercomputers?) and the reliability (how often they guess right, under what circumstances etc.) of these systems. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course, one can say &quot;use neural networks&quot;, &quot;use bayesian classifiers&quot;, &quot;use KNN&quot;, &quot;use this special form of decision trees: ____&quot;, but how well will these work (is it that obvious that they even will?), how exactly they need to be implemented to work efficiently and reliably, how they can be implemented in a distributed manner that is accesible and cheap (for example, if they could be implemented efficiently using widely-used relational databases such as MySQL, that would be great), how they can be tailored to learn from user inputs and probably other factors seem to be up for research.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem is more complicated than it seems I feel, because players can also lie, and you'll notice akinator will guess right in many of those cases as well - so it's not so easy as using a decision tree. As for the other approaches, many questions arise as well, such as scalability, reliability and exact mechanics that are provably best (or at least better than most others) for this specific problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;At first, based on what I read online, the problem did not seem too complicated, but when I thought and learned more about what people were suggesting, I quickly started to find various flaws. Then I started to write code and noticed even more potential shortcomings, so now I feel that the problem has a lot more that can be learned from it than trivial implementations of various existing concepts.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does this have any potential or should I start looking someplace else entirely?&lt;/p&gt;&#xA;" OwnerUserId="867" LastActivityDate="2014-09-18T00:10:54.893" Title="Are aspects of the 20 questions game ambitious enough for graduate research?" Tags="&lt;soft-question&gt;&lt;advice-request&gt;&lt;research-practice&gt;" AnswerCount="1" CommentCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="22204" PostTypeId="2" ParentId="22203" CreationDate="2014-04-20T22:13:24.973" Score="1" Body="&lt;p&gt;A PhD thesis should have references to the published literature and should be extending results in that literature.  So it is important to be able to say, these serious researchers did something but we do something they either were not able to do, or at least did not think of doing or did not have time to do, but would want to do. &lt;/p&gt;&#xA;" OwnerUserId="1993" LastActivityDate="2014-04-20T22:13:24.973" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="22206" PostTypeId="1" AcceptedAnswerId="22208" CreationDate="2014-04-21T00:37:53.310" Score="3" ViewCount="195" Body="&lt;p&gt;Consider the following set.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$S_n =\{ (x,y) ~|~x \in \mathbb{Z}_+~\wedge~ y \in \{0,1\}^n ~\wedge~x=\sum_{i=0}^{n-1} 2^i y_i \}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$S_n$ is a collection of pairs $(x,y)$, where $x$ is an integer between 0 and $2^n-1$ and $y$ is its binary representation. I'm interested in the convex hull of $S_n$; you can call it $P_n$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Has $P_n$ been studied before? Does it admit a compact extended formulation?&lt;/p&gt;&#xA;" OwnerUserId="13056" LastActivityDate="2014-05-30T14:04:16.590" Title="What is known about this binary representation polytope?" Tags="&lt;linear-programming&gt;&lt;integer-programming&gt;&lt;polytope&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22207" PostTypeId="2" ParentId="22200" CreationDate="2014-04-21T00:48:32.487" Score="11" Body="&lt;p&gt;If the learning algorithm is proper (i.e. it always produces a hypothesis from the class $F_n$), then it also gives a testing algorithm -- simply run the learning algorithm, and see whether the hypothesis it produced has error rate $&amp;lt;\epsilon$, which can be done with only $\approx 1/\epsilon^2$ samples. If it does, since the hypothesis is in $F_n$, this is a constructive proof that the function you are testing has distance at most $\epsilon$ from $F_n$. If the algorithm was a PAC learning algorithm for $F_n$, then when $f \in F_n$, it must generate such a hypothesis. So any proper learning algorithm can be converted to a testing algorithm with only an additional $\approx 1/\epsilon^2$ samples at most. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Moreover, if you are only worried about sample complexity and not computational efficiency, then without loss of generality you can always use a proper PAC learning algorithm. Since the sample complexity of learning is $\mathrm{VCDIM}(F_n)/\epsilon^2$, this means you can always test with at most this many samples. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, generally testing is easier than learning. For example, linear functions in $d$ dimensions require $d$ samples to learn, but only a constant number of samples to test. &lt;/p&gt;&#xA;" OwnerUserId="25" LastActivityDate="2014-04-21T00:48:32.487" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="22208" PostTypeId="2" ParentId="22206" CreationDate="2014-04-21T02:38:25.103" Score="6" Body="&lt;p&gt;I think $S_n$ can be written in terms of inequalities in the obvious way. Let&#xA;$$&#xA;Q_n = \{(x, y): x = \sum_{i = 0}^{n-1}{2^i y_i}, \forall i: 0 \leq y_i \leq 1\}.&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I claim that $Q_n = S_n$. First, obviously all $(x, y) \in S_n$ are also in $Q_n$, so $S_n \subseteq Q_n$. Second, fix a point $(x^*, y^*) \in Q_n$. Consider the probability distribution over $\{0, 1\}^n$ induced by picking $y_i = 1$ with probability  $y^*_i$, independently for each $i$. If $y$ is sampled from that distribution, then, by linearity of expectation,&#xA;$$&#xA;\mathbb{E}\ x = \mathbb{E} \sum_{i = 0}^{n-1}{2^i y_i} = \sum_{i = 0}^{n-1}{2^i y^*_i} = x^*.&#xA;$$&#xA;Therefore $(x^*, y^*)$ is in the convex hull of $S_n$, which proves $Q_n \subseteq S_n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;BTW, this didn't really use anything special about $S_n$. Whenever you have the convex hull of the set $\{(x, y): y \in S, x = Ay\}$, and the convex hull of $S$ has a concise extended formulation, the same thing will work. The main point is that $x$ is a linear function of $y$. Here we used the fact that the cube $[0, 1]^n$ has a very easy formulation in terms of inequalities.&lt;/p&gt;&#xA;" OwnerUserId="4896" LastEditorUserId="4896" LastEditDate="2014-05-30T14:04:16.590" LastActivityDate="2014-05-30T14:04:16.590" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22212" PostTypeId="1" CreationDate="2014-04-21T13:49:20.993" Score="0" ViewCount="38" Body="&lt;p&gt;Let $g$ be a generator of a group of prime order $p$; $a,b ∈_R Z_p^+$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider an Algorithm $\mathcal{A}$ which on input $g,g^a,g^{ab}$ outputs $g^{br},r$, for some non zero $r ∈ Z_p$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;And an algorithm $\mathcal{B}$ which on the same inputs, $g,g^a,g^{ab}$, outputs $a^{-1}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can I claim the algorithms $\mathcal{A} \equiv \mathcal{B}$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;While it's trivial to construct $\mathcal{A}$ using $\mathcal{B}$, can we also construct a $\mathcal{B}$ using $\mathcal{A}$?&lt;/p&gt;&#xA;" OwnerUserId="17325" LastEditorUserId="17325" LastEditDate="2014-04-23T06:52:33.043" LastActivityDate="2014-04-26T19:30:59.030" Title="On Equivalence of &quot;gen-CONF&quot; problem and &quot;DH-exp-inv&quot; problem" Tags="&lt;reductions&gt;" AnswerCount="0" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="22214" PostTypeId="2" ParentId="22191" CreationDate="2014-04-21T15:37:17.053" Score="12" Body="&lt;p&gt;blog preferences tend to be highly personal in contrast to other sometimes-definitive TCS resources eg books. however there are two standout/ leading/ popular TCS blogs already cited, lively and highly active for many years, with some background/profiles. both blogs have extensive indexes to other leading TCS blogs. both experts/teachers/leaders in TCS with many published papers, and very much involved with promoting TCS to the wider community eg through popular books. note both have also joined/contributed to tcs.se. maybe not coincidentally (and in &lt;a href=&quot;https://cstheory.meta.stackexchange.com/questions/274/is-it-ok-to-ask-about-the-correctness-of-preprints-on-crank-friendly-topics&quot;&gt;some contrast&lt;/a&gt; to this site) they do not shy away and are both quite keen on discussing key or famous open problems in the field eg P=?NP. blog comments are open and an interesting/diverse part of the blogs. they routinely cover important proofs in the field. Lipton was closely involved with the cyberspatial peer review of the Deolalikar attack years ago.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://rjlipton.wordpress.com/&quot; rel=&quot;nofollow noreferrer&quot;&gt;RJ Lipton P=?NP blog&lt;/a&gt; by &lt;a href=&quot;http://www.scs.gatech.edu/features/career-solution&quot; rel=&quot;nofollow noreferrer&quot;&gt;Lipton&lt;/a&gt; also cowritten by Regan. author of &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/3642414214&quot; rel=&quot;nofollow noreferrer&quot;&gt;People, Problems &amp;amp; Proofs&lt;/a&gt; and &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/1441971548&quot; rel=&quot;nofollow noreferrer&quot;&gt;The P=NP question and Godel's lost letter&lt;/a&gt;. (&lt;a href=&quot;https://cstheory.stackexchange.com/users/2825/dick-lipton&quot;&gt;tcs.se profile&lt;/a&gt;). Lipton is also an expert in deep mathematics eg number theory, group theory etc &amp;amp; regularly ties it into TCS.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://blog.computationalcomplexity.org/&quot; rel=&quot;nofollow noreferrer&quot;&gt;computational complexity&lt;/a&gt; by &lt;a href=&quot;http://www.cc.gatech.edu/features/fortnow&quot; rel=&quot;nofollow noreferrer&quot;&gt;Fortnow&lt;/a&gt; with contributions by Gasarch. author of &lt;a href=&quot;http://goldenticket.fortnow.com/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Golden Ticket, P, NP &amp;amp; the search for the impossible&lt;/a&gt;. (&lt;a href=&quot;https://cstheory.stackexchange.com/users/550/lance-fortnow&quot;&gt;tcs.se profile&lt;/a&gt;). Fortnow also is a comprehensive reviewer of &quot;favorite great TCS theorems of last decade.&quot; Gasarch has done useful/comprehensive community polls on P=?NP.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;another well-read, leading/striking blog is Aaronsons &quot;Shtetl optimized&quot;. Aaronson sometimes writes longer essays, quite passionately at times, and can sometimes be quite opinionated and polemical. comment sections are very lively and occasionally intense. a strong focus on quantum computing.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.scottaaronson.com/blog/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Shtetl Optimized&lt;/a&gt;. author of &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0521199565&quot; rel=&quot;nofollow noreferrer&quot;&gt;Quantum computing since Democritus&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2014-04-21T15:43:17.610" CommentCount="2" CommunityOwnedDate="2014-04-21T15:37:17.053" ContentLicense="CC BY-SA 3.0" />
  <row Id="22215" PostTypeId="1" CreationDate="2014-04-21T17:00:28.883" Score="2" ViewCount="105" Body="&lt;p&gt;How does hardness plays role in testability?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Intuitively, it seems that for the problems which have exact efficient algorithm, there is more hope to get constant query (or, relatively a small number of queries) testing algorithm (in &lt;a href=&quot;http://en.wikipedia.org/wiki/Property_testing&quot; rel=&quot;nofollow&quot;&gt;property testing&lt;/a&gt; framework). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;But here is the counterexample, testing if a graph is $k$-colorable &#xA;(which is a hard problem) there is a constant query testing algorithm (see &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.15.4694&quot; rel=&quot;nofollow&quot;&gt;paper&lt;/a&gt;), while for testing if given numbers are sorted $O(\frac{1}{\epsilon}\lg n)$ queries are required (see &lt;a href=&quot;http://www.eccc.hpi-web.de/report/1999/017/&quot; rel=&quot;nofollow&quot;&gt;paper&lt;/a&gt;) . &lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, does hardness plays any role in testability, or is completely orthogonal to it?&lt;/p&gt;&#xA;" OwnerUserId="22594" LastActivityDate="2014-04-21T17:00:28.883" Title="Hardness vs testability ?" Tags="&lt;property-testing&gt;" AnswerCount="0" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="22216" PostTypeId="2" ParentId="22174" CreationDate="2014-04-21T19:19:07.110" Score="2" Body="&lt;p&gt;I found one related consequence.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let's say $NEXP$ contains $DTIME(2^{O(t)})$, where $t = n^{\omega(1)}$.  It turns out this is just enough time to diagonalize against $P/poly$.  Specifically, build the following machine:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On input $x$ of length $n$, consider the $n^{th}$ Turing machine $M$.  For every possible advice string of length $t$ &lt;em&gt;and&lt;/em&gt; every possible bitstring $b$ of length $n$, run $M$ on $b$ with advice $a$, and reject after $t$ steps if you haven't accepted yet.  Record your results in a table.  This procedure runs in $DTIME(2^{O(t)})$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On input $0^n$, if at least half the advice strings cause $M$ to reject, then instead we define it to be correct for our algorithm to accept (otherwise, it is correct for our algorithm to reject).  Any advice strings that caused $M$ to get $0^n$ wrong (that is, at least half the advice strings) now get thrown out of the table.  We then repeat the process on input $0^{n-1}1$: if at least half the &lt;em&gt;surviving&lt;/em&gt; advice strings cause $M$ to reject, then our algorithm will accept (and reject otherwise).  Continue like this for all inputs of length $n$ (although really, only $t$ of them are needed - after that many inputs, we have thrown out all possible advice strings).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Clearly this language can be decided in $DTIME(2^{O(t)})$, which we have assumed is in $NEXP$.  On the other hand, it cannot be in $P/Poly$: the set of length $n$ inputs diagonalizes against the prospect of $M_n$ being used to decide the language.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So we get $NEXP \not \subset P/poly$, which would be interesting.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm going to leave the question open in case someone comes up with something else.&lt;/p&gt;&#xA;" OwnerUserId="11051" LastActivityDate="2014-04-21T19:19:07.110" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22217" PostTypeId="2" ParentId="22191" CreationDate="2014-04-21T19:26:46.863" Score="12" Body="&lt;p&gt;It is not active anymore, but Mihai Patrascu's &quot;&lt;a href=&quot;http://infoweekly.blogspot.com&quot;&gt;WebDiarios de Motocicleta&lt;/a&gt;&quot; blog is one of my all-time favorites. Highly recommended especially to those new to the TCS community. &lt;/p&gt;&#xA;" OwnerUserId="317" LastActivityDate="2014-04-21T19:26:46.863" CommentCount="0" CommunityOwnedDate="2014-04-21T19:26:46.863" ContentLicense="CC BY-SA 3.0" />
  <row Id="22220" PostTypeId="1" CreationDate="2014-04-22T10:32:50.773" Score="8" ViewCount="232" Body="&lt;p&gt;For a class $\mathcal{C}$ of permutations, we cannot expect to sort the permutations of $\mathcal{C}$ with less than $O(\log |\mathcal{C}_n|)$ comparisons, where by convention $\mathcal{C}_n := \mathcal{C} \cap S_n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In particular, when $\mathcal{C}$ is closed by subpatterns, it follows by Marcus-Tardos theorem (refined by J. Fox) that $|\mathcal{C}_n| \leq C^n$ where $C$ is the &lt;em&gt;Stanley-Wilf constant&lt;/em&gt; of $\mathcal{C}$. This leads to the following question: is it possible to sort such a class using at most $O(n \log C)$ comparisons? This question is a strengthening of Question 1 in the paper '&lt;a href=&quot;http://epubs.siam.org/doi/pdf/10.1137/1.9781611972979.1&quot;&gt;Fast Sorting and Pattern-avoiding Permutations&lt;/a&gt;' by D. Arthur.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It seems possible to represent such a sorting strategy by a &lt;em&gt;binary tree&lt;/em&gt; which would essentially mimic an 'unbalanced' merge-sort algorithm. Here is the idea: given a permutation $\pi$, we would look for a tree $T_{\pi}$ leaf-labeled by the points of $\pi$, such that for each node $u$ of $T_{\pi}$ the 'overlap' between the two child subtrees would be $O(\log C)$ (either worst-case or on average). However I suspect that a more involved structure is necessary to solve this problem; should it admit a positive solution.&lt;/p&gt;&#xA;" OwnerUserId="21714" LastEditorUserId="4896" LastEditDate="2014-04-22T11:48:53.007" LastActivityDate="2014-04-25T16:10:23.340" Title="Hierarchical sorting strategies for pattern-avoiding permutations?" Tags="&lt;ds.algorithms&gt;&lt;sorting&gt;&lt;permutations&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="22224" PostTypeId="1" CreationDate="2014-04-22T18:55:45.087" Score="14" ViewCount="2701" Body="&lt;p&gt;What are the typical careers for theoretical computer scientists (people with graduate degree in theoretical computer science)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What kind of industries and institutions look for theoretical computer science knowledge?&#xA;What careers do theoretical computer scientists typically peruse?&lt;/p&gt;&#xA;" OwnerUserId="22622" LastEditorUserId="186" LastEditDate="2014-04-23T15:06:30.493" LastActivityDate="2014-04-23T15:06:30.493" Title="Careers for theoretical computer scientists" Tags="&lt;soft-question&gt;&lt;career&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="22226" PostTypeId="2" ParentId="22191" CreationDate="2014-04-23T00:46:28.200" Score="43" Body="&lt;p&gt;It might come as no surprise, but there is a substantial overlap between cstheory Q&amp;amp;A power-users and the blogosphere. We even had a &lt;a href=&quot;http://cstheory.blogoverflow.com/&quot; rel=&quot;noreferrer&quot;&gt;dedicated blog&lt;/a&gt; for a while, with some great posts but it fell into disuse. However, I thought I would list some of the blogs run by our &lt;a href=&quot;https://cstheory.stackexchange.com/users?tab=Reputation&amp;amp;filter=all&quot;&gt;top 38 users&lt;/a&gt; that have had new posts since 2012:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;David Eppstein's &lt;strong&gt;&lt;a href=&quot;https://11011110.github.io/blog/&quot; rel=&quot;noreferrer&quot;&gt;0xDE&lt;/a&gt;&lt;/strong&gt;: graph-theory and algorithms.&lt;/li&gt;&#xA;&lt;li&gt;Suresh Venkatasubramanian's &lt;strong&gt;&lt;a href=&quot;http://geomblog.blogspot.com/&quot; rel=&quot;noreferrer&quot;&gt;The Geomblog&lt;/a&gt;&lt;/strong&gt;: computational geometry, algorithms, and discussions of academic life.&lt;/li&gt;&#xA;&lt;li&gt;Jeff Erickson's &lt;strong&gt;&lt;a href=&quot;http://3dpancakes.typepad.com/&quot; rel=&quot;noreferrer&quot;&gt;Ernie's 3D Pancakes&lt;/a&gt;&lt;/strong&gt;: computational topology, and community announcements.&lt;/li&gt;&#xA;&lt;li&gt;Neel Krishnaswami's &lt;strong&gt;&lt;a href=&quot;http://semantic-domain.blogspot.com/&quot; rel=&quot;noreferrer&quot;&gt;Semantic Domain&lt;/a&gt;&lt;/strong&gt;: programming languages, logic, and formal languages.&lt;/li&gt;&#xA;&lt;li&gt;Joe Fitzsimons's &lt;strong&gt;&lt;a href=&quot;http://blog.jfitzsimons.org/&quot; rel=&quot;noreferrer&quot;&gt;Quantized Thoughts&lt;/a&gt;&lt;/strong&gt;: quantum information and computation, theoretical physics, and community building.&lt;/li&gt;&#xA;&lt;li&gt;Andrej Bauer's &lt;strong&gt;&lt;a href=&quot;http://math.andrej.com/&quot; rel=&quot;noreferrer&quot;&gt;Mathematics and Computation&lt;/a&gt;&lt;/strong&gt;: HoTT, logic, category theory, and philosophy of math.&lt;/li&gt;&#xA;&lt;li&gt;András Salamon's &lt;strong&gt;&lt;a href=&quot;http://constraints.wordpress.com/&quot; rel=&quot;noreferrer&quot;&gt;Constraints&lt;/a&gt;&lt;/strong&gt;: computational complexity through the lens of constraint satisfaction.&lt;/li&gt;&#xA;&lt;li&gt;Marzio De Biasi's &lt;strong&gt;&lt;a href=&quot;http://www.nearly42.org/&quot; rel=&quot;noreferrer&quot;&gt;... nearly 42 ...&lt;/a&gt;&lt;/strong&gt;: computational complexity highlighted through NP-completeness and puzzles.&lt;/li&gt;&#xA;&lt;li&gt;Scott Aaronson's &lt;strong&gt;&lt;a href=&quot;http://www.scottaaronson.com/blog/&quot; rel=&quot;noreferrer&quot;&gt;Shtetl-Optimized&lt;/a&gt;&lt;/strong&gt;: computational complexity, with a primary focus on quantum computing, philosophy, humour, and community building.&lt;/li&gt;&#xA;&lt;li&gt;Lev Reyzin's &lt;strong&gt;&lt;a href=&quot;http://levreyzin.blogspot.com/&quot; rel=&quot;noreferrer&quot;&gt;Room for Doubt&lt;/a&gt;&lt;/strong&gt;: theory and practice of machine learning, and academic life.&lt;/li&gt;&#xA;&lt;li&gt;Noam Nisan's &lt;strong&gt;&lt;a href=&quot;http://agtb.wordpress.com/&quot; rel=&quot;noreferrer&quot;&gt;Turing's Invisible Hand&lt;/a&gt;&lt;/strong&gt;: computational economics, algorithmic game theory, and community building.&lt;/li&gt;&#xA;&lt;li&gt;Sariel Har-Peled's &lt;strong&gt;&lt;a href=&quot;http://sarielhp.org/blog/&quot; rel=&quot;noreferrer&quot;&gt;Vanity of Vanities, all is Vanity&lt;/a&gt;&lt;/strong&gt;: computational geometry, and general social and academic commentary.&lt;/li&gt;&#xA;&lt;li&gt;Shiva Kintali's &lt;strong&gt;&lt;a href=&quot;http://kintali.wordpress.com/&quot; rel=&quot;noreferrer&quot;&gt;My Brain is Open&lt;/a&gt;&lt;/strong&gt;: computational complexity, polyhedral combinatorics, algorithms, and graph theory.&lt;/li&gt;&#xA;&lt;li&gt;Artem Kaznatcheev's &lt;strong&gt;&lt;a href=&quot;http://egtheory.wordpress.com/&quot; rel=&quot;noreferrer&quot;&gt;Theory, Evolution, and Games Group&lt;/a&gt;&lt;/strong&gt;: evolutionary game theory, and algorithmic lens on evolution, learning and philosophy.&lt;/li&gt;&#xA;&lt;li&gt;Hsien-Chih Chang's &lt;strong&gt;&lt;a href=&quot;http://finiteplayground.wordpress.com/&quot; rel=&quot;noreferrer&quot;&gt;Finite Playground&lt;/a&gt;&lt;/strong&gt;: bilingual blog on computational complexity, formal languages, and concrete math.&lt;/li&gt;&#xA;&lt;li&gt;Aaron Sterling's &lt;strong&gt;&lt;a href=&quot;http://nanoexplanations.wordpress.com/&quot; rel=&quot;noreferrer&quot;&gt;Nanoexplanations&lt;/a&gt;&lt;/strong&gt;: distributed computing, chemoinformatics, and general social commentary.&lt;/li&gt;&#xA;&lt;li&gt;Lance Fortnow and Bill Gasarch's &lt;strong&gt;&lt;a href=&quot;http://blog.computationalcomplexity.org/&quot; rel=&quot;noreferrer&quot;&gt;Computational Complexity &lt;/a&gt;&lt;/strong&gt;: Computational Complexity and other fun stuff in math and computer science.&lt;/li&gt;&#xA;&lt;li&gt;Emanuele Viola's &lt;strong&gt;&lt;a href=&quot;http://emanueleviola.wordpress.com/&quot; rel=&quot;noreferrer&quot;&gt;Thoughts&lt;/a&gt;&lt;/strong&gt;: computational complexity and general commentary -- started Summer 2014.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="1037" LastEditorUserId="1037" LastEditDate="2018-08-02T15:47:43.490" LastActivityDate="2018-08-02T15:47:43.490" CommentCount="3" CommunityOwnedDate="2014-04-23T00:46:28.200" ContentLicense="CC BY-SA 4.0" />
  <row Id="22228" PostTypeId="1" CreationDate="2014-04-23T03:56:26.100" Score="7" ViewCount="220" Body="&lt;p&gt;Compilers like GHC for Haskell use inlining as one of its most important optimising tools. Doing that is not possible for recursive functions, in general. A few techniques have been developed to amend this problem, such as Stream Fusion, which allow the combination of list consuming/producing functions. Those techniques require specialised, specific algorithms and only work for a restricted set of recursive functions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is: what determines which recursive functions can, and which recursive functions can not be fused that way? Is there a programming system with well-behaved recursion where any arbitrary function could be fused this way?&lt;/p&gt;&#xA;" OwnerUserId="17388" LastActivityDate="2014-04-23T03:56:26.100" Title="Is there a programming language where any arbitrary recursive function can be fused?" Tags="&lt;ds.algorithms&gt;&lt;pl.programming-languages&gt;&lt;computability&gt;&lt;optimization&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="22229" PostTypeId="2" ParentId="10627" CreationDate="2014-04-23T07:45:26.267" Score="13" Body="&lt;p&gt;You don't need to calculate the variance to prove the concentration of tw(G(n,p)) around its expectation. If two graphs G' and G differ by one vertex then their treewidth differs by at most one. You can use the standard method, the Hoeffding-Azuma inequality applied to the vertex exposure martingale to show, for example,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\mathbb{P}( | tw(G(n,p)) - \mathbb{E} tw(G(n,p))| &amp;gt; t) \le 3 e^{- t^2/(2 n)}$,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;so the above probability tends to 0, if, say $t = n^{0.51}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The method was first applied to prove concentration for the chromatic number of $G(n,p)$. See B. Bollobás, Random graphs. Springer New York, 1998, page 298.&lt;/p&gt;&#xA;" OwnerUserId="22631" LastEditorUserId="22631" LastEditDate="2014-04-23T08:14:59.247" LastActivityDate="2014-04-23T08:14:59.247" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22230" PostTypeId="1" CreationDate="2014-04-23T10:01:08.203" Score="1" ViewCount="89" Body="&lt;p&gt;Solving parity games (from a &quot;start&quot; node) relies on the existence of a history-free winning strategy for player 0 (V) or 1 (R). Whether there is more than one such strategy is probably never discovered, is it? Are there algorithms to keep searching even after discovering one appropriate strategy, i.e. searching for more than one (say all possible) strategies? &lt;/p&gt;&#xA;" OwnerUserId="19583" LastActivityDate="2014-04-26T08:55:34.550" Title="Do algorithms for solving parity games ignore other possible strategies for player V after finding one?" Tags="&lt;lo.logic&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="22232" PostTypeId="1" CreationDate="2014-04-23T11:48:25.533" Score="0" ViewCount="133" Body="&lt;p&gt;Let $G$ be a complete graph edge-colored with $k$ colors. We say that $G$ is &lt;em&gt;Gallai-colored&lt;/em&gt; if no triangle is colored with three distinct colors. Fix a tuple of integers $c = (c_1,\ldots,c_k)$. We may then define the polytope $\mathcal{P}(G) \subseteq \mathbf{R}^V$ by:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;$0 \leq f(x)$ for every $x \in V$,&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;$\sum_{x \in S} f(x) \leq c_i$ for every monochromatic set $S$ with color $i$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;We say that $G$ is &lt;em&gt;perfectly Gallai-colored&lt;/em&gt; if the polytope $\mathcal{P}(G)$ is integral for every tuple $c$ with integral values. In particular, for two colors it includes graphs for which the clique-packing / independent-packing problems are LP-solvable. Among those are the comparability and co-comparability graphs, as this should follow by the Greene-Kleitman theorem if I'm correct.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have two questions in this respect:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(1) Are there existing references to this class in the literature?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(2) Is this class closed under the operation of substitution? If true this would imply that a completely decomposable colored graph is perfectly-Gallai colored. This would generalize the fact that a cograph is both comparability and co-comparability.&lt;/p&gt;&#xA;" OwnerUserId="21714" LastActivityDate="2014-04-23T11:48:25.533" Title="An interesting class of colored graphs?" Tags="&lt;reference-request&gt;&lt;graph-colouring&gt;&lt;polytope&gt;" AnswerCount="0" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="22233" PostTypeId="1" CreationDate="2014-04-23T13:06:59.963" Score="2" ViewCount="122" Body="&lt;p&gt;Consider a set $S \subseteq \Sigma^n$ where $\Sigma$ is a finite alphabet and $p : \Sigma \rightarrow [0,1]$ is a probability function. Let $T$ be a tree leaf-labeled by the elements of $S$. Consider the following random process which labels the nodes of $T$ in a bottom-up order. Given an unlabeled node $x$ whose children $y,z$ have been labeled with words $w_y,w_z$, we assign to $x$ a word $w_x$ as follows:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;For each $i \in [n]$:&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;(1) if $w_y[i], w_z[i]$ are equal to the same letter $a$, then set $w_x[i]$ to $a$;&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;(2) if $w_y[i], w_z[i]$ are equal to different values $a,b$, then set $w_x[i]$ to $a$ with prob. $p(a)/(p(a)+p(b))$, and to $b$ otherwise.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Let $w_r$ be the random word assigned to the root at the end of this process. Can we devise a polynomial-time strategy to maximize $Var(w_r) = \sum_{i \in [n]} Var(w_r[i])$? This could be done either 'globally' (by constructing the tree at once) or 'online' (by selecting a 'locally optimal' matching for each generation).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The intuition is that a node $u$ represents a 'genetic group' which profiles is described by the distribution of $w_u$, and that we would try to mix groups at each generation in order to maximize the genetic diversity. This is probably NOT desirable in practice due to the possible effects of dominant/recessive mutations.&lt;/p&gt;&#xA;" OwnerUserId="21714" LastEditorUserId="21714" LastEditDate="2014-04-29T13:42:27.060" LastActivityDate="2014-04-29T13:42:27.060" Title="How to find a merge tree for a set of words?" Tags="&lt;ds.algorithms&gt;&lt;pr.probability&gt;&lt;tree&gt;" AnswerCount="0" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="22234" PostTypeId="2" ParentId="22224" CreationDate="2014-04-23T14:26:25.710" Score="5" Body="&lt;p&gt;There are the obvious academic positions. Apart from that, many industrial research (or research-like) labs are very interested in hiring theoreticians who are comfortable applying theoretical foundations to solving problems as well as coming up with new theorems. Theoreticians also find positions (though may be not as many) in financial institutions as &quot;&lt;a href=&quot;http://en.wikipedia.org/wiki/The_Quants&quot;&gt;quants&lt;/a&gt;&quot;.&lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2014-04-23T14:26:25.710" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="22237" PostTypeId="1" AcceptedAnswerId="22239" CreationDate="2014-04-23T20:09:43.117" Score="5" ViewCount="879" Body="&lt;p&gt;Does &lt;a href=&quot;http://en.wikipedia.org/wiki/Dirac%27s_theorem&quot;&gt;Dirac's theorem on Hamiltonian cycles&lt;/a&gt; only apply for undirected graphs? If the theorem applied to directed graphs, the graph with the following adjacency list should have a Hamiltonian cycle, but I can't find one.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;$0$: $1$ $2$ $3$&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;$1$: $2$ $3$&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;$2$: $1$ $3$&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;$3$: $1$ $2$&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="21959" LastEditorUserId="4193" LastEditDate="2014-04-23T21:10:17.323" LastActivityDate="2014-04-28T21:23:57.780" Title="Does Dirac's theorem on Hamiltonian cycles only apply to undirected graphs?" Tags="&lt;graph-theory&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="22238" PostTypeId="1" CreationDate="2014-04-23T20:13:22.487" Score="2" ViewCount="173" Body="&lt;p&gt;I have a problem in which I need to find an optimal graph cut that maximizes an objective over weights not on the cut. I have looked at the literature but have not been able to find any similar problems to which I can map to. Perhaps someone can give some insight or point me to a similar problem from the graph theory literature.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem is as follows, given a fully connected graph $G=(V,E)$ with weights $w_i$ on the edges. Find a partition which removes edges $E_p$ $(E_p \subset E)$ to create exactly $k$ connected components that maximize an objective. A solution or mapping for $k=2$ should be good enough to get me started so I'll just formulate the problem for k=2. The partition seeks to maximize a function over the $2$ subgraphs $\frac{\sum\limits_{w \in W_1} w}{|S_1|}+\frac{\sum\limits_{w \in W_2} w}{|S_2|}$ where $W_1$ and $W_2$ are the set of edge weights for connected components $S_1$ and $S_2$. Without the cardinality normalization term this problem can be mapped to min-cut. There is some similarity here with the ratio cut problem which seeks to maximize $\frac{cut(S_1,S_2)}{|S_1|}+\frac{cut(S_1,S_2)}{|S_2|}$ but I have been unable to find any mapping between the problems. Any suggestions or key search terms would be helpful  &lt;/p&gt;&#xA;" OwnerUserId="22617" LastEditorUserId="22617" LastEditDate="2014-04-24T19:56:04.223" LastActivityDate="2014-04-24T19:56:04.223" Title="Graph partition with objective over intra-partition weights" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;np-hardness&gt;&lt;reductions&gt;&lt;partition-problem&gt;" AnswerCount="0" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="22239" PostTypeId="2" ParentId="22237" CreationDate="2014-04-23T21:06:00.247" Score="11" Body="&lt;p&gt;While Dirac's theorem wasn't intended/proved for directed graphs, it was extended to directed graphs by GHOUILA-HOURI in 1960 (&quot;Une condition suffisante d’existence d'un circuit hamiltonien&quot;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Their requirements, however, were that each vertex should have both out-degree &lt;strong&gt;and in-degree&lt;/strong&gt; of at least $n/2$, which is not the case in your graph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One of the original conditions of GHOUILA-HOURI, as Saeed mentioned, is that the graph is strongly connected. In fact, the degree conditions &lt;a href=&quot;https://cstheory.stackexchange.com/questions/22247/does-deltag-delta-g-geq-n-imply-strong-connectivity/22299#22299&quot;&gt;are strong enough&lt;/a&gt; for only diameter $\leq 2$ graphs to be considered.&lt;/p&gt;&#xA;" OwnerUserId="21001" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.743" LastActivityDate="2014-04-28T21:23:57.780" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22240" PostTypeId="2" ParentId="22013" CreationDate="2014-04-23T21:59:00.093" Score="-2" Body="&lt;p&gt;It is commonly admitted that strict constraints can be relaxed through a 'fuzzy' or 'statistical' framework, as suggested by the paper 'Fuzzy topology and order', Antarctica J. Math, 4(1) (2007), pp. 147-165. However, I believe that the 'half-integrality' suggested above should be sufficient for your concern, without resorting to a continuous spectrum of values.&lt;/p&gt;&#xA;" OwnerUserId="21714" LastActivityDate="2014-04-23T21:59:00.093" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="22241" PostTypeId="1" CreationDate="2014-04-23T23:10:27.687" Score="1" ViewCount="123" Body="&lt;p&gt;Suppose $X$ is a message which takes values on the set $\{x_1, \dots, x_m\}$ with probability distribution $P_X$. We transmit the message $X$ over  the channel $P_{Y|X}$ which outputs $Y$ taking values on finite alphabet $\mathcal{Y}$. Suppose we take $n$ independent samples from channel output; namely, $Y^n=(Y_1, Y_2, \dots, Y_n)$ with distribution $\prod_{i=1}^nP_{Y|X}(y_k|x)$ where $x$ is the message sent over the channel.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hence, we have $m$ distributions $\{P_{Y^n|X}(\cdot|x_1), \dots, P_{Y^n|X}(\cdot|x_m)\}$. I am looking for a deterministic randomness extractor which works for all of these $m$ distributions, that is, a randomness $Ext:\mathcal{Y^n}$ such that for given $Y^n$ distributed as one of these $m$ distribution $Ext(Y^n)$ is $\epsilon-$close to uniform distribution over $\{0,1\}^r$ (in total variation distance sense). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is the largest random bits that we can extract, i.e., the largest $r$? &#xA;Is that $\min_{x}H_{\infty}(P_{Y^n|X}(\cdot|x))$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The motivation of this comes from privacy.  &lt;/p&gt;&#xA;" OwnerUserId="21925" LastActivityDate="2016-04-13T13:52:43.987" Title="deterministic randomness extractor and privacy" Tags="&lt;cr.crypto-security&gt;&lt;randomness&gt;&lt;it.information-theory&gt;&lt;extractors&gt;&lt;privacy&gt;" AnswerCount="1" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="22247" PostTypeId="1" AcceptedAnswerId="22249" CreationDate="2014-04-24T13:32:33.837" Score="11" ViewCount="423" Body="&lt;p&gt;Denote by  &lt;span class=&quot;math-container&quot;&gt;$\delta^+(G)$&lt;/span&gt; the minimal out degree in &lt;span class=&quot;math-container&quot;&gt;$G$&lt;/span&gt;, and by &lt;span class=&quot;math-container&quot;&gt;$\delta^-(G)$&lt;/span&gt; the minimal in-degree.&lt;/p&gt;&#xA;&lt;p&gt;In a &lt;a href=&quot;https://cstheory.stackexchange.com/questions/22237/does-diracs-theorem-on-hamiltonian-cycles-only-apply-to-undirected-graphs&quot;&gt;related question&lt;/a&gt;, I've mentioned the Ghouila-Houri extension of &lt;a href=&quot;http://en.wikipedia.org/wiki/Dirac%27s_theorem&quot; rel=&quot;noreferrer&quot;&gt;Dirac's theorem on Hamiltonian cycles&lt;/a&gt;, which suggests that if &lt;span class=&quot;math-container&quot;&gt;$\delta^+(G),\delta^-(G) \geq \frac{n}{2}$&lt;/span&gt; then G is Hamiltonian.&lt;/p&gt;&#xA;&lt;p&gt;In his comment, Saeed have commented on a different extension that seems stronger, except it requires the graph to be strongly connected.&lt;/p&gt;&#xA;&lt;p&gt;The strong connectivity was &lt;a href=&quot;http://www.emis.de/journals/HOA/IJMMS/Volume14_4/875792.pdf&quot; rel=&quot;noreferrer&quot;&gt;proven redundant&lt;/a&gt; for the Ghouila-Houri theorem about 30 years after it was first published, and I was wondering if the same holds for the extension Saeed presented.&lt;/p&gt;&#xA;&lt;p&gt;So the question is:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Who proved (can anyone find the reference) that &lt;span class=&quot;math-container&quot;&gt;$\delta^+(G)+\delta^-(G) \geq n$&lt;/span&gt; implies &lt;span class=&quot;math-container&quot;&gt;$G$&lt;/span&gt; is Hamiltonian, given that &lt;span class=&quot;math-container&quot;&gt;$G$&lt;/span&gt; is strongly connected?&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Is the strong connectivity redundant here as well, i.e. Does &lt;span class=&quot;math-container&quot;&gt;$\delta^+(G)+\delta^-(G) \geq n$&lt;/span&gt; imply strong connectivity?&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;hr /&gt;&#xA;&lt;p&gt;(Note that while the graph obviously has to be strongly connected for it to be Hamiltonian, I'm asking whether this condition is implied by the degree conditions).&lt;/p&gt;&#xA;" OwnerUserId="21001" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2014-04-26T21:25:55.960" Title="Does $\delta^+(G)+\delta^-(G) \geq n$ imply strong connectivity?" Tags="&lt;reference-request&gt;&lt;graph-theory&gt;" AnswerCount="3" CommentCount="0" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="22249" PostTypeId="2" ParentId="22247" CreationDate="2014-04-24T14:45:28.620" Score="8" Body="&lt;p&gt;The variation that I suggested was actually slightly different variation of &lt;a href=&quot;http://www.ams.org/mathscinet-getitem?mr=0318000&quot; rel=&quot;nofollow noreferrer&quot;&gt;Woodal&lt;/a&gt; theorem. Perhaps I saw it in the &lt;a href=&quot;http://www.springer.com/new+&amp;amp;+forthcoming+titles+%28default%29/book/978-1-84800-997-4&quot; rel=&quot;nofollow noreferrer&quot;&gt;Bang-Jensen and Gutin&lt;/a&gt;'s book. At the time that I wrote a comment I didn't check the book for correctness. So to be sure I wrote the graph should be strongly connected. BTW, that statement holds because can be interpreted as a special case of Woodal theorem. In addition does not need strongly connectivity requirement.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is the theorem 6.4.6 from &lt;a href=&quot;http://www.springer.com/new+&amp;amp;+forthcoming+titles+%28default%29/book/978-1-84800-997-4&quot; rel=&quot;nofollow noreferrer&quot;&gt;Bang-Jensen and Gutin&lt;/a&gt;'s book:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Let $D$ be a digraph of order $n\ge 2$. If $\delta^+(x)+\delta^-(y) \ge n$ for all pairs of vertices $x$ and $y$ such that there is no arc&#xA;  from $x$ to $y$, then $D$ is hamiltonian.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;That means the answer to the second part of your question is also Yes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There was a doubt about that whether $n$ is a tight bound or not. Here I try to answer it. We cannot reduce the requirement of at least $n$ to $k&amp;lt;n$, consider the following graph. $a,b,c$ are making bidirected triangle, and $e,d$ are making a bidirected $k_2$. If hamiltonian cycle starts at $e$, it cannot go to $d$ in the next move because the only way for $d$ is using $b$ but, $b$ is the only way to back to $e$. On the other hand the Hamiltonian cycle after $e$ cannot go to $c$, because then the only back way to $e,d$ is going directly to $d$ to use $b$ in next moves, but again we are in the previous position. Also from the picture it's clear that every vertex has in and out degree at least $2$. So sum of every two arbitrary in-out is at least $4=5-1 = n-1$. We can extend these sort of graphs to arbitrary $n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/yxmrm.jpg&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;P.S1: Sure the aforementioned theorem holds for simple digraphs. i.e digraphs without loop or parallel edges.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;P.S2: I don't have a good Tex tool right now. So image is not good.&lt;/p&gt;&#xA;" OwnerUserId="1846" LastEditorUserId="1846" LastEditDate="2014-04-26T20:51:59.350" LastActivityDate="2014-04-26T20:51:59.350" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="22250" PostTypeId="1" AcceptedAnswerId="22259" CreationDate="2014-04-24T15:01:04.423" Score="5" ViewCount="548" Body="&lt;p&gt;I was going through &lt;a href=&quot;http://arxiv.org/abs/0908.4219&quot; rel=&quot;nofollow&quot;&gt;Fast Universal Quantum Computation with Railroad-switch Local Hamiltonians&lt;/a&gt; by Daniel Nagaj. In the first sentence of the fifth paragraph on the fourth page, he said,&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Two-qubit unitaries $U_t$ are necessary for universal quantum&#xA;  computation&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I understand that there are universal sets of two-qubit quantum gates but does it imply that the set must always consist of two-bit gates? &lt;/p&gt;&#xA;" OwnerUserId="13408" LastEditorUserId="7189" LastEditDate="2014-04-24T19:28:08.890" LastActivityDate="2014-04-24T22:12:32.817" Title="Are two-qubit unitaries necessary for universal quantum computation?" Tags="&lt;quantum-computing&gt;&lt;quantum-information&gt;&lt;universal-computation&gt;" AnswerCount="2" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="22252" PostTypeId="1" CreationDate="2014-04-24T15:17:21.497" Score="3" ViewCount="338" Body="&lt;p&gt;Given $a_i, b_i, c_i, d_{ij}\in [0,1]$ for $i,j\in [n]$ and $i\neq j$ such that $\sum_{i\in [n]} a_i=1$ and $d_{ij}=d_{ji}$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have the following bilinear program:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;max $\sum_{i=1}^n (x_i-a_i)y_i$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;subject to    &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$b_i\leq x_i\leq c_i$   for each $i\in [n]$;  &lt;/li&gt;&#xA;&lt;li&gt;$0\leq y_i\leq 1$   for each $i\in [n]$;  &lt;/li&gt;&#xA;&lt;li&gt;$y_i-y_j\leq d_{ij}$ for $i,j\in [n], i\neq j$;&lt;/li&gt;&#xA;&lt;li&gt;$\sum_{i\in [n]} x_i=1$&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Write $f$ to be the solution. The question is to decide whether $f\geq \theta$ for some given rational $\theta\in [0,1]$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This question is known to be in NP. But is it NP-hard? &lt;/p&gt;&#xA;" OwnerUserId="22166" LastEditorUserId="22166" LastEditDate="2014-04-24T15:43:53.140" LastActivityDate="2015-01-18T17:40:56.417" Title="NP-hardness of a bilinear program?" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;&lt;optimization&gt;&lt;quadratic&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="22253" PostTypeId="1" CreationDate="2014-04-24T16:11:36.977" Score="4" ViewCount="134" Body="&lt;p&gt;Backpropagation is computationally expensive. Has any research been done on a partially greedy implementation of it?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Intuition: at the beginning of training, big rough learning steps can be taken, so do we really need to tune each individual weight? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we were to plot time series of every parameter as its value changes over training time, might we get correlations between certain parameters, particularly at the beginning of training?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, since the gradient propagates backwards, we might get correlations between the parameters of neurons behind one another. Such correlations could suggest that it's a waste of time to compute partial derivatives for all parameters, i.e we can use the partial derivative for a neuron in front to approximate the partial derivatives for the neurons behind it?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Has anyone seen any articles exploring anything like this?&lt;/p&gt;&#xA;" OwnerUserId="21223" LastEditorUserId="21223" LastEditDate="2014-04-27T11:04:54.570" LastActivityDate="2014-04-27T11:04:54.570" Title="Greedy Backpropagation: has anyone researched it?" Tags="&lt;ne.neural-evol&gt;" AnswerCount="0" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="22254" PostTypeId="2" ParentId="22247" CreationDate="2014-04-24T16:25:10.847" Score="7" Body="&lt;p&gt;The answer to your second question is affirmative:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;If $\delta^+(G)+\delta^-(G) \ge n$ then $G$ is strongly connected&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Proof: Let $G$ be a graph which is not strongly connected. We will prove that $\delta^+(G)+\delta^-(G) &amp;lt; n$. Write the decomposition of $G$ into strongly connected components. Let $S$ be a strongly connected component which is a sink (i.e. no edges go outside of $S$) and $T$ be a source (i.e. no edges go into $T$). Since no edges go $S$ to outside of $S$, then $\delta^+(G) \le \delta^+(S) \le |S|-1$. Similarly we get $\delta^-(G) \le |T|-1$, and taking these two things together we get $$\delta^+(G)+\delta^-(G) \le |S|+|T|-2 \le n-2 \ .$$ QED.&lt;/p&gt;&#xA;" OwnerUserId="20830" LastActivityDate="2014-04-24T16:25:10.847" CommentCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="22256" PostTypeId="2" ParentId="22250" CreationDate="2014-04-24T18:23:00.957" Score="5" Body="&lt;p&gt;I think this question is probably better suited to &lt;a href=&quot;https://cs.stackexchange.com/&quot;&gt;cs.stackexchange.com&lt;/a&gt;, and I hesitate to answer it. That single qubit gates are not universal was stated by &lt;a href=&quot;http://arxiv.org/abs/quant-ph/9505018&quot; rel=&quot;nofollow noreferrer&quot;&gt;Deutsch, Barenco, and Ekert&lt;/a&gt; in 1995.  They point out that you cannot entangle un-entangled qubits with only single qubit operators.  You can also prove this without any appeal to entanglement or states in general by showing that at least one two qubit operator, namely $CNot$, cannot be constructed by single qubit operators.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assume single qubit operators are universal. Then there must exist some $A$ and $B$  such that $A \otimes B = CNot = (P_0 \otimes I) + (P_1 \otimes X)$.  It follows then that that $A_{00}B = I$, $A_{11}B = X$, and $A_{01}B=A_{10}B=0$. For $A_{00}B$ to be $I$, it must be the case that $B$ itself is $I$. Similarly, for $A_{11}B$ to be $X$, $B$ itself must be $X$. This is a contradiction.  So, single qubit operators are not universal as they cannot carry out at least one two qubit unitary operation, namely $CNot$. &lt;/p&gt;&#xA;" OwnerUserId="7189" LastEditorUserId="-1" LastEditDate="2017-04-13T12:48:30.830" LastActivityDate="2014-04-24T18:56:32.470" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22257" PostTypeId="1" AcceptedAnswerId="22283" CreationDate="2014-04-24T19:58:58.450" Score="3" ViewCount="657" Body="&lt;p&gt;I'm reading about type inference in chapter 30 of &lt;a href=&quot;http://cs.brown.edu/~sk/Publications/Books/ProgLangs/2007-04-26/plai-2007-04-26.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Programming Languages: Application and Interpretation&lt;/a&gt; and I'm trying to understand exactly how the occurs check works in an example I came up with.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Constraints generation is presented in this table:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/S0h1d.png&quot; alt=&quot;Constraints generation&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, given the term &lt;code&gt;λx.x x&lt;/code&gt;, we get the following two constraints, as far as I can see:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;[λx.x x] = [x] → [x x] (from &lt;code&gt;λ.x x&lt;/code&gt;)&lt;/li&gt;&#xA;&lt;li&gt;[x] = [x] → [x x] (from &lt;code&gt;x x&lt;/code&gt;)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Ok, onto the unification algorithm, described in the following manner:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/3LwhM.png&quot; alt=&quot;Unification algorithm&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Apart from the use of the word “identifier”, this looks easy enough. (Apparantly the author uses “identifier” since he first assigns a name such as 1⃣  to a term like [λx.x x] – I guess these boxed numbers are identifiers...)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Ok, so our stack of constraints is&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;{[λx.x x] = [x] → [x x], [x] = [x] → [x x]}&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;and our set of substitutions is empty. The first constraint can simply be added to the set of substitutions, which is now&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;{[λx.x x] ↦ [x] → [x x]}&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;We then replace each occurrence of &lt;code&gt;[λx.x x]&lt;/code&gt; with &lt;code&gt;[x] → [x x]&lt;/code&gt;, but there are none, so our job in this step is done.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the next step, the remaining constraint gets the same treatment: we simply add it to the set of substitutions, which then becomes&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;{[λx.x x] ↦ [x] → [x x], [x] ↦ [x] → [x x]}&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;But our job in this step is not done, we also need to recursively update all occurrences of [x] with [x] → [x x], so we get&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;{[λx.x x] ↦ [x] → [x x], [x] → [x x] ↦ [x] → [x x]}&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Doing this again gives us&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;{[λx.x x] ↦ [x] → [x x], [x] → [x x] → [x x] ↦ [x] → [x x]}&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;… and so on, never terminating.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is this understanding of the problem the “occurs check” solves correct? Is this what would have happened in a type inference algorithm such as Hindley-Milner if there wasn't an explicit occurs check?&lt;/p&gt;&#xA;" OwnerUserId="16797" LastEditorUserId="16797" LastEditDate="2014-04-25T13:39:10.003" LastActivityDate="2014-04-25T22:51:45.923" Title="Occurs check in type inference" Tags="&lt;type-theory&gt;&lt;type-systems&gt;&lt;type-inference&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="22259" PostTypeId="2" ParentId="22250" CreationDate="2014-04-24T22:12:32.817" Score="2" Body="&lt;p&gt;No, it is not necessary for a set of gates universal for quantum computation to contain a two-qubit gate.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A common example of a set of gates universal for quantum computation is $\{H, R_{\pi / 4}, \operatorname{CNOT}\}$, where $H = \frac{1}{\sqrt{2}} \begin{bmatrix} 1 &amp;amp; 1 \\ 1 &amp;amp; -1 \end{bmatrix}$ is the (one-qubit) Hadamard gate, $R_{\pi / 4} = \begin{bmatrix} 1 &amp;amp; 0 \\ 0 &amp;amp; e^{\pi i / 4} \end{bmatrix}$ is the (one-qubit) $\frac{\pi}{8}$-gate, and $\operatorname{CNOT} = \begin{bmatrix} 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 \\ 0 &amp;amp; 1 &amp;amp; 0 &amp;amp; 0 \\ 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; 1 \\ 0 &amp;amp; 0 &amp;amp; 1 &amp;amp; 0 \end{bmatrix}$ is the (two-qubit) controlled NOT gate.  To obtain a set of gates universal for quantum computation but without any two-qubit gates, we can simply replace the two-qubit gate $\operatorname{CNOT}$ with the three-qubit gate $\operatorname{CNOT} \otimes \begin{bmatrix} 1 &amp;amp; 0 \\ 0 &amp;amp; 1 \end{bmatrix}$.  This three-qubit gate applies $\operatorname{CNOT}$ to the first two qubits and ignores the third qubit.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The correct statement is:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;One-qubit unaries are not sufficient for universal quantum computation.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="3964" LastActivityDate="2014-04-24T22:12:32.817" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="22260" PostTypeId="1" CreationDate="2014-04-24T22:34:19.380" Score="11" ViewCount="719" Body="&lt;p&gt;So, the set cover problem is trivial if none of the candidate sets intersect eachother.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, what if the size of the intersection for any pair of candidate sets was at most 1? Is this problem NP-hard?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would appreciate any insight.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks,&#xA;Garrett&lt;/p&gt;&#xA;" OwnerUserId="22657" LastActivityDate="2015-01-12T16:47:02.847" Title="Set Cover with bounded intersection size" Tags="&lt;set-cover&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="22261" PostTypeId="1" AcceptedAnswerId="22264" CreationDate="2014-04-24T22:43:16.843" Score="7" ViewCount="337" Body="&lt;p&gt;Jianer Chen's paper &quot;Characterizing parallel hierarchies by reducibilities&quot; Information Processing Letters 39(1991) 303-307 shows the theorem:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $NC^{k+1} = NC^k$ then we have $NC = NC^k$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;His proof is for uniform circuit classes. What is for non uniform classes? Does the result still hold?&lt;/p&gt;&#xA;" OwnerUserId="22153" LastActivityDate="2014-04-25T05:56:56.287" Title="Non uniform NC-hierarchy collapse?" Tags="&lt;concurrency&gt;&lt;hierarchy-theorems&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="22263" PostTypeId="1" CreationDate="2014-04-25T01:23:43.137" Score="1" ViewCount="106" Body="&lt;p&gt;Consider a poset $P = (V,A)$. We may define a &lt;em&gt;path structuring&lt;/em&gt; of $P$ as a chain $\Sigma$ of the form $X_0 \subset X_1 \subset \ldots \subset X_n$ where :&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(i) for every $x \in V$, the set $\{ i \in [n] : x \in V_i \}$ is an interval,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(ii) for every $i$ we have $X_{i+1}$ of the form $X_i + \{x\}$ or $X_i - \{x\}$,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(iii) for every $i &amp;lt; j$, $P$ contains no backward arcs joining $X_j - X_i$ to $X_i - X_j$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The &lt;em&gt;width&lt;/em&gt; of $\Sigma$ is defined as $w(\Sigma) = \max_i |X_i|$, and the &lt;em&gt;path-width&lt;/em&gt; of $P$ is defined as the minimum width of a path structuring of $P$. In particular, the path-width is always smaller than the width (defined as the size of a largest antichain).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The following questions seem natural in this respect:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;is it possible to define a corresponding notion of tree-width that is well-behaved? E.g. we would expect forest posets to have tw at most 1, and series-parallel posets to have tw at most 2.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;is it possible to get a width measure that is algorithmically useful? A possible application would be the &lt;em&gt;counting of linear extensions&lt;/em&gt;: it is feasible in $n^{O(w)}$ for a poset of width $w$, but the extension to path-width / tree-width seems unlikely at this point.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="21714" LastEditorUserId="21714" LastEditDate="2014-04-25T01:43:51.737" LastActivityDate="2014-04-25T01:43:51.737" Title="Is there a useful notion of pathwidth-treewidth for posets?" Tags="&lt;counting-complexity&gt;&lt;partial-order&gt;" AnswerCount="0" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="22264" PostTypeId="2" ParentId="22261" CreationDate="2014-04-25T05:56:56.287" Score="11" Body="&lt;p&gt;Suppose that every circuit of depth $C\log^{k+1} n$ and size $Dn^\ell$ can be converted to an equivalent circuit of depth $C'\log^k n$ and size $D' n^{\ell'}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now suppose we are given a circuit of depth $C\log^{k+2} n$ and size $Dn^\ell$, and assume furthermore that it's a levelled circuit (making a circuit levelled only increases the size polynomially). Make a list of all nodes at levels $C\log^{k+1} n,2C\log^{k+1} n,\ldots,C\log^{k+2} n$. A node at level $\alpha C\log^{k+1} n$ is the value of a circuit of depth $C\log^{k+1} n$ and size at most $Dn^\ell$ whose leaves are nodes at level $(\alpha+1)C\log^{k+1}n$. We can replace each of these circuits by an equivalent circuit of depth $C'\log^k n$ and size $D' n^{\ell'}$. In total, the new circuit will have depth $C'\log^{k+1} n$ and size at most $DD' n^{\ell+\ell'}$. This shows that $NC^{k+1} = NC^k$ implies $NC^{k+2} = NC^{k+1}$.&lt;/p&gt;&#xA;" OwnerUserId="40" LastActivityDate="2014-04-25T05:56:56.287" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22265" PostTypeId="2" ParentId="22013" CreationDate="2014-04-25T08:37:26.603" Score="3" Body="&lt;p&gt;Complexity theory implicitly makes use of &quot;mild&quot; orders all the time between complexity classes —  where there is a relation which is known in one direction, and &lt;em&gt;unknown&lt;/em&gt; in another.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We might define a &quot;hazy order&quot; $\mathscr R$ to be a class of quasi-orders $\{R_j\}_{j \in J}$ together with a class of forbidden relations $F$. The set of quasi-orders is upward-closed &quot;except where forbidden&quot;: that is, for quasi-orders $R, R'$ disjoint from $F$ such that $\forall j,k: j\mathbin{R}k \implies j\mathbin{R'}k$, we have $R\in\mathscr R \implies R'\in\mathscr R$.&#xA;Such a hazy order can be used to describe a single, definite quasi-order $R \subseteq A \times A$ by taking $\mathscr R = \{ R \}$ and $F = (A \times A) \smallsetminus R$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For such a hazy order $(\mathscr R, F)$ on a set $A$, we write&amp;ast;&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$j \leqslant_{\mathscr R} k$ if $\forall R \in \mathscr R: j \mathbin R k$, and&lt;/li&gt;&#xA;&lt;li&gt;$j &amp;lt;_{\mathscr R} k$ if furthermore $\forall R \in \mathscr R: \neg(k \mathbin R j)$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Thus there is room for fuzziness in relations, where $j \leqslant_{\mathscr R} k$, but neither $k \leqslant_{\mathscr R} j$ nor $j &amp;lt;_{\mathscr R} k$ obtain. Because one cannot show  $k \leqslant_{\mathscr R} j$, one would tend to treat the relation as strict when describing upper and lower bounds, but because one cannot show $j &amp;lt;_{\mathscr R} k$ one cannot &lt;em&gt;rely&lt;/em&gt; on the inequivalence of $j$ and $k$. At the same time, the hazy order $\{ R \}$ given by any particular quasi-order $R$ satisfies $j &amp;lt;_{\{R\}} k \iff (j \leqslant_{\{R\}} k) \mathbin{\&amp;amp;} \neg(k \leqslant_{\{R\}} j)$, so describing it as a hazy order does not lead to any difference from the quasi-order $R$ itself. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Such a hazy order describes uncertain quasi-orders, such as our current state of knowledge of complexity classes: we know $\mathsf {P \subseteq NP}$, but our current formal knowledge is compatible with either $\mathsf {NP \subseteq P}$ or $\mathsf {NP \not\subseteq P}$ (whereas we do know that $\mathsf {EXP \not\subseteq P}$ for example). We act conventionally as though $\mathsf{P \subset NP \subset NP^{NP} \subset \cdots}$ but acknowledge that it is conceivable that this ordering is weak rather than strict as a quasi-order on complexity classes (or rather the labels of them — which we can take as representing their &lt;em&gt;intensional&lt;/em&gt; identities, as opposed to their &lt;em&gt;extensions&lt;/em&gt; as sets of problems).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A &quot;mild&quot; linear order such as the sort you describe (neither strict nor weak) could be one in which we consider some strict linear order $L \subset A \times A$, take the forbidden relations $F$ to be a proper subset of $(A \times A) \smallsetminus L$ (and in particular: one whose transitive closure as a relation does not contain the opposite relation $L^{\mathrm{op}}$ as a subset)&amp;ast; and take $\mathscr R$ to be the upward closure of $\{L\}$ (i.e. under subset containment, among quasi-orders, subject to avoidance of $F$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(&amp;nbsp;&amp;ast;&amp;nbsp;&lt;strong&gt;N.B.&lt;/strong&gt; These descriptions have been edited to correct errors involving the forbidden subset.)&lt;/p&gt;&#xA;" OwnerUserId="248" LastEditorUserId="248" LastEditDate="2014-04-25T10:30:30.493" LastActivityDate="2014-04-25T10:30:30.493" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="22266" PostTypeId="1" AcceptedAnswerId="22628" CreationDate="2014-04-25T09:55:14.280" Score="6" ViewCount="2297" Body="&lt;p&gt;Which benchmarks exist to evaluate the performance of algorithms for Job-Shop or Flow-shop scheduling problems?&lt;/p&gt;&#xA;" OwnerUserId="20614" LastEditorUserId="5693" LastEditDate="2014-04-25T10:01:25.710" LastActivityDate="2014-05-23T10:43:13.597" Title="Existing benchmarks for scheduling problems?" Tags="&lt;optimization&gt;&lt;scheduling&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="22267" PostTypeId="2" ParentId="3473" CreationDate="2014-04-25T10:36:09.720" Score="8" Body="&lt;p&gt;A path in an edge-colored graph is &lt;em&gt;rainbow&lt;/em&gt; if no color appears twice on it. A graph is &lt;em&gt;rainbow colored&lt;/em&gt; if there is a rainbow path between each pair of vertices. Let RAINBOW-$k$-COLORABILITY be the problem of deciding if a given graph can be rainbow colored using $k$ colors.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For any graph $G$, the problem is easy for $k=1$ as it equals checking if $G$ is a complete graph. For &lt;a href=&quot;http://en.wikipedia.org/wiki/Split_graph&quot;&gt;split graphs&lt;/a&gt;, the problem is $\sf NP$-complete for $k \in \{2,3\}$, and in $\sf P$ for all other values of $k$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See &lt;a href=&quot;http://arxiv.org/pdf/1404.4478v1.pdf&quot;&gt;Chandran, L. Sunil, Deepak Rajendraprasad, and Marek Tesař. &quot;Rainbow Colouring of Split Graphs.&quot; arXiv preprint arXiv:1404.4478 (2014).&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="5693" LastActivityDate="2014-04-25T10:36:09.720" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22269" PostTypeId="1" CreationDate="2014-04-25T12:11:54.907" Score="5" ViewCount="147" Body="&lt;p&gt;It is admitted that a $\mathsf{P}$-complete problem requires polynomial space and thus cannot be efficiently parallelized. One purpose of these problems is that they can be used to 'defeat' an (untrustworthy?) adversary with massively parallel computing abilities (e.g. cluster computing) : assuming that we have access to a sequential computer with higher clockrate than the adversary's, we may hope to solve a $\mathsf{P}$-complete problem faster than him due to its intrinsic sequentiality.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, there are some polynomial problems which precise space complexity is unknown. Prominent examples come from computational biology problems, with typical examples being the sequence and tree alignment problems (such as LCS/MAST which are usually solved by dynamic programming). While not believed to be $\mathsf{P}$-complete, the only 'speedups' known for these problems use variants of DP (such as &lt;em&gt;sparse dynamic programming&lt;/em&gt;) and do not lend themselves to parallelisation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Whence the following question: is there any &lt;em&gt;theoretical&lt;/em&gt; evidence of polynomial problems outside of ($\mathsf{P-complete} \cup Dspace(n^{o(1)})$)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(NOTE ADDED: I suspect that the above mentioned problems are in $NC_2$, so they're not a good illustration of my point; I'll look for other examples.)&lt;/p&gt;&#xA;" OwnerUserId="21798" LastEditorUserId="21798" LastEditDate="2014-04-25T13:09:29.823" LastActivityDate="2014-04-25T13:09:29.823" Title="Evidence of non P-hard problems that require polynomial space?" Tags="&lt;cc.complexity-theory&gt;&lt;dc.parallel-comp&gt;&lt;dynamic-programming&gt;" AnswerCount="0" CommentCount="11" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="22270" PostTypeId="1" CreationDate="2014-04-25T13:49:53.567" Score="2" ViewCount="74" Body="&lt;p&gt;Has any research been done about / are people interested in incorporating prior knowledge of good high-level features into a deep neural net?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I know this somewhat defeats the purpose of feature learning but consider the following applied scenario: image classification task, 20 classes,  'small' training set (10k), expert human knowledge of high-level features. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Ideal would be to compensate for lack of training cases by incorporating knowledge of these features into the architecture (or via other means). How?﻿&lt;/p&gt;&#xA;" OwnerUserId="21223" LastActivityDate="2014-04-25T14:00:49.610" Title="Neural Networks: Incorporate feature-specific knowledge" Tags="&lt;ne.neural-evol&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22271" PostTypeId="2" ParentId="22270" CreationDate="2014-04-25T14:00:49.610" Score="2" Body="&lt;p&gt;&lt;a href=&quot;http://www.utstat.toronto.edu/~rsalakhu/papers/pami_submit.pdf&quot; rel=&quot;nofollow&quot;&gt;This&lt;/a&gt; 2013 paper integrates deep learning models with structured hierarchical Bayesian models, for the net to learn novel concepts from very few training examples. It shows encouraging results.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another approach is to import a general-purpose top-performing neural net, and replace the top fully connected layers with initialised ones (including an output layer that corresponds to the number of classes in your specific task). &lt;a href=&quot;https://github.com/sermanet/OverFeat&quot; rel=&quot;nofollow&quot;&gt;OverFeat&lt;/a&gt; is an example, for image classification - it was trained on ImageNet.&lt;/p&gt;&#xA;" OwnerUserId="21223" LastActivityDate="2014-04-25T14:00:49.610" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22273" PostTypeId="1" CreationDate="2014-04-25T15:34:39.487" Score="1" ViewCount="124" Body="&lt;p&gt;I'm interested in the possibility of fast algorithms for the following two problems on permutations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a permutation $\pi$ and an integer $k$, compute a pair $(\mathcal{C},\mathcal{A})$ where $\mathcal{C}$ is a maximum $k$-chain and $\mathcal{A}$ is a corresponding $l$-antichain certifying the optimality of $\mathcal{C}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you only care about $\mathcal{C}$, this can be done in $O(k n \log n)$ by an involved algorithm ('Maximum k-Chains in Planar Point Sets: Combinatorial Structure and Algorithms' by S. Felsner and L. Wernisch). It seems possible to obtain a simpler algorithm that would also provide a certificate.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a permutation $\pi$, compute the pair of Young tableaux $(P,Q)$ associated to $\pi$ by the Robinson-Schensted bijection. Is it possible to do it in subquadratic time?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note: if we only care about the first $k$ rows of each tableau this can be done in $O(k n \log n)$ time in the RAM model; by Greene theorem, the cumulated size of the first $k$ rows gives the cost of an optimum solution for 1), without providing an explicit solution. Thus question 1) seems to require a different approach.&lt;/p&gt;&#xA;" OwnerUserId="21714" LastEditorUserId="21714" LastEditDate="2014-04-25T15:40:49.543" LastActivityDate="2014-04-25T15:40:49.543" Title="Some algorithmic questions on permutations" Tags="&lt;ds.algorithms&gt;&lt;permutations&gt;" AnswerCount="0" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="22275" PostTypeId="2" ParentId="22220" CreationDate="2014-04-25T16:10:23.340" Score="2" Body="&lt;p&gt;Another approach is enumerative encoding. Consider for example $231$-avoiding permutations, of which there are $C_n$. The number of $231$-avoiding permutations with $\pi^{-1}(n) = i$ is $C_{i-1} C_{n-i}$, and this gives a recursive algorithm for encoding $231$-avoiding permutations: divide the interval $[0,C_n)$ into $n$ intervals $I_1,\ldots,I_n$ of lengths $C_i C_{n-i-1}$ for $i=1,\ldots,n$ arbitrarily. Given a permutation with $\pi^{-1}(n) = i$, notice that $\pi|_{1,\ldots,i-1}$ is a $231$-avoiding permutation of $\{1,\ldots,i-1\}$, and $\pi|_{i+1,\ldots,n}$ is a $231$-avoiding permutation of $\{i+1,\ldots,n\}$. Recursively encode the first part in $[0,C_{i-1})$ and the second part in $[0,C_{n-i})$, and put both encodings together to encode $\pi$ in $I_i$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For any other $\tau \in S_3$, $\tau$-avoiding permutations are bijectively related to $231$-avoiding permutations, through taking the inverse, complementing the elements, reversing, or the Simion&amp;ndash;Schmidt bijection between $132$- and $123$-avoiding permutations. So this encoding applies to all patterns of length $3$.&lt;/p&gt;&#xA;" OwnerUserId="40" LastActivityDate="2014-04-25T16:10:23.340" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22277" PostTypeId="1" AcceptedAnswerId="29440" CreationDate="2014-04-25T20:33:04.677" Score="17" ViewCount="997" Body="&lt;p&gt;I'm teaching a course on data structures and will be covering splay trees early next week. I've read the paper on splay trees many times and am familiar with the analysis and intuition behind the data structure. However, I cannot seem to find a solid intuition for the potential function that Sleator and Tarjan use in their analysis.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The analysis works by assigning each element in the tree an arbitrary weight $w_i$, then setting the size $s(x)$ of a node to be the sum of the weights of the nodes in the subtree rooted at $x$. They then take the log of this value to get the rank $r(x)$ of the node, so $r(x) = \log s(x)$. Finally, the potential function of the tree is defined as the sum of the ranks of all the nodes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I understand that this potential function works correctly and I can follow the analysis, but I don't see why they would choose this potential. The idea of assigning a size to each node makes sense to me, since if you sum up the sizes, you get the weighted path length of the tree. However, I can't figure out why they decided to take the logs of the weights and then sum those up instead - I don't see any natural property of the tree that this corresponds to.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does the potential function of the splay tree correspond to some natural property of the tree? Is there a particular reason, other than &quot;it works,&quot; that they would choose this potential? (I'm specifically curious because &lt;a href=&quot;http://courses.csail.mit.edu/6.854/06/notes/n3-splay.pdf&quot;&gt;this set of course notes&lt;/a&gt; mentions that the &quot;analysis is black magic. [N]o idea how discovered&quot;)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks!&lt;/p&gt;&#xA;" OwnerUserId="4354" LastEditorUserId="4354" LastEditDate="2014-04-25T20:54:33.420" LastActivityDate="2015-03-24T10:11:57.333" Title="Splay tree potential function: why sum the logs of the sizes?" Tags="&lt;ds.data-structures&gt;&lt;intuition&gt;&lt;amortized-analysis&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="22278" PostTypeId="1" CreationDate="2014-04-25T20:40:57.967" Score="1" ViewCount="234" Body="&lt;p&gt;I'm stuck with trying to implement the Gilmore-Lawler bound procedure for the quadratic assignment problem (QAP). That is, a bound one can use with a branch and bound algorithm to solve the QAP. I'm gonna explain what I've understood about it and I'd like anyone who knows on the topic correct me, or tell me if I'm right.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As far as I know it's an optimistic (better than any of the possible outcomes) for a given partial solution for the QAP. I'll put it in terms of facilities and locations (which is what I've seen used mostly). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let's say at a given moment we've assigned m of the n facilities to m locations. From the solution space of the m-n locations that need to be assigned, one can calculate an optimistic bound which corresponds to the sum of three terms.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The first term is the cost of what we already have assigned, so we just calculate the cost for the fist m terms as if the problem was just a smaller one. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the next two we'll consider each of the pairs of unassigned facilities and unassigned locations, so more formally, each pair (f,l) with f and l in {m-n..n}.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For each pair (f,l) we'll determine the contribution of making that assignment to the total cost of the problem. I've been told that doing this for all pairs of (f,l) corresponds to an (n-m)x(n-m) matrix M1 = (m_fl) with m_fl being the cost (objective function) of a m+1 QAP, with the same distance and flow matrices and m assignments and the m+1th asignment being (f,l).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, for each pair (f,l) we'll determine the cost of making that assignment in regards to all the unassigned facilities and locations. We'll define another matrix M2 = m2_fl. To calculate m2_fl let's define two vectors vd and vf, the first it's the vector that corresponds to the distance from l to all the other unassigned locations. The second it's the vector that corresponds to the flow from f to all the other unassigned facilities. Now, m2_fl it's the result of the minimal scalar product of vd and vf —That being the scalar product of vd and vf sorted in opposed orders—.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, let's consider the matrix M = M1+M2, and objective value of the linear assignment problem associated to M, which we'll denote by c. Knowing that we can say that the Gilmore-Lawler lower bound to that particular partial sollution is the first term added with c.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, I want to know if I am right. It makes sense to me, I've ran some examples by paper and they make sense to me. But papers on this are too complicated, or just trying to improve this bound and not bothering on explaining it to a begginer. So it's really difficult to just know if I'm doing the right thing. I also tried to get the first article written by Gilmore (also the Lawler's one) which would tell the original method but none of them both seems to be free to read.&lt;/p&gt;&#xA;" OwnerUserId="22564" LastActivityDate="2014-04-25T20:40:57.967" Title="Gilmore-Lawler bound for the QAP" Tags="&lt;optimization&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="22280" PostTypeId="1" CreationDate="2014-04-25T21:04:12.347" Score="3" ViewCount="287" Body="&lt;p&gt;Suppose we define a polytope with &#xA;$$&#xA;\mathbf{Ax} \leq  \mathbf{b} &#xA;$$&#xA;What is the best way to find/approximate the number of the integral points in the polytope? &#xA;Update: how hard is the complexity of this problem? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Update: dimension of the space is $n$ and is a variable in the problem. &lt;/p&gt;&#xA;" OwnerUserId="15645" LastEditorUserId="15645" LastEditDate="2014-04-26T18:02:43.870" LastActivityDate="2014-04-26T18:02:43.870" Title="The number of integral points in a polytope" Tags="&lt;approximation-algorithms&gt;&lt;polytope&gt;" AnswerCount="3" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="22281" PostTypeId="2" ParentId="22280" CreationDate="2014-04-25T21:33:28.107" Score="6" Body="&lt;p&gt;Check out&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://www.math.ucdavis.edu/~latte/&quot;&gt;https://www.math.ucdavis.edu/~latte/&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;and the corresponding paper&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Effective lattice point counting in rational convex polytopes. Jesús A. De Loera, Raymond Hemmecke, Jeremiah Tauzer, Ruriko Yoshida. Journal of Symbolic Computation 2004 38:4, 1273-1302.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The algorithm they implement was introduced in &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A Polynomial Time Algorithm for Counting Integral Points in Polyhedra When the Dimension is Fixed. Alexander I. Barvinok. Mathematics of Operations Research 1994 19:4, 769-779.&lt;/p&gt;&#xA;" OwnerUserId="368" LastActivityDate="2014-04-25T21:33:28.107" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22282" PostTypeId="2" ParentId="2074" CreationDate="2014-04-25T22:17:51.170" Score="2" Body="&lt;p&gt;There is a recent paper which establishes the connection between Computer Security and the 2nd principal of thermodynamic.&lt;br&gt;&#xA;&lt;a href=&quot;http://ieeexplore.ieee.org/xpl/articleDetails.jsp?arnumber=6266166&quot; rel=&quot;nofollow&quot;&gt;http://ieeexplore.ieee.org/xpl/articleDetails.jsp?arnumber=6266166&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="10526" LastActivityDate="2014-04-25T22:17:51.170" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22283" PostTypeId="2" ParentId="22257" CreationDate="2014-04-25T22:51:45.923" Score="5" Body="&lt;p&gt;Yes, the occurs check is there so that the algorithm is guaranteed to terminate. Without it, when we deal with an equation $X = T$ in which $X$ may occur, substituting $T$ for $X$ everywhere does not get rid of $X$, and so we can run in circles, as your example shows.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is a way to avoid this by allowing arbitrary recursive types. If we have an equation $X = T$ then we may replace $X$ everywhere by the type $\mathsf{fix} \,X \,.\, T$, i.e., a canonical solution to the equation $X = T$. Ocaml will do this for you if you run it with &lt;code&gt;-rectypes&lt;/code&gt;:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;$ ocaml -rectypes&#xA;        OCaml version 4.01.0&#xA;&#xA;# fun x -&amp;gt; x x ;;&#xA;- : ('a -&amp;gt; 'b as 'a) -&amp;gt; 'b = &amp;lt;fun&amp;gt;&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;This says that &lt;code&gt;fun x -&amp;gt; x x&lt;/code&gt; has the type $A \to B$ where $A = A \to B$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By the way, you can find an implementation of the algorithm in my PL Zoo, see &lt;a href=&quot;https://github.com/andrejbauer/plzoo/blob/master/src/poly/type_infer.ml#L53&quot; rel=&quot;noreferrer&quot;&gt;&lt;code&gt;solve&lt;/code&gt;&lt;/a&gt; in the language Poly.&lt;/p&gt;&#xA;" OwnerUserId="705" LastActivityDate="2014-04-25T22:51:45.923" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22284" PostTypeId="1" AcceptedAnswerId="22291" CreationDate="2014-04-25T23:37:02.303" Score="4" ViewCount="259" Body="&lt;p&gt;If you wanted to know the shortest distance/path between two household addresses, which data structure(s) would you use to return the answer efficiently?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Say you are considering the set of all households in the United States (~100 million).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am struggling to come up with a practical data structure considering the input size is so big. Dijkstra's seems too inefficient, but I'm guessing there is a way to preprocess the paths to make such a query possible.&lt;/p&gt;&#xA;" OwnerUserId="22674" LastActivityDate="2014-04-26T22:19:53.883" Title="Shortest distance/path between two households" Tags="&lt;graph-algorithms&gt;&lt;ds.data-structures&gt;&lt;shortest-path&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22285" PostTypeId="2" ParentId="7900" CreationDate="2014-04-26T02:01:42.310" Score="3" Body="&lt;p&gt;This &lt;a href=&quot;http://community.dur.ac.uk/tom.friedetzky/conf.html&quot; rel=&quot;nofollow&quot;&gt;list of conferences&lt;/a&gt; by Tom Friedetzky and Daniel Paulusma is another nice resource.&lt;/p&gt;&#xA;" OwnerUserId="969" LastActivityDate="2014-04-26T02:01:42.310" CommentCount="0" CommunityOwnedDate="2014-04-26T02:01:42.310" ContentLicense="CC BY-SA 3.0" />
  <row Id="22288" PostTypeId="1" CreationDate="2014-04-26T04:32:33.517" Score="1" ViewCount="93" Body="&lt;p&gt;The well-known Gauss pivot method can be used to solve a system of linear equations over a field. I'm aware of two extensions of this method: (i) the Büchberger algorithm for computation of Gröbner bases, (ii) the resolution algorithms for CSPs with Maltsev polymorphisms (see 'Malt'sev Constraints made Simple' by V. Dalmau, 'Constraint satisfaction on finite groups with near subgroups' by T. Feder).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would like to hear about other variants/extensions of Gauss pivot to settings where we don't have an explicit field/group structure. For instance, can we solve efficiently a system of equations over a permutation group by a similar approach? This problem does not fall in case (ii) above as in general the solutions of an equation will not form a coset, although it should contain problem (ii) as a special case.&lt;/p&gt;&#xA;" OwnerUserId="21714" LastEditorUserId="21714" LastEditDate="2014-04-26T04:39:03.103" LastActivityDate="2014-04-26T04:39:03.103" Title="Known generalizations of Gauss pivot method?" Tags="&lt;ds.algorithms&gt;&lt;linear-equations&gt;&lt;generalizations&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22289" PostTypeId="2" ParentId="22230" CreationDate="2014-04-26T06:36:54.020" Score="3" Body="&lt;p&gt;Parity games can be reduced to discounted payoff games. See, e.g.,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Marcin Jurdziński (1998). Deciding the winner in parity games is in UP ∩ co-UP. Information Processing Letters 68:3 119-124.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As explained in that paper (and first observed by Zwick and Paterson, I believe), there are min/max optimality equations for discounted payoff games with a unique solution that assigns a &quot;value&quot; to each state. From these values, it is easy to read off all optimal strategies of the players.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Discounted payoff games can in turn can be solved as a P-matrix Linear Complementarity Problem (LCP), where the reduction uses the optimality equations and from a solution to the LCP one could again read off all optimal strategies. See,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Marcin Jurdziński and Rahul Savani (2008). A simple P-matrix linear complementarity problem for discounted games. Computability in Europe (CiE), 283-293.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now in the following paper a discrete strategy improvement algorithm for parity games is given that essentially defines and uses optimality equations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Jens Vöge and Marcin Jurdziński (2000). A Discrete Strategy Improvement Algorithm for Solving Parity Games. Computer-aided Verification (CAV).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's very possible you could read off all strategies from a &quot;solution&quot; to those optimality equations, e.g., obtained via their algorithms - but, I am not sure.&lt;/p&gt;&#xA;" OwnerUserId="368" LastEditorUserId="368" LastEditDate="2014-04-26T08:55:34.550" LastActivityDate="2014-04-26T08:55:34.550" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22290" PostTypeId="2" ParentId="22280" CreationDate="2014-04-26T06:47:07.573" Score="3" Body="&lt;p&gt;Beside Latte, there is a less famous tool, called Barvinok (name of the original author of the algorithm):&#xA;&lt;a href=&quot;http://freecode.com/projects/barvinok&quot; rel=&quot;nofollow&quot;&gt;http://freecode.com/projects/barvinok&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The algorithm is described in this paper:  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Sven Verdoolaege, Rachid Seghir, Kristof Beyls, Vincent Loechner, Maurice Bruynooghe: &lt;em&gt;Counting Integer Points in Parametric Polytopes Using Barvinok's Rational Functions&lt;/em&gt;. Algorithmica 48(1): 37-66 (2007)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As far as I know, Latte can't handle parametric polytopes like Barvinok.&lt;/p&gt;&#xA;" OwnerUserId="10526" LastActivityDate="2014-04-26T06:47:07.573" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22291" PostTypeId="2" ParentId="22284" CreationDate="2014-04-26T08:57:12.907" Score="6" Body="&lt;p&gt;This problem is well considered and learned in recent decades as every GPS device faces this problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In practice (AFAIK), the standard way of facing this problem is by the usage of &lt;em&gt;distance oracles&lt;/em&gt;, which usually (or more correctly, used to) approximate the distance between every two nodes by keeping only a $k\times n$ distances tables for a well-selected $k$ vertices.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The &lt;a href=&quot;http://arxiv.org/pdf/1305.3314v1.pdf&quot; rel=&quot;nofollow&quot;&gt;lastest result I'm aware of&lt;/a&gt;, keep a data structure of size $O(kn^{1+1/k})$, answering queries in $O(1)$ time and giving a stretch (i.e. the return value $\delta$ is promised to suffice $d\leq \delta \leq d\cdot s$). of $2k-1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Alternatively, if you're looking for a stretch smaller than 2, I suggest looking at &lt;a href=&quot;http://web.engr.illinois.edu/~agarwa16/pubs/less_than_2.pdf&quot; rel=&quot;nofollow&quot;&gt;this paper&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="21001" LastEditorUserId="21001" LastEditDate="2014-04-26T22:19:53.883" LastActivityDate="2014-04-26T22:19:53.883" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22292" PostTypeId="2" ParentId="22280" CreationDate="2014-04-26T13:57:26.370" Score="4" Body="&lt;p&gt;As far as I know, the &lt;em&gt;parameterized complexity&lt;/em&gt; of the counting problem is still open. It is known that &lt;em&gt;ILP solving&lt;/em&gt; is fixed-parameter tractable in the number of variables ('Integer programming with a fixed number of variables', H.W.Lenstra Jr), although &lt;em&gt;ILP solution counting&lt;/em&gt; is expected to be $\# W[1]$-hard. The question was first asked by N. Betzler if my memory is correct.&lt;/p&gt;&#xA;" OwnerUserId="21714" LastEditorUserId="21714" LastEditDate="2014-04-26T15:10:29.797" LastActivityDate="2014-04-26T15:10:29.797" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22293" PostTypeId="1" CreationDate="2014-04-26T14:44:14.867" Score="11" ViewCount="298" Body="&lt;p&gt;A tantalizing open question in computational complexity is to understand the 'behavioral differences' between the determinant and the permanent. While the former is computable in polynomial time with Gauss pivot, the second is $\# P$-hard by Valiant's result. There have been attempts to generalize the notions of determinant/permanent, but I was wondering if the following notion of &lt;em&gt;subgroup-restricted determinant&lt;/em&gt; had been considered.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Fix a series $\Sigma$ of subgroups $G_1 \leq G_2 \leq \ldots \leq G_k$ of $S_n$, and for an index $p \leq k$ let $\Sigma_p$ denote the truncated series $G_1 \leq G_2 \leq \ldots \leq G_p$. Say that $\Sigma$ is &lt;em&gt;normal&lt;/em&gt; if (i) $G_1$ is simple, (ii) for each $1 \leq i &amp;lt; k$, $G_i$ is a maximal normal subgroup of $G_{i+1}$. We may then define, for an $n \times n$ matrix $A$:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Given $K \subseteq S_n$, let $Sum_{K}(A) = \sum_{\sigma \in K} a_{1,\sigma(1)} \ldots a_{n,\sigma(n)}$;&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;Let $SgrDet_{\Sigma}(A) = Sum_{G_k}(A) - \sum_{i = 1}^{k-1} [G_i : G_k] SgrDet_{\Sigma_i}(A)$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Observe that when $G_{k}$ is isomorphic to $Z_n$, any maximal series $\Sigma$ corresponds to a prime factorization of $n = p_1^{i_1} \ldots p_k^{i_k}$, and then $SgrDet_{\Sigma}(I_n)$ corresponds to the 'signed divisor function' $\zeta'(n) = [i_1]_{-p_1} \ldots [i_k]_{-p_k}$ where by convention $[n]_q = \sum_{i = 0}^{n-1} q^i$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Observe that we can recover the permanent and determinant with the series $(S_n)$ and $(A_n \lhd S_n)$, respectively. Note that the second series is normal (by the simplicity of $A_n$) while the first is not. This leads to the following questions, probably difficult:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(1) does the formula always have exponential algebraic complexity when the series is not normal?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(2) are there other examples of a normal series for which the formula has polynomial complexity?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(NOTE: I updated the definition of $SgrDet$ to have a better-behaved operator, but it's still unclear whether it is the 'right' definition).&lt;/p&gt;&#xA;" OwnerUserId="21714" LastEditorUserId="21714" LastEditDate="2014-04-27T15:27:53.357" LastActivityDate="2014-04-27T15:27:53.357" Title="Generalizations of the determinant/permanent problem?" Tags="&lt;permutations&gt;&lt;gr.group-theory&gt;&lt;arithmetic-circuits&gt;" AnswerCount="0" CommentCount="8" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="22299" PostTypeId="2" ParentId="22247" CreationDate="2014-04-26T21:20:35.287" Score="4" Body="&lt;p&gt;This is an extension of @Mobius answer to show a stronger claim:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;If $\delta^+ + \delta^- \geq n-1$, then $\forall u,v\in V, d(u,v)\leq 2$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Proof:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $(u,v)\in E$ we're done.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Denote $A=\{x\in V: (u,x)\in E\}, B=\{y\in V: (y,v)\in E\}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Notice that since $(u,v)\not \in E$, $A \cup B \subseteq V\setminus \{u,v\}$, hence $|A\cup B|\leq n-2$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But then $$n-1 \leq \delta^+ + \delta^- \leq |A|+|B| =  |A\cup B| + |A\cap B| \leq n-2 + |A\cap B|$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;And therefore $|A\cap B| \geq 1$, i.e. $\exists w\in V:(u,w),(w,v)\in E$ and $d(u,v)=2$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$ \blacksquare$.&lt;/p&gt;&#xA;" OwnerUserId="21001" LastEditorUserId="21001" LastEditDate="2014-04-26T21:25:55.960" LastActivityDate="2014-04-26T21:25:55.960" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22301" PostTypeId="1" AcceptedAnswerId="48818" CreationDate="2014-04-27T04:55:35.257" Score="10" ViewCount="253" Body="&lt;p&gt;The &lt;a href=&quot;http://en.wikipedia.org/wiki/Isolation_lemma&quot;&gt;Isolation lemma&lt;/a&gt; of Mulmuley, Vazirani, and Vazirani  can be used to show that certain $\mathsf{NP}$-complete problems can be reduced via randomized polytime reductions to the &lt;em&gt;unique&lt;/em&gt; solution version of the problem. This hints that  the promise of a unique solution is not likely to make the problem significantly easier. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A specific example for such a reduction in the Mulmuley, Vazirani, and Vazirani paper &lt;a href=&quot;http://cs.berkeley.edu/~vazirani/pubs/matching.pdf&quot;&gt;(pdf)&lt;/a&gt;&#xA; is that CLIQUE can be reduced to UNIQUE CLIQUE via randomized polynomial time reductions. In this sense,  UNIQUE CLIQUE is (almost) as hard as CLIQUE.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there anything similar known about the UNIQUE $k$-COLORABILITY of graphs? &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;It is worth noting that the promise of unique colorability seems to involve more structural consequences than the uniqueness of the maximum clique. &lt;/p&gt;&#xA;" OwnerUserId="12710" LastActivityDate="2021-04-21T19:10:21.960" Title="Complexity of unique coloring of graphs" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;complexity-classes&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="22302" PostTypeId="2" ParentId="16241" CreationDate="2014-04-27T07:22:31.747" Score="10" Body="&#xA;&#xA;&lt;p&gt;In &lt;a href=&quot;https://stackoverflow.com/a/23316850/1333025&quot;&gt;this post on SO&lt;/a&gt; I found an interesting answer - &lt;a href=&quot;http://sneezy.cs.nott.ac.uk/fplunch/weblog/?p=69&quot; rel=&quot;nofollow noreferrer&quot;&gt;decisive functors&lt;/a&gt;. If we replace &lt;code&gt;()&lt;/code&gt; by &lt;code&gt;Void&lt;/code&gt;, &lt;code&gt;(,)&lt;/code&gt; by &lt;code&gt;Either&lt;/code&gt; &lt;em&gt;and&lt;/em&gt; reverse the arrows, we get:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;class Functor f =&amp;gt; Decisive f where&#xA;    nogood :: f Void -&amp;gt; Void&#xA;    orwell :: f (Either s t) -&amp;gt; Either (f s) (f t)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;The blog post also gives some laws that decisive functors adhere to.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;And, every &lt;code&gt;Comonad&lt;/code&gt; is also &lt;code&gt;Decisive&lt;/code&gt;:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;instance Comonad c =&amp;gt; Decisive c where&#xA;    nogood = counit&#xA;    orwell story = case counit story of&#xA;                     Left s  -&amp;gt; fmap (either id (const s)) story&#xA;                     Right t -&amp;gt; fmap (either (const t) id) story &#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;So decisive functors fit in between functors and comonads, just as applicative functors fit in between functors and monads.&lt;/p&gt;&#xA;" OwnerUserId="10336" LastEditorUserId="-1" LastEditDate="2017-05-23T12:40:09.333" LastActivityDate="2014-04-27T07:45:53.057" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22304" PostTypeId="2" ParentId="21538" CreationDate="2014-04-27T11:45:44.300" Score="5" Body="&lt;p&gt;See &quot;On the relative complexity of some languages in $\mathsf{NC}^1$ by &lt;a href=&quot;http://dx.doi.org/10.1016/0020-0190%2889%2990052-5&quot;&gt;Barrington,Corbett&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="214" LastActivityDate="2014-04-27T11:45:44.300" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22305" PostTypeId="1" CreationDate="2014-04-27T12:57:25.420" Score="6" ViewCount="181" Body="&lt;p&gt;I find that works on computational power and complexity of neural nets are all from 1980s/1990s or even earlier. &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.70.7434&amp;amp;rep=rep1&amp;amp;type=pdf&quot;&gt;Surveys&lt;/a&gt; and &lt;a href=&quot;http://mitpress.mit.edu/books/circuit-complexity-and-neural-networks&quot;&gt;books&lt;/a&gt; are also from that time. Personally, I find problems in this field are of importance no matter in theory or application. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Why is there few people care about it now? Is it because open problems are almost solved or they are too hard to keep researchers moving on? Are there researches on this topic now?&lt;/p&gt;&#xA;" OwnerUserId="9841" LastActivityDate="2014-04-27T12:57:25.420" Title="Is computational complexity of neural networks so old-fashioned?" Tags="&lt;circuit-complexity&gt;" AnswerCount="0" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="22306" PostTypeId="1" CreationDate="2014-04-27T13:22:42.090" Score="1" ViewCount="173" Body="&lt;p&gt;I'm interested in permutations classes defined by one or several excluded patterns of length 4. In particular, the following classes seem interesting but not so-well studied algorithmically.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;the &lt;em&gt;skew-merged permutations&lt;/em&gt; consist of the permutations that can be partitioned in an increasing and a decreasing subsequence; their basis is $\{3412, 2143\}$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;the &lt;em&gt;vexillary permutations&lt;/em&gt; have basis $\{2143\}$; they have been introduced by Lascoux and Schützenberger in connection with Schubert calculus ('Schubert polynomials and the Littlewood–Richardson rule', Letters in Mathematical Physics 10(2), 111-124).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;By the basis definition, it is immediate that a permutation $\pi$ is skew-merged iff both $\pi$ and $\pi^r$ are vexillary; this suggests some possible link between these two classes. I am interested in the following algorithmic questions:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Are there linear-time recognition algorithms for these classes? By the previous remark, an algorithm for class 2 would immediately yield an algorithm for class 1, although I suspect a more direct algorithm to exist in that case.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;What is the complexity of the subpattern problem for two skew-merged or two vexillary permutations? The subpattern problem is known to be polynomial for separable and 2-increasing permutations, and these classes seem the next to study.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="21714" LastActivityDate="2014-04-28T07:31:59.720" Title="More questions about permutations" Tags="&lt;ds.algorithms&gt;&lt;co.combinatorics&gt;&lt;permutations&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="22308" PostTypeId="1" CreationDate="2014-04-27T15:57:06.803" Score="1" ViewCount="1927" Body="&lt;p&gt;Dijkstra's algo (for finding single-source shortest path) &lt;strong&gt;assumes&lt;/strong&gt; that once a vertex has been chosen for expansion (aka exploration), its shortest path has been found. This can only be true if there are no negative-weight cycles reachable from the source. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Therefore, I was thinking that in order to detect a negative-weight cycle, we could run Dijkstra's algorithm a 2nd time, but instead of initialising the vertex distances to -infinity, we use the ones found by the 1st iteration. If at any point during this 2nd iteration, there is a distance update, the assumption above is violated, therefore there is a negative weight cycle.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There must be a mistake in my reasoning, because if this works, it would have same time complexity as Dijkstra's algo, which would be better than the Bellman-Ford algorithm, which is the textbook algorithm for solving the single-source shortest-path in potential presence of negative weight cycles. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is my mistake that a 2nd iteration may lead to no distance updates even in the presence of a negative weight cycle? If so, could someone provide such an example?&lt;/p&gt;&#xA;" OwnerUserId="21223" LastActivityDate="2014-04-28T16:21:49.687" Title="Run Dijkstra's algorithm twice to detect negative-weight cycles?" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;shortest-path&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="22309" PostTypeId="2" ParentId="22308" CreationDate="2014-04-27T16:44:26.333" Score="9" Body="&lt;p&gt;The mistake is in &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;This can only be true if there are no negative-weight cycles reachable from the source.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Actually, this can only be true if there are no negative-weight &lt;strong&gt;edges&lt;/strong&gt; reachable from the source.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So the &quot;double Dijkstra&quot; suggested above may wrongly return false in a graph with negative-weight edges but no negative-weight cycles, whereas Bellman-Ford will correctly return true.&lt;/p&gt;&#xA;" OwnerUserId="21223" LastEditorUserId="21223" LastEditDate="2014-04-28T16:21:49.687" LastActivityDate="2014-04-28T16:21:49.687" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="22314" PostTypeId="1" CreationDate="2014-04-27T20:03:43.490" Score="0" ViewCount="134" Body="&lt;p&gt;Boyd and Vandenberghe say that a convex optimization problem is one of the form:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;minimize $f_0(x)$ subject to &#xA;  $$f_i(x)\le 0,  i=1,\ldots m$$&#xA;                $$a_i^\top x=b_i, i=1,\ldots p$$&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;where $f_0, \ldots,f_m$ are convex functions and the equality constraint functions must be affine.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is, what stops me from converting the equality constraint functions into inequalities so that I am no longer restricted to affinity with those functions? (any equality $a=b$ can be expressed as $a\le b$ and $a \ge b$).&lt;/p&gt;&#xA;" OwnerUserId="21471" LastEditorUserId="80" LastEditDate="2014-04-27T20:18:44.353" LastActivityDate="2014-04-27T20:18:44.353" Title="Definition of convex optimization problem by Stephen Boyd and Lieven Vandenberghe" Tags="&lt;cc.complexity-theory&gt;&lt;linear-programming&gt;&lt;convex-optimization&gt;" AnswerCount="0" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="22315" PostTypeId="2" ParentId="12579" CreationDate="2014-04-27T22:27:57.710" Score="3" Body="&lt;p&gt;Two or three years ago I started taking a look to formal methods applied to software. This was a quest driven by curiosity, and by the feeling that I had to learn programming tools and methods with longer time-spans. Although I dreamed wishfully about a &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.117.315&quot; rel=&quot;nofollow&quot;&gt;Silver Bullet&lt;/a&gt;, I really thought that there was not an answer to the question: &quot;How can I write a correct program?&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;At this point of the quest after trying some tools (Z, B, VHDL, and Estelle), I'm using &lt;a href=&quot;http://research.microsoft.com/en-us/um/people/lamport/tla/tla.html&quot; rel=&quot;nofollow&quot;&gt;TLA+&lt;/a&gt;. This is a variant of temporal logic with software tools for model checking and mechanic proofs. I think that I choose this approach because L. Lamport was behind it, the syntax was simple, there were lots of examples, there was a community taking care of it, and the language and tools were fairly well documented.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Regarding my initial question, I think that there is not a complete answer. However, it is worth learning that it pays off to specify formally some portions of a system. It is also pretty useful to reverse engineer some complex ones. That is, It is effective to create a blueprint for the difficult and critical parts. However, I don't think there is an effective method to translate automatically the specification to a programming language or framework (unless you restrict the project to a very specific environment). I also do not think that having a formal specification should prevent you from testing the software.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In a nutshell, I think that the following metaphor (from Lamport) is really powerful: &quot;Do you expect a house to be automatically build from a blueprint? Will you buy a house that is not yet build and it does not have blueprint?&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;During this quest, I have found the following resources useful:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/1905209347&quot; rel=&quot;nofollow&quot;&gt;Software Specification Methods&lt;/a&gt;. This book provides a broad overview of the existing methods and tools. There you can find basic explanations and examples of Z, SDL, TLA+, Petri Nets, Coq, etc.  &lt;/li&gt;&#xA;&lt;li&gt;If you think that TLA+ fits your needs, I really recommend the book &lt;a href=&quot;http://research.microsoft.com/en-us/um/people/lamport/tla/book.html&quot; rel=&quot;nofollow&quot;&gt;Specifying Systems&lt;/a&gt;. You can get the book for free, and it comes with examples to play with :). &lt;/li&gt;&#xA;&lt;li&gt;Recently, I read a couple of related articles that give two different perspectives to the state of the art of the formal methods: &lt;a href=&quot;http://permalink.gmane.org/gmane.comp.encryption.general/14818m&quot; rel=&quot;nofollow&quot;&gt;The Case for Formal Methods&lt;/a&gt;, and &lt;a href=&quot;http://cacm.acm.org/magazines/2014/4/173219-formally-verified-mathematics/fulltext&quot; rel=&quot;nofollow&quot;&gt;Formally Verified Mathematics&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Good luck!&lt;/p&gt;&#xA;" OwnerUserId="12896" LastActivityDate="2014-04-27T22:27:57.710" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22316" PostTypeId="1" CreationDate="2014-04-27T23:27:53.440" Score="7" ViewCount="254" Body="&lt;h2&gt;Short Version&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;Suppose that you want to consider a model of quantum computation in which the gates used in the circuits may depend on the input size. Are there pitfalls to avoid when defining the circuits, to avoid obtaining unreasonable computational power from combining the coefficients themselves? Conversely: what limitations (aside from the conservative one of having a gate set of size $O(1)$ for the entire circuit family) yield a model whose complexity is still reasonable, and in particular does not disrupt too many of the things which we know hold for gate-sets of size $O(1)$?&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Motivation and Details&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;The class $\def\EQP{\mathsf{EQP}}\EQP$ is the set of languages which can be decided with certainty by a polynomial-size uniform circuit family. Except &amp;mdash; because of the fact that there is no exactly universal gate-set for quantum computation, the gates allowed may change from problem to problem. And it would seem that people remain unsure of whether to allow &lt;em&gt;infinite&lt;/em&gt; gate-sets, so that the gates which are used in each circuit for a problem may depend on the input size.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It seems reasonable to me, in principle, to allow a unitary circuit family to use an infinite gate-set: for instance, a set in which the different gates used by the circuit on inputs of length $n$, grow as $O(n)$ rather than the scenario of $O(1)$ which is possible with (approximately) universal gate-sets. Gate-sets which scale as $O(n)$ are part of classical circuit complexity, after all. Furthermore, it's not clear to me that it should be necessary to allow a gate set of size larger than $O(n^2)$ &amp;mdash; which would allow for a constant number of gate-sets having arity ranging from constant to the entire system. For many purposes, it may even be enough to have a gate-set of size $O(1)$ for each circuit size, but a different such set for each $n$ &amp;mdash; so that one may describe the gate set used by the &lt;em&gt;family&lt;/em&gt; as being $O(n)$ for the first $n$ circuit sizes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, allowing even a single distinct gate for each input size allows you to do strange things, even if you require that the coefficients of the gates be nicely behaved. For instance, you could allow as a gate a controlled-QFT gate $\Lambda\mathrm{QFT}$, acting on $2n$ qubits, which is defined on $\def\ket#1{|#1\rangle}\ket{m}\ket{x}$ for $m,x \in \{0,1\}^n$ by&#xA;$$\begin{aligned}&#xA;\Lambda\mathrm{QFT} \ket{m}\ket{x} &amp;amp;= \ket{m} \otimes \mathrm{QFT}_m\ket{x}&#xA;\\[1ex]&amp;amp;= \begin{cases} \tfrac{1}{\sqrt m} \sum\limits_{k=0}^{m-1} \mathrm{e}^{2\pi i kx/m} \ket{m}\ket{k}, &amp;amp; \text{if $0 \leqslant x &amp;lt; m$}; \\[2ex] \qquad\ket{m}\ket{x}, &amp;amp;\text{otherwise}.\end{cases} &#xA;\end{aligned}$$&#xA;This effectively allows you to simulate gates which not only depend on the input size, but on the input itself. In addition to being strange in itself, and making it potentially difficult to obtain a meaningful notion of complexity (how much work is being absorbed into the machine which describes the gates?), it would undo classic results in quantum computational complexity such as $\mathsf{EQP \subseteq LWPP}$ [&lt;a href=&quot;http://arxiv.org/abs/cs.CC/9811023&quot; rel=&quot;nofollow&quot;&gt;Fortnow+Rogers-1999&lt;/a&gt;]. Admittedly, that result relies on a definition of $\EQP$ in terms of quantum Turing machines rather than circuits, so inherently depends on the gate-set of a circuit being finite; it would not be shocking to negate it, but negating it is a warning sign that we may be doing something unreasonable. It would still be nice to find a way to keep it intact.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is a potentially more awkward problem, however, which I am less well-equipped to consider myself.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we study $\EQP$ out of interest in theory of computation (as opposed to practical application, where $\mathsf{BQP}$ will be more relevant for the foreseeable future), it doesn't make sense to consider coefficients which are themselves only computable to finite precision. Instead we should probably consider coefficients which are expressed symbolically as algebraic numbers: that is, where each individual gate has coefficients drawn from some finite extension of $\mathbb Q$. This picture of quantum computation is preicsely what the classic results $\mathsf{BQP \subseteq PP}$, $\mathsf{EQP \subseteq LWPP}$, and $\mathsf{NQP = coC_=P}$ rely on, so I'm quite comfortable allowing the coefficients be specified abstractly and &quot;symbolically&quot;, so that the only precision involved is the length of the representation of a polynomial of which a given coefficient is a root, or something similar.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem is this: completely aside from whether or not you can hide non-trivial polynomial amounts of computation in the computation of the coefficients, I worry that the linear combinations of these algebraic coefficients, arising from the matrix multiplication itself, might itself hide non-trivial amounts of work by simulating a &lt;a href=&quot;http://en.wikipedia.org/wiki/Blum%E2%80%93Shub%E2%80%93Smale_machine&quot; rel=&quot;nofollow&quot;&gt;Blum-Shub-Smale machine&lt;/a&gt;. I'm not very familiar with the issues involved in that, so I wonder whether allowing infinite gate-sets might be a bit of a minefield.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question #1.&lt;/strong&gt; What &lt;em&gt;theoretical&lt;/em&gt; problems (as opposed to practical problems, &lt;em&gt;i.e.&lt;/em&gt; let us not concern ourselves any more with experimental implementation than we would with the polynomial hierarchy) does one have to worry about &amp;mdash; for &lt;em&gt;bounded error&lt;/em&gt; as well as for exact quantum computation &amp;mdash; if one considers infinite gate-sets allowing the simulation of complicated arithmetic over the reals?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question #2.&lt;/strong&gt; What are the sufficient conditions for an infinite gate set to be &quot;benign&quot;, from a standpoint of computational complexity?&lt;/p&gt;&#xA;" OwnerUserId="248" LastEditorUserId="248" LastEditDate="2014-04-28T01:19:24.117" LastActivityDate="2014-04-28T08:59:39.527" Title="What complexity issues are there in considering quantum algorithms with infinite gate-sets?" Tags="&lt;cc.complexity-theory&gt;&lt;quantum-computing&gt;&lt;computing-over-reals&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="22317" PostTypeId="2" ParentId="22316" CreationDate="2014-04-28T01:19:00.123" Score="6" Body="&lt;p&gt;To answer my own question: for the purposes of exact computation, there's no need to worry about having too much computational power from linear combinations of algebraic numbers.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Details&lt;/h2&gt;&#xA;&#xA;&lt;h3&gt;On representations of algebraic numbers.&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;If the coefficients of all of the gates in a unitary circuit $U_n$ belong to a field extension $\mathbb E{:}\mathbb Q$ of finite dimension, we can represent elements of $\mathbb E$ as rational vectors of polynomial dimension by construction. Sums of these numbers are performed component-wise, and products by fixed elements of $\mathbb E$ are linear transformations of those vectors. So we may reduce the representation of this model of computation to one over the rational numbers, albeit with the property of unitarity (or for vectors, having unit $\ell_2$-norm) not being directly represented in the linear transformations.&lt;/p&gt;&#xA;&#xA;&lt;h3&gt;Bounding the complexity of exact quantum computation with infinite gate sets.&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;For a decision problem represented as a function $P: \{0,1\}^n \to \{0,1\}$, using classic results involving uncomputation, we can suppose that the unitary circuit computes a function&#xA;$$ U_n |x\rangle|0^m\rangle|0\rangle = |x\rangle|0^m\rangle|P(x)\rangle $$&#xA;for some number $\def\poly{\mathrm{poly}}m \in O(\poly(n))$ of ancillas. Being a standard basis vector, this obviously has only rational coefficients, so in the vectors representing the elements of the field $\mathbb E$ we only need to compute the  component of rational contributions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If &amp;mdash; furthermore &amp;mdash; the coefficients of all gates in $U_n$ can be expressed in the form $\tfrac{1}{m} \alpha$, where $m$ can be computed in polynomial time from $n$ and where $\alpha$ is a sum of algebraic integers, the standard proof that $\mathsf{EQP \subseteq LWPP}$ goes through with only simple modifications. Note that this appears to rule out the $\Lambda\mathrm{QFT}$ operator described above, for which we would have $m^2 = {(2^n)!}/{(2^{n-1})!}$, which is monstrously large.&lt;/p&gt;&#xA;&#xA;&lt;h3&gt;Bounding the complexity of bounded-error quantum computation with infinite gate sets&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;Bounded error quantum computation with symbolically specified coefficients is slightly more worrying on the face of it, as it appears to allow unit-cost comparison of algebraic numbers with 1/3 or 2/3. Of course, the same is true for circuit families constructed from a finite gate-set; only in that case the comparisons are being made between algebraic numbers from a field-extension $\mathbb E{:}\mathbb Q$ which is of constant degree, rather than degree $D \in O(\poly(n))$ growing with the input size as in our setting.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is clear that being able to make these comparisons allows us to save at most a polynomial amount of work, as any one coefficient of $\mathbb E$ is a  $\poly(n)$-sized sum of numbers $a_j$, each of which can be computed to precision $\varepsilon$ in time $O(\poly \log(a_j) \poly \log(1/\varepsilon))$; and for deciding problems in $\mathsf{BQP}$, it suffices to consider $\varepsilon \in O(1/\poly(n))$. &#xA;So any complexity which is subsumed into evaluating whether the norm-square of a coefficient is large or small will not affect any results concerning complexity classes, and actually only amounts to computing $\poly(n)$ algebraic integers numbers up to $\log(n)$ bits of precision and adding them.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An obvious solution to making sure that no complexity is hidden in the construction of the gate is to make the gate have cost greater than $1$ to use, associated to the complexity of the coefficients. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For consistency with the case of finite gate sets, we suppose that the cost of applying any gate from a gate-set of size $O(1)$ is only a constant; and so that results on complexity are robust, we want the cost of applying a gate &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;not to compound the cost of transforming many amplitudes in parallel (so that the cost of performing a single-qubit gate does not depend on whether you consider it to &quot;act&quot; on many qubits when you take the tensor product with the identity), and &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;to be independent of what other gates are used in the circuits (we don't assess the cost of any gate depending on whether the circuit uses more exotic gates as well).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;We may therefore suppose that the cost of performing arithmetic on the amplitudes does not compound with the number of amplitudes being transformed in parallel, and that a rational linear combination (with coefficients $a_j$) of rational numbers $x_j$ may be performed effectively at a cost depending only on the complexity of specifying the coefficients $a_j$ themselves.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Extension degree cost.&lt;/strong&gt; For a given gate $G$, one might assign to $G$ a cost which depends on the degree $d$ of an minimum extension $\mathbb G{:}\mathbb Q$ of a field $\mathbb G \subseteq \mathbb E$ which contains the gate elements. For a &quot;typical&quot; field extension of $\mathbb Q$ by radicals (&lt;em&gt;i.e.&lt;/em&gt; by the $n^{\mathrm{th}}$  roots of numbers), multiplication of an element of $\mathbb E$ by a coefficient in $\mathbb G$ would be represented as a $D \times D$ linear transformation over $\mathbb Q$, which decomposes as a tensor product of a $d \times d$ matrix with a $D/d \times D/d$ identity operation &amp;mdash; that is: it is analogous to performing a $d \times d$ matrix to several amplitudes in parallel &amp;mdash; it seems reasonable to me to impose a cost for $G$ which is proportional to $d^2$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Precision cost.&lt;/strong&gt; To avoid ignoring any complexity associated with arithmetic involving any one of the coefficients (&lt;em&gt;e.g.&lt;/em&gt; algebraic extensions of the form $\mathbb Q[1/{\sqrt N}]$, which is a degree two extension but where $N$ may be huge), we may take the further step of considering the coefficients of the minimal polynomial for each element of $G$ (which for ${1}/{\sqrt N}$ would be $Nx^2 - 1$). We then assign a &quot;coefficient cost&quot; to $G$ of $\ell = \max \log_2(|c| + 1)$, where $c$ is any one coefficient of a minimal polynomial for an element of $G$, and the maximum is taken over all such coefficients. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Arity cost.&lt;/strong&gt; Finally, to avoid many single-qubit gates being performed with unit cost for arbitrarily many qubits, we impose on gates $G$ with arity $k$ and which do not factor as $G' \otimes \mathbf 1$ over any bipartition a cost proportional to $k$. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;We may then assign to any $k$-qubit gate $G$ the cost $d^2\ell k$, essentially accounting for any work being performed by recombination of the coefficients.&#xA;In the case of the extension $\mathbb E{:}\mathbb Q$ having finite degree, all gates would then have cost $O(1)$, reducing to the usual asymptotic analysis of computations with finite gate sets. This seems to me to be a perfectly fair way to assign costs to constructions of exotic gates.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;The Bottom Line&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;If you allow gates which depend on the input size $n$, but&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;require that all gates for a given input size have coefficients which are expressible as a sum of terms $\tfrac{1}{m} \alpha$ for $\alpha$ an algebraic integer and $m$ a fixed integer computible in time $O(\poly(n))$, and&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;assign to each gate $G$ a cost $d^2 \ell k$, where $d$ in effect is the degree of the extension of $\mathbb Q$ required by $G$, $\ell$ effectively measures the precision required by the extension, and $k$ is the number of qubits on which $G$ acts,&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;then you recover a theory of quantum computation in which all of the classic complexity results seem to hold (save the equivalence of uniform circuit families to quantum Turing machines), essentially no complexity is being hidden in the choice of gates, and which reduces to the standard theory for constant-sized gate sets. As a result, it should be safe to define $\EQP$ in terms of such a gate model &amp;mdash; and also $\mathsf{BQP}$, though the existence of an approximately universal gate-set makes this unnecessary.&lt;/p&gt;&#xA;" OwnerUserId="248" LastEditorUserId="248" LastEditDate="2014-04-28T08:59:39.527" LastActivityDate="2014-04-28T08:59:39.527" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="22320" PostTypeId="2" ParentId="22306" CreationDate="2014-04-28T07:31:59.720" Score="7" Body="&lt;p&gt;Re your question 1: Guillemot and Marx, &quot;&lt;a href=&quot;http://www.cs.iastate.edu/~sguillem/papers/SODA14.pdf&quot;&gt;Finding small patterns in permutations in linear time&lt;/a&gt;&quot;, SODA 2014 solves these problems in linear time, and more generally gives a linear time recognition algorithm for every fixed permutation class with a finite basis.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I don't know of an answer for question 2 (when the subpattern may be variable in size).&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2014-04-28T07:31:59.720" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22323" PostTypeId="1" CreationDate="2014-04-28T10:22:34.790" Score="4" ViewCount="105" Body="&lt;p&gt;Let $P$ be a graded poset with rank function $r$. We may then define its rank-polynomial as:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;$R_P(q) = \sum_{x \in P} q^{r(x)}$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;This definition can be applied to several interesting posets, for instance:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;when $P$ is the Boolean lattice over $n$ elements, we have $R_P(q) = \sum_{i = 0}^{n} \binom{n}{i} q^i = (1+q)^n$,&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;when $P$ is the $n$-permutohedron, we have $R_P(q) = \prod_{i = 1}^{n} [i]_q$, where by convention $[n]_q = \sum_{i = 0}^{n-1} q^i$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;more generally, when $G \subseteq S_n$ is a permutation group with basis $B$, we may define the &lt;em&gt;rank&lt;/em&gt; of an element $x \in G$ as the length of a minimum decomposition of $x$ over $B$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The last case seems the most interesting: is it then possible to compute $R_P(q)$ in polynomial time given a presentation of $G$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, are there other examples of graded posets for which a closed formula is known?&lt;/p&gt;&#xA;" OwnerUserId="21714" LastActivityDate="2014-04-28T10:22:34.790" Title="The rank-polynomial of a graded poset" Tags="&lt;permutations&gt;&lt;polynomials&gt;&lt;partial-order&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22325" PostTypeId="1" CreationDate="2014-04-28T11:04:19.467" Score="1" ViewCount="286" Body="&lt;p&gt;What's the lower-bound of the decision problem that decides:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Whether there is at least one element A[i] such that A[i] = i in a sorted array A of non-negtive integers? (An example is A = {0,1,1,3,4,4,5}.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there any sub-linear deterministic algorithm can solve the problem?&lt;/p&gt;&#xA;" OwnerUserId="22677" LastActivityDate="2014-04-29T19:22:07.033" Title="Lower-bound of a decision problem" Tags="&lt;complexity-classes&gt;&lt;time-complexity&gt;" AnswerCount="2" CommentCount="0" ClosedDate="2014-04-29T21:50:36.797" ContentLicense="CC BY-SA 3.0" />
  <row Id="22326" PostTypeId="2" ParentId="22325" CreationDate="2014-04-28T11:40:48.737" Score="2" Body="&lt;p&gt;I dont have a complete solution. But for the case when the elements in the array are strictly increasing, one can find the solution in $\log(n)$ time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Solution&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $B[i] = A[i] - i$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now search for element $0$ in $B$ using binary search.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Proof :&lt;/strong&gt;&#xA;For the above algorithm to work, we need to prove that $B$ is also sorted.&#xA;$$A[i] &amp;lt; A[i+1]\\&#xA;\text{thus we  have } &#xA;A[i] \leq A[i+1] - 1\\&#xA;A[i] - i \leq A[i+1] - (i + 1)\\&#xA;B[i] \leq B[i+1]&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT 1&lt;/strong&gt; This algorithm doesnt explicitly evaluate the matrix $B$. It uses the definition $B[i] = A[i] - i$ whenever required.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT 2&lt;/strong&gt; The restriction $A$ has to satisfy for the above case is $A[i+j] - A[i] \geq j \; \forall j &amp;gt; 0$. We could relax the restriction to the following &#xA;$$ A[j+i] - A[i] \geq i \; \forall j &amp;gt; f(n) $$ where $f(n)$ is a sublinear function in $n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The above restriction would ensure that $B[i+j] \geq B[j] \;\forall j &amp;gt; f(n)$. Now we can use a simple variant of binary search for obtain the solution in $O(f(n)*\log n)$ time.&lt;/p&gt;&#xA;" OwnerUserId="16261" LastEditorUserId="16261" LastEditDate="2014-04-29T04:15:22.720" LastActivityDate="2014-04-29T04:15:22.720" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="22327" PostTypeId="2" ParentId="22325" CreationDate="2014-04-28T11:43:47.540" Score="9" Body="&lt;p&gt;There is no sub-linear algorithm for it, assuming the array may have duplicates as in your example. The following shows that any algorithm must read all of $|A|$'s values.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assume that there's sub linear algorithm $Alg$ that decides it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Define an array $A$ by $A_k = k+1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since $alg$ is sublinear, there has to be some cell of $A$ he didn't query. Denote such cell's index by $i$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Define $B_k = \left\{&#xA;	\begin{array}{ll}&#xA;		k+1  &amp;amp; \mbox{if } k \neq i \\&#xA;		i &amp;amp; \mbox{if } k = i \\&#xA;	\end{array}&#xA;\right.$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note since $Alg$ doesn't read cell $i$, it will answer the same for both $A$ and $B$, but obviously one of these answers is wrong..&lt;/p&gt;&#xA;" OwnerUserId="21001" LastEditorUserId="21001" LastEditDate="2014-04-29T19:22:07.033" LastActivityDate="2014-04-29T19:22:07.033" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="22328" PostTypeId="1" AcceptedAnswerId="22339" CreationDate="2014-04-28T15:08:00.763" Score="13" ViewCount="1009" Body="&lt;p&gt;It is well known that the complexity of distinguishing an $\epsilon$ biased coin from a fair one is $\theta(\epsilon^{-2})$. Are there results for distinguishing a $p$ coin from a $p+\epsilon$ coin? I can see that for the special case of $p=0$, the complexity will be $\epsilon^{-1}$. I have a hunch that the complexity will depend on whether $p$ is of the order of $\epsilon$, but can't prove so rigorously. Any hints/references?&lt;/p&gt;&#xA;" OwnerUserId="21564" LastActivityDate="2014-04-29T04:24:00.380" Title="Distinguishing between two coins" Tags="&lt;reference-request&gt;&lt;time-complexity&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="22337" PostTypeId="1" AcceptedAnswerId="22340" CreationDate="2014-04-28T23:24:32.843" Score="13" ViewCount="366" Body="&lt;p&gt;I've got a reduction of the following partition problem to a certain scheduling problem:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Input:&lt;/strong&gt; A list $a_1\leqslant\cdots\leqslant a_n$ of positive integers in non-decreasing order.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question:&lt;/strong&gt; Does there exist a vector $(x_1,\ldots,x_n)\in\{-1,1\}^n$ such that &lt;/p&gt;&#xA;&#xA;&lt;p&gt;\[\sum_{i=1}^na_ix_i=0\qquad\text{and}\]&#xA;\[\sum_{i=1}^ka_ix_i\geqslant 0\quad\text{for all }k\in\{1,\ldots,n\}\]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Without the second condition it's just PARTITION, hence NP-hard. But the second condition seems to provide a lot of additional information. I'm wondering if there is an efficient way of deciding this variant. Or is it still hard?  &lt;/p&gt;&#xA;" OwnerUserId="15637" LastEditorUserId="15637" LastEditDate="2014-04-29T03:20:00.827" LastActivityDate="2014-04-29T03:48:22.663" Title="Another variant of PARTITION" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;partition-problem&gt;&lt;subset-sum&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="22338" PostTypeId="2" ParentId="8829" CreationDate="2014-04-29T01:40:49.110" Score="-5" Body="&lt;p&gt;Sasho's argument relies on the eternal P=NP problem for which no consensus currently exists.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, if we follow C. Shannon's cryptanalysis of the one-time pad, declassified in 1947, that is: there is no mathematically secure encryption algorithm other than the one time pad. His argument is based on the idea that, if we have a truly random sequence of numbers $r_1,r_2,r_3,\ldots,r_n$ and for some sequence to encrypt, $s_1,s_2,s_3,\ldots,s_n$, we encrypt as follows:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$f(r_i,s_i) = r_i \oplus s_i = c_i$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If the sequence is truly random, we would try to compute $f^{-1}(r_i,s_i)$ and the result would then be that all sequences are equiprobable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We could mimic Shannon's result for one-way functions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The function is the map $f:\mathbb{Z}/n\mathbb{Z}\times \mathbb{Z}/n\mathbb{Z}\rightarrow\mathbb{Z}/n\mathbb{Z}$ and the inverse function is the map $f:\mathbb{Z}/n\mathbb{Z}\rightarrow\mathbb{Z}/n\mathbb{Z}\times \mathbb{Z}/n\mathbb{Z}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The catch is that we do not know if there exists truly random numbers as the question is equivalent to Einstein's comment on &quot;God does not play dices&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, for all purposes, a random number generator based on a physical process is considered random enough by experts.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This said, the moment we are trying to reverse $(c_i,r_i)$, that is, the random numbers are no longer secret, reversal is trivial.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Furthermore, this one-way function does not have the nice properties of most cryptographically-secure hashing functions such as collision-resistance. Moreover, we have the situation that $f(r_i,s_k)\neq f(r_j,s_k)$. This means that a same value $s_k$ gets hashed to two different values. And $f(r_i,s_i) = f(r_j,s_j)$ is common.&lt;/p&gt;&#xA;" OwnerUserId="22720" LastEditorUserId="-1" LastEditDate="2014-05-18T06:25:31.663" LastActivityDate="2014-05-18T06:25:31.663" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="22339" PostTypeId="2" ParentId="22328" CreationDate="2014-04-29T01:56:33.863" Score="15" Body="&lt;p&gt;I suggest you use the framework found in the following paper:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://infoscience.epfl.ch/record/88161?ln=en&quot;&gt;How Far Can We Go Beyond Linear Cryptanalysis?&lt;/a&gt;, Thomas Baignères, Pascal Junod, Serge Vaudenay, ASIACRYPT 2004.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The crucial result says that you need $n \sim 1/D(D_0 \,||\, D_1)$, where $D(D_0 \,||\, D_1)$ is the Kullback-Leibler distance between the two distributions $D_0$ and $D_1$.  Expanding out the definition of the K-L distance, we see that in your case&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$D(D_0 \,||\, D_1) = p \log \frac{p}{p+\epsilon} + (1-p) \log \frac{1-p}{1-p-\epsilon},$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;with the convention that $0 \log \frac0p = 0$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;When $p \gg \epsilon$, we find $D(D_0 \,||\, D_1) \approx \epsilon^2/(p(1-p))$.  Thus, when $p \gg \epsilon$, we find that you need $n \sim p(1-p)/\epsilon^2$ coin flips.  When $p = 0$, we find $D(D_0 \,||\, D_1) = -\log(1-\epsilon) \approx \epsilon$, so you need $n \sim 1/\epsilon$ coin flips.  Thus, this formula is consistent with the special cases you already know about... but it generalizes to all $n,\epsilon$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For justification, see the paper.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;When $p \gg \epsilon$, the justification is easy to work through by hand.  With $n$ observations, the number of heads is either $\text{Binomial}(n,p)$ or $\text{Binomial}(n,p+\epsilon)$, so you want to find the smallest $n$ such that these two distributions can be distinguished.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can approximate both of these by a Gaussian with the right mean and variance, and then use standard results on the difficulty of distinguishing two Gaussians, and the answer should fall out.  The approximation is fine if $p \ge 5/n$ or so.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In particular, this comes down to distinguishing $\mathcal{N}(\mu_0,\sigma_0^2)$ from $\mathcal{N}(\mu_1,\sigma_1^2)$ where $\mu_0 = pn$, $\mu_1 = p+\epsilon)n$, $\sigma_0^2 = p(1-p)n$, $\sigma_1^2 = (p+\epsilon)(1-p-\epsilon)n$.  You'll find that the probability of error in the optimal distinguisher is $\text{erfc}(z)$ where $z = (\mu_1-\mu_0)/(\sigma_0+\sigma_1) \approx \epsilon \sqrt{n / 2p(1-p)}$.  Thus, we need $z \sim 1$ to distinguish with constant success probability.  This amounts to the condition that $n \sim 2p(1-p)/\epsilon^2$ (up to a constant factor)... when $p \gg \epsilon$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the general case... see the paper.&lt;/p&gt;&#xA;" OwnerUserId="5038" LastEditorUserId="5038" LastEditDate="2014-04-29T04:24:00.380" LastActivityDate="2014-04-29T04:24:00.380" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22340" PostTypeId="2" ParentId="22337" CreationDate="2014-04-29T02:48:30.667" Score="15" Body="&lt;p&gt;Here is a reduction from PARTITION to this problem. Let $(a_1,\dots, a_n)$ be an instance of PARTITION. Assume that $a_1\leq a_2\leq \dots \leq a_n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $N$ be a “very large number”, e.g. $N = (\sum_{i=1}^n |a_i|) + 1$. Consider the instance &#xA;$$\underbrace{N, \dots, N}_{5n \text{ times}}, N + a_1, \dots, N+a_n,\underbrace{4N, \dots, 4N}_{n \text{ times}}$$&#xA;of our problem. &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;If there is a solution $x_1,\dots, x_n$ to PARTITION then &#xA;$$\underbrace{1, \dots, 1}_{4n \text{ times}},-x_1,\dots,-x_n,x_1,\dots,x_n,\underbrace{-1,\dots,-1}_{n \text{ times}}$$ &#xA;is a solution to our problem.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;If there is a solution $(x_1,\dots,x_{5n},y_1,\dots, y_n, z_1,\dots,z_n)$ to the instance of our problem (which we reduced an instance of PARTITION to), then $\sum_{i=1}^n a_i y_i \equiv 0 \pmod N$. Thus $$\sum_{i=1}^n a_i y_i = 0. $$&#xA;That is, $(y_1,\dots, y_n)$ is a solution to PARTITION.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="9929" LastEditorUserId="9929" LastEditDate="2014-04-29T03:48:22.663" LastActivityDate="2014-04-29T03:48:22.663" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="22341" PostTypeId="1" CreationDate="2014-04-29T06:27:02.353" Score="0" ViewCount="142" Body="&lt;p&gt;According to the following paper by &lt;a href=&quot;http://www.math.uiuc.edu/~z-furedi/PUBS/furedi_C4abs.ps&quot; rel=&quot;nofollow&quot;&gt;Füredi&lt;/a&gt;, the maximum number of edges for a graph with $n$ vertices is upper bounded by $O(n^{\frac{3}{2}})$, where the leading co-efficient of the term $n^{\frac{3}{2}}$ is $\frac{1}{2}$. The paper also provides examples of graphs, for certain special values of $n$, where the number of edges exactly equal to the upper bound. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I wanted to know there exists graphs G(V,E) ($|V| = n $) for all values of $n$ such that&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\Big|E - \small{\frac{1}{2}}n^{\frac{3}{2}}\Big| = o\big(n^\frac{3}{2}\big)$$&lt;/p&gt;&#xA;" OwnerUserId="16261" LastEditorUserId="2367" LastEditDate="2014-05-27T21:57:28.570" LastActivityDate="2014-05-27T21:57:28.570" Title="Edges in a graph with girth greater than 4" Tags="&lt;reference-request&gt;&lt;graph-theory&gt;&lt;co.combinatorics&gt;" AnswerCount="0" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="22343" PostTypeId="1" AcceptedAnswerId="22345" CreationDate="2014-04-29T13:18:39.247" Score="6" ViewCount="203" Body="&lt;p&gt;Consider the set of  $n^2 - n$ pairs $\{(i, j)\ |\ i \neq j \leq n\}$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Call a partition $(P_1,\ldots,P_r)$ of this set &lt;em&gt;valid&lt;/em&gt; if for each $P_t$, the sets $\{i\ |\ \exists k: (i,k) \in P_t\}$ and $\{j\ |\ \exists k: (k,j) \in P_t\}$ are disjoint.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would like a lower bound on the size (i.e. number of sets) of any valid partition. This feels like a natural problem but I was unable to find a reference.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that there are valid partitions containing sets of size $n^2/4$, e.g. those containing $\{(i, j)\ |\ i \leq n/2 \mbox{ and } j &amp;gt; n/2\}$.&lt;/p&gt;&#xA;" OwnerUserId="22730" LastActivityDate="2014-04-30T14:11:50.573" Title="Partition of $\{(i, j)\ |\ i \neq j \leq n\}$" Tags="&lt;co.combinatorics&gt;" AnswerCount="3" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="22344" PostTypeId="1" AcceptedAnswerId="22347" CreationDate="2014-04-29T13:21:23.093" Score="3" ViewCount="182" Body="&lt;p&gt;I am interested in the problem of finding a real root of a polynomial equation $f(x)=0$ where&#xA;$f(x)=\sum_{i=0}^n a_ix^i$. Is it possible to give a reduction, i.e, to compute a different polynomial $g$ in polytime such that $f$ has a real root iff $g$ has a real root in [0,1]$?&lt;/p&gt;&#xA;" OwnerUserId="22166" LastActivityDate="2014-05-01T11:07:59.013" Title="Root finding in [0,1]" Tags="&lt;reductions&gt;&lt;polynomials&gt;" AnswerCount="2" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22345" PostTypeId="2" ParentId="22343" CreationDate="2014-04-29T13:31:02.037" Score="5" Body="&lt;p&gt;&lt;strong&gt;The optimal partition is of size &lt;span class=&quot;math-container&quot;&gt;$\Theta(logn)$&lt;/span&gt;.&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;hr /&gt;&#xA;&lt;p&gt;&lt;strong&gt;Lower bound:&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;A proof of the lower bound can be done inductively by using the claim &amp;quot;a partition of &lt;span class=&quot;math-container&quot;&gt;$k$&lt;/span&gt; numbers require &lt;span class=&quot;math-container&quot;&gt;$\geq log_2 k$&lt;/span&gt; sets&amp;quot;.&lt;/p&gt;&#xA;&lt;p&gt;The base, for &lt;span class=&quot;math-container&quot;&gt;$k=2$&lt;/span&gt; is trivial.&#xA;For general &lt;span class=&quot;math-container&quot;&gt;$k$&lt;/span&gt;, it's enough to observe that every partition you make still leaves a set &lt;span class=&quot;math-container&quot;&gt;$\{&amp;lt;i,j&amp;gt;|i,j\in I, i\neq j\}$&lt;/span&gt; uncovered where &lt;span class=&quot;math-container&quot;&gt;$I \geq \frac{k}{2}$&lt;/span&gt;, use the induction hypothesis and you're done.&lt;/p&gt;&#xA;&lt;hr /&gt;&#xA;&lt;p&gt;&lt;strong&gt;Upper bound:&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;You can build a simple &lt;span class=&quot;math-container&quot;&gt;$O(logn)$&lt;/span&gt; sized partition in the following way:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;Partition&lt;/strong&gt;(min,max)&lt;/p&gt;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$setA$&lt;/span&gt; = &lt;span class=&quot;math-container&quot;&gt;$\{(i,j) | i\leq min+\frac{min+max}{2}, j&amp;gt;min+\frac{min+max}{2}\}$&lt;/span&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$setB$&lt;/span&gt; = &lt;span class=&quot;math-container&quot;&gt;$\{(i,j) | i&amp;gt; min+\frac{min+max}{2}, j\leq min+\frac{min+max}{2}\}$&lt;/span&gt;&lt;/p&gt;&#xA;&lt;p&gt;return &lt;span class=&quot;math-container&quot;&gt;$\{setA,setB\}\cup Partition(min,min+\frac{min+max}{2}) \# Partition(min+\frac{min+max}{2},max)$&lt;/span&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;( where initially you run Partition(1,&lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt;) ).&lt;/p&gt;&#xA;&lt;p&gt;The idea is greedily selecting the largest possible sets A,B and reducing the problem in size.&lt;/p&gt;&#xA;&lt;p&gt;When you recursively approach the smaller fragments of the set, you can join these together (two sets per each recursion level - join all the setA's together and all of the setB's), as their elements are disjoint.&lt;/p&gt;&#xA;&lt;p&gt;i.e. if &lt;span class=&quot;math-container&quot;&gt;$n=4$&lt;/span&gt;, then the initial sets are &lt;span class=&quot;math-container&quot;&gt;$setA=\{&amp;lt;1,3&amp;gt;,&amp;lt;1,4&amp;gt;,&amp;lt;2,3&amp;gt;,&amp;lt;2,4&amp;gt;\}$&lt;/span&gt;, &lt;span class=&quot;math-container&quot;&gt;$setB=\{&amp;lt;3,1&amp;gt;,&amp;lt;3,2&amp;gt;,&amp;lt;4,1&amp;gt;,&amp;lt;4,2&amp;gt;\}$&lt;/span&gt;, when you join the inner sets you get in addition the sets &lt;span class=&quot;math-container&quot;&gt;$\{&amp;lt;1,2&amp;gt;,&amp;lt;3,4&amp;gt;\}$&lt;/span&gt;  and &lt;span class=&quot;math-container&quot;&gt;$\{&amp;lt;2,1&amp;gt;,&amp;lt;4,3&amp;gt;\}$&lt;/span&gt; (which is the union of the inner).&lt;/p&gt;&#xA;&lt;p&gt;The number of sets in the partition is given by:&#xA;&lt;span class=&quot;math-container&quot;&gt;$$S(n) = 2 + S(\lceil n/2\rceil) = 2\lceil log_2n\rceil = O(logn)$$&lt;/span&gt;&lt;/p&gt;&#xA;&lt;p&gt;Another example, for &lt;span class=&quot;math-container&quot;&gt;$n=8$&lt;/span&gt;:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;span class=&quot;math-container&quot;&gt;$\{1,2,3,4\}\times \{5,6,7,8\}$&lt;/span&gt;.&lt;/li&gt;&#xA;&lt;li&gt;&lt;span class=&quot;math-container&quot;&gt;$\{5,6,7,8\}\times \{1,2,3,4\}$&lt;/span&gt;.&lt;/li&gt;&#xA;&lt;li&gt;&lt;span class=&quot;math-container&quot;&gt;$\{1,2\}\times \{3,4\} \cup \{5,6\}\times \{7,8\}$&lt;/span&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;span class=&quot;math-container&quot;&gt;$\{3,4\}\times \{1,2\} \cup \{7,8\}\times \{5,6\}$&lt;/span&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;span class=&quot;math-container&quot;&gt;$\{&amp;lt;1,2&amp;gt;,&amp;lt;3,4&amp;gt;,&amp;lt;5,6&amp;gt;,&amp;lt;7,8&amp;gt;\}$&lt;/span&gt;.&lt;/li&gt;&#xA;&lt;li&gt;&lt;span class=&quot;math-container&quot;&gt;$\{&amp;lt;2,1&amp;gt;,&amp;lt;4,3&amp;gt;,&amp;lt;6,5&amp;gt;,&amp;lt;8,7&amp;gt;\}$&lt;/span&gt;.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="21001" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2014-04-29T14:17:32.247" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="22347" PostTypeId="2" ParentId="22344" CreationDate="2014-04-29T14:36:53.607" Score="4" Body="&lt;p&gt;Not sure if this is the right SE forum for it, but the answer is yes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'll give the reduction in two steps:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;$f(x)$ has a root iff $h(x)$ has a root in [-1,1] (scaling, i.e. $h(x)=f(\alpha \cdot x)$).&lt;/li&gt;&#xA;&lt;li&gt;$h(x)$ has a root in [-1,1] iff $g(x)$ has a root in [0,1] (simply define $g(x)=h(\frac{x+1}{2})$).&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Let's prove 1:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let's assume $f(x)$ is of degree $n$ and write it as $f(x) = x^n - a_{n-1} x^{n-1} - ... - a_0$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $\alpha \leq 1$, then all of the roots of $f$ in [-1,1] will end up in [-1,1] in $h$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $x$ be a root of $f$ such that $|x|&amp;gt;1$. This means $x^n = a_{n-1} x^{n-1} + ... + a_0$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;since $|x|&amp;gt;1$, $|x^n| &amp;gt; x^{n-1},x^{n-2},...,1$ hence $$|x| \le \text{max}(1, |a_{n-1}| + ... + |a_0|).$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Define $\alpha = \text{max}(1, |a_{n-1}| + ... + |a_0|)$ and you're done.&lt;/p&gt;&#xA;" OwnerUserId="21001" LastEditorUserId="21001" LastEditDate="2014-05-01T10:30:00.747" LastActivityDate="2014-05-01T10:30:00.747" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="22348" PostTypeId="1" CreationDate="2014-04-29T15:52:11.360" Score="11" ViewCount="264" Body="&lt;p&gt;Here is a problem with a similar flavor to learning juntas:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Input:&lt;/strong&gt; A function $f: \{0,1\}^n \rightarrow \{-1,1\}$, represented by a membership oracle, i.e. an oracle that given $x$, returns $f(x)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Goal:&lt;/strong&gt; Find a subcube $S$ of $\{0,1\}^n$ with volume $|S|=2^{n-k}$ such that $\left|\mathbb{E}_{x \in S} f(x) \right| \ge 0.1$. We assume such a subcube exists.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is easy to get an algorithm that runs in time $n^{O(k)}$ and returns a correct answer with probability $\ge 0.99$ by trying all $(2n)^k$ ways to choose a subcube and sampling the average in each one.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm interesting in finding an algorithm that runs in time $poly(n,2^k)$. Alternatively, a lower bound would be great. The problem has similar flavor to learning juntas, but I don't see an actual connection between their computational difficulty.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Update: @Thomas below proves that the sample complexity of this problem is $poly(2^k,\log n)$. The interesting issue is, still, the computational complexity of the problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit: you can assume for simplicity that there exists a subcube with $\left|\mathbb{E}_{x \in S} f(x) \right| \ge 0.2$ (notice the gap: we're looking for a subcube with average $\ge 0.1$.) I'm pretty sure any solution to the problem with the gap will also solve the problem without the gap.&lt;/p&gt;&#xA;" OwnerUserId="20830" LastEditorUserId="20830" LastEditDate="2014-05-19T08:46:37.353" LastActivityDate="2014-05-19T08:46:37.353" Title="Given $f:\{0,1\}^n \rightarrow \{-1,1\}$, find a subcube with large volume and large average value" Tags="&lt;machine-learning&gt;&lt;lg.learning&gt;&lt;boolean-functions&gt;&lt;sample-complexity&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="22349" PostTypeId="2" ParentId="22348" CreationDate="2014-04-29T17:41:11.240" Score="7" Body="&lt;p&gt;Here is a better bound on the sample complexity. (Although the computational complexity is still $n^k$.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;b&gt;Theorem.&lt;/b&gt; &lt;i&gt;Assume there exists a subcube $S$ of size $2^{n-k}$ such that $|\mathbb{E}_{x \in S}[f(x)]| \geq 0.12$. With $O(2^k \cdot k \cdot \log n)$ samples we can, with high probability, identify a subcube $S'$ of size $2^{n-k}$ such that $|\mathbb{E}_{x \in S'}[f(x)]| \geq 0.1$.&lt;/i&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note the small loss in parameters ($0.12$ is optimal versus guarantee of $0.1$). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;i&gt;Proof.&lt;/i&gt; Pick $m$ points $P \subset \{0,1\}^n$ uniformly at random and query $f$ at each $x \in P$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Fix a subcube $S$ of size $2^{n-k}$. We have $\mathbb{E}[|S \cap P|]=m 2^{-k}$. By a Chernoff bound, $$\mathbb{P}[|S \cap P| &amp;lt; m 2^{-k-1}] \leq 2^{-\Omega(m 2^{-k})}.$$ Also $$\mathbb{P}[| \mathbb{E}_{x \in S \cap P}[f(x)] - \mathbb{E}_{x \in S}[f(x)] | &amp;gt; \varepsilon] \leq 2^{-\Omega(|S \cap P| \varepsilon^2)}.$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By a union bound over all ${n \choose k}2^k$ choices of $S$, we have $$\mathbb{P}[\forall S ~~ | \mathbb{E}_{x \in S \cap P}[f(x)] - \mathbb{E}_{x \in S}[f(x)] | \leq \varepsilon] \geq 1 - {n \choose k} 2^k 2^{-\Omega(m 2^{-k} \varepsilon^2)}.$$ So by picking $m = O(2^k/\varepsilon^2 \cdot k \log n)$, we can ensure that, with probability at least $0.99$, we can estimate $\mathbb{E}_{x \in S}[f(x)]$ to within $\varepsilon$ for all subcubes $S$ of size $2^{n-k}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Setting $\varepsilon=0.01$, we prove the theorem: picking the subcube with the largest $| \mathbb{E}_{x \in S \cap P}[f(x)]|$ will, with high probability, satisfy the requirements. Q.E.D.&lt;/p&gt;&#xA;" OwnerUserId="2022" LastEditorUserId="2022" LastEditDate="2014-04-29T18:00:50.917" LastActivityDate="2014-04-29T18:00:50.917" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="22350" PostTypeId="2" ParentId="22343" CreationDate="2014-04-29T17:57:43.710" Score="8" Body="&lt;p&gt;A slightly different way of arguing for the upper bound of $\log n$ is as follows:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Observe that by mirroring across the line $x = y$, we can ignore all points in the upper triangle of the grid (at the cost of increasing the partition size by a factor of 2). &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Now consider the lower triangle. If we draw the vertical line $x = n/2$, and &quot;reflect it&quot; off the diagonal $x = y$, we get a square with endpoints $(n/2, 0)$ and $(n, n/2-1)$. all of these points can be placed in a single set. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;This leaves two similar  copies of the lower triangle with half its size. Any construction for these two triangles can be &quot;paired up&quot; since sets in these partitions don't conflict. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;This yields the recurrence &#xA;$$ S(n) = 1 + S(n/2) $$&#xA;and hence $S(n) = \Theta(\log n)$&lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2014-04-29T17:57:43.710" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="22353" PostTypeId="1" AcceptedAnswerId="22365" CreationDate="2014-04-30T01:10:26.103" Score="2" ViewCount="194" Body="&lt;p&gt;Please mind that I sometimes lack formal mathematical knowledge and English is not my first language, so I might miss the right words. Please change the tile if needed. Also, I have choosen this site as for me the question is loosely related to complexity.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assume there is a randomly generated propositional formula &lt;code&gt;f&lt;/code&gt; that includes &lt;code&gt;n_total&lt;/code&gt; number of boolean variables.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am not interested in all boolean variables, but only in a small subset of &lt;code&gt;n&lt;/code&gt; boolean variables of the formula &lt;code&gt;f&lt;/code&gt; (thus &lt;code&gt;n&lt;/code&gt; &amp;lt; &lt;code&gt;n_total&lt;/code&gt;). I want to find all possible combinations that the subset of &lt;code&gt;n&lt;/code&gt; boolean variables can take that are part of some model of &lt;code&gt;f&lt;/code&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is the expected number of SAT calls that are needed to calculate all the combinations of the &lt;code&gt;n&lt;/code&gt; boolean variables that I am interested in?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Exmaple:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assume my formula &lt;code&gt;f&lt;/code&gt; has 50 boolean variables and I am only interested in a subset of three (thus &lt;code&gt;n&lt;/code&gt; = 3) boolean variables &lt;code&gt;a1&lt;/code&gt;, &lt;code&gt;a2&lt;/code&gt;, &lt;code&gt;a3&lt;/code&gt;. What different truth values can &lt;code&gt;a1&lt;/code&gt;, &lt;code&gt;a2&lt;/code&gt; and &lt;code&gt;a3&lt;/code&gt; take where the result is an assigment that is part of a model of &lt;code&gt;f&lt;/code&gt;?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Naive solution:&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;code&gt;a1&lt;/code&gt; &lt;code&gt;a2&lt;/code&gt; &lt;code&gt;a3&lt;/code&gt;&lt;br&gt;&#xA;&lt;code&gt;0&lt;/code&gt; &lt;code&gt;0&lt;/code&gt; &lt;code&gt;0&lt;/code&gt;&lt;br&gt;&#xA;=&gt;  check with a SAT solver, if the formula &lt;code&gt;f&lt;/code&gt; has a model where all three variables &lt;code&gt;a1&lt;/code&gt;, &lt;code&gt;a2&lt;/code&gt;, &lt;code&gt;a3&lt;/code&gt; are false.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;code&gt;a1&lt;/code&gt; &lt;code&gt;a2&lt;/code&gt; &lt;code&gt;a3&lt;/code&gt;&lt;br&gt;&#xA;&lt;code&gt;0&lt;/code&gt; &lt;code&gt;0&lt;/code&gt; &lt;code&gt;1&lt;/code&gt;&lt;br&gt;&#xA;=&gt; check with a SAT solver, if the formula &lt;code&gt;f&lt;/code&gt; has a model where &lt;code&gt;a3&lt;/code&gt; is true and &lt;code&gt;a1&lt;/code&gt; and &lt;code&gt;a2&lt;/code&gt; are false&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;code&gt;a1&lt;/code&gt; &lt;code&gt;a2&lt;/code&gt; &lt;code&gt;a3&lt;/code&gt;&lt;br&gt;&#xA;&lt;code&gt;0&lt;/code&gt; &lt;code&gt;1&lt;/code&gt; &lt;code&gt;0&lt;/code&gt;&lt;br&gt;&#xA;==&gt; check with a SAT solver, if the formula &lt;code&gt;f&lt;/code&gt; has a model where &lt;code&gt;a2&lt;/code&gt; is true and &lt;code&gt;a1&lt;/code&gt; and &lt;code&gt;a3&lt;/code&gt; are false&lt;/p&gt;&#xA;&#xA;&lt;p&gt;... etc. ...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;code&gt;a1&lt;/code&gt; &lt;code&gt;a2&lt;/code&gt; &lt;code&gt;a3&lt;/code&gt;&lt;br&gt;&#xA;&lt;code&gt;1&lt;/code&gt; &lt;code&gt;1&lt;/code&gt; &lt;code&gt;1&lt;/code&gt;&lt;br&gt;&#xA;=&gt; check with a SAT solver, if the formula &lt;code&gt;f&lt;/code&gt; has a model where &lt;code&gt;a1&lt;/code&gt;, &lt;code&gt;a2&lt;/code&gt; and &lt;code&gt;a3&lt;/code&gt; are true&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Concerning the naive solution, &#xA;If I am interested in a subset of &lt;code&gt;n&lt;/code&gt; boolean variables of &lt;code&gt;f&lt;/code&gt;, all the combinations of the &lt;code&gt;n&lt;/code&gt; variables can be calculated with 2^n and thus 2^3 = 8  SAT calls.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Optimizations over the naive solution:&lt;/strong&gt;&#xA;My preliminary ideas: But what if two variables &lt;code&gt;a1&lt;/code&gt; and &lt;code&gt;a2&lt;/code&gt; are &quot;xor&quot;, thus can never be true together in a model of &lt;code&gt;f&lt;/code&gt;. In the set of the variables I am interested in (a1...a3 in the example), I can first try to find two boolean variables that are &quot;xor&quot;. Or perhaps check all combinations of two variables whether they are &quot;xor&quot; and then proceed.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If I am interested in the &lt;code&gt;expected&lt;/code&gt; number of SAT checks, is there an improvement over the 2^n number of checks of the naive solution? Assume the propositional formula &lt;code&gt;f&lt;/code&gt; is randomly generated and has random characteristics.&lt;/p&gt;&#xA;" OwnerUserId="7724" LastEditorUserId="7724" LastEditDate="2014-04-30T01:31:05.713" LastActivityDate="2014-04-30T16:36:52.640" Title="Number of SAT checks that are needed to find all combinations of subset of boolean variables of a propositional formula" Tags="&lt;time-complexity&gt;&lt;sat&gt;&lt;boolean-formulas&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="22354" PostTypeId="1" CreationDate="2014-04-30T02:15:46.910" Score="33" ViewCount="3564" Body="&lt;p&gt;From the common sense point of view, it is easy to believe that adding non-determinism to $\mathsf{P}$ significantly extends its power, i.e., $\mathsf{NP}$ is much larger than  $\mathsf{P}$. After all, non-determinism allows exponential parallelism, which undoubtedly appears very powerful.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, if we just add non-uniformity to $\mathsf{P}$, obtaining  $\mathsf{P}/poly$, then the intuition  is less clear (assuming we exclude non-recursive languages that could occur in $\mathsf{P}/poly$). One could expect that merely allowing different polynomial time algorithms for different input lengths (but not leaving the recursive realm) is a less powerful extension than the exponential parallelism in non-determinism. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Interestingly, however, if we compare these classes with the very large class $\mathsf{NEXP}$, then we see the following counter-intuitive situation. We know that $\mathsf{NEXP}$ &lt;em&gt;properly&lt;/em&gt; contains $\mathsf{NP}$, which is not surprising. (After all, $\mathsf{NEXP}$ allows &lt;em&gt;doubly&lt;/em&gt; exponential parallelism.) On the other hand, currently we cannot rule out $\mathsf{NEXP}\subseteq \mathsf{P}/poly$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thus, in this sense, non-uniformity, when added to polynomial time,  possibly makes it extremely powerful, potentially more powerful than non-determinism. It might even go as far as to simulate &lt;em&gt;doubly exponential&lt;/em&gt; parallelism! Even though we believe this is not the case, but the fact that currently it  cannot be ruled it out still suggests that complexity theorists  are struggling with &quot;mighty powers&quot; here.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;How would you explain to an intelligent layman what is behind this  &quot;unreasonable power&quot; of non-uniformity? &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="12710" LastActivityDate="2014-05-02T12:07:32.873" Title="The unreasonable power of non-uniformity" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;big-picture&gt;" AnswerCount="5" CommentCount="12" FavoriteCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="22355" PostTypeId="2" ParentId="22353" CreationDate="2014-04-30T04:50:51.213" Score="2" Body="&lt;p&gt;That's right. If $n$ is the subset you're interested in, then there are, as you said, $2^{|n|}$ possible assignments. If you don't want to go through all those possibilities, you can use various optimization techniques to essentially decrease the size of $n$. Look at the &lt;a href=&quot;http://en.wikipedia.org/wiki/Quine%E2%80%93McCluskey_algorithm&quot; rel=&quot;nofollow&quot;&gt;Quine–McCluskey algorithm&lt;/a&gt; and &lt;a href=&quot;http://en.wikipedia.org/wiki/Karnaugh_map&quot; rel=&quot;nofollow&quot;&gt;K-maps&lt;/a&gt;, for example minimization techniques.&lt;/p&gt;&#xA;" OwnerUserId="17255" LastActivityDate="2014-04-30T04:50:51.213" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22356" PostTypeId="1" AcceptedAnswerId="22382" CreationDate="2014-04-30T08:24:22.663" Score="8" ViewCount="231" Body="&lt;p&gt;For $\vec{d} \in \mathbb{N}^n$, let $Q(\vec{d}) \subset \mathbb{N}^n$ be the set of vertices of the $n$-dimensional cube scaled in the direction of the $i$-th coordinate by $d_i$, i.e. &#xA;$Q(\vec{d} = \{\langle \pm d_1, \ldots, \pm d_n\rangle\}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider the following problem:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Given a set of points in $\mathbb{N}^n$ and number $k$, &#xA;  does the set contains an $n$-dimentional arithmetic progression of length $k$?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;More formally,&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Input:&lt;/strong&gt;&lt;br&gt;&#xA;  given a finite set $X \subseteq \mathbb{N}^n$ and a positive integer $k \in \mathbb{N}^+$.  &lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;&lt;strong&gt;Question:&lt;/strong&gt;&lt;br&gt;&#xA;  are there $\vec{o}\in \mathbb{N}^n$ and $ \vec{d} \in (\mathbb{N}^+)^n$ such that &#xA;  $\vec{o}+ Q(i\vec{d})\subseteq X$ for all integers $0 \leq i \leq k$?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Informally we are looking at the containment of &#xA;the vertices of scaled $n$-dimensional axis-aligned cubes centered at $\vec{o}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does this problem have a name?&#xA;What is its complexity? &#xA;Can we solved it using dynamic programming?&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="4896" LastEditDate="2014-05-02T04:31:52.523" LastActivityDate="2014-05-02T12:35:57.907" Title="Multidimensional arithmetic progression variant" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;co.combinatorics&gt;&lt;cg.comp-geom&gt;&lt;time-complexity&gt;" AnswerCount="1" CommentCount="17" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="22357" PostTypeId="2" ParentId="21987" CreationDate="2014-04-30T08:34:17.500" Score="8" Body="&lt;p&gt;We just answered this for $k=2$: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Andreas Björklund and Thore Husfeldt, &lt;i&gt;Shortest two disjoint paths in polynomial time&lt;/i&gt;, ICALP 2014, to appear.&#xA;&lt;a href=&quot;http://thorehusfeldt.files.wordpress.com/2010/08/spdp-e5d5661.pdf&quot;&gt;PDF of proceedings version, rev. e5d5661&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="5095" LastActivityDate="2014-04-30T08:34:17.500" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22358" PostTypeId="2" ParentId="22354" CreationDate="2014-04-30T10:08:05.147" Score="10" Body="&lt;p&gt;I assume that talking with someone about $\mathbb{P/poly}$ and $\mathbb{NP}$ means that person is familiar with the $\mathbb{P}$ vs $\mathbb{NP}$ question and the verifying-solving duality. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then, I would try to explain that $\mathbb{P/poly}$ is so powerful because for each different length, the TM is given advice that it can trust completely. Then I would mention that we can devise hard (non-TM-computable actually) languages that have 1 word per input length (i.e. unary), so they are in P/poly ! But maybe a polynomial long advice isn't enough to solve all languages in $\mathbb{NP}$, since there we are allowed a different hint for every different input.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, I would remind that person that $\mathbb{NP}$ has to verify the answer, not trust it completely. So, we cannot use the same advice for each input length, it may not be verifiable!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, I would mention that complexity theorists believe that there are languages in $\mathbb{NP}$ that require more than polynomial many hints for some input length, and thus cannot be in $\mathbb{P/poly}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A critical point for giving a good understanding, which I think is also common when teaching the subject for the first time, is making clear that advice and &quot;hint&quot; (i.e. certificate) are different things, and how they differ. &lt;/p&gt;&#xA;" OwnerUserId="879" LastActivityDate="2014-04-30T10:08:05.147" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22359" PostTypeId="2" ParentId="22354" CreationDate="2014-04-30T11:25:27.003" Score="10" Body="&lt;p&gt;For me, the starkest illustration of the power of non-uniformity is that a suitably padded version of the Halting Problem is already in P/1.  A single bit of advice is then enough to decide this language with a trivial TM that simply returns the advice bit.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course, padding an undecidable language by an exponential amount means it is not &quot;morally&quot; in P/poly.  But this does show that one needs to be careful when allowing non-uniformity.&lt;/p&gt;&#xA;" OwnerUserId="109" LastActivityDate="2014-04-30T11:25:27.003" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22360" PostTypeId="1" CreationDate="2014-04-30T12:22:10.627" Score="3" ViewCount="174" Body="&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Hamiltonian_path#Bondy.E2.80.93Chv.C3.A1tal_theorem&quot; rel=&quot;nofollow&quot; &gt;Bondy-Chvátal theorem&lt;/a&gt; cannot be applied for directed graphs, is there any equivalent theorem that can be applied for them?&lt;/p&gt;&#xA;" OwnerUserId="21959" LastEditorUserId="21959" LastEditDate="2014-04-30T14:53:43.903" LastActivityDate="2014-05-01T09:09:55.663" Title="Is there any equivalent for Bondy-Chvátal theorem for directed graphs?" Tags="&lt;graph-theory&gt;" AnswerCount="0" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="22361" PostTypeId="2" ParentId="22343" CreationDate="2014-04-30T14:11:50.573" Score="5" Body="&lt;p&gt;The same partition that R B and Suresh Venkat gave can be described as follows even more explicitly. Consider the binary encoding of each number from $1$ to $n$. Let $x_i$ be the $i$-th digit in the encoding of $x$ (say, $x_1$ is the least significant digit of $x$). Note that if $x\neq y$ then $x_i\neq y_i$ for some $i\in\{1,\dots,\lceil \log_2 n\rceil\}$. Below, we will consider the first digit $i$ such that $x_i\neq y_i$. For $i\in\{1,\dots,\lceil \log_2 n\rceil\}$, we define&#xA;$$P_i = \{(x,y): \text{the first binary digit where } x \text{ and } y \text{ differ is } i, \ x_i=0, y_i=1\},$$&#xA;$$Q_i = \{(x,y): \text{the first binary digit where } x \text{ and } y \text{ differ is } i, \ x_i=1, y_i=0\}.$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is clear that every pair $(x,y)$ (where $x\neq y$) belongs to some $P_i$ or $Q_i$, and that the projections of each set on the first and second coordinates are disjoint. The total number of sets is $2\lceil \log_2 n\rceil$ by construction. &lt;/p&gt;&#xA;" OwnerUserId="9929" LastActivityDate="2014-04-30T14:11:50.573" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22362" PostTypeId="2" ParentId="22354" CreationDate="2014-04-30T15:04:10.573" Score="33" Body="&lt;p&gt;A flip answer is that this &lt;i&gt;isn't&lt;/i&gt; the first thing about complexity theory that I'd try to explain to a layperson!  To even appreciate the idea of nonuniformity, and how it differs from nondeterminism, you need to be further down in the weeds with the definitions of complexity classes than many people are willing to get.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Having said that, one perspective that I've found helpful, when explaining P/poly to undergraduates, is that nonuniformity really means you can have &lt;i&gt;an infinite sequence of better and better algorithms,&lt;/i&gt; as you go to larger and larger input lengths.  In practice, for example, we know that the na&amp;iuml;ve matrix multiplication algorithm works best for matrices up to size 100x100 or so, and then at some point Strassen multiplication becomes better, and then the more recent algorithms only become better for astronomically-large matrices that would never arise in practice.  So, what if you had the magical ability to zero in on the best algorithm for whatever range of n's you happened to be working with?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Sure, that would be a weird ability, and all things considered, probably not as useful as the ability to solve NP-complete problems in polynomial time.  But strictly speaking, it would be an &lt;i&gt;incomparable&lt;/i&gt; ability: it's not one that you would get automatically even if P=NP.  Indeed, you can even construct contrived examples of &lt;i&gt;uncomputable&lt;/i&gt; problems (e.g., given 0&lt;sup&gt;n&lt;/sup&gt; as input, does the n&lt;sup&gt;th&lt;/sup&gt; Turing machine halt?) that this ability would allow you to solve.  So, that's the power of nonuniformity.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To understand the &lt;i&gt;point&lt;/i&gt; of considering this strange power, you'd probably need to say something about the quest to prove circuit lower bounds, and the fact that, from the standpoint of many of our lower bound techniques, it's &lt;i&gt;uniformity&lt;/i&gt; that seems like a weird extra condition that we almost never need.&lt;/p&gt;&#xA;" OwnerUserId="1575" LastActivityDate="2014-04-30T15:04:10.573" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="22363" PostTypeId="1" AcceptedAnswerId="22376" CreationDate="2014-04-30T15:15:30.993" Score="20" ViewCount="506" Body="&lt;p&gt;A claw is a $K_{1,3}$. A trivial algorithm will detect a claw in $O(n^4)$ time. It can be done in $O(n^{\omega+1})$, where $\omega$ is the exponent of fast matrix multiplication, as follows: take the subgraph induced by $N[v]$ for each vertex $v$, and find a triangle in its complement.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As far as I know, these basic algorithms are only known. Spinrad listed in his book &quot;efficient graph representations&quot; the detection of a claw in $o(n^{\omega+1})$ time as an open problem (8.3, page 103). For the lower bound, we know that an $O(n^c)$-time algorithm will imply an $O(n^{\max{(c,2)}})$-time algorithm for finding a triangle. So we may consider $\Omega(n^\omega)$ as a lower bound.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Question:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Is there any progress on this. Or any progress on showing it's impossible?&lt;/li&gt;&#xA;&lt;li&gt;Are there other &lt;strong&gt;natural&lt;/strong&gt; problems with $O(n^{\omega+1})$-time algorithms which are the best?&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Remark:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;I'm explicitly asking for the detection of a claw, instead of the recognition of claw-free graphs. Although an algorithm usually solves both, there are few exceptions.&lt;/li&gt;&#xA;&lt;li&gt;It's claimed in Handbook of Algorithms and Theoretical Computer Science that it can be found in linear time, but it was only a typo (see &quot;efficient graph representations&quot;).&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="7059" LastEditorUserId="419" LastEditDate="2014-05-01T06:32:02.550" LastActivityDate="2014-05-01T14:28:59.560" Title="Is it necessary to call matrix multiplication $n$ times to find a claw" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;graph-classes&gt;" AnswerCount="2" CommentCount="9" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="22365" PostTypeId="2" ParentId="22353" CreationDate="2014-04-30T16:36:52.640" Score="4" Body="&lt;p&gt;If you really want to enumerate &lt;em&gt;all&lt;/em&gt; the assignments, then you really need to find a satisfying assignment and then &lt;em&gt;block&lt;/em&gt; it by a clause. E.g. if you find a satisfying assignment $a_1=a_2=a_3=0$ you'd block it by $a_1\lor a_2\lor a_3$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One, relatively easy improvement, is to reduce the found assignment to a (prime) &lt;em&gt;implicant&lt;/em&gt;. For instance, if $a_1\rightarrow f$, then you know that all assignments with $a_1=1$ are satisfying ($a_1$ is an implicant). You can reduce an existing satisfying assignment to an implicant by throwing one variable at a time. Similar approach published first (I think) here [1].&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Somewhat more general problem is quantifier elimination, i.e. you're given $\exists X. f$ with some free variables $Y$, where $X$ and $Y$ are sets of variables. The output is a formula $f'$ that has only free variables $Y$ and has the same set of satisfying assignments as $\exists X. f$. Some recent  papers on the problem [2][3].&#xA;(am a coauthor of the [3]).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] &lt;a href=&quot;http://link.springer.com/chapter/10.1007%2F3-540-45657-0_19&quot; rel=&quot;nofollow&quot;&gt;McMillan: Applying SAT Methods in Unbounded Symbolic Model Checking. CAV 2002&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] &lt;a href=&quot;http://ieeexplore.ieee.org/xpl/freeabs_all.jsp?arnumber=6679395&quot; rel=&quot;nofollow&quot;&gt;Goldberg,Manolios: Quantifier elimination via clause redundancy. FMCAD 2013&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[3] &lt;a href=&quot;http://link.springer.com/chapter/10.1007%2F978-3-642-40627-0_33&quot; rel=&quot;nofollow&quot;&gt;Klieber et: al Solving QBF with Free Variables. CP 2013&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="4506" LastActivityDate="2014-04-30T16:36:52.640" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22367" PostTypeId="2" ParentId="22354" CreationDate="2014-04-30T18:23:59.773" Score="28" Body="&lt;p&gt;Here is a &quot;smoothness&quot; argument that I heard recently in defense of the claim that non-uniform models of computation should be more powerful than we suspect. On one hand, we know from the time hierarchy theorem that there are functions computable in time $O(2^{2n})$ that are not computable in time $O(2^{n})$, for example. On the other hand, by Lupanov's theorem, &lt;strong&gt;any&lt;/strong&gt; boolean function on $n$ inputs is computable by a circuit of size $(1+o(1))2^n/n$. So if we claim that nonuniformity does not give much power, that is that $\mathsf{SIZE}(f(n))$ should behave like $\mathsf{DTIME}(f(n)^{O(1)})$, then this claim should abruptly stop holding when $f(n)$ becomes $2^{O(n)}$. But this behavior --- two complexity measures go hand in hand until all of a sudden one of them becomes all-powerful --- seems arbitrary and somewhat unnatural.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, if circuits are powerful enough that $\mathsf{NP} \subseteq \mathsf{P/poly}$, then by Karp-Lipton the polynomial hierarchy collapses to the second level, which would also be odd: why would quantifiers suddenly stop giving computation more power? I am not sure where this leaves us.&lt;/p&gt;&#xA;" OwnerUserId="4896" LastActivityDate="2014-04-30T18:23:59.773" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="22368" PostTypeId="2" ParentId="22363" CreationDate="2014-04-30T19:41:53.663" Score="15" Body="&lt;p&gt;I don't know how to avoid doing $n$ matrix multiplies, but you can analyze it in such a way that the time is effectively that of a smaller number of them. This trick is from&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Kloks, Ton; Kratsch, Dieter; Müller, Haiko (2000), &quot;Finding and counting small induced subgraphs efficiently&quot;, Information Processing Letters 74 (3–4): 115–121, doi:10.1016/S0020-0190(00)00047-8, MR 1761552.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The first observation is that, when you're going matrix multiplies, the matrices are not really $n\times n$, but $d\times d$ where $d$ is the degree of each vertex, because what you're looking for is a co-triangle in the neighborhood of each vertex.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Second, in a claw-free graph, every vertex must have $O(\sqrt m)$ neighbors. For, otherwise the set of neighbors would have too few edges to avoid having a triangle in the complement. So when you're doing matrix multiplications, you only need to do it on matrices of size $O(\sqrt m)$ rather than $n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In addition, each edge can contribute to the size of the matrix multiplication problem for only two vertices, its endpoints. The worst case happens when the $2m$ for the total size of these matrix multiplication problems is spread into $O(\sqrt m)$ subproblems of size $O(\sqrt m)$ each, which gives a total time bound of $O(m^{(1+\omega)/2})$, an improvement for sparse graphs over the $O(nm^{\omega/2})$ bound mentioned by R B.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2014-04-30T19:41:53.663" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="22369" PostTypeId="1" AcceptedAnswerId="22396" CreationDate="2014-04-30T20:03:51.157" Score="3" ViewCount="1358" Body="&lt;p&gt;I am currently reading the book &lt;a href=&quot;http://www.ens-lyon.fr/denif/data/martin_lof_prog/1990/contenu/book.pdf&quot; rel=&quot;nofollow&quot;&gt;Programming in Martin-Löf type theory&lt;/a&gt; by Nordström et al. In the book they have two important parts, one about monomorphic set theory and the other about polymorphic set theory. Why do they do this? What are important differences. As far as I understand from the book monomorphic version reduces to polymorphic but not vice versa. Why is this so?&lt;/p&gt;&#xA;" OwnerUserId="21833" LastEditorUserId="898" LastEditDate="2014-05-01T02:32:32.273" LastActivityDate="2014-05-02T14:04:35.513" Title="Monomorphic vs Polymorphic type theory" Tags="&lt;lo.logic&gt;&lt;type-theory&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="22370" PostTypeId="1" CreationDate="2014-04-30T22:41:21.533" Score="4" ViewCount="318" Body="&lt;p&gt;It is known that Linear Programming (LP) is P-complete. &#xA;I am interested in approximation algorithms for LP.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are numerous inapproximability results for NP optimization problems,&#xA;e.g. it is NP-hard to achieve approximation ratio better than 7/8 for MAX-3SAT.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Are there similar P-hardness results for approximation optimization problems in P?&lt;br&gt;&#xA;  In particular, is it known if LP is P-hard to approximate? &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="22750" LastEditorUserId="80" LastEditDate="2014-04-30T23:44:51.710" LastActivityDate="2021-04-30T04:38:37.813" Title="Complexity of linear programming" Tags="&lt;cc.complexity-theory&gt;&lt;linear-programming&gt;&lt;approximation-hardness&gt;&lt;polynomial-time&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="22371" PostTypeId="2" ParentId="22260" CreationDate="2014-05-01T00:47:35.380" Score="5" Body="&lt;p&gt;If I'm not missing something, you can use a reduction from SINGLE OVERLAP RESTRICTED EXACT COVER BY 3 SETS (SINGLE OVERLAP RX3C) which I proved to be NPC in this &lt;a href=&quot;https://cstheory.stackexchange.com/questions/20386/restriction-of-exact-cover-by-3-sets&quot;&gt;cstheory question&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EXACT COVER BY THREE SETS (X3C):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Instance&lt;/strong&gt;: Set $X=\{x_1,x_2,...,x_{3q}\}$ and a collection $C=\{C_1,...,C_m\}$ of 3-element subsets of $X$.&lt;br&gt;&#xA;&lt;strong&gt;Question&lt;/strong&gt;: Does C contain an exact cover for $X$, i.e. a subcollection $C′\subseteq C$ such that every element of $X$ occurs in exactly one member of $C′$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;X3C is NP-complete (see G&amp;amp;J), and as shown in [1] it remains NP-complete even if every element $x_i$ is contained in exactly 3 subsets of $C$ (RESTRICTED EXACT COVER BY THREE SETS, RX3C).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I proved that it remains NP-complete even if every pair of subsets in $C$  share at most one element; i.e. for all $i\neq j$, $|C_i \cap C_j|\leq 1$ (I called this restricted version SINGLE OVERLAP RX3C).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The SET COVER WITH BOUNDED INTERSECTION SIZE 1 (its decision version)  is simply a generalization of SINGLE OVERLAP RX3C, indeed you can pick the same universe $X$  and the same collection of subsets $C_1,...C_m$ of the SINGLE OVERLAP RX3C and ask for a cover with $q$ subsets or less.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Obviously a cover with $&amp;lt; q$ subsets cannot exist because every subset contains three elements and there are $3q$ elements in $X$. A cover with $q$ subsets must be exact: if two subsets contain a shared element then there are less than $3q$ elements covered.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] Teofilo F. Gonzalez: Clustering to Minimize the Maximum Intercluster Distance. Theor. Comput. Sci. 38: 293-306 (1985).&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2014-05-01T01:04:08.557" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22372" PostTypeId="2" ParentId="22370" CreationDate="2014-05-01T01:02:59.833" Score="6" Body="&lt;p&gt;See the paper &amp;quot;&lt;a href=&quot;https://doi.org/10.1145/167088.167211&quot; rel=&quot;nofollow noreferrer&quot;&gt;A parallel approximation algorithm for positive linear programming.&lt;/a&gt;&amp;quot; by Luby and Nisan. (Some kinds of) linear programs can be approximated in log^(O(1)) n time.&lt;/p&gt;&#xA;" OwnerUserId="5538" LastEditorUserId="129" LastEditDate="2021-04-30T04:38:37.813" LastActivityDate="2021-04-30T04:38:37.813" CommentCount="1" ContentLicense="CC BY-SA 4.0" />
  <row Id="22376" PostTypeId="2" ParentId="22363" CreationDate="2014-05-01T07:02:26.740" Score="16" Body="&lt;p&gt;I think that we can do slightly better than $O(n^{1+\omega})$ for dense graphs, by using rectangular matrix multiplication. A similar idea was used by Eisenbrand and Grandoni (&quot;On the complexity of fixed parameter clique and dominating set&quot;, &#xA;Theoretical Computer Science Volume 326(2004) 57–67) for 4-clique detection. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $G=(V,E)$ be the graph in which we want to detect the existence of a claw. &#xA;Let $A$ be the set of (ordered) pairs of vertices in $V$. Consider the following Boolean matrix $M$ of size $|V|\times |A|$: each row is indexed by some &#xA;$u\in V$, each column is indexed by some $(v,w)\in A$, and the corresponding entry &#xA;is one if and only if $\{u,v\}\in E$, $\{v,w\}\in E$ and $\{u,w\}\notin E$. &#xA;Consider the Boolean matrix product of $M$ and its transpose $M^T$. The graph $G$ has a claw if and only if there exists $\{u,v\}\notin E$ &#xA;such that the entry of $MM^T$ in the row indexed by $u$ and the column indexed by $v$ is one. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The complexity of this algorithm is essentially the complexity of computing the Boolean product of an $n\times n^2$ matrix by a $n^2\times n$ matrix, where $n$ denotes the number of vertices in the graph.&#xA;It is known that such a matrix product can be computed in time $O(n^{3.3})$, which is better than $O(n^{1+\omega})$ for the best known upper bound on $\omega$.&#xA;Of course,  if $\omega=2$ (as conjectured) then the two approaches give the same complexity $O(n^3)$.&lt;/p&gt;&#xA;" OwnerUserId="22755" LastEditorUserId="7059" LastEditDate="2014-05-01T14:28:59.560" LastActivityDate="2014-05-01T14:28:59.560" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="22379" PostTypeId="2" ParentId="22344" CreationDate="2014-05-01T11:07:59.013" Score="5" Body="&lt;p&gt;Here is an alternative to the answer by R B ; It is somewhat simpler, but has the disadvantage of an increase in degree.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Simply take $g(x) = x^{2n}f(x)f(-x)f(1/x)f(-1/x)$.&lt;/p&gt;&#xA;" OwnerUserId="313" LastActivityDate="2014-05-01T11:07:59.013" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="22380" PostTypeId="1" CreationDate="2014-05-01T11:44:12.650" Score="0" ViewCount="139" Body="&lt;p&gt;The Church-Turing thesis postulates that essentially all models of computation -Turing machines, Post systems, lambda-definability etc yield the same class of computable functions. Now we can think of a much wider class of models of computation including dynamical systems, DNA and molecular models, quantum computers, chemical reactions, etc. &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Can we regard the notion of computation as analogous to that of  an abstract group and in analogy to Cayley theorem of group theory (every group can be realized as a subgroup of a permutation group),  a computation as a realization in a particular model. More abstractly, the realization of computation in any of the different models is similar to the notion of group representation, in which the same abstract group can be realized variously as a  group of linear automorphisms of a chosen linear space. Is this view of computation correct or reasonable?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Why does (or should)  a mathematical structure carry a generic computation? Just as symmetries of physical systems give rise to conservation laws in physics (Noether's theorem), are there analogs  in  this setting?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;How do we determine whether a mathematical structure has a rich or poor computational structure? &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;How is the notion of computation  supported in each structure? Is it always carried in the same way? I am looking for ideas in analogy to that of 'configuration space' or phase space in a dynamical system which has the structure of  a  symplectic manifold and is the cotangent bundle of the dynamical system  enabling the Hamiltonian formulation of dynamics (which holds uniformly for classical as well as quantum mechanics)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Are there any possible approaches towards a mathematical proof (or disproof) of the 'Church-Turing thesis'?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="22758" LastActivityDate="2014-05-01T11:44:12.650" Title="mathematical study of the 'Church-Turing thesis'" Tags="&lt;church-turing-thesis&gt;" AnswerCount="0" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="22382" PostTypeId="2" ParentId="22356" CreationDate="2014-05-01T16:36:35.493" Score="3" Body="&lt;p&gt;The book &lt;em&gt;&lt;a href=&quot;http://www.cambridge.org/us/academic/subjects/mathematics/real-and-complex-analysis/additive-combinatorics?format=HB&quot; rel=&quot;nofollow&quot;&gt;Additive Combinatorics&lt;/a&gt;&lt;/em&gt; by Terence Tao and Van Vu discuss arithmetic sequences in depth from a mathematical point of view.  They establish the existence of arithmetic sequences under various conditions of your set $X$. &lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Example&lt;/strong&gt;: Szemeredi Theorem&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If a subset positive &quot;density&quot;  in your lattice it has infinitely many arithmetic progressions of arbitrary length. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\displaystyle \mathrm{density}(E) =  \limsup_{N \to \infty}  \frac{|E \cap [1,N]| }{N} \geq 0$$ &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $E \subseteq \mathbb{N}$ be set of positive upper density, then $E$ has a non-trivial $k$-term arithmetic progression. &lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;You could totally imagine looking for vectors arranged in various patterns rather than restrict your attention to $\mathbb{Z}$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The book simplifies very technical Fourier analysis and probability replacing it with less technical Fourier theory and probability.   They break down the heavy duty math into lemma and theorem that are useful for more specific problems. &lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://arxiv.org/abs/1404.0775&quot; rel=&quot;nofollow&quot;&gt;&lt;strong&gt;Example&lt;/strong&gt;&lt;/a&gt; Consider a random set $E \subset [1,N]$ with probability $\mathbb{P}[k \in E] = \frac{1}{2}$.  Any  3 evenly spaced numbers elements $a, a+d, a+2d \in \mathbb{N}$ will chosen inside $E$ with probability $\frac{1}{8}$, so we can expect many arithmetic progressions in the random set $E$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other extreme is using the &lt;a href=&quot;https://en.wikipedia.org/wiki/Floor_and_ceiling_functions&quot; rel=&quot;nofollow&quot;&gt;floor function&lt;/a&gt;  $\{[n \sqrt{7}] : n \in \mathbb{Z}\} = \{ [  0,   2,   5,   7,  10,  13,  15,  18,  21,  23,\dots \}$.  This is about as &quot;ordered&quot; as you can get, and it will also have many arithmetic progressions of arbitrary length.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Then it would be up to you to consider the run-time aspects of the algorithms they are implying.  It may not necessarily be easy to find arithmetic sequences in the prime or square free numbers even if we know they exist. &lt;/p&gt;&#xA;" OwnerUserId="11012" LastEditorUserId="11012" LastEditDate="2014-05-02T12:35:57.907" LastActivityDate="2014-05-02T12:35:57.907" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22385" PostTypeId="2" ParentId="22093" CreationDate="2014-05-01T19:33:19.563" Score="17" Body="&lt;p&gt;Shortest 2-Vertex disjoint path problem in undirected graphs &lt;a href=&quot;http://thorehusfeldt.files.wordpress.com/2010/08/spdp-e5d5661.pdf&quot;&gt;recently solved&lt;/a&gt; (ICALP14) by A. Bjorklund and T. Husfeldt. But the deterministic solution is for the case of existence of a  unique solution. In the case that there are more than one solution, they showed that the problem belongs to &lt;strong&gt;RP&lt;/strong&gt;. As authors of the paper mentioned, it is not known if the problem is in &lt;strong&gt;P&lt;/strong&gt; in general scenario.&lt;/p&gt;&#xA;" OwnerUserId="1846" LastEditorUserId="1846" LastEditDate="2014-05-12T16:56:01.230" LastActivityDate="2014-05-12T16:56:01.230" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="22386" PostTypeId="1" CreationDate="2014-05-01T21:02:56.850" Score="3" ViewCount="352" Body="&lt;p&gt;Apparently, Game of Life has been implemented in Game of Life.  For example:&#xA;&lt;a href=&quot;https://www.youtube.com/watch?v=xP5-iIeKXE8&quot; rel=&quot;nofollow&quot;&gt;https://www.youtube.com/watch?v=xP5-iIeKXE8&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The device used here is called the &quot;&lt;a href=&quot;http://www.conwaylife.com/wiki/OTCA_metapixel&quot; rel=&quot;nofollow&quot;&gt;OTCA Metapixel&lt;/a&gt;&quot;, and supports all life-like cellular automata.  It is 2058 cells on a side (of which 10 overlap when paired next to another) leading to a 2048 square pattern.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What I'd like to know is the size of lower bounds on the size of such devices.  The metapixel is programmable, but restricting solely to game of life, perhaps it could be made significantly smaller.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Something on the order of 16x16 would be excellent for (for example) simulating Game of Life in Game of Life in Game of Life.  Even 64x64 would be an improvement.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have looked a bit at how the metapixel works, and there's a lot of stock pieces that have just been tacked together.  This suggests that smaller devices could be produced with less-flexible structure.&lt;/p&gt;&#xA;" OwnerUserId="12833" LastEditorUserId="3247" LastEditDate="2014-05-01T21:35:26.907" LastActivityDate="2014-05-01T21:35:26.907" Title="Meta Game of Life" Tags="&lt;cellular-automata&gt;" AnswerCount="0" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="22387" PostTypeId="1" AcceptedAnswerId="22388" CreationDate="2014-05-01T21:47:52.000" Score="9" ViewCount="456" Body="&lt;p&gt;Consider the classical #P-complete problem #3SAT, i.e., to count the number of valuations to make a 3CNF with $n$ variables satisfiable. I am interested in the &lt;strong&gt;additive&lt;/strong&gt; approximability. Clearly, there is a trivial algorithm to achieve $2^{n-1}$-error, but if $k&amp;lt;2^{n-1}$, is it possible to have an efficient approximation algorithm, or this problem is also #P-hard?&lt;/p&gt;&#xA;" OwnerUserId="22750" LastEditorUserId="80" LastEditDate="2014-05-02T22:45:02.580" LastActivityDate="2014-05-02T22:45:02.580" Title="Approximating #P-hard problems" Tags="&lt;approximation-algorithms&gt;&lt;sat&gt;&lt;counting-complexity&gt;&lt;approximation-hardness&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="22388" PostTypeId="2" ParentId="22387" CreationDate="2014-05-01T23:25:08.227" Score="12" Body="&lt;p&gt;We're interested in additive approximations to #3SAT. i.e. given a 3CNF $\phi$ on $n$ variables count the number of satisfying assignments (call this $a$) up to additive error $k$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here are some basic results for this:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;b&gt;Case 1:&lt;/b&gt; $k=2^{n-1}-\mathrm{poly}(n)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here there is a deterministic poly-time algorithm: Let $m=2^n-2k = \mathrm{poly}(n)$. Now evaluate $\phi$ on $m$ arbitrary inputs (e.g. the lexicographically first $m$ inputs). Suppose $\ell$ of these inputs satisfy $\phi$. Then we know $a \geq \ell$ as there are at least $\ell$ satisfying assignments and $a \leq 2^n - (m-\ell)$ as there are at least $m-\ell$ unsatisfying assignments. The length of this interval is $2^n - (m-\ell) - \ell = 2k$. So if we output the midpoint $2^{n-1} -m/2 + \ell$ this is within $k$ of the correct answer, as required.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;b&gt;Case 2:&lt;/b&gt; $k=2^n/\mathrm{poly}(n)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here we have a randomized poly-time algorithm: Evaluate $\phi$ at $m$ random points $X_1, \cdots, X_m \in \{0,1\}^n$. Let $\alpha = \frac{1}{m} \sum_{i=1}^m \phi(X_i)$ and $\varepsilon = k/2^n$. We output $2^n \cdot \alpha$. For this to have error at most $k$ we need $$k \geq |2^n \alpha - a| = 2^n |\alpha - a/2^n|,$$ which is equivalent to $|\alpha - a/2^n| \leq \varepsilon.$ By a &lt;a href=&quot;http://terrytao.wordpress.com/2010/01/03/254a-notes-1-concentration-of-measure/&quot;&gt;Chernoff bound&lt;/a&gt;, $$\mathbb{P}[|\alpha - a/2^n| &amp;gt; \varepsilon] \leq 2^{-\Omega(m \varepsilon^2)},$$ as $\mathbb{E}[\phi(X_i)]=\mathbb{E}[\alpha]=a/2^n$.&#xA;This implies that, if we choose $m=O(1/\varepsilon^2) = \mathrm{poly}(n)$ (and ensure $m$ is a power of $2$), then with probability at least $0.99$, the error is at most $k$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;b&gt;Case 3:&lt;/b&gt; $k=2^{cn + o(n)}$ for $c &amp;lt; 1$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In this case the problem is #P-hard: We will do a reduction from #3SAT. Take a 3CNF $\psi$ on $m$ variables. Pick $n \geq m$ such that $k &amp;lt; 2^{n-m-1}$ -- this requires $n = O(m/(1-c))$. Let $\phi=\psi$ except $\phi$ is now on $n$ variables, rather than $m$. If $\psi$ has $b$ satisfying assignments, then $\phi$ has $b \cdot 2^{n-m}$ satisfying assignments, as the $n-m$ &quot;free&quot; variables can take any value in a satisfying assignment. Now suppose we have $\hat{a}$ such that $|\hat{a}-a| \leq k$ -- that is $\hat{a}$ is an approximation to the number of satisfying assignments of $\phi$ with additive error $k$. Then $$|b-\hat{a}/2^{n-m}| = \left| \frac{a - \hat{a}}{2^{n-m}}\right| \leq \frac{k}{2^{n-m}} &amp;lt; 1/2.$$&#xA;Since $b$ is an integer, this means we can determine the exact value of $b$ from $\hat{a}$. Algorithmically determining the exact value of $b$ entails solving the #P-complete problem #3SAT. This means that it is #P-hard to compute $\hat{a}$.&lt;/p&gt;&#xA;" OwnerUserId="2022" LastActivityDate="2014-05-01T23:25:08.227" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22392" PostTypeId="2" ParentId="22354" CreationDate="2014-05-02T12:07:32.873" Score="3" Body="&lt;p&gt;I have the impression that the real issue here is the unreasonable heavy burden of proof, not the unreasonable power of non-uniformity. As the answers by chazisop and András Salamon already stress, undecidable languages become computable even in very restricted non-uniform languages, because the burden of proof has been completely waived.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The basic intuition why we might get away without a proof is that there are only $2^n$ different inputs of length $n$, for which we have to check that the circuit gives the correct answer. So it seems like there would be a proof of at most exponential length in $n$, that the circuit indeed gives the correct answer. But this is only true as long as there exists for each input of length $n$ a proof of at most exponential length in $n$, that the input is (not) contained in the language (if it is actually (not) contained in the language). Note that exponentially many inputs times an at most exponentially long proof for each input gives a complete proof for all inputs of exponential length, because $2^n\exp(O(n))=\exp(n\log(2)+O(n))=\exp(O(n))$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we require the existence of a proof of at most exponential length in $n$ for non-uniform languages, then we can prove that all these languages are contained in $\mathsf{NEXP}$. The corresponding non-deterministic algorithm just needs a hint that contains both a &quot;small&quot; circuit together with a &quot;small&quot; proof that this circuit really computes what it is supposed to compute.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The same non-deterministic algorithm would also show $\mathsf{P/poly'}\subseteq \mathsf{NP}$, if we required instead the existence of proofs of at most polynomial length in $n$ that the circuit is suitable. Notice that this restricted $\mathsf{P/poly'}$ could still be more powerful than $\mathsf{P}$. Even Karp-Lipton (i.e. that the polynomial hierarchy collapses if $\mathsf{NP}\subseteq\mathsf{P/poly'}$) still holds true, but this statement is less interesting than the real Karp-Lipton theorem.&lt;/p&gt;&#xA;" OwnerUserId="20340" LastActivityDate="2014-05-02T12:07:32.873" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22393" PostTypeId="2" ParentId="22387" CreationDate="2014-05-02T12:12:49.027" Score="4" Body="&lt;p&gt;Here is a reference to &lt;a href=&quot;http://arxiv.org/abs/0908.2122&quot; rel=&quot;nofollow&quot;&gt;Bordewich, Freedman, Lovász, and Welsh&lt;/a&gt; that develops this topic to some extent.&lt;/p&gt;&#xA;" OwnerUserId="121" LastActivityDate="2014-05-02T12:12:49.027" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22396" PostTypeId="2" ParentId="22369" CreationDate="2014-05-02T14:04:35.513" Score="3" Body="&lt;p&gt;As far as I understand it, the notion of &lt;em&gt;polymorphic set&lt;/em&gt; denotes sets which are &lt;em&gt;primitive&lt;/em&gt;, in other words which are first-order objects that can be manipulated, and such that set membership is a &lt;em&gt;predicate&lt;/em&gt;, elements can be members of multiple sets. In monomorphic sets, sets are interpreted as predicates on &lt;em&gt;types&lt;/em&gt;, and membership of a type is a &lt;em&gt;jugement&lt;/em&gt;. In particular, a term can only be a member of a &lt;strong&gt;single set&lt;/strong&gt; (up to equality of types).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;While polymorphic sets are the more traditional view, there is an argument that the way mathematicians actually reason is mostly monomorphic e.g. $\mathbb{R}\in 2$ is not a proposition that should make sense. &lt;a href=&quot;http://docenti.lett.unisi.it/files/4/1/1/6/martinlof4.pdf&quot; rel=&quot;nofollow&quot;&gt;These notes&lt;/a&gt; by Martin Löf may clarify matters a bit.&lt;/p&gt;&#xA;" OwnerUserId="3984" LastActivityDate="2014-05-02T14:04:35.513" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22397" PostTypeId="2" ParentId="8316" CreationDate="2014-05-02T17:34:37.570" Score="6" Body="&lt;p&gt;I don't know if you're still interested in this (old) question, and if I understood well the resource constraints you gave in the comment; however it seems that your problem (which is slightly different from usual RCSP problems) is &lt;em&gt;NP-complete for planar (undirected or directed or directed acyclic) graphs of max-degree 3&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The easy reduction is from 3-SAT. Given a formula $\varphi$ with $n$ variables $x_1,...x_n$ and $m$ clauses $C_1,...C_m$:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;add a resource constraint set $M_k^+$ with &lt;em&gt;two vertices&lt;/em&gt; for each positive literal $x_k$ in $\varphi$ and a resource constraint set $M_k^-$ with &lt;em&gt;two vertices&lt;/em&gt; for each negative literal $\bar{x}_k$ in $\varphi$;&lt;/li&gt;&#xA;&lt;li&gt;start building a graph from a source node $s$ and for each variable $x_i$ split the path in two &lt;em&gt;lines&lt;/em&gt;: the upper one traverses one vertex of all the $M_k^-$ that correspond to a negative literal $\bar{x}_k$; the lower one traverses one vertex of all the $M_k^+$  that correspond to a positive literal $x_k$;&lt;/li&gt;&#xA;&lt;li&gt;then for each $C_j$ split the path in 3 lines that traverse in parallel the 3 vertices corresponding to the literals of $C_j$ and that are picked from the corresponding $M_k^+$ or $M_k^-$;&lt;/li&gt;&#xA;&lt;li&gt;finally add a sink node $t$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;A path from $s$ to $t$ exists if and only if the original formula is satisfiable (i.e.  without loss of generality you can ask for a path of length $\leq |V|$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Informally when traversing the variable section $x_i$, if you pick the upper line (&lt;em&gt;true&lt;/em&gt; assignment) then you must &quot;use&quot; one of the vertices of all the $M_k^-$ resource constraint sets that also contain a vertex that can be used later to traverse (satisfy) a clause containing $\bar{x}_i$. If you pick the lower line (&lt;em&gt;false&lt;/em&gt; assignment) then you must &quot;use&quot; one of the vertices of all the $M_k^+$ resource constraint sets that also contain a vertex that can be used later to traverse (satisfy) a clause containing $x_i$. When traversing each clause at least one of the three vertices must be contained in a $M_k$ that has not be &quot;used&quot; yet (i.e. at least one of them can be used to satisfy the clause).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The following figure should make the reduction clearer. The resource constraint sets $M_k$ are represented with &lt;em&gt;distinct colors&lt;/em&gt; (and for every color there are exactly 2 vertices).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/AuuVp.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$C_1 = x_1 \lor \bar{x}_2 \lor x_3$&lt;br&gt;&#xA;$C_2 = x_2 \lor \bar{x}_3 \lor x_4$&lt;br&gt;&#xA;$C_3 = \bar{x}_1 \lor x_3 \lor \bar{x}_2$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can also easily make the graph directed, acyclic and bipartite. Let me know if you need further details (or if I completely misunderstood the problem :-).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As noted by Saaed the problem is fixed-parameter tractable with respect to $k$ (just consider all possible subsets of constrained nodes and for each combination run the shortest path algorithm).&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2014-05-02T18:31:37.427" LastActivityDate="2014-05-02T18:31:37.427" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="22398" PostTypeId="1" CreationDate="2014-05-02T19:35:38.303" Score="9" ViewCount="250" Body="&lt;p&gt;I want to divide a set of points into two equally-sized subsets such that the within-cluster sum of squares is minimized. We can assume that the points are in two-dimensional Euclidian space. I'm hoping for something faster than a general k-means clustering algorithm given that k=d=2. Can anyone point me in the direction of a good algorithm for this? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;An exact solution not necessary if we have a good approximation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks!&lt;/p&gt;&#xA;" OwnerUserId="17912" LastActivityDate="2014-05-05T03:11:00.107" Title="Bisecting a set of points into two optimal subsets" Tags="&lt;ds.algorithms&gt;&lt;approximation-algorithms&gt;&lt;clustering&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22399" PostTypeId="1" AcceptedAnswerId="22402" CreationDate="2014-05-02T22:48:02.647" Score="1" ViewCount="190" Body="&lt;p&gt;I was wondering what is the most efficient way to find the shortest distances between all pairs of vertices in a graph where the shortest path between those vertices has length $\geq L$.  The only way I know of so far is to choose a smaller &quot;hitting set&quot; $B$ such that each long shortest path contains at least one node from $B$ with high probability.  Then you can find all distances from nodes in $B$ to all nodes in the graph, and get $d(u, v) = \min_b d(u, b) + d(b, v)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there any faster methods?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks!&lt;/p&gt;&#xA;" OwnerUserId="22775" LastActivityDate="2014-05-03T00:18:39.843" Title="Finding distances in graphs where shortest path has a large number of nodes" Tags="&lt;graph-algorithms&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="22400" PostTypeId="1" AcceptedAnswerId="22401" CreationDate="2014-05-02T22:50:23.627" Score="3" ViewCount="237" Body="&lt;p&gt;What is the definition of the word &quot;fractional&quot; in algorithms? I have encountered the word in phrases like &quot;fractional algorithm&quot;, &quot;fractional node routing problem&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note: English is not my native language&lt;/p&gt;&#xA;" OwnerUserId="7938" LastEditorUserId="7938" LastEditDate="2014-05-02T22:57:56.507" LastActivityDate="2014-05-02T23:38:25.480" Title="Definition of fractional in theoretical CS" Tags="&lt;graph-algorithms&gt;&lt;online-algorithms&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="22401" PostTypeId="2" ParentId="22400" CreationDate="2014-05-02T23:38:25.480" Score="10" Body="&lt;p&gt;The most common use of 'fractional' is when you're solving an integer program. You relax it by dropping the constraints that the solution be integers, thus yielding a &lt;strong&gt;linear&lt;/strong&gt; program in which the variables can take &lt;strong&gt;fractional&lt;/strong&gt; values (fractional comes from fraction). Later, you can convert the fractional values into integers via a process called 'rounding'. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2014-05-02T23:38:25.480" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22402" PostTypeId="2" ParentId="22399" CreationDate="2014-05-03T00:18:39.843" Score="2" Body="&lt;p&gt;If you accept approximations to the distances, you can take a look at distance oracles.  A good source is the paper on distance oracles by &lt;a href=&quot;http://kaashoek.org/~petar/behind/oracles-zwick-stoc01.pdf&quot; rel=&quot;nofollow&quot;&gt;Thorup-Zwick, &lt;em&gt;Approximate Distance Oracles&lt;/em&gt; (STOC 2001)&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Distance oracles can offer constant (but approximate) look-up.&lt;/p&gt;&#xA;" OwnerUserId="10889" LastActivityDate="2014-05-03T00:18:39.843" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22403" PostTypeId="1" CreationDate="2014-05-03T00:23:30.413" Score="3" ViewCount="147" Body="&lt;p&gt;Let $G$ be a connected (strongly connected) graph (digraph).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assume that the minimal vertex degree (in/out degrees) of the graph is $\delta$ (are $\delta^-,\delta^+$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;What is the maximal diameter possible for such graph?&lt;/strong&gt; &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, if $\delta \geq \frac {n}{2}$ ($\delta^- + \delta^+ \geq n-1)$, &lt;a href=&quot;https://cstheory.stackexchange.com/questions/22247/does-deltag-delta-g-geq-n-imply-strong-connectivity/22299#22299&quot;&gt;then the graph is of diameter at most 2&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, it seems that $\delta \geq c\cdot n$ gives an upper bound of $\lceil \frac{2}{c} \rceil - 1$ on the diameter, but I'm not sure it's tight (also, haven't tried proving it yet, so I might be wrong). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;(For $c=\frac{1}{2}$ it's definitely not tight).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What other bounds can we get?&lt;/p&gt;&#xA;" OwnerUserId="21001" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2014-05-03T00:23:30.413" Title="Bound on a graph diameter, considering the minimal vertex degree" Tags="&lt;graph-theory&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="22405" PostTypeId="1" CreationDate="2014-05-03T06:02:51.287" Score="3" ViewCount="348" Body="&lt;p&gt;Given a directed graph with $n$ vertices with non-negative edge weights, I would like to find first $n^2$, $s$-$t$ minpaths with minimum sum of non-negative weights. By using &lt;a href=&quot;http://en.wikipedia.org/wiki/Dijkstra%27s_algorithm&quot; rel=&quot;nofollow&quot;&gt;Dijkstras&lt;/a&gt; shortest path algorithm I found out the first minpath. In order to get next minpath I have replaced edges in first minpath with infinity. By following this procedure I am missing out many minpaths whose sum of weights are much smaller than what I am getting by following above procedure.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can some one suggest me a good procedure to list first $n^2$ minpaths. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thank you.&lt;/p&gt;&#xA;" OwnerUserId="14028" LastActivityDate="2014-05-03T07:37:47.390" Title="Algorithm to find s-t min paths in a weighted graph" Tags="&lt;graph-algorithms&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="22406" PostTypeId="2" ParentId="22405" CreationDate="2014-05-03T07:37:47.390" Score="5" Body="&lt;p&gt;Try searching for &quot;k shortest paths&quot;. There are different answers depending on whether your graph is directed or undirected, whether you allow repeated vertices in your paths, etc.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2014-05-03T07:37:47.390" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22407" PostTypeId="1" CreationDate="2014-05-03T19:13:34.503" Score="1" ViewCount="161" Body="&lt;p&gt;Given a suffix array of a string $w$, it's possible to construct the Burrows-Wheeler transform of $w$ by subtracting one from the indices of the suffix array (wrapping around if necessary), then outputting the characters in $w$ that appear in that position.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, to the best of my knowledge, there doesn't seem to be an algorithm to directly construct a suffix array for $w$ given the Burrows-Wheeler transform of the string $w$. It's still possible to do so in linear time by inverting the transform to get back $w$ and then constructing the suffix array directly, but that doesn't make any use of the transformed array.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a fundamental reason why the reverse direction would be &quot;harder&quot; than the forward direction?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks!&lt;/p&gt;&#xA;" OwnerUserId="4354" LastActivityDate="2014-05-04T11:37:41.253" Title="Asymmetry in converting Burrows-Wheeler transform to suffix array?" Tags="&lt;ds.algorithms&gt;&lt;ds.data-structures&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="22410" PostTypeId="1" AcceptedAnswerId="22416" CreationDate="2014-05-03T20:15:56.163" Score="6" ViewCount="1728" Body="&lt;p&gt;Suppose you have a version of the STLC with one base type, similar to:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt; data Tree = Branch Tree Tree | Leaf&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Now, suppose you want to add recursion to that language, while still guaranteeing termination. Someone suggested a &quot;Recur&quot; primitive, which can only be applied at sub-expressions of pattern matches, making the following legal:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;id (Tree a b) = Tree (id a) (id b)&#xA;id Leaf = Leaf&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;This is obviously terminating, so that sounds like a good idea. Now, mind that function:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;foo (Tree (Tree a b) c) = foo (Tree a c)&#xA;foo (Tree a b) = Tree (foo a) (foo b)&#xA;foo Leaf = Leaf &#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Now this function is obviously terminating, but it includes a recursion that is not applied directly to a sub expression of a pattern match, namely, &lt;code&gt;foo (Tree a c)&lt;/code&gt;, so you can't express it on the suggested system. My question is: is there a more general way to introduce recursion that will still guarantee termination without making some valid cases illegal?&lt;/p&gt;&#xA;" OwnerUserId="17388" LastActivityDate="2014-05-05T11:12:24.710" Title="How to introduce recursion to Simply Typed Lambda Calculus while at the same time keeping strong normalisation?" Tags="&lt;pl.programming-languages&gt;&lt;computability&gt;" AnswerCount="4" CommentCount="2" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="22411" PostTypeId="2" ParentId="22410" CreationDate="2014-05-03T21:00:34.390" Score="3" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there a more general way to introduce recursion that will still guarantee termination without making some valid cases illegal?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;No. It is undecidable whether a program with general recursion terminates or not. Hence you cannot define a restricted form of recursion that selects precisely the terminating programs.&lt;/p&gt;&#xA;" OwnerUserId="22209" LastActivityDate="2014-05-03T21:00:34.390" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="22415" PostTypeId="2" ParentId="22410" CreationDate="2014-05-04T05:35:05.357" Score="3" Body="&lt;p&gt;The programming language &lt;a href=&quot;http://pll.cpsc.ucalgary.ca/charity1/www/home.html&quot; rel=&quot;nofollow&quot;&gt;Charity&lt;/a&gt; offers a solution to your problem (though it may be polymorphic).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;They key is to introduce &lt;em&gt;folds&lt;/em&gt; into the language as combinators rather than using general fixed point recursion. Folds are very much like the recur primitive that you mention. Other such combinators are possible. Such combinators are known by strange names such as catamorphisms, anamorphisms, hylomorphisms,  and paramorphisms (also known as &lt;a href=&quot;http://eprints.eemcs.utwente.nl/7281/01/db-utwente-40501F46.pdf&quot; rel=&quot;nofollow&quot;&gt;Bananas, Lenses, Envelopes and Barbed Wire&lt;/a&gt;. &#xA;Other work on &lt;a href=&quot;http://www.cs.ox.ac.uk/people/jeremy.gibbons/publications/urs.pdf&quot; rel=&quot;nofollow&quot;&gt;recursion schemes&lt;/a&gt; expand the class of functions that can be expressed.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now folds are required to pull a data structure apart – building one up you need an &lt;em&gt;unfold&lt;/em&gt;. Much of the work cited above, or cited in the work above, or building upon the work above, also deals with combinators or recursion schemes like unfold. (&lt;em&gt;Caveat&lt;/em&gt;: I'm not sure that all of these schemes are strongly normalising – the ones in Charity supposedly are.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Returning to your example. You are essentially stating that this example cannot be encoded using a folds. I suspect that it can be, because, for instance, a &lt;em&gt;filter&lt;/em&gt; can be encoded as a fold, and your example is a bit similar to a filter on trees.&lt;/p&gt;&#xA;" OwnerUserId="77" LastActivityDate="2014-05-04T05:35:05.357" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22416" PostTypeId="2" ParentId="22410" CreationDate="2014-05-04T06:39:10.010" Score="8" Body="&lt;p&gt;Which of the following are you asking: are there ways of&#xA;enriching the simply-typed $\lambda$-calculus with&#xA;mechanisms (presumably by restricting the available forms of&#xA;recursion) such that&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;exactly the terminating programs are typable? &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;more terminating programs are encodable than with the simple&#xA;    restriction you are describing in your question?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;The answer to (1), as pointed out by Toxaris, is: if you want&#xA;type-checking to be decidable, then no. This follows directly&#xA;from the uncomputability of the halting problem. The answer&#xA;to (2) is positive, and Dave Clarke's answer gives an&#xA;example. Indeed there are countless ways of doing so, some&#xA;ad-hoc: e.g. if you have a particular (terminating) program $M$&#xA;of type $\alpha$ you want to add to the simply-typed&#xA;$\lambda$-calculus, you simply add a rule $\Gamma \vdash M :&#xA;\alpha$ to your typing system. For a more interesting and&#xA;principled way you could look at &lt;a href=&quot;https://en.wikipedia.org/wiki/Lambda_cube&quot; rel=&quot;nofollow&quot;&gt;Barendregt's $\lambda$-cube&lt;/a&gt;,&#xA;which presents three orthogonal axes of extending the&#xA;simply-typed $\lambda$-calculus, all of which make the&#xA;simply-typed $\lambda$-calculus strictly more expressive&#xA;without losing normalisation. Relatedly, you can look at&#xA;induction principles, which are related closely to recursion. Note that this is an active area&#xA;of research because the more expressive you make your typing system,&#xA;the harder it becomes to prove that the calculus indeed only&#xA;types normalising programs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that the problem is usually not to find a fragment of total functions&#xA;that we can use to program our terminating programs in. The total&#xA;fragments of lambda-calculus given by more expressive parts of the&#xA;$\lambda$-cube (e.g. $F_{\omega}$ or the &lt;a href=&quot;https://en.wikipedia.org/wiki/Calculus_of_constructions&quot; rel=&quot;nofollow&quot;&gt;calculus of constructions&lt;/a&gt;)&#xA;are very expressive. The problem is usually that it is&#xA;often &lt;strong&gt;inconvenient&lt;/strong&gt; to encode a terminating program in such a&#xA;fragment. &lt;a href=&quot;http://existentialtype.wordpress.com/2014/03/20/old-neglected-theorems-are-still-theorems/&quot; rel=&quot;nofollow&quot;&gt;R. Harper gives the example&lt;/a&gt; of the $gcd$ function computing&#xA;the greatest common divisor:&#xA;$$&#xA;\begin{align*}&#xA;\textit{gcd}(m,0) &amp;amp; = m \\&#xA;\textit{gcd}(0,n) &amp;amp; = n \\&#xA;\textit{gcd}(m,n) &amp;amp; = \textit{gcd}(m-n,n) \quad \text{if}\ m&amp;gt;n \\&#xA;\textit{gcd}(m,n) &amp;amp; = \textit{gcd}(m,n-m) \quad \text{if}\ m&amp;lt;n&#xA;\end{align*}&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is easy to see that this function terminates, but expressing it&#xA;using simple recursion schemes is no fun. Most programs we care&#xA;about in daily programming life are terminating for simple reasons and can typically&#xA;be encoded using relatively simple recursion schemes (e.g. primitive recursion).&#xA;That's why it was a &lt;a href=&quot;https://en.wikipedia.org/wiki/Ackermann_function&quot; rel=&quot;nofollow&quot;&gt;major insight of Ackermann's and Sudan's&lt;/a&gt; that primitive&#xA;recursion is not enough.&#xA;For this reason  powerful recursion schemes&#xA;(including the unrestricted recursion of most programming languages)&#xA;are typically a &lt;strong&gt;convenient&lt;/strong&gt; device to make programming   simpler, rather&#xA;than necessary for expressivity. Note that in the presence of higher-order functions,&#xA;primitive recursion is quite powerful, and enables us to encode e.g. the Ackermann function:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;\begin{array}{lcl}&#xA;   \textit{Ackermann} \ 0 &amp;amp; = &amp;amp; \lambda x. x+1 \\&#xA;   \textit{Ackermann} \ ( m+1 ) &amp;amp; = &amp;amp; \textit{Iter}\ ( \textit{Ackermann}\ m ) \\&#xA;   \textit{Iter}\ f\ 0 &amp;amp; = &amp;amp; f\ 1 \\&#xA;   \textit{Iter}\ f\ ( n+1 ) &amp;amp; = &amp;amp; f\ ( \textit{Iter}\ f\ n )&#xA;\end{array}&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;BTW, the simply-typed $\lambda$-calculus with primitive recursion is also known as G&amp;ouml;del's System T and its expressivity has been studied in great detail and is well understood: we can define exactly the recursive function whose totality can be&#xA;proved in first-order logic, starting from the usual axioms for the elementary data&#xA;types, eg the Peano axioms for natural numbers. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In this context, you may find the paper &lt;a href=&quot;http://www.eis.mdx.ac.uk/staffpages/dat/sblp1.pdf&quot; rel=&quot;nofollow&quot;&gt;Total Functional Programming&lt;/a&gt; by DA Turner interesting.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Non-typing work on termination.&lt;/strong&gt; There's also a lot of ongoing work, both theoretical and implementation oriented, on termination analysis that's&#xA;not using (compositional) typing systems, but static analysis&#xA;techniques. An example is Microsoft's &lt;a href=&quot;https://research.microsoft.com/en-us/projects/t2/&quot; rel=&quot;nofollow&quot;&gt;T2 termination prover&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="898" LastEditorUserId="898" LastEditDate="2014-05-05T11:12:24.710" LastActivityDate="2014-05-05T11:12:24.710" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="22418" PostTypeId="2" ParentId="22407" CreationDate="2014-05-04T11:37:41.253" Score="3" Body="&lt;p&gt;It's possible to build the suffix array of $s$ in linear time from $s$ and $BWT(s)$ in a somewhat easy way. You do need to build a rank-select data structure on $s$ in order to do this.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To see how to do this, look at Ferragina and Manzini's paper &quot;The FM-Index&quot;. The LF mapping they describe also essentially computes the suffix array.&lt;/p&gt;&#xA;" OwnerUserId="20830" LastActivityDate="2014-05-04T11:37:41.253" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22420" PostTypeId="2" ParentId="22410" CreationDate="2014-05-04T16:34:58.797" Score="2" Body="&lt;p&gt;To add tho the already good answers, there is a huge field of research called &lt;a href=&quot;http://en.wikipedia.org/wiki/Termination_analysis&quot; rel=&quot;nofollow&quot;&gt;Termination Analysis&lt;/a&gt; which deals with methods to analyze the termination of various computation formalisms. Of particular interest are &lt;a href=&quot;http://en.wikipedia.org/wiki/Rewriting&quot; rel=&quot;nofollow&quot;&gt;Term Rewrite Systems&lt;/a&gt; which seem to capture quite well the termination problems of functional programs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I can't even begin to outline the various lines of work involved in this vast field. My personal work has been related to &lt;em&gt;size types&lt;/em&gt; (see e.g. &lt;a href=&quot;http://perso.ens-lyon.fr/colin.riba/papers/tutorial-tbt.pdf&quot; rel=&quot;nofollow&quot;&gt;Barthe &lt;em&gt;et al.&lt;/em&gt;&lt;/a&gt;), which integrates quite well with the STLC.&lt;/p&gt;&#xA;" OwnerUserId="3984" LastActivityDate="2014-05-04T16:34:58.797" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="22421" PostTypeId="2" ParentId="22398" CreationDate="2014-05-04T19:31:36.900" Score="10" Body="&lt;p&gt;If you insist on precise partition, then you need to compute all the balanced partitions of a set of points in the plane by a line (the optimal partition is a Voronoi partition, so the two point sets are separated by a line). Such partitions are known as $k$-sets. The fastest algorithm currently known for this work in $O(n^{4/3} \log n)$ for computing these partitions in the dual [i.e., the $k$-level of a set of $n$ lines, for $k=n/2$]. Once you have all the possible partitions, you just need to check each one of them. Using standard tricks, this can be done in constant time for each partition.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Update: Proving that the optimal partition is realized by a $k$-set, for $k=n/2$, is not completely trivial. I would leave it as a cute exercise for the interested reader. Hint: Consider the line passing through the two optimal centers, and the direction perpendicular to it.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you do not care about the exact solution, then an easier approach would be to use a coreset for $k$-means clustering. This would result in $O( \epsilon^{-2} \log n)$ weighted points in this case, with total weight $n$. Then, you just need to solve the problem on the weighted point-set. The easiest solution would be to generate then a set of candidate locations for centers, and trying all pairs on the weighted points. The coreset construction, and generating the candidate centers is described in this paper:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://sarielhp.org/p/03/kcoreset/&quot;&gt;http://sarielhp.org/p/03/kcoreset/&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="9594" LastEditorUserId="9594" LastEditDate="2014-05-05T03:11:00.107" LastActivityDate="2014-05-05T03:11:00.107" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22422" PostTypeId="1" AcceptedAnswerId="22426" CreationDate="2014-05-05T10:54:04.597" Score="0" ViewCount="92" Body="&lt;p&gt;This is a question from the lecture about Toda's theorem:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.cs.princeton.edu/courses/archive/spring01/cs522/lecnotes/lec8.ps&quot; rel=&quot;nofollow&quot;&gt;http://www.cs.princeton.edu/courses/archive/spring01/cs522/lecnotes/lec8.ps&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The lecture uses theorem 1 and theorem 2 but not include proof. My question is how to proof?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Theorem 2:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$L \in \oplus P$ iff $L$ can be computed by a DC uniform circuit $\{D_n\}$ that&lt;/p&gt;&#xA;&#xA;&lt;p&gt;use $AND$, $OR$, $NOT$, $XOR$ gates.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;has size $2^{n^{O(1)}}$ and constant depth&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$XOR$ gates can have unbounded (exponential) fanin, but $AND$, $OR$ gates have fanin at most $n^{O(1)}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$NOT$ gates can appear anywhere in the circuit.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This question may not be a research level question, but I really want to know the answer. If someone can give me a detailed reference, I will appreciate that.&lt;/p&gt;&#xA;" OwnerUserId="22153" LastActivityDate="2014-05-05T14:38:28.497" Title="DC uniform circuit and parity-P" Tags="&lt;circuit-families&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22423" PostTypeId="2" ParentId="22157" CreationDate="2014-05-05T12:06:26.057" Score="9" Body="&lt;p&gt;(I'm assuming that by 'axiom schemas', you have in mind the work of &lt;a href=&quot;http://link.springer.com/chapter/10.1007/3-540-60579-7_3&quot;&gt;Gimenez&lt;/a&gt;)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Extensionally, W-types and Gimenez' axiom schemas are equivalent. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, in an intensional setting, you won't go far with W-types: they are too extensional (by the very definition of the encoding) to be fit for programming. This has been discussed by several authors, especially :&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Conor McBride: &lt;a href=&quot;http://mazzo.li/epilogue/index.html%3Fp=324.html&quot;&gt;http://mazzo.li/epilogue/index.html%3Fp=324.html&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Peter Dybjer, &quot;Representing inductively defined sets by wellorderings in Martin-Löf's type theory&quot;&lt;/li&gt;&#xA;&lt;li&gt;Guogen &amp;amp; Luo, &quot;Inductive data types: well-ordering types revisited&quot;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="10744" LastActivityDate="2014-05-05T12:06:26.057" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="22424" PostTypeId="1" CreationDate="2014-05-05T12:49:04.230" Score="23" ViewCount="724" Body="&lt;p&gt;For a fixed finite alphabet $\Sigma$, a formal language $L$ over $\Sigma$ is &lt;em&gt;regular&lt;/em&gt; if there exists a &lt;a href=&quot;https://en.wikipedia.org/wiki/Deterministic_finite_automaton&quot; rel=&quot;nofollow&quot;&gt;deterministic finite automaton&lt;/a&gt; (DFA) over $\Sigma$ which accepts exactly $L$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am interested in languages that are &quot;almost&quot; regular in the sense that they can be recognized by automata families of size that grows only polynomially with the word length.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Formally, let me say that a formal language $L$ is &lt;em&gt;recognized&lt;/em&gt; by a DFA &lt;em&gt;family&lt;/em&gt; $(A_n)$ if for every word $w \in \Sigma^*$, letting $n = |w|$, $w$ is in $L$ iff $A_n$ accepts $w$ (no matter if the other $A_i$ accept it or not), and let me define &lt;em&gt;p-regular&lt;/em&gt; languages as languages recognized by a &lt;em&gt;PTIME-computable&lt;/em&gt; DFA family $(A_n)$ of polynomial size, namely, there is a polynomial $P$ such that $|A_n| \leq P(n)$ for all $n$. (This name, &quot;p-regular&quot;, is something I made up, my question is to know if another name already exists for this. Note that this is &lt;em&gt;not&lt;/em&gt; the same as p-regular languages in the sense of &lt;a href=&quot;https://en.wikipedia.org/wiki/Permutation_automaton&quot; rel=&quot;nofollow&quot; title=&quot;permutation automata&quot;&gt;permutation automata&lt;/a&gt;.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This class of p-regular languages includes of course regular languages (just take $A_n = A$ for all $n$, where $A$ is some DFA recognizing the regular language); but it is a strict superset of it: for instance, it is well-known that $\{a^n b^n \mid n \in \mathbb{N}\}$ is context-free but not regular, but it is p-regular ($A_n$ just has to count $n$ occurrences of $a$ and $n$ occurrences of $b$). However, because I require the automata to be polynomial-sized &lt;em&gt;DFAs&lt;/em&gt;, some formal languages (actually some context-free languages) are &lt;em&gt;not&lt;/em&gt; p-regular: for instance, the language of palindromes is not p-regular, because, intuitively, when you have read the first half of a word, you need to have as many different states as there are possible words, because you will need to match exactly this first half with the second.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So the class of p-regular languages is a strict superset of regular languages that is incomparable with context-free languages. In fact, it seems that you can even get a hierarchy of languages by distinguishing p-regular languages based on the smallest degree of the polynomial $P$ for which they are $P$-regular. It is not too hard to construct examples to show that this hierarchy is strict; though I do not understand well yet the interaction between this, and an alternative definition of the hierarchy which would also restrict the complexity of computing the $A_n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;My question is:&lt;/strong&gt; has this class that I call p-regular, and the associated hierarchy, been studied before? If yes, where and under which name?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(A possible link is with the field or streaming, or online algorithms. In the terminology of &lt;em&gt;&lt;a href=&quot;http://repository.ias.ac.in/89492/1/3-a.pdf&quot; rel=&quot;nofollow&quot;&gt;Streaming algorithms for language recognition problems&lt;/a&gt;&lt;/em&gt;, I am interested in the class (or hierarchy) of languages that can have a deterministic, one-pass recognition algorithms, using a polynomial number of states (so a logarithmic memory size), but I found no definition of this class in this paper or related papers. Note, however, that in my phrasing of the problem the length of the word is known &lt;em&gt;in advance&lt;/em&gt;, which is less natural in a streaming context: in streaming you could see this as an infinite automaton, a special &quot;end-of-word&quot; symbol, and a constraint that the number of reachable states after reading $n$ characters is polynomial in $n$. I think that this distinction makes a difference, possible example: language of binary words whose value is divisible by their length, which is easy for a fixed length but (I conjecture) cannot be represented by an infinite automaton in the previous sense because no identifications can be made if the length is not known in advance.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(The motivation for this p-regular class is that some problems, such as the probability of language membership for probabilistic words, seem to be PTIME not only when the language is regular, but also when it is p-regular, and I am trying to characterize exactly in which circumstances those problems are tractable.)&lt;/p&gt;&#xA;" OwnerUserId="4795" LastEditorUserId="4795" LastEditDate="2015-06-18T10:16:10.990" LastActivityDate="2015-06-18T10:16:10.990" Title="Languages recognized by polynomial-size DFAs" Tags="&lt;reference-request&gt;&lt;fl.formal-languages&gt;&lt;automata-theory&gt;&lt;online-algorithms&gt;&lt;dfa&gt;" AnswerCount="1" CommentCount="13" FavoriteCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="22426" PostTypeId="2" ParentId="22422" CreationDate="2014-05-05T14:38:28.497" Score="2" Body="&lt;p&gt;The circuit characterization are by Kannan, Venkateswaran, Vinay, and Yao given in the paper:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://dx.doi.org/10.1006/inco.1993.1033&quot; rel=&quot;nofollow&quot;&gt;A Circuit-Based Proof of Toda′s Theorem&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="313" LastActivityDate="2014-05-05T14:38:28.497" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22428" PostTypeId="1" CreationDate="2014-05-05T20:47:16.320" Score="2" ViewCount="107" Body="&lt;p&gt;Given a set $I$ of $n$ items, and a collection $D$ of $m&amp;lt;2^n$ subsets of $I$, a closed itemset is a subset $A$ of $I$ that is contained in strictly more elements of $D$ than any of its proper supersets. Closed itemsets are important in data mining because they provide a compact representation of the dataset. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm trying to find some non-trivial upper bound to the number of closed itemsets. It seems a natural combinatorial question and I'm surprised I can't find anything non-trivial. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any suggestion/reference? Thank you.&lt;/p&gt;&#xA;" OwnerUserId="4828" LastEditorUserId="4828" LastEditDate="2014-05-05T21:01:58.250" LastActivityDate="2014-05-07T00:44:03.980" Title="Upper bound to number of closed itemsets" Tags="&lt;co.combinatorics&gt;&lt;upper-bounds&gt;&lt;data-mining&gt;" AnswerCount="1" CommentCount="7" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="22429" PostTypeId="1" CreationDate="2014-05-05T21:57:05.423" Score="4" ViewCount="771" Body="&lt;p&gt;The following problem is simple to state, but seems quite complicated to solve to me. Any hint or reference to related work is appreciated.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Let $A \odot B$ denote elementwise multiplication of matrices $A$ and $B$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Let $M|\mathbf w$, where $M$ is a matrix and $\mathbf w$ is a subset of the column indices, denote the matrix formed by selecting columns $\mathbf w$ from $M$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Problem:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Input:&lt;/strong&gt; A binary matrix $B=\left[b_{ij} \right]_{m \times n}$, $b_{ij} \in \{0, 1\}$ and a collection $\{ \mathbf{w}_i \subset \{1,\cdots, n\} | i=1,\cdots,k \}$ of column indices.&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;&lt;strong&gt;Output:&lt;/strong&gt; Find a matrix $A=\left[ a_{ij} \right]_{m \times n}$, $a_{ij} \in \mathrm{GF}(p^q)$ such that for each $\mathbf{w}_i$, $i=1,\cdots, k$, rank of $(A \odot B)|\mathbf{w}_i$ is $|\mathbf{w}_i|$ or print IMPOSSIBLE if no such matrix exists.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Informally, the problem is that given an $m\times n$ matrix in which some of the elements are fixed to 0, assign values from a finite field to other elements such that the rank of some specific subsets of the columns is maximized.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Observations:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;You can assume that $w=\max_i |\mathbf w_i|$ is a constant.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;You can assume that $p^q$ is much larger than $3knw$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;If $\mathbf w_i$'s are disjoint, one can simply solve the problem by solving the problem for each $\mathbf w_i$ separately.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;If $\mathbf w_i \subset \mathbf w_j$ for some $i \neq j$, $\mathbf w_i$ can be removed from the collection and the problem does not change.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;From #3 and #4, the only difficult case of the problem is when $\mathbf w_i$'s intersect, but do not overlap completely (&lt;em&gt;i.e.&lt;/em&gt; one is the subset of another).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;As &quot;mobius dumpling&quot; noted in his answer, with random assignment from the finite field to the matrix $A$, $(A\odot B)|\mathbf w_i$ has full rank with a constant probability $s$ for each $i=1,...,k$. The problem is that the probability that all $(A\odot B)|\mathbf w_i$ have full rank is $s^k$, which is not a constant. Should I use a more complicated method (such as inclusion/exclusion method) to compute the total probability?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;A necessary condition for the problem is: for all $i$: for each $j\in \mathbf w_i$, there is a distinct row $k$ such that $b_{kj}=1$. &lt;a href=&quot;https://cs.stackexchange.com/questions/25931/a-variant-of-the-set-cover-problem-is-that-a-known-problem&quot;&gt;This can be checked in polynomial time&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Having a full rank matrix $A \odot B$ as the result is neither a necessary nor a sufficient condition. The necessary part is apparent since in many cases, the answer is not a full rank matrix. For the case $m &amp;lt; n$, it is not also sufficient.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="4264" LastEditorUserId="-1" LastEditDate="2017-04-13T12:48:30.830" LastActivityDate="2018-04-06T23:32:01.937" Title="A matrix rank problem over finite fields: Is that a known problem?" Tags="&lt;linear-algebra&gt;&lt;matrices&gt;&lt;finite&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="22430" PostTypeId="2" ParentId="22429" CreationDate="2014-05-05T22:28:48.483" Score="4" Body="&lt;p&gt;When $p^q&amp;gt;3k$, then there is an easy randomized algorithm for this problem (with error probability zero and polynomial expected running time). The algorithm prints &quot;IMPOSSIBLE&quot; if there is $i$ such that $B|w_i$ has more than $n-|w_i|$ rows that consist entirely of zeroes. Otherwise, the algorithm prints &quot;POSSIBLE&quot;. It then chooses uniformly random matrices $A$ until it finds one that satisfies the requirements. Below I'll prove that a random matrix $A$ satisfies these requirements with at least constant probability.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If the algorithm printed &quot;IMPOSSIBLE&quot; then it is easy to see that indeed there is no $A$ that satisfies the requirements. Now, consider the case that the algorithm printed &quot;POSSIBLE&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A known result states that a random matrix over a field of size $|F|$ is full-rank with probability $\ge 1-2/|F|$. To see this consider the columns one by one, and compute the size of the linear subspace that they have to &quot;dodge&quot;. Work from the last column to the first. You get that the chance that the matrix is full rank is $(1-1/|F|)\cdot(1-1/|F|^2)\cdot\ldots$. In fact, the same proof can be seen to work even if some of the entries are fixed to zero, as long as no entire row is fixed to zero. QED.&lt;/p&gt;&#xA;" OwnerUserId="20830" LastActivityDate="2014-05-05T22:28:48.483" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="22431" PostTypeId="1" CreationDate="2014-05-06T03:48:37.937" Score="19" ViewCount="573" Body="&lt;p&gt;According to (unverified) historical account, Kolmogorov thought that every language in $\mathsf{P}$ has linear circuit complexity. (See the earlier question &lt;a href=&quot;https://cstheory.stackexchange.com/questions/21995/kolmogorovs-conjecture-that-p-has-linear-size-circuits&quot;&gt;Kolmogorov&amp;#39;s conjecture that $P$ has linear-size circuits&lt;/a&gt;.) Note that it implies $\mathsf{P}\neq \mathsf{NP}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Kolmogorov's  conjecture, however, is viewed likely to fail. For example, Ryan Williams writes in a recent &lt;a href=&quot;http://www.stanford.edu/~rrwill/ICM-survey.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;paper:&lt;/a&gt; &quot;The conjecture would be surprising, if true. For languages in $\mathsf{P}$ requiring $n^{100^{100}}$&#xA;time, it appears unlikely that the complexity of such problems would magically&#xA;shrink to $O(n)$ size, merely because a different circuit can be designed for each&#xA;input length.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, Andrey Kolmogorov (1903-1987) is widely recognized as one of the leading mathematicians of the 20th century. It is rather hard to imagine that he would have proposed a completely absurd conjecture. Therefore, to understand it better, I tried to find some arguments that might actually support his surprising guess. Here is what I could think up:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assume $\mathsf{P}\not\subseteq \mathsf{SIZE}(lin)$. Then we can pick a language $L\in \mathsf{P}$, such that $L$ has superlinear complexity both in the uniform and in the non-uniform model. There are then two possibilities:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;There is a known  &lt;em&gt;explicit&lt;/em&gt; algorithm (Turing machine) that accepts $L$. From this we can construct an &lt;em&gt;explicit&lt;/em&gt; function family that must have superlinear circuit complexity. However, this may be viewed  unlikely, since no one has been able to find such an example in more than 60 years of intense research on circuits.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;There is no known &lt;em&gt;explicit&lt;/em&gt; algorithm for $L$. For example, its existence is proved via non-constructive means, such as the Axiom of Choice. Or, even if the explicit algorithm exists, no one has been able to find it. Given, however, that there are infinitely many languages that can play the role of $L$, it is unlikely again that they &lt;em&gt;all&lt;/em&gt; behave in this unfriendly way. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;But then, if we dismiss both options as unlikely, the only remaining possibility is that such an $L$ does not exist. That means  $\mathsf{P}\subseteq \mathsf{SIZE}(lin)$, which is precisely Kolmogorov's conjecture. &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Question:&lt;/strong&gt; Can you think of any further argument for/against Kolmogorov's conjecture?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="12710" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2014-05-12T01:54:16.603" Title="Arguments for/against Kolmogorov's conjecture about the circuit complexity of P" Tags="&lt;cc.complexity-theory&gt;&lt;circuit-complexity&gt;&lt;ho.history-overview&gt;" AnswerCount="2" CommentCount="4" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="22432" PostTypeId="1" CreationDate="2014-05-06T06:56:50.557" Score="2" ViewCount="225" Body="&lt;p&gt;Let some finite array of integers is given initially.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is a number k which is initially '0'.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In a move, a player will select a number from the array arr[i] and change k to gcd(k,arr[i]).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, the number chosen from the array(i.e a[i]) will be removed from that array.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;CONSTRAINTS&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A player who makes k=1 at any step loses.&#xA;A player who cannot move also loses.&#xA;2 players are playing the game optimally.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;When will the player who moves first wins the game?&lt;/p&gt;&#xA;" OwnerUserId="22810" LastActivityDate="2014-05-06T06:56:50.557" Title="What is the optimal strategy for this 2 player game?" Tags="&lt;ds.algorithms&gt;&lt;pr.probability&gt;&lt;gt.game-theory&gt;&lt;combinatorial-game-theory&gt;" AnswerCount="0" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="22433" PostTypeId="2" ParentId="22428" CreationDate="2014-05-06T11:10:10.267" Score="3" Body="&lt;p&gt;The bound is $2^{\min(n, m)}$. It is an upper bound because no two &quot;formal concepts&quot; (i.e., closed itemsets with their respective transaction sets) can have the same subset of items or the same subset of transactions. Considering $D$ as an $n$ by $m$ matrix of $0$ or $1$ such that each cell indicates whether item $i$ is part of the $j$-th transaction of $D$, you can reach the bound by filling the matrix to '1' and setting to '0' a &quot;diagonal&quot; (well, not really a diagonal since the matrix is rectangular). If you wish, you can then permute the rows and/or the columns and the number of closed itemsets obviously remains the same. Any number of '1' out of the square matrix where there is the diagonal can be turned into '0' too.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Quite recently, Richard Émilion published in &lt;em&gt;Discrete Applied Mathematics&lt;/em&gt; the average and the variance of the number of (frequent) closed itemsets in a rectangular 0/1 matrix with a Bernoulli distribution of the '1's: &lt;a href=&quot;http://www.univ-orleans.fr/mapmo/membres/emilion/publ/sizeofgl.pdf&quot; rel=&quot;nofollow&quot;&gt;http://www.univ-orleans.fr/mapmo/membres/emilion/publ/sizeofgl.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;That is interesting because real-life datasets usually are very sparse. I am not aware of any bound of the number of (closed) itemsets w.r.t. the density. I believe the formula would not be beautiful at all!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have already told that to a3nm at ICDT'14: you guys (I am not a theorist, just a data miner) want to read about the so-called &quot;Formal Concept Analysis&quot; (FCA): &lt;a href=&quot;https://en.wikipedia.org/wiki/Formal_concept_analysis&quot; rel=&quot;nofollow&quot;&gt;https://en.wikipedia.org/wiki/Formal_concept_analysis&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="22812" LastEditorUserId="22812" LastEditDate="2014-05-07T00:44:03.980" LastActivityDate="2014-05-07T00:44:03.980" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22435" PostTypeId="1" AcceptedAnswerId="22437" CreationDate="2014-05-06T11:50:26.560" Score="0" ViewCount="89" Body="&lt;p&gt;In &lt;a href=&quot;http://www.cs.princeton.edu/~chazelle/pubs/stoc06.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Ailon's paper&lt;/a&gt; (p.3): How $1/(20nd)$ is obtained?  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/1rQrI.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/zP7l4.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;" OwnerUserId="16195" LastEditorUserId="16195" LastEditDate="2014-05-06T12:10:43.670" LastActivityDate="2014-05-06T21:36:36.340" Title="The random densification technique-JL lemma" Tags="&lt;proofs&gt;&lt;embeddings&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22437" PostTypeId="2" ParentId="22435" CreationDate="2014-05-06T21:36:36.340" Score="2" Body="&lt;p&gt;It's not &quot;obtained&quot;, but rather the bound the authors want on $\mathrm{Prob}[|u_1|\ge s]$. The Chernoff inequality says how large $s$ needs to be in order to guarantee the desired upper bound. As they assume $d \le n$, it suffices for $s$ to satisfy $s^2 \cdot d/2≥\ln(20n^2)$, which leads to $s=c\cdot d^{-1/2} \sqrt{\log n}$ for some appropriately chosen constant c.&lt;/p&gt;&#xA;" OwnerUserId="2874" LastActivityDate="2014-05-06T21:36:36.340" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22439" PostTypeId="1" CreationDate="2014-05-07T01:06:43.103" Score="10" ViewCount="286" Body="&lt;p&gt;Consider the following recurrence in two parameters $n$ and $k$:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;\begin{aligned}&#xA;NF(0,k) &amp;amp;= 0 \\&#xA;NF(n,k) &amp;amp;= Neu(n,k) + NF(n-1,k+1) \\&#xA;Neu(n,k) &amp;amp;= [n=1 \wedge k=1] + \sum_{l=1}^{n-1}\sum_{i=0}^k Neu(l,i) \cdot NF(n-l,k-i)&#xA;\end{aligned}&#xA;The expression $NF(n,k)$ counts the number of (untyped) &lt;strong&gt;ordered&lt;/strong&gt; &lt;em&gt;lambda terms in normal form&lt;/em&gt; of length $n$ with $k$ free variables. Recall that lambda terms are either variables, lambda abstractions or applications&#xA;\begin{aligned}&#xA;t &amp;amp;::= x \mid \lambda x.t \mid t\ u&#xA;\end{aligned}&#xA;that a term is &lt;strong&gt;ordered&lt;/strong&gt; if every free or bound variable occurs exactly once &lt;strong&gt;and in the order it was introduced&lt;/strong&gt;, and that a term is &lt;em&gt;normal&lt;/em&gt; if it contains no subterms of the form $(\lambda x.t)\ u$. I take the length of a lambda term to be defined by&#xA;\begin{aligned}&#xA;|x| &amp;amp;= 1 \\&#xA;|\lambda x.t| &amp;amp;= 1 + |t| \\&#xA;|t\ u| &amp;amp;= |t| + |u|&#xA;\end{aligned}&#xA;The recurrence for $NF(n,k)$ is derived from a standard inductive characterization of normal lambda terms (in a mutual induction with &quot;neutral&quot; terms -- for background see &lt;a href=&quot;http://www.cs.cmu.edu/~fp/courses/99-atp/handouts/intercal.pdf&quot; rel=&quot;nofollow&quot;&gt;these notes&lt;/a&gt;, or slide 9 of &lt;a href=&quot;http://www2.tcs.ifi.lmu.de/~abel/talkMcGill2012Normalization.pdf&quot; rel=&quot;nofollow&quot;&gt;this talk&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$NF(n,0)$ thus counts the number of &lt;em&gt;closed&lt;/em&gt; normal &lt;strong&gt;ordered&lt;/strong&gt; lambda terms of length $n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I computed $NF(n,0)$ for $n=0..14$, and derived this sequence:&#xA;$$&#xA;0,0,1,0,2,0,9,0,54,0,378,0,2916,0,24057&#xA;$$&#xA;Now, dropping all of the 0s and plugging the result into the &lt;a href=&quot;http://oeis.org/&quot; rel=&quot;nofollow&quot;&gt;OEIS&lt;/a&gt;, I landed on &lt;a href=&quot;https://oeis.org/A000168&quot; rel=&quot;nofollow&quot;&gt;A000168&lt;/a&gt;, whose first few terms are&#xA;$$&#xA;1, 2, 9, 54, 378, 2916, 24057, 208494&#xA;$$&#xA;and which user Don Knuth says corresponds to the&#xA;$$\text{Number of rooted planar maps with }n\text{ edges.}$$&#xA;A nice explanation (with illustrative pictures) of planar maps is given in &lt;a href=&quot;http://www.lix.polytechnique.fr/~schaeffe/Biblio/Slides/Tatihou.pdf&quot; rel=&quot;nofollow&quot;&gt;these slides&lt;/a&gt; (and also &lt;a href=&quot;http://arxiv.org/pdf/math-ph/0304034v2.pdf&quot; rel=&quot;nofollow&quot;&gt;this paper&lt;/a&gt;); in particular, a &lt;em&gt;planar map&lt;/em&gt; is defined as a proper embedding of a connected graph in the plane (considered up to homeomorphisms of the plane), and it is &lt;em&gt;rooted&lt;/em&gt; if one root edge is marked on the infinite face and oriented in counterclockwise direction.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Conjecture&lt;/strong&gt;: for all $n$, we have&#xA;\begin{aligned}&#xA;NF(2n,0) &amp;amp;= \#\text{ of rooted planar maps with }n\text{ edges} \\&#xA;NF(2n+1,0) &amp;amp;= 0&#xA;\end{aligned}&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Questions: Is the conjecture true? Can you prove it by exhibiting a simple bijection between &lt;strong&gt;ordered&lt;/strong&gt; lambda terms and rooted planar maps?&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Update&lt;/strong&gt; (12 May 2014): I realized that the way I originally explained the conjecture was not strictly speaking correct, since the recurrence for $NF$ actually counts lambda terms which are &lt;strong&gt;ordered&lt;/strong&gt; and not merely linear.  (For example, both $\lambda x.\lambda y.x\ y$ and $\lambda x.\lambda y.y\ x$ are linear lambda terms in normal form, but only $\lambda x.\lambda y.x\ y$ is ordered.  Up to normalization, the two ordered linear lambda terms of length 4 are $\lambda x.\lambda y.x\ y$ and $\lambda x.x\ (\lambda y.y)$.) I am still looking for a proof of this conjecture.&lt;/p&gt;&#xA;" OwnerUserId="674" LastEditorUserId="674" LastEditDate="2014-05-12T14:27:42.477" LastActivityDate="2014-05-12T14:27:42.477" Title="A bijection between ordered lambda terms and rooted planar maps?" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;pl.programming-languages&gt;&lt;lambda-calculus&gt;&lt;planar-graphs&gt;" AnswerCount="0" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="22440" PostTypeId="2" ParentId="21995" CreationDate="2014-05-07T03:01:00.800" Score="8" Body="&lt;p&gt;I'm nowhere near as knowledgeable about this topic as Stasys, but I heard a different justification for this conjecture which I might as well share.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I heard that the conjecture was based on the positive solution to Hilbert's Thirteenth Problem, which was jointly resolved by Komolgorov and his student Arnold.  The theorem (which is much more general than Hilbert's stated problem) says:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Every continuous function of a finite number of variables can be expressed as the finite composition of single-variable functions, as well as a finite number of applications of the binary operator $+$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I'm told that, based on some implementation details of the proof of this theorem, this can be viewed as a continuous analogue of the claim that $\exists k \, \, \, P \subset SIZE(n^k)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Sorry I'm not qualified to be more precise than this -- if anyone else has heard this idea, maybe they could help me out.&lt;/p&gt;&#xA;" OwnerUserId="11051" LastActivityDate="2014-05-07T03:01:00.800" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="22441" PostTypeId="2" ParentId="22424" CreationDate="2014-05-07T04:27:15.800" Score="3" Body="&lt;p&gt;the question does not seem to have been studied much (one possibility is attempting to find a relationship with a &quot;nearby&quot; complexity class say P/poly etc); although here is at least one ref that touches on it:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://dl.acm.org/citation.cfm?id=1570741&quot; rel=&quot;nofollow&quot;&gt;Language operations with regular expressions of polynomial size&lt;/a&gt; Gruber/Holzer&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;This work deals with questions regarding to what extent regularity-preserving language operations affect the descriptional complexity of regular expressions. Some language operations are identified which are feasible for regular expressions in the sense that the result of the operation can be represented as a regular expression of size polynomial in that of the operands. We prove that taking language quotients, in particular the prefix and suffix closures, of a regular set can incur at most a quadratic blow-up on the required expression size. The circular shift operation can cause only a cubic increase in size and at least a quadratic bloat can be necessary in the worst case.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;as AS suggests there may be other more natural ways to study something like the question posed. here is another somewhat similar way to study growth of a regular language based on number of words of size $n$ which does have some loose relation to the question eg&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://www.ii.uni.wroc.pl/~gawry/growth_slides.pdf&quot; rel=&quot;nofollow&quot;&gt;Finding the growth rate of a regular or context-free language in polynomial time&lt;/a&gt;&#xA;(Gawrychowski, Krieger, Rampersad, Shallit)&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Given a context-free language L, we can test whether it is of polynomial or exponential growth in polynomial time. Moreover, if it is of polynomial growth we can also find the exact order of this polynomial in polynomial time.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2014-05-07T04:27:15.800" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="22443" PostTypeId="1" CreationDate="2014-05-07T05:27:45.177" Score="6" ViewCount="2698" Body="&lt;p&gt;&lt;strong&gt;Model&lt;/strong&gt;: Consider an infinite undirected connected graph $\mathcal{G}=(\mathcal{V},\mathcal{E})$. At time $t=0$, a given virus node $s\in\mathcal{V}$ starts infecting the network $\mathcal{G}$. Specifically, for each edge $(u,v)\in\mathcal{E}$, if either $u$ or $v$ becomes infected, then the other uninfected node on the edge $(u,v)$ will be infected after a random time following an exponential distribution with rate $\lambda$. Assume the spreading times for each edge are independent and identically distributed. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question&lt;/strong&gt;: Now given a connected subgraph $G\subset\mathcal{G}$ ($s\in G$ ), what is the probability that all the nodes in $G$ are infected at time $t&amp;gt;0$? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I tried to find a mathematical model to track such an infection process on different kinds of networks (trees, grids, regular networks, etc.). However, after checking the classical &lt;a href=&quot;http://en.wikipedia.org/wiki/Epidemic_model&quot;&gt;epidemic models&lt;/a&gt; (SIS, SIR, etc.), I found these models often use the mean field approximation to find the percentages of population in different states (Suspicious, Infected, etc.) without considering the network structures. Thus I think they might not be useful in modeling the infection process described above. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any insights or references to papers/books would be helpful and greatly appreciated.&lt;/p&gt;&#xA;" OwnerUserId="22801" LastActivityDate="2014-07-08T16:49:55.813" Title="What is the probability of a virus spreading through a network given a virus source node?" Tags="&lt;graph-theory&gt;&lt;pr.probability&gt;&lt;stochastic-process&gt;" AnswerCount="2" CommentCount="5" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="22445" PostTypeId="1" AcceptedAnswerId="22462" CreationDate="2014-05-07T14:21:14.987" Score="11" ViewCount="846" Body="&lt;p&gt;As @Marzio mentioned, the following game is known as &lt;a href=&quot;http://en.wikipedia.org/wiki/Generalized_geography&quot;&gt;Generalized Geography&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a graph $G=(V,E)$ and a starting vertex $v \in V$, the game is defined as follows:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;At each turn (two players alternating), a player chooses $u\in N(v)$, and then the following happens:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;$v$, as well as all of its edges, is removed from $G$.&lt;/li&gt;&#xA;&lt;li&gt;$u\to v$ (i.e. $v$ is updated to be the vertex $u$).&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;The player who is forced to select a &quot;dead end&quot; (i.e. a vertex with no outgoing edges) loses.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;In which graph families is the optimal strategy computable in polynomial time?&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, it's easy to see that if $G$ is a DAG, then we can easily compute the optimal strategy for the players.&lt;/p&gt;&#xA;" OwnerUserId="21001" LastEditorUserId="21001" LastEditDate="2014-05-08T09:07:05.943" LastActivityDate="2014-05-11T21:51:22.777" Title="For which families of graphs is Generalized Geography in $P$?" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;gt.game-theory&gt;" AnswerCount="2" CommentCount="3" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="22447" PostTypeId="1" AcceptedAnswerId="22450" CreationDate="2014-05-07T16:56:41.477" Score="6" ViewCount="649" Body="&lt;p&gt;Are types which correspond to sets with cardinality of continuum possible in MLTT (or in any other constructive theory)? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the first sight, they aren't, since elements of types are terms and we have only countable number of terms.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does it mean that sets with cardinality of a continuum really doesn't exist and just a nice abstraction which simplifies mathematics a lot?&lt;/p&gt;&#xA;" OwnerUserId="21833" LastEditorUserId="21833" LastEditDate="2014-05-07T17:10:58.753" LastActivityDate="2014-05-07T20:38:38.270" Title="Types which correspond to sets of cardinality of continuum" Tags="&lt;lo.logic&gt;&lt;type-theory&gt;&lt;constructive-mathematics&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="22448" PostTypeId="1" CreationDate="2014-05-07T17:40:55.307" Score="3" ViewCount="190" Body="&lt;p&gt;I am struggling to get a correct algorithm for a leader election algorithm in a distributed system. My assumptions are as follows:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Messages are sent unreliably with an at-most-once sending&lt;/li&gt;&#xA;&lt;li&gt;Nodes are only eligible if they are available and have the most current timestamp of all available nodes within the set. Each node has a timestamp, representing the last update operation.&lt;/li&gt;&#xA;&lt;li&gt;Each node has a weight, each weight is unique (= the nodes are strictly ordered in terms of the weight).&lt;/li&gt;&#xA;&lt;li&gt;The eligible node with the highest weight should win the election.&lt;/li&gt;&#xA;&lt;li&gt;My system uses timeouts to detect failures.&lt;/li&gt;&#xA;&lt;li&gt;Each node knows the weight of each other node in the set.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;I had a look especially at Bully algorithms, originally &lt;a href=&quot;http://python.6.x6.nabble.com/attachment/2790883/0/Elections%20in%20a%20Distributed%20Computing%20System.pdf&quot; rel=&quot;nofollow&quot;&gt;given by Garcia-Molina&lt;/a&gt; and a &lt;a href=&quot;http://umdrive.memphis.edu/smmasum/www/Research%20Papers/Proceedings/Modified%20Bully%20Algorithm%20for%20Electing%20Coordinator%20in%20Distributed%20Systems.pdf&quot; rel=&quot;nofollow&quot;&gt;modified version&lt;/a&gt;. I have no problem adapting them to the unreliable message sending using ACKs. However, I struggle as I have one assumption which is quite different: I do have timestamps at each node, which are not known to every node. &lt;/p&gt;&#xA;" OwnerUserId="22828" LastEditorUserId="22828" LastEditDate="2014-05-12T17:33:00.930" LastActivityDate="2014-05-12T17:33:00.930" Title="Election algorithm with unreliable messages and a certain timestamp" Tags="&lt;ds.algorithms&gt;&lt;dc.distributed-comp&gt;" AnswerCount="0" CommentCount="6" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="22449" PostTypeId="2" ParentId="22443" CreationDate="2014-05-07T20:13:05.113" Score="1" Body="&lt;p&gt;there are many &quot;spread&quot; models, what you request does seem to have been studied. eg this paper builds a framework to analyze the difference &amp;amp; distinguish between random virus spreading and network- (graph-) based spreading.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://users.ece.utexas.edu/~cmcaram/pubs/InfectionVsSpreading.pdf&quot; rel=&quot;nofollow&quot;&gt;Network Forensics: Random Infection vs Spreading Epidemic&lt;/a&gt; Milling, Caramanis, Mannor, Shakkottai&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Computer (and human) networks have long had to contend&#xA;  with spreading viruses. Effectively controlling or curbing an&#xA;  outbreak requires understanding the dynamics of the spread.&#xA;  A virus that spreads by taking advantage of physical links&#xA;  or user-acquaintance links on a social network can grow explosively&#xA;  if it spreads beyond a critical radius. On the other&#xA;  hand, random infections (that do not take advantage of network&#xA;  structure) have very different propagation characteristics.&#xA;  If too many machines (or humans) are infected, network&#xA;  structure becomes essentially irrelevant, and the different&#xA;  spreading modes appear identical. When can we distinguish&#xA;  between mechanics of infection? Further, how can this be&#xA;  done efficiently? This paper studies these two questions.&#xA;  We provide sufficient conditions for different graph topologies,&#xA;  for when it is possible to distinguish between a random&#xA;  model of infection and a spreading epidemic model, with&#xA;  probability of misclassification going to zero. We further&#xA;  provide efficient algorithms that are guaranteed to work in&#xA;  different regimes.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2014-05-07T20:13:05.113" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="22450" PostTypeId="2" ParentId="22447" CreationDate="2014-05-07T20:38:38.270" Score="20" Body="&lt;p&gt;You must be careful here. You are using set-theoretic concepts (cardinal, continuum) outside set theory. There is potential for confusion.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Your question can be understood in several ways.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Maybe you are asking whether there can be uncountably many terms of a given type. The answer is: obviously not since there are only countably many finite strings, and eact term is a string (or a finite tree if we think of abstract syntax). You might be asking this question because you claim that &quot;the elements of types are terms&quot;. This, in my opinion, is a very damaging view of types. It is like saying that the elements of $\mathbb{R}$ are only certain expressions which denote real numbers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another possibility is that you are asking whether there is a model of type theory in which some of the types are interpreted as uncountable sets. The answer is yes, for example the set-theoretic type model in which types are sets. In this case $\mathtt{nat} \to \mathtt{bool}$ has the power of continuum because it is the sets of all infinite boolean sequences.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You could be asking whether &lt;em&gt;inside&lt;/em&gt; type theory we can prove that there are types of the cardinality of continuum. In this case the question does not make sense because the notion &quot;cardinality of continuum&quot; is something that only make sense in set theory. You need to rephrase it so that it makes sense in type theory, but there are complications. Cardinality just does not behave the same way in type theory as it does in set theory. For example, you cannot show that cardinals (whatever you think they are) are linearly ordered. But we can still define special cases. Thus we can define the notion of an &lt;em&gt;uncountable&lt;/em&gt; type:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;Definition uncountable (A : Type) :=&#xA;   forall f : nat -&amp;gt; A, exists x : A, forall n : nat, ~ (f n = x).&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;In words, $A$ is uncountable if for every sequence $f : \mathbb{N} \to A$ there exists $x : A$ such that $x$ is not in the image of $f$. The Baire space $\mathbb{N}^\mathbb{N}$ is uncountable:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;Theorem baire_uncountable : uncountable (nat -&amp;gt; nat).&#xA;Proof.&#xA;  intro f.&#xA;  exists (fun n =&amp;gt; S (f n n)).&#xA;  intro n.&#xA;  intro E.&#xA;  absurd (f n n = S (f n n)).&#xA;  - auto.&#xA;  - pattern (f n) at 1.&#xA;    rewrite E.&#xA;    reflexivity.&#xA;Qed.&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;So, classically this would mean that the cardinality of the Baire space is larger than $\aleph_0$, but as I said, cardinalities inside type theory, and in constructive mathematics in general, behave a lot less nicely than in set theory.&lt;/p&gt;&#xA;" OwnerUserId="705" LastActivityDate="2014-05-07T20:38:38.270" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="22451" PostTypeId="2" ParentId="22431" CreationDate="2014-05-07T21:56:49.657" Score="12" Body="&lt;p&gt;The answer of Stasys on the previous question provides some intuition potentially in favor: &lt;a href=&quot;https://cstheory.stackexchange.com/a/22048/8243&quot;&gt;https://cstheory.stackexchange.com/a/22048/8243&lt;/a&gt; . I'll try to restate here as I understand it. The key intuition is to view a circuit as, &lt;strong&gt;not an algorithm, but an encoding&lt;/strong&gt; of a set (the set it accepts). We can get an upper-bound on encoding size by algorithm running time (that is, translate a time-$t$ TM into a size-$t$ circuit), but it's not clear what converse relationship should exist. If a language is in $\mathsf{P}$, then perhaps this implies that membership is &quot;local&quot; enough to be encoded very concisely.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;That is, membership in $\mathsf{P}$ is a statement about running time of an algorithm whereas linear circuits is (perhaps) a statement about encoding size of sets of fixed-length words. Both are statements about simplicity of the language but they live in maybe quite different worlds.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another intuition Stasys mentions comes from the &quot;indicator string&quot; of a language, which let's formalize as the infinite string where bit $j$ is $1$ if the $j$th lexicographic string is in the language and is $0$ otherwise. A (polytime) TM for the language is a (fast) oracle for the string --- given $j$ in binary, produce the $j$th bit. A (linear-sized) circuit for inputs of length $n$ is a (concise) oracle for the length-$2^n$ prefix of the string. The conjecture becomes &quot;any infinite string that has a 'fast' oracle has 'concise' prefix-oracles.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;None of the above explains why $``\mathsf{P}&quot;$ and &quot;linear&quot; might be the right respective parameters for the statement; but I think they show that one natural intuition -- that circuits act like algorithms, and more complicated algorithms require similarly-complicated circuits -- might be misleading.&lt;/p&gt;&#xA;" OwnerUserId="8243" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2014-05-07T21:56:49.657" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22455" PostTypeId="1" AcceptedAnswerId="22456" CreationDate="2014-05-08T01:00:33.870" Score="0" ViewCount="59" Body="&lt;p&gt;A colleague of mine recently interviewed for a software engineering job, and he was given a problem regarding unique identifier creation and testing for validation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, the problem is: if a generated  unique-identifier, let's say an order id provided online by an ecommerce site, is provided to a customer, and when the customer attempts to lookup the order, they have inadvertently transposed two characters, how to quickly test that the id is invalid, and how to create an id such that the transposition of two characters does not represent another valid id.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I want to know what class of problem is this (not in the complexity sense but categorically) and what are general methods that attempt to solve it. Looking for variations on the theme of unique identifier and invalidation on google has not produced interesting results. I am hoping someone here might lead me in the right direction to learn more about this kind of problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I hope I have found the right forum for posing the question, and apologies if I have not.&lt;/p&gt;&#xA;" OwnerUserId="22835" LastActivityDate="2014-05-08T05:42:32.350" Title="Unique Identifier Creation and Invalidation" Tags="&lt;string-matching&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="22456" PostTypeId="2" ParentId="22455" CreationDate="2014-05-08T01:11:00.750" Score="0" Body="&lt;p&gt;Looks like some Data integrity check stuff.&#xA;For example adding something like CRC16 (4hex digits) will allow filter ID with typos&lt;/p&gt;&#xA;" OwnerUserId="22395" LastEditorUserId="898" LastEditDate="2014-05-08T05:42:32.350" LastActivityDate="2014-05-08T05:42:32.350" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22457" PostTypeId="1" CreationDate="2014-05-08T01:23:48.280" Score="3" ViewCount="278" Body="&lt;p&gt;Is there any programming language or system where function equality (extensionality) is decidable?&lt;/p&gt;&#xA;" OwnerUserId="17388" LastActivityDate="2014-05-08T01:23:48.280" Title="Is there any system where function equality (extensionality) is decidable?" Tags="&lt;pl.programming-languages&gt;&lt;computability&gt;&lt;functional-programming&gt;" AnswerCount="0" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="22458" PostTypeId="1" CreationDate="2014-05-08T01:56:42.013" Score="3" ViewCount="170" Body="&lt;p&gt;I've been thinking: computing systems such as the Lambda Calculus and its variations are usually very simple and can be implemented in as few as ~80 lines of Haskell code. There is a &lt;a href=&quot;http://homepages.cwi.nl/~tromp/cl/cl.html&quot; rel=&quot;nofollow&quot;&gt;self-interpreter for the Binary Lambda Calculus in 210 bits&lt;/a&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Considering PL research mostly consists of the search of similar systems with desirable characteristics (such as being supercompilable, or capable of expressing proofs), and taking in account how information-starved those systems are, wouldn't it be interesting to use automated search techniques such as genetic programming or just breadth-first search to find those? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Has that been tried already?&lt;/p&gt;&#xA;" OwnerUserId="17388" LastEditorUserId="8106" LastEditDate="2014-07-14T18:38:55.040" LastActivityDate="2014-07-14T18:38:55.040" Title="How useful is program search in the field of programming-language theory?" Tags="&lt;pl.programming-languages&gt;&lt;computability&gt;&lt;machine-learning&gt;&lt;genetic-programming&gt;" AnswerCount="0" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="22460" PostTypeId="2" ParentId="3008" CreationDate="2014-05-08T06:44:53.137" Score="4" Body="&lt;p&gt;&lt;a href=&quot;http://repository.cmu.edu/cgi/viewcontent.cgi?article=1175&amp;amp;context=compsci&quot; rel=&quot;nofollow&quot;&gt;This algorithm&lt;/a&gt; uses graph minimum cuts to classify large amount of unlabeled samples using only small amount of labelled samples. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Its undergrad friendly. I have explained this to a few randomly chosen undergrads and they understood it. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Ref:&lt;/strong&gt;&#xA;Blum, A., &amp;amp; Chawla, S. (2001). Learning from labeled and unlabeled data using graph mincuts.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Self promotion&lt;/em&gt; Visualization of the algorithm on &lt;a href=&quot;https://www.youtube.com/watch?v=gmcV4-sxlSw&quot; rel=&quot;nofollow&quot;&gt;youtube&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="612" LastEditorUserId="612" LastEditDate="2014-05-09T20:18:56.943" LastActivityDate="2014-05-09T20:18:56.943" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22461" PostTypeId="1" AcceptedAnswerId="22472" CreationDate="2014-05-08T07:18:34.840" Score="1" ViewCount="185" Body="&lt;p&gt;I was using MDP on my work to make optimal decision. I used discrete time, finite state MDP. I assumed that I will have an initial parameters, like the Reward/Cost, state transition probabilities and actions, to make the optimal decisions. Then, I used the value iteration algorithm to find the expected values for each possible state under the given MDP configuration.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is my problem. As I understand, after getting the optimal policy from Value Iteration Algorithm, the policy will stay valid under the initial MDP configuration. However, I believe the policy must be adjusted whenever there is change on MDP configurations (specifically change in Reward/Cost and Transition probabilities). So, I am looking for the best solution that adjust the policy instead of recalculating the policy again using VIA under the new MDP configuration.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My work assumes the states and action doesn't change, only the cost and transition probability changes. Please suggest me any solution or reference to similar works. Thanks.&lt;/p&gt;&#xA;" OwnerUserId="21414" LastActivityDate="2016-02-16T19:58:00.880" Title="Policy Adjustment in Markov Decision Process" Tags="&lt;pr.probability&gt;&lt;markov-chains&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="22462" PostTypeId="2" ParentId="22445" CreationDate="2014-05-08T09:36:31.730" Score="8" Body="&lt;p&gt;Generalized Geography (GG) is PSPACE-complete even on planar directed bipartite graphs,&#xA;but, as reported in:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/030439759390357Y/pdf?md5=f2e5b46744aa1e817cd19dc930b21c6e&amp;amp;pid=1-s2.0-030439759390357Y-main.pdf&quot; rel=&quot;nofollow&quot;&gt;Hans L. Bodlaender, Complexity of path-forming games&lt;/a&gt;, Theoretical Computer Science, Volume 110, Issue 1, 15 March 1993, Pages 215-245&lt;/p&gt;&#xA;&#xA;&lt;p&gt;GG (and some other PSPACE-complete variants) are linear-time-solvable in graphs of bounded treewidth.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;SIDE NOTE: one of the Generalized Geography variants that has recently been proved to be PSPACE-complete is Tron (&lt;em&gt;Light Cycles&lt;/em&gt; game): given an undirected graph, two players pick two different starting vertices, and then take turns, by moving to an adjacent vertex from their respective previous one in each step. The game ends when both players cannot move anymore. The player who traversed more vertices wins (it was conjectured to be PSPACE-complete in 1990 by Bodlaender and Kloks).&lt;br&gt;&#xA;&lt;a href=&quot;http://arxiv.org/abs/1110.3211&quot; rel=&quot;nofollow&quot;&gt;Tillmann Miltzow, Tron, a combinatorial Game on abstract Graphs (2011)&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;br&gt;&lt;strong&gt;Edit&lt;/strong&gt;: I made a small program to test the game on small $n \times m$ &lt;em&gt;rectangular solid grid graphs&lt;/em&gt; (undirected), and the result suggests that it is polynomial time solvable also for this class of graphs (assuming that the first node picked by player A is the top-left node):&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;               Width n&#xA;           1 2 3 4 5 6 7 8 &#xA;         1 A B A B A B A B    Winning matrix up to 8x8&#xA;         2   B B B B B B B &#xA;         3     A B A B A B &#xA;Height m 4       B B B B B  &#xA;         5         A B A B &#xA;         6           B B B &#xA;         7             A B &#xA;         8               B &#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Curiously, the same matrix is obtained if player A can choose an arbitrary starting node. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;As said in the comments, I think that the complexity of deciding if there is a winning strategy when GG is played on &lt;em&gt;solid grid graphs&lt;/em&gt; (with arbitrary shapes, but without holes) is not known and probably it is not so easy to prove something about it (indeed the - somewhat related - problem of deciding if a solid grid graph has an Hamiltonian &lt;em&gt;path&lt;/em&gt; is still open, though deciding if a solid grid graph has an Hamiltonian &lt;em&gt;cycle&lt;/em&gt; is polynomial time solvable).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A final trivial note: GG is polynomial time solvable also in complete graphs.&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2014-05-11T21:51:22.777" LastActivityDate="2014-05-11T21:51:22.777" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="22463" PostTypeId="2" ParentId="22445" CreationDate="2014-05-08T12:26:40.640" Score="3" Body="&lt;p&gt;The problem is PSPACE-complete even on digraphs of directed tree width $1$. Just consider a PSPACE-Hardness construction provided in &lt;a href=&quot;http://en.wikipedia.org/wiki/Generalized_geography#Generalized_geography_is_PSPACE-hard&quot; rel=&quot;nofollow&quot;&gt;wiki&lt;/a&gt;. If we delete a vertex $c$ from a graph, remaining graph is DAG. So we can decompose $G-c$ with width $0$. Then put $c$ in every bag (either guard bags or arborescence bags) of this decomposition. This results in decomposition of directed tree width $1$. (This is interesting because there are not many problems which are easy on DAGs and hard on bounded directed treewidth graphs).&lt;/p&gt;&#xA;" OwnerUserId="1846" LastActivityDate="2014-05-08T12:26:40.640" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22464" PostTypeId="2" ParentId="3008" CreationDate="2014-05-08T13:57:33.807" Score="1" Body="&lt;p&gt;You can cover some algorithms which are classic or with good intuition.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, C4.5 and CART, which are classic decision tree algorithms.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You also can cover some ensemble methods(e.g., AdaBoost(Boosting), Bagging), which have a very good performance in real world applications. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Furthermore, deep learning is also a good topic, because it is very hot.&lt;/p&gt;&#xA;" OwnerUserId="15776" LastEditorUserId="15776" LastEditDate="2014-05-09T10:56:49.947" LastActivityDate="2014-05-09T10:56:49.947" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="22466" PostTypeId="2" ParentId="1775" CreationDate="2014-05-08T19:36:45.657" Score="7" Body="&lt;p&gt;this new paper was just highlighted by Luca Aceto in his &lt;a href=&quot;http://processalgebra.blogspot.com/2014/05/best-paper-awards-at-icalp-2014.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;blog&lt;/a&gt; as an EATCS best student paper at ICALP 2014 &amp;amp; has a novel way of separating NL/P:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://www.acsu.buffalo.edu/%7Emwehar/documents/mwehar_INE_2_15_14.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Hardness Results for Intersection Non-Emptiness&lt;/a&gt; Wehar&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;We carefully reexamine a construction of Karakostas, Lipton, and Viglas (2003) to show that the intersection&#xA;non-emptiness problem for DFA's (deterministic finite automata) characterizes&#xA;the complexity class NL. In particular, if restricted to a binary work tape alphabet, then there exist constants &lt;span class=&quot;math-container&quot;&gt;$c_1$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$c_2$&lt;/span&gt; such that for every &lt;span class=&quot;math-container&quot;&gt;$k$&lt;/span&gt; intersection&#xA;non-emptiness for &lt;span class=&quot;math-container&quot;&gt;$k$&lt;/span&gt; DFA's is solvable in &lt;span class=&quot;math-container&quot;&gt;$c_1 k \log(n)$&lt;/span&gt; space, but is not solvable in&#xA;&lt;span class=&quot;math-container&quot;&gt;$c_2 k \log(n)$&lt;/span&gt; space. We optimize the construction to show for an arbitrary number of DFA's intersection non-emptiness is not solvable in &lt;span class=&quot;math-container&quot;&gt;$o \left(  \frac{n}{\log(n) \log(\log(n))} \right) $&lt;/span&gt; space. Furthermore, if there exists&#xA;a function &lt;span class=&quot;math-container&quot;&gt;$f(k) = o(k)$&lt;/span&gt; such that for every &lt;span class=&quot;math-container&quot;&gt;$k$&lt;/span&gt; intersection non-emptiness for &lt;span class=&quot;math-container&quot;&gt;$k$&lt;/span&gt;&#xA;DFA's is solvable in &lt;span class=&quot;math-container&quot;&gt;$n^{f(k)}$&lt;/span&gt; time, then P≠NL. If there does not exist a constant&#xA;&lt;span class=&quot;math-container&quot;&gt;$c$&lt;/span&gt; such that for every &lt;span class=&quot;math-container&quot;&gt;$k$&lt;/span&gt; intersection non-emptiness for &lt;span class=&quot;math-container&quot;&gt;$k$&lt;/span&gt; DFA's is solvable in &lt;span class=&quot;math-container&quot;&gt;$n^c$&lt;/span&gt;&#xA;time, then P does not contain any space complexity class larger than NL.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2014-05-30T07:47:40.923" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22467" PostTypeId="1" AcceptedAnswerId="22469" CreationDate="2014-05-08T19:37:11.350" Score="6" ViewCount="227" Body="&lt;p&gt;Suppose you are given a collection of $n$ balls in $\mathbb{R}^d$, and you want to preprocess them in such a way that you can later query them to find all spheres which contain any test point.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What efficient solutions are known for this problem?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The trivial answer is to just do a linear scan over all the spheres, which takes no preprocessing time but requires an overhead of $O(n)$ per query.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In 1D you can solve the problem using an interval tree, giving $O(\log(n) + k)$ query time with $O(n \log(n))$ preprocessing and $O(n)$ space, but it isn't clear to me that this generalizes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I suspect there should be some sort of reduction here, since I can't seem to find any discussion of this problem in the literature which leads to me to think that it is trivial (though I am probably searching for the wrong terms). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is a reduction to metric range searching in hyperbolic geometry with the signature $(+++ ... -)$, but I don't know how to do hyperbolic range searching efficiently (so it isn't much help).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If this question turns out to be too easy, you can also consider the situation where the set of balls is dynamic.&lt;/p&gt;&#xA;" OwnerUserId="559" LastEditorUserId="559" LastEditDate="2014-05-12T18:06:22.153" LastActivityDate="2014-05-12T18:06:22.153" Title="Finding balls that contain a point" Tags="&lt;cg.comp-geom&gt;" AnswerCount="1" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="22469" PostTypeId="2" ParentId="22467" CreationDate="2014-05-08T19:55:01.937" Score="7" Body="&lt;p&gt;Note that point location in an arrangement of balls (of different radii) is equivalent to point location in an arrangement of hyperplanes one dimension higher by using the usual paraboloid lifting map $(x_1, \ldots, x_d) \mapsto (x_1, \ldots, x_d, \sum_i x_i^2)$. If you call this lifting map $\Phi$, then it's easy to see that $p \in B$ if and only if $\Phi(p)$ is &lt;em&gt;above&lt;/em&gt; $\Phi(B)$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now you have the problem of point location in an arrangement of hyperplanes (note that once you have such a structure it's usually easy to annotate each cell with the list of hyperplanes it is above). That problem can be solved by a variety of methods: for example there's an &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0890540183710576&quot;&gt;algorithm by Meiser&lt;/a&gt; that runs in time $O(d^5 \log n)$ but requires $n^d$ space. It's not clear from the question which is more important: space or time...&lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2014-05-08T19:55:01.937" CommentCount="14" ContentLicense="CC BY-SA 3.0" />
  <row Id="22470" PostTypeId="2" ParentId="16086" CreationDate="2014-05-08T20:02:25.777" Score="1" Body="&lt;p&gt;I can answer my own question here. The original code over $S = \{A, B, \ldots\}$ corresponds (by the Kraft inequality) to a probability distribution on $S$. I can partition S by the subsets I'm ambivalent about, so in $S'$, there's an element $a = \{A, B\}$ to denote that I don't care about the difference between $A$ and $B$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This gives me a simple probability distribution on $S'$: $p(a) = p(A) + p(B)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By the Kraft inequality, again, there is a coding that corresponds to this distribution, so that I can use an algorithm like &lt;a href=&quot;http://en.wikipedia.org/wiki/Arithmetic_coding&quot; rel=&quot;nofollow&quot;&gt;arithmetic coding&lt;/a&gt; to achieve acode of length $- \log p(a) = - \log p(A) + p(B)$.&lt;/p&gt;&#xA;" OwnerUserId="7892" LastActivityDate="2014-05-08T20:02:25.777" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22471" PostTypeId="2" ParentId="1775" CreationDate="2014-05-08T21:36:47.373" Score="8" Body="&lt;p&gt;[1] proves a lower bound for instances of mincost-flow whose bit-sizes are sufficiently large (but still linear) compared to the size of the graph, and furthermore proved that if one could show the same lower bound for inputs of sufficiently small bit-size it would imply $\mathsf{P} \neq \mathsf{NC}$ (and hence $\mathsf{P} \neq \mathsf{L}$). This is, at a high level, the same as Noam's answer in that it is about proving circuit depth lower bounds (=formula-size lower bounds), but seems to be a very different direction than Karchmer-Wigderson games.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In more detail, [1] shows the following. Using the same notation as in the paper, let $L$ denote the mincost-flow language. We can think of the mincost-flow language on $n$-vertex graphs, denoted $L(n)$, as a subset of $\mathbb{Z}^{k(n)}$ for some $k(n) = \Theta(n^2)$, with integers encoded by bit-strings. Let $B(a,n)$ denote the set of all vectors in $\mathbb{Z}^{k(n)}$ where each integer coordinate has bit-size at most $an$. Given a function $f(x_1, \dotsc, x_k)$ (we'll specify what kind of function later), we say that $f$ separates $L(n)$ within $B(a,n)$ if the points in $L(n) \cap B(a,n)$ are exactly those $\vec{x} \in B(a,n)$ such that $f(\vec{x}) = 1$.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Proposition [1, Proposition 7.3] If $L(n)$ is separated in $B(a,n)$ by $\det(M(\vec{x}))$ where $M$ is a matrix of size $\leq 2^{n/d}$ whose entries are (complex) linear combinations of $x_1, \dotsc, x_k$, and such that $a &amp;lt; 1/(2d)$, then $\mathsf{P} \neq \mathsf{NC}$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The relationship between the bit-bound $an$ and the size bound $2^{n/d}$ is crucial here. In the same paper, he showed:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Theorem [1, Theorem 7.4] The hypothesis of the preceding proposition holds for all sufficiently large bit-bounds $a$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The proof of the above theorem uses some heavy hammers as black boxes, but is otherwise elementary (note: &quot;elementary&quot; $\neq$ &quot;&lt;em&gt;easy&lt;/em&gt;&quot;). Namely, it uses the Milnor-Thom bound on the number of connected components of a real semialgebraic variety (the same bound used by Ben-Or to prove lower bounds on Element Distinctness / Sorting in the real computation tree model), the Collins decomposition (used to prove effective quantifier elimination over $\mathbb{R}$), a general position argument, and few other ideas. However, all of these techniques only depended on the degree of the polynomials involved, and so cannot be used to prove $\mathsf{P} \neq \mathsf{NC}$ as in the above Proposition (indeed, [1, Prop. 7.5] constructs a polynomial $g$ of the same degree as $\det$ such that the above proposition fails with $g$ in place of $\det$). Analyzing this situation and looking for properties that went beyond degree was one of the inspirations for GCT.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] K. Mulmuley. &lt;a href=&quot;http://dx.doi.org/10.1137/S0097539794282930&quot;&gt;Lower Bounds in a Parallel Model without Bit Operations&lt;/a&gt;. SIAM J. Comput., 28(4), 1460–1509, 1999&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2014-05-08T21:36:47.373" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22472" PostTypeId="2" ParentId="22461" CreationDate="2014-05-08T21:47:56.353" Score="4" Body="&lt;p&gt;The set of optimal policies for one MDP may be completely different than for another MDP even if the two MPDs differ only in the rewards and/or transition probabilities.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One thing you might try in order to save resources in some cases when you change the MDP (e.g. when the set of optimal policies does not change too much) is to use policy iteration to find optimal policies and to start it for the new MDP from an optimal policy for the old MDP. Theoretically, you should bear in mind that there are exponential time examples for policy iteration that start and finish at policies that differ in only one action, but these are pathological examples that will almost certainly not arise in practice.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You may find some relevant information if you search for &quot;sensitivity analysis&quot; or &quot;perturbation analysis&quot; for MDPs.&lt;/p&gt;&#xA;" OwnerUserId="368" LastEditorUserId="368" LastEditDate="2016-02-16T19:58:00.880" LastActivityDate="2016-02-16T19:58:00.880" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22473" PostTypeId="1" CreationDate="2014-05-09T03:12:09.107" Score="2" ViewCount="206" Body="&lt;p&gt;It is shown in &lt;a href=&quot;http://www.stat.uchicago.edu/~lekheng/work/jacm.pdf&quot; rel=&quot;nofollow&quot;&gt;http://www.stat.uchicago.edu/~lekheng/work/jacm.pdf&lt;/a&gt; that computing the spectral norm (see Definition 6.6) of a $3^{rd}$ order tensor $T \in \mathbb{R}^{d_1 \times d_2 \times d_3}$ is NP-hard (Theorem 1.1 in fact shows it is np-hard to approximate it to with a certain factor). Does this statement imply (trivially ?) any hardness result about computing the dual of the spectral norm ? The dual in this case is defined as:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;\begin{equation} &#xA;\max_{ Y \in\mathbb{R}^{d_1 \times d_2 \times d_3}, \|Y\| \leq 1 } \langle T,Y  \rangle,&#xA;\end{equation}&#xA;where $\langle \cdot, \cdot \rangle$ is the (tensor) inner product and $\| \cdot \|$ is the spectral norm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Note that in the matrix case, dual of the spectral norm is just the sum of singular values of the matrix; also called nuclear norm of the matrix)&lt;/p&gt;&#xA;" OwnerUserId="17505" LastActivityDate="2014-05-09T03:12:09.107" Title="Computing dual of the spectral norm of tensor of order 3" Tags="&lt;computability&gt;&lt;matrices&gt;&lt;tensor-rank&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="22476" PostTypeId="1" CreationDate="2014-05-09T12:30:53.913" Score="1" ViewCount="375" Body="&lt;p&gt;Can someone simply describe why intuitionistic negation is&#xA;&lt;br&gt;&#xA;not constructive and why intuitionistic proof is constructive?&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;blockquote&gt;&#xA;    &lt;p&gt;in intuitionistic logic the notion of falsity has a 'subordinate' status,&#xA;    &lt;br&gt;&#xA;    i.e. intuitionistic logic essentially rests upon a certain disparity between verification&#xA;    &lt;br&gt;&#xA;    and falsification in favor of verification. Unlike intuitionistic truth, intuitionistic&#xA;    &lt;br&gt;&#xA;    falsity is a non-constructive notion representing simply a non-truth of a sentence&quot;&lt;/p&gt;&#xA;  &lt;/blockquote&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;That is a part of paper entitle &quot;Dual Intuitionistic Logic and a Variety of Negations:&#xA;&lt;br&gt;&#xA;The Logic of Scientific Research&quot; by Yaroslav Shramko.&lt;/p&gt;&#xA;" OwnerUserId="22508" LastEditorDisplayName="user6973" LastEditDate="2014-05-10T19:07:29.647" LastActivityDate="2014-05-10T19:07:29.647" Title="Why is intuitionistic negation nonconstructive?" Tags="&lt;constructive-mathematics&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="22477" PostTypeId="2" ParentId="22476" CreationDate="2014-05-09T13:07:01.020" Score="8" Body="&lt;p&gt;Intuitionistic negation is perfectly constructive, because $\lnot A$ is simply an abbreviation for $A \to \bot$ (i.e., &quot;A implies false&quot;). You may be thinking of the principle of double-negation elimination (i.e, $\lnot\lnot A \to A$). This principle is indeed nonconstructive.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The reason we call intuitionistic logic constructive is that existentials and disjunctions are &quot;constructive&quot;. Concretely, this means that:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;if you have a proof of $\exists x.\;A[x]$, then you can find a specific value $v$ such that $A[v]$ is provable. &lt;/li&gt;&#xA;&lt;li&gt;if you have a proof of $A \vee B$, then you can either find a proof of $A$, or a proof of $B$&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The axiom of the excluded middle is not constructive, because it asserts $A \vee \lnot A$ for any $A$, without giving a procedure for deciding which of $A$ or $\lnot A$ is provable. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Double-negation elimination lets you derive the excluded middle. This is because $\lnot\lnot(P \vee \lnot P)$ is derivable in intuitionistic logic. Here's a proof, given as a lambda-term:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;f : ¬¬(P ∨ ¬P)&#xA;f : (((P ∨ (P → ⊥)) → ⊥) → ⊥ ) &#xA;f = λk : (P ∨ (P → ⊥)) → ⊥. &#xA;     let g : P → ⊥ = λp:P. k (inl p) in&#xA;     let h : (P → ⊥) → ⊥ = λn : P → ⊥. k (inr n) in &#xA;     h g &#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;We can combine this with double-negation elimination to conclude that $P ∨ ¬P$ holds generally. Hence it follows that double-negation elimination is not a constructive principle in general. &lt;/p&gt;&#xA;" OwnerUserId="657" LastActivityDate="2014-05-09T13:07:01.020" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="22478" PostTypeId="2" ParentId="3008" CreationDate="2014-05-09T15:19:32.933" Score="0" Body="&lt;p&gt;Genetic programming is really cool. It uses inspiration from biology, and can be applied to a vast number of problems (for example, n-queens problem, and TSP).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It does not require deep mathematical skills.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT: It only requires a way to estimate how good a potential solution is.&#xA;It can be used for example to guess the rule behind a series of numbers,&#xA;finding minima/maxima to multi-variate problems, and search huge parameter spaces.&#xA;It is suited when you are not interested in the optimal solution, but when a good enough solution will do. &#xA;I believe this has been used to find good strategies for games (build orders in Starcraft 2, and optimal play in Mario).&lt;/p&gt;&#xA;" OwnerUserId="22854" LastEditorUserId="22854" LastEditDate="2014-05-09T19:55:36.257" LastActivityDate="2014-05-09T19:55:36.257" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="22479" PostTypeId="2" ParentId="22443" CreationDate="2014-05-09T15:40:26.830" Score="1" Body="&lt;p&gt;Given that you are assuming an infinite graph, I am not sure if it is possible at all to find the probability of having all the nodes infected. I would say for any $ t &amp;gt; 0 $, the probability is (perhaps) $0$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It will be a different problem if you consider finite graphs (e.g.,  you are looking for a probability of having all the nodes at distance $d$ from the source infected).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For infinite graphs, you could start with simpler alternatives, e.g., use Markov chains to model the spreading process and find the rate at which the nodes are infected, e.g., avg. number of nodes per time unit.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In case you have not looked up the keywords &quot;diffusion&quot;, &quot;SIR models&quot;, in the context of social networks, I suggest you try them first. I once did a small project on the topic of news spreading in social networks and those were the topics I had to study for it. For a finite graph, the ratio of the nodes being infected follows an $S$-shape pattern, i.e., slow first, then faster, then slows down.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I hope it helped.&lt;/p&gt;&#xA;" OwnerUserId="22040" LastActivityDate="2014-05-09T15:40:26.830" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="22480" PostTypeId="1" CreationDate="2014-05-09T16:46:16.220" Score="5" ViewCount="328" Body="&lt;p&gt;Do languages decidable in deterministic $n^{O(\log n)}$ time form an interesting complexity class? If yes, is there a name for this class and are there some interesting properties about it that we know about? If not, why not (can we derive it properties easily from some other known complexity class)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thank you!&lt;/p&gt;&#xA;" OwnerUserId="22856" LastEditorUserId="609" LastEditDate="2014-05-09T17:40:02.410" LastActivityDate="2014-05-09T17:52:45.047" Title="Is $\mathsf{DTIME}(n^{O(\log n)})$ an interesting complexity class?" Tags="&lt;complexity-classes&gt;" AnswerCount="2" CommentCount="6" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="22481" PostTypeId="1" AcceptedAnswerId="22510" CreationDate="2014-05-09T17:19:24.170" Score="13" ViewCount="1008" Body="&lt;p&gt;Are there any nice graph classes for which the tree-width $tw(G)$ is upper-bounded by a function of the clique number $\omega(G)$, i.e. $tw(G)\leq f(\omega(G))$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, it is a classic fact that for any chordal graph $G$, we have $tw(G)=\omega(G)-1$. So, classes related to chordal graphs could be good candidates.&lt;/p&gt;&#xA;" OwnerUserId="1930" LastEditorUserId="5693" LastEditDate="2014-10-16T12:55:16.413" LastActivityDate="2020-06-15T11:52:26.120" Title="Relation between tree-width and clique number" Tags="&lt;graph-theory&gt;&lt;treewidth&gt;" AnswerCount="3" CommentCount="11" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="22482" PostTypeId="2" ParentId="22480" CreationDate="2014-05-09T17:31:20.383" Score="4" Body="&lt;p&gt;There are complexity classes like LOGNP or LOGSNP (see [2]) whose problems typically have this kind of running time, like restrictions of NP where only logarithmically many non-deterministic steps are allowed.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Take a look at the following papers (the first two are also available on citeseer, can be found via a search engine):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] Judy Goldsmith, Matthew A. Levy, Martin Mundhenk. Limited nondeterminism.&#xA;&lt;a href=&quot;http://dl.acm.org/citation.cfm?doid=235767.235769&quot; rel=&quot;nofollow&quot;&gt;http://dl.acm.org/citation.cfm?doid=235767.235769&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] Christos H. Papadimitriou, Mihalis Yannakakis. On Limited Nondeterminism and the Complexity of the V-C Dimension.&#xA;&lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0022000096900586&quot; rel=&quot;nofollow&quot;&gt;http://www.sciencedirect.com/science/article/pii/S0022000096900586&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[3] Liming Cai, Jianer Chen. On the Amount of Nondeterminism and the Power of Verifying.&#xA;&lt;a href=&quot;http://epubs.siam.org/doi/abs/10.1137/S0097539793258295&quot; rel=&quot;nofollow&quot;&gt;http://epubs.siam.org/doi/abs/10.1137/S0097539793258295&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="1930" LastActivityDate="2014-05-09T17:31:20.383" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22483" PostTypeId="2" ParentId="22480" CreationDate="2014-05-09T17:52:45.047" Score="11" Body="&lt;p&gt;Quoting the &lt;a href=&quot;https://complexityzoo.uwaterloo.ca/Complexity_Zoo:Q&quot; rel=&quot;noreferrer&quot;&gt;complexity zoo&lt;/a&gt;:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;QP&lt;/strong&gt;: Quasipolynomial-Time&lt;/p&gt;&#xA;&lt;p&gt;Equals DTIME(2&lt;sup&gt;polylog(n)&lt;/sup&gt;).&lt;/p&gt;&#xA;&lt;hr /&gt;&#xA;&lt;p&gt;&lt;strong&gt;QPLIN&lt;/strong&gt;: Linear Quasipolynomial-Time&lt;/p&gt;&#xA;&lt;p&gt;Equals DTIME(n&lt;sup&gt;O(log n)&lt;/sup&gt;).&lt;/p&gt;&#xA;&lt;p&gt;Has the same relationship to &lt;strong&gt;QP&lt;/strong&gt; that &lt;strong&gt;E&lt;/strong&gt; does to &lt;strong&gt;EXP&lt;/strong&gt;.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Both these classes exist. I know that Quasipolynomial-time algorithms arise frequently in many areas. A google search will reveal several known quasipolynomial-time algorithms. Some of these may actually be QPLIN algorithms.&lt;/p&gt;&#xA;&lt;p&gt;One of the advantages of QP over QPLIN is that it's more robust. For example, it is closed under composition, so if you have a quasipolynomial-time subroutine that takes an input of size &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt; to an input of size &lt;span class=&quot;math-container&quot;&gt;$n^{\log n}$&lt;/span&gt; and now run a quasipolynomial-time algorithm on this new input, you will have an algorithm that runs in &lt;span class=&quot;math-container&quot;&gt;$O(n^{\textrm{polylog}(n)})$&lt;/span&gt; time.&lt;/p&gt;&#xA;" OwnerUserId="206" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2014-05-09T17:52:45.047" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="22484" PostTypeId="1" CreationDate="2014-05-09T18:53:50.687" Score="1" ViewCount="98" Body="&lt;p&gt;&lt;strong&gt;Background&lt;/strong&gt;: I am implementing triangle mesh CSG using symbolically perturbed exact arithmetic.  One of the required subalgorithms is retriangulating a triangular face $T_0$ of the input mesh cut by some number of edges defined by intersections between other faces $T_i$.  This reduces to a constrained triangulation problem in the plane.  However, I would like to minimize the degree of the predicates involved, and ideally use only triangle orientation tests where only of the triangle edges is a constraint edge (this has the lowest possible degree when mapped up into 3D).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Concretely, my plane triangulation problem is the following: I have an outer triangle $T$ in the plane, and $n$ constraint segments $S_i$ inside $T$.  The segments may intersect in their interiors; let $m \ge n$ be the number of vertices including the intersection vertices.  I am seeking an $O(m \log m)$ algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Candidate algorithm&lt;/strong&gt;: Generate a BSP tree by picking a random input segment $S_i$, dividing the remaining input segments into left and right sets (which will overlap whenever another &lt;em&gt;segment&lt;/em&gt; $S_j$ crosses &lt;em&gt;line&lt;/em&gt; $S_i$), and recursing.  Triangulate the resulting convex polygons arbitrarily, then incrementally remove all unnecessary points generated by the algorithm (those where segments $S_j$ crosses line $S_i$ but not segment $S_i$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question&lt;/strong&gt;: Has this algorithm or a variant been studied previously?  Is it $O(m \log m)$ time worst case?  Note that the final removal step is not obviously linear time even if only $O(m)$ unnecessary points are generated, so the algorithm could easily be much slower.&lt;/p&gt;&#xA;" OwnerUserId="13245" LastEditorUserId="13245" LastEditDate="2014-05-09T20:31:39.417" LastActivityDate="2014-05-09T20:31:39.417" Title="Is this constrained planar triangulation algorithm $O(m \log m)$?" Tags="&lt;cg.comp-geom&gt;&lt;binary-space-partitions&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22485" PostTypeId="2" ParentId="22484" CreationDate="2014-05-09T20:31:03.950" Score="1" Body="&lt;p&gt;Unfortunately, this algorithm is $\Omega(n^2)$ even if no unnecessary vertices are generated.  If the $S_i$ form a convex polygon inside $T$, the BSP tree is degenerate regardless of the order in which segments are inserted.&lt;/p&gt;&#xA;" OwnerUserId="13245" LastActivityDate="2014-05-09T20:31:03.950" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22486" PostTypeId="2" ParentId="20795" CreationDate="2014-05-09T22:58:58.680" Score="1" Body="&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;A super quine exists in any language where some n-quines exist: just take the smallest program among all n-quines. I guess you wanted to ask another question.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;a k-quine is also always a (kn)-quine for any $n$, so the smallest super quine is a super n-quine for infinitely many n&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;in any &quot;&lt;a href=&quot;http://en.wikipedia.org/wiki/Admissible_numbering&quot; rel=&quot;nofollow&quot;&gt;acceptable programming language&lt;/a&gt;&quot;  we can prove that for all n, there exists a program which is a n-quine but not a k-quine for any $k&amp;lt;n$ (Kleene fixed-point theorem).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="22855" LastActivityDate="2014-05-09T22:58:58.680" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="22487" PostTypeId="2" ParentId="22476" CreationDate="2014-05-10T05:19:24.477" Score="3" Body="&lt;p&gt;Intuitionistic logic is not symmetric regarding truth and falsity.&#xA;There primary notion in intuitionistic logic is constructive truth and proofs not constructive falsity and refutation:&#xA;a statement is true if there is a proof for it.&#xA;And then we discuss various ways of constructions of proofs.&#xA;We don't discuss when a statement is false or how to construct a refutation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We can easily build a dual logic of refutations in place of proofs.&#xA;This was noted in the literature by some students of L.E.J. Brouwer &#xA;(it has been years since I have looked at these, &#xA;I will add references if I recall them).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are also further refinements of intuitionistic logic like linear logic which restore symmetry between truth and falsity.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Intuitionist negation is constructive&lt;/strong&gt; but pay attention to the meaning of the intuitionistic negation. &#xA;It is not the same negation as classical one. &#xA;Asserting the statement $\lnot p$ means that &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;we have a &lt;em&gt;construction&lt;/em&gt; that transforms any proof of $p$ to a proof of $\not$ (absurdity).&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;If $\bot$ has a proof then every statement has a proof by the $\bot$ rule&#xA;(there is a restriction of intuitionistic logic that treats $\bot$ &#xA;simply as an arbitrary atomic proposition called minimal logic).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So $\lnot p$ does not meant that $p$ is false, &#xA;it means that it can never be true.&#xA;To understand the distinction we should think in the constructive terms not platonic terms.&#xA;$p$ not true means we have not constructed a proof of $p$.&#xA;$\lnot p$ means no one can ever construct a proof of $p$ and &#xA;we have a construction showing that.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In constructive mathematics &#xA;(in the general sense, not in the sense of constructive theories) &#xA;a proof is not a formal object according &#xA;to some system of fixed rules.&#xA;It is a construction.&#xA;It is a primary notion that &#xA;need not be further explained in terms of sets or linguistic objects&#xA;(though there the meaning of logical symbols are closely related to &#xA;the rules of their manipulation by design of those rules).&#xA;The rules of proof construction are not limited to &#xA;what is considered to be acceptable at the moment.&#xA;We have to consider the possibility that &#xA;tomorrow someone may come up with a new kind of constructing proofs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The intuitionist negation is constructive &#xA;because it is shown by constructing a particular kind of proof, &#xA;it is not shown simply by &lt;em&gt;nonexistence&lt;/em&gt; of proofs or objects.&#xA;To show that $\lnot p$ holds it is not enough that you show there are no proofs for $p$,&#xA;you have to give a construction that shows that there cannot a proof for $p$ ever.&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2014-05-10T05:36:05.843" LastActivityDate="2014-05-10T05:36:05.843" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="22488" PostTypeId="1" AcceptedAnswerId="22491" CreationDate="2014-05-10T17:10:09.127" Score="7" ViewCount="362" Body="&lt;p&gt;Given two poly-sized quantum circuits $C_1$ and $C_2$ on $n$ qubits with a universal gate set generated by some finite set of one and two qubit gates. I'm thinking of the gates $\langle H, T, CNOT\rangle$, but other universal gate sets should work as well. Notice that $C_1$ and $C_2$ each correspond to a $2^n \times 2^n$ unitary matrix, $U_1$ and $U_2$, respectively. How hard is it to determine if $U_1 == U_2$, given the circuits $C_1$ and $C_2$? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Clearly the problem is in coQMA since if $U_1$ and $U_2$ are different there exists an input state $r$ such that $C_1(r)$ not equal to $C_2(r)$ which can be checked with a quantum computer. Has this problem been studied? Is it complete for this class? Is this class known as something else in the literature, since I cannot find much about it?&lt;/p&gt;&#xA;" OwnerUserId="13746" LastActivityDate="2014-05-10T23:08:44.207" Title="Hardness of quantum circuit equivalence?" Tags="&lt;cc.complexity-theory&gt;&lt;quantum-computing&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="22489" PostTypeId="2" ParentId="20795" CreationDate="2014-05-10T19:03:12.073" Score="2" Body="&lt;p&gt;There's a good chance this question is independent of ZFC for most programming languages.  In particular, I'd expect it to be true of any language where the shortest Quine is longer than the Kolmogorov complexity decidability bound, the integer $n$ such that no string can be proven to have Kolmogorov complexity $&amp;gt; n$.  I don't know to prove this, since even if you could express a Quine by a shorter program it wouldn't be a Quine, but I would expect a similar result to apply.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, if the above argument were true, the argument itself might also be unprovable in ZFC, since it would require showing that no Quines exist below the complexity bound.&lt;/p&gt;&#xA;" OwnerUserId="13245" LastEditorUserId="13245" LastEditDate="2014-05-10T19:14:02.250" LastActivityDate="2014-05-10T19:14:02.250" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22491" PostTypeId="2" ParentId="22488" CreationDate="2014-05-10T23:08:44.207" Score="13" Body="&lt;p&gt;The problem isn't clearly in coQMA. If $U_1$ and $U_2$ are different, and you're given a state on which they act differently, it is not necessary that a polynomial-time quantum computer can check that the output states are different. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In fact, it is easy to show that if these two quantum states are different, but exponentially close in trace norm, then no polynomial-time quantum algorithm can distinguish the two. This is analogous to how no polynomial-time classical algorithm can distinguish two probability distributions that are exponentially close.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, if we're promised that $U_1$ and $U_2$ are not too close when they are not equal, then the problem is in coQMA. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The complexity of either variant is known. In the exact case, this problem is complete for coNQP, which is the same as the class $C_=P$. &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Yu Tanaka, EXACT NON-IDENTITY CHECK IS NQP-COMPLETE. International Journal of Quantum Information 08:05, 807-819 &lt;a href=&quot;http://arxiv.org/abs/0903.0675&quot;&gt;http://arxiv.org/abs/0903.0675&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;In the other case where we're promised that they're not too close when unequal, the problem is indeed coQMA-complete. &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;D. Janzing, P. Wocjan, and T. Beth, Non-identity check is QMA-complete, International Journal&#xA;  of Quantum Information, 3(3), pp. 463–473, 2005; &lt;a href=&quot;http://www.worldscientific.com/doi/abs/10.1142/S0219749905001067&quot;&gt;http://www.worldscientific.com/doi/abs/10.1142/S0219749905001067&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;(Note that the problem is equivalent to checking if $U_1U^\dagger_2$ is the identity matrix, which is called the identity check problem.)&lt;/p&gt;&#xA;" OwnerUserId="206" LastActivityDate="2014-05-10T23:08:44.207" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="22492" PostTypeId="1" AcceptedAnswerId="22499" CreationDate="2014-05-11T00:58:50.447" Score="4" ViewCount="122" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;Are there known locally decodable &lt;em&gt;erasure&lt;/em&gt; codes with&#xA;  &lt;br&gt;&#xA;  linear codeword length and $\:n^{o(1)}\:$ query complexity?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;According to pages 1 and 4 of &lt;a href=&quot;http://research.microsoft.com/en-us/um/people/yekhanin/papers/ldc_now.pdf&quot; rel=&quot;nofollow&quot;&gt;this link&lt;/a&gt; (which annoying does not give its own date,&#xA;&lt;br&gt;&#xA;though it cites references from 2011), locally decodable (error-correcting) codes&#xA;&lt;br&gt;&#xA;with linear codeword length are only known with query complexity $n^{\epsilon}$ for $\: \epsilon &amp;gt; 0 \;$.&#xA;&lt;br&gt;&#xA;i.e., Does considering &lt;em&gt;erasure&lt;/em&gt; codes instead change that?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Such a code could be used for showing that a data host has &lt;em&gt;random access&lt;/em&gt; to a given file.&#xA;&lt;br&gt;&lt;br&gt;&lt;/p&gt;&#xA;" OwnerDisplayName="user6973" LastActivityDate="2014-05-11T06:26:32.257" Title="Are there good locally decodable _erasure_ codes" Tags="&lt;coding-theory&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22493" PostTypeId="1" AcceptedAnswerId="22494" CreationDate="2014-05-11T01:50:48.263" Score="64" ViewCount="7657" Body="&lt;p&gt;After studying deterministic finite state automata (DFA) in undergrad, I felt they are extremely well understood. My question is whether there is something we still don't understand about them. I don't mean generalisations of DFAs but the original unmodified DFAs we study in undergrad.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is a vague question but I hope you get the idea. I want to understand if it is fair to say that we completely understand DFAs. So I really mean questions that are inherently about DFAs, not problems artificially made to look like a problem about DFAs. Let me give an example of such a problem. Let L be the empty language if P=NP and some fixed non-regular language if P is not NP. Can L be accepted by a DFA? This question is about DFAs, but it isn't about them in spirit. I hope my point is clear and I don't get pedantic non-answers from people.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In short is it fair to say&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;We essentially completely understand DFAs.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I am sorry if it turns out that this is a huge area of research that I was not aware of and I have just insulted an entire community of people.&lt;/p&gt;&#xA;" OwnerUserId="22872" LastActivityDate="2020-05-25T04:21:23.327" Title="Are there any open problems left about DFAs?" Tags="&lt;soft-question&gt;&lt;open-problem&gt;&lt;dfa&gt;" AnswerCount="10" CommentCount="7" FavoriteCount="36" ContentLicense="CC BY-SA 3.0" />
  <row Id="22494" PostTypeId="2" ParentId="22493" CreationDate="2014-05-11T03:41:02.527" Score="60" Body="&lt;p&gt;Here is one problem described in the book &quot;A second course in formal languages and automata theory&quot; by Shallit.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Let $u$ and $v$ be two distinct words with $|u|=|v|=n$.  What is&#xA;  the size of the smallest DFA that accepts $u$ but rejects $v$, or vice versa? &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Robson, in his paper &quot;&lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/0020019089902159&quot;&gt;Separating strings with small automata&lt;/a&gt;&quot; in 1989 proved an upper bound $O(n^{2/5}(\log n)^{3/5})$.  The best known lower bound in $\Omega(\log n)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For a survey &lt;a href=&quot;http://arxiv.org/pdf/1103.4513.pdf&quot;&gt;see this&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="1800" LastActivityDate="2014-05-11T03:41:02.527" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="22495" PostTypeId="2" ParentId="22493" CreationDate="2014-05-11T04:02:56.657" Score="43" Body="&lt;p&gt;The Černý conjecture is still open and important. It is about DFAs that have a &lt;a href=&quot;https://en.wikipedia.org/wiki/Synchronizing_word&quot;&gt;synchronizing word&lt;/a&gt; (a word with the property that two copies of the automaton started in different states always end up in the same state as each other after both processing the word), and asks whether (for $n$-state automata) the length of the shortest such word is always at most $(n-1)^2$. The best proven bounds are of the form $O(n^3)$.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2014-05-11T04:02:56.657" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="22496" PostTypeId="1" CreationDate="2014-05-11T04:23:13.713" Score="1" ViewCount="54" Body="&lt;p&gt;Are there any good surveys? Courses? Lecture notes?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm especially interested in material with practice exercises, if any is available.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks!&lt;/p&gt;&#xA;" OwnerUserId="22559" LastActivityDate="2014-05-11T04:23:13.713" Title="What should I read to learn about the different models of computation used in algorithm and especially data structure analysis?" Tags="&lt;ds.data-structures&gt;&lt;amortized-analysis&gt;" AnswerCount="0" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="22497" PostTypeId="1" AcceptedAnswerId="22500" CreationDate="2014-05-11T05:56:27.837" Score="15" ViewCount="983" Body="&lt;p&gt;I would like to ask suggestions for good texts which introduce circuit complexity. Any pointers to recent advances and open problems in this field would also be helpful.&lt;/p&gt;&#xA;" OwnerUserId="16185" LastEditorUserId="16185" LastEditDate="2014-05-11T19:45:50.107" LastActivityDate="2014-05-12T21:09:12.180" Title="Good text on introduction to circuit complexity" Tags="&lt;circuit-complexity&gt;" AnswerCount="3" CommentCount="0" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="22498" PostTypeId="1" AcceptedAnswerId="22501" CreationDate="2014-05-11T06:18:40.283" Score="4" ViewCount="465" Body="&lt;p&gt;In Luo's UTT (type theory which is used in Agda, Idris, and other dependently typed programming languages), there're are two rules for $\Pi$ types. One for $\mathsf{Prop}$ and one for $\mathsf{Set}$. In the one for $\mathsf{Prop}$ we have no constraints on the universe of a parameter. In the one for $\mathsf{Set}(i)$, we have.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Why it was done in this way? Will anything bad happen in such a case? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;P.S. Basically I want to understand why $\mathsf{Prop}$ has special treatment in the theory. I.e. why we can't choose $\mathsf{Type}(0)$ for propositions, then removed the $\mathsf{Type}(i)$ condition in the $\Pi$ types' argument, and as a consequence have more uniform set of axioms.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;P.P.S. In Luo's thesis I read that Calculus of inductive constructions (CIC) where this universe was introduce was created as a mix between Martin-Löf type theory (MLTT) and System F. Does $\mathsf{Prop}$ correspond to the union of all the existing universes?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;P.P.P.S. UTT is described in Luo's PhD thesis and book here: &lt;a href=&quot;http://www.cs.rhul.ac.uk/home/zhaohui/books.html&quot; rel=&quot;nofollow&quot;&gt;http://www.cs.rhul.ac.uk/home/zhaohui/books.html&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="21833" LastEditorUserId="21833" LastEditDate="2014-05-11T15:56:08.757" LastActivityDate="2014-05-11T15:56:08.757" Title="Rules about Prop and Set in UTT" Tags="&lt;lo.logic&gt;&lt;type-theory&gt;&lt;dependent-type&gt;" AnswerCount="1" CommentCount="6" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="22499" PostTypeId="2" ParentId="22492" CreationDate="2014-05-11T06:26:32.257" Score="4" Body="&lt;p&gt;Locally decodable codes and locally decodable erasure codes are qualitatively equivalent. Both imply $\Omega(m)$ many disjoint $q$-tuples from which one can recover a given message coordinate, where $m$ is the codeword length and $q$ is the query complexity. A formal argument appears in Section 3.4 of &lt;a href=&quot;http://homepages.cwi.nl/~rdewolf/publ/qc/qldc.pdf&quot; rel=&quot;nofollow&quot;&gt;Kerenidis and de Wolf's paper&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="15" LastActivityDate="2014-05-11T06:26:32.257" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22500" PostTypeId="2" ParentId="22497" CreationDate="2014-05-11T06:38:03.673" Score="14" Body="&lt;p&gt;To start off, there is of course Arora and Barak's book &lt;a href=&quot;http://www.cs.princeton.edu/theory/complexity/&quot;&gt;Computational Complexity: A Modern Approach&lt;/a&gt;. From there, parts 3 and 4 of Jukna's book &lt;a href=&quot;http://www.thi.informatik.uni-frankfurt.de/~jukna/boolean/&quot;&gt;Boolean Function Complexity: Advances and Frontiers&lt;/a&gt; make excellent reading material. Also, Ryan Williams teaches a &lt;a href=&quot;http://www.stanford.edu/~rrwill/cs354.html&quot;&gt;nice course on circuit complexity&lt;/a&gt; whose course notes might hopefully be put up online :)&lt;/p&gt;&#xA;" OwnerUserId="15" LastActivityDate="2014-05-11T06:38:03.673" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="22501" PostTypeId="2" ParentId="22498" CreationDate="2014-05-11T07:39:46.700" Score="7" Body="&lt;p&gt;Say that a universe $U$ is &lt;em&gt;impredicative&lt;/em&gt; if the product $\prod_{x : A} B(x)$ is in $U$ whenever $B(x)$ is in $U$ for all $x$, and $A$ is arbitrary, i.e., not necessarily in $U$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there any impredicative universes? Let us think about what an impredicative universe would be for sets: a set $U$ such that for every family of sets $B : A \to U$, no matter how large $A$ is, $\prod_{x : A} B(x)$ is in $U$. That's only possible in two cases: when $U$ contains the singleton (or many copies of it) and when it contains the empty set and the singleton (or many copies of it). This is so because a product of sets which are all singletons or empty is again such a set. If $U$ contains a set $S$ with at least two elements then $S^U$ (which is a special case of a product) will fail to be contained in $U$ for cardinality reasons.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course, we recognize that the case $U = \{\emptyset, \{\emptyset\}\}$ is just the case when $U$ is the set of &lt;em&gt;truth values&lt;/em&gt;, i.e., $\mathsf{Prop}$. This is one reason why $\mathsf{Prop}$ is treated differently: it is impredicative – not only in classical set theory but also more generally, because truth values are closed under $\forall$. Note that $\forall$ and $\prod$ coincide on families of sets that all contain at most one element.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In system $F$ we have impredicativity because types there are closed under $\forall$ ranging over the whole universe of types, and $\forall$ behaves like $\prod$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One could hope that there are other models, where for instance $\mathsf{Type}_i$ is impredicative. Indeed, there are realizability models of (extensional) type theory that contain an impredicative universe of sets (as opposed to truth values). However, one cannot have &lt;em&gt;two&lt;/em&gt; impredicative universes such that one is a member of the other, because one can then cook up a Burali-Forti paradox.&lt;/p&gt;&#xA;" OwnerUserId="705" LastEditorUserId="705" LastEditDate="2014-05-11T15:48:12.973" LastActivityDate="2014-05-11T15:48:12.973" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="22502" PostTypeId="2" ParentId="22493" CreationDate="2014-05-11T10:26:07.563" Score="13" Body="&lt;p&gt;Minimal cover automata is one of a related stuff. Given a finite language $L$, we can obtain a minimal DFA for $L$. But if we relax requirements of DFA we can find smaller ones. We know that longest word in a finite language $L$ has length $l$. Define DFCA as a DFA which accepts only words in $L$ or possibly words which are longer than $l$. Then this DFCA can has smaller size than DFA for $L$. In practice checking a length of a word is not matter. If we have a smaller DFCA which accepts original ones we simply can reject words with length larger than $l$. There has been some research on this class (introduced at 2001), and e.g there is an $O(n^2)$ &lt;a href=&quot;http://www.dcc.fc.up.pt/~rvr/resources/Aulas-Babel/MAPI-AA/2002_Campeanu.pdf&quot; rel=&quot;nofollow&quot;&gt;algorithm&lt;/a&gt; for finding minimal DFCA. An optimal running time algorithm is not known yet. Also there are other aspects of DFA that we can consider them about DFCA.&lt;/p&gt;&#xA;" OwnerUserId="1846" LastEditorUserId="1846" LastEditDate="2014-05-13T21:23:42.527" LastActivityDate="2014-05-13T21:23:42.527" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22503" PostTypeId="2" ParentId="22493" CreationDate="2014-05-11T12:44:41.440" Score="47" Body="&lt;p&gt;Here's a very simple decision problem about DFA's.  Given a DFA M, does M accept the base-2 representation of at least one prime number? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Currently, we don't even know if this problem is recursively solvable. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If it is recursively solvable, and we had an algorithm for it, we could resolve the longstanding open problem about whether there are any Fermat primes (primes of the form $2^{2^n} + 1$) larger than the largest known one, 65537.  (Because any prime with base-2 representation of the form $1 0^+ 1$ must be a Fermat prime.)&lt;/p&gt;&#xA;" OwnerUserId="3227" LastEditorUserId="3227" LastEditDate="2014-05-11T13:10:46.797" LastActivityDate="2014-05-11T13:10:46.797" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="22507" PostTypeId="2" ParentId="22497" CreationDate="2014-05-11T15:08:18.977" Score="14" Body="&lt;p&gt;In addition to the ones suggested by Arnab, I would also recommend the following book:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Introduction to Circuit Complexity: A Uniform Approach by Heribert Vollmer &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="206" LastActivityDate="2014-05-11T15:08:18.977" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22510" PostTypeId="2" ParentId="22481" CreationDate="2014-05-11T17:04:35.957" Score="10" Body="&lt;p&gt;On &lt;a href=&quot;http://www.eprisner.de/Journey/Opti.html&quot; rel=&quot;nofollow&quot;&gt;this page&lt;/a&gt; a theorem is mentioned that provides such classes:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;b&gt;Theorem&lt;/b&gt; (Scheffler [1]) If $G$ is the intersection graph of connected subgraphs of another graph $H$, then $tw(G)\leq tw(H)\omega(G)-1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This generalizes the bound for chordal graphs (for which $H$ is a tree) and also applies to circular-arc graphs (then $H$ is a cycle). I do not know if other &quot;standard&quot; classes are captured by this theorem.&lt;/p&gt;&#xA;&#xA;&#xA;&#xA;&lt;p&gt;[1] P. Scheffler, What graphs have bounded tree-width? Rostocker Math. Kolloq. 41 (1990) 31-38.&lt;/p&gt;&#xA;" OwnerUserId="1930" LastEditorUserId="1930" LastEditDate="2014-05-12T08:12:36.610" LastActivityDate="2014-05-12T08:12:36.610" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="22511" PostTypeId="1" CreationDate="2014-05-11T17:31:11.067" Score="1" ViewCount="632" Body="&lt;p&gt;The original paper's analysis of this, as far as I can tell is this:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&quot;THEOREM 3. Algorithm 2 requires time linearly proportional to the sum of the lengths of the keywords. &#xA;PROOF. Straightforward.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But it's not at all obvious.&lt;/p&gt;&#xA;" OwnerUserId="22559" LastActivityDate="2014-07-17T02:17:20.303" Title="Why does the construction step of Aho-Corasick take linear time in the number of nodes?" Tags="&lt;ds.algorithms&gt;&lt;ds.data-structures&gt;&lt;time-complexity&gt;&lt;string-matching&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="22512" PostTypeId="1" CreationDate="2014-05-11T17:38:50.290" Score="2" ViewCount="262" Body="&lt;p&gt;Are there irrational numbers whose digits are considered pseudo-random?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Both concepts seem to be mismatched as a pseudo-random number generator typically is periodic and therefore generates a rational sequence whereas as irrational numbers are not periodic.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This follows from the question if a pseudo-random number generator is necessarily periodic. It can be expressed as a Turing machine which itself cannot compute reals other than by recursively enumerating them. If effectively, there exists such an irrational number, then there are pseudo-random number generators, in theory, that are non-periodic.&lt;/p&gt;&#xA;" OwnerUserId="22720" LastActivityDate="2014-05-20T16:03:07.220" Title="n irrational number whose digits are pseudo-random: conceptual mismatch?" Tags="&lt;randomness&gt;&lt;nt.number-theory&gt;&lt;pseudorandomness&gt;&lt;comp-number-theory&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="22515" PostTypeId="2" ParentId="22493" CreationDate="2014-05-11T20:07:20.087" Score="20" Body="&lt;p&gt;I want to point out the another research problem, which concerns the interplay of very basic concepts about DFAs. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is well known that any n-state NFA can be converted into an equivalent DFA having at most $2^n$ states. This is best possible in the worst case, in the sense that there are regular languages of nondeterministic state complexity n (i.e., the number of states in a minimal NFA), but of deterministic state complexity $2^n$. There are also examples of language families, where nondeterminism can save a quadratic factor, and cases where nondeterminism does not help to save any states at all. Thus a natural question is the following:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Magic number problem&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there, for each $\alpha$ between $n$ and $2^n$, a regular language $L_n$ such that the gap between nondeterministic state complexity and deterministic state complexity is exactly $\alpha$? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we completely understand the powerset construction and the Myhill-Nerode relation from a mathematical perspective, then I'll expect that one is able to construct such languages for each $\alpha$, or alternatively to specify the values of $\alpha$ for which this is impossible (if such values exist, these are referred to as &quot;magic numbers&quot;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is known that there are magic numbers for input alphabet size $1$, and, since 2009, that there are no magic numbers if the alphabet size is at least $3$. But if I am not mistaken, the case of binary alphabets is still open. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Galina Jirásková. Magic numbers and ternary alphabet. In: 13th International Conference on Developments in Language Theory (DLT 2009), volume 5583 of Lecture Notes in Computer Science, pages 300–311.&lt;/p&gt;&#xA;" OwnerUserId="2367" LastActivityDate="2014-05-11T20:07:20.087" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="22516" PostTypeId="1" CreationDate="2014-05-11T20:51:30.743" Score="1" ViewCount="87" Body="&lt;p&gt;Which paper first showed that any context-free grammar (CFG) is equivalent to some CFG in Chomsky normal form?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I cannot find an reference.&lt;/p&gt;&#xA;" OwnerUserId="5876" LastActivityDate="2014-05-11T20:51:30.743" Title="Which paper first showed that any context-free grammar (CFG) is equivalent to some CFG in Chomsky normal form?" Tags="&lt;fl.formal-languages&gt;&lt;automata-theory&gt;&lt;context-free&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="22517" PostTypeId="1" CreationDate="2014-05-11T21:39:53.040" Score="-4" ViewCount="244" Body="&lt;p&gt;The following blog:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://blog.regehr.org/archives/140&quot; rel=&quot;nofollow&quot;&gt;http://blog.regehr.org/archives/140&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;discusses how the LLVM compiler seems to prove that Fermat's last theorem is false by showing that the compiler optimizes the $while(1)$ &quot;check&quot; code to the opcode $ret$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The check code is given by:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;#include &amp;lt;stdio.h&amp;gt;&#xA;&#xA;int fermat (void) {&#xA;    const int MAX = 1000;&#xA;    int a=1,b=1,c=1;&#xA;    while (1) {&#xA;        if (((a*a*a) == ((b*b*b)+(c*c*c)))) return 1;&#xA;        a++;&#xA;        if (a&amp;gt;MAX) {&#xA;            a=1;&#xA;            b++;&#xA;        }&#xA;        if (b&amp;gt;MAX) {&#xA;            b=1;&#xA;            c++;&#xA;        }&#xA;        if (c&amp;gt;MAX) {&#xA;            c=1;&#xA;        }&#xA;    }&#xA;    return 0;&#xA;}&#xA;int main (void) {&#xA;    if (fermat()) {&#xA;        printf (&quot;Fermat's Last Theorem has been disproved.\n&quot;);&#xA;    } else {&#xA;        printf (&quot;Fermat's Last Theorem has not been disproved.\n&quot;);&#xA;    }&#xA;    return 0;&#xA;}&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;and returns: Fermat's Last Theorem has been disproved in LLVM GCC 4.2.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Many are questioning if LLVM truly disproved Fermat's last theorem by eliminating the $while(1)$ loop in its compile process or if it is because of a bug in LLVM.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So I replaced the while loop with something that I know should return theorem proved (the $a^2=b^2+c^2$ case):&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;while (1) {&#xA;if((a*a)==(b*b)+(c*c)) return 1;&#xA;    a++;&#xA;    if (a&amp;gt;MAX) {&#xA;        a=1;&#xA;        b++;&#xA;    }&#xA;    if (b&amp;gt;MAX) {&#xA;        b=1;&#xA;        c++;&#xA;    }&#xA;    if (c&amp;gt;MAX) {&#xA;        c=1;&#xA;    }&#xA;}&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;which returns: Fermat's Last Theorem has been disproved as well...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Would this confirm that there is effectively a bug in LLVM?&lt;/p&gt;&#xA;" OwnerUserId="22720" LastActivityDate="2014-05-12T23:58:28.067" Title="Fermat's last theorem and the LLVM compiler" Tags="&lt;compilers&gt;" AnswerCount="1" CommentCount="2" ClosedDate="2014-05-13T12:43:27.990" ContentLicense="CC BY-SA 3.0" />
  <row Id="22518" PostTypeId="1" AcceptedAnswerId="22523" CreationDate="2014-05-11T21:43:36.500" Score="3" ViewCount="1309" Body="&lt;p&gt;I am thinking about a variant of 3-dimensional matching. In normal 3d matching, we have three sets of vertices $X$, $Y$ and $Z$, and a set of edges $E \subseteq X \times Y \times Z$. We want to choose a matching $M \subseteq E$ of maximum size. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would like to instead choose $M$ from the set $E \cup \{(x,w) \bigm| \exists z: (x,w,z) \in E \vee \exists y: (x,y,w) \in E\}$. So for each triple in $E$, assume that choosing a pair with the first and second elements or a pair with the first and third elements to be part of $M$ would also be acceptable. (Note that a pair with the second and third elements is not allowed.) The question is if there a matching $M$ that covers every element in $X \cup Y \cup Z$ exactly once.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I was wondering whether this problem is still hard. The Garey &amp;amp; Johnson proof of NP-hardness of 3d matching seems to break down; if $M$ is chosen as specified above, the gadget for the variable doesn't work anymore. &lt;/p&gt;&#xA;" OwnerUserId="22891" LastEditorUserId="22891" LastEditDate="2014-05-13T00:39:19.373" LastActivityDate="2014-07-31T23:34:09.193" Title="Hardness of 3-dimensional matching variant" Tags="&lt;graph-algorithms&gt;&lt;np-hardness&gt;&lt;hypergraphs&gt;" AnswerCount="1" CommentCount="6" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="22519" PostTypeId="1" AcceptedAnswerId="22527" CreationDate="2014-05-11T21:56:59.387" Score="1" ViewCount="680" Body="&lt;p&gt;Freivalds' algorithm verify matrices (over a field) product $A \times B = C$  by choosing a random binary vector $r$ and verifying if $A(Br)=Cr$ which fails if $AB \neq C$ with probability at most $1/2$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It seems to me that it can be done by choosing $r$ in some set $S$ which include $0$ resulting that the algorithm fails with probability $\leq 1/|S|$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;All I could find about the algorithm uses binary vector; is the above approach possible? And, as another question, is it possible deduce Freivalds result from &lt;a href=&quot;http://en.wikipedia.org/wiki/Schwartz%E2%80%93Zippel_lemma&quot; rel=&quot;nofollow&quot;&gt;Schwartz–Zippel lemma&lt;/a&gt;?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;this is a tentative proof:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$Dv= (AB-C)v = 0$ imply there exists $\ell, c$ such that&#xA;$d_{\ell,c}\neq 0$ and $\sum_{j=1}^{n}v_{j} d_{j,c}=0$, thus&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$(*)$  $v_{\ell}= - \frac{1}{d_{\ell,c}}\sum_{\substack{j=1\\ j\neq \ell}}^{n}v_{j}&#xA;   d_{j,c}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $E=\big\{v \in S^{n}\colon {v}{D}={0}\big\}$ and $E_\ell = \left\{(v_1,v_2,\dots,v_n)\in S^{n}\colon (*)\right\}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Partition $S^n$ putting for each $(r_{1},\dots,r_{n-1})\in S^{n-1}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$A_{r_{1},\dots,r_{n-1}} = \{r_1\}\times \cdots \times \{r_{\ell-1}\} \times S \times \{r_{\ell}\} \times \cdots \times \{r_{n-1}\}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By total probability law and $E\subset E_\ell$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$P(E) = \sum_{(r_{1},\dots,r_{n-1})}P(E\cap A_{r_{1},\dots,r_{n-1}})\leq$&#xA;$\sum_{(r_{1},\dots,r_{n-1})}P(E_\ell\cap A_{r_{1},\dots,r_{n-1}})=$&#xA;$\sum_{(r_{1},\dots,r_{n-1})}P(E_\ell~|~ A_{r_{1},\dots,r_{n-1}}) P(A_{r_{1},\dots,r_{n-1}})$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$P(E_\ell~|~ A_{r_{1},\dots,r_{n-1}})= P\left( \left\{s\in S\colon s=&#xA;        \frac{-(\sum_{j&amp;lt;\ell} r_jd_{j,\ell} + \sum_{j&amp;gt;\ell}&#xA;          r_{j-1}d_{j,\ell}) }{d_{\ell,c}} \right\}\right) \leq \frac&#xA;    1{|S|}$&#xA;and&#xA;$P(E)\leq  \sum_{(r_{1},\dots,r_{n-1})}\frac 1{|S|}&#xA;      P(A_{r_{1},\dots,r_{n-1}})&#xA;      =\frac 1{|S|}.$&lt;/p&gt;&#xA;" OwnerUserId="11027" LastEditorUserId="11027" LastEditDate="2014-05-11T23:37:38.657" LastActivityDate="2014-05-12T09:12:22.627" Title="Freivalds matrix multiplication with non binary random vector" Tags="&lt;randomized-algorithms&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="22520" PostTypeId="1" AcceptedAnswerId="22534" CreationDate="2014-05-11T23:51:07.123" Score="4" ViewCount="882" Body="&lt;p&gt;It is often said that memoization brings the complexity of recursive-descent parsers&#xA;from exponential to polynomial. However, I had a hard time finding an example grammar&#xA;that triggers the exponential case.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Because recursive descent parsers cannot (naturally) deal with left-recursion,&#xA;the example should not contain left-recursive rules.&#xA;BTW, I'm familiar with PEG and Packrat parsers, and I'm not looking for examples&#xA;in the that domain. To be more precise, can someone please give me a non-left-recursive &#xA;context-free grammar that triggers exponential behaviour?&lt;/p&gt;&#xA;" OwnerUserId="22893" LastActivityDate="2014-05-14T08:51:43.457" Title="Example of context-free grammar that triggers exponential behaviour without memoization in RD parsers" Tags="&lt;time-complexity&gt;&lt;parsing&gt;&lt;exp-time-algorithms&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="22522" PostTypeId="1" CreationDate="2014-05-11T23:57:57.877" Score="2" ViewCount="321" Body="&lt;p&gt;Let's say we have a regular expression (&quot;a&quot; | &quot;b&quot;(~!&quot;b&quot;))*, written in Perl or other similar languages that support lookahead, which should match a list of a and b's where b's are not followed by b's.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The Perl regular expression engine is not based on Thompson DFAs and uses arbitrary backtracking, which I'm not looking for. Do you know of any known method for translating such a regular expression with lookahead into an NFA and then to DFA that accepts the described language? Any papers that describe the challenges of adding lookahead and lookbehind to DFAs and how to compose them?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have done some trial and errors and it looks like composition in face of the Kleene star operator is problematic.&lt;/p&gt;&#xA;" OwnerUserId="22893" LastActivityDate="2014-05-11T23:57:57.877" Title="Composition of regular expressions with lookahead into DFAs" Tags="&lt;regular-expressions&gt;&lt;dfa&gt;" AnswerCount="0" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="22523" PostTypeId="2" ParentId="22518" CreationDate="2014-05-12T00:10:46.213" Score="2" Body="&lt;p&gt;&lt;strong&gt;EDIT (Aug 1):&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I posted a small report with a more detailed proof &lt;a href=&quot;http://www.nearly42.org/npc-pills/npc-pill-003/&quot; rel=&quot;nofollow noreferrer&quot;&gt;on my blog&lt;/a&gt;; the reduction idea is the same, but the &quot;gadget&quot; used are better explained (you can also directly &lt;a href=&quot;http://www.nearly42.org/vdisk/pills/3dmvariant.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;download the pdf from here&lt;/a&gt;)&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;The problem seems NP-complete and this is a possible reduction from SET COVER.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose you have an universe $A$ of $n$ elements: $A = \{a_1,...,a_n\}$, a collection of $m$ subsets $\mathcal{S} = \{S_1,S_2,...,S_m\}$ (with $S_i \subseteq A$) and an integer $k$. The SET COVER problem asks for a sub-collection $\mathcal{C} \subseteq \mathcal{S}$ of size at most $k$ such that $\bigcup_{S_i \in \mathcal{C}} S_i = A$ (with $|\mathcal{C}| \leq k$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The reduction to your problem (I call it 3DM-relaxed, 3DMR) can be done in the following way.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The subsets $S_i$ are simulated using one or more elements of the set $X$, the elements of the universe $A$ are simulated using elements of the sets $Y$ and $Z$ ($a_{2j}$ is simulated with an element $y_{a_{2j-1}}$ of $Y$, $a_{2j-1}$ is simulated with an element $z_{a_{2j}}$  of $Z$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We start with $X = \{ e_1,e_2,...,e_{k} \}$ that will force the $|\mathcal{C}|=k$ constraint.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then, for every subset $S_i$ we create the triple: $(x^1_{S_i}, y_{S_i}, dum)$, where $dum$ is a new element of $Z$; and add the $k$ triples:&lt;br&gt;&lt;br&gt;&#xA; $(e_1,y_{S_i}, dum),(e_2,y_{S_i}, dum),...,(e_{k},y_{S_i}, dum)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that &lt;em&gt;all&lt;/em&gt; $dum$ elements are distinct!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In this way &lt;strong&gt;at most&lt;/strong&gt; $k$ of the $x^1_{S_i}$ will be &quot;free&quot; to cover the elements representing the $a_j$: indeed the $(e,\cdot,\cdot)$ triples can include at most $k$ of the $y_{S_i}$, the remaining $m-k$ must be included by the corresponding $(x^1_{S_i},\cdot,\cdot)$ triple.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To link the $x^1_{S_i}$ to the elements $y_{a_{2j}}, z_{a_{2j-1}}$ that correspond to the elements of the universe in $S_i$, we add three &lt;em&gt;bridge&lt;/em&gt; triples:&lt;br&gt;&#xA;$(x^1_{S_i},y_{B_i},z_{B_i})$,&lt;br&gt;&#xA;$(x^2_{S_i},y_{B_i},dum)$,&lt;br&gt;&#xA;$(x^3_{S_i},dum,z_{B_i})$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;At this point the elements of $A$ can be linked to $x^2_{S_i}$ and $x^3_{S_i}$ (or we can further extend the capacity of $S_i$ adding more bridge triples).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example adding the triples:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$(x^2_{S_i},y_{a_2},z_{a_1}), (x^3_{S_i},y_{a_4},z_{a_3})$ we simulate the set: $S_i = \{ a_1, a_2, a_3, a_4\}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The fundamental point is that if $x^1_{S_i}$ is &quot;used&quot; to cover the element $y_{S_i}$ (blue edges in the figure) then:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$x^2_{S_i}$ &lt;em&gt;must&lt;/em&gt; be used to include element $y_{B_i}$ and cannot be used to include elements $y_{a_2}, z_{a_1}$ (red edges in the figure);&lt;/li&gt;&#xA;&lt;li&gt;$x^3_{S_i}$ &lt;em&gt;must&lt;/em&gt; be used to include element $z_{B_i}$ and cannot be used to include elements $y_{a_4}, z_{a_3}$ (red edges in the figure).&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Some of the $S_i$ included in the cover can have a  non-empty intersection; so we must be sure that two distinct $x^p_{S_i}, x^q_{S_j}$ that are linked to the same element $a_i$ (i.e. we have the triples $(x^p_{S_i}, a_i, \cdot), (x^q_{S_j}, a_i, \cdot)$) can be included in the matching. For this purpouse for every $x^p, p &amp;gt; 1$ we add a triple with two dum elements: $(x^p, dum, dum)$ (green edges in the figure below).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally we can add as many distinct triples $(x, y, dum_i), (x, dum_j, z)$ as needed to be able to &lt;em&gt;garbage collect&lt;/em&gt; all the dum elements $dum_i \in Z$ and the dum elements $dum_j \in Y$ (otherwise the would not be included in the matching) if they are left alone.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also note that if there are too many $S_i$, the elements $e_i$ can be included in the matching using their $z_{dum}$ element in $Z$ (only the pair $(e_i, z_{dum})$ is picked).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The resulting 3DMR instance has a solution if and only if there is an set cover $\mathcal{C}$ of $A$ of size at most $k$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/aUH2F.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the figure a triple $(x,y,z)$ is represented with two edges $(x,y),(x,z)$ of the same color. As an example, if $x^1_{S_1}$ corresponding to $S_1 = \{a_1,a_2,a_3,a_4\}$, must be used to include $y_{S_1}$ (blue edges), then it cannot be used to include the elements $z_{a_1},y_{a_2},z_{a_3},y_{a_4}$ (red edges).&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2014-07-31T23:34:09.193" LastActivityDate="2014-07-31T23:34:09.193" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="22524" PostTypeId="1" CreationDate="2014-05-12T00:33:14.503" Score="15" ViewCount="352" Body="&lt;p&gt;One of the interesting open problems about DFAs listed in &lt;a href=&quot;https://cstheory.stackexchange.com/questions/22493/are-there-any-open-problems-left-about-dfas&quot;&gt;Are there any open problems left about DFAs?&lt;/a&gt; is the size of a DFA required to separate two strings of length $n$.  I am curious if there any results about the ability of a random DFA to separate two given (nonrandom) strings.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Clearly a random DFA with sufficiently many states separates strings with high probability.  Specifically, if $u,v \in \Sigma^n$, a random DFA with $O(n)$ states is unlikely to ever revisit the same state once it reaches the first place where $u$ and $v$ differ, and therefore separates $u$ and $v$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can we do better?  Ideally, what is the smallest $f(n)$ s.t. that a random DFA with $f(n)$ states separates strings of length $n$ with positive probability (or perhaps probability $\ge 1/2$)?  A brief search didn't turn up many results on the properties of random DFAs; all I could find was &lt;a href=&quot;http://arxiv.org/abs/1311.6830&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://arxiv.org/abs/1311.6830&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="13245" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2015-12-26T20:55:29.697" Title="Separating words with random DFAs" Tags="&lt;dfa&gt;&lt;random-graphs&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="22525" PostTypeId="2" ParentId="22431" CreationDate="2014-05-12T01:54:16.603" Score="22" Body="&lt;p&gt;The footnote of my paper that you cite refers to a heuristic &quot;argument&quot; as well, at least, what we think was Kolmogorov's intuition -- the positive resolution of Hilbert's thirteenth problem. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Hilbert%27s_thirteenth_problem&quot;&gt;http://en.wikipedia.org/wiki/Hilbert's_thirteenth_problem&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In particular, it was proved by Kolmogorov and Arnold that any continuous function on $n$ variables can be expressed as a composition of $O(n^2)$ &quot;simple&quot; functions: addition of two variables, and continuous functions on &lt;em&gt;one&lt;/em&gt; variable. Hence, over the &quot;basis&quot; of one-variable continuous functions and two-variable addition, every continuous function on $n$ variables has &quot;circuit complexity&quot; $O(n^2)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It seems Kolmogorov believed there is a discrete analog, where &quot;continuous in $n$ variables&quot; becomes &quot;Boolean in $n$ variables and poly$(n)$-time computable&quot;, and where the &quot;basis&quot; given above becomes two-variable Boolean functions. &lt;/p&gt;&#xA;" OwnerUserId="225" LastActivityDate="2014-05-12T01:54:16.603" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="22527" PostTypeId="2" ParentId="22519" CreationDate="2014-05-12T09:12:22.627" Score="5" Body="&lt;p&gt;The answer to both questions is yes. The matrix $A B - C$ gives rise to a linear application over your field $\mathbb F$, which is a multivariate polynomial of total degree $d=1$. By the Schwartz-Zippel lemma, when $x$ is drawn from $S^n$ (where $S \subseteq {\mathbb F}$), the probability that $(A B - C) x = 0$ is at most $d/|S| = 1/|S|$, provided that $A B \neq C$. &#xA;As you observe, this can also be proved directly using the standard argument for Freivald's algorithm.&lt;/p&gt;&#xA;" OwnerUserId="2874" LastActivityDate="2014-05-12T09:12:22.627" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22528" PostTypeId="1" AcceptedAnswerId="22529" CreationDate="2014-05-12T15:02:57.590" Score="5" ViewCount="118" Body="&lt;p&gt;Do Delaunay triangulations satisfy any extra topological conditions over normal planar triangulations?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In other words, if $T$ is a topological triangulation of the plane, when does there exist points $x_i \in \mathbb{R}^2$ s.t. their Delaunay triangulation has topology $T$?&lt;/p&gt;&#xA;" OwnerUserId="13245" LastActivityDate="2014-05-12T18:06:00.307" Title="Topological properties of Delaunay triangulations" Tags="&lt;cg.comp-geom&gt;&lt;delaunay-triangulation&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="22529" PostTypeId="2" ParentId="22528" CreationDate="2014-05-12T18:06:00.307" Score="7" Body="&lt;p&gt;Yes. See&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Dillencourt, Michael B.; Smith, Warren D. Graph-theoretical conditions for inscribability and Delaunay realizability. &lt;a href=&quot;http://dx.doi.org/10.1016/0012-365X%2895%2900276-3&quot;&gt;Discrete Math. 161 (1996), no. 1-3, 63–77&lt;/a&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, if a topological triangulation has no separating triangles, and no chords connecting pairs of vertices on its outer face, then it is always realizable as a Delaunay triangulation.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2014-05-12T18:06:00.307" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22530" PostTypeId="1" CreationDate="2014-05-12T18:22:02.550" Score="5" ViewCount="146" Body="&lt;p&gt;A polyhedron is given as a set of its vertex coordinates. Is it possible to find its diameter faster than $O(n^2)$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Or, maybe, some another common polyhedron representation would help fasten this?&lt;/p&gt;&#xA;" OwnerUserId="22906" LastActivityDate="2014-05-12T18:22:02.550" Title="Computing diameter of a 3D polyhedron" Tags="&lt;graph-algorithms&gt;&lt;polytope&gt;" AnswerCount="0" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="22531" PostTypeId="2" ParentId="22497" CreationDate="2014-05-12T21:09:12.180" Score="1" Body="&lt;p&gt;&lt;a href=&quot;http://cs.brown.edu/~jes/book/pdfs/ModelsOfComputation.pdf&quot; rel=&quot;nofollow&quot;&gt;Models of Computation&lt;/a&gt; by John E Savage (more info/detail/reviews on &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0201895390&quot; rel=&quot;nofollow&quot;&gt;amazon&lt;/a&gt;). its largely more of an undergraduate textbook but is notable for its circuit-centric point of view. includes many advanced topics/proofs, and its free online, and is very well hyperlinked (TOC, refs, index, etc).&lt;/p&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2014-05-12T21:09:12.180" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22532" PostTypeId="2" ParentId="22517" CreationDate="2014-05-12T23:58:28.067" Score="4" Body="&lt;p&gt;Read the post you are linking to.  It's explained there in quite some detail.  It's a consequence of the C++ spec, as Neel Krishnaswami explains.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The very first sentence of the blog post says &quot;&lt;a href=&quot;http://blog.regehr.org/archives/140&quot; rel=&quot;nofollow&quot;&gt;Obviously I’m not serious&lt;/a&gt;&quot;.  That should have been a tip-off right there.  The post then goes on to say &quot;What is really going on here...&quot; and explains what's going on.  The blog post also has a number of updates added (all posted before your question here) that also elaborate even further.  For instance, the FAQ at the bottom contains the question &quot;Didn’t you know Fermat’s Last Theorem was proved in 1995?&quot; and answers &quot;I did know that. [...] I was making a weak joke [...]&quot;.  It also links at the very top to a &lt;a href=&quot;http://blog.regehr.org/archives/161&quot; rel=&quot;nofollow&quot;&gt;follow-up blog post&lt;/a&gt; that explains stuff in more detail... also posted before your question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, no, your claim that &quot;Many are questioning if LLVM truly disproved Fermat's last theorem...&quot; does not seem accurate or helpful to me.  You might want to re-read those blog posts to re-assess your premises, then see if you have a more specific question.&lt;/p&gt;&#xA;" OwnerUserId="5038" LastActivityDate="2014-05-12T23:58:28.067" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="22534" PostTypeId="2" ParentId="22520" CreationDate="2014-05-13T09:33:47.070" Score="7" Body="&lt;p&gt;Here is a grammar that should meet your specification, though it&#xA;generates the very simple language $a^+(b+c)$.  &lt;em&gt;(A simpler grammar has been added below)&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$S \rightarrow ab \mid aBb \mid ac \mid aCc$&lt;br&gt;&#xA;$B \rightarrow a \mid aB \mid aBB$&lt;br&gt;&#xA;$C \rightarrow a \mid aC \mid aCC$  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;How was it built:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I started from the grammar&#xA;$\{S \rightarrow S S \mid a\}$ which is very ambiguous, so that trying all&#xA;parses of a string $a^n$ takes exponential time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I put it in Greibach Normal Form, so as to remove any left recursion,&#xA;giving&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$S \rightarrow a \mid aB$&lt;br&gt;&#xA;$B \rightarrow a \mid aB \mid aBB$  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then I introduced $C$ to duplicate the possibilities of derivation,&#xA;with $b$ or $c$ as end marker to discover at the very end whether I&#xA;should have been using $B$ or $C$ as non-terminal in my derivation,&#xA;i.e,, whether the first rule to apply was $S \rightarrow aBb$ or $S&#xA;\rightarrow aCc$. But if the choice of rule made at the very beginning&#xA;was wrong, the backtracking process will have first to try all parsing&#xA;possibilities for the string of $a$, which has exponential cost.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since the recursive descent has to try first one of the two rules,&#xA;there will always be a string (requiring the other rule) that takes&#xA;exponential time to parse, because of the useless backtracking with the wrong non-terminal.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Memoisation brings this down to cubic time. Naive memoisation will make it $O(n^4)$, but a bit of currification can correct that to cubic time.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;A simpler solution&lt;/strong&gt; (thought of later)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;All that matters in the above grammar is to force an early choice of&#xA;the terminal marker $b$ or $c$, while having that choice checked only at the end&#xA;of the parsing process.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hence the following grammar is enough to get the desired exponential&#xA;behaviour. Actually it is a (renaming) homomorphic image of the first&#xA;grammar above, and leads to exactly the same computation up to that&#xA;renaming.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$S \rightarrow ab \mid aXb \mid ac \mid aXc$&lt;br&gt;&#xA;$X \rightarrow a \mid aX \mid aXX$  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The rules $S \rightarrow ab \mid ac$ are not actually necessary for&#xA;our purpose, but that is minor. Removing them would change the language to $aa^+(b+c)$. Then, it is also possible to remove the initial $a$ in the rules $S \rightarrow aXb \mid aXc$ without introducing left recursion, thus getting back the initial language $a^+(b+c)$. But the grammar is no longer in Greibach normal form (which was not a requirement of the problem). This gives a solution with only 5 rules:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$S \rightarrow Xb \mid Xc$&lt;br&gt;&#xA;$X \rightarrow a \mid aX \mid aXX$  &lt;/p&gt;&#xA;" OwnerUserId="16132" LastEditorUserId="16132" LastEditDate="2014-05-14T08:51:43.457" LastActivityDate="2014-05-14T08:51:43.457" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22538" PostTypeId="2" ParentId="22493" CreationDate="2014-05-13T20:16:38.353" Score="12" Body="&lt;p&gt;Here's an open problem relating DFA and machine learning theory: are uniformly random (random transitions and accept/reject behavior) DFA learnable in the PAC model?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note: we think arbitrary DFA are not learnable b/c of &lt;a href=&quot;http://robotics.upenn.edu/~mkearns/papers/crypto.pdf&quot;&gt;cryptographic hardness&lt;/a&gt; results.  For random DFA, we only have &lt;a href=&quot;http://www.levreyzin.com/papers/AngluinEKR10.pdf&quot;&gt;SQ lower bounds&lt;/a&gt;, which are not as strong.&lt;/p&gt;&#xA;" OwnerUserId="123" LastEditorUserId="123" LastEditDate="2014-05-13T20:52:04.417" LastActivityDate="2014-05-13T20:52:04.417" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22540" PostTypeId="1" AcceptedAnswerId="22559" CreationDate="2014-05-14T00:24:47.483" Score="1" ViewCount="1140" Body="&lt;p&gt;I have N elements and need to find the maximum of these elements. At each time tick, exactly one of the N elements is updated and I need to determine the new max element (more specifically, the index of the max element). How can I do this by accessing as little &quot;state&quot; as possible?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The naive approach is to store all N elements and in each tick read the N elements and determine the max element. Here the amount of &quot;state&quot; accessed corresponds to N elements.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is it possible to determine the max element by maintaining lesser state -- specifically state that grows sub-linearly as N increases? Essentially I do not want to make a pass on the entire set of N elements. Assume N is a fixed number.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It seems like this problem has the flavor of data streaming algorithms like the count(-min) sketch. We have N buckets -- items being streamed in update the count of one of these N buckets -- and wish to perform some query on these N buckets with sub-linear space usage. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I understand how sketches can be used to query the value of the Nth bucket, but do not understand if it can be extended to obtain an estimate for the max value (and specifically, the index of the max element). The heavy hitters problem outputs items above a certain frequency, but I am interested only in the item with the maximum frequency. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Am I over-thinking this problem? Is there a far simpler solution?&lt;/p&gt;&#xA;" OwnerDisplayName="user22858" LastActivityDate="2014-05-15T03:22:51.393" Title="Maximum item in data stream" Tags="&lt;approximation-algorithms&gt;" AnswerCount="2" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="22541" PostTypeId="1" AcceptedAnswerId="22542" CreationDate="2014-05-14T02:07:10.337" Score="3" ViewCount="714" Body="&lt;p&gt;If I wanted to define my own complexity class would you first define it as a set of problems with reductions to those problems? How would one go about doing this?&lt;/p&gt;&#xA;" OwnerUserId="5385" LastActivityDate="2014-05-14T15:33:48.550" Title="if I were to define a new complexity class how should I start?" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="22542" PostTypeId="2" ParentId="22541" CreationDate="2014-05-14T03:03:32.740" Score="12" Body="&lt;p&gt;First you would search around and check &lt;em&gt;e.g.&lt;/em&gt; the &lt;a href=&quot;https://complexityzoo.uwaterloo.ca&quot; rel=&quot;nofollow noreferrer&quot;&gt;complexity zoo&lt;/a&gt;, because many, many classes are already defined and you don't want to redefine one that is already known by some other name.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The ways I know of are:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Define a complete problem and a notion of reduction; the class consists of all problems so reducible to that problem. This is usually only possible for so-called &quot;syntactic&quot; complexity classes -- see the question &lt;a href=&quot;https://cstheory.stackexchange.com/questions/1233/semantic-vs-syntactic-complexity-classes&quot;&gt;&quot;Semantic vs Syntactic Complexity Classes&quot;&lt;/a&gt; -- which tend to also have a nice definition in terms of a model of computation. (E.g. $\mathsf{NP}$ can be defined as all languages that are polytime mapping-reducible to $\mathsf{3SAT}$; or as all languages decidable by a polytime nondeterministic TM.)&lt;/li&gt;&#xA;&lt;li&gt;Define a model of computation and what it means for that model to decide/compute a language/problem; the class consists of all languages/problems for which there exists such a model of computation that decides/computes the language/problem. This works for probabilistic classes like $\mathsf{BPP}$, but also for more exotic models like quantum classes, circuits, interactive protocols, or finite automata for that matter. This is probably the method you'd go for, and for more detail, maybe look at examples of all the above types (e.g. $\mathsf{BPP, BQP, ACC, IP, MA, PCP, REGULAR}$).&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Perhaps those more expert than I am can say if there are other major methods that are missing, or expand on these if needed.&lt;/p&gt;&#xA;" OwnerUserId="8243" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2014-05-14T03:03:32.740" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22543" PostTypeId="2" ParentId="22540" CreationDate="2014-05-14T04:15:52.443" Score="1" Body="&lt;p&gt;Store all of the items in a max-heap.  Updating the value of a single element can be done in $O(\lg N)$ time, accessing at most $O(\lg N)$ elements of state, so you access only $O(\lg N)$ items per time tick.  Of course, you maintain $\Theta(N)$ state in total, but you access only a small fraction of the state on each time tick.&lt;/p&gt;&#xA;" OwnerUserId="5038" LastActivityDate="2014-05-14T04:15:52.443" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22544" PostTypeId="1" AcceptedAnswerId="22557" CreationDate="2014-05-14T04:42:06.380" Score="26" ViewCount="692" Body="&lt;p&gt;The wise other editors at Wikipedia have declined my request to move the Wikipedia article on the &lt;a href=&quot;https://en.wikipedia.org/wiki/Rabin%E2%80%93Karp_algorithm&quot;&gt;Rabin–Karp algorithm&lt;/a&gt; to what I think it should be called, the Karp–Rabin algorithm, on the basis that the Rabin–Karp name is used more often (false, if one goes by Google scholar's numbers), or that it sounds better out loud (really?). The original publication name order was Karp and Rabin, alphabetically as it usually is for theory papers, which is why I requested the move.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One major proponent of the Rabin–Karp name ordering is the Cormen–Leiserson–Rivest–Stein &lt;em&gt;Introduction to Algorithms&lt;/em&gt; textbook. The Wikipedia outcome is unlikely to change barring significant new evidence one way or another, and it seems unlikely that either Rabin or Karp cares about $\epsilon$ more credit, but now I'm curious: Do any readers remember the history of this and have any explanation why CLRS (or anyone else) chose the Rabin–Karp name order?&lt;/p&gt;&#xA;" OwnerUserId="95" LastEditorUserId="95" LastEditDate="2014-05-14T15:34:31.333" LastActivityDate="2014-05-14T21:01:15.640" Title="Rabin–Karp vs Karp–Rabin" Tags="&lt;ho.history-overview&gt;&lt;string-matching&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="22545" PostTypeId="2" ParentId="22541" CreationDate="2014-05-14T06:17:56.213" Score="11" Body="&lt;p&gt;First of all, you must justify why the class is important enough to have a name. With $ 2^{ 2^{ \mathbb{N}_0 } }$ classes lying around we can afford to be very picky. So, assuming your research has led you to define an interesting property the problems in class have (this can be semantic or syntactic), let's call it &quot;property X&quot; you should first investigate the class on your own. I would try to answer the following questions:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;First step: Investigate the literature in the related research area. Has a class on objects from your research been defined? Ask experts in the area: &quot;are there any known classes about this?&quot;. A little time spent asking might allow you to avoid losing time on something that is already known. So, let's assume you asked around and you have decided your class is unique enough and relevant to deserve study.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Does &quot;property X&quot; specify a computation model? Is the model randomized or non-deterministic? Is the model uniform? &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;How does your class behave under &quot;usual&quot; operations (union, complement, transitive closure etc.) . Note that if you work on a specific computation model, some questions may be trivial or easy to answer.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;How does your class compare to other known classes? If it's a specific model, how does it compare to &quot;canonical&quot; classes of that model (e.g. $\mathbb{NP}$ for non-deterministic  TM, $\mathbb{BPP}$ for randomized TM, and so on)? Did you find some interesting closure property (e.g. is your class closed under complement? then perhaps non-determinism isn't a good framework to go on).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;How do well-known problems compare with your class? Does it contain complete problems, i.e. can you make it so that a well-known problem has &quot;property X&quot;? If you cannot, for what known notions of reductions is your class closed under? If those you know don't fit the class, can you use the closure properties you found above to define one that does and is less powerful than the class itself?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Can you find problems that are hard for your class under some reduction that makes sense from the above step? Are they complete too? How do these problems compare with the well-known problems you investigated in the previous point? The problem &amp;lt; L | L has property X &gt; should be hard for the class. Is it also complete?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Now, for most classes you should probably not be able to answer &lt;strong&gt;all&lt;/strong&gt; those questions, but you can answer &lt;em&gt;some&lt;/em&gt;, maybe most of them. Now you have an idea how this class behaves and whether it would be interesting for your line of research. If you deem it worthy, you can start asking people from the area, e.g. your advisor or a faculty that is familiar with the subject, what they think. &lt;/p&gt;&#xA;" OwnerUserId="879" LastActivityDate="2014-05-14T06:17:56.213" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="22547" PostTypeId="1" AcceptedAnswerId="22570" CreationDate="2014-05-14T08:13:33.380" Score="7" ViewCount="303" Body="&lt;p&gt;A (finite) &lt;em&gt;poset&lt;/em&gt; $P = (X, &amp;lt;)$, or partially ordered set, is a (finite) set $X$ equipped with a transitive antisymmetric relation $&amp;lt;$; it can be equivalently seen as a DAG $G = (X, E)$ that is transitive (whenever $(x, y) \in E$ and $(y, z) \in E$ then $(x, z) \in E$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An &lt;em&gt;automorphism&lt;/em&gt; of $P$ is a bijection $f$ from $X$ to $X$ such that $x &amp;lt; y$ iff $f(x) &amp;lt; f(y)$, in other words, both $f$ and $f^{-1}$ are order-preserving. The automorphism is &lt;em&gt;fixed-point-free&lt;/em&gt; if there is no $x$ such that $f(x) = x$. Of course, the identity is always an automorphism (which is not fixed-point-free); other automorphisms are said to be &lt;em&gt;non-trivial&lt;/em&gt;. Both automorphisms and fixed-point-free automorphisms are well-studied natural notions for posets; intuitively, posets that have non-trivial (fixed-point-free) automorphisms have a certain symmetry.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Is anything known about the complexity of determining if a poset has a non-trivial automorphism, or fixed-point-free automorphism? Or the complexity of &lt;em&gt;counting&lt;/em&gt; the number of automorphisms, or fixed-point-free automorphisms?&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For DAGs that are not transitive, determining if a DAG has a non-trivial automorphism is in NP and its complexity is unknown, like that of graph isomorphism (&lt;a href=&quot;https://en.wikipedia.org/wiki/Graph_automorphism#Computational_complexity&quot; rel=&quot;nofollow&quot;&gt;source&lt;/a&gt;). So, while the problem for transitive DAGs is still in NP, it should not be realistic to prove hardness as that would imply hardness of that open problem; but maybe the graph being transitive makes the problem easier (solvable in polynomial time)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For other natural counting problems about posets, the problems of antichain counting (antichains are subsets of elements that are all pairwise incomparable), or of linear extension counting (linear extensions are the way to extend the partial order to a total order by adding more comparability relations), are all #P-complete to compute. (&lt;a href=&quot;http://www.math.dartmouth.edu/~pw/M100W11/seth.pdf&quot; rel=&quot;nofollow&quot;&gt;source&lt;/a&gt; and &lt;a href=&quot;https://wsn-attack-detection.googlecode.com/svn/trunk/writeup/capstone/other_resources/adams_pre_and_proposal/pdfs/complexity%20counting%20cuts.pdf&quot; rel=&quot;nofollow&quot;&gt;source&lt;/a&gt;). Is it also hard to count automorphisms, then?&lt;/p&gt;&#xA;" OwnerUserId="4795" LastEditorUserId="4795" LastEditDate="2014-05-16T22:50:59.967" LastActivityDate="2014-05-16T22:50:59.967" Title="Complexity of counting poset automorphisms" Tags="&lt;cc.complexity-theory&gt;&lt;counting-complexity&gt;&lt;directed-acyclic-graph&gt;&lt;partial-order&gt;&lt;automorphism&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22548" PostTypeId="1" CreationDate="2014-05-14T08:32:50.173" Score="0" ViewCount="80" Body="&lt;p&gt;I have multiple 3D volumes which are represented by their boundaries (set of polygons each represented as a list of 3D-coordinates). I am now looking for algorithms to decide if&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;volume A is inside volume A&lt;/li&gt;&#xA;&lt;li&gt;volume B is disjoint of volume B&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Also I am interested in the dimension of the intersection of A and B if they aren't disjoint. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Specific ideas for algorithms would be just as helpful as references to useful books or papers.&lt;/p&gt;&#xA;" OwnerUserId="17983" LastEditorUserId="13408" LastEditDate="2015-10-22T08:28:04.327" LastActivityDate="2015-10-22T08:28:04.327" Title="Algorithms to classify the geometrical relationship of two 3D-geometries" Tags="&lt;computational-geometry&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22549" PostTypeId="2" ParentId="22524" CreationDate="2014-05-14T10:37:13.130" Score="2" Body="&lt;p&gt;&lt;strong&gt;[Edit: this answer does not work, see comments.]&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is just an informal idea and I don't know if it helps, but it's too long to be given as a comment. Also, I am not at all familiar with random DFAs, so maybe I have a wrong intuition of how you should reason about probabilities on them, but hopefully this is not entirely worthless.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I will suppose that your bounds should depend on how much $u$ and $v$ differ; if they don't, it seems clear to me that the worst case are strings differing only by their first character (strings differing at a set $X$ of positions have more chances of being told apart than strings differing at a set $Y \subset X$ of positions, I'd say, and putting the difference as early as possible gives you opportunity to resynchronize).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I will also look at the probability that the words are distinguished, namely, they reach different states. I guess you would then need to adapt for being accepted or rejected based on how your random DFAs allocate final states. If each state has a probability 1/2 of being final, then when the strings end up at the same state they are not distinguished, and when they end up at different states they have probability 1/2 of being distinguished.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now I will consider the word $w$ obtained from $u$ and $v$ as follows: $w_i = 1$ if $u_i = v_i$, and $w_i = 0$ otherwise. I think it is clear that $w$ is the only interesting thing to consider about $u$ and $v$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, define $p(i)$ the probability that we are at the same state after reading prefixes of length $i$ of $u$ and $v$, and $q(i) = 1 - p(i)$ the probability that we aren't.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think we have $p(i+1) = p(i) + q(i)/n$ when $w_{i+1}$ is $1$. Intuitively, we are at the same state after reading $i+1$ letters either when we were at the same state after reading $i$, or when we were at two different (random) states, we drew two transitions to random states, and they happened to be the same one. Likewise, we have $p(i+1) = 1/n$ when $w_{i+1}$ is $0$: you are drawing two random states, no matter where you started from.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;From this I think you could compute the probability of being at the same state after reading $u$ and $v$.&lt;/p&gt;&#xA;" OwnerUserId="4795" LastEditorUserId="4795" LastEditDate="2014-05-15T08:01:49.073" LastActivityDate="2014-05-15T08:01:49.073" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="22551" PostTypeId="1" CreationDate="2014-05-14T15:07:59.933" Score="1" ViewCount="41" Body="&lt;p&gt;Consider the space of matrices in $\mathbb{F}_q^{n \times m}$ where $\mathbb{F}_q$ is the finite field with $q$ elements. We can define a metric on this space, given by $d(A,B) := rank(A-B)$, called the rank-metric. This allows us to consider error-correcting codes in this space.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One example of codes in this metric are Gabidulin codes, which are analogues of Reed-Solomon codes. Essentially, we consider the rows of an $n \times m$ matrix as elements of the extension field $\mathbb{F}_{q^m}$. So now we consider the space of linearized polynomials over $\mathbb{F}_{q^m}$ of q-degree k-1 as the set of messages, and to get a codeword, we evaluate such a polynomial at $n$ evaluation points $g_1, g_2, \dots, g_n \in \mathbb{F}_{q^m}$ which are linearly independent as vectors over the base field $\mathbb{F}_q$, giving a vector in $\mathbb{F}_{q^m}^n$ which we can then interpret again as a matrix in $\mathbb{F}_q^{n \times m}$. This code, just like Reed-Solomon codes, has distance $n-k+1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now consider the decoding of such codes. We shall consider the analogue of the Berlekamp-Welch decoder for Reed-Solomon codes. &#xA;We are given a word $(y_1,y_2,\dots,y_n)^T$ within a distance (according to the rank-metric) of $t$ from a codeword corresponding to the linearized polynomial $f$ say, and our aim is to algorithmically find $f$ when $t$ is less than half of the distance. &#xA;This is worked out in the following paper:&#xA;&lt;a href=&quot;http://perso.univ-rennes1.fr/pierre.loidreau/articles/wcc_2005/Welch_Berlekamp.pdf&quot; rel=&quot;nofollow&quot;&gt;http://perso.univ-rennes1.fr/pierre.loidreau/articles/wcc_2005/Welch_Berlekamp.pdf&lt;/a&gt;&#xA;If you are familiar with the Berlekamp-Welch decoder, this paper should be easy enough to read through quickly. &#xA;In the paper, consider proof of proposition 2 in section 4.&#xA;There, it claims that &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&quot;Now let us consider a non-zero solution $(V_0,P_0)$ of 1), then any solution $(V,N)$ of 2) satisfies the following system of equations:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$V_0[N(g_i)-V(P_0(g_i))]=0 $$&#xA;$\forall i=1,\dots,n$&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;How is this equation obtained? The paper states it as if its obvious, but I am unable to prove this.&#xA;Any help would be appreciated.&#xA;Thanks.&lt;/p&gt;&#xA;" OwnerUserId="18154" LastActivityDate="2014-05-14T15:07:59.933" Title="Decoding of Gabidulin codes" Tags="&lt;linear-algebra&gt;&lt;coding-theory&gt;&lt;algebra&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22553" PostTypeId="2" ParentId="10387" CreationDate="2014-05-14T17:48:23.167" Score="2" Body="&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Zero-knowledge_proof&quot; rel=&quot;nofollow&quot;&gt;Zero-knowledge proof&lt;/a&gt; is a very interesting concept. It allows for an entity, the prover, to prove (with high probability) to another entity, the verifier, that it knows &quot;a secret&quot; (a solution to some NP-problem, a modular square-root of some number, a discrete log of some number etc …) without giving any information at all about the secret (which is difficult at first glance, since the first idea for proving that you know a secret is to actually tell the secret, and that any communication that could result in the verifier believing that you know the secret can a priori only increase the knowledge of the verifier about the secret).&lt;/p&gt;&#xA;" OwnerUserId="22930" LastActivityDate="2014-05-14T17:48:23.167" CommentCount="0" CommunityOwnedDate="2014-05-14T17:48:23.167" ContentLicense="CC BY-SA 3.0" />
  <row Id="22554" PostTypeId="1" CreationDate="2014-05-14T18:09:21.237" Score="8" ViewCount="335" Body="&lt;p&gt;The $\mathsf{P} \neq \mathsf{PSpace}$ conjecture means that&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;There is a language $L \in \mathsf{DSpace}(O(n^t))$ for some $t&amp;gt;0$ such that for all positive integers $k$, $L$&#xA;  requires $\Omega(n^k)$ deterministic time to decide.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;But I need a stronger assumption&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;There is a language in $\mathsf{DSpace}(O(n))$ that &#xA;  requires exponential ($2^{\Omega(n)}$) deterministic time  to decide.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Obviously the &lt;a href=&quot;https://en.wikipedia.org/wiki/Exponential_time_hypothesis&quot; rel=&quot;nofollow&quot;&gt;Exponential Time Hypothesis (ETH)&lt;/a&gt; implies the statement above: &#xA;3SAT is in linear space.&#xA;But I don't want to assume ETH.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a weaker conjecture (something that is plausible even if ETH is false) &#xA;that I can use?&lt;/p&gt;&#xA;" OwnerUserId="7091" LastEditorUserId="248" LastEditDate="2014-05-16T18:47:54.273" LastActivityDate="2014-05-16T18:47:54.273" Title="Linear space language that requires exponential time without ETH" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;time-complexity&gt;&lt;space-complexity&gt;&lt;pspace&gt;" AnswerCount="0" CommentCount="13" ContentLicense="CC BY-SA 3.0" />
  <row Id="22555" PostTypeId="2" ParentId="3540" CreationDate="2014-05-14T19:41:39.397" Score="6" Body="&lt;p&gt;Devdatt Dubhashi and Alessandro Panconesi: Concentration of Measure for the Analysis of Randomised Algorithms. A first draft is available at &lt;a href=&quot;http://wwwusers.di.uniroma1.it/~ale/Papers/master.pdf&quot;&gt;http://wwwusers.di.uniroma1.it/~ale/Papers/master.pdf&lt;/a&gt; (via geomblog)&lt;/p&gt;&#xA;" OwnerUserId="2367" LastActivityDate="2014-05-14T19:41:39.397" CommentCount="0" CommunityOwnedDate="2014-05-14T19:41:39.397" ContentLicense="CC BY-SA 3.0" />
  <row Id="22557" PostTypeId="2" ParentId="22544" CreationDate="2014-05-14T21:01:15.640" Score="25" Body="&lt;p&gt;I've asked Dick personally out of curiosity a few years back. He said that as far as he knows Rabin-Karp was a random switch many years after the paper was first published. He also indicated that it is his understanding that Michael would say the same thing if asked, since at some point they had talked about it.&lt;/p&gt;&#xA;" OwnerUserId="22933" LastActivityDate="2014-05-14T21:01:15.640" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="22558" PostTypeId="1" CreationDate="2014-05-15T00:30:38.363" Score="5" ViewCount="142" Body="&lt;p&gt;This is a basic question that I can't answer (it's not a homework assignment).  A reference would be perfectly acceptable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider a $[0,k]$ valued random variable X distributed binomially so that:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\text{Pr}[X=i]=\binom{k}{i}/2^k$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's clear that we can sample from $X$ in poly($k$) time using $k$ random bits.  The basic question is if it's possible to do better if I'm only interested in approximate sampling. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, if I'm interested in sampling from any $Y$ so that $|X-Y|&amp;lt;\epsilon$ (in statistical distance), can I do this in randomized time poly($1/\epsilon$) (i.e., with $1/\epsilon$ random bits)?&lt;/p&gt;&#xA;" OwnerUserId="22935" LastEditorUserId="22935" LastEditDate="2014-05-15T06:20:06.717" LastActivityDate="2014-05-20T16:07:05.663" Title="Sampling from the binomial distribution with limited randomness and time" Tags="&lt;probabilistic-computation&gt;" AnswerCount="2" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22559" PostTypeId="2" ParentId="22540" CreationDate="2014-05-15T03:22:51.393" Score="2" Body="&lt;p&gt;In the streaming model, any constant approximation of the maximum requires $\Omega(N)$ space. Showing this for a small enough constant approximation follows by an easy reduction from the disjointness problem in two-party communication complexity. This is now very standard, but I will describe it below anyways.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Recall that in the disjointness problem Alice is given a binary string $x \in \{0, 1\}^N$, and Bob is given a string $y \in \{0, 1\}^N$, and they want to decide whether $x$ and $y$ have disjoint support. It is a classic result that this task requires that Alice and Bob exchange at least $\Omega(N)$ bits, even if they share random bits and only want to succeed with probability $2/3$ over the choice of randomness. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assume there is a randomized streaming algorithm $A$ with space complexity $S$, which with probability $2/3$ computes a number $a$ such that $\frac{a}{F_\infty} \in (\frac{2}{3}, \frac{4}{3})$, where $F_\infty$ is the true maximum frequency of the $N$ elements. This gives a protocol for the disjointness problem with $S$ bits of communication, and therefore $S = \Omega(N)$. In the reduction, Alice simulates the algorithm $A$ and feeds it a stream which increases the frequency of element $i$ by $1$ for each $i$ such that $x_i = 1$. Then Alice takes the memory state of $A$ (which has only $S$ bits) and sends it to Bob, who then simulates $A$ starting from the state he received from Alice and feeds it a stream which increases the frequency of $i$ by $1$ for each $i$ s.t. $y_i = 1$. Then Bob decides that $x$ and $y$ have disjoint support if the output $a$ of $A$ is at most $4/3$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For more information, see &lt;a href=&quot;http://www.tau.ac.il/~nogaa/PDFS/amsz4.pdf&quot; rel=&quot;nofollow&quot;&gt;Alon, Matias, and Szegedy's beautiful paper&lt;/a&gt;, which introduced the streaming model and proved the first lower bounds.&lt;/p&gt;&#xA;" OwnerUserId="4896" LastActivityDate="2014-05-15T03:22:51.393" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="22560" PostTypeId="2" ParentId="22558" CreationDate="2014-05-15T03:55:42.457" Score="6" Body="&lt;p&gt;To exactly sample from the binomial distribution on $\{0,1,\cdots,n\}$ requires $n$ random bits. However, we can approximately sample with $O(\log(n/\varepsilon))$ bits, where $\varepsilon$ is the statistical distance from binomial we allow.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $$a_0=0, ~~~~a_{k+1}=a_k+{n \choose k} \cdot 2^{-n} ~~~~(k \in \{0,1,\cdots,n\}).$$ We can sample &lt;i&gt;exactly&lt;/i&gt; from the binomial distribution by sampling $x \in [0,1)$ uniformly and then picking $k$ such that $x \in [a_k,a_{k+1})$. The probability of picking any given $k$ is thus $$\mathrm{Pr}_x[k]=\mathrm{Pr}_x[x\in[a_k,a_{k+1})] = a_{k+1}-a_k = {n \choose k} \cdot 2^{-n}.$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We will sample &lt;i&gt;approximately&lt;/i&gt; by sampling $\tilde{x} \in \{ 0, 1/m, 2/m, \cdots, (m-1)/m \}$ uniformly and then picking $k$ such that $\tilde{x} \in [a_k,a_{k+1})$. This requires $O(\log m)$ bits of randomness. We have $$\mathrm{Pr}_\tilde{x}[k]=\mathrm{Pr}_\tilde{x}[\tilde{x}\in[a_k,a_{k+1})]=\frac{\lceil m a_{k+1} \rceil - \lceil m a_k \rceil}{m}=a_{k+1}-a_k \pm \frac{1}{m} =\mathrm{Pr}_x[k] \pm \frac{1}{m}.$$&#xA;So the difference between the probability of $k$ under exact sampling and under approximate sampling is at most $1/m$. Summing over all $k$, we have that the statistical distance is at most $(n+1)/m$. Setting $m=O(n/\varepsilon)$ ensures that the approximate sampling is $\varepsilon$ statistically close to binomial.&lt;/p&gt;&#xA;" OwnerUserId="2022" LastActivityDate="2014-05-15T03:55:42.457" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="22561" PostTypeId="2" ParentId="1775" CreationDate="2014-05-15T05:59:30.513" Score="9" Body="&lt;p&gt;It made my day when my friend James told me that this thread from long ago was rekindled.  Thank you for that.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, I had an urge to share some interesting references that are relevant to L vs Log(DCFL) vs Log(CFL).  Have a great day!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://link.springer.com/chapter/10.1007%2F978-3-642-14031-0_35#page-1&quot;&gt;http://link.springer.com/chapter/10.1007%2F978-3-642-14031-0_35#page-1&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://link.springer.com/chapter/10.1007/3-540-10003-2_89?no-access=true&quot;&gt;http://link.springer.com/chapter/10.1007/3-540-10003-2_89?no-access=true&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://link.springer.com/chapter/10.1007%2F978-3-642-00982-2_42#page-1&quot;&gt;http://link.springer.com/chapter/10.1007%2F978-3-642-00982-2_42#page-1&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.researchgate.net/publication/220115950_A_Hardest_Language_Recognized_by_Two-Way_Nondeterministic_Pushdown_Automata&quot;&gt;http://www.researchgate.net/publication/220115950_A_Hardest_Language_Recognized_by_Two-Way_Nondeterministic_Pushdown_Automata&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="14207" LastActivityDate="2014-05-15T05:59:30.513" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22563" PostTypeId="2" ParentId="22493" CreationDate="2014-05-15T07:25:16.817" Score="22" Body="&lt;p&gt;&lt;strong&gt;Title:&lt;/strong&gt; Intersection non-emptiness for two DFA's&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Description:&lt;/strong&gt; Given two DFA's $D_1$ and $D_2$, does there exist a string $x$ such that $D_1$ and $D_2$ both accept $x$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Open Problem:&lt;/strong&gt; Can we solve intersection non-emptiness for two DFA's in $o(n^2)$ time?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we could solve this problem in $O(n^{\delta})$ time where $\delta$ &amp;lt; 2, then the strong exponential time hypothesis would be refuted.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Explanation:&lt;/strong&gt; &lt;a href=&quot;https://cstheory.stackexchange.com/questions/29142/deciding-emptiness-of-intersection-of-regular-languages-in-subquadratic-time&quot;&gt;Deciding emptiness of intersection of regular languages in subquadratic time&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You might find this helpful: &lt;a href=&quot;http://rjlipton.wordpress.com/2009/08/17/on-the-intersection-of-finite-automata/&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://rjlipton.wordpress.com/2009/08/17/on-the-intersection-of-finite-automata/&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Have a great day!  :)&lt;/p&gt;&#xA;" OwnerUserId="14207" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:30.623" LastActivityDate="2015-01-20T01:12:49.673" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="22566" PostTypeId="2" ParentId="18022" CreationDate="2014-05-15T09:00:44.590" Score="1" Body="&lt;p&gt;Very cool idea!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Idea: We can exploit the comprehension axiom in ZF set theory to define a language that depends on an independent statement.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Step 1: Take your favorite statement that is independent of ZF such as AC - the axiom of choice.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Step 2: Define a language L = {x in {0,1} | x = 0 if AC and x = 1 if NOT AC}.  Notice that L is either {0} or {1}.  Now, L is decidable, yet we are unable to provide with certainty a program that decides L.  We could provide the program that decides {0} or we could provide the program that decides {1}, but we don't know with certainty which one decides L.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Step 3: Use this idea to define a language that is decidable if AC and undecidable if NOT AC.  Let H be the halting set which is undecidable.  Define L = {x | x is a string if AC and x is in H if NOT AC}.  If AC, then L = the set of all strings and L is decidable.  If NOT AC, then L = H and L is undecidable.  Whether or not L is decidable is independent of ZF.&lt;/p&gt;&#xA;" OwnerUserId="14207" LastEditorUserId="14207" LastEditDate="2014-05-16T04:08:37.037" LastActivityDate="2014-05-16T04:08:37.037" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22568" PostTypeId="1" CreationDate="2014-05-15T12:24:55.687" Score="5" ViewCount="300" Body="&lt;p&gt;I have a set of vertices &lt;span class=&quot;math-container&quot;&gt;$V\subset\mathbb R^3$&lt;/span&gt; and a set of edges &lt;span class=&quot;math-container&quot;&gt;$S=\{(a,b)|a,b \in V\}$&lt;/span&gt;. I want to know whether an edge in the set &lt;span class=&quot;math-container&quot;&gt;$S$&lt;/span&gt; is Delaunay against the vertices in &lt;span class=&quot;math-container&quot;&gt;$V$&lt;/span&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;My assumed definition of a Delaunay edge is: An edge is Delaunay, iff there exists a circumsphere of its endpoints not containing any other vertex inside it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would like to know practical approaches/algorithms for such Delaunay-edge test.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;UPDATE:&lt;/strong&gt; Answer to a question &lt;a href=&quot;https://cstheory.stackexchange.com/a/19663/21170&quot;&gt;here&lt;/a&gt; models Delaunay-edge criteria as a linear programming feasibility problem. Concisely, it searches for a vector, scalar tuple &lt;span class=&quot;math-container&quot;&gt;$(v,c)$&lt;/span&gt; such that for a set of vertices &lt;span class=&quot;math-container&quot;&gt;$P$&lt;/span&gt;(formed by transforming original points &lt;span class=&quot;math-container&quot;&gt;$(x,y,z)$&lt;/span&gt; in 3D space to &lt;span class=&quot;math-container&quot;&gt;$(x,y,z,x^2+y^2+z^2)$&lt;/span&gt; in 4D space) and endpoints of a  Delaunay edge candidate &lt;span class=&quot;math-container&quot;&gt;$(p_i,p_j)\in P$&lt;/span&gt;,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$v.p_a \geq c$&lt;/span&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$v.p_b=c$&lt;/span&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where &lt;span class=&quot;math-container&quot;&gt;$p_a\in P-\{p_i,p_j\}$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$p_b\in\{p_i,p_j\}$&lt;/span&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;and it recommends using &lt;em&gt;ellipsoid method&lt;/em&gt;, but &lt;a href=&quot;http://en.wikipedia.org/wiki/Ellipsoid_method#Performance&quot; rel=&quot;nofollow noreferrer&quot;&gt;Wiki section&lt;/a&gt; on this method describes it as numerically unstable beyond 2 dimensions. Is there any other &lt;em&gt;practical&lt;/em&gt; yet numerically stable(in three dimensions) linear programming approach for performing Delaunay edge test?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;P.S.: I have already asked this question on &lt;a href=&quot;https://cs.stackexchange.com/questions/24215/practical-algorithm-for-testing-whether-an-edge-is-delaunay&quot;&gt;ComputerScience SE&lt;/a&gt; but did not receive any relevant response.&lt;/p&gt;&#xA;" OwnerUserId="21170" LastEditorUserId="1993" LastEditDate="2019-05-05T07:22:28.653" LastActivityDate="2019-05-05T07:22:28.653" Title="Practical algorithm for testing whether an edge is Delaunay" Tags="&lt;ds.algorithms&gt;&lt;cg.comp-geom&gt;&lt;linear-programming&gt;" AnswerCount="0" CommentCount="7" ContentLicense="CC BY-SA 4.0" />
  <row Id="22569" PostTypeId="1" CreationDate="2014-05-15T12:32:44.110" Score="6" ViewCount="277" Body="&lt;p&gt;An FPT-reduction between parameterized problems $P$ and $Q$ is a pair of functions $f$ and $p$, such that every instance $x$ of $P$ with parameter $k$ is mapped to an instance $f(x,k)$ of $Q$ with parameter at most $p(k)$, with&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$f(x,k) \in Q$ iff $x\in P$,&lt;/li&gt;&#xA;&lt;li&gt;$f(x,k)$ is computed in fixed-parameter tractable time, i.e., in time  $g(k) \cdot |x|^{O(1)}$ for some function $g$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Is there an established name for the stronger type of reduction where $f(x,k)$ does not depend on the parameter $k$, but only on the instance $x$, and $p$ is the identity function?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In other words, $f$ is a polynomial time reduction between the underlying classical problems that does not increase the parameter. Does the existence such a reduction from some $\mathsf{W}[t]$-complete problem to a problem $Q$ have any further consequences beyond the $\mathsf{W}[t]$-hardness of $Q$? &lt;/p&gt;&#xA;" OwnerUserId="6579" LastEditorUserId="419" LastEditDate="2017-12-02T21:18:03.470" LastActivityDate="2017-12-02T21:18:03.470" Title="Stronger reductions in parameterized complexity" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;parameterized-complexity&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="22570" PostTypeId="2" ParentId="22547" CreationDate="2014-05-15T17:08:39.170" Score="4" Body="&lt;p&gt;Graph isomorphism for bipartite graphs is as hard as graph isomorphism for general undirected graphs. Considering bipartite posets (i.e., seeing bipartite graphs as Hasse diagrams of posets), you may see that counting the automorphisms of bipartite posets is as hard as counting the automorphisms of general undirected graphs.&lt;/p&gt;&#xA;" OwnerUserId="2955" LastActivityDate="2014-05-15T17:08:39.170" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="22571" PostTypeId="1" CreationDate="2014-05-15T17:53:46.473" Score="4" ViewCount="559" Body="&lt;p&gt;I’m currently reading &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.18.9348&quot; rel=&quot;nofollow&quot;&gt;Heeren, B., Hage, J., &amp;amp; Swiestra, D. (2002). &lt;em&gt;Generalizing Hindley-Milner Type Inference Algorithms&lt;/em&gt;&lt;/a&gt; in an attempt to understand Hindley-Milner-style type inference.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm struggling with two concepts early in the paper, the first is&#xA;&lt;em&gt;generalization&lt;/em&gt; of a type. From the article:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Generalizing a type $\tau$ with respect to a type environment $\Gamma$&#xA;  entails the quantification of the type variables that are free in&#xA;  $\tau$ but do not occur in $\Gamma$:&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;$$generalize(\Gamma,\tau) =_{def}\;\forall\vec{\alpha}.\tau &#xA; \;\;\text{ where } \vec{\alpha} = freevars(\tau)-freevars(\Gamma)$$&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;In the literature, generalization is sometimes referred to as&#xA;  determining the closure of a type. In fact, these different notations,&#xA;  e.g. $\Gamma$($\tau$) in [DM82] and Clos$\Gamma$($\tau$) in [LY98], all express the same.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Another explanation is that &lt;em&gt;generalize&lt;/em&gt; “abstracts a type over all type variables which are free in the type but not free in the given type environment.”&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, I fail to see what this accomplishes and when you want to do this, and would be very grateful if someone can point me in the right direction.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another concept is &lt;em&gt;instantiation&lt;/em&gt;, explained in the following manner:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;An instantiation of a type scheme is obtained by the replacement of&#xA;  the quantified type variables by fresh type variables:&#xA;  $$instantiate(\forall \alpha_1\ldots\alpha_n.\tau =_{def}\; [\alpha_1 := \beta_1,\ldots,\alpha_n := \beta_n]\tau \;\;\text{ where } \beta_1,\ldots,\beta_n \text{ are fresh}$$&#xA;  A type&#xA;  $\tau_1$ is a generic instance of a type scheme $\sigma = \forall\vec{\alpha}.\tau_2$ if there exists&#xA;  a substitution S with S$\beta$ = $\beta$ for all $\beta \in freevars(\sigma)$ such that $\tau_1$ and&#xA;  S$\tau_2$ are syntactically equal.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Does this simply mean that you replace all bound type variables with globally unique variables in order to avoid accidental collisions, or is there more to it?&lt;/p&gt;&#xA;" OwnerUserId="16797" LastActivityDate="2018-09-19T23:25:06.563" Title="Generalization and instantiation of types in Hindley-Milner type inference" Tags="&lt;type-theory&gt;&lt;type-inference&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="22572" PostTypeId="2" ParentId="22548" CreationDate="2014-05-15T19:30:58.627" Score="-1" Body="&lt;p&gt;I'm assuming you mean&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;volume A is inside volume B&lt;/li&gt;&#xA;&lt;li&gt;volume A is disjoint of volume B&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Then it's really simple. Pick the volume you expect to be a superset, or &lt;span class=&quot;math-container&quot;&gt;$A$&lt;/span&gt;. Each polygon defines a plane. &lt;a href=&quot;http://tutorial.math.lamar.edu/Classes/CalcIII/EqnsOfPlanes.aspx&quot; rel=&quot;nofollow noreferrer&quot;&gt;Use these points to solve for &lt;span class=&quot;math-container&quot;&gt;$ax+by+cz+d=0$&lt;/span&gt;&lt;/a&gt;, for every polygon of &lt;span class=&quot;math-container&quot;&gt;$A$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Then it would help if you had a point that you know is inside a volume.&lt;/p&gt;&#xA;&lt;p&gt;find the closest polygon to your inner point, and check whether that point is greater or less than the plane. let that number be &lt;span class=&quot;math-container&quot;&gt;$k_{P_n}$&lt;/span&gt; (either 1 or -1).&lt;/p&gt;&#xA;&lt;p&gt;take a polygon that is next to your initial polygon. find the folding edge of the two.&lt;/p&gt;&#xA;&lt;p&gt;take a point of the new polygon that is not on the folding edge (&lt;span class=&quot;math-container&quot;&gt;$l$&lt;/span&gt;).&lt;/p&gt;&#xA;&lt;p&gt;extend a point from the folding edge orthogonal to the initial plane above the initial plane (&lt;span class=&quot;math-container&quot;&gt;$a$&lt;/span&gt;). second point on the initial plane, but outside of the line of intersection (&lt;span class=&quot;math-container&quot;&gt;$c$&lt;/span&gt;). (above with respect to your k of the initial plane)&lt;/p&gt;&#xA;&lt;p&gt;if &lt;span class=&quot;math-container&quot;&gt;$l$&lt;/span&gt; is on the initial plane, then adjust your new k so that &lt;span class=&quot;math-container&quot;&gt;$a$&lt;/span&gt; is above the new plane.&lt;/p&gt;&#xA;&lt;p&gt;if &lt;span class=&quot;math-container&quot;&gt;$l$&lt;/span&gt; is above (with respect to the the initial k) the initial plane, then adjust your new k so that &lt;span class=&quot;math-container&quot;&gt;$c$&lt;/span&gt; is below the new plane.&lt;/p&gt;&#xA;&lt;p&gt;if &lt;span class=&quot;math-container&quot;&gt;$l$&lt;/span&gt; is below (with respect to the the initial k) the initial plane, then adjust your new k so that &lt;span class=&quot;math-container&quot;&gt;$c$&lt;/span&gt; is above the new plane.&lt;/p&gt;&#xA;&lt;p&gt;keep doing that until you have your complete shell mapped for k. if you have more than one shell (like a hollow object) you need to track all unmapped polygons and do the same thing for them.&lt;/p&gt;&#xA;&lt;p&gt;then you can compare your volumes.&lt;/p&gt;&#xA;&lt;p&gt;take any point from B, and find the closest polygon from A, and check whether your B point is above the plane of the A polygon. do this for every point in B.&lt;/p&gt;&#xA;&lt;p&gt;you also need to check whether any A point is in B, for the special case in which a sharp spike from one volume penetrates the other.&lt;/p&gt;&#xA;&lt;p&gt;If all points of &lt;span class=&quot;math-container&quot;&gt;$B$&lt;/span&gt; are inside &lt;span class=&quot;math-container&quot;&gt;$A$&lt;/span&gt;, and no points of &lt;span class=&quot;math-container&quot;&gt;$A$&lt;/span&gt; are inside &lt;span class=&quot;math-container&quot;&gt;$B$&lt;/span&gt;, then &lt;span class=&quot;math-container&quot;&gt;$B$&lt;/span&gt; is inside &lt;span class=&quot;math-container&quot;&gt;$A$&lt;/span&gt;&lt;/p&gt;&#xA;&lt;p&gt;If some but not all points of &lt;span class=&quot;math-container&quot;&gt;$B$&lt;/span&gt; are inside &lt;span class=&quot;math-container&quot;&gt;$A$&lt;/span&gt;, then &lt;span class=&quot;math-container&quot;&gt;$A$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$B$&lt;/span&gt; intersect.&lt;/p&gt;&#xA;&lt;p&gt;If no points of &lt;span class=&quot;math-container&quot;&gt;$B$&lt;/span&gt; are inside &lt;span class=&quot;math-container&quot;&gt;$A$&lt;/span&gt;, and no points of &lt;span class=&quot;math-container&quot;&gt;$A$&lt;/span&gt; are inside &lt;span class=&quot;math-container&quot;&gt;$B$&lt;/span&gt;, then &lt;span class=&quot;math-container&quot;&gt;$A$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$B$&lt;/span&gt; are disjoint.&lt;/p&gt;&#xA;&lt;h3&gt;Further reading:&lt;/h3&gt;&#xA;&lt;p&gt;Look at &lt;a href=&quot;https://cs.stackexchange.com/questions/23942/algorithm-for-computing-volume-of-union-or-intersection-of-n-dimensional-convex&quot;&gt;computing volume of convex polytopes.&lt;/a&gt; Alternatively to the above, you can look at the union volume to draw your conclusions. if &lt;span class=&quot;math-container&quot;&gt;$V_U=V_A$&lt;/span&gt;, then &lt;span class=&quot;math-container&quot;&gt;$A\subset B$&lt;/span&gt;. if &lt;span class=&quot;math-container&quot;&gt;$V_U&amp;lt;V_A \wedge V_U&amp;lt;V_B \wedge V_U \neq 0 $&lt;/span&gt; then &lt;span class=&quot;math-container&quot;&gt;$A$&lt;/span&gt; intersects &lt;span class=&quot;math-container&quot;&gt;$B$&lt;/span&gt;. If &lt;span class=&quot;math-container&quot;&gt;$A_U=0$&lt;/span&gt; then they don't intersect.&lt;/p&gt;&#xA;" OwnerUserId="21251" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2014-06-15T08:59:13.040" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="22573" PostTypeId="1" CreationDate="2014-05-15T19:38:20.120" Score="5" ViewCount="182" Body="&lt;p&gt;A &lt;a href=&quot;http://en.wikipedia.org/wiki/Planar_graph&quot; rel=&quot;noreferrer&quot;&gt;plane graph&lt;/a&gt; $G$ defines a cyclic ordering $O(v) = \langle v_1, v_2, \dotsc, n_{\deg(v)}\rangle$ on the neighborhood $N(v)$ of each vertex $v \in V(G)$. A non-intersecting Eulerian circuit $C$ is an &lt;a href=&quot;http://en.wikipedia.org/wiki/Eulerian_path&quot; rel=&quot;noreferrer&quot;&gt;Eulerian circuit&lt;/a&gt; such that for every vertex $v \in V(G)$ and every choice of four edges $\{a,v\}, \{b,v\}, \{c,v\}, \{d,v\} \in E(G)$ containing $v$, if the cyclic ordering $O(v)$ restricted to $\{a,b,c,d\}$ is $\langle a,b,c,d \rangle$ and $\{a,c\} \in C$, then $\{b,d\} \not\in C$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have found several references that claim or prove that every plane Eulerian graph contains a non-intersecting Eulerian circuit and at least one reference that shows how to find one in polynomial time.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there a standard reference (preferably a book on graph theory) that shows how to compute a non-intersecting Eulerian circuit in a plane Eulerian graph in polynomial time?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="3964" LastEditorUserId="3964" LastEditDate="2014-05-15T20:22:25.870" LastActivityDate="2014-05-19T11:08:07.743" Title="Standard reference for efficient computation of non-intersecting Eulerian circuit" Tags="&lt;reference-request&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;" AnswerCount="0" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="22575" PostTypeId="1" AcceptedAnswerId="22577" CreationDate="2014-05-15T20:58:42.717" Score="8" ViewCount="579" Body="&lt;p&gt;Using persistent homology, we can analyze the (topological) shape of a cloud of points using the following three-step method:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;convert the point set into a simplicial complex (and there are a few different ways of doing this) parameterized by a &quot;noise&quot; parameter&lt;/li&gt;&#xA;&lt;li&gt;Compute the homology groups of this complex (again parameterized by the parameter)&lt;/li&gt;&#xA;&lt;li&gt;look at the evolution of the groups as the parameter evolves. &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The &quot;time of life&quot; of the different groups looks like a collection of intervals, which is called the &quot;barcode&quot; of the shape. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there an easy explanation of what the barcode looks like if the simplicial complex is merely a 1-skeleton (i.e a graph) ? In other words, suppose we start with a graph (rather than a point set) and then do the remaining two steps as above. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2014-05-16T03:52:26.990" Title="Barcode of a graph" Tags="&lt;cg.comp-geom&gt;&lt;topology&gt;" AnswerCount="3" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="22577" PostTypeId="2" ParentId="22575" CreationDate="2014-05-15T22:38:56.673" Score="9" Body="&lt;p&gt;Betti-0 will be one interval for each vertex, with one of the involved intervals vanishing any time an edge connects two components. This will be very similar to a trace of a Union-Find running on the graph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Betti-1 will be one interval for each essential closed loop; corresponding to a running updated basis for the &lt;a href=&quot;http://en.wikipedia.org/wiki/Cycle_space&quot;&gt;Cycle Space&lt;/a&gt;. Since it is a graph, these will appear whenever an edge is added that does not connect two disjoint components, and never disappear again.&lt;/p&gt;&#xA;" OwnerUserId="22950" LastActivityDate="2014-05-15T22:38:56.673" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22578" PostTypeId="1" CreationDate="2014-05-16T00:51:11.730" Score="2" ViewCount="228" Body="&lt;pre&gt;&lt;code&gt;def sum1(n):&#xA;    if n==0: return 0&#xA;    else: return n + sum1(n-1)&#xA;&#xA;def sum2(n):&#xA;    return n*(n+1)/2&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;A compiler can not convert &lt;code&gt;sum1&lt;/code&gt; into &lt;code&gt;sum2&lt;/code&gt; because function equality in turing-complete languages is undecidable. My question is: is there a system strong enough to express both functions, that is also weak enough to a compiler can make the conversion? Or, even better, is there a simple system where the mere reduction of &lt;code&gt;sum1&lt;/code&gt; would fall into &lt;code&gt;sum2&lt;/code&gt;?&lt;/p&gt;&#xA;" OwnerUserId="17388" LastEditorUserId="17388" LastEditDate="2014-05-16T18:14:43.210" LastActivityDate="2014-05-21T03:49:15.467" Title="Would it be possible for a compiler to convert a recursive sum into the average formula?" Tags="&lt;pl.programming-languages&gt;&lt;computability&gt;&lt;compilers&gt;" AnswerCount="2" CommentCount="10" ContentLicense="CC BY-SA 3.0" />
  <row Id="22579" PostTypeId="2" ParentId="22575" CreationDate="2014-05-16T00:58:51.517" Score="3" Body="&lt;p&gt;The graph is already a simplicial complex comprising of 0 and 1 simplices (nodes and edges). The barcode representation is meaningful only when the simplicial complex is constructed step-by-step such that the complex at step k is a subset of the complex at step k+1 i.e. the vertices and edges are inserted into it in some order.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assuming that the vertices are added at &quot;time&quot;/&quot;paramter value&quot; 0 and all the edges are added at &quot;time&quot;/&quot;parameter value&quot; 1: the betti_0 barcode will simply be a set of lines representing the number of disjoint components of the graph and betti_1 will simply be a set of lines representing each &quot;basic&quot; loop in the graph (see cycle space of a graph).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are several ways of constructing such ordering functions on a graph e.g. compute any function over the vertices (say the degree of any vertex) and say that vertices with lower degrees are 'born' before the vertices with higher degree. Now say that an edge is added whenever both the vertices come to exist. Now, you can construct a persistent homology view of the given graph under the degree distribution. Many other such functions can be constructed e.g. pagerank, laplacians etc.&lt;/p&gt;&#xA;" OwnerUserId="22951" LastActivityDate="2014-05-16T00:58:51.517" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22580" PostTypeId="2" ParentId="22578" CreationDate="2014-05-16T02:16:38.463" Score="8" Body="&lt;p&gt;I assume you are asking whether a &quot;reasonable&quot; system exists that can express these functions and also also decide whether any two expressible function definitions define the same function. (An unreasonable system would be, for example, the language which has only the two function definitions above in it...)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Both of functions are expressible in Buss's &lt;a href=&quot;http://www.math.ucsd.edu/~sbuss/ResearchWeb/BAthesis/&quot; rel=&quot;nofollow&quot;&gt;bounded arithmetic&lt;/a&gt;, so yes, to your first question, though I'm not aware that anyone has actually converted these systems into practical computer languages. For one thing, the algorithm should exist, but are (almost?) certainly unfeasible unless P==NP. (Almost: I'd guess that the problem of function equivalence in any of Buss's systems is at least NP hard, but I have no proof.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For your second question, I guess we would have to define &quot;reasonable&quot; meant more carefully. It seems plausible to me that one could create a &quot;combinatorics expert system&quot; that could recognize and &quot;automatically optimize&quot; many such simple functions -- perhaps it would look something like &quot;Mathematica&quot; :) -- but I assume that isn't what you are talking about. &lt;/p&gt;&#xA;" OwnerUserId="22952" LastEditorUserId="22952" LastEditDate="2014-05-21T03:49:15.467" LastActivityDate="2014-05-21T03:49:15.467" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="22581" PostTypeId="2" ParentId="22575" CreationDate="2014-05-16T03:52:26.990" Score="1" Body="&lt;p&gt;What is said above is correct but I'll add an interesting wrinkle that should be better known.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you use the graph distance as your persistence parameter and then calculate the persistence of the Rips complex you can actually find higher dimensional homology as well.  For instance the persistence betti numbers for N points equally space on a circle look like:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;\begin{array}{*{27}{l}}&#xA;N &amp;amp; b1 &amp;amp; b2 &amp;amp; b3 &amp;amp; b4 &amp;amp; b5 &amp;amp; b6 &amp;amp; b7 &amp;amp; b8 &amp;amp; b9 &amp;amp; b10 &amp;amp; b11 &amp;amp; b12 \\&#xA;3 &amp;amp;  &amp;amp;  &amp;amp;  &amp;amp;  &amp;amp;  &amp;amp;  &amp;amp;  &amp;amp;  &amp;amp;  &amp;amp;  &amp;amp; \\&#xA;4 &amp;amp; 1 &amp;amp;  &amp;amp;  &amp;amp;  &amp;amp;  &amp;amp;  &amp;amp;  &amp;amp;  &amp;amp;  &amp;amp;  &amp;amp; \\&#xA;5 &amp;amp; 1 &amp;amp;  &amp;amp;  &amp;amp;  &amp;amp;  &amp;amp;  &amp;amp;  &amp;amp;  &amp;amp;  &amp;amp;  &amp;amp; \\&#xA;6 &amp;amp; 1 &amp;amp; 1 &amp;amp;  &amp;amp;  &amp;amp;  &amp;amp;  &amp;amp;  &amp;amp;  &amp;amp;  &amp;amp;  &amp;amp; \\&#xA;7 &amp;amp; 1 &amp;amp;  &amp;amp;  &amp;amp;  &amp;amp;  &amp;amp;  &amp;amp;  &amp;amp;  &amp;amp;  &amp;amp;  &amp;amp; \\&#xA;8 &amp;amp; 1 &amp;amp; 0 &amp;amp; 1&amp;amp;  &amp;amp;  &amp;amp;  &amp;amp;  &amp;amp;  &amp;amp;  &amp;amp;  &amp;amp;  &amp;amp; \\&#xA;9 &amp;amp; 1 &amp;amp; 2 &amp;amp;  &amp;amp;  &amp;amp;  &amp;amp;  &amp;amp;  &amp;amp;  &amp;amp;  &amp;amp;  &amp;amp; \\&#xA;10 &amp;amp; 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; 1 &amp;amp;  &amp;amp;  &amp;amp;  &amp;amp;  &amp;amp;  &amp;amp;  &amp;amp; \\&#xA;11 &amp;amp; 1 &amp;amp; 0 &amp;amp; 1 &amp;amp;  &amp;amp;  &amp;amp;  &amp;amp;  &amp;amp;  &amp;amp;  &amp;amp;  &amp;amp; \\&#xA;12 &amp;amp; 1 &amp;amp; 3 &amp;amp; 0 &amp;amp; 0 &amp;amp; 1 &amp;amp;  &amp;amp;  &amp;amp;  &amp;amp;  &amp;amp;  &amp;amp; \\&#xA;13 &amp;amp; 1 &amp;amp; 0 &amp;amp; 1 &amp;amp;  &amp;amp;  &amp;amp;  &amp;amp;  &amp;amp;  &amp;amp;  &amp;amp;  &amp;amp; \\&#xA;14 &amp;amp; 1 &amp;amp; 0 &amp;amp; 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; 1 &amp;amp;  &amp;amp;  &amp;amp;  &amp;amp;  &amp;amp;  \\&#xA;15 &amp;amp; 1 &amp;amp; 4 &amp;amp; 0 &amp;amp; 2 &amp;amp;  &amp;amp;  &amp;amp;  &amp;amp;  &amp;amp;  &amp;amp;  &amp;amp;  &amp;amp; \\&#xA;16 &amp;amp; 1 &amp;amp; 0 &amp;amp; 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 &amp;amp;1 &amp;amp;  &amp;amp;  &amp;amp;  &amp;amp; \\&#xA;17 &amp;amp; 1 &amp;amp; 0 &amp;amp; 1 &amp;amp; 0 &amp;amp; 1 &amp;amp;  &amp;amp;  &amp;amp;  &amp;amp;  &amp;amp;  &amp;amp;  &amp;amp; \\&#xA;18 &amp;amp; 1 &amp;amp; 5 &amp;amp; 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; 1 &amp;amp; &amp;amp; &amp;amp; \\&#xA;\end{array}&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(where persistence betti number just means count the number of bars of any length that appear in each dimension)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The distinction between this situation and the asked question is that I'm not filtering the graph - instead I'm persisting on the abstract metric space that is realized by the graph edge distances.&lt;/p&gt;&#xA;" OwnerUserId="22953" LastActivityDate="2014-05-16T03:52:26.990" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="22582" PostTypeId="1" CreationDate="2014-05-16T15:49:34.283" Score="5" ViewCount="530" Body="&lt;p&gt;Let $G=(V,E)$ be an undirected graph and let $T \subseteq V$. A subset $J$ of $E$ is called a $T$-join if $T$ is equal to the set of vertices of odd degree in the graph $(V, J)$. Further $J$ is an odd (even) $T$-join if it contains an odd (even) number of edges.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is well known that the following problem has a strongly polynomial time solution (&lt;a href=&quot;http://www.springer.com/mathematics/applications/book/978-3-540-44389-6&quot; rel=&quot;nofollow&quot;&gt;Schrijver&lt;/a&gt;, Theorem 29.1):&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Given a graph $G = (V,E)$, a weight function $w \in \mathbb{Q}^E$, and the vertex set $T \subseteq V$, find a $T$-join of minimum total weight.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;However, I am interested the complexity of the following problem:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Given a graph $G = (V,E)$, a weight function $w \in \mathbb{Q}^E$, and the vertex set $T \subseteq V$, find an &lt;strong&gt;odd&lt;/strong&gt; (or even) $T$-join of minimum total weight.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The problem is still interesting even if we assume all edge weights are non-negative. In fact, efficient algorithms for both the odd and even case with non-negative weights would imply efficient algorithms for both cases with negative weights.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.math.uwaterloo.ca/~bico/papers/kp.pdf&quot; rel=&quot;nofollow&quot;&gt;Cook, Espinoza, and Goycoolea&lt;/a&gt; describe an $O(2^{|T|} + |T|^2|V|^2 + |V|^3)$ time algorithm for a slight variation on the problem where edges are colored red and blue and you want an odd number of red edges. The colored variant is equivalent though simple reductions. Unlike the algorithms for minimum weight $T$-join that ignore parity, the algorithm by Cook &lt;em&gt;et al.&lt;/em&gt; takes time exponential in $|T|$. Also, their algorithm depends upon the weights being non-negative, as the reduction to the non-negative case could increase the cardinality of $T$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, there are strongly polynomial time algorithms for finding shortest simple $s,t$-paths with an odd number of edges, and shortest $s,t$-walks with an odd number of edges that do not repeat any edges. Again, these algorithms assume non-negative weights. Both are described by &lt;a href=&quot;http://www.springer.com/mathematics/applications/book/978-3-540-44389-6&quot; rel=&quot;nofollow&quot;&gt;Schrijver&lt;/a&gt;. Note that the odd path and walk problems are &lt;em&gt;not&lt;/em&gt; special cases of the odd $T$-join problem where $|T| = 2$. A minimum weight odd $T$-join with $T = \{s,t\}$ could contain an even $s,t$-path and an odd cycle as separate components.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So in summary:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there a (strongly) polynomial time algorithm to find a minimum weight odd (or even) $T$-join? Is the problem NP-hard?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="13751" LastEditorUserId="-1" LastEditDate="2014-10-28T13:46:36.223" LastActivityDate="2015-09-13T03:12:59.613" Title="What is the complexity of minimum weight odd T-join?" Tags="&lt;cc.complexity-theory&gt;&lt;graph-algorithms&gt;" AnswerCount="1" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="22585" PostTypeId="1" CreationDate="2014-05-17T10:07:01.373" Score="1" ViewCount="110" Body="&lt;p&gt;Is it correct to claim that an object-oriented programming language based on assignment (e.g., Java and Smalltalk) introduces mutability and hence complexity in concurrent applications ?&#xA;In other words: is there a direct correlation between a language being based on assignment and mutability ?&lt;/p&gt;&#xA;" OwnerUserId="20558" LastActivityDate="2014-05-17T10:07:01.373" Title="Object-Oriented Programming Languages based on assignment" Tags="&lt;pl.programming-languages&gt;&lt;object-oriented&gt;" AnswerCount="0" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="22586" PostTypeId="2" ParentId="20547" CreationDate="2014-05-17T11:03:21.160" Score="2" Body="&lt;p&gt;If I get it correctly, the result you need appears in Section 4 of &lt;a href=&quot;http://dx.doi.org/10.1007/s00454-003-2949-y&quot; rel=&quot;nofollow&quot;&gt;this paper&lt;/a&gt; (a &lt;a href=&quot;http://www.fmf.uni-lj.si/~cabello/publications/clms-thpp-03.pdf&quot; rel=&quot;nofollow&quot;&gt;draft here&lt;/a&gt;). We also needed to join pieces of different papers, as the comments here tell. &lt;/p&gt;&#xA;" OwnerUserId="1839" LastActivityDate="2014-05-17T11:03:21.160" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="22587" PostTypeId="1" AcceptedAnswerId="22622" CreationDate="2014-05-17T13:41:11.200" Score="9" ViewCount="215" Body="&lt;p&gt;A &lt;em&gt;homomorphism&lt;/em&gt; from a graph $G = (V, E)$ to a graph $G' = (V', E')$ is a mapping $f$ from $V$ to $V'$ such that if $x$ and $y$ are adjacent in $E$ then $f(x)$ and $f(y)$ are adjacent in $E'$. An &lt;em&gt;endomorphism&lt;/em&gt; of a graph $G$ is a homomorphism from $G$ to itself; it is &lt;em&gt;fixed-point-free&lt;/em&gt; if there is no $x$ such that $f(x) = x$ and it is &lt;em&gt;non-trivial&lt;/em&gt; if it is not the identity.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have recently asked &lt;a href=&quot;https://cstheory.stackexchange.com/questions/22547/complexity-of-counting-poset-automorphisms&quot;&gt;a question&lt;/a&gt; related to poset (and graph) &lt;em&gt;automorphisms&lt;/em&gt;, that is, bijective endomorphisms whose converse are also an endomorphism. I found related work about counting (and deciding the existence of) automorphisms, but searching I couldn't find any results related to endomorphisms.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hence my question: &lt;strong&gt;What is the complexity, given a graph $G$, of deciding the existence of a non-trivial endomorphism of $G$, or of counting the number of endomorphisms? Same question with fixed-point-free endomorphisms.&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think the argument given in &lt;a href=&quot;https://cstheory.stackexchange.com/a/22570/4795&quot;&gt;this answer&lt;/a&gt; extends to endomorphisms and justifies that the case of directed bipartite graphs, or posets, is no easier than the problem for general graphs (the problem for general graphs reduces to this case), but its complexity do not seem straightforward to determine. It is known that deciding the existence of an homomorphism from one graph to another is &lt;a href=&quot;https://en.wikipedia.org/wiki/Graph_homomorphism#Complexity&quot; rel=&quot;nofollow noreferrer&quot;&gt;NP-hard&lt;/a&gt; (this is clear as it generalizes graph coloring), but it seems like restricting the search to homomorphisms from a graph to &lt;em&gt;itself&lt;/em&gt; might make the problem easier, so this doesn't help me determine the complexity of these problems.&lt;/p&gt;&#xA;" OwnerUserId="4795" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2014-05-21T09:56:19.757" Title="Complexity of counting graph endomorphisms" Tags="&lt;cc.complexity-theory&gt;&lt;graph-algorithms&gt;&lt;counting-complexity&gt;&lt;graph-isomorphism&gt;&lt;homomorphism&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="22588" PostTypeId="1" CreationDate="2014-05-17T16:46:30.713" Score="6" ViewCount="846" Body="&lt;p&gt;In his answer to &lt;a href=&quot;https://cstheory.stackexchange.com/questions/3279&quot;&gt;a previous question&lt;/a&gt;, &lt;a href=&quot;https://cstheory.stackexchange.com/users/873/sadeq-dousti&quot;&gt;Sadeq Dousti&lt;/a&gt; recalled the following terminology:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$f(n) = n^{\omega(1)}$ is called &lt;em&gt;super-polynomial&lt;/em&gt;. (e.g. $n^{\log n}, 2^n, 2^{2^n}$.)&lt;/li&gt;&#xA;&lt;li&gt;$f(n) = 2^{n^{\Theta(1)}}$ is called &lt;em&gt;exponential&lt;/em&gt;. (e.g. $2^n, 3^{n^4}$.)&lt;/li&gt;&#xA;&lt;li&gt;$f(n) = 2^{n^{o(1)}}$ is called &lt;em&gt;sub-exponential&lt;/em&gt;. (e.g. $2^{n^{1/n}}, n^{\log n}$.)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Is this &lt;em&gt;standard&lt;/em&gt; terminology? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In particular, I am interested to know whether it is OK to call $2^{\sqrt{n}}$ and other functions in $2^{n^{\Theta(1)}}$ exponential or not.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Edited after 1st answer:&lt;/em&gt; Yes! The issue is when you have a $2^{\sqrt{n}}$ &lt;strong&gt;lower bound&lt;/strong&gt;. Can you say that this is an &quot;exponential&quot; lower bound? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am thinking here of a lower bound for a combinatorial value, not for some time complexity where one has standard definitions for $\mathsf{E}$ and $\mathsf{EXPTIME}$. I now realize I probably picked the wrong keywords.&lt;/p&gt;&#xA;" OwnerUserId="16371" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2014-05-19T17:14:19.577" Title="Is it right to call $2^{\sqrt{n}}$ &quot;exponential&quot;?" Tags="&lt;complexity-classes&gt;&lt;terminology&gt;" AnswerCount="2" CommentCount="3" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="22591" PostTypeId="2" ParentId="22588" CreationDate="2014-05-17T18:50:41.347" Score="4" Body="&lt;p&gt;I think these are all pretty standard, but context matters. I don't think there's a clear answer to your &quot;particular&quot; question, and I'll try to explain why.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Usually our usage of these terms comes from algorithm complexity. In terms of &lt;em&gt;time complexity of algorithms&lt;/em&gt;, there are two definitions of exponential:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;EXPTIME: $2^{n^{O(1)}}$. That is, $2$ raised to a polynomial in $n$.&lt;/li&gt;&#xA;&lt;li&gt;E: $2^{O(n)}$. That is, $2$ raised to a function of $n$ that is at most linear.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Of course $2^{\sqrt{n}}$ fits in both classes. So the question is easily yes if we are just thinking about &lt;strong&gt;upper bounds&lt;/strong&gt;: Naturally $2^{\sqrt{n}} &amp;lt; 2^n$ should be consider to lie in the class of exponential running times.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What I'm not so clear on is &lt;strong&gt;lower bounds&lt;/strong&gt;. Specifically, I am not sure what a generally accepted interpretation of the following statement would be:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Deciding language $A$ &lt;em&gt;requires&lt;/em&gt; exponential time.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;(For example: If we show that $A$ requires time $2^{\sqrt{n}}$, should we say that $A$ requires exponential time?)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we are thinking in the style of EXPTIME, I think we would say &quot;yes&quot;: interpret the statement as saying that $A$ requires $2^{n^c}$ time for some $c &amp;gt; 0$. But thinking in the style of E, we would say no. For instance, the &lt;a href=&quot;http://en.wikipedia.org/wiki/Exponential_time_hypothesis&quot; rel=&quot;nofollow&quot;&gt;Exponential Time Hypothesis&lt;/a&gt; states informally that 3SAT requires exponential time, and formally it says that 3SAT requires $2^{cn}$ time for some $c$ (note the crucial difference!).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Because of this, I am not sure if there is a commonly accepted interpretation of the above statement. Ideally we would state more precisely what we mean when using the term, unless it's clear from context. Perhaps others can mention if they think one interpretation or the other is more &quot;standard&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In summary: if $f(n) \leq 2^{\sqrt{n}}$, then $f$ is definitely at most exponential. But if $f(n) \geq 2^{\sqrt{n}}$, it is not clear to me whether we would say $f$ is at least exponential.&lt;/p&gt;&#xA;" OwnerUserId="8243" LastActivityDate="2014-05-17T18:50:41.347" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="22592" PostTypeId="2" ParentId="22588" CreationDate="2014-05-18T01:03:02.157" Score="7" Body="&lt;p&gt;In general I agree with usul's summary: for upper bounds $2^{\sqrt{n}}$ is certainly at most exponential, and for lower bounds it's more context-dependent and less clear. Let me offer a couple more examples from different contexts, and provide the term &quot;moderately exponential&quot; for your consideration.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;In the literature on graph isomorphism (which is typically dealing with upper bounds), $2^{\sqrt{n} poly(\log n)}$ (or even just $2^{n^c}$ with $c &amp;lt; 1$) is often referred to as &lt;strong&gt;moderately exponential&lt;/strong&gt; (though I understand this term has a different meaning the context of exact algorithms for $\mathsf{NP}$-complete problems; for the relation between the two, see the Appendix to &lt;a href=&quot;http://www.ima.umn.edu/~paolo/thesis.pdf&quot;&gt;Paolo Codenotti's Thesis&lt;/a&gt;). In some sense one can view this as very humble, but not belittling, terminology: it recognizes how far such algorithms are from polynomial (or even quasi-polynomial) while still acknowledging that it represents quite significant progress over the brute force $n!$ algorithm, or even over singly-exponential ($2^{\Theta(n)}$) algorithms.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Referring to a $2^{\sqrt{n}}$ lower bound as moderately exponential could serve a similar function: humble enough to differentiate it from $2^{\Omega(n)}$ lower bounds, but significant enough to distinguish it from merely super-polynomial. On the other hand:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;$2^{n^{O(1/d)}}$ lower bounds for depth $d$ Boolean circuits (or the corresponding Frege classes in proof complexity) are often referred to as &quot;exponential lower bounds&quot; to distinguish them from &quot;merely&quot; super-polynomial or quasi-polynomial lower bounds. However, as getting a $2^{\Omega(n)}$ lower bound in these situations can be quite important, the latter may sometimes be referred to as &quot;strong exponential lower bounds&quot; or sometimes &quot;truly exponential lower bounds&quot; to distinguish it from the &quot;merely&quot; $2^{n^{c}}$ lower bounds (with $c &amp;lt; 1$). &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;In the context of depth 4 algebraic circuits, $2^{\tilde{\Omega}(\sqrt{n})}$ lower bounds &lt;a href=&quot;http://arxiv.org/abs/1404.1950&quot;&gt;have been referred to&lt;/a&gt; as exponential. Note that getting any stronger lower bounds would separate $\mathsf{VP}$ from $\mathsf{VNP}$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;(Even in the context of Graph Isomorphism, I could see someone, perhaps informally, referring to a $2^{\sqrt{n}}$ lower bound as &quot;exponential&quot;, since it would be understood that there is a $2^{O(\sqrt{n \log n})}$ upper bound so essentially no stronger exponential lower bound could be hoped for...)&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2014-05-18T01:03:02.157" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22594" PostTypeId="2" ParentId="12619" CreationDate="2014-05-18T07:09:25.120" Score="-4" Body="&lt;p&gt;Speed&#xA;Relevence&lt;/p&gt;&#xA;&#xA;&lt;p&gt;These are two big problems that search engines have. Relivence is easy to explane. The search Engine is not a Neuro Interface yet, but it could be, there is your awnser, if a search engine such as google was operated by neuro-interface, with the write programing and the web cam to read the enviroment the search engine could bring back much more relivent results instead of 500 results of nonsense for the next spider.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Speed ou type the querry in, goes wizzing of across thosands of miles of fiber optic and possably up to satilites on its journey. Finaly it arives at Google Data Center, one of the largest Computer clusters in the world and a very secret location. that querry is sent around all those computers and when it comes out the other side it has gotten a bit larger because it now has the response to your origonal search term, and so it starts its return journey across thosands of miles of fiber optic, coper and those two satilites. Than you get your results.&#xA;Now this only takes a between 3 seconds to 2 miniutes your but while your waiting it is chuging your bandwidth and up your broadband bill. Wouldent it be faster to lay a global network of Fiber optic cable with repeaters ? Than Broadband would run at close to the speed of light.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thats my take on the Speed part of the Question.&lt;/p&gt;&#xA;" OwnerUserId="22972" LastActivityDate="2014-05-18T07:09:25.120" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22598" PostTypeId="1" AcceptedAnswerId="22687" CreationDate="2014-05-18T13:04:21.103" Score="6" ViewCount="501" Body="&lt;p&gt;If one were to develop a purely topological computational model based upon the equivalence of information in knots and the model would perform transformations of that information. This would be the way that model would compute. Would such a model be useful in understanding computational problems in topology or would algebraic models suffice? If one already exists please provide a reference.&lt;/p&gt;&#xA;" OwnerUserId="5385" LastEditorUserId="5385" LastEditDate="2014-05-20T08:54:54.940" LastActivityDate="2014-05-27T03:51:20.327" Title="Would a purely topological computational model be useful in decision problems in topology?" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;ds.data-structures&gt;&lt;topology&gt;&lt;computational-geometry&gt;" AnswerCount="2" CommentCount="6" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="22599" PostTypeId="2" ParentId="22066" CreationDate="2014-05-18T13:33:36.080" Score="5" Body="&lt;p&gt;The paper D. Marx: Efficient approximation schemes for geometric problems?, in ESA 2005, gives W&lt;a href=&quot;http://www.cs.bme.hu/~dmarx/papers/marx-esa2005.pdf&quot;&gt;1&lt;/a&gt;-hardness for covering points with unit squares. A draft is &lt;a href=&quot;http://www.cs.bme.hu/~dmarx/papers/marx-esa2005.pdf&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="1839" LastActivityDate="2014-05-18T13:33:36.080" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="22601" PostTypeId="1" CreationDate="2014-05-19T00:25:04.617" Score="3" ViewCount="98" Body="&lt;p&gt;I am developing a logic for reasoning about programs in a resource-constrained environment. My starting point is intuitionistic linear logic, but I made the following changes:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;In intuitionistic linear logic, environments are sets of available resources. In my logic, environments are partially ordered sets: some resources have to be consumed before others.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Multiplicative conjunction splits into two connectives: parallel conjunction and sequential conjunction.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Linear implication can only consume a resource X, if there is no other resource Y that must be consumed before X.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Logical connectives are usually defined in terms of introduction and elimination rules. In my logic, I need a new kind of rule: &lt;em&gt;usage rules&lt;/em&gt;, which describe how a resource can be used in a computation without destroying it.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;I add a new unary operator, called &lt;a href=&quot;http://static.rust-lang.org/doc/master/guide-lifetimes.html&quot; rel=&quot;nofollow&quot;&gt;borrowed pointer&lt;/a&gt;, which denotes a non-owning reference to an existing resource.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Creating a borrowed pointer &lt;em&gt;uses&lt;/em&gt; but does not consume the resource being pointed. In particular, one may always create a borrowed pointer to an existing resource X, even if there is some resource Y that must be consumed before X.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;No resource may be consumed until all borrowed pointers to it have been consumed. This is my main motivation for introducing the notion of sequential conjunction in the first place.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;I want to give a formal presentation of the rules of inference of this logic using natural deduction and sequent calculus. However, I am having trouble coming up with a good notation that succinctly conveys ideas like:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;The environment $\Gamma$ can be split into sub-environments $\Delta, \Sigma$, where there is no resource in $\Sigma$ that must be consumed before any resource in $\Delta$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Given the environment $\Gamma$ and a resource $A \in \Gamma$, the result of adding a resource ${\rm ref} A$ to $\Gamma$, in such a way that ${\rm ref} A$ must be consumed before $A$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The sequential conjunction of $A$ and $B$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;etc.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;What guidelines should I follow in order to design a good notation for this logic?&lt;/p&gt;&#xA;" OwnerUserId="6634" LastActivityDate="2014-05-19T00:25:04.617" Title="How to develop an effective notation for a partially ordered logic?" Tags="&lt;lo.logic&gt;&lt;notation&gt;&lt;sequent-calculus&gt;&lt;natural-deduction&gt;" AnswerCount="0" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="22604" PostTypeId="2" ParentId="22512" CreationDate="2014-05-19T20:06:46.277" Score="8" Body="&lt;p&gt;&lt;strong&gt;TL;DR&lt;/strong&gt; &lt;em&gt;The decimal expansion of a fixed rational number is not pseudorandom in the cryptographic sense, but irrational numbers (are conjectured to) exhibit some weaker but interesting forms of pseudorandom behavior.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Roughly speaking, a sequence $s \in \{0, \ldots, B\}^n$ is pseudorandom with respect to distinguishers $\cal A$, if it cannot be distinguished (with non-trivial probability) from a uniformly random sequence sampled from $\{0, \ldots, B\}^n$ by any algorithm $A$ in a class of algorithms $\cal A$. Usually in cryptography, $\cal A$ is the class of polynomial-time algorithms or polynomial-size circuits. Then it is easy to see that any sequence that can be generated in polynomial time by a deterministic algorithm is not pseudorandom: the distinguisher just simulates the generator. For this reason, pseudorandom generators in cryptography are randomized, and we speak of a pseudorandom distribution rather than a fixed pseudorandom sequence.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, there are weaker notions of pseudorandomness (corresponding to more restricted classes $\cal A$ of distinguishers) that the expansion of an irrational number in an integer basis &lt;em&gt;might&lt;/em&gt; satisfy. For example, $\sqrt{2}$, $e$, and $\pi$ are conjectured to be &lt;a href=&quot;http://en.wikipedia.org/wiki/Normal_number&quot; rel=&quot;nofollow&quot;&gt;normal&lt;/a&gt;, which is a kind of pseudorandomness: each pattern of $k$ digits in base $B$ appears with frequency $1/B^k$, in the limit. This is like pseudorandomness with respect to distinguishers which can only ask &quot;approximately how often does this pattern appear in the expansion of $\sqrt{2}$?&quot; However, at the moment we are unable to prove normality for any of the above fundamental constants, in any base, even though it is conjectured they are absolutely normal, i.e. normal in every base. This is a famous open problem. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Something that we understand better is sequences like $(k\sqrt{2} \bmod 1)_{k = 1}^\infty$ ($x \bmod 1$ just means the fractional part of $x$). By &lt;a href=&quot;http://en.wikipedia.org/wiki/Weyl%27s_criterion#Weyl.27s_criterion&quot; rel=&quot;nofollow&quot;&gt;Weyl's ergodicity criterion&lt;/a&gt;, we know that for any Lebesgue integrable function $f$, the average&#xA;$$&#xA;\overline{f}_n = \frac{1}{n-1}\sum_{k = 0}^{n-1}{f(k\sqrt{2} \bmod 1)},&#xA;$$&#xA;converges to the expectation $\mathbb{E}[f(x)]$, where $x$ is a uniformly sampled random number from $[0, 1]$. We also have deviation estimates: for $f$ the indicator function of an interval $I = [a, b]$, $a, b \in [0,1]$, the average $\overline{f}_n$ deviates from the expectation $b-a$ by $O((\log n)/n)$ in the worst case, and by $O(\sqrt{\log n}/n)$ on most intervals $[a, b]$ (&quot;most&quot; is measured by the natural product measure). Moreover, Beck has recently shown a &lt;a href=&quot;http://link.springer.com/article/10.1007/s10998-010-2137-9&quot; rel=&quot;nofollow&quot;&gt;central limit theorem&lt;/a&gt;, which quantifies the statement that numbers $n$ for which the deviation is large are very rare. For an intro to  the pseudorandomness properties of these sequences, check section 2.3. of &lt;a href=&quot;https://www.cs.princeton.edu/~chazelle/pubs/book.pdf&quot; rel=&quot;nofollow&quot;&gt;Chazelle's discrepancy book&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="4896" LastEditorUserId="4896" LastEditDate="2014-05-20T16:03:07.220" LastActivityDate="2014-05-20T16:03:07.220" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22605" PostTypeId="1" CreationDate="2014-05-19T21:25:17.207" Score="9" ViewCount="264" Body="&lt;p&gt;The setting is as follows:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We're given a stream of bits. At time $t$ you get to see bit $b_t$, and required to output $\widehat{s_t} \approx \Sigma_{i=0}^{N}b_{t-i}$ (i.e. approximately how many 1's appeared in the last $N$ bits).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This can easily be done in $O(1)$ time if $O(N)$ memory is allowed, but the interesting case is when only $m \ll N$ memory is allowed.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In their &lt;a href=&quot;http://ilpubs.stanford.edu:8090/504/1/2001-34.pdf&quot; rel=&quot;nofollow&quot;&gt;well cited paper&lt;/a&gt;, Datar et al. have given an algorithm for approximate counting of the number of 1's in a sliding window, computed over a stream of bits.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Their results include:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Every exact counting algorithm requires $\Omega(N)$ space.&lt;/li&gt;&#xA;&lt;li&gt;$(1+\epsilon)$-multiplicative algorithm that requires $O(\epsilon^{-1} \cdot \log N \cdot \log {(N\epsilon)})$ space and runs in amortized $O(1)$ time ($O(\log N)$ worst case).&lt;/li&gt;&#xA;&lt;li&gt;Every $(1+\epsilon)$-multiplicative algorithm requires $\Omega(\epsilon^{-1} \cdot \log^2{(N\epsilon)})$ space.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Now I think that if we relax the approximation requirement we can do much better - I have a simple algorithm which seems to (unless I'm missing something):&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Gives a $N\cdot \epsilon$-additive factor approximation (i.e. $s_t - N\cdot \epsilon\leq \widehat{s_t} \leq s_t + N\cdot \epsilon$). (Notice that this result is weaker than the multiplicative approximation).&lt;/li&gt;&#xA;&lt;li&gt;Requires only $O(\log(N\epsilon) + \epsilon^{-1})$ space and runs in $O(1)$ time worst case.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;I'm not familiar with this field, and don't know what changed since 2002, so my questions are:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Has there been work on additive approximation of number of bits in a sliding window?&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is the current state of the art result for this problem?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there practical usages that require specifically the multiplicative factor that makes the additive factor not interesting?&lt;/p&gt;&#xA;" OwnerUserId="21001" LastEditorUserId="21001" LastEditDate="2014-06-03T08:50:28.750" LastActivityDate="2014-06-03T08:50:28.750" Title="Additive error in counting the number of 1's in a sliding window?" Tags="&lt;ds.algorithms&gt;&lt;approximation-algorithms&gt;&lt;streaming-algorithms&gt;&lt;sliding-window&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="22606" PostTypeId="1" CreationDate="2014-05-19T23:52:41.730" Score="2" ViewCount="233" Body="&lt;p&gt;i am looking for literature on this kind of problem.&#xA;$$&#xA;\begin{align}&#xA;\min_x \max_k &amp;amp;\quad \sum_{i,j} x_{ij}c_{ijk}\\&#xA;\text{subject to}&amp;amp;\\&#xA;&amp;amp;\sum_j x_{ij}=1,&amp;amp;&amp;amp; \forall i\in\mathcal J\\&#xA;&amp;amp;x_{ij}\in\{0,1\},&amp;amp;&amp;amp; \forall i\in\mathcal J, j\in\mathcal M&#xA;\end{align}&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$\mathcal J$ is a set of Jobs and $\mathcal M$ is a set of Machines.&lt;/li&gt;&#xA;&lt;li&gt;$c_{ij}$ is a vector and describes the cost of the job $i$ on the machine $j$.&#xA;So the cost has multiple dimension.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The Aim of the programm is to find a schedule so that each job is scheduled on a machine and the biggest dimension of the add up cost vector is minimized. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem is described here:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://arxiv.org/pdf/1211.5729v2.pdf&quot; rel=&quot;nofollow&quot;&gt;http://arxiv.org/pdf/1211.5729v2.pdf&lt;/a&gt; (Page 2 left column bottom) as Generalized load balancing&lt;/p&gt;&#xA;&#xA;&lt;p&gt;and here:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download;jsessionid=A8FEB960E21CA0361066CD5200C02718?doi=10.1.1.380.8241&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;nofollow&quot;&gt;http://citeseerx.ist.psu.edu/viewdoc/download;jsessionid=A8FEB960E21CA0361066CD5200C02718?doi=10.1.1.380.8241&amp;amp;rep=rep1&amp;amp;type=pdf&lt;/a&gt; (Page 4 left column) as  generalized AP association&#xA;problem&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;load balancing can be generalized in several ways, i.e. restrict that each job can only run on a specific set of machines. &#xA;This is also a generalization of the scheduling problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm interested in the case where the scheduling is restricted and multidimensional.&#xA;I'm looking for more literature for this problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thank you&lt;/p&gt;&#xA;" OwnerUserId="22993" LastEditorUserId="976" LastEditDate="2014-06-26T16:21:42.037" LastActivityDate="2014-06-26T16:21:42.037" Title="Literature for Generalized Load Balancing" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;co.combinatorics&gt;&lt;linear-programming&gt;&lt;heuristics&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="22608" PostTypeId="1" CreationDate="2014-05-20T02:03:44.173" Score="4" ViewCount="158" Body="&lt;p&gt;It is known that monotone planar boolean circuits have a NC circuit value problem (in fact, &lt;a href=&quot;http://www.cse.iitb.ac.in/~nutan/papers/mpcvp-cc.pdf&quot;&gt;much more is known&lt;/a&gt;). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;What about &lt;strong&gt;non-boolean monotone planar&lt;/strong&gt; circuits?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Precisely, take $Q=\{0,...,n-1\}$ and any family of monotone functions $f_i:Q^2\rightarrow Q$ and consider planar circuits where gates are chosen among the $f_i$. What is known for such circuits?&lt;/p&gt;&#xA;" OwnerUserId="22855" LastActivityDate="2014-05-20T15:55:19.397" Title="Non-boolean monotone planar circuit value problem" Tags="&lt;circuit-complexity&gt;" AnswerCount="0" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="22609" PostTypeId="1" AcceptedAnswerId="22617" CreationDate="2014-05-20T03:18:47.417" Score="1" ViewCount="314" Body="&lt;p&gt;Consider the following inductive definition of &quot;ElProp&quot; in coq:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;Inductive El : Set :=&#xA;  | R1 : El&#xA;  | R2 : El&#xA;  | R3 : El.&#xA;&#xA;Inductive ElProp : El -&amp;gt; Prop :=&#xA;  | C1 : ElProp R1 -&amp;gt; ElProp R2&#xA;  | C2 : ElProp R2 -&amp;gt; ElProp R1&#xA;  | C3 : ElProp R3.&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Observing that &quot;(ElProp R1)&quot; is uninhabited, I state the following theorem:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;Theorem excircular : ElProp R1 -&amp;gt; 1&amp;gt;2.&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;I expect the theorem to be valid, much like the following theorem:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;Theorem exfalso : False -&amp;gt; 1&amp;gt;2.&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Since there are no inhabitants in &quot;False&quot;, inverting &quot;False&quot; is enough to prove &quot;exfalso&quot;. But how do I prove &quot;excircular&quot;? In general, how can we prove that circular propositions are uninhabited?&lt;/p&gt;&#xA;" OwnerUserId="19615" LastEditorUserId="19615" LastEditDate="2014-05-20T03:50:59.740" LastActivityDate="2014-10-01T19:59:51.360" Title="How to prove that a circular prop is uninhabited?" Tags="&lt;coq&gt;&lt;calculus-of-constructions&gt;" AnswerCount="2" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22611" PostTypeId="2" ParentId="22598" CreationDate="2014-05-20T08:42:55.947" Score="9" Body="&lt;p&gt;Avishy Carmi and Daniel Moskovich have been developing &lt;em&gt;tangle machines&lt;/em&gt; very recently, which is a topological model to describe information. There are &lt;a href=&quot;http://arxiv.org/abs/1404.2862&quot;&gt;two&lt;/a&gt; &lt;a href=&quot;http://arxiv.org/abs/1404.2863&quot;&gt;papers&lt;/a&gt; on the arXiv, as well as three introductory posts on the blog &quot;Low Dimensional Topology&quot; :&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://ldtopology.wordpress.com/2014/05/04/low-dimensional-topology-of-information/&quot;&gt;http://ldtopology.wordpress.com/2014/05/04/low-dimensional-topology-of-information/&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="4871" LastActivityDate="2014-05-20T08:42:55.947" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22613" PostTypeId="2" ParentId="22609" CreationDate="2014-05-20T15:01:11.137" Score="4" Body="&lt;p&gt;I think you need induction here to help you show that there is no term like &lt;code&gt;C2 (C1 (C2 (C1 ...&lt;/code&gt;. I also think you need to strengthen your induction hypothesis, because you don't just need to know that &lt;code&gt;ElProp C1&lt;/code&gt; is uninhabited, but that &lt;code&gt;ElProp C2&lt;/code&gt; is as well.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I proved this using an auxiliary lemma&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;code&gt;Theorem excircular_help : forall y, forall x:(ElProp y), y = R3.&lt;/code&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Try this and let me know if you get stuck.&lt;/p&gt;&#xA;" OwnerUserId="43" LastActivityDate="2014-05-20T15:01:11.137" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="22615" PostTypeId="2" ParentId="22558" CreationDate="2014-05-20T16:07:05.663" Score="2" Body="&lt;p&gt;Using the &lt;a href=&quot;https://en.wikipedia.org/wiki/Alias_method&quot; rel=&quot;nofollow&quot;&gt;alias method&lt;/a&gt; you can make do with $\lceil \log_2 (k+1) \rceil + 2$ bits &lt;em&gt;on average&lt;/em&gt;. In preprocessing you prepare a table of length $k+1$ in which each cell is partitioned into two parts by some threshold $\theta_i \in [0,1]$, and the &quot;lower&quot; and &quot;upper&quot; parts are labelled by outcomes. To sample, you first choose a uniformly random cell $i$, and then you sample (mentally) a uniformly random real in $[0,1]$, and compare it to the threshold, choosing either the lower label or the upper label accordingly. If you sample the real bit by bit, then at every point you have a chance of 1/2 to have determined whether you're above or below the threshold, so the total number of bits used is $\lceil \log_2 (k+1) \rceil + G(1/2)$.&lt;/p&gt;&#xA;" OwnerUserId="40" LastActivityDate="2014-05-20T16:07:05.663" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22616" PostTypeId="2" ParentId="22493" CreationDate="2014-05-20T16:39:40.123" Score="-3" Body="&lt;p&gt;(&quot;thinking outside the box&quot;...) this is a somewhat contrived problem involving DFAs (have not seen it studied elsewhere) but manifests a theme in TCS that even many apparently &quot;simple&quot; computational objects (like DFAs) can have complex properties, also an aspect/theme embodied in Rices theorem. (in some ways the ultimate &quot;complexity&quot; is &quot;undecidability&quot; aka Turing completeness.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;consider a family of DFAs and an &quot;exponentiation&quot; operator &quot;↑&quot;. this operator takes a regular expression (RE) &lt;em&gt;&quot;x↑n&quot;&lt;/em&gt; and repeats it $n$ times. ie for any RE $x$ and finite $n$, $x↑n$ is a RE (and therefore also a DFA). this operator is considered in various contexts and in some important problems eg one of the first problems proven EXPSPACE-complete.[1][2]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;now consider a family of DFAs $DFA_n$ which is built from a single RL expression $DFA'$ (not exactly/strictly a DFA) with embedded instances of the exponentiation operator in the form &lt;em&gt;&quot;↑n&quot;&lt;/em&gt; where here &lt;em&gt;&quot;↑n&quot;&lt;/em&gt; is a symbol (but otherwise $DFA'$ is a RL/DFA). then for every finite $n$, $DFA_n$, constructed by replacing/substituting the instances of &lt;em&gt;&quot;x↑n&quot;&lt;/em&gt; in $DFA'$ by &lt;em&gt;n&lt;/em&gt; repeated instances of &lt;em&gt;x&lt;/em&gt;, is also a RL (and a DFA). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;(now as usual let $\Sigma$ be the language symbol set/alphabet.) claim:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;the problem &quot;does there exist an $n$ such that $DFA_n ≠ \Sigma*$&quot; is undecidable.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;the claim follows from constructions in [1] where basically a regular expression is constructed using exponentiation that simulates a TM computation on a specific input iff it is not equal to the &quot;full language&quot; $\Sigma*$. the exponentiation is used to reflect the maximum tape width used in the TM computational tableau accepting the word in the language. this construction can also be found in [3]. a halting computation can be found iff there is a finite $n$ tape width for that computational tableau accepting the word.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;now, to tie this in more with the question, while this is not widely noted (considered trivial by some), many open problems in TCS/mathematics are tightly connected with undecidability in that given an oracle for the halting problem, they can be &quot;solved&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;therefore, in a sense, tying this all together using this basic problem about DFAs that is undecidable, there will &lt;em&gt;always&lt;/em&gt; be open problems about DFAs, because there will always be &quot;open&quot; problems about DFAs (such as this one) equivalent to undecidable problems. in fact using Rices theorem in reverse as this construction does in some ways, basically any relatively &quot;simple&quot; yet nontrivial computational property in TCS can be used to construct undecidable problems.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] &lt;a href=&quot;http://people.csail.mit.edu/meyer/meyer-stockmeyer-word-probs.pdf&quot; rel=&quot;nofollow&quot;&gt;Word problems requiring exponential time&lt;/a&gt; / Stockmeyer &amp;amp; Meyer&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] Meyer, A.R. and L. Stockmeyer. &lt;a href=&quot;http://people.csail.mit.edu/meyer/rsq.pdf&quot; rel=&quot;nofollow&quot;&gt;The equivalence problem for regular expressions with squaring requires exponential space.&lt;/a&gt; 13th IEEE Symposium on Switching and Automata Theory, Oct 1972, pp.125–129.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[3] &lt;a href=&quot;http://en.wikipedia.org/wiki/Introduction_to_Automata_Theory,_Languages,_and_Computation&quot; rel=&quot;nofollow&quot;&gt;Introduction to languages, automata and computation&lt;/a&gt; / Hopcroft/Ullman.&lt;/p&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="7884" LastEditDate="2014-05-20T16:46:21.227" LastActivityDate="2014-05-20T16:46:21.227" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="22617" PostTypeId="2" ParentId="22609" CreationDate="2014-05-20T19:00:51.323" Score="5" Body="&lt;p&gt;You should use &lt;code&gt;False&lt;/code&gt; instead of &lt;code&gt;1&amp;gt;2&lt;/code&gt; in the conclusion of the theorem. Using indirect ways of denoting an impossible proposition is an unnecessary complication. &lt;code&gt;False&lt;/code&gt; is the impossible proposition used in the standard library.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In order to prove that &lt;code&gt;ElProp R1&lt;/code&gt; is uninhabited, you need to prove that &lt;code&gt;ElProp R2&lt;/code&gt; is uninhabited, and vice versa. You need induction over &lt;code&gt;ElProp&lt;/code&gt;. The inductive property is that there is inhabitant of &lt;code&gt;ElProp R1&lt;/code&gt; or &lt;code&gt;ElProp R2&lt;/code&gt;. (You can also work on proving that there is no way to construct an object with &lt;code&gt;C1&lt;/code&gt; or &lt;code&gt;C2&lt;/code&gt;, but this is harder because they have different types.)&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;~(ElProp R1 \/ ElProp R2)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;In order to perform induction over &lt;code&gt;ElProp&lt;/code&gt;, you need to work in a generic inhabitant of &lt;code&gt;ElProp&lt;/code&gt;. It has the type &lt;code&gt;ElProp R&lt;/code&gt; for some &lt;code&gt;R : El&lt;/code&gt;. What we want to prove is that for such an inhabitant, &lt;code&gt;R&lt;/code&gt; cannot be &lt;code&gt;R1&lt;/code&gt; or &lt;code&gt;R2&lt;/code&gt;. Here's a way to state this:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;Lemma excircular : forall R, (R = R1 \/ R = R2) -&amp;gt; ~ElProp R.&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Now let's prove the lemma. First, expand the &lt;code&gt;~&lt;/code&gt; abbreviation for &lt;code&gt;fun A =&amp;gt; A -&amp;gt; False&lt;/code&gt;.&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;unfold not; intros.&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;We have a hypothesis of type &lt;code&gt;ElProp R&lt;/code&gt;, perfect for induction.&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;induction H0.&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;First the &lt;code&gt;C1&lt;/code&gt; case; it's an inductive case: the property we're working on works for an &lt;code&gt;ElProp R1&lt;/code&gt; because it works for the parameter (which is of type &lt;code&gt;ElProp R2&lt;/code&gt;), putting it all together with some straightforward first-order logic. We have a hypothesis of type &lt;code&gt;R2 = R1 \/ R2 = R2&lt;/code&gt;; once we've applied &lt;code&gt;IHElProp&lt;/code&gt;, the goal becomes &lt;code&gt;R1 = R1 \/ R1 = R2&lt;/code&gt;. I'll leave doing that manually as an exercise. The built-in tactic &lt;code&gt;tauto&lt;/code&gt; makes short work of this case, as well as the symmetric case for &lt;code&gt;C2&lt;/code&gt;.&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;tauto.&#xA;tauto.&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;For the &lt;code&gt;C3&lt;/code&gt; case, we need to show that the hypotheses are contradictory. We have a single hypothesis &lt;code&gt;R3 = R1 \/ R3 = R2&lt;/code&gt;. Each branch of the disjunction is an impossible equality because the constructors &lt;code&gt;R1&lt;/code&gt;, &lt;code&gt;R2&lt;/code&gt; and &lt;code&gt;R3&lt;/code&gt; are distinct.&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;destruct H. discriminate. discriminate.&#xA;Qed.&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Here's a shorter way of proving this lemma. All the intelligence we really need to provide is to use induction on the proper hypothesis, Coq can figure out the rest with some general hints.&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;Lemma excircular : forall R, (R = R1 \/ R = R2) -&amp;gt; ~ElProp R.&#xA;Proof.&#xA;  unfold not; intros.&#xA;  induction H0; firstorder discriminate.&#xA;Qed.&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Now we can prove the desired goal. Expand out the &lt;code&gt;~&lt;/code&gt; abbreviation, apply &lt;code&gt;excircular&lt;/code&gt; and let Coq fill in the details.&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;Theorem excircular1 : ~ElProp R1.&#xA;Proof.&#xA;  intro. eapply excircular; eauto.&#xA;Qed.&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;" OwnerUserId="634" LastEditorUserId="634" LastEditDate="2014-10-01T19:59:51.360" LastActivityDate="2014-10-01T19:59:51.360" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22618" PostTypeId="1" CreationDate="2014-05-20T19:21:22.927" Score="0" ViewCount="90" Body="&lt;p&gt;How can I show that zero-one programming is not in APX?&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Vertex Cover Problem is in the APX class. So can I try a PTAS-reduction from the&#xA;zero-one programming problem to Vertex Cover and show that there is no reduction&#xA;between these problems? &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Where to begin with?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;Does someone maybe know a paper with a similar topic?&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I would be grateful for any advice.&lt;/p&gt;&#xA;" OwnerUserId="23003" LastEditorUserId="23003" LastEditDate="2014-05-20T19:31:32.090" LastActivityDate="2014-05-20T19:31:32.090" Title="How can I show that zero-one programming is not in APX?" Tags="&lt;approximation-algorithms&gt;&lt;approximation-hardness&gt;&lt;approximation&gt;&lt;apx&gt;" AnswerCount="0" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="22619" PostTypeId="1" CreationDate="2014-05-20T19:56:34.200" Score="3" ViewCount="272" Body="&lt;p&gt;I am interested in a certain type of independent set I call an &quot;odd cover&quot;. A set of vertices is independent if no two vertices in the set are connected with an edge. A set of vertices is an &quot;odd cover&quot; if for any graph vertex, v, at least one vertex in the odd cover is an odd distance from v. The distance between two vertices is the minimum number of edges that connects them.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This question is related to the &lt;a href=&quot;http://home.comcast.net/~logiclab/EvenSat.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;Exactly 1 in 3 Satisfiability&lt;/a&gt; problem so I am mostly interested in triangular graphs. I would be interested in anything that can be said about independent sets that are odd covers. Has anyone seen anything similar? For example, is it NP-Hard to prove a graph has no independent set that is an odd cover? This is an example of an independent set that is an odd cover:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&#xA;a-b-d&#xA;|/ \|&#xA;c   e&#xA;|\ /|&#xA;f-g-h&#xA;&#xA;Odd cover: {a, d, f, h}&#xA;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;This corresponds to the X3SAT instance (a,b,c) (b,d,e) (c,f,g) (e,g,h). Any satisfying assignment will be a maximum weight independent set where the weight of a vertex is its degree. Of the seven satisfying assignments, only {a, d, f, h} is an odd cover.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I asked this &lt;a href=&quot;https://math.stackexchange.com/questions/796560/independent-sets-that-are-odd-covers&quot;&gt;question&lt;/a&gt; on SE and go no responses.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;An odd cover means any vertex in the graph is an odd distance from at least one vertex in the odd cover. In my example:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&#xA;Vertex - Vertex in Odd Cover&#xA;a - h&#xA;b - a&#xA;c - a&#xA;d - f&#xA;e - d&#xA;f - d&#xA;g - f&#xA;h - a&#xA;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;This is related to the X3SAT problem. Any satisfying assignment will be a maximum weight independent set, but only some of the solutions will also be odd covers. For example, {b,g} is a maximum weight independent set but is not an odd cover. Adding the clauses in the comments gives us (a,b,c)(b,d,e)(c,f,g)(e,g,h)(a,i,j)(j,k,l)(l,m,n). This has a maximum weight independent odd cover: {a,d,f,h,k,m}. A straight chain of triangles like (a,b,c)(c,d,e)(e,f,g)(g,h,i) can not have an odd cover.&lt;/p&gt;&#xA;" OwnerUserId="4881" LastEditorUserId="-1" LastEditDate="2017-04-13T12:19:19.363" LastActivityDate="2014-05-21T22:04:43.010" Title="Independent Sets that are Odd Covers" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;sat&gt;" AnswerCount="0" CommentCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="22621" PostTypeId="1" AcceptedAnswerId="22623" CreationDate="2014-05-20T23:23:00.743" Score="2" ViewCount="1230" Body="&lt;p&gt;Let's consider the following expression grammar that is ambiguous:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$E ::= E + E~|~a$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Although GLR parsing (recognition actually, I'm not interested in parse tree creation)&#xA;is worst case $O(n^3)$, but how does a GLR parser behaves on this grammar that is &#xA;not worst-case?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I suspect the complexity is $O(n^2)$ or close to it. Can anyone reason about the &#xA;complexity of this grammar in a generalized setting like GLR that explores all the paths?&lt;/p&gt;&#xA;" OwnerUserId="22893" LastActivityDate="2014-05-21T10:04:40.087" Title="Complexity of a GLR parser on an ambiguous grammar" Tags="&lt;complexity-classes&gt;&lt;parsing&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="22622" PostTypeId="2" ParentId="22587" CreationDate="2014-05-21T00:08:53.443" Score="6" Body="&lt;p&gt;Counting endomorphisms or fixed-point-free endomorphisms is complete for $\mathsf{FP}^{\mathsf{\# P}}$: given a connected graph $G$, consider the graph $G'$ which is the disjoint union of $G$ and a triangle. Then $|\text{End}(G')| = (|\text{End}(G)| + \# 3COL(G))(\#\{\text{triangles in } G\} + 3^3)$, so $\# 3COL$ can be computed using two endomorphism counts (and by a general result, even just one suffices) and some poly-time post-processing. Note that the number of triangles can be counted in cubic (or even matrix multiplication) time. The same equation holds for fixed-point free endomorphisms, since the 3-colorings and triangles are fixed-point-free endomorphisms of $G'$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you would like $G'$ to be connected, you can do as follows. First note that counting vertex-colored graph endomorphisms (where vertices of color $c$ can only be mapped to other vertices of color $c$) is equivalent to counting graph endomorphisms, as follows. Let the colors be $\{1,...,C\}$. For each vertex $v$ of color $c$, add in a new disjoint &lt;em&gt;odd&lt;/em&gt; cycle $C_v$ of size at least $n + 2c$ ($n=|V(G)|$), and connect one vertex of $C_v$ to $v$. Every endomorphism of $G$ corresponds to $2^n$ endomorphisms of the new graph (for each cycle, you have two choices of how to map it). Note that no vertices of $G$ can map to vertices of any $C_v$, since the cycles are too large (you'd have to be able to fit one cycle inside another, which you can't for odd cycles). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, to make a version of $G'$ that is connected, we start with a colored version, and then apply the above transformation. Start as before, by adding to $G$ a disjoint triangle $\Delta$. Now add a single new vertex $v_0$ that is connected to every vertex in $G \cup \Delta$. Color $v_0$ red and all other vertices blue. &lt;/p&gt;&#xA;" OwnerUserId="129" LastEditorUserId="129" LastEditDate="2014-05-21T09:56:19.757" LastActivityDate="2014-05-21T09:56:19.757" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="22623" PostTypeId="2" ParentId="22621" CreationDate="2014-05-21T00:26:27.573" Score="3" Body="&lt;p&gt;This example grammar is worst case ambiguity, unless I do not&#xA;understand what you mean by worst case ambiguity. Why do you think it&#xA;should not be? Try to analyse $a+a+a+a+a$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's time complexity is $O(n^3)$ with any general CF parser, such as&#xA;CKY, Earley, GLR, GLL, etc. However, you need only $O(n^2)$ space if&#xA;you do not keep parse-tree information (though I would have to check how you manage not to keep it in GLR ... it may require minor modification).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But then, if you are not interested in parse-trees, but only in&#xA;recognition, you should forget ambiguities, and just change it for a&#xA;regular grammar that recognizes the same language, in linear time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Reasonning with GLR is a bit of a pain. But you can do it easily&#xA;enough with CKY. There is no essential difference in principle (see&#xA;the second part of my &lt;a href=&quot;https://cstheory.stackexchange.com/questions/7374#18006&quot;&gt;answer to a previous question&lt;/a&gt;), but reasonning&#xA;with the more complex construction of GLR is more obfuscated.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Alternatively, take the code of a GLR parser, and add counters in&#xA;proper places. Then run a few example and you will see that it checks&#xA;with $O(n^3)$. The &lt;a href=&quot;http://www.aclweb.org/anthology-new/P/P89/P89-1018.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;last reference&lt;/a&gt; of the &lt;a href=&quot;https://cstheory.stackexchange.com/questions/7374&quot;&gt;question I answered&lt;/a&gt; actually&#xA;did that (though I do not recall which general CF parser flavors they&#xA;tried).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Answering comments, and sketching a proof:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Regarding worst case grammar, you suggest $S \rightarrow SSS \mid SS&#xA;\mid a$ given in a paper by Mark Johnson.  I do not have the paper&#xA;handy, but my guess is that he uses the $S \rightarrow SSS$ rule to&#xA;show that the complexity will $O(n^4)$ unless specific steps are taken&#xA;to binarize this rule (there are actually 2 ways to do it). The reason&#xA;is that the polynomial complexity exponent can be the length of the&#xA;longest right hand side (RHS), at least in non terminals. So he&#xA;deliberately uses a RHS with 3 non-terminals. Your example grammar&#xA;does not have that problem, and in that sense you can indeed consider&#xA;that it is not as bad. Johnson's example would be even worse with a RHS of length 4, or more.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I questioned your &quot;not a worst case&quot; statement because, it is easy to bring time complexity&#xA;down to $O(n^3)$ by binarization of right-hand sides, which is straightforward and changes&#xA;the trees only in an obvious and very readable way. However, in the&#xA;current state of the art, you cannot go below $O(n^3)$, unless you use&#xA;very complex recognition techniques that do not give you parse trees&#xA;and are based on a &lt;a href=&quot;http://repository.cmu.edu/cgi/viewcontent.cgi?article=2751&amp;amp;context=compsci&quot; rel=&quot;nofollow noreferrer&quot;&gt;reduction to matrix multiplication&lt;/a&gt; as&#xA;shown by Leslie Valiant in 1974.  Since then, the theoretical&#xA;&lt;a href=&quot;http://en.wikipedia.org/wiki/Computational_complexity_of_mathematical_operations#Matrix_algebra&quot; rel=&quot;nofollow noreferrer&quot;&gt;complexity of these multiplication algorithms&lt;/a&gt; has gone down fron the&#xA;$O(n^{2.807})$ of Strassen algorithm to $O(n^{2.373})$ of Williams&#xA;algorithm, though those faster than Strassen are unusable in practice.&#xA;It is not known (afaik) whether this bound can be brought down further.&#xA;These bounds can certainly apply to your grammar, as well as they do&#xA;to all others, but I would not call it &quot;parsing&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Going back to the more classical parsing algorithms, I guess one can&#xA;give a common proof based on the following remark: all classical&#xA;parsing algorithms are based on the (non-deterministic) pushdown&#xA;automaton (PDA) model (it is not always very visible, but it is always&#xA;there). The deterministic algorithms, like precedence, LR(k) or LL(k)&#xA;and their variants are just deterministic PDAs built in some&#xA;systematic way (when possible), that correspond to a technique using&#xA;the grammar to walk the (unique) parse-tree as efficiently as&#xA;possible. These techniques are limited to subclasses of CF grammars&#xA;and languages.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The general context-free parsing algorithms can handle all CF grammars&#xA;and languages. They are usually built using the very same techniques,&#xA;but the consruction accepts that there may be conflicts in the the&#xA;steps to be applied. These conflicts are simply non-deterministic&#xA;choices. But the construction is basically the same as in the deterministic case. That means that&#xA;the resulting non-deterministic PDA can walk all possible parse-trees,&#xA;sometimes having to walk parse-tree fragments that do not belong to a&#xA;full parse-tree (for example in unambiguous CF languages that are not&#xA;deterministic).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So these algorithms walk all parse-trees, independently of whether&#xA;they actually produce these parse-trees as output. There may be&#xA;exponentially many (even sometimes infinitely many) such parse trees.&#xA;The General CF parsers use a tabular (dynamic programming /&#xA;memoization) technique to share computation, in order to do the work&#xA;a bit faster. They all use the same tabular technique (from an&#xA;abstract point of view) and get all the same worst case complexity&#xA;$O(n^3)$. They may however differ on some example, for example if a&#xA;grammar falls in the domain wherhe one PDA construction gives a&#xA;dterministic PDA, while another does not. But they all have $O(n^3)$&#xA;time complexity when there are exponentially many parse trees as in&#xA;your example.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I do not believe I ever encountered a parsing algorithm that does not&#xA;fall in this schematic description (up to some bells and whistles). This is essentially the basis of the work in the &lt;a href=&quot;http://www.aclweb.org/anthology-new/P/P89/P89-1018.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Billot &amp;amp; Lang paper&lt;/a&gt; cited above.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, as I said, if you are not interested in parse-tree, you can&#xA;always modify one of these algorithms to do better in some cases. For&#xA;example, as I said, the rules $S \rightarrow SS \mid a$ could be&#xA;noticed by the recognizer (no longer parser) construction&#xA;technique, and replaced by the simpler rules $S \rightarrow aS \mid&#xA;a$. But then it is no longer the same &quot;parsing&quot; algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For an analysis of tree sharing into forests and the effect on parsing complexity, you may want to read&#xA;&quot;Observations on Context Free Parsing&quot; by Beau Sheil In Statistical&#xA;Methods in Linguistics, 1976:71-109. The point is that all general CF&#xA;parsing algorithms walk this shared forest completely. And it has size&#xA;$O(n^3)$ for your example grammar.&lt;/p&gt;&#xA;" OwnerUserId="16132" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2014-05-21T10:04:40.087" CommentCount="12" ContentLicense="CC BY-SA 3.0" />
  <row Id="22624" PostTypeId="2" ParentId="22578" CreationDate="2014-05-21T00:37:10.893" Score="4" Body="&lt;p&gt;Adding to shaunc's answer: the first program (idealized over integers rather than &quot;machine&quot; integers) is a &lt;em&gt;linear recurrence&lt;/em&gt;, and it turns out there are some very general methods for solving those:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Recurrence_relation#Solving&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/Recurrence_relation#Solving&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that this is similar to a discrete version of differential equations, so things get complicated rather fast, and non-linear relations are quite hard in general (undecidable in fact).&lt;/p&gt;&#xA;" OwnerUserId="3984" LastActivityDate="2014-05-21T00:37:10.893" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="22626" PostTypeId="1" CreationDate="2014-05-21T03:52:03.047" Score="-1" ViewCount="480" Body="&lt;p&gt;I was wondering if there is any known complexity of problem for which primitive recursive functions cannot solve. One such problem might be &quot;is N the ackermann function for $k_1$ $k_2$&quot; as it seems one would need to compute the ackermann function for $k_1$ and $k_2$ to decide this. It also seems that the traveling salesman problem can be solved using a primitive recursive function (I didn't try. it just seems possible by generating all permutations and checking each one). So it seems that I have a very hard problem to solve which can't be solved by primitive recursion and one very hard problem to solve which can be (I think). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;So what complexity of problems can be solved by primitive recursion, what complexity of problems cannot? Perhaps NP-hard problems are solvable with primitive recursion but not as efficiently?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;edit:&#xA;It seems that my suspicion &quot;Perhaps NP-hard problems are solvable with primitive recursion but not as efficiently&quot; was correct. If this is the case which problems are solvable as efficiently with a turing machine as with primitive recursion?&lt;/p&gt;&#xA;" OwnerUserId="21112" LastEditorUserId="21112" LastEditDate="2014-05-21T18:28:11.613" LastActivityDate="2014-05-21T18:28:11.613" Title="Complexity of problems solvable by primitive recursion" Tags="&lt;cc.complexity-theory&gt;&lt;computability&gt;" AnswerCount="2" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="22627" PostTypeId="2" ParentId="22626" CreationDate="2014-05-21T05:51:43.110" Score="1" Body="&lt;p&gt;The class $PR$ (primitive recursive functions) strictly contains the class $ELEMENTARY = TIME(2^n) \cup TIME(2^{2^n}) \cup TIME(2^{2^{2^n}}) \cup \dots$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You say &quot;Perhaps NP-hard problems are solvable with primitive recursion but not as efficiently.&quot;  This is true.  Even the &lt;em&gt;total&lt;/em&gt; recursive function model of computation does not carry a notion of time complexity that agrees with that of Turing Machines.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To see a simple example, how do you define the predecessor function in primitive recursive terms?  You'd have to do something like: use the unbounded search operator to find the smallest $y$ such that $S(y) = x$.  That is analogous to computing $f(x) = x-1$ with the function:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$i = 0$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$While \, (i + 1 \ne x) \, \, \, \, i++$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Which takes $2^n$ time.  Obviously, there is a better way!&lt;/p&gt;&#xA;" OwnerUserId="11051" LastActivityDate="2014-05-21T05:51:43.110" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="22628" PostTypeId="2" ParentId="22266" CreationDate="2014-05-21T08:00:46.450" Score="8" Body="&lt;p&gt;Mainly, there exist 3 benchmarks to test shop scheduling problems.&lt;br&gt;&#xA;Namely they are Taillard, Structured and ORLib benchmarks. These benchmarks have different&#xA;goals. The Taillard benchmark is the most&#xA;used benchmark in the literature. The benchmark targets permutation flowshop, flowshop, open shop and job shop scheduling problems. For details and download of the benchmark refer to &lt;a href=&quot;http://www.lifl.fr/~liefooga/benchmarks/benchmarks/&quot; rel=&quot;noreferrer&quot;&gt;http://www.lifl.fr/~liefooga/benchmarks/benchmarks/&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The second benchmark shop scheduling problems is the structured benchmark. As&#xA;the name suggests, the goal of the benchmark is to have test instances having a structure&#xA;additional to the test instances with random instances. It contains all the instances from&#xA;the Taillard benchmark. Further details and the benchmark can be found at &lt;a href=&quot;http://www.cs.colostate.edu/sched/generator/&quot; rel=&quot;noreferrer&quot;&gt;http://www.cs.colostate.edu/sched/generator/&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The third benchmark focuses on collecting test cases found difficult to solve in&#xA;industry. We refer to this benchmark as ORLib benchmark. Contains instances from&#xA;Taillard + some instances from industry. More details and benchmarks can be found at &lt;a href=&quot;http://people.brunel.ac.uk/~mastjjb/jeb/orlib/flowshopinfo.html&quot; rel=&quot;noreferrer&quot;&gt;http://people.brunel.ac.uk/~mastjjb/jeb/orlib/flowshopinfo.html&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="20614" LastEditorUserId="20614" LastEditDate="2014-05-23T10:43:13.597" LastActivityDate="2014-05-23T10:43:13.597" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22630" PostTypeId="1" CreationDate="2014-05-21T09:36:56.847" Score="0" ViewCount="168" Body="&lt;p&gt;Is anything known about ExpSpace problems whose configuration reachability problems are in P/poly?&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Let $M$ be an ExpSpace machine. &#xA;  Given two configurations $a$ and $b$ of $M$ (of max length), and an integer $t$,&#xA;  can $M$ reach $b$ from $a$ in $t$ steps?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Note that the length of $a$, $b$ and $t$ are exponentially large in terms of the length of the input to $M$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;So the P/poly machine runs exponential time with an exponentially-long advice string. But it should not be something like $\mathsf{EXPSPACE} \cap \mathsf{EXP/exp}$ (and thus simply EXPSPACE) for obvious reasons.&lt;/p&gt;&#xA;" OwnerUserId="23013" LastEditorUserId="186" LastEditDate="2014-05-21T23:20:41.740" LastActivityDate="2014-05-21T23:20:41.740" Title="ExpSpace problems whose configuration reachability problems are in P/poly?" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;advice-and-nonuniformity&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="22631" PostTypeId="1" CreationDate="2014-05-21T10:01:18.727" Score="0" ViewCount="141" Body="&lt;p&gt;Given an unweighted tree $T=(V,E)$ what is the minimum number of distance oracles that allow to detect the position in the graph of every node $v$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A distance oracle is &quot;special node&quot; $u$ of the graph that represents a function $d(u,v)$ giving the distance from $u$ to $v$ in constant time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have the intuition that this problem is strictly related to all pair shortest path problem, in particular to the Dijkstra algorithm, but can't find a valid algorithm to detect the oracles.&#xA;Also a backtracking procedure comes to mind for this kind of problem. Maybe you have a better intuition.&lt;/p&gt;&#xA;" OwnerUserId="21967" LastEditorUserId="21967" LastEditDate="2014-05-21T12:49:28.193" LastActivityDate="2014-05-21T12:49:28.193" Title="Distance oracles in trees" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;shortest-path&gt;" AnswerCount="0" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="22633" PostTypeId="2" ParentId="22626" CreationDate="2014-05-21T13:50:28.683" Score="2" Body="&lt;p&gt;See &quot;&lt;em&gt;Complexity  Hierarchies Beyond Elementary&lt;/em&gt;&quot; by Schmitz, cf. &lt;a href=&quot;http://arxiv.org/abs/1312.5686&quot; rel=&quot;nofollow&quot;&gt;1312.5686 [cs.CC]&lt;/a&gt; at arxiv. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It deals with complexity beyond elementary, but also beyond primitive recursive (and beyond that too). There you'll find classes and example of complete problems.&lt;/p&gt;&#xA;" OwnerUserId="16371" LastActivityDate="2014-05-21T13:50:28.683" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22638" PostTypeId="1" CreationDate="2014-05-22T18:41:34.693" Score="2" ViewCount="172" Body="&lt;p&gt;In the paper &lt;a href=&quot;http://www.cs.cornell.edu/home/kleinber/nips15.pdf&quot; rel=&quot;nofollow&quot;&gt;An Impossibility Theorem for Clustering&lt;/a&gt;, Jon Kleinberg introduced an axiomatic framework for clustering and showed that his set of axioms are inconsistent. One of the axioms is the &lt;em&gt;Richness Axiom&lt;/em&gt;: any partition of the input can be produced by some distance function. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Isn't the richness axiom unnatural?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The axiom implies that both trivial partitions: the one which puts all elements in the same cluster, and the one in which each cluster is a singleton, are both considered as valid clusterings. However, this is counter-intuitive in real life situations. In many (i guess most) real life situations we wouldn't have both these clusterings considered as valid simultaneously. so i guess the richness axiom could be modified. do we truly need  all partitions to be considered as valid clusterings? &lt;/p&gt;&#xA;" OwnerUserId="23027" LastEditorUserId="23027" LastEditDate="2014-05-23T19:34:38.613" LastActivityDate="2014-09-11T21:18:29.117" Title="an axiomatic framework for clustering by jon kleinberg may have a problem?" Tags="&lt;clustering&gt;" AnswerCount="1" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="22639" PostTypeId="1" AcceptedAnswerId="22680" CreationDate="2014-05-22T19:04:07.563" Score="6" ViewCount="798" Body="&lt;p&gt;Is there an efficient algorithm to reduce the bandwidth of a directed graph's adjacency matrix? Something like the reverse Cuthill-McKee, but for non-symmetric matrices.&lt;/p&gt;&#xA;" OwnerUserId="23028" LastEditorUserId="2367" LastEditDate="2014-05-25T20:44:35.380" LastActivityDate="2014-11-11T23:04:30.170" Title="Reducing the bandwidth of non-symmetric matrix" Tags="&lt;reference-request&gt;&lt;graph-algorithms&gt;&lt;matrices&gt;&lt;sparse-matrix&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="22640" PostTypeId="1" AcceptedAnswerId="22643" CreationDate="2014-05-22T20:02:02.690" Score="2" ViewCount="1206" Body="&lt;p&gt;I have a lot of difficulties with constructing algorithms that use $O(\log n)$ space, as I am unsure about how much can be stored on the worktape. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am trying to figure out an algorithm for the problem:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;UCYCLE = {&amp;lt;G&amp;gt;|G is an undirected graph that contains a simple cycle}&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;I can't seem to understand how to create an algorithm in logspace that can solve this problem. In my head, it has to store all the previously visited nodes (since it can't visit the same node twice). Also, I am really stuck on how to start searching, when I can't use non-determinism. Can someone help me with some pointers on how to go forward so I can figure out an algorithm? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;(PS: This is not homework, but I need to understand how to create algorithms for problems in L and NL)&lt;/p&gt;&#xA;" OwnerUserId="23030" LastEditorUserId="6579" LastEditDate="2014-05-23T07:13:23.977" LastActivityDate="2014-05-23T07:42:41.240" Title="Detecting undirected cycles in logarithmic space" Tags="&lt;logspace&gt;" AnswerCount="1" CommentCount="7" ClosedDate="2014-05-23T11:46:44.020" ContentLicense="CC BY-SA 3.0" />
  <row Id="22643" PostTypeId="2" ParentId="22640" CreationDate="2014-05-23T07:42:41.240" Score="5" Body="&lt;p&gt;For the undirected cycle problem, you can traverse each connected component: at each node, when coming in through edge $k$, leave through edge $k+1$. (We can assume edges are ordered at each vertex.) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now vou start such a traversal once from every node $v$, remembering only $v$ and the edge you left $v$ through. If the traversal returns to $v$ through a different edge, then $v$ lies on a cycle. If this is not the case for all $v$, then the graph is acyclic. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In general, in a logarithmic space algorithm you can only store constantly many pointers into the input and counters. &lt;/p&gt;&#xA;" OwnerUserId="6579" LastActivityDate="2014-05-23T07:42:41.240" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22645" PostTypeId="1" CreationDate="2014-05-23T09:20:46.333" Score="1" ViewCount="285" Body="&lt;p&gt;When using canonical correlation analysis (CCA), we can integrate the dataset and label information via transforming the class label matrix &lt;em&gt;Y&lt;/em&gt; into the class indicator matrix &lt;em&gt;T&lt;/em&gt;. Such as: $T = (YY^T)^½Y$ in [this article on LS CCA][1].&lt;/p&gt;&#xA;&#xA;&lt;p&gt;While for the numeric dataset and the binary dataset, the binary dataset can be viewed as the class label matrix and transformed into the class indicator matrix. After that, should I use the CCA? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Though without this transformation, [the CCA can be used][2], I'd like to know how to explian this kind of transformation once using it on the binary dataset (not label matrix). Thank you.&lt;/p&gt;&#xA;" OwnerUserId="23038" LastActivityDate="2014-05-23T09:20:46.333" Title="What's the meaning of the class indicator matrix when transforming the class label matrix into it in canonical correlation analysis?" Tags="&lt;machine-learning&gt;&lt;st.statistics&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="22648" PostTypeId="1" AcceptedAnswerId="22652" CreationDate="2014-05-23T14:32:35.607" Score="0" ViewCount="1007" Body="&lt;p&gt;While it is trivial to prove contraposition&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;∀ A B: Prop, (A → B) → (~B → ~A)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;using Coq, is it equally trivial to prove the reversed form:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;∀ A B: Prop, (~A → ~B) → (B → A)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;? In particular, is it doable without using any additional axioms, e.g. from classical logic?&lt;/p&gt;&#xA;" OwnerUserId="23043" LastActivityDate="2014-05-23T16:08:48.030" Title="Reverse contraposition" Tags="&lt;coq&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22649" PostTypeId="1" CreationDate="2014-05-23T14:36:43.223" Score="0" ViewCount="100" Body="&lt;p&gt;Consider the following problem: we are given $K$ tasks $\langle n_1, n_2, ..., n_K \rangle$. Every task $n_i$ is qualified with two parameters: &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;The time it takes to be completed ($t_i$) and,&lt;/li&gt;&#xA;&lt;li&gt;The utility of completing it, $u_i$. Let us assume that $u_i$ is a scalar value which represents a revenue that is obtained after completing task $n_i$ (so that we are &lt;em&gt;rewarded&lt;/em&gt; $u_i$ after $t_i$).&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;All tasks are affordable and there are no constraints among them. Once one is started it has to be completed before permuting to a different one. It is clear that the total revenue is constant and it is equal to $U=\sum\limits_{i=1}^K u_i$. It is also obvious that this reward will be obtained in a total time equal to $T=\sum\limits_{i=1}^K t_i$. &lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;We are interested, however, in computing the best arrangement (or permutation) of the $K$ tasks that anticipates the rewards as much as possible&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Two quick questions:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;What are the known approaches to this problem?&lt;/li&gt;&#xA;&lt;li&gt;What if $u_i$ is defined as a function over time so that we are rewarded while we are completing the task?&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;What follows is a particular attempt to put the problem on a formal basis so that comments to this part would be also very welcome. Answers are not expected to necessarily go along the same lines:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For a particular arrangement $\pi:\langle n_1, n_2, ..., n_K \rangle$ let us $X$ denote the random variable that represents the utility over the interval $(0,T]$. Thus, let $f_{\pi, t} = p(X=x,t)$ denote the probability that the random variable $X$ is exactly equal to $x$ in the instant $t\leq T$. This reasoning suggests that the optimization metric should be the area inscribed by the &lt;em&gt;density function&lt;/em&gt;: $F_{\pi, t}=p(X\leq x, t)$. Both $f$ and $F$ are subscripted with $\pi$ and $t$ because every problem defines different curves and different values of $t$ yield different results.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This would lead to the following formal definition of our problem:&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Given $K$ tasks $\langle n_1, n_2, ..., n_K \rangle$ each qualified with the utility $u_i$ of completing it and the time required to complete it, $t_i$ find the optimal permutation $\pi^*$ among the $K!$ plausible permutations $\pi$ such that the following is maximized:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\sum\limits_{t=1}^T F_{\pi,t}$&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Thank you very much,&lt;/p&gt;&#xA;" OwnerUserId="6242" LastEditorUserId="1846" LastEditDate="2014-05-23T15:09:12.657" LastActivityDate="2014-05-23T15:09:12.657" Title="Are there any approaches to the following scheduling problem?" Tags="&lt;ds.algorithms&gt;&lt;optimization&gt;&lt;scheduling&gt;" AnswerCount="0" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="22650" PostTypeId="1" CreationDate="2014-05-23T15:45:27.693" Score="7" ViewCount="224" Body="&lt;p&gt;Consider the following scheduling problem:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;input:&lt;/strong&gt; &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;set of computations $C = \{c_1, ..., c_n\}$ &lt;/li&gt;&#xA;&lt;li&gt;set of computing nodes $P = \{p_1, ..., p_n\}$&lt;/li&gt;&#xA;&lt;li&gt;Dependency graph $D$ between jobs (DAG) $(c_i,c_j)$ means $c_i$ depends on/reads $c_j$ &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;output:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Schedule S = subset of $C \times [1,n]$ where $(c_i,k)$ means that job $c_i$ will be executed in timeslot $k$&#xA;the following conditions hold:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;precisely one timeslot per job&lt;/li&gt;&#xA;&lt;li&gt;dependencies have lower timeslots&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Now, we want to minimize the cost of the schedule:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$cost(c_i,S) = |\{ k \mid (c_j,k) \in S \wedge (c_i, c_j) \in D \}|$&#xA;i.e. the cost of a job is the number of levels where it is read&lt;/li&gt;&#xA;&lt;li&gt;$totalCost(S) = \sum_{c_i \in C} cost(c_i,S)$&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Hence, we want to calculate the best way of assigning the computations to timeslots, such that the number of reads are minimized. Note that the number of computing nodes is irrelevant.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I cannot seem to find any papers on this specific problem. Does anyone know whether this has been investigated? It seems it has to be... :) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;we can rephrase this as a graph problem:&#xA;Consider a DAG $G = (V,E)$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A &lt;strong&gt;schedule&lt;/strong&gt; is a mapping $S:V\rightarrow\mathbb{N}$ which assigns a number to each node, such that if $v_1$ is reachable from $v_2$, then $S(v_1) &amp;lt; S(v_2)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Define the &lt;strong&gt;cost&lt;/strong&gt; of a node $v_1$ is defined as $cost(v_1) = |\{S(v_2) \mid (v_2,v_1) \in E\}|$, i.e., the number of different numbers that are assigned to parent nodes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem: find a schedule S that &lt;strong&gt;minimizes the total cost&lt;/strong&gt; over the nodes.&lt;/p&gt;&#xA;" OwnerUserId="9127" LastEditorUserId="9127" LastEditDate="2014-05-26T11:55:54.173" LastActivityDate="2014-06-03T12:05:07.723" Title="Job scheduling: minimizing number of reads" Tags="&lt;optimization&gt;&lt;dc.distributed-comp&gt;&lt;scheduling&gt;" AnswerCount="3" CommentCount="11" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="22651" PostTypeId="1" AcceptedAnswerId="22659" CreationDate="2014-05-23T15:50:24.027" Score="5" ViewCount="91" Body="&lt;p&gt;I found &lt;a href=&quot;http://www.rle.mit.edu/dspg/documents/CircuitImplementation.pdf&quot;&gt;this paper of Cuomo and Oppenheim&lt;/a&gt;, where they use a Lorenz system to define an encryption scheme for signals. There is also &lt;a href=&quot;http://logicaltightrope.com/2013/09/01/sending-your-secrets-safely-with-chaos/&quot;&gt;this blog post&lt;/a&gt; describing and implementing the technique. The technique uses an interesting property of the Lorenz system known as &quot;synchronization,&quot; which as far as I know occurs in other dynamical systems as well. Moreover, the chaotic nature of these systems intuitively makes guessing the parameters of the system infeasible, so a natural shared secret key is the set of constants used to define the system.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I was wondering if there has been any theoretical work in cryptography that deals with dynamical systems. Specifically, are there established cryptographic hardness assumptions for specific dynamical systems? It seems like it would be a different flavor of hardness assumption from the usual ones, because the methods naturally introduce some noise into the decrypted message.&lt;/p&gt;&#xA;" OwnerUserId="7091" LastActivityDate="2014-05-24T01:06:06.313" Title="Are there established cryptographic hardness assumptions for chaotic systems?" Tags="&lt;cr.crypto-security&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22652" PostTypeId="2" ParentId="22648" CreationDate="2014-05-23T16:08:48.030" Score="3" Body="&lt;p&gt;It is not provable without additional axioms. In fact, it implies double negation elimination (take $B=\top$), which in turn is equivalent to the excluded middle.&lt;/p&gt;&#xA;" OwnerUserId="3984" LastActivityDate="2014-05-23T16:08:48.030" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="22655" PostTypeId="1" CreationDate="2014-05-23T18:03:49.197" Score="4" ViewCount="558" Body="&lt;p&gt;An &quot;algorithm&quot; for calculating $ax+b$ would take the steps&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Calculate &lt;em&gt;$a$ times $x$&lt;/em&gt;&lt;/li&gt;&#xA;&lt;li&gt;Calculate &lt;em&gt;$b$ plus the result of previous line&lt;/em&gt;.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;But if the values of $a$ and $b$ are known, can we create a more efficient algorithm for the task?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course, when $a = 1$, I can optimize the previous algorithm by simply skipping the first step, and when $b = 0$, an optimization would be to skip step 2. But is there always an optimization that I can do?&lt;/p&gt;&#xA;&#xA;&lt;h3&gt;More formally&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;Let $originalAlgorithm$ be the two-step algorithm above. What I want is a meta-algorithm, $M$ that &#xA;$$&#xA;M(a,b) = optimizedAlgorithm&#xA;$$&#xA;and, of course,&#xA;$$&#xA;optimizedAlgorithm(x) = originalAlgorithm(x) = ax+b&#xA;$$&#xA;but $optimizedAlgorithm$ is more time-efficient than $originalAlgorithm$.&lt;/p&gt;&#xA;" OwnerUserId="22655" LastEditorUserId="22655" LastEditDate="2015-04-13T17:54:20.350" LastActivityDate="2015-04-13T17:54:20.350" Title="Is it possible to optimize the calculation of $ax+b$ once I know $a$ and $b$?" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;optimization&gt;&lt;time-complexity&gt;" AnswerCount="3" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="22656" PostTypeId="2" ParentId="22655" CreationDate="2014-05-23T21:05:04.420" Score="8" Body="&lt;p&gt;I think the answer to your question is dependent on the exact setting&#xA;of your problem, and in particular the representations you intend to&#xA;use for $a$, $b$, and $x$, as well as the available elementary&#xA;operations on these representations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What you want to consider is a partial evaluation of the expression&#xA;$ax+b$ when $a$ and $b$ are known. As you remarked, there does not&#xA;seem to be much to be done when the elementary operations are addition&#xA;and product themselves, except for a few specific values such as the&#xA;identities of addition and product, in which case &lt;strong&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Partial_evaluation&quot; rel=&quot;nofollow&quot;&gt;partial evaluation&lt;/a&gt;&lt;/strong&gt;&#xA;can eliminate one of the two operations (or both).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you express these operation as algorithms on specific&#xA;representations, you can go further in that direction. For example, if&#xA;you consider integers represented by sequences of bits (which is not&#xA;too uncommon), product is then an algorithm that uses shifting and&#xA;binary additions, depending on the binary representation of $a$. The&#xA;general algorithm can be specialized for the given value of $a$ and&#xA;then possibly optimized, according possibly to whathever specificities&#xA;are discovered. I am not sure how much gain can be expected in this&#xA;case, but this is how I would start analysing it. This is just &lt;strong&gt;partial&#xA;evaluation&lt;/strong&gt; applied to the computation expressed at a more elementary&#xA;level.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This applies more generally to the whole expression, or any&#xA;expression, when developed into more elementary operations. Note that&#xA;you do not assert that $a$, $b$, and $x$ are integers, or even real numbers. They could be matrices, for example, or complex numbers.&lt;/p&gt;&#xA;" OwnerUserId="16132" LastEditorUserId="22655" LastEditDate="2014-06-04T19:44:46.833" LastActivityDate="2014-06-04T19:44:46.833" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22657" PostTypeId="1" CreationDate="2014-05-23T23:13:26.753" Score="0" ViewCount="266" Body="&lt;p&gt;I am asking the following: which of the 'famous' computer science results have been thoroughly checked, and for which ones is the correctness still uncertain?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I understand that some proofs are hard to check due to their length, intricacy or technicality, and in some cases an elementary proof was found after the first published one (such as Dinur's proof of the PCP theorem). Apparently, some of the longest proofs in CS are the SPGT by Chudnovsky et al., and the Graph Minors series of papers by Robertson-Seymour, and I understand that there is an ongoing effort to simplify the latter.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The same question applies to mathematics where there are some very long proofs, such as the CFSG, which correctness is debated by experts: see &lt;a href=&quot;http://en.wikipedia.org/wiki/List_of_long_proofs&quot; rel=&quot;nofollow&quot;&gt;List of long proofs&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="23048" LastActivityDate="2014-05-23T23:13:26.753" Title="Famous computer science results which correctness is uncertain?" Tags="&lt;proofs&gt;" AnswerCount="0" CommentCount="8" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="22659" PostTypeId="2" ParentId="22651" CreationDate="2014-05-24T01:06:06.313" Score="4" Body="&lt;p&gt;Personally, I wouldn't bother with chaos-based encryption.  I have yet to see any scheme based upon chaos that strikes me as very promising from either a practical or a theoretical perspective.  The work on using chaos for encryption that I've seen ranks pretty high on my &quot;bogometer&quot;.  I never see any sort of security proof or plausible evidence of security, and many such systems turn out to be broken when you take a close look.  And I find it hard to see any benefit over standard well-known approaches (e.g., CBC mode encryption; information-theoretic work based upon Wyner's wiretap channel; etc.).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But if you want to find something in this space, you might look at the following paper:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://www.cs.ucsb.edu/~tessaro/papers/wiretap-proc.pdf&quot; rel=&quot;nofollow&quot;&gt;Semantic Security for the Wiretap Channel&lt;/a&gt;.  Mihir Bellare, Stefano Tessaro, and Alexander Vardy.  CRYPTO 2012.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;It has plenty of theoretical/foundational content, and is in the vicinity of the sort of thing you mention.&lt;/p&gt;&#xA;" OwnerUserId="5038" LastActivityDate="2014-05-24T01:06:06.313" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="22660" PostTypeId="1" AcceptedAnswerId="25020" CreationDate="2014-05-24T01:54:47.327" Score="2" ViewCount="172" Body="&lt;p&gt;Given a $k$-regular graph $G$, the number of acyclic orientations $Acy(G)$ is $\chi(-1)$ where $\chi$ is the chromatic polynomial of $G$. How many bipolar orientations does $G$ have? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there an upper bound for it? I assume it should be exponentially lower than $Acy(G)$ but didn't succeed in finding a known result connecting these two numbers.&lt;/p&gt;&#xA;" OwnerUserId="17991" LastActivityDate="2014-06-25T23:14:58.277" Title="An upper bound over the number of bipolar orientations for a regular graph" Tags="&lt;graph-theory&gt;&lt;polynomials&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="22661" PostTypeId="2" ParentId="22655" CreationDate="2014-05-24T06:12:51.070" Score="10" Body="&lt;p&gt;I would rephrase the question as follows: &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Consider the function $F$ and the family of functions $F_{a,b}$ defined as &#xA;  $$F_{a,b}(x) = F(a,b,x) =ax+b.$$&lt;br&gt;&#xA;  Can we compute $F_{a,b}$ faster than the complexity of $F$?&lt;br&gt;&#xA;  If yes, given $a$ and $b$, can we algorithmically find such an algorithm?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;As babou wrote I think the answer depends on your computation model. &#xA;Let me explain one case:&#xA;Consider polynomial size circuits with unbounded fan-in AND, OR, and NOT gates. &#xA;Time is defined as the depth of the circuit.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$F$ is complete for $\mathsf{TC}^0$, so it requires super-constant depth, the best known upper-bound requires roughly depth $\lg n/\lg \lg n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we fix $a,b$ then $F_{a,b}$ is in $\mathsf{AC^0}$ and therefore can be computed by a constant depth circuit. &#xA;But the depth is constant only in $n$, not in $a,b$.&#xA;Can we obtain a dependence of depth on $a$ and $b$ which is better than the more uniform case? The answer is no.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another model is algebraic circuits with binary plus and times gates and constants. &#xA;$F$ can be computed in depth $2$.&#xA;It is easy to see that $F_{a,b}$ cannot be computed in depth $1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now assume a modified algebraic model where we have unbounded fan-in gates.&#xA;Now $F_{a,b}$ can be computed in depth $1$ by applying addition on $a$ copies of $x$ and one copy of $b$ in one step. $F$ still requires depth $2$.&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2014-05-24T06:19:21.730" LastActivityDate="2014-05-24T06:19:21.730" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22662" PostTypeId="1" CreationDate="2014-05-24T08:10:31.737" Score="10" ViewCount="317" Body="&lt;p&gt;I am interested in algorithms for finite groups as implemented in the GAP package. It seems that all known algorithms in this field deal with permutation groups/matrix groups; two fundamental ones are Schreier-Sims [1970] and Butler [1979], see e.g. 'Algorithms for Permutation groups' by Alice Niemeyer as a possible reference (?)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hence, I was wondering whether there had been significant progress in the field in the last 50 years. I've seen that user NisaiVloot asked some questions about braid groups that may constitute an interesting extension of known results about permutation groups, though it's unclear to me what is the current state of research in this field as the mathematics/algorithmics communities seem somewhat out-of-sync nowadays.&lt;/p&gt;&#xA;" OwnerUserId="23051" LastActivityDate="2014-05-26T05:00:09.747" Title="Recent progress in permutation groups algorithms?" Tags="&lt;permutations&gt;&lt;gr.group-theory&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="22664" PostTypeId="1" CreationDate="2014-05-24T13:40:53.337" Score="5" ViewCount="3203" Body="&lt;p&gt;Intuitively, I had assumed that ambiguous grammars were roughly the same as non-deterministic grammars.  &lt;a href=&quot;http://en.wikipedia.org/wiki/Deterministic_context-free_grammar&quot; rel=&quot;noreferrer&quot;&gt;According to&lt;/a&gt; &lt;a href=&quot;http://en.wikipedia.org/wiki/Unambiguous_grammar&quot; rel=&quot;noreferrer&quot;&gt;Wikipedia however&lt;/a&gt;, this is false:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;there are non-deterministic unambiguous CFGs&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;What is the difference between ambiguity and determinism in grammars?  What is an example of a grammar that is non-deterministic but unambiguous?&lt;/p&gt;&#xA;" OwnerUserId="7145" LastActivityDate="2014-06-24T12:46:07.907" Title="What are the relationship and difference between ambiguous grammars and non-deterministic ones?" Tags="&lt;fl.formal-languages&gt;&lt;grammars&gt;&lt;nondeterminism&gt;" AnswerCount="1" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="22666" PostTypeId="1" AcceptedAnswerId="22669" CreationDate="2014-05-24T18:01:47.400" Score="1" ViewCount="59" Body="&lt;p&gt;I am reading this &lt;a href=&quot;http://www.masfoundations.org/download.html&quot; rel=&quot;nofollow&quot;&gt;book&lt;/a&gt;. In chapter 7, section 7.5 page 240 (in the pdf), the authors defined (definition 7.5.1) the &lt;em&gt;regret&lt;/em&gt; as being the difference between the average per-period reward the agent received up until time $t$ and the average per-period reward the agent would have received up until time $t$ had he played pure strategy $s$ instead, i.e., $\mathrm{Regret}=\alpha^t-\alpha^t(s)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I do not get this definition of &lt;em&gt;regret&lt;/em&gt;. For me it looks the other way around, i.e., $\mathrm{Regret}=\alpha^t(s)-\alpha^t$. I also looked for definitions in the internet and I am really lost now.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can you please explain to me what I am missing here? Could the authors be wrong in the definition (since it is uncorrected manuscript)?&lt;/p&gt;&#xA;" OwnerUserId="23055" LastActivityDate="2014-05-25T14:20:22.810" Title="How to define the _regret_ in multiagent systems? Any good definition please?" Tags="&lt;reference-request&gt;&lt;machine-learning&gt;&lt;gt.game-theory&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22667" PostTypeId="1" CreationDate="2014-05-24T20:22:45.597" Score="2" ViewCount="92" Body="&lt;p&gt;I have a sequence of numbers $x_1, x_2, \dots, x_n, \dots \in \mathbb{R}$ I would like to extract fair bits from that sequence.  &lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;My first thought was to use the &lt;a href=&quot;http://stat-www.berkeley.edu/~peres/mine/vn.pdf&quot; rel=&quot;nofollow&quot;&gt;Von Neumann&lt;/a&gt; extractor.  For a sequence of &lt;strong&gt;0&lt;/strong&gt; and &lt;strong&gt;1&lt;/strong&gt;,&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;divide sequence into pairs&lt;/li&gt;&#xA;&lt;li&gt;eliminate all occurrences of &lt;strong&gt;00&lt;/strong&gt; and &lt;strong&gt;11&lt;/strong&gt;&lt;/li&gt;&#xA;&lt;li&gt;apply transformation &lt;strong&gt;01&lt;/strong&gt; &amp;#8594; &lt;strong&gt;1&lt;/strong&gt; and &lt;strong&gt;10&lt;/strong&gt; &amp;#8594; &lt;strong&gt;0&lt;/strong&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;This produces a sequence of fair bits from biased bits *even if you do not know the bias $p = \mathbb{P}[x_i = 1]$ as long as your sequence is&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;a Bernoulli trial&lt;/li&gt;&#xA;&lt;li&gt;independently distributed&lt;/li&gt;&#xA;&lt;li&gt;identially distributed&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The sequence of numbers I have is the hourly readings from a sensor, so it exhibits cyclic behavior &lt;strong&gt;every 24 hours&lt;/strong&gt; + &lt;strong&gt;every week&lt;/strong&gt;.  If I compute the expected value over time, it may be possible to subtract out the daily and weekly cycles leaving sequence of &lt;em&gt;loosely self-correlated&lt;/em&gt; real numbers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;How can I extract randomness from here in a simple way?  &lt;/p&gt;&#xA;" OwnerUserId="11012" LastActivityDate="2017-03-30T20:50:36.753" Title="randomness extraction of real valued sequences of numbers" Tags="&lt;pr.probability&gt;&lt;randomness&gt;" AnswerCount="1" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="22669" PostTypeId="2" ParentId="22666" CreationDate="2014-05-25T06:55:42.810" Score="2" Body="&lt;p&gt;It does appear to be a mistake in this pdf version of the book, where the authors are dealing with rewards: The regret should be the reward that would have been gained for playing s minus the actual gain.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that often this is set up with losses (rather than rewards) so that the regret would be the incurred loss minus the loss that would have been incurred under some pure strategy.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For a given pure strategy s, the regret for not having played s should be 0 if one's choice gave the same payoff as s, positive if it was worse (i.e., lower in a rewards setting, higher in a losses setting) than s, and negative if it was better than s.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Commonly one defines &lt;strong&gt;the&lt;/strong&gt; regret as the regret for not having played the &lt;strong&gt;best&lt;/strong&gt; pure strategy (given the choices of others). This will be non-negative, and 0 if and only if the current choice is optimal.&lt;/p&gt;&#xA;" OwnerUserId="368" LastEditorUserId="368" LastEditDate="2014-05-25T14:20:22.810" LastActivityDate="2014-05-25T14:20:22.810" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22670" PostTypeId="1" CreationDate="2014-05-25T07:13:47.197" Score="4" ViewCount="195" Body="&lt;p&gt;This might be a very basic question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am interested in all atoms of a propositional formula that can be removed from a particular formula, while the derived formula has the same satisfiability characteristics.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$(\lnot a\lor b) \land (a \lor b)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here the atom &lt;code&gt;a&lt;/code&gt; can be removed, as the formula can be reduced to simply &lt;code&gt;b&lt;/code&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a name for atoms that can be removed from a formula? I.e., atoms like &lt;code&gt;a&lt;/code&gt; that can be removed from a formula? (Informally I would call them &quot;don't care&quot; atoms.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are certain tools like lingeling and minisat2 that can simplify or preprocess a SAT problem, given a CNF formula (see &lt;a href=&quot;https://cstheory.stackexchange.com/questions/9839/shortest-equivalent-cnf-formula&quot;&gt;another answer&lt;/a&gt;). &#xA;Do this approaches reliably remove all atoms (like &lt;code&gt;a&lt;/code&gt;above) from the formula that can be removed? My rough guess would be that finding a minified formula is as complex as finding all the prime implicants of a formula? (Minification in my sense would be a formula with the least number of atoms.)&lt;/p&gt;&#xA;" OwnerUserId="7724" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2014-05-29T15:29:20.790" Title="Remove unneeded atoms in CNF minimalization (SAT preprocessing)" Tags="&lt;time-complexity&gt;&lt;sat&gt;&lt;formulas&gt;&lt;boolean-formulas&gt;" AnswerCount="3" CommentCount="1" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="22672" PostTypeId="2" ParentId="17761" CreationDate="2014-05-25T08:28:29.300" Score="6" Body="&lt;p&gt;If one wants to approximate the potential function, then yes, there even exists a fully polynomial-time approximation scheme (FPTAS). See&lt;/p&gt;&#xA;&#xA;&lt;p&gt;James B. Orlin, Abraham P. Punnen, Andreas S. Schulz: Approximate Local Search in Combinatorial Optimization. SIAM J. Comput. 33(5): 1201-1214 (2004).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For some settings though, this is not interesting. For example, for congestion games, where pure equilibria exist and their computation is PLS-complete, strategy profiles that approximate the potential function well may be very poor approximate equilibria. For some settings, constant-factor approximate equilibria can be computed in polynomial-time even when computing an exact equilibrium is PLS-hard, for other settings it is PLS-hard to compute an approximate equilibrium for any polynomial-time computable non-trivial approximation factor, as explained by the following announcement paper.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Ioannis Caragiannis, Angelo Fanelli, Nick Gravin, Alexander Skopalik: Computing approximate pure Nash equilibria in congestion games. SIGecom Exchanges 11(1): 26-29 (2012).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note PLS might be much easier than FNP.&lt;/p&gt;&#xA;" OwnerUserId="368" LastEditorUserId="368" LastEditDate="2014-05-25T21:22:28.107" LastActivityDate="2014-05-25T21:22:28.107" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22674" PostTypeId="1" AcceptedAnswerId="22684" CreationDate="2014-05-25T12:28:43.157" Score="-4" ViewCount="189" Body="&lt;p&gt;Given graph G(V,E)and two vertices A and B, show how to eliminate the least number of edges so that length of shortest path between A and B become longer.(I need an algorithm)&lt;/p&gt;&#xA;" OwnerUserId="23026" LastEditorUserId="23026" LastEditDate="2014-05-25T17:01:07.463" LastActivityDate="2014-05-26T08:42:14.900" Title="Destroy shortest path in graph" Tags="&lt;graph-theory&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="22675" PostTypeId="2" ParentId="22664" CreationDate="2014-05-25T12:41:08.397" Score="2" Body="&lt;p&gt;See this related Wikipedia link:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Unambiguous_grammar#Recognizing_ambiguous_grammars&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/Unambiguous_grammar#Recognizing_ambiguous_grammars&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;The efficiency of context-free grammar parsing is determined by the&#xA;  automaton that accepts it. Deterministic context-free grammars are&#xA;  accepted by deterministic pushdown automata and can be parsed in&#xA;  linear time, for example by the LR parser.[3] This is a subset of the&#xA;  context-free grammars which are accepted by the pushdown automaton and&#xA;  can be parsed in polynomial time, for example by the CYK algorithm.&#xA;  &lt;strong&gt;Unambiguous context-free grammars can be nondeterministic. For example, the language of even-length palindromes on the alphabet of 0&#xA;  and 1 has the unambiguous context-free grammar S → 0S0 | 1S1 | ε. An&#xA;  arbitrary string of this language cannot be parsed without reading all&#xA;  its letters first which means that a pushdown automaton has to try&#xA;  alternative state transitions to accommodate for the different&#xA;  possible lengths of a semi-parsed string.[4]&lt;/strong&gt; Nevertheless, removing&#xA;  grammar ambiguity may produce a deterministic context-free grammar and&#xA;  thus allow for more efficient parsing. Compiler generators such as&#xA;  YACC include features for resolving some kinds of ambiguity, such as&#xA;  by using the precedence and associativity constraints.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;An ambiguous grammar may be defined as a grammar for which there exists more than one parse tree for some string belonging to the language it generates.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A deterministic grammar may be defined as a grammar for which there exists a deterministic machine model which is capable of recognizing the language it generates.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assume Grammar 1 generates the same language as Grammar 2.  Assume Grammar 1 is unambiguous and Grammar 2 is ambiguous.  If a deterministic machine model is capable of recognizing the language generated by Grammar 1, then it is also capable of recognizing the language generated by Grammar 2 (by the assumption that they both generate the same language).  Clearly, both are deterministic grammars and yet they differ on the question of ambiguity.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The definition of grammar &lt;strong&gt;ambiguity&lt;/strong&gt; addresses the actual syntactical &lt;strong&gt;structure of the grammar&lt;/strong&gt; and its relation to parsing, NOT whether an ambiguous grammar could be structured differently so as to generate the same language and yet remove ambiguity.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The definition of grammar &lt;strong&gt;determinism&lt;/strong&gt;, however, is not related to the structure of a grammar but rather to the &lt;strong&gt;properties of the language&lt;/strong&gt; it generates regarding recognition by an appropriate deterministic machine model.&lt;/p&gt;&#xA;" OwnerUserId="22924" LastActivityDate="2014-05-25T12:41:08.397" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22677" PostTypeId="2" ParentId="11" CreationDate="2014-05-25T15:27:47.953" Score="3" Body="&lt;p&gt;Shortly after you asked your question, Mark Bender of McMaster University released a thesis: &lt;a href=&quot;https://www.semanticscholar.org/paper/Assignment-Calculus-A-Pure-Imperative-Reasoning-La-Bender-Zucker/c168e5fc64a6de9953a9a8985ee17b0ac291e299&quot; rel=&quot;nofollow noreferrer&quot;&gt;Assignment Calculus: A Pure Imperative Reasoning Language&lt;/a&gt; (2010 Sep 8). This thesis describes a simple, imperative language corresponding to lambda calculus.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Assignment calculus consists of only four basic constructs, assignment &lt;code&gt;X:=t&lt;/code&gt;, sequence &lt;code&gt;t;u&lt;/code&gt;, procedure formation &lt;code&gt;¡t&lt;/code&gt; and procedure invocation &lt;code&gt;!t&lt;/code&gt;. Three interpretations are given for AC: an operational semantics, a denotational semantics, and a term-rewriting system. The three are shown to be equivalent.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Mark Bender's thesis goes on to explore variants extended with lazy evaluation, backtracking, procedure composition. This is similar to exploration of lambda calculus by use of small extensions. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Overall, the thesis provides a relatively direct answer to the OP question.&lt;/p&gt;&#xA;" OwnerUserId="19470" LastEditorUserId="19470" LastEditDate="2017-06-26T18:35:50.620" LastActivityDate="2017-06-26T18:35:50.620" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="22678" PostTypeId="1" AcceptedAnswerId="31816" CreationDate="2014-05-25T17:40:30.067" Score="13" ViewCount="813" Body="&lt;h2&gt;Background:&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Query_complexity&quot; rel=&quot;nofollow&quot;&gt;Decision tree complexity&lt;/a&gt; or query complexity is a simple model of computation defined as follows. Let $f:\{0,1\}^n\to \{0,1\}$ be a Boolean function. The deterministic query complexity of $f$, denoted $D(f)$, is the minimum number of bits of the input $x\in\{0,1\}^n$ that need to be read (in the worse case) by a deterministic algorithm that computes $f(x)$. Note that the measure of complexity is the number of bits of the input that are read; all other computation is free.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Similarly, we define the Las Vegas randomized query complexity of $f$, denoted $R_0(f)$, as the minimum number of input bits that need to be read in expectation by a zero-error randomized algorithm that computes $f(x)$. A zero-error algorithm always outputs the correct answer, but the number of input bits read by it depends on the internal randomness of the algorithm. (This is why we measure the expected number of input bits read.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We define the Monte Carlo randomized query complexity of $f$, denoted $R_2(f)$, to be the minimum number of input bits that need to be read by a bounded-error randomized algorithm that computes $f(x)$. A bounded-error algorithm always outputs an answer at the end, but it only needs to be correct with probability greater than $2/3$ (say).&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;h2&gt;Question&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;What is known about the question of whether &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;$R_0(f) = \Theta(R_2(f))$?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;It is known that  &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;$R_0(f) = \Omega(R_2(f))$&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;because Monte Carlo algorithms are at least as powerful as Las Vegas algorithms. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I recently learned that there is no known separation between the two complexities. The latest reference I can find for this claim is from 1998 [1]:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] Nikolai K. Vereshchagin, Randomized Boolean decision trees: Several remarks, Theoretical Computer Science, Volume 207, Issue 2, 6 November 1998, Pages 329-342, ISSN 0304-3975, &lt;a href=&quot;http://dx.doi.org/10.1016/S0304-3975(98)00071-1&quot; rel=&quot;nofollow&quot;&gt;http://dx.doi.org/10.1016/S0304-3975(98)00071-1&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The best known upper bound of one in terms of the other is&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;$R_0(f) = O(R_2(f)^2 \log{R_2(f)})$&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;due to [2]:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] Kulkarni, R., &amp;amp; Tal, A. (2013, November). On Fractional Block Sensitivity. In Electronic Colloquium on Computational Complexity (ECCC) (Vol. 20, p. 168).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have two specific questions.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;[Reference request]: Is there a more recent paper (after 1998) that discusses this problem?&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;More importantly&lt;/strong&gt;, is there a candidate function that is conjectured to separate these two complexities?&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Added in v2:&lt;/strong&gt; Added ref [2], emphasized second question about existence of candidate function.&lt;/p&gt;&#xA;" OwnerUserId="206" LastEditorUserId="206" LastEditDate="2015-03-12T11:41:31.850" LastActivityDate="2015-09-01T14:12:09.977" Title="Las Vegas vs Monte Carlo randomized decision tree complexity" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;query-complexity&gt;&lt;decision-trees&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="22679" PostTypeId="2" ParentId="22678" CreationDate="2014-05-25T19:22:28.477" Score="7" Body="&lt;p&gt;As far as I know, this is still open. A very recent paper that mentions these quantities and some bounds is Aaronson et al: Weak parity (see &lt;a href=&quot;http://arxiv.org/abs/1312.0036&quot;&gt;http://arxiv.org/abs/1312.0036&lt;/a&gt;). You can also see chapter 14 of Jukna: Boolean funcions and the 1999 (still beats 1998!) survey by Buhrman and de Wolf. Another very recent paper about randomized decision tree complexity is Magniez et al: &lt;a href=&quot;http://arxiv.org/abs/1309.7565&quot;&gt;http://arxiv.org/abs/1309.7565&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, a short summary I made for myself last month (without defs):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;R2&amp;lt;=R0&amp;lt;=D&amp;lt;=n&lt;/p&gt;&#xA;&#xA;&lt;p&gt;D&amp;lt;=N0*N1&amp;lt;=C^2&amp;lt;=R0^2&lt;/p&gt;&#xA;&#xA;&lt;p&gt;s&amp;lt;=bs&amp;lt;=C&amp;lt;=s*bs&amp;lt;=bs^2 (new: [Gilmer-Saks-Srinivasan]: there is f s.t. bs^2(f)=O(C(f)))&lt;/p&gt;&#xA;&#xA;&lt;p&gt;D&amp;lt;=N1*bs&amp;lt;=bs^3&amp;lt;=(3R2)^3&lt;/p&gt;&#xA;&#xA;&lt;p&gt;deg&amp;lt;=D&amp;lt;=bs*deg&amp;lt;=deg^3 (new: [Tal]: bs&amp;lt;=deg^2)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;D&amp;lt;=N1*deg&lt;/p&gt;&#xA;&#xA;&lt;p&gt;C&amp;lt;=bs*deg^2&amp;lt;=deg^4&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Sensitivity conjecture is that s is also polynomially related to other parameters.&lt;/p&gt;&#xA;" OwnerUserId="419" LastEditorUserId="419" LastEditDate="2014-05-25T21:23:35.673" LastActivityDate="2014-05-25T21:23:35.673" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="22680" PostTypeId="2" ParentId="22639" CreationDate="2014-05-25T20:43:21.903" Score="7" Body="&lt;p&gt;The following article discusses various approaches to reducing the bandwidth of unsymmetric matrices.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;J.K. Reid, J. A. Scott: Reducing the total bandwidth of a sparse unsymmetric matrix, SIAM Journal on Matrix Analysis and Applications 28(3):805&amp;ndash;821. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The technical report version of the article is available here:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;J. K. Reid and J. A. Scott, Reducing the total bandwidth of a sparse unsymmetric matrix, Technical Report RAL-TR-2005-001, STFC Rutherford Appleton Laboratory. &lt;a href=&quot;http://www.numerical.rl.ac.uk/reports/rsRAL2005001.pdf&quot; rel=&quot;noreferrer&quot;&gt;http://www.numerical.rl.ac.uk/reports/rsRAL2005001.pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="2367" LastEditorUserId="2367" LastEditDate="2014-11-11T23:04:30.170" LastActivityDate="2014-11-11T23:04:30.170" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="22682" PostTypeId="2" ParentId="22662" CreationDate="2014-05-26T05:00:09.747" Score="8" Body="&lt;p&gt;Certainly there has been tons of progress! (And if you really meant to ask about the last &lt;em&gt;50&lt;/em&gt; years, then that includes the algorithms of Schreier-Sims and Butler that you already mentioned...)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, see Seress's book [1], which includes many algorithms that upgrade standard tasks into $\mathsf{NC}$ and/or quasi-linear (sometimes Las Vegas) time, such as membership testing, computing the order, and even computing the entire composition series! The finite simple groups can be recognized in the black-box model [2] (more general/stronger than permutation groups or matrix groups), and permutational isomorphism of permutation groups of degree $n$ can be decided in $O(2^{n} |G|)$ time [3] (prior to that, the best known was the trivial $n! \cdot poly(n)$ algorithm). Many of these results were in the last 20 years, and the latter is even from 2012.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] Seress, Ákos&#xA;&lt;a href=&quot;http://dx.doi.org/10.1017/CBO9780511546549&quot;&gt;Permutation group algorithms&lt;/a&gt;. Cambridge Tracts in Mathematics, 152. Cambridge University Press, Cambridge, 2003&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] Babai, László; Kantor, William M.; Pálfy, Péter P.; Seress, Ákos &lt;a href=&quot;http://dx.doi.org/10.1515/jgth.2002.010&quot;&gt;Black-box recognition of finite simple groups of Lie type by statistics of element orders&lt;/a&gt;. J. Group Theory 5 (2002), no. 4, 383–401.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[3] László Babai, Paolo Codenotti, Youming Qiao: &lt;a href=&quot;http://dx.doi.org/10.1007/978-3-642-31594-7_5&quot;&gt;Polynomial-Time Isomorphism Test for Groups with no Abelian Normal Subgroups (Extended Abstract)&lt;/a&gt;. In: Proc. 39th Internat. Colloq. on Automata, Languages and Programming (ICALP'12), Springer LNCS 7391, 2012, pp. 51-62.&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2014-05-26T05:00:09.747" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22683" PostTypeId="1" CreationDate="2014-05-26T05:29:57.600" Score="2" ViewCount="1207" Body="&lt;p&gt;Does anyone know of a direct quantum algorithm for computing GCD, - There could be quantum gates for addition subtraction constructed explicitly, using CNOT, etc. - the construction can be done in some poly(n) of input, (this is just a guess), but is there any algorithm, scheme for computing GCD, using quantum algorithms, gauss sums, QFT, quantum approximation, anything(!!) thanks, &lt;/p&gt;&#xA;" OwnerUserId="23071" LastActivityDate="2014-05-26T12:51:33.163" Title="A quantum algorithm for GCD" Tags="&lt;approximation-algorithms&gt;&lt;quantum-computing&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="22684" PostTypeId="2" ParentId="22674" CreationDate="2014-05-26T05:49:54.030" Score="1" Body="&lt;p&gt;Run BFS from $A$, and generate a graph $G'=(V,E')$ that consists only of the edges that are on some shortest path from $A$ to $B$ (i.e. $(x,y)\in E'$ iff $d(a,y)=d(a,x)+1$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;And your answer is the minimal $A-B$ cut in $G'$.&lt;/p&gt;&#xA;" OwnerUserId="21001" LastEditorUserId="21001" LastEditDate="2014-05-26T08:42:14.900" LastActivityDate="2014-05-26T08:42:14.900" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="22686" PostTypeId="2" ParentId="22683" CreationDate="2014-05-26T12:51:33.163" Score="1" Body="&lt;p&gt;A search for &quot;Quantum GCD&quot; yields a 2013 paper by Saeedi and Markov titled &lt;a href=&quot;http://arxiv.org/abs/1304.7516&quot; rel=&quot;nofollow&quot;&gt;&quot;Quantum Circuits for GCD Computation with O(n \log n) Depth and O(n) Ancillae&quot;&lt;/a&gt;. It's not mentioned in the title, but the size of the circuit used in their algorithm $O(n^2)$.&lt;/p&gt;&#xA;" OwnerUserId="7189" LastActivityDate="2014-05-26T12:51:33.163" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="22687" PostTypeId="2" ParentId="22598" CreationDate="2014-05-26T17:24:04.077" Score="8" Body="&lt;p&gt;I'm not sure whether this qualifies as a purely topological computational model, but there is a topological approach to anyonic quantum computation within the framework of which Aharonov-Jones-Landau and Freedman-Kitaev-Wang proved that a quantum computer can &quot;additively&quot; approximate the Jones polynomial at a root of unity in polynomial time. Furthermore, by Freedman-Larsen-Wang, such an approximation for certain roots of unity is universal for quantum computation. Unfortunately, such an approximation does not appear to be useful in topology, although for certain braids it is useful for anyonic quantum computation. See &lt;a href=&quot;http://www.math.columbia.edu/~volconf09/notes/kuperbergconf.pdf&quot;&gt;these slides by Kuperberg&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is also &lt;a href=&quot;http://www.worldscientific.com/doi/abs/10.1142/S0218216507005282&quot;&gt;work of Kauffman and Lomonaco&lt;/a&gt; and various papers of Kauffman (e.g. &lt;a href=&quot;http://front.math.ucdavis.edu/1001.0354&quot;&gt;this&lt;/a&gt;) on anyonic topological quantum computation, which presents quantum algorithms to compute various topological invariants. Maybe this is the closest thing to what you are looking for. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Regarding tangle machines, the goal of the theory is to provide a diagrammatic formalism for networks of information manipulations (computations) that is more flexible than graphical notations based on labeled directed graphs. Equivalent tangle machines represent computations which are equivalent in the sense that each one can be fully simulated by the other, but which may differ locally in terms of performance. Note also that there is an alternative approach to the same issue by way of higher category theory, e.g. &lt;a href=&quot;http://arxiv.org/pdf/1207.4563v1.pdf&quot;&gt;HERE&lt;/a&gt;. It isn't in these preprints, but tangle machines can represent any Turing machine computation, and also any recurrent first-order neural network. But I'm not sure how the theory would be useful to understand computational problems specific to topology.&lt;/p&gt;&#xA;" OwnerUserId="23060" LastEditorUserId="23060" LastEditDate="2014-05-27T03:51:20.327" LastActivityDate="2014-05-27T03:51:20.327" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22688" PostTypeId="1" AcceptedAnswerId="22702" CreationDate="2014-05-26T18:14:36.623" Score="8" ViewCount="451" Body="&lt;p&gt;Suppose we have a &lt;a href=&quot;https://en.wikipedia.org/wiki/Kappa_calculus&quot; rel=&quot;nofollow noreferrer&quot;&gt;&lt;span class=&quot;math-container&quot;&gt;$\kappa$&lt;/span&gt;-calculus&lt;/a&gt; with operator &lt;span class=&quot;math-container&quot;&gt;$fix$&lt;/span&gt;, that could be used to transform function with type &lt;span class=&quot;math-container&quot;&gt;$(1 \rightarrow a) \rightarrow a$&lt;/span&gt; to a value of type &lt;span class=&quot;math-container&quot;&gt;$1 \rightarrow a$&lt;/span&gt;. We use a normal reduction strategy.&lt;/p&gt;&#xA;&lt;p&gt;We'd like to represent factorial function in such a system. The problem is that whatever function we're trying to find a fixed point of, when we apply the function to its fixpoint, there's no way to determine whether we need to use the value of argument &lt;span class=&quot;math-container&quot;&gt;$x$&lt;/span&gt; or not. There's no &amp;quot;counter&amp;quot; to base our solution on.&lt;/p&gt;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$fix (\kappa{}x. \cdots) = (\kappa{}x. \cdots) (fix (\kappa{}x. \cdots))$&lt;/span&gt;&lt;/p&gt;&#xA;&lt;p&gt;In &lt;span class=&quot;math-container&quot;&gt;$\lambda$&lt;/span&gt;-calculus we could run &lt;span class=&quot;math-container&quot;&gt;$fix (\lambda f. \lambda x.\cdots)$&lt;/span&gt; and terminate depending on the value of &lt;span class=&quot;math-container&quot;&gt;$x$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;How to prove that &lt;span class=&quot;math-container&quot;&gt;$\kappa$&lt;/span&gt;-calculus with fixed point operator cannot really represent a factorial function?&lt;/li&gt;&#xA;&lt;li&gt;How could we extend &lt;span class=&quot;math-container&quot;&gt;$\kappa$&lt;/span&gt;-calculus to make it Turing-complete, leaving space for its translation into &lt;a href=&quot;http://www.megacz.com/berkeley/garrows/&quot; rel=&quot;nofollow noreferrer&quot;&gt;generalized arrows&lt;/a&gt;?&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="20652" LastEditorUserId="898" LastEditDate="2020-12-20T16:03:58.717" LastActivityDate="2020-12-20T16:03:58.717" Title="Can factorial be encoded in the Kappa-calculus with fixed point operator?" Tags="&lt;lo.logic&gt;&lt;type-theory&gt;&lt;lambda-calculus&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 4.0" />
  <row Id="22690" PostTypeId="2" ParentId="22650" CreationDate="2014-05-26T19:57:30.137" Score="3" Body="&lt;p&gt;This is a &lt;strong&gt;non-answer&lt;/strong&gt;, but it might help to understand the question (assuming that I understood it correctly).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is a simple but slightly non-trivial example:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/grCRu.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;input = black graph&lt;/li&gt;&#xA;&lt;li&gt;output = on which blue line we place each node = when to schedule each job&lt;/li&gt;&#xA;&lt;li&gt;costs = orange numbers = number of predecessors with different labels&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Left = simple greedy solution, right = optimal solution.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;I would not be surprised if this was NP-hard. There seem to be opportunities for designing all kinds of gadgets. For example, here is a gadget in which we have two optimal solutions—one of the sink nodes has to pay 2 units, but you can choose which one.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/vBQKB.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;" OwnerUserId="74" LastEditorUserId="74" LastEditDate="2014-05-26T22:23:42.463" LastActivityDate="2014-05-26T22:23:42.463" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="22691" PostTypeId="2" ParentId="22655" CreationDate="2014-05-26T20:33:53.490" Score="3" Body="&lt;p&gt;The expression you want to calculate $ax+b$, independent of a specific model or architecture, using only the algebraic / numeric properties of $a$ and $b$, don't see how it can be computed in another way.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, as previous answers mention, I will use another way, once you have a model (not a Turing machine, but a concrete model of computation) and representation of the numbers/constants $a$, $b$ a multitude of optimizations can be done.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Examples:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Depending on the representation of $a$ and $b$, simple binary shifts and addition can be used (a huge time saving).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Alternative multiplication schemes (e.g. &lt;a href=&quot;http://en.wikipedia.org/wiki/Karatsuba_algorithm&quot; rel=&quot;nofollow&quot;&gt;Karatsuba multiplication&lt;/a&gt; or &lt;a href=&quot;http://en.wikipedia.org/wiki/Russian_peasant_multiplication#Russian_peasant_multiplication&quot; rel=&quot;nofollow&quot;&gt;Russian peasant multiplication&lt;/a&gt;). These schemes actually do less operations to calculate a product than the standard definition of multiplication (on a concrete computer model).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Partial evaluation is already mentioned, another optimization.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;If this is to be evaluated recursively, a scheme like Horner's algorithm can be very efficient.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;If $a$, $b$ ,$x$ are polynomials in $Q[x]$ then FFT (&lt;a href=&quot;http://en.wikipedia.org/wiki/Fast_Fourier_transform&quot; rel=&quot;nofollow&quot;&gt;Fast Fourier Transform&lt;/a&gt;) can do the callculation in an optimal sense ( $O(NlogN)$ ).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;As alternatives to your question&lt;/p&gt;&#xA;" OwnerUserId="21598" LastEditorUserId="22655" LastEditDate="2014-06-04T19:44:37.267" LastActivityDate="2014-06-04T19:44:37.267" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22693" PostTypeId="1" CreationDate="2014-05-26T20:56:01.887" Score="0" ViewCount="60" Body="&lt;p&gt;Consider a function $f : \mathbb R^m \rightarrow \mathbb R^n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Function $f$ can be written down as a simple arithmetic program. It uses addition, subtraction, multiplication and division - however, we condition the input to be such that no division by zero occurs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Which algorithms do exist to simplify such a program, i.e., that produce an equivalent program of shorter (or shortest) length?&lt;/p&gt;&#xA;" OwnerUserId="4346" LastActivityDate="2014-05-26T20:56:01.887" Title="arithmetic formula simplication" Tags="&lt;optimization&gt;&lt;arithmetic-circuits&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="22694" PostTypeId="1" CreationDate="2014-05-26T22:04:01.517" Score="2" ViewCount="179" Body="&lt;p&gt;I am reading John Langford's paper on practical prediction theory (&lt;a href=&quot;http://machinelearning.wustl.edu/mlpapers/paper_files/Langford05.pdf&quot; rel=&quot;nofollow&quot;&gt;link&lt;/a&gt;), and I have the following doubt with definition of Binomial Tail inversion.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The paper says that binomial tail inversion is the largest true error such that the probability of having k or more errors is at least $\delta$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But the expression used in the paper reads &quot;largest true error such that probability of having k or &lt;strong&gt;less&lt;/strong&gt; errors is at least $\delta$&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can anyone help?&lt;/p&gt;&#xA;" OwnerUserId="7052" LastEditorUserId="7052" LastEditDate="2014-05-26T22:09:23.230" LastActivityDate="2014-05-26T23:30:23.160" Title="Doubt in John Langford's &quot;Tutorial on Practical Prediction Theory for Classiﬁcation&quot; paper" Tags="&lt;machine-learning&gt;&lt;lg.learning&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22695" PostTypeId="2" ParentId="22650" CreationDate="2014-05-26T22:42:40.723" Score="6" Body="&lt;p&gt;After a failed polynomial-time quick attempt, here it is an idea to prove that it is NP-complete using a reduction from 3SAT.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a 3SAT formula with $x_1,...,x_n$ variables and $C_1,...,C_m$ clauses, first build a variable assignment gadget like in the figure below (thanks to @Jukka for the clarifications, the graph drawing style, and the hint for the gadget with two configurations and same cost!).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/ptnGf.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Each blue horizontal line corresponds to a different schedule time ($s=1,2,...$).&#xA;On the left of the picture there is a complete assignment gadget for three variable ($x1,x2,x3$).&#xA;The &lt;em&gt;red&lt;/em&gt; nodes correspond to a $true$ assignment ($+x_i$), the &lt;em&gt;blue&lt;/em&gt; nodes to a $false$ assignment ($-x_i$). A &lt;em&gt;green&lt;/em&gt; node correspond to a variable $x_i$ and can be placed&#xA;on the same schedule time of the red or the blue node, &lt;em&gt;without afftecting the total cost&lt;/em&gt; of the gadget. The three possible combinations for $x_1$ are showed on the right. The number in the nodes represents the &lt;em&gt;cost&lt;/em&gt; (the number of distinct parents). Both $x_1 = true, x_1 = false$ have a cost of 7 ($c=7$). Note that the last combination has a greater cost so it cannot be used.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now we extend the assignment gadget to &quot;simulate&quot; the clauses of the formula.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/pBODn.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First we add a &lt;em&gt;top node&lt;/em&gt;, and a &lt;em&gt;mirror chain&lt;/em&gt; of $3n+2$ nodes (the chain of nodes on the left of the picture). By construction some of the nodes of the mirror chain must be on the same schedule time of the $true/false$ assignments; we call them $+x'_1, -x'_1, +x'_2, -x'_2,...$ (yellow nodes of the mirror chain in the figure).&#xA;Now we add a &lt;em&gt;clause node&lt;/em&gt; $C_j$ for each clause and we force it to be at schedule time $s=1$ by adding two directed edges from the bottom of the mirror chain and assignment gadget.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We link the &lt;em&gt;clause node&lt;/em&gt; to the three variables it contains (green edges in the figure), and to the corresponding positive/negative literal in the mirror chain (red edges in the figure). Finally we link the clause node to the top node using a chain of 6 &lt;em&gt;clause pegs&lt;/em&gt; $P_{j_1},...,P_{j_6}$ (purple nodes in the figure).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;How it works&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The clause pegs of $C_j$ are linked together so they must be placed at different schedule times. So the cost of $C_j$ is greater than or equal to $6$. We can keep the cost of $C_j$ equal to 6 if and only if the assignment corresponding to the position of the green variables nodes contained in $C_j$ satisfies $C_j$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First of all note that the bottom peg $P_{j,1}$ must be put at schedule time $s=2$ because $C_j$ is linked to the bottom of the assignment gadget and mirror chain. So only 5 of the pegs are &quot;free&quot; to be assigned to greater schedule times (otherwise the cost of $C_j$ is \geq 7$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, suppose for example that $C_1$ is $(x_1 \lor \bar{x}_2 \lor x_3)$ (like in the figure). We have the green edges: $x_1 \to C_1, x_2 \to C_1, x_3 \to C_1$ and the red edges $+x'_1 \to C_1, -x'_2 \to C_1, +x'_3 \to C_1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose that we set $x_1 = true, x_2 = true, x_3=false$ then the green variable $x_1$ will be on the same schedule time of $+x'_1$. But $x_2, -x'_2$ and $x_3, +x'_3$ will be on different schedule times. We can put a peg on the same schedule time of $x_1=true$, and the remaining 4 can be placed on the same schedule times of $x_2=true, -x'_2, +x'_3, x_3=false$ (&quot;mask&quot; them). The total cost of $C_1$ is still 6.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But what happens if we cannot find an assignment that satisfy all clauses? Then, in at least one clause (suppose $C_1$), the green variable nodes $x_1=false,x_2=true,x_3=false$ are all on a different schedule time of the corresponding $+x'_1, -x'_2, +x'_3$. So the 5 free pegs are not enough to &quot;mask&quot; them and the number of distinct parents of $C_1$ increases to $7$, like in the figure below.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/Z3wiP.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that without the pegs, the (minimum) total cost $c_t$ of the schedule is fixed, so we can conclude that after adding the pegs, the original formula is satisfiable if and only if the total cost of the graph is less than $c_t + 6*m$.&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2014-05-28T19:03:49.937" LastActivityDate="2014-05-28T19:03:49.937" CommentCount="12" ContentLicense="CC BY-SA 3.0" />
  <row Id="22696" PostTypeId="2" ParentId="22670" CreationDate="2014-05-26T23:12:57.730" Score="4" Body="&lt;p&gt;As Kyle Jones has mentioned, the example you provided is called (restricted) resolution. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Beside that, pure literals can also be safely removed from a SAT problem. Unit clauses can be assigned a truth value. Check this paper:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.7.7458&quot; rel=&quot;nofollow&quot;&gt;The Puzzling Role of Simplification in Propositional Satisfiability&lt;/a&gt;.  Inês Lynce and João Marques-Silva.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It discusses several preprocessing techniques for SAT, and its experiments showed that applying preprocessing for SAT leads to mix results. However, this paper might not be state-of-the-art.&lt;/p&gt;&#xA;" OwnerUserId="10526" LastActivityDate="2014-05-26T23:12:57.730" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22697" PostTypeId="2" ParentId="22694" CreationDate="2014-05-26T23:30:23.160" Score="1" Body="&lt;p&gt;I think this is a typo. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the Definition 2.1 and Definition 2.2, the estimation of $c_D$ is done by empirical summation of $\mathbf{1}(c(x_i) = y_i)$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Later in the Definition 3.1 it used the following notation : &#xA;$$&#xA;... = \Pr_{...} \left( \sum_i Z_i &amp;lt; k \right) = ...&#xA;$$&#xA;In this notation $Z_i=1$ corresponds to correct decisions or $c(x_i) = y_i$, and $Z_i=0$ corresponds to the mistakes or $c(x_i) \neq y_i$. I suppose that in this binomial representation $Z_i = 1$ (correct decision) corresponds to &lt;code&gt;heads&quot; (And similarly $Z_i = 0$ (wrong decision) corresponds to&lt;/code&gt;tail&quot;). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;That said, the right sentence seems to be &quot;... having k or less errors is at least $\delta$&quot;&lt;/p&gt;&#xA;" OwnerUserId="15645" LastActivityDate="2014-05-26T23:30:23.160" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22698" PostTypeId="1" CreationDate="2014-05-27T02:37:15.210" Score="1" ViewCount="820" Body="&lt;p&gt;I'm trying to find out what is known about time-inhomogeneous ergodic Markov Chains where the transition matrix can vary over time. &#xA;All textbooks and lecture notes I could find initially introduce Markov chains this way but then quickly restrict themselves to the time-homogeneous case where you have one transition matrix. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Obviously, in general such Markov chains might not converge to a unique stationary distribution, but I would be surprised if there isn't a large (sub)class of these chains where convergence is guaranteed. I'm particularly interested in theorems on the mixing time and convergence theorems that state when there exists a stationary distribution.&lt;/p&gt;&#xA;" OwnerUserId="23081" LastActivityDate="2014-05-27T02:37:15.210" Title="Time-inhomogeneous Markov Chains" Tags="&lt;reference-request&gt;&lt;co.combinatorics&gt;&lt;pr.probability&gt;&lt;markov-chains&gt;" AnswerCount="0" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="22699" PostTypeId="2" ParentId="2898" CreationDate="2014-05-27T02:45:27.730" Score="12" Body="&lt;p&gt;Nobody has yet mentioned &lt;a href=&quot;http://en.wikipedia.org/wiki/Directed_algebraic_topology&quot;&gt;directed algebraic topology&lt;/a&gt;, which was in fact developed to provide a suitable algebraic topological toolbox for the study of concurrency.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are also several low dimensional topological approaches to topics in the theory of computation, all fairly new:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Various approaches to fault-tolerant anyonic quantum computation based on the theory of braids. See e.g. &lt;a href=&quot;http://www.site.uottawa.ca/~phil/Ottawa.Traces.07.talks/Kauffman.UnitaryBraids.pdf&quot;&gt;HERE&lt;/a&gt; and &lt;a href=&quot;http://arxiv.org/abs/0707.1889&quot;&gt;HERE&lt;/a&gt;. Also to networks of adiabatic quantum computations &lt;a href=&quot;http://arxiv.org/abs/1404.2862&quot;&gt;HERE&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Diagrammatic topology-based formalisms for lambda calculus (e.g. &lt;a href=&quot;http://homepages.math.uic.edu/~kauffman/KnotLogic.pdf&quot;&gt;HERE&lt;/a&gt;, pages 46-48, and &lt;a href=&quot;http://arxiv.org/pdf/1312.4333v1.pdf&quot;&gt;HERE&lt;/a&gt;) and for Milner's pi calculus (&lt;a href=&quot;http://arxiv.org/abs/1009.2107&quot;&gt;HERE&lt;/a&gt;). &lt;/li&gt;&#xA;&lt;li&gt;Using concatenation of coloured tangles to model recursion and Markov chains. See e.g. &lt;a href=&quot;http://homepages.math.uic.edu/~kauffman/KnotAutomata.pdf&quot;&gt;HERE&lt;/a&gt; and &lt;a href=&quot;http://arxiv.org/abs/1404.2862&quot;&gt;HERE&lt;/a&gt;. In fact it's proven (unpublished) that any Turing machine computation and any recurrent first-order neural network can be modeled in this way.&lt;/li&gt;&#xA;&lt;li&gt;There is a higher category theoretical formalism for quantum computation in which topological diagrams represent computations, and topologically-equivalent diagrams represent different procedures with identical computational content. See &lt;a href=&quot;http://arxiv.org/pdf/1207.4563v1.pdf&quot;&gt;HERE&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="23060" LastEditorUserId="23060" LastEditDate="2014-05-27T02:56:41.643" LastActivityDate="2014-05-27T02:56:41.643" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22701" PostTypeId="2" ParentId="22606" CreationDate="2014-05-27T09:14:38.557" Score="1" Body="&lt;p&gt;Appreciable literature is available in this standard book on Approximation Algo by Vazirani&#xA;&lt;a href=&quot;http://www.cc.gatech.edu/fac/Vijay.Vazirani/book.pdf&quot; rel=&quot;nofollow&quot;&gt;http://www.cc.gatech.edu/fac/Vijay.Vazirani/book.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Refer to chapter 10 for details.&lt;/p&gt;&#xA;" OwnerUserId="22911" LastActivityDate="2014-05-27T09:14:38.557" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="22702" PostTypeId="2" ParentId="22688" CreationDate="2014-05-27T09:19:06.153" Score="10" Body="&lt;p&gt;The bare $\kappa$-calculus does not permit defining factorial, even when extended with a fixed point operator. However, this answer deserves some unpacking. &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;The fixed point operator you give is not well-formed according to the grammar of types in the $\kappa$-calculus. Note that the grammar of types does not contain the function space $\tau \Rightarrow \tau'$ -- this is because the $\kappa$-calculus is a language of &lt;em&gt;first-order&lt;/em&gt; functions. An expression has a type $\tau_1 \to \tau_2$, to indicate that it is an expression of type $\tau_2$, whose free variables are typed by $\tau_1$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The proper typing for a fixed point operator would be roughly something like:&#xA;$$&#xA;\frac{\Gamma, x:1 \to \tau \vdash e : 1 \to \tau}&#xA;     {\Gamma \vdash \mu x:1 \to \tau. e : 1 \to \tau}&#xA;$$&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Once you've fixed this, you still can't define a factorial.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The plain $\kappa$-calculus does not have sums or natural numbers as a base type. As a result, you can't write branching programs, and so you cannot define interesting recursive functions. If you added natural numbers and their iterator, you could define a factorial function. Hasegawa actually gives factorial as an example in his paper on the $\kappa$-calculus, in a calculus augmented with a basic natural number type.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, you might wonder why you &lt;em&gt;are&lt;/em&gt; able to define factorial in the pure lambda calculus, even though it has no apparent control structures. The reason is that the interaction of fixed points and recursion gives you a &quot;universal type&quot; (i.e., a type $V$ such that $V$ is isomorphic to $V \to V$), and this lets you encode any datatype as a subset (more accurately, a retract) of it. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In more syntactic terms, you can write the Y combinator (i.e., Curry's paradox) in any language with (a) higher-order functions, (b) recursion, and (c) the ability to use each variable more than once in a program. Since the basic $\kappa$-calculus lacks (a), adding even an unrestricted fixed point operator does not make it Turing-complete! &lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="657" LastEditorUserId="657" LastEditDate="2014-05-27T10:24:19.600" LastActivityDate="2014-05-27T10:24:19.600" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="22703" PostTypeId="1" CreationDate="2014-05-27T11:13:10.433" Score="2" ViewCount="305" Body="&lt;p&gt;I'm trying to find a scheme to translate a functional language with &lt;code&gt;let rec&lt;/code&gt; into a set of primitives called &quot;&lt;a href=&quot;http://www.megacz.com/berkeley/garrows/&quot; rel=&quot;nofollow noreferrer&quot;&gt;generalized arrows&lt;/a&gt;&quot;, i.e. $\kappa$-calculus with extensions. The problem is that general recursion is not expressible in $\kappa$-calculus, so I had to extend it with minimization operator.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is a &lt;a href=&quot;https://cstheory.stackexchange.com/questions/6906/explicit-mu-recursive-expression-for-ackerman-function&quot;&gt;previous question&lt;/a&gt; asking about translation of Ackerman function into $\mu$-recursive operators, but the solution of Klaus Draeger doesn't seem to me to be generalizable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there any previous work on translating general recursion into a set of $\mu$-recursive operator applications?&lt;/p&gt;&#xA;" OwnerUserId="20652" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2018-02-17T10:44:53.340" Title="How to translate general recursion into a set of $\mu$-recursive operator applications?" Tags="&lt;lo.logic&gt;&lt;computability&gt;&lt;type-theory&gt;&lt;lambda-calculus&gt;" AnswerCount="2" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="22704" PostTypeId="1" AcceptedAnswerId="22711" CreationDate="2014-05-27T13:27:37.353" Score="0" ViewCount="1033" Body="&lt;p&gt;I am graduating from mathemetics bachelor program and I've been accepted for masters degree in mathematics. But I am not sure to pursue math, hence I am looking for other field I can do research. I am going to study potenial theory in the masters degree in math so I am good at analysis, particularly in measure theory. I also took some statistics courses, java and matlab. Moreover, I really like computers so I educated myself on some other stuff(I do some game modding and photoshop)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some friends of mine suggested machine learning but they are undergrad and they don't really know the subject well. So my question is what fields/areas of computer science I can work on for PhD and what should I learn.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Or in this respect can I work on CS(Phd) as a math grad?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(I've read the similar questions but they are only similar. So I appreciate any help.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit: In Math M.S program I only have one none-technical elective and I will get some undergrad CS lectures(additional). So, as @RB suggested, I am asking for the areas that require realtively less CS and more math. But note that I am willing to study/work hard.&lt;/p&gt;&#xA;" OwnerUserId="23089" LastEditorUserId="23089" LastEditDate="2014-05-27T22:41:15.503" LastActivityDate="2014-05-28T02:53:23.680" Title="Which areas of TCS are better for a math bachelor?" Tags="&lt;soft-question&gt;&lt;advice-request&gt;&lt;career&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="22706" PostTypeId="2" ParentId="22670" CreationDate="2014-05-27T16:53:20.180" Score="1" Body="&lt;p&gt;These things are called variable and literal (in)dependence. To check that a literal/variable is dependent is in NP [1].&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] Propositional Independence - Formula-Variable Independence and Forgetting.&#xA;&lt;a href=&quot;http://arxiv.org/abs/1106.4578&quot; rel=&quot;nofollow&quot;&gt;available at arxiv&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="4506" LastActivityDate="2014-05-27T16:53:20.180" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22707" PostTypeId="1" AcceptedAnswerId="22708" CreationDate="2014-05-27T20:50:52.773" Score="4" ViewCount="171" Body="&lt;p&gt;The problem is &quot;Given a graph G with kn points, divide it into k pages of n points such that the number of edges between points on different pages is minimal.&quot; (I've worked on it with undirected graphs, but I think the basic problem is the same with directed graphs and multigraphs.) I've attacked with branch and bound and linear programming, and it's behaved as an NP-complete program--a 12 point, 4 page problem is solved almost instantly, but a 40 point, 8 page problem took over a day. Then again, those are solutions you use for NP-Complete problems. I see no obvious reduction of 3SAT or Travelling Salesman into it, but it feels like an NP-Complete problem--though that may be because I took a class on solving NP-Complete problems, so hammer and nail.&lt;/p&gt;&#xA;" OwnerUserId="10216" LastActivityDate="2014-05-28T05:28:14.170" Title="Is optimal equal-point graph splitting NP-Complete?" Tags="&lt;cc.complexity-theory&gt;&lt;graph-algorithms&gt;" AnswerCount="2" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22708" PostTypeId="2" ParentId="22707" CreationDate="2014-05-27T22:18:41.733" Score="9" Body="&lt;p&gt;Editing my answer to give a stronger result:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem is NP-hard for k=2 and called the &lt;a href=&quot;http://www.wisdom.weizmann.ac.il/~robi/papers/FK-bisection2-SIGEST.pdf&quot;&gt;Minimum Bisection Problem&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="21001" LastEditorUserId="21001" LastEditDate="2014-05-28T05:28:14.170" LastActivityDate="2014-05-28T05:28:14.170" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="22709" PostTypeId="2" ParentId="22707" CreationDate="2014-05-28T00:02:05.640" Score="4" Body="&lt;p&gt;I have an old and very obscure paper on a very similar problem: Given a graph with $kn$ vertices, divide it into $k$ subsets of $n$ vertices such that the number of pairs of subsets that have at least one edge connecting them is minimal. It also turns out to be NP-complete, and an easy probabilistic argument shows that even for very sparse graphs the number of pairs that must be connected can be high.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Equipartitions of graphs.&#xA;D. Eppstein, J. Feigenbaum, and C.L. Li.&#xA;Discrete Mathematics 91(3):239-248, 1991.&#xA;&lt;a href=&quot;http://dx.doi.org/10.1016/0012-365X%2890%2990233-8&quot; rel=&quot;nofollow&quot;&gt;http://dx.doi.org/10.1016/0012-365X(90)90233-8&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2014-05-28T00:02:05.640" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22711" PostTypeId="2" ParentId="22704" CreationDate="2014-05-28T02:46:27.190" Score="1" Body="&lt;p&gt;&lt;a href=&quot;https://web.archive.org/web/20060525195404/http://www.idi.ntnu.no/emner/dif8916/denning.pdf&quot; rel=&quot;nofollow&quot;&gt;It had been argued&lt;/a&gt; that Theoretical Computer Science is a branch of mathematics, so it seems to me that any answer to this question would necessarily be primarily opinion-based. That said, in your place (and this is an uninformed opinion) I would steer clear of subfields in which a tremendous volume of technical work has been done, and in which coding plays a greater role. The barrier to entry in such subfields will be quite high for a math major. So for example, I would be cautious of anything related to computer vision and speech recognition. I would also be cautious of subfields in which the objective is perhaps a bit fuzzy, such as AI and machine learning. More controversially, I think that perhaps you should steer clear of quantum computation for this reason.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Conversely, subfields in which the objective is well-defined and in which coding plays a lesser role have a lower entry barrier for a math major. For example, complexity theory, graph algorithms, information theory (perhaps especially for you!), concurrency, cryptography, and maybe even things like clustering and compressed sensing. &lt;/p&gt;&#xA;" OwnerUserId="23060" LastEditorUserId="23060" LastEditDate="2014-05-28T02:53:23.680" LastActivityDate="2014-05-28T02:53:23.680" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="22712" PostTypeId="1" CreationDate="2014-05-28T12:54:12.970" Score="6" ViewCount="926" Body="&lt;p&gt;As I know, the time complexity for usual inversion algorithm of general matrix is $O(n^3)$. In recent years, there is a improvement from $O(n^3)$ to $O(n^{2.8....})$. However, does there exists a faster inversion algorithm for &lt;strong&gt;symmetric positive-definite matrices&lt;/strong&gt;? I have tried to search the answer but the best answer I have seen is to inverse the symmetric positive-definite matrix by using Cholesky decomposition. However, its complexity is also $O(n^3)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Could you provide me the fastest algorithm (even only the name) for inversion of symmetric positive-definite matrices?&lt;/p&gt;&#xA;" OwnerUserId="23109" LastActivityDate="2014-05-28T12:54:12.970" Title="Best algorithm for inversion of symmetric positive-definite matrices" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;matrices&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="22713" PostTypeId="1" CreationDate="2014-05-28T14:13:51.400" Score="2" ViewCount="53" Body="&lt;p&gt;I am going through the paper, &lt;a href=&quot;http://journals.aps.org/pra/abstract/10.1103/PhysRevA.86.042310&quot; rel=&quot;nofollow&quot;&gt;Solving the graph-isomorphism problem with a quantum annealer&lt;/a&gt;, by Hen et. al. In the last line of the second paragraph of the second column of page 2, it says,&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Since errors of the various measured quantities are inversely&#xA;  proportional to the square root of the number of measurements, this&#xA;  number will be determined from the needed resolution.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I would like to know the reference of the statement that - &lt;strong&gt;errors of the various measured quantities are inversely proportional to the square root of the number of measurements&lt;/strong&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks.&lt;/p&gt;&#xA;" OwnerUserId="13408" LastActivityDate="2014-05-28T14:13:51.400" Title="How the errors of the measured quantities of an adiabatic Hamiltonian are inversely proportional to the square root of the number of measurements?" Tags="&lt;quantum-computing&gt;&lt;quantum-information&gt;&lt;physics&gt;" AnswerCount="0" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="22714" PostTypeId="1" AcceptedAnswerId="22723" CreationDate="2014-05-29T03:34:10.343" Score="12" ViewCount="386" Body="&lt;p&gt;Can we prove that for every language $L\in\mathsf{NP}$ that is not $\mathsf{NP}$-hard (this assumes $\mathsf P \ne \mathsf{NP}$), $\mathsf{P}^L \ne \mathsf{P}^{\text{SAT}}$?  Alternately, can this be proven under any reasonable assumptions?&lt;/p&gt;&#xA;" OwnerUserId="11051" LastEditorUserId="976" LastEditDate="2014-05-29T14:37:54.983" LastActivityDate="2014-05-29T20:18:06.323" Title="Is $P^{NPI}$ different from $P^{NP}$?" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;np-intermediate&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="22719" PostTypeId="1" AcceptedAnswerId="22731" CreationDate="2014-05-29T13:49:07.387" Score="6" ViewCount="3597" Body="&lt;p&gt;There exist sentences of first-order logic that are satisfiable and are satisfiable only by models of infinite size. However, all such sentences I can think of are satisfied by infinite models that can be generated by a non-terminating algorithm of a finite size.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For a example, there exists a sentence of first-order logic that is satisfied only by a model of an infinite size:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$ \exists x \lnot \exists y S ( y, x ) \land $$&#xA;$$ \forall x \exists y S ( x, y ) \land $$&#xA;$$ \forall x \forall y \forall z ( ( S ( x, z ) \land S ( y, z) ) \to x = y ) $$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A model for this sentence can be generated (listed, enumerated) by a finite algorithm that never terminates - just list the elements of the infinite model in a sequence one after another and make $S$ hold only for successive pairs of such elements.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does there exist a sentence of first-order logic that is satisfiable only in some infinite models for which there does not exist a finite algorithm that generates them?&lt;/p&gt;&#xA;" OwnerUserId="23119" LastEditorUserId="23119" LastEditDate="2014-05-30T14:27:42.550" LastActivityDate="2014-05-30T15:36:41.707" Title="Does there exist a sentence of first-order logic that is satisfiable only in infinite models that do not have a finite algorithmic representation?" Tags="&lt;lo.logic&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="22721" PostTypeId="2" ParentId="21169" CreationDate="2014-05-29T15:00:26.053" Score="6" Body="&lt;p&gt;The problem can be solved in $O(n(m + n \log n))$ time. The solution below is based on one by &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/0167637781900201&quot; rel=&quot;nofollow&quot;&gt;Grötschel and Pulleyblank&lt;/a&gt; to compute shortest paths with an even (odd) number of edges (Gröschel and Pulleyblank in turn contribute it to 'Waterloo-folklore'. &lt;a href=&quot;http://www.springer.com/mathematics/applications/book/978-3-540-44389-6&quot; rel=&quot;nofollow&quot;&gt;Schrijver&lt;/a&gt; contributes their solution to J. Edmonds.) We'll solve the stronger problem of finding a minimum parity weight $s - t$ path with an odd (even) number of edges. The cheaper of the odd and even solutions is the minimum parity weight $s - t$ path.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $G=(V,E)$ be your input graph. Create a new graph $G'$. Graph $G'$ contains two copies of $G$ denoted $G_1$ and $G_2$. Every edge $e \in E$ retains its weight in $G_1$ but is given weight $0$ in $G_2$.&#xA;Finally, for every vertex $v \in V$, $G'$ contains an edge of weight $0$ between $v$'s copies in $G_1$ and $G_2$. Let $v_i$ be the copy of $v$ in graph $G_i$. Find a minimum weight perfect matching $M$ in $G' - s_2 - t_2$ in $O(n(m + n \log n))$  time (&lt;a href=&quot;http://dl.acm.org/citation.cfm?id=320229&quot; rel=&quot;nofollow&quot;&gt;Gabow [1990]&lt;/a&gt;). Let $P = (V,E')$ contain exactly the edges of $M$ that were copied from $G$ (possibly with multiplicity). One connected component of $P$ is a minimum parity weight $s - t$ path with an odd number of edges, and its parity weight is equal to $M$'s total weight.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To prove the claim, let $P$ a minimum parity weight $s - t$ path in $G$ with an odd number of edges. Let $M$ be the perfect matching of $G' - s_2 - t_2$ containing $G_1$'s copies of the first, third, etc. edges of $P$, $G_2$'s copies of the second, forth, etc. edges of $P$ and the $0$ weight edges between $v_1$ and $v_2$ for every vertex $v$ not in $P$. Matching $M$ has the same weight as $P$'s parity weight, so &lt;em&gt;some&lt;/em&gt; perfect matching of $G'$ contains $P$ and has the appropriate weight.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Conversely, let $M$ be a perfect matching in $G' - s_2 - t_2$, and let $P = (V,E')$ contain exactly the edges of $M$ that were copied from $G$ (possibly with multiplicity). For every vertex $v \notin \{s,t\}$, either $v$ is incident to two edges copied from $G$ in $M$, or both copies of $v$ were matched along a $0$ weight edge not present in $G$. Vertices $s$ and $t$ have one matched copy in $M$. Therefore, every vertex of $P$ has degree $2$ or $0$ except for $s$ and $t$ which have degree $1$. Therefore, $s$ and $t$ lie in the same connected component of $P$, and that component is a path. Further, when tracing the edges of that path from $s$ to $t$ you find they come from $G_1$, then $G_2$, then $G_1$, etc. ending with $G_1$. There are an odd number of edges, and the parity weight of that path is the weight of those edges in $G'$. Every other component of $P$ must have non-negative weight, so $M$ is a perfect matching in $G' - s_2 - t_2$ with weight no less than $P$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finding a minimum parity weight $s - t$ path with an even number of edges is solved in exactly the same way, except you find a minimum weight perfect matching in $G' - s_2 - t_1$.&lt;/p&gt;&#xA;" OwnerUserId="13751" LastEditorUserId="13751" LastEditDate="2014-05-29T19:11:02.293" LastActivityDate="2014-05-29T19:11:02.293" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="22722" PostTypeId="2" ParentId="22670" CreationDate="2014-05-29T15:05:46.300" Score="0" Body="&lt;p&gt;(extended comment) the &quot;preprocessing&quot; you mention is covered by several standard algorithms. see &lt;a href=&quot;http://en.wikipedia.org/wiki/DPLL_algorithm&quot; rel=&quot;nofollow noreferrer&quot;&gt;unit propagation/pure literal elimination in DPLL algorithm&lt;/a&gt; &amp;amp; the &lt;a href=&quot;http://en.wikipedia.org/wiki/Quine_McCluskey&quot; rel=&quot;nofollow noreferrer&quot;&gt;Quine-Mccluskey CNF minimization algorithm&lt;/a&gt; (somewhat more studied in EE context than CS) where pairs of minterms with Hamming distance 1 are combined to find prime implicants. next, &lt;em&gt;essential&lt;/em&gt; prime implicants are found. however finding essential prime implicants in the latter algorithm leads to another NP complete minimum &lt;a href=&quot;http://en.wikipedia.org/wiki/Set_cover_problem&quot; rel=&quot;nofollow noreferrer&quot;&gt;set cover&lt;/a&gt; problem. most SAT solvers use heuristics for the CNF preprocessing/minimization although some implement the complete/optimal Quine-Mcclusky minimization on demand, which can succeed only for small formulas—the enumeration of all prime implicants can result in &quot;exponential blowup&quot; in size.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;see also &lt;a href=&quot;https://cstheory.stackexchange.com/questions/9839/shortest-equivalent-cnf-formula&quot;&gt;Shortest Equivalent CNF Formula&lt;/a&gt; tcs.se which has refs &amp;amp; defines its complexity class etc.&lt;/p&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2014-05-29T15:29:20.790" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22723" PostTypeId="2" ParentId="22714" CreationDate="2014-05-29T17:22:18.030" Score="16" Body="&lt;p&gt;Depends on your definition of NPI. If A is incomplete for Turing reductions, the answer is yes since SAT is not in $P^A$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If A is just many-one incomplete then we don't know how to prove it. We have a relativized world with there is a set A in NP such that A is not NP-complete via many-one reductions but SAT can be computed by a single query to A. (Theorem 1.9 in &lt;a href=&quot;http://people.cs.uchicago.edu/~fortnow/papers/newiso.pdf&quot;&gt;this paper&lt;/a&gt;).&lt;/p&gt;&#xA;" OwnerUserId="550" LastEditorUserId="550" LastEditDate="2014-05-29T20:18:06.323" LastActivityDate="2014-05-29T20:18:06.323" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="22726" PostTypeId="1" CreationDate="2014-05-30T07:40:27.517" Score="-1" ViewCount="123" Body="&lt;p&gt;I'd like to know whether an application development environment exists that uses a menu-driven coding editor that employs a programming language state machine. This would mean that commands, variable names, etc. are not manually keyed in, but rather are selected from a menu of context-specific options, where the programming language is expressed as a state machine, and where the state is derived from the current portion of the code being edited. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, before the first line of code is entered, the user is presented with a hierarchical menu of only those commands, operators, and data objects that 1) have been previously defined by the user or predefined by the programming language (e.g., the system clock), and 2) that are applicable to the current portion of the code being edited.  Thus, if at this point the user selects an If...then command from the commands submenu, he is then presented with another menu of data objects to choose from for the 'if' conditions(s), or else he can define a new data object for the condition on the fly.  After selecting/defining a data object, he is then given the choice to have the data object evaluated as is, or else he can select one or more functions from yet another menu of functions that may be applied to the selected data object (e.g., val()), and so on until the 'If' conditions have been set to the programmer's - and the language state machine's - satisfaction.  The process is then repeated for coding the 'then' portion of the statement. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The idea is that the user never types any portion of the code that can be derived from the programming language and predefined data objects (although he would still name user-created objects and functions, as well as enter strings and numbers that are required by any code elements he selects).  Rather, the user selects all such code elements from ever-changing, context-sensitive menus in order to assist the programmer and reduce syntax errors.  This wound be different than IDEs that display command templates that appear as guides when the user starts to type a command.&lt;/p&gt;&#xA;" OwnerUserId="23124" LastEditorUserId="109" LastEditDate="2014-06-27T14:50:56.523" LastActivityDate="2014-06-27T14:50:56.523" Title="Looking for menu-driven coding editor based on a programming language state machine" Tags="&lt;fl.formal-languages&gt;&lt;automata-theory&gt;&lt;turing-machines&gt;" AnswerCount="2" CommentCount="1" ClosedDate="2014-05-31T15:52:53.940" ContentLicense="CC BY-SA 3.0" />
  <row Id="22727" PostTypeId="2" ParentId="16608" CreationDate="2014-05-30T08:58:42.987" Score="40" Body="&lt;p&gt;I was just referred to this question by graduate students that, in my opinion, were far too influenced by the answers. So let me start with two generic advises.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;To the aspiring scientist: Don't assign too much weight to any answer on such matters, and don't assume that a small and highly non-random sample represents the common views among senior (or non-senior) people in the community. In general, think for yourself!&#xA;See &lt;a href=&quot;http://www.wisdom.weizmann.ac.il/~oded/advice.html&quot;&gt;http://www.wisdom.weizmann.ac.il/~oded/advice.html&lt;/a&gt; for more details...&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;To the senior scientist: Be careful about what you say, since it may be misinterpreted in harmful ways and/or have more impact than what you intend and/or perceive.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Re the discussion itself, I think that the idea that credits are non-monotone is not only utterly non-intuitive but also utterly wrong, and I am talking as a person who sat on numerous committees that took various career decisions. A person who has $X$ fundamental contributions, $Y$ important contributions, and $Z+1$ nice/legitimate contribution is ranked higher than one who has $(X,Y,Z)$, regardless of the numerical values of $X,Y,Z$ and assuming that quality captured by the $(X,Y,Z)$ triples is exactly the same. Trade-offs between different types is a different question, ditto re how much credit does each increase give...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In other words, for any set of works $S$ and any additional work $a$, &#xA;the credit of $S \cup \{a\}$ is (strictly) bigger than to $S$ [i.e., strict monotonicity].&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In my opinion, people who claim the opposite just assume that a larger number $Z$ implies a decrease in what the value of $X$ (or $Y$) could have been. But this assumption may be wrong and more importantly is irrelevant to the comparison at hand. That is, if you compare a case of $(X,Y,Z)$ to one of $(X,Y,Z+1)$, you must rule that the second person (called B) was able to meet the performance of the first (called A) although B also did another work of 3rd type; so B is clearly better. Indeed, you may think that B could have done better investing more energy in Type 1 (which is not always true - see below), but that's a comparison against an imaginary B, not against A. (And when you have a case of $(X,Y,Z)$ against $(X,Y,Z+10)$, the same holds is stronger terms.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In addition, I think there is also a confusion between the works and the publications. If a work already exists in writing, and assuming that it has its merits, then it can only be advantageous to publish it in a adequate venue, where by adequate I mean one that is intended for works of this profile (wrt quality and scope - publication in a &lt;em&gt;too&lt;/em&gt; prestigious conference may actually hurt, since it may generate some annoyance and even bad opinions re the author). But if one still has to develop a work from an initial idea (or &quot;only&quot; write it - which always involves some more research...), then one may consider the trade-off between the amount of time required versus the importance of the work.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, as I hinted above, it is not clear that one is better off aiming all the time at Type 1 (i.e., fundamental work). Firstly, this is infeasible and thus problematic/harmful. Secondly, and more importantly, one is always better off following the inherent logic of his/her own interests and ideas/feelings, and aiming to do as well as possible. See more in the aforementioned webpage.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Oded Goldreich&lt;/p&gt;&#xA;" OwnerUserId="23126" LastEditorUserId="23126" LastEditDate="2014-05-30T10:12:25.193" LastActivityDate="2014-05-30T10:12:25.193" CommentCount="12" ContentLicense="CC BY-SA 3.0" />
  <row Id="22730" PostTypeId="1" CreationDate="2014-05-30T12:00:24.713" Score="2" ViewCount="687" Body="&lt;p&gt;In the first edition of &lt;em&gt;Introduction to Algorithms&lt;/em&gt; (Cormen et al., MIT Press, 1990), the discussion of parallel algorithms is based on the PRAM model. In the second edition, paralellism has been eliminated, but in the third edition (Cormen et al., MIT Press, 2009), the topic is reintroduced, but with a dynamic threading model (based on &lt;a href=&quot;http://supertech.csail.mit.edu/cilk/&quot; rel=&quot;nofollow&quot;&gt;Cilk&lt;/a&gt;). The chapters are very different, for sure, and the models seem to be, as well, at least superficially. But I'm wondering: What are the differences in the underlying computational model or abstract machine here?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Their underlying model is still a shared-memory RAM machine with multiple processors. How is this different from the PRAM? Is it the case, perhaps, that they are in fact using the same underlying model, but approaching it differently? The threading is certainly handled differently in the classic PRAM algorithms – more in line with static threading, where you manually schedule which threads/processes are to run on which processors, rather than simply express concurrency/potential parallelism and have some automatic scheduler use the processors available. But still: Are there more fundamental differences?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In their chapter notes (3rd ed., Chapter 27), Cormen et al. write, “Prior editions of this book included material on […] the PRAM (Parallel Random Access Machine) model.” This seems to indicate that they do not view their dynamic multithreading as being built on this model. Is this so? If so, what differences am I missing?&lt;/p&gt;&#xA;" OwnerUserId="901" LastActivityDate="2017-08-11T02:43:28.253" Title="Difference between PRAM and machine model in dynamic multithreading" Tags="&lt;ds.algorithms&gt;" AnswerCount="2" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="22731" PostTypeId="2" ParentId="22719" CreationDate="2014-05-30T15:29:56.770" Score="8" Body="&lt;p&gt;One possible answer to your question is &lt;a href=&quot;http://en.wikipedia.org/wiki/Tennenbaum%27s_theorem&quot;&gt;Tennenbaum's Theorem&lt;/a&gt;. It states that no &lt;em&gt;non-standard&lt;/em&gt; model of arithmetic can have only computable operations, i.e. either addition or multiplication will be non-computable given any recursive description of the elements of the model.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now the remaining difficulty is having a &lt;em&gt;single formula&lt;/em&gt; which has as models only non-standard models of arithmetic. Note that while arithmetic isn't finitely axiomatizable, there are &lt;strong&gt;conservative&lt;/strong&gt; extensions of PA which &lt;em&gt;are&lt;/em&gt; finite.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now it's easy to build an infinite axiomatization of (an extension of) PA which has only non-standard models: add to PA a constant $c$ and the axioms&#xA;$$ c\neq 0,\ c\neq S(0),\ c\neq S(S(0)),\ldots$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There's a trick to turn this into a finite axiom. Add the binary predicate $\mathrm{NS}$ to your language, along with the axiom&#xA;$$ \forall xy,\ \mathrm{NS}(x, y)\leftrightarrow x\neq y\wedge \mathrm{NS}(x, S(y))$$&#xA;Then the above schema is expressed by $\mathrm{NS}(c, 0)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Important edit&lt;/strong&gt;: It is crucial that the induction schema (as axiomatized by your finite theory) does not apply to formulas containing $\mathrm{NC}$! Otherwise it is quite easy to show $\forall y,\ c\neq y$ and conclude $c\neq c$, a contradiction. I think that if you exclude those formulas from the induction principle, the above reasoning should go through without trouble. &lt;/p&gt;&#xA;" OwnerUserId="3984" LastEditorUserId="3984" LastEditDate="2014-05-30T15:36:41.707" LastActivityDate="2014-05-30T15:36:41.707" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="22732" PostTypeId="2" ParentId="22726" CreationDate="2014-05-30T15:33:10.393" Score="0" Body="&lt;p&gt;I would look at gupta team devleoper. It allows you to both free type code and select coding elements from a menu. The coding assistant menu shows you appliacable functions at any one time and this choice changes based on context i.e using a child table gui element the menu will show all table functions. &lt;a href=&quot;http://www.guptatechnologies.com/Products/App_Dev/TeamDeveloper/TD-Video-TD62-Overview.aspx&quot; rel=&quot;nofollow&quot;&gt;http://www.guptatechnologies.com/Products/App_Dev/TeamDeveloper/TD-Video-TD62-Overview.aspx&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="23131" LastActivityDate="2014-05-30T15:33:10.393" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22734" PostTypeId="1" AcceptedAnswerId="22736" CreationDate="2014-05-30T17:12:52.880" Score="18" ViewCount="765" Body="&lt;p&gt;Coq, Agda, and Idris have an infinite type hierarchy (Type 1 : Type 2 : Type 3 : ...). But why not do it instead like λC, the system in the lambda cube that's closest to the calculus of constructions, which has only two sorts, $*$ and $◽$, and these rules?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\frac {} {∅ ⊢ * : ◽}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\frac {Γ ⊢ T _ 1 : s _ 1 \qquad Γ, \: x : T _ 1 ⊢ t : T _ 2} {Γ ⊢ (λ \: x : T _ 1, \: t) : (Π \: x : T _ 1, \: T _ 2)}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\frac {Γ ⊢ T _ 1 : s _ 1 \qquad Γ, \: x : T _ 1 ⊢ T _ 2 : s _ 2} {Γ ⊢ (Π \: x : T _ 1, \: T _ 2) : s _ 2}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This seems simpler. Does this system have important limitations?&lt;/p&gt;&#xA;" OwnerUserId="22669" LastEditorUserId="22669" LastEditDate="2014-05-30T18:35:29.757" LastActivityDate="2014-06-02T01:53:22.483" Title="Why an infinite type hierarchy?" Tags="&lt;coq&gt;&lt;dependent-type&gt;&lt;calculus-of-constructions&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="22735" PostTypeId="2" ParentId="22726" CreationDate="2014-05-30T19:37:45.930" Score="2" Body="&lt;p&gt;This is a research area that's been investigated quite heavily since the late 1970s. The keyword to Google for is &quot;structure editor&quot;, and the great-grandparent of all modern structure editors is the &lt;a href=&quot;http://dl.acm.org/citation.cfm?doid=358746.358755&quot; rel=&quot;nofollow&quot;&gt;Cornell Program Synthesizer&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The main limitation of this kind of system is that it turns out there are many program edits which are easy to do with free text, but hard to do in a structure-respecting way. As a result, most modern IDEs use a variety of incremental parsing algorithms (see, for instance the work done as part of the &lt;a href=&quot;http://harmonia.cs.berkeley.edu/harmonia/index.html&quot; rel=&quot;nofollow&quot;&gt;Harmonia project&lt;/a&gt;) to build a parse tree from what the user types, and then repeatedly re-run static analysis on that AST. While computationally expensive, when done well this combines the benefits of both styles (and when done poorly, it combines their limitations). &lt;/p&gt;&#xA;" OwnerUserId="657" LastActivityDate="2014-05-30T19:37:45.930" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22736" PostTypeId="2" ParentId="22734" CreationDate="2014-05-30T19:49:17.047" Score="19" Body="&lt;p&gt;Actually, the approach of the CoC is more expressive -- it permits arbitrary impredicative quantification. For example, the type $\forall a.\; a \to a$ can be instantiated with itself to get $(\forall a.\; a \to a) \to (\forall a.\; a \to a)$, which is not possible with a universe hierarchy.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The reason it is not widely used is because impredicative quantification is incompatible with classical logic. If you have it, you cannot give a model of type theory where types are interpreted as sets in the naive way --- see John Reynolds's famous paper &lt;a href=&quot;http://hal.inria.fr/docs/00/07/62/61/PDF/RR-0296.pdf&quot;&gt;&lt;em&gt;Polymorphism is Not Set-theoretic&lt;/em&gt;&lt;/a&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since many people want to use type theory as a way to machine-check ordinary mathematical proofs, they are generally unenthusiastic about type-theoretic features which are incompatible with the usual foundations. In fact, Coq  originally supported impredicativity, but they have steadily abandoned it. &lt;/p&gt;&#xA;" OwnerUserId="657" LastActivityDate="2014-05-30T19:49:17.047" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22740" PostTypeId="1" CreationDate="2014-05-31T02:48:09.533" Score="1" ViewCount="175" Body="&lt;p&gt;The minimum description length of the realization of a random variable $x$ is given by the entropy of its probability mass function. It can be asymptotically communicated at this rate with an optimal coding. But that's for just one $x$ from the optimal coding table. How do we cover the whole support efficiently? (Of course, we'll have issues with quantization of real valued $x$-s in our code table, however optimized it's going to be.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Viewing it differently, entropy of the representation of a generic probability distribution with CDF $F(x)$, where $F(x) \sim p(F(x))$ on some space of distributions $D$, seems to be bounded from above by entropy of uniform $p$ on space $D$: $-\int_D{p(F(x))\ln{p(F(x))}dF(x)}$. But this is clearly not a sharp maximum description length bound (probably need to introduce some reasonable restrictions).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Looks like I'm missing something obvious, any ideas would be appreciated...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Oh, and this has nothing to do with differential vs discrete entropy, the same question can be posed for the latter case.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[Updated after Peter Shor's comments; also cleaned up language and formulations a bit.]&lt;/p&gt;&#xA;" OwnerUserId="23139" LastEditorUserId="23139" LastEditDate="2015-03-16T21:16:35.100" LastActivityDate="2015-03-16T21:16:35.100" Title="description of continuous probability distribution" Tags="&lt;reference-request&gt;&lt;it.information-theory&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="22741" PostTypeId="2" ParentId="22740" CreationDate="2014-05-31T03:40:19.123" Score="9" Body="&lt;p&gt;You're confusing the Shannon entropy of a discrete probability distribution with the differential entropy of a continuous probability distribution. The minimum distribution length is only given by the Shannon entropy for discrete probability distributions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What the fact that the &lt;strong&gt;&lt;em&gt;differential entropy&lt;/em&gt;&lt;/strong&gt; is 0 for this probability distribution means is that for large $k$, you can approximate this random variable with an expected error of $1/2^k$ using $k$ bits. If the differential entropy were $\ell$, you could approximate it with an error of $1/2^k$ using $k+\ell$ bits.&lt;/p&gt;&#xA;" OwnerUserId="1677" LastActivityDate="2014-05-31T03:40:19.123" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="22743" PostTypeId="2" ParentId="11890" CreationDate="2014-05-31T09:08:50.017" Score="19" Body="&lt;p&gt;The question seems somewhat under-specified in the sense that it did not specify the desired error probability of the procedure. Assuming one means constant error probability, then the above is indeed the best I know. For a detailed discussion see Sec 2.5.2.4 in my book &quot;The Foundations of Cryptography - Volume 1&quot; available at &lt;a href=&quot;http://www.wisdom.weizmann.ac.il/~oded/foc-vol1.html&quot;&gt;http://www.wisdom.weizmann.ac.il/~oded/foc-vol1.html&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;THE ABOVE IS WRONG. SEE CORRECTED ANSWER BELOW.&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Prop 2.5.6 in the aforementioned section proves a much better bound:&#xA;The algorithm runs in expected time $O(n \log^3(1/\epsilon))$ &#xA;times the running time of the guessing procedure&#xA;(see improvement from $n^2$ to $n$ in the comment right after the proof)&#xA;and is correct w.p. $\Omega(\epsilon^2)$. Hence, correctness w.p. $2/3$&#xA;is obtained in time (factor) ${\tilde O}(n/\epsilon^2)$, which is optimal in some sense&#xA;(see Exer 30).&lt;/p&gt;&#xA;" OwnerUserId="23126" LastEditorUserId="80" LastEditDate="2014-06-01T07:21:04.690" LastActivityDate="2014-06-01T07:21:04.690" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="22744" PostTypeId="2" ParentId="22730" CreationDate="2014-05-31T13:47:07.903" Score="3" Body="&lt;p&gt;Dynamic multithreading (like Cilk) does not involve processors working synchronously (in lockstep), for instance. PRAM is (sort of) SIMD, while DM is (sort of) MIMD. Notice that there are async PRAM models, but none seem to have gathered enough pull. Notice also that DM assumes logical parallelism, while PRAM is very much explicit parallelism, and that PREM machines (unlile DM) don't really exist beyond the lab.&lt;/p&gt;&#xA;" OwnerUserId="5599" LastEditorUserId="5599" LastEditDate="2014-05-31T16:40:53.580" LastActivityDate="2014-05-31T16:40:53.580" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="23746" PostTypeId="2" ParentId="21130" CreationDate="2014-05-31T22:50:29.773" Score="3" Body="&lt;p&gt;Traveling salesman is open on sold grid graphs, but Hamilton cycle (the unweighted variant) is known to be polynomial. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Discussion of both on the open problems project:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://cs.smith.edu/~orourke/TOPP/P54.html&quot; rel=&quot;nofollow&quot;&gt;http://cs.smith.edu/~orourke/TOPP/P54.html&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="8927" LastActivityDate="2014-05-31T22:50:29.773" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="23747" PostTypeId="1" CreationDate="2014-06-01T06:22:44.107" Score="9" ViewCount="495" Body="&lt;p&gt;What is the best result for the number of gates in a circuit multiplying two n-bit integers?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The obvious method generates $\theta(n^2)$ gates. There are better approaches with $\theta(n\log n \log\log n)$ and $\theta(n\log n2^{\log^*(n)})$ gates.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I could not find any Boolean circuit family which can handle multiplication with $n\log n$ gates. I wonder if such a family of circuits exists.&lt;/p&gt;&#xA;" OwnerUserId="1639" LastEditorUserId="5038" LastEditDate="2014-06-02T06:43:42.813" LastActivityDate="2014-07-02T18:48:55.680" Title="Fewest number of gates for Multiplication" Tags="&lt;cc.complexity-theory&gt;&lt;circuit-complexity&gt;" AnswerCount="1" CommentCount="12" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="23750" PostTypeId="2" ParentId="22730" CreationDate="2014-06-01T15:54:35.147" Score="-1" Body="&lt;p&gt;Update:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This answer was based on the assumption that DM was a programming model and the fact that PRAM is a computing model, but Dervin pointed out that DM is also a computing model which is correct.&lt;/p&gt;&#xA;" OwnerUserId="9917" LastEditorUserId="9917" LastEditDate="2014-06-01T17:47:45.153" LastActivityDate="2014-06-01T17:47:45.153" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="23751" PostTypeId="1" CreationDate="2014-06-01T23:48:11.043" Score="5" ViewCount="131" Body="&lt;p&gt;In their paper &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download;jsessionid=B0CA30DA4A312881F88B5AD6BE644032?doi=10.1.1.89.919&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;nofollow&quot;&gt;&quot;Poly-Logarithmic Deterministic Fully-Dynamic Algorithms for Connectivity, Minimum Spanning Tree, 2-Edge, and Biconnectivity&quot;&lt;/a&gt;, Holm, de Lichtenberg, and Thorup describe a data structure for maintaining dynamic connectivity in undirected graphs. Their data structure maintains a collection of forests $F_0, F_1, F_2, ..., F_{\log_2 n}$ made of forests of edges of different levels. In the paper, the authors say that the forests should be represented by having an Euler tour tree data structure for each level. Each tree is augmented with information about the number of edges in the tree, the number of edges of each level in the tree, which subtrees contain nodes adjacent to edges of the given level, and which subtrees contain edges of the given level.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It seems like it should be possible to maintain all this information in a single Euler tour tree by augmenting each node in the tree with $\log_2 n$ copies of the above information, one for each level. This would simplify the presentation of the data structure without requiring redundant copies of each edge.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does this modification work correctly? Or is there a reason to maintain a separate copy of the forests at each level?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks!&lt;/p&gt;&#xA;" OwnerUserId="4354" LastEditorUserId="80" LastEditDate="2014-06-02T10:33:46.050" LastActivityDate="2014-06-02T10:33:46.050" Title="Why is it necessary to maintain a collection of forests in the dynamic graph data structure?" Tags="&lt;graph-algorithms&gt;&lt;ds.data-structures&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="23752" PostTypeId="2" ParentId="22734" CreationDate="2014-06-02T01:53:22.483" Score="9" Body="&lt;p&gt;I'll compliment Neel's (excellent, as usual) answer with a bit more exposition on why levels are used in practice.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The first important limitation of CoC is that it is trivial! A surprising observation is that there is no type for which you can &lt;em&gt;prove&lt;/em&gt; that it has more than one element, much less an infinite number of them. Adding just 2 universes gives you the natural numbers with provably infinitely many elements, and all &quot;simple&quot; datatypes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The second limitation is the computation rules: CoC only supports &lt;em&gt;iteration&lt;/em&gt;, i.e. the recusive functions do not have access to the sub-terms of their arguments. For this reason, it is more convenient to add inductive types as a primitive construction, giving rise to the CIC. But now another problem arises: the most natural induction rule (called &lt;em&gt;elimination&lt;/em&gt; in this context) is inconsistent with the Excluded Middle! These problems don't appear if you restrict the induction rule to predicative types with universes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In conclusion, it appears that CoC has neither the expressiveness nor the robustness wrt consistency that you would like in a foundational system. Adding universes solves many of these problems.&lt;/p&gt;&#xA;" OwnerUserId="3984" LastActivityDate="2014-06-02T01:53:22.483" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="23753" PostTypeId="1" AcceptedAnswerId="23758" CreationDate="2014-06-02T02:04:48.813" Score="7" ViewCount="157" Body="&lt;p&gt;I'd like to have proof that Chaitin's constant for lambda calculus and/or SKI combinatory logic is pretty small. I've found some approximations (accurate to about 63 binary digits) for truing machines and as expected they were low, below 1% in fact. I can't find any bounds for lambda calculus or combinatory logic. I'd really just like to show that it is less than 10% to 20%. Does anyone know of such a paper or how to get such an awnser?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I also found &lt;a href=&quot;http://en.wikipedia.org/wiki/Binary_lambda_calculus#Halting_probability&quot;&gt;this&lt;/a&gt; but it doesn't have a reference for how it got that answer. If correct it would show that the probability is between 0.125 and 0.0625 which is great for me! Does anyone have a citation for this?&lt;/p&gt;&#xA;" OwnerUserId="21112" LastActivityDate="2014-06-02T13:09:37.840" Title="Upper bound on Chaitin's constant for lambda calculus and SKI combinatory logic" Tags="&lt;pr.probability&gt;&lt;lambda-calculus&gt;&lt;combinatory-logic&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="23755" PostTypeId="1" CreationDate="2014-06-02T11:51:31.483" Score="16" ViewCount="428" Body="&lt;p&gt;We say that NFA $M$ is &lt;em&gt;Constantly Ambiguous&lt;/em&gt; if there exist $k\in \mathbb{N}$ such that any word $w\in \Sigma^*$ is accepted by either $0$ or (exactly) $k$ paths.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If automaton $M$ is constantly ambiguous for $k=1$, then $M$ is called &lt;em&gt;Unambiguous FA&lt;/em&gt; (UFA).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $L$ be a regular language.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Can some constantly ambiguous automaton $M_c$ for $L$ be smaller than the smallest UFA that accepts $L$? How much smaller could it be?&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Can Finitely ambiguous automaton be exponentially smaller than the smallest CFA for the same language?&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is known that there are &lt;em&gt;Finitely&lt;/em&gt; ambiguous automatons (there exists $k$, such that every word is accepted by &lt;strong&gt;up to&lt;/strong&gt; $k$ paths) which are exponentially smaller than the smallest UFA for the same language, but I haven't seen something about constant ambiguity.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Also, here's a &lt;a href=&quot;https://cstheory.stackexchange.com/questions/20562/how-small-can-a-nfa-be-compared-to-the-minimal-unambiguous-finite-automaton-uf?rq=1&quot;&gt;related question&lt;/a&gt; I've posted here a few months ago.&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;EDIT:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Domotorp's answer shows that $CFA$ is polynomially reducible to $UFA$, but doesn't address the question of whether we can gain that polynomial space reduction by $CFA$s.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So the new question becomes: &lt;strong&gt;How much smaller (linearly/quadratically/etc.) can a $CFA$ be compared to the minimal $UFA$? for the same language?&lt;/strong&gt;&lt;/p&gt;&#xA;" OwnerUserId="21001" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2014-06-13T13:07:33.157" Title="Can constant ambiguity reduce the state complexity of a regular languages?" Tags="&lt;complexity-classes&gt;&lt;fl.formal-languages&gt;&lt;automata-theory&gt;&lt;regular-language&gt;" AnswerCount="1" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="23756" PostTypeId="1" CreationDate="2014-06-02T12:13:30.173" Score="8" ViewCount="642" Body="&lt;p&gt;Looking at the list of important papers in computer science one notices that the majority are authored by a single author. Those include classic papers of Turing, Shannon, Karp and Cook. Cook's solo paper started the most important question of computer science.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;How can we explain this? What are the implications to the creative process in theoretical computer science?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am aware of paradigm shifts and paradigm blindness. However, I doubt they fully explain this phenomena.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is the list that includes &lt;a href=&quot;http://en.wikipedia.org/wiki/List_of_important_publications_in_theoretical_computer_science&quot; rel=&quot;nofollow&quot;&gt;important papers in TCS&lt;/a&gt; which motivated my question.&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2014-06-02T22:58:11.907" LastActivityDate="2014-06-02T22:58:11.907" Title="Why is single authorship so common among breakthrough papers in computer science?" Tags="&lt;soft-question&gt;&lt;research-practice&gt;&lt;ho.history-overview&gt;" AnswerCount="0" CommentCount="23" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="23757" PostTypeId="1" AcceptedAnswerId="23776" CreationDate="2014-06-02T12:17:48.897" Score="4" ViewCount="664" Body="&lt;p&gt;Suppose you are given two lists $L_1$ and $L_2$, each of which contains pairwise distinct elements from some set $S$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;What is the complexity of computing the intersection $L_1\cap L_2$ of the two lists?&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you have an order on $S$, you can sort your both lists and then compute the intersection in linear time, achieving $O(n\log n)$ complexity where $n=\max(|L_1|,|L_2|)$. More specific questions are then:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Can you compute the intersection in linear time, or at least faster than $O(n\log n)$?&lt;/li&gt;&#xA;&lt;li&gt;If there is no natural order on $S$, what complexity can you achieve &lt;em&gt;without using a sorting algorithm&lt;/em&gt;?&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The second bullet point is quite vague. What I want to understand is whether sorting the lists (or one of them) is necessary though the answer does not need to be sorted.&lt;/p&gt;&#xA;" OwnerUserId="976" LastActivityDate="2014-06-04T12:57:10.110" Title="Intersection of two unsorted sets or lists" Tags="&lt;ds.algorithms&gt;" AnswerCount="1" CommentCount="7" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="23758" PostTypeId="2" ParentId="23753" CreationDate="2014-06-02T13:09:37.840" Score="9" Body="&lt;p&gt;You probably want to look at David &lt;em&gt;et al&lt;/em&gt;'s paper, &lt;a href=&quot;http://arxiv.org/pdf/0903.5505&quot; rel=&quot;noreferrer&quot;&gt;Asymptotically Almost All λ-terms are Strongly Normalizing&lt;/a&gt;:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;We present a quantitative analysis of various (syntactic and behavioral) properties of random λ-terms. Our main results show that asymptotically, &lt;strong&gt;almost all terms are strongly normalizing&lt;/strong&gt; and that any fixed closed term almost never appears in a random term.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Surprisingly, in combinatory logic (the translation of the λ-calculus into combinators), the result is exactly opposite.&lt;/strong&gt; We show that almost all terms are not strongly normalizing. This is due to the fact that any fixed combinator almost always appears in a random combinator.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;You should be able to cook up a bound from looking at the details of their proof.&lt;/p&gt;&#xA;" OwnerUserId="657" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2014-06-02T13:09:37.840" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="23761" PostTypeId="2" ParentId="23747" CreationDate="2014-06-02T15:26:31.723" Score="2" Body="&lt;p&gt;Below is a detailed 2008 survey that covers top theoretical algorithms for multiplication, including the ones discussed in the comments to your question (including the Schönhage–Strassen algorithm and the $O(n\log n \, 2^{\log^* n})$ Fuerer algorithm, see page 335 of survey). However, implementation is a different matter and some of these algorithms may not be considered practical; the survey does not cover practical implementations. Although the survey includes algorithms for polynomials, power series, real numbers, and 2-adic numbers, integers are a special case of these (see Figure 1 on page 336).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.11.9226&quot; rel=&quot;nofollow&quot;&gt;Fast Multiplication And Its Applications&lt;/a&gt;, Bernstein (Algorithmic Number Theory / MSRI Publications / Volume 44, 2008)&lt;/p&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="4193" LastEditDate="2014-06-02T18:48:42.627" LastActivityDate="2014-06-02T18:48:42.627" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="23762" PostTypeId="1" AcceptedAnswerId="25184" CreationDate="2014-06-02T15:41:36.983" Score="9" ViewCount="289" Body="&lt;p&gt;Say we have a Boolean function $f:\{-1,1\}^n\rightarrow \{-1,1\}$ and  we apply $\delta$-random restriction on $f$. In addition, say that the decision tree $T$ that computes $f$ shrinks to size $O(1)$ as a result of the random restriction. Does this imply that $f$ has a very low total-influence?&lt;/p&gt;&#xA;" OwnerUserId="17092" LastEditorUserId="17092" LastEditDate="2014-06-03T08:14:05.000" LastActivityDate="2014-07-09T09:01:01.830" Title="Random restrictions and the connection to total influence of Boolean functions" Tags="&lt;cc.complexity-theory&gt;&lt;co.combinatorics&gt;&lt;circuit-complexity&gt;&lt;boolean-functions&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="23763" PostTypeId="1" AcceptedAnswerId="25146" CreationDate="2014-06-02T17:05:35.617" Score="2" ViewCount="84" Body="&lt;p&gt;There are two ways to extend &lt;a href=&quot;http://homepages.math.uic.edu/~marker/inf.pdf&quot; rel=&quot;nofollow&quot;&gt;infinitary logic&lt;/a&gt; with counting:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.33.726&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;nofollow&quot;&gt;Grädel's way (cf. p. 11):&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We extend $L_{\infty\omega}$ by introducing a counting existential quantifier:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$ \mathcal{A} \models \exists^{\geq m} x \varphi(x) \Leftrightarrow &#xA;\textrm{There are at least $m$ $a \in A$ s.t. } \mathcal{A} \models \varphi(a).$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Introducing such a quantifier for $\mathsf{FO}$ does not increase the expressive power because can easily define it with the usual $\exists$-quantifiers. However, $C^1_{\infty\omega}  \not\leq L_{\infty\omega}$ &#xA;(One variable is sufficient to express that $|A|$ is even in $C_{\infty\omega}$ yet it is not definable in $L_{\infty\omega}$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.db.toronto.edu/db/WebPage/files/tocl00.ps&quot; rel=&quot;nofollow&quot;&gt;Libkin's way (cf. p. 8)&lt;/a&gt;:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We define a two-sorted framework. We have two kinds of variables now&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Number variables in $N^A = \{ x \in \mathbb{N} \mid 0 \leq x \leq |A|-1\}$&lt;/li&gt;&#xA;&lt;li&gt;Vertex variables (the old type) in $A$&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Additionally, we have the natural ordering on the numbers. Furthermore, we introduce&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$ \#x.\varphi \in N^A$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;which represent the numeric value how many  $x \in A$ satisfy $A \models \varphi(x)$.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Libkin's way is at least as expressive as Grädel's way, since for&#xA;  $\exists^{\geq m} x \varphi(x)$ we write&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;$$ \#x.\varphi \geq m.$$&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Im trying to define &lt;a href=&quot;http://en.wikipedia.org/wiki/Graph_canonization&quot; rel=&quot;nofollow&quot;&gt;Graph Canonization&lt;/a&gt; with Infinitary Counting Logics with finitely many variables. Libkin's way is easier on first glance since we have free numerical variables which can represent graph nodes, edges and so on. Graph Canonization with Fixed-Point Logics works very similar. However, for the Grädel way there are a lot of results like $k$-Pebble-Games and a connection the $k$-dimensional Weisfeiler-Lehman Algorithm which is a direct connection to the Graph-Isomorphism Problem. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are the Libkin way and the Grädel way equivalent in expressiveness? Do the mentioned results work with the Libkin way? Are their respective restrictions with $k$ variables equivalent? How do I count the variables for the Libkin approach (numerical variables + vertex variables?)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any ideas how to define Graph Canonizations with the Grädel way?&lt;/p&gt;&#xA;" OwnerUserId="7594" LastEditorUserId="7594" LastEditDate="2014-06-02T20:52:20.840" LastActivityDate="2014-07-05T14:40:28.513" Title="Infinitary Counting Logics: 1-sorted vs. 2-sorted framework" Tags="&lt;graph-theory&gt;&lt;lo.logic&gt;&lt;graph-isomorphism&gt;&lt;descriptive-complexity&gt;&lt;finite-model-theory&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="23766" PostTypeId="1" CreationDate="2014-06-03T05:54:53.937" Score="12" ViewCount="317" Body="&lt;p&gt;The standard proof that BQPSPACE is in PSPACE relies on a Savitch game type analysis on path integrals. However, it assumes the time running length for BQPSPACE is at most exponentially long. This is true for PSPACE, but for closed quantum systems with a fixed number of degrees of freedom, it typically takes a doubly exponentially long time before Poincare recurrence due to the exponential nature of the state vector. So, does the proof still run through, or not?&lt;/p&gt;&#xA;" OwnerUserId="24171" LastActivityDate="2017-12-31T01:58:41.267" Title="Why is BQPSPACE in PSPACE if it can have doubly exponentially long running times?" Tags="&lt;quantum-computing&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="23767" PostTypeId="1" AcceptedAnswerId="25011" CreationDate="2014-06-03T11:40:18.007" Score="2" ViewCount="408" Body="&lt;p&gt;&lt;a href=&quot;https://research.microsoft.com/apps/pubs/default.aspx?id=142356&quot; rel=&quot;nofollow&quot;&gt;Hub labeling&lt;/a&gt; (HL) computes superlabels using the vertices visited by the forward and reverse &lt;a href=&quot;http://algo2.iti.kit.edu/schultes/hwy/contract.pdf&quot; rel=&quot;nofollow&quot;&gt;Contraction Hierarchies&lt;/a&gt; (CH) search. Those labels are then pruned (see HL, sec. 4.2) to generate strict labels.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I don't understand how there can be labels that can be pruned. From my understanding the shortcuts added by CH should make sure that in both forward and reverse searches we will either&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;reach a node via a shortest path or&lt;/li&gt;&#xA;&lt;li&gt;not reach a node at all.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;How is it possible that we reach some nodes via a path that is longer than the shortest path? Could anyone provide a minimal example?&lt;/p&gt;&#xA;" OwnerUserId="24173" LastActivityDate="2016-01-04T10:57:45.710" Title="Why is label pruning possible with hub labeling?" Tags="&lt;ds.algorithms&gt;&lt;shortest-path&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="23768" PostTypeId="2" ParentId="22650" CreationDate="2014-06-03T12:05:07.723" Score="1" Body="&lt;p&gt;I found a reduction from the Partition Problem to a modified version of the proposed problem.&lt;/p&gt;&#xA;&#xA;&lt;h3&gt;Partition Problem (Optimization)&lt;/h3&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;input: set of integers S&lt;/li&gt;&#xA;&lt;li&gt;output: partition of S into S1 and S1 such&#xA;that the difference of the sums of S1 and S2 is minimized: &#xA;$$\lvert\sum_{s\in S1}s - \sum_{s\in S2}s\lvert.$$&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;This problem is NP-hard.&lt;/p&gt;&#xA;&#xA;&lt;h3&gt;Level Assignment Problem (Optimization)&lt;/h3&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;input: a DAG $G = (V,E)$, a weight function $w:V\rightarrow\mathbb{Z}$&lt;/li&gt;&#xA;&lt;li&gt;output: a mapping $m:V\rightarrow[1,depth(G)]$ such that:&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;$(v1,v2) \in E \Rightarrow m(v1) &amp;gt; m(v2)$&lt;/li&gt;&#xA;&lt;li&gt;the following is minimized: &#xA;$$sum\{ numlevels(v) \times w(v) \mid v \in V\},$$&#xA;where $$numlevels(v) = |\{m(v') \mid (v',v) \in E \}|.$$&lt;/li&gt;&#xA;&lt;/ol&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;h3&gt;Reduction&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;The reduction from the partition problem to the level assignment problem can be done as follows: for each $s_i \in S$, create the following gadget, where the weights are indicated between brackets:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/kGcZH.png&quot; alt=&quot;gadget for a number si&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is easy to see that the following mappings are obligatory:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$m(A_i) = 1$&lt;/li&gt;&#xA;&lt;li&gt;$m(B_i) = 1$&lt;/li&gt;&#xA;&lt;li&gt;$m(A'_i) = 2$&lt;/li&gt;&#xA;&lt;li&gt;$m(B'_i) = 3$&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Hence, the only choice left is $m(v_i)$. When choosing $m(v_i) = 2$, this gadget will contribute $s_i$ to the total sum. When $m(v_i) = 3$, it will contribute $-s_i$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, after solving the level assignment problem, group the $s_i$ in the following way:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$S_1 = \{s_i \in S \mid m(v_i) = 2\}$  &lt;/li&gt;&#xA;&lt;li&gt;$S_2 = \{s_i \in S \mid m(v_i) = 3\}$  &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The gadgets related to $S_1$ will contribute positively, those to $S_2$ negatively. Hence, we get a total cost of:&#xA;$$\sum_{s \in S_1} s + \sum_{s \in S_2} (-s) = \sum_{s \in S_1} s - \sum_{s \in S_2} s.$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is the function that is minimized and it corresponds to the minimization problem of the partition problem. Hence, our problem must be NP-hard as well.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note: the partition problem has an absolute value in the function to be minimized. This is no problem, as this can be accomplished by swapping $S_1$ and $S_2$. &lt;/p&gt;&#xA;" OwnerUserId="9127" LastActivityDate="2014-06-03T12:05:07.723" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="23769" PostTypeId="1" CreationDate="2014-06-03T14:09:39.290" Score="5" ViewCount="624" Body="&lt;p&gt;I am trying to learn about some techniques that are used for proving the NP-completeness of domination related problems. One of the problems that is known to be NP-complete is the domination number of planar graphs with maximum degree 3 (Garey and Johnson). Everybody in any paper and book, they refer to Garey and Johnson book, but there is no proof there, cause Garey and Johnson book refer to a reference at the end of the book which is unpublished.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does any body know what is a proof for this problem, or any reference for it?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks,&#xA;Elham&lt;/p&gt;&#xA;" OwnerUserId="24174" LastActivityDate="2014-06-04T09:23:40.390" Title="NP-completeness of the Dominating set problem for planar graphs of maximum degree 3?" Tags="&lt;np-hardness&gt;" AnswerCount="0" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="23770" PostTypeId="1" AcceptedAnswerId="23780" CreationDate="2014-06-03T14:38:51.230" Score="9" ViewCount="216" Body="&lt;p&gt;Let $f\in\mathbb{Q}[x_{1},x_{2},\ldots,x_{n}]$ be a polynomial given&#xA;by an arithmetic circuit $C$ of size $s$. Given $C$ as the input,&#xA;is there a deterministic algorithm to check whether all the irreducible&#xA;factors of $f$ in $\mathbb{Q}[x_{1},x_{2},\ldots,x_{n}]$ are linear&#xA;forms? On a related note, given a linear form $l=\sum_{i=1}^{n}l_{i}\cdot x_{i}$,&#xA;can we check deterministically whether $l$ is factor of $f$. Of&#xA;course, we want running time to be polynomial in both the cases. &#xA;By size, we mean the total bit size. Also, it can be assumed that degree of $f$ is polynomial in $n$.&lt;/p&gt;&#xA;" OwnerUserId="16008" LastEditorUserId="16008" LastEditDate="2014-06-04T14:48:51.957" LastActivityDate="2014-06-04T14:48:51.957" Title="Checking if a polynomial factors into linear factors" Tags="&lt;ds.algorithms&gt;&lt;algebraic-complexity&gt;&lt;arithmetic-circuits&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="23771" PostTypeId="1" AcceptedAnswerId="23777" CreationDate="2014-06-03T14:58:51.563" Score="3" ViewCount="1743" Body="&lt;p&gt;Is there a way to express the condition that exactly $k$ of $N$ boolean variables are active without writing a disjunction of $N$-choose-$k$ terms, i.e., all possible configurations of the $N$ variables where exactly $k$ are active? Is the same true for specifying that at least $K$ of the $N$ boolean variables are active?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm aware that this is a problem dealt with in theoretical computer science but I couldn't find any references. &lt;/p&gt;&#xA;" OwnerUserId="17414" LastEditorUserId="17414" LastEditDate="2014-06-03T16:12:27.007" LastActivityDate="2017-03-20T22:49:29.753" Title="SAT formula specifying that exactly $k$ of $N$ boolean variables are active using less than $N$-choose-$k$ terms" Tags="&lt;reference-request&gt;&lt;sat&gt;" AnswerCount="2" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="23772" PostTypeId="1" CreationDate="2014-06-03T15:23:50.477" Score="5" ViewCount="105" Body="&lt;p&gt;A $(n,k)$-perfect hashing family is a family of functions $H=\{h_i:[n]\to[k]\}$ such that for every set $S\subset [n], |S|\leq k$, there exists some $h_S \in H$ such that $H_S$ is injective on $S$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are known (deterministic) builds of such family of size $O(e^{k+log^2k}log n)$, while there is a $\Omega(e^k \cdot \frac{log n}{\sqrt k})$ lower bound , which is almost tight.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm looking at a slight variation of this, and require that for every (ordered) sequence $X=&amp;lt;x_1,x_2,...,x_k&amp;gt;$ such that $\forall i\neq j:x_i\in [n],x_i\neq x_j$, there exists some $h_S$ such that $\forall i\in [k]: h(x_i)=i$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Showing a small (of size $O(k^{k+1} \log n)$) family exists is quite simple:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The probability that such random $h$ satisfies the condition for $X$ is $k^{-k}$, and there are $\frac{n!}{(n-k)!}$ such vectors, so if I pick a random set of $r$ functions the chance that any $X$ was left uncovered is at most (union bound)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$ (1-k^{-k})^r\frac{n!}{(n-k)!} &amp;lt; (1-k^{-k})^r\cdot n^k &amp;lt; n^ke^{rk^{-k}}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now we can demand that the probability will be strictly smaller than 1 (which means that family of size $r$ exists), we get:&#xA;$$r &amp;gt; k^{k+1}\text{log}n$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;What is the smallest ordered perfect hashing family we can build deterministically?&lt;/strong&gt;&lt;/p&gt;&#xA;" OwnerUserId="21001" LastEditorUserId="4193" LastEditDate="2014-06-03T16:46:16.540" LastActivityDate="2014-06-03T16:46:16.540" Title="What is the smallest deterministic construction of an ordered perfect hashing family?" Tags="&lt;ds.algorithms&gt;&lt;co.combinatorics&gt;&lt;extremal-combinatorics&gt;" AnswerCount="0" CommentCount="1" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="23773" PostTypeId="1" CreationDate="2014-06-03T15:52:27.243" Score="1" ViewCount="177" Body="&lt;p&gt;Suppose, there is an algorithm for enumerating minimum clique edge cover. Is it always possible to convert the algorithm to enumerate clique vertex cover ?&lt;/p&gt;&#xA;" OwnerUserId="12280" LastActivityDate="2014-06-03T15:52:27.243" Title="Minimum Clique edge cover to cilque vertex cover" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;clique&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="23776" PostTypeId="2" ParentId="23757" CreationDate="2014-06-03T22:54:35.000" Score="8" Body="&lt;p&gt;In the algebraic decision/computation tree models, your problem has an $\Omega(n\log n)$ lower bound, even if you know in advance that one of your lists contains the integers $1$ through $n$ in sorted order, and you only need to check whether the second list is a permutation of the first.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Proof (for algebraic computation trees):&lt;/strong&gt; The set of points whose coordinates are permutations of $(1,2,\dots,n)$ has $n!$ components. Ben-Or proved that for any algebraic computation tree of height $h$, the set of points in $R^n$ that reach YES leaves has at most $2^h 3^{n+h}$ components. Solve for $h$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;If you are restricted to equality tests, an $\Omega(n^2)$ lower bound follows from a straightforward adversary argument.&lt;/p&gt;&#xA;" OwnerUserId="111" LastEditorUserId="111" LastEditDate="2014-06-04T12:57:10.110" LastActivityDate="2014-06-04T12:57:10.110" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="23777" PostTypeId="2" ParentId="23771" CreationDate="2014-06-04T01:18:48.063" Score="6" Body="&lt;p&gt;There are many ways.  See &lt;a href=&quot;https://cs.stackexchange.com/q/13188/755&quot;&gt;Encoding 1-out-of-n constraint for SAT solvers&lt;/a&gt; for a compendium of several ways and for a useful reference with more information.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;From a practical perspective, the different schemes have different tradeoffs.  If you are trying to encode a $k$-out-of-$N$ constraint in something you are feeding to a SAT solver, you can try each of the different candidate encodings to see which makes the SAT solver run faster; they can have a significant impact on the efficiency of the SAT solver.&lt;/p&gt;&#xA;" OwnerUserId="5038" LastEditorUserId="-1" LastEditDate="2017-04-13T12:48:30.830" LastActivityDate="2014-06-04T01:18:48.063" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="23780" PostTypeId="2" ParentId="23770" CreationDate="2014-06-04T13:00:10.220" Score="8" Body="&lt;p&gt;As far as I know, the best algorithm we have currently to check if $f$ (given by an arithmetic circuit) can be factorized into linear factors is via the randomized algorithm of &lt;a href=&quot;http://www.math.ncsu.edu/~kaltofen/bibliography/89/Ka89_slpfac.pdf&quot;&gt;Kaltofen (PDF)&lt;/a&gt; which actually produces blackboxes for all the irreducible factors of $f$, and works over any large enough field. In fact, this problem of polynomial factorization for general circuits was recently shown by &lt;a href=&quot;http://www.cs.technion.ac.il/~shpilka/publications/KoppartySarafShpilka14.pdf&quot;&gt;Kopparty, Saraf and Shpilka&lt;/a&gt; to be equivalent to the problem of blackbox-PIT for general circuits. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;As mentioned by Bruno, if you are interested in checking a the given circuit is divisible by a given $\ell$, then this reduces to a specific PIT problem. We don't know how to do this deterministically in general but I know of one special case where we know how to do this PIT. There is a &lt;a href=&quot;http://eccc.hpi-web.de/report/2011/021/download&quot;&gt;deterministic poly-time algorithm (PDF)&lt;/a&gt; to check if a given $\ell$ divides a given sparse polynomial $f$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Another trivial special case when $f$ is given by a bounded top fan-in depth three circuit. There, $f \bmod \ell$ is also a bounded fan-in depth three circuit and we know how to do PIT in deterministic polynomial time.)&lt;/p&gt;&#xA;" OwnerUserId="877" LastActivityDate="2014-06-04T13:00:10.220" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="23781" PostTypeId="1" AcceptedAnswerId="23782" CreationDate="2014-06-04T14:26:45.710" Score="5" ViewCount="424" Body="&lt;p&gt;I'm wondering if there are good references that describe the random restriction method as a lower bound technique ? I'm aware that it's linked to the switching lemma and shows up in many different proofs, but I'm looking for a more or less self-contained explanation of the idea. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2014-06-04T20:04:47.527" Title="A good exposition of the random restriction method" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;circuit-complexity&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="23782" PostTypeId="2" ParentId="23781" CreationDate="2014-06-04T18:35:18.727" Score="9" Body="&lt;p&gt;A relatively simple setting to illustrate the method of random restrictions is Subbotovskaya's original application of the method to prove an $\Omega(n^{1.5})$ lower bound on the formula size of the parity function, where formulas use arity-2 AND and OR operations. Section 6.3. of Jukna's Boolean Function Complexity has a nice exposition. Also, see these &lt;a href=&quot;http://www.math.rutgers.edu/~sk1233/courses/topics-S13/lec2.pdf&quot;&gt;lecture notes&lt;/a&gt; from Swastik Kopparty's class in Rutgers.&lt;/p&gt;&#xA;" OwnerUserId="4896" LastEditorUserId="4896" LastEditDate="2014-06-04T20:04:47.527" LastActivityDate="2014-06-04T20:04:47.527" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="23783" PostTypeId="1" AcceptedAnswerId="23787" CreationDate="2014-06-04T22:29:33.533" Score="4" ViewCount="193" Body="&lt;p&gt;I understand that a decision problem can be decidable &lt;em&gt;with respect to&lt;/em&gt; certain computational models. For instance, the question whether an arbitrary sequence of parenthesis is balanced is undecidable for finite state automata and decidable for pushdown automata.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does something similar hold for the complexity of problems? For instance, are there problems that are in $\mathbf{P}$ with respect to one computational model, but are in $\mathbf{EXPTIME} \setminus \mathbf{P}$ with respect to a strictly weaker one?&lt;/p&gt;&#xA;" OwnerUserId="13344" LastEditorUserId="16132" LastEditDate="2014-06-05T15:50:07.143" LastActivityDate="2014-06-05T15:50:07.143" Title="Can complexities differ w.r.t. different computational models?" Tags="&lt;cc.complexity-theory&gt;&lt;computability&gt;&lt;terminology&gt;" AnswerCount="2" CommentCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="23784" PostTypeId="1" AcceptedAnswerId="23793" CreationDate="2014-05-30T22:51:10.830" Score="9" ViewCount="204" Body="&lt;p&gt;What is the ratio of &lt;a href=&quot;https://en.wikipedia.org/wiki/Ambiguous_grammar&quot; rel=&quot;nofollow&quot;&gt;ambiguous&lt;/a&gt; CFGs to all &lt;a href=&quot;https://en.wikipedia.org/wiki/Context-free_grammar&quot; rel=&quot;nofollow&quot;&gt;CFGs&lt;/a&gt;? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since both sets are countably infinite the ratio is not well-defined. &#xA;But what about the &lt;a href=&quot;https://en.wikipedia.org/wiki/Natural_density&quot; rel=&quot;nofollow&quot;&gt;asymptotic density&lt;/a&gt;:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\lim_{n \mapsto \infty}\frac&#xA;  {\# \text{ ambiguous CFG of size} &amp;lt; n}&#xA;  {\# \text{ CFG of size} &amp;lt; n}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where terminal and non-terminal symbols come from a fixed countable set. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The size of a grammar is any reasonable notion of size for grammars, e.g.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;the total number of occurrences of variables and terminals in the production rules, or&lt;/li&gt;&#xA;&lt;li&gt;the total number of occurrences of variable, or &lt;/li&gt;&#xA;&lt;li&gt;the total number of production rules, or&lt;/li&gt;&#xA;&lt;li&gt;the number of distinct variables.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;(I am assuming the definition of size will not affect the answer.)&lt;/p&gt;&#xA;" OwnerUserId="24196" OwnerDisplayName="user18064" LastEditorUserId="5038" LastEditDate="2014-06-06T01:21:17.473" LastActivityDate="2014-06-06T06:35:17.070" Title="Asymptotic density of ambiguous context-free grammars (CFGs)" Tags="&lt;fl.formal-languages&gt;&lt;grammars&gt;&lt;context-free&gt;" AnswerCount="1" CommentCount="37" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="23786" PostTypeId="1" AcceptedAnswerId="23795" CreationDate="2014-06-05T01:20:25.470" Score="2" ViewCount="85" Body="&lt;p&gt;I am reading the paper &lt;em&gt;&lt;a href=&quot;http://jurg.wulli.com/crypto/WolWul05c.pdf&quot; rel=&quot;nofollow&quot;&gt;New Monotone and Lower Bounds in Unconditional Two Party Computation&lt;/a&gt;&lt;/em&gt; by Wolf and Wullschleger.&#xA;In Definition 2 on the third page, they define $f(x):=P_{Y|X}(\cdot|x)$ and they claim that $f(X)$ is the sufficient statistics of $X$ from $Y$. This means that $I(Y; X)=I(Y; f(X))$ where $I(\cdot; \cdot)$ is the mutual information.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I don't understand the definition of $f$. What does $f(X)=c$ mean?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The above implies that we have the two Markov chains $Y\to X\to f(X)$ and $Y\to f(X)\to X$. I don't understand the second Markov chain. Is there any intuition behind this? (The proof is given in the paper but I am looking for some intuition.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is the entropy of $f(X)$ equal to $H(Y|X)$?&lt;/p&gt;&#xA;" OwnerUserId="21925" LastEditorUserId="4193" LastEditDate="2014-06-05T19:31:27.483" LastActivityDate="2014-06-06T06:50:20.480" Title="Sufficient Statistics of $X$ from $Y$" Tags="&lt;cr.crypto-security&gt;&lt;pr.probability&gt;&lt;it.information-theory&gt;&lt;shannon-entropy&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="23787" PostTypeId="2" ParentId="23783" CreationDate="2014-06-05T10:00:28.423" Score="10" Body="&lt;p&gt;Niel De Beaudrap's point is an important one: a complexity class is defined &lt;em&gt;with respect to&lt;/em&gt; a machine model. But if I were to re-interpret your question as:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Can the complexity of a problem differ greatly in different computational models ? &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Then the answer is yes. &lt;a href=&quot;https://cstheory.stackexchange.com/a/22080/80&quot;&gt;JeffE's answer&lt;/a&gt; to &lt;a href=&quot;https://cstheory.stackexchange.com/questions/22079/provable-gaps-between-decision-tree-complexity-and-true-complexity&quot;&gt;my earlier question&lt;/a&gt; about decision tree complexity presents an example of an NP-hard problem (SUBSET SUM) that has polynomial decision tree complexity. &lt;/p&gt;&#xA;" OwnerUserId="80" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2014-06-05T10:00:28.423" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="23788" PostTypeId="2" ParentId="23783" CreationDate="2014-06-05T10:46:41.523" Score="4" Body="&lt;p&gt;Another well known example of how a Turing complete computational model can lead to a time complexity blow-up is &lt;a href=&quot;http://en.wikipedia.org/wiki/Counter_automaton&quot; rel=&quot;nofollow&quot;&gt;2 Counter Automata (2CA)&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A 2CA is equipped with two registers that can store an unbounded nonnegative integer and can execute only simple instructions decrement/increment the counters, conditional jumps (after checking if a counter is zero), unconditional jump.&#xA;The input is placed in one of the two counters, so it must be represented in &lt;em&gt;unary&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A 2CA can simulate an arbitrary Turing machine $M$ on input $x$ but only if its input is set to $2^x$. So every simulated tape operation of $M$ on $x$ requires exponential time.&lt;/p&gt;&#xA;" OwnerUserId="3247" LastActivityDate="2014-06-05T10:46:41.523" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="23789" PostTypeId="1" CreationDate="2014-06-05T16:50:37.203" Score="3" ViewCount="107" Body="&lt;p&gt;Suppose we have an arbitrary term, &lt;code&gt;x&lt;/code&gt;, in Lambda Calculus, or in an equivalent turing-complete system. Suppose we ask an oracle what is the normal form of that term, and it answers &lt;code&gt;y&lt;/code&gt;. Is it possible to determine, in finite time, if the oracle answer's ir correct?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Secondary question: is there any system (non-turing complete, perhaps) where that would be possible?&lt;/p&gt;&#xA;" OwnerUserId="17388" LastActivityDate="2014-06-06T07:19:12.410" Title="Is it possible to determine if a reduction is correct?" Tags="&lt;pl.programming-languages&gt;&lt;computability&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="23792" PostTypeId="1" CreationDate="2014-06-06T02:52:19.150" Score="5" ViewCount="372" Body="&lt;p&gt;A &lt;a href=&quot;http://research.microsoft.com/pubs/209622/patsort-sigmod14.pdf&quot; rel=&quot;nofollow&quot;&gt;recent paper&lt;/a&gt; out of Microsoft Research describes a new, faster implementation of the patience sort algorithm.  A key part of the implementation is an improved merging strategy dubbed the &quot;ping-pong&quot; merge.  I am confused as to why this merge strategy uses two arrays to perform the merging, instead of just using a single array and always performing a &quot;blind merge&quot; as described in the paper.  It seems that always performing blind merges, and thus only using a single array to perform the merge, would cut down memory usage with no change in runtime.&lt;/p&gt;&#xA;" OwnerUserId="24198" LastEditorUserId="1037" LastEditDate="2016-05-02T19:40:55.830" LastActivityDate="2016-05-02T19:42:31.590" Title="Patience Sort+ ping pong merge implementation" Tags="&lt;ds.algorithms&gt;&lt;ds.data-structures&gt;&lt;sorting&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="23793" PostTypeId="2" ParentId="23784" CreationDate="2014-06-06T06:35:17.070" Score="4" Body="&lt;p&gt;The question depends on the exact encoding. However, it seems that in many reasonable encodings, as the length tends to infinity, the number of production rules $S\to a$ (for an appropriate interpretation of the starting symbol $S$ and the terminal $a$) will be more than one with high probability; here I literally mean the &lt;em&gt;same&lt;/em&gt; terminal $a$. If we consider this as ambiguity, then I expect &quot;most&quot; grammars to be ambiguous. We can also concoct similar situations such as the rules $S\to S$ and $S\to a$ each appearing at least once.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assuming this general hypothesis, that every (fixed) conceivable rule should appear with high probability as the length tends to infinity, we find that &quot;most&quot; grammars generate $\Sigma^*$ in an ambiguous manner.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As an example, consider the following encoding for grammars over $\Sigma = \{0,1\}$. The grammar alphabet consists of the symbols $\{0,1,;,.\}$. Non-terminals are indexed by binary strings of length at least 2. Rules are separated by full stops. Each rule is a sequence of binary strings separated by semicolons. The first binary string is the non-terminal on the left-hand side, and the rest (if any) constitute the right-hand side; if the first binary string is not a non-terminal (i.e., it is $\epsilon$,0,1), then the starting non-terminal is assumed. The starting non-terminal is always 00.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Under this encoding, every string in $\{0,1,;,.\}^*$ describes some grammar. A random grammar will with high probability contain many copies of $.00;00.$ and $.00;0.$, and in particular will be ambiguous.&lt;/p&gt;&#xA;" OwnerUserId="40" LastActivityDate="2014-06-06T06:35:17.070" CommentCount="11" ContentLicense="CC BY-SA 3.0" />
  <row Id="23795" PostTypeId="2" ParentId="23786" CreationDate="2014-06-06T06:50:20.480" Score="1" Body="&lt;p&gt;The function $f$ maps $x$ to the conditional distribution of $Y$ given that $X = x$. This is a &quot;deterministic&quot; function. The expression $f(X)$ is a random variable depending on $X$. When $X = x$, the value of this random variable is $f(X) = f(x)$. In words, the random variable $f(X)$ gives the distribution of $Y$ conditional on the value of $X$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given $f(X)$, the variables $X,Y$ become independent. Suppose that $f(X) = \phi$. For each $x$ such that $f(x) = \phi$, the conditional distribution of $Y$ given that $X = x$ is $\phi$, that is, $\Pr[Y = y | X = x] = \phi(y)$. This doesn't depend on the value of $x$ as long as $f(x) = \phi$. In particular, the value of $X$ tells us nothing on $Y$, so the conditional mutual information is zero. &lt;/p&gt;&#xA;" OwnerUserId="40" LastActivityDate="2014-06-06T06:50:20.480" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="23796" PostTypeId="1" CreationDate="2014-06-06T07:01:26.503" Score="13" ViewCount="294" Body="&lt;p&gt;Given an algorithm running in time &lt;span class=&quot;math-container&quot;&gt;$t(n)$&lt;/span&gt;, we can convert it into a &amp;quot;trivial&amp;quot; uniform circuit family for the same problem of size at most &lt;span class=&quot;math-container&quot;&gt;$\approx t(n)\log t(n)$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;p&gt;On the other hand, it might be that we have much smaller uniform circuits for that problem, even if &lt;span class=&quot;math-container&quot;&gt;$t(n)$&lt;/span&gt; is an optimal running time. The circuits may take longer than &lt;span class=&quot;math-container&quot;&gt;$t(n)$&lt;/span&gt; to generate, but they are small.&lt;/p&gt;&#xA;&lt;p&gt;But do we actually know how to build such things? I think the initial question to ask is&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;(1) Do we have any constructive examples of nontrivial uniform circuits, &lt;em&gt;i.e.&lt;/em&gt; uniform circuits whose size is smaller than the best-known running time of any algorithm for the same problem?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Now, I believe that if a problem is in &lt;span class=&quot;math-container&quot;&gt;$\mathsf{DTIME(t(n))}$&lt;/span&gt;, then we have an exponential-time algorithm to find optimal circuits using an exhaustive search: Given &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt;, we write down the answers on all &lt;span class=&quot;math-container&quot;&gt;$2^n$&lt;/span&gt; inputs (taking time &lt;span class=&quot;math-container&quot;&gt;$(2^n)t(n)$&lt;/span&gt;); then we enumerate all circuits on &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt; inputs in increasing size until one is found that gives all the correct answers. The search terminates at either the size of the trivial conversion, &lt;span class=&quot;math-container&quot;&gt;$t(n) \log t(n)$&lt;/span&gt;, or the truth table of the function, &lt;span class=&quot;math-container&quot;&gt;$2^n$&lt;/span&gt; if outputs are &lt;span class=&quot;math-container&quot;&gt;$\{0,1\}$&lt;/span&gt;. (Edit: Thomas points out that the bound is &lt;span class=&quot;math-container&quot;&gt;$O(2^n/n)$&lt;/span&gt; due to Shannon/Lupanov.)&lt;/p&gt;&#xA;&lt;p&gt;So we have an unsatisfactory &amp;quot;yes&amp;quot; to question (1): Take a language that is hard for any time above &lt;span class=&quot;math-container&quot;&gt;$2^n$&lt;/span&gt;, but still decidable; the above procedure outputs a truth table of size &lt;span class=&quot;math-container&quot;&gt;$2^n$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;p&gt;So we should refine question (1). I think the two most interesting cases are&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;(2) Do we have any constructive examples of &lt;em&gt;polynomial-size&lt;/em&gt; nontrivial uniform circuits? (Even if they are generated by very slow algorithms.)&lt;/p&gt;&#xA;&lt;p&gt;(3) Do we have any constructive examples of &lt;em&gt;polynomial-time generatable&lt;/em&gt;, polynomial-size nontrivial uniform circuits?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;This may be too much to ask. How about an easier question: Do we even know that such a thing is possible? Perhaps no nontrivial uniform circuits exist?&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;(4) Is the following statement known to be false for any &lt;span class=&quot;math-container&quot;&gt;$s(n) = o(2^n)$&lt;/span&gt;? (Edit: &lt;span class=&quot;math-container&quot;&gt;$o(2^n/n)$&lt;/span&gt;, thanks Thomas.) &amp;quot;If a language &lt;span class=&quot;math-container&quot;&gt;$L$&lt;/span&gt; has uniform circuits of size &lt;span class=&quot;math-container&quot;&gt;$O(s(n))$&lt;/span&gt;, then it also has algorithms running in time &lt;span class=&quot;math-container&quot;&gt;$\tilde{O}(s(n))$&lt;/span&gt;.&amp;quot; (If so, then what about when &amp;quot;uniform&amp;quot; is replaced with &amp;quot;polynomial-time-uniform&amp;quot;, &amp;quot;logspace uniform&amp;quot;, etc?)&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Finally, if the above questions are too hard,&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;(5) Do we have any constructions of uniform families of circuits that are not simply conversions of algorithms into circuits (or writing down the truth table)?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Postscript. An expert I asked about this mentioned &amp;quot;On Medium-Uniformity and Circuit Lower Bounds&amp;quot; (&lt;a href=&quot;http://www.stanford.edu/%7Errwill/WeakUniformityCCC.pdf&quot; rel=&quot;noreferrer&quot;&gt;pdf&lt;/a&gt;), Santhanam and Williams 2013, which maybe is the most closely related work, but it proves lower bounds (that poly-time-generatable circuits are not &lt;em&gt;too&lt;/em&gt; powerful). I'd be interested in any other related work!&lt;/p&gt;&#xA;" OwnerUserId="8243" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2014-06-07T03:33:44.737" Title="Do we have any nontrivial uniform circuits?" Tags="&lt;cc.complexity-theory&gt;&lt;circuit-complexity&gt;&lt;uniformity&gt;" AnswerCount="1" CommentCount="9" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="23797" PostTypeId="2" ParentId="23789" CreationDate="2014-06-06T07:19:12.410" Score="4" Body="&lt;p&gt;I don't know what your &quot;oracle&quot; is, but without further information what you are asking is whether the following language is decidable:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$L:=\{ (t,u)\in\Lambda\times\Lambda \mathrel{|} t \rightarrow^* u, u \textrm{ normal}\}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(with $\Lambda$ being the set of $\lambda$-terms). This is obviously not the case: for every Turing machine $M$, there is a $\lambda$-term $t_M$ (effectively computable from the description of $M$) such that $t_M$ reduces to a fixed normal form $u$ if $M$ terminates on the empty string and has no normal form otherwise; therefore, if $L$ were decidable, we would be able to decide the halting problem for $M$ on empty input by asking whether $(t_M,u)\in L$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If your &quot;oracle&quot; gives more information, then of course the situation may very well be different.  For instance, if the oracle also gives an upper bound to the number of reduction steps needed to reach the purported normal form, then it is obviously decidable whether the oracle's answer is correct.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you are actually asking about proof-carrying code (like D.W. suggests), please modify your question accordingly and I'll be happy to modify/remove my answer.&lt;/p&gt;&#xA;" OwnerUserId="20716" LastActivityDate="2014-06-06T07:19:12.410" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="23798" PostTypeId="1" CreationDate="2014-06-06T07:47:40.263" Score="38" ViewCount="5828" Body="&lt;p&gt;In the introduction and explanation P and NP complexity classes often given through Turing machine.&#xA;One of the model of computation is the lambda-calculus.&#xA;I understand, that all of models of computation are equivalent (and if we can introduce anything in terms Turing machine, we can introduce this in terms any model of computation), but I never seen explanation idea P and NP complexity classes through lambda-calculus.&#xA;Can anybody explain notions P and NP complexity classes without Turing machine and only with lambda calculus as model of computation.&lt;/p&gt;&#xA;" OwnerUserId="13607" LastActivityDate="2019-01-23T09:01:43.013" Title="P and NP classes explanation through lambda-calculus" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;turing-machines&gt;&lt;lambda-calculus&gt;" AnswerCount="3" CommentCount="2" FavoriteCount="18" ContentLicense="CC BY-SA 3.0" />
  <row Id="23799" PostTypeId="2" ParentId="23798" CreationDate="2014-06-06T08:29:53.873" Score="12" Body="&lt;p&gt;I paste part of &lt;a href=&quot;https://cstheory.stackexchange.com/questions/21705/what-is-the-contribution-of-lambda-calculus-to-the-field-of-theory-of-computatio/21713#21713&quot;&gt;an answer I wrote for another question&lt;/a&gt;:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Implicit Computational Complexity aims at characterizing complexity classes by means of dedicated languages. The first results such as &lt;em&gt;Bellantoni-Cook's Theorem&lt;/em&gt; were stated in terms of $\mu$-recursive functions, but more recent results use the vocabulary and techniques of $\lambda$-calculus. See this &lt;a href=&quot;http://link.springer.com/chapter/10.1007/978-3-642-31485-8_3&quot; rel=&quot;nofollow noreferrer&quot;&gt;Short introduction to Implicit Computational Complexity&lt;/a&gt; for more and pointers, or the proceedings of the &lt;a href=&quot;http://perso.ens-lyon.fr/patrick.baillot/DICE/&quot; rel=&quot;nofollow noreferrer&quot;&gt;DICE workshops&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;There exist characterizations of (at least) $\mathsf{FP}$ by means of $\lambda$-calculus.&lt;/p&gt;&#xA;" OwnerUserId="976" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2014-06-06T08:29:53.873" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="23800" PostTypeId="1" CreationDate="2014-06-06T08:35:23.270" Score="12" ViewCount="7097" Body="&lt;p&gt;I am trying to understand what is involved in theoretical computer science research. What do theoretical computer scientists do? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I know a significant time is spent on teaching, supervising graduate students, applying for funding, and departmental duties. Putting them aside how do you spend your research time? What are the major activities you typically do? I am guessing that you read papers, think, have meetings, and write documents. Are there any others?&lt;/p&gt;&#xA;" OwnerUserId="24203" LastActivityDate="2014-06-11T16:27:27.417" Title="What does research in theoretical computer science involve?" Tags="&lt;soft-question&gt;&lt;research-practice&gt;" AnswerCount="3" CommentCount="9" FavoriteCount="11" ContentLicense="CC BY-SA 3.0" />
  <row Id="23801" PostTypeId="2" ParentId="23798" CreationDate="2014-06-06T09:08:28.767" Score="41" Body="&lt;p&gt;Turing-machines and &lt;span class=&quot;math-container&quot;&gt;$\lambda$&lt;/span&gt;-calculus are equivalent only w.r.t. the functions &lt;span class=&quot;math-container&quot;&gt;$\mathbb{N} \rightarrow \mathbb{N}$&lt;/span&gt; they can define.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;From the point of view of computational complexity they seem to behave differently.&#xA;The main reason people use Turing machines and not &lt;span class=&quot;math-container&quot;&gt;$\lambda$&lt;/span&gt;-calculus to reason about&#xA;complexity is that using &lt;span class=&quot;math-container&quot;&gt;$\lambda$&lt;/span&gt;-calculus naively leads to unrealistic complexity measures, because you can copy terms (of arbitrary size) freely in single &lt;span class=&quot;math-container&quot;&gt;$\beta$&lt;/span&gt;-reduction steps, e.g. &lt;span class=&quot;math-container&quot;&gt;$(\lambda x.xxx)M \rightarrow MMM.$&lt;/span&gt; In other words, single reduction steps in &lt;span class=&quot;math-container&quot;&gt;$\lambda$&lt;/span&gt;-calculus are a lousy cost model. In contrast, single Turing-machine reduction steps  work great (in the sense of being good predictors of real-world program run-time).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is not known how fully to recover&#xA;conventional Turing-machine based complexity theory in&#xA;&lt;span class=&quot;math-container&quot;&gt;$\lambda$&lt;/span&gt;-calculus. In a &lt;a href=&quot;http://arxiv.org/abs/1405.3311&quot; rel=&quot;noreferrer&quot;&gt;recent (2014) breakthrough Accattoli and Dal Lago&lt;/a&gt;&#xA;managed to show  that&#xA;large classes of time-complexity such as &lt;span class=&quot;math-container&quot;&gt;$P$&lt;/span&gt;, &lt;span class=&quot;math-container&quot;&gt;$NP$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$EXP$&lt;/span&gt; can&#xA;be given a natural &lt;span class=&quot;math-container&quot;&gt;$\lambda$&lt;/span&gt;-calculus formulation. But smaller&#xA;classes like &lt;span class=&quot;math-container&quot;&gt;$O(n^2)$&lt;/span&gt; or &lt;span class=&quot;math-container&quot;&gt;$O(n \, log\, n)$&lt;/span&gt; cannot be presented&#xA;using the Accattoli / Dal Lago techniques.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;How to recover conventional space   complexity using&#xA;&lt;span class=&quot;math-container&quot;&gt;$\lambda$&lt;/span&gt;-calculus is unknown.&lt;/p&gt;&#xA;" OwnerUserId="898" LastEditorUserId="2367" LastEditDate="2019-01-23T09:01:43.013" LastActivityDate="2019-01-23T09:01:43.013" CommentCount="7" ContentLicense="CC BY-SA 4.0" />
  <row Id="23802" PostTypeId="2" ParentId="23800" CreationDate="2014-06-06T09:34:29.230" Score="8" Body="&lt;p&gt;In one sense, browsing this site will tell you the kinds of questions theoretical computer scientists think about (at a low level). At a very high level, theoretical computer scientist ask questions about the mathematical foundations of computation: &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;what can we compute ? &lt;/li&gt;&#xA;&lt;li&gt;how can we compute it ? &lt;/li&gt;&#xA;&lt;li&gt;How fast ? &lt;/li&gt;&#xA;&lt;li&gt;what happens when we have limited resources to compute ? &lt;/li&gt;&#xA;&lt;li&gt;what are limits on what we can compute ? &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Starting from these questions, a whole host of other topics spring up, touching on applications areas, mathematics, other parts of computer science, and so on. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2014-06-06T09:34:29.230" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="23804" PostTypeId="1" AcceptedAnswerId="24839" CreationDate="2014-06-06T11:16:03.333" Score="0" ViewCount="406" Body="&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/YI9Mc.png&quot; alt=&quot;As per Image For Given Polyline P which consists of set of Points {(px1, py2), (px2, py2)} i want to find to which polylines M1, M2, M3 it best matches.&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As per Image, for a Given polyline P which consists of set of Points {(px1, py2), (px2, py2)}, i want to find to which polyline M1, M2, M3 , it matches the best.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Output : M3 Polyline.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Please provide how to find out this?&lt;/p&gt;&#xA;" OwnerUserId="24204" LastEditorUserId="80" LastEditDate="2014-06-09T11:01:06.813" LastActivityDate="2014-06-09T11:01:06.813" Title="Match two Polylines" Tags="&lt;cg.comp-geom&gt;" AnswerCount="1" CommentCount="5" ClosedDate="2014-11-01T18:28:22.317" ContentLicense="CC BY-SA 3.0" />
  <row Id="23806" PostTypeId="1" AcceptedAnswerId="23809" CreationDate="2014-06-06T12:24:47.470" Score="10" ViewCount="631" Body="&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Fano%27s_inequality&quot;&gt;Fano's inequality&lt;/a&gt; can be stated in many forms, and one particularly useful one is due (with a minor modification) to &lt;a href=&quot;http://arxiv.org/abs/1108.1283&quot;&gt;Oded Regev&lt;/a&gt;:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Let $X$ be a random variable, and let $Y = g(X)$ where $g(\cdot)$ is a random process. Assume the existence of a procedure $f$ that given $y = g(x)$ can reconstruct $x$ with probability $p$. Then&#xA;  $$ I(X; Y) \ge pH(X) − H(p)$$&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;In other words, if I can reconstruct, there's a lot of mutual information in the system. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a &quot;converse&quot; to Fano's inequality: something of the form&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&quot;Given a channel with sufficient mutual information, there is a procedure to reconstruct input from output with error that depends on the mutual information&quot;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;It would be too much to expect that this procedure would also be efficient, but it would also be interesting to see (natural) examples where the reconstruction exists but must be inefficient. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2018-03-25T00:13:48.143" Title="A converse to Fano's inequality ?" Tags="&lt;it.information-theory&gt;&lt;randomized-algorithms&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="23807" PostTypeId="1" CreationDate="2014-06-06T12:48:31.440" Score="9" ViewCount="493" Body="&lt;h2&gt;Motivation&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;Assuming $\mathsf{P}\ne\mathsf{NP}$, it is impossible to efficiently decide membership in an NP-complete language. I would like to assign &lt;em&gt;probability&lt;/em&gt; to such membership, in some sense.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Definitions&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;The following definitions use the approach to average-case complexity given in e.g. O. Goldreich &quot;&lt;a href=&quot;http://books.google.co.il/books/about/Computational_Complexity.html?id=EuguvA-w5OEC&amp;amp;redir_esc=y&quot; rel=&quot;nofollow&quot;&gt;Computational Complexity&lt;/a&gt;&quot; chapter 10.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider $(L, X_n)$ an average-case decision problem where $L$ is a language and $X_n$ is a family of random variables which can be sampled by an algorithm with polynomial running time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider $A$ an algorithm computing for each input string $x$ an infinite binary fraction in $[0, 1]$ (informally regarded as a probability). We call such algorithms &quot;estimators&quot;. $A$ is called &lt;em&gt;efficient&lt;/em&gt; when the time of computing $k$ digits of $A(x)$ is bounded by $p(|x|, 2^k)$ with $p$ polynomial.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Define the &lt;em&gt;error function&lt;/em&gt; to be&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\epsilon_n(A; L):=-E_{X_n}[\chi_L(x)\ln A(x) + (1-\chi_L(x))\ln(1-A(x))]$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where $\chi_L(x)$ is the characteristic function of $L$. It is easy to see that assuming $\mathsf{sampP}\ne\mathsf{sampNP}$, for $(L, X_n)$ which is $\mathsf{sampNP}$-complete there is a polynomial $q$ s.t.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\forall n \exists m &amp;gt; n:\epsilon_m(A; L) &amp;gt; \frac{1}{|q(m)|}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Define $A$ to be &lt;em&gt;optimal&lt;/em&gt; for $(L, X_n)$ when it is efficient and for any efficient $B$ and polynomial $r$:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\forall n &amp;gt;&amp;gt; 0:\epsilon_n(A; L) - \epsilon_n(B; L) &amp;lt; \frac{1}{|r(n)|}$$&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Question&lt;/h2&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Assuming $\mathsf{sampP}\ne\mathsf{sampNP}$ (and other conjectures if necessary), does $A$ exist which is optimal for an $\mathsf{sampNP}$-complete problem?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;h2&gt;Observations&lt;/h2&gt;&#xA;&#xA;&lt;h3&gt;Reductions&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;Let's call a Karp-reduction $f$ of $(L, X_n)$ to $(M, Y_n)$ &lt;em&gt;semi-invertible&lt;/em&gt; when there exists $g: \lbrace 0, 1 \rbrace^* \rightarrow \lbrace 0, 1 \rbrace^* \cup \lbrace \bot \rbrace$ computable in polynomial time s.t. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\forall x: g(f(x))=x$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\forall y: g(y) \ne \bot \rightarrow f(g(y))=y$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given $A$ optimal for $(M, Y_n)$ and $f$ a semi-invertible reduction of $(L, X_n)$ to $(M, Y_n)$, $A \circ f$ is optimal for $(L, X_n)$. In particular, if $(M, Y_n)$ is $\mathsf{sampNP}$-complete s.t. the reductions can be chosen semi-invertible (such $(M, Y_n)$ exists since examining the construction of a complete problem in &lt;a href=&quot;http://www.wisdom.weizmann.ac.il/~oded/PS/aver.ps&quot; rel=&quot;nofollow&quot;&gt;Ben-David et al&lt;/a&gt; we see the reductions are semi-invertible), we get optimal algorithms for all problems in $\mathsf{sampNP}$. In particular, $A$ yields an average-case polynomial time solution for any problem formulated as a problem in $\mathsf{sampNP}$ which is &quot;secretly&quot; in $\mathsf{sampP}$. This is similar to the properties of Levin search, but Levin search only solves instances with a positive answer.&lt;/p&gt;&#xA;&#xA;&lt;h3&gt;Uniqueness&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;Consider $A$, $B$ estimators for $(L, X_n)$. Define the &quot;metric&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\delta_n(A, B; L) := E_{X_n}[\chi_L |\ln{A} - \ln{B}| + (1-\chi_L) |\ln{(1-A)} - \ln{(1-B)}|]$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $\delta_n(A, B; L)$ vanishes for large $n$ with superpolynomial speed, then $\epsilon_n(A; L) - \epsilon_n(B; L)$ also vanished for large $n$ with superpolynomial speed.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose $A$ and $B$ are both optimal. Then it can be seen that $\delta_n(A, B; L)$ vanishes for large $n$ with superpolynomial speed (via considering $\frac{A+B}{2}$ and using the convexity of the logarithm). So optimal estimators are unique up to &quot;small&quot; deviations.&lt;/p&gt;&#xA;" OwnerUserId="7030" LastEditorUserId="7030" LastEditDate="2015-03-10T15:19:52.127" LastActivityDate="2015-03-10T15:19:52.127" Title="Assigning probability to membership in an NP-complete language" Tags="&lt;cc.complexity-theory&gt;&lt;p-vs-np&gt;&lt;average-case-complexity&gt;" AnswerCount="0" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="23808" PostTypeId="2" ParentId="23800" CreationDate="2014-06-06T13:04:26.607" Score="13" Body="&lt;p&gt;&lt;strong&gt;Regarding topics&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are different type of issues that may be considered&#xA;&lt;em&gt;theoretical&lt;/em&gt; computer science. The important word here is&#xA;&quot;&lt;em&gt;theoretical&lt;/em&gt;&quot; (as we all have some idea of what computer science&#xA;deals with). Understanding the word &lt;em&gt;theoretical&lt;/em&gt; is not so obvious.&#xA;For a long time I took it to mean mathematical, as opposed for example&#xA;to &quot;hacking&quot;. I learned better from people in linguistics:&#xA;&lt;em&gt;theoretical&lt;/em&gt; for them clearly does not meant mathematical, but based&#xA;on a theory which may be somewhat informal (though it may be also&#xA;mathematical), and is an organized body of knowledge and concepts that&#xA;structure understanding of observable phenomena and hopefully allow&#xA;some deductive and predictive use of the acquired knowledge. It also&#xA;reduces the amount to learn and to teach by reducing the number of&#xA;primitive concepts from which the rest can be deduced.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Theoretical&lt;/em&gt; can be opposed to &lt;em&gt;practical&lt;/em&gt;, which is how this knowledge&#xA;is used to actually run computing engines, to build systems, etc. I&#xA;can also be opposed to &lt;em&gt;applied&lt;/em&gt; which is the use of this knowledge to&#xA;address problems in other fields of science and human activities.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But I doubt there are clear-cut boundaries.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This said, theoretical computers science covers diverse domains, and I&#xA;will try to give some, while I am sure I forget others, and also that&#xA;other people may disagree with this organization.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;one domain is &lt;em&gt;computability&lt;/em&gt;, which studies what can be computed,&#xA;and how in a rather abstract sense: largely what is described in&#xA;Suresh Venkat's answer.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;another is &lt;em&gt;algorithmics&lt;/em&gt;, that finds effective means to compute&#xA;answers to specific problems, with specific&#xA;constraints. Computability is a theoretical context for algorithmics.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;em&gt;semantics&lt;/em&gt; (for want of a better name), analyzes the conceptual&#xA;organization of computational problems, and of algorithms, into&#xA;higher level concepts, so as to factorize techniques that have&#xA;proved useful and are often reused, such as the concept of&#xA;subprogram,data-structures, modules, information hiding. It&#xA;includes the development of mathematical tools that formalize&#xA;adequately these concepts to allow high-level reasonning (Scott&#xA;semantics for example). It also touches on the way this is&#xA;expressed, thus on the separation and relation between syntax and&#xA;semantics. Programming languages concepts are part of it (though&#xA;language design is probably the pratical application of that&#xA;knowledge). It can also include the relation between proof theory&#xA;and computation theory, and the modern role of type systems.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;another topic, which could develop more than it has so far, is the&#xA;relation between computation and fundamental physics. For&#xA;example. is there a relation between the limits on computation and&#xA;the properties of the physical world, such as physical information&#xA;density or the laws of thermodynamics. Quantum computing may&#xA;improve a bit our computational prowess; could we hope for more?&#xA;Some may dispute that this is still TCS, though there are TCS&#xA;studies on &lt;a href=&quot;http://en.wikipedia.org/wiki/Hypercomputation&quot;&gt;hypercomputation&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Regarding specific activities&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am skipping the obvious activities required by academic life. or scientific life in industry:&#xA;teaching, publishing, reviewing papers, writing grant applications,&#xA;taking academic responsibilities, managing people, advising students&#xA;or policy makers. But even then, there is no simple answer to your&#xA;question. Here I am just sketching a few aspects that come to mind,&#xA;but I am sure there is a lot more to be said. And I am not sure I am&#xA;answering you. Some of the best scientists have written books about their work, and that may give you hints about scientific activities.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Researching in theory may involve a variety of things, depending on&#xA;your skills and interests that vary a lot from scientist to&#xA;scientist. It is somewhat hard to talk of it, since each person&#xA;perceives more her own activity and interests than that of others. Most reasearch&#xA;requires a wide knowledge, since interesting and really original&#xA;results often comes from putting things in relation, or transferring a&#xA;technique from one (sub)field to another, or getting different&#xA;technical views of the same problem. So learning as much as you&#xA;can in breadth as much as in depth is important. Remember that while&#xA;you have the time and ability for it as a student, or as a junior&#xA;faculty/scientist, both will be reduced later, because of responsibilities&#xA;and life in general. Teaching what you do not specialize in may be a&#xA;way to keep learning. On SE you can probably learn more by answering than&#xA;by asking.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The kind of work people do can vary a lot, because people are&#xA;fortunately very different, with a great variety of interests and&#xA;technical abilities, thus complementing each other.  Some people are problem solvers. They look at&#xA;theoretical or practical questions raised by other people, or by&#xA;themselves, and try to solve them, or get closer to a complete or&#xA;partial solution.  Other people will be better at structuring existing&#xA;knowledge, and putting thing in relation, and then finding new&#xA;questions to ask. Both are essential.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finding simpler proofs of technical results, or simpler presentations&#xA;of theories, or merging concepts is important. It generalizes results,&#xA;reduces the numbers of things to learn, emphasizes the essential&#xA;ideas and possibly brings new understanding. Since our learning time&#xA;is limited, progress is possible only when we condense knowledge.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A simple example is the study of abstract families of formal&#xA;languages. When language theory first developped, closure properties&#xA;under various operation were proved again and again for each family of&#xA;languages (regular, context-free, RE, ...), with ad hoc techniques&#xA;depending on the family. Then it occurred that these closure&#xA;properties had intrinsic relations independently of the concerned&#xA;families, and they were studied as such. Today, we only have to check&#xA;a few of the &lt;em&gt;simpler&lt;/em&gt; closure properties for a given family, and we&#xA;get &quot;for free&quot; a whole set of other properties.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another important point is that &lt;em&gt;there is not such a clear-cut distinction&#xA;between theoretical, practical, or experimental work&lt;/em&gt;. A good theory&#xA;may lead to the implementation of systems that can mechanize the&#xA;resolution of problems. And it will take a good theoretician to&#xA;implement such a system, with a mix of theoretical and practical work,&#xA;including system implementation, or language design. Many examples&#xA;come to mind, such as proof and/or program synthesis systems,&#xA;specialized language for synchronous parallel systems, a restricted&#xA;algorithmic language for which computational complexity can be&#xA;systematically derived. Not only is it important to be able to produce&#xA;such pratical systems, which make theoretical results more widely&#xA;available and usable, but it is often very important for theoretician&#xA;either to use proficiently these systems, if only to unload the now less creative parts of his work, or to contribute to the development and&#xA;extension of these system.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another aspect is to be able to compare theoretical approaches by&#xA;pratical experimentation. Here, the issue is to compare different&#xA;techniques to accomplish the same goal. Comparing&#xA;implementations is often meaningless as their efficiency often depend&#xA;on the programming language, or the programming skills of the&#xA;implementor. But if they can be expressed all in a common theoretical&#xA;framework, then it is sometimes possible to compare them experimentaly&#xA;within that framework. Here, theory and practice support each other,&#xA;as they often do in science. Pure theoretical analysis is not always&#xA;easy to achieve. Furthermore, experimental analysis, when well&#xA;conducted, can exhibit unexpected behavior that may motivate better&#xA;theoretical analysis.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The world is not simple or clear-cut. That is why it can be fun, with&#xA;room for all kinds of skills. Questionning your own knowledge, and&#xA;answering questions of others, by whatever means.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Two things often forgotten: ethics of science, and explaining it to&#xA;people.  Both are essential, and hard.&lt;/p&gt;&#xA;" OwnerUserId="16132" LastEditorUserId="16132" LastEditDate="2014-06-09T14:59:47.303" LastActivityDate="2014-06-09T14:59:47.303" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="23809" PostTypeId="2" ParentId="23806" CreationDate="2014-06-06T14:49:37.303" Score="12" Body="&lt;p&gt;Consider the following reconstruction procedure $P(y)$: given $y$, output $x$ such that $\Pr[X = x \mid Y = y]$ is maximized. The probability that this procedure succeeds is $\max_x \Pr[x \mid Y = y]$. This is also $2^{-H_\infty(X | Y = y)}$, where $H_\infty(X \mid Y = y)$ is the &lt;i&gt;min-entropy&lt;/i&gt; of the random variable $X$ conditioned on $Y = y$. We know that $H_\infty(X) \leq H_1(X)$, where $H_1(X)$ is the standard Shannon entropy of the random variable $X$. Now we just have to upper bound $H_\infty(X|Y = y)$ in terms of the mutual information $I(X:Y)$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Write $I(X:Y) = H(X) - H(X|Y) = H(X) - \mathbb{E}_y[H(X \mid Y = y)]$. Using the inequality mentioned above, $I(X:Y) \leq H(X) - \mathbb{E}_y[H_\infty(X \mid Y = y)]$, or $\mathbb{E}_y[H_\infty(X \mid Y = y)] \leq H(X) - I(X:Y)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The probability that the procedure succeeds where $X$ and $Y$ are chosen randomly is $\mathbb{E}_y [2^{-H_\infty(X\mid Y = y)}]$, which by concavity is at least $2^{-\mathbb{E}_y[H_\infty(X \mid Y = y)]}$. Thus the probability the procedure succeeds is at least $2^{I(X:Y) - H(X)}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This procedure is optimal: given any randomness procedure $P$, the probability of success is $\mathbb{E}_y [ \sum_{x} \Pr(X = x \mid Y = y) \Pr(P(y) = x) ]$, which is maximized point-wise when $P(y)$ deterministically outputs the most likely $x$.&lt;/p&gt;&#xA;" OwnerUserId="170" LastEditorUserId="170" LastEditDate="2014-06-06T16:45:29.900" LastActivityDate="2014-06-06T16:45:29.900" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="23810" PostTypeId="2" ParentId="23796" CreationDate="2014-06-06T16:45:29.267" Score="8" Body="&lt;p&gt;Here are answers to your last two questions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(5) Sorting networks are uniform circuits that sort as fast as the best RAM algorithms, but are definitely not just conversions of RAM algorithms (e.g. quicksort). [&lt;a href=&quot;http://dl.acm.org/citation.cfm?doid=800061.808726&quot;&gt;AKS83&lt;/a&gt;,&lt;a href=&quot;http://arxiv.org/abs/1403.2777&quot;&gt;G14&lt;/a&gt;]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(4) Yes, for any $s(n)=(1+\varepsilon) \cdot 2^n/n$ with $\varepsilon&amp;gt;0$, but for a silly reason: Every function is computed by a circuit of size $(1+o(1)) \cdot 2^n/n$. (&lt;a href=&quot;http://ieeexplore.ieee.org/xpl/articleDetails.jsp?arnumber=6771698&quot;&gt;Shannon&lt;/a&gt; proved this up to a constant and &lt;a href=&quot;http://en.wikipedia.org/wiki/Oleg_Lupanov&quot;&gt;Lupanov&lt;/a&gt; got the optimal constant.) By the time hierarchy theorem, there exists a function $f$ with uniform time complexity between $\Omega(3^n)$ and $O(n \cdot 3^n)$. This gives a counterexample: $f$ has circuits of size $O(2^n/n)$ (which I &lt;i&gt;think&lt;/i&gt; are computable in $2^{\mathrm{poly}(n)}$ time) but is not computable in $\tilde{O}(2^n/n)$ time. You should probably ask for $s(n) = o(2^n/n)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is an interesting question; I hope someone can answer (1)-(3).&lt;/p&gt;&#xA;" OwnerUserId="2022" LastEditorUserId="2022" LastEditDate="2014-06-06T16:51:17.530" LastActivityDate="2014-06-06T16:51:17.530" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="23811" PostTypeId="2" ParentId="16180" CreationDate="2014-06-06T17:54:40.903" Score="3" Body="&lt;p&gt;Yes, there is research on this issue.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.ia.pw.edu.pl/~wogrycza/publikacje/artykuly/mylinalg.pdf&quot; rel=&quot;nofollow&quot;&gt;The Simplex Method is Not Always Well Behaved&lt;/a&gt;, Wlodzimierz Ogryczak&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://cis.poly.edu/rvslyke/implmnt.pdf&quot; rel=&quot;nofollow&quot;&gt;retroLP, An Implementation of the Standard Simplex Method&lt;/a&gt;, Gavriel Yarmish and Richard Van Slyke&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/0024379573900475&quot; rel=&quot;nofollow&quot;&gt;A Numerically Stable Form of the Simplex Algorithm&lt;/a&gt;, Philip E. Gill and Walter Murray&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You might also be interested in the &lt;a href=&quot;http://en.wikipedia.org/wiki/Revised_simplex_method&quot; rel=&quot;nofollow&quot;&gt;revised simplex method&lt;/a&gt;.  This method can take advantage of matrix sparsity; it doesn't keep a representation of the entire matrix.&#xA;This thesis was of great interest to me: &lt;a href=&quot;http://www.cise.ufl.edu/research/sparse/Morgan/index.htm&quot; rel=&quot;nofollow&quot;&gt;A Comparison of Simplex Method Algorithms&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="24207" LastEditorUserId="24207" LastEditDate="2014-06-09T18:03:46.933" LastActivityDate="2014-06-09T18:03:46.933" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="23812" PostTypeId="1" CreationDate="2014-06-06T22:38:59.463" Score="5" ViewCount="114" Body="&lt;p&gt;Is there any secure cryptographic &lt;a href=&quot;https://en.wikipedia.org/wiki/Cryptographic_commitment&quot; rel=&quot;nofollow noreferrer&quot;&gt;commitment scheme&lt;/a&gt;, where the verification routine can be implemented in $NC^0$?  If so, what is the minimum possible depth of the circuit for verification?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Applebaum et al prove the existence of a commitment scheme where commitment can be done in $NC^0$ and where verification can be done with a $NC^0$ circuit plus a single AND gate of unbounded fan-in.  See&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.cs.technion.ac.il/~yuvali/pubs/AIK04.ps&quot; rel=&quot;nofollow noreferrer&quot;&gt;Cryptography in NC0&lt;/a&gt;.  Benny Applebaum, Yuval Ishai, Eyal Kushilevitz.  Section 7.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;However, this does not show how to do the verification in $NC^0$, i.e., in constant depth.  Is there a plausible construction to achieve that goal?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For a result of a similar flavor, see also&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.eng.tau.ac.il/%7Ebennyap/pubs/input-locality-full-revised-1.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Cryptography with Constant Input Locality&lt;/a&gt;.   Benny Applebaum, Yuval Ishai and Eyal Kushilevitz.  Journal of Cryptology, 2009, 22:429-469.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;which gives a plausible construction of a commitment scheme with similar properties; but again their verification scheme involves a $NC^0$ circuit plus a single AND gate of unbounded fan-in.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Motivation.&lt;/strong&gt; I came across this problem when thinking about &lt;a href=&quot;https://crypto.stackexchange.com/q/16602/351&quot;&gt;how to obfuscate a particular function that uses the verification component of a commitment scheme&lt;/a&gt;, but I realized this might be of broader interest.&lt;/p&gt;&#xA;" OwnerUserId="5038" LastEditorUserId="-1" LastEditDate="2017-04-13T12:48:17.970" LastActivityDate="2014-06-08T08:42:58.200" Title="Commitment schemes with verification in NC0" Tags="&lt;cc.complexity-theory&gt;&lt;cr.crypto-security&gt;&lt;circuit-complexity&gt;&lt;bounded-depth&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="23814" PostTypeId="1" CreationDate="2014-06-06T23:16:54.797" Score="19" ViewCount="448" Body="&lt;p&gt;While thinking about the complexity of testing isomorphism of asymmetric graphs (see my &lt;a href=&quot;https://cstheory.stackexchange.com/questions/22094/testing-isomorphism-of-asymmetric-graphs&quot;&gt;related question&lt;/a&gt; on cstheory), a complementary question came to my mind.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose that we have a polynomial time Turing machine $M$ that on input $1^n$ generates a graph $G_{M,n}$ with $n$ nodes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We can define the problem $\Pi_M$:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;(&quot;Tiny&quot; GI): Given a graph $G=(V,E)$, is $G$ isomorphic to $G_{M,|V|}$?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;In other words we must compare a given graph with a &quot;reference&quot; graph of the same size generated by a fixed polynomial time Turing machine $M$.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;For all polynomial time Turing machines $M$, we have $\Pi_M \in NP$, and for many of them we have $\Pi_M \in P$.&lt;br&gt;&#xA;  But is it true for all $M$? Is the problem known?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;At first glance, I thought that every $\Pi_M$ should be much easier than $GI$, because for every $n$ there is only one &quot;reference&quot; graph of that size and perhaps the symmetries/asymmetries of the graphs generated by $M$ can be exploited and an efficient ad-hoc isomorphism tester can be built ... but it's not true: $M$ can contain some sort of polynomial timed Universal Turing machine that uses the (unary) input $1^n$ to generate completely different (in the structure) reference graphs as $n$ increases.&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.743" LastActivityDate="2014-06-09T05:06:38.287" Title="&quot;Tiny&quot; Graph Isomorphism" Tags="&lt;graph-isomorphism&gt;" AnswerCount="2" CommentCount="7" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="23815" PostTypeId="1" CreationDate="2014-06-07T03:14:33.527" Score="0" ViewCount="946" Body="&lt;p&gt;I am wondering if there is an algorithm that, given a sorted array, allows you to build a binary search tree in linear time?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am facing a problem where I have about 8 million elements in a file that need to be loaded into a BST so O(n) would be vastly preferable to O(n log n) if it's possible.&lt;/p&gt;&#xA;" OwnerUserId="24213" LastActivityDate="2014-06-12T00:29:05.480" Title="Pre order traversal of an array" Tags="&lt;tree&gt;&lt;binary-trees&gt;" AnswerCount="2" CommentCount="2" ClosedDate="2014-06-15T13:31:47.550" ContentLicense="CC BY-SA 3.0" />
  <row Id="23816" PostTypeId="1" CreationDate="2014-06-07T04:29:48.847" Score="2" ViewCount="100" Body="&lt;p&gt;In Arora and Barak's &lt;em&gt;Computational Complexity&lt;/em&gt;, Claim 1.5 says that if a function $f$ is computable in time $T(n)$ by a Turing machine with alphabet $\Gamma$ then it is computable in at most time $4\log|\Gamma|T(n)$ by a Turing machine with the symbol set $\{0,1,\rhd,\Box\}$ where $\rhd$ is a special symbol that is used to mark the beginning of each tape and $\Box$ is the blank symbol.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;It seems to me that we can reduce the bound to $3\log|\Gamma|T(n)$. Am I right in this?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;It seems to me that the above can be achieved using the same device as discussed in the book: we represent each alphabet of the original Turing machine by a sequence of $k=\log |\Gamma|$ bits. Let's further decide to represent the blank symbol of the original machine by a sequence of $k$ $\Box$s (this is not mentioned in the book). Our new machine has intermediate states where it reads $k$ bits to identify the symbol that would have been read from the tape of the original machine, then moves $k$ steps backward on each tape writing down the representation of the new symbol that would have been written on the tapes of the original machine, then moves $k$ steps to the left or right on each tape to position the head on the beginning of the symbol that would have been read next by the original machine. So a total of only $3k$ steps seems to be required to simulate each step of the original machine.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To take an example suppose $|\Gamma|=16$ and we are simulating a step of the original machine which required reading the symbol represented by &lt;code&gt;abcd&lt;/code&gt;, overwriting it by &lt;code&gt;ABCD&lt;/code&gt; and then moving the head to the right. This can be accomplished as follows:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We begin at&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;efgh|abcd|pqrs&#xA;     ^&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;In 4 steps read all the bits of &lt;code&gt;abcd&lt;/code&gt;. In the 4th step we know enough to decide that we have to replace &lt;code&gt;d&lt;/code&gt; by &lt;code&gt;D&lt;/code&gt;. We do that and move back one step&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;efgh|abcD|pqrs&#xA;       ^&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;In 3 more steps we have replaced &lt;code&gt;abc&lt;/code&gt; by &lt;code&gt;ABC&lt;/code&gt; and positioned the head at &lt;code&gt;B&lt;/code&gt;&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;efgh|ABCD|pqrs&#xA;      ^&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;In 3 more steps we have moved the head to &lt;code&gt;p&lt;/code&gt;         &lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;efgh|ABCD|pqrs&#xA;          ^&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;If the original machine had wanted to move left rather than right we would have positioned the head at &lt;code&gt;h&lt;/code&gt; after writing &lt;code&gt;A&lt;/code&gt; and then would have moved to &lt;code&gt;e&lt;/code&gt; in 3 more steps. So actually we need only $3k-2$ steps.&lt;/p&gt;&#xA;" OwnerUserId="21020" LastActivityDate="2014-06-07T04:29:48.847" Title="Relation between the running time of Turing machines with different symbol sets" Tags="&lt;turing-machines&gt;" AnswerCount="0" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="23818" PostTypeId="2" ParentId="23814" CreationDate="2014-06-07T09:34:10.620" Score="1" Body="&lt;p&gt;I have no answer to your question but propose to consider a more restricted version of $\Pi_M$ for which we can show that it lies in P.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let us only consider families of graphs such that the number of edges grows logarithmically. I will formalize this by rephrasing your problem formulation, also to see if I have understood it correctly.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An undirected graph $G$ with $n$ edges can be described by a $\frac{n^2-n}{2}$ long bitstring, simply concatenate the entries of the adjacency matrix of $G$ in the upper triangle. Therefore there are $2^{\frac{n^2-n}{2}}$ possible graphs on $n$ vertices. It follows that any function $f : \mathbb{N} \rightarrow \mathbb{N}$ such that $0 \leq f(n) &amp;lt; 2^{\frac{n^2-n}{2}}$ for all $n$ describes a family of graphs. For any efficiently computable such function $f$ we define $\Pi_f$ as&#xA;$$ G \in \Pi_f \iff G \text{ is isomorph to the graph described by $f(|V(G)|)$} $$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For a natural number $x$ let $b_1(x)$ be the number of 1's in its binary representation.&#xA;Now, let us only consider $\Pi_f$ for efficiently computable functions $f$ for which it holds that&#xA;$$ b_1(f(n)) \in \mathcal{O}(\log n) $$&#xA;that is families of graphs for which the number of edges grows only logarithmically, as stated above.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We show that $\Pi_f$ for this class of functions is in P.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $f$ be such a function and $G$ be an input graph with $n$ vertices. Let us call $f(n)$ the reference graph. There are at most $\mathcal{O}(\log n)$ edges in the reference graph. Thus every MCC(maximally connected component) can consist of at most $\mathcal{O}(\log n)$ vertices of which there can be at most $n$. Note, that for any pair of graphs with only $\mathcal{O}(\log n)$ vertices we can trivially check isomorphism in polynomialy time w.r.t. $n$ because we can try all permutations. Thus using a greedy algorithm to assign each MCC of the input graph a MCC in the reference graph we can figure out whether the both graphs are isomorph.  &lt;/p&gt;&#xA;" OwnerUserId="17410" LastEditorUserId="17410" LastEditDate="2014-06-07T10:20:00.010" LastActivityDate="2014-06-07T10:20:00.010" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="23820" PostTypeId="2" ParentId="23815" CreationDate="2014-06-07T16:53:55.710" Score="3" Body="&lt;p&gt;I think the best way is to make a recursive algorithm. You could divide your input in half (approx), and keep out the central element. Then you recursively build a tree with the left subarray which will be the left child of the central element, and equivalently the tree resulting from the right subarray will be the right child.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By induction you can prove that the resulting tree is balanced since you are building trees of the same size at each side (+/- 1 node). Also is easy to prove that the result is a binary search tree, by construction.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;With respect to the complexity, every node in the recursive execution tree takes constant time. Since you have a number of nodes proportional to the number of elements in your input, then the algorithm is O(n).&lt;/p&gt;&#xA;" OwnerUserId="17516" LastActivityDate="2014-06-07T16:53:55.710" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="23821" PostTypeId="1" AcceptedAnswerId="23823" CreationDate="2014-06-07T18:28:44.230" Score="2" ViewCount="103" Body="&lt;p&gt;There are a variety of hash tables that support worst-case O(1)-time lookups and deletions and expected O(1)-time lookups. Is there a known lower-bound on hashing that says that there cannot be a hash table with (possibly amortized) worst-case O(1) lookups, insertions, and deletions?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks!&lt;/p&gt;&#xA;" OwnerUserId="4354" LastActivityDate="2019-11-04T05:20:55.150" Title="Lower bounds on simple hash table operations?" Tags="&lt;ds.data-structures&gt;&lt;lower-bounds&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="23823" PostTypeId="2" ParentId="23821" CreationDate="2014-06-07T19:21:48.340" Score="5" Body="&lt;p&gt;The best known lower bounds are discussed in &lt;a href=&quot;https://dl.acm.org/citation.cfm?id=2447737&quot; rel=&quot;nofollow noreferrer&quot;&gt;Thorup's &quot;Mihai Pǎtraşcu: Obituary and Open Problems&quot;&lt;/a&gt;, and none preclude deterministic amortized constant-time operations.&lt;/p&gt;&#xA;" OwnerUserId="43" LastEditorUserId="43" LastEditDate="2019-11-04T05:20:55.150" LastActivityDate="2019-11-04T05:20:55.150" CommentCount="0" ContentLicense="CC BY-SA 4.0" />
  <row Id="23824" PostTypeId="1" CreationDate="2014-06-07T19:27:07.013" Score="12" ViewCount="472" Body="&lt;p&gt;Consider an $n$ dimensional vector $v$ where $v_i \in \{0,1\}$.  For each $i$ we know $p_i = P(v_i = 1)$ and let us assume the $v_i$ are independent.  Using these probabilities, is there an efficient way to iterate over binary $n$ dimensional vectors in order from most likely to least likely (with arbitrary choices for ties) using space sublinear in the output size?  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Take for example $p = \{0.8, 0.3, 0.6\}$. The most likely vector is $(1,0,1)$ and the least likely is $\{0,1,0\}$.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For very small $n$ we could label each of the $2^n$ vectors with its probability and simply sort but this would of course still not use sublinear space.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A close variant of this question was previously asked at &lt;a href=&quot;https://cs.stackexchange.com/questions/24123/how-to-iterate-over-vectors-in-order-of-probability&quot;&gt;https://cs.stackexchange.com/questions/24123/how-to-iterate-over-vectors-in-order-of-probability&lt;/a&gt; .&lt;/p&gt;&#xA;" OwnerUserId="17390" LastEditorUserId="-1" LastEditDate="2017-04-13T12:48:30.830" LastActivityDate="2014-06-24T02:53:36.517" Title="How to iterate over vectors in order of probability in small space" Tags="&lt;ds.algorithms&gt;&lt;space-bounded&gt;" AnswerCount="3" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="23825" PostTypeId="2" ParentId="23824" CreationDate="2014-06-07T22:39:45.833" Score="0" Body="&lt;p&gt;Edit: This answer is incorrect. See comments for details. ~gandaliter&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Linear in the output means $O(2^n)$. I think the obvious algorithm only uses $O(n)$ space, apart from the output itself of course.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Take the list containing the pairs $(i, p_i)$, and sort it by $\left|0.5 - p_i\right|$, largest first.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Define a doubly recursive function which takes a list of such pairs and a partially filled vector $v$, sets the value of $v_i$ as $1$ if $p_i &amp;gt; 0.5$, and $0$ otherwise, and recurses (using the tail of the list, and $v$), then flips $v_i$ and recurses again. If the list is empty it instead outputs $v$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Call this recursive function on the sorted list and an empty vector.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;The intuition is that you are setting the values of the most certain elements in the vector first (the ones whose probabilities are closest to $0$ and $1$), and filling the vector in like that, finishing with the ones whose probabilities are closest to $0.5$. Each possible value that the whole vector could take is outputted in order of its probability.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The run time is $O(2^n)$, which is the lower bound because that is the length of the output. The space complexity is $O(n)$ because the sort doesn't require more than that, and the recursive length is the length of the vector, which is $n$. I believe this is also the lower bound because there must be a different state in memory for every time step in the running of the algorithm, and the time complexity is $O(2^n)$. $O(n)$ states in memory are required to enumerate $O(2^n)$ time steps. Therefore this algorithm is worst-case complexity optimal.&lt;/p&gt;&#xA;" OwnerUserId="10741" LastEditorUserId="10741" LastEditDate="2014-06-09T11:30:05.700" LastActivityDate="2014-06-09T11:30:05.700" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="23826" PostTypeId="2" ParentId="23812" CreationDate="2014-06-08T07:38:59.140" Score="2" Body="&lt;p&gt;No. $\;\;\;\;$ There is also no secure commitment scheme where the verification&#xA;&lt;br&gt;&#xA;routine can be done with bounded fan-in in depth $\:o(\hspace{.02 in}\log(\hspace{.02 in}\log(k)))\:$,&#xA;&lt;br&gt;&#xA;since such circuits have input locality $\:(\hspace{.02 in}\log(k))^{o(1)}$,$\:$ which means one can&#xA;&lt;br&gt;&#xA;efficiently brute-force the bits that might affect the verification circuit's output.&lt;/p&gt;&#xA;" OwnerDisplayName="user6973" LastEditorDisplayName="user6973" LastEditDate="2014-06-08T08:42:58.200" LastActivityDate="2014-06-08T08:42:58.200" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="23827" PostTypeId="1" AcceptedAnswerId="24833" CreationDate="2014-06-08T08:11:11.853" Score="4" ViewCount="299" Body="&lt;p&gt;Let $G$ be the normzlied &lt;a href=&quot;http://mathworld.wolfram.com/HypercubeGraph.html&quot; rel=&quot;noreferrer&quot;&gt;hypercube graph&lt;/a&gt; on $2^d$. It is a Cayley graph and it is well known that its eigenvalues are given by $\lambda_r = 1-2\frac{|r|}{d}$ for every $r \in \{0,1\}^d$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a function $f:[-1,1] \rightarrow[0,1]$, we can define for every $a \in \{0,1\}^d$ the Fourier coefficient&#xA;$$\hat{h}_a = \sum_{r \in \{0,1\}^d}f\left(1-2\frac{|r|}{d}\right)(-1)^{\left&amp;lt;r,a\right&amp;gt;}$$&#xA;Now, let $v$ be the vector of size $2^d$ so that $v_i = \hat{h}_i$ for $i \in \{0,1\}^d$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am looking for an upper-bound on $\frac{1}{2^{d}}\|v\|_1$ in terms of $f$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thank you very much for your help.&lt;/p&gt;&#xA;" OwnerUserId="24222" LastEditorUserId="24222" LastEditDate="2014-06-08T12:56:15.937" LastActivityDate="2014-06-09T05:28:59.037" Title="$\ell_1$ norm of Fourier coefficients vector for the hypercube" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;&lt;fourier-analysis&gt;&lt;gr.group-theory&gt;" AnswerCount="1" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="23828" PostTypeId="2" ParentId="23755" CreationDate="2014-06-08T14:30:57.270" Score="4" Body="&lt;p&gt;I claim that if for some language there is a CFA with with $s$ states and $0$ or $c$ accepting paths for every word, then there is a UFA with $C_ss^c$ states. The basic idea is that the states of the UFA are the (ordered) c-tuples of the states of the CFA and it accepts if and only if all c states accept. Of course we also have to make sure that these were indeed different computations and that we do not count all $c!$ permutations, so for these we need some extra $C_s$ bits of storage.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A bit more detailed description of the basic idea: If $(s_1,\ldots,s_c)$ is a state of the UFA, then it has a transition from it (reading some letter $a$) to the state $(s_1',\ldots,s_c')$ if and only if the CFA has a transition (reading letter $a$) from $s_i$ to $s_i'$ for every $i$. A state $(s_1,\ldots,s_c)$ is accepting if and only if $s_i$ is accepting for every $i$. Of course the starting state of the UFA is $(s_0,\ldots,s_0)$ where $s_0$ is the starting state of the CFA.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem with the above is that the $c$ simulated runs of the CFA might be the same. So we add some extra information, encoded, say, in a graph on $c$ vertices that has an edge between vertex $i$ and vertex $j$ if during the run so far at least once we had that $c_i\ne c_j$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now we still have a problem, that we have counted everything $c!$ times because of the possible permutations. We can remedy this by requiring that if the $i$-th and $j$-th states have been the same until now and in the next step they would differ, then in the next step the $i$-th state should have a larger index. &lt;/p&gt;&#xA;" OwnerUserId="419" LastEditorUserId="419" LastEditDate="2014-06-11T13:21:21.600" LastActivityDate="2014-06-11T13:21:21.600" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="24830" PostTypeId="1" CreationDate="2014-06-09T01:27:52.267" Score="2" ViewCount="163" Body="&lt;p&gt;I would like something like this to be true:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Conjecture: There is a function $g(n)$ such that for all functions $f(n)$ (perhaps satisfying some reasonable properties, like time-constructability), there is a language in $TIME[f(n)]$ that is not in $TIME[f(n) - g(n)]$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Is anything like this known?  Can this be proven under any reasonable assumptions?  Would this have any interesting consequences?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By $TIME[f(n)]$, I mean the set of problems solved by a Turing machine that halts in exactly $f(n)$ steps or less - not to be confused with $O(f(n))$ or less, in which case the conjecture is trivially false when $f(n) &amp;gt;&amp;gt; g(n)$.&lt;/p&gt;&#xA;" OwnerUserId="11051" LastEditorUserId="186" LastEditDate="2014-06-09T09:29:41.427" LastActivityDate="2014-06-09T09:29:41.427" Title="Is there an additive time hierarchy theorem?" Tags="&lt;cc.complexity-theory&gt;&lt;time-complexity&gt;&lt;time-hierarchy&gt;&lt;hierarchy-theorems&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="24831" PostTypeId="2" ParentId="18934" CreationDate="2014-06-09T04:58:29.837" Score="1" Body="&lt;p&gt;This paper[1] additionally introduced the &quot;time-finger&quot; property, a unified property encapsulating both the working-set and the queueish properties:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;We present a priority queue that supports the operations: insert in worst-case constant time, and delete, delete-min, find-min and decrease-key on an element $x$ in worst-case $O(lg(min\{w_x,q_x\}+2))$ time, where $w_x$ (respectively, $q_x$) is the number of elements that were accessed after (respectively, before) the last access of $x$ and are still in the priority queue at the time when the corresponding operation is performed.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;[1] A. Elmasry, A. Farzan, and J. Iacono, ‘A Unifying Property for Distribution-Sensitive Priority Queues’, in Combinatorial Algorithms, vol. 7056, C. Iliopoulos and W. Smyth, Eds. Springer Berlin Heidelberg, 2011, pp. 209–222.&lt;/p&gt;&#xA;" OwnerUserId="7860" LastEditorUserId="7860" LastEditDate="2014-06-10T14:11:25.303" LastActivityDate="2014-06-10T14:11:25.303" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="24832" PostTypeId="2" ParentId="23814" CreationDate="2014-06-09T05:06:38.287" Score="6" Body="&lt;p&gt;[This is more of a few extended comments than an answer.]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) If $GI \notin \mathsf{P}$, then there is no fixed-polynomial bound on the time complexity of all $\Pi_{M}$, even for $M$ that only take time, say, $n^3$: If for all time-$n^3$ $M$, $\Pi_{M} \in \mathsf{DTIME}(n^k)$, then the following is a poly-time algorithm for GI. On input $(G, H)$, construct a Turing machine $M_{G}$ with a clock which ensures that $M_{G}$ never runs for more than $n^3$ steps on inputs of size $n$, and such that $M_{G}(1^{|V(G)|}) = G$, and then solve $\Pi_{M_G}(H)$ in time $O(n^k)$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) Since for any $M$, $\Pi_{M}$ is no harder than GI, one might think that the best result along the lines of &quot;$\Pi_M$ seems not to be in $\mathsf{P}$&quot; one could hope for is a GI-completeness result. However, it seems unlikely to me that any one $\Pi_M$ would be GI-complete, for at least the following reasons: &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;All the GI completeness results I know of are for rather large classes of graphs, rather than having a single graph of each size. Even if you drop the efficiency requirement entirely, I do not know of any list of graphs $G_1, G_2, \dotsc$ such that $|V(G_n)| = n$ (or even $poly(n)$) such that testing isomorphism to $G_n$ is GI-complete.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;On a related note, most (all?) GI-completeness results are not merely many-one reductions, but have the following form: there is a function $f$ such that given an instance $(G,H)$ of GI, $(f(G), f(H))$ is instance of the other GI-complete problem. (These are just poly-time morphisms of equivalence relations, or what &lt;a href=&quot;http://arxiv.org/abs/0907.4775&quot;&gt;Fortnow and I&lt;/a&gt; called &quot;kernel reductions.) We can easily show unconditionally that there is no such reduction from GI to any $\Pi_M$ (even if you modify the definition to allow $M$ to output multiple graphs). Hint: Get a contradiction by showing that any such $f$ must have its image completely contained in $\{G_{M,n}\}_{n \geq 0}$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;3) Even though one could construct $M$ based on a universal TM as suggested in the question, perhaps one can still construct an efficient tester, just not efficiently. That is, maybe for each $M$, $\Pi_{M}$ is in $\mathsf{P/poly}$?&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2014-06-09T05:06:38.287" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="24833" PostTypeId="2" ParentId="23827" CreationDate="2014-06-09T05:28:59.037" Score="3" Body="&lt;p&gt;The question is about the spectral norm of the symmetric function $h: \{0,1\}^n \to [-1,+1]$ defined as $h(x) = f(1-2|x|/d)$. (I have assumed range $[-1,+1]$ instead of $[0,1]$ which is wlog by appropriate rescaling.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.cs.mcgill.ca/~aada/papers/AFH2012.pdf&quot; rel=&quot;nofollow&quot;&gt;Ada, Fawzi and H. Hatami&lt;/a&gt; show that for any &lt;em&gt;boolean&lt;/em&gt; $g: \{0,1\}^n \to \{-1, +1\}$, $$\log \|\hat{g}\|_1 = \Theta\left(r(g) \log\left(\frac{n}{r(g)}\right)\right)$$ where $r(g) = \max(r_0(g), r_1(g))$ and $r_0(g)$ and $r_1(g)$ are minimum integers such that $g$ is either constant or perfectly correlated with parity or anti-parity for $x$ with $|x| \in [r_0(g), n-r_1(g)]$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, look at the proof of Lemma 3.1 in the paper. Note that this straightforward argument also holds for functions $h$ mapping to $[-1,+1]$ instead of $\{-1,+1\}$. So, the same upperbound also holds for your case. This upperbound is tight at least for the boolean functions, but I don't know if there's a similar general lowerbound for non-boolean $h$.&lt;/p&gt;&#xA;" OwnerUserId="15" LastActivityDate="2014-06-09T05:28:59.037" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="24835" PostTypeId="2" ParentId="24830" CreationDate="2014-06-09T08:33:51.317" Score="3" Body="&lt;p&gt;I don't see the need for your clarification, since through linear speed-up those sets are exactly the same. It is clear why you need to avoid using asymptotics, since $f(n)-g(n)$ and $f(n)$ are asymptotically the same, but not using asymptotics doesn't somehow make the linear speed-up theorem not true.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some further insight can be gained. $g(n)$ is actually $g(f(n))$,i.e. it must depend on $f(n)$ to work for all functions. Why? Suppose g(n) is non-constant. Pick $f(n) = 2 g(n)$ . Then clearly $f(n)$ and $f(n)-g(n)$ are equal by the linear speed-up theorem. If $g(n)=c$ is constant, then we can pick a non-constant $f(n)$ so that the conjecture doesn't hold.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What if we allow dependency on $f(n)$? Well then by taking the known deterministic hierarchy theorem and doing some basic arithmetic we can see that any $g(f(n))$ that is $o((1 - \frac{1}{ \log f(n)} ) f(n) )$ works. However I am not sure if just by stating the same theorem in a slightly different form opens up the possibility of some new insight.&lt;/p&gt;&#xA;" OwnerUserId="879" LastActivityDate="2014-06-09T08:33:51.317" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="24839" PostTypeId="2" ParentId="23804" CreationDate="2014-06-09T10:59:59.440" Score="2" Body="&lt;p&gt;There isn't a &quot;standard&quot; answer that everyone uses for this problem. However there are some common measures that have been used. This answer is not complete (that would be too hard to summarize), but googling the relevant terms mentioned here will lead you in the right direction. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In general, you should think of the two polylines you want to compare as curves with a well defined &quot;start&quot; and &quot;end&quot;. In that case, the measures I'm describing assume a monotonic continous mapping between the curves (i.e imagine a point on one curve and another point on the other moving in the &quot;forward&quot; direction). The goal is to minimize some property of this mapping. &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;The &lt;a href=&quot;http://en.wikipedia.org/wiki/Fr%C3%A9chet_distance&quot; rel=&quot;nofollow&quot;&gt;Fréchet distance&lt;/a&gt; is &lt;a href=&quot;http://www.staff.science.uu.nl/~driem101/&quot; rel=&quot;nofollow&quot;&gt;extensively studied&lt;/a&gt; in computational geometry. If you think of the point on one curve as a dog and the point on the other as a man holding the dog's leash, then the Frechet distance is the shortest leash length required when both man and dog are walking along the curves at arbitrary speeds. It's a metric (satisfies triangle inequality) and for two curves can be computed in worst case $O(n^2)$ time (modulo log factors) if $n$ is the size of each curve, and can be approximated under a number of realistic assumptions much faster than that. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://www.cs.ucr.edu/~eamonn/LB_Keogh.htm&quot; rel=&quot;nofollow&quot;&gt;Dynamic Time Warping&lt;/a&gt; is studied extensively in data mining/vision. Here, the goal is to minimize the &quot;average&quot; leash length rather than the maximum. There are fewer guarantees for this measure, but you'll probably find lots of code available for it. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="80" LastActivityDate="2014-06-09T10:59:59.440" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="24840" PostTypeId="2" ParentId="23824" CreationDate="2014-06-09T19:55:18.753" Score="4" Body="&lt;p&gt;We can do that in space $O(n)$ (if we don't care about the running time).&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;For a given string $x \in \{0,1\}^n$, we can compute in space $O(n)$ the number $r(x)$ of strings that are more likely than $x$; that is, the number of $x'$ s.t. $p(x') &amp;gt; p(x)$: just go over all $x'\in \{0,1\}^n$ and count the number of $x'$ s.t. $p(x') &amp;gt; p(x)$. Note that $r(x)$ is the sequential number of string $x$ in the output.&lt;/li&gt;&#xA;&lt;li&gt;For every $k$, we can find $x$ with $r(x) = k$ in space $O(n)$: go over all $x \in \{0,1\}^n$, for each $x$ compute $r(x)$, stop and output $x$ if $r(x) = k$.&lt;/li&gt;&#xA;&lt;li&gt;Now just go over all $k$ from $0$ to $2^n-1$, for each $k$ print $x$ with $r(x) =k$.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;(We should also take care of possible ties, but this is not difficult.)&lt;/p&gt;&#xA;" OwnerUserId="9929" LastActivityDate="2014-06-09T19:55:18.753" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="24842" PostTypeId="2" ParentId="23798" CreationDate="2014-06-09T20:49:44.710" Score="5" Body="&lt;p&gt;I don't know if this answers (part of) your question but there are indeed alternative characterizations of the complexity classes (esp. &lt;span class=&quot;math-container&quot;&gt;$\mathbb{P}$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$\mathbb{NP}$&lt;/span&gt;) in terms of logics (1st order logic, 2nd order logic, etc..).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example the &lt;a href=&quot;http://en.wikipedia.org/wiki/Second-order_logic#Relation_to_computational_complexity&quot; rel=&quot;nofollow noreferrer&quot;&gt;work&lt;/a&gt; of &lt;a href=&quot;http://en.wikipedia.org/wiki/Fagin%27s_theorem&quot; rel=&quot;nofollow noreferrer&quot;&gt;R. Fagin&lt;/a&gt; (et al.) in this &lt;a href=&quot;http://en.wikipedia.org/wiki/Descriptive_complexity&quot; rel=&quot;nofollow noreferrer&quot;&gt;area&lt;/a&gt; is notable (and imo might provide insight related to the &lt;span class=&quot;math-container&quot;&gt;$\mathbb{P}$&lt;/span&gt; vs &lt;span class=&quot;math-container&quot;&gt;$\mathbb{NP}$&lt;/span&gt; issue and relations with descriptive and &lt;a href=&quot;http://en.wikipedia.org/wiki/Kolmogorov_complexity&quot; rel=&quot;nofollow noreferrer&quot;&gt;algorithmic&lt;/a&gt; complexity)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some further characterizations of computational complexity classes in terms of algorithmic (Kolmogorov-Solomonov) complexity can be found (for example) &lt;a href=&quot;http://people.cs.uchicago.edu/~fortnow/papers/quaderni.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;here&lt;/a&gt; and &lt;a href=&quot;http://www.researchgate.net/publication/48309221_Using_Randomness_to_Characterize_the_Complexity_of_Computation&quot; rel=&quot;nofollow noreferrer&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="21598" LastEditorDisplayName="user30448" LastEditDate="2019-01-23T08:23:53.100" LastActivityDate="2019-01-23T08:23:53.100" CommentCount="0" ContentLicense="CC BY-SA 4.0" />
  <row Id="24843" PostTypeId="1" CreationDate="2014-06-09T21:58:17.223" Score="4" ViewCount="228" Body="&lt;p&gt;This question is strongly related to &lt;a href=&quot;https://cstheory.stackexchange.com/questions/22605/additive-error-in-counting-the-number-of-1s-in-a-sliding-window&quot;&gt;another question&lt;/a&gt; I asked here a few weeks ago.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In this problem setting we have a stream of elements $s_1,s_2,...$, such that $\forall i: s_i\in \mathcal X$ for some set $\mathcal X$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;At time $t$ we get $s_t$, and required to update our data structure to be able to answer queries of the form &lt;em&gt;&quot;did $x$ ($x\in \mathcal X$) appear at least $N\epsilon$ times in the last $N$ elements in the stream ($s_{t-N+1},s_{t-N+2},\dots ,s_{t}$)?&quot;&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;What is the best algorithm (memory-wise, and then runtime as a secondary objective) that answers these queries correctly w.p. 1?&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Two related papers, which implement a &lt;em&gt;sliding bloom filter&lt;/em&gt; (answering queries of the form &quot;did $x$ appear at least once in the last $N$ elements&quot;) appeared last year, &lt;a href=&quot;http://link.springer.com/chapter/10.1007/978-3-642-45030-3_48&quot; rel=&quot;nofollow noreferrer&quot;&gt;one by Naor and Yogev&lt;/a&gt; and &lt;a href=&quot;http://www.edbt.org/Proceedings/2013-Genova/papers/edbt/a23-dautrich.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;the other by Dautrich and Ravishankar&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;These results can be seen as a special case of the sliding heavy hitters problem for $\epsilon=\frac{1}{N}$.&lt;/p&gt;&#xA;" OwnerUserId="21001" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2014-06-09T21:58:17.223" Title="What is known about finding heavy hitters in a sliding window?" Tags="&lt;ds.algorithms&gt;&lt;streaming&gt;&lt;streaming-algorithms&gt;&lt;sliding-window&gt;" AnswerCount="0" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="24845" PostTypeId="2" ParentId="23824" CreationDate="2014-06-10T02:36:39.053" Score="9" Body="&lt;p&gt;The following gives an algorithm that uses approximately $2^n$ time and $2^{n/2}$ space.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First, let's look at the problem of sorting the sums of all subsets of $n$ items.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider this subproblem: you have two sorted lists of length $m$, and you would like to create a sorted list of the pairwise sums of the numbers in the lists. You would like to do this in roughly $O(m^2)$ time (the output size), but sublinear space. We can achieve $O(m)$ space. We keep a priority queue, and pull the sums out of the priority queue in increasing order. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let the lists be $a_1 \ldots a_m$ and $b_1 \ldots b_m$, sorted in increasing order. We take the $m$ sums $a_i + b_1$, $i = 1 \ldots m$, and put them in a priority queue.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, when we pull the smallest remaining sum $a_i + b_j$ out of the priority queue, if $j &amp;lt; m$ we then put the sum $a_i + b_{j+1}$ into the priority queue. The space is dominated by the priority queue, which always contains at most $m$ sums. And the time is $O(m^2 \log m)$, since we use $O(\log m)$ for each priority queue operation. This shows we can do the subproblem in $O(m^2 \log m)$ time and $O(m)$ space.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, to sort the sums of all subsets of $n$ numbers, we just use this subroutine where the list $a_i$ is the set of sums of subsets of the first half of the items, and the list $b_i$ is the set of sums of subsets of the second half of the items. We can find these lists recursively with the same algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We will now consider the original problem.  Let $S_0$ be the set of coordinates which are $0$, and $S_1$ be the set of coordinates which are $1$. Then&#xA;\begin{eqnarray*}\prod_{i \in S_0} p(v_i=0) \prod_{i \in S_1} p(v_i=1) &amp;amp;=&amp;amp; \prod_{1\leq i \leq n} p(v_i=0)   \prod_{i \in S_1} \frac{p(v_i=1)}{p(v_i=0)} \\ &amp;amp;=&amp;amp; \prod_{1\leq i \leq n} p(v_i=0) \exp\,\left(\sum_{i \in S_1} \log \frac{p(v_i=1)}{p(v_i = 0)}\right).\end{eqnarray*}&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Sorting these numbers is the same as sorting the numbers $\sum_{i\in S_1}\log p(v_i=1) - \log p(v_i=0)$, so we have reduced the problem to sorting the sums of subsets of $n$ items.&lt;/p&gt;&#xA;" OwnerUserId="1677" LastEditorUserId="1677" LastEditDate="2014-06-10T03:40:00.083" LastActivityDate="2014-06-10T03:40:00.083" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="24846" PostTypeId="1" AcceptedAnswerId="24856" CreationDate="2014-06-10T03:35:35.083" Score="7" ViewCount="339" Body="&lt;p&gt;I should add the context that I am concerned with strongly normalizing systems like System-F.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have what I consider a very strong notion of equivalence for lambda terms that goes something like the following (not super formal)&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;if $E_1$ and $E_2$ have WHNFs $\lambda x:t.E_1'$ and $\lambda x:t.E_2'$ then $E_1 = E_2$ if $\forall x:t. E_1' = E_2'$&lt;/li&gt;&#xA;&lt;li&gt;if $E_1$ and $E_2$ have WHNFs that are not $\lambda$s then they must be constructively equivalent. If $\lambda$s are elements of $E_1$ and $E_2$ they must be in the same structural locations and be equivalent by 1.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Is this notation of equivalence stronger than beta equivalence for strongly normalizing systems? If not is it equivalent? Are there stronger kinds of equivalence (or perhaps ones in the same spirit but more formal)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks!&lt;/p&gt;&#xA;" OwnerUserId="21112" LastEditorUserId="21112" LastEditDate="2014-06-10T18:40:40.710" LastActivityDate="2014-06-11T20:58:03.893" Title="Are there stronger notions of equivalence over lambda terms than beta equivalence?" Tags="&lt;pl.programming-languages&gt;&lt;lambda-calculus&gt;&lt;functional-programming&gt;" AnswerCount="1" CommentCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="24849" PostTypeId="2" ParentId="5985" CreationDate="2014-06-11T01:16:05.890" Score="2" Body="&lt;p&gt;You should look at Tornado codes {1}, which, for any $R$ and $\epsilon&amp;gt;0$ and large enough $n$ can be designed to recover (with high probability) from a loss of a $(1-R)(1-\epsilon)$ fraction of bits in time proportional to $n \ln \frac{1}{\epsilon}$ (see Theorem 1 in {1}).&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;{1} Luby, Michael G., et al. &quot;Practical loss-resilient codes.&quot; Proceedings of the twenty-ninth annual ACM symposium on Theory of computing. ACM, 1997:  &lt;a href=&quot;http://www.eecs.harvard.edu/~michaelm/NEWWORK/postscripts/losscodes.pdf&quot; rel=&quot;nofollow&quot;&gt;http://www.eecs.harvard.edu/~michaelm/NEWWORK/postscripts/losscodes.pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="25250" LastActivityDate="2014-06-11T01:16:05.890" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="24853" PostTypeId="1" AcceptedAnswerId="24855" CreationDate="2014-06-11T10:28:44.093" Score="3" ViewCount="120" Body="&lt;p&gt;I have a series of &lt;code&gt;n&lt;/code&gt; points in &lt;code&gt;d&lt;/code&gt;-dimensional continuous space.  I want to find a series of hyperplanes such that &lt;code&gt;k&lt;/code&gt; points are below the hyperplane and that the set of &lt;code&gt;k&lt;/code&gt; points below each hyperplane is a unique set.  It does not matter what the hyperplane is (e.g. if it connects &lt;code&gt;d&lt;/code&gt; points or if it is another hyperplane not intersecting any points).  I can discretise the space if it helps.  &quot;below&quot; is defined as the negative direction for the first dimension.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The way I have approached is to try all hyperplanes defined by all sets of &lt;code&gt;d&lt;/code&gt; points, project each point on to this hyperplane, and test if the projection is above the point.  This results in &lt;code&gt;n^(d+1)&lt;/code&gt; complexity.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a better way?  What is it?&lt;/p&gt;&#xA;" OwnerUserId="25228" LastActivityDate="2014-06-11T17:42:13.420" Title="Find all hyperplanes separating unique sets of `k` points" Tags="&lt;cg.comp-geom&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="24854" PostTypeId="2" ParentId="23800" CreationDate="2014-06-11T16:22:27.293" Score="4" Body="&lt;p&gt;it occurred to me that 1sthand accounts might be helpful, but those seem to be somewhat rare in CS (as opposed to eg mathematics, biographical/ memoir-like writing etc). here are two online refs that address the question &amp;amp; may be helpful. they are more aimed at PhD student life &amp;amp; CS oriented but most will carry to professor level research (other than teaching, but which also many Phds do). [&amp;amp; in &lt;em&gt;some ways&lt;/em&gt; professors can be seen as continually/repeatedly writing many &quot;mini-&quot; PhD theses (research papers) or in some cases &quot;super-&quot; Phd theses (books) over their careers.] there are also several decent books on the subject, will add some if you indicate they would be an acceptable answer for your question.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://people.cs.umass.edu/~emery/misc/how-to.pdf&quot; rel=&quot;nofollow&quot;&gt;How to do Research At the MIT AI Lab&lt;/a&gt; &quot;by a whole bunch of current, former, and honorary&#xA;MIT AI Lab graduate students&quot; / &#xA;David Chapman, Editor&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;This document presumptuously purports to explain how to do research.&#xA;  We give heuristics that may be useful in picking up the&#xA;  specific skills needed for research (reading, writing, programming)&#xA;  and for understanding and enjoying the process itself (methodology,&#xA;  topic and advisor selection, and emotional factors).&lt;/p&gt;&#xA;&lt;/blockquote&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://people.cs.umass.edu/~wallach/how_to_be_a_successful_phd_student.pdf&quot; rel=&quot;nofollow&quot;&gt;How to Be a Successful PhD Student (in Computer Science)&lt;/a&gt; Mark Dredze (Johns Hopkins University),  Hanna M. Wallach (University of Massachusetts Amherst)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="7884" LastEditDate="2014-06-11T16:27:27.417" LastActivityDate="2014-06-11T16:27:27.417" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="24855" PostTypeId="2" ParentId="24853" CreationDate="2014-06-11T17:42:13.420" Score="1" Body="&lt;p&gt;If I understand well, you are interested in the $k$-set problem:&#xA;&lt;a href=&quot;http://en.wikipedia.org/wiki/K-set_%28geometry%29&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/K-set_(geometry)&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In general their number can be $O(n^{\lfloor d/2\rfloor}k^{\lceil d/2\rceil})$ and though I could not find references now, I think you can also compute them in about this much time.&lt;/p&gt;&#xA;" OwnerUserId="419" LastActivityDate="2014-06-11T17:42:13.420" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="24856" PostTypeId="2" ParentId="24846" CreationDate="2014-06-11T20:58:03.893" Score="3" Body="&lt;p&gt;Alright I'll give it a crack. It seems what you are describing is close to &lt;em&gt;contextual equivalence&lt;/em&gt;, which is defined in the following manner $t$ and $t'$ ($t\simeq t'$) are contextually equivalent iff:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\forall E, E[t]\!\downarrow\ \Leftrightarrow\ E[t']\!\downarrow $$&#xA;where $E$ ranges over the set of &lt;em&gt;term contexts&lt;/em&gt; (terms with one &quot;hole&quot;) and $t\!\downarrow$ means $t$ is normalizing. Now this definition works for all untyped $\lambda$-terms and it is possible to show that if $t$ and $t'$ are normalizing, then&#xA;$$ t\simeq t'\ \Leftrightarrow\ t=_{\beta\eta}t'$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here $\beta$ is the usual $\beta$-conversion and $\eta$ is the equality&#xA;$$ \lambda x.t\ x = t$$&#xA;if $x\not\in \mathrm{FV}(t)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This shows that $\beta+\eta$ is a rather strong form of equivalence for normalizing terms &lt;em&gt;in the untyped setting&lt;/em&gt;. However in general the statement&#xA;$$ \forall v:T,\ t\ v=_{\beta\eta} t'\ v\qquad (1)$$&#xA;in some (normalizing) typed calculus is significatnly stronger than $t=_{\beta\eta}t'$: the first one is usually undecidable, and the second is not.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;If You take as a starting point $\beta+\eta$ equality at non-functional types and $(1)$ at functional types, what you get is &lt;em&gt;extensional equality of terms&lt;/em&gt;, and it holds in most &quot;natural&quot; models. See e.g. &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.20.9878&quot; rel=&quot;nofollow&quot;&gt;Berardi &lt;em&gt;et al&lt;/em&gt;&lt;/a&gt; for models of system $F$ and the classic &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0444875085&quot; rel=&quot;nofollow&quot;&gt;Barendregt&lt;/a&gt; chapters 5 and 10.&lt;/p&gt;&#xA;" OwnerUserId="3984" LastActivityDate="2014-06-11T20:58:03.893" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="24857" PostTypeId="2" ParentId="23815" CreationDate="2014-06-12T00:29:05.480" Score="2" Body="&lt;p&gt;Although this is not exactly the question you asked, you can also build balanced trees from ordered data in an online manner.  That is to say, you could walk your array from left-to-right building up partial results, and if some asked you to stop after &lt;em&gt;k&lt;/em&gt; items you could finish building the tree in log &lt;em&gt;k&lt;/em&gt; time (with the total time being O(&lt;em&gt;k&lt;/em&gt;), and the extra storage required O(log &lt;em&gt;k&lt;/em&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To state this another way, you could read the data from a pipe and create the tree (via auxilliary structures) without first putting it all in an array first (thereby avoiding the O(&lt;em&gt;n&lt;/em&gt;) storage required for the array).  Algorithms to do this for red-black trees can be found hidden in the SML NJ library implementation of red-black sets.  The theoretical underpinnings can be found in Okasaki's &lt;em&gt;Purely Functional Data Structures&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have found a similar algorithm for AVL (height-balanced) trees, but I have not (yet) published it, as I don't know whether it is part of the published literature for AVL trees.&lt;/p&gt;&#xA;" OwnerUserId="25259" LastActivityDate="2014-06-12T00:29:05.480" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="24858" PostTypeId="1" CreationDate="2014-06-12T00:31:09.110" Score="1" ViewCount="84" Body="&lt;p&gt;Given an ordered stream of &lt;em&gt;n&lt;/em&gt; items (&lt;em&gt;n&lt;/em&gt; unknown in advance), it is well-known how to construct a red-black tree from them in O(&lt;em&gt;n&lt;/em&gt;)-time.  More specifically this is possible using only O(log &lt;em&gt;n&lt;/em&gt;) additional storage, and only O(log &lt;em&gt;n&lt;/em&gt;)-time after then &lt;em&gt;end-of-stream&lt;/em&gt; is discovered.  The technique involves pennants and the 1-2 binary representation of &lt;em&gt;n&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The technique needs to be modified for AVL trees, and I haven't seen referneces to an on-line algorithm for creating AVL trees.  Does anyone know of such a published algorithm? &lt;/p&gt;&#xA;" OwnerUserId="25259" LastEditorUserId="43" LastEditDate="2014-06-12T00:52:11.947" LastActivityDate="2014-06-12T00:57:04.367" Title="Are there published algorithms for on-line creation of AVL trees from ordered streams?" Tags="&lt;ds.algorithms&gt;&lt;ds.data-structures&gt;&lt;online-algorithms&gt;&lt;binary-trees&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="24859" PostTypeId="2" ParentId="24858" CreationDate="2014-06-12T00:57:04.367" Score="1" Body="&lt;p&gt;If I understand your question correctly and the elements arrive in sorted order, I believe the usual bottom-up AVL tree insertion algorithm meets your criteria. In particular, insert-only AVL trees have $O(1)$ amortized (and $O(\lg n)$ worst-case) update time. Simply maintain a pointer to the last element of the tree and perform each insertion at that location.&lt;/p&gt;&#xA;" OwnerUserId="43" LastActivityDate="2014-06-12T00:57:04.367" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="24860" PostTypeId="1" CreationDate="2014-06-12T02:50:32.120" Score="0" ViewCount="136" Body="&lt;h2&gt;Setting&lt;/h2&gt;&#xA;&lt;p&gt;Consider repeating the following process on the numbers &lt;span class=&quot;math-container&quot;&gt;$N=\{1, 2, 3, \ldots, n\}$&lt;/span&gt;:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Pick an integer &lt;span class=&quot;math-container&quot;&gt;$k \in N$&lt;/span&gt;, uniformly at random.&lt;/li&gt;&#xA;&lt;li&gt;Pick a subset of &lt;span class=&quot;math-container&quot;&gt;$k$&lt;/span&gt; elements from &lt;span class=&quot;math-container&quot;&gt;$N$&lt;/span&gt;, uniformly at random.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;After picking &lt;span class=&quot;math-container&quot;&gt;$s$&lt;/span&gt; such sets, we repeatedly (until exhaustion) mark each number that is in a set whose other numbers are all marked.&lt;/p&gt;&#xA;&lt;h2&gt;Example&lt;/h2&gt;&#xA;&lt;p&gt;For example, if &lt;span class=&quot;math-container&quot;&gt;$N=\{1,2,3,4,5\}$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$s=3$&lt;/span&gt;, we might pick the sets &lt;span class=&quot;math-container&quot;&gt;$s_0=\{1,3,5\}$&lt;/span&gt;, &lt;span class=&quot;math-container&quot;&gt;$s_1=\{1,4\}$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$s_2=\{4\}$&lt;/span&gt;.  In the marking phase, we'd first mark &lt;span class=&quot;math-container&quot;&gt;$4$&lt;/span&gt; (because in &lt;span class=&quot;math-container&quot;&gt;$s_2$&lt;/span&gt; all 0 other elements are marked), then we'll mark &lt;span class=&quot;math-container&quot;&gt;$1$&lt;/span&gt; (from set s_1), and we'll be done.&lt;/p&gt;&#xA;&lt;p&gt;More generally, if &lt;span class=&quot;math-container&quot;&gt;$s=1$&lt;/span&gt;, then we know that &lt;span class=&quot;math-container&quot;&gt;$\frac{1}{N}$&lt;/span&gt; fraction of times, we will have marked exactly one element with this process, and &lt;span class=&quot;math-container&quot;&gt;$\frac{N-1}{N}$&lt;/span&gt; fraction of times we will mark no elements.&lt;/p&gt;&#xA;&lt;h2&gt;Question&lt;/h2&gt;&#xA;&lt;p&gt;Can anyone provide a closed-form expression for the distribution of the number of marked elements after this procedure for arbitrary &lt;span class=&quot;math-container&quot;&gt;$s$&lt;/span&gt;?&lt;/p&gt;&#xA;&lt;p&gt;&lt;em&gt;P.S.  I am purposefully leaving out the motivation or reference for this algorithm so as not to bias answers.  Those who recognize the motivation are kindly asked not to mention it, unless it specifically helps with the solution.&lt;/em&gt;&lt;/p&gt;&#xA;" OwnerUserId="25250" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2014-06-15T01:00:00.023" Title="Determining the distribution of results of a simple algorithm" Tags="&lt;ds.algorithms&gt;&lt;co.combinatorics&gt;&lt;pr.probability&gt;&lt;coding-theory&gt;" AnswerCount="2" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="24861" PostTypeId="2" ParentId="20243" CreationDate="2014-06-12T04:53:52.790" Score="-2" Body="&lt;p&gt;I created an algorithm for that. for detail see &#xA;    &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/0098300493900457&quot; rel=&quot;nofollow&quot;&gt;http://www.sciencedirect.com/science/article/pii/0098300493900457&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;briefly speaking, you can use following recursive formula to generate:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;x_1=1-R_1^{1/n-1}&#xA;x_k=(1-\sum_{i=1}^{k} x_i)(1-R_k^{1/n-k}),    k=2,…,n-1&#xA;x_n=1-\sum_{i=1}^{n-1} x_i&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Best wishes&lt;/p&gt;&#xA;" OwnerUserId="25261" LastActivityDate="2014-06-12T04:53:52.790" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="24862" PostTypeId="1" CreationDate="2014-06-12T07:33:00.457" Score="3" ViewCount="959" Body="&lt;p&gt;Is it possible to implement the Christofides algorithm for an directed Graph?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose you have an undirected Graph, in which every vertex has an edges in both ways to every other in the graph (not to itself). But the weights of the edges, don't necessarily have do be the same in both ways (unsymmetrical).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For Example you think of a Street Map, in which there are a lot of oneway streets.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We now want to find an approximation for the traveling salesman tour through all the vertices.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First of all the Christoffides algorithm is not defined for such an TSP, because the Minimum Spanning Tree ist not defined for an directed Graph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But still we start the algorithm by finding the optimum branching with Edmonds algorithm to the start point of the tour as the root.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then we find a minimal perfect matching for the branching, so that it becomes an Eulerian graph. This will happen with the Hungarian algorithm, wich finds an minimal matching so that every vertex in the branching has afterwords the same amount of edges coming in an out.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the last step we find the euler tour and optimize the tour by taking shortcuts.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have to questions:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is the way I want to implement the algorithm right, or did I made a mistake and it can't work&#xA;If it works, is it still bounded bei 1,5 of the optimal solution for the tsp?&lt;/p&gt;&#xA;" OwnerUserId="25264" LastActivityDate="2014-06-12T07:33:00.457" Title="Christofides algorithm for directed graph" Tags="&lt;tsp&gt;&lt;matching&gt;&lt;minimization&gt;" AnswerCount="0" CommentCount="4" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="24863" PostTypeId="2" ParentId="24860" CreationDate="2014-06-12T08:07:15.383" Score="0" Body="&lt;p&gt;(More of an extended comment - it's not readable as a comment).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are you sure a closed form for it exist?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is solvable by the following recurrence formula:&#xA;$$P[m,k]=P[m-1,k-1]\cdot P_k + P[m-1,k]\cdot(1-P_{k+1})$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Where &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$P_k = \begin{cases} \frac{(N+1)^{k-2} (N + k )}{N^k} &amp;amp;\mbox{if } k \leq N \\&#xA;\ \ \ \ \ \ \ \ \ 0 &amp;amp; \mbox{else}\end{cases} $$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;and &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$ P[0,0]=1, \forall k\neq 0: P[0,k]=0$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The answer you're looking for (the probability of $t$ marked elements) is $P[s,t]$.&lt;/p&gt;&#xA;" OwnerUserId="21001" LastEditorUserId="21001" LastEditDate="2014-06-12T21:56:36.357" LastActivityDate="2014-06-12T21:56:36.357" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="24869" PostTypeId="1" AcceptedAnswerId="24883" CreationDate="2014-06-12T22:44:24.657" Score="4" ViewCount="257" Body="&lt;p&gt;Assume you have universe $\mathcal{U}=\{e_1,e_2,\ldots e_N\}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we like to encode an ordered sequence of $k$ elements from $\mathcal{U}$, it's not hard to argue that $k\log |\mathcal{U}|$ bits are needed.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'd like to be able to have a &quot;Set&quot; data structure, which take advantage of the fact that the set is unordered to save memory.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It seems that theoretically (information bound), we could only use $k\log \frac{|\mathcal{U}|}{k}$ bits for encoding the set, but I was wondering if such result is known.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I considered looking into implementations of current set structures in popular programming languages, but assumed they'll be more optimized for runtime rather than memory, so my questions are:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Is there a known data structure that allows storing $k$ elements set using $k\log \frac{|\mathcal{U}|}{k} + O(1)$ bits (supporting adding and deleting items of course)?&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;What is the best runtime of such structure?&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I'm well aware we could probably save some memory by hashing (if $k &amp;lt;&amp;lt; \mathcal{U}$), but I'm looking for a deterministic structure.&lt;/p&gt;&#xA;" OwnerUserId="21001" LastActivityDate="2014-06-13T23:44:36.407" Title="Minimal encoding of a set (unordered collection of elements)?" Tags="&lt;ds.algorithms&gt;&lt;ds.data-structures&gt;&lt;space-bounded&gt;&lt;encoding&gt;" AnswerCount="2" CommentCount="6" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="24870" PostTypeId="2" ParentId="24869" CreationDate="2014-06-13T00:16:43.723" Score="5" Body="&lt;p&gt;What you're looking for is called a &quot;succinct&quot; or &quot;implicit&quot; dictionary. The best solution I know of is &lt;a href=&quot;http://arxiv.org/abs/0912.5424&quot; rel=&quot;nofollow&quot;&gt;Backyard cuckoo hashing, by Arbitman et al from FOCS 2010&lt;/a&gt;, which &quot;guarantees constant-time [insert, delete, lookup] operations in the worst case with high probability&quot; while using $B + o(B)$ bits, where $B$ is the lower bound you mention.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you need updates, I don't know if you'll be able to beat $O\left(\sqrt{B}\right)$ redundancy, given the lower bounds in &lt;a href=&quot;http://erikdemaine.org/papers/ResizableArraysTR/&quot; rel=&quot;nofollow&quot;&gt;Brodnik et al.'s &quot;Resizable Arrays in Optimal Time and Space&quot;&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="43" LastEditorUserId="43" LastEditDate="2014-06-13T13:41:14.647" LastActivityDate="2014-06-13T13:41:14.647" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="24872" PostTypeId="1" CreationDate="2014-06-13T02:17:20.223" Score="1" ViewCount="149" Body="&lt;p&gt;I recall Scott Aaronson making the claim that either $P\neq NP$ or he has superpowers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What reason is there, if any, to believe that it is not the case that any decision procedure has constants (or exponents) that would make an ultrafinitist squirm?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;That is to say, if I take &quot;has superpowers&quot; to mean &quot;is capable of &lt;em&gt;practically&lt;/em&gt; deciding reasonably sized pathological instances of &lt;em&gt;insert NP-complete problem here&lt;/em&gt;&quot;, why should I believe that there isn't a third option?&lt;/p&gt;&#xA;" OwnerUserId="7515" LastActivityDate="2014-06-13T02:17:20.223" Title="What is known about lower bounds on the algorithm if P=NP" Tags="&lt;p-vs-np&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="24876" PostTypeId="1" CreationDate="2014-06-13T13:53:23.250" Score="11" ViewCount="699" Body="&lt;p&gt;Crossposted from &lt;a href=&quot;https://mathoverflow.net/questions/171493/polynomial-problems-in-graph-classes-defined-by-forbidden-induced-cyclic-subgrap&quot;&gt;MO&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $C$ be a graph class defined by a finite&#xA;number of forbidden induced subgraphs, all&#xA;of which are cyclic (contain at least one cycle).&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Are there NP-hard graph problems that can be solved in&#xA;  polynomial time for $C$ other than Clique and Clique&#xA;  cover?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;If I remember correctly, this is impossible for&#xA;independent set (unless $P=NP$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Search in graphclasses.org didn't find any.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A class for which Clique and Clique cover are&#xA;polynomial is &lt;a href=&quot;http://graphclasses.org/classes/gc_1022.html&quot;&gt;C5,C6,X164,X165,sunlet4,triangle-free&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Negative for IS and Domination is in &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0304397505008327&quot;&gt;this paper&lt;/a&gt;. Page 2, the graphs $S_{i,j,k}$.&lt;/p&gt;&#xA;" OwnerUserId="22348" LastEditorUserId="14035" LastEditDate="2014-06-14T11:32:29.540" LastActivityDate="2014-06-24T13:03:13.043" Title="Polynomial problems in graph classes defined by forbidden induced cyclic subgraphs" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;co.combinatorics&gt;" AnswerCount="4" CommentCount="3" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="24877" PostTypeId="1" AcceptedAnswerId="24897" CreationDate="2014-06-13T17:15:59.323" Score="10" ViewCount="922" Body="&lt;p&gt;Complementary slackness (CS) is commonly taught when talking about duality. It establishes a nice relation between the primal and the dual constraint/variables from a mathematical viewpoint.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The two primary reasons for applying CS (as taught in graduate courses and textbooks):&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;To check the optimality of the LP&lt;/li&gt;&#xA;&lt;li&gt;To help solve the dual&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Given today's computing power and polynomial algorithms for solving LPs is CS still relevant from a pragmatic viewpoint? We could always just solve the duals and address both the points above. I agree that it's &quot;more efficient&quot; to solve the dual with the help of CS but is that it? Or is there more to CS than meets the eye? &lt;em&gt;Where exactly is CS useful beyond the above two points&lt;/em&gt;? I've commonly seen texts alluding to the concept of CS when talking about approximation algorithms but I fail to understand its role there.&lt;/p&gt;&#xA;" OwnerUserId="7014" LastEditorUserId="186" LastEditDate="2014-06-16T21:11:54.330" LastActivityDate="2014-06-16T21:48:38.093" Title="Why is complementary slackness important?" Tags="&lt;ds.algorithms&gt;&lt;approximation-algorithms&gt;&lt;linear-programming&gt;&lt;primal-dual&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="24878" PostTypeId="1" AcceptedAnswerId="24880" CreationDate="2014-06-13T17:55:31.763" Score="-1" ViewCount="175" Body="&lt;p&gt;Helo everybody, &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;is there any result or research that connects some $NP$-complete problem&#xA;  with only &lt;em&gt;slightly&lt;/em&gt; super-polynomial (strongly sub-exponential) time?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;This would not necessarily involve the $P$ vs $NP$ problem (which i stand on $P=NP$, anyway).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thank you&lt;/p&gt;&#xA;" OwnerUserId="21598" LastEditorUserId="21598" LastEditDate="2014-06-13T19:58:43.910" LastActivityDate="2014-06-13T19:58:43.910" Title="Any result connecting an NP-complete problem with slight super-polynomial time?" Tags="&lt;polynomial-time&gt;&lt;np-complete&gt;" AnswerCount="1" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="24879" PostTypeId="1" CreationDate="2014-06-13T18:35:33.307" Score="3" ViewCount="708" Body="&lt;p&gt;Following previous questions &lt;a href=&quot;https://cstheory.stackexchange.com/questions/21053/can-on-every-instance-p-np&quot;&gt;here&lt;/a&gt; and &lt;a href=&quot;https://cstheory.stackexchange.com/questions/24878/any-result-connecting-an-np-complete-problem-with-slight-super-polynomial-time&quot;&gt;here&lt;/a&gt; around $NP$-complete problems (and P vs NP).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there &quot;&lt;em&gt;easier&lt;/em&gt;&quot; or &quot;&lt;em&gt;harder&lt;/em&gt;&quot; (sets of) instances of an $NP$-complete problem?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If yes (which i assume), how a polynomial-time mapping between $NP$-complete problems maps between easier or harder (sets of) instances?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A &lt;em&gt;conjecture&lt;/em&gt;  (related to directions of previous questions) is that there should be considerable mapping betwen &quot;easier&quot; to &quot;harder&quot; and &quot;harder&quot; to &quot;easier&quot; (if i may, with probability almost 1).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;PS. This in effect tries to study (a little more in depth) the role of &lt;em&gt;polynomial-time mappings&lt;/em&gt; used in $NP$-complete reductions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thankx&lt;/p&gt;&#xA;" OwnerUserId="21598" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2014-06-13T19:41:04.403" Title="Easier and Harder instances of NP-complete problems?" Tags="&lt;np-complete&gt;&lt;hard-instances&gt;" AnswerCount="1" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="24880" PostTypeId="2" ParentId="24878" CreationDate="2014-06-13T19:28:08.610" Score="7" Body="&lt;p&gt;You might need to be more specific as to what &quot;slightly super-polynomial&quot; means. But, this might work: you can take an NP-complete problem, and pad it. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example: for any constant $k\ge 1$, $n$-vertex instances of CLIQUE remain hard when only $n^{1/k}$ of the vertices have positive degree (e.g., take an instance $G=(V,E)$ of CLIQUE and add $|V|^{k}-|V|$ isolated vertices to it). These instances of CLIQUE can be solved in time $2^{n^{1/k}}\text{poly}(n)$. &lt;/p&gt;&#xA;" OwnerUserId="13056" LastEditorUserId="13056" LastEditDate="2014-06-13T19:50:26.140" LastActivityDate="2014-06-13T19:50:26.140" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="24881" PostTypeId="2" ParentId="24879" CreationDate="2014-06-13T19:41:04.403" Score="4" Body="&lt;p&gt;If P=NP, then all NP-complete problems are equally difficult from the perspective of polynomial-time reductions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, if P!=NP, then we have ways to differentiate NP-complete problems, for example:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;em&gt;Approximable problems&lt;/em&gt; - NP-complete problems where we can find a polynomial-time algorithm that gives us almost the desired answer (within a constant factor).  For example, there is a trivial algorithm to produce a &lt;a href=&quot;http://en.wikipedia.org/wiki/Vertex_cover&quot; rel=&quot;nofollow&quot;&gt;Vertex Cover&lt;/a&gt; within a factor of $2$ of optimal, although the optimal answer is NP-complete.&lt;/li&gt;&#xA;&lt;li&gt;&lt;em&gt;Somewhat approximable problems&lt;/em&gt; - NP-complete problems that can be approximated, but not within a constant factor.  The classic example is the &lt;a href=&quot;http://en.wikipedia.org/wiki/Set_cover_problem&quot; rel=&quot;nofollow&quot;&gt;set cover problem&lt;/a&gt;, which can be approximated within a fraction of roughly $ln n$ for $n$ sets, but cannot be approximated with a less than logarithmic fraction (unless P=NP).&lt;/li&gt;&#xA;&lt;li&gt;&lt;em&gt;Unapproximable problems&lt;/em&gt; - NP-complete problems for which (under accepted assumptions) no polynomial-time algorithm exists that approximates the solution within any polynomial factor.  An example is the &lt;a href=&quot;http://en.wikipedia.org/wiki/Maximum_clique_problem&quot; rel=&quot;nofollow&quot;&gt;max-clique&lt;/a&gt; problem.&lt;/li&gt;&#xA;&lt;li&gt;&lt;em&gt;Fixed-parameter tractable&lt;/em&gt; - problems that run in polynomial time if you fix one parameter.  The classic example again is vertex-cover, which can be computed in time $O(2^k n)$ for a vertex cover of size $k$ in a graph of size $n$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;In short, under accepted assumptions, there are varying difficulties of NP-complete problems.&lt;/p&gt;&#xA;" OwnerUserId="25250" LastActivityDate="2014-06-13T19:41:04.403" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="24882" PostTypeId="2" ParentId="24876" CreationDate="2014-06-13T20:14:53.363" Score="10" Body="&lt;p&gt;From the comment above: in &lt;a href=&quot;http://arxiv.org/abs/1208.0142&quot; rel=&quot;noreferrer&quot;&gt;Stefan Kratsch, Pascal Schweitzer, Graph Isomorphism for Graph Classes Characterized by two Forbidden Induced Subgraphs&lt;/a&gt;: GI is polynomial time (trivially) solvable for $(K_s,I_t)\text{-free}$ graphs, but also (less trivially) for $(K_s,K_{1,t})\text{-free}$ graphs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT&lt;/strong&gt;: as noted in the comment, $K_{1,t}$ doesn't contain a cycle (I read the introduction of the paper too quickly).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;After thinking a little bit about it, it seems easy to prove the following (original?):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;NEGATIVE RESULT:&lt;/strong&gt; &lt;i&gt;for every finite set $\{H_1,...H_k\}$ in which every $H_i$ contains a cycle, the problem of graph isomorphism (GI) restricted to the class $\mathcal{C}$ of $(H_1,...,H_k)\text{-free}$ graphs is GI-complete.&lt;/i&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Proof:&lt;/em&gt; Fixed a class of $(H_1,...,H_k)\text{-free}$ graphs in which each $H_i$ contains a cycle, and given $G_1,G_2$, let $r$ be the length of the longest cycle of the $H_i$s. Replace each edge $(u,v)$ of $G_1,G_2$ with a path of length $l = \lceil r/3 \rceil$  adding $l$ new nodes $(u,p_1,p_2,...,p_l,v)$ (see figure below). By construction the new graphs $G'_1, G'_2$ are $(H_1,...,H_k)\text{-free}$ indeed the possible shortest cycles are those formed by a triangle that must have length $3\lceil r/3 \rceil + 3 &amp;gt; r$; and it is easy to prove that they are isomorphic if and only if the original $G_1,G_2$ are isomorphic.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/IoPq3.png&quot; alt=&quot;enter image description here&quot;&gt;&#xA;&lt;br&gt;&#xA;&lt;strong&gt;Figure&lt;/strong&gt;: a graph $G_1$ on the left, and the equivalent $(H_1,...,H_k)\text{-free}$ graph $G'_1$ on the right (suppose that the longest cycle of the $H_i$ has length $r=15$, so every edge of $G_1$ is replaced with a path of length $l = 5$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We can also extend the negative result to Hamiltonian cycle NPC problem, indeed it is an immediate corollary to the following (original?):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Theorem&lt;/strong&gt;: for any $k \geq 3$, the Hamiltonian cycle problem remains NP-complete even if we the graph $G$ does not contain cycles of length $\leq k$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Proof&lt;/em&gt; We know that the Hamiltonian cycle problem is NPC even on a planar directed graph $G$ with each node $v$ satisfying: $outdeg(v) + indeg(v) \leq 3$ (Papdimitriou and Vazirani, On Two Geometric Problems Related to the Travelling Salesman Problem).&#xA;We can transform the graph $G$ to an undirectde graph $G'$ simply adding a node on the incoming edge of nodes $v$ that have $indeg(v )=1$, and to the outgoing edge of nodes $v$ that have $indeg(v)=2$.&#xA;Then we can replace the nodes of $G'$ with the gadget in the figure below. It is easy to see that there are only two valid traversals (&lt;em&gt;zigzags&lt;/em&gt;) that visit each node of the gadget exactly once (red and green paths in the figure): the gadgets cannot be traversed from top-to-bottom, otherwise the horizontal (incoming or outgoing) path would be cut out.&#xA;Furthermore we can place enough nodes on the vertical/horizontal segments of the gadgets, and extend the number of its zigzags, to ensure that no cycle of length $\geq k$ is possible  in the gadget or in a triangle of 3 gadgets linked together. This assures that  if the resulting graph $G''$ has an Hamiltonian cycle, then the original graph $G$ has also an Hamiltonian cycle (the converse is immediate by construction of the gadget).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/uw6oT.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Corollary:&lt;/strong&gt; Hamiltonian cycle and path problems remain NP-complete even if restricted to  $(H_1,...,H_k)\text{-free}$ graphs, where every $H_i$ contains a cycle.&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2014-06-15T23:51:26.493" LastActivityDate="2014-06-15T23:51:26.493" CommentCount="35" ContentLicense="CC BY-SA 3.0" />
  <row Id="24883" PostTypeId="2" ParentId="24869" CreationDate="2014-06-13T23:44:36.407" Score="0" Body="&lt;p&gt;You can implement the information-theoretic optimum by listing out (or computing) all ${n \choose k}$ possible subsets of length $k$ and giving each a binary encoding of $log{n \choose k} \in O(k \, log \frac{n}{k})$ bits.&lt;/p&gt;&#xA;" OwnerUserId="25250" LastActivityDate="2014-06-13T23:44:36.407" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="24884" PostTypeId="1" CreationDate="2014-06-14T00:43:20.410" Score="10" ViewCount="1043" Body="&lt;p&gt;For a while now, I have been very interested in programming language theory and process calculi and have started to study them. To be honest, it something that I wouldn't mind going into for a career. I find the theory to be incredibly fascinating. One constant question I keep running into is if either PL Theory or Process Calculi have any importance at all in modern programming language development. I see so many variants on the Pi-calculus out there and there is a lot of active research, but will they ever be needed or have important applications? The reason why I ask is because I love developing programming languages and the true end goal would be to use the theory to actually build a PL. For the stuff I have written, there really has not been any correlation to theory at all.&lt;/p&gt;&#xA;" OwnerUserId="25284" LastActivityDate="2016-11-23T10:13:27.193" Title="Use of Process Calculi and PL Theory for modern programming language development" Tags="&lt;pl.programming-languages&gt;&lt;process-algebra&gt;" AnswerCount="5" CommentCount="0" FavoriteCount="11" ContentLicense="CC BY-SA 3.0" />
  <row Id="24885" PostTypeId="1" CreationDate="2014-06-14T09:54:00.163" Score="3" ViewCount="207" Body="&lt;p&gt;Assume we'd like to be able to encode variables $x_1,x_2,\cdots,x_r\in \mathbb{N}$, such that $\forall i\in[r]:1\leq x_i\leq N$ and $$\sum_{i=1}^{r}x_i=M$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's easy to store the variables using $r\log N$ bits, but this doesn't take advantage of the fact that their sum is bounded.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Furthermore, in my application $r$ is not fixed and could vary from $\frac{M}{N}$ to $M$, so I would need $M\log N$ bits in the worst case if I use the naive encoding.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So the questions are as follows:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;How many bits are required to encode the variables, given that an adversary picks the values of $r$ and $x_1,x_2,\cdots,x_r$?&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Is there an data structure that uses close-to-optimal space for this that supports efficient replacement operations (where replace$(i,j)$ increases the value of $x_j$ by 1 and decrements the value of $x_i$ by 1)?&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;If it helps, you may assume $M=N$ (which is what I need for my application), but I think it's interesting for general $M,N$.&lt;/p&gt;&#xA;" OwnerUserId="21001" LastActivityDate="2014-06-17T14:43:41.917" Title="Number of bits required for encoding variables with fixed sum?" Tags="&lt;ds.algorithms&gt;&lt;ds.data-structures&gt;&lt;space-bounded&gt;&lt;encoding&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="24886" PostTypeId="2" ParentId="24876" CreationDate="2014-06-14T12:03:17.263" Score="14" Body="&lt;p&gt;I think there is a number of hard problems that become easy for triangle-free graphs; especially those deal directly with triangles such as Partition Into Triangles (Does G have a partition into triangles?). Other less trivial examples include:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Stable Cutset Problem (Does G have an independent set S such that G-S is disconnected?). See: &lt;i&gt; On stable sutsets in graphs,&lt;/i&gt; Discrete Applied Math. 105 (2000) 39-50.  &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Intersection Graph Basis (Is G the intersection graph of subsets of a k-element ground set?). See: Problem [GT59] in: Garey &amp;amp; Johnson, &lt;i&gt;Computers and Intractability: A Guide to the Theory of NP-Completeness. &lt;/i&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="25238" LastEditorUserId="25238" LastEditDate="2014-06-14T14:43:06.887" LastActivityDate="2014-06-14T14:43:06.887" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="24887" PostTypeId="1" AcceptedAnswerId="24888" CreationDate="2014-06-14T12:38:12.747" Score="1" ViewCount="342" Body="&lt;p&gt;&lt;a href=&quot;http://arxiv.org/abs/1208.0142&quot; rel=&quot;nofollow&quot;&gt;This paper&lt;/a&gt; gives example&#xA;of polynomial GI for certain graphs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Probably I am misunderstanding the paper, but appears&#xA;to me it implies polynomial GI for cubic, $4$-regular&#xA;and probably higher degree regular graphs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;GI for regular graphs is GI complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On p. 7 the graphs $H(a,b,c)$ are defined. They are a claw with&#xA;$a+b$ leaves, $a$ edges are subdivided and $c$ isolated&#xA;vertices are added.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On p. 8 &lt;strong&gt;Theorem 4&lt;/strong&gt;. Isomorphism of $(H(0, b, c), \overline{H(0, b' , c' ))}$-free graphs is in $P$ when:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(2.) $c, c′ \le 1$ and $b, b' \ge 1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Take $c=c'=1,b=b'=5$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$H=H(0,5,1)$ is $K_{1,5} + K_1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Both $H$ and $\overline{H}$ have degree $5$ vertex,&#xA;so neither can be induced subgraph of cubic or&#xA;$4$ regular graph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By taking larger $b$ this works for higher&#xA;degree regular graphs.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Does the paper imply GI is in $P$ for cubic&#xA;and $4$-regular graphs?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Does the paper imply GI is in $P$ for higher&#xA;degree regular graphs (the running time might&#xA;depend on $b$, not sure)?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="22348" LastActivityDate="2014-06-14T19:30:04.997" Title="Does this paper imply graph isomorphism is polynomial for cubic and $4$-regular graphs?" Tags="&lt;graph-theory&gt;&lt;graph-isomorphism&gt;" AnswerCount="1" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="24888" PostTypeId="2" ParentId="24887" CreationDate="2014-06-14T19:30:04.997" Score="1" Body="&lt;p&gt;Their paper doesn't say anything about general regular graphs. Note that the $b$ is constant. Actually all of their excluded subgraphs are constant. Their polynomial time algorithm is consist of considering all possible $K_{2b+1}$'s in that case. This causes to running time $\Omega(n^{2b+1})$. Means if we want to use their algorithm for $r$-regular graph then we should use running time $\Omega(n^{2r+1})$, means when $r$ is not fix their algorithm is not polynomial time in the size of input. Actually we can say that they proved the problem in that case belongs to XP when the problem parametrized by $b$. Don't mix &lt;a href=&quot;https://cs.stackexchange.com/questions/1477/dealing-with-intractability-np-complete-problems/11773#11773&quot;&gt;parametrized complexity&lt;/a&gt; with usual polynomial time algorithms.&lt;/p&gt;&#xA;" OwnerUserId="1846" LastEditorUserId="-1" LastEditDate="2017-04-13T12:48:30.830" LastActivityDate="2014-06-14T19:30:04.997" CommentCount="10" ContentLicense="CC BY-SA 3.0" />
  <row Id="24889" PostTypeId="2" ParentId="24885" CreationDate="2014-06-15T00:42:23.337" Score="4" Body="&lt;p&gt;Answer to question 1: $\left\lceil \log_2 \binom{M-1}{r-1} \right\rceil$ bits suffice to encode the variables.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Proof: Count how many ways there are to choose $y_1,\ldots,y_r$ such that $y_i \ge 0$ and $\sum y_i = M-r$. There are exactly $\binom{M-1}{r-1}$ such ways (see e.g. &lt;a href=&quot;http://en.wikipedia.org/wiki/Stars_and_bars_%28combinatorics%29&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;). Now, if there are only $k$ possible values for a variable, then $\lceil \log k \rceil$ bits suffice to encode that variable. Therefore, $opt=\left\lceil \log_2 \binom{M-1}{r-1} \right\rceil$ bits suffice to encode our input.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Answer to question 2: This is a bit more tricky. The best approach is to check the literature on succinct rank-select or other succinct data structures: I suspect you can match the results for succinct rank-select, so to get something like $opt+o(M)$ space and $O(\log M)$ running times for all operations. If you're interested, tell me in the comments and I'll try to look it up and tell you my best guess on what's possible. You might also want to check out &lt;a href=&quot;http://people.csail.mit.edu/mip/papers/trits/paper.pdf&quot; rel=&quot;nofollow&quot;&gt;Dodis-Patrascu-Thorup&lt;/a&gt; for some ideas.&lt;/p&gt;&#xA;" OwnerUserId="20830" LastEditorUserId="20830" LastEditDate="2014-06-17T14:43:41.917" LastActivityDate="2014-06-17T14:43:41.917" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="24890" PostTypeId="2" ParentId="24860" CreationDate="2014-06-15T01:00:00.023" Score="2" Body="&lt;p&gt;I suspect you won't get a closed form solution for the distribution you're looking for. Think of the seemingly easier problem where $k$ is always chosen to be exactly $2$, and where you get the set $\{1\}$ &quot;for free&quot;. This problem is just like asking for a closed-form distribution of the cardinality of the connected component in the Erdos-Renyi graph $G(n,s)$ that contains a specific vertex $v_1$. I'm pretty sure that there's no known closed-form description of this distribution, and that in fact the lower order terms are poorly understood, especially around the critical value $s \sim n \log n$.&lt;/p&gt;&#xA;" OwnerUserId="20830" LastActivityDate="2014-06-15T01:00:00.023" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="24891" PostTypeId="1" CreationDate="2014-06-15T01:58:48.083" Score="4" ViewCount="1003" Body="&lt;p&gt;I am doing a little literature review and I was trying to know if, for a directed acyclic graph, the &lt;strong&gt;minimum&lt;/strong&gt; k-path cover problem is solvable in polynomial time. A k-path cover is a set of paths with length at most k such that every vertex  must belong at least to a path (can belong to more than one). The minimum k-path cover problem asks for the minimum size of a k-path cover. &lt;/p&gt;&#xA;" OwnerUserId="25296" LastEditorUserId="25296" LastEditDate="2014-06-15T17:56:15.983" LastActivityDate="2014-06-15T17:56:15.983" Title="K-path cover problem for a DAG" Tags="&lt;graph-algorithms&gt;&lt;directed-acyclic-graph&gt;&lt;covering-problems&gt;" AnswerCount="0" CommentCount="4" FavoriteCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="24892" PostTypeId="1" AcceptedAnswerId="24896" CreationDate="2014-06-15T02:21:05.403" Score="10" ViewCount="25176" Body="&lt;p&gt;What's an intuitive proof that shows that the conditions of complementary slackness are indeed true:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;If $x^*_j &amp;gt; 0$ then the $j$-th constraint in the dual is binding.&lt;/li&gt;&#xA;&lt;li&gt;If the $j$-th constraint in the dual is not binding, then $x^*_j = 0$&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;And similarly for the dual variables $y^*_i$ and constraints in the Primal. Where $x^*$ and $y^*$ are the optimal solutions to the Primal and Dual respectively.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What's an intuitive proof as to why this is the case? Staring at the equations makes sense algebraically, but I wish to understand it at a more visceral level.&lt;/p&gt;&#xA;" OwnerUserId="7014" LastEditorUserId="186" LastEditDate="2014-06-16T21:10:39.753" LastActivityDate="2016-03-30T14:22:58.073" Title="Intuitively, why is the complementary slackness condition true?" Tags="&lt;ds.algorithms&gt;&lt;linear-programming&gt;&lt;primal-dual&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="24893" PostTypeId="1" CreationDate="2014-06-15T05:39:07.983" Score="-3" ViewCount="301" Body="&lt;p&gt;We know from computability theory that some sets are recursively computable on a Turing machine and others not.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Many such sets or languages that cannot be recognized by a Turing machine seem to have a reduction to the Halting problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Matyasevich's proof of the undecidability of Diophantine Equations (following Robinson, Putnam and Davis) uses the Halting problem. The machine equivalence problem uses the Halting problem and Chaitin's Omega uses the Halting problem as well.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Furthermore, the proof that the Kolmorov complexity is uncomputable classically uses the Halting problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is an intuition, but are all languages that cannot be recognized by a Turing machine isomorphic or reducible to the Halting problem, that is, provably reducible?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It seems that by definition, a language that is recognizable by a Turing machine is such that there exists a Turing machine that halts on all inputs from that language. The inverse is then that the machine does not halt... and therefore all such problems are equivalent, by definition, to the Halting problem... &lt;/p&gt;&#xA;" OwnerUserId="25298" LastEditorUserId="-1" LastEditDate="2014-06-15T18:22:03.087" LastActivityDate="2014-06-15T18:22:03.087" Title="Are All Turing-Uncomputable Sets Isomorphic to the Halting Problem?" Tags="&lt;halting-problem&gt;" AnswerCount="1" CommentCount="4" ClosedDate="2014-06-16T04:57:32.130" ContentLicense="CC BY-SA 3.0" />
  <row Id="24894" PostTypeId="1" CreationDate="2014-06-15T06:18:48.940" Score="1" ViewCount="61" Body="&lt;p&gt;Is it possible to construct a unit interval graph with $n$ vertices and clique number $k$ such that any other unit interval graph with same number of vertices and clique number is a sub-graph of that graph or isomorphic to a sub-graph of that graph?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My construction for k=3 is,&#xA;&lt;img src=&quot;https://i.stack.imgur.com/CxYgx.png&quot; alt=&quot;Unit interval graph for n=8 and k=3&quot;&gt;&#xA;However, i could not generalize my proof. Please help.&lt;/p&gt;&#xA;" OwnerUserId="12280" LastActivityDate="2014-06-15T06:18:48.940" Title="Maximal Unit interval graph construction" Tags="&lt;graph-theory&gt;&lt;interval-graphs&gt;" AnswerCount="0" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="24895" PostTypeId="2" ParentId="24893" CreationDate="2014-06-15T07:26:06.540" Score="2" Body="&lt;p&gt;No, there is a whole hierarchy of Turing undecidability:&#xA;&lt;a href=&quot;http://en.wikipedia.org/wiki/Turing_degree&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/Turing_degree&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In particular, the language L_max consisting of all minimal Turing machine encodings is not reducible to L_halt. (A TM encoding is minimal if there is no shorter encoding of an equivalent TM).&lt;/p&gt;&#xA;" OwnerUserId="1746" LastActivityDate="2014-06-15T07:26:06.540" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="24896" PostTypeId="2" ParentId="24892" CreationDate="2014-06-15T09:41:33.153" Score="17" Body="&lt;p&gt;As you have noted, complementary slackness follows immediately from strong duality, i.e., equality of the primal and dual objective functions at an optimum.&#xA;Complementarity slackness can be thought of as a combinatorial optimality condition, where a zero duality gap (equality of the primal and dual objective functions) can be thought of as a numerical optimality condition.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In order to understand what complementary slackness means, the concept of dual variables as &quot;shadow prices&quot; is useful. The dual variable associated with a primal constraint is called the constraint's shadow price because it can be thought of as how much the objective function would increase if the constraint was relaxed (meaning e.g. the right hand side of a $\le$ constraint was increased). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Complementary slackness says that at an optimal solution, if a shadow price (dual variable) is positive, meaning that the objective function could be increased if the corresponding primal constraint was relaxed, then this primal constraint must be tight. If not, the primal objective function value could be improved (by changing the primal variables in order to make this non-binding primal constraint binding).&lt;/p&gt;&#xA;" OwnerUserId="368" LastEditorUserId="368" LastEditDate="2016-03-30T14:22:58.073" LastActivityDate="2016-03-30T14:22:58.073" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="24897" PostTypeId="2" ParentId="24877" CreationDate="2014-06-15T11:07:05.793" Score="14" Body="&lt;p&gt;Complementary slackness is key in designing primal-dual algorithms. The basic idea is:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Start with a feasible dual solution $y$.&lt;/li&gt;&#xA;&lt;li&gt;Attempt to find primal feasible $x$ such that $(x, y)$ satisfy complementary slackness.&lt;/li&gt;&#xA;&lt;li&gt;If step 2. succeeded we are done. Otherwise an obstruction to finding $x$ gives a way to modify $y$ so that the dual objective function value increases. Repeat.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;A classical example is the Hungarian algorithm. The Ford-Fulkerson algorithm can be seen as another example. Note that step 2. is a feasibility problem which often is easier than the original optimization problem, and also often can be solved combinatorially. &lt;strong&gt;This is the power of complementary slackness.&lt;/strong&gt; For example, in the case of minimum cost bipartite matching, step 2 amounts to checking if there exists a perfect matching&#xA;using only tight edges. In the case of maximum $s$-$t$ flow, step 2 amounts to checking if the saturated edges separate $s$ and $t$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Primal-dual algorithms are nice for many reasons. Philosophically, they provide more insight than a generic algorithm. They usually give strongly polynomial time algorithms, whereas we still do not have strongly polynomial LP solvers. They are often more practical than generic algorithms. This is especially true if we cannot write down the LP explicitly and our only other choice is the ellipsoid algorithm, which is the case with non-bipartite matching and Edmonds' primal-dual algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Primal-dual is also a very useful framework for approximation algorithms, by using relaxed versions of complementary slackness. This has been useful in designing approximation algorithms for NP-hard problems (see e.g. Chapter 7 of the &lt;a href=&quot;http://www.designofapproxalgs.com/&quot; rel=&quot;noreferrer&quot;&gt;Williamson-Shmoys book&lt;/a&gt;) and in designing online algorithms with good competitive ratio (see the &lt;a href=&quot;http://www.tau.ac.il/~nivb/download/pd-survey.pdf&quot; rel=&quot;noreferrer&quot;&gt;book by Buchbinder and Naor&lt;/a&gt;). The point here is that the algorithm maintains a solution $y$ to the dual of the LP relaxation of a hard problem, and at each step either finds an &lt;em&gt;integral&lt;/em&gt; primal feasible $x$ such that &lt;em&gt;approximate&lt;/em&gt; complementary slackness is satisfied, or improves the dual solution $y$. Approximate complementary slackness is a condition of the following form: if $x_i &amp;gt; 0$ then the corresponding dual constraint is tight, and if $y_j &amp;gt; 0$, the corresponding primal constraint would be tight if $x$ is scaled by $\alpha$. This gives an approximation factor $\alpha$. It's all very nicely explained in the above two sources.&lt;/p&gt;&#xA;" OwnerUserId="4896" LastEditorUserId="4896" LastEditDate="2014-06-16T21:48:38.093" LastActivityDate="2014-06-16T21:48:38.093" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="24898" PostTypeId="2" ParentId="24892" CreationDate="2014-06-15T14:35:20.053" Score="8" Body="&lt;p&gt;I find the geometric interpretation useful. Say we have the primal as $\max c x$ subject to $Ax \le b$ and $x \ge 0$. We know that optimum solutions are vertices of the polytope defined by the constraints. Each such vertex is defined by the intersection of $n$ linearly independent hyperplanes defined by the constraints. When is a vertex solution $x^*$ optimal for the direction $c$? It is optimal iff the vector $c$ is in the cone of the rows of $A$ defining the vertex $x^*$ (that is the vector $c$ can be written as a non-negative combination of the rows defining $x^*$). Otherwise we can improve the solution. The dual variables corresponding to the rows defining $x^*$ are strictly positive and the rest are $0$. This shows dual complementary slackness. Once we have strong duality we also get primal complementary slackness. &lt;/p&gt;&#xA;" OwnerUserId="176" LastActivityDate="2014-06-15T14:35:20.053" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="24899" PostTypeId="2" ParentId="24884" CreationDate="2014-06-15T16:54:55.567" Score="8" Body="&lt;p&gt;The science of programming language design is very much in its infancy. Theory (the study of what programs mean and of the expressivity of a language) and empiricism (what programmers manage or don't manage to do) give a lot of qualitative arguments to weigh one way or another when designing a language. But we rarely have any quantitative reason to decide.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is a delay between the time some theory stabilizes enough for an innovation to be usable in a practical programming language, and the time this innovation begins to appear in “mainstream” languages. For example, automatic memory management with garbage collection can be said to have been mature for industrial use in the mid-1960s, but to have only reached mainstream with Java in 1995. Parametric polymorphism was well-understood in the late 1970s, and made it into Java in the mid-200s. On the scale of a researcher's career, 30 years is a long time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Wide-scale industrial adoption of a language is a matter for sociologists to study, and that science is even more in its infancy. Market considerations are an important factor — if Sun, Microsoft or Apple pushes a language, this has a lot more impact than any number of POPL and PLDI papers. Even for a programmer who has a choice, library availability is usually far more important than language design. Which is not to say that language design isn't important: having a well-designed language is a relief! It just usually isn't the deciding factor.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Process calculi are still at the stage where the theory hasn't stabilized. We believe that we understand sequential calculations — all the models of things that we like to call sequential calculation are equivalent (that's the Church-Turing thesis). This does not hold for concurrency: different process calculi tend to have subtle differences in expressivity. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Process calculi do have practical implications. A lot of computations out there are distributed — they involve clients talking to servers, servers talking to other servers, etc. Even local computations are very often multithreaded to take advantage of parallelism over multiple processors and to react to environmental concurrency (communication with independent programs and with the user).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are research advances needed to make better software? After all there's a billion-dollar industry out there that can't tell the pi calculus from a pie in the sky. Then again, that industry spends billions of dollars fixing bugs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;“Will they ever be needed” is never a worthwhile question in research. It is impossible to predict in advance what will have long-term consequences. I would even go further and say that it is a safe assumption that any research will have consequences one day — we just don't know at the time whether that day will come next year or next millennium.&lt;/p&gt;&#xA;" OwnerUserId="634" LastActivityDate="2014-06-15T16:54:55.567" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="24901" PostTypeId="1" AcceptedAnswerId="37940" CreationDate="2014-06-15T18:50:36.400" Score="14" ViewCount="275" Body="&lt;p&gt;In extendability problem, we are given part of the solution and we want to decide whether we can extend it to a complete solution. Some extendability problems are efficiently solvable while other extendability problems transform an easy problem to hard one.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For instance, Konig-Hall theorem states that all cubic bipartite graphs&#xA;are 3-edge colorable but the &lt;a href=&quot;http://onlinelibrary.wiley.com/doi/10.1002/jgt.10088/full&quot; rel=&quot;nofollow noreferrer&quot;&gt;extendability version becomes $NP$-complete&lt;/a&gt; if we are given the colors of some edges.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm looking for a survey paper of hard extendability problems where the &lt;em&gt;the base problem&lt;/em&gt; is easy (or trivial as in the above example).&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2017-04-12T18:30:15.243" LastActivityDate="2017-04-12T18:30:15.243" Title="Hard extendability problems" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;graph-theory&gt;&lt;np-hardness&gt;" AnswerCount="1" CommentCount="12" FavoriteCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="24903" PostTypeId="1" AcceptedAnswerId="24905" CreationDate="2014-06-16T00:07:59.293" Score="1" ViewCount="2369" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;Having an alphabet made of 1024 symbols, we know that the rarest symbol has a probability of occurrence equal to 10^(-6). Now we want to code all the symbols with Huffman Coding. How many bits will the longest encoded symbol have? How many encoded symbols will have same length?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I try to imagine a Huffman tree for it, but it does not appear to make much sense, as trees for Huffman encoding aren't always balanced (so I can't use tree's height to calculate this I guess). I know that at least two least-probable symbols will have longest codings, but how to relate element's probability with its Huffman code length? Or maybe there is some other way to calculate it?&lt;/p&gt;&#xA;" OwnerUserId="25305" LastEditorUserId="25305" LastEditDate="2014-06-16T03:05:02.330" LastActivityDate="2019-12-20T14:48:00.900" Title="Calculate Huffman code length having probability?" Tags="&lt;pr.probability&gt;&lt;encoding&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="24904" PostTypeId="1" CreationDate="2014-06-16T00:46:39.540" Score="0" ViewCount="342" Body="&lt;p&gt;When we use the quantum fourier transform, for a function, the output is entangled, so if a measurement is made on the output, the result may not be that of the function that one wanted in the first place. For a trivial example, consider addition of two polynomials, using DFT, or even FFT, this is straight forward, but if we consider the same setting in the quantum case, where FFT, or DFTs are substituted with Quantum gates, how can the result of the addition two polynomials be accomplished.&lt;/p&gt;&#xA;" OwnerUserId="23079" LastActivityDate="2014-08-10T09:36:31.447" Title="Quantum Fourier Transform question regarding measurement" Tags="&lt;quantum-computing&gt;&lt;quantum-information&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="24905" PostTypeId="2" ParentId="24903" CreationDate="2014-06-16T03:48:10.387" Score="15" Body="&lt;p&gt;The intended answer is probably that the length of the longest codeword is approximately &lt;span class=&quot;math-container&quot;&gt;$$-\log_2 10^{-6} = 20.$$&lt;/span&gt; But this is wrong. The information given doesn't come close to specifying the length of the longest codeword. Even the entire probability distribution doesn't specify the length of the longest codeword. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;One can see this by constructing a Huffman tree with a probability distribution with probabilities proportional to the Fibonacci numbers &lt;span class=&quot;math-container&quot;&gt;$$\{1,1,1,2,3,5,8,13, \ldots, F_n\}.$$&lt;/span&gt; (The third 1 is deliberate.) When combining these into a Huffman tree, you are faced with lots of choices. One set of choices yields a tree of depth approximately &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt;; another, approximately &lt;span class=&quot;math-container&quot;&gt;$n/2$&lt;/span&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the probabilities &lt;span class=&quot;math-container&quot;&gt;$$\frac{1}{34}, \frac{1}{34}, \frac{1}{34}, \frac{2}{34}, \frac{3}{34}, \frac{5}{34}, \frac{8}{34}, \frac{13}{34},$$&lt;/span&gt;&#xA;we have the large-depth Huffman tree where the longest codeword has length 7:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/dPEsCm.jpg&quot; alt=&quot;(((((((1,1),1),2),3),5),8),13)&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;and the small-depth Huffman tree where the longest codeword has length 4:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/7jMLIm.jpg&quot; alt=&quot;(((((((1,1),(1,2)),(3,5)),(8,13))&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Both of these trees have &lt;span class=&quot;math-container&quot;&gt;$43/17$&lt;/span&gt; for the expected length of a codeword, which is optimal.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is possible to show that the length of the longest codeword is no more than a factor of &lt;span class=&quot;math-container&quot;&gt;$\log_\phi(2)\approx 1.44$&lt;/span&gt; larger than &lt;span class=&quot;math-container&quot;&gt;$-\log_2 p$&lt;/span&gt;, where &lt;span class=&quot;math-container&quot;&gt;$\phi$&lt;/span&gt; is the golden ratio; the worst case example is the large-depth one above, using Fibonacci numbers. So for your example the length is at most &lt;span class=&quot;math-container&quot;&gt;$28$&lt;/span&gt;. And because there are 1024 codewords, the length of the longest one has to be at least &lt;span class=&quot;math-container&quot;&gt;$\log_2 1024 = 10$&lt;/span&gt;.  So the correct answer is the length of the longest codeword is between &lt;span class=&quot;math-container&quot;&gt;$10$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$28$&lt;/span&gt;. But unless the OP changed the wording of the question, these bounds don't seem to be what the problem was asking for. &lt;/p&gt;&#xA;" OwnerUserId="1677" LastEditorUserId="1677" LastEditDate="2019-12-20T14:48:00.900" LastActivityDate="2019-12-20T14:48:00.900" CommentCount="0" ContentLicense="CC BY-SA 4.0" />
  <row Id="24906" PostTypeId="1" CreationDate="2014-06-16T04:56:20.523" Score="7" ViewCount="271" Body="&lt;p&gt;Is there any result about the extension of first order logic with least fixed point operator, being complete (as logic in general on infinite structures too) or not? In other words does the Goedel completeness theorem of first order logic extent to such FO-LFP logic ?&lt;/p&gt;&#xA;" OwnerUserId="25306" LastActivityDate="2014-06-21T09:22:47.283" Title="Completeness of the extension of first order logic with least fixed point order operator" Tags="&lt;descriptive-complexity&gt;&lt;logic-programming&gt;" AnswerCount="3" CommentCount="3" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="24907" PostTypeId="1" CreationDate="2014-06-16T12:36:17.393" Score="1" ViewCount="115" Body="&lt;p&gt;Based on &lt;a href=&quot;https://mathoverflow.net/questions/171753/is-every-union-closed-family-of-set-the-set-of-solutions-of-some-co-hornsat-form&quot;&gt;comments on MO&lt;/a&gt;&#xA;there is simple forumlation of &lt;a href=&quot;https://en.wikipedia.org/wiki/Union-closed_sets_conjecture&quot; rel=&quot;nofollow&quot;&gt;Frankl's union-closed sets conjecture&lt;/a&gt; in terms of (co-)Horn.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In co-Horn CNF at most one literal is negated in every clause&#xA;(Horn CNF where every literal is negated).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Frankl's union-closed sets conjecture is equivalent&#xA;to the following:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(A) Let $\phi$ be Horn (resp co-Horn) formula in CNF&#xA;in variables $x_1 \ldots x_n$ with more than one&#xA;solution. There is a variable $x_i$ which is False&#xA;(resp True) in at least half the solutions.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Are there sufficient conditions $\phi$ to satisfy (A)?&lt;/li&gt;&#xA;&lt;li&gt;How would a minimal counterexample look like?&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;My guess about (2) is that one must maximize&#xA;the positive (resp negative) literals and&#xA;all clauses will be binary of the form $x \lor \lnot y$.&lt;/p&gt;&#xA;" OwnerUserId="22348" LastActivityDate="2014-06-16T12:36:17.393" Title="(co-)Horn formulation of Frankl's union-closed sets conjecture" Tags="&lt;lo.logic&gt;&lt;sat&gt;" AnswerCount="0" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="24908" PostTypeId="1" AcceptedAnswerId="24910" CreationDate="2014-06-16T12:43:42.943" Score="8" ViewCount="518" Body="&lt;p&gt;We have a semidefinite program (SDP) whose feasible region contains only a finite number of rank-$1$ matrices. Can we conclude that the feasible region of this SDP is polyhedral? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;We believe this to be true since the 'circular' portion of the cone of semidefinite matrices is due to the extreme rank-$1$ matrices. Any 'curved' boundary of the feasible region must occur from an infinite number of extreme rays.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As a consequence, can we claim that this SDP can be solved exactly in polynomial time just like linear programs which too have a polyhedral feasible region?&lt;/p&gt;&#xA;" OwnerUserId="9295" LastEditorUserId="39090" LastEditDate="2018-08-17T12:27:04.077" LastActivityDate="2018-08-17T12:27:04.077" Title="Is the feasible region of this SDP polyhedral?" Tags="&lt;convex-optimization&gt;&lt;semidefinite-programming&gt;&lt;polytope&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 4.0" />
  <row Id="24909" PostTypeId="1" AcceptedAnswerId="24961" CreationDate="2014-06-16T17:37:47.880" Score="20" ViewCount="739" Body="&lt;p&gt;I'm trying to solve a particular problem, and I thought I might be able to solve it using automata theory. I'm wondering, what models of automata have containment decidable in polynomial time? i.e. if you have machines $M_1, M_2$ you can test if $L(M_1) \subseteq L(M_2)$ efficiently.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The obvious ones that come to mind are DFAs and reversal-bounded counter machines where the number of counters is fixed (see &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/0022000081900283&quot;&gt;this paper&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What other notable classes can be added to this list?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The more powerful the automata, the better. For example, DFA's aren't enough to solve my problem, and the counter machines can't do it with a fixed number of counters. (Naturally, if you get too powerful, then containment is either intractible, like for NFA's, or undecidable, for CFG's).&lt;/p&gt;&#xA;" OwnerUserId="16208" LastActivityDate="2018-12-29T22:19:55.187" Title="What notable automaton models have polynomially-decidable containment?" Tags="&lt;fl.formal-languages&gt;&lt;automata-theory&gt;&lt;time-complexity&gt;&lt;polynomial-time&gt;&lt;decidability&gt;" AnswerCount="5" CommentCount="2" FavoriteCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="24910" PostTypeId="2" ParentId="24908" CreationDate="2014-06-16T18:55:10.650" Score="15" Body="&lt;p&gt;No, even if there is a finite number of feasible rank-1 matrices, the feasible region of an SDP does not have to be polyhedral. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A spectrahedron you see all the time in applications is $S_n = \{X: X \succeq 0, X_{11} = \ldots = X_{nn} = 1\}$, i.e. the set of Gram matrices of $n$ unit vectors. This is, for example, the feasible region for the Goemans-Williamson SDP relaxation for MaxCut. There can be no more than $2^n$ rank-1 matrices in $S_n$, because $xx^T \in S_n$ implies $x_i^2 = 1$ for all $i$, and therefore $x \in \{-1, 1\}^n$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now let's look at $S_3$. Write&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;X = \left(&#xA;\begin{array}{ccc}&#xA;1 &amp;amp; x &amp;amp; y\\&#xA;x &amp;amp; 1 &amp;amp; z\\&#xA;y &amp;amp; z &amp;amp; 1&#xA;\end{array}&#xA;\right)&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By &lt;a href=&quot;http://matthewhr.wordpress.com/2013/09/08/sylvesters-criterion-for-positive-semidefinite-matrices-i/&quot; rel=&quot;noreferrer&quot;&gt;Sylvester's criterion&lt;/a&gt;, $X \succeq 0$ if and only if all principal minors are non-negative. This gives the following inequalities:&#xA;$$&#xA;\begin{align}&#xA; x^2, y^2, z^2 &amp;amp;\leq 1\\&#xA;x^2 + y^2 + z^2 &amp;amp;\leq 1 + 2xyz&#xA;\end{align}&#xA;$$ &#xA;The first three inequalities come from writing the 2-by-2 minors, and the last comes from writing the determinant of $X$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's now easy to see this set is not polyhedral. For example, let the set $T$ be the projection of $S_3$ onto the free variables $x, y, z$, and consider $U = T \cap \{(x, y, z): z = 0\}$. Polyhedral sets remain polyhedral after orthogonal projection and intersection with halfspaces, so if $S_3$ is polyhedral, then $U$ is as well. But $U = \{(x, y, 0): x^2 + y^2 \leq 1\}$ is a disc.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In fact there is also a direct geometric argument that $U$ is a disc. If $X$ is the Gram matrix of the vectors $u, v, w$, then setting $z = 0$ means $v \perp w$, and $(x, y)$ are the coordinates of the projection of $u$ onto the plane spanned by $v$ and $w$, expressed in the orthonormal basis given by $v$ and $w$. Since $u$ can be any unit vector, $(x,y)$ can be any vector of length at most $1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For illustration, here is the set $T$:&#xA;&lt;img src=&quot;https://i.stack.imgur.com/UeqY1.jpg&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;And here you can see that $U$ is a disc:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/MypN8.jpg&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;" OwnerUserId="4896" LastEditorUserId="4896" LastEditDate="2014-06-17T14:31:54.063" LastActivityDate="2014-06-17T14:31:54.063" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="24911" PostTypeId="1" CreationDate="2014-06-17T01:53:30.713" Score="2" ViewCount="138" Body="&lt;p&gt;Usually,ambiguity of grammar is defined for constext-free languages and grammars,sometime it is extended to indexed languages and grammar,but the extension of definition of the definition is same except that the grammar and language are indexed one.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now,let's try to extend the definition to context-sensitive grammar and language.One definition of context-sensitive grammar is as following:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The production or rewriting rule is in the form:&#xA;$$\alpha A \beta \rightarrow \alpha  \gamma \beta$$&#xA;where $\alpha , \gamma, \beta $ are string over terminal or non-terminal symbols,$A$ is non-terminal symbol.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Parsing every sentence of CSL by CSG ,we can get a tree or directed graph,the leaves or the final vertex are the terminal symbol,and the root is the $S$ symbol,the nodes or non-final vertex are non-terminal symbol.In this way,every sentence corresponds to one or more trees or directed graphs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now,the question: is this definition consistent with the one of CFG and CFL? If not,any suggestion for modification to make them consist to CFG or CFL?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If they are consist,now  the definition of ambiguity of CSG is:if a sentence of a CSL having been parsed by CSG corresponds to more than one trees or graphs  which are not isomorphic to each other(with labels),the CSG is ambiguous.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In this way,is there any context-sensitive language  that is inherently ambiguous?That is every CSG of the  language is ambiguous.&lt;/p&gt;&#xA;" OwnerUserId="17024" LastEditorUserId="17024" LastEditDate="2014-06-17T06:38:39.763" LastActivityDate="2014-06-17T06:38:39.763" Title="Can the definition of ambiguity of CFG be extended to CSG?" Tags="&lt;fl.formal-languages&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="24912" PostTypeId="2" ParentId="24904" CreationDate="2014-06-17T08:47:08.967" Score="2" Body="&lt;p&gt;In fact the QFT and the DFT are very different. In the DFT we have $N$ complex values stored in several bits per value, which could be called the standard coefficients of this vector in $\mathbb C^N$, and the Fourier transform produces the Fourier coefficients, which are the coefficients of the same vector in a different basis. In this case the coefficients are stored with finite precision and in general precision will be lost in the change of basis.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The QFT is not the same algorithm implemented with quantum gates; in fact the whole encoding of the state changes. The coefficients are not encoded in qubits: if $N = 2^n$ we now need only $n$ qubits to hold the data, and the coefficients of our element of $\mathbb C^N$ are encoded as the &lt;em&gt;coefficients of the general entangled state&lt;/em&gt; of these $n$ qubits together (so we have the restriction that they have to sum 1). In theory no precision is lost in the transform. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;As you already remarked, the Fourier coefficients encoded in this way are not accessible to us, and indeed I don't see either how it would be useful to compute a product (I assume you meant product rather than sum) of two polynomials (I am not saying it is not useful for that, just that I don't see how).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you want to make use of the QFT, it has to be in applications where you are not necessarily interested in the values of all coefficients; e.g. in Shor's algorithm for factoring (or rather period finding) you start out with a (long) periodic sequence of coefficients, and its Fourier transform (possibly after collapsing it to a vector that is 0 everywhere except at some regularly spaced coefficients) will have most coefficients close to 0 but some that are high (and exactly 0 when the period is a divisor of the number of coefficients). You cannot read out the values of the coefficients, but if you look at the qubits (i.e. you measure their values), you will most likely see one of the high coefficients. That gives you a lot of information about the period.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I hope this is (related to) what you  were asking.&lt;/p&gt;&#xA;" OwnerUserId="22992" LastActivityDate="2014-06-17T08:47:08.967" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="24914" PostTypeId="2" ParentId="24884" CreationDate="2014-06-17T10:32:40.917" Score="3" Body="&lt;blockquote&gt;&#xA;&lt;p&gt;I see so many variants on the Pi-calculus out there and there is a lot of active research, but will they ever be needed or have important applications?&lt;/p&gt;&#xA;&lt;p&gt;The reason why I ask is because I love developing programming languages and the true end goal would be to use the theory to actually build a PL. For the stuff I have written, there really has not been any correlation to theory at all.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;This is a tricky question! I'll tell you my personal opinion, and I emphasize that this is my &lt;em&gt;opinion&lt;/em&gt;.&lt;/p&gt;&#xA;&lt;p&gt;I do not think pi-calculus is directly suitable as a notation for concurrent programming. However, I think you should &lt;em&gt;definitely&lt;/em&gt; study it before designing a concurrent programming language. The reason is that pi-calculus gives a low-level --- but importantly, compositional! --- account of concurrency. As a result, it can express everything you want, but not always conveniently.&lt;/p&gt;&#xA;&lt;p&gt;Explaining this comment requires thinking a bit about types. First, useful programming languages generally need some kind of type discipline in order to build abstractions. In particular, you need some kind of function type to make use of procedural abstractions when building software.&lt;/p&gt;&#xA;&lt;p&gt;Now, the natural type discipline of pi-calculus is some variant of classical linear logic. See, for instance, Abramsky's paper &lt;a href=&quot;http://www.cs.ox.ac.uk/files/324/pr209.ps.gz&quot; rel=&quot;nofollow noreferrer&quot;&gt;&lt;em&gt;Process Realizability&lt;/em&gt;&lt;/a&gt;, which shows how you interpret simple concurrent programs as proofs of propositions from linear logic. (The literature contains a lot of work on &lt;em&gt;session types&lt;/em&gt; for typing pi-calculus programs, but session types and linear types are very closely related.)&lt;/p&gt;&#xA;&lt;p&gt;However, I said that the natural type discipline of pi-calculus is &lt;strong&gt;classical&lt;/strong&gt; linear logic, and this is the source of the difficulty in using it directly as a programming language. In most presentations of classical linear logic, the (linear) function type &lt;span class=&quot;math-container&quot;&gt;$A \multimap B$&lt;/span&gt; is not a primitive. Instead, you encode function types using de Morgan duality &lt;span class=&quot;math-container&quot;&gt;$A^\bot ⅋  B$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;p&gt;This is just fine from the POV type theory, but it's awkward when programming. The reason is that programmers end up managing not just their function calls, but also the call stack. (Indeed, encodings of lambda calculus into pi calculus typically end up looking like CPS transforms.) Now, typing ensures that they will never screw this up, but nevertheless it's a lot of bookkeeping foisted onto the programmer.&lt;/p&gt;&#xA;&lt;p&gt;This is not a problem unique to concurrency theory --- the mu-calculus gives a good proof-theoretic account of sequential control operators like call/cc, but at the price of making the stack explicit, which makes it an awkward programming language.&lt;/p&gt;&#xA;&lt;p&gt;So when designing a concurrent programming language, my opinion is that you should design your language with higher-level abstractions than the raw pi-calculus, but you should make sure that it cleanly translated into a sensible typed process calculus. (A nice recent example of this is Tonhino, Caires and Pfenning's &lt;a href=&quot;http://www.cs.cmu.edu/%7Efp/papers/esop13a.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;&lt;em&gt;Higher-Order Processes, Functions and Sessions: A Monadic Integration&lt;/em&gt;&lt;/a&gt;.)&lt;/p&gt;&#xA;" OwnerUserId="657" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2014-06-17T10:32:40.917" CommentCount="10" ContentLicense="CC BY-SA 3.0" />
  <row Id="24915" PostTypeId="1" AcceptedAnswerId="24916" CreationDate="2014-06-17T10:56:46.003" Score="2" ViewCount="133" Body="&lt;p&gt;Let $\chi'_f(G)$ be the fractional chromatic index.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For which graph classes $\lceil \chi'_f(G) \rceil = \chi'(G)$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since $\chi'_f(G)$ is computable in polynomial time,&#xA; solving this gives tractable graph classes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Experiments with Sage suggest this is true for&#xA;perfect graphs on up to $8$ vertices, though&#xA;Sage's implementation is not inefficient.&lt;/p&gt;&#xA;" OwnerUserId="22348" LastActivityDate="2014-06-17T13:43:19.830" Title="For which graph classes the fractional chromatic index rounded up equals the chromatic index?" Tags="&lt;graph-theory&gt;&lt;graph-colouring&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="24916" PostTypeId="2" ParentId="24915" CreationDate="2014-06-17T13:43:19.830" Score="4" Body="&lt;p&gt;It is known that for any multigraph $G$ on at most 8 vertices, $\chi'(G)$ is the maximum of the maximum degree and the ceiling of the odd-sets bound, see &lt;a href=&quot;http://dx.doi.org/10.1016/S0012-365X%2896%2900364-0&quot; rel=&quot;nofollow&quot;&gt;http://dx.doi.org/10.1016/S0012-365X(96)00364-0&lt;/a&gt; (so what you find with sage is not very surprising).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This recent arXiv manuscript gives some more references for your problem (top of page 3)&#xA;&lt;a href=&quot;http://arxiv.org/pdf/1406.0757v1.pdf&quot; rel=&quot;nofollow&quot;&gt;http://arxiv.org/pdf/1406.0757v1.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Beside bipartite graphs, non-trivial classes with the property you're looking for include series-parallel graphs.&lt;/p&gt;&#xA;" OwnerUserId="22220" LastActivityDate="2014-06-17T13:43:19.830" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="24917" PostTypeId="1" AcceptedAnswerId="24920" CreationDate="2014-06-17T14:55:05.833" Score="12" ViewCount="1167" Body="&lt;p&gt;While answering this &lt;a href=&quot;https://cstheory.stackexchange.com/a/24882/3247&quot;&gt;question on cstheory&lt;/a&gt;, I (informally) proved on the fly the following theorem:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Theorem&lt;/strong&gt;: For any fixed $l \geq 3$ the Hamiltonian cycle probem remains NP-complete even if restricted to planar bipartite undirected graphs of maximum degree 3 that don't contain cycles of length $\leq l$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It seems very unlikely that it has not already appeared somewhere.&lt;br&gt;&#xA;But it allows to settle many Hamiltonian cycle/path problems on graphclasses.org that are marked as &quot;Unknown to ISGCI&quot; (see for example &lt;a href=&quot;http://graphclasses.org/classes/gc_911.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;this one&lt;/a&gt;); indeed a direct corollary is that Hamiltonian cycle and path problems are still NP-complete if restricted to $(H_1,...,H_k)\text{-free}$ graphs, where each of the $H_i$ contains at least one cycle.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Can you give me a reference of the paper/book where it appeared?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;(then I'll contact people at graphclasses.org)&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2014-06-17T18:05:47.110" Title="Hamiltonian cycle on graphs without small cycles" Tags="&lt;reference-request&gt;&lt;np-hardness&gt;" AnswerCount="2" CommentCount="4" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="24918" PostTypeId="2" ParentId="24909" CreationDate="2014-06-17T15:07:27.183" Score="14" Body="&lt;p&gt;If infinite words are in your scope, you can generalize DFA (with parity condition) to the so-called Good-for-Games automata (GFG), that still have polynomial containment.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A NFA is GFG if there is a strategy $\sigma:A^*\times Q\times A\to \Delta$, that given the prefix read so far and the current state and letter, chooses a transition to go to the next state. The strategy $\sigma$ has to ensure that for every $w$ in the language of the automaton, the run yielded by $\sigma$ on $w$ is accepting.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The containment for these automata is in &lt;strong&gt;P&lt;/strong&gt; for any fixed parity condition (by reducing to parity games), and in &lt;strong&gt;Quasi-P&lt;/strong&gt; if the parity index is part of the input. They can be exponentially smaller than any equivalent DFA [3].&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On finite words however, they are just DFAs with possible useless additional transitions, so they don't really bring anything new.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here are some references: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] &lt;a href=&quot;http://link.springer.com/chapter/10.1007/11874683_26#page-1&quot; rel=&quot;nofollow noreferrer&quot;&gt;Solving games without determinization&lt;/a&gt;, Henzinger, Piterman, in CSL 2006&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] &lt;a href=&quot;http://perso.ens-lyon.fr/denis.kuperberg/papers/ICALP13long.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Nondeterminism in the presence of a diverse or unknown future&lt;/a&gt;, Boker, Kuperberg, Kupferman, Skrzypczak, in ICALP 2013&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[3] &lt;a href=&quot;http://perso.ens-lyon.fr/denis.kuperberg/papers/GFGlong.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;On Determinisation of Good-for-Games Automata&lt;/a&gt;, Kuperberg, Skrzypczak, in ICALP 2015&lt;/p&gt;&#xA;" OwnerUserId="8953" LastEditorUserId="32683" LastEditDate="2017-03-15T08:46:06.107" LastActivityDate="2017-03-15T08:46:06.107" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="24919" PostTypeId="2" ParentId="24906" CreationDate="2014-06-17T15:31:48.417" Score="2" Body="&lt;p&gt;It does not extend.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider FO-LFP with just a binary predicate $&amp;lt;$, and the axioms for $&amp;lt;$ being a total order, with first and last positions, and every position has a successor. Moreover, we add an axiom saying that the last position can be reached from the first by iterating the successor function as a smallest fixpoint. This ensures that the universe is finite.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now for each $n$, we can build a formula $\varphi_n$ stating that the universe has at least $n$ positions. Let $\Gamma=\{\varphi_n:n\in\mathbb N\}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Each finite subset of $\Gamma$ has a model, but $\Gamma$ does not, so the compactness theorem fails.&lt;/p&gt;&#xA;" OwnerUserId="8953" LastEditorUserId="8953" LastEditDate="2014-06-20T22:57:15.073" LastActivityDate="2014-06-20T22:57:15.073" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="24920" PostTypeId="2" ParentId="24917" CreationDate="2014-06-17T15:35:20.280" Score="13" Body="&lt;p&gt;The result is stated in the paper &lt;a href=&quot;http://dx.doi.org/10.1016/j.endm.2007.07.090&quot;&gt;Two New Classes of Hamiltonian Graphs &lt;/a&gt; by Arkin, Mitchell and Polinshchuk.&lt;/p&gt;&#xA;" OwnerUserId="313" LastActivityDate="2014-06-17T15:35:20.280" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="24921" PostTypeId="2" ParentId="24917" CreationDate="2014-06-17T16:39:31.527" Score="26" Body="&lt;p&gt;This unpublished &lt;a href=&quot;http://www.or.uni-bonn.de/~hougardy/paper/girthall.pdf&quot;&gt;manuscript&lt;/a&gt; by Hougardy, Emden-Weinert and Kreuter in &lt;strong&gt;1997&lt;/strong&gt; &#xA;provided a simple proof for the following result which is much stronger than the result pointed out in &#xA;Kristoffer Arnsfelt Hansen's answer:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;For any given rational number $0\le r &amp;lt;1/2$, the Hamiltonian cycle probem remains NP-complete even if restricted to bipartite planar $n$-vertex graphs of maximum degree 3 and girth $\ge n^r$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The manuscript contains also similar results for other problems such as Dominating set, Max cut, VFS, etc.  &lt;/p&gt;&#xA;" OwnerUserId="6706" LastEditorUserId="6706" LastEditDate="2014-06-17T18:05:47.110" LastActivityDate="2014-06-17T18:05:47.110" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="24922" PostTypeId="2" ParentId="24876" CreationDate="2014-06-17T17:08:12.517" Score="11" Body="&lt;p&gt;Here are some additional examples to Mon Tag's answer :&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;The Disconnected Cutset problem (Does $G$ admit a set of vertices $S$ such that $G-S$ and the subgraph of $G$ induced by $S$ are disconnected) is NP-complete (see &lt;a href=&quot;http://dx.doi.org/10.1007/978-3-642-23786-7_43&quot;&gt;here&lt;/a&gt;). It is easy to see that this problem is polynomially solvable for triangle-free graphs (hence also the Stable Cutset problem as mentioned by Mon Tag). &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Recognizing triangular line graphs is NP-complete (see &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0012365X11005449&quot;&gt;here&lt;/a&gt;), It is also &#xA;easy to see that this problem becomes polynomially for triangle-free input graphs.  &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Computing the maximum connected matching is hard (see &lt;a href=&quot;http://www.discuss.wmie.uz.zgora.pl/gt/index.php?doi=10.7151/dmgt.1206&quot;&gt;here&lt;/a&gt;. &#xA;A matching is connected if, for any pair of the matching edges, there is another edge of the graph incident to both of them). &#xA;It can be proved that this problem is polynomially solvable for $(C_3, C_4, C_5)$-free graphs.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="6706" LastEditorUserId="6706" LastEditDate="2014-06-17T17:58:16.420" LastActivityDate="2014-06-17T17:58:16.420" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="24923" PostTypeId="1" CreationDate="2014-06-17T21:03:29.180" Score="11" ViewCount="971" Body="&lt;p&gt;Consider a graph $G$ (the problem makes sense both for directed and undirected graphs). Call $M_G$ the matrix of distances of $G$: $M_G[i, j]$ is the shortest path distance from vertex $i$ to vertex $j$ in $G$ for a certain fixed aggregation function (for instance $+$ or $\max$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I say that a subgraph $G'$ of $G$ (with same vertex set) is &lt;em&gt;sp-equivalent&lt;/em&gt; to $G$ if $M_G = M_{G'}$. In other words, removing edges to go from $G$ to $G'$ does not change the length of shortest paths; the removed edges are not &lt;em&gt;required&lt;/em&gt; for any shortest path.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In general there is no single sp-equivalent subgraph of $G$ that is minimal for inclusion. For instance, if $G$ is undirected and all edges have weight $0$, any spanning tree of $G$ is a minimal sp-equivalent subgraph (indeed, any edge in a cycle could be removed, but disconnecting a vertex pair obviously changes the distance). However I can still call edges of $G$ &lt;em&gt;useless&lt;/em&gt; if they are in no minimal sp-equivalent subgraph, &lt;em&gt;necessary&lt;/em&gt; if they are in all minimal sp-equivalent subgraphs (i.e., in their intersection), and &lt;em&gt;optional&lt;/em&gt; if they are in some of them (i.e., in their union).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My first question is: &lt;strong&gt;Do these notions have a standard name?&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My second question is: &lt;strong&gt;What is the complexity of classifying the edges of $G$ in this fashion, depending on whether $G$ is undirected or directed, and on the aggregation function?&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(For instance, for $G$ undirected and for $\max$, the minimal sp-equivalent subgraphs are spanning trees of minimum weight, so at least if all edge weights are different the classification is easily computed by computing the unique minimum spanning tree, but in general I do not know how things work.)&lt;/p&gt;&#xA;" OwnerUserId="4795" LastEditorUserId="4795" LastEditDate="2014-06-18T06:37:37.140" LastActivityDate="2014-06-23T22:37:12.317" Title="Identifying useless edges for shortest path" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;graph-algorithms&gt;&lt;shortest-path&gt;" AnswerCount="1" CommentCount="8" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="24925" PostTypeId="1" CreationDate="2014-06-18T05:24:35.430" Score="2" ViewCount="375" Body="&lt;p&gt;What journals are there that try to combine these two areas ? I came across the Algorithmic Finance Journal, are there others ? Looking at papers, mixed to overly -ve views about the quality and direction.&lt;/p&gt;&#xA;" OwnerUserId="25329" LastActivityDate="2014-06-19T02:35:08.757" Title="Complexity Theory in Finance and journals?" Tags="&lt;cc.complexity-theory&gt;&lt;ce.computational-finance&gt;&lt;journals&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="24927" PostTypeId="1" AcceptedAnswerId="24929" CreationDate="2014-06-18T08:09:43.987" Score="7" ViewCount="404" Body="&lt;p&gt;I am not good at complexity, but got a possible&#xA;relation between a plausible conjecture in graph&#xA;theory and $coNP$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Graph $G$ is Class 1 if it can be edge colored&#xA;with $\Delta(G)$ colors, otherwise it is Class 2 and&#xA;can be edge colored with $\Delta(G) + 1$ colors.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The &lt;a href=&quot;https://en.wikipedia.org/wiki/Overfull_conjecture&quot; rel=&quot;nofollow&quot;&gt;Overfull conjecture (OC)&lt;/a&gt;&#xA;asserts&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;A graph G with $\Delta (G) \geq n/3$ is class 2 &lt;strong&gt;if and only if&lt;/strong&gt; it has an overfull subgraph $S$ such that $\displaystyle \Delta (G) = \Delta (S)$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Assume OC and $\Delta (G) \geq n/3$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This means that we have short certificate if $G$ is Class 1&#xA;or Class 2.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For Class 1 the certificate is $\Delta(G)$ edge coloring finding it is in $NP$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For Class 2 the certificate is overfull subgraph $S$ such that $\displaystyle \Delta (G) = \Delta (S)$ and finding it is in $NP$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This means there are no $coNP$-hard problems in this case.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is a reduction from SAT to edge coloring&#xA;$3$-regular graphs. Encoding unsatisfiable CNF&#xA;to edge coloring is UNSAT and UNSAT is in $coNP$.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Question:  Does the overfull conjecture and reduction&#xA;  from SAT to edge coloring $G$ with $\Delta (G) \geq n/3$&#xA;  imply $NP=coNP$?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;According to a &lt;a href=&quot;http://www.or.uni-bonn.de/~hougardy/paper/girthall.pdf&quot; rel=&quot;nofollow&quot;&gt;paper&lt;/a&gt;&#xA;edge coloring is NP-complete (possibly minor abuse of terminology) for&#xA;$r$-regular graphs for any fixed $r \ge 3$ and it gives reduction&#xA;of $G$ to $r$-regular $G'$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Positive answer might help for counterexample to the&#xA;overfull conjecture.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\Delta(G)$ is the maximum degree and $n$ is the number of&#xA;vertices.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT&lt;/strong&gt; Special cases of OC are proven.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;According to &lt;a href=&quot;http://onlinelibrary.wiley.com/doi/10.1002/jgt.20013/abstract&quot; rel=&quot;nofollow&quot;&gt;Overfull Conjecture for Graphs with High Minimum Degree,&#xA;Michael Plantholt&lt;/a&gt;:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;we show that any (not necessarily regular) graph $G$ of even order $n$ that has sufficiently high minimum degree $\delta(G) \ge (\sqrt{7}/3) n$  has chromatic index equal to its maximum degree providing that $G$ does not contain an&#xA;  &quot;overfull&quot; subgraph, that is, a subgraph which trivially forces the chromatic&#xA;  index to be more than the maximum degree. This result thus verifies the&#xA;  Overfull Conjecture for graphs of even order and sufficiently high minimum&#xA;  degree.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT 2&lt;/strong&gt;&#xA;&lt;a href=&quot;http://people.idsia.ch/~laekhanukit/paper/powergraph.pdf&quot; rel=&quot;nofollow&quot;&gt;This paper p.2&lt;/a&gt;&#xA;might be related since it claims unless $NP=ZPP$, one can't&#xA;approximate $\chi'(L^k(G))$ where $L^k(G)$ is the $k-th$ power of&#xA;the line graph of $G$. (might be wrong on this since $\chi'$ is either&#xA;$\Delta$ or $\Delta+1$).&lt;/p&gt;&#xA;" OwnerUserId="22348" LastEditorUserId="22348" LastEditDate="2015-07-01T08:37:53.547" LastActivityDate="2015-07-01T08:37:53.547" Title="The Overfull conjecture in graph theory and $coNP$" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;&lt;graph-colouring&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="24929" PostTypeId="2" ParentId="24927" CreationDate="2014-06-18T09:17:21.293" Score="5" Body="&lt;p&gt;For the possible reduction you are mentioning, if you find such a reduction from SAT to this particular edge-coloring problem, and additionnally you assume OC, then it would indeed mean  &lt;strong&gt;NP&lt;/strong&gt; $=$ co-&lt;strong&gt;NP&lt;/strong&gt;. However, it would be very surprising:   it would mean that basically, up to encoding, you found a way to always provide a short certificate that a formula is not satisfiable.&#xA;This seems quite unlikely to reach with a simple construction.&lt;/p&gt;&#xA;" OwnerUserId="8953" LastEditorUserId="8953" LastEditDate="2014-06-18T09:45:17.893" LastActivityDate="2014-06-18T09:45:17.893" CommentCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="24930" PostTypeId="1" CreationDate="2014-06-18T13:34:01.013" Score="5" ViewCount="141" Body="&lt;p&gt;Let $C$ be the class of graphs satisfying $\Delta(G) \ge n/3$, where $\Delta(G)$ is the maximum degree of a graph $G$, and $n$ denotes the number of vertices.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;What is the complexity of edge coloring graphs in $C$?&lt;/li&gt;&#xA;&lt;li&gt;Is there a reduction from SAT to edge coloring graphs in $C$?&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Related to &lt;a href=&quot;https://cstheory.stackexchange.com/questions/24927/the-overfull-conjecture-in-graph-theory-and-conp&quot;&gt;this question&lt;/a&gt;. A positive answer means a plausible graph theory conjecture implies $\sf NP=coNP$. A negative answer would greatly surprise me since all graphs of sufficiently large degree will be efficiently edge-colorable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Possible approach is using some gadget like &lt;a href=&quot;http://www.or.uni-bonn.de/~hougardy/paper/girthall.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;here&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In addition this might help for counterexample for the conjecture (if false).&lt;/p&gt;&#xA;" OwnerUserId="22348" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.743" LastActivityDate="2014-06-18T14:07:45.517" Title="Complexity of edge coloring graphs with $\Delta(G) \ge n/3$" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;" AnswerCount="0" CommentCount="9" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="24933" PostTypeId="1" AcceptedAnswerId="24935" CreationDate="2014-06-18T18:49:07.200" Score="5" ViewCount="2433" Body="&lt;p&gt;We are given a list $S$ containing $n$ numbers $S=(s_1,\ldots, s_n)$.&#xA;Let $S \choose k$ be the set of all possible $k$-combinations from $S$ (i.e. size $k$ subsets of $S$).&#xA;We want to compute the following expression:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$ \sum_{A\in {S \choose k}} \prod_{x \in A} x$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there an algorithm for this problem that works much better than the trivial one which goes over all subsets and computing and summing up all products?&lt;/p&gt;&#xA;" OwnerUserId="25336" LastEditorUserId="186" LastEditDate="2014-06-18T19:59:57.987" LastActivityDate="2014-06-18T21:38:40.180" Title="Sum of products of all combinations?" Tags="&lt;ds.algorithms&gt;&lt;co.combinatorics&gt;" AnswerCount="2" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="24934" PostTypeId="2" ParentId="24933" CreationDate="2014-06-18T21:35:49.693" Score="8" Body="&lt;p&gt;I guess the following trick is essentially &quot;Newton's identities&quot;, but this seems a much more straightforward application to your question than what's on the wikipedia page. I've seen this mentioned on math.se before but don't know of a particular reference.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First, we write down the polynomial&#xA;  $$ p(x) = \prod_{i=1}^n (x + s_i) . $$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By simply multiplying out this polynomial (efficiently! it is $n$ products of degree $\leq n$ polynomials), we can write it as&#xA;  $$ p(x) = \sum_{j=1}^n \alpha_j x^j. $$&#xA;where $\alpha_j$ is the sum of all coefficients of $x^j$, that is, all possible products of $n-j$ of the $s_i$s. In particular,&#xA;  $$ \alpha_{n-k} = \sum_{A \in {S \choose k}} \prod_{s \in A} s .$$&lt;/p&gt;&#xA;" OwnerUserId="8243" LastActivityDate="2014-06-18T21:35:49.693" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="24935" PostTypeId="2" ParentId="24933" CreationDate="2014-06-18T21:38:40.180" Score="11" Body="&lt;p&gt;Consider the polynomial $p(t) = \prod_{i=1}^n (s_i t + 1)$. Then we want to compute the coefficient of $t^k$ in $p(t)$. We can compute $p(t)$ using fast polynomial multiplication and then output the coefficient of $t^k$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Say, partition $n$ polynomials $s_i t + 1$ into pairs and multiply the product of polynomials in each pair (using the standard fast polynomial multiplication algorithm). Then divide the obtained $n/2$ polynomials into pairs, and compute the product in each pair. Repeat this step over and over until we get one polynomial. At each step we can get rid of terms of degree higher than $k$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also note that if $k$ is small, we can just use dynamic programming.&lt;/p&gt;&#xA;" OwnerUserId="9929" LastActivityDate="2014-06-18T21:38:40.180" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="24937" PostTypeId="2" ParentId="24925" CreationDate="2014-06-19T02:35:08.757" Score="-1" Body="&lt;p&gt;Not sure if such a combo can be useful in practice.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To answer your question, I don't think you have done your homework. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Look at the thread:&#xA;&lt;a href=&quot;https://cstheory.stackexchange.com/questions/7951/computational-complexity-in-quantitative-finance&quot;&gt;Computational complexity in quantitative finance&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But if this is a general remark about the journal. The editorial board appears almost impeccable. Sure, it looks a bit suspect that the editor in chief advocated a field that has been dubbed controversial as seen in A New Kind of Finance.&#xA;Some critics maintain that the creation of the journal is strongly coupled with Wolfram Research's efforts to tap academics in the finance field. Other hidden agendas ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also consult with Wilmott's thread: &#xA;&lt;a href=&quot;http://www.wilmott.com/messageview.cfm?catid=11&amp;amp;threadid=89959&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://www.wilmott.com/messageview.cfm?catid=11&amp;amp;threadid=89959&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Last, my 3 cents. The inaugural issue is one that usually sets the tone. Papers looked good.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Efficient Greek Estimation in Generic Swap-Rate Market Models. &#xA;This is by the great Mark Joshi. It deals with how to compute Greeks using automatic differentiation for a range of swap-rate market models. It's useful to practitioners since they want fast Greeks.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Markets are Efficient if and Only if P = NP. Not an expert in TCS, so refer to thread above computational-complexity-in-quantitative-finance for comments. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Forecasting Prices from Level-I Quotes in the Presence of Hidden Liquidity. Seemed important. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Binomial Options Pricing Has No Closed-Form Solution. Nifty. Nice read.&lt;/p&gt;&#xA;" OwnerUserId="25341" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.743" LastActivityDate="2014-06-19T02:35:08.757" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="24938" PostTypeId="2" ParentId="24909" CreationDate="2014-06-19T07:49:19.113" Score="11" Body="&lt;p&gt;A &lt;em&gt;Non deterministic XOR automaton&lt;/em&gt; (NXA) fits your question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A NXA $M$ is essentially an NFA, but a word $w\in \Sigma^*$ is said to be in $L(M)$ if it is accepted by an odd number of paths (Xor relation) instead of being accepted if there exists an accepting path for it (Or relation).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;NXAs are used for creating small representations of regular languages as well as some parametrized algorithms.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In a result from 2009, Vuillemin and Gama &lt;a href=&quot;http://hal.inria.fr/docs/00/48/70/31/PDF/MXA.pdf&quot; rel=&quot;noreferrer&quot;&gt;gave an efficient, $O(|Q|^3$) algorithm&lt;/a&gt; for NXA minimization, which can be used to answer whether $L(M_1)\subseteq L(M_2)$.&lt;/p&gt;&#xA;" OwnerUserId="21001" LastEditorUserId="21001" LastEditDate="2014-06-20T09:00:40.497" LastActivityDate="2014-06-20T09:00:40.497" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="24939" PostTypeId="1" AcceptedAnswerId="24945" CreationDate="2014-06-19T11:11:31.420" Score="21" ViewCount="673" Body="&lt;p&gt;When I teach tail bounds, I use the usual progression: &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;If your r.v is positive, you can apply Markov's inequality&lt;/li&gt;&#xA;&lt;li&gt;If you have independence and &lt;strong&gt;also&lt;/strong&gt; bounded variance, you can apply Chebyshev's inequality&lt;/li&gt;&#xA;&lt;li&gt;If each independent r.v &lt;strong&gt;also&lt;/strong&gt; has all moments bounded, then you can use a Chernoff bound. &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;After this things get a little less clean. For example&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;If your variables have zero mean, then a Bernstein inequality is more convenient&lt;/li&gt;&#xA;&lt;li&gt;If all you know is that the combining function is Lipschitz, then there's a generalized McDiarmid-style inequality&lt;/li&gt;&#xA;&lt;li&gt;if you have weak dependence then there are Siegel-style bounds, (and if you have negative dependence, then Jansson's inequality might be your friend)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Is there a reference anywhere to a convenient flowchart or decision tree describing how to choose the &quot;right&quot; tail bound, (or even when you have to dive into a sea of Talagrand) ? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;I'm asking partly so that I have a reference, partly so that I can point it to my students, and partly because if I'm sufficiently annoyed and there isn't one, I might try to make one myself.&lt;/em&gt; &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2014-06-20T04:13:51.937" Title="A flowchart for concentration bounds" Tags="&lt;reference-request&gt;&lt;pr.probability&gt;&lt;randomized-algorithms&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="24940" PostTypeId="2" ParentId="24906" CreationDate="2014-06-19T12:20:28.000" Score="8" Body="&lt;p&gt;FO-LFP is neither complete (its valid sentences cannot be described by a recursively presented proof system) nor compact (there is an unsatisfiable set of sentences all of whose finite subsets are satisfiable). The basic argument is given in Denis’s answer so I won’t repeat it here, but let me instead point out that as a general principle due to Per Lindström, when extending first-order logic, some important property has to give way.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The setup is that we consider logics given by a satisfaction predicate $M\models\phi$ between ordinary first-order models, and an abstract set of sentences, that satisfy a handful of natural technical conditions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The &lt;em&gt;first Lindström’s theorem&lt;/em&gt; states that no proper extension of FO can simultaneously satisfy&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;(Löwenheim–Skolem) If a sentence has a model, it has an at most countable model.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;(Compacteness) If $T$ is a set of sentences such that every finite subset of $T$ has a model, then $T$ has a model.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;The &lt;em&gt;second Lindström’s theorem&lt;/em&gt; states that no proper extension of FO with effectively presented syntax can satisfy&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;The Löwenheim–Skolem property as above.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;(Completeness) The set of valid sentences can be described by an effectively axiomatized proof system (i.e., it is recursively enumerable).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;For example, FO+TC has the Löwenheim–Skolem property (as it is a fragment of $L_{\omega_1,\omega}$), hence it can be neither complete nor compact, and a fortiori the same applies to all extensions of FO+TC such as fixed-point logics. (This is of course easy to show directly.)&lt;/p&gt;&#xA;" OwnerUserId="6959" LastActivityDate="2014-06-19T12:20:28.000" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="24941" PostTypeId="1" CreationDate="2014-06-19T20:05:21.007" Score="-2" ViewCount="123" Body="&lt;p&gt;I am considering one optimization problem who is known to be NP hard in the general setting. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;But there is application of this problem on the cylces of graph. This problem involves several sets and in this setting each set is the set of nodes of cycle in connected unidrected graph. And all cycles of connected unidrected graphs are the all sets for this problem. This is quite specific setting for the problem and I wonder whether there can be improvements in this specific setting.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would like to work out all the details myself but the question is - &lt;strong&gt;is there the general theory of all cycles in grpahs (connected undirected)&lt;/strong&gt;. Like - what is the number of cycles, what is the minimum and maximum lenght of them, how much common nodes they can have and so on? Mybe there are connections with group theory - e.g. cycle could be some kind of orbit for a group element (in rude language). Any such information provides the constraint on the initial problem and therefore - the complexity improvements can be possible to achieve in this specific setting.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Google gives a lot about Hamiltonian and similar specific cycles. My question is about all possible cycles in graph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any references could be helpful. Any names for the problems and keywords in this are could be appreciated as well. Thanks.&lt;/p&gt;&#xA;" OwnerUserId="9317" LastActivityDate="2014-06-20T02:02:35.317" Title="What can we say about all cycles in graphs (connected undirected graph)" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;" AnswerCount="1" CommentCount="2" ClosedDate="2014-08-03T04:06:23.530" ContentLicense="CC BY-SA 3.0" />
  <row Id="24942" PostTypeId="2" ParentId="24941" CreationDate="2014-06-20T02:02:35.317" Score="5" Body="&lt;p&gt;The cycles of a graph form a vector space with its own &lt;a href=&quot;http://en.wikipedia.org/wiki/Cycle_basis&quot;&gt;cycle basis&lt;/a&gt; of simple cycles.  Is that what you mean?&lt;/p&gt;&#xA;" OwnerUserId="25250" LastActivityDate="2014-06-20T02:02:35.317" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="24943" PostTypeId="1" AcceptedAnswerId="24952" CreationDate="2014-06-20T02:37:48.693" Score="15" ViewCount="3301" Body="&lt;p&gt;Rather than empirical evidence, by what formal principles have we proved that quantum computing will be faster than traditional/classical computing?&lt;/p&gt;&#xA;" OwnerUserId="25351" LastActivityDate="2014-07-26T17:48:02.253" Title="Is there a formal proof that quantum computing is or will be faster than classical computing?" Tags="&lt;quantum-computing&gt;" AnswerCount="6" CommentCount="12" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="24944" PostTypeId="1" AcceptedAnswerId="24955" CreationDate="2014-06-20T03:07:48.950" Score="0" ViewCount="710" Body="&lt;p&gt;Let $P=\{p_1,\ldots,p_n\}$ be a set of $n$ points in a 2D plane, that is $p_i\in \mathbb{R}^2$, $\forall i=1,\ldots,n$.&#xA;Each point, $p_i$, is associated with a weight, $w_i \geq 0$. Imagine a axis-parallel rectangle with a fixed size that can translate in the plane. &#xA;The question is how to preprocess the points so that, for all possible positions of the rectangle, it is efficient to determine the largest weight of the &#xA;subset of points that can be covered by the rectangle at the same time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Question: what are the best running time and algorithm for finding the largest weight of the subset of points? Is $O(n \log n)$ possible?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I thought this might be an easy question to answer, but I failed to find any proper reference to this question. Any thought or reference will be appreciated. &lt;/p&gt;&#xA;" OwnerUserId="22510" LastEditorUserId="22510" LastEditDate="2014-06-20T15:16:59.883" LastActivityDate="2014-11-01T12:56:58.420" Title="maximum weighted 2D coverage problem by a rectangle" Tags="&lt;time-complexity&gt;&lt;computational-geometry&gt;" AnswerCount="1" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="24945" PostTypeId="2" ParentId="24939" CreationDate="2014-06-20T04:13:51.937" Score="11" Body="&lt;p&gt;Fan Chung and Linyuan Lu. &#xA;Concentration inequalities and martingale inequalities: a survey&#xA;available at&#xA;&lt;a href=&quot;http://projecteuclid.org/euclid.im/1175266369&quot;&gt;http://projecteuclid.org/euclid.im/1175266369&lt;/a&gt; or at Fan Chung Graham's web page.&lt;/p&gt;&#xA;" OwnerUserId="176" LastActivityDate="2014-06-20T04:13:51.937" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="24946" PostTypeId="2" ParentId="24906" CreationDate="2014-06-20T06:47:12.930" Score="-1" Body="&lt;p&gt;I found a paper &lt;a href=&quot;http://research.microsoft.com/en-us/um/people/gurevich/opera/73.pdf&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt; that somehow gives a kind of completeness of the existential part of FO-LFP. This still captures polynomial time complexity in the sense of complete recursive enumerable set of valid statements existential FO-LFP, which of course is not the G&amp;ouml;del completeness of FO.&lt;/p&gt;&#xA;" OwnerUserId="25306" LastEditorUserId="5693" LastEditDate="2014-06-21T09:22:47.283" LastActivityDate="2014-06-21T09:22:47.283" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="24948" PostTypeId="1" AcceptedAnswerId="25255" CreationDate="2014-06-20T12:02:13.897" Score="6" ViewCount="242" Body="&lt;p&gt;Let $K$ be a non deterministic machine. I use Minsky Machine (2 counter automaton) for practical reason in my research, but it could be a turing machine, a register machine, whatever.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The Machine have no input. A configuration of a Minsky Machine is the triplet (a state, value of counter 1, value of counter 2). (There is a similar notion of configuration for every machine).  The initial configuration is (state0, 0, 0)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Its computation is a list of successive configuration, that halts in an halting state. The lenght of the computation $s$ is the size of the list, and is denoted by $|s|$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $H(K)$ be the set of computation of this machine that halts.  Then let $S(K)$ be the set of the length of those computation, that is $S(K)=\{|s|\mid s\in H(K)\}$.  It is similar to the &quot;spectral theory&quot; notion &lt;a href=&quot;http://en.wikipedia.org/wiki/Spectrum_of_a_theory&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/Spectrum_of_a_theory&lt;/a&gt; . That is, we forgot everything from a set apart a number.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, let $\mathcal S$ be the set of $S(K)$ for every machine $K$. $\mathcal S=\{S(K)\mid K\}$.&#xA;Is there anything we can say about $\mathcal S$ ? Trivially, I can say that it contains only computable sets. It contains every finite set; but between those information, I'm lost. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In an intuitive sense, I'm interested by finding the most complex set of $\mathcal S$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I should  emphasize that this problem is very different from the $\#P$ class, since: 1) the machine doesn't have any input. 2) I'm not interested in the number of halting path.&lt;/p&gt;&#xA;" OwnerUserId="328" LastEditorUserId="328" LastEditDate="2014-07-17T18:41:08.783" LastActivityDate="2014-07-17T18:41:08.783" Title="Halting time of non deterministic machine" Tags="&lt;nondeterminism&gt;&lt;counter-automata&gt;" AnswerCount="1" CommentCount="9" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="24949" PostTypeId="1" AcceptedAnswerId="24950" CreationDate="2014-06-20T14:06:54.673" Score="4" ViewCount="310" Body="&lt;p&gt;Clearly, SAT for CNF, formula, or many classes of boolean circuits have strong significance on the entire theory community.&lt;/p&gt;&#xA;&lt;p&gt;Branching program, or BDD is one of the most basic and popular computational models for boolean functions. For instance, arbitrary space bounded TM with space &lt;span class=&quot;math-container&quot;&gt;$S(n)$&lt;/span&gt; are simulated by  branching program of size &lt;span class=&quot;math-container&quot;&gt;$2^{S(n)}$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;p&gt;My question is about  classification of hardness of &lt;span class=&quot;math-container&quot;&gt;$satisfiability$&lt;/span&gt; problem for &lt;span class=&quot;math-container&quot;&gt;$branching$&lt;/span&gt; &lt;span class=&quot;math-container&quot;&gt;$programs$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;p&gt;More concretely,&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Q1. SAT for branching programs corresponding natural complexity classes like &lt;span class=&quot;math-container&quot;&gt;$L/poly$&lt;/span&gt;, &lt;span class=&quot;math-container&quot;&gt;$NL/poly$&lt;/span&gt;, or &lt;span class=&quot;math-container&quot;&gt;$\oplus L/poly$&lt;/span&gt; can be computed polynomial time ?&lt;/p&gt;&#xA;&lt;p&gt;Q2. Is there some &lt;span class=&quot;math-container&quot;&gt;$threshold$&lt;/span&gt; &lt;span class=&quot;math-container&quot;&gt;$condition$&lt;/span&gt; for BP-SAT problem ? For example, I hope some results as follows: for some two classes of branching programs &lt;span class=&quot;math-container&quot;&gt;$\mathcal{C},\mathcal{D}$&lt;/span&gt;, one of two is polytime computable and the other one is NP hard.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="25359" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2014-06-20T14:49:12.120" Title="Satisfiability for various branching programs" Tags="&lt;sat&gt;&lt;boolean-functions&gt;&lt;space-bounded&gt;&lt;space-complexity&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="24950" PostTypeId="2" ParentId="24949" CreationDate="2014-06-20T14:37:50.503" Score="4" Body="&lt;p&gt;For Q2:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For Ordered BDDs (OBDD) both satisfiability and counting solutions is polynomial in the size of the OBDD.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For indexed BDD, &lt;a href=&quot;http://web.cecs.pdx.edu/~mperkows/PerkowskiGoogle/drechselr-10030112.pdf&quot; rel=&quot;nofollow&quot;&gt;IBDD p. 16&lt;/a&gt; satisfiability is NP-complete and the equivalence test is coNP-complete even if there are only two layers. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In general if a variable is read more than one time it is NP-complete if I remember correctly.&lt;/p&gt;&#xA;" OwnerUserId="22348" LastEditorUserId="22348" LastEditDate="2014-06-20T14:49:12.120" LastActivityDate="2014-06-20T14:49:12.120" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="24952" PostTypeId="2" ParentId="24943" CreationDate="2014-06-20T18:32:23.210" Score="23" Body="&lt;p&gt;This is a question that is a little bit difficult to unpack if you are not familiar with computational complexity. Like most of the field of computational complexity, the main results are widely believed but conjectural.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The complexity classes typically associated with efficient classical computation are $\mathsf{P}$ (for deterministic algorithms) and $\mathsf{BPP}$ (for randomized). The quantum counterpart of these classes is $\mathsf{BQP}$. All three classes are subsets of $\mathsf{PSPACE}$ (a very powerful class). However, our current methods of proof are not strong enough to definitively show that $\mathsf{P}$ is not the same thing as $\mathsf{PSPACE}$. Thus, we do not know how to formally separate $\mathsf{P}$ from $\mathsf{BQP}$ either &amp;mdash; since $\mathsf{P \subseteq BQP \subseteq PSPACE}$, separating those two classes is harder than the already formidable task of separating $\mathsf{P}$ from $\mathsf{PSPACE}$. (If we could prove $\mathsf{P \ne BQP}$, we would immediately obtain a proof that $\mathsf{P \ne PSPACE}$, so proving $\mathsf{P \ne BQP}$ has to be at least as hard as the already-very-hard problem of proving $\mathsf{P \ne PSPACE}$).  For this reason, within the current state of the art, it is difficult to obtain a rigorous mathematical proof showing that quantum computing will be faster than classical computing.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thus, we usually rely on circumstantial evidence for complexity class separations. Our strongest and most famous evidence is Shor's algorithm that it allows us to factor in $\mathsf{BQP}$.  In contrast, we do not know of any algorithm that can factor in $\mathsf{BPP}$ &amp;mdash; and most people believe one doesn't exist; that is part of the reason why we use RSA for encryption, for instance.  Roughly speaking, this implies that it is possible for a quantum computer to factor efficiently, but suggests that it may not be possible for a classical computer to factor efficiently.  For these reasons, Shor's result has suggested to many that $\mathsf{BQP}$ is strictly more powerful than $\mathsf{BPP}$ (and thus also more powerful than $\mathsf{P}$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I don't know of any serious arguments that $\mathsf{BQP = P}$, except from those people that believe in much bigger complexity class collapses (which are a minority of the community). The most serious arguments I have heard against quantum computing come from stances closer to the physics and argue that $\mathsf{BQP}$ does not correctly capture the nature of quantum computing. These arguments typically say that macroscopic coherent states are impossible to maintain and control (e.g., because there is some yet-unknown fundamental physical roadblock), and thus the operators that $\mathsf{BQP}$ relies on cannot be realized (even in principle) in our world.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we start to move to other models of computation, then a particularly easy model to work with is &lt;a href=&quot;http://egtheory.wordpress.com/2013/12/09/quantum-query-complexity/&quot; rel=&quot;nofollow noreferrer&quot;&gt;quantum query complexity&lt;/a&gt; (the classical version that corresponds to it is decision tree complexity). In this model, for total functions we can &lt;em&gt;prove&lt;/em&gt; that (for some problems) quantum algorithms can achieve a quadratic speedup, although we can also show that for total functions we cannot do better than a power-6 speed up and &lt;a href=&quot;https://cstheory.stackexchange.com/q/6077/1037&quot;&gt;believe that quadratic is the best possible&lt;/a&gt;. For partial functions, it is a totally different story, and we can prove that exponential speed ups are achievable. Again, these arguments rely on a belief that we have a decent understanding of quantum mechanics and there isn't some magical unknown theoretical barrier to stopping macroscopic quantum states from being controlled.&lt;/p&gt;&#xA;" OwnerUserId="1037" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2014-06-25T08:15:54.060" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="24954" PostTypeId="2" ParentId="24943" CreationDate="2014-06-20T20:31:25.707" Score="4" Body="&lt;p&gt;Artem Kaznatcheev provides an &lt;a href=&quot;https://cstheory.stackexchange.com/a/24952/5038&quot;&gt;outstanding summary&lt;/a&gt; of some key reasons why we expect quantum computers will be fundamentally faster than classical computers, for some tasks.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you'd like some additional reading, you can read Scott Aaronson's &lt;a href=&quot;http://www.scottaaronson.com/democritus/lec10.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;lecture notes on quantum computing&lt;/a&gt;, which discuss the Shor algorithm and other algorithms that admit efficient quantum algorithms but do not seem to admit any efficient classical algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There &lt;em&gt;is&lt;/em&gt; a debate about whether quantum computers can be built in practice: is BQP an accurate model of reality, or is there something that might prevent us from building a quantum computer, either for engineering reasons or because of fundamental physical barriers?  You can read Scott Aaronson's &lt;a href=&quot;http://www.scottaaronson.com/democritus/lec14.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;lecture notes summarizing the arguments others have raised&lt;/a&gt; and also read his &lt;a href=&quot;http://www.scottaaronson.com/blog/?p=124&quot; rel=&quot;nofollow noreferrer&quot;&gt;blog post with his view on that debate&lt;/a&gt;, but we probably won't have a definitive answer until someone actually builds a quantum computer that can do non-trivial tasks (such as factor large numbers).&lt;/p&gt;&#xA;" OwnerUserId="5038" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2014-06-20T20:31:25.707" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="24955" PostTypeId="2" ParentId="24944" CreationDate="2014-06-20T20:59:58.583" Score="4" Body="&lt;p&gt;Let me describe first how to solve this problem without precomputation, then I'll describe how to make use of precomputation.  I'll focus on the unweighted case (each point has weight 1); all the ideas should extend to the weighted case straightforwardly.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is an algorithm without precomputation: Use a sweep line.  Think of sweeping a vertical line from left to right.  This line represents the right edge of the rectangle.  The set of possible values for this sweep line will be the set of possible $x$-value of some point, so we only need to consider $O(n)$ locations of the sweep line.  Imagine that it starts at the left and slowly moves rightward.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The one thing we don't know is the $y$-value of the bottom edge of the rectangle; call it $b$ (for &quot;bottom&quot;).  However, for any specific position of the sweep line, we can build a data structure that counts the number of points in the rectangle with bottom $b$, for all $b$ (i.e., that maps from the value of $b$ to the number of points if the rectangle's bottom edge is $b$ units above the axis, and the right edge coincides with the sweep line).  I suggest you use an interval tree to represent this data structure.  There are $O(n)$ possible values for $b$, and thus $O(n)$ intervals in the interval tree.  When we move the sweep line right, we might need to add or remove one interval from the interval tree.  When the sweep line hits a new point $(x_i,y_i)$, we add a new interval to the tree for the interval $[y_i,y_i+h]$ (where $h$ is the height of the rectangle).  When the sweep line hits $w$ units to the right of the point $(x_i,y_i)$, i.e., the sweep line hits $x=x_i+w$, then we delete the interval $[y_i,y_i+h]$ from the interval tree.  For each location of the sweep line, we can also use the interval tree to efficiently find the rectangle that covers the most points and has its right edge coincide with the sweep line; doing that for each possible location of the sweep line gives us the optimum rectangle.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The running time of this algorithm is $O(n \lg n)$.  Each insertion/deletion can be done in $O(\lg n)$ time, and we do $O(n)$ insertions and deletions, so the whole thing can be done in $O(n \lg n)$ time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What about precomputation?  Well, if we are given the width $w$ and height $h$ of the rectangle in advance, along with the set of points, then we can build all of the interval trees.  Naively, it sounds like we need to store $O(n)$ interval trees, each of size $O(n)$, for a total of $O(n^2)$ space -- but one can do better.  We can reduce this to $O(n \lg n)$ space in total by using persistent data structures.  It is straightforward to build a persistent version of the interval tree data structure, using &lt;a href=&quot;https://cs.stackexchange.com/a/18266/755&quot;&gt;standard methods&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Once you've done the precomputation, given any vertical line representing the right edge of the rectangle, you can efficiently find the best rectangle that coincides with that right edge (in $O(1)$ time).  (Actually, you don't need persistent data structures for that: since there are only $O(n)$ possible queries, you can just record the answer for each possible query.)  I don't know if this is what you are looking for, though, as I found your question hard to understand (it was hard for me to tell what is available during precomputation and what is made available later for each query).&lt;/p&gt;&#xA;" OwnerUserId="5038" LastEditorUserId="-1" LastEditDate="2017-04-13T12:48:30.830" LastActivityDate="2014-06-20T20:59:58.583" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="24956" PostTypeId="2" ParentId="24943" CreationDate="2014-06-20T21:05:23.587" Score="-2" Body="&lt;p&gt;The basic edifice of quantum computing is the Unitary transform, this is the primary tool for having speedup in many algortithms in the literature. Algorithms that use Unitaries use number/graph theoretic properties of problems at hand - period finding, speed ups in quantum walks, etc. Speedups in natural problems are still elusive - as pointed out. Whether factoring large numbers is the end in itself for quantum computing, is still an open question. Other open questions such QNC, its seperation from NC could still provide elusive clues about what quantum computers may do. But, if the goal of quantum computer is to factor large numbers - it may yet be feasible, in itself in some future, with scary implications (of course to personal privacy)! Whether the unitary binds the model of computation in some way or a new paradigm of physical reality is needed - is anybodies guess.  &lt;/p&gt;&#xA;" OwnerUserId="23079" LastEditorUserId="23079" LastEditDate="2014-06-20T21:11:07.297" LastActivityDate="2014-06-20T21:11:07.297" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="24957" PostTypeId="1" CreationDate="2014-06-20T22:24:37.673" Score="3" ViewCount="262" Body="&lt;p&gt;My problem is related to the standard bin packing problem, but in my case each item has a value, and the objective is to minimise the number of bins used to pack all the items PLUS the sum of the maximum value in each bucket. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Formally, given a bin $S$ of size $V$ and a list of $n$ items with sizes $a_1,\dots,a_n$ and values $v_1,\dots,v_n$ to pack, find an integer number of bins $B$ and a $B$-Partition of a set $S_1 \cup \dots \cup S_B$ of the set $\{1,\dots,n\}$ such that $\sum_{i \in S_k} a_i \leq V$ for all $k=1,\dots,B$.&#xA;Such partition shoud be the one that minimises the quantity $B+\sum max_{i\in S_k}v_i$ for all $k=1,\dots,B$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Do you know if this particular version has been studied before and if it has a good approximate solution algorithm?&lt;/p&gt;&#xA;" OwnerUserId="25361" LastEditorUserId="25361" LastEditDate="2014-06-21T09:10:19.333" LastActivityDate="2014-06-21T09:10:19.333" Title="Variation of bin packing" Tags="&lt;packing&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="24958" PostTypeId="2" ParentId="1130" CreationDate="2014-06-21T04:32:51.233" Score="2" Body="&lt;p&gt;(expnanding on my comment)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The &quot;physical intuition&quot; behind statistical methods, as used in computation, is &lt;a href=&quot;http://en.wikipedia.org/wiki/Maximum_entropy_thermodynamics&quot; rel=&quot;nofollow&quot;&gt;Maximum Entropy&lt;/a&gt; (a-la Jaynes) plus associated stochastic methods like &lt;a href=&quot;http://en.wikipedia.org/wiki/Simulated_annealing&quot; rel=&quot;nofollow&quot;&gt;Simulated Annealing&lt;/a&gt; or &lt;a href=&quot;http://www.google.gr/url?sa=t&amp;amp;rct=j&amp;amp;q=&amp;amp;esrc=s&amp;amp;source=web&amp;amp;cd=7&amp;amp;ved=0CF4QFjAG&amp;amp;url=http%3A%2F%2Fwww.researchgate.net%2Fpublication%2F2382666_Pairwise_Data_Clustering_by_Deterministic_Annealing%2Ffile%2Fd912f50c75945d835b.pdf&amp;amp;ei=FQulU5rxH8G2O9vFgfAL&amp;amp;usg=AFQjCNGms38_X5574saoUmoG9fY1Suwrdw&amp;amp;bvm=bv.69411363,d.ZWU&amp;amp;cad=rja&quot; rel=&quot;nofollow&quot;&gt;Deterministic Annealing&lt;/a&gt;. Jaynes formulated the maximum entropy approach (a direct &lt;em&gt;generalization&lt;/em&gt; of the statistical physics), to tackle &lt;em&gt;inverse problems&lt;/em&gt; (in computational terms these include $NP$-hard problems)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A survey of &quot;&lt;em&gt;heuristics from nature&lt;/em&gt;&quot; can be found &lt;a href=&quot;http://faculty.washington.edu/paymana/swarm/colorni96-itor.pdf&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt; (circa 95)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Other heuristics involve generalised langrangians (aka primal-dual/expectation-maximization algorithms)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However these do &lt;strong&gt;not&lt;/strong&gt; exhaust all &quot;&lt;em&gt;heuristics from nature&lt;/em&gt;&quot; as in fact from 2003 onwards &lt;a href=&quot;http://www.ise.ncsu.edu/fangroup/ie789.dir/pub2.pdf&quot; rel=&quot;nofollow&quot;&gt;new heuristics based on electromargnetism&lt;/a&gt; have been used to tackle both continous and discrete/combinatorial optimization methods (like the &lt;a href=&quot;http://goanna.cs.rmit.edu.au/~xiaodong/publications/knapsack-bonyadi-li-2012.PDF&quot; rel=&quot;nofollow&quot;&gt;multidimensional knapsack&lt;/a&gt;, or the &lt;a href=&quot;http://www.inf.ucv.cl/~rsoto/cursos/MII748/EM/EM_paper_bin.pdf&quot; rel=&quot;nofollow&quot;&gt;TSP&lt;/a&gt;, circa 2012)&lt;/p&gt;&#xA;" OwnerUserId="21598" LastActivityDate="2014-06-21T04:32:51.233" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="24961" PostTypeId="2" ParentId="24909" CreationDate="2014-06-21T21:27:24.023" Score="16" Body="&lt;p&gt;&lt;em&gt;Visibly pushdown automata&lt;/em&gt; (or &lt;em&gt;nested word automata&lt;/em&gt;, if you prefer working with &lt;a href=&quot;http://en.wikipedia.org/wiki/Nested_word&quot;&gt;nested words&lt;/a&gt; instead of finite words) extend the expressive power of deterministic finite automata: the class of regular languages is strictly contained within the class of visibly pushdown languages. For deterministic visibly pushdown automata, the language inclusion problem can be solved in polynomial time. For more details, see the paper by Alur and Madhusudan, especially Chapter 6.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By the way, the nondeterministic variant of visibly pushdown automata is exponentially more succinct than the deterministic variant, but there the language inclusion problem is EXPTIME-complete and thus intractable. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Alur, R.; Madhusudan, P. (2009). &quot;&lt;a href=&quot;http://www.cis.upenn.edu/~alur/Jacm09.pdf&quot;&gt;Adding nesting structure to words&lt;/a&gt;&quot;. Journal of the ACM &lt;strong&gt;56&lt;/strong&gt;(3): 1–43.&lt;/p&gt;&#xA;" OwnerUserId="2367" LastActivityDate="2014-06-21T21:27:24.023" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="24962" PostTypeId="1" CreationDate="2014-06-22T10:36:53.590" Score="31" ViewCount="1921" Body="&lt;p&gt;There are several algorithms that decide in polynomial time whether a graph can be drawn in the plane or not, even many with a linear running time. However, I could not find a very simple algorithm that one could easily and fast explain in class and would show that PLANARITY is in P. Do you know any?&lt;/p&gt;&#xA;&lt;p&gt;If necessary, you can use Kuratowski's or Fary's theorem but no deep stuff, like the graph minor theorem.&#xA;Also note that I do not care about the running time, I just want something polynomial.&lt;/p&gt;&#xA;&lt;p&gt;Below are the so far 3 best algorithms, showing a simplicity/no-deep-theory-needed trade-off.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Algorithm 1: Using that we can check whether a graph contains a &lt;span class=&quot;math-container&quot;&gt;$K_5$&lt;/span&gt; or a &lt;span class=&quot;math-container&quot;&gt;$K_{3,3}$&lt;/span&gt; as a minor in polynomial time, we get a very simple algorithm using deep theory. (Note that this theory already uses graph embeddings, as pointed by Saeed, so this is not a real algorithmic approach, just something simple to tell students who already knew/accepted the graph minor theorem.)&lt;/p&gt;&#xA;&lt;p&gt;Algorithm 2 [based on someone's answer]: It is easy to see that it is enough to deal with 3-connected graphs. For these, find a face and then apply Tutte's spring theorem.&lt;/p&gt;&#xA;&lt;p&gt;Algorithm 3 [recommended by Juho]: Demoucron, Malgrange and Pertuiset (DMP) algorithm. Draw a cycle, components of remaining graph are called fragments, we embed them in a suitable way (meanwhile creating new fragments). This approach uses no other theorems.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="419" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2014-06-28T13:23:03.097" Title="What is simplest polynomial algorithm for PLANARITY?" Tags="&lt;graph-algorithms&gt;&lt;co.combinatorics&gt;&lt;planar-graphs&gt;" AnswerCount="4" CommentCount="13" FavoriteCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="24968" PostTypeId="1" CreationDate="2014-06-22T23:26:19.193" Score="5" ViewCount="820" Body="&lt;p&gt;I have noticed that ICFP has a student volunteer program and research program that accepts undergraduate students and POPL have the Programming Language Mentoring Workshop, so I was wondering if there are any other conferences with similar programs within TCS?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, would it be very likely that an undergraduate student would get any funding for these programs, as I am assuming the organisers would prefer postgraduate students? I would be very interested in attending the PLMW at POPL but as it's in India next year, it would be hard to self fund...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit: Thanks for the suggestions, I have checked some of them out, but I should have probably added that I am in the UK, so some of them would be quite far, but I know of a couple of similar undergraduate conferences to the ones mentioned by vzn so I will consider that route too...&lt;/p&gt;&#xA;" OwnerUserId="25375" LastEditorUserId="25375" LastEditDate="2014-07-11T00:49:26.827" LastActivityDate="2014-07-11T00:49:26.827" Title="TCS conferences for undergraduate students?" Tags="&lt;soft-question&gt;&lt;conferences&gt;" AnswerCount="4" CommentCount="1" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="24969" PostTypeId="2" ParentId="24962" CreationDate="2014-06-23T04:21:01.543" Score="1" Body="&lt;p&gt;What about Hopcroft and Tarjan's 1974 algorithm &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=321852&quot; rel=&quot;nofollow&quot;&gt;{1}&lt;/a&gt;?&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;{1} Hopcroft, John, and Robert Tarjan. &quot;Efficient planarity testing.&quot; Journal of the ACM (JACM) 21.4 (1974): 549-568.&lt;/p&gt;&#xA;" OwnerUserId="25250" LastActivityDate="2014-06-23T04:21:01.543" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="24970" PostTypeId="2" ParentId="24968" CreationDate="2014-06-23T08:52:51.883" Score="3" Body="&lt;p&gt;The best option might be the &lt;a href=&quot;http://fcrc.acm.org/&quot; rel=&quot;nofollow&quot;&gt;FCRC&lt;/a&gt;, which combines lots of famous and interesting theoretical conferences and others.  I didn't see the policy for supporting undergraduate students, but I believe they would waive your registration fee should you write to ask (maybe they need volunteers?).  Especially, as you mentioned POPL, PLDI suits a little more for undergraduate students.&lt;/p&gt;&#xA;" OwnerUserId="7059" LastActivityDate="2014-06-23T08:52:51.883" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="24971" PostTypeId="1" CreationDate="2014-06-23T09:02:43.890" Score="7" ViewCount="274" Body="&lt;p&gt;Assume you have two coins $A,B$ with biases $P_A,P_B$ respectively.&#xA;We would like to make $N$ coin tosses and get the maximal number of heads possible.&#xA;Unfortunately, we know $P_B$, but $P_A$ is unknown at the beginning of the process.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;What is the best possible strategy for selecting which coin to toss at each step?&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note: I'm looking for actual optimization of the selection, not heuristic methods. You may assume a reasonable prior distribution on $P_A$ if needed.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;EDIT: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is a formal definition of the objective.&#xA;Let $P_A,P_B\in (0,1)$ and $P=max\{P_A,P_B\}$. The optimal strategy in hindsight will achieve on average $P\cdot N$ head tosses.&#xA;Let $a(P_A,P_B)$ be the expected number of times our strategy picked coin $A$ given that the probabilities were $P_A,P_B$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;The Optimization Objective:&lt;/strong&gt; minimize the expected regret, i.e. $$Regret=P\cdot N - P_A\cdot a(P_A,P_B) - P_B\cdot (N-a(P_A,P_B))$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;The Goal:&lt;/strong&gt; Devise a selection strategy that guarantees (expected) $Regret\leq r$ for any values of $P_A,P_B$ (for the smallest value of $r$ possible).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that if $P_A\approx P_B$ this is not a problem in this definition as it means our regret will be small regardless of which coin we flip. &lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;If $N$ is unknown (i.e. the process may end arbitrarily after an adversarialy chosen number of tosses), the best strategy would be to occasionally explore coin $A$ to get a better $\widehat {P_A}$ estimation, and in the rest of the time toss coin $A$ iff $\widehat {P_A} &amp;gt; P_B$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the scenario $N$ is known, it's not hard to argue that the optimal strategy makes a series of tosses of coin $A$ and then either keeps on tossing $A$ for the remaining tosses or starts tossing only coin $B$, but how can we optimize the cutoff (i.e. the switch to tossing coin $B$) to maximize the expectancy of head results?&lt;/p&gt;&#xA;" OwnerUserId="21001" LastEditorUserId="21001" LastEditDate="2014-06-24T12:45:31.670" LastActivityDate="2014-06-25T15:50:24.503" Title="Maximizing the number of heads in $N$ tosses by choosing which coin to toss" Tags="&lt;ds.algorithms&gt;&lt;pr.probability&gt;&lt;st.statistics&gt;&lt;exploration-exploitation&gt;" AnswerCount="2" CommentCount="8" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="24972" PostTypeId="5" CreationDate="2014-06-23T09:15:59.113" Score="0" Body="" OwnerUserId="-1" LastEditorUserId="-1" LastEditDate="2014-06-23T09:15:59.113" LastActivityDate="2014-06-23T09:15:59.113" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="24973" PostTypeId="4" CreationDate="2014-06-23T09:15:59.113" Score="0" Body="Discusses strategies for both exploring the world and taking advantage of the gathered data, when we don't have full certainty about the payoffs." OwnerUserId="21001" LastEditorUserId="21001" LastEditDate="2014-06-23T12:15:23.733" LastActivityDate="2014-06-23T12:15:23.733" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="24974" PostTypeId="1" AcceptedAnswerId="24980" CreationDate="2014-06-23T09:24:58.067" Score="3" ViewCount="182" Body="&lt;p&gt;The transformation replacing an edge by a graph gadget&#xA;is widely used in graph theory.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As an example, &lt;a href=&quot;https://cstheory.stackexchange.com/a/24882/3247&quot;&gt;in an answer&lt;/a&gt; Marzio De Biasi subdivided&#xA;edges which increases the girth while preserving GI.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A gadget $GA$ is a graph with two distinguished vertices $u,v$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The transformation $G,GA \to G'$ is:  replace edge $(x,y)$ in&#xA;$G$ by a copy of the gadget $GA$ and in the copy set $u=x,v=y$ so&#xA;$x,y$ from the original graph are the same in all copies.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Which gadgets $GA$ preserve isomorphism:  $G \cong H \iff G' \cong H'$&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Added to clarify&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am looking for an algorithm given $GA,u,v$ to decide if it preserves isomorphism or not (reductions to GI complete problems are allowed though better be avoided).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Added 2&lt;/strong&gt; I am interested when $GA$ is fixed (and possibly small).&lt;/p&gt;&#xA;" OwnerUserId="22348" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.743" LastActivityDate="2014-06-23T13:45:47.493" Title="When replacing an edge with a graph gadget preserves graph isomorphism?" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;graph-isomorphism&gt;" AnswerCount="1" CommentCount="7" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="24975" PostTypeId="1" AcceptedAnswerId="24977" CreationDate="2014-06-23T09:26:19.180" Score="4" ViewCount="259" Body="&lt;p&gt;Consider the problem&lt;/p&gt;&#xA;&#xA;&lt;p&gt;\begin{equation}&#xA;\min_{x\in X, y \in Y} f(x,y)&#xA;\end{equation}&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can I solve the problem by iteratively solving the following two sub problems?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;\begin{equation}&#xA;x_{k+1} = \arg\min_{x\in X} f(x,y_k)&#xA;\end{equation}&lt;/p&gt;&#xA;&#xA;&lt;p&gt;\begin{equation}&#xA;y_{k+1} = \arg\min_{ y \in Y} f(x_k,y)&#xA;\end{equation}&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If yes, is there any books/papers talking about this kind of approach?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks&lt;/p&gt;&#xA;" OwnerUserId="25379" LastEditorUserId="25379" LastEditDate="2014-06-23T09:48:29.560" LastActivityDate="2014-07-04T07:05:14.407" Title="Iteratively minimizing the function" Tags="&lt;reference-request&gt;&lt;optimization&gt;" AnswerCount="2" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="24977" PostTypeId="2" ParentId="24975" CreationDate="2014-06-23T10:09:37.023" Score="3" Body="&lt;p&gt;It's not hard to show that if $f$ is &lt;a href=&quot;http://en.wikipedia.org/wiki/Convex_function#Strongly_convex_functions&quot; rel=&quot;nofollow&quot;&gt;strongly convex&lt;/a&gt; then this approach converges and you can give an upper bound on the number of iterations needed.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $f$ is strictly convex, but not strongly convex, this might converge very slow or even not converge at all.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $f$ is not convex at all, you are likely to end in a local optima rather than the global one.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You might also like to take a look at  the &lt;a href=&quot;http://en.wikipedia.org/wiki/Expectation%E2%80%93maximization_algorithm&quot; rel=&quot;nofollow&quot;&gt;Expectation–maximization algorithm&lt;/a&gt; which is quite similar, but also deals with unobserved values.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, there are applications where $f$ is a non-convex function at all with respect to $x,y$, but it is convex w.r.t. each of them (e.g. $f(x,y)=xy$).&#xA;In these problems, the iterative process you describe is many times used in practice and works quite well.&lt;/p&gt;&#xA;" OwnerUserId="21001" LastEditorUserId="21001" LastEditDate="2014-06-23T10:19:40.710" LastActivityDate="2014-06-23T10:19:40.710" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="24979" PostTypeId="2" ParentId="24968" CreationDate="2014-06-23T12:27:12.823" Score="3" Body="&lt;p&gt;For the past three years, SOCG has included a satellite event called the Young Researchers Forum, which is a venue for early students and other newcomers to computational geometry to present preliminary or ongoing research. It's not meant specifically for undergraduates, but undergrads are certainly welcome.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Most major theory conferences have been able to attract funding from NSF to support student travel.  Again, undergraduates are eligible for this funding, although students speaking at the conference (including the Young Researchers Forum at SOCG) generally have higher priority.&lt;/p&gt;&#xA;" OwnerUserId="111" LastActivityDate="2014-06-23T12:27:12.823" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="24980" PostTypeId="2" ParentId="24974" CreationDate="2014-06-23T13:22:30.863" Score="1" Body="&lt;p&gt;Just a summary of my (very informal / wrong?) comments/ideas above:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Every connected gadget $GA$ with two or more nodes, that doesn't introduce an asymmetry between $u$ and $v$ should be fine. In other words suppose $maxdeg(GA)=n$, and that $X$ is a star with a central node $x$ and $n+1$ leaves, $Y$ is a star with a central node $y$ and $n+2$ leaves.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The $GA$ preserves isomorphism if and only if the two graphs $X \cup GA \cup Y$, in which $x$ is replaced with $u$ and $y$ is replaced with $v$, is isomorphic to the graph $Y \cup GA \cup X$ in which $y$ is replaced with $u$ and $x$ is replaced with $v$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This construction can also be used to check if a small fixed $GA$ preserves isomorphism.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Furthermore, the problem of deciding if $(GA,u,v)$ preserves isomorphism is GI-complete: given two graphs $G_1,G_2$; build the following gadget $GA$: add 4 new nodes $u,x,y,v$ and edges $(u,x),(x,y),(y,v)$, then add an edge from $x$ to all the nodes of $G_1$ and an edge from $y$ to all the nodes of $G_2$. $G_1,G_2$ are isomorphic if and only if $GA$ preserves isomorphism.&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2014-06-23T13:45:47.493" LastActivityDate="2014-06-23T13:45:47.493" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="24982" PostTypeId="1" CreationDate="2014-06-23T13:35:53.203" Score="5" ViewCount="185" Body="&lt;p&gt;I've been going over some material related to IPC recently from Tanenbaum's &quot;Modern Operating Systems&quot; and revisited semaphore after many years. There is a lot of code and pseudo code based explanations and solutions to classic IPC problems like dining philosophers etc and scenario based deadlock situations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, I didn't come across any reference to proving the correctness of those solutions. I had a look at Dijkstra's original paper (following a link on Wikipedia reference section). I did a quick run through and found the explanations to be more code and pseudo code based that mathematically rigorous. The google results at best give simulation cases, which are again code based.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is as the title says: Are there any mathematically rigorous analyses and proofs about the correctness of the solutions to the IPC problems available, freely (without membership to access information)?&lt;/p&gt;&#xA;" OwnerUserId="25385" LastEditorUserId="186" LastEditDate="2014-06-23T18:45:02.150" LastActivityDate="2014-06-25T21:33:28.750" Title="Is there a mathematical analysis/proof available for correctness of solutions to inter process communication problems?" Tags="&lt;pl.programming-languages&gt;&lt;dc.parallel-comp&gt;&lt;concurrency&gt;&lt;formal-methods&gt;&lt;correctness&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="24983" PostTypeId="1" CreationDate="2014-06-23T13:42:23.933" Score="4" ViewCount="75" Body="&lt;p&gt;The Shamir's algorithm is depicted as follows (cited from&#xA;&lt;br&gt;&#xA;&lt;a href=&quot;http://cacr.uwaterloo.ca/hac/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Handbook of Applied Cryptography&lt;/a&gt;, chapter 14, algorithm 14.88, page 618)&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Shamir's algorithm&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;INPUT&lt;/strong&gt;: group elements $g_0,g_1,\dots, g_{k-1}$ and non-negative $t$-bit integers $e_0,e_1,\dots, e_{k-1}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;OUTPUT&lt;/strong&gt;:$g_0^{e_0}g_1^{e_1}\dots g_{k-1}^{e_{k-1}}$&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;em&gt;Precomputation&lt;/em&gt;. For $i$ from 0 to $2^k-1$: $G_i \gets \Pi_{j=0}^{k-1}g_j^{i_j}$ where $i=(i_{k-1}\dots i_0)_2$.&lt;/li&gt;&#xA;&lt;li&gt;$A\gets1$&lt;/li&gt;&#xA;&lt;li&gt;For $i$ from 1 to $t$ do : $A \gets A$, $A \gets A \cdot G_{I_i}$&lt;/li&gt;&#xA;&lt;li&gt;Return($A$)&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;I wonder; how many exponentiations can the Shamir algorithm reduce? That's to say, usually it needs $k$ exponentiations to compute $g_0^{e_0}g_1^{e_1}\dots g_{k-1}^{e_{k-1}}$; however if we use the algorithm in the above, then how many exponentiations does it amount to when calculating $g_0^{e_0}g_1^{e_1}\dots g_{k-1}^{e_{k-1}}$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;P.S. Actually, this question appears in &lt;a href=&quot;https://crypto.stackexchange.com/questions/17758/how-many-exponentiations-can-the-shamir-algorithm-reduce&quot;&gt;here&lt;/a&gt;. I think it's more proper to ask in this section. However, as I'm a newer I cannot flag or delete this same question from &lt;a href=&quot;https://crypto.stackexchange.com/&quot;&gt;https://crypto.stackexchange.com/&lt;/a&gt;.  I'm sorry to do this..&lt;/p&gt;&#xA;" OwnerUserId="25387" LastEditorUserId="-1" LastEditDate="2017-04-13T12:48:17.970" LastActivityDate="2014-06-23T13:51:29.197" Title="How many exponentiations can the Shamir algorithm reduce?" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;" AnswerCount="0" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="24984" PostTypeId="1" CreationDate="2014-06-23T15:21:11.660" Score="6" ViewCount="35" Body="&lt;p&gt;Let $B^{&amp;lt;\omega}$ be the set of finite binary strings. I will only consider functions from $B^{&amp;lt;\omega}$ to $B^{&amp;lt;\omega}$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I recall the definition of the &lt;em&gt;algorithmic complexity&lt;/em&gt; of a string relative to a partial recursive function $F$:&#xA;$C_{F}\left(x\right)=\min\left\{ \left|y\right|\in B^{&amp;lt;\omega}\mid F\left(y\right)=x\right\} $.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In algorithmic complexity theory, we often use what is called an optimal decompressor. An &lt;em&gt;optimal decompressor&lt;/em&gt; is a partial recursive function $U$ from $B^{&amp;lt;\omega}$ to $B^{&amp;lt;\omega}$ which verifies « For any partial recursive function F, $C_{U}\left(F\left(x\right)\right)\leq\left|x\right|+O\left(1\right)$ ».&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, this is purely an information-related concept, and it tells us nothing about whether $U$ can be seen as a usable « programming language ». We can define a stronger concept: an &lt;em&gt;effectively optimal decompressor&lt;/em&gt; is a partial recursive function $U$ such as we can find a recursive and length-preserving translation from any other partial recursive function into $U$. Formally, $U$ is a partial function such that for any partial recursive function $F$, there exists a &lt;em&gt;total&lt;/em&gt; recursive function $h$ such as $U\left(h\left(x\right)\right)=F\left(x\right)$ for all $x$, and such that $\left|h\left(x\right)\right|\leq\left|x\right|+O\left(1\right)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is easy to show that those two definitions are not equivalent. But one of my colleagues asked the question: what if, in the definition of effective optimality, we only ask that $h$ verifies « If $F(x)$ is defined, then $U(h(x))=F(x)$ »? In other terms, what if we allow $h$ to output a program which halts when the input is a program which doesn't halt? Note that $h$ still has to be a total recursive function. It gives a definition which is stronger than the first definition (non-effective optimality), but I can't prove that it is equivalent, or strictly weaker, than the second definition.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It sounds like a question which is too simple not to have an easy answer, but I've been stuck on it for the last few days. If someone has an idea, I'm all ears =)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thank you in advance!&lt;/p&gt;&#xA;" OwnerUserId="25393" LastEditorUserId="4795" LastEditDate="2014-06-23T22:41:29.433" LastActivityDate="2014-06-23T22:41:29.433" Title="Different definitions of optimal decompressors" Tags="&lt;it.information-theory&gt;&lt;kolmogorov-complexity&gt;&lt;universal-computation&gt;" AnswerCount="0" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="24986" PostTypeId="1" AcceptedAnswerId="24994" CreationDate="2014-06-23T19:02:24.247" Score="18" ViewCount="3253" Body="&lt;p&gt;Any language which is not Turing complete can not write an interpreter for it self. I have no clue where I read that but I have seen it used a number of times. It seems like this gives rise to a kind of &quot;ultimate&quot; non Turing complete language; the one(s) that can &lt;strong&gt;only&lt;/strong&gt; be interpreted by a Turing machine. These languages would not necessarily be able to compute all total functions from naturals to naturals nor would they necessarily be isomorphic (that is maybe ultimate languages A and B exists such that there exists a function F that A can compute but B cannot). Agda can interpret Godel's system T and Agda is total so that such an ultimate language should be strictly more powerful that Godel's system T it would seem. It seems to me that such a language would be at least as powerful as agda too (though I have no evidence, just a hunch).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Has any research been done in this vein? What results are known (namely is such an &quot;ultimate&quot; language known)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Bonus: I am worried that there exists a pathological case that can not compute functions that Godel's System T could yet can still only be interpreted by a Turing machine because it allows some really odd functions to be computed. Is this the case or can we know that such a language would be able to compute anything Godel's System T could compute?&lt;/p&gt;&#xA;" OwnerUserId="21112" LastEditorUserId="44068" LastEditDate="2018-12-16T12:16:34.223" LastActivityDate="2020-05-18T07:09:33.403" Title="A total language that only a Turing complete language can interpret" Tags="&lt;computability&gt;&lt;turing-machines&gt;" AnswerCount="2" CommentCount="6" FavoriteCount="16" ContentLicense="CC BY-SA 4.0" />
  <row Id="24987" PostTypeId="2" ParentId="24962" CreationDate="2014-06-23T20:14:44.243" Score="1" Body="&lt;p&gt;Two algorithms, both in LogSpace&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Eric Allender and Meena Mahajan - The Complexity of Planarity Testing&lt;/li&gt;&#xA;&lt;li&gt;Samir Datta and Gautam Prakriya - Planarity Testing Revisited&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;The second is much simpler than the first.&lt;/p&gt;&#xA;" OwnerUserId="25398" LastActivityDate="2014-06-23T20:14:44.243" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="24988" PostTypeId="2" ParentId="24962" CreationDate="2014-06-23T22:16:29.993" Score="3" Body="&lt;p&gt;The algorithm of Boyer and Myrvold is considered among the state of art of planarity testing algorithms&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://jgaa.info/accepted/2004/BoyerMyrvold2004.8.3.pdf&quot; rel=&quot;nofollow&quot;&gt;On the Cutting Edge:&#xA;Simplified O(n) Planarity by Edge Addition&lt;/a&gt; by Boyer and Myrvold.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This &lt;a href=&quot;http://cs.brown.edu/~rt/gdhandbook/chapters/planarity.pdf&quot; rel=&quot;nofollow&quot;&gt;book chapter&lt;/a&gt; surveys many planarity testing algorithms and hopefully you find simple enough algorithm.&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2014-06-23T22:31:54.773" LastActivityDate="2014-06-23T22:31:54.773" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="24989" PostTypeId="2" ParentId="24923" CreationDate="2014-06-23T22:24:40.127" Score="3" Body="&lt;p&gt;If you are looking for a way to name (or alternately characterize) these edges you call &quot;useless&quot; and &quot;necessary,&quot; you could refer to them as the edges with betweenness centrality =0 and =1, respectively. Every edge can be classified as having =0, =1 or in(0,1) betweenness measure in time of all-pairs-shortest-paths.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is a well-studied measure of network edges, and there are fast algorithms for updating all the edges' centrality scores upon edge deletions (but I'm not sure about other perturbations).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A centrality function is built-in to mostly every network analysis I've seen, and there is a definition that applies to directed graphs as well:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(edit: the link I gave initially only discussed node betweenness centrality, but here is the only wikipedia article I can find that discusses edge-betweenness centrality:&#xA;&lt;a href=&quot;http://en.wikipedia.org/wiki/Girvan%E2%80%93Newman_algorithm&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/Girvan%E2%80%93Newman_algorithm&lt;/a&gt;&#xA;Still, edge-betweenness is a standard measure that can usually be found in network analysis packages.)&lt;/p&gt;&#xA;" OwnerUserId="2414" LastEditorUserId="2414" LastEditDate="2014-06-23T22:37:12.317" LastActivityDate="2014-06-23T22:37:12.317" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="24990" PostTypeId="2" ParentId="24968" CreationDate="2014-06-23T22:27:56.197" Score="1" Body="&lt;p&gt;(alas) there is a basic mismatch between the two areas: undergraduate and research, because most serious research happens at least at the graduate level. however consider the following (which are not (T)CS focused but encompass it): &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://www.cur.org/ncur_2014/&quot; rel=&quot;nofollow&quot;&gt;National Conference on Undergraduate Research&lt;/a&gt; / &lt;a href=&quot;https://ncurdb.cur.org/ncur2014/search/List_NCUR.aspx?subject=Computer+Science&quot; rel=&quot;nofollow&quot;&gt;2014 CS presentations&lt;/a&gt; / &lt;a href=&quot;http://www.cur.org/assets/1/7/Final_Program_small.pdf&quot; rel=&quot;nofollow&quot;&gt;Final program pdf&lt;/a&gt; has many undergraduate (T)CS research presentations.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://www.sigmaxi.org/meetings/src/src.shtml&quot; rel=&quot;nofollow&quot;&gt;Sigma Xi research conference&lt;/a&gt; includes undergraduate research in &quot;all fields of science and engineering.&quot; (&lt;a href=&quot;http://www.sigmaxi.org/meetings/src/2013src.shtml&quot; rel=&quot;nofollow&quot;&gt;2013 notes&lt;/a&gt;)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;try also Mathematics oriented conferences which would liberally allow computer science touching areas as a subdiscipline or overlap.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://ymc.osu.edu/&quot; rel=&quot;nofollow&quot;&gt;Young mathematicians conference&lt;/a&gt; Ohio State University&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://www.maa.org/programs/faculty-and-departments/undergraduate-conferences/supported-conferences&quot; rel=&quot;nofollow&quot;&gt;MAA RUMC program&lt;/a&gt;. MAA &lt;a href=&quot;http://www.maa.org/programs/maa-grants/undergraduateresearchresources&quot; rel=&quot;nofollow&quot;&gt;RUMC&lt;/a&gt; are Regional Undergraduate Mathematics Conferences.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2014-06-23T22:27:56.197" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="24991" PostTypeId="1" AcceptedAnswerId="25012" CreationDate="2014-06-23T22:59:35.920" Score="17" ViewCount="2449" Body="&lt;p&gt;I was having a discussion with a friend recently (who is an advocate of strongly typed languages). He made the comment:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;The inventors of Lambda Calculus always intended it to be typed. &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Now we can see that &lt;a href=&quot;http://en.wikipedia.org/wiki/Alonzo_Church&quot;&gt;Church&lt;/a&gt; &lt;a href=&quot;http://en.wikipedia.org/wiki/Lambda_calculus#Typed_lambda_calculi&quot;&gt;was associated with&lt;/a&gt; the &lt;a href=&quot;http://en.wikipedia.org/wiki/Simply_typed_lambda_calculus&quot;&gt;Simply&lt;/a&gt; Typed &lt;a href=&quot;http://en.wikipedia.org/wiki/Typed_lambda_calculus&quot;&gt;Lambda Calculus&lt;/a&gt;. Indeed, it seems he explained the Simply Typed Lambda Calculus in order to reduce misunderstanding about the Lambda Calculus. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now when John McCarthy created Lisp - he &lt;a href=&quot;http://en.wikipedia.org/wiki/John_McCarthy_%28computer_scientist%29#Career_in_computer_science&quot;&gt;based it on the Lambda Calculus&lt;/a&gt;. This is by his own admission when he published &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=367199&quot;&gt;&quot;Recursive functions of symbolic expressions and their computation by machine, Part I&quot;&lt;/a&gt;. You can &lt;a href=&quot;http://dspace.mit.edu/bitstream/handle/1721.1/6096/AIM-008.pdf?sequence=2&quot;&gt;read it here&lt;/a&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;McCarthy appears not to have addressed the Simply Typed Lambda Calculus. This seems to be dominated by &lt;a href=&quot;http://en.wikipedia.org/wiki/Robin_Milner&quot;&gt;Robyn Milner&lt;/a&gt; with &lt;a href=&quot;http://en.wikipedia.org/wiki/ML_%28programming_language%29&quot;&gt;ML&lt;/a&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is some discussion of the relationship between Lisp and Lambda Calculus &lt;a href=&quot;https://groups.google.com/forum/#!topic/comp.lang.lisp/VeMa1B3ZF6Y&quot;&gt;here&lt;/a&gt;, but they don't really get to the bottom of why McCarthy chose to leave it untyped. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is - &lt;strong&gt;If McCarthy admits he knew about Lambda Calculus - why did he ignore the Typed Lambda calculus?&lt;/strong&gt; (ie - is it truly obvious that Lambda Calculus was intended to be typed? It doesn't seem that way)&lt;/p&gt;&#xA;" OwnerUserId="608" LastActivityDate="2016-07-04T15:46:39.150" Title="Historic Relationship between Typed Lambda Calculus and Lisp?" Tags="&lt;lambda-calculus&gt;&lt;church-turing-thesis&gt;&lt;lisp&gt;&lt;typed-lambda-calculus&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="24994" PostTypeId="2" ParentId="24986" CreationDate="2014-06-24T08:19:32.067" Score="45" Body="&lt;p&gt;This is a badly phrased question, so let's first make sense of it. I am going to do it the style of computability theory. Thus I will use numbers instead of strings: a piece of source code is a number, rather than a string of symbols. It does not really matter, you may replace &lt;span class=&quot;math-container&quot;&gt;$\mathbb{N}$&lt;/span&gt; with &lt;span class=&quot;math-container&quot;&gt;$\mathtt{string}$&lt;/span&gt; throughout below.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let &lt;span class=&quot;math-container&quot;&gt;$\langle m, n\rangle$&lt;/span&gt; be a &lt;a href=&quot;http://en.wikipedia.org/wiki/Pairing_function&quot; rel=&quot;nofollow noreferrer&quot;&gt;pairing function&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let us say that a programming language &lt;span class=&quot;math-container&quot;&gt;$L = (P, ev)$&lt;/span&gt; is given by the following data:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;a &lt;em&gt;decidable&lt;/em&gt; set &lt;span class=&quot;math-container&quot;&gt;$P \subseteq \mathbb{N}$&lt;/span&gt; of &quot;valid programs&quot;, and&lt;/li&gt;&#xA;&lt;li&gt;a &lt;em&gt;computable&lt;/em&gt; and &lt;em&gt;partial&lt;/em&gt; function &lt;span class=&quot;math-container&quot;&gt;$ev : P \times \mathbb{N} \to \mathbb{N}$&lt;/span&gt;.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;The fact that &lt;span class=&quot;math-container&quot;&gt;$P$&lt;/span&gt; is decidable means there is a total computable map &lt;span class=&quot;math-container&quot;&gt;$valid : \mathbb{N} \to \{0,1\}$&lt;/span&gt; such that &lt;span class=&quot;math-container&quot;&gt;$valid(n) = 1 \iff n \in P$&lt;/span&gt;. Informally, we are saying that it is possible to tell whether a given string is a valid piece of code. The function &lt;span class=&quot;math-container&quot;&gt;$ev$&lt;/span&gt; is essentially an interpreter for our language: &lt;span class=&quot;math-container&quot;&gt;$ev(m,n)$&lt;/span&gt; runs code &lt;span class=&quot;math-container&quot;&gt;$m$&lt;/span&gt; on input &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt; – the result may be undefined.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We can now introduce some terminology:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;A language is &lt;em&gt;total&lt;/em&gt; if &lt;span class=&quot;math-container&quot;&gt;$n \mapsto ev(m,n)$&lt;/span&gt; is a total function for all &lt;span class=&quot;math-container&quot;&gt;$m \in P$&lt;/span&gt;.&lt;/li&gt;&#xA;&lt;li&gt;A language &lt;span class=&quot;math-container&quot;&gt;$L_1 = (P_1, ev_1)$&lt;/span&gt; &lt;em&gt;interprets&lt;/em&gt; language &lt;span class=&quot;math-container&quot;&gt;$L_2 = (P_2, ev_2)$&lt;/span&gt; if there exists &lt;span class=&quot;math-container&quot;&gt;$u \in P_1$&lt;/span&gt; such that &lt;span class=&quot;math-container&quot;&gt;$ev_1(u, \langle n, m \rangle) \simeq ev_2(n, m)$&lt;/span&gt; for all &lt;span class=&quot;math-container&quot;&gt;$n \in P_2$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$m \in \mathbb{N}$&lt;/span&gt;. Here &lt;span class=&quot;math-container&quot;&gt;$u$&lt;/span&gt; is the simulator for &lt;span class=&quot;math-container&quot;&gt;$L_2$&lt;/span&gt; implemented in &lt;span class=&quot;math-container&quot;&gt;$L_1$&lt;/span&gt;. It is also known as the &lt;em&gt;universal program&lt;/em&gt; for &lt;span class=&quot;math-container&quot;&gt;$L_2$&lt;/span&gt;.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Other definitions of &quot;&lt;span class=&quot;math-container&quot;&gt;$L_1$&lt;/span&gt; interprets &lt;span class=&quot;math-container&quot;&gt;$L_2$&lt;/span&gt;&quot; are possible, but let me not get into this now.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We say that &lt;span class=&quot;math-container&quot;&gt;$L_1$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$L_2$&lt;/span&gt; are equivalent if they interpret each other. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is &quot;the most powerful&quot; language &lt;span class=&quot;math-container&quot;&gt;$T = (\mathbb{N}, \varphi)$&lt;/span&gt; of Turing machines (which you refer to as &quot;a Turing machine&quot;) in which &lt;span class=&quot;math-container&quot;&gt;$n \in \mathbb{N}$&lt;/span&gt; is an encoding of a Turing machine and &lt;span class=&quot;math-container&quot;&gt;$\varphi(n,m)$&lt;/span&gt; is the partial computable function that &quot;runs the Turing machine encoded by &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt; on input &lt;span class=&quot;math-container&quot;&gt;$m$&lt;/span&gt;&quot;. This language can interpret all other languages, obviously since we required &lt;span class=&quot;math-container&quot;&gt;$ev$&lt;/span&gt; to be computable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Our definition of programming languages is very relaxed. For the following to go through, let us require three more conditions:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;span class=&quot;math-container&quot;&gt;$L$&lt;/span&gt; implements the successor function: there is &lt;span class=&quot;math-container&quot;&gt;$succ \in P$&lt;/span&gt; such that &lt;span class=&quot;math-container&quot;&gt;$ev(succ,m) = m+1$&lt;/span&gt; for all &lt;span class=&quot;math-container&quot;&gt;$m \in \mathbb{N}$&lt;/span&gt;,&lt;/li&gt;&#xA;&lt;li&gt;&lt;span class=&quot;math-container&quot;&gt;$L$&lt;/span&gt; implements the diagonal function: there is &lt;span class=&quot;math-container&quot;&gt;$diag \in P$&lt;/span&gt; such that &lt;span class=&quot;math-container&quot;&gt;$ev(diag,m) = \langle m, m \rangle$&lt;/span&gt; for all &lt;span class=&quot;math-container&quot;&gt;$m \in \mathbb{N}$&lt;/span&gt;,&lt;/li&gt;&#xA;&lt;li&gt;&lt;span class=&quot;math-container&quot;&gt;$L$&lt;/span&gt; is closed under composition of functions: if &lt;span class=&quot;math-container&quot;&gt;$L$&lt;/span&gt; implements &lt;span class=&quot;math-container&quot;&gt;$f$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$g$&lt;/span&gt; then it also implements &lt;span class=&quot;math-container&quot;&gt;$f \circ g$&lt;/span&gt;,&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;A classic result is this:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Theorem:&lt;/strong&gt; &lt;em&gt;If a language can interpret itself then it is not total.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Proof.&lt;/em&gt; Suppose &lt;span class=&quot;math-container&quot;&gt;$u$&lt;/span&gt; is the universal program for a total language &lt;span class=&quot;math-container&quot;&gt;$L$&lt;/span&gt; implemented in &lt;span class=&quot;math-container&quot;&gt;$L$&lt;/span&gt;, i.e., for all &lt;span class=&quot;math-container&quot;&gt;$m \in P$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$n \in \mathbb{N}$&lt;/span&gt;,&#xA;&lt;span class=&quot;math-container&quot;&gt;$$ev(u, \langle m, n \rangle) \simeq ev(m, n).$$&lt;/span&gt;&#xA;As successor, diagonal, and &lt;span class=&quot;math-container&quot;&gt;$ev(u, {-})$&lt;/span&gt; are implemented in &lt;span class=&quot;math-container&quot;&gt;$L$&lt;/span&gt;, so is their composition &lt;span class=&quot;math-container&quot;&gt;$k \mapsto ev(u, \langle k, k \rangle) + 1$&lt;/span&gt;. There exists &lt;span class=&quot;math-container&quot;&gt;$n_0 \in P$&lt;/span&gt; such that &lt;span class=&quot;math-container&quot;&gt;$ev(n_0, k) \simeq ev(u, \langle k, k \rangle) + 1$&lt;/span&gt;, but then&#xA;&lt;span class=&quot;math-container&quot;&gt;$$ev(u, \langle n_0, n_0\rangle) \simeq ev(n_0, n_0) \simeq ev(u, \langle n_0, n_0 \rangle) + 1$$&lt;/span&gt;&#xA;As there is no number equal its own successor, it follows that &lt;span class=&quot;math-container&quot;&gt;$L$&lt;/span&gt; is not total or that &lt;span class=&quot;math-container&quot;&gt;$L$&lt;/span&gt; does not interpret itself. QED.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Observe that we could replace the successor map with any other fixpoint-free map.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is a little theorem which I think will clean up a misunderstanding.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Theorem:&lt;/strong&gt; &lt;em&gt;Every total language can be interpreted by another total language.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Proof.&lt;/em&gt; Let &lt;span class=&quot;math-container&quot;&gt;$L$&lt;/span&gt; be a total language. We get a total &lt;span class=&quot;math-container&quot;&gt;$L'$&lt;/span&gt; which interprets &lt;span class=&quot;math-container&quot;&gt;$L$&lt;/span&gt; by adjoining to &lt;span class=&quot;math-container&quot;&gt;$L$&lt;/span&gt; its evaluator &lt;span class=&quot;math-container&quot;&gt;$ev$&lt;/span&gt;. More precisely, let &lt;span class=&quot;math-container&quot;&gt;$P' = \{\langle 0, n\rangle \mid n \in P\} \cup \{\langle 1, 0\rangle\}$&lt;/span&gt; and define &lt;span class=&quot;math-container&quot;&gt;$ev'$&lt;/span&gt; as&#xA;&lt;span class=&quot;math-container&quot;&gt;$$ev'(\langle b, n \rangle, m) =&#xA;\begin{cases}&#xA;ev(n,m) &amp;amp; \text{if $b = 0$},\\&#xA;ev(m_0, m_1) &amp;amp; \text{if $b = 1$ and $m = \langle m_0, m_1 \rangle$}&#xA;\end{cases}&#xA;$$&lt;/span&gt;&#xA;Obviously, &lt;span class=&quot;math-container&quot;&gt;$L'$&lt;/span&gt; is total because &lt;span class=&quot;math-container&quot;&gt;$L$&lt;/span&gt; is total. To see that &lt;span class=&quot;math-container&quot;&gt;$L'$&lt;/span&gt; can simulate &lt;span class=&quot;math-container&quot;&gt;$L$&lt;/span&gt; just take &lt;span class=&quot;math-container&quot;&gt;$u = \langle 1, 0\rangle$&lt;/span&gt;, since then&#xA;&lt;span class=&quot;math-container&quot;&gt;$ev'(u, \langle m, n\rangle) \simeq ev(m, n)$&lt;/span&gt;, as required. QED.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Exercise:&lt;/strong&gt; [added 2014-06-27] The language &lt;span class=&quot;math-container&quot;&gt;$L'$&lt;/span&gt; constructed above is not closed under composition. Fix the proof of the theorem so that &lt;span class=&quot;math-container&quot;&gt;$L'$&lt;/span&gt; satisfies the extra requirements if &lt;span class=&quot;math-container&quot;&gt;$L$&lt;/span&gt; does.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In other words, you &lt;em&gt;never&lt;/em&gt; need the full power of Turing machines to interpret a total language &lt;span class=&quot;math-container&quot;&gt;$L$&lt;/span&gt; – a slightly more powerful total language &lt;span class=&quot;math-container&quot;&gt;$L'$&lt;/span&gt; suffices. The language &lt;span class=&quot;math-container&quot;&gt;$L'$&lt;/span&gt; is strictly more powerful than &lt;span class=&quot;math-container&quot;&gt;$L$&lt;/span&gt; because it interprets &lt;span class=&quot;math-container&quot;&gt;$L$&lt;/span&gt;, but &lt;span class=&quot;math-container&quot;&gt;$L$&lt;/span&gt; does not interpret itself.&lt;/p&gt;&#xA;" OwnerUserId="705" LastEditorUserId="43489" LastEditDate="2020-05-18T07:09:33.403" LastActivityDate="2020-05-18T07:09:33.403" CommentCount="11" ContentLicense="CC BY-SA 4.0" />
  <row Id="24998" PostTypeId="2" ParentId="24876" CreationDate="2014-06-24T13:03:13.043" Score="1" Body="&lt;p&gt;MAX-CUT remains NP-complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Lemma 3.2&lt;/strong&gt; simple max-cut is NP-complete in the following two classes of graphs:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;graphs not containing cycles of length at most $k$, for every $k \ge 3$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;They are subdividing an edge twice.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;From &quot;MAX-CUT and containment relations in graphs, Marcin Kaminski&quot;&lt;/p&gt;&#xA;" OwnerUserId="22348" LastActivityDate="2014-06-24T13:03:13.043" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="24999" PostTypeId="2" ParentId="24971" CreationDate="2014-06-24T14:15:12.757" Score="1" Body="&lt;p&gt;This question can be reduced to that of an online auction of a digital good, the optimization of which is structured in a similar way.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, imagine there are $N$ bidders in an auction, and you -- the auctioneer -- would like to maximize your revenue. Each bidder has some valuation for the object that we can assume is drawn from a reasonable prior distribution. The auctioneer posts a price, and he has the option of taking it or leaving it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The auctioneer can post any price in the set $X = {x_1, ..., x_n}$ –- and without loss of generality we can assume $X \in [0, 1]$. There is some optimal, fixed price, that maximizes your revenue so your regret is $P_{fixed} - Empirical$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;And the question of the algorithm used to generate $Empirical$ is very well-studied in economics and auction theory. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;You're asking the same question, for 100 items and 2 bidders. A heads is analogous to a bidder accepting a posted price and the coins are like the prices themselves.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You could start with &lt;a href=&quot;http://www.cs.cmu.edu/~avrim/Papers/onlineauction.pdf&quot; rel=&quot;nofollow&quot;&gt;Online Learning in Online Auctions&lt;/a&gt; for a host of optimal strategies for your play. One option is a variant of the fairly well-known weighted majority voting algorithm, which guarantees a regret that grows as a square root of the number of bidders.&lt;/p&gt;&#xA;" OwnerUserId="25403" LastActivityDate="2014-06-24T14:15:12.757" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25000" PostTypeId="2" ParentId="24971" CreationDate="2014-06-24T16:18:56.480" Score="2" Body="&lt;p&gt;I agree with D.W. that this should just be a dynamic programming question.&#xA;Assume that $P_B$ is known and that we have a prior on $P_A$ and that $N$ is known. (Without a prior on $P_A$ or a known $N$, I do not see how your objective or &quot;optimal&quot; are well-defined.)&#xA;Let optimal mean &quot;maximizes expected number of heads&quot; with the expectation over both the coin flips and the draw of $P_A$ from the prior. (This seems to me the only natural definition of (edit: &lt;em&gt;achievable&lt;/em&gt;) &quot;optimal&quot; here.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $Val(t,prior)$ be the expected number of heads of the optimal strategy starting at time $t$ with prior $prior$ on $P_A$. Then immediately&#xA; $$ Val(N,prior) = \max\{ P_B, ~ \mathbb{E}P_A \} $$&#xA;since at the last step we should just choose the higher chance of flipping heads, and $\mathbb{E}P_A$ with respect to $prior$ is the probability of getting heads from flipping coin $A$. So we know how to choose the coin at the last step for any distribution on $P_A$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;At step $t &amp;lt; N$,&#xA;  $$ Val(t,prior) = \max\{ P_B + Val(t+1,prior), ~~ \text{val if flip $A$}\} $$&#xA;where&#xA;  $$ \text{val if flip $A$} ~~ = \mathbb{E}P_A ~~ + (\mathbb{E}P_A) Val(t+1,posterior(prior,heads)) ~~ + (1-\mathbb{E}P_A) Val(t+1,posterior(prior,tails)) . $$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Explanation: The value for flipping $B$ is $P_B$ for this coin flip, plus the value of the optimal strategy at time $t+1$ with the same prior on $P_A$ as we currently have. The value for flipping $A$ is the expected number of heads for this round, $\mathbb{E}P_A$, plus our expected value over the two possible cases. First, if the coin comes up heads (which happens with probability $\mathbb{E}P_A$), then we will update our prior to a posterior on $P_A$ conditioned on that event, and we will play the optimal strategy at time $t+1$ with that new distribution. Similarly if it comes up tails.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are at the very most $O(n^3)$ cases to calculate because there are $N$ time steps, and at each time step $t$, we have a distribution on $P_A$ that consists of the original prior updated after observing $j=0,\dots,t$ heads and $k=0,\dots,t-j$ tails. But this should be reduced with your observation that we need only consider strategies that try $A$ for some amount of time, then (optionally) flip $B$ for the rest of the time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Why this is optimal: Assume that the strategy is optimal at time $t+1$ for the specified prior distribution. But the &quot;correct&quot; prior distribution is always exactly the one we plug in to the formula: After observing a heads, the correct distribution over $P_A$ is precisely $posterior(prior,heads)$, and so on. When I say correct, what I mean is that the posterior gives the exact distribution over $P_A$ given that $P_A$ is drawn from the prior and these outcomes are observed. So we really are maximizing over the &quot;average case&quot; in each given scenario.&lt;/p&gt;&#xA;" OwnerUserId="8243" LastEditorUserId="8243" LastEditDate="2014-06-25T15:50:24.503" LastActivityDate="2014-06-25T15:50:24.503" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="25002" PostTypeId="2" ParentId="24986" CreationDate="2014-06-24T18:04:40.857" Score="21" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;Any language which is not Turing complete can not write an interpreter for it self.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;This statement is incorrect. Consider the programming language in which the semantics of every string is &quot;Ignore your input and halt immediately&quot;.  This programming language is not Turing complete but every program is an interpreter for the language.&lt;/p&gt;&#xA;" OwnerUserId="17082" LastActivityDate="2014-06-24T18:04:40.857" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="25004" PostTypeId="1" CreationDate="2014-06-24T18:50:42.627" Score="10" ViewCount="151" Body="&lt;p&gt;It seems that many results in complexity hold assuming PH doesn't collapse to the second or third levels.  At these low levels, I have some intuition about the collapse not occurring since additional quantifiers seem to add power not already inherent in the lower levels, but higher levels escape my understanding.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Basically, are there any known results that separate levels of PH assuming other complexity theoretic separations?  Is there any intuition that PH doesn't collapse to some finite level other than its generalization from P vs. NP and logical hierarchies?  &lt;/p&gt;&#xA;" OwnerUserId="8238" LastActivityDate="2014-06-24T18:50:42.627" Title="Collapsing PH Implications" Tags="&lt;cc.complexity-theory&gt;" AnswerCount="0" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="25007" PostTypeId="2" ParentId="24982" CreationDate="2014-06-24T20:43:20.233" Score="7" Body="&lt;p&gt;There has been various brand of work for formalizing such tricky code. The one I know about are (but I'm no expert on the topic):&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;using &quot;temporal logic&quot; to study distributed systems; one important tool beeing the &lt;a href=&quot;http://research.microsoft.com/en-us/um/people/lamport/tla/tools.html&quot;&gt;TLA+&lt;/a&gt; tool is a program that verifies properties of specifications expressed in temporal logic; googling for &quot;TLA+ dining philosopher&quot; links to &lt;a href=&quot;http://www.cs.utah.edu/formal_verification/pdf/rpalmer_dissertation.pdf&quot;&gt;this 2007 PhD thesis (PDF)&lt;/a&gt; that has a TLA specification of the dining philosophers on page 24&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;using &quot;concurrent separation logic&quot; to verify &lt;em&gt;implementation&lt;/em&gt; of concurrent programs, including rather low-level primitives. See for example the 2014 paper &lt;a href=&quot;http://www.mpi-sws.org/~dreyer/papers/gps/paper.pdf&quot;&gt;GPS: Navigating Weak Memory with Ghosts, Protocols, and Separation&lt;/a&gt; by  Aaron Turon, Viktor Vafeiadis and Derek Dreyer has correctness proofs for lock-free queues, circular buffers and &quot;ticket locks&quot;, implemented in C using the C11 atomic concurrency pri&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="4984" LastActivityDate="2014-06-24T20:43:20.233" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25008" PostTypeId="2" ParentId="24943" CreationDate="2014-06-24T20:57:44.030" Score="-4" Body="&lt;p&gt;this is nearly the same core question that is driving something like hundreds of millions, or possibly billions of dollars of QM computing research initiatives both public and private worldwide. the question is being attacked at the same time both experimentally and theoretically and advances on each side carry over to the other side.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;the question does attempt to neatly separate the theoretical and pragmatic/ experimental aspects of this question, but an experimentalist or engineer would argue they are tightly coupled, inseparable, and that historical progress so far on the challenge is evidence/ proof of that.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;the following point is certainly not going to win any popularity contests (possibly due somewhat to the well-known/ observed bias that negative results are rarely reported scientifically), but it is worth noting that there is a minority/contrarian opinion promoted by various credible, even elite researchers that QM computing may or will never materialize physically due to insurmountable implementation challenges, and there is even some theoretical justification/analysis for this (but maybe more from theoretical physics than TCS). (and note that some may have doubts but are not willing to go on record questioning the &quot;dominant paradigm&quot;.) the main arguments are based on inherent QM noisiness, the Heisenberg uncertainty principle, and the fundamental experimental messiness of QM setups, etc.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;there are now a fairly solid 2 decades of both theoretical and experimental research and the minority faction would argue that the results so far are not encouraging, lackluster, or are even now verging on a definitive negative answer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;one of the most outspoken proponents of the negative view (bordering on extreme/ scathing!) is Dyakonov but who nevertheless argues the case passionately based on all the angles:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://arxiv.org/ftp/arxiv/papers/1212/1212.3562.pdf&quot; rel=&quot;nofollow&quot;&gt;State of the Art and Prospects for Quantum Computing&lt;/a&gt; / Dyakonov&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://arxiv.org/abs/1401.3629&quot; rel=&quot;nofollow&quot;&gt;Prospects for quantum computing: extremely doubtful&lt;/a&gt; / Dyakonov&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;one may accuse Dyakonov of near polemicism but it serves as a nearly symmetric counterpoint to some QM computing proponents who have a fervent belief in the opposing position (that there is nearly absolutely no question of its future/eventual/inevitable viability). another major theoretician arguing for inherent limitations in QM computing (based on noise) is Kalai. here is an extended debate between him and Harrow on the subject.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://rjlipton.wordpress.com/2012/01/30/perpetual-motion-of-the-21st-century/&quot; rel=&quot;nofollow&quot;&gt;Perpetual Motion of The 21st Century?&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;it is also natural to draw some at least loose analogy to another massive/complex physics project that so far has not achieved its ultimate goal after decades of attempts and optimistic early predictions, that of &lt;a href=&quot;http://en.wikipedia.org/wiki/List_of_fusion_experiments&quot; rel=&quot;nofollow&quot;&gt;energy-generating fusion experiments&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2014-06-24T20:57:44.030" CommentCount="12" ContentLicense="CC BY-SA 3.0" />
  <row Id="25009" PostTypeId="2" ParentId="14103" CreationDate="2014-06-25T02:40:31.447" Score="2" Body="&lt;p&gt;heres a new notable paper linking evolution/genetics to the Multiplicative Weight Update algorithm, also just profiled by the &lt;a href=&quot;http://www.simonsfoundation.org/quanta/20140618-the-game-theory-of-life/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Simons foundation&lt;/a&gt; &amp;amp; includes a coauthor cited in the question (Papadimitriou):&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://www.pnas.org/content/early/2014/06/11/1406556111.abstract&quot; rel=&quot;nofollow noreferrer&quot;&gt;Algorithms, games, and evolution&lt;/a&gt; Erick Chastain,  Adi Livnat, Christos Papadimitriou, and Umesh Vazirani&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Even the most seasoned students of evolution, starting with Darwin himself, have occasionally expressed amazement that the mechanism of natural selection has produced the whole of Life as we see it around us. There is a computational way to articulate the same amazement: “What algorithm could possibly achieve all this in a mere three and a half billion years?” In this paper we propose an answer: We demonstrate that in the regime of weak selection, the standard equations of population genetics describing natural selection in the presence of sex become identical to those of a repeated game between genes played according to multiplicative weight updates (MWUA), an algorithm known in computer science to be surprisingly powerful and versatile. MWUA maximizes a tradeoff between cumulative performance and entropy, which suggests a new view on the maintenance of diversity in evolution.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2014-06-25T02:40:31.447" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25011" PostTypeId="2" ParentId="23767" CreationDate="2014-06-25T11:17:43.503" Score="3" Body="&lt;p&gt;I have emailed the authors and they kindly supplied me with the following example:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/dwGnz.png&quot; alt=&quot;example graph&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let the nodes be contracted in alphabetical order then the red edge will be added during contraction.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now look at the upward search from A (i.e. we can only visit nodes that have been contracted later). A will settle B with distance 1 and D with distance 2. Since we are not allowed to visit C via D (as this is not upward) we must settle C via B with distance 6. However, as can clearly be seen from the non-contracted graph, the A-C distance is 5 (via D).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This means that we now have an incorrect distance label for C at A.&lt;/p&gt;&#xA;" OwnerUserId="24173" LastActivityDate="2014-06-25T11:17:43.503" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25012" PostTypeId="2" ParentId="24991" CreationDate="2014-06-25T13:25:35.420" Score="18" Body="&lt;p&gt;First, your friend is wrong about the history of the $\lambda$-calculus. Church created the untyped calculus first, which he intended as a foundation for mathematics. Fairly quickly, it was discovered that the logic derived from this calculus was inconsistent (because non-terminating programs existed).  Eventually Church developed the simple theory of types as well, and many other things besides, but that wasn't the original point of the system.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An excellent overview of the history is found &lt;a href=&quot;http://hope.simons-rock.edu/~pshields/cs/cmpt312/cardone-hindley.pdf&quot;&gt;in this paper&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Second, the simply-typed lambda calculus is a quite restrictive language. You need some form of recursive type to write any interesting kind of program in it. Certainly, it would be impossible to write the kinds of programs in McCarthy's original paper with the $\lambda$-calculi based type systems understood in 1958. Cutting-edge programming type systems at that point were the ones found in Fortran and COBOL.&lt;/p&gt;&#xA;" OwnerUserId="2185" LastEditorUserId="2185" LastEditDate="2016-07-04T15:46:39.150" LastActivityDate="2016-07-04T15:46:39.150" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="25013" PostTypeId="2" ParentId="24968" CreationDate="2014-06-25T13:30:38.513" Score="6" Body="&lt;p&gt;The POPL-colocated PLMW, which you mentioned, certainly provides travel support for undergraduate as well as graduate students.  I personally know undergrads who've been supported. If you're interested in PL research (of any kind, not just POPL-like research) I encourage you to apply.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The ACM student research contest (of which the ICFP SRC is a part) includes categories for both undergraduates and graduates. For SRC at SIGPLAN affiliated conferences like ICFP or PLDI, you can apply to the &lt;a href=&quot;http://www.sigplan.org/PAC/Main&quot;&gt;SIGPLAN PAC program&lt;/a&gt; for travel support.&lt;/p&gt;&#xA;" OwnerUserId="2185" LastActivityDate="2014-06-25T13:30:38.513" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="25014" PostTypeId="2" ParentId="24943" CreationDate="2014-06-25T15:49:13.977" Score="7" Body="&lt;p&gt;For computational complexity, there is no proof that quantum computers are better than classical computers because of how hard it is to obtain lower-bounds on the hardness of problems. However, there are settings in which a quantum computer provably does better than a classical one. The most famous of these examples is in the blackbox model in which you have access via blackbox to a function $f:\{0,1\}^n\mapsto \{0,1\}$ and you want to find the unique $x$ for which $f$ evaluates to 1. The complexity measure in this case is the number of calls to $f$. Classicaly, you cannot do better than guessing $x$ at random which takes on average $\Omega(2^n)$ queries to $f$. However, using &lt;a href=&quot;http://en.wikipedia.org/wiki/Grover%27s_algorithm&quot;&gt;Grover's algorithm&lt;/a&gt; you can achieve the same task in $O(\sqrt{2^n})$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For further provable separations, you can look into communication complexity where we know how to prove lower bounds. There are tasks that two quantum computers communicating through a quantum channel can accomplish with less communication than two classical computers. For example &lt;a href=&quot;http://arxiv.org/pdf/quant-ph/9708019v3.pdf&quot;&gt;computing the inner product&lt;/a&gt; of two strings, one of the hardest problems in communication complexity, has a speedup when using quantum computers.&lt;/p&gt;&#xA;" OwnerUserId="507" LastActivityDate="2014-06-25T15:49:13.977" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25015" PostTypeId="1" CreationDate="2014-06-25T16:05:39.713" Score="8" ViewCount="131" Body="&lt;p&gt;Inspired by &lt;a href=&quot;https://cstheory.stackexchange.com/a/24994/129&quot;&gt;this answer&lt;/a&gt;, let's say that a &lt;em&gt;programming language&lt;/em&gt; is given by the data $L=(P,ev)$ where $P$ (the set of &quot;valid programs&quot;) is a computable subset of $\Sigma^*$ and $ev$ (the &quot;evaluator&quot;) is a partial computable function $ev:P \times \Sigma^* \to \Sigma^*$, where $\Sigma$ is a finite alphabet. Let's also require that a programming language contains the successor functions $x \mapsto xa$ for each $a \in \Sigma$, the diagonal function $x \mapsto \langle x, x \rangle$, and is closed under composition. (As usual, $\langle a, b \rangle$ is a computable and computably-invertible-in-both-arguments pairing function $\Sigma^* \times \Sigma^* \to \Sigma^*$). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you want to add some other natural/obvious ones (e.g. the projections $\pi_i(\langle x_1, x_2 \rangle) = x_i$) that should be okay, but nothing too powerful (e.g. don't require that every programming language has a universal interpreter).&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;em&gt;Definition:&lt;/em&gt;  $L_1=(P_1, ev_1)$ &lt;em&gt;interprets&lt;/em&gt; $L_2=(P_2, ev_2)$ if there is a program $p_{12} \in P_1$ that is universal for $L_2$, i.e. $ev_1(p_{12}, \langle p, x \rangle) \simeq ev_2(p, x)$ for all $p,x$. &lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;&lt;em&gt;Definition&lt;/em&gt;: $L_1$ and $L_2$ have the same &quot;interpretability degree&quot; if each interprets the other. &lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;&lt;em&gt;Definition:&lt;/em&gt; $(P,ev)$ is &lt;em&gt;total&lt;/em&gt; if for all $p \in P$, the function $x \mapsto ev(p,x)$ is total.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;My question is:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Question:&lt;/strong&gt; What is known about the poset of interpretability degrees? &lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;For example, is it a lattice (probably not)? Are there minimal degrees strictly above the bottom? Are there maximal degrees strictly below Turing-universal? Is every finite/countable/blah poset a sub-poset of this one? Is there a non-Turing-universal (and, necessarily, non-total) least upper bound on the total languages? etc.&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;I'd also be interested in the same questions but where we now require the interpreters to be &lt;em&gt;efficient&lt;/em&gt; - that is, to preserve the Turing-machine time and space complexity up to polynomial factors.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Results, references, and keywords are all appreciated. (If there end up being lots of answer this may become a community wiki, but I don't anticipate that.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Answers I already know:&lt;/strong&gt; Turing-universal is the unique top element of this poset. The smallest set of functions containing successor, diagonal, and closed under composition is the unique bottom element (one can easily cook up a programming language according to the above definition which only computes such functions). &lt;a href=&quot;https://cstheory.stackexchange.com/a/24994/129&quot;&gt;Andrej Bauer's answer&lt;/a&gt; to another question shows that no total language interprets all total languages, and further that there are strictly increasing infinite chains, even amongst the total languages.&lt;/p&gt;&#xA;" OwnerUserId="129" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2014-06-25T16:05:39.713" Title="What is known about reduction by &quot;$P_1$ interprets $P_2$&quot; for generalized programming languages?" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;pl.programming-languages&gt;&lt;computability&gt;&lt;reductions&gt;" AnswerCount="0" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="25016" PostTypeId="1" CreationDate="2014-06-25T17:08:04.267" Score="2" ViewCount="194" Body="&lt;p&gt;This is a modeling / taxonomy question. Is there a name for this type of problem?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I came up with the following graph problem for a pizza delivery truck, which starts with zero dollars and enough fuel to drive N miles. They want to deliver pizza to C customers. Each customer will immediately pay them some number of dollars.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edge weights in this graph are the number of miles between destinations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Vertices in the graph aren't just customers. They also include &quot;gas station&quot; nodes -- places at which the delivery truck can refuel, converting money on hand to &quot;miles able to drive&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem is, given a starting location, how much money on hand and/or gas in the tank does the truck need to delivery pizza to every customer, and still return home?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This isn't the classic Travelling Salesman problem because there are two types of resources in play here, $ and fuel. And there's a resource constraint -- the problem isn't just about finding the minimum cost. It's about finding the minimum starting resources necessary to be able to complete a circuit.&lt;/p&gt;&#xA;" OwnerUserId="25415" LastActivityDate="2014-06-25T17:08:04.267" Title="What is the name for this special case of the Travelling Salesman involving dynamic edge costs?" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;" AnswerCount="0" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="25019" PostTypeId="2" ParentId="24982" CreationDate="2014-06-25T21:33:28.750" Score="2" Body="&lt;p&gt;there is a classic reference/framework increasingly standardized: &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;C.A.R Hoare, &lt;a href=&quot;http://www.usingcsp.com/&quot; rel=&quot;nofollow&quot;&gt;Communicating Sequential Processes&lt;/a&gt; &lt;/li&gt;&#xA;&lt;li&gt;a &lt;a href=&quot;http://www.usingcsp.com/cspbook.pdf&quot; rel=&quot;nofollow&quot;&gt;1985 book&lt;/a&gt; of same title is now available as ebook with open copyright. &lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Communicating_sequential_processes&quot; rel=&quot;nofollow&quot;&gt;wikipedia&lt;/a&gt; also has a decent overview&lt;/li&gt;&#xA;&lt;li&gt;note it has some similarity/resemblance to unix &lt;a href=&quot;http://en.wikipedia.org/wiki/Unix_Pipes&quot; rel=&quot;nofollow&quot;&gt;pipes/filters&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;there is an implementation in Java, &lt;a href=&quot;http://en.wikipedia.org/wiki/JCSP&quot; rel=&quot;nofollow&quot;&gt;JCSP&lt;/a&gt; by &lt;a href=&quot;http://www.cs.kent.ac.uk/projects/ofa/jcsp/&quot; rel=&quot;nofollow&quot;&gt;Welch/Brown&lt;/a&gt; &amp;amp; other languages also.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2014-06-25T21:33:28.750" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="25020" PostTypeId="2" ParentId="22660" CreationDate="2014-06-25T23:14:58.277" Score="3" Body="&lt;p&gt;It is not always lower than the number of acyclic orientations by any factor, let alone an exponential one. In particular, in a complete graph, there are $n!$ acyclic orientations, all of which are bipolar.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2014-06-25T23:14:58.277" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="25021" PostTypeId="1" AcceptedAnswerId="25023" CreationDate="2014-06-26T02:00:16.683" Score="2" ViewCount="95" Body="&lt;p&gt;A subspace evasive set is defined as a large subset of a vector space which has small intersection with any $k$ dimensional affine space. That is, it &quot;evades&quot; all affine subspaces of small enough dimension.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Formally, for parameters $k$ and $\epsilon &amp;gt; 0$, a $(k,c)$-subspace evasive set $S \in \mathbb{F}_q^n$ is such that $|S| &amp;gt; |\mathbb{F}_q^{n}|^{1-\epsilon}$ and $|S \cap H| &amp;lt; c$ for all $k$-dimensional affine subspaces $H \in \mathbb{F}_q^n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The goal is to make the intersection $c$ as small as possible.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is claimed (as trivial in most references) that a random set $S \in \mathbb{F}_q^n$ of size $|\mathbb{F}_q^{n}|^{1-\epsilon}$ has (whp) intersection $c = O(k/\epsilon)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a way of showing this? It is supposed to be a simple application of a probabilistic method, but I am stuck and clueless.&lt;/p&gt;&#xA;" OwnerUserId="18154" LastEditorUserId="4896" LastEditDate="2014-06-26T06:11:53.447" LastActivityDate="2016-06-09T05:23:53.340" Title="Subspace-evasive set performance in the random case" Tags="&lt;pr.probability&gt;&lt;linear-algebra&gt;&lt;coding-theory&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25022" PostTypeId="1" CreationDate="2014-06-26T05:09:56.143" Score="4" ViewCount="394" Body="&lt;p&gt;I just read &lt;a href=&quot;http://gbracha.blogspot.com/2011/01/maybe-monads-might-not-matter.html&quot; rel=&quot;nofollow&quot;&gt;this blog post&lt;/a&gt; which argues that monads might be too obscure or difficult to understand as the default &quot;interface to the impure world&quot; in purely functional programming languages; instead, it suggests that the actor model would be more comprehensible when it comes to pedagogy.  That may be true -- I do think that actors are easier to understand than monads -- but the post leaves a lot to be desired.  In particular, the author offers no &lt;em&gt;examples&lt;/em&gt; of what this sort of actor-based purely-functional language would look like, and he doesn't seem to have followed up on the blog post since it was written a few years ago.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;So my question is:  in what way can actors be leveraged to capture side-effects in a purely functional way?  How would source code in that hypothetical language look?  What advantages/disadvantages would that approach offer in comparison to monads (outside of the cosmetic differences)?  &lt;/p&gt;&#xA;" OwnerUserId="25419" LastActivityDate="2015-01-12T21:46:56.533" Title="How can the actor model be applied to allow pure functional languages to have side-effects?" Tags="&lt;functional-programming&gt;&lt;concurrency&gt;&lt;monad&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="25023" PostTypeId="2" ParentId="25021" CreationDate="2014-06-26T06:22:44.187" Score="3" Body="&lt;p&gt;Here's a quick calculation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For a fixed affine subspace $H$ of dimension $k$, the probability that a random point falls in  $H$ is $1/q^{n-k}$. The probability that at least $c$ points in $S$ fall in $H$ is at most:&#xA;$${q^{(1-\epsilon)n} \choose c} \cdot \frac{1}{q^{(n-k)c}}\leq&#xA; \frac{q^{(n-\epsilon n) c}}{q^{(n-k)c}} = \frac{1}{q^{(\epsilon n -k)c}}$$&#xA;A trivial bound on the number of subspaces of dimension $k$ is $q^{n(k+1)} &amp;lt; q^{2kn}$. So, by the union bound, the probability that there exists a subspace $H$ containing at least $c$ points of $S$ is at most:&#xA;$$q^{2nk} \cdot \frac{1}{q^{(\epsilon n -k)c}} &amp;lt; 1$$&#xA;if $c = 4k/\epsilon$ and $k&amp;lt;\epsilon n/3$.&lt;/p&gt;&#xA;" OwnerUserId="15" LastEditorUserId="18157" LastEditDate="2016-06-09T05:23:53.340" LastActivityDate="2016-06-09T05:23:53.340" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25025" PostTypeId="5" CreationDate="2014-06-26T09:33:20.327" Score="0" Body="" OwnerUserId="-1" LastEditorUserId="-1" LastEditDate="2014-06-26T09:33:20.327" LastActivityDate="2014-06-26T09:33:20.327" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25026" PostTypeId="4" CreationDate="2014-06-26T09:33:20.327" Score="0" Body="The mathematical theory of codes, as used in communication, data compression, and cryptography." OwnerUserId="109" LastEditorUserId="109" LastEditDate="2014-06-26T20:26:53.507" LastActivityDate="2014-06-26T20:26:53.507" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25028" PostTypeId="1" AcceptedAnswerId="25029" CreationDate="2014-06-26T16:40:03.117" Score="6" ViewCount="383" Body="&lt;p&gt;Intuitively it seems like an optimal (either minimum depth or minimum gates) sorting network should never have to compare-swap two numbers the &quot;wrong&quot; way (such that the larger one goes into the smaller-indexed position and vice versa).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is this true?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If so, how do you prove it?&lt;/p&gt;&#xA;" OwnerUserId="13643" LastActivityDate="2014-06-26T18:00:15.953" Title="Would an optimal sorting network ever have to swap two numbers the &quot;wrong&quot; way" Tags="&lt;sorting&gt;&lt;proofs&gt;&lt;intuition&gt;&lt;sorting-network&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="25029" PostTypeId="2" ParentId="25028" CreationDate="2014-06-26T17:44:24.407" Score="16" Body="&lt;p&gt;How do you decide what the &quot;wrong way&quot; is?  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Take the first wrong-way swap gate, and interchange the two wires going out of it (including all their associated gates) so that it's correct. This doesn't change the fundamental circuit. It may introduce more wrong-way swap gates, but they're all later in the circuit.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, you can keep doing this until you've gotten rid of all the wrong-way swap gates. At this point, you may have permuted the order of the output wires, but you will have a circuit which always outputs a fixed permutation of the sorted order. But since if you input the numbers in sorted order, the right-way swap gates never change the order, this fixed permutation must be sorted order. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;So for any sorting network, there's an equivalent one with the same number of gates and the same depth which has no wrong-way gates.&lt;/p&gt;&#xA;" OwnerUserId="1677" LastEditorUserId="1677" LastEditDate="2014-06-26T18:00:15.953" LastActivityDate="2014-06-26T18:00:15.953" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25030" PostTypeId="1" CreationDate="2014-06-26T18:04:16.330" Score="1" ViewCount="173" Body="&lt;p&gt;Suppose we have a pseudorandom number generator PRNG with number of possible seed states K. Let us denote PRNG(k) the number yielded by the generator when the seed state is k. Here k is an integer between 1 and K.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Question A: Is it possible to adapt PRNG to yield pseudorandom integer numbers uniformly distributed between 1 and K?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assuming that the answer to this question is yes, let's denote by PRNG(k; 1, K) the number between 1 and K yielded by the adapted PRNG when the seed state is k.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We can then build a new pseudorandom number generator by nesting PRNG, i.e.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;newPRNG(k) = PRNG(PRNG(k; 1, K))&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Question B: From a theoretical point of view, can we say something about the properties of the new PRNG? In particular, does this nesting trick increase or decrease the randomness of the generator, in some sense? &#xA;I think this question is a natural one but I didn't find any answer on the web.&lt;/p&gt;&#xA;" OwnerUserId="25429" LastActivityDate="2014-06-26T21:54:16.750" Title="nested pseudorandom generator" Tags="&lt;randomness&gt;&lt;pseudorandom-generators&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="25033" PostTypeId="1" AcceptedAnswerId="25055" CreationDate="2014-06-26T19:53:24.770" Score="2" ViewCount="431" Body="&lt;p&gt;What could be the complexity class of the following problem: &lt;br&gt; &#xA;Given a positive integer $K$, a positive integer $d$ (say $2$) and a set $S$ of all non-negative integers less than $K$ find a $S' \subset S : \sum{S'} = K$ such that the elements of $S'$ form an arithmetic series with difference $d$ and $a = x_1$. So $S' = \{x_1, x_2 ..., x_n\}$ $: x_{i+1} = x_i + d$ for $2 \le x_i \le n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem is in NP, since given a solution set $A$ it is possible to check in polynomial time if $\sum{A} = K$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The regular [0,1] Knapsack Problem and Subset Sum problem are NP complete and initially I figured this being similar would also be NP complete. However it differs since there is no relationship between the elements of a solution set of a Subset Sum problem. I was also unable to work out a reduction of any known NP-Complete problem to this problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The constraint on the solution set in the problem does not make it solvable in polynomial time. At best I can work out pseudo-polynomial time algorithms to solve this and the time blows up as K increases. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Am I right in suspecting this might be an NP-indeterminate problem or am I missing something?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;i&gt;PS: This is not homework. I am new at this and if this is not the right place for this question please advise and I shall move it. Thanks.&lt;/i&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT: After the discussions in the comments below I am providing a few examples towards what I am working on.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The above problem is trivial for the case where $d = 1$ and $n = 2$ for all $K$. It is easy when $K$ is even and for $d = 2$ and $n = 2$. I have been working on cases where $d = 2$ and $d = 4$ for $n \ge 3$ and didn't realise this.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the case $K$ odd and $d = 2$, say $K = 65$ and I have $S = \{1,2,...,64\}$ and $S'= \{9,11,13,15,17\}$. The best algorithm I have for this takes time proportional to $\sqrt{K}$ and is thus exponential as $K$ grows.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For $K$ even, $d = 2$ and $n \ge 3$, say $K = 24$ I have $S'= \{3,5,7,9\}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have found that when $K$ is odd or even then $|S|$ is odd or even respectively. I am trying to see if I can get a better algorithm to determine $S'$ or if I should concentrate elsewhere.&lt;/p&gt;&#xA;" OwnerUserId="23095" LastEditorUserId="23095" LastEditDate="2014-06-27T19:05:52.767" LastActivityDate="2014-06-27T19:26:26.890" Title="Complexity class of a subset problem similar to subset sum" Tags="&lt;np-hardness&gt;&lt;complexity-classes&gt;&lt;subset-sum&gt;" AnswerCount="1" CommentCount="11" ContentLicense="CC BY-SA 3.0" />
  <row Id="25034" PostTypeId="2" ParentId="25030" CreationDate="2014-06-26T21:54:16.750" Score="1" Body="&lt;p&gt;Regarding question A, it is possible to adapt the PRNG to yield uniformly distributed numbers using &lt;a href=&quot;http://en.wikipedia.org/wiki/Leftover_hash_lemma&quot; rel=&quot;nofollow&quot;&gt;this&lt;/a&gt;. However, the range of this new uniform generator has size smaller than $K$, unless the PRNG is itself uniform. The number of possible outcomes of this new generator will depend on the min-entropy of the original generator. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;To get some intuition on why this is so, try to view the problem from an adversarial point of view where the goal is to guess the outcome of the PRNG. If $P_{guess}&amp;gt;1/K$ is the probability of the most probable outcome of the PRNG, then there is no deterministic way to lower the adversary's guessing probability without adding randomness. Therefore if you are to transform the outcome to a uniform distribution then all the equaly likely outcomes must happen with probability at least $P_{guess}$, so there can be at most $1/P_{guess}$ outcomes. Of couse, I'm assuming that the adversary knows the deterministic procedure that is applied, as is usually the case in cryptography.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So the answer to question B is that this nesting trick does not increase randomness, it can only decrease it. There is no deterministic procedure that can increase randomness.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hope this helps&lt;/p&gt;&#xA;" OwnerUserId="507" LastActivityDate="2014-06-26T21:54:16.750" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="25035" PostTypeId="2" ParentId="24975" CreationDate="2014-06-27T00:14:47.060" Score="4" Body="&lt;p&gt;This is a very popular heuristic method in machine learning, known as &lt;em&gt;alternating minimization&lt;/em&gt;. You can easily find &lt;a href=&quot;http://scholar.google.com/scholar?hl=en&amp;amp;q=alternating%20minimization&amp;amp;&quot; rel=&quot;nofollow&quot;&gt;tons of papers&lt;/a&gt; using it. Often the setting in which it is used is when $f(x,y)$ is convex in $x$ and $y$ separately (so each minimization step can be done via some variant of gradient descent), but not jointly convex. In this case, as RB notes, it is not apriori clear that this method converges to an optimal solution at all. A classical paper by &lt;a href=&quot;http://www.ece.tamu.edu/~tieliu/WWW/ECEN647-SP14_files/CT-SD84.pdf&quot; rel=&quot;nofollow&quot;&gt;Csiszar and Tusnady&lt;/a&gt; gives a general &quot;five point criterion&quot; for convergance to the global optimum, and proves that it holds for $f$ equal to the KL-divergence. More recently, &lt;a href=&quot;http://arxiv.org/pdf/1212.0467v1.pdf&quot; rel=&quot;nofollow&quot;&gt;Jain, Nethrapalli and Singhavi&lt;/a&gt;, and &lt;a href=&quot;http://arxiv.org/pdf/1312.0925v3.pdf&quot; rel=&quot;nofollow&quot;&gt;Hardt&lt;/a&gt; have analyzed variants of this approach for the matrix completion problem.&lt;/p&gt;&#xA;" OwnerUserId="4896" LastEditorUserId="4896" LastEditDate="2014-07-04T07:05:14.407" LastActivityDate="2014-07-04T07:05:14.407" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25037" PostTypeId="1" CreationDate="2014-06-27T06:00:41.590" Score="0" ViewCount="241" Body="&lt;p&gt;I am asking the question on a slightly abstract level and it may depend on the specifics but it would be great to have related references or ideas.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider the random graph model $G_{n,p}$ where its a random graph on n vertices and each edge is selected with probability $p$. I want to prove that a certain property $P$ is satisfied by graphs in this model with high probability ($\rightarrow 1$ as $n \rightarrow \infty$). I know/can prove the following two facts&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Conditioned on the event that the graph obtained from the sample is regular, the probability of the property being satisfied is very high (something like $1 - 1/n^c$)&lt;/li&gt;&#xA;&lt;li&gt;Given any graph G and any other graph G' that can be obtained by removing edges from G. If G satisfies the property then so does G'. &lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Can the above two statements be enough to make a general statement about the probability of the satisfaction of the property in $G_{n,p}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any references would be very helpful? &lt;/p&gt;&#xA;" OwnerUserId="12212" LastActivityDate="2014-07-15T14:41:20.043" Title="Proving properties of Random Graphs" Tags="&lt;graph-theory&gt;&lt;pr.probability&gt;&lt;randomness&gt;&lt;randomized-algorithms&gt;" AnswerCount="1" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="25039" PostTypeId="2" ParentId="24962" CreationDate="2014-06-27T09:05:23.853" Score="7" Body="&lt;p&gt;I am going to describe an algorithm. I am not sure it qualifies as &quot;easy&quot; and some of the proofs are not so easy. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;First we break the graph into 3-connected components, as mentioned by Chandra Chekuri.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Break the graph into connected components.&lt;/li&gt;&#xA;&lt;li&gt;Break each connected component into 2-connected components. This can be done in polynomial time checking for each vertex $v$ of each 2-connected component $G_i$ whether $G_i-v$ is connected. &lt;/li&gt;&#xA;&lt;li&gt;Break each 2-connected component into 3-connected components. This can be done in polynomial time checking for two distinct vertices $v,u$ of each 2-connected component $G_i$ whether $G_i-\{ v,u \}$ is connected. &lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;We have reduced the problem to checking whether a 3-connected component of the graph is planar. Let $G$ denote a 3-connected component.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Take any cycle $C$ of $G$. &lt;/li&gt;&#xA;&lt;li&gt;Pin the vertices of $C$ as vertices of a convex polygon. Put each of the other vertices in the barycenter of its neighbors. This leads to a system of linear equations telling the coordinates of each vertex. Let $D$ be the resulting drawing; it may have crossings. &lt;/li&gt;&#xA;&lt;li&gt;If $D$ has no crossings, we are finished.&lt;/li&gt;&#xA;&lt;li&gt;Take the vertices $U$ in any connected component of $G-V(C)$. The restriction of $D$ to the induced subgraph $G[U\cup V(C)]$ should be planar. Otherwise, $G$ is not planar. Take any face $F$ in the drawing $D$ restricted to the induced subgraph $G[U\cup V(C)]$, and let $C'$ be the cycle defining $F$. If $G$ is to be planar, then $C'$ must be a facial cycle. (When $C$ is a Hamiltonian cycle, then $C'$ should be constructed using an edge.)&lt;/li&gt;&#xA;&lt;li&gt;Repeat step 2 with C' instead of C. If the resulting drawing is planar, then $G$ is planar. Else $G$ is not planar.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Remarks: &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Arguing that Tutte's spring embedding gives a planar embedding is not straightforward. I liked the presentation in the book of Edelsbrunner and Harer, Computational Topology, but it is only for triangulations. Colin de Verdiere discusses the spring embedding in &lt;a href=&quot;http://www.di.ens.fr/~colin/cours/algo-graphs-surfaces.pdf&quot; rel=&quot;nofollow&quot;&gt;http://www.di.ens.fr/~colin/cours/algo-graphs-surfaces.pdf&lt;/a&gt; , section 1.4. A general reference is Linial, Lovász, Wigderson: Rubber bands, convex embeddings and graph connectivity. Combinatorica 8(1): 91-102 (1988).&lt;/li&gt;&#xA;&lt;li&gt;Solving a linear system of equations in a polyomial number of arithmetic operations is easy via Gaussian elimination. Solving it using a polyonomial number of bits is not that easy.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="1839" LastEditorUserId="1839" LastEditDate="2014-06-28T06:18:15.923" LastActivityDate="2014-06-28T06:18:15.923" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="25040" PostTypeId="1" CreationDate="2014-06-27T13:01:02.720" Score="4" ViewCount="541" Body="&lt;p&gt;A &lt;a href=&quot;http://research.microsoft.com/pubs/209622/patsort-sigmod14.pdf&quot; rel=&quot;nofollow&quot;&gt;SIGMOD 2014&lt;/a&gt; paper from Microsoft Research states that the &quot;importance of sorting almost sorted data quickly has just emerged over the last decade&quot;, and goes on to propose variants of Patience sort and Linear Merge, and measure their performance on synthetic &quot;close to sorted&quot; data.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It seems to me that this description matches the theme of &quot;Adaptive Sorting&quot;, covering algorithms taking advantage of existing preorder in sequences to be sorted, which has been the topic of various publications (albeit in the community of theoretical computer science rather than databases) from as early as 1979:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt; - 1979-CTCS Sorting Presorted Files - Mehlhorn&#xA; - 1980-CACM Best Sorting Algorithm For Nearly Sorted Lists - Cook, Kim&#xA; - 1985-TCom Measures Of Presortedness And Optimal Sorting Algorithms - Mannila&#xA; - 1992-ACMCS ASurvey Of Adaptive Sorting Algorithms - Estivill-Castro, Wood&#xA; - 1994-IC Sorting Shuffled Monotone Sequences- Levcopoulos, Petersson&#xA; - 1995-DAM A Framework For Adaptive Sorting - Petersson, Moffat&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Am I missing a key difference between those approaches or is it a mere occurrence of weak communication between the database and TCS communities?&lt;/p&gt;&#xA;" OwnerUserId="191" LastEditorUserId="191" LastEditDate="2014-06-27T19:53:49.773" LastActivityDate="2014-06-28T02:40:34.177" Title="What's the difference between &quot;adaptive sorting&quot; and &quot;sorting almost sorted data quickly&quot;?" Tags="&lt;sorting&gt;&lt;adaptive&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="25041" PostTypeId="1" AcceptedAnswerId="25046" CreationDate="2014-06-27T13:34:09.730" Score="9" ViewCount="320" Body="&lt;p&gt;I apologize, this is a bit of a &quot;soft&quot; question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Information theory has no concept of computational complexity. For example, an instance of SAT, or an instance of SAT plus a bit indicating satisfiability carry the same amount of information.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a way to formalize the concept of &quot;polynomially knowable&quot;?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Such a framework could define for example the notion of polynomial-KL divergence between a random variable X relative Y as the number of bits needed to compute X in polynomial time given Y.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Likewise, the entropy of a random variable X could be defined as the number of bits needed to encode X in a way that can be decoded in polynomial time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Has such a generalization been studied? Can it be made consistent?&lt;/p&gt;&#xA;" OwnerUserId="21851" LastActivityDate="2014-06-27T19:38:16.937" Title="Is there a generalization of information theory to polynomially knowable information?" Tags="&lt;cc.complexity-theory&gt;&lt;it.information-theory&gt;&lt;polynomial-time&gt;" AnswerCount="3" CommentCount="2" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="25042" PostTypeId="5" CreationDate="2014-06-27T14:56:43.500" Score="0" Body="" OwnerUserId="-1" LastEditorUserId="-1" LastEditDate="2014-06-27T14:56:43.500" LastActivityDate="2014-06-27T14:56:43.500" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25043" PostTypeId="4" CreationDate="2014-06-27T14:56:43.500" Score="0" Body="Randomness is a key component of probabilistic algorithms, many combinatorial aarguments, the analysis of hashing functions, and in cryptography, among other applications." OwnerUserId="109" LastEditorUserId="109" LastEditDate="2014-06-27T17:23:55.053" LastActivityDate="2014-06-27T17:23:55.053" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25044" PostTypeId="5" CreationDate="2014-06-27T15:00:59.753" Score="0" Body="" OwnerUserId="-1" LastEditorUserId="-1" LastEditDate="2014-06-27T15:00:59.753" LastActivityDate="2014-06-27T15:00:59.753" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25045" PostTypeId="4" CreationDate="2014-06-27T15:00:59.753" Score="0" Body="Linear algebra deals with vector spaces and linear transformations." OwnerUserId="109" LastEditorUserId="109" LastEditDate="2014-06-27T17:23:13.023" LastActivityDate="2014-06-27T17:23:13.023" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25046" PostTypeId="2" ParentId="25041" CreationDate="2014-06-27T16:25:34.993" Score="9" Body="&lt;p&gt;Yes. Time-bounded Kolmogorov complexity is at least one such &quot;generalization&quot; (though strictly speaking it's not a generalization, but a related concept). Fix a universal Turing machine $U$. The $t(n)$-time-bounded Kolmogorov complexity of a string $x$ given a string $y$ (relative to $U$), denoted $K^t_U(x | y)$ (the subscript $U$ is often supressed) is defined as the shortest string $p$ (a &quot;program&quot; for $U$) such that $U(p,y)=x$ and such that the computation of $U(p,y)$ takes at most $t(|x|)$ time. If you take this as your definition of &quot;conditional information&quot;, then you can likewise define all the usual concepts from information theory. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, in this time-bounded setting, not all of the usual &lt;em&gt;theorems&lt;/em&gt; of information theory are known to hold. For example, symmetry of information is known to hold for usual Kolmogorov complexity (no time bound), but not known to hold for time-bounded. See, for example, Chapter 6 of &lt;a href=&quot;http://www.research.rutgers.edu/~troyjlee/thesis.pdf&quot;&gt;Troy Lee's thesis&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you are concerned that this applies to strings rather than distributions, I suggest reading the following papers, which say that in fact Kolmogorov complexity of strings and Shannon entropy of distributions are very closely related:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Grunwald and Vitanyi. &lt;a href=&quot;http://arxiv.org/abs/cs/0410002&quot;&gt;Shannon Information and Kolmogorov Complexity&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Hammer, Romashchenko, Shen, Vereshchagin. &lt;a href=&quot;http://dx.doi.org/10.1006/jcss.1999.1677&quot;&gt;Inequalities for Shannon Entropy and Kolmogorov Complexity&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;(On the other hand, there are some properties that are known not to be shared between the two, see Muchnik &amp;amp; Vereshchagin, &lt;a href=&quot;http://dx.doi.org/10.1007/11753728_29&quot;&gt;Shannon Entropy vs. Kolmogorov Complexity&lt;/a&gt;.)&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2014-06-27T16:25:34.993" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="25047" PostTypeId="1" CreationDate="2014-06-27T16:46:44.713" Score="8" ViewCount="544" Body="&lt;p&gt;Why are the candidates for one-way functions so few? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Today, almost all candidates are based on elementary mathematics, except Goldreich's candidate 2000 and ... (?!). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Why one can not generate several candidates by using advanced mathematics, for example using complex structures of combinatorics?&lt;/p&gt;&#xA;" OwnerUserId="25428" LastEditorUserId="259" LastEditDate="2014-06-27T17:56:20.457" LastActivityDate="2018-01-12T21:59:58.243" Title="Candidates for One-Way Function" Tags="&lt;cc.complexity-theory&gt;&lt;cr.crypto-security&gt;&lt;one-way-function&gt;" AnswerCount="3" CommentCount="4" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="25048" PostTypeId="1" AcceptedAnswerId="25056" CreationDate="2014-06-27T17:20:06.893" Score="10" ViewCount="338" Body="&lt;p&gt;I stumbled on an open problem posed by &lt;a href=&quot;http://www.ics.uci.edu/~theory/269/020125.pdf&quot;&gt;David Eppstein&lt;/a&gt; and I am interested in its complexity status. He conjectured that it is NP-complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Input: $n$ by $n$ matrix of 0’s and 1’s, sequence of $n^2$ 0’s and 1’s&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Question:  Is there a path through adjacent matrix entries, covering each matrix entry exactly once, with values matching the given sequence?&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Did anyone prove that the problem is indeed hard?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="495" LastActivityDate="2014-06-27T20:43:59.927" Title="Hidden path in square grids" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25049" PostTypeId="2" ParentId="25041" CreationDate="2014-06-27T17:46:44.527" Score="0" Body="&lt;p&gt;I'm not aware of an information-theroetic computational model, &lt;em&gt;but&lt;/em&gt; there are clear applications of information theory to computational complexity.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, the classic $n \log n$ lower bound on comparison-based sorting is based on an information-theoretic argument about the height of a decision tree needed to distinguish between all possible orders of inputs.  You can similarly make trivial information-theoretic bounds on the computational complexity of search, order-statistics, average, etc.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More typically, information-theoretic results can serve as lower bounds on computational complexity.  For example, Yao's &quot;information-theoretic&quot; result on communication complexity {1} implies computational lower bounds on determining whether two sets are equal.  More sophisticated applications of communication complexity provide time-space tradeoffs for Turing machines {2}.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;{1} Yao, Andrew Chi-Chih. &quot;Some complexity questions related to distributive computing (preliminary report).&quot; Proceedings of the eleventh annual ACM symposium on Theory of computing. ACM, 1979.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;{2} Eyal Kushilevitz: Communication Complexity. Advances in Computers 44: 331-360 (1997).&lt;/p&gt;&#xA;" OwnerUserId="25250" LastEditorUserId="25250" LastEditDate="2014-06-27T19:38:16.937" LastActivityDate="2014-06-27T19:38:16.937" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25050" PostTypeId="2" ParentId="25047" CreationDate="2014-06-27T18:00:44.287" Score="8" Body="&lt;p&gt;Here is a &quot;canned&quot; answer that might be useful, but has no cryptographic depth (hopefully we get answers with depth as well).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What makes for a good candidate OWF? The naive answer tends to boil down to &quot;something that looks hard to invert to me&quot;, but the expert's response is usually more like &quot;something that many smart people have tried to invert but failed&quot; (or something whose invertability would imply that of such a function). From this perspective, it is worse for the problem to be more obscure (fewer have tried it), and it may be worse that the function is more complicated (this obfuscates whether it is truly difficult or you just cannot see the solution yourself).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To put the intuition another way, a common &quot;bad intuition&quot; is that if a problem looks more complicated or difficult to define/understand, then it is more likely to be computationally difficult to solve. Theoretical crypto does not accept this premise. The primary evidence we have for computational hardness is a history of failed attempts, which means good candidates should be simple, well-known functions with long histories.&lt;/p&gt;&#xA;" OwnerUserId="8243" LastActivityDate="2014-06-27T18:00:44.287" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25051" PostTypeId="2" ParentId="25047" CreationDate="2014-06-27T18:05:51.037" Score="4" Body="&lt;p&gt;As for your last question, the are several  candidates for combinatorial one-way functions. This paper by &lt;a href=&quot;http://logic.pdmi.ras.ru/~arist/papers/cowf.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Kojevnikov and Nikolenko&lt;/a&gt; lists three combinatorial complete one-way functions that are based on the tiling problem of Levin, semi- Thue systems, and Post Correspondence problem ( complete means those functions are one-way if one-way functions do exist).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Update&lt;/em&gt;: A more interesting candidate was given by Gligoroski. &lt;a href=&quot;https://eprint.iacr.org/2005/352.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;He proposed candidate combinatorial one-way function&lt;/a&gt; based on Latin squares (Quasigroups). &lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2018-01-12T21:59:58.243" LastActivityDate="2018-01-12T21:59:58.243" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="25052" PostTypeId="2" ParentId="10106" CreationDate="2014-06-27T18:11:41.013" Score="0" Body="&lt;p&gt;The problem of getting a constant approximation for this case or proving it NP-Hard are still open and any result would make a good publication. Some special cases have been solved. I, along with others, have some partial results that solve special cases like spiders, constant-height trees. But, the general problem for trees is unsolved.&lt;/p&gt;&#xA;" OwnerUserId="25397" LastActivityDate="2014-06-27T18:11:41.013" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25054" PostTypeId="2" ParentId="25041" CreationDate="2014-06-27T19:01:39.913" Score="2" Body="&lt;p&gt;One issue is that many of the theorems we're used to in information theory, don't hold in the computational world.  Therefore, even if we formalized a computational analog of entropy, the resulting theory might not look like information theory any more.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For instance, if $f$ is a deterministic function, then $H(f(X)) \le H(X)$.  However, for any plausible computational notion of entropy, this will no longer hold: think of a pseudorandom generator, for instance, which stretches a short seed into a long pseudorandom output.  By any conceivable definition of computational entropy I can imagine, that long pseudorandom output will have large computational entropy (it is computationally indistinguishable from a uniform distribution on those long strings), thus violating $H(f(X)) \le H(X)$.&lt;/p&gt;&#xA;" OwnerUserId="5038" LastActivityDate="2014-06-27T19:01:39.913" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="25055" PostTypeId="2" ParentId="25033" CreationDate="2014-06-27T19:17:47.353" Score="0" Body="&lt;p&gt;With some basic arithmetic, we can reduce this to a question about a two-variable Diophantine equation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Based upon your comments, it sounds like $d$ was intended to be given as input.  Now the question is just: can we choose $x_1 \ge 1$ and $n$ such that $x_1 + (n-1)d &amp;lt; K$ and such that the arithmetic sequence $x_1,x_1+d,x_1+2d,\dots,x_1+(n-1)d$ sums to $K$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is easy to compute the sum of this arithmetic sequence.  By the Gauss formula, it sums to&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$n x_1 + dn(n-1)/2.$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, given $K,d$, we want to find a solution to the equation&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$n x_1 + dn(n-1)/2 = K$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where $x_1,n$ are positive integers and where $x_1+ (n-1)d &amp;lt; K$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can view this as a diophantine equation in two variables $x,y$ of the form&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$2xy + \alpha x^2 + \beta x + \gamma = 0,$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where $\alpha,\beta,\gamma$ are integer constants given in advance and there is an additional linear inequality on $x,y$.  (Here I made the replacement $x=x_1$, $y=n$.)  I don't know if this problem has a nice solution.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One thing we &lt;em&gt;can&lt;/em&gt; say is that $n$ must be a divisor of $2K$, since we know&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$2nx_1 + dn(n-1) = 2K,$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;and the left-hand side is divisible by $n$.  Therefore, if you know the factorization of $2K$, and if it doesn't have too many different prime divisors, you could try enumerating all divisors of $2K$ as the candidate values of $n$, and then for each candidate value of $n$, solve for $x_1$  and see if it yields an integral solution.  However, in general this will not be efficient: it gives an algorithm that is efficient in the average case but runs in exponential time in the worst case.&lt;/p&gt;&#xA;" OwnerUserId="5038" LastEditorUserId="5038" LastEditDate="2014-06-27T19:26:26.890" LastActivityDate="2014-06-27T19:26:26.890" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25056" PostTypeId="2" ParentId="25048" CreationDate="2014-06-27T20:43:59.927" Score="12" Body="&lt;p&gt;I received an email last February from a Spanish undergraduate, Nil Mamano, with a proof that this problem is indeed NP-complete, by reduction from Hamiltonian path in grid graphs. I don't know that it has been published anywhere yet. The reduction replaces each vertex of the grid graph by a 2x2 block of 1's, and each edge, face, or missing vertex by a 2x2 block of 0's. The input sequence alternates between subsequences of four 1's and four 0's for as many times as is needed to cover all the vertices, then fills out the rest of the sequence with 0's. To match the input sequence, a path through the grid must align the subsequences of four 1's with the 2x2 blocks of 1's from the reduction, forming a Hamiltonian path; if such a path exists, it's always possible to do this in a way that allows the rest of the matrix to be covered by the remaining zeros at the end of the sequence.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2014-06-27T20:43:59.927" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25057" PostTypeId="2" ParentId="25040" CreationDate="2014-06-28T02:40:34.177" Score="1" Body="&lt;p&gt;I think the importance of &quot;sorting almost sorted data quickly&quot; in the database community is because of good streaming and/or parallel algorithms for k-sorting and for k-sorted id generation. (e.g. &lt;a href=&quot;http://link.springer.com/chapter/10.1007%2F978-3-540-77050-3_2#page-1&quot; rel=&quot;nofollow&quot;&gt;http://link.springer.com/chapter/10.1007%2F978-3-540-77050-3_2#page-1&lt;/a&gt;) Adaptive sorting is a more general topic: for instance, reverse order would not be what the database community cares about, but would be perfectly reasonable to exploit more generally.&lt;/p&gt;&#xA;" OwnerUserId="22952" LastActivityDate="2014-06-28T02:40:34.177" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25059" PostTypeId="2" ParentId="24884" CreationDate="2014-06-28T09:26:13.337" Score="9" Body="&lt;p&gt;My answer is really just an elaboration of Gilles', that I had not&#xA;read before I wrote mine. Maybe it's nevertheless helpful.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let me begin my attempt at answering your question with a distinction&#xA;between two dimensions of programming languages work that relate quite&#xA;differently to programming language theory in general and process&#xA;calculus in particular.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Pure research.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Product focused research and development.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The latter typically takes place in industry with the aim of providing&#xA;programming languages as a product. The teams developing Java at&#xA;Oracle and C# at Microsoft are examples.  In contrast, pure research&#xA;is not tied to products. Its aim is to understand programming&#xA;languages as objects of intrinsic interest and to explore the&#xA;mathematical structures underlying all programming languages.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Because of divergent goals, Different aspects of programming language&#xA;theory are relevant in pure research and in product focused R&amp;amp;D The&#xA;picture below may give an indication what's important where.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/KsXqH.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One may ask at this point why the two dimensions are so seemingly&#xA;different and how they nevertheless relate.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The key insight is that programming language research and development&#xA;has multiple dimensions: technical, social and economic.  Almost by&#xA;definition, industry is interested in the economic payoff of&#xA;programming languages. Microsoft et al don't develop languages out of&#xA;the goodness of their hearts but because they believe programming&#xA;languages give them an economic advantage.  And they have investigated&#xA;deeply why some programming languages succeed, and others, seemingly&#xA;similar or with more advanced features, don't.  And they found that&#xA;there isn't a single reason. Programming languages and their&#xA;environments are complex, and so are the reasons for adopting or&#xA;ignoring any specific language.  But the single biggest factor for the&#xA;success of a programming language is the preferential attachment of&#xA;programmers to languages that are already widely used: the more people&#xA;use a language, the more libraries, tools, teaching material are&#xA;available, and the more productive a programmer can be using that&#xA;language. This is also called the network effect. Another reason is&#xA;the the high cost switching languages for individuals and&#xA;organisation: mastering language, especially to a not-so-experienced&#xA;programmer, and when the semantic distance to familiar languages is&#xA;large, is a serious, time-consuming effort.  Given these facts, one&#xA;may ask why do new languages get traction at all?  Why do companies&#xA;develop new languages at all? Why don't we just stay with Java or&#xA;Cobol?  I think there are several key reasons for whey a language does&#xA;succeed, and displaces the originally more popular incumbents.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;A new domain of programming opens up that has no incumbents to&#xA;displace.  The primary example is the web with its concomitant rise&#xA;of Javascript.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Language stickiness. By this I mean the high price of changing&#xA;language. But sometimes programmers move into different fields,&#xA;taking a programming language with them, and being successful with&#xA;the old language in the new field.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;A language is pushed by a big company with serious financial&#xA;firepower. This backing reduces the risk of adoption, because early&#xA;adopters can be reasonably sure that the language will still be&#xA;supported in a few years. A good example of this is C#.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;A language might come with compelling tools and eco-system. Here too&#xA;C# and it's .Net and Visual Studio eco-system could be mentioned as&#xA;an example.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Old languages pick up new features. Java comes to mind, which, in&#xA;each iteration, picks up more good ideas from the functional&#xA;programming tradition.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Finally, a new language might have intrinsic technical advantages,&#xA;e.g. be more expressive, have nicer syntax, typing systems that&#xA;catch more errors, etc.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Given this background, it should not come as a surprise that there is&#xA;somewhat of a disconnect between pure programming language research,&#xA;and commercial programming language development. While both aim to&#xA;make software construction and evolution more efficient, especially&#xA;for large-scale software, industrial programming language work must be&#xA;more interested in facilitating quick adoption to reach a critical&#xA;mass and get the network effect.  This leads to a research focus on&#xA;things that working programmers care about. And that tends to be&#xA;things like library availability, compiler speed, quality of compiled&#xA;code, portability and so on.  Process calculus as we practise it today&#xA;is of little use to programmers working on mainstream projects&#xA;(although I believe that will change in the future).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Pure programming language research is quite different. It works with&#xA;simplified models of programming languages: the $\lambda$-calculus is&#xA;a massive simplification of functional programming. In the same way&#xA;the $\pi$-calculus is a massive simplification of concurrent&#xA;programming. These massive simplifications are the key to successful&#xA;research. They enable us to focus on core computational mechanisms&#xA;(e.g. $\beta$-reduction for functional programming,&#xA;resolution/unification for logic-programming, name-passing for&#xA;concurrent computation). To understand if a language like Scala can&#xA;have viable full type-inference, we don't need to worry about the JVM.&#xA;Indeed thinking about the JVM will detract from a better understanding&#xA;of type-inference. That's why abstraction of computation into tiny&#xA;core calculi is vital and powerful.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So you can think of programming language research as a massive sandbox&#xA;where people play with toys, and if they find something interesting&#xA;when playing with a specific toy, and have investigated the toy&#xA;thoroughly, then that interesting toy begins its long march towards&#xA;mainstream industrial acceptance. I say long march because language&#xA;features first invented by programming language researcher tend to&#xA;take decades before becoming widely accepted. For example garbage&#xA;collection was conceived in the 1950s and became widely available with&#xA;Java in the 1990s. Pattern matching harks back to 1970 and is widely&#xA;used only since Scala.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Process calculus is an especially interesting toy.  But it's too new&#xA;to be investigated thoroughly. That will take another decade of pure&#xA;research.  What currently going in process theory research is to take&#xA;the single biggest success story of programming language research, the&#xA;theory of (sequential) types and develop the theory of types for&#xA;message passing concurrency.  Typing systems of moderate expressivity&#xA;for sequential programming, say Hindley-Milner, are now&#xA;well-understood, ubiquitous and accepted by working programmers.  We'd&#xA;like to have moderately expressive types for concurrent programming.&#xA;Research on this started in the 1980s by pioneers like Milner,&#xA;Sangiorgi, Turner, Kobayashi, Honda, and others, often based,&#xA;explicitly or implicitly, on the idea of linearity which comes from&#xA;linear logic.  The last few years have seen a major increase in&#xA;activity and I expect this upwards trajectory to continue for the&#xA;foreseeable future. I also expect this work to start leaking into&#xA;product focused R&amp;amp;D, in parts for the pragmatic reason that young&#xA;researchers who have been trained in process calculus will go and work&#xA;in industrial R&amp;amp;D labs, but also because of the evolution of CPU and&#xA;computer architecture away from sequential forms of computation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In summary, I would not worry that you don't find cutting edge&#xA;programming language theory such as process calculus useful in your&#xA;own work of building languages. That's simply because cutting edge&#xA;theory does not address the concerns of current programming&#xA;languages. It is about future languages. It will take a while for the&#xA;'real world' to catch up. The knowledge you use to build languages for&#xA;today is the programming language theory of the past.  I encourage you&#xA;to learn more about process calculus because it's one of the most&#xA;exiting areas of all of theoretical computer science.&lt;/p&gt;&#xA;" OwnerUserId="898" LastActivityDate="2014-06-28T09:26:13.337" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="25060" PostTypeId="1" CreationDate="2014-06-28T10:07:08.907" Score="3" ViewCount="252" Body="&lt;p&gt;Some probability distributions are easier to work with than&#xA;others. Consider the following two problems.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Given a number $n$, return $i$ with $0 \leq i &amp;lt; n$ with uniform&#xA;probability, i.e. $\mathbb{P}(i = k) = \frac{1}{n}$ for all $0 \leq k&#xA;   &amp;lt; n$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Given a number $n$, return $i$ such that $i$ is a (the G&amp;ouml;del&#xA;number of) a valid proof of length n in Peano arithmetic. Again $i$&#xA;should be chosen with uniform probability, i.e. if the number of such&#xA;proofs is $pr(n)$, then the probability to get any specific proof of&#xA;length $n$ should be $\frac{1}{pr(n)}$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;It seems inutitively clear that the latter problem is harder to solve&#xA;than the former, in a way that is reminiscent of computational&#xA;complexity.  If we had a program solving the first problem, and a&#xA;program for the second, what could we say about their time and space&#xA;consumption? Moreover, whatever the intrinsic complexity of the&#xA;distributions, there should be a connection with conventional&#xA;complexity theory, for the difficulty of the second problem is largely&#xA;a consequence of the fact that the set of valid proofs in Peano&#xA;arithmetic is a complicated subset of the set of all integers, and if&#xA;we had an oracle for it and / or the number of such proofs, we could&#xA;solve the second problem quite easily.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is no reason to restrict one's attention to&#xA;uniform  or discrete distributions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is this: where has the complexity of probability&#xA;distribution been investigated? What is a good overview article?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Please feel free to close or move this question if it's inappropriate for this forum. I asked&#xA;on &lt;a href=&quot;https://cs.stackexchange.com/questions/26485/probability-distributions-and-computational-complexity&quot;&gt;cs.stackexchange&lt;/a&gt; but didn't get the kind of answers&#xA;I was looking for.&lt;/p&gt;&#xA;" OwnerUserId="898" LastActivityDate="2014-06-28T10:07:08.907" Title="Probability distributions and computational complexity" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;pr.probability&gt;" AnswerCount="0" CommentCount="7" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="25061" PostTypeId="1" CreationDate="2014-06-28T10:22:25.983" Score="11" ViewCount="978" Body="&lt;p&gt;This confuses me.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One easy case of counting is when the&#xA;decision problem is in $P$ and there are no solutions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.cs.cornell.edu/courses/CS6820/2012sp/Handouts/138-150.pdf&quot; rel=&quot;nofollow&quot;&gt;A lecture&lt;/a&gt; show that the problem of counting the number of perfect matchings in a bipartite graph (equivalently, counting the number of cycle covers in a directed graph) is $\#P$ -complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;They give reduction from counting vertex covers of size $k$&#xA;to counting cycle covers in a digraph using gadgets.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Theorem 27.1 The number of good cycle covers in $H$ is $(k!)^2$ times the number of vertex covers of $G$ of size $k$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Using gadget they leave only the &quot;good&quot; cycles.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My understanding of the lecture is that $G$ doesn't have&#xA;vertex cover of size $k$ iff the transformed digraph $G'$&#xA;doesn't have cycle cover. Checking if $G'$ has cycle cover &#xA;can be done in polynomial&#xA;time, implying $P=NP$ since we can transform the decision&#xA;problem to finding solution.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What am I misunderstanding?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;The permanent of the adjacency matrix of digraph&#xA;counts cycle covers and is $\#P$-complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The decision problem &quot;Is the permanent of (0,1) matrix zero&quot;&#xA;is in P since finding cycle cover is in $P$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$P \ne NP$ implies there is no reduction of counting&#xA;$NP$-complete problems to counting $(0,1)$-permanent which maps $0 \mapsto 0$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit&lt;/strong&gt; &lt;a href=&quot;https://mathoverflow.net/questions/172909/reduction-from-permanent-to-0-1-permanent-and-implication-of-p-ne-np&quot;&gt;Related MO question&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Added&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;code&gt;Markus Bläser&lt;/code&gt; points out that bad cycle are still &quot;there&quot;,&#xA;but the sum of their weights vanishes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Appears to me the weight of bad cycle in&#xA;a widget is zero.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;From page 148 (11 of the pdf):&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;The full adjacency matrix B with submatrices A corresponding to these&#xA;  four-node widgets counts 1 for each good cycle cover in H and 0 for each bad&#xA;  cycle cover&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Another question:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Wouldn't maximum weight cycle cover contain only the good cycles,&#xA;  corresponding to a $k$ vertex cover in the original graph?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;In CC every vertex must be in exactly one cycle.&lt;/p&gt;&#xA;" OwnerUserId="22348" LastEditorUserId="22348" LastEditDate="2015-03-24T12:18:09.607" LastActivityDate="2016-06-18T14:50:25.340" Title="Confusion about reduction counting vertex covers to counting cycle covers" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;" AnswerCount="1" CommentCount="13" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="25062" PostTypeId="1" AcceptedAnswerId="25072" CreationDate="2014-06-28T13:44:48.563" Score="5" ViewCount="357" Body="&lt;p&gt;I have two types of trees in Haskell, defined as the least solution of the following equations:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$T_1(A) \cong 1 + A + T_1(A) \times T_1(A)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$T_2(A) \cong 1 + A \times T_2(A) + T_2(A) \times T_2(A)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In Haskell it would be something like&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;data T1 a = Leaf | Data a | Node (T1 a) (T1 a)&#xA;&#xA;data T2 a = Leaf' | Data' a (T2 a) | Node' (T2 a) (T2 a)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;How could I prove or disprove that $T_1$ and $T_2$ are isomorphic? I'd like to know which tools are used to prove the non-existence of isomorphisms.&lt;/p&gt;&#xA;" OwnerUserId="25448" LastEditorUserId="25448" LastEditDate="2014-06-28T19:58:55.273" LastActivityDate="2014-06-29T09:50:37.073" Title="Isomorphism between algebraic data-types" Tags="&lt;ds.data-structures&gt;&lt;functional-programming&gt;&lt;ct.category-theory&gt;&lt;type-systems&gt;&lt;haskell&gt;" AnswerCount="2" CommentCount="3" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="25063" PostTypeId="2" ParentId="25062" CreationDate="2014-06-28T16:16:02.850" Score="5" Body="&lt;p&gt;A useful technique is to find a property $P$ that is preserved by isomorphism, that is if $X\cong Y$ then $P(X)=P(Y)$. Then if we can show that $P(X)\neq P(Y)$ then also $X\not\cong Y$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In your case, let's pick $P(X)$ to be &lt;em&gt;$X(\bot)$ is isomorphic to 1&lt;/em&gt; where $\bot$ is &lt;a href=&quot;https://en.wikipedia.org/wiki/Bottom_type&quot;&gt;the empty data type&lt;/a&gt;. Clearly, $P$ is preserved by isomorphisms. Now&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$T_1(\bot) \cong 1 + \bot + T_1(\bot) \times T_1(\bot) \cong 1 + T_1(\bot) \times T_1(\bot)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;which has obviously more than one value, but&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$T_2(\bot) \cong 1 + \bot \times T_2(\bot) \times T_2(\bot) \cong 1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Therefore $T_1$ and $T_2$ aren't isomorphic.&lt;/p&gt;&#xA;" OwnerUserId="10336" LastActivityDate="2014-06-28T16:16:02.850" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="25064" PostTypeId="1" CreationDate="2014-06-28T17:26:32.763" Score="0" ViewCount="207" Body="&lt;p&gt;Consider a matrix filled with some nodes containing positive integers (&quot;starts&quot;), some nodes marked as a wall, and the rest of the nodes given a value of infinity.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The propogation rule is simple: For each node, check if any of its &lt;a href=&quot;http://en.wikipedia.org/wiki/Von_Neumann_neighborhood&quot; rel=&quot;nofollow&quot;&gt;4 neighbors&lt;/a&gt;' values are greater than the current node's value plus one. If so, set their value to this node's value plus one. If that neighbor is a wall, don't modify it's value (walls are always infinity). Repeat until no more propagation occur.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Given $O(1)$ nodes, is it possible to compute their final propagation values in asymtotically less than $O(nm)$ time?&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Formally, consider the following simple rule for propagation: Given a matrix $M \in \mathbb{N}^{n\times m}$, and set of starts $S \subset \{(x, y, val) \in \mathbb{N}^3 | x&amp;lt;n, y&amp;lt;m\}$:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Set all elements in the matrix to $\infty$, then $\forall s \in S, M(s_x, s_y) = s_{val}$. Assume WLOG that there aren't more than one $s \in S$ for each $(x, y)$.&lt;/li&gt;&#xA;&lt;li&gt;For every $(x, y)$ such that $M(x, y) \neq \infty$, set all surrounding nodes $M(x + 1, y)$, $M(x - 1, y)$, $M(x, y + 1)$, $M(x, y - 1)$ that have values greater than $M(x, y) + 1$ to $M(x, y) + 1$. (if that surrounding node is not in the matrix, ignore it)&lt;/li&gt;&#xA;&lt;li&gt;Repeat 2 until the grid is full and no more propagation can occur.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;I am interested in computing the resulting value for $O(1)$ goal nodes in asymptotically less time then the $O(nm)$ time it takes to propagate outwards.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If there is only one start, call this start $s$, and the resulting $M(x,y)$ for any node can simply be found with the modified Manhattan distance $M(x,y)=|s_x−x|+|s_y−y|+s_{val}$ which takes $O(1)$ time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If there is more than one start, $M(x,y)=\min\limits_{s \in S} |s_x−x|+|s_y−y|+s_{val}$, so the resulting $M(x, y)$ can be found in $O(|S|)$ time. This can be improved to $O(log(|S|))$ if $S$ are prepossessed into a quadtree beforehand, but this is only helpful is $|S|$ is less then our number of goal nodes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;That piece is trivial though. So next, consider if we augment the problem with walls that don't allow any propagation through them. Formally, walls $W \subset \{(x, y) \in \mathbb{N}^2 | x&amp;lt;n, y&amp;lt;m\}$ that don't allow their value to be modified in step 2.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;With walls, is it possible to compute the value of any $O(1)$ goal nodes in asymptotically less than $O(nm)$ time?&lt;/em&gt;&lt;/p&gt;&#xA;" OwnerUserId="21793" LastEditorUserId="21793" LastEditDate="2015-04-05T01:00:38.643" LastActivityDate="2015-04-05T01:00:38.643" Title="Efficiently computing propagation values for only a few positions in a grid" Tags="&lt;graph-algorithms&gt;&lt;ai.artificial-intel&gt;&lt;shortest-path&gt;" AnswerCount="0" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="25066" PostTypeId="1" AcceptedAnswerId="25091" CreationDate="2014-06-28T18:10:31.377" Score="7" ViewCount="2905" Body="&lt;p&gt;I am looking for natural examples of context-sensitive languages from practice. For example, reasonable answers could include grammar syntax of a programming language, or encoding of certain properties of a program. In particular, please draw analogy from call-string-based context sensitive interprocedural dataflow analysis where the matching parentheses context-free language is used to encode the matching of calls and returns. That is an example where context-free language is useful in practice, or at least to explain a practical problem in a nice little theoretical way. Now, how can a context-sensitive language be useful in a similar context/scenario? That is my question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Please note that I am not looking for artificial encoding into CSL (made up just to answer this question).&lt;/p&gt;&#xA;" OwnerUserId="25452" LastEditorUserId="25452" LastEditDate="2014-07-04T05:16:18.393" LastActivityDate="2014-07-04T05:16:18.393" Title="Natural examples of context-sensitive languages from practice" Tags="&lt;fl.formal-languages&gt;" AnswerCount="1" CommentCount="9" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="25067" PostTypeId="2" ParentId="3062" CreationDate="2014-06-28T18:18:01.070" Score="1" Body="&lt;p&gt;Tao suggests the existence of &lt;a href=&quot;http://terrytao.wordpress.com/career-advice/be-sceptical-of-your-own-work/&quot; rel=&quot;nofollow&quot;&gt;law of conservation of difficulty&lt;/a&gt; in mathematics: &quot;in order to prove any genuinely non-trivial result, some hard work has to be done somewhere&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;He argues that the &lt;a href=&quot;http://terrytao.wordpress.com/career-advice/be-sceptical-of-your-own-work/&quot; rel=&quot;nofollow&quot;&gt;difficulty of some mathematical proofs&lt;/a&gt; suggests a lower bound to the amount of effort needed by the theorem proving process.&lt;/p&gt;&#xA;" OwnerUserId="495" LastActivityDate="2014-06-28T18:18:01.070" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25072" PostTypeId="2" ParentId="25062" CreationDate="2014-06-29T09:32:29.763" Score="7" Body="&lt;p&gt;Spoiler: the types are isomorphic.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First let me clarify what might be meant by &quot;isomorphic&quot;. Say that two datatypes $S$ and $T$ are isomorphic if there are maps $f : S \to T$ and $g : T \to S$ such that $f(g(v)) = v$ for every value $v : T$ and $g(f(u)) = u$ for every value $u : U$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let us fix a type $A$. We can then write your equations without the parameter $A$ as&#xA;$$T_1 = 1 + A + T_1 \times T_1$$&#xA;and&#xA;$$T_2 = 1 + A \times T_2 + T_2 \times T_2.$$&#xA;(We really want to consider the types polymorphic in $A$, and we shall do so, but for the moment I'd like to get rid of $A$ as a parameter, so let us consider it temporarily fixed.) If we define &quot;polynomial&quot; type constructors $P_1(X) = 1 + A + X \times X$ and $P_2(X) = 1 + A \times X + X \times X$ then the above definitions become fixed-point equations&#xA;$$T_1 = P_1(T_1)$$&#xA;and&#xA;$$T_2 = P_2(T_2).$$&#xA;We can consider either the &lt;em&gt;inductive&lt;/em&gt; solution (the initial algebra for the polynomial functor) or the &lt;em&gt;coinductive&lt;/em&gt; solution (the final coalgebra). The former is what you get in ML-style language and the latter in Haskell. Let's do inductive, as that is algebra, while coinductive gets us into topology (which is cooler but a bit trickier).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, we would like to know whether the initial algebras for $P_1$ and $P_2$ are isomorphic parametrically in $A$, by which we mean that we want isomorphisms that are parametrically polymorphic in $A$. Beware, non-isomorphic functors may produce isomorphic initial algebras: lists of $A$'s are the initial algebra for both $X \mapsto 1 + A \times X$ and $X \mapsto 1 + A \times X + A \times A \times X$! So for instance it is &lt;em&gt;not&lt;/em&gt; sufficient to find $Y$ such that $P_1(Y) \not\cong P_2(Y)$. But since we want isomorphisms that work for all $A$'s it &lt;em&gt;is&lt;/em&gt; sufficient to find a single instance of $A$'s for which $T_1 \not\cong T_2$ (although that might be a bit hard to find...)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am going to take it for granted that there are no isomorphisms between $A^n$ and $A^m$ for $n \neq m$ that are parametric in $A$. (Consider $A = \mathtt{bool}$.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We can think of $T_1$ as an &quot;infinite&quot; nesting $P_1(P_1(P_1(\cdots)))$, so it makes sense to look at a finite approximation. Let us compute $P_1^n(X)$ for some $n$. The result is a polynomial in $A$ and $X$, which we express as $Q_n(A) + X \times R_n(A,X)$. For $n = 1$ we get (using Mathematica and expanding as a power series in $X$):&#xA;$$(A+1)+O\left(X^2\right),$$&#xA;for $n = 2$ we get&#xA;$$\left(A^2+3 A+2\right)+O\left(X^2\right)$$&#xA;for $n = 6$ we get&#xA;$$\left(A^{32}+48 A^{31}+1112 A^{30}+16568 A^{29}+178484 A^{28}+1481816&#xA;   A^{27}+9867676 A^{26}+54160004 A^{25}+249844422 A^{24}+982869432&#xA;   A^{23}+3333905572 A^{22}+9834052604 A^{21}+25390949338 A^{20}+57672050948&#xA;   A^{19}+115666688826 A^{18}+205373975070 A^{17}+323359748527&#xA;   A^{16}+451792820168 A^{15}+560048078060 A^{14}+615271918604&#xA;   A^{13}+597813614038 A^{12}+512098495020 A^{11}+385051162322&#xA;   A^{10}+252634062394 A^9+143508813439 A^8+69855202828 A^7+28739884958&#xA;   A^6+9808926186 A^5+2705141303 A^4+579784870 A^3+90704955 A^2+9224803&#xA;   A+458330\right)+O\left(X^2\right)$$&#xA;So it seems that we get a whole lot of every power of $A$. A similar thing happens with $T_2$, for instance $P_2$ unfolded 6 times is&#xA;$$&#xA;\left(256 A^{16}+6656 A^{15}+80768 A^{14}+607488 A^{13}+3171408 A^{12}+12191008&#xA;   A^{11}+35710688 A^{10}+81347056 A^9+145690452 A^8+205905596 A^7+228957512&#xA;   A^6+198261418 A^5+131104690 A^4+64020678 A^3+21778198 A^2+4612401&#xA;   A+458330\right)+\left(3072 A^{17}+80128 A^{16}+975744 A^{15}+7366080&#xA;   A^{14}+38598592 A^{13}+148916448 A^{12}+437720280 A^{11}+1000231448&#xA;   A^{10}+1796273100 A^9+2544344160 A^8+2833851236 A^7+2456339273 A^6+1624706942&#xA;   A^5+792912172 A^4+269323336 A^3+56895232 A^2+5632640 A\right)&#xA;   X+O\left(X^2\right)$$&#xA;In the &quot;infinity&quot; these coefficients on $A$'s will be infinite. We will get something that looks like&#xA;$$T_1 = P_1^\infty(X) = \infty + \infty A + \infty A^2 + \infty A^3 + \cdots&#xA;= \infty \times (1 +A + A^2 + A^3 + \cdots) = \infty \times \mathtt{List}(A)$$&#xA;and the same for $T_2$. So we form a hypothesis:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Theorem:&lt;/strong&gt; Both $T_1$ and $T_2$ are isomorphic (parametrically in $A$) to the type $\mathtt{nat} \times \mathtt{List}(A)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Proof.&lt;/em&gt; The best proof would be actual implementations of the isomorphisms in question, but I do not have the time to do that. Perhaps a nice soul can volunteer to write these. Let me sketch an outline of the proof. Think of the elements of $T_1$ as trees which store some $A$'s in their leaves. To each value $v : T_1$ we assign a list $\ell_v = [a_1, \ldots, a_{n_v}]$ of the $A$'s stored in $v$, in left-to-right traversal order. There are &lt;em&gt;infinitely&lt;/em&gt; many $v$'s which share the same $\ell_v$ because we can have arbitrarily many empty leaves. Order all $v$'s with the same $\ell_v$ in a canonical order of some sort, so that to each $v$ with a given $\ell_v$ we assign a number $n_v$ in this order. The mapping $v \mapsto (n_v, \ell_v)$ is the isomorphism from $T_1$ to $\mathtt{nat} \times \mathtt{List}(A)$. A similar construction works for $T_2$. QED.&lt;/p&gt;&#xA;" OwnerUserId="705" LastEditorUserId="705" LastEditDate="2014-06-29T09:50:37.073" LastActivityDate="2014-06-29T09:50:37.073" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25073" PostTypeId="1" CreationDate="2014-06-29T12:25:28.713" Score="1" ViewCount="105" Body="&lt;p&gt;I have always heard that transversality is a sufficient, not a necessary condition for fault-tolerance in quantum computation. However, I have never seen any examples of non-transversal fault tolerant gates. Does anyone know of any?&lt;/p&gt;&#xA;" OwnerUserId="22140" LastActivityDate="2014-06-29T12:25:28.713" Title="Non-Transversal Fault Tolerant Gate" Tags="&lt;quantum-computing&gt;&lt;fault-tolerance&gt;" AnswerCount="0" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="25074" PostTypeId="1" CreationDate="2014-06-29T13:32:15.707" Score="5" ViewCount="128" Body="&lt;p&gt;I have a symmetric Markov chain given by the matrix $P$. Let $M$ be a set of special states of the chain (called marked states, they correspond to solutions to some problem). We can write $P$ as  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;\begin{array}&#xA;[c]{cc}%&#xA;P_{UU} &amp;amp; P_{UM}\\&#xA;P_{MU} &amp;amp; P_{MM}%&#xA;\end{array}&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here $P_{UU}$ denotes transitions from unmarked to unmarked, $P_{UM}$ transitions from marked to unmarked and so on. From $P$ we form the absorbing walk $P'$, by turning all transitions from marked states to unmarked states into self-loops. Thus $P'$ has the form &lt;/p&gt;&#xA;&#xA;&lt;p&gt;\begin{array}&#xA;[c]{cc}%&#xA;P_{UU} &amp;amp; 0_{UM}\\&#xA;P_{MU} &amp;amp; I_{MM}%&#xA;\end{array}&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here $I_{MM}$ is the identity matrix.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Define $D(P')$ as&lt;/p&gt;&#xA;&#xA;&lt;p&gt;\begin{array}&#xA;[c]{cc}%&#xA;P_{UU} &amp;amp; 0_{UM}\\&#xA;0_{MU} &amp;amp; I_{MM}%&#xA;\end{array}&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I know the spectrum of $P$. Actually, let's say that $P$ is very nice,&#xA;symmetric, corresponding to a regular graph. For instance, $P$ is the hypercube or the 2-D grid with periodic boundary conditions. Thus $P$ is diagonal in the Fourier basis.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;How can I can find the spectrum of D(P')? I couldn't find any reference to this.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course, I could have formulated the question without introducing that $P'$, but I did so to provide the context where this situation&#xA;appears. In short, I have a random walk $P$, I remove from it lines $10$ and $12$&#xA;and columns $10$ and $12$ let's say. I want to find the spectrum of the remaining&#xA;matrix.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I used the notation $P_{xy}$ = the probability of jumping from $y$ to $x$. Thus, the eigevectors of $P$ are on the right.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit&lt;/strong&gt;: if it is not possible to find the full spectrum, I'd be interested to find the eigenvector corresponding to the second-largest eigenvalue when $P$ is the 2-D grid and I have at least two marked vertices.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit 2&lt;/strong&gt;: In the paper &quot;Quantum speed-up of Markov chain based algorithms&quot; by M. Szegedy, on page 9, the author states that &quot;there are also several methods in store to estimate the spectral norm of $P_{UU}$.&quot; He gives the example $\left\lVert P_{UU} \right\rVert \le 1-\epsilon \delta /2$, where $\epsilon = |M|/N$ and $\delta$ is the spectral gap of $P$. Here $N$ is the number of states of $P$. Does anyone know and other methods to say something about $P_{UU}$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks!&lt;/p&gt;&#xA;" OwnerUserId="25459" LastEditorUserId="25459" LastEditDate="2014-07-31T00:02:43.510" LastActivityDate="2014-07-31T00:02:43.510" Title="Spectrum of absorbing random walk for regular graphs" Tags="&lt;reference-request&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;pr.probability&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25075" PostTypeId="2" ParentId="25047" CreationDate="2014-06-29T17:20:47.207" Score="-3" Body="&lt;p&gt;the conjecture that (roughly) &quot;every NP complete function could somehow be used to create one way functions&quot; has not been disproven so there is not really a shortage of &quot;candidates&quot; in at least that sense. an interesting recent formulation of this is by Cook et al, &lt;a href=&quot;http://eccc.hpi-web.de/report/2012/175/download/&quot; rel=&quot;nofollow&quot;&gt;On the One-Way Function Candidate Proposed by Goldreich&lt;/a&gt; where they analyze the complexity of Goldreich's function by reducing it to SAT and doing empirical SAT experiments which give circumstantial evidence of its hardness (along with theoretical evidence also).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;also existence of one way functions is tightly coupled to core long open problems in complexity theory eg the P=?NP problem. which is in turn tightly coupled with proving lower bounds in complexity theory, referred to by Arora/Barak in &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0521424267&quot; rel=&quot;nofollow&quot;&gt;Complexity theory: a modern approach&lt;/a&gt; as &lt;em&gt;complexity theory's Waterloo&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;here is one ref by leading researchers on this angle that may be helpful:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://people.csail.mit.edu/akavia/AGGM.pdf&quot; rel=&quot;nofollow&quot;&gt;On Basing One-Way Functions on NP-Hardness&lt;/a&gt; Adi Akavia, Oded Goldreich, Shafi Goldwasser, Dana Moshkovitz&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2014-06-29T17:20:47.207" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="25076" PostTypeId="2" ParentId="11955" CreationDate="2014-06-29T20:42:50.167" Score="0" Body="&lt;p&gt;The summation in the definition of $\nu$ is really annoying, so define $\nu_i(t) = E_{halt}(\min \{n: t_n \ge t\})$. Clearly, we have $1/\nu_i(t) = \Theta(P_{halt}(t_r \ge t))$. So $\sum_{k \le t} \nu_i(t)/\nu_i(k) = \Theta(\sum_{k\le t} P_{halt}(t_r \ge k)/P_{halt}(t_r \ge t))$, which with high probability is  $\Theta(\sum_i t_i)$ with the sum taken until some program has runtime exceeding $t$. By this means, we should be able to recover $\nu$ from $\nu_i$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, by programming $U$ to recognize the likely programs with very long runtimes, we can arrange $P_{halt}(t^U_r \ge t)$ to approach 0 much more rapidly than $P_{halt}(t_r \ge t)$ does. So the $\limsup_{t \rightarrow \infty} P_{halt}(t_r^U \ge t)/P_{halt}(t_r \ge t) = \limsup_{t \rightarrow \infty} \nu_i(t)/\nu^U_i(t)$ can be made arbitrarily close to zero by suitable choice of $U$. The same result should hold for $\nu$ itself, since this construction doesn't alter the runtime of the fast programs, which should dominate the sum-factors we saw above.&lt;/p&gt;&#xA;" OwnerUserId="9049" LastActivityDate="2014-06-29T20:42:50.167" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25077" PostTypeId="1" CreationDate="2014-06-30T03:00:01.253" Score="5" ViewCount="2542" Body="&lt;p&gt;I believe this problem to be NP-Complete, but I'm unable to find any references on possible reductions. Given a weighted graph (either undirected or directed, I cannot find results for either but am interested in both), and vertices s, t, u, find the shortest path from s to t which includes u. To clarify, the path should NOT repeat edges. Hence simply combining the shortest s-u and u-t paths is not valid.&lt;/p&gt;&#xA;" OwnerUserId="20629" LastActivityDate="2014-06-30T10:06:07.500" Title="Shortest path hitting a given vertex" Tags="&lt;graph-algorithms&gt;&lt;shortest-path&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="25078" PostTypeId="2" ParentId="25077" CreationDate="2014-06-30T03:42:29.297" Score="11" Body="&lt;p&gt;It is NP-complete for directed graphs. Even deciding if there exist a path from $s$ to $t$ using vertex $u$ is NP-complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The 2-node disjoint path problem is NP-hard for directed graphs$^1$. &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Given a directed graph $G$ and vertex pairs $(s_1,t_1)$ and&#xA;  $(s_2,t_2)$, does there exist two node disjoint paths that goes from&#xA;  $s_1$ to $t_1$ and $s_2$ to $t_2$?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;We can reduce this problem to your problem:&#xA;Split each vertex of $G$, so each vertex $v$ in $G$ become $v^-$ and $v^+$, and edge $uv$ become $u^+v^-$, also there are edges $v^-v^+$. Add one new vertex $u$, and edges $t_1^+u$ and $us_2^-$. Let this graph be $G'$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There exist a path from $s_1^-$ to $t_2^+$ in $G'$ that uses $u$ if and only if there exist a node disjoint path between $(s_1,t_1)$ and $(s_2,t_2)$ in $G$.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/0304397580900092#&quot;&gt;The directed subgraph homeomorphism problem, Steven Fortune, John Hopcroft, James Wyllie.&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="314" LastEditorUserId="314" LastEditDate="2014-06-30T06:39:36.877" LastActivityDate="2014-06-30T06:39:36.877" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25079" PostTypeId="2" ParentId="25077" CreationDate="2014-06-30T05:37:19.050" Score="8" Body="&lt;p&gt;As Chao mentioned, the directed case is known to be NP-hard even for unweighted graphs.&#xA;That said, the problem is &lt;a href=&quot;https://cstheory.stackexchange.com/questions/20137/subgraph-containing-all-nodes-and-edges-that-are-part-of-length-limited-simple-s/21861#21861&quot;&gt;fixed parameter tractable with respect to the path length&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For undirected graphs, you can solve the weighted version of the problem, deterministically, in $O(|E|^2 \log|E|)$ using &lt;a href=&quot;https://cstheory.stackexchange.com/questions/20185/subgraph-containing-all-nodes-and-edges-that-are-part-of-length-limited-simple-s/21809#21809&quot;&gt;minimum cost flow&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="21001" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2014-06-30T10:06:07.500" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25082" PostTypeId="1" AcceptedAnswerId="25179" CreationDate="2014-06-30T13:01:16.523" Score="8" ViewCount="237" Body="&lt;p&gt;This question was &lt;a href=&quot;https://cs.stackexchange.com/questions/27777/whats-the-value-of-this-game-rebalancing-counters&quot;&gt;posted in CS.SE two weeks ago&lt;/a&gt;, but it didn't get a satisfying answer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose you have the following game:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are infinitely many counters $\{c_1,c_2,\ldots\}$, all initialized to 0.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In each step, you choose a counter $c_i$ and increase it's value by 1.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Unfortunately, every $T$ steps, each counter that has a positive value is decremented by 1.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, the values of the counters are bounded by $M$, so you can't increment a counter any further.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;1. Given as many steps as you like, can many positive valued counters can you reach?&lt;/strong&gt;&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;&lt;strong&gt;2. How many positively valued counters are reachable after $T\cdot M - 1$ steps?&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;For question (1), here's a a detailed buildup for $\approx T\log(M)$ positive counters:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;While you have less than $T-1$ counters at value $M$:&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Increment the minimal index counter whose value is strictly less than $M$.&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;(This has to converge as the sum of the counters are bound to increase every $T$ steps.)&lt;/p&gt;&#xA;&#xA;&lt;ol start=&quot;2&quot;&gt;&#xA;&lt;li&gt;&lt;p&gt;Let $r = T$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;While ($c_0&amp;gt;1$)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;a.  while ($c_0&amp;gt;c_r$)&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Increment $c_r$&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;b. $r = r + 1$&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Now for the analysis: first observation is that the number of positive counters is $r$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now let $m_r$ be the maximal value $c_{r}$ have reached. For $r=T$ we get $M(1-\frac{1}{T})$. For $r=T+1$ we get $m_r(1-\frac{1}{T})=M(1-\frac{1}{T})^2$, or in general $$\forall r\geq T:m_r = M(1-\frac{1}{T})^{r-T+1}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Next we notice that when $\forall m_r$ is achieved, $c_0=m_r$.&#xA;This means the loop will halt when $m_r &amp;lt; 1$ (give or take integrality and end-of-game-strategies).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This gives us &#xA;$$M(1-\frac{1}{T})^{r-T+1} &amp;lt; 1$$ &#xA;$$(1-\frac{1}{T})^{r-T+1} &amp;lt; M^{-1}$$&#xA;$$({r-T+1}) \log (1-\frac{1}{T}) &amp;lt; -\log M$$&#xA;$${r-T+1}  &amp;lt; \frac{-\log M}{\log (1-\frac{1}{T})}$$&#xA;$$r  &amp;lt; \frac{-\log M}{\log (1-\frac{1}{T})} + T - 1$$&#xA;$$r  &amp;lt; \frac{\log M}{\sum_{k\geq 1}^{\infty} {\frac{1}{kT^k}}} + T - 1 &amp;lt; T(\log M + 1) -1$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is it possible to do better? Can anyone prove this is optimal?&lt;/p&gt;&#xA;" OwnerUserId="21001" LastEditorUserId="-1" LastEditDate="2017-04-13T12:48:30.830" LastActivityDate="2014-07-08T00:05:23.697" Title="What is the value of this &quot;game&quot; (counters rebalancing)?" Tags="&lt;ds.algorithms&gt;&lt;board-games&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="25084" PostTypeId="2" ParentId="6115" CreationDate="2014-06-30T14:40:04.110" Score="1" Body="&lt;p&gt;The game you've described looks a lot like the game of k Cops and 1 Robber, as described in this article by Clarke and Macgillivray : &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0012365X12000064&quot; rel=&quot;nofollow&quot;&gt;http://www.sciencedirect.com/science/article/pii/S0012365X12000064&lt;/a&gt;. Basically, it is played by placing k cops and a robber on the vertices of a graph and asking the cops to catch the robber by moving along the edges. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The main difference from your game and this one is the partial visibility of the hunters, whereas in classical cops and robbers, the cops know exactly where the robber is and vice-versa. Also, in cops and robbers the time is not limited. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Even with complete information, if the time is not limited it has been shown that determining if k-cops could eventually capture the robber in finite time when the robber and the cops play optimally is exponential-time complete (&lt;a href=&quot;http://arxiv.org/abs/1309.5405&quot; rel=&quot;nofollow&quot;&gt;http://arxiv.org/abs/1309.5405&lt;/a&gt;) when k isn't fixed. Hence, since your game is harder to play for the cops, I would guess it also can't be solved in polynomial time when time is not limited. I think the number of moves necessary for k cops to catch a robber can be bounded above, by say c, and if the number of steps k allowed to the hunters is close to this number c, then the game of hunters and vampire would be at least as hard to solve than k cops and robber (see the article of Bonato et al. : The capture time of graph).&lt;/p&gt;&#xA;" OwnerUserId="25468" LastActivityDate="2014-06-30T14:40:04.110" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25085" PostTypeId="1" AcceptedAnswerId="25090" CreationDate="2014-06-30T15:19:35.103" Score="16" ViewCount="4624" Body="&lt;p&gt;I need a list of $\Sigma_2^p$ complete languages. There are two such problems listed in the &lt;a href=&quot;https://complexityzoo.uwaterloo.ca/Complexity_Zoo%3aS&quot;&gt;Complexity Zoo&lt;/a&gt;, namely:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Minimum equivalent DNF. Given a DNF formula F and integer k, is there a DNF formula equivalent to F with k or fewer occurences of literals?&lt;/li&gt;&#xA;&lt;li&gt;Shortest implicant. Given a formula F and integer k, is there a conjunction of k or fewer literals that implies F?&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Another basic $\Sigma_2^p$ complete problem:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$\Sigma_i \text{SAT}$. Given a quantified boolean formula $\varphi$ of the form $\varphi = \exists \vec{u} \forall \vec{v}\, \phi(\vec{u}, \vec{v})$, is $\varphi$ valid?&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;However, I am hopefully looking for a problem which makes use of graphs (e.g. a clique related problem).&lt;/p&gt;&#xA;" OwnerUserId="16378" LastEditorUserId="5693" LastEditDate="2014-07-01T12:47:53.143" LastActivityDate="2014-07-01T12:47:53.143" Title="Examples of $\Sigma_2^p$ complete problems?" Tags="&lt;complexity-classes&gt;&lt;polynomial-hierarchy&gt;" AnswerCount="3" CommentCount="3" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="25086" PostTypeId="1" CreationDate="2014-06-30T19:34:20.883" Score="0" ViewCount="94" Body="&lt;p&gt;Given $\sqrt{n}$ numbers of $n$ bits each. I need to find its OR and store it at another number RESULT of $n$ bits.&#xA;Trivially it can be done in $\mathcal{O}(n \sqrt{n})$ time, or $\mathcal{O}(n \sqrt{n} \,/ \log n)$ considering RAM model with word size $\log n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am interested in some deterministic or randomized solution that takes $\mathcal{O}(n \text{ polyLog } n)$ time expected or exact to solve the problem. I need an exact solution but expected time will work.&lt;/p&gt;&#xA;" OwnerUserId="22911" LastEditorUserId="16378" LastEditDate="2014-07-01T12:55:36.680" LastActivityDate="2014-07-01T12:55:36.680" Title="To find OR of $\sqrt{n}$ numbers each of $n$ bits?" Tags="&lt;lower-bounds&gt;&lt;randomized-algorithms&gt;" AnswerCount="0" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="25088" PostTypeId="2" ParentId="25085" CreationDate="2014-06-30T21:22:17.080" Score="7" Body="&lt;p&gt;Deciding the existence of an &quot;evolutionarily stable strategy&quot; in a normal-form game. See &lt;a href=&quot;http://www.cs.duke.edu/~conitzer/ess.pdf&quot;&gt;http://www.cs.duke.edu/~conitzer/ess.pdf&lt;/a&gt; .&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The setup is a 2-player symmetric game. An evolutionarily stable strategy is a (randomized) strategy that is (a) a symmetric nash equilibrium, and (b) there are no good &quot;symmetric deviations&quot;: in this equilibrium, if one player can deviate to some strategy and maintain equal utility, then the other player would do strictly worse to then also deviate to this strategy.&lt;/p&gt;&#xA;" OwnerUserId="8243" LastActivityDate="2014-06-30T21:22:17.080" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25089" PostTypeId="2" ParentId="6115" CreationDate="2014-06-30T23:02:48.037" Score="-1" Body="&lt;p&gt;If we generalize the game condition then it's equal to Cop-Robber game of path-width. The only relaxation is that robber can move to any vertex $v$ he wants if there is a clean path (no cop along that path) from his current position to $v$. Then the minimum number of cops needed to catch the robber is path-width(G) - $1$. If cops are allowed to see a robber in similar game as I stated, then the minimum number of cops are needed to catch the robber is equal to the tree-width(G) - $1$. In both cases there is a polynomial algorithm to find the robber for a fixed $k$, also for a planar graphs it's possible to approximate the number of cops (and then obtaining corresponding decomposition) in polynomial time. May be you are interested to read more from &lt;a href=&quot;http://www.newton.ac.uk/programmes/LAA/seminars/2006050411001.pdf&quot; rel=&quot;nofollow&quot;&gt;this&lt;/a&gt; lecture notes.&lt;/p&gt;&#xA;" OwnerUserId="1846" LastActivityDate="2014-06-30T23:02:48.037" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25090" PostTypeId="2" ParentId="25085" CreationDate="2014-07-01T00:45:02.270" Score="16" Body="&lt;p&gt;Marcus Schaefer and Chris Umans have &lt;a href=&quot;http://ovid.cs.depaul.edu/documents/phcom.pdf&quot;&gt;a nice Garey-and-Johnson-esque survey&lt;/a&gt; of complete problems in the polynomial hierarchy.&lt;/p&gt;&#xA;" OwnerUserId="969" LastActivityDate="2014-07-01T00:45:02.270" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25091" PostTypeId="2" ParentId="25066" CreationDate="2014-07-01T01:27:19.043" Score="9" Body="&lt;p&gt;There are two ways your question can be interpreted: the complexity&#xA;theorist view and the application programmer view, which is a bit caricaturing the&#xA;situation, but should get my meaning across.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;People in complexity theory will mainly wonder whether an actual&#xA;problem, practical or theoretical, can be encoded into CSL&#xA;recognition.  As noted in the comments of &lt;a href=&quot;https://cstheory.stackexchange.com/posts/comments/62353&quot;&gt;Marzio De Biasi&lt;/a&gt; and of &lt;a href=&quot;https://cstheory.stackexchange.com/posts/comments/62376&quot;&gt;user&#xA;vzn&lt;/a&gt;, a large number of real world problems may be encoded as CSL, as&#xA;CSL are recognized by non-deterministic linear bounded automata (LBA), and&#xA;conversely . It means that all these algorithms belong to the powerful&#xA;class of problems solvable non-deterministically in linear space.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But I strongly doubt that a single one of them is actually solved in&#xA;this way for practical purposes. Which brings us to the other view.  I&#xA;guess everyone knows that context-free (CF) or regular languages are&#xA;used as theoretically defined for various purposes, such as the syntax&#xA;of programming languages, or string pattern matching. Since it is also&#xA;known that CF and regular languages are context-sensitive languages&#xA;(CSL), they do stand as excellent answer to the question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But since you must have known that, I must conclude that this is not&#xA;the answer you were looking for. And the alternative is a more&#xA;restrictive question: whether the theoretical formalisation of CSL is&#xA;actually used as such for some &quot;real-world&quot; purpose.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Actual use of a formalism in the real world usually entails 2&#xA;properties:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;the formalism must be perspicuous, and express appropriately the&#xA;structural properties of the problem for which it is used.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;the formalism must be computationally tractable (in a pragmatic sense).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;My impression is that neither is an obvious characteristic of CS&#xA;languages. I am no expert on this, and you should not trust me too&#xA;much, but there does not seem to be structural organisation that can&#xA;be associated to all CSL, like parse-trees can be associated to&#xA;strings of CFL, or like regular expressions, even though many closure&#xA;properties are known for CSL (which are &lt;a href=&quot;http://en.wikipedia.org/wiki/Abstract_family_of_languages&quot; rel=&quot;nofollow noreferrer&quot;&gt;AFL&lt;/a&gt;s). Also, the associated&#xA;automaton, the LBA, is not the most obvious computing device to use as it is&#xA;non deterministic, and probably too powerful to be simulated&#xA;efficiently in specific application. But I insist this is just informal&#xA;intuition, not hard facts.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The fact is that many problems, like CF and regular languages, do not&#xA;need the full power of CSL and can be better dealt with more&#xA;specialized formalism, computationally easier to use, and expressing&#xA;more closely the problem at hand.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A typical example is in natural language processing. There are&#xA;linguistics structures (such as &lt;a href=&quot;https://linguistics.stackexchange.com/questions/414&quot;&gt;cross-serial dependency&lt;/a&gt;) that are not&#xA;naturally expressed with CF languages. Thus scientists have been&#xA;defining more powerful syntactics formalisms, such as tree-adjoining&#xA;grammar (TAG), Combinatory categorial grammars, ..., and the whole hierarchy&#xA;of linear context-free rewriting system (LCFRS), sometimes called&#xA;collectively &lt;a href=&quot;http://en.wikipedia.org/wiki/Mildly_context-sensitive_language&quot; rel=&quot;nofollow noreferrer&quot;&gt;mildly context-sensitive languages&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another way to venture into context-sensitivity is to use a&#xA;context-free backbone and attach to the non-terminals various&#xA;attributes that must satisfy equations associated with rules.  This&#xA;lead to the &lt;a href=&quot;http://en.wikipedia.org/wiki/Attribute_grammar&quot; rel=&quot;nofollow noreferrer&quot;&gt;attribute grammar&lt;/a&gt; formalism in compiler technology, and to&#xA;the use of so called &lt;a href=&quot;http://en.wikipedia.org/wiki/Feature_structure&quot; rel=&quot;nofollow noreferrer&quot;&gt;feature structures&lt;/a&gt; in formalisms like lexical functional&#xA;grammar.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In other word, people do venture in the realm of context sensitivity,&#xA;but with specialized formalisms that are well adapted for expressing&#xA;the problems adressed. Actually, the two form of venturing into&#xA;context sensitivity described above can be combined and are combined.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Natural and programming languages are not the only application. For&#xA;example TAGs and equivalent formalism have been considered in biology&#xA;the explain DNA structures related to specific types of &lt;a href=&quot;http://pstag.dna.bio.keio.ac.jp/&quot; rel=&quot;nofollow noreferrer&quot;&gt;folding of DNA or RNA strands&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So the answer is yes, context-sensitivity is used, both in the&#xA;complexity sense and in real applications.  But no, it is not, as far&#xA;as I know, by direct use of the CSL formalism.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Note: Marzio De Biasi pointed to a &lt;a href=&quot;http://www.biomedcentral.com/1471-2105/10/281&quot; rel=&quot;nofollow noreferrer&quot;&gt;genetics article&lt;/a&gt; that claims to&#xA;use a context sensitive grammar.  This is probably to be taken&#xA;informally as &quot;more powerful than context-free&quot;. Indeed, the claim&#xA;later concerns &quot;a context-sensitive deterministic grammar&quot;, which is&#xA;both undefined and significantly restrictive. Later description shows&#xA;that it seems actually a minimal extension of CFL, probably less powerful&#xA;than the use of TAGs (but I would need more work to see precisely&#xA;where it stands: it may just be CF in power).&lt;/p&gt;&#xA;" OwnerUserId="16132" LastEditorUserId="-1" LastEditDate="2017-04-13T12:54:12.010" LastActivityDate="2014-07-01T01:27:19.043" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25092" PostTypeId="2" ParentId="25085" CreationDate="2014-07-01T06:33:39.557" Score="8" Body="&lt;p&gt;A rather recent result not included in the Schaefer and Umans paper is &lt;strong&gt;2-CLIQUE COLOURING OF PERFECT GRAPHS&lt;/strong&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See  David Defossez, &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=1598868&quot;&gt;Complexity of clique-coloring odd-hole-free graphs&lt;/a&gt;. J. Graph Theory 62, 2 (October 2009), 139-156, and some recent improvements (2013): Hélio B. Macêdo Filho, Raphael C. S. Machado, Celina M. H. de Figueiredo, &lt;a href=&quot;http://arxiv.org/abs/1312.2086&quot;&gt;Hierarchical complexity of 2-clique-colouring weakly chordal graphs and perfect graphs having cliques of size at least 3&lt;/a&gt; (the problem is still $\Sigma_2^p$-complete for weakly chordal graphs, and for perfect graphs having cliques of size at least 3).&lt;/p&gt;&#xA;" OwnerUserId="3247" LastActivityDate="2014-07-01T06:33:39.557" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25097" PostTypeId="1" CreationDate="2014-07-01T11:15:02.757" Score="9" ViewCount="1283" Body="&lt;p&gt;When the conjecture $\mathbf{P} = \mathbf{NP}$ or $\mathbf{P} \neq \mathbf{NP}$ is set (e.g. by the Clay Mathematical Institute by S. Cook, see &lt;a href=&quot;http://www.claymath.org/sites/default/files/pvsnp.pdf&quot;&gt;here&lt;/a&gt;) what mathematical axiomatic system is assumed?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In order to prove or disprove such statements, you need to assume some axioms. Which ones? Only the Peano (2nd order formal language) arithmetic? The &lt;a href=&quot;http://en.wikipedia.org/wiki/Zermelo%E2%80%93Fraenkel_set_theory&quot;&gt;Zermelo–Fraenkel set theory&lt;/a&gt; with the axiom of choice? Smaller axiomatic set theories (e.g. Gödel's constructible sets, where the continuum hypothesis holds too, see &lt;a href=&quot;http://mathpost.asu.edu/~sjgm/issues/2005_spring/SJGM_rogers.pdf&quot;&gt;here&lt;/a&gt;)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Obviously, it should be an axiomatic theory that accepts the countable infinite. But which in particular? Is there any published result that would prove them consistent in a particular axiomatic set theory? (In other words, defining a model in which it is true, but not claiming to be true in all models).&lt;/p&gt;&#xA;" OwnerUserId="25306" LastEditorUserId="5693" LastEditDate="2014-07-01T14:02:59.633" LastActivityDate="2014-07-14T11:25:44.580" Title="What is the axiomatic (set theory) context of the P vs NP and NP=EXPTIME conjectures?" Tags="&lt;cc.complexity-theory&gt;&lt;model-theory&gt;" AnswerCount="1" CommentCount="10" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="25098" PostTypeId="2" ParentId="25097" CreationDate="2014-07-01T13:30:46.870" Score="15" Body="&lt;p&gt;It's not specified. When there is a serious enough candidate paper purporting to resolve P ≟ NP, a Special Advisory Committee will be formed to decide whether (and to whom) to award the prize. I presume that the Special Advisory Committee will decide whether your system of axioms is acceptable. If you assume Z-F with choice, I guarantee you they will take it. If you assume P ≠ NP as an axiom, I guarantee you they won't.&lt;/p&gt;&#xA;" OwnerUserId="1677" LastActivityDate="2014-07-01T13:30:46.870" CommentCount="11" ContentLicense="CC BY-SA 3.0" />
  <row Id="25099" PostTypeId="1" AcceptedAnswerId="25749" CreationDate="2014-07-01T13:54:19.737" Score="8" ViewCount="857" Body="&lt;p&gt;I am a computer scientist with a CS degree from the 80's.&#xA;&lt;strong&gt;I am learning category theory by myself.&lt;/strong&gt;&#xA;I am looking for advice about learning category theory.&#xA;E.g. it is quite helpful in learning category theory&#xA;to have examples from a familiar topic like logic or programming languages.&lt;/p&gt;&#xA;&lt;h3&gt;What I know&lt;/h3&gt;&#xA;&lt;p&gt;I have read the answers to &lt;a href=&quot;https://cstheory.stackexchange.com/q/19869/8739&quot;&gt;this question&lt;/a&gt; and the paper&#xA;&lt;a href=&quot;http://arxiv.org/pdf/0903.0340v3.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Physics, Topology, Logic and Computation: A Rosetta Stone&lt;/a&gt;&#xA;which builds up concepts with parallels between category theory,  logic, and theory of computation.&lt;/p&gt;&#xA;&lt;p&gt;I know about the following categories:&lt;/p&gt;&#xA;&lt;p&gt;• categories&lt;br /&gt;&#xA;• monoidal categories&lt;br /&gt;&#xA;• braided monoidal categories&lt;br /&gt;&#xA;• closed monoidal categories&lt;br /&gt;&#xA;• symmetric monoidal categories&lt;br /&gt;&#xA;• closed braided monoidal categories&lt;br /&gt;&#xA;• compact monoidal categories&lt;br /&gt;&#xA;• cartesian categories&lt;br /&gt;&#xA;• closed symmetric monoidal categories&lt;br /&gt;&#xA;• compact braided monoidal categories&lt;br /&gt;&#xA;• cartesian closed categories&lt;br /&gt;&#xA;• compact symmetric monoidal categories&lt;/p&gt;&#xA;&lt;h3&gt;Questions&lt;/h3&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Are there any other major categories that a computer scientist should know about?&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Were there any that have fallen out of favor?&#xA;If yes, why?&#xA;Have they been replaced with other categories?&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;When thinking about categories should I&#xA;focus on the arrows first before the objects?&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="8739" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2014-09-16T13:20:43.047" Title="Categories a computer scientist should know about" Tags="&lt;ct.category-theory&gt;" AnswerCount="3" CommentCount="12" FavoriteCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="25100" PostTypeId="2" ParentId="6115" CreationDate="2014-07-01T14:02:35.957" Score="0" Body="&lt;p&gt;As noted by @MarcusRitt in the comments, this is known as graph searching.&#xA;I'd like to add, however, that the specific variant you describe (i.e., relating the number of rounds played with the number of searchers employed) has also been investigated, which is not noted in the Wikipedia article.&#xA;Interestingly, the transition from search space to search time retains the characterizations of the problem (by introducing appropriate &quot;dual&quot; versions of the respective parameters).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See the article &quot;Graph searching and search time&quot; by Brandenburg and Herrmann at SOFSEM 2006.&lt;/p&gt;&#xA;" OwnerUserId="15475" LastActivityDate="2014-07-01T14:02:35.957" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25102" PostTypeId="1" CreationDate="2014-07-01T19:52:04.863" Score="10" ViewCount="136" Body="&lt;p&gt;Given two polyhedra $P$ and $Q$, $P$ and $Q$ are are equidecomposable if there are finite sets of polyhedra $P_1, \ldots, P_n$ and $Q_1, \ldots, Q_n$ such that $P_i$ and $Q_i$ are congruent for all $i$, $P = \cup_{i=1}^n P_i$ and $Q = \cup_{i=1}^n Q_i$. &lt;a href=&quot;https://en.wikipedia.org/wiki/Equidecomposable&quot;&gt;It is known&lt;/a&gt; that if $P$ and $Q$ are polygons of equal area, such an &lt;em&gt;equidecomposition&lt;/em&gt; always exists and that this &lt;a href=&quot;https://en.wikipedia.org/wiki/Hilbert%27s_third_problem&quot;&gt;does not hold in general for higher dimensions&lt;/a&gt;.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am curious as to the complexity of the minimum equidecomposition problem:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;For two polygons $P$ and $Q$, find a equidecomposition $P_1, \ldots, P_n$ and $Q_1, \ldots, Q_n$ that minimizes $n$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Are there algorithms (exact, polynomial, exponential, approximation) for this?  Is the complexity known?&lt;/p&gt;&#xA;" OwnerUserId="25489" LastActivityDate="2014-07-02T06:10:39.717" Title="Minimum equidecomposable decomposition" Tags="&lt;ds.algorithms&gt;&lt;computational-geometry&gt;&lt;polygon&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="25103" PostTypeId="1" CreationDate="2014-07-01T21:32:27.090" Score="7" ViewCount="203" Body="&lt;p&gt;Nisan's answer to this &lt;a href=&quot;https://cstheory.stackexchange.com/questions/562/how-to-produce-a-random-graph-that-does-not-have-a-hamiltonian-cycle/567#567&quot;&gt;question&lt;/a&gt; shows the Impossiblity of efficient sampling from random non-Hamiltonian graphs (unless $NP=coNP$). I am interested in the implications of this conjecture.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Does the Impossibility of efficient sampling from random non-Hamiltonian graphs imply that $NP \ne coNP$?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I am also interested in other complexity implications.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT July 4: My intuition is that efficient sampling from random non-Hamiltonian graphs is possible if and only if $NP=coNP$. It hints a probabilistic characterization of class $NP$ (possibly connected to PCP theorem).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would be very interested in published works about (preferably efficient) sampling from random non-Hamiltonian graphs (and any possible connection to PCP theorem).&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2015-08-09T22:21:37.773" Title="Implications of the impossibility of efficient sampling from random non-Hamiltonian graphs" Tags="&lt;cc.complexity-theory&gt;&lt;proof-complexity&gt;" AnswerCount="0" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="25104" PostTypeId="1" CreationDate="2014-07-02T05:05:35.247" Score="1" ViewCount="70" Body="&lt;p&gt;Given a problem &lt;/p&gt;&#xA;&#xA;&lt;p&gt;\begin{equation}&#xA;\max_{x\in X} \min_{y \in Y}  f(x,y)&#xA;\end{equation}&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where $f$ is strongly convex in $Y$ and strongly concave in $X$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;How to show that the following iterative processes will finally converge and how is the speed?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;\begin{equation}&#xA;x_k=\arg\max_{x \in X} f(x,y_{k-1})&#xA;\end{equation}&lt;/p&gt;&#xA;&#xA;&lt;p&gt;\begin{equation}&#xA;y_k=\arg\min_{y \in Y} f(x_{k-1},y)&#xA;\end{equation}&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;UPDATE 1&lt;/strong&gt;: &lt;em&gt;The problem is being rewritten in order to distinguish from &lt;a href=&quot;https://cstheory.stackexchange.com/questions/24975/iteratively-minimizing-the-function&quot;&gt;another question&lt;/a&gt; which looks similar.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;UPDATE 2&lt;/strong&gt;: &lt;em&gt;The function $f$ is now strongly convex in $Y$ and strongly concave in $X$&lt;/em&gt;&lt;/p&gt;&#xA;" OwnerUserId="25492" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2014-07-03T06:36:10.723" Title="Proof of convergence of alternative minimization/maximization" Tags="&lt;reference-request&gt;&lt;optimization&gt;&lt;proofs&gt;" AnswerCount="0" CommentCount="6" ClosedDate="2014-07-03T03:01:13.377" ContentLicense="CC BY-SA 3.0" />
  <row Id="25105" PostTypeId="2" ParentId="25102" CreationDate="2014-07-02T06:10:39.717" Score="6" Body="&lt;p&gt;For disconnected one-dimensional regions with integer coordinates, equidecomposition into a minimum number of pieces is strongly NP-hard via an easy reduction to 3SUM: if one shape has segments whose lengths are the 3SUM inputs and the other has segments whose lengths are the bins you have to pack them in, then you can do it with no additional cutting iff the 3SUM instance is solvable. For two-dimensional polygons it remains hard, even for connected regions: thicken the segments of a one-dimensional problem to unit-height rectangles and connect them by thin &quot;strings&quot; that have too small an area to affect the 3SUM part of the problem but are easy to handle in the decomposition.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Disclaimer: I borrowed this reduction idea from some not-yet-published joint work with many other people on hardness of some other problems.)&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2014-07-02T06:10:39.717" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="25106" PostTypeId="1" AcceptedAnswerId="25108" CreationDate="2014-07-02T10:25:39.847" Score="1" ViewCount="178" Body="&lt;p&gt;There is a result which goes along the lines of:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Definition:&lt;/strong&gt; For every language $L$, define $L_n = \{ w \in L \mid \text{length}(w) = n \}$, i.e. the subset of $L$ of words whose length is $n$.&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;&lt;strong&gt;Theorem:&lt;/strong&gt; If $\mathbf{P} = \mathbf{NP}$, then for every $\mathbf{NP}$-complete language $L$ there exists a polynomial $p : \mathbb{N} \rightarrow \mathbb{N}$ such that for every integer $n$ it is the case that $|L_n| \leq p(n)$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The intuition of the theorem is that if $\mathbf{P} = \mathbf{NP}$, then $\mathbf{NP}$-complete languages have a polynomial density of solutions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As we believe that $\mathbf{P} \neq \mathbf{NP}$, we should tend to believe the contrary, i.e. that $\mathbf{NP}$-complete problems do not have a polynomial density of solutions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt; For the case of 3-coloring, for large $n$ there are many 3-colorable graphs with $n$ nodes; in any case, the number of 3-colorable graphs is not bounded by a polynomial.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does anyone recognise this result? What is the actual statement of the theorem? Any reference would be welcome!&lt;/p&gt;&#xA;" OwnerUserId="16378" LastActivityDate="2014-07-02T13:33:25.707" Title="Density of answers for NP complete problems?" Tags="&lt;cc.complexity-theory&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25108" PostTypeId="2" ParentId="25106" CreationDate="2014-07-02T13:09:50.330" Score="7" Body="&lt;p&gt;You are defining what is known as sparse sets. &lt;a href=&quot;http://www.cs.umd.edu/~jkatz/complexity/f05/lecture6.pdf&quot;&gt;Mahaney's theorem&lt;/a&gt; states that sparse $NP$-complete (under Karp reduction ) sets exist if and only if $P=NP$. So, your theorem is just one direction of that theorem.&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2014-07-02T13:33:25.707" LastActivityDate="2014-07-02T13:33:25.707" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25113" PostTypeId="1" CreationDate="2014-07-02T14:07:05.647" Score="9" ViewCount="297" Body="&lt;p&gt;What are the examples of problems known to be in $\mathsf{AM}$ (resp. $\mathsf{MA}$) which are not known to be in $\mathsf{NP}$ nor in $\mathsf{BPP}$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For $\mathsf{AM}$, I know the following two examples:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Graph non-isomorphism:&lt;/strong&gt; Given two labeled graphs $G$ and $H$, are they the same graph up to permutation of the vertices?&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Lower bound protocol:&lt;/strong&gt; You are given a set $S\subset\{0,1\}^m$ such that you know that either $|S|\le\alpha|U|$ or $|S|\ge 4\alpha|U|$ for some $0\le\alpha\le 1$, and such that $S\in\mathsf{AM}$ (that is, given $y\in U$, checking whether $y\in S$ can be solved in $\mathsf{AM}$), and you have to decide whether $|S\ge 4\alpha|U|$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;For $\mathsf{MA}$, I do not know of any example. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;My refined question: Do we know other problems in $\mathsf{AM}$ or $\mathsf{MA}$, not known to be in $\mathsf{NP}\cup\mathsf{BPP}$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am not interested in problems for which the only proof that they belong to $\mathsf{AM}$ is by using one of these two protocols. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Edit:&lt;/em&gt; My main motivation is to be able to give examples of $\mathsf{AM}$ or $\mathsf{MA}$ algorithms to explain what these classes are.&lt;/p&gt;&#xA;" OwnerUserId="976" LastActivityDate="2014-07-02T20:40:29.410" Title="Problems in AM or in MA" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;" AnswerCount="1" CommentCount="8" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="25114" PostTypeId="1" CreationDate="2014-07-02T14:12:25.563" Score="4" ViewCount="161" Body="&lt;p&gt;Is the following &lt;a href=&quot;http://en.wikipedia.org/wiki/Busy_beaver&quot; rel=&quot;nofollow&quot;&gt;Busy Beaver&lt;/a&gt; variant known?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A Universal Turing machine $J$, feeded with a description of a deterministic Turing machine $M_i$, starts simulating $M_i$ on inputs $x_j = 1,2,3,...$ for $|x_j|^i$ steps until $M_i(x_j)$ accepts; then $J$ outputs $x_j$ (if $M_i$ doesn't halt in $|x_j|^i$ steps  $J$ continues with the next $x_j$). In other words:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$J(M_i) = min\{ x \mid M_i(x) \text{ halts and accept in less than } |x|^i \text{ steps}\}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Fancifully, $J(M_i)$ - when defined - represents &lt;em&gt;how high the polynomial-time Turing machine&lt;/em&gt; $M_i$ &lt;em&gt;can &quot;jump&quot;&lt;/em&gt;. So, for every $n$, we can define the &lt;em&gt;Jumping Beaver&lt;/em&gt; as the Turing machine $M$ of size $n$ that achieve the highest jump $j(n) = max \{ J(M) \mid |M| = n\}$ .&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But in a similar way we can define $J'$ that &quot;measures&quot; the jumps of a &lt;em&gt;nondeterministic Turing machine&lt;/em&gt; $N_i$ ($J'$ simulates all branches of $N_i$ on input $x$ for at most $|x|^i$ steps).&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Do nondeterministic jumping beavers perform better than deterministic jumping beavers? I.e. does $j'(n) &amp;gt; j(n)$ hold? (for some values of $n$ or infinitely often)&lt;br&gt;&lt;br&gt;&#xA;  What about the limit $\lim_{n \to \infty}j'(n)/j(n)$?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;br&gt;&lt;em&gt;Note&lt;/em&gt;: the enumeration of the deterministic Turing machines $M_i$ is different from the enumeration of the nondeterministic $N_i$ (due to the nondeterministic transitions), so, to make $J$ and $J'$ directly comparable, we can follow this alternative approach: $J$ simulates $M_i$ on input $x_j \# 0^{|x_j|}$;  $J'$ can take as input a deterministic Turing machine $M_i$, too but simulates it on inputs $x_j \# y$ for all $y \in \{0,1\}^{|x_j|}$ and stops its search if at least one computation accepts. In this setting that &lt;em&gt;seems&lt;/em&gt; equivalent to the formulation above (indeed $J'$ &lt;em&gt;seems&lt;/em&gt; to capture all the power of NP), it is easy to see that $j(n) = j'(n)$.&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2014-07-02T18:06:34.393" LastActivityDate="2014-07-04T03:40:52.583" Title="Jumping (Busy) Beaver variant" Tags="&lt;computability&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="25117" PostTypeId="2" ParentId="25113" CreationDate="2014-07-02T20:40:29.410" Score="8" Body="&lt;p&gt;[I'm posting this as an answer despite being in &lt;span class=&quot;math-container&quot;&gt;$\mathsf{PromiseMA}$&lt;/span&gt; because a) it exhibits a different kind of &lt;span class=&quot;math-container&quot;&gt;$\mathsf{MA}$&lt;/span&gt;-style algorithm, and b) @PeterShor asked  and it was too long for a comment.]&lt;/p&gt;&#xA;&lt;p&gt;Over any finite field &lt;span class=&quot;math-container&quot;&gt;$\mathbb{F}$&lt;/span&gt;, the following problem is in &lt;span class=&quot;math-container&quot;&gt;$\mathsf{PromiseMA}$&lt;/span&gt;:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;Input&lt;/strong&gt;: A set of &lt;span class=&quot;math-container&quot;&gt;$\mathbb{F}$&lt;/span&gt;-polynomials &lt;span class=&quot;math-container&quot;&gt;$F_1(\vec{x}), \dotsc, F_m(\vec{x})$&lt;/span&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Decide&lt;/strong&gt;: Is there no solution to &lt;span class=&quot;math-container&quot;&gt;$F_1(\vec{x}) = \dotsb = F_m(\vec{x}) = 0$&lt;/span&gt; over the algebraic closure &lt;span class=&quot;math-container&quot;&gt;$\overline{\mathbb{F}}$&lt;/span&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Promise&lt;/strong&gt;: Either there is a solution over &lt;span class=&quot;math-container&quot;&gt;$\overline{\mathbb{F}}$&lt;/span&gt;, or there is a &lt;em&gt;poly-size&lt;/em&gt; &lt;span class=&quot;math-container&quot;&gt;$\mathbb{F}$&lt;/span&gt;-algebraic circuit &lt;span class=&quot;math-container&quot;&gt;$C(\vec{x}, y_1, \dotsc, y_m)$&lt;/span&gt; such that &lt;span class=&quot;math-container&quot;&gt;$C(\vec{x}, \vec{0}) = 0$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$C(\vec{x}, \vec{F}(\vec{x})) = 1$&lt;/span&gt; (identically as polynomials)&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;The &lt;span class=&quot;math-container&quot;&gt;$\mathsf{MA}$&lt;/span&gt;-style algorithm guesses the circuit &lt;span class=&quot;math-container&quot;&gt;$C$&lt;/span&gt;, and then verifies the two conditions using polynomial identity testing, which is in &lt;span class=&quot;math-container&quot;&gt;$\mathsf{coRP}$&lt;/span&gt; by Schwarz-Zippell-DeMillo-Lipton.&lt;/p&gt;&#xA;&lt;p&gt;Note that, without the restriction of poly-size, Hilbert's Nullstellensatz guarantees that there is no solution if and only if there is &lt;em&gt;some&lt;/em&gt; circuit &lt;span class=&quot;math-container&quot;&gt;$C$&lt;/span&gt; satisfying the above two conditions. (On the other hand, assuming &lt;span class=&quot;math-container&quot;&gt;$\mathsf{NP} \not\subseteq \mathsf{coMA}$&lt;/span&gt;, there are systems of equations coming from algebrizations of 3SAT for which the above poly-size promise is violated.)&lt;/p&gt;&#xA;&lt;p&gt;(This is the basis of an algebraic proof system from recent &lt;a href=&quot;http://eccc.hpi-web.de/report/2014/052/&quot; rel=&quot;noreferrer&quot;&gt;joint work with Toniann Pitassi&lt;/a&gt;, but for the purposes of this answer similar ideas go back to an &lt;a href=&quot;http://www.cs.toronto.edu/~toni/Papers/pitassi-algebraic.ps&quot; rel=&quot;noreferrer&quot;&gt;earlier paper of Pitassi's&lt;/a&gt; as well as her &lt;a href=&quot;http://www.mathunion.org/ICM/ICM1998.3/Main/14/Pitassi.MAN.ocr.pdf&quot; rel=&quot;noreferrer&quot;&gt;1998 ICM talk&lt;/a&gt;, and to the so-called &lt;a href=&quot;http://dx.doi.org/10.1112/plms/s3-73.1.1&quot; rel=&quot;noreferrer&quot;&gt;Nullstellensatz&lt;/a&gt; and &lt;a href=&quot;http://dx.doi.org/10.1145/237814.237860&quot; rel=&quot;noreferrer&quot;&gt;Polynomial Calculus&lt;/a&gt; proof systems.)&lt;/p&gt;&#xA;" OwnerUserId="129" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2014-07-02T20:40:29.410" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="25118" PostTypeId="1" CreationDate="2014-07-03T00:44:29.853" Score="8" ViewCount="557" Body="&lt;p&gt;Given a data table containing a very large number $N$ of rows, with each row containing a large number $k$ of fields, with each field containing a large but fixed number of bits, there are a number of methods for constructing an &quot;index&quot; structure so that the following operations can be performed on the table and index in $O(k\log N)$ time (relative to $N$ and $k$):&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Insert a new element into the table.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Remove a specified element from the table.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Given a set of values of the fields, obtain the first record that is in the table with field values greater than the given field values, when the table is sorted into the lexicographic order with field 1 first, field 2 second, etc.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;We wish to generalize this construction so that when operation 3 is done, any of the $k!$ orderings of the $k$ fields can be specified to determine the ordering of the records in the table.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Clearly, this can be done by constructing k! indexes, one for each ordering of the fields.  Then the operations take $O(k!k\log N)$ time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We want an algorithm whose operations are much faster (relative to $k$), preferably $O(k\log k \log N)$ time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does such an algorithm/data structure exist?  It seems likely that if it existed, someone would have published and implemented it by now, but I've found no signs that one exists.  Conversely, perhaps it can be proven that no such algorithm exists.  But I've found no signs that such a proof exists.&lt;/p&gt;&#xA;" OwnerUserId="25506" LastEditorUserId="43" LastEditDate="2014-07-03T02:14:09.647" LastActivityDate="2014-12-05T00:35:33.607" Title="Does a universal index exist?" Tags="&lt;ds.algorithms&gt;&lt;ds.data-structures&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="25122" PostTypeId="1" CreationDate="2014-07-03T08:11:20.700" Score="2" ViewCount="100" Body="&lt;p&gt;I have an ordered bipartite graph such that every node of the first node set is connected to every node in the second node set by an edge of a given direction (i.e., a so-called bipartite tournament graph). The direction of a given subset of the edges may be reversed, the direction of the others not.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I want to determine a minimal set of edges which are reversible and which need to be reversed such that the graph becomes acyclic.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does anyone know an integer programming formulation for this?&lt;/p&gt;&#xA;" OwnerUserId="10558" LastActivityDate="2014-07-03T08:11:20.700" Title="Linear ordering of bipartite tournament graphs" Tags="&lt;graph-theory&gt;&lt;optimization&gt;&lt;integer-programming&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="25124" PostTypeId="1" CreationDate="2014-06-28T19:57:28.530" Score="15" ViewCount="222" Body="&lt;p&gt;I have a question about &lt;a href=&quot;http://www.math.pku.edu.cn/teachers/yaoy/Fall2011/cheeger_chung.pdf&quot;&gt;this paper&lt;/a&gt; (not behind a pay wall) on the Cheeger inequality for graphs. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;One of the main ideas of the paper is that random walks on graphs can be used to find sets with small isoperimetric ratio.  The principle seems to be as follows: if a vertex $v$ is well connected to a neighborhood of a vertex $u$, then a random walk starting at $u$ will visit $v$ more often than you would expect from looking at the degree of $v$ alone.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This principle is made precise and quantitative via various mixing estimates in the paper.  I want to ask about one specific mixing result (Lemma 4 of secton 6), though my question may apply to the others as well.  First, the notation:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$S$ is a set of vertices in an undirected graph $G$&lt;/li&gt;&#xA;&lt;li&gt;$W$ is the lazy random walk matrix of $G$: $W = \frac{1}{2}(I + D^{-1}A)$ where $D$ is the degree matrix and $A$ is the adjacency matrix&lt;/li&gt;&#xA;&lt;li&gt;$pr_u$ is a &lt;em&gt;personalized PageRank vector&lt;/em&gt; associated to a vertex $u$ with parameter $c$; it is the unique solution to the equation&#xA;$$pr_u = c \chi_u + (1-c)pr_u W$$&#xA;where $\chi_u$ is the characteristic function of $u$&lt;/li&gt;&#xA;&lt;li&gt;$\pi$ is the function defined on the vertex set of $G$ which assigns to each vertex $v$ the degree of $v$ divided by $vol(G)$.&lt;/li&gt;&#xA;&lt;li&gt;$\gamma_u$ is the smallest isoperimetric ratio obtained by a sweep over $pr_u$ (see section 4 of the paper)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The mixing result is:&#xA;$$\left| \frac{pr_u(S) - \pi(S)}{1 - \pi(S)} \right| \leq 1 - (1-c)^k + \sqrt{\frac{vol(S)}{d_u}}\left(1 - \frac{\gamma_u^2}{8}\right)(1-c)^k$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One of the key steps in the proof of this mixing result is the estimate:&#xA;$$f(x) \leq c + (1-c)fW(x)$$&#xA;where $f = \frac{pr_u - \pi}{1 - \pi}$ and $0 \leq x \leq vol(G)/2$ (see section 4 for the definition).  However, this estimate is not proved in the paper, and I have serious doubts that it is true (which I can share if desired).&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;First question: Can anyone prove this estimate, or confirm that it is incorrect?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;However, I believe I can prove the estimate for $f = pr_u$.  Moreover, I think that this is enough to prove the mixing lemma with $pr_u(S)$ instead of $\frac{pr_u(S) - \pi(S)}{1 - \pi(S)}$ on the left-hand side, and this in turn is enough to prove Theorem 4 in section 6 (with a different constant, though I think the constant in the paper is wrong either way).  But I am suspicious of this because it seems inconsistent in spirit with a variety of other results (including two other mixing results in the paper).&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Second question: Can anyone explain why $\frac{pr_u - \pi}{1 - \pi}$ instead of just $pr_u$ in the statement of Lemma 4 is necessary (either to prove Lemma 4 or Theorem 3)?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;This question is already very long, so I will keep this edit brief.  In an effort to understand what is going on, I looked at the corresponding results for random walks rather than PageRank vectors (Lemma 3 and Theorem 2 in the paper above).  Again, everything seems to work out without the need for the distribution $\pi$.  Lemma 3 is the estimate:&#xA;$$|f_k(S)| \leq \sqrt{\frac{vol(S)}{d_u}} \left(1-\frac{\beta_k^2}{8}\right)^k$$&#xA;where $f_k = \chi_u W^k - \pi$.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Again, let us replace $f_k$ with simply $\chi_u W^k$.  If $u \in S$ then $f_0(S) = 1$ and the right-hand side is $\sqrt{\frac{vol(S)}{d_u}} \geq 1$.  If $u \notin S$ then $f_0(S) = 0$ and the right-hand side is nonnegative.  The inductive step only uses the fact that $f_{k+1} = f_k W$, which is still true.  As far as I can tell the proof of Theorem 2 still works exactly the same way without $\pi$ (as long as Lemma 3 is true), so I again don't see why it is there.&lt;/p&gt;&#xA;" OwnerUserId="25516" OwnerDisplayName="Paul Siegel" LastActivityDate="2014-07-03T09:26:31.017" Title="Mixing properties of random walks on graphs" Tags="&lt;graph-theory&gt;" AnswerCount="0" CommentCount="8" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="25127" PostTypeId="1" AcceptedAnswerId="25189" CreationDate="2014-07-03T14:39:15.753" Score="11" ViewCount="1072" Body="&lt;p&gt;I am in possession of a book, which, inspired by Russell's Principia Mathematica (PM) and logical positivism, attempts to formalize a specific domain by determining axioms and deducing theorems from them. In short, it attempts to do for its domain what PM attempted to do for mathematics. Like PM, it was written before automated theorem proving (ATP) was possible.&lt;/p&gt;&#xA;&lt;p&gt;I am trying to represent these axioms in a modern ATP system, and attempt to deduce theorems, initially those deduced by the author (by hand). I have not used an ATP system before, and given the plethora of options (HOL, Coq, Isabelle, and many more), each with their strengths, weaknesses, and intended applications, it is proving difficult to decide which is appropriate for my specific purpose.&lt;/p&gt;&#xA;&lt;p&gt;The formalism of the author closely mirrors PM. There are classes (sets?), classes of classes, and so on up to 6 levels of hierarchy. There is first order, and possibly higher order logic. Given the connection to PM, I initially investigated Metamath, since several theorems of PM have been proved in MetaMath by other people. However, Metamath is of course a proof verifier and not an ATP system.&lt;/p&gt;&#xA;&lt;p&gt;Going through descriptions of various ATP systems, I see several characteristics, such as implementations of Church's type theory, constructive type theories, intuitionistic type theories, typed / untyped set theory, natural deduction, types of lambda calculi, polymorphism, recursive function theory, and the existence of equality (or not). In short, each system seems to implement a very different language, and must be appropriate for formalizing different things. I assume that existing libraries for formalizing mathematics are not relevant to my purpose.&lt;/p&gt;&#xA;&lt;p&gt;Any advice regarding the characteristics I should seek in choosing an ATP, or any other advice you may have after reading this question, would be much appreciated. For reference, here is a sample page from the book. Unfortunately, like PM, it is in Peano-Russell notation.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&quot;https://i.stack.imgur.com/C0N7p.jpg&quot; rel=&quot;nofollow noreferrer&quot;&gt;&lt;img src=&quot;https://i.stack.imgur.com/C0N7p.jpg&quot; alt=&quot;Page from book&quot; /&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The book -&lt;/p&gt;&#xA;&lt;p&gt;&amp;quot;The Axiomatic Method in Biology&amp;quot; (1937), J.H. Woodger, A. Tarski, W.F. Floyd&lt;/p&gt;&#xA;&lt;p&gt;The axioms start with the mereological. For example,&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;1.1.2 &lt;span class=&quot;math-container&quot;&gt;$x$&lt;/span&gt; is the sum of &lt;span class=&quot;math-container&quot;&gt;$\alpha$&lt;/span&gt; if &lt;span class=&quot;math-container&quot;&gt;$\alpha$&lt;/span&gt; is contained in the parts of &lt;span class=&quot;math-container&quot;&gt;$x$&lt;/span&gt;, and if when &lt;span class=&quot;math-container&quot;&gt;$y$&lt;/span&gt; is any part of &lt;span class=&quot;math-container&quot;&gt;$x$&lt;/span&gt; there is always a &lt;span class=&quot;math-container&quot;&gt;$z$&lt;/span&gt;&#xA;belonging to &lt;span class=&quot;math-container&quot;&gt;$\alpha$&lt;/span&gt; having parts in common with the parts of &lt;span class=&quot;math-container&quot;&gt;$y$&lt;/span&gt;:&lt;/p&gt;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$$S{ = }_{ Df }\hat { x } \hat { \alpha  } \{ \alpha \subset \vec { {&#xA;P }^{ ‘ } } x:.(y):yPx.\supset .(\exists z).z\in \alpha .\vec { { P&#xA;}^{ ‘ } } y\cap \vec { { P }^{ ‘ } } z\neq \Lambda \}$$&lt;/span&gt;&lt;/p&gt;&#xA;&lt;p&gt;Again, note that this is Peano-Russell notation (the notation of&#xA;Principia).&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Later axioms have biological content, such as,&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;7.4.2 When gametes of two members of a Mendelian class unite in pairs to form zygotes, the probability of any given pair uniting is equal to&#xA;that of the other pair.&lt;/p&gt;&#xA;&lt;p&gt;This, from what I understand, was a postulate of Mendelian genetics.&lt;/p&gt;&#xA;&lt;p&gt;I omit the notation for this because it is three lines long, and&#xA;builds upon previously defined content.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Example of a theorem -&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&quot;https://i.stack.imgur.com/6xJ18.jpg&quot; rel=&quot;nofollow noreferrer&quot;&gt;&lt;img src=&quot;https://i.stack.imgur.com/6xJ18.jpg&quot; alt=&quot;Theorem&quot; /&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This apparently carries a meaningful interpretation in Mendelian genetics, which, not being a historian of biology, I do not understand. In the book, it was deduced by hand.&lt;/p&gt;&#xA;&lt;p&gt;Thanks!&lt;/p&gt;&#xA;" OwnerUserId="25513" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2019-02-26T09:47:22.180" Title="What paradigm of automated theorem proving is appropriate for Principia Mathematica-style formalization?" Tags="&lt;lo.logic&gt;&lt;type-theory&gt;&lt;formal-modeling&gt;&lt;automated-theorem-proving&gt;&lt;bioinformatics&gt;" AnswerCount="2" CommentCount="3" FavoriteCount="5" ContentLicense="CC BY-SA 4.0" />
  <row Id="25128" PostTypeId="1" AcceptedAnswerId="25149" CreationDate="2014-07-04T00:25:07.577" Score="5" ViewCount="188" Body="&lt;p&gt;I'm trying to put together a general picture of the expressiveness of some logics: First-Order Logics, Fixed-Point Logics, (Finite Variable) Infinitary Logics and the respected versions with Counting. (&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.33.726&quot; rel=&quot;nofollow noreferrer&quot;&gt;Source&lt;/a&gt;)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\mathcal{L}^k_{\infty\omega}$ is infinitary logic with $k$ distinct variables and &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\mathcal{L}^\omega_{\infty\omega} := \bigcup_{k \in \omega}  \mathcal{L}^k_{\infty\omega}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;is finite variable infinitary logic. (Analog for Counting)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is in the context of Finite Model Theory so in general all structures are finite.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;We say  $\varphi$ and $\varphi'$ are equivalent if for every structure&#xA;  $\mathcal A$&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;$$ \mathcal A \models_\mathcal L \varphi \Leftrightarrow \mathcal A&#xA;&amp;gt; \models_{\mathcal {L'}} 	\varphi'.$$&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;If for every $\mathcal L$-sentence there is a equivalent&#xA;  $\mathcal L'$-sentence we write&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;$$ \mathcal L \leqq \mathcal L'.$$&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/GJT6X.png&quot; alt=&quot;Expressivness&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Most of the relations are relatively straight-forward. $\mathcal{L}^\omega_{\infty\omega}$ cannot express that a graph has an even number of nodes. Hence, both $\mathcal{L}_{\infty\omega}$ and $\mathcal{C}^\omega_{\infty\omega}$ are &#xA;strictly stronger because they can express any predicate over finite structures.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A though one is $\mathcal{L}_{\infty\omega} \equiv \mathcal{C}_{\infty\omega}$. I think this is correct since $\mathcal{L}_{\infty\omega}$ can express every predicate, thus adding counting should not make it more powerful. This it far from a proof but at most an intuition. Any ideas?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The other one I don't know is $\mathcal{C}^\omega_{\infty\omega} \lneqq \mathcal{C}_{\infty\omega}$. Again my intuition is that it is correct: How can we express any predicate with finite variables even with Counting? Any ideas on that? Maybe an example which is not expressible in &#xA;$\mathcal{C}^\omega_{\infty\omega}$?&lt;/p&gt;&#xA;" OwnerUserId="7594" LastEditorUserId="7594" LastEditDate="2014-07-05T17:35:36.640" LastActivityDate="2014-07-05T22:26:01.920" Title="Expressiveness of Infinitary Logic" Tags="&lt;lo.logic&gt;&lt;descriptive-complexity&gt;&lt;finite-model-theory&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25129" PostTypeId="1" CreationDate="2014-07-04T00:32:19.800" Score="3" ViewCount="286" Body="&lt;p&gt;The &lt;a href=&quot;http://www.scholarpedia.org/article/Small-world_network#Watts-Strogatz_networks&quot; rel=&quot;nofollow&quot;&gt;Watts-Strogatz model&lt;/a&gt; describes a mechanism of generating small-world networks.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The idea is to start from a ring network in which each node is connected a fixed number of its closest neighbors. After that, a rewiring is performed in which each link present in the network has a probability $p$ of changing one of its endpoints to a new random node. The closer $p$ to 1, the more random is the network.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a similar small-world model for &lt;strong&gt;bipartite&lt;/strong&gt; graphs? That is, is there a mechanism for generating random bipartite graphs that possess the usual properties of small-world networks (a.k.a., the maximum of the minimum distance between any pair of nodes scales no higher than as the logarithm of the number of nodes)?&lt;/p&gt;&#xA;" OwnerUserId="5982" LastActivityDate="2014-07-04T00:32:19.800" Title="Bipartite small-world networks" Tags="&lt;graph-theory&gt;&lt;network-modeling&gt;" AnswerCount="0" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="25130" PostTypeId="1" CreationDate="2014-07-04T00:34:12.197" Score="4" ViewCount="539" Body="&lt;p&gt;The &lt;a href=&quot;http://www.scholarpedia.org/article/Scale-free_networks#The_Barabasi-Albert_model&quot; rel=&quot;nofollow&quot;&gt;Barabasi-Albert&lt;/a&gt; model describes a mechanism of generating random scale-free networks:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Growth: Starting with a small number ($m_0$) of connected nodes, at every time step, we add a new node with $m$ ($&amp;lt;m0$) edges that link the new node to $m$ different nodes already present in the network. &lt;/li&gt;&#xA;&lt;li&gt;Preferential attachment: When choosing the nodes to which the new node connects, we assume that the probability $P$ that a new node will be connected to node $i$ depends on the degree $k_i$ of node $i$, such that &lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;$$P\propto \frac{k_i}{\sum_i k_i}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a similar model for scale-free &lt;strong&gt;bipartite&lt;/strong&gt; networks? That is, is there a mechanism for generating random bipartite graphs that possess the usual properties of scale-free networks?&lt;/p&gt;&#xA;" OwnerUserId="5982" LastActivityDate="2014-07-04T10:43:57.177" Title="Bipartite scale-free networks" Tags="&lt;graph-theory&gt;&lt;network-modeling&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="25131" PostTypeId="1" AcceptedAnswerId="25134" CreationDate="2014-07-04T01:51:21.410" Score="2" ViewCount="67" Body="&lt;p&gt;I'm looking for an efficient/simple (even if not necessarily cryptographically strong) algorithm for implementing pseudorandom permutations with domain cardinality other than a power of 2.  (FWIW, the domain cardinality I'm interested in at the moment is $900,000$.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;All the algorithms I've found for doing this aim for cryptographic strength, and tend to be relatively slow and intricate.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One exception to the last point, arguably, is the &lt;a href=&quot;http://en.wikipedia.org/wiki/Feistel_network&quot; rel=&quot;nofollow&quot;&gt;standard Feistel network&lt;/a&gt; algorithm, which is at least fairly simple.  Unfortunately, AFAICT, this algorithm works only for permutations with domain size $2^{2m}$, with $m\in\mathbb{Z}^+$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(I've found some generalizations of Feistel networks to arbitrary domain sizes, but they all aim for cryptographic strength, at the expense of performance (and simplicity).)&lt;/p&gt;&#xA;" OwnerUserId="3529" LastActivityDate="2014-07-04T08:49:57.943" Title="Efficient (non-crypto-grade?) pseudorandom permutations with arbitrary domain size" Tags="&lt;ds.algorithms&gt;&lt;permutations&gt;&lt;pseudorandom-generators&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25132" PostTypeId="2" ParentId="25114" CreationDate="2014-07-04T03:40:52.583" Score="-2" Body="&lt;p&gt;the halting problem does not seem to be studied much for nondeterministic TMs (there is no single obvious way to extend the halting problem to NTMs) and most problems associated with undecidability seem to be defined in terms of non-NTMs (ie DTMs). however here is one generalization that could be related to your question. &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://basics.sjtu.edu.cn/~chen/papers/3hal-fel.pdf&quot; rel=&quot;nofollow&quot;&gt;A Parameterized Halting Problem&lt;/a&gt; Yijia Chen and Jorg Flum&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;The parameterized problem p-Halt takes as input a nondeterministic Turing machine M and a natural number n, the size of M being the parameter. It asks whether every accepting run of M on empty input tape takes more than n steps. This problem is in the class XPuni, the class “uniform XP,” if there is an algorithm deciding it, which for fixed machine M runs in time polynomial in n. It turns out that various open problems of different areas of theoretical computer science are related or even equivalent to p-Halt ∈ XPuni. Thus this statement forms a bridge which allows to derive equivalences between statements of differ- ent areas (proof theory, complexity theory, descriptive complexity, . . . ) which at first glance seem to be unrelated. As our presentation shows, various of these equivalences may be obtained by the same method.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2014-07-04T03:40:52.583" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25133" PostTypeId="1" CreationDate="2014-07-04T07:01:39.220" Score="21" ViewCount="768" Body="&lt;p&gt;Given regular expressions $R_1, \dots, R_n$, are there any non-trivial bounds on the size of the smallest context-free grammar for $R_1 \cap \cdots \cap R_n$?&lt;/p&gt;&#xA;" OwnerUserId="2241" LastEditorUserId="969" LastEditDate="2014-11-12T02:16:42.030" LastActivityDate="2014-11-12T22:59:05.033" Title="Complexity of intersection of regular languages as context-free grammars" Tags="&lt;fl.formal-languages&gt;&lt;regular-language&gt;&lt;context-free&gt;" AnswerCount="3" CommentCount="6" FavoriteCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="25134" PostTypeId="2" ParentId="25131" CreationDate="2014-07-04T08:49:57.943" Score="3" Body="&lt;p&gt;&lt;a href=&quot;https://eprint.iacr.org/2010/301.pdf#page=10&quot; rel=&quot;nofollow&quot;&gt;unbalanced numeric Feistel&lt;/a&gt; (page 10)&#xA;&lt;br&gt;&#xA;&lt;a href=&quot;http://www.cs.ucdavis.edu/~rogaway/papers/shuffle.pdf&quot; rel=&quot;nofollow&quot;&gt;swap-or-not&lt;/a&gt;&#xA;&lt;br&gt;&#xA;&lt;a href=&quot;https://eprint.iacr.org/2012/254.pdf&quot; rel=&quot;nofollow&quot;&gt;FastPRP&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Those are all cryptographically strong; I'm not aware of&#xA;&lt;br&gt;&#xA;any way to get better performance by sacrificing that.&lt;/p&gt;&#xA;" OwnerDisplayName="user6973" LastActivityDate="2014-07-04T08:49:57.943" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25135" PostTypeId="2" ParentId="21487" CreationDate="2014-07-04T09:45:55.197" Score="4" Body="&lt;p&gt;SVD and JL also extrapolates to future points differently as well.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;That is, if you assume your data comes from some underlying distribution, in principle the SVD should remain &quot;good&quot; for any future points so long as they are sampled from the same distribution.  On the other hand, the target dimension of JL depends on the number of points, meaning that applying a JL transform to additional points can increase the error probability.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This becomes relevant if, for instance, if you are using dimensionality reduction as a preprocessing step for some other algorithm.  SVD bounds for training data may hold on test data, but JL's will not.&lt;/p&gt;&#xA;" OwnerUserId="13600" LastActivityDate="2014-07-04T09:45:55.197" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="25136" PostTypeId="2" ParentId="25130" CreationDate="2014-07-04T10:35:36.883" Score="2" Body="&lt;p&gt;You could apply the principle of the Configuration Model &lt;a href=&quot;http://ms.mcmaster.ca/tom/Research%20Papers/MollReed95.pdf&quot; rel=&quot;nofollow&quot;&gt;(Molloy &amp;amp; Reed'95)&lt;/a&gt; to bipartite graphs. It allows generating a network possessing any predefined degree distribution. In the original version, you first generate a set of &quot;stubs&quot;, where each node is repeated as many times as its targeted degree (i.e. a node whose degree should be 5 will appear as 5 distinct stubs). Then, you randomly draw pairs of stubs, and connect the corresponding nodes in your graph. See &lt;a href=&quot;http://mathinsight.org/generating_networks_desired_degree_distribution&quot; rel=&quot;nofollow&quot;&gt;this page&lt;/a&gt; for additional details.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the case of a bipartite network, you could do the same thing, but using two distinct sets of stubs (corresponding to both types of nodes). The pairs you draw should be constituted of one stub from each set.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you want to keep the growth property of the model, you could also directly modify the Barabasi-Albert model you mention, by adding two extra constraints. First, alternate the type of the inserted nodes (I mean: once a node of the first type, then a node of the second type, then another node of the first type, and so on). Second, connect it only to nodes of the other type, using the preferential attachment principle.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Edit&lt;/em&gt;: you might be interested by the Networkx library, cf. the &lt;em&gt;Bipartite&lt;/em&gt; section in &lt;a href=&quot;https://networkx.github.io/documentation/latest/reference/generators.html&quot; rel=&quot;nofollow&quot;&gt;this page&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="16190" LastEditorUserId="16190" LastEditDate="2014-07-04T10:43:57.177" LastActivityDate="2014-07-04T10:43:57.177" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25137" PostTypeId="1" CreationDate="2014-07-04T12:39:46.120" Score="5" ViewCount="59" Body="&lt;p&gt;In &lt;a href=&quot;https://mathoverflow.net/questions/173259/what-is-the-probability-of-interpolating-the-tutte-polynomial-of-a-planar-graph&quot;&gt;a MO question&lt;/a&gt;&#xA;basically I asked when the Tutte polynomial of planar graph&#xA;can be uniquely determined by the polynomially computable values at the special points&#xA;and at the two hyperbolas. The solution is the unique solution&#xA;of certain integer program $L$. Possibly misleading experimental&#xA;data suggests this is possible sometimes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Computing the Tutte polynomial at non-trivial points&#xA;is $\#P$-complete. In case the integer program $L$&#xA;has unique solution, one call to a $NP$-complete&#xA;oracle would solve $\#P$-complete problem.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;In case this happens, what are the complexity&#xA;  implications for the subclass of planar graphs&#xA;  satisfying this?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Suppose the integer program $L$ has polynomially many solutions corresponding&#xA;to polynomials $F_{G,i}(x,y)$. (The experimental data&#xA;suggest this).&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Given $G$ and a set of polynomials $F_{G,i}$ with&#xA;  the promise that one of them is the Tutte polynomial,&#xA;  what is the complexity of finding the Tutte polynomial?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;AFAICT it is not harder than $\#P$ since we can compute&#xA;the Tutte polynomial at positive random $(x_i,y_i)$ and&#xA;see which of $F_{G,i}$ agree with the value.&lt;/p&gt;&#xA;" OwnerUserId="22348" LastActivityDate="2014-07-04T12:39:46.120" Title="Interpolating the Tutte polynomial at the values of two hyperbolas" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;&lt;planar-graphs&gt;&lt;integer-programming&gt;" AnswerCount="0" CommentCount="0" FavoriteCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25139" PostTypeId="1" AcceptedAnswerId="25153" CreationDate="2014-07-04T17:56:57.287" Score="6" ViewCount="173" Body="&lt;p&gt;Define the outfix of a language $L$ to be&#xA;$Outf(L) = \{xy \mid \exists z. xzy \in L \}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are any known results about whether deterministic context-free languages are closed under this operation, or other similar &quot;erasing&quot; operations?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My preliminary search has not turned up anything, but I thought someone who had knowledge of the area might know of a reference.&lt;/p&gt;&#xA;" OwnerUserId="16208" LastEditorUserId="16208" LastEditDate="2014-07-04T20:03:02.690" LastActivityDate="2014-07-06T10:38:29.913" Title="Are deterministic context-free languages closed under outfix (or other erasing operations)" Tags="&lt;reference-request&gt;&lt;fl.formal-languages&gt;&lt;automata-theory&gt;&lt;context-free&gt;" AnswerCount="2" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="25140" PostTypeId="1" CreationDate="2014-07-04T18:12:03.260" Score="4" ViewCount="258" Body="&lt;p&gt;It is well known that CFGs and PDAs are equivalent, and there has been extensive research about the relationship between deterministic pushdowns and $LR(1)$ grammars, as $DCFL$ is a subset of $LR(1)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm wondering, what results are known about classes of grammars that can generate the languages accepted by other restricted versions of pushdown automata?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In particular, I'm interested in:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Pushdown Automata with a bound on the number of reversals the stack can make.&lt;/li&gt;&#xA;&lt;li&gt;Pushdown Automata with a unary stack alphabet (i.e. counter machines)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="16208" LastEditorUserId="16208" LastEditDate="2014-07-04T18:55:11.757" LastActivityDate="2014-07-05T12:03:07.430" Title="What characterizations exist for the grammars that can express subsets of the context-free languages?" Tags="&lt;reference-request&gt;&lt;fl.formal-languages&gt;&lt;automata-theory&gt;&lt;grammars&gt;&lt;context-free&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="25141" PostTypeId="2" ParentId="25082" CreationDate="2014-07-04T19:46:35.653" Score="5" Body="&lt;p&gt;Here is an upper bound for question 2.   &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Theorem:&lt;/strong&gt; After $TM$ steps, you can have at most $T \log M$ positive counters. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Notation:&lt;/strong&gt; we assign each step a number, ending with the $0$&lt;sup&gt;th&lt;/sup&gt; step, and starting with the $(-TM+1)$&lt;sup&gt;th&lt;/sup&gt; step.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Observation:&lt;/strong&gt; in the optimal strategy, if you increment a counter, you do not let it return to $0$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Proof:&lt;/strong&gt; Let us assign a value of $1$ to each time you increment a counter in the last $T$ steps; $\frac{1}{2}$ to each time you increment a counter in the previous $T$ steps; $\frac{1}{3}$ to each time you increment a counter in the $T$ steps before that, etc. That is, if you increment a counter between step $-kT+1$ and $-(k-1)T$, it gets a value of $\frac{1}{k}$. &#xA;We need a lemma that we will prove later.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Lemma:&lt;/strong&gt; for a counter to be positive, it must have had a total value of at least $1$ assigned to it. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;With the lemma, the proof is easy:  the total value we have to assign is $T \sum_{i=1}^M \frac{1}{i} \approx T \log M$, and each positive counter requires us to have assigned total value of at least $1$ to it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Proof of Lemma:&lt;/strong&gt; Look at the first time you made that counter positive. If that was between $-kT$ and $-(k-1)T$, then it has been decremented at least $k-1$ times, and so you need to have incremented it $k$ times to have it end up positive. But each of these increments assigns it a value of at least $\frac{1}{k}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;And here is an upper bound for question 1. Let's use the same overall proof strategy as before.  Again, we assign a value of $\frac{1}{k}$ when we increment a counter on a step between $-kT+1$ and $-(k-1)T$. We also assign a value of $\frac{1}{M}$ when we increment a counter on a step between $-2MT$ and $-MT$, and a value of $0$ if we increment a counter before that. By the same reasoning as before, any counter that was $0$ at step $-2MT$ must be assigned a value of at least $1$. But now, if a counter was positive at step $-2MT$, it still must have been assigned a total value of at least $1$, since it must have been incremented $M$ times to end up positive. Now, the total value we have to assign is $T\log M + T$, so we can have at most $T (\log M + 1)$ positive counters.&lt;/p&gt;&#xA;" OwnerUserId="1677" LastEditorUserId="1677" LastEditDate="2014-07-04T21:36:31.073" LastActivityDate="2014-07-04T21:36:31.073" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="25142" PostTypeId="2" ParentId="25140" CreationDate="2014-07-04T22:14:48.797" Score="5" Body="&lt;p&gt;Every context free language over a one letter alphabet (or equivalently every langauge recognized by unary PDAs, unary DPDAs or 1 counter machines) is &lt;em&gt;regular&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See: &lt;a href=&quot;http://dl.acm.org/citation.cfm?doid=321127.321132&quot; rel=&quot;nofollow&quot;&gt;S. Ginsburg, H. Rice: &quot;Two families of languages related to ALGOL&quot;, Journal of the&#xA;ACM, 9: 350–371, 1962&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For what regards PDAs with bounded stack reversals they are equivalent to &lt;em&gt;bounded context-free languages&lt;/em&gt;. In general a language $L$ over alphabet $\Sigma$ (with $|\Sigma|\geq 2$) is &lt;em&gt;bounded&lt;/em&gt; if and only if there exists non empty words $w_1,w_2,...,w_n$ such that $L\ \subseteq w_1^*w_2^*...w_n^*$; but not all bounded languages are context-free (for a characterization of bounded CFG languages by &lt;em&gt;finite union of stratified linear sets&lt;/em&gt; see Ginsburg's theorem). &lt;br&gt;I don't know much about them, but they have been studied intensively, see for example: &lt;a href=&quot;http://link.springer.com/chapter/10.1007%2F978-3-642-37064-9_32&quot; rel=&quot;nofollow&quot;&gt;Oscar H. Ibarra, Bala Ravikumar , On Bounded Languages and Reversal-Bounded Automata&lt;/a&gt; (citing and cited articles).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT: another result is that &lt;em&gt;linear LR(1) languages&lt;/em&gt; are equivalent to the class of languages accepted by deterministic &lt;em&gt;one-turn&lt;/em&gt; PDA (M. Holzer, K. J. Lange, On the Complexities of Linear LL(1) and LR(1) Grammars)&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2014-07-05T12:03:07.430" LastActivityDate="2014-07-05T12:03:07.430" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="25144" PostTypeId="1" AcceptedAnswerId="25145" CreationDate="2014-07-05T13:29:14.297" Score="16" ViewCount="428" Body="&lt;p&gt;The following problem appears in Aaronson's list &lt;em&gt;&lt;a href=&quot;http://www.scottaaronson.com/writings/qchallenge.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;Ten Semi-Grand Challenges for Quantum Computing Theory&lt;/a&gt;&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Is &lt;span class=&quot;math-container&quot;&gt;$\mathsf{BQP}=\mathsf{BPP}^{\mathsf{BQNC}}$&lt;/span&gt;&lt;/strong&gt; In other words, can the &quot;quantum&quot; part of any quantum algorithm be compressed to &lt;span class=&quot;math-container&quot;&gt;$\mathrm{polylog}(n)$&lt;/span&gt; depth, provided we're&#xA;  willing to do polynomial-time classical postprocessing? (This is known&#xA;  to be true for Shor's algorithm.) If so, building a general-purpose&#xA;  quantum computer would be much easier than is generally believed!&#xA;  Incidentally, it's not hard to give an &lt;strong&gt;oracle separation&lt;/strong&gt; between &lt;span class=&quot;math-container&quot;&gt;$\mathsf{BQP}$&lt;/span&gt;&#xA;  and &lt;span class=&quot;math-container&quot;&gt;$\mathsf{BPP}^{\mathsf{BQNC}}$&lt;/span&gt;, but the question is whether there's any concrete function &quot;instantiating&quot; such an oracle.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;It has been &lt;a href=&quot;http://arxiv.org/pdf/quant-ph/0508124v2.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;conjectured by Jozsa&lt;/a&gt; that the answer to the question is yes in the ''measurement-based model of quantum computation&quot;: where local measurements, adaptive local gates and efficient classical post-processing are allowed. See also &lt;a href=&quot;https://cstheory.stackexchange.com/questions/6912/reading-up-on-bqp-bppbqnc&quot;&gt;this related post&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question&lt;/strong&gt;. I would like to know about the currently-known oracular separations between this classes (or, at least, the oracle separation to which  Aaronson is referring to).&lt;/p&gt;&#xA;" OwnerUserId="7286" LastEditorUserId="7286" LastEditDate="2019-09-26T12:24:02.630" LastActivityDate="2019-09-26T12:24:02.630" Title="Oracular separations between poly- and log-depth quantum circuits" Tags="&lt;cc.complexity-theory&gt;&lt;quantum-computing&gt;&lt;circuit-complexity&gt;&lt;quantum-information&gt;&lt;circuit-depth&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="3" ContentLicense="CC BY-SA 4.0" />
  <row Id="25145" PostTypeId="2" ParentId="25144" CreationDate="2014-07-05T13:58:48.647" Score="12" Body="&lt;p&gt;I apologize; I was too glib when I wrote that.  While I believe it's &lt;i&gt;possible&lt;/i&gt; to prove an oracle separation between $BQP$ and $BPP^{BQNC}$ using current techniques, it hasn't been done (12 years after I first thought about the problem, then put it off!), and would certainly be worth a paper for whoever did it.  Maybe your post will help motivate me to finally kill this problem off!&lt;/p&gt;&#xA;" OwnerUserId="1575" LastActivityDate="2014-07-05T13:58:48.647" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="25146" PostTypeId="2" ParentId="23763" CreationDate="2014-07-05T14:40:28.513" Score="0" Body="&lt;p&gt;The answer to the question &quot;Can we diretcly express graph canonization Grädel's way&quot; is no.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, we can substitute each $v&amp;lt;w$ in a $\{E,&amp;lt;\}$-formula with a $\{E\}$-formula (Libkin's wy) by Logical Transduction (also known as Logical Interpretation). This $\{E\}$ formula is a sentence without free variables. Hence, we can use a construction (by Grädel and Otto in the same paper) to eliminate all number variables which results in a Grädel-formula with the same number of vertex variables.&lt;/p&gt;&#xA;" OwnerUserId="7594" LastActivityDate="2014-07-05T14:40:28.513" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25147" PostTypeId="2" ParentId="25127" CreationDate="2014-07-05T15:34:48.787" Score="8" Body="&lt;p&gt;Several points:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;As far as I know, &lt;em&gt;Principia Mathematica&lt;/em&gt; uses essentially a formalization of set theory using a typed first order logic. It would therefore be tempting to use a first-order automated theorem prover like &lt;a href=&quot;http://www.cs.unm.edu/~mccune/prover9/&quot;&gt;Prover 9&lt;/a&gt; or possibly &lt;a href=&quot;http://www.cs.utexas.edu/users/moore/acl2/&quot;&gt;ACL2&lt;/a&gt; to formalize your statements. However, I am seeing several set-theoretic constructions (like $\in$, $\cap, \subset$) in there, which usually don't play very well with first order ATP.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Any &lt;em&gt;modern&lt;/em&gt; interactive proof assistant will surely have the expressiveness to formalize and prove your statements, as Andrej has suggested. In fact, since there seem to be some statements including arithmetic, it would be wise to use a system like &lt;a href=&quot;http://www.cl.cam.ac.uk/research/hvg/Isabelle/&quot;&gt;Isabelle&lt;/a&gt;, &lt;a href=&quot;http://coq.inria.fr/&quot;&gt;Coq&lt;/a&gt; or &lt;a href=&quot;http://hol.sourceforge.net/&quot;&gt;HOL&lt;/a&gt; which already have extensive theories to treat statements of arithmetic. My emphasis on &lt;strong&gt;modern&lt;/strong&gt; is not a coincidence: great strides in usability have been made since Automath, and I honestly think you would be doing yourself a disservice by using anything that hasn't been actively developed since the 90's (if you could even get one to work!)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Finally, ITP and ATP have rather challenging learning curves, and you shouldn't expect to be able to enter these theorems into such a system as if you were writing a $\LaTeX$ proof. Expect severe frustration and lost time, especially in the first months (yes, months). You definitely need to work through some tutorials at first before getting to the main formalization.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="3984" LastActivityDate="2014-07-05T15:34:48.787" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="25148" PostTypeId="1" AcceptedAnswerId="25155" CreationDate="2014-07-05T20:54:59.197" Score="6" ViewCount="1002" Body="&lt;p&gt;In &lt;a href=&quot;http://www.tark.org/proceedings/tark_jun20_03/p215-gottlob.pdf&quot; rel=&quot;noreferrer&quot;&gt;this&lt;/a&gt; paper, it is claimed that computing pure-strategy Nash equilibria of games in standard normal form is NP-complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This confuses me, because I do not understand why it is hard to guess the right strategy profile (the authors call this the &quot;global strategy&quot;) for a game.  Surely if the Nash equilibrium of a game is written out in normal form, where every strategy profile is assigned its own cell, then it should take only linear time to run through every possible strategy profile that is a candidate for being a Nash equilibrium.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I do not understand what I am missing; please explain why Nash equilibrium computation is hard for standard normal form games.  Thank you.&lt;/p&gt;&#xA;" OwnerUserId="1338" LastActivityDate="2014-07-06T12:53:56.820" Title="Why is computing pure Nash equilibria NP-complete?" Tags="&lt;cc.complexity-theory&gt;&lt;gt.game-theory&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="25149" PostTypeId="2" ParentId="25128" CreationDate="2014-07-05T22:26:01.920" Score="6" Body="&lt;p&gt;There is a famous example of &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.56.3003&quot;&gt;Cai, Fürer and Immerman&lt;/a&gt;, which shows that the $\mathcal{C}_{\infty\omega}^k$-hierarchy is strict and in particular that $\mathcal{C}_{\infty\omega}^\omega$ cannot express every query on finite structures. The paper is quite famous because it disproved a conjecture that IFP+C captures PTIME. Your proof that $\mathcal{L}_{\infty\omega}\equiv\mathcal{C}_{\infty\omega}$ is correct. &lt;/p&gt;&#xA;" OwnerUserId="17644" LastActivityDate="2014-07-05T22:26:01.920" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25152" PostTypeId="2" ParentId="25139" CreationDate="2014-07-06T08:13:33.213" Score="3" Body="&lt;p&gt;Consider $Outf(\{a^n b x b c^n\} \cup \{a^n b y b c^{2n}\}) \cap  a^{\ast} b b c^{\ast}$ over alphabet $\{a,b,c,x,y\}$.&lt;/p&gt;&#xA;" OwnerUserId="1886" LastActivityDate="2014-07-06T08:13:33.213" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25153" PostTypeId="2" ParentId="25139" CreationDate="2014-07-06T10:38:29.913" Score="6" Body="&lt;p&gt;A proof that uses closure properties:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;DCF languages are not closed under union, so take,  $L_1, L_2 \in DCF$ s.t. $L = L_1 \cup L_2 \notin DCF$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Add three new symbols $\{\alpha, \beta, \#\}$ to the original alphabet $\Sigma$ and build the languages:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$L'_1 = \{ \alpha \# w \mid w \in L_1\}$&lt;br&gt;&#xA;$L'_2 = \{ \beta \# w \mid w \in L_1\}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We have $L'_1, L'_2$, but also $L' = L'_1 \cup L'_2 \in DCF$ (it is enough to add a starting state that leads to the recognition of $\#L_1$ after reading a leading symbol $\alpha$ or the recognition of $\#L_2$ after reading a leading symbol $\beta$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now suppose that $Outf(L') \in DCF$; we know that DCFs are closed under intersection with regular languages, so: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$Outf(L') \cap \{ \#w \mid w\in \Sigma^*\} =  \{ \#w \mid w\in L_1 \lor w \in L_2 \} \in DCF$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;too.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But given a DPDA for $Outf(L') \cap \{ \#w \mid w\in \Sigma^*\}$ it is immediate to build a DPDA for $\{ w \mid w \in L_1 \lor w \in L_2\} = L$ (just skip the recognition of the first leading symbol $\#$), so $L \in DCF$ contradicting the hypothesis.&lt;/p&gt;&#xA;" OwnerUserId="3247" LastActivityDate="2014-07-06T10:38:29.913" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="25154" PostTypeId="1" CreationDate="2014-07-06T12:32:21.363" Score="2" ViewCount="997" Body="&lt;p&gt;The Unambiguous SAT problem (USAT) is to determine whether a &#xA;given formula has a satisfying assignment, when we are &#xA;guaranteed that it has at most one satisfying assignment.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By a theorem Valiant-Vazirani there is probabilistic&#xA;reduction from 3SAT to USAT. Given 3SAT formula $\phi$,&#xA;over $n$ variables, the algorithm produces $n+2$ formulas&#xA;$\phi_i$ with the properties:  if $\phi$ is UNSAT, all $\phi_i$&#xA;are UNSAT. Otherwise the probability that $\phi_i$ has exactly&#xA;one solution is $\ge \frac18$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\oplus P$ is the class of decision problems solvable by a nondeterministic Turing machine in polynomial time, where the acceptance condition is that the number of accepting computation paths is odd.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since USAT has zero or one solution, $\oplus P$ solves USAT.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Would derandomizing the reduction SAT to USAT imply $NP$ and $coNP$ are in  $\oplus P$?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;This looks plausible to me, though &lt;a href=&quot;https://en.wikipedia.org/wiki/Parity_P&quot; rel=&quot;nofollow noreferrer&quot;&gt;Wikipedia&lt;/a&gt; claims &#xA;&quot;there is a relativized universe (see oracle machine) where P = ⊕P ≠ NP = PP = EXPTIME&quot; and $P^{\oplus P}$ is not known to even contain $NP$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Even it can't be derandomized the reduction to USAT appears&#xA;very good in practice given $\oplus P$ oracle.&lt;/p&gt;&#xA;" OwnerUserId="22348" LastEditorUserId="495" LastEditDate="2018-06-20T14:02:08.543" LastActivityDate="2018-06-20T14:02:08.543" Title="Would derandomizing the reduction from SAT to Unique SAT imply $NP$ and $coNP$ are in $\oplus P$?" Tags="&lt;cc.complexity-theory&gt;&lt;sat&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 4.0" />
  <row Id="25155" PostTypeId="2" ParentId="25148" CreationDate="2014-07-06T12:53:56.820" Score="5" Body="&lt;p&gt;These are my two comments as an answer:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course you are right that if the strategic form (also called the normal form) is given explicitly then one can just check all pure strategy profiles. In that case, the problem of deciding if there is a pure equilibrium is clearly not likely to be NP-hard. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, the paper shows in Theorem 3.1 hardness for graphical games (called in the paper, games in graphical normal form (GNF)), which are &lt;strong&gt;succinctly represented games&lt;/strong&gt;. (It might not be the best phrasing in the statement of Theorem 3.1 to say &quot;even for&quot;, which is fine as regards constant values of parameters, but not for the representation type itself).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In general, if each of $n$ players has $m$ actions then the the strategic form has $nm^n$ entries, but a graphical game has $O(nm^{d+1})$, where $d$ is the maximum degree in the graph. So for constant $d$, the graphical game representation is exponentially smaller than the strategic form. In their reduction $d$ can be 3 (and $m$ can also be 3, so only $n$ needs to vary).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the strategic form (standard normal form, SNF, as they call it in the paper) they show that the problem is easy (Theorem 5.1), which is straightforward as you noted.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;SNF and GNF are compared on page 6 of the paper.&lt;/p&gt;&#xA;" OwnerUserId="368" LastActivityDate="2014-07-06T12:53:56.820" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25157" PostTypeId="1" AcceptedAnswerId="25164" CreationDate="2014-07-06T15:36:20.470" Score="6" ViewCount="130" Body="&lt;p&gt;I'm having a problem regarding Theorem 5.4.40.3 of Barendregt's &lt;em&gt;Lambda calculi with types&lt;/em&gt; (1992), a chapter in Handbook in logic in computer science. (I'm referring to the &lt;a href=&quot;http://ttic.uchicago.edu/~dreyer/course/.../barendregt.pdf&quot; rel=&quot;nofollow&quot;&gt;PostScript version&lt;/a&gt; available on the Web.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The theorem states that a function is $\lambda$2-definable iff it is HG (Herbrand-Goedel) computable and provably type correct in $\lambda$PRED2.  The author delegates the proof to a proceeding in FOCS, i.e., &lt;em&gt;Reasoning about functional programs and complexity associated with type disciplines&lt;/em&gt; (1983) by Leivant.  The corresponding theorem in the proceeding is Theorem 3.1 and Corollary 3.2, although they are stated in terms of provable type-correctness in $\lambda$2, not in $\lambda$PRED2.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The first problem I'm running into is that the definition of HG computability by Barendregt doesn't make sense.  IMHO, the equation in Definition 5.4.39.1 should be replaced by&#xA;$$&#xA;\mathit{HG} \vdash p:(f_n(t^\sim) =_L (f(t))^\sim).&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assuming this, I tried to prove the equivalent of Theorem 3.1 (Leivant) in terms of $\lambda$PRED2, but in vain.  Leivant's proof is informal and I have hard times formalizing it. (By using Barendregt's notation, I'm pretty sure that if $B$ is the proof of $f$'s type correctness then $[B]$ is a $\lambda$2-term that represents $f$, but I am unable to prove this.)  Besides, his proof deals with only one direction of the equivalence (provably type correct $\Rightarrow$ $\lambda$2-definable) and the rest is left unstated.  I suppose the opposite direction involves the formalization of SN, but I am unsure.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would be the most grateful for detailed explanation of Theorem 5.4.40.3 by Barendregt.&lt;/p&gt;&#xA;" OwnerUserId="7462" LastEditorUserId="7462" LastEditDate="2014-07-06T23:25:15.660" LastActivityDate="2014-07-07T16:19:56.540" Title="A function is lambda-2-definable iff it is HG computable and provably type correct in lambda-PRED2" Tags="&lt;lo.logic&gt;&lt;pl.programming-languages&gt;&lt;computability&gt;&lt;type-theory&gt;&lt;lambda-calculus&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="25160" PostTypeId="1" CreationDate="2014-07-06T18:46:21.100" Score="0" ViewCount="221" Body="&lt;p&gt;The &lt;a href=&quot;http://www.siam.org/meetings/da15/submissions.php&quot; rel=&quot;nofollow&quot;&gt;SODA '15 submission rules&lt;/a&gt; state that &quot;The submission, excluding title page, bibliography and appendix, must not exceed 10 pages.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, the website does not define &quot;title page.&quot; Does &quot;title page&quot; simply mean &quot;the page with the title and abstract,&quot; or does it mean some sort of cover page?&lt;/p&gt;&#xA;" OwnerUserId="11042" LastActivityDate="2014-07-06T22:08:38.120" Title="SODA '15 Page Limits" Tags="&lt;conferences&gt;" AnswerCount="1" CommentCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="25163" PostTypeId="2" ParentId="25160" CreationDate="2014-07-06T22:08:38.120" Score="2" Body="&lt;p&gt;I emailed the PC and received the following answer:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&quot;Title  page&quot; means a page that contains only the title and abstract.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="11042" LastActivityDate="2014-07-06T22:08:38.120" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="25164" PostTypeId="2" ParentId="25157" CreationDate="2014-07-06T23:50:32.450" Score="7" Body="&lt;p&gt;My first advice is to take a look at chapter 15 of Girard, Lafont &amp;amp; Taylor &lt;a href=&quot;http://www.paultaylor.eu/stable/prot.pdf&quot; rel=&quot;nofollow&quot;&gt;Proofs &amp;amp; Types&lt;/a&gt;. In it, a weaker theorem is proved, but the basic ideas are quite similar, and the exposition should be simpler.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Second: Provably type correct is a bit of a misnomer. The property looks more like &lt;em&gt;definability&lt;/em&gt; or &lt;em&gt;accessibility&lt;/em&gt;. In a nutshell it expresses&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$ \forall t_1,\ldots t_n,\ \mathrm{Ind}(t_1) \wedge \ldots\wedge\mathrm{Ind}(t_n) \Rightarrow \mathrm{Ind}(f(t_1,\ldots, t_n))$$&#xA;where $\mathrm{Ind}(t)$ means the term $t$ is &lt;em&gt;inductive&lt;/em&gt;, that is, built up from constructors. Being inductive is essentially being defined as an element of the inductive type, which makes the above property a statement about definability.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Third: You are correct, if $B$ proves that $f$ is type correct, then $[B]$ is the definition of $f$. Work through an example first: If $\mathrm{add}: \mathbb{N}\rightarrow\mathbb{N}\rightarrow\mathbb{N}$, then the statement of type correctness is:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$ \forall x\ y,\ \mathrm{Ind}_{\mathbb{N}}(x)\rightarrow\mathrm{Ind}_{\mathbb{N}}\rightarrow \mathrm{Ind}_{\mathbb{N}}(\mathrm{add}(x, y))$$&#xA;in $\lambda\mathrm{PRED}_2$, which, erased, gives&#xA;$$ \mathrm{N}\rightarrow\mathrm{N}\rightarrow\mathrm{N}$$&#xA;in $\lambda_2$ (with $\mathrm{N}=\Pi X:*.X\rightarrow(X\rightarrow X)\rightarrow X$) which is exactly the right type for $\mathrm{add}$! So at least the types add up. Checking that the proof of type correctness of $\mathrm{add}$ gives you a good definition is more tedious, but Leivant gives the details.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Fourth: you are correct that (1 way of seeing) the converse requires examining the proofs of strong normalization. For each function definition in $\lambda_2$, you can &quot;decorate&quot; it into a proof of type correctness in $\lambda\mathrm{PRED}_2$, essentially using the &quot;theorem for free&quot; that comes with the type. A really nice exposition is Wadler, &lt;a href=&quot;http://homepages.inf.ed.ac.uk/wadler/papers/gr2/gr2.pdf&quot; rel=&quot;nofollow&quot;&gt;The Girard-Reynolds isomorphism&lt;/a&gt;, which is a highly suggested read for anyone in the field.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Fifth: I think you are correct in your correction of 5.4.39.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit&lt;/strong&gt;: Elaboration on the 4th point:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Wadler defines, among other things, the &lt;em&gt;Reynolds embedding&lt;/em&gt; from $\lambda_2$ to $\lambda\mathrm{PRED}_2$ with higher-order functions (Figure 4). This embeding sends a type to a proposition (the &lt;em&gt;parametricity theorem&lt;/em&gt;) and sends a well tyepd term to a proof of parametricity of that same term.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The theorem you get implies &quot;type correctness&quot; of the defined function rather trivially. In fact I think Wadler treats this in detail in Section 5, and treats the $\mathrm{add}$ example in the appendix. The only subtle point is that the function is not directly defined over the inductive type, rather it takes the type and constructors as &lt;em&gt;arguments&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;At this point I really have to suggest you work through some examples.&lt;/p&gt;&#xA;" OwnerUserId="3984" LastEditorUserId="3984" LastEditDate="2014-07-07T16:19:56.540" LastActivityDate="2014-07-07T16:19:56.540" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="25165" PostTypeId="1" CreationDate="2014-07-07T02:01:37.417" Score="1" ViewCount="82" Body="&lt;p&gt;From &lt;a href=&quot;http://www.scholarpedia.org/article/Computational_type_theory#Judgements_and_Propositions&quot; rel=&quot;nofollow&quot;&gt;http://www.scholarpedia.org/article/Computational_type_theory#Judgements_and_Propositions&lt;/a&gt;:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;The other kind of logical claim made in CTT is the judgment that a belongs to A. This can be reduced to the equality claim by writing a=a in A.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;From &lt;a href=&quot;http://www.nuprl.org/documents/Constable/naive.pdf&quot; rel=&quot;nofollow&quot;&gt;http://www.nuprl.org/documents/Constable/naive.pdf&lt;/a&gt;:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;It does not make sense to regard a in B as a proposition; for instance, it is not clear what the negation of a in B would mean.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;and again, from the same paper:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Also we can define an empty type, void. $$ void= \{ x:A \space |\space x \neq x \space in \space A \} $$&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;If $a\space in\space B$ can be written $a=a\space in\space B$, then surely the negation of $a\space in\space B$ is $a\neq a\space in\space B$?&lt;/p&gt;&#xA;" OwnerUserId="25546" LastActivityDate="2014-07-07T02:01:37.417" Title="How are these statements about CTT reconcilable?" Tags="&lt;type-theory&gt;" AnswerCount="0" CommentCount="6" FavoriteCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25168" PostTypeId="1" AcceptedAnswerId="25174" CreationDate="2014-07-07T12:18:34.440" Score="19" ViewCount="600" Body="&lt;p&gt;In Quantum Computation and Quantum Information by Nielsen and Chuang they say that many of the algorithms based on quantum Fourier transforms rely on the Coset Invariance property of Fourier transforms and suggests that invariance properties of other transforms might yield new algorithms.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Has there been any fruitful research on other transforms?&lt;/p&gt;&#xA;" OwnerUserId="25551" LastEditorUserId="25551" LastEditDate="2014-07-07T12:51:50.963" LastActivityDate="2015-09-04T19:17:34.167" Title="Quantum algorithms based on transforms other than Fourier transforms" Tags="&lt;quantum-computing&gt;&lt;quantum-information&gt;" AnswerCount="2" CommentCount="5" FavoriteCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="25169" PostTypeId="1" CreationDate="2014-07-07T12:43:11.733" Score="0" ViewCount="161" Body="&lt;p&gt;If I remember correctly saw this reduction in&#xA;a paper can't find at the moment.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider the following NP-complete variation&#xA;of the Subset Sum problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a set of positive integers $S=\{x_1,\ldots ,x_n\}$ and&#xA;integer $t$, is there a subset of $S$ that sums to $t$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is polynomial reduction from Subset Sum to&#xA;decision if a word is in an unary language which is&#xA;Context-free grammar (CFG).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The unary CFG $G$ is over alphabet $\Sigma=\{1\}$ and the&#xA;productions are:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Express powers of $2$ in unary via $B_0 \to 1, B_{2^n} \to B_{2^{n-1}} B_{2^{n-1}}$. We have $|B_{2^n}|=|B_{2^{n-1}}|+|B_{2^{n-1}}|=2|B_{2^{n-1}}|$&#xA;This is bounded by the largest $x_i$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Add non terminals $X_i$ corresponding to the values of $x_i$&#xA;(after writing $x_i$ in binary)&#xA;s.t. $|X_i|=x_i$, i.e. to express $x_i = 8 + 2 + 1$ &#xA;add $X_i \to B_8 B_2 B_1$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Express the powerset of $X_i$ via the productions &#xA;$P_1 \to \epsilon | X_1, P_n \to P_{n-1} | P_{n-1} X_n$&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Set $S \to P_n$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;$L(G)$ is finite and the length of words in it&#xA;correspond to the sums of the subsets in $S$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The Subset Sum has solution iff $1^t \in L(G)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Not sure about this, but there is a related problem:&#xA;construct unary CFG $F$ which accepts only $1^t$ using&#xA;(1) and (2).  Set $L=L(G) \cap L(F)$. $L$ is unary&#xA;language (possibly there are Turing machines corresponding&#xA;to it). $L$ is either empty or $1^t$, which is another&#xA;reduction to Subset Sum.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The question:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;In what complexity classes other than $NP$ are the&#xA;  reductions to problems related to unary language?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;According to Wikipedia and &#xA;&lt;a href=&quot;https://complexityzoo.uwaterloo.ca/Complexity_Zoo%3aT#tally&quot; rel=&quot;nofollow&quot;&gt;Complexity Zoo&lt;/a&gt; &#xA;unary languages&#xA;(TALLY) do not contain NP-complete problems unless $P=NP$&#xA;and the reductions are related to NP-complete problems.&#xA;This means unary languages are not expressible enough&#xA;unless a collapse.&lt;/p&gt;&#xA;" OwnerUserId="22348" LastActivityDate="2014-07-07T12:43:11.733" Title="In what complexity classes other than $NP$ are these problems related to unary languages?" Tags="&lt;cc.complexity-theory&gt;&lt;fl.formal-languages&gt;&lt;context-free&gt;" AnswerCount="0" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="25172" PostTypeId="2" ParentId="25154" CreationDate="2014-07-07T14:12:55.157" Score="6" Body="&lt;p&gt;The standard meaning of &quot;derandomized Valiant-Vazirani theorem&quot; is the following. &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;There exists a deterministic polynomial time algorithm that, given a 3CNF formula $\phi$, outputs formulas $\psi_1, \ldots, \psi_k$ such that&lt;/p&gt;&#xA;  &#xA;  &lt;ol&gt;&#xA;  &lt;li&gt;If $\phi$ is not satisfiable, then none of the $\psi_i$ are.&lt;/li&gt;&#xA;  &lt;li&gt;If $\phi$ is satisfiable, at least one of the $\psi_i$ has a unique satisfying assignment.&lt;/li&gt;&#xA;  &lt;/ol&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Indeed, if the above is true, $\mathsf{NP} \subseteq \mathsf{P}^{\oplus \mathsf{P}}$ (a  comment by Joro suggests that this is what he actually meant). Since $\mathsf{P}^{\oplus \mathsf{P}}$ is closed under complement, it follows that $\mathsf{coNP} \subseteq \mathsf{P}^{\oplus \mathsf{P}}$ holds as well.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If a derandomized Valiant-Vazirani theorem holds relative to $\oplus P$, i.e. with the 3CNF formulas augmented by $\oplus P$ predicates, then, using Fortnow's argument in his &lt;a href=&quot;http://people.cs.uchicago.edu/~fortnow/papers/toda.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;simplified proof&lt;/a&gt; of Toda's theorem, we would get $\mathsf{PH} \subseteq \mathsf{P}^{\oplus \mathsf{P}}$. The usual randomized Valiant-Vazirani theorem implies a randomized version of this: $\mathsf{PH} \subseteq \mathsf{BPP}^{\oplus \mathsf{P}}$. This is one of the lemmas used by Toda.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: My original answer had a bug, thanks to Emil Jeřábek for pointing it out. &lt;/p&gt;&#xA;" OwnerUserId="4896" LastEditorUserId="4896" LastEditDate="2017-12-21T07:37:19.953" LastActivityDate="2017-12-21T07:37:19.953" CommentCount="12" ContentLicense="CC BY-SA 3.0" />
  <row Id="25174" PostTypeId="2" ParentId="25168" CreationDate="2014-07-07T19:23:03.990" Score="16" Body="&lt;p&gt;I would like to add some more references to Scott's comment:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Indeed, &lt;strong&gt;Clebsch-Gordan transforms&lt;/strong&gt; (that you can think of as multi-register quantum Fourier transforms) are a useful tool in the design of quantum algorithms for non-Abelian hidden subgroup problems (HSPs). &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Clebsch-Gordan transforms were used by &lt;a href=&quot;http://arxiv.org/abs/quant-ph/0302112&quot; rel=&quot;nofollow&quot;&gt;Greg Kuperberg&lt;/a&gt; and &lt;a href=&quot;http://arxiv.org/abs/quant-ph/0406151&quot; rel=&quot;nofollow&quot;&gt;Oded Regev&lt;/a&gt; to solve the dihedral HSP in subexponential (yet superpolynomial) time. These quantum algorithms are not efficient, but they have better query complexity than classical algorithms.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://arxiv.org/abs/quant-ph/0612107&quot; rel=&quot;nofollow&quot;&gt;Dave Bacon&lt;/a&gt; also used Clebsch-Gordan transforms to solve the hidden subgroup problem (HSP) over the Heisenberg group  $\mathbb{Z}_p^2\rtimes \mathbb{Z}_p$ in polynomial time. I can recommend that paper because it is quite clear.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I am also writing to add that we should not forget that both quantum Fourier transforms and Clebsch-Gordan transforms are not always indispensable, even if they can be very useful.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;In Shor's algorithm (or even in quantum phase estimation) the Fourier transforms can be replaced with &lt;strong&gt;Hadamard tests&lt;/strong&gt;, therefore only using Hadamard gates instead of Fourier transforms: this trick is due to Kitaev and you can read about it &lt;a href=&quot;http://arxiv.org/abs/1012.4727&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;There is yet another &lt;a href=&quot;http://arxiv.org/abs/quant-ph/0504083&quot; rel=&quot;nofollow&quot;&gt;efficient algorithm&lt;/a&gt; for the HSP over $\mathbb{Z}_p^2\rtimes \mathbb{Z}_p$, by Bacon, Childs, Van Dam, that does not use Clebsch-Gordan transforms. Instead, the algorithm uses a certain type of powerful POVM known as the Pretty Good Measurement.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Of course, this list is probably  incomplete. I hope someone will point out other results that have not yet been mentioned.&lt;/p&gt;&#xA;" OwnerUserId="7286" LastEditorUserId="7286" LastEditDate="2015-09-04T19:17:34.167" LastActivityDate="2015-09-04T19:17:34.167" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="25176" PostTypeId="1" CreationDate="2014-07-07T20:17:04.810" Score="2" ViewCount="49" Body="&lt;p&gt;Miller, Ramachandran and Kaltofen showed that any straight line program can be executed in parallel time O(log n) using M(n) processors where M(n) is the number of processors for multiplying nxn matrices in O(log n) time. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is this: suppose that the number of processors is constrained to be at most polylogarithmic. What is the best lower bound known for parallel complexity of straight-line code evaluation? &lt;/p&gt;&#xA;" OwnerUserId="25554" LastActivityDate="2014-07-07T20:17:04.810" Title="Lower bounds in PRAM model for evaluation of straight-line code" Tags="&lt;circuit-complexity&gt;&lt;dc.parallel-comp&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25179" PostTypeId="2" ParentId="25082" CreationDate="2014-07-08T00:05:23.697" Score="5" Body="&lt;p&gt;Lower bound for question 2:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Theorem:&lt;/strong&gt; After $TM-1$ steps, with the strategy outlined below, you will have at least $(T-1)\log M$ positive counters.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Notation:&lt;/strong&gt;&#xA;Define time step $1$ to be the beginning of the $TM-1$ steps, and $TM-1$ to be the end. Decrements happen on time step $Tk$, $1 \le k &amp;lt; M$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Define the &lt;em&gt;upper limit&lt;/em&gt; to be $M- \lfloor N/T \rfloor$, where $N$ is the current time step. This limit starts at M, and decreases by one whenever the counters decrease, ending at $1$. This limit is chosen because if more counters are ever put on a cell than the upper limit, they will be wasted, because the counter will have value more than $1$ on step $TM-1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Strategy:&lt;/strong&gt; On every time step, increment the leftmost counter whose value is less than the upper limit.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Notation:&lt;/strong&gt; Define the &lt;em&gt;importance&lt;/em&gt; of a counter to be $V/UL$, where V is its current value, and $UL$ is the current upper limit.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Lemma:&lt;/strong&gt; In each group of $T$ steps ending on a decrement, the sum of the importances of the counters increases by at least $(T-1)/UL$, where $UL$ is the current upper limit.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Proof of lemma:&lt;/strong&gt; Each time a counter is incremented, its importance rises by $1/UL$. When the decrement happens, all but one counter is at its upper limit and has an importance of $UL/UL=1$. The remaining counter's importance is shrunk by at most $1/UL$, because its value decreases by $1$, and $UL$ does not increase. Thus, the $T$ increments and $1$ decrement increase the total importance by at least $(T-1)/UL$. In addition, in the last group of $T-1$ increments, where no decrement occurs, the sum of importances increases by $(T-1)/UL$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Proof of theorem:&lt;/strong&gt; In each group of $T$ steps ending in decrement, and in the final $T-1$ steps, the sum of importances increases by at least $(T-1)/UL$. Therefore, after $TM-1$ steps, the sum of importances will be at least $\sum_{k=1}^m(T-1)/k$, which is at least $(T-1)\log M$. Since on time step $TM-1$ the upper limit is $1$, there must be $(T-1)\log M$ positive counters at this time.&lt;/p&gt;&#xA;" OwnerUserId="25504" LastActivityDate="2014-07-08T00:05:23.697" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25180" PostTypeId="2" ParentId="25099" CreationDate="2014-07-08T09:57:43.493" Score="0" Body="&lt;p&gt;This is not a complete answer (as I'd be surprised if any answer will complete given the disparate nature of your research), but when I was going to do a PhD in re-representation of mathematical issues one of the constructs that was suggested was Sober Spaces. They underlie schemes, which connect algebraic topology, number theory and commutative algebra. This may help with the theorem prover side of things.&lt;/p&gt;&#xA;" OwnerUserId="25484" LastActivityDate="2014-07-08T09:57:43.493" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="25181" PostTypeId="2" ParentId="1955" CreationDate="2014-07-08T11:24:39.123" Score="0" Body="&lt;p&gt;&quot; Formal Languages And Automata Theory &quot; by A.A. Puntambekar is the best book for solved examples. Most of the book contains only solved examples and little theory. Its good to pass the exams.&lt;/p&gt;&#xA;" OwnerUserId="25566" LastActivityDate="2014-07-08T11:24:39.123" CommentCount="0" CommunityOwnedDate="2014-07-08T11:24:39.123" ContentLicense="CC BY-SA 3.0" />
  <row Id="25183" PostTypeId="1" AcceptedAnswerId="25187" CreationDate="2014-07-09T03:31:06.473" Score="3" ViewCount="237" Body="&lt;p&gt;In the context of multi-processor/multi-threaded systems, there are plenty of well-studied &lt;em&gt;concurrent data structures&lt;/em&gt;, including stacks, queues, linked lists, etc. &lt;a href=&quot;http://www.cs.tau.ac.il/~shanir/concurrent-data-structures.pdf&quot; rel=&quot;nofollow&quot;&gt;Here&lt;/a&gt; is an excellent survey on concurrent data structures by Mark Moir and Nir Shavit. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Even though they use a &quot;shared memory&quot; model similar to the one used by concurrent data structures, I can only find information on a few &lt;em&gt;distributed data structures&lt;/em&gt;: those data structures designed specifically for distributed systems. Such data structures are typically characterized by replication and certain &lt;a href=&quot;https://en.wikipedia.org/wiki/Consistency_model&quot; rel=&quot;nofollow&quot;&gt;consistency models&lt;/a&gt;. The examples I &lt;em&gt;have&lt;/em&gt; found include&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://arxiv.org/pdf/1210.3368.pdf&quot; rel=&quot;nofollow&quot;&gt;An Optimized Conflict-free Replicated Set&lt;/a&gt; (arXiv, 2012)&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://dl.acm.org/citation.cfm?id=384050&quot; rel=&quot;nofollow&quot;&gt;Randomized Shared Queues&lt;/a&gt; (PODC, 2001)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;My questions are&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;What are the big challenges of designing distributed data structures (even harder than those of concurrent data structures)?&lt;/li&gt;&#xA;&lt;li&gt;Did I miss other distributed data structures in the literature?&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="12739" LastEditorUserId="4193" LastEditDate="2014-07-09T19:03:01.110" LastActivityDate="2014-07-09T19:03:01.110" Title="Concurrent data structures vs. Distributed data structures" Tags="&lt;ds.data-structures&gt;&lt;dc.distributed-comp&gt;&lt;concurrency&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25184" PostTypeId="2" ParentId="23762" CreationDate="2014-07-09T09:01:01.830" Score="4" Body="&lt;p&gt;&lt;em&gt;Claim:&lt;/em&gt; If $\delta$-random restriction of $f$ has decision tree of size $O(1)$ (in expectation), then the total influence of such $f$ is $O(\delta^{-1})$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Proof sketch:&lt;/em&gt;&#xA;By definition of influence we have&#xA;$Inf(f) = n \cdot \Pr_{x,i}[f(x) \neq f(x+e_i)]$.&#xA;Let us upper bound $\Pr_{x,i}[f(x) \neq f(x+e_i)]$ by first applying a $\delta$-restriction, then picking $i \in [n]$ among the remaining coordinates, and fixing at random everything except for $x_i$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, if $\delta$-restriction reduces the decision tree of $f$ to size $O(1)$,&#xA;then in particular the $\delta$-restriction of $f$ depends on $r = O(1)$ coordinated.&#xA;Let us now pick one random unfixed coordinate (among $\delta n$), and fix all others randomly. Since the $\delta$-restriction of $f$ depends on at most $r$ coordinates, we get a function (on one bit) that is not constant with probability at most $\frac{r}{\delta n}$.&#xA;Therefore $Inf(f) = n \cdot \Pr_{x,i}[f(x) \neq f(x+e_i)] \leq \frac{r}{\delta}$, as required.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Remark:&lt;/em&gt; The claim above is tight by taking a parity function on $O(1/\delta)$ bits.&lt;/p&gt;&#xA;" OwnerUserId="15711" LastActivityDate="2014-07-09T09:01:01.830" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25187" PostTypeId="2" ParentId="25183" CreationDate="2014-07-09T14:09:04.670" Score="3" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;What are the big challenges of designing distributed data structures (even harder than those of concurrent data structures)?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Some important challenges that practically all distributed data structures face, are handling dynamic changes, implementing a scalable design, and being fault-tolerant. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This includes finding answers to questions such as:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;How can we maintain/repair the properties of the data structure in the presence of &lt;em&gt;churn&lt;/em&gt;? That is, new nodes join and old nodes leave the network over time. &lt;/li&gt;&#xA;&lt;li&gt;Can we design the data structure  such that it is robust against faults?&lt;/li&gt;&#xA;&lt;li&gt;How can we deal with the congestion on the communication links caused by many parallel requests?&lt;/li&gt;&#xA;&lt;li&gt;Do the connections required per node and the necessary length of messages scale (at most) logarithmically with the system size?&lt;/li&gt;&#xA;&lt;li&gt;Is it possible to design a system that is &quot;spam resistant&quot; in the sense that it can withstand attacks by adversarial nodes?&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;There are also locality issues since, in a distributed system, each node runs its own instance of a distributed algorithm and has only a local view of the network due to being directly connected to only a small number of other nodes. (Typically you would want a node degree of $O(\log n)$ to make the system scalable.) These issues come into play when maintaining global state such as counting the number of data items, finding the maximum, etc.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Did I miss other distributed data structures in the literature?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;DHTs&lt;/strong&gt;: To give you some pointers, you might want to look at &lt;a href=&quot;http://en.wikipedia.org/wiki/Distributed_hash_table&quot; rel=&quot;nofollow&quot;&gt;distributed hash tables&lt;/a&gt; (DHT) such as &lt;a href=&quot;http://en.wikipedia.org/wiki/Chord_%28peer-to-peer%29&quot; rel=&quot;nofollow&quot;&gt;Chord&lt;/a&gt;, &lt;a href=&quot;http://en.wikipedia.org/wiki/Content_addressable_network&quot; rel=&quot;nofollow&quot;&gt;CAN&lt;/a&gt;, &lt;a href=&quot;http://en.wikipedia.org/wiki/Tapestry_%28DHT%29&quot; rel=&quot;nofollow&quot;&gt;Tapestry&lt;/a&gt;, and &lt;a href=&quot;http://en.wikipedia.org/wiki/Pastry_%28DHT%29&quot; rel=&quot;nofollow&quot;&gt;Pastry&lt;/a&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Skip Graphs&lt;/strong&gt;: Since you mentioned skip lists, you might be interested in &lt;a href=&quot;http://en.wikipedia.org/wiki/Skip_graph&quot; rel=&quot;nofollow&quot;&gt;skip graphs&lt;/a&gt;, which is a data structure providing range-queries and $O(\log n)$-time operations for lookups, inserts, etc.&#xA;The advantage of a skip graph (vs a skip list) is that a skip graph contains an expander as a subgraph with high probability.&#xA;This implies that routing can be done efficiently (i.e. link congestion is low) and that the skip graph remains connected even if a lot of nodes fail.&lt;/p&gt;&#xA;" OwnerUserId="6785" LastActivityDate="2014-07-09T14:09:04.670" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25189" PostTypeId="2" ParentId="25127" CreationDate="2014-07-09T18:29:36.203" Score="8" Body="&lt;p&gt;&lt;i&gt;Principia Mathematica&lt;/i&gt; was a largely response to the various paradoxes discovered in mathematical logic at the turn of the 20th century. However the work itself, which has often been obliquely praised as an 'unreadable masterpiece' is somewhat clumsy and more modern foundations have been crafted. To describe most of mathematics, you have several choices: category theory is one, type theory has been popular in some projects as an extension of the lambda calculus, but the best understood and most foundational is probably set theory.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Set theory has several different formulations; Zermelo Frankel set theory with the axiom of choice is the most orthodox, lovingly refered to as $\sf ZFC$ by set theory enthusiasts. Tarski-Grothendiek set theory is another that is largely similar to $\sf\ ZFC$ that includes Tarski's axiom for reasoning about large categories. These are interesting for verification, but somewhat more difficult for automated theorem &lt;i&gt;proving&lt;/i&gt; because the axiom schema of replacement admits an infinite number of axioms that represent a challenge for implementation. While these foundations are perfectly reasonable for proof verification systems like Mizar for Tarski-Grothendiek set theory and Metamath for $\sf ZFC$, for an actual theorem proving system, it would be nice to have finite axiomatization. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The foundation that is probably most appropriate for that is Von Neumann–Bernays–Gödel set theory, or $\sf NBG$, which admits finite axiomatization by being a two sorted theory that has an ontology of proper classes as well as sets. Further, it's been proven that $\sf NBG$ is a conservative extension of $\sf ZFC$, so that any theorem of $\sf NBG$ is a theorem of $\sf ZFC$. The reason that this theory is the most appropriate for automated reasoning in my opinion is its expressible in first order logic, which admits an effective, sound and complete proof calculus, and finite axiomatization means it can be used with first order resolution which gives us the tidy result: If a statement is decidable, a proof will eventually be found. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Propositional logic isn't expressive enough, and higher order logic, while much more expressive, doesn't admit a effective, sound and complete proof calculus. First order logic with set theory allows you to represent and map higher order logical theories, so for foundations that's the sweet spot... except for the possibility of undecidable statements (thanks to Gödel.) which is why first order theories of sufficient quantifier rank are often described as semi-decidable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Art Quaife did some work on this in: Automated Development of Fundamental Mathematical Theories, where he implemented $\sf NBG$ in first order logic in clausal form so that it could be used by a resolution based theorem prover (Otter) and an exellent reference for tackling the foundations for this sort of work is Elliott Mendelson's &lt;i&gt;Introduction to Mathematical Logic.&lt;/i&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now modern proof &lt;i&gt;assistants&lt;/i&gt; are often less concerned with foundations from the paradigm of &lt;i&gt;Principia Mathematia&lt;/i&gt; and are more useful for theorem proving for everyday work, and so they have some support for fragments of higher order logic, SAT/SMT solving, type theories, and other more informal and less foundational approaches. But if you're trying do do something like &lt;i&gt;Principia Mathematica&lt;/i&gt; a first order resolution theorem prover with a finitely axiomatizable first order set theory is ideal.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For some examples of how automated theorem provers attack problems from these foundations, the Thousands of Problems for Theorem Provers (&lt;a href=&quot;http://www.cs.miami.edu/~tptp/&quot; rel=&quot;noreferrer&quot;&gt;TPTP&lt;/a&gt;) site has a nice number of  problems, and you'll note that many of the foundational problems in number theory are founded in $\sf NBG$ set theory. If you have the time, check out NUM006-1.p on their site: the Goldbach conjecture. You can try running it, and if its decidable, a proof will &lt;i&gt;eventually&lt;/i&gt; be found. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The theorems in your book will almost certainly be theorems of $\sf NBG$ given that they are written in the language of set theory. The axioms of genetics in that book will almost certainly be represented as definitions on set theoretical predicates, much the way that Peano arithmetic is represented in $\sf NBG$ as definitions of predicates. From there you follow the resolution procedure in any ATP. Pick a statement you want to prove, negate it, convert to Skolem normal form, then to clausal form, and follow the resolution. When you find the empty clause, you have found a contradiction, proving the statement.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The task you have at hand &lt;i&gt;if&lt;/i&gt; you want to attempt to define the theory in terms of set theory, is finding the relational predicate definitions that are separate from set theory, that will allow you to make the predicates in terms of set theory. Again, an example of this is how we define Peano arithmetic in set theory, which by itself has no definitions of numbers, addition, multiplication, or even equality. As an example of a set theoretical definition of a relation like equality, we can define it in terms of membership as such:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\forall$xy($\forall$z(z $\in$ x $\leftrightarrow$ z $\in$ y) $\leftrightarrow$ x = y)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A fair bit of warning: the learning curve for this is indeed very steep. If you are intent on pursuing this, you may find yourself several years in before grasping the full problem, as was my experience. You may want to examine the theory from a less foundational approach before taking on the enormous task of embedding it in a foundational language for everything. You don't, after all, &lt;i&gt;necessarily&lt;/i&gt; need to reason about uncountable sets of genes mixing.&lt;/p&gt;&#xA;" OwnerUserId="25574" LastEditorUserId="25574" LastEditDate="2014-07-10T18:04:30.137" LastActivityDate="2014-07-10T18:04:30.137" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="25190" PostTypeId="2" ParentId="25168" CreationDate="2014-07-09T19:05:21.020" Score="4" Body="&lt;p&gt;Not sure if this is directly linked to your question, but reading it made me think about an article by Peter Høyer I read some years ago. In it, he shows how the most popular quantum algorithms like Grover's or Shor's follow the same pattern of applying what he calls &quot;conjugated operators&quot; and he builds new algorithms also based on that same pattern. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;As I said, it's been a few years since I've read it so my description is a bit sloppy, but here's the link in case you want to check it out. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://journals.aps.org/pra/abstract/10.1103/PhysRevA.59.3280&quot; rel=&quot;nofollow&quot;&gt;http://journals.aps.org/pra/abstract/10.1103/PhysRevA.59.3280&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="507" LastActivityDate="2014-07-09T19:05:21.020" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25195" PostTypeId="1" CreationDate="2014-07-10T04:33:05.773" Score="2" ViewCount="101" Body="&lt;p&gt;Suppose I have a #P-hard function $f(S,x)$ where $x\in T$. Is the problem of $\arg\max_x f(S,x)$ guaranteed to be intractable?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If so, I want to see some references on this topic. If not, is there a general approach to prove such intractability for some typical problems?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, we know that S-Set Connectedness is #P-complete &lt;a href=&quot;http://epubs.siam.org/doi/pdf/10.1137/0208032&quot; rel=&quot;nofollow&quot;&gt;1&lt;/a&gt;. Is finding the node with maximum connectedness with a particular set also intractable?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thank you very much!&lt;/p&gt;&#xA;" OwnerUserId="25580" LastActivityDate="2014-07-10T04:33:05.773" Title="Maximizing a #P-hard function" Tags="&lt;complexity-classes&gt;" AnswerCount="0" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="25196" PostTypeId="1" CreationDate="2014-07-10T09:56:00.810" Score="-2" ViewCount="920" Body="&lt;p&gt;Can some body explain me how to apply memoization technique to achieve linear time complexity for bellow. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.geeksforgeeks.org/dynamic-programming-set-18-word-wrap/&quot; rel=&quot;nofollow&quot;&gt;http://www.geeksforgeeks.org/dynamic-programming-set-18-word-wrap/&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="26581" LastActivityDate="2014-07-10T19:05:24.540" Title="Liner time complexity for wordwrap problem" Tags="&lt;dynamic-programming&gt;" AnswerCount="1" CommentCount="2" ClosedDate="2014-08-03T07:10:39.200" ContentLicense="CC BY-SA 3.0" />
  <row Id="25198" PostTypeId="1" CreationDate="2014-07-10T13:54:28.073" Score="14" ViewCount="1817" Body="&lt;p&gt;I want to learn about algebraic algorithms and complexity thoery. In particular, I am interested in PIT.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a set of lecture notes, books, papers and surveys for students who have read standard textbook about theory like Sipser's book or the Arora-Barak's complexity textbook. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The set of references will includes recent advanced results. &lt;/p&gt;&#xA;" OwnerUserId="26584" LastEditorUserId="40" LastEditDate="2014-07-10T14:45:54.157" LastActivityDate="2014-07-10T16:22:34.247" Title="A course for learning algebraic complexity" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;algebraic-complexity&gt;&lt;arithmetic-circuits&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="25199" PostTypeId="1" AcceptedAnswerId="25201" CreationDate="2014-07-10T14:59:59.053" Score="12" ViewCount="566" Body="&lt;p&gt;I've just completed a short (5 page) paper on proving a certain combinatorial game NP-Complete. This is in no way a result of huge significance, yet it's one that I believe is publishable. What venues would be good for a paper like this? The only one I'm aware of is Information Processing Letters; are there other ones like this?&lt;/p&gt;&#xA;" OwnerUserId="15815" LastActivityDate="2014-07-15T23:32:54.260" Title="Venues for short research articles" Tags="&lt;journals&gt;" AnswerCount="3" CommentCount="4" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="25200" PostTypeId="1" AcceptedAnswerId="25210" CreationDate="2014-07-10T16:01:01.213" Score="6" ViewCount="256" Body="&lt;p&gt;Is $ (\oplus \mathsf{P})^A \not \supseteq \mathsf {PSPACE}^A$ for some language $A$?&lt;/p&gt;&#xA;" OwnerUserId="17767" LastActivityDate="2014-07-11T07:51:11.820" Title="Is there an oracle separating Parity-P from PSPACE?" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;counting-complexity&gt;" AnswerCount="2" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="25201" PostTypeId="2" ParentId="25199" CreationDate="2014-07-10T16:17:57.113" Score="11" Body="&lt;p&gt;&lt;a href=&quot;http://www.di.unipi.it/fun14/&quot;&gt;Fun with Algorithms&lt;/a&gt;!  Although it is a conference not a journal that you might looking for, among other things several NP-hardness results about (combinatorial) games are published here, including &lt;a href=&quot;http://link.springer.com/chapter/10.1007/978-3-319-07890-8_4&quot;&gt;this one&lt;/a&gt;.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;However this is a triennial conference (except for 2014, where the last conference was in 2012), so if you want to publish it soon then there might be a better choice.&lt;/p&gt;&#xA;" OwnerUserId="1800" LastActivityDate="2014-07-10T16:17:57.113" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="25202" PostTypeId="2" ParentId="25198" CreationDate="2014-07-10T16:22:34.247" Score="8" Body="&lt;p&gt;The massive tome of &lt;a href=&quot;http://dx.doi.org/10.1007/978-3-662-03338-8&quot;&gt;Burgisser-Clausen-Shokrollahi&lt;/a&gt; is the standard reference for algebraic complexity theory (and I'm not really sure there are others from the complexity point of view, though there are definitely others about algebraic algorithms), but doesn't do much of PIT. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The surveys of &lt;a href=&quot;http://dx.doi.org/10.1561/0400000043&quot;&gt;Chen-Kayal-Wigderson&lt;/a&gt; (&lt;a href=&quot;http://www.math.ias.edu/~avi/PUBLICATIONS/ChenKaWi2011.pdf&quot;&gt;freely available from Wigderon's webpage&lt;/a&gt;) and &lt;a href=&quot;http://dx.doi.org/10.1561/0400000039&quot;&gt;Shpilka-Yehudayoff&lt;/a&gt; (&lt;a href=&quot;http://www.cs.technion.ac.il/~shpilka/publications/SY10.pdf&quot;&gt;freely available from Shpilka's webpage&lt;/a&gt;) cover much more of the recent results on lower bounds and derandomizing PIT for small algebraic circuit classes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.cse.iitk.ac.in/users/manindra/survey/Determinant.pdf&quot;&gt;Agrawal's 2006 ICM address&lt;/a&gt; gives a good overview of the permanent versus determinant problem, and despite being 8 years old is still fairly up to date. (I think the only more recent lower bound is &lt;a href=&quot;http://arxiv.org/abs/1004.4802&quot;&gt;Landsberg-Manivel-Ressayre&lt;/a&gt;, which gets the same lower bound but for approximative determinantal complexity instead of just determinantal complexity.) &lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2014-07-10T16:22:34.247" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25203" PostTypeId="1" CreationDate="2014-07-10T16:36:31.603" Score="5" ViewCount="224" Body="&lt;p&gt;This question is in regards to the following problem:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Suppose you are given a set $S$ of $n$ points in the plane. Let $R$ be a random subset of $S$ of size $r$ with all subsets of size $r$ equally likely. What is the expected number of points of $S$ that lie on the interior of the convex hull or $R$? I.e. What is $E[|S\cap \operatorname{int}(\mathcal{CH}(R))|]$?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I have been looking in Clarkson and Shor's &lt;em&gt;Applications of Random Sampling in Computational Geometry, II&lt;/em&gt;, Mulmuley's chapter in the handbook of computational geometry, and related papers. As far as I understand it, these methods all apply to bounding the number of points of $S$ outside the convex hull, but do so by finding the expected sums of the sizes of conflict lists. For instance, the conflict list of an edge in the problem above is the number of points in $S$ that are beyond it, and the sum of the sizes of all conflict lists is $O(n)$. But because the same point may appear in $O(n)$ conflict lists itself, this doesn't seem to say anything about the number of points on the interior. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any help in understanding the problem, or useful references is appreciated. Unfortunately, I have a sneaking suspicion that the answer is obvious, but find myself a bit stuck. Thanks.&lt;/p&gt;&#xA;" OwnerUserId="17504" LastActivityDate="2014-07-16T09:42:50.570" Title="Number of points on the interior of the convex hull of a random subset" Tags="&lt;cg.comp-geom&gt;&lt;randomness&gt;" AnswerCount="1" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="25206" PostTypeId="2" ParentId="25196" CreationDate="2014-07-10T19:05:24.540" Score="6" Body="&lt;p&gt;The linear time algorithms for this sort of problem are based on the &lt;a href=&quot;https://en.wikipedia.org/wiki/SMAWK_algorithm&quot;&gt;SMAWK algorithm&lt;/a&gt; rather than more straightforward dynamic programming / memoization. I have an implementation of a linear-time line-breaking algorithm (possibly not exactly the one you want, but likely similar) in &lt;a href=&quot;http://www.ics.uci.edu/~eppstein/PADS/Wrap.py&quot;&gt;the Wrap.py&lt;/a&gt; module of my collection of Python algorithm implementations (you'll also need &lt;a href=&quot;http://www.ics.uci.edu/~eppstein/PADS/SMAWK.py&quot;&gt;SMAWK.py&lt;/a&gt;).&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2014-07-10T19:05:24.540" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="25209" PostTypeId="2" ParentId="25200" CreationDate="2014-07-11T07:02:48.580" Score="6" Body="&lt;p&gt;From the comment above: you can use the same oracle $A$ used in:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://people.cs.uchicago.edu/~fortnow/papers/newiso.pdf&quot; rel=&quot;noreferrer&quot;&gt;Richard Beigel, Harry Buhrman, and Lance Fortnow. 1998. NP might not be as easy as detecting unique solutions. In Proceedings of the thirtieth annual ACM symposium on Theory of computing (STOC '98).&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;for which $P^A= \oplus P^A  \neq NP^A = EXP^A$  ($EXP^A=NP^A\subseteq PSPACE^A$ also holds)&lt;/p&gt;&#xA;" OwnerUserId="3247" LastActivityDate="2014-07-11T07:02:48.580" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25210" PostTypeId="2" ParentId="25200" CreationDate="2014-07-11T07:51:11.820" Score="6" Body="&lt;p&gt;The strongest result I know is that there is an oracle $A$ such that &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;$\text{RP}^A  \cap \text{co-RP}^A \nsubseteq \oplus\text{P}^A$&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;This is stronger than an oracle separation between PSPACE and $\oplus$P (and NP and $\oplus$P).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is Theorem 6 in the following paper:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;a href=&quot;http://iopscience.iop.org/1468-4810/42/2/A02&quot;&gt;N K Vereshchagin, RELATIVIZABLE AND NONRELATIVIZABLE THEOREMS IN THE POLYNOMIAL THEORY OF ALGORITHMS, Russian Acad. Sci. Izv. Math. 42 261 (1994)&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;This paper is my go-to reference for all oracle separations. It has pretty much every oracle separation that we knew how to prove (as of 1994).&lt;/p&gt;&#xA;" OwnerUserId="206" LastActivityDate="2014-07-11T07:51:11.820" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25213" PostTypeId="1" AcceptedAnswerId="25218" CreationDate="2014-07-11T15:12:18.530" Score="5" ViewCount="274" Body="&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Small-world_network&quot; rel=&quot;nofollow noreferrer&quot;&gt;small world graphs&lt;/a&gt; (eg &lt;a href=&quot;http://en.wikipedia.org/wiki/Watts_and_Strogatz_model&quot; rel=&quot;nofollow noreferrer&quot;&gt;Watts-Strogatz model&lt;/a&gt; &amp;amp; others) and &lt;a href=&quot;http://en.wikipedia.org/wiki/Scale-free_network&quot; rel=&quot;nofollow noreferrer&quot;&gt;scale free graphs&lt;/a&gt; are a relatively recently &lt;em&gt;discovered&lt;/em&gt; graph type via mainly empirical analysis of large real-world graphs (eg via &lt;a href=&quot;http://en.wikipedia.org/wiki/Big_data&quot; rel=&quot;nofollow noreferrer&quot;&gt;Big Data&lt;/a&gt; techniques/ &lt;a href=&quot;http://en.wikipedia.org/wiki/Datamining&quot; rel=&quot;nofollow noreferrer&quot;&gt;datamining&lt;/a&gt; etc). they have since been found to be quite ubiquitous/ longstanding in many diverse graphs related to nature and human constructions (eg biology/genes, social networks, man-made networks eg WWW/ internet/ telecommunication/ electrical grids, airport connectivity, etc). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;in contrast &lt;a href=&quot;http://en.wikipedia.org/wiki/Expander_graph&quot; rel=&quot;nofollow noreferrer&quot;&gt;expander graphs&lt;/a&gt; are &lt;a href=&quot;https://mathoverflow.net/questions/168586/who-first-dubbed-them-expander-graphs&quot;&gt;far older&lt;/a&gt; and were invented mainly as a theoretical device in math/(T)CS however have since found very broad/ widespread/ key application. am looking for eg refs/ surveys/ overviews on their interrelation.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;what are the relations between the following (eg is there any overlap for some parameters)&lt;/p&gt;&#xA;  &#xA;  &lt;ul&gt;&#xA;  &lt;li&gt;small world networks&lt;/li&gt;&#xA;  &lt;li&gt;scale free graphs&lt;/li&gt;&#xA;  &lt;li&gt;expander graphs&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2014-07-11T17:53:07.840" Title="any relation/ overlap between small world graphs, scale free graphs, and expander graphs?" Tags="&lt;reference-request&gt;&lt;graph-theory&gt;&lt;big-picture&gt;&lt;application-of-theory&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="25214" PostTypeId="1" AcceptedAnswerId="30779" CreationDate="2014-07-11T15:22:39.297" Score="8" ViewCount="137" Body="&lt;p&gt;I've been looking at a modal logic with the axiom &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;(\Diamond A \land \Diamond B) \to \Diamond((A \land \Diamond B) \vee (A \land B) \vee (A \land \Diamond B))&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Roughly, this says that the accessibility relation is linear. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It seems like you can give a proof theory for this language using hypersequents (see Andrzej Indrzejczak's &lt;em&gt;Cut-Free Hypersequent Calculus for S4.3&lt;/em&gt;), and I was wondering if anyone has investigated giving proof term assignments to hypersequent calculi. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Alternatively, I'd be just as happy if someone had shown how to translate hypersequent calculi into hybrid logics. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any pointers?&lt;/p&gt;&#xA;" OwnerUserId="657" LastActivityDate="2015-03-12T07:56:47.350" Title="Hypersequents: proof term assigments or translations to hybrid logic" Tags="&lt;lo.logic&gt;&lt;pl.programming-languages&gt;&lt;proof-theory&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="25216" PostTypeId="1" AcceptedAnswerId="25221" CreationDate="2014-07-11T17:08:22.820" Score="5" ViewCount="432" Body="&lt;p&gt;I'm in search for examples of decision problems lying in $\text{PSPACE}\cap \text{coNP-hard}$ which are also not (known to be) in $\text{coNP}\cup \text{NP}\cup \text{NP-hard}\cup \text{PSPACE-complete}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is it known any such a problem ? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;(It would be very nice to have examples of $\text{PSPACE}\cap\text{coNP-hard}$ combinatorial games with these properties, but any other kind of example would be high appreciated)&lt;/p&gt;&#xA;" OwnerUserId="20792" LastActivityDate="2014-09-04T18:04:49.483" Title="Problems in $\text{PSPACE} \cap \text{Co-NP-Hard}$" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;" AnswerCount="3" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="25218" PostTypeId="2" ParentId="25213" CreationDate="2014-07-11T17:53:07.840" Score="8" Body="&lt;p&gt;There are lots of overlaps between small world and scale-free, but I think much less so between those two and expanders.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The terms &quot;small world&quot; and &quot;scale-free&quot; are often used informally, but formal definitions are  often along the lines of:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Small-world means short average (or maximum) path length (typically $O(\log n)$, with $n$ vertices) and highly clustered (meaning that for any vertex $v$, the fraction of pairs of neighbors of $v$ which are adjacent is high)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Scale-free is often taken to mean that the degree distribution follows some variant of a power-law (e.g. power-law with cutoff, etc.), but more generally/informally is used to mean that the degree distribution is long-tailed, in contrast to, say, Erdos-Renyi random graphs which have a degree distribution that is exponentially concentrated around its mean.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Expander, of course, has a formal definition that is almost 100% standardized. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Expanders by their nature have logarithmic diameter, similar to small-world networks. Beyond that, however, as far as I know there is little overlap between the concepts. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In practice, expanders are often bounded-degree or even &lt;em&gt;regular&lt;/em&gt; of bounded degree, whereas &quot;real-world&quot; graphs typically have a long-tailed degree distribution, with a small (but surprisingly large - e.g. not exponentially small) number of high-degree &quot;hubs&quot; (as they are usually called). Furthermore, scale-free graphs (almost by definition, depending on your definition) have a large number of vertices of very low degree - in most &quot;real-world&quot; graphs there are a large number of vertices of degree 1 or 2. This makes real-world graphs very unlike expanders, in that it is very easy to disconnect real-world graphs by removal of targeted edges, whereas expanders are by their nature highly connected. (Real-world graphs often also have the property that removal of &lt;em&gt;random&lt;/em&gt; edges is very bad at disconnecting them.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm sure there is something to be said about the use of spectral techniques for things like community detection, etc. in real-world networks, and from that viewpoint there may or may not be a little more overlap with expanders, but I'm not an expert in that area (maybe we can get Mark Newman to join cstheory.SE to comment...)&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2014-07-11T17:53:07.840" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="25219" PostTypeId="1" CreationDate="2014-07-11T18:46:31.803" Score="7" ViewCount="401" Body="&lt;p&gt;Can I use Gaussian elimination to compute matrix inverse over the ring $\mathbb{Z}_{p^k}$ (ring of residues modulo $p^k$) where $p$ is prime and $k$ is an integer greater than $1$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Such matrix is invertible if and only if its determinant is not congruent to zero modulo $p$. So we can check if it is invertible by constructing the second matrix &amp;mdash; matrix of residues modulo $p$ of elements of the original matrix. The second matrix is over $\mathbb{Z}_p$ so we can use Gaussian elimination to compute its determinant. The determinant can be expressed as a polynomial formula (Laplace expansion) so the determinant of the second matrix is the determinant of the original one modulo $p$ and so the original matrix is invertible if and only if the determinant of the second one is not zero.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think that using Gaussian elimination to compute the inverse in this case is correct and it is quite easy to prove. It uses exactly the same steps as inverting the aforementioned matrix over $\mathbb{Z}_p$. Gaussian elimination over the finite field $\mathbb{Z}_p$ fails if and only if the matrix is not invertible and it fails because all the elements under the pivot position are zero. It means that in the original matrix all these elements are congruent to zero modulo p so they are not invertible and Gaussian elimination fails over $\mathbb{Z}_{p^k}$. If the elimination succeeds over $\mathbb{Z}_p$ then it also succeeds over $\mathbb{Z}_{p^k}$ &amp;mdash; if you can find nonzero pivot element in the matrix over $\mathbb{Z}_p$ then the equivalent element in the original matrix is invertible.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Moreover I have implemented it and it works. For invertible matrices it gives their inverses modulo $\mathbb{Z}_{p^k}$. For non-invertible it fails. I have conducted many tests for different matrix sizes, different $p$ and different $k$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is quite simple so there are two possibilities: either there is something wrong in my reasoning, or someone must have described it somewhere. However I could't find any reference for that fact. I've found some articles and books that discuss the computation of matrix inverses and determinants modulo integers (e.g. Pan, Stewart &amp;mdash; Algebraic and numerical techniques for the computation of matrix determinants, von zur Gathen, Gerhard &amp;mdash; Modern computer algebra) but I haven't found it there.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would like to find some reference that clearly states that you can do Gaussian elimination over $\mathbb{Z}_{p^k}$ or some argument against it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks in advance.&lt;/p&gt;&#xA;" OwnerUserId="26596" LastEditorUserId="26596" LastEditDate="2014-07-11T18:56:56.990" LastActivityDate="2014-07-11T18:56:56.990" Title="Gaussian elimination for inverting matrices modulo prime power" Tags="&lt;reference-request&gt;&lt;linear-algebra&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="25221" PostTypeId="2" ParentId="25216" CreationDate="2014-07-12T02:55:50.827" Score="15" Body="&lt;p&gt;Formula Isomorphism is in $\mathsf{\Sigma_2 P} \subseteq \mathsf{PSPACE}$, is easily seen to be $\mathsf{coNP}$-hard, but is not known to be $\mathsf{NP}$-hard. Note that FI is not $\mathsf{\Sigma_2 P}$-complete unless $\mathsf{PH}$ collapses to the third level. All of this can be found in &lt;a href=&quot;http://dx.doi.org/10.1137/S0097539798343647&quot;&gt;Agrawal &amp;amp; Theirauf&lt;/a&gt;. &lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2014-07-12T02:55:50.827" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25222" PostTypeId="1" CreationDate="2014-07-12T07:52:22.027" Score="-1" ViewCount="1432" Body="&lt;p&gt;I have studied the Floyd-Warshall and Johnson algorithms. I am trying to understand if the all pairs shortest paths research in a directed graph G can be implemented in a more efficient way if I already know that G is acyclic. Do you have any ideas?&lt;/p&gt;&#xA;" OwnerUserId="26601" LastActivityDate="2014-07-13T14:20:46.617" Title="All pairs shortest paths in a DAG" Tags="&lt;graph-algorithms&gt;&lt;directed-acyclic-graph&gt;&lt;topological-graph-theory&gt;" AnswerCount="1" CommentCount="4" ClosedDate="2014-07-14T08:27:38.993" ContentLicense="CC BY-SA 3.0" />
  <row Id="25224" PostTypeId="1" AcceptedAnswerId="25406" CreationDate="2014-07-13T03:16:30.513" Score="2" ViewCount="511" Body="&lt;p&gt;I'm interested in a variant of graph automorphism problem (which is $NPI$ candidate).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Restricted GA&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Input:&lt;/strong&gt; Given an undirected graph $G(E, V)$, and $\epsilon |V|/2$ pairs of nodes $(u, v)$ where $u \ne v$ ( all pairs $(u_i, v_i)$ are pair-wise disjoint and $0 \le \epsilon \le 1$)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question:&lt;/strong&gt; Is there a non-trivial automorphism $f$ of $G$ such that for every pair $p_i$ either $v_i=f(u_i)$ or $u_i= f(v_i)$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This problem is at least as hard as Graph Automorphism Problem. I guess it is harder than Graph Automorphism but not $NP$-hard.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there a computational evidence that supports (or against) my guess regarding the complexity of this variant of $GA$?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Motivation&lt;/strong&gt;: My problem is a relaxation of NP-complete problem known as fixed-point free graph automorphism problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT&lt;/strong&gt;: Cross-posted on &lt;a href=&quot;https://mathoverflow.net/questions/176073/how-hard-is-a-variant-of-graph-automorphism-problem&quot;&gt;mathOverflow&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2014-07-31T01:04:09.640" Title="How hard is a variant of graph automorphism problem?" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;&lt;graph-isomorphism&gt;" AnswerCount="2" CommentCount="11" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="25225" PostTypeId="2" ParentId="25199" CreationDate="2014-07-13T08:30:57.883" Score="2" Body="&lt;p&gt;&lt;a href=&quot;http://www.journals.elsevier.com/information-processing-letters/&quot; rel=&quot;nofollow&quot;&gt;IPL (for Information Processing Letters)&lt;/a&gt; is a good place for publishing short papers.&lt;/p&gt;&#xA;" OwnerUserId="3552" LastEditorUserId="3552" LastEditDate="2014-07-13T09:10:53.617" LastActivityDate="2014-07-13T09:10:53.617" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="25228" PostTypeId="2" ParentId="25222" CreationDate="2014-07-13T14:20:46.617" Score="1" Body="&lt;p&gt;Iterate DAG-Shortest-Paths (in Cormen, Lesierson, Rivest, and Stein's text &lt;a href=&quot;http://mitpress.mit.edu/books/introduction-algorithms&quot; rel=&quot;nofollow&quot;&gt;&quot;Introduction to Algorithms&quot;&lt;/a&gt;).&lt;/p&gt;&#xA;" OwnerUserId="25250" LastActivityDate="2014-07-13T14:20:46.617" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="25229" PostTypeId="1" CreationDate="2014-07-13T17:58:46.980" Score="2" ViewCount="96" Body="&lt;p&gt;&lt;em&gt;Fast rates&lt;/em&gt; generally refers to generalization bounds interpolating between the $1/n$ consistent rate and the $1/\sqrt n$ agnostic rate. I am aware of two basic approaches for obtaining these: (1) Talagrand's Bernstein-type inequality for empirical processes and (2) PAC-Bayesian bounds. Question: are there other methods? More to the point, is there a clean, user-friendly set of notes on this, suitable for (advanced) students?&lt;/p&gt;&#xA;" OwnerUserId="1746" LastActivityDate="2014-07-13T17:58:46.980" Title="Fast rates -- cleanest proof" Tags="&lt;machine-learning&gt;&lt;lg.learning&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="25230" PostTypeId="2" ParentId="22191" CreationDate="2014-07-14T03:55:24.570" Score="8" Body="&lt;p&gt;One of my all time favorites for deep posts and amazing diversity of content is &lt;a href=&quot;http://blog.sigfpe.com/&quot; rel=&quot;noreferrer&quot;&gt;Neighborhood of Infinity&lt;/a&gt;. It mostly focuses on type and category theory and applications of Haskell, but the applications are always so creative and the explanations so clear that I find myself wanting to read it despite it not being my area of expertise.&lt;/p&gt;&#xA;" OwnerUserId="26610" LastActivityDate="2014-07-14T03:55:24.570" CommentCount="0" CommunityOwnedDate="2014-07-14T03:55:24.570" ContentLicense="CC BY-SA 3.0" />
  <row Id="25231" PostTypeId="1" AcceptedAnswerId="25246" CreationDate="2014-07-14T10:21:59.140" Score="8" ViewCount="904" Body="&lt;p&gt;I'm trying to get a deep understanding of a (great) paper &lt;a href=&quot;http://web.cecs.pdx.edu/~mpj/thih/&quot;&gt;&quot;Typing Haskell in Haskell&quot;&lt;/a&gt;. I'm having difficulties understanding the implementation of two methods there — the &lt;code&gt;mgu&lt;/code&gt; and &lt;code&gt;match&lt;/code&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let's talk about the &lt;code&gt;TAp&lt;/code&gt; case (&lt;a href=&quot;http://web.cecs.pdx.edu/~mpj/thih/TypingHaskellInHaskell.html#tth_sEc6&quot;&gt;full implementation in the article&lt;/a&gt;):&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;-- Substitutions are from a type variable to a type&#xA;type Subst  = [(Tyvar, Type)]&#xA;&#xA;&#xA;-- Calculate most general unifier 's' so that:&#xA;-- prop&amp;gt; apply s t1 = apply s t2&#xA;mgu :: Monad m =&amp;gt; Ty.Type -&amp;gt; Ty.Type -&amp;gt; m Subst&#xA;mgu (TAp l r) (TAp l' r') = do s1 &amp;lt;- mgu l l'&#xA;                               s2 &amp;lt;- mgu (apply s1 r) (apply s1 r')&#xA;                               return (s2 @@ s1)              -- &amp;lt;=== THIS&#xA;-- ...snip...&#xA;&#xA;&#xA;-- Matching of t1 and t2 finds a substitution 's' so that:&#xA;-- prop&amp;gt; apply s t1 = t2&#xA;match :: Monad m =&amp;gt; Type -&amp;gt; Type -&amp;gt; m Subst&#xA;match (TAp l r) (TAp l' r') = do sl &amp;lt;- match l l'&#xA;                                 sr &amp;lt;- match r r'&#xA;                                 merge sl sr                  -- &amp;lt;=== THIS&#xA;-- ...snip...&#xA;&#xA;&#xA;-- Substitution composition such that:&#xA;-- prop&amp;gt; apply (s1 @@ s2) = apply s1 . apply s2&#xA;(@@)       :: Subst -&amp;gt; Subst -&amp;gt; Subst&#xA;s1 @@ s2    = [ (u, apply s1 t) | (u,t) &amp;lt;- s2 ] ++ s1&#xA;&#xA;&#xA;-- A `symmetric' composition of substitutions such that:&#xA;-- prop&amp;gt; apply (s1++s2) = apply (s2++s1)&#xA;merge :: Monad m =&amp;gt; Subst -&amp;gt; Subst -&amp;gt; m Subst&#xA;merge s1 s2 = if agree then return (s1 ++ s2) else fail &quot;merge fails&quot;&#xA;  where agree = all (\v -&amp;gt; apply s1 (Ty.TVar v) == apply s2 (Ty.TVar v))&#xA;                    (map fst s1 `intersect` map fst s2)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;&lt;code&gt;match&lt;/code&gt; is &lt;a href=&quot;http://web.cecs.pdx.edu/~mpj/thih/TypingHaskellInHaskell.html#tth_sEc7.1&quot;&gt;used only for matching predicates&lt;/a&gt;, &lt;code&gt;mgu&lt;/code&gt; is used more often e.g. for &lt;a href=&quot;http://web.cecs.pdx.edu/~mpj/thih/TypingHaskellInHaskell.html#tth_sEc10&quot;&gt;actual type inference&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I can't wrap my head on why in the &lt;code&gt;mgu&lt;/code&gt; the substitution composition is sequential and in &lt;code&gt;match&lt;/code&gt; a &lt;em&gt;symmetric&lt;/em&gt; composition is used. Why's that?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Furthermore, would it make a difference if I'd change the ordering of unification, so &lt;code&gt;mgu&lt;/code&gt; would read:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;mgu (TAp l r) (TAp l' r') = do s1 &amp;lt;- mgu r r'&#xA;                               s2 &amp;lt;- mgu (apply s1 l) (apply s1 l')&#xA;                               return (s2 @@ s1)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;" OwnerUserId="26613" LastEditorUserId="26613" LastEditDate="2014-07-14T10:44:47.150" LastActivityDate="2014-07-15T13:20:31.890" Title="Practical implementation of Hindley–Milner with typeclasses — matching vs most general unifier" Tags="&lt;type-theory&gt;&lt;type-systems&gt;&lt;type-inference&gt;&lt;haskell&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="25232" PostTypeId="2" ParentId="25224" CreationDate="2014-07-14T13:03:50.233" Score="5" Body="&lt;p&gt;If I understood well the question, this is an attempt to prove that your problem is $GI$-complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given two graphs $G_1, G_2$ connect all the nodes of $G_1$ to a new node $x$ and all the nodes of $G_2$ to a new node $y$. Then connect $x$ and $y$ with a path of new nodes: $ x_1, x_2, ... x_k,\; z\;, y_k, ...,y_2, y_1$ (there is an odd number of nodes between $x$ and $y$, and $z$ is the central node).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/buKAm.jpg&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now you can pick some pairs of nodes at the two endpoints: $(x,y),(x_1,y_1),(x_2,y_2),...$. In this way you end up with an instance of your problem that has a solution if and only if the two original graphs are isomorphic.&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2014-07-14T14:00:56.073" LastActivityDate="2014-07-14T14:00:56.073" CommentCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="25233" PostTypeId="1" CreationDate="2014-07-14T14:19:58.053" Score="6" ViewCount="177" Body="&lt;p&gt;This question is about an extension of a language &lt;a href=&quot;https://cstheory.stackexchange.com/questions/20468/bounds-on-the-size-of-the-smallest-nfa-for-l-k-distinct&quot;&gt;discussed in this question&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We define the $r$-skip $k$-distinct language as follows:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$L_{r,k}=\{\sigma_1\sigma_2\cdots \sigma_{rk}\in\Sigma^{rk} | \forall i\neq j\in [rk],i=j \mod r\implies \sigma_i \neq\sigma_j\}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;That is, the set of letters whose distance is a multiplication of $r$ are different.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This language is finite and therefore regular. Specifically, if $|\Sigma|=n$, then $|L_{r,k}|=$$({n\choose{k}}\cdot k!)^r$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For $r=1$ we get the language $L_{k-distinct}$ defined in the linked question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A natural NFA build for $L_{r,k}$ uses the color coding scheme and for a $(|\Sigma|,k)$-perfect hashing family $\mathcal F$ (i.e. mapping the letters into $k$ indices) selects a hash function $f\in \mathcal F$ by an epsilon transition and then verifies that each set of letters $\Sigma_i = \{\sigma_j|i=j \mod r\}$ is distinct.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Such perfect hashing family build of size $O(e^{k+\log^3 k}\cdot n\log n)$ is known&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The resulting automaton is of size $O((2e)^{r(k+O(\log^3 k))}\cdot n\ \text{polylog}\ n)$, which is the same as we would get for $L_{1,rk}$ (which is $L_{rk-distinct}$) by using the same approach.&#xA;(The reason for this size, at least in a naive build, is that the automaton state have to encode which of the $k$ colors we've seen for each of the $r$ letter sets). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A more careful build would give $O(4^{r(k+O(\log^2 k))}\cdot n\ \text{polylog}\ n)$ sized automaton (same goes for $L_{1,rk}$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This sounds &lt;em&gt;wasteful&lt;/em&gt;, as a lot fewer comparison are needed as $r$ grows larger (and $rk$ is constant).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;What is the smallest automaton we can build for $L_{r,k}$?&lt;/strong&gt;&lt;/p&gt;&#xA;" OwnerUserId="21001" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2014-07-20T15:11:04.293" Title="Bounds on the size of NFA for $r$-skip $k$-distinct language" Tags="&lt;fl.formal-languages&gt;&lt;regular-language&gt;&lt;upper-bounds&gt;&lt;nondeterminism&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="25234" PostTypeId="1" CreationDate="2014-07-14T16:03:41.067" Score="3" ViewCount="109" Body="&lt;p&gt;Consider the following setting:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $(X,d)$ be a metric space and let $S$ be a finite subset of $X$. An $\epsilon$-cover of $S$ is any subset $C\subset S$ such that &#xA;$$&#xA;\max_{x\in S} d(x,C)\leq \epsilon,&#xA;$$&#xA;where $d(x,C)=\min_{y\in C} d(x,y)$. Let's call the $\epsilon$-covering number of $S$, denoted by $N(S,\epsilon)$, the size of its minimal $\epsilon$-cover:&#xA;$$&#xA;N(S,\epsilon)=\min\{ |C| \mid C \text{is an $\epsilon$-covering of } S\}.&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is the following: Are there any good approximation algorithms for computing the covering number? I am aware of an algorithm based on farthest-first traversal that outputs a number $N$ such that $N(S,\epsilon)\leq N \leq N(S,\epsilon/2)$. Is there anything out there which does better?&lt;/p&gt;&#xA;" OwnerUserId="15512" LastActivityDate="2014-07-14T16:03:41.067" Title="Approximation of covering number in metric space" Tags="&lt;approximation-algorithms&gt;&lt;metric-spaces&gt;&lt;covering-problems&gt;" AnswerCount="0" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="25235" PostTypeId="1" CreationDate="2014-07-14T16:33:24.403" Score="0" ViewCount="254" Body="&lt;p&gt;In the paper &lt;code&gt;Belkin, Mikhail, and Partha Niyogi. &quot;Laplacian eigenmaps and spectral techniques for embedding and clustering.&quot; In NIPS, vol. 14, pp. 585-591. 2001&lt;/code&gt; The author uses methods from spectral geometry, specifically &lt;strong&gt;Laplace-Beltrami operator&lt;/strong&gt;, after searching around about the topic of spectral geometry I found the lectures and books beyond my background. What are the background materials I need to study/read (Lecture notes-references-...) before reading a book or a lecture about spectral geometry?&lt;/p&gt;&#xA;" OwnerUserId="21673" LastActivityDate="2014-07-14T16:33:24.403" Title="introduction to spectral geometry" Tags="&lt;soft-question&gt;&lt;spectral-graph-theory&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="25236" PostTypeId="1" AcceptedAnswerId="25251" CreationDate="2014-07-14T17:05:39.443" Score="6" ViewCount="238" Body="&lt;p&gt;I am curious to know when open problems have been solved by expressing them in a specific logic, and then showing that this logic is decidable. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have two distinct cases in mind:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The problem is about decidability of something, and it can be reformulated in a decidable logic.&lt;/li&gt;&#xA;&lt;li&gt;The conjecture is just a yes/no property about some mathematical object, like twin-prime conjecture. Turn it into a decidable logical sentence, and run the algorithm to know the answer.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;In both cases, it would be interesting if the logic is created and shown decidable just to fit the problem.&lt;/p&gt;&#xA;" OwnerUserId="8953" LastActivityDate="2014-07-16T12:10:54.677" Title="Solving problems by deciding a logic" Tags="&lt;lo.logic&gt;&lt;reductions&gt;&lt;decidability&gt;" AnswerCount="3" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="25237" PostTypeId="2" ParentId="25236" CreationDate="2014-07-14T17:20:07.043" Score="4" Body="&lt;p&gt;We have done this recently in several papers on the properties of automatic and related sequences.  For example, in the paper &lt;a href=&quot;http://arxiv.org/pdf/1211.1301.pdf&quot; rel=&quot;nofollow&quot;&gt;http://arxiv.org/pdf/1211.1301.pdf&lt;/a&gt; we gave a description of the number of unbordered factors of length $n$ of the Thue-Morse sequence, answering some questions of Currie and Saari.  In the paper &lt;a href=&quot;http://arxiv.org/pdf/1406.0670.pdf&quot; rel=&quot;nofollow&quot;&gt;http://arxiv.org/pdf/1406.0670.pdf&lt;/a&gt; we proved a conjecture on the avoidability of the pattern $x x x^R$ in binary sequences.  In both cases we express the assertion to be proved in a logical language, and then use a Presburger-arithmetic-type prover to prove the assertion.&lt;/p&gt;&#xA;" OwnerUserId="3227" LastActivityDate="2014-07-14T17:20:07.043" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25238" PostTypeId="2" ParentId="25037" CreationDate="2014-07-14T21:20:22.867" Score="7" Body="&lt;p&gt;It doesn't sound hopeful in general. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, let $P$ be the statement &quot;all vertices have degree 0 or 1&quot;. Let $p=1/n$ and $n$ even. Then conditioned on the event of being regular, with high probability the graph is 0-regular or 1-regular, so $P$ holds with high probability. Also $P$ is preserved by removing edges. But it is certainly not the case that $P$ holds with high probability under $G_{n,p}$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Even in other situations (say, fixed $p$ as $n\to\infty$), I would expect that there are events $P$ of the form &quot;maximum degree less than $d$&quot; which satisfy your 1. and 2. but don't hold w.h.p. for $G_{n,p}$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;So something more than just the two properties you wrote down will be needed....&lt;/p&gt;&#xA;" OwnerUserId="7385" LastEditorUserId="7385" LastEditDate="2014-07-15T14:41:20.043" LastActivityDate="2014-07-15T14:41:20.043" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25239" PostTypeId="2" ParentId="21792" CreationDate="2014-07-15T01:16:10.437" Score="10" Body="&lt;p&gt;In &lt;em&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/How_to_Solve_It&quot;&gt;How to Solve It&lt;/a&gt;&lt;/em&gt;, Pólya advises:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&quot;If you can't solve a problem, then there is an easier problem you can solve: Find it.&quot;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="337" LastEditorUserId="337" LastEditDate="2014-07-15T10:42:06.533" LastActivityDate="2014-07-15T10:42:06.533" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25242" PostTypeId="2" ParentId="25236" CreationDate="2014-07-15T07:21:58.237" Score="5" Body="&lt;p&gt;Certain cases of a conjecture of Erdos &lt;a href=&quot;http://arxiv.org/abs/1402.2184&quot; rel=&quot;nofollow&quot;&gt;were converted to boolean formulas&lt;/a&gt; &lt;/p&gt;&#xA;&#xA;&lt;p&gt;From the abstract&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;We show that by encoding the problem into Boolean satisfiability and applying the state of the art SAT solver, one can obtain a discrepancy 2 sequence of length 1160 and a proof of the Erdos discrepancy conjecture for C = 2, claiming that no discrepancy 2 sequence of length 1161, or more, exists&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;In the case when the formula is unsatisfiable &quot;The size of the certificate is about 13 GB, and the time needed to verify the certificate was comparable with the time needed to generate it&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To my surprise the sizes of the relatively fast solved formulas&#xA;were &lt;strong&gt;much bigger&lt;/strong&gt; than hard combinatorial problems like&#xA;factoring or inverting crypto hash function.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Formulas are at:  &lt;a href=&quot;http://cgi.csc.liv.ac.uk/~konev/SAT14/&quot; rel=&quot;nofollow&quot;&gt;http://cgi.csc.liv.ac.uk/~konev/SAT14/&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Another example might be &lt;a href=&quot;http://mathworld.wolfram.com/RobbinsConjecture.html&quot; rel=&quot;nofollow&quot;&gt;Robbins Conjecture&lt;/a&gt; which was solved by &lt;a href=&quot;http://www.cs.unm.edu/~mccune/papers/robbins/&quot; rel=&quot;nofollow&quot;&gt;computer&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="22348" LastEditorUserId="22348" LastEditDate="2014-07-16T12:10:54.677" LastActivityDate="2014-07-16T12:10:54.677" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25246" PostTypeId="2" ParentId="25231" CreationDate="2014-07-15T13:20:31.890" Score="3" Body="&lt;p&gt;Ok, so I figured it out the next day. It's all dead simple as it came out.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let's use an example – type applications &lt;code&gt;z a a&lt;/code&gt; and &lt;code&gt;z a b&lt;/code&gt; where &lt;code&gt;z :: * -&amp;gt; * -&amp;gt; *&lt;/code&gt;. The unification will yield that (without further context) &lt;code&gt;z a a&lt;/code&gt; is the most general type for both giving substitution &lt;code&gt;{b↦a}&lt;/code&gt;. On the other hand, &lt;code&gt;z a a&lt;/code&gt; cannot be &lt;em&gt;matched&lt;/em&gt; to &lt;code&gt;z a b&lt;/code&gt;, as they are simply different.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So now let's dissect the implementations. The &lt;code&gt;mgu x@(TAp l r) y@(TAp l' r')&lt;/code&gt; first compares &lt;code&gt;l&lt;/code&gt; and &lt;code&gt;l'&lt;/code&gt; giving a substitution &lt;code&gt;s1 &amp;lt;- mgu l l'&lt;/code&gt;. The &lt;code&gt;s1&lt;/code&gt; is a &lt;em&gt;knowledge&lt;/em&gt; of how part of &lt;code&gt;x&lt;/code&gt; and &lt;code&gt;y&lt;/code&gt; are different. With that knowledge, we can investigate further; that's why we use &lt;code&gt;apply&lt;/code&gt; in &lt;code&gt;s2 &amp;lt;- mgu (apply s1 l) (apply s1 l')&lt;/code&gt; which gives us next premises on how different &lt;code&gt;x&lt;/code&gt; and &lt;code&gt;y&lt;/code&gt; are. So the summary is to compose the knowledge: &lt;code&gt;s2 @@ s1&lt;/code&gt; (ordering is as in function composition, e.g. &lt;code&gt;g (f (x))&lt;/code&gt; can be written as &lt;code&gt;(g ∘ f) (x)&lt;/code&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I believe (without a proof though) that it's possible to just use &lt;code&gt;s2 &amp;lt;- mgu r r'&lt;/code&gt; and then try to combine &lt;code&gt;s1&lt;/code&gt; with &lt;code&gt;s2&lt;/code&gt; though some kind of recursion would be required. Also, I believe it's possible to match &lt;code&gt;r&lt;/code&gt; with &lt;code&gt;r'&lt;/code&gt; first and then match &lt;code&gt;l&lt;/code&gt; with &lt;code&gt;l'&lt;/code&gt;; the ordering is just to make error messages more obvious (order of reading in a file).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The &lt;code&gt;match x@(TAp l r) y@(TAp l' r')&lt;/code&gt; is different. We must not approve the first example: &lt;code&gt;z a a&lt;/code&gt; vs &lt;code&gt;z a b&lt;/code&gt;. In order to do that we need to:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;note that &lt;code&gt;a&lt;/code&gt; from &lt;code&gt;x&lt;/code&gt; would need to become &lt;code&gt;a&lt;/code&gt; from &lt;code&gt;y&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;note that &lt;code&gt;a&lt;/code&gt; from &lt;code&gt;x&lt;/code&gt; would need to become &lt;code&gt;b&lt;/code&gt; from &lt;code&gt;y&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;tell that the above two premises are contradictory&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;That's the reason to yielding &lt;em&gt;strange&lt;/em&gt; substitutions like &lt;code&gt;{a↦a}&lt;/code&gt; which is semantically equivalent to &lt;code&gt;{}&lt;/code&gt; but allows for taking #1 into account.&#xA;The &lt;em&gt;symmetric&lt;/em&gt; composition takes this additional information. It doesn't put apply in the second sub-matching (&lt;code&gt;match (apply s1 r) (apply s1 r')&lt;/code&gt;) since applying a substitution would make us lose information about contradictory premises.&lt;/p&gt;&#xA;" OwnerUserId="26613" LastActivityDate="2014-07-15T13:20:31.890" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25247" PostTypeId="2" ParentId="25199" CreationDate="2014-07-15T23:32:54.260" Score="6" Body="&lt;p&gt;Put it on the arxiv. Yes, it is not refereed, but it does give you some limited visibility, and sooner or later, if it is interesting, it would get cited. &lt;/p&gt;&#xA;" OwnerUserId="9594" LastActivityDate="2014-07-15T23:32:54.260" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25248" PostTypeId="2" ParentId="8390" CreationDate="2014-07-16T06:16:02.573" Score="4" Body="&lt;p&gt;Here is a copy of the 1965 paper by Moon and Moser: &lt;a href=&quot;http://users.monash.edu.au/~davidwo/MoonMoser65.pdf&quot; rel=&quot;nofollow&quot;&gt;http://users.monash.edu.au/~davidwo/MoonMoser65.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that the result was actually first proved in 1960 by Miller and Muller:&#xA;&lt;a href=&quot;http://users.monash.edu.au/~davidwo/MillerMuller-NumberMaximalCliques.pdf&quot; rel=&quot;nofollow&quot;&gt;http://users.monash.edu.au/~davidwo/MillerMuller-NumberMaximalCliques.pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="26635" LastActivityDate="2014-07-16T06:16:02.573" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25249" PostTypeId="2" ParentId="25203" CreationDate="2014-07-16T09:42:50.570" Score="3" Body="&lt;p&gt;Computing the probability that a point is inside a random convex-hull is quite interesting, and got some attention recently (under a slightly different sampling model). The exact probability can be computed (but not too quickly). Good estimates follow by looking on the Tukey depth of the points of interest. See the following recent paper, and references therein.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://sarielhp.org/p/14/prob_ch/&quot; rel=&quot;nofollow&quot;&gt;http://sarielhp.org/p/14/prob_ch/&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="9594" LastActivityDate="2014-07-16T09:42:50.570" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25250" PostTypeId="2" ParentId="25233" CreationDate="2014-07-16T09:49:30.467" Score="2" Body="&lt;p&gt;I detail the comment below, as you could be interested in this answer.&#xA;I don't know about NFA, but if your goal is to represent this language with a small automaton,  you could use the model of &lt;em&gt;alternating&lt;/em&gt; automata, or AFA.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Intuitively, DFA are with $0$ player: the run is updated automatically, NFA are with $1$ player who has to choose a good run, and AFA are played by two players: one tries to accept, the other to reject. The word is in the language if the &quot;good&quot; player (who wants to accept) has a winning strategy on this word. This does not increase the expressive power of automata.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here, you have an AFA with essentially $kr (\log n)^k$ states: &#xA;At one point the opposite player can guess that some letter with same position modulo $r$ will be equal to the current one.&#xA;Then the &quot;good&quot; player guesses $k$ bit positions of the current letter (this requires $(\log n)^k$ memory) : one which will be different for each later equivalent position. Then we just have to check that one of these bits is indeed different every $r$ positions.&lt;/p&gt;&#xA;" OwnerUserId="8953" LastEditorUserId="8953" LastEditDate="2014-07-16T16:52:04.043" LastActivityDate="2014-07-16T16:52:04.043" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="25251" PostTypeId="2" ParentId="25236" CreationDate="2014-07-16T11:12:11.963" Score="6" Body="&lt;p&gt;I think the most spectacular example of this approach is Thomas Hales' proof of the Kepler conjecture (aka Hilbert's 18th problem). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the 1950s, Fejes Toth proved that the Kepler conjecture was equivalent to a large collection of formulas in the first-order theory of real closed fields. Since Tarski had shown this theory to be decidable, he went on to speculate that if a sufficiently fast computer could be built, the Kepler conjecture could be resolved by machine. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Half a century later, Thomas Hales actually made this strategy work (after proving a lot of difficult theorems to further simplify the set of formulas the computer needed to check)! &lt;/p&gt;&#xA;" OwnerUserId="657" LastActivityDate="2014-07-16T11:12:11.963" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25252" PostTypeId="1" AcceptedAnswerId="25253" CreationDate="2014-07-16T12:41:34.920" Score="10" ViewCount="478" Body="&lt;p&gt;Let's call a language $L \in$ NP &lt;em&gt;sparsely certificated&lt;/em&gt; if and only if:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There exists a polynomial $p : \mathbb{N} \rightarrow \mathbb{N}$ such that for every input $x \in \Sigma^*$ of size $n$, if $x \in L$ then the set $U_x$ of certificates $u$ which verify that $x \in L$ is polynomially sized, i.e. $|U_x| \leq p(n)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In shorter terms, every input $x$ has at a most polynomial amount of certificates which verify its inclusion in $L$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt; To illustrate, consider the $\mathbf{CLIQUE}$ problem:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\mathbf{CLIQUE} = \{\; (G,k) \;\mid\; G \text{ has a clique of size } k \;\}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The language $\mathbf{CLIQUE}$ is &lt;strong&gt;not&lt;/strong&gt; &lt;em&gt;sparsely certificated&lt;/em&gt;, as an input $x = (G,k)$ could easily have an exponential amount of $k$-cliques acting as certificates which prove that $x \in \mathbf{CLIQUE}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;End Example&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The question, then, is: are there any known NP-complete sparsely certificated languages? Any insights are welcome, even if they don't answer the question!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: this definition is different from that of a sparse language!&lt;/p&gt;&#xA;" OwnerUserId="16378" LastActivityDate="2014-07-16T13:32:43.550" Title="NP-complete problem with polynomially many certificates?" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25253" PostTypeId="2" ParentId="25252" CreationDate="2014-07-16T13:17:19.310" Score="12" Body="&lt;p&gt;No, there is no known sparsely certified $NP$-complete languages. The class that you are describing is known as $fewP$. It is widely believed that $fewP \ne NP$, So, No $NP$-complete problem is known to be in fewP. (It is impossible unless $fewP=NP$).&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2014-07-16T13:32:43.550" LastActivityDate="2014-07-16T13:32:43.550" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="25254" PostTypeId="1" CreationDate="2014-07-16T14:34:39.420" Score="1" ViewCount="328" Body="&lt;p&gt;Can a infinite time Turing machine perform hyper-computation like checking the consistency of the set theory ZF without using infinite memory?&lt;/p&gt;&#xA;" OwnerUserId="26641" LastEditorUserId="186" LastEditDate="2014-07-17T06:20:12.837" LastActivityDate="2014-07-18T06:24:32.950" Title="Does hyper-computational power of infinite time Turing machines also require infinite memory?" Tags="&lt;computability&gt;&lt;turing-machines&gt;&lt;space-complexity&gt;&lt;hypercomputation&gt;" AnswerCount="1" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="25255" PostTypeId="2" ParentId="24948" CreationDate="2014-07-16T16:14:42.383" Score="2" Body="&lt;p&gt;Claim: $S\subseteq NEXP$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To prove it, take $L\in S$. It follows that there exists a machine $K$ s.t. $L=S(K)$. I imagine $K$ to be a Turing machine because I am more familiar with them. Now $n\in L$ iff there exists some computation of $K$ on empty input of length $n$. So we can verify whether $n\in L$ by non-deterministically guessing first $n$ steps of $K$ on empty input and verifying whether $K$ halts after this $n$ steps. $\square$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Considering that the problem of verifying whether a non-deterministic TM makes at most $n$ steps on empty inpuit on some computation is NEXP-complete (&lt;a href=&quot;https://cstheory.stackexchange.com/questions/3297/nexp-complete-problems/3298#3298&quot;&gt;NEXP-complete problems&lt;/a&gt;), I would guess that $S$ contains arbitrary hard NEXP problems.&lt;/p&gt;&#xA;" OwnerUserId="7289" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2014-07-16T18:54:55.883" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="25257" PostTypeId="2" ParentId="22511" CreationDate="2014-07-16T18:42:17.493" Score="1" Body="&lt;p&gt;Using for reference, Aho and Corasick, &lt;em&gt;Efficient string matching: an aid to bibliographic search&lt;/em&gt; (&lt;em&gt;Communications of the ACM&lt;/em&gt;, 18(6):333&amp;ndash;340, 1975) (&lt;a href=&quot;http://dl.acm.org/citation.cfm?doid=360825.360855&quot; rel=&quot;nofollow&quot;&gt;PDF&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Algorithm 2 is mostly creating a &lt;a href=&quot;http://en.wikipedia.org/wiki/Trie&quot; rel=&quot;nofollow&quot;&gt;trie&lt;/a&gt; or &quot;keyword tree&quot; in the paper.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Important Note&lt;/strong&gt;: They make the assumption that $g(s, a) = \texttt{fail}$ if either $a$ is undefined, or  $g(s, a)$ hasn't been defined yet. You can think of this function as an edge, it either points to the next state or returns $\texttt{fail}$. Assume evaluating and assigning to functions, such as $g$ or $output$, takes constant time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Example&lt;/strong&gt;:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let's consider the intuition for a single keyword $x$. Use the last graph on page 335 with his, hers and she. Let's add &quot;hello&quot; and verify that it takes linear time in the length. We can generalize from there.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For this example, let $y = \text{hello}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$s = 0$, the initial state. First, we find out that $g(0, \text{h}) = 1$ so we&#xA;set $s = 1$. Next we check $g(1, \text{e})$, which takes us to $s = 2$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now $g(2, \textit{l}) = \texttt{fail}$, there is no edge for $\textit{l}$, we have to create a state, $s = 10$ and set $g(2, \textit{l}) = 10$. State $10$ corresponds to the string $\text{hel}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Again $g(10, \textit{l}) = \texttt{fail}$, we create a new state $s = 11 \text{(hell)}$. The same happens for $\textit{o}$ : $g(11, \textit{o}) = \texttt{fail}$, make a new state $12 \text{(hello)}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We've finished $\text{hello}$, as a last step we set $output(12) = \text{hello}$.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Rough Analysis:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Calling $g(s,a)$, assigning values, and creating new states are constant time. Since we perform a constant number of each operation per letter, the complexity is $\mathcal{O}(|\text{y}|)$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Algorithm 2 does this for each key word. Notice that the same bound holds for each keyword added, &lt;em&gt;regardless of what $g(s,a)$ returns for each letter&lt;/em&gt;. Then the total time complexity is $\mathcal{O}(\displaystyle \sum_i^k{|y_i|})$, proportional to the sum of the length of the keywords.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The algorithm also sets a self-loop for any unused symbols, or $g(0, a) = 0$ for all $a$ that weren't the first letter of a keyword. We only need to consider letters in the set of keywords, so this step is still bounded by the sum length.&lt;/p&gt;&#xA;" OwnerUserId="26649" LastEditorUserId="17082" LastEditDate="2014-07-17T02:17:20.303" LastActivityDate="2014-07-17T02:17:20.303" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25260" PostTypeId="1" CreationDate="2014-07-17T08:00:53.553" Score="25" ViewCount="573" Body="&lt;p&gt;Reingold, Trevisan, and Vadhan's breakthrough 2006 paper (&lt;a href=&quot;http://dl.acm.org/citation.cfm?id=1132583&quot;&gt;http://dl.acm.org/citation.cfm?id=1132583&lt;/a&gt;) reduced the problem of showing $RL=L$ to producing pseudorandom walks on regular digraphs that are not consistently labeled.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Has any further progress on this problem been made since then?&lt;/p&gt;&#xA;" OwnerUserId="22140" LastActivityDate="2021-04-27T19:11:50.213" Title="$RL=L$ Progress Since 2006" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;pseudorandomness&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="25262" PostTypeId="1" CreationDate="2014-07-17T10:40:43.337" Score="2" ViewCount="146" Body="&lt;p&gt;I have a measure $L(G)$ that is only valid for unweighted graphs because is based on discrete distributions and can't be extended to weighted graphs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My idea is that if I consider a weighted graph as the average of many unweighted graphs, in the sense that every weighted edge is the average over a set of edges and non-edges (1 or 0 weights), then I can express the weighted counter part of that measure as a weighted average of the measure on the set of all unweighted graphs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, I can see every edge in the weighted graph as the average of the edge (present or not) in a set of $N$ unweighted graphs.&#xA;In this sense I can generate a set of $N$ unweighted graphs by a random procedure that produces graphs that have on average the same number of edges and exactly the same vertex set. Then the weighted measure will just be the weighted average of the measure on the set on unweighted graphs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is this option already known in some literature? &lt;/p&gt;&#xA;" OwnerUserId="21967" LastActivityDate="2014-07-17T10:40:43.337" Title="Weighted graph as average of many unweighted graphs" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="25263" PostTypeId="1" AcceptedAnswerId="25264" CreationDate="2014-07-17T11:20:17.507" Score="5" ViewCount="1257" Body="&lt;p&gt;Probably this is well known. There is probabilistic reduction&#xA;from SAT to Unique SAT (0 or 1 solutions).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;According to &lt;a href=&quot;https://cstheory.stackexchange.com/questions/25154/would-derandomizing-the-reduction-from-sat-to-unique-sat-imply-np-and-conp-a&quot;&gt;answer and comments&lt;/a&gt; derandomizing the reduction would imply $PH \subseteq \oplus P$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is simple reduction from SAT to 0,1 integer linear program with&#xA;zero or one solutions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given SAT formula $\phi$ on variables $x_1,\ldots x_n$,&#xA;introduce binary variables $b_i \in \{0,1\}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Define map literals to linear polynomials $f(x_i)=b_i$ and&#xA;$f(\lnot x_i)=1-b_i$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For a clause $l_1 \lor \cdots \lor l_k$ add&#xA;constraint $\sum_{i=1}^k f(l_i) \ge 1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So far the solutions of the constraints are in one&#xA;to one correspondence with the solutions of $\phi$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To make the solution unique, add the optimization&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\text{maximize} \sum_{i=1}^n 2^{(i-1)}b_i$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Two sets of distinct powers of two have equal sums&#xA;iff the sets are equal, so the objective function&#xA;have unique maximum if the constraints are satisfied.&#xA;The ordering of $x_i$ doesn't matter.&#xA;So the 0,1 ILP has zero or one solutions and it is&#xA;not easier than NP-complete and coNP-complete.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;In what complexity class is solving the 0,1 ILP?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;As far as I know ILP are not a complexity class.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\log_2(n)$ calls to NP oracle would solve it via&#xA;binary search, though I don't see a direct reduction to&#xA;SAT.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This appears close to UP though there is no certificate.&lt;/p&gt;&#xA;" OwnerUserId="22348" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:30.623" LastActivityDate="2014-07-17T13:42:08.680" Title="Reduction from SAT to 0,1 integer linear program with zero or one solutions" Tags="&lt;cc.complexity-theory&gt;&lt;sat&gt;&lt;integer-programming&gt;&lt;unique-solution&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="25264" PostTypeId="2" ParentId="25263" CreationDate="2014-07-17T13:42:08.680" Score="11" Body="&lt;p&gt;OptP-complete. &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/0022000088900396&quot;&gt;Krentel&lt;/a&gt; showed that MAX-SAT, finding the lexicographically maximum satisfying assignment, is OptP-complete and the reduction above reduces Max-SAT to ILP. ILP sits in OptP pretty much by definition.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that you need n calls to an NP-oracle to solve ILP via binary search, O(log n) isn't sufficient. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;There really isn't much of a connection to UP, though Mulmuley, Vazirani and Vazirani &lt;a href=&quot;http://dx.doi.org/10.1145/28395.383347&quot;&gt;give an isolation lemma&lt;/a&gt; that gives an alternate proof of Valiant-Vazirani via a maximization problem.&lt;/p&gt;&#xA;" OwnerUserId="550" LastActivityDate="2014-07-17T13:42:08.680" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25265" PostTypeId="1" CreationDate="2014-07-17T15:09:07.917" Score="7" ViewCount="63" Body="&lt;p&gt;What are some explicit forms for the error probability in the typical quantum abelian hidden subgroup algorithm as a function of oracles queries?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://arxiv.org/abs/quant-ph/0401083&quot;&gt;Ettinger, Hoyer, and Knill&lt;/a&gt; give a result that the success probability is $1-4r/2^{s/2}$, where $r$ is the number of subgroups of $G$ and $s$ is the query number.  However, this result seems to come from a specific set-up for the algorithm that departs from simply measuring a list of characters of $G$.  Does someone work out what the error probability in reconstructing the hidden subgroup would be just as a function of the number of characters measured?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Simplified cases where $G$ is cyclic or a product of $Z_2$ groups would also be of interest.&lt;/p&gt;&#xA;" OwnerUserId="26662" LastActivityDate="2014-07-17T15:09:07.917" Title="Explicit error bounds on the abelian hidden subgroup problem" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;quantum-computing&gt;&lt;quantum-information&gt;&lt;gr.group-theory&gt;" AnswerCount="0" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="25266" PostTypeId="2" ParentId="19129" CreationDate="2014-07-17T15:24:30.973" Score="2" Body="&lt;p&gt;After your step 4, measuring $I_m$ in the computational basis will randomly give us one $\chi \in G^*$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We then repeat all the steps you have given $n$ times to get a list of $n$ characters in the dual group of $G$. This list of characters generates a subgroup $K$ of the dual group $G^*$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We then check through (classically) all the possible subgroups $H$ to find one where $H^*$ is $K$.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For fixed $n$ this isn't always a unique match, so when there is degeneracy we would just pick the largest match (as the trivial subgroup will match all lists of characters).&lt;/p&gt;&#xA;" OwnerUserId="26662" LastActivityDate="2014-07-17T15:24:30.973" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25267" PostTypeId="1" AcceptedAnswerId="25271" CreationDate="2014-07-17T20:21:00.857" Score="0" ViewCount="472" Body="&lt;p&gt;(Edited)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The &lt;strong&gt;maximum set packing problem&lt;/strong&gt; when the sets are all of equal size, say $k$, is known to be NP-hard for $k \ge 3$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The requirement in this problem is that the sets in the solution will be pair-wise disjoint. In other words, one have to find as many as possible sets taken from the sets in the problem (each containing $k$ elements) such that no two sets share one element or more.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let us now consider a modified version of the $k$-set packing, which we will call &lt;strong&gt;Problem A&lt;/strong&gt;. Instead of finding the maximum number of pair-wise disjoint sets, we have to find the maximum number of subsets of the original sets, such that each subset contains at least $l$ elements not shared by any other subset. For $l=k$, we get the maximum $k$-set packing. Is Problem A NP-hard for $l&amp;lt;k$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Formally:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Input&lt;/strong&gt;: A collection $A_1,A_2,...,A_n$ of sets of size $k$ each and an integer $l$, $1 \le l \le k$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Output&lt;/strong&gt;: The maximum number of subsets $A'_i \subseteq A_i$ such that $\left| {A{'_i}} \right| \ge l$ and $\left| {A{'_i} \cap A{'_j}} \right| = \emptyset$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that for $l=1$ (for any $k$ such that $l \le k$), we can transform our problem to the &lt;strong&gt;maximum bipartite matching problem&lt;/strong&gt;, so in this case Problem A is solvable in polynomial time. Thus, I ask about the NP-hardness of Problem A in the case $1 &amp;lt; l &amp;lt; k$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Examples:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;${A_1} = \left\{ {1,2,3} \right\}, {A_2} = \left\{ {1,2,3} \right\}$ ($k=3$) and $l=1$. Then $A'_1={1}, A'_2={2}$ is a valid solution. This can be achieved by considering $A_i$ as one group of nodes in a bipartite graph, and the elements as the other group, and then looking for maximum matching. Note that for $l=2, l=3$ only one set can be obtained as a solution.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;${A_1} = \left\{ {1,2,3} \right\},{A_2} = \left\{ {2,4,5} \right\},{A_3} = \left\{ {3,4,5} \right\}$ (again, $k=3$). For $l=1$, one possible solution is $A{'_1} = \left\{ 1 \right\},A{'_2} = \left\{ 2 \right\},A{'_3} = \left\{ 3 \right\}$. For $l=2$, only $2$ sets can be chosen: $A'{'_1} = \left\{ {1,2} \right\},A'{'_2} = \left\{ {4,5} \right\}$. For $l=3$, one of the original sets can serve as a valid solution. That is, for $l=1$ we get a solution of cardinality (number of sets) $3$, for $l=2$ the cardinality is $2$ and for $l=3$ the cardinality is 1.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="17147" LastEditorUserId="17147" LastEditDate="2014-07-20T09:49:34.910" LastActivityDate="2014-07-20T15:08:20.497" Title="Hardness of an extended maximum set packing problem" Tags="&lt;np-hardness&gt;&lt;packing&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="25268" PostTypeId="1" AcceptedAnswerId="33424" CreationDate="2014-07-17T22:10:13.147" Score="6" ViewCount="348" Body="&lt;p&gt;For a graph $G=(V,E)$ with $n$ vertices and $m$ edges, a subgraph of $O(kn)$ edges   is an $r$-rooted-$k$-sparsifier if it preserves the local edge connectivity from $r$ to every other vertex up to $k$. Namely, it is a subgraph $G_k$, such that $\lambda(r,x,G_k)\geq \min(\lambda(r,x,G),k)$ for all $x\in V$. Here $\lambda(x,y,G)$ is the maximum number of edge disjoint paths from $x$ to $y$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For undirected graphs, Nagomochi and Ibaraki shows such graph exist and has an algorithm to find a $r$-rooted-$k$-sparsifier in $O(m)$ time. In fact, it finds a subgraph preserves all local edge and vertex connectivity. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there similar results for directed graphs? Or are there a proof that a $r$-rooted-$k$-sparsifier cannot exist for some directed graph?&lt;/p&gt;&#xA;" OwnerUserId="314" LastEditorUserId="314" LastEditDate="2014-07-17T22:15:44.627" LastActivityDate="2015-12-23T18:14:57.177" Title="Sparse subgraph preserving rooted edge connectivity up to $k$" Tags="&lt;graph-theory&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="25269" PostTypeId="1" CreationDate="2014-07-18T00:42:48.993" Score="6" ViewCount="103" Body="&lt;p&gt;I have a multivariate integer polynomial $f : \mathbb{Z}^n \to \mathbb{Z}$ given as either as a circuit or as a list of monomials.  I am interested in practical (though obviously exponential time) algorithms for finding smaller circuit representations of $f$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The application is finding succinct representations of geometric predicates obtained by factoring other geometric predicates.  Typically the input is a predicate with a succinct circuit, and for geometric reasons the factors are likely to have succinct circuits as well even if factoring algorithms produce monomials.  The first predicates I want simplified have degrees up to 8 and minimal circuit size in the low 10s.  Somewhat expensive is okay: I can afford to wait a day for the answer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Three questions&lt;/strong&gt;:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;For the promise problem where we know a succinct circuit of given size exists, what is the best worst case algorithm?  Is it possible to do significantly better than enumerate-all-circuits?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Are there practical circuit simplification algorithms which are both incremental and complete, in that they start with simple transformations (removing partial common factors, etc.) but are guaranteed to eventually find the minimal circuit?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Do the lifting techniques used to reducing polynomial factoring and irreducibility testing to bivariate polynomials extend to finding circuits in any useful way?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="13245" LastEditorUserId="13245" LastEditDate="2014-07-18T00:52:54.040" LastActivityDate="2014-07-18T00:52:54.040" Title="Practical algorithms for finding small arithmetic circuits" Tags="&lt;arithmetic-circuits&gt;&lt;succinct&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="25270" PostTypeId="2" ParentId="25254" CreationDate="2014-07-18T06:24:32.950" Score="3" Body="&lt;p&gt;I think we have a reference here to &lt;a href=&quot;http://arxiv.org/pdf/math/9808093.pdf&quot; rel=&quot;nofollow&quot;&gt;Joel Hamkin's model of infinite time computation&lt;/a&gt;, not just some made up idea of infinite time machines. In that model time is measured by ordinal numbers. The machine has access to an infinite tape. After $\omega$ steps, every cell of the tape has been potentially written to, and we can't throw away any cell because its content may be needed during further computation. So yes, you'd need infinite space, but that's not a problem when you've got infinite time already.&lt;/p&gt;&#xA;" OwnerUserId="705" LastActivityDate="2014-07-18T06:24:32.950" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="25271" PostTypeId="2" ParentId="25267" CreationDate="2014-07-18T10:11:52.490" Score="3" Body="&lt;p&gt;The previous reduction doesn't work with the current reformulation of your problem (19 July 2014); however I leave it below, because it is correct for that particular maximum k-set packing problem variant (which is defined in the reduction). Here it is a fix for the current version:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;CURRENT VERSION&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Again your problem is NP-hard for $l \geq 3$. NOTE that  $l$ should not be part of the input otherwise it is simply a generalization of the MAXIMUM $k$-SET PACKING problem (MSP): given an instance of MSP, feed it to your algorithm setting $l = k$; so the NP-hardness proof is immediate.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $l,k$ are not part of the input, I give you the idea of the reduction for the case $l = k-1$, but it can be easily extended to arbitrary $3 \leq l &amp;lt; k$. Given an instance of MAXIMUM $l$-SET PACKING PROBLEM (MSP), i.e. a collection of sets $A_1, A_2, ..., A_n$ and an integer $p$ that represents the minimum number of sets required for the solution, build an instance of your problem in the following way:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;if $A = \{x_1,...,x_m\} = A_1 \cup ... \cup A_n$ are the elements in the $A_i$, &quot;clone&quot; them: $B = \{y_1,...,y_m\}$ using $m$ new elements and build the corresponding $B_i$: $x_j \in A_i \Leftrightarrow y_j \in B_i$;&lt;/li&gt;&#xA;&lt;li&gt;add to the $A_1,...,A_n,B_1,...,B_n$ a (new) shared element $z$;&lt;/li&gt;&#xA;&lt;li&gt;the sets $A_1 \cup \{z\},...,A_n\cup \{z\},B_1 \cup \{z\},...,B_n \cup \{z\}$ represent the input of your problem;&lt;/li&gt;&#xA;&lt;li&gt;sets to $2p$ the minimum number of subsets required for the solution of your problem (each one must contain $l$ unique elements).&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Suppose that a solution exists for your problem. Then we can have the following cases:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;exactly $p$ subsets of $A'_i \subseteq A_i \cup \{z\}$ and $p$ subsets $B'_i \subseteq B_i\cup \{z\}$ are included in the solution; but, by construction, the element $z$ can only be contained in one of them - suppose one of the $A_i$ - but in that case the $p$ sets $B'_i$ (that don't contain $z$) also represent a valid solution for the original MSP problem (because each one of them contains $l$ unique elements);&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;or $q &amp;gt; p$ subsets $A'_i \subseteq A_i\cup \{z\}$ and $2p - q$ subsets $B'_i \subseteq B_i\cup \{z\}$ are included in the solution; again the element $z$ can be included in only one of the $A'_i$, but nevertheless we have at least $p$ of them (because $q &amp;gt; p$) that don't include it, so those $p$ subsets $A'_i \subseteq A_i$ represent a valid solution for the original MSP problem;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;or $q &amp;gt; p$ subsets $B'_i \subseteq B_i\cup \{z\}$ and $2p - q$ subsets $A'_i \subseteq A_i\cup \{z\}$ are included in the solution; this case is similar to the previous one.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;In the opposite direction, if a valid solution to the original MSP exists, it also represent a valid solution to your problem: just pick $A'_i = A_i \subseteq A_i \cup \{z\}, B'_i= B_i \subseteq B_i \cup \{z\}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;PREVIOUS VERSION&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The decision version of your problem MAXIMUM $l$-DISJOINT $k$-SET PACKING PROBLEM is: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Input&lt;/strong&gt;: an integer $q \geq 0$ and a collection $D$ of finite sets, each set contains $k$ elements; an integer $0 &amp;lt; l &amp;lt; k$&lt;br&gt;&#xA;&lt;strong&gt;Output&lt;/strong&gt;: a set packing of $q$ or more sets, i.e. a collection of &lt;em&gt;partially overlapping&lt;/em&gt; sets $D' \subseteq D$ with $|D'| &amp;gt;= q$ and foreach $A_i, A_j \in D', | A_i \cap A_j | \leq k - l$ (the last contraint means that two subsets must contain at least $l$ distinct elements)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;When $l \geq 3$ the above problem remains NP-hard and this is a reduction from the decision version of MAXIMUM $l$-SET PACKING PROBLEM which is NP-hard because $l \geq 3$ ($k=l$):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Input&lt;/strong&gt;: an integer $p \geq 0$ and a collection $C$ of finite sets, each set contains $l \geq 3$ elements;&lt;br&gt;&#xA;&lt;strong&gt;Output&lt;/strong&gt;: a set packing of $p$ or more sets, i.e. a collection of &lt;em&gt;disjoint&lt;/em&gt; sets $C' \subseteq C$ with $|C'| &amp;gt;= p$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Reduction&lt;/strong&gt;: simply pick $q=p$, and add $k - l$ new shared elements $Y = \{y_1,...,y_{k-l}\}$ to every original set $A_i \in C$; i.e. $D \ni A'_i = A_i \cup Y$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose that $A'_i, A'_j \in D'$ (where a D' is a valid solution to your problem), then by construction they already share $k-l$ elements (the $y_i$s); so they cannot share more elements, otherwise the number of disjoint elements would be less than $l$: $(A'_i \setminus Y) \cap (A'_j \setminus Y) = \emptyset$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But $A'_i \setminus Y$ contains exactly the elements of the original $A_i \in C$, and  $A'_j \setminus Y$ contains exactly the elements of the original $A_j \in C$, so $A_i \cap A_j = \emptyset$ and we can conclude that the solution $D'$ corresponds to a valid solution $C'$ of the original problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The opposite direction (if there exists a valid solution $C'$ for the $l$-SET PACKING PROBLEM then there is also a valid solution $D'$ to your problem) is immediate.&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2014-07-20T15:08:20.497" LastActivityDate="2014-07-20T15:08:20.497" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="25272" PostTypeId="2" ParentId="19129" CreationDate="2014-07-18T10:31:51.623" Score="4" Body="&lt;p&gt;This classical post-processing exploits several non-trivial group theoretical properties of Abelian groups. I wrote a didactic explanation of how this classical algorithm works &lt;a href=&quot;http://www.google.de/url?sa=t&amp;amp;rct=j&amp;amp;q=&amp;amp;esrc=s&amp;amp;source=web&amp;amp;cd=1&amp;amp;sqi=2&amp;amp;ved=0CCAQFjAA&amp;amp;url=http%3A%2F%2Farxiv.org%2Fabs%2F1210.3637&amp;amp;ei=je_IU6mDHqHk4QSc04DgCA&amp;amp;usg=AFQjCNENQ3VoHCYPqSkSQpb_PWvCtQtsSQ&amp;amp;sig2=aKgejGGsMb03WVbjvyapdg&amp;amp;bvm=bv.71198958,d.bGE&quot; rel=&quot;nofollow&quot;&gt;here [1]&lt;/a&gt;; other good sources to read about are [&lt;a href=&quot;http://arxiv.org/abs/quantph/0411037&quot; rel=&quot;nofollow&quot;&gt;2&lt;/a&gt;, &lt;a href=&quot;http://arxiv.org/abs/0812.0380&quot; rel=&quot;nofollow&quot;&gt;3&lt;/a&gt;, &lt;a href=&quot;http://arxiv.org/abs/1201.4867&quot; rel=&quot;nofollow&quot;&gt;4&lt;/a&gt;].&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, measuring at the end of the algorithm in the standard basis will give you elements of $H^{*}$ uniformly at random. It is not hard to check that the set $H^{*}$ is a (finite Abelian) subgroup of the character group $G^{*}$; due to, after $O(\log{|G|})$ measurement rounds a generating set of $H^{*}$ is obtained with probability exponentially close to one.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The most technical part is how to reconstruct $H$ given a generating set of $H^{*}$. Let us focus on this problem from now on. For this, we will need some rudiments from character theory.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Character Theory&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First of all, remember that, when $G$ is finite Abelian, characters form a group isomorphic to $G$ and that they can be written as&#xA;\begin{equation}&#xA;\chi_g(h)=\exp{\left(2\pi i \sum_{i=1}^{m} \frac{g(i)h(i)}{d_i}\right)}.&#xA;\end{equation}&#xA;The label $g$ of the character $\chi_g$ is an element of $G$. The map $g\rightarrow \chi_g$ defines an isomorphism between $G^*$ and $G$, so that we can identify both groups.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, given $H$, the set $H^*$ you describe is calle the &lt;em&gt;orthogonal subgroup of $H$&lt;/em&gt; or, depending on the source, the &lt;em&gt;annihilator of $H$&lt;/em&gt;. This subgroup has some important mathematical properties:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;First of all, $H^*$ is also subgroup of $G$; &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;It is &lt;strong&gt;dual&lt;/strong&gt; to $H$, in the sense that, if we consider the&#xA;double annihilator subgroup $H^{**}$, this subgroup is isomorphic to&#xA;$H$: i.e., $H\cong H^{**}$. This guarantees that the solutions to the system of equations $$\chi_g(h)=1,\quad \textrm{ for every } g\in H^*$$&#xA;are precisely the elements of the subgroup $H$ that you want.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Linear Equations over Groups&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, a &lt;strong&gt;key observation&lt;/strong&gt; that we can use is the following (I will follow  &lt;a href=&quot;http://www.google.de/url?sa=t&amp;amp;rct=j&amp;amp;q=&amp;amp;esrc=s&amp;amp;source=web&amp;amp;cd=1&amp;amp;sqi=2&amp;amp;ved=0CCAQFjAA&amp;amp;url=http%3A%2F%2Farxiv.org%2Fabs%2F1210.3637&amp;amp;ei=je_IU6mDHqHk4QSc04DgCA&amp;amp;usg=AFQjCNENQ3VoHCYPqSkSQpb_PWvCtQtsSQ&amp;amp;sig2=aKgejGGsMb03WVbjvyapdg&amp;amp;bvm=bv.71198958,d.bGE&quot; rel=&quot;nofollow&quot;&gt;[1]&lt;/a&gt; for this part): the former systems of equations can be re-written as a ''&lt;em&gt;system of linear equations over finite Abelian groups&lt;/em&gt;''. By that, I mean a problem where the input are to finite Abelian groups $X$, $Y$; an element $b\in Y$; a group homomorphism$ \alpha:X\rightarrow Y$ and the task is to find the solutions of the equation $$\alpha(x)=b$$ You can show that any homomorphisms can be written as a matrix $A$, in such a way that the problem above can be re-expressed as&#xA;\begin{equation}&#xA;A x=&#xA;\begin{pmatrix}&#xA;a_1(1) &amp;amp; a_2(1) &amp;amp; \cdots &amp;amp; a_n(1)\\&#xA;a_1(2) &amp;amp; a_2(2) &amp;amp; \cdots &amp;amp; a_n(2)\\&#xA;\vdots &amp;amp; \vdots &amp;amp; \cdots &amp;amp; \vdots\\&#xA;a_1(m) &amp;amp; a_2(m) &amp;amp; \cdots &amp;amp; a_n(m)&#xA;\end{pmatrix}&#xA;\begin{pmatrix}&#xA;x(1)\\&#xA;x(2)\\&#xA;\vdots\\&#xA;x(n)&#xA;\end{pmatrix}&#xA;=&#xA;\begin{pmatrix}&#xA;b(1) \\&#xA;b(2) \\&#xA;\vdots\\&#xA;b(m)&#xA;\end{pmatrix}&#xA;\begin{matrix}&#xA;\mod d_1\\&#xA;\mod d_2\\&#xA;\vdots\\&#xA;\mod d_m&#xA;\end{matrix}&#xA;= b &#xA;\end{equation}&#xA;where we assume $Y=\mathbb{Z}_{d_{1}}\times\cdots\times \mathbb{Z}_{d_{m}}$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The final key observation is that there exist &lt;strong&gt;efficient classical algorithms&lt;/strong&gt; to decide whether these systems admit solutions, count them and &lt;em&gt;find them&lt;/em&gt; (we survey some in &lt;a href=&quot;http://www.google.de/url?sa=t&amp;amp;rct=j&amp;amp;q=&amp;amp;esrc=s&amp;amp;source=web&amp;amp;cd=1&amp;amp;sqi=2&amp;amp;ved=0CCAQFjAA&amp;amp;url=http%3A%2F%2Farxiv.org%2Fabs%2F1210.3637&amp;amp;ei=je_IU6mDHqHk4QSc04DgCA&amp;amp;usg=AFQjCNENQ3VoHCYPqSkSQpb_PWvCtQtsSQ&amp;amp;sig2=aKgejGGsMb03WVbjvyapdg&amp;amp;bvm=bv.71198958,d.bGE&quot; rel=&quot;nofollow&quot;&gt;[1]&lt;/a&gt;). The set of solutions is always of the form $x_0+\ker{\alpha}$, where $x_0$ is a particular solution and $\ker{\alpha}$ is the kernel of $\alpha$ (a subgroup of $X$). These classical algorithms can find a particular solution of the system and compute a generating set of $\ker{\alpha}$. These classical algorithms make crucial use of &lt;a href=&quot;http://www.google.de/url?sa=t&amp;amp;rct=j&amp;amp;q=&amp;amp;esrc=s&amp;amp;source=web&amp;amp;cd=1&amp;amp;ved=0CCIQFjAA&amp;amp;url=http%3A%2F%2Fen.wikipedia.org%2Fwiki%2FSmith_normal_form&amp;amp;ei=yvbIU5T3OImQ4gSrxIGgBg&amp;amp;usg=AFQjCNGZnnnG5rMEDLTYmiwsBoQcK5fN5A&amp;amp;sig2=4yI42tTFkTUSv1BWv9g7Tg&amp;amp;bvm=bv.71198958,d.bGE&quot; rel=&quot;nofollow&quot;&gt;Smith Normal Forms&lt;/a&gt; to rewrite the system in an almost diagonal form (some other intermediate steps are necessary, but that should give you the intuitive picture).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The system of equations that you obtain in your case encodes the &lt;strong&gt;hidden subgroup&lt;/strong&gt; $H$. In particular is of the form $\Omega x = 0$, for some group homomorphism $\Omega$. The kernel of $\Omega$ is precisely the hidden subgroup. A particular solution in that case is 0, the trivial one.&lt;/p&gt;&#xA;" OwnerUserId="7286" LastEditorUserId="7286" LastEditDate="2014-07-19T13:18:42.547" LastActivityDate="2014-07-19T13:18:42.547" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25274" PostTypeId="1" CreationDate="2014-07-18T15:11:31.030" Score="3" ViewCount="120" Body="&lt;p&gt;this question is based on generalizing two somewhat similar questions that recently appeared on the &quot;sister&quot; beta site &lt;a href=&quot;https://cs.stackexchange.com/&quot;&gt;cs.se&lt;/a&gt; &lt;em&gt;(now with more questions than this one!)&lt;/em&gt; and which seems theoretically significant yet maybe not studied much in the literature. consider a grammar as a set of production rules, terminal and nonterminal symbols.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;what is the smallest language that &quot;covers&quot; all the grammar production rules/symbols?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;by &quot;covering&quot; what is meant that every grammar production rule is invoked at least once in a derivation of the acceptance of the word, and including all the terminals. the smallest language is necessarily finite, ie a set of words/strings. the question arose (roughly) in the context of DFAs[2] and CFLs[1]. the problem becomes more complex in the case of CFLs, ambiguous languages &amp;amp; nondeterminism. looking for eg ref(s), thms, complexity, theory, connections, applications, insight etc.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] &lt;a href=&quot;https://cs.stackexchange.com/questions/28264/generating-a-set-of-minimal-length-strings-that-together-invoke-every-producti&quot;&gt;Generating a set of minimal-length strings that, together, invoke every production of a context free language&lt;/a&gt; / &lt;a href=&quot;https://cs.stackexchange.com/users/755/d-w&quot;&gt;D.W.&lt;/a&gt;, cs.se&lt;br&gt;&#xA;[2] &lt;a href=&quot;https://cs.stackexchange.com/questions/28282/transition-coverage-for-a-dfa&quot;&gt;Transition coverage for a DFA&lt;/a&gt; / &lt;a href=&quot;https://cs.stackexchange.com/users/16612/patrick-collins&quot;&gt;Patrick Collins&lt;/a&gt;, cs.se&lt;/p&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="-1" LastEditDate="2017-04-13T12:48:30.830" LastActivityDate="2014-07-18T15:11:31.030" Title="minimal languages that &quot;cover&quot; grammar productions" Tags="&lt;reference-request&gt;&lt;big-picture&gt;&lt;application-of-theory&gt;&lt;grammars&gt;&lt;minimization&gt;" AnswerCount="0" CommentCount="2" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="25275" PostTypeId="1" AcceptedAnswerId="25277" CreationDate="2014-07-18T19:56:31.177" Score="0" ViewCount="212" Body="&lt;p&gt;What are notable examples of problems for which the best currently known algorithm has $2^{\Theta(n^2)}\text{poly}(n)$ running time ?&lt;/p&gt;&#xA;" OwnerUserId="20792" LastEditorUserId="17082" LastEditDate="2014-07-19T12:30:41.010" LastActivityDate="2014-07-20T05:31:27.727" Title="Examples of $2^{\Theta(n^2)}\text{poly}(n)$-time algorithms" Tags="&lt;ds.algorithms&gt;&lt;exp-time-algorithms&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25276" PostTypeId="2" ParentId="18199" CreationDate="2014-07-18T21:29:02.497" Score="1" Body="&lt;p&gt;(Azoury and Warmuth, 2001) have shown that minimizing the KL-divergence between two exponential family distributions is the same as minimizing the Bregman divergence that corresponds to their cumulant function, i.e.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$KL(P_{F,\theta_1} || P_{F,\theta_2}) = D_F(\theta_1 || \theta_2)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For $f = \nabla F$, and $F^*$ the Fenchel conjugate of $F$, we get the following nice relationship for Bregman divergences:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$D_F(\theta_1 || \theta_2) = D_{F^*}(f(\theta_2) || f(\theta_1))$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See Lemma 4 in &lt;a href=&quot;http://webdocs.cs.ualberta.ca/~whitem/publications/12aistats-reverse.pdf&quot; rel=&quot;nofollow&quot;&gt;this paper&lt;/a&gt;, which also has references to other work that discusses this connection. The above can also be written without the $f$ transfers on $\theta$. So, there is a simple relationship between these two losses, i.e. between minimizing with $\theta_1$ as the first argument or with $\theta_2$ as the first argument.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, I feel I should mention that we can generally talk about maximizing likelihood in terms of Bregman divergences and P(data | params), rather than KL-divergences on densities. The above linked paper shows that&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\max_\theta log \ p(data | \theta) = \min_\theta D_F(\theta | data)$ &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The relationship above where we swapped the two variables of interest in the loss has a correspondence here:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$p(\theta | data) \ p(data) = p(data | \theta) \ p(\theta)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;giving&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$log \ p(\theta | data) = log \ p(data | \theta) + log \ p(\theta) - log \ p(data)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since we typically do not put a prior on data, we find that maximizing the likelihood of $p(\theta | data)$ (typically called the MAP estimate) corresponds to maximizing likelihood of the data with a prior on the parameters. Correspondingly, maximum likelihood is like the MAP estimate, with a non-informative, uniform prior on $\theta$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;K. S. Azoury and M. K. Warmuth. Relative loss bounds for on-line density estimation with the exponential family of distributions. 2001&lt;/p&gt;&#xA;" OwnerUserId="26674" LastEditorUserId="26674" LastEditDate="2014-08-07T22:10:41.467" LastActivityDate="2014-08-07T22:10:41.467" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="25277" PostTypeId="2" ParentId="25275" CreationDate="2014-07-19T00:06:17.970" Score="2" Body="&lt;p&gt;New answer:&#xA;The number of pseudo line arrangements is 2^{Theta(n^2)} &lt;a href=&quot;http://page.math.tu-berlin.de/~felsner/Paper/numarr.pdf&quot; rel=&quot;nofollow&quot;&gt;http://page.math.tu-berlin.de/~felsner/Paper/numarr.pdf&lt;/a&gt; . Which is in turn can be used to bound the number order type of n points in the plane. Thus if you want to check some concrete conjecture on point configurations in the plane, you are going to get your desired running time. Examples of algorithms using this approach and use this approach are here: &lt;a href=&quot;http://www.ist.tugraz.at/aichholzer/research/rp/triangulations/ordertypes/&quot; rel=&quot;nofollow&quot;&gt;http://www.ist.tugraz.at/aichholzer/research/rp/triangulations/ordertypes/&lt;/a&gt; . If you do not aggressively cut the search space for the specific conjecture you are checking, you would get the running you want.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In a similar direction, checking if a generic property holds for all binary n*n matrices, would take this running time. This in particular, the time it would take to verify a &quot;generic&quot; property over graphs over n vertices. As a &quot;silly&quot; example, think about a Ramsey type conjecture: Every graph over n vertices contains either a clique or an independent set of size $\Theta(\log n)$. Ha! This running time is explicitly mentioned in the Wikipedia page: &lt;a href=&quot;http://en.wikipedia.org/wiki/Ramsey%27s_theorem#Ramsey_numbers&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/Ramsey%27s_theorem#Ramsey_numbers&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Old answer:&#xA;Some variants of Cylindrical algebraic decomposition if my memory serves me right.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Cylindrical_algebraic_decomposition&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/Cylindrical_algebraic_decomposition&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="9594" LastEditorUserId="9594" LastEditDate="2014-07-20T05:31:27.727" LastActivityDate="2014-07-20T05:31:27.727" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="25279" PostTypeId="1" AcceptedAnswerId="25286" CreationDate="2014-07-19T15:32:13.610" Score="23" ViewCount="560" Body="&lt;p&gt;An &lt;a href=&quot;http://arxiv.org/pdf/quant-ph/0209131v2.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;important 2003 paper by Childs et al.&lt;/a&gt; introduced the &quot;conjoined trees problem&quot;: a problem admitting an exponential quantum speedup that's unlike just about any other such problem that we know of.  In this problem, we're given an exponentially-large graph like the one pictured below, which consists of two complete binary trees of depth n, whose leaves are connected to each other by a random cycle.  We're supplied with the label of the ENTRANCE vertex.  We're also supplied with an oracle that, given as input the label of any vertex, tells us the labels of its neighbors.  Our goal is to find the EXIT vertex (which can easily be recognized, as the only degree-2 vertex in the graph other than the ENTRANCE vertex).  We can assume that the labels are long random strings, so that with overwhelming probability, the only way to learn the label of &lt;i&gt;any&lt;/i&gt; vertex other than the ENTRANCE vertex is to be given it by the oracle.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Childs et al. showed that a quantum walk algorithm is able simply to barrel through this graph, and find the EXIT vertex after poly(n) steps.  By contrast, they also showed that any classical randomized algorithm requires exp(n) steps to find the EXIT vertex with high probability.  They stated their lower bound as &amp;Omega;(2&lt;sup&gt;n/6&lt;/sup&gt;), but I believe that a closer examination of their proof yields &amp;Omega;(2&lt;sup&gt;n/2&lt;/sup&gt;).  Intuitively, this is because with overwhelming probability, a random walk on the graph (even a self-avoiding walk, etc.) will get stuck in the vast middle region for an exponential amount of time: any time a walker starts heading toward the EXIT, the much larger number of edges pointing away from the EXIT will act as a &quot;repulsive force&quot; that pushes it back toward the middle.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The way they formalized the argument was to show that, until it's visited ~2&lt;sup&gt;n/2&lt;/sup&gt; vertices, a randomized algorithm hasn't even found any &lt;i&gt;cycles&lt;/i&gt; in the graph: the induced subgraph that it's seen so far is just a tree, providing no information whatsoever about where the EXIT vertex might be.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm interested in pinning down the randomized query complexity of this problem more precisely.  My question is this:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;b&gt;Can anyone come up with a classical algorithm that finds the EXIT vertex in fewer than ~2&lt;sup&gt;n&lt;/sup&gt; steps---say, in O(2&lt;sup&gt;n/2&lt;/sup&gt;), or O(2&lt;sup&gt;2n/3&lt;/sup&gt;)?  Alternatively, can anyone give a lower bound better than &amp;Omega;(2&lt;sup&gt;n/2&lt;/sup&gt;)?&lt;/b&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Note that, by the birthday paradox, it's not hard to find cycles in the graph after O(2&lt;sup&gt;n/2&lt;/sup&gt;) steps.  The question is whether one can &lt;i&gt;use&lt;/i&gt; the cycles to get any clues about where the EXIT vertex is.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If anyone can improve the lower bound past &amp;Omega;(2&lt;sup&gt;n/2&lt;/sup&gt;), then to my knowledge, this would provide the very first provable example of a black-box problem with an exponential quantum speedup, whose randomized query complexity is greater than &amp;radic;N.  (Where N~2&lt;sup&gt;n&lt;/sup&gt; is the problem size.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;b&gt;Update:&lt;/b&gt; I've learned from Andrew Childs that, in &lt;a href=&quot;http://arxiv.org/pdf/quant-ph/0312230v1.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;this note&lt;/a&gt;, Fenner and Zhang explicitly improve the randomized lower bound for conjoined trees to &amp;Omega;(2&lt;sup&gt;n/3&lt;/sup&gt;).  If they were willing to accept constant (rather than exponentially-small) success probability, I believe they could improve the bound further, to &amp;Omega;(2&lt;sup&gt;n/2&lt;/sup&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/n78YZ.jpg&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;" OwnerUserId="1575" LastEditorUserId="1575" LastEditDate="2014-07-19T20:49:09.760" LastActivityDate="2014-07-20T16:23:22.633" Title="The randomized query complexity of the conjoined trees problem" Tags="&lt;graph-algorithms&gt;&lt;quantum-computing&gt;&lt;randomized-algorithms&gt;&lt;random-walks&gt;&lt;decision-trees&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="25280" PostTypeId="1" CreationDate="2014-07-19T16:35:47.737" Score="2" ViewCount="360" Body="&lt;p&gt;Sometimes I see people put side conditions above the inference line as if they were premises of an inference rule.  This feels strange.  My understanding (which may be wrong) is that a side condition belongs to the meta-theory, not to the object-theory: an object-proof of a side condition should not be required and may even not be possible.  So what is the motivation of doing this?  For saving space or for some other deeper reason?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$Update$:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am no longer quite sure whether a side condition belongs to the meta-theory.  But at least it is outside the object-theory the inference rules describe,that is, the truth of a side condition cannot be derived using the inference rules.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$Update^2$:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Take as an example the rule for typing variables from the simply-typed $\lambda$-calculus.  $(x : T) \in \Gamma$ is a side condition that tests whether the variable $x$ of type $T$ is in the typing context $\Gamma$.  In some presentations, the side condition is put &lt;em&gt;aside&lt;/em&gt;, leaving the premises empty to indicate that it is an axiom, though conditional:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\frac{}{\Gamma \vdash x : T} (x : T) \in \Gamma$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;while in others, it is put &lt;em&gt;above&lt;/em&gt; as if it were a premise:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\frac{(x : T) \in \Gamma}{\Gamma \vdash x : T}$$&lt;/p&gt;&#xA;" OwnerUserId="656" LastEditorUserId="656" LastEditDate="2014-07-20T09:46:33.950" LastActivityDate="2019-04-11T10:42:06.430" Title="About the position of side conditions in an inference rule" Tags="&lt;lo.logic&gt;&lt;type-theory&gt;&lt;proof-theory&gt;" AnswerCount="2" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="25282" PostTypeId="1" AcceptedAnswerId="25284" CreationDate="2014-07-19T17:45:05.153" Score="5" ViewCount="539" Body="&lt;p&gt;I'm developing a tiny programming language to try to wrap my head around type inference, and I'm trying to figure out if its behavior makes sense or not. Here's the problem:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The identity function &lt;code&gt;\x.x&lt;/code&gt; can't be unified to a single type, but applied to something, it can, i.e. &lt;code&gt;(\x.x) 10 : Int&lt;/code&gt;. However, right now, the expression:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;((\x.x) (\x.x)) 10&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;can't be unified, because the expression &lt;code&gt;(\x.x) (\x.x)&lt;/code&gt; doesn't have a single type. The type checker doesn't do any evaluation, so it can't tell that the above expression is equivalent to &lt;code&gt;\x.x&lt;/code&gt;. The type checker only sees the expression, tries to determine the type of it, and fails before trying to apply it to &lt;code&gt;10&lt;/code&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is this typical behavior, or am I being inconsistent with my type inference?&lt;/p&gt;&#xA;" OwnerUserId="26683" LastActivityDate="2014-07-19T21:01:33.887" Title="Is this behavior in a programming language inconsistent?" Tags="&lt;pl.programming-languages&gt;&lt;type-theory&gt;&lt;lambda-calculus&gt;&lt;type-inference&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25284" PostTypeId="2" ParentId="25282" CreationDate="2014-07-19T19:51:58.420" Score="14" Body="&lt;p&gt;Yes, your type inference seems incomplete. This example can be dealt with fairly trivially, by computing the respective type equations, e.g. in the style Hindley/Milner does it.&lt;/p&gt;&#xA;&lt;p&gt;Alpha-renaming the example makes it easier to follow:&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;((\x.x) (\y.y)) 10&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;For maximum clarity, let's start by assigning type variables to each sub expression:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;x : A&lt;/li&gt;&#xA;&lt;li&gt;(\x.x) : B&lt;/li&gt;&#xA;&lt;li&gt;y : C&lt;/li&gt;&#xA;&lt;li&gt;(\y.y) : D&lt;/li&gt;&#xA;&lt;li&gt;(\x.x) (\y.y) : E&lt;/li&gt;&#xA;&lt;li&gt;10 : F&lt;/li&gt;&#xA;&lt;li&gt;((\x.x) (\y.y)) 10 : G&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Now, the typing rules of the language impose certain equality constraints for each language construct:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;From the typing rule for lambda, applied to (\x.x), it follows that B = A -&amp;gt; A&lt;/li&gt;&#xA;&lt;li&gt;Likewise, D = C -&amp;gt; C&lt;/li&gt;&#xA;&lt;li&gt;From the typing rule for application, applied to (\x.x) (\y.y), it follows that A = D and E = D&lt;/li&gt;&#xA;&lt;li&gt;From the typing rule for integers it follows that F = Int&lt;/li&gt;&#xA;&lt;li&gt;From the typing rule for application, applied to (...) 10, it follows that E = F -&amp;gt; G&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;In summary, this yields the following equations:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;B = A -&amp;gt; A&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;D = C -&amp;gt; C&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;A = D&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;E = D&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;F = Int&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;E = F -&amp;gt; G&lt;/p&gt;&#xA;&lt;p&gt;Now you just solve the equations using unification:&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;From (2) and (3) it follows that A = C -&amp;gt; C&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;From (2) and (4) it follows that E = C -&amp;gt; C&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;From (5) and (6) it follows that E = Int -&amp;gt; G&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;From (8) and (9) it follows that C -&amp;gt; C = Int -&amp;gt; G, and thus, C = Int and C = G, and thus, G = Int&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;From (7) and (10) it follows that A = Int -&amp;gt; Int&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;A and C are the types you are ultimately interested in, because they are the ones you have to assign to x and y, respectively. They yield the typed term&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;((\x:(Int-&amp;gt;Int).x) (\y.Int.y)) 10&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;Its overall type is G = Int.&lt;/p&gt;&#xA;" OwnerUserId="7890" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2014-07-19T21:01:33.887" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25285" PostTypeId="2" ParentId="21503" CreationDate="2014-07-19T22:51:06.837" Score="4" Body="&lt;p&gt;I'll answer your question partially: there seem to be some reasons why such a construction may be hard to obtain.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose that given any n-node m-edge directed graph you could preprocess it in T(m,n) time so that reachability queries can be answered in q(m,n) time. Then, for instance, you could find a triangle in an n-node m-edge graph in $T(O(m),O(n))+n q(O(m),O(n))$ time. Hence $T(m,n)=O(n^2)$ and $q(m,n)=O(n)$ would imply a breakthrough result. The best algorithm we have for triangle finding runs in $O(n^\omega)$ time and it's unclear whether $\omega=2$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;To see the reduction, suppose we want to find a triangle in some graph $G$. Build a 4-layered graph on 4 sets of $n$ nodes each $X,Y,Z,W$ where each original node $v$ in $G$ has copies $v_X,v_Y,v_Z,v_W$. Now for each edge $(u,v)$ in $G$ add the directed edges $(u_X,v_Y),(u_Y,v_Z),(u_Z,v_W)$. This completes the graph. Now do the preprocessing in $T(O(m),O(n))$ time, and ask the queries about $v_X,v_W$ for each $v$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Probably with some more work one can change the reduction to also list the triangles in a graph (currently it only lists the nodes in triangles). If one can do this efficiently, then one could probably get some conditional lower bound based on 3SUM requiring $n^{2+o(1)}$ time as well, using a result of Patrascu from 2010.&lt;/p&gt;&#xA;" OwnerUserId="410" LastActivityDate="2014-07-19T22:51:06.837" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25286" PostTypeId="2" ParentId="25279" CreationDate="2014-07-20T04:26:25.690" Score="22" Body="&lt;p&gt;I think I have a deterministic algorithm that finds the exit in $O(n2^{n/2})$ oracle calls.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First, find the labels for all the vertices of distance $n/2$ from the entrance. This takes $O(2^{n/2})$ queries. Then, start from the entrance and walk $n+1$ steps to get to a node $X$ of distance $n+1$ from the entrance. We will try to reach the exit from this node.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We have two options of where to go from $X$, and we wish to choose the one closer to the exit. To do this, pick one of the options arbitrarily, arriving at a node $Y$. Then explore all the $O(2^{n/2})$ ways of walking $n/2$ steps from $Y$. If one of them gives a label of distance $n/2$ from the entrance, we know that going from $X$ to $Y$ was the wrong choice. Otherwise, $Y$ was the right choice. Thus in $O(2^{n/2})$ we found a node $X_2$ of distance $n+2$ from the entrance.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We can keep proceeding this way. To find a node of distance $n+3$ from the entrance, we start at $X_2$ and walk two arbitrary steps. We then explore all options of walking $n/2$ additional steps (while never walking backwards), and check if any of them have distance $n/2$ from the entrance. This will happen if and only if the first step we walked from $X_2$ was wrong.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Getting to the exit requires doing this $n$ times, for a total of $O(n2^{n/2})$ oracle calls. In addition, perhaps surprisingly, this algorithm is deterministic.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit:&lt;/strong&gt; Just to clarify, to get from $X_t$ to $X_{t+1}$, we walk $t$ arbitrary steps, then run a search of depth $n/2$, for a total of $t+2^{n/2}$ steps. If the first step lead away from the exit, then all the first $t$ steps did, and we therefore find a label of distance $n/2$ from the entrance. This means $t+2^{n/2}$ steps suffice for determining the next single step to take from $X_t$.&lt;/p&gt;&#xA;" OwnerUserId="26685" LastEditorUserId="26685" LastEditDate="2014-07-20T16:23:22.633" LastActivityDate="2014-07-20T16:23:22.633" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="25287" PostTypeId="2" ParentId="21503" CreationDate="2014-07-20T04:56:16.343" Score="6" Body="&lt;p&gt;Compact reachability oracles exist for planar graphs,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Mikkel Thorup: &lt;a href=&quot;http://dx.doi.org/10.1145/1039488.1039493&quot;&gt;Compact oracles for reachability and approximate distances in planar digraphs&lt;/a&gt;. J. ACM 51(6): 993-1024 (2004)&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;but are &quot;hard&quot; for general graphs (even sparse graphs)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Mihai Patrascu: &lt;a href=&quot;http://dx.doi.org/10.1137/09075336X&quot;&gt;Unifying the Landscape of Cell-Probe Lower Bounds&lt;/a&gt;. SIAM J. Comput. 40(3): 827-847 (2011)&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Nevertheless, there is an algorithm that can compute a close-to-optimal reachability labeling &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Edith Cohen, Eran Halperin, Haim Kaplan, Uri Zwick: &lt;a href=&quot;http://dx.doi.org/10.1137/S0097539702403098&quot;&gt;Reachability and Distance Queries via 2-Hop Labels&lt;/a&gt;. SIAM J. Comput. 32(5): 1338-1355 (2003)&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Maxim A. Babenko, Andrew V. Goldberg, Anupam Gupta, Viswanath Nagarajan: &lt;a href=&quot;http://dx.doi.org/10.1007/978-3-642-39206-1_7&quot;&gt;Algorithms for Hub Label Optimization&lt;/a&gt;. ICALP 2013: 69-80&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Building on the work of Cohen et al. and others, there is quite a bit of applied research (database community) see e.g.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Ruoming Jin, Guan Wang: &lt;a href=&quot;http://www.vldb.org/pvldb/vol6/p1978-jin.pdf&quot;&gt;Simple, Fast, and Scalable Reachability Oracle&lt;/a&gt;. PVLDB 6(14): 1978-1989 (2013)&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Yosuke Yano, Takuya Akiba, Yoichi Iwata, Yuichi Yoshida: &lt;a href=&quot;http://dx.doi.org/10.1145/2505515.2505724&quot;&gt;Fast and scalable reachability queries on graphs by pruned labeling with landmarks and paths&lt;/a&gt;. CIKM 2013: 1601-1606&lt;/em&gt;&lt;/p&gt;&#xA;" OwnerUserId="4821" LastEditorUserId="4821" LastEditDate="2014-07-20T05:01:37.963" LastActivityDate="2014-07-20T05:01:37.963" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25289" PostTypeId="1" CreationDate="2014-07-20T08:31:36.053" Score="6" ViewCount="94" Body="&lt;p&gt;We denote by $[t]$ the set $\{1,2,\ldots,t\}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A $(n,k)$-perfect hashing family is a set of functions $H=\{h_i:[n]\to[k]\}$ such that for every set $S\subset [n], |S|\leq k$, there exists some $h_S \in H$ such that $h_S$ is injective on $S$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are known (deterministic) builds of such family of size $O(e^{k+log^2k}log n)$, while there is a $\Omega(e^k \cdot \frac{log n}{\sqrt k})$ lower bound , which is almost tight.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We define an extension of such families as follows:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A family of functions $\mathcal F=\{f_i:[n]\to [k]\}$ is a &lt;em&gt;$(n,r,k)$-perfect hashing family&lt;/em&gt; if for every set of sets, $\mathcal S=\{S_1,S_2,\ldots,S_r\subseteq [n]\}$, such that $$|\mathcal S|=r,\ \forall i:|S_i|=k,\ \forall j\neq i:S_i\cap S_j = \emptyset$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There exists a function $f\in \mathcal F$ which is injective on &lt;strong&gt;all&lt;/strong&gt; $S_i\in \mathcal S$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;That is, every set of $r$ disjoint sets of indices of size $k$ there exists a single function which is injective on all of them.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;What is the smallest $(n,r,k)$-perfect hashing family we can build?&lt;/strong&gt; &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Specifially, I'm mainly interested in the $r=2$ case, but this might be useful to others for general $r$ values.&lt;/p&gt;&#xA;" OwnerUserId="21001" LastEditorUserId="21001" LastEditDate="2014-07-21T21:59:31.607" LastActivityDate="2014-07-21T21:59:31.607" Title="Perfect hashing family variation - injectivity on $r$ disjoint sets" Tags="&lt;ds.algorithms&gt;&lt;co.combinatorics&gt;&lt;extremal-combinatorics&gt;" AnswerCount="0" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="25291" PostTypeId="1" CreationDate="2014-07-20T12:50:59.513" Score="5" ViewCount="586" Body="&lt;p&gt;Expressing a boolean function &lt;span class=&quot;math-container&quot;&gt;$f$&lt;/span&gt; &lt;span class=&quot;math-container&quot;&gt;$:\{ 0,1 \}^{n} \rightarrow \{0,1 \}$&lt;/span&gt; using a polynomial &lt;span class=&quot;math-container&quot;&gt;$P(x_{1},...,x_{n})$&lt;/span&gt;, where &lt;span class=&quot;math-container&quot;&gt;$x_{1},...,x_{n}$&lt;/span&gt; may be integer, finite fields, or other fields.&lt;/p&gt;&#xA;&lt;p&gt;One of the most popular examples is Fourier Analysis e.g.  &lt;a href=&quot;http://analysisofbooleanfunctions.org/&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://analysisofbooleanfunctions.org/&lt;/a&gt; .&lt;/p&gt;&#xA;&lt;p&gt;Another topic is transforming small depth circuits to polynomials over the integers with small degree and  magnitudes of small weights. For example, the transformation from ACC circuits to polynomials proved by Yao and Beigel and Tarui is notable.&lt;/p&gt;&#xA;&lt;p&gt;My questions are:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Qestion A. Is there a list of results about lower bounds and remarkable techniques for polynomials computing boolean functions.&#xA;I know Williams' separation between NEXP and ACC.&lt;/p&gt;&#xA;&lt;p&gt;Question B. Does the recent separation result about ACC &lt;span class=&quot;math-container&quot;&gt;$\circ $&lt;/span&gt; THR circuits by Williams contain some interpretation relating with polynomials computing boolean funcitons ?&lt;/p&gt;&#xA;&lt;p&gt;Question C. Is proving lower bounds on the number of monomials or the degree or other  formally defined complexity measures related with algebraic complexity theory and arithmetic circuit complexity established by Valiant with VP v. VNP problem??&lt;/p&gt;&#xA;&lt;p&gt;I am reading the survey written by Shiplka, and have met a difference between boolean complexity and arithmetic complexity: semantic versus syntatic.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Here is a response to the J's question.&lt;/p&gt;&#xA;&lt;p&gt;The survey has a remark about the difference between polynomial and polynomial function.&lt;/p&gt;&#xA;&lt;p&gt;Taking an example, &lt;span class=&quot;math-container&quot;&gt;$x^{2}-x$&lt;/span&gt; is a polynomial which is NOT identicdally zero but is a polynomial function &lt;span class=&quot;math-container&quot;&gt;$GF(2)^{n}\rightarrow GF(2)$&lt;/span&gt; identically zero over &lt;span class=&quot;math-container&quot;&gt;$GF(2)$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;p&gt;In algebraic complexity, Valiant's question is  about complexity of the expressing polynomial (not polynomial function).&lt;/p&gt;&#xA;&lt;p&gt;However, I mainly want to consider polynomial functions. Thanks.&lt;/p&gt;&#xA;" OwnerUserId="26584" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2014-10-13T10:00:00.177" Title="Lower bounds for Polynomials computing the boolean functions" Tags="&lt;cc.complexity-theory&gt;&lt;circuit-complexity&gt;&lt;boolean-functions&gt;&lt;algebraic-complexity&gt;&lt;arithmetic-circuits&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="25293" PostTypeId="1" CreationDate="2014-07-20T16:24:12.660" Score="6" ViewCount="254" Body="&lt;p&gt;N.B. I asked the &lt;a href=&quot;https://stackoverflow.com/questions/24705418/generalizing-haskell-could-we-replace-hask-with-cat&quot;&gt;same question on Stack Overflow&lt;/a&gt; but it was suggested that it is too theoretical for this forum.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is great that Haskell allows us to walk around in the category $Hask$. But sometimes I feel it is too tight. So I had this idea about a programming language that would allow us to move around in the category $Cat$ of small categories, where categories would be types and functors from categories $C$ to $D$ would be functions of type $C \to D$. At first it seemed a crazy idea, but I found an &lt;a href=&quot;http://www.brics.dk/RS/01/27/&quot;&gt;article&lt;/a&gt; by Glynn Winskel and his student Mario Jose Cáccamo about such calculus! However it is limited to a fragment of $Cat$. Do you think that it would be possible to extend Haskell in this spirit, i.e., instead of working in the category $Hask$, it would work in the category (or better, 2-category) $Cat$? Are you aware of any calculus similar to the one by Cáccamo and Winskel?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.brics.dk/RS/01/27/&quot;&gt;http://www.brics.dk/RS/01/27/&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="26690" LastEditorUserId="26690" LastEditDate="2014-07-20T16:39:13.753" LastActivityDate="2014-07-20T16:39:13.753" Title="Generalizing Haskell: could we replace Hask with Cat?" Tags="&lt;pl.programming-languages&gt;&lt;type-theory&gt;&lt;functional-programming&gt;&lt;ct.category-theory&gt;&lt;haskell&gt;" AnswerCount="0" CommentCount="3" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="25294" PostTypeId="1" CreationDate="2014-07-20T17:01:22.547" Score="0" ViewCount="101" Body="&lt;p&gt;I have vaguely heard of this connection between random matrix theory and graphs (the spectral gap of their laplacians) on compact Riemann surfaces. &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Can someone give a pedagogic reference which helps learn this subject? &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Also is there something called &quot;free probability theory&quot; which is somehow equivalent to random matrix theory? &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Would you call the usual QFT of Hermitian matrices a random matrix theory? &lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="25542" LastActivityDate="2014-07-21T16:59:26.627" Title="References to learn more about graph laplacian." Tags="&lt;graph-theory&gt;&lt;pr.probability&gt;&lt;physics&gt;&lt;spectral-graph-theory&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="25296" PostTypeId="2" ParentId="25291" CreationDate="2014-07-20T17:32:34.027" Score="2" Body="&lt;p&gt;Regarding Question C: Number of monomials is essentially the same thing as circuit size of depth-2 algebraic circuits (unless the polynomial is a product of linear polynomials, in which case one could also consider a depth-2 circuits with a multiplication gate at the top). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Degree is very closely related to the &lt;em&gt;depth&lt;/em&gt; of algebraic circuits, as in the results of Hyafil and Valiant-Skyum-Berkowitz-Rackoff.&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2014-07-20T17:32:34.027" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25297" PostTypeId="1" CreationDate="2014-07-20T20:22:08.867" Score="16" ViewCount="437" Body="&lt;p&gt;Is the graph coloring problem complete for poly-APX under C-reductions&#xA;(alternatively, under AP-reductions)? For the graph coloring problem, speaking of a feasible solution means a proper coloring for all vertices of the given graph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The complexity class poly-APX contains all NP optimization problems that can be&#xA;approximated within a factor that is polynomial in the size of the&#xA;input. The notion of C-reducibility concerns approximation preserving&#xA;reductions, which keep the performance ratio of the feasible solutions&#xA;under consideration within a linear factor. For definitions regarding&#xA;approximation preserving reducibilities, see &lt;a href=&quot;http://lcbb4.epfl.ch/reading/np/guideApproxPreservingReduc.pdf&quot; rel=&quot;noreferrer&quot; title=&quot;P. Crescenzi: A short guide to approximation preserving reducibilites, CCC &amp;#39;97&quot;&gt;P. Crescenzi: A short guide to approximation preserving reducibilites, CCC '97&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT (1.8.2014):&lt;/strong&gt;&#xA;Somewhat related, I've found in the paper &quot;on syntactic versus computational views of approximability&quot; by Khanna, Motwani, Sudan and Vazirani (SICOMP 28(1):164-191) a remark stating that GRAPH COLORING and MAX CLIQUE are both in poly-APX-PB and interreducible (Remark 6 in that paper). I understand this is meant with respect to E-reducibility defined in that paper. Later, in the sketch of proof of Theorem 6 in that paper, I understand that they imply that MAX CLIQUE is complete for poly-APX-PB under E-reductions. I would also be grateful for a proof that GRAPH COLORING is complete for poly-APX-PB w.r.t. E-reducibility.&lt;/p&gt;&#xA;" OwnerUserId="2367" LastEditorUserId="2367" LastEditDate="2015-01-05T23:09:44.623" LastActivityDate="2015-01-05T23:09:44.623" Title="Is graph coloring complete for poly-APX?" Tags="&lt;cc.complexity-theory&gt;&lt;approximation-hardness&gt;&lt;graph-colouring&gt;&lt;open-problem&gt;&lt;apx&gt;" AnswerCount="0" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="25298" PostTypeId="1" CreationDate="2014-07-20T20:51:56.513" Score="18" ViewCount="1713" Body="&lt;p&gt;&lt;strong&gt;For a directed acyclic graph ${\langle}V,E{\rangle}$, is there a data structure that allows for reachability queries without requiring quadratic space or linear time?  Ideally I seek an algorithm using only O(log n) space per vertex and logarithmic time&lt;/strong&gt; where $n=|V|+|E|$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It seemed intuitively obvious to me that a data structure like this ought to exist, based on some generalization of standard sorting algorithms.  But I was surprised that I couldn't find any.  Everything I came across either made assumptions about the graph (e.g. planarity) or solved a harder problem in quadratic time/space (e.g. queries interleaved with graph modifications).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The &lt;a href=&quot;https://en.wikipedia.org/wiki/Reachability&quot; rel=&quot;noreferrer&quot;&gt;Wikipedia page on Reachability&lt;/a&gt; only covers one general algorithm (Floyd-Warshall); the rest of the page deals with special cases involving assumptions like the graph being planar (it isn't).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The most commonly cited paper in this space appears to be &lt;a href=&quot;http://dx.doi.org/10.1016/0304-3975(86)90098-8&quot; rel=&quot;noreferrer&quot; title=&quot;Amortized efficiency of a path retrieval data structure&quot;&gt;Amortized efficiency of a path retrieval data structure&lt;/a&gt;, but this and all the papers it cites involve either O(n^2) space or else O(n^2) time in order to allow updates to the graph interleaved with the queries (i.e. no preprocessing).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/questions/18787/what-is-the-fastest-deterministic-algorithm-for-incremental-dag-reachability&quot;&gt;This question&lt;/a&gt; wasn't answered, but it deals with the harder problem of allowing edge insertions interleaved with queries.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/questions/8503/what-persistent-data-structure-for-a-set-of-partially-ordered-elements&quot;&gt;This question&lt;/a&gt; asked for a persistent (pure functional) data structure, which isn't required here.  The &quot;Succinct Posets&quot; paper needs $O(n^2)$ space but it achieves $O(1)$-time queries; I seek a worse-time, better-space algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Mostly looking for a foothold in the literature here.  If there's a survey paper on graph reachability that doesn't spend 99% of its time on the planar-graph case, that would help.&lt;/p&gt;&#xA;" OwnerUserId="4718" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:30.623" LastActivityDate="2014-09-14T16:45:10.280" Title="DAG reachability with O(n log n) space and O(log n)-time queries?" Tags="&lt;graph-algorithms&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="25299" PostTypeId="1" CreationDate="2014-07-21T11:32:35.287" Score="1" ViewCount="173" Body="&lt;p&gt;&lt;a href=&quot;https://mathoverflow.net/questions/176680/computing-the-chromatic-polynomial-of-graph-modulo-x-3&quot;&gt;As explained on MO&lt;/a&gt; computing&#xA;the chromatic polynomial $P(G,x)$ modulo $x-3$ is enough&#xA;for deciding 3-colorability.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For non adjacent vertices $u$ and $v$, $G+uv$ &#xA;is the graph with the edge $uv$ added and&#xA;the graph $G/uv$ is obtained by merging the two vertices.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;According to &lt;a href=&quot;https://en.wikipedia.org/wiki/Chromatic_polynomial&quot; rel=&quot;nofollow&quot;&gt;wikipedia&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$P(G,k)= P(G+uv, k) + P(G/uv,k) \qquad (1) $$ &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The recursion for computing $P(G,x)$ modulo $x-3$&#xA;is siginificantly faster since induced $K_4$ stops&#xA;computing further.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider the following naive algorithm for checking&#xA;3-colorability using $P(G,x) \pmod{x-3}$.&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt; function color3(G: connected graph)&#xA; #returns 0 if G is not 3-colorable, otherwise reports it is and stops&#xA; if G contains induced K_4 &#xA;     return 0&#xA; if G is a clique on 3 or less vertices &#xA;     report '3-colorable'. Stop.&#xA; if we can add edge uv which induces K_4 in G &#xA;     return color3(G/uv) #the induced K_4 contributes 0 to the sum&#xA; #the above makes the problem strictly smaller&#xA; #this might be greatly improved by trying to induce K_4-e&#xA; [C] pick the lexicographic first non-adjacent u,v and return color3(G+uv)+color3(G/uv)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;One call to color3 is polynomial, so the complexity&#xA;depends on the number of double recursion in [C].&lt;/p&gt;&#xA;&#xA;&lt;p&gt;According to Wikipedia the worst case for computing (1)&#xA;is $\phi^{n+m}$. 3-coloring 4-regular graphs is NP-complete,&#xA;so for 4-regular it is $\phi^{3n}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Appears to me terminating by induced $K_4$ would greatly&#xA;improve the running time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Questions:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Q1 What is the complexity of color3? &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;$O(c^n)$ for small $c$ will be of practical interest.&#xA;$2^{o(n)}$ might indicate complexity collapse.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Q2 How to improve [C]?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;There might be other improvements like other 4-chromatic&#xA;subgraph or $F$ being in a graph class where coloring is polynomial.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Experimental results:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For several 4-regular graphs on 246 vertices which are the line&#xA;graphs of 3-regular graphs color3 found 3-coloring in less than&#xA;a minute in sage 6.2 implementation. For several smaller&#xA;graphs which are not 3-colorable it correctly returned 0.&#xA;For reduction SAT to 3-color the running time was fast too.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Sage implementation:  &lt;a href=&quot;https://gist.github.com/jor0/039127ab69dd8934c105&quot; rel=&quot;nofollow&quot;&gt;https://gist.github.com/jor0/039127ab69dd8934c105&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="22348" LastActivityDate="2014-07-21T11:32:35.287" Title="Complexity of an algorithm for deciding 3-colorability of graph by the chromatic polynomial modulo $x-3$" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;" AnswerCount="0" CommentCount="0" ClosedDate="2017-09-25T00:37:37.563" ContentLicense="CC BY-SA 3.0" />
  <row Id="25300" PostTypeId="2" ParentId="25294" CreationDate="2014-07-21T16:59:26.627" Score="1" Body="&lt;p&gt;Suggest these free available resources. Most textbooks on graph theory only glance at &quot;free probability theory&quot;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Lectures on the Combinatorics of Free Probability (London Mathematical Society Lecture Note Series): &#xA;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0521858526&quot; rel=&quot;nofollow&quot;&gt;http://www.amazon.com/Lectures-Combinatorics-Probability-Mathematical-Society/dp/0521858526&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Speicher lectures: &lt;a href=&quot;http://www.mast.queensu.ca/~speicher/papers/lectures-IHP.pdf&quot; rel=&quot;nofollow&quot;&gt;http://www.mast.queensu.ca/~speicher/papers/lectures-IHP.pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="26701" LastActivityDate="2014-07-21T16:59:26.627" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="25301" PostTypeId="1" CreationDate="2014-07-21T17:03:34.600" Score="13" ViewCount="428" Body="&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt;&#xA;Since, it seems there is no progress regarding this question, any idea, conjecture, hunch, or advice is welcome. For example, are there any partial or incomplete results? What are the main challenges? Which techniques may be amenable to make any progress?&#xA;Any observation (irrespective of whether it is insightful or not; trivial or not) is also welcome.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Background:&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Query_complexity&quot; rel=&quot;nofollow&quot;&gt;Decision tree complexity&lt;/a&gt; or query complexity is a simple model of computation defined as follows. Let $f:\{0,1\}^n\to \{0,1\}$ be a Boolean function. The deterministic query complexity of $f$, denoted $D(f)$, is the minimum number of bits of the input $x\in\{0,1\}^n$ that need to be read (in the worse case) by a deterministic algorithm that computes $f(x)$. Note that the measure of complexity is the number of bits of the input that are read; all other computation is free.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We define the zero error or Las Vegas randomized query complexity of $f$, denoted $R_0(f)$, as the minimum number of input bits that need to be read in expectation by a zero-error randomized algorithm that computes $f(x)$. A zero-error algorithm always outputs the correct answer, but the number of input bits read by it depends on the internal randomness of the algorithm. (This is why we measure the expected number of input bits read.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We define the bounded error or Monte Carlo randomized query complexity of $f$, denoted $R_2(f)$, to be the minimum number of input bits that need to be read by a bounded-error randomized algorithm that computes $f(x)$. A bounded-error algorithm always outputs an answer at the end, but it only needs to be correct with probability $\geq$ $1 - \delta$ ($2/3$, say).&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;h2&gt;Work on Recursive Boolean Functions:&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;There has been a line of work on the decision tree complexity of recursive boolean functions as mentioned below. The techniques focus on applying Yao's Lemma and using the distributional perspective guaranteed by it. This means we define a probability distribution on the inputs and the cost incurred by the best algorithm for this distribution gives a lower bound on the randomized decision tree complexity of the function. The worst possible distribution will give the actual randomized  decision tree complexity.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The techniques in these works focus on giving a lower bound on the cost incurred by reading the &quot;minority&quot; bits (or vertices in the function tree) of the input via some form of induction. Another direction of attack could be to find the most &quot;hard&quot; distribution.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;h2&gt;Some Notions&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;We define:&#xA;The distribution $D^*$ on an input set $I$ is hard for a given function $f$, if $\forall D$ on $I$,&#xA;$C(A,D) \leq C(A^*, D^*) $, where $C(A,D)$ is the expected cost (i.e. number of input bits read on expectation) incurred by the deterministic decision tree $A$ when the input follows the probability distribution is $D$.&#xA;where $A^* = \operatorname{argmin}_A C(A, D^*), A = \operatorname{argmin}_A C(A, D)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A distribution $D_1 &amp;lt; D_2$, if $C_m(D_1) &amp;lt; C_m(D_2)$, where $C_m(D_i) = C(A_i, D_i)$, and $A_i = \operatorname{argmin}_A C(A, D_i)$ .&#xA;In other words $D_2$ is harder than $D_1$ means the best possible algorithm for $D_2$ does worse than the best possible algorithm for $D_1$.&#xA;Note: The algorithm must be correct in the whole domain, and not just in the support of the distributions.&#xA;For the base case of a recursive boolean function like say 2 bits or 4 bits, it is often easy to show a certain distribution to be hard. Often it is an easy observation or an obvious fact. In many cases, it may seem natural that the &quot;hard&quot; distribution is the recursive extension of the hard distribution.  However, this may not be true in general, especially if the function is not symmetric over the input bits and rather skewed i.e. not all input bits are equally important to infer the value of the function on certain  inputs (or a subset thereof). &lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Question:&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;Is there any work on how to approach the problem of finding the &quot;hard&quot; distribution of the recursive function, from that of the base case function?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there any interesting connection of this problem with any other problems? Any comments are welcome.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;References:&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;[1]  M. Saks, A. Wigderson&#xA;Probabilistic Boolean Decision Trees and the Complexity of Evaluating Game Trees&#xA;Proceedings of the 27th Foundations of Computer Science, pp. 29-38, October 1986.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] M. Santha. On the Monte Carlo boolean decision tree complexity of read-once formulae.&#xA;Random Structures and Algorithms, 6(1):75{87, 1995.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[3] Frédéric Magniez, Ashwin Nayak, Miklos Santha, and David Xiao.&#xA;Improved bounds for the randomized decision tree complexity of recursive&#xA;majority. In Luca Aceto, Monika Henzinger, and Jiri Sgall,&#xA;editors, ICALP (1), volume 6755 of Lecture Notes in Computer Science,&#xA;pages 317–329. Springer, 2011.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[3a]Frederic Magniez, Ashwin Nayak, Miklos Santha, Jonah Sherman, Gabor Tardos, David Xiao. Improved bounds for the randomized decision tree complexity of recursive majority. &lt;a href=&quot;http://arxiv.org/abs/1309.7565&quot; rel=&quot;nofollow&quot;&gt;http://arxiv.org/abs/1309.7565&lt;/a&gt;  (Submitted on 29 Sep 2013)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[4] Nikos Leonardos. An improved lower bound for the randomized decision tree complexity&#xA;of recursive majority. In Fedor V. Fomin, Rusins Freivalds, Marta Z. Kwiatkowska,&#xA;and David Peleg, editors, Proceedings of 40th International Colloquium on Automata,&#xA;Languages and Programming, volume 7965 of Lecture Notes in Computer Science, pages&#xA;696{708. Springer, 2013.&lt;/p&gt;&#xA;" OwnerUserId="13982" LastEditorUserId="13982" LastEditDate="2014-08-23T07:59:15.523" LastActivityDate="2014-08-23T07:59:15.523" Title="How can one find the &quot;hard&quot; probability distribution on the input for recursive boolean functions?" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;boolean-functions&gt;&lt;query-complexity&gt;&lt;decision-trees&gt;" AnswerCount="0" CommentCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="25302" PostTypeId="1" CreationDate="2014-07-21T18:08:28.933" Score="3" ViewCount="200" Body="&lt;p&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Shamir%27s_Secret_Sharing&quot; rel=&quot;nofollow&quot;&gt;Shamir's secret sharing scheme&lt;/a&gt; is a well known way to convert a secret into a polynomial and distribute points in this polynomial. Some of these points can then be regrouped to reconstruct the original polynomial and subsequently the secret.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The regrouping process can be summarized as finding $p(0)$ in a polynomial knowing only the degree and pairs $(x_i, y_i)$ such that $p(x_i) = y_i$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is: how do I do this efficiently? All implementations I've seen so far are $O(n^2)$ because they recompute the polynomial using &lt;a href=&quot;https://en.wikipedia.org/wiki/Lagrange_polynomial&quot; rel=&quot;nofollow&quot;&gt;Lagrange&lt;/a&gt;, with a few optimizations. Are there known faster ways?&lt;/p&gt;&#xA;" OwnerUserId="26705" LastEditorUserId="186" LastEditDate="2014-07-22T05:15:54.407" LastActivityDate="2015-05-07T21:21:58.300" Title="Efficient Shamir secret sharing reconstruction" Tags="&lt;cr.crypto-security&gt;&lt;time-complexity&gt;&lt;polynomials&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="25306" PostTypeId="1" AcceptedAnswerId="25311" CreationDate="2014-07-21T20:36:53.133" Score="6" ViewCount="1281" Body="&lt;p&gt;In &lt;a href=&quot;https://en.wikipedia.org/wiki/Quantum_algorithm_for_linear_systems_of_equations&quot; rel=&quot;nofollow&quot;&gt;HHL's algorithm for solving a system of linear equations&lt;/a&gt; (HHL = Harrow, Hassidim and Lloyd) the output is a quantum state rather than explicit information. Has anyone been able to apply knowledge of this quantum state to solve a problems which would classically use the solutions of the linear equations?&lt;/p&gt;&#xA;" OwnerUserId="25551" LastEditorUserId="886" LastEditDate="2015-03-14T17:28:45.463" LastActivityDate="2015-04-05T12:53:23.230" Title="Applications of HHL's algorithm for solving linear equations" Tags="&lt;ds.algorithms&gt;&lt;quantum-computing&gt;&lt;quantum-information&gt;&lt;linear-equations&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="25307" PostTypeId="1" CreationDate="2014-07-21T21:19:11.143" Score="3" ViewCount="358" Body="&lt;p&gt;Is there any reference resource gathering models with known VC dimension? I am looking for an exhaustive list of models with their VC dimension (and ideally the associated proof or a pointer to it).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It would be in the same spirit as the &lt;a href=&quot;https://complexityzoo.uwaterloo.ca&quot; rel=&quot;nofollow&quot;&gt;Complexity Zoo&lt;/a&gt;, which gathers most of the known complexity classes, or the textbook &lt;a href=&quot;http://en.wikipedia.org/wiki/Computers_and_Intractability:_A_Guide_to_the_Theory_of_NP-Completeness&quot; rel=&quot;nofollow&quot;&gt;Computers and Intractability&lt;/a&gt;, which catalogues many NP-Complete problems.&lt;/p&gt;&#xA;" OwnerUserId="8106" LastEditorUserId="186" LastEditDate="2014-07-22T04:48:46.807" LastActivityDate="2014-07-22T20:12:54.197" Title="Resource listing models with known VC dimension" Tags="&lt;reference-request&gt;&lt;lg.learning&gt;&lt;vc-dimension&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="25309" PostTypeId="5" CreationDate="2014-07-22T05:03:51.220" Score="0" Body="&lt;p&gt;Wikiepedia article: &lt;a href=&quot;https://en.wikipedia.org/wiki/Satisfiability_Modulo_Theories&quot; rel=&quot;nofollow&quot;&gt;SMT&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2014-07-22T06:29:08.977" LastActivityDate="2014-07-22T06:29:08.977" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25310" PostTypeId="4" CreationDate="2014-07-22T05:03:51.220" Score="0" Body="Satisfiability Modulo Theories" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2014-07-22T06:29:02.663" LastActivityDate="2014-07-22T06:29:02.663" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25311" PostTypeId="2" ParentId="25306" CreationDate="2014-07-22T08:23:00.103" Score="9" Body="&lt;p&gt;If by &quot;classically using the solutions of the linear equation&quot; you mean &quot;accessing the information in the exactly same way a classical computer does&quot; or, in other words, &quot;obtaining the classical solution $x$ to a system $Ax=b$&quot; then the answer is no. As you mention, the final quantum state  in Harrow, Hassidim, Lloyd's algorithm does not immediately give you the classical solution $x$ of the system but a quantum states that encodes $x$ in its amplitudes; it is hard to extract the &quot;explicit information&quot; $x$ from that state.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However there are indeed interesting applications of the HHL linear systems algorithm as a subroutine to solve other problems, using the output of the quantum algorithm in &quot;more quantum&quot; ways. &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;The HHL algorithm can be readily applied to compute expectation values&#xA;$\langle x| M | x \rangle$ of a poly-size Hermitian operator $M$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://arxiv.org/abs/1010.2745&quot;&gt;Dominic Berry&lt;/a&gt; gave a generalized version of hte HHL algorithm to solve linear systems of the differential equations. The HHL algorithm is used as a subroutine there. (Berry's algorithm uses HHL's as a subroutine.) The final solution of Berry's algorithm is also encoded in the amplitudes of a quantum state.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://arxiv.org/abs/1204.5242&quot;&gt;Wiebe, Braun, Lloyd&lt;/a&gt;  gave an algorithm based on HHL's that can be used to find the optimal least-square fit to some discrete data. Although the output of that algorithm is again encoded in some quantum amplitudes, the authors also gave a quantum algorithm to asses the quality of an optimal least-square fit in a quantum computer, and there the output is classical. For certain types of fit functions, their quantum algorithm outperforms classical ones.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Recently, HHL's algorithm has been employed in &lt;a href=&quot;http://arxiv.org/abs/1307.0411&quot;&gt;Lloyd-Mohseni-Rebentrost's&lt;/a&gt; quantum algorithm for machine learning.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Note that, in all of these algorithms,   &lt;em&gt;quantum&lt;/em&gt; manipulations of the output state of the HHL's algorithm are performed, instead of &lt;em&gt;classical&lt;/em&gt; ones. This is similar to the case of the quantum Fourier transform (QFT), which can be computed exponentially faster in a quantum computer as a quantum gate than the classical discrete Fourier transform. We cannot use this fact in quantum algorithms to Fourier-transform classical functions faster. However, the QFT has remarkable applications in &lt;a href=&quot;http://arxiv.org/abs/quantph/9508027&quot;&gt;Shor's factoring algorithm&lt;/a&gt; and &lt;a href=&quot;http://en.wikipedia.org/wiki/Quantum_phase_estimation_algorithm&quot;&gt;quantum phase estimation&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="7286" LastEditorUserId="7286" LastEditDate="2014-07-22T09:00:39.370" LastActivityDate="2014-07-22T09:00:39.370" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25312" PostTypeId="1" AcceptedAnswerId="25511" CreationDate="2014-07-22T09:49:48.567" Score="6" ViewCount="381" Body="&lt;p&gt;Let UNAMBIGUOUS-3DM be defined by analogy to UNAMBIGUOUS-SAT, i.e. as a promise problem version of three-dimensional matching where we may assume there is no more than one solution.&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Is there a randomised reduction from SAT, as there is for UNAMBIGUOUS-SAT, so that a polynomial-time algorithm for UNAMBIGUOUS-3DM would imply NP=RP?&lt;/p&gt;&#xA;&lt;p&gt;For example, it would suffice for there to be a parsimonious reduction from SAT to 3DM, but I haven't found one in the literature.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;If so, does it still work when restricting to planar instances of 3DM, i.e. where the bipartite graph associated with the 3DM instance is planar?&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="897" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2021-04-26T10:39:16.093" Title="Hardness of UNAMBIGUOUS-3DM" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25314" PostTypeId="2" ParentId="22093" CreationDate="2014-07-22T14:20:08.733" Score="10" Body="&lt;p&gt;Mentioning another result by Björklund, if you are guaranteed that there is at most one Hamiltonian cycle in a graph, you can decide if a graph $G$ is Hamiltonian faster than you can in general.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The uniqeness assumption means that the parity of the number of Ham. paths is the same as deciding if the graph is Hamiltonian.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://arxiv.org/pdf/1301.7250.pdf&quot;&gt;Björklund's method&lt;/a&gt; deterministically computes the parity of the number of Hamiltonian cycles in $O(1.619^n)$ while the &lt;a href=&quot;http://arxiv.org/abs/1008.0541&quot;&gt;best known randomized algorithm&lt;/a&gt; for Undirected Hamiltonicity runs in $O^*(1.657^n)$ , and the best deterministic algorithm for Directed Hamiltonicity (to the best of my knowledge) is still the 50 years old $O(n^22^n)$ dynamic programming algorithm by Bellman, Held and Karp.&lt;/p&gt;&#xA;" OwnerUserId="21001" LastEditorUserId="21001" LastEditDate="2014-07-23T16:00:17.337" LastActivityDate="2014-07-23T16:00:17.337" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25315" PostTypeId="1" CreationDate="2014-07-22T15:09:08.307" Score="-1" ViewCount="268" Body="&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Chaitin%27s_constant&quot; rel=&quot;nofollow&quot;&gt;Wikipedia&lt;/a&gt; claims that any halting probability (Chaitin's constant) is a normal number.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since Chaitin's constant is uncomputble, how is a proof the the normalcy of the number possible? Computable numbers like pi and e are thought to be normal, yet there is no proof. It seems surprising to me that we have a proof of Chaitin's constant being normal although it is an uncomputable number, especially since &quot;Chaitin's constant&quot; isn't actually one number, but an infinite set of numbers (since it depends on the program encoding used). &lt;/p&gt;&#xA;" OwnerUserId="26710" LastActivityDate="2014-07-25T20:12:13.290" Title="How can you prove that all halting probabilites are normal real numbers?" Tags="&lt;computability&gt;&lt;it.information-theory&gt;" AnswerCount="1" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="25316" PostTypeId="1" CreationDate="2014-07-22T15:59:50.933" Score="13" ViewCount="406" Body="&lt;p&gt;One thing that surprised me when learning about complexity theory is that for a complexity class C, we tend to define C-complete using polynomial time reductions, even when C is a very large complexity class.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This definitely makes sense for P and NP, but how about EXPTIME and NEXPTIME? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;So my question is this: What is the subset of NEXPTIME comprised of problems exp-time reducible from every other problem in NEXPTIME? If EXPTIME != NEXPTIME, is this class distinct from both NEXPTIME and NEXPTIME-complete?&lt;/p&gt;&#xA;" OwnerUserId="26718" LastEditorUserId="2367" LastEditDate="2021-02-11T22:00:28.457" LastActivityDate="2021-02-11T22:00:28.457" Title="NEXPTIME-completeness with more time for reductions" Tags="&lt;cc.complexity-theory&gt;&lt;time-complexity&gt;&lt;nexp&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="25317" PostTypeId="1" CreationDate="2014-07-22T16:08:48.830" Score="10" ViewCount="1102" Body="&lt;p&gt;What is the standard definition of Planar 3-SAT? I have seen a number of different definitions. What was the original paper that defined it and proved it to be NP-complete?&lt;/p&gt;&#xA;" OwnerUserId="24175" LastEditorUserId="186" LastEditDate="2014-07-22T23:38:44.027" LastActivityDate="2016-01-14T00:17:09.677" Title="Definition of Planar 3-SAT" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;np-hardness&gt;&lt;sat&gt;&lt;planar-graphs&gt;" AnswerCount="1" CommentCount="8" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="25320" PostTypeId="2" ParentId="25307" CreationDate="2014-07-22T20:12:54.197" Score="5" Body="&lt;p&gt;Rather than computing the VC dimension of a particular function class, it's usually more interesting to understand how generic properties of a function class relate to its VC dimension. For example, function spaces with linear dimension $d$ have VC-dim at most $d$. You can also bound the VC-dim of a function class realized by circuits with bounded depth/fanin (Lemma 8.6 in Bartlett and Anthony, &lt;em&gt;Neural Network Nearning&lt;/em&gt;) or the VC-dim of a neural network with a certain number of nodes (Thm. 3.6 in Kearns &amp;amp; Vazirani,  &lt;em&gt;An Introduction to Computational Learning Theory&lt;/em&gt;.&lt;/p&gt;&#xA;" OwnerUserId="1746" LastActivityDate="2014-07-22T20:12:54.197" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="25321" PostTypeId="2" ParentId="17076" CreationDate="2014-07-23T07:01:40.137" Score="1" Body="&lt;p&gt;I am not sure whether $A_f$ is an $\omega$-regular event, but for any $\delta&amp;gt;0$ we can pick some $\omega$-regular $A_\delta$ such that $|\mathsf P(A_\delta) - \mathsf P_\delta(A_\delta)| \geq 1-\delta$. This follows from the fact that $\omega$-regular events form an algebra that generates a $\sigma$-algebra where $A_f$ does belong to. &lt;/p&gt;&#xA;" OwnerUserId="14336" LastActivityDate="2014-07-23T07:01:40.137" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25322" PostTypeId="1" CreationDate="2014-07-23T08:47:12.240" Score="3" ViewCount="226" Body="&lt;p&gt;We have a programming language and its denotational semantic, &#xA;like Tony Hoare's &lt;a href=&quot;https://en.wikipedia.org/wiki/Communicating_sequential_processes&quot; rel=&quot;nofollow&quot;&gt;CSP&lt;/a&gt; with its syntax and denotational semantic &#xA;e.g. stable failure and UTP. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;We want to extend the language (its syntax and semantics) by&#xA;adding new operators to the language. &#xA;After given an informal definition for each new operator, &#xA;we want to provide a denotational semantic for the extended language.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We have been told that &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;the denotational semantic must be a domain, &lt;/li&gt;&#xA;&lt;li&gt;the denotational semantic must distinguish what your language want to distinguish intuitively, &lt;/li&gt;&#xA;&lt;li&gt;the denotational semantic must be consistent with its operational semantic or algebraic semantic.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;What requirements should our denotational semantics for the extended language satisfy to be correct?&#xA;Are there any criteria to distinguish between correct and incorrect denotational semantic for a programming language? &lt;/p&gt;&#xA;" OwnerUserId="26727" LastEditorUserId="186" LastEditDate="2014-07-23T11:51:55.313" LastActivityDate="2014-07-24T21:09:56.947" Title="What requirements should a denotational semantics for a programming language satisfy to be correct?" Tags="&lt;pl.programming-languages&gt;&lt;semantics&gt;&lt;denotational-semantics&gt;" AnswerCount="2" CommentCount="7" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="25323" PostTypeId="2" ParentId="174" CreationDate="2014-07-23T09:16:17.747" Score="8" Body="&lt;p&gt;It seems strange to me that almost all the answers are about computational complexity, while the question asks for problems in all computer science.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To counter-balance a little bit: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Decidability of the &lt;em&gt;dot-depth hierarchy&lt;/em&gt;: Given a first-order formula on finite words and an integer $k$, is there an equivalent first-order formula with only $k$ quantifier alternations?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Recent progress has been made, it has been showed decidable for $k=2$ in a 2014 &lt;a href=&quot;http://www.labri.fr/perso/tplace/Files/PZ-ICALP14.pdf&quot;&gt;paper&lt;/a&gt; by Thomas Place and Marc Zeitoun, but the  general problem is still wide open.&lt;/p&gt;&#xA;" OwnerUserId="8953" LastActivityDate="2014-07-23T09:16:17.747" CommentCount="0" CommunityOwnedDate="2014-07-23T09:16:17.747" ContentLicense="CC BY-SA 3.0" />
  <row Id="25324" PostTypeId="2" ParentId="25322" CreationDate="2014-07-23T12:21:54.547" Score="1" Body="&lt;p&gt;There are two aspects of correctness:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;one is internal consistency, so that whatever you define can be assigned a&#xA;proper meaning.  Typically, that is why you are told that the domains&#xA;you use must be CPO, so that you can have limits used to defined the&#xA;semantics of some looping/recursive construct, whether program or data.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;the other is consistency with you intended semantics. This is a&#xA;general problem with specification of program, or languages or&#xA;anything else. When you design something, the correctness of your&#xA;design can only be checked with respect to some reference, and in&#xA;this case formal reference. I develop this second point.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;If a child ask you for a car with 4 wheels. You may buy him a small&#xA;automobile, and be in agreement with the specification. But what he&#xA;actually wanted was a new passenger car for his train, and the child&#xA;will be unhappy. The specification is incomplete (or incorrect) and as a consequence&#xA;the end result may not adequate.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So a specification may not exactly reflect your intent. You can prove&#xA;that your realisation of a car (or your compiler) is conformant with&#xA;specification, but you have no way to prove that your specification is&#xA;conformant with whatever intent is in your mind.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The denotational semantics of a language is a specification of the&#xA;language, and you have no way to prove that it conforms what is in&#xA;your mind, unless you can express that formally, which will just be&#xA;annother specification, of which you are not sure it conforms your&#xA;intent.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, if you make your intent more precise in several different&#xA;ways, you can check that your various attempts at specifying what you&#xA;want are consistent, which will give you greater belief that what you&#xA;are doing conforms what you want. But there is no way to be certain.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, you can attempt to prove the consistency of your&#xA;denotational semantics with another formal specification or semantic&#xA;definition, as suggested in your question. These specifications do not&#xA;have to be complete specifications. It may only be a statement of some&#xA;property of your language.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Consistency with previous version of the language&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Still, in your case, there is something that you may do, that you should do.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The language you are considering is an extension of another language,&#xA;that may have a formally defined semantics.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then one thing that users will expect is that the extended language&#xA;will work like the original one when the new features are not used.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hence, one thing you should prove is that any program of the original&#xA;language is given the same semantics in the new language.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It may be however that there has been some changes so that&#xA;programs have to be adapted for the new extended version of the language. Then&#xA;if you can formally defined how program P for the original language is&#xA;to be tranformed into another program P' in the extended language, then&#xA;you ideally should prove that this tranformation is semantics preserving.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If such a tranformation of programs to the new language version is necessary, and not clearly obvious, it may be worth defining semantics of the original language (if it does not exist yet) in order to prove the correctness of the transformation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Post-scriptum&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have to disagree with &lt;a href=&quot;https://cstheory.stackexchange.com/questions/25322#25325&quot;&gt;Kaveh's answer&lt;/a&gt; main statement that&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;The point of formal semantics is that we take the class of&#xA;    mathematical structures that we want to study and map it to another&#xA;    class of mathematical structures that we already know something&#xA;    about, and we use that knowledge to study the original class of&#xA;    structures. &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The problem is that, in general, we have no mathematical structure to&#xA;begin with. At best we have a syntax, defining sentences in a&#xA;language. &lt;strong&gt;The first point of formal semantics is to associate a&#xA;meaning with sentences (programs) following this syntax&lt;/strong&gt;, and do it&#xA;formally so that we can study this meaning and prove properties about&#xA;it. So the semantics is indeed taking syntactic sentences to a class&#xA;of mathematical structures theat we are supposed to understand. But&#xA;&lt;strong&gt;We are not interested in studying the syntax&lt;/strong&gt;, which is the only&#xA;original structure that is being mapped. We may have an intuitive&#xA;meaning in mind, but it can hardly be the domain of a mathematical&#xA;map.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We are indeed interested in studying our intended meaning for programs&#xA;though the mapping of the syntax that expresses them into semantics.&#xA;But the mapping applies only to the syntax, not to the intended&#xA;meaning we hope to study ... if the semantics we define does conform&#xA;our intent.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What we may do, though, is take two mapping from the same syntactic&#xA;structure into different classes of mathematical stuctures, and prove&#xA;the existence of a mapping between these structures, with properties&#xA;that represent some form of consistency of the two definitions.&lt;/p&gt;&#xA;" OwnerUserId="16132" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2014-07-24T21:09:56.947" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25325" PostTypeId="2" ParentId="25322" CreationDate="2014-07-23T13:44:42.797" Score="4" Body="&lt;p&gt;What I am writing is essentially contained in babou's answer. &#xA;But I wanted to express it a bit differently &#xA;emphasizing the point of defining formal semantics.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A formal semantics is a mapping from one class of mathematical structures $P$ &#xA;(e.g. programs in a programming language) &#xA;to another class of mathematical structure $S$ (e.g. domains):&#xA;$[[ \cdot]] : P \to S$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Different conditions required from the mapping give different kinds of semantics.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What conditions should we require from the mapping? &#xA;That depends on what we want to do with the semantics.&#xA;The required denotational properties depend on &#xA;what your intention is in extending the language, &#xA;a formal semantics might be wrong or right depending on that intention.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let's step back for a second and look more generally why we define formal semantics.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;The point of formal semantics is that &#xA;  we take the class of mathematical structures that we want to study and &#xA;  map it to another class of mathematical structures that we already know something about, and we use that knowledge to study the original class of structures. &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;If you don't know what denotational properties you require from your denotational semantics of your language and have no use for it, &#xA;what is the point of to providing a denotational semantics?&#xA;It will not add any confidence that your extended language will behave as you want.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, &#xA;if you know how the denotational semantics should be&#xA;based on your intuitive informal semantics and your intention in extending the language,&#xA;then you can use that to formally check that &#xA;your programming language matches your intuitive semantics and &#xA;will work as you intended &#xA;(w.r.t. the requirements you had for your denotational semantics).&lt;/p&gt;&#xA;" OwnerUserId="186" LastActivityDate="2014-07-23T13:44:42.797" CommentCount="12" ContentLicense="CC BY-SA 3.0" />
  <row Id="25327" PostTypeId="2" ParentId="22093" CreationDate="2014-07-23T16:30:47.437" Score="10" Body="&lt;p&gt;Outside of complexity theory and the analysis of algorithms, the assumption that there can be only one solution forms the basis for some of the standard rules used to deduce the solution in Sudoku puzzles. These rules generally involve looking for ways in which parts of the puzzle might be able to have two or more solutions that don't interact with the rest of the puzzle. That can't happen in the actual solution, so if a pattern that threatens to cause this is found, then it must be broken, allowing the solver to deduce constraints on what the actual solution can look like. See &lt;a href=&quot;http://www.brainbashers.com/sudokuuniquerectangles.asp&quot;&gt;http://www.brainbashers.com/sudokuuniquerectangles.asp&lt;/a&gt; for some examples of deduction rules based on uniqueness.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2014-07-23T16:30:47.437" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25328" PostTypeId="1" CreationDate="2014-07-23T17:16:00.650" Score="2" ViewCount="158" Body="&lt;p&gt;Do padding arguments exist for probabilistic classes? For example, would $P=BPP\Rightarrow EXP=BPEXP$? What about for space bounded computation? Would constant space derandomization imply $L=RL$ or $L=BPL$?&lt;/p&gt;&#xA;" OwnerUserId="22140" LastActivityDate="2014-07-23T17:16:00.650" Title="Padding Arguments for Probabilistic Classes" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;" AnswerCount="0" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="25332" PostTypeId="1" AcceptedAnswerId="25372" CreationDate="2014-07-23T20:38:31.037" Score="6" ViewCount="316" Body="&lt;p&gt;Data structures such as a doubly linked list and a B+ tree have blocks of memory that have multiple pointers to it. This creates the risk that a bug will allow memory to be accessed after being freed.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have heard of ideas based around linear typing for guaranteeing memory safety in the case of a single pointer to the memory. I believe the Rust language is based around this.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But suppose, for example, I wanted a memory safe implementation of a B+ tree in a systems language that has no garbage collection or reference counting. What exists in type theory that could be used to guarantee that the B+ tree implementation is memory safe?&lt;/p&gt;&#xA;" OwnerUserId="5980" LastEditorUserId="5980" LastEditDate="2014-07-23T21:49:57.007" LastActivityDate="2014-07-27T16:59:06.277" Title="Type theory for memory safe data structures" Tags="&lt;pl.programming-languages&gt;&lt;type-theory&gt;&lt;linear-logic&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="25333" PostTypeId="1" AcceptedAnswerId="25335" CreationDate="2014-07-23T23:30:45.583" Score="2" ViewCount="230" Body="&lt;p&gt;I am going to through &lt;a href=&quot;http://journal.frontiersin.org/Journal/10.3389/fphy.2014.00005/abstract&quot; rel=&quot;nofollow noreferrer&quot;&gt;Ising formulations of many NP problems&lt;/a&gt; by Andrew Lucas. In section $9$ on page 22, the author introduced an exact Ising formulation of the graph isomorphism problem. Given two gaphs, $G_1$ and $G_2$, the Ising Hamiltonian, $H$ is,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;H = A \sum_v \left(1 - \sum_i x_{v,i}\right)^2 + A \sum_i \left(1 - \sum_v x_{v,i}\right)^2 \\&#xA;+ B\sum_{ij\not\in E_1}\sum_{uv \in E_2} x_{u,i} x_{v,j} + B \sum_{ij \in E_1}\sum_{uv \not\in E_2} x_{u,i} x_{v,j}&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here, $|G_1|=|G_2|$ and the binary variable $x_{v,i}$ is $1$ when if vertex $v$ in $G_2$ is mapped to vertex $i$ of $G_1$. For an isomorphic pair, $H = 0$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;My questions:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Is there any rigorous proof that this model is correct?&lt;/li&gt;&#xA;&lt;li&gt;I understand that the classical computational complexity of the graph isomorphism problem is not known but it is conjectured to be NP-intermediate. On the other hand the classical computational complexity of the Ising model is well understood. So, if the graph isomorphism problem can be reduced to an Ising model in polynomial time, shouldn't be it's complexity same as the Ising model problem?&lt;/li&gt;&#xA;&lt;li&gt;When I code it up using Mathematica (assuming $A = B = 1$) for the following two isomorphic graph pairs, I am getting false positives.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;The graphs are: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/S8lrJ.png&quot; alt=&quot;enter image description here&quot;&gt; and &lt;img src=&quot;https://i.stack.imgur.com/ViVWf.png&quot; alt=&quot;enter image description here&quot;&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For this pair of graphs, I get the following configurations which are correct isomorphisms and for them $H=0$. They are: &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;$x_{1,1}, x_{2,2}, x_{4,3}, x_{3,4}$&lt;/li&gt;&#xA;&lt;li&gt;$x_{4,1}, x_{3,2}, x_{1,3}, x_{2,4}$&lt;/li&gt;&#xA;&lt;li&gt;$x_{1,1}, x_{3,2}, x_{4,3}, x_{2,4}$&lt;/li&gt;&#xA;&lt;li&gt;$x_{4,1}, x_{2,2}, x_{1,3}, x_{3,4}$ &lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;But when I evaluate the Ising formulation with all possible inputs using Mathematica, I get five more false positives along with these four. They are:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;$x_{1,4}, x_{2,3}, x_{3,2}, x_{4,1}$&lt;/li&gt;&#xA;&lt;li&gt;$x_{1,4}, x_{2,2}, x_{3,1}, x_{4,3}$&lt;/li&gt;&#xA;&lt;li&gt;$x_{1,3}, x_{2,4}, x_{3,1}, x_{4,2}$&lt;/li&gt;&#xA;&lt;li&gt;$x_{1,1}, x_{2,4}, x_{3,3}, x_{4,2}$&lt;/li&gt;&#xA;&lt;li&gt;$x_{1,4}, x_{2,3}, x_{3,1}, x_{4,2}$&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;What am I missing?&lt;/p&gt;&#xA;" OwnerUserId="13408" LastEditorUserId="17082" LastEditDate="2014-07-24T11:54:25.263" LastActivityDate="2014-07-24T11:54:25.263" Title="Proof of an Ising model representation of graph isomorphism problem" Tags="&lt;reductions&gt;&lt;graph-isomorphism&gt;&lt;statistical-physics&gt;" AnswerCount="1" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="25335" PostTypeId="2" ParentId="25333" CreationDate="2014-07-24T08:11:07.860" Score="5" Body="&lt;p&gt;The counterexamples you give are not correct. I suspect your bug is this: when doing the sums over edges in (or not in) $E_1$ and $E_2$, you need to consider both orderings of each pair. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider your first false positive. One of the mismatched edges corresponds to (the lack of) $(2,4)$ in $G_1$, which maps to $(3,1)$ in $G_2$ (which is present). This makes the third term in the sum non-zero: consider $(i,j)$=$(2,4)$ and $(u,v)$=$(3,1)$; $x_{3,2}x_{1,4}$ is non-zero. If you only consider the edge pairs $(u,v)$ where $u&amp;lt;v$, you miss counting these non-zero terms and get the incorrect zero result.&lt;/p&gt;&#xA;" OwnerUserId="17480" LastActivityDate="2014-07-24T08:11:07.860" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="25336" PostTypeId="1" AcceptedAnswerId="25343" CreationDate="2014-07-24T10:18:52.097" Score="0" ViewCount="559" Body="&lt;p&gt;In a research paper the following definition appears that I'm not able to understand completely.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $G=(V,E)$ be an undirected unweighted graph with vertex set $V$ and edge set $E$, no self-loops, no parallel-edges.&#xA;Let $\{ u, v\} \in \binom{V}{2}$ be a vertex pair over the set of all vertices pairs. Let $\textrm{Sep}(u, v)$ be a minimum $u-v$ vertex separator in $G$ if $\{u, v\} \notin E$ or in $G' = (V,E \setminus \{u,v\}) $ otherwise.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is difficult for me to figure out what this definition imply.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In particular can $\textrm{Sep}(u,v)$ be an empty set?&lt;/p&gt;&#xA;" OwnerUserId="21967" LastEditorUserId="21967" LastEditDate="2014-07-24T16:05:23.323" LastActivityDate="2014-07-24T16:05:23.323" Title="What is a minimum vertex separator as in this definition?" Tags="&lt;graph-theory&gt;&lt;clustering&gt;&lt;partition-problem&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25337" PostTypeId="1" CreationDate="2014-07-24T11:11:39.340" Score="1" ViewCount="46" Body="&lt;p&gt;The hardness result derived using PCP theorem for Independent set suggests that there exists some absolute constant $\epsilon_0$ such that for $0&amp;lt; \epsilon &amp;lt; \epsilon_0$, it is hard to approximate independence number $\alpha$ with a factor $n^{1-\epsilon}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What does this tell about some quantity (say $p$) that has a one to one correspondence with say $\ln \alpha$. Is the same inapproximation ratio preserved for $p$ or the inapproximation ratio also becomes logarithmic?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks in advance.&lt;/p&gt;&#xA;" OwnerUserId="17611" LastActivityDate="2014-07-24T11:11:39.340" Title="inapproximability of logarithic factor of indepence set" Tags="&lt;approximation-algorithms&gt;&lt;approximation-hardness&gt;" AnswerCount="0" CommentCount="0" FavoriteCount="1" ClosedDate="2014-07-27T23:07:30.507" ContentLicense="CC BY-SA 3.0" />
  <row Id="25338" PostTypeId="1" CreationDate="2014-07-24T12:52:28.353" Score="3" ViewCount="217" Body="&lt;p&gt;A &lt;a href=&quot;http://en.wikipedia.org/wiki/Flow_network&quot; rel=&quot;nofollow&quot;&gt;flow network&lt;/a&gt; is a directed graph in which each edge has a capacity. A flow through this network is an assignment of a value to each edge that is less or equal to the edge capacity, and such that the net incoming flow to every node balances with the net outcoming flux at that node. Two special nodes are exempted from this last restriction: the source (which can output a net non-zero flux) and the sink (which can receive a net non-zero flux).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are algorithms to find the maximum net flow from source to sink in such a network (for example, &lt;a href=&quot;http://en.wikipedia.org/wiki/Ford%E2%80%93Fulkerson_algorithm&quot; rel=&quot;nofollow&quot;&gt;Ford-Fulkerson algorithm&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am looking for algorithms that generate &lt;em&gt;pseudo-random&lt;/em&gt; admissible flows through such a network. Hopefully the space of admissible flows should be sampled as uniformly as possible. What methods are available here?&lt;/p&gt;&#xA;" OwnerUserId="5982" LastEditorUserId="5982" LastEditDate="2014-07-24T13:58:25.000" LastActivityDate="2014-07-24T22:33:25.727" Title="Random flows through fixed network" Tags="&lt;pseudorandom-generators&gt;&lt;flow-problems&gt;" AnswerCount="1" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="25339" PostTypeId="1" AcceptedAnswerId="25353" CreationDate="2014-07-24T12:57:10.333" Score="4" ViewCount="297" Body="&lt;p&gt;Usually primitive recursive functions are define from Zero, Identity and Successor, projectors, composition and recursion. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;But you obtain algorithms that works with unary numbers. For example, the addition $x+y$ has complexity $O(y)$, whereas usually, it has complexity $O(|x|+|y|)$. Is there a canonical definition of recursive functions that consider integers as binary string ? Any references are welcomed.&lt;/p&gt;&#xA;" OwnerUserId="10151" LastActivityDate="2014-07-25T12:53:41.393" Title="Primitive Recursive Definition : Binary numbers" Tags="&lt;cc.complexity-theory&gt;&lt;computability&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25340" PostTypeId="1" CreationDate="2014-07-24T13:25:39.537" Score="0" ViewCount="162" Body="&lt;p&gt;In discrete geometry, the center point $c$ of a discrete set $S$ of $n$ points in the plane is such that any half plane containing $c$ contains (roughly) $n/3$ points of $S$. (Such a center point always exists.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My problem is similar but in a continuous setting.&#xA;I have a convex spherical polygon $P$ on the unit sphere. In this context an &quot;area-center&quot; point $c$ is such that any half sphere that contains $c$ also contains a part of $P$ whose &lt;strong&gt;area&lt;/strong&gt; is &lt;strong&gt;at least&lt;/strong&gt; a constant fraction of the area of $P$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The definition can be similarly phrased with convex polygons on the plane and half-planes instead of half-spheres. It can also be generalised to higher dimension.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My questions are:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Does this definition has a well-known name? (&quot;area-center point&quot;?)&lt;/li&gt;&#xA;&lt;li&gt;Do we know algorithm to compute such an area-center point? (exact or approximate)&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;(My motivation for finding such a point is for doing logarithmic search on the unit sphere.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I ask this question here because searching the web only leads me to centroids or discrete center point, or the Tverberg generalization, but nothing related to the specific definition given above. &lt;em&gt;(I have already asked question 30 minutes ago on math SE, but realised it is probably more relevant to comp. geom. hence its posting here)&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thank you !&lt;/p&gt;&#xA;" OwnerUserId="26736" LastActivityDate="2014-07-25T08:54:35.337" Title="A continuous center point of a convex spherical polygon" Tags="&lt;computational-geometry&gt;" AnswerCount="2" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="25343" PostTypeId="2" ParentId="25336" CreationDate="2014-07-24T15:38:36.440" Score="3" Body="&lt;p&gt;It seems that $Sep(u, v)$ is a &lt;a href=&quot;http://en.wikipedia.org/wiki/Vertex_separator&quot; rel=&quot;nofollow&quot;&gt;vertex separator&lt;/a&gt; extended to graphs where $u$ and $v$ are adjacent, by ignoring their common edge.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I assume the correct definition is  &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;... vertex separator in $G$ if $\{u,v\} \notin E$ or in $G′=(V,E \setminus \{\{u,v\}\})$ otherwise.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;As given, the definition makes no sense. There is no point in removing $\{u, v\}$ from $E$ if $\{u, v\} \notin E$ and, of course, $\{u, v\} \not\subset E$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In this case, $Sep(u, v)$ can be $\emptyset$ if $\{u, v\}$ is the only edge connecting two components, or if the graph had two components to begin with.&lt;/p&gt;&#xA;" OwnerUserId="24229" LastActivityDate="2014-07-24T15:38:36.440" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="25344" PostTypeId="2" ParentId="25339" CreationDate="2014-07-24T16:33:22.173" Score="1" Body="&lt;p&gt;If pairing function $\pi : \mathbb{N}^2 \to \mathbb{N}$ and projection functions $\pi_1, \pi_2 : \mathbb{N} \to \mathbb{N}$, such that $\pi(0, 0) = 0$ were $O(1)$ then numbers can easily be represented by lists of digits, $\pi_1$ being the first, $\pi_1 \circ \pi_2$ - the second and $\pi_1 \circ \pi_2^n$ - the $n$'th digit.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then $O(\log x + \log y)$ addition could be defined as $$\begin{align} &amp;amp;add(x, y) = add'(\pi_1(x), \pi_1(y), \pi_2(x), \pi_2(y), 0) \\ &amp;amp;add'(0, 0, 0, 0, 0) = 0 \\ &amp;amp;add'(a, b, x, y, c) = \pi(\oplus(a, b, c), ~ add'(\pi_1(x), \pi_1(y), \pi_2(x), \pi_2(y), ~carry(a, b, c)))  \end{align}$$&#xA;Here $\oplus$ is addition modulus $2$ and $carry$ is $1$ if $a+b+c &amp;gt; 1$ and $0$ otherwise.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm not sure about canonical definitions, but I think this is quite natural. &lt;/p&gt;&#xA;" OwnerUserId="24229" LastEditorUserId="24229" LastEditDate="2014-07-24T17:58:52.280" LastActivityDate="2014-07-24T17:58:52.280" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="25345" PostTypeId="1" AcceptedAnswerId="25346" CreationDate="2014-07-24T20:45:52.263" Score="1" ViewCount="213" Body="&lt;p&gt;Consider the node-weighted steiner problem:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Input: a graph &lt;span class=&quot;math-container&quot;&gt;$G=(V,E)$&lt;/span&gt;, a set &lt;span class=&quot;math-container&quot;&gt;$T\subseteq V$&lt;/span&gt; of terminals, a weight function &lt;span class=&quot;math-container&quot;&gt;$w: V\setminus T \to \mathbb{R}_+$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Output: a minimum weight subset &lt;span class=&quot;math-container&quot;&gt;$S \subseteq V\setminus T$&lt;/span&gt; of vertices such that &lt;span class=&quot;math-container&quot;&gt;$G[T\cup S]$&lt;/span&gt; is connected.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Is this problem polytime solvable when the number &lt;span class=&quot;math-container&quot;&gt;$|T|$&lt;/span&gt; of terminals is a constant?&lt;/p&gt;&#xA;" OwnerUserId="13056" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2014-07-25T15:30:46.140" Title="Node-weighted steiner problem with few terminals" Tags="&lt;graph-algorithms&gt;&lt;np-hardness&gt;&lt;parameterized-complexity&gt;&lt;fixed-parameter-tractable&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25346" PostTypeId="2" ParentId="25345" CreationDate="2014-07-24T21:24:43.357" Score="4" Body="&lt;p&gt;An algorithm with a run-time of $n^{poly(k)}$ should be easy where $n = |V|$ and $k = |T|$. Think of an optimum solution which is edge-minimal. It will be a tree and one can see that the number of nodes with degree $\ge 3$ in this tree will be $O(k)$. We can guess those nodes $A$. Once we guess those nodes we create a graph on $A \cup T$ with edge-lengths between two nodes $u,v$ equal to the shortest node-weighted path between $u$ and $v$ in $G$ (we do not include the end points in this calculation). Then find a min-cost spanning tree in the resulting graph. &lt;/p&gt;&#xA;" OwnerUserId="176" LastActivityDate="2014-07-24T21:24:43.357" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25348" PostTypeId="2" ParentId="25338" CreationDate="2014-07-24T22:33:25.727" Score="4" Body="&lt;p&gt;Not very practical, but you can sample from a the polytope of feasible flows using the well-known random walk techniques, see for example this &lt;a href=&quot;http://ad.bolyai.hu/~miki/KLSVol5.pdf&quot; rel=&quot;nofollow&quot;&gt;classical paper&lt;/a&gt; by Kannan, Lovasz and Simonovits. These algorithms allow you to sample in polynomial time (in the dimension) from a distribution which is arbitrarily close to uniform in $L_1$ distance. &lt;/p&gt;&#xA;" OwnerUserId="4896" LastActivityDate="2014-07-24T22:33:25.727" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25349" PostTypeId="2" ParentId="25340" CreationDate="2014-07-24T23:51:21.057" Score="1" Body="&lt;p&gt;Thank you Sariel. Your comment answers my first question and we can use the same name of &lt;em&gt;centerpoint&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;And I think I have a partial answer for my second question, for the planar case (as opposed to the spherical case). Let $P$ be a convex polygon and write $A(P )$ for the area of $P$. If we have a centrally-symmetric polygon $S$ inscribed in $P$ then any half-plane $H$ containing the center-of-symmetry of $S$ contains at least half of $S$: $A(P\cap H)\geq\dfrac{A(S)}{2}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So we want to find the largest such centrally-symmetric inscribed polygon. This is easy to do: the center-symmetric polygons of $P$ for various centers of symmetry are all translates of each other. So take any one of them and compute the translate of it, $P'$, that maximizes the overlap with $P$. This can be done efficiently (but approximately) using the algorithm of Ahn &lt;em&gt;et al&lt;/em&gt; &lt;a href=&quot;http://dx.doi.org/10.1145/1064092.1064146&quot; rel=&quot;nofollow&quot;&gt; [here] &lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is easy to show that $S=P\cap P'$ is indeed the largest centrally-symmetric polygon inscribed in $P$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There remains to show that $S=P\cap P'$ is large enough (i.e. constant fraction of $A(P )$). I found a paper by Jin and Matulef &lt;a href=&quot;http://2011.cccg.ca/PDFschedule/papers/paper3.pdf&quot; rel=&quot;nofollow&quot;&gt; [here] &lt;/a&gt; whose theorem 2 implies that $A(S)\geq\dfrac{2}{\pi}A(P )$, which proves the existence of a centerpoint for planar convex polygons for which any half-plane that contains the centerpoint contains at least a fraction $\dfrac{1}{\pi}$ of the area of $P$.&lt;/p&gt;&#xA;" OwnerUserId="26736" LastEditorUserId="26736" LastEditDate="2014-07-25T08:54:35.337" LastActivityDate="2014-07-25T08:54:35.337" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25351" PostTypeId="2" ParentId="25340" CreationDate="2014-07-25T01:27:28.097" Score="3" Body="&lt;p&gt;For your second question...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For any distribution, if you take a sample $R$ of size $O(1/epsilon^2 )$ of it, and compute its center point, it is going to be a $\geq (1/3-\epsilon)$-center point, with probability $\geq 1-\epsilon^{O(1)}$ by the $\epsilon$-net theorem (well, more precisely the $\epsilon$-sample theorem). You can apply this to a polygon - you just need to sample points uniformly inside the polygon. This works in any constant dimension.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Similar ideas were used in the paper &quot;Approximating Center Points with Iterated Radon Point&quot;. Or so I believe... ;)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Computing the exact center point for a general polygon is nasty as far as I know. There was a paper in the 90s by Dan Halperin on maintaining the area bisector of a polygon, and it was painful, if my memory serves me right.&lt;/p&gt;&#xA;" OwnerUserId="9594" LastActivityDate="2014-07-25T01:27:28.097" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25352" PostTypeId="1" CreationDate="2014-07-25T08:53:07.640" Score="0" ViewCount="178" Body="&lt;p&gt;The Toda's theorem is a relationship between two different complexity classes: $ \# \mathsf{P} $ and  $PH$. He proved that $ \mathsf{PH}\subseteq \mathsf{P}^{\#\mathsf{P}} $.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I wonder the following statement holds.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;$ $    $\#\mathsf{P} \subseteq \mathsf{FP}^{\mathsf{PH}}$ &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;If we prove this statement, $\# \mathsf{P}$ and $\mathsf{PH}$, that is, counting and alternation are $roughly$ $equivalent$ classes.&lt;/p&gt;&#xA;" OwnerUserId="26745" LastEditorUserId="969" LastEditDate="2014-07-25T15:21:22.653" LastActivityDate="2014-07-25T15:30:13.820" Title="Does $\# \mathsf{P}\subseteq \mathsf{FP}^{\mathsf{PH}}$?" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;counting-complexity&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25353" PostTypeId="2" ParentId="25339" CreationDate="2014-07-25T10:56:02.250" Score="4" Body="&lt;p&gt;The concept of primitive recursion function easily generalizes to any inductive data structure. For example, you can define the primitive recursive functions on binary strings as the smallest class of functions containing $\epsilon$ (the constant &quot;empty string&quot;), $S_0,S_1$ (append $0$ or $1$), projections and closed under composition and the scheme allowing to define a function $f$ by&#xA;$$&#xA;\begin{align*}&#xA;f(\epsilon,\vec x) &amp;amp;= g(\vec x), \\&#xA;f(zi,\vec x) &amp;amp;= h_i(z,\vec x,f(z,\vec x)), &amp;amp; i\in\{0,1\}&#xA;\end{align*}&#xA;$$&#xA;as soon as $g$ and $h_0,h_1$ are already in the class.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the above setting, the usual numerical functions may be encoded either by considering only unary strings (&lt;em&gt;i.e.&lt;/em&gt;, $n$ is represented by $1^n$), in which case you can mimick the usual primitive recursive functions, or, more interestingly, by representing integers in binary. In that case, the successor function is not part of the basic functions but must be defined (and this is not immediate).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As you point out, traditional recursion theory considers primitive recursion on unary strings (or tally integers) because in that setting complexity is not a main concern.  On the other hand, whenever complexity classes are defined in terms of recursive functions, primitive recursion on binary strings (or binary integers) is routinely used. See for example the seminal paper by Bellantoni and Cook &quot;A New Recursion-Theoretic Characterization of the Polytime Functions&quot;, &lt;em&gt;Computational Complexity&lt;/em&gt; 2(2):97-110. &lt;/p&gt;&#xA;" OwnerUserId="20716" LastEditorUserId="20716" LastEditDate="2014-07-25T12:53:41.393" LastActivityDate="2014-07-25T12:53:41.393" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="25354" PostTypeId="1" AcceptedAnswerId="25399" CreationDate="2014-07-25T13:26:42.850" Score="6" ViewCount="434" Body="&lt;p&gt;The short paper &lt;a href=&quot;http://research.microsoft.com/en-us/um/people/lamport/pubs/deroever-festschrift.pdf&quot; rel=&quot;nofollow&quot;&gt;&quot;Computer Science and State Machines&quot;&lt;/a&gt; by Leslie Lamport seems quite strange to me.&lt;br&gt;&#xA;On the one hand, I am surprised to see that an important hardware protocol called &quot;two-phase handshake&quot; can be derived from a trivial program, simply by &lt;strong&gt;mathematical substitution&lt;/strong&gt;.&lt;br&gt;&#xA;On the other hand, I think that this example is (and &lt;em&gt;should be&lt;/em&gt;) chosen deliberately. What I doubt about is its generality. If this method (i.e., describing state machines mathematically and deriving a protocol from its specification by mathematical substitution) is so fresh that researchers have not developed a general theory, I would like to see more examples.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;My question is straightforward:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is this derivation a coincidence? Could anyone offer more examples or related references?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;The derivation of the &quot;two-phase handshake&quot; protocol from a trivial program:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The trivial program mentioned above is just to alternately perform the $\mathcal{P}$ and $\mathcal{C}$ operations:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;$\mathcal{X}: \textrm{ loop } \mathcal{P} \textrm{ } ; \textrm{ } \mathcal{C} \textrm{ endloop}$&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;By introducing a variable $pc$ to represent the &quot;program counter&quot;, $\mathcal{X}$ can be described as the following state machine:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;ul&gt;&#xA;  &lt;li&gt;$Init_{\mathcal{X}} \triangleq (pc = 0) \land Init_{\mathcal{PC}}$&lt;/li&gt;&#xA;  &lt;li&gt;$Next_{\mathcal{X}} \triangleq \big( (pc = 0) \land \mathcal{P} \land (pc' = 1) \big) \lor \big( (pc = 1) \land \mathcal{C} \land (pc' = 0) \big)$&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;where $Init_{\mathcal{X}}$ denotes the set of initial states; $Next_{\mathcal{X}}$ specifies the next-step transition. $Init_{\mathcal{PC}}$ specifies the initial values of the variables in $var_{\mathcal{PC}}$ involved in $\mathcal{P}$ and $\mathcal{C}$. The primed variable ($pc'$ here) is used to represent the modified version of its unprimed counterpart ($pc$ here).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The two-phase handshake protocol can be described as follows, where $p$ and $c$ are initially equal.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;\begin{eqnarray}&#xA;\mathcal{Y} :  &amp;amp; \textrm{ process } &amp;amp; Prod: \textrm{ whenever } p = c \textrm{ do } \mathcal{P} \textrm{ } ; \textrm{ } p = p \oplus 1 \textrm{ end} \\&#xA;&amp;amp; \Arrowvert &amp;amp; \\&#xA;&amp;amp; \textrm{ process } &amp;amp; Cons: \textrm{ whenever } p \neq c \textrm{ do } \mathcal{C} \textrm{ } ; \textrm{ } c = c \oplus 1 \textrm{ end}&#xA;\end{eqnarray}&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Note that process $Prod$ reads $c$ and writes $p$ while $Cons$ reads $p$ and writes $c$. It is not hard to find out that $\mathcal{Y}$ alternately performs $\mathcal{P}$ and $\mathcal{C}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The protocol $\mathcal{Y}$ can also be described as a state machine:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;ul&gt;&#xA;  &lt;li&gt;$Init_{\mathcal{Y}} \triangleq (p = c) \land Init_{\mathcal{PC}}$&lt;/li&gt;&#xA;  &lt;li&gt;$Next_{\mathcal{Y}} \triangleq Prod \lor Cons$&lt;/li&gt;&#xA;  &lt;li&gt;$Prod \triangleq (p = c) \land \mathcal{P} \land (p' = p \oplus 1) \land (c' = c)$&lt;/li&gt;&#xA;  &lt;li&gt;$Cons \triangleq (p \neq c) \land \mathcal{C} \land (c' = c \oplus 1) \land (p' = p)$&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The amazing observation is:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;$\mathcal{Y}$ can be obtained from $\mathcal{X}$ by substituting $p \oplus c$ for $pc$ in their state machines.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="12739" LastEditorUserId="12739" LastEditDate="2014-07-26T01:33:54.390" LastActivityDate="2014-07-30T11:02:56.983" Title="Describing state machines mathematically" Tags="&lt;reference-request&gt;&lt;pl.programming-languages&gt;&lt;formal-methods&gt;&lt;examples&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="25355" PostTypeId="1" CreationDate="2014-07-25T14:34:19.390" Score="7" ViewCount="188" Body="&lt;p&gt;Similar to the class of classical NP-intermediate problems (e.g. Graph Isomorphism), is there any &quot;QMA-intermediate&quot; problem known, that is in QMA but not known to be QMA-complete? Has this been studied systematically before?&lt;/p&gt;&#xA;" OwnerUserId="121" LastActivityDate="2014-07-25T15:59:15.240" Title="Is any QMA-intermediate problem known?" Tags="&lt;quantum-computing&gt;&lt;np-intermediate&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="25356" PostTypeId="2" ParentId="25352" CreationDate="2014-07-25T15:30:13.820" Score="9" Body="&lt;p&gt;If your statement holds, then the polynomial hierarchy collapses: $\mathsf{\# P} \subseteq \mathsf{FP}^{\mathsf{PH}}$ iff $\mathsf{\# P} \subseteq \mathsf{FP}^{\mathsf{\Sigma_k P}}$ for some fixed $k$ (by definition). But then by Toda's Theorem we have $\mathsf{PH} \subseteq \mathsf{P}^{\mathsf{\# P}} \subseteq \mathsf{P}^{\mathsf{FP}^{\mathsf{\Sigma_k P}}} = \mathsf{P}^{\mathsf{\Sigma_k P}} = \mathsf{\Delta_{k+1} P}$.&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2014-07-25T15:30:13.820" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="25358" PostTypeId="2" ParentId="7715" CreationDate="2014-07-25T15:35:10.897" Score="2" Body="&lt;p&gt;Note that in optimization, &quot;convergence rate&quot; usually means asymptotic behavior. That is, the rate only applies to the neighborhood of optimal solutions. In that sense, Luo &amp;amp; Tseng did prove linear convergence rates for some non-strongly convex objective functions in the paper &quot;On the convergence of the coordinate descent method for convex differentiable minimization&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The non-asymptotic convergence rate, aka &quot;iteration complexity&quot;, is generally more useful in bounding the iteration numbers of minization algorithms. For strongly convex objective functions, the iteration complexity of cyclic coordinate descent methods is already shown in Luo &amp;amp; Tseng's &lt;a href=&quot;http://link.springer.com/article/10.1007%2FBF02096261&quot; rel=&quot;nofollow&quot;&gt;Error bounds and convergence analysis of feasible descent methods: a general approach&lt;/a&gt; if a global error bound is used. For non-strongly convex problems, we have some new results in &lt;a href=&quot;http://www.csie.ntu.edu.tw/~cjlin/papers/cdlinear.pdf&quot; rel=&quot;nofollow&quot;&gt;Iteration Complexity of Feasible Descent Methods for&#xA;Convex Optimization&lt;/a&gt;. To be specific, we've shown the iteration complexity for cyclic coordinate descent methods on problems such as the dual form of SVMs and Gauss-Seidel methods. Further, the results also cover other feasible descent methods including gradient descent and friends.&lt;/p&gt;&#xA;" OwnerUserId="26746" LastActivityDate="2014-07-25T15:35:10.897" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25359" PostTypeId="2" ParentId="25355" CreationDate="2014-07-25T15:59:15.240" Score="8" Body="&lt;p&gt;An example would be the computation of ground state energy of the Ising model with transverse magnetic fields, as described by [&lt;a href=&quot;http://arxiv.org/abs/1311.3161&quot;&gt;Cubitt+Montenaro-2013&lt;/a&gt;]. From the abstract:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;In this work we characterise the complexity of [the calculation of ground-state energies of 2-body Hamiltonians on qubits with terms restricted to some fixed set S]. Depending on the subset S, the problem falls into one of the following categories: in &lt;strong&gt;P&lt;/strong&gt;; &lt;strong&gt;NP&lt;/strong&gt;-complete; polynomial-time equivalent to the Ising model with transverse magnetic fields; or &lt;strong&gt;QMA&lt;/strong&gt;-complete. The third of these classes contains &lt;strong&gt;NP&lt;/strong&gt; and is contained within &lt;strong&gt;StoqMA&lt;/strong&gt;.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="248" LastActivityDate="2014-07-25T15:59:15.240" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25360" PostTypeId="1" CreationDate="2014-07-25T16:54:22.973" Score="5" ViewCount="117" Body="&lt;p&gt;suppose that two SAT formulas on different variables $F_1, F_2$ are given on the input that are known to be true and the problem is to build an algorithm that finds a solution to each. the formulas actually are generated by another algorithm which creates/ generates instances $F_n$ for any $n$. the solving algorithm can find/ exploit &quot;similar structures&quot; contained in each by analyzing eg the clause-variable graph, eg looking for graph isomorphisms etc.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;has this problem of finding &quot;similarities&quot; between two SAT formulas by a solver been studied?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;there is some rough connection of this eg implications of worst case bounds in this paper &lt;a href=&quot;http://eccc.hpi-web.de/report/2014/075/&quot;&gt;A simple proof that AND-compression of NP-complete problems is hard&lt;/a&gt; (Dell), but am looking for more direct algorithm(s) and possibly more empirical approaches/ analysis, eg somewhat similar to strategies/ heuristics used in SAT solver implementations. (this problem has applications in eg &lt;a href=&quot;http://en.wikipedia.org/wiki/Automated_theorem_proving&quot;&gt;automated theorem proving&lt;/a&gt;.)&lt;/p&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2014-07-25T16:54:22.973" Title="extracting/ exploiting similarity of SAT instances by solver" Tags="&lt;reference-request&gt;&lt;sat&gt;&lt;machine-learning&gt;&lt;application-of-theory&gt;&lt;automated-theorem-proving&gt;" AnswerCount="0" CommentCount="2" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="25361" PostTypeId="2" ParentId="25315" CreationDate="2014-07-25T17:34:55.010" Score="5" Body="&lt;p&gt;Marzio's comment gives a link to a formal proof that the Chaitin constant $\Omega$ is normal. Let me give some higher level intuition. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\Omega$ is definened to be an algorithmically random number, in the Kolmogorov complexity sense. Check this beautiful &lt;a href=&quot;https://cstheory.stackexchange.com/a/1415/4896&quot;&gt;answer&lt;/a&gt; by Laurent for a quick description of algorithmic randomness, or the &lt;a href=&quot;http://en.wikipedia.org/wiki/Algorithmically_random_sequence&quot; rel=&quot;nofollow noreferrer&quot;&gt;wiki page&lt;/a&gt;. Or check the &lt;a href=&quot;http://books.google.com/books?id=25fue3UYDN0C&amp;amp;lpg=PR1&amp;amp;dq=kolmogorov%20complexity&amp;amp;pg=PA220#v=onepage&amp;amp;q&amp;amp;f=false&quot; rel=&quot;nofollow noreferrer&quot;&gt;book by Li and Vitanyi&lt;/a&gt;. Normality is a specific property that random numbers have: intuitively, it is something you expect from a sequence of random digits, and when it fails that can be computably detected, so it must be a property of algorithmically random numbers. In other words, normality  is a weak notion of randomness, while algorithmic randomness is a very strong one. It is easy to show that $\Omega$ is normal, because it satisfies the much stronger algorithmic randomness property, essentially by definition. On the other hand, it is hard to prove that computable constants like $\sqrt{2}$, $\pi$, and $e$ are normal, &lt;strong&gt;exactly because&lt;/strong&gt; they are computable. No computable constant can be algorithmically random (because the algorithm that computes the constant can distinguish it from a random sequence), so to prove normality we need a much finer tool that shows that the constant is &quot;random enough&quot; to be normal, even though it is not algorithmically random. For the most part, we do not seem to have such fine tools yet. &lt;/p&gt;&#xA;" OwnerUserId="4896" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2014-07-25T20:12:13.290" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25363" PostTypeId="2" ParentId="24884" CreationDate="2014-07-25T19:34:24.983" Score="1" Body="&lt;p&gt;You say that &quot;the &lt;em&gt;true end goal&lt;/em&gt; would be to use the theory to actually build a PL.&quot;  So, you presumably admit that there are other goals?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;From my point of view, the No. 1 purpose of theory is to provide understanding, which can be in reasoning about existing programming languages as well as the programs written in them.  In my spare time, I maintain a large piece of software, an email client, written ages ago in Lisp.  All the PL theory I know such as Hoare logic, Separation Logic, data abstraction, relational parametricity and contextual equivalence etc. does come in handy in daily work.  For instance, if I am extending the software with a new feature, I know that it still has to preserve the original functionality, which means that it should behave the same way under all the old contexts even though it is going to do something new in new contexts.  If I didn't know anything about contextual equivalence, I probably wouldn't even be able to frame the issue in that way.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Coming to your question about pi-calculus, I think pi-calculus is still a bit too new to be finding applications in language design.  The &lt;a href=&quot;https://en.wikipedia.org/wiki/Pi-calculus&quot; rel=&quot;nofollow&quot;&gt;wikipedia page on pi-calculus&lt;/a&gt; does mention BPML and occam-pi as language designs using pi-calculus.  But you might also look at the pages of its predecessor CCS, and other process calculi such as CSP, join calculus and others, which have been used in many programming language designs.  You might also look at the &quot;Objects and pi-calculus&quot; section of the &lt;a href=&quot;http://books.google.co.uk/books?id=QkBL_7VtiPgC&quot; rel=&quot;nofollow&quot;&gt;Sangiorgi and Walker book&lt;/a&gt; to see how pi-calculus relates to existing programming languages.&lt;/p&gt;&#xA;" OwnerUserId="8519" LastActivityDate="2014-07-25T19:34:24.983" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25364" PostTypeId="1" CreationDate="2014-07-25T21:10:41.543" Score="7" ViewCount="1017" Body="&lt;p&gt;To be more specific, has it ever happened that we've made some kind of significant improvement to a classical algorithm or problem as a result of some &quot;trick&quot; or insight gained from looking at quantum algorithms?&lt;/p&gt;&#xA;" OwnerUserId="12442" LastActivityDate="2014-07-29T15:10:19.457" Title="Are there any cases where quantum has given insight for classical algorithms?" Tags="&lt;ds.algorithms&gt;&lt;quantum-computing&gt;" AnswerCount="3" CommentCount="1" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="25365" PostTypeId="1" AcceptedAnswerId="25386" CreationDate="2014-07-26T04:10:25.020" Score="6" ViewCount="243" Body="&lt;p&gt;Consider the TFNP search problem&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Given a positive integer $t$ in unary, positive integers $M$ and $N$ (in binary), and a&#xA;  &lt;br&gt;&#xA;  function from $\{0\hspace{.02 in},\hspace{-0.04 in}1,\hspace{-0.03 in}2\hspace{.02 in},\hspace{-0.03 in}3,...,\hspace{-0.02 in}M\hspace{-0.04 in}-\hspace{-0.04 in}2\hspace{.02 in},\hspace{-0.02 in}M\hspace{-0.04 in}-\hspace{-0.05 in}1\hspace{-0.02 in}\}$ to $\{0\hspace{.02 in},\hspace{-0.04 in}1,\hspace{-0.03 in}2\hspace{.02 in},\hspace{-0.03 in}3,...,\hspace{-0.02 in}N\hspace{-0.05 in}-\hspace{-0.04 in}2\hspace{.02 in},\hspace{-0.02 in}N\hspace{-0.05 in}-\hspace{-0.05 in}1\hspace{-0.02 in}\}$ (as a circuit),&#xA;  &lt;br&gt;&#xA;  find $\: \operatorname{min}(t,\hspace{-0.04 in}\lceil M/N\hspace{.02 in}\rceil) \:$ distinct inputs that map to the same output.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;.&#xA;&lt;br&gt;&lt;br&gt;&lt;br&gt;&#xA;That problem is clearly hard for the class &lt;a href=&quot;https://complexityzoo.uwaterloo.ca/Complexity_Zoo:P#ppp&quot;&gt;PPP&lt;/a&gt;. $\:$ Is that problem known to be &lt;em&gt;in&lt;/em&gt; PPP?&lt;br&gt;&lt;br&gt;&lt;/p&gt;&#xA;" OwnerDisplayName="user6973" LastEditorDisplayName="user6973" LastEditDate="2014-07-26T09:15:07.327" LastActivityDate="2014-07-30T19:52:15.803" Title="Is generalized pigeonhole search known to be no harder than PPP?" Tags="&lt;search-problem&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="25367" PostTypeId="1" AcceptedAnswerId="25382" CreationDate="2014-07-26T08:45:28.540" Score="2" ViewCount="240" Body="&lt;p&gt;I'm trying to understand the Curry-Howard correspondence. I am comfortable with it for propositional logic, but get confused when $\forall, \exists$ quantifiers come in the picture.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The axiom schema of induction (in second-order logic) is  $\forall P. \left[(P(0) \implies \forall k\in \mathbb N. (P(k)\implies P(k+1)))\implies \forall n\in \mathbb N. P(n)\right]$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To my understanding, via Curry-Howard every statement gets translated to a type. Proving a statement means showing that the type is inhabited. For example, +, = are dependent types taking two parameters of type nat; every $\forall k\in A$ gets translated into a dependent product $\prod_{k::A}$. So the axiom schema should become something like &#xA;$&#xA;\left[\prod_{P::?} \left((P\, 0) \rightarrow \left(\prod_{k::\mathbb N} (P \, k)\rightarrow P \, (+\, k\, 1) \right)\right)\right]\rightarrow \prod_{n::\mathbb N}(P \,n)&#xA;$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A difficulty arises when translating $\forall P$: what is the type of $P$? The problem is that, in order for the above to make sense, $(P\, k)$ is supposed to be a type for all $k::\mathbb N$ (so we are allowed to say $(P\, 0) \rightarrow \cdots$, for instance). So $P$ seems to me like a (dependent) type constructor taking a nat as parameter. But then we are taking a product over $P$, so we must be able to treat $P$ as an element of a type! The problem seems to boil down to, are type constructors themselves of some type? Can we write this statement without having to refer to such a type? Perhaps higher-order logic translates to higher-order type theory, but I do not know the latter. References would also be appreciated.&lt;/p&gt;&#xA;" OwnerUserId="20907" LastEditorUserId="20907" LastEditDate="2014-07-26T18:43:43.970" LastActivityDate="2014-07-28T12:22:02.003" Title="How to translate the axiom schema of induction by Curry-Howard?" Tags="&lt;type-theory&gt;&lt;dependent-type&gt;" AnswerCount="2" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="25371" PostTypeId="2" ParentId="25364" CreationDate="2014-07-26T15:08:33.283" Score="11" Body="&lt;p&gt;There is at least one example that I can remember, but there are probably more that I am not aware of.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Recently, Maarten Van den Nest and Wolfgang Dürr found a  new &lt;a href=&quot;http://arxiv.org/abs/1304.2879&quot;&gt;classical algorithm&lt;/a&gt; (arXiv:1304.2879) to approximate certain types of partition functions (of 3-body classical Ising models on two-dimensional lattices.  Their algorithm is completely &lt;em&gt;classical&lt;/em&gt;, but several connections to &lt;em&gt;quantum&lt;/em&gt; physics are employed in the design (read below). The algorithm was found to be exponentially faster than previously known algorithms that solve the same problem, at the time of writing*.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;*I am ignorant of whether better classical or quantum algorithms have been found a posteriori.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, there are at least &lt;strong&gt;two quantum ingredients&lt;/strong&gt; used in the design of the VdND algorithm. On the one hand, the authors use a classical-quantum connection between classical Ising models and &lt;em&gt;topological quantum systems&lt;/em&gt; (precisely, some color codes). On the other hand, the authors use classical techniques to &lt;em&gt;simulate quantum systems&lt;/em&gt; in the derivation of the algorithm: in their proof, they first write a small quantum algorithm for the problem of interest; then, the authors show how to simulate the former quantum  algorithm efficiently on a classical computer, obtaining a classical algorithm (this is rather remarkable, in my view).&lt;/p&gt;&#xA;" OwnerUserId="7286" LastEditorUserId="7286" LastEditDate="2014-07-26T15:24:18.613" LastActivityDate="2014-07-26T15:24:18.613" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25372" PostTypeId="2" ParentId="25332" CreationDate="2014-07-26T17:07:03.893" Score="5" Body="&lt;p&gt;There has been a lot of work around the idea of statically checking the memory safety properties of programs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Francois Pottier give an excellent overview of various approaches in &lt;a href=&quot;http://gallium.inria.fr/~fpottier/slides/fpottier-2007-05-linear-bestiary.pdf&quot; rel=&quot;noreferrer&quot;&gt;this presentation&lt;/a&gt;. The main technique you probably would be interested in is &lt;a href=&quot;http://en.wikipedia.org/wiki/Region-based_memory_management#Region_inference&quot; rel=&quot;noreferrer&quot;&gt;region typing&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The Wikipedia article is quite complete, but the basic idea is to keep explicit &lt;em&gt;regions&lt;/em&gt; which references are required to explicitly be assigned to a given &lt;em&gt;region&lt;/em&gt;, which can be managed by the programmer or left to be inferred by the compiler. This is somewhat reminiscent of the &lt;a href=&quot;http://en.wikipedia.org/wiki/Resource_Acquisition_Is_Initialization&quot; rel=&quot;noreferrer&quot;&gt;RAII&lt;/a&gt; approach to memory management used mainly in C++ (the wiki article is terrible however).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In practice, region inference hasn't gained widespread use in compilers, mainly because of the complexity of the analyses involved.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Again related, there has been a flurry in work on &lt;a href=&quot;http://en.wikipedia.org/wiki/Separation_logic&quot; rel=&quot;noreferrer&quot;&gt;separation logic&lt;/a&gt; over the last decade, which is an extension of Hoare Logic which allows reasoning over separate regions of the heap, in order to analyze whether objects can share memory locations or not. This method of reasoning is quite difficult to apply to a language like C with &quot;real&quot; pointers, because of the possibility of &lt;a href=&quot;http://en.wikipedia.org/wiki/Pointer_aliasing&quot; rel=&quot;noreferrer&quot;&gt;pointer aliasing&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="3984" LastEditorUserId="3984" LastEditDate="2014-07-27T16:59:06.277" LastActivityDate="2014-07-27T16:59:06.277" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25373" PostTypeId="2" ParentId="25367" CreationDate="2014-07-26T17:17:08.500" Score="1" Body="&lt;p&gt;Yes, in type theory second order variables do have a type, it may be called $Prop$ (the type of propositions) or $Set$ (the type of sets) depending on the context.  In your case, I would write $P:\mathbb N\rightarrow Prop$.  The &lt;a href=&quot;http://ncatlab.org/nlab/show/type+theory&quot; rel=&quot;nofollow&quot;&gt;nLab entry on type theory&lt;/a&gt; and the &lt;a href=&quot;http://en.wikipedia.org/wiki/Calculus_of_constructions&quot; rel=&quot;nofollow&quot;&gt;Wikipedia entry on the calculus of constructions&lt;/a&gt; contain a host of references which you may find interesting.  Also, the &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.17.7385&quot; rel=&quot;nofollow&quot;&gt;lecture notes by Sørensen and Urzyczyn&lt;/a&gt; are an excellent starting place for learning about the Curry-Howard isomorphism, independently of type theory.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An additional note: if you are interested in second order Peano arithmetic and Curry-Howard, you may also want to look into System F before type theory. System F, which corresponds to propositional second order, has an enormous expressive power (precisely related to second order Peano arithmetic) and data types representing inductive structures may be obtained by the following &quot;trick&quot;: take the second order formula describing the desired induction principle and &quot;erase&quot; all first order information.  In particular, from usual induction (the formula you consider), you get $\forall P.(P\Rightarrow (P\Rightarrow P)\Rightarrow P)$, whose normal forms are exactly the Church integers.  See Girard, Lafont and Taylor's book &lt;em&gt;Proofs and Types&lt;/em&gt; and Krivine's book &lt;em&gt;Lambda-calculus, Types and Models&lt;/em&gt; for a formal justification of the above &quot;trick&quot;.&lt;/p&gt;&#xA;" OwnerUserId="20716" LastEditorUserId="20716" LastEditDate="2014-07-26T20:24:05.297" LastActivityDate="2014-07-26T20:24:05.297" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="25374" PostTypeId="2" ParentId="24943" CreationDate="2014-07-26T17:48:02.253" Score="-2" Body="&lt;p&gt;I wanted to respond to the comments of Niel de Beaudrap regarding the source for quantum speedups, but I can't comment. I don't know if I can post an answer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In my view, all quantum speedups are due to entanglement. The only algorithm where we can do something faster than classical computers without using entangled states is Deutsch-Jozsa for computing the parity of two bits. If we discuss about asymptotic speed-ups, entanglement is necessary, and in fact a lot of it. If a quantum algorithm needs a small amount of entanglement, it can be simulated efficiently classically. I can point out the paper &lt;a href=&quot;http://arxiv.org/abs/quant-ph/0201143&quot; rel=&quot;nofollow&quot;&gt;http://arxiv.org/abs/quant-ph/0201143&lt;/a&gt;, which discusses specifically the factoring algorithm and how much entanglement it requires.&lt;/p&gt;&#xA;" OwnerUserId="25459" LastActivityDate="2014-07-26T17:48:02.253" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="25375" PostTypeId="1" CreationDate="2014-07-27T01:39:16.150" Score="0" ViewCount="70" Body="&lt;p&gt;I am working on a proof that require the result of the following problem:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let, $T$ be a rooted directed tree with height $h (\ge \lceil{log_d{n}}\rceil )$ and having $n$ nodes. Each internal node of $T$ has degree (# of children) at most $d$. $T$ was picked uniformly at random from all possible such trees. We define a decent on $T$ as follows.  Start with root, for each of its children we decide with probability $p$ whether to decent the subtree rooted by that child. This decisions are made independently for each of the children of root. Then the process continues recursively. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then, what it is the average number of nodes this procedure will visit?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there any known result for this problem for trees with $d$ &gt; 2?&lt;/p&gt;&#xA;" OwnerUserId="17853" LastEditorUserId="17853" LastEditDate="2014-07-27T02:15:32.047" LastActivityDate="2014-07-27T02:15:32.047" Title="On a property of random rooted trees with $n$ nodes and of height $h$" Tags="&lt;ds.data-structures&gt;&lt;tree&gt;" AnswerCount="0" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="25376" PostTypeId="1" CreationDate="2014-07-27T07:56:06.380" Score="2" ViewCount="1435" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there simple reduction Dominating Set to Vertex Cover?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;In the other direction the reduction is simple.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Searching the web returned &lt;a href=&quot;http://standardwisdom.com/softwarejournal/np-completeness-reductions/dominating-set-to-vertex-cover/&quot; rel=&quot;nofollow&quot;&gt;blog&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It warns &lt;em&gt;This is not finished yet&lt;/em&gt; and experiments suggest&#xA;the reduction doesn't work.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Added&lt;/strong&gt; by &quot;simple&quot; I mean graph transformation&#xA;$G \to G'$, s.t. $G$ has DS of size $k$ iff $G'$&#xA;has VC of size $f(G,k)$ and the transformation&#xA;does not depend on $k$ (to avoid reduction to SAT).&lt;/p&gt;&#xA;" OwnerUserId="22348" LastEditorUserId="22348" LastEditDate="2014-07-27T16:30:33.783" LastActivityDate="2014-07-29T11:36:18.033" Title="Is there simple reduction Dominating Set to Vertex Cover?" Tags="&lt;graph-theory&gt;&lt;reductions&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25378" PostTypeId="2" ParentId="25364" CreationDate="2014-07-27T18:32:59.307" Score="10" Body="&lt;p&gt;&lt;a href=&quot;http://arxiv.org/abs/0910.3376&quot;&gt;Quantum Proofs for Classical Theorems&lt;/a&gt; by Andrew Drucker and Ronald de Wolf is a very nice survey on this topic.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One of the first classical results obtained by thinking about the problem quantumly was a communication complexity lower bound for the inner product function by &lt;a href=&quot;http://arxiv.org/abs/quant-ph/9708019&quot;&gt;Cleve, van Dam, Nielsen and Tapp&lt;/a&gt;. &lt;/p&gt;&#xA;" OwnerUserId="121" LastEditorUserId="7189" LastEditDate="2014-07-28T14:35:00.377" LastActivityDate="2014-07-28T14:35:00.377" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25379" PostTypeId="1" CreationDate="2014-07-27T21:42:52.443" Score="1" ViewCount="222" Body="&lt;p&gt;I've been reading some interesting papers recently on methods for automatically and adaptively setting the learning rate in stochastic gradient descent (SGD).  In particular, &lt;a href=&quot;http://arxiv.org/pdf/1206.1106.pdf&quot; rel=&quot;nofollow&quot;&gt;&quot;No more pesky learning rate&quot;&lt;/a&gt; and &lt;a href=&quot;http://arxiv.org/pdf/1301.3764v2.pdf&quot; rel=&quot;nofollow&quot;&gt;&quot;Adaptive learning rates and parallelization for stochastic, sparse, non-smooth gradients&quot;&lt;/a&gt; --- which are a pair of related papers that deal with a method for automatically adjusting the learning rate during stochastic gradient descent.  The first paper introduces the basic method and the second paper talks mostly about how to apply it in practical settings where one typically uses mini-batches and may have a sparse gradient etc.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I was wondering if a similar approach exists for the &lt;a href=&quot;http://hal.inria.fr/docs/00/53/29/68/PDF/onlineem-arxiv.pdf&quot; rel=&quot;nofollow&quot;&gt;&quot;online EM algorithm&quot;&lt;/a&gt;, where one would be learning an adaptive forgetting factor rather than an adaptive learning rate.  Clearly, there is a relationship between the two learning approaches, but it seems like more effort has been put into (and thus more results obtained) SGD.  Are there similar methods to rid the online EM of it's meta-parameter?  Where could I find some publications on this topic?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks!&lt;/p&gt;&#xA;" OwnerUserId="4619" LastActivityDate="2014-07-29T22:06:25.510" Title="Automatically Adapting Forgetting Factor for Online EM" Tags="&lt;optimization&gt;&lt;online-algorithms&gt;&lt;online-learning&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25380" PostTypeId="1" AcceptedAnswerId="25381" CreationDate="2014-07-28T01:26:11.437" Score="2" ViewCount="681" Body="&lt;p&gt;&lt;strong&gt;Abbreviations&lt;/strong&gt; - &lt;strong&gt;FOL&lt;/strong&gt; is first-order logic; &lt;strong&gt;NBG&lt;/strong&gt; is Von Neumann–Bernays–Gödel set theory; &lt;strong&gt;SEP&lt;/strong&gt; is Stanford Encyclopedia of Philosophy; &lt;strong&gt;HOL&lt;/strong&gt; is higher-order logic; &lt;strong&gt;ATP&lt;/strong&gt; is automated theorem proving.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Context&lt;/strong&gt; - An entire section of TPTP’s [1] axioms is devoted to set theories - for example NBG - for FOL theorem provers. Art Quaife wrote an entire book [2] on axiomatizing NBG in FOL.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;It seems to me&lt;/strong&gt; - These axioms all take &lt;strong&gt;membership&lt;/strong&gt; as a sort of undefined concept, and then build subsets, power sets, union, difference, and so on.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In contrast, here is what SEP has to say on HOL (emphasis mine) -&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;em&gt;Second-order logic is an extension of first-order logic where, &lt;strong&gt;in addition to quantifiers such as “for every object (in the universe of&#xA;  discourse),” one has quantifiers such as “for every property of&#xA;  objects (in the universe of discourse).”&lt;/strong&gt;   This augmentation of the&#xA;  language increases its expressive strength, without adding new&#xA;  non-logical symbols, such as new predicate symbols.   For classical&#xA;  extensional logic (as in this entry), &lt;strong&gt;properties can be identified&#xA;  with sets&lt;/strong&gt;, so that second-order logic provides us with the&#xA;  quantifier &lt;strong&gt;“for every set of objects.”&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;It seems to me&lt;/strong&gt; - that the concept of membership can only be represented in HOL. If that is true, how can FOL axiom schemas, taking membership as an undefined concept, prove theorems in set theory?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;What I am trying to do&lt;/strong&gt; - I need to do ATP in a theory which is FOL+sets. I was unsure whether to use an FOL prover (say, Prover9) or an HOL prover (say, HOL Light). At present, I’m using SNARK (FOL) with Quaife’s axiomatization of NBG, which is unable to prove my theorems (see below for example).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question&lt;/strong&gt; - Is this failure to be expected, since FOL cannot ‘understand’ membership, and hence I need an HOL prover? Or am I misunderstanding / doing something wrong?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] The TPTP Problem Library for Automated Theorem Proving, &lt;a href=&quot;http://www.cs.miami.edu/~tptp/&quot; rel=&quot;nofollow&quot;&gt;http://www.cs.miami.edu/~tptp/&lt;/a&gt;&#xA;[2] Automated Development of Fundamental Mathematical Theories, by Art Quaife, Kluwer Acadamic Publishers (1992)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Finally, an example&lt;/strong&gt; -&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is SNARK code representing three axioms, and a theorem, which SNARK is unable to prove. SNARK has also been given Quaife's axioms of NBG set theory. (Note &lt;strong&gt;member&lt;/strong&gt;, the set membership function.) -&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;(assert  '(forall (x y z)&#xA;    (implies&#xA;      (and&#xA;        (part-of x y)&#xA;        (part-of y z)&#xA;      )&#xA;      (part-of x z)   ) ) :name '1point1point1)&#xA;&#xA;(assert  '(forall (x y alpha t)&#xA;    (exists (z arb-part)&#xA;      (implies&#xA;        (and&#xA;          (and&#xA;            (member t alpha)&#xA;            (part-of t x)&#xA;          )&#xA;          (implies&#xA;            (part-of y x)&#xA;            (and&#xA;              (member z alpha)&#xA;              (and&#xA;                (part-of arb-part z)&#xA;                (part-of arb-part y)&#xA;        ) ) ) )&#xA;        (sum-of x alpha)   ) ) ) :name '1point1point2)&#xA;&#xA;(assert  '(forall (alpha)&#xA;    (exists (arb-member sum)&#xA;      (implies&#xA;        (member arb-member alpha)&#xA;        (sum-of sum alpha)&#xA;) ) ) :name '1point1point3)&#xA;&#xA;(prove  '(forall (x)&#xA;    (part-of x x)   ) :name '1point1point4)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;EDIT -&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Jake said - &quot;set theories are often defined in first order logic&quot;. In fact, the question I was asking was - &quot;Can set theories be defined in first order logic, in an automated theorem prover?&quot;. That's what I meant, when I said &quot;is set theory equivalent to first order logic?&quot; (which is an incorrect way of putting it, and for which I apologize).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It turns out that ZFC &lt;strong&gt;cannot&lt;/strong&gt; be represented in an FOL theorem prover, since it is not finitely axiomatizable. NBG and one other set theories can, and several such axiomatizations exist in TPTP.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, these axiomatizations seem to take the concept of membership as undefined, and build subsets, power sets, etc on that. The SEP paragraph I quoted seems to suggest that representing membership needs HOL. In such a case, it seems paradoxical to me that FOL provers are expected to prove theorems in set theory, knowing nothing of membership.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm sure this is not a real paradox - just something I don't understand. Hence the question. I hope that makes it clearer.&lt;/p&gt;&#xA;" OwnerUserId="25513" LastEditorUserId="25513" LastEditDate="2014-07-28T14:55:59.627" LastActivityDate="2020-05-23T15:57:58.230" Title="Which formalism is best suited for automated theorem proving in set theory?" Tags="&lt;lo.logic&gt;&lt;automated-theorem-proving&gt;&lt;set-theory&gt;" AnswerCount="2" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="25381" PostTypeId="2" ParentId="25380" CreationDate="2014-07-28T10:04:24.673" Score="6" Body="&lt;p&gt;There are numerous ways of formalizing set theory:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;ZFC uses first-order logic and a primitive relation $\in$&lt;/li&gt;&#xA;&lt;li&gt;NBG uses first-order logic, a primitive relation $\in$, and a primitive predicate $S$&lt;/li&gt;&#xA;&lt;li&gt;Church's type theory is multi-sorted and uses infintely many types&lt;/li&gt;&#xA;&lt;li&gt;Type theory is similar to set theory, but not quite the same&lt;/li&gt;&#xA;&lt;li&gt;Second-order arithmetic, through some coding tricks, can express many things we usually want to express in analysis&lt;/li&gt;&#xA;&lt;li&gt;etc.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;But this is all quite irrelevant to what you are doing. You seem to be using automated theorem provers as &quot;black boxes&quot; to prove simple theorems in set theory. This is a hit-and-miss activity: some theorem provers will prove some simple things, and others will prove other simple things, but they will all fail on statements that mathematicians consider &quot;completely trivial&quot;. Such is the state of automated theorem proving.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Rather than worrying which particular formalism you are using, you should investigate which automated theorem prover is good for what. It is also very likely that you do not actually need set theory. It would be helpful if you described what you're doing, but not here, this should go on &lt;a href=&quot;http://cstheory.stackexchange.com&quot;&gt;cstheory.stackexchange.com&lt;/a&gt;. There perhaps we can suggest a good way of formalizing whatever you are doing.&lt;/p&gt;&#xA;" OwnerUserId="705" LastActivityDate="2014-07-28T10:04:24.673" CommentCount="11" ContentLicense="CC BY-SA 3.0" />
  <row Id="25382" PostTypeId="2" ParentId="25367" CreationDate="2014-07-28T10:22:29.177" Score="6" Body="&lt;p&gt;First a correction. The statement&#xA;$$\forall P \,.\, (P(0) \Rightarrow (\forall n . P(n) \Rightarrow P(S n)) \Rightarrow \forall m . P(m)),$$&#xA;is &lt;em&gt;not&lt;/em&gt; the schema of induction, but rather induction written in second-order arithmetic.&#xA;To get the &lt;em&gt;schema&lt;/em&gt; you need to avoid $\forall P$. This is done by saying that there are infinitely many axioms of the form&#xA;$$P(0) \Rightarrow (\forall n . P(n) \Rightarrow P(S n)) \Rightarrow \forall m . P(m),$$&#xA;one for each &lt;em&gt;formula&lt;/em&gt; $P(x)$. That is, whereas in your axiom $P$ refers to arbitrary subsets of $\mathbb{N}$, in the schema it refers to sytnactic entities, namely formulas with parameter $x$. It is called a &quot;schema&quot; because it prescribes a shape from which infinitely many axioms may be generated by plugging in all possible syntactic entities $P$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To answer your question, we just have to look at the Curry-Howard correspondence to see what a predicate $P(x)$ correspond to. The answer is &lt;em&gt;type family&lt;/em&gt; or &lt;em&gt;dependent type&lt;/em&gt;. Because you wrote your axiom in second-order arithmetic, it became unclear how to quantify over dependent types. This is possible by using universes, for instance Daimano in his answer used $\mathsf{Prop}$, the universe of propositions. However, under the pure Curry-Howard there is no $\mathsf{Prop}$, there are only types.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We have two options. If we translate the schema, then it is this: for every dependent type $$x : \mathbb{N} \vdash P(x) \, \mathsf{type}$$ we get the type&#xA;$$\textstyle P(0) \to (\prod_{n:\mathbb{N}} P(n) \to P(S n)) \to \prod_{m:\mathbb{N}} P(m)$$&#xA;If we translate the second-order formulation of induction, we need to use a type universe $\mathsf{Type}$, and then we get&#xA;$$\textstyle &#xA;\prod_{P : \mathbb{N} \to \mathsf{Type}}&#xA;P(0) \to (\prod_{n:\mathbb{N}} P(n) \to P(S n)) \to \prod_{m:\mathbb{N}} P(m)$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What are these types inhabited by? In the case of schema, they are inhabited by &lt;em&gt;primitive recursors&lt;/em&gt; $\mathsf{rec}_P$ which satisfy the equations&#xA;\begin{align*}&#xA;\mathsf{rec}_P \; z \; f \; 0 &amp;amp;= z \\&#xA;\mathsf{rec}_P \; z \; f \; (S n) &amp;amp;= f \; n \; (\mathsf{rec}_P \; z \; f \; n)&#xA;\end{align*}&#xA;Depending on the details of your formalism we may be able to drop the subscript $P$ on $\mathsf{rec}_P$, and just write $\mathsf{rec}$ -- but secretly there is a different $\mathsf{rec}$ for each $P$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the case of the second-order induction we would get a single primitive recursor $\mathsf{rec}$ satisfying&#xA;\begin{align*}&#xA;\mathsf{rec} \; P \; z \; f \; 0 &amp;amp;= z \\&#xA;\mathsf{rec} \; P \; z \; f \; (S n) &amp;amp;= f \; n \; (\mathsf{rec} \;P \; z \; f \; n)&#xA;\end{align*}&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If I spoke to a Haskell programmer I would say that in the case of schema each $\mathsf{rec}$ was obtained from $P$ using a &quot;deriving&quot; clause, whereas in the second-order case there is a single &lt;em&gt;polymorphic&lt;/em&gt; $\mathsf{rec}$.&lt;/p&gt;&#xA;" OwnerUserId="705" LastEditorUserId="705" LastEditDate="2014-07-28T12:22:02.003" LastActivityDate="2014-07-28T12:22:02.003" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25383" PostTypeId="1" CreationDate="2014-07-28T12:04:04.067" Score="-2" ViewCount="632" Body="&lt;p&gt;I am a freshman and a  Computer Science major,I have a very poor understanding in the area of electrical and electronics.I want to pursue a career in theoretical computer science esp. Quantum computing.So does my above weakness pose a barrier and prevent me from pursuing a career in Theoretical CS.&#xA;Also what qualities/prerequisites are required for pursuing a career in the above field.&#xA;Any person(in the area of quantum computing/theoretical CS)please advise me how to proceed?&#xA;..............Thank you............&lt;/p&gt;&#xA;" OwnerUserId="26764" LastActivityDate="2014-07-28T14:45:35.240" Title="Prerequisites for theoretical computer science" Tags="&lt;quantum-information&gt;" AnswerCount="1" CommentCount="3" ClosedDate="2014-07-30T00:08:02.673" ContentLicense="CC BY-SA 3.0" />
  <row Id="25384" PostTypeId="2" ParentId="25383" CreationDate="2014-07-28T14:45:35.240" Score="1" Body="&lt;p&gt;If your interests in theoretical computer science lie in quantum computing, a &quot;poor&quot; understanding of electronics should not prevent you at all from getting started. During your undergraduate studies, you may want to focus on courses like theory of computing, complexity theory, linear algebra and algorithms. Taking an introduction to quantum mechanics course from the physics or applied math department would also be beneficial. Many universities offer an undergraduate or low-level graduate course in quantum information/computing. If yours does not offer one, look at the &lt;a href=&quot;https://www.edx.org/course/uc-berkeleyx/uc-berkeleyx-cs-191x-quantum-mechanics-1033#.U9ZeeYBdWdo&quot; rel=&quot;nofollow&quot;&gt;EdX course by Umesh Vazirani&lt;/a&gt;, a pioneer of the field. There are also a few standard textbooks with a CS focus, like Nielsen &amp;amp; Chuang and Kaye, Laflamme and Mosca.&lt;/p&gt;&#xA;" OwnerUserId="26765" LastActivityDate="2014-07-28T14:45:35.240" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25385" PostTypeId="2" ParentId="25376" CreationDate="2014-07-28T16:32:19.767" Score="2" Body="&lt;p&gt;How about the following transformation: Given a graph $G(V,E)$ with $V=\{1,\ldots,n\}$ construct $G'(V',E')$ as follows: $V'$ initially consists of two sets of vertices: the vertices $u_i, 1\le i\le n$ and the vertices $v_{i,j}, 1\le i,j\le n$ (a total of $n^2+n$ vertices). We add the following sets of edges: first, connect all $v_{i,j}$ with $v_{i,k}$ for $k\neq j$, so the graph now consists of $n$ cliques of order $n$ and $n$ isolated vertices. Next, for all $i$, connect $u_i$ with the vertex $v_{i,i}$. Then, for all $i$ connect $u_i$ with all vertices $v_{j,i}$ for which $(i,j)\in E$. On the other hand, for all $i,j$ such that $(i,j)\not\in E$ construct a new vertex $v'_{i,j}$ and connect it to $v_{i,j}$ (this constructs two new degree-1 vertices for each non-edge of $G$). This completes the construction.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The claim is that $G'$ has a vertex cover of size $n(n-1)+k$ if and only if $G$ has a dominating set of size $k$. The intuition is that any vertex cover must take at least $n-1$ vertices from each clique (giving at least $n(n-1)$ vertices overall), allowing us to select exactly $k$ of the $u_i$ vertices to represent the dominating set. The vertex that is left out of the $i$-th clique encodes the vertex of the original graph that was used to dominate $i$. Observe that the leaves $v'_{i,j}$ ensure that vertices corresponding to non-edges are not left out of the vertex cover. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thus, the direction dominating set of $G$ $\to$ vertex cover of $G'$ is straightforward: select the vertices from $u_i$ that represent the dominating set and from each clique select all vertices except the one that is adjacent to a selected $u_i$. For the converse direction, first note that it is never optimal to take a $v'_{i,j}$ vertex in the vertex cover since these vertices have degree 1, so their neighbors must be selected. Second, observe that in any vertex cover that selects all $n$ vertices of a clique we can exchange one of them with its neighboring $u_i$ vertex, therefore we can assume that an optimal vertex cover selects $k$ such $u_i$ vertices. These must be a dominating set of $G$.&lt;/p&gt;&#xA;" OwnerUserId="3168" LastEditorUserId="3168" LastEditDate="2014-07-29T11:36:18.033" LastActivityDate="2014-07-29T11:36:18.033" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="25386" PostTypeId="2" ParentId="25365" CreationDate="2014-07-28T17:10:48.933" Score="4" Body="&lt;p&gt;&lt;strong&gt;Please see the comments below by Emil Jeřábek,&lt;/strong&gt; so I am not that sure anymore that the problem is harder.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;No, it is not known but it is harder than PPP :)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here I focus on the $M=2N+1$ case, so $t=3$, that is, we want $3$ inputs that map to the same output. In Papadimitriou's seminal paper &quot;On the Complexity of the Parity Argument&quot; he defined PPA-3 similarly to PPA as the search problems reducible to the argument &quot;If in a bipartite graph a node has degree not a multiple of 3, then there is at least another such node.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let me define here PPAD-3 in a way similar to PPAD as the search problems reducible to the argument &quot;If in a balanced, directed bipartite graph $(A,B;E)$ there is a node in $A$ whose outdegree is not $2$ or whose indegree is not $1$, then there is at least another such node in $A$ OR there is a node in $B$ whose outdegree is not $1$ or whose indegree is not $2$.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Just like PPAD$\subset$PPP, you can show that PPAD-3 is a subset of the problem you have defined. Unfortunately this is all the evidence I can give you as (as far as I know) PPA-3 has not been investigated much and no oracle separation results are known for it, though I don't think it would be hard to obtain some. Papadimitriou defining it as a separate class should be enough evidence that there is a good chance that they differ.&lt;/p&gt;&#xA;" OwnerUserId="419" LastEditorUserId="419" LastEditDate="2014-07-30T19:52:15.803" LastActivityDate="2014-07-30T19:52:15.803" CommentCount="16" ContentLicense="CC BY-SA 3.0" />
  <row Id="25387" PostTypeId="1" CreationDate="2014-07-28T18:22:19.893" Score="2" ViewCount="381" Body="&lt;p&gt;I am trying to use an automated theorem prover (SNARK) to prove a theorem in first-order logic.&#xA;Tarski claims in his &quot;a work on mereology&quot; that &#xA;the goal is provable from assertions 1-3 but he does not give a proof &#xA;(I have found an easy proof by contradiction).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However SNARK is currently unable to find a proof, &#xA;even with the axioms of (NBG) set theory in [1]. &#xA;Any suggestions will be greatly appreciated.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Assertions:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;The relation ‘part of’ is transitive:&#xA;$$\forall x,y,z. PartOf(x,y) \land PartOf(y,z) \to PartOf(x,z)$$&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The sum of a class is defined as follows: x is the sum of a class alpha if alpha is contained in the ‘parts’ of x, and if when y is any part of x there is always a z belonging to alpha having parts in common with the parts of y:&#xA;$$\forall x,y,a,t. \exists z,p. SumOf(x,a) \to &#xA;(Member(t,a) \to PartOf(t,x)) \land &#xA;(PartOf(y,z) \to Member(z,a) \land PartOf(p,z) \land PartOf(p,y))$$&#xA;This was originally given in Peano-Russell notation as:&#xA;$$S=_{Df} \hat{x} \hat{\alpha} \{\alpha\subset\vec{P^‘} &#xA;x:.(y):yPx.\supset .(\exists z).z\in \alpha .\vec{P^‘}  y\cap \vec {P^‘} z\neq \Lambda \}$$&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Every class which is not null has a sum:&#xA;$$\forall a. \exists m,s. Member(m,a) \to SumOf(s,a)$$&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Proof Goal: The relation ‘part of’ is reflexive:&#xA;$$\forall x. PartOf(x,x)$$&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;[1] Automated Development of Fundamental Mathematical Theories, by Art Quaife, Kluwer Acadamic Publishers (1992)&lt;/p&gt;&#xA;" OwnerUserId="25513" LastEditorUserId="186" LastEditDate="2014-07-30T12:41:24.997" LastActivityDate="2014-07-30T12:41:24.997" Title="Theorem prover fails to find simple set theory proof?" Tags="&lt;lo.logic&gt;&lt;automated-theorem-proving&gt;&lt;set-theory&gt;" AnswerCount="0" CommentCount="13" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="25390" PostTypeId="1" AcceptedAnswerId="25394" CreationDate="2014-07-29T12:57:19.093" Score="9" ViewCount="2565" Body="&lt;p&gt;What is known about the complexity of solving a system of linear equations over some finite field? I know that there exists an $O(n^3)$ algorithm (Gauss) that computes a solution and that for sparse systems there are even better algorithms. However, I was wondering if there was some comlexity-theoretic characterization of this problem. For example, is the corresponding decision problem in $\mathbf{NC}$? Is it complete for any complexity class?&lt;/p&gt;&#xA;" OwnerUserId="17564" LastActivityDate="2014-07-29T15:00:11.230" Title="Complexity of solving linear equations" Tags="&lt;cc.complexity-theory&gt;&lt;linear-equations&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="25392" PostTypeId="1" CreationDate="2014-07-29T13:33:16.880" Score="6" ViewCount="247" Body="&lt;p&gt;I have a problem with determinig if the following assignment problem is NP-hard. Any comments and suggestions would be appreciated.&lt;/p&gt;&#xA;&#xA;&lt;h1&gt;Problem definition&lt;/h1&gt;&#xA;&#xA;&lt;p&gt;Given is a directed acyclic graph $G=(V,E)$ representing a set of computation tasks which need to be performed. Each vertex $v$ represents a single, non-divisible computation task. Each edge $e$ denotes communication between two tasks, i.e. transmission of output data from one task to another.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/Y7ry7.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Each computation task can be executed on one of two servers: $S_A$ or $S_B$. The servers have differing architectures, so $S_A$ is able to perform some computations more efficiently than $S_B$, and vice versa. Therefore, each computation task has two values associated with it: $c_A(v)$ and $c_B(v)$, which denote the cost of executing the task on server $S_A$ and $S_B$, respectively.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consequently, each edge $e$ has two associated values representing the data transmission cost: $t_{internal}(e)$ (both tasks executed on the same server) and $t_{external}(e)$ (the task are executed on different servers). We assume $t_{internal}(e) = 0$ (i.e. internal server communication has no significant cost). $t_{external}(e) &amp;gt; 0$ and is proportional to the amount of data which needs to be transmitted between the tasks. The transmission cost is symmetrical, i.e. it does not matter if we transmit the data from $S_A$ to $S_B$ or from $S_B$ to $S_A$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/TXGBj.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The total cost of computation $C$ is the sum of costs of individual task executions and the costs of communication between tasks, i.e.:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$C = \sum\limits_{v \in V}c(v) + \sum\limits_{e \in E}t(e) $&lt;/p&gt;&#xA;&#xA;&lt;h1&gt;Question&lt;/h1&gt;&#xA;&#xA;&lt;p&gt;Is determining the lowest-cost assignment of tasks $v$ to servers ($S_A$ and $S_B$) NP-hard?&lt;/p&gt;&#xA;&#xA;&lt;h1&gt;Attempted approach&lt;/h1&gt;&#xA;&#xA;&lt;p&gt;I have tried transforming the graph $G$ to a new graph $G^Z$ with doubled vertices, as shown in the picture below.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/cgbJC.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the new graph, the problem is to choose one vertex from each pair ($v^A$, $v^B$) so that the total weight of edges remaining in the resulting graph would be minimal.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have tried to find possible analogies to well-known graph theory problems (e.g. maximum independent set, vertex cover, graph partitioning, etc.). Alas, to no avail.&lt;/p&gt;&#xA;" OwnerUserId="26770" LastActivityDate="2014-07-29T13:33:16.880" Title="NP-hardness of tasks graph assignment to two heterogenous servers" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;&lt;np-hardness&gt;&lt;optimization&gt;" AnswerCount="0" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="25393" PostTypeId="2" ParentId="25390" CreationDate="2014-07-29T14:52:26.187" Score="6" Body="&lt;p&gt;A result known for over 30 years is that Guassian Elimination over $\mathbb F_2$ can be done by a various decompositions which takes $O(n^\omega)$, where $\omega$ is the matrix multiplication constant.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;References:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Ibarra, O. , Moran, S. , and Hui, R. 1982. &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/0196677482900074&quot;&gt;A generalization of the fast LUP matrix decomposition algorithm and applications&lt;/a&gt;. Journal of Algorithms 3 , 45{56.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Jeannerod, C.-P. , Pernet, C. , and Storjohann, A. 2011. &lt;a href=&quot;https://cs.uwaterloo.ca/~astorjoh/ple.pdf&quot;&gt;Rank profile revealing Gaussain&#xA;elimination and the CUP matrix decomposition&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="21001" LastActivityDate="2014-07-29T14:52:26.187" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25394" PostTypeId="2" ParentId="25390" CreationDate="2014-07-29T14:53:00.587" Score="11" Body="&lt;p&gt;I’m not sure this is a research-level question, however solving linear systems over $\mathbb F_p$ is a &lt;a href=&quot;http://link.springer.com/article/10.1007%2FBF01374526&quot;&gt;$\mathrm{Mod}_p\mathrm L$-complete&lt;/a&gt; problem, hence in particular it is in $\mathrm{NC}^2$. More generally, linear algebra over $\mathbb F_{p^k}$ (at least for $k$ fixed) can be reduced to the $\mathbb F_p$ case.&lt;/p&gt;&#xA;" OwnerUserId="6959" LastEditorUserId="6959" LastEditDate="2014-07-29T15:00:11.230" LastActivityDate="2014-07-29T15:00:11.230" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25395" PostTypeId="2" ParentId="25364" CreationDate="2014-07-29T15:10:19.457" Score="1" Body="&lt;p&gt;A couple more links on connections and analogies between quantum physics, quantum computation and (classical) computer science (to the already posted answers).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The survey paper of &lt;a href=&quot;http://arxiv.org/abs/0910.3376&quot; rel=&quot;nofollow&quot;&gt;Drucker and de Wolf&lt;/a&gt; is already mentioned.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A &lt;a href=&quot;http://quantum.phys.cmu.edu/QIP/simulation.pdf&quot; rel=&quot;nofollow&quot;&gt;presentation&lt;/a&gt; on simulating quantum computers with (classical) probabilistic models (and references thereof).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A somewhat older paper on $PP$, $BQP$ and $PostBQP$ computation classes (arxiv, 2004).&#xA;&lt;a href=&quot;http://arxiv.org/abs/quant-ph/0412187&quot; rel=&quot;nofollow&quot;&gt;Quantum Computing, Postselection, and Probabilistic Polynomial-Time&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Relations between (classical &lt;em&gt;hard&lt;/em&gt;) computation and &lt;a href=&quot;http://en.wikipedia.org/wiki/Renormalization&quot; rel=&quot;nofollow&quot;&gt;renormalization techniques&lt;/a&gt; in statistical and quantum field theory (arxiv):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://arxiv.org/abs/0904.4921&quot; rel=&quot;nofollow&quot;&gt;Renormalization and computation I: motivation and background&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://arxiv.org/abs/0908.3430&quot; rel=&quot;nofollow&quot;&gt;Renormalization and Computation II: Time Cut-off and the Halting Problem&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://arxiv-web3.library.cornell.edu/abs/cs/0608053v2&quot; rel=&quot;nofollow&quot;&gt;Renormalization group approach to the P versus NP question&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Further connections in this direction in Baez, Stay (arxiv):&#xA;&lt;a href=&quot;http://arxiv.org/abs/0903.0340&quot; rel=&quot;nofollow&quot;&gt;Physics, Topology, Logic and Computation: A Rosetta Stone&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A (thermodynamic) Turing Machine which can compute (quantum) Hadamard transforms (arxiv):&#xA;&lt;a href=&quot;http://arxiv.org/abs/0904.3273&quot; rel=&quot;nofollow&quot;&gt;A Thermodynamic Turing Machine: Artificial Molecular Computing Using Classical Reversible Logic Switching Networks&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally a review on &lt;em&gt;Quantum Annealing and Computation&lt;/em&gt; connections (arxiv, 2013):&#xA;&lt;a href=&quot;http://arxiv.org/abs/1310.1339&quot; rel=&quot;nofollow&quot;&gt;Quantum Annealing and Computation: A Brief Documentary Note&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="21598" LastActivityDate="2014-07-29T15:10:19.457" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25399" PostTypeId="2" ParentId="25354" CreationDate="2014-07-30T11:02:56.983" Score="7" Body="&lt;p&gt;There is a general theory here, which was introduced into CS by Robin Milner, which Lamport did not go into. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A state machine is generally given as a triple $(Q \in \mathrm{Set}, q \in Q, f \in I \times Q \to \mathcal{P}(O \times Q))$, consisting of a state set $Q$, an initial state $q$, and a transition relation $f$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, suppose we have two automata $(Q, q, f)$ and $(T, t, g)$. Let's ask a question: when are these automata equivalent? If all we are going to do is take the machines and send them inputs and listen to the outputs, we &lt;em&gt;don't&lt;/em&gt; want to require the state sets to be the same (for example, if $(T, t, g)$ is the result of running a DFA minimization algorithm on $(Q, q, f)$). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It turns out that the right notion of equivalence is &lt;em&gt;bisimulation&lt;/em&gt;.  The idea is that we take two state machines to be the same, if we can produce a relation $R \subseteq Q \times T$, such that &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$(q,t) \in R$&lt;/li&gt;&#xA;&lt;li&gt;for all $(q,t) \in R$ and $i \in I$ and $o \in O$ then:&#xA;&lt;ul&gt;&#xA;&lt;li&gt;for all $q' \in Q$, if $(o, q') \in f(i, q)$, then there is a $t' \in T$ such that $(o, t') \in g(i, t)$. &lt;/li&gt;&#xA;&lt;li&gt;for all $t' \in T$, if $(o, t') \in g(i, t)$, then there is a $q' \in Q$ such that $(o, q') \in f(i, q)$. &lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;This says that if we can figure out any relation such that (a) the initial states are related, and (b) from related initial states, any I/O action the first machine can take can be mimicked by the second machine in a way that keeps you in the relation, and (c) similarly, the first machine can mimic anything the second can do.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Lamport's notation with primes is a way of concisely describing input-output relations. In this case, the state sets are the program counter of the first program, and the two program counters of the second program. The bisimulation relation is $R(pc, (p, c)) \triangleq pc = p \oplus c$, and then the bisimulation conditions follow trivially (since the relation expressions are equal under the subsitution). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The general theory at work is the theory of coinduction. State machines are representions of corecursively defined sets, and bisimulations tell you when two state machines are representations of the same potentially-infinite object. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Incidentally, this paper is written in a rather polemical style. Equally polemically, I'll point out that the style he advocates in this paper simply fails should you ever need to verify &lt;em&gt;part&lt;/em&gt; of a program in isolation -- for example, if you want to prove a library implementation correct, or verifying a program using higher-order functions (or even just dynamic linking). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;But both of us will use coinduction, nonetheless.&lt;/p&gt;&#xA;" OwnerUserId="657" LastActivityDate="2014-07-30T11:02:56.983" CommentCount="17" ContentLicense="CC BY-SA 3.0" />
  <row Id="25404" PostTypeId="1" AcceptedAnswerId="25405" CreationDate="2014-07-30T21:38:01.263" Score="5" ViewCount="167" Body="&lt;p&gt;$NCM$, the class of non-deterministic reversal-bounded counter machines, has a lot of interesting dependability and closure properties. It's known that, unlike the deterministic version, NCM is not closed under complement.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, I've never seen a proof of this given explicitly. In &lt;a href=&quot;http://www.lsv.ens-cachan.fr/~demri/p116-ibarra.pdf&quot;&gt;Ibarra's paper&lt;/a&gt;,&#xA;the non-closure is implied because if NCM were closed under complement, subset would be decidable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, I've never actually seen an example of a language where $L$ is in $NCM$ but $\overline{L}$ isn't.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm wondering, can anyone provide such an example, and preferable, a source describing it that I could cite in a paper?&lt;/p&gt;&#xA;" OwnerUserId="16208" LastActivityDate="2014-07-31T08:57:59.893" Title="What language $L \in NCM$ has $\overline{L} \not \in NCM$?" Tags="&lt;reference-request&gt;&lt;fl.formal-languages&gt;&lt;automata-theory&gt;&lt;decidability&gt;&lt;undecidability&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25405" PostTypeId="2" ParentId="25404" CreationDate="2014-07-30T23:38:38.100" Score="5" Body="&lt;p&gt;Letting $L$ be the &lt;em&gt;complement&lt;/em&gt; of the language of copies $\{ww \mid w \in \{a, b\}^*\}$, you get your statement.  First, it is indeed recognized by a NCM — as is the complement of the language of palindromes.  The NCM simply ensures that two positions in the input word chosen non deterministically hold different letters, and checks that they are separated by exactly half the length of the input.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now Parikh Automata were introduced by Klaedkte and Rueß in ICALP'03.  The technical report version, available &lt;a href=&quot;http://www.inf.ethz.ch/personal/felixkl/papers/tr177-card-new.ps.gz&quot; rel=&quot;nofollow&quot;&gt;on Klaedkte's webpage&lt;/a&gt;, states the equivalence of Parikh Automata and NCM as Theorem 29 and 31.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Relying on a combinatorial argument, they show that the complement of $L$ is not recognizable by a Parikh automaton, Lemma 26.  Further lemmata have been developed to show that some languages are outside this class (we present a few in &lt;a href=&quot;http://journals.cambridge.org/action/displayAbstract?fromPage=online&amp;amp;aid=8735574&amp;amp;fileId=S0988375412000136&quot; rel=&quot;nofollow&quot;&gt;this journal paper&lt;/a&gt;).&lt;/p&gt;&#xA;" OwnerUserId="88" LastEditorUserId="88" LastEditDate="2014-07-31T08:57:59.893" LastActivityDate="2014-07-31T08:57:59.893" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="25406" PostTypeId="2" ParentId="25224" CreationDate="2014-07-31T01:04:09.640" Score="4" Body="&lt;p&gt;As far as I can see, Restricted GA is NP-complete. My proof has been originally posted &lt;a href=&quot;https://mathoverflow.net/a/177442/56203&quot;&gt;here&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerDisplayName="user26789" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2014-07-31T01:04:09.640" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25407" PostTypeId="1" CreationDate="2014-07-31T01:55:12.103" Score="1" ViewCount="110" Body="&lt;p&gt;Given a sizable graph $G = (V, E)$, with $|V| \approx 1400$ vertices and $|E| \approx 1600$ edges, I have an optimization problem to find a connected subgraph of $G$ of size $k$ such that a given function $f$ over the subgraph is optimal. Furthermore, I have a set of undesirable vertices $U \subset V$ which do not affect the value of $f$, and desirable vertices $D = V - U$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As a preprocessing step, I'm trying to prune $G$ by removing all undesirable vertices that will never be part of an optimal solution. A undesirable vertex has no affect on the value of $f$, but still might be included in an optimal solution if it is part of a minimal Steiner tree with desirable terminals $T \subset D$. Any vertex which is not part of any minimal Steiner tree of any subset $T \subset D$ is safe to remove.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, since I'm very inexperienced in this field and am having trouble finding the right literature, I'm asking for any advice or references for solving the problem of finding such vertices that are provably not part of an optimal solution.&lt;/p&gt;&#xA;" OwnerUserId="26788" LastActivityDate="2014-07-31T01:55:12.103" Title="Pruning a graph by removing vertices not part of any minimal Steiner tree" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25408" PostTypeId="1" CreationDate="2014-07-31T11:07:07.010" Score="6" ViewCount="512" Body="&lt;h1&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/q/17824/17082&quot;&gt;The previous question&lt;/a&gt;&lt;/h1&gt;&#xA;&#xA;&lt;p&gt;Do there exist intermediate problems (in the sense of Ladner's Theorem) for FP vs. #P? I assume that something is known, because I read some papers concerned with FP/#P dichotomies. However, I couldn't find a reference.&lt;/p&gt;&#xA;&#xA;&lt;h1&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/a/17827/17082&quot;&gt;An Answer to the previous question&lt;/a&gt;&lt;/h1&gt;&#xA;&#xA;&lt;p&gt;Use Schöning's theorem:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Let $A_1$, $A_2$ be recursive sets and $C_1$, $C_2$ be classes of recursive sets with the following properties:&lt;/p&gt;&#xA;  &#xA;  &lt;ol&gt;&#xA;  &lt;li&gt;$A_1 \notin C_1$, $A_2 \notin C_2$&lt;/li&gt;&#xA;  &lt;li&gt;$C_1$ and $C_2$ are recursively presentable, &lt;/li&gt;&#xA;  &lt;li&gt;$C_1$ and $C_2$ are closed under finite variations. &lt;/li&gt;&#xA;  &lt;/ol&gt;&#xA;  &#xA;  &lt;p&gt;Then there exists a recursive set $A$ such that:&lt;/p&gt;&#xA;  &#xA;  &lt;ol&gt;&#xA;  &lt;li&gt;$A \notin C_1$, $A \notin C_2$, &lt;/li&gt;&#xA;  &lt;li&gt;if $A_1 \in \mathsf{P}$ and $A_2\notin \{ \emptyset, \Sigma^* \}$, then $A \leq^{\mathsf{P}}_m A_2$. &lt;/li&gt;&#xA;  &lt;/ol&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;For the purposes of counting dichotomy theorems, the two relevant classes of decision problems are $\text{P}$ and $\text{P}^{\#\text{P}}$.&lt;/p&gt;&#xA;&#xA;&lt;h1&gt;My question&lt;/h1&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there a concrete example of #P intermediate problem under some plausible assumption?&#xA;  More specifically, is there an &lt;em&gt;explicit&lt;/em&gt; function $F$ satisfying the following conditions?&#xA;  $F\notin \mathsf{FP}$ and $F$ is &lt;em&gt;not&lt;/em&gt;  $\# \mathsf{P}$-complete.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="26794" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2014-08-01T14:45:43.173" Title="Example of #P-intermediate problem" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;counting-complexity&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="25410" PostTypeId="2" ParentId="25408" CreationDate="2014-07-31T12:57:21.213" Score="14" Body="&lt;p&gt;Assuming $\mathsf{PH}$ does not collapse and that Graph Isomorphism is not in $\mathsf{P}$, then $\# GI$ (the counting version of graph isomorphism) satisfies your conditions. This is because $\# GI \equiv_m^p GI$.&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2014-07-31T12:57:21.213" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="25413" PostTypeId="1" CreationDate="2014-08-01T15:06:13.977" Score="3" ViewCount="164" Body="&lt;p&gt;Suppose we are given $m$ vectors $v_1, \dots, v_m$ in $n$-dimensional space $\mathbf R^n$ (or perhaps they are specified up to $b$ bits of precision). I would like to find an orthonormal basis for the subspace perpendicular to $v_1, \dots, v_m$. I could do this by Gram-Schmidt but this would appear to take roughly $(m+n)^3$ time in serial, and cannot be done at all in parallel. Maybe we can assume $m = O(n)$ if this simplifies things.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there better algorithms for this? This seems closely related to matrix inversion so one should expect algorithms running in time $n^{\omega}$ (serial) or NC algorithms in time $\log^2 n$ (in parallel). Any references or key words would be greatly appreciated.&lt;/p&gt;&#xA;" OwnerUserId="5538" LastEditorUserId="5538" LastEditDate="2014-08-01T15:17:17.037" LastActivityDate="2014-08-01T16:03:28.297" Title="Algorithm (parallel and serial) for Gram-Schmidt" Tags="&lt;ds.algorithms&gt;&lt;linear-algebra&gt;&lt;dc.parallel-comp&gt;" AnswerCount="0" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="25416" PostTypeId="1" CreationDate="2014-08-01T20:43:16.143" Score="-1" ViewCount="120" Body="&lt;p&gt;I have a problem that can be solved with linear programming, but I'm hoping there's a combinatorial algorithm for this (even approximation is fine).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is basically a load balancing problem using concepts from the set cover problem. Let $U$ be the set of elements and $S$ be the set of sets whose union is $U$ (just like in set cover). Let $x_i$ be a weight associated with $s_i \in S$, where $i \ge 1$, so $x_0$ is not an actual weight. Then the LP I am solving is as follows:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;\min x_0 \\&#xA;\sum_{i:u \in s_i}x_i \le x_0 \quad \forall u \in U \\&#xA;\sum_{i \ge 1} x_i = 1 \\&#xA;x_i \ge 0&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Intuitively, I am trying to &quot;weight&quot; my sets such that no single element gets overloaded. I am minimizing the maximum weight of some element. The weight of an element is the sum of the weights of the sets that contain that element.&lt;/p&gt;&#xA;" OwnerUserId="26806" LastActivityDate="2014-08-01T23:18:32.970" Title="Combinatorial algorithm for load balancing" Tags="&lt;approximation-algorithms&gt;&lt;linear-programming&gt;&lt;set-cover&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="25417" PostTypeId="2" ParentId="25416" CreationDate="2014-08-01T23:18:32.970" Score="0" Body="&lt;p&gt;Here is an approximate solution which is faster than LP (perhaps).&#xA;For simplicity, let's assume $U = \{1, 2, 3, ..., n\}$, $|S| = m$, $|S_i| = m_i$. Let $\mathbf{C}$ be a matrix where $C_{ji} = 1 \iff j \in S_i$. Let $\mathbf{h} = \mathbf{C} \mathbf{x}$ and your problem will be&#xA;$$&#xA;\min \parallel \mathbf{h} \parallel_{\infty} \\&#xA;\mathbf{1}^T \mathbf{x} \ge 1 \\&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now we have $\parallel \mathbf{h} \parallel_{\infty} \le \parallel \mathbf{h} \parallel_p$ and will use the $p$-norm. To minimize $\parallel \mathbf{h} \parallel_p$ we could minimize $\parallel \mathbf{h} \parallel_p^p$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $\lambda$ be the dual variable and from the lagrangian we get:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;L(\mathbf{x}, \lambda) = \sum_{j = 1}^{n} h_j^p + \lambda (1 - \mathbf{1}^T \mathbf{x} )&#xA;$$&#xA;and the gradient says&#xA;$$&#xA;\frac{\partial L}{\partial x_i} = p h_j^{p - 1} x_i c_{ji} -\lambda = 0.&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Solving this equation is hard. Two alternatives here:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Coarse approximation: Lets assume the balancing takes place perfectly and all $h_j$ are roughly equal. Then, $x_i = c / m_i$ where we find $c$ such that $\sum_i x_i  = 1$.&lt;/li&gt;&#xA;&lt;li&gt;Run a fixed point iteration: Assume some value for $\mathbf{h}$. Find $\mathbf{x}$ from above, then find $\mathbf{h}$ and so on until it converges. It might not converge for large values of $p$, but my guess is that it does for small ones.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="22040" LastActivityDate="2014-08-01T23:18:32.970" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25418" PostTypeId="1" CreationDate="2014-08-02T05:09:24.083" Score="3" ViewCount="386" Body="&lt;p&gt;I am trying to learn how to find modular decomposition of graph using the method given in the paper &lt;a href=&quot;http://link.springer.com/chapter/10.1007/978-3-540-70575-8_52&quot; rel=&quot;nofollow&quot;&gt;Simpler Linear-Time Modular Decomposition via Recursive Factorizing Permutations&lt;/a&gt;. &#xA;I am unable to understand the method properly which is given in the paper.&#xA;Can some one explain the procedure to find the modular decomposition of graph with example using the procedure given in this paper [ or using any other simpler algorithm available in literature ]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thank you.&lt;/p&gt;&#xA;" OwnerUserId="14028" LastActivityDate="2014-08-02T05:09:24.083" Title="Finding modular decomposition of graph" Tags="&lt;graph-theory&gt;" AnswerCount="0" CommentCount="3" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="25421" PostTypeId="1" CreationDate="2014-08-02T16:04:57.343" Score="8" ViewCount="202" Body="&lt;p&gt;Say you have a number of sets of integers ($S_1, S_2 ... S_n$), and you want to calculate intersections of some of them ($\cap S_1, S_3, S_7$ might be a query, but you want to support many such queries, or maybe even all possible queries)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is an obvious way to do this in linear time. Are there data-structures that allow for sub-linear time ? (of course, that is not be possible in general: the answer itself might have linear size. But an algorithm might have some other useful properties, like being linear on the answer size, or running on sub-linear time and giving just part of the intersection)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In general, what is the state of the problem? What approaches are known, and what is known to be hard ?&lt;/p&gt;&#xA;" OwnerUserId="12965" LastActivityDate="2014-08-06T14:04:45.317" Title="what is known about efficient set intersections" Tags="&lt;cc.complexity-theory&gt;&lt;ds.data-structures&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25422" PostTypeId="1" CreationDate="2014-08-02T19:46:10.200" Score="11" ViewCount="145" Body="&lt;p&gt;Say that a function $f$ is a RAMSEY COLORING if on unary input $n$, it returns a complete graph on $n$ vertices with its edges colored red and blue without a monochromatic clique of size $10\log n$.&#xA;The big open problem is to prove or disprove that there is an $f\in$ RAMSEY COLORING such that $f\in FP$.&#xA;Is there anything known about smaller complexity classes, like an $f\in$ RAMSEY COLORING such that $f\in NC$ or $f\in LOGSPACE$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I suppose $LOGSPACE$ is out of reach, but $f\notin AC_0$ seems to be trivial.&lt;/p&gt;&#xA;" OwnerUserId="419" LastEditorUserId="186" LastEditDate="2014-08-04T17:56:33.783" LastActivityDate="2014-08-04T17:56:33.783" Title="Is RAMSEY COLORING in $NC$?" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;ramsey-theory&gt;" AnswerCount="0" CommentCount="2" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="25423" PostTypeId="1" AcceptedAnswerId="25434" CreationDate="2014-08-03T03:58:05.137" Score="11" ViewCount="686" Body="&lt;p&gt;In Advanced Topics in Types and Programming Languages it is mentioned, in the chapter on sub-structural type systems, that a &quot;carefully crafted&quot; affine lambda calculus with a recursion combinator for lists can only type terms which have polynomial running time (it does not present the proof due to complexity). This would be super interesting if we could also solve every problem in P. I could try to find a solution to a P-complete problem using the calculus presented by I'm not sure this would actually prove anything. It doesn't seem to me to mean that it can preform all the reductions necessary to use a solution to a P-complete problem (although it sure does seem likely).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If an affine lambda calculus is not known to be able to solve exactly the problems in P, is there any known calculus that can solve exactly the problems in P?&lt;/p&gt;&#xA;" OwnerUserId="21112" LastEditorUserId="20716" LastEditDate="2014-08-04T08:44:52.860" LastActivityDate="2014-08-28T08:21:46.497" Title="Can affine lambda calculus solve every problem in P?" Tags="&lt;cc.complexity-theory&gt;&lt;type-theory&gt;&lt;lambda-calculus&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="25424" PostTypeId="1" AcceptedAnswerId="25425" CreationDate="2014-08-03T05:46:11.413" Score="2" ViewCount="321" Body="&lt;p&gt;The &quot;Half Or Triple Plus One&quot; process goes as follows:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;ol&gt;&#xA;  &lt;li&gt;start with $x=n$ for some value of $n$&lt;/li&gt;&#xA;  &lt;li&gt;&lt;p&gt;if ($x$ is odd)&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;$x = 3x+1$&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;else&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;$x = \frac{x}{2}$&lt;/p&gt;&lt;/li&gt;&#xA;  &lt;li&gt;&lt;p&gt;if ($x$ &gt; 1) goto (2)&lt;/p&gt;&lt;/li&gt;&#xA;  &lt;/ol&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Define $f(n) = $ &lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;total stopping time of $n$, i.e. The number of steps required for the procedure to halt.&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;The &lt;a href=&quot;http://en.wikipedia.org/wiki/Collatz_conjecture&quot; rel=&quot;nofollow&quot;&gt;Collatz conjecture&lt;/a&gt; suggests that the process stops for every value of $n$, hence if the conjecture holds, $f$ is well defined.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;The question is:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;What is the asymptotic time complexity of calculating $f(n)$?&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="20186" LastEditorUserId="6959" LastEditDate="2014-08-03T11:11:54.407" LastActivityDate="2014-08-08T06:37:52.210" Title="What is the asymptotic time complexity of the number of steps of &quot;Half Or Triple Plus One&quot; ( HOTPO)?" Tags="&lt;time-complexity&gt;&lt;open-problem&gt;" AnswerCount="2" CommentCount="7" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="25425" PostTypeId="2" ParentId="25424" CreationDate="2014-08-03T09:44:53.333" Score="7" Body="&lt;p&gt;First, as the conjecture is still open, we can't say if $f$ is even defined for every $n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let's assume that if $f(n)=\infty$, then the algorithm is required to output $-1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In 1972 &lt;a href=&quot;http://www.ams.org/mathscinet/pdf/392904.pdf?pg1=MR&amp;amp;r=1&amp;amp;s1=392904&quot; rel=&quot;nofollow&quot;&gt;Conway showed&lt;/a&gt; that a generalization of the problem of determining whether $f(n)= \infty$ is undecidable. In particular, no algorithm can always determine, on input $n$ and sequences $(a_i)_{i=0}^{p-1}$, $(b_i)_{i=0}^{p-1}$, whether the process that starts with $x = n$ and iteratively maps $x$ to $a_ix + b_i$ whenever $x \equiv i \pmod{p}$ terminates at 1 in finite time. Here the $a_i$  and $b_i$ are assumed to be chosen so that the results are always integers. This result isn't necessarily applicable for the Collatz function, which presents only one fixed choice of $a_i$ and $b_i$ and leaves only $n$ as a variable.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Side note: The &lt;a href=&quot;http://oeis.org/A006877&quot; rel=&quot;nofollow&quot;&gt;A006877&lt;/a&gt; series in &lt;a href=&quot;http://oeis.org/&quot; rel=&quot;nofollow&quot;&gt;http://oeis.org/&lt;/a&gt; contains the values of $n$ for which $\forall m&amp;lt;n:f(m)&amp;lt;f(n)$.&lt;/p&gt;&#xA;" OwnerUserId="21001" LastEditorUserId="4896" LastEditDate="2014-08-08T06:37:52.210" LastActivityDate="2014-08-08T06:37:52.210" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="25427" PostTypeId="1" AcceptedAnswerId="25481" CreationDate="2014-08-03T15:36:14.917" Score="10" ViewCount="702" Body="&lt;p&gt;I'm interested in the following problem.  We're given as input a &quot;target permutation&quot; $\sigma\in S_n$, as well as an ordered list of indices $i_1,\ldots,i_m\in [n-1]$.  Then, starting with the list $L=(1,2,\ldots,n)$ (i.e., the identity permutation), at each time step $t\in [m]$ we swap the $i_t^{th}$ element in $L$ with the $(i_t+1)^{st}$ element, with independent probability $1/2$.  Let $p$ be the probability that $\sigma$ is produced as output.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'd like to know (any of) the following:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Is deciding whether $p&amp;gt;0$ an $NP$-complete problem?&lt;/li&gt;&#xA;&lt;li&gt;Is calculating $p$ exactly $\#P$-complete?&lt;/li&gt;&#xA;&lt;li&gt;What can we say about approximating $p$ to within a multiplicative constant?  Is there a PTAS for this?&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The variant where the swaps don't need to be of adjacent elements is also of interest.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that it's not hard to reduce this problem to edge-disjoint paths (or to integer-valued multicommodity flow); what I don't know is a reduction in the other direction.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;b&gt;Update:&lt;/b&gt; OK, checking Garey &amp;amp; Johnson, their problem [MS6] (&quot;Permutation Generation&quot;) is as follows.  Given as input a target permutation $\sigma\in S_n$, together with subsets $S_1,\ldots,S_m\in [n]$, decide whether $\sigma$ is expressible as a product $\tau_1 \cdots \tau_m$, where each $\tau_i$ acts trivially on all indices not in $S_i$.  &lt;a href=&quot;http://epubs.siam.org/doi/pdf/10.1137/0601025&quot;&gt;Garey, Johnson, Miller, and Papadimitriou&lt;/a&gt; (behind a paywall, unfortunately) prove that this problem is $NP$-hard.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;i&gt;If&lt;/i&gt; the swaps don't need to be adjacent, then I believe this implies that deciding whether $p&amp;gt;0$ is also $NP$-hard.  The reduction is simply this: for each $S_1,S_2,\ldots$ in order, we'll offer a set of &quot;candidate swaps&quot; that corresponds to a complete sorting network on $S_i$ (i.e., capable of permuting $S_i$ arbitrarily, while acting trivially on everything else).  Then $\sigma$ will be expressible as $\tau_1 \cdots \tau_m$, if and only if it's reachable as a product of these swaps.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This still leaves open the &quot;original&quot; version (where the swaps are of adjacent elements only).  For the counting version (with arbitrary swaps), it of course strongly suggests that the problem should be $\#P$-complete.  In any case, it rules out a PTAS unless $P=NP$.&lt;/p&gt;&#xA;" OwnerUserId="1575" LastEditorUserId="1575" LastEditDate="2014-08-03T16:11:57.163" LastActivityDate="2014-08-09T03:42:21.893" Title="Probability of generating a desired permutation by random swaps" Tags="&lt;np-hardness&gt;&lt;counting-complexity&gt;&lt;permutations&gt;&lt;sorting-network&gt;&lt;disjoint-paths&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="25428" PostTypeId="2" ParentId="19054" CreationDate="2014-08-03T18:26:16.923" Score="2" Body="&lt;p&gt;Check the following survey:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Marie-Christine Costa, Lucas Létocart, and Frédéric Roupin, &quot;&lt;a href=&quot;https://www-lipn.univ-paris13.fr/~letocart/SURVEY.pdf&quot; rel=&quot;nofollow&quot;&gt;Multicut and integral multiflow: a survey&lt;/a&gt;&quot;, 2005&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;You can also check &lt;a href=&quot;http://www.ime.usp.br/~juanguti/multicorte/&quot; rel=&quot;nofollow&quot;&gt;my dissertation&lt;/a&gt; on the directed case.&lt;/p&gt;&#xA;" OwnerUserId="16328" LastEditorUserId="186" LastEditDate="2014-08-04T16:47:04.123" LastActivityDate="2014-08-04T16:47:04.123" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="25430" PostTypeId="1" CreationDate="2014-08-03T20:30:05.777" Score="1" ViewCount="103" Body="&lt;p&gt;I have a point cloud that I would like to convert to a surface, in the form of a wireframe lattice structure.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This means, from a sequence of 3D points &lt;em&gt;(x,y,z)&lt;/em&gt;, obtaining three 2D matrices &lt;em&gt;X,Y,Z&lt;/em&gt; of the same size. In this way the points should be topologically related with a neighborhood of 4 (North, South, East, West). Such an organization of the points might, then, be plotted with functions such as &lt;em&gt;matplotlib&lt;/em&gt;'s &lt;a href=&quot;http://matplotlib.org/mpl_toolkits/mplot3d/tutorial.html#wireframe-plots&quot; rel=&quot;nofollow&quot;&gt;&lt;code&gt;Axes3D.plot_wireframe&lt;/code&gt;&lt;/a&gt; or &lt;a href=&quot;http://matplotlib.org/mpl_toolkits/mplot3d/tutorial.html#mpl_toolkits.mplot3d.Axes3D.plot_surface&quot; rel=&quot;nofollow&quot;&gt;&lt;code&gt;Axes3D.plot_surface&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;From what I understood, the relationship of a point with the neighboring points is characterized by having minimal distance. I think that this is a combinatorial optimization problem, and NP-hard.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now the question: are there algorithms that, given a list of 3D points, return the three aforementioned matrices X,Y,Z ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thank you very much. I also hope this is the correct stack exchange forum for this kind of question.&lt;/p&gt;&#xA;" OwnerUserId="18144" LastEditorUserId="186" LastEditDate="2014-08-04T16:40:47.250" LastActivityDate="2014-08-04T16:40:47.250" Title="Is there an algorithm that, given a point cloud, infers an optimal wireframe (surface) structure?" Tags="&lt;ds.algorithms&gt;&lt;cg.comp-geom&gt;" AnswerCount="0" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="25431" PostTypeId="1" AcceptedAnswerId="25441" CreationDate="2014-08-04T03:34:29.237" Score="19" ViewCount="1216" Body="&lt;p&gt;I thought about this problem a long time ago, but have no ideas about it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The generating algorithm is as follows. We assume there are $n$ discrete nodes numbered from $0$ to $n - 1$. Then for each $i$ in $\{1, \dotsc, n - 1\}$, we make the $i$th node's parent in the tree be a random node in $\{0, \dotsc, i - 1\}$. Iterate through each $i$ in order so that the result is a random tree with root node $0$. (Perhaps this is not random enough but this doesn't matter.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is the expected depth of this tree?&lt;/p&gt;&#xA;" OwnerUserId="21433" LastEditorUserId="4193" LastEditDate="2014-08-06T21:11:43.293" LastActivityDate="2018-06-25T15:24:43.393" Title="What is the expected depth of a randomly generated tree?" Tags="&lt;pr.probability&gt;" AnswerCount="3" CommentCount="3" FavoriteCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="25432" PostTypeId="1" AcceptedAnswerId="25433" CreationDate="2014-08-04T05:50:35.537" Score="13" ViewCount="4487" Body="&lt;p&gt;Do you know of any problems (preferably at least somewhat well known), where, &lt;em&gt;for a practical problem size&lt;/em&gt;, an exponential algorithm runs much faster than a best-known polynomial time counterpart.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, suppose a problem has a practical size* of $n = 100$ and there are two known algorithms: One is $2^n$ and the other is $n^c$ for some constant $c$. Clearly for any $c &amp;gt; 15$, the exponential algorithm is preferred.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;*I guess practical size would mean something commonly found in the real world. Like the number of trains on a network.&lt;/p&gt;&#xA;" OwnerUserId="26820" LastActivityDate="2014-08-11T17:07:34.897" Title="Examples of problems where exponential algorithms run faster than polynomial algorithms for practical sizes?" Tags="&lt;time-complexity&gt;&lt;polynomial-time&gt;&lt;exp-time-algorithms&gt;" AnswerCount="3" CommentCount="2" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="25433" PostTypeId="2" ParentId="25432" CreationDate="2014-08-04T06:11:14.950" Score="13" Body="&lt;p&gt;How bout the simplex algorithm for linear programming?&#xA;In many occasions &lt;a href=&quot;http://en.wikipedia.org/wiki/Simplex_algorithm#Efficiency&quot; rel=&quot;noreferrer&quot;&gt;it is used&lt;/a&gt; in practice.&lt;/p&gt;&#xA;&lt;p&gt;Edited to add:&#xA;I think it's more of a &amp;quot;worse-case exponential algorithm&amp;quot; which runs efficiently on practical &lt;strong&gt;instances/distributions&lt;/strong&gt; rather than runs faster on practical &lt;strong&gt;sized&lt;/strong&gt; adversarial instances.&lt;/p&gt;&#xA;" OwnerUserId="21001" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2014-08-10T22:57:15.063" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="25434" PostTypeId="2" ParentId="25423" CreationDate="2014-08-04T07:19:52.850" Score="12" Body="&lt;p&gt;&lt;strong&gt;Edit:&lt;/strong&gt; my guess in the first paragraph below is wrong!  Ugo Dal Lago pointed out to me a later paper by Martin Hofmann (appeared in POPL 2002), of which I was unaware, showing (as a corollary of more general results) that the system from the ATTPL book is in fact complete for $\mathsf P$ (in spite of not being able to compute every function in $\mathsf{FP}$).  So, to my surprise, the answer to the main question is yes.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Concerning the system you are referring to (from the ATTPL book), I am pretty sure it &lt;em&gt;cannot&lt;/em&gt; decide every language in $\mathsf P$.  It certainly cannot compute every function in $\mathsf{FP}$: as mentioned in the notes of that chapter, that system is taken from Martin Hofmann's LICS 1999 paper (&quot;Linear types and non-size-increasing polynomial time computation&quot;), in which it is shown that the representable functions are polytime and &lt;em&gt;non-size-increasing&lt;/em&gt;, which excludes lots of polytime functions.  It also seems to give a serious limitation on the size of the tape of the Turing machines you can simulate in that language.  In the paper, Hofmann shows that you can encode linear space computation; my guess is that you will not be able to do much more, &lt;em&gt;i.e.&lt;/em&gt;, the class corresponding to that system is roughly the problems solvable simultaneously in polytime and linear space.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Concerning your second question, there are several $\lambda$-calculi that can solve exactly the problems in $\mathsf P$. Some of them are mentioned in the notes of the ATTPL chapter you are referring to (Sect. 1.6): Leivant's tiered $\lambda$-calculus (see his POPL 1993 paper, or the paper with Jean-Yves Marion &quot;Lambda Calculus Characterizations of Poly-Time&quot;, &lt;em&gt;Fundamenta Informaticae&lt;/em&gt; 19(1/2):167-184, 1993), which is related to Bellantoni and Cook's characterization of $\mathsf{FP}$; and the $\lambda$-calculi derived from Girard's light linear logic (&lt;em&gt;Information and Computation&lt;/em&gt;, 143:175–204, 1998) or from Lafont's soft linear logic (&lt;em&gt;Theoretical Computer Science&lt;/em&gt; 318(1-2):163-180, 2004). Type systems arising from these latter two logical systems and ensuring polytime termination (while still enjoying completeness) may be found in:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Patrick Baillot, Kazushige Terui. Light types for polynomial time computation in lambda calculus. &lt;em&gt;Information and Computation&lt;/em&gt; 207(1):41-62, 2009.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Marco Gaboardi, Simona Ronchi Della Rocca. From light logics to type assignments: a case study. &lt;em&gt;Logic Journal of the IGPL&lt;/em&gt; 17(5):499-530, 2009.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You'll find lots of other references in those two papers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To conclude, let me expand on Neel Krishnaswami's remark.  The situation is a bit subtle.  All of the above $\lambda$-calculi may be seen as restrictions of more general calculi, in which you can compute much more than just the polytime functions, say for example system F.  In other words, you define a property $\Phi$ of system F programs $P:\texttt{string}\rightarrow\texttt{bool}$ such that:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;soundness:&lt;/strong&gt; $\Phi(P)$ implies that the language decided by $P$ is in $\mathsf P$;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;completeness:&lt;/strong&gt; for every $L\in\mathsf P$, there is a system F program $P$ deciding $L$ such that $\Phi(P)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The interest is that the property expressed by $\Phi$ is purely syntactic and, in particular, decidable.  Therefore, completeness can only hold in an extensional sense: if $L$ is your favorite language in $\mathsf P$ and if $P$ is your favorite algorithm for deciding $L$ expressed in system F, it may be that $\Phi(P)$ does not hold. All you know is that there is some other system F program $P'$ deciding $L$ and such that $\Phi(P')$ holds.  Unfortunately, it may happen that $P'$ is much more contrived than your $P$.  Indeed, completeness is proved by encoding polynomially-clocked Turing machines as system F terms satisfying $\Phi$. Therefore, the only guaranteed way of solving $L$ using your favorite algorithm is implementing that algorithm on a Turing machine and then translating it in system F using the encoding given in the completeness proof (your own encoding may not work!).  Not exactly the most elegant solution in terms of programming...  Of course, in many cases the &quot;natural&quot; program $P$ does satisfy $\Phi$.  However, in many other cases it does not: in the LICS 1999 paper mentioned above, Hofmann gives insertion sort as an example.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Intentionally complete&lt;/em&gt; type systems, which are able to type &lt;em&gt;exactly&lt;/em&gt; the polytime programs of the wider language (system F in my example above) do exist.  Of course, they are undecidable in general.  See&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Ugo Dal Lago, Marco Gaboardi. Linear Dependent Types and Relative Completeness. &lt;em&gt;Logical Methods in Computer Science&lt;/em&gt; 8(4), 2011.&lt;/p&gt;&#xA;" OwnerUserId="20716" LastEditorUserId="20716" LastEditDate="2014-08-28T08:21:46.497" LastActivityDate="2014-08-28T08:21:46.497" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="25436" PostTypeId="2" ParentId="25432" CreationDate="2014-08-04T15:31:04.120" Score="-3" Body="&lt;p&gt;There are some examples with (nonprobabilistic/ exact) &lt;a href=&quot;http://en.wikipedia.org/wiki/Primality_test&quot; rel=&quot;nofollow noreferrer&quot;&gt;primality detection/ testing&lt;/a&gt;. The &lt;a href=&quot;http://en.wikipedia.org/wiki/AKS_primality_test&quot; rel=&quot;nofollow noreferrer&quot;&gt;AKS algorithm&lt;/a&gt; was the first algorithm for primality testing shown to be in P. It does not compete favorably versus some exponential time algorithms for &quot;small&quot; inputs. The details are somewhat tricky because showing this generally requires actually implementing the algorithms which is a challenging exercise and can depend on implementation-specific aspects.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More info/details/refs on this cs.se question:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://cs.stackexchange.com/questions/23260/when-is-the-aks-primality-test-actually-faster-than-other-tests&quot;&gt;When is the AKS primality test actually faster than other tests?&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="-1" LastEditDate="2017-04-13T12:48:30.830" LastActivityDate="2014-08-04T16:24:17.653" CommentCount="12" ContentLicense="CC BY-SA 3.0" />
  <row Id="25438" PostTypeId="2" ParentId="25431" CreationDate="2014-08-04T17:19:55.323" Score="2" Body="&lt;p&gt;I have actually thought about the same question (although in a completely different formulation) a few months ago, as well as some close variants.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I don't have a closed form (/ asymptotic) solution for it, but you might find this view useful (are you only looking for upper bound perhaps?).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The process you describe here is a generalization of the &lt;a href=&quot;http://en.wikipedia.org/wiki/Chinese_restaurant_process&quot; rel=&quot;nofollow&quot;&gt;Chinese Restaurant Process&lt;/a&gt;, where each &quot;table&quot; is a subtree whose root's parent is $v_0$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This also gives us a recursion formula for your question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Denote by $h(n)$ the expected heights of a such tree process with $n$ nodes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Denote by $P_n(B)=\frac{\Pi_{b\in B} (b-1)!}{n!}$ (the probability of distribution $B$ of the nodes into subtrees).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then the quantity you're looking for, $h(n)$, is given by:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$h(n)=\sum_{B\in \mathcal B_n}P_n(B)\cdot \max_{b\in B} h(b)$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you wish to code this recursion, make sure you use the following so it won't go into infinite loop:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$h(n)=\frac{\sum_{B\in \mathcal B_n\setminus \{\{n\}\}}P_n(B)\cdot \max_{b\in B} h(b)}{1-\frac{1}{n!}}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Where $\mathcal B_n$ is the set of all partitions of $n$ identical balls into any number of non-empty bins, and $h(1)=1$.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;In practice, when I needed this I just used a simple monte-carlo method for estimating $h(n)$, as trying to actually compute $h$ by this method is extremely inefficient.&lt;/p&gt;&#xA;" OwnerUserId="21001" LastEditorUserId="21001" LastEditDate="2014-08-04T18:48:14.647" LastActivityDate="2014-08-04T18:48:14.647" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="25441" PostTypeId="2" ParentId="25431" CreationDate="2014-08-05T05:21:14.447" Score="15" Body="&lt;p&gt;I think there is a concentration result about $e \log n$, but I haven't filled in the details yet.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We can get an upper bound for the probability that node $n$ has $d$ ancestors not including $0$. For each possible complete chain of $d$ nonzero ancestors $(a_1,a_2,...,a_d)$, the probability of that chain is $(\frac{1}{a_1})(\frac{1}{a_2})\cdots (\frac{1}{a_d}) \times \frac{1}{n}$. This corresponds to $\frac{1}{n}$ times a term of $(1+\frac{1}{2} + \frac{1}{3}+ \cdots \frac{1}{n-1})^d$ where the terms are ordered. So, an upper bound for this probability is $\frac{1}{n (d!)} H_{n-1}^d$ where $H_{n-1}$ is the $n-1$st harmonic number $1 + \frac{1}{2} + ... + \frac{1}{n-1}$. $H_{n-1} \approx \log (n-1) + \gamma$. For fixed $d$ and $n \to \infty$, the probability that node $n$ is at depth $d+1$ is at most &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\frac{(\log n)^d}{n (d!)} \left(1+o(1)\right)$$ &lt;/p&gt;&#xA;&#xA;&lt;p&gt;By Stirling's approximation we can estimate this as&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$ \frac{1}{n\sqrt{2\pi d}} \left( \frac{e \log n}{d} \right)^d. $$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For large $d$, anything much larger than $e \log n$, the base of the exponential is small, so this bound is small, and we can use the union bound to say that the probability that there is at least one node with $d$ nonzero ancestors is small. &lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;See &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://arxiv.org/abs/1210.7168&quot; rel=&quot;nofollow noreferrer&quot;&gt;Luc Devroye, Omar Fawzi, Nicolas Fraiman. &quot;Depth properties of scaled attachment random recursive trees.&quot;&lt;/a&gt; &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://doi.org/10.1002/rsa.3240050207&quot; rel=&quot;nofollow noreferrer&quot;&gt;B. Pittel. Note on the heights of random recursive trees and random m-ary search trees.&#xA;Random Structures and Algorithms, 5:337–348, 1994.&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The former claims the latter showed the the maximum depth is $(e+o(1))\log n$ with high probability, and offers another proof.&lt;/p&gt;&#xA;" OwnerUserId="26831" LastEditorUserId="8237" LastEditDate="2018-06-24T02:43:15.650" LastActivityDate="2018-06-24T02:43:15.650" CommentCount="1" ContentLicense="CC BY-SA 4.0" />
  <row Id="25442" PostTypeId="1" CreationDate="2014-08-05T07:14:26.030" Score="4" ViewCount="314" Body="&lt;p&gt;The only algorithm I have seen to compute a stable matching is the one by Gale an Shapley. Is there any other algorithm to compute a stable matching?&lt;/p&gt;&#xA;" OwnerUserId="1839" LastActivityDate="2014-08-07T11:47:55.303" Title="Another algorithm for stable matching?" Tags="&lt;matching&gt;&lt;stable&gt;" AnswerCount="3" CommentCount="2" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="25443" PostTypeId="1" CreationDate="2014-08-05T07:35:12.243" Score="3" ViewCount="345" Body="&lt;p&gt;In the well studied problem of Hamiltonicity, several papers/theorems gave sufficient &quot;degree conditions&quot; for the existence of Hamiltonian path in a graph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;These include:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Dirac%27s_theorem_on_Hamiltonian_cycles#Bondy.E2.80.93Chv.C3.A1tal_theorem&quot; rel=&quot;nofollow&quot;&gt;Dirac's theorem&lt;/a&gt; , 1952, which states that &quot;A simple (undirected) graph with $n$ vertices ($n \geq 3$) is Hamiltonian if every vertex has degree $\frac{n}{2}$ or greater&quot;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Ghouila-Houiri 's theorem, (&quot;Une condition suffisante d’existence d'un circuit hamiltonien&quot;,1960), which generalized Dirac's result to directed graphs, showing that if $\delta^+(G),\delta^-(G) \geq \frac{n}{2}$ then G is Hamiltonian, where $\delta^+(G)$ is the minimal out degree in $G$, and by $\delta^-(G)$ the minimal in-degree.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;A theorem from &lt;a href=&quot;http://www.springer.com/new+&amp;amp;+forthcoming+titles+%28default%29/book/978-1-84800-997-4&quot; rel=&quot;nofollow&quot;&gt;Bang-Jensen and Gutin's book&lt;/a&gt; gave a stronger result, which imply that if $\forall v\in V: d_{in}(v)+d_{out}(v)\geq n$ then the graph is Hamiltonian.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;The $k$-path problem is a simple generalization of Hamiltonicity asking whether a simple path on $k$ nodes exist in a graph.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;What would be the weakest sufficient &quot;degree conditions&quot; from a graph such that it is bound to contain a $k$-path?&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="21001" LastEditorUserId="21001" LastEditDate="2014-08-05T11:22:25.480" LastActivityDate="2014-08-05T21:02:38.627" Title="Is there a known extension of Dirac's / Ghoulia-Houri's theorems for $k$-path existence?" Tags="&lt;graph-theory&gt;&lt;hamiltonian-paths&gt;" AnswerCount="1" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="25444" PostTypeId="1" CreationDate="2014-08-05T09:22:01.067" Score="3" ViewCount="168" Body="&lt;p&gt;Let $s\in\Sigma^*$ be a string, for some alphabet $\Sigma$.&#xA;We want to find the most frequent repeated substring $q$ of $s$ such that its first character equals its last one, i.e. the most frequent repeated substring of type $q=aXa$ for $a\in\Sigma, X\in \Sigma^*$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can we solve this problem with standard techniques ? I'm thinking about suffix-trees here. What is the most efficient algorithm for this problem ?&lt;/p&gt;&#xA;" OwnerUserId="20792" LastActivityDate="2014-09-05T14:48:17.403" Title="Most frequent $aXa$ substring" Tags="&lt;ds.algorithms&gt;&lt;string-matching&gt;" AnswerCount="2" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25445" PostTypeId="2" ParentId="25444" CreationDate="2014-08-05T10:43:01.117" Score="1" Body="&lt;p&gt;Yes, you can solve the problem using standard techniques. However, the question may easily be homework, so here is just a hint:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You never need to consider words of the form $aXaYa$, as they cannot be the only most frequent ones.&lt;/p&gt;&#xA;" OwnerUserId="16000" LastActivityDate="2014-08-05T10:43:01.117" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="25446" PostTypeId="1" AcceptedAnswerId="25453" CreationDate="2014-08-05T15:41:11.533" Score="3" ViewCount="224" Body="&lt;p&gt;&lt;a href=&quot;http://gc83.perso.sfr.fr/M2/harrison-real.pdf&quot; rel=&quot;nofollow&quot;&gt;By a famous theorem of Tarski&lt;/a&gt;, &lt;a href=&quot;https://en.wikipedia.org/wiki/Real_closed_field#Model_theory:_decidability_and_quantifier_elimination&quot; rel=&quot;nofollow&quot;&gt;the first-order theory of real closed fields is decidable, as it admits quantifier elimination&lt;/a&gt;. Can this result be extended so that propositions can be quantified over functions on real numbers? That is, I know that there is a decision procedure for statements like&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\exists x \in \mathbb{R} ,\forall y \in \mathbb{R}, \exists z \in \mathbb{R}, x +y = zy$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'd like to know if there is a decision procedure for statements like&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\forall f \in \mathbb{R} \to \mathbb{R}, \exists g \in \mathbb{R} \to \mathbb{R}, \forall z \in \mathbb{R}, f(g(z)) = g(f(z)) = z$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Undecidability results would be just as interesting!&lt;/p&gt;&#xA;" OwnerUserId="43" LastEditorUserId="186" LastEditDate="2014-08-05T15:56:14.677" LastActivityDate="2014-08-06T02:14:06.510" Title="Decidability of first-order theory of real closed fields with functions" Tags="&lt;lo.logic&gt;&lt;computability&gt;&lt;decidability&gt;&lt;model-theory&gt;" AnswerCount="1" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="25447" PostTypeId="1" CreationDate="2014-08-05T16:26:53.407" Score="2" ViewCount="84" Body="&lt;p&gt;Let $f:2^V \rightarrow \mathbb{R}$ be a set function over $V$ that satisfies the following:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;$f(A \cap B) + f(A \cup B) \le f(A) + f(B)$&lt;/li&gt;&#xA;&lt;li&gt;$f(A \backslash B) + f(B \backslash A) \le f(A) + f(B)$.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Here are the questions:&lt;/p&gt;&#xA;  &#xA;  &lt;ol&gt;&#xA;  &lt;li&gt;Cut function $c(\delta(\cdot))$ is known to satisfy both 1) and 2). Is there any other natural example of function satisfying both ?&lt;/li&gt;&#xA;  &lt;li&gt;If $f$ satisfies 1), then we say $f$ is submodular. But is there a name for the property of function satisfying both 1) and 2) ? Or only 2) ?&lt;/li&gt;&#xA;  &lt;/ol&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="12646" LastEditorUserId="12646" LastEditDate="2014-08-05T18:33:24.770" LastActivityDate="2014-08-05T18:33:24.770" Title="Name for the &quot;stronger submodularity&quot; property in cut function" Tags="&lt;co.combinatorics&gt;&lt;submodularity&gt;" AnswerCount="0" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="25449" PostTypeId="2" ParentId="25443" CreationDate="2014-08-05T21:02:38.627" Score="1" Body="&lt;p&gt;I don't know about the weakest possible conditions, but if a graph has a subgraph with minimum degree $k-1$ (that is, if its &lt;a href=&quot;https://en.wikipedia.org/wiki/Degeneracy_(graph_theory)&quot; rel=&quot;nofollow&quot;&gt;degeneracy&lt;/a&gt; is at least $k-1$) then a greedy algorithm can easily find a path of $k$ nodes starting at any node. The example of $K_{k-1}$, which has no $k$-path and has minimum degree $k-2$, shows that this is tight.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2014-08-05T21:02:38.627" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="25450" PostTypeId="2" ParentId="25424" CreationDate="2014-08-05T22:45:54.387" Score="9" Body="&lt;p&gt;By request, two facts that are known and seem somewhat related to your question.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;As a lower bound: infinitely many integers $n$ take time $\Omega(\log n)$. &lt;a href=&quot;http://www.ams.org/journals/mcom/2003-72-242/S0025-5718-02-01425-4/home.html&quot;&gt;Applegate and Lagarias&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;As a sort of an upper bound: $\Omega(N^c)$ positive integers bounded by $N$ reach $1$ in finite time, where $c \approx 0.84$. &lt;a href=&quot;http://journals.impan.pl/cgi-bin/doi?aa109-3-4&quot;&gt;Krasikov and Lagarias&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Hopefully you have read &lt;a href=&quot;http://www.ams.org/bookstore/pspdf/mbk-78-prev.pdf&quot;&gt;Lagarias's survey&lt;/a&gt; before asking the question. &lt;/p&gt;&#xA;" OwnerUserId="4896" LastActivityDate="2014-08-05T22:45:54.387" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25453" PostTypeId="2" ParentId="25446" CreationDate="2014-08-06T02:14:06.510" Score="5" Body="&lt;p&gt;It's undecidable because we can interpret natural numbers (with addition and multiplication).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, let $Ind(f)$ be the formula:&#xA;$$f(0)=1 \land \forall x \ \big(f(x)=1 \to f(x+1)=1\big)$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now we can define the characteristic function of the set of natural numbers using its universality property as a minimal inductive function:&#xA;$$Ind(h) \land \forall f \ \big(Ind(f) \to \forall x \ (f(x)=0 \to h(x)=0)\big)$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(As Emil wrote in his comment we don't even need the language of RCF, we can pick an arbitrary member of the structure as $0$, define a successor function as an injective function whose range lacks our $0$, and then define natural numbers using them. So the undeciability result applies to the second-order language of any infinite structure.)&lt;/p&gt;&#xA;" OwnerUserId="186" LastActivityDate="2014-08-06T02:14:06.510" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25454" PostTypeId="2" ParentId="5659" CreationDate="2014-08-06T03:42:35.443" Score="1" Body="&lt;p&gt;A &lt;em&gt;k&lt;/em&gt;-flow on an undirected graph &lt;em&gt;G&lt;/em&gt; is a directed graph derived by replacing each edge in &lt;em&gt;G&lt;/em&gt; with an arc and assigning it an integer between &lt;em&gt;-k&lt;/em&gt; and &lt;em&gt;k&lt;/em&gt;, exclusive, such that, for each vertex in G, the sum of the integers assigned to arcs pointing into that vertex is equal to the sum of the integers assigned to arcs pointing out. A NWZ (nowhere zero) &lt;em&gt;k&lt;/em&gt;-flow is a &lt;em&gt;k&lt;/em&gt;-flow in which no arc has been assigned the number 0.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For any planar graph &lt;em&gt;G&lt;/em&gt;, the dual of &lt;em&gt;G&lt;/em&gt; is the graph that contains one vertex for each face in a planar embedding of &lt;em&gt;G&lt;/em&gt;, and two vertices in a dual share one edge connecting them for every edge that the corresponding faces in &lt;em&gt;G&lt;/em&gt; share between them in their boundaries. According to Tutte's Flow-Colouring Duality Theorem, a planar graph with no isthmus (i.e. edge whose deletion would increase the number of components) has a NWZ &lt;em&gt;k&lt;/em&gt;-flow if and only if its dual is &lt;em&gt;k&lt;/em&gt;-colourable. In other words, a planar graph is 4-colourable if and only if its dual has a NWZ 4-flow.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that 4CT requires the planar graph in question to have no loops (edges connecting any vertex to itself) because any graph with a loop cannot be vertex-coloured with any set of colours, since any vertex with a loop would therefore be adjacent to a vertex of the same colour, regardless of its colour.&lt;/p&gt;&#xA;" OwnerUserId="26845" LastActivityDate="2014-08-06T03:42:35.443" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25456" PostTypeId="1" CreationDate="2014-08-06T12:04:36.913" Score="0" ViewCount="108" Body="&lt;p&gt;I have a linear problem with a sparse, psd and strictly diagonally dominant matrix. Can you please point me to some known best solvers (in terms of runtime, or easy to be practically optimized for multicore and SIMD system)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Currently my direction was to try conjugate gradient method, and it seems to solve the problem in about 8-10 iterations (for specific use case), which is pretty good. However I wonder if there are other solvers that take the advantages of those characteristics even better. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Much thanks! &lt;/p&gt;&#xA;" OwnerUserId="1796" LastActivityDate="2014-08-06T12:04:36.913" Title="LP solver for sparse, PSD and strictly diagonally dominant matrix" Tags="&lt;optimization&gt;&lt;linear-programming&gt;&lt;convex-optimization&gt;&lt;sparse-matrix&gt;" AnswerCount="0" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="25459" PostTypeId="2" ParentId="25421" CreationDate="2014-08-06T14:04:45.317" Score="3" Body="&lt;p&gt;When you want to know about a specific problem, it is always good to start with reading a recent paper.  I recommend you to read this paper and the references therein.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://dl.acm.org/citation.cfm?id=1938550&quot; rel=&quot;nofollow&quot;&gt;Bolin Ding, Arnd Christian König: Fast Set Intersection in Memory. PVLDB 4(4): 255-266 (2011)&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="26853" LastActivityDate="2014-08-06T14:04:45.317" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="25460" PostTypeId="2" ParentId="25442" CreationDate="2014-08-06T14:12:46.413" Score="6" Body="&lt;p&gt;Yes, there is a polynomial-time algorithm to find any stable matching.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Understanding the algorithm requires you to study a &lt;em&gt;rotation poset&lt;/em&gt;.  One of the good materials to learn the rotation poset is this book.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://mitpress.mit.edu/books/stable-marriage-problem/&quot;&gt;Dan Gusfield, Robert W. Irving: The Stable marriage problem - structure and algorithms. Foundations of computing series, MIT Press 1989&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="26853" LastActivityDate="2014-08-06T14:12:46.413" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25461" PostTypeId="2" ParentId="9130" CreationDate="2014-08-06T18:40:07.230" Score="3" Body="&lt;p&gt;This model is used in the analysis of poker tournaments, where it is called the Independent Chip Model (ICM). When there are prizes for finishing second or lower, you have to estimate your equity from lower prizes, and these are quite significant at the final table or in single table tournaments. They can greatly distort the proper strategy, and professional single table tournament players study the amount of rational risk aversion according to the ICM. You can download my program for computing quantities related to the ICM equities from &lt;a href=&quot;http://www.icmexplorer.com&quot; rel=&quot;nofollow&quot;&gt;http://www.icmexplorer.com&lt;/a&gt;; the free version probably does all you want and more. If you enter the stacks and press the ICM button, you see the probability distribution for the caller according to the ICM. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;One way to describe the ICM is that you remove the chips from the table one by one, and players are knocked out when their last chip is eliminated. Another way to describe the ICM is that players finish first in proportion with their stacks, and then the winner's chips are removed. Then the second place finisher is determined in proportion with the remaining stacks, etc. It isn't obvious that these are the same, since the former description seems to require an integral chip count and isn't obviously scale-invariant. To see that these are the same, shuffle the chips together and rank players by their highest chips. If you reveal the chips from the bottom, you get the first description. If you reveal the chips from the top, you get the second description.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you rescale the stacks and use the second description, you get something close to James Martin's continuous version. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;There doesn't seem to be a very easy way to compute the probabilities, but there are a lot of improvements possible on the most naive approaches in case you need to calculate probabilities with more than 5 stacks. Jonathan Shewchuk's calculation is also what you get from one approach to dynamic programming. As Peter Shor observed, if there is some repetition in stack sizes, there are simplifications possible. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Anyway, for the first problem, there are two possibilities, red-yellow and yellow-red before green, ignoring white. These have probabilities $\frac{18}{32}\times\frac{12}{14}$ and $\frac{12}{32}\times \frac{18}{20}$, for a total of $\frac{459}{560} = 81.96\%.$&lt;/p&gt;&#xA;" OwnerUserId="26831" LastActivityDate="2014-08-06T18:40:07.230" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25462" PostTypeId="2" ParentId="25442" CreationDate="2014-08-07T01:58:34.650" Score="7" Body="&lt;p&gt;There is a totally different algorithm due to Subramanian which uses a fixed point approach. The first idea is to represent the knowledge that we have at any given point in time using &lt;em&gt;intervals&lt;/em&gt;, which represent which women each man is considering, and vice versa. Using ideas similar to Gale-Shapley, we keep shrinking the intervals. In contrast to Gale-Shapley, this algorithm is symmetric with respect to gender. Eventually a fixed point is reached, and we can read the man-optimal and woman-optimal matchings. Subramanian found a neat way to implement this using three-valued logic and comparator networks. Check out for example &lt;a href=&quot;http://arxiv.org/abs/1208.2721&quot;&gt;this paper&lt;/a&gt;.&#xA;Subramanian's approach was later elaborated by Feder.&lt;/p&gt;&#xA;" OwnerUserId="40" LastActivityDate="2014-08-07T01:58:34.650" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25463" PostTypeId="1" AcceptedAnswerId="25493" CreationDate="2014-08-07T09:38:53.977" Score="12" ViewCount="439" Body="&lt;p&gt;Let's say that a graph family $\mathcal{F}$ has &lt;em&gt;long induced paths&lt;/em&gt; if there is a constant $\epsilon &amp;gt; 0$ such that every graph $G$ in $\mathcal{F}$ contains an induced path on $|V(G)|^{\epsilon}$ vertices. I am interested in properties of graph families that ensure the existence of long induced paths. In particular, I am currently wondering whether constant-degree expanders have long induced paths. Here is what I know.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Random graphs with constant average degree (in the Erdős–Rényi model) have long (even linear-size) induced paths with high probability; see for example &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/009589569290021O&quot;&gt;Suen's article&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Unique-neighbor expander graphs (as defined by &lt;a href=&quot;http://www.cs.princeton.edu/~zdvir/expanders/Alon-Capalbo-Unique.pdf&quot;&gt;Alon and Copalbo&lt;/a&gt;) have large induced &lt;em&gt;trees&lt;/em&gt;. In fact, any maximal induced tree is large in such graphs.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Given these two facts I would expect that contant-degree expanders have long induced paths. However, I was unable to find any concrete results. Any insights are much appreciated.&lt;/p&gt;&#xA;" OwnerUserId="122" LastEditorUserId="122" LastEditDate="2014-08-07T12:21:54.567" LastActivityDate="2014-08-11T19:36:50.730" Title="Existence of long induced paths in expander graphs" Tags="&lt;graph-theory&gt;&lt;expanders&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="25465" PostTypeId="1" CreationDate="2014-08-07T10:56:50.630" Score="8" ViewCount="111" Body="&lt;p&gt;Given  &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;$n$ possible alternatives satisfying some unknown linear ordering,&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;a multiset of pairwise votes, i.e., a matrix $M\in\mathbb{N}^{n\times n}$:&#xA;$M_{i,j}$ counts the number of votes for which $i&amp;lt;j$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I am interested in computing the most likely maximum when we assume that all linear orders have same prior probability, and that each vote reflects the true ordering with probability $p&amp;gt;1/2$ independently.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;According to &lt;a href=&quot;http://www.jstor.org/stable/1961757&quot;&gt;Young, APSR'88: Condorcet's Theory of Voting&lt;/a&gt; it has long been known that  for $p$ close to $1/2$ it is the Borda Winner (hence easy to compute), whereas for high enough $p$ &lt;a href=&quot;http://ilpubs.stanford.edu:8090/1032/2/winner-long.pdf&quot;&gt;it has been shown&lt;/a&gt; that the most likely maximum is a Kemeny Winner (hence computing a candidate is $P^{NP[log]}$ complete).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;&lt;em&gt;My main question is&lt;/strong&gt;: what do we know for intermediate values of $p$? For instance, is there something like a dichotomy depending on $p$?&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A side question is whether the complexity of the max-likelihood problem could for some $p$ be lower when the input vote matrix is restricted to those obtained by combining the votes of several rankings  (or whether there are results &quot;of that kind&quot; in some other natural settings).&lt;/p&gt;&#xA;" OwnerUserId="20726" LastEditorUserId="20726" LastEditDate="2014-08-07T15:57:06.323" LastActivityDate="2014-08-07T15:57:06.323" Title="Computing the most likely winner in elections : intermediate case between Kemeny and Borda?" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;optimization&gt;" AnswerCount="0" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="25466" PostTypeId="1" AcceptedAnswerId="25468" CreationDate="2014-08-07T11:00:24.743" Score="7" ViewCount="2318" Body="&lt;p&gt;I've seen in multiple places stating that factoring is in BQP and referencing Shor's algorithm, but Shor's algorithm is not solving a decision problem. How can factoring be restated in a decision problem? And is there a paper which shows that Shor's algorithm implies this decision problem is in BQP?&lt;/p&gt;&#xA;" OwnerUserId="25551" LastEditorUserId="25551" LastEditDate="2014-08-07T11:33:03.243" LastActivityDate="2021-03-25T19:04:01.677" Title="Factoring as a decision problem" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;complexity-classes&gt;&lt;quantum-computing&gt;&lt;quantum-information&gt;" AnswerCount="4" CommentCount="2" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="25467" PostTypeId="2" ParentId="25466" CreationDate="2014-08-07T11:22:32.860" Score="-4" Body="&lt;p&gt;If I understand correctly, factoring can be encoded as SAT decision problem and then recover the actual solution. For unknown $x,y$ and given $N$, encode to SAT the problem $ x \cdot y = N, x &amp;gt; 1 , y &amp;gt; 1$. Basically all you need is an adder circuit and few gates. Call the resulting formula $\phi$. If $\phi$ is satisfiable, then $N$ is composite. Set the first bit of $x$ to $1$ and check if $\phi'$ is satisfiable. If it is, you guessed correctly and try with the second bit. Otherwise set it to $0$ and continue with the second bit. This is linear in the numbers of bits.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Actually in practice real SAT solvers will give you the complete&#xA;solution if it exists).&lt;/p&gt;&#xA;" OwnerUserId="22348" LastActivityDate="2014-08-07T11:22:32.860" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25468" PostTypeId="2" ParentId="25466" CreationDate="2014-08-07T11:23:58.523" Score="20" Body="&lt;p&gt;Here the goal is to construct a decision problem D so that (a) if you can factor you can solve the decision problem in polynomial time and (b) if you can solve the decision problem you can factor in polynomial time.   There are a number of ways to do this.  To name just two:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;D:  given n and k, does n have a divisor d satisfying 1 &amp;lt; d &amp;lt;= k?&lt;/li&gt;&#xA;&lt;li&gt;D:  given n and j, is the j'th bit of the smallest nonunit divisor of n equal to 1?&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;If you can solve 1, then you can identify d using binary search.  Once you have d, you can then continue with n/d until the complete factorization is achieved.  2 is similar.&lt;/p&gt;&#xA;" OwnerUserId="3227" LastEditorUserId="3227" LastEditDate="2021-03-25T19:04:01.677" LastActivityDate="2021-03-25T19:04:01.677" CommentCount="0" ContentLicense="CC BY-SA 4.0" />
  <row Id="25469" PostTypeId="2" ParentId="25442" CreationDate="2014-08-07T11:47:55.303" Score="4" Body="&lt;p&gt;There is also a small set of linear constraints that form a polytope whose extreme points are the stable matchings. This allows you to find a stable matching optimizing any linear objective using linear programming. See Vande-Vate 89 (&quot;&lt;a href=&quot;http://cgm.cs.mcgill.ca/~avis/courses/360/2013/ktlaerid/LP-bliss.pdf&quot; rel=&quot;nofollow&quot;&gt;Linear Programming Brings Marital Bliss&lt;/a&gt;&quot;), or Vohra 12 for a different treatment (&quot;&lt;a href=&quot;http://www.currentscience.ac.in/Volumes/103/09/1051.pdf&quot; rel=&quot;nofollow&quot;&gt;Stable Matchings and Linear Programming&lt;/a&gt;&quot;)&lt;/p&gt;&#xA;" OwnerUserId="25" LastActivityDate="2014-08-07T11:47:55.303" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25472" PostTypeId="2" ParentId="25466" CreationDate="2014-08-07T14:24:33.090" Score="9" Body="&lt;p&gt;Yes, there is a paper by John Watrous, which formally addresses the concerns raised on Lipton's blog (reported in user2917198's &lt;a href=&quot;https://cstheory.stackexchange.com/questions/25466/factoring-as-a-decision-problem#comment63373_25466&quot;&gt;comment&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is the reference:&#xA;J. Watrous. An introduction to quantum information and quantum circuits. ACM SIGACT News 42(2): 52–67, 2011. &#xA;&lt;a href=&quot;https://cs.uwaterloo.ca/~watrous/Papers/IntroductionQuantumCircuits.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;https://cs.uwaterloo.ca/~watrous/Papers/IntroductionQuantumCircuits.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As pointed out in the Introduction of the paper, the issues are not specific to Factoring/BQP, but more in general, «they concerns basic manipulations of quantum circuits».&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you just wanted to see how to cast the factoring problem in a decision problem, refer to Jeffrey Shallit's answer.&lt;/p&gt;&#xA;" OwnerUserId="1542" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2014-08-07T14:24:33.090" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25474" PostTypeId="1" CreationDate="2014-08-08T07:02:12.187" Score="2" ViewCount="541" Body="&lt;p&gt;This is not my area, so apologizes if I am asking nonsense! &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I know that there are very good solver/theorem provers for solving 1st order logic. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now I have a problem, using 3-valued logic, but I am not sure if there are some practical ways of solving 3-valued logic (or converting it to a bigger 2-valued logic problem?)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT1: Is it possible to translated (~reduce?) any 3-valued logic to 2-valued logic? Can this be generalized to K-valued logic, where K is any arbitrary integer? (What about the case when K is infinity?)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any idea or reference is appreciated. &lt;/p&gt;&#xA;" OwnerUserId="15645" LastEditorUserId="15645" LastEditDate="2014-08-08T21:56:36.080" LastActivityDate="2014-08-09T00:50:26.700" Title="Three-valued logic solver?" Tags="&lt;lo.logic&gt;&lt;logic-programming&gt;" AnswerCount="1" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="25475" PostTypeId="1" AcceptedAnswerId="25476" CreationDate="2014-08-08T07:06:54.437" Score="1" ViewCount="154" Body="&lt;p&gt;MIT Review recently published this article about a chip from IBM, which is more or less a Artificial neural network. &lt;a href=&quot;http://www.technologyreview.com/news/529691/ibm-chip-processes-data-similar-to-the-way-your-brain-does/?utm_campaign=socialsync&amp;amp;utm_medium=social-post&amp;amp;utm_source=facebook&quot; rel=&quot;nofollow&quot;&gt;Why IBM’s New Brainlike Chip May Be “Historic” | MIT Technology Review&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The article suggests that the chip might have borrowed a page from the future. It might be the beginning of an era of new and evolved computation power. And also talks about programming for the chip. &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;One downside is that IBM’s chip requires an entirely new approach to&#xA;  programming. Although the company announced a suite of tools geared&#xA;  toward writing code for its forthcoming chip last year (see “IBM&#xA;  Scientists Show Blueprints for Brainlike Computing”), even the best&#xA;  programmers find learning to work with the chip bruising, says Modha:&#xA;  “It’s almost always a frustrating experience.” His team is working to&#xA;  create a library of ready-made blocks of code to make the process&#xA;  easier.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Which brings me to the question, can everyday computing tasks be broken down into ones solvable by a neural network (theoretically and/or practically)?&lt;/p&gt;&#xA;" OwnerUserId="26869" LastActivityDate="2016-07-04T09:22:53.067" Title="Theoretically, can everyday computing tasks be broken down into ones solvable by a neural network?" Tags="&lt;ne.neural-evol&gt;" AnswerCount="2" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25476" PostTypeId="2" ParentId="25475" CreationDate="2014-08-08T16:56:32.793" Score="2" Body="&lt;p&gt;Neural networks can arbitrarily approximate any computable function; see&#xA;&lt;a href=&quot;http://en.wikipedia.org/wiki/Artificial_neural_network&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/Artificial_neural_network&lt;/a&gt;&#xA;or&#xA;&lt;a href=&quot;http://en.wikipedia.org/wiki/Cybenko_theorem&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/Cybenko_theorem&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Constructing a NN for a given function -- or worse yet, learning it from examples -- is a hard problem.&lt;/p&gt;&#xA;" OwnerUserId="1746" LastActivityDate="2014-08-08T16:56:32.793" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25478" PostTypeId="2" ParentId="24909" CreationDate="2014-08-08T21:01:51.827" Score="7" Body="&lt;p&gt;Let me first mention that your problem is not symmetric and that if $M_1$ is an NFA and $M_2$ a DFA, then the inclusion problem is polynomial (simply because it amounts to test whether the complement of $L(M_2)$ intersects $L(M_1)$ ).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is an important and non-trivial generalisation of this result: when $M_2$ is &lt;strong&gt;non-ambiguous&lt;/strong&gt; (over any input, there is at most one accepting run). This result is proved in [SH85], but it also has an interesting connections to Schützenberger's work [S61], and as a consequence with NXA as mentionned in an answer above. (let me thank Jacques Sakarovitch for showing it to me).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let me sketch a proof of this result.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Theorem&lt;/strong&gt; Consider non-deterministic automata $M_1$, $M_2$, $M_2$ being non-ambiguous. One can decide $L(M_1)\subseteq L(M_2)$ in polynomial time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Proof.&lt;/em&gt;&lt;br&gt;&#xA;&lt;strong&gt;Step 1:&lt;/strong&gt; This reduces to universality of unambiguous automata.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Substep 1: we can assume $M_1$ to be deterministic (for this, it is sufficient to reformulate the problem over the alphabet consisting of the transitions of $M_1$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Substep 2: then $L(M_1)\subseteq L(M_2)$ is equivalent to the universality of $L(M_2)\cup L(M_1)^c$, which is represented by a non-ambiguous automaton of polynomial size.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Step 2:&lt;/strong&gt; It happens that unambiguous automata can be seen as NXA automata (Non-deterministic XOR automata in the previous post by RB) without there evaluation to be changed (indeed, a disjunction over all accpeting runs is equivalent to a xor over all accepting runs since there is at most one such run). For these automata, universality is known to be polynomial (QED).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let me not that this polynomial universality result was known well before 2009. &#xA;Indeed, NXA automata are classically known as weighted automata over the field $Z/2Z$.&#xA;Such automata were introduced by Schützenberger in [S61]. He proves in this paper that the equivalence (and consequently universality) is decidable (using minimization) for all effective fields [S61]. The polynomial complexity some years after.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;[SH85] Richard E. Stearns and Harry B. Hunt III. On the equivalence and containment prob-&#xA;lems for unambiguous regular expressions, regular grammars and finite automata.&#xA;SIAM J. Comput., 14(3):598–611, 1985.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[S61] Schützenberger, M.P.: On the definition of a family of automata. Information and&#xA;Control 4, 245–270 (1961)&lt;/p&gt;&#xA;" OwnerUserId="25275" LastActivityDate="2014-08-08T21:01:51.827" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25479" PostTypeId="1" CreationDate="2014-08-08T21:33:26.490" Score="3" ViewCount="109" Body="&lt;p&gt;The harmonic representation of boolean functions such as XOR or AND has been studied in different course note lectures that can be found on Google.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://cs.mcgill.ca/~hatami/comp760-2011/&quot; rel=&quot;nofollow&quot;&gt;http://cs.mcgill.ca/~hatami/comp760-2011/&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.cs.cmu.edu/~odonnell/papers/analysis-survey.pdf&quot; rel=&quot;nofollow&quot;&gt;http://www.cs.cmu.edu/~odonnell/papers/analysis-survey.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is the state of research on the representation of boolean functions using wavelets?&lt;/p&gt;&#xA;" OwnerUserId="25298" LastActivityDate="2014-08-08T21:33:26.490" Title="What is the current state of research on the representation of boolean functions using wavelets" Tags="&lt;boolean-functions&gt;" AnswerCount="0" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="25480" PostTypeId="2" ParentId="25474" CreationDate="2014-08-09T00:50:26.700" Score="5" Body="&lt;p&gt;Let's assume that your three-valued logic consists of the truth values Yes, No and &quot;unknown&quot;. We can think of these truth values as the sets $\{\top\}, \{\bot\}, \{\top,\bot\}$, and then the logical operations result in all possible values. For example, Yes and Unknown is Unknown while No and Unknown is No. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A trick known as &quot;double rail logic&quot; uses two binary variables to represent each truth value: Yes is 1,1; No is 0,0; and Unknown is 1;0. The connectives And and Or are implemented using two matching gates, and Not by two negation gates followed by a swap. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;More generally, $k$-valued logic can be implemented by encoding each truth value using $\lceil\log_2 k\rceil$ bits. The logical operations are implemented using constant-size Boolean circuits. The advantage of the encoding above is that the circuits are very simple, in particular they read each input only once. &lt;/p&gt;&#xA;" OwnerUserId="40" LastActivityDate="2014-08-09T00:50:26.700" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="25481" PostTypeId="2" ParentId="25427" CreationDate="2014-08-09T03:42:21.893" Score="15" Body="&lt;p&gt;I think that whether p&amp;gt;0 can be decided in polynomial time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem in question can be easily cast as the edge-disjoint paths problem, where the underlying graph is a planar graph consisting of &lt;i&gt;m&lt;/i&gt;+1 layers each of which contains &lt;i&gt;n&lt;/i&gt; vertices, plus &lt;i&gt;m&lt;/i&gt; degree-4 vertices to represent the possible adjacent swaps.  Note that the planarity of this graph follows from the fact that we allow only adjacent swaps.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If I am not mistaken, this falls in the special case of the edge-disjoint paths problem solved by Okamura and Seymour [OS81].  In addition, Wagner and Weihe [WW95] give a linear-time algorithm for this case.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See also Goemans’ lecture notes [Goe12], which gives a nice exposition of the Okamura–Seymour theorem and the Wagner–Weihe algorithm.&lt;/p&gt;&#xA;&#xA;&lt;h3&gt;References&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;[Goe12] Michel X. Goemans.  &lt;em&gt;Lecture notes, 18.438 Advanced Combinatorial Optimization, Lecture 23&lt;/em&gt;.  Massachusetts Institute of Technology, Spring 2012.  &lt;a href=&quot;http://math.mit.edu/~goemans/18438S12/lec23.pdf&quot;&gt;http://math.mit.edu/~goemans/18438S12/lec23.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[OS81] Haruko Okamura and Paul D. Seymour.  Multicommodity flows in planar graphs.  &lt;em&gt;Journal of Combinatorial Theory, Series B&lt;/em&gt;, 31(1):75–81, August 1981.  &lt;a href=&quot;http://dx.doi.org/10.1016/S0095-8956(81)80012-3&quot;&gt;http://dx.doi.org/10.1016/S0095-8956(81)80012-3&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[WW95] Dorothea Wagner and Karsten Weihe.  A linear-time algorithm for edge-disjoint paths in planar graphs.  &lt;em&gt;Combinatorica&lt;/em&gt;, 15(1):135–150, March 1995.  &lt;a href=&quot;http://dx.doi.org/10.1007/BF01294465&quot;&gt;http://dx.doi.org/10.1007/BF01294465&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="567" LastActivityDate="2014-08-09T03:42:21.893" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25482" PostTypeId="1" CreationDate="2014-08-09T07:20:54.033" Score="5" ViewCount="136" Body="&lt;p&gt;In the description of his own paper &lt;a href=&quot;http://research.microsoft.com/en-us/um/people/lamport/pubs/pubs.html#interprocess&quot;&gt;&quot;On Interprocess Communication&quot; [Distributed Computing 1, 2 (1986), 77-101]&lt;/a&gt;, Leslie Lamport wrote&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Most computer scientists regard synchronization problems, such as the mutual exclusion problem, to be problems of &lt;em&gt;mathematics&lt;/em&gt;. How can you use one class of mathematical objects, like atomic reads and writes, to implement some other mathematical object, like a mutual exclusion algorithm? I have always regarded synchronization problems to be problems of &lt;em&gt;physics&lt;/em&gt;.  How do you use physical objects, like registers, to achieve physical goals, like not having two processes active at the same time?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;My question is on the mutual exclusion problem particularly.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What is the significance of regarding the mutual exclusion problem as a problem of physics? More specifically,  &lt;/p&gt;&#xA;  &#xA;  &lt;ol&gt;&#xA;  &lt;li&gt;What are the differences between the mathematical perspective and the physical one on the mutual exclusion problem?&lt;/li&gt;&#xA;  &lt;li&gt;What inspirations and results have been gained directly from the physical perspective?&lt;/li&gt;&#xA;  &lt;/ol&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="12739" LastActivityDate="2014-08-09T07:20:54.033" Title="What is the significance of regarding the mutual exclusion problem as a problem of physics?" Tags="&lt;soft-question&gt;&lt;dc.distributed-comp&gt;&lt;concurrency&gt;" AnswerCount="0" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="25484" PostTypeId="1" AcceptedAnswerId="25487" CreationDate="2014-08-10T01:42:12.080" Score="-1" ViewCount="115" Body="&lt;p&gt;Based on the explanations here [1] I know that 3-valued &lt;em&gt;first order&lt;/em&gt; logic has many different versions, which differ in the definition of their operations (e.g. implication). All of these (as far as I know) are complete, i.e. any probable statement could be proven. Also these are (just as in the 2-valued case are Semi-decidable, i.e. the correctness of statement given axioms, could be proved, also wrong statements could not be disproved.) Also these are consistent, i.e. they don't contain contradiction. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose I define my arbitrary 3-valued first order logic (by arbitrary, I mean, arbitrary $\Rightarrow$, AND, OR). Is it true that, it is &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;COMPLETE, &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;SEMI-DECIDABLE &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;CONSISTENT&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;for any $\Rightarrow$, AND, OR operations?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] &lt;a href=&quot;http://en.wikipedia.org/wiki/Three-valued_logic&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/Three-valued_logic&lt;/a&gt; &lt;/p&gt;&#xA;" OwnerUserId="15645" LastActivityDate="2014-08-10T10:35:03.760" Title="Consistency and completeness of any arbitrary 3-valued logic?" Tags="&lt;lo.logic&gt;&lt;computability&gt;&lt;decidability&gt;&lt;logic-programming&gt;" AnswerCount="1" CommentCount="0" ClosedDate="2014-08-30T23:12:46.180" ContentLicense="CC BY-SA 3.0" />
  <row Id="25485" PostTypeId="1" AcceptedAnswerId="25488" CreationDate="2014-08-10T04:26:13.053" Score="6" ViewCount="222" Body="&lt;p&gt;For sorting networks, the 0-1 principle says that if it can sort any sequence of 0's and 1's, then it can sort any list.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What if I want to build a comparison-swap network for merging two pre-sorted lists.  Can I still rely on the 0-1 principle to determine if my network is correct?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note: If so, this means it's possible to determine whether a network is a merging network in polynomial time (since there are only polynomially-many pairs of sorted lists of zeros and ones)&lt;/p&gt;&#xA;" OwnerUserId="13643" LastActivityDate="2014-08-10T11:06:30.757" Title="Does the 0-1 principle apply to merge networks?" Tags="&lt;sorting-network&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25487" PostTypeId="2" ParentId="25484" CreationDate="2014-08-10T10:35:03.760" Score="6" Body="&lt;p&gt;Any logic defined semantically in a similar way is trivially consistent, as it has a model.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any finite-valued logic has a faithful translation into classical logic, hence its set of valid formulas, or even the consequence relation, are recursively enumerable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Completeness is a relationship between semantics and a proof system. You only gave the semantics, not any proof system, hence the question is meaningless. There &lt;em&gt;exist&lt;/em&gt; complete recursively axiomatized proof systems for your kind of logic, but this is just another way to state that the logic is recursively enumerable.&lt;/p&gt;&#xA;" OwnerUserId="6959" LastActivityDate="2014-08-10T10:35:03.760" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="25488" PostTypeId="2" ParentId="25485" CreationDate="2014-08-10T11:06:30.757" Score="11" Body="&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$\def\et{\mathbin\&amp;amp;}$&lt;/span&gt;Yes, and this holds much more generally. Note that a comparator can be thought of as a pair of gates, one of which computes &lt;span class=&quot;math-container&quot;&gt;$\min\{x,y\}$&lt;/span&gt;, and the other &lt;span class=&quot;math-container&quot;&gt;$\max\{x,y\}$&lt;/span&gt;. A linearly ordered set is a distributive lattice with &lt;span class=&quot;math-container&quot;&gt;$x\land y=\min\{x,y\}$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$x\lor y=\max\{x,y\}$&lt;/span&gt;. We have the following 0–1 principle:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Let &lt;span class=&quot;math-container&quot;&gt;$C$&lt;/span&gt; be a circuit with &lt;span class=&quot;math-container&quot;&gt;$\land$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$\lor$&lt;/span&gt; gates, and &lt;span class=&quot;math-container&quot;&gt;$\phi(u_1,\dots,u_n)$&lt;/span&gt; a property of values of nodes of &lt;span class=&quot;math-container&quot;&gt;$C$&lt;/span&gt; expressible as a conjunction of quasi-identities in the language of lattices (i.e., implications of the form &lt;span class=&quot;math-container&quot;&gt;$t_1=s_1\et\dots\et t_k=s_k\to t_0=s_0$&lt;/span&gt;, where &lt;span class=&quot;math-container&quot;&gt;$t_i$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$s_i$&lt;/span&gt; are terms using &lt;span class=&quot;math-container&quot;&gt;$\land$&lt;/span&gt;, &lt;span class=&quot;math-container&quot;&gt;$\lor$&lt;/span&gt;, and the variables &lt;span class=&quot;math-container&quot;&gt;$u_j$&lt;/span&gt;).&lt;/p&gt;&#xA;&lt;p&gt;If &lt;span class=&quot;math-container&quot;&gt;$\phi(u_1,\dots,u_n)$&lt;/span&gt; holds whenever &lt;span class=&quot;math-container&quot;&gt;$C$&lt;/span&gt; is evaluated in the &lt;span class=&quot;math-container&quot;&gt;$\{0,1\}$&lt;/span&gt; lattice, then it holds whenever &lt;span class=&quot;math-container&quot;&gt;$C$&lt;/span&gt; is evaluated in an arbitrary distributive lattice.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;This is an immediate consequence of the facts that the &lt;span class=&quot;math-container&quot;&gt;$2$&lt;/span&gt;-element lattice generates the quasivariety of distributive lattices (i.e., every distributive lattice can be embedded in a direct product of &lt;span class=&quot;math-container&quot;&gt;$2$&lt;/span&gt;-element lattices), and that values of nodes of &lt;span class=&quot;math-container&quot;&gt;$C$&lt;/span&gt; are lattice terms in values of the input variables.&lt;/p&gt;&#xA;&lt;p&gt;Note that &lt;span class=&quot;math-container&quot;&gt;$t\le s$&lt;/span&gt; is equivalent to &lt;span class=&quot;math-container&quot;&gt;$t\land s=t$&lt;/span&gt;, hence we can freely use inequalities instead of equalities in the statement above.&lt;/p&gt;&#xA;&lt;p&gt;Now, if &lt;span class=&quot;math-container&quot;&gt;$C$&lt;/span&gt; is a comparator network with inputs &lt;span class=&quot;math-container&quot;&gt;$x_1,\dots,x_n,y_1,\dots,y_n$&lt;/span&gt; and outputs &lt;span class=&quot;math-container&quot;&gt;$z_1,\dots,z_{2n}$&lt;/span&gt;, it automatically computes a permutation of the inputs, hence the property that it correctly merges sorted lists can be expressed by the conjunction of the quasi-identities&#xA;&lt;span class=&quot;math-container&quot;&gt;$$x_1\le x_2\et\dots\et x_{n-1}\le x_n\et y_1\le y_2\et\dots\et y_{n-1}\le y_n\to z_i\le z_{i+1}$$&lt;/span&gt;&#xA;for &lt;span class=&quot;math-container&quot;&gt;$i=1,\dots,2n-1$&lt;/span&gt;, hence if it works for &lt;span class=&quot;math-container&quot;&gt;$0$&lt;/span&gt;–&lt;span class=&quot;math-container&quot;&gt;$1$&lt;/span&gt; inputs, it also works over arbitrary linearly ordered sets.&lt;/p&gt;&#xA;" OwnerUserId="6959" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2014-08-10T11:06:30.757" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25489" PostTypeId="2" ParentId="10791" CreationDate="2014-08-10T14:47:24.563" Score="15" Body="&lt;p&gt;The answer is $\Theta(\sqrt{n})$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First, let's compute $E_{n-1}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let's suppose we throw $n$ balls into $n$ bins, and look at the probability that a bin has exactly $k$ balls in it. This probability comes from the Poisson distribution, and as $n$ goes to $\infty$ the probability that there are exactly $k$ balls in a given bin is $\frac{1}{e} \frac{1}{ k!}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, let's look at a different way of distributing balls into bins. We throw a number of balls into each bin chosen from the Poisson distribution, and condition on the event that there are $n$ balls total. I claim that this gives exactly the same distribution as throwing $n$ balls into $n$ bins. Why? It is easy to see that the probability of having $k_j$ balls in the $j$&lt;sup&gt;th&lt;/sup&gt; bin is proportional to $\prod_{j=1}^n \frac{1}{k_j!}$ in both distributions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So let's consider a random walk where at each step, you go from $t$ to $t+1-k$ with probability $\frac{1}{e}\frac{1}{k!}$. I claim that if you condition on the event that this random walk returns to 0 after $n$ steps, the probability that this random always stays above $0$ is the probability that the OP wants to calculate. Why? This height of this random walk after $s$ steps is $s$ minus the number of balls in the first $s$ bins. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we had chosen a random walk with a probability of $\frac{1}{2}$ of going up or down $1$ on each step, this would be the classical &lt;a href=&quot;http://en.wikipedia.org/wiki/Bertrand&amp;#39;s_ballot_theorem&quot;&gt;ballot problem&lt;/a&gt;, for which the answer is $\frac{1}{2(n-1)}$. This is a variant of the ballot problem which has been studied (see &lt;a href=&quot;http://arxiv.org/abs/0802.2491&quot;&gt;this paper&lt;/a&gt;), and the answer is still $\Theta\left(\frac{1}{n}\right)$.&#xA;I don't know whether there is an easy way to compute the constant for the $\Theta\left(\frac{1}{n}\right)$ for this case.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The same paper shows that when the random walk is conditioned to end at height $k$, the probability of always staying positive is $\Theta(k/n)$ as long as $k = O(\sqrt{n})$. This fact will let us estimate $E_s$ for any $s$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm going to be a little handwavy for the rest of my answer, but standard probability techniques can be used to make this rigorous. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;We know that as $n$ goes to $\infty$, this random walk converges to a Brownian bridge, i.e., Brownian motion conditioned to start and end at $0$. From general probability theorems, for $\epsilon n &amp;lt; s&amp;lt; (1-\epsilon)n$, the random walk is roughly $\Theta(\sqrt{n})$ away from the $x$-axis. In the case it has height $t&amp;gt;0$, the probability that it has stayed above $0$ for the entire time before $s$ is $\Theta(t/s)$. Since $t$ is likely to be $\Theta(\sqrt{n})$ when $s = \Theta(n)$, we have $E_s \approx \Theta(1/\sqrt{n})$. &lt;/p&gt;&#xA;" OwnerUserId="1677" LastEditorUserId="1677" LastEditDate="2014-08-10T19:57:37.187" LastActivityDate="2014-08-10T19:57:37.187" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25491" PostTypeId="2" ParentId="10791" CreationDate="2014-08-11T04:15:29.370" Score="4" Body="&lt;p&gt;[Edit 2014-08-13: Thanks to a comment by Peter Shor, I have changed my estimate of the asymptotic growth rate of this series.]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My belief is that $\lim_{n\to\infty} \sum_{i&amp;lt;n} \Pr(E_i)$ grows as $\sqrt{n}$. I do not have a proof but I think I have a convincing argument.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $B_i = f(i)$ be a random variable that gives the number of balls in bin $i$. Let $B_{i,j} = \sum_{k=i}^j B_k$ be a random variable that gives the total number of balls in bins $i$ through $j$ inclusive.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can now write $\Pr(E_i) = \sum_{b&amp;lt;j} \Pr(E_j \wedge B_{1,j} = b) \Pr(E_i \mid E_j \wedge B_{1,j} = b)$ for any $j &amp;lt; i$. To that end, let's introduce the functions $\pi$ and $g_i$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\pi(j, k, b) = \Pr(B_j = k \mid B_{1,j-1} = b) = \binom{n-b}{k}\left(\frac{1}{n-j+1}\right)^k\left(\frac{n-j}{n-j+1}\right)^{n-b-k}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\begin{aligned}&#xA;g_i(j, k, b) \; &amp;amp;= \Pr(E_i \wedge B_{j,i} \le k \mid E_{j-1} \wedge B_{1,j-1} = b) \\&#xA;&amp;amp;= \begin{cases}&#xA;0 &amp;amp; k &amp;lt; 0 \\&#xA;1 &amp;amp; k &amp;gt;= 0 \wedge j &amp;gt; i \\&#xA;\sum_{l=0}^{j-b-1} \pi(j, l, b) g_i(j + 1, k - l, b + l) &amp;amp; \mathrm{otherwise}&#xA;\end{cases}\end{aligned}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We can write $\Pr(E_i)$ in terms of $g_i$:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$ \Pr(E_i) = g_i(1, i - 1, 0) $$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, it's clear from the definition of $g_i$ that&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$ \Pr(E_i) = \frac{(n-i)^{n-i+1}}{n^n}h_i(n) $$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where $h_i(n)$ is a polynomial in $n$ of degree $i - 1$. This makes some intuitive sense too; at least $n - i + 1$ balls will have to be put in one of the $(i+1)$th through $n$th bins (of which there are $n-i$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since we're only talking about $Pr(E_i)$ when $n\to\infty$, only the lead coefficient of $h_i(n)$ is relevant; let's call this coefficient $a_i$. Then&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$ \lim_{n\to\infty} \Pr(E_i) = \frac{a_i}{e^i} $$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;How do we compute $a_i$? Well, this is where I'll do a little handwaving. If you work out the first few $E_i$, you'll see that a pattern emerges in the computation of this coefficient. You can write it as&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$ a_i = \mu_i(1, i-1, 0) $$&#xA;where&#xA;$$ \mu_i(j, k, b) = \begin{cases}&#xA;0 &amp;amp; k &amp;lt; 0 \\&#xA;1 &amp;amp; k &amp;gt;= 0 \wedge i &amp;gt; j \\&#xA;\sum_{l = 0}^{j-b-1} \frac{1}{l!} \mu_i(j + 1, k - l, b+ l) &amp;amp; \mathrm{otherwise}&#xA;\end{cases}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, I wasn't able to derive a closed-form equivalent directly, but I computed the first 20 values of $Pr(E_i)$:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;N       a_i/e^i&#xA;1       0.367879&#xA;2       0.270671&#xA;3       0.224042&#xA;4       0.195367&#xA;5       0.175467&#xA;6       0.160623&#xA;7       0.149003&#xA;8       0.139587&#xA;9       0.131756&#xA;10      0.12511&#xA;11      0.119378&#xA;12      0.114368&#xA;13      0.10994&#xA;14      0.105989&#xA;15      0.102436&#xA;16      0.0992175&#xA;17      0.0962846&#xA;18      0.0935973&#xA;19      0.0911231&#xA;20      0.0888353&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Now, it turns out that &#xA;$$ \DeclareMathOperator{\Pois}{Pois} \Pr(E_i) = \frac{i^i}{i! e^i} = \Pois(i; i) $$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where $\Pois(i; \lambda)$ is the probability that a random variable $X$ has value $i$ when it's drawn from a Poisson distribution with mean $\lambda$. Thus we can write our sum as&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$ \lim_{n\to\infty} \sum_{i=1}^n \Pr(E_i) = \sum_{x = 1}^{\infty} \frac{x^x}{x!e^x} $$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.wolframalpha.com/input/?i=sum%28e%5E-x+*+x%5Ex+%2F+x%21%2C+x+%3D+1+to+infinity%29&quot; rel=&quot;nofollow&quot;&gt;Wolfram Alpha tells me this series diverges&lt;/a&gt;. Peter Shor points out in a comment that Stirling's approximation allows us to estimate $\Pr(E_i)$:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$ \lim_{n\to\infty} \Pr(E_x) = \frac{x^x}{x!e^x} \approx \frac{1}{\sqrt{2 \pi x}}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$ \phi(x) = \frac{1}{\sqrt{2 \pi x}} $$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$\lim_{x\to\infty}\frac{\phi(x)}{\phi(x+1)} = 1$&lt;/li&gt;&#xA;&lt;li&gt;$\phi(x)$ is decreasing&lt;/li&gt;&#xA;&lt;li&gt;$\int_1^n \phi(x)dx \to \infty$ as $n \to \infty$&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;our series grows as $\int_1^n \phi(x) dx$ (See e.g. &lt;a href=&quot;http://www.math.uconn.edu/~kconrad/blurbs/analysis/sumest.pdf&quot; rel=&quot;nofollow&quot;&gt;Theorem 2&lt;/a&gt;). That is,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\sum_{i=1}^n Pr(E_i) = \Theta\left(\sqrt{n}\right)$$&lt;/p&gt;&#xA;" OwnerUserId="26885" LastEditorUserId="26885" LastEditDate="2014-08-13T04:39:31.573" LastActivityDate="2014-08-13T04:39:31.573" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="25492" PostTypeId="2" ParentId="25432" CreationDate="2014-08-11T17:07:34.897" Score="12" Body="&lt;p&gt;The &lt;a href=&quot;http://arxiv.org/pdf/1109.1030v2.pdf&quot;&gt;fastest algorithm known&lt;/a&gt; for the problem of identifying whether a graph has a knotless embedding is due to Miller and Naimi, and is exponential-time. Robertson-Seymour theory says that there is an $O(n^3)$ algorithm for this problem; however, to write it down we would need to know the list of forbidden minors for knotless embeddings. However, even if we knew this list, the exponential-time algorithm would still be much faster for reasonable-size graphs, as &lt;a href=&quot;http://msp.org/agt/2014/14-03/agt-2014-14-059p.pdf&quot;&gt;there are over 250 forbidden minors,&lt;/a&gt; some of them quite large. &lt;/p&gt;&#xA;" OwnerUserId="1677" LastActivityDate="2014-08-11T17:07:34.897" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="25493" PostTypeId="2" ParentId="25463" CreationDate="2014-08-11T19:36:50.730" Score="10" Body="&lt;p&gt;The answer should be positive if your bounded-degree graph has both the property of having constant expansion and $\Omega( \log n)$ girth. The argument would be: start at a vertex, then for $n^\epsilon$ steps take a walk in which each step is chosen at random among those that don't take us back to where we were the step before. (So if the graph is $d$-regular we have $d-1$ random choices at each step.) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now I claim that, for every $i$ and $j$, if I look at steps $i$ and $j$ of the walk, the probability that there is an edge between the vertex at step $i$ and the vertex at step $j$ is $n^{-\Omega(1)}$. Then, if $\epsilon$ is chosen sufficiently small, a union bound will show that the walk will induce a path with probability $1-o(1)$.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $|i-j|$ is less then the girth, then the probability of an edge between $i$ and $j$ is just zero. If $j&amp;gt; i+ \Omega(\log n)$, then the expansion of the graph should be enough to argue that the existence of the edge $(i,j)$ happens with probability $n^{-\Omega(1)}$. This is because, for a fixed start vertex $v$, the distribution of the walk after a number of steps equal to the girth is uniform over a set of size $n^{\Omega(1)}$, and so has collision probability $n^{-\Omega(1)}$; every subsequent step should only decrease the collision probability (this is true for an actual random walk, but it should also be true for this non-backtracking walk), and so the collision probability, and hence the min-entropy, of the distribution stays $n^{-\Omega(1)}$, and the probability of hitting one of the $O(1)$ neighbors of $v$ is also $n^{-\Omega(1)}$.&lt;/p&gt;&#xA;" OwnerUserId="1069" LastActivityDate="2014-08-11T19:36:50.730" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="25495" PostTypeId="1" CreationDate="2014-08-11T23:52:05.417" Score="8" ViewCount="1429" Body="&lt;p&gt;I have a set of $n$ agents and a set of $n$ tasks, and I need to assign each agent to exactly one task such that a cost is minimised. Some agents are incompatible with some tasks.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have an implementation of the Hungarian Algorithm which takes about a minute to solve for my $640 \times 640$ matrix. For forbidden assignments, I set the cost to $\infty$. (There &lt;em&gt;always&lt;/em&gt; exists a feasible solution in my problem).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I've also set it up as a binary program in CPLEX, which takes about 9 seconds to solve for the same problem. The BIP model excludes forbidden assignments outright by omitting those variables.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I haven't yet investigated setting it up as a networking model in CPLEX, but that will likely be my next step. There is, however, a performance cost with communicating with CPLEX, so I'm sure a dedicated algorithm should get better performance.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This bipartite matching problem is a kernel within another iterative search algorithm, so it must run &lt;em&gt;as fast as possible&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there any algorithms that I can implement that will outperform the Hungarian Algorithm in this case? Or do you have any other suggestions on how I can improve the performance of this kernel?&lt;/p&gt;&#xA;" OwnerUserId="26820" LastActivityDate="2014-08-12T14:18:56.340" Title="Fast algorithm for weighted bipartite matching problem" Tags="&lt;graph-algorithms&gt;&lt;optimization&gt;&lt;matching&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="25497" PostTypeId="2" ParentId="14671" CreationDate="2014-08-12T10:26:45.173" Score="2" Body="&lt;p&gt;A zipper is in general a &lt;em&gt;pair&lt;/em&gt; of things: it's a structure-with-a-hole, a &lt;em&gt;focus&lt;/em&gt;, representing where in the structure you are, together with a &lt;em&gt;path&lt;/em&gt;, recording how you got to that focus. (This path is LYAH's trail of breadcrumbs.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The path is how you actually apply changes to the structure: &quot;go down, go left, increment the value&quot;. By repeatedly applying &quot;go up&quot; (&lt;code&gt;go_up&lt;/code&gt; in &lt;a href=&quot;https://www.st.cs.uni-saarland.de/edu/seminare/2005/advanced-fp/docs/huet-zipper.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Huet's paper&lt;/a&gt;) at this point, you can retrace your steps and end up with a new, mutated, copy of the original structure.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;They can indeed be generalised to other structures:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://michaeldadams.org/papers/scrap_your_zippers/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Scrap Your Zippers&lt;/a&gt; uses generic programming in Haskell&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://clojure.github.io/clojure/clojure.zip-api.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;Clojure's zipper&lt;/a&gt; gives you a &quot;pluggable&quot; zipper: when you &lt;a href=&quot;http://clojure.github.io/clojure/clojure.zip-api.html#clojure.zip/zipper&quot; rel=&quot;nofollow noreferrer&quot;&gt;create a zipper on a structure&lt;/a&gt;, you pass in functions specific to your structure&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="6400" LastEditorUserId="6400" LastEditDate="2017-10-06T16:28:41.950" LastActivityDate="2017-10-06T16:28:41.950" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25498" PostTypeId="2" ParentId="25495" CreationDate="2014-08-12T14:18:56.340" Score="7" Body="&lt;p&gt;You might try one of the auction-based algorithms for bipartite matchings. (See e.g. lecture notes describing a simple variant here: &lt;a href=&quot;https://staff.fnwi.uva.nl/n.s.walton/Notes/Bertsekas_Auction.pdf&quot;&gt;https://staff.fnwi.uva.nl/n.s.walton/Notes/Bertsekas_Auction.pdf&lt;/a&gt; but more optimizations are possible). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;These algorithms do not necessarily have the best worst-case running time, but require only very simple operations, and so are often efficient in practice, and are amenable to parallelization. (And they can be used as a basis for recovering the best known worst case running times, see: &lt;a href=&quot;http://agtb.wordpress.com/2009/07/13/auction-algorithm-for-bipartite-matching/&quot;&gt;http://agtb.wordpress.com/2009/07/13/auction-algorithm-for-bipartite-matching/&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="25" LastActivityDate="2014-08-12T14:18:56.340" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25499" PostTypeId="1" AcceptedAnswerId="25501" CreationDate="2014-08-12T14:51:35.763" Score="16" ViewCount="894" Body="&lt;p&gt;Is there a general theorem that would state, with proper sanitization,&#xA;that most known results regarding the use of real numbers can actually&#xA;be used when considering only computable reals? Or is there a proper&#xA;characterisation of results that remain valid when considering only&#xA;the computable reals? A side question is whether results concerning&#xA;computable reals can be proved without having to consider all real, or&#xA;anything that is not computable. I am thinking specifically of&#xA;calculus and mathematical analysis, but my question is in no way&#xA;limited to that.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Actually, I suppose there is a hierarchy of computable reals&#xA;corresponding to the Turing hierarchy (Is that correct?). Then, more&#xA;abstractedly, is there an abstract theory of real (I am not sure what&#xA;the terminology should be), for which a number of results could be&#xA;proved, that would apply to the traditional real numbers, but also to&#xA;computable reals, and to any level of the Turing hierarchy of&#xA;computable reals, if it exists.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then my question could possibly be stated as: Is there a&#xA;characterization of results that will apply in the abstract theory of&#xA;reals when they have been proved for traditionnal reals. And, could&#xA;these results be proved directly in the abstract theory, without&#xA;considering traditional reals.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am also interested in understanding how and when these theories of&#xA;reals diverge.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;P.S. I do not know where to fit this in my question. I realised that a good deal of the mathematics on the reals have been generalized with topology. So it may be that the answer to my question, or part of it, can be found there. But there may also be more to it.&lt;/p&gt;&#xA;" OwnerUserId="16132" LastEditorUserId="16132" LastEditDate="2014-08-12T15:06:09.993" LastActivityDate="2014-08-12T19:52:54.070" Title="To what extent can the mathematics of Reals be applied to Computable Reals?" Tags="&lt;computability&gt;&lt;computing-over-reals&gt;&lt;topology&gt;&lt;model-theory&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="25500" PostTypeId="1" AcceptedAnswerId="25622" CreationDate="2014-08-12T15:28:48.303" Score="7" ViewCount="214" Body="&lt;p&gt;The $q$-Dimensional $p$-Matching is defined as follows:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given disjoint universes $U_1,\ldots,U_q$, think&#xA;of an element in $U_1\times\ldots\times U_q$ as a set that contains exactly one element&#xA;from each universe $U_i$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, given a family ${\cal S}\subseteq U_1\times \ldots\times U_q$ and a parameter $k\in\mathbb{N}$,&#xA;determine if there exists a subfamily of $k$ pairwise-disjoint sets in ${\cal S}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We abbreviate by $\#q$-Dimensional $p$-Matching (or $\#(q,p)$-matching in short) the counting version of the problem, asking how many matchings exist in $\cal S$.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;In their &lt;a href=&quot;http://web.stanford.edu/~rrwill/presentations/counting-k-paths.pdf&quot; rel=&quot;nofollow&quot;&gt;famous paper&lt;/a&gt; from 2004, Flum and Grohe have developed the $\#W$ hierarchy, the counting equivalent of the $W$ hierarchy for parameterized problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Among their results in the paper, they have shown that counting the number of $k$-paths is $\#W[1]$-complete, and conjectured that counting the number of matchings of size $k$ in a bipartite graph is hard as well.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm unaware of any results addressing this conjecture, but was wondering about even a weaker result:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is #$q$-Dimensional $p$-Matching (counting the number of instances in a $(q,p)$-matching instace) $\#W[1]$-complete, where the parameter is $p+q$?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Such result would be weaker than the FG's conjuncture, as counting bipartite matchings is the same as $\#(2,p)$-matching.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Related result: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://link.springer.com/chapter/10.1007%2F978-3-642-33293-7_17&quot; rel=&quot;nofollow&quot;&gt;Recent result&lt;/a&gt; by Bläser and Curticapean shows that &lt;em&gt;weighted&lt;/em&gt; counting of $k$-matching in bipartite graphs is $\#W[1]$-complete.&lt;/p&gt;&#xA;" OwnerUserId="21001" LastEditorUserId="21001" LastEditDate="2014-08-14T02:11:12.737" LastActivityDate="2014-08-28T11:26:17.180" Title="Is it known whether counting $q$-dimensional $p$-matching is $\#W[1]$-Hard?" Tags="&lt;counting-complexity&gt;&lt;parameterized-complexity&gt;&lt;matching&gt;&lt;fixed-parameter-tractable&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="25501" PostTypeId="2" ParentId="25499" CreationDate="2014-08-12T15:31:11.403" Score="16" Body="&lt;p&gt;The real numbers may be characterized in a couple of ways, let us work with &lt;strong&gt;the Cauchy-complete archimedean ordered field&lt;/strong&gt;. (We need to be a bit careful how exactly we say this, see &lt;a href=&quot;http://books.google.si/books?id=LkDUKMv3yp0C&amp;amp;lpg=PP1&amp;amp;dq=homotopy%20type%20theory&amp;amp;pg=PA372#v=onepage&amp;amp;q&amp;amp;f=false&quot;&gt;Definition 11.2.7&lt;/a&gt; and &lt;a href=&quot;http://books.google.si/books?id=LkDUKMv3yp0C&amp;amp;lpg=PP1&amp;amp;dq=homotopy%20type%20theory&amp;amp;pg=PA373#v=onepage&amp;amp;q&amp;amp;f=false&quot;&gt;Defintion 11.2.10&lt;/a&gt; of the &lt;a href=&quot;http://homotopytypetheory.org/book/&quot;&gt;HoTT book&lt;/a&gt;.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The following theorem is valid in any &lt;a href=&quot;http://ncatlab.org/nlab/show/topos&quot;&gt;topos&lt;/a&gt; (a model of higher-order intuitionistic logic):&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Theorem:&lt;/strong&gt; There is a Cauchy-complete archimedean ordered field, and in fact any two such fields are canonically isomorphic.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Moreover, in &lt;a href=&quot;http://ncatlab.org/nlab/show/intuitionistic+logic&quot;&gt;intuitionistic logic&lt;/a&gt; (not to be confused with &lt;a href=&quot;http://en.wikipedia.org/wiki/Intuitionism&quot;&gt;intuitionism&lt;/a&gt;) we can do a lot of real analysis (sequences and limits, derivatives, integrals, continuity, uniform continuity, etc.) which is then valid in any topos. If we take the topos of sets we get the usual real analysis. By taking a different topos we get a different kind of real analysis – and there is a topos which yields precisely the computable reals and computable real analysis.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This of course is the &lt;a href=&quot;http://ncatlab.org/nlab/show/effective+topos&quot;&gt;effective topos&lt;/a&gt;, in which the real numbers &lt;em&gt;are&lt;/em&gt; the computable reals (speaking vaguely, the reason for this is that the effective topos is constructed in such a way that everything in it is automatically computable). The answer to your question is&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;em&gt;Definitions, constructions, and theorems in intuitionistic real analysis are automatically translated to definitions, constructions and theorems about computable reals when we interpret them in the effective topos.&lt;/em&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;For instance, the theorem &quot;every uniformly continuous map $f : [0,1] \to \mathbb{R}$ attains its supremum&quot; is intuitionistically valid. When we interpret it in the effective topos we get the corresponding version for computable maps on computable reals which are computably uniformly continuous. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;You also ask about the &quot;divergence&quot; between real analysis and its computable version. The answer is that results which rely on the law of excluded middle or the axiom of choice (although countable choice is ok) are not intuitionistic, and therefore cannot be validated in the effective topos. However, we should note that (contrary to popular opinion) &lt;em&gt;most&lt;/em&gt; analysis can be done intuitionistically.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The effective topos is just one of many &lt;a href=&quot;http://ncatlab.org/nlab/show/realizability+topos&quot;&gt;realizability toposes&lt;/a&gt;. When we interpret intuitionistic analysis in other realizability toposes we get alternative models of real number computatability, including computation with oracles which you allude to. The &quot;relative Kleene function realizability topos&quot; (whatever that is) gives the so called &lt;a href=&quot;http://ncatlab.org/nlab/show/Type+Two+Theory+of+Effectivity&quot;&gt;Type II computability&lt;/a&gt; on reals in which computable maps operate on &lt;em&gt;all&lt;/em&gt; reals, not just the computable ones.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I tried to explain this once in the notes &lt;a href=&quot;http://math.andrej.com/2005/08/23/realizability-as-the-connection-between-computable-and-constructive-mathematics/&quot;&gt;&quot;Realizability as the Connection between Computable and Constructive Mathematics&quot;&lt;/a&gt;, and before that in my &lt;a href=&quot;http://andrej.com/thesis/&quot;&gt;Ph.D. thesis&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="705" LastEditorUserId="705" LastEditDate="2014-08-12T19:52:54.070" LastActivityDate="2014-08-12T19:52:54.070" CommentCount="10" ContentLicense="CC BY-SA 3.0" />
  <row Id="25503" PostTypeId="2" ParentId="25500" CreationDate="2014-08-12T16:21:18.070" Score="0" Body="&lt;p&gt;Radu Curticapean showed that counting matchings of size k is #W[1]-Hard. See &lt;a href=&quot;http://link.springer.com/chapter/10.1007/978-3-642-39206-1_30&quot; rel=&quot;nofollow&quot;&gt;http://link.springer.com/chapter/10.1007/978-3-642-39206-1_30&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="8762" LastActivityDate="2014-08-12T16:21:18.070" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="25509" PostTypeId="1" CreationDate="2014-08-13T09:16:27.403" Score="18" ViewCount="823" Body="&lt;p&gt;What is the best known complexity for computing the exact edit distance between two strings of the same length using working space which is sublinear in the size of the input?  I assume the input is stored in some read-only format. Is this a previously studied problem?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To make the question a little more specific, how about $\Theta(\sqrt{n})$ space where $n$ is the length of each input string.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit.&lt;/strong&gt; Following the answer of David Eppstein, it seems a good question is simply if the edit distance can be found in polynomial time and $\Theta(\sqrt{n})$ space. Any lower bounds would also be interesting.&lt;/p&gt;&#xA;" OwnerUserId="16186" LastEditorUserId="16186" LastEditDate="2014-08-18T06:51:23.650" LastActivityDate="2014-08-24T17:52:55.257" Title="Edit distance in sublinear space" Tags="&lt;ds.algorithms&gt;&lt;edit-distance&gt;&lt;space-time-tradeoff&gt;" AnswerCount="1" CommentCount="6" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="25510" PostTypeId="1" CreationDate="2014-08-13T11:03:18.047" Score="0" ViewCount="211" Body="&lt;p&gt;Given a set of $n$ points in $R^d$, the goal is to cover them with (finitely many) unit balls such that following conditions satisfy:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) Minimizing the number of balls that are required to cover all the points.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) Maximizing the &lt;em&gt;inter-clusters separation&lt;/em&gt; between clusters, which is define as follows:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For clusters $C_i$  and $C_j$ (with centroids $c_i$ and $c_j$), their inter-cluster separation $R_{ij}$ is  $$ R_{ij}=\frac{d_{ij}}{(S_i+S_j)},$$ where $S_i=\Sigma_{p\in C_i} dist(c_i,p)$ and $d_{ij}=dist(c_i,c_j)$. (Here, $dist$ is the usual $l_2$-norm.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The exact algorithm of the problem should output &lt;em&gt;optimal&lt;/em&gt; centers ${c_1, c_2, ..}$ of the clusters. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have following two questions regarding the problem:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) What is the inherent complexity of the problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) If the above problem can be solved in sublinear query/time (in a similar spirit of the learning problem in the PAC model)? More precisely, by querying $poly(\frac{1}{\epsilon}, logn)$ many positions from the input the algorithm should output approximated clusters, &lt;em&gt;i.e.&lt;/em&gt; $\Sigma_i dist(c_i, c_{opt_i})&amp;lt;\epsilon$. (Here $c_{opt_i}$ is the center of $i^{th}$ optimal cluster.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Pls let me know if there if I am able to put the question clearly.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks!&lt;/p&gt;&#xA;" OwnerUserId="22594" LastEditorUserId="22594" LastEditDate="2014-08-14T06:44:34.543" LastActivityDate="2014-08-14T06:44:34.543" Title="Clustering in sublinear time/query" Tags="&lt;approximation-algorithms&gt;&lt;clustering&gt;&lt;computational-geometry&gt;" AnswerCount="0" CommentCount="6" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="25511" PostTypeId="2" ParentId="25312" CreationDate="2014-08-13T11:03:44.930" Score="7" Body="&lt;p&gt;The answer to both questions is yes.&lt;/p&gt;&#xA;&lt;p&gt;The standard reduction from 3-SAT to 3DM – as used by Garey and Johnson, for example – is not parsimonious, but there is a sequence of parsimonious reductions that goes:&lt;/p&gt;&#xA;&lt;p&gt;3-SAT → 1-IN-3-SAT → MONOTONE-1-IN-3-SAT → 3DM&lt;/p&gt;&#xA;&lt;p&gt;Moreover, these reductions can be done in a way that preserves planarity. The details can be found in [1, 2]. The key reduction MONOTONE-1-IN-3-SAT → 3DM is from [1]. It is shown to be parsimonious by [2], which also shows how to do the other reductions in a parsimonious way. The reduction from 3-SAT to PLANAR-3-SAT is done using the crossover gadget from [3], which [2] also shows to be parsimonious.&lt;/p&gt;&#xA;&lt;p&gt;[1] M.E Dyer, A.M Frieze, &lt;em&gt;Planar 3DM is NP-complete&lt;/em&gt;, Journal of Algorithms, Volume 7, Issue 2 (June 1986), Pages 174-184. &lt;a href=&quot;http://www.math.cmu.edu/%7Eaf1p/Texfiles/PLANAR3DM.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;PDF&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;[2] Harry B. Hunt, III, Madhav V. Marathe, Venkatesh Radhakrishnan, and Richard E. Stearns. &lt;em&gt;The Complexity of Planar Counting Problems&lt;/em&gt;. SIAM J. Comput. 27, 4 (August 1998), 1142-1167. &lt;a href=&quot;http://arxiv.org/abs/cs/9809017&quot; rel=&quot;nofollow noreferrer&quot;&gt;arXiv:cs/9809017&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;[3] David Lichtenstein. &lt;em&gt;Planar Formulae and Their Uses&lt;/em&gt;, SIAM Journal on Computing 11:2 (1982), 329-343. &lt;a href=&quot;http://dx.doi.org/10.1137/0211025&quot; rel=&quot;nofollow noreferrer&quot;&gt;doi:10.1137/0211025&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="897" LastEditorUserId="897" LastEditDate="2021-04-26T10:39:16.093" LastActivityDate="2021-04-26T10:39:16.093" CommentCount="2" ContentLicense="CC BY-SA 4.0" />
  <row Id="25512" PostTypeId="1" AcceptedAnswerId="25513" CreationDate="2014-08-13T14:55:55.107" Score="83" ViewCount="10497" Body="&lt;p&gt;This is a &quot;historical question&quot; more than it is a research question, but was the classical reduction to order-finding in Shor's algorithm for factorization initially discovered by Peter Shor, or was it previously known?  Is there a paper that describes the reduction that pre-dates Shor, or is it simply a so-called &quot;folk result?&quot;  Or was it simply another breakthrough in the same paper?&lt;/p&gt;&#xA;" OwnerUserId="1338" LastEditorUserId="186" LastEditDate="2014-08-13T15:35:29.980" LastActivityDate="2015-07-25T01:54:18.447" Title="Was the reduction in Shor's algorithm originally discovered by Shor?" Tags="&lt;quantum-computing&gt;&lt;ho.history-overview&gt;&lt;factoring&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="20" ContentLicense="CC BY-SA 3.0" />
  <row Id="25513" PostTypeId="2" ParentId="25512" CreationDate="2014-08-13T17:57:22.263" Score="143" Body="&lt;p&gt;I have to admit (surprising as it sounds) that I don't know really the answer. I either discovered or rediscovered this reduction myself.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I discovered the discrete log algorithm first, and the factoring algorithm second, so I knew from discrete log that periodicity was useful.  I knew that factoring was equivalent to finding two unequal numbers with equal squares (mod N) &amp;mdash; this is the basis for the quadratic sieve algorithm. I had also seen the reduction of factoring to finding the Euler $\phi$ function, which is quite similar.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;While I came up with the reduction of this question to order-finding, it's not hard, so I wouldn't be surprised if there was another paper describing this reduction that predates mine. However, I don't think this could be a widely known &quot;folk result&quot;. Even if somebody had discovered it, before quantum computing why would anybody care about reducing factoring to the question of order-finding (provably exponential on a classical computer)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT: Note that order-finding is provably exponential only in an oracle setting; order finding modulo $N$ is equivalent to factoring $N$, and this had been proved earlier by Heather Woll, as the other answer points out.&lt;/p&gt;&#xA;" OwnerUserId="1677" LastEditorUserId="1677" LastEditDate="2015-07-25T01:54:18.447" LastActivityDate="2015-07-25T01:54:18.447" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="25514" PostTypeId="2" ParentId="6077" CreationDate="2014-08-13T19:17:49.327" Score="3" Body="&lt;p&gt;If we restrict attention to graph properties, then we can prove slightly improved bounds compared to the general bounds you mention:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;In a &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=502097&quot; rel=&quot;nofollow&quot;&gt;classic paper&lt;/a&gt; it was shown that $D(f)$ is bounded by $O(Q(f)^6)$ for total functions, $O(Q(f)^4)$ for monotone total functions, and $O(Q(f)^2)$ for symmetric total functions.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;First I think the 6th power bound can be improved to 4th power for graph properties. This follows from [1], where they show that any graph property has query complexity at least $\Omega(N^{1/4})$, where $N$ is the input size, which is quadratic in the number of vertices. Of course the classical query complexity is at most $N$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The 4th power bound for monotone total functions can be improved to the 3rd power for monotone graph properties. This follows from an unpublished observation of Yao and Santha (mentioned in [2]) that all monotone graph properties have quantum query complexity $\Omega(N^{1/3}\log^{1/6}N)$.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;[1] Sun, X.; Yao, AC.; Shengyu Zhang, &quot;Graph properties and circular functions: how low can quantum query complexity go?,&quot; Computational Complexity, 2004. Proceedings. 19th IEEE Annual Conference on , vol., no., pp.286,293, 21-24 June 2004&#xA;  doi: 10.1109/CCC.2004.1313851&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;[2] Magniez, Frédéric; Santha, Miklos; Szegedy, Mario (2005), &quot;Quantum algorithms for the triangle problem&quot;, Proceedings of the sixteenth annual ACM-SIAM symposium on Discrete algorithms, Vancouver, British Columbia: Society for Industrial and Applied Mathematics, pp. 1109–1117, arXiv:quant-ph/0310134.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="206" LastActivityDate="2014-08-13T19:17:49.327" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25515" PostTypeId="2" ParentId="10791" CreationDate="2014-08-13T20:40:50.123" Score="4" Body="&lt;p&gt;Exhaustively checking the first few terms (by examining all n^n cases) and a bit of lookup shows that the answer is &lt;a href=&quot;https://oeis.org/A036276&quot; rel=&quot;nofollow&quot;&gt;https://oeis.org/A036276&lt;/a&gt; / $n^n$. This implies that the answer is $\sim n^{\frac{1}{2}} \frac{\sqrt{\pi}}{2}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More exactly, the answer is:&#xA;$$ \frac{n!}{2 n^n} \sum_{k=0}^{n-2}\frac{n^k}{k!} $$&#xA;and there is no closed-form answer.&lt;/p&gt;&#xA;" OwnerUserId="26929" LastEditorUserId="26885" LastEditDate="2014-08-13T21:09:41.930" LastActivityDate="2014-08-13T21:09:41.930" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="25517" PostTypeId="2" ParentId="25512" CreationDate="2014-08-13T23:03:42.363" Score="55" Body="&lt;p&gt;The random reduction from factorization to order-finding (mod N) was very well known to people working in number theory algorithms in the late 1970's and early 1980's.  Indeed, it appears in a paper of Heather Woll, &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/0890540187900307&quot;&gt;Reductions among number theoretic problems, Information and Computation 72 (1987) 167-179&lt;/a&gt;, and Eric Bach and I knew it before then.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am mystified why Peter Shor says that order-finding is &quot;provably exponential on a classical computer&quot;.  If one knows the factorization of N and also $\varphi(N)$ (both computable in sub exponential time) and one works modulo each prime power, one can find orders.  &lt;/p&gt;&#xA;" OwnerUserId="3227" LastEditorUserId="2368" LastEditDate="2015-07-24T17:46:15.347" LastActivityDate="2015-07-24T17:46:15.347" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="25523" PostTypeId="1" CreationDate="2014-08-14T22:48:25.567" Score="2" ViewCount="104" Body="&lt;p&gt;As far as I can tell, the term &quot;reservoir sampling&quot; is commonly used to refer to sampling &lt;em&gt;without replacement&lt;/em&gt; and references [1], [2], and [3] are cited while mentioning it. When referring to reservoir sampling &lt;em&gt;with replacement&lt;/em&gt;, which papers should be cited? A recent reference that I found is titled &quot;Reservoir-based Random Sampling with Replacement from Data Stream&quot; available at &lt;a href=&quot;http://epubs.siam.org/doi/pdf/10.1137/1.9781611972740.53&quot; rel=&quot;nofollow&quot;&gt;http://epubs.siam.org/doi/pdf/10.1137/1.9781611972740.53&lt;/a&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] Donald E. Knuth: The Art of Computer Programming, Volume II: Seminumerical Algorithms, 2nd Edition. Addison-Wesley 1981, ISBN 0-201-03822-6 &lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] McLeod, A.I., Bellhouse, D.R.: A convenient algorithm for drawing a simple random sample. Appl, Stat., pp. 182-184 (1983). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;[3] Jeffrey Scott Vitter: Random Sampling with a Reservoir. ACM Trans. Math. Softw. 11(1): 37-57 (1985)&lt;/p&gt;&#xA;" OwnerUserId="1674" LastActivityDate="2014-08-14T22:48:25.567" Title="Which paper to cite when referring to reservoir sampling *with replacement*?" Tags="&lt;reference-request&gt;&lt;data-streams&gt;&lt;citations&gt;&lt;streaming-algorithms&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25524" PostTypeId="1" CreationDate="2014-08-15T01:21:26.627" Score="3" ViewCount="157" Body="&lt;p&gt;I am interested in complexity classes of the form $A^{B}$, where $A$ and $B$ are complexity classes such that $A \subsetneq \mathsf{P}$ and $\mathsf{NP} \subsetneq B$ are (believed to be) true.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First, is this a well-defined question? Are there any known results about the structure of such classes?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Second, is there an explicit problem in one of $\mathsf{NC}^{\mathsf{NP}}$, $\mathsf{NL}^{\mathsf{NP}}$, $\mathsf{FNC}^{\# \mathsf{P} }$, or $\mathsf{FNL}^{\# \mathsf{P}}$ and which is not in $\mathsf{P}$ under some assumption? After some research, I have not been able to find such a problem.&lt;/p&gt;&#xA;" OwnerUserId="26947" LastEditorUserId="4193" LastEditDate="2014-08-18T19:34:51.897" LastActivityDate="2014-08-18T19:34:51.897" Title="How powerful are weak complexity classes with powerful oracles?" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;" AnswerCount="0" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="25525" PostTypeId="1" CreationDate="2014-08-15T08:09:57.023" Score="1" ViewCount="151" Body="&lt;p&gt;Ive read some articles about deep learning but I found its hard to provide a clear definition of deep learning.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For me its like an intelligent feature selection method. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;But it seems that its not precise enough.&lt;/p&gt;&#xA;" OwnerUserId="26954" LastEditorUserId="26954" LastEditDate="2014-08-15T08:32:24.467" LastActivityDate="2014-08-15T08:32:24.467" Title="How to define deep learning?" Tags="&lt;reference-request&gt;&lt;machine-learning&gt;&lt;ne.neural-evol&gt;" AnswerCount="0" CommentCount="1" FavoriteCount="1" ClosedDate="2014-08-17T03:06:30.523" ContentLicense="CC BY-SA 3.0" />
  <row Id="25527" PostTypeId="1" CreationDate="2014-08-15T13:50:34.250" Score="2" ViewCount="256" Body="&lt;p&gt;I am reading Cojocaru and Murty's &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0521612756&quot; rel=&quot;nofollow&quot;&gt;Introduction to Sieve Methods and their Applications&lt;/a&gt;.  They wait until Chapter 5 to discuss the Sieve of Eratosthenes for finding primes - and their version of it is not very algorithmic.  She writes the inequality:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$ \#\{ n \leq x : n \text{ not divisible by }p&amp;lt; z \} \approx &#xA;x \prod_{p &amp;lt; z}\left( 1 - \frac{1}{p} \right)  + O(...)$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This makes sense the number of primes should be proportional to the residue classes which you left out upon sieving.  The textbook spends a lot of time estimating the main $\prod_{p &amp;lt; z}\left( 1 - \frac{1}{p} \right)$ and the error term $O(...)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;How do we turn this equation into an algorithm?&lt;/strong&gt; &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Knowing the sieve algorithm&lt;/em&gt; already I remember to keep the smallest prime, and we sieve accordingly.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The other example in that chapter focuses on &lt;em&gt;twin primes&lt;/em&gt;.   They given an approximation like so:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$ \#\{ n \leq x : n \not \equiv 0,-2 \text{ for }p&amp;lt; z \} \approx &#xA;x \prod_{p &amp;lt; z}\left( 1 - \frac{2}{p} \right)  + O(...)$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The book says, unfortunately, these are not the twin primes - I don't understand why.  It says the number of twin primes is less than &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$ \#\{ \text{ primes }p &amp;lt; z \}&#xA;+ \#\{ n \leq x : n \not \equiv 0,-2 \text{ for }p&amp;lt; z \} = \pi(z)+ x \prod_{p &amp;lt; z}\left( 1 - \frac{2}{p} \right) $$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If this were an algorithm I take it to mean you still have to compute primes up to a certain point, but not all of the primes up to $x$ in order to find the twin primes.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;The book is not very clear in many places, so I have put in my - possibly wrong - interpretation of the equations in certain spots.  Maybe someone among you has the book or knows the Sieve of Eratoshenes very well.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;My main complaint about the book is that it doesn't provide algorithms, just estimates.&lt;/p&gt;&#xA;" OwnerUserId="11012" LastActivityDate="2014-08-15T13:50:34.250" Title="Sieve Methods for Twin Primes - How to extract algorithm from formula" Tags="&lt;nt.number-theory&gt;&lt;comp-number-theory&gt;&lt;asymptotics&gt;" AnswerCount="0" CommentCount="9" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="25529" PostTypeId="1" CreationDate="2014-08-15T16:10:53.490" Score="2" ViewCount="169" Body="&lt;p&gt;Aaronson recently wrote a blog refuting the idea that there could be some &quot;glitch&quot; in the formulation of the P vs NP conjecture[1] which reminds me of this following question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;the &lt;a href=&quot;http://en.wikipedia.org/wiki/Blum&amp;#39;s_speedup_theorem&quot; rel=&quot;nofollow&quot;&gt;Blum speedup theorem&lt;/a&gt; has been characterized by Goldreich [3] (p149)&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;A conceptually related phenomenon is of problems that have no&#xA;  optimal algorithm (not even in a very mild sense); that is, every algorithm for&#xA;  these &quot;pathological&quot; problems can be drastically sped-up. It follows that the&#xA;  complexity of these problems can not be defined (i.e., as the complexity of the best&#xA;  algorithm solving this problem).&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;in math, it is not unprecedented that major conjectures have been shown to have &quot;glitches&quot; eg discovery that they are independent of axiomatic systems, etc.&#xA;also Goldreich reference to &quot;pathological&quot; languages is reminscent of historical consternations in math eg the counterintuitive discovery of functions that are continuous but nowhere differentiable eg the &lt;a href=&quot;http://en.wikipedia.org/wiki/Weierstrass_function&quot; rel=&quot;nofollow&quot;&gt;Weierstrauss function&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;another angle is that at least one complexity theorist expert Lipton speculates that program size is underanalyzed in TCS and may have surprising aspects,[2] and the Blum speedup theorem seems to fit in with this line of thinking, because the proof construction basically relies on improving the language recognition time based on increasing the size of the TM program (ie like a tradeoff).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;so:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;how does one show/ prove that no such &quot;pathological&quot; languages are/can be involved in open complexity class separation questions eg P=?NP etc?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;am interested in more technical/ mathematical perspectives that avoid handwaving. (eg something more detailed/ substantial than an assertion that the Blum speedup construction is &quot;contrived&quot; etc.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] &lt;a href=&quot;http://www.scottaaronson.com/blog/?p=1948&quot; rel=&quot;nofollow&quot;&gt;Is the P vs. NP problem ill-posed? (Answer: no.)&lt;/a&gt; Aaronson blog&lt;br&gt;&#xA;[2] &lt;a href=&quot;http://rjlipton.wordpress.com/2014/05/03/does-program-size-matter/&quot; rel=&quot;nofollow&quot;&gt;Does program size matter?&lt;/a&gt; RJLipton blog&lt;br&gt;&#xA;[3] &lt;a href=&quot;http://www.wisdom.weizmann.ac.il/~oded/CC/r2.pdf&quot; rel=&quot;nofollow&quot;&gt;Computational complexity: a conceptual perspective&lt;/a&gt; / Goldreich&lt;/p&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2014-08-15T16:10:53.490" Title="proving speedup phenomenon does not apply to any open complexity class separations" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;complexity-classes&gt;&lt;time-complexity&gt;&lt;big-picture&gt;" AnswerCount="0" CommentCount="5" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="25530" PostTypeId="2" ParentId="25509" CreationDate="2014-08-15T19:07:29.667" Score="16" Body="&lt;p&gt;Just to get things going, rather than trying to close out this problem: there is an obvious nondeterministic algorithm using logarithmically many bits of space (search for a single path through the dynamic programming matrix) so by Savitch's theorem there is a deterministic algorithm with space $O(\log^2 n)$. Its time must be of the form $n^{O(\log n)}$, quasi-polynomial rather than exponential.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are some space lower bounds for edit distance in &lt;a href=&quot;http://arxiv.org/abs/1106.4412&quot;&gt;http://arxiv.org/abs/1106.4412&lt;/a&gt; but I don't think they match your version of the problem.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2014-08-15T19:07:29.667" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="25531" PostTypeId="1" CreationDate="2014-08-07T07:41:07.343" Score="9" ViewCount="338" Body="&lt;p&gt;For a simple graph, the local edge connectivity of vertices $x,y$ where $x\neq y$ is $\lambda(x,y)$ and defined as the maximum number of edge disjoint paths from $x$ to $y$. One can find this by a maximum flow computation. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Define that &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;$\lambda(G) = \min_{x,y\in V(G), x\neq y} \lambda(x,y)$ to be the (min) edge connectivity. &lt;/li&gt;&#xA;&lt;li&gt;$\bar\lambda(G) = \max_{x,y\in V(G), x\neq y} \lambda(x,y)$ to be the max edge connectivity.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Because of max-flow min-cut theorem, the first problem is much easier. We just need to find a global min-cut, namely a partition $(S,V\backslash S)$, such that the number of edges from $S$ to $V\backslash S$ is minimized.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The global min-cut for both undirected and directed graphs can be solved in $O(nm)$ through Hao-Orlin's algorithm. $^1$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Max edge connectivity seems harder. I do not know of any algorithm that does less work than find all $\Omega(n^2)$ possible $\lambda(x,y)$ and take the max. This means $\Omega(n)$ max flow computation in undirected graphs by constructing the Gomory-Hu tree, and $\Omega(n^2)$ max flow in directed graphs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there an algorithm that solves this problem faster?&#xA;It seems that $\Omega(n)$ max flow is required. Since for each component we need to compute at least one $\lambda(x,y)$ for $x,y$ in the component. Or something equivalent. There are graphs with $\Omega(n)$ components, and one must determine which component contains the largest local edge connectivity. (although in that case, most max flow computation would incur constant cost. )&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Hao, Jianxiu X.; Orlin, James B. (1994). &quot;A Faster Algorithm for Finding the Minimum Cut in a Directed Graph&quot;. Journal of Algorithms 17 (3): 424. doi:10.1006/jagm.1994.1043.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="314" OwnerDisplayName="Chao Xu" LastActivityDate="2014-08-18T13:57:55.987" Title="Maximum local edge connectivity" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;" AnswerCount="0" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="25533" PostTypeId="1" AcceptedAnswerId="25534" CreationDate="2014-08-16T07:17:02.300" Score="3" ViewCount="640" Body="&lt;p&gt;Consider the convex hull problem in $\Re^d$:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Input: a list of $n$ points $S$ in $\Re^d$,&lt;br&gt;&#xA;  Output: the vertices of the convex hull of $S$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;What is the best lower bound on the time complexity of the &#xA;$d$-dimensional convex hull problem?&lt;/p&gt;&#xA;" OwnerDisplayName="user22369" LastEditorUserId="186" LastEditDate="2014-08-18T22:08:57.773" LastActivityDate="2020-03-10T06:01:25.257" Title="Time complexity of d-dimensional convex hull" Tags="&lt;cc.complexity-theory&gt;&lt;cg.comp-geom&gt;&lt;time-complexity&gt;&lt;lower-bounds&gt;&lt;convex-hull&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="25534" PostTypeId="2" ParentId="25533" CreationDate="2014-08-17T00:59:56.690" Score="9" Body="&lt;p&gt;I don't know any nontrivial lower bounds other than the $\Omega(n\log n)$ algebraic-decision-tree lower bound for two dimensions, which also extends to larger $d$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As for upper bounds: In 3d, the whole hull can be found in $O(n\log n)$; in four or higher dimensions that doesn't work because the hull complexity grows exponentially with $d$, but nevertheless for any fixed $d$, finding all vertices can be done in time $O(n^2)$ (determining whether a given point is a vertex can be done in linear time by solving a linear program), and the Chan reference below improves this slightly.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Ottmann and Scheurer, &quot;Enumerating extreme points in higher dimensions&quot;, STACS 1995 and Nordic J. Comput. 2001&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Chan, &quot;Output-sensitive results on convex hulls, extreme points, and related problems&quot;, DCG 1996&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Helbling, &quot;Extreme points in medium and high dimensions&quot;, ETH thesis 2010&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2014-08-17T00:59:56.690" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="25548" PostTypeId="1" CreationDate="2014-08-18T15:39:50.677" Score="0" ViewCount="1498" Body="&lt;p&gt;i am searching an heuristic algorithm for a weighted exact cover problem shown here: &lt;a href=&quot;http://en.wikipedia.org/wiki/Exact_cover&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/Exact_cover&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On my research i only found algorithm which calculates all solutions without any cost function, like &lt;a href=&quot;http://en.wikipedia.org/wiki/Knuth%27s_Algorithm_X&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/Knuth%27s_Algorithm_X&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Do you know some algorithm for that?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My problem has a Universe of size 200 and about 500 000 subsets, so it is not possible to calculate all solutions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;--------------EDIT--------------&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Example:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Universe = { 1, 2 ,3 ,4 ,5 ,6 ,7}&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Sets=[&lt;/p&gt;&#xA;&#xA;&lt;p&gt;{1,2,3,4}, Cost 10 &lt;/p&gt;&#xA;&#xA;&lt;p&gt;{5,6,7}, Cost 20&lt;/p&gt;&#xA;&#xA;&lt;p&gt;{5}, Cost 5&lt;/p&gt;&#xA;&#xA;&lt;p&gt;{6,7}, Cost 10&#xA;]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On this example i have to possible solutions {1,2,3,4} and {5,6,7} with cost 30 and the second solution is {1,2,3,4}, {5} and {6,7} with cost 25.&lt;/p&gt;&#xA;" OwnerUserId="26995" LastEditorUserId="26995" LastEditDate="2014-08-20T09:21:54.293" LastActivityDate="2015-09-03T10:28:45.273" Title="exact cover set problem" Tags="&lt;optimization&gt;&lt;exact-cover&gt;" AnswerCount="1" CommentCount="6" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="25551" PostTypeId="1" CreationDate="2014-08-18T22:20:33.397" Score="0" ViewCount="133" Body="&lt;p&gt;Given two (deterministic) finite automata $A, B$ over $\Sigma$, a mapping $h:\Sigma\rightarrow \Sigma'$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Naturally $h$ can be extended to a mapping in $\Sigma^*\rightarrow \Sigma'^*$ which is denoted by $h$ as well. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is the set &#xA;$$\{w\in L(A)\mid h^{-1}(h(w))\subseteq L(B)\}$$ regular?&lt;/p&gt;&#xA;" OwnerUserId="22750" LastActivityDate="2014-08-24T09:39:25.917" Title="finite automata under morphism" Tags="&lt;automata-theory&gt;&lt;regular-language&gt;" AnswerCount="2" CommentCount="1" ClosedDate="2014-08-24T16:02:40.243" ContentLicense="CC BY-SA 3.0" />
  <row Id="25552" PostTypeId="2" ParentId="25551" CreationDate="2014-08-19T02:47:39.913" Score="1" Body="&lt;p&gt;The answer is yes. To prove this, consider the complement language:&#xA;$$\{w: w\notin L(A) \vee \exists x: h(x)=h(w)\wedge x\notin L(B)\}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, we construct an NFA $C$ as follows. Given a word $w$, $C$ has $\overline{A}$ as a component, such that if $w\notin L(A)$ then $C$ accepts. It remains to check the rest.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $D$ be a DFA that recognizes $\overline{B}$.&#xA;In order to check if there exists a word $x$ as described, $C$ guesses (i.e. has a nondeterministic transition), for every letter $\sigma$ of $w$, a transition in $D$ that can be taken with a letter $\tau$ such that $h(\tau)=h(\sigma)$. The accepting states of this component are those of $D$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is not hard to prove that $C$ accepts the language above, and by complementing it you get an automaton for your desired language.&lt;/p&gt;&#xA;" OwnerUserId="7531" LastActivityDate="2014-08-19T02:47:39.913" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25554" PostTypeId="1" AcceptedAnswerId="25556" CreationDate="2014-08-19T12:09:02.520" Score="1" ViewCount="168" Body="&lt;p&gt;Is there a regular language $U$, for which $U^\omega$ is not a Deterministic Büchi recognizable language. I have been thinking over it for some time, but have been unable to come up with an example. &lt;/p&gt;&#xA;" OwnerUserId="17541" LastEditorUserId="2367" LastEditDate="2020-01-09T18:14:03.220" LastActivityDate="2020-01-09T18:14:03.220" Title="Example of a $U^\omega$ that is not Deterministic Büchi recognizable" Tags="&lt;automata-theory&gt;&lt;regular-language&gt;&lt;omega-language&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="25555" PostTypeId="1" AcceptedAnswerId="25601" CreationDate="2014-08-19T17:03:44.953" Score="7" ViewCount="377" Body="&lt;p&gt;Consider a family $(f_n)_{1 \leq n}$ of Boolean functions, where $f_n$ is a function on $n$ variables. Consider for every $n$ the smallest Boolean formula $F_n$ describing $f_n$, and the smallest Boolean circuit $C_n$ describing $f_n$. Say we have $|F_n| = \Omega(g(|C_n|))$ for a certain function $g$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is the fastest-growing $g$ for which this is known to be possible, and the slowest-growing $g$ for which it is known to be impossible? (From the comments, it seems like there is still a gap here, but I'm trying to understand which one.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is the &quot;simple&quot; version of my question. What I am interested in is a multi-output, probabilistic (=weighted), variant of the problem, defined as follows. It is clear how to extend circuits to be multi-output, and I define a $k$-output formula to be just a $k$-tuple of formulas on the same inputs. I say that the input variables have a certain probability of being true (written in binary and accounted for in the circuit or formula size), each independently from the others, and I look at the probability distribution on the tuple of outputs (forgetting which input is yielding which output, just looking at the distribution on values), given this product distribution on the inputs, in the circuit and formula context. Here again the circuits are certainly more concise than formulae, but how much? Are there some distributions that can be exponentially more concise to represent with circuits, intuitively because of sub-expression reuse?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To give an example for this more elaborate version, consider the following distribution on $n$ outputs:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$000 \cdots 00$ with probability $1/2$,&lt;/li&gt;&#xA;&lt;li&gt;$100 \cdots 00$ with probability $1/4$,&lt;/li&gt;&#xA;&lt;li&gt;$110 \cdots 00$ with probability $1/8$,&lt;/li&gt;&#xA;&lt;li&gt;...&lt;/li&gt;&#xA;&lt;li&gt;$111 \cdots 10$ with probability $1/2^n$,&lt;/li&gt;&#xA;&lt;li&gt;$111 \cdots 11$ with probability $1/2^n$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;There is a multi-output probabilistic circuit of size $O(n)$ which generates this (and reuses the draw of the $i$-th bit to draw the $(i+1)$-th). By contrast, the straightforward Boolean function encoding of this is quadratic, and I can't see how you could make it shorter but yet cannot prove it...&lt;/p&gt;&#xA;" OwnerUserId="4795" LastEditorUserId="4795" LastEditDate="2014-08-19T21:39:11.683" LastActivityDate="2014-08-26T11:01:50.437" Title="May Boolean circuits be exponentially more concise than Boolean formulae?" Tags="&lt;boolean-functions&gt;&lt;circuit-families&gt;&lt;boolean-formulas&gt;" AnswerCount="1" CommentCount="7" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="25556" PostTypeId="2" ParentId="25554" CreationDate="2014-08-19T17:14:02.993" Score="6" Body="&lt;p&gt;Take an alphabet $A=\{0,1,2\}$, and $U=0^*+2A^*$. Then, $U^\omega$ is not deterministic Büchi recognizable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To see this, imagine it is recognized by a deterministic Büchi automaton $\mathcal A$ with $n$ states. Then, look at the run of $\mathcal A$ on the word $w=2(0^{n+1}1)^\omega$.&#xA;Any inside loop of $0$ must contain a Büchi state, because otherwise pumping yields a contradiction (we get a word of the form $2A^*0^\omega$ that is in $U^\omega$ but not accepted by $\mathcal A$). But then, it means that $w$ is accepted, and therefore $\mathcal A$ does not recognize exactly $U^\omega$.&lt;/p&gt;&#xA;" OwnerUserId="8953" LastEditorUserId="8953" LastEditDate="2014-08-19T17:21:38.407" LastActivityDate="2014-08-19T17:21:38.407" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25557" PostTypeId="1" AcceptedAnswerId="25559" CreationDate="2014-08-19T21:23:02.787" Score="7" ViewCount="1232" Body="&lt;p&gt;Work &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Jünger, Michael, Gerhard Reinelt, and William R. Pulleyblank. &quot;On partitioning the edges of graphs into connected subgraphs.&quot; Journal of graph theory 9.4 (1985): 539-549.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;states that for 4-edge-connected graph one can partition its edges into disjoint subsets of size $r$, such that each subset form a connected subgraph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I wonder if the same kind of statement could be formulated for partition of vertices.&#xA;For what kind of graphs one find partition of vertices into disjoint subsets of size $\approx r$, such that each subset form a connected subgraph (for each r)? I'm particularly interested in planar graphs, but would be happy with any class.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I can soften some conditions (it will still meet my needs): for what graph classes existence of partition into less than $\frac{\alpha n}{r}$ connected subgraphs of size less than $r$ is guaranteed (for some $\alpha$)?&lt;/p&gt;&#xA;" OwnerUserId="27007" LastEditorUserId="612" LastEditDate="2014-08-20T01:51:49.123" LastActivityDate="2014-08-21T08:19:52.840" Title="Partition planar graph into connected subgraphs of equal size" Tags="&lt;graph-theory&gt;&lt;planar-graphs&gt;&lt;partition-problem&gt;" AnswerCount="2" CommentCount="3" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="25558" PostTypeId="2" ParentId="7983" CreationDate="2014-08-19T21:43:14.790" Score="-3" Body="&lt;p&gt;The number of satisfying assignments to a boolean formula equals the number of valid quantifications of the formula.  The inductive proof is quite elegant. So #P = #PSpace.&lt;/p&gt;&#xA;" OwnerUserId="10130" LastActivityDate="2014-08-19T21:43:14.790" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="25559" PostTypeId="2" ParentId="25557" CreationDate="2014-08-20T03:16:07.820" Score="4" Body="&lt;p&gt;Compute a constant degree spanning tree $T$ of your graph, root it, and now greedily find subtrees of roughly size $r$, extract them, and repeat. Naturally, if there is no constant degree spanning tree, then the star example shown above demonstrates that this algorithm can fail. &lt;/p&gt;&#xA;" OwnerUserId="9594" LastActivityDate="2014-08-20T03:16:07.820" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25560" PostTypeId="1" CreationDate="2014-08-20T04:54:36.047" Score="2" ViewCount="688" Body="&lt;p&gt;I'm interested in understanding some recent theoretical results on pathfinding. Specifically this paper: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://research.microsoft.com/apps/pubs/default.aspx?id=201061&quot; rel=&quot;nofollow&quot;&gt;http://research.microsoft.com/apps/pubs/default.aspx?id=201061&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I understand from the paper that in certain types of graphs (road networks for example) a small set of nodes are sufficient to cover a large number of shortest paths. I also understand that the size of the hitting set that forms such a cover can differ from node to node but is upper bounded by some integer h which is called the highway dimension of the graph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Two questions:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;i) The concept of highway dimension is defined in this paper (Defi 3.4, page 5) using a distance parameter r and a hitting set H which exists for every vertex v in the graph. Specifically, the authors say (slightly paraphrasing) &quot;for all r &gt; 0 and all v there exists a H whose size is bounded by h (the highway dimension of the graph)&quot; &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I don't know how to interpret this: is the highway-dimension h constant for all tuples (r, v) or does the value depend on the choice of r? I tend toward the former interpretation but the paper seems ambiguous on this point. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;ii) The definition also makes reference to paths P of length &gt; r which can be reached from the vertex v with distance no more than 2r. I don't understand the significance of the (r, 2r) construction. Would it not be simpler to construct a hitting set that covers all paths which begin at v and have length &gt; r? What is gained by this more complicated definition?&lt;/p&gt;&#xA;" OwnerUserId="27010" LastEditorUserId="27010" LastEditDate="2014-08-20T07:25:38.893" LastActivityDate="2015-03-18T18:36:54.957" Title="Highway dimension" Tags="&lt;graph-algorithms&gt;&lt;shortest-path&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="25561" PostTypeId="1" AcceptedAnswerId="25607" CreationDate="2014-08-20T07:09:03.430" Score="4" ViewCount="1224" Body="&lt;p&gt;Supposing $M$ is a composite number and supposing $a$ is an integer such that $a^{-1}\mod M$ exists,  can we compute $a^{-1} \bmod M$ by using $O(\log^{b}(M))$ ring operations in the RAM model, where $b&amp;gt;0$ and is some fixed number?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm interested in the case where $a$ and $M$ are of similar sizes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;When we apply the Euclidean algorithm, we compute the remainder of an integer divided by another. It is not clear to me if this can be done in unit time in the RAM model using only ring operations.&lt;/p&gt;&#xA;" OwnerUserId="1812" LastEditorUserId="567" LastEditDate="2014-08-30T23:27:47.630" LastActivityDate="2014-08-30T23:27:47.630" Title="Complexity of the inverse modulo a composite number" Tags="&lt;algebraic-complexity&gt;" AnswerCount="2" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="25564" PostTypeId="2" ParentId="25557" CreationDate="2014-08-20T09:22:44.517" Score="9" Body="&lt;p&gt;For a graph $G=(V,E)$, deciding if $V$ can be partitioned into equal sized subsets (say, for a fixed size $r$) where each subset induces a connected subgraph is $\mathsf{NP}$-hard. It remains $\mathsf{NP}$-hard for planar graphs, and also if the number of subsets is fixed instead of the subset size ($|V|/r$ fixed).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, the problem is polynomial for cycles, and thus for Hamiltonian graphs. It is also polynomial for trees and for series-parallel graphs when the number of subsets is fixed.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can find these results in:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;M. E. Dyer and A. M. Frieze. &lt;a href=&quot;http://math.cmu.edu/~af1p/Texfiles/COMPLEXPART.pdf&quot; rel=&quot;noreferrer&quot;&gt;On the complexity of partitioning graphs into connected subgraphs&lt;/a&gt;.  Discrete Applied Mathematics, 10(2), 139-153. 1985.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;N. Apollonio &amp;amp; al. &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0166218X09002637&quot; rel=&quot;noreferrer&quot;&gt;Bicolored graph partitioning, or: gerrymandering at its worst&lt;/a&gt;.  Discrete Applied Mathematics, 157(17), 3601-3614. 2009.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Edit (bis): &lt;s&gt;I think that I was wrong about Hamiltonian graphs. They may be partitioned even if their Hamiltonian cycle cannot. Thus the problem can be not polynomial.&lt;/s&gt; See the first comment.&lt;/p&gt;&#xA;" OwnerUserId="2954" LastEditorUserId="2954" LastEditDate="2014-08-21T08:19:52.840" LastActivityDate="2014-08-21T08:19:52.840" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="25566" PostTypeId="1" CreationDate="2014-08-20T14:40:29.113" Score="-3" ViewCount="93" Body="&lt;p&gt;Suppose we have 10 items, each of a different cost &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Items:    {1,2,3,4,5,6,7,8,9,10} &lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;Cost:     {2,5,1,1,5,1,1,3,4,10}&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;and 3 customers &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;{A,B,C}.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Each customer has a requirement for a set of items. He will either buy all the items in the set or none. There's just one copy of each item.&#xA;For example, if &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;A requires {1,2,4}, Total money earned = 2+5+1= 8&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;B requires {2,5,10,3}, Total money earned = 5+5+10+1 = 21&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;C requires {3,6,7,8,9}, Total money earned = 1+1+1+3+4 = 10&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;So, if we sell A his items, B won't purchase from us because we don't have item 2 with us anymore. We wish to earn maximum money. By selling B, we can't sell to A and C.&#xA;So, if we sell A and C, we earn 18. But just by selling B, we earn more, i.e., 21.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We thought of a bitmasking solution, which is exponential in order though and only feasible for small set of items. And other heuristic solutions which gave us non-optimal answers. But after multiple tries we couldn't really come up with any fast optimal solution.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We were wondering if this is a known problem, or similar to any problem? Or is this problem NP Hard and thus a polynomial optimal solution doesn't exist and we're trying to achieve something that's not possible?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, does the problem change if all the items cost the same?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks a lot.&lt;/p&gt;&#xA;" OwnerUserId="27017" LastActivityDate="2014-08-20T14:50:51.013" Title="Is this NP-Hard or does a known optimal polynomial time solution exist?" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;heuristics&gt;" AnswerCount="1" CommentCount="1" ClosedDate="2014-08-21T20:13:21.673" ContentLicense="CC BY-SA 3.0" />
  <row Id="25567" PostTypeId="2" ParentId="25566" CreationDate="2014-08-20T14:50:51.013" Score="3" Body="&lt;p&gt;This problem is known as &lt;a href=&quot;http://en.wikipedia.org/wiki/Set_packing#Weighted_version&quot; rel=&quot;nofollow&quot;&gt;Weighted Set Packing&lt;/a&gt; and it is NP-complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In order to see this, assign each customer a set with weight which equals the sum of the item values he asks for.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The best known approximation algorithm for this problem gives a $\sqrt |\cal U|$-approximation for the optimal solution.&lt;/p&gt;&#xA;" OwnerUserId="21001" LastActivityDate="2014-08-20T14:50:51.013" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25568" PostTypeId="1" AcceptedAnswerId="25572" CreationDate="2014-08-20T15:29:18.873" Score="1" ViewCount="60" Body="&lt;p&gt;I know there are algorithms for finding a point inside a simple polygon.  Given a set of polygons inside a rectangle (think a bunch of polygons on a computer screen), is there an efficient algorithm for finding a point that is inside the rectangle but not inside any of the specified polygons?  (Note that these polygons don't overlap, but may share a common border (or part of a border).)&lt;/p&gt;&#xA;" OwnerUserId="490" LastActivityDate="2014-08-20T20:31:20.203" Title="Finding a point outside of each of a set of polygons in a bounded space" Tags="&lt;computational-geometry&gt;&lt;polygon&gt;" AnswerCount="1" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="25570" PostTypeId="1" CreationDate="2014-08-20T18:44:27.763" Score="1" ViewCount="218" Body="&lt;p&gt;I am working on the problem of distributed database query planning. Existing work [1] uses dynamic programming to search the potential query plan space and find the one with minimal cost. However, I am interested in an additional value (e.g. security risk) of a query plan, and would like to minimize this value also.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;My current idea is to first minimize the cost goal to a certain extent, and then minimize the second goal. More specifically, we can let the user specify a Delta value, and then the dynamic programming algorithm can find a set of near optimal candidates whose costs fall in [optimal cost, optimal cost + Delta]. Then, we can minimize the second goal in this set.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is, is there any algorithmic work that offers similar capabilities? Or is there any method to modify a dynamic programming algorithm so that it can consider two goals simultaneously? Other relevant information will also be appreciated. Thank you!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;References&lt;/strong&gt;:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] Kossmann, Donald, and Konrad Stocker. &quot;Iterative dynamic programming: a new class of query optimization algorithms.&quot; ACM Transactions on Database Systems (TODS) 25.1 (2000): 43-82.&lt;/p&gt;&#xA;" OwnerUserId="27019" LastActivityDate="2014-08-20T18:44:27.763" Title="Dynamic Programming with two optimization goals" Tags="&lt;ds.algorithms&gt;&lt;optimization&gt;&lt;dynamic-programming&gt;" AnswerCount="0" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="25572" PostTypeId="2" ParentId="25568" CreationDate="2014-08-20T20:31:20.203" Score="5" Body="&lt;p&gt;If the polygons can overlap, the problem can be solved in $O(n^2)$ time (where $n$ is the number of sides of the polygons in total) by constructing the arrangement of line segments and maintaining as you construct it the number of polygons that cover each cell of the arrangement. There are $O(n^2)$ cells, arrangements can be constructed in $O(n^2)$ time, and it takes constant time per cell to maintain the covering number because it differs by one from the number of any neighboring cell.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You are unlikely to solve the problem significantly faster than $O(n^2)$ because it is equivalent in difficulty to &lt;a href=&quot;https://en.wikipedia.org/wiki/3SUM&quot;&gt;3SUM&lt;/a&gt; — see the original paper on 3SUM hardness, &quot;&lt;a href=&quot;http://dx.doi.org/10.1016/0925-7721(95)00022-2&quot;&gt;On a class of $O(n^2)$ problems in computational geometry&quot;&lt;/a&gt;, by Gajentaan and Overmars (CGTA 1995).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;With your specification that the polygons cannot overlap, the same approach works in $O(n\log n)$ time using an output-sensitive arrangement construction algorithm.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2014-08-20T20:31:20.203" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25573" PostTypeId="1" AcceptedAnswerId="25575" CreationDate="2014-08-21T04:20:20.650" Score="33" ViewCount="9992" Body="&lt;p&gt;I'm recently studying Haskell and programming languages.  Could someone recommend some books on type theory?&lt;/p&gt;&#xA;" OwnerUserId="21930" LastEditorUserId="7189" LastEditDate="2014-08-22T12:10:36.050" LastActivityDate="2021-01-01T15:46:48.903" Title="What are some good introductory books on type theory?" Tags="&lt;soft-question&gt;&lt;pl.programming-languages&gt;&lt;type-theory&gt;" AnswerCount="5" CommentCount="1" FavoriteCount="38" ContentLicense="CC BY-SA 3.0" />
  <row Id="25575" PostTypeId="2" ParentId="25573" CreationDate="2014-08-21T11:32:19.530" Score="34" Body="&lt;p&gt;&lt;a href=&quot;http://www.cis.upenn.edu/~bcpierce/sf/current/index.html&quot;&gt;Software Foundations&lt;/a&gt; by Benjamin C. Pierce would be a good place to start. It would be a make a good precursor to his &lt;a href=&quot;http://www.cis.upenn.edu/~bcpierce/tapl/&quot;&gt;Types and Programming Languages&lt;/a&gt;. There is also Simon Thompson's &lt;a href=&quot;https://www.cs.kent.ac.uk/people/staff/sjt/TTFP/&quot;&gt;Type Theory and Functional Programming&lt;/a&gt; and Girard's &lt;a href=&quot;http://www.paultaylor.eu/stable/Proofs+Types.html&quot;&gt;Proofs and Types&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="9552" LastEditorUserId="9552" LastEditDate="2014-08-25T01:51:07.763" LastActivityDate="2014-08-25T01:51:07.763" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="25576" PostTypeId="1" AcceptedAnswerId="25586" CreationDate="2014-08-21T12:41:14.600" Score="5" ViewCount="1121" Body="&lt;p&gt;Are there any algorithms which let you detect cliques when adding/deleting edges based on previously detected cliques? What would be the time/memory complexity of this approach?&lt;/p&gt;&#xA;" OwnerUserId="27024" LastActivityDate="2014-08-22T16:59:49.563" Title="Algorithms for online clique detection" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;clique&gt;" AnswerCount="2" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="25579" PostTypeId="2" ParentId="25573" CreationDate="2014-08-21T19:16:37.613" Score="5" Body="&lt;p&gt;It's more about mathematical foundations and less about computer science, but the book &lt;a href=&quot;http://homotopytypetheory.org/book/&quot; rel=&quot;noreferrer&quot;&gt;Homotopy Type Theory: Univalent Foundations of Mathematics&lt;/a&gt; is available for free in pdf form under a CC license.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2014-08-21T19:16:37.613" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="25581" PostTypeId="1" AcceptedAnswerId="25582" CreationDate="2014-08-22T02:16:47.693" Score="9" ViewCount="1256" Body="&lt;p&gt;The &lt;a href=&quot;http://en.wikipedia.org/wiki/Maximum_satisfiability_problem&quot;&gt;maximum satisfiability problem (Max-Sat)&lt;/a&gt; is the problem of finding the maximum number of clauses that can be satisified in a Boolean satisfiability instance. The &lt;a href=&quot;http://en.wikipedia.org/wiki/Boolean_satisfiability_problem#Exactly-1_3-satisfiability&quot;&gt;exactly 1 in 2 Sat problem&lt;/a&gt; asks, given a set of clauses each with two literals, is there a set of literals such that each clause has exactly one literal from this set.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://theory.stanford.edu/~trevisan/pubs/gt05.pdf&quot;&gt;The Complexity of Making Unique Choices: Approximating 1-in-k SAT&lt;/a&gt; by Guruswami and Trevisan gives a method for approximating Max 1 in 2 Sat. They state monotone (no negated literals) Max 1 in 2 Sat &quot;admits an e-approximation in polynomial time&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would like to find an exact algorithm for the Max monotone 1 in 2 Sat problem.&lt;/p&gt;&#xA;" OwnerUserId="4881" LastEditorUserId="4881" LastEditDate="2014-08-24T02:49:19.303" LastActivityDate="2014-08-24T02:49:19.303" Title="MAX 1 in 2 SAT Algorithm" Tags="&lt;graph-algorithms&gt;&lt;sat&gt;&lt;max2sat&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="25582" PostTypeId="2" ParentId="25581" CreationDate="2014-08-22T07:13:33.637" Score="17" Body="&lt;p&gt;A monotone 1-in-2 clause demands that the two variables have different values. Thus, you can model the problem as a graph problem, with one vertex per variable which is to be colored black or white, and an edge for a clause indicating the colors need to be different. Thus, the question is to make the graph bipartite by deleting a minimum number of edges. This is the &lt;a href=&quot;http://en.wikipedia.org/wiki/Maximum_cut&quot;&gt;MaxCut&lt;/a&gt; or Edge Bipartization problem. It is NP-hard.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For Edge Bipartization, there is &lt;a href=&quot;http://dx.doi.org/10.1016/j.jcss.2006.02.001&quot;&gt;an algorithm&lt;/a&gt; that runs fast when few edges need to be deleted. I wrote an implementation for a slightly more general problem described &lt;a href=&quot;http://dx.doi.org/10.7155/jgaa.00177&quot;&gt;here&lt;/a&gt; (&lt;a href=&quot;http://www.user.tu-berlin.de/hueffner/bsg/&quot;&gt;source code&lt;/a&gt;).&lt;/p&gt;&#xA;" OwnerUserId="251" LastEditorUserId="251" LastEditDate="2014-08-22T11:27:24.293" LastActivityDate="2014-08-22T11:27:24.293" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="25584" PostTypeId="2" ParentId="25576" CreationDate="2014-08-22T15:44:40.750" Score="1" Body="&lt;p&gt;here are two refs with some analysis of this problem and the first shows/ measures performance improvements over batch algorithms.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://link.springer.com/article/10.1007%2Fs10462-011-9250-x&quot; rel=&quot;nofollow noreferrer&quot;&gt;Incremental K-clique clustering in dynamic social networks&lt;/a&gt; Duan, Li, Lu&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Based on the change stream model, the incremental version of a well known k-clique clustering problem is studied and incremental k-clique clustering algorithms are proposed based on local DFS (depth first search) forest updating technique. It is theoretically proved that the proposed algorithms outperform corresponding static ones and incremental spectral clustering algorithm in terms of time complexity. ... Experimental results show that incremental k-clique clustering algorithms are much more efficient than corresponding static ones, and have no accumulating errors that incremental spectral clustering algorithm has and can capture the evolving details of the clusters that snapshot graph model based algorithms miss.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://ieeexplore.ieee.org/xpl/login.jsp?tp=&amp;amp;arnumber=5370363&amp;amp;url=http%3A%2F%2Fieeexplore.ieee.org%2Fiel5%2F5367971%2F5369069%2F05370363.pdf%3Farnumber%3D5370363&quot; rel=&quot;nofollow noreferrer&quot;&gt;A Realtime Clique Detection Algorithm: Time-Based Incremental Label Propagation&lt;/a&gt; Pang, Chen, Wei&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2014-08-22T15:44:40.750" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25586" PostTypeId="2" ParentId="25576" CreationDate="2014-08-22T16:59:49.563" Score="6" Body="&lt;p&gt;First of all I think you mean a maximum clique, not all cliques (and even not maximal cliques). As otherwise e.g in $K_n$ there are $2^n−1$ cliques.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If the question is the one that I said, then there is no polynomial time online algorithm for update (unless P=NP). If there is such an algorithm $A$, given a graph $G$, we can find a maximum clique of $G$ in polynomial time. Just start from a graph on $n$ vertex without any edge and add edges of $G$ one by one and update information in each step by $A$. After adding all edges we have a maximum clique. Note that if we use exponential memory at some steps we can do this, but to write on exponential memory we need exponential time as well.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Maybe there are some heuristics.&lt;/p&gt;&#xA;" OwnerUserId="1846" LastActivityDate="2014-08-22T16:59:49.563" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25587" PostTypeId="1" CreationDate="2014-08-22T17:11:16.160" Score="1" ViewCount="118" Body="&lt;p&gt;Given a matrix $A$ with distinct eigenvalues, can I find a sparsest eigenvector of it in polynomial time?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is tempting to say that one can simply compute the eigenvectors and pick the sparsest among them. However, I believe methods for computing eigenvectors do so with additive error. Indeed, since the eigenvectors may have irrational entries, computing them exactly is hopeless. And knowing the eigenvector with any fixed additive error may not give a definitive answer about whether a particular entry is zero or not. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course, this gives rise to the question of what, exactly, I mean by finding a sparsest eigenvector. I'm fairly flexible here - but for the sake of definiteness, let us say that if $v$ is some sparsest eigenvector, then I am happy with  an $\epsilon$ additive approximation $v^{\epsilon}$ to $v$ which has the further property that if $v_i=0$ then $v_i^{\epsilon}=0$. &lt;/p&gt;&#xA;" OwnerUserId="27033" LastEditorUserId="27033" LastEditDate="2014-08-22T17:48:52.113" LastActivityDate="2014-08-22T17:48:52.113" Title="Computing a sparse eigenvector" Tags="&lt;ds.algorithms&gt;&lt;linear-algebra&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25588" PostTypeId="1" AcceptedAnswerId="25589" CreationDate="2014-08-22T17:28:49.417" Score="4" ViewCount="241" Body="&lt;p&gt;An $(\alpha, \beta)$ bi-criteria approximation algorithm for $k$-center is defined as an algorithm that returns a solution whose value is $\beta \cdot OPT$ ($OPT$ being the optimal solution for the $k$-center instance) using at most $\alpha \cdot k$ centers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is: Given that finding a $(1,1)$bi-criteria approximation (which is basically just the optimal solution to the $k$-center problem, known to be $NP$-hard) is $NP$-hard, is it also true that finding a $(c, 1)$ bi-criteria approximation is $NP$-hard, where $c$ is a positive constant? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I've found that it is possible to have a $(\log k, 1)$ approximation for $k$-center, but not seen any negative results for a $(c, 1)$ bi-criteria approximation. I would appreciate if I can get pointers to a reference that I may have missed, or an outline of the proof sketch if its something trivial.&lt;/p&gt;&#xA;" OwnerUserId="4119" LastEditorUserId="4119" LastEditDate="2014-08-22T18:56:40.573" LastActivityDate="2014-08-24T05:02:05.527" Title="Inapproximability of $(\alpha, \beta)$ bi-criteria approximation" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;&lt;approximation-algorithms&gt;&lt;approximation-hardness&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25589" PostTypeId="2" ParentId="25588" CreationDate="2014-08-22T20:19:13.353" Score="5" Body="&lt;p&gt;This problem generalizes dominating set: given an unweighted graph, there exists a set of k centers such that all other vertices are at distance 1 from them if and only if there exists a dominating set of size k.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Dominating set is hard to approximate with a ratio better than $\ln n$. In the above observation the optimal value for the k-center problem is either 1 or at least 2. Let $A$ be a $(c,2-\epsilon)$ bi-criteria approximation for $k$-center for some $c &amp;lt; \ln n$. If a dominating set of size $k$ exists, then the corresponding $k$-center problem would have optimum cost of 1, and $A$ would return a solution of cost at most $2-\epsilon$ using at most $k \ln n$ centers. Thus, $A$ can be used to find a $\ln n$ approximation for dominating set, which is known to be not possible. Therefore, I think that no $(c,2-\epsilon)$ bi-criteria approximation can exist for $c&amp;lt;\ln n$.&lt;/p&gt;&#xA;" OwnerUserId="3168" LastEditorUserId="4119" LastEditDate="2014-08-24T05:02:05.527" LastActivityDate="2014-08-24T05:02:05.527" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25590" PostTypeId="2" ParentId="25581" CreationDate="2014-08-22T22:13:42.377" Score="14" Body="&lt;p&gt;An exact algorithm for the Max Monotone 1 in 2 Sat problem (i.e., MaxCut) running faster than $2^n$ (about $O(1.8^n)$ time) can be found in Chapter 6 of my PhD thesis, here: &lt;a href=&quot;http://web.stanford.edu/~rrwill/thesis.pdf&quot;&gt;http://web.stanford.edu/~rrwill/thesis.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I don't know of another exact algorithm for the problem that improves over exhaustive search on all instances. For sparse instances (with $O(n)$ clauses), Greg Sorkin and his coauthors have a number of algorithmic results. See here: &lt;a href=&quot;https://sites.google.com/site/gregorysorkin/pubx&quot;&gt;https://sites.google.com/site/gregorysorkin/pubx&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="225" LastActivityDate="2014-08-22T22:13:42.377" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="25593" PostTypeId="2" ParentId="25573" CreationDate="2014-08-23T17:20:00.683" Score="11" Body="&lt;p&gt;Barendregts &lt;a href=&quot;http://ttic.uchicago.edu/~dreyer/course/papers/barendregt.pdf&quot;&gt;Lambda Calculi with Types&lt;/a&gt; is more advanced, but it covers some important topics in the &quot;classical&quot; theory of types.&lt;/p&gt;&#xA;" OwnerUserId="3984" LastActivityDate="2014-08-23T17:20:00.683" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="25594" PostTypeId="2" ParentId="21130" CreationDate="2014-08-23T21:51:09.067" Score="12" Body="&lt;p&gt;My favorite example is the independent domination problem (given graph $G$ and integer $k$, &#xA;does $G$ have an inclusion-maximal independent set of at most $k$ vertices?). &#xA;By a nice result due to Martin Farber (&lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/0167637782900153&quot;&gt;see here&lt;/a&gt;), the unweighted version is polynomially solvable in chordal graphs. &#xA;Gerard Chang proves that the weighted version is NP-complete for chordal graphs &#xA;(&lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0166218X03006449#&quot;&gt;see here&lt;/a&gt;). &lt;/p&gt;&#xA;" OwnerUserId="6706" LastActivityDate="2014-08-23T21:51:09.067" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25595" PostTypeId="2" ParentId="25551" CreationDate="2014-08-24T09:39:25.917" Score="1" Body="&lt;p&gt;Automata are not really needed to prove this result. Let $K$ be a regular language and let $R = \{w \in A^* \mid h^{-1}h(w) \subset K \}$. Then the complement of $R$ is $$R^c = \{w \in A^* \mid h^{-1}h(w) \cap K^c \not= \emptyset \} = h^{-1}h(K^c).$$ Since regular languages are closed under homomorphisms, inverse of homomorphisms and complementation, $R$ is regular. Now if $L$ is another regular language, the set $\{w \in L \mid h^{-1}h(w) \subset K \}$ is equal to $L \cap R$, which is regular as well.&lt;/p&gt;&#xA;" OwnerUserId="17203" LastActivityDate="2014-08-24T09:39:25.917" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25598" PostTypeId="1" AcceptedAnswerId="25599" CreationDate="2014-08-25T04:22:52.290" Score="2" ViewCount="100" Body="&lt;p&gt;Consider a set of $n$ points in $R^d$ which are covered by some finitely many (say $k$) unit balls. Can we approximate the value of $k$ by querying only sublinear many points. More precisely, by sampling $poly(\frac{1}{\epsilon},\mathcal{o(n)})$ points from the set, algorithm outputs some good enough approximation of $k$ &lt;em&gt;i.e.&lt;/em&gt;, $\lceil{k(1+\epsilon)\rceil}$.&lt;/p&gt;&#xA;" OwnerUserId="22594" LastActivityDate="2014-08-25T07:23:06.937" Title="Approximating the value of k in $k$-mean clustering problem" Tags="&lt;approximation-algorithms&gt;&lt;clustering&gt;&lt;computational-geometry&gt;&lt;sample-complexity&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="25599" PostTypeId="2" ParentId="25598" CreationDate="2014-08-25T07:14:34.533" Score="3" Body="&lt;p&gt;This problem is known as &lt;em&gt;Geometric Set Cover&lt;/em&gt; (which deals with covering with different shapes, so unit balls are a special case). I'm unaware of any relation to $k$-means which is a clustering algorithm whose clusters are not limited in radius.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem is known to be NP-complete for $k\geq 2$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For unit balls, &lt;a href=&quot;https://people.mpi-inf.mpg.de/~saurabh/Papers/localsearch.pdf&quot; rel=&quot;nofollow&quot;&gt;this problem has a PTAS&lt;/a&gt; ( ($1+\epsilon$)-approximation) ) for the 2D case and &lt;a href=&quot;http://2011.cccg.ca/PDFschedule/papers/paper102.pdf&quot; rel=&quot;nofollow&quot;&gt;is known to be APX-hard for $d=3$&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="21001" LastEditorUserId="21001" LastEditDate="2014-08-25T07:23:06.937" LastActivityDate="2014-08-25T07:23:06.937" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25601" PostTypeId="2" ParentId="25555" CreationDate="2014-08-25T14:49:30.510" Score="11" Body="&lt;p&gt;The circuit complexity of any boolean function of $n$ variables is at most $(1+o(1))2^n/n$, so a separation of between circuit and formula complexity of $\Omega(2^n)$ is not possible. This upper bound was established by Lupanov, and his method is known as the Lupanov representation of boolean functions. It also gives an upper bound of $(1+o(1))2^n/\log n$ for the formula complexity of any $n$-variable boolean function. See for example these &lt;a href=&quot;http://www.math.ucsd.edu/~sbuss/CourseWeb/Math262A_2013F/Scribe02.pdf&quot; rel=&quot;noreferrer&quot;&gt;lecture notes&lt;/a&gt; for a detailed presentation. Of course this does not rule out a separation of $2^{\Omega(n)}$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;To the best of my knowledge the biggest separation known currently is $n^{3-o(1)}$ (over the de&amp;nbsp;Morgan basis). It was &lt;a href=&quot;http://www.computer.org/csdl/proceedings/focs/1993/4370/00/0366876-abs.html&quot; rel=&quot;noreferrer&quot;&gt;proved by Håstad&lt;/a&gt; for a function with linear circuit complexity. This was an improvement on the method of Andreev, who showed a formula size lower bound of $\Omega(n^{2.5})$ for the same function using the method of random restrictions. You can check &lt;a href=&quot;http://www.math.rutgers.edu/~sk1233/courses/topics-S13/lec2.pdf&quot; rel=&quot;noreferrer&quot;&gt;these notes&lt;/a&gt; for Andreev's proof. Håstad's bound is essentially tight for Andreev's method.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The class of functions computable by polynomial size formulas coincides with (nonuniform) NC1 and the class of functions computable by polysize circuits is P/poly. Separating these two classes is a well-known open problem in complexity theory, and is almost certainly well out of reach. &lt;/p&gt;&#xA;" OwnerUserId="4896" LastEditorUserId="17082" LastEditDate="2014-08-26T11:01:50.437" LastActivityDate="2014-08-26T11:01:50.437" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="25603" PostTypeId="1" CreationDate="2014-08-26T14:28:34.630" Score="8" ViewCount="301" Body="&lt;p&gt;A function $f\colon\{0,1\}^n\to\{0,1\}$ is called an affine disperser for dimension $d$, if for every affine subspace $S\subseteq \{0,1\}^n$ of dimension at least $d$, $f$ is not constant on $S$. This means that $n-d$ linear substitutions of the form&#xA;$x_i=\bigoplus_{j\neq i}{x_j\cdot b_j}\oplus b_0$, where $b_i\in \{0,1\}$ do not make the function constant.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, the inner product function $IP(x_1, y_1, \ldots, x_{n/2}, y_{n/2})=\bigoplus{x_i\cdot y_i}$ is an affine disperser for dimension $\frac{n}{2}+1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Using the probabilistic method one can easily show that affine dispersers for dimension $o(n)$ do exist.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.math.rutgers.edu/~sk1233/affine-disperser.pdf&quot;&gt;Ben-Sasson and Kopparty&lt;/a&gt;, &lt;a href=&quot;http://cs.haifa.ac.il/~ronen/online_papers/AffineDisp.pdf&quot;&gt;Shaltiel&lt;/a&gt; showed that there are affine dispersers for dimension $o(n)$ in P.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let's say that a function $f$ is a $2$-affine disperser for dimension $d$, if it is not constant after $n-d$ substitutions of the form $x_i=b$ and $x_i=x_j\oplus b$, where $b$'s are constants. It is possible to show (Lemma~$4$ in &lt;a href=&quot;http://cm.bell-labs.com/who/francis/papers/stoc97.pdf&quot;&gt;Paturi, Saks, Zane&lt;/a&gt;) that almost all polynomials of degree $2$ are $2$-dispersers for dimension $o(n)$ ($k$-wise independent distributions allow us to derandomize the construction to obtain an explicit function).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It seems that this restriction to 'short' substitutions makes it much easier to find explicit affine dispersers. &lt;strong&gt;The first question is: do you know a 'simple' argument showing that some 'explicit' function is a $3$-affine disperser for dimension $o(n)$?&lt;/strong&gt; By this I mean a function $f\in NP$ which does not become a constant even after $n-o(n)$ substitutions of the form $x_i=x_j\oplus x_k\oplus b$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let's consider the following extension of affine dispersers. Now we allow linear and 'quadratic' substitutions. We start with a function of $n$ variables. Then we make a substitution of the form $x_i=\bigoplus_{j\neq i}{x_j\cdot b_j}\oplus b_0$ or $x_i=(x_j\oplus b_j)\cdot(x_k\oplus b_k)\oplus b$, s.t. the substitution makes it a function of $n-1$ variables (i.e., after substituting $x_i$, it will never appear in the subsequent substitutions). We make $n-k$ substitutions as above and require the resulting function of $k$ variables to be non-constant. Again, the probabilistic argument shows that these functions exist for dimension $k=o(n)$. &lt;strong&gt;My main question is whether it is possible to find dispersers of this kind for dimension $o(n)$ in NP?&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If it helps, we may consider functions with $o(n)$ outputs rather than functions outputting one bit only.&lt;/p&gt;&#xA;" OwnerUserId="7454" LastActivityDate="2014-08-26T14:28:34.630" Title="Extensions of Affine Dispersers" Tags="&lt;cc.complexity-theory&gt;&lt;linear-algebra&gt;&lt;derandomization&gt;" AnswerCount="0" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="25605" PostTypeId="2" ParentId="25561" CreationDate="2014-08-26T20:34:01.217" Score="0" Body="&lt;p&gt;If a reverse of a modulo $M$ exists, it means that $\gcd(a,M)=1$, so you can just use the extended Euclidean algorithm to find $x$ and $y$ that satisfy $ax+My=1$. From here $x$ will be the reverse modulo $M$. And the running time of the extended Euclidean algorithm is $O(\log(\max(a, M)))$. Here you have $b=1$.&lt;/p&gt;&#xA;" OwnerUserId="17096" LastEditorUserId="634" LastEditDate="2014-08-26T21:24:03.617" LastActivityDate="2014-08-26T21:24:03.617" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="25607" PostTypeId="2" ParentId="25561" CreationDate="2014-08-27T03:33:10.807" Score="4" Body="&lt;p&gt;Let us call the function which takes $(a,b)$ to $r$ such that $a = bq + r$ with $r &amp;lt; b$ (and all of $a,b,q,r$ nonnegative integers) the Remainder function. This function cannot be computed &lt;em&gt;at all&lt;/em&gt; using &lt;em&gt;only&lt;/em&gt; ring operations in the integers: any function that can be computed using only ring operations is a polynomial of its inputs, so if the Remainder function could be computed using only ring operations, it would follow that $Remainder(a,b) = f(a,b)$ for some integer polynomial $f$. For any fixed $b &amp;gt; 1$, the function $g(x) = f(x,b)$ would then be a univariate polynomial. Now, $g(b+1) = 1$, so $g(x)$ is not identically zero; but $g(x) = 0$ whenever $b | x$, so $g(x)$ has infinitely many zeroes, a contradiction.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, if you allow $&amp;lt;$ in addition to ring operations, then the Remainder function can be computed in polynomially many steps (in the number of bits of the input) as follows: start with $q=1$ and check if $qb &amp;gt; a$ (if so, then the remainder is just $a$). Otherwise, multiply $q$ by $2$ repeatedly until $qb &amp;gt; a$. Then do binary search on $q$ to find $q$ such that $qb \leq a$ and $(q+1)b &amp;gt; a$, and finally output $a - bq$. This takes $O(\log (a/b))$ ring operations and comparisons; on most standard Boolean models of computation each such operation can be done in nearly $O(\log a)$ time.&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2014-08-27T03:33:10.807" CommentCount="14" ContentLicense="CC BY-SA 3.0" />
  <row Id="25608" PostTypeId="2" ParentId="25573" CreationDate="2014-08-27T05:27:35.327" Score="4" Body="&lt;p&gt;Another nice book that weaves type theory with programming in a functional language is Didier Remy's &lt;a href=&quot;http://gallium.inria.fr/~remy/cours/appsem/ocaml.pdf&quot; rel=&quot;nofollow&quot;&gt;Using, Understanding, and Unraveling the OCaml Language&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="236" LastActivityDate="2014-08-27T05:27:35.327" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25611" PostTypeId="1" CreationDate="2014-08-27T08:39:55.033" Score="13" ViewCount="373" Body="&lt;p&gt;Let &lt;span class=&quot;math-container&quot;&gt;$M$&lt;/span&gt; be an acyclic NFA.&lt;/p&gt;&#xA;&lt;p&gt;Since &lt;span class=&quot;math-container&quot;&gt;$M$&lt;/span&gt; is acyclic, &lt;span class=&quot;math-container&quot;&gt;$L(M)$&lt;/span&gt; is finite.&lt;/p&gt;&#xA;&lt;p&gt;In a &lt;a href=&quot;https://cstheory.stackexchange.com/questions/8200/counting-words-accepted-by-a-regular-grammar&quot;&gt;related question&lt;/a&gt;, it was suggested that exact counting of the number of words accepted by &lt;span class=&quot;math-container&quot;&gt;$M$&lt;/span&gt; is &lt;span class=&quot;math-container&quot;&gt;$\#P$&lt;/span&gt;-Complete.&lt;/p&gt;&#xA;&lt;p&gt;The second answer for that question provides a counting algorithm, but only works for &lt;em&gt;unambiguous&lt;/em&gt; NFAs (where every word is accepted by at most a single path).&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Given an NFA &lt;span class=&quot;math-container&quot;&gt;$M$&lt;/span&gt;, can we approximate &lt;span class=&quot;math-container&quot;&gt;$|L(M)|$&lt;/span&gt; in polynomial time?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;hr /&gt;&#xA;&lt;p&gt;As automata is a highly studied subject, I was surprised that I couldn't find anything about this, so if someone knows of a reference it'll be great :).&lt;/p&gt;&#xA;" OwnerUserId="21001" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2020-10-09T10:15:31.860" Title="Can we approximate the number of words accepted by an NFA?" Tags="&lt;ds.algorithms&gt;&lt;fl.formal-languages&gt;&lt;approximation-algorithms&gt;&lt;automata-theory&gt;&lt;counting-complexity&gt;" AnswerCount="0" CommentCount="6" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="25614" PostTypeId="1" AcceptedAnswerId="25641" CreationDate="2014-08-27T11:26:24.143" Score="9" ViewCount="373" Body="&lt;p&gt;Let $d:\{0,1\}^k\times \{0,1\}^k \to \mathbb{R}$ be a function which we refer to as the &lt;em&gt;similarity function&lt;/em&gt;.&#xA;Examples of similarity function are &#xA;cosine distance, $l_2$ norm, Hamming distance, Jaccard similarity, etc.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider $n$ binary vectors of length $k$: $\vec{v} \in (\{0,1\}^k)^n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Our goal is to group vectors which are similar. &#xA;More formally,&#xA;we want to compute a &lt;em&gt;similarity graph&lt;/em&gt; where &#xA;nodes are the vectors and &#xA;edges represent vectors which are similar ($d(v,u) \leq \epsilon$). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$n$ and $k$ are very large numbers, and &#xA;comparing two length $k$ vectors is expensive, &#xA;we cannot do all brute-force $O(n^2)$ operations. &#xA;We want to compute the similarity graph with significantly less operations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is this possible?&#xA;If not can we compute an approximation to the graph&#xA;which contains all edges in the similarity graph &#xA;plus possibly at most $O(1)$ other edges?&lt;/p&gt;&#xA;" OwnerUserId="22594" LastEditorUserId="21001" LastEditDate="2014-08-28T05:36:08.330" LastActivityDate="2014-08-30T00:04:50.587" Title="Finding similar vectors in subquadratic time" Tags="&lt;ds.algorithms&gt;&lt;graph-algorithms&gt;&lt;clustering&gt;" AnswerCount="1" CommentCount="10" FavoriteCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25617" PostTypeId="1" AcceptedAnswerId="25625" CreationDate="2014-08-27T15:18:40.240" Score="48" ViewCount="6872" Body="&lt;p&gt;Despite several years of classes, &#xA;I'm still at a loss when it comes to choosing a research topic.&#xA;I've been looking over papers from different areas and &#xA;spoken with professors, and &#xA;I'm beginning to think this is the wrong approach. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I've read that it helps to find an interesting problem (nevermind the area) and &#xA;to then work on that. &#xA;Textbooks mention famous unsolved ones but &#xA;I wouldn't want to tackle them directly. &#xA;Research papers only mentioned positive results, &#xA;not failed attempts.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;How can I find interesting research problems?&#xA;How do you find interesting research problems?&#xA;Is there a list somewhere?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;How do you decide if it is worth to work on a particular problem?&lt;/p&gt;&#xA;" OwnerUserId="27077" LastEditorUserId="186" LastEditDate="2014-08-27T23:12:21.393" LastActivityDate="2014-09-02T18:12:08.990" Title="How to find interesting research problems" Tags="&lt;soft-question&gt;&lt;research-practice&gt;&lt;advice-request&gt;&lt;career&gt;" AnswerCount="3" CommentCount="6" FavoriteCount="25" ContentLicense="CC BY-SA 3.0" />
  <row Id="25618" PostTypeId="1" CreationDate="2014-08-27T16:09:41.227" Score="8" ViewCount="424" Body="&lt;p&gt;Given an algebraic number $\alpha$, &#xA;I am interested in finding an approximation of $\Re(e^\alpha)$&#xA;up to a given precision, &#xA;where $\Re()$ refers to the real part of the complex number. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Formally, I want to compute a rational number $r$ such that &#xA;$$|\Re(e^\alpha)-r|\leq 2^{-n}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\alpha$ is given by a (standard) minimal polynomial. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;How fast can we solve this problem? &lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;When $\alpha$ is given as a floating point, &#xA;the following reference &lt;/p&gt;&#xA;&#xA;&lt;p&gt;R. Brent. Fast multiple-precision evaluation of elementary functions. JACM, 1976. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;seems to give an answer. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, &#xA;I am not sure it can be used for the algebraic number $\alpha$.  &lt;/p&gt;&#xA;" OwnerUserId="22166" LastEditorUserId="186" LastEditDate="2014-08-27T22:10:36.887" LastActivityDate="2014-09-05T21:18:21.087" Title="The exponential function over algebraic numbers" Tags="&lt;cc.complexity-theory&gt;&lt;na.numerical-analysis&gt;&lt;computing-over-reals&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="25621" PostTypeId="1" CreationDate="2014-08-27T23:59:18.060" Score="13" ViewCount="261" Body="&lt;p&gt;The wikipedia page on PSPACE mentions that the inclusion $NL\subset PH$ is not known to be strict (unfortunately without references). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Q1: What about $L\subset PH$ and $L\subset P^{\#P}$ - are these known to be strict? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Q2: If no, is there an established class $C$ which contains $P^{\#P}$ and for which it is not known if the inclusion $L\subset C$ is strict?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Q3: Are such inclusions discussed in literature?&lt;/p&gt;&#xA;" OwnerUserId="7513" LastEditorUserId="7513" LastEditDate="2014-08-28T13:45:06.000" LastActivityDate="2014-08-28T22:32:06.070" Title="Large classes which contain LOGSPACE for which strict inclusions are unknown" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;logspace&gt;" AnswerCount="1" CommentCount="6" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="25622" PostTypeId="2" ParentId="25500" CreationDate="2014-08-28T11:26:17.180" Score="8" Body="&lt;p&gt;Our recent paper shows that counting k-matchings is #W[1]-hard even in bipartite graphs. This answers your question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://arxiv.org/abs/1407.2929&quot;&gt;Radu Curticapean, Dániel Marx: Complexity of counting subgraphs: only the boundedness of the vertex-cover number counts. CoRR abs/1407.2929 (2014)&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="3189" LastActivityDate="2014-08-28T11:26:17.180" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25623" PostTypeId="1" CreationDate="2014-08-28T12:50:24.177" Score="0" ViewCount="100" Body="&lt;p&gt;I overheard in discussion tonight:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;You know - you can represent a computer program as points on a Hilbert Curve. &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Is there a reference that explains this concept? I can't seem to Google for it. &lt;/p&gt;&#xA;" OwnerUserId="608" LastActivityDate="2014-08-28T12:50:24.177" Title="Can I represent a computer program on a Hilbert Curve?" Tags="&lt;constructive-mathematics&gt;&lt;knowledge-representation&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="25624" PostTypeId="1" AcceptedAnswerId="41813" CreationDate="2014-08-28T12:52:09.063" Score="15" ViewCount="289" Body="&lt;p&gt;One can talk of the &lt;a href=&quot;https://en.wikipedia.org/wiki/Treewidth&quot; rel=&quot;noreferrer&quot;&gt;treewidth&lt;/a&gt; of a Boolean circuit, defining it as the treewidth of the &quot;moralized&quot; graph on wires (vertices) obtained as follows: connect wires &lt;span class=&quot;math-container&quot;&gt;$a$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$b$&lt;/span&gt; whenever &lt;span class=&quot;math-container&quot;&gt;$b$&lt;/span&gt; is the output of a gate having &lt;span class=&quot;math-container&quot;&gt;$a$&lt;/span&gt; as input (or vice-versa); connect wires &lt;span class=&quot;math-container&quot;&gt;$a$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$b$&lt;/span&gt; whenever they are used as inputs to the same gate. &lt;strong&gt;Edit:&lt;/strong&gt; one can equivalently define the treewidth of the circuit as that of the graph representing it; if we use associativity to rewite all AND and OR gates to have fan-in at most two, the treewidth according to either definition is the same up to a factor &lt;span class=&quot;math-container&quot;&gt;$3$&lt;/span&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is at least one problem that is known to be untractable in general but tractable on Boolean circuits of bounded treewidth: given a probability for each of the input wires to be set to 0 or 1 (independently from the others), compute the probability that a certain output gate is 0 or 1. This is generally #P-hard by a reduction from e.g. #2SAT, but it can be solved in PTIME on circuits whose treewidth is assumed to be less than a constant, using the &lt;a href=&quot;https://en.wikipedia.org/wiki/Junction_tree_algorithm&quot; rel=&quot;noreferrer&quot;&gt;junction tree algorithm&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is to know whether there are &lt;em&gt;other&lt;/em&gt; problems, beyond probabilistic computation, that are known to be intractable in general but tractable for bounded-treewidth circuts, or whose complexity can be described as a function of the circuit size and also of its treewidth. My question is not specific to the Boolean case; I am also interested in &lt;a href=&quot;https://en.wikipedia.org/wiki/Arithmetic_circuit&quot; rel=&quot;noreferrer&quot;&gt;arithmetic circuits&lt;/a&gt; over other semirings. Do you see any such problems?&lt;/p&gt;&#xA;" OwnerUserId="4795" LastEditorUserId="4795" LastEditDate="2018-10-29T16:33:24.473" LastActivityDate="2018-10-29T16:40:04.243" Title="What are bounded-treewidth circuits good for?" Tags="&lt;circuit-complexity&gt;&lt;pr.probability&gt;&lt;treewidth&gt;&lt;arithmetic-circuits&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="2" ContentLicense="CC BY-SA 4.0" />
  <row Id="25625" PostTypeId="2" ParentId="25617" CreationDate="2014-08-28T15:09:00.357" Score="39" Body="&lt;p&gt;I strongly disagree with the &quot;find a list of open problems&quot; approach. Usually open problems are quite hard to make progress on, and I'm thoroughly unconvinced that good research is done by tackling some hard but uninteresting problem in a technical area.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;That being said, of course solving an open problem is really good for academic credentials. But that's not what you are asking.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Research is a process designed to generate &lt;em&gt;understanding&lt;/em&gt; at a high level. Solving technical problems is a means to that end: often the problem and its solution illuminate the structure or behavior of some scientific phenomenon (a mathematical structure, a programing language practice, etc).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So my first suggestion is: find a problem that you want to understand. Research is fundamentally about confusion. Are there some specific topics you are interested in, but that you feel you have a fundamentally incomplete comprehension of, or that seem technically clear, but that you lack any good intuition for? Those are good starting points. Follow Terry Tao's &lt;a href=&quot;http://terrytao.wordpress.com/career-advice/ask-yourself-dumb-questions-%E2%80%93-and-answer-them/&quot;&gt;advice&lt;/a&gt; ask yourself dumb questions! A lot of good research comes out of these considerations. In fact, this whole &lt;a href=&quot;http://terrytao.wordpress.com/career-advice/&quot;&gt;page&lt;/a&gt; contains a lot of good advice. Note that if you are looking at a well-explored problem or field, it's unlikely you'll get original insights right away, so it's important to read up on literature concurrently with your own explorations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Second, don't discount communicating with your Professors. Ask them about their own research, not necessarily about projects they want to give you. Engage in a conversation! This helps you find out what you are interested in, but also what the research landscape looks like in their field. Research doesn't happen in a vacuum, so you should speak to your fellow students, PhDs in your department, go to talks and workshops at your university, etc. You'll find that being immersed in a research environment helps you do research a lot more than finding a list or specific problem and locking yourself in your office.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, I would suggest working on something &lt;em&gt;small&lt;/em&gt;. Research is bottom-up much more than it is top down, and it's rare that a very simple task (writing a proof or a program) turns out to be as simple as you expected it to. Doing several small projects that are not research-scale (expanding on homework, writing up an explanation of something you learned) often build up into genuine research level stuff. It's common to try to &quot;go big&quot; at the beginning, but that's just now how our brains work.&lt;/p&gt;&#xA;" OwnerUserId="3984" LastEditorUserId="3984" LastEditDate="2014-09-02T18:12:08.990" LastActivityDate="2014-09-02T18:12:08.990" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="25626" PostTypeId="2" ParentId="25617" CreationDate="2014-08-28T15:33:03.147" Score="1" Body="&lt;p&gt;this is ultimately a subjective and personal question and &quot;over the long run&quot; what problems are considered important to some degree go in and out of scientific fashion, but there can be some rough common guidelines that many would agree with, and also top experts have considered the question. problems are quite ubiquitous and its more a process of narrowing it down.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;#1 on the list is almost always, talk to your advisor! it is part of their job &amp;amp; if s/he is not forthcoming with any ideas than maybe thats not a great sign &amp;amp; consider you might benefit from or need another.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;what are many people in your university working on? each university typically has particular specializations and there will be enthusiasm or even excitement for particular areas/ problems.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;look at awards in the field to see what areas they study, or prizes. in TCS its &lt;a href=&quot;http://en.wikipedia.org/wiki/Turing_Award&quot; rel=&quot;nofollow noreferrer&quot;&gt;Turing award&lt;/a&gt;, &lt;a href=&quot;http://en.wikipedia.org/wiki/Godel_prize&quot; rel=&quot;nofollow noreferrer&quot;&gt;Godel prize&lt;/a&gt;, &lt;a href=&quot;http://en.wikipedia.org/wiki/Nevanlinna_prize&quot; rel=&quot;nofollow noreferrer&quot;&gt;Nevanlinna Prize&lt;/a&gt;, &lt;a href=&quot;http://en.wikipedia.org/wiki/Millennium_Prize_Problems&quot; rel=&quot;nofollow noreferrer&quot;&gt;Millenium prizes&lt;/a&gt;. obviously these are for very top/breakthrough work but by nature they all encompass large areas where there is incremental work.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/questions/22191/what-cs-blogs-should-everyone-read&quot;&gt;top TCS blogs&lt;/a&gt; are a great source of taking the pulse of the community interest in various problems.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;also to answer this question it may be insightful to &quot;go back to the roots&quot; in the following sense. one of the legendary masters in this area among the greatest track record possible is Hilbert the mathematician, and many of his fundamental ideas on problem selection apply &amp;amp; are worth reviewing/ studying. many of his &lt;a href=&quot;http://en.wikipedia.org/wiki/Hilbert&amp;#39;s_problems&quot; rel=&quot;nofollow noreferrer&quot;&gt;open problems&lt;/a&gt; that drove math at the turn of the 20th century turned out to have amazing/ deep connections to algorithmic theory wrt eg undecidability, eg Godel's thm, the Halting problem, and the pivotal &lt;a href=&quot;http://en.wikipedia.org/wiki/Hilberts_tenth_problem&quot; rel=&quot;nofollow noreferrer&quot;&gt;10th problem&lt;/a&gt;. his views are summarized by &lt;a href=&quot;http://www.ams.org/bookstore/pspdf/mbk-78-prev.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Lagarias, sec 9&lt;/a&gt; in evaluating the Collatz conjecture as a &quot;good problem&quot;:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;It is difficult and often impossible to judge the value of a problem&#xA;  correctly in advance; for the final award depends upon the gain&#xA;  which science obtains from the problem. Nevertheless we can ask&#xA;  whether there are general criteria which mark a good mathematical&#xA;  problem. An old French mathematician said: “A mathematical&#xA;  theory is not to be considered complete until you have made it so&#xA;  clear that you can explain it to the first man that you meet on the&#xA;  street.” This clearness and ease of comprehension, here insisted&#xA;  on for a mathematical theory, I should still more demand for a&#xA;  mathematical problem if it is to be perfect; for what is clear and&#xA;  easily comprehended attracts, the complicated repels us.&#xA;  Moreover a mathematical problem should be difficult in order&#xA;  to entice us, but not completely inaccessible, lest it mock at our&#xA;  efforts. It should be to us a guide post on the mazy paths to hidden&#xA;  truths, and ultimately a reminder of our pleasure in its successful&#xA;  solution.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Lagarias summarizes these elements as:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Is the problem clear, and simply stated problem?&lt;/li&gt;&#xA;&lt;li&gt;Is it a difficult problem?&lt;/li&gt;&#xA;&lt;li&gt;Does it seem accessible and not &quot;mock our efforts to solve it&quot;?&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;unfortunately many open problems fail on #3 but as mentioned, there are always nearby problems and relaxations that are considered more accessible, and even just formulating these relaxations can be considered part of valid research.&lt;/p&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2014-08-28T15:33:03.147" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="25627" PostTypeId="2" ParentId="12412" CreationDate="2014-08-28T17:41:28.570" Score="4" Body="&lt;p&gt;To understand Applicative, as induced by a monad, I want to point out the following construction: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The Yoneda lemma implies that there is an isomorphism between $FA$ and $\mathrm{nat}(\mathrm{Hom}(A,B),FB)$. In the category of Haskell types, this is the mapping&#xA;$$a\mapsto\left(g\mapsto F(g)(a)\right)$$ &#xA;of type&#xA;$$FA\to B^A\to FB.$$ &#xA;Evaluating at $FA$, then applying the functors arrow map to the resulting function - if the components of the natural transformation make sense as arrows - and abstracting $FA$ again, we obtain a mapping of type &#xA;$$FA\to F\,B^A\to FFB.$$ &#xA;Now if the functor comes with a monadic 'join', mapping from $FFB$ to $FB$, and if we switch around the lambda abstractions and thus the first two argument slots, we can we can obtain a function of type &#xA;$$F\,B^A\to FA\to FB,$$ &#xA;which one denotes by &amp;lt;*&gt;. &#xA;(This is also what you get via $\mathrm{LiftM2\ id}$ in Haskell.)&lt;/p&gt;&#xA;" OwnerUserId="7750" LastEditorUserId="7750" LastEditDate="2015-10-29T12:49:46.423" LastActivityDate="2015-10-29T12:49:46.423" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25630" PostTypeId="2" ParentId="2674" CreationDate="2014-08-28T20:32:53.713" Score="0" Body="&lt;p&gt;This one's simple and also an approximation: how many combinations of 10&lt;sup&gt;6&lt;/sup&gt; things out of 10&lt;sup&gt;9&lt;/sup&gt;, allowing duplicates?  The correct formula is&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;N = (10&lt;sup&gt;6&lt;/sup&gt; + 10&lt;sup&gt;9&lt;/sup&gt;)! / (10&lt;sup&gt;6&lt;/sup&gt;! 10&lt;sup&gt;9&lt;/sup&gt;!) ~= 2&lt;sup&gt;11409189.141937481&lt;/sup&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;But imagine giving instructions to walk along a row of a billion buckets, dropping a million marbles into the buckets along the way.  There will be ~10&lt;sup&gt;9&lt;/sup&gt; &quot;step to the next bucket&quot; instructions and 10&lt;sup&gt;6&lt;/sup&gt; &quot;drop a marble&quot; instructions.  The total information is&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;log&lt;sub&gt;2&lt;/sub&gt;(N) ~= -10&lt;sup&gt;6&lt;/sup&gt; log&lt;sub&gt;2&lt;/sub&gt;(10&lt;sup&gt;6&lt;/sup&gt; / (10&lt;sup&gt;6&lt;/sup&gt; + 10&lt;sup&gt;9&lt;/sup&gt;)) - 10&lt;sup&gt;9&lt;/sup&gt; log&lt;sub&gt;2&lt;/sub&gt;(10&lt;sup&gt;9&lt;/sup&gt; / (10&lt;sup&gt;6&lt;/sup&gt; + 10&lt;sup&gt;9&lt;/sup&gt;)) ~= 11409200.432742426&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;which is a funny, but pretty good way to approximate the (log of the) count.  I like it because it works if I forget how to do combinatorics.  It's equivalent to saying that &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;(a+b)! / a! b!  ~=  (a+b)&lt;sup&gt;(a+b)&lt;/sup&gt; / a&lt;sup&gt;a&lt;/sup&gt; b&lt;sup&gt;b&lt;/sup&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;which is like using Stirling's approximation, canceling, and missing something.&lt;/p&gt;&#xA;" OwnerUserId="27088" LastActivityDate="2014-08-28T20:32:53.713" CommentCount="1" CommunityOwnedDate="2014-08-28T20:32:53.713" ContentLicense="CC BY-SA 3.0" />
  <row Id="25631" PostTypeId="1" CreationDate="2014-08-28T21:21:47.723" Score="4" ViewCount="80" Body="&lt;p&gt;Odersky et al.'s $\nu Obj$ calculus [1] adds just enough dependent typeness on top of object oriented programming to express interfaces that define types (and consequently module systems and other fanciness).  Although still undecidable, it seems to have proven itself practical as the base of a language without the need for interactive theorem proving.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am curious about non-objected oriented type systems which are (1) at least as expressive as $\nu Obj$, in the sense that $\nu Obj$ can be embedded within them and (2) not &quot;too much&quot; more expressive (left intentionally vague), and therefore hopefully more tractable from a type inference / checking perspective.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, a sufficiently powerful non-objected system should be able to type the vtable concept, and then express &quot;objects&quot; as tuples the first element of which is a vtable.  Unfortunately, the obvious way to do this requires existential types, which I (perhaps naively) think of as more complicated than $\nu Obj$.  So, I suppose my question splits into three parts:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Are existential types on top of basic Hindley-Milner sufficient to express $\nu Obj$?&lt;/li&gt;&#xA;&lt;li&gt;Am I correct that existentials are harder to deal with than $\nu Obj$ (&quot;too much more expessive&quot;)?&lt;/li&gt;&#xA;&lt;li&gt;Is there something weaker than existentials that still captures $\nu Obj$, without an object oriented focus?&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;[1] &lt;a href=&quot;http://lampscalaw3dev.epfl.ch/old/sites/default/files/odersky/ecoop03.pdf&quot; rel=&quot;nofollow&quot;&gt;Odersky et al. 2003, A nominal theory of objects with dependent types.&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="13245" LastActivityDate="2014-08-28T21:21:47.723" Title="Non-objected oriented type theories that can express the $\nu Obj$ calculus" Tags="&lt;type-systems&gt;&lt;object-oriented&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25633" PostTypeId="2" ParentId="25621" CreationDate="2014-08-28T22:32:06.070" Score="8" Body="&lt;p&gt;This is a favorite question of mine.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Fortnow showed, in his paper &lt;a href=&quot;http://people.cs.uchicago.edu/~fortnow/papers/npvsnl.pdf&quot;&gt;&quot;Time-Space Tradeoffs for Satisfiability&quot;&lt;/a&gt;, that $NL$ is properly contained in $\Sigma_{a(n)} P$, where $a(n)$ is any unbounded function. That is, nondeterministic logspace is properly contained in alternating polynomial time with $a(n)$ alternations. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Showing that $NL$ is not in $\Sigma_k P$ for a fixed constant $k$ would imply that $NL \neq NP$. (To see this, consider the contrapositive.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is open whether $NL = P^{\#P}$. The last time I seriously attempted to prove this, it resulted in the paper &lt;a href=&quot;http://www.cs.cmu.edu/~ryanw/mod-lbs-full3.pdf&quot;&gt;&quot;Time-Space Tradeoffs for Counting NP Solutions Modulo Integers&quot;&lt;/a&gt;. I was trying to find some simulation of every language in logspace that would take $n^k$ time for some fixed $k$ when one has access to an oracle for counting satisfying assignments to a given formula. (This would imply $LOGSPACE \neq P^{\#P}$.) My approach didn't work, but I ended up using the same approach to prove time-space lower bounds for solving $Mod_6 SAT$ and other related results.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Uniform-$TC^0$ is properly contained in $P^{\#P}$. The proof is in Allender, &lt;a href=&quot;http://ftp.cs.rutgers.edu/pub/allender/threshold.pdf&quot;&gt;&quot;The Permanent Requires Large Uniform Threshold Circuits&quot;&lt;/a&gt;. Any improvement on this separation is open. (For example, proving uniform-$NC^1 \neq P^{\#P}$ is open, and proving uniform-$TC^0 \neq NP$ is also open.)&lt;/p&gt;&#xA;" OwnerUserId="225" LastActivityDate="2014-08-28T22:32:06.070" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="25634" PostTypeId="1" CreationDate="2014-08-29T04:34:09.593" Score="1" ViewCount="107" Body="&lt;p&gt;As title asks, what is necessary and/or sufficient requirement for a subring of a field to be a computable ring?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Conditions on either field or subring are fine.&lt;/p&gt;&#xA;" OwnerUserId="27091" LastActivityDate="2014-08-29T20:35:34.487" Title="What is necessary and/or sufficient requirement for a subring of a field to be computable?" Tags="&lt;computability&gt;&lt;algebra&gt;&lt;comp-number-theory&gt;" AnswerCount="1" CommentCount="7" ClosedDate="2014-11-30T05:02:45.430" ContentLicense="CC BY-SA 3.0" />
  <row Id="25635" PostTypeId="2" ParentId="19902" CreationDate="2014-08-29T09:23:49.910" Score="18" Body="&lt;p&gt;Recently, I proved that s(f) = bs(f) for unate functions and read-once functions over the Boolean operators AND, OR and EXOR, and my paper including the results was accepted to TCS 2014.&#xA;(&lt;a href=&quot;http://dx.doi.org/10.1007/978-3-662-44602-7_9&quot;&gt;http://dx.doi.org/10.1007/978-3-662-44602-7_9&lt;/a&gt;)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You may be attacking this problem. If so, I feel sorry, but I started to attack the problem independently before the question was posted. A preliminary version of my paper was presented at a Japanese domestic meeting in Dec/2013 and the submission deadline was Oct/2013.&#xA;(&lt;a href=&quot;http://www.ieice.org/ken/paper/20131220DBID/eng/&quot;&gt;http://www.ieice.org/ken/paper/20131220DBID/eng/&lt;/a&gt;)&lt;/p&gt;&#xA;" OwnerUserId="27092" LastActivityDate="2014-08-29T09:23:49.910" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="25637" PostTypeId="1" AcceptedAnswerId="25640" CreationDate="2014-08-29T17:40:36.970" Score="1" ViewCount="169" Body="&lt;p&gt;Does it matter in the 3Sum problem if the numbers to be summed belong to the same set or to distinct sets?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let's define &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;the problem &quot;$k$-Sum&quot; as follows: given a single finite set of integers $X\subset N$ of size $n$, decide if there exists $k$ integers $x_1,\ldots,x_k\in X$ such that their sum $\sum_{i=1}^k x_i$ is null; and &lt;/li&gt;&#xA;&lt;li&gt;the problem &quot;Separated $k$-Sum&quot; as follows: given $k$ finite sets of integers $X_1,\ldots,X_k\subset N$ of respective sizes $n_1,\ldots,n_k\in[1..n]\subset N$, decide if there exist a vector $(x_1,\ldots,x_k)\in X_1\times\ldots\times X_k$ such that their sum $\sum_{i=1}^k x_i$ is null.  &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I was assuming that those two problems were equivalent, and I was using the second one as a pedagogical example for some parameterization technique (while there is an algorithm running in $O(n^2)$ for both, the second one can take advantage of variations in the size of the sets to solve the problem much faster, down to $O(n_1 n_3+\sum n_i\lg n_i)$ and $O(n_1 n_2 \lg \frac{n_3}{n_2}+\sum n_i\lg n_i)$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But I realized today that I did not know how to prove this equivalence, and I might even start to think that they are not. &lt;/p&gt;&#xA;" OwnerUserId="191" LastEditorUserId="191" LastEditDate="2014-08-29T20:42:52.880" LastActivityDate="2014-08-29T21:33:46.173" Title="Separated 3Sum versus 3Sum problem" Tags="&lt;ds.algorithms&gt;" AnswerCount="1" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="25638" PostTypeId="2" ParentId="25617" CreationDate="2014-08-29T17:54:04.957" Score="8" Body="&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/David_Hilbert&quot;&gt;David Hilbert&lt;/a&gt; is a renowned mathematician. He put forth a list of 23 unsolved problems at the International Congress of Mathematicians in Paris in 1900.&lt;br&gt;&#xA;I just want to quote part of &lt;a href=&quot;http://en.wikipedia.org/wiki/Yuri_I._Manin&quot;&gt;Yuri Manin&lt;/a&gt; interview entitled &quot;Good Proofs are Proofs that Make us Wiser&quot; about Hilbert and his list:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;This year’s International Congress is the last ICM in this century. Do you think a Hilbert is still possible? Are there any contemporary problems corresponding to Hilbert’s Problems?&lt;/strong&gt;&lt;br&gt;&#xA;  I don’t actually believe that Hilbert’s list had a great role in the mathematics of this century. It certainly was psychologically important for many mathematicians. For example Arnold told that while being a young graduate student he had copied the list of Hilbert problems in his notebook and always kept it with him. But when Gelfand learnt about that, he actually mocked Arnold on this. Arnold saw problem solving as an essential part of great mathematical achievements. For me it’s different. I see the process of mathematical creations as a kind of recognizing a preexisting pattern. When you study something — topology, probability, number theory, whatever — first you acquire a general vision of the vast territory, then you focus on a part of it. Later you try to recognize ”what is there?” and ”what has already been seen by other people?”. So you can read other papers and finally start discerning something nobody has seen before you.&lt;br&gt;&#xA;  &lt;strong&gt;Is the emphasis on problems solving a kind of romantic view: a great hero who conquers the mountain?&lt;/strong&gt;&lt;br&gt;&#xA;  Yes, somehow a kind of sportive view. I don’t say it is irrelevant. It is quite important for young persons, as a psychological device to lure young people to create some social recognition for great achievements. A good problem is an embodiment of a vision of a great mathematical mind, which could not see the ways leading to some height but which recognized that there is a mountain. But it is no way to see mathematics, nor the way to present mathematics to a general public. And it is not the essence. Especially when such problems are put in the list, it is something like a list of capitals of great countries of the world: it conveys the minimal possible information at all. I do not actually believe that Hilbert thought this is the way organize mathematics.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="24164" LastEditorUserId="17082" LastEditDate="2014-08-30T04:12:21.820" LastActivityDate="2014-08-30T04:12:21.820" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25639" PostTypeId="2" ParentId="25634" CreationDate="2014-08-29T20:21:46.950" Score="5" Body="&lt;p&gt;The question of how to find computable substructures of algebraic structures was studied by Jens Blanck and myself in the paper &lt;a href=&quot;http://www.jucs.org/jucs_16_18/canonical_effective_subalgebras_of&quot;&gt;&quot;Canonical Effective Subalgebras of Classical Algebras as Constructive Metric Completions&quot;&lt;/a&gt;. There we give general conditions on what it means for a substructure of an algebraic structure to be computable. Let me give a summary, but I recommend reading the paper for thorough understanding.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We work with respect to an arbitrary model of computation, such as Turing machines, Type II Turing machines, topological models, $\lambda$-calculus, a programming language, etc. The formalism which encompasses all of these is &lt;em&gt;realizability theory&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is an embedding $\nabla : \mathsf{Set} \to \mathsf{Asm}$ from the category of sets to the category of assemblies (over some partial combinatory algebra, see our paper). The category of assemblies can be thought of as a category of sets equipped with a computability structure. The embedding $\nabla$ maps sets to sets equipped with trivial computability structure, namely, if $S$ is a set then $\nabla S$ is the set $S$ in which every $x \in S$ is realized by every realizer (if you've never heard of realizability before, think of Gödel encodings of objects). Intuitively this says that when we look at a realizer we have absolutely no idea which element it represents.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assume a fixed signature $\Sigma$ for an algebraic structure (such as one of a ring) and let $\mathcal{A}$ be a $\Sigma$-algebra in the category of sets, i.e., what people normally think of when they say $\Sigma$-algebra. Because $\nabla$ preserves products, it maps $\mathcal{A}$ to a $\Sigma$-algebra $\nabla \mathcal{A}$ in $\mathsf{Asm}$. Now, a computable $\Sigma$-subalgebra of $\mathcal{A}$ is just a subalgebra of $\nabla \mathcal{A}$ in the category $\mathsf{Asm}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;When we unravel what this means in terms of realizers we see that it is the expected thing: for $\mathcal{B}$ to be a computable subalgebra of $\mathcal{A}$ it has to be a subalgebra in the usual sense (of course), you have to give a realizability relation for the carrier of $\mathcal{B}$ which explains how the elements of carrier are realized, and all the operations on $\mathcal{B}$ must be realized (computable) with respect to the chosen realizability relation on the carrier.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It occurs to me that maybe you are asking the following question: &lt;em&gt;given&lt;/em&gt; a subalgebra $\mathcal{B}$ of an algebra $\mathcal{A}$ is there &lt;em&gt;some&lt;/em&gt; computable structure on $\mathcal{B}$, i.e., is there some way of making all the operations on $\mathcal{B}$ computable? First note that $\mathcal{A}$ does not play a role here. Second, if the &lt;em&gt;only&lt;/em&gt; requirement is that the operations on $\mathcal{B}$ be computable, then the answer is always &quot;yes, just use the trivial computability structure $\nabla \mathcal{B}$&quot;. That is, represent every element of $\mathcal{B}$ with any realizer you want, say 42, and then all operations are implemented by functions that always return 42. In order to avoid such a silly answer you have to impose further conditions -- and that's what our paper is about.&lt;/p&gt;&#xA;" OwnerUserId="705" LastEditorUserId="705" LastEditDate="2014-08-29T20:35:34.487" LastActivityDate="2014-08-29T20:35:34.487" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25640" PostTypeId="2" ParentId="25637" CreationDate="2014-08-29T20:36:25.397" Score="4" Body="&lt;p&gt;You can reduce the SEPARATED k-SUM problem to a (k+1)-SUM problem in the following way:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given $X_1,...,X_n$, let $b$ such that $2^b &amp;gt; \max( abs(X_1) \cup ... \cup \;abs(X_n))$, where $abs(X_i) = \{ |x| \mid x \in X_i \}$, and let $c$ such that $2^c &amp;gt; k 2^b$ &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For  $i = 1,...,k$ build $Y_i = \{ 2^{c+ki} + 2^{b} + x_j \mid x_j \in X_i \}$;&lt;br&gt;&#xA;let $u = - \sum_{i=1}^k 2^{c+ki} -k2^b$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Build an equivalent (k+1)-SUM problem picking $X =  \{ u \} \cup Y_1 \cup ... \cup Y_k$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that every $Y_i$ contains only positive elements.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Informally we require a $k+1$ elements subset $C$ from $X$ whose elements sum to zero.&#xA;We cannot build a solution only with the negative element $u$; so we must include in $C$ at least one element $y$ from one of the $Y_i$; but the $2^{c+ki}$ &quot;component&quot; of $y$ can be balanced only if $u$ is also included; but including $u$ implies that exactly one of the elements of each $Y_i$ is included (the  $- \sum_{i=1}^k 2^{c+ki}$ component of $u$ allows to keep the separation between the elements of the original $X_i$). But we also have $\sum_{j=1}^k (2^b + x_j) = k2^b$ and this implies that the original $x_j$s (coming from distinct $X_i$s as seen above) sum to zero.&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2014-08-29T21:33:46.173" LastActivityDate="2014-08-29T21:33:46.173" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="25641" PostTypeId="2" ParentId="25614" CreationDate="2014-08-30T00:04:50.587" Score="5" Body="&lt;p&gt;There may be a way to shoe horn the &lt;a href=&quot;https://en.wikipedia.org/wiki/Johnson%E2%80%93Lindenstrauss_lemma&quot;&gt;Johnson-Lindenstrauss&lt;/a&gt; theorem into this problem.  Essentially, J-L states that you can project high dimensional data into lower dimensional spaces in such a way that the pairwise distances are nearly preserved.  More practically, Achlioptas has a paper called &lt;a href=&quot;http://users.soe.ucsc.edu/~optas/papers/jl.pdf&quot;&gt;Database-friendly random projections: Johnson-Lindenstrauss with binary coins&lt;/a&gt; that does this projection in a random way, which works pretty well in practice.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, certainly, your similarity function is not exactly the same as something that would fit into the J-L theorem.  However, it looks like a distance function and perhaps some of the theory above may help.&lt;/p&gt;&#xA;" OwnerUserId="17301" LastActivityDate="2014-08-30T00:04:50.587" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25644" PostTypeId="1" AcceptedAnswerId="25646" CreationDate="2014-08-30T07:30:01.827" Score="2" ViewCount="4780" Body="&lt;p&gt;I just read&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;J. Scott Provan, Michael O. Ball: The Complexity of Counting Cuts and of Computing the Probability that a Graph is Connected. SIAM J. Comput. 12(4): 777-788 (1983)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;and one of the first sentences is&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Valiant defines the notion of the #P-complete class (...) and shows that problems in this class are at least as hard as NP-complete problems.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;My first problem is that is seems weird to directly compare the complexity of counting and decision problems. But more importantly: There are quite easy decision problems, whose counting variant is #P-complete, for example satisfiability of boolean formulas in DNF. This can also be read on Wikipedia:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Sharp-P-complete&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/Sharp-P-complete&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So is the statement, that a #P-complete problem is at least as hard as a NP-complete problem simply wrong or am I getting something wrong?&lt;/p&gt;&#xA;" OwnerUserId="26761" LastActivityDate="2014-08-30T10:07:50.173" Title="#P-complete problems are at least as hard as NP-complete problems" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;counting-complexity&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="25645" PostTypeId="1" AcceptedAnswerId="25648" CreationDate="2014-08-30T09:56:11.027" Score="3" ViewCount="146" Body="&lt;p&gt;BQP is the class of decision problems solvable by a quantum computer in polynomial time, with an error probability of at most 1/3 for all instances. In quantum computer allowed operations can be represented by unitary matrices. In general, unitary matrices do not commute with each other.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is what would be BQP analog for a quantum computer where only unitary matrices that commute with each other are allowed? &lt;/p&gt;&#xA;" OwnerUserId="27097" LastActivityDate="2014-08-30T16:05:47.117" Title="Complexity class for quantum computer with commutative gates" Tags="&lt;quantum-computing&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25646" PostTypeId="2" ParentId="25644" CreationDate="2014-08-30T10:07:50.173" Score="6" Body="&lt;p&gt;It's not at all weird to compare the complexity of counting and decision problems: reductions allow you to do that very naturally. You can use reductions to compare any kind of problem: decision, counting, approximate counting, optimization, function problems, ... All of this follows from the intuitive notion that a reduction from A to B means &quot;If I could solve&amp;nbsp;B, I could also solve&amp;nbsp;A at roughly the same cost.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The existence of easy decision problems whose counting version is hard is a red herring. &lt;em&gt;Counting&lt;/em&gt; matchings is the hard problem: if you could do that, you could solve any &lt;strong&gt;NP&lt;/strong&gt; problem by reduction. &lt;em&gt;Detecting&lt;/em&gt; matchings is easy: you can do that but it doesn't (seem to) help you to solve &lt;strong&gt;NP&lt;/strong&gt;-complete problems.&lt;/p&gt;&#xA;" OwnerUserId="17082" LastActivityDate="2014-08-30T10:07:50.173" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="25648" PostTypeId="2" ParentId="25645" CreationDate="2014-08-30T16:05:47.117" Score="3" Body="&lt;p&gt;There isn't a one word answer to your question, but you can have a look at&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Xiaotong Ni's &lt;a href=&quot;http://www.mpq.mpg.de/Theorygroup/CIRAC/wiki/images/d/d4/Ni_Master_thesis_2012.pdf&quot; rel=&quot;nofollow&quot;&gt;master thesis&lt;/a&gt;,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where commuting circuits with several restrictions are considered and compared to classical classes. &#xA;There you can also find the definition of the class &lt;strong&gt;IQP&lt;/strong&gt;, which is a subclass of polynomial size commuting Pauli circuits. &lt;/p&gt;&#xA;" OwnerUserId="1542" LastActivityDate="2014-08-30T16:05:47.117" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="25649" PostTypeId="2" ParentId="20462" CreationDate="2014-08-31T15:06:44.770" Score="6" Body="&lt;p&gt;It seems that K.M.Anstreicher has improved the result to $O((n^3/\ln n)L)$ in &lt;a href=&quot;http://epubs.siam.org/doi/abs/10.1137/S1052623497323194?journalCode=sjope8&quot;&gt;Anstreicher, Kurt M. &quot;Linear programming in O ([n3/ln n] L) operations.&quot; SIAM Journal on Optimization 9, no. 4 (1999): 803-812.&lt;/a&gt;. I have not read this paper, but I hope that this answer will help you in some extent.&lt;/p&gt;&#xA;" OwnerUserId="15776" LastActivityDate="2014-08-31T15:06:44.770" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25650" PostTypeId="1" CreationDate="2014-08-31T18:03:11.187" Score="0" ViewCount="185" Body="&lt;p&gt;How can I transform the term $x&amp;gt;C$ (i.e. the term assumes the value $1$ if $x&amp;gt;C$ and assumes the value $0$ otherwise) to an arithmetic circuit that computes it?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Where $x$ is the input to the circuit and $C$ is a known constant.&lt;/p&gt;&#xA;" OwnerUserId="12633" LastEditorUserId="567" LastEditDate="2014-09-02T21:54:39.767" LastActivityDate="2014-09-02T21:54:39.767" Title="Greater-Than operator using an Arithmetic Circuit" Tags="&lt;ds.algorithms&gt;&lt;arithmetic-circuits&gt;&lt;circuits&gt;" AnswerCount="0" CommentCount="10" ContentLicense="CC BY-SA 3.0" />
  <row Id="25651" PostTypeId="1" CreationDate="2014-08-31T21:06:15.257" Score="2" ViewCount="205" Body="&lt;p&gt;I would like to ask if any one is aware of any results related to graph sparsification with bounded degrees? What I mean is anyone aware of graph sparsification results such that the resultant graph has bounded degree or at least an expected bounded degree?&lt;/p&gt;&#xA;" OwnerUserId="21673" LastActivityDate="2014-08-31T21:06:15.257" Title="Graph sparsification" Tags="&lt;graph-theory&gt;&lt;spectral-graph-theory&gt;" AnswerCount="0" CommentCount="5" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="25652" PostTypeId="1" AcceptedAnswerId="25655" CreationDate="2014-09-01T04:26:51.267" Score="2" ViewCount="199" Body="&lt;p&gt;We say a set of $n$ points in $R^d$ are $k$-clusterable, if all points are covered by k unit balls. We have a property testing algorithm (see section 5 of &lt;a href=&quot;http://www.tau.ac.il/~nogaa/PDFS/adpr1.pdf&quot; rel=&quot;nofollow&quot;&gt;paper&lt;/a&gt;) which consider a promise version of the above problem. The algorithm samples $O(\frac{kd}{\epsilon}\log \frac{kd}{\epsilon})$ many points from the set, and distinguish between following two cases with probability at least $\frac{2}{3}$:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;-algorithm ACCEPTS, if all the points are $k$-clusterable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;-algorithm REJECTS, if points are $\epsilon$-far from $k$-clusterable, &lt;em&gt;i.e.&lt;/em&gt; any $k$ unit balls covers at most $(1-\epsilon)n$ points.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, using the above algorithm as a subroutine can we approximate the value of $k$ (number of clusters), &lt;em&gt;i.e.,&lt;/em&gt; if we can ignore at most $\epsilon n$ points (because now we don't have the promised version of the input) from the input,&#xA;then we need to determine the number of clusters in the input. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;(I was thinking to do some kind of binary search over $k$, start with k=2, if algorithm ACCEPTS then k=2, if REJECTS then try for k=4 and so on.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Pls let me know if there is any confusion in the problem.&lt;/p&gt;&#xA;" OwnerUserId="22594" LastActivityDate="2014-09-02T03:56:02.370" Title="Determining the number of clusters using property testing algorithm" Tags="&lt;clustering&gt;&lt;property-testing&gt;&lt;sample-complexity&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="25654" PostTypeId="2" ParentId="9387" CreationDate="2014-09-01T22:27:45.117" Score="2" Body="&lt;p&gt;The problem is at least NP-hard, by a reduction from 3-SAT.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First consider the problem of finding a path from the &lt;strong&gt;Start&lt;/strong&gt; to the &lt;strong&gt;Exit&lt;/strong&gt; of the following directed graph with the restriction that no path may visit all three (square) nodes of a clause:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/Qk5z5.png&quot; alt=&quot;3SAT&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For this graph, such a path only exists if the formula $(X1 \lor X2 \lor X3)\land(X1\lor\neg X2\lor X4)$ can be satisfied. We can build such graphs for arbitrary formulas in 3-CNF, and finding such a path is NP-complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We transform these graphs to a switch network. For this we use three gadgets:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Every circle node and bidirectional edge becomes a &lt;strong&gt;Wire&lt;/strong&gt;, forming the connections between switches.&lt;/li&gt;&#xA;&lt;li&gt;Every directed edge becomes a &lt;strong&gt;One-way&lt;/strong&gt; gadget consisting of a single switch (see below). &lt;/li&gt;&#xA;&lt;li&gt;Every square node represents one of the three switches that are part of a &lt;strong&gt;Clause&lt;/strong&gt; gadget (see below).&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;In the following illustrations, switches are drawn as two incoming arrows, one of which is dashed (disabled). The target direction is drawn with a black circle (such that the solid arrow must eventually be on the side of the circle).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Remark: We will use &lt;strong&gt;boldface&lt;/strong&gt; to distinguish the &lt;strong&gt;Exit&lt;/strong&gt; of the graph from exits of gadgets.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the &lt;strong&gt;One-way&lt;/strong&gt; gadget, entrance $A$ cannot be reached from exit $B$ until $B$ has been reached from $A$.&#xA;For the &lt;strong&gt;Clause&lt;/strong&gt; gadget, entrances $X1$, $X2$ and $X3$ lead to exits $X1'$, $X2'$ and $X3'$, respectively.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/xHdDG.png&quot; alt=&quot;One-way gadget&quot;&gt;&#xA;&lt;img src=&quot;https://i.stack.imgur.com/bQWmu.png&quot; alt=&quot;Clause gadget&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Recall that for the original graph, finding a path that led to the &lt;strong&gt;Exit&lt;/strong&gt; and did not visit all three square nodes of any clause was NP-complete.&#xA;Now consider the problem of reaching the &lt;strong&gt;Exit&lt;/strong&gt; of the transformed graph without worrying about the target positions of the switches.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Observe that any path that is a solution for the original graph problem is also a solution for the transformed graph.&#xA;So assume a path for the transformed graph is not a solution for the original graph.&#xA;This may happen in two cases:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;A &lt;strong&gt;One-way&lt;/strong&gt; gadget is traversed in the unintended direction ($B$ to $A$).&lt;/li&gt;&#xA;&lt;li&gt;A path traverses all three paths of some &lt;strong&gt;Clause&lt;/strong&gt; gadget.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;In the first case, the &lt;strong&gt;One-way&lt;/strong&gt; gadget must have first been traversed in the intended direction, in which case the path might as well have avoided traversing it in the first place.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So consider the second case where the path traverses all three switches of some &lt;strong&gt;Clause&lt;/strong&gt; gadget. &#xA;Then that gadget will have all its three switches flipped (see below). This is where we make use of the target positions. &#xA;Notice that the gray &lt;em&gt;backbone&lt;/em&gt; of the &lt;strong&gt;Clause&lt;/strong&gt; gadget can no longer be reached, meaning that the switches can no longer be directed to their target positions.&#xA;In this case, we say that this &lt;strong&gt;Clause&lt;/strong&gt; gadget is unrecoverable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/K5IBF.png&quot; alt=&quot;Deadlocked Clause&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It remains to show that for any solution of the original graph problem, the switches of the transformed graph can be placed in their target position.&#xA;For this, we make use of the fact that the &lt;strong&gt;Exit&lt;/strong&gt; wire can only be reached when there is a solution, or some Clause gadget becomes unrecoverable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To place switches in their target position, we can now add additional &lt;strong&gt;One-way&lt;/strong&gt; gadgets from the &lt;strong&gt;Exit&lt;/strong&gt; wire to the entrance of every existing &lt;strong&gt;One-way&lt;/strong&gt; gadget, as well as to the three exit wires of all &lt;strong&gt;Clause&lt;/strong&gt; gadgets.&#xA;Then, once the token reaches the &lt;strong&gt;Exit&lt;/strong&gt;, all the additional &lt;strong&gt;One-way&lt;/strong&gt; gadgets can be traversed (and thereby put in their target position), and also put the remaining switches in their target positions (unless there is an unrecoverable clause).&#xA;Finally, the token can return to the &lt;strong&gt;Exit&lt;/strong&gt; and the puzzle is solved.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We should remark that &lt;strong&gt;Clause&lt;/strong&gt; gadgets can only be recovered when entered from an untraversed exit; and due to the &lt;strong&gt;One-way&lt;/strong&gt; gadgets that are placed between &lt;strong&gt;Clause&lt;/strong&gt; gadgets and the next variable, this cannot happen until the &lt;strong&gt;Exit&lt;/strong&gt; wire is reached.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hence, the switch network problem is NP-hard.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;It is still unclear if the problem is in NP or PSPACE-hard.&#xA;An NP-hardness reduction constructing a planar switch network will have great implications for restricted variants of Sokoban, namely because all switches are equivalent to the Sokoban gadget below.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/dymX7.png&quot; alt=&quot;Sokoban&quot;&gt;&lt;/p&gt;&#xA;" OwnerUserId="27113" LastEditorUserId="27113" LastEditDate="2014-09-01T22:39:07.540" LastActivityDate="2014-09-01T22:39:07.540" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25655" PostTypeId="2" ParentId="25652" CreationDate="2014-09-02T03:56:02.370" Score="4" Body="&lt;p&gt;First. One can do better as far as the sampling - at least if $d$ is large - $O(\frac{kd \log k}{\epsilon} \log \frac{1}{\epsilon})$ should follow easily from relative approximations &lt;a href=&quot;http://sarielhp.org/p/06/relative/&quot; rel=&quot;nofollow&quot;&gt;http://sarielhp.org/p/06/relative/&lt;/a&gt; and combining range spaces of bounded VC dimension (if you send me email I would email you a pdf containing this combining result you need - its well known, but i dont know a ref for that). Secondly, relative approximation sample in this case, guarantees that if the sample fails, then $k$ is too small. So, do exponential search for the right value of $k$, specifically, start with $k_i = 2^i$, and let $R_i$ be the the $i$th sample of size $n_i = O( \frac{kd \log k}{\epsilon} \log \frac{i}{\epsilon} )$ (the $i$ is not a typo).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $\alpha$ be the minimum $i$ for which the sample succeeds using the black box. Now, use brute force (on the sample) to find the minimum $k\leq k_\alpha$ for which the sample works. And this is your desired $k$. You need to carefully account for the probability of success, but thats why the $i$ is there - its one of these standard geometric summation stuff. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The $i$ can be avoided -- indeed, the probability that $\alpha$ is bigger by $\Delta$ than its correct value is smaller than $2^{-\Delta}$. If you do that, then the sample you are going to use is of the right size with good probability. That is, if the minimum $k$ for which you can cover more than $(1-\epsilon)n$ of the points is $\kappa$, then the sample the algorithm uses is $O\left( \frac{\kappa d \log \kappa}{\epsilon} \log \frac{1}{\epsilon} \right)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is some added fuzzyness in the answer of this algorithm. The returned answer $\kappa$ is the minimum such that any value of $k &amp;lt; \kappa$, is say $(1-\epsilon/2)$-far from from being k-clustered. I assume this is OK. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In practice you would do something different. Hmm. Something to think about....&lt;/p&gt;&#xA;" OwnerUserId="9594" LastActivityDate="2014-09-02T03:56:02.370" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="25656" PostTypeId="2" ParentId="16347" CreationDate="2014-09-02T03:59:30.540" Score="5" Body="&lt;p&gt;You might be interested in&#xA;&lt;strong&gt;&lt;em&gt;Maximum Flows by Incremental Breadth-First Search&lt;/em&gt;&lt;/strong&gt;&#xA;by Goldberg, Hed, Kaplan, Tarjan, and Werneck&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://research.microsoft.com/pubs/150437/ibfs-proc.pdf&quot; rel=&quot;noreferrer&quot;&gt;http://research.microsoft.com/pubs/150437/ibfs-proc.pdf&lt;/a&gt;&#xA;&lt;a href=&quot;http://www.cs.tau.ac.il/~sagihed/ibfs/&quot; rel=&quot;noreferrer&quot;&gt;http://www.cs.tau.ac.il/~sagihed/ibfs/&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="4821" LastActivityDate="2014-09-02T03:59:30.540" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25660" PostTypeId="2" ParentId="20380" CreationDate="2014-09-02T15:33:46.200" Score="3" Body="&lt;p&gt;The question is very general and so the following is only a partial solution.  My main motivation was to draw the connection between this and k-hitting sets.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As Arindam has pointed out, this problem (or the decision version thereof) could be used to solve the subgraph isomorphism problem: &quot;Is $H$ a subgraph of $G$ if any $0$ edges of $G$ are removed?&quot;.  But as is often the case, we still want to know &quot;is it possible to do better than the naive solution?&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The naive solution:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&#xA;for i in 0 ... (|E(G)|-|E(H)|+1)&#xA;    for every i-subset of edges, S, in E(G)&#xA;        if H is not a subgraph of (G - S)&#xA;            return k=i-1 as the greatest number of edges that can be removed&#xA;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Ignoring the obvious edge cases (returning $-1$ when $H$ is not a subgraph of $G$) then the cost is basically $\sum_{i=0}^k \binom{|E(G)|}{i}$ computations of he subgraph isomorphism problem on inputs (basically) $G$ and $H$.  And so, we are basically up against a possibly exponential number of subgraph isomorphism problems.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem can be restated as a &lt;a href=&quot;http://en.wikipedia.org/wiki/Vertex_cover#Vertex_cover_in_hypergraphs&quot; rel=&quot;nofollow&quot;&gt;hitting set problem&lt;/a&gt; (also known as a vertex cover of a hypergraph problem).  Let $S$ be the set of all sets, $T$, where $T$ is a set of $|E(H)|$ edges of $G$, and $H$ is isomorphic to $G - (E(G) - T)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note, $S$ is not every mapping of $H$ onto $G$, but is every edge set that can be mapped to.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $h$ be the size of the minimum hitting set of $S$.  Then $k=h-1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is neat, but it is not immediately useful.  Calculating a minimum hitting set is NP-hard, and the input into the problem is possibly exponential in the size of the input of our original problem.  Double-wam-o.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, it does provide us with a case for a fast approximation.  If $|E(H)|$ is small (and by that I mean bounded by some constant $e_H$), then we have $|S| = O(\binom{|E(G)|}{e_H})$.  Also, &lt;a href=&quot;http://en.wikipedia.org/wiki/K-approximation_of_k-hitting_set&quot; rel=&quot;nofollow&quot;&gt;an $e_H$-approximation can be computed in polynomial time&lt;/a&gt;.  Thus the real work is in finding $S$, which can be done with $\binom{E(G)}{e_H}$ cases of the graph isomorphism problem.  The naive solution does not compute in polynomial time when $E(H)$ is bound because $k$ is not bound.&lt;/p&gt;&#xA;" OwnerUserId="4765" LastActivityDate="2014-09-02T15:33:46.200" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25662" PostTypeId="1" AcceptedAnswerId="25664" CreationDate="2014-09-02T19:10:50.763" Score="7" ViewCount="197" Body="&lt;p&gt;I was reading about &lt;a href=&quot;http://www.cs.bham.ac.uk/~pbl/papers/tlca99.pdf&quot;&gt;Call-by-Push-Value&lt;/a&gt; in the introducing paper from 1999, but I have some confusion, partially because of my unfamiliarity with domain theory. I might have figured it out, but I'd hope to get it confirmed. (If this is not the appropriate venue, advise is welcome on which one is).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I was confused by the statement:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;$[[ \mbox{thunk diverge} ]]\ \rho$ is the least element of the predomain $[[U\ \underline B]]\ \rho$&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I was confused because AFAICS, predomains are not guaranteed to have a bottom element in general.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The behavior of $[[U\ \underline B]]$ was defined earlier by saying:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;if $[[\underline B]]$ is the domain $(X, \le, \bot)$, then $[[U\ \underline B]]$ is its underlying predomain $(X, \le)$&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Finally, predomains and domains are defined as:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;A domain $(X, \le, \bot)$ is a predomain with a least element $\bot$.*&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Originally, I misunderstood the text as implying that to construct $[[U\ \underline B]]$, you remove the bottom element from $[[\underline B]]$. Now, instead, I realize that probably, the semantics of U is just &lt;em&gt;forgetting&lt;/em&gt; that $\bot$ is a distinguished element (like a forgetful functor from the category of domains to category of predomains, if my intuition is right). That's because, in a domain, we assume that $\bot$ belongs to X, not to its lifting: that is, $\bot \in X$, instead of $\bot \in X_\bot$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question&lt;/strong&gt;: Is my new reading (above paragraph) correct?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Furthermore, the paper seems to imply that $[[U (F A)]]$ is a predomain created by lifting $[[A]]$ (by adding an additional bottom element below all elements of $[[A]]$). &lt;strong&gt;Does that make sense?&lt;/strong&gt; If so, $T = U \circ F$ would seem to be a partiality monad, matching the fact that this definitions are needed to support the &quot;divergence side effect&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;*The definition of predomain is longer, but apparently it does indeed not imply the existence of least elements, so it should be irrelevant to the question. For reference:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;A predomain $(X, \le)$ is a countably based, algebraic directed-complete poset, with joins of all nonempty bounded subsets, in which the down-set $\{y \in X : y \le x\}$ of each $x \in X$ has a least element.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="989" LastActivityDate="2014-09-03T19:46:42.590" Title="Call-by-push-value's denotational semantics of &quot;thunk diverge&quot;" Tags="&lt;pl.programming-languages&gt;&lt;domain-theory&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="25663" PostTypeId="2" ParentId="25662" CreationDate="2014-09-02T19:53:24.263" Score="1" Body="&lt;p&gt;That definition implies that there is no required unique bottom in a predomain, i.e. each down set (reverse chain) could have a distinct least element, but that there is no necessary least element for the whole structure.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You could form a domain by appending a bottom under all other least elements, or by identifying  all least elements (i.e. say they are all the same element) if that is semantically viable in your structure.&lt;/p&gt;&#xA;" OwnerUserId="629" LastEditorUserId="629" LastEditDate="2014-09-02T19:58:38.027" LastActivityDate="2014-09-02T19:58:38.027" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="25664" PostTypeId="2" ParentId="25662" CreationDate="2014-09-02T22:46:28.300" Score="6" Body="&lt;p&gt;Yes, your reading is correct.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$U$ forgets that something is a domain, but does not change the underlying carrier set or the poset structure. The least element is still there.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is also the case that $U \circ F$ can be equipped with the structure of a monad, as you say.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;And yes, predomains need not have a least element.&lt;/p&gt;&#xA;" OwnerUserId="705" LastEditorUserId="705" LastEditDate="2014-09-03T19:46:42.590" LastActivityDate="2014-09-03T19:46:42.590" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25666" PostTypeId="2" ParentId="12651" CreationDate="2014-09-03T08:44:10.497" Score="0" Body="&lt;p&gt;My explanation is TSP is VRP with the condition that only 1 truck is in operation or only 1 salesman. In other word, the VRP solution can have many routes but TSP solution has only 1 route. TSP is the simplest problem of VRP. &lt;/p&gt;&#xA;" OwnerUserId="27126" LastActivityDate="2014-09-03T08:44:10.497" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25667" PostTypeId="1" CreationDate="2014-09-03T13:15:32.927" Score="10" ViewCount="824" Body="&lt;p&gt;What is the fastest known undirected graph isomorphism algorithm?&lt;/p&gt;&#xA;" OwnerUserId="4765" LastEditorUserId="186" LastEditDate="2014-09-03T13:58:29.283" LastActivityDate="2021-01-28T11:28:02.420" Title="Fastest known deterministic algorithm for the undirected Graph Isomorphism problem" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;graph-algorithms&gt;&lt;graph-isomorphism&gt;" AnswerCount="2" CommentCount="6" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="25668" PostTypeId="2" ParentId="18523" CreationDate="2014-09-03T13:44:19.103" Score="2" Body="&lt;p&gt;We can write an exact expression for the probability as a single sum using inclusion-exclusion. This sum has terms which can oscillate wildly in magnitude, so some care needs to be taken to evaluate it if you don't use exact arithmetic.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are $M \choose j$ sets of size $j$. The probability that there are $j$ elements chosen is $M \choose j$ times the probability that the first $j$ elements are chosen.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The probability that all elements chosen are contained in a particular set of size $S$ is easy to compute. It is $\left({S \choose N} \bigg/ {M\choose N} \right)^k$. So, by inclusion-exclusion, the probability that the union of the sets is exactly $\lbrace 1, ..., j \rbrace,$ is&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\sum_{S \subset \lbrace 1, ..., j \rbrace}  (-1)^{j-|S|} \left( \frac{|S| \choose N}{M\choose N} \right)^k = \sum_{s \le j} (-1)^{j-s} {j\choose s} \left( \frac{s \choose N}{M\choose N} \right)^k.$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, the probability that the union of sets has size exactly $j$ is &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\frac{M \choose j}{{M \choose N}^k} \sum_{s \le j} (-1)^{j-s} {j \choose s}{s \choose N}^k. $$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, suppose $M=100$ and we choose $15$ items $5$, $3$, or $1$ at a time, and ask for the probability that the union has size $10$. The probability if you choose the items $5$ at a time is &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$0.000649139 -0.000811423 +0.000320562 - 0.0000450791 + 1.83996\times10^{-6} -1.0222\times 10^{-8}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;which totals $\frac{256,593,727}{2,230,700,774,400} = 0.000115028.$ The probability if you choose $5$ sets of $3$ distinct elements is $0.000342819.$ The probability if you choose $15$ elements individually is $0.000795413.$&lt;/p&gt;&#xA;" OwnerUserId="26831" LastActivityDate="2014-09-03T13:44:19.103" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="25669" PostTypeId="2" ParentId="25667" CreationDate="2014-09-03T15:36:09.657" Score="2" Body="&lt;p&gt;research on graph isomorphism has generally gone in the direction of looking at efficient or improved algorithms for many special graph classes with P-Time algorithms for which there has been much progress, and also more empirical analysis with state-of-the-art software eg &lt;a href=&quot;http://www3.cs.stonybrook.edu/~algorith/implement/nauty/implement.shtml&quot; rel=&quot;nofollow&quot;&gt;Nauty&lt;/a&gt; looking somewhat at average and worst case behaviors separately. for the general problem according to this &lt;a href=&quot;http://dabacon.org/pontiff/?p=4148&quot; rel=&quot;nofollow&quot;&gt;blog survey&lt;/a&gt; by &lt;a href=&quot;http://dabacon.org/pontiff/?page_id=5938&quot; rel=&quot;nofollow&quot;&gt;Bennett/ Flammia/ Harrow&lt;/a&gt; apparently an old result by Babai/Luks may be the best known.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;“Canonical labeling of graph” by László Babai and Eugene M. Luks STOC 1983 (&lt;a href=&quot;http://dl.acm.org/citation.cfm?id=808746&quot; rel=&quot;nofollow&quot;&gt;paper here&lt;/a&gt;)&#xA;  This describes a subexponential (or, err, what did Scott decide to call this?), exp(-n^{frac{1}{2}+c}), time algorithm for a graph with n vertices.  Now as a reading list I don’t recommend jumping into this paper quite yet, but I just wanted to douse your optimism for a classical algorithm by showing you (a) the best we have in general is a subexponential time algorithm, (b) that record has stood for nearly three decades, and (c) that if you look at the paper you can see it’s not easy.  Abandon hope all ye who enter?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;here are two other fairly comprehensive surveys to gauge state-of-the-art but maybe more with an empirical slant.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://www.diatel.upm.es/jllopez/tesis/thesis.pdf&quot; rel=&quot;nofollow&quot;&gt;Efficient Algorithms for Graph Isomorphism Testing&lt;/a&gt; Jose Luis Lopez Presa PhD thesis (2009)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.32.9419&quot; rel=&quot;nofollow&quot;&gt;The Graph Isomorphism Problem (1996)&lt;/a&gt; Fortin (1996)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="7884" LastEditDate="2014-09-03T15:49:42.643" LastActivityDate="2014-09-03T15:49:42.643" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="25670" PostTypeId="1" CreationDate="2014-09-03T16:13:56.143" Score="0" ViewCount="295" Body="&lt;p&gt;I initially considered this problem trivial, but then looked with more attention, I could not find an easy solution.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let's say we have two ordered lists of symbols (strings):&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;A = &quot;foobarquuz123foo&quot;&#xA;B = &quot;foobar456quuzfoo&quot;&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;my goal is to have an algorithm that merges the two incomplete lists into the following, that can be considered completed, having parts from both lists:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;C = &quot;foobar456quuz123foo&quot;&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;As you can see there is no intrinsic &quot;sorting value&quot; associated to the symbols, only their position, which is just a relative measure. Moreover, the symbols might be also repeated in arbitrary points of the strings.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Maybe the algorithm I am looking for might have been used in bioinformatics, for example for DNA or protein sequence alignment, but I am no expert of this.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What would you recommend? Do you have some pointers to algorithms that may solve this problem? I think that someone should already have figured out a solution with upper-bound computational complexity $O(k(n+m))$ where $k$ is a constant and $n$ and $m$ are the lengths of the strings.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would be very happy to get also suggestions for books that illustrate this and similar problems.&lt;/p&gt;&#xA;" OwnerUserId="18144" LastEditorUserId="18144" LastEditDate="2014-09-03T16:24:13.110" LastActivityDate="2014-09-03T16:24:13.110" Title="Algorithm to merge two incomplete sequences of symbols (strings) into a complete one" Tags="&lt;ds.algorithms&gt;&lt;sorting&gt;&lt;string-matching&gt;&lt;greedy-algorithms&gt;&lt;string-search&gt;" AnswerCount="0" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="25671" PostTypeId="1" AcceptedAnswerId="25672" CreationDate="2014-09-03T16:35:20.713" Score="32" ViewCount="1719" Body="&lt;p&gt;Deciding if a quantified boolean formula such as&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$\forall x_1 \exists x_2 \forall x_3\cdots \exists x_n \varphi(x_1, x_2,\ldots , x_n),$&lt;/span&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;always evaluates to true is a classical PSPACE-complete problem. This can be viewed as a game between two players, with alternating moves. The first player decides the truth value of the odd-numbered variables and the second player decides the truth value of the even-numbered variables. The first player tries to make &lt;span class=&quot;math-container&quot;&gt;$\varphi$&lt;/span&gt; false and the second player tries to make it true. Deciding who has a winning strategy is PSPACE-complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am considering a similar problem with two players, one trying to make a boolean formula &lt;span class=&quot;math-container&quot;&gt;$\varphi$&lt;/span&gt; true and the other trying to make it false. The difference is that on a move, a player can choose a variable and a truth value for it (for example, as the very first move, player one might decide to set &lt;span class=&quot;math-container&quot;&gt;$x_8$&lt;/span&gt; to true and then in the next move, player two might decide to set &lt;span class=&quot;math-container&quot;&gt;$x_3$&lt;/span&gt; to false). This means that the players can decide which of the variables (of those that have not yet been assigned a truth value) they want to assign a truth value, instead of having to play the game in the order &lt;span class=&quot;math-container&quot;&gt;$x_1 , \ldots , x_n$&lt;/span&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem is given a boolean formula &lt;span class=&quot;math-container&quot;&gt;$\varphi$&lt;/span&gt;  on &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt; variables to decide if player one (trying to make it false) or player two (trying to make it true) has a winning strategy. This problem is clearly still in PSPACE, since the game tree has linear depth.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does it remain PSPACE complete?&lt;/p&gt;&#xA;" OwnerUserId="9663" LastEditorUserId="2367" LastEditDate="2019-11-01T20:09:16.940" LastActivityDate="2020-07-09T14:04:22.887" Title="Is this variation of TQBF still PSPACE-complete?" Tags="&lt;cc.complexity-theory&gt;&lt;sat&gt;&lt;gt.game-theory&gt;&lt;pspace&gt;" AnswerCount="3" CommentCount="0" FavoriteCount="7" ContentLicense="CC BY-SA 4.0" />
  <row Id="25672" PostTypeId="2" ParentId="25671" CreationDate="2014-09-03T18:17:34.720" Score="37" Body="&lt;p&gt;It is an &lt;strong&gt;Unordered Constraint Satisfaction game&lt;/strong&gt; and it is PSPACE-complete &lt;strike&gt;and it has been proved to be PSPACE-complete only recently&lt;/strike&gt;;&#xA;a proof can be found in: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Lauri Ahlroth and Pekka Orponen, &lt;a href=&quot;http://users.ics.aalto.fi/orponen/papers/csg.pdf&quot; rel=&quot;noreferrer&quot;&gt;Unordered Constraint Satisfaction Games&lt;/a&gt;.&#xA;Lecture Notes in Computer Science Volume 7464, 2012, pp 64-75.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Abstract:&lt;/strong&gt; We consider two-player constraint satisfaction games on systems of Boolean constraints, in which the players take turns in selecting one of the available variables and setting it to true or false, with the goal of maximising (for Player I) or minimising (for Player II) the number of satisfied constraints. Unlike in standard QBF-type variable assignment games, we impose no order in which the variables are to be played. This makes the game setup more natural, but also more challenging to control. We provide polynomial-time, constant-factor approximation strategies for Player I when the constraints are parity functions or threshold functions with a threshold that is small compared to the arity of the constraints. Also, we prove that the problem of determining if Player I can satisfy all constraints is PSPACE-complete even in this unordered setting, and when the constraints are disjunctions of at most 6 literals (an unordered-game analogue of 6-QBF).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;From the content:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;...&lt;br&gt;&#xA;Our generic example of an unordered constraint satisfaction game is the &lt;em&gt;Game on&#xA;Boolean Formulas&lt;/em&gt; (&lt;strong&gt;GBF&lt;/strong&gt;). An instance of this game is given by a set of m non-constant&#xA;Boolean formulas $C = \{c_1,...,c_m\}$ over a common set of n variables $X = \{x_1,...,x_n\}$.&#xA;We refer to the formulas in $C$ as clauses even though we do not in general require them&#xA;to be disjunctions.&lt;br&gt;&#xA;...&lt;br&gt;&#xA;A game on $C$ proceeds so that on each turn the player to move selects one of the&#xA;previously nonselected variables and assigns a truth value to it. Player I starts, and&#xA;the game ends when all variables have been assigned a value. In the decision version&#xA;of &lt;strong&gt;GBF&lt;/strong&gt;, the question is whether Player I has a comprehensive winning strategy, by&#xA;which she can make all clauses satisfied no matter what Player II does. In the positive&#xA;case we say that the instance is &lt;strong&gt;GBF-satisfiable.&lt;/strong&gt; ..&lt;/p&gt;&#xA;&#xA;&lt;p&gt;...&#xA;&lt;strong&gt;Theorem 4&lt;/strong&gt;: The problem of deciding &lt;em&gt;GBF-satisfiability&lt;/em&gt; of a Boolean formula is PSPACE-complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT&lt;/strong&gt;: Daniel Grier's has found out that the result was also settled by Schaefer in the '70s, see &lt;a href=&quot;https://cstheory.stackexchange.com/questions/25671/is-this-variation-of-tqbf-still-pspace-complete#25686&quot;&gt;his answer on this page&lt;/a&gt; for the reference (and upvote it :-). Schaefer proved that the game is still PSPACE-complete even if restricted to &lt;em&gt;positive CNF formulas&lt;/em&gt; (i.e. propositional formulas in conjunctive normal form in which no negated variables occur) with at most 11 variables in each conjunction.&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2014-09-05T18:01:31.557" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25675" PostTypeId="2" ParentId="189" CreationDate="2014-09-04T04:50:56.413" Score="2" Body="&lt;p&gt;If union-find is in the book,&#xA;why can't &lt;a href=&quot;http://en.wikipedia.org/wiki/Bloom_filter&quot; rel=&quot;nofollow&quot;&gt;Bloom filters&lt;/a&gt; be there?&#xA;If you are not familiar with Bloom filters, &lt;a href=&quot;https://www.youtube.com/watch?v=-SuTGoFYjZs&quot; rel=&quot;nofollow&quot;&gt;this video&lt;/a&gt; is a quick but nice introduction.&lt;/p&gt;&#xA;" OwnerUserId="4264" LastActivityDate="2014-09-04T04:50:56.413" CommentCount="0" CommunityOwnedDate="2014-09-04T04:50:56.413" ContentLicense="CC BY-SA 3.0" />
  <row Id="25676" PostTypeId="2" ParentId="25216" CreationDate="2014-09-04T12:19:43.793" Score="3" Body="&lt;p&gt;The universal theory of the real field is easily seen to be coNP-hard, and &lt;a href=&quot;http://dx.doi.org/10.1145%2F62212.62257&quot; rel=&quot;nofollow&quot;&gt;Canny&lt;/a&gt; proved it to be in PSPACE, but that’s about all that is known about its relationship to common complexity classes.&lt;/p&gt;&#xA;" OwnerUserId="6959" LastActivityDate="2014-09-04T12:19:43.793" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="25680" PostTypeId="2" ParentId="25216" CreationDate="2014-09-04T18:04:49.483" Score="3" Body="&lt;p&gt;Like the Boolean Formula Isomorphism problem, the Group Equations Isomorphism problem is $\mathsf{coNP}$-hard and in $\mathsf{\Sigma_2P}$, for any fixed non-abelian group. See &lt;a href=&quot;http://dx.doi.org/10.1007/978-3-540-28629-5_28&quot; rel=&quot;nofollow&quot;&gt;&lt;em&gt;The Complexity of Equivalence and Isomorphism of Systems of Equations&lt;/em&gt;&lt;/a&gt; by Gustav Nordh (2004) for more information.&lt;/p&gt;&#xA;" OwnerUserId="4193" LastActivityDate="2014-09-04T18:04:49.483" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25684" PostTypeId="1" AcceptedAnswerId="25687" CreationDate="2014-09-05T13:33:08.437" Score="3" ViewCount="549" Body="&lt;p&gt;There are several graph $NP$-complete problems that have sub-exponential time algorithm on planar graph instances. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is the fastest algorithm for HC problem on cubic planar graphs? Is there a sub-exponential algorithm for this class of graphs?&lt;/p&gt;&#xA;" OwnerUserId="495" LastActivityDate="2014-09-07T10:59:11.910" Title="Sub-exponential algorithm for Hamiltonian cycle problem on cubic planar graphs?" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;" AnswerCount="3" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25685" PostTypeId="2" ParentId="25444" CreationDate="2014-09-05T14:48:17.403" Score="1" Body="&lt;p&gt;We get to cheat a little bit more, actually.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $k=|\Sigma|$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $q = aXbYbZa$ is a pattern, then $bYb$ occurs at least as many times as $q$.  Thus, we only need to find patterns $cWc$ where $W$ contains no repeats and does not contain $c$.  This means that the length of $q$ is at most $k+1$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We are going to build a trie-like structure where each node contains the number of times the string representing that node has been seen.&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&#xA;for i: each index of s&#xA;    simultaneously insert s[i:i],s[i:i+1],...,s[i:i+k] into the trie by&#xA;    inserting s[i:i+k] but incrementing the count on each node while descending the trie&#xA;&#xA;traverse the trie&#xA;    keep track of the node with the highest count which represents a string of the form aXa&#xA;reproduce the string with the highest count from the trie and return it&#xA;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;The running time for this is $O(kn)$.  While building the trie, we touch $k$ nodes for each index of $s$.  The trie has only $O(kn)$ nodes, so traversing it takes only $O(kn)$ time.&lt;/p&gt;&#xA;" OwnerUserId="4765" LastActivityDate="2014-09-05T14:48:17.403" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25686" PostTypeId="2" ParentId="25671" CreationDate="2014-09-05T15:24:53.350" Score="30" Body="&lt;p&gt;It may also be worthwhile to note that this problem was also solved in the 70's by Thomas Schaefer in ￼&lt;a href=&quot;http://dl.acm.org/citation.cfm?id=803629&quot;&gt;Complexity of decision problems based on finite two-person perfect-information games&lt;/a&gt;.  In fact, he proves a slightly stronger result in that the language remains PSPACE-complete even when restricted to positive CNF formulas.&lt;/p&gt;&#xA;" OwnerUserId="21571" LastActivityDate="2014-09-05T15:24:53.350" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="25687" PostTypeId="2" ParentId="25684" CreationDate="2014-09-05T15:48:44.133" Score="7" Body="&lt;p&gt;Planar separators easily give an $n^{O(\sqrt{n})}$ algorithm. This can be &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0167637705000763&quot;&gt;improved&lt;/a&gt; to $2^{O(\sqrt{n})}$ which is optimal (up to the constant in the exponent) for general planar graphs assuming ETH. I am not sure if being cubic helps or not. &lt;/p&gt;&#xA;" OwnerUserId="4896" LastActivityDate="2014-09-05T15:48:44.133" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="25688" PostTypeId="2" ParentId="25684" CreationDate="2014-09-05T16:09:00.970" Score="6" Body="&lt;p&gt;As mentioned, different methods such as branch decomposition (or tree decomposition) give subexponential algorithm which can improve simply by Catalan structure in planar graph to $2^{O(\sqrt{n})}$. Furthermore we can extend those results to graphs of bounded genus, that means even in graphs of bounded genus (and even on excluded minors) the problem is subexponential time solvable as described in &lt;a href=&quot;http://arxiv.org/abs/1104.2486&quot; rel=&quot;nofollow&quot;&gt;Dynamic Programming for Graphs on surfaces&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="1846" LastEditorUserId="1846" LastEditDate="2014-09-07T10:59:11.910" LastActivityDate="2014-09-07T10:59:11.910" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25690" PostTypeId="2" ParentId="25618" CreationDate="2014-09-05T20:21:36.977" Score="3" Body="&lt;p&gt;As written, the problem requires time $2^{\Omega(m)}$, where $m$ is the length of input (you unfortunately used $n$ for something else). Indeed, if e.g. $\alpha$ is a positive integer (given by its minimal polynomial $x-\alpha$) and $n=0$, the size of the output is exponential in the size of the input. This bound is of course optimal, as there are a number of ways how to compute the result in time $2^{O(m)}$.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Let me try to reformulate the question so that it makes a bit more sense. The main issue is how to choose the representation of the input and output, as well as the notion of approximation, so that exponentiation stands a fighting chance of being computable in polynomial time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One way was mentioned by Kaveh in the comments: restrict the domain to a fixed finite interval. While this works, it is unnecessarily restrictive; in particular, there is no good way how to transform an algebraic number into one that is bounded so that their exponentials have anything to do with each other.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A more flexible approach is to represent the input as a &lt;em&gt;fixed point&lt;/em&gt; number, and the output as a &lt;em&gt;floating point&lt;/em&gt; number. To be specific, a fixed point representation is a string&#xA;$$\pm a_ra_{r-1}\dots a_0.a_{-1}\dots a_{-s}$$&#xA;denoting $\pm\sum_ja_j2^j$, where $a_j\in\{0,1\}$, and a floating point representation is&#xA;$$\pm2^e\times a_0.a_{-1}\dots a_{-s}$$&#xA;with a similar interpretation, where $e$ is a binary integer, and $a_0=1$. (As an exception, we also allow $0$ to represent itself.) An approximation of a real $x$ to $m$ bits of &lt;em&gt;absolute&lt;/em&gt; accuracy is a real $x'$ such that $|x-x'|&amp;lt;2^{-m}$, and an approximation to $m$ bits of &lt;em&gt;relative&lt;/em&gt; accuracy is $x'$ such that $|1-x'/x|&amp;lt;2^{-m}$. We will use absolute accuracy for fixed point approximations, and relative accuracy for floating point approximations. It follows that in both cases, we may as well assume $s\le m$ (up to loss of one bit of accuracy).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Fixed point and floating point representations of dyadic Gaussian rationals, and approximations of complex numbers, are defined similarly, using a pair of reals. Everywhere below, $n$ denotes the total size of the input.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, let (real or complex) &lt;em&gt;exponentiation&lt;/em&gt; be the following problem: the input is a fixed point representation of a number $x$ and a unary natural number $m$, and the output is a floating point approximation of $e^x$ to $m$ bits of relative accuracy. Dually, &lt;em&gt;logarithm&lt;/em&gt; takes as input a floating point number $x$ and unary $m$, and the output is a fixed point approximation of $\log x$ (say, the principal branch in the complex case) to $m$ bits of absolute accuracy.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As long as we stick to run-time bounds satisfying some mild regularity conditions, and ignore constant multiplicative factors, we have:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The complexity of exponentiation, logarithm, or any similar analytic function, is at least the complexity of integer multiplication: e.g., we can read off $a^2$ from $\exp(a2^{-t})=a2^{-t}+a^22^{-2t-1}+O(a^32^{-3t})$ for sufficiently large $t$, linear in the length of $a$.&lt;/li&gt;&#xA;&lt;li&gt;Exponentiation and logarithm have the same complexity. The reason is that we can compute the inverse of a nice function by Newton iteration (or more sophisticated methods such as in &lt;a href=&quot;http://arxiv.org/abs/1004.3412&quot; rel=&quot;nofollow&quot;&gt;Brent&lt;/a&gt;) using evaluation of the function itself. The iteration typically involse multiplications or divisions, but we can afford these by the previous point.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;As for algebraic numbers $\alpha$, they can be represented by their minimal polynomial $f$ (written as a sequence of integer coefficients in binary) together with some means to distinguish between the roots of the same polynomial. A natural way to do that is to require an isolation interval or disk: a pair of fixed point numbers $c,\rho$ such that $|c-\alpha|&amp;lt;\rho$. We need to at least require that $\alpha$ is a unique root of $f$ with this property, but something stronger may be more suitable. More on that later.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let &lt;em&gt;algebraic number approximation&lt;/em&gt; be the following problem: given an algebraic number $\alpha$ in the representation above, and $m$ in unary, compute a (complex) fixed point approximation of $\alpha$ to $m$ bits of absolute accuracy.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\DeclareMathOperator\re{Re}$The original question asked for $\re e^\alpha$, but let me ignore that for now, and define &lt;em&gt;algebraic number exponentiation&lt;/em&gt; as the following problem: given $\alpha$ and $m$ as above, compute a (complex) floating point approximation of $e^\alpha$ to $m$ bits of relative accuracy.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Fact:&lt;/strong&gt; Up to linear factors, the complexity of algebraic number exponentiation is the same as the complexity of algebraic number approximation plus the complexity of complex exponentiation.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Proof sketch:&lt;/strong&gt; On the one hand, we can first compute the fixed point approximation of $\alpha$ and then exponentiate it. Note that $m+O(1)$ bits of absolute accuracy for $\alpha$ determine $e^\alpha$ to $m$ bits of relative accuracy, and vice versa.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, if we can do algebraic number exponentiation, we can also do plain exponentiation, as we can readily convert a fixed point number (considered exact) to its representation as an algebraic number. By the comments above, this means we can also compute logarithms in the same time bound. Thus, we can approximate an algebraic number by first approximating $e^\alpha$, and then taking a logarithm. QED&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This splits the question to two quite unrelated problems. The best known upper bound on exponentiation is&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Theorem (&lt;a href=&quot;http://arxiv.org/abs/1004.3412&quot; rel=&quot;nofollow&quot;&gt;Brent&lt;/a&gt;):&lt;/strong&gt; If we can multiply $n$-bit integers in time $M(n)$, we can compute complex exponentiation (and logarithm) in time $O(M(n)\log n)$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The best known lower bound is the $\Omega(M(n))$ mentioned above. The best known upper bound on $M(n)$ is $n\log n\,2^{O(\log^*n)}$ by Fürer’s algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Figuring out the state of art for algebraic number approximation (that is, root finding) is rather harder, as it is still an area of active research, and the formulations of bounds in the literature are often not as clear as one would want them. Let $\tilde O(f(n))$ denote $O(f(n)\mathrm{polylog}(f(n)))$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For &lt;em&gt;real&lt;/em&gt; root approximation, &lt;a href=&quot;http://hal.inria.fr/hal-00960896&quot; rel=&quot;nofollow&quot;&gt;Pan and Tsigaridas&lt;/a&gt; give:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Theorem:&lt;/strong&gt; Real algebraic number approximation can be done in time $\tilde O(d^2\tau+dm)$, where $d=\deg(f)$, and $\tau$ is maximum of bit-lengths of the coefficients of $f$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;In the same paper, they mention $\tilde O(d^3+d^2m)$ as the best known bound for &lt;em&gt;complex&lt;/em&gt; root approximation. In a slightly more recent paper (&lt;a href=&quot;http://arxiv.org/abs/1404.4775&quot; rel=&quot;nofollow&quot;&gt;http://arxiv.org/abs/1404.4775&lt;/a&gt;), they seem to claim the same bounds for the complex case as for the real case, under the assumption that the given isolation disk has isolation ratio (the distance of the disk’s center to the nearest other root of $f$ divided by the radius of the disk) at least $1+1/\log d$ or so, but it’s written in a rather messy way and I may misinterpret it.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Now, the final complication. I defined the problem as approximation of $e^\alpha$, whereas the question asks for $\re e^\alpha$. This actually makes the problem harder: if $\re e^\alpha\ll\operatorname{Im}e^\alpha$, then an approximation $x+iy$ of $e^\alpha$ to $m$ bits of relative accuracy has error $y2^{-m}$, which may well be larger than $x$ itself, and in any case is not guaranteed to be bounded by $x2^{-m}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For exponentiation of exact rationals, we can circumvent the problem:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Proposition:&lt;/strong&gt; Given $\alpha=x+iy$ and unary $m$, where $x,y$ are binary rationals (or exact fixed point numbers), we can compute a floating point approximation of $\re e^\alpha$ to $m$ bits of relative accuracy within the same time bound as complex exponentiation as defined above, up to linear factor. (I.e., $O(M(n)\log n)$ using Brent’s algorithm.)&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Proof sketch:&lt;/strong&gt; We have $\re e^\alpha=e^x\cos y$. We can approximate $e^x$, and floating point numbers are easily multiplied, the problem is to approximate $\cos y$ with relative error $2^{-m}$. We can compute the integer $k$ nearest to $2y/\pi$, whence $\cos y$ is $\pm\cos y'$ or $\pm\sin y'$, where $y'=y-k\frac\pi2$ satisfies $|y'|\le\pi/4$. The issue arises when we need to compute $\sin y'$ and $y'$ is very small, since in order to have $\sin y'$ to $m$ bits of relative accuracy, we need $m+\log|{y'}^{-1}|$ bits of absolute accuracy. Assume that $y=u/v$, where $u,v$ are integers given as input. If $y'$ is small, we have a good rational approximation of $\pi$:&#xA;$$\left|\pi-\frac{2u}{kv}\right|\le\frac{2|y'|}k.$$&#xA;Now, $\pi$ is known to have a finite irrationality measure $\nu$ (the current bound is $7{.}6063$ by &lt;a href=&quot;http://dx.doi.org/10.1070/RM2008v063n03ABEH004543&quot; rel=&quot;nofollow&quot;&gt;Salikhov&lt;/a&gt;). This implies&#xA;$$|y'|\ge\frac1{2k^{\nu-1}v^\nu},$$&#xA;which gives a linear upper bound on $\log|{y'}^{-1}|$ in terms of the length of the input. We can thus compute $y'$ to the desired accuracy; evaluating $\sin y'$ is then not a problem (if $y'$ is sufficiently small, we can just take $\sin y'\approx y'$). QED&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I do not know whether the same holds for algebraic $\alpha$. In the argument above, one can get a bound on $\log|y'|$ from &lt;a href=&quot;https://en.wikipedia.org/wiki/Baker%27s_theorem&quot; rel=&quot;nofollow&quot;&gt;Baker’s theorem&lt;/a&gt;, however, none of its versions that I’ve seen is good enough to make the required accuracy linear in the size of the input: in particular, the bounds involve a (rather nasty) polynomial in $\deg(f)$. This makes the resulting algorithm polynomial in the size of the input, but with a ridiculous exponent.&lt;/p&gt;&#xA;" OwnerUserId="6959" LastEditorUserId="6959" LastEditDate="2014-09-05T21:18:21.087" LastActivityDate="2014-09-05T21:18:21.087" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="25693" PostTypeId="1" CreationDate="2014-09-05T22:31:22.487" Score="4" ViewCount="251" Body="&lt;p&gt;We can write ${\mathsf {NP}}-{\mathsf P}= {\mathsf {NPC}}\cup {\mathsf {NPI}}$ &#xA;where ${\mathsf {NPC}}$ is the set of ${\mathsf {NP}}$-complete languages (not in ${\mathsf {P}}$ by this partition), and ${\mathsf {NPI}}$ contains the  ${\mathsf {NP}}$-intermediate ones. Assuming ${\mathsf P}\neq  {\mathsf {NP}}$, both ${\mathsf {NPC}}$ and  ${\mathsf {NPI}}$ are known nonempty.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is, however, a kind of strange asymmetry between ${\mathsf {NPC}}$ and  ${\mathsf {NPI}}$. Under the hypothesis ${\mathsf P}\neq  {\mathsf {NP}}$, we know not only that both sets are nonempty, but we also have plenty of natural problems that are &lt;em&gt;provably&lt;/em&gt; in ${\mathsf {NPC}}$. On the other hand, to my knowledge, there is not a single &lt;em&gt;natural&lt;/em&gt;  problem that has been proven to fall in ${\mathsf {NPI}}$, under the same ${\mathsf P}\neq  {\mathsf {NP}}$ hypothesis.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Note:&lt;/em&gt;  Even though there are quite a few natural &lt;em&gt;candidates&lt;/em&gt; for ${\mathsf {NPI}}$ status,  none of them has been  proven to be in ${\mathsf {NPI}}$ under the ${\mathsf P}\neq  {\mathsf {NP}}$ hypothesis, as far as I know. The highly artificial construction provided by Ladner's Theorem does not qualify for a natural problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thus, assuming ${\mathsf P}\neq  {\mathsf {NP}}$, the set ${\mathsf {NPC}}$ is teeming with natural examples, while for ${\mathsf {NPI}}$ we do not know even a single natural problem that is &lt;em&gt;guaranteed&lt;/em&gt; to fall in the set under the same hypothesis. What could explain this strange asymmetry? Why is ${\mathsf {NPI}}$ so &quot;thin&quot; in this informal sense?&lt;/p&gt;&#xA;" OwnerUserId="12710" LastEditorUserId="186" LastEditDate="2014-09-06T16:00:34.227" LastActivityDate="2014-09-06T16:00:34.227" Title="Is there a reason we haven't been able to prove that the existence of natural NPI problems even conditionally under assumption NPI is not empty?" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;" AnswerCount="0" CommentCount="15" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="25698" PostTypeId="2" ParentId="25684" CreationDate="2014-09-06T06:57:32.040" Score="8" Body="&lt;p&gt;Actually, you don't need to exploit the &quot;Catalan structure&quot; in planar graphs to get a $2^{O(\sqrt{n})}$ time bound as Saeed suggests. &lt;a href=&quot;http://arxiv.org/abs/1103.0534&quot; rel=&quot;nofollow&quot;&gt;Cygan et al.&lt;/a&gt; show you how to detect a Hamiltonian Cycle in $\operatorname{poly}(n)4^{\operatorname{tw}(G)}$ time even in general graphs, and in the final version of the paper they also describe how this can be improved to $\operatorname{poly}(n)3^{\operatorname{tw}(G)}$ time in cubic graphs. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The above algorithm is randomized. If you insist on a deterministic one, this is also possible with a slightly larger base constant, see &lt;a href=&quot;http://arxiv.org/abs/1211.1505&quot; rel=&quot;nofollow&quot;&gt;Bodlaender et al.&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="679" LastEditorUserId="679" LastEditDate="2014-09-07T07:04:41.603" LastActivityDate="2014-09-07T07:04:41.603" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="25699" PostTypeId="1" CreationDate="2014-09-06T08:02:03.190" Score="3" ViewCount="111" Body="&lt;p&gt;I know that DDL is most often used when talking about databases, but I see no reason why XML, PDF or even to some extent Prolog shouldn't belong to this category. It looks like branches of CS traditionally associated with studying languages wouldn't do very good job at analyzing DDLs. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Whichever approach to semantics you take, it doesn't seem to be meaningful, when applied to structured representation of data. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The notion of complexity is only so much relevant to data structures - it tries to answer the question of what would it mean to use a data structure for a particular task, but not the questions about the data structure itself.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another reason for me to ponder this question is that based on my intuition, I can say things like &quot;this data definition language seems to be better suited for the task&quot;, or &quot;this data definition language seems to do a bad job when modelling the real-world situation&quot;, but I don't know where to look for the formalism which may support or debunk this intuition.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;The comments suggested that I rephrase the question. Of course quality is a very broad concept, but I'm not only interested in efficiency. Or, more precisely, I don't really know what does it mean for a DDL to be efficient.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I will make it furthermore concrete. I was tasked with improving a file format of an application for editing presentations. The current version of this format is an XML, which basically dumps the application state at the time the user requested to save the file, and that's it. There are multiple downsides of this approach, beside the entire format was created ad hoc, unsystematically etc.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I red the Grammar of Graphics by Wilkinson, and thought that it had many great ideas about how to generalize and conceptualize in conceptually similar field. I also red about Allen's interval calculus and some other literature on how to formalize time in language. But more then just a set of ideas, I need some sort of quality assurance. Something that would give me some sense of guarantee, that the tools available to the language do indeed meet the needs, and that they do it in an optimal way (or not, and if not, then how far off am I). Of course it might be too naive to expect to have a metric that would just produce a numerical answer, but anything that I could use in the same way one could use asymptotic analysis would be great.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;I did try to find an answer to the question myself. Here is the closest I think I found so far:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Orthogonality&lt;/strong&gt; principle, as stated by Wilkinson in Grammar of Graphics:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;As much as possible everything should work everywhere and in every&#xA;  combination.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Hierarchy&lt;/strong&gt; principle&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Complicated tasks should be done by enlisting support of simpler&#xA;  helpers.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;While this sounds reasonable to me, I don't know how to approach the task of calculating these.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I also took courage to add one more principle:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Comprehensiveness&lt;/strong&gt;. The notation should observe the bounds imposed by physical abilities of the reader.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Beside these, I tried to approach the problem from linguistic perspective. There is, for example, a notion of a measure of entropy of a grammar (for example, if talking about Hausdorff dimensions and topological entropy). But this is both too advanced for me, and I don't think this is &quot;a thing&quot; about data definition languages.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I also tried to approach the problem from the perspective of expressiveness, for which purpose I've been reading Matthias Felleisen On The Expressive Power of Programming Languages, but I find the analogy too removed / difficult to apply, because this book models its notion of expressiveness on lambda calculus, which doesn't fit well with what I'm trying to understand.&lt;/p&gt;&#xA;" OwnerUserId="27160" LastEditorUserId="27160" LastEditDate="2014-09-08T05:47:17.100" LastActivityDate="2014-09-08T05:47:17.100" Title="How to analyze the quality of data definition language?" Tags="&lt;pl.programming-languages&gt;&lt;language-design&gt;" AnswerCount="0" CommentCount="15" FavoriteCount="1" ClosedDate="2014-09-10T01:51:43.093" ContentLicense="CC BY-SA 3.0" />
  <row Id="25700" PostTypeId="1" CreationDate="2014-09-06T14:22:57.710" Score="12" ViewCount="916" Body="&lt;p&gt;I have part of a proof attempt of $\oplus \mathbf{P} \subseteq \mathbf{NP}$. The proof attempt consists of a Karp reduction from the $\oplus \mathbf{P}$-complete problem $\oplus$3-REGULAR VERTEX COVER to SAT.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a cubic graph $G$, the reduction outputs a CNF formula $F$ having both the following properties:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$F$ has at most $1$ satisfying assignment.&lt;/li&gt;&#xA;&lt;li&gt;$F$ is satisfiable if and only if the number of vertex covers of $G$ is odd.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Questions&lt;/strong&gt;&lt;/p&gt;&#xA;  &#xA;  &lt;ol&gt;&#xA;  &lt;li&gt;Which would be the consequences of $\oplus \mathbf{P} \subseteq \mathbf{NP}$ ? A consequence which I'm already aware of is the following: $\mathbf{PH}$ would be reducible to $\mathbf{NP}$ via two-sided randomized reduction. In other words we would have $\mathbf{PH}\subseteq\mathbf{BPP}^{\mathbf{NP}}$ (using Toda's Theorem, which states that $\mathbf{PH}\subseteq\mathbf{BPP}^{\oplus\mathbf{P}}$, by merely replacing $\oplus\mathbf{P}$ with $\mathbf{NP}$). I do not know if $\mathbf{BPP}^{\mathbf{NP}}$ has been shown to be contained in some level $i$ of the Polynomial Hierarchy: if yes, a further consequence would be that $\mathbf{PH}$ collapses to such level $i$. &lt;s&gt;Moreover, under widely accepted derandomization assumptions ($\mathbf{BPP} = \mathbf{P}$), the Polynomial Hierarchy would collapse between the first and the second level, as we would have $\mathbf{PH} = \mathbf{P}^\mathbf{NP} = \Delta_2^\mathbf{P}$ (I'm told this is not true, however I will not erase this line until I fully understand why).&lt;/s&gt;&lt;/li&gt;&#xA;  &lt;li&gt;If I'm not mistaken, the aforementioned reduction would actually prove more than $\oplus \mathbf{P} \subseteq \mathbf{NP}$. It would prove $\oplus \mathbf{P} \subseteq \mathbf{UP}$. Which would be the consequences of $\oplus \mathbf{P} \subseteq \mathbf{UP}$, &lt;strong&gt;in addition&lt;/strong&gt; to those already implied by $\oplus \mathbf{P} \subseteq \mathbf{NP}$ ? I do not know exactly whether $\oplus \mathbf{P} \subseteq \mathbf{UP}$ would add more surprise to the already surprising consequences of $\oplus \mathbf{P} \subseteq \mathbf{NP}$, nor to what extent. Intuitively I presume it would, and to a pretty wide extent.&lt;/li&gt;&#xA;  &lt;/ol&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="947" LastEditorUserId="947" LastEditDate="2014-09-10T18:35:34.643" LastActivityDate="2019-12-25T16:41:45.980" Title="Consequences of $\oplus \mathbf{P} \subseteq \mathbf{NP}$" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;&lt;complexity-classes&gt;&lt;sat&gt;&lt;counting-complexity&gt;" AnswerCount="1" CommentCount="23" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="25703" PostTypeId="1" AcceptedAnswerId="25704" CreationDate="2014-09-07T03:59:20.187" Score="3" ViewCount="628" Body="&lt;p&gt;The following exercise problem is from the book of D.B.West which i could solve:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;If a complete graph can be decomposed into triangles then &lt;span class=&quot;math-container&quot;&gt;$n-1$&lt;/span&gt; or &lt;span class=&quot;math-container&quot;&gt;$n-3$&lt;/span&gt; is divisible by 6.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;So my questions are the following,&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;If a complete graph of &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt; vertices can be decomposed into cliques of size &lt;span class=&quot;math-container&quot;&gt;$p$&lt;/span&gt; with &lt;span class=&quot;math-container&quot;&gt;$p\leq n$&lt;/span&gt; then what should be the relation between &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$p$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;What is the official name of this problem in the literature ?&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Any links/hints would be helpful.&lt;/p&gt;&#xA;" OwnerUserId="12280" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2014-09-08T06:13:50.877" Title="Decompose a complete graph into smaller cliques" Tags="&lt;graph-theory&gt;" AnswerCount="2" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25704" PostTypeId="2" ParentId="25703" CreationDate="2014-09-07T08:43:10.703" Score="12" Body="&lt;p&gt;If you want to decompose a complete graph into triangles then look for &quot;steiner triple system&quot; (STS). You will find some there: &lt;a href=&quot;http://steinertriples.fr/&quot;&gt;http://steinertriples.fr/&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you want to decompose a complete graph into cliques of size p, the generalization of STS that you want are &quot;Balanced Incomplete Block Designs&quot;. If you want to know more about that, try to find the book from Douglas Stinson named &quot;Combinatorial designs: construction and analysis&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, if you want to build some BIBD, we've been sweating a lot over combinatorial designs code in Sage recently. It can build a &lt;code&gt;(v,k,1)&lt;/code&gt;-BIBD whenever one exists for &lt;code&gt;k&amp;lt;=5&lt;/code&gt;, and as for larger values of &lt;code&gt;k&lt;/code&gt;, well, it depends.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Either way, if you find a combinatorial design that it cannot build come tell us about it ! &lt;code&gt;:-P&lt;/code&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Nathann&lt;/p&gt;&#xA;" OwnerUserId="1209" LastActivityDate="2014-09-07T08:43:10.703" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="25707" PostTypeId="1" AcceptedAnswerId="25709" CreationDate="2014-09-07T15:44:50.007" Score="17" ViewCount="1204" Body="&lt;p&gt;Let $G$ be a digraph (not necessarily a DAG) and let $s,t \in V(G)$. What is the complexity of counting the number of &lt;em&gt;simple&lt;/em&gt; $s-t$ paths in $G$.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would expect the problem to be #${\mathsf P}$-complete but have not been able to locate an exact reference.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also notice that a number of similar questions have been answered correctly here&#xA;and elsewhere but not this precise question - to emphasise I am not interested in counting walks and/or undirected graphs (in the first case the variant is in ${\mathsf P}$ and in the other #${\mathsf P}$-hard).&lt;/p&gt;&#xA;" OwnerUserId="214" LastActivityDate="2014-09-07T22:31:13.870" Title="The complexity of counting simple paths in a directed graph" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;counting-complexity&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="25708" PostTypeId="1" CreationDate="2014-09-07T16:01:54.230" Score="1" ViewCount="99" Body="&lt;p&gt;EDIT: I'm sorry if this question belongs more to cs.SE, I've had a dilemma about where to put it. Please let me know if it's inappropriate.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm currently implementing the Vertex Cover problem solving algorithm by aforementioned Authors (Paper: &lt;a href=&quot;http://www.cs.lafayette.edu/~gexia/research/mfcs06.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;PDF&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm having a bit of trouble understanding the inner workings of the &lt;code&gt;Struction&lt;/code&gt; operation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The general idea is as follows:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;$v_0$ is a vertex in $G=(V,E)$ (original graph) with a set of neighbours: $\{v_1, v_2, ..., v_p\}$. $G\prime$ is obtained by applying struction to $v_0$ in $G$.&lt;/li&gt;&#xA;&lt;li&gt;Remove vertices $\{v_0, v_1, ..., v_p\}$ and introduce a vertex $v_{ij}$ for each $(v_{i}, v_{j}) \notin E $ in $G$, where $0 \lt i \lt j \leq p$. &lt;/li&gt;&#xA;&lt;li&gt;Add an edge $(v_{ir}, v_{js})$ if $i=j$ and $(v_r, v_s) \in E$ in $G$.&lt;/li&gt;&#xA;&lt;li&gt;Add an edge $(v_{ir}, v_{js})$ if $i \neq j$.&lt;/li&gt;&#xA;&lt;li&gt;$\forall_{u \in \setminus \{v_0, v_1, ..., v_p\}}$ add the edge $(v_{ij}, u)$ if $(v_i,u) \in E$ or $(v_j,u) \in E$.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;My main issue occurs when applying struction to $v_1$ in the following graph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/aUa2H.jpg&quot; alt=&quot;Graph before struction&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(It's the same one as in the paper, only the numbering is different.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;After creating the supplementary vertices for anti-edges within the removed set, I'm ending up with $v_{24}$ and $v_{34}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;At this point, I find the notation of $v_{ir}$ and $v_{js}$ &lt;strong&gt;extremely&lt;/strong&gt; misleading- up to the point of not being able to grasp the intricacies.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So far (using simplistic logic as a substitution for what is written in the paper) I have been able to understand that in step 4, we search for edges adjacent to each of the vertices comprising each of the supplementary vertices added in step 2 and connect them appropriately, ending up with the following:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/KQDM7.jpg&quot; alt=&quot;After connecting distant neighbors&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;($v_{24}$ is &lt;code&gt;10&lt;/code&gt;, $v_{34}$ is &lt;code&gt;11&lt;/code&gt;.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But how should I understand in 'semi-human' terms what is going on in step 3, when $i=j$? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I get that when two supplementary vertices are connected to common neighbors, they should be inter-connected as well, e.g. $v_{24}$ and $v_{34}$ are both connected to ${v_8}$ and $v_{9}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is that a correct assumption?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;How can I picture the relationship between $i$, $j$, $r$ and $s$ (especially in the context of $v_{ir}$, $v_{js}$)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I can imagine implementing it in a separate pass of a loop over the supplementary vertices - but the paper clearly indicates that it's feasible to do step 3 and step 4 in one pass.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Would anybody be so kind to break this down a little bit for me?&lt;/p&gt;&#xA;" OwnerUserId="27128" LastEditorUserId="27128" LastEditDate="2014-09-07T16:14:19.547" LastActivityDate="2014-09-09T16:57:52.687" Title="Connecting vertices after struction operation in J.Chen, I.Kanj, G.Xia vertex cover algorithm" Tags="&lt;graph-theory&gt;&lt;fixed-parameter-tractable&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25709" PostTypeId="2" ParentId="25707" CreationDate="2014-09-07T22:17:01.597" Score="19" Body="&lt;p&gt;The #P-completeness proof of counting simple s-t paths in both undirected and directed graphs can be found in:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Leslie G. Valiant: &lt;a href=&quot;http://epubs.siam.org/doi/abs/10.1137/0208032&quot;&gt;The Complexity of Enumeration and Reliability Problems&lt;/a&gt;. SIAM J. Comput. 8(3): 410-421 (1979)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;From the paper:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;...&lt;br&gt;&#xA;&lt;strong&gt;4. Some #P-complete problems&lt;/strong&gt;&lt;br&gt;&#xA;...&lt;br&gt;&#xA;14. S-T PATHS (i.e. SELF AVOIDING WALKS) (directed or undirected)&lt;br&gt;&#xA;Input: $G; s,t \in V$&lt;br&gt;&#xA;Output: Number of (directed) paths from $s$ to $t$ that visit every node at most once.&lt;br&gt;&#xA;...&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2014-09-07T22:31:13.870" LastActivityDate="2014-09-07T22:31:13.870" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25711" PostTypeId="2" ParentId="25703" CreationDate="2014-09-08T05:05:25.050" Score="0" Body="&lt;p&gt;I think if the size of clique, i.e. $p$ is prime, then the following statement is true.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If a complete graph of $n$ vertices can be decomposed into cliques of size p with $p≤n$ then $n-1$ or $n-p$ is divided by $p(p-1)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The above statement also holds if $p=2^k$.&lt;/p&gt;&#xA;" OwnerUserId="12280" LastEditorUserId="12280" LastEditDate="2014-09-08T06:13:50.877" LastActivityDate="2014-09-08T06:13:50.877" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25712" PostTypeId="1" AcceptedAnswerId="25715" CreationDate="2014-09-08T06:27:41.313" Score="9" ViewCount="307" Body="&lt;p&gt;This is an extension of the classical &lt;a href=&quot;http://en.wikipedia.org/wiki/Secretary_problem&quot; rel=&quot;noreferrer&quot;&gt;secretary problem&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;In the hiring game you have a set of candidates &lt;span class=&quot;math-container&quot;&gt;$\mathcal C=\{c_1,\ldots,c_N\}$&lt;/span&gt;, and order on how skilled each worker is.&lt;/p&gt;&#xA;&lt;p&gt;W.l.o.g, we assume that &lt;span class=&quot;math-container&quot;&gt;$c_1$&lt;/span&gt; is the most skilled, followed by &lt;span class=&quot;math-container&quot;&gt;$c_2$&lt;/span&gt;, etc.&lt;/p&gt;&#xA;&lt;p&gt;The order in which the candidates interview is picked uniformly at random and it is (obviously) unknown to the employers.&lt;/p&gt;&#xA;&lt;p&gt;Now suppose you have a market with 2 potential employers. In every round, a new candidate is interviewing for both companies (call them &lt;span class=&quot;math-container&quot;&gt;$A,B$&lt;/span&gt;). During the interview, both &lt;span class=&quot;math-container&quot;&gt;$A$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$B$&lt;/span&gt; observe the partial ordering of all of the past candidates, including the current interviewee.&#xA;The firms then (independently) decide whether to hire today's applicant.&lt;/p&gt;&#xA;&lt;p&gt;Unfortunately for &lt;span class=&quot;math-container&quot;&gt;$B$&lt;/span&gt;, it can not compete financially with &lt;span class=&quot;math-container&quot;&gt;$A$&lt;/span&gt;'s offer, so if both extends an offer for a worker, &lt;span class=&quot;math-container&quot;&gt;$A$&lt;/span&gt; gets preference.&lt;/p&gt;&#xA;&lt;p&gt;Also, once a secretary signs, the company may not interview any further candidates and the competitor &lt;strong&gt;becomes aware of the  signing&lt;/strong&gt;.&lt;/p&gt;&#xA;&lt;p&gt;The goal of each company is to hire the &lt;strong&gt;better skilled&lt;/strong&gt; candidate (as opposed to the classic problem, where a single company wishes to find the best secretary), as it is known that the company with the better secretary should be able to take over the market.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;What is the optimal strategy as the big firm (&lt;span class=&quot;math-container&quot;&gt;$A$&lt;/span&gt;)?&lt;/p&gt;&#xA;&lt;p&gt;What about the smaller company (&lt;span class=&quot;math-container&quot;&gt;$B$&lt;/span&gt;)?&lt;/p&gt;&#xA;&lt;p&gt;If both companies play their equilibrium strategies, what is the probability &lt;span class=&quot;math-container&quot;&gt;$B$&lt;/span&gt; gets the better worker?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;hr /&gt;&#xA;&lt;p&gt;In a &lt;a href=&quot;http://www.ssc.upenn.edu/%7Eapostlew/paper/pdf/duel-stoc.pdf&quot; rel=&quot;noreferrer&quot;&gt;related work&lt;/a&gt;, Kalai et al. discusses the symmetric version of this problem, where both companies have the same power of attracting candidates.&lt;/p&gt;&#xA;&lt;p&gt;In this setting, the simple (symmetric) equilibrium is that you hire a secretary iff the chance of she being better than the remaining candidates is at least 50%.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;How does this result changes in our setting?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="21001" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2014-09-08T16:10:55.723" Title="Secretary hiring game" Tags="&lt;ds.algorithms&gt;&lt;gt.game-theory&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="25714" PostTypeId="1" CreationDate="2014-09-08T10:24:20.170" Score="0" ViewCount="594" Body="&lt;p&gt;With pattern length $M$, text length $N$, and alphabet $\Sigma$, &#xA;is the asymptotic running-time of Boyer-Moore $O(N/|\Sigma|)$&#xA;(even when $M$ grows larger than $|\Sigma|$)?  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there any sublinear expected-time string matching algorithms (on all alphabet sizes)?&lt;/p&gt;&#xA;" OwnerUserId="10130" LastEditorUserId="186" LastEditDate="2014-09-08T13:57:05.097" LastActivityDate="2014-09-16T10:20:19.813" Title="Is the running time of Boyer-Moore linear?" Tags="&lt;ds.algorithms&gt;&lt;ds.data-structures&gt;&lt;time-complexity&gt;&lt;string-matching&gt;&lt;string-search&gt;" AnswerCount="1" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="25715" PostTypeId="2" ParentId="25712" CreationDate="2014-09-08T16:10:55.723" Score="8" Body="&lt;p&gt;For company $A$/the firm/giant corporation/&quot;big pharma&quot;/&quot;THE MAN&quot;, the strategy does not change from the symmetric version:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider a round where the probability of seeing only lesser candidates thereafter is $&amp;gt; .5$.  If company $A$ keeps the candidate, then it has a chance of winning $&amp;gt; .5$.  If $A$ does not keep the candidate, then company $B$ can hire the candidate and company $A$ has a chance of winning $&amp;lt; .5$.  So, obviously, company $A$ would hire (and company $B$ would attempt to hire) in this situation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For a candidate with winning odds of exactly $.5$, $A$ may or may not choose to hire, but $B$ would choose to hire because $B$ can never get odds better than $.5$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If company $A$ hired before it saw a candidate with winning chance $&amp;gt;= .5$, then the odds of a better future candidate existing (and hence $B$ winning) would be $&amp;gt; .5$.  So $A$ will not hire until it sees a candidate of winning odds $&amp;gt;= .5$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Therefore, $A$'s strategy is identical to the symmetric case: hire the first candidate that yields winning odds of $&amp;gt; .5$.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$B$'s strategy, then, is formed with $A$'s strategy in mind.  Obviously, if $A$ hires (at or) before $B$, then $B$'s strategy is to hire the next candidate that is better than $A$'s, if any.  Also, if a candidate comes by with winning odds $&amp;gt; .5$, $B$ should try to hire, even though $A$ will also try to hire (and force $B$ to keep looking).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The only question left is: is it ever beneficial for $B$ to hire when the odds of winning is $&amp;lt;= .5$.  The answer is: yes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Intuitively, say there is a round where the odds of winning with the candidate is $.5 - \epsilon$.  Also, there is &quot;likely to be&quot; (explained later) a future candidate with winning odds $&amp;gt; .5 + \epsilon$.  Then it would benefit $B$ to choose the earlier candidate.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $d_r$ be the candidate interviewing in round $r$ for all $1 &amp;lt;= r &amp;lt;= N$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Officially, $B$'s strategy is: &quot;hire $d_r$ if doing so yields better odds of winning than if not&quot;.  The following is how we calculate such a decision.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $p_{r,i}$ be the probability of winning after interviewing and hiring $d_r$ given $d_r$ is the $i$th best interviewed candidate.  Then:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$p_{r,i} = $ probability that $d_s &amp;lt; d_r$ for $s &amp;gt; r$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$ = (1-\frac{i}{r+1})(1-\frac{i}{r+2})\times ... \times (1-\frac{i}{N})$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$ = \frac{(N-i)!r!}{(r-i)!N!}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Notably, $p_{r,i}$ is easily computable to constant accuracy.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $P_{B,r}$ be the probability that $B$ wins given that neither company hired in rounds $1$ through $r-1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then $B$ would hire $d_r$ if the probability of winning after hiring $d_r$ is better than $P_{B,r+1}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that $P_{B,N} = 0$, because if it is the last round, then $A$ is guaranteed to hire and $B$ will not hire anyone and loose.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then, in round $N-1$, $B$ is guaranteed to try to hire and will succeed unless $A$ hires as well.  So:&#xA;$$&#xA;P_{B,N-1} = \sum_{i=1}^{N-1}\frac{1}{N-1}&#xA;\left\{&#xA;\begin{array}{lcl}&#xA;p_{N-1,i}   &amp;amp; : &amp;amp; p_{N-1,i} &amp;lt; .5 \\&#xA;1-p_{N-1,i} &amp;amp; : &amp;amp; p_{N-1,i} &amp;gt;= .5&#xA;\end{array}&#xA;\right.&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Which leads to the recursive function:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;P_{B,r} = \sum_{i=1}^{r}\frac{1}{r}&#xA;\left\{&#xA;\begin{array}{lcl}&#xA;1-p_{r,i} &amp;amp; : &amp;amp; p_{r,i} &amp;gt;= .5 \\&#xA;p_{r,i}   &amp;amp; : &amp;amp; P_{B,r+1} &amp;lt; p_{r,i} &amp;lt; .5 \\&#xA;P_{B,r+1} &amp;amp; : &amp;amp; \text{else}&#xA;\end{array}&#xA;\right.&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's pretty obvious that $P_{B,r}$ can be calculated to constant accuracy in polynomial time.  The final question is: &quot;what is the probability of $B$ winning?&quot;  The answer is $P_{B,1}$ and varies with $N$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As to the question of how often does $B$ win?  I have not calculated exactly, but looking at $N$ from 1 to 100, it appears that as $N$ grows, that $B$'s winning rate approaches .4 or so.  This result may be off as I just did a quick python script to check and did not pay close attention to rounding errors with floating numbers.  It may very well end up that the real hard limit is .5.&lt;/p&gt;&#xA;" OwnerUserId="4765" LastActivityDate="2014-09-08T16:10:55.723" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25716" PostTypeId="1" AcceptedAnswerId="25728" CreationDate="2014-09-09T03:32:37.533" Score="11" ViewCount="539" Body="&lt;p&gt;Are there any problems that are solvable in polynomial time only if P!=NP, and otherwise solvable in (say) $O(2^n)$ time?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A simple example would be: If P!=NP, compute a primality test for a random n-bit number, otherwise, evaluate a random worst-case position in &lt;a href=&quot;http://en.wikipedia.org/wiki/Generalized_game&quot;&gt;generalized&lt;/a&gt; chess of a nxn board with 2n pieces on each side. That seems kinda hacky though. Are there any more natural examples?&lt;/p&gt;&#xA;" OwnerUserId="21793" LastActivityDate="2014-09-10T15:20:18.073" Title="Problem that is in P only if P!=NP" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="25717" PostTypeId="1" CreationDate="2014-09-09T11:46:16.280" Score="3" ViewCount="223" Body="&lt;p&gt;So there is a talk about infinite-dimensional vector space being computable. But then I find it hard to understand. Apparently, dimension is infinite, so how would the operations of the space be computable? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is it something like $\pi$ being computable, although it has infinite number of digits? &lt;/p&gt;&#xA;" OwnerUserId="27186" LastActivityDate="2014-09-10T08:08:51.477" Title="Computability of infinite-dimensional vector space" Tags="&lt;computability&gt;&lt;algebra&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="25718" PostTypeId="2" ParentId="25708" CreationDate="2014-09-09T16:52:52.470" Score="1" Body="&lt;p&gt;I'll try to track myself what I have been able to establish so far as an empirically working solution.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;ol start=&quot;2&quot;&gt;&#xA;  &lt;li&gt;Remove vertices {v0,v1,...,vp} and introduce a vertex vij for each (vi,vj)∉E in G, where 0&#xA;  &lt;/ol&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;It is practical to have a function $lookup(x)$ for the supplementary vertices at your disposal, such that $lookup(i) = \{ v_{ij}| j: (v_i, v_j) \notin E\}$.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;ol start=&quot;3&quot;&gt;&#xA;  &lt;li&gt;Add an edge (vir,vjs) if i=j and (vr,vs)∈E in G.&lt;/li&gt;&#xA;  &lt;/ol&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;In practice, each new &lt;strong&gt;supplementary&lt;/strong&gt; vertex $v_{ij}$  in $G\prime=(V\prime, E\prime)$ must be connected to every &lt;strong&gt;supplementary&lt;/strong&gt; vertex $v_{rs} \in lookup(i) \cup lookup(j)$ such that $r \neq i \land s \neq j$.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;ol start=&quot;4&quot;&gt;&#xA;  &lt;li&gt;Add an edge (vir,vjs) if i≠j.&lt;/li&gt;&#xA;  &lt;/ol&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;This is the more straightforward case- for each supplementary vertex $v_{ij}$, and every edge $e_1=(v_i, v_r), e_2=(v_j, v_r); e_1,e_2 \in E$, create edge $e\prime=(v_{ij}, v_r); e\prime \in E\prime$.&#xA;∀u∈∖{v0,v1,...,vp} add the edge (vij,u) if (vi,u)∈E or (vj,u)∈E.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Result:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/NqFY4.jpg&quot; alt=&quot;Supplementary vertices are connected&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Still, any review of the correctness of my musings or guidance as to how to interpret and adhere to the original paper better is much appreciated!&lt;/p&gt;&#xA;" OwnerUserId="27128" LastEditorUserId="27128" LastEditDate="2014-09-09T16:57:52.687" LastActivityDate="2014-09-09T16:57:52.687" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25719" PostTypeId="1" CreationDate="2014-09-09T18:06:53.380" Score="1" ViewCount="112" Body="&lt;p&gt;In the standard &lt;a href=&quot;https://en.wikipedia.org/wiki/Secretary_problem&quot; rel=&quot;nofollow&quot;&gt;Secretary Problem&lt;/a&gt;, the goal is to hire the best secretary from a list of candidates.  I've recently witnessed a failed hiring attempt for a needed position and it inspired a similar game:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The goal is to maximize the net score.  Each candidate has a value that (if hired) would be added to the score.  And each day that goes by without hiring a candidate costs the company 1 point of score.  Starting score is 0.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Each day, the company either interviews a new candidate or attempts to hire a previously interviewed candidate.  The value of the candidate is discovered during the interview and is uniformly distributed between $0$ and (known) $v$.  There is an unlimited number of possible candidates to interview.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If the job is offered to a candidate, then the candidate will accept with a probability of $d^k$ for (known) constant $d$ and $k$ being the number of days since the candidate was interviewed.  You may only attempt to hire a candidate once.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So the question is: what is the best strategy for this game given $v$ and $d$?  Other natural questions: what is the best strategy if $v$ and/or $d$ are unknown?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any insights, answers, or references to similar games would be appreciated.&lt;/p&gt;&#xA;" OwnerUserId="4765" LastActivityDate="2014-09-11T17:04:01.003" Title="Generalized Secretary Optimization Problem" Tags="&lt;ds.algorithms&gt;&lt;gt.game-theory&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="25720" PostTypeId="2" ParentId="25717" CreationDate="2014-09-09T20:35:03.410" Score="7" Body="&lt;h3&gt;Short answer&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;The general answer is that computability is easy for locally compact spaces, doable for separable spaces, and hard for non-separable spaces.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The short anwer for a particular example, namely $\ell^2$ is: in order to get computability on $\ell^2$ working, represent an element $x$ of $\ell^2$ by a program which accepts $n$ and gives (the list of coefficients of) a finite rational linear combination of the standard basis vectors which is within $2^{-n}$ of $x$ in the $\ell^2$ norm.&lt;/p&gt;&#xA;&#xA;&lt;h3&gt;Long answer&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;One general way of equipping a space $X$ with computability is to choose a datatype $\mathtt{T}$ in your favorite programming language (it can be Turing machines and tapes if you're into 1950's memorabilia, otherwise I would recommend a reasonable programming language such as Haskell), and a &lt;em&gt;realizability&lt;/em&gt; relation $\vdash_X$ on $\mathtt{T} \times X$, where $\mathtt{d} \Vdash_X x$ means &quot;datum $\mathtt{d}$ represents (implements, realizes) the point $x \in X$&quot;. For instance, if $X$ is the space of all finite graphs, then $\mathtt{T}$ could be the datatype of &lt;a href=&quot;http://en.wikipedia.org/wiki/Adjacency_matrix&quot; rel=&quot;nofollow&quot;&gt;adjancency matrices&lt;/a&gt;. If $Y$ is another space with a computability structure, then a map $f: X \to Y$ is said to be &lt;em&gt;computable&lt;/em&gt; or &lt;em&gt;realized&lt;/em&gt; if there is a program $\mathtt{p}$ such that $\mathtt{d} \Vdash_X x$ implies $\mathtt{p}(\mathtt{d}) \Vdash_Y f(x)$, i.e., $\mathtt{p}$ does to the representing data what $f$ does to points.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The most important principle to always keep in mind is that &lt;strong&gt;computability is about computability of structure, not computability of a bare set.&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For instance, it makes no sense to ask &quot;Is $\pi$ computable?&quot; or even &quot;Which elements of $\mathbb{R}$ are computable?&quot; You &lt;em&gt;must&lt;/em&gt; first make up your mind about what structure of $\mathbb{R}$ you want to consider, and then see if you can make it computable.&#xA;The correct computability structure on $\mathbb{R}$ turns out to be:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;arithmetical operations must be computable (including the constants $0$ and $1$)&lt;/li&gt;&#xA;&lt;li&gt;the order relation $&amp;lt;$ must be semidecidable,&lt;/li&gt;&#xA;&lt;li&gt;there is a program which, given $d \vdash_{\mathbb{R}} x$ and $k \in \mathbb{N}$, computes a rational approximation of $x$ with precision $2^{-k}$,&lt;/li&gt;&#xA;&lt;li&gt;the limit operator $\lim$ which assigns to every &lt;em&gt;rapid&lt;/em&gt; Cauchy sequence of reals its limit, is computable. (A sequence $(x_n)$ is &lt;em&gt;rapid&lt;/em&gt; if $|x_n - x_m| \leq 2^{-\min(n,m)}$ for all $m, n$. The point is that we need to have a known rate of convergence, any other rate would do just as well.)&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;If you leave out anything, or try to add more, you will get into trouble by either having many non-equivalent computability structures on $\mathbb{R}$, or none. A datatype for representing reals for which all of the above can be implemented is&#xA;$$\mathtt{nat} \to \mathtt{rational}$$&#xA;where a function $\mathtt{p}$ represents a real $x$ when, for every $n \in \mathbb{N}$, $\mathtt{p}(n)$ returns (a representatve of) a rational number $q$ such that $|x - q| \leq 2^{-n}$. (Such a function $\mathtt{p}$ may be represented by a Turing machine, or a piece of source code, or an expression in $\lambda$-calculus.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let us now look at an infinite dimensional space $\ell^2$. It is a &lt;em&gt;real Hilbert space with a countable orthonormal basis&lt;/em&gt;, so the relevant structure is:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;vector space structure: $0$, $+$, $-$ and scalar multiplication,&lt;/li&gt;&#xA;&lt;li&gt;the scalar product: $\langle {-}, {-} \rangle$&lt;/li&gt;&#xA;&lt;li&gt;completeness: given a rapid Cauchy sequence $(x_n)$ in $\ell^2$, we can compute $\lim_n x_n$&lt;/li&gt;&#xA;&lt;li&gt;basis: for every $x \in \ell^2$ we can compute a sequence $(\lambda_n)$ of real numbers such that $x = \sum_n \lambda_n \cdot e_n$ where $$e_n = (\underbrace{0, \ldots, 0}_n, 1, 0, 0, \ldots)$$ is the canonical orthonormal basis.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Now the question is what datatype we should choose to represent $\ell^2$ so that all of the structure is computable. A simple one that works is&#xA;$$\mathtt{nat} \to \mathtt{list}(\mathtt{rational}),$$&#xA;i.e, we can represent an element $x \in \ell^2$ with a function $\mathtt{p}$ that accepts a natural number and returns a finite list of rational numbers. The realizability relation is&#xA;$$\mathtt{p} \Vdash_{\ell^2} x$$&#xA;is defined as follows: for every $n \in \mathbb{N}$, $p(n)$ is a list of rationals $[q_0, \ldots, q_m]$ such that $\|x - \sum_{i=0}^m q_i e_i\|_2 \leq 2^{-n}$. I leave it as an exercise to verify that with this representation we can indeed implement all of the structure of $\ell^2$, as stated above.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Further reading&lt;/strong&gt; (sorry for blowing my own horn):&#xA;A. Bauer, J. Blanck:&#xA;&lt;a href=&quot;http://www.jucs.org/jucs_16_18/canonical_effective_subalgebras_of&quot; rel=&quot;nofollow&quot;&gt;Canonical Effective Subalgebras of Classical Algebras as Constructive Metric Completions&lt;/a&gt;&quot;, J. UCS 16(18): 2496-2522 (2010)&lt;/p&gt;&#xA;" OwnerUserId="705" LastEditorUserId="705" LastEditDate="2014-09-10T08:08:51.477" LastActivityDate="2014-09-10T08:08:51.477" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25721" PostTypeId="1" CreationDate="2014-09-09T21:57:26.673" Score="0" ViewCount="187" Body="&lt;p&gt;Let G be a grammar that contains no left-recursive rules, and we use a recursive-descent recognizer that uses full backtracking, using list of results for example, to recognize strings of G.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;How can someone show formally that if s is a sentence in G, then R(G), which is the&#xA;recognizer I just described for G, can recognize s, and it also explores all the paths, i.e., if there are two paths to recognition, both can be explored.&lt;/p&gt;&#xA;" OwnerUserId="22893" LastActivityDate="2014-09-09T21:57:26.673" Title="Correctness proof of recursive-descent recognizer" Tags="&lt;proofs&gt;&lt;parsing&gt;&lt;correctness&gt;" AnswerCount="0" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="25722" PostTypeId="1" AcceptedAnswerId="25725" CreationDate="2014-09-10T01:47:03.377" Score="9" ViewCount="347" Body="&lt;p&gt;I am studying the Unique Games Conjecture and the famous reduction to Max-Cut of Khot et al. From their paper and elsewhere on the internet, most authors use (what to me is) an implicit equivalence between the MAX-CUT reduction and constructing particular tests for long codes. Because of my own lack of clarity about that equivalence, I struggle to follow this train of thought. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It also seems clear from these expositions that one could describe the reduction purely in terms of graphs, but that by coincidence or preference nobody chooses to do it that way. For example, in &lt;a href=&quot;http://courses.cs.washington.edu/courses/cse533/05au/lecture19.pdf&quot;&gt;these lecture notes&lt;/a&gt; of O'Donnell he hints that the long-code test corresponds to a natural definition of the edges in the graph being constructed, but since it's not spelled out that rule seems to depend on the choice of a cut to define the boolean function being tested, and it has left me rather confused.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So I'm asking for someone to explain the reduction &quot;just&quot; graph-theoretically. I think this will help me understand the equivalence between the two viewpoints.&lt;/p&gt;&#xA;" OwnerUserId="7091" LastEditorUserId="186" LastEditDate="2014-09-10T23:29:03.767" LastActivityDate="2014-09-10T23:29:03.767" Title="A purely graph-theoretic explanation of the reduction from Unique Label Cover to Max-Cut" Tags="&lt;cc.complexity-theory&gt;&lt;approximation-hardness&gt;&lt;pcp&gt;&lt;max-cut&gt;&lt;unique-games-conjecture&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="25725" PostTypeId="2" ParentId="25722" CreationDate="2014-09-10T04:29:39.357" Score="10" Body="&lt;p&gt;Let me see if I can clarify this, on a high level. Assume the UG instance is a bipartite graph $G = (V \cup W, E)$, bijections $\{\pi_e\}_{e \in E}$, where $\pi_e\colon \Sigma \to \Sigma$, and $|\Sigma| = m$. You want to construct a new graph $H$ so that if the UG instance is $1-\delta$ satisfiable, then $H$ has a large cut, and if the UG instance is not even $\delta$-satisfiable, then $H$ has only very small cuts. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The graph $H$ contains, for each vertex in $W$, a cloud of $2^m$ points, each labeled by some $x \in \{-1, 1\}^\Sigma$. The intention is that you should be able to interpret a long code encoding of the labels of $W$ as a cut of $H$. Recall that to encode some $\sigma \in \Sigma$ with the long code, you use a boolean function $f\colon \{-1, 1\}^\Sigma \to \{-1, 1\}$; in particular it is the dictator function $f(x) = x_\sigma$. Let's produce a cut $S\cup T$ (i.e. bi-partition of the vertices) from the long code encoding as follows. If $w \in W$ has a label encoded by the boolean function $f$, go to the the cloud of vertices in $H$ corresponding to $w$, and put in $S$ all vertices in the cloud that are labeled by some $x$ for which $f(x) = 1$. All others go to $T$. You can do this backwards to assign boolean functions to all $w \in W$ based on a cut of $H$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In order for the reduction to work, you need to be able to tell &lt;em&gt;only by looking at the value of a cut $S\cup T$&lt;/em&gt; whether the boolean functions corresponding to the cut are close to a long code encoding of some assignment of labels to $W$ that satisfies a lot of the UG constraints of $G$. So the question is what information do we get from the &lt;em&gt;value&lt;/em&gt; of a cut $S \cup T$. Consider any two vertices $a$ with label $x$ in the cloud corresponding to $w$ and $b$ with label $y$ in the cloud corresponding to $w'$ (in the reduction we only look at $w$, $w'$ in different clouds). We said that the cut can be used to derive boolean functions $f_w$ and $f_{w'}$. Now if there is an edge $(a,b)$ in $H$, then $(a, b)$ is cut if and only if $f_w(x) \neq f_{w'}(y)$. Therefore, using only the value of a cut to tell if the boolean functions it induces are &quot;good&quot; is the same as having a test that, given boolean functions $\{f_w\}_{w \in W}$, only asks for what fraction of some specified list of pairs $((w, x), (w', y))$ we have $f_w(x) \neq f_{w'}(y)$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In other words, whenever Ryan says in the notes &quot;test if $f_w(x) \neq f_{w'}(y)$&quot;, what he really means is &quot;in $H$, add an edge between the vertex in the cloud of $w$ labeled by $x$ and the vertex in the cloud of $w'$ labeled by $y$&quot;. I.e. for every $v\in V$, every two of its  neighbors $w, w'$, and every $x,y \in \{-1, 1\}^n$, include the edge between the vertex in the cloud of $w$ labeled by $x\circ \pi_{v,w}$ and the vertex in the cloud of $w'$ labeled by $y \circ \pi_{v,w'}$, and assign the edge weight $(({1-\rho})/{2})^d(({1+\rho})/{2})^{n-d}$ where $d$ is the Hamming distance between $x$ and $y$. In this way the value of a cut divided by the total edge weight is exactly equal to the success probability of the test.&lt;/p&gt;&#xA;" OwnerUserId="4896" LastEditorUserId="4896" LastEditDate="2014-09-10T14:28:07.177" LastActivityDate="2014-09-10T14:28:07.177" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="25727" PostTypeId="1" AcceptedAnswerId="25745" CreationDate="2014-09-10T10:07:45.910" Score="14" ViewCount="418" Body="&lt;p&gt;The $\mathsf{W}$-hierarchy is a hierarchy of complexity classes $\mathsf{W}[t]$ in parameterized complexity, see the &lt;a href=&quot;https://complexityzoo.uwaterloo.ca/Complexity_Zoo:W#wt&quot;&gt;Complexity Zoo&lt;/a&gt; for definitions. An alternative definition defines $\mathsf{W}[t]$ using weighted Fagin definability for $\Pi_t$-formulas of first-order logic, see the &lt;a href=&quot;http://books.google.de/books/about/Parameterized_Complexity_Theory.html?id=VfJz6hvFAjoC&amp;amp;redir_esc=y&quot;&gt;textbook by Flum and Grohe&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the lowest classes $\mathsf{W}[1]$ and $\mathsf{W}[2]$, many natural complete problems are known, e.g. &lt;em&gt;Clique&lt;/em&gt; and &lt;em&gt;Independent Set&lt;/em&gt; are complete for $\mathsf{W}[1]$ , and &lt;em&gt;Dominating Set&lt;/em&gt; and &lt;em&gt;Hitting Set&lt;/em&gt; are complete for $\mathsf{W}[2]$, where each of these problems is defined as the corresponding well-known $\mathsf{NP}$-complete problem with the size of the required solution set as the parameter.   &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there any known natural complete problems for classes higher up in the $\mathsf{W}$-hierarchy, in particular for $\mathsf{W}[3]$ and $\mathsf{W}[4]$?&lt;/p&gt;&#xA;" OwnerUserId="6579" LastEditorUserId="6579" LastEditDate="2014-09-10T12:00:52.777" LastActivityDate="2014-09-19T08:13:40.257" Title="Natural complete problems in higher levels of the $\mathsf{W}$-hierarchy" Tags="&lt;cc.complexity-theory&gt;&lt;parameterized-complexity&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="25728" PostTypeId="2" ParentId="25716" CreationDate="2014-09-10T15:20:18.073" Score="15" Body="&lt;p&gt;If we knew a specific computable language $L$ such that we could prove $L\in\mathrm P\iff\mathrm P\ne\mathrm{NP}$, this would make $\mathrm P\ne\mathrm{NP}$ equivalent to a $\Sigma^0_2$ sentence. While $\mathrm P\ne\mathrm{NP}$ is $\Pi^0_2$, it is not known to be $\Sigma^0_2$, and this is outright false in the relativized world (see &lt;a href=&quot;https://cstheory.stackexchange.com/a/16644&quot;&gt;https://cstheory.stackexchange.com/a/16644&lt;/a&gt;).&lt;/p&gt;&#xA;" OwnerUserId="6959" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2014-09-10T15:20:18.073" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="25730" PostTypeId="1" AcceptedAnswerId="25791" CreationDate="2014-09-10T16:22:49.983" Score="22" ViewCount="639" Body="&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Post&amp;#39;s_lattice&quot;&gt;Post's lattice&lt;/a&gt;, described by Emil Post in 1941, is basically a complete inclusion diagram of sets of Boolean functions that are closed under composition: for example, the monotone functions, the linear functions over GF(2), and all functions.  (Post didn't assume that the constants 0 and 1 were available for free, which made his lattice much more complicated than it would be otherwise.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is whether anything analogous has ever been published for classical &lt;i&gt;reversible&lt;/i&gt; gates, like the Toffoli and Fredkin gates.  I.e., which classes of reversible transformations on {0,1}&lt;sup&gt;n&lt;/sup&gt; can be generated by some collection of reversible gates?  Here are the rules: you're allowed an unlimited number of ancilla bits, some preset to 0 and others preset to 1, &lt;i&gt;as long as all the ancilla bits are returned to their initial settings once your transformation of {0,1}&lt;sup&gt;n&lt;/sup&gt; is finished.&lt;/i&gt;  Also, a SWAP of 2 bits (i.e., a relabeling of their indices) is always available for free.  Under these rules, my student Luke Schaeffer and I were able to identify the following ten sets of transformations:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;The empty set&lt;/li&gt;&#xA;&lt;li&gt;The set generated by the NOT gate&lt;/li&gt;&#xA;&lt;li&gt;The set generated by NOTNOT (i.e., NOT gates applied to any 2 of the bits)&lt;/li&gt;&#xA;&lt;li&gt;The set generated by CNOT (i.e., the Controlled-NOT gate)&lt;/li&gt;&#xA;&lt;li&gt;The set generated by CNOTNOT (i.e., flip the 2nd and 3rd bits iff the 1st bit is 1)&lt;/li&gt;&#xA;&lt;li&gt;The set generated by CNOTNOT and NOT&lt;/li&gt;&#xA;&lt;li&gt;The set generated by the Fredkin (i.e., Controlled-SWAP) gate&lt;/li&gt;&#xA;&lt;li&gt;The set generated by Fredkin and CNOTNOT&lt;/li&gt;&#xA;&lt;li&gt;The set generated by Fredkin, CNOTNOT, and NOT&lt;/li&gt;&#xA;&lt;li&gt;The set of all transformations&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;We'd like to identify any remaining families, and then prove that the classification is complete---but before we spend much time on it, we'd like to know whether anyone has done it before.&lt;/p&gt;&#xA;" OwnerUserId="1575" LastEditorUserId="1575" LastEditDate="2014-09-10T21:28:16.443" LastActivityDate="2016-12-14T06:50:06.123" Title="Classifying reversible gates" Tags="&lt;circuit-families&gt;" AnswerCount="1" CommentCount="22" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="25731" PostTypeId="1" AcceptedAnswerId="25748" CreationDate="2014-09-10T17:37:49.107" Score="-1" ViewCount="83" Body="&lt;p&gt;Suppose there are $n$ bins each having $k$ objects. Assume that capacity of each bin is also $k$. Now we want to rearrange the objects such that each bin contains $k$ objects but this time if $x,y$ belong to the same bin, then $x,y$ were in different bins in the original arrangement.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Questions: &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Does there always exist such a rearrangements? why ?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;What is the official name of this problem in the literature ?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Any link/hint would be helpful.&lt;/p&gt;&#xA;" OwnerUserId="12280" LastActivityDate="2014-09-12T12:31:44.123" Title="Arrangements of Objects" Tags="&lt;reference-request&gt;&lt;graph-theory&gt;&lt;co.combinatorics&gt;" AnswerCount="2" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="25732" PostTypeId="2" ParentId="25731" CreationDate="2014-09-10T18:01:42.713" Score="2" Body="&lt;p&gt;Question 1: No&lt;/p&gt;&#xA;&#xA;&lt;p&gt;counterexample: bin 1 = $[1,2,3]$, bin 2 = $[4,5,6]$&lt;/p&gt;&#xA;" OwnerUserId="4765" LastActivityDate="2014-09-10T18:01:42.713" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="25733" PostTypeId="2" ParentId="25727" CreationDate="2014-09-11T01:15:54.037" Score="13" Body="&lt;p&gt;I believe the title of this paper is self-explanatory and answers your question:&#xA;&lt;a href=&quot;http://dx.doi.org/10.1016/j.tcs.2006.07.016&quot;&gt;On product covering in 3-tier supply chain models: Natural complete problems for W[3] and W[4]&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="7059" LastActivityDate="2014-09-11T01:15:54.037" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="25734" PostTypeId="1" CreationDate="2014-09-11T05:05:30.990" Score="5" ViewCount="430" Body="&lt;p&gt;We have given a set of $n$ binary vectors each of dimension $d$, &lt;em&gt;i.e.&lt;/em&gt;  a binary matrix of $d*n$. Our goal is to group vectors which are almost similar,  $\forall v_i, v_j\in\{0,1\}^d$, we say $v_i$ and $v_j$ are almost similar, if $HammingDistance(v_i,v_j)&amp;lt;\epsilon$. Since comparing two $d$ bit vectors are expensive, and $n$ is large, we can't afford to do $O(n^2)$ comparisons, we use &lt;a href=&quot;http://en.wikipedia.org/wiki/Locality-sensitive_hashing&quot;&gt;Locality Sensitive Hashing&lt;/a&gt; algorithm to computer similarity preserving matrix in subquadratic time. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, my question is that how to tune parameters of LSH, &lt;em&gt;i.e.&lt;/em&gt; # of hash tables $m$, # of entries per hash table $l$, such that error is minimizes (the number of similar items which hashes to different bucket, and  the number of dissimilar items which hashes to same bucket is minimizes).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Pls let me know if I am missing something obvious.&lt;/p&gt;&#xA;" OwnerUserId="22594" LastActivityDate="2014-09-18T01:28:33.700" Title="Tuning Parameters of Locality Sensitive Hashing" Tags="&lt;ds.algorithms&gt;&lt;approximation-algorithms&gt;&lt;hash-function&gt;" AnswerCount="0" CommentCount="1" FavoriteCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25736" PostTypeId="1" CreationDate="2014-09-11T14:24:46.903" Score="17" ViewCount="416" Body="&lt;p&gt;It is known that the minimum size of $U_2$-circuits computing the parity function exactly equals $3(n-1)$. The lower bound proof is based on the gate elimination method.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Recently, I noticed that the gate elimination method works well also for nondeterministic $U_2$-circuits, and we can prove a $3(n-1)$ lower bound for the size of nondeterministic $U_2$-circuits computing the parity function.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(It means that nondeterministic computation is useless to compute parity by $U_2$-circuits and cannot reduce the size from $3(n-1)$. Thus, the minimum circuits don't change from the deterministic case.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My questions are the following two:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(1) Is this a new result or a known result?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(2) More generally, are there some known results of lower bounds for the size of nondeterministic circuits (including formulas, constant depth circuits, and so on) with unlimited nondeterministic input bits (or, in other words, unlimited nondeterminism) for an explicit function?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Additional explanation (Nov 27, 2014)&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the second question, I intended that I would like to know especially whether&#xA;this is the first nontrivial lower bound for the size of nondeterministic circuits&#xA;(including formulas, constant depth circuits, and so on) with unlimited nondeterminism&#xA;for an explicit function or not.&#xA;I know there are some results if nondeterminism is limited, as follows.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] Hartmut Klauck: Lower Bounds for Computation with Limited Nondeterminism.&#xA;    IEEE Conference on Computational Complexity 1998: 141-&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] Vikraman Arvind, K. V. Subrahmanyam, N. V. Vinodchandran:&#xA;    The Query Complexity of Program Checking by Constant-Depth Circuits.&#xA;    ISAAC 1999: 123-132 &lt;/p&gt;&#xA;" OwnerUserId="27092" LastEditorUserId="27092" LastEditDate="2014-11-27T08:12:25.547" LastActivityDate="2014-11-27T08:12:25.547" Title="Lower bounds for the size of nondeterministic circuits" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;circuit-complexity&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="25738" PostTypeId="2" ParentId="25719" CreationDate="2014-09-11T17:04:01.003" Score="2" Body="&lt;p&gt;Let's assume the first strategy is the best until someone comes up with a better one, ok?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So we set a threshold for &lt;em&gt;value&lt;/em&gt; (between 0 and &lt;em&gt;v&lt;/em&gt;). If the value of the candidate is higher than the threshold, try to hire that candidate. Otherwise, interview the next candidate. If we interview several candidates in a row whose value is below the threshold, decrease the threshold until future candidates are likely to have a higher value. If d is low and the candidates decline offers, lower the threshold further. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A few points to determine: the first threshold for &lt;em&gt;value&lt;/em&gt;. It's probably ok to wait a few days and just interview candidates so we can see what kind of values they have. Then set a threshold so that 50% (or 20% or 80% or whatever%) of the candidates have higher values. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another point to determine: when we fail to hire a secretary, how frequently and how much should we lower the threshold.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If &lt;em&gt;v&lt;/em&gt; is unknown, we obviously have to observe a few values before making good guesses for a good threshold.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If &lt;em&gt;d&lt;/em&gt; is unknown, we'll have to try to hire a few candidates before tuning the algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What was not mentioned in the question: &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;How long does it take for the candidate to accept or decline the job offer? &lt;/li&gt;&#xA;&lt;li&gt;Is the game over when the first candidate accepts the offer?&lt;/li&gt;&#xA;&lt;li&gt;Can you play the game &lt;em&gt;n&lt;/em&gt; times?&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;If you can't choose the candidates for the interview it seems like winning this game is a matter of coincidence but I might be wrong.&lt;/p&gt;&#xA;" OwnerUserId="27206" LastActivityDate="2014-09-11T17:04:01.003" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="25739" PostTypeId="1" AcceptedAnswerId="25741" CreationDate="2014-09-11T21:04:24.203" Score="-2" ViewCount="333" Body="&lt;p&gt;While reading a post on Scott Aaronson's blog about Eigenmorality, I ran across the idea of the iterated prisoner's dilemma tournament.  I've studied some TCS on my own, but had never really thought carefully about algorithms for an IPD.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I subsequently read that the generally-acknowledged &quot;best strategy&quot; for winning IPD games is the tit-for-tat strategy, but that there are some possible improvements.  My question is, given an IPD tournament, is there a sort of &quot;evolutionarily stable&quot; bot that always wins against &quot;mutant bots&quot;--that is, an algorithm that will always defeat every other algorithm at IPD?  If so, what is it, and can its dominance over all other bots be proved?  If not, can this be proved?  (Is there a better question I should ask, such as, &quot;If you assume that you are pitted against 5 million other randomly selected bots, which bot should you choose?&quot;)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question may be too vague to be answered precisely, so if you could point me in the direction of relevant references, that would be just as helpful as a full answer.&lt;/p&gt;&#xA;" OwnerUserId="1338" LastActivityDate="2014-09-11T21:34:00.387" Title="Iterated Prisoner's Dilemma Algorithms" Tags="&lt;ds.algorithms&gt;&lt;gt.game-theory&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25740" PostTypeId="2" ParentId="22638" CreationDate="2014-09-11T21:18:29.117" Score="3" Body="&lt;p&gt;I do not want to attempt a general definition of &quot;unnatural&quot;, but I find your argument about the inherent incompatibility of the scale-invariance axiom and the richness axiom as defined in Section 2 of Kleinberg's NIPS paper.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The impossibility result in Section 3 of his paper is stronger, however, and can directly address your concern.  &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Theorem 3.1&lt;/strong&gt; If a clustering function f satisfies Scale-Invariance and Consistency,&#xA;  then Range(f) is an antichain.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;So you can consider weakening the richness axiom, e.g. by asking for all partitions with at least 2 parts, and as long as your set of partitions is rich enough to &lt;em&gt;not&lt;/em&gt; be an anti-chain, the impossibility theorem goes through.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hopcroft and Kannan have come up with a &quot;natural&quot; alternative to the richness axiom for which clustering &lt;em&gt;is&lt;/em&gt; possible.  It is buried in their book &lt;a href=&quot;http://www.cs.cmu.edu/~venkatg/teaching/CStheory-infoage/hopcroft-kannan-feb2012.pdf&quot; rel=&quot;nofollow&quot;&gt;Computer Science Theory for the Information Age&lt;/a&gt;, and described in a lovely teaser on the &lt;a href=&quot;http://rjlipton.wordpress.com/2013/12/09/a-negative-impossibility-theorem/&quot; rel=&quot;nofollow&quot;&gt;Gödel’s Lost Letter&lt;/a&gt; blog.&lt;/p&gt;&#xA;" OwnerUserId="9428" LastActivityDate="2014-09-11T21:18:29.117" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="25741" PostTypeId="2" ParentId="25739" CreationDate="2014-09-11T21:34:00.387" Score="5" Body="&lt;p&gt;There is no algorithm that always beats all others in an IPD tournament.  Proof: if your algorithm cooperates in round 1, then it gets last place in a tournament where all other bots always defect; if your algorithm defects in round 1, then it gets last place in a tournament where all other bots play unforgiving tit-for-tat (cooperate until the opponent defects, then defect forever).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If there are a finite number of rounds in each face-off of an IPD tournament, the sole Nash Equilibrium - &lt;a href=&quot;http://en.wikipedia.org/wiki/Evolutionarily_stable_strategy&quot;&gt;evolutionarily stable&lt;/a&gt; or otherwise - is that all bots always defect.  If instead each face-off has a constant probability of ending after each round (for example), then there might be many evolutionarily stable NEs, depending on how the payoff structure is organized.  One such ESNE is that all bots play tit-for-tat.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Evolutionary Stability is a pretty important game theory concept, though, and it sounds like that's the magic phrase you want to google.  My back-of-the-envelope intuition for it is this: a ball rolling along $f(x) = x^3$ is unlikely to come to a rest at $x = 0$, even though the first derivative is zero.  Nash Equilibrium is a first-order equilibrium concept that lists $x=0$ as an equilibrium of this system, but Evolutionary Stability is a second-order equilibrium concept that throws out $x = 0$ because if you poke the system, the equilibrium breaks.&lt;/p&gt;&#xA;" OwnerUserId="11051" LastActivityDate="2014-09-11T21:34:00.387" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25742" PostTypeId="1" AcceptedAnswerId="25750" CreationDate="2014-09-11T21:34:40.100" Score="2" ViewCount="199" Body="&lt;p&gt;EDIT: A more straightforward way of asking this question is: does evaluating a non-linear function require performing at least one multiplication? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;ORIGINAL QUESTION:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have an infinitely differentiable function f(x) which takes as input an $n$-bit integer $x$ and outputs a $kn$-bit integer, where $k$ is a contant. I know that $f(x)$ is not a linear function of $x$, and I want to argue that the complexity of evaluating $f$ on $x$ is at least $n \log n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think this should be true, since I can write $f(x) = f(x_0) + f'(x_0)(x-x_0) +  f''(x_0)(x-x_0)^2 + ...$ and computing $(x-x_0)^2$ requires at least $n \log n$ operations. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, I don't think this ``proof by Taylor series&quot; would yield a proof, and this would rule out smooth non-linear functions that have complexity $n \log \log n$, for instance.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any suggestions on how to prove this / give a counterexample?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks!&lt;/p&gt;&#xA;" OwnerUserId="7040" LastActivityDate="2014-09-12T21:06:27.020" Title="Complexity of smooth non-linear functions" Tags="&lt;cc.complexity-theory&gt;&lt;arithmetic-circuits&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="25744" PostTypeId="2" ParentId="25742" CreationDate="2014-09-12T05:41:41.523" Score="5" Body="&lt;p&gt;First, super-linear lower bounds on multiplying two integers are not known: for all we know, there may be an $O(n)$-time algorithm for multiplying two $n$-bit integers. So even if your &quot;proof by Taylor series&quot; idea worked, it wouldn't yield &lt;strike&gt;anything nontrivial&lt;/strike&gt; a $\Omega(n \log n)$ lower bound, all it would yield is a lower bound of $\Omega(M(n))$ where $M(n)$ is the time to multiply two $n$-bit integers. (Thanks to Emil Jeřábek for pointing out that a $\Omega(M(n))$ lower bound need not be considered trivial, as there are many problems where it is very close to tight.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Second, although you started with an infinitely differentiable function $f$ (presumably $f\colon \mathbb{R} \to \mathbb{R}$), since you are only talking about the complexity of evaluating it at integer points the fact that the function you started with was infinitely differentiable cannot be relevant. For given &lt;em&gt;any&lt;/em&gt; function $h\colon \mathbb{Z} \to \mathbb{Z}$, there is an infinitely differentiable function $\widehat{h}\colon \mathbb{R} \to \mathbb{R}$ that agrees with $h$ on integer points. So the complexity of infinitely differentiable functions restricted to $\mathbb{Z}$ can be completely arbitrary (or, as arbitrary as the complexity of any integer function can be, which is pretty arbitrary).&lt;/p&gt;&#xA;" OwnerUserId="129" LastEditorUserId="129" LastEditDate="2014-09-12T19:49:04.773" LastActivityDate="2014-09-12T19:49:04.773" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25745" PostTypeId="2" ParentId="25727" CreationDate="2014-09-12T07:51:44.617" Score="12" Body="&lt;p&gt;From the comment above:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;$p$-HYPERGRAPH-(NON)-DOMINATING-SET&lt;/strong&gt; is W[3]-complete under fpt-reductions:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A hypergraph $H = (V,E)$ consists of a set $V$ of vertices and a set $E$ of hyperedges. Each&#xA;hyperedge is as subset of $V$. In a 3-hypergraph all edges have size 3. If $H = (V,E)$ is&#xA;a 3-hypergraph, every $a \in V$ induces a graph $H^a = (V^a, E^a)$ given by:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$V^a = \{ v \in V \mid v \neq a \text{ and there is } e \in E \text{ with } a, v \in e \}$ and &#xA;$E^a = \{ \{u,v\} \mid \{a,u,v\} \in E \}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Input&lt;/strong&gt;: A 3-hypergraph $H = (V,E)$, a set $M \subseteq V$, and $k \geq 1$.&lt;br&gt;&#xA;&lt;strong&gt;Parameter&lt;/strong&gt;: $k$.&lt;br&gt;&#xA;&lt;strong&gt;Problem&lt;/strong&gt;: Decide whether there exists a set $D \subseteq V$ of cardinality $k$ such that:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;if $a \in M$, then $D$ is a dominating set of $H^a$,&lt;/li&gt;&#xA;&lt;li&gt;if $a \notin M$, then $D$ is not a dominating set of $H^a$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;see &lt;a href=&quot;http://www.jstor.org/discover/10.2307/27588555?uid=3738296&amp;amp;uid=2&amp;amp;uid=4&amp;amp;sid=21104617459817&quot; rel=&quot;nofollow&quot;&gt;Yijia Chen, Jörg Flum and Martin Grohe. An Analysis of the W*-Hierarchy. The Journal of Symbolic Logic, Vol. 72, No. 2 (Jun., 2007), pp. 513-534&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2014-09-19T08:13:40.257" LastActivityDate="2014-09-19T08:13:40.257" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25747" PostTypeId="1" CreationDate="2014-09-12T10:30:06.877" Score="4" ViewCount="412" Body="&lt;p&gt;It is known that every integer linear program parameterized by the number of variables is FPT (fixed parameter tractable). Is every mixed integer program parameterized by the number of integer variables also FPT?&lt;/p&gt;&#xA;" OwnerUserId="20798" LastActivityDate="2016-10-07T19:22:25.333" Title="FPT algorithm for mixed integer program" Tags="&lt;parameterized-complexity&gt;&lt;integer-programming&gt;&lt;fixed-parameter-tractable&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="25748" PostTypeId="2" ParentId="25731" CreationDate="2014-09-12T12:31:44.123" Score="2" Body="&lt;p&gt;Maybe I miss something, but it looks obvious that if $k&amp;lt;=n$ then you can rearrange the objects in the simplest way.&#xA;Number the objects of each bin from 0 to k-1 and move object i to the i'th next bin.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Before:&lt;br&gt;&#xA;bin A: {A0, A1, A2}&lt;br&gt;&#xA;bin B: {B0, B1, B2}&lt;br&gt;&#xA;bin C: {C0, C1, C2}&lt;br&gt;&#xA;bin D: {D0, D1, D2}  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;After:&lt;br&gt;&#xA;bin A: {A0, D1, C2}&lt;br&gt;&#xA;bin B: {B0, A1, D2}&lt;br&gt;&#xA;bin C: {C0, B1, A2}&lt;br&gt;&#xA;bin D: {D0, C1, B2}  &lt;/p&gt;&#xA;" OwnerUserId="26915" LastActivityDate="2014-09-12T12:31:44.123" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25749" PostTypeId="2" ParentId="25099" CreationDate="2014-09-12T15:10:08.310" Score="7" Body="&lt;p&gt;Note that most of the categories you considered are 'abstract', i.e., they require structure or properties of an abstract category. As computer scientists we should also be familiar several concrete categories which turn out to be useful:&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Concrete categories&lt;/h2&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Set&lt;/li&gt;&#xA;&lt;li&gt;Set$_{\mathcal P}$ (objects are sets, morphisms are relations)&lt;/li&gt;&#xA;&lt;li&gt;Rel (objects are relations, morphisms are functions preserving these relations)&lt;/li&gt;&#xA;&lt;li&gt;Pred (objects are predicates (= subsets) morphisms are functions preserving these relations.&lt;/li&gt;&#xA;&lt;li&gt;Posets&lt;/li&gt;&#xA;&lt;li&gt;$\omega$-CPOs&lt;/li&gt;&#xA;&lt;li&gt;Nominal sets&lt;/li&gt;&#xA;&lt;li&gt;Lawvere theories&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;h2&gt;Abstract categories&lt;/h2&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Functor categories&lt;/li&gt;&#xA;&lt;li&gt;Presheaf categories, in particular, monoid actions, which are equivalent to finite automata iianm&lt;/li&gt;&#xA;&lt;li&gt;Locally presentable categories&lt;/li&gt;&#xA;&lt;li&gt;Monads&lt;/li&gt;&#xA;&lt;li&gt;Enriched categories (in particular, O-categories)&lt;/li&gt;&#xA;&lt;li&gt;Kleisli and Eilenberg-Moore categories&lt;/li&gt;&#xA;&lt;li&gt;Embedding-projection categories&lt;/li&gt;&#xA;&lt;li&gt;Profunctors&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Also, sometimes properties don't commute on the nose, and the structure under consideration is of higher-dimensional (i.e., 2-categorical).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As to your question 3: you can define a category without mentioning objects at all (though it's conceptually clearer if we do mention the objects).&lt;/p&gt;&#xA;" OwnerUserId="142" LastEditorUserId="142" LastEditDate="2014-09-12T15:16:23.627" LastActivityDate="2014-09-12T15:16:23.627" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25750" PostTypeId="2" ParentId="25742" CreationDate="2014-09-12T16:44:17.057" Score="7" Body="&lt;p&gt;Note that proving that evaluation of $f$ takes at least as much time as integer multiplication only shows that it needs time $\Omega(M(n))$; while this is generally assumed to be at least $n\log n$, no superlinear bound has been proven. (However, I disagree that this wouldn’t yield anything nontrivial, as was formerly stated in Joshua Grochow’s answer. For one thing, there are plenty of analytic functions such as exp, log, sin where this $\Omega(M(n))$ bound is close to optimal up to one more logarithmic factor. For another thing, we normally regard a proof of NP-completeness of some problem as a strong evidence that it is hard, despite that with the current state of knowledge it doesn’t imply any superlinear lower bound either.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As pointed out by Joshua Grochow, you cannot say anything useful about the complexity of evaluation of analytic functions at &lt;em&gt;integers&lt;/em&gt;. The correct statement you are looking for is that approximation of smooth functions on &lt;em&gt;short real intervals&lt;/em&gt; is at least as hard as integer multiplication. This indeed follows from Taylor expansion, though in full generality there are some messy details where the devil is (in particular, we a priori know nothing about the coefficients of the Taylor series).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As usual in this context, it is convenient to restrict attention to time bounds obeying some basic regularity conditions. Let me say that $T(n)$ is a &lt;em&gt;reasonable&lt;/em&gt; bound if $T$ is nondecreasing, and&#xA;$$c_1T(n)\le T(2n)\le c_2T(n)$$&#xA;for some constants $1&amp;lt;c_1\le c_2$. Commonly encountered bounds of polynomial growth involving powers of $n$, $\log n$, and similar, are all reasonable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In order to avoid issues with representation of real numbers, we will only considered real functions on bounded intervals. An $n$bit approximation of $x$ is then a dyadic rational $x'$ written in the usual binary notation with $n$ bits after the radix point, such that $|x-x'|\le2^{-n}$. A function $f\colon[a,b]\to\mathbb R$ can be computed in time $T(n)$, if given a dyadic rational $x\in[a,b]$ with $n$ bits after the radix point, we can compute in time $T(n)$ an $n$bit approximation of $f(x)$.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Proposition:&lt;/strong&gt; If $T$ is a reasonable bound, and $f\colon[u,v]\to\mathbb R$ (where $u&amp;lt;v$ are real) a nonlinear $C^3$ function that can be computed in time $T(n)$, then multiplication of $n$bit integers can be computed in time $O(T(n))$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Proof:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that any Turing machine computing $f$ must read the whole input (at least for &lt;em&gt;some&lt;/em&gt; inputs of every length $n$), thus we must have $T(n)\ge n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since $f''(x)$ is continuous and not constantly $0$, we can find $x_0\in(u,v)$ of the form $x_0=k2^{-l}$ such that $f''(x_0)\ne0$. Since $f(x_0+x)$ is also computable in time $O(T(n))$, we can assume that $u&amp;lt;0&amp;lt;v$ and $f''(0)\ne0$. Likewise, $f(2^{-l}x)$ is computable in time $O(T(n))$ for fixed $l$, hence we may in fact assume $[u,v]=[-1,1]$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By Taylor’s theorem, we have&#xA;$$|a_0+a_1x+a_2x^2-f(x)|\le M|x|^3,\qquad x\in[-1,1],$$&#xA;for some constants $a_0,a_1,a_2,M\in\mathbb R$, where $a_2\ne0$. We can compute $f(x)-a_0$ in time $O(T(n))$ by subtracting an $(n+1)$bit approximation of $a_0=f(0)$ from an $(n+1)$bit approximation of $f(x)$, hence we can assume $a_0=0$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then we can also compute $a_1x$ in time $O(T(n))$ using a $(2n+m)$-bit approximation of $f(2^{-(n+m)}x)$, where $m$ is a suitable constant: we have&#xA;$$|2^{n+m}f(2^{-(n+m)}x)-a_1x|\le|a_2|2^{-(n+m)}|x|^2+M2^{-2(n+m)}|x|^3&#xA;\le(|a_2|+M)2^{-(n+m)},$$&#xA;hence it is enough to take $m&amp;gt;\log_2(|a_2|+M)+1$. This means we can compute $f(x)-a_1x$, hence we can as well assume $a_1=0$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Using the same trick once more, we have&#xA;$$|2^{2(n+m)}f(2^{-(n+m)}x)-a_2x^2|\le M2^{-(n+m)},$$&#xA;hence we can compute $a_2x^2$ on $x\in[-1,1]$. By scaling, we can compute it on any fixed bounded interval, and we can also compute&#xA;$$a_2xy=\tfrac14\bigl(a_2(x+y)^2-a_2(x-y)^2\bigr).$$&#xA;Now we need to get rid of the $a_2$ factor. Since&#xA;$$xy=a_2x(a_2ya_2^{-2}),$$&#xA;it is enough to compute the constant $a_2^{-2}$ (meaning, given $n$ in unary, compute an $n$bit approximation of $a_2^{-2}$ in time $O(T(n))$). This can be done with Newton iteration: $a_2^{-2}$ is the unique root of the function $g(x)=1-(a_2^2x)^{-1}$. Thus, if $x_0$ is a suitable good appromixation to $a_2^{-2}$, the sequence given by&#xA;$$x_{k+1}=x_k-\frac{g(x_k)}{g'(x_k)}=2x_k-a_2^2x_k^2=2x_k-a_2x_k(a_2x_k1)$$&#xA;converges quadratically to $a_2^{-2}$. In order to approximate $a_2^{-2}$ to $n$ bits, we need $O(\log n)$ iterations; the final iteration needs to be computed with $n$ bits of precision, the last but one with $n/2$ bits, and so on, hence the total time is linear in&#xA;$$T(n)+T(n/2)+T(n/4)+\cdots\le(1+c_1^{-1}+c_1^{-2}+\cdots)T(n)=O(T(n)).$$&#xA;Thus, we can approximate $xy$ for $x,y\in[0,1]$ to $n$ bits of precision in time $O(T(n))$. Then we can multiply two $n$bit integers by scaling them to $[0,1]$, approximating the product, and scaling back.&lt;/p&gt;&#xA;" OwnerUserId="6959" LastEditorUserId="6959" LastEditDate="2014-09-12T21:06:27.020" LastActivityDate="2014-09-12T21:06:27.020" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="25752" PostTypeId="1" CreationDate="2014-09-12T20:02:24.550" Score="3" ViewCount="243" Body="&lt;p&gt;The usual tensor product of vectors is a matrix.  There has been tons of research into efficiently storing and operating on matrices in computers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But we can generalize the tensor product quite a bit.  For example, a monoid is like a vector that's forgotten a lot of it's properties.  The only structure it has is associative addition.  We can take the tensor product of two monoids to be the &quot;most general, generalized bilinear operator.&quot;  See &lt;a href=&quot;http://www.cs.man.ac.uk/~hsimmons/DOCUMENTS/PAPERSandNOTES/TPoCM.pdf&quot; rel=&quot;nofollow&quot;&gt;this paper&lt;/a&gt; for an example on the constructing their tensor product in the commutative case.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is: what are some efficient data structures for representing these generalized tensor products on a computer?&lt;/p&gt;&#xA;" OwnerUserId="10267" LastActivityDate="2014-09-12T20:02:24.550" Title="efficient data structures for generalized tensor products" Tags="&lt;reference-request&gt;&lt;ds.data-structures&gt;&lt;linear-algebra&gt;" AnswerCount="0" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="25754" PostTypeId="1" CreationDate="2014-09-13T14:44:19.830" Score="3" ViewCount="146" Body="&lt;p&gt;In the classic setting, an automaton for a language $L$ is required to accept all words in $L$ and reject/get stuck on every word in $\Sigma^*\setminus L$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;All of the related concepts are then defined with respect to $\Sigma^*$ as the possible inputs (e.g. $L$'s regularity/CF/state complexity/ etc.).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But we can think of a model where the possible input is some set $I\subseteq \Sigma^*$, and consider $L$'s attributes with respect to $I$.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Formally, an automaton for a language $L$ with respect to possible input set $I$ is required to:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Accept every word $w\in I\cap L$.&lt;/li&gt;&#xA;&lt;li&gt;Reject every word in $I\setminus L$.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;(i.e. its action on $\Sigma^*\setminus I$ could be arbitrary).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If such automaton exists, we say that &lt;em&gt;$L$ is regular with respect to $I$&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;If this model is known, can anyone provide a reference?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;An immediate result that if $I$ is finite, every language (including, say, the Halting Problem) becomes regular w.r.t. $I$.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;How can we characterize the requirements from $L$,$I$ such that $L$ is regular with respect to $I$?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Note that this is not the same as $L\cap I$ being regular (e.g. $I\subseteq L$ for some non-regular language $I$).&lt;/p&gt;&#xA;" OwnerUserId="21001" LastActivityDate="2014-09-13T14:44:19.830" Title="Restricted-Input Automaton" Tags="&lt;reference-request&gt;&lt;fl.formal-languages&gt;&lt;automata-theory&gt;&lt;regular-language&gt;" AnswerCount="0" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="25757" PostTypeId="1" AcceptedAnswerId="25810" CreationDate="2014-09-14T07:10:16.430" Score="3" ViewCount="640" Body="&lt;p&gt;I am writing a computer science textbook and want to use an illustration showing a Turing machine.  Images are all over web, but almost always without authorship/illustratorship credited. I need to attribute authorship (and perhaps also clear rights).&lt;/p&gt;&#xA;&lt;p&gt;Does anybody know where the image reproduced below first appeared?&lt;/p&gt;&#xA;&lt;p&gt;Alternative: Can anybody point me to a similar illustration of a Turing machine where authorship is known?&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/Ocipd.jpg&quot; alt=&quot;Image of Turing machine&quot; /&gt;&lt;/p&gt;&#xA;" OwnerUserId="27231" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2014-09-18T16:48:15.130" Title="Source of Turing-machine illustration" Tags="&lt;turing-machines&gt;" AnswerCount="2" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="25758" PostTypeId="2" ParentId="12631" CreationDate="2014-09-14T08:10:22.753" Score="4" Body="&lt;p&gt;In our paper &lt;a href=&quot;http://arxiv.org/abs/1401.1085&quot; rel=&quot;nofollow&quot;&gt;Distribution-Sensitive Construction of the Greedy Spanner&lt;/a&gt; (accepted for ESA 2014) we prove the following (combining Theorem 4 and Lemma 6):&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;There exists $c_t$ dependent only on $t$ such that for every $c &amp;gt; 0$, if $P$ is a set of points uniformly and independently distributed at random in a $\sqrt{n} \times \sqrt{n}$ square and $n$ is large enough, then with probability at least $1 - n^c$, the greedy $t$-spanner on $P$ does not have edges longer than $c \cdot c_t \log n$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Our bound on $c_t$ is fairly large, but we have experimental evidence that the 'right' bound is $\frac{1}{\sqrt[4]{t-1}} \cdot \frac{\log n}{\log \log n}$.&lt;/p&gt;&#xA;" OwnerUserId="988" LastActivityDate="2014-09-14T08:10:22.753" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25759" PostTypeId="1" AcceptedAnswerId="32821" CreationDate="2014-09-14T09:42:52.173" Score="7" ViewCount="311" Body="&lt;p&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Stephen_Smale&quot; rel=&quot;nofollow&quot;&gt;Stephen Smale&lt;/a&gt; claims in &lt;a href=&quot;http://dx.doi.org/10.1007/BF03025291&quot; rel=&quot;nofollow&quot;&gt;Mathematical Problems for the Next Century&lt;/a&gt; that &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$NP \not\subseteq BPP \implies NP_{\mathbb{C}} \not\subseteq P_{\mathbb{C}}.$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can someone sketch the argument or provide a reference?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there any similar result in the reverse direction?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://complexityzoo.uwaterloo.ca/Complexity_Zoo:N#npc2&quot; rel=&quot;nofollow&quot;&gt;$NP_{\mathbb{C}}$&lt;/a&gt; (&lt;a href=&quot;http://books.google.com/books?id=zxtrVqUP-AwC&amp;amp;pg=PA100&quot; rel=&quot;nofollow&quot;&gt;definition&lt;/a&gt;) and &lt;a href=&quot;https://complexityzoo.uwaterloo.ca/Complexity_Zoo:P#pc&quot; rel=&quot;nofollow&quot;&gt;$P_{\mathbb{C}}$&lt;/a&gt; (&lt;a href=&quot;http://books.google.com/books?id=zxtrVqUP-AwC&amp;amp;pg=PA86&quot; rel=&quot;nofollow&quot;&gt;definition&lt;/a&gt;) are NP and P over complex numbers $\mathbb{C}$ using &lt;a href=&quot;https://en.wikipedia.org/wiki/Blum%E2%80%93Shub%E2%80%93Smale_machine&quot; rel=&quot;nofollow&quot;&gt;the Blum–Shub–Smale machine model&lt;/a&gt;. &lt;/p&gt;&#xA;" OwnerUserId="14197" LastEditorUserId="14197" LastEditDate="2014-09-15T05:11:45.787" LastActivityDate="2015-10-15T11:28:47.027" Title="$NP \not\subseteq BPP \implies NP_{\mathbb{C}} \not\subseteq P_{\mathbb{C}}$" Tags="&lt;cc.complexity-theory&gt;&lt;algebraic-complexity&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="25761" PostTypeId="2" ParentId="25298" CreationDate="2014-09-14T16:45:10.280" Score="3" Body="&lt;p&gt;See &quot;interval labeling&quot; and &quot;2-hop labeling&quot; which are apparently quite efficient in practice, both in time and space, and may give you what you want. In general there's quite a bunch of &quot;reachability indexing&quot; schemes for DAGs.&lt;/p&gt;&#xA;" OwnerUserId="326" LastActivityDate="2014-09-14T16:45:10.280" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25762" PostTypeId="1" CreationDate="2014-09-14T16:52:45.570" Score="5" ViewCount="154" Body="&lt;p&gt;I have a huge DAG - e.g., the dependency graph of all packages in a linux distribution.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose I'd like to make a user-friendly tool that makes it very easy to understand how to break the transitive dependency between package A and package B, and do other related queries/algorithms.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The question &quot;how to break a transitive dependency&quot; is answered by a min-cut.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a practical indexing structure for answering all-pairs min-cut that works for large DAGs (non-ridiculous time and space complexity)? I am aware of Gomory-Hu trees (though I have not yet grasped them), but they seem to work only for undirected graphs.&lt;/p&gt;&#xA;" OwnerUserId="326" LastActivityDate="2014-09-14T16:52:45.570" Title="Indexing structure for all-pairs min-cuts in a huge DAG" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;directed-acyclic-graph&gt;&lt;max-flow-min-cut&gt;" AnswerCount="0" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="25763" PostTypeId="1" CreationDate="2014-09-14T23:56:30.617" Score="2" ViewCount="98" Body="&lt;p&gt;Genetic Algorithms seem like multiple simulated annealing instances, augmented with a crossover genetic operator. The crossover operator selects predefined genes from two different parent solutions to create a new child solution for the next generation. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This seems to suggest that the search space is independent (a single gene will benefit a solution regardless of the other genes). Additionally, it seems like the user needs to choose axes along which the search space is separable. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, genetic algorithms are often used in practice.  Are my concerns a nonissue? Are most real world search spaces independent?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;P.S. I would a define a two argument fitness function $F(x,y)$ as independent if&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$F(x,y) = G(x)+H(y)+\epsilon J(x,y)$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;for some small $\epsilon$. For example, $F(x,y) = -x^2-y^2+0.1xy$ would be an independent function. Intuitively, the arguments of an independent function interfere with each other minimally.&lt;/p&gt;&#xA;" OwnerUserId="27236" LastEditorUserId="27236" LastEditDate="2014-09-17T01:42:15.917" LastActivityDate="2014-09-17T01:42:15.917" Title="Do Genetic Algorithms Expect a Independent Search Space" Tags="&lt;machine-learning&gt;&lt;genetic-algorithms&gt;&lt;genetic-programming&gt;" AnswerCount="0" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="25764" PostTypeId="2" ParentId="25757" CreationDate="2014-09-15T03:04:17.187" Score="8" Body="&lt;p&gt;For your alternative question: try &lt;a href=&quot;https://commons.wikimedia.org/wiki/Category:Turing_machines&quot;&gt;https://commons.wikimedia.org/wiki/Category:Turing_machines&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(There are several images there that are similar to the one you show, and everything on Wikimedia Commons must be in some form of commercially-usable open license with known provenance.)&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2014-09-15T03:04:17.187" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25765" PostTypeId="1" CreationDate="2014-09-15T06:06:26.527" Score="14" ViewCount="310" Body="&lt;p&gt;Given a sequence of real numbers $(a_i)$, the &lt;em&gt;sign-pattern sequence&lt;/em&gt; $(s_i)$ is defined by $s_i = +$ if $a_i \geq 0$ and $s_i = -$ otherwise. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For a boolean function $f: \{0,1\}^n \to \{0,1\}$, consider its Fourier coefficients defined, as usual, in the following way: $\hat{f}(\alpha) = \mathbb{E}_x[f(x)\cdot (-1)^{\langle \alpha, x\rangle}]$. Is there a characterization of the sign-pattern of Fourier coefficients of boolean functions?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that there are $2^{2^n}$ many boolean functions $f: \{0,1\}^n \to \{0,1\}$ and the same number of sign-pattern sequences of length $2^n$. But not all of the $2^{2^n}$ sequences can be realized. To see this, let $b$ be a bent function where each nonzero Fourier coefficient is $\pm 2^{-n/2}$, and let $b'$ be a boolean function which differs from $b$ at exactly one point. Clearly, each Fourier coefficient of $b'$ differs from that of $b$ by $\pm 2^{-n}$, so that the sign pattern of the Fourier coefficients of $b$ and $b'$ are the same.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'd like to conjecture that the number of possible sign-patterns for Fourier coefficients of Boolean functions is at most $c\cdot 2^{2^n}$ where $c$ is a constant less than 1. But any information about signs of Fourier coefficients is very welcome.&lt;/p&gt;&#xA;" OwnerUserId="15" LastEditorUserId="15" LastEditDate="2014-09-15T07:56:44.123" LastActivityDate="2014-09-15T07:56:44.123" Title="Sign patterns for Fourier coefficients of Boolean functions" Tags="&lt;co.combinatorics&gt;&lt;boolean-functions&gt;&lt;fourier-analysis&gt;" AnswerCount="0" CommentCount="0" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="25767" PostTypeId="1" CreationDate="2014-09-16T08:47:32.667" Score="30" ViewCount="3455" Body="&lt;p&gt;Richard J. Lipton &lt;a href=&quot;https://www.acm.org/media-center/2014/september/acm-awards-knuth-prize-to-pioneer-for-advances-in-algorithms-and-complexity-theory&quot; rel=&quot;nofollow noreferrer&quot;&gt;has been selected as the winner of the 2014 Knuth Prize&lt;/a&gt;  &quot;for Introduction of New Ideas and Techniques&quot;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;What are to your minds the main new ideas and techniques that Lipton developed?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Note. This question shall become community wiki, please put one such idea, technique or result per answer.&lt;/em&gt;&lt;/p&gt;&#xA;" OwnerUserId="976" LastEditorUserId="976" LastEditDate="2020-05-20T07:18:18.587" LastActivityDate="2020-05-20T07:18:18.587" Title="Lipton's most influential results" Tags="&lt;big-list&gt;" AnswerCount="7" CommentCount="6" FavoriteCount="10" CommunityOwnedDate="2014-09-16T14:54:48.793" ContentLicense="CC BY-SA 4.0" />
  <row Id="25768" PostTypeId="2" ParentId="25767" CreationDate="2014-09-16T08:55:09.403" Score="27" Body="&lt;p&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Karp%E2%80%93Lipton_theorem&quot;&gt;&lt;strong&gt;Karp-Lipton Theorem&lt;/strong&gt;&lt;/a&gt; states that $\mathsf{NP}$ cannot have polynomial-size boolean circuits unless the &lt;a href=&quot;https://en.wikipedia.org/wiki/Polynomial_hierarchy&quot;&gt;Polynomial hierarchy&lt;/a&gt; collapses to its second level.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Two implications of this theorem for complexity theory:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$\mathsf{NP}$ probably has no polynomial-size boolean circuits; proving lower bounds on circuit sizes is therefore a possible approach for separating complexity classes.&lt;/li&gt;&#xA;&lt;li&gt;Several results are based on this theorem to prove complexity classes separations (for instance Kannan's Theorem).&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="976" LastEditorUserId="976" LastEditDate="2014-09-17T07:43:44.637" LastActivityDate="2014-09-17T07:43:44.637" CommentCount="0" CommunityOwnedDate="2014-09-16T14:54:48.793" ContentLicense="CC BY-SA 3.0" />
  <row Id="25769" PostTypeId="2" ParentId="25767" CreationDate="2014-09-16T09:49:02.123" Score="17" Body="&lt;p&gt;I'm not 100% sure if the explanation below is historically accurate. If it isn't, please feel free to edit or remove.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Mutation testing&lt;/strong&gt; was invented by Lipton. &lt;a href=&quot;https://en.wikipedia.org/wiki/Mutation_testing&quot;&gt;Mutation testing&lt;/a&gt; can be seen as a way to measure the quality or effectiveness of a  test suite. The key idea is to inject faults into the program to be tested (i.e. to mutate the program), preferably the kinds of faults a human programmer is likely to make, and see if the test suite finds the introduced faults. A typical example of the kind of fault mutation testing would introduce could be to replace x &gt; 0 by x &amp;lt; 0, or replace x by x+1 or x-1.  The fraction of faults caught by the test suite is the &quot;mutation adequacy score&quot; of a test suite. Speaking very loosely, one can think of this as a Monte-Carlo method for computing the mutation adequacy score.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More abstractly one might say that mutation testing brings to the fore a symmetry or duality between a program and its test suites: not only can the test suite be used to become more confident about the correctness of a program, but conversely, a program can be used to &#xA;gain  confidence about the quality of a test suite.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the light of this duality, mutation testing is also conceptually close to &lt;a href=&quot;https://en.wikipedia.org/wiki/Fault_injection&quot;&gt;fault injection&lt;/a&gt;. Both are technically similar but have different purposes. Mutation testing seeks to measure the quality of the test suite, while fault injection seeks to establish the quality of the program, usually the quality of its error handling. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Recently, ideas from mutation testing have been used to test (formalisations of) logical theories. To paraphrase the abstract of (4):&#xA;When developing non-trivial formalizations in a theorem prover, a considerable amount of time is devoted to “debugging” speciﬁcations and theorems. Typically, incorrect speciﬁcations or theorems are discovered during failed proof attempts. This is an expensive form of debugging. Therefore it is often useful to test conjectures before embarking on a proof. A possible way of doing this is to assign random values to the free variables of the conjecture and then evaluate it. (4) uses mutations to test the quality of the used test-case generators. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;History&lt;/strong&gt;. From (1): The history of mutation testing can be traced back to 1971 in a student paper by Richard Lipton [...] The birth of the field can also be identified in other papers published in the late 1970s by Lipton et al. (2) as well as Hamlet (3).&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://crestweb.cs.ucl.ac.uk/resources/mutation_testing_repository/theory.php&quot;&gt;Mutation Testing Repository: Mutation Testing Theory&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://www.st.cs.uni-saarland.de/edu/recommendation-systems/papers/Hints_on_Test_Data_Selection-1.pdf&quot;&gt;R. A. DeMillo, R. J. Lipton, F. G. Sayward, Hints on Test Data&#xA;Selection: Help for the Practicing Programmer&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://dl.acm.org/citation.cfm?id=1313827&quot;&gt;R. G. Hamlet, Testing Programs with the Aid of a Compiler&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://www21.in.tum.de/~nipkow/pubs/sefm04.html&quot;&gt;S. Berghofer, T. Nipkow, Random testing in Isabelle/HOL.&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="898" LastEditorUserId="898" LastEditDate="2014-09-16T10:01:35.633" LastActivityDate="2014-09-16T10:01:35.633" CommentCount="0" CommunityOwnedDate="2014-09-16T14:54:48.793" ContentLicense="CC BY-SA 3.0" />
  <row Id="25770" PostTypeId="2" ParentId="25714" CreationDate="2014-09-16T10:20:19.813" Score="-3" Body="&lt;p&gt;Here is a true sublinear string matching algorithm, on all alphabet sizes, which answers the question Kaveh posted. My question was: Is Boyer-Moore actually linear on small alphabets?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The log base below is $|\Sigma|$, and (ceiling of) $logM$ (often just one) is implied.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Preprocess the Pattern into a lookup table, with $M-logM+1$ keys, each key having size $logM$, and with associated key positions in the Pattern. Converting sequences of $logM$ letters into array indices is the only tricky part. The table size is $|\Sigma|$ raised to ceiling of $logM$, for easy indexing.  Each bucket is a short, possibly empty, list of key positions.  Run time: $O( MlogM )$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Main: Skip through Text positions $k$ by $(M - logM + 1)$, constructing a $logM$ sized search key at Text positions $k$ thru $k + logM -1$. Look up the search key in the table. If found, naively attempt to match the Pattern at Text[$k$ - key position].  The naive attempt almost certainly fails in $logM$ comparisons. The only tricky part is that a key may occur in multiple Pattern positions.  The expected number of test positions is $O(1)$.  Expected run time: $O( (N/M)logM )$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Post: Garbage collect the preprocessing space, $O(MlogM)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A proof that Main is optimal for $N&amp;gt;M^2$, on all alphabet sizes, is needed.&lt;/p&gt;&#xA;" OwnerUserId="10130" LastActivityDate="2014-09-16T10:20:19.813" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25772" PostTypeId="2" ParentId="25099" CreationDate="2014-09-16T13:20:43.047" Score="2" Body="&lt;p&gt;If $F$ is an endofunctor in a category $C$, then the category of $F$-algebras is pretty important in the study of datatypes. In particular, initial objects in this category correspond closely to finite datastructures. See &lt;a href=&quot;http://en.wikipedia.org/wiki/Initial_algebra&quot; rel=&quot;nofollow&quot;&gt;this page on Wikipedia&lt;/a&gt; for more details, including examples of how the types of natural numbers, cons-lists and binary trees arise in this way.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, a monad is just a monoid in the category of endofunctors :-) Highly tongue-in-cheek, but the category of endofunctors is important nevertheless, if you want a better theoretical understanding of (Haskell's) monads.&lt;/p&gt;&#xA;" OwnerUserId="449" LastActivityDate="2014-09-16T13:20:43.047" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25773" PostTypeId="2" ParentId="25767" CreationDate="2014-09-16T14:23:27.673" Score="35" Body="&lt;p&gt;The &lt;strong&gt;Planar Separator Theorem&lt;/strong&gt; states that in any planar $n$-vertex graph $G$ there exists a set of $O(\sqrt{n})$ vertices whose removal leaves the graph disconnected into at least two roughly balanced components. Moreover, such a set can be found in linear time. This (tight) result, &lt;a href=&quot;http://epubs.siam.org/doi/abs/10.1137/0136016&quot;&gt;proved by Lipton and Tarjan&lt;/a&gt; (improving on a previous result by Ungar) is a powerful tool for designing algorithms on planar graphs. It gives many exact subexponential time algorithms for NP-hard problems and improved polynomial time approximation algorithms. Looking at the &lt;a href=&quot;http://en.wikipedia.org/wiki/Planar_separator_theorem#Applications&quot;&gt;wikipedia page&lt;/a&gt; gives a good starting place to explore the numerous applications. An &lt;a href=&quot;http://www.cs.princeton.edu/courses/archive/fall06/cos528/handouts/appplanar.pdf&quot;&gt;early survey&lt;/a&gt; with details of a number of applications was written by Lipton and Tarjan in 1980.&lt;/p&gt;&#xA;" OwnerUserId="4896" LastEditorUserId="4896" LastEditDate="2014-09-18T03:57:49.480" LastActivityDate="2014-09-18T03:57:49.480" CommentCount="9" CommunityOwnedDate="2014-09-16T14:54:48.793" ContentLicense="CC BY-SA 3.0" />
  <row Id="25776" PostTypeId="2" ParentId="18129" CreationDate="2014-09-16T16:49:46.440" Score="0" Body="&lt;p&gt;You may be interested in SAT formulas with small (logarythmic) &quot;bandwidth&quot; or &quot;treewidth&quot;.  These formulas are recursively partitionable in such a way that the communication boundary between partitions is small, and therefore an enumerative dynamic programming approach can be used to solve them.  The topic was popular in the nineties.  I once counted exactly the number of hamiltonian cycles in a small treewidth graph of 24,000 vertices, so #P problems with small treewidth are solvable too.  Bodlaender is a major reference.&lt;/p&gt;&#xA;" OwnerUserId="10130" LastActivityDate="2014-09-16T16:49:46.440" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="25779" PostTypeId="1" AcceptedAnswerId="25781" CreationDate="2014-09-16T19:38:52.667" Score="9" ViewCount="658" Body="&lt;p&gt;A colored graph can be described as tuple $(G,c)$ where $G$ is a graph and $c : V(G) \rightarrow \mathbb{N}$ is the coloring. Two colored graphs $(G,c)$ and $(H,d)$ are said to be isomorphic if there exists an isomorphism $\pi : V(G) \rightarrow V(H)$ such that the coloring is obeyed, i.e. $c(v) = d(\pi(v))$ for all $v \in V(G)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This notion captures the isomorphism of colored graphs in a very strict sense. Consider the case where you have two political maps of the same region but they use different color sets. If one asks if they are colored in the same fashion one would assume this to mean whether there exists a bijective mapping between the two color sets such that the colors of both maps coincide via this mapping. This notion can be formalized by describing colored graphs as tuple $(G,\sim)$ where $\sim$ is an equivalence relation on the vertex set of $G$. We can then say two such graphs $(G,\sim_1)$ and $(H,\sim_2)$ are isomorphic if there exists an isomorphism $\pi : V(G) \rightarrow V(H)$ such that for all pairs $v_1,v_2 \in V(G)$ it holds that &#xA;$$v_1 \sim_1 v_2 \text{ iff } \pi(v_1) \sim_2 \pi(v_2)$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is whether this concept has been studied previously w.r.t. finding canonical forms etc. and if so under what name it is known?&lt;/p&gt;&#xA;" OwnerUserId="17410" LastEditorUserId="17410" LastEditDate="2014-09-18T06:54:47.987" LastActivityDate="2014-09-18T15:47:58.603" Title="Graph isomorphism with equivalence relation on the vertex set" Tags="&lt;terminology&gt;&lt;graph-isomorphism&gt;&lt;equivalence&gt;" AnswerCount="2" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="25780" PostTypeId="2" ParentId="25767" CreationDate="2014-09-16T20:07:59.840" Score="25" Body="&lt;p&gt;&lt;strong&gt;Random Self-Reducibility of the Permanent&lt;/strong&gt;. &lt;a href=&quot;http://books.google.com/books?id=_y-eBBIRBbUC&amp;amp;lpg=PA191&amp;amp;ots=n3Lb9pKja6&amp;amp;lr&amp;amp;pg=PA191#v=onepage&amp;amp;q&amp;amp;f=false&quot;&gt;Lipton showed&lt;/a&gt; that if there exist an algorithm that correctly computes the permanent of $1-1/(3n)$ fraction of all $\mathbb{F}^{n\times n}$, where $\mathbb{F}$ is a finite field of size at least $3n$, then this algorithm can be used as a black box to compute the permanent of &lt;em&gt;any&lt;/em&gt; matrix with high probability. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The main idea is that the permanent is a low-degree polynomial, so its composition with a univariate affine function $A + xB$ is a low-degree univariate polynomial (in $x$) and can be learned exactly from a small number of values via interpolation. You can pick a random $B$ so that the composition is distributed as the permanent of a random matrix for any $x$. At $x = 0$ the univariate polynomial is just the permanent of $A$. Details can be found in &lt;a href=&quot;http://www.cs.princeton.edu/theory/complexity/ipchap.pdf&quot;&gt;Chapter 8 of Arora Barak&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This algebraic approach has been extremely influential in complexity theory. Lipton's ideas  led eventually to the proof of the IP=PSPACE theorem, the proof of the PCP theorem, and to results on local error-correcting codes.&lt;/p&gt;&#xA;" OwnerUserId="4896" LastEditorUserId="4896" LastEditDate="2014-09-17T17:16:50.447" LastActivityDate="2014-09-17T17:16:50.447" CommentCount="0" CommunityOwnedDate="2014-09-16T20:07:59.840" ContentLicense="CC BY-SA 3.0" />
  <row Id="25781" PostTypeId="2" ParentId="25779" CreationDate="2014-09-17T04:27:14.190" Score="9" Body="&lt;p&gt;The problem you describe has definitely been considered (I remember discussing it in grad school, and at the time already it had been discussed long before then), though I can't point to any particular references in the literature. Possibly because it is linearly equivalent to uncolored graph isomorphism, as follows (this is true even for canonical forms). Call the problem you describe EQ-GI. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;GI is just the special case of EQ-GI where each graph has just one equivalence class consisting of all vertices.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the other direction, to reduce EQ-GI to GI, let $(G, \sim_G)$ be a graph with equivalence relation with $n$ vertices, $m$ edges, and $c$ equivalence classes. Construct a graph $G'$ whose vertex set consists of the vertices of $G$, together with new vertices $v_1, \dotsc, v_c$, one for each equivalence class in $=_G$, as well as $n+c+1$ new vertices $w_0, \dotsc, w_{n+c}$. Connect the $w_i$'s in a path $w_0 - w_1 - w_2 - \dotsb - w_{n+c}$, connect each $v_i$ to $w_0$, and for every vertex in $G$, connect it to the corresponding equivalence class vertex $v_i$. Then $G'$ has at most $n + 2c + n +1 \leq O(n)$ vertices and can be constructed in essentially the same time bound. (It also has at most $m + n + c + (n+c+1) \leq m + 4n + 1 \leq O(m+n)$ edges - which is $O(m)$ for connected graphs - but that's somewhat less relevant since most GI algorithms have running times that essentially only depend on $n$.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Update&lt;/strong&gt;: Since there was some confusion in the comments, I'm adding here a sketch of the correctness of the above argument. Given $(G_1, \sim_1)$ and $(G_2, \sim_2)$, let $G_1'$ and $G_2'$ be the graphs constructed as above; let $v_{i,1}$ denote the vertex $v_i$ from above in $G_1'$, and $v_{i,2}$ the one in $G_2'$, and similarly for $w_{i,1}$ and $w_{i,2}$. If there is an isomorphism $G_1' \cong G_2'$, it must send $w_{i,1}$ to $w_{i,2}$ for all $i$, since in each graph $w_{n+c}$ is the unique vertex that is the endpoint of any path of length at least $n+c+1$. In particular, $w_{0,1}$ maps to $w_{0,2}$. Since the neighbors of $w_0$ that aren't $w_1$ are exactly the $v_i$, the isomorphism must map the set $\{v_{1,1},\dotsc,v_{c,1}\}$ to the set $\{v_{1,2},\dotsc,v_{c,2}\}$ (and in particular both $\sim_1$ and $\sim_2$ must have the same number, $c$, of equivalence classes). Note that the isomorphism need not send $v_{i,1}$ to $v_{i,2}$ for all $i$, but is allowed to permute the indices of the $v$'s so long as the corresponding equivalence classes can be mapped to one another. Conversely, based on this description of how isomorphisms between $G_1'$ and $G_2'$ can look, it is easy to see that if $(G_1, \sim_1) \cong (G_2, \sim_2)$ then this gives an isomorphism $G_1' \cong G_2'$.&lt;/p&gt;&#xA;" OwnerUserId="129" LastEditorUserId="129" LastEditDate="2014-09-18T15:47:58.603" LastActivityDate="2014-09-18T15:47:58.603" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="25782" PostTypeId="2" ParentId="25767" CreationDate="2014-09-17T07:49:18.703" Score="16" Body="&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Schwartz%E2%80%93Zippel_lemma&quot;&gt;&lt;strong&gt;Schwartz - Zippel - DeMillo-Lipton Lemma&lt;/strong&gt;&lt;/a&gt; is a fundamental tool in arithmetic complexity: It basically states that if you want to know whether an arithmetic circuit represents the zero polynomial, all you need is to evaluate the circuit on one input. Then you'll obtain a nonzero value with good probability if the circuit does not represent the zero polynomial. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is a particularly important lemma since no polynomial-time deterministic algorithm is known for this problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The lemma is usually known as &lt;strong&gt;Schwartz-Zippel Lemma&lt;/strong&gt;. A history of this lemma can be found on &lt;a href=&quot;http://rjlipton.wordpress.com/2009/11/30/the-curious-history-of-the-schwartz-zippel-lemma/&quot;&gt;Lipton's own blog&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="976" LastActivityDate="2014-09-17T07:49:18.703" CommentCount="1" CommunityOwnedDate="2014-09-17T07:49:18.703" ContentLicense="CC BY-SA 3.0" />
  <row Id="25783" PostTypeId="1" AcceptedAnswerId="25793" CreationDate="2014-09-17T08:37:11.153" Score="9" ViewCount="892" Body="&lt;p&gt;Most resource regarding categorical notions in programming describe monads, but I've never seen a categorical description of monad transformers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;How could &lt;a href=&quot;https://en.wikibooks.org/wiki/Haskell/Monad_transformers&quot;&gt;monad transformers&lt;/a&gt; be described in the terms of category theory?&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In particular, I'd be interested in:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;the relationship between monad transformers and their corresponding base monads;&lt;/li&gt;&#xA;&lt;li&gt;the relationship between them and the monads they're transforming into new monads;&lt;/li&gt;&#xA;&lt;li&gt;monad transformer stacks.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="10336" LastActivityDate="2021-05-18T20:52:23.643" Title="Explaining monad transformers in categorical terms" Tags="&lt;type-theory&gt;&lt;functional-programming&gt;&lt;ct.category-theory&gt;&lt;haskell&gt;&lt;monad&gt;" AnswerCount="4" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="25784" PostTypeId="2" ParentId="25779" CreationDate="2014-09-17T09:50:47.567" Score="3" Body="&lt;p&gt;I read your last comment in the Joshua's correct answer; if you need to transform EQ-GI to colored GI (i.e. you are in trouble with the colors assigned to the equivalence classes) you can use the following reduction:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose that the starting graphs are $G_1 = (V_1, E_1)$, $G_2 = (V_2, E_2)$ and there are $q$ equivalence classes; then you can add to each graph a &quot;permutator&quot;, i.e. a complete  graph on $|V_1|+1=|V_2|+1$ nodes ($K'_{|V_1|+1}$,$K''_{|V_2|+1}$) and use $q+1$ colors $c_1,...,c_q,c_{q+1}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In both $K'$ and $K''$,  $q$ nodes are distinguished and colored with $c_1,...,c_q$ the remaining nodes are colored with $c_{q+1}$.&#xA;The nodes of $G_1$ are colored with color $c_{q+1}$ and nodes in the same equivalence class are linked to the corresponding color in $K'$; the nodes of $G_2$ are colored with color $q+1$ and nodes in the same equivalence class are linked to the corresponding color in $K''$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also note that you can drop the colors and get an equivalent GI instance :-)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/KGICW.png&quot; alt=&quot;enter image description here&quot;&gt;&#xA;&lt;br&gt;The reduction coresponding to the example in your comment&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2014-09-17T10:02:16.340" LastActivityDate="2014-09-17T10:02:16.340" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="25785" PostTypeId="1" AcceptedAnswerId="25787" CreationDate="2014-09-17T10:33:00.097" Score="-3" ViewCount="89" Body="&lt;p&gt;I have a question on stack-overflow about &quot;compressing&quot; a graph. Suppose I have tags from a finite set $T$ and objects from a finite set $O$. Moreover there are (uni-directional) links from elements of set of $T$ to elements of set $O$. For example all the links are of the form&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$(a,b)$ where $a$ belongs to $T$ and $b$ belongs to $O$. The set $O$ can be huge compared to $T$ and consequently the graph can be huge. But let me give you an example&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose $O=\{o_1,o_2,o_3\}$ and $T=\{t_1,t_2,t_3\}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;and I have the full set of allowed links&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If I insert in the graph a hidden node $h$ then I can create a graph with links&#xA;$(o_1,h), (o_2,h), (o_3,h)$ and $(h,t_1),(h,t_2),(h,t_3)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then the tagging is preserved if we define that :&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&quot;object $o$ has tag $t$ if there is a path from $o$ to $t$&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The definition as you see is invariant with the hidden node.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Moreover while previously I had 9 links, now I have 6 while the number of nodes is increased by 1.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For a fully linked case with $N$ objects and $M$ tags the gain becomes&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$(NM)/(N+M)$ which as $N$ increases the gain tends to $M$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Do you know for such research? What category of problems this belongs? I am also very interested in the online case.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thank you in advance.&lt;/p&gt;&#xA;" OwnerUserId="27262" LastEditorUserId="6579" LastEditDate="2014-09-17T13:24:21.180" LastActivityDate="2014-09-18T08:18:01.450" Title="tagging and graph “compression”" Tags="&lt;graph-theory&gt;&lt;ds.data-structures&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25786" PostTypeId="1" AcceptedAnswerId="25788" CreationDate="2014-09-17T12:41:33.190" Score="-2" ViewCount="70" Body="&lt;p&gt;Given a set of tasks $T=\{t_1,\dots,t_n\}$ and execution times between the tasks $e(t_i,t_j)$ can we find a schedule $s$ for $T$ on a single machine with makespan $m_s &amp;lt; d$? Assume that the execution times, $d$ and $m_s$ are arbitrary non-negative integers. The execution time of a task $t_j$ depends on the task the that was executed immediately before i.e. $t_i$ . Thus execution times play crucial role in determining the shortest schedule. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Do you any similar problem which is in P or NP?&lt;/p&gt;&#xA;" OwnerUserId="20614" LastActivityDate="2014-09-17T13:32:57.240" Title="Is scheduling a set of tasks on single machine in P or in NP?" Tags="&lt;cc.complexity-theory&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="25787" PostTypeId="2" ParentId="25785" CreationDate="2014-09-17T12:55:59.430" Score="2" Body="&lt;p&gt;If you create an adjacency matrix $A$ between $O$ and $T$ where:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;the rows correspond to objects in $O$&lt;/li&gt;&#xA;&lt;li&gt;the column correspond to objects in $T$&lt;/li&gt;&#xA;&lt;li&gt;the entry $A_{i,j} = 1$ if there is a link between $i \in O$ and $j \in T$, or $A_{i,j} = 0$ otherwise.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Then, finding the &lt;strong&gt;least number of&lt;/strong&gt; intermediate 'hidden' nodes correspond to computing &lt;a href=&quot;http://en.wikipedia.org/wiki/Nonnegative_rank_(linear_algebra)&quot; rel=&quot;nofollow&quot;&gt;Nonnegative rank factorization&lt;/a&gt; of the matrix $A$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose $A=BC$ is the nonnegative rank factorization of $A$, then create as many hidden nodes as the column size of matrix $B$ (or equally, the row size of matrix $C$). Let's call this hidden nodes set $H$. Then, the matrix $B$ gives the adjacency matrix from set $O$ to $H$ and the matrix $C$ gives the adjacency matrix from set $H$ to $T$.&lt;/p&gt;&#xA;" OwnerUserId="25510" LastEditorUserId="25510" LastEditDate="2014-09-17T13:01:23.843" LastActivityDate="2014-09-17T13:01:23.843" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25788" PostTypeId="2" ParentId="25786" CreationDate="2014-09-17T13:32:57.240" Score="1" Body="&lt;p&gt;I don't know if there is a canonical description (scheduling notation: $1|?|?$) for it; but it seems that there is a quick reduction from Hamiltonian s-t path problem on a directed graph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a digraph $G= (V,E), |V| = n$ and the two vertices $s,t$; build a scheduling task with $n+2$ tasks $T_A,T_1,...,T_n,T_B$ in which $T_1,...,T_n$ correspond to the nodes of $V$ (two of them: $T_s, T_t$ correspond to $s,t$); set $d = n+2$ and set execution times:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$e(T_A,T_{s})$ = 1&lt;/li&gt;&#xA;&lt;li&gt;$e(T_{t},T_B)$ = 1&lt;/li&gt;&#xA;&lt;li&gt;$e(T_{i},T_j)$ = 1 if the directed edge $(u_i,u_j) \in E$&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;For all the other pairs, set $e(T_i, T_j) = d+1$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The $n+2$ tasks can be scheduled before deadline $d$ if and only if the original graph has an Hamiltonian path from $s$ to $t$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So your problem is NP-complete.&lt;/p&gt;&#xA;" OwnerUserId="3247" LastActivityDate="2014-09-17T13:32:57.240" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="25789" PostTypeId="2" ParentId="25767" CreationDate="2014-09-17T13:56:22.233" Score="13" Body="&lt;p&gt;&lt;strong&gt;Coverability in vector addition systems is EXPSPACE-hard&lt;/strong&gt;: in R. J. Lipton, &lt;a href=&quot;http://cpsc.yale.edu/sites/default/files/files/tr63.pdf&quot;&gt;&lt;em&gt;The reachability problem requires exponential space&lt;/em&gt;&lt;/a&gt;, Research report 63, Yale University, 1976.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A &lt;em&gt;vector addition system&lt;/em&gt; (VAS, equivalent to a Petri net) of dimension $d$ is defined as a pair $\langle v_0,A\rangle$ where $v_0$ is a vector of non-negative integers in $\mathbb{N}^d$ and $A$ is a finite set of vectors of integers included in $\mathbb{Z}^d$. A VAS defines a transition system over configurations in $\mathbb{N}^d$ where $v\to v'$ if there exists $u$ in $A$ such that $v'=v+u$ (note that no component of $v'$ can be negative).  The &lt;em&gt;coverability&lt;/em&gt; problem, given a VAS and a target vector $v$ in $\mathbb{N}^d$, asks whether there exists an execution $v_0\to v_1\to\cdots\to v_n$ of the VAS such that $v_n\geq v$ for the product ordering over $\mathbb{N}^d$, i.e. $v_n(i)\geq v(i)$ for all $1\leq i\leq d$.  Combined with an EXPSPACE upper bound proven by &lt;a href=&quot;http://dx.doi.org/10.1016/0304-3975(78)90036-1&quot;&gt;C. Rackoff in 1978&lt;/a&gt;, Lipton's result shows the completeness for EXPSPACE.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This result, as recounted on &lt;a href=&quot;https://rjlipton.wordpress.com/2009/04/08/an-expspace-lower-bound/&quot;&gt;Lipton's blog&lt;/a&gt;, still provides the best known lower bound on the (seemingly? much harder) &lt;strong&gt;reachability&lt;/strong&gt; problem, where one requires instead $v_n=v$. Interestingly, it was proven &lt;em&gt;before&lt;/em&gt; reachability was shown decidable. The lower bound and the technique employed to prove it have been reused countless times in relation with various classes of counter systems, and indirectly for other classes of systems or logics.&lt;/p&gt;&#xA;" OwnerUserId="609" LastEditorUserId="609" LastEditDate="2014-09-17T15:01:08.113" LastActivityDate="2014-09-17T15:01:08.113" CommentCount="0" CommunityOwnedDate="2014-09-17T13:56:22.233" ContentLicense="CC BY-SA 3.0" />
  <row Id="25790" PostTypeId="1" CreationDate="2014-09-17T14:36:13.900" Score="0" ViewCount="189" Body="&lt;p&gt;Can anyone share a link to a good survey/book about the different problem types for which we have a linear programming based solution for, as well as the related techniques?&lt;/p&gt;&#xA;" OwnerUserId="27267" LastEditorUserId="21001" LastEditDate="2014-09-17T14:49:41.593" LastActivityDate="2014-09-17T14:49:41.593" Title="Problems which are solvable using Linear Programming" Tags="&lt;reference-request&gt;&lt;linear-programming&gt;" AnswerCount="0" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="25791" PostTypeId="2" ParentId="25730" CreationDate="2014-09-17T16:39:02.713" Score="13" Body="&lt;p&gt;$\def\N{\mathbb N}\DeclareMathOperator\sym{Sym}\def\cC{\mathcal C}\def\cD{\mathcal D}\def\cP{\mathcal P}\def\cI{\mathcal W}\def\cMI{\mathcal{MW}}\DeclareMathOperator\pol{Pol}\DeclareMathOperator\inv{Inv}\DeclareMathOperator\minv{MInv}\let\pres\parallel$This is a presentation of one half of a duality for reversible transformations, analogous to the standard clone–coclone duality (such as &lt;a href=&quot;http://www.thi.uni-hannover.de/fileadmin/forschung/esslli/07/csp.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;here&lt;/a&gt;). It doesn’t answer the question, but it shows that all closed classes of such functions are determined by preservation of properties of a particular form.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In contrast to the standard case, the main complication is that permutations can count (they preserve cardinality), hence their invariants need to involve a bit of arithmetic to account for this.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let me start with some tentative terminology. Fix a finite base set $A$. (In the classical case Scott asks about, $A=\{0,1\}$. Parts of the discussion also work for infinite $A$, but not the main characterization.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A &lt;em&gt;set of permutations&lt;/em&gt; (or: reversible transformations) is a subset $\cC\subseteq\cP:=\bigcup_{n\in\N}\sym(A^n)$, where $\sym(X)$ denotes the group of permutations of $X$. A &lt;em&gt;permutation clone&lt;/em&gt; is a set of permutations $\cC$ such that&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;ol&gt;&#xA;  &lt;li&gt;&lt;p&gt;Each $\cC\cap\sym(A^n)$ is closed under composition.&lt;/p&gt;&lt;/li&gt;&#xA;  &lt;li&gt;&lt;p&gt;For any $\pi\in\sym(\{1,\dots,n\})$, the permutation $\tilde\pi\in\sym(A^n)$ defined by $\tilde\pi(x_1,\dots,x_n)=(x_{\pi(1)},\dots,x_{\pi(n)})$ is in $\cC$.&lt;/p&gt;&lt;/li&gt;&#xA;  &lt;li&gt;&lt;p&gt;If $f\in\cC\cap\sym(A^n)$ and $g\in\cC\cap\sym(A^m)$, the permutation $f\times g\in\sym(A^{n+m})$ defined by $(f\times g)(x,y)=(f(x),g(y))$ is in $\mathcal C$.&lt;/p&gt;&lt;/li&gt;&#xA;  &lt;/ol&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Since $A$ is finite, 1 means that $\cC\cap\sym(A^n)$ is a subgroup of $\sym(A^n)$. The OP only demands 2 for transpositions $\pi$, but the version here is clearly equivalent. Condition 3 is equivalent to what I called introduction of dummy variables in the comments above.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A &lt;em&gt;master clone&lt;/em&gt; is a permutation clone with allowance of ancillas:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;ol start=&quot;4&quot;&gt;&#xA;  &lt;li&gt;Let $f\in\sym(A^{n+m})$, $g\in\sym(A^n)$, and $a\in A^m$ be such that $f(x,a)=(g(x),a)$ for all $x\in A^n$. Then $f\in\cC$ implies $g\in\cC$.&lt;/li&gt;&#xA;  &lt;/ol&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;We aim to characterize permutation clones and master clones by certain invariants. Let me first motivate the latter by a few examples on $A=\{0,1\}$:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;The master clone of permutations preserving Hamming weight (generated by the Fredkin gate). If $w$ denotes the inclusion of $\{0,1\}$ in $\N$, these permutations are characterized by the property&#xA;$$y=f(x)\implies\sum_{i=1}^nw(x_i)=\sum_{i=1}^nw(y_i),$$&#xA;where $f\in\sym(A^n)$, and I write $x=(x_1,\dots,x_n)$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The master clone of permutations preserving Hamming weight modulo fixed $m$, mentioned in the comments. This is characterized by the same formula as above, if we interpret $w$ as a function from $\{0,1\}$ to the cyclic group $C(m)$, and compute the sum there.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The master clone of affine permutations $f(x)=Mx\oplus b$, $M\in\mathrm{GL}(n,\mathbb F_2)$, $b\in\mathbb F_2^n$ (generated by CNOT). One checks easily (or knows from the Post case) that a single-output function $\mathbb F_2^n\to\mathbb F_2$ is affine iff it preserves the relation $x^1\oplus x^2\oplus x^3\oplus x^4=0$. Thus, if we define $w\colon\{0,1\}\to\{0,1\}$ by&#xA;$$w(x^1,x^2,x^3,x^4)=x^1\oplus x^2\oplus x^3\oplus x^4,$$&#xA;an $f\in\sym(A^n)$ is in the clone iff&#xA;$$y^1=f(x^1)\land\dots\land y^4=f(x^4)\implies\max_{i=1}^nw(x^1_i,\dots,x^4_i)=\max_{i=1}^nw(y^1_i,\dots,y^4_i),$$&#xA;so we are dealing with sums in the monoid $(\{0,1\},0,\max)$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;In general, a &lt;em&gt;weight function&lt;/em&gt; is a mapping $w\colon A^k\to M$, where $k\in\N$, and $M$ is a commutative monoid. A &lt;em&gt;master weight function&lt;/em&gt; is one that maps all the diagonal $k$-tuples $(a,\dots,a)$, $a\in A$, to invertible elements of $M$. Let $\cI$ denote the class of all weight functions, and $\cMI$ the master weight functions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $f\in\sym(A^n)$, and $w\colon A^k\to M$ is a weight function, we say that $w$ is an &lt;em&gt;invariant of $f$&lt;/em&gt;, or (mindlessly borrowing the terminology) that $f$ is a &lt;em&gt;polymorphism of $w$&lt;/em&gt;, and write $f\pres w$, if the following condition holds for all $(x_i^j)_{i=1..n}^{j=1..k},(y_i^j)_{i=1..n}^{j=1..k}\in A^{n\times k}$:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;If $y^1=f(x^1),\dots,y^k=f(x^k)$, then&#xA;  $$\sum_{i=1}^nw(x_i)=\sum_{i=1}^nw(y_i).$$&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Here, $x^j=(x^j_1,\dots,x^j_n)$, $x_i=(x_i^1,\dots,x_i^k)$, and similarly for $y$. In other words, $f\pres w$ if $f$ (or rather its parallel extension to $(A^k)^n$) preserves the sum of $w$-weights of its arguments.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The relation $\pres$ between $\cP$ and $\cI$ (or $\cMI$) induces a Galois connection between sets of permutations $\cC\subseteq\cP$, and classes of weight functions $\cD\subseteq\cI$, in the usual way:&#xA;\begin{align*}&#xA;\pol(\cD)&amp;amp;=\{f\in\cP:\forall w\in\cD\,(f\pres w)\},\\&#xA;\inv^*(\cC)&amp;amp;=\{w\in\cI:\forall f\in\cC\,(f\pres w)\},\\&#xA;\minv^*(\cC)&amp;amp;=\cMI\cap\inv^*(\cC),&#xA;\end{align*}&#xA;and thus a dual isomorphism between the complete lattices of closed sets of permutations, and closed classes of (master) weight functions, respectively. To see that we are on the right track, we observe that closed sets of permutations are indeed clones:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Lemma:&lt;/strong&gt; If $\cD\subseteq\cI$, then $\pol(\cD)$ is a permutation clone. If $\cD\subseteq\cMI$, then $\pol(\cD)$ is a master clone.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Proof:&lt;/strong&gt; The first assertion is more or less obvious. For the second, let  $w\in\cD$, $f,g,a$ be as in condition 4 so that $f\pres w$, and let $(x_i^j),(y_i^j)$ be as in the definition of $g\pres w$. Put $\bar x^j=(x^j,a)$, $\bar y^j=(y^j,a)=f(\bar x^j)$, and $u_i=w(a_i,\dots,a_i)$. Then $f\pres w$ implies&#xA;$$\sum_{i=1}^nw(x_i)+\sum_{i=1}^mu_i=\sum_{i=1}^{n+m}w(\bar x_i)=\sum_{i=1}^{n+m}w(\bar y_i)=\sum_{i=1}^nw(y_i)+\sum_{i=1}^mu_i.$$&#xA;However, $u_i$ are invertible in $M$ as $w$ is a master weight function, hence&#xA;$$\sum_{i=1}^nw(x_i)=\sum_{i=1}^nw(y_i).\tag*{QED}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Before we proceed further, we need to fix one problem: monoids can be &lt;em&gt;huge&lt;/em&gt;, hence invariants of this form can be rightly suspected of being useless abstract nonsense.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First, given a weight function $w\colon A^k\to M$, we can assume that $M$ is generated by $w(A^k)$ (and by additive inverses of images of diagonal elements in the master case), as other elements of $M$ do not enter the picture. In particular, $M$ is &lt;em&gt;finitely generated&lt;/em&gt;. Second, by general results from universal algebra, we can write $M$ as a subdirect product&#xA;$$M\subseteq\prod_{i\in I}M_i,$$&#xA;where each $M_i$ is subdirectly irreducible, and $M_i$ is a quotient of $M$ via the $i$th product projection $\pi_i$; in particular, it is still a finitely generated commutative monoid. By a result of Mal'cev, f.g. subdirectly irreducible commutative monoids (or semigroups) are in fact &lt;em&gt;finite&lt;/em&gt;. The mapping $w_i=\pi_i\circ w\colon A^k\to M_i$ is again a weight function, master if $w$ was, and it is easy to see that&#xA;$$\pol(w)=\bigcap_{i\in I}\pol(w_i).$$&#xA;Thus, we can without loss of generality restrict attention to weight functions $w\colon A^k\to M$, where $M$ is finite and subdirectly irreducible. Let $\mathcal{FW}$ be the class of such weight functions, and put&#xA;\begin{align*}&#xA;\inv(\cC)&amp;amp;=\mathcal{FW}\cap\inv^*(\cC),\\&#xA;\minv(\cC)&amp;amp;=\mathcal{FW}\cap\minv^*(\cC).&#xA;\end{align*}&#xA;Examples of finite subdirectly irreducible commutative monoids are the cyclic groups $C(p^d)$, and the truncated addition monoids $(\{0,\dots,d\},0,\min\{d,x+y\})$. The general case is more complicated, nevertheless one can say a lot about their structure: one can write each in a certain way as a disjoint union of a $C(p^d)$, and a finite nilsemigroup with some properties. See &lt;a href=&quot;http://projecteuclid.org/euclid.pjm/1102817095&quot; rel=&quot;nofollow noreferrer&quot;&gt;Grillet&lt;/a&gt; for details.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now we are ready for the main point of this post:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Theorem:&lt;/strong&gt; The closed sets of permutations in the Galois connection to finite subdirectly irreducible (master) weight functions are exactly the permutation clones (master clones, resp.).&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;That is, if $\cC\subseteq\cP$, then the permutation clone generated by $\cC$ is $\pol(\inv(\cC))$, and the master clone generated by $\cC$ is $\pol(\minv(\cC))$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Proof:&lt;/strong&gt; In view of the preceding discussion, it suffices to show that if $\cC$ is a permutation clone, and $f\in\sym(A^n)\smallsetminus\cC$, there is an invariant $w\colon A^k\to M$ of $\cC$ such that $f\nparallel w$, and one can take $w$ to be a master weight function if $\cC$ is a master clone.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Put $k=|A|^n$, and let $F$ be the free monoid generated by $A^k$ (i.e., finite words over alphabet $A^k$). We define a relation $\sim$ on $F$ by&#xA;$$x_1\cdots x_m\sim y_1\cdots y_m\iff\hbox{$\exists g\in\cC\cap\sym(A^m)\,\forall j=1,\dots,k\,g(x^j_1,\dots,x^j_m)=(y^j_1,\dots,y^j_m).$}$$&#xA;(Words of unequal length are never related by $\sim$.) Since each $\cC\cap\sym(A^m)$ is a group, $\sim$ is an equivalence relation (in fact, its restriction to words of length $m$ is just the orbit equivalence relation of $\cC\cap\sym(A^m)$ acting in the obvious way on $A^{mk}$). Moreover, $\sim$ is a monoid congruence: if $g\in\cC\cap\sym(A^m)$ and $g'\in\sym(A^{m'})$ witness that $x_1\cdots x_m\sim y_1\cdots y_m$ and $x'_1\cdots x'_{m'}\sim y'_1\cdots y'_{m'}$, respectively, then $g\times g'\in\cC\cap\sym(A^{m+m'})$ witnesses $x_1\cdots x_mx'_1\cdots x'_{m'}\sim y_1\cdots y_my'_1\cdots y'_{m'}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thus, we can form the quotient monoid $M=F/{\sim}$. The swap permutation witnesses that $xy\sim yx$ for each $x,y\in A^k$; that is, the generators of $M$ commute, hence $M$ is commutative. Define a weight function $w\colon A^k\to M$ as the natural inclusion of $A^k$ in $F$ composed with the quotient map.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is easy to see that $\cC\subseteq\pol(w)$: indeed, if $g\in\cC\cap\sym(A^m)$, and $y^1=f(x^1),\dots,y^k=f(x^k)$, then&#xA;$$\sum_{i=1}^mw(x_i)=x_1\cdots x_m/{\sim}=y_1\cdots y_m/{\sim}=\sum_{i=1}^mw(y_i)$$&#xA;by the definition of $\sim$ (using the notation as in the definition of $\pres$). On the other hand, assume $f\pres w$. Let $\{a^j:j=1,\dots,k\}$ be an enumeration of $A^n$, $b^j=f(a^j)$, and let $a_i,b_i\in A^k$ for $i=1,\dots,n$ be again as in the definition of $\pres$. Then&#xA;$$a_1\cdots a_n/{\sim}=\sum_{i=1}^nw(a_i)=\sum_{i=1}^nw(b_i)=b_1\cdots b_n/{\sim},$$&#xA;hence by the definition of $\sim$, there exists $g\in\cC\cap\sym(A^n)$ such that $g(a^j)=b^j=f(a^j)$ for each $j$. However, since the $a^j$ exhaust $A^n$, this means $g=f$, i.e., $f\in\cC$, a contradiction. This completes the proof for permutation clones.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Even if $\cC$ is a master clone, $w$ needn’t  be a master weight function, in fact, the diagonal elements are not even necessarily cancellative in $M$, hence we need to fix it. For each $c\in A$, let $c^*=(c,\dots,c)\in A^k$, and define a new equivalence relation $\approx$ on $F$ by&#xA;$$x_1\cdots x_m\approx y_1\cdots y_m\iff\exists c_1,\dots,c_r\in A\,x_1\cdots x_mc_1^*\cdots c_r^*\sim y_1\cdots y_mc_1^*\cdots c_r^*.$$&#xA;Using the fact that elements of $A^k$ commute modulo $\sim$, it is easy to show that $\approx$ is again a congruence, hence we can form the monoid $M'=F/{\approx}$, and a weight function $w'\colon A^k\to M'$. Since $\approx$ extends $\sim$, $M'$ is commutative, and a quotient of $M$; in particular, $\cC\subseteq\pol(w')$. On the other hand, if $f\pres w'$, then the same argument as above together with the definition of $\approx$ would give a $g\in\cC\cap\sym(A^{n+r})$, and $c_1,\dots,c_r\in A$ such that&#xA;$$g(x,c_1,\dots,c_r)=(f(x),c_1,\dots,c_r)$$&#xA;for all $x\in A^n$, thus $f\in\cC$ as $\cC$ is a master clone, a contradiction.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The definition of $\approx$ ensures that&#xA;$$xc^*\approx yc^*\implies x\approx y$$&#xA;for all $x,y\in F$, and $c\in A$. It follows that the elements $c^*/{\approx}=w'(c^*)$ are cancellative in $M'$. It is an easy well-known fact that any commutative monoid can be embedded in another one where all cancellative elements become invertible. The composition of such an embedding with $w'$ is then a master weight function $w''$, and $\pol(w')=\pol(w'')$, hence $w''\in\minv^*(\cC)\setminus\minv^*(f)$.  QED&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;EDIT: A generalization of the clone–coclone duality above is now written up in&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] E. Jeřábek, &lt;em&gt;Galois connection for multiple-output operations&lt;/em&gt;, preprint, 2016, &lt;a href=&quot;https://arxiv.org/abs/1612.04353&quot; rel=&quot;nofollow noreferrer&quot;&gt;arXiv:1612.04353 [math.LO]&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="6959" LastEditorUserId="6959" LastEditDate="2016-12-14T06:50:06.123" LastActivityDate="2016-12-14T06:50:06.123" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="25793" PostTypeId="2" ParentId="25783" CreationDate="2014-09-17T21:39:28.273" Score="9" Body="&lt;p&gt;According to Oleksandr Manzuk, they are &quot;translation of a monad along an adjunction&quot;, see &lt;a href=&quot;http://oleksandrmanzyuk.files.wordpress.com/2012/02/calc-mts-with-cat-th1.pdf&quot;&gt;&quot;Calculating Monad Transformers with Category Theory&quot;&lt;/a&gt;. By the way, that's the third hit on Google for &quot;monad transformer categorically&quot;. The first is a Stackoverflow question about this and the second is your question.&lt;/p&gt;&#xA;" OwnerUserId="705" LastActivityDate="2014-09-17T21:39:28.273" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="25794" PostTypeId="1" AcceptedAnswerId="25797" CreationDate="2014-09-17T22:50:44.373" Score="22" ViewCount="603" Body="&lt;p&gt;Let us call a function $f(n)$ &lt;strong&gt;superpolynomial&lt;/strong&gt; if $\lim_{n\rightarrow\infty} n^c/f(n)=0$ holds for every $c&amp;gt;0$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is clear that for any language $L\in {\mathsf P}$ it holds that $L\in {\mathsf {DTIME}}(f(n))$ for every superpolynomial time bound $f(n)$. I wonder, wether the converse of this statement is also true? That is, if we know $L\in {\mathsf {DTIME}}(f(n))$ for &lt;em&gt;every&lt;/em&gt; superpolynomial time bound $f(n)$, does it imply $L\in {\mathsf P}$? In other words, is it true that&#xA;$${\mathsf P} = \cap_f {\mathsf {DTIME}}(f(n))$$&#xA;where the intersection is taken over every superpolynomial $f(n)$.&lt;/p&gt;&#xA;" OwnerUserId="12710" LastEditorUserId="969" LastEditDate="2014-09-21T23:05:28.213" LastActivityDate="2014-09-21T23:05:28.213" Title="Is P equal to the intersection of all superpolynomial time classes?" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;complexity-classes&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="25797" PostTypeId="2" ParentId="25794" CreationDate="2014-09-18T02:13:04.667" Score="32" Body="&lt;p&gt;Yes. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In fact, by the McCreight-Meyer Union Theorem (Theorem 5.5 of &lt;a href=&quot;http://dx.doi.org/10.1145/800169.805423&quot;&gt;McCreight and Meyer, 1969&lt;/a&gt;, &lt;a href=&quot;http://reports-archive.adm.cs.cmu.edu/anon/scan/CMU-CS-69-mccreight-meyer.pdf&quot;&gt;free version here&lt;/a&gt;) &lt;strike&gt;a result of that I believe is due to Manuel Blum&lt;/strike&gt;, there is a &lt;em&gt;single&lt;/em&gt; function $f$ such that $\mathsf{P} = \mathsf{DTIME}(f(n))$. This function is necessarily superpolynomial, but &quot;just barely.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The theorem applies more generally to any &lt;a href=&quot;http://en.wikipedia.org/wiki/Blum_axioms&quot;&gt;Blum complexity measure&lt;/a&gt; $\Phi$ and any union class $\bigcup_{f \in S} \mathsf{BLUM}_{\Phi}(f(n))$ where $S$ is a c.e., self bounded set of total computable functions. (A set of functions $S$ is c.e. if there is a single partial computable function $F(i,\vec{x})$ such that $S = \{f_i(\vec{x}) | i \in \mathbb{N}\}$ where $f_i(\vec{x}) := F(i,\vec{x})$. Self-bounded means that for every finite subset $S_0 \subset S$, there is a function in $S$ that dominates all $g \in S_0$ almost everywhere. &quot;$\mathsf{BLUM}_{\Phi}$&quot; is a notation I haven't seen before, but I like it :) - I'm using it for the $\Phi$-bounded analog of a time-bounded complexity class.)&lt;/p&gt;&#xA;" OwnerUserId="129" LastEditorUserId="129" LastEditDate="2014-09-18T15:41:06.650" LastActivityDate="2014-09-18T15:41:06.650" CommentCount="10" ContentLicense="CC BY-SA 3.0" />
  <row Id="25802" PostTypeId="2" ParentId="25783" CreationDate="2014-09-18T09:46:53.013" Score="7" Body="&lt;p&gt;Augmenting Andrej's answer:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is still no widespread agreement on the appropriate interface monad transformers should support in the functional programming context. Haskell's &lt;a href=&quot;https://hackage.haskell.org/package/mtl&quot; rel=&quot;noreferrer&quot;&gt;MTL&lt;/a&gt; is the de-facto interface, but Jaskelioff's &lt;a href=&quot;https://hackage.haskell.org/package/Monatron&quot; rel=&quot;noreferrer&quot;&gt;Monatron&lt;/a&gt; is an alternative.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One of the earlier technical reports by Moggi, &lt;a href=&quot;http://www.disi.unige.it/person/MoggiE/ftp/abs-view.pdf&quot; rel=&quot;noreferrer&quot;&gt;an abstract view of programming languages&lt;/a&gt;, discusses what should be the right notion of transformer to some extent (section 4.1). In particular, he discusses the notion of an operation for a monad, which he (20 years later) revisits with Jaskelioff in &lt;a href=&quot;http://www.disi.unige.it/person/MoggiE/ftp/tcs10.pdf&quot; rel=&quot;noreferrer&quot;&gt;monad transformers as monoid transformers&lt;/a&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;(This notion of operation is different from Plotkin and Power's notion of an &lt;a href=&quot;http://homepages.inf.ed.ac.uk/gdp/publications/sem_alg_ops.pdf&quot; rel=&quot;noreferrer&quot;&gt;algebraic operation for a monad&lt;/a&gt;, which amounts to a Kleisli arrow.)&lt;/p&gt;&#xA;" OwnerUserId="142" LastEditorUserId="142" LastEditDate="2014-09-18T10:38:11.713" LastActivityDate="2014-09-18T10:38:11.713" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25803" PostTypeId="1" CreationDate="2014-09-18T11:15:38.123" Score="0" ViewCount="180" Body="&lt;p&gt;I was wondering if there is any algorithm, theoretical or already implemented, or if its even possible at all, where, given &lt;code&gt;N&lt;/code&gt; random &lt;code&gt;points (x,y)&lt;/code&gt; we can relatively map them in a 2d array where each mapped point in the 2d-array has the property that its neighboring points (at most 8 points around it) are the closest to that point.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would also like to add an extra restriction that no node in the 2d array is &lt;code&gt;NULL&lt;/code&gt; meaning that if we have for example &lt;code&gt;N = 1 Million&lt;/code&gt; elements then the 2d array would be &lt;code&gt;sqrt(N) x sqrt(N)&lt;/code&gt; or &lt;code&gt;1000 x 1000&lt;/code&gt; dimension, where each element of that array occupies a point.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In addition, we can also consider sorting, if it can help, as of x-coordinate and as of y-coordinate...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks in advance!&lt;/p&gt;&#xA;" OwnerUserId="27276" LastEditorUserId="27276" LastEditDate="2014-09-18T12:56:15.857" LastActivityDate="2014-09-18T13:24:34.127" Title="How to map random cardesian points in a 2d array" Tags="&lt;graph-theory&gt;&lt;application-of-theory&gt;&lt;applicative&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="25804" PostTypeId="2" ParentId="25803" CreationDate="2014-09-18T13:24:34.127" Score="1" Body="&lt;p&gt;This is impossible in general.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The reason is that the grid-distance is symmetric while being closest neighbors is not a symmetric relation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you have many points ($\geq 9$) close to the origin and then a point at, say, $(M,0)$ for some large $M$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The point at $(M,0)$ has a its closest neighbors as some of the points which are closest to the origin, but these points consider it as the farthest point from them.&lt;/p&gt;&#xA;" OwnerUserId="21001" LastActivityDate="2014-09-18T13:24:34.127" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25805" PostTypeId="1" CreationDate="2014-09-18T13:59:43.487" Score="-3" ViewCount="116" Body="&lt;p&gt;I have a weighted digraph graph $G = (V,E)$ where the weights are positive and negative integers. The graph $G$ is not necessarily acyclic.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The question is: given 2 nodes $v_1$ and $v_2$, is there a path from $v_1$ to $v_2$ with a weight $w$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would like to know if there are any known complexity results for this problem, or even anything related to this &lt;strong&gt;but&lt;/strong&gt; with a specific weight, and not just shortest path, longest path etc. I have been thinking of representing the problem as in-equations in some type of linear programming, but before I start I'd like to get as much info as possible :)&lt;/p&gt;&#xA;" OwnerUserId="27279" LastEditorUserId="5693" LastEditDate="2014-09-18T14:28:58.763" LastActivityDate="2014-09-18T19:51:31.250" Title="Finding an exactly weighted st-path in a digraph" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;" AnswerCount="1" CommentCount="3" ClosedDate="2014-09-19T14:20:14.357" ContentLicense="CC BY-SA 3.0" />
  <row Id="25807" PostTypeId="2" ParentId="18965" CreationDate="2014-09-18T14:59:35.910" Score="4" Body="&lt;p&gt;Augmenting Noam's answer:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Removing the implicit currying, $f : A \to B \to C$ is the same thing as $uncurry( f) : A \times B \to C$. Strong monads $T$ give a map (two, actually!): $dblstr : T A \times T B \to T (A\times B)$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;We therefore have a map:&#xA;$ T A \times T B \xrightarrow {dblstr} T(A\times B) \xrightarrow{uncurry(f)} TC $ &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we instantiate this to the continuation monad, we obtain your construction.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Generalizing to $n$-variables, the following should work (I didn't check all the details through). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Once we choose a permutation $\pi$ over $n$, we have a $\pi$-strength morphism $str_{\pi} : T A_1 \times \cdots \times T A_n \to T(A_1 \times \cdots \times A_n)$. (The monad laws should guarantee that it doesn't matter how we associate this permutation.) Therefore, for every $n$-ary morphism $f : A_1 \times \cdots \times A_n \to C$, we can construct:&#xA;$\gamma f : TA_1 \times \cdots \times TA_n \xrightarrow{str_{\pi}} T(A_1 \times \cdots \times A_n) \xrightarrow{Tf} TC$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;But I still don't think this really gives you the answer you're looking for...&lt;/p&gt;&#xA;" OwnerUserId="142" LastEditorUserId="142" LastEditDate="2014-09-18T15:05:08.743" LastActivityDate="2014-09-18T15:05:08.743" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25808" PostTypeId="2" ParentId="25805" CreationDate="2014-09-18T15:27:03.590" Score="3" Body="&lt;p&gt;This problem is NP-complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A reduction from subset sum:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given numbers $\{x_1,\ldots,x_n\}$ and a target number $T$, construct the complete transitive acyclic graph $G=(\{x_1,\ldots,x_n\}\cup \{v_1,v_2\}, E)$,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Where $E=\{(v_1,x_i)|i\in [n]\}\cup \{(x_i,v_2)|i\in [n]\}\cup \{(x_i,x_j)|1\leq i&amp;lt;j\leq n\}$, and $w(x_i,v_2)=0$, $w(v_1,x_j)=w(x_i,x_j)=x_j$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now simply ask if there exists a $v_1\leadsto v_2$ path of weight $T$.&lt;/p&gt;&#xA;" OwnerUserId="21001" LastEditorUserId="21001" LastEditDate="2014-09-18T19:51:31.250" LastActivityDate="2014-09-18T19:51:31.250" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="25810" PostTypeId="2" ParentId="25757" CreationDate="2014-09-18T16:48:15.130" Score="20" Body="&lt;p&gt;The figure appears to come from the paper &quot;Games, Logic, and Computers&quot; by Hao Wang, which appeared in Scientific American, Volume 213, Number 5, November 1965, pages 98-106.  There is a copy online here:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.cs.virginia.edu/cs200/readings/wang.pdf&quot;&gt;http://www.cs.virginia.edu/cs200/readings/wang.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In case you're wondering how I found it, I googled 'Turing machine &quot;memory dial&quot;'.  None of my Turing machines have a memory dial, so I was hoping to learn where to buy one.&lt;/p&gt;&#xA;" OwnerUserId="3227" LastActivityDate="2014-09-18T16:48:15.130" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25814" PostTypeId="1" AcceptedAnswerId="25818" CreationDate="2014-09-19T12:25:44.627" Score="25" ViewCount="1952" Body="&lt;p&gt;&lt;a href=&quot;http://frama-c.com/acsl.html&quot; rel=&quot;nofollow&quot;&gt;ACSL&lt;/a&gt; (Ansi C Specification Language), is a specification for C code, annotated with special comments, that allows C code to be formally verified.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have not looked into it, but I imagine that the formal methods used in &lt;a href=&quot;http://frama-c.com/acsl.html&quot; rel=&quot;nofollow&quot;&gt;ACSL&lt;/a&gt; verifiers would be similar to Hoare Logic. For pure functional languages though, such as Haskell, I can't imagine what sort of formalism would be used for formal verification.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Has anyone made something similar to &lt;a href=&quot;http://frama-c.com/acsl.html&quot; rel=&quot;nofollow&quot;&gt;ACSL&lt;/a&gt;, but for a pure functional language? If not, has there been any research into specification-annotated style formal verification for functional languages? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I know that there's dependent typing, which many languages (Agda, Idris, etc...) support, but in Haskell dependent typing is difficult without doing some (unreadable?) type-wizardry. With that in mind, and since Haskell has so much better library support than Agda and Idris, I believe such a system for functional formal verification might be useful, but I don't know if research has been done on this or not.&lt;/p&gt;&#xA;" OwnerUserId="26710" LastEditorUserId="10479" LastEditDate="2014-10-11T12:54:15.170" LastActivityDate="2014-10-11T12:54:15.170" Title="Are there any annotated formal verification systems for pure functional programming languages?" Tags="&lt;lo.logic&gt;&lt;pl.programming-languages&gt;&lt;functional-programming&gt;&lt;formal-methods&gt;&lt;haskell&gt;" AnswerCount="5" CommentCount="0" FavoriteCount="14" ContentLicense="CC BY-SA 3.0" />
  <row Id="25815" PostTypeId="2" ParentId="25814" CreationDate="2014-09-19T14:33:58.880" Score="8" Body="&lt;p&gt;There is a paper in this year's &lt;a href=&quot;http://icfpconference.org/icfp2014/&quot;&gt;ICFP&lt;/a&gt;, &lt;a href=&quot;http://dl.acm.org/authorize.cfm?key=N87776&quot;&gt;refinement types for Haskell&lt;/a&gt;. The paper deals with termination checking rather than full Hoare logic, but hopefully that's a start in this direction.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The related work section in that paper contains some pointers, such as Xu, Peyton-Jones, and Claessen's &lt;a href=&quot;http://research.microsoft.com/en-us/um/people/simonpj/papers/verify/HaskellContract.ps&quot;&gt;static contract checking for Haskell&lt;/a&gt;, and Sonnex, Drossopoulou, and Eisenbach's &lt;a href=&quot;http://pubs.doc.ic.ac.uk/zenoTwo/zenoTwo.pdf&quot;&gt;Zeno&lt;/a&gt; and Vytiniotis, Peyton-Jones, Claessen, and Rosen's &lt;a href=&quot;http://research.microsoft.com/en-us/um/people/simonpj/Papers/verify/hcc-popl.pdf&quot;&gt;Halo&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="142" LastEditorUserId="142" LastEditDate="2014-09-19T14:39:25.360" LastActivityDate="2014-09-19T14:39:25.360" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25816" PostTypeId="2" ParentId="25814" CreationDate="2014-09-19T14:42:33.973" Score="15" Body="&lt;p&gt;You might want to check out &lt;a href=&quot;http://goto.ucsd.edu/~rjhala/liquid/haskell/blog/about/&quot;&gt;Liquid Haskell&lt;/a&gt;, which allow working with type &lt;em&gt;refinements&lt;/em&gt; rather than dependent types. Type refinements can be seen as a restricted logical language that allow you to express Hoare-style properties of the inhabitants of various datatypes. Another possible candidate is the &lt;a href=&quot;http://research.microsoft.com/en-us/projects/fstar/&quot;&gt;$F^*$ language&lt;/a&gt;, which offers similar constructs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There seems to be a close correspondence between refinement types and the ACSL like notations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally I can only suggest taking a closer look at Agda and Idris, as they can compile to Haskell, and are aimed at providing the user with a usable programing language (especially Idris). I suspect it's possible to integrate Haskell libraries into Idris code without too much trouble.&lt;/p&gt;&#xA;" OwnerUserId="3984" LastActivityDate="2014-09-19T14:42:33.973" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="25817" PostTypeId="2" ParentId="25814" CreationDate="2014-09-19T15:13:43.637" Score="11" Body="&lt;p&gt;See also Yann Régis-Gianas PhD thesis work with François Pottier: &lt;a href=&quot;http://cristal.inria.fr/~fpottier/publis/regis-gianas-pottier-hoarefp.pdf&quot;&gt;A Hoare Logic for Call-by-Value Functional Programs (MPC'08)&lt;/a&gt;. This work was extended to cover the usual ML side-effects by Johannes Kanig and Jean-Cristophe Filliatre in 2009: &lt;a href=&quot;http://hal.inria.fr/hal-00777585&quot;&gt;Who: A Verifier for Effectful Higher-order Programs&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="4984" LastActivityDate="2014-09-19T15:13:43.637" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25818" PostTypeId="2" ParentId="25814" CreationDate="2014-09-19T17:46:25.923" Score="13" Body="&lt;p&gt;Honda and Yoshida's &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.doc.ic.ac.uk/~yoshida/paper/polyrec.ps&quot;&gt;A Compositional Program Logic for Polymorphic Higher-Order Functions&lt;/a&gt; &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;(probably) pioneered Hoare logics for purely functional languages. This work is based&#xA;on Hennessy-Milner logic and Milner's encoding of functions into processes, as described here:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.doc.ic.ac.uk/~yoshida/paper/icfp04.ps&quot;&gt;From Process Logic to Program Logic&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The work by Régis-Gianas et al mentioned in another answer is similar to the first work above by Honda/Yoshida. This has been extended to effectful ML-style languages:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://www.sussex.ac.uk/Users/mfb21/publications/icfp05/index.html&quot;&gt;An Observationally Complete Program Logic for Imperative Higher-Order&#xA;Functions&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://www.doc.ic.ac.uk/~yoshida/paper/alias_jfp.pdf&quot;&gt;A Logical Analysis of Aliasing in Imperative Higher-Order Functions&lt;/a&gt; &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://arxiv.org/pdf/0806.2448.pdf&quot;&gt;Logical Reasoning For Higher-Order Functions With Local State&lt;/a&gt; &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://www.sussex.ac.uk/Users/mfb21/publications/fsen09&quot;&gt;Program Logics for Sequential Higher-Order Control&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://www.sussex.ac.uk/Users/mfb21/publications/lpar10&quot;&gt;Program Logics for Homogeneous Meta-Programming&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The logics mentioned are what is called observationally complete, meaning that the operational and the logical semantics coincide. &lt;a href=&quot;http://www.chargueraud.org/&quot;&gt;Arthur Charguéraud&lt;/a&gt; used this completenss&#xA;for his work on verifying functional programs Hoare-style in Coq.&lt;/p&gt;&#xA;" OwnerUserId="898" LastActivityDate="2014-09-19T17:46:25.923" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25820" PostTypeId="1" AcceptedAnswerId="25821" CreationDate="2014-09-19T21:17:16.427" Score="2" ViewCount="604" Body="&lt;p&gt;Is there a way to create a max flow graph such that it satisfies the condition that a flow either saturates an edge or completely avoids it. It can't have half its flow through one edge and half through another edge.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can this be formulated as a max flow problem with a polynomial time solution or is this problem hard?&lt;/p&gt;&#xA;" OwnerUserId="17736" LastActivityDate="2014-09-24T22:37:31.570" Title="Max flow: either saturate an edge or avoids" Tags="&lt;graph-algorithms&gt;&lt;time-complexity&gt;&lt;max-cut&gt;&lt;max-flow&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25821" PostTypeId="2" ParentId="25820" CreationDate="2014-09-19T21:51:50.287" Score="9" Body="&lt;p&gt;This problem is NP-hard.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Reduction from &lt;em&gt;PARTITION&lt;/em&gt;:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a set of numbers $S=\{x_1,\ldots,x_n\}$, construct the following flow network:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$V = \{s,v,t\}\cup \{x_1,\ldots,x_n\}$$&#xA;$$E = \{(s,x_i) | x_i\in S\} \cup \{(x_i,v)|x_i\in S\} \cup \{(v,t)\}$$&#xA;$$c((s,x_i))=c((x_i,v))=x_i\ \ \ c((v,t))=\frac{\sum_{i\in[n]}{x_i}}{2}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$S$ is partitionable iff there exist &quot;saturate edge or avoid&quot; flow of value $c((v,t))$.&lt;/p&gt;&#xA;" OwnerUserId="21001" LastEditorUserId="21001" LastEditDate="2014-09-24T22:37:31.570" LastActivityDate="2014-09-24T22:37:31.570" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25825" PostTypeId="1" AcceptedAnswerId="29222" CreationDate="2014-09-21T03:31:21.740" Score="1" ViewCount="196" Body="&lt;p&gt;What is the significance of the Quantum Cheshire Cat to Quantum Computing? To recap, the Quantum Cheshire Cat experiment proved it was possible to separate a neutrons' spin from the neutron. Or, in other words a particle could lose its properties in special circumstances. What would the implications be to quantum computing? Does it mean measurements to the system be more accurate, as the properties of the system are isolated from external influences? When reasoning about this experiment by way of Quantum Computing, would one look at the results of the experiment with Quantum Communication (one could always look the fidelity, or even capacity of the quantum channel as enhanced) as a model or any other models would be apt to study the experiments' effects?  &lt;/p&gt;&#xA;" OwnerUserId="27305" LastEditorUserId="9722" LastEditDate="2015-01-19T21:07:34.643" LastActivityDate="2015-02-20T12:18:01.810" Title="What is the Quantum Cheshire Cat experiments' import to Quantum Computing?" Tags="&lt;quantum-computing&gt;&lt;quantum-information&gt;" AnswerCount="1" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="25827" PostTypeId="1" AcceptedAnswerId="25835" CreationDate="2014-09-21T22:40:43.433" Score="13" ViewCount="703" Body="&lt;p&gt;Given a group $G$ of permutations on $[n]=\{1, \cdots, n\}$, and two vectors $u,v\in \Gamma^n$ where $\Gamma$ is a finite alphabet which is not quite relevant here, the question is whether there exists some $\pi\in G$ such that $\pi(u)=v$ where $\pi(u)$ means applying the permutation $\pi$ on $u$ in an expected way. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose further that $G$ is given, as the input, by a finite set $S$ of generators. What's the complexity of the problem? In particular, is it in NP?&lt;/p&gt;&#xA;" OwnerUserId="27313" LastEditorUserId="129" LastEditDate="2014-10-04T23:28:10.547" LastActivityDate="2014-10-04T23:28:10.547" Title="Complexity of permutation related problems" Tags="&lt;cc.complexity-theory&gt;&lt;graph-isomorphism&gt;&lt;permutations&gt;" AnswerCount="2" CommentCount="5" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="25828" PostTypeId="1" CreationDate="2014-09-22T07:44:50.843" Score="4" ViewCount="258" Body="&lt;p&gt;I have read about the principles of constructive mathematics, for example, the principle of excluded middle is not allowed, and now I want to do some exercises to increase my understanding of the subject. As a student in computer science, I have a background in programming, and I was wondering if programming in a language like Haskell would help in this endeavor? If not Haskell, then which programming language is best suited for learning constructive math?&lt;/p&gt;&#xA;" OwnerUserId="24164" LastEditorUserId="976" LastEditDate="2014-09-22T19:49:47.150" LastActivityDate="2014-09-23T14:39:13.580" Title="Can programming help one understand constructive mathematics?" Tags="&lt;functional-programming&gt;&lt;haskell&gt;&lt;constructive-mathematics&gt;" AnswerCount="2" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25829" PostTypeId="1" CreationDate="2014-09-22T08:11:39.667" Score="2" ViewCount="168" Body="&lt;p&gt;Almost all regular graphs with degree $k^2$ are $k+1$ colorable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The near absence (finitude) of adjacent small cycles in random regular graphs as $N$ (the size of the graph) grows may help imply the truth, but any proof looks far away.&#xA;The conjecture is empirically true for $k=3$ (i.e. Almost all 9-regular graphs are 4 colorable).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does this conjecture have a name, or better yet, is it true? &lt;/p&gt;&#xA;" OwnerUserId="10130" LastEditorUserId="10130" LastEditDate="2014-09-22T09:46:35.627" LastActivityDate="2014-09-22T09:46:35.627" Title="Regular graph coloring conjecture" Tags="&lt;graph-theory&gt;" AnswerCount="0" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="25831" PostTypeId="2" ParentId="25828" CreationDate="2014-09-22T09:00:40.540" Score="8" Body="&lt;p&gt;&lt;a href=&quot;http://wiki.portal.chalmers.se/agda/pmwiki.php&quot;&gt;Agda&lt;/a&gt; is a dependently typed programming language and/or proof assistant for Martin-Löf type theory. Programming in Agda feels very much like programming in Haskell. For example, inductive proofs are written as recursive functions with multiple equations that pattern match on the function arguments. So programming and/or proving in Agda is a good way to learn about constructive mathematics coming from a (functional) programming background.&lt;/p&gt;&#xA;" OwnerUserId="22209" LastActivityDate="2014-09-22T09:00:40.540" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25833" PostTypeId="1" AcceptedAnswerId="25834" CreationDate="2014-09-22T21:09:17.873" Score="0" ViewCount="93" Body="&lt;p&gt;In Lewis's and Papadimitriou's book &quot;Elements of the Theory of Computation&quot; the transition table is a function $\delta: Q \setminus F \times \Gamma \rightarrow Q \times (\Gamma \cup \{L,R\})$. However, according to Wikipedia (and pretty much everywhere else) it's $\delta: Q \setminus F \times \Gamma \rightarrow Q \times \Gamma \times \{L,R\}$. The difference is that in the first case you can't write and move at the same time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the same book, a language $L$ is recursively enumerable if there is a TM so that: $w \in L \iff$ the TM halts on $w$. Note that in this book the TM only has halting states. In wikipedia, halting states are actually also accepting states. I also came across TM definitions where there is a distinction between accepting and rejecting states. In these cases, the definition of a recursively enumerable language changes to &quot;... the TM accepts $w$&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now it's obvious that in both cases all definitions are obviously perfectly equivalent. I'd like to know which defintions have prevailed so that I can follow those.&lt;/p&gt;&#xA;" OwnerUserId="27325" LastActivityDate="2014-09-22T22:05:44.660" Title="Conflicting definitions regarding TM and Recursively Enumerable languages" Tags="&lt;computability&gt;&lt;turing-machines&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25834" PostTypeId="2" ParentId="25833" CreationDate="2014-09-22T22:05:44.660" Score="4" Body="&lt;p&gt;I wouldn't say that one definition has &quot;prevailed&quot;.  If you look at the literature and textbooks, you'll see a large variety of definitions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Different definitions might be useful in different contexts.  For example, if you're actually trying to program up a TM (for whatever reason) then the more expressive they are, the easier to program.  On the other hand, if you're trying to prove a lower bound or uncomputability result, picking the weakest TM might make life easier.  And the busy beaver function, for example, is usually defined relative to a fairly weak model.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'd just recommend you use any model you feel comfortable with and tell the reader of your paper that is what you are using.&lt;/p&gt;&#xA;" OwnerUserId="3227" LastActivityDate="2014-09-22T22:05:44.660" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="25835" PostTypeId="2" ParentId="25827" CreationDate="2014-09-23T00:29:55.383" Score="11" Body="&lt;p&gt;Let $g_1, \ldots, g_k, g \in S_n$ where $S_n$ is the permutation group on $n$ elements. Testing whether $g \in \langle g_1, \ldots, g_k \rangle$ can be done in $\text{NC} \subseteq \text{P}$ by [1]. Let $u, v \in \Gamma^n$, then simply guess $g \in S_n$, test in polynomial time whether $g \in G$ and whether $g(u) = v$. This yields an $\text{NP}$ upper bound.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To complement this answer:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Group membership was shown to belong to $\text{P}$ (Furst et al. 1980), then to&#xA;  $\text{NC}^3$ for abelian groups (McKenzie &amp;amp; Cook 1987; Mulmuley&#xA;  1987), to $\text{NC}$ for nilpotent groups (Luks &amp;amp; McKenzie 1988), solvable&#xA;  groups (Luks &amp;amp; McKenzie 1988), groups with bounded non-abelian&#xA;  composition factors (Luks 1986), and finally all groups (Babai et al.&#xA;  1987). A similar complexity classification of  aperiodic monoids&#xA;  membership owes to (Beaudry 1988; Beaudry et al. 1992; Kozen 1977),&#xA;  who show that membership for any fixed aperiodic monoid variety is&#xA;  either in $\text{AC}^0$ , in $\text{P}$, in $\text{NP}$, or in $\text{PSPACE}$ (and complete for&#xA;  that class with very few exceptions).&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;[1]&lt;/strong&gt; L. Babai, E. M. Luks &amp;amp; A. Seress. Permutation groups in NC. Proc. $19^\text{th}$ annual ACM symposium on Theory of computing, pp. 409-420, 1987.&lt;/p&gt;&#xA;" OwnerUserId="508" LastEditorUserId="508" LastEditDate="2014-09-23T05:01:07.577" LastActivityDate="2014-09-23T05:01:07.577" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="25837" PostTypeId="2" ParentId="25827" CreationDate="2014-09-23T03:27:17.640" Score="10" Body="&lt;p&gt;Your problem is known as ($\Gamma$-)string $G$-isomorphism. It is in a fairly narrow class of problems around Graph Isomorphism: it's at least as hard as GI, and is in $\mathsf{NP} \cap \mathsf{coAM}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Reduction from GI: let $N = \binom{n}{2}$, and let $G \leq S_N$ be the induced action of $S_n$ on pairs. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\mathsf{coAM}$ protocol: Arthur randomly chooses an element of $G$ (I'm not sure this can be done exactly uniformly, but I think the known algorithms get close enough to uniform for this result) and applies it to both $u$ and $v$. With probability 1/2 he swaps $u$ and $v$, then presents them to Merlin and asks which was which.&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2014-09-23T03:27:17.640" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="25838" PostTypeId="1" AcceptedAnswerId="29075" CreationDate="2014-09-23T10:21:49.963" Score="5" ViewCount="678" Body="&lt;p&gt;What is the point of linear languages? They appear to be an intermediate set of languages in between regular and context-free languages, but do they have any useful or nice properties that either have been studied, or make them worthwhile to study?&lt;/p&gt;&#xA;" OwnerUserId="22140" LastActivityDate="2015-01-08T13:14:18.970" Title="What is the importance of linear languages?" Tags="&lt;fl.formal-languages&gt;&lt;automata-theory&gt;&lt;grammars&gt;" AnswerCount="1" CommentCount="6" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="25839" PostTypeId="2" ParentId="6437" CreationDate="2014-09-23T13:26:34.523" Score="1" Body="&lt;p&gt;What about something like Peano numbers :&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;S    -&amp;gt; int&#xA;int  -&amp;gt; zero&#xA;int  -&amp;gt; succ&#xA;zero -&amp;gt; &quot;0&quot;&#xA;succ -&amp;gt; &quot;#&quot; int&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;it will recognize any string ( number ) of this form :&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;0   // zero&#xA;#0  // one&#xA;##0 // two&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;and it should return a nested structure, with the deepness being the number.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But it starts getting complicated when one wants to implements just say addition :&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;S    -&amp;gt; int&#xA;int  -&amp;gt; sum&#xA;int  -&amp;gt; zero&#xA;int  -&amp;gt; succ&#xA;zero -&amp;gt; &quot;0&quot;&#xA;succ -&amp;gt; &quot;#&quot; int&#xA;sum  -&amp;gt; int &quot;+&quot; int&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;It makes perfectly sense in that it will only recognize well formed ints like this :&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;#####0 + ####0&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;But this grammar introduce a split in the parse tree whenever there is a sum, so instead of having a nice one-branched tree, that directly maps to a number, we have the structure of the expression, still a few computations away from the effective value. So no computation is done, only recognition. The trouble may not be the grammar but the parser. One may instead use something else, idk...&#xA;Another point that comes to mind is the adequacy of grammar formalism to express computation. When you look a Peano's axiom ( in Haskell-like notation ) :&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;1) Nat = Zero&#xA;2) Nat = Succ Nat&#xA;3) Sum ( Succ X ) ( Y ) = Succ ( X + Y )&#xA;4) Sum Zero X = X&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;The third rule explicitly states a transformation. Could anyone imagine to carry to same amount of meaning in a context-free grammar rule. And if so, how !?&lt;/p&gt;&#xA;" OwnerUserId="25443" LastActivityDate="2014-09-23T13:26:34.523" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25841" PostTypeId="1" CreationDate="2014-09-23T14:11:59.747" Score="33" ViewCount="5474" Body="&lt;p&gt;I have a very strong base in algebra, namely&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;commutative algebra,&lt;/li&gt;&#xA;&lt;li&gt;homological algebra,&lt;/li&gt;&#xA;&lt;li&gt;field theory,&lt;/li&gt;&#xA;&lt;li&gt;category theory,&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;and I am currently learning algebraic geometry.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am a math major with an inclination to switch to theoretical computer science. Keeping the above mentioned fields in mind, which field would be the most appropriate field in theoretical computer science to which to switch? That is, in which field can the theory and mathematical maturity obtained by pursuing the above fields be used to one's advantage?&lt;/p&gt;&#xA;" OwnerUserId="19582" LastEditorUserId="4193" LastEditDate="2014-09-24T19:24:36.093" LastActivityDate="2018-04-05T13:38:07.457" Title="Algebra oriented branch of theoretical computer science" Tags="&lt;soft-question&gt;&lt;algebra&gt;&lt;advice-request&gt;&lt;ct.category-theory&gt;" AnswerCount="12" CommentCount="2" FavoriteCount="19" ContentLicense="CC BY-SA 3.0" />
  <row Id="25842" PostTypeId="2" ParentId="25841" CreationDate="2014-09-23T14:19:41.453" Score="15" Body="&lt;p&gt;Your knowledge of field theory would be useful in cryptography, while category theory is heavily used in the research on programming languages and typing systems, both of which are closely related to the foundations of mathematics.&lt;/p&gt;&#xA;" OwnerUserId="898" LastActivityDate="2014-09-23T14:19:41.453" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25843" PostTypeId="2" ParentId="25828" CreationDate="2014-09-23T14:39:13.580" Score="2" Body="&lt;p&gt;Maybe take a look at the textbook &lt;a href=&quot;http://www.cis.upenn.edu/~bcpierce/sf/current/index.html&quot; rel=&quot;nofollow&quot;&gt;Software Foundations&lt;/a&gt;, which uses the proof assistant &lt;a href=&quot;http://coq.inria.fr/&quot; rel=&quot;nofollow&quot;&gt;Coq&lt;/a&gt;. I don't think the focus is really on &quot;learning constructive math&quot;, but it does develop the programming tools. On the other end of the spectrum is the &lt;a href=&quot;http://homotopytypetheory.org/book/&quot; rel=&quot;nofollow&quot;&gt;Homotopy Type Theory Book&lt;/a&gt;, which is very theoretical about constructive math, but doesn't include programming per se (I think). I don't know if there's a book in the middle, that focuses on proof assistants for constructive math.&lt;/p&gt;&#xA;" OwnerUserId="8243" LastActivityDate="2014-09-23T14:39:13.580" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25844" PostTypeId="2" ParentId="25841" CreationDate="2014-09-23T14:55:43.343" Score="27" Body="&lt;p&gt;There have been recent developments in &lt;a href=&quot;http://ncatlab.org/nlab/show/Martin-L%C3%B6f+dependent+type+theory&quot;&gt;dependent type theory&lt;/a&gt; which relate &lt;a href=&quot;http://ncatlab.org/nlab/show/type+theory&quot;&gt;type systems&lt;/a&gt; to &lt;a href=&quot;http://ncatlab.org/nlab/show/homotopy+type&quot;&gt;homotopy types&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is now a relatively small field, but there is a lot of exciting work being done right now, and potentially a lot of low hanging fruit, most notably in &lt;a href=&quot;http://homotopytypetheory.org/2013/12/09/new-writeup-of-pinsn/&quot;&gt;porting results from algebraic topology&lt;/a&gt; and &lt;a href=&quot;http://homotopytypetheory.org/2014/04/15/eilenberg-maclane-spaces-in-hott/&quot;&gt;homological algebra&lt;/a&gt; and formalizing the notion of &lt;a href=&quot;http://ncatlab.org/nlab/show/higher+inductive+type&quot;&gt;higher inductive types&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="3984" LastActivityDate="2014-09-23T14:55:43.343" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="25845" PostTypeId="2" ParentId="25841" CreationDate="2014-09-23T15:18:02.347" Score="4" Body="&lt;p&gt;&lt;a href=&quot;http://www.cis.upenn.edu/%7Ebyorgey/hosted/thesis.pdf&quot; rel=&quot;nofollow&quot;&gt;Brent Yorgey's thesis&lt;/a&gt;, while still just a draft, does an amazing job at explaining why your interests are relevant to TCS. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is &lt;a href=&quot;https://www.youtube.com/watch?v=sr_cpQ58R0E&quot; rel=&quot;nofollow&quot;&gt;Joyal's talk&lt;/a&gt; this past April on related material.&lt;/p&gt;&#xA;" OwnerUserId="2021" LastEditorUserId="2021" LastEditDate="2014-09-24T20:46:22.323" LastActivityDate="2014-09-24T20:46:22.323" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="25846" PostTypeId="2" ParentId="25841" CreationDate="2014-09-23T17:49:40.440" Score="25" Body="&lt;p&gt;Algebraic geometry is used heavily in algebraic complexity theory and in particular in geometric complexity theory. Representation theory is also crucial for the latter, but it's even more useful when combined with algebraic geometry and homological algebra. &lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2014-09-23T17:49:40.440" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25848" PostTypeId="2" ParentId="25841" CreationDate="2014-09-24T01:19:10.077" Score="11" Body="&lt;p&gt;Field theory and algrebraic geometry would be useful in topics related to error correcting codes, both in the classical setting as well as in studying locally decodable codes and list decoding. I believe this goes back to work on the Reed-Solomon and Reed-Muller codes, which was then generalized to algebraic geometric codes. See for example, this &lt;a href=&quot;http://www.win.tue.nl/~ruudp/paper/31.pdf&quot;&gt;book chapter&lt;/a&gt; on the classical coding theory view of algebraic geometric codes, this &lt;a href=&quot;http://research.microsoft.com/en-us/um/people/yekhanin/papers/survey_iwcc.pdf&quot;&gt;brief survey&lt;/a&gt; on locally decodable codes, and &lt;a href=&quot;http://people.csail.mit.edu/madhu/papers/1998/venkat-journ.pdf&quot;&gt;this famous paper&lt;/a&gt; about list-decoding Reed-Solomon and, more generally, algebraic-geometry codes.&lt;/p&gt;&#xA;" OwnerUserId="4896" LastEditorUserId="4896" LastEditDate="2014-09-24T14:11:11.143" LastActivityDate="2014-09-24T14:11:11.143" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25849" PostTypeId="1" CreationDate="2014-09-24T02:03:36.367" Score="7" ViewCount="289" Body="&lt;p&gt;Given an undirected  graph $G$  with $n$ vertices,  $m$ edges, and positive weights on the edges, I am interested in the problem of computing for each vertex the $k$ distinct vertices in $G$ that are closest to it on the shortest-path distances in $G$. There is a solution that follows by modifying Dijkstra, where the running time is $k$ times the running time of the standard Dijkstra. Anybody knows a ref to this result? Should I bother to write this down?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;thanks....&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt; I wrote down my algorithm in case anybody is interested... &#xA;&lt;a href=&quot;http://sarielhp.org/p/14/k_nn/&quot; rel=&quot;nofollow&quot;&gt;http://sarielhp.org/p/14/k_nn/&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="9594" LastEditorUserId="9594" LastEditDate="2015-04-02T03:06:46.583" LastActivityDate="2016-06-18T20:46:46.527" Title="Ref question: K-nearest neighbours in a graph" Tags="&lt;reference-request&gt;&lt;shortest-path&gt;" AnswerCount="2" CommentCount="8" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="25850" PostTypeId="1" AcceptedAnswerId="25853" CreationDate="2014-09-24T03:40:35.723" Score="2" ViewCount="452" Body="&lt;p&gt;I'm trying to understand the connections between a few different concepts fundamental to dependent type theory.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Dependent functions (&lt;span class=&quot;math-container&quot;&gt;$\Pi$&lt;/span&gt;-types)&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Including non-dependent functions (&lt;span class=&quot;math-container&quot;&gt;$A \rightarrow B$&lt;/span&gt;)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;Dependent pairs (&lt;span class=&quot;math-container&quot;&gt;$\Sigma$&lt;/span&gt;-types)&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Including non-dependent products (&lt;span class=&quot;math-container&quot;&gt;$A \times B$&lt;/span&gt;)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;Coproducts (&lt;span class=&quot;math-container&quot;&gt;$A + B$&lt;/span&gt;)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;em&gt;Homotopy Type Theory&lt;/em&gt; says the following about &lt;span class=&quot;math-container&quot;&gt;$\Sigma$&lt;/span&gt;s and &lt;span class=&quot;math-container&quot;&gt;$\Pi$&lt;/span&gt;s:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;[ &lt;span class=&quot;math-container&quot;&gt;$\Sigma$&lt;/span&gt; ] is called a &lt;strong&gt;dependent pair type&lt;/strong&gt;, or &lt;span class=&quot;math-container&quot;&gt;$\Sigma$&lt;/span&gt;-&lt;strong&gt;type&lt;/strong&gt;, because in set theory it corresponds to an indexed sum (in the sense of a coproduct or disjoint union) over a given type.&lt;/p&gt;&#xA;&lt;p&gt;The name &amp;quot;&lt;span class=&quot;math-container&quot;&gt;$\Pi$&lt;/span&gt;-type&amp;quot; is used because this type can also be regarded as the cartesian product over a given type&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;(I don't think I fully understand this point)&lt;/p&gt;&#xA;&lt;p&gt;In a non-dependent setting I'm accustomed to calling coproducts &amp;quot;sums&amp;quot; because the number of inhabitants of a coproduct is the sum of its constituent types' inhabitants - &lt;span class=&quot;math-container&quot;&gt;$|A+B| = |A| + |B|$&lt;/span&gt;. Likewise I call dependent pairs &amp;quot;products&amp;quot; because &lt;span class=&quot;math-container&quot;&gt;$|(A,B)| = |A| \cdot |B|$&lt;/span&gt;. Also functions can be called exponentials - &lt;span class=&quot;math-container&quot;&gt;$|A \rightarrow B| = |B|^{|A|}$&lt;/span&gt;!&lt;/p&gt;&#xA;&lt;p&gt;Now for the question.&lt;/p&gt;&#xA;&lt;p&gt;Why does it make sense in Type Theory to use &lt;span class=&quot;math-container&quot;&gt;$\Sigma$&lt;/span&gt; for products and &lt;span class=&quot;math-container&quot;&gt;$\Pi$&lt;/span&gt; for exponentials? It seems like everything is shifted between non-dependent and dependent types.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;sums approximately correspond to dependent coproducts&lt;/li&gt;&#xA;&lt;li&gt;products approximately correspond to dependent sums&lt;/li&gt;&#xA;&lt;li&gt;exponentials approximately correspond to dependent products&lt;/li&gt;&#xA;&lt;li&gt;what about dependent exponentials?&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;What's the deeper connection?&lt;/p&gt;&#xA;" OwnerUserId="4126" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2014-09-24T20:09:24.413" Title="Dependent Sums and Products" Tags="&lt;type-theory&gt;&lt;dependent-type&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="25851" PostTypeId="1" AcceptedAnswerId="25880" CreationDate="2014-09-24T09:00:11.317" Score="13" ViewCount="1067" Body="&lt;p&gt;I am reading the &lt;a href=&quot;http://research.microsoft.com/pubs/64624/tr-2005-112.pdf&quot; rel=&quot;noreferrer&quot;&gt;&quot;Fast Paxos&quot; paper&lt;/a&gt; by Leslie Lamport and get stuck with the correctness proofs of both classic Paxos and Fast Paxos.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For consistency, the value $v$ picked by the coordinator in phase $2a$ in round $i$ should satisfy&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;$CP(v,i):$ For any round $j &amp;lt; i$, no value other than $v$ has been or might yet be chosen in round $j$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;For classic Paxos&lt;/strong&gt;, the proof (Page 8) is split into three cases: $k &amp;lt; j &amp;lt; i$, $j = k$, and $j &amp;lt; k$, where $k$ is largest round number in which some acceptor has reported to the coordinator by phase $1b$ message. I failed to understand the argument for the third case:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Case $j &amp;lt; k$. We can &lt;em&gt;assume by induction&lt;/em&gt; that property $CP$ held when acceptor $a_0$ voted for $v$ in round $k$. This implies that no value other than $v$ has been or might yet be chosen in round $j$. &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;My question is:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;ol&gt;&#xA;  &lt;li&gt;Why can we assume that property $CP$ held when acceptor $a_0$ voted for $v$ in round $k$? &lt;/li&gt;&#xA;  &lt;/ol&gt;&#xA;  &#xA;  &lt;p&gt;It seems that we are using mathematical induction, therefore, what are the basis, inductive hypothesis, and inductive steps?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;For Fast Paxos&lt;/strong&gt;, the same argument (Page 18) goes on. It says,&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Case $j &amp;lt; k$. For any $v$ in $V$, no value other than $v$ has been or might yet be chosen in round $j$. &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;My question is:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;ol start=&quot;2&quot;&gt;&#xA;  &lt;li&gt;How is this obtained? &lt;strong&gt;In particular, why is &quot;For any $v$ in $V$&quot; here?&lt;/strong&gt;&lt;/li&gt;&#xA;  &lt;/ol&gt;&#xA;  &#xA;  &lt;p&gt;In my opinion, the correctness proof of the case $j &amp;lt; k$ relies (recursively) on those of cases of $k &amp;lt; j &amp;lt; i$ and $j = k$.   &lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;Therefore, how can we conclude the case $j &amp;lt; k$ without first proving $j = k$ completely (namely, missing the subcase of $j = k$ where $V$ contains more than one value)? &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="12739" LastEditorUserId="12739" LastEditDate="2014-09-27T02:40:28.800" LastActivityDate="2014-09-27T02:40:28.800" Title="Correctness proofs of classic Paxos and Fast Paxos" Tags="&lt;ds.algorithms&gt;&lt;dc.distributed-comp&gt;&lt;proofs&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="25853" PostTypeId="2" ParentId="25850" CreationDate="2014-09-24T10:20:06.787" Score="13" Body="&lt;p&gt;I think what's confusing you is that $A \times B$ is &lt;em&gt;both&lt;/em&gt; a product and a coproduct:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;It is the product of two factors, namely $A$ and $B$.&lt;/li&gt;&#xA;&lt;li&gt;It is the coproduct of $A$-many copies of $B$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Once you realize this, you will see that we can obtain $A \times B$ as both a $\sum$ and a $\prod$:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Take $P : \mathtt{bool} \to \mathsf{Type}$ where $P(\mathtt{false}) = A$ and $P(\mathtt{true}) = B$. Then&#xA;$$\sum_{b : \mathtt{bool}} P(b) \simeq A + B$$&#xA;and&#xA;$$\prod_{b : \mathtt{bool}} P(b) \simeq A \times B$$&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Take $Q : A \to \mathsf{Type}$ where $P(x) = B$ for all $x : A$. Then&#xA;$$\sum_{x : A} Q(x) \simeq A \times B$$&#xA;and&#xA;$$\prod_{x : A} Q(x) \simeq (A \to B)$$&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;We should therefore &lt;em&gt;not&lt;/em&gt; pay attention to $A \times B$ when deciding on a good naming scheme for these two constructs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The dependent exponential is &lt;em&gt;exactly&lt;/em&gt; a dependent product.&lt;/p&gt;&#xA;" OwnerUserId="705" LastEditorUserId="705" LastEditDate="2014-09-24T20:09:24.413" LastActivityDate="2014-09-24T20:09:24.413" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25854" PostTypeId="2" ParentId="25849" CreationDate="2014-09-24T10:32:21.567" Score="2" Body="&lt;p&gt;In &lt;a href=&quot;http://dl.acm.org/citation.cfm?doid=1141277.1141291&quot; rel=&quot;nofollow&quot;&gt;Victor Teixeira de Almeida, Ralf Hartmut Güting: Using Dijkstra's algorithm to incrementally find the k-Nearest Neighbors in spatial network databases. SAC 2006: 58-62&lt;/a&gt;, Teixeira and Güting describe a new storage schema with a set of indexed structures to support an efficient&#xA;execution of a slightly modified version of the Dijkstra's algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the introduction they simply use the reference to the original Dijkstra's paper:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;... An obvious modification on Dijkstra's algorithm &#xA;[&lt;em&gt;reference to the original Dijkstra's 1967 paper&lt;/em&gt;] that computes shortest path between objects could be done in order to compute the k-NN using the network space.&#xA;But, in this case, sepcial storage schemas are necessary in order to&#xA;efficiently support this algorithm. In this paper, ...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So I think you can use the same approach: if your work is NOT focused on a new variant of a k-NN algorithm you can simply mention it and cite Dijkstra's paper; otherwise you should also include other references on the subject; I think there are many of them because the k-NN problem is important, for example, in navigation systems; googling around I found: Fast Nearest Neighbor Search on Road Networks, Alternative Solutions for Continuous K-NN Queries in Spatial Network Databases, ...&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2014-09-24T10:39:37.970" LastActivityDate="2014-09-24T10:39:37.970" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="25855" PostTypeId="1" AcceptedAnswerId="25870" CreationDate="2014-09-24T11:27:30.690" Score="19" ViewCount="592" Body="&lt;p&gt;Plenty of hard graph problems are solvable in polynomial time on &lt;a href=&quot;http://en.wikipedia.org/wiki/Treewidth&quot; rel=&quot;nofollow noreferrer&quot;&gt;graphs of bounded treewidth&lt;/a&gt;. Indeed, textbooks typically use e.g. independet set as an example, which is a &lt;em&gt;local problem&lt;/em&gt;. Roughly, a local problem is a problem whose solution can be verified by examining some small neighborhood of every vertex.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Interestingly, even problems (such as Hamiltonian path) of a &lt;em&gt;global nature&lt;/em&gt; can still be solved efficiently for bounded treewidth graphs. For such problems, usual dynamic programming algorithms have to keep track of all the ways in which the solution can traverse the corresponding separator of the tree decomposition (see e.g. [1]). Randomized algorithms (based on so-called cut'n'count) were given in [1], and improved (even deterministic) algorithms were developed in [2].&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I don't know if it's fair to say that many, but at least some global problems can be solved efficiently for graphs of bounded treewidth. So what about problems that remain hard on such graphs? I'm assuming they are also of a global nature, but what else? What separates these hard global problems from global problems that &lt;em&gt;can&lt;/em&gt; be solved efficiently? For instance, how and why would known methods fail to give us efficient algorithms for them?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, one could consider the following problem(s):&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Edge precoloring extension&lt;/strong&gt; Given a graph $G$ with some edges colored, decide if this coloring can be extended to a proper $k$-edge-coloring of the graph $G$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Edge precoloring extension (and its list edge coloring variant) is NP-complete for bipartite series-parallel graphs [3] (such graphs have treewidth at most 2).&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Minimum sum edge coloring&lt;/strong&gt; Given a graph $G=(V,E)$, find an edge-coloring $\chi : E \to \mathbb{N}$ such that if $e_1$ and $e_2$ have a common vertex, then $\chi(e_1) \neq \chi(e_2)$. The objective is to minimize $E'_\chi(E) = \sum_{e \in E} \chi(e)$, the sum of the coloring.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;In other words, we have to assign positive integers to the edges of a graph such that adjacent edges receive different integers and the sum of the assigned numbers is minimal. This problem is NP-hard for partial 2-trees [4] (i.e. graphs of treewidth at most 2). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Other such hard problems include the edge-disjoint paths problem, the subgraph isomorphism problem, and the bandwidth problem (see e.g. [5] and the references therein). For problems that remain hard even on trees, see &lt;a href=&quot;https://cstheory.stackexchange.com/questions/1215/np-hard-problems-on-trees&quot;&gt;this question&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;[1] &lt;a href=&quot;http://arxiv.org/pdf/1103.0534.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Cygan, M., Nederlof, J., Pilipczuk, M., van Rooij, J. M., &amp;amp; Wojtaszczyk, J. O. (2011, October). Solving connectivity problems parameterized by treewidth in single exponential time. In Foundations of Computer Science (FOCS), 2011 IEEE 52nd Annual Symposium on (pp. 150-159). IEEE.&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] &lt;a href=&quot;http://link.springer.com/chapter/10.1007/978-3-642-39206-1_17&quot; rel=&quot;nofollow noreferrer&quot;&gt;Bodlaender, H. L., Cygan, M., Kratsch, S., &amp;amp; Nederlof, J. (2013). Deterministic single exponential time algorithms for connectivity problems parameterized by treewidth. In Automata, Languages, and Programming (pp. 196-207). Springer Berlin Heidelberg.&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[3] &lt;a href=&quot;http://sziami.cs.bme.hu/~dmarx/papers/planar-edge-prext.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Marx, D. (2005). NP‐completeness of list coloring and precoloring extension on the edges of planar graphs. Journal of Graph Theory, 49(4), 313-324.&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[4] &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0166218X08001819&quot; rel=&quot;nofollow noreferrer&quot;&gt;Marx, D. (2009). Complexity results for minimum sum edge coloring. Discrete Applied Mathematics, 157(5), 1034-1045.&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[5] &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0166218X01002232&quot; rel=&quot;nofollow noreferrer&quot;&gt;Nishizeki, T., Vygen, J., &amp;amp; Zhou, X. (2001). The edge-disjoint paths problem is NP-complete for series–parallel graphs. Discrete Applied Mathematics, 115(1), 177-186.&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="5693" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.743" LastActivityDate="2014-09-25T12:29:42.727" Title="What separates easy global problems from hard global problems on graphs of bounded treewidth?" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;treewidth&gt;" AnswerCount="3" CommentCount="1" FavoriteCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="25858" PostTypeId="2" ParentId="25841" CreationDate="2014-09-24T13:54:57.070" Score="7" Body="&lt;p&gt;There are some problems in computational learning theory, machine learning and computer vision that can be solved using commutative algebra and algebraic geometry. For instance, convergence of the Belief Propagation algorithm, a message passing algorithm for Bayesian inference, can be formulated in terms of &lt;a href=&quot;http://www.researchgate.net/publication/264057820_Master_Thesis_Tarkus_Belief_Propagation_On_Message_Passing_Algorithms_and_Computational_Commutative_Algebra&quot;&gt; characterizing the affine variety of system of polynomial equations&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="27340" LastActivityDate="2014-09-24T13:54:57.070" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25860" PostTypeId="2" ParentId="25841" CreationDate="2014-09-24T16:25:09.983" Score="6" Body="&lt;p&gt;Have you thought about looking at computer algebra? Axiom is a computer algebra system where the type system is modelled after Category Theory (or Universal Algebra, depending on your view). There are two further derivatives of Axiom &lt;a href=&quot;http://fricas.sourceforge.net/&quot; rel=&quot;noreferrer&quot; title=&quot;FriCAS&quot;&gt;FriCAS&lt;/a&gt; and &lt;a href=&quot;http://www.open-axiom.org/&quot; rel=&quot;noreferrer&quot; title=&quot;Open Axiom&quot;&gt;OpenAxiom&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you're interested in Category Theory, then the type system may be one thing to look at.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In Axiom, every &quot;item&quot; (e.g. &quot;1&quot;, &quot;5*x**2 + 1&quot;) is an element of a Domain. A &quot;Domain&quot; is an Axiom object declared to be a member of a particular Category (e.g. Integer, Polynomial(Integer). An Axiom Category is an Axiom object declared to be a member of the distinguished symbol &quot;Category&quot; (e.g. Ring, Polynomial(R,E,V)).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is an inheritance lattice for the multiple-inheritance amongst Categories. e.g. The Category Monad inherits from SetCategory, Monoid from Monad, Group from Monoid, etc., etc.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is also a higher-order polymorphism, a bit like Generics in Java.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Several actions within Axiom can be viewed as Functors, but that would be rather a lot to go into here!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you just wish to use Axiom without worrying about Category Theory, as a typical end user, then a symbolic computation system is exactly the right piece of software for looking into individual algebras. &lt;/p&gt;&#xA;" OwnerUserId="27344" LastActivityDate="2014-09-24T16:25:09.983" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25861" PostTypeId="2" ParentId="17958" CreationDate="2014-09-24T17:42:13.807" Score="1" Body="&lt;p&gt;the &lt;a href=&quot;http://rosettacode.org/wiki/Rosetta_Code&quot; rel=&quot;nofollow&quot;&gt;Rosetta Code&lt;/a&gt; repository has been used for a new comprehensive scientific/ academic study of language succinctness among other comparisons of properties. announced at &lt;a href=&quot;http://se.inf.ethz.ch/people/nanz/research/rosettacode.html&quot; rel=&quot;nofollow&quot;&gt;&quot;Analyzing Programming Languages using Rosetta Code&quot;&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://arxiv.org/abs/1409.0252&quot; rel=&quot;nofollow&quot;&gt;A Comparative Study of Programming Languages in Rosetta Code&lt;/a&gt; Nanz/ Furia&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Sometimes debates on programming languages are more religious than scientific. Questions about which language is more succinct or efficient, or makes developers more productive are discussed with fervor, and their answers are too often based on anecdotes and unsubstantiated beliefs. In this study, we use the largely untapped research potential of Rosetta Code, a code repository of solutions to common programming tasks in various languages, to draw a fair and well-founded comparison. Rosetta Code offers a large data set for analysis. Our study is based on 7087 solution programs corresponding to 745 tasks in 8 widely used languages representing the major programming paradigms (procedural: C and Go; object-oriented: C# and Java; functional: F# and Haskell; scripting: Python and Ruby). Our statistical analysis reveals, most notably, that: functional and scripting languages are more concise than procedural and object-oriented languages; C is hard to beat when it comes to raw speed on large inputs, but performance differences over inputs of moderate size are less pronounced and allow even interpreted languages to be competitive; compiled strongly-typed languages, where more defects can be caught at compile time, are less prone to runtime failures than interpreted or weakly-typed languages. We discuss implications of these results for developers, language designers, and educators,&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2014-09-24T17:42:13.807" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25862" PostTypeId="1" CreationDate="2014-09-24T21:21:20.793" Score="3" ViewCount="57" Body="&lt;p&gt;There are successes with an increasing numbers of individual computational units in GPUs or as processor cores. Given someone made the effort to build a &lt;em&gt;huge array of processors&lt;/em&gt; which - however - can only &lt;em&gt;communicate locally&lt;/em&gt; with their neighbors (let's say on a hex grid in 2D - not arbitrary distance connections), how will time complexities of algorithms change and which algorithms will profit and which will never be fast enough?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let's assume the &lt;em&gt;number of processors is allowed to scale up as O(N)&lt;/em&gt;. Probably many physics simulation can get a significant boost, however, some problems might require complex interaction between all parts of the data such that the time complexity cannot get below some limit. Are there results for this kind of problem?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;PS: I have general math and computation knowledge, but I will try to understand technical details as much as possible :)&lt;/p&gt;&#xA;" OwnerUserId="17246" LastActivityDate="2014-09-24T21:21:20.793" Title="Limits of parallel computing with local connections?" Tags="&lt;time-complexity&gt;&lt;dc.parallel-comp&gt;" AnswerCount="0" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="25864" PostTypeId="1" AcceptedAnswerId="25873" CreationDate="2014-09-25T05:16:59.217" Score="4" ViewCount="1197" Body="&lt;p&gt;Consider a fixed finite alphabet $A$. I am given as input two strings $S_1$ and $S_2$ on $A$, and a string $S$ on $A$. It is of course possible in PTIME to determine whether $S_1$ is a (non-contiguous) subsequence of $S$, and likewise for $S_2$. But now I ask whether I can have matches $m_1$ and $m_2$ of $S_1$ and $S_2$ as subsequences of $S$ ($m_k$ for $k \in \{1, 2\}$ is a &lt;em&gt;strictly increasing&lt;/em&gt; function from $\{1, \ldots, |S_k|\}$ to $\{1, \ldots, |S|\}$ such that, for all $i$, $S_k[i]$ and $S[m_k(i)]$ are the same letter) such that $m_1$ and $m_2$ are &lt;em&gt;disjoint&lt;/em&gt; (that is, their images are disjoint). Intuitively, no character of $S$ matches $S_1$ and $S_2$ simultaneously.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a PTIME algorithm to determine this (in the size of the input $S_1, S_2, S$), or can it be shown to be NP-hard? I would suspect it is NP-hard but I cannot see a reduction.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In case it is in PTIME, what about the straightforward generalization, for a constant $k$, where $k$ strings are given as input and I ask for the existence of pairwise disjoint matches of all $k$ strings?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(This problem is a bit related to &lt;a href=&quot;https://cstheory.stackexchange.com/questions/34/how-hard-is-unshuffling-a-string&quot;&gt;How hard is unshuffling a string?&lt;/a&gt; except the candidate strings can be different, are provided as input, and are not required to cover the entire string $S$.)&lt;/p&gt;&#xA;" OwnerUserId="4795" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2014-10-02T12:29:46.267" Title="Can two strings be matched as disjoint subsequences of a string?" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;string-matching&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="25865" PostTypeId="1" AcceptedAnswerId="25883" CreationDate="2014-09-25T05:59:34.347" Score="10" ViewCount="317" Body="&lt;p&gt;Using the real-RAM/BSS model, we have the class NP$_{\mathbb{R}}$,   (where a &lt;a href=&quot;http://en.wikipedia.org/wiki/Blum%E2%80%93Shub%E2%80%93Smale_machine&quot; rel=&quot;nofollow&quot;&gt;BSS&lt;/a&gt; is the Blum-Shub-Smale model of a computer with operations over reals). We have NP$_{\mathbb{R}}$ complete problems. So, the question is&#xA;is there an analog of the Berman Hartmanis conjecture for the class NP$_{\mathbb{R}}$? Of course, the question posed here is dependent on the model - in other words, as the definition of NP$_\mathbb{R}$ uses the BSS model, do all of NP$_{\mathbb{R}}$-complete problems have the same structure using the BSS model(this approximates the Berman-Hartmanis conjecture for NP over reals)?&lt;/p&gt;&#xA;" OwnerUserId="27305" LastEditorUserId="129" LastEditDate="2014-10-14T18:42:55.913" LastActivityDate="2014-10-14T18:42:55.913" Title="Berman-Hartmanis Isomorphism for NP$_{\mathbb{R}}$?" Tags="&lt;cc.complexity-theory&gt;&lt;computing-over-reals&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="25866" PostTypeId="1" CreationDate="2014-09-25T08:52:34.307" Score="3" ViewCount="106" Body="&lt;p&gt;I was wondering if there is any efficient (possibly armortized poly-logarithmic) online algorithm which supports counting (identification) of bridges- and non-bridges online, i.e. during a sequence of edge insertions and deletions for fixed set of vertices? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have been using the algorithm presented in Schmidt's &quot;A Simple Test on 2-Vertex- and 2-Edge-Connectivity&quot;, c.f. &lt;a href=&quot;http://arxiv.org/abs/1209.0700&quot; rel=&quot;nofollow&quot;&gt;ArXiv&lt;/a&gt;, which is not online but a linear-time algorithm. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand I have also played around with a fully-dynamic connectivity algorithm, presented &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=502095&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;. The problem here is that albeit the algorithm allows connectivity queries in poly-logarithmic time, to be able to say something about whether an edge is a bridge I actually need to perform a deletion and see if the connectivity changed. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Because my goal is to determine the number of bridges (or non-bridges) online, I would need to perform a deletion process for all bridges... And that can destroy the poly-logarithmic time complexity.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any ideas?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Many thanks&lt;/p&gt;&#xA;" OwnerUserId="27354" LastActivityDate="2014-09-25T08:52:34.307" Title="Online bridge and nonbridge counting (identification)" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;dynamic-algorithms&gt;" AnswerCount="0" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="25867" PostTypeId="2" ParentId="25855" CreationDate="2014-09-25T09:37:52.443" Score="11" Body="&lt;p&gt;My suggestion would be to look carefully at &lt;a href=&quot;https://en.wikipedia.org/wiki/Courcelle&amp;#39;s_theorem&quot;&gt;Courcelle's theorem&lt;/a&gt;, that problems expressible in (certain extensions of) monadic second order logic have FPT algorithms when parameterized by treewidth. My suspicion is that this covers many or most of the known examples of FPT problems for these graphs. In this view, your local/global distinction seems to be closely related to the distinction between problems expressible in existential MSO vs problems that have higher levels of quantification in their MSO formulations. To return to your actual question, lack of an MSO formulation (which can be proven unconditionally in many cases using ideas related to the &lt;a href=&quot;https://en.wikipedia.org/wiki/Myhill%E2%80%93Nerode_theorem&quot;&gt;Myhill–Nerode theorem&lt;/a&gt;) would be evidence towards lack of an FPT algorithm (harder to prove without complexity theoretic assumptions).&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2014-09-25T09:37:52.443" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25868" PostTypeId="1" AcceptedAnswerId="25878" CreationDate="2014-09-25T09:43:25.447" Score="17" ViewCount="614" Body="&lt;p&gt;Given the symmetry group $S_n$ and two subgroups $G, H\leq S_n$, and $\pi\in S_n$, does $G\pi\cap H=\emptyset$ hold?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As far as I know, the problem is known as the coset intersection problem. I am wondering what's the complexity? In particular, is this problem known to be in coAM?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Moreover, if $H$ is restricted to be abelian, what does the complexity become?&lt;/p&gt;&#xA;" OwnerUserId="21036" LastEditorUserId="129" LastEditDate="2014-10-14T01:14:30.157" LastActivityDate="2015-12-24T09:58:22.473" Title="Complexity of the coset intersection problem" Tags="&lt;cc.complexity-theory&gt;&lt;graph-isomorphism&gt;&lt;gr.group-theory&gt;" AnswerCount="2" CommentCount="4" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="25869" PostTypeId="2" ParentId="25855" CreationDate="2014-09-25T10:02:42.867" Score="5" Body="&lt;p&gt;I think one of such examples is the sparsest cut problem. Uniform sparsest cut problem is &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S1570866711001110#&quot; rel=&quot;nofollow&quot;&gt;solvable&lt;/a&gt; on graphs of bounded tree width but weighted sparsest cut problem is not &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=2488644&quot; rel=&quot;nofollow&quot;&gt;even approximable&lt;/a&gt; (better than 17/16) in graphs of bounded treewidth.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are many different variants of sparsest cut problem but one of the well known one is as follows.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a graph $G=(V,E)$ and a weight function $w:E(G)\rightarrow N$, find an edge cut $E(S,V\setminus S) \subseteq E(G)$ for $S \subset V$ such that $\frac{W(E(S,V\setminus S))}{|S||V\setminus S|}$ is minimized over all possible such cuts. (for $E'\subseteq E(G)$ we have $W(E')=\sum_{e\in E'}w(e)$, also we can simply change the problem definition to decision version).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The main ingredient is made of two things:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Additional functions, like here the weight function. But still there are some problems with weight function that are not very hard in undirected graphs of bounded tree width.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The nature of the sparsest cut problem. Actually existence of more than one dependency for dynamic programming in the definition of the problem. Intuitively the good solution is the one that we partition a graph (by removing some edges) into two almost equal size, on the other hand in this partition we delete as fewest number of edges that we use. The reason that the problem is hard in bounded treewidth graph is that we should apply dynamic programming in two direction, but both directions are depended to each other.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;In general, if the problem is in such a way that needs more than one dimension for dynamic programming and also those dimensions are depended to each other then the problem has potential to be hard in graphs of bounded tree width. We can see this pattern in both of problems in the question as well as for the sparsest cut problem. (In the first problem we want to keep previous coloring on the other hand keep coloring as small as possible, in the second problem obviously there are two functions which are dependent to each other)&lt;/p&gt;&#xA;" OwnerUserId="1846" LastEditorUserId="1846" LastEditDate="2014-09-25T12:29:42.727" LastActivityDate="2014-09-25T12:29:42.727" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25870" PostTypeId="2" ParentId="25855" CreationDate="2014-09-25T10:23:44.350" Score="16" Body="&lt;p&gt;Most algorithms for graphs of bounded treewidth are based on some form of dynamic programming. For these algorithms to be efficient, we need to bound the number of states in the dynamic programming table: if you want a polynomial-time algorithm, then you need a polynomial number of states (e.g., n^tw), if you want to show that the problem is FPT, you usually want to show that the number of states is some function of treewidth. The number of states typically corresponds to the number of different types of partial solutions when breaking the graph at some small separator. Thus a problem is easy on bounded-treewidth graphs usually because partial solutions interacting with the outside world via a bounded number of vertices have only a bounded number of types. For example, in the independent set problem the type of a partial solution depends only on which boundary vertices are selected. In the Hamiltonian cycle problem, the type of a partial solution is described by how the subpaths of the partial solution match the vertices of the boundary to each other. &#xA;Variants of Courcelle's Theorem give sufficient conditions for a problem to have the property that partial solutions have only a bounded number of types. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If a problem is hard on bounded-treewidth graphs, then it is usually because of one of the following three reasons. &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;There are interactions in the problem not captured by the graph. For example, Steiner Forest is NP-hard on graphs of treewidth 3, intuitively because the source-destination pairs create interactions between nonadjacent vertices.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Elisabeth Gassner: The Steiner Forest Problem revisited. J. Discrete Algorithms 8(2): 154-163 (2010)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;MohammadHossein Bateni, Mohammad Taghi Hajiaghayi, Dániel Marx: Approximation Schemes for Steiner Forest on Planar Graphs and Graphs of Bounded Treewidth. J. ACM 58(5): 21 (2011)&lt;/p&gt;&#xA;&#xA;&lt;ol start=&quot;2&quot;&gt;&#xA;&lt;li&gt;&lt;p&gt;The problem is defined on the edges of the graph. Then even if a part of the graph is attached to the rest of the graph via a bounded number of vertices, there could be many edges incident to those few vertices and then the state of a partial solution can be described only by describing the state of all these edges. This is what made the problems in [3,4] hard.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Each vertex can have a large number of different states. For example, Capacitated Vertex Cover is W[1]-hard parameterized by treewidth, intuitively because the description of a partial solution involves not only stating which vertices of the separator were selected, but also stating how many times each selected vertex of the separator was used to cover edges.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Michael Dom, Daniel Lokshtanov, Saket Saurabh, Yngve Villanger: Capacitated Domination and Covering: A Parameterized Perspective. IWPEC 2008: 78-90&lt;/p&gt;&#xA;" OwnerUserId="3189" LastActivityDate="2014-09-25T10:23:44.350" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="25872" PostTypeId="1" AcceptedAnswerId="25889" CreationDate="2014-09-25T15:03:31.013" Score="0" ViewCount="336" Body="&lt;p&gt;I was following the textbook by David Mackay: &lt;a href=&quot;http://www.cs.toronto.edu/~mackay/itprnn/book.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;&lt;em&gt;Information theory inference and learning algorithms&lt;/em&gt;&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have question on Shannon's source coding theorem (p81):&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;$N$ i.i.d. random variables each with entropy $H(x)$ can be compressed into more than $N \cdot H(x)$ bits with negligible risk of information loss, as $N \to\infty$; &lt;strong&gt;conversely if they are compressed into fewer than $N \cdot H(x)$ bits it is virtually certain that information will be lost.&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;My question is the bold part of the above: what happens when you go below $N \cdot H(x)$ bits?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is an example in the textbook (p77), where he shows that, as $N$ increases, the average entropy per symbol approaches $H(X)$, for a risk tolerance $0 \lt \delta \lt 1$. (So it becomes flatter as indicated on the diagram.) Therefore,  $N \cdot H(x)$ is the number of bits you can compress no matter how much risk tolerance you are willing to take.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the definition above, however, it is saying that information will be lost if you go below $N \cdot H(X)$. My question is, how much information will be lost?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/nRWBw.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;I found something on the web regarding this question: &lt;a href=&quot;http://www.kim-bostroem.de/Library/Notes/Shannon.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://www.kim-bostroem.de/Library/Notes/Shannon.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is saying that for each symbol, if you compress below $H(x)$ bits, then               for $N \to\infty$, we will lose all the information. Can someone please confirm this?&lt;/p&gt;&#xA;" OwnerUserId="27361" LastEditorUserId="3984" LastEditDate="2014-09-25T22:23:44.353" LastActivityDate="2014-09-27T23:33:27.803" Title="Source Coding Theorem: what happen when we go below N*H(x) bits?" Tags="&lt;it.information-theory&gt;&lt;coding-theory&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="25873" PostTypeId="2" ParentId="25864" CreationDate="2014-09-25T15:29:06.640" Score="4" Body="&lt;p&gt;&lt;strong&gt;Case k=2&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Perhaps you can use the following polynomial time dynamic approach:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Keep a table $T_i$ of $(|S_1|+1)(|S_2|+1)$ pairs, in which element $(x,y)=1$ if and only if after scanning $i$ elements of the reference string $S$, $x$ characters of $S_1$ have been found, and $y$ characters of $S_2$ have been found (without overlaps).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Every pair of the table $T_0 (i=0)$ is zero except for the pair $(0,0)=1$.&#xA;Copy $T_i$ to $T_{i+1}$ and read the next character $c=S[i+1]$  from $S$; if in $T_i$ there is an entry $(x,y)=1$ such that $S[x+1]=c$ then in $T_{i+1}$ set $(x+1,y)=1$; if in $T_i$ there is an entry $(x',y')=1$ such that $S[y'+1]=c$ then in $T_{i+1}$ set $(x',y'+1)=1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;At the end of the scan, $S$ contains the merged distinct copies of $S_1$ and $S_2$ if and only if $(|S_1|,|S_2|)=1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Simple example:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;S  =  a b a a c&#xA;S1 =  a a c&#xA;S2 =  b a  &#xA;&#xA;S    0,0  0,1  0,2 1,0 1,1 1,2 2,0 2,1 2,2 3,0 3,1 3,2&#xA;     1    0    0   0   0   0   0   0   0   0   0   0  &amp;lt; T0&#xA;a    1    0    0   1   0   0   0   0   0   0   0   0  &amp;lt; T1&#xA;b    1    1    0   1   1   0   0   0   0   0   0   0  &amp;lt; T2&#xA;a    1    1    1   1   1   1   1   1   0   0   0   0  &amp;lt; T3   &#xA;a    1    1    1   1   1   1   1   1   1   0   0   0  &amp;lt; T4       &#xA;c    1    1    1   1   1   1   1   1   1   1   1  [1] &amp;lt; T5&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Case k fixed&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The same approach above can be used for any fixed $k &amp;gt;2$ (the table size grows polynomially).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Case k not fixed&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $k$ strings are given as input, and $k$ is NOT FIXED: in that case there is a quick reduction from the 3-PARTITION problem which is strongly NP-complete, so it remains NPC even when the input numbers are represented in unary.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a set of $A = \{x_1,x_2,...,x_{3m}\}$ of $3m$ positive integers (that can be specified in unary), and a target sum $B$ we must find $m$ disjoint subsets $A_1,A_2,...,A_m \subseteq A$ of $3$ elements ($|A_i|=3$), and the sum of the elements of each subset must be $B$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Over alphabet $\{a,b,c\}$, set:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&quot;reference&quot; string $S = a^3 \; b^B\; c^3 \; a^3 \; b^B\; c^3 \; ... a^3 \; b^B\; c^3 \;$ ($a^3 b^B c^3$ repeated $m$ times)&lt;/li&gt;&#xA;&lt;li&gt;for $i = 1,...,3m$ set string $S_i = a \; b^{x_i} \; c$&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Informally: the $a^3$ parts of $S$ force to match $3$ of the $S_i$s (otherwise some $S_i$ will not be included); the $c^3$ parts force to &quot;close&quot; $3$ of the $S_i$s. And the  $b^B$ blocks (there are $m$ of them) must be filled exactly with the $b^{x_i}$ substrings of $3$ distinct $S_i$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Small example:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;3-PARTITION instance: $A = \{ 3,  2, 1, 5, 4, 3\}, B=9, (m=2)$&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;S  = aaa bbbbbbbbb ccc aaa bbbbbbbbb ccc&#xA;S1 = a bbb c&#xA;S2 = a bb c&#xA;S3 = a b c&#xA;S4 = a bbbbb c&#xA;S5 = a bbbb c&#xA;S6 = a bbb c&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2014-10-02T12:29:46.267" LastActivityDate="2014-10-02T12:29:46.267" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="25876" PostTypeId="2" ParentId="25868" CreationDate="2014-09-25T18:32:45.787" Score="9" Body="&lt;p&gt;Consider the complement, i.e. where you are asked to test whether $G \pi \cap H \not= \emptyset$. As I pointed out in &lt;a href=&quot;https://cstheory.stackexchange.com/questions/25827/complexity-of-permutation-related-problems/25835#25835&quot;&gt;this answer&lt;/a&gt;, testing whether $g \in \langle g_1, \ldots, g_k\rangle$ is in $\text{NC} \subseteq \text{P}$ [1]. So you can guess $g, h \in S_n$ and test in polynomial time whether $g \in G$, $h \in H$ and $g \pi = h$. This yields an $\text{NP}$ upper bound and, therefore, your problem is in $\text{coNP}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit&lt;/strong&gt;: It is shown in [2, Thm. 15] that the coset intersection problem is in $\text{NP} \cap \text{coAM}$. As noted &lt;a href=&quot;http://www.mathunion.org/ICM/ICM1990.2/Main/icm1990.2.1479.1490.ocr.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;here&lt;/a&gt;, p. 7, the coset intersection problem is therefore not NP-complete, unless the polynomial time hierarchy collapses. Moreover, it is noted &lt;a href=&quot;http://www.mathunion.org/ICM/ICM1990.2/Main/icm1990.2.1479.1490.ocr.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;here&lt;/a&gt;, p. 6, that it was shown by Luks that the problem is in $\text{P}$ when $H$ is solvable, which include the case of $H$ abelian.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] &lt;a href=&quot;http://ix.cs.uoregon.edu/~luks/NC.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;L. Babai, E. M. Luks &amp;amp; A. Seress. &lt;em&gt;Permutation groups in NC&lt;/em&gt;. Proc. 19th annual ACM symposium on Theory of computing, pp. 409-420, 1987.&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2]  &lt;a href=&quot;http://crypto.cs.mcgill.ca/~crepeau/COMP647/2007/TOPIC01/AMgames-Babai-Moran.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;L. Babai, S. Moran. &lt;em&gt;Arthur-Merlin games: A randomized proof system, and a hierarchy of complexity classes&lt;/em&gt;. Journal of Computer and System Sciences, vol. 36, issue 2, pp. 254-276, 1988.&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="508" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2014-09-28T01:38:38.943" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="25878" PostTypeId="2" ParentId="25868" CreationDate="2014-09-25T22:58:48.053" Score="11" Body="&lt;p&gt;Moderately exponential time and $\mathsf{coAM}$ (for the opposite of the problem as stated: Coset Intersection is typically considered to have a &quot;yes&quot; answer if the cosets intersect, opposite of how it's stated in the OQ.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://dx.doi.org/10.1145/301250.301427&quot; rel=&quot;nofollow&quot;&gt;Luks 1999&lt;/a&gt; (&lt;a href=&quot;http://ix.cs.uoregon.edu/~luks/StocHyper.pdf&quot; rel=&quot;nofollow&quot;&gt;free author's copy&lt;/a&gt;) gave a $2^{O(n)}$-time algorithm, while Babai (see his 1983 Ph.D. thesis, also &lt;a href=&quot;http://doi.ieeecomputersociety.org/10.1109/SFCS.1983.10&quot; rel=&quot;nofollow&quot;&gt;Babai-Kantor-Luks FOCS 1983&lt;/a&gt;, and a to-appear journal version) gave a $2^{\tilde{O}(\sqrt{n})}$-time algorithm, which remains the best known to date. Since graph isomorphism reduces to quadratic-sized coset intersection, improving this to $2^{\tilde{O}(n^{1/4-\epsilon})}$ would improve the state of the art for graph isomorphism. &lt;/p&gt;&#xA;" OwnerUserId="129" LastEditorUserId="129" LastEditDate="2014-10-07T18:08:59.687" LastActivityDate="2014-10-07T18:08:59.687" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25880" PostTypeId="2" ParentId="25851" CreationDate="2014-09-26T04:34:15.293" Score="10" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;Why can we assume that property CP held when acceptor a0 voted for v in round k? It seems that we are using mathematical induction, therefore, what are the basis, inductive hypothesis, and inductive steps?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;You're looking at an instance of &lt;em&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Mathematical_induction#Complete_induction&quot;&gt;strong induction&lt;/a&gt;&lt;/em&gt;. In simple induction you assume the property holds for $n=m$ and prove it holds for $n=m+1$. In strong induction you assume the property holds for $\forall n: n&amp;lt;m$ and prove it holds for $n=m+1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Basis&lt;/strong&gt; (I believe): $j = 0$. That is, the null round (since rounds start at 1). This is trivially true, which is probably why it was not stated explicitly.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Inductive step&lt;/strong&gt;: Assume $\forall n, n \le j : CP(v; n)$; prove $CP(v; j+1)$ where $j &amp;lt; i$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Believe it or not, this is only a &lt;em&gt;proof sketch&lt;/em&gt;. The real proof is in the &lt;em&gt;Part Time Parliament&lt;/em&gt; paper. (Some consider the paper cryptic, others consider it humorous.)&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;How is this obtained?&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;In my opinion, the correctness proof of the case $j&amp;lt;k$ relies (recursively) on those of cases of $k&amp;lt;j&amp;lt;i$ and $j=k$.&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;Therefore, how can we conclude the case $j&amp;lt;k$ without first proving $j=k$ completely (namely, missing the subcase of $j=k$ where $V$ contains more than one value)? &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;This is again strong induction, so the case $j&amp;lt;k$ does rely on the cases of $k&amp;lt;j$ and $j=k$, but &lt;em&gt;through the induction hypothesis&lt;/em&gt;, namely from the previous Paxos round.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;General tips for Lamport's proofs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Lamport uses a technique of hierarchical proofs. For example, the structure of the proof on pages 7-8 looks somewhat like this:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Assume $\forall n, n \le j : CP(v; n)$; prove $CP(v; j+1)$ where $j &amp;lt; i$.&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Observation 1&lt;/li&gt;&#xA;&lt;li&gt;Observation 2&lt;/li&gt;&#xA;&lt;li&gt;Observation 3&lt;/li&gt;&#xA;&lt;li&gt;$k = argmax (...)$&lt;/li&gt;&#xA;&lt;li&gt;case k = 0&lt;/li&gt;&#xA;&lt;li&gt;case k &gt; 0&#xA;&lt;ul&gt;&#xA;&lt;li&gt;case k &amp;lt; j&lt;/li&gt;&#xA;&lt;li&gt;case k = j&lt;/li&gt;&#xA;&lt;li&gt;case j &amp;lt; k&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Lamport tends to use another type of hierarchy. He'll prove a simpler algorithm, and then prove that a more complex algorithm &lt;em&gt;maps onto&lt;/em&gt; (or &lt;em&gt;&quot;extends&quot;&lt;/em&gt;) the simpler algorithm. This doesn't seem to be happening on page 18, but it is something to look out for. (The proof on page 18 appears to be a &lt;em&gt;modification&lt;/em&gt; of the proof a pages 7-8; not an &lt;em&gt;extension&lt;/em&gt; of it.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Lamport relies heavily on &lt;a href=&quot;http://en.wikipedia.org/wiki/Mathematical_induction#Complete_induction&quot;&gt;strong induction&lt;/a&gt;; he also tends to think in terms of &lt;em&gt;sets&lt;/em&gt; instead of numbers. So you may get empty sets where others would have zeros or nulls; or set unions where others would have addition.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Proving correctness of asynchronous message-passing systems needs an omniscient view of the system with respect to &lt;em&gt;time&lt;/em&gt;. For example, when considering actions in round $i$, keep in mind that the actions for some round $j &amp;lt; i$ &lt;em&gt;may not have happened temporally!&lt;/em&gt;. And yet Lamport states these potentially future events in past tense.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Lamports systems and proofs tend to have a variable or set of variables that are only allowed to go in one direction; only incrementing numbers and only adding to sets. This is used extensively in his proofs. For example, on page 8 Lamport shows how he neutered the future ability of $a$ to cast another vote:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;...Since it set $rnd[a]$ to $i$ upon sending a message, $a$ could not subsequently have cast a vote in any round numbered less than $i$....&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;It's definitely a brain-stretcher to prove these kinds of systems.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;(update)&lt;/strong&gt;: List out the invariants; Lamport uses a lot of invariants when developing and his proofs. They are sometimes scattered throughout the proofs; sometimes they are only present in the machine-checked proof. Reason about each invariant; why is it there? How does it interact with the other invariants? How does each step in the system keep this invariant?&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Full disclosure&lt;/strong&gt;: I hadn't read &lt;em&gt;Fast Paxos&lt;/em&gt; until I was asked to answer this question; and only looked at the pages cited. I'm an engineer and not a mathematician; my brush with Lamport's work is based purely on the need to correctly invent and maintain large-scale distributed systems.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My answer relies heavily on my experience with Lamport's work. I have read several of Lamport's protocols and proofs; I professionally maintain a paxos-based system; I have written and proven a high-throughput consensus protocol, and again professionally maintain a system based on it (I'm trying to get my company to allow me to publish a paper). I &lt;em&gt;have&lt;/em&gt; collaborated on an insignificant paper with Lamport, in which I met with him thrice (the paper is still pending peer review.) &lt;/p&gt;&#xA;" OwnerUserId="22461" LastEditorUserId="22461" LastEditDate="2014-09-26T17:31:36.523" LastActivityDate="2014-09-26T17:31:36.523" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="25883" PostTypeId="2" ParentId="25865" CreationDate="2014-09-26T20:07:42.730" Score="8" Body="&lt;p&gt;Depending on which version of $\mathsf{NP}_{\mathbb{R}}$ you use, yes or it's open. When one considers BSS machines that only use addition and subtaction, and only branch on equality, the answer is yes. If one includes branching on $&amp;lt;$, I believe it is still open, and the same if one allows multiplications. For details, see &lt;a href=&quot;http://dx.doi.org/10.1016/S0020-0190(97)00060-4&quot; rel=&quot;nofollow&quot;&gt;Cucker, Koiran, and Matamala &quot;Complexity and dimension,&quot; Inform. Proc. Lett. 1997&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="129" LastEditorUserId="129" LastEditDate="2014-10-07T18:09:06.233" LastActivityDate="2014-10-07T18:09:06.233" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="25886" PostTypeId="1" CreationDate="2014-09-27T05:07:17.260" Score="4" ViewCount="169" Body="&lt;p&gt;The publication of Chiang and Tamassia's &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download;jsessionid=6A84CE6A6AAFAADE17FA3608269BF318?doi=10.1.1.50.8622&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;nofollow&quot;&gt;paper&lt;/a&gt; on dynamic algorithms in computational geometry included several algorithms used in solving dynamic computational geometry problems such as:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Dynamic Range Searching&lt;/li&gt;&#xA;&lt;li&gt;Dynamic Point Enclosure&lt;/li&gt;&#xA;&lt;li&gt;Dynamic Set Intersection&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;And others.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What are some open problems in dynamic computational geometry currently that have good static algorithms but worse dynamic algorithms? I am especially interested in algorithms that use priority queues in the static solution.&lt;/p&gt;&#xA;" OwnerUserId="17736" LastActivityDate="2014-09-27T05:07:17.260" Title="Problems in dynamic algorithms in computational geometry" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;cg.comp-geom&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25889" PostTypeId="2" ParentId="25872" CreationDate="2014-09-27T21:02:10.770" Score="3" Body="&lt;p&gt;It's not clear exactly what your question is. What the textbook is talking about is the &lt;em&gt;strong converse&lt;/em&gt; to Shannon's source coding theorem, but &lt;em&gt;rate distortion theory&lt;/em&gt; is another part of information theory relevant to this.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The &lt;em&gt;strong converse&lt;/em&gt; says that if you try to compress information to fewer bits than the entropy, the probability that &lt;em&gt;all&lt;/em&gt; of the information is restored correctly goes to zero as $N$ goes to $\infty$ (the theorem also gives you a bound on this probability).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Rate distortion theory&lt;/em&gt; answers the question: I have a signal that I want to compress to a length that is shorter than its entropy. How small an amount of distortion can I introduce into the signal to ensure that I can recover it with high probability? You can use this theory with an arbitrary formula for distortion (and there is a nice formula if the distortion is given by a single-symbol equation). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;And of course, if you compress the source to $K$ bits, than you can choose $K/H(X)$ symbols of the original to keep and discard all the others.&lt;/p&gt;&#xA;" OwnerUserId="1677" LastEditorUserId="1677" LastEditDate="2014-09-27T23:33:27.803" LastActivityDate="2014-09-27T23:33:27.803" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="25890" PostTypeId="1" CreationDate="2014-09-27T21:35:37.323" Score="6" ViewCount="185" Body="&lt;p&gt;&lt;a href=&quot;https://stackoverflow.com/questions/3271256/implement-an-immutable-deque-as-a-balanced-binary-tree/3274355#3274355&quot;&gt;There are a number of purely functional deques that support $O(1)$ operations at each end&lt;/a&gt;. None that I know of are &quot;uniquely represented&quot; - deques with the same number of items can have different shapes. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the imperative case, doubly-linked lists are uniquely represented deques with constant-time operations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://alexandria.tue.nl/repository/notdare/772185.pdf&quot; rel=&quot;nofollow&quot;&gt;Hoogerwoord, in &quot;A Logarithmic Implementation of Flexible Arrays&quot;&lt;/a&gt;, showed that Braun trees have logarithmic deque operations, and they are purely functional and uniquely represented.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a deterministic uniquely represented purely functional deque with $o(\log n)$ operations? &lt;/p&gt;&#xA;" OwnerUserId="43" LastEditorUserId="43" LastEditDate="2014-09-29T09:10:26.217" LastActivityDate="2014-09-29T09:10:26.217" Title="Purely functional uniquely-represented deques" Tags="&lt;ds.data-structures&gt;&lt;functional-programming&gt;" AnswerCount="0" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="25892" PostTypeId="1" CreationDate="2014-09-27T22:44:59.903" Score="2" ViewCount="130" Body="&lt;p&gt;I asked &lt;a href=&quot;https://mathoverflow.net/questions/181840/strong-dependence&quot;&gt;this question on MO&lt;/a&gt;, but no answer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I don't know if this definition has been already given. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose $X$ and $Y$ are two random variables over finite alphabets $\mathcal{X}$ and $\mathcal{Y}$. We say $Y$ is &lt;em&gt;strongly dependent&lt;/em&gt; on $X$ if for &lt;em&gt;any&lt;/em&gt; real-valued non-degenerate function acting on $\mathcal{Y}$, $f(Y)$ is also dependent on $X$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here I need to assume that $f(Y)$ is non-degenerate because if $f$ is a constant function then $f(Y)$ in independent of both $X$ and $Y$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;What can we know about $P_{XY}$ if $Y$ is strongly dependent on $X$? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any necessary and sufficient condition for $Y$ being strongly dependent on $X$?    &lt;/p&gt;&#xA;" OwnerUserId="21925" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.530" LastActivityDate="2014-10-09T20:28:20.887" Title="Strong Dependence" Tags="&lt;reference-request&gt;&lt;pr.probability&gt;&lt;it.information-theory&gt;&lt;st.statistics&gt;" AnswerCount="0" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="25893" PostTypeId="1" CreationDate="2014-09-28T06:30:39.977" Score="2" ViewCount="319" Body="&lt;p&gt;I was following the textbook by David Mackay: &lt;a href=&quot;http://www.cs.toronto.edu/~mackay/itprnn/book.pdf&quot; rel=&quot;nofollow&quot;&gt;&lt;em&gt;Information theory inference and learning algorithms&lt;/em&gt;&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have question on asymptotic equiparition' principle:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;For an ensemble of $N$ $i.i.d$ random variables $X^N=(X_1,X_2....X_N),$ with $N$ sufficiently large, the outcome $x=(x_1,x_2...x_N)$ is almost certain to belong to a subset of $|A_x^N|$ having only $2^{NH(x)}$ members, with each member having probability  &quot;close-to&quot; $2^{-NH(x)}$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;And then in the textbook, it also says that &lt;strong&gt;typical set doesn't necessarily contain the most probable element set.&lt;/strong&gt; &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Because the &quot;smallest-sufficient set&quot; $S_{\delta}$ which is defined as:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;the smallest subset of of $A_x$ satisfying  $P(x\epsilon S_{\delta})\ge 1-\delta $, for $0\leq{\delta}\leq1. $  In other words, $S_{\delta}$ is constructed by taking the most probable elements in $A_x$, then the second probable......until the total probabily is  $\ge1-{\delta}$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;My question is, &lt;strong&gt;as $N$ increases, does $S_{\delta}$ approaches typical set such that these two sets will end up being equivalent of each other?&lt;/strong&gt; If the size of the typical set is identical to the size of $|S_{\delta}|$,  then why are we even bother with $S_{\delta}$? Why can't we just take the typical set as our compression scheme instead?&lt;/p&gt;&#xA;" OwnerUserId="27361" LastEditorUserId="27361" LastEditDate="2014-09-29T01:34:46.900" LastActivityDate="2014-09-29T01:34:46.900" Title="Question about &quot;typical set&quot; in Shannon's source coding theorem" Tags="&lt;it.information-theory&gt;&lt;coding-theory&gt;&lt;encoding&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="25895" PostTypeId="1" AcceptedAnswerId="25903" CreationDate="2014-09-28T15:09:55.657" Score="1" ViewCount="686" Body="&lt;p&gt;Let $N$ be a flow network with nodes $V$ and edges $E$. For technical reasons, the source side of a minimum $s$-$t$ cut $(A,B)$ with $s \in A$ and $t \in B$ is defined as $A - \{s\}$. Now, let $\mathcal{R}(N)$ be the set of the source sides of all minimum $s$-$t$ cuts of $N$. $\mathcal{R}(N)$ is now a non-empty family of sets over the universe $E$. Due to submodularity, the intersection of two source sides and the union of two source sides yields the source side of a min-cut. As such, $\mathcal{R}(N)$ is a ring. Hence, for every network $N$, $\mathcal{R}(N)$ is a finite ring of sets.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By ring of sets, I refer to the definition of a non-empty family of sets closed under union and intersection. Hence, a ring of sets is commutative.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I wonder if the converse direction is true, that is if the following statement holds:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;For every ring of sets $\mathcal{R}$ over a finite universe $U$ there is a flow network $N$ with nodes $U$ such that $\mathcal{R}(N) = \mathcal{R}$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I was unable to come up with a counter example, at the same time literature seems not to know this either. To me it seemed like a constructive proof could work where the family of sets is analyzed in order to determine whether the nodes of $U$ need to be parallel or in series.&lt;/p&gt;&#xA;" OwnerUserId="26761" LastEditorUserId="26761" LastEditDate="2014-09-29T06:51:48.303" LastActivityDate="2014-09-29T14:21:38.563" Title="Rings and the set of all minimum s-t-cuts" Tags="&lt;graph-theory&gt;&lt;set-theory&gt;&lt;max-flow-min-cut&gt;&lt;set-system&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="25896" PostTypeId="2" ParentId="25893" CreationDate="2014-09-28T18:33:34.417" Score="3" Body="&lt;p&gt;$S_δ$ is not a subset of the typical set. As you mentioned, the most probable element is a member of $S_δ$ but it is not necessarily a member of the typical set.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The only reason to use the typical set instead of $S_δ$ is to make the proof of the source coding theorem easier. (See the paragraph at the top of page 84 in your book.) The typical set along with the asymptotic equipartition property makes it easy to count the size of the typical set and to put bounds on the probability of each element in the set. This is not so easy to do when working with $S_δ$&lt;/p&gt;&#xA;" OwnerUserId="21538" LastActivityDate="2014-09-28T18:33:34.417" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="25897" PostTypeId="1" AcceptedAnswerId="25899" CreationDate="2014-09-28T19:53:04.237" Score="7" ViewCount="291" Body="&lt;p&gt;The directed &lt;a href=&quot;http://en.wikipedia.org/wiki/Generalized_geography&quot;&gt;Generalized Geography&lt;/a&gt; game is well-known to be PSPACE-complete, however, I could not find anything for the undirected version. I saw that in &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/030439759390357Y/pdf?md5=f2e5b46744aa1e817cd19dc930b21c6e&amp;amp;pid=1-s2.0-030439759390357Y-main.pdf&quot;&gt;Hans L. Bodlaender, Complexity of path-forming games, Theoretical Computer Science, Volume 110, Issue 1, 15 March 1993, Pages 215-245&lt;/a&gt; (thx to Marzio De Biasi for the link) it is posed as an open problem. Is it still open?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In fact, I wonder if there is a simple gadget that we can put in the place of every directed edge to make a straight-forward reduction from the directed version. Is it known that no such gadget can exist?&lt;/p&gt;&#xA;" OwnerUserId="419" LastActivityDate="2014-09-28T22:11:50.423" Title="Is there a gadget that reduces generalized geography to undirected graphs?" Tags="&lt;graph-theory&gt;&lt;pspace&gt;&lt;combinatorial-game-theory&gt;&lt;two-player-games&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="25899" PostTypeId="2" ParentId="25897" CreationDate="2014-09-28T22:11:50.423" Score="10" Body="&lt;p&gt;Undirected (Vertex) Geography is in P. In particular, the game on graph $G$ with starting vertex $v$ is a win for player 1 if and only if every maximum matching of $G$ uses the vertex $v$. This can be checked in polynomial time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The above is Theorem 1.1 from the paper &quot;Undirected Edge Geography&quot;, by Fraenkel, Scheinerman and Ullman, Theoretical Computer Science 1993.&lt;/p&gt;&#xA;" OwnerUserId="3168" LastActivityDate="2014-09-28T22:11:50.423" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25900" PostTypeId="1" CreationDate="2014-09-29T09:03:36.303" Score="5" ViewCount="128" Body="&lt;p&gt;Suppose that I have an array $\{a_i\}$ of $n$ elements, each $k$ bits wide, and an array $\{b_i\}$ of $n$ elements, each $\lceil\log_2n\rceil\le k$ bits wide. I need a boolean circuit which will compute an array $\{c_i\}$, where $c_i=a_{b_i}$. I'm interested in a circuit with as few gates (with fan-in of 2) as possible.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is a trivial solution with $O(kn^2)$ gates. Also, if it is known that $\{b_i\}$ is a permutation, it is possible to use a sorting network to solve the problem with only $O(kn\log n)$ gates, but with a large constant factor. I don't know how to extend this solution to the general case. Also, a circuit can do more that a sorting network, so it could potentially be more efficient.&lt;/p&gt;&#xA;" OwnerUserId="27295" LastActivityDate="2014-09-29T09:03:36.303" Title="Boolean circuit for efficient array indexing" Tags="&lt;circuit-complexity&gt;&lt;sorting-network&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25901" PostTypeId="1" AcceptedAnswerId="25902" CreationDate="2014-09-29T10:13:41.760" Score="-1" ViewCount="901" Body="&lt;p&gt;I know that it is possible to calculate the minimum vertex cover of a bipartite graph,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, i want that the minimum vertex cover which contains vertices from only one partite set, which will be given as input,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any ideas how to design the algorithm ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that the answer to the above question might contain more vertex than the minimum vertex cover but all those sets would contain vertices from both partite !&lt;/p&gt;&#xA;" OwnerUserId="12280" LastActivityDate="2014-09-29T11:46:58.167" Title="Minimum vertex cover for bipartite graphs" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25902" PostTypeId="2" ParentId="25901" CreationDate="2014-09-29T10:59:16.183" Score="0" Body="&lt;p&gt;If $G(V,E)$ is the original graph with $V=A\cup B$  the set of vertices partitioned in two disjoint sets $A$ and $B$. The general VC problem: we are looking for a subset $S$,  $S\subseteq V$ such that it 'covers' every edge in $E$. If I understand correctly, in this variation we require $S\subseteq A$ or $S\subseteq B$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then, assuming all of the nodes has a positive degree, use $S=A$ or $S=B$, i.e. the entire set $B$ or $A$. Without loss of generality let us assume $S=A$ is the vertex cover we are looking for. For a contradiction, there is some $x\in A$ that x is not in the VC, so $S=A\setminus\{x\}$ and x has at least one edge: $x\in A,v\in B, (x,v)\in E$, then the edge $(x,v)$ is not covered by S and since we cannot pick vertex $v$ for the VC, $x$ must be in $S$ or otherwise $S$ will not be a vertex cover. So choose the smallest of the two.&lt;/p&gt;&#xA;" OwnerUserId="27395" LastEditorUserId="21001" LastEditDate="2014-09-29T11:46:58.167" LastActivityDate="2014-09-29T11:46:58.167" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="25903" PostTypeId="2" ParentId="25895" CreationDate="2014-09-29T14:21:38.563" Score="1" Body="&lt;p&gt;Here I'll show that the statement is true, assuming that $V=U\cup\{s,t\}$, i.e. source and sink are not elements of $U$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $S=\bigcap\limits_{R\in\mathcal R}R$, $P=\bigcup\limits_{R\in\mathcal R}R\setminus S$ and $T=U\setminus(S\cup P)$. Construct a flow network $N$ with nodes $U\cup\{s,t\}$ and the following edges:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;From $s$ to every element of $S$.&lt;/li&gt;&#xA;&lt;li&gt;From every element of $T$ to $t$.&lt;/li&gt;&#xA;&lt;li&gt;For all ordered pairs $(x,y)$ such that $x\in P$, $y\in P$ and $\forall R\in\mathcal R:x\in R\rightarrow y\in R$, from $x$ to $y$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Each edge can have any positive capacity. Since $t$ is not reachable from $s$, maximal flow is $0$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What remains is to prove that the set of source sides of minimal $s$-$t$ cuts is exactly $\mathcal R$. Firstly, I'll show that any set $R\in\mathcal R$ is a source side of an $s$-$t$ cut. By definition, $S\subset R$ and $T\cap R=\emptyset$, so edges from $s$ and edges to $t$ don't cross the cut. Edges in $P$ also don't cross the cut by definition, since for any such edge $x\rightarrow y$, if $x$ is in $R$, $y$ must be in $R$ as well.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now I'll show that if $Q$ is a source side of a minimal $s$-$t$ cut, $Q$ must be in $\mathcal R$. Since maximal flow is zero, there must be no edges crossing the cut. Therefore, $S\subset Q$ and $T\cap Q=\emptyset$. If $Q=S$, the proof is done, because $S$ is a member of $\mathcal R$ by definition. Otherwise, let $Q'=\bigcup\limits_{x\in Q}\bigcap\limits_{R\in\mathcal R\wedge x\in R}R$. By definition, $Q'\in\mathcal R$, so it remains to show that $Q=Q'$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that every intersection in the definition of $Q'$ is nonempty, because $Q\subset S\cup P$. Also, $Q'\subset S\cup P$. By definition, every element of $Q$ is contained in $Q'$. Suppose that there is an element $y\in Q'$ which is not in $Q$. Then $y\in P$ and there is an element $x\in Q$ such than $\forall R\in\mathcal R:x\in R\rightarrow y\in R$. Then $x\in P$, since otherwise $x\in S$ and $S\in\mathcal R$ is a counterexample. So, there must be an edge from $x$ to $y$, and it crosses the cut, a contradiction. Therefore, $Q=Q'$, so $Q\in\mathcal R$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By the way, while the above solution requires directed edges, the answer is the same even if all the edges must be undirected (with the same capacity in both directions). The idea for the solution in this case is that you need such a network that, after the maximal flow is pushed through it, the residual graph is the same as the graph constructed using the solution above plus some edges from $T$ to $P$ and from $P$ to $S$ which don't change the set of minimal cuts. The details are left as an exercise to the reader.&lt;/p&gt;&#xA;" OwnerUserId="27295" LastActivityDate="2014-09-29T14:21:38.563" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25907" PostTypeId="1" CreationDate="2014-09-30T00:22:12.413" Score="9" ViewCount="199" Body="&lt;p&gt;I've been interested in looking into the area of de-amortization recently (i.e. finding data structures with matching worst-case and amortized running time bounds, or exhibiting lower bounds against matching the amortized complexity of certain operations with a worst-case bound). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The only reference I've been able to find so far is a &lt;a href=&quot;http://link.springer.com/chapter/10.1007%2F3-540-68535-9_4&quot;&gt;survey&lt;/a&gt; from COCOON by S.R. Kosaraju and M. Pop.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there any other good surveys or set of papers to read regarding de-amortization?&lt;/p&gt;&#xA;" OwnerUserId="15815" LastEditorUserId="15815" LastEditDate="2014-09-30T01:21:59.407" LastActivityDate="2014-09-30T01:21:59.407" Title="References for de-amortization" Tags="&lt;reference-request&gt;&lt;ds.data-structures&gt;&lt;lower-bounds&gt;&lt;amortized-analysis&gt;" AnswerCount="0" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="25909" PostTypeId="1" AcceptedAnswerId="25911" CreationDate="2014-09-30T09:41:35.587" Score="7" ViewCount="293" Body="&lt;p&gt;I am wondering if there is an example of the following form. It seems highly plausible that there should be but I am struggling to come up with one.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider $T \subseteq \mathbb{N}^2$, a set representing a total order. That is we have some total order $\preceq$ such that $i \preceq j$ iff $(i, j) \in T$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does there exist $T$ and a subset $S \subseteq T$ such that:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;The decision problem $(i, j) \in T$ is &quot;probably not in P&quot;. e.g. is NP-hard or is provably not in P.&lt;/li&gt;&#xA;&lt;li&gt;The decision problem $(i, j) \in S$ is in P&lt;/li&gt;&#xA;&lt;li&gt;$T$ is the transitive closure of $S$ (i.e. the smallest set $M$ containing $S$ such that if $(i, j), (j, k) \in M$ then $(i, k) \in M$)&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Note that if e.g. there's some polynomial $p$ such that for all $(i, j) \in S$ there exists some $k \leq p(i, j)$ with $(i, k), (k, j) \in T$ then the decision problem for $S$ is necessarily in NP (because you can provide such a k and verifying that it works is polynomial in $i, j$), but I suspect there are examples which don't satisfy this.&lt;/p&gt;&#xA;" OwnerUserId="4624" LastActivityDate="2014-09-30T12:55:05.663" Title="Total orders which are the transitive closure of a set in P" Tags="&lt;time-complexity&gt;&lt;total-ordering&gt;" AnswerCount="3" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="25910" PostTypeId="2" ParentId="25909" CreationDate="2014-09-30T11:18:25.330" Score="3" Body="&lt;p&gt;I have an example where $T$ is not total, and is only a pre-order. On the other hand, $S$ is in $\mathbf P$ and $T$ is undecidable, so it is even worse than being not polynomial.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The pre-order $S$ is on encodings $\langle M,x\rangle$, where $M$ is the encoding of a Turing Machine, and $x$ is a number of steps in unary.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We define $(\langle M,x\rangle, \langle N,y\rangle)\in S$ when if $M$ stops in less than $x$ steps, then $N$ stops in less than $y+1$ steps. Notice that we can have $(i,j)\in S$ and $(j,i)\in S$ without $i=j$ (for instance if both machines do not terminate). $S$ is computable polynomially since it suffices to simulate both machines for a linear number of steps (in the size of the input).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, let's look at the transitive closure $T$ of $S$. Take $i=\langle M,x\rangle$ such that $M$ stops in less than $x$ steps. Then $(i,\langle N,0\rangle)\in T$ iff $N$ stops (in any number of steps), which is undecidable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Maybe from this we could derive $S$ and $T$ fitting your requirements, but it seems to me the constraints are artificial, could you justify them?&lt;/p&gt;&#xA;" OwnerUserId="8953" LastEditorUserId="8953" LastEditDate="2014-09-30T11:47:37.030" LastActivityDate="2014-09-30T11:47:37.030" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25911" PostTypeId="2" ParentId="25909" CreationDate="2014-09-30T11:26:12.857" Score="7" Body="&lt;p&gt;Note that the conditions imply that $T$ is recursive. The construction below shows that apart from that, its complexity can be arbitrarily large.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $L\subseteq\mathbb N$ be an arbitrary recursive language, and $f\colon\mathbb N\to\mathbb N$ a function such that $x\in L$ is decidable in time $|f(x)|$, and the subgraph $\{(x,y):y&amp;lt;f(x)\}$ is polynomial-time decidable. (Here $x,y$ are assumed to be written in binary as usual.) Let $(x,y,i)$ be an efficient bijective enumeration of triples where $x,y\in\mathbb N$, and $i=0,1$. Let $S$ consist of the following pairs of these triples:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;$((x,y,i),(x',y',i'))$ for $x&amp;lt;x'$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;$((x,y,i),(x,y',i))$ for $y&amp;lt;y'&amp;lt;f(x)$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;$((x,f(x),0),(x,0,1))$ and $((x,f(x),1),(x,f(x)+1,0))$ if $x\in L$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;$((x,f(x),1),(x,0,0))$ and $((x,f(x),0),(x,f(x)+1,0))$ if $x\notin L$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;$((x,y,i),(x,y',i'))$ if $f(x)&amp;lt;y$ and $2y+i&amp;lt;2y'+i'$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The properties of $f$ ensure that $S$ is polynomial-time decidable, and it is easy to see that its transitive reflexive closure is a total order $T$. However, $T$ is as hard to compute as $L$, since $((x,0,0),(x,0,1))\in T$ iff $x\in L$. (Conversely, $T$ is easily seen to be reducible to $L$.)&lt;/p&gt;&#xA;" OwnerUserId="6959" LastActivityDate="2014-09-30T11:26:12.857" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="25914" PostTypeId="2" ParentId="25909" CreationDate="2014-09-30T12:55:05.663" Score="2" Body="&lt;p&gt;Leaving the current answer accepted because it's closer to the original question than this, but I've realised the following nice class of almost example where as Denis suggested we drop the restriction that the order be total, so I thought I'd share (not suggesting this is a &quot;better&quot; answer, only that it was easier for me to understand and seems somehow natural so it might be of interest).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider any language L in NP. Consider (some efficient enumeration of) $\mathbb{N} \cup \mathbb{N}^2 \cup \{\mathcal{W}\}$ (where $\mathcal{W}$ is just some convenient atomic symbol). Let $f : \mathbb{N}^2 \to \{0, 1\}$ be some polynomial time function such that $i \in L$ iff for some $j$, $f(i, j) = 1$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Define $T$ as the union of:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$A = \{ (i, \mathcal{W}) : i \in L \}$&lt;/li&gt;&#xA;&lt;li&gt;$B = \{ (i, (i, j)) : i, j \in \mathbb{N} \}$&lt;/li&gt;&#xA;&lt;li&gt;$C = \{ ((i, j), \mathcal{W}) :  i, j \in \mathbb{N}, f(i, j) = 1\}$&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Then deciding if $(i, \mathcal{W}) \in T$ is equivalent to whether $i \in L$, so the decision problem for $T$ is NP-hard. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;But let $S = B \cup C$. Deciding whether $x \in B$ is trivially in P, and deciding if $((i, j), \mathcal{W}) \in C$ is equivalent to computing $f$, which is in P by hypothesis, so deciding if $x \in S$ is in P.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But $(i, \mathcal{W}) \in T$ iff there is some $j$ such that $((i, j), \mathcal{W}) \in C$, so $T$ is the one-step transitive closure of $S$.&lt;/p&gt;&#xA;" OwnerUserId="4624" LastActivityDate="2014-09-30T12:55:05.663" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="25915" PostTypeId="2" ParentId="238" CreationDate="2014-09-30T20:43:23.063" Score="1" Body="&lt;p&gt;In the same spirit of Sanjeev Arora's notes that @umar posted, I like Madhur Tulsiani's lecture notes and exercises for his &quot;Mathematical Toolkit&quot; class posted at the &lt;a href=&quot;http://ttic.uchicago.edu/~madhurt/courses/toolkit2013/toolkit2013.html&quot; rel=&quot;nofollow&quot;&gt;course webpage&lt;/a&gt;. In addition to Arora's excellent material his notes have a nice coverage of spectral graph theory as well as the multiplicative weights update method.&lt;/p&gt;&#xA;" OwnerUserId="15815" LastActivityDate="2014-09-30T20:43:23.063" CommentCount="0" CommunityOwnedDate="2014-09-30T20:43:23.063" ContentLicense="CC BY-SA 3.0" />
  <row Id="25920" PostTypeId="1" CreationDate="2014-10-01T00:40:48.533" Score="17" ViewCount="883" Body="&lt;p&gt;Are there any non-trivial lower bounds on the complexity of single-source shortest paths (SSSP) in a directed graph, where all edges have non-negative edge weights?  Can we rule out the possibility of an algorithm with $O(n+m)$ running time?  Are there any lower bounds in any restricted models, e.g., in the decision tree model, or something like that?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Dijkstra's algorithm can be implemented to run in $O(m+n \log n)$ time, with suitable data structures.  I understand Thorup has an algorithm whose running time is $O(n + m \log \log n)$ in the RAM model, and other algorithms are known in the RAM model.  However, I have not found any algorithm with $O(n+m)$ running time, nor any lower bound to rule out the possibility of such an algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(I know there is a $O(n+m)$ time algorithm for undirected graphs with non-negative integer edge weights, due to Thorup, but here I am asking about &lt;em&gt;directed&lt;/em&gt; graphs.  I found &lt;a href=&quot;https://cstheory.stackexchange.com/q/16266/5038&quot;&gt;Is there a tight lower bound on the complexity of SSSP on a graph?&lt;/a&gt;, but that is asking about undirected graphs and allows negative edge weights; I want to know about directed graphs, and am focusing on the case with non-negative edge weights.)&lt;/p&gt;&#xA;" OwnerUserId="5038" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.743" LastActivityDate="2014-10-01T00:40:48.533" Title="Lower bounds on single-source shortest paths in directed graphs" Tags="&lt;graph-algorithms&gt;&lt;lower-bounds&gt;&lt;shortest-path&gt;" AnswerCount="0" CommentCount="0" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="25921" PostTypeId="1" AcceptedAnswerId="25934" CreationDate="2014-10-01T12:46:51.297" Score="9" ViewCount="325" Body="&lt;p&gt;Consider an arbitrary context-free grammar $G$ over the alphabet $\lbrace 0,1,\overline{0} ,\overline{1} \rbrace$. To the productions of this grammar,  add two fixed non-context-free productions $P$: $\overline{0} 0 \rightarrow  \epsilon$  and $\overline{1} 1 \rightarrow  \epsilon$. Call the resulting grammar $G^P$ standing for &quot;$G$ augmented with the productions $P$&quot;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is it possible to give an algorithm which takes a grammar $G^P$ and a  string $s$ over $\lbrace 0,1,\overline{0} ,\overline{1} \rbrace$ and decides whether $s \in \mathcal{L}(G^ P)$?&lt;/p&gt;&#xA;" OwnerUserId="27421" LastActivityDate="2014-10-03T10:05:01.993" Title="Membership problem for certain class of unrestricted grammars" Tags="&lt;context-free&gt;&lt;decidability&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="25922" PostTypeId="1" AcceptedAnswerId="25931" CreationDate="2014-10-01T13:01:54.743" Score="3" ViewCount="456" Body="&lt;p&gt;We are given a list of 2d coordinates, each coordinate representing a node in a graph, and a scalar D, which is a constraint on total length of the cycle. The task is to find a Hamiltonian cycle on a &lt;strong&gt;subset of nodes&lt;/strong&gt; which satisfies all of the following properties:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;The total length of the cycle is less than D&lt;/li&gt;&#xA;&lt;li&gt;The number of nodes included in the cycle is maximal&lt;/li&gt;&#xA;&lt;li&gt;If there are more solutions satisfying 1. and 2., choose the one having the smallest cycle length&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Note that weights of edges satisfy triangle inequality.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I know how to solve a standard shortest Hamiltonian cycle problem. However, I don't know how to choose a subset of points to start with. The naive solution would involve enumerating all subsets of points (NP) and attempting to construct a Hamiltonian cycle on every such subsets (NP again). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It seems totally intractable, even for a small number of nodes (I expect ~15 nodes). The only heuristic I can think of is constructing a minimum spanning tree for every subset, using the length of a MST as a lower-bound estimate and skipping subsets that obviously break constraint #1.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I hope a better solution exists, ideally without enumerating all subsets of nodes.&lt;/p&gt;&#xA;" OwnerUserId="27423" LastEditorUserId="27423" LastEditDate="2014-10-01T13:18:45.440" LastActivityDate="2014-10-02T09:20:43.493" Title="Hamiltonian cycle on a subset of 2D points, constrained by maximum total length" Tags="&lt;graph-algorithms&gt;&lt;hamiltonian-paths&gt;" AnswerCount="2" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25925" PostTypeId="1" AcceptedAnswerId="25926" CreationDate="2014-10-01T18:14:21.367" Score="5" ViewCount="263" Body="&lt;p&gt;Given a finite language $L$ with $|L|$ number of elements, what is $|L^i|$ (the language $L$ concatenated with itself $i$ times)? If there is no exact result, is there an upper/lower bound?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Define concatenation of $L$ with itself to be as the classical definition: $LL = \{wx \space | \space w,x \in L\}$. Similarly, $L^n = \{a_1a_2...a_n \space | \space a_i \in L, \forall i \in [1, n] \}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Clearly, a non-tight upper bound is $|L|^i$ (each element in concatenation is unique) given that $|L| &amp;gt; 1$, but I would like to know if there is either a tight upper bound or tight lower bound.&lt;/p&gt;&#xA;" OwnerUserId="25556" LastEditorUserId="25556" LastEditDate="2014-10-01T18:24:48.237" LastActivityDate="2014-10-06T16:36:11.070" Title="Bounds on size of self-concatenation of Finite Languages" Tags="&lt;fl.formal-languages&gt;&lt;finite&gt;" AnswerCount="2" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="25926" PostTypeId="2" ParentId="25925" CreationDate="2014-10-01T18:59:30.850" Score="12" Body="&lt;p&gt;You can show $ |L|^i $ is a tight upper bound by using the following language:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;$ L = \{ ab,aab,aaab,\ldots,a^kb \mid k \geq 1 \}. $&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Any concatenation gives a new string. For a lower bound, I can suggest the following unary language:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;$ U = \{a,aa,aaa,\ldots,a^k \mid k \geq 1 \} $. &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Then, $ U^i = \{ a^i,a^{i+1},\ldots,a^{ki} \} $ and so $ |U^i| = i|U|-i+1 $.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Emil's (Jerabek) comment appeared during writing my answer and so before posting my answer.&lt;/p&gt;&#xA;" OwnerUserId="7358" LastEditorUserId="25556" LastEditDate="2014-10-01T21:23:53.090" LastActivityDate="2014-10-01T21:23:53.090" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="25931" PostTypeId="2" ParentId="25922" CreationDate="2014-10-02T07:17:27.747" Score="2" Body="&lt;p&gt;This problem is known as the &lt;em&gt;(Undirected) Orienteering problem&lt;/em&gt; (I'm unaware of any work that examined distances that come from 2D Euclidean embedding).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is NP-hard (and moreover, $APX$-hard) and &lt;a href=&quot;http://web.engr.illinois.edu/~chekuri/papers/orienteering2.pdf&quot; rel=&quot;nofollow&quot;&gt;there exists a $2+\epsilon$ approximation&lt;/a&gt; for it.&lt;/p&gt;&#xA;" OwnerUserId="21001" LastActivityDate="2014-10-02T07:17:27.747" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="25932" PostTypeId="2" ParentId="25922" CreationDate="2014-10-02T09:20:43.493" Score="3" Body="&lt;p&gt;As RB mentioned, this is the Orienteering problem. For points on a plane, &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.92.5979&quot; rel=&quot;nofollow&quot;&gt;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.92.5979&lt;/a&gt; gives a PTAS.&lt;/p&gt;&#xA;" OwnerUserId="25397" LastActivityDate="2014-10-02T09:20:43.493" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25933" PostTypeId="1" AcceptedAnswerId="25941" CreationDate="2014-10-02T10:58:48.333" Score="5" ViewCount="1315" Body="&lt;p&gt;The &lt;a href=&quot;http://en.wikipedia.org/wiki/Stable_roommates_problem&quot;&gt;stable roommates problem&lt;/a&gt; presents a set of N two-person rooms and 2N would-be roommates with preferences over each other, and asks for a stable allocation of roommates to rooms (and, really, to each other). There is an efficient algorithm which finds a solution, if there is one.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there an extension of this problem to rooms which can take more than two people?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Such an extension does seem challenging, because so much of the definition of the problem rests on the fact that roommates are in pairs, which means that each roommate only shares with a single other. This makes comparisons between potential pairings trivial - does the roommate prefer this partner or that one? Asking whether a roommate prefers one &lt;em&gt;set&lt;/em&gt; of partners or another is much harder. Still, i'm interested in any approaches which have been taken!&lt;/p&gt;&#xA;" OwnerUserId="27437" LastActivityDate="2014-10-02T21:29:25.320" Title="Is there an extension to the stable roommates problem with multiple roommates per room?" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;matching&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="25934" PostTypeId="2" ParentId="25921" CreationDate="2014-10-02T11:20:01.940" Score="5" Body="&lt;p&gt;This class of grammars is undecidable. Here is a rough idea about how to use it to emulate Turing machines.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;At each point, the current partially expanded word would look like&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$[\mbox{tape to the left}][\mbox{head}][\mbox{tape to the right}]$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$[\mbox{tape to the left}]$, after applying $P$, only contains characters $\overline0$ and $\overline1$.&lt;/li&gt;&#xA;&lt;li&gt;$[\mbox{tape to the right}]$, after applying $P$, only contains characters $0$ and $1$.&lt;/li&gt;&#xA;&lt;li&gt;$[\mbox{head}]$ is a single nonterminal, which encodes both the head state and the character at the head position.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Suppose that the head is in state $S$, and the character under the head is $i\in\{0,1\}$. Then the head is represented by nonterminal $S_i$. If it needs to transition to state $T$, replace the current character with $j$, and move to the left, there are two transitions $S_i\rightarrow0T_0j$ and $S_i\rightarrow1T_1j$. If it needs to move to the right instead, there are two transitions $S_i\rightarrow\overline jT_0\overline0$ and $S_i\rightarrow\overline jT_1\overline 1$. In some sense, the head has to &quot;guess&quot; the character in the direction it is moving to by producing the matching character. If the guess is wrong, the invariant on $[\mbox{tape to the left}]$ or $[\mbox{tape to the right}]$ would be violated, and it would never recover.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;When the machine halts, the head should &quot;consume&quot; its tape on both sides by &quot;guessing&quot; and producing matching characters. After that, it should produce empty word. As a result, empty word would be a member of such grammar if and only if the corresponding Turing machine halts.&lt;/p&gt;&#xA;" OwnerUserId="27295" LastEditorUserId="27295" LastEditDate="2014-10-03T10:05:01.993" LastActivityDate="2014-10-03T10:05:01.993" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="25935" PostTypeId="1" CreationDate="2014-10-02T12:24:29.483" Score="11" ViewCount="149" Body="&lt;p&gt;In 1992 in the paper &lt;em&gt;&lt;a href=&quot;http://cse.iitk.ac.in/users/karkare/courses/2010/cs653/Papers/imperative.pdf&quot;&gt;Imperative Functional Programming&lt;/a&gt;&lt;/em&gt;, Simon Peyton Jones and Philip Wadler write:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;So monads are more powerful than continuations, but only because of the types! It is not clear whether this is only an artifact of the Hindley-Milner type system, or whether the types are revealing a difference of fundamental importance (our own intuition it's the latter -- but it's only an intuition.)&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;There seems to be a lack of evidence for the Hindley-Milner side of the question. (Perhaps there is an interesting paper in this as well). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is: &lt;strong&gt;Are the types that show monads are more powerful than continuations revealing something of fundamental importance?&lt;/strong&gt; (ie are there some papers that have addressed this since 1992). &lt;/p&gt;&#xA;" OwnerUserId="608" LastActivityDate="2014-10-02T12:24:29.483" Title="Are the types that show monads are more powerful than continuations revealing something of fundamental importance?" Tags="&lt;type-theory&gt;&lt;type-systems&gt;&lt;monad&gt;&lt;continuations&gt;" AnswerCount="0" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="25936" PostTypeId="1" CreationDate="2014-10-02T13:01:33.180" Score="10" ViewCount="308" Body="&lt;p&gt;Crossposted from &lt;a href=&quot;https://mathoverflow.net/questions/177927/when-polynomial-gi-implies-polynomial-edge-colored-gi&quot;&gt;MO&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(edge) colored graph isomorphism is GI which&#xA;preserves the colors (of edges if it is edge colored).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are several reductions using transformations/gadgets&#xA;of (edge) colored GI to GI. For edge colored GI the simplest&#xA;is to replace colored edge by a GI preserving gadget encoding&#xA;the color (subdividing edge enough times is the simplest case).&#xA;For vertex colored GI, attach some gadget to a vertex.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose GI is polynomial for some graph class $C$.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Q1 For which $C$ polynomial GI implies polynomial&#xA;  (edge) colored GI?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Using a reduction with gadgets might make the graphs&#xA;not members of $C$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand certain gadgets/transformations&#xA;might make the graphs members of some other polynomial&#xA;GI class.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Example of edge colored reduction $ G \to G'$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Make a clique of $V(G)$. Color edges in $E(G)$ with $1$&#xA;and non-edges with $0$.  It is the coloring function&#xA;that preserves $G$ and to recover $G$ from $G'$ just&#xA;take the edges colored $1$. $G'$ is clique, cograph,&#xA;permutation graph and almost sure in many other nice&#xA;classes. Subdividing the edges odd number of times&#xA;(distinct for $0,1$ removes the colors and makes $G'$&#xA;perfect bipartite graph, preserving isomorphism).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Maybe another approach is to take the line graph&#xA;of $G'$ and add pendant (universal) vertices connected&#xA;to vertices corresponding to $E(G')$.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Q2 Are there nice gadgets/transformations for similar&#xA;  constructions?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Thought about planarizing $G'$ by choosing some&#xA;universal drawing of the clique and replacing&#xA;edge crossing by planar gadgets preserving colors&#xA;say $C_4,C_6$ for equal colors and something else&#xA;for distinct colors. Don't know if this preserves&#xA;isomorphism.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another possible approach might be automorphism&#xA;preserving coloring or subdivide every edge of&#xA;$K_n$, use 3 colors ${0,1,2}$ for vertices $V(G),E(G),E(\overline{G})$&#xA;and try to recognize self complementary graphs by&#xA;automorphism exchanging $E(G)$ and $E(\overline{G})$.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Q3 Is the automorphism group of the subdivision of $K_n$&#xA;  tractable to compute?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The orders after the few initial terms are $12 , 24 , 120 , 720 , 5040 , 40320 , 362880$&#xA;which is &lt;a href=&quot;https://oeis.org/A052565&quot;&gt;A052565&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Dima suggests this might be easy for $n$ large enough and the initial&#xA;terms are exceptions.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Q4 Given vertex colored subdivision of $K_n$ for $n &amp;gt; 4$ and its automorphism group&#xA;  where the high degree vertices are colored $0$, some degree $2$&#xA;  are $1$ and the other are $2$, what is the complexity to find&#xA;  automorphism exchanging $1$ and $2$?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Added&lt;/strong&gt; The paper &lt;a href=&quot;http://nozdr.ru.sci-hub.org/data/media/biblioteka/kolxo3/Cs_Computer_science/CsLn_Lecture%20notes/Algorithms%20-%20ESA%202000,%208%20conf.(LNCS1879,%20Springer,%202000)(ISBN%20354041004X)(462s).pdf#page=86&quot;&gt;On Recognizing Cayley Graphs p 86&lt;/a&gt; claims:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Given a class C of Cayley graphs, and given an edge-colored&#xA;  graph G of n vertices and m edges, we are interested in the problem of&#xA;  checking whether there exists an isomorphism φ preserving the colors&#xA;  such that G is isomorphic by φ to a graph in C colored by the elements&#xA;  of its generating set. In this paper, we give an O(m log n)-time algorithm&#xA;  to check whether G is color-isomorphic to a Cayley graph.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;This appears close to the question, is it relevant?&lt;/p&gt;&#xA;" OwnerUserId="22348" LastEditorUserId="22348" LastEditDate="2015-01-17T10:21:51.407" LastActivityDate="2015-01-18T16:38:46.043" Title="When polynomial GI implies polynomial (edge) colored GI?" Tags="&lt;graph-theory&gt;&lt;graph-isomorphism&gt;&lt;automorphism&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="25937" PostTypeId="2" ParentId="25936" CreationDate="2014-10-02T13:40:49.377" Score="4" Body="&lt;p&gt;&lt;strong&gt;Q2:&lt;/strong&gt; a nice example is the graph labeling gadget used to prove that:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Theorem&lt;/strong&gt;: &lt;em&gt;Planar 3-connected colored GI $\leq_T^L$ planar 3-connected GI&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See Thomas Thierauf, Fabian Wagner: &lt;a href=&quot;http://link.springer.com/article/10.1007%2Fs00224-009-9188-4&quot; rel=&quot;nofollow&quot;&gt;The Isomorphism Problem for Planar 3-Connected Graphs Is in Unambiguous Logspace.&lt;/a&gt; Theory Comput. Syst. 47(3): 655-673 (2010)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The &quot;labeling gadget&quot; used preserves the 3-connectedness and planarity constraints.&lt;/p&gt;&#xA;" OwnerUserId="3247" LastActivityDate="2014-10-02T13:40:49.377" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="25938" PostTypeId="1" AcceptedAnswerId="25973" CreationDate="2014-10-02T15:20:08.943" Score="14" ViewCount="539" Body="&lt;p&gt;A non-deterministic Xor automata (NXA) is syntactically an NFA, but a word is said to be accepted by NXA if it has an odd number of accepting paths (instead of at least one accepting path in the NFA case).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is easy to see that for a finite regular language $L$, there exists a minimal NFA which doesn't contain any cycles (if a cycle was both reachable from the initial state and you get from it to an accepting state - your language is not finite).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is not necessarily the case for NXAs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Denote by $xsc(L)$ the &lt;em&gt;xor-state complexity&lt;/em&gt; of a language $L$, &lt;/p&gt;&#xA;&#xA;&lt;p&gt;and by $axsc(L)$ the &lt;em&gt;acyclic xor state complexity of $L$&lt;/em&gt; (i.e. the size of a smallest acyclic NXA which accepts $L$).&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is it true that for every finite language $L$: $$axsc(L)=xsc(L)\ ?$$&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="21001" LastEditorUserId="21001" LastEditDate="2014-10-03T07:52:20.623" LastActivityDate="2014-10-06T18:36:20.887" Title="Does XOR automata (NXA) for finite languages benefit from cycles?" Tags="&lt;fl.formal-languages&gt;&lt;automata-theory&gt;&lt;nondeterminism&gt;&lt;minimization&gt;" AnswerCount="2" CommentCount="4" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="25939" PostTypeId="2" ParentId="4534" CreationDate="2014-10-02T15:37:07.590" Score="6" Body="&lt;p&gt;Joyal's Combinatorial Species, Sedgwick/Falojet's &quot;admissible constructions&quot; of Analytic Combinatorics, and Yorgey's Haskell Species are all good.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.cs.dartmouth.edu/~doug/music.ps.gz&quot; rel=&quot;nofollow&quot;&gt;Power Series Power Serious&lt;/a&gt; by McIlroy of UNIX diff fame is also a must read, as is the chapter on corecursion in The Haskell Road to Logic Maths and Programming.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The historical works by &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0387970649&quot; rel=&quot;nofollow&quot;&gt;Buchi&lt;/a&gt; edited by Saunders MacLane and &lt;a href=&quot;http://www-igm.univ-mlv.fr/~berstel/Mps/Travaux/A/1963-7ChomskyAlgebraic.pdf&quot; rel=&quot;nofollow&quot;&gt;Chomsky/Schützenberger&lt;/a&gt; make the connection between power series, algebras, trees, and finite state automata. The Transfer Matrix Method described in Stanley shows you how to compute generating functions from weighted automata.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm still working out the best way to translate between the domains (GF, weighted automata, algebra, tree, recursion) efficiently. Right now I'm shelling out to SymPy since there isn't a good Haskell symbolics package yet.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Personally, I've taken the iteration graph of an endofuction then calculated a min dominating set on it to get an exact black box search bound,  &lt;a href=&quot;http://oeis.org/A186202&quot; rel=&quot;nofollow&quot;&gt;http://oeis.org/A186202&lt;/a&gt; Not sure what types of complexity results you were searching for, but that technique is very powerful in examining any endofuction over a finite set.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;--Original Oct 2 '14 at 15:37 answer--&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Take a look at Brent Yorgey's thesis which follows the paper of his you cited. &lt;a href=&quot;http://www.cis.upenn.edu/%7Ebyorgey/hosted/thesis.pdf&quot; rel=&quot;nofollow&quot;&gt;http://www.cis.upenn.edu/%7Ebyorgey/hosted/thesis.pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="2021" LastEditorUserId="2021" LastEditDate="2015-07-13T13:51:09.070" LastActivityDate="2015-07-13T13:51:09.070" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25941" PostTypeId="2" ParentId="25933" CreationDate="2014-10-02T21:23:15.290" Score="7" Body="&lt;p&gt;Switching from 2 to 3 &quot;beds&quot; makes the problem NP-complete :-)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See K. Iwama, S. Miyazaki, and K. Okamoto, &quot;Stable roommates problem with triple rooms.&quot; Proc. 10th KOREA-JAPAN Joint Workshop on Algorithms and Computation (WAAC 2007), pp. 105–112, 2007&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(an electronic edition can be &lt;a href=&quot;https://www.researchgate.net/publication/228816339_Stable_roommates_problem_with_triple_rooms&quot;&gt;downloaded from ResearchGate&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Abstract:&lt;/strong&gt; In the stable roommates problem, we are given 2N men and each person's preference list. We are asked to find a stable matching, namely, a set of N pairs satisfying the stability condition. This problem is known to be solved in polynomial time; more precisely, there is a polynomial-time algorithm to find a stable matching for a given instance, or to report that a given instance has no stable matching. In this paper, we extend this problem into three-dimension, i.e., a matching is defined to be a set of triples, and show that this problem is NP-complete. ...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See also this survey: Kazuo Iwama and Shuichi Miyazaki. 2008. &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=1345763&quot;&gt;A Survey of the Stable Marriage Problem and Its Variants&lt;/a&gt;. In Proceedings of the International Conference on Informatics Education and Research for Knowledge-Circulating Society (icks 2008) (ICKS '08). IEEE Computer Society, Washington, DC, USA, 131-136.&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2014-10-02T21:29:25.320" LastActivityDate="2014-10-02T21:29:25.320" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="25943" PostTypeId="1" CreationDate="2014-10-03T11:56:37.407" Score="11" ViewCount="774" Body="&lt;p&gt;There is a very nice construction by Conway of surreal numbers. They are &quot;numbers&quot; that contain both real numbers and ordinals, are totally ordered, and have all the properties of a field (except they do not form a set but a class).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See for instance &lt;a href=&quot;http://web.mit.edu/sp.268/www/2010/surreal.pdf&quot;&gt;this pdf&lt;/a&gt; or &lt;a href=&quot;http://en.wikipedia.org/wiki/Surreal_number&quot;&gt;Wikipedia&lt;/a&gt; for an introduction.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;They can be even more generalized to so-called &quot;games&quot;, which are originally introduced to study combinatorial games. The original motivation of Conway was to analyze the &lt;a href=&quot;http://en.wikipedia.org/wiki/Go_%28game%29&quot;&gt;game of Go&lt;/a&gt;, in particular the endgame is especially suited to be modeled with &quot;surreal games&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is: do you know if anybody has implemented this approach in an AI (i.e. computer player) to improve its level at a game? I am especially interested in the case of Go, but others as well. If not, is there an obstacle or a reason why it would not be a good idea?&lt;/p&gt;&#xA;" OwnerUserId="8953" LastActivityDate="2019-04-04T23:55:12.263" Title="Implementation of surreal numbers for games" Tags="&lt;reference-request&gt;&lt;gt.game-theory&gt;&lt;implementation&gt;&lt;board-games&gt;&lt;combinatorial-game-theory&gt;" AnswerCount="3" CommentCount="2" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="25944" PostTypeId="1" CreationDate="2014-10-03T14:26:18.687" Score="6" ViewCount="122" Body="&lt;p&gt;Consider the following problem: on a finite two-dimensional grid (say the grid points are vertices of a graph), I need to color the vertices in such a way to satisfy the existence and nonexistence of certain coloring configurations. The color configurations take forms like: there exists a vertex with color $a$ so that all vertices in the row of that vertex have colors in the set $\{a,b,c\}$ and all vertices in the column have colors in the set $\{c,d\}$; or they could be something like: there does not exist a column of vertices all with color $b$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The number of dimensions in my problems is always fixed (e.g., 2-dimensional grid, 3-dimensional cube, and so forth) and the number of colors is fixed, but the constraints can change and I can vary the size of &quot;graphs&quot; I use. Given a problem, I need to determine whether there exists a colored graph (which will look like a hypercube in general) so that the existence and nonexistence constraints (coloring configurations) are satisfied. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I need to make general claims about problems of this kind (e.g., a graph always exists to solve problems with coloring configurations of a specific form; or, such a graph never exists for coloring configurations of a certain form, etc...). It would also be nice to know some properties about the graphs I need (e.g., the maximum size of the smallest graph that solves a particular class of such problems; or properties about the color patterns in such a graph, etc...). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are problems of this type studied anywhere? Best I can tell right now, they are just complicated constraint satisfaction problems, but I can't find what I need out there. I need to read more about the mathematics behind these problems. I am most interested in understanding the general properties of such problems, and not so much in algorithms (though I don't mind learning about algorithms). Any references would help. References to subjects I need to read about, theorems, articles, and so forth would be great.&lt;/p&gt;&#xA;" OwnerUserId="17356" LastActivityDate="2014-10-03T14:26:18.687" Title="General Results for Complicated Constraint Satisfaction Problem" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;co.combinatorics&gt;&lt;graph-colouring&gt;&lt;csp&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="25945" PostTypeId="1" CreationDate="2014-10-03T17:40:02.890" Score="11" ViewCount="304" Body="&lt;p&gt;Have partition trees ever been implemented?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here, I'm talking about the partition trees from computational geometry.  The earliest (near-)optimal versions of which were due to Matousek and others, and most recently Timothy Chan:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://cs.uwaterloo.ca/~tmchan/optpt_2_10.pdf&quot;&gt;https://cs.uwaterloo.ca/~tmchan/optpt_2_10.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It sounds crazy to me that these have &lt;em&gt;never&lt;/em&gt; been implemented, but googling turned up no implementations that anyone has ever reported on.&lt;/p&gt;&#xA;" OwnerUserId="5728" LastEditorUserId="5728" LastEditDate="2014-10-11T04:42:18.347" LastActivityDate="2015-10-09T23:16:58.970" Title="Implementation of partition trees?" Tags="&lt;ds.data-structures&gt;&lt;implementation&gt;&lt;computational-geometry&gt;" AnswerCount="1" CommentCount="6" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="25946" PostTypeId="2" ParentId="25938" CreationDate="2014-10-03T20:05:17.517" Score="4" Body="&lt;p&gt;I think I can prove that cycles do not help over the unary alphabet.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider the matrix $M$ over $F_2$ describing from which state into which state we can get in one step and the vector $v_n$ over $F_2$ describing the possible states of the automaton $\mod 2$ after $n$ steps, so $v_n=M^nv_0$, where $v_0=(1,0,..,0)$ describes the starting state. If we know that after some finite $t$ steps $s\cdot v=0$ (where $s$ is the characteristic vector of the accepting states), that means that we are in a certain subspace. The dimension of $M^n$ is strictly monotone descreasing for a while, then constant. This means that we must reach the subsapce $s\cdot v_n=0$ after at most as many steps, as many states the automaton has. But then there is a cycle-free automaton that just counts the length of the word.&lt;/p&gt;&#xA;" OwnerUserId="419" LastActivityDate="2014-10-03T20:05:17.517" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25948" PostTypeId="1" AcceptedAnswerId="25950" CreationDate="2014-10-04T10:06:15.963" Score="6" ViewCount="389" Body="&lt;p&gt;Given a graph $G=(V,E)$, what is known about the classical computational complexity of finding a non-trivial cut which partitions the vertices into two sets $V_a$ and $V_b$ such that every vertex in $V_a$ has an even number of neighbours in $V_b$ and every vertex in $V_b$ has an even number of neighbours in $V_a$? In particular I am interested in the time and depth complexity of solving this problem, or the corresponding decision problem. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I realise that this may correspond to a well studied problem, and if so I would appreciate a pointer to the relevant literature. It seems closely related to a number of SAT problems, but I have not yet managed to find an exact correspondence.&lt;/p&gt;&#xA;" OwnerUserId="204" LastEditorUserId="204" LastEditDate="2014-10-04T12:04:33.973" LastActivityDate="2014-10-04T16:52:12.847" Title="Complexity of finding even cuts for a graph" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;circuit-complexity&gt;&lt;time-complexity&gt;" AnswerCount="2" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="25950" PostTypeId="2" ParentId="25948" CreationDate="2014-10-04T14:09:45.607" Score="6" Body="&lt;p&gt;&lt;em&gt;Edit: As Sasho and Joe pointed out in comments, the reduction in revision 1 was incorrect.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is an observation which is too long for a comment.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The stated problem for a graph with &lt;i&gt;n&lt;/i&gt;+1 vertices is equivalent to the problem of deciding whether a given &lt;i&gt;n&lt;/i&gt;×&lt;i&gt;n&lt;/i&gt; symmetric matrix whose entries are in GF(2) is singular or not.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is a reduction from the problem in question to the problem of deciding singularity of a symmetric matrix in GF(2).  Given a graph with &lt;i&gt;n&lt;/i&gt;+1 vertices, label the vertices from 1 to &lt;i&gt;n&lt;/i&gt;+1, and let &lt;i&gt;A&lt;/i&gt; be the adjacency matrix ignoring vertex &lt;i&gt;n&lt;/i&gt;+1, except that each diagonal entry &lt;i&gt;A&lt;/i&gt;&lt;sub&gt;&lt;i&gt;ii&lt;/i&gt;&lt;/sub&gt; is set to 1 if and only if the degree of the corresponding vertex i is odd.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider the one-to-one correspondence between the 2&lt;sup&gt;&lt;i&gt;n&lt;/i&gt;&lt;/sup&gt; partitions of &lt;i&gt;n&lt;/i&gt;+1 vertices into two sets and the 2&lt;sup&gt;&lt;i&gt;n&lt;/i&gt;&lt;/sup&gt; vectors in GF(2)&lt;sup&gt;&lt;i&gt;n&lt;/i&gt;&lt;/sup&gt; defined by setting &lt;i&gt;x&lt;/i&gt;&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt;=1 if and only if vertices &lt;i&gt;i&lt;/i&gt; and &lt;i&gt;n&lt;/i&gt;+1 belong to the opposite sets.  Then it is not hard to see that this partition is a solution to the problem in question if and only if the corresponding vector &lt;i&gt;x&lt;/i&gt; is a solution of the linear equation &lt;i&gt;A&lt;/i&gt;&lt;i&gt;x&lt;/i&gt;=0.  Clearly the trivial partition corresponds to the trivial solution &lt;i&gt;x&lt;/i&gt;=0 of the linear equation.  This shows that the reduction above is a correct reduction.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The reduction in the other direction should be easy to see from the reduction above.&lt;/p&gt;&#xA;" OwnerUserId="567" LastEditorUserId="567" LastEditDate="2014-10-04T16:22:46.767" LastActivityDate="2014-10-04T16:22:46.767" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="25951" PostTypeId="1" CreationDate="2014-10-04T15:43:28.460" Score="4" ViewCount="277" Body="&lt;p&gt;I have a task, but I have no idea how to solve it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We have to find a cycle going through $(1,1)$ and $(n,n)$ (X axis on the picture is indexed right to left) such that the sum of values in cells is minimized. A cycle can't contain a cell more than once.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Example:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/MXhtu.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;" OwnerUserId="27454" LastEditorUserId="326" LastEditDate="2014-10-05T03:58:36.263" LastActivityDate="2014-10-05T20:54:09.353" Title="Find the cheapest cycle through two points on a rectangular grid" Tags="&lt;graph-algorithms&gt;" AnswerCount="2" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="25952" PostTypeId="2" ParentId="25948" CreationDate="2014-10-04T16:52:12.847" Score="9" Body="&lt;p&gt;Such a cut exists if and only if the graph has an even number of spanning trees, which can be checked in polynomial time by using the matrix-tree theorem. See &lt;a href=&quot;http://www.ics.uci.edu/~eppstein/pubs/Epp-TR-96-14.pdf&quot;&gt;http://www.ics.uci.edu/~eppstein/pubs/Epp-TR-96-14.pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2014-10-04T16:52:12.847" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25953" PostTypeId="1" CreationDate="2014-10-04T21:33:09.183" Score="2" ViewCount="614" Body="&lt;p&gt;The Wikipedia article about the &lt;a href=&quot;http://en.wikipedia.org/wiki/Planar_separator_theorem&quot; rel=&quot;nofollow&quot;&gt;Planar Separator Theorem&lt;/a&gt; states that it is possible to use a hierarchy of separators to construct a tree decomposition for a planar graph and moreover provides an $\mathcal{O}(\sqrt{n})$ upper bound for the tree width of an $n$ vertex planar graph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have difficulties in understanding the hierarchy and moreover in checking that the resulting binary tree is a tree decomposition. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would really appreciate if you could help me or point to a reference that elaborates on it.&lt;/p&gt;&#xA;" OwnerUserId="27354" LastActivityDate="2014-10-05T13:42:16.937" Title="Planar separator theorem and tree decomposition" Tags="&lt;graph-theory&gt;&lt;planar-graphs&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="25954" PostTypeId="2" ParentId="25925" CreationDate="2014-10-04T22:22:13.410" Score="5" Body="&lt;p&gt;If $L$ is any finite code (that is, if $L^*$ is a free monoid of basis $L$), then $|L^i| = |L|^i$. This is the case in particular if $L$ is a prefix code: no word of $L$ is a proper prefix of another word of $L$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The lower bound is $i|L| - i$ (a slight improvement over the suggested $i|L| - i + 1$).  It is obtained for $L = \{1, a, a^2, \ldots, a^{k-1}\}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT&lt;/strong&gt;. As pointed out by Emil Jeřábek, I miscounted the size of $\{1, a, a^2, \ldots, a^{k-1}\}$ and the lower bound is indeed $i|L| - i + 1$.&lt;/p&gt;&#xA;" OwnerUserId="17203" LastEditorUserId="17203" LastEditDate="2014-10-06T16:36:11.070" LastActivityDate="2014-10-06T16:36:11.070" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="25958" PostTypeId="2" ParentId="25953" CreationDate="2014-10-05T13:42:16.937" Score="1" Body="&lt;p&gt;As far as i know the simplest (in my opinion) self contained proof of the planar separator theorem is unpublished; it is a combination of the following (somewhat non-trivial) theorem with the &quot;Baker layering&quot; trick.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The treewidth of a planar graph of diameter d is &amp;lt;= 3d-1&#xA;[H. L. Bodlaender: A partial k-arboretum of graphs with bounded treewidth.&#xA;Theor. Comput. Sci., 209(1-2):1–45, 1998, Theorem 83]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now to the &quot;Baker layering&quot; trick: do a BFS from an arbitrary vertex and number the layers&#xA;1,2....sqrt(n), 1, 2, ... sqrt(n) .. etc&#xA;Now there exists an i such that the total number of vertices living in layers labelled i is at most sqrt(n). Let the set of these vertices be S. Consider any connected component of G-S. Such a component must live in at most sqrt(n) consecutive layers, and thus it has diameter &amp;lt;= 2sqrt(n). Since planar graphs of diameter sqrt(n) have treewidth at most 3sqrt(n) we have that G-S has treewidth &amp;lt;= 6sqrt(n) and so G has treewidth &amp;lt;= 7sqrt(n). Tada.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is a small silly bug in the proof above; the fact that a connected component of G\S lives inside sqrt(n) layers does not mean that the diameter is actually at most sqrt(n) ... but thus is easily fixed by contracting the layers up until the layer of this component into a single vertex. Then diameter of (a supergraph of the component) is at most 2sqrt(n), and we are done.&lt;/p&gt;&#xA;" OwnerUserId="27464" LastActivityDate="2014-10-05T13:42:16.937" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25959" PostTypeId="2" ParentId="25943" CreationDate="2014-10-05T14:40:35.120" Score="8" Body="&lt;p&gt;I don't have an answer to your question of whether the theory of Conway games has been used in building game-playing programs, but still you might be interested in the &lt;a href=&quot;http://cgsuite.sourceforge.net/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Combinatorial Game Suite&lt;/a&gt;, &quot;an open-source program to aid research in combinatorial game theory&quot; (which I first learned about &lt;a href=&quot;https://mathoverflow.net/a/150947/1015&quot;&gt;here&lt;/a&gt;).  It includes an implementation of various standard operations on Conway games in canonical form, as well as a scripting language for describing new games.&lt;/p&gt;&#xA;" OwnerUserId="674" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2014-10-05T14:40:35.120" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25961" PostTypeId="2" ParentId="25943" CreationDate="2014-10-05T17:40:08.903" Score="3" Body="&lt;p&gt;on some search there do not seem to be much published general implementations of surreal numbers. heres an implementation of surreal numbers in &lt;a href=&quot;http://en.wikipedia.org/wiki/Coq&quot; rel=&quot;nofollow&quot;&gt;coq&lt;/a&gt;. &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://dl.acm.org/citation.cfm?id=2150520&quot; rel=&quot;nofollow&quot;&gt;Surreal numbers in coq&lt;/a&gt; / Mamane, TYPES'04 Proceedings of the 2004 international conference on Types for Proofs and Programs&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Surreal Numbers form a totally ordered (commutative) Field, containing copies of the reals and (all) the ordinals. I have encoded most of the Ring structure of surreal numbers in Coq. This encoding relies on Aczel's encoding of set theory in type theory.&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;This paper discusses in particular the definitional or proving points where I had to diverge from Conway's or the most natural way, like separation of simultaneous induction-recursion into two inductions, transforming the definition of the order into a mutually inductive definition of “at most” and “at least” and fitting the rather complicated induction/recursion schemes into the type theory of Coq.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;there are some part-implementations of surreal arithmetic for a game called &lt;a href=&quot;http://www.geometer.org/mathcircles/hackenbush.pdf&quot; rel=&quot;nofollow&quot;&gt;hackenbush&lt;/a&gt; (Davis) popularized by Conway, Berlekamp, and Guy of which there are a few references.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Go is indeed one of the leading edge areas of game AI research (considered &lt;em&gt;significantly harder than chess&lt;/em&gt; which occupied AI for decades) but it appears there is little research specifically into using surreal numbers to model/ play it. Go is considered a frontier for machine learning/AI algorithms because it also has a relatively unique status/ distinction in that the best software based algorithms (&quot;still/ currently&quot;) do not outperform champion human players.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;see this ref &lt;a href=&quot;http://www.wired.com/2014/05/the-world-of-computer-go/&quot; rel=&quot;nofollow&quot;&gt;The Mystery of Go, the Ancient Game That Computers Still Can’t Win&lt;/a&gt; (Wired mag) for a decent rough survey of current Go AI techniques/ researchers/ leads.&lt;/p&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2014-10-05T17:40:08.903" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25962" PostTypeId="2" ParentId="25951" CreationDate="2014-10-05T17:59:34.043" Score="8" Body="&lt;p&gt;Ok, here's a reduction from Hamiltonian cycles in grid graphs to your problem. It requires the grid graph to have vertices in the two opposite corners but that shouldn't be an obstacle to getting the details to work.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/7ZFSi.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2014-10-05T17:59:34.043" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25964" PostTypeId="2" ParentId="25951" CreationDate="2014-10-05T20:54:09.353" Score="3" Body="&lt;p&gt;Not quite the original question, but in case it's useful: If the weights are positive and unary, this is the same problem as &quot;Shortest Two Disjoint Paths&quot;, which is in $P$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/questions/21987/for-which-values-of-k-is-minimum-length-undirected-k-disjoint-paths-in-mat&quot;&gt;For which values of $k$ is minimum length undirected $k$-disjoint-paths in $\mathcal{P}$?&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Björklund, Andreas, and Thore Husfeldt. &quot;Shortest Two Disjoint Paths in Polynomial Time.&quot; Automata, Languages, and Programming. Springer Berlin Heidelberg, 2014. 211-222.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://thorehusfeldt.files.wordpress.com/2010/08/spdp-e5d5661.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://thorehusfeldt.files.wordpress.com/2010/08/spdp-e5d5661.pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="13245" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.743" LastActivityDate="2014-10-05T20:54:09.353" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25966" PostTypeId="1" CreationDate="2014-10-06T05:45:52.873" Score="0" ViewCount="132" Body="&lt;p&gt;I'm bumping my head against the wall trying to prove this problem is NP-complete (it might not be)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $G = (V,E)$ be a directed graph with weights $w:E \to \mathbb{R_{\geq 0}}$ on the edges. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The goal is to find a an ordering $\sigma(1),...,\sigma(|V|)$ of $V$ such that the sum of  weights of ``forward edges''&#xA;$\sum_{(\sigma(i),\sigma(j)) \in E, i &amp;lt; j} w(\sigma(i),\sigma(j))$&#xA;is minimized.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is this problem NP-complete, or am I missing an obvious algorithm?&lt;/p&gt;&#xA;" OwnerUserId="7040" LastActivityDate="2014-10-06T05:45:52.873" Title="Minimum Weight Ordering of nodes on a directed graph" Tags="&lt;np-hardness&gt;&lt;directed-acyclic-graph&gt;" AnswerCount="0" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="25967" PostTypeId="1" AcceptedAnswerId="25979" CreationDate="2014-10-06T06:22:02.463" Score="-2" ViewCount="879" Body="&lt;p&gt;We have given a weighted graph $G=\{V,E\}$, where $V=\{v_1, v_2,...,v_n\}$, and for all $i,j$, the weight of edges $w(v_i, v_j)\in (0,W)$. And we have also given a weight threshold s $w$ (where $0&amp;lt;w&amp;lt;W$) on the edge as the input.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, our goal is to find (probabilistically) cliques (of any size &gt;=3) in the graph such that the edges which are in cliques having weight  at least $w$, i.e., we need to find cliques having edge weight at least $w$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Pls let me know if I am able to put the question clearly.&lt;/p&gt;&#xA;" OwnerUserId="22594" LastEditorUserId="22594" LastEditDate="2014-10-06T10:54:28.663" LastActivityDate="2014-10-07T10:34:41.863" Title="Finding cliques in weighted graph" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;randomized-algorithms&gt;&lt;clique&gt;" AnswerCount="1" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="25968" PostTypeId="2" ParentId="25945" CreationDate="2014-10-06T11:20:34.063" Score="3" Body="&lt;p&gt;By the definition in the linked paper on page 5, the statement is wrong. &lt;a href=&quot;http://en.wikipedia.org/wiki/Binary_space_partitioning&quot; rel=&quot;nofollow&quot;&gt;Binary space partition (BSP) trees&lt;/a&gt; have been used for decades on computer graphics to speed up spatial queries, as have &lt;a href=&quot;http://en.wikipedia.org/wiki/Quadtree&quot; rel=&quot;nofollow&quot;&gt;quadtrees&lt;/a&gt; and &lt;a href=&quot;http://en.wikipedia.org/wiki/Octree&quot; rel=&quot;nofollow&quot;&gt;octrees&lt;/a&gt;. &lt;a href=&quot;http://en.wikipedia.org/wiki/K-d_tree&quot; rel=&quot;nofollow&quot;&gt;K-d trees&lt;/a&gt; are used extensively in machine learning to speed up nearest-neighbor searches. If you squint just a little, &lt;a href=&quot;http://en.wikipedia.org/wiki/Decision_tree&quot; rel=&quot;nofollow&quot;&gt;decision trees&lt;/a&gt; also fit the general definition.&lt;/p&gt;&#xA;" OwnerUserId="3644" LastActivityDate="2014-10-06T11:20:34.063" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="25972" PostTypeId="1" CreationDate="2014-10-06T18:01:17.143" Score="6" ViewCount="275" Body="&lt;p&gt;Consider a connected simple graph $G$ with $n$ vertices and $m$ edges. View each edge $\ell$ as a transposition $t_{\ell}$ acting on the set of vertices. [To be more explicit, given an edge $\ell$ joining vertices $v_1$ and $v_2$, $t_{\ell}$ is a permutation exchanging $v_1$ and $v_2$, leaving all other vertices fixed.] Let ${\cal L}$ be the set of ordered $m$-tuples of the edges, so that elements of ${\cal L}$ are of the form $L = (\ell_1, \dots, \ell_m)$, with each edge appearing exactly once.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To each $L \in {\cal L}$ we can associate a permutation $\pi(L) \in S_n$ by taking the product of transpositions, $\begin{equation} \pi[(\ell_1, \dots, \ell_m)] = t_{\ell_1} t_{\ell_2} \cdots t_{\ell_m}. \end{equation}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For $\pi \in S_n$, let $c(\pi)$ be the number of cycles in the the cycle decomposition, counting 1-cycles. So for example $c(1) = n$, and $c(\pi) = 1$ for $\pi$ an $n$-cycle. Then I can define the polynomial of interest: $\begin{equation} X(N) = \sum_{L \in {\cal L}} N^{c[\pi(L)]} \text{.} \end{equation}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My primary question is whether an efficient (in practical terms) procedure is known to compute $X(N)$, either for arbitrary graphs, or for certain families of graphs. In my application, I need to compute $X(N)$ for all graphs that are subgraphs of a given regular lattice, up to some maximum number of edges (which I would like to make as large as possible). In particular, I am focused on the square lattice (for now), which restricts to bipartite planar graphs. Perhaps also relevant, in my application parallel edges are allowed, but I focused on simple graphs here for simplicity.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I already know $X(N) = m! N$ if $G$ is a tree, and $X(N) = m! N^2$ if $G$ is a cycle. In addition, removing all bridges from $G$, there is a simple formula giving $X(N)$ as a product of the $X(N)$'s of the resulting components, multiplied by an overall factor. Beyond this, so far the best I can do is to take a brute force approach.&#xA;Beyond my primary question, I am also more generally interested to learn what, if anything, is known about this polynomial. For instance, are there references where $X(N)$ is studied, is $X(N)$ related to other (perhaps better-known) graph polynomials, etc.?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Cross posted from mathoverflow, &lt;a href=&quot;https://mathoverflow.net/questions/177103/is-this-graph-polynomial-known-can-it-be-efficiently-computed#177103&quot;&gt;https://mathoverflow.net/questions/177103/is-this-graph-polynomial-known-can-it-be-efficiently-computed#177103&lt;/a&gt;&quot;&lt;/p&gt;&#xA;" OwnerUserId="27305" LastEditorUserId="-1" LastEditorDisplayName="user34945" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2016-03-21T11:18:53.383" Title="Is this graph polynomial known? Can it be efficiently computed?" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;symmetry&gt;" AnswerCount="0" CommentCount="6" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="25973" PostTypeId="2" ParentId="25938" CreationDate="2014-10-06T18:36:20.887" Score="5" Body="&lt;p&gt;I think that the answer is the affirmative.  Maybe there is a simpler proof, but here is a sketch of a proof which uses linear algebra.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Like domotorp, we will view a configuration of an &lt;i&gt;n&lt;/i&gt;-state XOR automaton as a vector in &lt;i&gt;V&lt;/i&gt;=GF(2)&lt;sup&gt;&lt;i&gt;n&lt;/i&gt;&lt;/sup&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let &lt;i&gt;L&lt;/i&gt; be a finite language over an alphabet Σ={1, …, &lt;i&gt;k&lt;/i&gt;}, and consider an XOR automaton for &lt;i&gt;L&lt;/i&gt; with the minimum number of states.  Let &lt;i&gt;n&lt;/i&gt; be the number of states.  We assume that the states are labeled 1, …, &lt;i&gt;n&lt;/i&gt;, and state 1 is the initial state.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First we set up the notation.  Let &lt;i&gt;v&lt;/i&gt;&lt;sub&gt;0&lt;/sub&gt; = (1, 0, …, 0)&lt;sup&gt;T&lt;/sup&gt; ∈ &lt;i&gt;V&lt;/i&gt; be the elementary vector corresponding to the initial state, and let &lt;i&gt;s&lt;/i&gt; be the row vector whose &lt;i&gt;i&lt;/i&gt;th entry is 1 if and only if state &lt;i&gt;i&lt;/i&gt; is an accepting state.  The subspace &lt;i&gt;R&lt;/i&gt; = {&lt;i&gt;v&lt;/i&gt;: &lt;i&gt;s&lt;/i&gt;&lt;i&gt;v&lt;/i&gt;=0} of &lt;i&gt;V&lt;/i&gt; corresponds to the configuration vectors that are rejected.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For each &lt;i&gt;a&lt;/i&gt;∈Σ, let &lt;i&gt;A&lt;/i&gt;&lt;sub&gt;&lt;i&gt;a&lt;/i&gt;&lt;/sub&gt; be the &lt;i&gt;n&lt;/i&gt;×&lt;i&gt;n&lt;/i&gt; matrix over GF(2) which represents the transition caused by letter &lt;i&gt;a&lt;/i&gt;.  For example, the configuration vector after reading the input string &lt;i&gt;a&lt;/i&gt;&lt;i&gt;b&lt;/i&gt; is &lt;i&gt;A&lt;/i&gt;&lt;sub&gt;&lt;i&gt;b&lt;/i&gt;&lt;/sub&gt;&lt;i&gt;A&lt;/i&gt;&lt;sub&gt;&lt;i&gt;a&lt;/i&gt;&lt;/sub&gt;&lt;i&gt;v&lt;/i&gt;&lt;sub&gt;0&lt;/sub&gt;.  For a string &lt;i&gt;σ&lt;/i&gt;=&lt;i&gt;a&lt;/i&gt;&lt;sub&gt;1&lt;/sub&gt;…&lt;i&gt;a&lt;/i&gt;&lt;sub&gt;&lt;i&gt;t&lt;/i&gt;&lt;/sub&gt;, we denote the product &lt;i&gt;A&lt;/i&gt;&lt;sub&gt;&lt;i&gt;a&lt;/i&gt;&lt;sub&gt;&lt;i&gt;t&lt;/i&gt;&lt;/sub&gt;&lt;/sub&gt;…&lt;i&gt;A&lt;/i&gt;&lt;sub&gt;&lt;i&gt;a&lt;/i&gt;&lt;sub&gt;1&lt;/sub&gt;&lt;/sub&gt; by &lt;i&gt;M&lt;/i&gt;(&lt;i&gt;σ&lt;/i&gt;).  Let &lt;i&gt;S&lt;/i&gt; = {&lt;i&gt;A&lt;/i&gt;&lt;sub&gt;1&lt;/sub&gt;, …, &lt;i&gt;A&lt;/i&gt;&lt;sub&gt;&lt;i&gt;k&lt;/i&gt;&lt;/sub&gt;}.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A subspace &lt;i&gt;W&lt;/i&gt; of &lt;i&gt;V&lt;/i&gt; is said to be &lt;i&gt;S&lt;/i&gt;-&lt;em&gt;invariant&lt;/em&gt; when &lt;i&gt;A&lt;/i&gt;&lt;i&gt;W&lt;/i&gt; ⊆ &lt;i&gt;W&lt;/i&gt; for every &lt;i&gt;A&lt;/i&gt;∈&lt;i&gt;S&lt;/i&gt;.  In our context, this means that once the configuration vector goes in &lt;i&gt;W&lt;/i&gt;, there is no way out of &lt;i&gt;W&lt;/i&gt; by reading more letters.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Because this XOR automaton has the minimum number of states, we have the following properties.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The only &lt;i&gt;S&lt;/i&gt;-invariant subspace of &lt;i&gt;V&lt;/i&gt; that contains &lt;i&gt;v&lt;/i&gt;&lt;sub&gt;0&lt;/sub&gt; is &lt;i&gt;V&lt;/i&gt; itself.  This is because if &lt;i&gt;W&lt;/i&gt; is a proper &lt;i&gt;S&lt;/i&gt;-invariant subspace containing &lt;i&gt;v&lt;/i&gt;&lt;sub&gt;0&lt;/sub&gt;, then we can use &lt;i&gt;W&lt;/i&gt; in place of &lt;i&gt;V&lt;/i&gt;, contradicting the minimality.&lt;/li&gt;&#xA;&lt;li&gt;The only &lt;i&gt;S&lt;/i&gt;-invariant subspace contained in &lt;i&gt;R&lt;/i&gt; is {0}.  This is because if &lt;i&gt;W&lt;/i&gt; is a nontrivial &lt;i&gt;S&lt;/i&gt;-invariant subspace contained in &lt;i&gt;R&lt;/i&gt;, then we can use the quotient vector space &lt;i&gt;V&lt;/i&gt;/&lt;i&gt;W&lt;/i&gt; in place of &lt;i&gt;V&lt;/i&gt;, again contradicting the minimality.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Because &lt;i&gt;L&lt;/i&gt; is finite, let &lt;i&gt;m&lt;/i&gt; be an integer larger than the length of any string in &lt;i&gt;L&lt;/i&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Lemma 1&lt;/strong&gt;.  For any string &lt;i&gt;σ&lt;/i&gt; of length at least &lt;i&gt;m&lt;/i&gt;, we have that &lt;i&gt;M&lt;/i&gt;(&lt;i&gt;σ&lt;/i&gt;)=0.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Proof.&lt;/em&gt;  First we prove that for any string &lt;i&gt;σ&lt;/i&gt; of length at least &lt;i&gt;m&lt;/i&gt;, we have that &lt;i&gt;M&lt;/i&gt;(&lt;i&gt;σ&lt;/i&gt;)&lt;i&gt;v&lt;/i&gt;&lt;sub&gt;0&lt;/sub&gt;=0.  Let &lt;i&gt;W&lt;/i&gt; be the subspace of &lt;i&gt;V&lt;/i&gt; spanned by {&lt;i&gt;M&lt;/i&gt;(&lt;i&gt;σ&lt;/i&gt;)&lt;i&gt;v&lt;/i&gt;&lt;sub&gt;0&lt;/sub&gt;: &lt;i&gt;σ&lt;/i&gt; is a string of length at least &lt;i&gt;m&lt;/i&gt;}.  By definition, &lt;i&gt;W&lt;/i&gt; is &lt;i&gt;S&lt;/i&gt;-invariant.  Because the XOR automaton in question rejects these strings &lt;i&gt;σ&lt;/i&gt;, &lt;i&gt;W&lt;/i&gt; is contained in &lt;i&gt;R&lt;/i&gt;.  Therefore &lt;i&gt;W&lt;/i&gt;={0}, which means that &lt;i&gt;M&lt;/i&gt;(&lt;i&gt;σ&lt;/i&gt;)&lt;i&gt;v&lt;/i&gt;&lt;sub&gt;0&lt;/sub&gt;=0 for all such strings &lt;i&gt;σ&lt;/i&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now consider any vector &lt;i&gt;v&lt;/i&gt;∈&lt;i&gt;V&lt;/i&gt;.  Because the only &lt;i&gt;S&lt;/i&gt;-invariant subspace of &lt;i&gt;V&lt;/i&gt; that contains &lt;i&gt;v&lt;/i&gt;&lt;sub&gt;0&lt;/sub&gt; is &lt;i&gt;V&lt;/i&gt; itself, &lt;i&gt;v&lt;/i&gt; can be written as a linear combination of vectors of the form &lt;i&gt;M&lt;/i&gt;(&lt;i&gt;τ&lt;/i&gt;)&lt;i&gt;v&lt;/i&gt;&lt;sub&gt;0&lt;/sub&gt; for some strings &lt;i&gt;τ&lt;/i&gt;.  Because &lt;i&gt;M&lt;/i&gt;(&lt;i&gt;σ&lt;/i&gt;)&lt;i&gt;M&lt;/i&gt;(&lt;i&gt;τ&lt;/i&gt;)&lt;i&gt;v&lt;/i&gt;&lt;sub&gt;0&lt;/sub&gt; = &lt;i&gt;M&lt;/i&gt;(&lt;i&gt;τ&lt;/i&gt;&lt;i&gt;σ&lt;/i&gt;)&lt;i&gt;v&lt;/i&gt;&lt;sub&gt;0&lt;/sub&gt; = 0 (the latter equality follows from the previous paragraph because the length of &lt;i&gt;τ&lt;/i&gt;&lt;i&gt;σ&lt;/i&gt; is at least &lt;i&gt;m&lt;/i&gt;), it holds that &lt;i&gt;M&lt;/i&gt;(&lt;i&gt;σ&lt;/i&gt;)&lt;i&gt;v&lt;/i&gt;=0.  ■&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We need one more fact from linear algebra.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Lemma 2&lt;/strong&gt;.  Let &lt;i&gt;A&lt;/i&gt;&lt;sub&gt;1&lt;/sub&gt;, …, &lt;i&gt;A&lt;/i&gt;&lt;sub&gt;&lt;i&gt;k&lt;/i&gt;&lt;/sub&gt; be &lt;i&gt;n&lt;/i&gt;×&lt;i&gt;n&lt;/i&gt; matrices over a field, and define &lt;i&gt;M&lt;/i&gt;(&lt;i&gt;σ&lt;/i&gt;) as above.  If there is &lt;i&gt;m&lt;/i&gt;≥0 such that &lt;i&gt;M&lt;/i&gt;(&lt;i&gt;σ&lt;/i&gt;)=0 for every string &lt;i&gt;σ&lt;/i&gt; of length at least &lt;i&gt;m&lt;/i&gt;, then the matrices &lt;i&gt;A&lt;/i&gt;&lt;sub&gt;1&lt;/sub&gt;, …, &lt;i&gt;A&lt;/i&gt;&lt;sub&gt;&lt;i&gt;k&lt;/i&gt;&lt;/sub&gt; are simultaneously similar to strictly lower triangular matrices (that is, there exists an &lt;i&gt;n&lt;/i&gt;×&lt;i&gt;n&lt;/i&gt; nonsingular matrix &lt;i&gt;P&lt;/i&gt; such that the matrices &lt;i&gt;P&lt;/i&gt;&lt;sup&gt;−1&lt;/sup&gt;&lt;i&gt;A&lt;/i&gt;&lt;sub&gt;1&lt;/sub&gt;&lt;i&gt;P&lt;/i&gt;, …, &lt;i&gt;P&lt;/i&gt;&lt;sup&gt;−1&lt;/sup&gt;&lt;i&gt;A&lt;/i&gt;&lt;sub&gt;&lt;i&gt;k&lt;/i&gt;&lt;/sub&gt;&lt;i&gt;P&lt;/i&gt; are strictly lower triangular).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The case of &lt;i&gt;k&lt;/i&gt;=1 is a well-known characterization of nilpotent matrices, and Lemma 2 can be proved in the same way.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now consider the &lt;i&gt;n&lt;/i&gt;-state XOR automaton in which the transition matrix corresponding to symbol &lt;i&gt;a&lt;/i&gt;∈Σ is given by &lt;i&gt;P&lt;/i&gt;&lt;sup&gt;−1&lt;/sup&gt;&lt;i&gt;A&lt;/i&gt;&lt;sub&gt;&lt;i&gt;a&lt;/i&gt;&lt;/sub&gt;&lt;i&gt;P&lt;/i&gt;, the initial configuration vector is given by &lt;i&gt;P&lt;/i&gt;&lt;sup&gt;−1&lt;/sup&gt;&lt;i&gt;v&lt;/i&gt;&lt;sub&gt;0&lt;/sub&gt;, and the characteristic (row) vector of the accepting states is given by &lt;i&gt;s&lt;/i&gt;&lt;i&gt;P&lt;/i&gt;.  By construction, this XOR automaton accepts the same language &lt;i&gt;L&lt;/i&gt;.  Because the transition matrices are strictly lower triangular, every transition edge in this XOR automaton goes from a state with a smaller index to a state with a larger index, and therefore this XOR automaton is acyclic.  Although the initial configuration vector may have more than one 1s, it is easy to convert this XOR automaton to a usual XOR automaton with a single initial state for the same language without increasing the number of states or ruining the acyclicity.&lt;/p&gt;&#xA;" OwnerUserId="567" LastActivityDate="2014-10-06T18:36:20.887" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="25974" PostTypeId="1" CreationDate="2014-10-06T20:45:20.610" Score="5" ViewCount="430" Body="&lt;p&gt;Let $G=(V,E)$ be a graph on $n$ vertices with edge weights $w=(w_e)_{e\in E}$. Let $M^+$ and $M^-$ be the maximum and the minimum cut values, i.e.&#xA;$$M^+=\max\limits_{(U_1,U_2)}\left\{\sum_{e=\{u,v\}\in E\,:\,u\in U_1,v\in U_2}w_e\ :\ U_1\cup U_2=V,\ U_1\cap U_2=\emptyset\right\},$$ &#xA;$$M^-=\min\limits_{(U_1,U_2)}\left\{\sum_{e=\{u,v\}\in E\,:\,u\in U_1,v\in U_2}w_e\ :\ U_1\cup U_2=V,\ U_1\cap U_2=\emptyset\right\}.$$ &#xA;I'm interested in possible ratios between the difference $M^+-M^-$ and $\sum_{e\in E}\lvert w_e\rvert$. From Corollary 3.7 in the paper &lt;a href=&quot;http://link.springer.com/article/10.1007/s10107-012-0606-z&quot; rel=&quot;nofollow noreferrer&quot;&gt;Some results on the strength of multilinear functions&lt;/a&gt; it follows that $M^+-M^-\geqslant\frac{1}{n-1}\sum_{e\in E}\lvert w_e\rvert$. Taking complete bipartite graphs and choosing the weights independently and uniformly at random from $\{\pm 1\}$ we find that there are graphs with $M^+-M^-=o(1)\sum_{e\in E}\lvert w_e\rvert$.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Are there better lower bounds known? Maybe under additional assumptions on the weight fun (for instance if $w_e\in\{1,-1\}$ for all $e$)?&lt;/li&gt;&#xA;&lt;li&gt;What are known constructions with $M^+-M^-\leqslant f(n)\sum_{e\in E}\lvert w_e\rvert$ for some &quot;small&quot; function $f$? For instance, can we replace the $o(1)$ in the random construction by $O(1/n)$?&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Cross posted on &lt;a href=&quot;https://mathoverflow.net/q/182510&quot;&gt;MO&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="15637" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2014-10-06T20:45:20.610" Title="lower bound for difference between max cut and min cut" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;optimization&gt;" AnswerCount="0" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="25975" PostTypeId="1" AcceptedAnswerId="25976" CreationDate="2014-10-06T21:54:54.070" Score="9" ViewCount="2109" Body="&lt;p&gt;Given two directed acyclic graphs $G_1$ and $G_2$, is it NP-Complete to find a one-to-one mapping $f:V(G_1) \rightarrow V(G_2)$ such that $(v_i,v_j) \in D(G_1)$ if and only if $(f(v_i),f(v_j)) \in D(G_2)$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$D(G)$ is defined as the set of arcs in $G$. &lt;/p&gt;&#xA;" OwnerUserId="6108" LastActivityDate="2017-12-24T06:57:24.213" Title="Is DAG isomorphism NP-C" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;&lt;graph-isomorphism&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="25976" PostTypeId="2" ParentId="25975" CreationDate="2014-10-06T23:23:36.793" Score="27" Body="&lt;p&gt;It's &lt;a href=&quot;https://en.wikipedia.org/wiki/Graph_isomorphism_problem#Complexity_class_GI&quot; rel=&quot;noreferrer&quot;&gt;GI-complete&lt;/a&gt; which means it's probably not NP-complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Reduction from undirected graph isomorphism to DAG isomorphism: given an undirected graph $(V,E)$, make a DAG whose vertices are $V\cup E$, with an edge from $x$ to $y$ whenever $x\in V$, $y\in E$, and $x$ is an endpoint of $y$. (i.e. replace every undirected edge with a node and two ingoing edges)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Reduction from DAG isomorphism to undirected graph isomorphism: replace each arc $x\rightarrow y$ in the DAG with a four-edge subgraph consisting of a triangle having $x$ as one endpoint, and a dangling edge on the triangle connected to $y$. The reduction is only ambiguous in the case of a component that's a directed cycle, and that's not a DAG.&lt;/p&gt;&#xA;" OwnerUserId="95" LastEditorUserId="47984" LastEditDate="2017-12-24T06:57:24.213" LastActivityDate="2017-12-24T06:57:24.213" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25979" PostTypeId="2" ParentId="25967" CreationDate="2014-10-07T10:34:41.863" Score="0" Body="&lt;p&gt;We have the original unweighted Clique problem which is NP-complete and the weighted version here, call it W-Clique.&#xA;I think the straightforward reduction $Clique\leq_p W-Clique$ , assuming we have an algorithm for Clique, is this: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a graph to determine if it has a k-clique (a clique of k vertices) , set the weight of its edges to 1 and ask the W-Clique algorithm for a clique with weight $w=k$. Since all edges have weight 1 it will return a k-Clique thus solving the Clique problem. This show that W-Clique is also NP-complete and you should not expect of a polynomial time algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also Clique is hard to approximate within a constant factor in polynomial time. So I cannot see how can this be solved sub-exponentially. &lt;/p&gt;&#xA;" OwnerUserId="27395" LastActivityDate="2014-10-07T10:34:41.863" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25980" PostTypeId="1" CreationDate="2014-10-07T12:33:56.913" Score="4" ViewCount="315" Body="&lt;p&gt;I'm looking at the following problem, which I'm hoping is perhaps a known variant of the Set Cover problem:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Input&lt;/strong&gt;: We're given a universe $U$ and two disjoint subsets $A$ and $B$ such that $A \cup B=U$. We're also given a collection $C$ of $k$ sets $S_1,S_2,\ldots,S_k$ where $S_i \subseteq U$ for all $i=1\ldots k$. The sets $S_1,S_2,\ldots,S_k$ may or may not be disjoint, and the union of all $S_i$ may or may not equal the universe.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Solution form&lt;/strong&gt;: A collection $C' \subseteq C$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Objective function&lt;/strong&gt;: Maximize $\left|\left(\bigcup\limits_{c \in C'} c\right) \cap A\right| - \left|\left(\bigcup\limits_{c \in C'} c\right) \cap B\right|$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In English, the objective function rewards solutions that cover a large number of elements in $A$ and penalizes those that cover a large number of elements in $B$. The best solution would be one that covers $A$ fully and does not cover $B$ at all. The worst solution covers $B$ fully and does not cover $A$ at all. The cardinality of $C'$ is not important.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Example: Universe $U=\left\{1,2,3,4,5\right\}$. Susbsets $A=\left\{1,3,4,5\right\}$ and $B=\left\{2\right\}$. Sets $S_1=\left\{1,2,3,5\right\}$, $S_2=\left\{1,4\right\}$ and $S_3=\left\{2,5\right\}$. Here the best solution is to take $S_1$ and $S_2$, which gives a measure value of $3$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's relatively trivial to adapt the classical greedy heuristic to get an approximate solution. &lt;strong&gt;My questions are&lt;/strong&gt; 1) is this problem studied in any literature, and 2) do you think it would be possible to prove an approximation ratio for the greedy heuristic on it?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I had a look at &lt;a href=&quot;http://www.csc.kth.se/~viggo/wwwcompendium/&quot; rel=&quot;nofollow noreferrer&quot;&gt;A compendium of NP optimization problems&lt;/a&gt; and questions like &lt;a href=&quot;https://cstheory.stackexchange.com/questions/4/what-is-the-following-variation-on-set-cover-known-as&quot;&gt;this one&lt;/a&gt;, but haven't been able to find anything similar yet.&lt;/p&gt;&#xA;" OwnerUserId="27487" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2019-06-07T02:26:35.720" Title="Variation on partial Set Cover with penalties" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;&lt;approximation-algorithms&gt;&lt;set-cover&gt;&lt;set-theory&gt;" AnswerCount="3" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="25981" PostTypeId="2" ParentId="25980" CreationDate="2014-10-07T15:48:35.253" Score="4" Body="&lt;p&gt;This answers question (2):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The greedy heuristic for Set Cover / Maximum Coverage always picks the set which contains the maximal number of uncovered elements.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assuming your modification for the heuristic is picking the set which greedily increases the solution profit, you might end up in a lousy approximation ratio.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider the following example:&#xA;$$A = \{a_1,a_2,\ldots a_{k}\}, B=\{b_1,b_2,\ldots b_k\}$$&#xA;$$C = \{C_1\} \cup C_2$$&#xA;$$C_1= A\cup B \setminus\{b_1\}$$&#xA;$$ C_2 = \{\{a_{i},b_1\}|i\in[k]\}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The greedy heuristic will output $C'=\{C_1\}$, so the profit is $1$, while the optimal solution is $C_2$ which gives profit $k-1$.&lt;/p&gt;&#xA;" OwnerUserId="21001" LastActivityDate="2014-10-07T15:48:35.253" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="25982" PostTypeId="2" ParentId="7147" CreationDate="2014-10-07T19:20:42.617" Score="3" Body="&lt;p&gt;Although not specifically aimed at (rooted) trees, I think the &lt;a href=&quot;http://dx.doi.org/10.1007/s10618-013-0303-4&quot; rel=&quot;nofollow&quot;&gt;G-trie data structure&lt;/a&gt; might perform quite well in your setting. It is an adapation of the trie (for searching sets of strings) to graphs.&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2014-10-07T19:20:42.617" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25983" PostTypeId="2" ParentId="12680" CreationDate="2014-10-07T19:34:06.737" Score="5" Body="&lt;p&gt;There are indeed other restrictions on $P$ that relate this problem to GI. For example, if one requires that $P$ be a Kronecker (tensor) product $P_1 \otimes P_2 \otimes P_3$, then the resulting problem is as hard as equivalence of 3-valent tensors, which is roughly the same complexity as Linear Code Equivalence, which in turn is known to be GI-hard (but not known to be equivalent to GI).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another viewpoint on your question, which may shed some light on the general situation, is as follows. For any group action of $G_n$ on a set $X_n$ (one for each $n$), one can ask about the complexity of deciding if two given points $x,y \in X_n$ are in the same $G_n$-orbit; call this the orbit problem for that (family of) action(s). Your question is then essentially about the complexity of the orbit problems that can be phrased as follows: given a &lt;em&gt;linear&lt;/em&gt; action of a group $G_n$ on a vector space $V_n$, consider the orbit problem of the &lt;em&gt;induced&lt;/em&gt; action of $G_n$ (by conjugation) on $X_n = V_n \otimes (V_n)^*$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For graph isomorphism we have $G_n = S_n$ and $V_n = \mathbb{R}^n$ with the natural action by permuting coordinates. For matrix conjugation we have $G_n = \text{GL}_n(\mathbb{F})$ in its natural action on $V_n = \mathbb{F}^n$. For the above example we have $G_n = \text{GL}_a \times \text{GL}_b \times \text{GL}_c$ in its natural action on $V_n = \mathbb{F}^{a} \otimes \mathbb{F}^b \otimes \mathbb{F}^c$. &lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2014-10-07T19:34:06.737" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25984" PostTypeId="2" ParentId="12715" CreationDate="2014-10-07T19:49:31.767" Score="11" Body="&lt;p&gt;I believe all known GI-completeness results are &lt;em&gt;functorial&lt;/em&gt; (definition in the paper), and Babai has recently shown (ITCS 2014, &lt;a href=&quot;http://people.cs.uchicago.edu/~laci/papers/14itcs.pdf&quot;&gt;free author's copy&lt;/a&gt;) - based on bounds on the structure of automorphism groups of strongly regular graphs - that there is no functorial reduction from GI to strongly regular GI. &lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2014-10-07T19:49:31.767" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25985" PostTypeId="1" AcceptedAnswerId="25987" CreationDate="2014-10-07T20:42:04.930" Score="9" ViewCount="406" Body="&lt;p&gt;We know from Church's theorem that determining first order satisfiability is undecidable in general, but there are several techniques we can use to determine first order satisfiability. The most obvious is to search for a finite model. However, there are a number of statements in first order logic that we can demonstrate have no finite models. For instance, any domain in which an injective and non-surjective function operates is infinite. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;How do we demonstrate satisfiability for first order statements where there aren't finite models or the existence of finite models is unknown? In automated theorem proving we can determine satisfiability several ways:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;We can negate the sentence, and search for a contradiction. If one is found, we prove first order validity of the statement and thus satisfiability.&lt;/li&gt;&#xA;&lt;li&gt;We use saturation with resolution and run out of inferences. More often than not, we will have an infinite amount of inferences to make, so this isn't dependable.&lt;/li&gt;&#xA;&lt;li&gt;We can use forcing, which assumes the existence of a model and also the consistency of the theory.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;I don't know of anyone implementing forcing as a mechanized technique for automated theorem proving, and it doesn't look easy, but I'm interested if it's been done or attempted, as it's been used to prove independence for a number of statements in set theory, which itself has no finite models. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there other techniques known for searching for first order satisfiability that are applicable for automated reasoning or has anyone worked on an automated forcing algorithm?&lt;/p&gt;&#xA;" OwnerUserId="25574" LastActivityDate="2014-10-07T22:44:04.943" Title="First order satisfiability that doesn't have finite models" Tags="&lt;reference-request&gt;&lt;lo.logic&gt;&lt;automated-theorem-proving&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="25987" PostTypeId="2" ParentId="25985" CreationDate="2014-10-07T22:44:04.943" Score="9" Body="&lt;p&gt;Here's an amusing approach by Brock-Nannestad and Schürmann:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.itu.dk/people/tbro/tma.pdf&quot;&gt;Truthful Monadic Abstractions&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The idea is to try to translate first-order sentences into &lt;a href=&quot;http://en.wikipedia.org/wiki/Monadic_predicate_calculus&quot;&gt;&lt;strong&gt;monadic first-order logic&lt;/strong&gt;&lt;/a&gt;, by &quot;forgetting&quot; some of the arguments. Certainly the translation isn't &lt;em&gt;complete&lt;/em&gt;: there are some consistent sentences which become inconsistent after translation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, monadic first order logic is &lt;em&gt;decidable&lt;/em&gt;. One can therefore verify if the translation $\overline F$ of a formula $F$ is consistent:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$ \overline F\not\vdash\bot$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;can be checked by a decision procedure, and implies&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$ F\not\vdash\bot$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Which implies that $F$ has a model, by the completeness theorem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This theme can apply somewhat more generally: identify a decidable sub-logic of your problem, then translate your problem into it, in a way that preserves truth. In particular modern &lt;a href=&quot;http://en.wikipedia.org/wiki/Satisfiability_Modulo_Theories&quot;&gt;SMT solvers&lt;/a&gt; like &lt;a href=&quot;http://z3.codeplex.com/&quot;&gt;Z3&lt;/a&gt; have gotten astonishingly good at proving satisfiability of formulas with quantifiers (by default $\Sigma^0_1$, but can perform well on $\Pi^0_2$ formulas).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Forcing seems to be far out of reach of automated methods at the present.&lt;/p&gt;&#xA;" OwnerUserId="3984" LastActivityDate="2014-10-07T22:44:04.943" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="25988" PostTypeId="2" ParentId="7147" CreationDate="2014-10-07T23:39:20.497" Score="1" Body="&lt;p&gt;A while back I wrote up Ronald Read's tree canonization algorithm and &lt;a href=&quot;http://en.wikipedia.org/wiki/Graph_canonization&quot; rel=&quot;nofollow&quot;&gt;put it on wikipedia&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would make a hashtable for each internal node signature, and label them with a list of pointers back to the subtrees they came from. However, it will only work for treelets with true leaves.&lt;/p&gt;&#xA;" OwnerUserId="2021" LastActivityDate="2014-10-07T23:39:20.497" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25990" PostTypeId="2" ParentId="25980" CreationDate="2014-10-08T08:14:58.420" Score="2" Body="&lt;p&gt;Sorry for answering my own question, but I found the answer quite clearly.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To question 1: It turns out that this problem &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0020019008001592&quot; rel=&quot;nofollow&quot;&gt;has been studied by Pauli Miettinen&lt;/a&gt; not too long ago. The intuitive name given to it is &quot;The Positive-Negative Partial Set Cover problem&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To question 2: Although the adapted trivial heuristic (each time picking the set which greedily increases the solution profit) is not discussed in the paper, Miettinen (in Corollary 3) tells us the following:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;There exists a polynomial-time approximation algorithm for the Positive-Negative Partial Set Cover problem that achieves an approximation factor of $2 \sqrt{\left(m + \pi\right) \log \pi}$, where $m$ and $\pi$ relate to the related approximation of the Red-Blue Set Cover problem (see the paper).&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The polynomial-time algorithm he references is that &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S1570866706000189&quot; rel=&quot;nofollow&quot;&gt;given in Peleg&lt;/a&gt;, which I'm now off to try to understand :).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I thank you all for your contributions and comments!!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;UPDATE&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, the plot thickens. Neal Young kindly and correctly pointed out that Miettinen's objective function is different to mine (see comments). Verbosely...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Understanding my original $A$ set to be the elements we generally &lt;em&gt;do&lt;/em&gt; want covered, and my original $B$ set to be the elements we generally &lt;em&gt;don't&lt;/em&gt; want covered, we understand &lt;em&gt;my&lt;/em&gt; objective function as maximizing (same as in my initial post)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\left| \left(\bigcup\limits_{c \in C'} c \right) \cap A \right| - \left| \left(\bigcup\limits_{c \in C'} c \right) \cap B \right|$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is equivalent to &lt;em&gt;minimizing&lt;/em&gt; (Miettinen minimizes cost rather than maximizing profit)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\left| \left(\bigcup\limits_{c \in C'} c \right) \cap B \right| - \left| \left(\bigcup\limits_{c \in C'} c \right) \cap A \right|$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;With a bit of manipulation&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\left| \left(\bigcup\limits_{c \in C'} c \right) \cap B \right| - \left| \left(\bigcup\limits_{c \in C'} c \right) \cap A \right| + \left( \left| A \setminus \left(\bigcup\limits_{c \in C'} c \right) \right| - \left| A \setminus \left(\bigcup\limits_{c \in C'} c \right) \right| \right)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\Leftrightarrow \left( \left| A \setminus \left(\bigcup\limits_{c \in C'} c \right) \right| + \left| \left(\bigcup\limits_{c \in C'} c \right) \cap B \right| \right) - \left| A \right|$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;we see that (the minimization form of) my objective function &lt;em&gt;plus&lt;/em&gt; $\left|A\right|$ is equivalent to Miettinen's objective function (in parentheses).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Miettinen's objective function is not exactly what I'm looking for. Actually, all this has made me realise that even my objective function isn't exactly in line with my objective (oh dear)! I'm going to take a step back, reformulate, and ask a separate question if required. Again, thank you all for your help.&lt;/p&gt;&#xA;" OwnerUserId="27487" LastEditorUserId="27487" LastEditDate="2014-10-09T08:38:22.613" LastActivityDate="2014-10-09T08:38:22.613" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="25992" PostTypeId="5" CreationDate="2014-10-08T13:54:39.003" Score="0" Body="&lt;p&gt;The study of algorithms for problems where each instance comes with a complexity parameter, and where the run-time of the algorithm is a fixed polynomial in the instance size, but may depend arbitrarily on the parameter. &lt;/p&gt;&#xA;" OwnerUserId="6579" LastEditorUserId="6579" LastEditDate="2014-10-08T15:10:52.390" LastActivityDate="2014-10-08T15:10:52.390" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25993" PostTypeId="4" CreationDate="2014-10-08T13:54:39.003" Score="0" Body="algorithms for parameterized problems where the run-time is polynomial in the input size, but depends arbitrarily on the parameter" OwnerUserId="6579" LastEditorUserId="6579" LastEditDate="2014-10-08T15:11:00.647" LastActivityDate="2014-10-08T15:11:00.647" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25994" PostTypeId="2" ParentId="20267" CreationDate="2014-10-08T14:28:24.437" Score="4" Body="&lt;p&gt;For the third question you can also take a look to &lt;a href=&quot;http://www.graphclasses.org&quot; rel=&quot;nofollow&quot;&gt;www.graphclasses.org&lt;/a&gt; : launch the java applet and select Problems -&gt; Boundary/Open problems -&gt; Graph isomorphism.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You'll get a huge list of graph classes for which the GI problem status is &lt;em&gt;unknown to ISGCI&lt;/em&gt; (it could be in P or GI-complete); probably for some of them the GI-completeness has been already settled, or  simply they have not been studied, yet; but it is a good starting point to search for papers about them.&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2014-10-08T14:34:52.667" LastActivityDate="2014-10-08T14:34:52.667" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="25995" PostTypeId="1" AcceptedAnswerId="25997" CreationDate="2014-10-08T15:09:53.613" Score="20" ViewCount="661" Body="&lt;p&gt;Well, the title pretty much says it all.  The interesting question above was asked by commenter Jay on my blog (see &lt;a href=&quot;http://www.scottaaronson.com/blog/?p=2026#comment-179120&quot;&gt;here&lt;/a&gt; and &lt;a href=&quot;http://www.scottaaronson.com/blog/?p=2026#comment-179646&quot;&gt;here&lt;/a&gt;).  I'm guessing both that the answer is yes and that there's a relatively simple proof, but I couldn't see it offhand.  (Very roughly, though, one could try to show that, if a language in $P^R$ were not in $BPP$, then it must have infinite algorithmic mutual information with $R$, in which case it wouldn't be computable.  Also, note that one direction is trivial: the computable languages in $P^R$ certainly &lt;i&gt;contain&lt;/i&gt; $BPP$.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that I'm &lt;i&gt;not&lt;/i&gt; asking about the class &lt;a href=&quot;https://complexityzoo.uwaterloo.ca/Complexity_Zoo:A#almostp&quot;&gt;AlmostP&lt;/a&gt;, which consists of those languages that are in $P^R$ for almost every $R$ (and is well-known to equal $BPP$).  In this question, we first fix $R$, then look at the set of computable languages in $P^R$.  On the other hand, one could try to show that, if a language in $P^R$ is computable, even for a &lt;i&gt;fixed&lt;/i&gt; random oracle $R$, then in fact that language must be in $AlmostP$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A closely-related question is whether, with probability 1 over a random oracle $R$, we have&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$ AM = NP^R \cap Computable.$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If so, then we get the following interesting consequence: if $P=NP$, then with probability 1 over a random oracle $R$, the only languages that witness the oracle separation $P^R \ne NP^R$ are uncomputable languages.&lt;/p&gt;&#xA;" OwnerUserId="1575" LastEditorUserId="1575" LastEditDate="2014-10-08T15:35:05.020" LastActivityDate="2014-10-10T15:32:52.773" Title="For a random oracle R, does BPP equal the set of computable languages in P^R?" Tags="&lt;computability&gt;&lt;oracles&gt;&lt;random-oracles&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="25996" PostTypeId="1" AcceptedAnswerId="26009" CreationDate="2014-10-08T16:17:50.267" Score="4" ViewCount="241" Body="&lt;p&gt;A simple (though somewhat pedantic) question: when using big O notation in a sentence, should it be preceded with &quot;a&quot; or &quot;an&quot;?  Example:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;The extra loop results in a/an $\mathcal{O}(N)$ increase in cost.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The ubiquitous Cormen textbook notes on page 47:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;For a given function $g(n)$, we denote by $\mathcal{O}(g(n))$ (pronounced “big-oh of g of n” or sometimes just “oh of g of n”)&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;which would seem to indicate &quot;a&quot; should precede something pronounced &quot;big-oh&quot;.  Later on the same page, however, the textbook uses the phrase &quot;an $\mathcal{O}(n^2)$ upper bound.&quot;   Which is used more in the literature?  It seems like a triviality, but as someone working on the edge of theoretical computer science from a primary focus on another field, I'd like not to sound like an outsider. &lt;/p&gt;&#xA;" OwnerUserId="737" LastEditorUserId="737" LastEditDate="2014-10-17T17:52:00.243" LastActivityDate="2014-10-17T17:52:00.243" Title="&quot;a&quot; or &quot;an&quot; with big O notation?" Tags="&lt;notation&gt;" AnswerCount="1" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="25997" PostTypeId="2" ParentId="25995" CreationDate="2014-10-08T18:23:05.917" Score="17" Body="&lt;p&gt;Yes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First, since it took me a minute to figure this out myself, let me formalize the difference between your question and $\mathsf{AlmostP}$; it's the order of quantifiers. $\mathsf{AlmostP} := \{L : Pr_R(L \in \mathsf{P}^R) = 1\}$, and the result you allude to is $\forall L\, L \in \mathsf{BPP} \iff Pr_R(L \in \mathsf{P}^R) = 1$. If I've understood correctly, you are asking if $Pr_R(\forall L\, L \in \mathsf{P}^R \cap \mathsf{COMP} \iff L \in \mathsf{BPP}) = Pr_R(\mathsf{P}^R \cap \mathsf{COMP} = \mathsf{BPP}) = 1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$p := 1-Pr_R(\mathsf{P}^R\cap \mathsf{COMP} = \mathsf{BPP}) = Pr_R(\exists L \in \mathsf{P}^R \cap \mathsf{COMP} \backslash \mathsf{BPP})$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;By the union bound, the $p$ is upper-bounded by $\sum_{L \in \mathsf{COMP}} Pr_R(L \in \mathsf{P}^R \backslash \mathsf{BPP})$. (Note that the latter sum is countable.) Now, by the 0-1 law - which applies since all the relevant statements do not change if we change $R$ finitely much - each individual probability in this sum is either 0 or 1. If the answer to your question is no, then $p=1$, so there must be some $L \in \mathsf{COMP}$ such that $Pr_R(L \in \mathsf{P}^R \backslash \mathsf{BPP}) = 1$. But this contradicts the fact that $\mathsf{AlmostP} = \mathsf{BPP}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Update Oct 10, 2014&lt;/strong&gt;: As pointed out in the comment by Emil Jeřábek, the same argument applies to $\mathsf{AM}$ vs. $\mathsf{NP}^R$, since we also know that $\mathsf{AlmostNP} = \mathsf{AM}$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;He also points out that we didn't use anything about $\mathsf{COMP}$ other than that it is a countable class that contains $\mathsf{BPP}$ (resp., $\mathsf{AM}$). So the &quot;interesting conclusion&quot; in the OQ actually applies to &lt;em&gt;any&lt;/em&gt; countable class of languages $\mathcal{C}$ that contains $\mathsf{AM}$: if $\mathsf{P} = \mathsf{NP}$, the &quot;only&quot; languages that witness the oracle separation $\mathsf{P}^R \neq \mathsf{NP}^R$ are outside of $\mathcal{C}$. But the latter statement feels somewhat misleading to me (it makes it sound like, for any $L_0$ we could consider $\mathcal{C} = \mathsf{AM} \cup \{L_0\}$, and thereby &quot;show&quot; that &lt;em&gt;no&lt;/em&gt; $L_0$ realizes $\mathsf{NP}^R \neq \mathsf{P}^R$, contradicting the well-known theorem). Rather, writing it out symbolically, we've shown:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $\mathsf{P} = \mathsf{NP}$, then $\forall \text{countable } \mathcal{C} \supseteq \mathsf{AM}\, Pr_R(\mathsf{NP}^R \neq \mathsf{P}^R \text{ and } \mathsf{NP}^R \cap \mathcal{C} = \mathsf{P}^R \cap \mathcal{C}) = 1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that, crucially, probability 1 is not the same thing as &lt;em&gt;all&lt;/em&gt; $R$, and which full-measure set of $R$ satisfy the argument to $Pr_R$ can depend on $\mathcal{C}$. So if we try to alter $\mathcal{C}$ to $\mathcal{C} \cup \{L_0\}$, it at most removes a measure 0 set of $R$ that satisfy this statement.&lt;/p&gt;&#xA;" OwnerUserId="129" LastEditorUserId="129" LastEditDate="2014-10-10T15:32:52.773" LastActivityDate="2014-10-10T15:32:52.773" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="25998" PostTypeId="1" AcceptedAnswerId="26014" CreationDate="2014-10-08T18:23:48.187" Score="19" ViewCount="854" Body="&lt;p&gt;Recently, Dana Scott proposed stochastic lambda calculus, an attempt to introduce probabilistic elements into (untyped) lambda calculus based on a semantics called graph model.  You can find his slides on line for example &lt;a href=&quot;http://www.humboldt-kolleg.iam.unibe.ch/talks/Scott.pdf&quot;&gt;here&lt;/a&gt; and his paper in &lt;em&gt;Journal of Applied&#xA;Logic&lt;/em&gt;, vol. 12 (2014).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, by a quick search on the Web, I found similar previous research, for example, &lt;a href=&quot;http://www.cs.tufts.edu/~nr/pubs/pmonad.pdf&quot;&gt;that for Hindley-Milner type system&lt;/a&gt;.  The way they introduce probabilistic semantics is similar to Scott's (in the former, they use monads while in the latter Scott uses continuation-passing style).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In which way is the Scott's work different from previous work available, in terms of theories themselves or their possible applications?&lt;/p&gt;&#xA;" OwnerUserId="7462" LastEditorUserId="7462" LastEditDate="2014-10-09T07:04:04.567" LastActivityDate="2014-10-10T11:58:07.700" Title="Scott's stochastic lambda calculi" Tags="&lt;lo.logic&gt;&lt;pl.programming-languages&gt;&lt;lambda-calculus&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="25999" PostTypeId="1" CreationDate="2014-10-08T20:32:10.343" Score="3" ViewCount="275" Body="&lt;p&gt;I am trying to understand better how the category definition of monad is related to the computer science definition.  &lt;a href=&quot;https://ncatlab.org/nlab/show/monad&quot; rel=&quot;nofollow noreferrer&quot;&gt;nlab&lt;/a&gt; has a rather terse definition of Monad in terms of a &lt;a href=&quot;https://ncatlab.org/nlab/show/bicategory&quot; rel=&quot;nofollow noreferrer&quot;&gt;bicategory&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;an object $a$&lt;/li&gt;&#xA;&lt;li&gt;an endomorphism $t: a \to a$&lt;/li&gt;&#xA;&lt;li&gt;$2$-cells $\mu, \eta$ (multiplication and unit).&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;For the case of programming languages, what are the objects (&lt;strong&gt;0&lt;/strong&gt;-cells), morphisms (&lt;strong&gt;1&lt;/strong&gt;-cells) and 2-morphisms (&lt;strong&gt;2&lt;/strong&gt;-cells)? I am guessing the object is a type and multiplication is the &lt;code&gt;&amp;gt;&amp;gt;=&lt;/code&gt; operator (some way of putting commands in succession).  I won' t know what the endomorphism $t$ could be.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I was told that &lt;code&gt;list&lt;/code&gt; is a monad, so is &lt;code&gt;maybe&lt;/code&gt; and &lt;code&gt;IO&lt;/code&gt; but I don't see the category or endomorphisms there.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Alternatively they have another definition that kind of makes sense:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Indeed, one can define a monad on an object a of a bicategory K as just a monoid in the endomorphism category K(a,a).&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Are the endomorphism the lines of code preserving the type &lt;strong&gt;a&lt;/strong&gt;?&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;nLab goes on to say, that monads can be represented as string diagrams.  Here are &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://ncatlab.org/nlab/files/monad-data-unlabeled.png&quot; alt=&quot;&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The axioms for a monad - could be represented in terms of the &lt;code&gt;&amp;gt;&amp;gt;=&lt;/code&gt; operator in a language like Haskell - are represented in terms of string diagrams.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://ncatlab.org/nlab/files/monad-axioms-unlabeled.png&quot; alt=&quot;&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then, can a computer program be represented in terms of these diagrams?&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;This is a sequel to a previous question:  &lt;a href=&quot;https://cs.stackexchange.com/questions/30757/how-is-io-a-monad&quot;&gt;https://cs.stackexchange.com/questions/30757/how-is-io-a-monad&lt;/a&gt; and can be migrated at the discretion of the admins.&lt;/p&gt;&#xA;" OwnerUserId="11012" LastEditorUserId="-1" LastEditDate="2017-04-13T12:48:30.830" LastActivityDate="2014-10-09T09:08:54.743" Title="understanding programming monads through diagrams" Tags="&lt;pl.programming-languages&gt;&lt;ct.category-theory&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="26002" PostTypeId="2" ParentId="25999" CreationDate="2014-10-09T09:08:54.743" Score="3" Body="&lt;p&gt;I think the nLab definition is too abstract and is confusing you more than anything. Perhaps you should start from &lt;a href=&quot;http://en.wikipedia.org/wiki/Monad_%28functional_programming%29&quot; rel=&quot;nofollow noreferrer&quot;&gt;Wikipedia&lt;/a&gt;?  Anyway, here are some comments.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;For the case of programming languages, what are the objects (0-cells), morphisms (1-cells) and 2-morphisms (2-cells)?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;In the case of programming languages (and in most usual cases) the bicategory in question is $\mathbf{Cat}$, the 2-category whose 0-cells are categories, 1-cells functors and 2-cells natural transformations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Spelling out the nLab definition, the object is a category, the endomorphism is an endofunctor and multiplication and unit are natural transformations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A typed functional programming language usually induces a category as follows: the objects of the category are types; a morphism $A\rightarrow B$ is an expression (&lt;em&gt;i.e.&lt;/em&gt;, a program) of type B containing a parameter of typa A, modulo evaluation.  I am not overly familiar with Haskell but I believe that people call the induced category $\mathbf{Hask}$, so a Haskell monad is nothing but an endofunctor (with suitable natural transformations) of $\mathbf{Hask}$.  If I am not mistaken, in that context the unit is called &quot;return&quot;, whereas multiplication is called &quot;bind&quot;, &lt;em&gt;i.e.&lt;/em&gt;, the &lt;code&gt;&amp;gt;&amp;gt;=&lt;/code&gt; operator (the category-theorist's definition of multiplication $\mu$ may be easily recovered from &lt;code&gt;&amp;gt;&amp;gt;=&lt;/code&gt;, and vice versa).&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Are the endomorphism the lines of code preserving the type &lt;strong&gt;a&lt;/strong&gt;?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;No.  As I said above, the endomorphisms are endofunctors. For Haskell, the object &lt;strong&gt;a&lt;/strong&gt; is not a type but the category $\mathbf{Hask}$.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Then, can a computer program be represented in terms of these diagrams?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The answer is actually yes, but not through the connection you are describing. In fact, the string diagrams you mentioned live in the 2-category $\mathbf{Cat}$, whereas programs live in the category induced by the programming language.  A little more on this topic may be found in the answers to &lt;a href=&quot;https://cstheory.stackexchange.com/questions/16159/how-should-i-think-about-proof-nets&quot;&gt;this cstheory.SE question&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="20716" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:30.623" LastActivityDate="2014-10-09T09:08:54.743" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="26003" PostTypeId="1" CreationDate="2014-10-09T10:14:09.900" Score="17" ViewCount="472" Body="&lt;p&gt;&lt;strong&gt;Edit:&lt;/strong&gt; let me reformulate the question in a more specific way (and change the title accordingly). A slightly edited version of the original question follows.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a result comparable to the Karp-Lipton theorem starting from the assumption $L\in\mathsf{NC}^1/\mathsf{poly}$ with $L$ an $\mathsf L$-complete language (under, say, $\mathsf{AC}^0$ reductions)?  By &quot;comparable&quot; I mean that it derives non-trivial consequences (perhaps considered unlikely) from the assumption.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;I am having trouble finding in the literature (or online) a discussion of the relationship between $\mathsf{NC}^1$ and logarithmic space going beyond &quot;the former is included in the latter and it is open whether the inclusion is strict&quot;.  More specifically, I could find only &lt;strike&gt;two&lt;/strike&gt; three pieces of evidence against equality of the two classes:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Barrington's theorem and the characterization of non-uniform deterministic logspace in terms of branching programs gives us $\mathsf{NC}^1/\mathsf{poly}=\mathsf{L}/\mathsf{poly}$ iff bounded-width polysize branching programs are as expressive as arbitrary polysize branching programs, which I guess would be highly surprising (especially considering how surprising Barrington's theorem itself is).&lt;/li&gt;&#xA;&lt;li&gt;Markus Holzer [Hol02] proved that $\mathsf{NC}^1/\mathsf{poly}=\mathsf{L}/\mathsf{poly}$ iff one-head two-way non-uniform deterministic finite automata have the same expressive power whether they are oblivious or not (&quot;oblivious&quot; means that the movement of the head during the computation depends only on the length of the input, not on the input itself). Oblivious polytime Turing machines do have the same power as non-oblivious ones, but I guess it is hard to see how that simulation may be done in the much more restricted framework of finite automata.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Edit:&lt;/strong&gt; there is &lt;a href=&quot;http://ftp.cs.rutgers.edu/pub/allender/plan.ggr.pdf&quot; rel=&quot;noreferrer&quot;&gt;a paper&lt;/a&gt; by Allender et al. [ABCDR09] in which a number of reachability problems for certain classes of graphs are shown to be hard for $\mathsf{NC}^1$ under $\mathsf{AC}^0$ reductions, whereas the same problems are not known to be hard for $\mathsf{L}$. As stated by the authors, &quot;this gives a cluster of natural problems that are candidates for having complexity intermediate between $\mathsf{NC}^1$ and $\mathsf{L}$&quot;.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Besides the above points and the usual empirical evidence ($\mathsf{L}$-complete problems do not seem to have logarithmic-depth bounded fan-in circuits), is there any other evidence against $\mathsf{NC}^1=\mathsf{L}$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[Hol02] Markus Holzer. Multi-head finite automata: data-independent versus data-dependent computations. Theor. Comput. Sci. 286(1):97-116 (2002).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[ABCDR09] Eric Allender, David A. Mix Barrington, Tanmoy Chakraborty, Samir Datta and Sambuddha Roy. Planar and Grid Graph Reachability Problems. Theory Comput. Syst. 45(4):675--723 (2009).&lt;/p&gt;&#xA;" OwnerUserId="20716" LastEditorUserId="20716" LastEditDate="2014-10-22T10:11:08.813" LastActivityDate="2014-10-22T10:11:08.813" Title="What if an $\mathsf L$-complete problem has $\mathsf{NC}^1$ circuits? More generally, what evidence is there against $\mathsf{NC}^1=\mathsf{L}$?" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;circuit-complexity&gt;&lt;advice-and-nonuniformity&gt;&lt;logspace&gt;" AnswerCount="0" CommentCount="5" FavoriteCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="26004" PostTypeId="1" CreationDate="2014-10-09T11:44:19.890" Score="9" ViewCount="523" Body="&lt;p&gt;As we know matching can be solve in polynomial time. One classical and famous algorithm is designed by Karp and Hopcroft. &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is it possible to solve perfect matching problem in linear time for given $G=(V,E)$? Here, we say linear time as $O(|V|+|E|)$. I think it is impossible to solve it in linear time.  Are there plausible evidence such as complexity lower bounds for some limited computation models or conditional results indicating the linear time intractablity of matching problems? &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="27507" LastEditorUserId="27507" LastEditDate="2014-10-17T11:51:03.453" LastActivityDate="2014-10-17T11:51:03.453" Title="Is it possible to solve perfect matching in linear time" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;graph-theory&gt;&lt;matching&gt;" AnswerCount="0" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="26005" PostTypeId="1" CreationDate="2014-10-09T14:29:28.753" Score="0" ViewCount="102" Body="&lt;p&gt;I will be giving talks about general topics in CS, and want to hit on TCS as well. The talks will be given to K-12 schools, so not all of them will be seniors who may go to an undergraduate program at a university (Note: this question is different than &lt;a href=&quot;https://cstheory.stackexchange.com/questions/2386/inspirational-talk-for-final-year-high-school-pupils&quot;&gt;Inspirational talk for final year high school pupils&lt;/a&gt;, which only concerns seniors).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am looking for references/videos/lecture slides/etc. that deal with CS/TCS topics in a general perspective given towards high/middle/lower school students.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The only one I have been able to find so far is this one: &lt;a href=&quot;https://www.youtube.com/watch?v=msp2y_Y5MLE&quot; rel=&quot;nofollow&quot;&gt;https://www.youtube.com/watch?v=msp2y_Y5MLE&lt;/a&gt; by Michael Sipser on the P vs NP problem. It is interesting, but I want to know if there are other sources that give insight into major CS topics that they + a general audience may not have heard about before.&lt;/p&gt;&#xA;" OwnerUserId="25556" LastActivityDate="2014-10-09T17:19:15.043" Title="Talk for K-12 Students + General Audience Reference Request" Tags="&lt;reference-request&gt;&lt;soft-question&gt;&lt;teaching&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="26007" PostTypeId="2" ParentId="26005" CreationDate="2014-10-09T17:19:15.043" Score="1" Body="&lt;p&gt;As one of the topics of your lecture, the problems from combinatorics might be good candidates.Generally, a high school student has some conception on permutation, combination and high school geometry. So, following examples illustrates what i mean.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Take arbitary points on plane. Can we always find a line such that the number of points above and below the line is same? If yes, how ?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Take a point set on plane. How can we find the minimum number of points that should be added to the point set such that it contains 4 points forming a square?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;etc. Actually, the many problems in combinatorial geometry are even though hard to solve, but since they mainly focuses on points, lines they can act as motivational problems.&lt;/p&gt;&#xA;" OwnerUserId="12280" LastActivityDate="2014-10-09T17:19:15.043" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="26008" PostTypeId="1" CreationDate="2014-10-09T19:50:47.270" Score="4" ViewCount="149" Body="&lt;p&gt;A cycle permutation graph is a cubic graph composed from two $n$-cycles each labeled $1, 2,..., n$, with additional edges connecting vertex $i$ in the first cycle to vertex $\pi(i)$ in the second, where $\pi$ is a permutation in $S_n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am interested in the complexity of recognizing cycle permutation graphs. I guess it is NP-complete. I did not find any literature on the computational aspects of this class of cubic graphs.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is the recognition problem of cycle permutation graphs $NP$-complete?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The input is a cubic graph. The problem is to determine whether it is a cycle permutation graph or not.&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2014-10-09T20:03:47.050" LastActivityDate="2014-10-10T08:09:34.107" Title="Recognition problem of cycle permutation graphs" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;&lt;permutations&gt;" AnswerCount="0" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="26009" PostTypeId="2" ParentId="25996" CreationDate="2014-10-09T20:14:42.367" Score="8" Body="&lt;p&gt;Evidence for &quot;an&quot;:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Ajtai, Miklós, János Komlós, and Endre Szemerédi. &quot;&lt;a href=&quot;http://dl.acm.org/citation.cfm?id=808726&quot;&gt;An O(n log n) sorting network.&lt;/a&gt;&quot; Proceedings of the fifteenth annual ACM symposium on Theory of computing. ACM, 1983.&lt;/li&gt;&#xA;&lt;li&gt;Asadpour, Arash, et al. &quot;&lt;a href=&quot;http://epubs.siam.org/doi/abs/10.1137/1.9781611973075.32&quot;&gt;An O(log n/log log n)-approximation Algorithm for the Asymmetric Traveling Salesman Problem.&lt;/a&gt;&quot; SODA. Vol. 10. 2010.&lt;/li&gt;&#xA;&lt;li&gt;Bracha, Gabriel. &quot;&lt;a href=&quot;http://dl.acm.org/citation.cfm?id=42229&quot;&gt;An O(log n) expected rounds randomized Byzantine generals protocol.&lt;/a&gt;&quot; Journal of the ACM (JACM) 34.4 (1987): 910-920.&lt;/li&gt;&#xA;&lt;li&gt;Hwang, F. K. &quot;&lt;a href=&quot;http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=1084551&quot;&gt;An O(n log n) algorithm for suboptimal rectilinear Steiner trees.&lt;/a&gt;&quot; Circuits and Systems, IEEE Transactions on 26.1 (1979): 75-77.&lt;/li&gt;&#xA;&lt;li&gt;Tarjan, Robert E., and Christopher J. Van Wyk. &quot;&lt;a href=&quot;http://epubs.siam.org/doi/abs/10.1137/0217010&quot;&gt;An O(n log log n)-time algorithm for triangulating a simple polygon.&lt;/a&gt;&quot; SIAM Journal on Computing 17.1 (1988): 143-178.&lt;/li&gt;&#xA;&lt;li&gt;Yao, Andrew Chi-Chih. &quot;&lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/0020019075900563&quot;&gt;An O (|E| log log|V|) algorithm for finding minimum spanning trees.&lt;/a&gt;&quot; Information Processing Letters 4.1 (1975): 21-23.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Of course, these examples alone merely suggest that &quot;an&quot; is acceptable. This list does not show that &quot;an&quot; is necessarily standard or preferred nor does it show that &quot;a&quot; is unacceptable.&lt;/p&gt;&#xA;" OwnerUserId="751" LastActivityDate="2014-10-09T20:14:42.367" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="26010" PostTypeId="2" ParentId="25995" CreationDate="2014-10-09T21:00:01.977" Score="7" Body="&lt;p&gt;While the order of quantifiers between what you are asking and almost P differ,&#xA;it is not too hard to show that they are equivalent.   First, for any fixed L,&#xA;the question of whether L \in P^O does not depend on any finite initial segment&#xA;of O.  it follows that the probability that L \in P^R is either 0 or 1.   From&#xA;the almost -P result, for each computable L not in BPP, the answer is 0, while&#xA;if L \in BPP, the probability is 1.   Since there are countably many computable L, we can do a union bound; a countable union of probability 0 sets has probability 0.  Thus, the probability that there is any computable L that is not in BPP but is in P^R is 0, as is the probability that there is a language in BPP&#xA;not in P^R,&lt;/p&gt;&#xA;" OwnerUserId="332" LastActivityDate="2014-10-09T21:00:01.977" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="26011" PostTypeId="1" CreationDate="2014-10-09T22:27:49.847" Score="1" ViewCount="308" Body="&lt;p&gt;Are &quot;Locality Preserving projections(LPP)&quot; and &quot;Laplacian eigenmap&quot; one method for dimension reduction, only under different names? I have not seen any article refer to them as the same method, in fact in LPP paper, they cite Laplacian eigenmap as a non-linear dimension reduction and say that LPP is a linear dim reduction method. But both algorithms have exactly same description. Are they a same method, or am I missing something?&lt;/p&gt;&#xA;" OwnerUserId="27514" LastActivityDate="2014-11-13T20:01:23.813" Title="Is Locality preserving projections (LPP) method the same as Laplacian eigenmap method?" Tags="&lt;high-dimensional-geometry&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="26012" PostTypeId="1" CreationDate="2014-10-09T22:48:32.537" Score="5" ViewCount="1990" Body="&lt;p&gt;Let's suppose that $P\ne NP$. Is that possible to solve all the instances of size $n$ of an NP-complete problem in polynomial time using some &quot;universal magic constant&quot; $C_n$ that has a polynomial length $P(n)$?&#xA;Clearly, if $P\ne NP$ this constant can be only calculated in exponential time and the calculation must be done for each $n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks&lt;/p&gt;&#xA;" OwnerUserId="27515" LastEditorUserId="2696" LastEditDate="2014-10-10T13:41:18.180" LastActivityDate="2014-10-17T00:40:08.610" Title="Magic constant to solve NP-complete problem in polynomial time" Tags="&lt;time-complexity&gt;&lt;polynomial-time&gt;&lt;np-complete&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="26013" PostTypeId="2" ParentId="26012" CreationDate="2014-10-09T23:07:36.123" Score="34" Body="&lt;p&gt;Probably not. What you are asking is whether NP $\subset$ &lt;a href=&quot;https://en.wikipedia.org/wiki/P/poly&quot;&gt;P/poly&lt;/a&gt;. If this were true, then the polynomial hierarchy would collapse (this is the &lt;a href=&quot;https://en.wikipedia.org/wiki/Karp%E2%80%93Lipton_theorem&quot;&gt;Karp–Lipton theorem&lt;/a&gt;), something that is widely believed not to happen.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2014-10-09T23:07:36.123" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="26014" PostTypeId="2" ParentId="25998" CreationDate="2014-10-10T03:01:49.643" Score="15" Body="&lt;p&gt;One apparent strength of his approach is that it allows higher-order functions (i.e. lambda terms) to be observable outcomes, which measure theory generally makes quite tricky. (The basic problem is that spaces of measurable functions generally have no Borel $\sigma$-algebra for which the application function - sometimes called &quot;eval&quot; - is measurable; see the intro to the paper &lt;a href=&quot;http://projecteuclid.org/euclid.ijm/1255631584&quot;&gt;Borel structures for function spaces&lt;/a&gt;.) Scott does this using a Gödel encoding from lambda terms to natural numbers, and working directly with the encoded terms. One weakness to this approach may be that the encoding could be difficult to extend with real numbers as program values. (Edit: This is not a weakness - see Andrej's comment below.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Using CPS seems to be primarily for imposing a total order on computations, to impose a total order on access to the random source. The state monad should do just as well.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Scott's &quot;random variables&quot; seem to be the same as Park's &quot;sampling functions&quot; in his &lt;a href=&quot;https://www.cs.cmu.edu/~fp/papers/popl05.pdf&quot;&gt;operational semantics&lt;/a&gt;. The technique of transforming standard-uniform values into values with any distribution is more widely known as &lt;a href=&quot;http://en.wikipedia.org/wiki/Inverse_transform_sampling&quot;&gt;inverse transform sampling&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I believe there's just one fundamental difference between Ramsey's and Scott's semantics. Ramsey's interprets programs as computations that build a measure on program outputs. Scott's assumes an existing uniform measure on &lt;em&gt;inputs&lt;/em&gt;, and interprets programs as transformations of those inputs. (The output measure can in principle be computed using &lt;a href=&quot;http://en.wikipedia.org/wiki/Pushforward_measure&quot;&gt;preimages&lt;/a&gt;.) Scott's is analogous to using the Random monad in Haskell.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In its overall approach, Scott's semantics seems most similar to the second half of &lt;a href=&quot;http://students.cs.byu.edu/~ntoronto/dissertation.pdf&quot;&gt;my dissertation on probabilistic languages&lt;/a&gt; - except I stuck with first-order values instead of using a clever encoding, used infinite trees of random numbers instead of streams, and interpreted programs as arrow computations. (One of the arrows computes the transformation from the fixed probability space to program outputs; the others compute preimages and approximate preimages.) My dissertation's chapter 7 explains why I think interpreting programs as transformations of a fixed probability space is better than interpreting them as computations that build a measure. It basically comes down to &quot;fixpoints of measures are way complicated, but we understand fixpoints of programs pretty well.&quot;&lt;/p&gt;&#xA;" OwnerUserId="3644" LastEditorUserId="3644" LastEditDate="2014-10-10T11:58:07.700" LastActivityDate="2014-10-10T11:58:07.700" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="26015" PostTypeId="2" ParentId="25814" CreationDate="2014-10-10T04:29:18.917" Score="1" Body="&lt;p&gt;Our work on soft verification of contracts is related, at &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=2384655&quot; rel=&quot;nofollow&quot;&gt;OOPSLA 2012&lt;/a&gt; and &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=2628156&quot; rel=&quot;nofollow&quot;&gt;ICFP 2014&lt;/a&gt;, allows you to write contracts, which are a lot like ACSL specs, and then either statically verify them or use them a dynamic checks at runtime.&lt;/p&gt;&#xA;" OwnerUserId="2185" LastActivityDate="2014-10-10T04:29:18.917" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="26017" PostTypeId="1" AcceptedAnswerId="26019" CreationDate="2014-10-10T08:50:49.043" Score="21" ViewCount="2387" Body="&lt;p&gt;This is sort of an open-ended question - for which I apologize in advance.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there examples of statements that (seemingly) don't have anything to do with complexity or Turing machines but the answer of which would imply $\mathbf{P}\neq \mathbf{NP}$?&lt;/p&gt;&#xA;" OwnerUserId="27518" LastEditorUserId="6579" LastEditDate="2016-12-02T13:11:59.883" LastActivityDate="2016-12-02T13:11:59.883" Title="Statements that imply $\mathbf{P}\neq \mathbf{NP}$" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;p-vs-np&gt;" AnswerCount="6" CommentCount="5" FavoriteCount="10" ContentLicense="CC BY-SA 3.0" />
  <row Id="26019" PostTypeId="2" ParentId="26017" CreationDate="2014-10-10T11:24:56.323" Score="14" Body="&lt;p&gt;A proof system for propositional logic is called &lt;em&gt;polynomially bounded&lt;/em&gt;, if every tautology $\varphi$ has a proof in the system of length polynomial in the length of $\varphi$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The statement &quot;There is no polynomially bounded propositional proof system&quot; is equivalent to $\mathsf{NP} \neq \mathsf{co}\text-\mathsf{NP}$ by a &lt;a href=&quot;http://projecteuclid.org/euclid.jsl/1183740343&quot;&gt;classic result of Cook and Reckhow&lt;/a&gt;, so it implies $\mathsf{P} \neq \mathsf{NP}$. &lt;/p&gt;&#xA;" OwnerUserId="6579" LastActivityDate="2014-10-10T11:24:56.323" CommentCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="26020" PostTypeId="2" ParentId="26017" CreationDate="2014-10-10T11:57:36.973" Score="1" Body="&lt;p&gt;How about Philip Maymin's &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&quot;&lt;a href=&quot;http://arxiv.org/pdf/1002.2284v2.pdf&quot; rel=&quot;nofollow&quot;&gt;Markets are efficient if and only if P = NP&lt;/a&gt;&quot; claim ?&lt;/p&gt;&#xA;" OwnerUserId="21001" LastActivityDate="2014-10-10T11:57:36.973" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="26021" PostTypeId="1" CreationDate="2014-10-10T12:44:44.717" Score="13" ViewCount="438" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;What is the minimum tree-width of a circuit over $\{\wedge,\vee,\neg\}$ for computing MAJ?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Here MAJ $:\{0,1\}^n \rightarrow \{0,1\}$ outputs 1 iff at least half of its inputs are $1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I care only about the size of the circuit (ought to be polynomial) and that an input should be read only once though the fan-out of an input gate can be arbitrary (this crucially affects the tree-width of the circuit - the branching programs obtained from Barrington's theorem from the MAJ $\in$ $\mathsf{NC}^1$, interpreted as skew circuits, do not help). And of course the tree-width is the most crucial thing. I do &lt;strong&gt;not&lt;/strong&gt; care about the depth or any other parameter.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some of the common circuits for MAJ include:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Wallace tree circuits (e.g.Theorem 8.9 &lt;a href=&quot;http://courses.cs.washington.edu/courses/cse532/08sp/lect08.pdf&quot;&gt;here&lt;/a&gt;) which use the 3-to-2 trick to place MAJ in $\mathsf{NC}^1$?&lt;/li&gt;&#xA;&lt;li&gt;Valiant's monotone $\mathsf{NC}^1$ circuits for MAJ (e.g. Theorem 4 &lt;a href=&quot;http://www.math.ucsd.edu/~sbuss/CourseWeb/Math262A_2013F/Scribe13.pdf&quot;&gt;here&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;li&gt;$\log^{O(1)}{n}$ depth sorting network such as &lt;a href=&quot;http://en.wikipedia.org/wiki/Batcher_odd%E2%80%93even_mergesort&quot;&gt;Batcher&lt;/a&gt; sort&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://dl.acm.org/citation.cfm?id=808726&quot;&gt;AKS&lt;/a&gt; sorting network&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Do any of them have bounded or even polylogarithmic tree-width?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Or in fact,&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Are there reasons to believe that there are no bounded tree-width circuits for &#xA;  MAJ? &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Notice that every function computed by a bounded tree-width circuit can be computed by an $\mathsf{NC}^1$ circuit even when there is no read-once stipulation via &lt;a href=&quot;http://link.springer.com/chapter/10.1007%2F978-3-642-13182-0_21&quot;&gt;JansenSarma&lt;/a&gt;. Thus the implausibility of such a circuit family would indicate &#xA;that this bound can be tightened further in the case of read-once circuits.&lt;/p&gt;&#xA;" OwnerUserId="214" LastActivityDate="2014-10-15T19:47:17.403" Title="Minimum Tree-width of circuit for MAJORITY" Tags="&lt;reference-request&gt;&lt;complexity-classes&gt;&lt;circuit-complexity&gt;&lt;treewidth&gt;" AnswerCount="2" CommentCount="5" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="26022" PostTypeId="1" CreationDate="2014-10-10T12:44:47.320" Score="1" ViewCount="191" Body="&lt;p&gt;Let $L'$ be the language containing all the pairs $(G,v)$ where $G$ is a directed graph and $v$ is a vertex in $G$ such that $G$ contains a cycle (i.e. closed walk) that contains $v$ and the number of different vertices that appear in that cycle is odd.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is the complexity class of $L'$? Can it be in $NL$?&lt;/p&gt;&#xA;" OwnerUserId="27520" LastActivityDate="2014-10-10T12:44:47.320" Title="Determine the complexity class of a language" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;" AnswerCount="0" CommentCount="9" ClosedDate="2014-10-11T12:59:05.967" ContentLicense="CC BY-SA 3.0" />
  <row Id="26023" PostTypeId="1" CreationDate="2014-10-10T15:32:51.427" Score="2" ViewCount="49" Body="&lt;p&gt;For the following, $(w,x) &amp;gt;= (y,z)$ iff $w &amp;gt;= y$ and $x &amp;gt;= z$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have a list, $L$, of $k$ points with integer coordinates ranging from $0$ to $n-1$.  Each point has an associated set.  I would like a data structure that can perform the following:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$include(x,y,i)$ - include the element $i$ to all of the sets associated with a point $p$, where $p &amp;gt;= (x,y)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$remove(x,y,i)$ - remove the element $i$ from all of the sets associated with a point $p$, where $p &amp;gt;= (x,y)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$retrieve(x,y)$ - retrieve the set associated with point $p = (x,y)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My intuition is telling me that $include$ and $remove$ should be possible in something like $\text{polylog}(k)$ and $retrieve$ should be possible in something like $\text{polylog}(k) \times (\text{size of set})$.  The 2-dimensional aspect of this is stumping me, however.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Motivation: this data structure could be very useful for quickly calculating edit distances for a data set I'm using at work.&lt;/p&gt;&#xA;" OwnerUserId="4765" LastActivityDate="2014-10-10T15:32:51.427" Title="2-dimensional dynamic set retrieval" Tags="&lt;ds.algorithms&gt;&lt;ds.data-structures&gt;&lt;dynamic-algorithms&gt;" AnswerCount="0" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="26024" PostTypeId="2" ParentId="138" CreationDate="2014-10-10T16:02:58.323" Score="5" Body="&lt;p&gt;to jump off somewhat on other angle/ answer here by AS, this is an &lt;a href=&quot;https://cstheory.stackexchange.com/a/18922/7884&quot;&gt;open question&lt;/a&gt; (also &lt;a href=&quot;https://cstheory.stackexchange.com/questions/686/do-many-one-reductions-and-turing-reductions-define-the-same-class-npc&quot;&gt;here&lt;/a&gt;) at the frontiers of TCS whether Cook (&quot;Turing&quot;) reductions are different than Karp-Levin (&quot;many-one&quot;) reductions, possibly equivalent to (major? key?) open questions of complexity class separations. here is a new result along these lines&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://eccc.hpi-web.de/report/2014/126/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Separating Cook Completeness from Karp-Levin Completeness under a Worst-Case Hardness Hypothesis&lt;/a&gt; / Debasis Mandal, A. Pavan, Rajeswari Venugopalan (ECCC TR14-126)&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;We show that there is a language that is Turing complete for NP but not many-one complete for NP, under a &lt;em&gt;worst case&lt;/em&gt; hardness hypothesis.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2014-10-10T16:02:58.323" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="26026" PostTypeId="1" AcceptedAnswerId="33647" CreationDate="2014-10-10T18:30:20.363" Score="21" ViewCount="1158" Body="&lt;p&gt;It is a classic result that every fan-in 2 AND-OR-NOT circuit that computes PARITY from the input variables has size at least $3(n-1)$ and this is sharp.&#xA;(We define size as the number of AND and OR gates.)&#xA;The proof is by gate-elimination and it seems to fail if we allow arbitrary fan-in.&#xA;What is known for this case?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Specifically, does anyone know an example when larger fan-in helps, i.e., we need less than $3(n-1)$ gates?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Update Oct 18.&lt;/strong&gt; Marzio has shown that for $n=3$ even $5$ gates suffice using the CNF form of PARITY. This implies a bound of $\lfloor \frac 52 n \rfloor-2$ for general $n$. Can YOU do better?&lt;/p&gt;&#xA;" OwnerUserId="419" LastEditorUserId="419" LastEditDate="2014-10-19T19:30:27.640" LastActivityDate="2016-01-25T17:15:42.047" Title="What is the minimum size of a circuit that computes PARITY?" Tags="&lt;cc.complexity-theory&gt;&lt;circuit-complexity&gt;&lt;parity&gt;" AnswerCount="4" CommentCount="10" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="26027" PostTypeId="2" ParentId="26017" CreationDate="2014-10-10T18:42:37.417" Score="9" Body="&lt;p&gt;there is a somewhat side/more recently studied field of complexity called &lt;em&gt;graph complexity&lt;/em&gt; that studies how larger graphs are built out of smaller graphs using AND and OR operations of edges. Jukna has a &lt;a href=&quot;http://www.thi.informatik.uni-frankfurt.de/~jukna/ftp/graph-compl.pdf&quot;&gt;nice survey&lt;/a&gt;. in particular using units of &quot;star graphs&quot; there is a key theorem, see p20 remark 1.18 (the theorem is technically stronger than below and actually implies $P \ne NP/poly$):&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;We already known (Theorem 1.7) that bipartite $n × m$ graphs G of star complexity&#xA;  $Star(G) = &#xA;(nm/ \log n)$ exist; in fact, such are almost all graphs. On&#xA;  the other hand, the Strong Magnification Lemma implies that even a lower&#xA;  bound of $Star(G) ≥ (2+c)n$ for an arbitrarily small constant $c &amp;gt; 0$ on the star&#xA;  complexity of an explicit $n×m$ graph $G$ with $m = o(n)$ would have great consequences&#xA;  in circuit complexity: such a graph would give an explicit boolean&#xA;  function $f_G$ requiring circuit of exponential (in the number $\log_2 nm$ of variables)&#xA;  size! (Recall that, for boolean functions, even super-linear lower bounds&#xA;  are not known so far.) In particular, if the graph $G$ is such that the adjacency&#xA;  of vertices in $G$ can be determined by a nondeterministic Turing machine running&#xA;  in time polynomial in the binary length $log_2 n$ of the codes of vertices,&#xA;  then a lower bound&#xA;  $Star(G) ≥ (2 + c)n$&#xA;  for an arbitrarily small constant $c &amp;gt; 0$ would imply that $P \ne NP$. Thus,&#xA;  star complexity of graphs captures one of the most fundamental problems of&#xA;  computer science.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2014-10-10T18:42:37.417" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="26029" PostTypeId="1" CreationDate="2014-10-10T19:44:47.340" Score="5" ViewCount="150" Body="&lt;p&gt;The chromatic number $\chi(G)$ of an undirected graph $G$ is the minimum number of colors in a proper coloring of the vertices of $G$ (where a proper coloring uses different colors for two vertices connected by an edge). I am interested in a related quantity. In my problem, I am given a probability distribution $P$ on the vertices of $G$ and I am interested in minimizing the (Shannon) entropy of the induced probability distribution on the colors over all proper colorings of the vertices of $G.$ Let this quantity be denoted by $\rho(G,P).$ We have trivially,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\rho(G,P)\leq \log_2\chi(G).$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that the entropy minimizing coloring need not use the minimum possible number of colors. Eg. Consider a 6-cycle with probabilities 0.48,0.01,0.01,0.48,0.01,0.01 in that order. The three-coloring that pairs the two heavy diametrically opposite points will have a lower entropy than any two-coloring.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More generally, I want to understand what happens when one considers tensor powers of the graph. Consider the AND product of graphs where an edge exists between $(v_1,v_2)$ and $(w_1,w_2)$ if and only if there exist edges $(v_1,w_1)$ and $(v_2,w_2)$ or if $v_1=w_1$ and $(v_2,w_2)$ is an edge or if $v_2=w_2$ and $(v_1,w_1)$ is an edge. It is easy to show that the sequence $\chi(G^{\otimes n})$ is sub-multiplicative and so the limit $\lim_{n\to\infty}\chi(G^{\otimes n})^{\frac{1}{n}}$ exists (sometimes called Witsenhausen's rate of $G$). An analogous quantity for $\rho$ may be defined as below and existence of the limit follows from subadditivity again:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\lim_{n\to\infty} \frac{\rho(G^{\otimes n},P^{\otimes n})}{n}.$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note here we also take the tensor product of the specified probability distribution $P$. Do we know anything about these quantities? Any related references would be useful. Thanks!&lt;/p&gt;&#xA;" OwnerUserId="7823" LastEditorUserId="7823" LastEditDate="2014-10-14T15:07:03.767" LastActivityDate="2014-10-14T15:07:03.767" Title="The minimum entropy of a proper coloring of a graph" Tags="&lt;graph-theory&gt;" AnswerCount="0" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="26031" PostTypeId="1" CreationDate="2014-10-10T21:19:42.223" Score="12" ViewCount="463" Body="&lt;p&gt;So we all know the comparison-tree lower bound of $\lceil\log_2 n!\rceil$ on the worst-case number of comparisons made by a (deterministic) comparison sorting algorithm. It does not apply to randomized comparison sorting (if we measure the expected comparisons for the worst case input). For instance, for $n=4$, the deterministic lower bound is five comparisons, but a randomized algorithm (randomly permute the input and then apply merge sort) does better, having $4\frac{2}{3}$ comparisons in expectation for all inputs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The $\log_2 n!$ bound without the ceilings does still apply in the randomized case, by an information-theoretic argument, and it can be slightly tightened to&#xA;$$k+\frac{2(n!-2^k)}{n!} \text{, where } k=\lfloor\log_2 n!\rfloor.$$&#xA;This follows because there is an optimal algorithm that randomly permutes the input and then applies a (deterministic) decision tree, and the best decision tree (if it exists) is one in which all leaves are in two consecutive levels.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What if anything is known about upper bounds for this problem? For all $n&amp;gt;2$, the randomized number of comparisons (in expectation, for the worst-case input, for the best possible algorithm) is always strictly better than the best deterministic algorithm (essentially, because $n!$ is never a power of two). But how much better?&lt;/p&gt;&#xA;" OwnerUserId="95" LastEditorUserId="95" LastEditDate="2014-10-10T23:52:07.987" LastActivityDate="2014-10-11T04:16:38.000" Title="Optimal randomized comparison sorting" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;sorting&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="26032" PostTypeId="2" ParentId="26031" CreationDate="2014-10-11T04:16:38.000" Score="4" Body="&lt;p&gt;Since your question is: &quot;What is known?&quot; Here's something:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://arxiv.org/abs/1307.3033&quot; rel=&quot;nofollow&quot;&gt;http://arxiv.org/abs/1307.3033&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This gives an average case analysis of the Ford-Johnson Algorithm. The expected number of comparisons is $\log n! +cn$ for a surprisingly small constant $c$ (about .05).&lt;/p&gt;&#xA;" OwnerUserId="5728" LastActivityDate="2014-10-11T04:16:38.000" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="26033" PostTypeId="1" CreationDate="2014-10-11T06:09:14.463" Score="1" ViewCount="603" Body="&lt;p&gt;Why does simhash work?  I understand how to implement the hash algorithm, mechanically, from the many articles such as &lt;a href=&quot;http://matpalm.com/resemblance/simhash/&quot; rel=&quot;nofollow&quot;&gt;http://matpalm.com/resemblance/simhash/&lt;/a&gt;.  But is there a simple intuitive explanation for why this particular procedure is so effective at capturing similarity?&lt;/p&gt;&#xA;" OwnerUserId="27531" LastActivityDate="2014-10-11T06:09:14.463" Title="What is the intuition behind simhash?" Tags="&lt;hash-function&gt;" AnswerCount="0" CommentCount="3" ClosedDate="2014-11-02T15:08:49.747" ContentLicense="CC BY-SA 3.0" />
  <row Id="26034" PostTypeId="1" AcceptedAnswerId="26036" CreationDate="2014-10-11T13:50:30.160" Score="2" ViewCount="124" Body="&lt;p&gt;I found that Weighted nearest neighbor voronoi diagrams are widely studied and there are optimal algorithms for that. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;But I could not find anything on Weighted furthest point voronoi diagrams !! But it is very unlikely that this version of voronoi diagrams are not studied before.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, any link / reference will be helpful. &lt;/p&gt;&#xA;" OwnerUserId="12280" LastActivityDate="2014-10-11T16:55:07.373" Title="Weighted furthest point voronoi diagrams" Tags="&lt;reference-request&gt;&lt;co.combinatorics&gt;&lt;computational-geometry&gt;&lt;voronoi&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="26035" PostTypeId="2" ParentId="26017" CreationDate="2014-10-11T14:39:55.920" Score="10" Body="&lt;p&gt;The following result by Raz (Elusive Functions and Lower Bounds for Arithmetic&#xA;Circuits, STOC'08) is aimed at $VP\neq VNP$ (and not directly $P\neq NP$), but it might be close enough for the OP:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A polynomial-mapping $f:\mathbb F^n \to \mathbb F^m$ is $(s, r)$-elusive, if for every polynomial-mapping $Γ : \mathbb  F^s → \mathbb F^m $ of degree $r$, Image($f$)$\not⊂$ Image($Γ$). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For many settings of the parameters $n, m, s, r$, &lt;em&gt;explicit&lt;/em&gt;&#xA;constructions of elusive polynomial-mappings imply strong&#xA;(up to exponential) lower bounds for general arithmetic circuits. &lt;/p&gt;&#xA;" OwnerUserId="78" LastActivityDate="2014-10-11T14:39:55.920" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="26036" PostTypeId="2" ParentId="26034" CreationDate="2014-10-11T16:55:07.373" Score="2" Body="&lt;p&gt;There's something on the multiplicatively weighted farthest neighbor query problem (but not on the associated Voronoi diagram) in my paper&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Approximate weighted farthest neighbors and minimum dilation stars.&#xA;J. Augustine, D. Eppstein, and K. Wortman.&#xA;&lt;a href=&quot;http://arxiv.org/abs/cs.CG/0602029&quot; rel=&quot;nofollow&quot;&gt;arXiv:cs.CG/0602029&lt;/a&gt;.&#xA;&lt;em&gt;Proc. 16th Annual International Computing and Combinatorics Conference&lt;/em&gt; (COCOON 2010), Nha Trang, Vietnam.&#xA;&lt;a href=&quot;http://dx.doi.org/10.1007/978-3-642-14031-0_12&quot; rel=&quot;nofollow&quot;&gt;Lecture Notes in Comp. Sci. 6196, Springer-Verlag, 2010, pp. 90-99&lt;/a&gt;.&#xA;&lt;a href=&quot;http://dx.doi.org/10.1142/S1793830910000887&quot; rel=&quot;nofollow&quot;&gt;&lt;em&gt;Discrete Mathematics, Algorithms and Applications&lt;/em&gt; 2(4): 553-656, 2010&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2014-10-11T16:55:07.373" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27037" PostTypeId="2" ParentId="26021" CreationDate="2014-10-11T20:20:42.470" Score="7" Body="&lt;p&gt;Answering half of Samir's question. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $G=(V,E)$ be a DAG and $V_1,V_2\subseteq V$ be two subsets of vertices of $G$. We denote by $E(V_1,V_2)$ the set of all edges in $G$ with one endpoint in $V_1$ and other endpoint in $V_2$. If $\omega = (v_1,...,v_n)$ is a total ordering of the vertices of $G$ then we let &#xA;$$\mathbf{ow}(G,\omega) = &#xA;\max_{i}\; |E(\{v_1,...,v_i\},\{v_{i+1},...,v_n\}|$$&#xA;denote the width of $\omega$. The online width of $G$ is defined as &#xA;$$\mathbf{ow}(G) = \min_{\omega}\; \mathbf{ow}(G,\omega),$$ &#xA;where the minimum is taken over all topological orderings of the vertices of $G$. Note that the traditional notion of cutwidth of $G$, $\mathbf{cw}(G)$ is defined analogously, except that the minimum is taken over all possible orderings of $G$, irrespectively of whether the ordering is topological or not.&#xA;We have the following sequence of inequalities:&#xA;$$\mathbf{tw}(G) \leq \mathbf{pw}(G) \leq \mathbf{cw}(G)\leq \mathbf{ow}(G),$$ where $\mathbf{pw}(G)$ and $\mathbf{tw}(G)$ are respectively the pathwidth and the treewidth of $G$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;We claim that MAJORITY of $n$ bits can be computed in online-width $O(\log n)$, and therefore in treewidth $O(\log n)$. The circuit simulates an online algorithm that reads one input bit $b$ at a time and adds $b$ to a counter with $O(\log n)$ bits if and only if $b=1$. At the beggining, the counter is initialized to $0$. At the end the circuit accepts if and only if the value of the counter is greater than n/2. It is easy to see that the gates of a circuit ADD that adds one to the counter register can be topologically-ordered in such a way that it has constant online width, since this circuits just need to implement an carry on operation. The total circuit is a sequence of circuits $C=(ADD_1,ADD_2,...,ADD_n,COMP)$  where the output of $ADD_i$ is plugged to the input of $ADD_{i+1}$, and the output of $ADD_n$ is plugged to the input of COMP. Now if we topologically-order the total circuit $C$ in such a way that all gates of $ADD_i$ appear before the gates of $ADD_{i+1}$ and all gates of $ADD_n$ appear before the gates of COMP, then this topological order has online width $O(\log n)$. This construction is illustrated in Figure 1 of &lt;a href=&quot;http://arxiv.org/pdf/1404.5565v1.pdf&quot;&gt;a paper of mine&lt;/a&gt; to show that probability amplification can be done in logarithmic online width. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Obs: The depth of the circuit C is $O(n)$. &lt;/p&gt;&#xA;" OwnerUserId="4237" LastEditorUserId="4237" LastEditDate="2014-10-11T20:26:36.190" LastActivityDate="2014-10-11T20:26:36.190" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="27042" PostTypeId="1" AcceptedAnswerId="27048" CreationDate="2014-10-13T01:07:33.410" Score="10" ViewCount="1499" Body="&lt;p&gt;Supposing we have a boolean function from $f:\{0,1\}^n\rightarrow\{0,1\}$. It is clear that a real multivariate polynomial $p(x)$ such that $f(x)=p(x)$ on $x\in\{0,1\}^n$ can be multilinear. What are some interesting classes of boolean functions for which the minimal degree of $p(x)$ is known? Do we have concrete examples?&lt;/p&gt;&#xA;" OwnerUserId="1812" LastEditorUserId="6579" LastEditDate="2014-10-14T07:57:15.940" LastActivityDate="2016-02-09T14:10:34.513" Title="Representing boolean function by a polynomial" Tags="&lt;boolean-functions&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="27043" PostTypeId="2" ParentId="26017" CreationDate="2014-10-13T03:40:24.463" Score="12" Body="&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Geometric_complexity_theory&quot; rel=&quot;noreferrer&quot;&gt;Geometric complexity theory (GCT)&lt;/a&gt; (also [1]) has not been mentioned yet. its a large ambitious program to connect P vs NP to algebraic geometry. eg a brief synopsis from the survey &lt;a href=&quot;http://www.cse.buffalo.edu/faculty/regan/papers/pdf/Reg02MSFD.pdf&quot; rel=&quot;noreferrer&quot;&gt;Understanding the Mulmuley-Sohoni Approach to P vs. NP&lt;/a&gt;, Regan:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Stability is informally a notion of not being “chaotic,” and has developed into a major branch of algebraic geometry under the guiding influence of D.A. Mumford among others. Ketan Mulmuley and Milind Sohoni [MS02] observe that many questions about complexity classes can be re-cast as questions about the nature of group actions on certain vectors in certain spaces that encode problems in these classes. This survey explains their framework from a lay point of view, and attempts to evaluate whether this approach truly adds new power to attacks on the P. vs. NP question.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;also some synopsis in section &amp;quot;A new hope?&amp;quot; in &lt;a href=&quot;http://cacm.acm.org/magazines/2009/9/38904-the-status-of-the-p-versus-np-problem/fulltext&quot; rel=&quot;noreferrer&quot;&gt;Status of the P vs NP problem&lt;/a&gt;, Fortnow (2009)&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Mulmuley and Sohoni have reduced a question about the nonexistence of polynomial-time algorithms for all NP-complete problems to a question about the existence of a polynomial-time algorithm (with certain properties) for a specific problem. This should give us some hope, even in the face of problems (1)–(3).&lt;/p&gt;&#xA;&lt;p&gt;Nevertheless, Mulmuley believes it will take about 100 years to carry out this program, if it works at all.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;[1] &lt;a href=&quot;https://cstheory.stackexchange.com/questions/17610/wikipedia-style-explanation-of-geometric-complexity-theory&quot;&gt;Wikipedia-style explanation of Geometric Complexity Theory&lt;/a&gt; (tcs.se)&lt;/p&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2014-10-13T03:40:24.463" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27044" PostTypeId="2" ParentId="26021" CreationDate="2014-10-13T10:27:23.833" Score="5" Body="&lt;p&gt;Answering the other half of the question - here is a proof sketch for a $c \cdot \log n$ lower bound for the treewidth for some constant $c$. The bound is independent of the size or any other aspect of the circuit. In the rest of the argument $C$ is the circuit, $t$ is the treewidth of $C$ and $n$ is the number of input gates. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The first step is to use the &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.19.5972&quot; rel=&quot;nofollow&quot;&gt;balanced separator lemma for graphs of bounded treewidth&lt;/a&gt;. The gates (including the input gates) of the circuit may be partitioned into three parts $L$, $R$ and $S$, such that $|S| \leq t+1$ and both $L$ and $R$ contain at least $n/3-|S|$ input gates, and there are no arcs (wires) between $L$ and $R$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the rest of the proof the only property of the circuit we will use is this partitioning - so the proof actually gives a lower bound on the size of a balanced separator $S$ as above.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Having $(L,S,R)$ at hand we construct a circuit $C'$ from $C$ as follows: for each gate $g$ in $S$ make two more gates $g_L$ and $g_R$, and make $g_L$ and $g_R$ feed into $g$. For all wires leading into $g$ from $L$ make them go into $g_L$ instead. For all wires leading into $g$ from $R$ make them go into $g_R$ instead. Let &#xA;$$S' = \{g, g_L, g_R : g \in S\}.$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For each of the $2^{|S'|}$ assingments to $S'$ make a circuit that outputs 1 if (a) the assignment to the input gates makes $C'$ output true and (b) the assignment to the input gates sets all the gates of $S'$ as guessed. Call these circuits $C_1$, $C_2$, $C_3 \ldots  C_x$ for $x \leq 8^t$. Note that the circuit $C_i$ naturally breaks up into two subcircuits $C_i^L$ and $C_i^R$ such that $C_i^L$ only depends on the input gates of $L \cup S'$, $C_i^R$ only depends on the input gates of $R \cup S'$, and for any assignment to the input gates we have that $C_i = C_i^L \wedge C_i^R$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since every assignment to the input gates is consistent with some guess for what happens in $S'$ we have that $C' = C_1 \vee C_2 \vee C_3 \ldots \vee C_x$. Thus we have re-written the circuit $C$ as an OR (of fanin $8^t$) of AND's (of fanin $2$) where the AND gate number $i$ is being fed the output of $C_i^L$ and $C_i^R$ respectively. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $Z$ be the set of topmost AND-gates. We will first prove that $2^{|Z|} \geq n/3-|S|$. This gives a simple $\log \log n$ lower bound on $t$. We will then prove a better bound.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Suppose $2^{|Z|} &amp;lt; n/3-|S|$, and assume w.l.o.g. that $L$ contains fewer input gates than $R$. Then both $L$ and $R$ contain at least $n/3-|S|$ input gates. By the pigeon hole principle there are two different numbers $i$ and $j$ such that there are two different assignments to the input gates of $L$, one that sets $i$ gates to true, one that sets $j$, such that the circuits $C_1^L$, $C_2^L \ldots C_x^L$ all output the same thing. But there exists an assignment to the input gates in $R$ such that MAJORITY outputs FALSE if $i$ gates in $L$ are set to true, and MAJORITY outputs TRUE if $j$ gates in $L$ are set to true. This is a contradiction, and so  $2^{|Z|} \geq n/3-|S|$ implying that treewidth is at least $\log \log n$.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;We now show a better bound: $|Z| \geq n/3-|S|$.  Assume w.l.o.g. that $L$ contains fewer input gates than $R$. Then both L and R contain at least $n/3-|S|$ input gates. Consider the &quot;all false&quot; assignment to $L$. Let $r$ be the smallest number of input gates of $R$ that has to be set to true such that MAJ outputs TRUE, given that all of $L$ is set to false.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since setting $L$ to all false and exactly $r$ input gates of $R$ to true makes MAJORITY output $1$ there has to be some $i$ such that $C_i^L$ outputs TRUE, w.l.o.g. this is $C_1^L$. All assignments to $R$ with less than $r$ true input gates must set $C_1^R$ to false. Since setting $1$ input gate of $L$ to true and $r-1$ input gates of $R$ to true makes MAJORITY output $1$, setting $1$ gate of $L$ to true must make at least one $C_i^L$ outpur true for $i \neq 1$. w.l.o.g we can assume $i=2$. Then all assignments to $R$ that set at most $r-2$ input gates to true must set $C_2^R$ to false, and so on - we may  repeat this argument $r$ times. But this means that $|Z| \geq r \geq n/3-|S|$, giving a $c \cdot \log n$ lower bound for $t$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[I am aware that this sketch gets a bit hand-wavy at places, ask away if something is unclear...]&lt;/p&gt;&#xA;" OwnerUserId="27464" LastEditorUserId="27464" LastEditDate="2014-10-15T19:47:17.403" LastActivityDate="2014-10-15T19:47:17.403" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27046" PostTypeId="1" CreationDate="2014-10-13T14:35:09.473" Score="1" ViewCount="477" Body="&lt;p&gt;I would like to estimate the number of comparisons in ShellSort.&#xA;I'm using $h_s = 2^s-1$, where $s=\left \lfloor{\log(n)}\right \rfloor, \left \lfloor{\log(n)}\right \rfloor -1, \dots, 1   $ ;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I know that it is good idea to part it  into two cases:&#xA;(1) $s=\left\lfloor{\log(n)}\right \rfloor \left \lfloor{\log(n)}\right \rfloor -1, ..., \left\lfloor{\log(\frac{n}{2})}\right \rfloor$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(2) $\left\lceil{\log(\frac{n}{2})}\right \rceil, \left\lceil{\log(\frac{n}{2})}\right \rceil  -1, ..., 1 $&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Could somebody give me a clue ? I am not asking to solution, but only help.&lt;/p&gt;&#xA;" OwnerUserId="27454" LastActivityDate="2014-10-13T14:35:09.473" Title="estimating the number of comparisons of Shell Sort" Tags="&lt;counting-complexity&gt;&lt;sorting&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27047" PostTypeId="1" CreationDate="2014-10-13T16:57:47.883" Score="2" ViewCount="124" Body="&lt;p&gt;The &lt;a href=&quot;http://en.wikipedia.org/wiki/Wiener_index&quot; rel=&quot;nofollow&quot;&gt;Wiener index&lt;/a&gt; of a graph is the sum of the lengths of the shortest paths between all pairs of its vertices.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there useful graph-theoretic properties of this index?&lt;/p&gt;&#xA;" OwnerUserId="25556" LastEditorUserId="5693" LastEditDate="2014-10-14T07:34:04.660" LastActivityDate="2014-10-14T07:34:04.660" Title="Graph-theoretic properties of the Wiener index" Tags="&lt;reference-request&gt;&lt;graph-theory&gt;" AnswerCount="2" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27048" PostTypeId="2" ParentId="27042" CreationDate="2014-10-13T17:39:55.660" Score="10" Body="&lt;p&gt;Any function which has non-zero correlation with parity has degree $n$. That is, if $$\sum_{x \in \{0,1\}^n} (-1)^{\sum_i x_i}f(x) \neq 0$$&#xA;then the unique multilinear expansion of $f$ contains the monomial $x_1\cdots x_n$. Indeed, since $(-1)^{x_i} = \frac{1-x_i}{2}$, the Fourier expansion of $f$ (expressed in terms of products of $\frac{1-x_i}{2}$) will contain the term $\prod_i \frac{1-x_i}{2}$, and the corresponding monomial $\prod_i x_i$ doesn't appear in any other term.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Nisan and Szegedy proved that functions of degree $d$ depend on at most $d2^d$ variables. For $d = 1$ we can be more exact: the function must depend on at most one coordinate.&lt;/p&gt;&#xA;" OwnerUserId="40" LastEditorUserId="40" LastEditDate="2014-10-14T01:47:08.933" LastActivityDate="2014-10-14T01:47:08.933" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="27049" PostTypeId="2" ParentId="27047" CreationDate="2014-10-13T20:16:19.127" Score="2" Body="&lt;p&gt;On the same page there was a section: relation to chemical properties (&lt;a href=&quot;http://en.wikipedia.org/wiki/Wiener_index#Relation_to_chemical_properties&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/Wiener_index#Relation_to_chemical_properties&lt;/a&gt;) Maybe references in that section mentions more about how this index can be used for graphs. Seems like you can estimate the overall structure of the graph if it is dense (low index) or sparse. Because the lengths of all shortest pairs would be shorter in a dense graph.&lt;/p&gt;&#xA;" OwnerUserId="8746" LastActivityDate="2014-10-13T20:16:19.127" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27050" PostTypeId="2" ParentId="27047" CreationDate="2014-10-13T23:45:51.820" Score="1" Body="&lt;p&gt;From the abstract of: Dobrynin, Andrey A., Roger Entringer, and Ivan Gutman. &lt;a href=&quot;http://link.springer.com/article/10.1023/A:1010767517079&quot; rel=&quot;nofollow&quot;&gt;&quot;Wiener index of trees: theory and applications.&quot;&lt;/a&gt; Acta Applicandae Mathematica 66, no. 3 (2001): 211-249&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;The Wiener index W is the sum of distances between all pairs of vertices of a (connected) graph. The paper outlines the results known for W of trees: methods for computation of W and combinatorial expressions for W for various classes of trees, the isomorphism–discriminating power of W, connections between W and the center and centroid of a tree, as well as between W and the Laplacian eigenvalues, results on the Wiener indices of the line graphs of trees, on trees extremal w.r.t. W, and on integers which cannot be Wiener indices of trees. A few conjectures and open problems are mentioned, as well as the applications of W in chemistry, communication theory and elsewhere.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;So, at least for trees, it seems that the Wiener index seems to be related to certain graph-theoretic properties.&lt;/p&gt;&#xA;" OwnerUserId="751" LastActivityDate="2014-10-13T23:45:51.820" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27052" PostTypeId="1" CreationDate="2014-10-14T07:30:04.793" Score="0" ViewCount="128" Body="&lt;p&gt;I have a flow network with random capacities on edges, is there some way to add a constraint of the type (push flow on either one of these two edges but not on both)? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm not sure if this is correct or not, but I think the maximum independent set problem can be reduced to the problem I stated above, let's call our graph $S$ and make a flow network $G$ with a source node $src$ and sink node $sink$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For each vertex $v \in V(S)$ we make an edge $(src \rightarrow sink)$ with capacity 1 in $G$ and for each edge $(A \rightarrow B) \in E(S)$ we add the constraint to pass flow on either the edge that corresponds to $A$ or $B$ in $G$ . The resulting maximum flow on $G$ is the cardinality of the maximum independent set on $S$ and the set of saturated edges in $G$ are the nodes in the maximum independent set of $S$ .&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is my intuition correct or not?&lt;/p&gt;&#xA;" OwnerUserId="28559" LastActivityDate="2014-12-13T12:16:17.433" Title="Flow networks: Push flow on either edges but not both!" Tags="&lt;np-complete&gt;&lt;max-flow&gt;&lt;max-flow-min-cut&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27053" PostTypeId="1" AcceptedAnswerId="27054" CreationDate="2014-10-14T08:36:34.557" Score="-1" ViewCount="128" Body="&lt;p&gt;Is it possible to use the master theorem to find the asymptotic growth of a function of the form:&#xA;$$T(n) = aT(\frac{n}{b}+c)+f(n)$$&#xA;Where $c$ is a constant. Can we safely ignore this constant and use the master theorem?&lt;/p&gt;&#xA;" OwnerUserId="28560" LastActivityDate="2014-10-14T20:26:17.133" Title="Using master theorem when there is a constant in the recursive term" Tags="&lt;time-complexity&gt;&lt;asymptotics&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="0" ClosedDate="2014-10-15T15:46:16.467" ContentLicense="CC BY-SA 3.0" />
  <row Id="27054" PostTypeId="2" ParentId="27053" CreationDate="2014-10-14T10:01:41.940" Score="6" Body="&lt;p&gt;Not the standard statement of the generally used &lt;a href=&quot;http://en.wikipedia.org/wiki/Master_theorem&quot; rel=&quot;nofollow&quot;&gt;Master theorem&lt;/a&gt;, but the related &lt;a href=&quot;http://en.wikipedia.org/wiki/Akra%E2%80%93Bazzi_method&quot; rel=&quot;nofollow&quot;&gt;Akra-Bazzi&lt;/a&gt; theorem works.&lt;/p&gt;&#xA;" OwnerUserId="27464" LastEditorUserId="25556" LastEditDate="2014-10-14T20:26:17.133" LastActivityDate="2014-10-14T20:26:17.133" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27055" PostTypeId="2" ParentId="27052" CreationDate="2014-10-14T11:07:43.440" Score="1" Body="&lt;p&gt;You can model the constraint of not using two edges (u,v) and (u,w) of capacity one simultaneously in a flow network by introducing a vertex u' and an edge (u',u) with capacity one, but I'm not aware of a more general way to do this without extending the concept of a flow network.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If your idea for reducing the maximum independent set problem to a network flow problem worked, you'd have the basis for a proof that P=NP, which is extremely unlikely.&lt;/p&gt;&#xA;" OwnerUserId="28561" LastActivityDate="2014-10-14T11:07:43.440" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27056" PostTypeId="2" ParentId="26017" CreationDate="2014-10-14T15:16:41.490" Score="0" Body="&lt;p&gt;The function analogs of $P$, and $NP$; $FP$, and $FNP$ would be also interesting in their study of the $P$ $=$ $NP$(?) question. While $P$, and $NP$ are decision problems which return $1$ bit yes/no answers, $FP$, and $FNP$ actually return answers($FNP$ verifies answers). We know that $FP$ $=$ $FNP$, iff $P$ $=$ $NP$.  &lt;/p&gt;&#xA;" OwnerUserId="27305" LastEditorUserId="27305" LastEditDate="2014-10-14T15:54:29.807" LastActivityDate="2014-10-14T15:54:29.807" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27057" PostTypeId="1" CreationDate="2014-10-14T17:10:51.977" Score="1" ViewCount="29" Body="&lt;p&gt;I am new to computational geometry so pardon me for the lack of formalism. I am currently experimenting with an algorithm of mine in which I need to extend recursively a Delaunay graph in $d$-space.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given $n$ points in $d$-space ($d&amp;gt;3$), I can compute an initial Delaunay graph in $\mathcal{O}(n^{ \lfloor\frac{d}{2}\rfloor })$ time.&#xA;My algorithm then operates on this graph recursively by selecting a subset of simplices, in each of which I would like to insert a single new vertex.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I do not have any preference as to &lt;em&gt;where&lt;/em&gt; a new vertex is inserted in each selected simplex. Knowing this, I think intuitively that if I choose to insert it at the barycenter of the simplex, I can extend my Delaunay graph in constant time for each selected simplex. Is that correct?&lt;/p&gt;&#xA;" OwnerUserId="23028" LastActivityDate="2014-10-14T17:10:51.977" Title="Extending Delaunay graphs in d-space" Tags="&lt;computational-geometry&gt;&lt;delaunay-triangulation&gt;&lt;convex-hull&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27059" PostTypeId="2" ParentId="26011" CreationDate="2014-10-14T19:09:59.747" Score="1" Body="&lt;p&gt;There is a subtle difference, which can be difficult to recognize. They both minimize the same objective: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\sum_{i,j} w_{ij} || y_i - y_j ||^2_2$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, they parametrize the predictor on y differently. Locality preserving projections is linear because the parameterization is linear: $y_i = x_iW$. Laplacian eigenmaps is non-linear because the parametrization uses a kernel: $y_i = k_iA$. Kernel LPP is equivalent to Laplacian eigenmaps.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For a good description and a summary showing the connections between all these different dimensionality reduction algorithms, see the paper:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;TRACE OPTIMIZATION AND EIGENPROBLEMS IN DIMENSION REDUCTION METHODS, KOKIOPOULOU et al.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;or the summary table in Section 2.7 in the thesis:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://webdocs.cs.ualberta.ca/~whitem/publications/thesis.pdf&quot; rel=&quot;nofollow&quot;&gt;Regularized Factor Models, Martha White&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="26674" LastActivityDate="2014-10-14T19:09:59.747" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27060" PostTypeId="1" CreationDate="2014-10-14T19:18:00.073" Score="10" ViewCount="307" Body="&lt;p&gt;I am trying to find a distribution over $n$ random vectors, say $x_1,\ldots, x_n$, on the $k$-dimensional unit sphere (where $n &amp;gt; k$) that minimizes $\max_{i\neq j} \mathrm{Var}(x_i^T x_j)$ subject to the constraint $\mathbb{E}[x_i^Tx_j]=0$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I tried some distributions and almost all them have variance $1/k$. For example, both the distribution in which each coordinate of each $x_i$ is independently and uniformly chosen from $\left\{-1/\sqrt{k}, 1/\sqrt{k}\right\}$ and the distribution in which each $x_i$ is an independent uniform vector on the $k$-dimensional unit sphere have variance $1/k$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is $1/k$ the minimum variance among all distributions?&lt;/p&gt;&#xA;" OwnerUserId="28566" LastEditorUserId="976" LastEditDate="2014-10-16T18:33:50.590" LastActivityDate="2014-10-19T22:33:16.453" Title="What is the minimum over all distributions of unit vectors of the variance of the dot product of the vectors?" Tags="&lt;reference-request&gt;&lt;randomized-algorithms&gt;" AnswerCount="2" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="27061" PostTypeId="1" CreationDate="2014-10-14T23:16:30.527" Score="0" ViewCount="424" Body="&lt;p&gt;I am looking for some guidelines on converting a Hardware description language such as VHDL or Verilog to a Typed Language. The reason I want to do this is to formally verify a hardware whose behavioral description is written in HDL.  &lt;/p&gt;&#xA;" OwnerUserId="28567" LastEditorUserId="28567" LastEditDate="2014-10-17T14:54:41.927" LastActivityDate="2014-11-20T21:42:00.953" Title="Converting a Hardware description language to a functional programming language" Tags="&lt;pl.programming-languages&gt;" AnswerCount="2" CommentCount="5" ClosedDate="2014-12-16T20:45:49.153" ContentLicense="CC BY-SA 3.0" />
  <row Id="27062" PostTypeId="1" CreationDate="2014-10-15T02:14:33.940" Score="9" ViewCount="6252" Body="&lt;p&gt;The classic Mininum Spanning Tree (MST) algorithms can be modified to find the Maximum Spanning Tree instead.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can an algorithm such as Kruskal's be modified to return a spanning tree that is strictly more costly than an MST, but is the second cheapest? For example, if you switch one of the edges in this spanning tree, you end up with an MST and vice versa.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question, though, is simply: How can I find the second cheapest spanning tree, given a graph $G$ with an MST? &lt;/p&gt;&#xA;" OwnerUserId="28568" LastEditorUserId="567" LastEditDate="2014-10-16T23:33:47.927" LastActivityDate="2021-01-29T12:33:42.807" Title="How can I find the second cheapest spanning tree?" Tags="&lt;graph-algorithms&gt;&lt;tree&gt;" AnswerCount="2" CommentCount="4" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="27063" PostTypeId="1" AcceptedAnswerId="27078" CreationDate="2014-10-15T02:44:36.287" Score="1" ViewCount="104" Body="&lt;p&gt;In &lt;a href=&quot;http://history.acm.org/pictures/tods/tods.acm.org/accepted/2009/LiSnapshot.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;[Lin et al@TODS'2009] (Page 5)&lt;/a&gt;, a history of concurrent transactions &lt;strong&gt;satisfying &quot;serializability&quot; ($\textrm{SR}$) but not &quot;snapshot isolation&quot; ($\textrm{SI}$)&lt;/strong&gt; is given as follows:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;$H_{example}: s_1 \; s_2 \; w_1(x_1) \; r_2(x_1) \; w_2(x_2) \; w_2(y_2) \; c_1 \; c_2 \; s_3 \; r_3(x_1) \; c_3 \; s_4 \; w_4(y_4) \; a_4$&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;where, $s_1$ denotes the start of transaction $T_1$; $w_1(x_1)$ denotes the write of $T_1$ of version $v_1$ to data item $x$; $c_1$ denotes the commit of $T_1$; and $a_4$ denotes the abort of transaction $T_4$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Pictorially (horizontal axis is time),&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;T1: s1    w1(x1)                      c1&#xA;T2:    s2        r2(x1) w2(x2) w2(y2)    c2&#xA;T3:                                         s3 r3(x1) c3&#xA;T4:                                                      s4 w4(y4) a4&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;My Confusion:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, as my basic understanding, &lt;code&gt;Serializability is strictly stronger than snapshot isolation&lt;/code&gt;. In particular, we have a hierarchy of isolation levels as shown in the following figure copied from &lt;a href=&quot;http://research.microsoft.com/pubs/69541/tr-95-51.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;[Berenson et al@MSR-TR'1995]&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/OLdXn.png&quot; alt=&quot;ANSI Isolation Levels&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;My question:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What is wrong with my understanding and what is going on here?&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;Any comprehensive references on the relationships among $\textrm{SI}$, $\textrm{SR}$, and maybe other isolation levels are appreciated.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;References:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;([Lin et al@TODS'2009]) &lt;a href=&quot;http://history.acm.org/pictures/tods/tods.acm.org/accepted/2009/LiSnapshot.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Snapshot Isolation and Integrity Constraints in Replicated Databases&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Berenson et al@MSR-TR'1995) &lt;a href=&quot;http://research.microsoft.com/pubs/69541/tr-95-51.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;A Critique of ANSI SQL Isolation Levels&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="12739" LastEditorUserId="12739" LastEditDate="2014-10-17T13:52:37.553" LastActivityDate="2014-10-17T13:52:37.553" Title="Concurrent transactions satisfying &quot;serializability&quot; but not &quot;snapshot isolation&quot;" Tags="&lt;db.databases&gt;&lt;concurrency&gt;" AnswerCount="1" CommentCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="27064" PostTypeId="2" ParentId="11784" CreationDate="2014-10-15T02:50:34.610" Score="3" Body="&lt;p&gt;Here is a recent one:&#xA;&lt;a href=&quot;http://link.springer.com/chapter/10.1007%2F978-3-319-09284-3_17&quot; rel=&quot;nofollow&quot;&gt;http://link.springer.com/chapter/10.1007%2F978-3-319-09284-3_17&lt;/a&gt;&#xA;You can get the fulltext here:&#xA;&lt;a href=&quot;http://arxiv.org/abs/1402.2184&quot; rel=&quot;nofollow&quot;&gt;http://arxiv.org/abs/1402.2184&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It uses some state-of-the-art SAT solvers (see &lt;a href=&quot;http://fmv.jku.at/lingeling/&quot; rel=&quot;nofollow&quot;&gt;http://fmv.jku.at/lingeling/&lt;/a&gt;) to solve a member of a family of problems&#xA;called &quot;Erdős Discrepancy Conjecture&quot;. They encoded the problem as SAT instances and the SAT solver discovered proofs that there is a solution of certain length, and also a that there is no solution of a greater length.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An interesting fact about the latter part is that the proof runs into gigabytes.&#xA;Proofs of non-existence of solutions to SAT problems are usually huge.&#xA;At the time this work was presented, it was (and perhaps it still is) an open problem to convert that gigabyte sized proof to a few paragraphs that can appeal to human intuition.&lt;/p&gt;&#xA;" OwnerUserId="12798" LastEditorUserId="12798" LastEditDate="2014-10-19T15:04:45.117" LastActivityDate="2014-10-19T15:04:45.117" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="27065" PostTypeId="2" ParentId="27062" CreationDate="2014-10-15T02:51:46.737" Score="20" Body="&lt;p&gt;The second-smallest spanning tree differs from the minimum spanning tree by a single edge swap. That is, to get the second-smallest tree, you need to add one edge that's not already in the minimum spanning tree, and then remove the heaviest edge on the cycle that the added edge forms.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you already have the minimum spanning tree, this can all be done in linear time. See e.g. V. King, &quot;A simpler minimum spanning tree verification algorithm&quot;, &lt;em&gt;Algorithmica&lt;/em&gt; 1997, &lt;a href=&quot;http://dx.doi.org/10.1007/BF02526037&quot;&gt;doi:10.1007/BF02526037&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2014-10-15T02:51:46.737" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="27068" PostTypeId="1" AcceptedAnswerId="27069" CreationDate="2014-10-15T09:20:34.477" Score="1" ViewCount="377" Body="&lt;p&gt;Consider a total of $d$ items, $\{I_1,I_2,\cdots,I_d\}$, each having a weight $w_i$ (a positive integer), and a total of $m$ bins, $\{B_1,B_2,\cdots,B_m\}$. We would like to distribute the items into the bins such that:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(1) no bin is empty;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(2) $\sum_{B_i}(|Bi|\prod_{I_j \in B_i}w_j)$ is minimized.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where $|B_i|$ is the number of items in $B_i$. Is this an NP-hard problem? If yes, how to prove it?&lt;/p&gt;&#xA;" OwnerUserId="28573" LastActivityDate="2014-10-15T20:37:27.487" Title="NP-hardness of minimizing sum of weighted product" Tags="&lt;partition-problem&gt;&lt;subset-sum&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27069" PostTypeId="2" ParentId="27068" CreationDate="2014-10-15T11:37:36.530" Score="3" Body="&lt;p&gt;The problem is indeed NP-complete - reduce from the &lt;a href=&quot;http://en.wikipedia.org/wiki/3-partition_problem&quot; rel=&quot;nofollow&quot;&gt;3-partition problem&lt;/a&gt; where you are given $3n$ positive integers and asked to group them into $n$ groups such that for all the groups the sum of the elements is the same. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note (1) that partition is strongly NP-complete - i.e remains NP-complete when the input numbers are polynomial in $n$. Note (2) that if the sum of all the groups is the same then this sum must be equal to $X$, where $X$ is the sum of all the numbers in input, divided by $n$. (3) The problem remains NP-complete even when all numbers are strictly between $X/4$ and $X/2$. In this case, each group forced to be a triple.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For each integer $a$ in the input to $3$-partition, replace it by $n^{10a}$ in the input to your problem. Use $n$ bins. Ask whether you can obtain a value of the objective function at most $3n^{10X+2}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the forward direction, if there is a $3$-partition then putting each group into a bin gives value at most $n \cdot 3n \cdot n^{10X}$ for your objective function.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the reverse direction, suppose that there is a distribution into bins such that the objective function value is at most $n \cdot 3n \cdot n^{10X}$. Make bins into groups. Note that no group adds to more than $X$, since otherwise the product in that bin would be at least $n^{10X+10}$ which is already more than objective function value. Since the input numbers all have value $X/4 &amp;lt; a &amp;lt; X/2$ it follows that all groups have size exactly $3$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that this proves NP-completeness of your problem, but not strong NP-completeness. I suspect that this problem is also strongly NP-complete. &lt;/p&gt;&#xA;" OwnerUserId="27464" LastEditorUserId="27464" LastEditDate="2014-10-15T20:37:27.487" LastActivityDate="2014-10-15T20:37:27.487" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="27072" PostTypeId="1" AcceptedAnswerId="27073" CreationDate="2014-10-15T15:12:24.033" Score="3" ViewCount="244" Body="&lt;p&gt;We encountered this question as an exercise in a B&amp;uuml;chi automata book a couple of decades ago, and back then gave a few tries thinking that it should be easy. But haven't seen a solution. My friend Deepak helped me with the problem statement, here it is:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a DFA $A =&#xA;(Q,Letters,\delta,Final)$ with $n$ states, &#xA;each letter $a$ induces a function &#xA;$f_a: Q \to Q$, given by $f_a(q) = \delta(q,a)$. &#xA;A word $w$, by extension, also induces a&#xA;function $f_w : Q \to Q$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem was to show that for any $w$, we can find&#xA;a $w'$ of length $\leq n!$, such that $f_{w'} = f_w$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Wondering if there is any bound on the word length, even if not a $n!$ (like $n^n$).&lt;/p&gt;&#xA;" OwnerUserId="9206" LastEditorUserId="898" LastEditDate="2014-10-15T20:26:56.637" LastActivityDate="2014-11-29T23:34:30.280" Title="Automata and a kind of pumping lemma on state transition function" Tags="&lt;automata-theory&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27073" PostTypeId="2" ParentId="27072" CreationDate="2014-10-15T18:04:56.930" Score="4" Body="&lt;p&gt;The following argument works as long as $f_w$ is injective. The same ideas should also work for general $f_w$. Indeed, below I show how they give a bound $|w| \leq O(n!)$. However, even further down I show a much better bound, $|w| \leq e^{2(1+o(1))\sqrt{n\log n}}$, which is tight up to the constant $2$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider some word $w$ which is the minimal length word resulting in $f_w$, and suppose that the range of $f_w$ is $Q$. We want to show that $|w| \leq n!$.&#xA;Let $w_{\leq i}$ denote the prefix of $w$ of length $i$. If $f_{w_{\leq i}} = f_{w_{\leq j}}$ for some $i &amp;lt; j$ then $f_{w_{\leq i} w_{&amp;gt;j}} = f_w$, contradicting the assumption that $w$ has minimal length. We conclude that $f_{w_{\leq i}}$ is different for all $i$. Since the range of $f_w$ is full, all $f_{w_{\leq i}}$ must be permutations of $Q$. Since there are $n!$ permutations of $Q$, we conclude that $|w| \leq n!-1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose now that $f_w$ is not injective, and write $w = x_1\ldots x_k$, where each step passing from $x_i$ to $x_{i+1}$ decreases the image. The same argument as before shows that $|x_1| \leq n!$, $|x_2| \leq n!/1!$, $|x_3| \leq n!/2!$, and so on. In total, we get that $|w| \leq n!(1+1+1/2+1/6+\cdots) \leq e n!$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We can do slightly better. For example, if $f_{x_1}(q_1) = f_{x_2}(q_2)$ then when bounding $x_1$, it is enough to consider permutations up to a permutation of the images of $q_1$ and $q_2$, and so when $k \geq 2$ we can conclude that $|x_1| \leq n!/2$. This argument probably gives $|w| \leq (3/2)n!$. One can probably push the argument further, but that would require looking across the boundaries of the segmentation $w=x_1\ldots x_k$.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;The following construction shows that $n!-1$ cannot be replaced by anything smaller than roughly $e^{\sqrt{n\log n}}$. &lt;a href=&quot;http://en.wikipedia.org/wiki/Landau%27s_function&quot; rel=&quot;nofollow&quot;&gt;Landau's function&lt;/a&gt; $g(n)$ is the maximal order of an element in $S_n$. It is known that $g(n) = e^{(1\pm o(1))\sqrt{n\log n}}$. Given an element $\pi \in S_n$ of maximal order, we can construct an automaton over the one language alphabet $\{a\}$ in which $Q = \{1,\ldots,n\}$ and $f_a = \pi$. The word $a^{g(n)-1}$, which generates the permutation $\pi^{-1}$, cannot be shortened.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Consider again the case of injective $f_w$. We can think of the letters of $w$ as generating a subgroup of $S_n$. &lt;a href=&quot;http://ac.els-cdn.com/S0195669805800290/1-s2.0-S0195669805800290-main.pdf?_tid=4a0d8894-54a6-11e4-a977-00000aab0f02&amp;amp;acdnat=1413403571_7d77b5f795f4d04cd096a0fd3b76acaa&quot; rel=&quot;nofollow&quot;&gt;Babai and Seress&lt;/a&gt; show that the diameter of the corresponding Cayley graph is at most $e^{(1+o(1)) \sqrt{n\log n}}$. This means that every permutation in the subgroup, including $f_w$, can be written as a word over the letters of $w$ and their inverses of length at most $e^{(1+o(1)) \sqrt{n\log n}}$. Since the order of each permutation is at most $e^{(1+o(1))\sqrt{n\log n}}$, we can replace the inverse of each letter by at most $e^{(1+o(1))\sqrt{n\log n}}$ copies of itself, obtaining a word of length $e^{2(1+o(1))\sqrt{n\log n}}$. This bound can perhaps be improved by looking at the construction of Babai and Seress.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the general case, segment $w=x_1\ldots x_k$ as before, where $k \leq n$. A similar argument shows that $|x_i| \leq e^{2(1+o(1))\sqrt{n\log n}}$, and so $|w| \leq e^{2(1+o(1))\sqrt{n\log n}}$.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;This still leaves open the value of the smallest $\ell(n)$ such that the minimal word $w$ with given $f_w$ has length at most $\ell(n)$. Our arguments show that $e^{(1+o(1))\sqrt{n\log n}} \leq \ell(n) \leq e^{2(1+o(1))\sqrt{n\log n}}$, leaving a small gap.&lt;/p&gt;&#xA;" OwnerUserId="40" LastEditorUserId="40" LastEditDate="2014-10-15T20:15:51.140" LastActivityDate="2014-10-15T20:15:51.140" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="27074" PostTypeId="1" AcceptedAnswerId="27099" CreationDate="2014-10-15T19:38:16.300" Score="15" ViewCount="237" Body="&lt;p&gt;What happens if we define &lt;a href=&quot;http://en.wikipedia.org/wiki/PPAD_(complexity)&quot;&gt;${\bf PPAD}$&lt;/a&gt; such that instead of a polytime Turing-machine/polysize circuit, a logspace Turing-machine or an ${\bf AC^0}$ circuit encodes the problem? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Recently giving faster algorithms for &lt;a href=&quot;http://en.wikipedia.org/wiki/Circuit_satisfiability_problem&quot;&gt;Circuit satisfiability&lt;/a&gt; for small circuits &lt;a href=&quot;http://arxiv.org/abs/1401.2444&quot;&gt;turned out&lt;/a&gt; to be important, so I wonder what happens to rectricted versions of ${\bf PPAD}$.&lt;/p&gt;&#xA;" OwnerUserId="419" LastActivityDate="2014-10-17T19:34:51.590" Title="Does ${\bf AC^0PAD} = {\bf PPAD}$?" Tags="&lt;cc.complexity-theory&gt;&lt;circuit-complexity&gt;&lt;logspace&gt;&lt;ppad&gt;&lt;ac0&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27075" PostTypeId="1" CreationDate="2014-10-15T22:25:22.027" Score="4" ViewCount="154" Body="&lt;p&gt;Consider that we have a state space of n random variables, for simplicity, the variable value can be 0 or 1. Each variable has its probability distribution when it is not constrained, also for simplicity, it can be a uniform distribution (50% probability for 0 and 50% for 1). And there is a set of constraints over the variables, thus in the constrained state space, the actual probability distribution of each variable will skewed. For example, if we have two variables a,b and a constraint a=0-&gt;b=1, the actually probability that b=0 will be 1/3 compared to 0.5 when unconstrained.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am wondering if there are any results on estimating the probability distribution of the random variables under a set of constraints. The golden answer of the probability distribution could be derived by using the SAT solver to get all the solutions and then computing the statistics, which is prohibitively computationally expensive. Thus I am wondering if there is any way to do a fair estimation on that.&lt;/p&gt;&#xA;" OwnerUserId="28580" LastActivityDate="2014-10-15T22:42:38.287" Title="How to estimate the probability of distribution of a variable in a Constraint Satisfication Problem" Tags="&lt;csp&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27076" PostTypeId="2" ParentId="27075" CreationDate="2014-10-15T22:42:38.287" Score="2" Body="&lt;p&gt;If the SAT instance has a unique solution then you are asking for the actual solution. Given the Valiant&amp;ndash;Vazirani randomized reduction from SAT to unique SAT, if there was a way of efficiently estimating the probability distribution of variables then you could use it to solve SAT.&lt;/p&gt;&#xA;" OwnerUserId="40" LastActivityDate="2014-10-15T22:42:38.287" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27078" PostTypeId="2" ParentId="27063" CreationDate="2014-10-16T06:31:19.780" Score="1" Body="&lt;p&gt;&lt;em&gt;Answer my own question:&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;code&gt;I am not sure with the ideas below. Both comments and answers from experts are highly appreciated. Any references are also welcome.&lt;/code&gt;&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;I think the confusion arises from the fact that the two definitions of serializability ($\textrm{SR}$, for short) adopted in [Lin et al@TODS'2009] and [Berenson et al@MSR-TR'1995] are different.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;The SR in [Lin et al@TODS'2009]:&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In [Lin et al@TODS'2009] (at least in the test of $H_{example}$), the serializability is the classic One-Copy Serializability (or, $\textrm{1-SR}$) introduced in &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=319998&quot; rel=&quot;nofollow&quot;&gt;[Bernstein et al@TODS'1983]&lt;/a&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;To tell if an multiversion (or MV) history is $\textrm{1-SR}$, we should first decide on a version order $\ll$ (which is a total order) for each data item. Given a history $H$ and a version order $\ll$, an &lt;em&gt;multiversion serialization graph&lt;/em&gt; $MVSR(H, \ll)$ can be constructed. As a consequence, we have&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;1-SR Theorem: An MV history $H$ is $\textrm{1-SR}$ iff there exists a version order $\ll$ such that $MVSG(H, \ll)$ is acyclic.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Back to the history $H_{example}$, the version order for $x$ can be chosen as $x_1 \ll x_2$. It is easy to show, according to the above theorem, that $H_{example}$ is $\textrm{1-SR}$ because it is equivalent to the serial history of $T_1 \; T_3 \; T_2$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;The SR in [Berenson et al@MSR-TR'1995]:&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The $\textrm{SR}$ adopted in [Berenson et al@MSR-TR'1995] is defined by avoiding &lt;em&gt;phenomena&lt;/em&gt; ($P$) and &lt;em&gt;anomalies&lt;/em&gt; ($A$). In this sense, Snapshot Isolation (or $\textrm{SI}$) avoids $P_0, P_1, A_3, A5A, P4$. The $\textrm{SR}$ here is thus strictly stronger than $\textrm{SI}$ because it further avoids $A5B$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Back to the history $H_{example}$, it even does not avoid $P_1$ which indicates a &quot;dirty read&quot;. Notice that $P_1$ (instead of $A_1$) prohibits an execution sequence if something anomalous &lt;em&gt;might&lt;/em&gt; in the future. Although $r_2(x_1)$ reads-x-from $w_1(x_1)$ that is committed &lt;em&gt;later on&lt;/em&gt;, it is still a &quot;dirty read&quot;. In this way, it does not satisfy $\textrm{SR}$.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;The perspective of computational complexity:&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[Bernstein et al@TODS'1983] also shows that &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;It is $\textrm{NP}$-complete to decide whether an MV history is 1-$\textrm{SR}$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;However, if we know that $H$ is $\textrm{SI}$ in advance, we can decide efficiently whether it is 1-$\textrm{SR}$. The key here is that the version order $\ll$ has been determined by $\textrm{SI}$. See &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=1376690&quot; rel=&quot;nofollow&quot;&gt;[Cahill et al@SIGMOD'2008]&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Furthermore, I &lt;em&gt;guess&lt;/em&gt; that, for an $\textrm{SI}$ history, the above two different definitions of serializability coincide. More precisely,&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;em&gt;A guess:&lt;/em&gt; With $\textrm{SI}$, a history $H$ is 1-$\textrm{SR}$ in [Bernstein et al@TODS'1983] iff it is $\textrm{SR}$ in [Berenson et al@MSR-TR'1995].&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;References:&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;([Bernstein et al@TODS'1983]) &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=319998&quot; rel=&quot;nofollow&quot;&gt;Multiversion Concurrency Control — Theory and Algorithms&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;([Cahill et al@SIGMOD'08]) &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=1376690&quot; rel=&quot;nofollow&quot;&gt;Serializable Isolation for Snapshot Databases&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="12739" LastEditorUserId="12739" LastEditDate="2014-10-16T06:36:25.877" LastActivityDate="2014-10-16T06:36:25.877" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27079" PostTypeId="1" CreationDate="2014-10-16T10:10:32.370" Score="8" ViewCount="605" Body="&lt;p&gt;I am aware that many known algorithms for min cut problem is not by reducing the problem to $st$-min cut. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;But the question of efficient reduction from min cut to $st$-min cut is still interesting to me.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I know the following trivial reductions:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Min cut is $st$-min cut for some $s,t$. So we can, for every pair  $s,t$, solve $st$-min cut and return the minimum. This takes $O(n^2)$ calls to $st$-min cut algorithm.&lt;/li&gt;&#xA;&lt;li&gt;By the same reasoning, we can fix any vertex $s$, and return the minimum, among all $t$, of the $st$-min cut. That takes $O(n)$ calls.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there any more efficient (randomized) reduction ?&#xA;  What if we only want the size of the minimum cut, not the cut itself ?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="12646" LastActivityDate="2014-10-29T02:15:45.467" Title="Efficient Reduction from Min Cut to st-Min Cut" Tags="&lt;ds.algorithms&gt;&lt;graph-algorithms&gt;&lt;reductions&gt;&lt;max-flow-min-cut&gt;" AnswerCount="0" CommentCount="6" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27081" PostTypeId="1" AcceptedAnswerId="27093" CreationDate="2014-10-16T19:46:37.033" Score="2" ViewCount="140" Body="&lt;p&gt;For quantum circuits, once the gate error is below a threshold, the error probability of an entire computation can be driven exponentially small with polylog costs in time and space:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://arxiv.org/pdf/quant-ph/9611025v2.pdf&quot; rel=&quot;nofollow&quot;&gt;http://arxiv.org/pdf/quant-ph/9611025v2.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The classical version should be entirely analogous, and was presumably proven long before the quantum case.  Who proved the classical version?&lt;/p&gt;&#xA;" OwnerUserId="13245" LastActivityDate="2014-10-17T08:05:35.767" Title="Reference request: Classical analog of quantum threshold theorem" Tags="&lt;reference-request&gt;&lt;coding-theory&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27082" PostTypeId="2" ParentId="27060" CreationDate="2014-10-16T21:18:24.910" Score="5" Body="&lt;p&gt;The quick and dirty answer to the question is &quot;no, the variance can be smaller&quot;:&#xA;Let $v_1, v_2, \ldots, v_k$ be the standard basis, and consider the following random process: pick a pair of distinct integers i,j from $\{1,2,\ldots,k+1\}$, and set $x_i = x_j = v_1$. For the other vectors $x_t$ (for $t \notin \{i,j\}$) assign them to $v_2, \ldots, v_k$ in a one-to-one manner. Then, for each $t \in \{1,\ldots,k+1\}$, either keep $x_i$ as it is or flip it (to $-x_i$) with probability $\frac{1}{2}$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is easy to see that $E[x_a \cdot x_b] = 0$ - either $x_a$ and $x_b$ are orthogonal or they point in the same/opposite direction with probability $\frac{1}{2}$ each. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand we have $Var[x_a \cdot x_b] = E[(x_a \cdot x_b)^2]$. We have that $(x_a \cdot x_b)^2 = 1$ if and only if $\{a,b\} = \{i,j\}$ which happens with probability $\frac{1}{k+1 \choose 2}$. Otherwise $(x_a \cdot x_b)^2 = 0$. Thus we have that for every $a$,$b$:&#xA;$$Var[x_a \cdot x_b] = E[(x_a \cdot x_b)^2] = \frac{1}{k+1 \choose 2}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My intuition is that this is as bad (small) as it gets but I do not have a proof. More interesting is that this construction seems to break down for n &gt;&gt; k, and also when the $x_i$'s have to be chosen independently (possibly from different distributions).&lt;/p&gt;&#xA;" OwnerUserId="27464" LastActivityDate="2014-10-16T21:18:24.910" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27084" PostTypeId="1" AcceptedAnswerId="27087" CreationDate="2014-10-16T22:13:06.927" Score="2" ViewCount="223" Body="&lt;p&gt;Let $x_1,x_2,\dots x_n$ be literals.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $P(x_1,x_2,\dots,x_n)$ be the parity function.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is the smallest degree of $f(x_1,x_2,\dots,x_n)\in \mathbb R[x_1,x_2,\dots,x_n]$ that represents $P(x_1,x_2,\dots,x_n)$ (where represents means $f(x_1,x_2,\dots,x_n)$ and $P(x_1,x_2,\dots,x_n)$ agree on $x_i\in\{0,1\}$)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is the smallest degree of $r(x_1,x_2,\dots,x_n)\in \mathbb R(x_1,x_2,\dots,x_n)$ (sum of degrees of numerator and denominator) that represents $P(x_1,x_2,\dots,x_n)$ (where represents means $R(x_1,x_2,\dots,x_n)$ and $P(x_1,x_2,\dots,x_n)$ agree on $x_i\in\{0,1\}$)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that $f(x_1,x_2,\dots,x_n)$ and the numerator and denominator of $r(x_1,x_2,\dots,x_n)$ can be multilinear since $x_i^t=x_i$ on $\{0,1\}$.&lt;/p&gt;&#xA;" OwnerUserId="1812" LastEditorUserId="1812" LastEditDate="2014-10-16T23:18:58.070" LastActivityDate="2014-10-17T00:14:27.373" Title="Rational function for Parity function" Tags="&lt;boolean-functions&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27086" PostTypeId="1" AcceptedAnswerId="27626" CreationDate="2014-10-16T23:03:39.427" Score="10" ViewCount="152" Body="&lt;p&gt;Babai and Seress &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0195669805800290&quot; rel=&quot;nofollow noreferrer&quot;&gt;proved&lt;/a&gt; that given a subgroup $G \leq S_n$ and a generating set $S$ of $G$, any permutation in $G$ can be written as a product of generators and their inverses of length $e^{(1+o(1))\sqrt{n\log n}}$. This bound is optimal since $S_n$ has an element of order $e^{(1+o(1))\sqrt{n\log n}}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The classical fact that every element in $S_n$ has order at most $e^{(1+o(1))\sqrt{n\log n}}$, combined with the result of Babai and Seress, shows that given a subgroup $G \leq S_n$ and a generating set $S$ of $G$, any permutation in $G$ can be written as a product of generators of length at most $e^{2(1+o(1))\sqrt{n\log n}}$.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Can we improve the upper bound $e^{2(1+o(1))\sqrt{n\log n}}$ to $e^{(1+o(1))\sqrt{n\log n}}$?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;This question has been inspired by the recent question &lt;a href=&quot;https://cstheory.stackexchange.com/questions/27072/automata-and-a-kind-of-pumping-lemma-on-state-transition-function&quot;&gt;Automata and a kind of pumping lemma on state transition function&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="40" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2014-11-29T10:42:48.777" Title="Diameter of Cayley graphs of subgroups of $S_n$ without inverses" Tags="&lt;gr.group-theory&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27087" PostTypeId="2" ParentId="27084" CreationDate="2014-10-17T00:14:27.373" Score="4" Body="&lt;p&gt;It will be somewhat easier to replace $\{0,1\}$ with $\{\pm 1\}$, so that the parity function is just $x_1\cdots x_n$. Since this is an affine transformation, it doesn't affect degrees. I'm also assuming that the denominator of a rational function must be non-zero for all $\pm 1$ inputs. Since we only care about $\pm 1$ inputs, we work below over the ideal generated by $\{x_i^2 - 1\}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We prove by induction on $n$ that if $P/Q$ represents parity of length $n$ then $PQ = \alpha \prod_{i=1}^n x_i + \cdots$ for some positive $\alpha$, where the dots represent lower degree terms. This implies that $\deg P + \deg Q \geq n$. The claim is clearly true for $n = 0$. Now consider&#xA;$$\frac{P}{Q} = \frac{x_nP_1+P_2}{x_nQ_1+Q_2}, $$&#xA;where $P_1,P_2,Q_1,Q_2$ are over $x_1,\ldots,x_{n-1}$. Substituting $x_n=\pm1$ and applying the induction hypothesis, we deduce that for some $\alpha,\beta &amp;gt; 0$,&#xA;$$&#xA;\begin{align*}&#xA;(P_1+P_2)(Q_1+Q_2) &amp;amp;= \alpha \prod_{i=1}^{n-1} x_i + \cdots, \\&#xA;(P_1-P_2)(Q_1-Q_2) &amp;amp;= -\beta \prod_{i=1}^{n-1} x_i + \cdots. \\&#xA;\end{align*}&#xA;$$&#xA;Subtracting both equations, we get&#xA;$$ P_1 Q_2 + P_2 Q_1 = \frac{\alpha+\beta}{2} \prod_{i=1}^{n-1} x_i + \cdots. $$&#xA;Therefore&#xA;$$ PQ = (x_nP_1+P_2)(x_nQ_1+Q_2) = x_n(P_1Q_2+P_2Q_1) + \cdots = \frac{\alpha+\beta}{2} \prod_{i=1}^n x_i + \cdots. $$&lt;/p&gt;&#xA;" OwnerUserId="40" LastActivityDate="2014-10-17T00:14:27.373" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="27092" PostTypeId="1" CreationDate="2014-10-17T07:00:49.783" Score="4" ViewCount="129" Body="&lt;p&gt;Given a directed graph whose arcs are coloured red and blue and integers $r$ and $b$, can we decide in polynomial time whether the digraph has a cut with at most $r$ red arcs and at most $b$ blue arcs?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Related references can be found here &lt;a href=&quot;http://lemon.cs.elte.hu/egres/open/Red-blue_cut_problem&quot; rel=&quot;nofollow&quot;&gt;http://lemon.cs.elte.hu/egres/open/Red-blue_cut_problem&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is known that the undirected version of the problem is in P even if there are weights on the edges. &lt;/p&gt;&#xA;" OwnerDisplayName="user17918" LastEditorDisplayName="user17918" LastEditDate="2014-10-17T08:33:31.543" LastActivityDate="2014-10-17T08:33:31.543" Title="Can we decide Red-blue cut problem in polynomial time?" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;" AnswerCount="0" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="27093" PostTypeId="2" ParentId="27081" CreationDate="2014-10-17T08:05:35.767" Score="5" Body="&lt;p&gt;The classical theory of fault tolerance was pioneered by John von Neumann. I think this is the original reference: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;von Neumann, J. (1956). &quot;Probabilistic Logics and Synthesis of Reliable Organisms from Unreliable Components&quot;, in Automata Studies, eds. C. Shannon and J. McCarthy, Princeton University Press, pp. 43–98&lt;/p&gt;&#xA;" OwnerUserId="121" LastActivityDate="2014-10-17T08:05:35.767" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27094" PostTypeId="1" AcceptedAnswerId="27105" CreationDate="2014-10-17T12:56:53.740" Score="8" ViewCount="880" Body="&lt;p&gt;When we try to construct an algorithm for a new problem, divide-and-conquer (using recursion) is one of the first approaches that we try. But in some cases, this approach seems fruitless as the problem becomes much more complicated as its input grows.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is: are there problems for which we can prove that a divide-and-conquer approach cannot help to solve? In the following lines I try to make this more formal.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $P(n)$ be a certain problem whose input has size $n$ (e.g. a problem that accepts an input an array of $n$ numbers). Suppose we have a recursive algorithm for solving $P(n)$.    The &lt;em&gt;recursive runtime&lt;/em&gt; of that algorithm is calculated assuming an oracle which can solve $P(k)$ for every $k&amp;lt;n$ in constant time. For example:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The recursive runtime of binary search is $O(1)$, since it uses only a comparison and two recursive calls.&lt;/li&gt;&#xA;&lt;li&gt;The maximum element in an array can be found in recursive time $O(1)$.&lt;/li&gt;&#xA;&lt;li&gt;The recursive runtime of merge sort is $O(n)$, because of the merging step.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The recursive time is usually smaller than the actual runtime, which reflects the fact that the recursive algorithm is simpler than a straightforward non-recursive solution to the same problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now my question is:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Is there a problem which can be solved in time $f(n)$, but provably has no recursive algorithm with recursive runtime asymptotically less than $f(n)$?&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some specific variants of this question are:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Is there a problem in $P$ which has no algorithm with recursive runtime $O(1)$? (Maybe sorting?)&lt;/li&gt;&#xA;&lt;li&gt;Is there a problem with an exponential algorithm which has no algorithm with polynomial recursive runtime?&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;EDIT: contrary to my guess, &lt;a href=&quot;https://cs.stackexchange.com/a/32122/1342&quot;&gt;sorting has an algorithm with recursive runtime $O(1)$&lt;/a&gt;. So it is still open, whether there a problem in $P$ which has no algorithm with recursive runtime $O(1)$.&lt;/p&gt;&#xA;" OwnerUserId="9453" LastEditorUserId="-1" LastEditDate="2017-04-13T12:48:30.830" LastActivityDate="2016-01-11T14:30:48.440" Title="Are there problems for which divide-and-conquer / recursion is provably useless?" Tags="&lt;cc.complexity-theory&gt;&lt;recursion&gt;" AnswerCount="3" CommentCount="9" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="27095" PostTypeId="2" ParentId="27094" CreationDate="2014-10-17T13:14:38.803" Score="0" Body="&lt;p&gt;Any question which has recursive answer has iterative answer and vice versa.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any recursive algorithm can be rewritten in iterative way and vice versa.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hence, your question doesn't stand good.&lt;/p&gt;&#xA;" OwnerUserId="28604" LastActivityDate="2014-10-17T13:14:38.803" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27096" PostTypeId="2" ParentId="27061" CreationDate="2014-10-17T15:16:43.910" Score="3" Body="&lt;p&gt;You could write an interpreter for VHDL or Verilog in e.g. Coq or Isabelle/HOL and then prove that translated hardware descriptions do the right thing. I know that people have done this, at least for fragments of the hardware description languages, see e.g. &lt;a href=&quot;http://fsl.cs.illinois.edu/index.php/A_Formal_Executable_Semantics_of_Verilog&quot; rel=&quot;nofollow&quot;&gt;A Formal Executable Semantics of Verilog&lt;/a&gt;.  Companies like Intel or AMD formally verify (parts of) the design of their chips. Have a look at &lt;a href=&quot;http://www.informatik.uni-trier.de/~ley/pers/hd/k/Kaivola:Roope&quot; rel=&quot;nofollow&quot;&gt;Roope Kaivola&lt;/a&gt;'s work. &lt;/p&gt;&#xA;" OwnerUserId="898" LastActivityDate="2014-10-17T15:16:43.910" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27097" PostTypeId="1" CreationDate="2014-10-17T18:16:33.407" Score="1" ViewCount="57" Body="&lt;p&gt;Suppose I want to find the rank of an $m \times n$ matrix $A$ over $GF(2)$, where $m \ll n$. The algorithms for rank in the literature seem to be focused on the case when $m = n$, giving a time complexity of $O(log^2 n)$ and $n^{4.5}$ processors. Are there better algorithms known when $m$ and $n$ are very different? I am thinking that $m \approx \text{polylog}(n)$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the case when $m = c \log n$, then one can simply exhaust over all $2^m$ subsets of the rows of $A$, and this is actually more efficient than Gauss elimination. &lt;/p&gt;&#xA;" OwnerUserId="5538" LastActivityDate="2014-10-17T18:16:33.407" Title="NC algorithm for rank of skinny matrix" Tags="&lt;linear-algebra&gt;&lt;dc.parallel-comp&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27099" PostTypeId="2" ParentId="27074" CreationDate="2014-10-17T19:34:51.590" Score="10" Body="&lt;p&gt;$\def\ac{\mathrm{AC}^0}$Yes, $\ac\mathrm{PAD}=\mathrm{PPAD}$. (Here and below, I’m assuming $\ac$ is defined as a uniform class. Of course, with nonuniform $\ac$ we’d just get $\mathrm{PPAD/poly}$.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The basic idea is quite simple: $\ac$ can do one step of a Turing machine computation, hence we can simulate one polynomial-time computable edge by a polynomially long line of $\ac$-computable edges. By a further extension of the idea, one could simulate edges computable in poly time with a PPAD oracle, that is, PPAD is closed under Turing reducibility; this argument is given in &lt;a href=&quot;http://www.math.ucsd.edu/~sbuss/ResearchWeb/NPSearch/&quot;&gt;Buss and Johnson&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are many equivalent definition of PPAD in the literature that differ in various details, hence let me fix one here for definiteness. An NP search problem $S$ is in PPAD if there is a polynomial $p(n)$, and polynomial-time functions $f(x,u)$, $g(x,u)$, and $h(x,u)$ with the following properties. For each input $x$ of length $n$, $f$ and $g$ represent a directed graph $G_x=(V_x,E_x)$ without self-loops where $V_x=\{0,1\}^{p(n)}$, and every node has in-degree and out-degree at most $1$. The representation is such that if $(u,v)\in E_x$, then $f(x,u)=v$ and $g(x,v)=u$; if $u$ has out-degree $0$, $f(x,u)=u$; and if $u$ has in-degree $0$, $g(x,u)=u$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The node $0^{p(n)}\in V_x$ is a source (i.e., it has in-degree $0$ and out-degree $1$). If $u\in V_x$ is any source or sink (in-degree $1$, out-degree $0$) other than $0^{p(n)}$, then $h(x,u)$ is a solution to $S(x)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We can define $\ac\mathrm{PAD}$ similarly, except we require $f,g,h$ to be in $\mathrm{FAC}^0$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I will ignore $h$ in the construction for simplicity. (It is not hard to show that one can take it to be a projection, hence $\ac$-computable.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, consider a PPAD problem $S$ defined by $f$ and $g$, and fix Turing machines computing $f$ and $g$ in time $q(n)$. For any $x$, we define a directed graph $G'_x=(V'_x,E'_x)$ whose vertices are sequences of the following form:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;$(0,u,c_1,\dots,c_k)$, where $u\in V_x$, $0\le k\le q(n)$, and $c_1,\dots,c_k$ are the first $k$ configurations in the computation of $f(x,u)$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;$(0,u,c_1,\dots,c_{q(n)},v,d_1,\dots,d_k)$, where $u,v\in V_x$, $0\le k\le q(n)$, $f(x,u)=v$, $c_1,\dots,c_{q(n)}$ is the full computation of $f(x,u)$, and $d_1,\dots,d_k$ are the first $k$ steps in the computation of $g(x,v)$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;$(1,v,d_1,\dots,d_k)$, where $0^{p(n)}\ne v\in V_x$, $0\le k\le q(n)$, and $d_1,\dots,d_k$ are the first $k$ configurations in the computation of $g(x,v)$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;$(1,v,d_1,\dots,d_{q(n)},u,c_1,\dots,c_k)$, where $u,v\in V_x$, $v\ne0^{p(n)}$, $0\le k\le q(n)$, $g(x,v)=u$, $d_1,\dots,d_{q(n)}$ is the computation of $g(x,v)$, and $c_1,\dots,c_k$ are the first $k$ steps in the computation of $f(x,u)$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;$E'_x$ consists of the edges in $V'_x\times V'_x$ of the following kinds:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;$(0,u,c_1,\dots,c_k)\to(0,u,c_1,\dots,c_{k+1})$&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;$(0,u,c_1,\dots,c_{q(n)})\to(0,u,c_1,\dots,c_{q(n)},v)$&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;$(0,u,c_1,\dots,c_{q(n)},v,d_1,\dots,d_k)\to(0,u,c_1,\dots,c_{q(n)},v,d_1,\dots,d_{k+1})$&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;$(0,u,c_1,\dots,c_{q(n)},v,d_1,\dots,d_{q(n)})\to(1,v,d_1,\dots,d_{q(n)},u,c_1,\dots,c_{q(n)})$ if $f(u)=v$ and $g(v)=u$ (i.e., either $(u,v)\in E_x$, or $u=v$ is an isolated vertex)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;$(1,v,d_1,\dots,d_{q(n)},u,c_1,\dots,c_{k+1})\to(1,v,d_1,\dots,d_{q(n)},u,c_1,\dots,c_k)$&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;$(1,v,d_1,\dots,d_{q(n)},u)\to(1,v,d_1,\dots,d_{q(n)})$&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;$(1,v,d_1,\dots,d_{k+1})\to(1,v,d_1,\dots,d_k)$&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;$(1,u)\to(0,u)$&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Formally, let $r(n)$ be a polynomial bounding the lengths of binary representations of all the sequences above (such that we can extend or shorten sequences, and extract their elements with $\ac$-functions); we actually put $V'_x=\{0,1\}^{r(n)}$, and we let all vertices except the above-mentioned sequences to be isolated.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is easy to see that the functions $f'$, $g'$ representing $G'_x$ are $\ac$-computable: in particular, we can test in $\ac$ whether $c_1,\dots,c_k$ is a valid partial computation of $f(x,u)$, we can compute $c_{k+1}$ from $c_k$, and we can extract the value of $f(x,u)$ from $c_{q(n)}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The sinks in $G'_x$ are nodes of the form $(0,u,c_1,\dots,c_{q(n)},u,d_1,\dots,d_{q(n)})$ where $u$ is a sink in $G_x$. Likewise, sources are $(1,v,d_1,\dots,d_{q(n)},v,c_1,\dots,c_{q(n)})$ where $v$ is a source in $G_x$, except that in the special case $v=0^{p(n)}$, we have pruned the line early and the corresponding source in $G'_x$ is just $(0,0^{p(n)})$. We can assume the encoding of sequences is done in such a way that $(0,0^{p(n)})=0^{r(n)}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thus, $f'$ and $g'$ define an $\ac\mathrm{PAD}$ problem $S'$, and we can extract a solution to $S(x)$ from a solution to $S'(x)$ by an $\ac$-function $h'$ which outputs the second component of a sequence.&lt;/p&gt;&#xA;" OwnerUserId="6959" LastActivityDate="2014-10-17T19:34:51.590" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27104" PostTypeId="1" AcceptedAnswerId="32429" CreationDate="2014-10-18T08:53:44.413" Score="5" ViewCount="1297" Body="&lt;p&gt;I was wondering, is the bitonic sort algorithm stable? I searched the &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=808726&quot; rel=&quot;nofollow&quot;&gt;original paper&lt;/a&gt;, wikipedia and some tutorials, could not find it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It seems to me that it should be, as it is composed of merge / sort steps, however was unable to find answer anywhere.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The reason why I'm asking - I was comparing &lt;a href=&quot;http://www.iti.fh-flensburg.de/lang/algorithmen/sortieren/bitonic/oddn.htm&quot; rel=&quot;nofollow&quot;&gt;this particular implementation of bitonic sort&lt;/a&gt; to the sort implemented in the C++ standard library, for array length 9 it requires 28 comparison / swap operations, while the standard library sort (which is unstable) requires 25. The three extra cswaps do not seem enough to make the sort stable.&lt;/p&gt;&#xA;" OwnerUserId="25407" LastEditorUserId="25407" LastEditDate="2015-09-03T02:46:21.587" LastActivityDate="2020-06-30T14:37:38.553" Title="Is the bitonic sort algorithm stable?" Tags="&lt;sorting&gt;&lt;sorting-network&gt;&lt;stable&gt;" AnswerCount="2" CommentCount="6" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="27105" PostTypeId="2" ParentId="27094" CreationDate="2014-10-18T09:02:46.813" Score="8" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there a problem with an exponential algorithm which has no algorithm with polynomial recursive runtime?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Yes.  Note that if a tally language has “recursive algorithm” with polynomial “recursive runtime,” then it is in P.  There is a tally language in E∖P by a standard diagonalization argument.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there a problem which can be solved in time $f(n)$, but provably has no recursive algorithm with recursive runtime $o(f(n))$?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;It may depend on the computational model, but I doubt this is known, given that the time hierarchy theorem for two-tape Turing machines is not powerful enough to distinguish, say, O(&lt;i&gt;n&lt;/i&gt;&lt;sup&gt;2&lt;/sup&gt;) time and o(&lt;i&gt;n&lt;/i&gt;&lt;sup&gt;2&lt;/sup&gt;) time even without giving the latter the constant-time access to the answers on smaller instances.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Random comments on your questions in this post:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;I do not think that these questions are related to the usefulness of recursive programs, despite what the title of the post and your choice of terminology suggest.  As BVMR wrote in an answer, recursions and iterations are equivalent in a certain sense.  Instead, I think that the questions have a connection to the usefulness of the divide-and-conquer approach.&lt;/li&gt;&#xA;&lt;li&gt;In complexity theory, a related notion to your notion of “recursive algorithms” with their “recursive runtime” is called “length-decreasing self-reductions” with their time complexity.&lt;/li&gt;&#xA;&lt;li&gt;Some part of your questions (definitely the part referring to sublinear-time algorithms) depend on the choice of computational model.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="567" LastEditorUserId="567" LastEditDate="2014-10-20T10:27:23.470" LastActivityDate="2014-10-20T10:27:23.470" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="27108" PostTypeId="1" AcceptedAnswerId="27110" CreationDate="2014-10-18T11:57:36.417" Score="4" ViewCount="175" Body="&lt;p&gt;Let $x_1,x_2,\dots x_n$ be literals.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $P(x_1,x_2,\dots,x_n)$ be one of the following Boolean function:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$0)$ Equality function - $Eq_k^n(x)=1\iff x_1+\dots+x_n= k$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$1)$ Threshold function - $Th_k^n(x)=1\iff x_1+\dots+x_n\ge k$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$2)$ Majority function - $Maj_n(x)=1\iff x_1+\dots+x_n\ge \lceil\frac{n}{2}\rceil$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$3)$ Modular-$s$ function - $MOD_k(s)=s\iff x_1+\dots+x_n\equiv 0\mod k$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If a function 'represents' $P(x_1,x_2,\dots,x_n)$, that means the function and $P(x_1,x_2,\dots,x_n)$ agree on $x_i\in\{0,1\}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If a function is rational then its degree is the sum of degrees of numerator and denominator.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is known about the smallest degree of a:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$A)$ polynomial $p(x_1,x_2,\dots,x_n)\in\mathbb R[x_1,x_2,\dots,x_n]$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$B)$ rational function $r(x_1,x_2,\dots,x_n)\in\mathbb R(x_1,x_2,\dots,x_n)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;that represents $P(x_1,x_2,\dots,x_n)$ in each case of $0,1,2$ and $3$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In which case the gap is the largest? It seems intuitively that $2,3$ should be the most complex with possibly the largest gap for $3$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that both the polynomial and the numerator and denominator of the rational function can be multilinear since $x_i^t=x_i$ on $\{0,1\}$.&lt;/p&gt;&#xA;" OwnerUserId="1812" LastActivityDate="2014-10-19T13:35:05.353" Title="Gap in degree of representations of candidate boolean functions" Tags="&lt;boolean-functions&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27110" PostTypeId="2" ParentId="27108" CreationDate="2014-10-18T19:43:20.383" Score="6" Body="&lt;p&gt;For symmetric functions (as those you suggest), one may make use of the Minsky-Papert symmetrization technique to get an easy $(n+1)/2$ lower bound for all nonconstant functions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The idea behind the symmetrization technique is to replace a polynomial $p(x)$ of degree at most $d$ by the symmetric polynomial $\sum_{\sigma \in S_n} p(\sigma(x))$. Then we may find a univariate polynomial $P$ also of degree at most $d$ such that $P(\sum_i x_i)  = \sum_{\sigma \in S_n} p(\sigma(x))$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose that $f$ is a symmetric non-constant Boolean function. With abuse of notation, write also $f(k) = f(x)$, where $k = \sum_i x_i$. &#xA;Let $p$ and $q$ be polynomials such that $p(x)/q(x) = f(x)$ for all $x$ (in particular $q(x)\neq 0$ for all $x$). Then $p(x)=f(x)q(x)$, and hence $\sum_{\sigma \in S_n} p(\sigma(x)) = \sum_{\sigma \in S_n} f(\sigma(x)) q(\sigma(x)) = f(x) \sum_{\sigma \in S_n} q(\sigma(x))$ for all $x$. We may thus find univariate polynomials $P$ and $Q$ such that $P(k) = f(k) Q(k)$ for all $k$. Thus $P(k)/Q(k)=f(k)$. Now we can observe:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;The polynomial $P(k)$ must be 0 exactly when $f(k)=0$. This means $\mathrm{deg(p)} \geq \#\{k \mid f(k)=0\}$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The polynomial $P(k)-Q(k)$ must be 0 exactly when $f(k)=1$ (since q is by assumption never 0). This means $\max(\mathrm{deg}(p),\mathrm{deg(q)}) \geq \#\{k \mid f(k)=1\}$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;It follows that the degree of $p(x)/q(x)$ must always be at least $(n+1)/2$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For representation by polynomials even better bounds have been proved by von zur Gathen and Roche as well as Cohen and Shpilka. Namely any nonconstant symmetric function must have degree $n$ minus lower order terms.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In any case, the conclusion is, that for symmetric Boolean functions, the largest separation you may hope for is a factor 2.&lt;/p&gt;&#xA;" OwnerUserId="313" LastEditorUserId="313" LastEditDate="2014-10-19T13:35:05.353" LastActivityDate="2014-10-19T13:35:05.353" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="27111" PostTypeId="2" ParentId="26026" CreationDate="2014-10-18T19:51:11.110" Score="8" Body="&lt;p&gt;I expand my comment: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) a  fan-in $k$ AND gate can be simulated by $k-1$ fan-in 2 AND gates (and the same applies to an OR gate); so if $I_i \geq 2$ is the fan-in of gate $g_i$ the following relation must hold:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$|C| + \sum_i (I_i - 2) \geq 3(n-1)$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) if you allow &lt;em&gt;arbitrary fan in&lt;/em&gt; then you can beat the $3(n-1)$ bound; for example consider the PARITY on 3 variables $(x_1,x_2,x_3)$; the following circuit computes it with only 5 arbitrary fan-in gates:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/YvfMu.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2014-10-18T20:06:30.987" LastActivityDate="2014-10-18T20:06:30.987" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="27113" PostTypeId="1" CreationDate="2014-10-19T01:22:04.033" Score="4" ViewCount="3425" Body="&lt;p&gt;What is the best Hamiltonian Cycle Problem (HCP) solvers available in the market?&#xA;Googling so far shows that there is one created by Flinders University that can solve at most 5000 node instances.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I know HCP is a NP-hard problem but is 5000 node the best that researchers can produce so far?  Is no researcher / commercial entity interested in producing a better one (maybe solve 50000 node instances?) because a HCP is non-monetizable unless it can solve billions node instances (crack RSA and what nots)?&lt;/p&gt;&#xA;" OwnerUserId="28617" LastActivityDate="2020-09-13T11:41:03.163" Title="Best Hamiltonian Cycle Problem solver" Tags="&lt;graph-theory&gt;&lt;hamiltonian-paths&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27114" PostTypeId="2" ParentId="27060" CreationDate="2014-10-19T02:22:25.733" Score="8" Body="&lt;p&gt;I will present an equivalent but simpler-looking formulation of the problem, and show a lower bound of (&lt;i&gt;n&lt;/i&gt;/&lt;i&gt;k&lt;/i&gt; − 1) / (&lt;i&gt;n&lt;/i&gt;−1).  &lt;del&gt;I also show a connection to an open problem in quantum information.&lt;/del&gt;  &lt;em&gt;[Edit in revision 3: In earlier revisions, I claimed that an exact characterization of the cases in which the lower bound shown below is attained is likely to be difficult because an analogous question in the complex case includes an open problem about SIC-POVMs in quantum information.  However, this connection to SIC-POVMs was incorrect.  For details, see the section “Incorrect connection to SIC-POVMs in quantum information” below.]&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Equivalent formulation&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;First, as was already pointed out in daniello’s answer, note that Var(&lt;i&gt;x&lt;/i&gt;&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt;&lt;sup&gt;T&lt;/sup&gt;&lt;i&gt;x&lt;/i&gt;&lt;sub&gt;&lt;i&gt;j&lt;/i&gt;&lt;/sub&gt;) = E[(&lt;i&gt;x&lt;/i&gt;&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt;&lt;sup&gt;T&lt;/sup&gt;&lt;i&gt;x&lt;/i&gt;&lt;sub&gt;&lt;i&gt;j&lt;/i&gt;&lt;/sub&gt;)&lt;sup&gt;2&lt;/sup&gt;] − E[&lt;i&gt;x&lt;/i&gt;&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt;&lt;sup&gt;T&lt;/sup&gt;&lt;i&gt;x&lt;/i&gt;&lt;sub&gt;&lt;i&gt;j&lt;/i&gt;&lt;/sub&gt;]&lt;sup&gt;2&lt;/sup&gt; = E[(&lt;i&gt;x&lt;/i&gt;&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt;&lt;sup&gt;T&lt;/sup&gt;&lt;i&gt;x&lt;/i&gt;&lt;sub&gt;&lt;i&gt;j&lt;/i&gt;&lt;/sub&gt;)&lt;sup&gt;2&lt;/sup&gt;].  So in the rest of the answer, we forget about variance and instead minimize max&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;≠&lt;i&gt;j&lt;/i&gt;&lt;/sub&gt;E[(&lt;i&gt;x&lt;/i&gt;&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt;&lt;sup&gt;T&lt;/sup&gt;&lt;i&gt;x&lt;/i&gt;&lt;sub&gt;&lt;i&gt;j&lt;/i&gt;&lt;/sub&gt;)&lt;sup&gt;2&lt;/sup&gt;].&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Next, once we decide our goal is to minimize max&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;≠&lt;i&gt;j&lt;/i&gt;&lt;/sub&gt;E[(&lt;i&gt;x&lt;/i&gt;&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt;&lt;sup&gt;T&lt;/sup&gt;&lt;i&gt;x&lt;/i&gt;&lt;sub&gt;&lt;i&gt;j&lt;/i&gt;&lt;/sub&gt;)&lt;sup&gt;2&lt;/sup&gt;], we can ignore the constraint that E[&lt;i&gt;x&lt;/i&gt;&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt;&lt;sup&gt;T&lt;/sup&gt;&lt;i&gt;x&lt;/i&gt;&lt;sub&gt;&lt;i&gt;j&lt;/i&gt;&lt;/sub&gt;] = 0.  This is because if we have random unit vectors &lt;i&gt;x&lt;/i&gt;&lt;sub&gt;1&lt;/sub&gt;, …, &lt;i&gt;x&lt;/i&gt;&lt;sub&gt;&lt;i&gt;n&lt;/i&gt;&lt;/sub&gt;, then we can negate each of them independently with probability 1/2 to satisfy E[&lt;i&gt;x&lt;/i&gt;&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt;&lt;sup&gt;T&lt;/sup&gt;&lt;i&gt;x&lt;/i&gt;&lt;sub&gt;&lt;i&gt;j&lt;/i&gt;&lt;/sub&gt;] = 0 without changing the value of the objective function max&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;≠&lt;i&gt;j&lt;/i&gt;&lt;/sub&gt;E[(&lt;i&gt;x&lt;/i&gt;&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt;&lt;sup&gt;T&lt;/sup&gt;&lt;i&gt;x&lt;/i&gt;&lt;sub&gt;&lt;i&gt;j&lt;/i&gt;&lt;/sub&gt;)&lt;sup&gt;2&lt;/sup&gt;].&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Moreover, changing the objective function from max&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;≠&lt;i&gt;j&lt;/i&gt;&lt;/sub&gt;E[(&lt;i&gt;x&lt;/i&gt;&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt;&lt;sup&gt;T&lt;/sup&gt;&lt;i&gt;x&lt;/i&gt;&lt;sub&gt;&lt;i&gt;j&lt;/i&gt;&lt;/sub&gt;)&lt;sup&gt;2&lt;/sup&gt;] to (1/(&lt;i&gt;n&lt;/i&gt;(&lt;i&gt;n&lt;/i&gt;−1)))∑&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;≠&lt;i&gt;j&lt;/i&gt;&lt;/sub&gt;E[(&lt;i&gt;x&lt;/i&gt;&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt;&lt;sup&gt;T&lt;/sup&gt;&lt;i&gt;x&lt;/i&gt;&lt;sub&gt;&lt;i&gt;j&lt;/i&gt;&lt;/sub&gt;)&lt;sup&gt;2&lt;/sup&gt;] does not change the optimum value.  The latter is at most the former because the average is at most the maximum.  However, we can always make the values of E[(&lt;i&gt;x&lt;/i&gt;&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt;&lt;sup&gt;T&lt;/sup&gt;&lt;i&gt;x&lt;/i&gt;&lt;sub&gt;&lt;i&gt;j&lt;/i&gt;&lt;/sub&gt;)&lt;sup&gt;2&lt;/sup&gt;] for different choices of (&lt;i&gt;i&lt;/i&gt;, &lt;i&gt;j&lt;/i&gt;) (&lt;i&gt;i&lt;/i&gt;≠&lt;i&gt;j&lt;/i&gt;) equal by permuting the &lt;i&gt;n&lt;/i&gt; vectors &lt;i&gt;x&lt;/i&gt;&lt;sub&gt;1&lt;/sub&gt;, …, &lt;i&gt;x&lt;/i&gt;&lt;sub&gt;&lt;i&gt;n&lt;/i&gt;&lt;/sub&gt; randomly.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So for any &lt;i&gt;n&lt;/i&gt; and &lt;i&gt;k&lt;/i&gt;, the optimum value of the problem in question is equal to the minimum of (1/(&lt;i&gt;n&lt;/i&gt;(&lt;i&gt;n&lt;/i&gt;−1)))∑&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;≠&lt;i&gt;j&lt;/i&gt;&lt;/sub&gt;E[(&lt;i&gt;x&lt;/i&gt;&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt;&lt;sup&gt;T&lt;/sup&gt;&lt;i&gt;x&lt;/i&gt;&lt;sub&gt;&lt;i&gt;j&lt;/i&gt;&lt;/sub&gt;)&lt;sup&gt;2&lt;/sup&gt;] where &lt;i&gt;x&lt;/i&gt;&lt;sub&gt;1&lt;/sub&gt;, …, &lt;i&gt;x&lt;/i&gt;&lt;sub&gt;&lt;i&gt;n&lt;/i&gt;&lt;/sub&gt; are random variables which take unit vectors in ℝ&lt;sup&gt;&lt;i&gt;k&lt;/i&gt;&lt;/sup&gt; as values.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, by linearity of expectation, this objective function is equal to the expected value E[(1/(&lt;i&gt;n&lt;/i&gt;(&lt;i&gt;n&lt;/i&gt;−1)))∑&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;≠&lt;i&gt;j&lt;/i&gt;&lt;/sub&gt;(&lt;i&gt;x&lt;/i&gt;&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt;&lt;sup&gt;T&lt;/sup&gt;&lt;i&gt;x&lt;/i&gt;&lt;sub&gt;&lt;i&gt;j&lt;/i&gt;&lt;/sub&gt;)&lt;sup&gt;2&lt;/sup&gt;].  Because the minimum is at most the average, there is no need to consider probability distributions anymore.  That is, the optimum value of the problem above is equal to the optimum value of the following:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Choose unit vectors &lt;i&gt;x&lt;/i&gt;&lt;sub&gt;1&lt;/sub&gt;, …, &lt;i&gt;x&lt;/i&gt;&lt;sub&gt;&lt;i&gt;n&lt;/i&gt;&lt;/sub&gt; ∈ ℝ&lt;sup&gt;&lt;i&gt;k&lt;/i&gt;&lt;/sup&gt; to minimize (1/(&lt;i&gt;n&lt;/i&gt;(&lt;i&gt;n&lt;/i&gt;−1)))∑&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;≠&lt;i&gt;j&lt;/i&gt;&lt;/sub&gt;(&lt;i&gt;x&lt;/i&gt;&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt;&lt;sup&gt;T&lt;/sup&gt;&lt;i&gt;x&lt;/i&gt;&lt;sub&gt;&lt;i&gt;j&lt;/i&gt;&lt;/sub&gt;)&lt;sup&gt;2&lt;/sup&gt;.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;h2&gt;Lower bound&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;Using this equivalent formulation, we will prove that the optimal value is at least (&lt;i&gt;n&lt;/i&gt;/&lt;i&gt;k&lt;/i&gt; − 1) / (&lt;i&gt;n&lt;/i&gt;−1).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For 1≤&lt;i&gt;i&lt;/i&gt;≤&lt;i&gt;n&lt;/i&gt;, let &lt;i&gt;X&lt;/i&gt;&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt;=&lt;i&gt;x&lt;/i&gt;&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt;&lt;i&gt;x&lt;/i&gt;&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt;&lt;sup&gt;T&lt;/sup&gt; be the rank-1 projector corresponding to the unit vector &lt;i&gt;x&lt;/i&gt;&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt;.  Then, it holds that (&lt;i&gt;x&lt;/i&gt;&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt;&lt;sup&gt;T&lt;/sup&gt;&lt;i&gt;x&lt;/i&gt;&lt;sub&gt;&lt;i&gt;j&lt;/i&gt;&lt;/sub&gt;)&lt;sup&gt;2&lt;/sup&gt; = Tr(&lt;i&gt;X&lt;/i&gt;&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt;&lt;i&gt;X&lt;/i&gt;&lt;sub&gt;&lt;i&gt;j&lt;/i&gt;&lt;/sub&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let &lt;i&gt;Y&lt;/i&gt; = ∑&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt;&lt;i&gt;X&lt;/i&gt;&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt;.  Then, it holds that ∑&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;≠&lt;i&gt;j&lt;/i&gt;&lt;/sub&gt;Tr(&lt;i&gt;X&lt;/i&gt;&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt;&lt;i&gt;X&lt;/i&gt;&lt;sub&gt;&lt;i&gt;j&lt;/i&gt;&lt;/sub&gt;) = ∑&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;,&lt;i&gt;j&lt;/i&gt;&lt;/sub&gt;Tr(&lt;i&gt;X&lt;/i&gt;&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt;&lt;i&gt;X&lt;/i&gt;&lt;sub&gt;&lt;i&gt;j&lt;/i&gt;&lt;/sub&gt;) − &lt;i&gt;n&lt;/i&gt; = Tr(&lt;i&gt;Y&lt;/i&gt;&lt;sup&gt;2&lt;/sup&gt;) − &lt;i&gt;n&lt;/i&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The Cauchy–Schwarz inequality implies that Tr(&lt;i&gt;Y&lt;/i&gt;&lt;sup&gt;2&lt;/sup&gt;) ≥ (Tr &lt;i&gt;Y&lt;/i&gt;)&lt;sup&gt;2&lt;/sup&gt;/&lt;i&gt;k&lt;/i&gt; = &lt;i&gt;n&lt;/i&gt;&lt;sup&gt;2&lt;/sup&gt;/&lt;i&gt;k&lt;/i&gt;, and therefore ∑&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;≠&lt;i&gt;j&lt;/i&gt;&lt;/sub&gt;Tr(&lt;i&gt;X&lt;/i&gt;&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt;&lt;i&gt;X&lt;/i&gt;&lt;sub&gt;&lt;i&gt;j&lt;/i&gt;&lt;/sub&gt;) = Tr(&lt;i&gt;Y&lt;/i&gt;&lt;sup&gt;2&lt;/sup&gt;) − &lt;i&gt;n&lt;/i&gt; ≥ &lt;i&gt;n&lt;/i&gt;&lt;sup&gt;2&lt;/sup&gt;/&lt;i&gt;k&lt;/i&gt; − &lt;i&gt;n&lt;/i&gt;.  By dividing by &lt;i&gt;n&lt;/i&gt;(&lt;i&gt;n&lt;/i&gt;−1), we obtain that the objective value is at least (&lt;i&gt;n&lt;/i&gt;/&lt;i&gt;k&lt;/i&gt; − 1) / (&lt;i&gt;n&lt;/i&gt;−1).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In particular, when &lt;i&gt;n&lt;/i&gt;=&lt;i&gt;k&lt;/i&gt;+1, daniello’s answer is within a factor of 2 from the optimal value.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;When is this lower bound attainable?&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;Attaining this lower bound (&lt;i&gt;n&lt;/i&gt;/&lt;i&gt;k&lt;/i&gt; − 1) / (&lt;i&gt;n&lt;/i&gt;−1) is equivalent to making &lt;i&gt;Y&lt;/i&gt;=(&lt;i&gt;n&lt;/i&gt;/&lt;i&gt;k&lt;/i&gt;)&lt;i&gt;I&lt;/i&gt;.  I do not know the exact characterization when it is attainable, but following sufficient conditions exist:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;When &lt;i&gt;n&lt;/i&gt;=&lt;i&gt;k&lt;/i&gt;+1, it is attainable by considering &lt;i&gt;k&lt;/i&gt;+1 unit vectors which form a regular &lt;i&gt;k&lt;/i&gt;-simplex centered at the origin, improving from 2/(&lt;i&gt;k&lt;/i&gt;(&lt;i&gt;k&lt;/i&gt;+1)) in daniello’s answer to the optimal 1/&lt;i&gt;k&lt;/i&gt;&lt;sup&gt;2&lt;/sup&gt;.&lt;/li&gt;&#xA;&lt;li&gt;When &lt;i&gt;n&lt;/i&gt; is a multiple of &lt;i&gt;k&lt;/i&gt;, it is clearly attainable by fixing an orthonormal basis of ℝ&lt;sup&gt;&lt;i&gt;k&lt;/i&gt;&lt;/sup&gt; and assigning each of the basis vectors to &lt;i&gt;n&lt;/i&gt;/&lt;i&gt;k&lt;/i&gt; of &lt;i&gt;v&lt;/i&gt;&lt;sub&gt;1&lt;/sub&gt;, …, &lt;i&gt;v&lt;/i&gt;&lt;sub&gt;&lt;i&gt;n&lt;/i&gt;&lt;/sub&gt;.&lt;/li&gt;&#xA;&lt;li&gt;More generally than the last bullet point, if it is attainable with some choice of &lt;i&gt;k&lt;/i&gt; and both &lt;i&gt;n&lt;/i&gt;=&lt;i&gt;n&lt;/i&gt;&lt;sub&gt;1&lt;/sub&gt; and &lt;i&gt;n&lt;/i&gt;=&lt;i&gt;n&lt;/i&gt;&lt;sub&gt;2&lt;/sub&gt;, then it is also attainable for the same &lt;i&gt;k&lt;/i&gt; and &lt;i&gt;n&lt;/i&gt;=&lt;i&gt;n&lt;/i&gt;&lt;sub&gt;1&lt;/sub&gt;+&lt;i&gt;n&lt;/i&gt;&lt;sub&gt;2&lt;/sub&gt;.  In particular, it is attainable if &lt;i&gt;n&lt;/i&gt;=&lt;i&gt;a&lt;/i&gt;&lt;i&gt;k&lt;/i&gt;+&lt;i&gt;b&lt;/i&gt; where &lt;i&gt;a&lt;/i&gt; and &lt;i&gt;b&lt;/i&gt; are integers satisfying &lt;i&gt;a&lt;/i&gt;≥&lt;i&gt;b&lt;/i&gt;≥0.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Although I have not checked details, it seems that any &lt;a href=&quot;http://mathworld.wolfram.com/SphericalDesign.html&quot; rel=&quot;nofollow&quot;&gt;spherical 2-design&lt;/a&gt; gives a solution attaining this lower bound.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Incorrect connection to SIC-POVMs in quantum information&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;In earlier revisions, I stated:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;I suspect that answering this completely is a difficult question.  The reason is that if we instead consider the complex vector space ℂ&lt;sup&gt;&lt;i&gt;k&lt;/i&gt;&lt;/sup&gt;, this question is related to an open problem in quantum information.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;But this relation was incorrect.  I will explain why.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;More precisely, consider the following problem:&lt;/p&gt;&#xA;  &#xA;  &lt;blockquote&gt;&#xA;    &lt;p&gt;Choose unit vectors &lt;i&gt;x&lt;/i&gt;&lt;sub&gt;1&lt;/sub&gt;, …, &lt;i&gt;x&lt;/i&gt;&lt;sub&gt;&lt;i&gt;n&lt;/i&gt;&lt;/sub&gt; ∈ ℂ&lt;sup&gt;&lt;i&gt;k&lt;/i&gt;&lt;/sup&gt; to minimize (1/(&lt;i&gt;n&lt;/i&gt;(&lt;i&gt;n&lt;/i&gt;−1)))∑&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;≠&lt;i&gt;j&lt;/i&gt;&lt;/sub&gt;|&lt;i&gt;x&lt;/i&gt;&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt;&lt;sup&gt;*&lt;/sup&gt;&lt;i&gt;x&lt;/i&gt;&lt;sub&gt;&lt;i&gt;j&lt;/i&gt;&lt;/sub&gt;|&lt;sup&gt;2&lt;/sup&gt;.&lt;/p&gt;&#xA;  &lt;/blockquote&gt;&#xA;  &#xA;  &lt;p&gt;The lower bound above equally holds in this complex version.   Consider the case where &lt;i&gt;n&lt;/i&gt;=&lt;i&gt;k&lt;/i&gt;&lt;sup&gt;2&lt;/sup&gt; in the complex version.  Then the lower bound is equal to 1/(&lt;i&gt;k&lt;/i&gt;+1).&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;So far, it was correct.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;A set of &lt;i&gt;k&lt;/i&gt;&lt;sup&gt;2&lt;/sup&gt; unit vectors &lt;i&gt;x&lt;/i&gt;&lt;sub&gt;1&lt;/sub&gt;, …, &lt;i&gt;x&lt;/i&gt;&lt;sub&gt;&lt;i&gt;k&lt;/i&gt;&lt;sup&gt;2&lt;/sup&gt;&lt;/sub&gt; ∈ ℂ&lt;sup&gt;&lt;i&gt;k&lt;/i&gt;&lt;/sup&gt; attaining the lower bound is called a &lt;a href=&quot;http://en.wikipedia.org/wiki/SIC-POVM&quot; rel=&quot;nofollow&quot;&gt;SIC-POVM&lt;/a&gt; in dimension &lt;i&gt;k&lt;/i&gt;,&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;This part was incorrect.  A SIC-POVM is a set of &lt;i&gt;k&lt;/i&gt;&lt;sup&gt;2&lt;/sup&gt; unit vectors &lt;i&gt;x&lt;/i&gt;&lt;sub&gt;1&lt;/sub&gt;, …, &lt;i&gt;x&lt;/i&gt;&lt;sub&gt;&lt;i&gt;n&lt;/i&gt;&lt;/sub&gt; ∈ ℂ&lt;sup&gt;&lt;i&gt;k&lt;/i&gt;&lt;/sup&gt; for which |&lt;i&gt;x&lt;/i&gt;&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt;&lt;sup&gt;*&lt;/sup&gt;&lt;i&gt;x&lt;/i&gt;&lt;sub&gt;&lt;i&gt;j&lt;/i&gt;&lt;/sub&gt;|&lt;sup&gt;2&lt;/sup&gt; = 1/(&lt;i&gt;k&lt;/i&gt;+1) for all &lt;i&gt;i&lt;/i&gt;≠&lt;i&gt;j&lt;/i&gt;.  Note that here the requirement must hold for all pairs &lt;i&gt;i&lt;/i&gt;≠&lt;i&gt;j&lt;/i&gt;, not just the average over all pairs &lt;i&gt;i&lt;/i&gt;≠&lt;i&gt;j&lt;/i&gt;.  In the “Equivalent formulation” section, we showed the equivalence between minimizing the maximum and minimizing the average, but this was possible because &lt;i&gt;x&lt;/i&gt;&lt;sub&gt;1&lt;/sub&gt;, …, &lt;i&gt;x&lt;/i&gt;&lt;sub&gt;&lt;i&gt;n&lt;/i&gt;&lt;/sub&gt; were random variables taking unit vectors there.  Here &lt;i&gt;x&lt;/i&gt;&lt;sub&gt;1&lt;/sub&gt;, …, &lt;i&gt;x&lt;/i&gt;&lt;sub&gt;&lt;i&gt;n&lt;/i&gt;&lt;/sub&gt; are just unit vectors, so we cannot use the same trick.&lt;/p&gt;&#xA;" OwnerUserId="567" LastEditorUserId="567" LastEditDate="2014-10-19T22:33:16.453" LastActivityDate="2014-10-19T22:33:16.453" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27116" PostTypeId="1" AcceptedAnswerId="27118" CreationDate="2014-10-19T08:40:29.033" Score="0" ViewCount="71" Body="&lt;p&gt;I have been reading &lt;code&gt;SICP&lt;/code&gt; and have been thinking over a thing for quite some time related to evaluation using Substitution with &lt;code&gt;Applicative-order&lt;/code&gt; vs &lt;code&gt;Normal-Order&lt;/code&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose, I have defined my own &lt;code&gt;if-new&lt;/code&gt; clause which is supposed to behave exactly as &lt;code&gt;if&lt;/code&gt;&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;(define (if-new predicate a b) &#xA;        (cond (predicate a)(else b)))&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;This is not same as &lt;code&gt;if&lt;/code&gt; in a runtime that evaluates in &lt;code&gt;Applicative-Order&lt;/code&gt;. Example:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;(define (p) (p))&#xA;(if (= 0 0) 0 (p)) ; This evaluates to 0.&#xA;&#xA;; In case of 'if-new`&#xA;(if-new (= 0 0) 0 (p)) ; Infinite self-recursive iterative loop&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;But say it was evaluated in &lt;code&gt;Normal-order&lt;/code&gt; then it will evaluate to &lt;code&gt;0&lt;/code&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So can I say, for a runtime which evaluates in &lt;code&gt;Normal-Order&lt;/code&gt;, is &lt;code&gt;if-new&lt;/code&gt; same as &lt;code&gt;if&lt;/code&gt;?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;PS: I could not think of any counter examples. I tried to solve it mathematically by proof of contradiction but I am not sure of its correctness.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Proof by Contradiction: Hypothesis: A runtime which evaluates in &lt;code&gt;Normal-Order&lt;/code&gt;, &lt;code&gt;(if-new p a b)&lt;/code&gt; is not same as &lt;code&gt;(if p a b)&lt;/code&gt;&#xA;               where p,a,b are deterministic expressions and pure procedures. (i.e. when evaluated they return the same value always)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then ∃(p a b) such that (if-new p a b) =&gt; x1 and (if p a b) =&gt; x2. And x1 != x2 (=&gt; represents evaluation)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;a' represents that a has been evaluated.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Case-1: p whenever evaluated, returns true&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;   (if-new p a b) =&amp;gt; (cond (p a)(else b)) =&amp;gt; (cond (p' a)(else b)) =&amp;gt; a'&#xA;&#xA;   (if p a b) =&amp;gt; p' =&amp;gt; a'&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Case-2: p whenever evaluated, returns false&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;   (if-new p a b) =&amp;gt; (cond (p a)(else b)) =&amp;gt; (cond (p' a)(else b)) =&amp;gt; b'&#xA;&#xA;   (if p a b) =&amp;gt; p' =&amp;gt; b'&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;In each of the case, both the expressions provide the same result. This is a contradiction as our assumption suggests they are different. Hence proved&lt;/p&gt;&#xA;" OwnerUserId="6897" LastEditorUserId="6897" LastEditDate="2014-10-19T09:15:27.663" LastActivityDate="2014-10-19T09:56:27.827" Title="Can we design our own `if` clause in Normal Order evaluation" Tags="&lt;functional-programming&gt;&lt;lisp&gt;&lt;scheme&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27118" PostTypeId="2" ParentId="27116" CreationDate="2014-10-19T09:45:06.750" Score="5" Body="&lt;p&gt;To answer your question we need some machinery and concepts from the theory of programming languages, so that we can actually make your question well posed, and then answer it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You are asking whether two pieces of code are &lt;a href=&quot;http://en.wikipedia.org/wiki/Observational_equivalence&quot; rel=&quot;nofollow&quot;&gt;&lt;strong&gt;observationally equivalent&lt;/strong&gt;&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is usually quite hard to determine observational equivalence with direct methods (and the sort of arguments you attempted will not work). A common one is to use &lt;strong&gt;adequate&lt;/strong&gt; &lt;a href=&quot;http://en.wikipedia.org/wiki/Denotational_semantics&quot; rel=&quot;nofollow&quot;&gt;denotational semantics&lt;/a&gt;. Adequacy means: &quot;If $p$ and $q$ have the same denotation then they are observationally equivalent&quot;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In your case, the traditional &lt;a href=&quot;http://en.wikipedia.org/wiki/Domain_theory&quot; rel=&quot;nofollow&quot;&gt;domain-theoretic&lt;/a&gt; denotational semantics, for instance using $\omega$-cpos, will do the job. In the denotational semantics the difference between the two evaluation orders is manifested by the fact that in the applicative order (also known as call-by-value) every function is &lt;em&gt;strict&lt;/em&gt; (it maps the bottom element to the bottom element), while under the normal order evaluation (also known as call-by-name) one may define non-strict function.&lt;/p&gt;&#xA;&#xA;&lt;h3&gt;First method&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;A simple calculation shows that for the call-by-name semantics the denotation of &lt;code&gt;if&lt;/code&gt; is a map $f : \{0,1,\bot\} \times D \times D \to D$, where $D$ is a domain, defined by&#xA;$$f(b,x,y) = &#xA;\begin{cases}&#xA;\bot &amp;amp; \text{if $b = \bot$}\\&#xA;x &amp;amp; \text{if $b = 0$}\\&#xA;y &amp;amp; \text{if $b = 1$}&#xA;\end{cases}&#xA;$$&#xA;while the denotation of &lt;code&gt;if-new&lt;/code&gt; is exactly the same. Because denotational semantics is adequate, we may conclude that &lt;code&gt;if&lt;/code&gt; and &lt;code&gt;if-new&lt;/code&gt; are observationally equivalent.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is instructive to see what the denotation is for the strict semantics (applicative order). The semantics of &lt;code&gt;if&lt;/code&gt; remains the same, while the semantics of &lt;code&gt;if-new&lt;/code&gt; is a map $g : \{0,1,\bot\} \times D \times D \to D$, where $D$ is a domain, defined by&#xA;$$g(b,x,y) = &#xA;\begin{cases}&#xA;\bot &amp;amp; \text{if $b = \bot$ or $x = \bot$ or $y = \bot$}\\&#xA;x &amp;amp; \text{if $b = 0$}\\&#xA;y &amp;amp; \text{if $b = 1$}&#xA;\end{cases}&#xA;$$&#xA;This is &lt;em&gt;not&lt;/em&gt; sufficient to conclude that &lt;code&gt;if&lt;/code&gt; and &lt;code&gt;if-new&lt;/code&gt; are observationally inequivalent (because the denotational semantics is not fully abstract), but you already gave a specific example which shows that they are different under applicative order.&lt;/p&gt;&#xA;&#xA;&lt;h3&gt;Second method&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;The first method is an application of the general rule that denotationally equal programs are observationally equal. It requires us to always deal with domain theory. Another method is to derive useful &lt;em&gt;general&lt;/em&gt; laws that we can then use to argue about observational equivalence. In your case we need the law of &lt;strong&gt;$\beta$-equivalence&lt;/strong&gt;, which says that&#xA;&lt;code&gt;((lambda (x) e1) e2)&lt;/code&gt; is observationally equal to &lt;code&gt;e1&lt;/code&gt; with &lt;code&gt;e2&lt;/code&gt; substituted for &lt;code&gt;x&lt;/code&gt;. This law does &lt;em&gt;not&lt;/em&gt; hold under applicative order, but it does for normal order. So we may calculate:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;(if-new p a b)&lt;/code&gt; is observationally equivalent to&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;((lambda (x y z) (if x y z)) p a b)&lt;/code&gt; is observationally equivalent to&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;((lambda (y z) (if p y z)) a b)&lt;/code&gt; is observationally equivalent to&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;((lambda (z) (if p a z)) b)&lt;/code&gt; is observationally equivalent to&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;(if p a b)&lt;/code&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Caveat:&lt;/strong&gt; I am doing all this under the assumption that we are working in a fragment of Scheme which is purely functional (no side effects other than divergence).&lt;/p&gt;&#xA;" OwnerUserId="705" LastEditorUserId="705" LastEditDate="2014-10-19T09:56:27.827" LastActivityDate="2014-10-19T09:56:27.827" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="27120" PostTypeId="1" AcceptedAnswerId="27124" CreationDate="2014-10-19T17:09:40.987" Score="5" ViewCount="1151" Body="&lt;p&gt;Are there any known problems that have an Ackermann function time complexity lower bound?&lt;/p&gt;&#xA;" OwnerUserId="28625" LastActivityDate="2014-10-20T10:40:22.730" Title="Ackermann Function Time Complexity" Tags="&lt;cc.complexity-theory&gt;&lt;lower-bounds&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27121" PostTypeId="2" ParentId="26026" CreationDate="2014-10-19T19:35:43.767" Score="10" Body="&lt;p&gt;This gate-elimination lower bound does not match Marzio’s upper bound, but it’s a start.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Proposition:&lt;/strong&gt; Every unbounded fan-in AND/OR/NOT circuit computing parity on $n\ge2$ variables contains at least $2n-1$ AND and OR gates.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;For convenience, I will use a model where the only gates are AND-gates, but we allow negation wires. It is easy to see that $3$ gates are necessary for $n=2$, hence it is enough to show that if $C$ is a minimal-size circuit computing parity on $n&amp;gt;2$ variables, we can find a restriction of one variable which kills at least two gates.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If some variable $x_i$ has at least two positive parents (i.e., it is connected by unnegated wires to two different gates), setting this variable to $0$ will kill the parents and we are done; likewise if it has two negative parents. We may thus assume that each variable has at most one positive and at most one negative parent.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $a$ be a bottom-level gate in the circuit. Without loss of generality, $a=x_1\land x_2\land\cdots$. Set $x_1=0$, which forces $a=0$ and kills it. The restricted circuit $C'$ still computes parity, in particular it depends on $x_2$, hence $x_2$ has a negative parent $b=\neg x_2\land c_1\land\dots\land c_r$. Notice that in $C'$, no $c_j$ depends on $x_2$. If there were an assignment to $x_3,\dots,x_n$ which (on top of $x_1=0$) makes some $c_j$ false, the circuit restricted by this assignment would be constant, contradicting the fact that it computes $x_2$ or $\neg x_2$. Thus, in $C'$, all the $c_j$ compute constant $1$, and $b$ computes $\neg x_2$, hence we can eliminate it along with $a$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT: As I learned from Yuri Kombarov’s paper, this $2n-1$ lower bound, as well as the $\lfloor\frac52n\rfloor-2$ upper bound implied by Marzio De Biasi’s answer, were originally proved in&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] Ingo Wegener, &lt;em&gt;The complexity of the parity function in unbounded fan-in, unbounded depth circuits&lt;/em&gt;, Theoretical Computer Science 85 (1991), no. 1, pp. 155–170. &lt;a href=&quot;http://dx.doi.org/10.1016/0304-3975(91)90052-4&quot; rel=&quot;nofollow&quot;&gt;http://dx.doi.org/10.1016/0304-3975(91)90052-4&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="6959" LastEditorUserId="6959" LastEditDate="2016-01-25T17:15:42.047" LastActivityDate="2016-01-25T17:15:42.047" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="27124" PostTypeId="2" ParentId="27120" CreationDate="2014-10-20T10:40:22.730" Score="15" Body="&lt;p&gt;There are &quot;natural&quot; problems hard for Ackermannian time; in fact there is a growing body of literature on the subject.  A place to start is the survey in Section 6 of &lt;a href=&quot;http://arxiv.org/abs/1312.5686&quot;&gt;Complexity Hierarchies Beyond Elementary&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is even more interesting is that there are &lt;em&gt;complete&lt;/em&gt; problems for Ackermannian time, under say primitive-recursive many-one reductions: define for this&#xA;$$\mathsf{Ack}=\bigcup_{f\text{ Primitive-Recursive}}\mathsf{DTime}\big(ack(f(n))\big)\;.$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Many examples arise with counter systems and logics.  For instance, the oldest known such problem is the &lt;b&gt;inclusion&lt;/b&gt; problem between the sets of reachable configurations of two vector addition systems (VAS) assuming these sets to be finite:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&lt;li&gt;input: Two VAS $V_1$, $V_2$ with $\text{Reach}(V_1)$ and $\text{Reach}(V_2)$ finite.&lt;/li&gt;&lt;li&gt;question: $\text{Reach}(V_1)\subseteq\text{Reach}(V_2)$?&lt;/li&gt;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;This was shown non primitive-recursive (in a uniform way, thus $\mathsf{Ack}$-hard according to the above definition) by &lt;a href=&quot;http://dx.doi.org/10.1145/322261.322271&quot;&gt;Mayr and Meyer in 1981&lt;/a&gt; (there is a simpler proof published by &lt;a href=&quot;http://dx.doi.org/10.1016/S0304-3975(00)00100-6&quot;&gt;Jančar in 2001&lt;/a&gt;).  An $\mathsf{Ack}$ upper bound was first proved by &lt;a href=&quot;http://dx.doi.org/10.1016/0304-3975(84)90029-X&quot;&gt;McAloon (1984)&lt;/a&gt;, with a simpler proof (but slightly worse bound) by &lt;a href=&quot;http://dx.doi.org/10.1016/0304-3975(86)90169-6&quot;&gt;Clote (1986)&lt;/a&gt;, and improved and simplified arguments by &lt;a href=&quot;http://dx.doi.org/10.1109/LICS.2011.39&quot;&gt;Figueira et al. (2011)&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Many problems are shown $\mathsf{Ack}$-hard through reductions from the &lt;b&gt;reachability&lt;/b&gt; problem in &lt;em&gt;lossy counter machines&lt;/em&gt; (or slight variants).  Those can be defined as Minsky machines where counter values may decrease in an uncontrolled way; see &lt;a href=&quot;http://dx.doi.org/10.1016/S0020-0190(01)00337-4&quot;&gt;Schnoebelen 2002&lt;/a&gt;&lt;a href=&quot;http://dx.doi.org/10.1007/978-3-642-15155-2_54&quot;&gt; &amp;amp; 2010&lt;/a&gt; and &lt;a href=&quot;http://dx.doi.org/10.2307/2586811&quot;&gt;Urquhart (1999)&lt;/a&gt; for a similar construction.&lt;/p&gt;&#xA;" OwnerUserId="609" LastActivityDate="2014-10-20T10:40:22.730" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27127" PostTypeId="2" ParentId="26026" CreationDate="2014-10-20T12:47:32.830" Score="2" Body="&lt;p&gt;This is an extended comment to show what Emil's argument gives if we try proving the $5n/2$ bound. Here we can try to eliminate 3 gates with one variable or 5 gates with two variables.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If there is a literal with 3 parents, we can eliminate all 3 with one variable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If two literals occur together in 2 different gates, together, we can apply the main argument from Emil's answer, again eliminating 3 gates with one variable.&lt;/p&gt;&#xA;" OwnerUserId="419" LastActivityDate="2014-10-20T12:47:32.830" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27128" PostTypeId="2" ParentId="7010" CreationDate="2014-10-20T14:31:08.880" Score="4" Body="&lt;p&gt;Actually, Chomsky normal form (CNF) is not need to run CYK, only&#xA;binarization. Binarization is essential to preserve cubic complexity&#xA;of parsing, though essential only with respect to non-terminals&#xA;(NT). But then, if you have rules including only 2 non-terminals and&#xA;some terminals, the CYK algorithm becomes more complex to program and&#xA;explain.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As you say, there are many ways to do binarisation. Some will yield&#xA;smaller grammars than other. For example &lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;X -&amp;gt; B C D&#xA;Y -&amp;gt; B C E &#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;can be binarized as&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;X -&amp;gt; Z D&#xA;Y -&amp;gt; Z E&#xA;Z -&amp;gt; B C&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;thus saving one rule by factorization, which may save on the computation, and on its result size.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But with other rules, you might want to factorize the end of the rules&#xA;rather than the beginning.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am not familiar with the &lt;a href=&quot;http://academic.research.microsoft.com/Publication/4751634/better-binarization-for-the-cky-parsing&quot; rel=&quot;nofollow noreferrer&quot;&gt;work of Song, Ding, and Lin&lt;/a&gt;, cited by &lt;a href=&quot;https://cstheory.stackexchange.com/questions/7010/chomsky-normal-form-method-cyk-parser-performance-implications/7126#7126&quot;&gt;Rob&#xA;Simmons' answer&lt;/a&gt;. The idea is interesting but I wonder how effective it&#xA;can be compared to other ways of optimizing the computation. I fear&#xA;not so much.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The point is that analyzing the issues only with respect to a pure CKY&#xA;algorithm seem a bit an academic but costly exercise since there are&#xA;other kinds of optimization that can significantly improve the&#xA;elimination of dead end parses.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;CYK is only one of the simpler variations in a family of algorithms&#xA;that are all built on the same dynamic programming model, apparently.&#xA;I am saying &lt;em&gt;apparently&lt;/em&gt; because the simplest version of these algorithms&#xA;is not known as dynamic programming, but as cross-product. It is the&#xA;old construction of a CF grammar G that generates the intersection of the&#xA;language of CF grammar F and the regular language of a FSA A., due to&#xA;&lt;a href=&quot;http://www.jstor.org/discover/10.2307/25000219?uid=3738016&amp;amp;uid=2129&amp;amp;uid=2&amp;amp;uid=70&amp;amp;uid=4&amp;amp;sid=21104717280497&quot; rel=&quot;nofollow noreferrer&quot;&gt;Bar Hillel, Perles and Shamir (1961)&lt;/a&gt;, as &lt;a href=&quot;https://www.academia.edu/798690/Recognition_can_be_harder_than_parsing&quot; rel=&quot;nofollow noreferrer&quot;&gt;remarked by Lang in 1995&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;All chart parser, or general CF parsers based on dynamic&#xA;programming may be seen as &quot;optimized&quot; variant of that cross-product&#xA;construction, the optimization being used mainly to avoid useless&#xA;computations of the parser. But &lt;em&gt;the problem is subtle as avoiding&#xA;useless computation may result in duplicating useful ones, which may be&#xA;worse.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Being bottom-up, the CKY algorithm produces useless computations of&#xA;partial parses that cannot derive from the axiom of the grammar.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Algorithms like the &lt;a href=&quot;http://en.wikipedia.org/wiki/GLR_parser&quot; rel=&quot;nofollow noreferrer&quot;&gt;GLR parser&lt;/a&gt; (to name one of the better known ones, though flawed version have been published), have some top-down knowledge that will avoid many&#xA;such useless computations, possibly at cost. And there are many other&#xA;variants with different behavior with respect to saving on useless computations..&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is with these optimization strategies in mind that the binarization&#xA;strategy should be analyzed. What is the point of optimizing what may&#xA;be a minor issue, and ignore more powerful techniques.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The optimization of the parsing process is also tightly linked to the&#xA;&quot;quality&quot; of the parse-structure obtained, that represent all&#xA;possibles parses, and is often called (shared-)parse-forest. I discuss that in &lt;a href=&quot;https://linguistics.stackexchange.com/questions/4619/is-there-a-favoured-data-structure-for-storing-ambiguous-parse-trees-in-natural/6120#6120&quot;&gt;another answer&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some of these issues are discussed in the literature. For example by &lt;a href=&quot;http://www.aclweb.org/anthology/P/P89/P89-1018.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Billot and Lang&lt;/a&gt; analyse some aspects of binarisation with respect to parsing strategies.&lt;/p&gt;&#xA;" OwnerUserId="16132" LastEditorUserId="-1" LastEditDate="2017-04-13T12:54:12.010" LastActivityDate="2014-10-20T14:31:08.880" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27131" PostTypeId="2" ParentId="27062" CreationDate="2014-10-20T16:27:24.150" Score="4" Body="&lt;p&gt;Could not add a comment due to lack of reputation.&lt;br /&gt;&#xA;As commented by David Eppstein you can find the proof of the fact that the second-smallest spanning tree differs from the minimum spanning tree by a single edge swap in the article&#xA;&amp;quot;A combinatorial ranking problem&amp;quot;, Burns and Haff.&lt;/p&gt;&#xA;&lt;p&gt;Basically, in the article an algorithm is presented for finding an &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt;th-best spanning tree of an edge-weighted graph &lt;span class=&quot;math-container&quot;&gt;$G$&lt;/span&gt; with time &lt;span class=&quot;math-container&quot;&gt;$O(n)$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;p&gt;And the link to read the paper for free is &lt;a href=&quot;https://booksc.org/book/6732566/196389&quot; rel=&quot;nofollow noreferrer&quot;&gt;https://booksc.org/book/6732566/196389&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="9775" LastEditorUserId="6579" LastEditDate="2021-01-29T12:33:42.807" LastActivityDate="2021-01-29T12:33:42.807" CommentCount="0" ContentLicense="CC BY-SA 4.0" />
  <row Id="27133" PostTypeId="1" AcceptedAnswerId="27135" CreationDate="2014-10-20T18:51:04.520" Score="2" ViewCount="413" Body="&lt;p&gt;I was wondering about the complexity of the factorial of a number mostly because this problem is not referenced in the complexity books I have read. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Two similar problems, Matrix Multiplication and Factorization are in, almost, all discussions about $\mathrm{P}$ and $\mathrm{NP}$. The complexity of the first is a major research field, &lt;a href=&quot;https://cstheory.stackexchange.com/questions/174/major-unsolved-problems-in-theoretical-computer-science/181#181&quot;&gt;see here&lt;/a&gt;, and we are trying to put Factorization inside $\mathrm{P}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But for the, seemingly, close problem of Factorial nothing is being said. Almost no result at all. The only one I could find is the one mentioned &lt;a href=&quot;https://cstheory.stackexchange.com/questions/2204/efficiently-getting-bits-of-n/2206#2206&quot;&gt;here&lt;/a&gt; and the &lt;a href=&quot;http://en.wikipedia.org/wiki/Factorial&quot; rel=&quot;nofollow noreferrer&quot;&gt;wiki article&lt;/a&gt; from the far away 1983. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Why there is no interest in it? Can it have any implications in Complexity Theory like Factoring? Can Factorial be in $\mathrm{P}$ ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Lastly one thought, Factorial must be in $\mathrm{NP}$ (or better in $\mathrm{FNP}$?) the certificate would be the actual number? that is $n!$ ?&lt;/p&gt;&#xA;" OwnerUserId="27395" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2014-10-20T19:45:28.900" Title="Complexity lower bound of finding the factorial of a number" Tags="&lt;lower-bounds&gt;&lt;factoring&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="27135" PostTypeId="2" ParentId="27133" CreationDate="2014-10-20T19:32:58.833" Score="13" Body="&lt;p&gt;One approach on this question, related to complexity-theoretic questions, is due to Shub and Smale [1] who proved that if $n!$ is &lt;em&gt;ultimately hard&lt;/em&gt; to compute, then $\mathsf{VP}\neq\mathsf{VNP}$ over some field. Their model of computation is the straight-line programs: The goal is to compute $n!$ from the constant $1$, using only additions, subtractions and multiplications. That $n!$ is &lt;em&gt;ultimately hard&lt;/em&gt; means that the number of operations needed is asymptotically not bounded by some polynomial in $\log n$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For more recent results in this direction (and pointers to the relevant literature), you can read a paper of Cheng [2]. The paper contains also a very brief remark about the &lt;em&gt;standard&lt;/em&gt; complexity of the problem, that has to be exponential in $\log n$ (because of the output size), and of the modular variant of it (computing $n! \bmod m$) and its relations with integer factoring.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] Mike Shub and Stephen Smale. On the intractability of Hilbert’s nullstellensatz and an algebraic version of “P=NP?”. Duke Math. J., 81:47–54, 1995.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2]  Qi Cheng, &lt;a href=&quot;http://www.cs.ou.edu/~qcheng/paper/factorial.pdf&quot;&gt;On the Ultimate Complexity of Factorials&lt;/a&gt;, Theoretical Computer Science, Volume 326, Issues 1-3, Pages 419-429. &lt;/p&gt;&#xA;" OwnerUserId="976" LastEditorUserId="976" LastEditDate="2014-10-20T19:45:28.900" LastActivityDate="2014-10-20T19:45:28.900" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27139" PostTypeId="1" AcceptedAnswerId="27166" CreationDate="2014-10-21T21:37:47.637" Score="9" ViewCount="229" Body="&lt;p&gt;Let $f$ be an $n$-variate polynomial given as an arithmetic circuit of size poly$(n)$, and let $p = 2^{\Omega(n)}$ be a prime. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can you test if $f$ is identically zero over $\mathbb{Z}_p$, with  time $\mbox{poly}(n)$ and error probability $\leq 1-1/\mbox{poly}(n)$, even if the degree is not a priori bounded? What if $f$ is univariate?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that you can efficiently test if $f$ is identically zero as a &lt;em&gt;formal&lt;/em&gt; &lt;em&gt;expression&lt;/em&gt;, by applying Schwartz-Zippel over a field of size say $2^{2|f|}$, because the maximum degree of $f$ is $2^{|f|}$.&lt;/p&gt;&#xA;" OwnerUserId="22730" LastActivityDate="2014-10-23T14:26:16.570" Title="Randomized identity-testing for high degree polynomials?" Tags="&lt;polynomials&gt;&lt;arithmetic-circuits&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27143" PostTypeId="1" CreationDate="2014-10-22T11:03:57.450" Score="54" ViewCount="13719" Body="&lt;p&gt;Following a &lt;a href=&quot;https://mathoverflow.net/questions/44326/most-memorable-titles&quot;&gt;fruitful question in MO&lt;/a&gt;, I thought it would be worthwhile to discuss some notable paper names in CS.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is quite clear that most of us might be attracted to read (or at least glance at) a paper with an interesting title (at least I do so every time I go over a list of papers in a conference), or avoid reading poorly named articles.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Which papers do you remember because of their titles (and, not-necessarily, the contents)?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;My favorite, while not a proper TCS paper, is &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=2503808&quot; rel=&quot;noreferrer&quot;&gt;&quot;The relational model is dead, SQL is dead, and I don’t feel so good myself.&quot;&lt;/a&gt; .&lt;/p&gt;&#xA;" OwnerUserId="21001" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2019-04-01T12:08:31.817" Title="Most memorable CS paper titles" Tags="&lt;soft-question&gt;&lt;big-list&gt;" AnswerCount="18" CommentCount="6" FavoriteCount="52" CommunityOwnedDate="2014-10-22T18:58:15.027" ContentLicense="CC BY-SA 3.0" />
  <row Id="27144" PostTypeId="1" CreationDate="2014-10-22T12:39:46.823" Score="2" ViewCount="53" Body="&lt;p&gt;Are there algorithms that minimize a general submodular pseudo boolean function (PBF) without first transforming it to a quadratic pseudo boolean function (QPBF)?&lt;/p&gt;&#xA;" OwnerUserId="20438" LastEditorUserId="20438" LastEditDate="2014-10-22T13:37:48.003" LastActivityDate="2014-10-22T13:37:48.003" Title="Minimizing a general submodular pseudo boolean function" Tags="&lt;co.combinatorics&gt;&lt;boolean-functions&gt;" AnswerCount="0" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27145" PostTypeId="2" ParentId="27143" CreationDate="2014-10-22T12:47:30.843" Score="11" Body="&lt;p&gt;It's a recent paper, but its title often comes to my mind: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Giovanni Viglietta: &lt;a href=&quot;http://arxiv.org/abs/1201.4995&quot;&gt;&lt;strong&gt;Gaming Is a Hard Job, but Someone Has to Do It!&lt;/strong&gt;&lt;/a&gt; Theory Comput. Syst. 54(4): 595-621 (2014)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Viglietta presents some metatheorems that can be used to study the computational complexity of video games using common elements like destroyable paths, keys, doors, and so on; among the results, he applies those metatheorems to prove the NP-hardness of &lt;a href=&quot;http://home.comcast.net/~jpittman2/pacman/pacmandossier.html&quot;&gt;Pac-Man&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2014-10-22T17:49:31.040" LastActivityDate="2014-10-22T17:49:31.040" CommentCount="0" CommunityOwnedDate="2014-10-22T18:58:15.027" ContentLicense="CC BY-SA 3.0" />
  <row Id="27146" PostTypeId="1" CreationDate="2014-10-22T14:26:58.073" Score="1" ViewCount="64" Body="&lt;p&gt;The &lt;strong&gt;BLR linearity test&lt;/strong&gt; and the &lt;strong&gt;low degree test&lt;/strong&gt; are two common tools in PCPs. By my understanding these tests ensure bounds such that (self-) correctors can be applied. I have two questions regarding the use of both parts:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;In the literature those tests are always used to &lt;strong&gt;check&lt;/strong&gt; if e.g. a function is 0.99-'close' to a linear function. What is now exactly meant by 'checking'? Is that approximating the closeness by repeating the test and evaluating the approximation (using Chernoff bounds)?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Are correctors always used in a &lt;strong&gt;constructive&lt;/strong&gt; way? Would it make a difference using them to reject a function that needs to be corrected?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="28661" LastActivityDate="2014-10-22T14:26:58.073" Title="Testing - Correcting Pairs in PCPs" Tags="&lt;pcp&gt;" AnswerCount="0" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27147" PostTypeId="2" ParentId="27143" CreationDate="2014-10-22T14:50:22.033" Score="37" Body="&lt;p&gt;I did a survey on Twitter about this a while back, results &lt;a href=&quot;https://twitter.com/samth/status/355516642006011906&quot;&gt;here&lt;/a&gt;. A few of my favorites:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://www.ccs.neu.edu/home/amal/papers/parpolyseal.pdf&quot;&gt;&lt;strong&gt;Parametric Polymorphism through Runtime Sealing, or, Theorems for Low, Low Prices!&lt;/strong&gt;&lt;/a&gt; by&#xA;Jacob Matthews and Amal Ahmed, ESOP 2008 &lt;a href=&quot;http://dx.doi.org/10.1007/978-3-540-78739-6_2&quot;&gt;DOI:10.1007/978-3-540-78739-6_2&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://www.mpi-sws.org/~rossberg/f-ing/&quot;&gt;&lt;strong&gt;F-ing Modules&lt;/strong&gt;&lt;/a&gt; by Andreas Rossberg, Claudio Russo, and Derek Dreyer, TLDI 2010&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.39.4206&quot;&gt;&lt;strong&gt;Cons should not cons its arguments&lt;/strong&gt;&lt;/a&gt; and &lt;a href=&quot;http://home.pipeline.com/~hbaker1/CheneyMTA.html&quot;&gt;&lt;strong&gt;Cheney on the MTA&lt;/strong&gt;&lt;/a&gt;, &lt;em&gt;both&lt;/em&gt; by Henry Baker, SIGPLAN Notices 1992 and 1995. Baker has lots of other great paper titles, too.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://pages.cs.wisc.edu/~beyer/papers/matview_sigmod00.pdf&quot;&gt;&lt;strong&gt;How to Roll a Join: Asynchronous Incremental View Maintenance&lt;/strong&gt;&lt;/a&gt; by Salem, Beyer, and Lindsay, SIGMOD 2000 &lt;a href=&quot;http://dx.doi.org/10.1145/342009.335393&quot;&gt;DOI:10.1145/342009.335393&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://www.pps.univ-paris-diderot.fr/~vouillon/publi/modalmodel.pdf&quot;&gt;&lt;strong&gt;A Very Modal Model of a Modern, Major, General Type System&lt;/strong&gt;&lt;/a&gt; by Appel, Mellies, Richards, and Vouillon, POPL 2007 &lt;a href=&quot;http://dx.doi.org/10.1145/1190216.1190235&quot;&gt;DOI:10.1145/1190216.1190235&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://strictlypositive.org/CJ.pdf&quot;&gt;&lt;strong&gt;Clowns to the Left of me, Jokers to the Right&lt;/strong&gt;&lt;/a&gt;, Conor McBride, POPL 2008 &lt;a href=&quot;http://dx.doi.org/10.1145/1328438.1328474&quot;&gt;DOI:10.1145/1328438.1328474&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.31.5002&quot;&gt;&lt;strong&gt;Linear types can change the world!&lt;/strong&gt;&lt;/a&gt;, Phil Wadler, Programming Concepts and Methods 1990 (note that the ! is signficant)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="2185" LastEditorUserId="19596" LastEditDate="2014-10-22T19:07:35.460" LastActivityDate="2014-10-22T19:07:35.460" CommentCount="1" CommunityOwnedDate="2014-10-22T18:58:15.027" ContentLicense="CC BY-SA 3.0" />
  <row Id="27148" PostTypeId="1" AcceptedAnswerId="27151" CreationDate="2014-10-22T14:51:00.383" Score="4" ViewCount="85" Body="&lt;p&gt;I'm reading a paper about Constraint Satisfaction Problems, specifically &quot;&lt;a href=&quot;http://eccc.hpi-web.de/report/2013/075/&quot; rel=&quot;nofollow&quot;&gt;A Characterization of Strong Approximation Resistance&lt;/a&gt;&quot;, Subhash Khot, Madhur Tulsiani, Pratik Worah (ECCC TR13-075).  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The authors give a characterization of strong approximation resistance which I don't completely understand. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a measure $\Lambda$ in $R^{k + {k \choose 2}}$, (the coordinates of a point in this space are written $x_1, x_2, ..., x_k, x_{(1,2)}, ... x_{(i,j)}, ... , x_{(k-1, k)}$) and some subset $S \subset [k]$,  they define $\Lambda_S$ as the measure projected onto the coordinates of $S$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I can think of two such interpretations for $\Lambda_S$. First fix $k=4$ so that $\Lambda$ is in $R^{10}$. Our coordinates are $1, 2, 3, 4, (1,2), (1,3), (1,4), (2,3), (2,4), (3,4)$. Fix $S = \{1, 2, 3\}$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Interpretation 1&lt;/em&gt;: Under one interpretation, the measure $\Lambda_S$ should be projected using the coordinates $1$ and $2$ and $3$ only. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Interpretation 2&lt;/em&gt;: Under the other interpretation we should also include the &quot;pair&quot; coordinates so we should project using $1$, $2$, $3$, $(1,2)$, $(1,3)$, $(2,3)$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm thinking that the second interpretation is the correct one. This is because the definition is reformulated in terms of matrices in definition 2.11 on page 19. In this formulation, we have a measure $\zeta$ on a subspace of matrices in $R^{(k+1)\times(k+1)}$ analogous to the measure $\Lambda$, but given $S$, projection measure $\zeta_S$ is defined by taking the submatrix formed by restricting to rows and columns whose indices are in $S$. But in this formulation, the entry $i,j$ of the matrix corresponds to the coordinate $x_{(i,j)}$.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Am I correct? Or is there some way to reconcile the first interpretation with the matrix analogue?&lt;/p&gt;&#xA;" OwnerUserId="27174" LastActivityDate="2014-10-22T15:43:07.700" Title="Definition of Projection Measure in the characterization of strong approximation Resistance in a paper by Khot et al" Tags="&lt;approximation-hardness&gt;&lt;csp&gt;&lt;measure-theory&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27149" PostTypeId="2" ParentId="18595" CreationDate="2014-10-22T14:53:38.607" Score="7" Body="&lt;p&gt;In general one would not expect &lt;em&gt;random&lt;/em&gt; instances of SAT to have bounded treewidth, even if they are easy. Here is an example: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A random k-SAT instance on $n$ variables where each variable occurs in $3$ clauses will be an expander graph, and therefore have treewidth $\theta(n)$ with high probability. This holds in the model where we fix an n and an m (with 3n = km), and pick uniformly at random a formula with n variables and m clauses such that all variables are in exactly 3 clauses. It also holds in the &lt;a href=&quot;http://arxiv.org/abs/1001.0461&quot; rel=&quot;nofollow&quot;&gt;Erdős–Rényi model&lt;/a&gt; with probability set so that variables have average degree $3$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand this density is well below the k-SAT phase transition; by the &lt;a href=&quot;http://en.wikipedia.org/wiki/Lov%C3%A1sz_local_lemma&quot; rel=&quot;nofollow&quot;&gt;Lovasz Local Lemma&lt;/a&gt; &lt;em&gt;all&lt;/em&gt; $d$-regular $k$-SAT instances are satisfiable for $4 \cdot \frac{1}{2^k} \cdot dk \leq 1$, i.e when $d \leq \frac{2^k}{4k}$ &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the other part of your question I'd expect (but I haven't tested this so I don't really know) that SAT solvers should be able to exploit at least some of the symmetries that occur because of all the balanced separators in a bounded treewidth graph: In a k-SAT instance of treewidth $t$ there is a set of variables of size $t$ so that after you branch on these variables the formula breaks up into connected components with less than $n/2$ variables in each. &lt;/p&gt;&#xA;" OwnerUserId="27464" LastEditorUserId="27464" LastEditDate="2014-10-22T18:59:40.383" LastActivityDate="2014-10-22T18:59:40.383" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="27150" PostTypeId="2" ParentId="25841" CreationDate="2014-10-22T15:23:56.213" Score="3" Body="&lt;p&gt;I don't know if you have considered industry, but the company Ayasdi is doing amazing work applying a lot of homotopy and other applied topological methods within data science. They blend a lot of theory with applications. Basically, to see what they are up to, look at the Stanford Comptop website. (The majority of people came from there).&lt;/p&gt;&#xA;" OwnerUserId="28662" LastActivityDate="2014-10-22T15:23:56.213" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27151" PostTypeId="2" ParentId="27148" CreationDate="2014-10-22T15:43:07.700" Score="4" Body="&lt;p&gt;Section 1 of the paper, in which the first definition appears, is introductory. The formal development starts at Section 2. The part of the paper starting at Section 2 is completely self-contained. Therefore, if there is any mismatch between a definition in Section 1 and a definition elsewhere, the latter is the correct one.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In theoretical computer science, papers are published in conferences. Conference reviewers cannot be expected to read 50-page strong manuscripts, and so the argument has to be described in an elaborate introduction. This is why there is so much technical content in Section 1. The development there is simplified and more leisurely to facilitate reading. The authoritative part of the paper is Section 2 and forward.&lt;/p&gt;&#xA;" OwnerUserId="40" LastActivityDate="2014-10-22T15:43:07.700" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27152" PostTypeId="1" AcceptedAnswerId="27173" CreationDate="2014-10-22T15:49:33.593" Score="23" ViewCount="3661" Body="&lt;p&gt;I am currently trying to find EXPSPACE-complete problems &#xA;(mainly to find inspiration for a reduction), and &#xA;I am surprised by the small number of results coming up.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So far, I found these, and I have trouble expanding the list:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;universality (or other properties) of regular expressions with exponentiation.&lt;/li&gt;&#xA;&lt;li&gt;problems related to vector addition systems&lt;/li&gt;&#xA;&lt;li&gt;unobservable games (see for instance &lt;a href=&quot;http://teytaud.over-blog.com/article-on-the-complexity-of-games-51881321.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;this blog&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;li&gt;some fragment of FO-LTL, in &lt;a href=&quot;http://www.inf.kcl.ac.uk/staff/kuag/publi/complexity.ps&quot; rel=&quot;nofollow noreferrer&quot;&gt;On the Computational Complexity of Decidable Fragments of First-Order-Linear Temporal Logics&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Do you know other contexts when EXPSPACE-completeness appears naturally?&lt;/p&gt;&#xA;" OwnerUserId="8953" LastEditorUserId="8953" LastEditDate="2017-11-07T14:24:16.810" LastActivityDate="2017-11-07T14:24:16.810" Title="EXPSPACE-complete problems" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;big-list&gt;" AnswerCount="5" CommentCount="6" FavoriteCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="27153" PostTypeId="2" ParentId="27143" CreationDate="2014-10-22T17:41:33.863" Score="5" Body="&lt;p&gt;&quot;The geometry of innocent flesh on the bone: return-into-libc without function calls (on the x86)&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The reference is to Bob Dylan's song, &quot;Tombstone Blues.&quot; It's about 64-bit buffer overflows, but it evokes images of cleaving innocent programs in two. So metal.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://dl.acm.org/citation.cfm?doid=1315245.1315313&quot; rel=&quot;noreferrer&quot;&gt;https://dl.acm.org/citation.cfm?doid=1315245.1315313&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="28664" LastActivityDate="2014-10-22T17:41:33.863" CommentCount="0" CommunityOwnedDate="2014-10-22T18:58:15.027" ContentLicense="CC BY-SA 3.0" />
  <row Id="27155" PostTypeId="2" ParentId="27143" CreationDate="2014-10-22T19:56:11.593" Score="8" Body="&lt;p&gt;Lane A. Hemaspandra and Heribert Vollmer. &quot;&lt;strong&gt;The Satanic Notations: Counting Classes Beyond #P And Other Definitional Adventures.&lt;/strong&gt;&quot; Newsletter ACM SIGACT Volume 26 Issue 1, March 1995. Pages 2 - 13. &lt;/p&gt;&#xA;" OwnerUserId="1590" LastActivityDate="2014-10-22T19:56:11.593" CommentCount="0" CommunityOwnedDate="2014-10-22T19:56:11.593" ContentLicense="CC BY-SA 3.0" />
  <row Id="27157" PostTypeId="2" ParentId="27143" CreationDate="2014-10-22T20:59:01.667" Score="10" Body="&lt;p&gt;A title that is both memorable and descriptive is Mihai Patrascu's &lt;a href=&quot;http://doi.ieeecomputersociety.org/10.1109/FOCS.2008.83&quot;&gt;Succincter&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="4896" LastActivityDate="2014-10-22T20:59:01.667" CommentCount="0" CommunityOwnedDate="2014-10-22T20:59:01.667" ContentLicense="CC BY-SA 3.0" />
  <row Id="27159" PostTypeId="2" ParentId="27143" CreationDate="2014-10-22T21:34:47.167" Score="10" Body="&lt;p&gt;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.153.2456&amp;amp;rep=rep1&amp;amp;type=pdf&quot;&gt;&lt;strong&gt;Secure Content Sniffing for Web Browsers, or How to Stop Papers from Reviewing Themselves&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Barth, A. ; UC Berkeley, Berkeley, CA, USA ; Caballero, J. ; Song, D. 2009 30th IEEE Symposium on Security and Privacy. &lt;a href=&quot;http://dx.doi.org/10.1109/SP.2009.3&quot;&gt;DOI 10.1109/SP.2009.3&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="28668" LastActivityDate="2014-10-22T21:34:47.167" CommentCount="0" CommunityOwnedDate="2014-10-22T21:34:47.167" ContentLicense="CC BY-SA 3.0" />
  <row Id="27160" PostTypeId="2" ParentId="27143" CreationDate="2014-10-22T22:12:02.213" Score="30" Body="&lt;p&gt;I used to like quirky titles when I started out in computer science but got bored eventually. Some authors manage to write titles that are clever, memorable and relevant but most attempts at funny titles results in unnecessarily long, uninformative and kludgy phrases that I find difficult to remember and look up. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are papers like Pnueli's &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=1382534&quot; rel=&quot;nofollow noreferrer&quot;&gt;The Temporal Logic of Programs&lt;/a&gt; from 1977, which is absolutely straightforward but easy for me to remember. I'm guessing you did not mean memorable in that sense. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Leslie Lamport has several papers with memorable titles that don't strike me as trying to be funny. Titles of the kind you want are numerous and I don't think it's feasible to have a remotely comprehensive list, even of papers I have read and remembered or even of those that are considered significant. Nonetheless, let me recall a few, grouping them where appropriate.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;The Writings of Leslie Lamport&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Lamport describes the story behind various papers &lt;a href=&quot;http://research.microsoft.com/en-us/um/people/lamport/pubs/pubs.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;here&lt;/a&gt;. He has many memorable titles, though not all titles (or the papers) have been well received.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://research.microsoft.com/en-us/um/people/lamport/pubs/time-clocks.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Time, Clocks and the Ordering of Events in a Distributed System&lt;/a&gt;, Lamport, 1978, a classic paper in distributed systems. The title evokes images of the diagrams in the paper, themselves reminiscent of special relativity diagrams.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://research.microsoft.com/en-us/um/people/lamport/pubs/sometime.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;'Sometime' is Sometimes 'Not Never'&lt;/a&gt;, Lamport, 1980. Reading this I immediately work out the temporal logic theorems being hinted at.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://research.microsoft.com/en-us/um/people/lamport/pubs/byz.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;The Byzantine Generals Problem&lt;/a&gt;, Lamport, Pease, Shostak, 1982&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://research.microsoft.com/en-us/um/people/lamport/pubs/lamport-ewd1013.txt&quot; rel=&quot;nofollow noreferrer&quot;&gt;&quot;EWD 1013&quot;&lt;/a&gt;, 1988. Notable because only Dijkstra wrote EWDs.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://research.microsoft.com/en-us/um/people/lamport/pubs/automobile.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;How to Tell a Program from an Automobile&lt;/a&gt;, 1996&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://research.microsoft.com/en-us/um/people/lamport/pubs/lamport-paxos.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;The Part-Time Parliament&lt;/a&gt;, Lamport, 1998. Better known as Paxos. See his page for the story of this paper and the algorithm it contains.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Paper Title Considered Harmful&lt;/strong&gt;&#xA;(thanks to @Bakuriu and @ Kaj_Sotala, whose comments got me to expand this point)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edsger Dijkstra submitted &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=1241518&quot; rel=&quot;nofollow noreferrer&quot;&gt;A Case Against the Goto statement&lt;/a&gt; (also EWD 215) to the Communications of the ACM and the final title was modified by the editor Niklaus Wirth to the famous title given below. This title spawned a series of replies. Such titles already existed in journalism as pointed out in this &lt;a href=&quot;http://itre.cis.upenn.edu/~myl/languagelog/archives/004675.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;Language log article&lt;/a&gt;. In particular, recursive responses to &quot;X considered harmful&quot; with &quot;`X considered harmful', considered harmful&quot; can be found as early as the 1950s (&lt;a href=&quot;http://itre.cis.upenn.edu/~myl/languagelog/archives/001086.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;Language log&lt;/a&gt;, &lt;a href=&quot;http://q-pheevr.livejournal.com/11780.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;A Roguish Chrestomathy&lt;/a&gt;). In this specific case, we got these titles.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://dl.acm.org/citation.cfm?doid=362929.362947&quot; rel=&quot;nofollow noreferrer&quot;&gt;Go to statement considered harmful&lt;/a&gt;, 1968&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://archive.rapidpacket.com/p261-knuth.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Structured Programming with go to Statements&lt;/a&gt;, Knuth, 1974, which is a calmly written, beautiful article. He quotes Dijkstra's personal communication:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&quot;Please don't fall into the trap of believing that I am terribly dogmatical&#xA;  about [the go to statement].  I have the uncomfortable feeling that others are&#xA;  making a religion out of it, as if the conceptual problems of programming could&#xA;  be solved by a single trick, by a simple form of coding discipline!&quot; -- Edsger Dijkstra, 1973&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;&quot;At the IFIP Congress in 1971 I had the pleasure of meeting Dr.  Eiichi Goto of&#xA;  Japan, who cheerfully complained that he was always being eliminated.&quot; -- Knuth&lt;/p&gt;&#xA;&lt;/blockquote&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://web.archive.org/web/20090320002214/http://www.ecn.purdue.edu/ParaMount/papers/rubin87goto.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;&quot;Goto Considered Harmful&quot; considered harmful&lt;/a&gt;, Rubin, 1987&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://dl.acm.org/citation.cfm?id=315742&quot; rel=&quot;nofollow noreferrer&quot;&gt;&quot;&quot;&quot;GOTO Considered Harmful&quot; Considered Harmful&quot; Considered Harmful?&quot;&lt;/a&gt;, a collection of responses from Moore, Musciano, Liebhaber, Lott and Starr published in 1987.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://www.cs.utexas.edu/users/EWD/transcriptions/EWD10xx/EWD1009.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;On a somewhat disappointing correspondence&lt;/a&gt;, Dijkstra, 1987, which ends with this:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Evidently, my priorities are not shared by everyone, for Rubin’s letter and most of the five reactions it evoked were conducted instead in terms of all sorts of “programming language features” that seem better ignored than exploited. The whole correspondence was carried out at a level that vividly reminded me of the intellectual climate of twenty years ago, as if stagnation were the major characteristic of the computing profession, and that was a disappointment. -- Dijkstra, 1987&lt;/p&gt;&#xA;&lt;/blockquote&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;There have been numerous &quot;X considered harmful&quot; titles since (see &lt;a href=&quot;http://scholar.google.com/scholar?start=0&amp;amp;q=%22considered%20harmful%22&amp;amp;hl=en&amp;amp;as_sdt=0,5&quot; rel=&quot;nofollow noreferrer&quot;&gt;Google Scholar&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Logic, Programming Languages and Semantics&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;These are various papers in logic and semantics with memorable titles. I'll expand on them as I find time.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://dl.acm.org/citation.cfm?id=365257&amp;amp;dl=ACM&amp;amp;coll=DL&amp;amp;CFID=445655585&amp;amp;CFTOKEN=34780804&quot; rel=&quot;nofollow noreferrer&quot;&gt;The next 700 programming languages&lt;/a&gt;, Landin, 1966&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://rd.springer.com/chapter/10.1007%2FBFb0089911&quot; rel=&quot;nofollow noreferrer&quot;&gt;Scott is not always sober&lt;/a&gt;, Johnstone, 1981&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://dx.doi.org/10.1007/3-540-10843-2_22&quot; rel=&quot;nofollow noreferrer&quot;&gt;Impartiality, justice and fairness: The ethics of concurrent termination&lt;/a&gt;, Lehmann, Pnueli, Stavi, 1981&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://dl.acm.org/citation.cfm?id=77833&quot; rel=&quot;nofollow noreferrer&quot;&gt;Why people think computers can't&lt;/a&gt;, Minsky, 1990&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://dl.acm.org/citation.cfm?doid=112600.112613&quot; rel=&quot;nofollow noreferrer&quot;&gt;The benefits of relaxing punctuality&lt;/a&gt;, Alur, Feder, Henzinger, 1991&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://wwwhome.ewi.utwente.nl/~fokkinga/mmf91m.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Functional Programming with Bananas, Lenses, Envelopes and Barbed Wire&lt;/a&gt;, Meijer,  Fokkinga, Paterson, 1991&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.computer.org/csdl/proceedings/lics/1995/7050/00/70500025-abs.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;Once and For All&lt;/a&gt;, Kupferman and Pnueli, 1995&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://dl.acm.org/citation.cfm?id=224168&quot; rel=&quot;nofollow noreferrer&quot;&gt;Once upon a type&lt;/a&gt;, Turner, Wadler, Mossin, 1995&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.cse.huji.ac.il/~ornak/publications/ictl97.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Synthesis with Incomplete Informatio&lt;/a&gt;, Kupferman and Vardi, 1997 (notice missing 'n')&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://homepages.inf.ed.ac.uk/cps/bisim.ps&quot; rel=&quot;nofollow noreferrer&quot;&gt;The Joys of Bisimulation&lt;/a&gt;, Stirling, 1998&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://rd.springer.com/chapter/10.1007%2FBFb0028745&quot; rel=&quot;nofollow noreferrer&quot;&gt;From pre-historic to post-modern symbolic model checking&lt;/a&gt;, Henzinger, Kupferman, Qadeer, 1998&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://doi.acm.org/10.1145/292540.292545&quot; rel=&quot;nofollow noreferrer&quot;&gt;Once Upon a Polymorphic Type&lt;/a&gt;, Wansborough and Peyton Jones, 1999&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://dl.acm.org/citation.cfm?doid=503272.503279&quot; rel=&quot;nofollow noreferrer&quot;&gt;Lazy Abstraction&lt;/a&gt;, Henzinger, Jhala, Majumdar, Sutre, 2002&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://rads.stackoverflow.com/amzn/click/0198534256&quot; rel=&quot;nofollow noreferrer&quot;&gt;Sketches of an Elephant: A Topos Theory Compendiumm vol. 1&lt;/a&gt;, Johnstone, 2002&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://rd.springer.com/chapter/10.1007%2F3-540-45657-0_39#page-1&quot; rel=&quot;nofollow noreferrer&quot;&gt;Vacuum Cleaning CTL Formulae&lt;/a&gt;, Purandare and Somenzi, 2002&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.cse.huji.ac.il/~ornak/publications/fossacs11b.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Co-Buching Them All&lt;/a&gt;, Kupferman and Boker, 2011&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://uu.diva-portal.org/smash/get/diva2:582745/FULLTEXT01.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;All for the Price of Few&lt;/a&gt;, Abdulla, Haziza, Holik, 2013&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="4155" LastEditorUserId="7184" LastEditDate="2018-12-01T14:25:56.753" LastActivityDate="2018-12-01T14:25:56.753" CommentCount="2" CommunityOwnedDate="2014-10-22T22:12:02.213" ContentLicense="CC BY-SA 4.0" />
  <row Id="27162" PostTypeId="2" ParentId="7903" CreationDate="2014-10-23T02:26:41.230" Score="3" Body="&lt;p&gt;The book &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/3319054457&quot; rel=&quot;nofollow&quot;&gt;Perspectives in Computational Complexity: The Somenath Biswas Anniversary Volume&lt;/a&gt; published this summer (July 2014) largely agrees with the consensus that we reached here.  On &lt;a href=&quot;http://books.google.com/books?id=U7ApBAAAQBAJ&amp;amp;pg=PA119&amp;amp;lpg=PA119&amp;amp;dq=computing%20tensor%20rank%20decidable&amp;amp;source=bl&amp;amp;ots=d61_18XUwr&amp;amp;sig=cuISfiGRUv4PNVTfryKTouhiTiA&amp;amp;hl=en&amp;amp;sa=X&amp;amp;ei=L5hGVNm3Buny8AGeq4D4Dg&amp;amp;ved=0CCEQ6AEwAA#v=onepage&amp;amp;q=computing%20tensor%20rank%20decidable&amp;amp;f=false&quot; rel=&quot;nofollow&quot;&gt;page 199&lt;/a&gt;, it says:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;To the best of my knowledge, it is even not known whether [the problem of computing tensor rank] over $\mathbb{Q}$ is decidable. Over $\mathbb{R}$, the situation is somewhat better...The problem is decidable and even in PSPACE, since it can be reduced to the existential theory of the reals.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="3964" LastActivityDate="2014-10-23T02:26:41.230" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27163" PostTypeId="2" ParentId="27143" CreationDate="2014-10-23T06:39:44.300" Score="13" Body="&lt;p&gt;Mihai Patrascu, and Liam Roditty. &quot;Distance oracles beyond the Thorup-Zwick bound.&quot; Foundations of Computer Science (FOCS), 2010 51st Annual IEEE Symposium on. IEEE, 2010.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&quot;&lt;strong&gt;How to Grow Your Balls&lt;/strong&gt;&quot;  was the original title, though the authors was &lt;a href=&quot;http://infoweekly.blogspot.co.at/2010/10/focs-2010.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;asked to changed&lt;/a&gt; it. I read the paper and actually think that the old title really fits to how you think about the algorithm. &lt;/p&gt;&#xA;" OwnerUserId="12646" LastEditorUserId="12646" LastEditDate="2017-07-11T19:22:38.310" LastActivityDate="2017-07-11T19:22:38.310" CommentCount="0" CommunityOwnedDate="2014-10-23T06:39:44.300" ContentLicense="CC BY-SA 3.0" />
  <row Id="27164" PostTypeId="2" ParentId="27143" CreationDate="2014-10-23T06:43:19.567" Score="7" Body="&lt;p&gt;Cycle Killer...Qu'est-ce que c'est? On the Comparative Approximability of Hybridization Number and Directed Feedback Vertex Set - &lt;a href=&quot;http://epubs.siam.org/doi/abs/10.1137/120864350&quot; rel=&quot;noreferrer&quot;&gt;SIAM J. Discrete Math., 26(4)&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(reference to Talking heads - Psycho killer (qu'est-ce que c'est))&lt;/p&gt;&#xA;" OwnerUserId="21459" LastActivityDate="2014-10-23T06:43:19.567" CommentCount="0" CommunityOwnedDate="2014-10-23T06:43:19.567" ContentLicense="CC BY-SA 3.0" />
  <row Id="27165" PostTypeId="2" ParentId="27152" CreationDate="2014-10-23T09:42:14.257" Score="19" Body="&lt;p&gt;Many problems that are PSPACE-complete become EXPSPACE-complete when the input is given &quot;succinctly&quot;, i.e., via some encoding that lets you describe inputs that would normally be of exponential size. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is an example on finite automata (equivalently, on directed graphs with labeled edges): deciding whether two automata accept the same language (have the same set of labeled paths from an origin to a destination node) is PSPACE-complete. If the automata (graphs) are given by Boolean formulae (nodes are valuations v,v',.. and there are Boolean formulae telling whether v-a-&gt;v' is an edge), the problem becomes EXPSPACE-complete. NB: there are many other ways of defining succinctly a large graph/automaton, see e.g. &lt;a href=&quot;http://dx.doi.org/10.1007/3-540-48523-6_14&quot;&gt;this paper&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The example with regular expressions fits this pattern. Introducing a &quot;..^2&quot; notation for squaring lets you write compactly regular expressions that would be very large if you were to expand each &quot;(foo)^2&quot; by &quot;foo foo&quot;, and &quot;((bar)^2)^2&quot; by &quot;bar bar bar bar&quot;. Naturally, some problems that are PSPACE-complete without squaring become EXPSPACE-complete with squaring allowed, here is &lt;a href=&quot;http://dx.doi.org/10.1109/SWAT.1972.29&quot;&gt;the classic reference&lt;/a&gt;. [NB: Other examples, like regular expressions with intersection or with complements do not obviously fit the pattern of new notation that expands into exponentially larger input in standard notation.]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Similarly, a LOGSPACE-complete problem (e.g., reachability in directed graphs) may become EXPSPACE-complete if your succinct encoding allows for the description of graphs of doubly exponential size.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Bottom line:&lt;/strong&gt; you can easily come up with new, albeit perhaps artificial, EXPSPACE-complete problems, by considering classic PSPACE or LOGSPACE problems (of which you'll find many) and allowing for compact/succinct/.. encoding of the input.&lt;/p&gt;&#xA;" OwnerUserId="16371" LastEditorUserId="16371" LastEditDate="2014-10-23T10:21:53.733" LastActivityDate="2014-10-23T10:21:53.733" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="27166" PostTypeId="2" ParentId="27139" CreationDate="2014-10-23T12:06:29.850" Score="8" Body="&lt;p&gt;It’s not exactly clear to me what is the input of the problem and how do you enforce the restriction $p=2^{\Omega(n)}$, however, under any reasonable formulation the answer is &lt;em&gt;no&lt;/em&gt; for multivariate polynomials unless NP = RP, due to the reduction below.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a prime power $q$ in binary and a Boolean circuit $C$ (wlog using only $\land$ and $\neg$ gates), we can construct in polynomial time an arithmetic circuit $C_q$ such that $C$ is unsatisfiable iff $C_q$ computes an identically zero polynomial over $\mathbb F_q$ as follows: translate $a\land b$ with $ab$, $\neg a$ with $1-a$, and a variable $x_i$ with $x_i^{q-1}$ (which can be expressed by a circuit of size $O(\log q)$ using repeated squaring).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $q=p$ is prime (which I don’t think actually matters) and sufficiently large, we can even make the reduction univariate: modify the definition of $C_p$ so that $x_i$ is translated with the polynomial&#xA;$$f_i(x)=((x+i)^{(p-1)/2}+1)^{p-1}.$$&#xA;On the one hand, $f_i(a)\in\{0,1\}$ for every $a\in\mathbb F_p$, hence if $C$ is unsatisfiable, then $C_p(a)=0$ for every $a$. On the other hand, assume that $C$ is satisfiable, say $C(b_1,\dots,b_n)=1$, where $b_i\in\{0,1\}$. Notice that&#xA;$$f_i(a)=\begin{cases}1&amp;amp;\text{if $a+i$ is a quadratic residue (including $0$),}\\&#xA;0&amp;amp;\text{if $a+i$ is a quadratic nonresidue.}\end{cases}$$&#xA;Thus, we have $C_p(a)=1$ if $a\in\mathbb F_p$ is such that&#xA;$$a+i\text{ is a quadratic residue }\iff b_i=1$$&#xA;for every $i=1,\dots,n$. Corollary 5 in &lt;a href=&quot;http://www.jstor.org/stable/2153045&quot; rel=&quot;nofollow&quot;&gt;Peralta&lt;/a&gt; implies that such $a$ always exists for $p\ge(1+o(1))2^{2n}n^2$.&lt;/p&gt;&#xA;" OwnerUserId="6959" LastEditorUserId="6959" LastEditDate="2014-10-23T14:26:16.570" LastActivityDate="2014-10-23T14:26:16.570" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="27167" PostTypeId="2" ParentId="27143" CreationDate="2014-10-23T14:01:37.807" Score="7" Body="&lt;p&gt;&lt;a href=&quot;http://www.top-5000.nl/ps/Research%20re%20search%20&amp;amp;%20re-search.pdf&quot;&gt;Research, Re: Search &amp;amp; Re-Search&lt;/a&gt; by Aske Platt.  I ran across this paper when I was learning about AI search algorithms and the title always stuck with me.&lt;/p&gt;&#xA;" OwnerUserId="28682" LastActivityDate="2014-10-23T14:01:37.807" CommentCount="0" CommunityOwnedDate="2014-10-23T14:01:37.807" ContentLicense="CC BY-SA 3.0" />
  <row Id="27169" PostTypeId="1" AcceptedAnswerId="27176" CreationDate="2014-10-23T15:35:19.140" Score="5" ViewCount="444" Body="&lt;p&gt;Let $x \in \mathbb{R}^n$ have $k$ non-zero entries. The main insight of compressive sensing is that there exist $m\times n$ matrices $A$ with $m = O(k \log n/k)$ such that any $x$ can be recovered from $Ax$ in polynomial time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A little thought shows that $Ax$ must have at least $\log \binom{n}{k} = \Theta(k \log n/k)$ &lt;em&gt;bits&lt;/em&gt;. I believe a stronger statement is true as well, namely, that we must have $m =\Omega(k \log n/k)$ measurements as well.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I know the lower bound on $m$ has something to do with Gel'fand widths, but am having a hard time finding a resource that lays out the argument explicitly. Either pointers to write-ups or a rough summary of the argument would be helpful. &lt;/p&gt;&#xA;" OwnerUserId="28687" LastActivityDate="2015-01-13T15:33:23.547" Title="Lower bound proof for compressive sensing (Gel'fand widths)?" Tags="&lt;lower-bounds&gt;&lt;it.information-theory&gt;&lt;compressed-sensing&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27171" PostTypeId="2" ParentId="27169" CreationDate="2014-10-23T15:47:49.153" Score="3" Body="&lt;p&gt;You can get references in the &lt;a href=&quot;http://statweb.stanford.edu/~markad/publications/ddek-chapter1-2011.pdf&quot; rel=&quot;nofollow&quot;&gt;book chapter&lt;/a&gt; by Davenport, Duarte, Eldar and Kutinyok: look at the section Measurement Bounds on p.23. The result is that if an $m\times n$ matrix has the RIP property of order $k$, i.e. every submatrix of $k$ columns is almost an isometry as a linear operator, then $m = \Omega(k\log(n/k))$. &lt;/p&gt;&#xA;" OwnerUserId="4896" LastActivityDate="2014-10-23T15:47:49.153" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="27172" PostTypeId="1" CreationDate="2014-10-23T16:58:12.627" Score="12" ViewCount="907" Body="&lt;p&gt;Input is a universe $U$ and a family of subsets of $U$, say, ${\cal F} \subseteq 2^U$. We assume that the subsets in ${\cal F}$ can cover $U$, i.e., $\bigcup_{E\in {\cal F}}E=U$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An &lt;em&gt;incremental covering sequence&lt;/em&gt; is a sequence of subsets in ${\cal F}$, say, ${\cal A}=\{E_1,E_2,\ldots,E_{|{\cal A}|}\}$, that satisfies &lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) $\forall E\in {\cal A}, E\in {\cal F}$,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) every newcomer has new contribution, i.e., $\forall i&amp;gt;1$, $\bigcup_{j=1}^{i-1}E_i \subsetneq \bigcup_{j=1}^{i}E_i$;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem is to find an incremental covering sequence of maximum length (i.e., with maximum $|{\cal A}|$). Note that a maximum length sequence must eventually cover $U$, i.e., $\bigcup_{E\in {\cal A}}E=U$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have attempted to find an algorithm or an approximate algorithm to find the longest incremental covering sequence. I was just wondering what this variant of set cover problem known as. Thank you!&lt;/p&gt;&#xA;" OwnerUserId="27047" LastEditorUserId="27464" LastEditDate="2014-10-24T08:07:49.767" LastActivityDate="2014-12-05T06:12:32.617" Title="What is this variant of set cover problem known as?" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;approximation-algorithms&gt;&lt;optimization&gt;&lt;set-cover&gt;" AnswerCount="2" CommentCount="8" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="27173" PostTypeId="2" ParentId="27152" CreationDate="2014-10-23T17:27:26.683" Score="24" Body="&lt;p&gt;Extending the example pointed out by Emil Jerabek in the comments, $\mathsf{EXPSPACE}$-complete problems arise naturally all over algebraic geometry. This started (I think) with the Ideal Membership Problem (&lt;a href=&quot;http://dx.doi.org/10.1016/0001-8708(82)90048-2&quot;&gt;Mayr&amp;ndash;Meyer&lt;/a&gt; and &lt;a href=&quot;http://dx.doi.org/10.1007/BFb0029002&quot;&gt;Mayr&lt;/a&gt;) and hence the computation of Gr&amp;ouml;bner bases. This was then extended to the computation of syzygies (&lt;a href=&quot;http://dx.doi.org/10.1016/S0747-7171(88)80039-7&quot;&gt;Bayer and Stillman&lt;/a&gt;). Many natural problems in computational algebraic geometry end up being equivalent to one of these problems. Also see the &lt;a href=&quot;http://arxiv.org/abs/alg-geom/9304003&quot;&gt;Bayer&amp;ndash;Mumford survey &quot;What can be computed in algebraic geometry?&quot;&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="129" LastEditorUserId="898" LastEditDate="2014-10-23T19:31:54.720" LastActivityDate="2014-10-23T19:31:54.720" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27174" PostTypeId="2" ParentId="25841" CreationDate="2014-10-23T17:41:16.650" Score="2" Body="&lt;p&gt;In addition to what everybody else said (I guess the biggest application of these branches is indeed in type systems):&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Lattice theory and partial orders in general are applied quite a bit for analysis of behavior of distributed systems, and for dataflow analysis in compilers.&lt;/li&gt;&#xA;&lt;li&gt;I also saw Galois connections applied to machine learning (in particular text classification: the Galois connection between subsets of left and right vertices of a bipartite document/word graph allowed to dramatically speed up an algorithm).&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="326" LastActivityDate="2014-10-23T17:41:16.650" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27175" PostTypeId="2" ParentId="25841" CreationDate="2014-10-23T19:31:05.550" Score="0" Body="&lt;p&gt;Check out the situation in computer vision. There are many topics, in particular, of algorithmic type, which the first three areas you list are very useful for.&lt;/p&gt;&#xA;" OwnerUserId="28659" LastActivityDate="2014-10-23T19:31:05.550" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27176" PostTypeId="2" ParentId="27169" CreationDate="2014-10-23T21:12:31.987" Score="5" Body="&lt;p&gt;$m = \Omega(k \log(n/k))$ is a lower bound for any compressive sensing scheme, not just $\ell_1$-minimization using RIP guarantees on the measurement matrix. In fact, the recovery algorithm need not be polynomial time, and the measurement matrix may be adaptive (in the sense that the $i$'th row of the matrix can depend on the inner product of the input vector with rows $1$ through $i-1$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let me sketch the argument for non-adaptive measurements. If $K$ is a subset of $\ell_p^n$, then the &lt;em&gt;Gelfand $m$-width of $K$&lt;/em&gt; is defined to be:&#xA;$$d^m(K) = \inf_{A: \mathbb{R}^{m \times n}} \sup_{x \in K \cap \ker(A)} \|x\|_p$$&#xA;Define the &lt;em&gt;compressive $m$-width&lt;/em&gt; as:&#xA;$$E^m(K) = \inf_{A: \mathbb{R}^{m \times n}, \Delta: \mathbb{R}^m \to \mathbb{R}^n} \sup_{x \in K}\|x - \Delta(A x)\|_p $$&#xA;Note that $\Delta$, the reconstruction procedure, can be arbitrary. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Lemma 1:&lt;/strong&gt; If $K$ is symmetric ($K = -K$), then $E^m(K) \geq d^m(K)$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Proof:&lt;/strong&gt; Take some arbitrary matrix $A \in \mathbb{R}^{m \times n}$ and function $\Delta: \mathbb{R}^m \to \mathbb{R}^n$. By definition, $d^m(K) \leq \sup_{x \in K \cap \ker(A)} \|x\|$. On the other hand, for any $x \in K \cap \ker(A)$:&#xA;$$\|x\| \leq \frac12 \|x-\Delta(0)\| + \frac12 \|-x-\Delta(0)\| \leq \sup_{x \in K} \|x-\Delta(Ax)\|$$&#xA;So, we have $d^m(K) \leq \sup_{x \in K \cap \ker(A)} \|x\| \leq E^m(K)$. $\blacksquare$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, for the connection with compressive sensing, suppose we have an integer $k \geq 1$,  matrix $A \in \mathbb{R}^{m \times n}$ and a function $\Delta: \mathbb{R}^m \to \mathbb{R}^n$ such that for all $x \in \mathbb{R}^n$:&#xA;$$\|x - \Delta(Ax)\|_p \leq \frac{C}{k^{1-1/p}} \min_{k\text{-sparse } z} \|x - z\|_1$$&#xA;where $C$ is a constant. Let $B_1$ be the unit $\ell_1$-ball, viewed as a subset of $\ell_p^n$, for $1&amp;lt; p\leq 2$. We clearly have that:&#xA;$$E^m(B_1) \leq  \frac{C}{k^{1-1/p}} \sup_{x: \|x\|_1 \leq 1} \min_{k\text{-sparse } z} \|x - z\|_1 \leq \frac{C}{k^{1-1/p}}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But we also have a lower bound for the Gelfand width of $\ell_1$-balls.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Theorem 2:&lt;/strong&gt; There exists a constant $c_1$ such that: $$d^m(B_1) \geq c_1 \min\left(1, \frac{\log(n/m)}{m}\right)^{1-1/p}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Combining with the above, we have that:&#xA;$$c' \min\left(1, \frac{\log(n/m)}{m}\right) \leq \frac1k$$&#xA;Thus, if $k$ is large enough, this gives the lower bound, $m = \Omega(k \log(n/k))$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The proof can be extended without much difficulty to the adaptive setting. The assumption that $k$ is sufficiently large can also be removed.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I learnt of this argument from Chapter 10 of Foucart and Rauhut's recent book, &lt;a href=&quot;http://www.springer.com/birkhauser/mathematics/book/978-0-8176-4947-0&quot; rel=&quot;nofollow&quot;&gt;&quot;A Mathematical Introduction to Compressive Sensing&quot;&lt;/a&gt;. It's due to Cohen, Dahmen and Davenport (&quot;Compressed sensing and best k-term approximation&quot;, 2009). Theorem 2 is due to Garnaev and Gluskin (&quot;On widths of the Euclidean ball&quot;, 1984). Foucart, Pajor, Rauhut and Ullrich (&quot;The Gelfand widths of $\ell_p$-balls for $0&amp;lt;p\leq 1$&quot;, 2010) give a relatively simple proof of it. In fact, this latter proof is based on a lower bound for the number of measurements needed for &lt;em&gt;exact&lt;/em&gt;-recovery of $k$-sparse vectors.&lt;/p&gt;&#xA;" OwnerUserId="15" LastEditorUserId="15" LastEditDate="2015-01-13T15:33:23.547" LastActivityDate="2015-01-13T15:33:23.547" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27177" PostTypeId="1" CreationDate="2014-10-23T21:22:16.863" Score="11" ViewCount="1566" Body="&lt;p&gt;Are there any concrete (or a rich source of) examples of application of $p$-adic numbers in computer science?&lt;/p&gt;&#xA;" OwnerUserId="1812" LastEditorUserId="1812" LastEditDate="2014-10-23T21:29:21.767" LastActivityDate="2014-10-26T09:54:19.727" Title="Applications of $p$-adic numbers in CS" Tags="&lt;survey&gt;" AnswerCount="4" CommentCount="1" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="27179" PostTypeId="2" ParentId="27143" CreationDate="2014-10-23T21:30:35.380" Score="3" Body="&lt;p&gt;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.147.3013&quot; rel=&quot;nofollow&quot;&gt;Through the Labyrinth &lt;br&gt;&#xA;Evolution finds a way: &lt;br&gt;&#xA;A Silicon Ridge&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Inman Harvey &amp;amp; Adrian Thompson, Proceedings of the First International Conference on Evolvable Systems, 1996.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="28691" LastActivityDate="2014-10-23T21:30:35.380" CommentCount="0" CommunityOwnedDate="2014-10-23T21:30:35.380" ContentLicense="CC BY-SA 3.0" />
  <row Id="27180" PostTypeId="1" CreationDate="2014-10-23T22:15:01.813" Score="6" ViewCount="193" Body="&lt;p&gt;What is the bias of a random Boolean function that can be represented as a low degree polynomial over the reals, i.e. has low Fourier degree?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More specifically, is it true that if we take a uniformly random function $f:\{0,1\}^n \to \{0,1\}$ among those that can be represented as a real polynomial of degree $\leq d$, then $\mathbb{E}[f]$ will be close to 0.5 with high probability?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Remark 1: Alternatively, it also makes sense to consider the following distribution: when choosing a random function of degree $d$, identify functions that are equivalent up to renaming coordinates, so a random function is in fact a random equivalence class.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Remark 2: This question is somewhat related:  &lt;a href=&quot;https://cstheory.stackexchange.com/questions/18727/random-functions-of-low-degree-as-a-real-polynomial&quot;&gt;Random functions of low degree as a real polynomial&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="15711" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.743" LastActivityDate="2014-10-23T22:59:22.573" Title="Bias of a random boolean low degree polynomial" Tags="&lt;boolean-functions&gt;&lt;randomness&gt;&lt;bounded-degree&gt;" AnswerCount="0" CommentCount="9" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27181" PostTypeId="1" AcceptedAnswerId="27199" CreationDate="2014-10-24T00:33:26.090" Score="-2" ViewCount="186" Body="&lt;p&gt;For an undirected graph that consists of partial paths such that each vertex is a part of one of those paths and that there are edges between all the paths, is there an efficient algorithm to connect all the paths to form one hamiltonian cycle?&lt;/p&gt;&#xA;" OwnerUserId="28693" LastActivityDate="2014-10-25T20:03:32.830" Title="Connecting partial paths to form a hamiltonian cycle" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;hamiltonian-paths&gt;" AnswerCount="1" CommentCount="6" ClosedDate="2014-11-19T20:25:11.773" ContentLicense="CC BY-SA 3.0" />
  <row Id="27182" PostTypeId="2" ParentId="27143" CreationDate="2014-10-24T00:36:55.500" Score="3" Body="&lt;p&gt;From the math world, I have always thought &lt;a href=&quot;http://www.researchgate.net/publication/220529151_On_starshaped_fuzzy_sets&quot; rel=&quot;nofollow&quot;&gt;On Starshaped Fuzzy Sets&lt;/a&gt; is kind of adorable.&lt;/p&gt;&#xA;" OwnerUserId="11051" LastActivityDate="2014-10-24T00:36:55.500" CommentCount="0" CommunityOwnedDate="2014-10-24T00:36:55.500" ContentLicense="CC BY-SA 3.0" />
  <row Id="27183" PostTypeId="2" ParentId="27177" CreationDate="2014-10-24T00:59:43.160" Score="10" Body="&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Hensel%27s_lemma&quot;&gt;Hensel lifting&lt;/a&gt; is very closely related to the $p$-adics: it's basically getting a better and better approximation to a $p$-adic number, &quot;better&quot; in the sense of &quot;closer in the $p$-adic valuation. Hensel lifting is used in many algorithms such as factoring polynomials or doing linear algebra over $\mathbb{Z}$ (if I recall correctly Dixon has a paper on the latter).&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2014-10-24T00:59:43.160" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="27184" PostTypeId="2" ParentId="27177" CreationDate="2014-10-24T01:08:39.843" Score="13" Body="&lt;p&gt;De, Kurur, Saha and Saptharishi gave a modular version of Fürer's integer multiplication algorithm in their paper &lt;a href=&quot;http://arxiv.org/pdf/0801.1416.pdf&quot;&gt;Fast integer multiplication using modular arithmetic&lt;/a&gt;, in which the p-adic numbers replace the complex numbers used by Fürer. Both algorithms give the best bit-complexity for integer multiplication.&lt;/p&gt;&#xA;" OwnerUserId="40" LastActivityDate="2014-10-24T01:08:39.843" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27185" PostTypeId="2" ParentId="27152" CreationDate="2014-10-24T03:40:13.310" Score="-8" Body="&lt;p&gt;an example &amp;amp; proof is given in Introduction to Automata Theory, Languages, and Computation Hopcroft/ Ullman Thm13.16 that any nondeterministic algorithm for the first-order theory of reals with addition is NExpTime-hard. therefore it is presumably also NExpSpace-hard unless some theoretical breakthrough proves it can be solved &quot;in tighter space&quot; but of course that question is similar (nearly identical?) to L=?P. (in other words all the known &lt;a href=&quot;https://cstheory.stackexchange.com/questions/3297/nexp-complete-problems&quot;&gt;NExpTime-hard problems&lt;/a&gt; are also basic candidates for NExpSpace-hard, and if any provably arent, it would likely mean a breakthrough resolution of a long-open complexity class separation.) the proof comes from Fischer, Rabin 1974, &quot;Super-exponential complexity of Presburger arithmetic,&quot; &lt;em&gt;Complexity of Computation&lt;/em&gt; (R. Karp ed.). Proceedings of SIAM-AMS Symposium in Applied Mathematics.&lt;/p&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2014-10-24T03:40:13.310" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="27186" PostTypeId="1" AcceptedAnswerId="27191" CreationDate="2014-10-24T08:05:50.577" Score="4" ViewCount="227" Body="&lt;p&gt;In classical circuit complexity, shifting bits is considered gratis; all you have to do is reorganizing wires between corresponding gates. By contrast, shifting qubits is typically done by using a series of quantum SWAP gates, which are composed of three CNOT gates respectively; the shifting contributes to the total circuit complexity. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;So where does the difference come from? Is it due to the physical implementation of qubits?&lt;/p&gt;&#xA;" OwnerUserId="28696" LastActivityDate="2014-10-24T20:12:42.203" Title="Why is shifting bits different from shifting qubits?" Tags="&lt;quantum-computing&gt;&lt;circuit-complexity&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27189" PostTypeId="1" CreationDate="2014-10-24T15:35:18.260" Score="1" ViewCount="184" Body="&lt;p&gt;What is known about the following problem?&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Reconstruct a string $\sigma$ of known length $n$ over a known&#xA;  alphabet $\Sigma$ from a collection of uniformly and independently&#xA;  chosen $k$-long subsequences of $\sigma$ where $k$ is fixed between&#xA;  $0$ and $n$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Recall that a $k$-long subsequence of $\sigma=\langle \sigma_1,\ldots,\sigma_n\rangle$ is a sequence $\langle \sigma_{\varphi(1)},\dots,\sigma_{\varphi(k)}\rangle$ where $\varphi$ is an increasing function from $\{1,\ldots,k\}$ to $\{1,\ldots,n\}$.&lt;/em&gt;&lt;/p&gt;&#xA;" OwnerUserId="28702" LastEditorUserId="28702" LastEditDate="2014-10-27T14:09:08.380" LastActivityDate="2014-10-27T14:09:08.380" Title="Reconstructing a string from random samples" Tags="&lt;ds.algorithms&gt;" AnswerCount="0" CommentCount="6" FavoriteCount="1" ClosedDate="2014-10-30T21:51:20.420" ContentLicense="CC BY-SA 3.0" />
  <row Id="27190" PostTypeId="1" AcceptedAnswerId="27200" CreationDate="2014-10-24T16:17:51.047" Score="15" ViewCount="528" Body="&lt;p&gt;Every monotone &lt;a href=&quot;http://en.wikipedia.org/wiki/Arithmetic_circuit_complexity&quot; rel=&quot;nofollow&quot;&gt;arithmetic circuit&lt;/a&gt;, i.e. a $\{+,\times\}$-circuit, computes some multivariate&#xA;polynomial $F(x_1,\ldots,x_n)$ with nonnegative integer coefficients. Given a polynomial&#xA;$f(x_1,\ldots,x_n)$, the circuit&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt; &lt;b&gt;computes&lt;/b&gt; $f$ if $F(a)=f(a)$ holds for all $a\in \mathbb{N}^n$;&#xA;&lt;li&gt; &lt;b&gt;counts&lt;/b&gt; $f$ if $F(a)=f(a)$ holds for all $a\in\{0,1\}^n$;&#xA;&lt;li&gt; &lt;b&gt;decides&lt;/b&gt; $f$ if $F(a)&amp;gt;0$ exactly when $f(a)&amp;gt;0$ holds for all  $a\in\{0,1\}^n$.&#xA;&lt;/ul&gt; &#xA;&#xA;&lt;p&gt;I know explicit polynomials $f$ (even multilinear) showing that the circuit-size gap &quot;computes/counts&quot; can be exponential. My question concerns the gap &quot;counts/decides&quot;.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;&lt;b&gt;Question 1:&lt;/b&gt; Does anybody know of any polynomial $f$ which is exponentially harder to count than to decide by $\{+,\times\}$-circuits?&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;As a possible candidate, one could take the PATH polynomial whose variables correspond to edges of the complete graph $K_n$ on $\{1,\ldots,n\}$, and each monomial corresponds to a simple path from node $1$ to node $n$ in $K_n$.&#xA;This polynomial can be &lt;i&gt;decided&lt;/i&gt; by a circuit of size $O(n^3)$ implementing, say, the &#xA;Bellman-Ford dynamic programming algorithm, and it is relatively easy to show that every $\{+,\times\}$-circuit &lt;i&gt;computing&lt;/i&gt; PATH must have size $2^{\Omega(n)}$.&#xA; &lt;p&gt;&#xA; On the other hand, every circuit &lt;i&gt;counting&lt;/i&gt;&#xA;PATH solves the $\#$PATH problem, i.e. counts the number of $1$-to-$n$ paths in the specified by the corresponding $0$-$1$ input subgraph of $K_n$. This is a so-called &lt;a href=&quot;http://de.wikipedia.org/wiki/Sharp-P&quot; rel=&quot;nofollow&quot;&gt;$\#$&lt;b&gt;P&lt;/b&gt;-complete problem&lt;/a&gt;. So, we all &quot;believe&quot; that PATH cannot have any counting $\{+,\times\}$-circuits of polynomial size. The &quot;only&quot; problem is to &lt;i&gt;prove&lt;/i&gt; this ...&#xA;&lt;p&gt;&#xA;I can show that every $\{+,\times\}$-circuit counting a related &lt;i&gt; Hamiltonian path&lt;/i&gt; polynomial HP requires exponential size. Monomials of this polynomial correspond to $1$-to-$n$ paths in $K_n$ containing&#xA;all nodes. &#xA;Unfortunately, the &lt;a href=&quot;http://epubs.siam.org/doi/abs/10.1137/0208032&quot; rel=&quot;nofollow&quot;&gt;reduction&lt;/a&gt; of $\#$HP to $\#$PATH by Valiant requires to compute the inverse of the Vandermonde matrix, and hence cannot be implemented by a $\{+,\times\}$-circuit.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;&lt;b&gt;Question 2:&lt;/b&gt; Has anybody seen a &lt;b&gt;monotone&lt;/b&gt; reduction of $\#$HP to $\#$PATH?&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;And finally: &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;&lt;b&gt;Question 3:&lt;/b&gt; Was a &quot;monotone version&quot; of the class $\#$&lt;b&gt;P&lt;/b&gt; considered at all? &#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;b&gt;N.B.&lt;/b&gt; Note that I am talking about a very restricted class of circuits: &lt;i&gt;monotone&lt;/i&gt; arithmetic circuits! In the class of $\{+,-,\times\}$-circuits, Question 1 would be just unfair to ask at all:  no lower bounds larger than $\Omega(n\log n)$ for such circuits, even when required to compute a given polynomial on all inputs in $\mathbb{R}^n$, are known.&#xA;Also, in the class of such circuits, a &quot;structural analogue&quot; of Question 1 --&#xA;are there $\#$&lt;b&gt;P&lt;/b&gt;-complete polynomials which can be decided by poly-size $\{+,-,\times\}$-circuits? --&#xA;has an affirmative answer. Such is, for example, the permanent polynomial PER$=\sum_{h\in S_n}\prod_{i=1}^n x_{i,h(i)}$. &#xA;&lt;p&gt;&#xA;&lt;b&gt;ADDED:&lt;/b&gt;  Tsuyoshi Ito answered Question 1 with a very simple trick. Still, Questions 2 and 3 remain open. The counting status of PATH is interesting in its own both because it is a standard DP problem and because it is #P-complete. &lt;/p&gt;&#xA;" OwnerUserId="5788" LastEditorUserId="5788" LastEditDate="2014-10-28T10:33:58.317" LastActivityDate="2014-10-28T10:33:58.317" Title="Any polynomial which is hard to count but easy to decide?" Tags="&lt;circuit-complexity&gt;&lt;lower-bounds&gt;&lt;arithmetic-circuits&gt;&lt;cc-complexity-theory&gt;" AnswerCount="1" CommentCount="15" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="27191" PostTypeId="2" ParentId="27186" CreationDate="2014-10-24T18:35:16.560" Score="11" Body="&lt;p&gt;It's complicated, and depends on whether you approach quantum computing as a technology or a model of computation; and whether you are interested in universal quantum computation, or a special subclass of quantum operations.&lt;/p&gt;&#xA;&#xA;&lt;h3&gt;As a technology&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;We're still working on how to implement a large-scale quantum computer. Part of the reason for this is that it is a non-trivial engineering problem to devise quantum memories on which we can reliably act.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Many of the proposed architectures involve physical qubits which are in a fixed(-ish) position, relative to the others. Whether these are quantum dots (attached to a substrate), ions in a linear trap (mobile but often penned in between two other ions), or even nuclear spins in liquid NMR (locations fixed mostly by the chemical bonds within each molecule), those qubits don't have much freedom to move relative to the ones you want it to interact with.&#xA;You can't necessarily shuffle them around like cups and balls.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The fixed wires in a classical circuit get around this physical location problem by being physically extended. The wire acts as if tracing out the trajectory of &quot;moving&quot; logical bits, and may weave around each other somewhat between two logic gates. When we draw quantum circuit diagrams, we're dreaming of this &amp;mdash; but at least one of the dimensions in the diagram represents not space, but time between the physical operations which we perform. Not many physical architectures for quantum information admit that sort of physical extension, while keeping the quantum bit coherent and available to be acted upon. If locations are more or less fixed, this prevents us from literally swapping around the qubits.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In summary, in quantum implementation, we can't be confident that SWAP operations will be easily achievable &quot;in hardware&quot;, i.e. by swapping around the physical qubits. We thus have to resort to be achieving SWAP operations &quot;in software&quot; &amp;mdash; by performing suitable operations to 'transport' the information from one physical qubit to another. Thus our interest in decomposing SWAP in terms of elementary gates.&lt;/p&gt;&#xA;&#xA;&lt;h3&gt;As a model of computation&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;As a part of theory of computation, you are exactly right: decompositions of SWAP are only a curiousity, much like the logical universality of the NAND gate. It is worth taking note of, in elementary courses; but much beyond that we treat decompositions of SWAP almost exactly as seriously as we do the decomposition of classical algorithms into NAND gates &amp;mdash; not very seriously, most of the time. So long as we consider a model of computation in which elementary gates have a constant cost and which generate SWAP, then SWAP can be performed with at most a constant cost &amp;mdash; and if the cost due to SWAP gates does not dominate the run-time of the algorithm, then talking about them doesn't really shed any insight onto the complexity of a problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course, because of the technological promise of quantum computation, the technical &lt;em&gt;difficulty&lt;/em&gt; in implementing quantum computers, not to mention the promise of &lt;em&gt;any&lt;/em&gt; technique (including classical ones) to simulate bits of quantum mechanics, specialized and related models of computation have attracted some theoretical interest. One of these are &quot;matchgate&quot; circuits, which may be described as unitary circuits in which&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Qubits are arranged in a linear array;&lt;/li&gt;&#xA;&lt;li&gt;Only two-qubit nearest-neighbor unitary transformations are allowed (and possibly Hadamard operations, on the first qubit only);&lt;/li&gt;&#xA;&lt;li&gt;All two-qubit operations are of the form $$\begin{bmatrix} a_{00} &amp;amp; 0 &amp;amp; 0 &amp;amp; a_{01} \\ 0 &amp;amp; b_{00} &amp;amp; b_{01} &amp;amp; 0 \\ 0 &amp;amp; b_{10} &amp;amp; b_{11} &amp;amp; 0 \\ a_{10} &amp;amp; 0 &amp;amp; 0 &amp;amp; a_{11} \end{bmatrix} \quad\text{where $\begin{bmatrix} a_{00} &amp;amp; a_{01} \\ a_{10} &amp;amp; a_{11} \end{bmatrix}, \begin{bmatrix} b_{00} &amp;amp; b_{01} \\ b_{10} &amp;amp; b_{11} \end{bmatrix} \in \mathrm{SU}(2)$}$$&#xA;  i.e., acting unitarily (with determinant 1) on the odd- and even-parity subspaces of the pair of qubits.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;These computations can be efficiently simulated by classical computers (provided that the coefficients are efficiently computable, etc.) However, if you consider circuits which have these gates, &lt;em&gt;and also&lt;/em&gt; SWAP gates, they become universal for quantum computation. The same holds if you allow the gates to act even on next-nearest neighbour qubits, or allow Hadamard operations on other lines than just the first. What appear to be trivial modifications of the model, which one could imagine performing by just moving qubits around, transform a model which is tractible to simulate to one which (we think) is intractible to simulate. Nor, obviously, can we decompose SWAP into gates which are allowed.&lt;/p&gt;&#xA;&#xA;&lt;h3&gt;In summary&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;From a theoretical perspective, SWAP operations are exactly as boring as you think they should be, for much of the research in quantum computation. But a model of computation is a mathematical model of something &lt;em&gt;we hope to achieve&lt;/em&gt; in hardware: the model is not necessarily representative of reality. And even if SWAP is boring in one model of computation, that doesn't mean it is boring in another model!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We are complacent about SWAP in classical computation because electronic computers are a mature technology in which these details are mostly safe to ignore. As soon as you switch models of computation, you must check your computational assumptions.&lt;/p&gt;&#xA;" OwnerUserId="248" LastEditorUserId="248" LastEditDate="2014-10-24T20:12:42.203" LastActivityDate="2014-10-24T20:12:42.203" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27194" PostTypeId="2" ParentId="27177" CreationDate="2014-10-25T17:33:20.287" Score="4" Body="&lt;p&gt;here is a nice general survey with a brief overview of diverse (recent) CS applications for &lt;em&gt;p&lt;/em&gt;-adic theory, p3&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.asiapacific-mathnews.com/03/0304/0001_0006.pdf&quot; rel=&quot;nofollow&quot;&gt;What are p-Adic Numbers? What are They Used for?&lt;/a&gt; / Rozikov&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Here are areas where p-adic dynamics proved to be effective: computer science (straight line programs), numerical analysis and simulations (pseudorandom numbers), uniform distribution of sequences, cryptography (stream ciphers, T- functions), combinatorics (Latin squares), automata theory and formal languages, genetics. The monograph [9] contains the corresponding survey. For a newer results see recent papers and references therein: [10, 14, 15, 28, 36, 37, 38, 48, 51]. Moreover, there are studies in computer science and cryptography which along with mathematical physics stimulated in 1990th intensive research in p-adic dynamics since it was observed that major computer instructions (and therefore programs composed of these instructions) can be considered as continuous transformations with respect to the 2-adic metric, see [11, 12].&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2014-10-25T17:33:20.287" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="27197" PostTypeId="1" CreationDate="2014-10-25T18:41:43.867" Score="6" ViewCount="417" Body="&lt;p&gt;I am writing a paper for a TCS conference and wondering what the community's opinion is on how abstracts in TCS should be written, good practices, or rules of thumb. I thought that I had read enough papers to be able to answer this question on my own, but after thinking about it a bit, I'm stumped.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some specific questions I do not know the answer to:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;What is the purpose of the abstract?&lt;/strong&gt; Is it to help those who do not want to read the paper figure this out as early as possible? To help a future researcher understand whether the paper contains a result of use to them? To communicate the key novelty/results/advancement of the paper? Something else?&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Who is the intended audience of the abstract?&lt;/strong&gt; General computer science researchers, general TCS researchers, or researchers who specialize in the topic of the paper?&lt;/li&gt;&#xA;&lt;li&gt;Similarly, &lt;strong&gt;to what extent should technical terms be introduced/defined in the abstract?&lt;/strong&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Does motivation belong in the abstract?&lt;/strong&gt; Sometimes if I am not careful I find my abstracts turning into introductions.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;What is the value of listing precise results versus outlining the general question addressed?&lt;/strong&gt; In other words, how specific should the abstract be regarding the results? It seems hard to hit multiple levels of specific/general without being redundant.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;When is it appropriate to mention/summarize prior work and background?&lt;/strong&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I was looking over responses to &lt;a href=&quot;https://cstheory.stackexchange.com/questions/13950/good-examples-for-how-to-write-well-in-tcs&quot;&gt;this question&lt;/a&gt; on examples of good TCS papers. There did not seem to be enough samples for me to learn, however :). The approaches to abstract-writing seem to vary widely.&lt;/p&gt;&#xA;" OwnerUserId="8243" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.743" LastActivityDate="2014-10-25T18:41:43.867" Title="What makes for a good paper abstract?" Tags="&lt;soft-question&gt;&lt;writing&gt;" AnswerCount="0" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="27199" PostTypeId="2" ParentId="27181" CreationDate="2014-10-25T20:03:32.830" Score="0" Body="&lt;p&gt;From the comment above: you can easily prove that your problem is NP-complete. If you don't like the degenerated path solution (path of length zero) as correctly suggested by Yixin; and you also want to force that the paths are included in the Hamiltonian cycle; you can use an easy reduction from the Hamiltonian cycle problem on directed graphs (which is obviously NPC).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a graph $G$ replace each node with a path of length two (three nodes) and mark one of its enpoint as the ingoing endpoint and the other as the outgoing endpoint. Now simply connect the endpoints of the paths according to the original graph $G$: for a directed edge $u\to v$ you will connect the outgoing endpoint of the path corresponding to $u$ to the incoming endpoint of the path corresponding to $v$. The resulting (undirected) graph has an Hamiltonian cycle (which by construction must traverse every path, because the middle node must be included) if and only if the original digraph $G$ has an Hamiltonian cycle.&lt;/p&gt;&#xA;" OwnerUserId="3247" LastActivityDate="2014-10-25T20:03:32.830" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27200" PostTypeId="2" ParentId="27190" CreationDate="2014-10-25T22:30:23.903" Score="7" Body="&lt;p&gt;(I am posting my comments as an answer in response to the OP’s request.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As for Question 1, let &lt;i&gt;f&lt;/i&gt;&lt;sub&gt;&lt;i&gt;n&lt;/i&gt;&lt;/sub&gt;: {0,1}&lt;sup&gt;&lt;i&gt;n&lt;/i&gt;&lt;/sup&gt;→ℕ be a family of functions whose arithmetic circuit requires exponential size.  Then so does &lt;i&gt;f&lt;/i&gt;&lt;sub&gt;&lt;i&gt;n&lt;/i&gt;&lt;/sub&gt;+1, but &lt;i&gt;f&lt;/i&gt;&lt;sub&gt;&lt;i&gt;n&lt;/i&gt;&lt;/sub&gt;+1 is easy to decide by a trivial monotone arithmetic circuit.  If you prefer to avoid constants in monotone arithmetic circuits, then let &lt;i&gt;f&lt;/i&gt;&lt;sub&gt;&lt;i&gt;n&lt;/i&gt;&lt;/sub&gt;: {0,1}&lt;sup&gt;&lt;i&gt;n&lt;/i&gt;&lt;/sup&gt;→ℕ be a family of functions such that the arithmetic circuit for &lt;i&gt;f&lt;/i&gt;&lt;sub&gt;&lt;i&gt;n&lt;/i&gt;&lt;/sub&gt; requires exponential size and &lt;i&gt;f&lt;/i&gt;&lt;sub&gt;&lt;i&gt;n&lt;/i&gt;&lt;/sub&gt;(0, …, 0)=0, and consider &lt;i&gt;f&lt;/i&gt;&lt;sub&gt;&lt;i&gt;n&lt;/i&gt;&lt;/sub&gt;+&lt;i&gt;x&lt;/i&gt;&lt;sub&gt;1&lt;/sub&gt;+…+&lt;i&gt;x&lt;/i&gt;&lt;sub&gt;&lt;i&gt;n&lt;/i&gt;&lt;/sub&gt;.&lt;/p&gt;&#xA;" OwnerUserId="567" LastActivityDate="2014-10-25T22:30:23.903" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27201" PostTypeId="1" CreationDate="2014-10-25T23:49:26.320" Score="0" ViewCount="158" Body="&lt;p&gt;I have Stephen Wolfram's book A New Kind Of Science. And I want to find the proof of the universality of Rule 110. I couldn't find the clue in the contents page since it only shows 12 chapters and no details.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Could some one help me please? Does he show the proof in his book at all? What is the page number where he shows the proof?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm reading the paper by Matthew Cook for sure. It's just more pictures help me understand things better. I now know pretty well what is the tag system and the cyclic tag system, but still trying to find a way to visualize the equivalence between the tag system and the turing machine. Other resources about this are welcome, too!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Many thanks!&lt;/p&gt;&#xA;" OwnerUserId="28714" LastActivityDate="2014-10-29T19:48:48.157" Title="Where is the proof of universality of Rule110 in Stephen Wolfram's book?" Tags="&lt;turing-machines&gt;&lt;cellular-automata&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27202" PostTypeId="1" AcceptedAnswerId="27212" CreationDate="2014-10-25T23:56:36.257" Score="3" ViewCount="167" Body="&lt;p&gt;The &lt;a href=&quot;https://news.ycombinator.com/item?id=8457761&quot; rel=&quot;nofollow&quot;&gt;following link states&lt;/a&gt;:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Curry-Howard means that any type can be interpreted as a theorem in some logical system, and any term can be interpreted as a proof of its type.&#xA;  This does not mean that those theorems have anything to do with your program. Take the following function:&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;swap : forall a,b. (a,b) -&amp;gt; (b,a)&#xA;swap pair = (snd pair, fst pair)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;The type here is forall a,b. (a,b) -&gt; (b,a). The logical meaning of this type is (a and b) =&gt; (b and a). Note that this is a theorem in logic, not a theorem about your program.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;My question is: &lt;strong&gt;Can Howard-Curry prove a theorem from the types in your program, that has nothing to do with your program?&lt;/strong&gt;&lt;/p&gt;&#xA;" OwnerUserId="608" LastActivityDate="2014-10-27T15:37:40.307" Title="Can Curry-Howard prove a theorem from the types in your program, that has nothing to do with your program?" Tags="&lt;type-theory&gt;&lt;curry-howard&gt;" AnswerCount="2" CommentCount="5" ClosedDate="2014-11-05T08:16:14.787" ContentLicense="CC BY-SA 3.0" />
  <row Id="27203" PostTypeId="1" CreationDate="2014-10-26T05:48:12.890" Score="0" ViewCount="129" Body="&lt;p&gt;Say you have a knotted-up string or, as in this case, USB cable:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/dJdFk.jpg&quot; alt=&quot;knotted USB cable&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am wondering to what extent there are algorithms that could turn a picture like this (or a succession of pictures of the same object) into a proper 3d mathematical representation of the object? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, I would be happy with a 1-dimensional polygon in $\mathbb R^3$ that describes the rough shape of a cable, given in a picture like the above.  It would be useful if the algorithm could tell the difference between an &quot;open&quot; knot and a closed knot -- meaning the knot is a (possibly tangled) loop, vs just some length of string with free ends. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the case of the above picture, I would be happy with output a list like:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$ (-2,0,0) \to (1,0.2,0) \to (1,-1,1) \to (-1,-1,-1) \to (-1,0.2,-1) \to (-1,0.2,1) \to (1,0,-0.2) \to (2,0,0) $$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;from the algorithm.  Roughly the $(x,y,z)$ coordinate corresponds to the picture with the x-axis horizontal, the y-axis vertical, and the z-axis would be into the table. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there any algorithms out there that are (?close?) to capable of such a task?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Apologies in advance if I am using inappropriate tags. &lt;/p&gt;&#xA;" OwnerUserId="28717" LastActivityDate="2014-10-26T05:48:12.890" Title="Algorithm to go from a picture (or pictures) of a string in space, to a piecewise-linear representation of the curve" Tags="&lt;cv.computer-vision&gt;&lt;image-processing&gt;" AnswerCount="0" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="27205" PostTypeId="2" ParentId="27177" CreationDate="2014-10-26T09:54:19.727" Score="6" Body="&lt;p&gt;There are also some computational models:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.easychair.org/publications/?page=1530293881&quot;&gt;Here is the first paper:&lt;/a&gt; Rusins Freivalds: Ultrametric automata and Turing machines. Turing-100 2012: 98-112&lt;/p&gt;&#xA;" OwnerUserId="7358" LastActivityDate="2014-10-26T09:54:19.727" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27206" PostTypeId="1" AcceptedAnswerId="27208" CreationDate="2014-10-26T12:18:29.423" Score="7" ViewCount="331" Body="&lt;p&gt;This is admittedly a rather naively put and vague question, and I'm not sure how much more specific I want or can make it, but I'll try.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By &quot;practice&quot; I mean surely in actual programming practice (of which I embarrassingly don't know much), but also in &lt;em&gt;mathematical&lt;/em&gt; practice, whenever certain higher-type objects are employed as examples or counterexamples within arguments.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By the &quot;height&quot; of a type, I don't mean to include the obvious and natural arbitrariness involved in objects like, say, the fixpoint functional (in fact, in the spirit of the question, I would prefer to understand this as a type $2$ object &quot;up to parameter types&quot;, so to speak). A better example of what I mean would be the well-known (from mathematical practice, at least) &lt;em&gt;fan functional&lt;/em&gt;, of type $((\mathbb{N} \to \mathbb{B}) \to \mathbb{N}) \to \mathbb{N}$, given by&#xA;$$&#xA;\lambda f. \mu m. \forall_{\alpha, \beta}&#xA;\left(&#xA;\forall_{n &amp;lt; m} \alpha(n) = \beta(n) \to f(\alpha) = f(\beta)&#xA;\right) \ ,&#xA;$$&#xA;where $f : (\mathbb{N} \to \mathbb{B}) \to \mathbb{N}$ and $\alpha, \beta : \mathbb{N} \to \mathbb{B}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;My questions&lt;/strong&gt;: Are there any objects of yet higher type than $3$ (possibly &quot;up to parameter types&quot;) that are naturally used in the literature? In practice?&lt;/p&gt;&#xA;" OwnerUserId="10146" LastActivityDate="2014-10-27T13:01:50.747" Title="How high are the higher types that appear in practice?" Tags="&lt;reference-request&gt;&lt;computability&gt;&lt;type-theory&gt;" AnswerCount="3" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27208" PostTypeId="2" ParentId="27206" CreationDate="2014-10-26T15:36:43.677" Score="7" Body="&lt;p&gt;&lt;a href=&quot;http://www.westpoint.edu/eecs/SiteAssets/SitePages/Faculty%20Publication%20Documents/Okasaki/jfp98sixth.pdf&quot;&gt;Okasaki's Functional Pearl, &quot;Even Higher-Order Functions for Parsing or Why Would Anyone Ever Want To Use a Sixth-Order Function?&quot;&lt;/a&gt; answers this question with a type of order 6.&lt;/p&gt;&#xA;" OwnerUserId="43" LastActivityDate="2014-10-26T15:36:43.677" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27209" PostTypeId="2" ParentId="11558" CreationDate="2014-10-26T15:57:55.377" Score="1" Body="&lt;p&gt;&lt;a href=&quot;https://github.com/patmorin/tds/blob/master/spacesaving.tex&quot; rel=&quot;nofollow&quot;&gt;Pat Morin demonstrates a structure with $O(\sqrt{n})$ extra words of space and $O(\log^2 n)$ insert, delete, and predecessor search in his notes for his advanced data structures class.&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="43" LastActivityDate="2014-10-26T15:57:55.377" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27210" PostTypeId="1" AcceptedAnswerId="27216" CreationDate="2014-10-26T16:08:14.610" Score="2" ViewCount="263" Body="&lt;p&gt;By basic postulates of QM, any state of a system is described by a normalised density operator. Now i fail to see why people study sub-normalized states ( e.g.: In  generalised fidelity etc). I'd be glad to know any physical interpretations of the same. &lt;/p&gt;&#xA;" OwnerUserId="18278" LastEditorUserId="1542" LastEditDate="2014-10-26T16:19:19.837" LastActivityDate="2014-10-26T21:25:05.813" Title="Why are sub-normalized states studied in quantum computation?" Tags="&lt;quantum-computing&gt;&lt;quantum-information&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27211" PostTypeId="2" ParentId="27206" CreationDate="2014-10-26T17:21:34.780" Score="4" Body="&lt;p&gt;The &lt;a href=&quot;https://hackage.haskell.org/package/mtl-1.1.0.2/docs/Control-Monad-Cont.html&quot; rel=&quot;nofollow&quot;&gt;continuation monad&lt;/a&gt; in Haskell has got some nice order 3 examples&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;withCont :: ((b -&amp;gt; r) -&amp;gt; a -&amp;gt; r) -&amp;gt; Cont r a -&amp;gt; Cont r b&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;There's some discussion on &lt;a href=&quot;http://math.andrej.com/2006/03/21/interesting-higher-order-functionals/&quot; rel=&quot;nofollow&quot;&gt;Andrej's blog&lt;/a&gt;, but they don't really get past order 3...&lt;/p&gt;&#xA;" OwnerUserId="3984" LastActivityDate="2014-10-26T17:21:34.780" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27212" PostTypeId="2" ParentId="27202" CreationDate="2014-10-26T17:43:45.657" Score="-1" Body="&lt;p&gt;The type $\def\Nat{\mathrm{Nat}}\forall a b. (a,b) \rightarrow (b,a)$ corresponds to the logical statement $\forall a b : \mathrm{Prop}. a \land b \rightarrow b \land a$. $(a,b)$ corresponds to $a \land b$ and quantification over types corresponds to quantification over propositions (and of course implies corresponds to function types). This basically just expresses the fact that logical and is commutative. If you ask me this has nothing to do with a swap function even though the swap function has this type so I think your examples satisfies your question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you think about functions of types like $\Nat \rightarrow \Nat$ they &lt;strike&gt;correspond&lt;/strike&gt; are logically equivalent to $\top \rightarrow \top$ (which is of course equivalent to $\top$). Why is $\Nat$ &lt;strike&gt;correspond&lt;/strike&gt; logically equivlent to $\top$? Well inhabitants can be constructed of type $\Nat$ no matter the case which is a property only true of tautologies so $\Nat$ is a tautology. &lt;strike&gt;One could argue that $\Nat$ corresponds to something else that is a tautology (as mentioned $\Nat \to \Nat$ is also a tautology) but it is still equivalent to $\top$.&lt;/strike&gt; As Andrej noted logically equivalent does not mean corresponds and I was wrong in saying this. Thinking about it now that would be like saying $\forall a b. (a, b) \to (b, a)$ corresponded to $\top$ which is clearly wrong.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Most programs have extremely boring types quite frankly. In Haskell the only real types of interest are are types involving forall, because the rest usually have some type like $\;\cdots\, \to A$, where $A$ is a trivial tautology (like a list type or a number). Languages like Agda and Coq can have far more interesting types if you are interested in this sort of thing.&lt;/p&gt;&#xA;" OwnerUserId="21112" LastEditorUserId="21112" LastEditDate="2014-10-27T15:37:40.307" LastActivityDate="2014-10-27T15:37:40.307" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27213" PostTypeId="1" AcceptedAnswerId="27221" CreationDate="2014-10-26T17:45:50.247" Score="9" ViewCount="304" Body="&lt;p&gt;Reynolds originally proposed a relational semantics for the second order polymorphic lambda calculus[1].  However he later showed[2] that this approach was inconsistent with classical  set theory.  Pitts described the framework of hyperdoctrine models and topos models[3] which are consistent with constructive logic.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Presumably relational hyperdoctrine and topos models were then developed.  Where can I read about them?&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;[1] Types, abstraction and parametric polymorphism&lt;/li&gt;&#xA;&lt;li&gt;[2] Polymorphism is not set-theoretic&lt;/li&gt;&#xA;&lt;li&gt;[3] Polymorphism is set theoretic, constructively&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="18145" LastEditorUserId="18145" LastEditDate="2017-12-03T19:40:55.600" LastActivityDate="2017-12-03T19:40:55.600" Title="Where is relational parametricity in hyperdoctrine or topos models explored?" Tags="&lt;type-theory&gt;&lt;parametricity&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="27214" PostTypeId="2" ParentId="27202" CreationDate="2014-10-26T19:09:06.117" Score="6" Body="&lt;p&gt;I'll answer the opposite question which is: &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;can Curry-Howard prove a theorem for your program, which has nothing to do with the type&lt;/strong&gt;? &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The answer is yes, depending on the meaning of &quot;nothing to do&quot;. I'll leave the Curry-Howard aspect aside somewhat, but it underlies a lot of this approach. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The key idea is Wadlers' &lt;strong&gt;&lt;a href=&quot;http://ttic.uchicago.edu/~dreyer/course/papers/wadler.pdf&quot;&gt;Theorems for Free!&lt;/a&gt;&lt;/strong&gt; building on ideas from Reynolds, which allow you, given a program type, to deduce &lt;em&gt;something&lt;/em&gt; about the program. For example, a program $f$ of type&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;(a, b) -&amp;gt; (b, a)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;in haskell &lt;em&gt;must&lt;/em&gt; satify&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$ \forall x\ y,\ f\ (x, y) = (y, x)$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;and therefore be the &lt;code&gt;swap&lt;/code&gt; function.&lt;/p&gt;&#xA;" OwnerUserId="3984" LastActivityDate="2014-10-26T19:09:06.117" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27215" PostTypeId="1" CreationDate="2014-10-26T19:24:22.400" Score="28" ViewCount="1099" Body="&lt;p&gt;The question on cstheory &quot;&lt;a href=&quot;https://cstheory.stackexchange.com/q/11422/3247&quot;&gt;What is NP restricted to linear size witnesses?&lt;/a&gt;&quot; asks about the class NP restricted to linear size $O(n)$ witnesses, but&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Are there &lt;em&gt;natural&lt;/em&gt; NP-complete problems in which (yes) instances&#xA;  of size $n$ require witnesses of size greater than $n$?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Clearly we can build &lt;em&gt;artificial&lt;/em&gt; problems like:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$L = \{ 1^nw \mid w \text{ encodes a satisfiable formula and } |w|=n \}$&lt;/li&gt;&#xA;&lt;li&gt;$L = \{ \varphi \mid \varphi \text{ is SAT formula with more than } |\varphi|^2 \text{ satisfying assignments}\}$&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;After a quick look at G&amp;amp;J, every natural NPC problem seems to have witnesses (strictly) smaller than $n$.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there a &quot;reason/explanation&quot; for it ?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.743" LastActivityDate="2015-10-05T01:39:28.557" Title="Natural NP-complete problems with &quot;large&quot; witnesses" Tags="&lt;cc.complexity-theory&gt;&lt;np&gt;&lt;proof-complexity&gt;" AnswerCount="6" CommentCount="12" FavoriteCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="27216" PostTypeId="2" ParentId="27210" CreationDate="2014-10-26T21:17:52.533" Score="5" Body="&lt;p&gt;It is often mathematically very convenient to work with sub-normalized states independently of the question whether they have a direct physical meaning.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, you can always see them as states that are logically 'AND' with a certain event. For example, consider the c-q state&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\rho_{XB} = \sum_x |x\rangle\!\langle x|_X \otimes \rho_B^x$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where $\rho_B^x$ is sub-normalized so that the whole state is normalized. Then the trace of $\rho_B^x$ just gives the probability of finding the subsystem $B$ in the renormalized, conditional state $\rho_B^x / \text{tr}(\rho_B^x)$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, the probability of measuring a certain event (POVM element) $E_B$ &lt;strong&gt;AND&lt;/strong&gt; x is simply given by $\text{tr}(\rho_B^x E_B)$ and we never needed to renormalize the state to write this down.&lt;/p&gt;&#xA;" OwnerUserId="14034" LastEditorUserId="14034" LastEditDate="2014-10-26T21:25:05.813" LastActivityDate="2014-10-26T21:25:05.813" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27217" PostTypeId="1" CreationDate="2014-10-26T22:34:33.057" Score="7" ViewCount="1279" Body="&lt;p&gt;I am planning to implement in software a set theory language, based on a binary function, which in set theory is the so called adjunction operation: $f(x, y) = x \cup$ {y}. Therefore, a presentation of set theory in terms of lambda-calculus will really help. Are there such presentations or attempts to do it?   &lt;/p&gt;&#xA;" OwnerUserId="28730" LastActivityDate="2014-10-27T18:07:01.043" Title="Are there presentations of set theory in terms of lambda-calculus?" Tags="&lt;reference-request&gt;&lt;lambda-calculus&gt;&lt;set-theory&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="27219" PostTypeId="2" ParentId="27215" CreationDate="2014-10-27T02:52:22.597" Score="6" Body="&lt;p&gt;Maybe this is a silly &quot;reason/explanation&quot;, but for many NP-Complete problems, a solution is a subset of the input (knapsack, vertex cover, clique, dominating set, independent set, max cut, subset sum, ...) or a permutation of or assignment to a subset of the input (Hamiltonian path, traveling salesman, SAT, graph isomorphism, graph coloring, ...).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We could try to read more into it than that, or come up with a more fancily-stated reason, but I'm not sure whether there is anything deeper going on or not.&lt;/p&gt;&#xA;" OwnerUserId="8243" LastActivityDate="2014-10-27T02:52:22.597" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27220" PostTypeId="1" AcceptedAnswerId="27288" CreationDate="2014-10-27T07:45:31.843" Score="9" ViewCount="612" Body="&lt;p&gt;Random forests have a reputation among practitioners of being among the most effective classification techniques. Yet we don't encounter them much in the learning-theoretic literature, from which I surmise an absence of deep theoretical results. If one wanted to delve into this theory, where would one start?&lt;/p&gt;&#xA;" OwnerUserId="1746" LastActivityDate="2014-10-31T22:21:12.740" Title="Theoretical results for random forests?" Tags="&lt;machine-learning&gt;&lt;lg.learning&gt;" AnswerCount="2" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27221" PostTypeId="2" ParentId="27213" CreationDate="2014-10-27T11:37:30.097" Score="10" Body="&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;For technical reasons, there hasn't been much work on parametric topos models. The internal logic of a topos is a form of set theory, and F-style impredicative indexing and the powerset axiom are incompatible. See Andy Pitts's &lt;a href=&quot;http://www.cl.cam.ac.uk/~amp12/papers/nontpt/nontpt.html&quot;&gt;&lt;em&gt;Non-trivial Power Types Can't Be Subtypes of Polymorphic Types&lt;/em&gt;&lt;/a&gt;:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;This paper establishes a new, limitative relation between the polymorphic lambda calculus and the kind of higher-order type theory which is embodied in the logic of toposes. It is shown that any embedding in a topos of the cartesian closed category of (closed) types of a model of the polymorphic lambda calculus must place the polymorphic types well away from the powertypes, P(X), of the topos, in the sense that P(X) is a subtype of a polymorphic type only in the case that X is empty (and hence P(X) is terminal). As corollaries, we obtain strengthenings of Reynolds' result on the non-existence of set-theoretic models of polymorphism. &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;As a result, even though you can give a universe interpreting F's types in topos logic, you can't let it interact in interesting ways with the full universe of sets. However, all is not lost! &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;The fact that a (non-parametric) universe of sets interpreting System F means that you can give a parametric model of System F in the internal logic of the topos, much more easily than you can in ordinary set theory. Essentially, you don't have to muck around with PERs, since you can just assume that you have a suitable collection of sets. Bob Atkey used this idea in his paper &lt;a href=&quot;http://bentnib.org/fomega-parametricity.html&quot;&gt;&lt;em&gt;Relational Parametricity for Higher Kinds&lt;/em&gt;&lt;/a&gt;, where he worked out parametricity for $F_\omega$ by working in the impredicative calculus of constructions.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Another reaction to Pitts's result is to not work with a set theory, but a dependent type theory. Since there's no power type former in dependent type theory, you don't have to worry about the interaction of power types and polymorphism. See Atkey, Ghani and Johann's &lt;a href=&quot;http://bentnib.org/dtt-parametricity.html&quot;&gt;&lt;em&gt;A Relationally Parametric Model of Dependent Type Theory&lt;/em&gt;&lt;/a&gt;. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;However there are no such obstacles to building hyperdoctrine-ish models, where terms of System F are objects of the logic. Research along these lines was probably initiated by Abadi and Plotkin in their seminal paper &lt;a href=&quot;http://www.dcs.ed.ac.uk/~gdp/publications/Par_Poly.pdf&quot;&gt;&lt;em&gt;A Logic for Parametric Polymorphism&lt;/em&gt;&lt;/a&gt;. Lars Birkedal and his collaborators have worked heavily on formulating categorical models for this and similar logics --- see in particular Birkedal, Møgelberg, and Petersen's &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.140.160&quot;&gt;&lt;em&gt;Category-Theoretic Models of Linear Abadi and Plotkin Logic&lt;/em&gt;&lt;/a&gt;, which gives a logic for reasoning about linear System F, plus a proof that it is sound and complete with respect to a certain class of categorical models. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="657" LastActivityDate="2014-10-27T11:37:30.097" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27223" PostTypeId="2" ParentId="27206" CreationDate="2014-10-27T13:01:50.747" Score="5" Body="&lt;p&gt;This is a very interesting question! &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Andrej Bauer wrote a very nice blog post, &lt;a href=&quot;http://math.andrej.com/2006/03/21/interesting-higher-order-functionals/&quot;&gt;&lt;em&gt;Interesting Higher Order Functionals&lt;/em&gt;&lt;/a&gt;, which is precisely about this question. He defined a &quot;genuine&quot; function of order $n$ as one which is not expressible in terms of functions order $k &amp;lt; n$ plus typed lambda-calculus. He points out there are only a few known examples of order 3, and he knows of &lt;em&gt;zero&lt;/em&gt; examples of order 4. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;He also mentions that Paul Taylor does use some very unusual fourth-order functions in his program of Abstract Stone Duality. These are not &quot;genuine&quot; in Andrej's sense, in that they are definable as typed lambda terms, but they are definitely not trivial stackings of known constructions. (In some sense ASD exists to give them intellectually sensible types.) &lt;/p&gt;&#xA;" OwnerUserId="657" LastActivityDate="2014-10-27T13:01:50.747" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27224" PostTypeId="1" CreationDate="2014-10-27T13:14:51.430" Score="8" ViewCount="350" Body="&lt;p&gt;Are there any categorical semantics for non-monotonic logics?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It appears that the simple answer to this is &quot;No&quot; since the obvious notion of composition fails for any model of a non-monotonic logic. But is there a model that actually works with an appropriately defined notion of composition?&lt;/p&gt;&#xA;" OwnerUserId="25484" LastEditorUserId="77" LastEditDate="2014-10-28T12:36:24.657" LastActivityDate="2018-03-31T15:20:32.103" Title="Categorical semantics for non-monotonic logics?" Tags="&lt;ct.category-theory&gt;&lt;semantics&gt;&lt;denotational-semantics&gt;" AnswerCount="2" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="27226" PostTypeId="2" ParentId="27217" CreationDate="2014-10-27T18:07:01.043" Score="6" Body="&lt;p&gt;There is a really interesting approach to a set theory-like foundational system that I am rather fond of: Grue's &lt;a href=&quot;http://www.diku.dk/~grue/&quot;&gt;Map Theory&lt;/a&gt;. The basic idea is to take the (untyped!) $\lambda$-calculus as a base foundation, and to represent a set $S$ as a term $f$ such that&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$ S=\{f(x)\mid x\in\Phi\}$$&#xA;where $\Phi$ represents the &lt;em&gt;well founded functions&lt;/em&gt; ($x\neq\bot$ in the Scott semantics). It doesn't look like there is any proof assistant based on it though, so I have no idea how it would work in practice.&lt;/p&gt;&#xA;" OwnerUserId="3984" LastActivityDate="2014-10-27T18:07:01.043" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27228" PostTypeId="2" ParentId="18727" CreationDate="2014-10-27T19:43:15.633" Score="11" Body="&lt;p&gt;Here's an algorithm that beats the trivial attempts.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The following is a known fact (Exercise 1.12 in O'Donnell's book) : If &lt;span class=&quot;math-container&quot;&gt;$f:\{-1,1\}^n\to\{-1,1\}$&lt;/span&gt; is a Boolean function which has degree &lt;span class=&quot;math-container&quot;&gt;$\le d$&lt;/span&gt; as a polynomial, then every Fourier coefficient of &lt;span class=&quot;math-container&quot;&gt;$f$&lt;/span&gt;, &lt;span class=&quot;math-container&quot;&gt;$\hat{f}(S)$&lt;/span&gt; is an integer multiple of &lt;span class=&quot;math-container&quot;&gt;$2^{-d}$&lt;/span&gt;.&#xA;Using Cauchy-Schwarz and Parseval one gets that there are at most &lt;span class=&quot;math-container&quot;&gt;$4^d$&lt;/span&gt; nonzero Fourier coefficients and &lt;span class=&quot;math-container&quot;&gt;$\sum_{S}{|\hat{f}(S)|}\le 2^{d}$&lt;/span&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This suggests a sampling method - &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Choose random non-negative integers &lt;span class=&quot;math-container&quot;&gt;$a_S$&lt;/span&gt; for all sets &lt;span class=&quot;math-container&quot;&gt;$S\subseteq[n]$&lt;/span&gt; of size at most &lt;span class=&quot;math-container&quot;&gt;$d$&lt;/span&gt;, which sum up to &lt;span class=&quot;math-container&quot;&gt;$\le 4^d$&lt;/span&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Let &lt;span class=&quot;math-container&quot;&gt;$f(x) = \sum_{S}{\frac{a_S}{2^d} \chi_S(x)}$&lt;/span&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Verify that &lt;span class=&quot;math-container&quot;&gt;$f$&lt;/span&gt; is Boolean. If so, return &lt;span class=&quot;math-container&quot;&gt;$f$&lt;/span&gt;. Else, go back to &lt;span class=&quot;math-container&quot;&gt;$1$&lt;/span&gt;.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Note that for every degree &lt;span class=&quot;math-container&quot;&gt;$\le d$&lt;/span&gt; polynomial &lt;span class=&quot;math-container&quot;&gt;$f$&lt;/span&gt; exactly one choice of random integers in Step 1 will generate the polynomial &lt;span class=&quot;math-container&quot;&gt;$f$&lt;/span&gt;. The probability of getting a specific degree &lt;span class=&quot;math-container&quot;&gt;$\le d$&lt;/span&gt; polynomial is&#xA;&lt;span class=&quot;math-container&quot;&gt;$$1/\binom{\binom{n}{\le d}+4^d}{4^d} =1/O(n/d)^{d4^d}.$$&lt;/span&gt;&#xA;Hence, we need to repeat this process at most &lt;span class=&quot;math-container&quot;&gt;$O(n/d)^{d4^d}$&lt;/span&gt; times, in expectation, before halting.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It remains to show how to perform step 3. One can define &lt;span class=&quot;math-container&quot;&gt;$A = \bigcup\{S:a_S\neq 0\}$&lt;/span&gt;. Check that &lt;span class=&quot;math-container&quot;&gt;$|A| \le d 2^d$&lt;/span&gt; (which should hold by Nisan-Szegedy for every Boolean function) and then evaluate &lt;span class=&quot;math-container&quot;&gt;$f$&lt;/span&gt; on all possible assignments to the variables in &lt;span class=&quot;math-container&quot;&gt;$A$&lt;/span&gt;. This can be done in time &lt;span class=&quot;math-container&quot;&gt;$2^{d 2^d}$&lt;/span&gt;.&#xA;Gur and Tamuz offer a much faster randomized algorithm for this task, however since this part doesn't dominate the time complexity this is enough.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Overall the algorithm produces a random sample of a degree &lt;span class=&quot;math-container&quot;&gt;$\le d$&lt;/span&gt; polynomial in time &lt;span class=&quot;math-container&quot;&gt;$O(\frac{n}{d})^{d4^d}$&lt;/span&gt;.&#xA;Under the assumption that &lt;span class=&quot;math-container&quot;&gt;$n \le d2^d$&lt;/span&gt; the time complexity is &lt;span class=&quot;math-container&quot;&gt;$2^{O(d^2 4^d)}$&lt;/span&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is not a polynomial time sampling algorithm, although it is much faster then sampling a completely random function (in which case the probability of getting a specific degree &lt;span class=&quot;math-container&quot;&gt;$\le d$&lt;/span&gt; polynomial is &lt;span class=&quot;math-container&quot;&gt;$1/2^{2^n}$&lt;/span&gt;).&lt;/p&gt;&#xA;" OwnerUserId="9811" LastEditorUserId="1993" LastEditDate="2018-10-30T05:54:17.697" LastActivityDate="2018-10-30T05:54:17.697" CommentCount="1" ContentLicense="CC BY-SA 4.0" />
  <row Id="27230" PostTypeId="1" CreationDate="2014-10-27T22:34:01.307" Score="-2" ViewCount="196" Body="&lt;p&gt;For many problems, more than one output is acceptable.  For instance, the problem of finding an assignment that satisfies a boolean formula.  If randomness buys us something then it could be that it is fundamentally easier to compute &lt;em&gt;a&lt;/em&gt; solution to such a problem than to compute &lt;em&gt;a canonical&lt;/em&gt; solution.  Some non-deterministic algorithm would outperform every deterministic algorithm.  However, it is likely that randomness does not buy much.  Parallelism, on the other hand, certainly does improve the running time of algorithms.  In general, if we have lots of processors but communication is expensive and synchronization is infeasible, we might expect non-deterministic algorithms to outperform deterministic ones.  However, in many cases it seems possible to convert non-deterministic algorithms into deterministic ones under reasonable assumptions.  For instance, one way to look for a satisfying assignment is to divide up the search space between multiple processors and then return the first solution that comes back.  That's non-deterministic, but it can easily be made deterministic by putting an appropriate order on the solution space and then waiting after receiving the first solution until one can be sure that no smaller solution exists.  Are there some natural examples of problems where such a conversion does not work?  I.e., problems that we can expect to solve efficiently using parallelism but where we cannot expect to find canonical solutions using parallelism?&lt;/p&gt;&#xA;" OwnerUserId="28738" LastEditorUserId="28738" LastEditDate="2014-10-28T08:38:25.040" LastActivityDate="2014-10-28T20:54:37.210" Title="What are some natural problems that we can quickly find a solution to using massive parallelism but not a canonical solution?" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;dc.parallel-comp&gt;&lt;dc.distributed-comp&gt;&lt;concurrency&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27232" PostTypeId="2" ParentId="27220" CreationDate="2014-10-27T22:56:59.360" Score="6" Body="&lt;p&gt;I guess you already had a look at Breiman's 2001 paper about RF. I can just point out a few other references: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Empirical comparisons of different RF simplifications that allow proving theorems:  &lt;a href=&quot;http://jmlr.org/proceedings/papers/v32/denil14.html&quot; rel=&quot;nofollow&quot;&gt;Narrowing the Gap: Random Forests In Theory and In Practice&lt;/a&gt; &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is the newest reference I can provide. In this paper you can also find some citations of Biau's papers about initial work on theoretical results for RF.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you are interested in theoretical results about variable importance in RF: &lt;a href=&quot;http://nips.cc/Conferences/2013/Program/event.php?ID=3782&quot; rel=&quot;nofollow&quot;&gt;Understanding variable importances in forests of randomized trees&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Actually I just found out that last paper's author (Gilles Louppe) just posted on arxiv his PhD thesis (v2): &lt;a href=&quot;http://arxiv.org/abs/1407.7502&quot; rel=&quot;nofollow&quot;&gt;Understanding Random Forests: From Theory to Practice&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="6916" LastEditorUserId="6916" LastEditDate="2014-10-29T04:52:49.393" LastActivityDate="2014-10-29T04:52:49.393" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27233" PostTypeId="1" AcceptedAnswerId="27244" CreationDate="2014-10-27T23:08:54.603" Score="4" ViewCount="143" Body="&lt;p&gt;I'm currently enrolled in a course that introduces Turing machines. As I wanted to play around a bit, I wrote a little TM engine and had it search for busy beavers (it successfully found the 4-state 2-symbol BB listed in Wikipedia).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To more quickly eliminate bad candidates, I'm searching for conditions that imply indefinite runtime. I found a couple of filters already, but the number of indefinite runs is still rather high (indefinite, as in, either seemingly running forever or sometimes checked manually).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In this questions in particular I would like to inquire what space requirements a BB must have after a certain number of shifts. If it accessed less of the tape than this number, it can be dismissed directly. For this purpose, consider the tape length to extend exactly as far as the head went at most in either direction.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As simple upper bound I guess something like $N_{shifts} \leq {N_{TapeLength}}^{|Q|}$ could work, though I am not sure this is even correct. Also, it should certainly be possible to improve this boundary considerably.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit: I currently employ the following eliminations:&lt;/p&gt;&#xA;&#xA;&lt;h3&gt;Static&lt;/h3&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Fixed first/last transition (A0-B1R,xx-H1R)&lt;/li&gt;&#xA;&lt;li&gt;State enumeration ordering&lt;/li&gt;&#xA;&lt;li&gt;All states in transitive closure of A&lt;/li&gt;&#xA;&lt;li&gt;H in transitive closure of all states&lt;/li&gt;&#xA;&lt;li&gt;Trap states&lt;/li&gt;&#xA;&lt;li&gt;Equivalent states&lt;/li&gt;&#xA;&lt;li&gt;Inability to change the tape&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;h3&gt;Dynamic&lt;/h3&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;At either end of the tape, current state's transitive closure (using only 0-transitions) always directs further away&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="475" LastEditorUserId="475" LastEditDate="2014-10-28T10:01:07.123" LastActivityDate="2014-10-28T20:11:54.593" Title="Busy beaver candidate elimination: Minimum space requirements" Tags="&lt;turing-machines&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="27234" PostTypeId="1" AcceptedAnswerId="27237" CreationDate="2014-10-28T02:41:52.217" Score="3" ViewCount="112" Body="&lt;p&gt;Let $S=s_1,\ldots,s_n$ be a sequence and $p$ be a permutation on the indices of $S$ such that $p$ sorts $S$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Define a sequence to be locally sorted with degree $k$ if $\forall s_i \in S |p(i) - i | \leq k$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;How many locally sorted sequences of degree $k$ are there for $n$ elements? Hopefully, there will be a better approach than &quot;enumerate all possible sequences and check each one&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I wasn't sure how to approach this problem, so I tried proofing results for various values of $k$. I solved this for $k=1$; it's just a Fibonacci sequence. $k=2$ is a lot more difficult to me. I keep overcounting.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For handiness, here's some Python code to use when checking results:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;code&gt;from itertools import permutations&#xA;def check(seq, k):&#xA;    for i in range(0, len(seq)):&#xA;        index = i+1&#xA;        if abs(seq[i] - index) &gt; k: return False&#xA;    return True&#xA;n = 5&#xA;k = 2&#xA;orig = [ i+1 for i in range(0,n) ] # easier if we use sequences of integers&#xA;check_count = 0&#xA;for perm in permutations(orig):&#xA;    if check(perm,k):&#xA;        check_count += 1&#xA;print(check_count)&#xA;&lt;/code&gt;&lt;/p&gt;&#xA;" OwnerUserId="27077" LastActivityDate="2014-10-28T03:41:41.310" Title="Locally sorted sequences" Tags="&lt;ds.algorithms&gt;&lt;sorting&gt;&lt;dynamic-programming&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27235" PostTypeId="1" AcceptedAnswerId="27236" CreationDate="2014-10-28T02:46:52.787" Score="-1" ViewCount="93" Body="&lt;p&gt;Could there be a logically consistent theory supporting the transmission of non-physical information to a point in time previous to the time it was sent using a computer network (quantum theory, etc)? I'm working on a sci-fi story and need some legit science to back up just such an occurrence - so there's no limit re: real world application.&lt;/p&gt;&#xA;" OwnerUserId="28739" LastActivityDate="2014-10-28T03:09:06.940" Title="The Arrow of Time in a Non-Physical Realm" Tags="&lt;soft-question&gt;&lt;quantum-information&gt;&lt;physics&gt;&lt;ni.networking-internet&gt;" AnswerCount="1" CommentCount="2" ClosedDate="2014-10-31T15:18:07.887" ContentLicense="CC BY-SA 3.0" />
  <row Id="27236" PostTypeId="2" ParentId="27235" CreationDate="2014-10-28T03:09:06.940" Score="4" Body="&lt;p&gt;For the consequences of such transmission to theoretical computer science (the only aspect of your question that is on-topic here) see Aaronson and Watrous's &lt;a href=&quot;http://arxiv.org/abs/0808.2669&quot; rel=&quot;nofollow&quot;&gt;&quot;Closed Timelike Curves Make Quantum and Classical Computing Equivalent&quot;&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2014-10-28T03:09:06.940" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27237" PostTypeId="2" ParentId="27234" CreationDate="2014-10-28T03:41:41.310" Score="9" Body="&lt;p&gt;Your problem is solved in the paper &lt;a href=&quot;http://www.ii.uib.no/publikasjoner/texrap/pdf/2008-376.pdf&quot;&gt;Spheres of Permutations under the&#xA;Infinity Norm &amp;mdash; Permutations with limited displacement&lt;/a&gt; by Torleiv Kløve.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See also &lt;a href=&quot;https://oeis.org/A002524&quot;&gt;A002524&lt;/a&gt; and other sequences linked there. I found Kløve's paper by calculating the first few values of A002524 and finding it on the OEIS.&lt;/p&gt;&#xA;" OwnerUserId="40" LastActivityDate="2014-10-28T03:41:41.310" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27238" PostTypeId="2" ParentId="27215" CreationDate="2014-10-28T06:49:06.790" Score="10" Body="&lt;p&gt;How about the edge coloring number in a dense graph (aka &lt;a href=&quot;http://en.wikipedia.org/wiki/Edge_coloring&quot; rel=&quot;nofollow noreferrer&quot;&gt;Chromatic index&lt;/a&gt;)? You are given the adjacency matrix of an $n$ vertex graph ($n^2$ bit input), but the &lt;em&gt;natural&lt;/em&gt; witness describing the coloring has size $n^2\log n$. Of course, there might be shorter proofs for class 1 graphs in &lt;a href=&quot;http://en.wikipedia.org/wiki/Vizing&amp;#39;s_theorem&quot; rel=&quot;nofollow noreferrer&quot;&gt;Vizing's theorem&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See also this &lt;a href=&quot;https://cstheory.stackexchange.com/questions/16148/problem-unsolvable-in-2on-on-inputs-with-n-bits-assuming-eth?rq=1&quot;&gt;possibly related question&lt;/a&gt; &lt;/p&gt;&#xA;" OwnerUserId="679" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2014-10-28T06:49:06.790" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27239" PostTypeId="2" ParentId="27224" CreationDate="2014-10-28T11:32:05.433" Score="4" Body="&lt;p&gt;Non-monotonic logic is kind of a wide area -- do you have any particular logics in mind? Anyway, defeasibly assuming :) that &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;you are interested in any logic in which the principle of monotony fails, and&lt;/li&gt;&#xA;&lt;li&gt;you want a categorical semantics in the sense of categorical proof theory (rather than, say, a hyperdoctrine semantics), then&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;one answer is that you can give a reasonable categorical semantics to any logic for which a sequent calculus with cut-elimination is known. Basically, the types are objects, normal forms of the sequent calculus are morphisms, and cut-elimination tells you how to implement composition. This gives you the initial category in whatever category of models you end up using to prove soundness and completeness. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This recipe is independent of monotonicity, and so it can work well even for non-monotonic logics. For example, one of the more important successes in categorical logic is its treatment of &lt;a href=&quot;http://plato.stanford.edu/entries/logic-linear/&quot; rel=&quot;nofollow&quot;&gt;&lt;em&gt;linear logic&lt;/em&gt;&lt;/a&gt;. This is a logic where, intuitively, propositions refer to &lt;em&gt;resources&lt;/em&gt;, so that the linear implication $A \multimap B$ can be read as &quot;$A$ can be consumed to produce $B$&quot;. The consequence relation of linear logic is non-monotonic (since the fact that $A$ can be consumed to produce $B$ does not mean that $A$ and $X$ can both be consumed to produce $B$). However, it has an excellent proof theory, and its categorical models are closely tied to the theory of monoidal categories. &lt;/p&gt;&#xA;" OwnerUserId="657" LastActivityDate="2014-10-28T11:32:05.433" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="27240" PostTypeId="2" ParentId="27143" CreationDate="2014-10-28T11:39:37.210" Score="4" Body="&lt;p&gt;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.147.3013&quot; rel=&quot;nofollow&quot;&gt;It's Okay to Be Skinny, If Your Friends Are Fat&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Songrit Maneewongvatana , David M. Mount&lt;br&gt;&#xA;Venue: 4th Annual Workshop on Computational Geometry.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://link.springer.com/chapter/10.1007/3-540-40002-8_18&quot; rel=&quot;nofollow&quot;&gt;How to keep a dead man from shooting.&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="21001" LastEditorUserId="21001" LastEditDate="2015-01-18T19:12:53.023" LastActivityDate="2015-01-18T19:12:53.023" CommentCount="0" CommunityOwnedDate="2014-10-28T11:39:37.210" ContentLicense="CC BY-SA 3.0" />
  <row Id="27242" PostTypeId="2" ParentId="27143" CreationDate="2014-10-28T15:31:03.400" Score="5" Body="&lt;p&gt;I still like the classic &quot;&lt;a href=&quot;http://dx.doi.org/10.1109/SFCS.1992.267789&quot; rel=&quot;noreferrer&quot;&gt;Mick Gets Some (the Odds Are on His Side)&lt;/a&gt;&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;And this: &quot;&lt;a href=&quot;http://link.springer.com/chapter/10.1007/3-540-45614-7_7&quot; rel=&quot;noreferrer&quot;&gt;Do Not Read This&lt;/a&gt;&quot;&lt;/p&gt;&#xA;" OwnerUserId="6579" LastActivityDate="2014-10-28T15:31:03.400" CommentCount="0" CommunityOwnedDate="2014-10-28T15:31:03.400" ContentLicense="CC BY-SA 3.0" />
  <row Id="27244" PostTypeId="2" ParentId="27233" CreationDate="2014-10-28T18:02:48.003" Score="4" Body="&lt;p&gt;There are many methods for detecting that specific TMs will run infinitely. As Marzio mentioned, &lt;a href=&quot;http://www.drb.insel.de/~heiner/BB/#Local&quot; rel=&quot;nofollow&quot;&gt;Heiner Marzen's page and papers&lt;/a&gt; provide almost all of the currently used methods.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The method you describe is a great simple requirement. Specifically, if we know that the TM has only moved around on a small tape of size $N_{tape}$, then the exact configuration at every step so far can be described by (1) the symbols at each of these $N_{tape}$ cells, (2) the position of the reading head and (3) the TM state. Thus there are $|Q| \cdot N_{tape} \cdot |S|^{N_{tape}}$ possible configurations (Where $|Q|$ is the number of states and $|S|$ is the number of symbols). So, if the TM has taken more than that many steps of computation, you know that it must have been in one configuration at least twice and thus that it will infinitely repeat.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, I don't think this method works very often in practice because it is more common for TMs to run off infinitely in one direction than to stay on a small section of tape.&lt;/p&gt;&#xA;" OwnerUserId="4293" LastEditorUserId="475" LastEditDate="2014-10-28T20:11:54.593" LastActivityDate="2014-10-28T20:11:54.593" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27245" PostTypeId="1" CreationDate="2014-10-28T20:25:35.780" Score="2" ViewCount="70" Body="&lt;p&gt;Sorry for being so informal, but I was thinking a bit about how the Halting Problem is solvable on a LBA but very very slow, in that if you have gone though more states in execution then the total number of states possible, the program would be hanging by the pigeonhole principle. But this has the time complexity of O(2^N).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Well, the idea is instead to think of the machine's execution of code as a linked list of states, having a way to quantify the state in an easily comparable manner, and then make use of the Floyd's cycle-finding algorithm. So you can run two instances of the program to be tested at once, where one instance executes a single instruction, and the other instance will execute two instructions, and compare the states. If the states are ever the same, the program has hung. And if I remember right this would be a much much faster process, being a time complexity of just O(N). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Would using my method be feasible or faster, and is there even any use of coming up with a faster methodology? &lt;/p&gt;&#xA;" OwnerUserId="28752" LastActivityDate="2014-10-28T20:25:35.780" Title="Is there value in a faster soultion for the Halting Problem in a Linear Bounded Automata?" Tags="&lt;halting-problem&gt;" AnswerCount="0" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27246" PostTypeId="2" ParentId="27230" CreationDate="2014-10-28T20:54:37.210" Score="0" Body="&lt;p&gt;I think you're mixing up parallelism with non-determinism. The thing about parallelism is that any problem that can be solved in polynomial time using a polynomial number of processors can be also be solved in polynomial time using a single processor, simply by simulating each processor's work one at a time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/NC_(complexity)&quot; rel=&quot;nofollow noreferrer&quot;&gt;NC&lt;/a&gt; is the class of problems that can be sped up through parallelism using a polynomial number of processors, and whether or not $NC=P$ is an open problem (whether or not all problems that can be solved in polynomial time can be sped up through parallelism). We know that NC is within P because of the previous paragraph, however if you're looking for problems that probably can't be sped up through parallelism (I think this is what you're asking for?), see P-Complete problems - these can't be sped up through parallelism unless $NC=P$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, non-determinism is talking about more generally what happens if we run all paths in parallel and return &quot;yes&quot; if at least one parallel processor found an answer that works. For NP-Complete problems, we're pretty sure that this requires an exponential number of processors to solve them in polynomial time, and an &lt;a href=&quot;http://en.wikipedia.org/wiki/Exponential_time_hypothesis&quot; rel=&quot;nofollow noreferrer&quot;&gt;exponential amount of time to solve sequentially (&quot;canonically&quot;?) as well&lt;/a&gt;. In the example of subset sum (a known NP-Complete problem), you'd run one processor for each subset, and if any processors find a sum of 0 it would return it and you'd return yes, otherwise if none do you'd return no.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Whether non-determinism helps us or not in problems that can be verified in polynomial time is the problem of whether or not $P=NP$, and we're almost certain $P\neq NP$, it's just not proved yet so we're not 100% sure. Still there's many lesser assumptions that we're also pretty sure are true that would have to be broken first (for example collapse of the polynomial hierarchy, non-existence of one way functions/cryptography/pseudorandom generators).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Whether or not $NEXPTIME=EXPTIME$ is the exponential equivalent of this question, and by a &lt;a href=&quot;http://en.wikipedia.org/wiki/Padding_argument&quot; rel=&quot;nofollow noreferrer&quot;&gt;padding argument&lt;/a&gt; we know that if $P=NP$, $NEXPTIME=EXPTIME$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, you mentioned that &quot;it is likely that randomness doesn't buy much.&quot; Formally &lt;a href=&quot;http://en.wikipedia.org/wiki/BPP_(complexity)&quot; rel=&quot;nofollow noreferrer&quot;&gt;BPP&lt;/a&gt; is the class of problems that can be solved efficiently with a randomized algorithm, and you're right that we suspect $BPP=P$, but that's also something we haven't yet formally proved. Also see &lt;a href=&quot;https://cstheory.stackexchange.com/questions/19986/proof-strategies-on-p-versus-bpp&quot;&gt;this&lt;/a&gt; and &lt;a href=&quot;https://cstheory.stackexchange.com/questions/6748/hierarchy-for-bpp-vs-derandomization&quot;&gt;this&lt;/a&gt; question.&lt;/p&gt;&#xA;" OwnerUserId="21793" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2014-10-28T20:54:37.210" CommentCount="61" ContentLicense="CC BY-SA 3.0" />
  <row Id="27247" PostTypeId="1" CreationDate="2014-10-28T22:42:57.127" Score="1" ViewCount="45" Body="&lt;p&gt;Given an algorithm with approximation ratio $\alpha$, and another algorithm with approximation ratio $\beta=n^\epsilon$, and a solution to a problem with cost $c$. What is the standard way to bound $\alpha$ in terms of $\beta$ if&#xA;$(n-c) \leq \alpha (n- \beta c)$. That is, what can I say about $\alpha$ in terms of $\beta$ (assuming all positives, and $c &amp;lt; n$).&lt;/p&gt;&#xA;" OwnerUserId="28755" LastActivityDate="2014-10-28T22:42:57.127" Title="Bounding the cost of an approximation algorithm when subtraction involve" Tags="&lt;np-hardness&gt;&lt;approximation&gt;&lt;analysis-of-algorithms&gt;" AnswerCount="0" CommentCount="0" ClosedDate="2014-11-05T08:19:52.430" ContentLicense="CC BY-SA 3.0" />
  <row Id="27250" PostTypeId="2" ParentId="27215" CreationDate="2014-10-29T02:08:46.863" Score="8" Body="&lt;p&gt;I came along some quite natural NP-complete problems that seemingly require long witnesses. The problems, parameterized by integers $C$ and $D$ are as follows:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Input:&lt;/strong&gt; A one-tape TM $M$&lt;br/&gt;&#xA;&lt;strong&gt;Question:&lt;/strong&gt; Is there some $n\in\mathbb{N}$, such that $M$ makes more than $Cn+D$ steps on some input of length $n$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Sometimes the complement of the problem is easier to state: &lt;em&gt;Does a given one-tape TM $M$ run in time $Cn+D$, ie. does it make at most $Cn+D$ steps on all inputs of size $n$, for all $n$?&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The full result is presented &lt;a href=&quot;http://arxiv.org/abs/1312.0496&quot;&gt;here&lt;/a&gt;. Basically, it is shown that if we want to verify whether a one-tape TM runs in time $Cn+D$, we only need to verify this on inputs of length bounded by $q^{O(C)}$, where $q$ is the number of states of the input TM. So the witness would be the input of length $q^{O(C)}$ for which the time bound is violated. It is also shown in the reference that these problems are NP-complete for all $C\geq 2$ and $D\geq 1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now if the witness is an input that violates the running time, it has to be of length $q^{\Omega(C)}$ in general. And the input is of length $O(q^2)$.&lt;/p&gt;&#xA;" OwnerUserId="7289" LastEditorUserId="7289" LastEditDate="2014-10-29T05:08:30.700" LastActivityDate="2014-10-29T05:08:30.700" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="27252" PostTypeId="1" AcceptedAnswerId="27266" CreationDate="2014-10-29T05:21:45.577" Score="6" ViewCount="226" Body="&lt;p&gt;I've seen pseudorandom generators defined for nonuniform efficient adversaries, or uniform probabilistic efficient adversaries.  (For example, a monograph &lt;em&gt;Pseudorandomness&lt;/em&gt; by Vadhan (&lt;a href=&quot;http://people.seas.harvard.edu/~salil/pseudorandomness/&quot; rel=&quot;nofollow&quot;&gt;here's its draft&lt;/a&gt; does that.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I believe that it's natural to think about pseudorandom generators indistinguishable by uniform &lt;em&gt;deterministic&lt;/em&gt; efficient adversaries.  Has that notion studied before?  Does it have any significance to some degree?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT: I was mistaken in that Vadhan defined pseudorandomness against uniform probabilistic adversaries: he did define indistinguishability by uniform probabilistic algorithms, but he neither defined, nor stated facts about, the corresponding notion of pseudorandomness.  My interest mostly concerned with uniform adversaries and my original question was about deterministic vs. probabilistic.&lt;/p&gt;&#xA;" OwnerUserId="7462" LastEditorUserId="7462" LastEditDate="2014-10-29T17:55:37.273" LastActivityDate="2014-10-30T17:26:16.310" Title="Pseudorandom generators indistinguishable by uniform deterministic adversaries" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;pseudorandomness&gt;&lt;pseudorandom-generators&gt;" AnswerCount="1" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="27259" PostTypeId="2" ParentId="12039" CreationDate="2014-10-29T19:13:29.467" Score="6" Body="&lt;p&gt;I just talked to Dan Doel and he explained that his reference was in fact one Neel Krishnaswami. He saw a comment on n-cafe by you that one could do strong induction using parametricity, so he went ahead and did it as an exercise, not realizing that doing it for sigma was apparently a novel result.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The precise quote: &quot;My reference was him. I thought he said it was possible, so I did it.&quot;&lt;/p&gt;&#xA;" OwnerUserId="351" LastActivityDate="2014-10-29T19:13:29.467" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27260" PostTypeId="2" ParentId="27201" CreationDate="2014-10-29T19:48:48.157" Score="-2" Body="&lt;p&gt;Found it:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;cyclic tag system to tag system p.669&lt;/p&gt;&#xA;&#xA;&lt;p&gt;glider p.678&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The pictures are very helpful!&lt;/p&gt;&#xA;" OwnerUserId="28714" LastActivityDate="2014-10-29T19:48:48.157" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27261" PostTypeId="2" ParentId="27143" CreationDate="2014-10-30T02:44:24.397" Score="4" Body="&lt;p&gt;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.51.4490&quot; rel=&quot;nofollow&quot;&gt;Don’t Stop the BIBOP: Flexible and Efficient Storage Management for Dynamically Typed Languages&lt;/a&gt;, by R. Kent Dybvig, David Eby, and Carl Bruggeman&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.cs.ru.nl/~james/RESEARCH/haskell2004.pdf&quot; rel=&quot;nofollow&quot;&gt;I am not a Number—I am a Free Variable&lt;/a&gt;, by Conor McBride and James McKinna&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://personal.cis.strath.ac.uk/neil.ghani/papers/ghani-tlca07.pdf&quot; rel=&quot;nofollow&quot;&gt;Initial Algebra Semantics is Enough!&lt;/a&gt;, by Neil Ghani and Patricia Johann&lt;/p&gt;&#xA;" OwnerUserId="351" LastActivityDate="2014-10-30T02:44:24.397" CommentCount="0" CommunityOwnedDate="2014-10-30T02:44:24.397" ContentLicense="CC BY-SA 3.0" />
  <row Id="27262" PostTypeId="1" AcceptedAnswerId="27307" CreationDate="2014-10-30T10:58:04.560" Score="10" ViewCount="164" Body="&lt;p&gt;Say I work in &lt;a href=&quot;http://en.wikipedia.org/wiki/Homotopy_type_theory&quot;&gt;homotopy type theory&lt;/a&gt; and my sole objects of study are conventional categories. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Equivalences here are given by functors $F:{\bf D}\longrightarrow{\bf C}$ and  $G:{\bf C}\longrightarrow{\bf D}$ which provide &lt;a href=&quot;http://en.wikipedia.org/wiki/Equivalence_of_categories&quot;&gt;equivalences of categories&lt;/a&gt; ${\bf C} \simeq {\bf D}$. There exist natural isomorphisms $\alpha:\mathrm{nat}(FG,1_{\bf C})$ and $\beta:\mathrm{nat}(GF,1_{\bf D})$ so that this functor and &quot;inverse&quot; functor are transformed to unit functor.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now &lt;a href=&quot;http://en.wikipedia.org/wiki/Homotopy_type_theory#Univalence_axiom&quot;&gt;univalence&lt;/a&gt; relates equivalences to the identity type ${\bf C}={\bf D}$ of the intentional type theory I have chosen to talk about categories. Since I only deal with categories and those are equivalent if they have isomorphic &lt;a href=&quot;http://en.wikipedia.org/wiki/Skeleton_%28category_theory%29&quot;&gt;skeletons&lt;/a&gt;, I wonder if I can express the univalence axiom in terms of passing to the skeleton of the categories. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Or, otherwise, can I define the identity type, i.e. the syntactic expression &#xA;${\bf C}={\bf D}:=\dots$&#xA;in a way which essentially says &quot;there is a skeleton (or isomorphi) and ${\bf C}$ and ${\bf D}$ are both equivalent to it.&quot;?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(In the above I try to interpret the type theory in terms of concepts which are easier to define - the category theoretical notions. I think about this because morally, it seems to me that the axiom &quot;corrects&quot; intentional type theory by hard-coding the &lt;a href=&quot;http://ncatlab.org/nlab/show/principle+of+equivalence&quot;&gt;principle of equivalence&lt;/a&gt;, which is already a natural part of the formulation of category theoretical statements, e.g. specifying objects only in terms universal properties.)&lt;/p&gt;&#xA;" OwnerUserId="7750" LastEditorUserId="77" LastEditDate="2014-11-02T13:54:36.667" LastActivityDate="2014-11-02T19:51:36.753" Title="Relating univalence for a theory of cateogries to the skeleton concept" Tags="&lt;type-theory&gt;&lt;ct.category-theory&gt;&lt;dependent-type&gt;&lt;equivalence&gt;&lt;homotopy-type-theory&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="27265" PostTypeId="1" CreationDate="2014-10-30T15:57:46.877" Score="18" ViewCount="925" Body="&lt;p&gt;I'd like to know if there have been conjectures that have long been unproven in TCS, that were later proven by an implication from another theorem, that may have been easier to prove. &lt;/p&gt;&#xA;" OwnerUserId="25556" LastEditorUserId="25556" LastEditDate="2014-11-02T15:52:44.290" LastActivityDate="2016-05-04T12:41:02.867" Title="Long-Standing Conjectures later trivially proved by an implication" Tags="&lt;reference-request&gt;&lt;soft-question&gt;&lt;big-list&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="27266" PostTypeId="2" ParentId="27252" CreationDate="2014-10-30T17:26:16.310" Score="7" Body="&lt;p&gt;Yes, this notion has been studied. One interesting aspect is that the two notions of pseudorandomness known to be equivalent under the usual adversaries, &quot;next bit predictability&quot; and &quot;indistinguishability&quot;, do not seem to be equivalent for deterministic adversaries. (If they were, we would have complexity class separations.) Here are three references; I'm sure there are more.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;O. Goldreich and A. Wigderson. &lt;a href=&quot;http://www.math.ias.edu/~avi/PUBLICATIONS/MYPAPERS/ODED/UBPP/RANDOM/proc.ps&quot;&gt;On pseudorandomness with respect to deterministic observers&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;O. Goldreich. &lt;a href=&quot;http://www.wisdom.weizmann.ac.il/~oded/PDF/bpp.pdf&quot;&gt;In a world of P=BPP&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;R. Williams. &lt;a href=&quot;http://www.stanford.edu/~rrwill/nexp-v-bpp.pdf&quot;&gt;Towards NEXP versus BPP?&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="225" LastActivityDate="2014-10-30T17:26:16.310" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27267" PostTypeId="1" AcceptedAnswerId="27270" CreationDate="2014-10-30T17:44:12.810" Score="1" ViewCount="142" Body="&lt;p&gt;The paper in question is &quot;&lt;a href=&quot;http://arxiv.org/abs/1204.5662&quot; rel=&quot;nofollow&quot;&gt;On the Usefulness of Predicates&lt;/a&gt;&quot;, Per Austrin, Johan Håstad (arXiv:1204.5662 [cs.CC]).  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;On page 13, Example 8.2 they define a predicate $P$ which is $GLST$ with an additional accepting predicate of all $1$'s. The claim is that this predicate can be shown approximation resistant with Theorem 8.3, which requires that $P$ accept all strings $x_1 x_2 x_3 x_4$ such that $\prod_1 ^3 x_i = -1$ and $x_3 = -x_4$.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In particular, $P$ should accept $(1,1,-1,1)$ but the definition of $GLST$ provided requires that $x_2 \ne x_4$. &lt;/p&gt;&#xA;" OwnerUserId="27174" LastActivityDate="2014-11-29T19:58:02.720" Title="Confusion in 2012 paper by Austrin and Håstad regarding hardness of approximating GLST" Tags="&lt;approximation-hardness&gt;&lt;csp&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="27268" PostTypeId="1" CreationDate="2014-10-30T17:53:42.697" Score="0" ViewCount="155" Body="&lt;p&gt;I'm looking for a data structure that can do the following geometric operation:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose there are a set of buckets $b_0, b_1..., b_n$ each of which contains some elements. Suppose I want to move all the elements in buckets $b_i$ where $i &amp;gt; k$ one bucket forward. So the elements in bucket $b_{k+1}$ would be moved to bucket $b_k$ and the elements in bucket $b_{k+2}$ would be moved to bucket $b_{k+1}$ and so on. The obvious way to move these elements is to go to each bucket and shift all the elements into the previous bucket. But is there a data structure that will allow me to move the buckets all at once?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I used buckets in the description because it's easier to formulate the question in terms of buckets. But the data structure doesn't necessarily have to be buckets. All I need is a data structure that can allow me to move &quot;chunks&quot; of elements in one go (for example shifting consecutive the buckets $x$ number of buckets forward all at once) and then allow me to query the structure as normal (for example, allow me to query $b_{k}$ now with all the elements shifted.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT: I'm mainly interested in whether an &lt;strong&gt;already existing&lt;/strong&gt; data structure that I'm not aware of does this.&lt;/p&gt;&#xA;" OwnerUserId="17736" LastEditorUserId="17736" LastEditDate="2014-10-30T18:39:36.900" LastActivityDate="2014-10-30T21:22:55.633" Title="Data structure that allows moving groups of elements into buckets" Tags="&lt;ds.algorithms&gt;&lt;ds.data-structures&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="27269" PostTypeId="1" AcceptedAnswerId="27275" CreationDate="2014-10-30T18:45:09.680" Score="3" ViewCount="275" Body="&lt;p&gt;I am trying to write a data structure that given a general tree (or forest) will support the following operations:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Edge deletion&lt;/li&gt;&#xA;&lt;li&gt;Connected(u,v) queries&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;This problem is addressed in section two of the following ACM journal article: &quot;&lt;a href=&quot;http://dl.acm.org/citation.cfm?id=322235&quot; rel=&quot;nofollow&quot;&gt;An On-Line Edge-Deletion Problem&lt;/a&gt;&quot;. The idea given claims to be able to carry out &lt;em&gt;q&lt;/em&gt; edge deletions in &lt;code&gt;O(q + |V|log|V|)&lt;/code&gt; time, while allowing constant time Connected(u,v) queries. The idea being: to maintain a table mapping each vertex to a connected component. Upon each deletion, each of the new trees is scanned in parallel. Which ever tree is finished being scanned first - becomes a new component. Now my question is, which graph representation can I use to implement their idea? On one hand I need to be able to delete an edge without having to scan an O(|V|) adjacency list, on the other hand, I need to be able to run a traversal (DFS) in O(|E|) = O(|V| (tree) time which can't happen using a matrix. &lt;/p&gt;&#xA;" OwnerUserId="20921" LastActivityDate="2015-03-03T10:25:39.707" Title="Graph (Forest) representation that supports edge deletion and efficient traversal" Tags="&lt;graph-algorithms&gt;&lt;tree&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27270" PostTypeId="2" ParentId="27267" CreationDate="2014-10-30T19:14:40.677" Score="1" Body="&lt;p&gt;Following Emil's suggestion and using trial and error, define $P'(x_1, x_2, x_3, x_4) \equiv P(-x_1, x_2, x_3, x_4)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Instances of $\text{CSP}(P')$ are isomorphic to instances of $\text{CSP}(P)$, via adding a negation in every constraint where $x_1$ appears. Then we apply the theorem on $P'$ after checking that the $\{3,4\}$ fourier coefficient is still positive. We can conclude $P'$ is resistant and therefore $P$ is as well.&lt;/p&gt;&#xA;" OwnerUserId="27174" LastActivityDate="2014-10-30T19:14:40.677" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="27271" PostTypeId="2" ParentId="20035" CreationDate="2014-10-30T21:03:33.220" Score="0" Body="&lt;p&gt;The answer is yes (if ASP reduction is used instead of Karp reduction). ASP reduction requires a polynomial time computable bijection between the solution sets of the two problems. This provides a parsimonious reduction between ASP-complete problems. &lt;a href=&quot;http://www-imai.is.s.u-tokyo.ac.jp/~yato/data2/SIGAL87-2.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Yato and Seta&lt;/a&gt; state that $ASP$-completeness imply $NP$-completeness (Page 2, second paragraph). Another solution problem (ASP) is exactly what I call Second X problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Oded Goldreich states the fact that &quot;all known reductions among &lt;strong&gt;natural&lt;/strong&gt; $NP$-complete problems are either parsimonious or can be easily modified to be so&quot;. ( &lt;a href=&quot;http://books.google.com.sa/books?id=EuguvA-w5OEC&amp;amp;pg=PA204&amp;amp;lpg=PA204&amp;amp;dq=natural+problem+parsimonious+reduction&amp;amp;source=bl&amp;amp;ots=ORhA93Hr6i&amp;amp;sig=3Oi_F70aiaVOZ2aYlQENBteqwV4&amp;amp;hl=en&amp;amp;sa=X&amp;amp;ei=dUBeVK3oHbGu7Abui4DQBQ&amp;amp;ved=0CB0Q6AEwAA#v=onepage&amp;amp;q=natural%20problem%20parsimonious%20reduction&amp;amp;f=false&quot; rel=&quot;nofollow noreferrer&quot;&gt;Computational Complexity: A Conceptual Perspective By Oded Goldreich&lt;/a&gt;). Therefore, it is plausible that Karp reductions between &lt;em&gt;natural&lt;/em&gt; NP-complete problems can be modified to be ASP reductions.&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2018-06-20T15:34:30.983" LastActivityDate="2018-06-20T15:34:30.983" CommentCount="9" ContentLicense="CC BY-SA 4.0" />
  <row Id="27272" PostTypeId="2" ParentId="27268" CreationDate="2014-10-30T21:22:55.633" Score="1" Body="&lt;p&gt;I don't quite know if this is what you were looking for since it is not a single data structure that has a name - but what you are asking for is easily implementable using just a linked list and a binary search tree:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Keep a single linked list where all the elements of bucket $i$ come before the elements of bucket $i+1$. On every link you can have a boolean flag - is this the same bucket or next bucket. Now doing the shift corresponds to setting the flag to &quot;same bucket&quot; from &quot;next bucket&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course you probably also want to maintain some way to see the first element of each bucket. A way to do this is to store the pointers to the first element of each bucket in a balanced binary search tree, such that the key of the pointer to bucket $i$ is $i$. The search tree should be able to: (a) given $i$, output the entry with the $i$'th lowest key and (b) delete entries from the search tree. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Merging bucket $i$ and $i+1$ now reduces to finding the entry in the search tree with the $i+1$'st lowest key, deleting this entry from the search tree, going to where it points in the list, and setting the flag of the arc pointing into this node in the list to &quot;same bucket&quot;. Thus all operations take $O(\log n)$ time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that after some &quot;shift&quot; operations are performed the key of the $i$'th bucket is no longer $i$, but it is the $i$'th lowest key stored in the search tree.&lt;/p&gt;&#xA;" OwnerUserId="27464" LastActivityDate="2014-10-30T21:22:55.633" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="27274" PostTypeId="1" CreationDate="2014-10-30T22:28:59.677" Score="5" ViewCount="73" Body="&lt;p&gt;This is a proof that I've gone back to many times over the last few years and while I can read it and easily verify the steps, it seems like it's a proof, where I will always essentially forget the details, i.e. if I read it today, I would struggle to write down a full proof tomorrow without actually spending quite a bit of effort. I'm talking about the proof that's e.g. in Goldreich's Foundations of Crypto book, which I believe is standard (I've never seen a different proof).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As complexity theory is not my field, I would hope that people who are more experienced in the field could make sense of the proof by answering the following questions:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;What part of the proof are completely standard techniques?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;What part of the proof if any is a &quot;trick&quot;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;The basic idea is easy: Given a weak one-way function, repeat it many times, so that any inverter of the repeated function needs to invert all the pieces. Dealing with the lack of independence in processing the components in the inversion is then the tricky part and I'm hoping that there's a way to split it up into standard arguments. At least understanding it in useful pieces that might be applicable elsewhere would be nice, if possible.&lt;/p&gt;&#xA;" OwnerUserId="28780" LastActivityDate="2014-10-30T22:28:59.677" Title="Understanding the weak-OWF exists -&gt; OWF exists proof" Tags="&lt;cr.crypto-security&gt;&lt;one-way-function&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27275" PostTypeId="2" ParentId="27269" CreationDate="2014-10-31T04:50:02.337" Score="3" Body="&lt;p&gt;This problem is known as Decremental Connectivity. In general, decremental connectivity is where you need to support the operations:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Connected($u$,$v$) : Check whether vertex $u$ is connected to vertex $v$&lt;/li&gt;&#xA;&lt;li&gt;Delete($e$): Remove an edge $e$&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Given $n$ queries of the first kind and $m$ queries of the second, Even and Shiloach [1] gave an $O(n\log{n} + m)$ algorithm and later, Alstrup et al. gave an $O(n+m)$ algorithm in [2].&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is a simple way to do the former using a data-structure known as the Euler Tour Trees or the approach taken in [1] could also be used. If you wish to implement [1], the tree is stored as a set of connected components. It is then enough to determine which component each vertex belongs to answer the connected-ness query. There is a breadth-first seach used to answer the deletion process. But it is $O(\log{n})$ amortized. This would achieve $O(n\log{n} + m)$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If the $\log{n}$ factor must be removed, then a leaf-trimming approach would work. You trim all subtrees with size $\geq\log{n}$. Then, you can use the Euler Tour Trees (or the approach in [1]) to perform queries in the untrimmed portion. Some cases could need to be seperately handled. This is the approach given in [2].&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] S. Even and Y. Shiloah. An on-line edge-deletion problem. Journal of the Assoiation for&#xA;Computing Mahinery, 28:1-4, 1981.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] Stephen Alstrup and Jens Peter Secher and Maz Spork. Optimal On-line Decremental Connectivity in Trees, IPL, 65:64-8, 1997&lt;/p&gt;&#xA;" OwnerUserId="26743" LastEditorUserId="26743" LastEditDate="2015-03-03T10:25:39.707" LastActivityDate="2015-03-03T10:25:39.707" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27279" PostTypeId="2" ParentId="27265" CreationDate="2014-10-31T12:40:40.973" Score="11" Body="&lt;p&gt;&lt;a href=&quot;https://www.renyi.hu/~p_erdos/1965-05.pdf&quot; rel=&quot;nofollow&quot;&gt;Erdös and Pósa&lt;/a&gt; proved that for any integer $k$ and any graph $G$ either $G$ has $k$ disjoint cycles or there is a set of size at most $f(k)$ vertices $S\in G$ such that $G\setminus S$ is a forest. (in their proof $f(k) \in O(k \cdot \log k)$). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The Erdös and Pósa property of a fixed graph $H$ known as the following (not a formal definition):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The class of graphs $\mathcal{C}$ admits the Erdös-Pósa property if there is a function $f$ such that for every graph $H\in \mathcal{C}$ and for any $k \in \mathbb{Z}$ and for any graph $G$ either there are $k$ disjoint isomorphic copy (w.r.t minor or subdivision) of $H$ in $G$ or there is a set of vertices $S\in G$, such that $|S|\le f(k)$ and $G\setminus S$ has no isomorphic copy of $H$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;After Erdös and Pósa's result for a class of cycles which are admitting this property, it was an open question to find a proper class $\mathcal{C}$. In &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/0095895686900304&quot; rel=&quot;nofollow&quot;&gt;graph minor V&lt;/a&gt; proved that every planar graph either has a bounded tree width or contains a big grid as a minor, by having the grid theorem in hand they showed that Erdös and Pósa property holds (for minor) if and only if $\mathcal{C}$ is a class of planar graphs. The problem still is open for subdivision, though. But the proof of theorem w.r.t minor is somehow simple and as best of my knowledge there is no proof without using the grid theorem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Recent &lt;a href=&quot;http://arxiv.org/abs/1603.02504&quot; rel=&quot;nofollow&quot;&gt;results for digraphs&lt;/a&gt;, provides answers for long standing open questions in the similar area for digraphs. e.g one very basic question was that is there a function $f$ such that for any graph $G$ and integers $k,l$, we either can find a set $S\subseteq V(G)$ of at most $f(k+l)$ vertices such that $G-S$ has no cycle of length at least $l$ or there are $k$ disjoint cycles of length at least $l$ in $G$. This is only a special case but for $l=2$ it was known as a Younger's conjecture. Before that Younger's conjecture was proven by Reed et al with quite a complicated approach. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's worth to mention that still there are some quite non-trivial cases in digraphs. e.g Theorem 5.6 in the above paper is just a positive extension of younger's conjecture to a small class of weakly connected digraphs, but with the knowledge and mathematical tools that we have it's not trivial (or maybe we don't know a simple argument for that). Perhaps by providing a better characterisation for those graphs, there will be an easier way to prove it.&lt;/p&gt;&#xA;" OwnerUserId="1846" LastEditorUserId="1846" LastEditDate="2016-05-04T12:41:02.867" LastActivityDate="2016-05-04T12:41:02.867" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27280" PostTypeId="1" CreationDate="2014-10-31T13:20:35.527" Score="9" ViewCount="643" Body="&lt;p&gt;Most current cryptography methods depend on the difficulty of factoring numbers that are the product of two large prime numbers. As I understand it, that is difficult only as long as the method used to generate the large primes cannot be used as a shortcut to factoring the resulting composite number (and that factoring large numbers itself is difficult).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It looks like mathematicians find better shortcuts from time to time, and encryption systems have to be upgraded periodically as a result. (There's also the possibility that quantum computing will eventually make factorization a much easier problem, but that's not going to catch anyone by surprise if the technology catches up with the theory.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some other problems are proven to be difficult. Two examples that come to mind are variations on the knapsack problem, and the traveling salesman problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I know that Merkle–Hellman has been broken, that Nasako–Murakami remains secure, and that knapsack problems may be resistant to quantum computing. (Thanks, Wikipedia.) I found nothing about using the traveling salesman problem for cryptography.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, why do pairs of large primes seem to rule cryptography?&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Is it simply because the it is currently easy to generate pairs of large primes that are easy to multiply but difficult to factor?&lt;/li&gt;&#xA;&lt;li&gt;Is it because factoring pairs of large primes is proven to be difficult to a predictable degree that is good enough?&lt;/li&gt;&#xA;&lt;li&gt;Are pairs of large primes useful in a way other than difficulty, such as the property of working for both encryption and cryptographic signing?&lt;/li&gt;&#xA;&lt;li&gt;Is the problem of generating problem sets for each of the other problem types that are difficult enough for the cryptographic purpose itself too difficult to be practical?&lt;/li&gt;&#xA;&lt;li&gt;Are the properties of other problem types insufficiently studied to be trusted?&lt;/li&gt;&#xA;&lt;li&gt;Other.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="28732" LastActivityDate="2014-11-26T18:59:56.760" Title="Why does most cryptography depend on large prime number pairs, as opposed to other problems?" Tags="&lt;cr.crypto-security&gt;&lt;primes&gt;" AnswerCount="2" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27282" PostTypeId="1" AcceptedAnswerId="27290" CreationDate="2014-10-31T16:18:05.633" Score="7" ViewCount="183" Body="&lt;p&gt;Green [1] showed that $PP^{PH}$ is properly contained in $PSPACE$ relative to &lt;em&gt;some&lt;/em&gt; oracle. Around the same time, in the famous &quot;voting polynomials&quot; paper [2], it was shown that $PP$ is properly contained in $PSPACE$ for a &lt;em&gt;random&lt;/em&gt; oracle.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Question&lt;/h2&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is it also true that $PP^{PH}$ is properly contained in $PSPACE$ relative to a &lt;em&gt;random&lt;/em&gt; oracle?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;h2&gt;Observations&lt;/h2&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;From what I understand, this can be proved by showing that &quot;small&quot; $AC^{0}$ circuits with a &lt;strong&gt;MAJORITY&lt;/strong&gt; gate at the root fail to compute the &lt;strong&gt;PARITY&lt;/strong&gt; function even on a (1/2+small)-fraction of inputs. I found such claim in Theorem 6 of [3]. Does this reasoning make sense? Am I interpreting Klivans' theorem in the right way?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;I wrote &quot;largest&quot; class in the title, because I am also interested in classes that have this same property and that are uncomparable with $PP^{PH}$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;h2&gt;Motivations&lt;/h2&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Nostalgia for 90s research :)&lt;/li&gt;&#xA;&lt;li&gt;I am looking at similar questions in quantum complexity theory.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;h2&gt;References&lt;/h2&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Frederic Green, &lt;a href=&quot;http://www.clarku.edu/~fgreen/papers/tac.ps&quot;&gt;An oracle separating $\oplus P$ from $PP^{PH}$&lt;/a&gt;, Information Processing Letters, '91&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;James Aspnes, Richard Beigel, Merrick Furst, and Steven Rudich, &lt;a href=&quot;http://www.cs.yale.edu/homes/aspnes/papers/stoc91voting-abstract.html&quot;&gt;The expressive power of voting polynomials&lt;/a&gt;, STOC '91&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Adam Klivans, &lt;a href=&quot;https://www.cs.utexas.edu/~klivans/ac3.ps&quot;&gt;On the Derandomization of Constant Depth Circuits&lt;/a&gt;, RANDOM '01&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="1542" LastActivityDate="2014-10-31T23:56:11.807" Title="&quot;Largest&quot; class properly contained in PSPACE for a random oracle" Tags="&lt;cc.complexity-theory&gt;&lt;circuit-complexity&gt;&lt;random-oracles&gt;" AnswerCount="1" CommentCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="27283" PostTypeId="2" ParentId="848" CreationDate="2014-10-31T18:47:40.697" Score="-9" Body="&lt;p&gt;why was my post deleted? I didn't do anything against the guidelines, i read the guidelines page!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'll post this AGAIN. The only way to get ternary logic to work in a computer, is to first understand that you must have 3 magnetic fields, from a 3 terminal powersource. This is a simple negative&gt;positive + a 3rd option.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But first, to whoever deleted my prior post, just because you do not enjoy reading the responses of people who can actually think for themselves and outside the box doesn't mean that person broke any rules. To others reading this, I posted a very good and informative response explaining how in theory a 3 state power system can work.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's very obvious to me you can have a 3 terminal (but still 2 pole) battery. All you need is Zinc for negative and copper for positive (very common, of course) and the 3rd is aluminum. In order for me to explain how it's possible to have a 3rd type of electric current i first have to explain how we understand color scales. Take the green, red and blue color scale. Doesn't matter which color you want to with. So we will say in this case red is positive and blue is negative. What are these colors combined? Purple! So what is the opposite of purple? GREEN! This is how you figure out the other metal. Combine zinc and copper and guess what, you have brass, what the ancient greeks were very fond of at some point in their time. So, just like we take purple and look at it's opposite, we find that the opposite of brass is aluminum. Now you have your third terminal's alkaline.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Ok, so now that we have that out of the way. It is now possible to have a 3rd current. What will happen, due to the aluminum being weaker than the zinc negative, but stronger than the copper positive, if you place the aluminum 3rd terminal in a position that makes all three triangular in placement, the zinc's stronger energy will obviously flow to both of the terminals. But in the case of zinc to aluminum, the electrons will flow around the metal, creating a circular field, instead of a forward one. The reason for this is because of the aluminum's stronger magnetic field relative to the copper. So it's &quot;pushing&quot; on the copper and is being pushed by the zinc. If you put them in your battery correctly, the 3rd terminal will by default have a circular magnetic field, and so will the wire connected to it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So why was my post deleted? Can you prove anything I just said wrong?&lt;/p&gt;&#xA;" OwnerUserId="28784" LastEditorUserId="28784" LastEditDate="2014-10-31T20:16:21.320" LastActivityDate="2014-10-31T20:16:21.320" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27285" PostTypeId="2" ParentId="27280" CreationDate="2014-10-31T19:15:10.583" Score="9" Body="&lt;p&gt;Boaz Barak addressed this in a &lt;a href=&quot;http://windowsontheory.org/2013/10/07/structure-vs-combinatorics-in-computational-complexity/&quot;&gt;blog post&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My takeaway from his post (roughly speaking) is that we only know how to design cryptographic primitives using computational problems that have some amount of structure, which we exploit. With no structure, we don't know what to do.  With too much structure, the problem becomes efficiently computable (thus useless for cryptographic purposes). It seems that the amount of structure has to be just right.&lt;/p&gt;&#xA;" OwnerUserId="3964" LastActivityDate="2014-10-31T19:15:10.583" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27286" PostTypeId="2" ParentId="27280" CreationDate="2014-10-31T20:19:03.253" Score="6" Body="&lt;p&gt;All of what I am going to say is well-known (all the links are to Wikipedia), but here it goes:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;The approach used in RSA using pairs of primes can also be applied in a more general framework of cyclic groups, notably the &lt;a href=&quot;http://en.wikipedia.org/wiki/Diffie%E2%80%93Hellman_key_exchange&quot; rel=&quot;nofollow&quot;&gt;Diffie-Helmann&lt;/a&gt; protocol that generalizes $\left(\mathbb{Z}/pq\mathbb{Z}\right)^{\times}$ to an arbitrary group, notably &lt;a href=&quot;http://en.wikipedia.org/wiki/Elliptic_curve_cryptography&quot; rel=&quot;nofollow&quot;&gt;elliptic curves&lt;/a&gt; which are less susceptible to the attacks that work on integers. Other group structures &lt;a href=&quot;http://en.wikipedia.org/wiki/Non-commutative_cryptography&quot; rel=&quot;nofollow&quot;&gt;have been considered&lt;/a&gt; which may be non-commutative but none are in widespread use AFAIK.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;There are other approaches to cryptography, notably &lt;a href=&quot;http://en.wikipedia.org/wiki/Lattice-based_cryptography&quot; rel=&quot;nofollow&quot;&gt;lattice-based cryptography&lt;/a&gt; that rely on certain hard problems on lattices (finding points with small norm on the lattice, for example) to implement public-key cryptography. Interestingly, some of these systems are &lt;em&gt;provably hard&lt;/em&gt;, i.e. can be broken if &lt;em&gt;and only if&lt;/em&gt; the corresponding hard problem in lattice theory can be solved. This is in contrast with, say RSA which &lt;a href=&quot;http://en.wikipedia.org/wiki/RSA_problem&quot; rel=&quot;nofollow&quot;&gt;does not offer the same guarentee&lt;/a&gt;. Note that the lattice based approach is conjectured to &lt;em&gt;not&lt;/em&gt; be NP-hard (but seems harder than integer factoring for now).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;There is a seperate concern to key sharing, namely &lt;em&gt;secret revealing&lt;/em&gt;, which has very interesting complexity theory properties. I don't know the details, but the theory of &lt;a href=&quot;http://en.wikipedia.org/wiki/Zero-knowledge_proof&quot; rel=&quot;nofollow&quot;&gt;zero-knowledge protocols&lt;/a&gt; allows Alice to reveal to Bob &lt;em&gt;her knowledge&lt;/em&gt; of a secret which is NP hard to compute (Graph Hamiltonian) without revealing the secret &lt;em&gt;itself&lt;/em&gt; (the path in this case).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Finally, you might want to check the page on &lt;a href=&quot;http://en.wikipedia.org/wiki/Post-quantum_cryptography&quot; rel=&quot;nofollow&quot;&gt;post-quantum cryptography&lt;/a&gt; to see some alternative approaches to public-key cryptosystems that rely on hard problems.&lt;/p&gt;&#xA;" OwnerUserId="3984" LastEditorUserId="3984" LastEditDate="2014-11-26T18:59:56.760" LastActivityDate="2014-11-26T18:59:56.760" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27287" PostTypeId="1" AcceptedAnswerId="27291" CreationDate="2014-10-31T20:48:03.003" Score="7" ViewCount="179" Body="&lt;p&gt;Consider the set $\mathcal{M}_{m,n}(\mathbb{Z})$ of $m$-by-$n$ matrices over, e.g., integers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We say that two matrices $A$, $B \in \mathcal{M}_{m,n}(\mathbb{Z})$ are &lt;em&gt;equivalent&lt;/em&gt; if $A$ can be obtained from $B$ by&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;permuting (i.e., swapping) rows and&lt;/li&gt;&#xA;&lt;li&gt;permuting integers (i.e., applying a bijection $\mathbb{Z} \to \mathbb{Z}$ to every element of $B$).&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Example:&#xA;$\left(\begin{matrix}1 &amp;amp; 0\\ 1 &amp;amp; 1\end{matrix}\right)$ is equivalent to $\left(\begin{matrix}0 &amp;amp; 0\\ 0 &amp;amp; 1\end{matrix}\right)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is the complexity of the &lt;em&gt;recognition problem&lt;/em&gt;, i.e., given two matrices, decide whether they are equivalent?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is the complexity of the &lt;em&gt;invariant problem&lt;/em&gt;, i.e., given a matrix $A$, calculate a complete invariant $f(A)$, that is, a function such that $A$ and $B$ are equivalent only if $f(A) = f(B)$?&lt;/p&gt;&#xA;" OwnerUserId="28796" LastActivityDate="2014-11-01T03:09:44.747" Title="What's the complexity of recognizing equivalence for the following relation?" Tags="&lt;cc.complexity-theory&gt;&lt;time-complexity&gt;&lt;equivalence&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="27288" PostTypeId="2" ParentId="27220" CreationDate="2014-10-31T22:21:12.740" Score="5" Body="&lt;p&gt;Following Simone's answer, Gerard Biau has several very good papers looking at convergence and consistency for random forests.  The analyses are for slightly simplified versions of the algorithm compared to Breiman 2001, but less simplified than previous results.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Biau's papers (along with his collaborators) are all available on his website:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.lsta.upmc.fr/BIAU/publications.html&quot;&gt;http://www.lsta.upmc.fr/BIAU/publications.html&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One that is particularly relevant are an &quot;in press&quot; work on consistency:  &lt;a href=&quot;http://www.lsta.upmc.fr/BIAU/sbv.pdf&quot;&gt;http://www.lsta.upmc.fr/BIAU/sbv.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are 2-3 other papers with random forest content.  I just joined cstheory, so I can't post more than two links but the above publications site has them all.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I hope this is of help.  It looks like there is a burst of recent activity since 2008, after a period of largely empirical use of the method.  And the good news is, theoretical investigations are seeming to show that the method is robust and has good properties.  &lt;/p&gt;&#xA;" OwnerUserId="28797" LastActivityDate="2014-10-31T22:21:12.740" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27289" PostTypeId="1" CreationDate="2014-10-31T22:28:15.287" Score="4" ViewCount="216" Body="&lt;p&gt;I'm wondering whether the following SAT variant is NP-complete or polynomial.&#xA;The formula given in input has n*m variables, and it has two parts.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A part with the n positive clauses:&#xA;$$(x_{1,1} \lor \dots \lor x_{1,m}) \land \\\dots\\(x_{n,1} \lor \dots \lor x_{n,m})$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;And a part with negative clauses with two variables:&#xA;$$ \neg x_{i,j} \lor \neg x_{k,l} $$ where $x_{i,j}$ and $x_{k,l}$ are part of the n*m variables mentioned above.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thank you for the help&lt;/p&gt;&#xA;" OwnerUserId="28798" LastActivityDate="2014-11-04T09:52:02.267" Title="SAT variant with almost disjoint clauses" Tags="&lt;cc.complexity-theory&gt;" AnswerCount="1" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="27290" PostTypeId="2" ParentId="27282" CreationDate="2014-10-31T23:56:11.807" Score="10" Body="&lt;p&gt;Yes, because $PP^{PH}=PP$ relative to a random oracle. Follows from &lt;a href=&quot;http://dx.doi.org/10.1137/0221023&quot;&gt;Toda-Ogihara&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="550" LastActivityDate="2014-10-31T23:56:11.807" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27291" PostTypeId="2" ParentId="27287" CreationDate="2014-11-01T03:09:44.747" Score="8" Body="&lt;p&gt;The recognition problem is equivalent to the graph isomorphism (recognition) problem, and the invariant problem is equivalent to the graph isomorphism invariant problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To reduce the current problem to graph isomorphism, given an &lt;i&gt;m&lt;/i&gt;×&lt;i&gt;n&lt;/i&gt; matrix &lt;i&gt;A&lt;/i&gt;, let &lt;i&gt;S&lt;/i&gt; be the set of integers which appear as an entry of &lt;i&gt;A&lt;/i&gt; at least once.  We construct a graph &lt;i&gt;G&lt;/i&gt;(&lt;i&gt;A&lt;/i&gt;) with &lt;i&gt;m&lt;/i&gt;+&lt;i&gt;m&lt;/i&gt;&lt;i&gt;n&lt;/i&gt;+|&lt;i&gt;S&lt;/i&gt;| labeled vertices as follows.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;For each row &lt;i&gt;i&lt;/i&gt;, the graph has a vertex &lt;i&gt;u&lt;/i&gt;&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt; labeled as “row.”&lt;/li&gt;&#xA;&lt;li&gt;For each cell (&lt;i&gt;i&lt;/i&gt;, &lt;i&gt;j&lt;/i&gt;), the graph has a vertex &lt;i&gt;v&lt;/i&gt;&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;i&gt;j&lt;/i&gt;&lt;/sub&gt; labeled as “cell in column &lt;i&gt;j&lt;/i&gt;.”&lt;/li&gt;&#xA;&lt;li&gt;For each integer &lt;i&gt;k&lt;/i&gt;∈&lt;i&gt;S&lt;/i&gt;, the graph has a vertex &lt;i&gt;w&lt;/i&gt;&lt;sub&gt;&lt;i&gt;k&lt;/i&gt;&lt;/sub&gt; labeled as “entry.”&lt;/li&gt;&#xA;&lt;li&gt;For each cell (&lt;i&gt;i&lt;/i&gt;, &lt;i&gt;j&lt;/i&gt;), connect &lt;i&gt;u&lt;/i&gt;&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;/sub&gt; and &lt;i&gt;v&lt;/i&gt;&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;i&gt;j&lt;/i&gt;&lt;/sub&gt; by an edge, and connect &lt;i&gt;v&lt;/i&gt;&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;i&gt;j&lt;/i&gt;&lt;/sub&gt; and &lt;i&gt;w&lt;/i&gt;&lt;sub&gt;&lt;i&gt;a&lt;/i&gt;&lt;sub&gt;&lt;i&gt;i&lt;/i&gt;&lt;i&gt;j&lt;/i&gt;&lt;/sub&gt;&lt;/sub&gt; by an edge.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Then it is not hard to see that two matrices &lt;i&gt;A&lt;/i&gt; and &lt;i&gt;B&lt;/i&gt; are equivalent in the sense stated in the question if and only if there is an isomorphism between &lt;i&gt;G&lt;/i&gt;(&lt;i&gt;A&lt;/i&gt;) and &lt;i&gt;G&lt;/i&gt;(&lt;i&gt;B&lt;/i&gt;) which preserves labels.  But the isomorphism problem of vertex-labeled graphs is known to be equivalent to the isomorphism problem of usual, unlabeled graphs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To reduce graph isomorphism to the current problem, given a graph &lt;i&gt;G&lt;/i&gt;=(&lt;i&gt;V&lt;/i&gt;, &lt;i&gt;E&lt;/i&gt;), consider each edge as two directed edges, and construct a 2|&lt;i&gt;E&lt;/i&gt;|×2 matrix &lt;i&gt;M&lt;/i&gt;(&lt;i&gt;G&lt;/i&gt;) by writing the two endpoints of each directed edge in one row.  Then again it is not hard to see that two graphs &lt;i&gt;G&lt;/i&gt; and &lt;i&gt;H&lt;/i&gt; are isomorphic if and only if &lt;i&gt;M&lt;/i&gt;(&lt;i&gt;G&lt;/i&gt;) and &lt;i&gt;M&lt;/i&gt;(&lt;i&gt;H&lt;/i&gt;) are equivalent in the sense stated in the question.&lt;/p&gt;&#xA;" OwnerUserId="567" LastActivityDate="2014-11-01T03:09:44.747" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27295" PostTypeId="1" AcceptedAnswerId="27320" CreationDate="2014-11-01T19:14:29.003" Score="3" ViewCount="137" Body="&lt;p&gt;Clarification: in Total Functional Programming terminology, a program terminates with useful input, while a coprogram doesn't necessarily terminates, and repeatedly produces useful input.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am investigating the relationship between model checking and type theory. &lt;a href=&quot;http://www.cs.ucla.edu/~palsberg/paper/esop05.pdf&quot; rel=&quot;nofollow&quot;&gt;It is straightforward to encode safety properties in the type of a program&lt;/a&gt;. It seems like typing coprograms would be the best way to check liveness properties, but where is the literature on the subject? I can't find any papers about the general case.&lt;/p&gt;&#xA;" OwnerUserId="27411" LastEditorUserId="27411" LastEditDate="2014-12-10T14:10:48.927" LastActivityDate="2014-12-10T14:10:48.927" Title="Typechecking liveness properties of coprograms" Tags="&lt;type-theory&gt;&lt;functional-programming&gt;&lt;model-checking&gt;" AnswerCount="2" CommentCount="6" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27297" PostTypeId="2" ParentId="27289" CreationDate="2014-11-01T20:05:30.063" Score="4" Body="&lt;p&gt;I don't know the Multicolored Clique Problem suggested by Daniello, however there is a simple reduction from 3SAT:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a 3SAT formula $\varphi$ over $n$ variables $x_1,...,x_n$; for each $x_i$ add two variables:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$y_{i}^T$ that represents $x_i = true$, and&lt;/li&gt;&#xA;&lt;li&gt;$y_{i}^F$ that represents $x_i = false$&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;and add the clause $(\neg y_{i}^T \lor \neg y_{i}^F)$ that represents the condition that $x_i$ cannot be both true and false.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally replace every clause   $C_j = (l_{j1} \lor l_{j2} \lor l_{j3})$ of $\varphi$ with a clause made of three positive literals $(y_{j1}^a \lor y_{j2}^b \lor y_{j3}^c)$ where:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$a = T$ if $l_{j1}= x_{j1}$, $b=F$ if $l_{j1} = \neg x_{j1}$&lt;/li&gt;&#xA;&lt;li&gt;$b = T$ if $l_{j2}= x_{j2}$, $b=F$ if $l_{j2} = \neg x_{j2}$&lt;/li&gt;&#xA;&lt;li&gt;$c = T$ if $l_{j3}= x_{j3}$, $b=F$ if $l_{j3} = \neg x_{j3}$&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;For example $(x_1 \lor \neg x_2 \lor \neg x_3)$ becomes: $(y_1^T \lor y_2^F \lor y_3^F)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In order to make every positive literal $y_i$ (that can be $y_i^T$ or $y_i^F$) occur only once in the upper part, you can use the following technique:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose that $y_i$ occurs twice, then you can simply replace the two occurrences with two new positive variables: $y_i'$ and $y_i''$ and add the conditions for: $y_i' \leftrightarrow y_i''$:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$(\neg y_i' \lor y_i'') \land (\neg y_i'' \lor y_i')$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;At this point repeat the split procedure ($y_i'$ becomes $y_i^{T'}$ and $\neg y_i'$ becomes $y_i^{F'}$):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$(\neg y_i^{T'} \lor \neg y_i^{F''}) \land (\neg y_i^{T''} \lor \neg y_i^{F'}) \land (y_i^{T'} \lor y_i^{F'}) \land (y_i^{T''} \lor y_i^{F''}) $$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;and add a dum clause to the upper part in order to include the $y_i^{F'}$ and  $y_i^{F''}$, for example: $(y_i^{F'} \lor y_i^{F''} \lor z_i)$, where $z_i$ is a new variable that can make the clause true.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $y_i$ occurs more than twice the procedure is similar.&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2014-11-04T09:52:02.267" LastActivityDate="2014-11-04T09:52:02.267" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="27298" PostTypeId="1" CreationDate="2014-11-01T20:53:15.310" Score="2" ViewCount="166" Body="&lt;p&gt;I'm looking through some lectures and books to understand the PCP verifier constructed by Hastad. I noticed that the subtle difference of an adaptive or non-adaptive PCP verifier seems to correspond to verifier with perfect or non-perfect completeness.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In &quot;A tight characterization of NP with 3 query PCPs&quot; the authors point out that there are (due to Trevisan and Zwick) strong restrictions using non-adaptive PCPs, e.g.&#xA;$$P = PCP_{1, \frac{5}{8} + \epsilon}(log(n), 3)$$&#xA;and they construct an adaptive PCP finally showing that $NP = PCP_{1, \frac{1}{2}+\epsilon}(log (n), 3)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then again the definition in the textbook from Arora, Barak (and in other lectures) uses explicitly non-adaptive verifiers with perfect completeness (well, with soundness $\frac{1}{2}$). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Could someone give further explanations on this? Are different definitions with soundness paramter $\frac{1}{2}$ equivalent?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;And one further question: Is it possible to construct a linear dictatorship test (as basis of the Hastad Verifier) which is complete AND non-adaptive?&lt;/p&gt;&#xA;" OwnerUserId="28692" LastActivityDate="2014-11-01T20:53:15.310" Title="Adaptive vs. non-adaptive PCP verifiers" Tags="&lt;adaptive&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="27300" PostTypeId="1" AcceptedAnswerId="27453" CreationDate="2014-11-02T08:37:33.897" Score="15" ViewCount="883" Body="&lt;p&gt;&lt;a href=&quot;https://complexityzoo.uwaterloo.ca/Complexity_Zoo:F#fewp&quot;&gt;FewP&lt;/a&gt; is the class of $NP$-problems with polynomial bound on the number of solutions (in the input size). There is no known $NP$-complete problem in $fewP$. I am interested in how far we can stretch this observation. &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there any natural $NP$-complete problem with quasi-polynomial upper bound on the number of solutions (witnesses)? Is there a widely accepted conjecture that would rule out such possibility?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Natural means that the problem is not an artificially made up problem to answer the question (or similar ones) and people are interested in the problem independently (as defined by Kaveh).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT:&lt;/strong&gt; The bounty will be awarded to such natural $NP$-complete problem or a reasonable argument ruling out the existence of such problems (using widely accepted complexity-theoretic conjectures).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Motivation:&lt;/strong&gt; My intuition is that $NP$-completeness imposes super-polynomial (or even exponential) lower bound on the number of witnesses.&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="419" LastEditDate="2014-11-09T20:39:27.093" LastActivityDate="2014-11-17T04:29:05.683" Title="$NP$-complete problem with quasi-polynomial bound on the number of solutions" Tags="&lt;cc.complexity-theory&gt;&lt;np&gt;" AnswerCount="1" CommentCount="24" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="27301" PostTypeId="1" CreationDate="2014-11-02T09:21:01.787" Score="7" ViewCount="592" Body="&lt;p&gt;Recently I found an interesting algorithm book entitled &lt;a href=&quot;http://books.google.com.hk/books?id=jfBGAAAAQBAJ&amp;amp;pg=PA1&amp;amp;lpg=PA1&amp;amp;dq=explaining+algorithms+using+metaphors&amp;amp;source=bl&amp;amp;ots=WzN9sRRw6e&amp;amp;sig=LZiwzBgOxMK_iXdijfTjQoX6ZFY&amp;amp;hl=en&amp;amp;sa=X&amp;amp;ei=TPBVVPLQO-TYmgW0t4KYBw&amp;amp;ved=0CEEQ6AEwBQ#v=onepage&amp;amp;q=explaining%20algorithms%20using%20metaphors&amp;amp;f=false&quot;&gt;'Explaining Algorithms Using Metaphors' (Google books)&lt;/a&gt; by Michal Forišek and Monika Steinová. &quot;Good&quot; metaphors help people understand and even visualize the abstract concepts and ideas behind algorithms. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example,&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;One well-known exposition of the shortest path using the balls-and-strings model&#xA;  looks as follows: To find the shortest path between $s$ and $t$, one just grabs the corresponding two balls and tries to pull them apart.  &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;My question:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;I would like to see as many metaphors as possible for computer science algorithms/concepts/ideas.&lt;br&gt;&#xA;  Do you know any? Do you have your own ones?     &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="12739" LastActivityDate="2015-03-05T13:23:18.743" Title="Explaining computer science algorithms/concepts/ideas using metaphors" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;soft-question&gt;&lt;big-list&gt;&lt;intuition&gt;" AnswerCount="4" CommentCount="2" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="27303" PostTypeId="1" AcceptedAnswerId="27308" CreationDate="2014-11-02T13:50:36.213" Score="4" ViewCount="243" Body="&lt;p&gt;The sentence $\bot\rightarrow A$ is provable in intuitionistic logic for any type $A$. The proof is trivial:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;\begin{align}&#xA;\bot&amp;amp;\vdash\bot \\&#xA;\hline&#xA;\bot&amp;amp;\vdash A \\&#xA;\hline&#xA;&amp;amp;\vdash\bot\rightarrow A&#xA;\end{align}&#xA;It means there has to be a lambda term with this type (the type has to be inhabited). What is it?&lt;/p&gt;&#xA;" OwnerUserId="28804" LastActivityDate="2014-11-02T22:01:35.880" Title="What is a term of the type $\bot\rightarrow A$?" Tags="&lt;lo.logic&gt;&lt;lambda-calculus&gt;&lt;typed-lambda-calculus&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27305" PostTypeId="2" ParentId="27265" CreationDate="2014-11-02T16:47:16.497" Score="4" Body="&lt;p&gt;the title of the question refers to &quot;trivial implications&quot; but the contents do not exactly specify that criteria, so this is a bit of a mixed message. one semifamous item/ example that comes close to the general theme is the proof of the (then ~4 decade old) &lt;a href=&quot;http://en.wikipedia.org/wiki/Strong_perfect_graph_theorem&quot; rel=&quot;nofollow&quot;&gt;Strong Perfect Graph Conjecture&lt;/a&gt; in 2002 by Maria Chudnovsky, Neil Robertson, Paul Seymour, and Robin Thomas. the problem of algorithmic complexity of recognition of perfect graphs turned out to be closely tied/ tightly to the proof mechanics of the strong perfect graph conjecture, although this was not exactly well understood or known prior to the proof of the conjecture. in other words there was an informal open conjecture that &quot;perfect graph recognition is in P&quot; (or &quot;low complexity&quot; etc) relatively quickly resolved by building on the analysis/ properties/ mechanics of the strong perfect graph theorem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.computer.org/csdl/proceedings/focs/2003/2040/00/20400020-abs.html&quot; rel=&quot;nofollow&quot;&gt;A polynomial algorithm for recognizing perfect graphs&lt;/a&gt; Gérard Cornuéjols, Xinming Liu, Kristina Vušković 2003&lt;/p&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2014-11-02T16:47:16.497" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27306" PostTypeId="1" AcceptedAnswerId="27319" CreationDate="2014-11-02T16:58:15.940" Score="21" ViewCount="557" Body="&lt;p&gt;When restricted to $0$-$1$ inputs, every $\{+,\times\}$-circuit $F(x_1,\ldots,x_n)$ computes some&#xA;function $F:\{0,1\}^n\to \mathbb{N}$. To obtain a &lt;i&gt;boolean&lt;/i&gt; function, we can just add&#xA;one fanin-1 threshold gate as the output gate. On input $a\in\{0,1\}^n$, the resulting &lt;i&gt;threshold&lt;/i&gt;  $\{+,\times\}$-&lt;i&gt;circuit&lt;/i&gt; then outputs $1$ if $F(a)\geq t$,&#xA;and outputs $0$ if $F(a)\leq t-1$; the threshold $t=t_n$ can be any positive integer, which may dependent on $n$ but not on input values. The resulting circuit computes some (monotone) &lt;i&gt;boolean&lt;/i&gt; function&#xA;$F':\{0,1\}^n\to \{0,1\}$.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;&lt;b&gt;Question:&lt;/b&gt; Can threshold $\{+,\times\}$-circuits be efficiently simulated by  $\{\lor,\land\}$-circuits?&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Under &quot;efficiently&quot; I mean &quot;with at most a polynomial increase of size.&quot;&#xA;The answer is clear &quot;yes&quot; for threshold $t=1$: just replace $+$ by $\lor$, $\times$ by $\land$, and remove the last threshold gate. That is, $\{\lor,\land\}$-circuits are in fact threshold-$1$ &#xA;$\{+,\times\}$-circuits.&#xA;But what about larger thresholds, say, $t=2$? &#xA;&lt;p&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One can define arithmetic analogues $\#C$ of most boolean circuit classes $C$ by just using $+$&#xA;instead of OR, $\times$ instead of AND, and $1-x_i$ instead of $\bar{x}_i$. &#xA;For example, $\#AC^0$ circuits&#xA;are $\{+,\times\}$-circuits of constant depth with unbounded fanin $+$ and $\times$ gates, and inputs $x_i$ and $1-x_i$. &#xA;&lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0022000099916756&quot; rel=&quot;nofollow&quot;&gt;Agrawal, Allender and Datta have shown&lt;/a&gt; that  threshold $\#AC^0$ = $TC^0$. (Recall that $AC^0$ itself is a &lt;i&gt;proper&lt;/i&gt; subset of $TC^0$; take, say, the Majority function.) In other words, constant-depth threshold circuits can be efficiently simulated by&#xA;constant-depth $\{+,-,\times\}$-circuits, with just a single threshold gate! &#xA;Note, however, that my question is about &lt;b&gt;monotone&lt;/b&gt; circuits (no Minus &quot;$-$&quot; as gates, and even no $1-x_i$ as inputs). Can one (last) threshold gate be so powerful also then?&#xA;I don't know this stuff, so any related pointers are welcome.&#xA;&lt;p&gt;&#xA;&lt;b&gt;N.B.&lt;/b&gt; There is yet another interesting related &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0020019097000070&quot; rel=&quot;nofollow&quot;&gt;result&lt;/a&gt;  due to Arnold Rosenbloom: $\{+,\times\}$-circuits with just one &lt;i&gt;monotone&lt;/i&gt; function $g:\mathbb{N}^2\to\{0,1\}$ as output gate can compute every slice function with $O(n)$ gates. &#xA;A slice function is a monotone boolean function which, for some fixed $k$, outputs $0$ (resp. $1$) on all inputs with less (resp., more) than $k$ ones. On the other hand, easy counting shows that most slice functions require general $\{\lor,\land,\neg\}$-circuits of exponential size. Thus, one &quot;innocent&quot; additional output gate &lt;i&gt;can&lt;/i&gt; make monotone circuits omnipotent! My question asks&#xA;whether this can also happen when $g:\mathbb{N}\to\{0,1\}$ is a fanin-$1$ threshold gate.&#xA;&lt;hr&gt;&#xA;&lt;b&gt;ACTUALIZATION&lt;/b&gt; (added 03.11.2014): Emil Je&amp;#345;&amp;#225;bek has shown (via an amazingly simple construction, see his answer below) that the answer is &quot;yes&quot; as long as  $t\leq n^c$ for a constant $c$.&#xA;So, the question remains open only for &lt;b&gt;super-polynomial&lt;/b&gt; (in $n$) thresholds.&#xA;&lt;p&gt;&#xA;Usually, in applications, only large thresholds do work: we usually need thresholds of the form $2^{n^{\epsilon}}$ for $\epsilon &amp;gt; 0$. Say, if $F:\{0,1\}^n\to \mathbb{N}$ &lt;i&gt;counts&lt;/i&gt; the number of $s$-$t$ paths in graph specified by the $0$-$1$ input, then for $t=m^{m^2}$ with $m\approx n^{1/3}$, the threshold-$t$ version of $F$ &lt;i&gt;solves&lt;/i&gt; the existence of a Hamiltonian $s$-$t$ path problem on $m$-vertex graphs (see, e.g. &lt;a href=&quot;http://www.cs.cmu.edu/~flac/pdf/NumberP.pdf&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;).&#xA;&lt;p&gt;&#xA;(Added 14.11.2014): Since Emil answered a big portion of my question, and since the case of exponential thresholds is not in sight, I now accept this Emil's (very nice) answer.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;" OwnerUserId="5788" LastEditorUserId="5788" LastEditDate="2014-11-14T13:21:28.757" LastActivityDate="2014-11-14T13:21:28.757" Title="Arithmetic circuits with just one threshold gate" Tags="&lt;circuit-complexity&gt;&lt;arithmetic-circuits&gt;&lt;cc-complexity-theory&gt;" AnswerCount="1" CommentCount="10" ContentLicense="CC BY-SA 3.0" />
  <row Id="27307" PostTypeId="2" ParentId="27262" CreationDate="2014-11-02T19:44:29.907" Score="11" Body="&lt;p&gt;I refer you to &lt;a href=&quot;http://books.google.si/books?id=LkDUKMv3yp0C&amp;amp;lpg=PP1&amp;amp;pg=PA303#v=onepage&amp;amp;q&amp;amp;f=false&quot;&gt;Chapter 9&lt;/a&gt; of the HoTT book. In particular, a &lt;em&gt;category&lt;/em&gt; is defined in such a way that isomorphic objects are equal, see &lt;a href=&quot;http://books.google.si/books?id=LkDUKMv3yp0C&amp;amp;lpg=PP1&amp;amp;pg=PA305#v=onepage&amp;amp;q&amp;amp;f=false&quot;&gt;Definition 9.1.6&lt;/a&gt;. As &lt;a href=&quot;http://books.google.si/books?id=LkDUKMv3yp0C&amp;amp;lpg=PP1&amp;amp;pg=PA306#v=onepage&amp;amp;q&amp;amp;f=false&quot;&gt;Example 9.1.15&lt;/a&gt; points out, there really isn't a reasonable notion of &quot;skeletality&quot; in HoTT. This is so because equality is so weak that it already means &quot;isomorphic&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Furthermore, &lt;a href=&quot;http://books.google.si/books?id=LkDUKMv3yp0C&amp;amp;lpg=PP1&amp;amp;pg=PA317#v=onepage&amp;amp;q&amp;amp;f=false&quot;&gt;Theorem 9.4.16&lt;/a&gt; says&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Theorem 9.4.16:&lt;/strong&gt; &lt;em&gt;If $A$ and $B$ are categories then the function $$(A = B) \to (A \simeq B)$$ (defined by induction on the identity functor) is an equivalence of types.&lt;/em&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The theorem tells us that the Univalence Axiom gives us a sort of cateory theorist's dream: equivalent categories are equal.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You ask whether you can reduce the Univalence axiom to a statement about categories. Attempts using skeletons won't work because there isn't a good way to say &quot;skeletal&quot;. We could ask whether Theorem 9.4.16 implies the Univalence axiom. This is not going to be the case, as far as I can see, because a category has a $1$-type (groupoid) of objects and a $0$-type (set) of morphisms, so theorem 9.4.16 amounts to something like the Univalence axiom for 1-types, only.&lt;/p&gt;&#xA;" OwnerUserId="705" LastEditorUserId="705" LastEditDate="2014-11-02T19:51:36.753" LastActivityDate="2014-11-02T19:51:36.753" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27308" PostTypeId="2" ParentId="27303" CreationDate="2014-11-02T20:06:39.763" Score="12" Body="&lt;p&gt;There are several ways of writing such a term, depending on how we write the proof terms for the elimination rule for $\bot$, which is&#xA;$$\frac{\quad\bot\quad}{A}$$&#xA;The corresponding rule in $\lambda$-calculus is&#xA;$$\frac{\Gamma \vdash e : \bot}{\Gamma \vdash \mathtt{absurd}_A(e) : A}.$$&#xA;(We call $\mathtt{absurd}_A$ an &lt;em&gt;eliminator&lt;/em&gt;.)&#xA;Thus, the term of type $\bot \to A$ you seek is simply&#xA;$$\lambda x : \bot \,.\, \mathtt{absurd}_A(x).$$&#xA;Another way of writing the same thing is with a $\mathtt{match}$ statement. To see how this works, let us first consider a $\mathtt{match}$ statement for disjunctions. The elimination rule for $\lor$ is&#xA;$$\frac{A \lor B \qquad {\begin{matrix}A \\ \vdots \\ C\end{matrix}} \qquad {\begin{matrix}B \\ \vdots \\ C\end{matrix}}}{C}$$&#xA;The corresponding term constructor for $\lambda$-calculus can be written as&#xA;$$\frac{\Gamma \vdash e_1 : A+B \qquad \Gamma, x : A \vdash e_2 : C \qquad \Gamma, y : B \vdash e_3 : C}{\Gamma \vdash (\mathtt{match}\;e_1\;\mathtt{with}\;\mathtt{inl}(x) \to e_2 \mid \mathtt{inr}(y) \to e_3 \; \mathtt{end}) : C}$$&#xA;In general, the $\mathtt{match}$ statement which eliminates an $n$-fold sum $A_1 + A_2 + \cdots + A_n$ has $n$ cases.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The empty type $\bot$ is like a nullary sum, so it corresponds to a $\mathtt{match}$ statement with zero cases:&#xA;$$\frac{\Gamma \vdash e : \bot}{\Gamma \vdash (\mathtt{match}\;e\;\mathtt{with}\;\mathtt{end}) : C}$$&#xA;Indeed, this is how you can do it in Coq:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;Definition ex_falso_quodlibet (A : Set) (x : Empty_set) : A :=&#xA;    match x with end.&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;" OwnerUserId="705" LastEditorUserId="898" LastEditDate="2014-11-02T22:01:35.880" LastActivityDate="2014-11-02T22:01:35.880" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="27312" PostTypeId="1" CreationDate="2014-11-03T06:14:54.947" Score="17" ViewCount="705" Body="&lt;p&gt;I am looking for one (or more) examples of a parametric class of algorithms $P_t$ for approximately solving a class $\cal A$ of algorithmic questions with the following properties: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) Solving the problems in $\cal A$ exactly or even approximately is computationally quite hard as a function of the input size $n$.    (What I have especially in mind is that it is P-complete, or as hard as solving linear equations, etc. but examples where approximating $\cal A$ is in another CC class are also welcome.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) For a fixed $t$ the algorithms in $P_t$ are computationally easy. (Here I am thinking about bounded depth circuits of various kind, maybe also $NC^1$ or $NC$.) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;3) The relation between $t$ and $n$ is such that $P_t$ is a practically good algorithm  (at least in some interesting regime for the input) for approximating solutions for problems in $\cal A$. Perhaps even coming close to our best available algorithms for approximating algorithm for the class $\cal A$ in some interesting regime.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So another way to put it: Are there practically good algorithms for approximately solving linear equations, computing determinants, linear programming, etc which are asymptotically in a very low computational complexity class - say bounded-depth computation? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The algorithmic question can be a decision problem, an optimization problem,  a sampling problem, or a problem of some other kind. (My motivating example came from a sampling problem.)&lt;/p&gt;&#xA;" OwnerUserId="712" LastEditorUserId="712" LastEditDate="2014-11-09T13:00:36.617" LastActivityDate="2014-11-09T13:00:36.617" Title="Practically Good Algorithms of a Very Low Computational Complexity Class" Tags="&lt;cc.complexity-theory&gt;&lt;approximation-algorithms&gt;" AnswerCount="0" CommentCount="10" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="27317" PostTypeId="2" ParentId="5018" CreationDate="2014-11-03T17:28:04.637" Score="62" Body="&lt;p&gt;If you really want to know what led Neil Robertson and me to tree-width, it wasn't algorithms at all. We were trying to solve Wagner's conjecture that in any infinite set of graphs, one of them is a minor of another, and we were right at the beginning. We knew it was true if we restricted to graphs with no k-vertex path; let me explain why. We knew all such graphs had a simple structure (more exactly, every graph with no k-vertex path has this structure, and every graph with this structure has no 2^k-vertex path); and we knew that in every infinite set of graphs all with this structure, one of them was a minor of another. So Wagner's conjecture was true for graphs with a bound on their maximum path length.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We also knew it was true for graphs with no k-star as a minor, again because we had a structure theorem for such graphs. We tried to look for more general minors that had corresponding structure theorems that we could use to prove Wagner's conjecture, and that led us to path-width; exclude ANY tree as a minor and you get bounded path-width, and if you have bounded path-width then there are trees you can't have as a minor. (That was a hard theorem for us; we had a tremendously hard proof in the first Graph Minors paper, don't read it, it can be made much easier.) But we could prove Wagner's conjecture for graphs with bounded path-width, and that meant it was true for graphs not containing any fixed tree as a minor; a big generalization of the path and star cases I mentioned earlier. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Anyway, with that done we tried to get further. We couldn't do general graphs, so we thought about planar graphs. We found a structure theorem for the planar graphs that did not contain any fixed planar graph as a minor (this was easy);&#xA;it was bounded tree-width. We proved that for any fixed planar graph, all the planar graphs that did not contain it as a minor had bounded tree-width. As you can imagine, that was really exciting; by coincidence, the structure theorem for excluding planar graphs (inside bigger planar graphs) was a natural twist on the structure theorem for excluding trees (inside general graphs). We felt we were doing something right. And that let us prove Wagner's conjecture for all planar graphs, because we had this structure theorem. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since tree-width worked for excluding planar graphs inside bigger planar graphs, it was a natural question whether it worked for excluding planar graphs inside non-planar graphs -- was it true that for every fixed planar graph, all graphs not containing it as a minor had bounded tree-width? This we couldn't prove for a long time, but that's how we got to thinking about tree-width of general graphs. And once we had the concept of tree-width, it was pretty clear that it was good for algorithms. (And yes, we had no idea that Halin had thought about tree-width already.)&lt;/p&gt;&#xA;" OwnerUserId="28818" LastActivityDate="2014-11-03T17:28:04.637" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="27318" PostTypeId="2" ParentId="27295" CreationDate="2014-11-03T18:10:17.087" Score="3" Body="&lt;p&gt;You could find a few examples in &lt;a href=&quot;http://www.cse.chalmers.se/~nad/publications/&quot; rel=&quot;nofollow&quot;&gt;Danielsson's papers&lt;/a&gt;, such as:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.cse.chalmers.se/~nad/publications/danielsson-parser-combinators.pdf&quot; rel=&quot;nofollow&quot;&gt;Total parser combinators&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.cse.chalmers.se/~nad/publications/danielsson-semantics-partiality-monad.pdf&quot; rel=&quot;nofollow&quot;&gt;Operational Semantics Using the Partiality Monad&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The key idea is to use the productivity of greatest fixpoints to guarantee liveness (&quot;eventually something happens&quot;).&lt;/p&gt;&#xA;" OwnerUserId="10744" LastActivityDate="2014-11-03T18:10:17.087" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27319" PostTypeId="2" ParentId="27306" CreationDate="2014-11-03T18:21:46.360" Score="16" Body="&lt;p&gt;The answer is “yes” if $t=n^{O(1)}$. More generally, a threshold $\{+,\cdot\}$-circuit of size $s$ with threshold $t$ can be simulated by a $\{\lor,\land\}$-circuit of size $O(t^2s)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First, observe that it is enough to evaluate the circuit in $\{0,\dots,t\}$ with truncated addition and multiplication: in particular, if $a,a'\ge t$, then $a+b,a'+b\ge t$, and either $ab,a'b\ge t$ as well, or $ab=a'b(=0)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;With this in mind, we can simulate the circuit with a Boolean monotone circuit by replacing each node $c$ with nodes $c_0,\dots,c_t$, where $c_i$ is intended to compute the predicate $c\ge i$. (We need $c_0$ only for notational convenience, it computes the constant $1$ function.) If $c$ is a Boolean input variable $x$, we take $c_1=x$, $c_2=\dots=c_t=0$. If $c$ is an addition gate, say $c=a+b$, we implement it via&#xA;$$c_i=\bigvee_{\substack{j,k\le t\\j+k\ge i}}(a_j\land b_k).$$&#xA;Multiplication gates are handled in the same way.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This takes $O(t^3)$ gates per one gate of the original circuit. As a minor optimization, we can reduce it to $O(t^2)$ by putting&#xA;\begin{align*}&#xA;c_t&amp;amp;=\bigvee_{j+k\ge t}(a_j\land b_k),\\&#xA;c_i&amp;amp;=c_{i+1}\lor\bigvee_{j+k=i}(a_j\land b_k),\qquad i&amp;lt;t,&#xA;\end{align*}&#xA;so that each $a_j\land b_k$ is used as an input of only one of the $c_i$ gates.&lt;/p&gt;&#xA;" OwnerUserId="6959" LastEditorUserId="6959" LastEditDate="2014-11-03T18:28:41.303" LastActivityDate="2014-11-03T18:28:41.303" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27320" PostTypeId="2" ParentId="27295" CreationDate="2014-11-03T19:54:03.347" Score="5" Body="&lt;p&gt;To expand on pedagand's answer: &lt;strong&gt;productivity&lt;/strong&gt; is the term used for the computational dual (in some precise sense) of termination. Formally, a program &lt;code&gt;f : CoData&lt;/code&gt; is &lt;em&gt;productive&lt;/em&gt; if running the computation &lt;code&gt;f&lt;/code&gt; &lt;em&gt;eventually&lt;/em&gt; produces a constructor of &lt;code&gt;CoData&lt;/code&gt;, and every (recursive) sub-term of that constructor is also productive.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;primes = filterBy prime [0..]&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;in haskell is productive, since there is an infinite number of prime numbers and so computing primes will always eventually produce a &lt;code&gt;cons&lt;/code&gt; constructor.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There has been a number of works on using types to check for productivity of a given definition. One nice overview is Abel, &lt;a href=&quot;http://www2.tcs.ifi.lmu.de/~abel/publications.html#tcs04&quot;&gt;Iteration and Coiteration Schemes for Higher-Order and Nested Datatypes&lt;/a&gt; from 2005.&lt;/p&gt;&#xA;" OwnerUserId="3984" LastActivityDate="2014-11-03T19:54:03.347" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27322" PostTypeId="1" CreationDate="2014-11-04T08:40:19.333" Score="15" ViewCount="906" Body="&lt;p&gt;&lt;em&gt;This question has also been posted on Math.SE,&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;em&gt;&lt;a href=&quot;https://math.stackexchange.com/questions/1002540/fixed-points-in-computability-nd-logic&quot;&gt;https://math.stackexchange.com/questions/1002540/fixed-points-in-computability-nd-logic&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;em&gt;I hope it is ok to also post it here. If not, or if it is too basic for CS.SE, please tell me and I will delete it.&lt;/em&gt;&lt;/p&gt;&#xA;&lt;hr /&gt;&#xA;&lt;p&gt;I would like to understand better the relation between fixed point theorems in logic and &lt;span class=&quot;math-container&quot;&gt;$\lambda$&lt;/span&gt;-calculus.&lt;/p&gt;&#xA;&lt;p&gt;&lt;em&gt;&lt;b&gt;Background&lt;/b&gt;&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;em&gt;1) The role of fixed points in incompleteness &amp;amp; undefinability of truth&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;As far as I understand, apart from the fundamental idea of internalizing logic, the key to both the proofs of &lt;em&gt;Tarski's undefinability of truth&lt;/em&gt; and &lt;em&gt;Goedel's incompleteness theorem&lt;/em&gt; is the following &lt;em&gt;logical fixed point theorem&lt;/em&gt;, living in a constructive, finitistic metatheory (I hope the formulation is ok, please correct me if something's incorrect or inprecise):&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;b&gt;Existence of fixed points in logic&lt;/b&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;em&gt;Suppose&lt;/em&gt; &lt;span class=&quot;math-container&quot;&gt;${\mathscr T}$&lt;/span&gt; is a sufficiently expressive, recursively enumerable theory over the language &lt;span class=&quot;math-container&quot;&gt;${\mathcal L}$&lt;/span&gt;, and let &lt;span class=&quot;math-container&quot;&gt;${\mathbf C}$&lt;/span&gt; be a coding of &lt;span class=&quot;math-container&quot;&gt;${\mathcal L}$&lt;/span&gt;-formulas in &lt;span class=&quot;math-container&quot;&gt;${\mathscr T}$&lt;/span&gt;, that is, an algorithm turning arbitrary well-formed &lt;span class=&quot;math-container&quot;&gt;${\mathcal L}$&lt;/span&gt;-formulas &lt;span class=&quot;math-container&quot;&gt;$\varphi$&lt;/span&gt; into &lt;span class=&quot;math-container&quot;&gt;${\mathcal L}$&lt;/span&gt;-formulas with one free variable &lt;span class=&quot;math-container&quot;&gt;${\mathbf C}(\varphi)(v)$&lt;/span&gt;, such that for any &lt;span class=&quot;math-container&quot;&gt;${\mathcal L}$&lt;/span&gt;-formula &lt;span class=&quot;math-container&quot;&gt;$\varphi$&lt;/span&gt; we have &lt;span class=&quot;math-container&quot;&gt;${\mathscr T}\vdash \exists! v: {\mathbf C}(\varphi)(v)$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;p&gt;&lt;em&gt;Then&lt;/em&gt; there exists an algorithm &lt;span class=&quot;math-container&quot;&gt;${\mathbf Y}$&lt;/span&gt; turning well-formed &lt;span class=&quot;math-container&quot;&gt;${\mathcal L}$&lt;/span&gt;-formulas in one free variable into closed well-formed &lt;span class=&quot;math-container&quot;&gt;${\mathcal L}$&lt;/span&gt;-formulas, such that for any &lt;span class=&quot;math-container&quot;&gt;${\mathcal L}$&lt;/span&gt;-formula in one free variable &lt;span class=&quot;math-container&quot;&gt;$\phi$&lt;/span&gt; we have &lt;span class=&quot;math-container&quot;&gt;$${\mathscr T}\vdash {\mathbf Y}(\phi)\Leftrightarrow \exists v: {\mathbf C}({\mathbf Y}(\phi))(v)\wedge \phi(v),$$&lt;/span&gt; which, interpreting &lt;span class=&quot;math-container&quot;&gt;${\mathbf C}$&lt;/span&gt; as a defined function symbol &lt;span class=&quot;math-container&quot;&gt;$\lceil -\rceil$&lt;/span&gt;, might also be written more compactly as&lt;span class=&quot;math-container&quot;&gt;$${\mathscr T}\vdash {\mathbf Y}(\phi)\Leftrightarrow \phi(\lceil{\mathbf Y}(\phi)\rceil).$$&lt;/span&gt;&lt;/p&gt;&#xA;&lt;p&gt;In other words, &lt;span class=&quot;math-container&quot;&gt;${\mathbf Y}$&lt;/span&gt; is an algorithm for the construction of fixed points with respect to &lt;span class=&quot;math-container&quot;&gt;${\mathscr T}$&lt;/span&gt;-equivalence of one-variable &lt;span class=&quot;math-container&quot;&gt;${\mathcal L}$&lt;/span&gt;-formulas.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;This has at least two applications:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Applying it to the predicate &lt;span class=&quot;math-container&quot;&gt;$\phi(v)$&lt;/span&gt; expressing &amp;quot;&lt;span class=&quot;math-container&quot;&gt;$v$&lt;/span&gt; codes a sentence which, when instantiated with its own coding, is not provable.&amp;quot; yields the formalization of &amp;quot;This sentence is not provable&amp;quot; which lies at the heart of Goedel's argument.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Applying it to &lt;span class=&quot;math-container&quot;&gt;$\neg\phi$&lt;/span&gt; for an arbitrary sentence &lt;span class=&quot;math-container&quot;&gt;$\phi$&lt;/span&gt; yields Tarski's undefinability of truth.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;em&gt;2) Fixed points in untyped &lt;span class=&quot;math-container&quot;&gt;$\lambda$&lt;/span&gt;-calculus&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;In untyped &lt;span class=&quot;math-container&quot;&gt;$\lambda$&lt;/span&gt;-calculus the construction of fixed points is important in the realization of recursive functions.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;b&gt;Existence of fixed points in &lt;span class=&quot;math-container&quot;&gt;$\lambda$&lt;/span&gt;-calculus:&lt;/b&gt;&lt;/p&gt;&#xA;&lt;p&gt;There is a &lt;em&gt;fixed point combinator&lt;/em&gt;, i.e. a &lt;span class=&quot;math-container&quot;&gt;$\lambda$&lt;/span&gt;-term &lt;span class=&quot;math-container&quot;&gt;$Y$&lt;/span&gt; such that for any &lt;span class=&quot;math-container&quot;&gt;$\lambda$&lt;/span&gt;-term &lt;span class=&quot;math-container&quot;&gt;$f$&lt;/span&gt;, we have &lt;span class=&quot;math-container&quot;&gt;$$f(Y f)\sim_{\alpha\beta} Yf.$$&lt;/span&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;&lt;em&gt;&lt;b&gt;Observation&lt;/b&gt;&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;What leaves me stunned is that the fixed point combinator &lt;span class=&quot;math-container&quot;&gt;$\lambda f.(\lambda x. f(x x))(\lambda x. f(x x))$&lt;/span&gt; in &lt;span class=&quot;math-container&quot;&gt;$\lambda$&lt;/span&gt;-calculus directly reflects, in a very clean and nontechnical way, the usual proof of the logical fixed point theorem:&lt;/p&gt;&#xA;&lt;p&gt;&lt;em&gt;Very roughly&lt;/em&gt;, given a formula &lt;span class=&quot;math-container&quot;&gt;$\varphi$&lt;/span&gt;, one considers the formalization &lt;span class=&quot;math-container&quot;&gt;$\varphi(v)$&lt;/span&gt; of the statement &amp;quot;&lt;span class=&quot;math-container&quot;&gt;$v$&lt;/span&gt; codes a sentence which, when instantiated with itself, satisfies &lt;span class=&quot;math-container&quot;&gt;$\phi$&lt;/span&gt;&amp;quot;, and puts &lt;span class=&quot;math-container&quot;&gt;${\mathbf A}(\phi) := \varphi(\lceil\varphi\rceil)$&lt;/span&gt;. The sentence &lt;span class=&quot;math-container&quot;&gt;$\varphi(v)$&lt;/span&gt; is like &lt;span class=&quot;math-container&quot;&gt;$\lambda x. f(x x)$&lt;/span&gt;, and &lt;span class=&quot;math-container&quot;&gt;$\varphi(\lceil\varphi\rceil)$&lt;/span&gt; corresponds to &lt;span class=&quot;math-container&quot;&gt;$(\lambda x. f(x x))(\lambda x. f(x x))$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;p&gt;&lt;em&gt;&lt;b&gt;Question&lt;/b&gt;&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;Despite its quickly described idea, I found the proof of the logical fixed point theorem quite technical and difficult to carry out in all details; Kunen does so for example in Theorem 14.2 of his 'Set Theory' book. On the other hand, the &lt;span class=&quot;math-container&quot;&gt;$Y$&lt;/span&gt;-combinator in &lt;span class=&quot;math-container&quot;&gt;$\lambda$&lt;/span&gt;-calculus is very simple and its properties are easily verified.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;em&gt;Does the logical fixed point theorem follow rigorously from fixed point combinators in &lt;span class=&quot;math-container&quot;&gt;$\lambda$&lt;/span&gt;-calculus?&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;E.g., can one model the &lt;span class=&quot;math-container&quot;&gt;$\lambda$&lt;/span&gt;-calculus by &lt;span class=&quot;math-container&quot;&gt;${\mathcal L}$&lt;/span&gt;-formulas up to logical equivalence, so that the interpretation of any fixed point combinator gives an algorithm as described in the logical fixed point theorem?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;hr /&gt;&#xA;&lt;p&gt;&lt;b&gt;&lt;em&gt;Edit&lt;/em&gt;&lt;/b&gt;&lt;/p&gt;&#xA;&lt;p&gt;In view of the many other instances of the same diagonalization argument described in Martin's and Cody's answers, one should rephrase the question:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;em&gt;Is there a common generalization of the diagonalization arguments following the principle expressed in the &lt;span class=&quot;math-container&quot;&gt;$Y$&lt;/span&gt;-combinator? &lt;span class=&quot;math-container&quot;&gt;$$\lambda f.(\lambda x. f(xx))(\lambda x.f(xx))$$&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;If I understand it correctly one proposal is &lt;em&gt;Lawvere's Fixed Point Theorem&lt;/em&gt;, see below. Unfortunately however I can't follow the relevant specializations in either of the articles that Martin cited in his answer, and I'd be happy if someone could explain them. First, for completeness:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;b&gt;&lt;em&gt;Lawvere's Fixed Point Theorem&lt;/em&gt;&lt;/b&gt;&lt;/p&gt;&#xA;&lt;p&gt;Let &lt;span class=&quot;math-container&quot;&gt;${\mathscr C}$&lt;/span&gt; be a category with finite products and &lt;span class=&quot;math-container&quot;&gt;$\varphi: A\times A\to Y$&lt;/span&gt; such that for any morphism &lt;span class=&quot;math-container&quot;&gt;$f: A\to Y$&lt;/span&gt; in &lt;span class=&quot;math-container&quot;&gt;${\mathscr C}$&lt;/span&gt; there is some &lt;span class=&quot;math-container&quot;&gt;$\lceil f\rceil: 1\to A$&lt;/span&gt; such that for all points &lt;span class=&quot;math-container&quot;&gt;$p: 1\to A$&lt;/span&gt;  one has &lt;span class=&quot;math-container&quot;&gt;$$1\xrightarrow{p} A\xrightarrow{\ f\ } Y\ \  =\ \  1\xrightarrow{p} A\xrightarrow{\langle \lceil f\rceil,\text{id}_A\rangle} A\times A\xrightarrow{\varphi} Y.$$&lt;/span&gt;&lt;/p&gt;&#xA;&lt;p&gt;Then for any endomorphism &lt;span class=&quot;math-container&quot;&gt;$g: Y\to Y$&lt;/span&gt;, putting &lt;span class=&quot;math-container&quot;&gt;$$f\ :=\ A\xrightarrow{\Delta} A\times A\xrightarrow{\varphi} Y\xrightarrow{g} Y,$$&lt;/span&gt; any choice of &lt;span class=&quot;math-container&quot;&gt;$\lceil f\rceil$&lt;/span&gt; gives rise to a fixed point of &lt;span class=&quot;math-container&quot;&gt;$g$&lt;/span&gt;, namely&#xA;&lt;span class=&quot;math-container&quot;&gt;$$1\xrightarrow{\langle\lceil f\rceil,\lceil f\rceil\rangle} A\times A\xrightarrow{\varphi} Y.$$&lt;/span&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;This is a statement in the (intuitionistic) first order theory of categories with finite products and hence applies to any model of the latter.&lt;/p&gt;&#xA;&lt;p&gt;&lt;em&gt;For example&lt;/em&gt;, taking the whole set theoretic universe as the domain of discourse gives Russel's paradox (take &lt;span class=&quot;math-container&quot;&gt;$A$&lt;/span&gt; the hypothetical set of sets, &lt;span class=&quot;math-container&quot;&gt;$Y := \Omega := \{0,1\}$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$\rho: A\times A\to\Omega$&lt;/span&gt; the &lt;span class=&quot;math-container&quot;&gt;$\in$&lt;/span&gt;-predicate) and Cantor's theorem (take &lt;span class=&quot;math-container&quot;&gt;$A$&lt;/span&gt; any set and &lt;span class=&quot;math-container&quot;&gt;$\rho: A\times A\to \Omega$&lt;/span&gt; corresponding to the hypothetical surjection &lt;span class=&quot;math-container&quot;&gt;$A\to\Omega^A$&lt;/span&gt;). Further, the translation of the proof of Lawvere's Theorem gives the usual diagonal arguments.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;em&gt;&lt;b&gt;More concrete problem:&lt;/b&gt;&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;em&gt;Can someone explain in detail an application of Lawvere's Theorem to partial recursive functions or the logical fixed point theorems? In particular, what categories do we need to consider there?&lt;/em&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;In  D. Pavlovic, &lt;a href=&quot;ftp://ftp.kestrel.edu/pub/papers/pavlovic/para-AML92.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;On the structure of paradoxes&lt;/a&gt;, the author considers the category freely generated by &lt;span class=&quot;math-container&quot;&gt;${\mathbb N}$&lt;/span&gt; with &lt;span class=&quot;math-container&quot;&gt;${\text{End}}({\mathbb N})$&lt;/span&gt; the partical recursive functions.&lt;/p&gt;&#xA;&lt;p&gt;Unfortunately, I don't understand what this means.&lt;/p&gt;&#xA;&lt;p&gt;For example, what should the composition law on &lt;span class=&quot;math-container&quot;&gt;$\text{End}({\mathbb N})$&lt;/span&gt; be? Composition of partial recursive functions? After all, it is said that Lawvere's theorem applies with &lt;span class=&quot;math-container&quot;&gt;$A=Y={\mathbb N}$&lt;/span&gt;, so that in particular any morphism &lt;span class=&quot;math-container&quot;&gt;${\mathbb N}\to{\mathbb N}$&lt;/span&gt; should have a fixed point &lt;span class=&quot;math-container&quot;&gt;$1\to {\mathbb N}$&lt;/span&gt;. If the endomorphisms are indeed just partial recursive functions and if composition means composition of functions, this seems odd - if points &lt;span class=&quot;math-container&quot;&gt;$1\to {\mathbb N}$&lt;/span&gt; are just elements of &lt;span class=&quot;math-container&quot;&gt;${\mathbb N}$&lt;/span&gt;, then the claim is wrong, and if a morphism &lt;span class=&quot;math-container&quot;&gt;$1\to {\mathbb N}$&lt;/span&gt; is only a partial function, too, hence can  be undefined, the fixed point theorem is trivial.&lt;/p&gt;&#xA;&lt;p&gt;What is the category one really wants to consider?&lt;/p&gt;&#xA;&lt;p&gt;Maybe the goal is to get Roger's fixed point theorem, but then one should somehow build a coding of partial recursive functions by natural numbers into the definition of the category, and I can't figure out how to do this.&lt;/p&gt;&#xA;&lt;p&gt;I'd be very happy if someone could explain the construction of a context to which Lawvere's Fixed Point Theorem applies, giving rise to a logical fixed point theorem or a fixed point theorem for partial recursive functions.&lt;/p&gt;&#xA;&lt;p&gt;Thank you!&lt;/p&gt;&#xA;" OwnerUserId="28788" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2014-11-16T07:51:29.550" Title="Fixed points in computability and logic" Tags="&lt;lo.logic&gt;&lt;computability&gt;&lt;lambda-calculus&gt;" AnswerCount="2" CommentCount="6" FavoriteCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="27324" PostTypeId="2" ParentId="27301" CreationDate="2014-11-04T12:11:20.560" Score="1" Body="&lt;p&gt;Water filling algorithm for channel allocation&#xA;&lt;a href=&quot;http://en.wikipedia.org/wiki/Water_filling_algorithm&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/Water_filling_algorithm&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="1746" LastActivityDate="2014-11-04T12:11:20.560" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27325" PostTypeId="2" ParentId="27322" CreationDate="2014-11-04T12:33:44.260" Score="7" Body="&lt;p&gt;I'm probably not directly answering your question, but there is a common mathematical generalisation of a lot of paradoxa, including G&amp;ouml;del's theorems and the Y-combinator.&#xA;I think this was first explored by Lawvere. See also [2, 3].&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;F. W. Lawvere, &lt;a href=&quot;http://www.tac.mta.ca/tac/reprints/articles/15/tr15.pdf&quot;&gt;Diagonal arguments and cartesian closed categories&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;D. Pavlovic, &lt;a href=&quot;ftp://ftp.kestrel.edu/pub/papers/pavlovic/para-AML92.pdf&quot;&gt;On the structure of paradoxes&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;N. S. Yanofsky, &lt;a href=&quot;http://arxiv.org/pdf/math/0305282.pdf&quot;&gt;A Universal Approach to Self-Referential Paradoxes,&#xA;Incompleteness and Fixed Points&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="898" LastEditorUserId="898" LastEditDate="2014-11-04T21:10:33.923" LastActivityDate="2014-11-04T21:10:33.923" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="27328" PostTypeId="1" CreationDate="2014-11-04T14:30:07.180" Score="5" ViewCount="343" Body="&lt;p&gt;We know that the decision version of Bin-packing problem is NP-complete:&#xA;Given an integer B, an integer k, and a list of integers X = (x1, x2, . . . , xn) where xi ∈ [0, B], is there any partition of X into k sublists, such that each sublist sums to at most B?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But what about the special case where the given numbers x_i's are as follows:&#xA;x_1 = 1, x_2 = 2, ... , x_n = n.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then is this case also NP-complete?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In general is there any reference that I can find all or many versions of Bin-packing problem, and the facts known about them?&lt;/p&gt;&#xA;" OwnerUserId="24175" LastEditorUserId="24175" LastEditDate="2014-11-05T14:15:19.123" LastActivityDate="2014-11-17T03:07:48.397" Title="Special case of Bin-packing problem" Tags="&lt;cc.complexity-theory&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="27330" PostTypeId="1" CreationDate="2014-11-04T14:46:47.623" Score="21" ViewCount="681" Body="&lt;p&gt;The following question arose as a side product of some work I have been part of recently.&#xA;An $m$ by $n$ $(0,1)$-matrix $M$ is partial circulant if it can be formed by taking the first $m$ rows of a &lt;a href=&quot;http://en.wikipedia.org/wiki/Circulant_matrix&quot; rel=&quot;nofollow noreferrer&quot;&gt;circulant matrix&lt;/a&gt; and all its entries are either $0$ or $1$.  We assume that $m\leq n$.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given such a partial circulant matrix $M$, what is the computational complexity of the following question?&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there a non-zero vector $v\in \{-1,0,1\}^n$ such that $Mv=0$?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The problem is clearly in NP but my guess is that it is not NP-hard (unlike &lt;a href=&quot;https://cstheory.stackexchange.com/questions/20277/decide-whether-a-matrixs-kernel-contains-any-non-zero-vector-all-of-whose-entri&quot;&gt;this related question&lt;/a&gt;).  I have not, however, found a poly time solution.&lt;/p&gt;&#xA;" OwnerUserId="1864" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2014-11-30T20:49:13.553" Title="Partial circulant matrices: Is there a non-zero vector $v\in \{-1,0,1\}^n$ such that $Mv=0$?" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;matrices&gt;" AnswerCount="0" CommentCount="2" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="27333" PostTypeId="2" ParentId="6256" CreationDate="2014-11-04T16:21:23.713" Score="1" Body="&lt;p&gt;(I'd rather write this as a comment, but I can't at present.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Correct me if I'm wrong, but as far as I understand, one more difference between pattern matching and term rewriting, apart from &lt;a href=&quot;https://cstheory.stackexchange.com/a/6266/10146&quot;&gt;what Martin Berger said in his excellent answer&lt;/a&gt;, is that pattern matching rules come with a &lt;em&gt;fixed order&lt;/em&gt; (in implementations like Haskell's), whereas with term rewriting rules this is not necessarily the case. This feature, as one would expect, can make a lot of difference when considering the behavior (in particular, termination) of the rules (see &lt;a href=&quot;https://www.haskell.org/tutorial/patterns.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;&quot;A Gentle Introduction to Haskell, Version 98&quot;, section 4.2&lt;/a&gt;, for example, or just the factorial example at &lt;a href=&quot;http://learnyouahaskell.com/syntax-in-functions&quot; rel=&quot;nofollow noreferrer&quot;&gt;&quot;Learn you a Haskell&quot;&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;People more knowledgeable in rewriting theory would have more to say on that (for example, how does typing fit such a comparison exactly?), but, it seems to me fair to agree with Martin Berger, in that &lt;em&gt;term rewriting can be seen to encompass pattern matching&lt;/em&gt; (at least as this is implemented in languages like Haskell), to the extent that both can be (rather dryly) viewed as devices which merely employ term-relating rules.&lt;/p&gt;&#xA;" OwnerUserId="10146" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:30.623" LastActivityDate="2014-11-04T16:32:01.903" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27334" PostTypeId="1" CreationDate="2014-11-04T17:23:42.877" Score="4" ViewCount="69" Body="&lt;p&gt;The topic of simultaneous embeddings of planar graphs is a common sight in the recent graph drawing literature. A recent survey of the topic is given by &lt;a href=&quot;http://arxiv.org/abs/1204.5853&quot; rel=&quot;nofollow&quot;&gt;Bläsius, Kobourov and Ritter&lt;/a&gt;. I am interested in the case of Simultaneous Embeddings with Fixed Edges (SEFE), which is the following problem:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Input:&lt;/strong&gt; Two graphs $G_1=(V_1,E_1)$ and $G_2=(V_2,E_2)$, sharing a common subgraph $G=(V=V_1 \cap V_2, E=E_1 \cap E_2)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Problem:&lt;/strong&gt; Do there exist planar embeddings of $G_1$ and $G_2$ such that the vertices and the edges of $G$ are mapped to the same vertices and Jordan arcs in both embeddings (i.e., do there exist two embeddings which agree on $G$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The complexity of SEFE is an open problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;According to the aforementioned survey, this problem can be solved in linear time when the intersection graph $G$ is a star, as it can be reduced to a variant of $2$-page embedding, for which an algorithm is known. However, looking at the &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S1570866711001183&quot; rel=&quot;nofollow&quot;&gt;corresponding paper&lt;/a&gt;, the input is slightly different: the vertex sets of $G_1$ and $G_2$ are assumed to be the same. Without this assumption, neither the reduction nor the &lt;a href=&quot;http://www-or.amp.i.kyoto-u.ac.jp/members/nag/Technical_report/TR2009-004.pdf&quot; rel=&quot;nofollow&quot;&gt;corresponding algorithm&lt;/a&gt; seem to adapt (at least the definition of splitters should be modified).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hence my questions:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Maybe I am missing something obvious: In general for the SEFE problem, is there an easy way to reduce the case of $V_1 \neq V_2$ to the equal vertex set case? (obviously one can just add copies of the exclusive vertices of $V_1$ to $V_2$ and vice versa, but this changes a lot the structure and the connectivity of the intersection graph, which is critical for most algorithms)&lt;/li&gt;&#xA;&lt;li&gt;If not, is a polynomial-time algorithm known to solve the SEFE problem when the intersection graph is a star but the vertex sets are different?&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="4871" LastEditorUserId="4871" LastEditDate="2014-11-04T17:40:23.717" LastActivityDate="2014-11-04T17:40:23.717" Title="On simultaneous embeddings with different vertex sets" Tags="&lt;planar-graphs&gt;&lt;graph-drawing&gt;" AnswerCount="0" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27337" PostTypeId="2" ParentId="27322" CreationDate="2014-11-04T21:15:47.103" Score="5" Body="&lt;p&gt;I don't have a complete answer to your question, but I do have this:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As per &lt;a href=&quot;http://en.wikipedia.org/wiki/Kleene%27s_recursion_theorem#Kleene.27s_second_recursion_theorem&quot;&gt;Wikipedia&lt;/a&gt; says&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;For every partial recursive function $Q(x, y)$ there exists an index $p$ such that&#xA;  $$ \varphi_p\simeq \lambda y.Q(p, y)$$&#xA;  where $\varphi$ is a bijection between $\mathbb{N}$ and the partial recursive functions.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Now it's pretty clear that this theorem is a consequence of the fix-point theorem in the $\lambda$-calculus. We can use this to prove a &lt;em&gt;variant&lt;/em&gt; of the logical-fixed point theorem:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;For every formula $\phi$ and r.e. theory ${\mathscr T}$ containing arithmetic, there exists an index $n$ such that&#xA;  $${\mathscr T}\vdash \phi(\overline{n}) \Leftrightarrow {\mathscr T}\vdash \exists y, \varphi_n(y)=0$$&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;This isn't quite what you want, but an internalization trick can give you the stronger statement&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;${\mathscr T}\vdash \phi(\overline{n})\leftrightarrow \exists y, \varphi_n(y) = 0$&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Now again, this is not quite the logical fixed-point theorem, but it can serve the same purpose.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Proof:&lt;/strong&gt;&#xA;  Define $Q(x,y)$ to be the recursive function defined by&#xA;  $$Q(x,y) = 0 \mbox{ iff }{\mathscr T}\vdash \phi(\overline{x})\mbox{ in at most $y$ steps} $$&#xA;  It is easy to see that $Q$ is (total) recursive. Note that $\exists y, Q(x, y)$ expresses the fact &quot;${\mathscr T}$ proves $\phi(\overline{x})$&quot;, and that this is true iff ${\mathscr T}\vdash\exists y,Q(\overline{x}, y)$ (we are assuming $\omega$-consistency). Now a simple application of the Kleene Recursion Theorem on $Q$ gives us the desired conclusion. $\square$&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;With a little thought, you can probably strengthen this argument to give you the full theorem directly without the internalization.&lt;/p&gt;&#xA;" OwnerUserId="3984" LastActivityDate="2014-11-04T21:15:47.103" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="27338" PostTypeId="1" CreationDate="2014-11-04T22:49:46.617" Score="0" ViewCount="165" Body="&lt;p&gt;Given a set of $n$ elements $e_1,...e_n$ where each element $i$ is associated with two positive integers $\alpha_i$ and $\beta_i$. Given another integer $\lambda$, the goal is to find a  set $S$ of elements such that $(\lambda - \sum_{e_i \in S}\alpha_i)^2 + \sum_{e_i \in S}\beta_i$ is minimize (for $\sum_{e_i \in S}\alpha_i &amp;lt; \lambda, a_i &amp;gt;0, b_i &amp;gt;0$).&#xA;i'm looking for an exact or an approximate polynomial solution (my tries shows that a greedy solution (with respect to $\beta$ or the additional cost does not yield good approximation).&lt;/p&gt;&#xA;" OwnerUserId="28755" LastEditorUserId="28755" LastEditDate="2014-11-05T11:27:43.053" LastActivityDate="2014-11-05T23:36:22.927" Title="Finding optimal subset for quadratic function" Tags="&lt;ds.algorithms&gt;&lt;optimization&gt;&lt;approximation&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27339" PostTypeId="2" ParentId="11272" CreationDate="2014-11-04T23:31:11.953" Score="3" Body="&lt;p&gt;No. Counterexample: the halting problem for MPAs is decidable in linear space: if the MPA has N states, we need |k|+2 bits of space to store the pebble locations, log N bits to store the current state and $\log(N(|k|+2))+|k|+2$ bits to store a counter; if the counter cycles, the simulated machine will never halt. This is linear in |k| (ignoring the O(N \log N) space required to describe the machine), as required.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since this language is decidable in linear space, it is also expressible as a DCSL.&lt;/p&gt;&#xA;" OwnerUserId="9049" LastActivityDate="2014-11-04T23:31:11.953" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27340" PostTypeId="2" ParentId="27338" CreationDate="2014-11-04T23:46:19.343" Score="5" Body="&lt;p&gt;For all $\beta_i = 0$, asking whether one can get objective function value $1$ is equivalent to &lt;a href=&quot;http://en.wikipedia.org/wiki/Subset_sum_problem&quot; rel=&quot;nofollow&quot;&gt;Subset Sum&lt;/a&gt;, and therefore NP-complete. Simple reductions from Subset Sum also prove that it is NP-complete to approximate the objective function within any factor polynomial in $n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We can reduce the $\beta_i = 0$ case to the case where $\beta_i = 1$ by just setting all $\beta_i$ values to $1$ and scaling both $\lambda$ and all $\alpha_i$'s by the same (large) integer factor. Then the $\beta_i$'s dont affect the objective function significantly anyway. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, if all the integers $\alpha_i$ are small, one can solve the problem in pseudo-polynomial time - similar to the &lt;a href=&quot;http://en.wikipedia.org/wiki/Knapsack_problem#Dynamic_programming&quot; rel=&quot;nofollow&quot;&gt;pseudo polynomial time algorithm for the Knapsack Problem&lt;/a&gt;. Thus for practical applications i'd expect that you can get good results by dividing down all the $\alpha_i$'s (and $\lambda$) by the same factor so that they become (relatively) small, round to the nearest integer, and solve using the Knapsack-like DP.&lt;/p&gt;&#xA;" OwnerUserId="27464" LastEditorUserId="27464" LastEditDate="2014-11-05T23:36:22.927" LastActivityDate="2014-11-05T23:36:22.927" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="27341" PostTypeId="2" ParentId="25118" CreationDate="2014-11-05T00:09:27.717" Score="2" Body="&lt;p&gt;One can show a lower bound for the data structure you are asking for under the Strong Exponential Time hypothesis. In particular, if all the entries have one bit, then one can use the data structure to do subset queries: i.e the data structure stores a family ${\cal F}$ of $N$ sets, each of size at most $k$. Then, the user may make &quot;subset&quot; queries - give a set $S$ and ask whether there is an $X \in {\cal F}$ such that $S \subseteq X$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Such a query can be supported if we have a &quot;universal index&quot; - if we look for the lexicographically first entry coming after $S$, where we sort first by the columns where $S$ is $1$ and then along the ones where $S$ is $0$ then any element appearing after $S$ according to this order must be a superset of $S$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, subset queries are equivalent to &quot;dot product = 0&quot; queries from &lt;a href=&quot;https://cstheory.stackexchange.com/questions/7719/a-data-structure-for-minimum-dot-product-queries/7736#7736&quot;&gt;this awesome answer by Ryan Williams&lt;/a&gt; - go read it. I will just summarize the effects of this answer on the universal index problem; assuming the &lt;a href=&quot;http://en.wikipedia.org/wiki/Exponential_time_hypothesis&quot; rel=&quot;nofollow noreferrer&quot;&gt;Strong Exponential Time Hypothesis&lt;/a&gt; one can't support queries with running time $O(poly(k)N^{0.99})$, even if the family ${\cal F}$ is given in advance and we only have queries of type $3$ (i.e the data structure is static), and we have $poly(N,k)$ pre-processing time. &lt;/p&gt;&#xA;" OwnerUserId="27464" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2014-11-05T00:09:27.717" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27342" PostTypeId="2" ParentId="12196" CreationDate="2014-11-05T01:00:08.630" Score="3" Body="&lt;p&gt;There are two separate issues here. &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;How to use efficient solvers for $Ax=b$ in order to apply $A^{1/2}b$.&lt;/li&gt;&#xA;&lt;li&gt;How to compute the determinant.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;The short answers are 1) use rational matrix function approximations, and 2) you don't, but you don't need to anyways. I address both of these issues below.&lt;/p&gt;&#xA;&#xA;&lt;h3&gt;Matrix square root approximations&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;The idea here is to convert a rational function approximation for scalar functions into a rational function approximation for matrix functions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We know that there exist rational functions that can approximate the square root function extremely well,&#xA;$$\sqrt{x} \approx r(x) := \frac{a_1}{x+b_1} + \frac{a_2}{x+b_2} + \dots + \frac{a_N}{x+b_N},$$&#xA;for positive $b_i$. Indeed, to get high accuracy on the interval $[m,M]$, you need $O(\log \frac{M}{m})$ terms in the series. To get the appropriate weights ($a_i$) and poles ($-b_i$), just look up rational function approximation online or in a book.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now consider applying this rational function to your matrix:&#xA;$$r(A) = a_1(A + b_1 I)^{-1} + a_2(A + b_2 I)^{-1} + \dots + a_N(A + b_N I)^{-1}.$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Owing to the symmetry of $A$, we have&#xA;\begin{align}&#xA;||A^{1/2} - r(A)||_2 &amp;amp;= ||U\left(\Sigma^{1/2} - r(\Sigma)\right)U^*||_2, \\&#xA;&amp;amp;= \max_i |\sqrt{\sigma_i} - r(\sigma_i)|&#xA;\end{align}&#xA;where $A = U \Sigma U^*$ is the singular value decomposition (SVD) of $A$. So, the quality of the rational matrix approximation is equivalent to the quality of the rational function approximation at the location of the eigenvalues.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Denoting the condition number of $A$ by $\kappa$, we can apply $A^{1/2}b$ to any desired tolerance by performing $O(\log \kappa)$ positively shifted graph Laplacian solutions of the form,&#xA;$$(A + bI)x=b.$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;These solutions can be done with your favorite graph Laplacian solver—I prefer multigrid type techniques, but the one in the paper you cite should be fine, too. The extra $bI$ only helps the convergence of the solver.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For an excellent paper discussing this, as well as more general complex analysis techniques that apply to nonsymmetric matrices, see &lt;em&gt;&lt;a href=&quot;http://dx.doi.org/10.1137/070700607&quot; rel=&quot;nofollow&quot;&gt;Computing $A^α$, $\log(A)$, and related matrix functions by contour integrals&lt;/a&gt;&lt;/em&gt;, by Hale, Higham, and Trefethen (2008).&lt;/p&gt;&#xA;&#xA;&lt;h3&gt;Determinant &quot;computation&quot;&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;The determinant is harder to compute. As far as I know, the best way is to compute the &lt;a href=&quot;http://en.wikipedia.org/wiki/Schur_decomposition&quot; rel=&quot;nofollow&quot;&gt;Schur decomposition&lt;/a&gt; $A = Q U Q^*$ using the QR algorithm, then read off the eigenvalues from the diagonal of the upper-triangular matrix $U$. This takes $O(n^3)$ time, where $n$ is the number of nodes in the graph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, calculating determinants is an inherently ill-conditioned problem, so if you ever read a paper that relies on computing determinants of a large matrix, you should be very skeptical of the method. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Luckily, you probably don't actually need the determinant. For example, &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;To draw samples from a single Gaussian distribution $N(0,A^{-1})$, the normalization constant is the same at all points so you never need to compute it.&lt;/li&gt;&#xA;&lt;li&gt;If your Laplacian matrix $A = A_x$ represents the inverse covariance of a local Gaussian approximation at point $x$ to a non-Gaussian distribution, then the determinant does indeed change from point to point. However, in every effective sampling scheme I know (including Markov chain Monte Carlo, importance sampling, etc.) what you really need is the &lt;em&gt;determinant ratio&lt;/em&gt;,&#xA;$$\det(A_{x_0}^{-1}A_{x_p}),$$&#xA;where $x_0$ is the current point, and $x_p$ is the proposed next sample.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;We can view $A_{x_0}^{-1}A_{x_p}$ as a low-rank update to the identity,&#xA;$$A_{x_0}^{-1}A_{x_p} = I + Q D Q^*,$$&#xA;where the effective numerical rank, $r$, of the low-rank update is a local measure of how non-Gaussian the true distribution is; typically this is much lower than the full rank of the matrix. Indeed, if $r$ is large, then the true distribution is locally so non-Gaussian that one ought to question the whole strategy of trying to sample this distribution using local Gaussian approximations. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The low-rank factors $Q$ and $D$ can be found with &lt;a href=&quot;http://arxiv.org/pdf/0909.4061.pdf&quot; rel=&quot;nofollow&quot;&gt;randomized SVD&lt;/a&gt; or Lanczos by applying the matrix &#xA;$$A_{x_0}^{-1}A_{x_p} -I$$&#xA;to $O(r)$ different vectors, each application of which requires one graph Laplacian solution. Thus the overall work for getting these low rank factors is $O(r \max(n,E))$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Knowing $D = \text{diag}(d_1,d_2,\dots,d_r)$, the determinant ratio is then&#xA;$$\det(A_{x_0}^{-1}A_{x_p}) = \det(I + Q D Q^*) = \exp\left(\sum_{i=1}^r \log d_i\right).$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;These low rank determinant ration calculation techniques can be found in &lt;em&gt;&lt;a href=&quot;http://dx.doi.org/10.1137/110845598&quot; rel=&quot;nofollow&quot;&gt;A Stochastic Newton MCMC Method for Large-Scale Statistical Inverse Problems with Application to Seismic Inversion&lt;/a&gt;&lt;/em&gt;, by Martin, et al. (2012). In this paper it is applied to continuum problems, so the &quot;graph&quot; is a grid in 3D space and the graph Laplacian is the actual Laplacian matrix. However, all the techniques apply to general graph Laplacians. There are probably other papers applying this technique to general graphs by now (the extension is trivial and basically what I just wrote).&lt;/p&gt;&#xA;" OwnerUserId="9018" LastEditorUserId="4193" LastEditDate="2014-11-05T15:08:45.343" LastActivityDate="2014-11-05T15:08:45.343" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27343" PostTypeId="1" CreationDate="2014-11-05T02:31:43.450" Score="1" ViewCount="55" Body="&lt;p&gt;This is a question about the usage of &quot;indicate substitution by priming metavariables&quot;.&#xA;For example, in the separation logic(it is not important whether familiar to this logic), I can understand the allocation rule, i.e., from a state that the memory is empty, and execute the command $v:=cons(\overline{e})$, then the result is the momery is allocated. the rule is as following&#xA;$$\overline{\{emp\} ~~v:=con(\overline{e})~~\{v\mapsto \overline{e}\}}$$&#xA;where $v$ is not free in $\overline{e}$, abbreviate $e_1, ...,e_n$ by $\overline{e}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Explanation:precondition $emp$,as a assertion, denotes the empty memory. &#xA;$v:=cons(\overline{e})$ denote allocate the a new block of memory consisting of $n$ cells, the $i$th cell has the content $e_i$ and give the block address to the variable $v$, then the postcondition is that the memory is  the block which is referenced by $v$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The following is where &quot;indicate substitution by priming metavariables&quot; happens.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the above rule, we indicate substitution by priming metavariables denoting expressions and assertions, e.g., we write $e_i'$ for $e_i/v\to v'$. we also abbreviate $e_1, ...,e_n$ by $\overline{e}$ and $e_1',...,e_n'$ by $\overline{e}'$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;the above allocation rule turns to be&#xA;$$\overline{\{v=v'\land emp\} ~~v:=con(\overline{e}) ~~\{v\mapsto \overline{e}'\}}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is what's the meaning of &quot;write $e_i'$ for $e_i/v\to v'$&quot;?,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;and what the meaning of $v=v'$, $v\mapsto \overline{e}'$  in above rule?&lt;/p&gt;&#xA;" OwnerUserId="28845" LastEditorUserId="12739" LastEditDate="2014-11-05T08:17:48.353" LastActivityDate="2014-11-05T08:17:48.353" Title="what is the meaning of &quot;indicate substitution by priming metavariables&quot;" Tags="&lt;lo.logic&gt;&lt;formal-methods&gt;" AnswerCount="0" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27345" PostTypeId="1" CreationDate="2014-11-05T09:36:38.417" Score="8" ViewCount="326" Body="&lt;p&gt;My question pertains to the proof of Ajtai's main theorem in his groundbreaking 1996 paper, &lt;em&gt;&lt;a href=&quot;http://dx.doi.org/10.1145/237814.237838&quot;&gt;Generating hard instances of lattice problems&lt;/a&gt;&lt;/em&gt;, which indicates a connection between worst-case hard and average-case hard lattice problems.&#xA;This proof is  difficult for me to understand. Is there a clear exposition of this proof in the literature? &lt;/p&gt;&#xA;" OwnerUserId="28850" LastEditorUserId="4193" LastEditDate="2014-11-05T15:59:52.743" LastActivityDate="2014-11-08T18:06:32.960" Title="Ajtai's Proof of Theorem 1 in 'Generating Hard Instances of Lattice Problems'" Tags="&lt;integer-lattice&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27346" PostTypeId="1" CreationDate="2014-11-05T14:18:34.710" Score="5" ViewCount="149" Body="&lt;p&gt;Given a random graph by the Erdős–Rényi model, if the minimal node degree is greater than 1 (or $\geq 2$), or randomly select a graph from the graphs with node degrees greater than 1 ($\geq 2$), what's the probability for it to be a Hamiltonian graph?&lt;/p&gt;&#xA;" OwnerUserId="28854" LastEditorUserId="5693" LastEditDate="2014-11-06T07:10:44.123" LastActivityDate="2014-11-06T07:10:44.123" Title="What's the probability for a random graph with degrees greater than 1 to be Hamiltonian?" Tags="&lt;hamiltonian-paths&gt;&lt;phase-transition&gt;&lt;random-graphs&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27347" PostTypeId="1" CreationDate="2014-11-05T15:07:26.260" Score="6" ViewCount="380" Body="&lt;p&gt;Scott Aaronson said in the paper entitled &quot;Why Philosophers Should Care About Computational Complexity&quot; (Please see &lt;a href=&quot;http://eccc.hpi-web.de/report/2011/108/&quot; rel=&quot;nofollow&quot;&gt;ECCC Report: TR11-108&lt;/a&gt;, section 7, pp 25-31):&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Following the work of Kearns and Valiant, we now know that many&#xA;  natural learning problems — as an example, inferring the rules of a&#xA;  regular or context-free language from random examples of grammatical&#xA;  and ungrammatical sentences — are computationally intractable.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;My question is: Which factors make the problem of inferring the grammar difficult? Is the introducing random examples of ungrammatical sentences? If so, what would happen if the condition of &quot;random examples of grammatical and ungrammatical sentences&quot; is replace with &quot;random examples of grammatical sentences with probability p&gt;0 and random examples of ungrammatical sentences with probability 1-p&quot;?&lt;/p&gt;&#xA;" OwnerUserId="28855" LastEditorUserId="20826" LastEditDate="2015-05-08T08:19:35.973" LastActivityDate="2015-05-08T08:19:35.973" Title="Which factors make the problem of inferring the grammar difficult?" Tags="&lt;cc.complexity-theory&gt;&lt;lg.learning&gt;&lt;grammars&gt;&lt;philosophy&gt;" AnswerCount="2" CommentCount="14" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="27348" PostTypeId="2" ParentId="25466" CreationDate="2014-11-05T15:15:59.510" Score="-1" Body="&lt;p&gt;In fact, given natural numbers $x$ and $N$, deciding whether $x$ is a square modulo $N$ or not is a typical decision problem. If you can solve this problem efficiently, then you can factor $N$ efficiently, too. &lt;/p&gt;&#xA;" OwnerUserId="28855" LastEditorUserId="6579" LastEditDate="2014-11-05T16:02:28.673" LastActivityDate="2014-11-05T16:02:28.673" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27351" PostTypeId="2" ParentId="27328" CreationDate="2014-11-05T18:26:53.117" Score="10" Body="&lt;p&gt;We wrote a paper related to that. &lt;a href=&quot;http://davidsjohnson.net/papers/BP1r.pdf&quot; rel=&quot;nofollow&quot;&gt;Perfect packing theorems and the average-case behavior of optimal and on-line packing&lt;/a&gt;, by Coffman, Courcoubetis, Garey, Johson, Shor, Weber, and Yannakakis.  See Theorem 1:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Perfect Packing Theorem:&lt;/strong&gt; &lt;em&gt;For positive integers k, j, and r, with k ≥ j, one can perfectly pack a list L consisting of rj items, r each of sizes 1 through j, into bins of size k if and only if the sum of the rj item sizes is a multiple of k.&lt;/em&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;You should note that this only solves the question when (for the OPs definition of $k$ and $n$) $k$ divides $\frac{1}{2}n(n+1)$. If anybody knows how to solve it for all $k$, they should definitely submit another answer.&lt;/p&gt;&#xA;" OwnerUserId="1677" LastEditorUserId="1677" LastEditDate="2014-11-17T03:07:48.397" LastActivityDate="2014-11-17T03:07:48.397" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27352" PostTypeId="2" ParentId="27346" CreationDate="2014-11-05T19:34:47.037" Score="6" Body="&lt;p&gt;The probability that a random graph with $n$ nodes and $cn\log n$ edges contains a Hamiltonian circuit tends to $1$ as $n\rightarrow\infty$ (and for sufficiently large $c$) (&lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/0012365X76900686&quot;&gt;Pósa 1976&lt;/a&gt;).  Since an ER random graph has $\Omega(n^2)$ edges, it is almost certainly Hamiltonian as $n\rightarrow \infty$, even without the constraint on the minimal degree.&lt;/p&gt;&#xA;" OwnerUserId="3183" LastActivityDate="2014-11-05T19:34:47.037" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27353" PostTypeId="1" CreationDate="2014-11-05T21:37:48.677" Score="12" ViewCount="490" Body="&lt;p&gt;Are there NP complete(or even NP-hard, or NP) problems that have good topological properties to study. Do NP problems have knot theoretic formulations? We know about #$P$ results about the Jones polynomial. Graph problems(embeddings?), specifically colourings of graphs can be seen to have nice knot theoretic properties. It is an open ended question, and any references for this topic appreciated. &lt;/p&gt;&#xA;" OwnerUserId="27305" LastActivityDate="2014-11-12T08:04:11.233" Title="Are there knot theoretic formulations of NP complete problems?" Tags="&lt;ct.category-theory&gt;&lt;np&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="27354" PostTypeId="1" CreationDate="2014-11-05T23:56:45.890" Score="5" ViewCount="106" Body="&lt;p&gt;Maximizing a general monotone submodular function $f$ under the constraint that $|S|\leq k$, can be approximated to $(1-1/e)$.  I am wondering if a better approximation algorithm exists if the function $f$ has these additional properties for any element $x$ and subset $S$:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;$f(\{x\}) \in \{0, 1, 2\}$&lt;/li&gt;&#xA;&lt;li&gt;$f(S \cup \{x\}) - f(S) \in \{0, 1, 2\}$&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;or even the more restricted properties : &lt;/p&gt;&#xA;&#xA;&lt;ol start=&quot;3&quot;&gt;&#xA;&lt;li&gt;$f(\{x\}) \in \{0, 1\}$&lt;/li&gt;&#xA;&lt;li&gt;$f(S \cup \{x\}) - f(S) \in \{0, 1\}$&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="22537" LastActivityDate="2014-11-05T23:56:45.890" Title="Maximizing a submodular function with restricted values" Tags="&lt;approximation-algorithms&gt;&lt;submodularity&gt;" AnswerCount="0" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27355" PostTypeId="2" ParentId="11272" CreationDate="2014-11-06T00:47:39.837" Score="3" Body="&lt;p&gt;Perhaps you can build a language in DPSACE(n) that cannot be recognized by a MPA with $k=1$ using a diagonalization argument (probably the idea is similar to the one in Ben's answer, but I didn't dig into it):&lt;br&gt;  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose that over alphabet $\Sigma = \{0,1\}$ you encode a MPA using a list of transitions:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$s,a,p \rightarrow s',p',L|R;...\#$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where $s$ is the current state, $a$ is the current symbol, $p$ is the pebble status, $s'$ is the new state, $p'$ is the new pebble state, $L|R$ is the move direction, $\#$ is an endmarker).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A Turing machine $M$ on input $x$ can check if it is a valid description of a $MPA_x$ and simulate it on input $x$ for $4^{|x|}$ steps using  $6|x|+\log|x|$ cells, stretching the input in this way:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt; MPA description # MPA tape # curr_state # counter #&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Where:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;MPA description is the original input string $x$ (has length $|x|$);&lt;/li&gt;&#xA;&lt;li&gt;MPA tape is the MPA tape representation: for every cell we can use 3 bits to store the head flag, pebble flag, and the (fixed) tape content (has length $3|x|$);&lt;/li&gt;&#xA;&lt;li&gt;curr_state store the current state of the MPA (has length $\log |x|$);&lt;/li&gt;&#xA;&lt;li&gt;counter is the simulation step counter that is update after each simulation step (has length $2|x|$).&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;If $MPA_x$ halts in $4^{|x|}$ steps then TM $M$ outputs the opposite (if it doesn't halt $M$ outputs 0).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For large enough $x &amp;gt; x_0$, the $4^{|x|}$ simulation steps are greater than $2^{|x|+2} |x| \log |x|$ which is greater than the length of a complete configuration description of  $MPA_x$; in this way if the $MPA_x$ doesn't halt in $4^{|x|}$ steps then we are sure that it will loop forever.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose that there is an $MPA_y$ that decides the same language $L$ of $M$, then it always halts and you can build a &quot;bigger&quot; $MPA_{y'}$ that decides the same language, with $y'&amp;gt;x_0$ (just add dum states).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By construction we have, $MPA_{y'}(y') = 1 - M(y') = 1 - MPA_{y'}(y')$ which is a contradiction.&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2014-11-06T09:10:52.933" LastActivityDate="2014-11-06T09:10:52.933" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27356" PostTypeId="1" CreationDate="2014-11-06T00:50:16.843" Score="8" ViewCount="218" Body="&lt;p&gt;There are quite a few theorems, mostly in graph theory and combinatorial optimization, that are often referred to as &lt;strong&gt;good characterizations.&lt;/strong&gt; They typically put a property in $NP\cap co-NP$, by showing that a property either holds, or else there is some well identified obstacle that prevents it from holding. Often they are presented as min-max theorems, see the earlier question &lt;a href=&quot;https://cstheory.stackexchange.com/questions/21060/optimization-problems-with-good-characterization-but-no-polynomial-time-algorit&quot;&gt;Optimization problems with good characterization, but no polynomial-time algorithm&lt;/a&gt; &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here are two classical examples of good characterizations:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;A bipartite graph either has a matching of size $k$, or else there are less than $k$ vertices that cover all edges. The existence of such a cover is a trivial obstacle that excludes the matching. If this obstacle is not there, the matching must exist, this is the nontrivial part, known as Konig's Theorem. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Either there is an $s-t$ flow of value $F$ in a flow graph, or else there is an $s-t$ cut with capacity less than $F$. Again, the existence of such a cut is a trivial obstacle, since then the flow cannot get through. The nontrivial part is that the absence of the obstacle already guarantees the existence of the flow of value $F$, which is equivalent to the Max Flow Min Cut Theorem. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;What I find a curious feature in these (and many other) results is that they show a well visible  asymmetry in the proof hardness between the two directions of the equivalence. Usually, it is easy, or even trivial, to prove that the obstacle excludes the considered property. On the other hand, it is much harder to prove that the easy/trivial obstacle is the &lt;em&gt;only&lt;/em&gt; obstacle, in the sense that once it is not there, the property must hold. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am not aware of  a good explanation why this type of asymmetry is so common. It does not appear a priori necessary. &lt;em&gt;Note:&lt;/em&gt; do not get misled by the fact that the above examples are both special cases of linear programming duality. There are other examples that have nothing to do with linear programming.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Question:&lt;/strong&gt; Do you know any good characterization that does &lt;strong&gt;not&lt;/strong&gt; fall in this category? (Admittedly, it is vaguely defined, but perhaps the idea got through.) In other words, I am looking for a theorem that puts a property in $NP\cap co-NP$, by capturing all possible obstacles of the property, but they are not all easy/trivial obstacles.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="12710" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2014-11-10T18:08:24.840" Title="A curious asymmetry in good characterizations" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;&lt;co.combinatorics&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="27358" PostTypeId="2" ParentId="27345" CreationDate="2014-11-06T04:42:36.830" Score="8" Body="&lt;p&gt;You can try reading more recent papers such as &lt;a href=&quot;http://cims.nyu.edu/~regev/papers/average.pdf&quot; rel=&quot;nofollow&quot;&gt;Worst-case to Average-case Reductions based on Gaussian Measures&lt;/a&gt; by Miccancio and Regev, or Regev's  &lt;a href=&quot;http://www.cims.nyu.edu/~regev/teaching/lattices_fall_2004/ln/averagecase.pdf&quot; rel=&quot;nofollow&quot;&gt;lecture notes&lt;/a&gt; on the subject (you might want to read through the &lt;a href=&quot;http://www.cims.nyu.edu/~regev/teaching/lattices_fall_2004/&quot; rel=&quot;nofollow&quot;&gt;entire course&lt;/a&gt;).&lt;/p&gt;&#xA;" OwnerUserId="40" LastEditorUserId="4896" LastEditDate="2014-11-08T18:06:32.960" LastActivityDate="2014-11-08T18:06:32.960" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27360" PostTypeId="2" ParentId="27353" CreationDate="2014-11-06T12:26:13.083" Score="9" Body="&lt;p&gt;There are a few references in the first paragraph of&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Marc Lackenby. A polynomial upper bound on Reidemeister moves. &lt;a href=&quot;http://arxiv.org/abs/1302.0180&quot; rel=&quot;nofollow&quot; title=&quot;arXiv:1302.0180&quot;&gt;arXiv:1302.0180&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;In particular, the author says that the problem of recognizing that a knot diagram represents the unknot is in $\mathbf{NP} \cap \mathbf{coNP}$, by combining a result of Hass-Lagarias-Pippenger (that unknottedness is in NP) with independent results of Agol and Kuperberg (that knottedness is in NP, the latter proving this under assumption of the generalized Riemann hypothesis).  The Agol result seems to be unpublished, but the other references are:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Joel Hass, Jeffrey C. Lagarias, Nicholas Pippenger. The Computational Complexity of Knot and Link Problems. J. ACM 46 (1999) 185-211. &lt;a href=&quot;http://arxiv.org/abs/math/9807016&quot; rel=&quot;nofollow&quot;&gt;arXiv:math/9807016&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Greg Kuperberg. Knottedness is in NP, modulo GRH. December 2011, revised January 2014. &lt;a href=&quot;http://arxiv.org/abs/1112.0845&quot; rel=&quot;nofollow&quot;&gt;arXiv:1112.0845&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I also found another related paper by Agol, Hass, and Bill Thurston, where they show that the more general problem of determining whether a knot [in an arbitrary closed 3-manifold] has genus at most $g$ is NP-complete:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Ian Agol, Joel Hass, William Thurston. 3-MANIFOLD KNOT GENUS is NP-complete. STOC 2002. &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=510016&quot; rel=&quot;nofollow&quot;&gt;ACM link&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I am interested in other examples as well. &lt;/p&gt;&#xA;" OwnerUserId="674" LastEditorUserId="674" LastEditDate="2014-11-12T08:04:11.233" LastActivityDate="2014-11-12T08:04:11.233" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="27362" PostTypeId="2" ParentId="27353" CreationDate="2014-11-06T14:44:02.443" Score="11" Body="&lt;p&gt;You can take a look to:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Peter Golbus, Robert W. McGrail, Tomasz Przytycki, Mary Sharac, and Aleksandar Chakarov. 2009. &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=1566503&amp;amp;dl=ACM&amp;amp;coll=DL&amp;amp;CFID=595548980&amp;amp;CFTOKEN=43280830&quot;&gt;Tricolorable torus knots are NP-complete&lt;/a&gt;. In Proceedings of the 47th Annual Southeast Regional Conference (ACM-SE 47). ACM, New York, NY, USA, , Article 42 , 6 pages. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Abstract:&lt;/strong&gt; This work presents a method for associating a class of constraint satisfaction problems to a three-dimensional knot. Given a knot, one can build a knot quandle, which is generally an infinite free algebra. The desired collection of problems is derived from the set of invariant relations over the knot quandle, applying theory that relates finite algebras to constraint satisfaction problems. This allows us to develop notions of tractable and NP-complete quandles and knots. In particular, we show that all tricolorable torus knots and all but at most 2 non-trivial knots with 10 or fewer crossings are NP-complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;and also to its seminal report: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;P. Golbus, R. W. McGrail, M. Merling, K. Ober, M. Sharac, and J. Wood. &lt;a href=&quot;http://www.math.jhu.edu/~mmerling/docs/knots.pdf&quot;&gt;The class of constraint satisfaction problems over a knot&lt;/a&gt;. Technical Report number&#xA;BARD-CMSC-2008-01, Bard College, 2008.&lt;/p&gt;&#xA;" OwnerUserId="3247" LastActivityDate="2014-11-06T14:44:02.443" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27364" PostTypeId="1" AcceptedAnswerId="27366" CreationDate="2014-11-06T19:02:27.957" Score="12" ViewCount="524" Body="&lt;p&gt;I am quite certain that I am not the first to entertain the idea that I am going to present.  However, it would be helpful if I can find any literature related to the idea.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The idea is to construct a Turing Machine M with the property that if P=NP then M will solve 3-SAT in polynomial time.  (The choice of 3-SAT is arbitrary.  It could be really any problem in NP).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Just to be clear, this is not a claim that P=NP.  In fact, I believe the opposite.  I merely state that if P=NP, then M will provide a polynomial-time solution.  If you are looking for an efficient solution, I should warn that this is far from efficient.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;M is constructed as follows:&#xA;first, assume a canonical encoding for all Turing Machines, and apply a numbering to these machines.  So, there is a Turing Machine number 1, a number 2, etc.  The idea of a Universal Turing Machine that can read the format for a provided machine and then simulate that machine's running on separate input is pretty well known.  M will employ a Universal Turing Machine to construct and simulate each Turing Machine in turn.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It first simulates the running of Turing Machine 1 for a single step.&lt;br&gt;&#xA;It then looks at the output of Turing Machine 1.&lt;br&gt;&#xA;It the simulates the running of Turing Machine 1 for two steps and looks at output,&#xA;then proceeds to simulate Turing Machine 2 for 2 steps.&#xA;It continues and loops in this fashion, in turn running Turing Machine 1 for k steps then 2 for k steps ... then eventually machine k for k steps.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;After each simulation run, it examines the output of the run.  If the output is an assignment of variables satisfying the 3-SAT problem instance, M halts in an accept state.  If on the other hand, the output is a proof-string in some verifiable proof-language with the proven result that the problem instance is not satisfiable, M halts in a reject state.  (For a proof-language, we could for example, use the Peano Axioms with Second-Order logic and the basic Hilbert-style logical axioms.  I leave it as an exercise for the reader to figure out that if P=NP, a valid proof-language exists and is polynomial-time verifiable).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I will claim here that M will solve 3-SAT in polynomial time if and only if P=NP.&#xA;Eventually, the algorithm will find some magical Turing Machine with number K, which just so happens to be an efficient solver for the 3-SAT problem, and is able to provide a proof of its results for either success or failure.  K will eventually be simulated running poly(strlen(input)) steps for some polynomial.  The polynomial for M is roughly the square of the polynomial for k in the largest factor, but with some terrible constants in the polynomial.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To reiterate my question here: I want to know if there is a literature source that employs this idea.  I am somewhat less interested in discussing the idea itself.&lt;/p&gt;&#xA;" OwnerUserId="28868" LastActivityDate="2014-11-08T00:57:44.393" Title="Looking for Literature Source for Following idea" Tags="&lt;reference-request&gt;&lt;turing-machines&gt;&lt;p-vs-np&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27366" PostTypeId="2" ParentId="27364" CreationDate="2014-11-06T21:16:20.617" Score="16" Body="&lt;p&gt;It seems that this idea is attributed to Levin (It is called optimal search). I believe this fact is well known. A similar algorithm is described in &lt;a href=&quot;http://en.wikipedia.org/wiki/P_versus_NP_problem#Polynomial-time_algorithms&quot; rel=&quot;noreferrer&quot;&gt;wikipedia&lt;/a&gt; for instance, although using the subset sum problem. In this &lt;a href=&quot;http://www.scholarpedia.org/article/Universal_search&quot; rel=&quot;noreferrer&quot;&gt;article from scholarpedia&lt;/a&gt; you can find several references on the subject, including a pointer to the original algorithm and to some other optimal search algorithms. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Comment 1: Levin's optimal search guarantees that if $\varphi$ is a satisfiable instance then a solution will be found in polynomial time assuming $P=NP$. If &#xA;$\varphi$ is not satisfiable the algorithm may not terminate.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Comment 2: As Jaroslaw Blasiok pointed out in another answer, this algorithm does not decide Sat only assuming P=NP.&lt;/p&gt;&#xA;" OwnerUserId="4237" LastEditorUserId="4237" LastEditDate="2014-11-08T00:57:44.393" LastActivityDate="2014-11-08T00:57:44.393" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="27367" PostTypeId="1" AcceptedAnswerId="27372" CreationDate="2014-11-06T23:14:29.537" Score="13" ViewCount="722" Body="&lt;p&gt;What is the relation between simply typed lambda calculus and higher order logic?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Under Curry-Howard it seems that simply typed lambda calculus corresponds to propositional logic. How is it related to higher order logic? According to this tutorial by Geuvers: &lt;a href=&quot;http://typessummerschool07.cs.unibo.it/courses/geuvers-1.pdf&quot;&gt;http://typessummerschool07.cs.unibo.it/courses/geuvers-1.pdf&lt;/a&gt; the language of HOL seems to be STT. Shouldn't it be PROP? What does that mean?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Did Church have in mind HOL when defined STT?&lt;/p&gt;&#xA;" OwnerUserId="28872" LastActivityDate="2014-11-07T15:42:52.280" Title="Simply typed lambda calculus and higher order logic" Tags="&lt;lo.logic&gt;&lt;typed-lambda-calculus&gt;&lt;curry-howard&gt;" AnswerCount="1" CommentCount="6" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="27368" PostTypeId="2" ParentId="27364" CreationDate="2014-11-07T08:54:55.227" Score="6" Body="&lt;p&gt;The idea of diagonally running all possible Turing machines has been previously used by Leonid Levin in what is now famously called Levins Universal Search. Unfortunately, and contrary to the extremely common misconception, for what I know variations on Levins universal search are NOT able to provide explicit algorithm solving SAT (decision problem) in polynomial time, given solely the assumption that P=NP - and neither your algorithm does.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The caveat of proposed reasoning lies (as very often) in the &quot;easy excercise left to reader&quot; - I was unable to prove the excercise myself and I do not believe that its statement is true, namely:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assuming P=NP, there are polynomial size ZFC proves of unsatisfiability of given Boolean formula.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Moreover: I can not see how to prove existence of polynomially short ZFC proves for unsatisfiability under (stronger) assumption that &quot;P=NP is provable in ZFC&quot;. It becomes easy however under yet stronger assumption, namely:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(*) There exist machine M running in polynomial time which provably solves SAT.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;And this is, I belive, the correct assumption under which your algorithm solves SAT in polynomial time. Above by &quot;provably solves SAT&quot; I mean: there exist a machine M, and a ZFC proof that M solves SAT.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that this assumption is still slightly weaker than the following one:&#xA;(**) There exist machine M, which provably runs in polynomial time and provably solves SAT.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Under (**) one can have explicit construction achieving the same goal which is even simpler: enumerate all the ZFC proves until you find the correct machine M (spending constant time), and then run M on given instance.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is true, however, that under P=NP assumption there exist some polynomially verifiable proof system with short proofs for unsatisfiability of given formula. Unfortunately we do not know neither the proof system nor the verifier offhand, and it is not helpful in this setting.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The original paper of Levin on the algorithm (1973, &quot;Universal search problems&quot;) applied it in the following setting: suppose you have an explicit and fast algorithm A for computing function f, and algorithm B for checking whether a value x is in range of f. Then given x, you can explicitly find some value in preimage $f^{-1}(x)$ up to a constant factor as fast as the optimal algorithm for finding it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that this scheme applies, for example, to the FACTORING problem; here f is just multiplication (defined only for factors other than \pm 1) and B is primarity checking. Hence Levins universal search would be (up to a constant factor) optimal algorithm for FACTORING. Given that the optimal algorithm is slower than the known algorithm for primarity checking - in the other case the primarity checking becomes dominant.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Moreover, using the Levins method under the P=NP assumption one can provide explicit algorithm for solving a decision problem in $NP\cap co-NP$, given that one already have explicitly both NP and co-NP verifiers (I.e. Verifiers for YES-instance witnesses, and NO-instance witnesses). Yet another interesting example: if we know the time bound of the optimal SAT solver offhand, Levins method can be used to solve SAT correctly on all but finitely many instances - still falling short of solving the SAT decision problem as it is stated.&lt;/p&gt;&#xA;" OwnerUserId="28876" LastEditorUserId="28876" LastEditDate="2014-11-07T10:25:40.520" LastActivityDate="2014-11-07T10:25:40.520" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="27371" PostTypeId="2" ParentId="27347" CreationDate="2014-11-07T15:25:35.467" Score="0" Body="&lt;p&gt;I have not read the paper, but I doubt strongly it is as simple as&#xA;what you suggest. The first obvious remark is that whatever you&#xA;provide with examples is finite, so it can be recognized precisely by&#xA;a FSA. Hence you need some definition of the complexity of a grammar,&#xA;and what you probably want is a grammar of some type that makes your&#xA;sentences grammatical with a small (minimal?) complexity grammar. Adding&#xA;probabilities may or may not help.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then you may want to go further and try to identify sentences that may&#xA;not fit the class of grammars you have chosen, though that is&#xA;apparently not part of what you are considering. I am thinking for&#xA;example of the work of linguists.  Though they can express a good deal&#xA;of natural language syntax with Context-Free grammars (well, for a&#xA;basic grammatical skeleton), some languages do not fit that model,&#xA;such as the &lt;a href=&quot;https://linguistics.stackexchange.com/questions/414/what-is-an-example-of-a-syntactic-structure-that-cant-be-represented-by-a-bnf-g&quot;&gt;cross-serial dependencies in Dutch or Swiss-German&lt;/a&gt;. This&#xA;can be handled by another type of grammars: the Tree Adjoining&#xA;Grammars (TAG), which include CF grammars (in the sense of strong equivalence of parse-trees).&lt;/p&gt;&#xA;" OwnerUserId="16132" LastEditorUserId="-1" LastEditDate="2017-04-13T12:54:12.010" LastActivityDate="2014-11-07T15:25:35.467" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27372" PostTypeId="2" ParentId="27367" CreationDate="2014-11-07T15:42:52.280" Score="11" Body="&lt;p&gt;The distinction is this: if STLC is taken as a primitive language at the &lt;strong&gt;type-level&lt;/strong&gt; adding constructors and a small number of axioms is sufficient to give you the full expressive power of HOL.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Taking $\iota$ as the base type of numbers ans $\omicron$ as the base type of propositions, you can add the constants&#xA;$$ \forall_\tau:(\tau\rightarrow \omicron)\rightarrow \omicron\quad \supset:\omicron\rightarrow\omicron\rightarrow \omicron$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where $\tau$ is an arbitrary type (so one $\forall$ constant for each type). One possible set of axioms:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$ \frac{\phi(x)}{\forall_\tau(\lambda x.\phi(x))}\mbox{$x:\tau$ not free in the hypotheses}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$ \frac{\Large{\substack{[\psi]\\ \\ .\\ .\\ .\\ \\ \phi}}}{\psi\supset \phi}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where $[\psi]$ means that the hypothesis $\psi$ is &lt;em&gt;discharged&lt;/em&gt;. Interesting fact: the other connectives $\exists_\tau, \vee$... can be derived from just those 2.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The subtlety is distinguishing between $\lambda$-terms as a way to represent proofs, as predicated by the Curry-Howard-de Bruijn (Martin-Löf) correspondence, or as a way to represent the terms you reason upon. The two views are not incompatible, of course.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In particular there is a typed $\lambda$-calculus that faithfully represents HOL (minus various axioms of course). This happens to be a sub-system of the &lt;a href=&quot;http://en.wikipedia.org/wiki/Calculus_of_constructions&quot;&gt;Calculus of Constructions&lt;/a&gt;, and is described in detail by Geuvers in &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.35.3947&quot;&gt;&lt;em&gt;The Calculus of Constructions and Higher Order Logic&lt;/em&gt;&lt;/a&gt;. He also details the differences between the two (the CoC is not a conservative extension of HOL).&lt;/p&gt;&#xA;" OwnerUserId="3984" LastActivityDate="2014-11-07T15:42:52.280" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="27373" PostTypeId="1" CreationDate="2014-11-07T16:18:07.300" Score="1" ViewCount="331" Body="&lt;p&gt;recently there has been major progress into the VP=?VNP problem for algebraic circuits originated by Valiant, inspiring some optimistic outlook on its eventual or imminent resolution.[1]&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;what is an outline/ overview of an intuition that VP=?VNP is connected or &lt;em&gt;not&lt;/em&gt; (closely?) connected to the P=?NP problem?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;am looking for &quot;not complex&quot; or &quot;straightforward&quot; sketches or constructions, not necessarily &quot;rigorous&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] &lt;a href=&quot;http://bulletin.eatcs.org/index.php/beatcs/article/view/293/275&quot; rel=&quot;nofollow noreferrer&quot;&gt;Recent Progress on Arithmetic Circuit&#xA;Lower Bounds&lt;/a&gt; / Ramprasad Saptharishi, Bulletin of EATCS &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;The field of arithmetic circuit complexity has lately seen a flurry of results.&#xA;  Several of these results are centered homogeneous depth four circuits,&#xA;  and come tantalizingly close to separating the algebraic analogue of&#xA;  P from the algebraic analogue of NP.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;[2] &lt;a href=&quot;https://cstheory.stackexchange.com/questions/529/does-vp-neq-vnp-imply-p-neq-np&quot;&gt;Does $VP \neq VNP$ imply $P \neq NP$?&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2014-11-07T16:18:07.300" Title="intuition that VP=?VNP is (not?) connected to P=?NP" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;big-picture&gt;&lt;p-vs-np&gt;&lt;arithmetic-circuits&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="27374" PostTypeId="1" CreationDate="2014-11-07T19:26:00.740" Score="3" ViewCount="720" Body="&lt;p&gt;So according to complexity zoo, the definition of RP is:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;The class of decision problems solvable by an NP machine such that&lt;/p&gt;&#xA;&lt;p&gt;1.If the answer is 'yes,' at least 1/2 of computation paths accept.&lt;/p&gt;&#xA;&lt;p&gt;2.If the answer is 'no,' all computation paths reject.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;and the definition of PP is:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;The class of decision problems solvable by an NP machine such that&lt;/p&gt;&#xA;&lt;p&gt;1.If the answer is 'yes' then at least 1/2 of computation paths accept.&lt;/p&gt;&#xA;&lt;p&gt;2.If the answer is 'no' then less than 1/2 of computation paths accept.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;So the only difference is the behaviour of the machine when the answer is 'no'.&#xA;And in Papadimitriou for RP:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;There is no easy way to tell whether a machine always&#xA;halts with a certified output. We informally call such classes semantic&#xA;classes&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;So isn't it also not possible to tell whether a PP machine will always halt with a certified output? Also, don't both PP and RP accept by majority?&lt;/p&gt;&#xA;" OwnerUserId="28589" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2014-11-07T19:26:00.740" Title="What is the major difference between PP and RP?" Tags="&lt;complexity-classes&gt;&lt;randomized-algorithms&gt;" AnswerCount="0" CommentCount="2" FavoriteCount="1" ClosedDate="2014-11-08T17:20:55.243" ContentLicense="CC BY-SA 3.0" />
  <row Id="27377" PostTypeId="1" AcceptedAnswerId="27386" CreationDate="2014-11-07T21:42:01.127" Score="6" ViewCount="736" Body="&lt;p&gt;My only motivation for asking this question is long-standing curiosity, but I am interested in seeing a proof (or disproof) that the Cook-Levin theorem relativizes.  If you have a proof that the theorem does indeed relativize, please supply an explanation of &lt;em&gt;how relativization impacts the proposition&lt;/em&gt;, i.e., what does the relativized version of the statement look like when an oracle &lt;em&gt;A&lt;/em&gt; is added?  Also, please explain what happens to the proposition when a TQBF oracle is added to the computation model.&lt;/p&gt;&#xA;" OwnerUserId="1338" LastActivityDate="2014-11-09T15:10:43.127" Title="Does the Cook-Levin theorem relativize?" Tags="&lt;relativization&gt;&lt;np-complete&gt;&lt;cook-levin&gt;" AnswerCount="1" CommentCount="6" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="27378" PostTypeId="1" AcceptedAnswerId="27379" CreationDate="2014-11-08T05:31:03.650" Score="10" ViewCount="872" Body="&lt;p&gt;Specifically what I mean by addition is, we define $\Sigma_i$ to be the alphabet $\{0, 1, 2, ..., i\}$. Given regular languages $A$ and $B$ under some alphabet $\Sigma_i$, look at $A\times B$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For every ordered pair $(a, b) \in A\times B$, define the &quot;sum&quot; of this ordered pair as $a+b$, where $a$ and $b$ are numbers in base i. Leading 0's are ignored, so $0^*$is in front of every accepted string. This implies $\epsilon$ is defined as 0.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The language $A+B$ is the set of strings representing all such possible sums.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So far, I know:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;This is true in unary ($\Sigma_1$).&lt;/li&gt;&#xA;&lt;li&gt;This is true for any finite regular languages $A$ and $B$, because any finite language is regular and $A+B$ is finite.&lt;/li&gt;&#xA;&lt;li&gt;The language $C_n$ = $\{$s $|$ s is a multiple of n in base b$\}$ under $\Sigma_b$ is regular for any $b &amp;gt;= 1$. This means any languages of the form $C_n$ can also be added, as $C_i+C_j=C_{i + j}$, which is also regular. However there are languages like $D$=$\{$s $|$ s starts and ends with a 1} which don't fit this criteria, so this doesn't describe all regular languages.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="21793" LastEditorUserId="21793" LastEditDate="2014-11-08T06:20:50.787" LastActivityDate="2016-03-19T14:39:37.790" Title="Are regular languages closed under addition?" Tags="&lt;automata-theory&gt;" AnswerCount="2" CommentCount="4" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="27379" PostTypeId="2" ParentId="27378" CreationDate="2014-11-08T07:34:43.273" Score="14" Body="&lt;p&gt;Yes, they are.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First, consider the alphabet $\Sigma_i^3$ whose symbols are triples of digits (stacked one above each other into a pile of three digits). Over this alphabet, we can define a regular language $A'$ where the string formed by the topmost of the three digits belongs to $A$, a regular language $B'$ where the string formed by middle of the three digits belongs to $B$, and a regular language $C$ where the top two strings sum to the bottom one. $A'$ and $B'$ just use modified automata for $A$ and $B$, while $C$ uses the fact that you can do addition by scanning right-to-left while keeping only a single digit of carry as state.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then $A'\cap B'\cap C$ is (by closure under intersection) a regular language that recognizes stacks of three strings, one in $A$, one in $B$, and the third in the sum. The homomorphism that strips off the top two digits from a stack leaving only the bottom one takes this to the language you want, and the result follows by closure under homomorphism.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2014-11-08T07:34:43.273" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="27380" PostTypeId="2" ParentId="27378" CreationDate="2014-11-08T07:37:22.860" Score="9" Body="&lt;p&gt;Yes. I give a NFA that reads the word from the end, as even such automata can recognize only regular languages. We also suppose that $A$ and $B$ are given by such automata, $M_A$ and $M_B$. The NFA guesses at every step what the respective digit of $a$ and $b$ is, checks that the addition is correct, and computes the new respective states of $M_A$ and $M_B$. At the end of the word it accepts if and only if both $M_A$ and $M_B$ accept.&lt;/p&gt;&#xA;" OwnerUserId="419" LastActivityDate="2014-11-08T07:37:22.860" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27382" PostTypeId="1" AcceptedAnswerId="27383" CreationDate="2014-11-08T16:05:41.757" Score="11" ViewCount="1290" Body="&lt;p&gt;Consider the following problem:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Given two strings x,y, decide whether there exists a string homomorphism f such that f(x)=y.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;It is easy to show that this problem is in $NP$. Are there other things we can say about this problem? e.g. Is it in $coNP$, or even $P$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This problem seems very natural, so I am not surprised if it has been studied thoroughly. However I could not find this problem in literature.&lt;/p&gt;&#xA;" OwnerUserId="12874" LastActivityDate="2014-11-08T20:24:37.187" Title="Decide the existence of a string homomorphism" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;fl.formal-languages&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27383" PostTypeId="2" ParentId="27382" CreationDate="2014-11-08T17:38:52.917" Score="16" Body="&lt;p&gt;It's discussed in one of the very first papers about strings and complexity, namely, Dana Angluin, Finding patterns common to a set of strings, J. Comput. System Sci.&#xA;21 (1980), 46-62.  Look at Theorem 3.6.  The problem is NP-complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's also in A. Ehrenfeucht, G. Rozenberg, Finding a homomorphism between two words is NP-complete, Inform. Process. Lett. 9 (1979) 86–88.&lt;/p&gt;&#xA;" OwnerUserId="3227" LastEditorUserId="3227" LastEditDate="2014-11-08T20:24:37.187" LastActivityDate="2014-11-08T20:24:37.187" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27384" PostTypeId="1" AcceptedAnswerId="32466" CreationDate="2014-11-08T19:48:22.337" Score="3" ViewCount="166" Body="&lt;p&gt;What are good textbook references for Presburger Arithmetic decision procedures?&lt;/p&gt;&#xA;" OwnerUserId="28625" LastActivityDate="2015-09-07T14:21:07.417" Title="Presburger Arithmetic Decision Procedures" Tags="&lt;reference-request&gt;&lt;lo.logic&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="27386" PostTypeId="2" ParentId="27377" CreationDate="2014-11-08T20:39:47.677" Score="12" Body="&lt;p&gt;From the comment above: there are two interpretations to your question:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;1)&lt;/strong&gt; The Cook-Levin theorem &lt;em&gt;does not relativize&lt;/em&gt; in this sense: there exists a language $L$ and an oracle $A$ such that $L \in NP^A$ but $L$ is not polynomial-time many-one reducible to $3SAT$ even if the polynomial time Turing machine that performs the reduction is allowed to access the same oracle $A$ (i.e. $L \nleq_m^A 3SAT$). The proof is a standard exercise (see for example Arora and Barak, Computational Complexity); hint: play a little bit with the oracle that separates P from NP, the only difference here is that you must &quot;fool&quot; polynomial-time oracle Turing machines that output 3SAT formulas instead of deciders that output yes/no (let me know if you need the full proof);&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;2)&lt;/strong&gt; The Cook-Levin theorem &lt;em&gt;does relativize&lt;/em&gt; in this sense: you  can extend the circuit model with &lt;em&gt;oracle gates&lt;/em&gt;, i.e. $k$-inputs gates in which the inputs are ordered and the output bit is the result of the associated oracle on the query formed by the ordered input bits (there is also a variant in which every bit of the query is represented by two input bits, in order to allow queries shorter than $k$). With this extended &lt;em&gt;oracle circuit&lt;/em&gt; model you can build in polynomial time a polynomial-size oracle circuit $C^A$ that &quot;simulates&quot; - in a similar way of the Cook-Levin theorem - the computation of an oracle polynomial time machine $M^A$ and on input $x$ evaluates to 1 if and only if $M^A(x)=1$. So, if &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\text{Circuit-}SAT^A = \{ C \mid C $ is a boolean circuit equipped with oracle gates for $A$ and for which there exists $x$ such that $C(x)=1 \}$ you say that:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;for every oracle $A$, $\text{Circuit-}SAT^A$ is $NP^A$-complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;3)&lt;/strong&gt; Finally with a TQBF oracle we have $P^{TQBF} = NP^{TQBF}$, so if we add a TQBF oracle to the polynomial time Turing machine that performs the reduction (interpretation 1) we give to it the power to solve the original problem directly, so we have: $NP^{TQBF} \leq_m^{TQBF} \{1\}$ i.e. every trivial set is $NP^{TQBF}$-complete under polynomial time many-one TQBF-oracle reductions (except $\emptyset$ and $\Sigma^*$ :-), so Cook-Levin theorem &lt;em&gt;does relativize for the TQBF oracle&lt;/em&gt; (solve the source instance and output $(x_1 \lor x_2 \lor x_3)$ if it belongs to the language, output an unsatisfiable 3SAT formula otherwise).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Addendum&lt;/strong&gt;: related to your question, it is interesting how the (old but great) Computational Complexity by C. Papadimitriou explicitly faces the problem of the relativization of another well known thereom, the Ladner's theorem, in this way (probably the oracle gates were introduced later): &lt;/p&gt;&#xA;&#xA;&lt;p&gt;[From Chapter 14]: ... &quot;If $P^A \neq NP^A$, then there is a language in $NP^A - P^A$&#xA;which is not $NP^A$-complete&quot;. But when we say &quot;$NP^A$-complete&quot;, do&#xA;we also allow the use of oracle in our reductions?&#xA;With a little reflection we may decide that the&#xA;right way to state the result is in terms of ordinary reductions...&lt;br&gt;&#xA;..... There seems to be no reasonable definition of $SAT^A$.&#xA;To get around this difficulty, we must replace the usage of SAT&#xA;with an $NP^A$-complete problem. Such problem exist; for example:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$C^A = \{ (M^A,x) \mid $ nondeterministic  oracle machine $M^A$ accepts $x$ in time $|x|\}$&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2014-11-09T15:10:43.127" LastActivityDate="2014-11-09T15:10:43.127" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="27387" PostTypeId="1" AcceptedAnswerId="27404" CreationDate="2014-11-08T22:42:08.837" Score="8" ViewCount="1454" Body="&lt;p&gt;According to &lt;a href=&quot;http://www.cs.sfu.ca/~mitchell/cmpt-417/2011-Spring/Project-Readings/lait10xor.pdf&quot;&gt;XOR Satisfiability Solver Module for DPLL Integration&lt;/a&gt; by Tero Laitinen, we need $2^{n-1}$ CNF clauses to convert an $n$ literal XOR-SAT clause if we do not want to increase the number of literals. So, I understand that the computational cost for converting an XOR-SAT expression into a strictly CNF $k$-SAT is exponential.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question: What is the computational cost if I want to reverse the process? What is the computational cost of converting a CNF $k$-SAT expression into an XOR-SAT one? I assume the promise that in this case only the $k$-SAT expressions with equivalent XOR-SAT expressions are considered.&lt;/p&gt;&#xA;" OwnerUserId="13408" LastEditorUserId="13408" LastEditDate="2014-11-09T09:07:39.847" LastActivityDate="2014-11-10T05:23:25.677" Title="Conversion between k-SAT and XOR-SAT" Tags="&lt;sat&gt;&lt;boolean-functions&gt;&lt;boolean-formulas&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="27388" PostTypeId="2" ParentId="25133" CreationDate="2014-11-08T23:46:49.327" Score="7" Body="&lt;p&gt;This is a great question and it really lies within my interests.  I'm glad that you asked it Max.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $n$ DFA's with at most $O(n)$ states each be given.  It would be nice if there existed a PDA with sub-exponentially many states that accepts the intersection of the DFA's languages.  However, I suggest that such a PDA might not always exist.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider the copy language.  Now, restrict it to copying strings of length n.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Formally, consider $n$-copy $:=$ $\{ xx \, | \, x \in \{0,1\}^{n}\}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We can represent $n$-copy as the intersection of $n$ DFA's of size at most $O(n)$.  However, the smallest DFA that accepts $n$-copy has $2^{\Omega(n)}$ states.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Similarly, if we restrict ourselves to a binary stack alphabet, then I suspect that the smallest PDA that accepts $n$-copy has exponentially many states.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;P.S.  Feel free to send me an email if you would like to discuss further.  :)&lt;/p&gt;&#xA;" OwnerUserId="14207" LastEditorUserId="14207" LastEditDate="2014-11-12T00:31:58.947" LastActivityDate="2014-11-12T00:31:58.947" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27391" PostTypeId="1" AcceptedAnswerId="27406" CreationDate="2014-11-09T13:17:47.373" Score="2" ViewCount="287" Body="&lt;p&gt;I am reading &lt;em&gt;&lt;a href=&quot;http://research.microsoft.com/en-us/um/people/lamport/pubs/paxos-simple.pdf&quot; rel=&quot;nofollow&quot;&gt;Paxos Made Simple&lt;/a&gt;&lt;/em&gt;. I am quite confused about the proof of P2b. It said&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;We would make the proof easier by using induction on n, so we can prove that proposal number n has value v under the additional assumption that every proposal issued with a number in m..(n - 1) has value v.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;How can he add the &lt;strong&gt;additional assumption&lt;/strong&gt;? Is it reasonable? In reality, proposal numbered in m..(n - 1) can have value other than v, isn't it?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am really confused about that, please help! Thanks&lt;/p&gt;&#xA;" OwnerUserId="28897" LastActivityDate="2019-05-23T02:59:17.777" Title="The proof of P2b in Paxos made simple" Tags="&lt;dc.distributed-comp&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27393" PostTypeId="1" AcceptedAnswerId="27437" CreationDate="2014-11-09T15:29:40.357" Score="1" ViewCount="166" Body="&lt;p&gt;I am interested in the set of the variables that satisfy the following properties. I would like to find a proper name for them.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We assume that a program $\phi$ has a set of variables $v_0, \ldots, v_n$. I am interested in a subset $S$ of $\{v_0; \ldots; v_n\}$, that informally speaking impacts the execution of the program (i.e., any execution of its statements). For instance&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) For the statement $v_0 := v_1$ that may be executed, $v_1$ impacts the execution of the statement. Thus, $v_1 \in S$ and $v_1 \in SY$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) For the statement $v_0 := v_1 * 0$ that may be executed, $v_1$ impacts the execution of the statement, because if $v_1$  is a string value, the multiplication of string and $0$ raises a type error. Thus, $v_1 \in S$ and $v_1 \in SY$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;3) In the statement &quot;If true Then $v_1$ := 1 Else $v_1$ := $v_2$ End&quot;, $v_2$ does NOT impact the execution of the statement, because the else branch of the statement will never be executed; the value of $v_2$ will never be read here. Thus, $v_2 \notin S$, but $v_2 \in SY$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I will define the semantics properly, but before that I would like to find a proper name for the set $S$ that fits the convention. I am thinking of &lt;code&gt;read variables&lt;/code&gt;? &lt;code&gt;input variables&lt;/code&gt;? &lt;code&gt;possible input variables&lt;/code&gt;? &lt;code&gt;precedent variables&lt;/code&gt;? &lt;code&gt;dependancy variables&lt;/code&gt;? or &lt;code&gt;supporting variables&lt;/code&gt;?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Could anyone help?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit 1:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks for all the comments, they are really helpful. I decide to edit the OP to make the question clearer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Actually, I planed to introduce the notion of a set &lt;code&gt;S&lt;/code&gt; about &lt;strong&gt;semantics&lt;/strong&gt;, and then another set &lt;code&gt;SY&lt;/code&gt; about &lt;strong&gt;syntax&lt;/strong&gt; that is always a superset of &lt;code&gt;S&lt;/code&gt; (because &lt;code&gt;S&lt;/code&gt; is hard to analyse). Then, I will make a static analysis to over-approximate &lt;code&gt;SY&lt;/code&gt;, thus it over-approximates also &lt;code&gt;S&lt;/code&gt;. My question here is about a consistent terminology about &lt;code&gt;S&lt;/code&gt; and &lt;code&gt;SY&lt;/code&gt; (for the case of read/input).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have added the case for &lt;code&gt;SY&lt;/code&gt; in the 3 examples above. You mentioned another 2 examples:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;4) For &quot;If factorial(3)==6 Then v_1 := 1 Else v_1 := v_2 End&quot; (babou), we have $v_2 \notin S$ and $v_2 \in SY$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;5) For &quot;x := x&quot; (Martin Berger), one understanding is that the value of &lt;code&gt;x&lt;/code&gt; is first still read, then be assigned to &lt;code&gt;x&lt;/code&gt;, so $x \in S$; another understanding is that the value of &lt;code&gt;x&lt;/code&gt; does not impact the execution of this statement, so $x \notin S$. I will be OK with both of them (though personally I prefer the latter), as long as if I give a terminology and a definition to &lt;code&gt;S&lt;/code&gt;, it is consistent for all the examples. In any case, based on the syntax, we always have $x \in SY$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Regarding &quot;live variables&quot; (Klaus Draeger), indeed, as babou understood, I am not concerned about &quot;a point in the program regarding what variables are still be needed to finish execution from that point&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Regarding &quot;use-define or use-definition&quot; (babou), from that web page, my understanding is UD is about syntax, and it is what I am going to do with &lt;code&gt;SY&lt;/code&gt; (e.g., see what is on the left-hand/right-hand side of an assignment). If I call &lt;code&gt;SY&lt;/code&gt; &lt;strong&gt;used variables&lt;/strong&gt;, what should I call &lt;code&gt;S&lt;/code&gt;? &lt;/p&gt;&#xA;" OwnerUserId="4923" LastEditorUserId="4923" LastEditDate="2014-11-13T17:19:22.703" LastActivityDate="2014-11-14T15:12:05.683" Title="Name a set of program variables" Tags="&lt;semantics&gt;&lt;compilers&gt;&lt;denotational-semantics&gt;&lt;operational-semantics&gt;&lt;program-analysis&gt;" AnswerCount="1" CommentCount="14" ContentLicense="CC BY-SA 3.0" />
  <row Id="27395" PostTypeId="1" CreationDate="2014-11-09T16:23:21.693" Score="0" ViewCount="89" Body="&lt;p&gt;Given a graph $G=(V,E)$, a set of terminals $T = \{t_1,\ldots, t_n\}$, and a single source $s$, where $s\in V$ and $T \subseteq V\backslash \{s\}$. Each terminal $i$ is associated with a demand $d_i$ and a utility $u_i$. Moreover, each edge $e \in E$ has a capacity $c_e$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The objective is to maximize &#xA;$$\sum_{i=1}^n x_i u_i$$&#xA; subject to edge capacities: &#xA;for all $e=(u,v) \in E$, &#xA;$$\sum_{i \text{ is rooted by } v }^n d_i x_i \le c_e$$&#xA; where $x_i \in \{0,1\}$ is a decision variable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We assume $G$ is a tree (or path for simplicity). This implies that for each demand $i$ there is only a single path. The problem is to decide which demand to select   in order to attain the maximum utility, while respecting edge capacities. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Unsplittable flow is an old problem and has several variations and settings. I'v seen recent research papers considering unsplittable flow on a path (but with multiple sources), as well as older papers considering single source but on general toplogy.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In fact this problem is still NP-hard as it generalizes knapsack. Is there any paper considering this setting: utility maximization, single source (multiple terminals), and tree/path topology)?&lt;/p&gt;&#xA;" OwnerUserId="19377" LastEditorUserId="19377" LastEditDate="2014-11-09T19:30:43.877" LastActivityDate="2014-11-09T19:30:43.877" Title="Single source multicommodity flow on a path or tree" Tags="&lt;combinatorics&gt;&lt;flow-problems&gt;" AnswerCount="0" CommentCount="11" ContentLicense="CC BY-SA 3.0" />
  <row Id="27397" PostTypeId="1" CreationDate="2014-11-09T16:29:37.607" Score="-2" ViewCount="199" Body="&lt;p&gt;who first started to analyse computers theoretically ?&#xA;who gave birth to Theory of Computation ? &lt;/p&gt;&#xA;" OwnerUserId="28901" LastActivityDate="2014-11-10T16:14:57.077" Title="who found out Theory of Computer Science?" Tags="&lt;soft-question&gt;&lt;ho.history-overview&gt;" AnswerCount="1" CommentCount="4" ClosedDate="2014-11-10T04:44:21.857" ContentLicense="CC BY-SA 3.0" />
  <row Id="27398" PostTypeId="2" ParentId="27356" CreationDate="2014-11-09T17:05:07.707" Score="5" Body="&lt;p&gt;(This is to answer Sasho Nikolov's comment, but it is way too long for the comment field, so I post it as an answer.) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The two examples in the original question are special cases of LP duality. There are many similar examples, but one can argue that they all inherit the asymmetry from LP duality. Weak LP duality is easy to prove (it provides the &quot;trivial obstacle&quot;), while strong duality is deeper, proving that the trivial obstacle is the only obstacle. In this sense, the examples that are &quot;children of LP&quot; may be viewed that they are only different incarnations of the same core example. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here are, however, some other cases that (to my knowledge) are not related to LP. The examples below are all from graph theory, but other fields probably also contain similar patterns.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Let $k, l, d$ be positive integers. Then there is a simple graph with vertex-connectivity $k$, edge-connectivity $l$, and minimum degree $d$, if and only if $k\leq l \leq d$. Since it is (almost) trivial to prove that these parameters always satisfy the inequalities, the violation of at least one inequality is a trivial obstacle for such a graph to exist. The other direction, that such a graph always exists is nontrivial. &#xA;(See the book of Bollobas &quot;Extremal Graph Theory,&quot; Theorem 1.5. Note: the way it is presented there is somewhat more complicated, using more inequalities, because it also uses another parameter, the number of vertices. But this simpler version can be extracted from it, to show the essential nature that here again the trivial obstacle is the only obstacle.)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Given an undirected simple graph, does it have two vertex-disjoint circuits?&#xA;This is answered by the following theorem of Lovasz and Dirac: If a simple graph with minimum degree $\geq 3$  does not have two vertex-disjoint circuits, then the graph can only be one of the following three types: (1) $K_5$, (2) a wheel graph, (3) $K_{3,n-3}$, with possibly any edges added to the the 3-vertex class. Here the trivial obstacle is that the graph falls into one of these types, since these types are easily seen not to contain 2 vertex-disjoint circuits. If the trivial obstacle is absent, the graph always has the property (but it is quite nontrivial to prove).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Given a sequence $d_1\geq\ldots\geq d_n$ of integers, and an integer $k\geq 2$, does there exist a $k$-edge connected simple graph that has $d_1\geq\ldots\geq d_n$ as its degree sequence? A 1964 result of Edmonds answers the question: such a graph exists if and only if two conditions hold: (a) the sequence is graphical (i.e., there is a graph at all that implements it as a degree sequence, which is trivially necessary, and can be checked  by the Erdos-Gallai Theorem), and (b) $d_n\geq k$, which is also trivially necessary, since the edge connectivity is bounded from above by the minimum degree. Once these essentially  trivial necessary conditions are satisfied, the desired graph always exists. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Given a complete graph $G$, and a fixed graph $H$, can the edges of $G$ be partitioned into disjoint copies of $H$? A 1976 theorem of Wilson proves that if $G$ is sufficiently large, then the only obstacle for such a partition to exist is the violation of one the following trivially necessary divisibility conditions: (a) $|E(H)|$ is a divisor of $|E(G)|$, (b) if $g$ is the greatest common divisor of the degrees of $H$, then $g$ is a divisor of $|V(G)|-1$. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="12710" LastEditorUserId="12710" LastEditDate="2014-11-10T18:08:24.840" LastActivityDate="2014-11-10T18:08:24.840" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27400" PostTypeId="1" AcceptedAnswerId="27409" CreationDate="2014-11-09T20:30:08.750" Score="15" ViewCount="450" Body="&lt;p&gt;I'm reading the formal presentation of &lt;a href=&quot;http://en.wikipedia.org/wiki/Martin-L%C3%B6f_type_theory&quot;&gt;Martin-Löfs type theory&lt;/a&gt; (appendix of the &lt;a href=&quot;http://homotopytypetheory.org/book/&quot;&gt;HoTT book&lt;/a&gt;). The authors introduce a hierarchy of universes, then $\Pi, \Sigma,+, {\bf 0}, {\bf 1}$ and also &lt;a href=&quot;http://mazzo.li/epilogue/index.html%3Fp=324.html&quot;&gt;$W$-types&lt;/a&gt; as well as natural numbers $\mathbb N$ (inductively via $0$ and $succ$). Eventually they add &lt;a href=&quot;http://ncatlab.org/nlab/show/higher+inductive+type&quot;&gt;higher&lt;/a&gt; inductive types too.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But then I wonder why it's necessary to do $\mathbb N$ in the theory specification. Doesn't ${\bf 1}$ and $+$ and &lt;a href=&quot;http://en.wikipedia.org/wiki/Algebraic_data_type&quot;&gt;algebraic&lt;/a&gt; data types, in the incarnation of having $W$-types, suffice to set it up? E.g. with the &lt;a href=&quot;http://en.wikipedia.org/wiki/F-algebra#Reccurence&quot;&gt;initial algebra&lt;/a&gt; approach. (Or at least after we pass from MLTT to HoTT have inductive types - after all, the integers $\mathbb Z$ emerge as &lt;a href=&quot;http://en.wikipedia.org/wiki/Homotopy_group&quot;&gt;homotopy group&lt;/a&gt; of circle type $\mathbb S$ within the theory.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Or has it to do with our need to have primitive recursion from the start, which is defined right next to $\mathbb N$ in the presentation? This is an idea which I have because I don't quite know how &quot;definition is defined&quot; in that framework, or how extending the language works, formally. I might add that I recognize that at least an informal notion of numbers and &quot;greater&quot; is used already when the hierarchy of universes is defined.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In case one can spare $\mathbb N$ and the specification is just not minimal, are there other items one could, in principle, drop? E.g. I could imagine $\bf 2$ and then $+$ coming from some combination of $\Pi, \Sigma, {\bf 0}, {\bf 1}$, but I was not able to do it.&lt;/p&gt;&#xA;" OwnerUserId="7750" LastEditorUserId="342" LastEditDate="2014-11-10T05:47:15.560" LastActivityDate="2014-11-10T11:32:11.117" Title="Minimal specification of Martin-Löf type theory" Tags="&lt;type-theory&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="27402" PostTypeId="2" ParentId="27397" CreationDate="2014-11-09T20:48:08.387" Score="5" Body="&lt;p&gt;I can attempt a long-winded version of Thomas' comment and others can correct me where needed.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Algorithms have been around a long time (e.g. Euclidean algorithm for GCD circa 300 BC), and even computational machines are somewhat old (Babbage's design for the analytical engine in the 1830s). However, most wouldn't consider theoretical CS to have started until we had the first formal, mathematical definitions of what an algorithm can be.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Algorithms were formalized in three main ways, to my understanding, in the early 1900s. There were the $\mu$-recursive functions, which Godel used in his incompleteness work in 1930. However, these were thought of as mathematical constructs and not necessarily mechanical or computational. I would guess that the same is true for Alonzo Church's lambda calculus (early 1930s), the second way. Although one could view them as being closer to computation, they were mainly mathematical and I don't think there was a clear connection to the capabilities of machines and &quot;programming&quot; (using modern terminology).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The third way that algorithms were formalized was of course Turing's Machines in 1937. Most would say that this paper (&quot;On Computable Numbers&quot;) founded the field of CS. The reason is that his formalization of algorithms was mechanical. He described how to build &quot;dumb&quot; machines that implemented these algorithms. Recursive functions and the lambda calculus did not so immediately relate to machines (though it was soon shown that all of these are equivalent). The paper was, however, primarily theoretical and mathematical and he proved some interesting/foundational theorems already in the first paper.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So again, the key innovation was to define a model instantly recognizable as &quot;mechanical&quot; or dumb (implementable as a machine), yet capable of expressing anything we would consider to be an algorithm; and then proving theorems about it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Many other researchers were involved around that time and soon afterward (I haven't mentioned Kleene or Post yet for instance). But for this reason I think most would point to Turing and his 1937 paper as the start of the field.&lt;/p&gt;&#xA;" OwnerUserId="8243" LastEditorUserId="8243" LastEditDate="2014-11-10T16:14:57.077" LastActivityDate="2014-11-10T16:14:57.077" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27404" PostTypeId="2" ParentId="27387" CreationDate="2014-11-10T05:23:25.677" Score="6" Body="&lt;p&gt;If all XOR relationships between variables in CNF formulas could be detected in polynomial time, then this would allow the solution of UNAMBIGUOUS-SAT in polynomial time.  By the Valiant–Vazirani theorem this result would imply that NP = RP.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To solve UNAMBIGUOUS-SAT, recall that $a \oplus b$ implies $a \neq b$.  Find the XOR relationship between each pair of variables and use the results to divide the variables into two groups of equivalent variables.  Once this is done, only two test assignments are required to determine satisfiability.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the limited case of recovering XOR relationships encoded in the usual way, i.e.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$a \oplus b \oplus c$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;to&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$&#xA;\lnot a \lor b \lor c \\&#xA;a \lor \lnot b \lor c \\&#xA;a \lor b \lor \lnot c \\&#xA;\lnot a \lor \lnot b \lor \lnot c&#xA;$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;this &lt;a href=&quot;http://www.msoos.org/2011/03/recovering-xors-from-a-cnf/&quot;&gt;can be done in polynomial time&lt;/a&gt; by sorting the clauses followed by a linear-time scan.&lt;/p&gt;&#xA;" OwnerUserId="7707" LastActivityDate="2014-11-10T05:23:25.677" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="27406" PostTypeId="2" ParentId="27391" CreationDate="2014-11-10T05:47:13.337" Score="1" Body="&lt;p&gt;&lt;em&gt;Note:&lt;/em&gt; I have had a similar question about the correctness proof of Paxos and Fast Paxos before and &lt;a href=&quot;https://cstheory.stackexchange.com/q/25851/12739&quot;&gt;posted it here&lt;/a&gt;. Wish the excellent answer to it be helpful to you.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;A few words about this paper:&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Leslie Lamport has his own, very impressive writing style. He is not satisfied with the common pattern of stating a theorem, proving it, moving on to another theorem, and so on. He is good at demonstrating the way how to solve a problem. In his paper, you will see that proof does not &lt;em&gt;follow&lt;/em&gt; a theorem; instead, it &lt;em&gt;comes along with&lt;/em&gt; a theorem. The paper &quot;Paxos Made Simple&quot; is a typical example of this style.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;About your questions:&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;em&gt;Your question (1):&lt;/em&gt; How can he add the additional assumption? Is it reasonable?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Leslie Lamport is using &lt;a href=&quot;https://en.wikipedia.org/wiki/Mathematical_induction#Complete_induction&quot; rel=&quot;nofollow noreferrer&quot;&gt;strong induction&lt;/a&gt;. The goal here is to prove &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$P2^{b}:$&lt;/span&gt; If a proposal with value &lt;span class=&quot;math-container&quot;&gt;$v$&lt;/span&gt; i chosen (say, with number &lt;span class=&quot;math-container&quot;&gt;$m$&lt;/span&gt;), then every higher-numbered proposal issued by any proposer has value &lt;span class=&quot;math-container&quot;&gt;$v$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;We apply strong induction to natural number &lt;span class=&quot;math-container&quot;&gt;$\mathbb{N}$&lt;/span&gt;. I summarize the proof as follows and explain it later.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;The base case is &quot;some proposal with number &lt;span class=&quot;math-container&quot;&gt;$m$&lt;/span&gt; and value &lt;span class=&quot;math-container&quot;&gt;$v$&lt;/span&gt; is chosen&quot;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The &lt;em&gt;strong&lt;/em&gt; induction hypothesis is &quot;every proposal issued with a number in &lt;span class=&quot;math-container&quot;&gt;$m .. (n-1)$&lt;/span&gt; has value &lt;span class=&quot;math-container&quot;&gt;$v$&lt;/span&gt;&quot;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;The induction step to prove &lt;span class=&quot;math-container&quot;&gt;$P2^{b}$&lt;/span&gt;&lt;/strong&gt;: Combining the premise of &quot;&lt;span class=&quot;math-container&quot;&gt;$m$&lt;/span&gt; is chosen (with value &lt;span class=&quot;math-container&quot;&gt;$v$&lt;/span&gt;)&quot; with the above induction hypothesis, we get (for reference, I call it &lt;span class=&quot;math-container&quot;&gt;$C$&lt;/span&gt;-condition):&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;em&gt;&lt;span class=&quot;math-container&quot;&gt;$C$&lt;/span&gt;-condition:&lt;/em&gt; Every acceptor in &lt;span class=&quot;math-container&quot;&gt;$C$&lt;/span&gt; (defined in the paper) has accepted a proposal with number in &lt;span class=&quot;math-container&quot;&gt;$m .. (n-1)$&lt;/span&gt;, and every proposal with number in &lt;span class=&quot;math-container&quot;&gt;$m .. (n-1)$&lt;/span&gt; accepted by any acceptor has value &lt;span class=&quot;math-container&quot;&gt;$v$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Now, Lamport introduces &lt;span class=&quot;math-container&quot;&gt;$P2^{c}$&lt;/span&gt;, which, along with the above &lt;span class=&quot;math-container&quot;&gt;$C$&lt;/span&gt;-condition, is sufficient for &lt;span class=&quot;math-container&quot;&gt;$P2^{b}$&lt;/span&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can think of this induction process step by step:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;The base case &lt;span class=&quot;math-container&quot;&gt;$m$&lt;/span&gt; is trivially valid.&lt;/li&gt;&#xA;&lt;li&gt;Given that step 1 is valid, the argument in &quot;&lt;strong&gt;The induction step&lt;/strong&gt;&quot; above (of course with &lt;span class=&quot;math-container&quot;&gt;$P2^{C}$&lt;/span&gt;) shows that the proposals numbered &lt;span class=&quot;math-container&quot;&gt;$m+1$&lt;/span&gt; has value &lt;span class=&quot;math-container&quot;&gt;$v$&lt;/span&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Given both step 1 and step 2 are valid, the same argument shows that the proposals numbered &lt;span class=&quot;math-container&quot;&gt;$m + 2$&lt;/span&gt; has value &lt;span class=&quot;math-container&quot;&gt;$v$&lt;/span&gt;.&lt;/li&gt;&#xA;&lt;li&gt;And so on.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;This also answers your second question.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;em&gt;Your question (2):&lt;/em&gt; In reality, proposal numbered in &lt;span class=&quot;math-container&quot;&gt;$m..(n - 1)$&lt;/span&gt; can have value other than v, isn't it?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;No, it isn't. The Paxos algorithm guarantees that all the proposals with larger numbers than &lt;span class=&quot;math-container&quot;&gt;$m$&lt;/span&gt; must have value &lt;span class=&quot;math-container&quot;&gt;$v$&lt;/span&gt;, given that &lt;span class=&quot;math-container&quot;&gt;$m$&lt;/span&gt; is chosen with value &lt;span class=&quot;math-container&quot;&gt;$v$&lt;/span&gt;.&lt;/p&gt;&#xA;" OwnerUserId="12739" LastEditorUserId="12739" LastEditDate="2019-05-23T02:59:17.777" LastActivityDate="2019-05-23T02:59:17.777" CommentCount="2" ContentLicense="CC BY-SA 4.0" />
  <row Id="27408" PostTypeId="1" AcceptedAnswerId="27410" CreationDate="2014-11-10T11:24:57.407" Score="3" ViewCount="277" Body="&lt;p&gt;I am not sure what is the appropriate way for this, but I would like to collect different possible definitions/variants of Universal Turing-machines.&#xA;Here are the ones I know, post below if you know other definitions/comments/don't agree.&#xA;For simplicity, I assume that we talk about two-tape machines with alphabet {0,1,*}, but let me know if in some definition this might make a difference.&#xA;I denote by T(x,..,z) the output of Turing-machine T when the inputs on its tapes are x,..,z, if it halts, and &quot;running forever&quot; otherwise.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Exists.&lt;/strong&gt; U is universal if for every T there is a p such that for every x we have U(p,x)=T(x).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Computable.&lt;/strong&gt; U is universal if there is a computable encoding E of Turing-machines (labeled directed graphs) into strings such that for every T and x we have U(E(T),x)=T(x).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Fix.&lt;/strong&gt; Fix a (computable) encoding E of Turing-machines into strings. U is universal if for every T and x we have U(E(T),x)=T(x).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Strict.&lt;/strong&gt; In both the Computable and the Fix definition, we can also demand that for every input that is not of the above format, U does nothing useful (halts without output, outputs the empty string, or runs forever).&lt;/p&gt;&#xA;" OwnerUserId="419" LastActivityDate="2014-11-10T12:34:20.493" Title="What are different definitions of Universal Turing-machine?" Tags="&lt;turing-machines&gt;&lt;universal-computation&gt;&lt;definitions&gt;&lt;universal-turing-machines&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27409" PostTypeId="2" ParentId="27400" CreationDate="2014-11-10T11:32:11.117" Score="14" Body="&lt;p&gt;The purpose of the system described in the appendix of the HoTT book is to present something that corresponds to what is used by the book. The book is aiming to be educational. Therefore it would be a bad idea to do everything in a minimalist way. For example, we introduce $\mathbb{N}$ separately because it is instructional to see how inductive constructions work in a familiar case.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You are perfectly correct, to jump-start inductive types from general $W$-types you just need $0$ and $2$. You immediately get $1$ as $0 \to 0$, and you get $+$ from $2$ and $\Sigma$. Once you have that, you get all finite sums $1 + 1 + \cdots + 1$. At this point it is easy to do the usual algebraic datatypes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you drop $0$, so you start from $\Pi$, $\Sigma$, $1$ and $2$, then you cannot get $0$ back because every type you make will be inhabited.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose you only have $\Pi$, $\Sigma$, $0$ and $1$. Then you cannot make $2$ because you can show that every construction you make gives you back either $0$ or $1$. In fact, you cannot make any interesting dependent families at all. A larger family of types which is closed under $\Pi$, $\Sigma$, $0$ and $1$, but does not contain $2$ is the $(-1)$-types (propositions).&lt;/p&gt;&#xA;" OwnerUserId="705" LastActivityDate="2014-11-10T11:32:11.117" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="27410" PostTypeId="2" ParentId="27408" CreationDate="2014-11-10T12:34:20.493" Score="6" Body="&lt;p&gt;I found some alternate definitions of Universal Turing Machine in papers related to the universality of small Turing machines and other models.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See for example the four definitions (the first 3 are equivalent and are similar to yours except that there there is also an explicit &lt;em&gt;decoding&lt;/em&gt; function) in section 2 of &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0304397596000771&quot;&gt;Yurii Rogozhin, Small universal Turing machines, Theoretical Computer Science, Volume 168, Issue 2, 20 November 1996, Pages 215-240&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example the Davis's definition in M. D. Davis, A Note on Universal Turing Machines ; Martin Davis, The Definition of Universal Turing Machine . Journal of Symbolic Logic 35 (1970), no. 4, 590; bypasses the encoding phase:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A generic machine (Turing machine, tag-system, ...) is &lt;em&gt;universal&lt;/em&gt; if and only if its halting problem is r.e. complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Probably you're not interested in them (and you'll probably know them), but there are also  notions of &lt;em&gt;semi-weakly universal&lt;/em&gt;  and &lt;em&gt;weakly universal&lt;/em&gt; Turing machines (in which the initial tape has an infinite repeated string on the left/right/left+right of the input). For further details see the work of Neary and Woods on small TMs.&lt;/p&gt;&#xA;" OwnerUserId="3247" LastActivityDate="2014-11-10T12:34:20.493" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27416" PostTypeId="2" ParentId="25133" CreationDate="2014-11-11T09:32:21.387" Score="6" Body="&lt;p&gt;I don't think that there can be any non-trivial lower or upper bounds.&lt;br&gt;&#xA;For lower bounds, consider the language $L_1 = \{ a^{2^k} \}$ for a fixed $k$. The size of the smallest context-free grammar is logarithmic in the size of $L_1$'s regular expression, whereas the size of the smallest automaton for $L_1$ is linear in the size of $L_1$'s regex. This exponential difference stays the same if we intersect $L_1$ with other such languages.&lt;br&gt;&#xA;For upper bounds, consider a language $L_2$ that consists of exactly one &lt;a href=&quot;http://en.wikipedia.org/wiki/De_Bruijn_sequence&quot; rel=&quot;nofollow&quot;&gt;deBruijn-Sequence&lt;/a&gt; of length $n$. It is known that the size of a smallest grammar for $L_2$ is worst-case, i.e. $O\left( \frac{n}{\log n} \right)$, so the difference to the &quot;smallest&quot; automaton for $L_2$ is simply a logarithmic factor, proposition 1 in&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;D. Hucke, M. Lohrey, E. Noeth &lt;a href=&quot;http://arxiv.org/abs/1407.4286&quot; rel=&quot;nofollow&quot;&gt;Constructing Small Tree Grammars and Small Circuits for Formulas&lt;/a&gt;, to appear in FSTTCS 2014&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;A non-trivial general lower or upper bound would contradict those results, since what is true for the intersection of $n$ languages must be true for the intersection of $1$ language.&lt;/p&gt;&#xA;" OwnerUserId="21199" LastEditorUserId="21199" LastEditDate="2014-11-12T09:29:11.347" LastActivityDate="2014-11-12T09:29:11.347" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="27417" PostTypeId="1" CreationDate="2014-11-11T13:16:04.800" Score="2" ViewCount="325" Body="&lt;p&gt;In 1982, Barahona proved that &lt;a href=&quot;http://iopscience.iop.org/0305-4470/15/10/028&quot; rel=&quot;nofollow&quot;&gt;finding the ground state of an Ising model is NP-hard&lt;/a&gt;. Later, in 2000, Istrail proved that &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=335316&quot; rel=&quot;nofollow&quot;&gt;it is NP-complete&lt;/a&gt;. When I look up the citations of these two papers using Google scholar, it appears that the previous and weaker result has &lt;a href=&quot;http://scholar.google.com/scholar?hl=en&amp;amp;q=On%20the%20computational%20complexity%20of%20Ising%20spin%20glass%20models&amp;amp;btnG=&amp;amp;as_sdt=1%2C21&amp;amp;as_sdtp=&quot; rel=&quot;nofollow&quot;&gt;647&lt;/a&gt; citations while on the other hand the more recent and stronger result has &lt;a href=&quot;http://scholar.google.com/scholar?hl=en&amp;amp;q=Statistical%20Mechanics%2C%20Three-Dimensionality%20and%20%20NP-completeness&amp;amp;btnG=&amp;amp;as_sdt=1%2C21&amp;amp;as_sdtp=&quot; rel=&quot;nofollow&quot;&gt;109&lt;/a&gt; citations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Shouldn't it be the other way round? Isn't a stronger result more useful?&lt;/p&gt;&#xA;" OwnerUserId="13408" LastActivityDate="2014-11-11T13:16:04.800" Title="Which complexity information of Ising model is more important?" Tags="&lt;np-hardness&gt;&lt;np-complete&gt;&lt;combinatorics&gt;&lt;statistical-physics&gt;&lt;citations&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="27418" PostTypeId="1" AcceptedAnswerId="27420" CreationDate="2014-11-11T15:53:25.993" Score="-1" ViewCount="1479" Body="&lt;p&gt;Say we have 3 DFAs. We know how to OR, AND, or NOT them. But how does one XOR them? There is not one single mention of this online.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;x XOR y XOR z = ((x|y)(~x|y)|z) (~((x|y)(~x|y))|z). This is way too complicated and time consuming to draw. Isn't there another way?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Please help, thank you for your time!&lt;/p&gt;&#xA;" OwnerUserId="28925" LastActivityDate="2014-11-11T18:01:35.080" Title="How to XOR automata?" Tags="&lt;automata-theory&gt;&lt;dfa&gt;&lt;logical-relations&gt;&lt;nfa&gt;" AnswerCount="1" CommentCount="2" ClosedDate="2014-11-11T22:59:49.183" ContentLicense="CC BY-SA 3.0" />
  <row Id="27419" PostTypeId="2" ParentId="22582" CreationDate="2014-11-11T17:37:32.373" Score="4" Body="&lt;p&gt;Geelen and Kapadia appear to have a randomized algorithm for this problem.&#xA;&lt;a href=&quot;http://arxiv.org/abs/1504.07647&quot; rel=&quot;nofollow&quot;&gt;http://arxiv.org/abs/1504.07647&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="176" LastEditorUserId="176" LastEditDate="2015-09-13T03:12:59.613" LastActivityDate="2015-09-13T03:12:59.613" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27420" PostTypeId="2" ParentId="27418" CreationDate="2014-11-11T18:01:35.080" Score="2" Body="&lt;p&gt;I guess the main reason why you could not find anything about this is that it is rarely needed (and can be reduced to the better-known boolean operations, as you noted). Checking language equivalence of two automata is close, but there you don't necessarily want to compute the symmetric difference exactly, just check whether it is empty.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One way of improving on the complicated expression is by computing the product of the automata as you would for intersection, but with an accepting condition given by the XOR of those of the original automata. That is, if your automata are $P_1,\dots,P_n$, where $P_i=(S_i,s_i^0,F_i,\tau_i)$ with sets of states $S_i$, initial states $s_i^0$, sets of final states $F_i$ and transition functions $\tau_i:S_i\times A\to S_i$ (assuming the same alphabet $A$ for simplicity), your product is $(S, s^0, F, \tau)$, where&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$S=S_1\times\dots\times S_n$,&lt;/li&gt;&#xA;&lt;li&gt;$s=(s_1^0,\dots,s_n^0)$,&lt;/li&gt;&#xA;&lt;li&gt;$F$ contains $(s_1,\dots,s_n)$ iff the number of $i$ with $s_i\in F_i$ is odd,&lt;/li&gt;&#xA;&lt;li&gt;$\tau((s_1,\dots,s_n),a) = (\tau_1(s_1,a),\dots,\tau_n(s_n,a))$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The only thing which differs from the usual product is the acceptance condition, reflecting the boolean combination of languages you want (here XOR instead of conjunction).&lt;/p&gt;&#xA;" OwnerUserId="5183" LastActivityDate="2014-11-11T18:01:35.080" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="27421" PostTypeId="2" ParentId="22493" CreationDate="2014-11-12T07:02:20.347" Score="7" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;How many regular languages are there whose minimal DFA has exactly $n$ states?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;It seems to me that a closed-form formula should exist, but none is known. Some asymptotic bounds are known:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.cs.umanitoba.ca/~mdomarat/pubs/enum_jalc.pdf&quot; rel=&quot;noreferrer&quot;&gt;&lt;em&gt;On the number of distinct languages accepted by finite automata with $n$ states&lt;/em&gt;&lt;/a&gt;. M Domaratzki, D Kisman, J Shallit.&lt;/p&gt;&#xA;" OwnerUserId="149" LastActivityDate="2014-11-12T07:02:20.347" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="27424" PostTypeId="1" CreationDate="2014-11-12T11:22:35.237" Score="9" ViewCount="360" Body="&lt;p&gt;Let us fix an encoding of Turing-machines and a universal Turing-machine, U, that on input (T,x) outputs whatever T outputs on input x (possibly both running forever).&#xA;Define the Kolmogorov complexity of x, K(x), as the length of the shortest program, p, such that U(p)=x.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there an N such that for all n&gt;N there is an x with K(x)=n?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Remark.&lt;/strong&gt; If we define universal Turing-machines in a different way, the answer can be negative. For example, consider a U that on input (T,x) simulates T on x if the length of (T,x) is divisible by 100, and otherwise does nothing.&#xA;One can modify this example in several ways to obtain counterexamples for different definitions of universal Turing-machines.&lt;/p&gt;&#xA;" OwnerUserId="419" LastActivityDate="2014-11-12T21:33:07.520" Title="Is Kolmogorov complexity a surjective function?" Tags="&lt;cc.complexity-theory&gt;&lt;universal-computation&gt;&lt;kolmogorov-complexity&gt;&lt;universal-turing-machines&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27426" PostTypeId="1" CreationDate="2014-11-12T13:27:50.580" Score="3" ViewCount="100" Body="&lt;p&gt;The problem of finding the pair of closest points in a set of points has been a classical example of divide and conquer technique for some decades now. But I could not find any results on finding $k$th closest pair of points; that is the $k$th pair $(p_i, p_j)$ in the list of pairs of distinct points from set $P$, sorted in increasing order of distance.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I could not find anything on that. Do we have any results? More particularly, I am interested in the case of points from a Euclidean plane.&lt;/p&gt;&#xA;" OwnerUserId="8921" LastEditorUserId="8921" LastEditDate="2014-11-12T14:31:15.400" LastActivityDate="2014-11-12T14:31:15.400" Title="$k$th closest pair of points" Tags="&lt;cg.comp-geom&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="27427" PostTypeId="2" ParentId="27424" CreationDate="2014-11-12T19:51:29.157" Score="3" Body="&lt;p&gt;Just an extended comment with no deep insights: perhaps you can cheat on the encoding of a Turing machine, and build an &lt;em&gt;artificial&lt;/em&gt; encoding that leads to a surjective Kolmogorov complexity:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$0$ represents the Turing machine that outputs $0$ (1 state TM); &lt;/li&gt;&#xA;&lt;li&gt;$0p$ represents the Turing machine that outputs $p+1$ (the number represented by the binary string $p$ plus one); it is simply an implicit &quot;zipped&quot; version of a decidable TM that outputs $p+1$;&lt;/li&gt;&#xA;&lt;li&gt;$1p$ represents the $p+1$-th Turing machine in a standard enumeration (the enumeration can skip the TMs already included with $0$ and $0p$).&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The corresponding universal TM on input $bx$ checks what is the value of $b$, if it is $0$ then it simply outputs $x+1$, otherwise it  simulates TM $M_{x+1}$ ($M_0$ when $x$ is the empty string); note that $M_{x+1}$ embeds the inputs. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For all strings $x$, $1 \leq K(x) \leq |x|+1$; and for all $n \geq 1$ there are $2^{n}$ strings of length $n$ but there are only $2^{n-1}-1$ programs of length $&amp;lt; n$ that can be represented using the $1p$ encoding; and only $2^{n}-1$ programs of length $n$ that can be represented using the $1p$ encoding; so at least a string $x'$  of length $n$ cannot be represented with a program $1p$ of length $\leq n$; but it can surely be represented with the program $0x'$ of length $n+1$ (we don't worry if there is also a program $1p$ of the same length $n+1$ that generates it).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We can conclude that for all $n &amp;gt; 1$, there exists a string $x', |x'|=n$ such that $K(x') = n+1$ (so this particular K is surjective).&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2014-11-12T21:33:07.520" LastActivityDate="2014-11-12T21:33:07.520" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27428" PostTypeId="1" CreationDate="2014-11-12T19:54:36.940" Score="1" ViewCount="84" Body="&lt;p&gt;Suppose that one can prove that some hard function $f$ with $n$ bit input does not admit any Boolean circuit of size at most $n^t$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then, how strong can we say about how hard $f$ is in other models? The other models are, for example, pointer machine or Word RAM model, or decision tree.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can we get a lower bound of $n^{t-1}$ or even $\tilde{\Omega}(n^t)$ for instance ?&lt;/p&gt;&#xA;" OwnerUserId="12646" LastActivityDate="2014-11-12T19:54:36.940" Title="Implication of lower bounds in Boolean circuit to other models of computation" Tags="&lt;cc.complexity-theory&gt;&lt;lower-bounds&gt;&lt;reductions&gt;&lt;machine-models&gt;" AnswerCount="0" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="27430" PostTypeId="2" ParentId="17843" CreationDate="2014-11-12T21:47:39.343" Score="1" Body="&lt;p&gt;There is a nice trick to reduce $\geq k$ cycle to finding a cycle of length exactly $t$, for $t \leq 2k$ (I first heard of this trick from Daniel Marx). The key observasjon is that contracting an edge of $G$ may not increase the length of the longest cycle in G, and may only decrease the length by a factor at most two. Thus we can search for cycles of length exactly $t$ for $k \leq t \leq 2k$. If no cycle is found, contract an edge and repeat.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This shoukd be quite a bit faster than the treewidth based algorithms, I believe, especially if you use the sieving methods for finding t-cycles (paths). There are very efficient implementations for $k$-path by Bjorklund et al:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Fast Witness Extraction Using a Decision Oracle, with Andreas Björklund and Petteri Kaski &#xA;Proc. 22th Annual European Symposium on Algorithms (ESA 2014), LNCS 8737, 2014, pp. 149-160. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This should be adaptable to your problem.&lt;/p&gt;&#xA;" OwnerUserId="27464" LastActivityDate="2014-11-12T21:47:39.343" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27432" PostTypeId="2" ParentId="25133" CreationDate="2014-11-12T22:59:05.033" Score="6" Body="&lt;p&gt;Let me second Michael's judgment, this is indeed an interesting&#xA;question. Michael's main idea can be combined with a result from the literature, thus providing a similar lower bound with a rigorous proof.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I will refer to bounds on CFG size in terms of the total number of alphabetic symbols in the $n$ regular expressions. Let this number be denoted by $k$. (As john_leo noted, we will not find any useful bounds in terms of the number of regular expressions taking part in the intersection.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Neither the OP nor Michael did find it necessary to mention this, but&#xA;an upper bound of $2^{k+1}$ (on the number of states) for converting&#xA;an intersection of regular expressions into a NFA can be easily&#xA;proved. For the record, here it is: Convert the regular expressions&#xA;into Glushkov automata, which are all non-returning. Then apply the&#xA;product construction to obtain an NFA for the intersection of these&#xA;languages. (I suppose that one can improve the bound to $2^k+1$ or&#xA;so.) An $s$-state NFA can be converted into a right-linear grammar&#xA;(which is a special case of a CFG) of size $O(s^2)$ (if we measure&#xA;grammar size as total number of symbols on the left- and&#xA;right-hand-sides of the productions), thus giving size $O(4^{k})$.&#xA;This bound of course sounds horrible if you have practical&#xA;applications in mind. Trying to prove a better bound using nondeterministic&#xA;transition complexity instead of nondeterministic state complexity for&#xA;estimating the size of the NFA may be worth the effort.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The other part is finding a witness language that can be succinctly expressed as the intersection of regular expressions, but is necessarily cumbersome to describe with a CFG. (Here we need to establish a lower bound on the size of all CFGs generating the language, of which there can be infinitely many.)&#xA;The following argument gives a $2^{\Omega(\sqrt{k}/\log k)}$ lower bound.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider the finite language $L_n = \{\,ww^Rw \in \{a,b\}^*\mid |w|=n\,\}$, where $w^R$ denotes the reversal of $w$. Then $L_n$ can be expressed as the intersection of the following $2n+1$ regular expressions:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$r_i = (a+b)^ia(a+b)^{2(n-i-1)}a(a+b)^*+(a+b)^ib(a+b)^{2(n-i-1)}b(a+b)^*$, for $1\le i \le n$; &lt;/li&gt;&#xA;&lt;li&gt;$s_i = (a+b)^*a(a+b)^{2(n-i-1)}a(a+b)^i+(a+b)^*b(a+b)^{2(n-i-1)}b(a+b)^i$, for $1\le i \le n$;&lt;/li&gt;&#xA;&lt;li&gt;$\ell = (a+b)^{3n}$ &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The total number $k$ of alphabetic symbols in this intersection of expressions is in $O(n^2)$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Using an argument given in the proof of Theorem 13 in (&lt;a href=&quot;http://dx.doi.org/10.4230/LIPIcs.FSTTCS.2009.2304&quot;&gt;1&lt;/a&gt;), one can prove that every acyclic CFG that generates $L_n$ must have at least $2^n/(2n) = 2^{\Omega(\sqrt{k}/\log k)}$ distinct variables, if the right-hand side of each rule has length at most $2$. The latter condition is necessary for arguing about the number of variables, since we can generate a finite language with a single variable. But from the perspective of grammar size, this condition is not really a restriction, since we can transform a CFG into this form with only a linear blowup in size, see (&lt;a href=&quot;http://www.informatica-didactica.de/cmsmadesimple/uploads/Artikel/LangeLeiss2009/LangeLeiss2009.pdf&quot;&gt;2&lt;/a&gt;). Notice that the language used by Arvind et al. is over an alphabet of size $n$, and this yields a bound of $n^n/(2n)$; but the argument carries over with obvious modifications.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Still, a large gap remains between $O(4^n)$ and the abovementioned lower bound.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;References:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;V. Arvind, Pushkar S. Joglekar, Srikanth Srinivasan. &lt;a href=&quot;http://dx.doi.org/10.4230/LIPIcs.FSTTCS.2009.2304&quot;&gt;Arithmetic Circuits and the Hadamard Product of Polynomials&lt;/a&gt;, FSTTCS 2009, Vol. 4 of LIPIcs, pp. 25-36&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Lange, Martin; Leiß, Hans (2009). &quot;&lt;a href=&quot;http://www.informatica-didactica.de/cmsmadesimple/uploads/Artikel/LangeLeiss2009/LangeLeiss2009.pdf&quot;&gt;To CNF or not to CNF? An Efficient Yet Presentable Version of the CYK Algorithm&lt;/a&gt;&quot;. Informatica Didactica 8.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="2367" LastActivityDate="2014-11-12T22:59:05.033" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27433" PostTypeId="1" CreationDate="2014-11-12T23:12:38.117" Score="4" ViewCount="428" Body="&lt;p&gt;Let a graph on $|V|$ vertices and $|E|$ edges. We randomly sample $s= c \cdot \frac{|V|}{{d_{\text{av}}}}$ vertices, without replacement, where $d_{\text{av}}$ is the average degree of $G$ and $c$ is some big constant. Let $G'$ be the subgraph induced by these $s$ vertices.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is the size of the largest connected component of $G'$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm tempted to say $O(\log(s))$, under a mild assumption like |E| = o(|V|^2). Some intuition comes from the fact that the probability of 2 vertices in $G'$ being friends is $\sim \frac{E}{V^2} = \frac{{d_{\text{av}}}}{|V|}=1/s$; if $G'$ was an Erdős–Rényi then, it would be below the giant component threshold. Obviously, the edges in $G'$ are not independent, so the result does not immediately hold. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Examples where the O(log(s)) claim is true: star, cycle graph, union of cliques of size o(n).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any ideas? &lt;/p&gt;&#xA;" OwnerUserId="6963" LastEditorUserId="6963" LastEditDate="2014-11-13T04:00:21.240" LastActivityDate="2014-11-13T04:00:21.240" Title="The largest connected component of a random subgraph" Tags="&lt;graph-theory&gt;&lt;randomness&gt;&lt;random-graphs&gt;" AnswerCount="0" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="27434" PostTypeId="1" CreationDate="2014-11-13T05:15:18.077" Score="0" ViewCount="162" Body="&lt;p&gt;It is known that &lt;code&gt;K = (λx.(λy.x))&lt;/code&gt; and &lt;code&gt;S = (λx.(λy.(λz.((x z) (y z)))))&lt;/code&gt; define a turing complete system, and we know procedures to map back and forth from lambda calculus to SK calculus. Now, given two arbitrary combinators, &lt;code&gt;A&lt;/code&gt; and &lt;code&gt;B&lt;/code&gt; in the set of valid lambda terms, is there an algorithm that will answer whether those combinators define a turing-complete system, and what is the corresponding mapping between a lambda term and those combinators? If not, is there such an algorithm with additional restrictions on the shape of &lt;code&gt;A&lt;/code&gt; and &lt;code&gt;B&lt;/code&gt; (say, its depth), that could be effectively used to find systems that are similar to SK?&lt;/p&gt;&#xA;" OwnerUserId="17388" LastEditorUserId="77" LastEditDate="2014-11-16T08:30:43.643" LastActivityDate="2014-11-16T08:30:43.643" Title="Is there an algorithm to find whether 2 combinators form a Turing-complete system?" Tags="&lt;fl.formal-languages&gt;&lt;pl.programming-languages&gt;&lt;lambda-calculus&gt;" AnswerCount="0" CommentCount="14" ContentLicense="CC BY-SA 3.0" />
  <row Id="27437" PostTypeId="2" ParentId="27393" CreationDate="2014-11-13T10:25:47.927" Score="2" Body="&lt;p&gt;&lt;em&gt;This new version of the answer tries to take into account the changes&#xA; in the question, and the information exchanged in the comments.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This answer assumes that $S$ should be the set of variables that have a&#xA;content that is used in some defined fragment of the program, rather&#xA;than, at some point in the program, the variables with a content that&#xA;will be needed before the end of the program.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the latter, the usual term is &lt;strong&gt;live&lt;/strong&gt; variables, as remarked in a &lt;a href=&quot;https://cstheory.stackexchange.com/questions/27393/name-a-set-of-program-variables#comment65551_27393&quot;&gt;comment by Klaus Draeger&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The former is a generalisation of the concept of &lt;strong&gt;use&lt;/strong&gt;, as appears&#xA;in &lt;a href=&quot;http://en.wikipedia.org/wiki/Data-flow_analysis&quot; rel=&quot;nofollow noreferrer&quot;&gt;dataflow analysis&lt;/a&gt;, and particularly in such concepts as&#xA;&lt;a href=&quot;http://en.wikipedia.org/wiki/Use-define_chain&quot; rel=&quot;nofollow noreferrer&quot;&gt;Use-Define or Use-Definition chains (UD chains)&lt;/a&gt;, as well as&#xA;Definition-Use chains (DU chains). The concept of &lt;em&gt;use&lt;/em&gt; is usually&#xA;intended for elementary program statements such as an expression&#xA;appearing in an assignment or a function call. Recall that this&#xA;originates with analysis and optimization of old Fortran programs in&#xA;the late 1960s and in the 1970s, and the was no real concept of a&#xA;compound statement at the time in the Fortran language.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But there is no reason not to extend the concept to larger program&#xA;fragments that form a meaningful whole. Thus &lt;strong&gt;used variable&lt;/strong&gt; or&#xA;&lt;strong&gt;used set&lt;/strong&gt; seem to be exactly the concepts and terminology that you&#xA;are looking for.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, there may be a difficulty in defining what is implied in the&#xA;expression &quot;is used by&quot;. It may just mean: &quot;syntactically appears in&quot;,&#xA;which is as simple as you can make it. This is indeed purely&#xA;syntactic, but rather non satisfactory, because the variable may well&#xA;appear only in a statement that changes its value, rather than use the&#xA;value it already has. This is too simplistic is is clearly not what&#xA;was intended by the creators of the concept.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then a better definition will state that the occurrence of a variable&#xA;must imply that its value is actually used.  But as soon as you say&#xA;that, you are no longer in syntax since you must use some of the&#xA;meaning of the program fragment to know whether the occurrence of the&#xA;variable is for using or for changing its value (or possibly is simply&#xA;irrelevant). And when you start using the semantics of the language&#xA;construct, there is no clear limit on how much of the semantics you&#xA;can use.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The definition given in page 632 of the Dragon Book 1988 is:  &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;We say that a variable is &lt;em&gt;used&lt;/em&gt; at a statement $s$ if its $r$-value may be required.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;First one should note the use of &lt;code&gt;if&lt;/code&gt; rather than &lt;code&gt;iff&lt;/code&gt;, which clearly&#xA;indicates that some variables not meeting the condition may end up&#xA;being qualified as &lt;em&gt;used&lt;/em&gt;. This even reinforced by the &lt;code&gt;may be&lt;/code&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then, this almost definition does not bring much light on the issue. What does it mean to&#xA;&lt;em&gt;be required&lt;/em&gt;. Typically, if a variable is an argument to a subprogram&#xA;(procedure, function, method, ...), you may think it is required.  But&#xA;if further analysis shows that the value of this argument is not&#xA;actually used in the subprogram, and the argument is only used to&#xA;return a result, the $r$-value of the variable is not required.  Some&#xA;may object that this could be handled by an appropriate type system,&#xA;which they consider syntax (I do not).  But the fact that a value is&#xA;not required may depend on deeper semantic analysis (such as in&#xA;example 4 of the question). Furthermore, the evolution of type systems&#xA;and type theory tends to allow inclusion in types of most thing you&#xA;may want to say or prove about a variable, which would hardly qualify&#xA;as syntactic.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thus the situation is that there is not really an undisputable&#xA;syntactic (?) reference definition of &quot;used variable&quot;, and it depends&#xA;essentially on an arbitrary choice implied by the set of techniques&#xA;used to analyze the program and the level of knowledge it brings&#xA;regarding actual use of the variable value at run-time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand it is possible to give a reference semantic&#xA;definition for a set $S$ of &lt;em&gt;used variables&lt;/em&gt;:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;A variable is &lt;em&gt;used&lt;/em&gt; in some program fragment iff there is a computation of that program such that the results and effects&#xA;     of executing that fragment depend on the value of that variable before execution.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;This is not completely satisfactory, because there are other&#xA;parameters that could be considered, and might suggest a different&#xA;terminology, though not change the above remarks about syntax and&#xA;semantics.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, in a sequential context, the above definition is clear,&#xA;and refers to the value of the variable before executing the program&#xA;(fragment).  However, one may still question what is considered an&#xA;effect, what is an impact on execution. Execution time could well be&#xA;part of the semantics of a program, or not.  Then, in a parallel&#xA;execution context, you would consider more than the initial value of&#xA;the variable. But I will ignore this, as the question has not been&#xA;considering it (as far as I can see), and I will stick to the&#xA;definition above.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The set $S$ thus defined semantically is the most precise&#xA;(i.e. minimal) set of variables that can matter in any computation,&#xA;though some may not matter in some computation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But this set is not necessarily computable. It is recursively&#xA;enumerable, since a Turing Machine could simulate in parallel all possible&#xA;computations, and enumerate all the variables that turn out to be used&#xA;effectively (in the sense of our definition) in some computation. But&#xA;determining that some variable will not be used in a computation is&#xA;undecidable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The best we can hope for is to exhibit a superset of $S$, such that we&#xA;are sure not to miss any relevant variable. This is precisely what is&#xA;done by the various techniques that can be called upon to determine&#xA;the used variables. But they do not all produce the same result and&#xA;the results they give can be more or less precise.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If some program analysis technique $T_i$ produces a set $S_i$ of used&#xA;variable, we say that $T_i$ is correct iff $S\subseteq S_i$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If two techniques $T_1$ and $T_2$ produce respectively the sets $S_1$&#xA;and $S_2$, then $T1$ is better, more precise than $T_2$ iff&#xA;$S\subseteq S_1\subseteq S_2$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The only thing that has a precise definition (up to the above caveat)&#xA;is the set S, enven though possibly not computable. It is also the&#xA;reference for any other set to be considered acceptable in practice, and is the smallest, the most precise of them all.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hence, the expressions &quot;&lt;em&gt;used set&lt;/em&gt;&quot; and &quot;&lt;em&gt;used variable&lt;/em&gt;&quot; should be&#xA;reserved for that set.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;And I suggest that the other sets that are considered in practice,&#xA;should use the same name, qualified with the name of the technique&#xA;that produced them. If the technique is unique and unnamed, it could&#xA;be called the &lt;em&gt;computed use set&lt;/em&gt; (what is called &lt;code&gt;SY&lt;/code&gt;in the question),&#xA;or just &lt;em&gt;used set&lt;/em&gt; when there is no ambiguity.&lt;/p&gt;&#xA;" OwnerUserId="16132" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2014-11-14T15:12:05.683" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="27439" PostTypeId="1" AcceptedAnswerId="27443" CreationDate="2014-11-13T14:17:24.043" Score="5" ViewCount="219" Body="&lt;p&gt;I'm aware of this question&#xA;&lt;a href=&quot;https://stackoverflow.com/questions/4350215/fastest-nearest-neighbor-algorithm&quot;&gt;https://stackoverflow.com/questions/4350215/fastest-nearest-neighbor-algorithm&lt;/a&gt;&#xA;But it's not the same question as I'm asking. Because, Octree and its generalization are only applicable to very small $D$, and they increase exponentially with regard to it. But I'm interested in very high dimensional cases, like $D&amp;gt;1000$. Assume we have a cloud of $N$ points in a $D$ dimensional space. But they might have a lower inherent dimension $d$, i.e., they lie on a $d$ dimensional manifold. Now, what is the most efficient way to compute K-nearest neighbors for each point? I've researched this topic a little bit, but most of the literature focuses on KNN clustering which is slightly different from what I'm asking. First, I don't have any labels here and those methods which rely on labels to reduce complexity are not of any interest. Second, many methods focus on reducing query processing time, which means they pre-process the data, build a database, and quickly process new queries. But I'm interested in reducing the overall time complexity rather than queries. What is the state-of-the-art method and its time complexity? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;UPDATE:&lt;/strong&gt;&#xA;One might assume that these points are uniformly spread in a hyper-cube. I suppose anything which holds for uniform distribution, to a lesser extent will hold for a smoothly changing distribution. &lt;/p&gt;&#xA;" OwnerUserId="14187" LastEditorUserId="-1" LastEditDate="2017-05-23T12:40:09.333" LastActivityDate="2014-11-16T15:40:13.710" Title="Fast high-dimensional K-nearest neighbors" Tags="&lt;cg.comp-geom&gt;&lt;time-complexity&gt;&lt;computational-geometry&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="27441" PostTypeId="1" CreationDate="2014-11-13T15:20:08.103" Score="0" ViewCount="354" Body="&lt;p&gt;We know that Partition problem is NP-complete: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&quot;Given a multi-set of positive integers like X = &amp;lt; a_1, a_2, ... a_n &gt;, is there any bi-partition  for X such that the summation of the numbers in S and S' are equal?&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I find a reduction from the subset-sum problem into the partition problem, but is there any other proof for the NP-completeness of the subset-sum (like from 3-SAT)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am actually trying to see if the special case of the partition problem in which all the a_i's are odd distinct integers is NP-complete or not. Does anybody have any idea?&lt;/p&gt;&#xA;" OwnerUserId="24175" LastActivityDate="2014-11-16T20:09:24.973" Title="Partition problem" Tags="&lt;cc.complexity-theory&gt;" AnswerCount="2" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="27442" PostTypeId="1" AcceptedAnswerId="27872" CreationDate="2014-11-13T17:27:21.220" Score="22" ViewCount="862" Body="&lt;p&gt;Following on from a &lt;a href=&quot;https://cstheory.stackexchange.com/q/93/109&quot;&gt;previous question&lt;/a&gt;,&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;what are the best current &lt;em&gt;space&lt;/em&gt; lower bounds for SAT?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;With a space lower bound I here mean the number of worktape cells used by a Turing machine which uses a &lt;em&gt;binary&lt;/em&gt; worktape alphabet.&#xA;A constant additive term is unavoidable since a TM can use internal states to simulate any fixed number of worktape cells.&#xA;However, I am interested in controlling the multiplicative constant that is often left implicit:&#xA;the usual setup allows arbitrary constant compression via larger alphabets so the multiplicative constant is not relevant there, but with a fixed alphabet it should be possible to take it into account.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For instance, SAT requires more than $\log\log n + c$ space; if not then this space upper bound would lead to a time upper bound of $n^{1+o(1)}$ by simulation, and thereby the combined $n^{1.801+o(1)}$ space-time lower bound for SAT would be violated (see the linked question).  It also seems possible to improve this argument to argue that SAT requires at least $\delta\log n + c$ space for some small positive $\delta$ that is something like $0.801/C$, where $C$ is the constant exponent in simulation of a space-bounded TM by a time-bounded TM.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Unfortunately $C$ is usually quite large (and certainly at least 2 in the usual simulation, where the tapes of a TM are first encoded on a single tape via a larger alphabet).  Such bounds with $\delta \ll 1$ are rather weak, and I would be especially interested in a space lower bound of $\log n + c$.&#xA;An unconditional time lower bound of $\Omega(n^d)$ steps, for some large enough constant $d &amp;gt; 1$, would imply such a space lower bound via simulation.  However, time lower bounds of $\Omega(n^d)$ for $d&amp;gt;1$ are not currently known, let alone for large $d$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Put differently, I'm looking for something that would be a consequence of superlinear time lower bounds for SAT, but which might be possible to obtain more directly.&lt;/p&gt;&#xA;" OwnerUserId="109" LastEditorUserId="109" LastEditDate="2014-12-30T10:00:49.267" LastActivityDate="2014-12-30T10:00:49.267" Title="Best current space lower bound for SAT?" Tags="&lt;cc.complexity-theory&gt;&lt;sat&gt;&lt;lower-bounds&gt;&lt;space-bounded&gt;&lt;space-complexity&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="27443" PostTypeId="2" ParentId="27439" CreationDate="2014-11-13T19:55:40.177" Score="5" Body="&lt;p&gt;For high-dimensional exact nearest neighbor search the theoretical guarantees are pretty dismal: the best algorithms are based on fast matrix multiplication and have running time of the form $O(N^2D^\alpha)$ for some $\alpha &amp;lt; 1$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand you can do better if you are ok with approximation. &lt;a href=&quot;http://www.mit.edu/~andoni/LSH/&quot; rel=&quot;nofollow&quot;&gt;Locality sensitive hashing&lt;/a&gt; can be used to achieve subquadratic in $N$ running times while reporting points which are not much further than the nearest neighbors. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For subsets of Euclidean space with doubling dimension $d$ (which captures the lower-dimensional manifold situation), &lt;a href=&quot;https://web.math.princeton.edu/~naor/homepage%20files/lowdim-journal-new2.pdf&quot; rel=&quot;nofollow&quot;&gt;Indyk and Naor&lt;/a&gt; show that there is an embedding into $O(d)$ dimensions (in fact a random projection in the style of the Johnson-Lindenstrauss lemma) which approximately preserves nearest neighbors. If $d$ is small enough you could first apply the embedding, then use a nearest neighbor data structure for low dimension.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You could also try the &lt;a href=&quot;http://dl.acm.org/citation.cfm?doid=1374376.1374452&quot; rel=&quot;nofollow&quot;&gt;random projection trees&lt;/a&gt; (RP-trees) of Dasgupta and Freund. They are a natural variant of kd-trees in which the cut in each level is done in a random direction, rather than a coordinate direction. I don't think there are any known provable guarantee for how well RP-trees do on nearest neighbor problems, but the paper I have linked does prove that the trees adapt nicely to doubling dimension, so there is hope. The guarantee they give is that, if a point set inside a cell has doubling dimension $d$, then the descendants of the cell $O(d\log d)$ levels down the tree have diameter at most half that of the cell.&lt;/p&gt;&#xA;" OwnerUserId="4896" LastEditorUserId="4896" LastEditDate="2014-11-14T06:33:32.300" LastActivityDate="2014-11-14T06:33:32.300" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27444" PostTypeId="2" ParentId="27439" CreationDate="2014-11-13T20:39:38.830" Score="4" Body="&lt;p&gt;Several state of the art approximate nearest neighbor methods in high dimensions are based on reducing the dimension of the space through randomized techniques.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The main idea is that you can exploit &lt;a href=&quot;http://www.math.lsa.umich.edu/~barvinok/total710.pdf&quot; rel=&quot;nofollow&quot;&gt;concentration of measure&lt;/a&gt; to greatly reduce the dimension of the space while preserving distances up to tolerance $\epsilon$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In particular, following from the Johnson-Lindenstrauss lemma (upper bound) and a result of Noga Alon (lower bound), there exists a subspace of reduced dimension &#xA;$$C_1 \frac{\log(N)}{\epsilon^2 \log(1/\epsilon)} \le \text{reduced dimension} \le C_2\frac{\log(N)}{\epsilon^2}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;such that for any two points $u,v$ in your collection, their projections $\tilde{u}, \tilde{v}$ onto the reduced dimensional space satisfy &#xA;$$(1-\epsilon)||u-v||^2 \le ||\tilde{u} - \tilde{v}||^2 \le (1+\epsilon)||u-v||^2.$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Indeed, such subspaces are &quot;typical&quot; in a sense, and you can find such a subspace with high probability by simply projecting your points onto a completely random hyperplane (and in the unlikely event that such a hyperplane is not good enough, just pick another random one and project again). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now you have a nearest neighbor problem on a much much lower dimensional space.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A key paper is,&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Ailon, Nir, and Bernard Chazelle. &#xA;  &quot;Approximate nearest neighbors and the fast Johnson-Lindenstrauss transform.&quot; &#xA;  Proceedings of the thirty-eighth annual ACM symposium on Theory of computing. ACM, 2006.&#xA;  &lt;a href=&quot;http://www.cs.technion.ac.il/~nailon/fjlt.pdf&quot; rel=&quot;nofollow&quot;&gt;http://www.cs.technion.ac.il/~nailon/fjlt.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="9018" LastEditorUserId="9018" LastEditDate="2014-11-14T10:04:35.323" LastActivityDate="2014-11-14T10:04:35.323" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="27445" PostTypeId="2" ParentId="11924" CreationDate="2014-11-13T21:45:54.667" Score="8" Body="&lt;p&gt;Makoto Takeyama and I sent the following to data-refinement@etl.go.jp on Jan 5, 1996:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Subject: what is a data refinement relation?&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;Dear all:  anyone still interested in data refinement?&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;Recently Mak and I have been looking again at an idea we considered&#xA;   many months ago.  The motivation is to characterize&#xA;   the logical relations relevant to showing data refinement.&#xA;   This was stimulated by the realization that logical relations can&#xA;   be used to show &quot;safety&quot; of abstract interpretations&#xA;   (see Section 2.8 of the chapter by Jones and Nielson in&#xA;   volume 4 of the Handbook of Logic in CS), but such relations&#xA;   are more general than those used to show data refinement.&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;My reasoning goes as follows.  If a relation R is establishing a data&#xA;   refinement between (among) sets, then it must be inducing &#xA;   (partial) equivalence relations on each of the sets, with &#xA;   these equivalence classes in one-to-one correspondence,&#xA;   and every element of an equivalence class must be related&#xA;   to all elements of the corresponding equivalence classes in&#xA;   the other domains of interpretation.  The idea is that each &#xA;   equivalence class represents an &quot;abstract&quot; value; in a fully&#xA;   abstract interpretation the equivalence classes are singletons.&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;We can give a simple condition to ensure that an n-ary relation R induces &#xA;   this structure.  Define v ~ v' in domain V iff there exists a value&#xA;   x in some other domain X (and arbitrary values ... in the&#xA;   other domains) such that R(...,v,...,x,...) and R(...,v',...,x,...).&#xA;   This defines symmetric relations on each of the domains.  Imposing&#xA;   local transitivity would then give us pers on each domain, but&#xA;   this would not suffice because we want to ensure transitivity&#xA;   across interpretations.  The following condition achieves this:&#xA;   if v_i ~ v'_i for all i, then R(...,v_i,...) iff R(...,v'_i,...)&#xA;   I call this &quot;zig-zag completeness&quot;; in the case n=2, it says&#xA;   that if R(a,c) &amp;amp; R(a',c') then R(a,c') iff R(a',c).&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;Proposition. If R and S are zig-zag complete relations, so&#xA;   are R x S and R -&gt; S.  &lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;Proposition.  Suppose t and t' are terms of type th in context pi,&#xA;   and R is a zig-zag complete logical relation; &#xA;   then, if the equivalence judgement t=t' is interpreted as follows:&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;for all u_i in V_i[[pi]],&lt;br&gt;&#xA;      R^{pi}(...,u_i,...) implies that, for all i, V_i[[t]]u_i ~ V_i[[t']]u_i&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;this interpretation satisfies the usual axioms and rules&#xA;   for equational logic.&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;The intuition here is that the terms are to be &quot;equivalent&quot; both&#xA;    within a single interpretation (V_i) and across interepretations;&#xA;    i.e., the meanings of t and t' are in the same R-induced &#xA;    equivalence class, no matter which interpretation is used.&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;Questions:&lt;/p&gt;&#xA;  &#xA;  &lt;ol&gt;&#xA;  &lt;li&gt;&lt;p&gt;Has anyone seen this kind of structure before?&lt;/p&gt;&lt;/li&gt;&#xA;  &lt;li&gt;&lt;p&gt;What are the natural generalizations of these ideas to &#xA;    other propositions and &quot;arbitrary&quot; semantic categories? &lt;/p&gt;&lt;/li&gt;&#xA;  &lt;/ol&gt;&#xA;  &#xA;  &lt;p&gt;Bob Tennent&#xA;  rdt@cs.queensu.ca&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="28954" LastEditorUserId="-1" LastEditDate="2015-02-04T16:37:45.007" LastActivityDate="2015-02-04T16:37:45.007" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27449" PostTypeId="1" AcceptedAnswerId="27451" CreationDate="2014-11-14T18:58:18.007" Score="27" ViewCount="3299" Body="&lt;p&gt;&lt;a href=&quot;http://www.liberation.fr/sciences/2014/11/13/alexandre-grothendieck-ou-la-mort-d-un-genie-qui-voulait-se-faire-oublier_1142614?xtor=rss-450&quot; rel=&quot;nofollow noreferrer&quot;&gt;Grothendieck has passed away&lt;/a&gt;. He had massive impact on 20th century mathematics continuing into the 21st century. This question is asked somewhat in the style/spirit, for example, of &lt;a href=&quot;https://cstheory.stackexchange.com/questions/11797/alan-turings-contributions-to-computer-science&quot;&gt;Alan Turing&amp;#39;s Contributions to Computer Science&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What are &lt;a href=&quot;http://en.wikipedia.org/wiki/Alexander_Grothendieck&quot; rel=&quot;nofollow noreferrer&quot;&gt;Grothendieck&lt;/a&gt;'s major influences on theoretical computer science?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.743" LastActivityDate="2014-11-16T21:06:37.220" Title="Impact of Grothendieck's program on TCS" Tags="&lt;big-picture&gt;&lt;ct.category-theory&gt;&lt;ho.history-overview&gt;" AnswerCount="3" CommentCount="7" FavoriteCount="17" ContentLicense="CC BY-SA 3.0" />
  <row Id="27450" PostTypeId="1" CreationDate="2014-11-14T20:00:07.760" Score="9" ViewCount="247" Body="&lt;p&gt;I'm faced with the problem of maintaining the strong components of a directed graph under insertions/deletions of edges and vertices.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As noted in one of the answers to a closely-related question &lt;a href=&quot;https://cstheory.stackexchange.com/questions/11696&quot;&gt;here&lt;/a&gt;, the literature in this area is rather fragmented and hard for a newcomer such as myself to approach.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, the &lt;a href=&quot;http://www.cs.princeton.edu/courses/archive/fall09/cos521/Handouts/polylogarithmic.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;paper by Holm et al.&lt;/a&gt; appears to focus on undirected graphs, and it's unclear to me whether any of their results can be adapted to work with digraphs.  Other papers I've found focus on either the incremental or decremental cases, rather than the fully-dynamic case.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My need arises in a real-world software engineering scenario, so I would actually be fine with an approach that yields no worst-case asymptotic advantage over the naive idea of running an SCC algorithm from scratch for each update, so long as it performs well in practice.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'd prefer not to reinvent the wheel, but I also don't have endless hours to wade through the literature, so hopefully someone here can save me some time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks in advance!&lt;/p&gt;&#xA;" OwnerUserId="28960" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.743" LastActivityDate="2020-07-20T04:12:11.340" Title="Fully dynamic algorithms for strong components of a directed graph" Tags="&lt;graph-algorithms&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27451" PostTypeId="2" ParentId="27449" CreationDate="2014-11-14T20:33:28.650" Score="28" Body="&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Grothendieck_inequality&quot;&gt;Grothendieck's inequality&lt;/a&gt;, from his days in functional analysis, was initially proved to relate fundamental norms on tensor product spaces. Grothendieck called the inequality &quot;the fundamental theorem of the metric theory of tensor product spaces&quot;, and published it in a now famous paper in 1958, in French, in a limited circulation Brazilian journal. The paper was largely ignored for 15 years, until it was rediscovered by Lindenstrauss and Pelczynski (after Grothendieck had left functional analysis). They gave many reformulations of the paper's main results, related it to research on absolutely summing operators and factorization norms, and observed that Grothendieck had solved &quot;open&quot; problems which had been raised &lt;em&gt;after&lt;/em&gt; the paper was published. Pisier gives a very detailed account of the inequality, its variants, and its tremendous influence on functional analysis in his &lt;a href=&quot;http://www.math.tamu.edu/~pisier/grothendieck.pdf&quot;&gt;survey&lt;/a&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Grothendieck's inequality is very naturally expressed in the language of combinatorial optimization and approximation algorithms. It says that the non-convex, NP-hard optimization problem &#xA;$$&#xA;\max\{x^TAy: x \in \{-1, 1\}^m, y \in \{-1, 1\}^n\}&#xA;$$&#xA;is approximated up to a fixed constant by its semidefinite relaxation&#xA;$$&#xA;\max\{\sum_{i,j}{a_{ij}\langle u_i, v_j\rangle}: u_1, \ldots, u_m, v_1, \ldots, v_n \in \mathbb{S}^{n+m-1}\},&#xA;$$&#xA;where $\mathbb{S}^{n+m-1}$ is the unit sphere in $\mathbb{R}^{n+m}$. Proofs of the inequality give &quot;rounding algorithms&quot;, and in fact the Goemans-Williamson random hyperplane rounding does the job (but gives a suboptimal constant). However, Grothendieck's inequality is interesting because the analysis of the rounding algorithm has to be &quot;global&quot;, i.e. look at all terms of the objective function together. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Having said this, it should not be surprising that Grothendiecks's inequality has found a second (third? fourth?) life in computer science. Khot and Naor &lt;a href=&quot;http://arxiv.org/abs/1108.2464&quot;&gt;survey&lt;/a&gt; its multiple applications and connections to combinatorial optimization. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The story does not end there. The inequality is related to Bell inequality violations in quantum mechanics (see Pisier's paper), has been used by &lt;a href=&quot;http://www.cs.huji.ac.il/~nati/PAPERS/ccfn.pdf&quot;&gt;Linial and Shraibman&lt;/a&gt; in work on communication complexity, and even turned out useful in work on &lt;a href=&quot;http://arxiv.org/abs/1308.1385&quot;&gt;private data analysis&lt;/a&gt; (shameless plug). &lt;/p&gt;&#xA;" OwnerUserId="4896" LastActivityDate="2014-11-14T20:33:28.650" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="27453" PostTypeId="2" ParentId="27300" CreationDate="2014-11-15T03:00:31.750" Score="11" Body="&lt;p&gt;This is a very interesting question. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;First, a clarifying remark. Note that &quot;upper bound on the number of witnesses&quot; is &lt;strong&gt;not&lt;/strong&gt; a property of a computational problem per se, but of a particular verifier used to decide an $NP$ problem, just as an &quot;upper bound on number of states&quot; would not be a property of a problem but of a Turing machine deciding it. So saying &quot;$NP$ problem with upper bound on number of solutions&quot; isn't quite accurate, and if $P = NP$ then every $NP$ problem has a verifier with any number of desired solutions (including zero, and including all possible strings).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So we have to make a definition, to address your question. For $s : {\mathbb N} \rightarrow {\mathbb N}$, let's say an $NP$ problem $L$ &quot;has at most $s(n)$ solutions&quot; if for some constant $c$ there is an $O(n^c)$ time verifier $V$ such that, for every input length $n$ and for every $x \in L$ of length $n$, there are distinct $y_1,\ldots,y_{s(n)}$ of length $n^c$ such that $V(x,y_i)$ accepts for all $i$, and $V(x,y)$ rejects all other $y$ of length $n^c$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;All I think I can say at the moment is this: &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Every $NP$-complete problem I know (defined by some natural verifier) has an obvious corresponding $\#P$-complete counting version (with the &lt;em&gt;same&lt;/em&gt; verifier). &lt;/li&gt;&#xA;&lt;li&gt;For any $NP$-complete problem defined with a verifier having at most $poly(n)$ solutions (or even $2^{n^{o(1)}}$ solutions) the corresponding counting version probably isn't $\#P$-complete.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;More details: Suppose $L$ is $NP$-complete, with a verifier $V$ that has at most $O(n^c)$ solutions. Then the natural counting &quot;decision&quot; version of $L$, which we define as &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$Count_L(x) := \text{the number of $y$ such that $V(x,y)$ accepts}$ &lt;/p&gt;&#xA;&#xA;&lt;p&gt;is computable in $FP^{NP[O(\log n)]}$, that is, a polytime function with $O(\log n)$ queries to $NP$. That is because deciding whether the number of solutions to $x$ is at most $k$ is in $NP$: the witness, if it exists, is simply the number of $y_i$'s making $V$ accept, which we &lt;em&gt;know&lt;/em&gt; to be at most $O(n^c)$. Then we can binary search using this $NP$ problem to compute the exact number of solutions to $L$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Therefore, an $NP$-complete problem of this kind could not be extended to a $\#P$-complete problem in the usual way, unless $\#P \subseteq FP^{NP[O(\log n)]}$. This looks unlikely; the whole polynomial time hierarchy would basically collapse to $P^{NP[O(\log n)]}$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you assume $s(n) = 2^{n^{o(1)}}$ in the above, you would still get an unlikely consequence. You would show that $\#P$ can be computed in $2^{n^{o(1)}}$ time with an $NP$ oracle. That's more than enough to prove, for instance, that $EXP^{NP} \neq PP$ and subsequently $EXP^{NP} \not\subset P/poly$. Not that those &lt;em&gt;separations&lt;/em&gt; are unlikely, but it seems unlikely they'd be proved by giving a subexp time $NP$-oracle algorithm for the Permanent. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;By the way, I have said nothing too insightful here. There is almost certainly an argument like this in the literature.&lt;/p&gt;&#xA;" OwnerUserId="225" LastEditorUserId="225" LastEditDate="2014-11-17T04:29:05.683" LastActivityDate="2014-11-17T04:29:05.683" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27455" PostTypeId="1" CreationDate="2014-11-15T14:24:27.407" Score="4" ViewCount="135" Body="&lt;p&gt;Given boolean $f(\Bbb x)$, with $\Bbb x\in\{0,1\}^n$, what are good upper/lower bounds, in terms of $|f^{-1}(0)|$, for minimum $deg(p(\Bbb x))$ of a real polynomial satisfying $p(\Bbb x)=f(\Bbb x)$?&lt;/p&gt;&#xA;" OwnerUserId="28911" LastEditorUserId="28911" LastEditDate="2014-11-15T21:22:27.050" LastActivityDate="2014-11-16T15:19:11.247" Title="On Boolean functions with a certain number of zeros" Tags="&lt;boolean-functions&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="27460" PostTypeId="1" CreationDate="2014-11-15T19:42:06.227" Score="4" ViewCount="331" Body="&lt;p&gt;In &lt;a href=&quot;https://cstheory.stackexchange.com/questions/10396/0-1-vector-xor-problem&quot;&gt;this question&lt;/a&gt; vzn asked about the following problem, which I'll call Vector-Subset-Sum.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Given a set of vectors $v_i$ over GF(2) and a target vector $y$, is there a subset of the $v_i$ summing to $y$?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;In the answers, comments, and referenced papers I noted&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;The decision problem is in P.&lt;/li&gt;&#xA;&lt;li&gt;The natural minimization problem (finding the smallest subset) is NP-hard.&lt;/li&gt;&#xA;&lt;li&gt;It's related to the problem of finding sparse codewords in a linear code.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;My question is: are there any known polynomial-time approximation algorithms for the minimization problem in (2)? I know very little about coding theory, so there may be some obvious or well-known approximation-preserving reductions to (3) that I have not seen.&lt;/p&gt;&#xA;" OwnerUserId="7091" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2014-11-16T05:46:40.580" Title="Approximation algorithms for min vector subset-sum over GF(2)" Tags="&lt;approximation-algorithms&gt;&lt;optimization&gt;&lt;linear-algebra&gt;&lt;coding-theory&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27462" PostTypeId="2" ParentId="27455" CreationDate="2014-11-15T23:33:09.880" Score="4" Body="&lt;p&gt;One relevant result is that if $\deg f = d$ then $2^d\hat{f}(S)$ is an integer for all $S$ (see for example exercise 12(b) &lt;a href=&quot;http://www.contrib.andrew.cmu.edu/~ryanod/?p=301&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;). In particular, $2^d\hat{f}(\emptyset) = 2^{d-n}|f^{-1}(1)|$ is an integer, and so $|f^{-1}(0)|$ is a multiple of $2^{n-d}$. This gives a lower bound on $d$ given $|f^{-1}(0)|$, which is tight for an AND of $d$ variables.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In terms of corresponding upper bounds you can't expect much, since there are balanced functions of maximal degree (parity for example). Moreover, there are functions with $|f^{-1}(0)| = 2^{n-k}$ of maximal degree for all $1 \leq k \leq n$, for example parity on $n-k+1$ variables ORed with $k-1$ variables; you can probably be a bit more cunning and construct a function of maximal degree for any given $0 &amp;lt; |f^{-1}(0)| &amp;lt; 2^n$. However, if $|f^{-1}(0)| \in \{0,2^n\}$ then the function is constant.&lt;/p&gt;&#xA;" OwnerUserId="40" LastEditorUserId="40" LastEditDate="2014-11-16T15:19:11.247" LastActivityDate="2014-11-16T15:19:11.247" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="27463" PostTypeId="2" ParentId="27460" CreationDate="2014-11-16T05:46:40.580" Score="3" Body="&lt;p&gt;Dumer, Miccancio and Sudan &lt;a href=&quot;https://cseweb.ucsd.edu/~daniele/papers/DMS.html&quot; rel=&quot;nofollow&quot;&gt;showed&lt;/a&gt; that the minimum distance of a linear code is not approximable to any constant factor in randomized polynomial time, unless $\mathsf{NP} = \mathsf{RP}$. The minimum distance problem is the same as your problem if the $v_i$'s form the columns of the parity check matrix and $y = 0$.&lt;/p&gt;&#xA;" OwnerUserId="15" LastActivityDate="2014-11-16T05:46:40.580" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27465" PostTypeId="2" ParentId="27449" CreationDate="2014-11-16T11:48:04.660" Score="18" Body="&lt;p&gt;Grothendieck's impact can be felt in type theory and logic. For instance, Bart Jacobs' 700+ page volume &lt;em&gt;&lt;a href=&quot;http://www.cs.ru.nl/B.Jacobs/CLT/bookinfo.html&quot;&gt;Categorical Logic and Type Theory&lt;/a&gt;&lt;/em&gt; gives a uniform treatment of various type theories ($X$-type theory, where $X\subseteq \{ \text{simple},$ $\text{dependent},$ $\text{polymorphic},$ $\text{higher-order}\}$) based on the categorical notion of &lt;a href=&quot;http://ncatlab.org/nlab/show/Grothendieck+fibration&quot;&gt;Grothendieck fibrations&lt;/a&gt; (also called a cartesian fibrations). Similarly,&#xA;the notion of &lt;a href=&quot;http://en.wikipedia.org/wiki/Topos&quot;&gt;Topos&lt;/a&gt;, also due to Grothendieck, plays a heavy role in providing categorical semantics to logics and type theories, which is of interest to logicians and theoretical computer scientists alike. &lt;/p&gt;&#xA;" OwnerUserId="77" LastEditorUserId="77" LastEditDate="2014-11-16T16:00:00.077" LastActivityDate="2014-11-16T16:00:00.077" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="27466" PostTypeId="2" ParentId="27441" CreationDate="2014-11-16T16:31:37.143" Score="1" Body="&lt;p&gt;There is a quick reduction from POSITIVE 1-in-3 SAT; I give you only a sketch of it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a POSITIVE 1-in-3 SAT instance with $m$ positive clauses (in which every literal is unnegated) and $n$ variables; without loss of generality we can assume that the clauses are all distinct. For every variable $x_i$ add an integer $a_{x_i}$:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$a_{x_i} = \sum_{k \in I_{x_i}} 2^{3k + q} + 2^{i+1} + 1$ where $I_{x_i}$ is the set of the indices of the clauses that contain $x_i$; and $q$ is a large enough integer (for example $n+1$) that avoid the lower bits to &quot;interfere&quot; with the upper bits.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Add an integer $S = \sum_{k=1}^m 2^{3k + q} + 1$; add $n$ dum integers $d_i = 2^{i+q}+1, i=1...n$ and finally add $e = 1$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;All integers are distinct and odd.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose that $S$ is included in $A$; then, for every clause $C_j = ( x_{i_1}, x_{i_2}, x_{i_3})$, &lt;em&gt;exactly one&lt;/em&gt; of the $a_{x_{i_1}},a_{x_{i_2}},a_{x_{i_3}}$ can be included in $A$ because there are exactly four integers with the bit $2^{3j+q}$ set to 1 (three from the elements of the clause and one from $S$) and it easy to prove that this forces a valid 1-in-3 assignment (the $a_{x_i}$s included in $A$ correspond to variables $x_i$ that are set to true and form a valid 1-in-3 assignment for the original formula). The elements $d_1,...,d_n, e$ can be used to balance the $2^{i+1}+1$ part of the corresponding $a_{x_i}$ ($e$ is used to balance the lower bit of $S$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An example of the reduction from the POSITIVE 1-in-3 SAT formula:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$(x_1 \lor x_2 \lor x_3) \land (x_2 \lor x_4 \lor x_5) \land (x_1 \lor x_4 \lor x_6) \land (x_2 \lor x_5 \lor x_6)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/XKJP8.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Blank cells represent $0$s&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2014-11-16T20:09:24.973" LastActivityDate="2014-11-16T20:09:24.973" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="27468" PostTypeId="2" ParentId="27441" CreationDate="2014-11-16T18:48:49.057" Score="2" Body="&lt;p&gt;Start from the partition problem and let $a_i' = a_i * 100n^2 + 2*i + 1$. Also add in new elements $b_1', \ldots b_n'$ with $b_i' = 2i+1$. All variables are odd and distinct. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the forward direction, suppose there is a partition of $\{a_1, \ldots a_n\}$ into two sets $L$ and $R$ such that $\sum_{a_i \in L} a_i = \sum_{a_i \in R} a_i$. Set &#xA;$L' = \{a_i' : a_i \in L\} \cup \{b_i' : a_i \notin L\}$ and $R' = \{a_i' : a_i \in R\} \cup \{b_i' : a_i \notin R\}$. This is a partition with the same sum in $L'$ and $R'$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the reverse direction, suppose there is a partition of $a_1',\ldots, a_n', b_1', \ldots b_n'$ into $L'$ and $R'$. Set $L = \{a_i : a_i' \in L'\}$ and $R = \{a_i : a_i' \in R'\}$. It is easy to verify that the sum in $L$ and $R$ is the same - since otherwise the sum of $\sum_{a_i' \in L'} a_i'$ and $\sum_{a_i' \in R'} a_i'$ differ by at least $100n^2$ and the $b_i'$s can't compensate for this.&lt;/p&gt;&#xA;" OwnerUserId="27464" LastActivityDate="2014-11-16T18:48:49.057" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27469" PostTypeId="2" ParentId="27449" CreationDate="2014-11-16T21:06:37.220" Score="12" Body="&lt;p&gt;Any applications of $p$-adic cohomology, etale cohomology in point counting formulas for algebraic varieties has roots in his work.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am guessing Mulmuley's vision of generalization of Riemann hypothesis over finite fields coming from the Weil conjectures can be thought of as asking questions which originally had fruitful results from Grothendieck's etale cohomology.&lt;/p&gt;&#xA;" OwnerUserId="1812" LastActivityDate="2014-11-16T21:06:37.220" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="27470" PostTypeId="1" CreationDate="2014-11-16T22:07:10.333" Score="3" ViewCount="116" Body="&lt;p&gt;What is the best known lower bound against (nonuniform) circuits of size $O(n)$? I understand that we don't know of any explicit functions that need circuits of size more than something like $5n$. But are there existential results saying, e.g., that $\text{EXP} \not \subset \text{SIZE}(n)$?&lt;/p&gt;&#xA;" OwnerUserId="7091" LastActivityDate="2014-11-16T22:07:10.333" Title="What is the strongest known lower bound against SIZE(n)?" Tags="&lt;circuit-complexity&gt;&lt;lower-bounds&gt;&lt;advice-and-nonuniformity&gt;" AnswerCount="0" CommentCount="5" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27473" PostTypeId="1" CreationDate="2014-11-17T01:32:57.627" Score="8" ViewCount="293" Body="&lt;p&gt;Looking at the &lt;a href=&quot;http://tunes.org/~iepos/joy.html&quot;&gt;striking parallels between combinatory logic and concatenative languages&lt;/a&gt; makes me wonder how many theorems of the former hold in the latter. The Church-Rosser theorem is particularly interesting because it would justify the use of transparent quotations. Is there any concatenative programming language proven to be Church-Rosser? &lt;/p&gt;&#xA;" OwnerUserId="28983" LastActivityDate="2014-11-17T09:29:18.930" Title="Church-Rosser equivalent for concatenative languages?" Tags="&lt;lambda-calculus&gt;&lt;combinatory-logic&gt;" AnswerCount="1" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="27475" PostTypeId="1" CreationDate="2014-11-17T05:13:04.917" Score="9" ViewCount="252" Body="&lt;p&gt;I've only began my research into the Held-Karp conjecture and I was wondering about recent progress in proving the conjecture.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The Held-Karp relaxation is conjectured to have an integrality gap of $\frac{4}{3}$ for symmetric TSP.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There have been some recent advances in proving this conjecture. Among these include the 4/3 conjecture for metric TSP was proved for cubic and subcubic graphs by Boyd et. al. &lt;a href=&quot;http://arxiv.org/pdf/1107.1052v1.pdf&quot;&gt;http://arxiv.org/pdf/1107.1052v1.pdf&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Furthermore, for the class of graphs that are degree-3 bounded and are claw-free, the Held-Karp relaxation yields a 4/3 approximation ratio as proven by Momke et. al. : &lt;a href=&quot;http://arxiv.org/abs/1104.3090&quot;&gt;http://arxiv.org/abs/1104.3090&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then, Qian et.al. (&lt;a href=&quot;http://arxiv.org/abs/1107.1630&quot;&gt;http://arxiv.org/abs/1107.1630&lt;/a&gt;) proved that for a special case of graphs with all edges have cost $1$ or $2$, there exists a bound of 10/9. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would very much appreciate if anyone with more expertise in this research topic would point out other recent research advances in proving the Held-Karp conjecture. Links and/or titles to research papers would be very helpful.&lt;/p&gt;&#xA;" OwnerUserId="17736" LastActivityDate="2014-11-17T05:13:04.917" Title="Advances towards proving the Held-Karp conjecture for TSP" Tags="&lt;graph-theory&gt;&lt;np-hardness&gt;&lt;approximation-algorithms&gt;&lt;tsp&gt;" AnswerCount="0" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27477" PostTypeId="2" ParentId="27473" CreationDate="2014-11-17T09:29:18.930" Score="6" Body="&lt;p&gt;SK combinators are Church-Rosser. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, the usual  $\lambda$-calculus method of proving local confluence and then appealing to &lt;a href=&quot;http://en.wikipedia.org/wiki/Newman%27s_lemma&quot;&gt;Newman's lemma&lt;/a&gt; doesn't work. You need a slightly fancier argument, and the &lt;a href=&quot;http://plato.stanford.edu/entries/logic-combinatory/#2.2&quot;&gt;SEP entry on combinatory logic&lt;/a&gt; gives a sketch of a proof that does work. &lt;/p&gt;&#xA;" OwnerUserId="657" LastActivityDate="2014-11-17T09:29:18.930" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="27481" PostTypeId="1" CreationDate="2014-11-17T18:41:30.470" Score="8" ViewCount="107" Body="&lt;p&gt;For the purposes of this question, a &lt;em&gt;cut&lt;/em&gt; in a graph $G$ is the edge-set $\delta (S)\subseteq E(G)$ between some vertex-set $S$ and its complement. A &lt;a href=&quot;http://en.wikipedia.org/wiki/Maximum_cut&quot;&gt;&lt;em&gt;max cut&lt;/em&gt;&lt;/a&gt; is one with at least as many edges as any other cut. Finding a max cut is NP-hard, but a greedy algorithm (e.g.) can approximate a max cut, finding a cut with at least half as many edges as possible.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Equivalently, a cut $\delta (S)\subseteq E(G)$ is a max cut if and only if&#xA;$$| \delta (S)\cap \delta (T) |\geq \frac{1}{2}|\delta (T)|  \qquad \forall\text{ cuts } \delta (T)\subseteq E(G).$$&#xA;&lt;em&gt;(Sidenote: It should be clear that the standard definition implies this one. To show that these inequalities imply $\delta (S)$ is at least as big as any other cut $\delta (S')$, observe that $$|\delta (S)| - |\delta (S')| = |\delta (S) \cap \delta (S\Delta S')| - |\delta (S') \cap \delta (S\Delta S')|.$$ Because the two edge-sets appearing in the right-hand side partition the edges of the cut $\delta (S\Delta S')$, applying the above inequality with $S\Delta S'$ in the role of $T$ gives $|\delta (S)|-|\delta (S')|\geq 0$.)&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'd like to know whether max cuts can be easily approximated in the sense of my second definition. Specifically:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Question:&lt;/strong&gt; Is there a polynomial-time algorithm to find a cut $\delta (S)\subseteq E(G)$ with $$| \delta (S)\cap \delta (T) |\geq \epsilon |\delta (T)| \qquad \forall\text{ cuts } \delta (T)\subseteq E(G)$$ for some $\epsilon &amp;gt; 0$?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="2024" LastEditorUserId="1846" LastEditDate="2014-11-17T19:49:58.963" LastActivityDate="2014-11-17T19:49:58.963" Title="Approximating a max-cut's intersection with other cuts" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;approximation-algorithms&gt;&lt;max-cut&gt;" AnswerCount="0" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27484" PostTypeId="1" AcceptedAnswerId="27493" CreationDate="2014-11-17T19:52:23.690" Score="1" ViewCount="112" Body="&lt;p&gt;We say that $f\in\mathbb{Z}[x_{1},\dots,x_{n}]$ is a {-1,0,1}-linear&#xA;form if $f=\sum_{i\in S}x_{i}-\sum_{i\in T}x_{i}$ where $S,T\subseteq[n]$.&#xA;A hitting set $H\subseteq\mathbb{Z}^{n}$ for {-1,0,1}-linear&#xA;forms is such that, for any non-zero {-1,0,1}-coef linear form $f\in\mathbb{Z}[x_{1},\dots,x_{n}]$,&#xA;there is $\alpha\in H$ where $f(\alpha)\neq0$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Observe that a singleton $\{(2^{1},\dots,2^{n})\}$ is already a hitting&#xA;set for $\{-1,0,1\}$-linear forms. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A hitting set is polynomially bounded if $H\subseteq\{-n^{c},\dots,n^{c}\}^{n}$&#xA;for some fixed constant $c$.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What is the smallest size of polynomially bounded hitting set for&#xA;  {-1,0,1}-linear forms ?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;By Chinese remaindering and this singleton $\{(2^{1},\dots,2^{n})\}$,&#xA;one can show a polynomially bounded hitting set of size $O(n/\log n)$.&#xA;Can we do better ?&lt;/p&gt;&#xA;" OwnerUserId="12646" LastActivityDate="2014-11-18T16:35:20.807" Title="Hitting set of very restricted linear forms" Tags="&lt;cc.complexity-theory&gt;&lt;algebraic-complexity&gt;&lt;derandomization&gt;&lt;property-testing&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27485" PostTypeId="1" CreationDate="2014-11-17T20:56:46.993" Score="3" ViewCount="253" Body="&lt;p&gt;While trying to check what is the state of art in formal verification, it seemed to me that there were actually no breakthroughs in decades. For example, here &lt;a href=&quot;http://www.comp.nus.edu.sg/~hobor/Publications/2011/logicfs.pdf&quot; rel=&quot;nofollow&quot;&gt;http://www.comp.nus.edu.sg/~hobor/Publications/2011/logicfs.pdf&lt;/a&gt; it is stated, that 5-line (imperative) factorial program needs something like 100 lines of Coq code. And I consider Coq to be one of the best tools out there! Adam Chlipala's book (&lt;a href=&quot;http://adam.chlipala.net/cpdt/&quot; rel=&quot;nofollow&quot;&gt;http://adam.chlipala.net/cpdt/&lt;/a&gt;) tries to convince, that Coq is much easier, than many think.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, the first question goes, are there any advances in the field (and what they are), which would make formal methods practical any time soon?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If no, then has any researcher explained this seeming discrepancy between the fact, that programming languages become easier to use (become higher and higher level, handle specific domains better), while formal verification methods seemingly remain in the seventies of last century? (I guess, on the functional programming front situation is a bit better, but still.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My own speculation on this paradox is that maybe some fundamental, powerful computation formalism is yet to be discovered (that is, the problem lays with the language). Another answer could be, that the complexity gap is inherent in the mathematics, and no development of the theory could destroy it. Personally, I do not believe in the latter case, because all the history of development in mathematics. &lt;strong&gt;Added&lt;/strong&gt;: Third possibility is that for some reason re-use of formal proofs and tactics, finding new axioms is difficult. In &quot;normal&quot; software it is possible to share libraries, which are used to build more complex structures, and these components are stacked together to form even bigger systems. &quot;Normal&quot; software is times easier to develop now than 30-40 years ago.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Would be interesting to know, if I have overlooked something. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT&lt;/strong&gt;: It may well be, that some narrow problem domains enjoy nice, easy-to-use verification tools, for example, languages with regular grammars may be easy to deal with. This question is not about such cases.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To narrow my question, lets consider one toy example, which is surely broadly known, and which I consider general enough kind of programming problem. Suppose, I want to implement an ADT Queue using two Stacks (another ADT). I write down a solution (it's a couple of methods: enqueue and dequeue). Now, I want a formal proof, that my solution is indeed a Queue (suppose, I have some kind of description of it's behavior). I can program it from assembler to, say, APL and get a size from 2 lines to 100. Now, how long will be the proof? I bet, it's about a page on paper. But what if I have semi-automatic tool? I guess, the proof will be (for imperative case) almost as long as assembler program, will need several insights to come with and the result is much more cryptic in case one needs to manually re-check. And of course, I am not sure how type-checking is going to help in this case.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT2&lt;/strong&gt;: Some notable results from comments, thanks to commenters:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Conflict-Driven Clause Learning - makes SAT powerful (year 1999)&lt;/li&gt;&#xA;&lt;li&gt;Separation Logic - &quot;local reasoning&quot; (2002)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="28989" LastEditorUserId="3113" LastEditDate="2014-11-24T10:10:44.617" LastActivityDate="2014-11-24T10:10:44.617" Title="Advances in program verification?" Tags="&lt;program-verification&gt;" AnswerCount="1" CommentCount="6" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="27486" PostTypeId="1" CreationDate="2014-11-17T21:59:24.327" Score="14" ViewCount="237" Body="&lt;p&gt;Motivated partly by &lt;a href=&quot;https://mathoverflow.net/questions/187356/are-the-moves-rules-of-standard-chess-delicately-balanced&quot;&gt;this MO question&lt;/a&gt;, I am wondering if it's possible to design a board game where there is a simple winning strategy but it's hard to find. For example, the game of picking a random number, applying your public crypto key to it and asking what the original number was, would be a trapdoor game, but I am looking for something more like a board game. For example, chess with different rules about how the pieces can move, or some Nim like game.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To make the question more clear - what I am looking for is a simple recipe using which I can generate myself a board game in which I can beat everyone and playing many times won't reveal my strategy. (Yes, I've recently been beaten too many times by my wife in memory...)&lt;/p&gt;&#xA;" OwnerUserId="419" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2014-11-18T20:55:11.803" Title="Is it possible to make trapdoor board games?" Tags="&lt;cr.crypto-security&gt;&lt;board-games&gt;" AnswerCount="0" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="27489" PostTypeId="1" CreationDate="2014-11-18T10:12:13.833" Score="-2" ViewCount="67" Body="&lt;p&gt;Given a minimum biclique edge cover, is it always possible to assign each biclique to a distinct left node (which it contains)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;ie one such assignment for this graph (from wikipedia): &lt;a href=&quot;http://upload.wikimedia.org/wikipedia/commons/f/f7/Bipartite-dimension-biclique-cover.svg&quot; rel=&quot;nofollow&quot;&gt;http://upload.wikimedia.org/wikipedia/commons/f/f7/Bipartite-dimension-biclique-cover.svg&lt;/a&gt; could be&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(numbering the left vertices from 1 through 5 going down)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;blue: 1&lt;/p&gt;&#xA;&#xA;&lt;p&gt;red: 2&lt;/p&gt;&#xA;&#xA;&lt;p&gt;green: 3&lt;/p&gt;&#xA;&#xA;&lt;p&gt;black: 4&lt;/p&gt;&#xA;" OwnerUserId="13643" LastActivityDate="2014-12-19T03:54:20.047" Title="Assign each biclique to a distinct left" Tags="&lt;graph-theory&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27490" PostTypeId="1" AcceptedAnswerId="27826" CreationDate="2014-11-18T14:31:33.203" Score="4" ViewCount="175" Body="&lt;p&gt;I'm currently creating a program in Java to analysis the pathological cases of Quicksort. Namely, the transition of complexity from O(n^2) to O(nlogn) as a data set gets less ordered. Since Quicksort is a value-based algorithm, the choice of pivot determines its efficiency. We usually (Quicksort 3, and choosing a random element aside) select the first or last element as the pivot in an array. Therefore, since a good pivot is one that splits the array in half symmetrically, a more disordered array will make selecting a good pivot easier; or at least reduce the likely hood of running into the pathological case.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My program gradually randomises this array by swapping some elements each time. When I started to plot the graph of this using gnuplot I notice the trend I expected; a exponential distribution, branching off to a uniform distribution.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is, how do I quantify a level of disorder in a array? Is their a better way to gradually make an array of values more disordered?&lt;/p&gt;&#xA;" OwnerUserId="29000" LastActivityDate="2014-12-14T07:35:28.870" Title="How to Quantify Entropy in a Data Set" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;randomness&gt;&lt;sorting&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27492" PostTypeId="1" CreationDate="2014-11-18T16:33:29.313" Score="3" ViewCount="219" Body="&lt;p&gt;It is known that testing whether a list of $n$ arbitrary real numbers is $\varepsilon$-close of being sorted (in Hamming distance) has query complexity $\Theta(\log n)$ [&lt;a href=&quot;http://dl.acm.org/citation.cfm?id=982290&quot; rel=&quot;nofollow&quot;&gt;1&lt;/a&gt;]. It is also easy to show that if the function is Boolean-valued, then this becomes $\Theta(1/\varepsilon)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Recent work of Berman et al. [&lt;a href=&quot;http://dl.acm.org/citation.cfm?id=2591887&quot; rel=&quot;nofollow&quot;&gt;2&lt;/a&gt;] considers the same problem for sequences with elements in $[0,1]$, but with another distance (namely, a (normalized) $L_p$ distance instead of Hamming — the normalization being done to ensure the distances lie indeed in $[0,1]$). They show the query complexity then becomes $O(1/\varepsilon^p)$, for $p\in\{1,2\}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, does anyone know if any of these two variants has been considered (either Hamming or &lt;em&gt;non&lt;/em&gt;-normalized $L_1$), but with the further restriction that the sequence has bounded $L_1$ norm? That is, decide (with high probability) whether a sequence of non-negative numbers $a_1,\dots, a_n$ with $\sum_{k=1}^{n} a_k = 1$ is (a) sorted or (b) $\varepsilon$-far from sorted?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I tried to find references, but so far didn't find any -- and want to make sure there is no prior work I'm unaware of before diving further into this (I am in particular interested in adaptive algorithms, as I (think I) have a non-adaptive tight bound for this question).&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://dl.acm.org/citation.cfm?id=982290&quot; rel=&quot;nofollow&quot;&gt;Eldar Fischer. 2004. On the strength of comparisons in property testing.&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://dl.acm.org/citation.cfm?id=2591887&quot; rel=&quot;nofollow&quot;&gt;Berman, Raskhodnikova, and Yaroslavtsev. 2014. $L_p$-testing. &lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="13319" LastEditorUserId="5693" LastEditDate="2014-11-18T16:36:03.333" LastActivityDate="2014-11-18T16:36:03.333" Title="Testing sortedness of a normalized list of $n$ numbers" Tags="&lt;property-testing&gt;" AnswerCount="0" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27493" PostTypeId="2" ParentId="27484" CreationDate="2014-11-18T16:35:20.807" Score="3" Body="&lt;p&gt;There is a tight lower bound of size $\Omega(n/ \log n)$ by simple counting argument.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose there is a hitting set $H=\{\alpha_{1},\dots,\alpha_{k}\}$&#xA;of size $k$. We will show that there is always {-1,0,1}-linear&#xA;form $f$ such that $f(\alpha_{i})=0$ for all $i$ when $k\le c_{0}n/\log n$&#xA;and $c_{0}$ is small enough.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For each $S\subseteq[n]$, let $f_{S}=\sum_{i\in S}x_{i}$ and $f_{S}(H)=(f_{S}(\alpha_{1}),\dots,f_{S}(\alpha_{k}))$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since $|f_{S}(\alpha_{i})|\le n^{c+1}$, there are at most $(2n^{(c+1)})^{k}$&#xA;possible distinct values of $f_{S}(H)$. But there are $2^{n}$ distinct&#xA;linear forms $f_{S}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Because $(2n^{(c+1)})^{k}&amp;lt;2^{n}$ when $k\le c_{0}n/\log n$, we have&#xA;that there are $S$ and $S'$ where $f_{S}(\alpha_{i})=f_{S'}(\alpha_{i})$&#xA;for all $i$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;So $(f_{S}-f_{S'})(\alpha_i)=0$ for all $i$, $f_{S}-f_{S'}$ is a {-1,0,1}-linear form.&lt;/p&gt;&#xA;" OwnerUserId="12646" LastActivityDate="2014-11-18T16:35:20.807" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27494" PostTypeId="2" ParentId="27485" CreationDate="2014-11-18T17:23:02.980" Score="1" Body="&lt;p&gt;The powerful formalism you are looking for cannot exist, for otherwise we could solve the &lt;a href=&quot;https://en.wikipedia.org/wiki/Halting_problem&quot; rel=&quot;nofollow&quot;&gt;halting problem&lt;/a&gt;. Here is the sketch of an argument why. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider &lt;a href=&quot;https://en.wikipedia.org/wiki/Hoare_logic&quot; rel=&quot;nofollow&quot;&gt;Hoare triples&lt;/a&gt; $\{A\} P \{B\}$ for &lt;a href=&quot;https://en.wikipedia.org/wiki/Correctness_(computer_science)&quot; rel=&quot;nofollow&quot;&gt;partial correctness&lt;/a&gt;. If  we had a (computable) upper bound that related program length to the lengths of correctness proofs, then we could apply it to the  assertion&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\{\mathsf{True}\} P \{\mathsf{False}\}.$$ &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This assertion is true exactly when $P$ loops. Since we have assumed a (computable) upper bound for proof length, we can find such a proof, were it to exist, in finite time by brute force search, giving an algorithms for deciding the halting problem. Contradiction. The argument can be adapted for other formal methods.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;That means, regardless of the specifics, there will always be short programs with long proofs.  One way to find such programs is to look at difficult or open number theoretic questions like Fermat's last theorem or the twin prime conjecture: you can write short programs that diagonialise over the natural numbers, looking for counterexamples. Proving that such programs  do or do not terminate is likely to be highly involved.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;All that being said, the last decade has seen an explosion of work on formal verification and a great deal of progress. &lt;/p&gt;&#xA;" OwnerUserId="898" LastEditorUserId="898" LastEditDate="2014-11-18T18:14:31.563" LastActivityDate="2014-11-18T18:14:31.563" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="27496" PostTypeId="1" AcceptedAnswerId="32290" CreationDate="2014-11-18T18:02:27.000" Score="23" ViewCount="929" Body="&lt;p&gt;A polynomial $f(x_1,\ldots,x_n)$ is a &lt;i&gt;monotone projection&lt;/i&gt; of a&#xA;polynomial $g(y_1,\ldots,y_m)$ if $m$ = poly$(n)$, and there is an assignment&#xA;$\pi:\{y_1,\ldots,y_m\}\to\{x_1,\ldots,x_n, 0,1\}$  such that $f(x_1,\ldots,x_n)=g(\pi(y_1),\ldots,\pi(y_m))$. That is, it is possible to&#xA;replace each variable $y_j$ of $g$ by a variable $x_i$ or a constant $0$ or $1$ so that&#xA;the resulting polynomial coincides with $f$.&#xA;&lt;p&gt;&#xA;I am interested in (the reasons for) the difference between the permanent polynomial PER and the Hamiltonian cycle polynomial HAM:&#xA;$$&#xA;\mbox{PER}_n(x)=\sum_{h}\prod_{i=1}^{n}x_{i,h(i)}\ \ \ \  \mbox{and} \ \ \ \&#xA;\mbox{HAM}_n(x)=\sum_{h}\prod_{i=1}^{n}x_{i,h(i)}&#xA;$$&#xA;where the first summation is over  &lt;i&gt;all&lt;/i&gt; permutations $h:[n]\to[n]$,&#xA;and the second is only over all &lt;i&gt;cyclic&lt;/i&gt; permutations $h:[n]\to[n]$.&#xA; &lt;blockquote&gt;&#xA;&lt;b&gt;Question:&lt;/b&gt; Why HAM is &lt;b&gt;not&lt;/b&gt; a monotone projection PER? Or it still is?&#xA;&lt;/blockquote&gt;&#xA;I am not asking for &lt;i&gt;proofs&lt;/i&gt;, just for intuitive reasons.&#xA;&lt;p&gt;&#xA;Motivation: the largest known monotone circuit lower bound for PER (proved by Razborov) remains &quot;only&quot; $n^{\Omega(\log n)}$. On the other hand, results of&#xA;&lt;a href=&quot;http://www.thi.informatik.uni-frankfurt.de/~jukna/boolean/valiant-completeness.pdf&quot;&gt;Valiant&lt;/a&gt; imply that&#xA;$$&#xA;\mbox{CLIQUE$_n$ is a monotone projection of HAM$_{m}$}&#xA;$$&#xA;where&#xA;$$&#xA;\mbox{CLIQUE}_n(x)=\sum_{S}\prod_{i &amp;lt; j\in S}x_{i,j}&#xA;$$&#xA;with the summation is over all subsets $S\subseteq [n]$ of size $|S|=\sqrt{n}$. I myself couldn't get a &quot;simple, direct&quot; reduction form these general results, but &lt;a href=&quot;http://www.thi.informatik.uni-frankfurt.de/~jukna/boolean/Alon-Boppana.pdf&quot;&gt;Alon and Boppana&lt;/a&gt; claim (in Sect. 5) that already $m=25n^2$ is sufficient for this reduction.&#xA;&lt;p&gt;&#xA;But wait: it is well known that CLIQUE requires monotone circuits of size $2^{n^{\Omega(1)}}$ (first proved by Alon and Boppana using Razborov's method).&#xA;&lt;p&gt;&#xA;So, were HAM a monotone projection of PER, we would have $2^{n^{\Omega(1)}}$ lower bound also for PER.&#xA;&lt;p&gt;&#xA;Actually, &lt;i&gt;why&lt;/i&gt; HAM is not even a &lt;b&gt;non-monotone&lt;/b&gt; projection  of PER? Over the boolean semiring, the former is &lt;b&gt;NP&lt;/b&gt;-complete, while the latter is in &lt;b&gt;P&lt;/b&gt;. But why? Where is a place where being &lt;b&gt;cyclic&lt;/b&gt; for a permutation makes it so special?&#xA;&lt;p&gt;&#xA;&lt;b&gt;P.S.&lt;/b&gt; One obvious difference could be: HAM covers [n] by just one (long) cycle, whereas PER can use may disjoint cycles for this. Thus, to project PER to HAM the hard direction seems to be: ensure that the &lt;i&gt;absence&lt;/i&gt; of a Hamiltonian cycle implies the absence of any covering with disjoint cycles in the new graph. Is this the reason for HAM not being a projection of PER? &#xA;&lt;p&gt;&#xA;&lt;b&gt;P.P.S.&lt;/b&gt; Actually, Valiant proved a more impressing result: every polynomial $f(x)=\sum_{u\subseteq [n]}c_u\prod_{i\in u}x_i$ with $c_u\in\{0,1\}$, whose coefficients $c_u$ are p-time computable, is a projection (not necessarily monotone if the algo is non-monotone) of HAM$_m$ for $m$ = poly$(n)$. PER also has this property, but only over fields of characteristic $\neq 2$. So, in this sense, HAM and PER &lt;i&gt;are&lt;/i&gt; indeed &quot;similar&quot;, unless we are not in GF(2) where, as Bruno remembered, PER turns to DETERMINANT, and is easy.&lt;/p&gt;&#xA;" OwnerUserId="5788" LastEditorUserId="5788" LastEditDate="2014-11-20T10:47:47.997" LastActivityDate="2015-08-22T02:00:14.943" Title="Why is HAMILTONIAN CYCLE so different from PERMANENT?" Tags="&lt;cc.complexity-theory&gt;&lt;circuit-complexity&gt;&lt;lower-bounds&gt;&lt;arithmetic-circuits&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="27497" PostTypeId="1" AcceptedAnswerId="27501" CreationDate="2014-11-18T20:07:57.167" Score="5" ViewCount="170" Body="&lt;p&gt;Consider the marked palindrome language which is defined as MPAL=$\{ w\#w^r | w \in \{a,b\}^* \}$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is easy to recognize MPAL using only a single stack. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is whether MPAL can be recognized by a real-time deterministic multicounter automaton.  &lt;/p&gt;&#xA;" OwnerUserId="29007" LastEditorUserId="2367" LastEditDate="2014-12-02T20:06:13.900" LastActivityDate="2014-12-02T20:06:13.900" Title="Can real-time deterministic multicounter automata recognize the marked palindrome language?" Tags="&lt;reference-request&gt;&lt;fl.formal-languages&gt;&lt;automata-theory&gt;&lt;counter-automata&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="27499" PostTypeId="1" CreationDate="2014-11-18T20:56:31.550" Score="4" ViewCount="96" Body="&lt;p&gt;Given two finite sets of points, $R, B \subseteq \mathbb{R}^d$, compute a map $f : R \to B$ where:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$f(r) = \text{argmin}_{b \in B} |r - b|$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;That is $f(r)$ is the closest point in $B$ to the point $r$ in $R$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is the current fastest algorithm for computing $f$ in low to mid sized dimensions (for example d=3)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some things I already know:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The trivial brute force algorithm would take $O( |R| |B| )$&lt;/li&gt;&#xA;&lt;li&gt;In 1D the problem is easy, just merge two sorted lists&lt;/li&gt;&#xA;&lt;li&gt;In 2D it is easy to solve with a Voronoi diagram&lt;/li&gt;&#xA;&lt;li&gt;For non-bichromatic point sets the well-separated pair decomposition gives a solution in expected $O( c^d n \log(n))$ time.  Other solutions with similar performance are known.&lt;/li&gt;&#xA;&lt;li&gt;Finding the bichromatic closest &lt;em&gt;pair&lt;/em&gt; is solvable in $O(2^d n \log(n))$&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;A solution to this problem would be nice for shape matching/registration problems where one is repeatedly querying the same data set with some collection of points.  You could do something like incrementally call out to a nearest-neighbor subroutine for each point, but maybe you can do better amortizing over the cost of many queries?&lt;/p&gt;&#xA;" OwnerUserId="559" LastEditorUserId="559" LastEditDate="2014-11-23T03:56:56.603" LastActivityDate="2014-11-23T03:56:56.603" Title="Bichromatic all nearest neighbors" Tags="&lt;cg.comp-geom&gt;" AnswerCount="0" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27501" PostTypeId="2" ParentId="27497" CreationDate="2014-11-18T23:00:12.833" Score="2" Body="&lt;p&gt;It doesn't seem to be possible and the reason looks simple (but I might overlook details).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;After reading $w$ the number of reachable configurations of a real-time automaton is a polynomial in the lenght of $w$, whereas the number of different strings $w$ is exponential.&lt;/p&gt;&#xA;" OwnerUserId="12122" LastActivityDate="2014-11-18T23:00:12.833" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27502" PostTypeId="2" ParentId="11791" CreationDate="2014-11-19T00:47:47.367" Score="2" Body="&lt;p&gt;&lt;a href=&quot;http://www.dramahouse.co.uk/page11.html&quot; rel=&quot;nofollow&quot;&gt;Breaking the Code&lt;/a&gt; (BBC, 1996) is personally my favourite. It is, however, much more on the side of 'factual drama' than strictly 'documentary' style. It feels well researched and it faithfully sticks to what was known about him, from his academic work to his mannerisms. I don't feel it embellishes or over-dramatizes his life. There is an excellent scene (for what was a fairly mainstream show) where Derek Jacobi (as Turing) explains his work in context to his contemporaries/predecessors, Gödel and Bertrand Russell. The Enigma work features of course, but doesn't dominate the story, which spans from his school-days to his death.&lt;/p&gt;&#xA;" OwnerUserId="29010" LastActivityDate="2014-11-19T00:47:47.367" CommentCount="0" CommunityOwnedDate="2014-11-19T00:47:47.367" ContentLicense="CC BY-SA 3.0" />
  <row Id="27503" PostTypeId="2" ParentId="1643" CreationDate="2014-11-19T01:35:41.450" Score="2" Body="&lt;p&gt;Here's a little more detail from the perspective of simulating time-space bounded Alternating Turing machine.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose that $P = NC$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since $NC = ATISP((\log(n))^{O(1)}, O(\log(n)))$, we get $$P = ATISP((\log(n))^{O(1)}, O(\log(n))).$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, consider the linear time universal simulation problem $LinU$ where we are given an encoding on a Turing machine $M$ and an input string $x$ of length $n$ and we want to know if $M$ accepts $x$ in at most $n$ steps.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We know that $LinU \in P$.  Therefore, there exists a constant $c$ (sufficiently large) such that $$(*) \; LinU \in ATISP(\log^c(n), c\log(n)).$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As a result of a padding argument (a little tricky see comments), we have $$(1) \; DTIME(n) \subseteq ATISP(\log^c(n), c\log(n)).$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Extending the padding argument, we get&#xA;$$(2) \; DTIME(n^k) \subseteq ATISP(k^c\log^c(n), kc\log(n)).$$&#xA;$$(3) \; DTIME(2^{n^k}) \subseteq ATISP(k^cn^{kc}, kcn^{k}).$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Further, there are known results about the simulation of Alternating time-space bounded Turing machines.  In particular, we know that $$ATISP(\log^c(n), c\log(n)) \subseteq DSPACE(O(\log^{c+1}(n))).$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Therefore, we (essentially) have the following for all natural numbers $k$:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$(2^{*}) \; DTIME(n^k) \subseteq DSPACE(k^{c+1}\log^{c+1}(n))$$&#xA;$$(3^{*}) \; DTIME(2^{n^k}) \subseteq DSPACE(n^{k(c+1)}).$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;From $(3^{*})$, we would get that $EXP = PSPACE$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;====================After Thought===================&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is important to notice that $P = NC$ implies $$ATISP((\log(n))^{O(1)}, O(\log(n))) = ATISP(\log^c(n), O(\log(n)))$$ for some constant $c$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any comments or corrections are welcomed.  :)&lt;/p&gt;&#xA;" OwnerUserId="14207" LastEditorUserId="14207" LastEditDate="2014-11-23T06:28:19.773" LastActivityDate="2014-11-23T06:28:19.773" CommentCount="28" ContentLicense="CC BY-SA 3.0" />
  <row Id="27504" PostTypeId="2" ParentId="27489" CreationDate="2014-11-19T03:17:50.477" Score="0" Body="&lt;p&gt;Thanks to Tsuyoshi's comment, I have the solution.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's always possible to take some subset of lefts (of size k) and construct a set of k bicliques covering all the edges connected to those lefts (assign each left to it's own biclique together with all its right-neighbors). This means that for any subset of k bicliques in the minimum biclique cover, there are at least k lefts contained in the union of those bicliques.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now we can construct the bipartite graph which contains a left node for each biclique in the minimum cover and a right node for each left node in the original graph.  There is an edge between a left and right if the corresponding biclique contains the corresponding right in the original graph.  The lemma above translates exactly to the criteria for Hall's theorem in this new graph which means there exists a matching which saturates the left side.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This corresponds to an assignment of bicliques to lefts in the original graph.&lt;/p&gt;&#xA;" OwnerUserId="13643" LastActivityDate="2014-11-19T03:17:50.477" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27506" PostTypeId="2" ParentId="22191" CreationDate="2014-11-19T06:06:43.587" Score="1" Body="&lt;p&gt;I recommend &lt;a href=&quot;http://teachingintrotocs.blogspot.in&quot; rel=&quot;nofollow&quot;&gt;A CS Professor's Blog&lt;/a&gt; by Claire Mathieu. She has many interesting posts on academia and CS. A few articles under the label `&lt;a href=&quot;http://teachingintrotocs.blogspot.in/search/label/TCS&quot; rel=&quot;nofollow&quot;&gt;TCS&lt;/a&gt;' have informal descriptions of  technical results.&lt;/p&gt;&#xA;" OwnerUserId="547" LastEditorUserId="547" LastEditDate="2014-11-19T06:14:35.140" LastActivityDate="2014-11-19T06:14:35.140" CommentCount="1" CommunityOwnedDate="2014-11-19T06:06:43.587" ContentLicense="CC BY-SA 3.0" />
  <row Id="27508" PostTypeId="1" CreationDate="2014-11-19T06:46:55.860" Score="11" ViewCount="355" Body="&lt;p&gt;As we know, definition of computational complexity of algorithm is almost without controversy, but the definition of computational complexity of reals  or the computation models over reals is not in such a case. We know Blum and Smales' model and model in the book Computable Analysis. And seemingly, model in Computable Analysis is consistent with the classic model, but the definition of computational complexity of reals can not transplanted into classic model.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;How to judge the definition of computational complexity of reals is natural or suitable?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;And how to transplant the definition of computational complexity of reals  into classic model?&lt;/p&gt;&#xA;" OwnerUserId="17024" LastActivityDate="2014-11-26T08:50:49.640" Title="How to judge the definition of computational complexity of reals is natural or suitable?" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;computability&gt;&lt;computing-over-reals&gt;&lt;computable-analysis&gt;" AnswerCount="2" CommentCount="10" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="27510" PostTypeId="1" AcceptedAnswerId="27512" CreationDate="2014-11-19T11:16:38.997" Score="11" ViewCount="276" Body="&lt;p&gt;Let $k$ be some field. As usual, for an $f\in k[x_{1},x_{2},\ldots,x_{n}]$&#xA;we define $L(f)$ to be the straight-line complexity of $f$ over&#xA;$k$. Let $F$ be the set of monomials of $f$, namely the monomials&#xA;which appear in $f$ with non-zero coefficient. &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is it true that $ \forall m\in F:L(m)\le L(f)$?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Even some weaker upper bound for $L(m)$ is known?&lt;/p&gt;&#xA;" OwnerUserId="16008" LastActivityDate="2014-11-21T10:08:50.817" Title="Straight line complexity of monomials" Tags="&lt;cc.complexity-theory&gt;&lt;algebraic-complexity&gt;&lt;arithmetic-circuits&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27512" PostTypeId="2" ParentId="27510" CreationDate="2014-11-19T20:17:01.330" Score="13" Body="&lt;p&gt;If $$f=(\Sigma_{i=1}^n x_i)^{2^n}$$&#xA;then it has ${2^n+n-1\choose n-1} \approx 2^{n^2}$ monomials and $L(f)=O(n)$.&#xA;By a counting argument, there are $2^{O(n\log n)}$ straight-line programs of length $O(n)$.&#xA;As $f$ has more monomials, for some we need a longer program.&#xA;In fact this argument gives a monomial $m$ for which $L(m)=\widetilde\Omega(L^2(f))$.&lt;/p&gt;&#xA;" OwnerUserId="419" LastActivityDate="2014-11-19T20:17:01.330" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="27516" PostTypeId="1" CreationDate="2014-11-19T21:19:15.183" Score="1" ViewCount="80" Body="&lt;p&gt;This is a question from theory community, but I came across this issue in a practical problem. So just have this in mind. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have a set of real vectors: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;S = \lbrace v_1, \dots, v_n \rbrace &#xA;$$&#xA;$v_i \in \mathbb{R}^d$ where $d \approx 100$. Typically the size of this set, $n$ is around 20,000,000: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In practice if I have $v_1$ and $v_2$, I can find the distances between them (say using Euclidean distance).&lt;br&gt;&#xA;Consider a different problem: I have $v_i \in S$ and I want to find all of the $k$ ($\approx 20$) closest vectors to $v_i$ in the $S$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any efficient algorithm/technique/datastructure for this purpose? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am interested in either piratical solutions and theoretical results. &#xA;Even if you have approximate solutions I am interested in.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Update: Here is a similar question I came across but I think they are different: &lt;a href=&quot;https://cstheory.stackexchange.com/questions/8875/calculating-the-distance-to-the-kth-nearest-neighbor-for-all-points-in-the-set?rq=1&quot;&gt;Calculating the distance to the kth nearest neighbor for all points in the set&lt;/a&gt; &lt;/p&gt;&#xA;" OwnerUserId="15645" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2014-11-19T22:22:06.183" Title="k closest points that belong to a set" Tags="&lt;ds.algorithms&gt;&lt;approximation-algorithms&gt;&lt;cg.comp-geom&gt;&lt;linear-algebra&gt;" AnswerCount="0" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27517" PostTypeId="2" ParentId="200" CreationDate="2014-11-20T06:22:47.057" Score="6" Body="&lt;p&gt;Equisatisfiability can be achieved in the following manner (reduction from 2SAT to HornSAT).  So $(p \lor q)$ can also be reduced to a Horn formula in this manner.  Thanks to Joshua Gorchow for pointing out this reduction.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Input:  A 2-SAT formula $\phi$, with clauses $C_1$, ..., $C_k$ on variables $x_1$, ..., $x_n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Construct a Horn formula $Q$ as follows:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There will be 4 $\times$ ($n$ choose $2$) $+ 2n + 1$ new variables, one for &lt;strong&gt;every possible&lt;/strong&gt;&#xA;possible 2-cnf clause on the $x$ variables with at most 2 literals (&lt;strong&gt;Not&#xA;only&lt;/strong&gt; the $C_i$ clauses in $\phi$) -- this is including unit clauses and the&#xA;empty clause.. The new variable corresponding to a clause $D$ will be&#xA;denoted by $z_D$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The 4 $\times$ ($n$ choose $2$) comes from the fact that each pair of $(x_i, ~x_j)$&#xA;gives rise to four 2-cnf clauses.&#xA;The $2n$ comes from the fact that each $x_i$ can create 2 unit clauses.&#xA;And finally the &quot;one&quot; comes from the empty clause.. So the total&#xA;number of possible 2-cnf clauses is $=$ &#xA;4 $\times$ ($n$ choose $2$) $+ 2n + 1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If a 2-cnf clause $F$ follows from two other 2-cnf clauses $D$ and $E$ by a single&#xA;resolution step, then we add the Horn clause&#xA;$(z_D \land z_E \to z_F)$&#xA; to $Q$...  Again, we do this for all possible 2-cnf clauses -- all 4$\times$ ($n$&#xA;choose $2$) $+2n+1$ of them --  &lt;strong&gt;not just&lt;/strong&gt; the $C_i$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then we add the unit clauses $z_{C_i}$ to $Q$, for each clause $C_i$&#xA;appearing in the input $\phi$...&#xA;Finally, we add the unit clause $(\neg z_{empty})$ to $Q$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The Horn formula $Q$ is now complete.  Observe that the variables used in $Q$ are completely different from those used in $\phi$.&lt;/p&gt;&#xA;" OwnerUserId="28655" LastEditorUserId="28655" LastEditDate="2014-11-20T06:35:59.017" LastActivityDate="2014-11-20T06:35:59.017" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="27518" PostTypeId="1" AcceptedAnswerId="27522" CreationDate="2014-11-20T13:56:46.700" Score="0" ViewCount="251" Body="&lt;p&gt;I'm currently reading &quot;Invitation to Fixed-Parameter Algorithms&quot; by Rolf Niedermayer. Page 69 gives the following definition of the crown of a graph, which I do not quite understand:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A crown of a graph $G = (V,E)$ consists of $H\subseteq V$ and $I \subseteq V$ with $H \cap I = \varnothing$ s.t. the following three conditions hold:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$H = N(I)$ &lt;/li&gt;&#xA;&lt;li&gt;$I$ forms an independent set&lt;/li&gt;&#xA;&lt;li&gt;the edges connecting $H$ and $I$ contain a matching in which all elements of $H$ are matched.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;$N(I)$ is the neighborhood of vertices $I$, i.e., $N(I) = \{u \mid v \in I \land  (u,v) \in E\}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm stuck with the third point: I'm interpreting it as &quot;in the bipartite graph $(H, I, F)$ with $F = \{(u,v) \in E \mid u\in I \land v \in H\}$ there is a matching $M\subseteq F$ s.t. $\forall v \in H: \exists (u,v) \in F$, i.e., each vertex in $H$ is covered by an edge in the matching $M$&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But does this not imply that  $|I| \geq |H|$ since there can at most be $|I|$ non-adjacent edges connected to vertices in $I$? This would imply that $I$ is a set of vertices that have degree 1, which surely is not the intention since a crown is intended to be a generalization of 1-connected vertices.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What am I missing?&lt;/p&gt;&#xA;" OwnerUserId="13544" LastEditorUserId="13544" LastEditDate="2014-11-20T14:07:03.177" LastActivityDate="2014-11-20T17:03:07.833" Title="Graph theory: definiton of the crown of a graph" Tags="&lt;graph-theory&gt;&lt;parameterized-complexity&gt;&lt;matching&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="27519" PostTypeId="2" ParentId="6255" CreationDate="2014-11-20T14:38:33.627" Score="4" Body="&lt;p&gt;Here's a more reality-concerned version of tigreen's answer from the point of a person who actually makes heavy use of (relational) databases: The whole point and complexity of their application is to structure them in a way they'd require as little amount of joins for each and every ever-needed query as possible and that's why they actually &lt;strong&gt;Do Work&lt;/strong&gt;.&#xA;In other words do not expect databases to solve complex problems for you on their own - they wouldn't, but if used wisely they are a really handy and applicable instrument.&lt;/p&gt;&#xA;" OwnerUserId="29037" LastActivityDate="2014-11-20T14:38:33.627" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27520" PostTypeId="2" ParentId="27508" CreationDate="2014-11-20T16:34:48.643" Score="13" Body="&lt;p&gt;I am not exactly sure what the question is here, but I can try to say a bit to clean up possible misunderstandings.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First of all, if we are talking about complexity of a map $f : \mathbb{R} \to \mathbb{R}$, it makes &lt;em&gt;no sense&lt;/em&gt; to ask &quot;What is a good representation for $\sqrt{2}$?&quot; Instead, you have to ask &quot;What is a good representation for &lt;em&gt;all&lt;/em&gt; inputs of $f$?&quot;. Compare the situation with an easier one in discrete math: when you discuss an algorithm which takes a graph as an input, you do not ask &quot;Should we represent the Petersen graph as as an adjancency list or as a binary matrix?&quot; but instead you automatically think of a &lt;em&gt;uniform&lt;/em&gt; representation which will work for all graphs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another word of warning. By changing the representation of the input data we can &lt;em&gt;always&lt;/em&gt; make any problem (including a non-computable one) trivially computable: in order to make $f : A \to B$ computable, represent the elements of $A$ as pairs $(a, f(a))$. Then you can &quot;compute&quot; $f$ by the second projection. This shows that we need clear criteria of what it means to represent data.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have written on several occasions about what it takes to represent the elements of $\mathbb{R}$. The answer depends on what &lt;em&gt;structure&lt;/em&gt; of $\mathbb{R}$ you are trying to capture. If you are trying to capture no structure, then you can represent all reals with the empty list, for example. A reasonable list of conditions for a representation of $\mathbb{R}$ is that it needs to be such that:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;The arithmetical operations $+$, $\times$, $-$, $/$ are computable, as well as the absolute value $|{-}|$.&lt;/li&gt;&#xA;&lt;li&gt;There is a program which takes (the representation of) a real $x$ and $k \in \mathbb{N}$ and outputs integers $p, q$ such that $|x - p/q| \leq 2^{-k}$, i.e., it is possible to compute arbitrarily good rational approximations.&lt;/li&gt;&#xA;&lt;li&gt;There is a program which takes (representations of) reals $x$ and $y$ and terminates if, and only if, $x &amp;lt; y$, i.e, the strict order is semidecidable.&lt;/li&gt;&#xA;&lt;li&gt;Given a sequence (of representations of) $(x_n)_n$ such that $|x_{n+1} - x_n| \leq 2^{-n}$ a representation for the limit $\lim_n x_n$ can be computed.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;There are old theorems (see introduction to &lt;a href=&quot;http://www.jucs.org/jucs_16_18/canonical_effective_subalgebras_of&quot; rel=&quot;nofollow&quot;&gt;this paper&lt;/a&gt; for references) which explain why these conditions are the correct one. These theorems also show that any two such representations of reals are computably isomorphic, that is, we can translate between them with programs. This sets up some criteria for correctness that throw out faulty ideas.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, I hear people say things like &quot;rational numbers can be represented by finite information, so let's use that for rational numbers, and the irrational numbers will have to be represented by infinite information&quot;. This sort of thing does not work because it breaks the fourth condition above (consider a limit of irrational numbers -- how will you tell that it is converging to a rational?).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another example which the above conditions eliminate is the Blum-Shub-Smale model because in it you cannot compute limits of sequences. It is better to say that the BSS model works on a discrete ordered subfield of reals (generated by whatever parameters are present), not on the reals themselves.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Among the correct representations of reals some are more efficient than others, although this is a somewhat difficult topic to discuss because real numbers are infinite objects. Matthias Schröder &lt;a href=&quot;http://homepages.inf.ed.ac.uk/als/Research/Others/schroeder-mlq04.pdf&quot; rel=&quot;nofollow&quot;&gt;pointed out&lt;/a&gt; that for a reasonable theory of complexity one has to pay attention to the topological properties of the representation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, &lt;em&gt;how&lt;/em&gt; should we measure the complexity of a map $f : \mathbb{R} \to \mathbb{R}$, assuming we have a good representation of $\mathbb{R}$? Because $x \in \mathbb{R}$ is represented by a function, or an infinite stream of information, or some such, we should be using one of the &lt;a href=&quot;http://www.cis.syr.edu/~royer/bib2.html&quot; rel=&quot;nofollow&quot;&gt;higher-type notions of complexity&lt;/a&gt;. Which one probably depends on the representation you are using.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The BSS model  is a also a reasonable circuit complexity model in which we count arithmetical operations. It's just good to keep in mind that this model is not about real numbers, but about something else.&lt;/p&gt;&#xA;" OwnerUserId="705" LastEditorUserId="705" LastEditDate="2014-11-26T07:35:34.500" LastActivityDate="2014-11-26T07:35:34.500" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="27521" PostTypeId="2" ParentId="27442" CreationDate="2014-11-20T16:41:04.233" Score="2" Body="&lt;p&gt;Perhaps we can prove a $\log n$ space lower bound for SAT in this way (but I'm not confident with limit/asymptotic analysis, so my answer can be totally wrong).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On a  Turing machine model with one read-only input tape and one work tape, both over binary alphabet $\Sigma = \{0,1\}$, for every decider with $c$ states on an input of size $n$ we have that :&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$T(n) \leq c \, 2^{S(n)} \, n \, S(n) \quad (1)$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;otherwise the Turing machine will loop forever (the $2^{S(n)}$ component represents all possible tape configurations, the $n$ component represents the input tape head positions, while the $S(n)$ component represents the work tape head positions). On a one tape single head TM over binary alphabet (1) becomes $T(n) \leq c 2^{S(n)} S(n)$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Multiplying both terms by $S(n)$ and applying the general space-time tradeoff for SAT, we get:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$n^{1.801+o(1)} \leq S(n)\cdot T(n) \leq c \, S(n)^2 \, 2^{S(n)} \, n$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So picking a space upper bound like $S(n) \leq (\log n)^{1 - \epsilon}$ for SAT would lead to a contraddiction, indeed&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\lim_{n \to \infty} \frac{n^{1.801}}{ c \, ((\log n)^{1-\epsilon})^2 2^{(\log n)^{1-\epsilon}} n } = $$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\lim_{n \to \infty} \Big( 0.801 \cdot \log n - \log c - 2 (1- \epsilon) \log (\log n) - (\log n)^{1-\epsilon}\Big) = \infty$$&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2014-11-21T23:52:55.050" LastActivityDate="2014-11-21T23:52:55.050" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="27522" PostTypeId="2" ParentId="27518" CreationDate="2014-11-20T17:03:07.833" Score="2" Body="&lt;p&gt;Yes, it implies that $|I| \geq |H|$ but it does not imply $I$ contains only vertices of degree 1. The edges joining $H$ to $I$ &lt;em&gt;contain&lt;/em&gt; an H-covering matching, but there can be many more edges. See, for instance, D. Marx' slides on crown reduction: &lt;a href=&quot;http://www.cs.bme.hu/~dmarx/papers/marx-agape09-slides-print.pdf&quot; rel=&quot;nofollow&quot;&gt;http://www.cs.bme.hu/~dmarx/papers/marx-agape09-slides-print.pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="2414" LastActivityDate="2014-11-20T17:03:07.833" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27524" PostTypeId="1" CreationDate="2014-11-20T19:15:08.670" Score="1" ViewCount="235" Body="&lt;p&gt;Representing boolean functions by polynomials or rational functions either perfectly or approximately is an important topic while polynomials and rational functions is the body of algebraic geometry. Why is algebraic geometry not that applicable to this area of complexity theory? Or atleast what are some of the important papers in representing boolean functions that uses algebraic geometry?&lt;/p&gt;&#xA;" OwnerUserId="1812" LastActivityDate="2014-11-20T21:08:05.373" Title="Applications of algebraic geometry in Boolean complexity" Tags="&lt;survey&gt;" AnswerCount="1" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="27525" PostTypeId="2" ParentId="25573" CreationDate="2014-11-20T20:20:24.407" Score="9" Body="&lt;p&gt;Robert Harper's book Practical Foundations for Programming Languages (available as a draft online: &lt;a href=&quot;http://www.cs.cmu.edu/%7Erwh/pfpl/2nded.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://www.cs.cmu.edu/~rwh/pfpl/2nded.pdf&lt;/a&gt;) is a somewhat more intense alternative to Types and Programming Languages.&lt;/p&gt;&#xA;" OwnerUserId="29040" LastEditorUserId="60872" LastEditDate="2021-01-01T15:46:48.903" LastActivityDate="2021-01-01T15:46:48.903" CommentCount="0" ContentLicense="CC BY-SA 4.0" />
  <row Id="27526" PostTypeId="2" ParentId="27524" CreationDate="2014-11-20T21:08:05.373" Score="6" Body="&lt;p&gt;In addition to the Geometric Complexity Theory Program already mentioned by Sasho Nikolov (see e.g. &lt;a href=&quot;http://gct.cs.uchicago.edu/&quot;&gt;here&lt;/a&gt;, and - shameless self plug, but has tons of references on uses of AG in complexity - &lt;a href=&quot;http://tuvalu.santafe.edu/~jgrochow/grochow-gct-unity.pdf&quot;&gt;here&lt;/a&gt;), there's also:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Work on matrix multiplication (Strassen's work especially come to mind, as well as the more recent GCT-style work of Burgisser and Ikenmeyer, but also some other stuff in between)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Mulmuley's &quot;P vs NC&quot; result (this is a &lt;em&gt;Boolean&lt;/em&gt; result - if you need convincing I'm happy to), which can be seen as building off of Ben-Or's sorting lower bound and others&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Work on derandomizing polynomial identity testing (several papers of M. Agrawal come to mind). (Which, in retrospect, is &lt;a href=&quot;http://gct.cs.uchicago.edu/gct5.pdf&quot;&gt;deeply related to GCT&lt;/a&gt;.)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Coding theory (there's a whole &quot;subfield&quot; on AG codes)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="129" LastActivityDate="2014-11-20T21:08:05.373" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27527" PostTypeId="2" ParentId="27061" CreationDate="2014-11-20T21:42:00.953" Score="2" Body="&lt;p&gt;&lt;a href=&quot;http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=486388&amp;amp;tag=1&quot; rel=&quot;nofollow&quot;&gt;This work on &quot;HML&quot;&lt;/a&gt; does the reverse - it compiles an ML-like hardware description language to VHDL - but it might offer some insights on how to relate constructs in these languages.&lt;/p&gt;&#xA;" OwnerUserId="29040" LastActivityDate="2014-11-20T21:42:00.953" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27528" PostTypeId="2" ParentId="19315" CreationDate="2014-11-21T06:28:00.650" Score="3" Body="&lt;p&gt;Descriptive complexity has attempted to provide some answers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;FO (first order logic), with &lt;em&gt;ord&lt;/em&gt; (ordering of the domain ) and TC (transitive closure) $= L$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;FO + ord + LFP (least fixed point) $= P$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So the question arises -- Is FO+ord+TC $\subset$ FO+ord+LFP?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, FO + LFP (without ord) cannot even count!  For example, it is unable express the fact that the cardinality of the domain is even.  This logic certainly cannot capture $P$ -- but the question is, can it capture $L$ or $NL$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See for example &lt;a href=&quot;http://www.cs.umass.edu/%7Eimmerman/pub/EATCScolumn.pdf&quot; rel=&quot;nofollow&quot;&gt;http://www.cs.umass.edu/%7Eimmerman/pub/EATCScolumn.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;And then, second-order (SO) + Horn logic captures P, whereas SO+Krom captures NL.&#xA;See Erich Gradel, &lt;em&gt;Capturing complexity classes by fragments of second-order logic&lt;/em&gt;, Theoretical Computer Science, 1992.&lt;/p&gt;&#xA;" OwnerUserId="28655" LastActivityDate="2014-11-21T06:28:00.650" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="27529" PostTypeId="2" ParentId="27510" CreationDate="2014-11-21T10:08:50.817" Score="8" Body="&lt;p&gt;&lt;em&gt;Note:&lt;/em&gt; This is an expansion of a previous comment, since the OP explicitely asked for weaker upper bounds.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The total degree of polynomial $f$ is bounded by $2^{L(f)}$ since each operation can at most double the degree of the polynomial. Thus, for each $m\in M$, $\deg(m)\le 2^{L(f)}$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, for some variable $x$ and degree $d$, there is a SLP conputing $x^d$ by &lt;a href=&quot;https://en.wikipedia.org/wiki/Exponentiation_by_squaring&quot;&gt;binary exponentiation&lt;/a&gt; if size at most $2\log(d)$. For a monomial $m=x_1^{d_1}\dotsb x_n^{d_n}$, one can separately compute each $x_i^{d_i}$ and then take their product. Thus $L(m)\le 2n\log(d) + (n-1)$ where $d$ is the total degree of $m$ (which is of course an upper bound on each $d_i$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Together, one obtains for $m\in M$:&#xA;$$L(m)\le 2n\log(\deg(m))+(n-1)\le 2nL(f)+(n-1).$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since $n\le L(f)+1$, one can conclude&#xA;$$\forall m\in M, L(m) \le 2L(f)^2+3L(f).$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Remarks.&lt;/strong&gt; The bound as stated is very rough. In particular, the upper bound on $L(m)$ given is the second paragraph is not tight. Yet, domotorp's answer shows that one cannot hope for a much better bound, and more precisely that the quadratic dependence on $L(f)$ cannot be removed. To tighten the construction, one could use the best known constructions on &lt;a href=&quot;https://en.wikipedia.org/wiki/Addition_chain&quot;&gt;addition chains&lt;/a&gt;. Note that the precise bounds are still not known for this problem.&lt;/p&gt;&#xA;" OwnerUserId="976" LastActivityDate="2014-11-21T10:08:50.817" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27531" PostTypeId="1" CreationDate="2014-11-21T13:00:13.197" Score="2" ViewCount="202" Body="&lt;p&gt;I would like to know how to answer the following problem:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Input: A family of sets &lt;span class=&quot;math-container&quot;&gt;$S$&lt;/span&gt; over a universe &lt;span class=&quot;math-container&quot;&gt;$U$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Question: Is there a directed flow network &lt;span class=&quot;math-container&quot;&gt;$N$&lt;/span&gt; with edges &lt;span class=&quot;math-container&quot;&gt;$U$&lt;/span&gt; such that the set of all &lt;span class=&quot;math-container&quot;&gt;$s$&lt;/span&gt;-&lt;span class=&quot;math-container&quot;&gt;$t$&lt;/span&gt; min-cut edge sets is exactly &lt;span class=&quot;math-container&quot;&gt;$S$&lt;/span&gt;?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;A min-cut edge set is the set of edges crossing a min-cut in &lt;span class=&quot;math-container&quot;&gt;$s$&lt;/span&gt;-&lt;span class=&quot;math-container&quot;&gt;$t$&lt;/span&gt; direction.&lt;/p&gt;&#xA;&lt;p&gt;I have come up with a partial solution: If there are three sets &lt;span class=&quot;math-container&quot;&gt;$A,B,C \in S$&lt;/span&gt; such that the symmetric difference of &lt;span class=&quot;math-container&quot;&gt;$A$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$B$&lt;/span&gt; is a subset of &lt;span class=&quot;math-container&quot;&gt;$C$&lt;/span&gt;, then the answer to the problem is no. Unfortunately, this does not suffice.&lt;/p&gt;&#xA;" OwnerUserId="26761" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2015-04-22T20:42:09.313" Title="Characterization of the Set of all s-t-Min-Cut Edge Sets" Tags="&lt;graph-theory&gt;&lt;max-flow-min-cut&gt;&lt;flow-problems&gt;" AnswerCount="0" CommentCount="3" FavoriteCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27532" PostTypeId="2" ParentId="27215" CreationDate="2014-11-21T17:13:09.320" Score="8" Body="&lt;p&gt;Here is an example, which appears a natural problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Instance:&lt;/strong&gt; Positive integers, $d_1,\ldots,d_n$ and $k$, all bounded from above by $n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question:&lt;/strong&gt; Does there exist a $k$-colorable graph with degree sequence  $d_1,\ldots,d_n$ ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here the input can be described with $O(n\log n)$ bits, but the witness may require $\Omega(n^2)$ bits. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Remark:&lt;/em&gt; I do not have a reference that this particular problem is indeed NP-complete. But the requirement of $k$-colorability could be replaced by any other NP-complete condition; the problem will likely become NP-complete for some condition, if not for this one.&lt;/p&gt;&#xA;" OwnerUserId="12710" LastActivityDate="2014-11-21T17:13:09.320" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="27538" PostTypeId="1" AcceptedAnswerId="27576" CreationDate="2014-11-23T03:42:05.397" Score="4" ViewCount="172" Body="&lt;p&gt;What is the fastest known algorithm to report all intersecting pairs amongst a collection of $n$ simplices, each with dimension at most $r \leq d$ embedded in $\mathbb{R}^d$ (for small $d$)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the case where $d=2$ and all simplices are line segments, this problem can be solved in $O((n+k) \log(n))$ time using the &lt;a href=&quot;https://en.wikipedia.org/wiki/Bentley%E2%80%93Ottmann_algorithm&quot; rel=&quot;nofollow&quot;&gt;standard sweep line algorithm&lt;/a&gt;, where $k$ is the number of intersections.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there generalizations of this technique to higher dimensions and with higher dimensional simplices (for example, find all intersections of a set of triangles in 3D)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For clarification, I am most interested in the case where the dimension, $d$, is small, so it would be reasonable to assume that the cost of testing intersection between two simplices is $O(1)$.  Under this assumption, there is a trivial $O(n^2)$ algorithm (just test all pairs), but it would be nice to be able to do better.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The motivation for this would be to generalize sweep line intersection to 3D or higher dimensions.  This would be useful for computing overlay operations (especially CSG) in 3D, or snap-rounding.  Conventional approaches to this problem rely on spatial partitioning trees, though the performance and analysis of these techniques is somewhat sketchy (ie purely empirical, and not always great in the worst case even in practice).  It would be nice to know a solution to this problem which is supported by rigorous analysis.&lt;/p&gt;&#xA;" OwnerUserId="559" LastEditorUserId="559" LastEditDate="2014-11-25T03:43:27.827" LastActivityDate="2014-11-25T07:51:04.057" Title="Algorithm to find all intersections in set of simplices" Tags="&lt;cg.comp-geom&gt;" AnswerCount="1" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="27539" PostTypeId="2" ParentId="27508" CreationDate="2014-11-23T07:46:12.467" Score="3" Body="&lt;p&gt;Another model possibly to explore, is that of the Feasible RAM model. This is a modified real RAM model for Real computation, Feasible RAM, or a modified RAM model which uses both the discrete, and real valued arithmetic operations. This model allows for real, and discrete operations, and the Turing model, is interchangeable with it. The Feasible RAM model has precision defined with uncertainty, which means that $&amp;lt;_{k}$ allows comparisons of real numbers only up to a variable uncertainty 1/(k+1). This allows for approximative computations. Also, as Vasco Brattkaa and Peter Hertlingb state in &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0885064X98904885&quot; rel=&quot;nofollow&quot;&gt;Feasible Real Random Access Machines&lt;/a&gt; - the models of Turing, and that of Feasible Real RAMs, are related. All functions computable on a Turing machine in time $O(t)$ are computable on a RAM in time $O(t)$, and in the obverse case there some overhead for the Turing machine that computes the function(if real RAM computes the function in $O(t)$ the TM computes the function in $O(t^{2}log(t)log(log(t)))$. As pointed out topological considerations are useful, one doesn't know if there is any topological context developed for this model of computation that allows for real computations -which has uncertainty in precision. &lt;/p&gt;&#xA;" OwnerUserId="27305" LastEditorUserId="186" LastEditDate="2014-11-26T08:50:49.640" LastActivityDate="2014-11-26T08:50:49.640" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="27541" PostTypeId="1" CreationDate="2014-11-23T12:20:13.000" Score="0" ViewCount="80" Body="&lt;p&gt;MA protocol is one of the most basic models of interactive proofs. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Merlin is a prover sending a witness $w$ for given input string $x$, and Arthur is a verifier  who verifies if $w$ is a positive witness of $x$ using  random bits $r$.  We say that $L$ is decided by MA protocol $\mathcal{P}$, if the following two conditions hold. &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;$x\in L\Rightarrow \exists w\,\Pr_r[\mathcal{P}(x,w,r)=1]&amp;gt;2/3$, &lt;/li&gt;&#xA;&lt;li&gt;$x\notin L\Rightarrow \forall w\,\Pr_r[\mathcal{P}(x,w,r)=1]&amp;lt;1/3$.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;My question is:  What is the formal description of Turing Machine exactly simulating MA protocol with space $S(n)$? &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="29075" LastEditorUserId="6959" LastEditDate="2014-11-23T14:17:41.793" LastActivityDate="2014-11-23T14:17:41.793" Title="Understanding MA protocol as a variant of TM for small space setting" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;interactive-proofs&gt;&lt;machine-models&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="27545" PostTypeId="1" AcceptedAnswerId="27546" CreationDate="2014-11-23T19:10:48.320" Score="7" ViewCount="432" Body="&lt;p&gt;Given a boolean function $f$ on $n$ bits, how hard is it to determine its &lt;a href=&quot;http://en.wikipedia.org/wiki/Decision_tree_model&quot;&gt;decision tree complexity&lt;/a&gt;?&#xA;(I assume the decision tree is simple, i.e., the allowed questions are the bits of the input.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $f$ is given by an oracle, then this is surely exponential in $n$, still I wonder if it ever has been studied, if there are algorithms that run in $2^{O(n)}$.&#xA;I am even more interested in results about when $f$ is given in another way, by a polynomial over some field, or by a Turing-machine computing it.&#xA;Is there anything known about this?&#xA;Are there any hardness results?&lt;/p&gt;&#xA;" OwnerUserId="419" LastActivityDate="2014-11-23T20:36:33.120" Title="What is the complexity of decision tree complexity?" Tags="&lt;cc.complexity-theory&gt;&lt;decision-trees&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="27546" PostTypeId="2" ParentId="27545" CreationDate="2014-11-23T19:47:02.717" Score="5" Body="&lt;p&gt;If you have an oracle for $f$, you can compute the optimal decision tree for $f$ in $O(3^nn)$ time and $O(3^n)$ space. Consider a function $g$ that takes as input a partition of the variables into three sets $T$, $F$, $S$ and outputs the size of the smallest decision tree for $f$ when the variables in $T$ are restricted to $1$ and the ones in $F$ are restricted to $0$ (and the remaining ones, in $S$, are unset). The following recurrence holds for $g$:&#xA;$$g(T,F,S) = 1 + \min_{v \in S} g(T \cup {v},F,S\setminus \{v\}) + g(T,F \cup {v},S\setminus \{v\}).$$&#xA;The base case is that the function $f$ is constant with the given restriction, in which case $g$ is $0$. This recurrence directly leads to a dynamic programming algorithm. If, instead you are looking to compute the minimum depth of a decision tree then the following recurrence does the trick. &#xA;$$g(T,F,S) = 1 + \min_{v \in S} \max\big{[}g(T \cup \{v\},F,S\setminus \{v\}), g(T,F \cup \{v\},S\setminus \{v\})\big{]}.$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the lower bound side, if $f$ is given in $k$-CNF then deciding whether the decision tree complexity is non-zero amounts to checking satisfiability which is hard to do in time $2^{o(n)}$ assuming Exponential Time Hypothesis (ETH) and in $1.999^n$ time assuming the Strong ETH.&lt;/p&gt;&#xA;" OwnerUserId="27464" LastEditorUserId="27464" LastEditDate="2014-11-23T20:36:33.120" LastActivityDate="2014-11-23T20:36:33.120" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27550" PostTypeId="1" AcceptedAnswerId="27554" CreationDate="2014-11-24T04:40:54.707" Score="4" ViewCount="245" Body="&lt;p&gt;Is it decidable whether a computable analytic function $f(x_1,x_2,\dots,x_n)$ over $\mathbb{R}$, $\mathbb{C}$  in a semi-algebraic or semi-analytic domain is identically zero? Is there any algorithm?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, I am wondering under what condition regarding the domain of the function, can it be decidable that $f$ is identically zero?&lt;/p&gt;&#xA;" OwnerUserId="17024" LastEditorUserId="17024" LastEditDate="2014-11-24T10:56:14.487" LastActivityDate="2014-11-24T13:11:55.690" Title="Is it decidable that a computable analytic function over $\mathbb{R,C} ,$ equals $0$" Tags="&lt;reference-request&gt;&lt;computability&gt;&lt;computable-analysis&gt;&lt;model-theory&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="27551" PostTypeId="1" CreationDate="2014-11-24T09:35:38.660" Score="4" ViewCount="258" Body="&lt;p&gt;The clique width of graph $G$ is defined as minimum number of labels required to construct $G$ by using &lt;a href=&quot;http://en.wikipedia.org/wiki/Clique-width&quot; rel=&quot;nofollow&quot;&gt;four operations&lt;/a&gt;. &#xA;I would like to know why the name clique width is given to this definition. How it is related to clique definition.  &lt;/p&gt;&#xA;" OwnerUserId="14028" LastActivityDate="2014-11-24T09:35:38.660" Title="Definition of Clique width of graph" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;" AnswerCount="0" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="27552" PostTypeId="2" ParentId="6255" CreationDate="2014-11-24T09:43:52.083" Score="0" Body="&lt;p&gt;Joins are only quadratic over many-to-many relationships. These are relatively rare: in practice, most relationships and joins are 1-to-many, so they will take linear time if indexes/keys are defined. Queries with several many-to-many joins &lt;em&gt;are&lt;/em&gt; a serious problem.&lt;/p&gt;&#xA;" OwnerUserId="3113" LastActivityDate="2014-11-24T09:43:52.083" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27554" PostTypeId="2" ParentId="27550" CreationDate="2014-11-24T10:45:46.383" Score="7" Body="&lt;p&gt;No, it is not decidable. A good heuristic to answer such questions is the following: every computable map is continuous. If you could decide whether $f(x) = 0$ for all $x \in \mathbb{C}$, then the characteristic map $d$ of such a decision procedure, namely&#xA;$$d : f \mapsto \begin{cases}&#xA;1 &amp;amp; \text{if $\forall x \in \mathbb{C} . f(x) = 0$}\\&#xA;0 &amp;amp; \text{otherwise}&#xA;\end{cases}&#xA;$$&#xA;would be a non-constant computable map from the vector space of all such functions to the discrete space $\{0,1\}$, but such a map is discontinuous. By the same reasoning you cannot even decide whether $f(x) = 0$ at a single given $x \in \mathbb{C}$. And for the same reason still it is impossible to decide whether $y = 0$ where $y \in \mathbb{R}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A similar heuristic in a slightly different form: computable maps are continuous, therefore in any computable procedure a small perturbation of the input must create only a small perturbation of the output. From this you can see immediately that the map which takes $f$ to one of its roots (assuming $f$ has one) is not computable, because it is easy to make roots jump around wildly with arbitrarily small perturbations of $f$. (This heuristic would not work if you know someting extra about $f$, for instance if you are guaranteed that it is an odd-degree polynomial).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course, you need to know what topology to put on the vector space, but as a heuristic it is good enough to just imagine &quot;the usual&quot; topology, whatever that is. (There are theorems in computable analysis which say that an admissible representation of a separable metric space gives induces the metric topology, so the heuristic is pretty safe.)&lt;/p&gt;&#xA;" OwnerUserId="705" LastEditorUserId="705" LastEditDate="2014-11-24T13:11:55.690" LastActivityDate="2014-11-24T13:11:55.690" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27555" PostTypeId="1" AcceptedAnswerId="27563" CreationDate="2014-11-24T10:54:38.097" Score="8" ViewCount="282" Body="&lt;p&gt;Let the solution space of a SAT instance be the set of Boolean vectors of satisfying assignments of $\{0,1\}$ to the variables (that result in the formula evaluating to TRUE).&#xA;In other words, a solution space represents all the solutions of an instance.&#xA;There are at most $2^n$ solutions, so $n$-variable SAT (denoted here by SAT$_n$) can represent at most $2^{2^n}$ different solution spaces.&#xA;Moreover, it is easy to see that this number can actually be reached, by considering instances where every clause contains all $n$ variables.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We know that &lt;a href=&quot;https://cstheory.stackexchange.com/q/200/109&quot;&gt;Horn-SAT is less expressive than SAT&lt;/a&gt;, for instance there is no Horn-SAT$_2$ representation of the solution space of $a \lor b$, which contains the 3 vectors $01, 10, 11$.&#xA;Hence Horn-SAT$_n$ must be able to represent fewer than $2^{2^n}$ solution spaces.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What is the number of solution spaces of a Horn-SAT$_n$ instance?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;For completeness, recall that a literal is either a variable or its negation,&#xA;and that $n$-variable SAT consists of formulas built from at most $n$ variables (we can fix the set of variable names, e.g. $\{1,2,\dots,n\}$), in conjunctive normal form (a conjunction of disjunctions), where each disjunction of literals is known as a clause.&#xA;Horn-SAT$_n$ is the fragment of $n$-variable SAT where each clause in an input formula contains at most one non-negated variable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An equivalent counting formulation of the question is: &lt;em&gt;how many different values can #Horn-SAT$_n$ have?&lt;/em&gt;&#xA;However, note that I am not interested here in the complexity of #Horn-SAT, just its range of values for each number of variables.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;If one tries to work syntactically, then one faces the same challenge as for SAT.&#xA;Suppose one tries to count the number of different SAT instances syntactically.&#xA;There are $2^{3^n}$ different ways to write down a SAT instance with $n$ variables and no repeated clauses (if the variable order is fixed and no variable may appear more than once in a clause), so one has to find the equivalence classes of syntactically different instances that lead to the same solution space, to retrieve the $2^{2^n}$ number.&#xA;One then needs to similarly take the quotient of the set of different Horn-SAT instances with $n$ variables to obtain the correct value of the number of different solution spaces.&#xA;It is not clear to me how to take quotients for SAT, let alone how to do so for Horn-SAT.&lt;/p&gt;&#xA;" OwnerUserId="109" LastEditorUserId="109" LastEditDate="2014-11-26T23:45:49.480" LastActivityDate="2015-03-16T06:30:15.603" Title="How many sets of vectors can be represented as the solutions of a Horn-SAT instance?" Tags="&lt;cc.complexity-theory&gt;&lt;co.combinatorics&gt;&lt;sat&gt;" AnswerCount="3" CommentCount="3" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="27556" PostTypeId="1" AcceptedAnswerId="27572" CreationDate="2014-11-24T12:02:00.673" Score="5" ViewCount="277" Body="&lt;p&gt;In the article &quot;Extensional models of polymorphism&quot; by Breazu-Tannen and Coquand, natural numbers are presented using a Church-like encoding:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$polyint = \forall t . (t \to t) \to t \to t$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Addition for this encoding is introduced as:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\mathsf{Add} = \lambda u,v : polyint . \Lambda t . \lambda f : t \to t . \lambda x : t . u t f (v t f x)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then they say that commutativity of addition cannot be proved, and they say that $\mathsf{Add} u v = \mathsf{Add} v u$ does not follow from polymorphic lambda calculus theory by a simple Church-Rosser argument. What's this Church-Rosser argument? Is it related to the Church-rosser property? How can I prove it?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT: the exact statement is:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&quot;However, the pure $\lambda^{\forall}$ is not sufficient for that, as it cannot even prove, for example, that the operation of addition is commutative:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\mathsf{Add}\ u\  v = \mathsf{Add}\ v\ u$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;with arbitrary $u, v : polyint$ is not provable in $\lambda^{\forall}$ (by a simple Church-Rosser argument)&quot;.&lt;/p&gt;&#xA;" OwnerUserId="28872" LastEditorUserId="28872" LastEditDate="2014-11-24T17:17:10.277" LastActivityDate="2014-11-25T09:34:02.070" Title="Commutativity of addition in polymorphic lambda calculus" Tags="&lt;lambda-calculus&gt;&lt;type-systems&gt;&lt;polymorphism&gt;&lt;typed-lambda-calculus&gt;" AnswerCount="1" CommentCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="27558" PostTypeId="1" AcceptedAnswerId="27593" CreationDate="2014-11-24T13:17:59.543" Score="5" ViewCount="597" Body="&lt;p&gt;My understanding is that, more often than not, when people use domain theory for higher-type computability or the denotational semantics of functional programming languages, they tend to prefer &lt;em&gt;flat domains&lt;/em&gt; to interpret base types.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;These are obviously simpler to handle than non-flat ones, a fact that is reflected both on theoretical issues, since reasoning about properties of the model can become quite a combinatorial task, as well as on issues phrased in a more applied parlance, like, say, strictness analysis. My understanding is also that there are things that one can pull out in non-flat domains that are simply not doable in the flat ones, perhaps the most trivial example being the injectivity of constructors.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But, I feel that my understanding is still quite uninformed and shallow.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;My questions&lt;/strong&gt;: Why prefer flat domains? Why prefer non-flat domains? What are examples of things (theoretical or practical) that can be done in one setting but not, or &lt;em&gt;not yet&lt;/em&gt;, in the other? Is there a reference with an account on such a comparison?&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;&lt;em&gt;EDIT&lt;/strong&gt; (25/11/14): I added explicit mention of the base types, after the discussion with babou and Damiano Mazza &lt;a href=&quot;https://cstheory.stackexchange.com/a/27560/10146&quot;&gt;below&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;&#xA;" OwnerUserId="10146" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2014-11-26T17:02:03.867" Title="Flat vs non-flat domains" Tags="&lt;reference-request&gt;&lt;denotational-semantics&gt;&lt;domain-theory&gt;" AnswerCount="2" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27560" PostTypeId="2" ParentId="27558" CreationDate="2014-11-24T14:27:45.167" Score="4" Body="&lt;p&gt;With only flat domains, you cannot define limits to construct&#xA;&quot;infinite&quot; structures, such as looping structures, for data or for&#xA;programs. Fixpoint constructions in denotational semantics (since you used that tag) use non flat domains.&#xA;Maybe you should give examples of domains that are taken as flat,&#xA;while it would be better to do differently.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Many problems we deal with are expressed with data from flat domains.&#xA;But non-flat domains are used when necessary or convenient. Infinite,&#xA;or indefinite structure such as stream are not flat. Some domains used&#xA;for program analysis, for example with abstract interpretation, are not&#xA;flat. But is pretty much because non-flat domains are more&#xA;appropriate, as information that can be obtained is expected to have&#xA;different degrees of precision.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One good example to look at (but I have no expertise) is the case of&#xA;real numbers. They are often considered in a flat domain, but they are&#xA;really limits in a non-flat domain. How much is that used, explicitly&#xA;or implicitly?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit after the question was restricted to base types&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The nature of the question changes somewhat if you restrict it to base&#xA;types.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In many case, it would be interesting to see whether there are&#xA;alternatives to using flat domain, and what is the usefulness of such&#xA;alternatives. Is there a choice between flat and&#xA;non-flat for booleans? Is there one for integers? for characters? etc. What are the&#xA;pros and the cons.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But, to begin with, you may have to define what is a base type. This&#xA;is why I suggested looking at the real numbers. Should the domain be&#xA;considered flat or not.  Even in classical mathematics, reals can be&#xA;defined as limits. So you could ask the question whether reals are a&#xA;base type.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have not looked at these issues for a long time, but I think the&#xA;following paper may be relevant: &lt;a href=&quot;http://homepages.inf.ed.ac.uk/gdp/publications/Concrete.pdf&quot; rel=&quot;nofollow&quot;&gt;&quot;Concrete Domains&quot; by Gilles Kahn and&#xA;Gordon Plotkin&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I also found a &lt;a href=&quot;http://www.cs.cmu.edu/~brookes/papers/HistoricalIntroduction.pdf&quot; rel=&quot;nofollow&quot;&gt;historical introduction&lt;/a&gt; to it which I have not&#xA;read. And there seem to be some significant literature that followed.&lt;/p&gt;&#xA;" OwnerUserId="16132" LastEditorUserId="16132" LastEditDate="2014-11-25T11:27:51.030" LastActivityDate="2014-11-25T11:27:51.030" CommentCount="17" ContentLicense="CC BY-SA 3.0" />
  <row Id="27562" PostTypeId="2" ParentId="14280" CreationDate="2014-11-24T16:20:48.473" Score="-3" Body="&lt;p&gt;The distance should be upper semicomputable. For instance the Hamming distance or Euclidean distance as such is not. One has to turn them into a version that satisfies the requirement above. Read the paper closer. &lt;/p&gt;&#xA;" OwnerUserId="29093" LastActivityDate="2014-11-24T16:20:48.473" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27563" PostTypeId="2" ParentId="27555" CreationDate="2014-11-24T16:32:52.023" Score="8" Body="&lt;p&gt;$\def\pw{\mathcal P}$&#xA;It is an easy exercise to show that if we identify Boolean assignments to $n$ variables with subsets of $[n]=\{0,\dots,n-1\}$, then the solution sets of Horn CNFs are exactly the families $S\subseteq\pw([n])$ that are closed under nonempty intersections.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The picture is a little nicer for conjunctions of clauses each of which contains exactly one positive literal. Their solution sets are families closed under &lt;em&gt;arbitrary&lt;/em&gt; intersections (where in particular the empty intersection is the full set), also known as closure systems or Moore families. These are in 1–1 correspondence with &lt;a href=&quot;http://en.wikipedia.org/wiki/Closure_operator&quot;&gt;&lt;em&gt;closure operators&lt;/em&gt;&lt;/a&gt; (functions $C\colon\pw([n])\to\pw([n])$ satisfying $X\subseteq C(Y)\iff C(X)\subseteq C(Y)$), &lt;em&gt;consequence relations&lt;/em&gt; (relations ${\vdash}\subseteq\pw([n])\times[n]$ satisfying a handful of natural conditions), and I guess there are more similar combinatorial characterizations (&lt;a href=&quot;https://oeis.org/A102896&quot;&gt;https://oeis.org/A102896&lt;/a&gt; or &lt;a href=&quot;https://oeis.org/A102897&quot;&gt;https://oeis.org/A102897&lt;/a&gt; mention semilattices).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;These two numbers only differ by a factor of two (given a closure system $S$, we may either retain $[n]\in S$ or throw it out without affecting anything else).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Alekseev proved that the number $\alpha(n)$ of closure systems on an $n$-element set satisfies&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$2^{\binom{n}{\lfloor n/2\rfloor}}\le\alpha(n)\le2^{\binom{n}{\lfloor n/2\rfloor}(1+o(1))}.$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See &lt;a href=&quot;http://www.renyi.hu/~ohkatona/paper_72.pdf&quot;&gt;http://www.renyi.hu/~ohkatona/paper_72.pdf&lt;/a&gt; for related information.&lt;/p&gt;&#xA;" OwnerUserId="6959" LastActivityDate="2014-11-24T16:32:52.023" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27564" PostTypeId="1" AcceptedAnswerId="27565" CreationDate="2014-11-24T17:05:00.693" Score="4" ViewCount="169" Body="&lt;p&gt;Let $\mathbb F$ be a field (ex. a finite field, or the reals), $A$ a $m\times n$ matrix over $\mathbb F$, and $x\in \mathbb F^n$ a vector. I'm interested in finding the smallest number of coordinates I need to change in $x$ to order to have $Ax=\mathbb 0$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;What would be an algorithm to find this, or alternatively, an intractability result (ex. NP-completeness)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note: I am thinking of this in the context of matrix rigidity.&lt;/p&gt;&#xA;" OwnerUserId="20907" LastActivityDate="2014-11-24T17:13:28.903" Title="Finding the minimum number of coordinates to change to get a vector inside a subspace" Tags="&lt;linear-algebra&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27565" PostTypeId="2" ParentId="27564" CreationDate="2014-11-24T17:13:28.903" Score="6" Body="&lt;p&gt;This problem is NP-hard in general.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is equivalent to finding the sparsest vector $y\in \mathbb F^n$ such that &#xA;$$Ay = -Ax$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://statweb.stanford.edu/~donoho/Reports/2005/NonNegative-R5.pdf&quot;&gt;As finding a sparsest solution vector&lt;/a&gt; for an underdetermined system of linear equations is NP-hard, so is your problem.&lt;/p&gt;&#xA;" OwnerUserId="21001" LastActivityDate="2014-11-24T17:13:28.903" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27567" PostTypeId="1" AcceptedAnswerId="27569" CreationDate="2014-11-24T18:43:38.057" Score="4" ViewCount="187" Body="&lt;p&gt;Bainbridge coauthored the paper `Functorial Polymorphism' with Freyd, Scedrov and Scott (&lt;a href=&quot;http://dx.doi.org/10.1016/0304-3975(90)90151-7&quot; rel=&quot;nofollow&quot;&gt;DOI&lt;/a&gt;). What is his/her first name?&lt;/p&gt;&#xA;" OwnerUserId="4515" LastEditorUserId="4896" LastEditDate="2014-11-25T17:49:41.560" LastActivityDate="2019-03-23T18:31:39.603" Title="What is the first name of Bainbridge?" Tags="&lt;type-theory&gt;&lt;authorship&gt;" AnswerCount="2" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="27568" PostTypeId="1" CreationDate="2014-11-24T19:11:52.747" Score="10" ViewCount="127" Body="&lt;p&gt;Let $(P, &amp;lt;, \mu)$ be a labeled poset, that is, a partial order $(P, &amp;lt;)$ with a labeling function $\mu$ that maps the elements of $P$ to labels in an alphabet $\Sigma$. A &lt;em&gt;label list&lt;/em&gt; (or &lt;em&gt;word&lt;/em&gt;) is a finite sequence $L$ of elements of $\Sigma$ (formally $L$ maps every position $i \in \{1, \ldots, |L|\}$ to a label $L[i] \in \Sigma$, where $|L|$ is the length of $L$). We say that $L$ is a &lt;em&gt;linear extension&lt;/em&gt; of $P$ if there is an order- and value-preserving bijection $f$ from $P$ to $L$: formally, $f$ is a bijection from $P$ to $\{1, \ldots, |L|\}$, we have $\forall x, y \in P$, if $x &amp;lt; y$ then $f(x) &amp;lt; f(y)$, and $\forall x \in P$, $\mu(x) = L[f(x)]$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;My question is to determine the complexity of the following problem:&lt;/strong&gt; I am given as input a set $S$ of label lists, and I want to know if there exists a labeled poset $P_S$ such that $S$ is &lt;em&gt;exactly&lt;/em&gt; the set of the linear extensions of $P_S$. (Also, if possible, compute $P_S$.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For instance, for the input $S = \{(A, B, A), (A, A, B)\}$, a choice of labeled poset would be $P_S = (\{a_1, a_2, b\}, &amp;lt;_S, \mu_S)$, where $&amp;lt;_S = \{a_1 &amp;lt; a_2, a_1 &amp;lt; b\}$ and $\mu_S$ maps $a_1$ and $a_2$ to $A$ and $b$ to $B$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course, the answer is trivially &quot;no&quot; if all lists of $S$ do not have the same length, or actually if they do not have the same domain of values (seen as a multiset). Conversely, if they do, I can easily construct a labeled poset (e.g., the empty order relation on the domain) such that all label lists of $S$ are linear extensions of the poset. However, can I do this and avoid that other label lists not in $S$ are also extensions?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Other remarks:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;The problem can alternatively be phrased in terms of directed labeled graphs and topological sorts: a label list $L$ is a linear extension of a labeled poset $P$ iff it is the label of some topological sort of a labeled transitive DAG $G_P$ that represents $P$ (i.e., its Hasse diagram). So my problem can be equivalently phrased as follows: given $S$, determine if there is a labeled DAG $G_S$ such that $S$ is &lt;em&gt;exactly&lt;/em&gt; the set of the labels of the topological sorts of $G_S$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;For the case of ordinary posets (not labeled posets), or equivalently of unlabeled DAGs, the problem &lt;a href=&quot;http://people.cs.vt.edu/naren/papers/poset-kdd06.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;is in PTIME&lt;/a&gt;. The argument is to construct a candidate poset $P_S$ by intersecting the comparability relations implied by $S$ (which you cannot do in the labeled case because of the ambiguity of labels), and then check that $P_S$ realizes no other linear extensions by enumerating them (you cannot tractably do this with labels because there may be a lot of &quot;linear extensions&quot; that end up being the same label set). This implies that the problem is in PTIME if the list $L$ contains no duplicate values, or if $\mu$ is injective.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Other related results are the fact that counting the number of linear extensions of an input labeled poset (actually, even when there are no labels), &lt;a href=&quot;http://link.springer.com/article/10.1007%2FBF00383444&quot; rel=&quot;nofollow noreferrer&quot;&gt;is #P-hard&lt;/a&gt;. This does not imply hardness of my problem, though, because enumeration approaches could conceivably work though they do not directly adapt (see above). Also, from an &lt;a href=&quot;https://cstheory.stackexchange.com/a/19415&quot;&gt;answer to a previous question&lt;/a&gt; I know that it is NP-hard, given a labeled poset $P$ and label list $L$, to determine whether $L$ is a linear extension of $P$; yet I see no easy reduction between that problem and the question asked here.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;I am not even sure that my problem is in NP. Of course we can try to guess the poset $P_S$ and bijections that realize the linear extensions of $S$, but then we need to verify the absence of other linear extensions, so this only gives a $\Sigma_2^P$ upper bound.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="4795" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2015-05-21T17:31:04.950" Title="Reconstructing labeled poset from linear extensions" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;np-hardness&gt;&lt;partial-order&gt;&lt;order-theory&gt;" AnswerCount="0" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="27569" PostTypeId="2" ParentId="27567" CreationDate="2014-11-24T19:56:57.047" Score="4" Body="&lt;p&gt;Based on a quick search through the University of Michigan library catalog, I'm pretty sure it's &quot;Edwin&quot;; see, for example, this technical report &lt;a href=&quot;http://deepblue.lib.umich.edu/bitstream/handle/2027.42/3366/bab0803.0001.001.pdf?sequence=5&amp;amp;isAllowed=y&quot; rel=&quot;nofollow&quot;&gt;&quot;A Class of Sequential Sampling Problems Arising in Certain Learning Situations&quot; (1967)&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="751" LastActivityDate="2014-11-24T19:56:57.047" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="27571" PostTypeId="1" CreationDate="2014-11-24T20:45:53.107" Score="1" ViewCount="125" Body="&lt;p&gt;Reading the question &lt;a href=&quot;https://cstheory.stackexchange.com/questions/27215/natural-np-complete-problems-with-large-witnesses/27219&quot;&gt;Natural NP-Complete Problems with Large Witnesses&lt;/a&gt;, I was interested in this language:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;$L = \{ \varphi ~~:~~ \varphi \text{ is SAT formula with more than } |\varphi|^2 \text{ satisfying assignments}\}$&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;It made me think of the following generalization. Let $A$ be a language in $\textsf{NP}$ and fix a corresponding verifier machine $M$. My question is, &lt;strong&gt;What is known about the language consisting of members of $A$ that have at least $f(n)$ witnesses&lt;/strong&gt; (where $n$ is the size of the input and witnesses are relative to the verifier $M$)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More formally: We have a deterministic polynomial-time verifier $M$, so a &lt;em&gt;witness&lt;/em&gt; of $a \in A$ relative to $M$ is a string $w$ such that $M(a,w) = 1$. The language under consideration is&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;$L_A^f = \Big\{ a \in A ~~:~~ \#\{ w \mid M(a,w) = 1 \} \geq f(|a|) \Big\}$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;In English, $L_A^f$ consists of, for each $n$, the members of $A$ of size $n$ that have at least $f(n)$ witnesses relative to $M$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some preliminary observations:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;$L_A^1 = A$ no matter what verifier you use.&lt;/li&gt;&#xA;&lt;li&gt;For any $A$ in NP with verifier $M$, you can make a verifier $M'$ for $A$ such that $L_A^f = A$. Just have $M'$ accept every witness $w$ that is accepted by $M$, plus $f(n)$ padded versions of the witness as well. Then $a \in A$ if and only if it has at least $f(n)$ witnesses relative to $M'$. This shows that if you aren't careful about first fixing the verifier, you can get trivial answers.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Some example questions/directions:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;What can we say about &quot;parsimonious&quot; or &quot;minimal&quot; verifiers? For instance, is there an NP-Complete language $A$ and verifier $M$ where $L_A^f$ becomes, say, not NP-Complete, or even trivial or empty, for some small $f$? What about $L_A^2$ (the members of $A$ with at least two witnesses)?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;On the other hand what about succinctly-represented families of solutions? Could we have $f = \omega(p(n))$ for all polynomials $p$, and some &quot;reasonable&quot; or &quot;natural&quot; verifier for an NP-Complete language $A$, and yet $L_A^f$ is in NP? (Meaning that the fact that a given $a \in A$ has superpolynomially many witnesses is provable without listing all the witnesses.)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Anything about the above for a specific language $A$ such as SAT would be interesting.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Possibly (slightly) related: &lt;a href=&quot;https://cstheory.stackexchange.com/questions/20035/does-second-x-is-np-complete-imply-x-is-np-complete&quot;&gt;Does &quot;Second-X is NP-Complete&quot; Imply &quot;X is NP-Complete&quot;?&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="8243" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2014-11-24T20:45:53.107" Title="Properties of &quot;second-order&quot; NP (complete) languages" Tags="&lt;cc.complexity-theory&gt;&lt;np&gt;&lt;np-complete&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="27572" PostTypeId="2" ParentId="27556" CreationDate="2014-11-24T21:03:07.133" Score="4" Body="&lt;p&gt;The fact that $\mathsf{Add}\ u\ v = \mathsf{Add}\ v\ u$ is not provable for arbitrary $u$ and $v$ does indeed follow from the Church-Rosser property.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Write $u =_\beta v$ if $u \mathrel{({}_\beta\!\!\leftarrow\cup\rightarrow_\beta)^\ast} v$, where $\rightarrow_\beta$ is $\beta$-reduction in System F and $(\cdot)^\ast$ is the reflexive-transitive closure operator (this is a possible definition of $\beta$-equality, which Breazu-Tannen and Coquand denote simply by $=$. Here I will use the $\beta$ subscript and keep the $=$ symbol for strict equality, i.e., $\alpha$-equivalence if you like).  It follows immediately from the definition that if two terms have a common reduct, i.e., $u\rightarrow_\beta^\ast w$ and $v\rightarrow_\beta^\ast w$, then $u=_\beta v$. The Church-Rosser theorem states that the converse also holds:&#xA;$$u=_\beta v \quad \textrm{implies}\quad \exists w.\ u\rightarrow^\ast w\textrm{ and }v\rightarrow^\ast w.$$&#xA;It follows that $\beta$-equivalent normal forms are necessarily identical:&#xA;$$u,v\textrm{ normal and }u=_\beta v\textrm{ implies }u=v.$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Read contrapositively, the above says that different normal forms can never be $\beta$-equivalent. Now, suppose $\mathsf{Add}\ u\ v=_\beta\mathsf{Add}\ v\ u$ for arbitrary $u$, $v$. In particular, this holds when $u=x$ and $v=y$ are distinct variables of type $polyint$. But it is easy to show (just apply a couple of steps of $\rightarrow_\beta$) that $\mathsf{Add}\ x\ y=_\beta u'$ and $\mathsf{Add}\ y\ x=_\beta v'$ with $u'$ and $v'$ distinct normal forms. Contradiction.&lt;/p&gt;&#xA;" OwnerUserId="20716" LastEditorUserId="20716" LastEditDate="2014-11-25T09:34:02.070" LastActivityDate="2014-11-25T09:34:02.070" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27573" PostTypeId="2" ParentId="27555" CreationDate="2014-11-24T21:05:03.920" Score="-1" Body="&lt;p&gt;(I was going to add a quick comment, but I'm not being allowed to.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you take into account equi-satisfiability, then you can get lots more Horn formulas.  For example, considering $\phi \equiv (p \lor q)$, there is a reduction from $\phi$ to a Horn formula.  See my answer under &lt;a href=&quot;https://cstheory.stackexchange.com/questions/200/translating-sat-to-hornsat&quot;&gt;Translating SAT to HornSAT&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you try using the above technique to reduce an arbitrary 3-SAT formula to a Horn formula, you cannot do it in poly time -- since two 3-clauses resolve to a 4-clause, two 4-clauses resolve to a 6-clause, and so on... the result is an exponential number of clauses.. but I digress.. I'm going off-topic, so let me stop here.&lt;/p&gt;&#xA;" OwnerUserId="28655" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2014-11-24T21:05:03.920" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27574" PostTypeId="1" AcceptedAnswerId="27735" CreationDate="2014-11-24T23:59:50.003" Score="9" ViewCount="381" Body="&lt;p&gt;I am looking for references for the following problem: given integers $n$ and $k$, enumerate all non-isomorphic planar graphs on $n$ vertices and treewidth $\leq k$. I'm interested both in theoretical and practical results, but mostly practical algorithms that are possible to code and run for as large as possible values of $n$ and $k$ (think $k \leq 5$ and $n \leq 15$). If you already have an answer, ignore the ramblings below. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The following approach works sort of ok for enumerating all non-isomorphic graphs on $n$ vertices and treewidth $\leq k$ (i.e when the planarity constraint is dropped):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(a) Enumerate all non-isomorphic graphs on $n-1$ vertices and treewidth $\leq k$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(b) For each vertex $G$ on $n-1$ vertices and treewidth $\leq k$, every clique $C$ on $\leq k$ vertices in $G$ and every subset $S$ of edges in $C$, make $G'$ from $G - S$ by adding a new vertex $v$ adjacent to $C$. Add $G'$ to the list ${\cal L}$ of grahs on $n$ vertices and treewidth $\leq k$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(c) Trim ${\cal L}$ by removing copies of the same graph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A tempting way to extend this to enumerate planar graphs of treewidth $\leq k$ is to simply filter out the non-planar graphs at every iteration. Unfortunately this fails to generate all planar graphs of treewidth $\leq k$ (for example because it only enumerates $4$-degenerate graphs). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course we could enumerate all graphs on $n$ vertices and treewidth $\leq k$ and only then filter out the non-planar ones, but this fails to exploit that most graphs are non-planar and seems very sub-optimal. &lt;/p&gt;&#xA;" OwnerUserId="27464" LastEditorUserId="2367" LastEditDate="2014-12-02T20:11:11.173" LastActivityDate="2014-12-07T14:35:33.313" Title="Enumerating Planar Graphs of Bounded Treewidth" Tags="&lt;reference-request&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;treewidth&gt;" AnswerCount="2" CommentCount="12" ContentLicense="CC BY-SA 3.0" />
  <row Id="27576" PostTypeId="2" ParentId="27538" CreationDate="2014-11-25T07:51:04.057" Score="4" Body="&lt;p&gt;Yes. You can do better than the trivial $O(n^2)$ time bound, but you are not going to enjoy it....&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can reduce the problem of deciding if there are intersecting pairs of triangles to $O(n)$ ray shooting queries among triangles, and using some heavy machinery (i.e., range searching techniques) you would get something. See Theorem 7.1 in the paper below. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;You should also get something as far as detecting all $k$ intersecting pairs, but the bound is going to be useful only if $k$ is truly small (say, between $n$ and $n^{5/4}$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In practice, some quadtree based heuristic should work reasonably well, but I am just speculating. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://www.cs.duke.edu/~pankaj/publications/papers/semi-range.pdf&quot; rel=&quot;nofollow&quot;&gt;https://www.cs.duke.edu/~pankaj/publications/papers/semi-range.pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="9594" LastActivityDate="2014-11-25T07:51:04.057" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27578" PostTypeId="1" CreationDate="2014-11-25T11:02:47.193" Score="2" ViewCount="113" Body="&lt;p&gt;On the section 3 of the paper  &lt;a href=&quot;http://eprint.iacr.org/2009/616&quot; rel=&quot;nofollow noreferrer&quot;&gt;Fully Homomorphic Encryption over the Integers&lt;/a&gt;, there is a construction of a somewhat encryption scheme, as follow:&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;key generation&lt;/strong&gt;&#xA;Choose an odd η-bit integer &lt;span class=&quot;math-container&quot;&gt;$p$&lt;/span&gt; in &lt;span class=&quot;math-container&quot;&gt;$(2Z + 1) ∩ [2^{η−1} , 2^η)$&lt;/span&gt; to be the secret key.&lt;/p&gt;&#xA;&lt;p&gt;For the public key, sample &lt;span class=&quot;math-container&quot;&gt;$x_i ← pq_i + r_i$&lt;/span&gt; for &lt;span class=&quot;math-container&quot;&gt;$i = 0, ..., τ$&lt;/span&gt;, where &lt;span class=&quot;math-container&quot;&gt;$q_i \in Z∩[0, \frac{2^γ}{p})$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$r_i \in Z∩(−2^ρ, 2^ρ)$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Relabel so that &lt;span class=&quot;math-container&quot;&gt;$x_0$&lt;/span&gt; is the largest. Restart unless &lt;span class=&quot;math-container&quot;&gt;$x_0$&lt;/span&gt; is odd and &lt;span class=&quot;math-container&quot;&gt;$r_p(x_0)$&lt;/span&gt; is even. The public key is &lt;span class=&quot;math-container&quot;&gt;$pk = \{x_0, x_1, ... , x_τ\}$&lt;/span&gt; .&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;encryption&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;Choose a random subset &lt;span class=&quot;math-container&quot;&gt;$S ⊆ \{1,2, ..., τ \}$&lt;/span&gt; and a random integer &lt;span class=&quot;math-container&quot;&gt;$r$&lt;/span&gt; in &lt;span class=&quot;math-container&quot;&gt;$(−2^{2\lambda}, 2^{2\lambda})$&lt;/span&gt;, and output &lt;span class=&quot;math-container&quot;&gt;$c ← (m + 2r + 2 \sum_{i \in S} x_i) \mod x_0$&lt;/span&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;decryption&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;Output &lt;span class=&quot;math-container&quot;&gt;$m ← (c \mod p) \mod 2$&lt;/span&gt;&lt;/p&gt;&#xA;&lt;p&gt;You can find more information on the paper (it's linked above).&lt;/p&gt;&#xA;&lt;p&gt;So, I have some questions:&lt;/p&gt;&#xA;&lt;p&gt;1 - Why we have to make &lt;span class=&quot;math-container&quot;&gt;$\mod p$&lt;/span&gt; in decryption step? Since the sum is multiplied by two, we could just apply the &lt;span class=&quot;math-container&quot;&gt;$\mod 2$&lt;/span&gt; to recovery the message &lt;span class=&quot;math-container&quot;&gt;$m$&lt;/span&gt;, couldn't?&lt;/p&gt;&#xA;&lt;p&gt;----- BEGIN EDIT&lt;/p&gt;&#xA;&lt;p&gt;There is a lemma that shows that &lt;span class=&quot;math-container&quot;&gt;$c$&lt;/span&gt; is of the form &lt;span class=&quot;math-container&quot;&gt;$ap + (2b + m)$&lt;/span&gt; for some integers &lt;span class=&quot;math-container&quot;&gt;$a$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$b$&lt;/span&gt;, then, since &lt;span class=&quot;math-container&quot;&gt;$2b + m$&lt;/span&gt; is smaller than &lt;span class=&quot;math-container&quot;&gt;$p$&lt;/span&gt;, we have &lt;span class=&quot;math-container&quot;&gt;$c \mod p$&lt;/span&gt; equal to &lt;span class=&quot;math-container&quot;&gt;$2b + m$&lt;/span&gt;, then, &lt;span class=&quot;math-container&quot;&gt;$(c \mod p) \mod 2$&lt;/span&gt; is equal to &lt;span class=&quot;math-container&quot;&gt;$m$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Therefore, I consider this question 1 answered.&lt;/p&gt;&#xA;&lt;p&gt;----- END EDIT&lt;/p&gt;&#xA;&lt;p&gt;2 - What is the maximum number of adding and multiplications operations that we can do over the ciphertexts?&lt;/p&gt;&#xA;&lt;p&gt;Any help will be appreciated.&lt;/p&gt;&#xA;&lt;p&gt;Thank you very much.&lt;/p&gt;&#xA;" OwnerUserId="29094" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2014-11-25T23:24:16.697" Title="Fully Homomorphic Encryption over Integers" Tags="&lt;homomorphic-encryption&gt;" AnswerCount="0" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="27580" PostTypeId="1" AcceptedAnswerId="27581" CreationDate="2014-11-25T12:53:34.717" Score="4" ViewCount="231" Body="&lt;p&gt;I am considering a problem of the following: Given a set $X$ of integers and another integer B, are there two subsets of $X$, say $X_1$ and $X_2$, such that $X_1-X_2=B$ ? (Here, $X_i$ also denotes the sum of integers in the set $X_i$)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I wonder whether this problem is solvable in polytime or NP-complete? Thanks.&lt;/p&gt;&#xA;" OwnerUserId="29105" LastEditorUserId="16809" LastEditDate="2014-11-25T17:56:38.487" LastActivityDate="2014-11-25T22:58:52.810" Title="Is the problem NP-C or polynomially solvable?" Tags="&lt;np-complete&gt;&lt;subset-sum&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="27581" PostTypeId="2" ParentId="27580" CreationDate="2014-11-25T22:58:52.810" Score="7" Body="&lt;p&gt;As said by RB in the comment, if $X_1 \cup X_2  = X; X_1 \cap X_2 = \emptyset$, then setting $B=0$ makes your problem equivalent to &lt;a href=&quot;http://en.wikipedia.org/wiki/Partition_problem&quot; rel=&quot;nofollow noreferrer&quot;&gt;PARTITION&lt;/a&gt;. But even with the relaxed conditions: &#xA;$X_1,X_2 \neq \emptyset, X_1, X_2 \subseteq X;  X_1 \cap X_2 = \emptyset$  (i.e. $X_1,X_2$ not necessarily form a partition of $X$) the problem is still NPC: set $B = 0$ and it becomes equivalent to the &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/002001909290226L&quot; rel=&quot;nofollow noreferrer&quot;&gt;EQUAL-SUBSET-SUM&lt;/a&gt; problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I don't bear papers behind paywalls :-), so this is a quick sketch of an alternative simple reduction from SUBSET-SUM:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given non-negative integers $A = \{ a_1,a_2,...,a_n\}$ and a target sum $S$, let $k = \lceil \log \sum a_i \rceil$.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;For $i = 1,...,n$, set $x_i = 2^{k+3i} + a_i$, &lt;/li&gt;&#xA;&lt;li&gt;add $n$ new integers $x'_i = 2^{k+3i}$,&lt;/li&gt;&#xA;&lt;li&gt;add two dum integers $d_1 = d_2 = 2^{k+3(n+1)}$ that are used only to make $X_2$ nonempty&lt;/li&gt;&#xA;&lt;li&gt;and finally set as target sum (for your problem) $B = S + \sum_{i=1}^n 2^{k+3i}$&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The following figure should make things clearer:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/eUYRN.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;br&gt;&#xA;(empty cells represent zeros)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If there is a subset $A'$ that sums to $S$ in the original problem, then $X_1 = \{ x_i \mid a_i \in A' \} \cup \{ x'_i \mid a_i \notin A'\} \cup \{d_1\}$, $X_2 = \{d_2\}$ are such that $X_1 - X_2 = B$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the opposite direction, suppose that $X_1 - X_2 = B$, then it is easy to prove that if you include one of the $x_i$ (or $x'_i$) in $X_2$, i.e. you &lt;em&gt;subtract&lt;/em&gt; them, you'll not be able to &quot;totalize&quot; the $2^{k+3i}$ component of the target sum $B$ anymore. So none of the $x_i$ can be included in $X_2$, and $\sum_{\{ i \mid x_i \in X_1\}} a_i = S$&lt;/p&gt;&#xA;" OwnerUserId="3247" LastActivityDate="2014-11-25T22:58:52.810" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="27582" PostTypeId="1" CreationDate="2014-11-25T23:22:49.420" Score="14" ViewCount="368" Body="&lt;p&gt;I recently became interested in the general problem of optimizing memory usage in a situation where there is more than one kind of memory available, and there is a trade-off between the capacity of a given memory segment and the speed of accessing it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The familiar example is a program deciding when to &lt;em&gt;read from&lt;/em&gt; / &lt;em&gt;write to&lt;/em&gt; the processor cache, RAM and hard drive (via virtual memory).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am particularly interested in the special case where the amount of data (including the program itself) that needs to be loaded significantly exceeds the capacity of the fastest storage available (i.e. the trivial solution of &quot;just load up everything&quot; is inapplicable).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I found that a &lt;a href=&quot;https://en.wikipedia.org/wiki/Cache_algorithms&quot; rel=&quot;nofollow&quot;&gt;Wikipedia page&lt;/a&gt; describing some common cache algorithms, which is almost what I want. Unfortunately, these are a bit low-level: &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Many, such as LRU or MRU only make sense if you have subroutines that get accessed many times. If I have a program with a large number of subroutines, some of which are never accessed in a given run, and some of them are accessed one or two times, this strategy will never work because it can't build up enough data on what is commonly used and what is not.&lt;/li&gt;&#xA;&lt;li&gt;Others, such as CLOCK, seem to deal with the peculiarities of implementation, rather than actually attacking the root of the problem.&lt;/li&gt;&#xA;&lt;li&gt;I know there is a strategy where one first profiles a program during a test run, then provides the profile for the operating system to optimize accordingly. However, we must still solve the problem of providing a truly representative &quot;example usage&quot; while building the profile.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;What I really want to learn about is this:When we abstract away all the technicalities of hardware and software, and speak in a purely theoretical context, is it possible to somehow analyze the structure of an algorithm, to work out an effective cache strategy for it based on high-level comprehension of what the algorithm is doing?&lt;/p&gt;&#xA;" OwnerUserId="8515" LastEditorUserId="9425" LastEditDate="2015-06-16T09:06:20.670" LastActivityDate="2015-06-16T13:34:32.463" Title="What is the state of the art in cache algorithm theory?" Tags="&lt;optimization&gt;&lt;program-analysis&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="27586" PostTypeId="1" AcceptedAnswerId="27608" CreationDate="2014-11-26T07:14:34.113" Score="1" ViewCount="2158" Body="&lt;p&gt;I have a planar graph, for which I have computed a combinatorial embedding and coordinates in the plane. So all my arcs are now oriented in the plane, respective to their end vertices.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Computing a list of all faces of the graph (as a list of oriented walks along their arcs) is fairly straightforward.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, finding a simple way to pick the &lt;strong&gt;outer face&lt;/strong&gt; out of the list of faces does not seem as easy: it is included in the list of faces, but since its orientation is &quot;reversed&quot; (i.e. relative to the outer region, rather than the inside of the graph boundary), all its properties in terms of neighbouring faces are identical to other faces.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Short of using plane coordinates to painstakingly identify the outer nodes/arcs of the graph, is there a more straightforward way to pick the outer face out of the list of faces using the combinatorial embedding (given as a table of arc successors in the oriented plane)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit:&lt;/strong&gt; Upon reading the comments, I realised that my wording was ambiguous (verging on the incorrect): while I have the combinatorial embedding and would like to use it (or the information derived from it), I &lt;em&gt;also&lt;/em&gt; have coordinates derived from a drawing of that graph (hence the &lt;em&gt;plane&lt;/em&gt; graph, not simply planar graph), ensuring that there is, indeed, a specific outer face.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What I meant to say is that I am looking for a method that would do more (or rather: less) than just looking at the coordinates of all faces and (for example), compute their orientation. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;To be precise, the embedding and plane drawing give me:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;a list of all faces (as an oriented walk of vertices).&lt;/li&gt;&#xA;&lt;li&gt;for each arc: the face left and right of it.&lt;/li&gt;&#xA;&lt;li&gt;for each vertex: an oriented walk of its ingoing/outgoing arcs (actually, my graph of interest is undirected, but that is probably not very relevant).&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit 2:&lt;/strong&gt; Despite the upvotes, the first comment does not really solve much (it essentially boils down to a recursive answer: &quot;in order to find the outer face, use the leftmost vertex, then find the outer face&quot;, which isn't as trivial to solve as its commenter seemed to think.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;@Zsbán provided what looks like the most efficient and elegant solution. Thanks!&lt;/p&gt;&#xA;" OwnerUserId="29117" LastEditorUserId="29117" LastEditDate="2014-12-02T03:27:33.127" LastActivityDate="2020-03-30T19:13:41.407" Title="Finding outer face in plane graph (embedded planar graph)" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;planar-graphs&gt;" AnswerCount="5" CommentCount="27" ContentLicense="CC BY-SA 3.0" />
  <row Id="27587" PostTypeId="1" CreationDate="2014-11-26T10:14:51.577" Score="2" ViewCount="131" Body="&lt;p&gt;In a typical Ising model, one has possible spin assignments of $\sigma_i = \pm 1$.  However, one can also imagine a $q = 2$ Potts model generalization with spin assignments $\sigma_i = (0,1)$.  Is there a special name for this variant of an Ising model?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm asking this question because I'm curious if the results of (Barahona -- &lt;a href=&quot;http://yaroslavvb.com/papers/barahona-on.pdf&quot; rel=&quot;nofollow&quot;&gt;http://yaroslavvb.com/papers/barahona-on.pdf&lt;/a&gt;) &amp;amp; (Istrail 2000 -- &lt;a href=&quot;http://www.brown.edu/Research/Istrail_Lab/papers/p87-istrail.pdf&quot; rel=&quot;nofollow&quot;&gt;http://www.brown.edu/Research/Istrail_Lab/papers/p87-istrail.pdf&lt;/a&gt;), showing the that calculation of the ground state is NP-hard for three-dimensional integer lattices (Barahona) and more generally non-planar lattices (Istrail), hold for an Ising model with $\sigma_i = (0,1)$ spin assignments?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It seems that it should from their proof arguments, though I do wonder if I'm missing something?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Generally speaking, what sort of rules can I &quot;get away with&quot; for spin state assignments while allowing for the results of (Barahona 1982) &amp;amp; (Istrail 2000) to hold?&lt;/p&gt;&#xA;" OwnerUserId="29119" LastEditorUserId="29119" LastEditDate="2014-11-26T10:27:25.303" LastActivityDate="2014-11-26T10:27:25.303" Title="Calculating the ground state of an Ising model with $\sigma_i = (0,1)$ spin state assignments (do Barahona &amp; Istrail's NP-hardness results hold?)" Tags="&lt;np-hardness&gt;&lt;physics&gt;&lt;combinatorics&gt;&lt;statistical-physics&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27589" PostTypeId="2" ParentId="27586" CreationDate="2014-11-26T14:32:37.920" Score="2" Body="&lt;p&gt;As you are computing a list of all faces of the graph as a list of oriented walks along their arcs (as you've written) you could compute the area of the face (polygon) efficiently as is suggested in the second algorithm here (since you have plane coordinates of the vertices): &lt;a href=&quot;https://stackoverflow.com/questions/451426/how-do-i-calculate-the-surface-area-of-a-2d-polygon/717367#717367&quot;&gt;Area of polygon&lt;/a&gt;. The face with largest area should be the outer face of your graph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;About using information only in the combinatorial map, I think Noam Zeilberger is right about that they can be embedded in different ways on the plane. More information about this may be here: &lt;a href=&quot;http://liris.cnrs.fr/Documents/Liris-5009.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Polynomial Algorithms for Subisomorphism of nD Open Combinatorial Maps&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="29122" LastEditorUserId="-1" LastEditDate="2017-05-23T12:40:09.333" LastActivityDate="2014-11-26T14:32:37.920" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27590" PostTypeId="1" CreationDate="2014-11-26T14:34:00.893" Score="19" ViewCount="400" Body="&lt;p&gt;Treewidth plays an important role in FPT algorithms, in part because many problems are FPT parameterized by treewidth. A related, more restricted, notion is that of pathwidth. If a graph has pathwidth $k$, it also has treewidth at most $k$, while in the converse direction, treewidth $k$ only implies pathwidth at most $k\log n$ and this is tight.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given the above, one may expect that there may be a significant algorithmic advantage to graphs of bounded pathwidth. However, it seems that most problems which are FPT for one parameter are FPT for the other. I'm curious to know of any counter-examples to this, that is, problems which are &quot;easy&quot; for pathwidth but &quot;hard&quot; for treewidth.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let me mention that I was motivated to ask this question by running into a recent paper by Igor Razgon (&quot;On OBDDs for CNFs of bounded treewidth&quot;, KR'14) which gave an example of a problem with a $2^{k}n$ solution when $k$ is the pathwidth and a (roughly) $n^k$ lower bound when $k$ is the treewidth. I am wondering if there exist other specimens with this behavior.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Summary:&lt;/strong&gt; Are there any examples of natural problems which are W-hard parameterized by treewidth but FPT parameterized by pathwidth? More broadly, are there examples of problems whose complexity is known/believed to be much better when parameterized by pathwidth instead of treewidth?&lt;/p&gt;&#xA;" OwnerUserId="3168" LastEditorUserId="2367" LastEditDate="2014-12-02T20:10:18.183" LastActivityDate="2018-08-13T07:56:15.703" Title="Algorithmic advantages of pathwidth over treewidth" Tags="&lt;parameterized-complexity&gt;&lt;treewidth&gt;&lt;graph-minor&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="27591" PostTypeId="2" ParentId="25736" CreationDate="2014-11-26T14:36:18.987" Score="3" Body="&lt;p&gt;A partial answer to the second question:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;exponential lower bounds for explicit functions for any class that contains 3-CNF do not translate into exponential lower bounds for unlimited nondeterminism, because one can transform any circuit of size $S$ into a nondeterministic 3-CNF of size $O(S)$ with non-determinism $S$,&lt;/li&gt;&#xA;&lt;li&gt;even if you want non-determinism less than S, this is still doable if the function is computed by a $B_2$ formula (for example, parity), because one can split this formula of size $S$ into, say, $S/100$ pieces introducing $S/100$ new variables, and the resulting formula will be $O(S)$ size (though the constant in the $O()$ will be large),&lt;/li&gt;&#xA;&lt;li&gt;for limited (but growing) nondeterminism one can, of course, use good old bounds (for example, Hastad's exponential lower bound $2^{n^{1/d}}$ for parity remains exponential if the nondeterminism is much less than $n^{1/d}$: just enumerate all possible bits for the nondeterminism and take a big OR of the resulting formulas).&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;A partial answer to the first question:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;not known to me :) it would be interesting to see the proof (in particular, how can you substitute values for the existential variables).&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="19643" LastActivityDate="2014-11-26T14:36:18.987" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27592" PostTypeId="1" CreationDate="2014-11-26T15:33:04.200" Score="1" ViewCount="99" Body="&lt;p&gt;Denote $[n] \triangleq \{1,2,\ldots,n\}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assume we would like to have a data structure $S$ which kinda works as a dictionary from $[k]$ to $[v]$, and supports add/remove/update/query functionality, without any dynamic memory allocation (everything has to be pre-allocated).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In general, one cannot do better than using $\Omega(k\log\frac{v}{k})$ bits in a succinct implementation or $k\log v$ bits in a simple array/hash table..&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But if we assume that no more than $m$ items may be added to $S$ (assume you may ignore any additional add operation until some item is removed), we can improve the memory requirements, especially if $m&amp;lt;&amp;lt;k$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Without getting into succinct implementation (is such known (which takes $m$ into consideration)?), one may simply allocate an array of $c\cdot m$ (where $c$ is a space/time performance parameter) linked lists, and whenever key $x$ is added to the structure, place it in list $h(x)$ for some function $h:[k]\to [cm]$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $h$ spread the actual keys (about) evenly, then the structure may still perform operations in $O(1)$ time for constant $c$ (as $\frac{1}{c}$ is the expected list length), while reducing the space requirement to $O(m(c+\log (vk)))$ (this can be done without any need for dynamic allocation).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm currently working on a succinct implementation of such structure for some application, and was wondering if there is a name for it.&lt;/p&gt;&#xA;" OwnerUserId="21001" LastActivityDate="2014-11-26T15:33:04.200" Title="What is the name of this data structure? (hash table with a limit on the number of entries)" Tags="&lt;reference-request&gt;&lt;ds.data-structures&gt;&lt;succinct&gt;" AnswerCount="0" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="27593" PostTypeId="2" ParentId="27558" CreationDate="2014-11-26T17:02:03.867" Score="3" Body="&lt;p&gt;For what concerns the use of non-flat domains, babou already gave examples.  I can add that sometimes it may even be useful to see integers as streams: there's ⊥, above which there are 0 and S⊥, above the latter there are S0 and SS⊥, and so on.  I know that in the early 90s Loïc Colson worked on models using the above interpretation of integers, although I don't know exactly for what purpose.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So the usefulness of non-flat domains may be taken as understood and I will add some motivation as to why flat domains tend to be the &quot;default choice&quot; for interpreting base types.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In languages like PCF, the normal forms of every base type plus the equivalence class of all diverging terms of that type form a flat cpo with respect to the observational preorder. Therefore, if one is interested in full completeness (or even just adequacy) for PCF, interpreting base types as flat domains is a natural choice.  It works too: in all fully abstract models of which I am aware of (Milner's syntactic model and both Abramsky-Jagadeesan-Malacaria and Hyland-Ong-Nickau games models) base types are flat.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In fact, the difficulty in achieving full abstraction is to capture the sequential behavior of PCF (and, more generally, the operational behavior of its extensions, such as non-deterministic, probabilistic, quantum or whatever) and this has nothing to do with the flatness/non-flatness of base types (in fact, as I said above, from the syntactic point of view base types are flat).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, in the context of adequacy/full abstraction, which is very important (and historically fundamental), there is no need to go beyond flatness, or at least we have not yet found a compelling reason to do so.&lt;/p&gt;&#xA;" OwnerUserId="20716" LastActivityDate="2014-11-26T17:02:03.867" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="27594" PostTypeId="1" AcceptedAnswerId="27619" CreationDate="2014-11-26T17:45:01.453" Score="2" ViewCount="352" Body="&lt;p&gt;I have a game as given by the table below. I would like to prove that the game has always at least one pure Nash equilibrium (NE). I used a computer program and in fact the game has a pure NE. So, I am claiming the existence of at least one pure NE.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I looked in the internet but most of the paper that I read are talking about general games.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I need to know what do I need to know and to do in order to prove my claim? I do not want to give me the whole answer (if you have any), just give the tools and some hints and that would be appreciated. Also, can you give, in general, situation, how to prove the existence of a pure NE? Thank you.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is the game:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\begin{array}{c|c|c|c|} &#xA;P1\backslash P2 &amp;amp; \text{$a_1$} &amp;amp; \text{$a_2$} &amp;amp; \text{$a_3$} \\ \hline&#xA;\text{$a_1$} &amp;amp; (-1, -1) &amp;amp; (p, q)   &amp;amp; (r, 0) \\ \hline&#xA;\text{$a_2$} &amp;amp; (s, t)   &amp;amp; (-1, -1) &amp;amp; (x, 0) \\ \hline&#xA;\text{$a_3$} &amp;amp; (0, y)   &amp;amp; (0, z)   &amp;amp; (0, 0) \\ \hline&#xA;\end{array}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can see that it is a 2 players ($P1$ is the row player and $P2$ is the column player) game where each player has the action space $\{a_1, a_2, a_3\}$. Here $p,q,r,s,t,x,y,z$ are integers in the set $\{-1, 1\}$ which are related to each others by: &lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;If p == 1 then r = 1&#xA;If s == 1 then x = 1&#xA;If q == 1 then z = 1&#xA;If t == 1 then y = 1&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;My algorithm that I used is a brute force one that search for all possible values of $p,q,r,s,t,x,y,z$ and then see for each possible value if there is a pure NE or not.&lt;/p&gt;&#xA;" OwnerUserId="27139" LastActivityDate="2014-11-28T17:04:33.123" Title="How to prove the existence of a pure Nash equilibrium?" Tags="&lt;gt.game-theory&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="27595" PostTypeId="1" CreationDate="2014-11-26T19:29:46.233" Score="3" ViewCount="493" Body="&lt;p&gt;I am interested in Boolean function polynomial/rational exact/approximate/one sided approximate representation, relation to circuit/communication complexity, tools utilized to study Boolean functions (such as combinatorics, analysis, approximation theory, algebra etc).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What are some of the important references, lecture notes and key papers (including survey) in the field of Boolean functions for someone wanting to learn the growth of the area from 80s till today.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Even open problems in the area would be a good introduction as one can usually trace back the literature. One important open problem is sensitivity-block sensitivity conjecture.&lt;/p&gt;&#xA;" OwnerUserId="1812" LastEditorUserId="1812" LastEditDate="2015-01-02T06:17:32.890" LastActivityDate="2015-01-02T06:17:32.890" Title="Important papers and open problems in Boolean functions" Tags="&lt;big-list&gt;&lt;big-picture&gt;&lt;boolean-functions&gt;&lt;survey&gt;" AnswerCount="1" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="27596" PostTypeId="1" CreationDate="2014-11-26T20:55:13.507" Score="4" ViewCount="222" Body="&lt;p&gt;The &lt;a href=&quot;http://en.wikipedia.org/wiki/Barab%C3%A1si%E2%80%93Albert_model&quot; rel=&quot;nofollow&quot;&gt;Barabási-Albert Model&lt;/a&gt; is used for constructing scale-free networks using the preferential attachment technique. The essence, as I understand it, is that nodes are incrementally added to a graph by adding an edge to an existing node selected with probability proportional to the number of edges connecting the node. The algorithm starts on some initial clique, $G$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now let's assume that newly added nodes are labelled $0, 1, 2, \ldots$. &#xA;Define a &lt;em&gt;construction path&lt;/em&gt; to be a path $l_0l_1l_2\ldots l_n o$ in the generated graph such that $o$ is a node from the initial clique $G$, $l_n&amp;lt;\cdots&amp;lt;l_2&amp;lt;l_1&amp;lt;l_0$ and $l_0$ is maximal. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Clearly, at one extreme, such paths will be of length $1$, when all newly added nodes connect to one of the initial nodes.&#xA;At the other extreme, the length of the path will be equal to the number of nodes added to the graph. Both of these cases are extremely unlikely.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm interested in the average case.  Are there any known results about the expected value of the lengths of construction paths? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;NB. Construction path is a name I invented for this question: please let me know if such paths go by another name.&lt;/p&gt;&#xA;" OwnerUserId="77" LastEditorUserId="77" LastEditDate="2014-11-30T18:26:02.550" LastActivityDate="2014-11-30T18:26:02.550" Title="Expected length of longest construction path in Barabási–Albert Model" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;random-graphs&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="27597" PostTypeId="1" CreationDate="2014-11-26T21:20:00.917" Score="5" ViewCount="116" Body="&lt;p&gt;Consider the Goemans-Williamson algorithm for the MAX-CUT problem.&#xA;It is known, that if $maxcut(G) \geq 1-\epsilon$, then&#xA;the algorithm returns a cut $S$ of fractional size at least $1-\sqrt{\epsilon}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is known about the distribution on such cuts, as induced by the hyperplane&#xA;randomized rounding procedure?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, is it known whether or not $S$ is distributed uniformly over the&#xA;cuts of size at least $1-\sqrt{\epsilon}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To place in context, it is known for example, that if one allows $\Omega(n)$ levels of SDP / Lasserre relaxations, then one can force the output distribution to be uniformly random on the set of exact MAX-CUTS, so essentially the question is whether or not such behavior holds in a similar way for lower-level (and efficiently-computable) levels of SDP.&lt;/p&gt;&#xA;" OwnerUserId="6238" LastActivityDate="2014-11-26T21:20:00.917" Title="The distribution on the solution space induced by randomized rounding" Tags="&lt;graph-algorithms&gt;&lt;approximation-algorithms&gt;&lt;approximation-hardness&gt;&lt;max-cut&gt;&lt;approximation&gt;" AnswerCount="0" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27598" PostTypeId="1" AcceptedAnswerId="27601" CreationDate="2014-11-26T22:13:02.040" Score="0" ViewCount="136" Body="&lt;p&gt;In this article, &lt;a href=&quot;http://world.std.com/~rjs/rayfeb60.pdf&quot; rel=&quot;nofollow&quot;&gt;http://world.std.com/~rjs/rayfeb60.pdf&lt;/a&gt; in page 7 of the PDF, Solomonoff gives an a-priori probability for a string which is $pr(S)=2^{-|S|}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question - why are shorter strings considered more probable? Is there some kind of hidden assumption that justifies this?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;e.g. that the machine which produces these strings have a constant probability to stop at a any given point (an inherent preference to shorter strings).&lt;/p&gt;&#xA;" OwnerUserId="9947" LastEditorUserId="9947" LastEditDate="2014-11-26T22:19:07.057" LastActivityDate="2021-04-13T06:03:21.297" Title="The concept of binary description by Ray Solomonoff" Tags="&lt;kolmogorov-complexity&gt;" AnswerCount="2" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27601" PostTypeId="2" ParentId="27598" CreationDate="2014-11-27T04:35:58.857" Score="1" Body="&lt;p&gt;Later in page 10 of the pdf he explains that in fact the probabilities are almost 1/2, as there is a very small probability to stop the at each step.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This stems from the following assumption: There is some mechanism that produces these strings, and it does so sequentially, therefore going through shorter strings on its way to longer ones and having a certain probability to stop at each step.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another explanation that was more satisfying:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;These binary strings are in fact prefixes of infinite random sequences. The probability of a prefix to be 1 or 0 is of course 1/2 etc'. The machine that reads these infinite binary strings is a prefix turing machine, which means that if it produces a certain sequence, it does so by reading a prefix of the random string.&lt;/p&gt;&#xA;" OwnerUserId="9947" LastEditorUserId="9947" LastEditDate="2015-06-04T14:10:38.063" LastActivityDate="2015-06-04T14:10:38.063" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27602" PostTypeId="2" ParentId="27586" CreationDate="2014-11-27T07:11:05.787" Score="-1" Body="&lt;p&gt;A non-trivial method can be to calculate the convex hull of the vertices.&#xA;(This can only be used if the planar graph generated has a convex outer face, which is most likely the case for most of the graph drawing softwares.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It seems to be an overkill though but it will give you the face exactly in form of a sequence of vertices given the coordinates of the vertices.&#xA;It takes $O(n\log n)$ time to find it. You can use the standard LEDA library to find it easily using its &#xA;&lt;a href=&quot;http://www.algorithmic-solutions.info/leda_guide/geo_algs/convex_hull.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;subroutine&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However it can also be performed in linear time. Please refer to &lt;a href=&quot;https://stackoverflow.com/questions/14735164/convex-hull-in-on-time&quot;&gt;this&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="22911" LastEditorUserId="-1" LastEditDate="2017-05-23T12:40:09.333" LastActivityDate="2014-11-27T07:11:05.787" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27603" PostTypeId="2" ParentId="27586" CreationDate="2014-11-27T08:04:30.480" Score="0" Body="&lt;p&gt;&lt;strong&gt;Edit:&lt;/strong&gt; actually, step 2 is wrong (see comments). Anyway, the accepted answer solves this much more elegantly.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since there does not seem to be any (straightforward/simple) answer so far, I thought I would post what I came up with, with inspiration taken from @DavidEppstein's comment and @kudy's answer:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Figuring out the leftmost/rightmost point indeed seems to be a good start. However, from there, @DavidEppstein's idea is unfortunately not applicable (there is no straightforward way to know the face &quot;left of a vertex&quot; in the plane). Instead this is what I do:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Find rightmost point $v_1$ of graph in the plane.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Find rightmost point $v_2$ connected to $v_1$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Take the two faces bordering edge [$v_1$,$v_2$]. Let the longer one (in number of vertices) be $F_a$ and the other one $F_b$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Pick an arc $A_a$ in $F_a$ that is not in $F_b$ (we know there is such an arc since the two faces cannot be identical and $F_a$ is longer than $F_b$).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;If the middle of $A_a$ is inside the polygon formed by the vertices of $F_b$ in the plane, $F_b$ is the outer face, otherwise $F_a$ is.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;I welcome any comment and improvement to the method!&lt;/p&gt;&#xA;" OwnerUserId="29117" LastEditorUserId="29117" LastEditDate="2014-12-02T03:28:33.813" LastActivityDate="2014-12-02T03:28:33.813" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="27604" PostTypeId="1" AcceptedAnswerId="27605" CreationDate="2014-11-27T12:11:43.613" Score="1" ViewCount="670" Body="&lt;p&gt;What is the tightest upper bound known for the number of independent sets in a graph?&lt;/p&gt;&#xA;" OwnerUserId="28999" LastEditorUserId="8936" LastEditDate="2014-11-29T04:10:05.010" LastActivityDate="2014-11-29T04:10:05.010" Title="Upper bound for number of independent sets" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;counting-complexity&gt;&lt;upper-bounds&gt;&lt;extremal-combinatorics&gt;" AnswerCount="2" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="27605" PostTypeId="2" ParentId="27604" CreationDate="2014-11-27T12:20:07.813" Score="5" Body="&lt;p&gt;The trivial upper bound of $2^n$ (on a graph with $n$ vertices) is as tight as you can get, since a graph that has no edges does indeed have $2^n$ independent sets.&lt;/p&gt;&#xA;" OwnerUserId="28912" LastActivityDate="2014-11-27T12:20:07.813" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27606" PostTypeId="1" AcceptedAnswerId="27672" CreationDate="2014-11-27T16:08:49.453" Score="9" ViewCount="253" Body="&lt;p&gt;This question is two-fold, and is mainly reference-oriented:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Is there somewhere where the main intuitions for proving graph minor theorem are given, without going too much into the details? I know the proof is long and difficult, but surely there must be key ideas that can be communicated in an easier way.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Are there other relations on graphs that can be shown to be well quasi-orders, maybe in a simpler way than for the minor relation? (obviously I am not interested in trivial results here, like comparing sizes). Directed graphs are also in the scope of the question.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="8953" LastEditorUserId="2367" LastEditDate="2014-12-02T20:05:05.123" LastActivityDate="2014-12-02T20:05:05.123" Title="Understanding graph minor theorem" Tags="&lt;reference-request&gt;&lt;graph-theory&gt;&lt;graph-minor&gt;" AnswerCount="2" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27607" PostTypeId="2" ParentId="27606" CreationDate="2014-11-27T16:44:40.510" Score="7" Body="&lt;p&gt;For question (2): the subgraph and induced subgraph relations give rise to well quasi orders on some restricted classes of graphs.  One of the main references there is an article by G. Ding, &lt;em&gt;Subgraphs and well-quasi-ordering&lt;/em&gt;, J. Graph Theory, 16: 489–502, 1992, &lt;a href=&quot;http://dx.doi.org/10.1002/jgt.3190160509&quot;&gt;doi:10.1002/jgt.3190160509&lt;/a&gt;.  The paper &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;shows that both orderings yield wqos on the class of graphs with bounded path lengths, and&lt;/li&gt;&#xA;&lt;li&gt;even more interestingly, characterises exactly the hereditary classes of graphs for which the subgraph ordering becomes a wqo (the class should contain only finitely many cycles and &quot;H-graphs&quot;).&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;More results in the case of the induced subgraph ordering can be found in this &lt;a href=&quot;http://arxiv.org/abs/1410.3260&quot;&gt;recent arXiv paper&lt;/a&gt; by A. Atminas, V. Lozin, and I. Razgon.&lt;/p&gt;&#xA;" OwnerUserId="609" LastActivityDate="2014-11-27T16:44:40.510" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27608" PostTypeId="2" ParentId="27586" CreationDate="2014-11-27T18:11:31.673" Score="3" Body="&lt;p&gt;First, suppose that your arcs are embedded to the plane as &lt;strong&gt;straight lines&lt;/strong&gt;.  Then, the following three step algorithm works.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First, compute the leftmost vertex (as David Eppstein suggested).  This vertex will be on the unbounded face.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Second, among the arcs from that vertex, find the one whose slope is largest. This arc will be a side of the unbounded face.  (You must consider the slope; taking the arc with the leftmost destination vertex wouldn't work.  You may have to handle the case when this vertex is isolated somehow.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thirdly, take the face on the left hand side of this arc.  That face is the outer face. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If the edges aren't embedded as straight lines, then you need some extra information about the embedding.  Indeed, in any plane graph (with at least one cycle), you could just take an edge of the outer face and lift it around the whole embedding.  This changes the outer face, but doesn't move the vertexes, and doesn't change the cyclical orientation of arcs from the vertexes.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In particular, if the edges are open polygons given with the coordinates of the list of inner vertexes, then divide each such edge to a path and run the previous algorithm in the subdivided graph.  This may choose such an internal vertex in the first step.&lt;/p&gt;&#xA;" OwnerUserId="8067" LastEditorUserId="111" LastEditDate="2014-12-01T04:27:42.483" LastActivityDate="2014-12-01T04:27:42.483" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="27609" PostTypeId="2" ParentId="27596" CreationDate="2014-11-27T18:17:55.093" Score="2" Body="&lt;p&gt;(Answer-in-progress, according to comments.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I will look at a special case, and then discuss how it relates to the general case. The special case is $m=1$ and $V(G)=\{0\}$ with no edge. The added vertices, in order, are $1,2,\ldots,n$, starting from $1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $d_{i,n}$ be the degree of vertex $i$ divided by $2n$. So $\sum_{i=0}^n d_{i,n}=1$. Let $l_i$ be the length of the longest path from $i$ to $0$ that visits vertices in decreasing order. (Vertices added after $i$ do not affect decreasing paths starting from $i$, so there is no need for $l_{i,n}$.) Both $d_{i,n-1}$ and $l_i$ are random variables. The generating model for these variables is how you'd expect: Once we fixed their values for $n-1$, we pick a number $k_n$ from $\{0,\ldots,n-1\}$ according to the probabilities $d_{i,n-1}$, and compute $d_{i,n}$ and $l_n$ as if we added edge $nk_n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We have that $l_n=1+l_{k_n}$, where $k_n$ is a random variable drawn from $\{0,\ldots,n-1\}$ according to the distribution given by $d_{k,n-1}$. In other words, $l_n=1+\sum_{i\lt n}[k_n=i]l_i$ and $\mathbb{E}[l_n]=1+\sum_{i\lt n}d_{i,n}\mathbb{E}[l_i]$. (The independence here is a bit tricky. In the comment on the post I said it does not hold, but I think it does. The trick is to think of this as a stratified generative model, such that the choice of $k_n$ is independent from $l_i$, but drawn from a certain distribution.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let's assume, without proof for now, that $d_{i,n}$ depends on $i$ as $\Theta(i^c)$ for some constant $c$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, let's assume $\mathbb{E}[l_n]=O(f(n))$, and see what properties should $f(n)$ have. According to the recurrence on $\mathbb{E}[l_n]$, we should have that&#xA;$$&#xA;\sum_{i=0}^{n-1} i^c f(i) \Big/ \sum_{i=0}^{n-1} i^c = O(f(n))&#xA;$$&#xA;In the continuous approximation, this is&#xA;$$&#xA;\int_1^n x^c f(x) \,dx = O(n^{c+1}\cdot f(n))&#xA;$$&#xA;One function that has this property is $f(n)=\log n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But, does $d_{i,n}$ grow like $i^c$ (for fixed $n$)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;When $m=1$, we can write a recurrence on vertex degrees. The arc $ni$ occurs with probability $d_{i,n-1}$, so $$d_{i,n}=d_{i,n-1}\frac{2(n-1)d_{i,n-1}+1}{2n}+(1-d_{i,n-1})\frac{2(n-1)d_{i,n-1}}{2n}=d_{i,n-1}\Bigl(1-\frac{1}{2n}\Bigr)$$ The border conditions are $d_{n,n}=1/2n$ and $d_{0,1}=d_{1,1}=1$. Now apply linearity of expectation and approximate $\sum_k\log\Bigl(1-\frac{1}{2k}\Bigr)$ with an integral. Alternatively, note that $d_{i,n}/d_{i-1,n}=d_{i,i}/d_{i-1,i}=(i-1)/(i-1/2)$, so $d_{i,n}$ is roughly $\Gamma(n)/\Gamma(n+1/2)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Both approaches lead to $\mathbb{E}[d_{i,n}]=\Theta(i^{-(1/2)})$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For $m=2$, you draw two variables $k_n$ and $k'_n$ from $\{0,\ldots,n-1\}$ according to $d_{i,n}$, and we keep just the maximum. This is like picking just one variable, $\max\{k_n,k'_n\}$, but from a different distribution. The question is if this distribution is still $\Theta(i^c)$ for some (other) $c$. Let $d^{(2)}_{i,n}$ be this distribution. We have, dropping the $n$ subscript, $d^{(2)}_i=2\sum_{j=0}^i d_i d_j + d_i^2$. So, $d^{(2)}_i=\Theta(1/i)$. In fact, $d^{(2m)}_i=2\sum_{j=0}^i d^{(m)}_i d^{(m)}_j + {d^{(m)}_i}^2$. Again based only on some quick-and-dirty calculations, I believe that for $m\gt 2$ we have $d^{(m)}_i=\Theta((\log i)^{cm}/i)$, which would seem to say that the $O(\log n)$ bound on $\mathbb{E}[l_n]$ doesn't work anymore.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The only thing that matters about the seed graph is how many edges it has. I didn't look at how this affects the answer, but, again, it cannot increase the expected length.&lt;/p&gt;&#xA;" OwnerUserId="236" LastEditorUserId="236" LastEditDate="2014-11-28T10:20:39.860" LastActivityDate="2014-11-28T10:20:39.860" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="27611" PostTypeId="2" ParentId="2674" CreationDate="2014-11-27T20:02:13.577" Score="0" Body="&lt;p&gt;A very nice recent application to give upper bounds for high-dimensional permutations by Linial and Luria is here: &lt;a href=&quot;http://www.cs.huji.ac.il/~nati/PAPERS/hd_permutations.pdf&quot; rel=&quot;nofollow&quot;&gt;http://www.cs.huji.ac.il/~nati/PAPERS/hd_permutations.pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="712" LastActivityDate="2014-11-27T20:02:13.577" CommentCount="0" CommunityOwnedDate="2014-11-27T20:02:13.577" ContentLicense="CC BY-SA 3.0" />
  <row Id="27612" PostTypeId="1" CreationDate="2014-11-27T20:37:17.367" Score="2" ViewCount="133" Body="&lt;p&gt;I'm a new at the cellular neural network, which is a special case of the recurrent neural network: my questions are:&#xA;I understand the implementation of Chua circuit for the CNN, but I still need to &lt;/p&gt;&#xA;&#xA;&lt;p&gt;1- understand intuitively why every cell in CNN receives a summation of the outputs from the surrounding cells? mathematically it is clear how to analysis it but I'm talking about the idea behind that.&#xA;2- When do we decide to change the elements of matrix A and B or one of them, since some papers they set matrix B to zeros and sometimes matrix A to zero? I know they want to reduce the error but there is something still not clear.&#xA;3-I want to use CNN to classify images and I'm looking to a good reference to do that.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thank you in advance,&lt;/p&gt;&#xA;" OwnerUserId="27401" LastActivityDate="2014-11-27T20:37:17.367" Title="Cellular neural networks" Tags="&lt;machine-learning&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="27613" PostTypeId="2" ParentId="17739" CreationDate="2014-11-27T21:45:23.167" Score="4" Body="&lt;p&gt;What about the 1999 classical (first?) book on the topic by Rod Downey and Mike Fellows?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Two years ago, I heard that Rod and Mike were going to bring out a second edition of their book -- may be it is out now.  Mike's website &lt;a href=&quot;http://www.mrfellows.net&quot; rel=&quot;nofollow&quot;&gt;http://www.mrfellows.net&lt;/a&gt; should have more info.  You can sign up for his mailing list (newsletter) which comes out every 2-3 months.&lt;/p&gt;&#xA;" OwnerUserId="29140" LastActivityDate="2014-11-27T21:45:23.167" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27614" PostTypeId="1" AcceptedAnswerId="27625" CreationDate="2014-11-28T02:34:39.543" Score="12" ViewCount="820" Body="&lt;p&gt;How does one show that a certain property cannot be expressed in 2-CNF (2-SAT)?  Are there any games, such as pebble games?  It seems that the classical black pebble game and the black-white pebble game are unsuitable for this (they are PSPACE complete, according to Hertel and Pitassi, SIAM J of Computing, 2010).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Or any techniques other than games?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit&lt;/strong&gt;:  I was thinking of properties that involve counting (or cardinality) of an &lt;em&gt;unknown&lt;/em&gt; predicate (&lt;em&gt;SO&lt;/em&gt; predicate, as finite model theorists would say).  For example, as in Clique or unweighted Matching.&#xA;(a) &lt;i&gt;Clique&lt;/i&gt;: Is there a clique $C$ in the given graph $G$ such that $|C| \ge$ some given number $K$? $~$ (b) &lt;i&gt;Matching&lt;/i&gt;: Is there a matching $M$ in $G$ such that $|M| \ge K$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can 2-SAT count?  Does it have a counting mechanism?  Seems doubtful.&lt;/p&gt;&#xA;" OwnerUserId="29140" LastEditorUserId="29140" LastEditDate="2014-11-28T20:23:39.397" LastActivityDate="2014-12-05T11:49:36.143" Title="Properties expressible in 2-CNF or 2-SAT" Tags="&lt;sat&gt;&lt;lower-bounds&gt;&lt;combinatorial-game-theory&gt;" AnswerCount="3" CommentCount="7" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="27616" PostTypeId="2" ParentId="27604" CreationDate="2014-11-28T07:58:18.990" Score="3" Body="&lt;p&gt;If $I(n,m)$ denotes the maximal number of independent sets in a graph with $n$ vertices and $m$ edges.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$I(n,n-1) = 2^{n-1}+1$ is achieved by a star (should be easy to prove, start by proving that any graph with a matching of size $3$ has at most $3^3\times 2^{n-6}$ independent sets, then show that we can not have two node disjoint paths of length $3$ and no induced path of length $4$, the only remaining graph will be the star).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $k(n,m)$ be minimum number such that $k(k-1)/2 + k(n-k) &amp;gt; m$. Then there exit graphs with $n$ nodes and $m$ edges having $2^{n-k}+k$ independent sets. Namely an independent set of size n-k and k universal vertices. I think this is close to optimal, hence:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$I(n,m) \ge 2^{n-k(n,m)}+k(n,m)$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A more precise bound can be derived from David R. Wood's study of number of cliques,&lt;a href=&quot;http://arxiv.org/pdf/math/0602191v4.pdf&quot; rel=&quot;nofollow&quot;&gt;On the Maximum Number of Cliques in a Graph&lt;/a&gt; &lt;/p&gt;&#xA;" OwnerUserId="8936" LastEditorUserId="8936" LastEditDate="2014-11-28T23:26:43.763" LastActivityDate="2014-11-28T23:26:43.763" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27618" PostTypeId="1" AcceptedAnswerId="27623" CreationDate="2014-11-28T14:09:38.240" Score="3" ViewCount="143" Body="&lt;p&gt;Given an alphabet $\Sigma$ of size $k$ and two strings $w_1,w_2\in \Sigma^n$ of length $n$. The &lt;a href=&quot;http://en.wikipedia.org/wiki/Longest_common_substring_problem&quot; rel=&quot;nofollow&quot;&gt;longest common substring problem&lt;/a&gt; asks for a longest string in the set $A(w_1,w_2)$ of all common substrings of $w_1,w_2$. We can define $A(w_1,w_2)$ as follows:&#xA;$$A(w_1,w_2)=\{s\in\Sigma^*\mid w_1=x_1sx_2,\;w_2=y_1sy_2,\;x_1,x_2,y_1,y_2\in\Sigma^*\}$$&#xA;In genereal, this substring $s$ is not unique. Therefore, I am looking for the &lt;strong&gt;maximal number $m(k,n)$ of different longest common substrings&lt;/strong&gt; for an arbitrary pair of strings of length $n$. Formally:&#xA;$$m(k,n)=\max\limits_{w_1,w_2\in\Sigma^n}\left|\left\{s\in A(w_1,w_2)\mid\forall x\in A(w_1,x_2):\;|s|\ge |x| \right\}\right|$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Natural upper bound&lt;/strong&gt;: It is easy to see, that $m(k,n)\le n$ since the maximal number of substrings of the same length for a strings of length $n$ is $n$ (for substrings of length $1$). For $n\le k$ we even achieve $m(k,n)=n$ (take a string $w_1$ which consists of different letters and $w_2$ the reverse string of $w_1$). For $n&amp;gt; k$ we conclude that $m(k,n)&amp;lt;n$, but from now on it seems to be difficult.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Lower bound&lt;/strong&gt;: Based on &lt;a href=&quot;http://en.wikipedia.org/wiki/De_Bruijn_sequence&quot; rel=&quot;nofollow&quot;&gt;De-Bruijn sequences&lt;/a&gt; it is possible to deduce a lower bound as follows:&lt;br&gt;&#xA;As a conclusion of a &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download;jsessionid=6BA27E08E30C5DFDDA269211D63B232D?doi=10.1.1.307.3029&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;nofollow&quot;&gt;paper of  Lin et al&lt;/a&gt;, for each $m$ there are &lt;em&gt;orthogonal&lt;/em&gt; De-Bruijn sequences $B_1(k,m)$ and $B_2(k,m)$ of length $k^m$, which means that the longest substring of $B_1(k,m)$ and $B_2(k,m)$ is of length $m$. The special property of (those) De-Bruijn sequences is, that each string of length $m$ is actually a substring (some of them by reading the De-Bruijn sequence cyclic). Therefore, both $B_1(k,m)$ and $B_2(k,m)$ containing $k^m-m+1$ different subtrings of length $m$ (acyclic) and for that reason there are at least $k^m-2m+2$ different longest common substrings for $B_1(k,m)$ and $B_2(k,m)$. So, for $n$ as a power of $k$, we get&#xA;$$m(k,n)\ge n-2\log_kn+2$$&#xA;I'm quite sure we can achieve a very close result (caused by some rounding-issues) for each $n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But my question is, &lt;strong&gt;how tight are these bounds?&lt;/strong&gt; I could imagine that orthogonal De-Bruijn sequences are already (asymptotic) worst case examples, i.e.&#xA;$$m(k,n)\in n-\Theta(\log n).$$&#xA;But I am neither sure about this nor able to show it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any help is welcome!&lt;/p&gt;&#xA;" OwnerUserId="21809" LastEditorUserId="21809" LastEditDate="2014-11-29T11:16:35.200" LastActivityDate="2014-11-29T11:16:35.200" Title="Number of different longest common substrings" Tags="&lt;co.combinatorics&gt;&lt;lower-bounds&gt;&lt;upper-bounds&gt;&lt;worst-case&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27619" PostTypeId="2" ParentId="27594" CreationDate="2014-11-28T17:04:33.123" Score="5" Body="&lt;p&gt;If &lt;i&gt;p&lt;/i&gt;=&lt;i&gt;q&lt;/i&gt;=&lt;i&gt;s&lt;/i&gt;=&lt;i&gt;t&lt;/i&gt;=−1, then it is easy to see that a pure NE can be reached by local search starting from (&lt;i&gt;a&lt;/i&gt;&lt;sub&gt;3&lt;/sub&gt;, &lt;i&gt;a&lt;/i&gt;&lt;sub&gt;3&lt;/sub&gt;).  So in the rest of the proof, assume that at least one of &lt;i&gt;p&lt;/i&gt;, &lt;i&gt;q&lt;/i&gt;, &lt;i&gt;s&lt;/i&gt;, and &lt;i&gt;t&lt;/i&gt; is equal to 1.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If &lt;i&gt;p&lt;/i&gt;=&lt;i&gt;q&lt;/i&gt;=1, then (&lt;i&gt;a&lt;/i&gt;&lt;sub&gt;1&lt;/sub&gt;, &lt;i&gt;a&lt;/i&gt;&lt;sub&gt;2&lt;/sub&gt;) is a pure NE.  Similarly, if &lt;i&gt;s&lt;/i&gt;=&lt;i&gt;t&lt;/i&gt;=1, then (&lt;i&gt;a&lt;/i&gt;&lt;sub&gt;2&lt;/sub&gt;, &lt;i&gt;a&lt;/i&gt;&lt;sub&gt;1&lt;/sub&gt;) is a pure NE.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the remaining cases, at least one of the pairs (&lt;i&gt;p&lt;/i&gt;, &lt;i&gt;q&lt;/i&gt;), (&lt;i&gt;q&lt;/i&gt;, &lt;i&gt;p&lt;/i&gt;), (&lt;i&gt;s&lt;/i&gt;, &lt;i&gt;t&lt;/i&gt;), and (&lt;i&gt;t&lt;/i&gt;, &lt;i&gt;s&lt;/i&gt;) is equal to (1, −1).  By symmetry, we may assume without loss of generality that &lt;i&gt;p&lt;/i&gt;=1 and &lt;i&gt;q&lt;/i&gt;=−1.  By assumption, &lt;i&gt;r&lt;/i&gt;=1.  Then (&lt;i&gt;a&lt;/i&gt;&lt;sub&gt;1&lt;/sub&gt;, &lt;i&gt;a&lt;/i&gt;&lt;sub&gt;3&lt;/sub&gt;) is a pure NE.&lt;/p&gt;&#xA;" OwnerUserId="567" LastActivityDate="2014-11-28T17:04:33.123" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27620" PostTypeId="2" ParentId="14057" CreationDate="2014-11-28T20:01:14.557" Score="10" Body="&lt;p&gt;There is a new preprint by Stephan Kreutzer and Ken-ichi Kawarabayashi, in which they apparently show that the statement (5.1) is true for all digraphs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Stephan Kreutzer and Ken-ichi Kawarabayashi: &lt;a href=&quot;http://arxiv.org/pdf/1411.5681v1.pdf&quot; rel=&quot;nofollow&quot;&gt;The directed grid theorem&lt;/a&gt;.    arXiv:1411.5681 [cs.DM]  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT (June 16, 2015):&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A short version of their paper appears here:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Ken-ichi Kawarabayashi, Stephan Kreutzer. The Directed Grid Theorem. In: Rocco A. Servedio, Ronitt Rubinfeld (eds.), Proceedings of the Forty-Seventh Annual ACM on Symposium on Theory of Computing 2015. pp. 655-664&lt;/p&gt;&#xA;" OwnerUserId="2367" LastEditorUserId="2367" LastEditDate="2015-06-16T20:08:44.473" LastActivityDate="2015-06-16T20:08:44.473" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27621" PostTypeId="1" CreationDate="2014-11-28T22:51:53.017" Score="0" ViewCount="229" Body="&lt;p&gt;Can first-order logic be modeled/simulated as linear programming or integer programming? &#xA;What about other forms of logic (say second order)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Update:  am actually not a theory person, but more on the applied side in machine learning and AI. suppose you define a set of variables and some implication rules. Can we model this as an LP/ILP?  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the following, I define a a set of implication rules. Then I define a problem for fixed variables, and I ask some question. I also give the desired answer to each question(based on logical implication). The question is, can we model this problem as an LP/ILP? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is an example. Suppose I define the following types: &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;A = CHILD &lt;/li&gt;&#xA;&lt;li&gt;B = PARENT &lt;/li&gt;&#xA;&lt;li&gt;C = SIBLING &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;And I define the implication rule: &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;R1: For any $(x,y) \in A $ (meaning that $x$ is child of $y$) $\Rightarrow $ $(y, x) \in B$ (meaning that $y$ is parent of $x$). &lt;/li&gt;&#xA;&lt;li&gt;R2: For any $(x,y) \in B $ (meaning that $x$ is parent of $y$) $\Rightarrow $ $(y, x) \in A$ (meaning that $y$ is child of $x$). &lt;/li&gt;&#xA;&lt;li&gt;R3: For any $(x,y) \in C $ (meaning that $x$ is sibling of $y$) $\Rightarrow $ $(y, x) \in C$ (meaning that $y$ is sibling of $x$).&lt;/li&gt;&#xA;&lt;li&gt;R4: or any $(x,y) \in C $ (meaning that $x$ is sibling of $y$) and $(y,z) \in A $ (meaning that $y$ is child of $z$) $\Rightarrow $ $(x, z) \in A$ (meaning that $x$ is child of $z$).&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Now suppose we fix the variables (i.e. a problem is given). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Problem 1:&lt;/strong&gt; &#xA;We know three variables $x, y, z$. We know the following facts&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;F1: $(x,y) \in A$ (i.e. $x$ is child of $y$). &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;And we want to be able to infer the answer to the following question(s): &lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt; - Does it imply $(y,x) \in B$? (Answer: yes) &#xA; - Does it imply $(y,z) \in C$? (Answer: unknown)&#xA; - Does it imply $(z,y) \in C$? (Answer: unknown)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Problem 2:&lt;/strong&gt; &#xA;We know three variables $x, y, z$. We know the following facts&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;F1: $(x,y) \in A$ (i.e. $x$ is child of $y$). &lt;/li&gt;&#xA;&lt;li&gt;F2: $(x,z) \in C$ (i.e. $x$ is sibling of $z$). &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;And we want to be able to infer the answer to the following question(s): &lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt; - Does it imply $(y,x) \in B$? (Answer: yes) &#xA; - Does it imply $(y,z) \in C$? (Answer: yes) &#xA; - Does it imply $(z,y) \in C$? (Answer: no)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;" OwnerUserId="15645" LastEditorUserId="15645" LastEditDate="2014-11-29T07:58:34.877" LastActivityDate="2014-11-29T13:11:20.027" Title="Logic with Linear Programming" Tags="&lt;ds.algorithms&gt;&lt;lo.logic&gt;&lt;linear-programming&gt;&lt;automated-theorem-proving&gt;" AnswerCount="2" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27622" PostTypeId="2" ParentId="27621" CreationDate="2014-11-29T00:37:09.597" Score="0" Body="&lt;p&gt;&quot;Modelled&quot; can be interpreted in different ways!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Well, at perhaps the most basic level, a CNF clause $(x_1 \lor x_2 \lor \neg x_3)$ can be expressed as the IP constraint&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$x_1 + x_2 + (1 - x_3) \ge 1 ~~~ (A)$,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where each $x_i$ is an integer in $\{0, 1\}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;FO is contained in $L$, LP is poly-time solvable and IP is $NP$-complete -- so there should be reductions from a given FO instance to both LP and IP. $~~$ A special case of SO, which is SO-Krom (every CNF clause has at most 2 literals) captures $NL$ -- so again, SO-Krom instances can be reduced to LP and IP.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;When you write your formulation as in (A) above, if the coefficient matrix on the left side &quot;behaves&quot; well, your integer programming formulation could be solved in polynomial time (e.g. if the matrix is totally unimodular).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;ESO (existential SO) $= NP$ by Fagin's theorem, so you should be able to reduce an ESO instance to IP.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does this answer your question?&lt;/p&gt;&#xA;" OwnerUserId="29140" LastEditorUserId="29140" LastEditDate="2014-11-29T06:28:55.213" LastActivityDate="2014-11-29T06:28:55.213" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27623" PostTypeId="2" ParentId="27618" CreationDate="2014-11-29T00:46:31.007" Score="3" Body="&lt;p&gt;Let $\ell$ be the length of the longest common substring. The number of longest common substrings $m$ is at most&#xA;$$ m \leq \min(k^\ell,n-\ell+1). $$&#xA;Let $x = \log_k n$. If $\ell \leq x-1$ then $m \leq n/k$. Otherwise, $m \leq n-\log_k n+2$. One checks that the latter bound is always worse, and so $m \leq n-\log_k n+2$.&lt;/p&gt;&#xA;" OwnerUserId="40" LastActivityDate="2014-11-29T00:46:31.007" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27624" PostTypeId="2" ParentId="27614" CreationDate="2014-11-29T02:32:01.267" Score="10" Body="&lt;p&gt;Let $P(x_1,\ldots,x_n)$ be a property on $n$ variables. Suppose that there is a 2CNF formula $\varphi(x_1,\ldots,x_n,y_1,\ldots,y_m)$ such that&#xA;$$P(x_1,\ldots,x_n) \Leftrightarrow \exists y_1 \cdots \exists y_m \varphi(x_1,\ldots,x_n,y_1,\ldots,y_m).$$&#xA;We claim that $\varphi$ is equivalent to a 2CNF formula $\psi$ involving only $x_1,\ldots,x_n$. To prove this, it is enough to show how to eliminate $y_m$. Write&#xA;$$ \varphi = \chi \land \bigwedge_{k=1}^s (y_m \lor U_k) \land \bigwedge_{\ell=1}^t (\overline{y_m} \lor V_\ell),$$&#xA;where $U_k,V_\ell$ are literals, and $\chi$ doesn't involve $y_m$. The formula $\varphi$ is equivalent to&#xA;$$&#xA;\chi \land (\overline{y_m} \Rightarrow \bigwedge_{k=1}^s U_k) \land (y_m \Rightarrow \bigwedge_{\ell=1}^t V_\ell) \\ \Longleftrightarrow \\&#xA;\chi \land (\bigwedge_{k=1}^s U_k \lor \bigwedge_{\ell=1}^t V_\ell) \\ \Longleftrightarrow \\&#xA;\chi \land \bigwedge_{k=1}^s \bigwedge_{\ell=1}^t (U_k \lor V_\ell)&#xA;$$&#xA;This proves the claim when $y_m$ doesn't appear in a unit clause; if it does, we can eliminate it directly.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We conclude that $P(x_1,\ldots,x_n)$ is expressible as a 2CNF formula iff there is a 2CNF formula $\psi(x_1,\ldots,x_n)$ equivalent to $P$. Therefore a property $P$ is expressible as a 2CNF if every falsifying assignment is forced by at most two literals. In particular, $K$-clique and $K$-matching are not expressible as 2CNFs (except for the corner case $n$-clique).&lt;/p&gt;&#xA;" OwnerUserId="40" LastActivityDate="2014-11-29T02:32:01.267" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="27625" PostTypeId="2" ParentId="27614" CreationDate="2014-11-29T03:58:47.290" Score="19" Body="&lt;p&gt;A family of bitvectors is the class of solutions to a 2-SAT problem if and only if it has the median property: if you apply the bitwise majority function to any three solutions you get another solution. See e.g. &lt;a href=&quot;https://en.wikipedia.org/wiki/Median_graph#2-satisfiability&quot;&gt;https://en.wikipedia.org/wiki/Median_graph#2-satisfiability&lt;/a&gt; and its references. So if you can find three solutions for which this is not true, then you know it cannot be expressed in 2-CNF.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2014-11-29T03:58:47.290" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="27626" PostTypeId="2" ParentId="27086" CreationDate="2014-11-29T10:42:48.777" Score="7" Body="&lt;p&gt;The answer is yes, we can improve the upper bound to $\mathrm{e}^{(1 + o(1))\sqrt{n\ln n}}$. It was proved in a more recent &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=1109557.1109648&quot;&gt;paper&lt;/a&gt; of Babai (Corollary 2.9).&lt;/p&gt;&#xA;" OwnerUserId="29151" LastActivityDate="2014-11-29T10:42:48.777" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27628" PostTypeId="1" AcceptedAnswerId="27636" CreationDate="2014-11-29T11:08:25.047" Score="2" ViewCount="244" Body="&lt;p&gt;Consider a game where one has a set of bins $(b_1, b_2, ...)$, and each bin has an associated initial count of balls $(c_1, c_2, ...)$.  The rules of the game are as follows:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(1) Once a bin has a threshold number of balls $Q$ (the threshold is uniform for all bins), the bin may be capped, and capping is irreversible.  However, one is not obligated to cap the bin once this condition is met.  Capping must be SEQUENTIAL.  One cannot simultaneously cap two bins to avoid e.g. a situation where capping one bin drops the number of balls in the other bin below the threshold $Q$ necessary for capping.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(2) Once a bin is capped, a bin-specific set of &quot;punishments&quot; or &quot;rewards&quot; can be specified for at most $k$ other bins.  For example, we might say that, in capping bin $3$, we need to subtract two balls from bin $1$ and add seven balls to bin $5$.  So to each bin we assign a two $k$-tuples: the first, e.g. {1,5}, with values from the previous example, specifies the bins to be &quot;punished&quot; or &quot;rewarded&quot;, and the second, e.g. {-2, 7}, again from the provided examples, species how many balls to add or remove from each of the bins in the first tuple.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(3) Negative values for bin ball counts are permissible, and a bin may initiate (i.e. have some $c_i$ value) $\leq 0$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(4) We add the constraint that punishments or rewards must be symmetric.  If capping some bin $b_i$ means subtracting one ball from bin $b_j$, it must also be the case that capping bin $b_j$ means subtracting one ball from bin $b_i$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(5) We add the constraint that the total number of punishments or rewards a bin may receive is at most $k$.  By the symmetry condition from (4), this correspondingly implies that the total number of punishments or rewards a bin may deliver is at most $k$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider now the decision problem: provided some set of bins $(b_1, b_2, ...)$, initial ball counts $(c_1, c_2, ...)$, and access to all of the dependencies elaborated on in rule (2), can all of the bins be capped?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This problem is trivially in $NP$, but for what smallest value of $k$ is it $NP$-complete?  Can the decision problem be $NP$-complete for $k=2$?  Is there an easy reduction from an $NP$-complete problem or a problem solvable in polynomial time?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Update // Added further constraints (4) + (5), where (5) is implied by (4).  That should be it.&lt;/p&gt;&#xA;" OwnerUserId="29158" LastEditorUserId="29158" LastEditDate="2014-11-29T16:24:25.873" LastActivityDate="2014-11-30T00:20:56.440" Title="Balls &amp; Bins: A punishment and reward game" Tags="&lt;np-hardness&gt;&lt;reductions&gt;&lt;np&gt;&lt;np-complete&gt;" AnswerCount="2" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="27629" PostTypeId="1" AcceptedAnswerId="27633" CreationDate="2014-11-29T12:23:18.423" Score="4" ViewCount="405" Body="&lt;p&gt;Bloch sphere is a common visualisation of possible qubit values, but I fail to understand why do we need a sphere to represent them. Assuming we want to represent the single qubit a|0&gt; + b|1&gt; theoretically we know both a and b coefficients may be complex. However, we also know that the global phase factor is insignificant (we treat two unit vectors related by a global phase as equivalent) so we may treat a or b to be a real number. Wouldn't a circle be enogh to represent a qubit then (like taking axis y away from the original Bloch sphere)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I feel like I am missing something simple (or some basic information I should know), any suggested read or explanation would be appreciated. Thank you in advance.&lt;/p&gt;&#xA;" OwnerUserId="25305" LastActivityDate="2014-11-29T15:38:21.897" Title="Why do we need a sphere to graphically represent a qubit?" Tags="&lt;quantum-information&gt;" AnswerCount="1" CommentCount="3" ClosedDate="2014-11-30T08:15:20.760" ContentLicense="CC BY-SA 3.0" />
  <row Id="27630" PostTypeId="2" ParentId="27621" CreationDate="2014-11-29T13:11:20.027" Score="1" Body="&lt;p&gt;A nice book on this topic: &quot;Optimization Methods for Logical Inference&quot;, V. Chandru, John N. Hooker, Wiley, 1999&lt;/p&gt;&#xA;" OwnerUserId="4571" LastActivityDate="2014-11-29T13:11:20.027" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27631" PostTypeId="1" AcceptedAnswerId="27638" CreationDate="2014-11-29T13:57:32.197" Score="4" ViewCount="397" Body="&lt;p&gt;Given an undirected graph G with $n$ nodes, we can compute its number of spanning trees in polynomial time using &lt;a href=&quot;http://en.wikipedia.org/wiki/Kirchhoff%27s_theorem&quot; rel=&quot;nofollow&quot;&gt;Kirchhoff's matrix-tree theorem&lt;/a&gt;. Now consider a more complicated setting, in which each of the $n$ nodes in the graph has $m$ versions and each version has different connectivity with the other nodes of the graph. The connectivity between different versions of different nodes can be encoded with a 4-dimensional array &lt;code&gt;A&lt;/code&gt; where &lt;code&gt;A[i][k][j][l]&lt;/code&gt; is 1 iff the $k$-th version of node $i$ is connected by an edge with the $l$-th version of node $j$. Therefore we have $m^n$ different graphs. We want to compute the total number of spanning trees in these $m^n$ graphs. The brute-force approach that computes the number of spanning trees in each graph separately would require exponential time. My question is whether there is a polynomial-time algorithm.&lt;/p&gt;&#xA;" OwnerUserId="13406" LastActivityDate="2014-11-30T23:39:10.707" Title="Total number of spanning trees of a set of graphs" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27632" PostTypeId="1" CreationDate="2014-11-29T15:01:58.020" Score="1" ViewCount="257" Body="&lt;p&gt;Very simple question, for which I failed to find an explanation: what does &quot;modulo&quot; mean in the &quot;Satisfiability Modulo Theories&quot;?&lt;/p&gt;&#xA;" OwnerUserId="28989" LastActivityDate="2014-11-29T15:01:58.020" Title="What does &quot;modulo&quot; mean in SMT?" Tags="&lt;terminology&gt;" AnswerCount="0" CommentCount="2" ClosedDate="2014-12-29T23:12:33.950" ContentLicense="CC BY-SA 3.0" />
  <row Id="27633" PostTypeId="2" ParentId="27629" CreationDate="2014-11-29T15:38:21.897" Score="3" Body="&lt;p&gt;If we have $a|0\rangle + b|1\rangle$, there are two quantities we need to know to specify the qubit: &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;the ratio $a/b$, which is encoded by the latitude: $\left|0\right\rangle$ is the north pole and $\left|1\right\rangle$ the south,&lt;/li&gt;&#xA;&lt;li&gt;the relative phase of $a$ and $b$, which gives the longitude. &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;That is, you can treat either $a$ or $b$ as a real number, but not both. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A circle can only specify one quantity.&lt;/p&gt;&#xA;" OwnerUserId="1677" LastActivityDate="2014-11-29T15:38:21.897" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="27634" PostTypeId="1" AcceptedAnswerId="27637" CreationDate="2014-11-29T15:52:48.383" Score="10" ViewCount="826" Body="&lt;p&gt;The over ~1½ century old &lt;a href=&quot;http://en.m.wikipedia.org/wiki/Riemann_hypothesis&quot; rel=&quot;noreferrer&quot;&gt;Riemann Hypothesis&lt;/a&gt; has deep implications in mathematics and a large edifice of math theory is now proved conditionally on it and numerous variants. I recently came across a reference to a conditional result in TCS based on the Riemann hypothesis. I am therefore wondering,&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;what are the major implications of the Riemann hypothesis in TCS?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;As a start here is an example from a recent paper, &lt;a href=&quot;http://eccc.hpi-web.de/report/2014/163/&quot; rel=&quot;noreferrer&quot;&gt;Homomorphism Polynomials complete for VP&lt;/a&gt; by Durand, Mahajan, Malod, de Rugy-Altherre, and Saurab. From the paper's introduction: &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;One of the most important open questions in algebraic complexity theory is to decide whether the classes VP and VNP are distinct. These classes, first defined by Valiant in [13, 12], are the algebraic analogues of the Boolean complexity classes P and NP, and separating them is essential for separating P from NP (at least non-uniformly and assuming the generalised Riemann Hypothesis, over the field $\mathbb{C}$, [3]).&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="5693" LastEditDate="2014-11-30T10:11:16.763" LastActivityDate="2014-11-30T10:11:16.763" Title="Implications of Riemann Hypothesis variants in TCS" Tags="&lt;cc.complexity-theory&gt;&lt;algebraic-complexity&gt;&lt;arithmetic-circuits&gt;" AnswerCount="2" CommentCount="4" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="27636" PostTypeId="2" ParentId="27628" CreationDate="2014-11-29T18:02:44.453" Score="3" Body="&lt;p&gt;Here's an argument that it's polynomial for $k=2$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $k=2$, each bin can only be connected to two other bins, and thus the graph falls into paths and cycles. We can thus just worry about a cycle. In fact, we can guess which bin is capped first. Since there are only a polynomial number of guesses, we can try all of them, and reduce the problem to the case where the graph is a path.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, whether a bin can be capped only depends on whether or not you've capped its neighbors. That is, for bin $1$, we have one of the following constraints:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;bin $1$ can be capped only before you've capped bin $2$,&lt;/li&gt;&#xA;&lt;li&gt;bin $1$ can be capped only after you've capped bin $2$,&lt;/li&gt;&#xA;&lt;li&gt;bin $1$ can be capped any time,&lt;/li&gt;&#xA;&lt;li&gt;bin $1$ can never be capped.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;For case 1, you might as well cap bin $1$ as the first thing you do. Now, you have a path of length $n-1$, and you can use recursion. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For case 2, you might as well cap bin $1$ as the last thing you do. Now, you have a path of length $n-1$, and you can use recursion.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For case 3, capping bin $1$ will either add or subtract balls from bin $2$. If it adds them, make it the first bin you cap. If it subtracts them, make it the last bin you cap. In either case, you've reduced the problem to a path of length $n-1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For case 4, you've solved the problem: it's impossible to win.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This gives an algorithm of time $O(n^2)$. For a cycle of length $n$, we need to test $n$ different paths, breaking the cycle in every possible place. And for a path of length $n'$, in constant time, we can convert the problem to the same problem on a path of length $n'-1$. &lt;/p&gt;&#xA;" OwnerUserId="1677" LastEditorUserId="1677" LastEditDate="2014-11-29T20:22:32.827" LastActivityDate="2014-11-29T20:22:32.827" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27637" PostTypeId="2" ParentId="27634" CreationDate="2014-11-29T18:15:10.023" Score="15" Body="&lt;p&gt;First, I’m not aware of any CS application of Riemann’s hypothesis as such. There are various applications of &lt;em&gt;generalizations&lt;/em&gt; of RH.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Second, a terminological note: contrary to popular belief, there is no such thing as “the generalized Riemann hypothesis” or “the extended Riemann hypothesis”. Both of these terms are used more-or-less interchangeably in the literature as a loose denotation of any kind of generalizations of the RH to some class of $L$-functions. They have no fixed specific meaning, or at least none consistent across papers of different authors (or even different papers of the same author).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The result mentioned in the OP is based on a result of Koiran that the existential theory of $\mathbb C$ (which commonly goes under the confusing name “Hilbert’s Nullstellensatz”) is in AM, and therefore in the polynomial hierarchy. It assumes the RH for Dedekind $\zeta$-functions; specifically, it relies on an effective version of the Chebotarev density theorem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another class of CS applications exploit the fact that every nontrivial quadratic Dirichlet character modulo $m$ assumes $\chi(x)=-1$ for some $x=O((\log m)^2)$, originally due to Ankeny, often stated with a reference to Bach who improved the constant in the $O$-notation. It relies on the RH for $L$-functions of quadratic Dirichlet characters, which is weaker than the one for Dedekind $\zeta$-functions. (The result actually holds more generally for finite-order Hecke characters, and in full generality it needs the RH for $L$-functions of said Hecke characters, which is in fact equivalent to the RH for Dedekind $\zeta$-functions. However, the CS applications I’m aware of do not need this.) The consequences are that one can derandomize several algorithms, such as the Miller–Rabin primality testing algorithm, or the Shanks–Tonelli algorithm for computing square roots modulo primes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As far as I know, RH is &lt;em&gt;not&lt;/em&gt; useful to deterministically find primes in a given interval, as alluded to in a comment above. This would follow from Cramér’s conjecture or a similar bound on prime gaps, but the RH is too weak to prove such bounds (the error term in the prime number theorem is at least of order roughly $\sqrt x$ no matter what).&lt;/p&gt;&#xA;" OwnerUserId="6959" LastEditorUserId="6959" LastEditDate="2014-11-29T18:22:15.340" LastActivityDate="2014-11-29T18:22:15.340" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="27638" PostTypeId="2" ParentId="27631" CreationDate="2014-11-29T21:48:21.103" Score="7" Body="&lt;p&gt;Can't this problem be used to compute the permanent of a 0-1 matrix? Since permanent is a #P-complete problem (harder than NP), there is very unlikely to a polynomial-time algorithm. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose you have an $n \times n$ matrix $M$ that you want to compute the permanent of. Construct a graph on $2n+1$ vertices, where there is a special vertex $v$ which has one copy, and $n$ of the vertices $x_1$ $\ldots$, $x_n$ have only one copy, while the remaining $n$ vertices $y_1$, $\ldots$, $y_n$, have $n$ copies each. On the $i$'th copy of vertex $y_j$, connect it to $x_i$. Connect the $i$'th copy of $y_j$ to $v$ if and only if the entry $M(i,j) = 1$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, for $x_i$ to be in the spanning tree, you must have chosen the $i$'th copy of $y_j$ for some $j$. So we must have a permutation $\pi$, where we have chosen the $\pi(j)$ copy of vertex $y_j$. For this permutation to be a spanning tree we must have $M(\pi(j), j) = 1$ for each vertex $j$. This shows that the permutation $\pi$ yields a spanning tree if and only if it contributes $1$ to the permanent of $M$. Thus, the number of spanning trees is the permanent of $M$.&lt;/p&gt;&#xA;" OwnerUserId="1677" LastEditorUserId="1677" LastEditDate="2014-11-30T23:39:10.707" LastActivityDate="2014-11-30T23:39:10.707" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27639" PostTypeId="2" ParentId="27072" CreationDate="2014-11-29T23:34:30.280" Score="4" Body="&lt;p&gt;The question is quite old. To the best of my knowledge this problem was first considered in 1976 by Sokolovskii [1], where it was proved that: for the group case ($f_w$ is a permutation) the upper bound is $n!^{\frac12(1+o(1))}$ and the lower bound is $\mathrm{e}^{\sqrt{n\ln n}(1+o(1))}$; for the general case the upper bound is $n^{\frac{n}{2}(1+o(1)))}$ and the lower bound is $\Omega(2^n/\sqrt{n})$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Much later in 2003 this problem was also independently of Sokolovskii considered among many other problems in [2] by Salomaa but the results were weaker then in the Sokolovskii's paper. In 2006 Babai [3] obtained an optimal upper bound $\mathrm{e}^{\sqrt{n\ln n}(1+o(1))}$ for the group case.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the general case an optimal estimate $2^n\mathrm{e}^{\sqrt{\frac{n}{2}\ln n}(1+o(1))}$ was obtained in my resent paper [4] &lt;a href=&quot;http://grammars.grlmc.com/lata2015/AcceptedPapers.php&quot; rel=&quot;nofollow&quot;&gt;accepted&lt;/a&gt; for publication in the forthcoming LATA 2015 proceedings.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] Sokolovskii, M.N.: The complexity of the generation of transformations, and experiments with automata. In: Discrete analysis methods in the theory of codes and schemes, vol. 29, pp. 68-86. Institute of Mathematics, Siberian. Branch USSR Acad. Sci. (1976), (in Russian)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] Salomaa, A.: Composition sequences for functions over a finite domain. Theoret.&#xA;Comput. Sci. 292, 263-281 (2003)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[3] Babai, L.: On the diameter of eulerian orientations of graphs. In: SODA06: proceedings of the seventeenth annual ACM-SIAM symposium on Discrete algorithms. pp. 822-831. ACM, New York, NY, USA (2006)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[4] Panteleev, P.: Preset Distinguishing Sequences and Diameter of Transformation Semigroups, (accepted for publication in LATA 2015)&lt;/p&gt;&#xA;" OwnerUserId="29151" LastActivityDate="2014-11-29T23:34:30.280" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27640" PostTypeId="2" ParentId="27628" CreationDate="2014-11-30T00:20:56.440" Score="2" Body="&lt;p&gt;We prove hardness for $k \geq 3$. First observe that the problem is equivalent to the following graph problem: Input is a graph $G$ of maximum degree $k$, with an integer demand $d_v$ on every vertex $v$ and an integer weight $w_e$ for every edge $e$. The task is to find an acyclic orientation of the edges (i.e resulting in a DAG) such that for every vertex, the sum of the weights of the incoming edges is at least the demand. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here the demand of the vertex corresponding to bin $i$ is $Q-c_i$, and the weight of an edge is the &quot;reward&quot; or &quot;penalty&quot; incurred on one bin when capping the other.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We prove hardness for $k \geq 3$. We reduce from $3$-SAT where every literal appears either $1$ or $2$ times. This variant of $3$-SAT is &lt;a href=&quot;http://www.google.no/url?sa=t&amp;amp;rct=j&amp;amp;q=&amp;amp;esrc=s&amp;amp;source=web&amp;amp;cd=4&amp;amp;ved=0CDEQFjAD&amp;amp;url=http%3A%2F%2Fwww.cse.msu.edu%2F~torng%2FClasses%2FArchives%2Fcse830.07spring%2FLectures%2Fexample-reductions.pdf&amp;amp;ei=gmJ6VMGTFomGzAOtyIGIDg&amp;amp;usg=AFQjCNErSPH0f35uvm-P0biuzcI7WBKiDQ&amp;amp;sig2=nQbIUH6q97Tc0Q64uheoLg&amp;amp;bvm=bv.80642063,d.bGQ&amp;amp;cad=rja&quot; rel=&quot;nofollow&quot;&gt;known to be NP-complete&lt;/a&gt;. Make one vertex for every clause and every literal. Connect every pair of literals corresponding to the same variable by an edge of weight $-2$. Connect every literal with the clauses that contain it by edges of weight $1$. Every clause gets demand $1$, and every literal gets demand $0$ if it appears in two clauses and $-1$ if it appears in one clause.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the forward direction, if there is a satisfying assignment orient all &#xA;edges away from the literals set to true and into the literals set to false. This is clearly acyclic and it is easy to check that all vertex demands are satisfied.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the reverse direction consider an acyclic orientation that satisfies all vertex demands. For every variable, look at the edge between the corresponding literals and set the variable accordingly: if the edge is oriented from $x$ to $\bar{x}$ set $x$ to ${\sf true}$, otherwise set $x$ to ${\sf false}$. Now, if the edge is oriented from $x$ to $\bar{x}$, then, in order to meet $\bar{x}$'s demand all other edges incident to $\bar{x}$ must also be oriented towards $\bar{x}$. The same holds for $x$ if the edge is oriented from $\bar{x}$ towards $x$. Since every vertex corresponding to a clause must have at least one edge oriented towards it it follows that every clause contains a literal set to true.&lt;/p&gt;&#xA;" OwnerUserId="27464" LastActivityDate="2014-11-30T00:20:56.440" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="27641" PostTypeId="1" AcceptedAnswerId="27653" CreationDate="2014-11-30T00:48:00.870" Score="2" ViewCount="594" Body="&lt;p&gt;So far, I've only encountered the VC-dim for binary classifiers. I'm interested to learn how this notion can be extended to the multi-class case. Are there expressions that provide bounds on the out-of-sample error based on the VC-dim for multi-category classifiers? The learning machines I am interested in are: SVMs, Neural Networks, AdaBoost and k-Nearest neighbors. Thanks.&lt;/p&gt;&#xA;" OwnerUserId="29167" LastActivityDate="2014-12-01T09:17:34.700" Title="Are there closed-form expressions providing the VC-dimension for the multi-class case for different classifiers?" Tags="&lt;machine-learning&gt;&lt;vc-dimension&gt;&lt;svm&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="27642" PostTypeId="2" ParentId="27634" CreationDate="2014-11-30T01:59:57.783" Score="7" Body="&lt;p&gt;Assuming an extended Riemann Hypothesis, L. M. Adleman and H. W. Lenstra gave a polynomial time algorithm to find an irreducible polynomial of a desired degree over a finite field: &#xA;&lt;a href=&quot;http://www.math.leidenuniv.nl/~hwl/PUBLICATIONS/1986a/art.pdf&quot;&gt;http://www.math.leidenuniv.nl/~hwl/PUBLICATIONS/1986a/art.pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="17011" LastActivityDate="2014-11-30T01:59:57.783" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27647" PostTypeId="2" ParentId="5947" CreationDate="2014-11-30T18:02:01.220" Score="2" Body="&lt;p&gt;Not exactly what you asked, but Scott Aaronson has a paper, nicely explained &lt;a href=&quot;http://www.scottaaronson.com/democritus/lec19.html&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt; about Turing machines with the ability to time travel, but with self-consistency requirements (i.e. you can't go back to change the past. You can observe the future, but it must be consistent with the present).&lt;/p&gt;&#xA;" OwnerUserId="7531" LastActivityDate="2014-11-30T18:02:01.220" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27648" PostTypeId="1" CreationDate="2014-11-30T18:12:19.397" Score="3" ViewCount="353" Body="&lt;p&gt;If a function $f$ is understood as its graph, i.e. a set of pairs $\langle x,y\rangle$ where $x$ is input and $y$ is output, then the empty set $\emptyset$ is a valid function, and for any set $A$, we have the &lt;a href=&quot;http://en.wikipedia.org/wiki/Empty_function&quot; rel=&quot;nofollow&quot;&gt;empty function&lt;/a&gt; in $\emptyset\to A$. This makes $\emptyset$ the initial object in the category of sets. By set extensionality, there is only this empty function and this also fits with cardinalities, where we like $|A^{\emptyset}|=|A|^{|\emptyset|}=1$.&#xA;In logic, we usually take that form absurdum follows everything, ex falso quodlibet, and in the propositions interpretation for types, if $\bf 0$ denotes the empty type (or bottom type), we want a function ${\bf 0}\to \tau$ for all types $\tau$ too.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I've been told in some programs this would be done by defining alla&lt;/p&gt;&#xA;&#xA;&lt;p&gt;definition exfalso (a : Type) (x : 0) : a := &quot;case x of -emptyspace-&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now I try to construct the terms for function types involving the empty type over the standard theories you'd find in books, but I can't quite reproduce the good properties, see below. I wonder&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Which type theories actually let you &lt;em&gt;construct&lt;/em&gt; a term of a function type from the empty type, and then, is it unique?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;My considerations (leading to more question) are this...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Take &lt;a href=&quot;http://en.wikipedia.org/wiki/Simply-typed_lambda_calculus#Typing_rules&quot; rel=&quot;nofollow&quot;&gt;simply types lambda calculus&lt;/a&gt;. We have $(\lambda (x:\tau).x):\tau\to\tau$ and so $(\lambda (x:{\bf 0}).x):{\bf 0}\to{\bf 0}$. In any model of the type theory, this will be the empty function and so I'm okay with that. But how do I construct, from the typing rules of the theory, any type of ${\bf 0}\to{\bf \tau}$, where $\tau$ isn't ${\bf 0}$? And then, how is there only one? Depending on how the theory lets you define functions, I could imagine ${\bf 0}\to\mathrm{Nat}$ to have zero or an infinite number of terms (constant functions which can never take any input). I guess the cardinal arithmetic then only works out once we pass to the set theoretic model, where all those constant functions are, extensionally, the empty function. Is that right? In a type theory with booleans $\bf 2$, how many functions $\bf 0\to\bf 2$ are there? If $a,b:\bf 2$, are $\lambda x.a$ and $\lambda x.b$ generally two function of this type?&lt;/p&gt;&#xA;" OwnerUserId="7750" LastActivityDate="2014-12-02T09:26:37.650" Title="Constructing terms of function types out of the empty type" Tags="&lt;type-theory&gt;&lt;lambda-calculus&gt;&lt;function&gt;" AnswerCount="1" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="27652" PostTypeId="1" CreationDate="2014-12-01T08:18:20.137" Score="7" ViewCount="494" Body="&lt;p&gt;I am looking for interesting streaming algorithms that would be suitable for presentation in an undergraduate algorithms course.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Good choices should probably satisfy the following requirements:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Solve a problem that is useful in practice or easy to motivate, or alternatively, illustrate techniques that are beautiful or useful.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Be suitable for presentation in an undergraduate algorithms course.  This means the algorithm and analysis can't be too complex.  Also they shouldn't require too much heavy probability theory to analyze (sadly, this rules out many beautiful algorithms).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;What would be a good candidate?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One beautiful algorithm is the deterministic algorithm to find an element that occurs with frequency at least 50% (if any such element exists), using $O(1)$ space; or its generalization, find all items that occur with frequency at least $1/k$, using $O(k)$ space.  Are there any others that would be an excellent choice for an undergraduate course?&lt;/p&gt;&#xA;" OwnerUserId="5038" LastActivityDate="2014-12-19T14:34:37.197" Title="Streaming algorithms suitable for undergrad course" Tags="&lt;ds.algorithms&gt;&lt;teaching&gt;&lt;online-algorithms&gt;&lt;streaming-algorithms&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="27653" PostTypeId="2" ParentId="27641" CreationDate="2014-12-01T09:17:34.700" Score="1" Body="&lt;p&gt;VC-dimension has multiple multiclass extensions:&#xA;pseudo dimension, Natarajan dimension, graph dimension.&#xA;See here for example:&#xA;&lt;a href=&quot;http://math.huji.ac.il/~amitd/multiclass.pdf&quot; rel=&quot;nofollow&quot;&gt;http://math.huji.ac.il/~amitd/multiclass.pdf&lt;/a&gt;&#xA;&lt;a href=&quot;http://jmlr.org/papers/volume8/guermeur07a/guermeur07a.pdf&quot; rel=&quot;nofollow&quot;&gt;http://jmlr.org/papers/volume8/guermeur07a/guermeur07a.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are also extensions to continuous-valued functions (fat-shattering dimension):&#xA;&lt;a href=&quot;http://users.cecs.anu.edu.au/~williams/papers/P53.pdf&quot; rel=&quot;nofollow&quot;&gt;http://users.cecs.anu.edu.au/~williams/papers/P53.pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="1746" LastActivityDate="2014-12-01T09:17:34.700" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27655" PostTypeId="2" ParentId="27652" CreationDate="2014-12-01T12:57:41.640" Score="7" Body="&lt;p&gt;In addition to the Heavy Hitters problem you've mentioned (which has quite a few algorithms: batch-decrement, space-saving, etc.), I'd consider presenting the following:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Reservoir sampling - maintain a sample of $k$ elements, uniformly sampled from the set of items which appeared in the stream so far, in $O(k)$ space.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Approximate bit counting on a sliding window - given a bit-stream, answer queries approximating the number of $1$'s in the last $N$ bits, and do so using $O(\log N)$ space.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Sampling from a sliding window (at any point, give a sample of $k$ elements uniformly chosen from the last $N$ elements of a stream).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Exact item counting - answer queries of the form &quot;how many times did $x$ appear in the stream&quot; such that the answer will be correct w.h.p. using only sublinear space (modern data structures are quite complex, but &lt;a href=&quot;http://en.wikipedia.org/wiki/Count%E2%80%93min_sketch&quot;&gt;Count–min sketch&lt;/a&gt; seems to fit undergrad course).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="21001" LastActivityDate="2014-12-01T12:57:41.640" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="27657" PostTypeId="2" ParentId="8485" CreationDate="2014-12-01T20:34:37.693" Score="3" Body="&lt;p&gt;This problem is essentially equivalent to matrix multiplication. Let's look at $\sum_{i=1}^{n}X_{i}RY_{i}$ first, where $X_i$ and $Y_i$ are diagonal matrices. If $A$ is the matrix with the diagonal entries of $X_i$ as the $i$-th column, and $B$ is the matrix with the diagonal entires of $Y_i$ as the $i$-th row, then the entry-wise product of $AB$ and $R$ is equal to $\sum_{i=1}^{n}X_{i}RY_{i}$. If all entries of $R$ are non-zero (even if it should not be full rank), then $AB$ can be reconstructed from $\sum_{i=1}^{n}X_{i}RY_{i}$. Hence the computational complexity of this problem is identical to the computational complexity of matrix multiplication.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the case $\sum_{i=1}^{n}A_{i}DB_{i}$, where $A_i$ and $B_i$ are circulant matrices, we first have to apply FFT to $A_i$, $B_i$ and $D$, to get back to the case $\sum_{i=1}^{n}X_{i}RY_{i}$. We need $2n+1$ FFTs of size $n$ for this, so this adds $n^2\log n$ to the complexity.&lt;br&gt;&#xA;Also in this case, it can happen that the FFT of $D$ has only very few non-zero entries. In this special case, the complexity will be quadratic times the number of non-zero entries. This can happen, if the i-th entry on the diagonal of $D$ is $r^i$, where $r$ is the $n$th root of unity. But already when $D$ has the same entries but permuted arbitrarily, the FFT of $D$ will not be sparse (in general).&lt;/p&gt;&#xA;" OwnerUserId="20340" LastActivityDate="2014-12-01T20:34:37.693" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27659" PostTypeId="2" ParentId="27497" CreationDate="2014-12-01T21:46:02.817" Score="4" Body="&lt;p&gt;I realized that in &lt;a href=&quot;http://link.springer.com/article/10.1007%2FBF01694011#page-1&quot; rel=&quot;nofollow&quot;&gt;Fischer, Meyer, and Rosenberg (1968)&lt;/a&gt; Theorem 1.3, it is proven that &quot;The language of marked palindrome is not recognizable by any one-way $k-CM$ which operates in time less than $T(n) = 2^{(n/2k)}$.&quot; &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The same result also appears in &lt;a href=&quot;http://link.springer.com/chapter/10.1007/978-3-642-02737-6_33&quot; rel=&quot;nofollow&quot;&gt;Petersen (2009)&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="29007" LastActivityDate="2014-12-01T21:46:02.817" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27664" PostTypeId="1" AcceptedAnswerId="27680" CreationDate="2014-12-02T09:25:19.660" Score="3" ViewCount="1119" Body="&lt;p&gt;I am trying to find an algorithm to find an $\epsilon$-approximate maximum matching $M_{\epsilon}$ in a bipartite graph in $O(m/\epsilon)$. The partite groups are of equal size, they are $A$ and $B$.  So the graph is:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$G(A ∪ B, E)\ \ where\ \  |A| = |B| = n, \ \ \ \ E ⊆ A × B \  \ \ and\ \ \  |E| = m$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The algorithm should produce an $\epsilon$-approximate maximum matching $M_{\epsilon}$ such that:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$|M_{\epsilon}| \geq (1-\epsilon)M_{optimal} \ \ \ for\ \ \ 0 \leq \epsilon \leq 1$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am aware that the Hopcroft-Karp algorithm can produce an $M_{optimal}$ but I have heard one can modify Hopcroft-Karp to produce an $\epsilon$-approximate maximum matching ($M_{\epsilon}$) instead.  I am currently out of ideas in how to approach this.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To clarify: I am only concerned about unweighted matchings.&lt;/p&gt;&#xA;" OwnerUserId="29195" LastEditorUserId="29195" LastEditDate="2014-12-02T22:06:18.260" LastActivityDate="2014-12-03T07:36:35.703" Title="Modifying Hopcroft-Karp algorithm to get approximate bipartite matching" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;approximation-algorithms&gt;&lt;matching&gt;" AnswerCount="1" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="27665" PostTypeId="2" ParentId="27648" CreationDate="2014-12-02T09:26:37.650" Score="2" Body="&lt;p&gt;I already answered how to construct such terms in &lt;a href=&quot;https://cstheory.stackexchange.com/questions/27303/what-is-a-term-of-the-type-bot-rightarrow-a&quot;&gt;a related question&lt;/a&gt;, so let me just amend that answer with some equations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A standard type constructor which has constructors and eliminators, for instance $A \times B$ has pairing and projections, will have:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$\beta$-rules which says how destructors operate on constructors, for instance: $\pi_1 (a,b) \equiv a$,&lt;/li&gt;&#xA;&lt;li&gt;$\eta$-rules which say that if we take a thing apart with destructors and put it back together we get the original thing, for instance: $(\pi_1\,u, \pi_2,u) = u$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The empty type is special because it has no constructors, so where do equations come from? We can take the idea that $\mathbf{0}$ is the initial type and express it as an equation:&#xA;$$\mathsf{absurd}_A(e_1) \equiv_A e_2 \tag{1}$$&#xA;where $\mathsf{absurd}_A : \mathbf{0} \to A$ is the eliminator (it could also be written as an empty case statement), $e_1 : \mathbf{0}$ and $e_2 : A$. The equation says that $\mathsf{absurd}_A(e_1)$ is equal to every term of type $A$, which is absurd, as it should be. The effect of the equation is that as soon as we have a variable $x : \mathbf{0}$ in the typing context, everything becomes trivial. In categorical language, slicing over $\mathbf{0}$ gives the terminal category -- which is just another way of saying that $\mathbf{0}$ is a terminal object.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We can now show that every two maps $f, g : \mathbf{0} \to A$ are equal, simply because&#xA;$$x : \mathbf{0} \vdash f\,x \equiv \mathsf{absurd}_A(x) \equiv g\,x$$&#xA;and now by congruence rule for $\lambda$ and $\eta$-rule for functions&#xA;$$f \equiv (\lambda x : \mathbf{0} \,.\, f\,x) \equiv (\lambda x : \mathbf{0} \,.\, g\,x) \equiv g.$$&#xA;Note however that (1) above is not the kind of equation that type theorists like, because it screwes up various algorithms for checking equality of terms.&lt;/p&gt;&#xA;" OwnerUserId="705" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.743" LastActivityDate="2014-12-02T09:26:37.650" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27667" PostTypeId="1" AcceptedAnswerId="27669" CreationDate="2014-12-02T13:31:38.010" Score="9" ViewCount="3986" Body="&lt;p&gt;One of my Java projects is a &lt;a href=&quot;https://github.com/parboiled1/grappa&quot;&gt;fork of parboiled&lt;/a&gt;, and unlike, say, Antlr or JavaCC, parsers are generated at runtime. Grammars generated are Parsing Expression Grammars, or PEGs (I hear another term for them is &quot;packrat&quot;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;While the runtime generation adds complexity (bytecode generation involved), another aspect relates to parser theory itself. As I have, unfortunately, no solid background in computer science, I lack theoretical knowledge to map existing code to existing concepts -- in this case, parsers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a good reference book on parsers which I can purchase and read, or even links on the Internet, which can help me build such a &quot;mapping&quot;, accounting for my poor theoretical knowledge?&lt;/p&gt;&#xA;" OwnerUserId="29200" LastEditorUserId="29200" LastEditDate="2014-12-02T13:44:24.647" LastActivityDate="2015-01-02T01:39:40.787" Title="Good books on parser theory?" Tags="&lt;research-practice&gt;&lt;books&gt;&lt;parsing&gt;" AnswerCount="4" CommentCount="0" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="27668" PostTypeId="2" ParentId="27667" CreationDate="2014-12-02T14:11:26.043" Score="3" Body="&lt;p&gt;If you want to learn about the theory of parsers, I recommend volume 1 of this classic book:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Aho, Alfred V.; Ullman, Jeffrey D., &lt;em&gt;The theory of parsing, translation, and compiling&lt;/em&gt;, Prentice-Hall (1972).&lt;/p&gt;&#xA;" OwnerUserId="8067" LastActivityDate="2014-12-02T14:11:26.043" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27669" PostTypeId="2" ParentId="27667" CreationDate="2014-12-02T15:17:30.200" Score="12" Body="&lt;p&gt;One book that I can recommend is D. Grune, C. J. H. Jacobs, &lt;a href=&quot;http://dickgrune.com/Books/PTAPG_2nd_Edition/&quot;&gt;Parsing Techniques: a Practical Guide&lt;/a&gt;. &lt;/p&gt;&#xA;" OwnerUserId="898" LastActivityDate="2014-12-02T15:17:30.200" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27672" PostTypeId="2" ParentId="27606" CreationDate="2014-12-02T20:04:10.287" Score="8" Body="&lt;p&gt;The following book covers some material related to the proof of the graph minor theorem (Chapter 12). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Reinhard Diestel: Graph Theory, 4th edition, Graduate Texts in Mathematics 173.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The author states: &quot;[...] we have to be modest: of the actual proof of the minor theorem, this chapter will convey only a very rough impression. However, as with most truly fundamental results, the proof has sparked off the development of methods of quite independent interest and potential.&quot; &lt;/p&gt;&#xA;&#xA;&lt;p&gt;An electronic version of the book can be viewed online. &#xA;&lt;a href=&quot;http://diestel-graph-theory.com/&quot;&gt;http://diestel-graph-theory.com/&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="2367" LastActivityDate="2014-12-02T20:04:10.287" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27673" PostTypeId="2" ParentId="27667" CreationDate="2014-12-02T20:56:43.233" Score="1" Body="&lt;p&gt;If you don't mind the language difference, Chapter 8 of &lt;a href=&quot;http://hop.perl.plover.com/&quot; rel=&quot;nofollow&quot;&gt;Higher Order Perl&lt;/a&gt; is all about parsing, and in particular builds up a recursive descent parser using parser combinators. It's accessible (if you're not afraid of Perl) and available to read for free if you like. It helped spark &lt;em&gt;my&lt;/em&gt; interest in parsing techniques a number of years back.&lt;/p&gt;&#xA;" OwnerUserId="2999" LastActivityDate="2014-12-02T20:56:43.233" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27674" PostTypeId="1" AcceptedAnswerId="27676" CreationDate="2014-12-02T22:23:46.643" Score="11" ViewCount="543" Body="&lt;p&gt;Suppose that our input is a binary $x$ and we have to output $\lfloor x/c \rfloor$, where $c$ is some constant integer.&#xA;This is just a shift if $c$ is a power of two, but what about other numbers?&#xA;Can we do it with a constant depth circuit for every $c$?&#xA;What about $c=3$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;ps. I know that computing $x\bmod c$ is hard, but this seems unrelated.&lt;/p&gt;&#xA;" OwnerUserId="419" LastEditorUserId="6959" LastEditDate="2014-12-03T15:30:30.363" LastActivityDate="2014-12-03T15:30:30.363" Title="For what c is division by c in AC0?" Tags="&lt;cc.complexity-theory&gt;&lt;circuit-complexity&gt;&lt;ac0&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27675" PostTypeId="1" AcceptedAnswerId="27689" CreationDate="2014-12-02T22:31:37.627" Score="3" ViewCount="308" Body="&lt;p&gt;In general,&#xA;The chromatic number of the clique intersection graph a graph can again be arbitrarily high. &#xA;For example, take $n$ maximal cliques of size $n$ such that every pair of maximal cliques has a vertex in common.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, for which non-trivial graphs the clique intersection graphs has bounded chromatic number even if the graph can have arbitrarily high chromatic number?&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Any reference to surveys in this area is welcome. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;I welcome any reference relating the graphs with bounded degree and to the chromatic number of its clique intersection graph.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Let the independent neighborhood of a vertex $v$ in a graph is the maximum independent set with every vertex having a common neighbor as $v$. &#xA;Let for a graph family $F$, we have a constant $C(F)$, such that for any graph in the family $F$, the size of independent neighborhood of a vertex $v$ in the graph is bounded by $C(F)$. Are there any studies which relate the chromatic number of the clique intersection graph family of $F$ with the above notion.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit:&lt;/strong&gt; &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the clique intersection graph $C(G)$ of a graph $G$, the nodes are maximal cliques of $G$ and there is an edge whenever they share a vertex.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; This is different from the definition of clique-separator graph for chordal graphs (Which is a tree).&lt;/p&gt;&#xA;" OwnerUserId="12280" LastEditorUserId="12280" LastEditDate="2014-12-03T04:31:40.390" LastActivityDate="2014-12-29T22:23:18.640" Title="Graphs whose maximal clique intersection graph has bounded chromatic number" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;graph-colouring&gt;" AnswerCount="2" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="27676" PostTypeId="2" ParentId="27674" CreationDate="2014-12-02T22:46:15.827" Score="16" Body="&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/AC0#cite_note-6&quot;&gt;Addition and subtraction of binary numbers are in $\mathsf{AC^0}$&lt;/a&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For any constant number $c$, &#xA;$x \bmod c$ is $\mathsf{AC^0}$ reducible to division by $c$ ($\lfloor x/c \rfloor$): &#xA;$$x \bmod c = x - &#xA;(\overbrace{\lfloor x/c \rfloor + \cdots + \lfloor x/c \rfloor}^{c \text{ times}}) $$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is known that $x \bmod c$ is hard for $\mathsf{AC^0}$ for any $c$ &#xA;which is not a power of $2$. &#xA;Thus $\lfloor x/c \rfloor$ is hard for $\mathsf{AC^0}$ for any $c$ &#xA;which is not a power of $2$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As noted by Emil in the comments there is an easy reduction for odd prime $c$ &#xA;from $\mathit{MOD}_c$ (that is, $\sum_ix_i\bmod c$ with $x_i\in\{0,1\}$) to &#xA;$x\bmod c$ with binary input: &#xA;we use only input bits which are multiples of $p-1$ and use &lt;a href=&quot;http://en.wikipedia.org/wiki/Fermat%27s_little_theorem&quot;&gt;FLT&lt;/a&gt; ($2^{(p-1)i} \bmod p = 1$).  &lt;/p&gt;&#xA;" OwnerUserId="27464" LastEditorUserId="6959" LastEditDate="2014-12-03T15:28:54.057" LastActivityDate="2014-12-03T15:28:54.057" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="27678" PostTypeId="1" CreationDate="2014-12-03T03:41:49.453" Score="2" ViewCount="703" Body="&lt;p&gt;I'm wondering if there exists an exact algorithm for some np-complete problem with  quasi-polynomial time complexity.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My best guess is 'no', because if there was one (with a reasonable C, not any C), probably to find a way to improve the time complexity to polynomial would be just a matter of time, thus, the P vs. NP question will be already closed.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I researched on internet and seems there is no quasi-polynomial solution for any of the known np-complete problem (I do found pseudo-polynomial algorithms)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, could somebody point me to some exact quasi-polynomial algorithm for some np-complete problem if such algorithm exists?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;thanks!&lt;/p&gt;&#xA;" OwnerUserId="29210" LastActivityDate="2014-12-03T03:41:49.453" Title="Are there NP-complete problems with quasi-polynomial expected time solutions?" Tags="&lt;cc.complexity-theory&gt;" AnswerCount="0" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27680" PostTypeId="2" ParentId="27664" CreationDate="2014-12-03T07:30:25.553" Score="9" Body="&lt;p&gt;This is a combination of comments from me and Chandra Chekuri above, elaborated a bit.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As background, if you have a partial matching then its symmetric difference with the optimal matching can be decomposed into disjoint alternating paths (and possibly also some alternating cycles but those can be ignored). &lt;a href=&quot;https://en.wikipedia.org/wiki/Hopcroft%E2%80%93Karp_algorithm&quot;&gt;Hopcroft–Karp&lt;/a&gt; maintains a partial matching as it proceeds in a sequence of stages. Each stage exhausts all the shortest alternating paths left over from the previous stage, and increases the shortest alternating path length by at least two (because the length must be odd). Each stage takes linear time. The exact algorithm can be proven to take $O(\sqrt n)$ stages, leading to a nonlinear total runtime.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First, the additive approximation. If the shortest alternating path length is $k$, then the symmetric difference between your matching and optimal can have at most $n/k$ disjoint alternating paths, so the difference in cardinality between your matching and optimal is at most $n/k$. So if you set $k=1/\epsilon$ for your favorite constant $\epsilon$, and stop after $k/2$ stages, you should get an additive approximation of $\epsilon n$ to the optimal matching, in time $O((m+n)/\epsilon=O(m+n)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, for a multiplicative approximation, again suppose that the shortest alternating path length is $k$, and observe that each alternating path includes at least $(k-1)/2$ edges that are already part of your matching. So the ratio between the number of edges you already have in the alternating paths and the number you can get by adding one more edge per alternating path is at most $$\frac{k-1}{2}\left/\left(\frac{k-1}{2}+1\right)\right.\approx 1-\frac{2}{k}.$$ Therefore, if you set $k\approx 2/\epsilon$, and again do only $k/2$ stages before stopping, you will get a $(1-\epsilon)$-approximation, again in time $O(m+n)$.&lt;/p&gt;&#xA;" OwnerUserId="95" LastEditorUserId="95" LastEditDate="2014-12-03T07:36:35.703" LastActivityDate="2014-12-03T07:36:35.703" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27682" PostTypeId="1" AcceptedAnswerId="27738" CreationDate="2014-12-03T13:42:03.170" Score="1" ViewCount="141" Body="&lt;p&gt;I'm implementing an encryption algorithm which does a bunch &lt;code&gt;xor&lt;/code&gt; operations to mix up the columns. Because I want to find the lower bound of the number of &lt;code&gt;xor&lt;/code&gt; operations, I'm trying to figure out the best way to reuse intermediate results. I've created a graph with all the intermediate results and now want to find the paths through that graph that reuse the most nodes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Simplified example:&lt;/strong&gt; I want to calculate $abc$ and $bcd$ from $a,b,c,d$. I can only combine two variables at a time. Combining is commutative: the order does not matter. I've created a graph with all the possible intermediate results ($ab, bc, cd$). Obviously the best way to calculate $abc$ and $bcd$ is to do it like $abc = a (bc)$ and $bcd = d (bc)$. This way you can reuse the result of $bc$ and you end up doing 3 operations, instead of the 4 operations if you would do something like $abc = (ab)c$ and $bcd = (bc)d$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In other words, I want fo find these paths:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;       abc         bcd&#xA;        |           |&#xA;  +-----+--+--------+&#xA;  |        |        |&#xA;  | ab     bc   cd  |&#xA;  |        |        |&#xA;  |      +-+-+      |&#xA;  |      |   |      |&#xA;  a      b   c      d&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Is there an algorithm suitable for finding this, or is there an algorithm that I can adapt to find this? (If there is an approach that doesn't use graphs, I'd like to learn of it as well).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Actual problem:&lt;/strong&gt;&#xA;I have 16 inputs $x_0 \cdots x_{15}$ which are &lt;code&gt;xor&lt;/code&gt;ed like this:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;\begin{array}{rcl}&#xA;x_0 &amp;amp;=&amp;amp; x_0 \oplus x_4 \oplus x_7 \oplus x_{10} \oplus x_{12} \oplus x_{14} \oplus x_{15} \\&#xA;x_{1} &amp;amp;=&amp;amp; x_1 \oplus x_4 \oplus x_{11} \oplus x_{12} \oplus x_{15} \\&#xA;x_{2} &amp;amp;=&amp;amp; x_2 \oplus x_5 \oplus x_8 \oplus x_9 \oplus x_{12} \\&#xA;x_{3} &amp;amp;=&amp;amp; x_3 \oplus x_6 \oplus x_9 \oplus x_{10} \oplus x_{13} \\&#xA;x_{4} &amp;amp;=&amp;amp; x_0 \oplus x_3 \oplus x_4 \oplus x_8 \oplus x_{10} \oplus x_{11} \oplus x_{14} \\&#xA;x_{5} &amp;amp;=&amp;amp; x_0 \oplus x_5 \oplus x_8 \oplus x_{11} \oplus x_{15} \\&#xA;x_{6} &amp;amp;=&amp;amp; x_1 \oplus x_6 \oplus x_8 \oplus x_{12} \oplus x_{13} \\&#xA;x_{7} &amp;amp;=&amp;amp; x_2 \oplus x_7 \oplus x_9 \oplus x_{13} \oplus x_{14} \\&#xA;x_{8} &amp;amp;=&amp;amp; x_2 \oplus x_4 \oplus x_6 \oplus x_7 \oplus x_8 \oplus x_{12} \oplus x_{15} \\&#xA;x_{9} &amp;amp;=&amp;amp; x_3 \oplus x_4 \oplus x_7 \oplus x_9 \oplus x_{12} \\&#xA;x_{10} &amp;amp;=&amp;amp; x_0 \oplus x_1 \oplus x_4 \oplus x_{10} \oplus x_{13} \\&#xA;x_{11} &amp;amp;=&amp;amp; x_1 \oplus x_2 \oplus x_5 \oplus x_{11} \oplus x_{14} \\&#xA;x_{12} &amp;amp;=&amp;amp; x_0 \oplus x_2 \oplus x_3 \oplus x_6 \oplus x_8 \oplus x_{11} \oplus x_{12} \\&#xA;x_{13} &amp;amp;=&amp;amp; x_0 \oplus x_3 \oplus x_7 \oplus x_8 \oplus x_{13} \\&#xA;x_{14} &amp;amp;=&amp;amp; x_0 \oplus x_4 \oplus x_5 \oplus x_9 \oplus x_{14} \\&#xA;x_{15} &amp;amp;=&amp;amp; x_1 \oplus x_5 \oplus x_6 \oplus x_{10} \oplus x_{15} \\&#xA;\end{array}&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I want to find groups such as $\{x_0, x_4\}$, $\{x_1, x_4\}$ and $\{x_{0}, x_{4}, x_{10}\}$ that are contained in several of these multiplications.&lt;/p&gt;&#xA;" OwnerUserId="29219" LastEditorUserId="29219" LastEditDate="2014-12-07T14:25:29.880" LastActivityDate="2014-12-07T22:57:31.710" Title="Finding the paths through a graph that reuse as many of the nodes as possible" Tags="&lt;graph-algorithms&gt;&lt;optimization&gt;" AnswerCount="2" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="27683" PostTypeId="2" ParentId="27682" CreationDate="2014-12-03T15:45:13.007" Score="0" Body="&lt;p&gt;It seems the following algorithm gives you the optimal procedure:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Your memory is a set of current targets $t_1,\dots t_k$ together with a set of partial products $p_1,\dots, p_n$ initally empty. Additionally, each partial product is marked by a subset of $\{1,k\}$, which is the set of current targets which strictly contain this product.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;For each letter, count in how many of the targets it appears. Let $a$ be the letter appearing in the maximal number of targets.&lt;/li&gt;&#xA;&lt;li&gt;Add $a$ to all partial products that point at one of these targets, producing new partial products. If some target containing $a$ was not marked by any partial product, create a new partial product with $a$.&lt;/li&gt;&#xA;&lt;li&gt;Update targets containing $a$ by removing one occurrence of it.&lt;/li&gt;&#xA;&lt;li&gt;Update the marking of the partial products.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Loop these steps until all your targets are empty.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You should end up with the minimal set of partial products you need to compute.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Notice that this algorithm produces an optimal output, but may not be optimal in complexity.&lt;/p&gt;&#xA;" OwnerUserId="8953" LastEditorUserId="8953" LastEditDate="2014-12-04T13:09:36.113" LastActivityDate="2014-12-04T13:09:36.113" CommentCount="12" ContentLicense="CC BY-SA 3.0" />
  <row Id="27687" PostTypeId="1" CreationDate="2014-12-03T17:12:32.447" Score="2" ViewCount="281" Body="&lt;p&gt;I've been reading about sketches for processing streaming data (the CountMin sketch, the Count sketch, the tug-of-war sketch, FM sketches, etc.).  They use hash functions that are required to be 2-independent or 4-independent or $k$-independent for some small $k$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However from cryptography we have fast hash functions that are very good candidates to essentially perfect: $k$-independent for every value of $k$ you could ever wish for, and so on.  We can essentially treat them as uniformly chosen from the set of all functions: as far as we know, no polynomial-time computation can tell that this is not the case.  I suspect many practitioners might be happy to use these cryptographic hash functions, if it led to improved performance or better parameters for the sketches.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does it change anything about the design and analysis of sketches, if we assume we have perfect hash functions like this?  Can we get asymptotically better parameters if we assumed our hash function was perfect?  Or, can we get simpler sketch constructions?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(For instance, I've noticed that the analysis of existing sketches is often somewhat conservative: e.g., it uses the Markov bound or Chebyshev bound.  If we had a perfect hash function we could use a Chernoff-style bound.  Are there any sketches where this makes a significant difference, or is it just a small constant factor in the bound?)&lt;/p&gt;&#xA;" OwnerUserId="5038" LastActivityDate="2014-12-04T11:15:58.183" Title="Sketches, using ideal hash functions" Tags="&lt;ds.algorithms&gt;&lt;hash-function&gt;&lt;online-algorithms&gt;&lt;streaming-algorithms&gt;" AnswerCount="2" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27689" PostTypeId="2" ParentId="27675" CreationDate="2014-12-03T18:58:41.413" Score="2" Body="&lt;p&gt;For (2), any maximal clique $C$ of $G$ has size at most $\Delta+1$ and each vertex $v \in C$ participates in at most $2^{|N(v)|} \leq 2^\Delta$ maximal cliques. So the degree of $C$ in the clique intersection graph is at most $|C| \cdot 2^{|N(v)|} \leq (\Delta + 1) \cdot 2^\Delta$. Thus the clique intersection graph can be $(\Delta + 1) \cdot 2^\Delta+1$ colored. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The bound can be tightened to  $(\Delta + 1) \cdot 3^{\Delta/3}+1$ by using the &lt;a href=&quot;https://cstheory.stackexchange.com/questions/8390/the-number-of-cliques-in-a-graph-the-moon-and-moser-1965-result&quot;&gt;Moon Moser bound&lt;/a&gt; for the number of maximal cliques.&lt;/p&gt;&#xA;" OwnerUserId="27464" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2014-12-03T19:04:56.043" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27690" PostTypeId="2" ParentId="27687" CreationDate="2014-12-03T19:57:03.073" Score="1" Body="&lt;p&gt;The obvious problem is that if you use a cryptographic pseudorandom number generator (PRNG), the correctness of your algorithm is conditional on a complexity conjecture. However, usually this can be avoided, because the full strength of cryptographic pseudorandmness is usually a huge overkill for streaming. If your streaming algorithm uses a small amount of space, then what you need from your PRNG is that its output cannot be distinguished from a stream of random bits by a small space algorithm. Such a PRNG was &lt;a href=&quot;http://www.math.ucsd.edu/~sbuss/CourseWeb/Math268_2013W/Nisan_PRG.pdf&quot; rel=&quot;nofollow&quot;&gt;constructed by Nisan&lt;/a&gt;, and the proof of pseudorandomness is &lt;em&gt;unconditional&lt;/em&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A seminal paper in streaming algorithms that used Nisan's generator is &lt;a href=&quot;http://www.cs.dartmouth.edu/~ac/Teach/CS49-Fall11/Papers/indyk-stable.pdf&quot; rel=&quot;nofollow&quot;&gt;Indyk's work on sketches&lt;/a&gt; of $L_1$. Since the sketch uses Cauchy random variables for which the mean and the variance do not exist, the usual moment calculations do not work, so it is hard to imagine how to use $k$-wise independence. That's why the heavy hammer of Nisan's generator comes handy.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A problem with these heavy hammers is that they come at a cost in space. The seed needs to be stored in memory, and for Nisan's generator the seed length is roughly $S\log R$ where $R$ is the number of random bits and $S$ is the space complexity of the algorithm. So you end up multiplying the space complexity by roughly the logarithm of the stream length $n$. If you can use $k$-wise independence you usually &lt;em&gt;add&lt;/em&gt; a term like $O(k\log n)$ to the space complexity. &lt;/p&gt;&#xA;" OwnerUserId="4896" LastActivityDate="2014-12-03T19:57:03.073" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="27692" PostTypeId="1" AcceptedAnswerId="27694" CreationDate="2014-11-20T20:59:52.460" Score="7" ViewCount="568" Body="&lt;p&gt;Let $G$ be a simple undirected graph. Recall that $S \subseteq V(G)$ is a &lt;em&gt;dominating set&lt;/em&gt; of $G$ if every vertex of $v \in V(G) \setminus S$ has a neighbour in $S.$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is well known that it is NP complete to determine the  minimal dominating set of $G$ and that is usually done via the vertex-cover problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As the title suggests, I would like to reduce dominating set to the max clique problem. One can of course use the standard reductions to do so, but I would like to find a as &quot;small as possible&quot; reduction. That is I would like to be able to reduce a graph $G$ to a graph $\widehat{G}$ that is as small as possible and so that $\gamma(G)$ can be efficiently determined from $\omega(\widehat{G}).$ Here $\gamma$ and $\omega$ are the size of the dominating set and clique number respectively.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can someone suggest such a reduction?&lt;/p&gt;&#xA;" OwnerUserId="2562" OwnerDisplayName="Jernej" LastActivityDate="2014-12-03T22:28:12.733" Title="Minimal polynomial reduction of dominating set to max clique" Tags="&lt;graph-theory&gt;&lt;reductions&gt;&lt;np&gt;&lt;clique&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27694" PostTypeId="2" ParentId="27692" CreationDate="2014-12-03T22:28:12.733" Score="5" Body="&lt;p&gt;There are good reasons to expect that there is no polynomial time reduction that takes as input a graph $G$ and outputs a graph $\hat{G}$ such that $\omega(\hat{G})$ depends &lt;em&gt;only&lt;/em&gt; on $\gamma(G)$. In particular the Clique problem is complete for $W[1]$ while Dominating Set is complete for $W[2]$, see the &lt;a href=&quot;http://en.wikipedia.org/wiki/Parameterized_complexity&quot;&gt;Wikipedia page for Parameterized Complexity&lt;/a&gt;. A reduction from Dominating Set to Clique where the size of the clique only depends on the size of the dominating set would imply that $W[2] = W[1]$, which is considered unlikely. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand it is not too hard to make a reduction where $\omega(\hat{G})$  depends only on $\gamma(G)$ and $|V(G)|$. For every edge $uv \in G$ make two vertices $[u,v]$ and $[v,u]$ in $\hat{G}$. For two vertices $[u_1,v_1]$ and $[u_2,v_2]$ of $\hat{G}$ we put an edge between them if $u_1 \neq u_2$, $u_1 \neq v_2$ and $u_2 \neq v_1$. We claim that $\omega(\hat{G}) = |V(G)| - \gamma(G)$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The intuition is that the vertex $[u,v]$ is interpreted as ``$u$ is dominated by $v$''. Then each vertex of $G$ not in the dominating set should choose exactly one vertex in the dominating set to dominate it. Someone who has chosen to be dominated may then not be a dominator.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider a dominating set $S$ in $G$. We make a set $\hat{S}$ as follows: for each vertex $u \notin S$, pick an arbitrary neighbor $v \in S$ of $u$ and add $[u,v]$ to $\hat{S}$. Clearly $\hat{S}$ is a clique of size $|V(G)| - |S|$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand consider a clique $\hat{S}$ in $\hat{G}$. Let $S$ be the set of vertices $u$ in $V(G)$ such that there does not exist a $v \in V(G)$ such that $[u,v] \in \hat{S}$. Observe now that $|S| \geq |V(G)| - |\hat{S}|$, since each element of $\hat{S}$ rules out at most one vertex of $G$. Consider a vertex $u \notin S$. There must be some vertex $v \in V(G)$ such that $[u,v] \in \hat{S}$. We know that $uv \in E(G)$, it remains to show that $v \in S$. Suppose not, then there must be some $v' \in V(G)$ such that $[v,v'] \in \hat{S}$. But $[u,v]$ and $[v,v']$ are non-adjacent in $\hat{G}$, contradicting that $\hat{S}$ is a clique. So $S$ is a dominating set.&lt;/p&gt;&#xA;" OwnerUserId="27464" LastActivityDate="2014-12-03T22:28:12.733" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27695" PostTypeId="2" ParentId="27172" CreationDate="2014-12-03T22:51:20.150" Score="4" Body="&lt;p&gt;Here I show that the problem is NP-complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We convert a CNF to an instance of your problem as follows.&#xA;Suppose that the variables of the CNF are $n$ $x_i$'s and the clauses are $m$ $C_j$'s, where $n&amp;lt;m$.&#xA;Let $U=\cup_i (A_i\cup B_i\cup Z_i)$ where all sets in the union are completely disjoint.&#xA;In fact, $A_i=\{a_{i,j}\mid x_i\in C_j\}\cup\{a_{i,0}\}$ and $B_i=\{b_{i,j}\mid x_i\in C_j\}\cup\{b_{i,0}\}$, while $Z_i$ is any set of cardinality $k=2n+1$.&#xA;Also denote $Z=\cup_i Z_i$ and fix for every $Z_i$ an increasing family of length $k$ inside it, denoted by $Z_{i,l}$ for $l=1..k$.&#xA;For every variable $x_i$, we add $2k$ sets to $\mathcal F$, every set of the form $A_i \cup Z_{i,l}$ and $B_i \cup Z_{i,l}$.&#xA;For every clause $C_j$, we add one set to $\mathcal F$, which contains $Z$, and for every $x_i\in C_j$ element $\{a_{i,j}\}$ and for every $\bar x_i\in C_j$ element $\{b_{i,j}\}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose that the formula is satisfiable and fix a satisfying assignment.&#xA;Then pick the $k$ sets of the form $A_i \cup Z_{i,l}$ or $B_i \cup Z_{i,l}$, depending on whether $x_i$ is true or not.&#xA;These are $nk$ incremental sets.&#xA;Now add the $m$ sets corresponding to the clauses.&#xA;These also keep increasing the size, as the clauses are satisfiable.&#xA;Finally, we can even add $k$ more sets (one for each variable) to make the sequence cover $U$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now suppose that $n(k+1)+m$ sets are put in an incremental sequence.&#xA;Notice that at most $k+1$ sets corresponding to $x_i$ can be selected for each $x_i$.&#xA;Thus, if there are no clause sets in the incremental sequence, at most $n(k+1)$ can be selected, which is too few.&#xA;Notice that as soon as a clause set is selected, we can pick at most two sets corresponding to each $x_i$, a total of at most $2n$ sets.&#xA;Therefore, we have to pick at least $n(k-1)$ variable sets before any clause set is picked.&#xA;But as we can pick at most $k+1$ for each $x_i$, this means that for each we have picked at least $1$, as $k=2n+1$.&#xA;This determines the &quot;value&quot; of the variable, thus we can pick only &quot;true&quot; clauses.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Update: Changed value of $k$ from $n$ to $2n+1$ as pointed out by Marzio.&lt;/p&gt;&#xA;" OwnerUserId="419" LastEditorUserId="419" LastEditDate="2014-12-05T06:12:32.617" LastActivityDate="2014-12-05T06:12:32.617" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="27696" PostTypeId="1" CreationDate="2014-12-03T23:25:49.483" Score="0" ViewCount="55" Body="&lt;p&gt;I'm reading &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.50.3356&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;nofollow&quot;&gt;Causal Memory:&#xA;Denitions, Implementation and&#xA;Programming&lt;/a&gt; and trying to get through the proof of liveliness of the algorithm around the middle of page 9, and I'm not really following it. There's almost certainly a typo/misprint when they refer to the $(s(q) \mathbin\bot 1)$st write. I assume they meant $(s(q) - 1)$st, but even then I'm not really following the reasoning of the proof.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does anyone have a reference to this proof in the context of a causal multicast that I could look through instead? (or in any other context?)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Alternatively, can someone try to explain the proof. In particular I don't get:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&quot;Let $\hat{w}$ be the $(s(q)\mathbin\bot1)$st write.&quot; Even assuming $s(q) - 1$, what if $s(q)$ is $0$ or $1$?&lt;/li&gt;&#xA;&lt;li&gt;Why does lemma 1 say that $t(\hat{w}) \preceq t(w)$?&lt;/li&gt;&#xA;&lt;li&gt;Even if we assume $t[j] \ge s[j] - 1$ (equivalently $s[j] \le t[j] + 1$), why is this sufficient? Don't we need to show $s[j] \mathbf{=} t[j] + 1$?&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Sorry if this question isn't appropriate/is tagged incorrectly.&lt;/p&gt;&#xA;" OwnerUserId="17584" LastActivityDate="2015-02-17T14:01:53.270" Title="Proof of causal multicast algorithm?" Tags="&lt;dc.distributed-comp&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27698" PostTypeId="1" CreationDate="2014-12-04T07:58:03.053" Score="3" ViewCount="59" Body="&lt;p&gt;In a Multiterminal Cut problem input is a graph G=(V,E) and a set of k terminals T which is a subset of vertex set V. There is a weight w(e) associated with each edge in the graph. The question is to find the minimum weight edge set whose removal will disconnect every terminal to every other terminal in T. The following things are known about the problem:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;k = O(1), Degree of any vertex unbounded, edge weights = O(1)&#xA;APX hard&lt;/li&gt;&#xA;&lt;li&gt;k = O(1), Degree of any vertex = O(1), edge weights unbounded&#xA;APX hard&lt;/li&gt;&#xA;&lt;li&gt;k unbounded, Degree of any vertex = O(1), edge weights = O(1)&#xA;NP hard&lt;/li&gt;&#xA;&lt;li&gt;k = O(1), Degree of any vertex = O(1), edge weights equal&#xA;Poly time.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Is there a result which says that the problem with &quot; k unbounded, Degree of any vertex = O(1), edge weights = O(1)&quot; is also APX-hard? Any ideas on proving this will be useful.&lt;/p&gt;&#xA;" OwnerUserId="29226" LastActivityDate="2014-12-04T07:58:03.053" Title="APx hardness of Multiterminal Cut Problem" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;&lt;approximation-hardness&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27699" PostTypeId="1" CreationDate="2014-12-04T10:15:24.000" Score="5" ViewCount="1094" Body="&lt;p&gt;There does seem to be a lot of information regarding the closure properties of both deterministic context-free and nondeterministic context-sensitive languages.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, the literature is almost mute on the subject of the closure properties of deterministic context-sensitive languages. In fact, I have spend days looking for it on the internet and in the standard reference books about formal languages and theoretical computer science and didn't find anything complete or related enough to bother using and I wasn't able to find results let alone proofs for most properties myself either.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, let $\mathbf{DCSL}$ denote the class of deterministic context-sensitive languages, then given two arbitrary languages $L_1, L_2 \in \mathbf{DCSL}$ and a regular language $L_R$, what are its closure properties under&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;union, $L_1 \cup L_2 \in \mathbf{DCSL}$&lt;/li&gt;&#xA;&lt;li&gt;intersection, $L_1 \cap L_2 \in \mathbf{DCSL}$&lt;/li&gt;&#xA;&lt;li&gt;set difference, $L_1 \setminus L_2 \in \mathbf{DCSL}$ (or $L_1 - L_2 \in \mathbf{DCSL}$ to remove ambiguities with left quotient)&lt;/li&gt;&#xA;&lt;li&gt;complementation, $L_1^c \in \mathbf{DCSL}$&lt;/li&gt;&#xA;&lt;li&gt;concatenation, $L_1 L_2 \in \mathbf{DCSL}$&lt;/li&gt;&#xA;&lt;li&gt;Kleene star, $L_1^* \in \mathbf{DCSL}$&lt;/li&gt;&#xA;&lt;li&gt;intersection with a regular language, $L_1 \cap L_R \in \mathbf{DCSL}$ (bonus)&lt;/li&gt;&#xA;&lt;li&gt;left/right quotient with a regular language, $L_1 / L_R \in \mathbf{DCSL}$ and $L_R \backslash L_1 \in \mathbf{DCSL}$ (bonus)&lt;/li&gt;&#xA;&lt;li&gt;reversal (bonus)&lt;/li&gt;&#xA;&lt;li&gt;homomorphism, maybe $\lambda$-free homomorphism (bonus)&lt;/li&gt;&#xA;&lt;li&gt;inverse homomorphism (bonus)&lt;/li&gt;&#xA;&lt;li&gt;substitution, maybe $\lambda$-free substitution (bonus)&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;These are probably not all interesting closure properties of languages, but for now, I think they are enough.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Posting only results is acceptable, but providing proofs or counterexamples is definitely preferred.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To clarify the notion of deterministic context-free language: a language $L$ is deterministically context-sensitive, if there exist a formal grammar $G$ such that $L_G = L$ and all production rules of $G$ are unambiguous and consist of either growing[1] or strictly growing[2] context-sensitive substitution patterns.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note: There are two slightly different kinds of unambiguous context-sensitive grammar classes and probably two slightly different kinds of deterministic context-sensitive language classes as well (unless they coincide, which I highly doubt since their nondeterministic counterparts don't), namely [1] and [2]. For the questions posed above, both are relevant and may yield different answers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note: AFAIK A (strictly) growing grammar/language is also called a (strictly) monotonic grammar/language by some authors&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;This question moved over from Computer Science beta&lt;/p&gt;&#xA;" OwnerUserId="29227" LastEditorUserId="2367" LastEditDate="2014-12-07T22:30:32.363" LastActivityDate="2014-12-07T22:30:32.363" Title="Closure properties of deterministic context-sensitive languages" Tags="&lt;cc.complexity-theory&gt;&lt;fl.formal-languages&gt;&lt;automata-theory&gt;&lt;space-bounded&gt;" AnswerCount="1" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="27701" PostTypeId="2" ParentId="27687" CreationDate="2014-12-04T11:15:58.183" Score="1" Body="&lt;p&gt;Another reason for not using cryptographic algorithms in practice is speed. In the streaming setting, we typically do not want to spend too long processing each item in the stream. Computing k cryptographic hash functions will be much more expensive than computing k fast non-cryptographic hash functions, e.g. MurmurHash.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In practice, I think most people use Kirsch and Mitzenmacher's result (&lt;a href=&quot;http://www.eecs.harvard.edu/~michaelm/postscripts/rsa2008.pdf&quot; rel=&quot;nofollow&quot;&gt;http://www.eecs.harvard.edu/~michaelm/postscripts/rsa2008.pdf&lt;/a&gt;) to reduce the number of hashes, but I would imagine that computing two SHA3 hashes would still take significantly longer than computing two Murmur hashes.&lt;/p&gt;&#xA;" OwnerUserId="4092" LastActivityDate="2014-12-04T11:15:58.183" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27702" PostTypeId="2" ParentId="27699" CreationDate="2014-12-04T13:31:39.600" Score="4" Body="&lt;h2&gt;Some  results&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;Unless I am very mistaken, some of these questions are not hard. But I did not yet look at all of them.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I assume that a deterministic context-sensitive language (DCSL) is&#xA;defined as one recognized by a deterministic linear bounded automaton&#xA;(DLBA). We note $n$ the size of the input string $w$. We restrict the&#xA;problem, w.l.o.g, to DLBAs that use a tape that has the size of the&#xA;input string, plus the two end markers. We also assume that acceptance&#xA;is by terminating (no transition) accepting state, and rejection is by&#xA;terminating non-accepting state or non-termination.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The constructions below will use multi-track finite tapes. That is&#xA;only a presentation of a single tape that is the cross-product of&#xA;several tapes, i.e. where each cell can contain a tuple of symbols,&#xA;one component of the tuple for each track.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since the tape contain initially just the input string, a first&#xA;deterministic pass of any DLBA we build will consiste in&#xA;transforming the input tape into a multitrack tape, that will have the&#xA;initial string in one or several of its tracks.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;For every DLBA $A$, there is a DLBA $A'$ that always halt and accepts the same language.&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;The problem here is to detect looping computation. That is done with&#xA;the pigeon-hole principle, using the fact that computation is deterministic.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A first point is to note that a DLBA has $O(nk^n)$ configuration,&#xA;where $k$ is the number of tape symbols of the DLBA, the factor $n$ is&#xA;for the head position, and the constant number of states is just a&#xA;constant factor.  Hence, using a constant $h$ large enough (usually&#xA;$k+1$, but it may not be enough for small values of $n$, though that&#xA;is just a finite number of cases), a tape track of size $n$ with an&#xA;alphabet of size $h$ is enough to count beyong the number of&#xA;configurations of $A$ for the given input.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hence we can build a DLBA $A'$ that has three tracks, two to simulate&#xA;the original DLBA $A$, and the other to simulate the counter. The&#xA;roles of the two simulation track are to hold the tape configuration&#xA;for the first, and to memorize the head position and the associated&#xA;state for the second.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The finite control, simulates steps of the automaton $A$ one at a&#xA;time, and  increment the counter by one for each simulated transition.&#xA;If the counter overflow the tape, then the number of steps simulated&#xA;exceeds the number of possible configurations of $A$, which indicates&#xA;that $A$ went at least twice through the same configuration, hence&#xA;that it is looping for ever since computation is deterministic.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In such a case, the DLBA $A'$ stops in a rejecting state.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Otherwise, the DLBA $A'$ accepts or rejects as $A$ would have.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;*So, W.l.o.g., we can now consider only DLBA that always terminate.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Complementation of (the language of) a DLBA $A$&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;Given a terminating DLBA accepting a language $L$, we can construct a&#xA;DLBA accepting its complement $\bar L$ by exchanging accepting and&#xA;non-accepting states.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Thus DCSLs are closed under complementation.&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Intersection, union, and difference of (languages of) two DLBA $A$ and $B$.&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;We assume wlog that both DLBA always terminate. Hence it is easy to&#xA;build a DLBA $C$ with two track, each containing initially a copy of&#xA;the input (after the initialization pass, as indicated above). The&#xA;DLBA $C$ will first simulate $A$ until it terminates, then simulate&#xA;$B$ until it terminates. Then it can examine the terminating states of&#xA;both, and mimic any bolean function on the results, particularly &lt;em&gt;and&lt;/em&gt;&#xA;for intersection and &lt;em&gt;or&lt;/em&gt; for union.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;This gives closure of DCSLs under union, intersection, and set difference&lt;/strong&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Closure of DCSLs under intersection with regular set is just a special case&lt;/strong&gt;, as&#xA;any DFA is a DLBA.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Concatenation of (languages of) two DLBA $A$ and $B$.&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;It is easy to check whether a string $w$ is accepted as the&#xA;concatenation of two strings $u\in\mathcal L(A)$ and $v\in\mathcal&#xA;L(B)$. Knowing where the boundary between $u$ and $v$ is placed, a&#xA;DLBA $C$ can simulate $A$ on $u$, then $B$ on $v$ and decides on&#xA;acceptance iff both simulations accept.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The remaining difficulty is that given a string $w$, we do not know&#xA;how it should be decomposed as $w=uv$ such that $u\in\mathcal L(A)$&#xA;and $v\in\mathcal L(B)$. The solution is to try successively all&#xA;possible decompositions, until one succeeds, which is followed by an&#xA;acceptance. If none succeed, the input string $w$ is rejected.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hence &lt;strong&gt;DCSLs are closed under concatenation.&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Kleene star of (the language of) a DLBA A&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;This problem is nearly the same as concatenation. But instead of&#xA;trying all decompositions of the input string $w$ into two strings, we&#xA;have to try all possible decomposition into the concatenation of an&#xA;arbitrary number of  non-empty substrings. To do this, the simplest&#xA;way is to use a track to keep a clean copy of the input string, a&#xA;track to have a working copy on which we test a decomposition in&#xA;substring, and a third track with a $\{0,1\}$ alphabet that defines&#xA;the decomposition into substrings. To list all the possible&#xA;decompositions, we only have to use the third track as a counter from&#xA;$0$ to $2^{n-1}-1$, incrementing it by one after every unsuccesful&#xA;try, until one succeeds thus accepting the input string, or until the&#xA;counter reaches the value $2^{n-1}$ in which case the input string is&#xA;not accepted.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thus &lt;strong&gt;DCSLs are closed under Kleene star&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note: &lt;strong&gt;Closure of DCSLs under reversal&lt;/strong&gt; is just obvious&lt;/p&gt;&#xA;" OwnerUserId="16132" LastEditorUserId="16132" LastEditDate="2014-12-04T18:39:31.273" LastActivityDate="2014-12-04T18:39:31.273" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27703" PostTypeId="1" CreationDate="2014-12-04T19:23:29.733" Score="2" ViewCount="236" Body="&lt;p&gt;This is just a general question on recent algorithms for the 1D bin packing problem. I just want to collect some information on this issue, so I’m grateful for any information. Especially heuristics solving the problem but also exact algorithms.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I know about the Bin Completion algorithm by Korf and the recent developments in Branch-and-Price algorithms. But is there anything else? As said before, I’m grateful for any information.&lt;/p&gt;&#xA;" OwnerUserId="29233" LastActivityDate="2014-12-04T19:23:29.733" Title="Recent insights on algorithms for 1D bin packing" Tags="&lt;ds.algorithms&gt;&lt;co.combinatorics&gt;&lt;approximation-algorithms&gt;&lt;time-complexity&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="27706" PostTypeId="1" CreationDate="2014-12-04T19:50:31.547" Score="0" ViewCount="208" Body="&lt;p&gt;The &lt;a href=&quot;http://en.wikipedia.org/wiki/Clique-width&quot; rel=&quot;nofollow&quot;&gt;clique-width&lt;/a&gt; of a graph $G$ is the minimum number of labels needed to construct G by means of the following 4 operations.&#xA;The Construction of a graph $G$ using the four operations is represented by an algebraic expression called $k$-$expression$, Where&#xA;$k$ is the number of labels used in expression. &#xA;For example, $K_4$(complete graph with four vertices) can be constructed by&#xA;$$\rho_{2\rightarrow 1}(\eta_{1,2}(\rho_{2\rightarrow 1}(\eta_{1,2}(\rho_{2\rightarrow 1}(\eta_{1,2}(a(1)\oplus b(2)))\oplus c(2))) \oplus d(2))).$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Question--&gt; How many k-expressions for bounded clique width graph?&#xA;Any particular graph classes known for this question?&lt;/p&gt;&#xA;" OwnerUserId="29225" LastEditorUserId="29225" LastEditDate="2014-12-04T19:57:38.783" LastActivityDate="2015-10-09T08:13:38.240" Title="Number of k-expressions of graph (clique Width)" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;treewidth&gt;&lt;cliquewidth&gt;" AnswerCount="2" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27707" PostTypeId="2" ParentId="27574" CreationDate="2014-12-04T22:01:58.600" Score="1" Body="&lt;p&gt;One can enumerate all pairs $G,B$ where $G$ is a planar graph with treewidth at most $k$, $B$ is a bag of size $k$ such that there exist a tree-decomposition of $G$ with $B$ as a bag.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now for every pair $G,B$ where $G$ has $n-1$ vertices we build a new graph $G'$ for every subset $S$ of $B$ by adding a vertex $v$ with $S$ as neighbours and let $B'$ be a size $k$ subset of $B \cup v$. Add $G',B'$ if $G'$ is planar and not isomorphic to any pair already found.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An easy upper bound on how many entries one need to store is $n \choose k$ times the number of enumerated graphs but this is a pessimistic bound.&#xA;For most graphs of treewidth k, most subsets of size k can not b a bag, e.g. a $k \times n$ grid has only $n \cdot 3^{k-1}$ possible bags.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I believe this will perform as well as the algorithm for non planar graphs since for every pair G,B we get a graph by making B a clique, most of these graphs will be non isomorphic.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are several tricks one can apply to speed up this, I would suggest looking into:&#xA;&lt;a href=&quot;http://www.siam.org/meetings/alenex04/abstacts/HBodlaender.pdf&quot; rel=&quot;nofollow&quot;&gt;http://www.siam.org/meetings/alenex04/abstacts/HBodlaender.pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="8936" LastEditorUserId="8936" LastEditDate="2014-12-07T14:24:41.627" LastActivityDate="2014-12-07T14:24:41.627" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="27708" PostTypeId="1" AcceptedAnswerId="27718" CreationDate="2014-12-04T22:05:42.510" Score="11" ViewCount="337" Body="&lt;p&gt;Consider full information two-player combinatorial games that end after a polynomial number of moves, and in an alternating way, the players picks from a finite number of allowed moves.&#xA;The usual question is, how difficult it is to tell from a given position the winner.&#xA;Another would be, how difficult it is to pick a winning move from a winning position.&#xA;(Here I call a move winning, if the position remains winning after playing it.)&#xA;To differentiate, I will call the former POSITION-COMPLEXITY and the latter MOVE-COMPLEXITY.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is easy to see that if the MOVE-COMPLEXITY is in $P$ or $PSPACE$, then so is the POSITION-COMPLEXITY - we can calculate the optimal moves and check who wins at the end.&#xA;(I have not really thought through what happens if the MOVE-COMPLEXITY is in $NP$, probably the POSITION-COMPLEXITY is in something like $P^{NP}$.)&#xA;However, there are dummy examples when the MOVE-COMPLEXITY is trivial and the POSITION-COMPLEXITY is arbitrary hard - like the (not very interesting) game of checking what is the output of an algorithm, with the players making the next steps, being allowed only one move.&#xA;I have digressed a bit, my main question is the following.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there a natural game, where the MOVE-COMPLEXITY of the two players is different?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;For example, the game where the first player picks the values of the variables of a CNF (that might not have a solution), while the second player is trying to solve a SOKO-BAN puzzle (that might not have a solution), is such an example.&lt;/p&gt;&#xA;" OwnerUserId="419" LastActivityDate="2014-12-08T08:42:02.833" Title="Is there a simple game with asymmetric complexity?" Tags="&lt;cc.complexity-theory&gt;&lt;np&gt;&lt;board-games&gt;&lt;pspace&gt;" AnswerCount="3" CommentCount="5" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="27709" PostTypeId="1" CreationDate="2014-12-04T22:50:48.083" Score="2" ViewCount="281" Body="&lt;p&gt;Is anyone aware of the must read papers to get knowledge of the most recent algorithms and method for community detection in graphs, especially those that represent social networks?&lt;/p&gt;&#xA;" OwnerUserId="21673" LastEditorUserId="6785" LastEditDate="2014-12-05T05:53:17.390" LastActivityDate="2014-12-05T05:53:17.390" Title="State of the art algorithms for community detection in graphs" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;big-list&gt;&lt;dc.distributed-comp&gt;&lt;social-sciences&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="27710" PostTypeId="2" ParentId="27708" CreationDate="2014-12-05T00:36:10.073" Score="4" Body="&lt;p&gt;By your constraints, we also have the stronger opposite relation: if POSITION-COMPLEXITY is in a class $C$, then so is MOVE-COMPLEXITY, since it suffices to test the finite number of available moves. (I assumed by &quot;finite&quot; you meant &quot;constant&quot;, if it is arbitrary then the complexity might change).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then it suffices to look at some natural games where POSITION-COMPLEXITY is asymmetric.  We will always need &lt;em&gt;some&lt;/em&gt; asymmetry between the players to create such situations, but hopefully it will be as natural as possible.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In my opinion partial observation games are a good example of this: they are played on finite arena, and one player knows the current vertex at all times while the other only knows in which group the current vertex is (they are arbitrarily grouped together).&#xA;The most classical example of this is parity games, where the number of moves is infinite. There the POSITION-complexity is EXPTIME-complete for the partial player versus linear/quadratic/NP$\cap$coNP for the full player, depending on the complexity of the winning condition. See &lt;a href=&quot;http://www.lsv.ens-cachan.fr/~doyen/papers/The_Complexity_Partial-Observation_Parity_Games.pdf&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt; for a reference on the subject.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think from this we can design a game played in finite time where one player has partial observation, and the other full observation, and the POSITION-complexity as well as MOVE-complexity are very different. Natural try is partitioning vertices in $P_1$ and $P_2$ and setting the winning condition to &quot;play $p(n)$ moves, Player $i$ wins if we end in partition $P_i$&quot;.&lt;/p&gt;&#xA;" OwnerUserId="8953" LastEditorUserId="8953" LastEditDate="2014-12-07T02:04:44.217" LastActivityDate="2014-12-07T02:04:44.217" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27711" PostTypeId="2" ParentId="27172" CreationDate="2014-12-05T02:40:52.977" Score="0" Body="&lt;p&gt;This is a set packing problem under the constraint that for the solution $\mathcal{A}$, for any subset $\mathcal{B} \subseteq \mathcal{A}$, we have that there is always an element in $\bigcup_{X \in \mathcal{B}} X$, which is covered exactly once. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Proof: Given a solution to your problem, it immediately has this property. Indeed, if $E_1, \ldots, E_m$ is the optimal solution to your problem, then consider a subset $\mathcal{B}$ of these sets, and assume $E_i$ is the last set in this sequence appearing in $\mathcal{B}$. By the required property that the solution is incremental, it follows that $E_i$ covers an element that no prior set covers, which implies the above property.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As for the other direction, it also easy. Start from the solution $\mathcal{A}$, find the element that is covered exactly once, set it as the last set in the sequence, remove this set, and repeat. QED.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;This is a pretty natural problem.... &lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Quick reminder: In the set packing problem, given a family of sets, find the maximal subset of sets, that comply with some additional constraint (say, no element is covered more than 10 times, etc).&lt;/p&gt;&#xA;" OwnerUserId="9594" LastEditorUserId="9594" LastEditDate="2014-12-05T02:46:52.903" LastActivityDate="2014-12-05T02:46:52.903" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="27712" PostTypeId="2" ParentId="27709" CreationDate="2014-12-05T03:09:27.070" Score="1" Body="&lt;p&gt;There's a recent paper [1] on dense subgraph (i.e. community) detection in the context of distributed computing. &#xA;In [1], each node of the graph represents an operating entity (i.e. runs an instance of a distributed algorithm) and each node can communicate with its neighboring nodes by sending messages. The graph itself can change (slowly) over time. Note that the connections in social networks evolve over time, so considering a dynamic graph seems like the right model.&#xA;By running a distributed algorithm, each node can locally determine whether it's part of a dense subgraph. You might want to consult the related work section of [1] to get pointers to other references.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] Atish Das Sarma, Ashwin Lall, Danupon Nanongkai, Amitabh Trehan: Dense Subgraphs on Dynamic Networks. DISC 2012: 151-165. Full paper available at &lt;a href=&quot;http://arxiv.org/abs/1208.1454&quot; rel=&quot;nofollow&quot;&gt;http://arxiv.org/abs/1208.1454&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="6785" LastActivityDate="2014-12-05T03:09:27.070" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27714" PostTypeId="1" CreationDate="2014-12-05T05:54:35.690" Score="12" ViewCount="1229" Body="&lt;p&gt;Let $f$ be a boolean function with sensitivity $s(f)$ and block sensitivity $bs(f)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The Sensitivity-Block sensitivity conjecture conjecture states that there is a $c&amp;gt;0$ such that $\forall f,\mbox{ }bs(f)\leq s(f)^c$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What are the implications of the truth and falsehood of this conjecture?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Please quote references as well.&lt;/p&gt;&#xA;" OwnerUserId="1812" LastActivityDate="2014-12-21T07:54:55.543" Title="Sensitivity-Block sensitivity conjecture - Implications" Tags="&lt;cc.complexity-theory&gt;&lt;big-picture&gt;&lt;boolean-functions&gt;&lt;survey&gt;" AnswerCount="2" CommentCount="4" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="27715" PostTypeId="1" AcceptedAnswerId="27722" CreationDate="2014-12-05T05:58:25.633" Score="3" ViewCount="115" Body="&lt;p&gt;What are some ways to prove that a certain problem cannot be solved using Network Flow (NF)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One way is to prove the problem is NP-hard.&#xA;But NF has substantial structure -- is there some symmetry or invariant that all solutions must satisfy in order to be solvable with NF?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm interested in any necessary or sufficient conditions that a problem should satisfy in order to be solvable using NF.&lt;/p&gt;&#xA;" OwnerUserId="29239" LastActivityDate="2014-12-05T21:55:13.943" Title="Characterizing the set of problems solvable via network flow" Tags="&lt;max-flow-min-cut&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="27716" PostTypeId="2" ParentId="27614" CreationDate="2014-12-05T06:48:37.523" Score="5" Body="&lt;p&gt;(a) Addition and multiplication are both in $L$:&#xA;&lt;a href=&quot;http://people.clarkson.edu/~alexis/PCMI/Notes/lectureB02.pdf&quot;&gt;http://people.clarkson.edu/~alexis/PCMI/Notes/lectureB02.pdf&lt;/a&gt; $-$&#xA;so counting in $L$ should be possible.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Yes, I know that addition, multiplication and counting compute functions, but it's easy to convert them to decision versions of their respective problems.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(b) Since $L \subseteq NL$, and 2-CNF is complete for $NL$ under $AC^0$ reductions, the counting algorithm (the TM) can be reduced to a 2-CNF expression similarly (under $AC^0$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(c) So &lt;strong&gt;for counting&lt;/strong&gt;, even though you may be unable to obtain an equivalent expression in 2-CNF, using the method outlined in (b), you can obtain an &lt;em&gt;equisatisfiable&lt;/em&gt; 2-CNF expression.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So yes, 2-SAT &lt;em&gt;can&lt;/em&gt; count.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Were you hoping to show that Matching cannot be in $NL$ by showing that $|M|$ cannot be counted in $NL$? I don't think that's going to work.&lt;/p&gt;&#xA;" OwnerUserId="28655" LastEditorUserId="28655" LastEditDate="2014-12-05T11:49:36.143" LastActivityDate="2014-12-05T11:49:36.143" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="27717" PostTypeId="2" ParentId="20965" CreationDate="2014-12-05T13:38:11.000" Score="5" Body="&lt;p&gt;After a while I found an answer in the literature, so I'm posting it here in case it is useful to someone else.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is in fact possible to re-balance clique-width expressions so that they have logarithmic depth. The result is given in the paper &quot;Graph operations characterizing rank-width and balanced graph expressions&quot; by Courcelle and Kanté, WG '08. I quote Theorem 4.4 from the paper:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&quot;Every graph of clique-width or NLC-width $k$ is the value of a 3-balanced&#xA;clique-width expression of clique-width or NLC-width at most $k \times 2^{k+1}$&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The catch here is that the number of labels blows up exponentially in the balancing. It seems that for clique-width no better result is currently known. The same paper gives a similar result with only a constant blow-up for rankwidth, but this doesn't help, since the difference between clique-width and rankwidth can be exponential in the worst case.&lt;/p&gt;&#xA;" OwnerUserId="3168" LastActivityDate="2014-12-05T13:38:11.000" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27718" PostTypeId="2" ParentId="27708" CreationDate="2014-12-05T18:06:26.583" Score="7" Body="&lt;p&gt;Perhaps a fairly natural game is the following:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Player 1 is placed in the middle of a maze and must reach the exit in order to win.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Player 2 is in the same maze and must collect a set of &quot;components&quot; to build  a radio controller that lets him close the exit (and win).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Deciding the next move from a winning position is easy for Player 1: just follow the shortest path from his current position and the exit; but can be very hard for Player 2.&lt;br&gt;&#xA;Indeed if the (remaining) components of the radio controller are on the vertices of a grid graph of $n$ nodes (suppose that Player 2 is himself on an adjacent vertex) and the distance between Player 1 and the exit is exactly $n$, then he must find an Hamiltonian path in order to move.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To make the game more &quot;interactive&quot;, we can also add some extra actions to Player 2 that can only cause a polynomial slowdown in the calculation of the next move for Player 1; for example allowing him to block a fixed numbers of corridors of the maze.&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2014-12-05T18:11:26.923" LastActivityDate="2014-12-05T18:11:26.923" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27719" PostTypeId="1" AcceptedAnswerId="27798" CreationDate="2014-12-01T01:00:00.190" Score="17" ViewCount="338" Body="&lt;p&gt;Consider this problem: Given a list of finite sets, find an ordering $s_1, s_2, s_3, \ldots$ that minimizes $|s_1| + |s_1 \cup s_2| + |s_1 \cup s_2 \cup s_3| + \ldots$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there known algorithms for this? What is its complexity? I haven't been able to think of an efficient optimal algorithm yet, but it's not obviously in NP-Hard either.&lt;/p&gt;&#xA;" OwnerUserId="10448" OwnerDisplayName="Antimony" LastEditorUserId="634" LastEditDate="2014-12-05T21:33:12.050" LastActivityDate="2014-12-30T06:44:45.967" Title="Minimal cumulative set sum" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;optimization&gt;" AnswerCount="2" CommentCount="6" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="27720" PostTypeId="2" ParentId="27714" CreationDate="2014-12-05T21:18:32.363" Score="13" Body="&lt;p&gt;Here is what &lt;a href=&quot;http://www.scottaaronson.com/blog/?p=453&quot;&gt;Scott Aaronson&lt;/a&gt; has to say on the subject:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What makes this interesting is that block-sensitivity is known to be polynomially related to a huge number of other interesting complexity measures: the decision-tree complexity of $f$, the certificate complexity of $f$, the randomized query complexity of $f$, the quantum query complexity of $f$, the degree of $f$ as a real polynomial, you name it.  So if, as is conjectured, sensitivity and block-sensitivity are polynomially related, then sensitivity—arguably the most basic of all Boolean function complexity measures—ceases to be an outlier and joins a large and happy flock.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Checking other relevant literature doesn't offer any other compelling implications:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://link.springer.com/article/10.1007%2FBF01263419&quot;&gt;Nisan and Szegedy&lt;/a&gt; describe the question but offer no motivation at all.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://traell.cs.uchicago.edu/files/tr_authentic/TR-2001-22.ps&quot;&gt;Kenyon and Kutin&lt;/a&gt; mention that is is a &quot;natural open question&quot;.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/0097316592900608&quot;&gt;Gotsman and Linial&lt;/a&gt; give a somewhat contrived equivalent problem (Conjecture 5.33 on page 18 of the following paper).&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://theoryofcomputing.org/articles/gs004/gs004.pdf&quot;&gt;P. Hatami, Kulkarni and Pankratov&lt;/a&gt;, in their comprehensive survey on the problem, also offer no motivation, but they have several equivalent formulations. For example, the sensitivity conjecture is equivalent to the conjecture that the parity decision complexity of a function is polynomially bounded by the sensitivity. Conjecture 5.31 on page 17, due to Shi, is one reformulation that doesn't mention sensitivity at all.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://eccc.hpi-web.de/report/2014/152/&quot;&gt;Ambainis, Bavarian, Gao, Mao, Sun and Zao&lt;/a&gt; state that the conjecture &quot;originates from the theory of complexity measures of Boolean functions and&#xA;decision tree complexity&quot;, and generally offer the same type of motivation as Scott Aaronson does. Their recent preprint is the last word on the conjecture (as of December 2014).&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="40" LastActivityDate="2014-12-05T21:18:32.363" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27721" PostTypeId="2" ParentId="4227" CreationDate="2014-12-05T21:30:20.437" Score="3" Body="&lt;p&gt;This thread is old and OP's question has been answered but I'd like to add another algorithm to find all such pairs in linear time. Nobody mentioned &lt;em&gt;Partition Refinement&lt;/em&gt;!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This algorithm finds the equivalence classes of false twins. The algorithm relies on an efficient procedure that refines a partition. Given a set &lt;code&gt;S&lt;/code&gt; and a partition &lt;code&gt;P = {X1, ..., Xn}&lt;/code&gt;. &lt;code&gt;refine(P, S) = {X1 ^ S, X1 - S, X2 ^ S, X2 - S, ..., Xn ^ S, Xn - S}&lt;/code&gt;. &lt;code&gt;^&lt;/code&gt; denotes set intersection and &lt;code&gt;-&lt;/code&gt; set difference. A partition is stable if it cannot be further refined. This procedure takes time O(|S|) (see Wikipedia's article on partition refinement), so it's fast.&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;Algorithm:&#xA;&#xA;P = {V} // initial partition consists of the vertex set&#xA;for every vertex v:&#xA;    P = refine(P, N(v)) // refine with the open neighborhood of v&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Total time is O(|V|+|E|). This is simple to program as well.&lt;/p&gt;&#xA;" OwnerUserId="10371" LastActivityDate="2014-12-05T21:30:20.437" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27722" PostTypeId="2" ParentId="27715" CreationDate="2014-12-05T21:55:13.943" Score="7" Body="&lt;p&gt;It depends on how you define &quot;solvable via network flows&quot;. If you allow the preprocessing step to take arbitrarily long, then anything is solvable using network flows by simply solving it an then outputting a trivial network flow that has the desired answer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Under log-space reductions, network flow is $P$-complete so any problem in $P$ can be solved &quot;efficiently&quot; using a network flow.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another interesting aspect of flows is that if you start with integer capacities, then the solution will be integer as well. Network Flows (when viewed as Linear Programs) are actually part of a larger class of problems called &lt;a href=&quot;http://en.wikipedia.org/wiki/Unimodular_matrix#Total_unimodularity&quot;&gt;totally unimodular&lt;/a&gt;. The optimal solutions to these programs are always integer.&lt;/p&gt;&#xA;" OwnerUserId="28912" LastActivityDate="2014-12-05T21:55:13.943" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27723" PostTypeId="1" CreationDate="2014-12-06T00:22:33.810" Score="8" ViewCount="796" Body="&lt;p&gt;I have been working on an independant project focusing on cellular automata and was wondering if this might be something that I could continue on in graduate school somewhere. I've seen some mathematics departments with symbolic dynamics as well as a few CS departments with researchers interested in CA. The list is small though. If anyone knows which departments to look at and/or any specific faculty/programs to look at then I would greatly appreciate it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, my project is sort of taking on a &quot;mathematical&quot; flavor and I was wondering if it would be better to look into mathematics over computer science departments, or is it generally pretty easy to do this type of thing in either.&lt;/p&gt;&#xA;" OwnerUserId="29248" LastActivityDate="2015-01-18T18:24:15.907" Title="Are there any schools with researchers interested in cellular automata?" Tags="&lt;soft-question&gt;&lt;cellular-automata&gt;" AnswerCount="5" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27724" PostTypeId="1" CreationDate="2014-12-06T00:35:08.760" Score="1" ViewCount="364" Body="&lt;p&gt;I am interested in problems typically tackled in theoretical computer science departments as well as seperate problems found in mathematics departments. Both would be more proof based. Is it easy to move from one to the other?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Example: Say I would like to work on proofs under the theory of computation (on the CS side) as well as geometric and topological proofs coming from problems in particle theory (maybe more on the mathematical physics side). Should I be in TCS or a math department, or would I be free enough to move around? Might I have more room to move in a mathematics department versus a TCS department?&lt;/p&gt;&#xA;" OwnerUserId="29248" LastActivityDate="2014-12-06T19:52:33.243" Title="How difficult is it to work on mathematics problems as a computer science graduate student?" Tags="&lt;soft-question&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27725" PostTypeId="2" ParentId="27724" CreationDate="2014-12-06T09:02:51.873" Score="3" Body="&lt;p&gt;It's very common to move from maths to CS: for example, in my office of four people in CS, one is doing a PhD in CS after doing an undergraduate maths degree and another is a postdoc who just finished a PhD in maths. Moving from CS to maths seems much less common.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;When you say &quot;graduate student&quot; it's unclear whether you mean master's or PhD. It sounds like you're interested in lots of areas of mathematics (you've mentioned geometry, topology, quantum mechanics and string theory in this and your other question), which doesn't seem focused enough for a PhD: for that, you need to pick one, fairly narrow area.  From what little I know about you, it seems that a master's in maths would be more appropriate, perhaps followed by a PhD in either maths or computer science if you find a particular subject whose computational aspects interest you.&lt;/p&gt;&#xA;" OwnerUserId="17082" LastEditorUserId="969" LastEditDate="2014-12-06T19:52:33.243" LastActivityDate="2014-12-06T19:52:33.243" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="27731" PostTypeId="2" ParentId="8391" CreationDate="2014-12-07T07:30:17.260" Score="2" Body="&lt;p&gt;There is an elegant and rather efficient zero-knowledge protocol for these kinds of NP statements given in this paper:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Marek Jawurek, Florian Kerschbaum, Claudio Orlandi: &lt;a href=&quot;http://eprint.iacr.org/2013/073&quot; rel=&quot;nofollow&quot;&gt;Zero-Knowledge Using Garbled Circuits: How To Prove Non-Algebraic Statements Efficiently&lt;/a&gt; (CCS 2013)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;In fact, SHA-256 preimage is the example they list in the abstract. Maybe this old question inspired their paper? ;)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The protocol is based on garbled circuits. There is also some more recent relevant followup work optimizing the garbled circuit constructions that can be used in this protocol:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Tore Kasper Frederiksen, Jesper Buus Nielsen, Claudio Orlandi: &lt;a href=&quot;http://eprint.iacr.org/2014/598&quot; rel=&quot;nofollow&quot;&gt;Privacy-Free Garbled Circuits with Applications To Efficient Zero-Knowledge&lt;/a&gt; (manuscript)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Samee Zahur, Mike Rosulek, David Evans: &lt;a href=&quot;http://eprint.iacr.org/2014/756&quot; rel=&quot;nofollow&quot;&gt;Two Halves Make a Whole: Reducing Data Transfer in Garbled Circuits using Half Gates&lt;/a&gt; (manuscript). Disclaimer: self promotion alert!&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Using the privacy-free garbling scheme in our latest paper, a zero-knowledge proof for one round of SHA-256 involves sending 1.5MB of garbled circuit data (with 128-bit secure garbling) plus a small number of oblivious transfers. I don't think the numbers I have for SHA-256 reflect a circuit that has been optimized for garbling, though.&lt;/p&gt;&#xA;" OwnerUserId="149" LastEditorUserId="149" LastEditDate="2014-12-07T07:43:26.593" LastActivityDate="2014-12-07T07:43:26.593" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27732" PostTypeId="1" AcceptedAnswerId="27733" CreationDate="2014-12-07T11:47:05.000" Score="3" ViewCount="163" Body="&lt;p&gt;Is there a place to locate the reference&#xA;&quot;[Smi88] D. V. Smirnov, ``Shannon's Information Methods for Lower Bounds for Probabilistic Communication Complexity,'' Master's thesis, Moscow University, 1988&quot;&#xA;mentioned in this paper &lt;a href=&quot;http://cs.au.dk/~bromille/Papers/asym.pdf&quot; rel=&quot;nofollow&quot;&gt;http://cs.au.dk/~bromille/Papers/asym.pdf&lt;/a&gt;? &lt;/p&gt;&#xA;" OwnerUserId="1812" LastActivityDate="2014-12-09T12:11:52.563" Title="Reference for unpublished but quoted manuscript" Tags="&lt;reference-request&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27733" PostTypeId="2" ParentId="27732" CreationDate="2014-12-07T13:11:58.963" Score="4" Body="&lt;p&gt;I assume you've looked online, though I'd be amazed if a 1980s master's thesis was online.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Ask one of the authors: they should have read the thesis before citing it, which suggests that at least one of them has access to a copy or, at least, had access at the time they wrote the paper. If that fails, try asking your university library.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, although the citation doesn't mention it, be prepared for the thesis to be in Russian.&lt;/p&gt;&#xA;" OwnerUserId="17082" LastEditorUserId="17082" LastEditDate="2014-12-09T12:11:52.563" LastActivityDate="2014-12-09T12:11:52.563" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="27734" PostTypeId="1" CreationDate="2014-12-07T13:21:33.080" Score="5" ViewCount="155" Body="&lt;p&gt;The breakthrough theory of iterative compression introduced by Reed, Smith and Vetta [1] can give positive answers to a number of open problems of parameterized complexity of several important NP-hard minimization problems, such as Vertex Bipartization Problem, Undirected Feedback Vertex Set, Directed Feedback Vertex Set, Almost 2-SAT, etc. Iterative compression can solve the Vertex Bipartization in $O(3^k|V||E|)$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Iterative rounding is a very successful research in approximation algorithms[2], which lead to an approximation algorithm for the Steiner Tree Problem with the best theoretical approximation guarantee[3]. A recent DIMACS challenge on Steiner Tree Problem workshop has a good experimental result of implementation of Iterative rounding[4].&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My Question: Can Iterative Compression lead minimization NP-hard problem to both in low complexity and good approximation?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] Reed, B., Smith, K., Vetta, A.: Finding odd cycle transversals. Oper. Res.&#xA;Lett. 32(4), 299–301 (2004)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] Lap Chi Lau, Ramamoorthi Ravi, and Mohit Singh. Iterative methods in combinatorial optimization. Cambridge University Press, 2011.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[3] Jaros law Byrka, Fabrizio Grandoni, Thomas Rothvoss, and Laura Sanita. Steiner&#xA;tree approximation via iterative randomized rounding. J. ACM, 60(1):6:1{6:33,&#xA;February 2013.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[4] Ciebiera, Krzysztof, et al. &quot;Approximation Algorithms for Steiner Tree Problems Based on Universal Solution Frameworks.&quot; arXiv preprint arXiv:1410.7534 (2014). &lt;a href=&quot;http://dimacs11.cs.princeton.edu/workshop.html&quot;&gt;http://dimacs11.cs.princeton.edu/workshop.html&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerDisplayName="user17918" LastActivityDate="2014-12-07T13:21:33.080" Title="Can Iterative Compression lead minimization NP-hard problem to both in low complexity and good approximation?" Tags="&lt;cc.complexity-theory&gt;" AnswerCount="0" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27735" PostTypeId="2" ParentId="27574" CreationDate="2014-12-07T14:35:33.313" Score="2" Body="&lt;p&gt;There is a &lt;a href=&quot;http://cs.anu.edu.au/~bdm/plantri/&quot; rel=&quot;nofollow&quot;&gt;nice software&lt;/a&gt; which generates small planar graphs with respect to isomorphism which might help. As I see one of the problem was to generate non-isomorphic planar graphs and most of those planar graphs (on less than 15 vertices) are of small treewidth.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For checking whether their treewidth is smaller than given value $k$, one way is to use heuristic algorithms to speed up this calculation, just in the case that exact algorithms are not practical. e.g in a planar graph $G$ first we can find a diameter of $G$ and the corresponding path $P$ of length $d$ (which is a diameter). Then find a vertex $v\in P$ which has shortest longest distance ($l$) to any other vertex $u\in G\setminus P$ among all vertices $w\in P$. The treewidth of $G$ is at most $d+l$, if this is smaller than $k$ then we are done otherwise either apply some other heuristic algorithms or run the exact algorithm. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For less than 3-connected graphs it's also possible to apply heuristics by finding cut vertices and then fixing those vertices and finding the tree width of a remaining graph. But as the number of nodes is small ($15$) if the graph is $4$-connected then the diameter is not big and I think the first heuristic should work there. (I don't know if there is any 5 connected planar graph on at most 15 vertices, but as we know there is no $t$-connected planar graph for $t&amp;gt;5$)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As the size of largest obstruction for tree width $k$  is not known we cannot simply guess the upperbound value of treewidth of a given graph $G$. But it seems that at least for planar graphs it should not be so big (one should give a proof for this). &lt;/p&gt;&#xA;" OwnerUserId="1846" LastActivityDate="2014-12-07T14:35:33.313" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27738" PostTypeId="2" ParentId="27682" CreationDate="2014-12-07T21:48:05.610" Score="3" Body="&lt;p&gt;You are looking for the shortest straight-line program to compute a set of formulas involving xor.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is NP-hard. There are papers on how to efficiently solve this problem with  SAT solver. For example, Fuhs and Schneider-Kamp had this recent paper on &lt;a href=&quot;http://www0.cs.ucl.ac.uk/staff/C.Fuhs/papers/SAT10-slp.pdf&quot; rel=&quot;nofollow&quot;&gt;Synthesizing Shortest Linear Straight-Line&#xA;Programs over GF(2) using SAT&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is a proof that this problem is MAXSNP-hard by Boyar, Matthews and Peralta, see &lt;a href=&quot;http://link.springer.com/article/10.1007%2Fs00145-012-9124-7&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="314" LastEditorUserId="314" LastEditDate="2014-12-07T22:57:31.710" LastActivityDate="2014-12-07T22:57:31.710" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="27739" PostTypeId="1" CreationDate="2014-12-07T22:16:02.540" Score="4" ViewCount="255" Body="&lt;p&gt;Suppose that $X$ and $Y$ are two random variables that are defined on the same support. Furthermore, suppose that $H(X | Y) = \log n$ for some $n$. I am now interested in how much the term $H(X | Y, X \neq Y)$ may differ from $H(X | Y)$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose that $X|Y=y$ is uniformly distributed (for every y). Intuitively, as $H(X | Y) = \log n$, for a typical element $y$ in the support of $X$ and $Y$, we also have $H(X | Y=y) = \log n$. Thinking about a uniform distribution, X takes on at least n different values, and, therefore, we should expect $H(X | Y, X \neq Y) \ge \log(n-1)$ as the conditioning on $X \neq Y$ eliminates only a single potential element.    &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can such a result be obtained in full generality? &lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Thanks very much for your answers. I am new to stackexchange so I don't know yet where and how to respond to suggested answers. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The fact that you can bound $H(X|Y) - H(X|Y, X \neq Y) \le \log(\frac{n}{n-1})$ is very interesting, as you can compute:&#xA;$\log(\frac{n}{n-1}) = \log( \frac{1}{1-\frac{1}{n}} ) = - \log(1-\frac{1}{n}) = -\Theta(\log(e^{-\frac{1}{n}})) = \Theta(\frac{1}{n})$. This result matches the intuition very well as if the entropy $H(X|Y) = \log(n)$ then knowing that $H(X|Y, X \neq Y)$ essentially eliminates only one possible choice for $X$. This is somehow quantified by the $\Theta(\frac{1}{n})$.&lt;/p&gt;&#xA;" OwnerUserId="29266" LastEditorUserId="29266" LastEditDate="2014-12-10T21:16:24.113" LastActivityDate="2014-12-10T21:16:24.113" Title="Conditional entropy: $H(X | Y)$ large implies $H(X | Y, X \neq Y)$ large?" Tags="&lt;it.information-theory&gt;&lt;shannon-entropy&gt;" AnswerCount="2" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="27741" PostTypeId="2" ParentId="27739" CreationDate="2014-12-08T07:02:57.923" Score="2" Body="&lt;p&gt;This might be a partial answer to your question:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $X$ and $Y$ be random variables with the same range. Let $Z$ be the indicator of the event $X \ne Y$. By the &lt;a href=&quot;http://en.wikipedia.org/wiki/Conditional_entropy#Chain_rule&quot; rel=&quot;nofollow&quot;&gt;chain rule&lt;/a&gt;,&#xA;$$H(X|Y,Z) = H(X,Z|Y)-H(Z|Y).$$&#xA;Since $Z$ is determined by $X$ and $Y$, we have $H(X,Z|Y)=H(X|Y)$. Now, by the definition of conditional entropy, $$H(X|Y,Z) = \underset{z \leftarrow Z}{\mathbb{E}}[H(X|Y,Z=z)] = \mathbb{P}[X \ne Y] \cdot H(X|Y, X \ne Y) + \mathbb{P}[X = Y] \cdot H(X|Y, X = Y).$$ Clearly $H(X|Y, X = Y)=0$. Combining the above gives $$\mathbb{P}[X \ne Y] \cdot H(X|Y, X \ne Y) = H(X|Y) - H(Z|Y).$$&#xA;Now we have an equation linking the quantities we want. We have $$0 \leq H(Z|Y) \leq H(Z) = H_2(p) \leq 1,$$ where $p = \mathbb{P}[X \ne Y]$. In particular, $$p \cdot H(X|Y,X \ne Y) \leq H(X|Y) \leq p \cdot H(X|Y,X \ne Y) + H_2(p).$$&lt;/p&gt;&#xA;" OwnerUserId="2022" LastActivityDate="2014-12-08T07:02:57.923" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27743" PostTypeId="2" ParentId="27723" CreationDate="2014-12-08T08:18:26.177" Score="6" Body="&lt;p&gt;The AUTOMATA workshop series focuses on cellular automata:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.eng.u-hyogo.ac.jp/eecs/eecs12/automata2014/&quot;&gt;http://www.eng.u-hyogo.ac.jp/eecs/eecs12/automata2014/&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="1993" LastActivityDate="2014-12-08T08:18:26.177" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27744" PostTypeId="2" ParentId="27708" CreationDate="2014-12-08T08:42:02.833" Score="2" Body="&lt;p&gt;In fact, in the so-called Picker-Chooser or Chooser-Picker games it is easy to construct examples for which one player's best strategy is a simple pairing strategy, while the other has to solve a 3-SAT on any CNF specified before, that is an NP-complete problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Say, a Picker-Chooser games is an asymmetric game on an hypergraph H=(V, E): Picker picks two unselected elements of V, then Chooser takes one of these, and returns the other to Picker. Chooser wins iff he gets all elements of an A from E. &#xA;Now given a CNF formula F from 3-SAT, V is the set of literals, and E realizes some&#xA;gadget. All in all, Picker must always offer x_i and x_i negate in all steps (otherwise&#xA;loses immediately), while Chooser selection is an arbitrary 0-1 input for any x_i, and he wins by satisfying F. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;See the details in:&#xA;A. Csernenszky, R. Martin and A. Pluhár, On the Complexity of Chooser-Picker Positional Games. Integers 11 (2011).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;or at: &lt;a href=&quot;http://www.inf.u-szeged.hu/~pluhar/complexity_2011.pdf&quot; rel=&quot;nofollow&quot;&gt;http://www.inf.u-szeged.hu/~pluhar/complexity_2011.pdf&lt;/a&gt;   &lt;/p&gt;&#xA;" OwnerUserId="29272" LastActivityDate="2014-12-08T08:42:02.833" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27745" PostTypeId="5" CreationDate="2014-12-08T08:46:26.557" Score="0" Body="&lt;p&gt;Questions related to books on computer science, including recommendations and studies from books.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;When asking or answering questions with references to books, remember to link to the site of the book if available on the web, or some identification data like its ISBN or DOI link.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For more guidelines on how to ask &lt;a href=&quot;/questions/tagged/book&quot; class=&quot;post-tag&quot; title=&quot;show questions tagged 'book'&quot; rel=&quot;tag&quot;&gt;book&lt;/a&gt; questions, visit the following Meta threads:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://meta.cstheory.stackexchange.com/q/98/27341&quot;&gt;How should we hyperlink books?&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://meta.cstheory.stackexchange.com/q/2756/27341&quot;&gt;Are question asking for resource recommendation on-topic?&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://meta.cstheory.stackexchange.com/q/1623/27341&quot;&gt;How can I find reviewers for a (complexity theory) book I help editing?&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://meta.cstheory.stackexchange.com/q/886/27341&quot;&gt;Site&amp;#39;s policy regarding links to unauthorised copies of books&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="27341" LastEditorUserId="27341" LastEditDate="2014-12-16T20:55:06.480" LastActivityDate="2014-12-16T20:55:06.480" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27746" PostTypeId="4" CreationDate="2014-12-08T08:46:26.557" Score="0" Body="" OwnerUserId="-1" LastEditorUserId="-1" LastEditDate="2014-12-08T08:46:26.557" LastActivityDate="2014-12-08T08:46:26.557" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27747" PostTypeId="2" ParentId="27723" CreationDate="2014-12-08T09:42:13.853" Score="6" Body="&lt;p&gt;The main teams I know that study cellular automata are in the following laboratories (non-exhaustive list, probably biased towards french labs):&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.liafa.univ-paris-diderot.fr/&quot;&gt;LIAFA&lt;/a&gt; in Paris, France&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://iecl.univ-lorraine.fr/&quot;&gt;Université de Lorraine&lt;/a&gt; in Nancy, France&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.lacl.fr/fr/lcp&quot;&gt;LACL&lt;/a&gt; in Créteil, France&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.utu.fi/en/units/sci/units/math/Pages/home.aspx&quot;&gt;University of Turku&lt;/a&gt;, Finland&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="8953" LastActivityDate="2014-12-08T09:42:13.853" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27748" PostTypeId="1" CreationDate="2014-12-08T09:49:36.353" Score="16" ViewCount="862" Body="&lt;p&gt;I'm looking for a one-pass algorithm which computes parity of a permutation. I assume that an input permutation is given by stream $\pi[1], \pi[2], \cdots, \pi[n]$. The output should be the parity of the permutation. The question I'm interested in how much memory a deterministic algorithm should use. Is there any randomized algorithm for the problem?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I know that computing number of inversions in one pass uses $\Theta(n)$ memory. The upper bound can be easily obtained with any BST. The lower bound is presented here: &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/versions?doi=10.1.1.112.5622&quot;&gt;http://citeseerx.ist.psu.edu/viewdoc/versions?doi=10.1.1.112.5622&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Alas, the proof of the lower bound in the paper can not be extended to the parity case (or it's not so obvious to me).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also I know that computing parity in a little space with random access to a permutation can be done in $O(n \log n)$ time and $O(\log^2 n)$ memory by deterministic algorithm or in $O(n \log n)$ time and $O(\log n)$ memory by randomized one. See &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.29.2256&quot;&gt;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.29.2256&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The main idea is that the parity of a permutation can be computed by formula $sgn(\pi) = (-1)^{n - c}$, where $c$ is the number of cycles and $n$ is the size. The authors make the cycle decomposition of a permutation. So one can easily compute the number of cycles.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does anybody know an effective algorithm or lower bound on memory for computing parity in the streaming model? Randomized algorithms better than random coin are interesting to me too. &lt;/p&gt;&#xA;" OwnerUserId="19579" LastEditorUserId="19579" LastEditDate="2014-12-08T10:26:46.533" LastActivityDate="2014-12-22T15:14:37.300" Title="Computing parity of a permutation in a streaming-fashion way" Tags="&lt;ds.algorithms&gt;&lt;permutations&gt;&lt;streaming-algorithms&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="27749" PostTypeId="2" ParentId="21386" CreationDate="2014-12-08T10:20:35.063" Score="7" Body="&lt;p&gt;The proof (due to Miller and Preparata, 1975) that any symmetric function can be computed by circuits over {AND,OR,NOT} in logarithmic depth can be found, e.g., in &lt;a href=&quot;http://eccc.hpi-web.de/resources/pdf/cobf.pdf&quot; rel=&quot;noreferrer&quot;&gt;Complexity of Boolean Functions&lt;/a&gt; by Ingo Wegener (Theorem 4.1, page 76). The corresponding circuit has linear size. And since the depth is logarithmic it can be turned to a formula of polynomial size. The proof is elementary and gives an explicit construction. Basically, it shows how to compute the binary representation of the sum of $n$ input bits in logarithmic depth (having this sum it is straightforward to compute majority).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An alternative proof is given by Brodal and Husfeldt: &lt;a href=&quot;http://www.brics.dk/RS/96/1/BRICS-RS-96-1.pdf&quot; rel=&quot;noreferrer&quot;&gt;A Communication Complexity Proof&#xA;that Symmetric Functions have Logarithmic Depth&lt;/a&gt;. Again, the proof is elementary and provides an explicit construction.&lt;/p&gt;&#xA;" OwnerUserId="1650" LastEditorUserId="1650" LastEditDate="2014-12-08T10:29:52.643" LastActivityDate="2014-12-08T10:29:52.643" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27754" PostTypeId="2" ParentId="27739" CreationDate="2014-12-08T17:35:50.547" Score="2" Body="&lt;p&gt;For convenience let $H(X|Y) = \log(n)$, then&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$ -\infty ~~\leq~~ H(X|Y) - H(X|Y,X\neq Y) ~~\leq~~ \log\left(\frac{n}{n-1}\right)  $$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;and both sides have tight examples (i.e. as $p\to 0$ it can be arbitrarily negative, and your example matches the upper bound). More specifically, if $p = \Pr[X \neq Y]$, then:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$ H(X|Y) - H(X|Y,X\neq Y) ~~ \geq ~~ -\frac{(1-p)H(X|Y)}{p} $$&#xA;and&#xA;  $$ H(X|Y) - H(X|Y,X\neq Y) ~~\leq~~ \log\frac{1}{p} + \frac{1-p}{p}\left[\log\frac{1}{1-p} ~-~ H(X|Y)\right] $$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;and we have tight examples for the second, and arbitrarily close to tight examples for the first, for every $p,H(X|Y)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There will be two steps to the proof: (1) prove an upper bound and matching examples for $H(X|Y,Z)$ where $Z$ is an indicator; (2) convert these to your quantity of interest $H(X|Y,X\neq Y)$.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Upper Bound&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Step 1.&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;em&gt;Claim 1.&lt;/em&gt; Let $Z$ be the indicator for $X\neq Y$ and let $p = \Pr[X\neq Y]$. Then&#xA;   $$H(X|Y) - H(X|Y,Z) \leq H(p) $$&#xA;  and for any fixed values of $H(X|Y)$ and $p$, we can construct tight examples.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Proof.&lt;/em&gt; The natural quantity to consider is&#xA;  $$ H(X|Y) - H(X|Y,Z) $$&#xA;where $Z$ is the indicator, $Z=1$ if $X \neq Y$ and $Z=0$ otherwise. Let $p = \Pr[X\neq Y] = \Pr[Z=1]$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then as Thomas points out, by the chain rule and the fact that $H(X,Y,Z) = H(X,Y)$,&#xA;  $$ H(X|Y) - H(X|Y,Z) = H(Z|Y) \leq H(p) . ~~~~~~~~ (*) $$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Examples showing tightness: Let $Y$ be distributed arbitrarily; then conditioned on $Y=y$, we let $X=y$ with probability $1-p$ and with probability $p$ we let $X$ be distributed arbitrarily on any set not containing $y$. To be very concrete, you could let $Y=0$ always and let $X=0$ with probability $1-p$ and otherwise $X$ is uniform on $\{1,\dots,m\}$. Choose $m$ to get the desired value of $H(X|Y)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In these examples, $H(Z|Y) = H(Z) = H(p)$. So we can make the inequality $(*)$ tight for any $p$ and any $H(X|Y)$. $\square$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Step 2.&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;em&gt;&quot;Theorem&quot; 1.&lt;/em&gt;&#xA;   $$ H(X|Y) - H(X|Y, X\neq Y) \leq \log\frac{1}{p} + \frac{1-p}{p}\left[\log\frac{1}{1-p} ~ - ~ H(X|Y) \right]  $$&#xA;  and for any fixed $H(X|Y)$ and $p$ there are tight examples.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Proof.&lt;/em&gt; Now, again as Thomas points out, we have&#xA;  $$ H(X|Y,Z) = p\cdot H(X|Y, X \neq Y)  . $$&#xA;Now, by plugging in to $(*)$, we have the inequality&#xA;  $$ H(X|Y) - p\cdot H(X|Y, X\neq Y) \leq H(p) . ~~~~~~~~ (**) $$&#xA;and we can make this tight for any $p$. Let $H(X|Y) = p\cdot H(X|Y) + (1-p)H(X|Y)$ and rearrange:&#xA;\begin{align}&#xA; H(X|Y) - H(X|Y, X\neq Y) &amp;amp;\leq \frac{H(p) - (1-p)H(X|Y)}{p}  \\&#xA;                          &amp;amp;= \log\frac{1}{p} + \frac{1-p}{p}\left[\log\frac{1}{1-p} ~ - ~ H(X|Y) \right] .&#xA;\end{align}&#xA;and, again, we can make this tight using the examples from before (since we have only renamed things and rearranged the inequality). $\square$&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;em&gt;Claim 2.&lt;/em&gt; For any fixed $H(X|Y) &amp;gt; 0$, as $p \to 0$, we always have&#xA;  $$ H(X|Y,Z) - H(X|Y,X \neq Y) \to -\infty .$$&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Proof.&lt;/em&gt; In the bound of the &quot;theorem&quot;, for small enough $p$, the upper bound is $\log\frac{1}{p} - \frac{1}{p}\Theta(H(X|Y))$, which approaches $-\infty$ as $p \to 0$ for all fixed $H(X|Y)$. $\square$&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;em&gt;Claim 3.&lt;/em&gt; For any fixed $H(X|Y)$, we have&#xA;  $$ H(X|Y,Z) - H(X|Y,X\neq Y) \leq \log\frac{2^{H(X|Y)}}{2^{H(X|Y)}-1} , $$&#xA;  and there are tight examples. In such examples, $p = 1 - 2^{-H(X|Y)}$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Proof.&lt;/em&gt; Taking the bound in the &quot;theorem&quot; and taking the derivative with respect to $p$, we find that the upper bound is maximized uniquely at $p = 1 - 2^{-H(X|Y)}$. In that case, the quantity inside the brackets is zero, and we obtain&lt;/p&gt;&#xA;&#xA;&lt;p&gt;\begin{align}&#xA; H(X|Y) - H(X|Y, X\neq Y) &amp;amp;\leq \log\frac{1}{p} \\&#xA;  &amp;amp;=\log\frac{2^{H(X|Y)}}{2^{H(X|Y)}-1} .&#xA;\end{align}&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Again, for any $H(X|Y)$, the prior examples with this choice of $p$ make this inequality tight. $\square$&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Lower Bound&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Step 1.&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;em&gt;Claim 4.&lt;/em&gt; For any $p$,&#xA;   $$H(X|Y) - H(X|Y,Z) \geq 0$$&#xA;  and we can construct examples that are arbitrarily close to $0$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Proof&lt;/em&gt;. As stated above, $H(X|Y) - H(X|Y,Z) = H(Z|Y) \geq 0$. To construct examples arbitrarily close to $0$, fix $p$. The intuition is $H(p)$ is concave, so we will have sometimes $\Pr[Z|Y] = \epsilon$ and sometimes $\Pr[Z|Y] = 1-\epsilon$, so that $H(Z|Y) = H(\epsilon) \to 0$, yet still $H(Z) = H(p)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $Y = -1$ with probability $1-p$ and $Y = 0$ with probability $p$. If $Y=-1$, then with probability $\epsilon$ we have $X=Y$ and otherwise $X$ is uniform on $\{1,\dots,m\}$. If $Y=0$, then with probability $1-\epsilon$ we have $X=Y$ and otherwise $X$ is uniform on $\{1,\dots,m\}$. Now we can check that $H(Z|Y) = H(\epsilon)$ and $p = \Pr[Z] = (1-p)\cdot \epsilon + p\cdot(1-\epsilon) = p$. Taking $\epsilon \to 0$ gives the example. $\square$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Step 2.&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;em&gt;&quot;Theorem&quot; 2.&lt;/em&gt; For any $p$ and $H(X|Y)$,&#xA;   $$H(X|Y) - H(X|Y,X\neq Y) \geq -\frac{(1-p)H(X|Y)}{p} $$&#xA;  and there are examples arbitrarily close.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Proof&lt;/em&gt;. Again we have $p\cdot H(X|Y,X\neq Y) = H(X|Y,Z)$, so by the previous claim,&#xA;  $$ H(X|Y) - p\cdot H(X|Y,X\neq Y) \geq 0 . $$&#xA;Again let $H(X|Y) = p\cdot H(X|Y) + (1-p)H(X|Y)$ and rearrange. By the previous claim, we have arbitrarily close examples (since we have only rearranged the inequality). $\square$&lt;/p&gt;&#xA;" OwnerUserId="8243" LastEditorUserId="8243" LastEditDate="2014-12-08T18:14:45.690" LastActivityDate="2014-12-08T18:14:45.690" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27756" PostTypeId="1" AcceptedAnswerId="27761" CreationDate="2014-12-08T23:45:37.333" Score="3" ViewCount="283" Body="&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Diagonally dominant matrices are known to be positive semidefinite (PSD). What are some other families of (symmetric) matrices which are known to be PSD?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Given an &lt;em&gt;arbitrary&lt;/em&gt; matrix A, the positivstellensatz or 'sum of squares' machinery can be used as a tool towards showing that A is PSD. What are other simpler methods/tools that can be used towards proving that a matrix is PSD?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="29282" LastActivityDate="2014-12-09T05:50:16.983" Title="Proving PSD-ness of matrices" Tags="&lt;matrices&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="27760" PostTypeId="1" CreationDate="2014-12-09T05:06:58.360" Score="6" ViewCount="114" Body="&lt;p&gt;Thinking of (seemingly) very different complexity of finding a solution to a NP problem and verifying it as the basis of practical cryptography, I am wondering if such separation is possible among deterministic polynomial class problems (P, FP, BPP).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For instance, solving a system of linear equations in &lt;code&gt;n&lt;/code&gt; variables (by Gaussian elimination) has time complexity $C_s=O(n^3)$. However, verifying a solution obviously requires only $C_v=O(n^2)$.&#xA;Similarly for linear programming problems: $C_s=O(n^{3.5})$ for solving, $C_v=O(n^2)$ for verifying.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What are other polynomial problems with this property with respect to the best known solving and verifying algorithms? Are there any problems with much larger gap, e.g. $C_s=\Theta(C_v^2)$ or more?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More generally, which problems have the best known polynomial-time algorithms with complexity $\Theta(n^6)$ or more, where $n$ is the input size?&lt;/p&gt;&#xA;" OwnerUserId="29284" LastEditorUserId="29284" LastEditDate="2014-12-09T06:20:53.403" LastActivityDate="2014-12-09T06:20:53.403" Title="Complexity of solving vs verifying in P" Tags="&lt;time-complexity&gt;&lt;polynomial-time&gt;" AnswerCount="0" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="27761" PostTypeId="2" ParentId="27756" CreationDate="2014-12-09T05:43:58.183" Score="3" Body="&lt;p&gt;To get the obvious out of the way first, to show that the $n\times n$ matrix $M$ is PSD, it is enough to show that it is the Gram matrix of $n$ vectors, i.e. $m_{ij} = \langle u_i, u_j\rangle$ where $u_1, \ldots, u_n \in \mathbb{R}^n$. (This is a &quot;sum of squares&quot; proof of positive semi-definiteness, because it shows that the bi-linear form $x^T M x$ can be written as a sum of squares of linear functions of $x$.  I am wondering if you meant something more sophisticated by &quot;sum of squares&quot;.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You get a useful class of PSD matrices from &lt;em&gt;positive definite functions&lt;/em&gt;. A function $f: \mathbb{R}^d \to \mathbb{R}$ is positive definite if for all sequences $u_1, \ldots, u_n \in \mathbb{R}^d$, the $n\times n$ matrix $M$ defined by $m_{ij} = f(u_i - u_j)$ is PSD. It is not very hard to see that if $f$ is the Fourier transform of a finite measure, then $f$ is positive definite. I.e. it is sufficient that there is a finite Borel measure $\mu$  on $\mathbb{R}^d$ such that for all $x$&#xA;$$&#xA;f(x) = \int{e^{i\langle x, y\rangle} d\mu(y)}.&#xA;$$&#xA;A classical theorem of Bochner shows that this condition is necessary as well.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A special class of positive definite functions are the functions $f(x) = g(\|x\|_2)$, for which the matrix $M$ becomes $m_{ij} = g(\|u_i - u_j\|_2)$. Another classical result of Schoenberg shows that such an $f$ is positive definite if and only if there exists a finite Borel measure $\mu$ on $[0, \infty)$ so that for every $t \geq 0$&#xA;$$&#xA;g(t) = \int_{0}^\infty{e^{-t^2s}d\mu(s)}.&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The original motivation for Schoenberg's theorem was to determine what functions $g$ have the property that for any $u_1, \ldots, u_n \in \mathbb{R}^d$, the metric space with metric $d(u_i, u_j) = g(\|u_i - u_j\|_2)$ embeds isometrically into Euclidean space.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This &lt;a href=&quot;http://djalil.chafai.net/blog/2013/02/09/a-probabilistic-proof-of-the-schoenberg-theorem/&quot; rel=&quot;nofollow&quot;&gt;blog post&lt;/a&gt; has a simple proof of Schoenberg's theorem and many links.&lt;/p&gt;&#xA;" OwnerUserId="4896" LastEditorUserId="4896" LastEditDate="2014-12-09T05:50:16.983" LastActivityDate="2014-12-09T05:50:16.983" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27765" PostTypeId="1" CreationDate="2014-12-09T14:40:04.177" Score="14" ViewCount="420" Body="&lt;p&gt;Is there a sorting network that makes only $O(n)$ comparisons and finds the median?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The AKS sorting network sorts with $O(\log n)$ parallel steps, but here I am only interested in the number of comparisons.&#xA;The median of medians algorithm finds the median with $O(n)$ comparisons, but it cannot be implemented as a sorting network.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Remark. In fact, in a recent work, we needed a version that is less powerful than pairwise comparison and resembles sorting networks. In our model one could input two elements, $a$ and $b$, and the output was either &quot;a&quot; or &quot;b&quot;, such that the output is at least as big as the other number. (In case of equality, either one of them, and we are interested in worst case complexity.) In this variant we could prove that there is a solution with $O(n)$ comparisons. Of course I am also interested if anyone knows anything about this model ever being studied.&lt;/p&gt;&#xA;" OwnerUserId="419" LastActivityDate="2014-12-09T14:40:04.177" Title="Is it possible to find the median with a linear size sorting network?" Tags="&lt;ds.algorithms&gt;&lt;sorting&gt;&lt;sorting-network&gt;&lt;selection&gt;" AnswerCount="0" CommentCount="3" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="27767" PostTypeId="1" CreationDate="2014-12-09T19:25:19.343" Score="1" ViewCount="337" Body="&lt;p&gt;&lt;strong&gt;Problem&lt;/strong&gt; Input is a k regular graph of n vertices and I have to check whether this is isomorphic to another given k regular graph G. This is a restricted version of graph isomorphism in the sense that given graph G is constructed from a p-dimension hypercube graph H&lt;sub&gt;p&lt;/sub&gt; of 2n vertices [ so n is a power of 2 ] as ...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since hypercube is always bipartite.[ H&lt;sub&gt;p&lt;/sub&gt; = (L,R),V ] &lt;br&gt;&#xA;G has n nodes corresponding to the left set L of H&lt;sub&gt;p&lt;/sub&gt;. &lt;br&gt;&#xA;For any 2 nodes in L which have a path of length 2 in H&lt;sub&gt;p&lt;/sub&gt;, there is an edge between the corresponding nodes in G.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is easy to see that G is regular and highly symmetric [in term diameter,no of diameters etc due to properties of hypergraph ].&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My problem is how to detect whether the input graph can be constructed from a hypercube graph as shown or not . i.e. efficiently check for isomorphism.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt; For a given (n,k) there can be many regular graph as shown in &lt;a href=&quot;http://www.mathe2.uni-bayreuth.de/markus/reggraphs.html&quot; rel=&quot;nofollow&quot;&gt;http://www.mathe2.uni-bayreuth.de/markus/reggraphs.html&lt;/a&gt;  &lt;/p&gt;&#xA;" OwnerUserId="29293" LastEditorUserId="29293" LastEditDate="2014-12-10T03:24:34.890" LastActivityDate="2014-12-11T08:32:59.823" Title="checking isomorphism between K regular graph" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;graph-isomorphism&gt;&lt;symmetry&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="27770" PostTypeId="1" AcceptedAnswerId="27786" CreationDate="2014-12-10T00:30:38.093" Score="11" ViewCount="166" Body="&lt;p&gt;I am considering ideas about exact quantum algorithms. In particular, I am considering likely limitations of $\mathsf{EQP}$, which consists of languages exactly decideable by polytime-uniform quantum circuit families over an arbitrary finite gate set.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The quantum Fourier transform (QFT), given by&#xA;$$ F_N = {\frac{1}{\sqrt N} \begin{bmatrix} 1 &amp;amp; 1 &amp;amp; 1 &amp;amp; 1&amp;amp;  \cdots &amp;amp; 1 \\ 1 &amp;amp; \omega &amp;amp; \omega^2 &amp;amp; \omega^3 &amp;amp; \cdots &amp;amp; \omega^{N-1} \\ 1 &amp;amp; \omega^2 &amp;amp; \omega^4 &amp;amp; \omega^6 &amp;amp;  \cdots &amp;amp; \omega^{N-2} \\ 1 &amp;amp; \omega^3 &amp;amp; \omega^6 &amp;amp; \omega^9 &amp;amp; \cdots &amp;amp; \omega^{N-3} \\ \vdots &amp;amp; \vdots &amp;amp; \vdots &amp;amp; \vdots &amp;amp; \ddots &amp;amp; \vdots \\ 1 &amp;amp; \omega^{N-1} &amp;amp; \omega^{N-2} &amp;amp; \omega^{N-3} &amp;amp; \cdots &amp;amp; \omega^{(N-1)^2} \end{bmatrix}} \quad\text{for $\omega = \mathrm e^{2\pi i/N}$},$$&#xA;is a celebrated part of quantum computational theory.&#xA;In the case of $N = 2^n$, there is well-known decomposition of $F_N$ into Hadamards, SWAP gates, and diagonal gates $$\mathrm{CZ}_{2^T} = \mathrm{diag}(1,1,1,\mathrm e^{2\pi i/2^T\!})$$ for various $T \geqslant 1$, which is due to Coppersmith. If $\mathsf{EQP} \smallsetminus \mathsf{P}$ is to contain any problems, one might hope that one of these would make use of the QFTs $F_{2^n}$, in which case one would require the family of operations $F_{2^n}$ to decompose into some particular finite gate set. Using the recursive decomposition of the QFT, this is equivalent to there being a decomposition of all gates $\mathrm{CZ}_{2^n}$ into a single finite gate set.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Obviously, by the Solovay&amp;ndash;Kitaev theorem, we may approximate the gates $F_{2^n}$ or $\mathrm{CZ}_{2^n}$ arbitrarily well with any approximately universal gate set which is closed under inverses. What I would like to know is whether there is a finite gate-set which may &lt;em&gt;exactly&lt;/em&gt; realise these families of operators &amp;mdash; or, what I suspect is more likely, whether there is a proof that no such finite gate-set exists. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question.&lt;/strong&gt; &#xA;Is there either a decomposition of $\{ F_{2^n} \}_{n \geqslant 1}$ as a polytime-uniform circuit family on a finite gate-set, or a proof that this is impossible?&lt;/p&gt;&#xA;" OwnerUserId="248" LastEditorUserId="248" LastEditDate="2014-12-10T08:39:40.540" LastActivityDate="2014-12-11T08:07:22.133" Title="Is there a finite unitary gate set which can exactly realise all QFTs of order $2^n$?" Tags="&lt;quantum-computing&gt;&lt;circuit-families&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="27771" PostTypeId="1" CreationDate="2014-12-10T00:36:46.087" Score="15" ViewCount="238" Body="&lt;p&gt;I'm wondering if there is a computationally bounded version of the Nash equilibrium concept, something along the following lines.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Imagine some kind of two-player perfect information game which is played on an $n\times n$ board, and which is complex in the sense that optimal play is EXPTIME-hard.  Suppose also for simplicity that draws are not possible.  Imagine a pair $(A, B)$ of randomized polynomial-time Turing machines playing this game against each other.  For each $n$, let $p_{A,B}(n)$ be the probability that $A$ beats $B$ at the order-$n$ game.  (For concreteness, let's say that $A$ gets to play first with probability 0.5.)  What I think would be cool is if one could prove the existence of a pair $(A,B)$ with the property that no randomized polynomial-time Turing machine $A'$ &lt;i&gt;dominates&lt;/i&gt; $A$ (where &quot;$A'$ dominates $A$&quot; means $p_{A',B}(n) &amp;gt; p_{A,B}(n)$ for all sufficiently large $n$), and similarly no randomized polynomial-time Turing machine $B'$ dominates $B$ (where &quot;$B'$ dominates $B$&quot; means $p_{A,B'}(n) &amp;lt; p_{A,B}(n)$ for all sufficiently large $n$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Somehow, I suspect that this is too much to hope for, but is there any hope for something like this to be true, perhaps for a restricted class of games?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One motivation for this question is that I am looking for a way to formalize the notion that a given chess position is &quot;advantageous for White.&quot;  Classically, a position is either a win for White or it isn't.  However, chess players, both human and computer, have an intuitive understanding of what it means for White to have an advantage.  It seems to have something to do with the probability that White will win, given that the players are computationally bounded and have to guess at the best move.  For a specific pair of randomized algorithms one can of course talk about the probability that White will win, but what I'm wondering is if there can be, in some sense, a &lt;i&gt;canonical&lt;/i&gt; pair of computationally bounded players whose winning probabilities yield a value for the position that depends only on the game itself and not the idiosyncrasies of the players.&lt;/p&gt;&#xA;" OwnerUserId="2970" LastActivityDate="2015-02-04T00:54:56.387" Title="Computationally bounded version of Nash equilibrium?" Tags="&lt;gt.game-theory&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="27772" PostTypeId="1" AcceptedAnswerId="27776" CreationDate="2014-12-10T01:14:24.787" Score="-1" ViewCount="84" Body="&lt;p&gt;Any computable number may have different  representations of finite length . For example,$\sqrt{2}$ may be represented as root of equation, or as  a (shortest for a universal Turing Machine)program of finite length that outputs every bit sequently in infinite time. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For  two  representations of finite length of one computable number, are there $P$-time algorithms that compute one from another?&lt;/p&gt;&#xA;" OwnerUserId="17024" LastActivityDate="2014-12-10T08:42:15.177" Title="For two representations of finite length of one computable number are there $P$-time algorithms that compute one from another" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;computable-analysis&gt;" AnswerCount="1" CommentCount="11" ContentLicense="CC BY-SA 3.0" />
  <row Id="27774" PostTypeId="1" AcceptedAnswerId="27780" CreationDate="2014-12-10T08:28:12.107" Score="1" ViewCount="134" Body="&lt;p&gt;I'm a lowly web dev / programmer of 10 years who's never tried to wrap his brain around the high concept stuff, so apologies is this is a stupid question (or if it belongs in programmers.stackexchange.com)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I started wondering the other day, is it possible to encrypt something and have it decryptable by two different keys? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose you wanted to have a user's data encrypted by a user-defined key, but you also wanted a safely stored &quot;backup&quot; key in case the user forgot their key. Is that even theoretically possible? &lt;/p&gt;&#xA;" OwnerUserId="29299" LastActivityDate="2014-12-10T14:56:45.480" Title="Is it possible to encrypt something in such a way that it can be decrypted by two different keys?" Tags="&lt;cr.crypto-security&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="27775" PostTypeId="2" ParentId="17248" CreationDate="2014-12-10T08:31:18.760" Score="1" Body="&lt;p&gt;Technically yes, the graph you describe is one 2-clique percolated community. However, this is a reduced case, since a 2-clique is no more than an edge, and so a 2-clique percolated community is just a connected component.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For k &gt; 2, clique percolation results in communities that are only detectable using this method. The example in Wiki uses 4-cliques.&lt;/p&gt;&#xA;" OwnerUserId="29300" LastEditorUserId="17082" LastEditDate="2014-12-10T08:47:54.590" LastActivityDate="2014-12-10T08:47:54.590" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27776" PostTypeId="2" ParentId="27772" CreationDate="2014-12-10T08:42:15.177" Score="3" Body="&lt;p&gt;No, it is undecidable. Imagine a TM that outputs a sequence $0.1111\ldots$ that may be finite or not. If it is finite, the conversion algorithm should give some fraction like $\frac{11\ldots11}{10\ldots000}$. If it is infinite (the TM doesn't halt) then the output should be $\frac{1}{9}$. Any program that converts between the $TM$ representation of a number and a fraction would be able to decide the halting problem.&lt;/p&gt;&#xA;" OwnerUserId="28912" LastActivityDate="2014-12-10T08:42:15.177" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="27780" PostTypeId="2" ParentId="27774" CreationDate="2014-12-10T14:56:45.480" Score="0" Body="&lt;p&gt;This is possible, for instance using the following straight-forward approach (where $E(\cdot,\cdot)$ is some encryption function and $H(\cdot)$ is a cryptographic hash function):&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Input: A message $m$ and a set of keys $\{k_1,\dots,k_n\}$.&lt;/li&gt;&#xA;&lt;li&gt;Generate a random &lt;em&gt;ephemeral key&lt;/em&gt; $k_e$ that is used to encrypt $m$ &lt;em&gt;only&lt;/em&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Output (for instance):&#xA;$$(H(k_e), n, (E(k_1,k_e),\dots,E(k_n,k_e)), E(k_e,m))\text.$$&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;A message's recipient can subsequently decrypt all the encrypted keys $E(k_1,k_e)$ to $E(k_n,k_e)$&#xA;using &lt;em&gt;his&lt;/em&gt; key $k$ and check whether the result's hash matches $H(k_e)$. If it does, he (highly likely) found the right $k_e$ and can proceed to decrypt $m$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, an adversary who does &lt;em&gt;not&lt;/em&gt; have one of the keys $k_1,\dots,k_n$ learns nothing about $k_e$ from the hash $H(k_e)$ (as long as $H$ is not broken) nor any of the encryptions of $k_e$ (as long as $E$ is not broken), so he can't decrypt the message $m$ (as long as $E$ is not broken).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Drawbacks:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;This approach leaks the number of keys for which a message is encrypted, which may not be desirable.&lt;/li&gt;&#xA;&lt;li&gt;The method doesn't scale well if you need to support a larger number of keys, but it should do for as few as two. A possibility to avoid having to decrypt &lt;em&gt;all&lt;/em&gt; encryptions of $k_e$ until one matches is to add some key ID (for example, a hash of the corresponding recipient's key) to each encrypted key that a recipient can compare to a hash of his own key, at the expense of a slightly longer ciphertext and potential correlation of the recipients' identities.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="29035" LastActivityDate="2014-12-10T14:56:45.480" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27781" PostTypeId="1" CreationDate="2014-12-10T19:43:38.523" Score="0" ViewCount="297" Body="&lt;p&gt;As per the Yao's principle, in order to lower bound the cost of Randomized algorithm it suffices to find an appropriate distribution of difficult inputs, and to prove that no deterministic algorithm can perform well against that distribution.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose we have a boolean function $f:\{0,1\}^n \rightarrow \{0,1\}$ and we are given a distribution over the inputs. I would like to ask whether I can apply Yao's principle when there is already some distribution given over inputs? If yes, then how?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I was reading the &lt;a href=&quot;http://www.scottaaronson.com/papers/bqpph.pdf&quot; rel=&quot;nofollow&quot;&gt;paper&lt;/a&gt; by Scott Aaronson and could not understand why he simply stated that by Yao's principle we can assume that algorithm is deterministic while there was already a distribution given over the inputs.&lt;/p&gt;&#xA;" OwnerUserId="29235" LastEditorUserId="29235" LastEditDate="2014-12-10T20:16:14.463" LastActivityDate="2015-03-10T23:19:05.233" Title="Randomized Algorithm with random input" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;boolean-functions&gt;&lt;randomized-algorithms&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27782" PostTypeId="2" ParentId="27781" CreationDate="2014-12-10T21:20:58.150" Score="1" Body="&lt;p&gt;As you said, it is enough to point out a distribution (this could be any distribution) on which every deterministic algorithm fails. Now, if there is already a distribution given, and you can show that any deterministic algorithm fails on this one, then this provides also a lower bound for randomized algorithms. You can use any distribution in order to apply Yao's principle.  &lt;/p&gt;&#xA;" OwnerUserId="29266" LastActivityDate="2014-12-10T21:20:58.150" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27783" PostTypeId="1" AcceptedAnswerId="27795" CreationDate="2014-12-11T03:00:59.780" Score="0" ViewCount="129" Body="&lt;p&gt;&quot;any two representations of reals which are acceptable are actually computably isomorphic&quot;,please see &lt;a href=&quot;https://cstheory.stackexchange.com/questions/16512/is-it-possible-to-test-if-a-computable-number-is-rational-or-integer/16547#16547&quot;&gt;here&lt;/a&gt; for reference&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where may proof of  this theorem   be found, and what is the the computational complexity of the computably isomorphic maps?&lt;/p&gt;&#xA;" OwnerUserId="17024" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2014-12-12T01:13:16.600" Title="Where can I find the proof of the theorem and what is the computational complexity of the computably isomorphic map?" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;computability&gt;&lt;computable-analysis&gt;" AnswerCount="2" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="27784" PostTypeId="2" ParentId="27723" CreationDate="2014-12-11T07:25:02.563" Score="3" Body="&lt;p&gt;Also, the MDSC team in I3S lab (&lt;a href=&quot;http://i3s.unice.fr/&quot; rel=&quot;nofollow&quot;&gt;http://i3s.unice.fr/&lt;/a&gt;), Nice, France&lt;/p&gt;&#xA;" OwnerUserId="30311" LastActivityDate="2014-12-11T07:25:02.563" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27785" PostTypeId="1" AcceptedAnswerId="27791" CreationDate="2014-12-11T07:26:10.787" Score="9" ViewCount="766" Body="&lt;p&gt;I want to know if the decidability of equality of two decidable proofs of the same proposition can be proved without any additional axioms in Calculus of Inductive Constructions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Specifically, I want to know if this is true without any additional axioms in Coq.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\forall P: \texttt{Prop}, P \vee \neg P \Rightarrow&#xA;(\forall p_1 : P, \forall p_2: P, \{p_1 = p_2\} \vee \{p_1 \neq p_2\})&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edited to correct the error:&#xA;Edit 2 to make &lt;code&gt;Prop&lt;/code&gt; more explicit&lt;/p&gt;&#xA;" OwnerUserId="22401" LastEditorUserId="22401" LastEditDate="2014-12-11T20:18:23.590" LastActivityDate="2014-12-11T20:18:23.590" Title="Equality of decidable proofs?" Tags="&lt;coq&gt;&lt;constructive-mathematics&gt;&lt;calculus-of-constructions&gt;" AnswerCount="1" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="27786" PostTypeId="2" ParentId="27770" CreationDate="2014-12-11T08:01:07.430" Score="7" Body="&lt;p&gt;No, there is no decomposition of the entire family $\{F_{2^n}\}_{n\geqslant1}$ into a single finite gate-set. Here's why.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The QFTs involve only coefficients over $\overline{\mathbb Q}$, the complex algebraic closure of the rational numbers. In analogy to [&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.205.8140&quot;&gt;Adleman+Demarrais+Huang&amp;ndash;1997&lt;/a&gt;], if we involved any gates which included any transcendental numbers, we could choose a minimal set of transcendentals $\{\tau_1, \tau_2, \ldots\}$ and describe the gate-coefficients essentially as rational functions $\overline{\mathbb Q}(\tau_1, \tau_2, \ldots)$. To obtain the QFT as a product of such gates, we must arrange for all of the transcendental components to cancel (a similar thing must occur to ensure each of the gates are unitary); but then we might as well replace all of the transcendentals with $0$, so that all of the coefficients are algebraic. So we restrict ourselves to algebraic gate-sets without loss of generality.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The coefficients of a finite gate set over $\overline{\mathbb Q}$ can all be contained in a finite-degree extension of $\mathbb Q$, which one may construct by extending $\mathbb Q$ by those very coefficients. However, the gates $\mathrm{CZ}_{2^n}$ obviously have coefficients belonging to field extensions over $\mathbb Q$ of degree $2^{n-1}$, i.e.&amp;nbsp;of unbounded degree.&#xA;Thus the family of QFTs of order $2^n$ does not decompose into any finite gate-set.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As a corollary, we cannot hope to have any algorithms in $\mathsf{EQP}$ which relies on QFTs over cyclic rings of unbounded size &amp;mdash; note that the same problem occurs for any family of circuits which might use QFTs of arbitrary order.&lt;/p&gt;&#xA;" OwnerUserId="248" LastEditorUserId="248" LastEditDate="2014-12-11T08:07:22.133" LastActivityDate="2014-12-11T08:07:22.133" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27787" PostTypeId="2" ParentId="27767" CreationDate="2014-12-11T08:32:59.823" Score="2" Body="&lt;p&gt;If $p$ is fixed, graph isomorphism can be tested in polynomial time, see [E. Luks. Isomorphism of graphs of bounded valance can be tested in polynomial time. Journal of Computer and System Sciences, 25:42–65, 1982].&lt;/p&gt;&#xA;" OwnerUserId="4854" LastActivityDate="2014-12-11T08:32:59.823" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27789" PostTypeId="2" ParentId="27783" CreationDate="2014-12-11T15:08:27.950" Score="3" Body="&lt;p&gt;To turn my comment into an answer...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Andrej Bauer in this &lt;a href=&quot;https://cstheory.stackexchange.com/questions/16512/is-it-possible-to-test-if-a-computable-number-is-rational-or-integer/16547#16547&quot;&gt;post&lt;/a&gt; makes the parenthetical claim &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;An important theorem states that any two representations of reals which are acceptable are actually computably isomorphic.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;He never explicitly defines acceptable or cites the theorem. I assume the OPs question is the following.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;What theorem is Andrej Bauer referring to?&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is a guess.  It seems that earlier in the post, Andrej is implicitly suggesting that an acceptable representation of the reals is one in which the following properties hold:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;One can effectively approximate a real by a rational to within a given precision.&lt;/li&gt;&#xA;&lt;li&gt;Addition, multiplication, and inverse are computable.&lt;/li&gt;&#xA;&lt;li&gt;The less-then relation, $&amp;lt;$, is semi-decidable.&lt;/li&gt;&#xA;&lt;li&gt;There is a computable function which takes in a rapid sequence of reals (that is a sequence $(x_n)$ of reals such that $|x_n - x_m| \leq 2^{\min{n,m}}$ and outputs the limit.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Actually (1) and (4) are enough to prove (2) and (3), since to preform those operations: one only needs to approximate the real by a rational, do the operation, and convert back to a real.  (Basic module of continuity will tell you how close the approximated answer is.  Also, one needs to be able to convert from a rational to the corresponding real.  This can be done by using (1) to find reals that are close enough to the rational, and then using (4) to take the limit of these approximations.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, for any two representations satisfying (1) and (4) they are computably isomorphic.  From (1), one can go from the first representation to the rapid Cauchy representation.  (That is, represent a real as a rapid Cauchy sequence of rationals.)  From (4), one can go the other way, taking a rapid Cauchy sequence of rationals and computing the real it converges to (using the second representation).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As for the question about complexity, I think it can't be anything better than just computable, but I realize I don't know for sure, mostly, because I don't know how to formulate the question formally.&lt;/p&gt;&#xA;" OwnerUserId="17337" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2014-12-11T15:08:27.950" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27790" PostTypeId="2" ParentId="21117" CreationDate="2014-12-11T17:09:04.910" Score="5" Body="&lt;p&gt;The restricted problem, where one of the permutations is the identity, is certainly in $\mathsf{P}$.  Construct the bipartite graph where each vertex $i \in V_1=\{1,2,\ldots,n\}$ is connected to the element(s) $j \in V_2=\{1,2,\ldots,n\}$ such that $|i-j|=A[i]$.  Then the desired permutation $\sigma$ exists if and only if the graph has a perfect matching (i.e., a matching with $n$ edges), which can be determined in polynomial time.&lt;/p&gt;&#xA;" OwnerUserId="3183" LastActivityDate="2014-12-11T17:09:04.910" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="27791" PostTypeId="2" ParentId="27785" CreationDate="2014-12-11T18:48:23.007" Score="5" Body="&lt;p&gt;As Neel points out if you work under the &quot;propositions are types&quot; then you can easily come up with a type whose equality cannot be shown decidable (but it is of course consistent to assume that all types have decidable equality), such as $\mathbb{N} \to \mathbb{N}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we understand &quot;proposition&quot; as a more restricted kind of type, then the answer depends on what precisely we mean. If you are working in the calculus of constructions with a &lt;code&gt;Prop&lt;/code&gt; kind then you still cannot show that decidable propositions have decidable equality. This is so because it is consistent in the calculus of constructions to equate &lt;code&gt;Prop&lt;/code&gt; with a proof-relevant type universe, so for all you know &lt;code&gt;Prop&lt;/code&gt; might contains something like $\mathbb{N} \to \mathbb{N}$. This also implies you cannot prove your theorem for Coq's notion of &lt;code&gt;Prop&lt;/code&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But in any case, the best answer comes from homotopy type theory. There a proposition is a type $P$ which satisfies&#xA;$$\forall x, y : P \,.\, x = y.$$&#xA;That is, a proposition has at most one element (as it should if it is to be understood as a proof-irrelevant truth value). In this case the answer is of course positive because the definition of proposition immediately implies that its equality is decidable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am curious to know what you mean by &quot;proposition&quot;.&lt;/p&gt;&#xA;" OwnerUserId="705" LastActivityDate="2014-12-11T18:48:23.007" CommentCount="13" ContentLicense="CC BY-SA 3.0" />
  <row Id="27794" PostTypeId="1" AcceptedAnswerId="27797" CreationDate="2014-12-11T21:46:42.527" Score="5" ViewCount="1564" Body="&lt;p&gt;What is the &lt;strong&gt;worst-case runtime complexity&lt;/strong&gt; to transform a NFA to DFA via &lt;strong&gt;Rabin-Scott's power set construction&lt;/strong&gt;? Why?&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Details:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Powerset_construction&quot;&gt;http://en.wikipedia.org/wiki/Powerset_construction&lt;/a&gt; states that &lt;strong&gt;the worst-case runtime complexity is $\Theta(2^n)$&lt;/strong&gt;, where $n$ is the number of states of the NFA.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I do not understand how $\Theta(2^n)$ is sufficient: You need up to $2^n$ steps to create the DFA, each creating a new state in the DFA. For each step, you need more time than $\Theta(1)$: you have to consider up to $n$ many states of the NFA (since the DFA-state is a set of up to $n$ states of the NFA) and for each such state up to $b$ (=maximal branching) many outgoing transitions. Thus I would have thought &lt;strong&gt;the worst-case time complexity would be $\Theta(2^n \times n \times b)$&lt;/strong&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there some optimization possible to get to $\Theta(2^n)$? (Above, I have already used the optimization to look in each step at every state of the NFA at most once, instead of iterating through the set of NFA states and for each one doing an epsilon closure with worst case runtime complexity $O(n)$). &lt;/p&gt;&#xA;" OwnerUserId="6424" LastActivityDate="2014-12-12T01:50:43.007" Title="What is the worst-case runtime complexity to transform a NFA to DFA via Rabin-Scott's power set construction?" Tags="&lt;ds.algorithms&gt;&lt;automata-theory&gt;&lt;time-complexity&gt;&lt;exp-time-algorithms&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27795" PostTypeId="2" ParentId="27783" CreationDate="2014-12-11T22:59:53.583" Score="2" Body="&lt;p&gt;The first theorem of the form you are asking about was proved by Y. Moschovakis in &lt;a href=&quot;http://projecteuclid.org/euclid.jsl/1183735629&quot; rel=&quot;nofollow&quot;&gt;&lt;em&gt;Notation systems and recursive ordered fields&lt;/em&gt;&lt;/a&gt;, Compositio Mathematica 17:40–71 (1965). Then in the context of Type Two Effectivity a similar theorem was proved by P. Hertling, see &lt;a href=&quot;http://onlinelibrary.wiley.com/doi/10.1002/malq.19990450202/abstract&quot; rel=&quot;nofollow&quot;&gt;&lt;em&gt;A real number structure that is effectively categorical&lt;/em&gt;&lt;/a&gt;, Mathematical Logic Quarterly, 45(2):147–182 (1999). A generalization of these results (and several others) was proved by A. Bauer and J. Blanck in &lt;a href=&quot;http://www.jucs.org/jucs_16_18/canonical_effective_subalgebras_of&quot; rel=&quot;nofollow&quot;&gt;&lt;em&gt;Canonical Effective Subalgebras of Classical Algebras as Constructive Metric Completions&lt;/em&gt;&lt;/a&gt;, Journal of Universal Computer Science, vol 16:2496–2522 (2010).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The paper I wrote with Jens is very general and maybe less accessible. Another good source to read about this is Peter Hertling's &lt;a href=&quot;http://www.cs.auckland.ac.nz/CDMTCS//researchreports/057hertling.pdf&quot; rel=&quot;nofollow&quot;&gt;The Real Number Structure is Effectively Categorical&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have nothing intelligent to say about computational complexity.&lt;/p&gt;&#xA;" OwnerUserId="705" LastActivityDate="2014-12-11T22:59:53.583" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="27796" PostTypeId="1" CreationDate="2014-12-12T00:40:07.353" Score="1" ViewCount="30" Body="&lt;p&gt;Let $G^n$ denote the OR product of a graph with itself $n$ times, i.e. the graph which has an edge between distinct vertices $(v_1,v_2,\ldots,v_n)$ and $(u_1,u_2,\ldots,u_n)$ if there exists some $i$ so that $(v_i,u_i)$ is an edge in $G.$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The book Fractional Graph Theory by Scheinerman and Ullman has a number of wonderful results connecting graph theory to fractional graph theory, some of them having a flavor illustrated by the following result:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $\chi(G), \chi_f(G)$ are the chromatic number and fractional chromatic number of a graph respectively, then &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\chi_f(G) = \lim_{n\to\infty} \chi(G^n)^{\frac 1n}.$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am interested in the rate of convergence in this and other results of this kind. What can we say about how fast the sequence&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\log \chi_f(G) - \frac 1n \log\chi(G^n)$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;goes to zero? I suspect it goes as $\frac{1}{\sqrt{n}}.$ If this is true, then what is &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\limsup_n \sqrt{n}\left(\log \chi_f(G) - \frac 1n \log\chi(G^n)\right)?$$&lt;/p&gt;&#xA;" OwnerUserId="7823" LastActivityDate="2014-12-12T00:40:07.353" Title="Rate of convergence of graph-theoretic quantity to fractional graph-theoretic counterpart" Tags="&lt;graph-theory&gt;&lt;graph-colouring&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27797" PostTypeId="2" ParentId="27794" CreationDate="2014-12-12T01:50:43.007" Score="8" Body="&lt;p&gt;At first glance this looks like a mistake in Wikipedia (it wouldn't be the first one), but I think the time bound there is actually correct, with two assumptions and one small idea.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The assumption is: the alphabet size is constant, so you can ignore the $b$ factor in the runtime and output size. The second assumption is: you can represent the output DFA as a graph in memory, in a conventional adjacency list data structure (or whatever). So in particular to be able to store an edge from one state to another, you need memory cells that can store up to $n$ bits of information per cell, and (in the standard RAM model) this also means constant-time bitwise operations on these cells.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The idea is: each nonempty set of states of the NFA (corresponding to a single state of the DFA) can be formed by adding one element to a smaller set. So, to compute the transitions for a state $S$: find an element $s$ and a state $R$ such that $S=R\cup\{s\}$. Then, for each input alphabet symbol, compute the transition from $S$ as the bitwise Boolean or of the transition from $R$ (previously computed in the same construction) and the transition from $s$ (in the input NFA). Doing this takes $O(b)$ bitwise Boolean operations per state for a total time of $O(1)$ per state.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In practice, you'd probably rather use the version of the construction that only constructs reachable states, rather than all sets. But when you do it that way you can't be guaranteed to find an element whose removal leaves another reachable state, so your $n$ extra factor in the runtime presumably still applies to this version.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2014-12-12T01:50:43.007" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="27798" PostTypeId="2" ParentId="27719" CreationDate="2014-12-12T04:54:42.230" Score="6" Body="&lt;p&gt;This problem is actually related to a scheduling problem knows as &quot;Precedence constrained scheduling to minimize weighted completion time&quot;. The problem is as follows : Given a set of jobs, where each job has a processing time (p) and weight (w) and a precedence graph is defined on the jobs. Goal is to schedule the jobs in a single machine (non-preemptive) such that the precedence constraints are statisfied and the sum of weighted completion time is minimized. The problem is NP-hard and a 2-approximation is known. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Reduction from minimum cumulative sum problem to Precedence constrained scheduling problem :  For each element create a job with p = 1, w = 0. Also for each set create a job with p = 0, w = 1. Create the precedence graph, such that if element $e \in S$, then $e$ must be scheduled before $S$. I think this special case of the scheduling problem is also NP-hard.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See the following links,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) &lt;a href=&quot;http://www.win.tue.nl/~gwoegi/papers/precsum.pdf&quot;&gt;http://www.win.tue.nl/~gwoegi/papers/precsum.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) &lt;a href=&quot;http://web.engr.illinois.edu/~chekuri/papers/dam_sched.ps&quot;&gt;http://web.engr.illinois.edu/~chekuri/papers/dam_sched.ps&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="30317" LastActivityDate="2014-12-12T04:54:42.230" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="27801" PostTypeId="1" AcceptedAnswerId="27817" CreationDate="2014-12-12T10:52:10.657" Score="6" ViewCount="135" Body="&lt;p&gt;I have found many papers on sequential algorithms that have been implemented and tested on GPU architectures. Each of these papers usually as a result contains the amount of speedup that was achieved when using a specific GPU.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However I could not find a lot of papers on theoretically analysing algorithms, proving bounds etc when working in this new model.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is it because that is too difficult to do or not very interesting?&lt;/p&gt;&#xA;" OwnerUserId="27118" LastActivityDate="2014-12-13T16:56:51.643" Title="What is the state of the art research in analysing algorithms on GPU architectures?" Tags="&lt;machine-models&gt;&lt;analysis-of-algorithms&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27802" PostTypeId="1" AcceptedAnswerId="27854" CreationDate="2014-12-12T11:02:17.250" Score="3" ViewCount="352" Body="&lt;p&gt;First my background about computational complexity is still beginner. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Recent paper published by Klauck and Podder &lt;a href=&quot;http://arxiv.org/abs/1402.4312&quot; rel=&quot;nofollow noreferrer&quot;&gt;[KP14]&lt;/a&gt; show that for the first time an exponential gap between computing partial Boolean functions in a QCMA and QMA in communication model. However, Aharonov and Naveh &lt;a href=&quot;http://arxiv.org/abs/quant-ph/0210077&quot; rel=&quot;nofollow noreferrer&quot;&gt;[AN02]&lt;/a&gt; conjecture that QMA = QCMA in the Turing model. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;[KP14] state the following open problem:&#xA;&lt;img src=&quot;https://i.stack.imgur.com/hdTjV.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thus, in order to show that QCMA = QMA; we need nonalgebrizing techniques. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I just don't understand how they relate the communication model with the Turing model? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;According to my understanding is that communication model is different than Turing model. that is, we have different results, proofs, etc. therefore, [KP14] argue that any separation in the two-way communication model would imply using non-algebrizing techniques, how could it be?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;thanks in advance&lt;/p&gt;&#xA;" OwnerUserId="29303" LastActivityDate="2014-12-16T10:19:02.410" Title="The relationship between QCMA and QMA in the Turing and Communication model" Tags="&lt;cc.complexity-theory&gt;&lt;quantum-computing&gt;&lt;communication-complexity&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27803" PostTypeId="2" ParentId="2640" CreationDate="2014-12-12T12:16:31.600" Score="-2" Body="&lt;p&gt;I searched the net for a program to solve an instance of this particular variation of the subset sum problem. I did not find any program, but this page with hints. So I used it and attempted to implement it &lt;strong&gt;as described above&lt;/strong&gt;. The following is what I had hoped to find when I searched. It solved the problem I had. For the next one searching (who could be me in 20 years); this is what worked for me:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;with Ada.Command_Line; use Ada.Command_Line;&#xA;with Ada.Text_IO; use Ada.Text_IO;&#xA;&#xA;--  Solves the subset sum problem for a given subset size. If the stack&#xA;--  overflows, allow more memory usage (ulimit -s &amp;lt;large value&amp;gt;) or solve a&#xA;--  smaller problem. Usage : subset_sum &amp;lt;subset_size&amp;gt; &amp;lt;subset_sum&amp;gt; &amp;lt;value&amp;gt; ...&#xA;procedure Subset_Sum is&#xA;   type Tag_Type is new Positive range 1 .. 2**16-1;&#xA;   for Tag_Type'Size use 16;&#xA;&#xA;   type Value_Value_Type is new Positive range 1 .. 2**16 - 1;&#xA;   for Value_Value_Type'Size use 16;&#xA;   type Value_Type is record&#xA;      Value : Value_Value_Type;&#xA;      Tag : Tag_Type;&#xA;   end record;&#xA;   Set : array (1 .. Argument_Count - 2) of Value_Type;&#xA;&#xA;   Subset_Size : constant Positive := Positive'Value (Argument (1));&#xA;   Subset_Sum : constant Positive := Positive'Value (Argument (2));&#xA;&#xA;   type Flag_Value_Type is new Natural range 0 .. 2**16 - 1;&#xA;   for Flag_Value_Type'Size use 16;&#xA;   type Flag_Type is record&#xA;      Value : Flag_Value_Type;&#xA;      Tag : Tag_Type;&#xA;   end record;&#xA;   T : array (1 .. Subset_Size, 1 .. Set'Length, 1 .. Subset_Sum) of Flag_Type&#xA;     := (others =&amp;gt; (others =&amp;gt; (others =&amp;gt; (0, Tag_Type'Last))));&#xA;&#xA;   procedure Print_Solutions&#xA;     (SuSize, Last, SuSum : in Natural; Result : in String);&#xA;   procedure Print_Solutions&#xA;     (SuSize, Last, SuSum : in Natural; Result : in String)&#xA;   is&#xA;   begin&#xA;      if 0 = SuSize and 0 = SuSum then&#xA;         Put_Line (Result);&#xA;      else&#xA;         for I in reverse 1 .. Last loop&#xA;            declare&#xA;               Flag : constant Flag_Type := T (SuSize, I, SuSum);&#xA;            begin&#xA;               if 0 &amp;lt; Flag.Value then&#xA;                  if 1 = I or else Flag /= T (SuSize, I - 1, SuSum) then&#xA;                     Print_Solutions&#xA;                       (SuSize - 1,&#xA;                        I - 1,&#xA;                        SuSum - Natural (Flag.Value),&#xA;                        (Flag.Value'Img) &amp;amp;&#xA;&#xA;                        --  Uncomment the line below to append the sequence&#xA;                        --  number to each value.&#xA;                        --  Integer (-Flag.Tag)'Img &amp;amp;&#xA;&#xA;                        Result);&#xA;                  end if;&#xA;               end if;&#xA;            end;&#xA;         end loop;&#xA;      end if;&#xA;   end Print_Solutions;&#xA;&#xA;   Input_Error : exception;&#xA;&#xA;begin&#xA;&#xA;   --  Tag the input values with a sequence number.&#xA;   begin&#xA;      Set (1) := (Value_Value_Type'Value (Argument (3)), 1);&#xA;      for I in 2 .. Set'Last loop&#xA;         Set (I) := (Value_Value_Type'Value (Argument (I + 2)), Tag_Type (I));&#xA;      end loop;&#xA;   exception&#xA;      when Constraint_Error =&amp;gt; raise Input_Error;&#xA;   end;&#xA;&#xA;   --  Flag all cells that should be flagged for subset size 1.&#xA;   for I in Set'Range loop&#xA;      if Positive (Set (I).Value) &amp;lt;= Subset_Sum then&#xA;         for J in I .. Set'Length loop&#xA;            T (1, J, Positive (Set (I).Value)) :=&#xA;              (Flag_Value_Type (Set (I).Value), Set (I).Tag);&#xA;         end loop;&#xA;      end if;&#xA;   end loop;&#xA;&#xA;   --  Flag all cells that should be flagged for subset size &amp;gt; 1.&#xA;   for I in 2 .. Subset_Size loop&#xA;      for J in 2 .. Set'Length loop&#xA;         for K in 2 .. Subset_Sum loop&#xA;            T (I, J, K) := T (I, J - 1, K);&#xA;         end loop;&#xA;         for K in Positive (Set (J).Value) + 1 .. Subset_Sum loop&#xA;            if 0 &amp;lt; T (I - 1, J - 1, K - Positive (Set (J).Value)).Value then&#xA;               T (I, J, K) := (Flag_Value_Type (Set (J).Value), Set (J).Tag);&#xA;            end if;&#xA;         end loop;&#xA;      end loop;&#xA;   end loop;&#xA;&#xA;   Print_Solutions (Subset_Size, Set'Length, Subset_Sum, &quot;&quot;);&#xA;&#xA;exception&#xA;   when Input_Error =&amp;gt;&#xA;      Put_Line&#xA;        (Standard_Error,&#xA;         &quot;Wrong argument (try &quot;&quot;subset_sum &amp;lt;subset_size&amp;gt; &amp;lt;subset_sum&amp;gt; &amp;lt;value&amp;gt; &quot;&#xA;         &amp;amp; &quot;&amp;lt;value&amp;gt; ...&quot;&quot;)&quot;);&#xA;      Set_Exit_Status (Failure);&#xA;end Subset_Sum;&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Use case:&lt;/strong&gt; Suppose that an organization had a meeting with a voting. The published information says that 5 shareholders with 4387 votes voted Yes. The electoral register lists participants with the votes 1, 4, 800, 19, 37, 505, 1002, 991, 1288, 455, 387, 367, 367, 199, 425, 1581 and 2054. The program solves this:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;$ ./subset_sum 5 4387 1 4 800 19 37 505 1002 991 1288 455 387 367 367 199 425 1581 2054&#xA; 800 37 505 991 2054&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;The program is designed to handle duplicate values by attaching a sequence number to each, making it unique. The sequence numbers can be included in the printed solutions. In the above use case, the sequence number can be useful as a reference back into the electoral register.&lt;/p&gt;&#xA;" OwnerUserId="30326" LastEditorUserId="30326" LastEditDate="2014-12-14T18:46:02.190" LastActivityDate="2014-12-14T18:46:02.190" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27804" PostTypeId="1" CreationDate="2014-12-12T15:20:40.823" Score="2" ViewCount="305" Body="&lt;p&gt;What algorithms are known for the graph isomorphism problem? Can those algorithms be related to algorithms for other graph theoretical problems (e.g. subgraph problem, counting graph isomorphisms)?&lt;/p&gt;&#xA;" OwnerUserId="4346" LastActivityDate="2014-12-12T15:20:40.823" Title="Known algorithms for Graph isomorphism" Tags="&lt;graph-theory&gt;&lt;graph-isomorphism&gt;" AnswerCount="0" CommentCount="4" ClosedDate="2014-12-13T08:54:15.510" ContentLicense="CC BY-SA 3.0" />
  <row Id="27805" PostTypeId="2" ParentId="12785" CreationDate="2014-12-12T20:02:33.120" Score="12" Body="&lt;p&gt;For matrices of sizes $k = 2,3$ the &lt;strong&gt;Matrix Powering Positivity Problem&lt;/strong&gt; is in $\mathsf{P}$ (cf. &lt;a href=&quot;https://www.cs.ox.ac.uk/people/joel.ouaknine/publications/matrix-powering15abs.html&quot;&gt;this&lt;/a&gt; paper to appear in STACS 2015)&lt;/p&gt;&#xA;" OwnerUserId="214" LastActivityDate="2014-12-12T20:02:33.120" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27806" PostTypeId="1" CreationDate="2014-12-12T20:27:44.733" Score="0" ViewCount="186" Body="&lt;p&gt;So I'm wondering, first off, where I can read up to get a feel for state-of-the-art matrix multiplication concepts.  I'll try to be more specific:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm wondering if there has been research on circuits that compute a pre-defined matrix function.  For instance, if we have a function such as $(AB)+C+(DEF)(AB)$, where all the variables are matrices with given sizes, how efficient can we make a circuit that computes this function?  I've been toying with an idea in which the entries are all computed modulo $p$.  So I'm wondering, broadly, what I can read up on to be up-to-date.&lt;/p&gt;&#xA;" OwnerUserId="1549" LastActivityDate="2014-12-13T04:46:54.443" Title="What is known about matrix multiplication, and matrix circuits?" Tags="&lt;matrices&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27808" PostTypeId="1" AcceptedAnswerId="27815" CreationDate="2014-12-12T23:41:49.550" Score="7" ViewCount="468" Body="&lt;p&gt;Here is the algorithmic problem I'm trying to solve:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a list of integers $x_1, x_2, \dots, x_n$ find a permutation $p_1, p_2, \dots, p_n \in [n]$ that maximises the sum $\sum_{i=1}^{n-1}|x_{p_{i+1}} - x_{p_i}|$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think this can be solved in $O(n\log n)$, I thought of sorting the list and returning a list where first element is maximum element, next element is minimum, next is maximum of those which are left, etc. But this leads to nowhere, I cannot prove that it's correct, so probably it isn't. So, any tips how to tackle this problem?&lt;/p&gt;&#xA;" OwnerUserId="30331" LastEditorUserId="508" LastEditDate="2014-12-14T06:02:29.320" LastActivityDate="2014-12-14T08:31:41.713" Title="Finding a permutation $p$ of $x_1, x_2, \dots, x_n$ which maximises $\sum_{i=1}^{n-1}|x_{p_{i+1}}-x_{p_i}|$" Tags="&lt;ds.algorithms&gt;" AnswerCount="4" CommentCount="3" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="27810" PostTypeId="2" ParentId="27806" CreationDate="2014-12-13T04:46:54.443" Score="2" Body="&lt;p&gt;While I don't know about the complexity of matrix polynomials in general, the state of the art in the complexity of matrix multiplication is nicely summarized in a &lt;a href=&quot;http://theoryofcomputing.org/articles/gs005/&quot; rel=&quot;nofollow&quot;&gt;recent ToC Graduate Survey by Markus Bläser&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Computing entries mod $p$ is basically the same as the question of the complexity of performing the computation over the field $\mathbb{F}_p$, which is fairly well-studied (though perhaps not as well-studied as characteristic zero). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Most matrix multiplication research works in the nonuniform setting anyways, so it should almost all be relevant to the question of circuit size.&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2014-12-13T04:46:54.443" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27811" PostTypeId="2" ParentId="27808" CreationDate="2014-12-13T06:56:52.083" Score="1" Body="&lt;p&gt;The starting point with evaluating any greedy algorithm is to try running it on a bunch of examples, to see if it always works on all of them.  (Hint: write a program, generate one million test cases, and see if it computes the right answer for every one of them.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If it fails on &lt;em&gt;any&lt;/em&gt; of them, you have a counterexample, and you know your algorithm is incorrect.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If it works on all of them, then you can start looking for a proof of correctness.  Typically this will involve a kind of &quot;swapping&quot; or &quot;exchange argument&quot;. See any good textbook in the section on greedy algorithms; it will typically present examples of greedy algorithms and proofs that use this strategy.&lt;/p&gt;&#xA;" OwnerUserId="5038" LastActivityDate="2014-12-13T06:56:52.083" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27814" PostTypeId="2" ParentId="27723" CreationDate="2014-12-13T12:37:02.747" Score="5" Body="&lt;p&gt;If you are looking at North America, &lt;a href=&quot;https://cs.uwaterloo.ca/~shallit/&quot;&gt;Jeffrey Shallit&lt;/a&gt; does research on the subject at the University of Waterloo.&lt;/p&gt;&#xA;" OwnerUserId="1632" LastActivityDate="2014-12-13T12:37:02.747" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27815" PostTypeId="2" ParentId="27808" CreationDate="2014-12-13T13:51:27.313" Score="7" Body="&lt;p&gt;&lt;em&gt;This is not a complete answer, but it may be helpful.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A piece of &lt;em&gt;Mathematica&lt;/em&gt; code finds a &lt;em&gt;counterexample&lt;/em&gt; of your greedy strategy: Consider the list of integers $\{51,54,55,70,98\}$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Your algorithm gives $\{98,51,70,54,55\}$ (Have I misunderstood your idea?) and the sum is 83. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The program produces four permutations with the sum 125: $\{54, 98, 51, 70, 55\}, \{54, 70, 51, 98, 55\}, \{55, 98, 51, 70, 54\}, \{55, 70, 51, 98, 54\}$.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;It seems that you should put the maximal(s) between minimal(s) as far as possible. &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;You can post other greedy strategies and prove (or &lt;em&gt;disprove!&lt;/em&gt;) them by employing (maybe combining them) classic proof strategies such as mathematical induction, contradiction, and exchange argument.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Actually, I don't quite understand why my answer (instead of that of @Marzio De Biasi) was accepted. Maybe the OP only want to know whether his/her greedy strategy is correct or not. Whatever, please refer to the answer of @Marzio De Biasi (and also other ones) for a complete solution.&lt;/p&gt;&#xA;" OwnerUserId="12739" LastEditorUserId="12739" LastEditDate="2014-12-14T01:49:31.863" LastActivityDate="2014-12-14T01:49:31.863" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27816" PostTypeId="1" CreationDate="2014-12-13T15:25:51.637" Score="2" ViewCount="442" Body="&lt;p&gt;The famous FTPL algorithm [1] is analyzing &lt;strong&gt;linear&lt;/strong&gt; cost function. Is there any generalized proof for &lt;strong&gt;nonlinear&lt;/strong&gt; functions known? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that in the last paragraph of [1] it says &quot;It would be great to generalize FPL to nonlinear problems&quot;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In [2] (page 69, 70, 71) there is analysis of FTPL for general functions, but the resulting bound $O(T)$ does not attain the optimal bound (i.e. $\sqrt{T}$). Are you aware of better analysis for FTPL (with general nonlinear functions) that attain the optimal regret?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt;  The algorithm in [2] is indeed $O(\sqrt{T})$ (by choosing $\eta = 1/\sqrt{T}$) but it is calling the linear optimiazation oracle many times (not just once as in [1]), which results in having a different bound. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] &lt;a href=&quot;http://people.cs.uchicago.edu/~kalai/papers/onlineopt/onlineopt.pdf&quot; rel=&quot;nofollow&quot;&gt;http://people.cs.uchicago.edu/~kalai/papers/onlineopt/onlineopt.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] &lt;a href=&quot;http://ocobook.cs.princeton.edu/OCObook.pdf&quot; rel=&quot;nofollow&quot;&gt;http://ocobook.cs.princeton.edu/OCObook.pdf&lt;/a&gt; &lt;/p&gt;&#xA;" OwnerUserId="15645" LastEditorUserId="15645" LastEditDate="2014-12-15T18:18:57.973" LastActivityDate="2019-06-29T15:01:05.120" Title="Follow the Perturbed Leader for nonlinear cost functions" Tags="&lt;optimization&gt;&lt;machine-learning&gt;&lt;lg.learning&gt;&lt;online-algorithms&gt;&lt;online-learning&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27817" PostTypeId="2" ParentId="27801" CreationDate="2014-12-13T16:56:51.643" Score="2" Body="&lt;p&gt;research into GPU algorithms continues and it is well suited to some problems, but some of the initial excitement may be wearing off after lackluster results and difficulty of translating problems into GPU approaches. also in recent times there is some consternation over transfer overhead to/ from the GPU. from anecdotal/ background stories/ conversations shared by some physics researchers, some universities (eg specializing in supercomputing) spent significant money on GPU clusters which are not largely utilized (eg in physics simulations contexts?), but what factor that may be due to is not clear. a forthright appraisal might observe that historically GPU companies might have overhyped the potential somewhat akin to the &lt;a href=&quot;http://en.wikipedia.org/wiki/Hype_cycle&quot; rel=&quot;nofollow noreferrer&quot;&gt;Gartner hype curve&lt;/a&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;a possibly helpful paradigm for understanding the GPU role in parallel computing is the Berkeley framework of 7 &quot;dwarves&quot; &amp;amp; there is some brief mention of GPU there. another recent success story, at one point GPUs for a time period/ window were heavily used in bitcoin mining, but they are now almost entirely eclipsed by custom ASIC solutions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;from the theoretical pov there may not be so much interest due to that they are to some degree &quot;just a hardware implementation detail&quot; and possibly at best leading to linear speedups (albeit for sizeable/ worthwhile constants) even with ingenious implementations.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://scicomp.stackexchange.com/questions/943/what-kinds-of-problems-lend-themselves-well-to-gpu-computing&quot;&gt;what kind of problems lend themselves well to gpu computing?&lt;/a&gt; scicomp.se&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://geomblog.blogspot.com/2013/05/on-gpu-algorithms.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;on GPU algorithms (wrt TCS community)&lt;/a&gt; Suresh Venkatasubramanian (tcs.se mod) &amp;amp; commentary by other researchers&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://www.cs.virginia.edu/kim/docs/ispass11.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Where is the Data? Why You Cannot Debate CPU vs. GPU Performance Without the Answer&lt;/a&gt; Gregg / Hazel&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://www.princeton.edu/~dlustig/dlustig_HPCA13.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Reducing GPU Offload Latency via Fine-Grained CPU-GPU Synchronization&lt;/a&gt; Lustig/ Martonosi&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://stackoverflow.com/questions/6500905/techniques-to-reduce-cpu-to-gpu-data-transfer-latency&quot;&gt;techniques to reduce cpu to gpu data transfer latency&lt;/a&gt; stackoverflow&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://www.cs.virginia.edu/~mwb7w/cuda_support/memory_transfer_overhead.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;CUDA memory transfer overhead&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://www.eecs.berkeley.edu/Pubs/TechRpts/2006/EECS-2006-183.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;The Landscape of Parallel Computing Research: A View from Berkeley&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="-1" LastEditDate="2017-05-23T12:40:09.333" LastActivityDate="2014-12-13T16:56:51.643" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27818" PostTypeId="2" ParentId="27808" CreationDate="2014-12-13T20:50:37.173" Score="8" Body="&lt;p&gt;I found that the problem has been used in a student programming contest.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;... if you still want to try to solve it by yourself don't move the mouse over the area below !!! :-)&lt;/p&gt;&#xA;&#xA;&lt;blockquote class=&quot;spoiler&quot;&gt;&#xA;  &lt;p&gt;The programmingn contest is the Bubble Cup 7DC, Belgrade 2012.&lt;br&gt;&lt;br&gt;The key idea to solve it is to consider the middle element of the given array after sorting it in increasing order (if the number of elements is even then pick the value between the two middle elements); it splits the set in two halves $A$ and $B$.&lt;br&gt;&lt;br&gt;Then it is easy to prove that an optimal solution cannot contain three consecutive elements in increasing (or decreasing) order $... x_i &amp;lt; x_j &amp;lt; x_k ...$ because it is enough to move the middle element at the end of the array and the sum cannot decrease after the trasformation. So an optimal solution must proceed in a zig-zag style. Then we can prove that the optimal solution cannot contain two consecutive elements from the same side. Suppose that we have somewhere $... x_i, x_j, x_k ...$ with $x_i&amp;gt; x_j &amp;lt; x_k$ and $x_i, x_j, x_k \in B$. Then then the remaining sequence must contain three consecutive elements from $A$  $...x'_i,x'_j,x'_k...$ ordered as $x'_i &amp;lt; x'_j &amp;gt; x'_k$. Then $A \ni x'_j &amp;lt; x_j \in B$ can be swapped preserving the inequalities and strictly increasing the value of the sum.&lt;br&gt;&lt;br&gt;For the detailed proof see: &lt;a href=&quot;http://www.bubblecup.org/Media/Default/BlogPost/Booklet%202012.pdf&quot;&gt;Bubble Cup 7DC - Problem C: MaxDiff&lt;/a&gt;&lt;br&gt;&lt;br&gt;(it contains other nice problems)&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2014-12-13T21:11:56.683" LastActivityDate="2014-12-13T21:11:56.683" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="27819" PostTypeId="2" ParentId="25022" CreationDate="2014-12-13T20:53:18.060" Score="1" Body="&lt;p&gt;Erlang is an example. I actually don't know Erlang, so I'm going to use some pseudocode:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose you have two threads, Alice and Bob. They talk by calling each other's &lt;code&gt;Send&lt;/code&gt; member route, which blocks until the other end replies. Alice can keep some &quot;mutable state&quot; for a single integer as follows:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;Alice:&#xA;  function main_loop(state):&#xA;     message = Receive()&#xA;     if message == &quot;get&quot;:&#xA;        Reply(state)&#xA;     else&#xA;        Reply(&quot;Okay&quot;)&#xA;        main_loop(message)&#xA;  main_loop(0)&#xA;&#xA;Bob:&#xA;  Alice.Send(100) // Store 100 into the mutable state&#xA;  Alice.Send(&quot;get&quot;) // obtain the 100&#xA;  Alice.Send(200) // Store 200&#xA;  Alice.Send(&quot;get&quot;) // get the 200&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;" OwnerUserId="17231" LastActivityDate="2014-12-13T20:53:18.060" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27820" PostTypeId="1" CreationDate="2014-12-13T20:55:13.653" Score="7" ViewCount="716" Body="&lt;p&gt;Context: For fun and perhaps for actual use, I'm making my own programming language that would compile to &lt;a href=&quot;http://docs.racket-lang.org/ts-guide/&quot; rel=&quot;noreferrer&quot;&gt;Typed Racket&lt;/a&gt;, a statically-typed Lisp dialect. One of the major features I want to implement is rampantly persistent data structures in the standard library. Persistent dictionaries are basically a solved problem (AVL trees, red-black trees aren't much slower than hash tables), I'm now trying to find a good solution for persistent vectors.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In Okasaki's famous &lt;em&gt;Purely Functional Data Structures&lt;/em&gt;, &quot;skew binary random access lists&quot; were introduced. Apparently, they have $O(1)$ prepend, $O(1)$ index to first and last, and $O(\log n)$ random access and update. By my own little microbenchmarks, this data structure is one of the fastest ways to implement a persistent vector: in particular it seems to be much faster than hash-trie based methods like the one used by Clojure, or things such as Braun trees. In fact, indexing near the beginning is only around 2x slower than Lisp linked lists' &lt;code&gt;car&lt;/code&gt; operation! In addition, prepend and modification near the front is extremely fast, which allows these lists to be used in places where linked lists are idiomatic (implementing &lt;code&gt;map&lt;/code&gt; by recursion on the remaining portion for example). Clojure's hash tries, to put it vulgarly, suck &lt;em&gt;really&lt;/em&gt; bad when appended to in a loop due to copying a 32-pointer block over and over, and thus Clojure also uses a primitive linked-list data type. I want to avoid that.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the same book, &quot;catenable lists&quot; that have $O(\log n)$ append were discussed, but these lists have $O(n)$ performance on update and index.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Bagwell and Rompf's &lt;em&gt;RRB-Trees: Efficient Immutable Vectors&lt;/em&gt; gives a modification to the Clojure-style persistent hash trie that allows $O(\log n)$ append (and surprisingly, range) while preserving $O(\log n)$ indexing. However, I'm not that keen to adopt a hash-trie for my standard persistent vector, since that would mean giving up the incredibly fast performance of skewed binary random access lists. Hash-tries are fine for implementing dictionaries, but I feel that they would be too slow for a general array/list datatype.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a data structure with $O(1)$ &lt;code&gt;car&lt;/code&gt; and $O(\log n)$ updating, like Okasaki's skewed binary random access lists, while having sublinear append? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Edit&lt;/em&gt;: Herp derp, skewed binary RA lists don't have $O(1)$ access to the middle&lt;/p&gt;&#xA;" OwnerUserId="17231" LastEditorUserId="17231" LastEditDate="2014-12-14T03:46:38.513" LastActivityDate="2014-12-14T03:46:38.513" Title="Is there a purely functional vector with O(1) access to the front and back but O(log n) concatenation?" Tags="&lt;ds.data-structures&gt;&lt;functional-programming&gt;" AnswerCount="0" CommentCount="7" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="27821" PostTypeId="1" CreationDate="2014-12-13T23:56:22.617" Score="4" ViewCount="1126" Body="&lt;p&gt;Rademacher complexity and empirical Rademacher complexity are used to provide upper bound on the loss of solving an learning problem. &#xA;That seems to imply that Rademacher complexity and empirical Rademacher complexity can't be negative. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;But from their definitions, I can't figure out if they are indeed always nonnegative. So what is the truth? Thanks.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For their definitions, I refer to  &lt;a href=&quot;http://www.cc.gatech.edu/~ninamf/ML11/lect1115.pdf&quot; rel=&quot;noreferrer&quot;&gt;http://www.cc.gatech.edu/~ninamf/ML11/lect1115.pdf&lt;/a&gt;. &lt;/p&gt;&#xA;" OwnerUserId="1003" LastActivityDate="2014-12-14T02:22:46.123" Title="Are (empirical) Rademacher complexity always positive?" Tags="&lt;machine-learning&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27822" PostTypeId="2" ParentId="27821" CreationDate="2014-12-14T00:58:31.143" Score="5" Body="&lt;p&gt;Yes, the empirical Rademacher complexity is non-negative, and this follows from Jensen's inequality. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For completeness, the empirical Rademacher complexity $\hat{R}(\mathcal{F}, X)$ given a sample $X = \{x_1, \ldots, x_m\}$ and a class of real-valued functions $\mathcal{F}$ whose domain contains $X$ is &#xA;$$&#xA;\hat{R}(\mathcal{F}, X) := \mathbb{E}_\sigma \sup_{f \in \mathcal{F}}\sum_{i = 1}^m{\sigma_i f(x_i)},&#xA;$$&#xA;where the expectation is over $m$ independent random variables $\sigma:= (\sigma_1, \ldots, \sigma_m)$ sampled uniformly from $\{-1, 1\}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Notice that $\sup_{f \in \mathcal{F}}\sum_{i = 1}^m{\sigma_i f(x_i)}$ is a convex function of $\sigma$, because it is the supremum of linear functions. Then, by Jensen and linearity of expectation,&#xA;$$&#xA;\mathbb{E}_\sigma \sup_{f \in \mathcal{F}}\sum_{i = 1}^m{\sigma_i f(x_i)} &#xA;\geq \sup_{f \in \mathcal{F}}\sum_{i = 1}^m{\mathbb{E}[\sigma_i] f(x_i)}&#xA;= 0.&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The final equality follows because $\mathbb{E}[\sigma_i] = 0$ for all $i$. &lt;/p&gt;&#xA;" OwnerUserId="4896" LastEditorUserId="4896" LastEditDate="2014-12-14T02:22:46.123" LastActivityDate="2014-12-14T02:22:46.123" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="27823" PostTypeId="2" ParentId="27808" CreationDate="2014-12-14T01:21:49.977" Score="4" Body="&lt;p&gt;Although I'm late to the game, it's still useful to have a reference.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is a variation of the dart board design problem. The $x_i$s are the scores for each wedge of the dart board. The goal is to make sure if one decide to hit a particular slice, there will be a huge penalty if the player misses: A large gap in the scores between two adjacent wedge. Hence it is formulated as maximize &#xA;$$\sum_{i=1}^n |x_{\pi(i)}-x_{\pi(i-1)}|^p$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where $p\geq 1$ and $\pi$ is a permutation and $\pi(0)=\pi(n)$.&#xA;Your version that maximize&#xA;$$\sum_{i=2}^n |x_{\pi(i)}-x_{\pi(i-1)}|^p$$&#xA;is the hoopla board design problem. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Curtis have a greedy algorithm for both problems, and it is very close to your algorithm$^1$. The only difference is you are growing the list in only one direction, but Curtis grow the list in both direction: add an element that maximizes the difference to either end of the list.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Update :&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Actually, this follows directly from an much older result that keep getting rediscovered: (maximum) TSP problem where the distance matrix is a &lt;a href=&quot;http://en.wikipedia.org/wiki/Supnick_matrix&quot; rel=&quot;nofollow&quot;&gt;Supnick matrix&lt;/a&gt;. &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;S.A. Curtis, Darts and hoopla board design, &lt;em&gt;Information Processing Letters&lt;/em&gt;, Volume 92, Issue 1, 16 October 2004, Pages 53-56, ISSN 0020-0190, &lt;a href=&quot;http://dx.doi.org/10.1016/j.ipl.2004.06.005&quot; rel=&quot;nofollow&quot;&gt;http://dx.doi.org/10.1016/j.ipl.2004.06.005&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="314" LastEditorUserId="314" LastEditDate="2014-12-14T08:31:41.713" LastActivityDate="2014-12-14T08:31:41.713" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27824" PostTypeId="1" AcceptedAnswerId="27863" CreationDate="2014-12-14T03:13:42.987" Score="22" ViewCount="1175" Body="&lt;p&gt;I know that the complexity of most varieties of typed lambda calculi without the Y combinator primitive is bounded, i.e. only functions of bounded complexity can be expressed, with the bound becoming larger as the expressiveness of the type system grows. I recall that, e.g., the Calculus of Constructions can express at most doubly exponential complexity.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question concerns whether the typed lambda calculi can express &lt;strong&gt;all&lt;/strong&gt; algorithms below a certain complexity bound, or only some? E.g. are there any exponential-time algorithms not expressible by any formalism in the Lambda Cube? What is the &quot;shape&quot; of the complexity space which is completely covered by different vertices of the Cube?&lt;/p&gt;&#xA;" OwnerUserId="326" LastActivityDate="2018-04-03T11:25:05.003" Title="Can typed lambda calculi express *all* algorithms below a given complexity?" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;lambda-calculus&gt;&lt;typed-lambda-calculus&gt;" AnswerCount="3" CommentCount="5" FavoriteCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="27826" PostTypeId="2" ParentId="27490" CreationDate="2014-12-14T07:35:28.870" Score="3" Body="&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Inversion_%28discrete_mathematics%29&quot; rel=&quot;nofollow noreferrer&quot;&gt;Inversions&lt;/a&gt; are one way to measure &quot;disorder&quot; in a list:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Let $A[1..n]$ be an array of $n$ distinct numbers.  If $i &amp;lt; j$ and $A[i] &amp;lt; A[j]$ then the pair $(i,j)$ is an &lt;strong&gt;&lt;em&gt;inversion&lt;/em&gt;&lt;/strong&gt; of $A$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;However, it's not the only such measure. In general, this concept is formalized in the notion of &lt;strong&gt;&lt;em&gt;presortedness&lt;/em&gt;&lt;/strong&gt; - roughly:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;An integer function on a permutation $\sigma$ of a totally ordered set that reflects how much $\sigma$ differs from the total order.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The survey papers by Mannila [1] and Estivill-Castro &amp;amp; Wood [2] might be good places to start. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The question &lt;a href=&quot;https://cs.stackexchange.com/questions/11836/how-to-measure-sortedness&quot;&gt;How to measure &quot;sortedness&quot;&lt;/a&gt; is related.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;[1] &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=2283359&quot; rel=&quot;nofollow noreferrer&quot;&gt;Heikki Mannila. &quot;Measures of Presortedness and Optimal Sorting Algorithms.&quot; IEEE Transactions on Computers 34.4 (1985): 318-325.&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.45.8017&quot; rel=&quot;nofollow noreferrer&quot;&gt;Estivill-Castro, Vladmir, and Derick Wood. &quot;A survey of adaptive sorting algorithms.&quot; ACM Computing Surveys (CSUR) 24.4 (1992): 441-476.&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="29000" LastEditorUserId="-1" LastEditDate="2017-04-13T12:48:30.830" LastActivityDate="2014-12-14T07:35:28.870" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27829" PostTypeId="1" CreationDate="2014-12-14T12:04:29.767" Score="10" ViewCount="328" Body="&lt;p&gt;I'm interested in a variant of the maximum weight matching in a graph, which I call &quot;Maximum Fair Matching&quot;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assume that the graph is full (i.e. $E=V\times V$), has even number of vertices, and that the weight is given by a profit function $p:{V\choose 2}\to \mathbb N$. Given a matching $M$, denote by $M(v)$ the profit of the edge $v$ is matched with.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A matching $M$ is a fair matching iff, for any two vertices $u,v\in V$:&#xA;$$(\forall w\in V:\ \  p(\{w,v\})\geq p(\{w,u\}))\to M(v)\geq M(u)$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;That is, if for any vertex $w\in V$, matching $w$ to a vertex $v$ gives higher profit than matching it to a vertex $u$, a fair matching must suffice $M(v)\geq M(u)$.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Can we find a maximum weight fair matching efficiently?&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;An interesting case is when the graph is bipartite and the fairness only applies to one side, that is assume that $G=(L\cup R,L\times R)$, and we are given a profit function $p:L\times R\to \mathbb N$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A &lt;em&gt;Fair Bipartite Matching&lt;/em&gt; is a matching in $G$ such that for any two vertices $u,v\in L$: &#xA;$$(\forall w\in R:\ \  p(\{v,w\})\geq p(\{u,w\}))\to M(v)\geq M(u)$$&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;How fast can we find a maximum weight fair bipartite matching?&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;The motivation for this problem comes from the bipartite special case.&#xA;Assume you have $n$ workers and $m$ tasks, and worker $i$ can produce $p_{i,j}$ profit from work $j$. To problem here is to design a reasonable (in a sense workers will not feel &quot;ripped-off''), while maximizing the total payoffs. (There is a tradeoff here between the power of the assignment mechanism and the social benefit).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we define the social-welfare (or the factory profit) of the assignment of workers to jobs as the sum of profits.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Looking at different scenarios for the power of the job assigner, we get the following results:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;If we are allowed to assign any worker to any job, we can optimize the factory efficiently (just find a maximal-weight matching).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;If every worker chooses a task on his own, assuming that his work will be selected (only a single work can be selected for each job) should he be the most qualified worker that chose the task, workers will converge into the ''greedy'' equilibrium. The reason is that the worker that could earn the most ($i=\mbox{argmax}_i \max_j p_{i,j}$) will choose the most profitable job, and so on. By the approximation rate of the greedy algorithm for matching, this should give a 2-approximation of the maximal social-welfare possible.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;I'm looking for something in-between. Let's assume we could assign workers to jobs, but have to promise them that no &quot;less-qualified&quot; worker earns more than them.&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;How can we find a maximal weight matching promising &quot;fairness&quot; to employees efficiently?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="21001" LastEditorUserId="21001" LastEditDate="2014-12-17T14:08:41.210" LastActivityDate="2018-07-04T01:18:44.210" Title="Maximum weight &quot;fair&quot; matching" Tags="&lt;ds.algorithms&gt;&lt;graph-algorithms&gt;&lt;np-hardness&gt;&lt;matching&gt;&lt;bipartite-graphs&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="27830" PostTypeId="1" AcceptedAnswerId="27887" CreationDate="2014-12-14T14:39:26.000" Score="10" ViewCount="574" Body="&lt;p&gt;&lt;em&gt;Background:&lt;/em&gt; Transaction processing has been a traditional research topic in database theory.&#xA;Nowadays &lt;em&gt;distributed transactions&lt;/em&gt; are popularized by the large-scale distributed storage systems which typically involve &lt;em&gt;data partition&lt;/em&gt; (also called sharding) and &lt;em&gt;data replication&lt;/em&gt;.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;What are the major research issues in distributed transactions?&lt;/p&gt;&#xA;&lt;p&gt;Are there well-known theories and solutions which need (theoretical) improvement?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Any references are appreciated.&lt;/p&gt;&#xA;" OwnerUserId="12739" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2014-12-23T04:59:52.210" Title="What are the major research issues in distributed transactions?" Tags="&lt;reference-request&gt;&lt;big-list&gt;&lt;dc.distributed-comp&gt;&lt;db.databases&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="27832" PostTypeId="1" CreationDate="2014-12-14T15:48:47.340" Score="2" ViewCount="40" Body="&lt;p&gt;Is there any abstract definition for 'shapes' of a cluster?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am currently working on providing for a set of axioms to study clustering. In my work, I have found a need for an abstract definition for 'shape'. I wish to know if indeed there is such a definition. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have searched for the existence of said definition and have found &lt;a href=&quot;http://en.wikipedia.org/wiki/Alpha_shape&quot; rel=&quot;nofollow&quot;&gt;this&lt;/a&gt;: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I wish to know if there are other definitions. &lt;/p&gt;&#xA;" OwnerUserId="23027" LastEditorUserId="23027" LastEditDate="2014-12-14T15:54:50.573" LastActivityDate="2014-12-14T15:54:50.573" Title="Concept of 'shape' in clustering" Tags="&lt;clustering&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27833" PostTypeId="1" AcceptedAnswerId="27834" CreationDate="2014-12-14T17:26:33.207" Score="8" ViewCount="479" Body="&lt;p&gt;Assume that for a given minimization problem with only integer solutions, it is $NP$-hard to decide if the optimal solution is 5 or 6. I.e., a polynomial-time algorithm with an approximation ratio better than 6/5 would imply $P=NP$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) Does this imply that the problem is $APX$-hard as well? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) Is there a common way of stating this inapproximability fact, besides stating that &quot;it is $NP$-hard to approximate with an approximation ratio strictly better than 6/5&quot;?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thank you!&lt;/p&gt;&#xA;" OwnerUserId="30348" LastEditorUserId="21001" LastEditDate="2014-12-15T18:30:57.697" LastActivityDate="2014-12-15T18:30:57.697" Title="Does $NP$-hardness of $c$-approximation (for some $c&gt;1$) imply $APX$-hardness?" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;&lt;approximation-hardness&gt;&lt;apx&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27834" PostTypeId="2" ParentId="27833" CreationDate="2014-12-14T17:45:11.677" Score="12" Body="&lt;p&gt;The answer for (1) is &quot;unlikely&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is simple to show (reduce from $Partition$) there exists no $\alpha$-approximation for Bin Packing, for any $\alpha&amp;lt;\frac{3}{2}$, unless $P=NP$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;That said, &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.45.7862&amp;amp;rep=rep1&amp;amp;type=pdf&quot;&gt;Crescenzi et al.&lt;/a&gt; have shown that unless the polynomial hierarchy collapses, Bin Packing is &lt;strong&gt;not&lt;/strong&gt; APX-Hard.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As for (2), perhaps you could phrase it as &quot;Does not admit $PTAS$ unless $P=NP$&quot;.&lt;/p&gt;&#xA;" OwnerUserId="21001" LastActivityDate="2014-12-14T17:45:11.677" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27837" PostTypeId="1" AcceptedAnswerId="27838" CreationDate="2014-12-07T23:38:54.087" Score="1" ViewCount="415" Body="&lt;p&gt;Is there a direct conversion between gradient descent ([1], Alg 1 )&#xA;and any of the following algorithms? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) Weighted Majority: &lt;a href=&quot;http://onlineprediction.net/?n=Main.WeightedMajorityAlgorithm&quot; rel=&quot;nofollow&quot;&gt;http://onlineprediction.net/?n=Main.WeightedMajorityAlgorithm&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) Follow the Leader:  &lt;a href=&quot;http://people.cs.uchicago.edu/~kalai/papers/onlineopt/onlineopt.pdf&quot; rel=&quot;nofollow&quot;&gt;http://people.cs.uchicago.edu/~kalai/papers/onlineopt/onlineopt.pdf&lt;/a&gt; &#xA;I keep seeing these together, but I don't see the direct conversion. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] &lt;a href=&quot;http://moodle.technion.ac.il/pluginfile.php/195968/mod_resource/content/0/OCP_ICML03.pdf&quot; rel=&quot;nofollow&quot;&gt;http://moodle.technion.ac.il/pluginfile.php/195968/mod_resource/content/0/OCP_ICML03.pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="15645" OwnerDisplayName="Daniel" LastActivityDate="2014-12-15T01:37:17.533" Title="direct connection between gradient descent and follow the (perturbed) leader algorithm or weighted majority?" Tags="&lt;optimization&gt;&lt;convex-optimization&gt;&lt;machine-learning&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27838" PostTypeId="2" ParentId="27837" CreationDate="2014-12-15T01:37:17.533" Score="2" Body="&lt;p&gt;Yes -- both gradient descent and the randomized weighted majority algorithm (often called multiplicative weights these days) are instantiations of the &quot;Follow the regularized leader&quot; framework. Gradient descent is what comes out if you regularize with the euclidean norm, and multiplicative weights is what comes out if you regularize with Shannon entropy. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;See e.g. here (&lt;a href=&quot;http://www.jennwv.com/courses/F11/lecture11.pdf&quot; rel=&quot;nofollow&quot;&gt;http://www.jennwv.com/courses/F11/lecture11.pdf&lt;/a&gt;) for a derivation of the weighted majority algorithm from this framework. &lt;/p&gt;&#xA;" OwnerUserId="25" LastActivityDate="2014-12-15T01:37:17.533" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27842" PostTypeId="1" CreationDate="2014-12-15T09:02:29.613" Score="2" ViewCount="392" Body="&lt;p&gt;I have been working in a subset sum problem solver for some time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The implementation is an exact/exhaustive search solver.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The variable determining the asymptomatic growth rate is just $N$ (the number of elements in the input).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Current upper bound is $O^{*}(2^{log(N)^{2}})$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$M$, the bit length of each input variable from the set, does not impact/change the asymptomatic growth rate, that is, it has the same upper bound for an input set with 32 elements/32 bits per value than an input set with 32 elements using 35,50,64 (or more bits) to represent the values.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By current implementation details this is true for  $N \leq 33$. Higher values of $N$ will require to continue developing the method a bit.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Giving the above information. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Do you think it worth continue developing this method or better look to improve the upper bound before going into additional work?&lt;/p&gt;&#xA;" OwnerUserId="29210" LastEditorUserId="29210" LastEditDate="2014-12-15T17:59:11.567" LastActivityDate="2014-12-15T17:59:11.567" Title="Subset sum solver. Worth continue working on this method?" Tags="&lt;cc.complexity-theory&gt;&lt;time-complexity&gt;&lt;np-complete&gt;" AnswerCount="0" CommentCount="9" ClosedDate="2014-12-17T16:09:07.137" ContentLicense="CC BY-SA 3.0" />
  <row Id="27843" PostTypeId="1" CreationDate="2014-12-15T15:31:58.630" Score="1" ViewCount="130" Body="&lt;p&gt;Let $H$ be $\{-1,+1\}$ Hadamard matrix of size $2$ and $J$ be the same size all $1$ matrix. Let $W$ be $\frac{H+J}{2}$. Is the discrepancy of $W^{\otimes k}$ atmost $\sqrt{k^{-1}}$?&lt;/p&gt;&#xA;" OwnerUserId="1812" LastEditorUserId="1812" LastEditDate="2014-12-15T16:17:56.847" LastActivityDate="2014-12-15T16:17:56.847" Title="Discrepancy of Hadamard type matrix" Tags="&lt;co.combinatorics&gt;" AnswerCount="0" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="27844" PostTypeId="1" AcceptedAnswerId="27900" CreationDate="2014-12-15T16:18:57.680" Score="5" ViewCount="503" Body="&lt;p&gt;Suppose we have a multi-set $S$. For example,  $S = \{ 1,2,2,3 \}$. Suppose we also have a set $T$, e.g., $T=\{1,2,3\}$. I would like to say, compactly, that $S$, when its duplicates are removed, is equal to $T$. Is there a simple, standard notation to do this?&lt;/p&gt;&#xA;" OwnerUserId="30359" LastActivityDate="2014-12-20T01:57:18.300" Title="Is there notation for converting a multi-set to a set?" Tags="&lt;co.combinatorics&gt;&lt;notation&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27845" PostTypeId="1" AcceptedAnswerId="28024" CreationDate="2014-12-15T17:34:20.847" Score="11" ViewCount="569" Body="&lt;p&gt;I'd like to know (related to &lt;a href=&quot;https://cstheory.stackexchange.com/questions/27492/testing-sortedness-of-a-normalized-list-of-n-numbers&quot;&gt;this other question&lt;/a&gt;) if lower bounds were known for the following testing problem: one is given query access to a sequence of non-negative numbers $a_n \geq \dots\geq a_1$ and $\varepsilon \in (0,1)$, with the promise that either $\sum_{k=1}^n a_k = 1$ or $\sum_{k=1}^n a_k \leq 1-\varepsilon$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;How many queries (lookups) are sufficient and necessary for an (adaptive) randomized algorithm to distinguish between the two cases, with probability at least $2/3$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have found &lt;a href=&quot;https://cstheory.stackexchange.com/questions/9791/approximate-sum-of-a-sorted-list/9813#9813&quot;&gt;a previous post&lt;/a&gt; that gives a logarithmic (in $n$) upper bound for the related problem of approximating the sum, and a roughly matching lower bound on that problem for deterministic algorithms; but couldn't find a result for the specific problem I am considering (in particular, randomized algorithms).&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit:&lt;/strong&gt; Following the answer below, I guess I should have been clearer: in the above (and particularly in the asymptotics for the lower bound), $n$ is the &quot;main&quot; quantity seen as going to infinity, while $\varepsilon$ is an (arbitrarily small) constant.&lt;/p&gt;&#xA;" OwnerUserId="13319" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.743" LastActivityDate="2015-01-01T21:31:56.237" Title="Lower bound on estimating $\sum_{k=1}^n a_k$ for non-increasing $(a_k)_k$" Tags="&lt;reference-request&gt;&lt;randomized-algorithms&gt;&lt;property-testing&gt;" AnswerCount="2" CommentCount="8" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="27846" PostTypeId="1" AcceptedAnswerId="27886" CreationDate="2014-12-15T18:09:35.187" Score="2" ViewCount="166" Body="&lt;p&gt;I am currently reading Computability and Logic by Boolos Burgess Geoffrey for the proof on &quot;undecidability of first order logic&quot;. however, I find the notations a bit confusing. Can anyone recommend any resource website link/ video lecture or a book perhaps which will help me understand the proof of undecidability of first order logic? I am a CS student so, I do not want a completely mathematical /philosophical proof. I came across plenty of those on the web.&lt;/p&gt;&#xA;" OwnerUserId="30360" LastActivityDate="2014-12-18T18:06:42.803" Title="Recommendations for References on undecidability of First Order Logic" Tags="&lt;lo.logic&gt;&lt;undecidability&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="27847" PostTypeId="2" ParentId="27714" CreationDate="2014-12-15T18:45:29.437" Score="5" Body="&lt;p&gt;As I understand it, the original motivation was to study CREW PRAM (consecutive read exclusive write parallel RAM) model. In this model, several processors compute a function with shared memory access, but with no write conflicts. &lt;a href=&quot;http://dl.acm.org/citation.cfm?doid=800070.802196&quot; rel=&quot;nofollow&quot;&gt;Stephen Cook and Cynthia Dwork&lt;/a&gt; and Rudiger Reischuk (&quot;A lower time-bound for parallel random access machines without simultaneous&#xA;writes.&quot;) showed that $\Omega( \log(s(f)) )$ is a lower bound on the number of steps required to compute $f$ on CREW PRAM. Let $CREW(f)$ denote the minimum number of steps required to compute $f$ in CREW PRRAM. Thus, Cook, Dwork, and Reischuk showed that&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$CREW(f) = \Omega(\log s(f))$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Later, &lt;a href=&quot;http://dl.acm.org/citation.cfm?doid=73007.73038&quot; rel=&quot;nofollow&quot;&gt;Noam Nisan&lt;/a&gt; tweaked the definition of sensitivity to &lt;em&gt;characterize&lt;/em&gt; $CREW(f)$ up to constant multiplicative factors. The tweaked definition is, of course, block sensitivity. I.e.,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$CREW(f) = \Theta(\log bs(f))$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The natural question then arises whether $CREW(f) = O(\log s(f))$? This is essentially the sensitivity conjecture. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Whether nowadays the implication of sensitivity giving a tight characterization of $CREW(f)$ is compelling or not - I cannot judge. As pointed out in another response, it turned out that block sensitivity is included in a large class of polynomially related complexity measures, while sensitivity is not known to belong to that class.&lt;/p&gt;&#xA;" OwnerUserId="30361" LastEditorUserId="419" LastEditDate="2014-12-21T07:54:55.543" LastActivityDate="2014-12-21T07:54:55.543" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27849" PostTypeId="1" CreationDate="2014-12-15T22:16:53.967" Score="12" ViewCount="333" Body="&lt;p&gt;Let $d$ be a constant. How can we provably construct a pseudorandom generator that fools $d$-state finite automata? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here, a $d$-state finite automata has $d$ nodes, a start node, a set of nodes representing accept states, and two directed edges labeled 0, 1 coming out of each node. It changes state in the natural way as it reads input. Given an $\epsilon$, find $f:\{0,1\}^{k}\to \{0,1\}^n$ such that for every $d$-state finite automaton computing some function $A$, &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$|\mathbb P_{x\sim U_{k}}(A(f(x))=1)-\mathbb P_{x\sim U_n}(A(x)=1)|&amp;lt; \epsilon.$$ &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here $U_k$ denotes the uniform distribution on $k$ variables, and we want $k$ to be as small as possible (e.g. $\log n$). I'm thinking of $d$ being on the order of $n$, though we can also ask the question more generally (ex. would the number of bits required grow with $n$?). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Some background&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Construction of pseudorandom generators is important in derandomization, but the general problem (PRG's for polynomial-time algorithms) has so far proved too difficult. There has however been progress on PRG's for bounded-space computation. For example this recent paper (&lt;a href=&quot;http://homes.cs.washington.edu/~anuprao/pubs/spaceFeb27.pdf&quot;&gt;http://homes.cs.washington.edu/~anuprao/pubs/spaceFeb27.pdf&lt;/a&gt;) gives a bound of approximately $\log n\log d$ for &lt;em&gt;regular&lt;/em&gt; read-once branching programs. The question with general read-once branching programs is still open (with $k=\log n$), so I'm wondering if the answer for this simplification is known.  (A finite automaton is like a read-once branching program where every layer is the same.)&lt;/p&gt;&#xA;" OwnerUserId="20907" LastEditorUserId="20907" LastEditDate="2014-12-16T04:43:21.913" LastActivityDate="2014-12-19T19:11:24.783" Title="Pseudorandom generator for finite automata" Tags="&lt;automata-theory&gt;&lt;pseudorandomness&gt;&lt;pseudorandom-generators&gt;" AnswerCount="2" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="27850" PostTypeId="2" ParentId="21471" CreationDate="2014-12-15T22:22:27.377" Score="2" Body="&lt;p&gt;One approach would be to stratify your concept class by VC-complexity. For example, suppose that $C$ is the set of all functions $f:\{0,1\}^n\to\{0,1\}$; its VC-dim is $2^n$.&#xA;However, you can decompose $C$ in any number of ways. Say, $C_k$ is the collection of all functions whose (minimal) binary tree has depth $k$ or less. Or, $C_k$ is the set of all functions whose Fourier expansion puts no weight on XORs of more than $k$ bits.&#xA;Then $C_1\subset C_2 \subset \ldots \subset C_n$, and selecting the appropriate $C_k$ is the problem of &lt;i&gt;model selection&lt;/i&gt;. Machine learning theory offers a principled way of doings this via Structural Risk Minimization; here is a good start:&#xA;&lt;a href=&quot;http://ieeexplore.ieee.org/xpl/login.jsp?tp=&amp;amp;arnumber=705570&amp;amp;url=http%3A%2F%2Fieeexplore.ieee.org%2Fiel4%2F18%2F15247%2F00705570.pdf%3Farnumber%3D705570&quot; rel=&quot;nofollow&quot;&gt;http://ieeexplore.ieee.org/xpl/login.jsp?tp=&amp;amp;arnumber=705570&amp;amp;url=http%3A%2F%2Fieeexplore.ieee.org%2Fiel4%2F18%2F15247%2F00705570.pdf%3Farnumber%3D705570&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="1746" LastActivityDate="2014-12-15T22:22:27.377" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27851" PostTypeId="2" ParentId="27846" CreationDate="2014-12-15T22:53:02.937" Score="1" Body="&lt;p&gt;A Mathematical Introduction to Logic, Second Edition: Herbert B. Enderton&lt;/p&gt;&#xA;" OwnerUserId="3968" LastActivityDate="2014-12-15T22:53:02.937" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27852" PostTypeId="1" CreationDate="2014-12-16T08:02:01.873" Score="4" ViewCount="113" Body="&lt;p&gt;I read about modifications of the low-degree test used in the (first) proof of the PCP theorem. The test used in the proof works over randomly chosen lines while modifications allow choosing random planes (or affine subspaces in general). Is it possible to use these modifications in the framework (low-degree extensions and sum-checking) of the proof of the PCP theorem? Does this involve major changes?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT: In the paper [1] by Raz and Safra it is stated that the scheme of the old proof is insufficient when one wants to achieve a sub-constant error. So what if one is satisfied by the &quot;old&quot; constant error? Does the (Hyper-)Plane-Point Test work for that? I have seen proofs using this test to show $NP \subseteq PCP[log(n), polylog(n)]$ but I have never seen the final argument for $NP = PCP[log(n), 1]$ via proof composition.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] A Sub-Constant Error-Probability Low-Degree Test, and a Sub-Constant Error-Probability PCP Characterization of NP&lt;/p&gt;&#xA;" OwnerUserId="30365" LastEditorUserId="28692" LastEditDate="2014-12-17T23:15:25.567" LastActivityDate="2014-12-17T23:15:25.567" Title="Low-degree testing in PCP Theorem using bivariate polynomials" Tags="&lt;pcp&gt;&lt;polynomials&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27853" PostTypeId="1" CreationDate="2014-12-16T09:57:22.683" Score="2" ViewCount="242" Body="&lt;p&gt;I was asked the following question in an interview:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;How would you count the occurrences of character &lt;code&gt;a&lt;/code&gt; in a 500-page book? For simplicity, assume that you are given the book content as a string. &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I answered that linear traversal through the book is the best possible solution, since the character can randomly occur in any position, and we cannot figure out until we check every character. However, the interviewer kept insisting on a more efficient algorithm. What algorithm would be more efficient than O(n) for this problem? (if any)&lt;/p&gt;&#xA;" OwnerUserId="21759" LastActivityDate="2014-12-17T00:59:54.620" Title="Counting occurences of 'a' in a book faster than O(n)?" Tags="&lt;ds.algorithms&gt;" AnswerCount="2" CommentCount="13" FavoriteCount="1" ClosedDate="2014-12-17T08:44:55.240" ContentLicense="CC BY-SA 3.0" />
  <row Id="27854" PostTypeId="2" ParentId="27802" CreationDate="2014-12-16T10:19:02.410" Score="3" Body="&lt;p&gt;Consider two complexity classes, say P and NP. To show that a proof that P=NP would need non-relativizing techniques, one has to describe an oracle relative to which the classes are not equal. For this the usual approach is to take an exponential separation between deterministic and non-deterministic query complexity and then use a standard argument to turn this into the oracle separation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For algebrization one needs the stronger statement that even if the weaker class (here P) is given access to the polynomial extension of the oracle the classes remain different. Aaronson and Wigderson give some direct constructions for that, but the easiest argument is that a separation in communication complexity (e.g. an exponential separation between deterministic and non-deterministic communication complexity) can take the place of the query complexity separation. Compare Theorem 4.11 in the algebrization paper.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course many such separations are known (e.g. non-disjointness is easy for non-deterministic protocols but hard for deterministic protocols).&#xA;The separation that is left open in our paper is QCMA- vs. QMA-communication complexity (in the two-way model). Giving an exponential separation would immediately imply that any proof that QMA=QCMA (for Turing machines) would need non-algebrizing techniques (of course this inclusion might not be true).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Again, the reasoning here is that an algebrizing proof of QCMA=QMA would (by definiton) also work for the algebraic oracle model (for any oracle) and algorithms in this one could be simulated in the communication complexity model, contradicting a separation result there.&lt;/p&gt;&#xA;" OwnerUserId="2361" LastActivityDate="2014-12-16T10:19:02.410" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27855" PostTypeId="1" CreationDate="2014-12-16T11:26:30.140" Score="-1" ViewCount="494" Body="&lt;p&gt;        Thought experiment:&lt;br&gt;&#xA;&lt;strong&gt;Which data could convince experts&lt;/strong&gt;, beyond reasonable doubts, &lt;strong&gt;about their origin outside our universe?&lt;/strong&gt; From which margin should an expert consider such claim seriously?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, if one presented factorization of a billion-numbers run starting at 2&lt;sup&gt;1024&lt;/sup&gt;, with proofs of primality of all factors (that wouldn’t be a very large thing neither by amount of information nor by complexity to verify wrt 21st-century standards), it would be spectacular. But who knows which exactly complexity of integer factorization is? Who knows wasn’t factorization of &lt;em&gt;this namely run&lt;/em&gt; facilitated by some mathematical coincidences?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But there are many problems with proven lower bounds on complexity that are really prohibitive, some of which hinder even application of powerful quantum computers (still hypothetical), and some problems are algorithmically undecidable in principle.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;P.S. please, do not post answers based on trivia about &lt;a href=&quot;https://en.wikipedia.org/wiki/Transcomputational_problem&quot; rel=&quot;nofollow&quot;&gt;transcomputational problems&lt;/a&gt;. Ī’m interested only in answers containing insights about how a (hypothetical) piece of information &lt;em&gt;can be defended against the hypothesis&lt;/em&gt; that some (still unknown to experts) mathematics was employed to produce it.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Update:&lt;/em&gt; (related to @usul’s answer). We do not consider a totally abstract problem. Alleged “god” may use information from our civilization in input data for the problems solved, such as to use long pieces of “our” predefined data, presumedly random, to convince us that particular input data were not specially arranged.&lt;/p&gt;&#xA;" OwnerUserId="26937" LastEditorUserId="26937" LastEditDate="2014-12-16T13:21:06.760" LastActivityDate="2014-12-21T23:00:44.040" Title="How could God authenticate in one message?" Tags="&lt;cc.complexity-theory&gt;&lt;physics&gt;" AnswerCount="4" CommentCount="18" FavoriteCount="1" ClosedDate="2014-12-21T23:13:41.420" ContentLicense="CC BY-SA 3.0" />
  <row Id="27857" PostTypeId="2" ParentId="27855" CreationDate="2014-12-16T12:58:10.533" Score="1" Body="&lt;p&gt;Any given piece of data is finite, so it seems difficult for such data to be evidence of asymptotically good computational abilities. Examples like your list of factorizations seem to be subjective (though in practice probably quite convincing that one can solve the problem).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One note is that for any problem outside of NP, we do not even have the computational resources to read or verify a proof that the oracle provides. So in this sense an oracle more powerful than NP is unable to convince us of this fact by providing data to us.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, if we are given the ability to query the oracle with inputs of our choice, then intuitively this corresponds to the complexity class &lt;a href=&quot;http://en.wikipedia.org/wiki/IP_(complexity)&quot; rel=&quot;nofollow&quot;&gt;IP&lt;/a&gt;, so we should be able to convince ourselves that the oracle can solve problems in PSPACE. Of course this is with the finite-data caveat: We can only ever ask questions up to a certain size input. But then again, we only ever care about answering questions up to a certain size input.&lt;/p&gt;&#xA;" OwnerUserId="8243" LastActivityDate="2014-12-16T12:58:10.533" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="27858" PostTypeId="1" CreationDate="2014-12-16T13:57:22.973" Score="11" ViewCount="3332" Body="&lt;p&gt;While reading the post, &lt;a href=&quot;https://cstheory.stackexchange.com/questions/25427/probability-of-generating-a-desired-permutation-by-random-swaps&quot;&gt;&lt;em&gt;Probability of generating a desired permutation by random swaps&lt;/em&gt;, by Aaronson&lt;/a&gt;, I got interested in restricted sorting problem:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we restrict sorting algorithms to use transpositions (swapping integers in two non-adjacent positions) and restrict the number of transpositions then some sequences are sortable and others are not. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that sequence $A$ may contain some &lt;strong&gt;repeated&lt;/strong&gt; integers&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Formally, the problem is:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Input&lt;/strong&gt;: a sequence $A=[a_1, a_2, ..., a_{2N}]$ of $2N$ positive (possibly repeated) integers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question&lt;/strong&gt;: Is it possible to sort sequence $A$ using $N$ transpositions of non-adjacent positions?&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there a polynomial-time algorithm to solve this problem? Or Is it NP-complete?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;This was post on &lt;a href=&quot;https://mathoverflow.net/questions/191539/recognizing-sequences-sortable-by-transpositions&quot;&gt;MathOverflow&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;P.S. This problem has a nice geometric interpretation: It is equivalent to deciding the existence of a path of length at most N between two points on a special &lt;a href=&quot;https://en.wikipedia.org/wiki/Permutohedron&quot; rel=&quot;nofollow noreferrer&quot;&gt;2N-Permutahedron&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Special permutahedron means that two nodes are connected by an edge if and only if the corresponding permutations are separated by one &lt;em&gt;non-adjacent&lt;/em&gt; transposition.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://i.stack.imgur.com/Fs1D5.jpg&quot; rel=&quot;nofollow noreferrer&quot;&gt;&lt;img src=&quot;https://i.stack.imgur.com/Fs1D5.jpg&quot; alt=&quot;Permutahedron of order 4&quot;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2018-04-03T04:49:11.620" LastActivityDate="2018-04-03T04:49:11.620" Title="Efficient recognition of sequences sortable by transpositions?" Tags="&lt;cc.complexity-theory&gt;&lt;sorting&gt;" AnswerCount="0" CommentCount="8" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="27859" PostTypeId="2" ParentId="27853" CreationDate="2014-12-16T14:02:30.130" Score="8" Body="&lt;p&gt;You could try sampling. The assumption that the proportion of a's on any given page is roughly the same as on any other one (and that all pages have roughly the same amount of text) seems reasonable. If $n$ is the total number of pages, you could pick, say $k=n^{4/5}$ random pages, count their average number of characters and the proportion of a's, and scale up to $n$. Your runtime would be $O(n^{4/5})$, and with high probability, your estimate for the number of a's would deviate from the true count by $\tilde O(n^{3/5})$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can play with the exponents to get other accuracy-runtime tradeoffs (e.g., in $O(n)$ time you can achieve whp a deviation of $\tilde O(\sqrt n)$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As pointed out in the comments, an exact count requires $\Omega(n)$ runtime. If the interviewer absolutely insisted on a sublinear runtime, I would suggest sampling.&lt;/p&gt;&#xA;" OwnerUserId="1746" LastEditorUserId="1746" LastEditDate="2014-12-16T14:19:42.220" LastActivityDate="2014-12-16T14:19:42.220" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27861" PostTypeId="2" ParentId="27855" CreationDate="2014-12-16T15:06:14.887" Score="0" Body="&lt;p&gt;I am not sure it is in the spirit of your question, but here is a possible lead: a computer which acts as an &quot;all-powerful mathematician&quot;, or for that matter, all powerful knowledge in general. This would be a computer with which we can dialogue, and ask it questions like &quot;what is the answer of the Riemann hypothesis&quot;. The computer would give the answer and justify it by intuition-level arguments, that can be refined at the will of the questioner, all the way to formal proof if necessary.&#xA;Same thing if the results are independent, or if the question does not make sense, the computer would be able to explain it to the questioner in the best possible way for him to get convinced of that.&#xA;Any question could be allowed, as &quot;What is the issue with dark matter? Can we design an experiment to settle the question?&quot;, and so on...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This interactive device, all-knowing but communcating on a good level for our intuition, would be a good way to violate all that we know about the world. It is able to solve any problem humans can ask themselves, at least any problem for which there is a solution which can be displayed to us in a convincing way, and so in some sense it is the best possible &quot;god-authentification&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is beyond your (presumable) limitation of a finite piece of data, but we can additionnally respect this condition with this fix:&#xA;This device would only work for a finite time, say a year, during which many people (including experts in various fields) could come to question it. During this time, the inside of the machine is sealed and we cannot see the mechanism, it is a blackbox. After &quot;expiration&quot;, the lock is opened, and we discover that the answers were hardcoded in the right order, separated by predefined time intervals, and the computer was just reading them. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is an absolute finite piece of data, that not only &quot;knew&quot; the answers to all the questions we could think of in one year, but additionally &quot;knew&quot; exactly what questions were going to be asked and when. The probability of chance for this can be neglected (such a probability will always exist anyway if the data needs to be finite).&lt;/p&gt;&#xA;" OwnerUserId="8953" LastEditorUserId="8953" LastEditDate="2014-12-16T15:17:24.010" LastActivityDate="2014-12-16T15:17:24.010" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="27862" PostTypeId="2" ParentId="27855" CreationDate="2014-12-16T16:06:13.217" Score="0" Body="&lt;p&gt;To account for your additional requirement of a nondeterministic universe, another way to go would be arbitrary precision information about physical constants. For instance the code of a Turing Machine which computes gravitational constant $G$ (in $m^3·kg^{−1}·s^{−2}$) with arbitrary precision.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It would be indeed surprising that such a machine exists, but assume we get one with this guarantee written on it. At the beginning we would just be able to test that the machine matches the current precision on $G$, which is nothing extraordinary. But as technology advances and measurements gets finer and finer, we would be convinced with increasingly high precision that the machine indeed computes $G$.Therefore, assuming scientific progress goes on, we could reach arbitrary precision on the accuracy of the machine, and on the fact that it is &quot;supernatural&quot;, because at least as advanced as any level of knowledge we can achieve.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This assumes we are never able to &lt;em&gt;prove&lt;/em&gt; that the machine computes $G$, which is based on the assumption that there is no computational link between physical constants (here $G$, and the various constants used to define unities, like the speed of light $c$). This assumption is reasonable in the current state of knowledge, but we never know...&lt;/p&gt;&#xA;" OwnerUserId="8953" LastEditorUserId="8953" LastEditDate="2014-12-16T16:30:59.957" LastActivityDate="2014-12-16T16:30:59.957" CommentCount="14" ContentLicense="CC BY-SA 3.0" />
  <row Id="27863" PostTypeId="2" ParentId="27824" CreationDate="2014-12-16T16:43:54.757" Score="20" Body="&lt;p&gt;I will give a partial answer, I hope others will fill in the blanks.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In typed $\lambda$-calculi, one may give a type to usual representations of data ($\mathsf{Nat}$ for Church (unary) integers, $\mathsf{Str}$ for binary strings, $\mathsf{Bool}$ for Booleans) and wonder what is the complexity of the functions/problems representable/decidable by typed terms.  I know a precise asnwer only in some cases, and in the simply typed case it depends on the convention used when defining &quot;representable/decidable&quot;.  Anyhow, I don't know of any case in which there is a doubly exponential upper bound.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First, a brief recap on the Lambda Cube.  Its 8 calculi are obtained by enabling or disabling the following 3 kinds of dependencies on top of the simply typed $\lambda$-calculus (STLC):&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;polymorphism&lt;/strong&gt;: terms may depend on types;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;dependent types&lt;/strong&gt;: types may depend on terms;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;higher order&lt;/strong&gt;: types may depend on types.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;(The dependency of terms on terms is always there).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Adding polymorphism yields System F.  Here, you can type the Church integers with $\mathsf{Nat}:=\forall X.(X\rightarrow X)\rightarrow X\rightarrow X$, and similarly for binary strings and Booleans. Girard proved that System F terms of type $\mathsf{Nat}\rightarrow\mathsf{Nat}$ represent exactly the numerical functions whose totality is provable in second order Peano arithmetic. That's pretty much everyday mathematics (albeit without any form of choice), so the class is huge, the Ackermann function is a sort of tiny microbe in it, let alone the function $2^{2^n}$. I don't know of any &quot;natural&quot; numerical function which cannot be represented in System F. Examples usually are built by diagonalization, or encoding the consistency of second order PA, or other self-referential tricks (like deciding $\beta$-equality within System F itself).  Of course in System F you can convert between unary integers $\mathsf{Nat}$ and their binary representation $\mathsf{Str}$, and then test for instance whether the first bit is 1, so the class of decidable problems (by terms of type $\mathsf{Str}\rightarrow\mathsf{Bool}$) is equally huge.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The other 3 calculi of the Lambda Cube which include polymorphism are therefore at least as expressive as System F.  These include System F$_\omega$ (polymorphism + higher order), which can express exactly the provably total functions in higher order PA, and the Calculus of Constructions (CoC), which is the most expressive calculus of the Cube (all dependencies are enabled).  I don't know a characterization of the expressiveness of the CoC in terms of arithmetical theories or set theories, but it must be pretty frightening :-)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am much more ignorant regarding the calculi obtained by just enabling dependent types (essentially Martin-Löf type theory without equality and natural numbers), higher order types or both. In these calculi, types are powerful but terms can't access this power, so I don't know what you get.  Computationally, I don't think you get much more expressiveness than with simple types, but I may be mistaken.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So we are left with the STLC. As far as I know, this is the only calculus of the Cube with interesting (i.e., not monstrously big) complexity upper bounds. There is an &lt;a href=&quot;https://cstheory.stackexchange.com/questions/12156/whats-the-expressive-power-of-simply-typed-lambda-calculus&quot;&gt;unanswered question about this&lt;/a&gt; on TCS.SE, and in fact the situation is a bit subtle.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First, if you fix an atom $X$ and define $\mathsf{Nat}:=(X\rightarrow X)\rightarrow X\rightarrow X$, there is &lt;a href=&quot;http://epub.ub.uni-muenchen.de/4273/&quot; rel=&quot;noreferrer&quot;&gt;Schwichtenberg's result&lt;/a&gt; (I know there's an english translation of that paper somewhere on the web but I can't find it now) which tells you that the functions of type $\mathsf{Nat}\rightarrow\mathsf{Nat}$ are exactly the extended polynomials (with if-then-else). If you allow some &quot;slack&quot;, i.e. you allow the parameter $X$ to be instantiated at will and consider terms of type $\mathsf{Nat}[A]\rightarrow\mathsf{Nat}$ with $A$ arbitrary, much more can be represented. For example, any tower of exponentials (so you may go well beyond doubly exponential) as well as the predecessor function, but still no subtraction (if you consider binary functions and try to type them with $\mathsf{Nat}[A]\rightarrow\mathsf{Nat}[A']\rightarrow\mathsf{Nat}$). So the class of numerical functions representable in the STLC is a bit weird, it is a strict subset of the elementary functions but does not correspond to anything well known.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In apparent contradiction with the above, there's &lt;a href=&quot;http://www.cs.brandeis.edu/~mairson/Papers/statman.ps.gz&quot; rel=&quot;noreferrer&quot;&gt;this paper&lt;/a&gt; by Mairson which shows how to encode the transition function of an &lt;em&gt;arbitrary&lt;/em&gt; Turing machine $M$, from which you obtain a term of type $\mathsf{Nat}[A]\rightarrow\mathsf{Bool}$ (for some type $A$ depending on $M$) which, given a Church integer $n$ as input, simulates the execution of $M$ starting from a fixed initial configuration for a number of steps of the form&#xA;$$2^{2^{\vdots^{2^n}}},$$&#xA;with the height of the tower fixed. This &lt;strong&gt;does not&lt;/strong&gt; show that every elementary problem is decidable by the STLC, because in the STLC there is no way of converting a binary string (of type $\mathsf{Str}$) representing the input of $M$ to the type used for representing the configurations of $M$ in Mairson's encoding. So the encoding is somehow &quot;non-uniform&quot;: you can simulate elementarily-long executions from a fixed input, using a distinct term for each input, but there is no term that handles arbitrary inputs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In fact, the STLC is extremely weak in what it can decide &quot;uniformly&quot;.  Let us call $\mathcal C_{ST}$ the class of languages decidable by simply typed terms of type $\mathsf{Str}[A]\rightarrow\mathsf{Bool}$ for some $A$ (like above, you allow arbitrary &quot;slack&quot; in the typing). As far as I know, a precise characterization of $\mathcal C_{ST}$ is missing. However, we do know that $\mathcal C_{ST}\subsetneq\mathrm{LINTIME}$ (deterministic linear time). Both the containment and the fact that it is strict may be shown by very neat semantic arguments (using the standard denotational semantics of the STLC in the category of finite sets). The former was shown recently by &lt;a href=&quot;http://www.kurims.kyoto-u.ac.jp/~terui/nbi8.pdf&quot; rel=&quot;noreferrer&quot;&gt;Terui&lt;/a&gt;. The latter is essentially a reformulation of old results of Statman. An example of problem in $\mathrm{LINTIME}\setminus\mathcal C_{ST}$ is MAJORITY (given a binary string, tell whether it contains strictly more 1s than 0s).&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;(Much) Later add-on:&lt;/strong&gt; I just found out that the class I call $\mathcal C_{ST}$ above actually &lt;em&gt;does&lt;/em&gt; have a precise characterization, which is moreover extremely simple.  In &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.23.8845&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;noreferrer&quot;&gt;this beautiful 1996 paper&lt;/a&gt;, Hillebrand and Kanellakis prove, among other things, that&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Theorem.&lt;/strong&gt; $\mathcal C_{ST}=\mathsf{REG}$ (the regular languages on $\{0,1\}$).&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;(This is Theorem 3.4 in their paper).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I find this doubly surprising: I am surprised by the result itself (it never occurred to me that $\mathcal C_{ST}$ could correspond to something so &quot;neat&quot;) and by how little known it is. It is also amusing that Terui's proof of the $\mathrm{LINTIME}$ upper bound uses the same methods employed by Hillebrand and Kanellakis (interpreting the simply-typed $\lambda$-calculus in the category of finite sets). In other words, Terui (and myself) could have easily re-discovered this result were it not for the fact that we were somehow happy with $\mathcal C_{ST}$ being a &quot;weird&quot; class :-)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Incidentally, I shared my surprise in &lt;a href=&quot;https://mathoverflow.net/a/296879/45027&quot;&gt;this answer&lt;/a&gt; to a MO question about &quot;unknown theorems&quot;).&lt;/p&gt;&#xA;" OwnerUserId="20716" LastEditorUserId="20716" LastEditDate="2018-04-03T11:25:05.003" LastActivityDate="2018-04-03T11:25:05.003" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="27864" PostTypeId="2" ParentId="27824" CreationDate="2014-12-16T19:53:58.843" Score="7" Body="&lt;p&gt;I'll try to complement Damiano's excellent answer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In general a typed $\lambda$-calculus can be used as a &lt;a href=&quot;http://en.wikipedia.org/wiki/Realizability&quot; rel=&quot;nofollow noreferrer&quot;&gt;language of realizers&lt;/a&gt; for a certain logic. In particular system $F$ is a language of realizers for &lt;em&gt;2nd order Heyting arithmetic&lt;/em&gt; $\mathrm{HA}_2$. The informal theorem can be stated as follows&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;If the terms of a typed calculus $\cal{T}$ are the realizers for a logic $\cal{L}$, then the &lt;em&gt;definable functions&lt;/em&gt; in $\cal{T}$ represent &lt;strong&gt;exactly&lt;/strong&gt; the &lt;em&gt;provably total&lt;/em&gt; functional relations in $\cal{L}$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The details are more murky of course, and $\cal{L}$ has to contain at least arithmetic, but the application of this idea gives&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;The definable functions in system $F$ are the provably total functions in $\mathrm{HA}_2$ (this includes the Ackermann function, and much, much faster growing functions)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The definable functions in system $T$ are the provably total functions in $\mathrm{PA}$ (peano arithmetic). This also includes the Ackermann function (but includes much less than system $F$)!&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;There are some typed $\lambda$-calculi that &lt;em&gt;exactly&lt;/em&gt; capture $\mathrm{PTIME}$ computations. These usually involve &lt;em&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Linear_logic&quot; rel=&quot;nofollow noreferrer&quot;&gt;linear type systems&lt;/a&gt;&lt;/em&gt; to control duplication. One such example is given by &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0890540108001119&quot; rel=&quot;nofollow noreferrer&quot;&gt;Baillot and Terui&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In general this is a large avenue of research, so I'll just refer to one of my &lt;a href=&quot;https://cstheory.stackexchange.com/questions/12585/to-what-extent-can-an-algorithm-predict-the-time-complexity-an-arbitrary-input-p/12592#12592&quot;&gt;previous answers&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="3984" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2014-12-16T19:53:58.843" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27865" PostTypeId="2" ParentId="27853" CreationDate="2014-12-16T21:33:47.047" Score="2" Body="&lt;p&gt;&quot;For simplicity, assume that you are given the book content as a string&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then, as we already have the string in memory we don't spend operations reading the contents into memory and we can go directly to count the number of occurrences.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In my opinion its valid to say that an integer operation can be executed in $O(1)$ that includes addition, subtraction, multiply, division and obviously binary comparison operations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Modify the pointer to string to be a UINT64 array pointer&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Iterate the array and for each element (representing 64 bits or 8 characters assuming 1 byte per character) execute a function that by using less than 8 integer binary comparisons accurately tell you how many 'As' are in the element structure.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;let $M$ be the number of steps required by such function and $N$ the number of characters&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Your supposed upper bound complexity will be then $O((N/8)*M)$ &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Obviously this is just a fake solution however it could fit real world and interviews are not theoretical exams, the interviewer were just trying to learn how you workout a problem, sometimes is not necessary to have a final valid solution but just show how capable are you to pursue a potential solution.&lt;/p&gt;&#xA;" OwnerUserId="22068" LastEditorUserId="22068" LastEditDate="2014-12-17T00:59:54.620" LastActivityDate="2014-12-17T00:59:54.620" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27866" PostTypeId="2" ParentId="27849" CreationDate="2014-12-16T21:50:44.743" Score="1" Body="&lt;p&gt;something close to what you are requesting seems to be proven in Thm 2.10 p6 of these lecture notes by O'Donnell, &lt;a href=&quot;http://www.cs.cmu.edu/~odonnell/complexity/docs/lecture16.pdf&quot; rel=&quot;nofollow&quot;&gt;Lecture 16: Nisan’s PRG for small space&lt;/a&gt; but it does not cite the original ref for the proof. a simple statement of the theorem in terms of FSMs is not given in this ref but is translatable. &lt;em&gt;(volunteers?)&lt;/em&gt; in the theorem $M^n$ is a transition matrix defining a FSM. there are other related theorems in the notes. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;this apparently same proof is also cited by RJlipton on his blog &lt;a href=&quot;http://rjlipton.wordpress.com/2010/10/31/the-warranty-on-nisans-generator/&quot; rel=&quot;nofollow&quot;&gt;&quot;the warranty on Nisans generator&quot;&lt;/a&gt;. the proof apparently originates from the paper &lt;a href=&quot;http://www.cs.toronto.edu/~papakons/pdfs/nisan_RNC.pdf&quot; rel=&quot;nofollow&quot;&gt;How strong is Nisan’s pseudo-random generator?&lt;/a&gt; David, Papakonstantinou, Sidiropoulos (2010). also note a near deeper question &amp;amp; better bounds are tied with a major complexity class separation:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;They point out, without any proof, that if there was a PRG that does polynomially many passes and fools logspace machines then $\mathsf{L} \neq \mathsf{NP}$. &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2014-12-16T21:50:44.743" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="27867" PostTypeId="1" CreationDate="2014-12-16T22:08:52.277" Score="13" ViewCount="514" Body="&lt;p&gt;While writing a small post on the complexity of the videogames &lt;a href=&quot;http://en.wikipedia.org/wiki/Nibbler&quot; rel=&quot;nofollow noreferrer&quot;&gt;Nibbler&lt;/a&gt; and &lt;a href=&quot;http://en.wikipedia.org/wiki/Snake_%28video_game%29&quot; rel=&quot;nofollow noreferrer&quot;&gt;Snake&lt;/a&gt;; I found that they both can be modeled as reconfiguration problems on planar graphs; and it seems unlikely that such problems have not been well studied in the motion planning area (imagine for example a chain of linked carriages or robots). The games are well known, however this is a short description of the related reconfiguration model:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;SNAKE PROBLEM&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Input&lt;/strong&gt;: given a planar graph $G = (V,E)$, $l$ pebbles $p_1,...,p_l$ are placed on nodes $u_1,...,u_l$ that form a simple path. The pebbles represent the &lt;strong&gt;snake&lt;/strong&gt;, and the first one $p_1$ is his head. The head can be moved from its current position to an adjacent free node, and the body follows it. Some nodes are marked with a dot; when the head reaches a node with a dot, the body will increase by $e$ pebbles in the following $e$ moves of the head. The dot on the node is deleted after the traversal of the snake.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Problem&lt;/strong&gt;: We ask if the snake can be moved along the graph and reach a &lt;em&gt;target configuration&lt;/em&gt; $T$ where the target configuration is the full description of the snake position, i.e. the position of the pebbles. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is easy to prove that the SNAKE problem is NP-hard on planar graphs of max degree 3 even if no dots are used and also on SOLID grid graphs if we can use an arbitrary number of dots. Things get complicated on solid grid graphs without dots (it is related to another open problem).&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;I would like to know if the problem has been studied under another name.&lt;br&gt;&#xA;  &lt;s&gt;and, in particular, if there is a proof that it is in NP ...&lt;/s&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit:&lt;/strong&gt; the problem turned out to be PSPACE-complete even on planar graphs and the result seems very interesting, so it remains to find out if it is a new problem&#xA;and if there are known results about it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/nU00q.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;br&gt;&#xA;A simple example (pebbles are shown in green, the snake's head is P1).&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2015-01-21T21:23:02.017" LastActivityDate="2015-01-21T21:23:02.017" Title="&quot;Snake&quot; reconfiguration problem" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;np-hardness&gt;&lt;planar-graphs&gt;" AnswerCount="1" CommentCount="8" FavoriteCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27869" PostTypeId="2" ParentId="27824" CreationDate="2014-12-17T09:27:01.170" Score="12" Body="&lt;p&gt;An answer to a question Damiano raised in his excellent answer:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;I am much more ignorant regarding the calculi obtained by just enabling dependent types (essentially Martin-Löf type theory without equality and natural numbers), higher order types or both. In these calculi, types are powerful but terms can't access this power, so I don't know what you get. &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Adding dependent types does not change the consistency strength of the theory. Simple dependent types have the same consistency strength as the simply-typed lambda, and the calculus of constructions has the same consistency strength as System F$_\omega$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In fact, pure Martin-Löf type theory ($\lambda{P}$ in the lambda-cube) cannot prove that 0=1 implies false. To do this, you need at least one universe -- and universes &lt;em&gt;gigantically&lt;/em&gt; increase the strength of the theory. The calculus of inductive constructions (roughly speaking, $\lambda{P}\omega$ plus inductive types plus countably many universes) is equal in consistency strength to ZFC with countably many inaccessible cardinals. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I do not know what the strength of the impredicative calculus of constructions is, if you add inductive types and large eliminations.&lt;/p&gt;&#xA;" OwnerUserId="657" LastActivityDate="2014-12-17T09:27:01.170" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27870" PostTypeId="1" AcceptedAnswerId="27937" CreationDate="2014-12-17T10:48:40.167" Score="10" ViewCount="618" Body="&lt;p&gt;My question is about quantum algorithms for QED (quantum electrodynamics) computations related to the fine structure constants. Such computations (as explained to me) amounts to computing Taylor-like series &lt;span class=&quot;math-container&quot;&gt;$$\sum c_k\alpha^k,$$&lt;/span&gt; where &lt;span class=&quot;math-container&quot;&gt;$\alpha$&lt;/span&gt; is the fine structure constant (around 1/137) and &lt;span class=&quot;math-container&quot;&gt;$c_k$&lt;/span&gt; is the contribution of Feynman diagrams with &lt;span class=&quot;math-container&quot;&gt;$k$&lt;/span&gt;-loops.&lt;/p&gt;&#xA;&lt;p&gt;This question was motivated by &lt;a href=&quot;https://gilkalai.wordpress.com/2014/03/18/why-quantum-computers-cannot-work-the-movie/#comment-16061&quot; rel=&quot;noreferrer&quot;&gt;Peter Shor's comment&lt;/a&gt; (about QED and the fine structure constant) in a discussion regarding quantum computers on my blog. For some background here is a &lt;a href=&quot;http://en.wikipedia.org/wiki/Precision_tests_of_QED&quot; rel=&quot;noreferrer&quot;&gt;relevant Wikipedea article&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;It is known that &lt;strong&gt;a)&lt;/strong&gt; The first few terms of this computation gives very accurate estimations for relations between experimental outcomes which are with excellent agreement with experiments. &lt;strong&gt;b)&lt;/strong&gt; The computations are very heavy and computing more terms is beyond our computational powers. &lt;strong&gt;c)&lt;/strong&gt; At some points the computation will explode - in other words, the radius of convergence of this power series is zero.&lt;/p&gt;&#xA;&lt;p&gt;My question is very simple: Can these computations be carried out efficiently on a quantum computer.&lt;/p&gt;&#xA;&lt;h3&gt;Question 1&lt;/h3&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;h3&gt;1):  Can we actually efficiently compute (or well-approximate) with a quantum computers the coefficients &lt;span class=&quot;math-container&quot;&gt;$c_k$&lt;/span&gt;.&lt;/h3&gt;&#xA;&lt;h3&gt;2) (Weaker) Is it  at least feasible to compute the estimates given by QED computation in the regime before  these coefficients explode?&lt;/h3&gt;&#xA;&lt;h3&gt;3) (Even weaker) Is it  at least feasible to compute the estimates given by these QED computation as long as they are relevant. (Namely for those terms in the series that gives good approximation to the physics.)&lt;/h3&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;A similar question applies to QCD computations for computing properties of the proton or neutron. (Aram Harrow made a related comment on my blog on QCD computations, and the comments by Alexander Vlasov are also relevant.)  I would be happy to learn the situation for QCD computations as well.&lt;/p&gt;&#xA;&lt;p&gt;Following Peter Shor's comment:&lt;/p&gt;&#xA;&lt;h3&gt;Question 2&lt;/h3&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;h3&gt;Can quantum computation give the answer more accurately than is possible classically because the coefficients explode?&lt;/h3&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;In other words&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;h3&gt;Will quantum computers allow to model the situation and to give&lt;/h3&gt;&#xA;&lt;h3&gt;efficiently approximate answer to the actual physical quantities.&lt;/h3&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Another way &lt;a href=&quot;https://gilkalai.wordpress.com/2014/03/18/why-quantum-computers-cannot-work-the-movie/#comment-16071&quot; rel=&quot;noreferrer&quot;&gt;to ask it&lt;/a&gt;:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;Can we compute using quantum computers more and more digits of the&#xA;fine structure constant, just like we can compute with a digital&#xA;computer more and more digits of e and &lt;span class=&quot;math-container&quot;&gt;$\pi$&lt;/span&gt;?&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;(Ohh, I wish I was a believer  :) )&lt;/p&gt;&#xA;&lt;h3&gt;more background&lt;/h3&gt;&#xA;&lt;p&gt;The hope that computations in quantum field theory can be carried our efficiently with quantum computers was (perhaps) one of Feynman’s motivation for QC.  Important progress towards quantum algorithms for computations in quantum field theories was achieved in this paper: Stephen Jordan, Keith Lee, and John Preskill  &lt;a href=&quot;http://arxiv.org/abs/1111.3633&quot; rel=&quot;noreferrer&quot;&gt;Quantum Algorithms for Quantum Field Theories&lt;/a&gt;. I don't know if the work by Jordan, Lee, and Preskill (or some subsequent work) implies an affirmative answer to my question (at least in its weaker forms).&lt;/p&gt;&#xA;&lt;h3&gt;A related question on the physics side&lt;/h3&gt;&#xA;&lt;p&gt;I am curious also if there are  estimations for how many terms in the expansion before we witness explosion. (To put it on more formal ground: Are there estimates for the minimum k for  which &lt;span class=&quot;math-container&quot;&gt;$\alpha c_k/c_{k+1} &amp;gt; 1/5$&lt;/span&gt; (say).) And what is the quality of the approximation we can expect when we use these terms. In other words, how much better results can we expect from this QED computations with an unlimited computation power.&lt;/p&gt;&#xA;&lt;p&gt;Here are two related questions on the physics sister site. &lt;a href=&quot;https://physics.stackexchange.com/questions/155000/qec-and-qed-with-unlimited-computational-power-how-precise-they-are-going-to-b&quot;&gt;QED and QCD with unlimited computational power - how precise they are going to be?&lt;/a&gt;; &lt;a href=&quot;https://physics.stackexchange.com/questions/155002/the-fine-structure-constant-can-it-genuinely-be-a-random-variable&quot;&gt;The fine structure constant - can it genuinely be a random variable?&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="712" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2016-05-01T17:31:36.043" Title="Quantum algorithms for QED computations related to the fine structure constants" Tags="&lt;cc.complexity-theory&gt;&lt;quantum-computing&gt;&lt;physics&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="27872" PostTypeId="2" ParentId="27442" CreationDate="2014-12-17T15:59:48.987" Score="3" Body="&lt;p&gt;Looks like the best bound known (for multitape Turing machines) is logarithmic.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose $\delta\log n$ bits of binary worktape is enough to decide whether any $n$-bit CNF formula is satisfiable, for all large enough $n$.&#xA;By the standard simulation, a TM with $q$ states that uses at most $s$ bits of space can be simulated by a TM that has at most $qns2^s = 2^{s+\log n + \log s + \log q}$ different configurations.&#xA;Whenever the machine accepts, there is a sequence of (nondeterministic) moves reaching an accepting state that is at most as long as this number of configurations.&#xA;When $s = \Omega(\log n)$, this is at most $2^{s(2+o(1))}$ (note that $q$ remains the same for all input lengths $n$).&#xA;On a separate counter tape, $M$ can first write this quantity in unary, then at each step of the simulation erase one of the symbols of the counter, and terminate the computation if it ever runs out of counter symbols.&#xA;This creates a constant factor of overhead (something like 3), which is absorbed by the $o(1)$ term in the exponent.&#xA;Hence $2^{s(2+o(1))}$ steps are sufficient.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By assumption $s \le \delta\log n$, so the time-space product is at most $\delta\log n2^{\delta\log n(2+o(1))} = n^{\delta(2+o(1))}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Rahul Santhanam showed in 2001 (see &lt;a href=&quot;http://dx.doi.org/10.1016/S0020-0190(00)00227-1&quot; rel=&quot;nofollow&quot;&gt;doi:10.1016/S0020-0190(00)00227-1&lt;/a&gt;) that the space-time product for a Turing machine deciding SAT must be at least $\Omega(n^{2-o(1)})$; his argument applies also to nondeterministic machines.&#xA;Hence $\delta \ge 1$, and at least $\log n$ bits of binary worktape are needed.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More generally, additional worktapes and a larger worktape alphabet change the exponent by a constant factor.  This ultimately reduces the factor $\delta$, but the space lower bound is still $\Omega(\log n)$.&lt;/p&gt;&#xA;" OwnerUserId="109" LastEditorUserId="109" LastEditDate="2014-12-17T16:06:53.963" LastActivityDate="2014-12-17T16:06:53.963" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27873" PostTypeId="1" AcceptedAnswerId="27917" CreationDate="2014-12-17T16:23:46.467" Score="3" ViewCount="407" Body="&lt;p&gt;The general aproach presented by Craig Gentry in 2009 to create a fully-homomorphic encryption system is roughly the follow:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Create a scheme that can evaluate some functions (increasing the noise in the ciphertext)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Change you decryption function to be one of these functions that can be evaluated&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Use a function &lt;strong&gt;Recrypt&lt;/strong&gt; to somehow decript and encrypt again the ciphertext to eliminate the noise introduced by the homomorphic operations.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The idea seems wonderfull, but, I don't understand well how and why this &lt;strong&gt;Recrypt&lt;/strong&gt; function work...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, in the section 4.3 of the paper &lt;a href=&quot;http://crypto.stanford.edu/craig/easy-fhe.pdf&quot; rel=&quot;nofollow&quot;&gt;Computing Arbitrary Functions of Encrypted Data&lt;/a&gt;, he explains it like that:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Imagine that we have a list of public keys $p_1, p_2, .. $ and a private key $s_1$, then, we encrypt $m$ using $p_1$ generating $c_1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then, we encrypt each bit of $s_1$ using $p_2$ generating a vector of ciphertexts $\overline{s_1}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then, &lt;strong&gt;Recrypt&lt;/strong&gt;  encrypts each bit of $c_1$ using $p_2$ generating the array $\overline{c_1}$ and evaluate the decryption citcuit $D$ in $\overline{c_1}$, $\overline{s_1}$ and $p_2$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It seems like recrypt tries to decrypt the $\overline{c_1}$ with a wrong key (since it was encrypted with $p_2$, I was expecting something like $s_2$...).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Could someone here just try to explain how this &lt;strong&gt;Recrypt&lt;/strong&gt; works? I don't know what I'm missing...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If my question is unclear, please, let me know.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks.&lt;/p&gt;&#xA;" OwnerUserId="29094" LastEditorUserId="29094" LastEditDate="2015-04-13T11:22:27.057" LastActivityDate="2015-04-13T11:22:27.057" Title="How and why does Recrypt function work?" Tags="&lt;homomorphic-encryption&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27875" PostTypeId="1" AcceptedAnswerId="29186" CreationDate="2014-12-17T18:50:54.480" Score="5" ViewCount="119" Body="&lt;p&gt;I'm studying proof theory and I've seen that linear logic can be used as a way to control resource usage, since by the propositions-as-types it is equivalent to the linear lambda calculus.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a logic that allows resource control (like linear logic) and can express properties that vary over a notion of time like linear time temporal logics (LTL)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any reference or point to literature is highly appreciated.&lt;/p&gt;&#xA;" OwnerUserId="30383" LastEditorUserId="3984" LastEditDate="2014-12-18T18:09:20.030" LastActivityDate="2015-01-18T15:29:17.597" Title="Logics for timed resource control" Tags="&lt;lo.logic&gt;&lt;type-theory&gt;&lt;model-checking&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27877" PostTypeId="1" CreationDate="2014-12-18T00:19:22.243" Score="8" ViewCount="3923" Body="&lt;p&gt;Theoretical computer scientists usually use branch-and-reduce algorithms to find exact solutions. The time complexity of such a branching algorithm is usually analyzed by the method of branching vector, and recently developed techniques such as measure-and-conquer may help us to obtain a better bound. &#xA;While branch-and-bound algorithms are usually used in practice and seem more efficient (in my experience), I find no result of analyzing the worst-case time complexity of a branch-and-bound algorithm. Does anyone know such an example?&lt;/p&gt;&#xA;" OwnerUserId="20839" LastActivityDate="2014-12-18T00:19:22.243" Title="Time complexity of a branching-and-bound algorithm" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;time-complexity&gt;" AnswerCount="0" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27880" PostTypeId="2" ParentId="14486" CreationDate="2014-12-18T07:46:27.080" Score="0" Body="&lt;p&gt;You could use the DENCLUE algorithm, you don't need the number of clusters apriori and the attractor points could act as representative points for a cluster.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, the algorithm handles arbitrarily shaped clusters and is quite robust to noise. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course, there are other algorithms that could be used, but I believe DENCLUE is a good choice.&lt;/p&gt;&#xA;" OwnerUserId="23027" LastActivityDate="2014-12-18T07:46:27.080" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27882" PostTypeId="1" AcceptedAnswerId="27922" CreationDate="2014-12-18T12:15:31.053" Score="1" ViewCount="269" Body="&lt;p&gt;Could alternating tree automata be used for recognizing set (language) of arbitrary-arity trees? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;More specifically, as an example: let $\Sigma = \{a,b,c\}$ - labels for tree nodes. Trees from $T$ are of the form: from each node only one of the following children could appear: $\{a,b\},\{b\},\{c\}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I.e. tree will be of the form, smth like this ($e$ on picture is just root of the tree, indexes on labels are just features of drawing tool, they aren't related to the question):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/s9XHu.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;" OwnerUserId="29116" LastActivityDate="2014-12-22T10:02:40.907" Title="Alternating tree automata for arbitrary arity tree" Tags="&lt;automata-theory&gt;&lt;tree&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="27883" PostTypeId="2" ParentId="3004" CreationDate="2014-12-18T15:07:46.217" Score="1" Body="&lt;p&gt;I think you may like &lt;a href=&quot;http://knowen.org/nodes/1&quot; rel=&quot;nofollow noreferrer&quot; title=&quot;knowen.org&quot;&gt;knowen.org&lt;/a&gt;. I've been using it for a while now to both keep notes and collaborate with others. Knowen allows to store notes (nodes) with all relevant attachments in a DAG, keeps history of all previous versions, has fairly convenient collaboration tools. The language of the nodes is a simple markdown + MathJax, which can be exported and converted into standard LaTeX with pandoc. It is straightforward to use, but powerful. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/CM7Pc.png&quot; alt=&quot;example of knowen.org&quot;&gt;&lt;/p&gt;&#xA;" OwnerUserId="30401" LastEditorUserId="30401" LastEditDate="2014-12-18T15:28:56.890" LastActivityDate="2014-12-18T15:28:56.890" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27885" PostTypeId="2" ParentId="27849" CreationDate="2014-12-18T16:34:06.043" Score="10" Body="&lt;p&gt;If $d$ is of the order of $n$ then you can write a constant-width branching program as a finite-state automaton, and logarithmic seed length is not known.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But if $d$ is very small, say a constant, then you can do better and achieve logarithmic seed length -- I think, this is something I thought about years ago but never wrote down.  The trick is to use Nisan's result &lt;a href=&quot;http://www.google.com/url?sa=t&amp;amp;rct=j&amp;amp;q=&amp;amp;esrc=s&amp;amp;source=web&amp;amp;cd=2&amp;amp;cad=rja&amp;amp;uact=8&amp;amp;ved=0CCcQFjAB&amp;amp;url=http%3A%2F%2Fciteseerx.ist.psu.edu%2Fviewdoc%2Fsummary%3Fdoi%3D10.1.1.47.2997&amp;amp;ei=bwCTVLH-MaLCsASQn4CQDA&amp;amp;usg=AFQjCNGEQZA_6E950NTNBFyiqSwOEE9F-Q&amp;amp;bvm=bv.82001339,d.cWc&quot; rel=&quot;nofollow&quot;&gt;RL $\subseteq$ SC&lt;/a&gt;.  Basically, he shows that if you are given a branching program then you can find a logarithmic-seed distribution that fools it.  His result extends to a small number of branching programs.  So if $d$ is a constant then you can enumerate over all possible finite-state automata, and find a distribution that fools all of them.  This should still work as long as the number of programs is polynomial in $n$.&lt;/p&gt;&#xA;" OwnerUserId="259" LastEditorUserId="259" LastEditDate="2014-12-19T19:11:24.783" LastActivityDate="2014-12-19T19:11:24.783" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27886" PostTypeId="2" ParentId="27846" CreationDate="2014-12-18T18:06:42.803" Score="2" Body="&lt;p&gt;Let me clarify one subtle point: first order logic is only undecidable for certain given &lt;em&gt;languages&lt;/em&gt;. In particular the language $\cal{L}$ that contains &lt;strong&gt;only monadic predicates&lt;/strong&gt;, that is, predicates of the form $P(x)$ and no function symbols, is &lt;a href=&quot;http://en.wikipedia.org/wiki/Monadic_predicate_calculus&quot; rel=&quot;nofollow&quot;&gt;decidable&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you allow function symbols or predicates with more than 1 argument, then $\cal{L}$ usually becomes undecidable. The proof involves encoding Turing machines and their computation sequences using the symbols of the logic. Then one adds a &lt;strong&gt;finite&lt;/strong&gt; series of axioms $\phi_1,\ldots, \phi_n$, and build a formula $\psi(x,y)$ such that&#xA;$$ \phi_1,\ldots,\phi_n\vdash \psi(\overline{n},\overline{m})$$&#xA;is &lt;em&gt;provable&lt;/em&gt; if and only if&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;The Turing machine with index $n$ halts in at most $m$ steps on the empty input.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Undecidability of FOL follows, as proving&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$ \vdash \phi_1\wedge\ldots\wedge\phi_n\rightarrow \exists y,\psi(\overline{n},y)$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;is equivalent to determining wether the machine with index $n$ halts.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A detailed description of this proof is given in chapter 4 of Avigad's &lt;a href=&quot;http://www.andrew.cmu.edu/user/avigad/Teaching/candi_notes.pdf&quot; rel=&quot;nofollow&quot;&gt;lecture notes on computability&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="3984" LastActivityDate="2014-12-18T18:06:42.803" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27887" PostTypeId="2" ParentId="27830" CreationDate="2014-12-18T18:16:18.323" Score="9" Body="&lt;p&gt;There are many research areas both in the theory and practice of distributed databases. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;One of the main practical challenges is that of implementing efficient concurrency control mechanisms for distributed and geo-replicated databases. In order to execute &#xA;transactions efficiently, such mechanisms can provide weaker guarantees than serialisability, which requires that transactions appear to be executed sequentially. An alternative to serialisability is that of settling for Snapshot Isolation [1], but this has been proved to scale poorly to geo-replicated and distributed systems. &#xA;At the current state of the art, two different variants of Snapshot Isolation (SI) have been defined to deal with concurrency control in geo-replicated systems: &#xA;Parallel Snapshot Isolation (PSI) [2], and Non Monotonic Snapshot Isolation (NMSI) [3,4]. &#xA;As for what it concerns distributed databases (i.e. where data are sharded among different sites), a variant of snapshot isolation &#xA;for distributed system has been proposed very recently [5]. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Having different notions of isolation levels which provide weaker guarantees than serialisability, another important question is that of writing programs in a way so that executions still appear to be serialisable. A sound criterion for Snapshot Isolation has been devised in [1]. Some people in my group are currently working on devising a reasonable criterion for PSI. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another relevant question, both from a theoretical and practical point of view, is that of transaction chopping. Basically chopping is a static analysis techniques in which  coarse-grained transactions are broken down into smaller, fine grained transactions. For serialisability, this question has been tackled in [6], and the resulting theory has been applied to give a practical implementation in [7]. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;From the point of view of theoretical foundations of distributed databases, there has been some proposal to use techniques from the weak memory models community [8] to define formally the behaviour of transactions. In [9] the authors give a formal notion of behaviour for transactions; the same approach have been used in [10] to specify the behaviour of replicated data types.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Recently, I and some colleagues of mine (Alexey Gotsman and  Hongseok Yang) built, starting from the techniques developed in [8,9,10], a theoretical framework for specifying the observable behaviour of consistency levels for geo-replicated databases. We successfully employed the framework to give an axiomatisation of &#xA;SI, PSI and NMSI, each of which we have proved to be correct with respect to a simple implementation. We also exploited the resulting theory to devise a &#xA;chopping criterion for PSI. These results will hopefully we published in the foreseeable future.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Please do not hesitate to write me if you have other questions.&#xA;Hope this helps,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Andrea Cerone.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;References: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] Fekete et al, Making Snapshot Isolation Serializable (2005) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] Sovran et al, Transactional Storage for Geo-replicated Systems (2011) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;[3] Arkedani et al, Non-Monotonic Snapshot Isolation: scalable and strong consistency for geo-replicated transactional systems (2013)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[4] Arkedani et al, On the Scalability of Snapshot Isolation (2013)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[5] Binnig et al, Distributed snapshot isolation: global transactions pay globally, local transactions pay locally &lt;/p&gt;&#xA;&#xA;&lt;p&gt;[6] Shasha et al, Transaction chopping: algorithms and performance studies (1995)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[7] Zhang et al, Transaction chains: achieving serializability with low latency&#xA;in geo-distributed storage systems (2013)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[8] Alglave, A formal hierarchy of weak memory models (2012)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[9] Buckhardt et al, Understanding Eventual Consistency (2013)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[10] Buckhardt et al, Replicated Data Types: Specification, Verification, Optimality (2014)&lt;/p&gt;&#xA;" OwnerUserId="30404" LastActivityDate="2014-12-18T18:16:18.323" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="27890" PostTypeId="2" ParentId="27844" CreationDate="2014-12-18T23:36:10.540" Score="2" Body="&lt;p&gt;One possibility is to use $\mathrm{dom}$ or $\mathrm{sup}$ (or $\mathrm{supp}$), since you can think of a multiset as a function whose range is the non-negative integers; you are after the &lt;em&gt;domain&lt;/em&gt; or &lt;em&gt;support&lt;/em&gt; of this function.&lt;/p&gt;&#xA;" OwnerUserId="40" LastActivityDate="2014-12-18T23:36:10.540" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="27891" PostTypeId="1" CreationDate="2014-12-19T01:14:06.157" Score="3" ViewCount="138" Body="&lt;p&gt;In first order logic, we can prove satisfiability several ways: Finite model generation, truthful monadic abstractions, and also saturation. With finite model generation techniques, we can verify the model directly. With saturation we saturate the search space, running out of inferences, thus proving that a model exists.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;How can we verify satisfiability demonstrated through saturation without rerunning the entire search, which might take quite a long time? Satisfiability demonstrated through saturation might be an infinite model, so model generation may not be sufficient. &lt;/p&gt;&#xA;" OwnerUserId="25574" LastActivityDate="2017-10-13T13:24:15.007" Title="Can we verify satisfiability of first order statements via saturation in sub-exponential time?" Tags="&lt;lo.logic&gt;&lt;automated-theorem-proving&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27892" PostTypeId="2" ParentId="21705" CreationDate="2014-12-19T02:19:45.817" Score="-2" Body="&lt;p&gt;I have just come across this post and despite my post being rather late in the day (year!), I thought that perhaps my &quot;penny's worth&quot; may be of some use. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Whilst studying the subject at university, I had a similar thought on the matter; so, I posed the question of &quot;why&quot; to the lecturer and the response was: &quot;compilers&quot;. As soon as she mentioned it, the power behind reduction and the art of assessing how best to manipulate it suddenly made the whole purpose of why it was and still is a potentially useful tool.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Well, that so to speak was my &quot;aha&quot; moment.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In my opinion, we often consider high level languages, patterns, automata, algorithm-complexity etc. useful because we can relate them to the 'task' at hand; whereas lamdba calculus seems a bit too abstract. However, there are still those out there who work with languages at a low level - and I imagine lambda calculus, object calculus and other related formalisations have helped them to understand and perhaps develop new theories and technologies from which the average programmer can then benefit. Indeed, it is probably not a core module for that reason, but (for the reasons I have stated) there will be the odd few - other than academics - who may find it integral to their chosen career path in computing.&lt;/p&gt;&#xA;" OwnerUserId="30412" LastActivityDate="2014-12-19T02:19:45.817" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="27893" PostTypeId="1" CreationDate="2014-12-19T02:52:11.707" Score="1" ViewCount="23" Body="&lt;p&gt;I'm looking at ways in which &quot;ambiguities&quot; can be identified in labeled training data by a system undergoing some sort of inductive learning process. Do you know if there is any literature on this topic, and if so, where I could find that literature / what keywords to search for?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To better illustrate what I'm looking for, there is a classic parable of machine learning told by e.g. Dreyfus and Dreyfus (&lt;em&gt;What Artificial Experts Can and Cannot Do,&lt;/em&gt; 1992) of an algorithm intended to classify whether or not pictures of woods contained a tank concealed between the trees. Pictures of empty woods were taken one day; pictures with concealed tanks were taken the next. The classifier identified the latter set with great accuracy, and tested extremely well on the portion of the data that had been withheld from training. However, the system performed poorly on new images. The first set of pictures were taken on a sunny day, whereas the latter were taken on a cloudy day. The classifier was not identifying tanks, it was identifying image brightness.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This leads to a question of how, in principle, one could take labeled training data and generate &quot;ambiguities&quot; that could be raised to user attention. The goal is &lt;em&gt;not&lt;/em&gt; to generate &quot;borderline&quot; cases (e.g. images with medium brightness), the goal is to identify additional features in the data that could explain the training labels so that these can be turned into queries (e.g. &quot;these labels can be explained both by brightness and by tanks&quot;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I can think of a number of ways to approach this problem, but I'm sure it's already been tackled in various different ways. Can anyone point me towards the literature on this question?&lt;/p&gt;&#xA;" OwnerUserId="1735" LastActivityDate="2014-12-19T02:52:11.707" Title="Identifying ambiguities in inductively learned concepts" Tags="&lt;machine-learning&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27895" PostTypeId="1" CreationDate="2014-12-19T09:46:41.247" Score="2" ViewCount="127" Body="&lt;p&gt;Given matrix $M\in\{0,1\}^{n\times n}$, let the minimum number of monochromatic rectangles it can be partitioned be $p$. Let the positive rank of $M$ be $\sigma$ and the rank be $r$. Is it known either $$p&amp;lt;r^{\log^dr}\mbox{ or }p&amp;lt;\sigma^{\log^c\sigma}\mbox{ or }p&amp;lt;(\sigma^{\log^c\sigma}r^{\log^dr})$$ hold true for some $c,d&amp;gt;0$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can $p&amp;lt;\sigma^{c}$ be true?&lt;/p&gt;&#xA;" OwnerUserId="1812" LastEditorUserId="1812" LastEditDate="2014-12-19T20:08:34.110" LastActivityDate="2014-12-19T20:58:32.437" Title="Partition Number of a Matrix" Tags="&lt;communication-complexity&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27896" PostTypeId="1" CreationDate="2014-12-19T13:51:16.300" Score="4" ViewCount="265" Body="&lt;p&gt;If $A$ and $B$ are NP-complete problems, is there a &lt;em&gt;bijective&lt;/em&gt; function $f$ (computable in polynomial time) such that $w\in A$ iff $f(w)\in B$?&lt;/p&gt;&#xA;" OwnerUserId="30420" LastActivityDate="2014-12-19T13:51:16.300" Title="Bijection between NP-complete problems" Tags="&lt;cc.complexity-theory&gt;&lt;np-complete&gt;" AnswerCount="0" CommentCount="6" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="27897" PostTypeId="2" ParentId="27652" CreationDate="2014-12-19T14:34:37.197" Score="4" Body="&lt;p&gt;There are several algorithms for &lt;a href=&quot;http://en.wikipedia.org/wiki/Count-distinct_problem&quot; rel=&quot;nofollow&quot;&gt;estimating cardinality&lt;/a&gt;. This problem seems to be important enough in practice. For example, Redis, which describes itself as a ‘data structure server’, supports it. I suspect students would find this a good motivation. The algorithm that Redis uses, HyperLogLog, may be too difficult to analyze in an undergrad course. But, there are some alternative algorithms that seem good for an undergrad course. One is to use the minimum value of all hash values seen. Another is to keep the maximum $k$ such that $2^k$ divides at least one of the hash values. The HyperLogLog paper is a good starting point for even more alternatives:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Flajolet et al., &lt;em&gt;&lt;a href=&quot;http://scholar.google.com/scholar?hl=en&amp;amp;q=HyperLogLog%3A%20the%20analysis%20of%20a%20nearly-optimal%20cardinality%20estimation%20algorithm&quot; rel=&quot;nofollow&quot;&gt;HyperLogLog: the analysis of a nearly-optimal cardinality estimation algorithm&lt;/a&gt;&lt;/em&gt;, 2007&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="236" LastActivityDate="2014-12-19T14:34:37.197" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27899" PostTypeId="2" ParentId="27895" CreationDate="2014-12-19T18:41:19.307" Score="4" Body="&lt;p&gt;The log of the partition number is a lower bound on the deterministic communication complexity and the square of the log of the partition number is an upper bound. In other words, if $CC$ is the communication complexity, then we know that $\log_2 p \leq CC \leq (\log_2 p)^2$: this is Theorem 2.11. in the Kushilevitz-Nisan monograph. It is an open problem whether $CC = \Theta(\log p)$, and the biggest known gap is a factor $2$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So $p &amp;lt; r^{\log^d r}$ for a constant $d$ implies that the communication complexity is at most $\log^{2d+2} r$. In other words there exists such a constant $d$ if and only if the log rank conjecture is true. I believe the best we know is $p &amp;lt; r^{C\sqrt{r}}$ for a constant $C$, by &lt;a href=&quot;http://eccc.hpi-web.de/report/2013/084/download&quot; rel=&quot;nofollow&quot;&gt;a recent result of Lovett&lt;/a&gt;. &lt;/p&gt;&#xA;" OwnerUserId="4896" LastEditorUserId="4896" LastEditDate="2014-12-19T20:58:32.437" LastActivityDate="2014-12-19T20:58:32.437" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="27900" PostTypeId="2" ParentId="27844" CreationDate="2014-12-19T19:58:59.293" Score="13" Body="&lt;p&gt;Seeing how this question doesn't appear to be set to be moved to Math.SE (where it would properly belong), I'll answer it here.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Multisets are an awkward case of a perfectly natural mathematical object which never really got a standard notation &amp;mdash; likely because multisets took much longer to be interesting to logicians. &lt;em&gt;As a corollary&lt;/em&gt;, there is no standard notation for extracting a set from a multiset.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are some natural ways to go about defining a reasonable notation for set-extraction:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Intersection.&lt;/strong&gt; If your multiset is drawn from a universe $\mathbf U$, you can simply take the intersection of your multiset $\mathcal M$ with the universe, $\mathcal M \cap \mathbf U$. This is to me already a good notation, and is a good way of describing any other notation you might want to define. For your example, we may write $\{1,2,3\} = \{1,2,2,3\} \cap \mathbb N$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Multiplicity filtering.&lt;/strong&gt; Perhaps you are sometimes interested in when there are &lt;em&gt;at least n&lt;/em&gt; of some of the elements; you can consider the set of such elements. One &lt;a href=&quot;http://oeis.org/wiki/Multisets#Multiplicity&quot; rel=&quot;nofollow noreferrer&quot;&gt;standard(-ish) notation for &quot;$a$ is an element of $\mathcal M$ at least $n$ times&quot;&lt;/a&gt; is $a \in^n\! \mathcal M$.&#xA;Consider defining&#xA;$$ \big.^n\!\mathcal M := \Bigl\{ a \in \mathcal M \;\Big|\; a \in^n\! \mathcal M \Bigr\} $$&#xA;in which case you have the identity $\big.^1\!\mathcal M = \mathcal M \cap \mathbf U$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;A set (forgetful) functor.&lt;/strong&gt; Don't make things hard on yourself! You want the set associated with a multiset $\mathcal M$? Define $\mathbf{Set}(\mathcal M) = \big.^1\!\mathcal M$ to be that set!&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;There are any number of approaches to doing this. Of course, you should Google long and hard to see if there is any convention which your target audience is likely to be using. But if there isn't, then bear in mind that &amp;mdash; by that very fact &amp;mdash; there is no notation which you can assume your audience will be familiar with: so define your notation explicitly!&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;h2&gt;Remarks&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;The following are really extended comments...&lt;/p&gt;&#xA;&#xA;&lt;h3&gt;Notation&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;It's pretty clear that $\{1,2,2,3\}$ can be used to represent a multiset in which there are two 2s, it will actually get in the way of how some people learned sets: not just that it has no repetition, but that repitition &lt;em&gt;doesn't matter&lt;/em&gt;. Some schools teach that $\{1,2,2,3\} = \{1,2,3\}$, and in the standard set-theoretic construction of the ordered pair $(a,b) := \{\{a\},\{a,b\}\}$, one situation which must be addressed is the case of  where $a = b$, in which case one obtains the set $\{\{a\}\}$. Bear this in mind, if you want to use multisets and sets side-by-side, and consider using a different notations entirely for multisets:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Square brackets notation&lt;/strong&gt; (as noted by &lt;a href=&quot;http://en.wikipedia.org/wiki/Multiset#Overview&quot; rel=&quot;nofollow noreferrer&quot;&gt;Wikipedia&lt;/a&gt;):&lt;br&gt;&lt;br&gt;$[1,2,2,3]$&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Double-square brackets or double-set braces notation&lt;/strong&gt; (as found &lt;a href=&quot;http://www.cs.put.poznan.pl/ksiek/latexmath.html#bags&quot; rel=&quot;nofollow noreferrer&quot;&gt;here&lt;/a&gt; and &lt;a href=&quot;http://www.proofwiki.org/wiki/Definition:Multiset#Notation&quot; rel=&quot;nofollow noreferrer&quot;&gt;here&lt;/a&gt;):&lt;br&gt;&lt;br&gt;$ [\![1,2,2,3]\!] \qquad \{\!\{ 1,2,2,3 \}\!\}$&lt;br&gt;&lt;br&gt;&#xA;(bearing in mind that $\{\!\{ 1,2,2,3 \}\!\}$ looks a lot like the singleton set containing $\{1,2,2,3\}$).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Bag notation&lt;/strong&gt; as provided by the &lt;code&gt;stmaryrd&lt;/code&gt; LaTeX package (as illustrated &lt;a href=&quot;https://tex.stackexchange.com/a/202753/911&quot;&gt;here&lt;/a&gt;):&lt;br&gt;&lt;br&gt;&lt;img src=&quot;https://i.stack.imgur.com/ytGrS.png&quot; alt=&quot;Bag notation for the multi-set {1,2,2,3}&quot;&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;h3&gt;Multisets versus characteristic functions&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;You could try to treat multisets as being identical with their characteristic functions, so that $\{1,2,2,3\}$ can be identified with a function $f$ such that $f(2) = 2$, $f(1) = f(3) = 1$, and $f(n) = 0$ otherwise. Just as we sometimes identify languages $L \subset \{0,1\}^\ast$ with their characteristic functions $L: \{0,1\}^\ast \to \{0,1\}$, this is okay as an abuse of notation.&#xA;But taking this too seriously has problems. For instance, you might not be pre-occupied with sums, but does $\mathrm{Sum}(f)$ represent $\sum_n f(n)$ (the sum of the values of $f$), or $\sum_n n\cdot f(n)$ (the sum of the elements of the multiset represented by $f$)? If you intend to act as though multisets &quot;really are&quot; their histograms, you must be prepared for such potential confusions by people who assume you have important reasons to choose that convention.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would recommend that you treat multisets as first-class entities, which &lt;em&gt;have&lt;/em&gt; characteristic functions, but are not &lt;em&gt;the same as&lt;/em&gt; characteristic functions.&#xA;That is, that you should keep the distinction between the collection and the function, unless you feel that identifying the two is very useful or important.&lt;/p&gt;&#xA;" OwnerUserId="248" LastEditorUserId="-1" LastEditDate="2017-04-13T12:36:12.330" LastActivityDate="2014-12-20T01:57:18.300" CommentCount="2" CommunityOwnedDate="2014-12-22T23:19:53.810" ContentLicense="CC BY-SA 3.0" />
  <row Id="27901" PostTypeId="1" CreationDate="2014-12-19T20:50:28.860" Score="1" ViewCount="121" Body="&lt;p&gt;Suppose one has a set of $n$ points in $\mathbb{R}^d$, where the points are represented as $p_1$ through to $p_n$. Define the weight matrix $W$ as follows: let $W_{i,j}$ be $e^{-||p_i - p_j ||^2}$, also sometimes known as a Gaussian weight matrix. My question is, is there a relation of the rank of $W$ to the underlying dimensionality $d$? If not, is there a rank $d$ matrix approximation of $W$?  The reason I say this is that in a loose &quot;information theoretic&quot; sense, all the weights can be reconstructed from the $d$ real coordinates of each point.&lt;/p&gt;&#xA;" OwnerUserId="2302" LastActivityDate="2014-12-19T20:50:28.860" Title="On Gaussian Weight matrix and rank" Tags="&lt;matrices&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27902" PostTypeId="1" CreationDate="2014-12-19T21:21:55.813" Score="3" ViewCount="414" Body="&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Distributive_law_between_monads&quot; rel=&quot;nofollow&quot;&gt;A distributive law between monads&lt;/a&gt; must satisfy laws that are usually given in terms of the units $\eta$ and multiplications $\mu$ of the two monads. Among the four laws there are:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;$\mu^S T \circ S l \circ l S = l \circ T \mu^S$, and&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;$S \mu^T \circ l T \circ T l = l \circ \mu^T S$&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I would like to state those laws in Haskell in terms of &lt;code&gt;fmap&lt;/code&gt;, &lt;code&gt;return&lt;/code&gt; and &lt;code&gt;(&amp;gt;&amp;gt;=)&lt;/code&gt;. By replacing $\mu$ in the above equation I respectively get:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;code&gt;fmap l (l n) &amp;gt;&amp;gt;= id  ==  l (fmap (\m  -&amp;gt; m &amp;gt;&amp;gt;= id) n)&lt;/code&gt;, and&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;code&gt;fmap (\m -&amp;gt; m &amp;gt;&amp;gt;= id) (l (fmap l n))  ==  l (n &amp;gt;&amp;gt;= id)&lt;/code&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;But those equations in this form are not very useful for making proofs by rewriting because such patterns never arise directly in practice and thus I cannot use them for rewriting.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a nicer, smarter and equivalent way to define a distributive law for monads in Haskell terms of &lt;code&gt;fmap&lt;/code&gt;, &lt;code&gt;return&lt;/code&gt; and &lt;code&gt;(&amp;gt;&amp;gt;=)&lt;/code&gt;? I searched the literature on Haskell but the closer I found were &lt;a href=&quot;https://en.wikipedia.org/wiki/Monad_transformer&quot; rel=&quot;nofollow&quot;&gt;monad transformers&lt;/a&gt; which seem to involve special cases of distributive law where one of the monad is fixed. However I am interested in the general case.&lt;/p&gt;&#xA;" OwnerUserId="26690" LastEditorUserId="26690" LastEditDate="2014-12-21T16:24:18.620" LastActivityDate="2014-12-21T16:24:18.620" Title="Distributive law between monads in Haskell" Tags="&lt;functional-programming&gt;&lt;ct.category-theory&gt;&lt;haskell&gt;&lt;monad&gt;" AnswerCount="0" CommentCount="6" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="27904" PostTypeId="1" AcceptedAnswerId="27907" CreationDate="2014-12-20T13:08:02.950" Score="3" ViewCount="88" Body="&lt;p&gt;Is it known that $\mathsf{IP}\notin\mathsf{NP}^{cc}\cup\mathsf{coNP}^{cc}$ where $\mathsf{IP}$ is inner product communication complexity problem? Where is the classification of $\mathsf{IP}$ currently in?&lt;/p&gt;&#xA;" OwnerUserId="1812" LastActivityDate="2014-12-20T20:11:52.277" Title="Classification of a specific problem" Tags="&lt;communication-complexity&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27905" PostTypeId="1" AcceptedAnswerId="27908" CreationDate="2014-12-20T15:55:49.467" Score="1" ViewCount="83" Body="&lt;p&gt;Let's define two CFGs: &lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;S  ::= 0 | 1 | (S+S) | (S*S)  &#xA;S' ::= 0 | 1 |  S+S  |  S*S  | (S)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;And two languages:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;M  = { w | S  generates w, and w evaluates to 1 }&lt;br&gt;&#xA;M' = { w | S' generates w, and w evaluates to 1 }&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In both cases, evaluating is done by interpreting + as logical or, * as logical and, and in the case of M' by being careful about * having higher precedence than +.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Suppose w is in S, and u is in S'&lt;/strong&gt;. My questions are:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Is there a finite automaton (or a regex) that can decide wheter w is in M?&lt;/li&gt;&#xA;&lt;li&gt;Is there a finite automaton (or a regex) that can decide wheter u is in M'?&lt;/li&gt;&#xA;&lt;li&gt;Suppose S ::= 0 | 1 | +SS | *SS. (Prefix notation) Does this change the answer to question 1?&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;I'm aware that without knowing whether w is in S, deciding if w is in M isn't solvable by finite automata due to pumping lemma (we'd have an issue with parentheses), similarly for u, S' and M'. However, knowing that w is in S (and u is in S') might make the problem significantly easier. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note: if the answer is yes, please write the grammar/regex/proof sketch/explanation in spoiler tags. :)&lt;/p&gt;&#xA;" OwnerUserId="9931" LastEditorUserId="9931" LastEditDate="2014-12-20T16:40:25.630" LastActivityDate="2014-12-20T21:12:14.770" Title="What is the complexity of the set of closed boolean tautologies assuming well formed formulae?" Tags="&lt;regular-language&gt;&lt;boolean-formulas&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27907" PostTypeId="2" ParentId="27904" CreationDate="2014-12-20T20:11:52.277" Score="4" Body="&lt;p&gt;Let $\mathsf{coIP}$ denote the problem of returning the negation of the inner product. It has roughly the same complexity as $\mathsf{IP}$ since we can add to both players an extra $1$ bit. It is known that the deterministic communication complexity of a decision problem is upper bounded by the product of the non-deterministic complexities of the problem and its complement. Since $\mathsf{IP}$ has deterministic complexity $\Omega(n)$, it follows that the non-deterministic complexity of $\mathsf{IP}$ and $\mathsf{coIP}$ is $\Omega(\sqrt{n})$, and in particular $\mathsf{IP} \notin \mathsf{NP}^{cc} \cup \mathsf{coNP}^{cc}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://iiis.tsinghua.edu.cn/uploadfile/2012/0223/20120223094853773.pdf&quot; rel=&quot;nofollow&quot;&gt;Sun, Wang and Yu&lt;/a&gt; showed that the non-deterministic communication complexity of $\mathsf{IP}$ is in fact $\Omega(n)$, even under the promise that the answer is either $0$ or $1$ (as an integer value).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the related $\mathsf{MA}$ model, in which we demand perfect completeness but only constant soundness, there is an $O(\sqrt{n}\log n)$ protocol due to Aaronson and Wigderson almost matching Klauck's $\Omega(\sqrt{n})$ lower bound; see for example &lt;a href=&quot;http://www.cs.toronto.edu/~toni/Courses/PvsNP/Lectures/lecture11.pdf&quot; rel=&quot;nofollow&quot;&gt;Pitassi's lecture notes&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="40" LastActivityDate="2014-12-20T20:11:52.277" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="27908" PostTypeId="2" ParentId="27905" CreationDate="2014-12-20T20:19:06.827" Score="3" Body="&lt;p&gt;The answer to all three questions is negative. Consider e.g. the prefix version (3), and assume for contradiction that it is decidable by a (wlog deterministic) automaton $A$ with $m$ states. Consider the strings&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\begin{align}&#xA;u_k&amp;amp;={+}^{m-k}{*}{+}^k,\\&#xA;v_l&amp;amp;=1^{l+1}0^{m-l+1}.&#xA;\end{align}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Notice that $u_kv_l$ is a well-formed Boolean sentence for every $0\le k\le m$, $0\le l\le m+1$, and it is easy to see that $u_kv_l$ evaluates to $1$ iff $k&amp;lt;l$. By the pigeonhole principle, there are $0\le k&amp;lt;l\le m$ such that $u_k$ and $u_l$ land in the same state of $A$, thus $u_kv_l$ and $u_lv_l$ are both accepted or both rejected. However, the former evaluates to $1$, and the latter to $0$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For infix formulas (questions 1,2), one can use in a similar way formulas of the form&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$(0+((0+\cdots((0+((1+((0+\cdots((0+0)*1))*1))\dots*1))*0))*1))\dots*1)).$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The argument in fact shows that any deterministic automaton evaluating well-formed Boolean sentences of length $n$ must have size $\Omega(n)$, or in other words, any online algorithm for evaluation of such sentences needs space at least $\Omega(\log n)$. This bound is tight: as shown by &lt;a href=&quot;http://www.math.ucsd.edu/~sbuss/ResearchWeb/Boolean3/index.html&quot; rel=&quot;nofollow&quot;&gt;Buss&lt;/a&gt;, it is possible to evaluate Boolean sentences in infix notation in online space $O(\log d)$, where $d$ is the depth of the formula (i.e., maximum nesting of brackets). (The paper advertises it as an online $O(\log\log n)$-space algorithm for evaluation of &lt;em&gt;balanced&lt;/em&gt; formulas, using the fact that these have depth $d=\log n$.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, as also shown by Buss, Boolean sentence evaluation (in either prefix or infix notation) can be done in ALOGTIME, aka uniform $\mathrm{NC}^1$, and it is in fact complete for this class under DLOGTIME many-one reductions. Since regular languages with unsolvable syntactic monoid (for example, $\bigl((a|b)^3(ab^*a|b)\bigr)^*$) are also $\mathrm{NC}^1$-complete, it follows that one can &lt;em&gt;reduce&lt;/em&gt; Boolean sentence evaluation in DLOGTIME to a regular language.&lt;/p&gt;&#xA;" OwnerUserId="6959" LastEditorUserId="6959" LastEditDate="2014-12-20T21:12:14.770" LastActivityDate="2014-12-20T21:12:14.770" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27912" PostTypeId="2" ParentId="27748" CreationDate="2014-12-21T08:15:49.813" Score="2" Body="&lt;p&gt;I would like to ask everyone not to upvote this, as this is not an answer, but an extended comment, in which I would like to argue why this question did not receive any answers. My main point is, that a communication complexity lower bound won't work. By this, I mean that no matter how we cut the input into two parts and give it to two players, A and B, A can transfer a single bit to B from which he can compute the parity of the permutation. (This follows simply by considering inversions.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Proofs that use another bound are hard.&#xA;See this comment here by Noam Nisan (for the non-deterministic version): &lt;a href=&quot;https://cstheory.stackexchange.com/questions/20468/bounds-on-the-size-of-the-smallest-nfa-for-l-k-distinct#comment57460_20468&quot;&gt;Bounds on the size of the smallest NFA for L_k-distinct&lt;/a&gt;,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;this related question by myself answered by Hermann Gruber which shows that the communication complexity lower bound can be very far from the truth (again in the non-deterministic version)&#xA;&lt;a href=&quot;https://cstheory.stackexchange.com/questions/21900/lower-bound-for-nfa-accepting-3-letter-language&quot;&gt;Lower bound for NFA accepting 3 letter language&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also related that to decide whether the permutation is a single cycle, seems to be hard, see this FOCS paper by Ran Raz and Boris Spieker:&#xA;&lt;a href=&quot;http://www.computer.org/csdl/proceedings/focs/1993/4370/00/0366870-abs.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://www.computer.org/csdl/proceedings/focs/1993/4370/00/0366870-abs.html&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, I am also very interested to learn the answer to this question.&lt;/p&gt;&#xA;" OwnerUserId="419" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2014-12-21T14:14:06.250" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="27917" PostTypeId="2" ParentId="27873" CreationDate="2014-12-21T15:52:34.683" Score="6" Body="&lt;p&gt;At a high-level (ignoring the messier details), recryption that boosts bounded-depth homomorphism to unbounded-depth homomorphism works as follows:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose you have a public-key &quot;somewhat-homomorphic&quot; encryption scheme with procedures:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;$(PK, SK) \leftarrow Gen(1^{secparam}; coins)$: generates encryption/decryption keys&lt;/li&gt;&#xA;&lt;li&gt;$c \leftarrow Enc(PK, m; coins)$: encrypts message $m$ as ciphertext $c$ under key $PK$&lt;/li&gt;&#xA;&lt;li&gt;$m \leftarrow Dec(SK, c)$: decrypts ciphertext $c$ using key $SK$ to message $m$&lt;/li&gt;&#xA;&lt;li&gt;$c^* \leftarrow Eval(C, c_1, ..., c_k)$: given ciphertexts $c_1, ..., c_k$ and a circuit description $C$, computes $c^* = Enc(C(m_1, ..., m_k))$&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;where &quot;somewhat-homomorphic&quot; means $Eval$ can only correctly (and succinctly) compute ciphertexts $c^*$ when the circuit $C$ has bounded depth (in some well-defined sense).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Correctness just means that w.h.p. over honest $(PK, SK) \leftarrow Gen$, for all $C, \{m_i\}_i$, we have $C(m_1, ..., m_k) = Dec(SK, Eval(C, Enc(PK, m_1; coins_1), ..., Enc(PK, m_k; coins_k)))$.&#xA;I.e. that if you use the scheme 'honestly,' you get correct decryption of (possibly $Eval$'d) ciphertexts.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;That said, the observation is that the $Dec$ procedure, when written as a circuit, is a bounded-depth computation. Therefore, we can run $Eval$ on $C = \langle Dec\rangle$ when given (say) $SK_1$ and $Enc(PK_1, m)$ with BOTH encrypted under $PK_2$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To use this, we augment the $Gen$ procedure to first honestly generate two key-pairs $(PK_1, SK_1), (PK_2, SK_2)$. Then, $Gen$ creates a &quot;recryption&quot; key $RK_{1\rightarrow 2} = Enc(PK_2, SK_1)$ -- that is, the encryption of the key $SK_1$ under $PK_2$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The scheme begins with the keys above, messages $\{m_i\}$ and a circuit $C$, and first creates ciphertexts $c^{(1)}_i = Enc(PK_1, m_i)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In order to recrypt, (conceptually) we can then doubly-encrypt the $\{c^{(1)}_i\}$ under $PK_2$. That is, create $c^{(2)}_i = Enc(PK_2, c^{(1)}_i) = Enc(PK_2, Enc(PK_1, m_i))$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then, under key $PK_2$, we perform (for each $i$) $Eval(\langle Dec\rangle, RK_{1\rightarrow 2}, c^{(2)}_i)$ obtaining a ciphertext $c^*_i$. By the correctness of $Eval$ and $Dec$, we have $c^*_i = Enc(PK_2, C(first\_plaintext, second\_plaintext)) = Enc(PK_2, Dec(SK_1, c^{(1)}_i)) = Enc(PK_2, m_i)$.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;The 'messier details' in fact show that these $\{c^*_i = Enc(PK_2, m_i)\}$ are &quot;fresh&quot; ciphertexts under $PK_2$, meaning we have the full &quot;bounded-depth&quot; of $Eval$ available to us. Therefore, if $Eval$ can support at least the depth of the $Dec$ circuit, plus one, then you are able to perform unbounded-depth homomorphic computation (by further assuming circular security, and posting both $RK_{1\rightarrow 2}$ and $RK_{2\rightarrow 1}$, then toggling between the two keys with each recryption). In other words, you compute one step of the computation of some given circuit $C$, then you recrypt, and repeat.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;P.S. If you go through significantly more effort (involving program obfuscation techniques), you can also obtain FHE without the circular security assumption. See: &lt;a href=&quot;http://eprint.iacr.org/2014/882&quot; rel=&quot;nofollow&quot;&gt;http://eprint.iacr.org/2014/882&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="108" LastEditorUserId="108" LastEditDate="2014-12-22T22:14:47.223" LastActivityDate="2014-12-22T22:14:47.223" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="27918" PostTypeId="1" CreationDate="2014-12-21T19:22:59.667" Score="5" ViewCount="192" Body="&lt;p&gt;Are there any logics (modal-based or others) to formalize the following statement:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&quot;agent A understands p&quot;. For example &quot;agent A understands that Titanic sank&#xA;because it hit an iceberg&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Where &quot;understands&quot; could be considered as a modal operator like the epistemic modal operator &quot;agent A knows p&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thank you,&lt;/p&gt;&#xA;" OwnerDisplayName="user30441" LastEditorDisplayName="user30441" LastEditDate="2014-12-22T10:43:01.583" LastActivityDate="2014-12-22T10:43:01.583" Title="Are there any logics to formalize understanding?" Tags="&lt;lo.logic&gt;&lt;temporal-logic&gt;&lt;modal-logic&gt;" AnswerCount="0" CommentCount="11" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27920" PostTypeId="2" ParentId="27855" CreationDate="2014-12-21T22:51:55.307" Score="3" Body="&lt;p&gt;God could (a) provide a proof that factorization was hard and (b) use the idea of the OP to show us that He can factor large numbers. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Of course, this doesn't work if you think factorization is easy or it's possible to build quantum computers. But then God could choose a different problem to demonstrate with.)&lt;/p&gt;&#xA;" OwnerUserId="1677" LastEditorUserId="1677" LastEditDate="2014-12-21T23:00:44.040" LastActivityDate="2014-12-21T23:00:44.040" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="27921" PostTypeId="1" CreationDate="2014-12-22T05:29:40.513" Score="4" ViewCount="85" Body="&lt;p&gt;I am interested in the following. Let the inputs of the circuit correspond to the arcs of a directed graph. The circuit has to output 1 iff there is a directed path from a given node S to a given node T such that all arcs on that path have input value 1.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I can construct Boolean circuits that have size linear in nm where n is the number of vertices in the graph and m is the number of arcs. I would like to know if smaller circuits are possible. Especially, circuits that are linear in n+m.&lt;/p&gt;&#xA;" OwnerUserId="30451" LastActivityDate="2014-12-22T05:29:40.513" Title="size bounds for circuits recognizing graph properties (reachability, cyclicity, ...)" Tags="&lt;graph-theory&gt;&lt;circuit-complexity&gt;" AnswerCount="0" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27922" PostTypeId="2" ParentId="27882" CreationDate="2014-12-22T10:02:40.907" Score="2" Body="&lt;p&gt;An alternating tree automaton for arbitrary degree trees has a transition function of the following type:&#xA;$$\delta:Q\times \Sigma\times D\to {\cal B}(\mathbb{N}\times Q)$$ where ${\cal B}$ is the set of Boolean functions over the given set.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This has a limitation that $\delta(q,\sigma,d)$ only outputs values between $1,...,d$ (so it fits the degree of the tree).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thus, the transition function is defined separately for each degree, so it's effectively a family of automata. In particular, this means that if you want to handle arbitrary degrees, you need an infinite description (or a finite description of an infinite object). While this is mathematically possible, it can of course make things undecidable, if (for example) your transition function is given by a TM.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In your example, you can clearly construct such an automaton, since you can construct one for every degree.&lt;/p&gt;&#xA;" OwnerUserId="7531" LastActivityDate="2014-12-22T10:02:40.907" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27927" PostTypeId="1" AcceptedAnswerId="29070" CreationDate="2014-12-22T15:36:30.037" Score="7" ViewCount="116" Body="&lt;p&gt;I recently became aware of the rather appealing characterization of deterministic word-to-word transductions as word functions with &lt;em&gt;bounded variation&lt;/em&gt; (see e.g. [1]). This coincides with the set of functions that can be realized by subsequential transducers, which are deterministic finite state transducers with an output function defined on accepting states.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Not every function defined by a non-deterministic FST is subsequential, that is, even if the FST is single-valued, it might not be determinizable. I wondered if there are any extensional characterizations of the set of functions definable by (single-valued) FSTs?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] Bruyère, Véronique and Reutenauer, Christophe.  A proof of choffrut's theorem on subsequential functions. Theoretical Computer Science, 1999.&lt;/p&gt;&#xA;" OwnerUserId="29249" LastActivityDate="2015-01-08T16:35:52.227" Title="Extensional characterization of non-deterministic finite state transductions" Tags="&lt;reference-request&gt;&lt;fl.formal-languages&gt;&lt;automata-theory&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27929" PostTypeId="1" CreationDate="2014-12-22T21:02:26.967" Score="13" ViewCount="625" Body="&lt;p&gt;&lt;em&gt;I'm not a theoretical computer scientist.&lt;/em&gt; I'm a stable homotopy theorist using $\infty$-categories. I've seen applications of category theory and topos theory to theoretical computer science, and I was wondering if there was any way one could use &lt;strong&gt;$\infty$-categories&lt;/strong&gt; (and preferably for me, stable homotopy theory) in theoretical computer science. I think HoTT mught be one such application, but I may very well be wrong because I know close to nothing about HoTT. (So I also don't know how HoTT is used in TCS.)&lt;/p&gt;&#xA;" OwnerDisplayName="user21269" LastEditorUserId="5693" LastEditDate="2014-12-26T21:37:20.743" LastActivityDate="2014-12-26T21:37:20.743" Title="Uses of $\infty$-categories in TCS" Tags="&lt;lo.logic&gt;&lt;soft-question&gt;&lt;ct.category-theory&gt;" AnswerCount="3" CommentCount="4" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="27930" PostTypeId="2" ParentId="27929" CreationDate="2014-12-22T22:50:08.847" Score="11" Body="&lt;p&gt;Applying higher homotopy-theoretic ideas to CS is still a very nascent field! My understanding is that it's not even that old as a mathematical field.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Certainly HoTT is the central impetus for such ideas. Even there though, there only have been few applications of category theory of &quot;dimension&quot; higher than 2.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One nice &quot;computer science-y&quot; one is &lt;a href=&quot;http://homotopytypetheory.org/2014/09/01/homotopical-patch-theory/&quot;&gt;Homotopical Patch Theory&lt;/a&gt; by Anguili &lt;em&gt;et al&lt;/em&gt;. They show that some common operations and properties inherent &lt;code&gt;git&lt;/code&gt; like version control systems can be best understood using homotopy type theory.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another rather unrelated train of thought is some interesting work on the relationship between (2-)Homology theory and confluence of term rewrite systems (or more complex structures such as higher algebras). Some examples are&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Y. Guiraud &lt;em&gt;&lt;a href=&quot;http://www.pps.univ-paris-diderot.fr/~guiraud/recherche/groebner.pdf&quot;&gt;Confluence of linear rewriting and homology of algebras &lt;/a&gt;&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Y. Lafont &amp;amp; A. Proute &lt;em&gt;&lt;a href=&quot;http://iml.univ-mrs.fr/~lafont/pub/homology.ps&quot;&gt;Church-Rosser property and homology of monoids&lt;/a&gt;&lt;/em&gt;.&lt;/p&gt;&#xA;" OwnerUserId="3984" LastActivityDate="2014-12-22T22:50:08.847" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27931" PostTypeId="2" ParentId="27845" CreationDate="2014-12-22T23:49:26.340" Score="4" Body="&lt;h2&gt;Lower bound&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;At least $\Omega(1/\sqrt{\epsilon})$ queries are necessary to distinguish the two cases.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider the sequence $a_1,\dots,a_n$ given by $\epsilon,2\epsilon,3\epsilon,4\epsilon,\dots$, with $n$ chosen so that $a_1+\dots+a_n = 1$.  In particular, we can take $n \approx 1/\sqrt{2\epsilon}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now construct a new sequence $a'_1,\dots,a'_n$ by modifying a single element of the above sequence by subtracting $\epsilon$.  In other words, $a'_1=a_1$, $a'_2=a_2$, etc., except that $a'_i = a_i - \epsilon$.  Notice that $a'_1 + \dots + a'_n = 1-\epsilon$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;How many probes does it take to distinguish $a_1,\dots,a_n$ from $a'_1,\dots,a'_n$?  Well, they differ in only a single element (the $i$th element), so it takes $\Omega(n)$ probes to achieve a constant probability of distinguishing.  Now recalling that $n \approx 1/\sqrt{2\epsilon}$; we find that $\Omega(1/\sqrt{\epsilon})$ probes are needed.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Upper bound&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;I think you can distinguish the two cases using $O(\lg(n/\epsilon) [\lg n + 1 / \epsilon^2])$ queries.  I don't know if this is optimal.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here's how.  Let's partition the range $[0,1]$ as follows:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$[0,1] = [0,0.25\epsilon/n] \cup (0.25\epsilon/n,0.5\epsilon/n] \cup (0.5\epsilon/n,\epsilon/n] \cup (\epsilon/n,2\epsilon/n] \cup (2\epsilon/n,4\epsilon/n] \cup \dots \cup (\ldots,1].$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is a partition, so each $a_i$ value must fall into exactly one of the ranges above.  We'll partition the $a_i$ values according to which range they are in.  Each $a_i$ value falls into exactly one of these ranges, and the ones that fall into a particular range all appear consecutively in your sorted order.  Therefore, for any given range $[\ell,u]$, we can find the indices $i,j$ such that $a_i,\dots,a_j \in [\ell,u]$ using binary search.  This requires $O(\lg(n/\epsilon))$ binary searches.  Assume we've done that.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, we'll estimate the sum of values in each range.  The first range will be handled separately from all the rest:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;For the first range $[0,0.25\epsilon/n)$, we can bound the sum of values in that range to somewhere between $0$ and $m \times 0.25\epsilon/n$, where $m$ is the number of values that fall within that range.  Since $m \le n$, the absolute error in this bound will be at most $0.25 \epsilon$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;For each other range, we can bound the sum of values in that range to within relative error $\delta$ using $O(1/\delta^2)$ random probes.  (The key here is that all of the values in that range have a known lower-bound, and are at most $2 \times$ the lower bound.)  We'll choose $\delta = 0.25 \epsilon$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The error in the sum of the estimates for all but the first range will be at most $0.25 \epsilon$.  The error in the estimate for the first range will be at most $0.25 \epsilon$.  Therefore, the total error in the sum of all these estimates will be $\le 0.5 \epsilon$, which is enough to distinguish between a total of $1$ vs a total of $1-\epsilon$.&lt;/p&gt;&#xA;" OwnerUserId="5038" LastEditorUserId="5038" LastEditDate="2014-12-27T01:35:57.920" LastActivityDate="2014-12-27T01:35:57.920" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="27932" PostTypeId="1" AcceptedAnswerId="27933" CreationDate="2014-12-23T02:14:38.377" Score="2" ViewCount="153" Body="&lt;p&gt;In communication complexity one important object is the combinatorial retangle. Given a $0-1$ square matrix $M$, do their exist permutations $\sigma,\pi$ such that $\sigma M\pi$ consists of only geometric rectangles? That is all the combinatorial rectangles are geometrically connected?&lt;/p&gt;&#xA;" OwnerUserId="1812" LastActivityDate="2014-12-23T02:28:44.433" Title="On connecting combinatorial rectangles" Tags="&lt;communication-complexity&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27933" PostTypeId="2" ParentId="27932" CreationDate="2014-12-23T02:28:44.433" Score="4" Body="&lt;p&gt;It's not possible.  Consider the following 3x3 boolean matrix:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1 1 0&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1 0 1&lt;/p&gt;&#xA;&#xA;&lt;p&gt;0 1 1&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For every pair of rows {r,r'} , there exists a column c such that {r,r'} X {c} is a combinatorial rectangle.  For any particular pair, we can permute the rows such that {r,r'} are adjacent.  However, since we have a combinatorial rectangle for &lt;em&gt;all&lt;/em&gt; pairs of rows, it's not possible to permute the rows so that all such rectangles are geometrically connected simultaneously.&lt;/p&gt;&#xA;" OwnerUserId="1645" LastActivityDate="2014-12-23T02:28:44.433" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27935" PostTypeId="5" CreationDate="2014-12-23T13:50:39.700" Score="0" Body="&lt;p&gt;Homomorphic cryptosystems are cryptosystems in which, given &lt;span class=&quot;math-container&quot;&gt;$c_1\mathcal{E}(m_1)$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$c_2\mathcal{E}(m_2)$&lt;/span&gt;, another party can compute some function of &lt;span class=&quot;math-container&quot;&gt;$c_1$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$c_2$&lt;/span&gt;. For example, say the other party wants to compute &lt;span class=&quot;math-container&quot;&gt;$m_1\cdot m_2$&lt;/span&gt;, the cryptosystem allows them to compute &lt;span class=&quot;math-container&quot;&gt;$c_1\odot c_2$&lt;/span&gt; such that &lt;span class=&quot;math-container&quot;&gt;$\mathcal{D}(c_1\odot c_2) = m_1\cdot m_2$&lt;/span&gt;. Not that &lt;span class=&quot;math-container&quot;&gt;$\odot$&lt;/span&gt; is not necessarily multiplication (and in fact often is not).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A system is said to be homomorphic with respect to addition if &lt;span class=&quot;math-container&quot;&gt;$m_1+m_2$&lt;/span&gt; can be computed from &lt;span class=&quot;math-container&quot;&gt;$\mathcal{E}(m_1)$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$\mathcal{E}(m_2)$&lt;/span&gt;. Homomorphic with respect to multiplication is similarly defined. A fully homomorphic cryptosystem would support any sequence of both addition and multiplication.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Until 2009, no fully homomorphic cryptosystem existed. This changed with &lt;a href=&quot;http://crypto.stanford.edu/craig/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Craig Gentry's PhD Thesis&lt;/a&gt;. Much development has taken place since to make fully homomorphic encryption practical.&lt;/p&gt;&#xA;" OwnerUserId="29094" LastEditorUserId="32711" LastEditDate="2018-11-07T01:36:19.883" LastActivityDate="2018-11-07T01:36:19.883" CommentCount="0" ContentLicense="CC BY-SA 4.0" />
  <row Id="27936" PostTypeId="4" CreationDate="2014-12-23T13:50:39.700" Score="0" Body="Cryptosystems which support computation on encrypted data. They may be partially homomorphic (support for one operation such as + or *), somewhat (or leveled) homomorphic (support for a limited number of two operations) or they may be fully homomorphic (any sequence of + and *)." OwnerUserId="29094" LastEditorUserId="29094" LastEditDate="2016-03-01T18:51:19.443" LastActivityDate="2016-03-01T18:51:19.443" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27937" PostTypeId="2" ParentId="27870" CreationDate="2014-12-23T16:10:27.700" Score="12" Body="&lt;p&gt;The general belief seems to be that the expansion in $\alpha$ is an asymptotic series but not a convergent series. The handwaving estimate is that in $\sum_k c_k \alpha^k$, the scaling for the coefficients is roughly $c_k \sim k!$. So, since $\alpha \simeq 1/137$ the terms will start to get bigger rather than smaller for $k$ larger than around 137. (I assume there is serious literature on this topic, but I'm not too familiar with it. The above is what high energy physicists have told me in casual conversation.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The fine structure constant itself is not something for which anyone knows a purely theoretical formula. So getting more digits of $\alpha$ is a fundamentally different problem from getting more digits of $\pi$. That being said, the challenges are both experimental and computational. Various experiments in particle accelerators and atomic physics laboratories are dedicated to making progressively more precise measurements of fundamental constants such as $\alpha$. Often, the high-precision theoretical calculation of the factors relating the experimentally observed quantities (such as scattering probabilities or spectral lines) to fundamental constants of interest such as $\alpha$ is very difficult and computationally heavy. The computational side can be just as much a limiting factor as the experimental side in these precision metrology problems. (Some of my coworkers at NIST specialize in this sort of thing.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the quantum algorithm that Keith and John and I developed, we do not use a perturbative expansion in powers of the coupling constant. The simulation algorithm is much more directly analogous to an actual experiment. However, one advantage over experiment is that in a simulation we are free to change $\alpha$ to whatever value we want. So, by computing scattering amplitudes at varying $\alpha$ it might be easier to determine the individual coefficients $c_k$ than it is in the real world. However, the study of quantum algorithms for simulating quantum field theories is in its infancy. The extraction of such coefficients is one of the numerous interesting questions that have not really been explored yet! Also, our algorithms don't yet tackle QED but rather some simplified models.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Today, we primarily have two classical algorithms for QFT: Feynman diagrams and lattice simulations. Feynman diagrams break down at strong coupling or high precision, as discussed above. Lattice calculations are mostly only good for computing static quantities such as binding energies (e.g. the mass of the proton), rather than dynamic quantities such as scattering amplitudes. This is because the lattice calculations use imaginary time. (Also, for certain condensed matter systems that are highly frustrated, even finding static quantities such as ground state energies is exponentially hard. It is not clear to me to what extent this phenomenon is relevant to high energy physics.) There is also a current research program on speeding up the computation of scattering amplitudes in supersymmetric quantum field theories. You may have heard about the &quot;amplituhedron&quot;, which is part of this. This seems kind of exciting, but it's recent stuff and I don't know too much about it. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, there is room for exponential speedup by quantum computation in the case that you wish to compute dynamical quantities such as scattering amplitudes with high precision or in a strongly coupled quantum field theory. My papers with Keith and John work out polynomial-time quantum algorithms for computing scattering amplitudes in simple quantum field theories which can be strongly coupled. We would like to extend our algorithms to simulate more complete models such as QED and QCD but we are not there yet. Doing so involves nontrivial challenges, but my feeling is that quantum computers should be able to compute scattering amplitudes in quantum field theories in polynomial time quite generally.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, that's the perspective based on known classical and quantum algorithms. There is also a perspective from complexity theory. For many classes of physical systems, the problem of computing transition amplitudes to polynomial precision is BQP-complete, and the problem of computing ground energies is QMA-complete. So, for worst case instances we expect quantum computers to compute transition amplitudes in polynomial time, whereas classical computers require exponential time. We expect both quantum and classical computers (as well as nature itself) to require exponential time to find ground states in the worst case. The question is whether the worst case instances of the computational problems look like any real physics. In the context of condensed matter physics, the answer is basically yes, I would say. In the context of high energy physics, one can construct BQP-hard instances of the scattering amplitude problem that correspond at least loosely to something a physicist might need to calculate. (We are currently working on a paper about this.) Whether one can construct QMA-hard instances of the problem of computing a vacuum state for a quantum field theory is something that I have not really thought about. However, I think this could be done if one is willing to allow non-translationally-invariant external fields. &lt;/p&gt;&#xA;" OwnerUserId="30468" LastEditorUserId="30468" LastEditDate="2014-12-23T17:01:09.857" LastActivityDate="2014-12-23T17:01:09.857" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27939" PostTypeId="1" AcceptedAnswerId="27941" CreationDate="2014-12-23T19:34:42.943" Score="6" ViewCount="297" Body="&lt;p&gt;I read a book on homotopy type theory. HoTT has the univalence axiom. This axiom seems to simplify working in category theory, but which other fields of mathematics it simplifies? I.e. how can I use it, for example, to simplify a proof of correctness of an implementation of red-black trees?&lt;/p&gt;&#xA;" OwnerUserId="21833" LastEditorUserId="21833" LastEditDate="2014-12-23T21:42:15.083" LastActivityDate="2014-12-23T22:12:10.990" Title="How Univalence can be used for proofs about algorithm correctness" Tags="&lt;type-theory&gt;&lt;homotopy-type-theory&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27940" PostTypeId="2" ParentId="27929" CreationDate="2014-12-23T19:35:54.743" Score="11" Body="&lt;p&gt;Theoretical computer scientists do many things, one of which is mathematical modeling of various computer-sciency things. For instance, we like to provide mathematical models of programming languages, so that people can actually &lt;em&gt;prove&lt;/em&gt; things about programs (such as proving that the program does what it's supposed to). In this sense it is always good to have a good supply of mathematical techniques that will give us models for various things that computer scientists come up with.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In fact theoretical computer scientists had to invent some pretty advanced mathematical models because they wanted to get a good mathematical graps of what computer scientists were doing. Often classical set theory is not good enough for our purposes, for example because we want a non-tivial &lt;a href=&quot;http://ncatlab.org/nlab/show/complete+small+category&quot;&gt;complete small category&lt;/a&gt; or a non-trivial set $D$ satisfying $D \cong D^D$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Recently a connection between type theory (which is a common generalization of programming languages, logic and set theory) and homotopy theory has been uncovered. It is still very early to tell what exactly will come out of it, but our understanding of type theory has certainly been advanced by the homotopy-theoretic ideas. Conversely, it is becoming clear that intensional type theory, whatever that is, is a very good formal language for describing $(\infty,1)$-categories. People suspect there ought to be &quot;directed type theory&quot; which would correspond to $\infty$-categories, but nobody is sure yet. This is active area of research.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The only connection between stable homotopy theory and type theory I am aware of is the work of Matthijs Vákár on &lt;a href=&quot;http://arxiv.org/abs/1405.0033&quot;&gt;linear dependent type theory&lt;/a&gt;. Apparently, one model of it is stable homotopy theory, but this has not been published yet, only hinted at the end of the linked paper.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another place where you could look for applications of homotopy theory (stable or not) in computer science is &lt;em&gt;computational topology&lt;/em&gt;. There &lt;a href=&quot;http://ncatlab.org/nlab/show/persistent+homology&quot;&gt;persistent homology&lt;/a&gt; has recently found many uses, and people are surely looking at homotopy-theoretic applications of a similar kind. The basic idea is to use algebraic topology to study properties of large datasets.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Without a doubt there are other applications. Cody mentioned the use of homotopy theory (in the guise of homotopy type theory) to study revision control systems. There are also applications of homotopy theory to the study of parallel and cuncurrent computations, such as &quot;&lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S030439750600274X&quot;&gt;Algebraic topology and concurrency&lt;/a&gt;&quot;. Someone more knowledgable may be kind enough to provide better references. In any case, you will notice that all these applications (with the possible exception of homotopy type theory) are fairly unsophisticated from a mathematical point of view – which does not mean they are worthless!&lt;/p&gt;&#xA;" OwnerUserId="705" LastActivityDate="2014-12-23T19:35:54.743" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27941" PostTypeId="2" ParentId="27939" CreationDate="2014-12-23T20:27:09.730" Score="7" Body="&lt;p&gt;The univalence axiom is not a magic wand that solves all problems.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Univalence has an immense &lt;em&gt;explanatory&lt;/em&gt; power because it makes mathematically precise the intuition that &quot;isomorphic structures can be used interchangably&quot;. Mathematicians casually use this intuition to pretend that two isomorphic things are actually equal when they are not. Univalence formally justifies the practice.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the HoTT book you will find many applications of the univalence axiom which simplify or improve the standard approaches, especially in combination with the higher-inductive types.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;The computation of the fundamental group of the circle.&lt;/li&gt;&#xA;&lt;li&gt;Development of category theory, as you observed.&lt;/li&gt;&#xA;&lt;li&gt;The definition of cardinals is conceptually clean and well-motivated when we use truncation to define them, see chapter 10.&lt;/li&gt;&#xA;&lt;li&gt;Some homotopy-theoretic theorems, such as Blakers-Massey and the Freudentahl suspenion theorem.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Please note that in order to measure &quot;simplification&quot; you have to include the background theory as well. For example, the standard treatment of the fundamental group of the circle includes: construction of real numbers, basic general topology, the topology of euclidean spaces, and the theory of covering spaces.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We do not at the moment have direct applications of the Univalence axiom in theoretical computer science because we do not have a good computational interpretation of univalence. There is the constructive cubical sets model which an important step forward, but some time will probably be needed before applications to specific problems in computer science appear.&lt;/p&gt;&#xA;" OwnerUserId="705" LastEditorUserId="705" LastEditDate="2014-12-23T22:12:10.990" LastActivityDate="2014-12-23T22:12:10.990" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="27942" PostTypeId="1" AcceptedAnswerId="31151" CreationDate="2014-12-23T22:16:18.483" Score="2" ViewCount="134" Body="&lt;p&gt;Given a string $s$ over some alphabet, I'd like to use the proper nomenclature/notation for the operation/function $f$ which &lt;em&gt;inflates&lt;/em&gt; $s$ by independently duplicating each of its characters.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For instance:&#xA;$$ f(abc) = aabbcc$$&#xA;or, more generally, a second argument could be provided to specify the number of copies:&#xA;$$ f(xy,4) = xxxxyyyy$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This should be embarassingly standard, so don't hesitate to shoot me in your response! &#xA;(on the other hand, it is always difficult to search for something you cannot name, but I wouldn't accept such a lame excuse from my students, so...)&lt;/p&gt;&#xA;" OwnerUserId="30471" LastEditorUserId="30471" LastEditDate="2014-12-23T22:29:52.833" LastActivityDate="2015-04-15T21:40:28.803" Title="What is the standard name for the function which inflates a string by duplicating each of its characters?" Tags="&lt;co.combinatorics&gt;&lt;string-matching&gt;&lt;combinatorics&gt;&lt;notation&gt;" AnswerCount="1" CommentCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="27943" PostTypeId="1" AcceptedAnswerId="27950" CreationDate="2014-12-23T22:25:35.483" Score="5" ViewCount="961" Body="&lt;p&gt;Is it possible to add law of excluded middle to Martin-Löf type theory as an axiom? It seems to me, that it's possible to add it to Coq since Coq has a module for non-constructive reasoning. Also, it seems to be impossible to Agda since it leads to inconsistency. But can we add it to plain MLTT? And why it will/won't work?&lt;/p&gt;&#xA;" OwnerUserId="21833" LastEditorUserId="370" LastEditDate="2017-02-22T00:06:49.177" LastActivityDate="2017-02-26T19:39:23.020" Title="Law of excluded middle in MLTT" Tags="&lt;lo.logic&gt;&lt;type-theory&gt;&lt;coq&gt;" AnswerCount="3" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="27946" PostTypeId="1" CreationDate="2014-12-23T23:28:01.723" Score="2" ViewCount="137" Body="&lt;p&gt;Given an undirected graph $G(V,E)$ and a bipolar orientation $s$ over $G$, consider the problem of identifying $s$ by finding the minimum number of edges such that when orienting them in a particular way they give arise only to $s$ as bipolar orientation. An orientation $s$ for a graph $G$ is bipolar if $s$ is acyclic and has a single source and single sink.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;That is, find the minimum subset of edges $\hat{E}\subseteq E$ such that if we orient them $\vec{E}$, the only bipolar orientation for the mixed graph $(V,E-\hat{E},\vec{E})$ is $s$. Is this problem known? has been tackled before? Any pointer is appreciated. &lt;/p&gt;&#xA;" OwnerUserId="17991" LastEditorUserId="17991" LastEditDate="2018-03-26T08:53:48.390" LastActivityDate="2018-03-26T08:53:48.390" Title="Realization of a bipolar orientation by a mixed graph" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;directed-acyclic-graph&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="27947" PostTypeId="1" CreationDate="2014-12-24T00:54:47.900" Score="2" ViewCount="751" Body="&lt;p&gt;Take a set $S = \{a_1, a_2, ..., a_n\}$ of integers $a_i$ and a set $G = \{b_1, b_2, ..., b_m\}$ of integers $b_j$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we ask the question, is there a subset $C \subseteq S$ such that the sum $(\sum_{a_i \in C} a_i) \in G$, and $m = 1$ this is the traditional subset sum problem. We add an additional restriction (so that this is a promise problem) that all $b_j \in G$ must be between the minimum sum and the maximum sum of subsets of $S$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have three questions regarding the case where $m \gt 1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1.) Is there a known name for this problem and has it been studied?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2.) Are there threshold results for this problem, or can threshold results from k-SAT problems be reduced to this problem?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;3.) Are there known or obvious instances where this problem is trivial? Or in general does it remain NP-Complete?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit&lt;/strong&gt;: Threshold results - for a uniformally random selected set $S$ and $G$ of given sizes whose integer members are limited in size (under the usual binary encoding) of $b$ bits, and for a fixed ratio $k = |G|/|S|$, is there a $k$ for which the multiple target subset sum problem becomes almost certainly satisfiable or unsatisfiable (in the manner of 3-SAT)?&lt;/p&gt;&#xA;" OwnerUserId="30472" LastEditorUserId="30472" LastEditDate="2015-01-02T07:57:53.057" LastActivityDate="2015-01-02T07:57:53.057" Title="Subset sum with many targets" Tags="&lt;subset-sum&gt;" AnswerCount="1" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="27948" PostTypeId="2" ParentId="27943" CreationDate="2014-12-24T01:45:39.823" Score="2" Body="&lt;p&gt;Adding LEM to MLTT is no problem. You simply need to assume a term of type &lt;code&gt;forall P:Prop, P \/ ~ P&lt;/code&gt;. In Coq, you can use the LEM as follows:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;Require Import Classical_Prop.&#xA;Print classic.&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;" OwnerUserId="23077" LastActivityDate="2014-12-24T01:45:39.823" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="27949" PostTypeId="1" CreationDate="2014-12-24T01:56:32.523" Score="7" ViewCount="147" Body="&lt;p&gt;We have, from &lt;a href=&quot;https://cstheory.stackexchange.com/questions/1060/best-upper-bounds-on-sat&quot;&gt;this thread on 3-SAT upper bounds&lt;/a&gt;, and &lt;a href=&quot;https://cstheory.stackexchange.com/a/18069/1549&quot;&gt;this answer on #P&lt;/a&gt; that the current best upper bounds for 3-SAT is faster than $O(1.31)^n$, and approximately $O(1.64^n)$ for #3-SAT.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can we do better for 3-SAT and #3-SAT &lt;em&gt;circuits&lt;/em&gt;?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The reason I ask is that I've been fiddling with a circuit that achieves a modest improvement over the #3-SAT upper bounds mentioned above.  But since it's a circuit, I have my doubts that it's even worthwhile.  So I'm wondering:  what kind of circuit upper bounds can we get?&lt;/p&gt;&#xA;" OwnerUserId="1549" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2014-12-24T09:02:25.373" Title="What's the upper bounds for #3-SAT circuits?" Tags="&lt;sat&gt;&lt;upper-bounds&gt;" AnswerCount="0" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27950" PostTypeId="2" ParentId="27943" CreationDate="2014-12-24T04:40:23.883" Score="7" Body="&lt;p&gt;Law of excluded middle does not make intuitionistic logic inconsistent; intuitionistic logic is in many regards a subset of classical logic (of course classical logic can't have proof objects and there are other diffrences). In Agda you can use the &lt;a href=&quot;http://wiki.portal.chalmers.se/agda/pmwiki.php?n=ReferenceManual.Postulates&quot; rel=&quot;nofollow noreferrer&quot;&gt;postulate&lt;/a&gt; keyword for such things. The following could be added to your postulates.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$LEM : \{A : Set\} \to A \lor \neg A$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I was doing some proofs out of a book on first order logic where I found it more useful to have double negation elimination than LEM.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\neg\neg E : \{A : Set\} \to \neg\neg A \to A$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One of course implies the other so take your pick.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;edit:&#xA;One of your &lt;a href=&quot;https://cstheory.stackexchange.com/questions/21836/why-does-coq-have-prop&quot;&gt;previous questions&lt;/a&gt; gives some insight here as well. cody made mention of Agda being predicative. Martin Lof type theory is predicative (as well as Agda which is basically MLTT). Agda still has large elimination and adding LEM does not make the logic inconsistent. Martin Lof originally tried to base MLTT off of System-F but its impredicative nature kept getting in the way of such things. This is part of the reason why MLTT is predictive.&lt;/p&gt;&#xA;" OwnerUserId="21112" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2014-12-24T05:16:22.743" CommentCount="10" ContentLicense="CC BY-SA 3.0" />
  <row Id="27951" PostTypeId="1" AcceptedAnswerId="27955" CreationDate="2014-12-24T06:21:50.343" Score="3" ViewCount="138" Body="&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Beck&amp;#39;s_theorem&quot; rel=&quot;nofollow&quot;&gt;Beck's theorem&lt;/a&gt;&lt;/strong&gt; is a classical result in discrete geometry which describes about the geometry of points in the plane. The result states that a finite collections of points in the plane fall into one of two extremes; one where a large fraction of points lie on a single line, and one where a large number of lines are needed to connect all the points. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Formally, the statement of the theorem is as follows:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Theorem:&lt;/strong&gt; Let $S$ be a set of $n$ points in the plane. If at most $(n-k)$ points lie on any line for some $0 \leq k &amp;lt; n-2$, then there exist $\Omega(nk)$ lines determined by the points of $S$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, my question is that if the generalization/variation of the above result is known in the case of higher dimension $(dim\geq 3)$?&lt;/p&gt;&#xA;" OwnerUserId="22594" LastActivityDate="2014-12-24T11:50:17.360" Title="Generalization of Beck's theorem" Tags="&lt;co.combinatorics&gt;&lt;computational-geometry&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27952" PostTypeId="1" CreationDate="2014-12-24T06:29:42.317" Score="4" ViewCount="139" Body="&lt;p&gt;What is the complexity of calculating the values of the integers $x_i$, where $0 \leq x_1 &amp;lt; x_2 &amp;lt; \dots &amp;lt; x_k &amp;lt; n$, given only the values $s_m = \sum_{i=1}^k x_i^m$? for $1 \leq m \leq k$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If this can be solved in $f(n,k)$ space, it can be used to solve the following problem:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given $S \subset \mathbb{Z}_n$ where $|S| = n-k$, determine $\mathbb{Z}_n \backslash S$ in $\tilde O(f(n,k))$ space.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is done by calculating $\sum_{s \in S} s^i$ for $1 \leq i \leq k$ and $\sum_{s \in \mathbb{Z}_n} s^i$ for $1 \leq i \leq k$.&lt;/p&gt;&#xA;" OwnerUserId="43" LastActivityDate="2015-01-23T16:05:53.677" Title="Solving a system of sums-of-powers polynomials" Tags="&lt;ds.algorithms&gt;&lt;algebra&gt;&lt;nt.number-theory&gt;&lt;comp-number-theory&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27955" PostTypeId="2" ParentId="27951" CreationDate="2014-12-24T11:50:17.360" Score="5" Body="&lt;p&gt;If you are asking if the same statement holds true or not in higher dimensions, it does. Just project all the points to a random 2-dimensional plane.&lt;/p&gt;&#xA;&lt;p&gt;Another natural generalization is to consider hyperplanes instead of lines. Here, you have Beck's &amp;quot;other&amp;quot; theorem:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;Theorem&lt;/strong&gt;: For any &lt;span class=&quot;math-container&quot;&gt;$d \geq 2$&lt;/span&gt;, there are constants &lt;span class=&quot;math-container&quot;&gt;$\beta_d, \gamma_d \in (0,1/2]$&lt;/span&gt; such that for any set &lt;span class=&quot;math-container&quot;&gt;$P$&lt;/span&gt; of &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt; points in &lt;span class=&quot;math-container&quot;&gt;$\mathbb{R}^d$&lt;/span&gt;, at least one of the following holds:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;a hyperplane contains at least &lt;span class=&quot;math-container&quot;&gt;$\beta_d n$&lt;/span&gt; points of &lt;span class=&quot;math-container&quot;&gt;$P$&lt;/span&gt;&lt;/li&gt;&#xA;&lt;li&gt;the &lt;span class=&quot;math-container&quot;&gt;$d$&lt;/span&gt;-tuples of &lt;span class=&quot;math-container&quot;&gt;$P$&lt;/span&gt; span at least &lt;span class=&quot;math-container&quot;&gt;$\gamma_d n^d$&lt;/span&gt; distinct hyperplanes.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Here, a hyperplane is a &lt;span class=&quot;math-container&quot;&gt;$(d-1)$&lt;/span&gt;-dimensional flat. For &lt;span class=&quot;math-container&quot;&gt;$d=2$&lt;/span&gt;, this is essentially what you stated. The restriction that &lt;span class=&quot;math-container&quot;&gt;$\beta_d \leq 1/2$&lt;/span&gt; is from the example of having two skew lines in &lt;span class=&quot;math-container&quot;&gt;$\mathbb{R}^3$&lt;/span&gt; containing &lt;span class=&quot;math-container&quot;&gt;$n/2$&lt;/span&gt; points each, where the number of spanned planes is &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt;. For more, see: &lt;a href=&quot;http://www.cs.elte.hu/%7Eelekes/Abstracts/elest.ps&quot; rel=&quot;noreferrer&quot;&gt;http://www.cs.elte.hu/~elekes/Abstracts/elest.ps&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="15" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2014-12-24T11:50:17.360" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27957" PostTypeId="1" AcceptedAnswerId="29125" CreationDate="2014-12-24T14:21:59.250" Score="3" ViewCount="110" Body="&lt;p&gt;I am studying on distributed transactions, mainly on the correctness criteria (e.g., serializability (SR) and snapshot isolation (SI) in replicated settings) and their implementations. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;To avoid unnecessary efforts, I would like to know that&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What are the known (or conjectural) &lt;strong&gt;impossibility results and lower bounds&lt;/strong&gt; on the complexity of implementing distributed transactions conforming to some correctness criterion and/or some progress condition?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;For example, &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is it possible to implement SI in a wait-free/lock-free manner in replicated settings?  &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="12739" LastEditorUserId="12739" LastEditDate="2014-12-25T06:10:59.707" LastActivityDate="2015-01-13T03:07:18.223" Title="Lower bounds and impossibility results for distributed transactions" Tags="&lt;reference-request&gt;&lt;lower-bounds&gt;&lt;dc.distributed-comp&gt;&lt;db.databases&gt;&lt;concurrency&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27958" PostTypeId="2" ParentId="7139" CreationDate="2014-12-24T15:45:45.083" Score="1" Body="&lt;p&gt;This answer is a bit hand-wavey.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Select a function $h$ uniformly at random from the set of all functions from w-bit words to w-bit words. For each set, maintain a w-bit fingerprint as follows:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;The empty set has the fingerprint 0.&lt;/li&gt;&#xA;&lt;li&gt;add(x) and remove(x) update a fingerprint $f$ to $f \oplus h(x)$, where $\oplus$ is xor.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Let $S \neq T$ be two sets of w-bit integers. If their fingerprints are the same, then the fingerprint of $S \triangle T$, the symmetric difference of $S$ and $T$, is 0, which happens with probability $2^{-w}$.&lt;/p&gt;&#xA;" OwnerUserId="43" LastActivityDate="2014-12-24T15:45:45.083" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27959" PostTypeId="2" ParentId="27952" CreationDate="2014-12-24T15:49:23.870" Score="3" Body="&lt;p&gt;I think your question is closely related to the &lt;em&gt;set reconciliation problem&lt;/em&gt;, which is solved in this paper: &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.20.5338&quot; rel=&quot;nofollow&quot;&gt;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.20.5338&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem of set reconciliation is to given two sets $A, B \subseteq [n]$ find $A \backslash B$ and $B \backslash A$ with as less communication as possible. If $B = [n]$, then you just need to find $\bar A$. Authors provide an algorithm with $O(k \log n)$ communication complexity.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Basic idea of the algorithm is to find small prime number $p$ greater than $4n$ and compute next two polynomials $\chi_A(x) = \prod_{a\in A} (x - a)$ and $\chi_B(x) = \prod_{b \in B} (x - b)$ in $\mathbb{F}_p$ on $2 \cdot k$ different points.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It can be easily shown that $$\frac{\chi_A}{\chi_B} = \frac{\chi_{A \cap B} \cdot \chi_{A \backslash B}}{\chi_{A \cap B} \cdot \chi_{B \backslash A}} = \frac{ \chi_{A \backslash B}}{ \chi_{B \backslash A}}.$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you compute these polynomials in non-zero points (for example, greater than $n$), then you obtain $2 \cdot k$ equations of the form&#xA;$$&#xA;\chi_{A \backslash B}(x_i) \cdot b_i = \chi_{B \backslash A} \cdot a_i,&#xA;$$&#xA;where $a_i$ and $b_i$ are corresponding values of $\chi_A$ and $\chi_B$ at $x_i$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;System of $2k$ equations with $2k$ variables over field $\mathbb{F}_p$ can be easily solved. The last thing is to factorize polynomials. The authors provide easy algorithm for this case.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Turning back to your first question $\chi_{\bar S}(x)$ can be expressed with your $s_i$'s for $i$ from $0$ to $k$.&lt;/p&gt;&#xA;" OwnerUserId="19579" LastActivityDate="2014-12-24T15:49:23.870" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="27960" PostTypeId="2" ParentId="27929" CreationDate="2014-12-24T21:10:05.607" Score="-3" Body="&lt;p&gt;this attempts to sketch out more general connections. some of this program can be considered a very recent &amp;amp; more elaborate extension of the old &lt;a href=&quot;http://en.m.wikipedia.org/wiki/Curry%E2%80%93Howard_correspondence&quot; rel=&quot;nofollow&quot;&gt;Curry-Howard correspondence&lt;/a&gt; noted between proofs and programs. there is also a close connection with automated theorem proving (aka proof assistants). many techniques used in automated theorem proving proofs are not on entirely solid mathematical ground and homotopy theory adds firmer grounding.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;this proposal by a sizeable team captures/ surveys much of the currently known connections with CS: &lt;a href=&quot;http://dlicata.web.wesleyan.edu/pubs/aahlsv14muri/muri.pdf&quot; rel=&quot;nofollow&quot;&gt;Homotopy Type Theory:&#xA;Unified Foundations of Mathematics and Computation (MURI Proposal)&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Licata from that team is esp interested in computer scientific applications of homotopy theory. some of his talks, and one by Voevodsky founder of the standout &lt;a href=&quot;http://en.m.wikipedia.org/wiki/Homotopy_type_theory#Univalence_axiom&quot; rel=&quot;nofollow&quot;&gt;Univalence axiom&lt;/a&gt;:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Mathematical and Computational Applications of Homotopy Type Theory. Colloquium at University of Iowa. November, 2013. [&lt;a href=&quot;http://dlicata.web.wesleyan.edu/pubs/l13iowa/l13iowa.pdf&quot; rel=&quot;nofollow&quot;&gt;slides&lt;/a&gt;]&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Computer-Checked Proofs in the Logic of Homotopy Theory. Invited Talk at the Association for Symbolic Logic North American Meeting. May, 2013. [&lt;a href=&quot;http://dlicata.web.wesleyan.edu/pubs/l13asltalk/l13asltalk.pdf&quot; rel=&quot;nofollow&quot;&gt;slides&lt;/a&gt;]&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Programming and Proving in Homotopy Type Theory. Colloquium at Wesleyan, Princeton, and Cornell. Spring, 2013. [&lt;a href=&quot;http://dlicata.web.wesleyan.edu/pubs/l13jobtalk/l13jobtalk.pdf&quot; rel=&quot;nofollow&quot;&gt;slides&lt;/a&gt;]&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://video.ias.edu/conversations/voevodsky&quot; rel=&quot;nofollow&quot;&gt;Computer Science and Homotopy Theory&lt;/a&gt;, 10m video lecture by Voevodsky / IAS&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2014-12-24T21:10:05.607" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27964" PostTypeId="1" AcceptedAnswerId="27965" CreationDate="2014-12-25T23:10:58.437" Score="0" ViewCount="218" Body="&lt;p&gt;Here is a problem I'm trying to solve:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given an integer $n$ return a list $[x_1,x_2,...,x_k]$ such that $n=x_1!+x_2!+...+x_k!$ and $k$ is as low as it can be.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm thinking of creating a list of n ones, then pairing them as long as I can (so for example $[1,1,1,1,1]$ becomes $[2,2,1]$) then I want to exchange all triples of $[2,2,2]$ to one $3$ (because $2!+2!+2!=3!$) and so on...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Intuitively this should be correct, and also quite fast - the input on which I'm executing my &quot;concatenations&quot; shrinks as fast as factorial function grows...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But is my method correct? And also if I were to find complexity of my algorithm in terms of $n$, how should I do that? One more thing, maybe there is simpler way to solve this algorithmic problem - any ideas?&lt;/p&gt;&#xA;" OwnerUserId="30331" LastActivityDate="2014-12-28T09:34:49.060" Title="Finding $x_1,x_2,...,x_k$ such that $n=x_1!+x_2!+...+x_k!$ and $k$ is minimal" Tags="&lt;ds.algorithms&gt;&lt;time-complexity&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ClosedDate="2014-12-29T23:13:23.097" ContentLicense="CC BY-SA 3.0" />
  <row Id="27965" PostTypeId="2" ParentId="27964" CreationDate="2014-12-26T00:53:45.377" Score="9" Body="&lt;p&gt;Your algorithm is correct and its running time is in $\Theta(n)$ which is exponential to the input size. But we can use simple greedy algorithm to achive $O(\log n)$. Find largest number $i$ such that $i! \le n$. To do so just simply iterate through numbers in $1,\cdots, \log n +1$. And do the same for $n -i!$.&lt;/p&gt;&#xA;" OwnerUserId="1846" LastEditorUserId="1846" LastEditDate="2014-12-28T09:34:49.060" LastActivityDate="2014-12-28T09:34:49.060" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27966" PostTypeId="1" CreationDate="2014-12-26T07:21:03.903" Score="0" ViewCount="88" Body="&lt;p&gt;Suppose we are given a graph with distances for each of the edges and merit for each of the nodes. What are the best (approximation) algorithms for computing the the most meritorious simple path with a cap on the maximum distance allowed?&lt;/p&gt;&#xA;" OwnerUserId="22140" LastActivityDate="2014-12-26T07:21:03.903" Title="Approximation Algorithm for TSP-like problem" Tags="&lt;approximation-algorithms&gt;&lt;optimization&gt;&lt;tsp&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="27969" PostTypeId="1" AcceptedAnswerId="27970" CreationDate="2014-12-26T22:16:38.710" Score="10" ViewCount="449" Body="&lt;p&gt;What is the standard approach on minimizing Büchi-Automata (or also Müller-Automata)? Transfering the usual technique from finite words, i.e. setting two states to be equal if the words &quot;running out&quot; of the states which are accepted are the same, will not work. For example consider the Büchi-Automoton accepting all words with an infinite number of a's consisting of two states,  a initial and a final state, and the final state is entered each time an a is read, and the initial state is entered each time a different symbol is read. Both states are considered equal by the above defintion, but collapsing them yields an automata consisting of a single state, and thereby accepting every words.&lt;/p&gt;&#xA;" OwnerUserId="17672" LastEditorUserId="2367" LastEditDate="2019-12-12T22:28:42.163" LastActivityDate="2019-12-12T22:28:42.163" Title="Minimizing Automata accepting $\omega$-words (i.e. infinite words)" Tags="&lt;fl.formal-languages&gt;&lt;automata-theory&gt;&lt;omega-language&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27970" PostTypeId="2" ParentId="27969" CreationDate="2014-12-26T22:44:38.503" Score="12" Body="&lt;p&gt;In general, $\omega$-regular languages may not have a unique minimal DBW. For example, the language &quot;infinitely many a's and infinitely many b's&quot; has two 3-state DBWs (in the picture replace $\neg a$ by $b$):&#xA;&lt;img src=&quot;https://i.stack.imgur.com/dC6Id.png&quot; alt=&quot;Two minimal DBWs for the same language&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As you can see, they are not topologically equivalent.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hence, the minimization problem is harder than the finite case, and in fact, it is &lt;a href=&quot;http://arxiv.org/pdf/1007.1333.pdf&quot; rel=&quot;noreferrer&quot;&gt;NP-complete&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="7531" LastEditorUserId="7531" LastEditDate="2014-12-27T07:35:51.040" LastActivityDate="2014-12-27T07:35:51.040" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="27971" PostTypeId="1" AcceptedAnswerId="27998" CreationDate="2014-12-26T23:54:54.313" Score="4" ViewCount="272" Body="&lt;p&gt;this seems an interesting &lt;a href=&quot;http://en.wikipedia.org/wiki/Finite-state_machine&quot; rel=&quot;nofollow&quot;&gt;FSM&lt;/a&gt; optimization problem; have not seen it studied, wondering if it has been and/ or looking for other insight. &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;given: two finite sets of words $S_{in}$ and $S_{out}$. find the smallest FSM with language $L$ such that for each $x \in S_{in}$, $x \in L$ and for each $y \in S_{out}$, $y \notin L$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;in other words one is given finite lists of words that are in the language and not in the language. there is a simple algorithm of creating an FSM with the given (non)acceptance and then minimizing it, but is this also the smallest possible? it seems to come down some to the question of cycles in the FSM graph. the simple strategy will not have cycles, so could smaller FSMs with cycles exist? there is also the question of nondeterminism.&lt;/p&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2014-12-29T20:36:34.070" Title="minimal finite automata given in-words and out-words" Tags="&lt;reference-request&gt;&lt;optimization&gt;&lt;machine-learning&gt;&lt;regular-language&gt;&lt;nondeterminism&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27972" PostTypeId="1" CreationDate="2014-12-27T13:04:18.610" Score="6" ViewCount="3084" Body="&lt;p&gt;I have been doing some work in Theoretical Computer Science(especially related to algorithms), and I wanted the publish some of my findings. Can someone please suggest some good journals or publications in the same area.&lt;/p&gt;&#xA;" OwnerUserId="30504" LastActivityDate="2014-12-29T04:23:37.257" Title="Some good Theoretical Computer Science Journals" Tags="&lt;soft-question&gt;&lt;research-practice&gt;&lt;paper-review&gt;&lt;journals&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="27973" PostTypeId="1" AcceptedAnswerId="27995" CreationDate="2014-12-27T13:30:05.127" Score="2" ViewCount="221" Body="&lt;p&gt;I am wondering what is known about the complexity of the reversible Circuit Value Problem (rCVP) and the corresponding reversible Satisfiability problem (rSAT).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More precisely: a circuit $B^n\rightarrow B^n$ on $n$ boolean values is reversible if it computes an invertible function. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The rCVP problem is: &lt;em&gt;given a reversible circuit on $n$ boolean values and $n$ inputs, what is the value of the output?&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The rSAT problem is: &lt;em&gt;given a reversible circuit, what is the input that yields the output $1,\dots,1$?&lt;/em&gt; (function problem, see comments)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As subcases of their non-reversible versions (CVP and SAT) these problem are respectively in Ptime and NP.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is rather about hardness: is rCVP Ptime-complete? Is rSAT NP-complete? I am no specialist of this and looked for a statement of the result, but found nothing so far. I read that one can encode any usual circuit by a reversible circuit using Toffoli's gates, but the is size of the reversible circuit one obtains doing so polynomial in the size of the initial circuit?&lt;/p&gt;&#xA;" OwnerUserId="30505" LastEditorUserId="30505" LastEditDate="2014-12-28T02:44:09.887" LastActivityDate="2014-12-29T12:12:20.403" Title="Complexity of reversible Circuit Value" Tags="&lt;cc.complexity-theory&gt;&lt;circuit-complexity&gt;&lt;sat&gt;" AnswerCount="1" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="27974" PostTypeId="1" CreationDate="2014-12-27T13:35:43.223" Score="28" ViewCount="1209" Body="&lt;p&gt;&lt;strong&gt;What problems are known to belong to $\mathsf{BPP}$ but not known to belong to $\mathsf P$?&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More precisely, I am interested in &lt;em&gt;independent&lt;/em&gt; problems, that is whose derandomizations are not known to be equivalent. For instance, it is known that derandomizing PIT and multivariate polynomial factorization are &lt;a href=&quot;http://eccc.hpi-web.de/report/2014/001/download/&quot;&gt;equivalent&lt;/a&gt; and I would count them as only one problem. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The motivation of my question is that it is common to say that &lt;em&gt;&quot;there are few problems in $\mathsf{BPP}$ not known to be in $\mathsf{P}$&quot;&lt;/em&gt;, but I was not able to find a list of them. In particular, if I have to cite problems in this category, I usually cite the factorization of univariate polynomials over finite fields, or the factorization of multivariate polynomials. I suppose that there exist examples that are not related to polynomial factorization, for instance in other domains such as graph theory or formal language theory.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;P.S.: I find curious that a similar question does not exist on this website yet. My apologies if I simply did not find it (or them)! &lt;/p&gt;&#xA;" OwnerUserId="976" LastActivityDate="2014-12-28T13:37:49.930" Title="Problems in $\mathsf{BPP}$ not known to be in $\mathsf P$?" Tags="&lt;derandomization&gt;" AnswerCount="3" CommentCount="1" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="27976" PostTypeId="2" ParentId="27947" CreationDate="2014-12-27T19:03:13.563" Score="3" Body="&lt;p&gt;For what regards point 3:  the problem remains NP-complete: &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;if $m$ is a parameter, then it is simply a generalization of SUBSET SUM;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;if $m$ is fixed, then given an instance of SUBSET SUM, simply multiply every $a_i$ and the target sum $B$ by $p = 2^k$ s.t. $2^k&amp;gt;m(m+1)/2$ and set $m$ target integers in this way: &lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;$G = \{ b_1=B,b_2=a_1+1,b_3=a_1+2,...,b_m=a_1+(m−1)\}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In both cases the problem remains solvable in pseudo-polynomial time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For what regards point 2) you can find some information related to the &lt;em&gt;density&lt;/em&gt; analysis for the (&quot;simpler&quot;) SUBSET-SUM problem (it is usually defined in terms of $n/m$ where  $n$ is the number of elements of the input set and $m$ is its maximum);  e.g.: O'Neil, Thomas E. &quot;On Clustering in the Subset Sum Problem.&quot; Proceedings of the 44th Midwest Instruction and Computing Symposium (Duluth, MN, 2011).&lt;/p&gt;&#xA;" OwnerUserId="3247" LastActivityDate="2014-12-27T19:03:13.563" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27977" PostTypeId="2" ParentId="3533" CreationDate="2014-12-27T19:04:13.730" Score="3" Body="&lt;p&gt;For a complete beginner studying operational semantics, I would suggest &lt;strong&gt;Programming Languages and Operational Semantics&lt;/strong&gt; by &lt;em&gt;Maribel Fernández&lt;/em&gt;. Everything is explained in a very simple manner which is easy to understand.&#xA;&lt;a href=&quot;http://www.springer.com/computer/swe/book/978-1-4471-6367-1&quot; rel=&quot;nofollow&quot;&gt;http://www.springer.com/computer/swe/book/978-1-4471-6367-1&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="30508" LastActivityDate="2014-12-27T19:04:13.730" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27979" PostTypeId="1" AcceptedAnswerId="28013" CreationDate="2014-12-27T22:25:35.367" Score="16" ViewCount="1541" Body="&lt;p&gt;Looking at the &lt;a href=&quot;http://homotopytypetheory.org/&quot;&gt;homotopy type theory blog&lt;/a&gt; one can easily find a lot of library formalizing most of Homotopy Type Theory in Agda and Coq. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there anyone aware if there is any similar attempt to formalize HoTT in &lt;a href=&quot;http://www.idris-lang.org/&quot;&gt;Idris&lt;/a&gt;?&lt;/p&gt;&#xA;" OwnerUserId="25498" LastActivityDate="2014-12-31T00:52:37.910" Title="Formalizing Homotopy Type theory in Idris" Tags="&lt;proof-assistants&gt;&lt;homotopy-type-theory&gt;" AnswerCount="1" CommentCount="9" FavoriteCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="27980" PostTypeId="2" ParentId="27974" CreationDate="2014-12-28T01:34:22.347" Score="8" Body="&lt;p&gt;I'm not an expert, but perhaps some (not-so-natural?) examples can be directly derived using the technique of deterministically reducing &lt;em&gt;BPP search problems&lt;/em&gt; to &lt;em&gt;BPP decision problems&lt;/em&gt;, presented in:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://link.springer.com/chapter/10.1007%2F978-3-642-22670-0_20&quot;&gt;Oded Goldreich, In a World of P=BPP. Studies in Complexity and Cryptography 2011: 191-232&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In particular see &lt;strong&gt;Theorem 3.5:&lt;/strong&gt; (reducing search to decision): For every BPP-search problem $(R_{yes},R_{no})$, there exists a binary relation $R$ such that $R_{yes} \subseteq R \subseteq (\{0, 1\}^∗ \times \{0, 1\}^∗) \setminus R_{no}$ and solving the search problem&#xA;of $R$ is deterministically reducible to some decisional problem in BPP, denoted $\Pi$. Furthermore, the time-complexity of the reduction is linear in the probabilistic time-complexity of finding solutions for $(R_{yes},R_{no})$, whereas the probabilistic time-complexity of $\Pi$ is the product of a quadratic polynomial&#xA;and the probabilistic time-complexity of the decision procedure guaranteed for $(R_{yes},R_{no})$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The theorem can be extended to general construction problems, for example (see &lt;strong&gt;Corollary 3.9&lt;/strong&gt;) consider the problem of finding a prime in a large enough interval :&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For any fixed $c &amp;gt; 7/12$, on input $N$, find a prime in the interval $[N, N +  N^c]$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The randomized algorithm runs in expected polynomial time; no deterministic polynomial time algorithm is known; but if BPP=P such deterministic polynomial time algorithm must exist (because it can be reduced to a BPP-decision problem).&lt;/p&gt;&#xA;" OwnerUserId="3247" LastActivityDate="2014-12-28T01:34:22.347" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27982" PostTypeId="1" CreationDate="2014-12-28T10:35:42.687" Score="0" ViewCount="228" Body="&lt;p&gt;If I must connect: $$2^k$$ terminals in a Steiner Tree choosen randomly and connect them with the cheapest component; &quot;loss - contracting algorithm&quot; is a good way? Or is an &quot;Iterative Randomized Rounding&quot; more appropriate? At the end the cost of minimum spanning tree should be: $$c(T)&amp;lt;=1+(1/k)$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks&lt;/p&gt;&#xA;" OwnerUserId="29047" LastActivityDate="2014-12-28T10:35:42.687" Title="Steiner Tree and minimum spanning tree" Tags="&lt;graph-theory&gt;&lt;approximation-algorithms&gt;&lt;optimization&gt;&lt;randomized-algorithms&gt;&lt;tree&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="27983" PostTypeId="1" AcceptedAnswerId="27990" CreationDate="2014-12-28T13:22:53.573" Score="5" ViewCount="148" Body="&lt;p&gt;I'm currently working on &lt;a href=&quot;http://research.microsoft.com/pubs/148550/sl.pdf&quot; rel=&quot;nofollow&quot; title=&quot;SL = L&quot;&gt;this&lt;/a&gt; paper showing that $\mathcal{SL} = \mathcal{L}$.&#xA;But I keep wondering how the transformation $\tau$ in definition 3.1 preserves the connectivity of $s$ and $t$. $\tau$ consists of several applications of the zig-zag-product and powering. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;They show in Lemma 3.2 that if $s$ and $t$ aren't connected in $G$, then all nodes induced by $s$ arent't connected to any node induced by $t$.&#xA;But they don't show that if $s$ and $t$ were connected in $G$ that $s'$ and $t'$, as defined in the proof of the theorems 4.1 and 4.2, are connected in $\tau(G,H)$ for some expander graph $H$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;One can easily find examples were the zig-zag-product or powering destroys connectivity of nodes. So why is here no argumentation needed on why $s'$ and $t'$ will be connected if $s$ and $t$ were? Am I missing something?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I assume that the proof itself is correct since the first versions of the paper were published more than ten years ago.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;PS: I'm not 100% sure whether this is a research level question. But I think that it will be hard to get an answer in one of the other forums since it is kind of special question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think I found the trick. Proposition 2.2 states that if $\lambda &amp;lt; 1$ is achieved there is a path of some length for every pair of verticies $s$ and $t$. Thus by showing that the spectral expansion of the nodes induced by the connected component of s&#xA;is smaller than $1/2$ it is also shown, that the connection isn't lost (if there was one).&lt;/p&gt;&#xA;" OwnerUserId="30507" LastEditorUserId="30507" LastEditDate="2014-12-30T13:17:58.620" LastActivityDate="2014-12-30T13:17:58.620" Title="Why does the transformation in the proof for SL=L preserve connectedness of s and t?" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;derandomization&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27984" PostTypeId="2" ParentId="27974" CreationDate="2014-12-28T13:35:47.233" Score="13" Body="&lt;p&gt;If you're asking for independent problems, how about:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Find a prime in the interval $[N, 5N/4]$,&lt;br&gt;&#xA;  Find two primes whose product is in the interval $[N, 9N/8]$,&lt;br&gt;&#xA;  Find three primes whose product is in the interval $[N, 17N/16]$,&lt;br&gt;&#xA;  Find four primes whose product is in the interval $[N, 33N/32]$,&lt;br&gt;&#xA;  Find five primes whose product is in the interval $[N, 65N/64]$,&lt;br&gt;&#xA;  $\ldots$. &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;It's overwhelmingly likely that if you actually had a polynomial algorithm to solve the first of these, you would have a polynomial algorithm for all of them. But I don't see how to formally reduce any of these to any of the others. Of course, the problem&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Find a prime in the interval $[N, N+\log^{17} N ]$&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;solves all of these.&lt;/p&gt;&#xA;" OwnerUserId="1677" LastActivityDate="2014-12-28T13:35:47.233" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="27985" PostTypeId="2" ParentId="27974" CreationDate="2014-12-28T13:37:49.930" Score="10" Body="&lt;p&gt;There is a particular use of randomness that is fairly common in parameterized complexity, which involves either the &lt;a href=&quot;http://en.wikipedia.org/wiki/Isolation_lemma&quot;&gt;isolation lemma&lt;/a&gt;, or the &lt;a href=&quot;http://en.wikipedia.org/wiki/Schwartz%E2%80%93Zippel_lemma&quot;&gt;Schwartz-Zippel lemma&lt;/a&gt;. Roughly, it involves defining a large enumeration of potential solutions, and arguing that all non-solutions &quot;pair up&quot; (e.g., are counted twice) while the desired solution(s) are counted only once. Then one either uses the isolation lemma to produce a situation with only one smallest solution, or defines a large corresponding formal polynomial over GF$(2^\ell)$ and uses Schwartz-Zippel to test whether any non-paired term exists. (I'm sure there's a good overview or survey out there, but at the moment it slips my mind.) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;That said, I can only think of two cases where this usage would lead to a difference between BPP and P.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The first is the recent algorithm for &lt;a href=&quot;http://link.springer.com/chapter/10.1007/978-3-662-43948-7_18&quot;&gt;Shortest two disjoint paths&lt;/a&gt; (&lt;a href=&quot;http://thorehusfeldt.files.wordpress.com/2010/08/spdp-e5d5661.pdf&quot;&gt;author's PDF&lt;/a&gt;), Björklund and Husfeldt, ICALP 2014. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The second is a parameterized problem -- find a simple cycle through a set K of specified elements in a graph, i.e., something like a Steiner cycle problem. When $|K|=O(\log n)$, this problem is in BPP by Björklund, Husfeldt, Taslaman, SODA 2012 (&lt;a href=&quot;http://siam.omnibooksonline.com/2012SODA/data/papers/247.pdf&quot;&gt;link&lt;/a&gt;). (There is a previous deterministic algorithm, but its dependency on $|K|$ is exponentially worse.) Thus, one could define the problem &quot;log-Steiner Cycle&quot; (or whatever you want to call it), and it would fit your question.&lt;/p&gt;&#xA;" OwnerUserId="307" LastActivityDate="2014-12-28T13:37:49.930" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="27990" PostTypeId="2" ParentId="27983" CreationDate="2014-12-28T20:59:43.643" Score="4" Body="&lt;p&gt;The proof of Theorem 4.1 states that:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Let $S$ be the connected component of $G$, such that $s \in S$.&#xA;  By the arguments above, $S \times [N]$ is a connected component of $G_{\mathrm{reg}}$, and $G_{\mathrm{reg}}|_{S\times [N]}$ is non-bipartite. [...]&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;By Lemma 3.2 and Lemma 3.3, we have that $\lambda(G_{\exp}|_{S\times[N]\times([D^{16}_{\mathbf{e}}])^\ell}) \leq 1/2$. In particular, we have that $S\times[N]\times([D^{16}_{\mathbf{e}}])^\ell$ is a connected component of $G_{\exp}$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;In particular, if $t \in S$ then both $s'$ and $t'$ belong to the connected component $S\times[N]\times([D^{16}_{\mathbf{e}}])^\ell$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Lemma 3.2 only works when $G$ is non-bipartite and $\lambda(H) \leq 1/2$. Perhaps one of these conditions wasn't satisfied in your examples?&lt;/p&gt;&#xA;" OwnerUserId="40" LastActivityDate="2014-12-28T20:59:43.643" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="27992" PostTypeId="1" AcceptedAnswerId="27994" CreationDate="2014-12-29T00:27:07.323" Score="10" ViewCount="313" Body="&lt;p&gt;In the 1965 article &quot;&lt;a href=&quot;http://dx.doi.org/10.1090/S0002-9947-1965-0170805-7&quot; rel=&quot;nofollow&quot;&gt;On the computational complexity of algorithms&lt;/a&gt;&quot; by Hartmanis and Stearns, the authors conjecture that if a real-time Turing Machine computes the real number $r$ in, for example, base 10, then $r$ is either a rational number or a transcendental number.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a computable transcendental number that is not computable by a real-time Turing machine in, for example, base 10?&lt;/p&gt;&#xA;" OwnerUserId="17024" LastEditorUserId="4193" LastEditDate="2015-01-03T20:10:33.823" LastActivityDate="2015-01-03T20:10:33.823" Title="Hartmanis-Stearns conjecture and the computable transcendental numbers" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;examples&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="27993" PostTypeId="2" ParentId="27972" CreationDate="2014-12-29T04:23:37.257" Score="6" Body="&lt;p&gt;Apart from top conferences mentioned by @usul, I think Journal of the ACM (JACM) is a top journal in computer science, which also includes many excellent theoretical computer science papers. In addition, I read some papers published in &lt;a href=&quot;http://www.springer.com/computer/theoretical+computer+science/journal/453&quot; rel=&quot;noreferrer&quot;&gt;Algorithmica&lt;/a&gt;. Also, just giving a reference, I find a link to some journals related to Discrete Mathematics (particularly refer to Theoretical Computer Science and Algorithms part), see &lt;a href=&quot;http://www.math.iit.edu/~kaul/Journals.html&quot; rel=&quot;noreferrer&quot;&gt;http://www.math.iit.edu/~kaul/Journals.html&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="30525" LastActivityDate="2014-12-29T04:23:37.257" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27994" PostTypeId="2" ParentId="27992" CreationDate="2014-12-29T11:46:20.047" Score="9" Body="&lt;p&gt;Let $L$ be an EXPTIME-complete language, and let $r \in (0,1)$ be the corresponding real. Clearly $r$ is computable. The number $r$ cannot be algebraic since the $n$th bit of an algebraic number can be computed in time $n^{O(1)}$ (&lt;a href=&quot;http://arxiv.org/pdf/1112.4295v1.pdf&quot;&gt;Datta and Pratap&lt;/a&gt;). Since the $n$th bit of any number computable by a real-time Turing machine can be computed in time $O(n)$, $r$ cannot be computed by a real-time Turing machine.&lt;/p&gt;&#xA;" OwnerUserId="40" LastActivityDate="2014-12-29T11:46:20.047" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="27995" PostTypeId="2" ParentId="27973" CreationDate="2014-12-29T11:52:40.260" Score="6" Body="&lt;p&gt;For rCVP, we can reduce the usual CVP problem to rCVP as follows. Given a circuit $C$ on $n$ inputs, produce a circuit $C'$ that on input $x=(x_0,x_1,\dots,x_n)$ outputs $C'(x)=(x_0 \oplus C(x_1,\dots,x_n),x_1,x_2,\dots,x_n)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For rEQ, we can similarly reduce the UNSAT problem (modifying the suggestion of Marzio De Biasi). Namely, given a formula $\varphi$ on $n$ variables, let $C_1$ on input $x=(x_0,x_1,\dots,x_n)$ output $(x_0 \oplus \varphi(x_1,\dots,x_n),x_1,\dots,x_n)$ and $C_2$ simply output $x$.&lt;/p&gt;&#xA;" OwnerUserId="313" LastEditorUserId="313" LastEditDate="2014-12-29T12:12:20.403" LastActivityDate="2014-12-29T12:12:20.403" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="27998" PostTypeId="2" ParentId="27971" CreationDate="2014-12-29T20:36:34.070" Score="8" Body="&lt;p&gt;If your FSM is a DFA, then this is the Minimum Consistent DFA Problem, which is well known in the machine learning community. This problem is NP complete &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www-personal.umich.edu/~yinw/papers/Gold78.pdf&quot;&gt;Gold1978 - Complexity of Automaton Identification from Given Data&lt;/a&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem is also known to be hard to approximate within any polynomial factor. Indeed it is even hard to find an NFA whose number of states is an approximation of the number of states of a minimum consistent DFA. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://users.soe.ucsc.edu/~manfred/pubs/J22.pdf&quot;&gt;Pitt-Warmuth-1993 - The minimum consistent DFA problem cannot be approximated within any polynomial&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are many known heuristics and algorithms for tackling this problems. A well studied algorithm is due to Angluin.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/0890540187900526&quot;&gt;Angluin-1987 - Learning regular sets from queries and counterexamples&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="4237" LastActivityDate="2014-12-29T20:36:34.070" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="27999" PostTypeId="1" CreationDate="2014-12-29T20:43:52.007" Score="3" ViewCount="437" Body="&lt;p&gt;The class of cubic Hamiltonian graphs is well studied class. I came across the fact that &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0012365X10001974&quot; rel=&quot;nofollow&quot;&gt;independent set problem is $NP$-complete&lt;/a&gt; when restricting input to cubic Hamiltonian graphs. I am interested in other hard problems on this class.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Which $NP$-complete problems on cubic graphs remain hard when restricted to cubic Hamiltonian graphs?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;A survey of such hard problems would be very nice.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Motivation&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given two NP-complete problems on a restricted graph class, I would like to understand the intractability boarderline when we further restrict input instances.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;UPDATE&lt;/strong&gt;: I am not interested in decision version of optimization problem such as clique problem (or maximum independent set). However, Dominating Clique problem is the kind of $NP$-complete problem that would interest me if it was hard on cubic Hamiltonian graphs. Dominating clique in graph $G(V,E)$ is a dominating set of $V$ and a clique of $G$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Dominating clique problem is interesting for &lt;em&gt;me&lt;/em&gt; because the problem definition does not contain a parameter ( unlike clique or MIS for which we must specify the size of the required solution). &lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2015-01-02T16:08:05.190" LastActivityDate="2016-06-16T13:52:37.203" Title="$NP$-complete problems on cubic Hamiltonian graphs" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;" AnswerCount="0" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="28000" PostTypeId="1" CreationDate="2014-12-28T15:37:25.760" Score="8" ViewCount="72" Body="&lt;p&gt;You are given &lt;span class=&quot;math-container&quot;&gt;$k$&lt;/span&gt; sorted arrays &lt;span class=&quot;math-container&quot;&gt;$A_1, A_2, ..., A_k$&lt;/span&gt;, each containing &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt; elements.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;How fast can you compute the median of &lt;span class=&quot;math-container&quot;&gt;$A_1 \cup A_2 \cup ... \cup A_k$&lt;/span&gt; ?&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;hr /&gt;&#xA;&lt;p&gt;I have a solution running in &lt;span class=&quot;math-container&quot;&gt;$\Theta(k\log k\log n)$&lt;/span&gt;, but this seems rather inefficient if &lt;span class=&quot;math-container&quot;&gt;$k=\Omega(2^\frac{n}{\log n})$&lt;/span&gt;, as we can always ignore the order, think of it as a unsorted array of &lt;span class=&quot;math-container&quot;&gt;$nk$&lt;/span&gt; elements, and solve it in &lt;span class=&quot;math-container&quot;&gt;$O(nk)$&lt;/span&gt; time.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Assuming &lt;span class=&quot;math-container&quot;&gt;$k=\omega(1)$&lt;/span&gt; (hence the fact the arrays are sorted give us some information), is there a sub-linear median finding algorithm (regardless of the ratio between &lt;span class=&quot;math-container&quot;&gt;$k$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt;)?&lt;/p&gt;&#xA;&lt;p&gt;Assuming &lt;span class=&quot;math-container&quot;&gt;$k=\text{poly}( n)$&lt;/span&gt;, can we beat &lt;span class=&quot;math-container&quot;&gt;$O(k\log k\log n)$&lt;/span&gt;?&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Can we prove a lower bound for the problem (maybe &lt;span class=&quot;math-container&quot;&gt;$\Omega(k\log n)$&lt;/span&gt;?)?&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="21001" OwnerDisplayName="R B" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2014-12-29T21:56:49.510" Title="Finding a median in a union of sets given as sorted arrays" Tags="&lt;ds.algorithms&gt;&lt;time-complexity&gt;" AnswerCount="0" CommentCount="3" ClosedDate="2014-12-31T09:30:00.923" ContentLicense="CC BY-SA 3.0" />
  <row Id="28001" PostTypeId="2" ParentId="27675" CreationDate="2014-12-29T22:23:18.640" Score="2" Body="&lt;p&gt;You can consider split graphs where vertices in the independent set have no common neighbor. It is easy to see that they can have large chromatic number (you can make the clique as big as you want) but their clique graphs are stars, which are bipartite.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are no direct correlation between the chromatic number of a graph an of its clique graph. Examples are the complete bipartite graphs (small-large), paths (small-small), the previous example (large-small) and the complement of a matching (large-huge). For the last one it is possible to show that the chromatic number of the original graph is $n/2$ and the chromatic number of its clique graph is $2^{n/2-1}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You should also take a look at the chapter &lt;a href=&quot;http://link.springer.com/chapter/10.1007/0-387-22444-0_5&quot; rel=&quot;nofollow&quot;&gt;A Survey on Clique Graphs&lt;/a&gt;, by Jayme L. Szwarcfiter.&lt;/p&gt;&#xA;" OwnerUserId="282" LastActivityDate="2014-12-29T22:23:18.640" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="28002" PostTypeId="1" AcceptedAnswerId="38972" CreationDate="2014-12-29T23:06:35.403" Score="27" ViewCount="1643" Body="&lt;p&gt;The classical $n$-queens problems asks, given a positive integer $n$, whether there is an array $Q[1..n]$ of integers satisfying the following conditions:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$1\le Q[i] \le n$ for all $i$&lt;/li&gt;&#xA;&lt;li&gt;$Q[i] \ne Q[j]$ for all $i\ne j$&lt;/li&gt;&#xA;&lt;li&gt;$Q[i]-i \ne Q[j]-j$ for all $i\ne j$&lt;/li&gt;&#xA;&lt;li&gt;$Q[i]+i \ne Q[j]+j$ for all $i\ne j$&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Each integer $Q[i]$ represents the position of a queen on the $i$th row of an $n\times n$ chessboard; the constraints encode the requirement that no queen attacks any other queen. It is easy to prove that there are no solutions when $n=2$ or $n=3$, and closed-form solutions are known for all other values of $n$.  Thus, as a &lt;em&gt;decision&lt;/em&gt; problem, the $n$-queens problem is completely trivial.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The standard backtracking algorithm for &lt;em&gt;constructing&lt;/em&gt; an $n$-queens solution speculatively places queens on a prefix of the rows and then recursively determines whether there is a legal placement of queens on the remaining rows.  The recursive subproblem can be formalized as follows:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Given an integer $n$ and an array $P[1..k]$ of integers, is $P$ a prefix of an array $Q[1..n]$ that describes a solution to the $n$-queens problem?&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Is this more general decision problem NP-hard?&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Several nearby questions are known to be NP-hard, including Latin square completion [&lt;a href=&quot;http://dx.doi.org/10.1016/0166-218X(84)90075-1&quot; rel=&quot;noreferrer&quot;&gt;Colbourn 1984&lt;/a&gt;], Sudoku completion [&lt;a href=&quot;http://www-imai.is.s.u-tokyo.ac.jp/~yato/data2/SIGAL87-2.pdf&quot; rel=&quot;noreferrer&quot;&gt;Yato and Seta 2002&lt;/a&gt;], and a different generalization of $n$-queens [&lt;a href=&quot;http://arxiv.org/abs/cs/0701049v2&quot; rel=&quot;noreferrer&quot;&gt;Martin 2007&lt;/a&gt;], but this specific question seems to have escaped any serious attention.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Related cstheory.se questions:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/q/12682/111&quot;&gt;Is the N Queens problem NP-hard?&#xA;&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/q/3903/111&quot;&gt;Is the half-filled magic square problem NP-complete?&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="111" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2017-10-19T23:35:47.633" Title="Complexity of n-queens-completion?" Tags="&lt;cc.complexity-theory&gt;&lt;board-games&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="28003" PostTypeId="1" AcceptedAnswerId="28007" CreationDate="2014-12-30T05:37:40.313" Score="5" ViewCount="327" Body="&lt;p&gt;Let $f:\{0,1\}^n\rightarrow \{0,1\}$ be a Boolean function.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $[n]=\{1,2,\dots,n\}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $i\in[n]$, let $\Bbb 1_i$ be length $n$ vector with all $0$s except $1$ at $i$th position.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $B\subseteq [n]$, then $\Bbb 1_B$ be the length $n$ vector with $1$s only in positions marked by $B$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If  $i\in[n]$ and $x\in\{0,1\}^n$, let $x^i=x\oplus\Bbb 1_i$ where $\oplus$ is $XOR$ operation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If  $B\subseteq [n]$ and $x\in\{0,1\}^n$, let $x^{B}=x\oplus\Bbb 1_B$ where $\oplus$ is $XOR$ operation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Sensitivity of $f$ at input $x$ is $$S_x(f) = |\{i:f(x)\neq f(x^i)\}|$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Sensitivity of $f$ is $$S(f)=\max_xS_x(f)$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Block Sensitivity of $f$ at input $x$, $BS_x(f)$ is maximum $r$ such that there is a set of disjoint subsets $\{B_i\}_{i=1}^r$($\forall i\neq j$, $B_i\cap B_j=\emptyset$) such that  $$\forall j\mbox{, }f(x)\neq f(x^{B_j})$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Block Sensitivity of $f$ is $$BS(f)=\max_xBS_x(f)$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given $f$ in $n$-variables, would it be reasonable to ask the complexity class of deciding $S(f)&amp;gt;c$ and $BS(f)&amp;gt;c$ for a fixed $c&amp;gt;0$? I understand that describing a Boolean function takes $2^n$ bits fully.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does computing $BS(f)$ also take $O(2^{n+\epsilon})$ time as in answers below?&lt;/p&gt;&#xA;" OwnerUserId="1812" LastEditorUserId="1812" LastEditDate="2015-01-25T07:42:46.827" LastActivityDate="2015-01-25T07:42:46.827" Title="Complexity class of sensitivity" Tags="&lt;cc.complexity-theory&gt;&lt;boolean-functions&gt;" AnswerCount="2" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="28005" PostTypeId="2" ParentId="27719" CreationDate="2014-12-30T06:44:45.967" Score="1" Body="&lt;p&gt;Shalmoli Gupta already explained that the general problem is NP-Hard, so I decided to investigate if any special cases are polynomial solveable. Eventually, I found a solution to the special case of sets that represent a tree, or more generally, a series parallel order by subset inclusion with all incomparable sets disjoint.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One property that makes things easier is if the list of sets is closed under intersection. If $s_1 \subseteq s_2$, then, there is an optimal ordering in which $s_1$ comes before $s_2$. We can assume WLOG that the optimal ordering is a linear extension of the partial order given by subset inclusion.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since all subsets of a set appear before it in the order, this means that the amount added to the running sum by a given set is fixed, regardless of where it appears. If $S$ is the list of sets, then the incremental cost of a set is the number of elements in s that are not in any subset of s that appears in $S$. If the same set appears multiple times in $S$, we can arbitrarily choose one to go first and let the others have cost 0.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This means that the problem is equivalent to the problem of minimum weighted completion time in single machine scheduling with precedence constraints. In this problem, given a set of jobs with weights $w_j$ and times $t_j$, and a partial order on the jobs $P$, we wish to find an ordering of the jobs that minimizes the weighted total completion time, i.e.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\sum_{i=1}^{n} w_{j_i} \left(\sum_{k=1}^{i} t_{j_k}\right)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;subject to the precedence constraints $P$. The minimal cumulative set problem with intersection closed sets can be turned into this by creating a job for each set, where every job has weight 1, time equal to the incremental cost defined above, and $P$ is the order given by subset inclusion.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As it turns out, this problem is NP-Hard for general $P$ as well. However, certain special forms of $P$ can be solved in polynomial time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0167506008703236&quot; rel=&quot;nofollow&quot;&gt;This paper&lt;/a&gt; gives an $O(nlogn)$ algorithm for the case of series parallel orders $P$ (which includes the important case of trees as well). Unfortunately, I couldn't access that paper, so I decided to try to reinvent it independently. Here's what I came up with.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In order to solve this problem, several observations are required.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First off, in the absence of any precedence constraints, the optimal solution is to simply sort the jobs in order of increasing $\frac{t_j}{w_j}$. For simplicity, I will be referring to this as the value of the job, abbreviated $v(j)$. Note that since sorting is $O(nlogn)$, it is impossible to do better than this complexity.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Rule 1&lt;/strong&gt; Let $a$ and $b$ be jobs such that $a &amp;lt; b \in P$ and b covers a. If $v(a) &amp;lt; v(b)$, then we can drop the constraint $a &amp;lt; b$ without affecting the optimal ordering or objective value. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose $b$ appears before $a$ in the optimal ordering of the relaxed problem. Since b covered a originally, that means that all jobs between b and a in the new ordering are incomparable to a and b. But since b has a higher value than a, we can decrease the objective value by swapping b and a, a contradiction.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Likewise, we can drop the constraint in the case that $v(a) = v(b)$ as long as we ensure that after sorting by value, we break ties by consulting the precedence relations of the original (simplified) problem. This ensures that the optimal solution found for the relaxed problem is also an optimal solution to the original problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Therefore, whenever b covers a and $v(a) \leq v(b)$, we can simplify the problem by dropping the constraint $a &amp;lt; b$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Rule 2&lt;/strong&gt; Suppose that we know that b follows immediately after a in an optimal solution. We can merge a and b into a new node c with $w_c = w_a + w_b$ and $t_c = t_a + t_b$, while contracting the poset $P$ appropriately.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The optimal objective value of the new problem differs by a constant from the original objective value (specifically $w_at_b$), however this constant does not depend on ordering and hence the optimal ordering is not affected. We can recover an optimal solution to the old problem by taking an optimal solution to the new problem and replacing $c$ with $ab$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Rule 3&lt;/strong&gt; Suppose that in an optimal solution to a problem instance, $a$ comes immediately before $b$ and $v(a) &amp;gt; v(b)$. Now suppose we create a larger problem instance by adding new jobs with the new poset formed from series or parallel composition with the original. There will always be an optimal solution to the larger problem where $a$ comes immediately before $b$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose otherwise. Let the optimal solution contain $a, x_1, x_2, \ldots, b$. Since $P$ was formed by series parallel composition, we know that all $x_i$s are incomparable to $a$ and $b$. Merge all the $x_i$ nodes into a new node $x'$ using rule 2. Now consider $v(x')$. If $v(x') \leq v(a)$ then we can swap $x'$ and $a$ without increasing objective value. Likewise, if $v(x') \geq v(b)$, we can swap $x'$ and $b$. Therefore, $v(a) &amp;lt; v(x') &amp;lt; v(b)$. But $v(a) &amp;gt; v(b)$, a contradiction.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Using rule 2 and rule 3, we can already get a simple but suboptimal $O(n^2)$ algorithm. Since $P$ is a series parallel order, assume the input contains a tree representation of $P$ where each node represents series composition or parallel composition, and the leaves are individual jobs. We can find an optimal solution with preorder traversal of the tree by maintaining the invariant that the optimal solution to each subproblem is a chain in increasing value order.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose $P$ is the series composition of subproblems with posets $P_1$ and $P_2$. Let the optimal solutions be ordering $C_1$ and $C_2$. The optimal solution to $P$ is clearly the concatenation of these chains. However, it is possible that the first job in $C_2$ has lower value than the last job in $C_1$. In order to maintain the invariant that the solution is a sorted chain, we use rule 3 + rule 2 to merge the endpoints as long as they aren't in sorted order.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $P$ is instead a parallel composition, we simply take the sorted chains $S_1$ and $S_2$ and merge them into a new sorted chain. Thanks to the invariant, this is valid.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Unfortunately, this algorithm is $O(n^2)$. In order to get an $O(nlogn)$ algorithm, we need to compute the chains lazily using rule 1.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Specifically, if a subproblem contains only nodes where the precedence constraints are the same as the order of values, then we can forget the precedence constraints completely and only look at the values. This is ensured by the same invariant that ensured the solutions are sorted chains in the previous algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Instead of computing a sorted chain for each subproblem, we represent the optimal solution to a subproblem as a pair of Fibonacci heaps, one a min heap, and one a max heap, both containing all the jobs in the subproblem. This means that we can pop off the minimum or maximum element of the solution in logarithmic time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As before, we do a preorder traversal. Where $P$ is a series composition, we examine the maximum job of the first heap pair and the minimum job of the second heap pair. If their values are out of order, we pop them off and merge them using rule 2 and 3. Then we compare the newly created job to the new endpoints and continue popping and merging as long as they are out of order. Once the endpoints no longer have out of order values, we can safely forget the series precedence restriction thanks to rule 1. Then we just push the newly created jobs if any onto a heap, then merge the heaps to create the heap pair representing the solution to $P$ itself.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For a parallel composition, we simply merge the heap pairs. The new min heap is the merge of the min heap from each subproblem and likewise with the max heap. Note that Fibonacci heaps are mergeable in constant time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Once we have a heap pair representing the solution to the entire problem, we can find the actual solution ordering by popping off the min heap until it is empty. After that we undo all the rule 2 substitutions to get a solution to the original problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Each job that is popped off a heap is either immediately merged into a new job, reducing the total job count, or is popped exactly once at the end. Therefore there is at most a linear number of heap pops, leading to $O(nlogn)$ time over all. The other operations are constant time per node or job and hence linear over all.&lt;/p&gt;&#xA;" OwnerUserId="10448" LastActivityDate="2014-12-30T06:44:45.967" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="28007" PostTypeId="2" ParentId="28003" CreationDate="2014-12-30T07:18:47.577" Score="7" Body="&lt;p&gt;For fixed $c$ the complexity is polynomial time. In fact, you can calculate $S(f)$ in polynomial time by just going over all inputs and calculating the pointwise sensitivity. This takes $O(n2^n)$ on a RAM machine. Given $c &amp;gt; 0$, there are at most $(2+c)^n = (2^n)^{\log_2 (2+c)}$ ways to choose $c+1$ disjoint subsets, and you can check whether there is a point sensitive to all of them in time $O(2^n)$. In total, this gives an $O((2^n)^{\log_2 (2+c)+1})$ algorithm for determining whether $bs(f) &amp;gt; c$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This leaves open the question of calculating the block sensitivity of a function $f$.&lt;/p&gt;&#xA;" OwnerUserId="40" LastActivityDate="2014-12-30T07:18:47.577" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="28008" PostTypeId="2" ParentId="28003" CreationDate="2014-12-30T08:24:34.677" Score="9" Body="&lt;p&gt;&lt;strong&gt;[An alternative answer for $BS(f)$]&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is a paper related to this problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Scott Aaronson: Algorithms for Boolean Function Query Properties.&#xA;SIAM J. Comput. 32(5): 1140-1157 (2003)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The paper gives an $O(N^{\log_2 5} \log N)$ algorithm for computing $BS(f)$ if $f$ is given by&#xA;a truth table of size $N=2^n$. Thus, even if $c$ is not fixed, deciding $BS(f) &amp;gt; c$&#xA;is in &lt;strong&gt;P&lt;/strong&gt;.&lt;/p&gt;&#xA;" OwnerUserId="27092" LastActivityDate="2014-12-30T08:24:34.677" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="28010" PostTypeId="1" AcceptedAnswerId="28014" CreationDate="2014-12-30T19:27:24.357" Score="10" ViewCount="553" Body="&lt;p&gt;Equivalently, is there a known denotational semantics for probabilistic higher-order functional programming languages? Specifically, is there a domain model of pure untyped $\lambda$-calculus extended by a symmetric random binary choice operation.&lt;/p&gt;&#xA;&#xA;&lt;h3&gt;Motivation&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;Cartesian closed categories provide a semantics to higher-order $\lambda$-calculi. Probabilistic powerdomains provide semantics to stochastic programs. A CCC closed under a probabilistic powerdomain operation would provide a semantics to a stochastic higher-order functional programming language.&lt;/p&gt;&#xA;&#xA;&lt;h3&gt;Related Work&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;Tix, Keimel, and Plotkin (2004) [1] give modern constructions of the lower-, upper-, and convex- powerdomain operations, but remark that&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;It still is an open problem whether there is a cartesian closed category of continuous domains which is closed under the construction of probabilistic powerdomains.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Mislove (2013) [2,3] gives semantics for continuous random variables in a first-order language, but remarks that&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Even though the probabilistic power domain leaves the CCC of directed complete posets (dcpos, for short) and Scott-continuous maps invariant, there is no Cartesian closed category of domains – dcpos that satisfy the usual approximation assumption – that is known to be invariant under this construct. The best that is known is that the category of coherent domains is invariant under the probabilistic choice monad [4], but this category is not Cartesian closed.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;h3&gt;References&lt;/h3&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Regina Tix, Klaus Keimel, and Gordon Plotkin (2004)&#xA;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.65.714&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;nofollow&quot;&gt;&quot;Semantic domains for combining probability and non-determinism&quot;&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Michael Mislove (2013)&#xA;&lt;a href=&quot;http://www.entcs.org/mislove/anatomy1.pdf&quot; rel=&quot;nofollow&quot;&gt;&quot;Anatomy of a domain of continuous random variables I&quot;&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Michael Mislove (2013)&#xA;&lt;a href=&quot;http://www.entcs.org/mislove/anatomy2.pdf&quot; rel=&quot;nofollow&quot;&gt;&quot;Anatomy of a domain of continuous random variables II&quot;&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Jung, A. and R. Tix (1998)&#xA;&lt;a href=&quot;http://www.cs.bham.ac.uk/~axj/pub/papers/Jung-Tix-1998-The-troublesome-probabilistic-powerdomain.pdf&quot; rel=&quot;nofollow&quot;&gt;&quot;The troublesome probabilistic powerdomain&quot;&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="30485" LastEditorUserId="30485" LastEditDate="2014-12-31T23:07:34.110" LastActivityDate="2015-04-06T02:11:59.893" Title="Is there any known CCC closed under a probabilistic powerdomain operation?" Tags="&lt;pr.probability&gt;&lt;lambda-calculus&gt;&lt;ct.category-theory&gt;&lt;denotational-semantics&gt;&lt;domain-theory&gt;" AnswerCount="3" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="28012" PostTypeId="2" ParentId="28002" CreationDate="2014-12-30T20:50:05.527" Score="6" Body="&lt;p&gt;(This points to some related results. I initially thought that the related results are &lt;em&gt;very&lt;/em&gt; related, but I can't fill the gaps quickly, so maybe they're not so related after all. Perhaps still helpful.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Exercise 118 in the (draft of) section 7.2.2.2 of &lt;em&gt;The Art of Computer Programming&lt;/em&gt; looks at a very similar problem. In the solution, Knuth credits an article that in turn credits&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Gardnera, Gritzmannb, Prangenbergc, &lt;a href=&quot;http://scholar.google.com/scholar?hl=en&amp;amp;q=On%20the%20computational%20complexity%20of%20reconstructing%20lattice%20sets%20from%20their%20X-rays&quot; rel=&quot;nofollow&quot;&gt;On the computational complexity of reconstructing lattice sets from their X-rays&lt;/a&gt;, 1999&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Exercise 118 proves that BINARY DIGITAL TOMOGRAPHY is NP-complete. The input of this problem consists of line and diagonal sums, all from $[2]=\{0,1\}$.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;INPUT: $r,c\in[2]^m$ and $a,b\in[2]^{2m-1}$&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;OUTPUT: whether there exists $x\in[2]^{m\times m}$ such that&#xA;  $\sum_j x_{ij}=r_i$ and $\sum_i x_{ij}=c_j$ and $\sum_i x_{i,s-i}=a_s$ and&#xA;  $\sum_i x_{i,d+i}=b_{d+m-1}$&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;It's not clear to me how to reduce this to your problem. One observation that might help is that the output of your problem also depends only on the sums, not on the exact positioning of the queens. (See Theorem 2.4 in [Rivin, &lt;em&gt;A Dynamic Programming Solution to the n-Queens Problem,&lt;/em&gt; 1992], although perhaps this is easy to see.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Knuth proves that BINARY DIGITAL TOMOGRAPHY is NP-complete by a reduction from the BINARY CONTINGENCY PROBLEM. This is a very similar problem, except in 3 dimensions, and without diagonals.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;INPUT: ${xi},{xj},{xk}\in[2]^{n\times n}$&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;OUTPUT: whether there exists $x\in[2]^{n\times n\times n}$ such that&#xA;  $\sum_i x_{ijk}={xi}_{jk}$ and $\sum_j x_{ijk}={xj}_{ik}$ and &#xA;  $\sum_k x_{ijk}={xk}_{ij}$&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The article by Gardnera et al. seems to reduce from more standard NP-complete problems. I don't understand well enough either reduction to explain it here, so I'll just leave the pointers from above for you to explore if you wish.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This could all be useless, unless somebody figures out how to reduce BINARY DIGITAL TOMOGRAPHY to the question being asked.&lt;/p&gt;&#xA;" OwnerUserId="236" LastEditorUserId="236" LastEditDate="2014-12-30T23:38:19.787" LastActivityDate="2014-12-30T23:38:19.787" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="28013" PostTypeId="2" ParentId="27979" CreationDate="2014-12-30T21:48:45.750" Score="21" Body="&lt;p&gt;&lt;a href=&quot;https://github.com/fmota/hott&quot;&gt;Here&lt;/a&gt; is a small, incomplete, and &lt;strong&gt;inconsistent&lt;/strong&gt; formalization of HoTT in Idris. It shows that you can derive a contradiction in Idris just by postulating univalence. There are two barriers to formalizing HoTT in Idris at the moment.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Barrier 1:&lt;/strong&gt;&#xA;Idris has heterogeneous equality and heterogeneous equality rewriting. From the HoTT perspective this means we have access to the following rewriting principle, which is inconsistent with univalence:&#xA;$$&#xA; \prod_{P \,:\, X \to \mathsf{Type}}\ \prod_{x\,:\,X}\ \prod_{p \,:\, x = x}\ \prod_{a,\,b \,:\, P\, x} (\mathsf{transport}\ P\ p\ a = b) \to (a = b)  &#xA;$$&#xA;With this principle, &lt;a href=&quot;https://github.com/fmota/hott/blob/master/bad.idr&quot;&gt;we can easily prove&lt;/a&gt; &lt;code&gt;True = False&lt;/code&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Barrier 2:&lt;/strong&gt; &#xA;The pattern matching in Idris is too strong for HoTT, as Neel Krishnaswami suspected in a comment above. &lt;a href=&quot;https://github.com/fmota/hott/blob/master/k.idr&quot;&gt;We can derive Streicher's K.&lt;/a&gt; This leads to uniqueness of identity proofs, and is therefore incompatible with univalence. We can once again show &lt;code&gt;True = False&lt;/code&gt;.&lt;/p&gt;&#xA;" OwnerUserId="7577" LastEditorUserId="7577" LastEditDate="2014-12-31T00:52:37.910" LastActivityDate="2014-12-31T00:52:37.910" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="28014" PostTypeId="2" ParentId="28010" CreationDate="2014-12-30T22:06:51.420" Score="10" Body="&lt;p&gt;The following is an extended comment, it does not answer your question in the terms you posed it but does give a semantics for higher-order probabilistic calculi which you may find of interest.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the past few years there has been a very active line of research around so-called &lt;em&gt;quantitative denotational semantics&lt;/em&gt; of linear logic, based on the idea (originally due to Girard [1]) that higher-order programs may be modeled by power series.  In the probabilistic case, this takes the form of so-called &lt;em&gt;probabilistic coherence spaces&lt;/em&gt; (PCS), also introduced by Girard [2] and studied in depth by Danos and Ehrhard [3].  PCS yield models of both typed and untyped probabilistic calculi which are of a very different nature than power domains and other monad-related models.  In particular, PCS give what is thus far the only known fully abstract model of probabilistic PCF [4], which is notoriously difficult and seemingly impossible to achieve with power domains (cf. the work of &lt;a href=&quot;http://www.lsv.ens-cachan.fr/~goubault/&quot; rel=&quot;nofollow&quot;&gt;Jean Goubault-Larrecq&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Apart from Ehrhard, quantitative semantics is now actively developed by &lt;a href=&quot;http://www.pps.univ-paris-diderot.fr/~pagani/&quot; rel=&quot;nofollow&quot;&gt;Michele Pagani&lt;/a&gt; and coauthors, I suggest you look at his web page for additional references.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] Jean-Yves Girard, Normal functors, power series and $\lambda$-calculus. Annals of Pure and Applied Logic 37 (2):129-177, 1988.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] Jean-Yves Girard, &lt;a href=&quot;http://iml.univ-mrs.fr/~girard/LLcup.pdf.gz&quot; rel=&quot;nofollow&quot;&gt;Between logic and quantic: a tract&lt;/a&gt;. In &lt;em&gt;Linear logic in computer science&lt;/em&gt;, CUP, 2004.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[3] Vincent Danos and Thomas Ehrhard, &lt;a href=&quot;http://www.pps.univ-paris-diderot.fr/~danos/pdf/pcsaamohpc.pdf&quot; rel=&quot;nofollow&quot;&gt;Probabilistic coherence spaces as a model of higher-order probabilistic computation&lt;/a&gt;. Information and Computation 209(6): 966-991, 2011.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[4] Thomas Ehrhard, Michele Pagani and Christine Tasson, &lt;a href=&quot;http://www.pps.univ-paris-diderot.fr/~pagani/fapcoh.pdf&quot; rel=&quot;nofollow&quot;&gt;Probabilistic coherence spaces are fully abstract for probabilistic PCF&lt;/a&gt;. In &lt;em&gt;Proceedings of POPL&lt;/em&gt;, pp. 309-320, 2014.&lt;/p&gt;&#xA;" OwnerUserId="20716" LastEditorUserId="30485" LastEditDate="2014-12-31T05:28:44.617" LastActivityDate="2014-12-31T05:28:44.617" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="28017" PostTypeId="1" AcceptedAnswerId="28023" CreationDate="2015-01-01T07:59:09.810" Score="3" ViewCount="714" Body="&lt;p&gt;There are a few tools, either online or offline, that could solve (find equilibrium) in a game explicitly given as a real-valued matrix.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Such tools are &lt;a href=&quot;http://gte.csc.liv.ac.uk/gte/builder/&quot; rel=&quot;nofollow&quot;&gt;Game Theory Explorer&lt;/a&gt; and &lt;a href=&quot;http://gambit.sourceforge.net/&quot; rel=&quot;nofollow&quot;&gt;Gambit&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, as far as I know, these can not be used for finding equilibrium in a game with parameters.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, consider a two player game symmetric game, parametrized by some $x\in[0,1]$, which is given by the following payoff matrix for the row player (and $A^t(x)$ for the column player):&#xA;$$A(x)=&#xA; \left( \begin{array}{ccc}&#xA;\frac{x}{2} &amp;amp; x \\&#xA;1-x &amp;amp; \frac{1-x}{2} \\&#xA;\end{array} \right) $$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Each equilibrium in this game can be represented as $&amp;lt;p_a,p_b&amp;gt;\in[0,1]^2$ where $p_a$ is the probability of the first player playing the first strategy and $p_b$ is the probability the second player plays the first strategy.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Analytically we can find all the equilibriums for this game&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$EQ(x)=&#xA;\begin{cases}&#xA;\{&amp;lt;1,1&amp;gt;\}&amp;amp;\mbox{if } x&amp;gt;\frac{2}{3}\\&#xA;\{&amp;lt;3x-1,3x-1&amp;gt;,&amp;lt;1,0&amp;gt;,&amp;lt;0,1&amp;gt;\}&amp;amp;\mbox{if } \frac{1}{3}\leq x\leq\frac{2}{3}\\&#xA;\{&amp;lt;0,0&amp;gt;\}&amp;amp; \mbox{else}&#xA;\end{cases}&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm looking for a solver which is able to understand inputs like $A(x)$ and produce $EQ(x)$.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Is there a tool which solves parametric games?&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="21001" LastEditorUserId="21001" LastEditDate="2015-01-01T09:16:25.820" LastActivityDate="2015-01-01T18:04:48.360" Title="Is there a tool for finding Nash equilibria in parametric games?" Tags="&lt;gt.game-theory&gt;&lt;software&gt;&lt;nash-equilibrium&gt;" AnswerCount="1" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="28018" PostTypeId="1" CreationDate="2015-01-01T09:54:11.480" Score="4" ViewCount="371" Body="&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/ns6ch.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I wonder if there is any existing method to find the clique and biclique structures in a graph that can cover all the edges in it, and every edge belongs to exactly one of the cliques or bicliques found? I try to illustrate the idea in the figure above where the red edges belong to a biclique and the blue edges belong to a clique. All the edges in the graph are covered by the structures found.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The bicliques and cliques may have overlapping nodes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The motivation of doing this is that in social networks, the biclique structure often corresponds to an influential group of persons that reach a common group of audiences, and such structural feature cannot be described by clique ...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As noted by Tom van der Zanden, a trivial solution would be to return all the edges of the graph.  I am trying to look for non trivial solutions such as those with minimum numbers of cliques and bicliques.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I wonder if anybody could point to some research in this area?&lt;/p&gt;&#xA;" OwnerUserId="20315" LastEditorUserId="20315" LastEditDate="2015-03-03T02:11:08.880" LastActivityDate="2015-03-04T22:11:08.663" Title="Existing technique to detect the clique and biclique cover the edges in a graph?" Tags="&lt;graph-algorithms&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="28019" PostTypeId="1" AcceptedAnswerId="28021" CreationDate="2015-01-01T09:59:01.377" Score="2" ViewCount="174" Body="&lt;p&gt;Consider the following scheme for enumerating acyclic digraphs (DAGs) by orienting the edges in an undirected graph $G$ with $n = ||V||$ vertices:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(1) Generate all $n!$ possible permutations $p_i$ of the $n$ vertices in $G$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(2) For each permutation $p_i = (v_a, v_b, ..., v_n)$, direct any unoriented edges adjacent to $v_a$ away from $v_a$, then direct any oriented edges adjacent to $v_b$ away from $v_b$ (if edges were previously oriented, and perhaps pointing towards $v_b$, leave those oriented edges unperturbed), and so on for all successive vertices in the permutation up to $v_n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(3) Check if the resulting acyclic digraph generated in step (2) is an existing element of some (initially empty) list $L$.  If not, add it to the list.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now my question is --- will $L$ contain all possible acyclic orientations of the initially undirected graph $G$, or might we miss some?  If the latter is possible, can we say anything in particular about the nature of these missed acyclic digraphs?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Just to be clear, by no means am I suggesting that the above procedure is an efficient way to generate sets of acyclic digraphs!)&lt;/p&gt;&#xA;" OwnerUserId="30553" LastEditorUserId="30553" LastEditDate="2015-01-01T10:10:39.983" LastActivityDate="2015-01-01T11:25:24.290" Title="An edge orientation procedure to generate all acyclic orientations of a graph" Tags="&lt;graph-theory&gt;&lt;directed-acyclic-graph&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="28021" PostTypeId="2" ParentId="28019" CreationDate="2015-01-01T11:25:24.290" Score="2" Body="&lt;p&gt;The procedure maps each permutation of the vertices to some orientation of the graph whose topological ordering of the vertices is consistent with the permutation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Every acyclic orientation of the graph induces at least one topological ordering of the vertices.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Every topological ordering of the vertices induces exactly one orientation of the graph (since if two distinct orientations were compatible with the ordering, they would differ in the orientation of at least one edge $(u,v)$ and hence $u$ would come both before and after $v$ in the permutation, which is a contradiction).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So the procedure generates all the acyclic orientations of the graph.&lt;/p&gt;&#xA;" OwnerUserId="28912" LastActivityDate="2015-01-01T11:25:24.290" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="28022" PostTypeId="2" ParentId="27595" CreationDate="2015-01-01T15:23:54.590" Score="2" Body="&lt;p&gt;&lt;a href=&quot;http://dl.acm.org/citation.cfm?id=6433&quot; rel=&quot;nofollow&quot;&gt;Bryant's &quot;Graph-Based Algorithms for Boolean Function Manipulation&quot;&lt;/a&gt; introduced Reduced-Order Binary Decision Diagrams (ROBDDs) for representing and manipulating Boolean functions.  I believe these see a lot of use in CAD tools and circuit synthesis problems.  Bryant's paper is a good place to start a literature review for BDD.  He cites a few key earlier works and a lot of the more recent work grew out of, and cited, his paper. &lt;/p&gt;&#xA;" OwnerUserId="7189" LastActivityDate="2015-01-01T15:23:54.590" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="28023" PostTypeId="2" ParentId="28017" CreationDate="2015-01-01T16:32:51.913" Score="4" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Is there a tool which solves parametric games?&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Not that I am aware of (I am a co-author of GTE and help with Gambit).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The best suggestion I have if you don't find such a tool (and I doubt one exists) is to do a parameter sweep and solve a bunch of individual instantiations and see what the resulting sets of equilibria say about $EQ()$. Gambit is very tightly integrated with python, so you can easily define your game as a python function with the parameters as arguments and solve a set of instances via a parameter sweep.&lt;/p&gt;&#xA;" OwnerUserId="368" LastEditorUserId="368" LastEditDate="2015-01-01T18:04:48.360" LastActivityDate="2015-01-01T18:04:48.360" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="28024" PostTypeId="2" ParentId="27845" CreationDate="2015-01-01T21:17:54.640" Score="5" Body="&lt;p&gt;Here are the lower bounds I can show. I conjecture that for a fixed $\epsilon$, the right lower bound is $\Omega( \log n)$, but naturally I might be wrong.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am going to use a decreasing sequence (just for convenience). The basic mechanism is breaking the sequence into $L$ blocks. In the $i$th block there are going to be $n_i$ elements (i.e., $\sum_i n_i = n$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the following, we want the algorithm to succeeds with probability $\geq 1-\delta$, for some parameter $\delta &amp;gt;0$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;First lower bound: $\displaystyle \Omega\left( \frac{1}{\epsilon} \log \frac{1}{\delta} \right)$.&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The $i$th block has $n_i = 2^{i-1}$ elements, so $L = \lg n$. We set the value of all the elements in the $i$th block to be $(1+X_i)/(2n_iL)$, where $X_i$ is a variable that is either $0$ or $1$. Clearly, the total sum of this sequence is &#xA;$$&#xA;\alpha = \sum_{i=1}^L \frac{1+X_i}{2n_i L} = \frac{1}{2} + \frac{1}{2L}\left(\sum_{i=1}^L X_i \right).&#xA;$$&#xA;Imagine picking each $X_i$ with probability $\beta$ to be $1$ and $0$ otherwise.  To estimate $\alpha$, we need a reliable estimate of $\beta$. In particulate, we want to be able to distinguish the base $\beta = 1-4\epsilon$ and, say, $\beta=1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, imagine sampling $m$ of these random variables, and let $Z_1, \ldots, Z_m$ be the sampled variables.  Settings $Y = \sum_{i=1}^m (1-X_i)$ (note, that we are taking the sum of the &lt;em&gt;complement&lt;/em&gt; variables), we have $\mu = E[Y] = (1-\beta) m$, and Chernoff inequality tells us that if $\beta =1-4\epsilon$, then $\mu = 4\epsilon m$, and the probability of failure is &#xA;$$&#xA; P\left[ Y \leq 2\epsilon m \right] =  P\left[ Y \leq (1-1/2) \mu \right] \leq \exp \left( -\mu (1/2)^2 / 2 \right) = \exp \left( -\epsilon m / 2 \right).&#xA;$$&#xA;To make this quantity smaller than $\delta$, we need $\displaystyle m \geq \frac{2}{\epsilon} \ln \frac{1}{\delta}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The key observation is that the Chernoff inequality is tight (one has to be careful, because it is not correct for all parameters, but it is correct in this case), so you can not do better than that (up to constants).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Second lower bound: $\Omega( \log n / \log \log n)$.&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Set the $i$th block size to be $n_i = L^i$, where $L = \Theta( \log n / \log \log n)$ is the number of blocks. An element in the $i$th block has value $\alpha_i = \Bigl(1/L\Bigr)/n_i$. So the total sum of the values in the sequence is $1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, we might decide to pick an arbitrary block, say the $j$th one, and set all values in its block to be $\alpha_{j-1} = L \alpha_j$ (instead of $\alpha_j$). This increases the contribution of the $j$th block from $1/L$ to $1$, and increase the total mass of the sequence to (almost) $2$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, informally, any randomized algorithm must check the value in each one of the blocks. As such, it must read at least $L$ values of the sequence.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To make the above argument more formal, with probability $p=1/2$, give the original sequence of mass $1$ as the input (we refer to this as original input). Otherwise, randomly select the block that has the increased values (modified input). Clearly, if the randomized algorithm reads less than, say, $L/8$ entries, it has probability (roughly) $1/8$ to detect a modified input.  As such, the probability this algorithm fails, if it reads less than $L/8$ entries is at least&#xA;$$&#xA; (1-p)(7/8) &amp;gt; 7/16 &amp;gt; 1/3.  &#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;P.S.  I think by being more careful about the parameters, the first lower bound can be improved to $\Omega(1/\epsilon^2)$.&lt;/p&gt;&#xA;" OwnerUserId="9594" LastEditorUserId="9594" LastEditDate="2015-01-01T21:31:56.237" LastActivityDate="2015-01-01T21:31:56.237" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="28025" PostTypeId="2" ParentId="27667" CreationDate="2015-01-02T01:39:40.787" Score="1" Body="&lt;p&gt;While the Parsing Techniques is a great book and I have read some parts several time, it has its focus on LR parsing which won't be interesting for you. In your particular case, you are looking at PEGs which are sort of top-down recursive descent parsing with backtracking based on the order of alternatives. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would like to suggest you to look at parser combinators, which use the same strategy.&#xA;You can for example check this paper &lt;a href=&quot;http://research.microsoft.com/pubs/65201/parsec-paper-letter.pdf&quot; rel=&quot;nofollow&quot;&gt;http://research.microsoft.com/pubs/65201/parsec-paper-letter.pdf&lt;/a&gt; which uses Haskell to build parser combinators. Check the section with &lt;code&gt;try&lt;/code&gt;&#xA;where they incorporate backtracking (Section 3.4).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In any case, what you need to learn is:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;recursive-descent parsing and LL grammars&lt;/li&gt;&#xA;&lt;li&gt;fixed lookahead vs. infinite lookahead (done via backtracking)&lt;/li&gt;&#xA;&lt;li&gt;backtracking strategies&lt;/li&gt;&#xA;&lt;li&gt;how to deal with Left-recursive rules&lt;/li&gt;&#xA;&lt;li&gt;Memoization of the partial results to avoid exponential behavior&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="22893" LastActivityDate="2015-01-02T01:39:40.787" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="28026" PostTypeId="1" AcceptedAnswerId="28033" CreationDate="2015-01-02T02:59:15.750" Score="4" ViewCount="311" Body="&lt;p&gt;It seems to be possible to create a set of vectors in $\mathbb{R}^n$ such that any subset of $n$ vectors forms a basis.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, in $\mathbb{R}^3$, here is such a set with 21 vectors:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;\left\{&#xA;  [1,2,3], [2,3,1], [3,1,2], \\&#xA;  [1,4,5], [4,5,1], [5,1,4], \\&#xA;  [1,6,8], [6,8,1], [8,1,6], \\&#xA;  [1,8,12], [8,12,1], [12,1,8], \\&#xA;  [1,10,17], [10,17,1], [17,1,10], \\&#xA;  [1,12,23], [12,23,1], [23,1,12], \\&#xA;  [1,14,30], [14,30,1], [30,1,14]&#xA;\right\}&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any combination of 3 of these vectors is linearly independent.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is it possible to create a set satisfying this property with arbitrarily many vectors? I think so, but the specific pattern used in the set above breaks down around 50 vectors; I think some more complicated pattern should work. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is it possible to create this set in time polynomial in the number of vectors in the set?&lt;/p&gt;&#xA;" OwnerUserId="3968" LastEditorUserId="4193" LastEditDate="2015-01-08T08:09:28.250" LastActivityDate="2015-01-08T08:09:28.250" Title="Is there a polynomial time algorithm for creating a set of vectors in general position?" Tags="&lt;cc.complexity-theory&gt;&lt;linear-algebra&gt;&lt;polynomials&gt;" AnswerCount="2" CommentCount="3" FavoriteCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="28030" PostTypeId="2" ParentId="28026" CreationDate="2015-01-02T10:22:40.323" Score="4" Body="&lt;p&gt;Here is what I think S. Nikolov meant.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Take an $m\times m$ Vandermonde matrix $V(x_1,\ldots,x_m)$ where $V_{i,j}=x_i^{j-1}$ for $1\leq i,j\leq m.$ &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Take any $1\leq j_1&amp;lt;j_2&amp;lt;\ldots&amp;lt;j_n\leq m,$ so we assume $n\leq m$ here. Then for any choice of $1\leq i_1&amp;lt;i_2&amp;lt;\ldots&amp;lt;i_n\leq m$ the $n\times n$ submatrix formed by&#xA;$$[V_{i_t,j_s}]_{1\leq t,s\leq n}$$ &#xA;is linearly independent.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The nontriviality condition of the Vandermonde matrix requires that the points $x_i$ be distinct. If you are working over a finite field of size $q,$ then $q\geq m$ must hold. Over an infinite field this isn't required and clearly you can make $m$ as large as you wish.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit:&lt;/strong&gt; I am sorry, this construction won't work in general, see the comments by Sasho Nikolov and Emil Jerabek.&lt;/p&gt;&#xA;" OwnerUserId="21948" LastEditorUserId="21948" LastEditDate="2015-01-04T07:39:00.217" LastActivityDate="2015-01-04T07:39:00.217" CommentCount="10" ContentLicense="CC BY-SA 3.0" />
  <row Id="28032" PostTypeId="1" CreationDate="2015-01-02T18:40:37.700" Score="4" ViewCount="120" Body="&lt;p&gt;Consider the following ternary relation $R\subseteq\mathbb{N}^3$:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;$(p,q,m)\in R$ iff $p,q&amp;gt;0$ and there is a set $S\subseteq \{\frac{1}{n}:n\in\mathbb{N}, n\geq 1\}$ such that $|S|=m$ and $\frac{p}{q}=\sum_{s\in S} s$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Is $R$ primitive recursive, recursive, or recursively enumerable?&lt;/p&gt;&#xA;" OwnerUserId="27518" LastActivityDate="2015-01-04T20:42:05.633" Title="Representation as sum of unit fractions: primitive recursive?" Tags="&lt;computability&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="28033" PostTypeId="2" ParentId="28026" CreationDate="2015-01-02T21:22:37.727" Score="6" Body="&lt;p&gt;Let me give some details for the Cauchy matrix construction, which is simple. Let $x = (x_1, \ldots, x_n)$, $y = (y_1, \ldots, y_m)$ be sequences of pairwise distinct numbers. The corresponding &lt;a href=&quot;http://en.wikipedia.org/wiki/Cauchy_matrix&quot;&gt;Cauchy matrix&lt;/a&gt; is&#xA;$$&#xA;C = \begin{pmatrix}&#xA;\frac{1}{x_1 - y_1} &amp;amp; \frac{1}{x_1 - y_2} &amp;amp; \ldots &amp;amp; \frac{1}{x_1 - y_m}\\&#xA;\frac{1}{x_2 - y_1} &amp;amp; \frac{1}{x_2 - y_2} &amp;amp; \ldots &amp;amp; \frac{1}{x_2 - y_m}\\&#xA;\vdots &amp;amp; \vdots &amp;amp; \ddots &amp;amp; \vdots\\&#xA;\frac{1}{x_n - y_1} &amp;amp; \frac{1}{x_n - y_2} &amp;amp; \ldots &amp;amp; \frac{1}{x_n - y_m}\\&#xA;\end{pmatrix}&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then any square submatrix of $C$ is an invertible square Cauchy matrix. In particular, the $n\times n$ submatrix $C_J$ with columns indexed by $J = \{j_1, \ldots, j_n\}$, $j_1 \leq \ldots \leq j_n$, has determinant&lt;br&gt;&#xA;$$&#xA;\det C_J = \frac{\prod_{i = 2}^n\prod_{k = 1}^{i-1}{(x_i - x_k)(y_{j_i} - y_{j_k})}}{\prod_{i = 1}^n\prod_{k = 1}^n{(x_i - y_{j_k})}}.&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Because $x$ and $y$ are sequences of distinct numbers, the determinant is nonzero, and $C_J$ is invertible. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you prefer something even more concrete, you can take the Hilbert matrix: the Cauchy matrix with $x = (1, \ldots, n)$ and $y = (0, -1, -2, \ldots, -m)$. With $n = 3$ you get the points $(1, 1/2, 1/3),\ (1/2, 1/3, 1/4),\ (1/3, 1/4, 1/5),\ (1/4, 1/5, 1/6)$ and so on.  &lt;/p&gt;&#xA;" OwnerUserId="4896" LastActivityDate="2015-01-02T21:22:37.727" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="28034" PostTypeId="1" AcceptedAnswerId="28036" CreationDate="2015-01-02T22:34:18.880" Score="15" ViewCount="664" Body="&lt;p&gt;About a year ago, a friend and I thought of a way to implement Kruskal's algorithm for dense graphs in better than the usual $O(m \log m)$ bound (without assuming pre-sorted edges). Specifically, we achieve $\Theta(n^2)$ in all cases, similar to Prim's when implemented using adjacency matrices.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I've posted a bit about the algorithm &lt;a href=&quot;http://fedelebron.com/a-dense-version-of-kruskals-algorithm&quot;&gt;in my blog&lt;/a&gt;, including C++ code and benchmarks, but here's the general idea:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Maintain one representative node for each connected component. Initially, all nodes represent themselves.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Maintain a vector &lt;code&gt;dist[i]&lt;/code&gt; such that, for every component &lt;code&gt;i&lt;/code&gt;, has the lightest component-crossing edge incident to &lt;code&gt;i&lt;/code&gt;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;When finding the lightest edge that crosses partitions, simply find &lt;code&gt;i&lt;/code&gt; that minimizes the weight of &lt;code&gt;dist[i]&lt;/code&gt;, in linear time.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;When joining two components $c_i$ and $c_j$, modify the adjacency matrix $A$, such that now $A_{i, k} = \min \{A_{i, k}, A_{j, k}\}$ for all components $k$, and mark $i$ as no longer representative of its connected component (only $j$ will now remain).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The contracting of the lightest edge and the finding of said edge can thus both be done in linear time. We do this $n - 1$ times to find the MST. A little bookkeeping is needed to actually find which edge we want to add to the MST, but does not increase the complexity. Thus the runtime is $\Theta(n^2)$. The implementation is just a couple of for loops.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is this version of Kruskal well-known in the literature?&lt;/p&gt;&#xA;" OwnerUserId="15633" LastActivityDate="2015-01-03T01:59:54.413" Title="Is this dense version of Kruskal's algorithm well-known?" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="28036" PostTypeId="2" ParentId="28034" CreationDate="2015-01-03T01:31:01.413" Score="19" Body="&lt;p&gt;I'm not sure about this specific method for achieving $O(n^2)$ time, but two different methods for performing Kruskal in $O(n^2)$ time are given in my paper &quot;Fast hierarchical clustering and other applications of dynamic closest pairs&quot; (SODA 1998, arXiv:cs.DS/9912014, and J. Experimental Algorithms 2000):&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Use Prim–Dijkstra–Jarník instead and then sort the edges to get the insertion sequence that Kruskal would give, or&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Use the quadtree closest-pair data structure described in the paper, viewing Kruskal as a standard agglomerative clustering procedure where we merge the closest two clusters into a supercluster at each step, with &quot;closest&quot; defined as the length of the shortest edge connecting two clusters.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Solution 2 is similar in spirit to what you describe but the details of how to keep track of the distances between clusters are slightly different. You keep the row-wise minima of the cluster distance matrix, allowing you to scan this list of row-minima in linear time to find the global minimum, while my paper overlays a quadtree on the same matrix and keeps track of the minimum in each quadtree square. Your method is simpler, but less flexible for some other dynamic closest pair problems (it depends on the fact that merging two clusters causes their distances to other clusters to decrease, true for this problem but not necessarily for others).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As I wrote in 2011 in the Wikipedia article on the &lt;a href=&quot;https://en.wikipedia.org/wiki/Nearest-neighbor_chain_algorithm&quot;&gt;nearest-neighbor chain algorithm&lt;/a&gt;, that algorithm can also be used to perform Kruskal in $O(n^2)$ time. However (unlike some other applications of the nearest-neighbor chain algorithm) you don't get a space savings, so (like the quadtree method and your method) the space is still $O(n^2)$. In contrast Prim+sorting can use only $O(n)$&#xA;space beyond that needed to store the input.&lt;/p&gt;&#xA;" OwnerUserId="95" LastEditorUserId="95" LastEditDate="2015-01-03T01:59:54.413" LastActivityDate="2015-01-03T01:59:54.413" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="28037" PostTypeId="1" CreationDate="2015-01-03T02:35:21.717" Score="4" ViewCount="229" Body="&lt;p&gt;Given a deductive system $\Lambda$, and some well-formed-formula S, one can ask the question &quot;Is there a proof S in $\Lambda$ of length n?&quot;  If n is presented in base-1 and if all the axioms of $\Lambda$ are polynomial-time verifiable, and if $\Lambda$ is sufficiently powerful to express the verification for some NP-Complete problem like 3-SAT, this problem is known to be NP-Complete.  It requires super-polynomial time if n is not.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I know how to prove this, but I am also sure that somebody else has already proven this.  Can somebody direct me to an existing published reference?&lt;/p&gt;&#xA;" OwnerUserId="28868" LastEditorUserId="28868" LastEditDate="2015-01-03T19:18:53.370" LastActivityDate="2019-06-25T06:03:05.420" Title="Looking for reference on NP-Completeness of proofs of length n" Tags="&lt;reference-request&gt;&lt;np-complete&gt;&lt;automated-theorem-proving&gt;" AnswerCount="1" CommentCount="9" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="28039" PostTypeId="1" AcceptedAnswerId="38022" CreationDate="2015-01-03T12:43:01.667" Score="41" ViewCount="610" Body="&lt;p&gt;In Andrew Chi-Chih Yao's classic 1979 paper he references &quot;M. O. Rabin and A. C. Yao, in preparation&quot;.  This is for the result that the bounded-error communication complexity of the equality function EQ$_N$ (whether two integers in the range $0$ to $N-1$ are equal) is $O(\log\log N)$.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Andrew Chi-Chih Yao, &lt;em&gt;Some Complexity Questions Related to Distributed Computing (Preliminary Report)&lt;/em&gt;, STOC 1979, pp. 209–213.  doi:&lt;a href=&quot;http://dx.doi.org/10.1145/800135.804414&quot;&gt;10.1145/800135.804414&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Alexander Razborov's introductory survey on communication complexity proves this result and states &quot;the following beautiful construction [is] usually attributed to Rabin and Yao&quot;.  The idea is to consider the bit strings as coefficients of a predetermined polynomial $P(x)$; Alice then picks a random integer $q$ from 0 to $p-1$ for some predetermined prime $p \in [3n,6n]$, where $n = \lceil \log N\rceil$, and sends $(q, P(q) \mod p)$ to Bob.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Alexander Razborov, &lt;em&gt;Communication Complexity&lt;/em&gt;, chapter 8 of &quot;An Invitation to Mathematics&quot;, pp. 97–117, Springer, 2011.  (&lt;a href=&quot;http://people.cs.uchicago.edu/%7Erazborov/files/cc.pdf&quot;&gt;preprint&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Did the Rabin/Yao paper ever get to be at least a personal communication/draft/sketch in someone else's paper, or is this one of those indications of the &quot;golden era&quot; where giants roamed the earth and didn't always touch ground when stepping from breakthrough to breakthrough?&lt;/p&gt;&#xA;" OwnerUserId="109" LastEditorUserId="109" LastEditDate="2015-01-12T11:16:50.217" LastActivityDate="2017-04-19T09:11:50.853" Title="Does Rabin/Yao exist (at least in a form that can be cited)?" Tags="&lt;ho.history-overview&gt;&lt;communication-complexity&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="28040" PostTypeId="1" CreationDate="2015-01-03T14:03:25.123" Score="5" ViewCount="121" Body="&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Matrix_Chernoff_bound&quot; rel=&quot;nofollow&quot;&gt;Matrix Chernoff bounds&lt;/a&gt; (see also &lt;a href=&quot;http://arxiv.org/abs/1004.4389&quot; rel=&quot;nofollow&quot;&gt;this arXiv paper&lt;/a&gt;) are usually used to give upper bounds on the largest eigenvalue of a finite sum of random matrices. Sometimes it can also be used to give a lower bound on the smallest eigenvalue of a finite sum of random &lt;em&gt;positive semidefinite&lt;/em&gt; (PSD) matrices.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For PSD matrices, the eigenvalues are the same as the singular values. My question is: &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there any tool, or any other special cases (apart from the PSD case) for which there is a tool, to obtain lower bounds on the singular values of a finite sum of random matrices, or random symmetrical matrices?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="30506" LastEditorUserId="248" LastEditDate="2015-01-05T13:31:24.247" LastActivityDate="2015-01-05T13:31:24.247" Title="Tools to bound the singular values of a finite sum of random matrices from below?" Tags="&lt;lower-bounds&gt;&lt;linear-algebra&gt;&lt;randomized-algorithms&gt;&lt;matrices&gt;&lt;chernoff-bound&gt;" AnswerCount="0" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="28041" PostTypeId="1" AcceptedAnswerId="32010" CreationDate="2015-01-03T15:43:04.220" Score="11" ViewCount="303" Body="&lt;p&gt;Is the finite &lt;a href=&quot;http://en.wikipedia.org/wiki/Inverse_semigroup&quot;&gt;inverse semigroup&lt;/a&gt; isomorphism problem &lt;a href=&quot;http://en.wikipedia.org/wiki/Graph_isomorphism_problem&quot;&gt;GI-complete&lt;/a&gt;? Here the finite inverse semigroups are assumed to be given by their multiplication tables.&lt;/p&gt;&#xA;" OwnerUserId="20340" LastActivityDate="2015-07-16T00:55:07.320" Title="Is the finite inverse semigroup isomorphism problem GI-complete?" Tags="&lt;cc.complexity-theory&gt;&lt;graph-isomorphism&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="28043" PostTypeId="2" ParentId="28032" CreationDate="2015-01-03T22:43:54.660" Score="3" Body="&lt;p&gt;Consider $(p,q,m)\in R_k$ iff there is a set $S\subseteq \{\frac{1}{n}:n\in\mathbb{N}, n&amp;gt; k\}$ such that $|S|=m$ and $\frac{p}{q}=\sum_{s\in S} s$, so $R=R_0$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is easy to see that $(p,q,m)\in R_k$ iff there is an $k&amp;lt;\ell\le \frac {qm}p$ such that $(p\ell-q,q\ell,m-1)\in R_\ell$.&lt;/p&gt;&#xA;" OwnerUserId="419" LastEditorUserId="419" LastEditDate="2015-01-04T20:42:05.633" LastActivityDate="2015-01-04T20:42:05.633" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="28044" PostTypeId="1" AcceptedAnswerId="28048" CreationDate="2015-01-04T03:23:27.213" Score="0" ViewCount="176" Body="&lt;p&gt;Just a warning, I am an amateur and this algorithm probably doesn't work.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A high level description of the algorithm:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Be $f(x_1,...,x_n)$ a polynomial, $n$ the number of variables and $d$ is the maximum degree of a variable in $f$.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Find a vector set with at least $m=n*d$ elements such that any combination of $n$ elements forms a linearly independent subset of vectors.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As pointed out by @SashoNikolov and @kodlu in another question, just use the geometric progressions in a Vandermonde matrix to create this set:&#xA;$$&#xA;\begin{bmatrix}&#xA;1 &amp;amp; \alpha_1 &amp;amp; \alpha_1^2 &amp;amp; \dots &amp;amp; \alpha_1^{n-1}\\&#xA;1 &amp;amp; \alpha_2 &amp;amp; \alpha_2^2 &amp;amp; \dots &amp;amp; \alpha_2^{n-1}\\&#xA;1 &amp;amp; \alpha_3 &amp;amp; \alpha_3^2 &amp;amp; \dots &amp;amp; \alpha_3^{n-1}\\&#xA;\vdots &amp;amp; \vdots &amp;amp; \vdots &amp;amp; \ddots &amp;amp;\vdots \\&#xA;1 &amp;amp; \alpha_m &amp;amp; \alpha_m^2 &amp;amp; \dots &amp;amp; \alpha_m^{n-1}&#xA;\end{bmatrix}&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Where $\alpha_i = i$&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Now we use the line-vectors of the Vandermonde matrix above to change the original polynomial $f$ into $m$ univariate polynomials $f_i(t)$ which corresponds to the values of the original polynomial $f$ along the line passing through the origin with the line-vector.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is where it needs to be white-box, you go in the arithmetic circuit changing all variables according to the transformation:&#xA;$$f_i(t)=f(\alpha_i^{0}t,\alpha_i^{1}t,...,\alpha_i^{n-1}t)$$&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Being a univariate polynomial, it is trivial to normalise this polynomial and check if it is identically $0$ or not.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;If and only if all the univariate polynomials are identically $0$ then the original polynomial $f$ is identically $0$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;The geometrical reasoning:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Supposing $f$ is not identically $0$, to maximize the amount of non-colinear lines through the origin where $f=0$, $f$ should be a union of hypersurfaces (homogeneous polynomial).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Supposing $f$ is an homogenous polynomial (worst case), each hypersurface is able at best to make $f=0$ along $n-1$ of the Vandermonde line-vectors. So a union of $d$ hypersurfaces (best case as d is the maximum degree of a variable in $f$) is able at best to make $f=0$ along $(n-1)*d&amp;lt;m$ vector-lines.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Would this work? What is wrong? &lt;/p&gt;&#xA;" OwnerUserId="3968" LastActivityDate="2015-01-04T12:37:30.030" Title="Idea for a white-box PIT deterministic algorithm in polynomial time" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;circuit-complexity&gt;&lt;polynomials&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="28045" PostTypeId="1" AcceptedAnswerId="38218" CreationDate="2015-01-04T05:57:54.923" Score="1" ViewCount="306" Body="&lt;p&gt;In the context of scheduling maintenance jobs on arcs of a flow network I came across the problem to schedule jobs, indexed by $j$, and given by triples $(r_j,d_j,p_j)$ of (integer) release time, due time and processing time such that the total time in which no job is processed is maximized. A schedule is given by start times $x_j\in S_j:=\{r_j,r_j+1,\ldots,d_j-p_j+1\}$. For instance, for five jobs with $(r_j,d_j,p_j)$ equal to &#xA;\[(1,3,3),\ (20,22,3),\ (10,11,2),\ (1,18,5),\ (8,26,5)\]&#xA;and a time horizon of 30, the first three jobs are fixed starting at times $x_1=1$, $x_2=20$ and $x_3=10$, and for the last two jobs it is optimal to start both of them at the same time $x_4=x_5\in\{8,9,10\}$. The objective value (number of time periods without any job) is &#xA;\[30-3-5-3=19.\]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The straightforward binary program for $n$ jobs looks as follows ($y_t$ is the indicator variable for the activity of the &quot;plant&quot; machine suggested in the comment by András Salamon)&#xA;\begin{align*}&#xA;\text{minimize}\ \sum_{t=1}^Ty_t&amp;amp;\\&#xA;\text{subject to}\qquad \sum_{t\in S_j}x_{jt} &amp;amp;=1 &amp;amp;&amp;amp; j\in[n], \\&#xA;y_t-\sum_{t'\in S_j\cap[t-p_j+1,t]}x_{jt'} &amp;amp;\geqslant 0  &amp;amp;&amp;amp; t\in[T],\ j\in J_t,\\&#xA;x_{jt}&amp;amp;\in\{0,1\} &amp;amp;&amp;amp; j\in[n],\ t\in S_j,\\&#xA;y_t &amp;amp;\in\{0,1\} &amp;amp;&amp;amp; t\in[T].&#xA;\end{align*}&#xA;Here $J_t=\{j\ :\ r_j\leqslant t\leqslant d_j\}$ denotes the set of jobs that can be &quot;active&quot; at time $t$. Interestingly, the constraint matrix is not totally unimodular in general, but the LP relaxation seems to have always integer optimal solutions. Writing down the dual also yields a problem which can be interpreted combinatorially, but so far I haven't been able to turn this into an integrality proof.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One can look at variants of the problem where the number of jobs that can be processed simultaneously is bounded, or there is a given partition of the job set such that no two jobs from the same part can be processed at the same time. &#xA;Has this kind of objective function been studied in the scheduling literature? Or is there any other related problem? &lt;/p&gt;&#xA;" OwnerUserId="15637" LastEditorUserId="15637" LastEditDate="2015-01-06T21:18:59.403" LastActivityDate="2017-05-14T23:18:46.687" Title="Scheduling to maximize idle time" Tags="&lt;ds.algorithms&gt;&lt;co.combinatorics&gt;&lt;scheduling&gt;&lt;packing&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="28046" PostTypeId="1" CreationDate="2015-01-04T07:51:42.897" Score="6" ViewCount="155" Body="&lt;p&gt;I am interested in a quadratic program of the form&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$ \min x^T Q x $$&#xA;$$s.t.$$&#xA;$$ Ax \leq b $$&#xA;where $x$ is a vector with $n$ entries, the size of the maximal entry in $Q, A$, and $b$ is $\varphi$, $A$ has $2^n$ rows, and  $Q$ has $poly(n)$ rows. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is it true that if there is a minimal solution to the program, then there is one of size that is polynomial in $n$ and $\phi$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks!&lt;/p&gt;&#xA;" OwnerUserId="1536" LastEditorUserId="1536" LastEditDate="2015-01-04T08:04:40.770" LastActivityDate="2015-01-08T08:37:00.160" Title="Bounds on the size of the solution of a quadratic program" Tags="&lt;np&gt;&lt;convex-optimization&gt;&lt;quadratic&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="28048" PostTypeId="2" ParentId="28044" CreationDate="2015-01-04T12:29:55.437" Score="5" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;Would this work? What is wrong?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;No proof sketch that this is a polynomial time algorithm is given. The point where the algorithm might stop being a polynomial time algorithm is step 3:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;ol start=&quot;3&quot;&gt;&#xA;  &lt;li&gt;Being a univariate polynomial, it is trivial to normalise this polynomial and check if it is identically 0 or not.&lt;/li&gt;&#xA;  &lt;/ol&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Even so normalising a univariate polynomial is trivial from a conceptual point of view, it's unclear whether it can be done in polynomial time (or even polynomial space). For multivariate polynomials, it's obvious that polynomials like $(1+x_1)(1+x_2)\dots(1+x_n)$ can't be normalized in polynomial space. For univariate polynomials, the details of the problem formulation become important. If the input polynomial is given by an &lt;a href=&quot;http://en.wikipedia.org/wiki/Arithmetic_circuit_complexity&quot;&gt;arithmetic circuit&lt;/a&gt; and the coefficients are from $\mathbb Z$, then repeated squaring will give you abundant examples of polynomials which cannot be normalized in polynomial space. (PIT is often done over finite fields, which avoids this sort of space explosion.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The proof sketch that the algorithm works as intended has too many holes for being a valid mathematical proof. However, it is quite possible that there is a proper mathematical proof showing that the proposed algorithm works as intended, and this wouldn't even be a surprise. Here are some of the holes:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;$f$ should be a union of hypersurfaces (homogeneous polynomial)&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;This reads like a claim that $f$ is a homogeneous polynomial iff $f=0$ is a union of hypersurfaces (through the origin). But $f(x,y,z)=x^2+y^2-z^2$ is a homogeneous polynomial for which $f=0$ is not a &lt;em&gt;finite&lt;/em&gt; union of hypersurfaces.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Supposing $f$ is an homogenous polynomial (worst case), each hypersurface is able at best to make $f=0$ along $n−1$ of the Vandermonde line-vectors.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;This seems to assume that $f(x_1,\dots,x_n)=\prod_i(\sum_j a_{ij}x_j)$, which might be yet another interpretation of &quot;union of hypersurfaces&quot;. The hole in the proof here is that the &quot;(worst case)&quot; claim isn't proved. Note that $f(x,y,z)=x^2+y^2-z^2$ is a homogeneous polynomial, but it cannot be written in the assumed form.&lt;/p&gt;&#xA;" OwnerUserId="20340" LastEditorUserId="20340" LastEditDate="2015-01-04T12:37:30.030" LastActivityDate="2015-01-04T12:37:30.030" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="28049" PostTypeId="2" ParentId="27969" CreationDate="2015-01-04T13:16:09.243" Score="13" Body="&lt;p&gt;This question generated a lot of literature in the 80's, partly due to a bad approach to the problem. This is a rather long story that I will try to summarize in this answer. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;1. The case of finite words&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One can find two definitions of a minimal DFA in the literature. &#xA;The first one is to define the minimal DFA of a regular language as the complete DFA with the minimum number of states accepting the language.&#xA;The second one is longer to define but is mathematically more appealing than the first one and it gives stronger properties.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let us recall that a DFA $(Q, A, \cdot, i, F)$ is &lt;em&gt;accessible&lt;/em&gt; if for all $q \in Q$, there is a word $u \in A^*$ such that $i \cdot u = q$. It is &lt;em&gt;complete&lt;/em&gt; if $q \cdot a$ is defined for all $q \in Q$ and $a \in A$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let ${\cal A}_1 = (Q_1, A, \cdot, i_1, F_1)$ and ${\cal A}_2 = (Q_2, A,&#xA;\cdot, i_2, F_2)$ be two complete, accessible DFAs. A morphism from $\mathcal{A}_1$ to $\mathcal{A}_2$  is a function $\varphi:Q_1 \to Q_2$ such that &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;$\varphi(i_1) = i_2$,&lt;/li&gt;&#xA;&lt;li&gt;$\varphi^{-1}(F_2) = F_1$,&lt;/li&gt;&#xA;&lt;li&gt;for all $q \in Q_1$ and $a \in A$, $\varphi(q)\cdot a=\varphi(q\cdot a)$.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;One can show that these conditions imply that $\varphi$ is necessarily surjective (and thus $|Q_2| \leqslant |Q_1|$). Furthermore, there is at most one morphism from ${\cal A}_1$ to ${\cal A}_2$ and if this morphism exists, then ${\cal A}_1$ and ${\cal A}_2$ recognize the same language. Now, one can show that for every language $L$, there is a unique complete accessible DFA ${\cal A}_L$ accepting $L$ and such that, for every complete accessible DFA $\cal A$ accepting $L$, there is a morphism from $\cal A$ onto &#xA;${\cal A}_L$. This automaton is called the &lt;em&gt;minimal DFA&lt;/em&gt; of $L$. Note again that since&#xA;the number of states in ${\cal A}_L$ is smaller than the number of states in $\cal A$, ${\cal A}_L$ is also minimal in the first sense.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is worth mentioning that there is also a suitable algebraic definition for &lt;em&gt;incomplete&lt;/em&gt; DFAs. See [Eilenberg, &lt;em&gt;Automata, Languages and Machines&lt;/em&gt;, vol. A, Academic Press, 1974] for more details.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;2. Back to infinite words&lt;/strong&gt; &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Extending the first definition does not work, as shown by Shaull in his answer. And unfortunately one can also show that the universal property of the second definition does not extend to infinite words, except in a few particular cases. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is it the end of the story? Wait a second, there is another minimal object that accepts regular languages...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;3. The syntactic approach&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let us first return again to finite words. Recall that a language $L$ of $A^*$ is&#xA;&lt;em&gt;recognized by a monoid&lt;/em&gt; $M$ if there is a surjective monoid morphism&#xA;$f:A^* \to M$ and a subset $P$ of $M$ such that $f^{-1}(P) = L$. Again, there exists a monoid $M(L)$, called the &lt;em&gt;syntactic monoid&lt;/em&gt; of $L$, which recognizes $L$ and is a quotient of all monoids recognizing $L$. This syntactic monoid can be defined directly as the quotient of $A^*$ by the &lt;em&gt;syntactic congruence&lt;/em&gt; $\sim_L$ of $L$, defined as follows:&#xA;$$&#xA;  \text{$u \sim_L v$ if and only if, for all $x, y \in A^*$, $xuy \in L \iff xvy \in L$} &#xA;$$&#xA;The good news is that this time, this approach has been extended to infinite words, but it took a long time to discover the appropriate notions. &#xA;First, the suitable notion of a syntactic congruence was found by A. Arnold (A syntactic congruence for rational $\omega$-languages, &lt;em&gt;Theoret. Comput. Sci.&lt;/em&gt; &lt;strong&gt;39&lt;/strong&gt;,2-3 (1985), 333–335).&#xA;Extending syntactic monoids to the setting of infinite words required a more sophisticated type of algebras, called nowadays &lt;em&gt;Wilke algebras&lt;/em&gt; in honor of T. Wilke, who was the first to define them (T. Wilke, An algebraic theory for regular languages of finite and infinite words, &lt;em&gt;Int. J. Alg. Comput.&lt;/em&gt; &lt;strong&gt;3&lt;/strong&gt; (1993), 447–489). More details&#xA;can be found in my book &lt;em&gt;Infinite words&lt;/em&gt; coauthored with D. Perrin.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;4. Conclusion&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thus there is a mathematically sound notion of a minimal object accepting a given regular $\omega$-language, but it does not rely on automata.&#xA;This is actually a rather generic fact: automata are a very powerful algorithmic tool, but they are not always sufficient to treat mathematical questions on languages.&lt;/p&gt;&#xA;" OwnerUserId="17203" LastEditorUserId="898" LastEditDate="2015-01-04T15:47:30.103" LastActivityDate="2015-01-04T15:47:30.103" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="28051" PostTypeId="1" CreationDate="2015-01-04T22:52:02.867" Score="5" ViewCount="208" Body="&lt;p&gt;Given a balanced binary search tree, suppose I have an operation decrease-right-keys(k, s) that operates as follows: when I call this operation on a tree $T$, I decrease all keys by $s$ in the right subtrees along the path created by searching for $k$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, suppose I call decrease-right-keys(1, 3). I would search for $1$. Along the search path, I would decrease the key of every element of every right subtree along this path by $3$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is, is there a way to create a balanced binary search tree with this operation operating in $O(\log{n})$ time or $O(\log{n})$ amortized time? I realize that I can't actually decrease all keys in all the right subtrees because that would require $O(n)$ time potentially. But maybe there's a way to implement the operation without having to physically decrease all the keys?  &lt;/p&gt;&#xA;" OwnerUserId="17736" LastEditorUserId="17736" LastEditDate="2015-01-09T15:17:32.610" LastActivityDate="2015-01-09T15:17:32.610" Title="Rebalancing balanced binary search tree when decreasing all keys to the right of a path?" Tags="&lt;ds.algorithms&gt;&lt;ds.data-structures&gt;" AnswerCount="0" CommentCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="28052" PostTypeId="2" ParentId="27771" CreationDate="2015-01-05T00:18:05.677" Score="1" Body="&lt;p&gt;I can't think of any way there could be an easy, completely elegant/satisfying answer to this question, particularly because the ending payoff is so hard to compute; however, my thoughts are too lengthy to post as a comment.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The best idea I have is this:  In the case of chess, try approximating the probability that White will win based on White's material advantage (i.e., extra pawns, knights, etc.) for a given position by randomly selecting positions with that exact amount-of-material configuration.  Perhaps in the case of &quot;all-rooks chess,&quot; we could say, &quot;How likely is White to win with 8 rooks to Black's 17 rooks?&quot;  Perhaps this probability is 4%; to calculate it, we would have to examine (say) 1000 different randomly generated chess positions that have 8 white rooks and 17 black rooks, and then look ahead (say) 10 moves deep in every case, and see what the new material configuration is.  Then, take the expected odds based on the material configuration at the end, and force each side to select the path that involves each side taking the best possible option at every turn, given the expected odds at the end.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course, it would be necessary to find the material configuration for every relevant possibility (&lt;em&gt;M&lt;/em&gt;,&lt;em&gt;N&lt;/em&gt;) of &lt;em&gt;M&lt;/em&gt; white rooks to &lt;em&gt;N&lt;/em&gt; black rooks...presumably starting at the lowest ordered pair (&lt;em&gt;M&lt;/em&gt;=1,&lt;em&gt;N&lt;/em&gt;=1) and working up from there.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the original position, don't just go with the statistic you get (i.e., if the original position has (&lt;em&gt;M&lt;/em&gt;=6,&lt;em&gt;N&lt;/em&gt;=7) rooks, don't just assume that White has a 25% chance of winning because that's the expected odds of victory for (6,7)); instead, because you can be more precise, look 10 moves deep as usual with just this one position and find every possible ending position.  Then, find the right path (that involves optimal play by both sides) to a 10-moves-deep-configuration, and select this path's expected odds as the expected odds of the original position.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think this process can be done in polynomial time.  Looking &lt;em&gt;k&lt;/em&gt; moves deep for fixed &lt;em&gt;k&lt;/em&gt; in chess is polynomial in the size of the board, and the total number of white and black rooks is expressed in unary (in a sense) because that number must be smaller than the size of the board.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If this sounds complicated and hard to explain, that's because it is.  A more succinct summary of what I'm describing is:  Use recursion and basic statistics to calculate the odds of victory for white given &lt;em&gt;M&lt;/em&gt; white rooks and &lt;em&gt;N&lt;/em&gt; black rooks on the board.  Then use these values to look &lt;em&gt;k&lt;/em&gt; moves deep and ascertain the odds that White will win in the original position.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Final comment:  I think this problem is also interesting for non-EXPTIME-complete games, such as tic-tac-toe, which according to Wikipedia is PSPACE-complete.  Further, I believe a process like the one I described above could also be useful there too, although obviously it would be impossible to have a &quot;material&quot; advantage in tic-tac-toe; there would have to be some other basis for judging the superiority of X's or O's position.&lt;/p&gt;&#xA;" OwnerUserId="1338" LastActivityDate="2015-01-05T00:18:05.677" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="28054" PostTypeId="1" AcceptedAnswerId="28061" CreationDate="2015-01-05T01:49:56.523" Score="9" ViewCount="897" Body="&lt;p&gt;I'm interested in efficient algorithms for DFA intersection for special cases. Namely, when the DFAs to intersect obey a certain structure and/or operates on limited alphabet. Is there any source where I can find algorithms such cases?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In order to not make the question too broad, the following structure is of particular interest: all the DFAs to intersect operate in the binary alphabet (0|1), they can also use don't care symbols. Moreover, all the states have only one transition except for at most K special states, which have only two transitions (and these transitions are always 0 or 1, but no don't care). K is an integer, less than 10 for practical purposes. Also, they have a single accepting state. Additionally, it is known that the intersection is ALWAYS a DFA in form of &quot;strip&quot;, i.e., no branches as in the following image:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/GkTt9.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT:&lt;/strong&gt; Perhaps the description of the constraint on the input DFAs is not very clear. I will try to improve it in this paragraph. You have as input &lt;strong&gt;T&lt;/strong&gt; DFAs. Each of these DFAs operates only on the binary alphabet. Each of them has at most &lt;strong&gt;N&lt;/strong&gt; states. For each DFA, each of its states is one of the following:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) the accepting state (it is only one and there's no transition from it to any other state)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) a state with two transitions (0 and 1) to the same target state (the majority of the states is of this kind)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;3) a state with two transitions (0 and 1) to different target states (at most &lt;strong&gt;K&lt;/strong&gt; of this kind)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is guaranteed that there's only one accepting state and that there are at most &lt;strong&gt;K&lt;/strong&gt; states of type (3) in each input DFA. It is also guaranteed that the intersection DFA of all the input DFAs is a &quot;strip&quot; (as described above), of size less than &lt;strong&gt;N&lt;/strong&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT2:&lt;/strong&gt; Some additional constraints, as requested by D.W. in the comments:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The input DFAs are DAGs.&lt;/li&gt;&#xA;&lt;li&gt;The input DFAs are &quot;levelled&quot;, following the D.W. definition in the comments. Namely, you can assign different integers to every state in such a way that every transitions goes from an integer &lt;strong&gt;u&lt;/strong&gt; to an integer &lt;strong&gt;v&lt;/strong&gt;, such that &lt;strong&gt;u + 1 = v&lt;/strong&gt;.&lt;/li&gt;&#xA;&lt;li&gt;The number of accepting states for each input DFA, doesn't exceed &lt;strong&gt;K&lt;/strong&gt;.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Any ideas? Thanks.&lt;/p&gt;&#xA;" OwnerUserId="30584" LastEditorUserId="30584" LastEditDate="2015-01-06T01:05:00.890" LastActivityDate="2015-01-06T21:17:24.163" Title="DFA intersection algorithm for special cases" Tags="&lt;automata-theory&gt;&lt;time-complexity&gt;&lt;dfa&gt;" AnswerCount="1" CommentCount="15" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="28055" PostTypeId="1" AcceptedAnswerId="29101" CreationDate="2015-01-05T11:36:54.880" Score="5" ViewCount="178" Body="&lt;p&gt;I'm currently looking into the representation theory of &lt;a href=&quot;https://en.wikipedia.org/wiki/Scott_domain&quot;&gt;Scott domains&lt;/a&gt;. In his paper &quot;&lt;a href=&quot;https://zbmath.org/?q=an:0752.68054&quot;&gt;dI-Domains as prime information systems&lt;/a&gt;&quot; (1992), Guo-Qiang Zhang uses prime information systems to represent dI-domains. A &lt;em&gt;prime information system&lt;/em&gt; is an &lt;a href=&quot;https://en.wikipedia.org/wiki/Scott_information_system&quot;&gt;information system&lt;/a&gt; where additionally we have linearity and finiteness of entailment, in the following sense:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;$X \vdash b$ implies $\{a\} \vdash b$, for some $a \in X$, and&lt;/li&gt;&#xA;&lt;li&gt;the deductive closures $\overline{X} = \{b \mid X \vdash b\}$ are finite.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;If $A$ is a (prime) information system, write $Pt(A)$ for the &lt;em&gt;points&lt;/em&gt; (also &quot;elements&quot;, &quot;ideals&quot;) of $A$, that is, for the usual consistent and deductively closed (possibly infinite) sets of tokens in $A$; for the finite ones write $Pt_f(A)$. Then, a &lt;em&gt;stable approximable mapping&lt;/em&gt; between two prime information systems with carriers $A$ and $B$, according to Zhang, is a relation $r \subseteq Pt_f(A) \times B$, such that&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;if $(a_i,p_i) \in r$, for $i = 1, \ldots, m$ and $\bigcup_i a_i \in Con_A$, then $\{p_1, \ldots, p_m\} \in Con_B$,&lt;/li&gt;&#xA;&lt;li&gt;if $a \cup b \in Pt_f(A)$, and $(a, p) \in r$, $(b, p) \in r$, then $a=b$, and&lt;/li&gt;&#xA;&lt;li&gt;if $(a, p) \in r$ and $\{p\} \vdash_B q$, then $(b, q) \in r$, for some $b \subseteq a$.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Now in Definition 5.4 he writes:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Let $A = (A, Con_A, \vdash_A)$ and $B = (B, Con_B, \vdash_B)$ be prime information systems. A &lt;em&gt;molecule&lt;/em&gt; $m$ is a finite stable approximable mapping, such that for some $(a , p) \in m$, $b \subseteq a$ and $\{p\} \vdash q$, for any other $(b , q)$ in $m$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;He then uses molecules as tokens of an appropriate function space and goes on to show cartesian closure of the category of prime information systems with stable approximable mappings. My problem is that my intuition is too low to allow me to even parse the definition.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;My questions&lt;/strong&gt;: &lt;em&gt;What is the defining formula of a molecule, and in particular, how are these $b$'s quantified? What would be your intuition of a molecule?&lt;/em&gt;&lt;/p&gt;&#xA;" OwnerUserId="10146" LastEditorUserId="10146" LastEditDate="2015-01-05T11:43:24.350" LastActivityDate="2015-01-11T02:17:40.610" Title="What are Zhang's molecules?" Tags="&lt;denotational-semantics&gt;&lt;domain-theory&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="28056" PostTypeId="2" ParentId="2708" CreationDate="2015-01-05T16:24:32.963" Score="7" Body="&lt;p&gt;Somewhat late in the day but the following &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0022000000917252&quot;&gt;paper&lt;/a&gt; by Allender, Saks, Shparlinski proves that (among other lower bounds) that GCD is not in $\mathsf{AC}^0$ or $\mathsf{AC}^0[p]$ for any prime $p$. &lt;/p&gt;&#xA;" OwnerUserId="214" LastActivityDate="2015-01-05T16:24:32.963" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="28057" PostTypeId="2" ParentId="21435" CreationDate="2015-01-05T16:45:01.463" Score="2" Body="&lt;p&gt;Denoting the class of functions computed by branching programs of size $f(n)$ by $\text{BP}(f)$,&#xA;the best known bound seems to be the trivial $\text{DSPACE}(S(n)) \subseteq \text{BP}(2^{O(S(n))})$.&#xA;This matches the known inclusions $\text{DSPACE}(\log n) = \text{L} \subseteq \text{L}/poly = \text{BP}(poly)$; if a better bound were known then I would expect it to have been noted by Razborov in his FCT 1991 survey (&lt;a href=&quot;http://people.cs.uchicago.edu/%7Erazborov/files/fct.pdf&quot; rel=&quot;nofollow&quot;&gt;preprint&lt;/a&gt;), or in Jukna's 2012 BFC textbook.&lt;/p&gt;&#xA;" OwnerUserId="109" LastActivityDate="2015-01-05T16:45:01.463" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="28058" PostTypeId="2" ParentId="20587" CreationDate="2015-01-05T17:15:52.880" Score="6" Body="&lt;p&gt;A nice example is Tate et al.'s &lt;a href=&quot;http://www.cs.cornell.edu/%7Eross/publications/proofgen/&quot; rel=&quot;noreferrer&quot;&gt;&lt;em&gt;Generating Compiler Optimizations from Proofs&lt;/em&gt;&lt;/a&gt;. He uses pullbacks and pushouts as generalized unions and intersections, in categories where arrows are (IIRC) substitutions.&lt;/p&gt;&#xA;&lt;p&gt;Ross Tate claims (on the paper webpage) that details were overwhelming without the abstraction afforded by category theory. Personally, I'd like to submit as &amp;quot;suggestive evidence&amp;quot; (if there can be any evidence of such a claim) diagrams (6) and (7) in their paper — they look complex enough in diagrammatic form. Let me quote their comments inline.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Some have asked us why we abstracted our proof generalization technique at all, and why we used category theory as our abstraction. However, we actually designed the abstract algorithm first, using category theory, and then used that to figure out how to solve our concrete problem. We got stuck with the concrete problem, overwhelmed by the details and the variables, and any solution we could think of seemed arbitrary. In order to reflect and simplify, we decided to phrase our question categorically. This lead to a diagram of sources and sinks, so we just used pushouts and pullbacks to glue things together. The biggest challenge was coming up with pushout completions, rather than using some existing standard concept. The categorical formulation was easy to specify and reason about. Afterwards, we instantiated the abstract processes, such as pushouts, with concrete algorithms, such as unification, in order to produce our final implementation with strong generality guarantees.&lt;/p&gt;&#xA;&lt;p&gt;We have actually found this process of abstracting to category theory whenever we get stuck to be quite fruitful. Not only does it end up solving our concrete problem, but we end up with a better understanding of our own problem as well as an abstract solution which can be easily adapted to other applications. Thus, our experience suggests that category theory may be useful in constructing actual algorithms, in addition to being useful as a framework for formalization. We would be interested to know of other similar experiences, either positive or negative.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="989" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2015-01-05T17:15:52.880" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="28059" PostTypeId="2" ParentId="20587" CreationDate="2015-01-05T17:23:35.970" Score="5" Body="&lt;p&gt;A wide field of applications is in graph transformations (applied in model-driven engineering). Two relevant papers are (given with links to Google Scholar):&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://scholar.google.com/scholar?cluster=8332259365699881202&amp;amp;hl=en&amp;amp;as_sdt=0,5&quot; rel=&quot;noreferrer&quot;&gt;Tutorial introduction to graph transformation: A software engineering perspective&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://scholar.google.com/scholar?cluster=2396004333404064099&amp;amp;hl=en&amp;amp;as_sdt=0,5&quot; rel=&quot;noreferrer&quot;&gt;Algebraic Approaches to Graph Transformation-Part I: Basic Concepts and Double Pushout Approach.&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;EDIT: again, (part of) the basic idea is that pushouts act as a union with some glue. This allows defining &quot;rewrite rules&quot; for graphs — you match the left-hand side to the graph, and then glue the right-hand side to the (rest of) the graph in a corresponding manner. I'm afraid I can't add details because I've never gotten more than the intuition.&lt;/p&gt;&#xA;" OwnerUserId="989" LastActivityDate="2015-01-05T17:23:35.970" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="28061" PostTypeId="2" ParentId="28054" CreationDate="2015-01-06T00:23:04.640" Score="9" Body="&lt;p&gt;&lt;strong&gt;Yes&lt;/strong&gt;, there are some cases of the DFA non emptiness insersection problem that are inside P. My &lt;a href=&quot;http://www-etud.iro.umontreal.ca/~blondimi/doc/fr/msc.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;master's thesis&lt;/a&gt; is devoted to this question, but unfortunately it is in French. However, most of the results have appeared &lt;a href=&quot;http://www-etud.iro.umontreal.ca/~blondimi/doc/publications/BlondinKrebsMcKenzie2014.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;here&lt;/a&gt; in $[2]$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;When the alphabet is unary, then the problem is L-complete when each DFA has at most two final states, and NP-complete otherwise. Most of the other cases are restriction on the transition monoids of the automata. For example, for abelian group transition monoids, the problem is in $\text{NC}^3$ when each DFA has at most one final state, and NP-complete otherwise; for elementary 2-group transition monoids, the problem is $\oplus$L-complete when each DFA has at most two final states, and NP-complete otherwise.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Let me now address your more precise question, which can only be found in $[1]$. Suppose you are given DFAs working over $\{0,1\}$ and shaped as trees, i.e there exists a state $u$ (initial state) such that for each state $v$ there exists a unique path from $u$ to $v$. Then, deciding the intersection non emptiness is:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;L-complete for one final state in each DFA,&lt;/li&gt;&#xA;&lt;li&gt;NL-complete for two final states in each DFA, and&lt;/li&gt;&#xA;&lt;li&gt;NP-complete for three or more final states in each DFA.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;The hardness results still hold even if you &quot;fork&quot; respectively 0, 1 or 2 times (this is your $K$). Now if your DFAs are directed acyclic graphs instead of trees, then the problem is NP-complete even with one final state in each DFA and $K=2$; the reduction is quite straightforward and is from Monotone 1-in-3 3-SAT.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Therefore, &lt;strong&gt;no&lt;/strong&gt;, I don't think there is an efficient algorithm for your problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, if the number of automata is fixed, you might want to discuss with &lt;a href=&quot;https://cstheory.stackexchange.com/users/14207/michael-wehar&quot;&gt;Michael Wehar&lt;/a&gt; who has recently published $[3]$.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;EDIT: Since OP edited his question, let me clarify my answer with his new requirements. Consider the NP-complete problem &lt;em&gt;Monotone 1-in-3 3-SAT&lt;/em&gt; where you are given a formula in 3-CNF without negation, and where you have to determine whether there is an assignment that makes &lt;em&gt;exactly&lt;/em&gt; one variable true in each clause. You can reduce this problem to the non emptiness intersection problem as follows. For example, for the clause $x_2 \lor x_3 \lor x_5$, you build the following automaton:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\hskip2in$&lt;img src=&quot;https://i.stack.imgur.com/690EJm.png&quot; alt=&quot;reduction gadget&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that the automata are trees (and hence DAGs), are levelled, and have three final states. Actually, the three final states coud be merged into a single one, if one is satisfied with DAGs. Moreover, only two states have two (distinct) outgoing transitions.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://papyrus.bib.umontreal.ca/xmlui/handle/1866/8440?locale-attribute=en&quot; rel=&quot;nofollow noreferrer&quot;&gt;Michael Blondin. Complexité raffinée du problème d'intersection d'automates, M.Sc. thesis, Université de Montréal, 2012.&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://link.springer.com/article/10.1007%2Fs00037-014-0089-9&quot; rel=&quot;nofollow noreferrer&quot;&gt;Michael Blondin, Andreas Krebs et Pierre McKenzie. The Complexity of Intersecting Finite Automata Having Few Final States, Computational Complexity (CC), 2014.&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://link.springer.com/chapter/10.1007%2F978-3-662-43951-7_30&quot; rel=&quot;nofollow noreferrer&quot;&gt;Michael Wehar. Hardness Results for Intersection Non-Emptiness. ICALP, 2014.&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="508" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.743" LastActivityDate="2015-01-06T21:17:24.163" CommentCount="19" ContentLicense="CC BY-SA 3.0" />
  <row Id="28062" PostTypeId="1" CreationDate="2015-01-06T07:06:34.280" Score="0" ViewCount="147" Body="&lt;p&gt;How does one extend local checkability to quantum complexity classes like BQP? Or are quantum algortihms inherently holistic?&lt;/p&gt;&#xA;" OwnerUserId="30595" LastActivityDate="2015-01-21T10:04:13.437" Title="How does one extend local checkability to quantum complexity classes?" Tags="&lt;cc.complexity-theory&gt;&lt;quantum-computing&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="28066" PostTypeId="1" CreationDate="2015-01-06T18:35:26.760" Score="2" ViewCount="103" Body="&lt;p&gt;A computer scientist oriented toward applications gave me the following problem:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Given a positive integer $n&amp;gt;0$, an increasing function function $f$&#xA;  and a decreasing function $g$, both defined on $[1..n]$, compute the&#xA;  minimal index $i\in[1..n]$ such than $f(i)+g(i)$ is minimal among&#xA;  values $\{f(j)+g(j)\}_{j\in[1..n]}$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I named this problem &quot;Binary Sorted Min Sum&quot; for lack of a better name. The computational complexity of this problem in the worst case over instances of size $n$ is clearly $2n$ evaluations, $n-1$ comparisons, and $n$ additions, all within $O(n)$. A linear number of instances of this problem occur in the core of my colleague's solution, which complexity he analyzes as $O(n^2)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Inspired by the fact that many instances of this problem can be solved in sublinear time (e.g. when $f$ is increasing much faster than $g$ is decreasing, one can certify that the minimum is at index $1$ in one single comparison, 4 accesses and 2 sums), I got some interesting adaptive results, showing tight bounds within $O(\delta\lg(n/\delta)$ for some parameter $\delta\in[1..n]$ measuring the difficulty of the instance, implying both the $\Theta(n)$ bound in the worst case and the $\Theta(\lg n)$ bound in easy instances: it is actually quite similar (but not reducible, it seems) to the &quot;Binary Sorted Intersection&quot; problem which I studied previously.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A quick search on &quot;Binary Sorted Min Sum&quot; did not yield anything meaningful, yet the problem is quite simple, so I am wondering if someone introduced it before under another name?&lt;/p&gt;&#xA;" OwnerUserId="191" LastActivityDate="2015-01-06T18:35:26.760" Title="Is the problem &quot;Binary Sorted Min Sum&quot; already known under an other name?" Tags="&lt;ds.algorithms&gt;&lt;time-complexity&gt;" AnswerCount="0" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="29069" PostTypeId="1" CreationDate="2015-01-07T14:02:06.900" Score="3" ViewCount="130" Body="&lt;p&gt;In the paper &lt;a href=&quot;http://research.microsoft.com/en-us/um/people/lamport/pubs/interprocess.pdf&quot; rel=&quot;nofollow&quot;&gt;&quot;On Interprocess Communication&quot;&lt;/a&gt;, the author Leslie Lamport have developed a formalism for interprocess communication via shared registers based on lower-level, &lt;em&gt;non-atomic&lt;/em&gt; operations and have proposed the definitions of &lt;em&gt;safe, regular, and atomic&lt;/em&gt; registers. &lt;a href=&quot;http://research.microsoft.com/en-us/um/people/lamport/pubs/pubs.html#interprocess&quot; rel=&quot;nofollow&quot;&gt;Also Lamport's description for the &quot;interprocess&quot; publication.&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For &lt;em&gt;safe&lt;/em&gt; registers, a read that overlaps a write operation is allowed to return &lt;em&gt;any&lt;/em&gt; one of the possible values of the register.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My problem is &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;How practically relevant is this specification of &lt;em&gt;safe&lt;/em&gt; registers?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Particularly, is it possible for a read of an &lt;em&gt;actual register/memory unit&lt;/em&gt; in a multiprocessor computer to return an arbitrary value when it is concurrent with a write?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What about going to a lower level such as circuits/flip-flop?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In what sense, does a &lt;em&gt;safe&lt;/em&gt; register exist?&lt;/p&gt;&#xA;" OwnerUserId="12739" LastActivityDate="2015-01-07T14:02:06.900" Title="In what sense, does a safe register exist?" Tags="&lt;dc.distributed-comp&gt;&lt;concurrency&gt;&lt;ar.hardware-architecture&gt;" AnswerCount="0" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="29070" PostTypeId="2" ParentId="27927" CreationDate="2015-01-07T14:14:48.823" Score="6" Body="&lt;p&gt;The best reference is probably the book &lt;a href=&quot;http://www-igm.univ-mlv.fr/~berstel/LivreTransductions/LivreTransductions14dec2009.pdf&quot; rel=&quot;nofollow&quot;&gt;Rational transductions and context-free languages&lt;/a&gt; by J. Berstel.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First recall that a function $f$ from $A^*$ to $B^*$ is realized by a transducer (= non-deterministic FST) if and only if it is &lt;em&gt;rational&lt;/em&gt;, that is, if the set $\{(u, f(u)) \mid u \in A^* \}$ is a rational subset of $A^* \times B^*$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can find several other relevant characterizations of rational functions in Chapter 4 of Berstel's book.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;(Eilenberg 1974. See Prop. 4.1 and Corollary 4.3) A function from $A^*$ to $B^*$ is rational if and only if it can be realized by a normalized unambiguous transducer.&lt;/li&gt;&#xA;&lt;li&gt;(Schützenberger 1976. See theorem 4.5) A function is rational if and only if it admits a semimonomial representation.&lt;/li&gt;&#xA;&lt;li&gt;(Elgot and Mezei 1965. See Theorem 5.2) A function is rational if and only if it is the composition of a left sequential transduction by a right sequential transducer.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;See also A. Arnold and M. Latteux, &lt;a href=&quot;http://dx.doi.org/10.1016/0304-3975%2879%2990049-5&quot; rel=&quot;nofollow&quot;&gt;A new proof of two theorems about rational transductions&lt;/a&gt;, &lt;em&gt;Theoret. Comput. Sci&lt;/em&gt;. &lt;strong&gt;2&lt;/strong&gt; (1979), 261–263.&lt;/p&gt;&#xA;" OwnerUserId="17203" LastEditorUserId="6959" LastEditDate="2015-01-08T16:35:52.227" LastActivityDate="2015-01-08T16:35:52.227" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="29071" PostTypeId="1" CreationDate="2015-01-07T16:48:01.753" Score="4" ViewCount="268" Body="&lt;p&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/questions/2215/how-to-get-a-job&quot;&gt;This question&lt;/a&gt; contains some great answers on how to get a job. I wonder whether there are some significant differences if I will be looking for a position in Europe (in particular, UK and Germany) as opposed to in the US. As a PhD student in the US (who's neither a US nor an EU citizen, if that matters), should I do something differently? Some aspects:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Is there more/less weight placed in UK/Germany on professional services such as journal/conference reviewing?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Is there more/less weight placed in UK/Germany on publishing in journals as opposed to conferences?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Should I try to get to know more professors in UK/Germany through conferences? What about doing an internship or a research visit in UK/Germany?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Other differences are also very welcome. &lt;/p&gt;&#xA;" OwnerUserId="31611" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2015-01-07T22:03:21.860" Title="Faculty hiring differences between US and UK/Germany" Tags="&lt;soft-question&gt;&lt;advice-request&gt;&lt;career&gt;" AnswerCount="0" CommentCount="10" ClosedDate="2015-01-08T23:17:35.970" ContentLicense="CC BY-SA 3.0" />
  <row Id="29072" PostTypeId="2" ParentId="28046" CreationDate="2015-01-07T16:55:33.380" Score="6" Body="&lt;p&gt;In &lt;a href=&quot;http://ecommons.library.cornell.edu/bitstream/1813/6939/1/90-1099.pdf&quot; rel=&quot;nofollow&quot;&gt;Quadratic Programming is in NP&lt;/a&gt;, it is shown that a slight variant of this problem (QPL) is in NP. The question can be formulated as follows: does there exist a point $x \in \mathbb{R}^n$ such that $ Ax \leq b $ and $x^T Q x \leq K$, where $K$ is a rational number. In the section 2 of this paper, they prove that, when the minimum exists, then there is a minimum $x^*$ with a polynomial number of digits. Their proof is independent from $K$, so it directly applies to your formulation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The claim that $x^*$ has a polynomial number of digits is not enough, since you want the solution to be polynomial in $\varphi$ and $n$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In their proof, they define $x^*$ as a particular global minimum with the maximum number of active inequalities, and then, they construct a nonsingular system of linear equations and show that $x^*$ (or a projection of $x^*$) is its unique solution. Thanks to a theorem by Edmonds they conclude that $x^*$ has a polynomial number of digits.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since the system has a unique solution, $x^*$ is also the solution to a subsystem consisting of $n$ of the equations. At first sight, the projection of $x^*$ does not seem to be a problem, and all the coefficients of these equations can be kept integer and polynomial in $\varphi$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So that should reduce your question to the following one:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For systems of linear equations $Cx=d$ (where $C$ is a $n\times n$ integer matrix, and the maximal entry in $C$ and $d$ is $\varphi$) with a unique solution $x^*$, is it true that $x^*$ is polynomial in $n$ and $\varphi$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT&lt;/strong&gt;. As pointed out by Kristoffer Arnsfelt Hansen, it is of course useless to consider more than $n$ linear equations.&lt;/p&gt;&#xA;" OwnerUserId="30598" LastEditorUserId="30598" LastEditDate="2015-01-08T08:37:00.160" LastActivityDate="2015-01-08T08:37:00.160" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="29074" PostTypeId="1" CreationDate="2015-01-07T23:40:37.563" Score="1" ViewCount="104" Body="&lt;p&gt;I'm confused about something in the main proof in &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0304397500002644&quot; rel=&quot;nofollow&quot;&gt;this paper&lt;/a&gt; (sorry that it's behind a paywall, but I assume many people on here have access to such things through their university and my posting the paper somewhere accessible would be, you know, technically illegal). It's not that I think the authors made an error; I'm just brand new at this and there's a lot of stuff I don't understand. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The point in question is four pages into the paper (sorry), but I'll try to summarize it. First of all, this variation of the scheduling problem is $P2|r_j|C_{max}$, i.e. 2-machine scheduling with release dates and no preemption with the goal of minimizing the makespan. Also, you're allowed to delay the assignment of jobs as opposed to having to assign them immediately if a machine is available. (This allows the algorithm to let any additional jobs come in to better determine how to assign them.)  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The paper's claim is that its algorithm is ($1 + \alpha$)-competitive, $\alpha$ = 0.38197. The value of $\alpha$ is also used by the algorithm itself, since it waits $\alpha p_n$ ($p_n$ = the processing time of the last job started) before assigning each job. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The proof is by contradiction, where it takes $\sigma$ as the minimum schedule that makes the algorithm take longer than $1 + \alpha$ ($1$ being the length of the optimal offline schedule).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $j$ be the last job released when one of the machines is idle and no jobs are available. (Any time when both machines are idle can basically be ignored). Let $k$ be the job running when $j$ is released. If there's never a time when a machine is idle while there are no jobs available, let $r_j = C_k = 0$. ($r$ stands for release time; $C$ stands for completion time.) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $p$ equal any processing the optimal offline algorithm would need to do on previously released jobs at time $r_j$ (which may be 0).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;The paper states: &quot;Since $\sigma$ is a minumum size counterexample, $C_k \le (1 + \alpha)(r_j + p)$.&quot;&lt;/strong&gt;  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;This comes out of nowhere for me. Why isn't it conceivable that $C_k$ could be greater than $(1 + \alpha)(r_j + p)$? I get that the makespan of $\sigma$ is basically just over $(1 + \alpha)C_{max}(opt)$, but why would the completion time of any job, even a &quot;special&quot; one like $k$, fall under a similar restriction? What if, for instance, $C_k(\sigma)$ is way over $(1 + \alpha)(r_j + p)$, but nevertheless, for whatever reason, $\sigma$ really catches up after that point and still finishes at $(1 + \alpha)C_{max}(opt)$? I suppose that seems unlikely, but why isn't it possible?&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I sense that I'm being a bit picky, but on the other hand, I also sense that there's something I'm fundamentally not understanding. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Sorry this is so long. And sorry for breaking whatever forum rule or guideline I've no doubt violated.&lt;/p&gt;&#xA;" OwnerUserId="29041" LastEditorUserId="29041" LastEditDate="2015-01-08T01:19:07.937" LastActivityDate="2015-01-08T01:19:07.937" Title="Minimum size counter-example in a 2-machine scheduling problem proof" Tags="&lt;proofs&gt;&lt;online-algorithms&gt;&lt;scheduling&gt;" AnswerCount="0" CommentCount="5" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="29075" PostTypeId="2" ParentId="25838" CreationDate="2015-01-08T13:14:18.970" Score="9" Body="&lt;p&gt;The first obvious reason why linear languages were introduced is that mathematicians can hardly resist, facing a lateralized notion, to consider the symmetrical version as well. For instance, in algebra, you deal with left or right inverses, but also with inverses. In ring theory, you consider left or right ideals, but also ideals, etc.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since left linear and right linear grammars define regular languages, studying linear grammars just came as a natural question to study in the early days of formal language theory. Furthermore, as you mentioned in your question, linear languages appeared to be a natural intermediate class between regular and context-free languages.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A nice characterization of linear languages was given by Arnold L. Rosenberg: &lt;a href=&quot;http://ac.els-cdn.com/S0019995867800068/1-s2.0-S0019995867800068-main.pdf?_tid=1ea3f9ba-9734-11e4-9805-00000aab0f6c&amp;amp;acdnat=1420721263_86cf30224bbac3aea0e269ca01d4760c&quot;&gt;A machine realization of the linear context-free languages&lt;/a&gt;, &lt;em&gt;Information and Control&lt;/em&gt; &lt;strong&gt;10&lt;/strong&gt; (1967) 175–188. The formulation below is Proposition V.6.5 in J. Berstel's book, &lt;em&gt;Transduction and Context-free Languages&lt;/em&gt;, Teubner 1979.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A language $L$ of $A^*$ is linear if and only if there exists a rational subset $R$ of $A^* \times A^*$ such that &#xA;$$&#xA;L = \{ u\tilde v \mid (u, v) \in R \}&#xA;$$&#xA;where $\tilde v$ denotes the reversal of $v$. This result shows that, in a very loose sense, linear languages are a generalization of the language of palindromes.&lt;/p&gt;&#xA;" OwnerUserId="17203" LastActivityDate="2015-01-08T13:14:18.970" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="29078" PostTypeId="1" CreationDate="2015-01-08T22:02:09.900" Score="2" ViewCount="219" Body="&lt;p&gt;I am in general interested in a more formal (better be logical, as in related to mathematical logic) definition of a &lt;strong&gt;query.&lt;/strong&gt;  As an example, there's Prolog operator &lt;code&gt;?-&lt;/code&gt; which takes as its argument a sentence in first order logic + meta-logical operators specific to Prolog and produces an &quot;answer&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm interested to know what kind of logic deals with this (kind of) operator.&lt;/p&gt;&#xA;" OwnerUserId="27160" LastActivityDate="2015-01-12T16:17:47.467" Title="What is the formalism behind ?- (query) in Prolog?" Tags="&lt;pl.programming-languages&gt;&lt;formal-modeling&gt;&lt;logic-programming&gt;" AnswerCount="2" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="29080" PostTypeId="1" CreationDate="2015-01-08T22:26:48.850" Score="3" ViewCount="169" Body="&lt;p&gt;How one defines the notion of isomorphism class in type theory? For concreteness I will describe what I mean with an example in Coq. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose I have a record ToyRec:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;Record ToyRec {Labels : Set} := {&#xA;X:Set;&#xA;r:X-&amp;gt;Labels&#xA;}.&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;And a definition of isomorphisms between two objects of type ToyRec, &#xA;stating that two objects T1 and T2 are isomorphic if there exists a &#xA;bijection f:T1.(X)-&gt;T2.(X) which preserves the label of mapped elements. &lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;Definition Isomorphic{Labels:Set} (T1 T2 : @ToyRec Labels) : Prop :=&#xA;exists f:T1.(X)-&amp;gt;T2.(X), (forall x1 x2:T1.(X), f x1 &amp;lt;&amp;gt; f x2) /\ &#xA;                         (forall x2:T2.(X), exists x1:T1.(X), f x1 = f x2) /\&#xA;                         (forall x1:T1.(X) T1.(r) x1 = T2.(r) (f x1)).&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Now I would like to define a function that takes an object T1 and returns a set &#xA;containing all objects that are isomorphic to T1. &lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;g(T1) = {T2 | Isomorphic T1 T2}&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;So I have some closely related questions: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) How one does such a thing in type theory, or more specifically, in coq? I know that I might be reasoning too set theoretically here, but what would be the right type theoretic notion of isomorphism class? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) More basically, how one would define a set (or type) of all elements  satisfying a given property P? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;3) Does Voevodsky's univalence axiom helps formalizing this notion?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;obs: I posted a similar question in stackoverflow, but I believe that cstheory is more appropriate, since this question is more about type theory than coq syntax.&lt;/p&gt;&#xA;" OwnerUserId="31626" LastActivityDate="2015-01-08T22:26:48.850" Title="Type theoretic equivalent of isomorphism class" Tags="&lt;type-theory&gt;&lt;coq&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="29083" PostTypeId="2" ParentId="18846" CreationDate="2015-01-09T12:18:23.423" Score="8" Body="&lt;p&gt;&lt;strong&gt;Iterated maps on the interval (description from &lt;a href=&quot;http://perso.ens-lyon.fr/pascal.koiran/problems.html&quot;&gt;here&lt;/a&gt;):&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(very related to the problem proposed by Magnus Find) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $F$ be a piecewise-linear map on the unit interval and $x$ a point in this interval.&#xA;We consider the sequence of iterates starting from $x$: $x$, $F(x)$, $F(F(x))$, and so on.&#xA;Given $F$ and $x$, does this sequence reach a fixed point of $F$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Decidability is also unknown for the reachability variant: given $F$ and $x$, and $y$, does the sequence starting from $x$ reach $y$ in a finite number of iterations?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is open even when $F$ has only two linear pieces.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Remark: for this problem to make sense, $F$ and $x$ (and $y$) must have a finite description.&#xA;We assume here that $x$ is rational, and that the slopes and breakpoints of $F$ are also rational.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A reference: &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.220.7864&quot;&gt;Asarin 2011&lt;/a&gt;. &lt;/p&gt;&#xA;" OwnerUserId="30598" LastEditorUserId="30598" LastEditDate="2015-01-09T12:44:38.860" LastActivityDate="2015-01-09T12:44:38.860" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="29084" PostTypeId="1" CreationDate="2015-01-09T12:23:58.887" Score="2" ViewCount="310" Body="&lt;p&gt;What is the space complexity of the CTL model checking algorithm via labeling without fairness (see e.g. &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0262032708&quot; rel=&quot;nofollow&quot;&gt;Model Checking by Clarke at al&lt;/a&gt; Section 4.1 or &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/026202649X&quot; rel=&quot;nofollow&quot;&gt;Principles of Model Checking by Baier et al&lt;/a&gt; Section 6.4) that has time complexity $O(\mathit{propertyFormulaSize} \cdot (\mathit{numberOfStates} + \mathit{numberOfTransitions}))$? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a citable reference?&lt;/p&gt;&#xA;&#xA;&lt;h3&gt;Details&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;Is the space complexity of this algorithm $\Theta(\mathit{numberOfStates} \cdot (\mathit{propertyFormulaSize} + \mathit{numberOfTransitions}))$ or smaller, e.g. $\Theta(\mathit{numberOfStates} \cdot (\mathit{propertyFormulaSize} + \mathit{ld}(\mathit{numberOfTransitions})))$ by smartly iterating over the transitions without storing them while sustaining time complexity $O(\mathit{propertyFormulaSize} \cdot (\mathit{numberOfStates} + \mathit{numberOfTransitions}))$?&lt;/p&gt;&#xA;" OwnerUserId="6424" LastEditorUserId="6424" LastEditDate="2015-01-13T10:22:00.727" LastActivityDate="2015-01-13T10:26:41.520" Title="What is the space complexity of CTL model checking?" Tags="&lt;ds.algorithms&gt;&lt;model-checking&gt;&lt;space-complexity&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="29085" PostTypeId="2" ParentId="29084" CreationDate="2015-01-09T12:30:59.610" Score="5" Body="&lt;p&gt;In general, CTL model checking is P-complete. Since we think that $L\neq P$ (and moreover $NL\neq P$), it is unlikely that an algorithm with logarithmic space exists. It is also unlikely that a sub-polynomial space algorithm exists, for similar reasons of common belief.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I don't know of exact space-optimizations for the problem, but in general - yes, you need to mark each state with a formula, so naively you need the size you suggest. It may be the case that you can reduce the formula by encoding it more succinctly, but it hasn't attracted attention in research.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can start from &lt;a href=&quot;http://www.lsv.ens-cachan.fr/Publis/PAPERS/PDF/Sch-aiml02.pdf&quot;&gt;this survey&lt;/a&gt; for citations.&lt;/p&gt;&#xA;" OwnerUserId="7531" LastActivityDate="2015-01-09T12:30:59.610" CommentCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="29086" PostTypeId="2" ParentId="19839" CreationDate="2015-01-09T15:23:06.927" Score="8" Body="&lt;p&gt;Thanks for the question; I had similar questions few years ago, before starting in research (I'm not necessarily assuming that's your case).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I've looked at a couple of the links, and they don't really look like research papers in form; I mostly can't really tell if their technical content could be made into a paper because I'm not an expert in the field, but I'm guessing &quot;no&quot;. If you compare your links to a paper, you'll notice several differences. But highlighting them and their rationale might help.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The key concepts are:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Scientists learn new knowledge for humankind, and then share what they learn through research papers.&lt;/li&gt;&#xA;&lt;li&gt;Moreover, we live in information overload, so readers only have time for the most important knowledge.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;As a consequence, research papers have some key features.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;A research paper contributes new knowledge in a field (&lt;em&gt;novelty&lt;/em&gt;). To convince readers of this new information, it provides &lt;em&gt;appropriate evidence&lt;/em&gt; to argue for it. What's &lt;em&gt;appropriate evidence&lt;/em&gt; varies depending on the field and on what the paper &lt;em&gt;claims&lt;/em&gt;.&lt;/li&gt;&#xA;&lt;li&gt;In fact, since a paper must be novel, it must also argue that its content is novel (though that's done somewhat implicitly). That's done by comparing to &lt;em&gt;related works&lt;/em&gt; in the field; if another work looks similar to a submission, the author must explain what's the novelty in his work. Moreover, no paper is entirely novel, so a paper must also say what was already known by citing its invention (except for things that are standard). As a rule, technical articles don't do that; they typically don't claim to be novel. Sometimes the author invented the technique by himself, but it was already known.&lt;/li&gt;&#xA;&lt;li&gt;Good call for papers mention the criteria for judging papers — &lt;a href=&quot;http://2014.splashcon.org/track/oopsla2014#Call-for-Papers&quot;&gt;this one&lt;/a&gt; mentions &lt;em&gt;novelty&lt;/em&gt;, &lt;em&gt;importance&lt;/em&gt;, &lt;em&gt;evidence&lt;/em&gt; and &lt;em&gt;clarity&lt;/em&gt;.&lt;/li&gt;&#xA;&lt;li&gt;A &lt;em&gt;good&lt;/em&gt; research paper should also contribute knowledge that is &quot;interesting&quot;, and explain it clearly to the reader. What's interesting varies according to the publication venue.&lt;/li&gt;&#xA;&lt;li&gt;In fact, my favorite intro to research in book form is &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0226065669&quot;&gt;The craft of research&lt;/a&gt;, though what I've read is parts of &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0226816389&quot;&gt;this condensed version&lt;/a&gt;. I'd recommend to start reading it from the Amazon preview.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;h1&gt;Example&lt;/h1&gt;&#xA;&#xA;&lt;p&gt;The above is not really specific to computer science, so let's have an example.&#xA;Since most of your examples are in algorithms, I'll try to show what the above means for an algorithm paper (even though I'm not an expert in that area, so I hope I won't get it too wrong). Such a paper might claim that some algorithm is fast, and prove that through complexity analysis or experiments. That paper better claim that the algorithm computes something useful (otherwise, who cares that it's fast?), often because it's &lt;em&gt;correct&lt;/em&gt;; appropriate evidence is then a correctness proof. Moreover, this algorithm probably reuses ideas already known to experts (which should be cited), but has some key differences from any similar works (which should also be cited) — maybe it has the same complexity but is more general, or is simpler to implement, or has any other virtues that experts have agreed are interesting.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By contrast, a paper on, say, programming languages would have different claims and different evidence, but would still follow the same basic structure.&lt;/p&gt;&#xA;" OwnerUserId="989" LastActivityDate="2015-01-09T15:23:06.927" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="29088" PostTypeId="1" CreationDate="2015-01-09T15:59:02.583" Score="1" ViewCount="117" Body="&lt;p&gt;I am pretty sure this problem has a name, or it can be reworded so it does. We are given a set $X$ and a family $\mathcal F$ of subsets of $X$, the problem is to find a subset $B$ such that $B\cap A\neq \emptyset$ for all $A\in \mathcal F$.&lt;/p&gt;&#xA;" OwnerUserId="13448" LastEditorUserId="13448" LastEditDate="2015-01-09T21:01:31.963" LastActivityDate="2015-01-09T21:01:31.963" Title="Does this problem have a name? Finding a subset intersecting all subsets of a family" Tags="&lt;co.combinatorics&gt;" AnswerCount="0" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="29089" PostTypeId="1" AcceptedAnswerId="29090" CreationDate="2015-01-09T16:22:43.003" Score="3" ViewCount="244" Body="&lt;p&gt;let $L$ be a regular language defined by a FSM over binary symbols $\{0,1\}$. consider a function $f(x)$ on words/ strings that computes &quot;bit density&quot;, defined as the number of $1$'s in a word (&lt;a href=&quot;http://en.wikipedia.org/wiki/Hamming_weight&quot; rel=&quot;nofollow&quot;&gt;&quot;Hamming weight&quot;&lt;/a&gt;) divided by the word length.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;what is an algorithm to compute $\max_{x \in L} f(x)$?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;there is a simple randomized/ estimation algorithm that computes $f(x)$ over random words; am looking for a deterministic one. note that $f(x)$ evaluated on the shortest word in $L$ is not necessarily the same as the global minimum. am also interested in other generalizations of $f(x)$ that are based on similar &quot;simple word metrics&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;bkg: this question arose in studying &amp;amp; idea in attacking an old open &lt;a href=&quot;http://en.wikipedia.org/wiki/Collatz_conjecture&quot; rel=&quot;nofollow&quot;&gt;number theoretic problem&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2015-01-10T07:10:19.113" Title="computing maximal bit density over a FSM" Tags="&lt;reference-request&gt;&lt;co.combinatorics&gt;&lt;automata-theory&gt;&lt;regular-language&gt;&lt;upper-bounds&gt;" AnswerCount="2" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="29090" PostTypeId="2" ParentId="29089" CreationDate="2015-01-09T16:55:38.847" Score="11" Body="&lt;p&gt;First, you mean &quot;sup&quot; rather than &quot;max&quot;, because it is easy to construct examples of regular languages, such as 00(011)*00  where there is no max.  (The sup may not be attained.)  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Second, by &quot;FSM&quot; I assume you mean finite automaton.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then I claim that either the maximum bit density is achieved by a word of length &amp;lt; n, the number of states, or it is given by the maximum bit density over a loop of size at most n.&#xA;This means there are only finitely many cases to check, for each DFA.  Probably with a bit more work, one can get a polynomial-time algorithm out of it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To see the claim, first note that if we compute the bit density of the sequence of words&#xA;$(u v^i w)_{i \geq 0}$ then this sequence is either (a) strictly increasing, (b) strictly decreasing, or (c) constant.  If the maximum bit density is attained and occurs at a shortest word x of length $&amp;gt;= n$, by the pumping lemma we can write $x = uvw$ where $|uv| \leq n$.  In each case we get a contradiction.  In (a) there are words with higher bit density, like $uv^2w$; in (b) there is a word with higher bit density, namely $uw$, and in (c) there is a shorter word with the same bit density.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The remaining case is that the maximum density is not attained.  A slightly more complicated argument, almost exactly the same as in my paper with Schaeffer, then proves the claim about the loops.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The Critical Exponent is Computable for Automatic Sequences. &#xA;Luke Schaeffer, Jeffrey Shallit &#xA;Int. J. Found. Comput. Sci. Vol. 23 No. 8 Pg. 1611-1626&lt;br&gt;&#xA;Year: 2012 &lt;/p&gt;&#xA;" OwnerUserId="3227" LastActivityDate="2015-01-09T16:55:38.847" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="29091" PostTypeId="2" ParentId="19652" CreationDate="2015-01-09T17:12:28.243" Score="4" Body="&lt;p&gt;This answer might come late, but there's a work by Gavin Lowe: &quot;Concurrent Depth-First Search Algorithms&quot;, Proceedings of TACAS 2014, p. 202--216, Volume 8413 of LNCS, Springer that has descriptions for parallel algorithms for computing strongly connected components, lasso-shaped paths and finding nodes that are part of a cycle.&lt;/p&gt;&#xA;" OwnerUserId="31635" LastActivityDate="2015-01-09T17:12:28.243" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="29093" PostTypeId="2" ParentId="29089" CreationDate="2015-01-10T07:10:19.113" Score="3" Body="&lt;p&gt;The supremum bit density will either be achieved by a finite word $v$ in the language, or by the limiting bit density of some sequence $u v w, u v^2 w, u v^3 w, \ldots$ of words in the language, which equals the bit density of $v$. In both cases, we have that $|v| \leq n$ without loss of generality, where $n$ is the number of states in the finite automaton.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Below I give you a polytime algorithm to find $v$. To make the algorithm simpler, I assume the automaton is deterministic. This isn't really essential.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Algorithm:&lt;/strong&gt; Find $v$.&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;Let {1,2,...,n} be the set of states.&#xA;Let delta be the transition functor.&#xA;Let 1 be the initial state.&#xA;Let F be the set of accepting states.&#xA;Let X be the set of states reachable from the initial state.&#xA;Let Y be the set of states that can reach an accepting state.&#xA;&#xA;Let A be an (n+1)-by-(n+1)-by-(n+1) array of strings or NULL.&#xA;Set A[i,i,0] = &quot;&quot; for all i in {1,2,...,n}.&#xA;Set A[i,j,0] = NULL for all i != j in {1,2,...,n}.&#xA;For k in {1,2,...,n} do:&#xA;    For i in {1,2,...,n} do:&#xA;        For j in {1,2,...,n} do:&#xA;            Let W0 = &quot;0&quot; ++ A[delta(i,0), j, k-1]  (or NULL, if A[delta(i,0), j, k-1] is NULL).&#xA;            Let W1 = &quot;1&quot; ++ A[delta(i,1), j, k-1]  (or NULL, if A[delta(i,0), j, k-1] is NULL).&#xA;            If density(W0) &amp;gt; density(W1) then:     (let density(NULL) = -1 by convention)&#xA;                Set A[i,j,k] = W0.&#xA;            Else:&#xA;                Set A[i,j,k] = W1.&#xA;&#xA;Return highest density non-NULL word&#xA;    in     { A[1,j,k] : j in F,              k in {1, ..., n} }&#xA;    or in  { A[j,j,k] : j in X intersect Y,  k in {1, ..., n} }.&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;The idea behind the algorithm is that &lt;code&gt;A[i,j,k]&lt;/code&gt; stores the highest density path from state &lt;code&gt;i&lt;/code&gt; to state &lt;code&gt;j&lt;/code&gt; with length &lt;code&gt;k&lt;/code&gt;. We build up this table from &lt;code&gt;k=0&lt;/code&gt; to &lt;code&gt;k=n&lt;/code&gt;, and then pick the highest density &lt;code&gt;v&lt;/code&gt; that matches our criteria (either it is a word in the language, or it is a loop in some word in the language).&lt;/p&gt;&#xA;" OwnerUserId="7577" LastActivityDate="2015-01-10T07:10:19.113" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="29094" PostTypeId="1" CreationDate="2015-01-10T11:28:43.390" Score="12" ViewCount="275" Body="&lt;p&gt;Can the majority of $n$ bits be computed by a depth 2 formula all of whose gates compute the majority of $m$ bits where $m=O(n^c)$ for a constant $c&amp;lt;1$? Such a formula contains $m+1$ gates and $m^2$ leaves so $c$ must be at least $1/2$. I assume that the leaves can only be labeled by variables (without negations), but it would be also interesting to know the answer if we allow also negated variables and constants.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Two examples of such formulas are given below.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$n=7$, $m=5$: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/5QnvG.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$n=9$, $m=7$:&#xA;&lt;img src=&quot;https://i.stack.imgur.com/uYhVa.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;" OwnerUserId="1650" LastEditorUserId="1650" LastEditDate="2015-01-11T10:55:32.393" LastActivityDate="2015-01-11T10:55:32.393" Title="Computing $\operatorname{MAJ}_n$ by $\operatorname{MAJ}_m$ in depth 2" Tags="&lt;cc.complexity-theory&gt;&lt;circuit-complexity&gt;&lt;boolean-functions&gt;&lt;boolean-formulas&gt;&lt;circuit-depth&gt;" AnswerCount="0" CommentCount="7" FavoriteCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="29098" PostTypeId="1" CreationDate="2015-01-10T22:06:22.600" Score="5" ViewCount="243" Body="&lt;p&gt;A Boolean function $f: \{0, 1\}^n \rightarrow \{0, 1\}$ admits a canonical graphical representation in terms of a reduced ordered binary decision diagram (ROBDDs or BDDs for short). There are other variants and derivatives such as zero-suppressed BDDs, algebraic and multi-terminal decision diagrams, as well as propositional DAGs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The lattice or Boolean-algebraic structure of the set $\{0, 1\}^n$ might also serve as a foundation for a (not necessarily efficient) graphical representation of functions $f: \{0, 1\}^n \rightarrow \{0, 1\}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I just need to know about other graphical (or lattice-based) representations of Boolean functions (or, more generally, functions into finite sets) that may be less popular than BDDs, possibly because they turned out to be inefficient or because they apply only to restricted families of functions (e.g., isotone or linearly separable functions), etc.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The literature of these graphical representations (and their applications) is vast and it is really hard (but still very useful) to know about less popular ones (at least to avoid their pitfalls).&lt;/p&gt;&#xA;" OwnerUserId="17514" LastEditorUserId="17514" LastEditDate="2015-01-11T18:40:22.197" LastActivityDate="2015-01-11T18:40:22.197" Title="Less known graphical representations of Boolean functions" Tags="&lt;graph-theory&gt;&lt;boolean-functions&gt;&lt;lattice&gt;&lt;binary-decision-diagrams&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="29100" PostTypeId="2" ParentId="29078" CreationDate="2015-01-10T23:00:12.557" Score="4" Body="&lt;p&gt;Prolog embodies the idea of &lt;strong&gt;computation as proof search&lt;/strong&gt;. That is: a program is a formula which we would like to satisfy, the computation is the proof search, and the result is the witness for the formula.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To make this idea work we need to reformulate the rules of first-order logic so that they can be read as instructions for execution of a proof search. We may have to give up certain essentially non-computational parts of logic, such as excluded middle. We may further have to restrict the formulas that are allowed to appear, or else we will get something that looks like a general theorem prover insetad of a programming language.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I recommend chapter 8 of Frank Pfenning's notes on &lt;a href=&quot;http://www.cs.cmu.edu/~twelf/notes/cd.pdf&quot; rel=&quot;nofollow&quot;&gt;Computation and Deduction&lt;/a&gt; where these ideas are explained in detail.&lt;/p&gt;&#xA;" OwnerUserId="705" LastActivityDate="2015-01-10T23:00:12.557" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="29101" PostTypeId="2" ParentId="28055" CreationDate="2015-01-11T02:17:40.610" Score="2" Body="&lt;p&gt;Restating the definition to make the quantifiers easier to understand:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;A &lt;em&gt;molecule&lt;/em&gt; is a finite stable approximable mapping, such that there exists a largest pair $(a,p) \in m$, such that for all other pairs $(b,q) \in m$ we have $b \subseteq a$ and $\{p\} \vdash q$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;In other words, a molecule is a mapping that closes off neatly, having a largest pair.&lt;/p&gt;&#xA;" OwnerUserId="7577" LastActivityDate="2015-01-11T02:17:40.610" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="29102" PostTypeId="1" AcceptedAnswerId="29104" CreationDate="2015-01-11T09:40:00.903" Score="1" ViewCount="861" Body="&lt;p&gt;According to Baker, Gill, Solovey where is an oracle A in EXP, so $P^A$ = $NP^A$. But is there an oracle B in EXP, what $P^B$ $\ne$ $NP^B$?&lt;/p&gt;&#xA;" OwnerUserId="29285" LastActivityDate="2015-01-11T13:24:36.837" Title="Is where an oracle B in EXP that $P^B$ $ \ne$ $NP^B$?" Tags="&lt;p-vs-np&gt;" AnswerCount="1" CommentCount="2" ClosedDate="2015-01-12T09:27:54.217" ContentLicense="CC BY-SA 3.0" />
  <row Id="29104" PostTypeId="2" ParentId="29102" CreationDate="2015-01-11T13:24:36.837" Score="1" Body="&lt;p&gt;Yes, the Baker-Gill-Solovay B oracle is itself in EXP.&lt;/p&gt;&#xA;" OwnerUserId="1338" LastActivityDate="2015-01-11T13:24:36.837" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="29105" PostTypeId="1" CreationDate="2015-01-11T22:33:33.593" Score="2" ViewCount="100" Body="&lt;p&gt;I look for a mathematical model that can accommodate, analyze and suggest optimizations for a system that can be humanly described as message passing black box programs to which where optimal message directions shall be suggested depending on their reactions to different messages.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;System description:&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;We have a graph. Its nodes can appear and disappear in time (we know only if node is alive at a discreet moment of time). We can assume that all nodes can be connected one to another via $N $ types of connections (message passing channels and patterns) any node to any node alike ZeroMQ. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Nodes send messages to one to another, messages are different, we know some hash function-based signature for each message and its size. We have f(size,t,c) that describes how fast a message can be passed from one node to another, it uses message size, current time, and c for size of all other messages being sent to this node concurrently.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Each node has a set $M $ of parameters describing their state given via monitoring utilities. We do not know lows of how parameters change, but we know that they change as time goes on and new messages arrive so we can try to approximate them for each node looking at incoming messages and time.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Task at hand&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;A node can be called &quot;useful&quot; if it receives and sends as much messages as possible, while its values of set M are as low as possible, or if it sends and receives none messages and values of set M are as low as possible.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We cannot control when a node sends a new message we can only tell to the node having current system time, message hash and size where to send it. Our task is to make as much nodes useful as possible.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I seek for a theoretical studies that encountered/solved such or similar problem. At least mathematical models which allows such problem to be solved in your opinion. So a name of the theory + reference to a paper with a model would be the answer.&#xA;So what game or any other mathematical model can suggest to which node to send the next message (to make whole system as &quot;useful&quot; as possible)?&lt;/p&gt;&#xA;" OwnerUserId="30564" LastActivityDate="2015-01-11T22:33:33.593" Title="What mathematical models can analyze and optimize such message passing system?" Tags="&lt;graph-algorithms&gt;&lt;machine-learning&gt;&lt;gt.game-theory&gt;&lt;network-modeling&gt;" AnswerCount="0" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="29108" PostTypeId="1" AcceptedAnswerId="29109" CreationDate="2015-01-12T07:35:54.593" Score="7" ViewCount="524" Body="&lt;p&gt;Consider the following $\mathrm{ExactCover}$ problem: Given a collection $\mathcal{S}$ of subsets of a universe set $U$ and an integer $K$, find whether there exists a subcollection $\mathcal{S}^* \subseteq \mathcal{S}$ such that $|\mathcal{S}^*| = K$ and such that each element of $U$ is contained by exactly one subset from $\mathcal{S}^*$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is parameterized complexity of the $\mathrm{ExactCover}$ problem for the parameter $K$ (the number of sets used in coverage)? It is known that  $\mathrm{SetCover}$ is $\mathrm{W}[2]$-complete, but is there anything known about $\mathrm{ExactCover}$ for $K$?&lt;/p&gt;&#xA;" OwnerUserId="20798" LastActivityDate="2015-01-12T17:31:30.607" Title="Parameterized complexity of Exact Cover" Tags="&lt;parameterized-complexity&gt;&lt;set-cover&gt;&lt;exact-cover&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="29109" PostTypeId="2" ParentId="29108" CreationDate="2015-01-12T12:20:50.100" Score="7" Body="&lt;h2&gt;Correction:&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;I have claimed (see below) that &quot;Independent Dominating Set&quot; is a special case of ExactCover. This claim was wrong, as two vertices in the ind-dom set may have overlapping neighborhoods.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In fact, &quot;Exact Cover&quot; is contained in W[1].&#xA;It is recognizable by a tail-nondeterministic RAM (as introduced by Flum &amp;amp; Grohe), and therefore lies in W[1]:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;In the preprocessing phase, construct and store a 2-dimensional table&#xA;that states for every two subsets $S_i$ and $S_j$ in $S^*$ whether they overlap.&#xA;Furthermore, construct a second table that stores for every subset $S_i$ in $S^*$ its cardinality. This clearly can be done in polynomial time.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;In the guessing phase, guess a system of $k$ (indices of) subsets in $S^*$. This clearly can be done in $O(f(k))$ time on a RAM.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;In the verification phase, first check whether any two guessed subsets overlap, by looking up the 2-dimensional table. Then check whether the total size of all guessed subsets equals $|U|$. (The first check guarantees that every element of $U$ is covered at most once, and the second check guarantees that it is covered at least once.) All this can be done in $O(g(k))$ time on a RAM.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;h2&gt;Correct answer:&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;ExactCover is W[1]-complete. The above discussion shows containment in W[1].&#xA;Furthermore, ExactCover contains the W[1]-complete PerfectCode problem as a special case. (Given a graph $G$ and an integer $k$. Does $G$ contain a subset $C$ of $k$ vertices, such that every vertex in $G$ is contained in the closed neighborhood of exactly one vertex in $C$?)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;R.G. Downey, M.R. Fellows&#xA;Fixed-parameter tractability and completeness. II. On completeness for W[1]&#xA;Theoretical Computer Science 141 (1995), pp. 109–131&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;h2&gt;Old (wrong) answer, left for reference:&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;&quot;Independent Dominating Set&quot; is W[2]-complete, and a special case&#xA;of your ExactCover problem:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;R.G. Downey and M.R. Fellows. &#xA;Fixed-parameter tractability and completeness. &#xA;Congressus Numerantium 87:161–178, 1992.&lt;/p&gt;&#xA;" OwnerUserId="31660" LastEditorUserId="3168" LastEditDate="2015-01-12T17:31:30.607" LastActivityDate="2015-01-12T17:31:30.607" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="29110" PostTypeId="2" ParentId="6139" CreationDate="2015-01-12T14:45:31.927" Score="2" Body="&lt;p&gt;The solution of the restricted star-height problem inspired the rich theory of regular cost functions (by Colcombet), which in turn helped to solve other decidability problems and offers new tools to attack open problems. This theory is still developing and was extended to infinite words, finite trees, infinite trees, with its own set of deep results and open problems.&#xA;Here is a  &lt;a href=&quot;http://www.liafa.univ-paris-diderot.fr/~colcombe/Publications/ICALP09-colcombet.pdf&quot; rel=&quot;nofollow&quot;&gt;seminal paper&lt;/a&gt; of the  theory, and a &lt;a href=&quot;http://www.liafa.univ-paris-diderot.fr/~colcombe/bibliography_en.html&quot; rel=&quot;nofollow&quot;&gt;bibliography&lt;/a&gt;, from Colcombet's website.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So while it is not directly an application of generalized star-height, it shows that progressing on seemingly useless problems such as star-height is likely to mean better understanding of regular languages, and yield new results on different problems.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Reference : Thomas Colcombet. “The theory of stabilisation monoids and regular cost functions”. In: ICALP 2009&lt;/p&gt;&#xA;" OwnerUserId="8953" LastEditorUserId="8953" LastEditDate="2015-01-12T15:05:12.323" LastActivityDate="2015-01-12T15:05:12.323" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="29111" PostTypeId="1" AcceptedAnswerId="29122" CreationDate="2015-01-12T15:14:16.947" Score="3" ViewCount="455" Body="&lt;p&gt;Let $n$ be a positive integer and $N = 2^n$. The Hadamrd code of &quot;block length&quot; $N$ can be generated using the inner product $f_u(x) = \langle u,x \rangle$ mod $2$ for all $u \in \{0,1\}^n$. It is straight forward to show that two different elements of the Hadamard code differ on exactly a fraction of $1/2$ of their values, e.g. their relative distance is exactly $1/2$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What about the distance of arbitrary vectors to the Hadamard code? I've read in certain papers that this distance is also bounded by $1/2$ but other papers explicetely consider the case of vectors having distance $&amp;gt; 1/2$ to all elements of the code. Can anyone help me?&lt;/p&gt;&#xA;" OwnerUserId="28692" LastEditorUserId="4896" LastEditDate="2015-01-12T19:51:32.453" LastActivityDate="2015-01-12T19:51:32.453" Title="Distance of arbitrary vectors to Hadamard code" Tags="&lt;coding-theory&gt;&lt;property-testing&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="29112" PostTypeId="2" ParentId="21376" CreationDate="2015-01-12T16:02:41.147" Score="1" Body="&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Your first problem is more or less in-approximable. It contains &quot;Independent Set&quot; as a special case. For a graph $G=(V,E)$, define your ground set as $U:=V$ and for every vertex $v\in V$ construct a corresponding subset $S_v$ in your set system that contains the (closed) neighborhood of $v$. Then finding a cardinality-$k$ independent set in $G$ is equivalent to finding a cardinality-$k$ sub-system of disjoint sets in your set system. &#xA;&quot;Independent Set&quot; cannot be approximated in polynomial time within a factor of $|V|^{1-\varepsilon}$ for any $\varepsilon&amp;gt;0$, unless P=NP.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Your second problem is known as &quot;Maximum k-Coverage&quot;. It is APX-complete (and hence does not allow a PTAS), but has a (poly-time) constant factor approximation algorithm due to Hochbaum and Pathria:&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Hochbaum, D. S. and Pathria, A. (1998), Analysis of the greedy approach in problems of maximum k-coverage. Naval Research Logistics 45: 615–627. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://onlinelibrary.wiley.com/doi/10.1002/%28SICI%291520-6750%28199809%2945:6%3C615::AID-NAV5%3E3.0.CO;2-5/abstract&quot; rel=&quot;nofollow&quot;&gt;link to Hochbaum &amp;amp; Pathria paper&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="31660" LastActivityDate="2015-01-12T16:02:41.147" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="29113" PostTypeId="1" AcceptedAnswerId="29115" CreationDate="2015-01-12T16:13:06.323" Score="0" ViewCount="52" Body="&lt;p&gt;Given a 1-D universe $U$ (e.g. $\mathbb{Z}$) and a set-of-sets $\pmb{S}$, where each element of $\pmb{S}$ is a closed, connected subset of $U$ (e.g. $[a .. b]$ given $ a,b\in\mathbb{Z}$) and $\bigcup\pmb{S}=U$, what is the quickest way to find $\pmb{S}^*\subseteq \pmb{S}$ with the smallest cardinality such that $\bigcup \pmb{S}^* = U$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In other words, is there a fast 1-D set cover optimisation algorithm given that the sets you're working from are closed-connected?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It seems to me that the naive greedy set cover will in fact be optimal here, but I'm not expert enough to prove it. Can anyone think of a counter-example?&lt;/p&gt;&#xA;" OwnerUserId="31665" LastActivityDate="2015-01-12T16:40:03.423" Title="1-D set cover optimisation with connected subsets" Tags="&lt;set-cover&gt;" AnswerCount="1" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="29114" PostTypeId="2" ParentId="29078" CreationDate="2015-01-12T16:17:47.467" Score="1" Body="&lt;p&gt;Prolog deals with a formal system which is a small fragment of first order logic: it uses a logic of definite clauses, which are disjunctions of atoms and negated atoms, with the resolution rule as only inference rule.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you're not completely familiar to formal (logic) systems you just need to know that they are basically sets of rules:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;rules that describe how to build formulas from some basic symbols (the alphabeth)&lt;/li&gt;&#xA;&lt;li&gt;rules that describe how to build proofs, i.e. sequences of formulas in which every element of the sequence is either an assumption, or an axiom of the logic system, or is obtained by previously derived formulas using inference rules (which can be thought as basic operations to &lt;em&gt;compute&lt;/em&gt; new formulas from a set of initial formulas, the assumptions).&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;From this perspective formal systems are similar to primary school's arithmetic that is presented as  &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;a set of rules to build well formed &lt;em&gt;arithmetic expressions&lt;/em&gt;&lt;/li&gt;&#xA;&lt;li&gt;a set of (equational) rules that describe how to reduce/rewrite/transform&#xA;these expressions (the computational rules).&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;In this case the arithmetic expressions play the role of logic formulas, the rewrite rules correspond to inference rules and computations are simply sequences of arithmetic expressions obtained one from other through the application of the equations, so they correspond to proofs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course as you have no &lt;code&gt;eval&lt;/code&gt; operator in arithmetic you have no eval operator in formal logic, so &lt;code&gt;?-&lt;/code&gt; does no correspond to any logical symbol. The reason is that these operators are commands for an interpreter that have the effect to start execution. Logic systems are systems that represent knowledge (via formulas) and static descriptions of computations (the proofs), they are not abstract machine based model of computations. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Notheless  you can model computations in formal logic:&#xA;the reason for that is that you can regard every computation as a proof (for instance a computation of an arithmetic expression can be seen as a proof of an equality between the expression you want to compute and a value, the result of the computation), on the other end every proof is a computation obtained by some basic expressions (the axioms and the assumptions) applying the rules of inference, that are the basic operations of this model of computation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now back to prolog, prolog represent informations via &lt;em&gt;Horn clauses&lt;/em&gt;, which are a special kind of definite clauses, these information are feed into the interpreter through a logic program, then the interpreter wait for a query, an instruction of the form &lt;code&gt;?- A_1,...,A_n&lt;/code&gt;. The effect of this query is to add the formula $\neg A_1 \lor \dots \lor \neg A_n$ as an assumption the clauses of the logic program and to start a search of a refutation of the goal of the query: using the program clauses and the clause and the clause of the query it infers new goal (clauses) until it can no longer apply the inference rule. While performing this proof-search the interpreter keeps track of variables'instantiation performed while applies resolution rule. &#xA;When a computation/search stops there are two possible outcome:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;the interpreter has reached the empty formula, instantiating the variables with a substitution $\sigma$, and so it can no longer infer anything else: in this case the interpreter has proven that from the Horn clauses of the program and the definite clause $\neg \sigma(A_1) \lor \dots \lor \neg \sigma(A_n)$ you can prove the absurd $\bot$, and so itin first order logic the clauses in the program entail the formula $\sigma(A_1) \land \dots \land \sigma(A_n)$;&lt;/li&gt;&#xA;&lt;li&gt;the computation stop while having not reach the empty formula: in this case the interpreter can no longer continue because it has no other information &#xA;to infer anything else, and so it means that the formula $\neg A_1 \lor \dots \lor \neg A_n$ can not be refutated and so it doesn't have enough informations to carry out the computation.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;That's a quite long answer on how prolog works, anyway there's a lot more that could be said, but I prefer to refer to classical reference Lloyd's &lt;em&gt;Foundation of logic programming&lt;/em&gt; to any additional information.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hope this helps.  &lt;/p&gt;&#xA;" OwnerUserId="25498" LastActivityDate="2015-01-12T16:17:47.467" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="29115" PostTypeId="2" ParentId="29113" CreationDate="2015-01-12T16:40:03.423" Score="1" Body="&lt;p&gt;The leftmost point must be covered by &lt;em&gt;some&lt;/em&gt; interval. There is no harm in picking the &lt;em&gt;longest&lt;/em&gt; interval that covers the leftmost point. Then iterate (after removing the interval and all covered points from the instance).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is the well-known greedy algorithm for the &quot;Interval Point Cover&quot; problem;&#xA;see for instance the &lt;a href=&quot;http://www.cse.yorku.ca/~andy/courses/3101/lecture-notes/IntervalCover.html&quot; rel=&quot;nofollow&quot;&gt;course page by Andranik Mirzaian&lt;/a&gt; for a full analysis.&lt;/p&gt;&#xA;" OwnerUserId="31660" LastActivityDate="2015-01-12T16:40:03.423" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="29117" PostTypeId="1" AcceptedAnswerId="29130" CreationDate="2015-01-12T17:09:33.063" Score="2" ViewCount="223" Body="&lt;p&gt;One of the main parameters in the construction of extractors is $k$, the min-entropy of the source distribution. In practice, suppose we want to extract randomness from a given source $S$. How do we determine $k$ in this source $S$? More generally, how do we quantify the amount of (extracted) randomness in the output distribution of the extractor.&lt;/p&gt;&#xA;" OwnerUserId="30568" LastActivityDate="2015-01-13T17:36:52.807" Title="Extractors in Practice: How to Determine the Min-Entropy in the Source Distribution" Tags="&lt;cc.complexity-theory&gt;&lt;randomness&gt;&lt;derandomization&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="29118" PostTypeId="1" AcceptedAnswerId="29123" CreationDate="2015-01-12T18:46:59.093" Score="4" ViewCount="161" Body="&lt;p&gt;Given a graph $G=(V,E)$ with n vertices, m edges, and the maximum degree $\Delta$. Let $T$ be a spanning tree of $G$. Let $E_c \subseteq E - E(T)$ be the maximum number of edges that we can add to $T$ so that $T \cup E_c$ is a planar graph. Is there any known upper or lower bound on the size of $E_c$ in term of $n, m$ and $\Delta$&lt;/p&gt;&#xA;" OwnerUserId="21297" LastActivityDate="2015-01-12T21:48:55.170" Title="Addding edges to spanning tree without destroying planarity" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;planar-graphs&gt;&lt;topological-graph-theory&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="29119" PostTypeId="1" AcceptedAnswerId="29138" CreationDate="2015-01-12T19:10:36.907" Score="24" ViewCount="935" Body="&lt;p&gt;Given two strings x and y, I want to build a minimum size DFA that accepts x and rejects y.  One way to do this is brute force search.  You enumerate DFA's starting with the smallest.  You try each DFA until you find one that accepts x and rejects y.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I want to know if there is any other known way of finding or building a minimum size DFA that accepts x and rejects y.  In other words, can we beat brute force search?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More Detail:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(1) I really do want an algorithm to find a minimum size DFA, not a near minimum size DFA.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(2) I don't just want to know how large or small the minimum DFA is.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(3) Right here, I'm only focused on the case were you have two strings x and y.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit&lt;/strong&gt;:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Additional information for the interested reader:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose $x$ and $y$ are binary strings of length at most $n$.  It is a known result that there is a DFA that accepts $x$ and rejects $y$ with at most $\sqrt{n}$ states.  Notice that there are about $n^{\sqrt{n}}$ DFA's with a binary alphabet and at most $\sqrt{n}$ states.  Therefore, the brute force approach wouldn't require us to enumerate through more than $n^{\sqrt{n}}$ DFA's.  It follows that the brute force approach couldn't take much more than $n^{\sqrt{n}}$ time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Slides that I found helpful: &lt;a href=&quot;https://cs.uwaterloo.ca/~shallit/Talks/sep2.pdf&quot;&gt;https://cs.uwaterloo.ca/~shallit/Talks/sep2.pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="14207" LastEditorUserId="14207" LastEditDate="2015-01-16T22:53:04.810" LastActivityDate="2017-02-25T22:32:19.860" Title="Finding the smallest DFA that separates two words without using brute force search?" Tags="&lt;automata-theory&gt;&lt;dfa&gt;&lt;fsm&gt;" AnswerCount="1" CommentCount="21" FavoriteCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="29120" PostTypeId="1" AcceptedAnswerId="29121" CreationDate="2015-01-12T19:30:36.817" Score="2" ViewCount="70" Body="&lt;p&gt;An instance of the SET-PACKING problem is given by a list of sets $\mathcal{S} = \{S_1,\dots,S_m\} \subseteq 2^U$. It is a ``yes'' instance iff there exists some subset $\mathcal S'$ of $\mathcal S$ of size $\ge k$ such that for every $S,T \in \mathcal S'$, $S\cap T = \emptyset$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, I propose the &quot;promise variant&quot; of this problem: I am telling you that your instance is a yes instance; that is, there exists some $\mathcal T'\subseteq \mathcal S$ such that all elements of $\mathcal T'$ are disjoint and it is of size $\ge k$. Can you find some $\mathcal S'$ that is of size $\ge k$ with all disjoint elements?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This seems to be an obviously NP-hard problem, but one needs to be slightly careful in the proof: intuitively, simply taking an instance of SET-PACKING and appending k arbitrary disjoint sets will work (informally, if finding them is in P, then SET-PACKING is also in P).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This relates to a similar question that appeared in cs.stackexchange. I am aware that promise variants of NP hard problems are generally hard (that is, given an NP hard problem X, define promise-X to be the problem X when a yes instance is guaranteed).&lt;/p&gt;&#xA;" OwnerUserId="12850" LastActivityDate="2015-01-12T19:41:56.053" Title="Promise Variant of Set-Packing" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="29121" PostTypeId="2" ParentId="29120" CreationDate="2015-01-12T19:41:56.053" Score="1" Body="&lt;p&gt;Suppose that there was a polynomial time algorithm $A$ for your promise problem, say with time complexity bounded by $const*|U|^a*m^b$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Take an arbitrary instance of SET-PACKING (the original variant, not the priomise variant) and run algorithm $A$ on it for $2*const*|U|^a*m^b$ steps.&#xA;If $A$ does not terminate within this time bound, the answer must be NO.&#xA;If $A$ does terminate, verify whether the output produced by $A$ indeed is a feasible solution.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This would allow you to solve the original SET-PACKING problem in polynomial time.&lt;/p&gt;&#xA;" OwnerUserId="31660" LastActivityDate="2015-01-12T19:41:56.053" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="29122" PostTypeId="2" ParentId="29111" CreationDate="2015-01-12T19:45:26.933" Score="4" Body="&lt;p&gt;What you are asking is the &lt;em&gt;covering radius&lt;/em&gt; of the Hadamard code. I am not sure what the answer is but the covering radius of the &lt;em&gt;punctured Hadamard code&lt;/em&gt; is at least $\frac{N}{2} - \frac{\sqrt{N}}{2}$, i.e. any Boolean vector is at most $\frac{N}{2}-\frac{\sqrt{N}}{2}$ Hamming distance away from some code word of the punctured Hadamard code. The $O(\sqrt{N})$ advantage over $\frac{N}{2}$ is optimal for any set of $O(N)$ points in $\{0, 1\}^N$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The punctured Hadamard code maps $x \in \{0,1\}^n$ to the sequence $(\langle x, u\rangle\bmod 2)_{u \in \{1\}\times\{0, 1\}^{n-1}}$. It's not hard to see that the distance of the code is still $N/2$ as in the Hadamard code, but the number of codewords is $2N$. If we map each code word to a vector in $\{-1, 1\}^N$ by mapping $1$ to $-1$ and $0$ to $1$ we get vectors $v_1, \ldots, v_N, -v_1, \ldots, -v_N$ such that $\langle v_i, v_j \rangle = 0$ for any $i \neq j$. Taking any $x \in \{0, 1\}^N$ and mapping it to $u := 1 - 2x$ in the same way, we see that $x$ is Hamming distance $d$ away from a codeword if there exists an $i$ such that $|\langle v_i, u\rangle| = N-2d$. In other words, it's enough to show that for any $u \in \{-1, 1\}^N$ there exists an $i$ such that $|\langle v_i, u\rangle| \geq \sqrt{N}$. But this follows from the properties of the $v_i$:&#xA;$$&#xA;\max_i |\langle v_i, u\rangle|^2 \geq \frac{1}{N}\sum_{i = 1}^N{|\langle v_i, u\rangle|^2} = \sum_{i = 1}^N{u_i^2} = N.&#xA;$$&#xA;The inequality is by averaging and the first equality is true because $\frac{1}{\sqrt{N}}v_1, \ldots, \frac{1}{\sqrt{N}}v_N$ is an orthonormal basis of $\mathbb{R}^N$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The fact that no set of $O(N)$ points in $\{0, 1\}^N$ can cover $\{0, 1\}^N$ with radius $\frac{N}{2} - \omega(\sqrt{N})$ is equivalent to the fact that for any $v_1, \ldots, v_M \in \{-1, 1\}^N$, $M = O(N)$, there exists a vector $u \in \{-1, 1\}^N$ such that $|\langle v_i, u\rangle| = O(\sqrt{N})$ for all $i$. This is a restatement of Spencer's &quot;Six Standard Deviations Suffice&quot; theorem from discrepancy theory.&lt;/p&gt;&#xA;" OwnerUserId="4896" LastActivityDate="2015-01-12T19:45:26.933" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="29123" PostTypeId="2" ParentId="29118" CreationDate="2015-01-12T21:48:55.170" Score="9" Body="&lt;p&gt;Here's an example of a graph $G$ and a tree $T$ in that graph such that you can't add very many edges from $G$ to $T$ while preserving planarity. Let $P$ be a $2n$-vertex path, and let $S$ be a set of $n$ points $(x_i,y_i)$ in the plane with distinct integer coordinates in the range $[1,n]$ such that the longest polygonals chains in $S$ in which all slopes have the same sign have length approximately $\sqrt n$ (according to the &lt;a href=&quot;https://en.wikipedia.org/wiki/Erd%C5%91s%E2%80%93Szekeres_theorem&quot;&gt;Erdős–Szekeres theorem&lt;/a&gt;).  Add to $G$ one edge for each point $(x_i,y_i)$ in $S$, whose endpoints are the vertices at positions $x_i$ and $n+y_i$ in the path.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now consider any planar graph sandwiched between $T$ and $G$, and draw it in the plane such that $T$ lies along a horizontal line (possibly causing the other edges to curve rather than being straight, but without crossings). We can partition the edges added to $T$ into four classes: the ones that stay below the line, the ones that stay above the line, the ones that wrap around the left endpoint of $T$, and the ones that wrap around the right endpoint of $T$ (wrapping around exactly two endpoints of $T$ doesn't help — all such edges can be deformed topologically so that they stay above or below the line — and wrapping around more than twice is not possible). In each of these four classes, a subset of non-crossing edges must correspond to a monotonic polygonal chain in $S$. Therefore, the total number of added edges is at most $4\sqrt n + O(1)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The Erdős–Szekeres theorem can be used in the other direction to find large subsets of edges that don't cross each other when $T$ is a path. I'm not entirely sure what happens when $T$ isn't a path, but it seems likely to me that the size of the planar subsets you can find only goes up in this case, so that (in the case of a linear number of edges and bounded vertex degree) $\Theta(\sqrt n)$ is the right bound on the number of added edges you can always find.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2015-01-12T21:48:55.170" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="29124" PostTypeId="1" CreationDate="2015-01-12T23:08:58.073" Score="8" ViewCount="660" Body="&lt;p&gt;Is integer factorization downward self-reducible? Is anything known about this?&lt;/p&gt;&#xA;" OwnerUserId="16008" LastActivityDate="2015-01-15T22:46:10.607" Title="Downward self-reducibility of factorization" Tags="&lt;cc.complexity-theory&gt;&lt;nt.number-theory&gt;&lt;comp-number-theory&gt;" AnswerCount="1" CommentCount="9" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="29125" PostTypeId="2" ParentId="27957" CreationDate="2015-01-13T03:07:18.223" Score="3" Body="&lt;p&gt;The arXiv paper &quot;Non-Monotonic Snapshot Isolation&quot; [1] proves several impossibility theorems demonstrating that SI (Snapshot Isolation) and GPR (Genuine Partial Replication) are incompatible. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;To this end, it first decomposes SI into four properties:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Decomposition theorem: $SI = ACA \cap SCONS \cap MON \cap WCF$&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;where, &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$ACA$: avoiding cascading aborts; $SCONS = SCONSa \cap SCONSb$: strictly consistent snapshots; $MON$: snapshot monotonicity; and $WCF$: write-conflict freedom.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then, it gives the following &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Impossibility theorem: None of SCONSa, SCONSb, and MON  is attainable in some asynchronous failure-free GPR system with obstruction-free updates (OFU) and wait-free queries (WFQ).&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;[1] &lt;a href=&quot;http://arxiv.org/abs/1306.3906&quot; rel=&quot;nofollow&quot;&gt;Non-Monotonic Snapshot Isolation&lt;/a&gt; by Masoud Saeida et al@arXiv'2013&lt;/p&gt;&#xA;" OwnerUserId="12739" LastActivityDate="2015-01-13T03:07:18.223" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="29127" PostTypeId="1" CreationDate="2015-01-13T10:37:08.520" Score="2" ViewCount="114" Body="&lt;p&gt;Let $\mathbb{R}_+$ be the set of non-negative real numbers. Let $m$ be a positive integer and $\leq_m$ the product ordering on $\mathbb{R}_+^m$. That is, $\leq_m$ is the partial ordering on $\mathbb{R}_+^m$ defined for all $V_1, V_2 \in \mathbb{R}_+^m$ as $V_1 \leq_m V_2$ if and only if for every $i \in \{1, \dots, m\}$, $V_1(i) \leq V_2(i)$, where $\leq$ is the standard ordering over real numbers. Lastly, given a vector $V = (V(1), \dots, V(m)) \in \mathbb{R}^m$ we denote $d(V)$ the &quot;unbalance degree&quot; of $V$ defined as $d(V) = \sum_{i=1}^m{|V(i) - \mathrm{avg}(V)|}$ where $\mathrm{avg}(V) = \frac1m \sum_{i=1}^m{V(i)}$. Intuitively, $d(V)$ represents the Manhattan distance between $V$ and the &quot;average line&quot; $\{(x_1, \dots, x_m) \in \mathbb{R}_+^m \mid x_1 = \dots = x_m\}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My problem is as follows: given two vectors $V, V' \in \mathbb{R}^m_+$ such that $V \leq_m V'$, I would like to characterize a vector from $\mathrm{argmax}_{V \leq W \leq V'}\,d(W)$. Intuititvely, such a vector is one of the most &quot;unbalanced&quot; ones between $V$ and $V'$. For instance, if $V = (0, 0, 0, 0, 0)$ and $V' = (4, 10, 2, 10, 4)$, such a vector is $W = (0, 10, 0, 10, 0)$, with $d(W) = 24$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My conjecture is as follows. Let $avg(V, V') = \frac{1}{2m}{\sum_{i=1}^m{V(i) + V'(i)}}$. We build the vector $W$ for every $k \in \{1, \dots, m\}$ as follows:&#xA;$$W(k) = \left\lbrace\begin{array}{ll}&#xA;V(k) &amp;amp; \mbox{ if } (\tfrac12\big(V(k) + V'(k)\big) &amp;lt; \mathrm{avg}(V, V')),\\&#xA;V'(k) &amp;amp; \mbox{ if } (\tfrac12\big(V(k) + V'(k)\big) &amp;gt; \mathrm{avg}(V, V')).\\&#xA;\end{array}\right.$$&#xA;We define the remaining components of $W$ (i.e., the $W(k)$ such that $\tfrac12\big(V(k) + V'(k)\big) = \mathrm{avg}(V, V'))$) as follows. Let $K = \{k \in \{1, \dots, m\} \mid \tfrac12\big(V(k) + V'(k)\big) = \mathrm{avg}(V, V'))\}$ and denote the elements of $K$ as $\{k_1, \dots, k_n\}$. Then $\forall k_i \in K$,&#xA;$$W(k_i) = \left\lbrace\begin{array}{ll}&#xA;V(k_i) &amp;amp; \mbox{ if $i$ is an odd number},\\&#xA;V'(k_i) &amp;amp; \mbox{otherwise.}&#xA;\end{array}\right.$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So far, I could just prove that there is a vector $W \in \mathrm{argmax}_{V \leq W \leq V'}\,d(W)$ such that for every $k \in \{1, \dots, m\}$, $W(k) \in \{V(k), V'(k)\}$. But this leaves a search space of size $2^m$, and does not provide me a polytime algorithm to solve the problem. Proving the conjecture above would do so.&lt;/p&gt;&#xA;" OwnerUserId="31674" LastEditorUserId="31674" LastEditDate="2015-01-13T13:09:52.350" LastActivityDate="2015-01-13T15:06:50.747" Title="What is the most &quot;unbalanced&quot; vector between two given vectors of numbers?" Tags="&lt;co.combinatorics&gt;&lt;optimization&gt;&lt;polynomial-time&gt;" AnswerCount="0" CommentCount="8" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="29129" PostTypeId="1" CreationDate="2015-01-13T13:40:55.883" Score="1" ViewCount="98" Body="&lt;p&gt;I am looking for a way of getting a good estimate of the eigenvalues of random bipartite d-regular graphs. The literature has very precise values the proofs of which are very involved and since I am looking to extend the estimates to a more general scenario I dont want to get into very involved techniques. The kind of bounds I am looking for can have constant (or even log factors) thrown around. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;One way I have in my mind is to use the matrix Bernstein inequality by expressing a random bipartite d-regular graph as a sum of d independent random matchings and then black box the Matrix Bernstein Inequality result. This gives satisfactory answers for me with the caveat that summing up d random matchings does not necessarily produce simple graphs (edges can get repeated), however I feel that the estimate that we get from Matrix Bernstein should hold for the random regular graph case too. Is there an easy way to get around this difficulty?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks in advance &lt;/p&gt;&#xA;" OwnerUserId="12212" LastActivityDate="2015-01-13T13:40:55.883" Title="Eigenvalues of Random Regular Bipartite Graphs" Tags="&lt;randomness&gt;&lt;randomized-algorithms&gt;&lt;matrices&gt;&lt;spectral-graph-theory&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="29130" PostTypeId="2" ParentId="29117" CreationDate="2015-01-13T14:53:49.510" Score="1" Body="&lt;p&gt;In practice, if you want to extract randomness from a source $S$, you don't use an extractor.  Instead, you use a cryptographic hash function and hash the data from the source.  (This is how cryptographic-strength pseudo-random number generators distill randomness from many non-uniformly distributed sources of randomness.)  This can be proven safe in the random oracle model.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course, if you care mostly about theoretical bounds, extractors are better because they provide provable bounds without requiring cryptographic assumptions, so theoretical work will naturally focus on extractors -- but if you want to do this in practice, that consideration is less important.  If you want to do this in practice, I recommend you use a cryptographic hash function, as the assumptions are reasonable and you get something that does not waste any entropy.  (And before you reject the idea of depending upon cryptographic assumptions: Hey, if it's good enough to protect e-commerce and banks and classified documents, it's probably good enough for your purposes.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you use a cryptographic hash function, the bottom line (essentially) is that all of the entropy of the source is preserved (up to the security level of the cryptographic hash function).  So, quantifying the amount of extracted randomness comes down to quantifying how much randomness is present in the source.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is no good black-box way to determine the min-entropy of the source distribution.  So, in practice, you don't try to determine the min-entropy of a source through observational methods (e.g., observing many samples and then doing something).  Instead, you need to have a model of how the source works, and to derive estimates of its entropy based upon that model.  That model might be based upon the physics of the source or other domain-specific assumptions.  This is not a question that algorithms can help you with much.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Why is it hard to estimate the min-entropy of a source?  Consider two sources: $S_1$ outputs a random $1000$-bit value $x$ (distributed uniformly at random); $S_2$ picks a random $128$-bit value $k$, then uses AES in CTR mode (a secure pseudorandom generator) to stretch $k$ to a $1000$-bit value $y$, and outputs $y$.  Notice that, assuming AES is secure, there is no feasible way to distinguish source $S_1$ from source $S_2$ by just observing their outputs: any algorithm for distinguishing the two sources would require something like $2^{128}$ steps of computation.  However, the min-entropy of $S_1$ is very different from the min-entropy of $S_2$ ($1000$ bits vs $128$ bits).  This example shows that computing the min-entropy of a source is a difficult in general, so you should not expect to find any efficient algorithm to do that for you based solely on observing some outputs from the source.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For a more rigorous treatment of the complexity of estimating the min-entropy, see e.g. the following paper:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.cs.toronto.edu/~thomasw/papers/min.pdf&quot; rel=&quot;nofollow&quot;&gt;The Complexity of Estimating Min-Entropy&lt;/a&gt;.  Thomas Watson.  CC 2015.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The bottom line is that it's hard.  (Thanks to epsfooling for pointing me to this paper.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The literature on cryptographic pseudorandom number generators has lots more on this topic.&lt;/p&gt;&#xA;" OwnerUserId="5038" LastEditorUserId="5038" LastEditDate="2015-01-13T17:36:52.807" LastActivityDate="2015-01-13T17:36:52.807" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="29132" PostTypeId="1" AcceptedAnswerId="29214" CreationDate="2015-01-13T15:47:11.687" Score="3" ViewCount="186" Body="&lt;p&gt;We consider the propositional language $\mathcal{L}_{\mathit{PS}}$ defined over a finite alphabet $\mathit{PS}$ and the usual logical connectives. An interpretation is an assignment $\mathit{PS} \mapsto \{true, false\}$, and a model of a formula $\phi \in \mathcal{L}_{\mathit{PS}}$ is an interpretation $\omega$ which makes $\phi$ true in the usual way. The set of models of a formula $\phi$ is denoted $Mod(\phi)$. The Hamming distance $d_H(\omega, \omega')$ between two interpretations is the number differences between them, i.e., $d_H(\omega, \omega') = |\{x \in \mathit{PS} \mid \omega(x) \neq \omega'(x)\}|$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am interested in the computational complexity of the following decision problem. Given a formula $\phi$, an integer $k$ given in unary and a number $\alpha$, does there exist a set $\mathcal{I} \subseteq Mod(\phi)$ such that $|\mathcal{I}| \leq k$ and such that $\forall \omega' \in Mod(\phi)$, $\exists \omega \in \mathcal{I}$, $d_H(\omega, \omega') \leq \alpha$? Intuitively, this problem asks whether there is a subset (of size at most $k$) of models of a given formula such that every model of the formula is &quot;close&quot; enough (wrt the distance threshold $\alpha$) to some model of the subset.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Actually, I am also wondering about the hardness of the above problem when the set $Mod(\phi)$ is given explicitly in input (at least, this one is in $\mathbf{NP}$, but is it $\mathbf{NP}$-hard?)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The following is the answer for the case where the set $Mod(\phi)$ is explicitely given in input.&#xA;The problem is $\mathsf{NP}$-hard by reduction from the vertex cover problem on cubic graph, which is known to be $\mathsf{NP}$-hard.&#xA;Let $G = (V, A)$ be a cubic graph with $V = \{v_1, \dots, v_n\}$ and $A = \{a_1, \dots, a_m\}$ and $k$ be a positive integer.&#xA;We associate with every edge $a_j \in A$ a propositional variable $f(a_j) = x_j$ and denote $\{x_1, \dots, x_m\} = \mathit{PS}$.&#xA;We associate with every vertex $v_i \in V$ an interpretation $g(v_i) = \omega_i$ defined for every $j \in \{1, \dots, m\}$ as $\omega_i(x_j) = 1$ if the edge $a_j \in A$ is incident to the vertex $v_i$, $0$ otherwise. Denote $\{\omega_1, \dots, \omega_n\} = \mathcal{S}$ ($\mathcal{S}$ stands for the set of models $Mod(\phi)$ of some formula $\phi$, but which is here defined explicitely). One can see that for every $\omega_i, \omega_j \in \mathcal{S}$, $d_H(\omega_i, \omega_j) = 4$ if $v_i$ and $v_j$ are adjacent in $G$, otherwise $d_H(\omega_i, \omega_j) = 6$. Therefore, $G$ admits a vertex cover $V'$ such that $|V'| \leq k$ if and only if the set $\mathcal{I} = \{g(v_i) \mid v_i \in V'\}$ satisfies $\forall \omega_j \in \mathcal{S}$, $\exists \omega_i \in \mathcal{I}$, $d_H(\omega_i, \omega_j) \leq 4$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the succinct case (i.e., where considering a formula $\phi$ instead of a list of interpretations), then the problem is still open. From the answers of Marzio De Biasi and D.W., it is $\mathsf{coNP}$-hard. Moreover, it is in $\mathsf{NP}^\mathsf{NP} = \Sigma_2^{\rm P}$. Indeed, one can use the following non-deterministic algorithm with $\mathsf{NP}$ oracle: (i) guess a set $\mathcal{I}$ of interpretations such that $|\mathcal{I}| \leq k$; (ii) check in polynomial time that $\forall \omega \in \mathcal{I}$, $\omega \in Mod(\phi)$, and check using one call to the $\mathsf{NP}$-oracle that $\forall \omega' \in Mod(\phi)$, $\exists \omega \in \mathcal{I}$, $d_H(\omega, \omega') \leq \alpha$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I still need to characterize the exact complexity of the problem. Intuitively, it seems that the problem is $\Sigma_2^{\rm P}$-hard (thus, it would be $\Sigma_2^{\rm P}$-complete in this case). Does anybody know an extension of the vertex cover problem to some $\Sigma_2^{\rm P}$-hard problem? Otherwise, a reduction from the validity problem of a QBF of the form $\exists X \forall Y \psi$ to our problem seems cumbersome.&lt;/p&gt;&#xA;" OwnerUserId="31674" LastEditorUserId="31674" LastEditDate="2015-01-18T16:56:52.010" LastActivityDate="2015-01-20T20:52:10.850" Title="How hard is it to find a &quot;well-distributed&quot; subset of models of a propositional formula?" Tags="&lt;np-hardness&gt;&lt;complexity-classes&gt;&lt;boolean-formulas&gt;" AnswerCount="3" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="29133" PostTypeId="1" AcceptedAnswerId="38517" CreationDate="2015-01-13T16:03:16.940" Score="3" ViewCount="170" Body="&lt;p&gt;In &lt;a href=&quot;http://www.drb.insel.de/~heiner/BB/mabu90.html#Enumeration&quot; rel=&quot;nofollow&quot;&gt;&quot;Attacking the busy beaver 5&quot; by Heiner Marxen and Jürgen Buntrock&lt;/a&gt;, an algorithm to create tree normal candidates is explained (it also contains a concise introduction of the relevant terms).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If during simulation an undefined transition is found, the selection of the enumeration values is made as follows:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Enumerate all meaningful values (see below) for this transition, and&#xA;  recursively do step 2 with M set to each of these more completely&#xA;  defined machines.&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;The set of legal transition values is formed by an arbitrary&#xA;  combination of (n+1) target states, 2 symbols to write, and 2&#xA;  directions to move. The set of meaningful transitions enumerated in&#xA;  step 6 is a subset of all legal ones by the following reduction rules:&lt;/p&gt;&#xA;  &#xA;  &lt;ol&gt;&#xA;  &lt;li&gt;From the set of states M has not yet taken, only the smallest one (according to some arbitrary but fixed order on the states) is used as&#xA;  target state (isomorphism).&lt;/li&gt;&#xA;  &lt;li&gt;When defining the very first transition force a state change (else M never halts), write a one (isomorphism), and move left (symmetry).&#xA;  This completely fixes the very first transition.&lt;/li&gt;&#xA;  &lt;li&gt;When defining the very last transition, consider only the halt state as target state.&lt;/li&gt;&#xA;  &lt;li&gt;If the target state is the halt state, go left (makes no difference) and write a one (never worse). This completely fixes the&#xA;  last transition.&lt;/li&gt;&#xA;  &lt;li&gt;If there is a state that M has not yet taken, do not consider the halt state as target state.&lt;/li&gt;&#xA;  &lt;/ol&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I'm not sure if I'm missing something, but should there not be a rule that enforces using a new state if we're determining the last open slot of all currently used states? This new rule would replace/extend rule 3 above.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In other words: With $2k-1, k \leq N$ transitions defined, and the maximum index of states used being $\leq k$, the $2k$-th transition must point to a state with index &gt; $k$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we don't do this, it would be possible to create closed subsets, or equivalently, unreachable states (described e.g. by &lt;a href=&quot;http://www.cogsci.rpi.edu/~heuveb/research/BB/downloads/OwenThesis.pdf&quot; rel=&quot;nofollow&quot;&gt;Kellett, MA thesis, 2005&lt;/a&gt;, p.46), one of whom will be the halting state. Those machines cannot possibly halt obviously.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For instance, given the partially defined 3-state machine &lt;code&gt;1RB 0RB, 1LA -?-, -?- -?-&lt;/code&gt;, the next transition (which in this example happens to be $\delta(B,1)$) must point exactly to state C.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Pointing to H is not allowed because it would quit too early (unused state C).&lt;/li&gt;&#xA;&lt;li&gt;Pointing to A or B is not allowed because it would lead to a closed state subset with no way to leave.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="475" LastEditorUserId="475" LastEditDate="2015-01-18T04:52:44.613" LastActivityDate="2017-06-30T23:01:59.310" Title="Is there an easy way to improve this Tree Normal Form for Busy Beaver candidates?" Tags="&lt;turing-machines&gt;" AnswerCount="1" CommentCount="7" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="29135" PostTypeId="2" ParentId="29132" CreationDate="2015-01-13T18:04:19.123" Score="3" Body="&lt;p&gt;Well, I don't know what the exact complexity class is, but the problem is hard: a polynomial-time algorithm for this problem would imply P=NP.  Just take $k=0$; then the answer to your problem is yes if and only if $\phi$ is unsatisfiable.  Therefore, any polynomial-time algorithm for your problem would imply P=NP.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;If you don't like relying on the special case $k=0$, here's a related construction.  Let $\psi$ be a boolean formula on $n$ variables $x_1,\dots,x_n$.  Introduce $n+1$ new variables $y_0,\dots,y_n$.  Define the formula&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\phi := (\psi \land y_0 \land \dots \land y_n) \lor (\neg y_0 \land \dots \neg y_n).$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Set $k=1$ and $\alpha=n$.  If $\psi$ is satisfiable, the answer to your problem is no.  If $\psi$ is not satisfiable, the answer to your problem is yes.&lt;/p&gt;&#xA;" OwnerUserId="5038" LastActivityDate="2015-01-13T18:04:19.123" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="29136" PostTypeId="2" ParentId="29132" CreationDate="2015-01-13T18:08:43.880" Score="3" Body="&lt;p&gt;The first part of the question leads to a coNP-hard problem; this is a reduction from UNSAT.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose that $\phi$ is a SAT formula with $n$ variables. Check if it is satisfied by $(1,1,...,1),(0,1,...1),(1,0,...,1),...(1,1,...,0)$ if yes, build a dum false instance of your problem. Otherwise build:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\phi' =( \phi ) \lor (x_1 \land ... \land x_n)$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Which is satisfiable and $w_1 = (1,...,1) \in Mod(\phi')$. Note that for all $w \neq w_1$ we have $w \in Mod(\phi') \Leftrightarrow w \in Mod(\phi)$  , if you pick $k = 1$, and $\alpha= 1$; then $\mathcal{I}$ must contain only one element and must be at Hamming distance one from the other elements of the model.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But by construction the only $n$ models at Hamming distance 1 from $w_1$ $(0,1,...,1),(1,0,...,1)$ are not in $Mod(\phi) $and are not in $Mod(\phi')$; so your problem has a solution if and only if $\mathcal{I} = \{ w_1 \} = Mod(\phi' )$; if and only if the original $\phi$ is unsatisfiable.&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2015-01-18T17:13:02.697" LastActivityDate="2015-01-18T17:13:02.697" CommentCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="29137" PostTypeId="1" CreationDate="2015-01-13T18:14:16.010" Score="3" ViewCount="241" Body="&lt;p&gt;Equivalence of deterministic finite transducers - a special case of single-valued finite transducers - is decidable because it is &lt;a href=&quot;http://www.infres.enst.fr/~jsaka/PUB/Files/DBVT.pdf&quot; rel=&quot;nofollow&quot;&gt;decidable whether a transducer is single-valued&lt;/a&gt;. Note that two deterministic finite transducers $T_1$, $T_2$ are equivalent iff $T_1 \cup T_2$ is single-valued and their domains are equivalent which reduces to a DFA equivalence check on $T_1$, $T_2$ without output.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can you point to a reference of an efficient algorithm to decide equivalence of &lt;strong&gt;deterministic&lt;/strong&gt; finite transducers over finite words?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am also interested in a decision procedure for infinite words assuming that all states are final. The latter transducer variant is also known as generalized sequential machine (GSM). Equivalence is also &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/002001908690058X&quot; rel=&quot;nofollow&quot;&gt;decidable for GSMs&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="31677" LastEditorUserId="31677" LastEditDate="2015-01-16T03:03:11.890" LastActivityDate="2015-01-16T03:03:11.890" Title="Equivalence of deterministic finite transducers over finite/infinite words" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;graph-algorithms&gt;&lt;automata-theory&gt;" AnswerCount="0" CommentCount="9" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="29138" PostTypeId="2" ParentId="29119" CreationDate="2015-01-13T20:01:03.070" Score="11" Body="&lt;p&gt;If I had to do this in practice, I would use a SAT solver.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The question of whether there is a DFA with $k$ states that accepts $x$ and rejects $y$ can be easily expressed as a SAT instance.  For instance, one way is to have $2k^2$ boolean variables: $z_{s,b,t}$ is true if the DFA transitions from state $s$ to state $t$ on input bit $b$.  Then add some clauses to enforce that this is a DFA, and some variables and clauses to enforce that it accepts $x$ and rejects $y$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now use binary search on $k$ to find the smallest $k$ such that a DFA of this sort exists.  Based on what I've read in papers on related problem, I would expect that this might be reasonably effective in practice.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Other encodings of this as SAT are possible.  For instance, we can use a trace encoding:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;If $x$ is of length $m$, you could add $m\lg k$ boolean variables: let $s_0,s_1,\dots,s_m$ be the sequence of states traversed on input $x$, and represent each $s_i$ using $\lceil \lg k \rceil$ boolean variables.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Now for each $i,j$ such that $x_i=x_j$, you have the constraint that $s_{i-1}=s_{j-1} \implies s_i=s_j$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Next, extend this to handle $y$: let $t_0,\dots,t_n$ be the sequence of states traversed on input $y$, and represent each $t_j$ using $\lg k$ boolean variables.  For each $i,j$ such that $y_i=y_j$, add the constraint that $t_{i-1}=t_{j-1} \implies t_i=t_j$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Similarly, for each $i,j$ such that $x_i=y_j$, add the constraint that $s_{i-1}=t_{j-1} \implies s_i=t_j$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Both traces must start from the same starting point, so add the requirement that $s_0=t_0$ (WLOG you can require $s_0=t_0=0$).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;To ensure that the DFA uses only $k$ states, require that $0 \le s_i &amp;lt; k$ and $0 \le t_j &amp;lt;k$ for all $i,j$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Finally, to encode the requirement that $x$ is accepted and $y$ is rejected, require that $s_m \ne t_n$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;All of these requirements can be encoded as SAT clauses.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As before, you'd use binary search on $k$ to find the smallest $k$ for which such a DFA exists.&lt;/p&gt;&#xA;" OwnerUserId="5038" LastActivityDate="2015-01-13T20:01:03.070" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="29142" PostTypeId="1" AcceptedAnswerId="29166" CreationDate="2015-01-14T11:36:34.010" Score="25" ViewCount="1447" Body="&lt;p&gt;Let $L_1,L_2$ be two regular languages given by NFAs $M_1,M_2$ as input.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assume we would like to check whether $L_1\cap L_2\neq \emptyset$. This can clearly be done by a quadratic algorithm which computes the product automaton of $M_1,M_2$, but I was wondering if anything more efficient is known.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there a $o(n^2)$ algorithm for deciding whether $L_1\cap L_2\neq \emptyset$? What is the fastest known algorithm?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="21001" LastEditorUserId="5693" LastEditDate="2015-01-14T11:51:54.727" LastActivityDate="2015-01-20T00:59:07.387" Title="Deciding emptiness of intersection of regular languages in subquadratic time" Tags="&lt;ds.algorithms&gt;&lt;automata-theory&gt;&lt;regular-language&gt;&lt;nondeterminism&gt;" AnswerCount="1" CommentCount="9" FavoriteCount="10" ContentLicense="CC BY-SA 3.0" />
  <row Id="29144" PostTypeId="2" ParentId="9296" CreationDate="2015-01-14T13:57:18.440" Score="0" Body="&lt;p&gt;I also came across this problem studying the $NP \subseteq PCP[poly(n), 1]$ proof in Arora's and Barak's book. Here the mentioned self-correction is always applied even though $x$ is always chosen at random. One problem (not mentioned in the book) is that even though $x$ is chosen at random it is used for multiple and therefore dependent queries. Self-correction is used to retrieve the function values independently by interpolating over other (independently) randomly chosen values.  &lt;/p&gt;&#xA;" OwnerUserId="28692" LastActivityDate="2015-01-14T13:57:18.440" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="29146" PostTypeId="1" AcceptedAnswerId="29149" CreationDate="2015-01-14T14:18:06.340" Score="3" ViewCount="141" Body="&lt;p&gt;I'm trying to understand the proof of the PCP Theorem in &quot;Complexity and Approximation&quot; by  G. Ausiello et al. and came across the low degree test which is used to check if a function $f$ given as oracle (or &quot;auxiliary proof&quot;) is close to some degree $d$ polynomial. The test uses another &quot;Lines-Oracle&quot; for retrieving $d+1$ coefficients for univariate polynomials defined on lines. Then the test simply compares the univariate polynomial with respect to a random line on a random point with $f$. Why is this &quot;Lines-Oracle&quot; necessary? I mean one could just interpolate $f$ on a random line (with the same amount of queries) and do the same check. Is this just for convenience?&lt;/p&gt;&#xA;" OwnerUserId="28692" LastActivityDate="2015-01-15T00:49:45.787" Title="What is the reason for using a &quot;Lines-Oracle&quot; in the PCP Theorem?" Tags="&lt;property-testing&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="29147" PostTypeId="1" CreationDate="2015-01-14T20:46:02.310" Score="-3" ViewCount="291" Body="&lt;p&gt;I have to write a leader election algorithm in an unoriented mesh (a grid a*b), with many initiators.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Someone give me an indication to wake up each node and then make an election in the exterior ring between the 4 corners. But I don't found anything on the web :/ For the wake-up process I think I can use a wake flood algorithm, but for the leader election, I'm out... Thank's.&lt;/p&gt;&#xA;" OwnerUserId="31685" LastActivityDate="2015-01-15T10:23:30.310" Title="Leader election algorithm in a grid" Tags="&lt;graph-algorithms&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="29149" PostTypeId="2" ParentId="29146" CreationDate="2015-01-15T00:49:45.787" Score="10" Body="&lt;p&gt;The lines oracle is used to decrease the query complexity of the test from $d+1$ to $2$, at the expense of using a larger alphabet.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you don't mind making $d+1$ queries, then the lines oracle is indeed unnecessary. However, it is usually better to make two queries over a large alphabet than $d+1$ queries over a small alphabet.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One reason is that, very roughly speaking, we have a technique, called PCP composition, which can be used to reduce the alphabet size of PCPs, but cannot be used to reduce the query complexity. Hence, it is preferable to have small query complexity and large alphabet size rather than the other way around.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A second reason, which is very related to the first one, is that many hardness-of-approximation results are proved based on $2$-query PCPs, but can not be proved using based on a PCP with more queries.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It should be mentioned that there are also generic techniques for reducing the query complexity at the expense of the alphabet size, so one could avoid the lines oracle and apply those techniques instead. However, using the lines oracle gives a more direct proof.&lt;/p&gt;&#xA;" OwnerUserId="8429" LastActivityDate="2015-01-15T00:49:45.787" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="29150" PostTypeId="2" ParentId="29147" CreationDate="2015-01-15T10:23:30.310" Score="0" Body="&lt;p&gt;One simple way would be something like this:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;For each processor:&#xA;1. myID = Some unique ID&#xA;2. myLeader = myID&#xA;3. Loop forever:  &#xA;   3.1 For each neighbour:  &#xA;      3.1.1 Read (id_i, leader_i)  &#xA;      3.1.2 If leader_i &amp;gt; myLeader  &#xA;         3.1.2.1 myLeader = leader_i&#xA;   3.2 Write to all neighbours: (myID, myLeader) &#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;The idea is that you use some property (Say IP address, MAC address, anything that is serialised by the manufacturer), and chose the maximum number as the leader.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course you can bound the number of iterations by &lt;code&gt;a + b + 1&lt;/code&gt; (if you have a synchronized way to make each one work on it's turn) since this is the maximum &quot;jumps&quot; an ID has to make is from one corner to the corner on the other side of the board.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This algorithm is also &lt;a href=&quot;https://en.wikipedia.org/wiki/Self-stabilization&quot; rel=&quot;nofollow&quot;&gt;self-stabilizing&lt;/a&gt; which is a good property to have. There are also versions of this algorithm where there is not unique identifier, there you let each processor chose a number at random, and then do the same, while making sure no two processors have selected the same random number (and if so, have some tie breaking).&lt;br&gt;&#xA;* Self-stabilization is good if you consider a senario where nodes maybe turned off at any time, and get turned back on after any amount of down time.&lt;/p&gt;&#xA;" OwnerUserId="13082" LastActivityDate="2015-01-15T10:23:30.310" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="29151" PostTypeId="1" CreationDate="2015-01-15T13:22:17.820" Score="2" ViewCount="86" Body="&lt;p&gt;As I understand, a monoid $M$ is just a special kind of category; it has only one object and its morphisms can be composed through a composition operation. In principle, if $a$ is the object of the category, the composition operation should have the following signature:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;\circ:  (a \rightarrow a) \times (a \rightarrow a) \rightarrow (a \rightarrow a)&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, in functional programming languages, the monoid's append has a different arity; for example in Haskell you have:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;class Monoid a where&#xA;    mempty  :: a&#xA;    -- ^ Identity of 'mappend'&#xA;    mappend :: a -&amp;gt; a -&amp;gt; a&#xA;    -- ^ An associative operation&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Ideally, categorical composition and &lt;code&gt;mappend&lt;/code&gt; should be related i.e., we should be able to extract one from the other. But I cannot see why.&lt;/p&gt;&#xA;" OwnerUserId="31690" LastActivityDate="2015-01-15T13:22:17.820" Title="How to derive a monoid's append from category theory" Tags="&lt;ct.category-theory&gt;" AnswerCount="0" CommentCount="3" ClosedDate="2015-01-17T15:42:26.500" ContentLicense="CC BY-SA 3.0" />
  <row Id="29152" PostTypeId="2" ParentId="2383" CreationDate="2015-01-15T14:03:01.980" Score="1" Body="&lt;p&gt;I think you'll find the answer in the paper &quot;Approximate Inclusion-Exclusion&quot; by Linial and Nisan:&#xA;&lt;a href=&quot;http://www.cs.huji.ac.il/~nati/PAPERS/approx_incl_excl.pdf&quot; rel=&quot;nofollow&quot;&gt;http://www.cs.huji.ac.il/~nati/PAPERS/approx_incl_excl.pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="1746" LastActivityDate="2015-01-15T14:03:01.980" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="29156" PostTypeId="2" ParentId="29124" CreationDate="2015-01-15T20:46:46.620" Score="4" Body="&lt;p&gt;The state of the art here is: We can &lt;a href=&quot;http://en.wikipedia.org/wiki/AKS_primality_test&quot; rel=&quot;nofollow&quot;&gt;decide primality in polynomial time&lt;/a&gt;, but the fastest, general-purpose algorithm to $\underline{\rm find}$ the factors of an n-bit composite integer &lt;a href=&quot;http://en.wikipedia.org/wiki/General_number_field_sieve&quot; rel=&quot;nofollow&quot;&gt;takes time $\approx 2^{n^{1/3}\log^{2/3}n}$&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More to your question, a primality test is the same thing as a compositeness test. Therefore, we can easily implement the 'primality decision oracle' required by &lt;em&gt;any&lt;/em&gt; (supposed) Cook reduction from factoring to itself.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The reason, then, that factoring is commonly presented as an example of a problem that is &quot;unlikely to be downward self-reducible&quot; is because of the possibility that such a reduction identifies prime factors of the original integer. This can be phrased in many ways, but as Joshua points out in comments above, a good example is a reduction that takes $(n, k)$ (is there a factor of $n$ that is at most $k$?) to $(m, k')$ where $m|n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A reduction of this particular type would have the consequence of breaking the plethora of cryptosystems based on the hardness of factoring (without the need for a quantum computer), e.g. RSA.&lt;/p&gt;&#xA;" OwnerUserId="108" LastEditorUserId="108" LastEditDate="2015-01-15T22:46:10.607" LastActivityDate="2015-01-15T22:46:10.607" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="29157" PostTypeId="1" CreationDate="2015-01-16T04:46:07.970" Score="5" ViewCount="153" Body="&lt;p&gt;In the paper [A], the following linear algebra result (Lemma 5 in [A])  is stated as being well known. Note that a vector is $s$-sparse if it contains at most $s$ non-zero entries.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Lemma: Let $1 \le s \le n$. There is a choice $k = O(s)$ and a random linear function $L : \mathbb{R}^n \rightarrow \mathbb{R}^k$ (generated from $O(k\log n)$ random bits), and a recovery procedure that on input $L(x)$ outputs $x' \in \mathbb{R}^n$ or $DENSE$ such that, for any $s$-sparse vector $x$, the output is $x'=x$ with probability $1$ and, for any non-$s$-sparse vector $x$, the output is $DENSE$ with high probability. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a reference for this result or an easy argument why this is true? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;[A] Tight Bounds for Lp Samplers, Finding Duplicates in Streams, and Related Problems.&#xA;Hossein Jowhari, Mert Sağlam, Gábor Tardos&#xA;&lt;a href=&quot;http://arxiv.org/abs/1012.4889&quot;&gt;arXiv&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="31696" LastActivityDate="2015-01-16T04:46:07.970" Title="Reconstruction of sparse vectors from random matrices" Tags="&lt;reference-request&gt;&lt;linear-algebra&gt;&lt;randomness&gt;&lt;streaming-algorithms&gt;" AnswerCount="0" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="29159" PostTypeId="1" AcceptedAnswerId="29160" CreationDate="2015-01-16T11:52:35.353" Score="8" ViewCount="234" Body="&lt;p&gt;A graph is locally bipartite if the open neighborhood of&#xA;every vertex induces a bipartite graph.&#xA;(According to searches the same name might be used for&#xA;something else related to surfaces).&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Which NP-hard for general graphs problems become polynomial&#xA;  for locally bipartite graphs and which remain NP-hard?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Especially interested in clique and coloring.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Are there inclusions between locally bipartite and other&#xA;  graph classes?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Added&lt;/strong&gt; According to a &lt;a href=&quot;http://dimatia.fav.zcu.cz/files/files1996/27.ps&quot; rel=&quot;noreferrer&quot;&gt;paper&lt;/a&gt; they are also called &quot;almost bipartite&quot; and their complements&#xA;are generalized line graphs which are claw free.&lt;/p&gt;&#xA;" OwnerUserId="22348" LastEditorUserId="22348" LastEditDate="2015-01-17T09:13:43.470" LastActivityDate="2016-03-26T15:28:44.450" Title="Complexity results about locally bipartite graphs" Tags="&lt;reference-request&gt;&lt;graph-theory&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="29160" PostTypeId="2" ParentId="29159" CreationDate="2015-01-16T19:07:51.327" Score="17" Body="&lt;p&gt;Locally bipartite graphs obviously contain the locally independent (= triangle-free) graphs. &lt;a href=&quot;http://www.graphclasses.org/classes/gc_371.html&quot;&gt;According to graphclasses.org&lt;/a&gt;, most of the standard graph problems are already NP-complete for triangle-free graphs, and therefore also NP-complete for locally bipartite graphs. The two exceptions are clique (which is obviously polynomial for locally bipartite graphs because the maximum clique is a triangle) and clique cover, which is polynomial for triangle-free graphs but might be harder for locally bipartite graphs.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2015-01-16T19:07:51.327" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="29166" PostTypeId="2" ParentId="29142" CreationDate="2015-01-17T03:10:39.173" Score="24" Body="&lt;p&gt;&lt;strong&gt;Simple answer&lt;/strong&gt;: If there does exist a more efficient algorithm that runs in $O(n^{\delta})$ time for some $\delta &amp;lt; 2$, then the strong exponential time hypothesis would be refuted.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;We will prove a stronger theorem and then the simple answer will follow.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Theorem&lt;/strong&gt;: If we can solve the intersection non-emptiness problem for two DFA's in $O(n^{\delta})$ time, then any problem that's non-deterministically solvable using only n bits of memory is deterministically solvable in $poly(n)\cdot2^{(\delta n/2)}$ time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Justification&lt;/strong&gt;: Suppose that we can solve intersection non-emptiness for two DFA's in $O(n^{\delta})$ time.  Let a non-deterministic Turing machine M with a read only input tape and a read/write binary work tape be given.  Let an input string x of length n be given.  Suppose that M doesn't access more than n bits of memory on the binary work tape.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A computation of M on input x can be represented by a finite list of configurations.  Each configuration consists of a state, a position on the input tape, a position on the work tape, and up to n bits of memory that represent the work tape.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, consider that the work tape was split in half.  In other words, we have a left section of $\frac{n}{2}$ cells and a right section of $\frac{n}{2}$ cells.  Each configuration can be broken up into a left piece and a right piece.  The left piece consists of the state, the position on the input tape, the position on the work tape, and the $\frac{n}{2}$ bits from the left section.  The right piece consists of the state, the position on the input tape, the position on the work tape, and the $\frac{n}{2}$ bits from the right section.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, we build a DFA $D_1$ whose states are left pieces and a DFA $D_2$ whose states are right pieces.  The alphabet characters are instructions that say which state to go to, how the tape heads should move, and how the work tape's active cell should be manipulated.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The idea is that $D_1$ and $D_2$ read in a list of instructions corresponding to a computation of M on input x and together verify that it is valid and accepting.  Both $D_1$ and $D_2$ will always agree on where the tape heads are because that information is included in their input characters.  Therefore, we can have $D_1$ verify that the instruction is appropriate when the work tape position is in the left piece and $D_2$ verify when in the right piece.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In total, there are at most $poly(n) \cdot 2^{n/2}$ states for each DFA and at most $poly(n)$ distinct alphabet characters.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By the initial assumption, it follows that we can solve intersection non-emptiness for the two DFA's in $poly(n) \cdot 2^{(\delta n /2)}$ time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You might find this helpful: &lt;a href=&quot;https://rjlipton.wordpress.com/2009/08/17/on-the-intersection-of-finite-automata/&quot;&gt;https://rjlipton.wordpress.com/2009/08/17/on-the-intersection-of-finite-automata/&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;CNF-SAT is solvable using $k+O(\log(n))$ bits of memory where k is the number of variables.  The preceding construction can be used to show that if we can solve intersection non-emptiness for two DFA's in $O(n^{\delta})$ time, then we can solve CNF-SAT in $poly(n) \cdot 2^{(\delta k/2)}$ time.  Therefore, the &lt;strong&gt;simple answer&lt;/strong&gt; holds.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Comments, corrections, suggestions, and questions are welcomed.  :)&lt;/p&gt;&#xA;" OwnerUserId="14207" LastEditorUserId="14207" LastEditDate="2015-01-20T00:59:07.387" LastActivityDate="2015-01-20T00:59:07.387" CommentCount="10" ContentLicense="CC BY-SA 3.0" />
  <row Id="29167" PostTypeId="1" AcceptedAnswerId="29168" CreationDate="2015-01-17T03:33:15.077" Score="-3" ViewCount="74" Body="&lt;p&gt;I struggled to understand the &lt;a href=&quot;http://en.wikipedia.org/wiki/Cantor%27s_diagonal_argument&quot; rel=&quot;nofollow noreferrer&quot;&gt;Cantor's diagonal argument&lt;/a&gt;, but I have some problems comprehending the following:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;By construction, &lt;span class=&quot;math-container&quot;&gt;$s$&lt;/span&gt; differs from each &lt;span class=&quot;math-container&quot;&gt;$s_n$&lt;/span&gt;, since their &lt;span class=&quot;math-container&quot;&gt;$n^{th}$&lt;/span&gt; digits differ (highlighted in the example). &lt;strong&gt;Hence, &lt;span class=&quot;math-container&quot;&gt;$s$&lt;/span&gt; cannot occur in the enumeration.&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Can someone explain why the built sequence &lt;span class=&quot;math-container&quot;&gt;$s$&lt;/span&gt; cannot occur in the enumeration? I can imagine it somehow recursively that if we add it to &lt;span class=&quot;math-container&quot;&gt;$s_n$&lt;/span&gt;, we can pick another sequence with the same construction pattern and we can repeat these steps forever. However, I want to know if this is sufficient as a proof or there is some kind of other explanation.&lt;/p&gt;&#xA;" OwnerUserId="25297" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2015-01-17T04:33:49.287" Title="Explanation of Cantor's diagonal argument?" Tags="&lt;set-theory&gt;" AnswerCount="1" CommentCount="0" ClosedDate="2015-01-17T10:14:33.100" ContentLicense="CC BY-SA 3.0" />
  <row Id="29168" PostTypeId="2" ParentId="29167" CreationDate="2015-01-17T04:33:49.287" Score="1" Body="&lt;p&gt;It's actually more trivial. &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Suppose that $s$ occurs in the enumeration. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Then it occurs at some specific index. Let's call this index $n$. This means that $s = s_n$. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;But this is impossible, because $s$ and $s_n$ differ in the $n$th digit.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="1336" LastActivityDate="2015-01-17T04:33:49.287" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="29170" PostTypeId="1" AcceptedAnswerId="29178" CreationDate="2015-01-17T09:41:11.427" Score="3" ViewCount="346" Body="&lt;p&gt;Consider the following problem:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Input: a list of subsets $P_1, P_2, \ldots, P_k \subseteq V = \{1, \ldots, n\}$&lt;br&gt;&#xA;Output: a graph $G = (V,E)$ with minimum number of edges such that &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;for every $P_i$ there is a path in $G$ which has $P_i$ as its set of vertices.   &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Has this problem been studied?&lt;br&gt;&#xA;Does it have a name?&lt;br&gt;&#xA;What is the fastest known algorithm for solving it?&lt;/p&gt;&#xA;" OwnerUserId="31716" LastEditorUserId="31716" LastEditDate="2015-01-25T07:11:30.980" LastActivityDate="2015-01-25T07:11:30.980" Title="Graph with minimum number of edges having given sets of nodes as its paths" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;" AnswerCount="1" CommentCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="29171" PostTypeId="2" ParentId="27867" CreationDate="2015-01-17T11:40:08.737" Score="8" Body="&lt;p&gt;Moving a snake from one position to some other is PSPACE complete.&#xA;Snake is trivially in PSPACE.&#xA;We give a PSPACE hardness reduction from Hearn's Nondeterministic Constraint Logic.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Nondeterministic Constraint Logic&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;Let a &lt;em&gt;constraint graph&lt;/em&gt; be a directed graph with edges of weight $1$ and $2$, such that every vertex has incoming weight $\geq 2$.&#xA;Given two constraint graphs, it is PSPACE hard to transform one into the other by reversing edges, one at a time, keeping the incoming weight of each vertex $\geq 2$.&#xA;This still holds if the graph is planar and each vertex has degree $3$, and either $1$ or all $3$ of its edges have weight $2$.&#xA;The former type of vertex is called And and the latter is called Or (see figure).&#xA;&lt;img src=&quot;https://i.stack.imgur.com/3d1Xr.png&quot; alt=&quot;NCL gadgets&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Snake&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;In our construction, the snake's head will be chasing its tail at some small distance and will be forced to repeat the same cycle with minor modifications.&#xA;We embed each edge of the constraint graph as in the figure (edges shown in red), where we indicate the position of the snake by thick lines.&#xA;An edge has two sides (vertices) and the snake takes the central route at the vertex to which the edge is directed.&#xA;&lt;img src=&quot;https://i.stack.imgur.com/N67Ih.png&quot; alt=&quot;Reversing an edge&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To reverse an edge, the snake first clears the center route and then takes the center route once its head reaches the opposite vertex.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We embed vertices of the constraint graph as shown below, where each of the three colored parts is a half of an edge gadget shown above. The points where the edges touch make sure that the incoming weight of each vertex is at least $2$ by forcing the snake to take the center route of some edge gadgets.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/D4nkW.png&quot; alt=&quot;Snake And&quot;&gt;&#xA;&lt;img src=&quot;https://i.stack.imgur.com/vvLEk.png&quot; alt=&quot;Snake Or&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, the black lines of all edge gadgets are connected to form a single cycle, so the head of the snake chases its tail.&#xA;If between two edge gadgets, we make the black path sufficiently long, the snake must always traverse the black paths in the same cyclic order.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To show that the black paths can always be constructed in a planar manner, consider a spanning subtree (thick edges in the figure below) of the constraint graph.&#xA;Then we can make black edges follow this tree as illustrated below, resulting in a planar graph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/oUjz8.png&quot; alt=&quot;Spanning Subtree&quot;&gt;&#xA;&lt;img src=&quot;https://i.stack.imgur.com/SxCqj.png&quot; alt=&quot;Planar Cycle&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The target position of the snake can be derived by the same transformation.&#xA;Hence, reconfiguring a snake is PSPACE complete, even on planar graphs.&lt;/p&gt;&#xA;" OwnerUserId="27113" LastEditorUserId="27113" LastEditDate="2015-01-21T17:54:02.787" LastActivityDate="2015-01-21T17:54:02.787" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="29172" PostTypeId="1" CreationDate="2015-01-17T12:44:20.723" Score="1" ViewCount="499" Body="&lt;p&gt;I am looking for problems which have an algorithm with asymptotically optimal exponential computational complexity or the problem has a lower bound of exponential computational complexity for algorithms to solve the problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am not looking for problems, where this is implied because the solution can be exponential in size.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you know any, it would be very kind if you can share it with me.&lt;/p&gt;&#xA;" OwnerUserId="31718" LastActivityDate="2015-01-17T15:18:06.390" Title="Problems with exponential lower computational complexity bound" Tags="&lt;complexity-classes&gt;" AnswerCount="1" CommentCount="6" FavoriteCount="2" ClosedDate="2015-01-20T16:25:37.710" ContentLicense="CC BY-SA 3.0" />
  <row Id="29174" PostTypeId="2" ParentId="29172" CreationDate="2015-01-17T15:18:06.390" Score="6" Body="&lt;p&gt;Given a Turing machine $T$ and an a number $n$ encoded in unary, decide whether $T$ halts in time $2^n$. There is an $O(C^n)$ algorithm for this, and there's an almost matching $\Omega(c^n)$ lower bound (where $c &amp;lt; C$). See the proof of the &lt;a href=&quot;http://en.wikipedia.org/wiki/Time_hierarchy_theorem&quot;&gt;Time Hierarchy Theorem&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you're looking for more natural problems, Wikipedia has a list of &lt;a href=&quot;http://en.wikipedia.org/wiki/EXPTIME&quot;&gt;EXPTIME-complete problems&lt;/a&gt;, such as evaluating positions in certain generalized versions of board games, and problems involving succinct circuits.&lt;/p&gt;&#xA;" OwnerUserId="40" LastActivityDate="2015-01-17T15:18:06.390" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="29175" PostTypeId="1" AcceptedAnswerId="29188" CreationDate="2015-01-18T01:35:54.127" Score="5" ViewCount="1852" Body="&lt;p&gt;Good Evening!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am aware that the minimum (cardinality) vertex cover problem on cubic graphs ($3$-regular) graphs is $NP$-hard.  &lt;strong&gt;Say positive integer $k&amp;gt;2$ is fixed&lt;/strong&gt;. Has there been any computational complexity proof (aside from the $3$-regular result, note this would be $k=3$,) that shows the minimum (cardinality) vertex cover problem on $k$-regular graphs is $NP$-hard (e.g., $4$-regular)?  Since $k$ is fixed, you aren't guaranteed the cubic graph instances needed to show the classic result I mentioned above.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that this problem would be straightforward to see is $NP$-hard from the result I mentioned at the start if we were to state that this were for any regular graph (since $3$-regular is a special case), we don't get that when $k$ is fixed. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does anybody know of any papers that address the computational complexity of minimum (cardinality) vertex cover on a $k$-regular graph, when $k$ is fixed/constant?  I have been having difficulties trying to find papers that address this (in the slew of documents that cover the classic result of minimum (cardinality) vertex cover on cubic graphs being $NP$-hard.) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thank you so much!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT (again): @R B gave a construction below!&lt;/p&gt;&#xA;" OwnerUserId="31726" LastEditorUserId="31726" LastEditDate="2015-01-19T15:46:25.743" LastActivityDate="2015-01-19T15:46:25.743" Title="Minimum vertex cover on k-regular graphs, for fixed k&gt;2 NP-hard proof?" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;np-hardness&gt;" AnswerCount="3" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="29176" PostTypeId="1" AcceptedAnswerId="29179" CreationDate="2015-01-18T10:03:49.327" Score="0" ViewCount="79" Body="&lt;p&gt;$d_H$ denotes the Hamming distance between two binary strings of the same size. The problem is stated as follows.&#xA;Given any undirected graph $(V, A)$, does there always exist a one-to-one correspondence $f : V \mapsto \Omega$, $f$ computable in polynomial time,&#xA;where $\Omega$ is a set of binary strings of the same size and such that $\exists \alpha &amp;gt; 0$, $\forall v_i, v_j \in V$,&#xA;$$d_H(f(v_i), f(v_j)) = \left\lbrace\begin{array}{ll}&#xA;\alpha &amp;amp; \mbox{ if } (v_i, v_j) \in A,\\&#xA;\mbox{some value strictly greater than $\alpha$,}&amp;amp; \mbox{otherwise.}&#xA;\end{array}\right.$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For instance, if $(V, A)$ is a clique of size $3$, i.e., $V = \{v_1, v_2, v_3\}$ and $A = V \times V$, then such a function $f$ can be defined as follows:&#xA;$f(v_1) = 100$, $f(v_2) = 010$, $f(v_3) = 001$. We have $d_H(v_1, v_2) = d_H(v_2, v_3) = d_H(v_1, v_3) = 2$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As another example, consider a line $(V, A)$ of size $3$, i.e., $V = \{v_1, v_2, v_3\}$ and $A = \{(v_1, v_2), (v_2, v_1), (v_2, v_3), (v_3, v_2)\}$, then such a function $f$ can be defined as follows:&#xA;$f(v_1) = 00$, $f(v_2) = 10$, $f(v_3) = 11$. We have $d_H(v_1, v_2) = d_H(v_2, v_3) = 1$ and $d_H(v_1, v_3) = 2$.&lt;/p&gt;&#xA;" OwnerUserId="31674" LastEditorUserId="31674" LastEditDate="2015-01-18T10:16:01.737" LastActivityDate="2015-01-18T14:22:27.597" Title="polytime transformation from a graph to a set of binary strings" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;polynomial-time&gt;&lt;string-matching&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="29177" PostTypeId="2" ParentId="29175" CreationDate="2015-01-18T10:23:10.773" Score="4" Body="&lt;p&gt;I think you could show that for any $k$, $3k$-regular graphs (e.g. 6-regular) the problem is NP-hard by a reduction from cubic graphs:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $G=(V,E)$ be a 3-regular graph, then construct $k$ copies of $G$, and connect them:&#xA;$$G_k=(\cup\{V_i|i\in [k]\}, \cup \{E_{i,j}\ | i,j\in [k] \})$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Where $$V_i=\{v_i|v\in V\}, E_{i,j}=\{(u_i,v_j)|(u,v)\in E\}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now it shouldn't be hard to argue that if a vertex set $H\subseteq V$ is a vertex cover for $G$, then  $\cup \{H_i|i\in [k]\}$ is a vertex cover for $G_k$, and the smallest VC for $G_k$ can't be smaller than $k$ times the smallest VC for $G$, every $V_i$ has to be properly covered.&lt;/p&gt;&#xA;" OwnerUserId="21001" LastEditorUserId="21001" LastEditDate="2015-01-18T12:38:58.137" LastActivityDate="2015-01-18T12:38:58.137" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="29178" PostTypeId="2" ParentId="29170" CreationDate="2015-01-18T10:24:26.370" Score="5" Body="&lt;p&gt;This problem is NP-complete, even for the special case $|P_k|\le 3$. I will give a reduction from Vertex Cover. I will refer to the sets $P_1,\ldots,P_k$ in the question as &lt;em&gt;constraints&lt;/em&gt;: binary or ternary, depending on their cardinality.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $(V',E',k)$ be an instance of &lt;a href=&quot;http://en.wikipedia.org/wiki/Vertex_cover&quot; rel=&quot;nofollow&quot;&gt;Vertex Cover&lt;/a&gt;: Is there a subset $S$ of $k$ vertices from $V'$ such that $S$ covers (that is, intersects) all edges in $E'$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We add a distinguished vertex $\bullet$; that is, $V=V'\cup\{\bullet\}$. We add binary constraints for all pairs of vertices in $V'$: for each $\{i,j\}\subseteq V'$, we add the constraint $\{i,j\}$. We then add ternary constraints for each edge in $E'$: for each $\{i,j\}\in E'$, we add the constraint $\{i,j,\bullet\}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We ask whether there is a graph with $\binom{|V'|}{2}+k$ edges that satisfies the above constraints. The answer (yes or no) is an answer to the Vertex Cover question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Why would that work? Because of the binary constraints, we know that edge $\{i,j\}$ is selected. So, the only task that remains is to pick between $\{i,\bullet\}$ and $\{j,\bullet\}$. That's exactly the task we have in the original Vertex Cover problem: Pick which endpoint of an edge we use to cover it.&lt;/p&gt;&#xA;" OwnerUserId="236" LastEditorUserId="236" LastEditDate="2015-01-18T17:03:21.227" LastActivityDate="2015-01-18T17:03:21.227" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="29179" PostTypeId="2" ParentId="29176" CreationDate="2015-01-18T11:24:24.197" Score="2" Body="&lt;p&gt;Yes. If the graph is regular there is a trivial scheme. Fix some ordering of the edges, and define $f(v)$ to be $0$ at the corresponding position of a particular edge if $v$ is not incident to that edge, and $1$ is $v$ is incident to the edge.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If the graph is $k$-regular, then $d_H(f(v),f(u))$ is $2k-2$ if $u$ and $v$ are adjacent, and $2k$ if they are not.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If the graph is not regular, then we may pad the graph with additional degree $1$ vertices such that all of the original vertices have the same degree. Then the above scheme will work.&lt;/p&gt;&#xA;" OwnerUserId="28912" LastEditorUserId="28912" LastEditDate="2015-01-18T14:22:27.597" LastActivityDate="2015-01-18T14:22:27.597" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="29180" PostTypeId="2" ParentId="25936" CreationDate="2015-01-18T11:35:22.490" Score="1" Body="&lt;p&gt;Partial answer, don't understand enough group theory, but two papers&#xA;appear to give partial results.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;GI for circulants is polynomial.&#xA;Edged-colored GI for circulants is GI complete via&#xA;the simple reduction $G \to G'$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Make a clique from $V(G)$ and color an edge $e \in E(G')$&#xA;with $1$ iff $e \in E(G)$ and $0$ otherwise.&#xA;To recover $G$ from $G'$ just take the edges colored $1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$G \cong H \iff G' \cong H'$ where the isomorphism preserves&#xA;the edge coloring.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$G'$ is edge colored clique and hence circulant.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://dept.math.lsa.umich.edu/undergrad/REU/ArchivedREUpapers/2010%20Papers/Odena%20paper.pdf&quot; rel=&quot;nofollow&quot;&gt;This paper&lt;/a&gt; claims:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Abstract. We construct a deterministic algorithm that tests whether two&#xA;  circulant graphs are isomorphic. The running time is $ O(n^2 (\log n)^6 )$, where $n$ is the number of vertices of each graph. Our algorithm works for directed,&#xA;  undirected, and &lt;strong&gt;edge-colored circulants&lt;/strong&gt;.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The exact definition of &quot;edge-colored&quot; is not clear to me.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.104.9010&quot; rel=&quot;nofollow&quot;&gt;Paper proving circulant GI is polynomial&lt;/a&gt; in a footnote on p.1 claims:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;By a graph we mean an ordinary graph, a digraph, or even an &lt;strong&gt;edge colored graph&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://mathoverflow.net/questions/194189/when-is-edge-colored-circulant-isomorphism-polynomial&quot;&gt;Asked on MO&lt;/a&gt; what are the restrictions for the colorings.&lt;/p&gt;&#xA;" OwnerUserId="22348" LastActivityDate="2015-01-18T11:35:22.490" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="29181" PostTypeId="1" AcceptedAnswerId="29182" CreationDate="2015-01-18T12:33:38.450" Score="8" ViewCount="788" Body="&lt;p&gt;It seems to me that the &lt;em&gt;square removal&lt;/em&gt; task can be reduced to the &lt;em&gt;factoring&lt;/em&gt; task, but that there is no way to reduce factoring to square removal. Is there a way to make this &quot;feeling&quot; more precise, i.e. some commonly believed hypothesis which would be violated if factoring could be reduced to square removal? But if square removal should indeed be easier than factoring (in the sense outline above), then the next question is whether it is an &lt;a href=&quot;http://en.wikipedia.org/wiki/NP-intermediate&quot;&gt;NP-intermediate&lt;/a&gt; problem (i.e. whether a polynomial time algorithm for it is known or not).&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Here is a clumsy description of the &lt;strong&gt;square removal&lt;/strong&gt; and &lt;strong&gt;factoring&lt;/strong&gt; tasks:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $n\in\mathbb{N}^*$ be given in binary representation. Let $n=\prod_i p_i^{\alpha_i}$ with $p_i$ prime, $\alpha_i\in\mathbb{N}^*$, and $p_i\neq p_j$ for $i\neq j$ be the prime factorization of $n$.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;For square removal, the binary representation of $m=\prod_i p_i$ is requested.&lt;/li&gt;&#xA;&lt;li&gt;For factoring, finding (the binary representation of) a non-trivial factor of $n$ is requested, i.e. a number $q=\prod_j p_j^{\beta_j}$ with $1&amp;lt;q&amp;lt;n$, $\beta_j\in\mathbb{N}$, and $\beta_j\leq\alpha_j$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="20340" LastActivityDate="2015-01-18T19:46:17.297" Title="Is square removal easier than factoring?" Tags="&lt;cc.complexity-theory&gt;&lt;nt.number-theory&gt;&lt;factoring&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="29182" PostTypeId="2" ParentId="29181" CreationDate="2015-01-18T12:52:33.883" Score="10" Body="&lt;p&gt;I believe no polynomial algorithm is known.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;According to a &lt;a href=&quot;http://imi.kyushu-u.ac.jp/~takagi/takagi/publications/cr98.ps&quot; rel=&quot;nofollow noreferrer&quot;&gt;paper&lt;/a&gt; this is used in at least one cryptosystem:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Abstract. We propose a cryptosystem modulo $p^k q$ based on the RSA&#xA;  cryptosystem. We choose an appropriate modulus $p^ k q$ which resists two&#xA;  of the fastest factoring algorithms, namely the number field sieve and&#xA;  the elliptic curve method.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;If you can find $pq$ you will break the cryptosystem by&#xA;computing $\frac{p^k q}{pq}=p^{k-1}$.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;This &lt;a href=&quot;https://mathoverflow.net/questions/16098/complexity-of-testing-integer-square-freeness&quot;&gt;question&lt;/a&gt; shows no polynomial algorithm is known to decide&#xA;if integer is squarefree (all your $\alpha_i=1$).&lt;/p&gt;&#xA;" OwnerUserId="22348" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2015-01-18T13:34:14.363" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="29183" PostTypeId="2" ParentId="27696" CreationDate="2015-01-18T12:58:47.627" Score="1" Body="&lt;p&gt;Basically you have been mislead by the errors in the proof in the edition of the paper you are referring to. Please refer to the published edition on &lt;a href=&quot;http://download.springer.com/static/pdf/601/art%253A10.1007%252FBF01784241.pdf?auth66=1421584284_c32b622096bcfe44327bffb4baf4b47b&amp;amp;ext=.pdf&quot; rel=&quot;nofollow&quot;&gt;&quot;Distributed Computing'1995&quot;&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;There's almost certainly a typo/misprint when they refer to the $(s[q] \bot 1)$st write.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Yes, it is a typo. It should be &quot;the $(s[i] - 1)$st write&quot; (not $(s[j] - 1)$st either)&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&quot;Let $\hat{w}$ be the $(s[j] - 1)$st write.&quot; Even assuming $s[j]−1$, what if $s[j]$ is 0 or 1?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;It should be &quot;Let $\hat{w}$ be the $(s[i] - 1)$st write.&quot;&#xA;By definition, $s$ is the timestamp of the write operation $w$ of process $i$. According to the rule of &lt;code&gt;Write operation&lt;/code&gt; in Fig.3, we have $s[i] \ge 1$. The problem is what if $s[i] = 1$. Well, it seems that the authors have missed the edge case. Fortunately, it is obviously true that $t[i] = 0 = s[i] - 1$.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Why does lemma 1 say that $ts(\hat{w}) \le ts(w)$?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;$\hat{w}$ and $w$ are two consecutive write operations in process $i$ and $\hat{w}$ is the former one. According to the rule of &lt;code&gt;Write operation&lt;/code&gt; in Fig.3, we have $ts(\hat{w}) \le ts(w)$. (Actually, we have $ts(\hat{w}) &amp;lt; ts(w)$.)&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Even if we assume $t[i] \ge s[i]−1$, why is this sufficient? Don't we need to show $s[i]=t[i]+1$?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Yes, you are right. That is exactly what are proved in the DC edition.&lt;/p&gt;&#xA;" OwnerUserId="12739" LastActivityDate="2015-01-18T12:58:47.627" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="29184" PostTypeId="1" CreationDate="2015-01-18T14:36:35.727" Score="10" ViewCount="385" Body="&lt;p&gt;Proof complexity is a most basic area of computational complexity theory. An ultimate purpose of this area is to prove &lt;span class=&quot;math-container&quot;&gt;$NP\neq coNP$&lt;/span&gt;, that is, any prover cannot give a proof of unsatisfiability of given input formula.&lt;/p&gt;&#xA;&lt;p&gt;A graph is one of formal model of proofs.  My question is about further restriction to this model.&lt;/p&gt;&#xA;&lt;p&gt;A proof is represented as a DAG. Nodes with fan-in 0 have axiom-labels. The unique node with fan-out 0 corresponds to &amp;quot;false.&amp;quot; For given input rules of deduction, each node which has both in-degree and out-degree has the  label representing proposition.&lt;/p&gt;&#xA;&lt;p&gt;My question is:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Are there proof systems and related researches in the case that the class of proof-DAGs are restricted?&#xA;Papers, survey, and lecture note are welcome.&lt;/p&gt;&#xA;&lt;p&gt;Do Proof Systems which are previously studied such as Nullstellensatz, Resolution, LS, AC0 Frege, RES(k), Polynomial Caluculus, and Cutting Planes, have some graph theoretic characterization??&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="31733" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2015-12-21T22:54:27.887" Title="Graph theoretic restriction to Proofs in Proof Complexity Theory" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;graph-theory&gt;&lt;np&gt;&lt;proof-complexity&gt;" AnswerCount="3" CommentCount="0" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="29186" PostTypeId="2" ParentId="27875" CreationDate="2015-01-18T15:29:17.597" Score="3" Body="&lt;p&gt;As time can be a resource, it is a bit unclear to me what you seek.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Nevertheless, you might want to look at weighted extensions of LTL, like Metric Temporal Logic first defined &lt;a href=&quot;http://link.springer.com/article/10.1007%2FBF01995674#page-1&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;. (Specifying real-time properties with metric temporal logic)&lt;/p&gt;&#xA;" OwnerUserId="31734" LastActivityDate="2015-01-18T15:29:17.597" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="29187" PostTypeId="2" ParentId="29175" CreationDate="2015-01-18T15:41:14.390" Score="6" Body="&lt;p&gt;Fleischner, Sabidussi and Sarvanov proved in 2010 that independent set (and hence also vertex cover) is NP-complete even in 4-regular Hamiltonian graphs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Herbert Fleischner, Gert Sabidussi, Vladimir I. Sarvanov: &#xA;Maximum independent sets in 3- and 4-regular Hamiltonian graphs. &#xA;Discrete Mathematics 310: 2742-2749 (2010)&#xA;&lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0012365X10001974&quot;&gt;http://www.sciencedirect.com/science/article/pii/S0012365X10001974&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="31660" LastActivityDate="2015-01-18T15:41:14.390" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="29188" PostTypeId="2" ParentId="29175" CreationDate="2015-01-18T15:45:13.567" Score="7" Body="&lt;p&gt;By adding a small ($O(k)$) sized graph to each vertex you could reduce $VC$ of size $m$ in a 3-regular graph $G$ to $VC$ of size $m+2k|V|$ in a $k-regular$ graph.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Here is a reduction for 5-regular graphs, and I believe you can easily generalize it for every $(2k+1)$-regular graphs, for every integer $k$, and perhaps some trickery would allow similar construction for $2k$-regular graphs;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider the graph $H$ in the photo:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/2aqCn.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(all vertices has degree 5, except for the blue vertex).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For every vertex $v$ in the 3-regular graph $G$, create two copies of $H$ and connect $v$ to their blue vertices.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is easy to see that regardless of whether $v$ was selected for the cover, you have to include at least $5$ vertices from $H_v$ in the cover (you can take the blue and green ones).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hence every vertex cover of size $m$ in $G$ corresponds to a $m+10|V|$ sized cover in the new 5-regular graph, and vice versa.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;EDIT:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Similar trick could be applied to get $2k$-regular graphs as well. Consider for example the following reduction from 3-regular to 4-regular graphs;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Partition the graph vertices into pairs (duplicate the graph if the number of vertices is odd), and for every pair $u,v$ connect each to a blue vertex in the following structure:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/snZie.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;For example, if your initial cubic graph is:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/3EI2F.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then the resulting $4$-regular graph is:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/CxyOW.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;And the 5-regular graph would be:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/Wow2o.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;" OwnerUserId="21001" LastEditorUserId="21001" LastEditDate="2015-01-19T15:03:01.543" LastActivityDate="2015-01-19T15:03:01.543" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="29189" PostTypeId="2" ParentId="22252" CreationDate="2015-01-18T17:40:56.417" Score="2" Body="&lt;p&gt;Your objective is to minimize the convex function $-\sum_{i=1}^n(x_i−a_i)y_i$ subject to a system of linear constraints on the continuous variables $x_i$ and $y_i$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Such convex minimization problems are polynomially solvable by so-called interior point methods; see for instance the book by Stephen Boyd and Lieven Vandenberghe: &quot;Convex Optimization&quot;; free pdf copy at: &lt;a href=&quot;http://www.stanford.edu/~boyd/cvxbook/bv_cvxbook.pdf&quot; rel=&quot;nofollow&quot;&gt;http://www.stanford.edu/~boyd/cvxbook/bv_cvxbook.pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="31660" LastActivityDate="2015-01-18T17:40:56.417" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="29190" PostTypeId="2" ParentId="27723" CreationDate="2015-01-18T18:24:15.907" Score="3" Body="&lt;p&gt;If South America is feasible for you, the &lt;a href=&quot;http://www.cmm.uchile.cl/&quot; rel=&quot;nofollow&quot;&gt;Center for Mathematical Modeling&lt;/a&gt; at University of Chile has a fairly large and very active research group in symbolic dynamics and related fields, including cellular automata. Also, their emphasis is for the most part more mathematical than computer science-y.&lt;/p&gt;&#xA;" OwnerUserId="31735" LastActivityDate="2015-01-18T18:24:15.907" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="29192" PostTypeId="2" ParentId="29181" CreationDate="2015-01-18T19:46:17.297" Score="11" Body="&lt;p&gt;We can show that if all $\alpha_i$ are different, then square removal and factoring of $n$ are equally hard.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is obvious, that if we can factor $n$, we can also compute square removal of $n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The other direction is a bit more tricky. First compute the square removal of $n$ and let's call this $m$. From the definition it follows that $m$ divides $n$. Divide by $m$ repeatedly until we reach a number, which is not divisible by $m$, I'll call this $x$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$x = \frac{n}{m^b}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now compute $p = \frac{m}{\gcd(x, m)}$, if $p$ had more than one prime factor, those would have identical $\alpha_i$ in the original product $n$, which contradicts the assumption about all $\alpha_i$ being different, hence $p$ is a prime factor in $n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Knowing one prime factor in $n$ it is possible to reduce the problem to factoring a smaller $n'$, which satisfy the same criteria, so the algorithm can be repeated.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We can also show that if all $\alpha_i$ are equal, then square removal is easy. That's because $\alpha_i$ can only have logarithmic size in $n$, and every possible $\alpha_i$ can be tested by computing the $\alpha_i$th root of $n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However the result obtained that way will be incorrect if the $\alpha_i$ were not equal. The obtained result will be correct iff it is square free. And @joro pointed out, that no polynomial algorithm is known to decide if a number is square free.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So for some $n$ square removal and factoring is equivalent. For other $n$ square removal is easy. Telling those two cases apart appears to be hard.&lt;/p&gt;&#xA;" OwnerUserId="27525" LastActivityDate="2015-01-18T19:46:17.297" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="29193" PostTypeId="2" ParentId="27143" CreationDate="2015-01-18T21:06:53.613" Score="3" Body="&lt;p&gt;J. van der Hoeven. &lt;strong&gt;&lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0747717102905626&quot; rel=&quot;nofollow&quot;&gt;Relax, but don't be too lazy&lt;/a&gt;&lt;/strong&gt;. J. Symb. Comput., 34:479–542, 2002.&lt;/p&gt;&#xA;" OwnerUserId="976" LastActivityDate="2015-01-18T21:06:53.613" CommentCount="0" CommunityOwnedDate="2015-01-18T21:06:53.613" ContentLicense="CC BY-SA 3.0" />
  <row Id="29194" PostTypeId="2" ParentId="29184" CreationDate="2015-01-18T21:08:22.897" Score="19" Body="&lt;p&gt;The most natural restriction on the proof DAG is that it be a tree – that is, any &quot;lemma&quot; (intermediate conclusion) is not used more than once. This property is called being &quot;tree-like&quot;. General resolution is exponentially more powerful than tree-like resolution, as shown for example by &lt;a href=&quot;http://www.math.ias.edu/~avi/PUBLICATIONS/MYPAPERS/BIW03/biw03.ps&quot;&gt;Ben-Sasson, Impagliazzo and Wigderson&lt;/a&gt;. The concept has also been considered for other proof systems – just search for &quot;tree-like X&quot;, where X is a proof system interesting you. In the particular case of resolution, there are other restrictions that can be considered. See for example a paper of &lt;a href=&quot;http://theoryofcomputing.org/articles/v003a005/v003a005.pdf&quot;&gt;Alekhnovich, Johannsen, Pitassi and Urquhart&lt;/a&gt; regarding regular resolution.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Tree-like resolution is especially important since traditional implementations of DPLL correspond to tree-like resolution refutations. The technique of clause learning, which is important in practice, corresponds to allowing general DAGs. Hence the structure of the proof DAG is also strongly dependent on the algorithm generating it.&lt;/p&gt;&#xA;" OwnerUserId="40" LastActivityDate="2015-01-18T21:08:22.897" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="29195" PostTypeId="1" CreationDate="2015-01-19T00:17:50.567" Score="2" ViewCount="64" Body="&lt;p&gt;Partition number, Fooling-set method along with rank method provide important tools to identify deterministic communication complexity of a function. These techniques were identified some decades before. What other modern techniques have been invented to identify deterministic complexity of a function? Which functions have these been utilized to solve?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Could tools from information theory, pattern matrix be useful in saying anything about deterministic complexity both in single user, multi user situations? &lt;/p&gt;&#xA;" OwnerUserId="1812" LastActivityDate="2015-01-19T00:17:50.567" Title="Modern tools deterministic communication applications" Tags="&lt;big-picture&gt;&lt;communication-complexity&gt;&lt;survey&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="29196" PostTypeId="1" AcceptedAnswerId="29384" CreationDate="2015-01-19T01:13:22.157" Score="11" ViewCount="249" Body="&lt;p&gt;Goldreich et al.'s proof that three colorability has zero knowledge proofs uses bit commitment for an entire coloring of the graph in each round [1].  If a graph has $n$ vertices and $e$ edges, a secure hash has $b$ bits, and we seek error probability $p$, the total communication cost is&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$O(ben \log(1/p))$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;over $O(1)$ rounds.  Using a gradually revealed Merkle tree, the total communication can be reduced to $O(be \log n \log (1/p))$ at the cost of increasing the number of rounds to $O(\log n)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is it possible to do better than this, either in terms of total communication or number of rounds?&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.wisdom.weizmann.ac.il/~oded/X/gmw1j.pdf&quot; rel=&quot;nofollow&quot;&gt;http://www.wisdom.weizmann.ac.il/~oded/X/gmw1j.pdf&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit&lt;/strong&gt;: Thanks to Ricky Demer for pointing out the missing factor of $e$.&lt;/p&gt;&#xA;" OwnerUserId="13245" LastEditorUserId="13245" LastEditDate="2015-02-02T19:02:39.513" LastActivityDate="2015-02-05T00:58:41.703" Title="Minimum communication cost for zero knowledge proofs of three colorability" Tags="&lt;communication-complexity&gt;&lt;zero-knowledge&gt;" AnswerCount="4" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="29197" PostTypeId="2" ParentId="21525" CreationDate="2015-01-19T02:07:40.143" Score="11" Body="&lt;p&gt;So people keep nagging me to post this even though it only solves a simplified&#xA;version of the problem.  Okay then :)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;At the end of this, I will put some of what I learned from the paper of Ibarra and Trân, and why &lt;em&gt;that&lt;/em&gt; method breaks down on our general problem, but perhaps still gives some useful information.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But first, we'll look at the simpler problem of trying to decide the set &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$L = \{ 2^n \mid $ the ternary and binary representations of $2^n$ have both even length or odd length$\}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note how this has $2^n$ rather than $n$ as in the original problem.  In particular if the input number is &lt;em&gt;not&lt;/em&gt; a power of 2, we want to reject it rather than attempt to calculate its length in any base.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This greatly simplifies matters: If the original number is written prime factorized as $2^{v_2} 3^{v_3} 5^{v_5} 7^{v_7} ...$, then for all the $v_i$ except $v_2$ we just need to check that they are all $0$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This allows us to solve this simplified problem by using a wrapper around the old method (by Minsky I assume) of encoding the state of a $k$-counter automaton in the exponents of the prime factorization of the single variable of a multiplication/division automaton, which as noted in the OP above is pretty much equivalent to a 2-counter automaton.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First, we need a $k$-counter automaton to wrap.  We will use 3 counters, named $v_2$, $v_3$ and $v_5$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The automaton will accept iff for the initial counter values, the ternary and binary representations of $2^{v_2}$ have both even length or odd length, &lt;em&gt;and&lt;/em&gt; both $v_3$ and $v_5$ are zero.  When it accepts it will first zero all its counters.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is some code for that, in an assembly format similar to the OP (I've just added variables to the instructions).  I haven't actually tested it, since I have nothing to run it with, but I consider this a formality: 3-counter automata are well known to be Turing-complete, and to be able to construct any computable function of one of their initial values.&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;// Check that v3 and v5 are both zero.&#xA;                JZ v3, check5&#xA;                GOTO reject&#xA;check5:         JZ v5, init3&#xA;                GOTO reject&#xA;// Decrement v2 until it is zero, constructing 2^n in the process.  If 2^n&#xA;// was even, we will then pass to even2 with 2^n in v3; If 2^n was odd, we&#xA;// will pass to odd2 with 2^n in v5.&#xA;init3:          INC v3          // Set v3 to 1 = 2^0 to start with.&#xA;even1:          // We have decremented v2 an even number of times so far.&#xA;                // 2^decremented amount is in v3.&#xA;                JZ v2, odd2&#xA;                DEC v2&#xA;dup3to5:        JZ v3, odd1&#xA;                DEC v3&#xA;                INC v5&#xA;                INC v5&#xA;                GOTO dup3to5&#xA;odd1:           // We have decremented v2 an odd number of times so far.&#xA;                // 2^decremented amount is in v5.&#xA;                JZ v2, even2&#xA;                DEC v2&#xA;dup5to3:        JZ v5, even1&#xA;                DEC v5&#xA;                INC v3&#xA;                INC v3&#xA;                GOTO dup5to3&#xA;// The second part checks the ternary length of 2^n, which starts out in v3&#xA;// or v5 according to whether the *binary* length of 2^n (i.e. n+1) was odd&#xA;// or even.&#xA;odd2:           // v3 needs to have odd ternary length to accept.&#xA;                // It is simplest to consider 0 to have even length in both&#xA;                // binary and ternary.  This works out as long as we're&#xA;                // consistent.&#xA;                JZ v3, reject&#xA;trisect3to5:    DEC v3&#xA;                DEC v3&#xA;                JZ v3, even2&#xA;                DEC v3&#xA;                INC v5&#xA;                GOTO trisect3to5&#xA;even2:          // v5 needs to have even ternary length to accept&#xA;                JZ v5, accept&#xA;trisect5to3:    DEC v5&#xA;                DEC v5&#xA;                JZ v5, odd2&#xA;                DEC v5&#xA;                INC v3&#xA;                GOTO trisect5to3&#xA;accept:         HALT Accept&#xA;reject:         HALT Reject&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;The next step is then to re-encode the above in the exponents of a single variable automaton.  As the result is pretty long, I'll just describe the general method, but a &lt;a href=&quot;http://oerjan.nvg.org/math/2ca.txt&quot; rel=&quot;nofollow&quot;&gt;full version&lt;/a&gt; (slightly &quot;optimized&quot; in spots) is on my website.&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;                JZ vp, label&#xA;                DEC vp&#xA;next:           ...&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;becomes (basically divide by p, and then do cleanup to undo if the division wasn't even):&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;                DIV p, next, ..., newlabel.fp-1&#xA;newlabel.f1:    MUL p&#xA;                GOTO newlabel.i1&#xA;...&#xA;newlabel.fp-1:  MUL p&#xA;                INC&#xA;newlabel.ip-2:  INC&#xA;...&#xA;newlabel.i1:    INC&#xA;                GOTO label&#xA;next:           ...&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;&lt;code&gt;INC vp&lt;/code&gt; becomes &lt;code&gt;MUL p&lt;/code&gt;. Individual &lt;code&gt;JZ&lt;/code&gt; and &lt;code&gt;DEC&lt;/code&gt; can first be changed into the combined form.  &lt;code&gt;GOTO label&lt;/code&gt; and &lt;code&gt;HALT Reject&lt;/code&gt; are unchanged.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;code&gt;HALT Accept&lt;/code&gt; would be unchanged, except that in our case we still have one final check to do: we need to ensure that there are no prime factors in the number &lt;em&gt;other&lt;/em&gt; than 2,3 and 5.  Since our particular 3-counter automaton zeros the counters it uses when it accepts, this is simple: just test that the final variable is 1, which can be done by jumping to the code&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;                DEC     // BTW it cannot be zero before this.&#xA;                JZ accept&#xA;                HALT Reject&#xA;accept:         HALT Accept&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;The code on my website also has an &lt;em&gt;initial&lt;/em&gt; check that the number isn't zero, which I've just realized is redundant with the v3, v5 zero checks, oh well.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As I mentioned, the above method works for the simplified problem, but it really has &lt;em&gt;no&lt;/em&gt; chance of working for the general one, because:  In the general problem the precise value of &lt;em&gt;every&lt;/em&gt; prime's exponent counts for deciding its general size and thus which lengths it has in various bases.  This means that:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;We have no &quot;free&quot; primes to use for counters.&lt;/li&gt;&#xA;&lt;li&gt;Even if we &lt;em&gt;did&lt;/em&gt; have free primes for counters, we don't really have a way to extract all the necessary information from the infinitely many other primes whose exponent values &lt;em&gt;do&lt;/em&gt; matter.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;So let's end with an explanation of the gist of the general method from the above linked &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=151866&quot; rel=&quot;nofollow&quot;&gt;paper by Ibarra and Trân&lt;/a&gt; (&lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/030439759390028R&quot; rel=&quot;nofollow&quot;&gt;freely downloadable version&lt;/a&gt;) for how to prove that certain problems &lt;em&gt;aren't&lt;/em&gt; solvable by a 2CA, and how it annoyingly breaks down in our case.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First, they modify every 2CA into a &quot;normal form&quot;, in which the two counters switch in &quot;phases&quot; between one only increasing and the other only decreasing until it reaches zero.  The number of states $s$ of this normalized automaton plays an important role in the estimates.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then, they analyze this automaton to conclude that they can construct certain arithmetic sequences of numbers whose behavior are linked.  To be precise (Some of this is not stated as theorems, but is implicit in the proof of both of their two main examples):&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;If a number x is accepted by the automaton, without the size $v^x_i$ of the nonzero counter at the beginning of a phase $i$ &lt;em&gt;ever&lt;/em&gt; going $\leq s$, then there exists an integer $D&amp;gt;0$ such that &lt;em&gt;all&lt;/em&gt; the numbers $x + n D$, $n\geq 0$ are accepted.&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;If a set $X$ contains at least $s^2+1$ accepted numbers such that for each number $x\in X$ there is a phase $i$ such that $v^x_i\leq s$, then we can find $p, r\in X$, and integers $K_1,K_2$ such that&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;For every integer $n\geq 0$, either $p + n K_1$ and $r + n K_2$ are both accepted by the automaton, or both are rejected.&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;(Thoughts:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;They require $x&amp;gt;s$ for $x\in X$ but I think this is actually unnecessary.  Actually so is that they are accepted.&lt;/li&gt;&#xA;&lt;li&gt;Most of this should also hold for &lt;em&gt;rejected&lt;/em&gt; numbers, as long as the rejection is by explicit halting rather than nontermination.)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;For their own examples they also frequently use the fact that $D,K_1,K_2$ have no prime factors $&amp;gt;s$.  To prove impossibility, they then derive contradictions by showing that such arithmetical sequences cannot exist.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In our problem, getting a contradiction from this breaks down with the second case.  If we have $K_1 = K_2 = 6^k$, where $k$ is large enough that &lt;em&gt;no&lt;/em&gt; number between $p$ and $r$ is divisible by either $2^k$ or $3^k$, then there will also be no powers of 2 or 3 between $p + 6^k n$ and $q + 6^k n$, so they are either both accepted or both rejected.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Point 1 can still be shown to be impossible, because powers of 2 and 3 mostly grow further and further apart.  And I believe I can show the second case impossible if $K_1\neq K_2$ (I've emailed @MarzioDeBiasi the argument).  So perhaps someone could use this information to restrict the form of the automaton further, and finally derive a contradiction from that.&lt;/p&gt;&#xA;" OwnerUserId="31679" LastEditorUserId="31679" LastEditDate="2015-01-19T16:41:04.240" LastActivityDate="2015-01-19T16:41:04.240" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="29199" PostTypeId="1" CreationDate="2015-01-19T05:29:28.803" Score="1" ViewCount="119" Body="&lt;p&gt;I am trying to find an example for the Theorem 5.1 of the paper &quot;Combinatorial Local Planarity and the Width of Graph Embeddings&quot; that can be found at &lt;a href=&quot;http://www.fmf.uni-lj.si/~mohar/Reprints/1992/BM91_CJM44_Mohar_GraphEmbeddings.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://www.fmf.uni-lj.si/~mohar/Reprints/1992/BM91_CJM44_Mohar_GraphEmbeddings.pdf&lt;/a&gt;. Given G(V,E) minimally embeddable on an &lt;strong&gt;orientable&lt;/strong&gt; surface $\Sigma_g$ of genus $g \geq 2$. Suppose that $C_1,C_2,\ldots, C_k$ be a planarly nested sequence (defined below) and $k\leq g$. I am trying to construct an example for graphs of genus $g \geq 2$ and $ k = g$ in which none of $C_1,C_2,\ldots, C_k$ bounds disks. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Definition:&lt;/strong&gt; A sequence of disjoint cycles $C_1,C_2, \ldots, C_k$ is planarly nested if each cycle $C_i (1 \leq i \leq k)$ has a relative $C_i$ component $H_i$ such that $H_1 \supset H_2 \supset \ldots \supset H_k$ and the graph obtained from $G$ by contracting to a single vertex all edges in the relative component $H_k$, except it feet, is planar.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A relative $C$-component for a cycle $C$ is an edge $e \in E(G)\backslash E(C)$ with both endpoint in $C$, or a connected component of $V(G) - V(C)$ together with all edges between this component and $C$. Edge of a $C$-component $R$ having an endpoint in $C$ is a &lt;strong&gt;foot&lt;/strong&gt; of $R$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is an example of two relatives $C$-component $H_1$ and $H_2$ of G.&#xA;&lt;img src=&quot;https://i.stack.imgur.com/apy0e.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;" OwnerUserId="21297" LastEditorUserId="21297" LastEditDate="2015-01-22T08:18:39.317" LastActivityDate="2015-01-22T08:18:39.317" Title="Example of non-disk bounding planarly nested sequences of cycles" Tags="&lt;topology&gt;&lt;topological-graph-theory&gt;" AnswerCount="0" CommentCount="8" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="29200" PostTypeId="1" CreationDate="2015-01-19T15:47:35.290" Score="2" ViewCount="147" Body="&lt;p&gt;Given a graph $G$ and a proper vertex coloring $C$ with the minimum&#xA;numbers of colors, how much faster can a maximum clique be found than&#xA;when just $G$ is given?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Additional information doesn't make the problem harder, and it is&#xA;still NP-hard since &lt;a href=&quot;http://graphclasses.org/classes/AUTO_2153.html&quot; rel=&quot;nofollow&quot;&gt;there are graph classes where coloring&#xA;is in P and clique is NP-hard&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There might be some relation to hypergraphs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We have the trivial bound $\omega(G) \le \chi(G)$, so an algorithm&#xA;which finds a clique of size $\chi(G)$ will stop.&lt;/p&gt;&#xA;" OwnerUserId="22348" LastEditorUserId="6579" LastEditDate="2015-01-21T13:37:52.497" LastActivityDate="2015-01-21T13:37:52.497" Title="How much faster is solving Clique in properly colored graph?" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;" AnswerCount="0" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="29201" PostTypeId="1" CreationDate="2015-01-19T16:25:07.587" Score="11" ViewCount="1183" Body="&lt;p&gt;I'm currently listening to Alan Kays' talk &quot;Is it really complex or did we just make it complicated ?&quot; (&lt;a href=&quot;https://www.youtube.com/watch?v=ubaX1Smg6pY&amp;amp;=&quot; rel=&quot;noreferrer&quot;&gt;https://www.youtube.com/watch?v=ubaX1Smg6pY&amp;amp;=&lt;/a&gt; ) where he says that &quot;semaphores were a bad idea and there was something called pseudo time that was superior&quot; (at 51:40 on the linked video).&#xA;Maybe I misunderstood the word &quot;pseudo time&quot;, but do you know anything about those ?&lt;/p&gt;&#xA;" OwnerUserId="31746" LastEditorUserId="13408" LastEditDate="2015-10-22T08:27:57.340" LastActivityDate="2015-10-22T08:27:57.340" Title="What's &quot;pseudo time&quot; when used in comparison with semaphores" Tags="&lt;terminology&gt;&lt;concurrency&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="29202" PostTypeId="2" ParentId="29196" CreationDate="2015-01-19T17:19:58.020" Score="2" Body="&lt;p&gt;&lt;strong&gt;Update&lt;/strong&gt;: This answer is obsoleted by my other answer, with fully polylogarithmic bounds from appropriate references.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On second thought, there's no need to reveal the Merkle tree gradually, so the lower communication version needs no extra rounds.  The communication steps are&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;The prover P randomizes its coloring, turns it into a (salted) Merkle tree, and sends the root to the verifier V.&lt;/li&gt;&#xA;&lt;li&gt;V picks a random edge $e$ and sends it to P.&lt;/li&gt;&#xA;&lt;li&gt;P sends the Merkle tree paths from the root to each endpoint of $e$ to V.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;This gives $O(be \log n \log (1/p))$ communication over $O(1)$ rounds.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt;  Here are details of the Merkle tree construction.  For simplicity, expand the graph to have exactly $2^a$ vertices by adding a few disconnected nodes (these do not effect three colorability or zero knowledge).  Assume a secure hash function taking any size input and producing $b$-bit outputs.  For each Merkle tree, the prover chooses $2^{a+1}-1$ random $b$-bit nonces, one for each leaf and nonleaf of the binary tree.  At the leaves, we hash the color concatenated with the nonce to produce the leaf's value.  At each nonleaf, we hash the two child value with the nonleaf's nonce to produce the nonleaf's value.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the first round, the prover sends only the root value, which provides no information since it is hashed with the root's nonce.  In the third round, no information is conveyed about any unexpanded node in the binary tree, since such a node was hashed with a nonce at that node.  Here I am assuming the prover and verifier are both computationally bounded and cannot break the hash.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit&lt;/strong&gt;: Thanks to Ricky Demer for pointing out the missing factor of $e$.&lt;/p&gt;&#xA;" OwnerUserId="13245" LastEditorUserId="13245" LastEditDate="2015-02-05T00:58:41.703" LastActivityDate="2015-02-05T00:58:41.703" CommentCount="17" ContentLicense="CC BY-SA 3.0" />
  <row Id="29203" PostTypeId="1" CreationDate="2015-01-19T20:36:36.967" Score="1" ViewCount="136" Body="&lt;p&gt;Let $G$ be a $3$-regular graph. Let $O$ be the number of vertex covers of $G$ having odd cardinality, and let $E$ be the number of vertex covers of $G$ having even cardinality. Let $\Delta = O - E$. Computing $\Delta$ is $\#P$-hard.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $A$ be an algorithm behaving as follows:  &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The input of $A$ is $G$, together with a positive integer constant $C_1$ (as huge as you wish).&lt;/li&gt;&#xA;&lt;li&gt;$A$ runs in time polynomial in the size of $G$.&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The output of $A$ is another graph $H$ having all these properties:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The minimum degree of $H$ is equal to or greater than $C_1$.&lt;/li&gt;&#xA;&lt;li&gt;The $\Delta$ of $H$ is the same as the $\Delta$ of $G$.&lt;/li&gt;&#xA;&lt;li&gt;$H$ has a number of nodes equal to $C_2 \cdot n$, where $n$ is the number of nodes of $G$, and $C_2$ is another constant (much bigger than $C_1$, but still constant in the size of $G$).&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The existence of $A$ allows us to &lt;em&gt;densify&lt;/em&gt; $G$, by increasing its minimum degree to any constant we desire.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Questions&lt;/strong&gt;:  &lt;/p&gt;&#xA;  &#xA;  &lt;ol&gt;&#xA;  &lt;li&gt;The question that interests me most is the following: what are the consequences of the existence of $A$? Does its existence implies some complexity class separation / collapse? My sensation is that it does not, but at the same time that maybe its existence could be nevertheless interesting under some point of view (I feel that just because I'm unaware of any known algorithm behaving like it).&lt;/li&gt;&#xA;  &lt;li&gt;Another question is: does computing $\Delta$ (or also $O + E$) has been studied for such graphs? My sensation is of course that by increasing the minimum degree the instance gets easier and easier (maybe it is still exponential time, but with the degree of the exponent which gets lower and lower as the minimum degree gets higher and higher). I wonder if there is a point at which $C_1$ is so astronomic that the instance becomes solvable in sub-exponential time (has anyone studied that?). The limitation of $A$ is that the number of nodes of $H$ grows faster than the minimum degree, so you can never make the minimum degree be a non-constant function of the number of nodes.  &lt;/li&gt;&#xA;  &lt;/ol&gt;&#xA;  &#xA;  &lt;p&gt;&lt;strong&gt;Motivation&lt;/strong&gt;:&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;My motivation is that a recently developed, very promising research avenue relates the existence / non-existence of algorithms to the existence / non-existence of lower bounds (and thus to complexity class separation / collapse). Of course the algorithm $A$ described here is not the same kind of algorithm usually described in those papers, as it does not solve the given instance: it just reduces it to another instance having a certain property. Nevertheless I wonder if it can fit into the global picture in some way.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="947" LastActivityDate="2015-01-19T20:36:36.967" Title="Consequences of the existence of the following algorithm: does it imply any complexity class separation / collapse?" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;complexity-classes&gt;&lt;lower-bounds&gt;" AnswerCount="0" CommentCount="8" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="29204" PostTypeId="1" AcceptedAnswerId="29207" CreationDate="2015-01-19T21:14:45.870" Score="3" ViewCount="177" Body="&lt;p&gt;Starting from $|00\cdots 0\rangle$, can permutational invariant quantum states, i.e. the following one:&#xA;$$&#xA;|\psi_n\rangle = \frac1{n!} \sum \prod_{\pi\in S_n} |\pi(0)\rangle|\pi(1)\rangle\cdots|\pi(n-1)\rangle,&#xA;$$&#xA;where $\pi$ runs over all permutations of the symmetric group $S_n$, e.g.&#xA;$$&#xA;|\psi_3\rangle = \frac16\left(|012\rangle+|021\rangle+|201\rangle+|210\rangle+|201\rangle+|210\rangle\right)&#xA;$$&#xA;be generated efficiently, i.e. in polynomial time? If so, how?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Choose $n$ to a power of $2$ if you need...&lt;/p&gt;&#xA;" OwnerUserId="9722" LastActivityDate="2015-01-20T15:05:10.313" Title="Efficient generation of permutational invariant quantum states" Tags="&lt;quantum-computing&gt;&lt;gr.group-theory&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="29205" PostTypeId="1" CreationDate="2015-01-19T22:36:15.670" Score="6" ViewCount="261" Body="&lt;p&gt;Let $n$ be a square-free positive integer, let $n=p_{1}p_{2}\ldots p_{k}$&#xA;be the prime factorization of $n$ into $k$ distinct primes $p_{i}$.&#xA;For such $n$, define $F_{n}(x)\triangleq\prod_{i=1}^{k}(x-p_{i})$.&#xA;That is, $F_{n}(x)\in\mathbb{Z}[x]$ is the monic polynomial whose&#xA;roots are distinct prime factors of $n$. If we know $F_{n}(x)$,&#xA;we can obviously factorize $n$ in polynomial time. Now suppose that&#xA;we are given some partial information on $F_{n}(x)$ instead of complete&#xA;$F_{n}(x)$. We would like to know &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What kind of partial information on $F_{n}(x)$ would allow factorization&#xA;  of $n$ in polynomial time? &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;For example, it was demonstrated in &lt;a href=&quot;https://www.cs.cmu.edu/~glmiller/Publications/Papers/BMS86.pdf&quot; rel=&quot;nofollow&quot;&gt;SUMS OF DIVISORS, PERFECT NUMBERS&#xA;AND FACTORING&lt;/a&gt; that knowing just the sum of absolute values of coefficients&#xA;of $F_{n}(x)$ is enough to factorize $n$. What other partial information&#xA;on $F_{n}(x)$ allows factorization of $n$ in polynomial time?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;After seeing comments, I am adding for kind of &quot;partial information&quot; we should be looking for.  As pointed out by @joro, knowing $F_n(1)$ or $F_n(-1)$ allows factorization of $n$. First question is that, does knowing value of $F_n(x)$ at any non-zero integer allow factorization of $n$? Second question is that, does knowing only constant many coefficients of $F_n(x)$ allow factorization of $n$?&lt;/p&gt;&#xA;" OwnerUserId="16008" LastEditorUserId="16008" LastEditDate="2015-01-23T11:41:10.513" LastActivityDate="2015-01-23T11:41:10.513" Title="Integer factorization using polynomial whose roots are prime factors" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;nt.number-theory&gt;&lt;comp-number-theory&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="29207" PostTypeId="2" ParentId="29204" CreationDate="2015-01-20T02:54:16.810" Score="7" Body="&lt;p&gt;Yes, they can. Recall that any reversible classical function can be computed in superposition. Now, generate the state &#xA;$$&#xA;\frac{1}{\sqrt{n!}}\left(\sum_{i=1}^n |i \rangle \right) \left( \sum_{i=1}^{n-1} |i \rangle \right)\left(\sum_{i=1}^{n-2} |i\rangle \right) \ldots \left(\sum_{i=1}^2 |i\rangle \right) \bigg(| 1\rangle \bigg) . $$&#xA;This is the superposition of all sequences where the $i$'th position contains a number between 1 and $n+1-i$. It's easy to generate because it's a tensor product of $n$ registers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then, find a reversible classical mapping from these sequences to permutations. One way of doing this is as follows. If there is an $i$ in the $t$'th position, take the $i$'th unused number available for the permutation. For example: suppose we have the sequence 24211. This gets mapped to the permutation as follows:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\begin{array}{r|l}&#xA;24211 &amp;amp; \ \ \ \emptyset \\&#xA;4211 &amp;amp; 2 \\&#xA;211 &amp;amp; 25 \\&#xA;11 &amp;amp; 253 \\&#xA;1 &amp;amp; 2531 \\&#xA;\emptyset \ \ \  &amp;amp; 25314&#xA;\end{array}&#xA;$$&#xA;To illustrate, the third element of the permutation is $3$ because at the third step, the available numbers are $1$, $3$, $4$, ($2$ and $5$ are already in use) and the second of these is $3$. You can easily check that each of these steps is a reversible computation, and so implementable in superposition on a quantum computer.&lt;/p&gt;&#xA;" OwnerUserId="1677" LastEditorUserId="1677" LastEditDate="2015-01-20T15:05:10.313" LastActivityDate="2015-01-20T15:05:10.313" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="29208" PostTypeId="2" ParentId="22493" CreationDate="2015-01-20T09:01:11.593" Score="4" Body="&lt;p&gt;Here is a DFA-related question I'd posted here before, and it's still open as far as I know:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Fix an integer &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt; and alphabet &lt;span class=&quot;math-container&quot;&gt;$\Sigma=\{0,1\}$&lt;/span&gt;. Define &lt;span class=&quot;math-container&quot;&gt;$DFA(n)$&lt;/span&gt; to be the collection of all finite-state automata on &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt; states with starting state 1. We are considering &lt;em&gt;all&lt;/em&gt; DFAs (not just connected, minimal, or non-degenerate ones); thus, &lt;span class=&quot;math-container&quot;&gt;$|DFA(n)| = n^{2n}2^n$&lt;/span&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now consider two strings &lt;span class=&quot;math-container&quot;&gt;$x,y\in\Sigma^*$&lt;/span&gt; and define &lt;span class=&quot;math-container&quot;&gt;$K_n(x,y)$&lt;/span&gt; to be the number of elements of &lt;span class=&quot;math-container&quot;&gt;$DFA(n)$&lt;/span&gt; that accept &lt;em&gt;both&lt;/em&gt; &lt;span class=&quot;math-container&quot;&gt;$x$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$y$&lt;/span&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Question: What is the complexity of computing &lt;span class=&quot;math-container&quot;&gt;$K_n(x,y)$&lt;/span&gt;? In particular, can &lt;span class=&quot;math-container&quot;&gt;$K_n(x,y)$&lt;/span&gt; be computed in time &lt;span class=&quot;math-container&quot;&gt;$poly(n,|x|,|y|)$&lt;/span&gt;?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This question has implications for &lt;a href=&quot;http://portal.acm.org/citation.cfm?id=1577108&quot; rel=&quot;nofollow noreferrer&quot;&gt;machine learning&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="1746" LastEditorUserId="1746" LastEditDate="2020-05-25T04:21:23.327" LastActivityDate="2020-05-25T04:21:23.327" CommentCount="2" ContentLicense="CC BY-SA 4.0" />
  <row Id="29209" PostTypeId="1" CreationDate="2015-01-20T09:01:31.583" Score="1" ViewCount="129" Body="&lt;p&gt;Consider an array of bytes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I want to partition the array, such that the following two conditions hold:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;The number of bytes within each partition (except perhaps the last one) is between L and U, inclusive. Here, L is much smaller than U.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Given a sub-array (i.e. consecutive bytes) of the main array, partition boundaries within the sub-array can be detected.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;h2&gt;Example:&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;Let the array of bytes be:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/knQH9.png&quot; alt=&quot;array of bytes&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let L = 2 and U = 4.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The following partitioning satisfies &lt;strong&gt;requirement 1&lt;/strong&gt; (red lines depict partition boundaries). Notice that the size of all partitions is between L and U inclusive.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/y998G.png&quot; alt=&quot;partitioned array&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To explain &lt;strong&gt;requirement 2&lt;/strong&gt;, assume that the following sub-array is given:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/uP92H.png&quot; alt=&quot;sub-array&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An algorithm satisfying &lt;strong&gt;requirement 2&lt;/strong&gt; should be able to correctly identify partition boundaries:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/oFOU7.png&quot; alt=&quot;partitioned sub-array&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;PS:&lt;/strong&gt; An idea which only satisfies the second requirement is called &lt;a href=&quot;http://theory.stanford.edu/~aiken/publications/papers/sigmod03.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;winnowing&lt;/a&gt;. It uses a sliding window over the bytes, computes some fingerprint in each window, and then uses another sliding window (the &quot;winnowing&quot; window) over fingerprints, and then selects the boundary to be the byte corresponding to the fingerprint which satisfies some property in each winnowing window.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit:&lt;/strong&gt; If no such algorithm exists, we can think of some relaxations. The one that best fits my case changes &lt;strong&gt;requirement 1&lt;/strong&gt; as follows:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let p(n) be the fraction of partitions of length n. We want p(n) to follow some bell-shaped distribution with mean $\mu$ and standard deviation $\sigma$. This way, I can reduce $\sigma$ to concentrate the partition lengths around $\mu$.&lt;/p&gt;&#xA;" OwnerUserId="873" LastEditorUserId="873" LastEditDate="2015-01-20T11:47:25.393" LastActivityDate="2015-01-20T11:47:25.393" Title="Array partitioning with limitations on partition size" Tags="&lt;ds.algorithms&gt;&lt;partition-problem&gt;" AnswerCount="0" CommentCount="11" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="29210" PostTypeId="1" CreationDate="2015-01-19T17:45:54.807" Score="2" ViewCount="116" Body="&lt;p&gt;The standard &lt;a href=&quot;http://en.wikipedia.org/wiki/Assignment_problem&quot; rel=&quot;nofollow&quot;&gt;Assignment Problem&lt;/a&gt; asks for an optimal one-to-one assignment between agents and tasks.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now consider the following generalization: Instead of specifying a  cost of a single agent-task pair, assume that you can specify a cost of an arbitrary set of agent-task pairs. The problem is then defined by a set of constraints, where each constraint is a cost &lt;code&gt;c&lt;/code&gt; and a set &lt;code&gt;S&lt;/code&gt; of task-agent pairs. Meaning of a such constraint is that a cost &lt;code&gt;c&lt;/code&gt; occurs when all pairs in &lt;code&gt;S&lt;/code&gt; are &quot;&lt;em&gt;satisfied&lt;/em&gt;&quot;, and the overall cost is the sum of costs of all satisfied constraints.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that this problem can be encoded as &lt;a href=&quot;http://en.wikipedia.org/wiki/Maximum_satisfiability_problem#Related_problems&quot; rel=&quot;nofollow&quot;&gt;Weighted Partial MAX-SAT&lt;/a&gt;, where hard clauses encode one-to-one assignment between agents and tasks, and each constraint is a (weighted) soft clause.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, I am interested if this can be reduced to something simpler or if this is a known problem, but so far wasn't able to find an answer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks for your help.&lt;/p&gt;&#xA;" OwnerUserId="31757" OwnerDisplayName="Ivan" LastEditorUserId="31757" LastEditDate="2015-01-20T13:35:52.993" LastActivityDate="2015-01-20T16:54:15.490" Title="Is there a name for this Assignment definition" Tags="&lt;ds.algorithms&gt;&lt;optimization&gt;&lt;sat&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="29211" PostTypeId="1" CreationDate="2015-01-20T13:09:18.633" Score="1" ViewCount="59" Body="&lt;p&gt;Are there known results on computational complexity of &lt;a href=&quot;https://en.wikipedia.org/wiki/Initial_value_problem&quot; rel=&quot;nofollow&quot;&gt;initial value problems&lt;/a&gt; of ODEs? As my question may be somewhat vague, I want to mention that I'm mainly interested for results on the computational complexity of one-step methods (&lt;a href=&quot;https://en.wikipedia.org/wiki/Runge%E2%80%93Kutta_methods&quot; rel=&quot;nofollow&quot;&gt;Runge-Kutta&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit&lt;/strong&gt;: I forgot to mention that I'am aware of the obvious time complexity results based on the number of function evaluations and the rate of convergence. I'm also aware of the PSPACE-completeness of the solution when the right-side of the equation $y'(t)=f(y(t),t))$ is polynomial-time computable and satisfies the weak Lipschitz condition w.r.t. $y(t)$ (which can be safely assumed in my case). All I want to know is what kind of conditions should an IVP obey to for its solution, $y(t)$, to be computable in polynomial time, if such conditions have beed found.&lt;/p&gt;&#xA;" OwnerUserId="20164" LastEditorUserId="20164" LastEditDate="2015-01-20T18:21:26.203" LastActivityDate="2015-01-20T18:21:26.203" Title="Computational complexity of Initial Value Problems of ODEs" Tags="&lt;cc.complexity-theory&gt;&lt;time-complexity&gt;&lt;na.numerical-analysis&gt;" AnswerCount="0" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="29212" PostTypeId="1" CreationDate="2015-01-20T16:26:11.657" Score="6" ViewCount="151" Body="&lt;p&gt;Suppose I have $n$ variables $x_1,\ldots,x_n$ that satisfy some inequalities that are highly symmetric, e.g., for all $S\subset [n], |S|=k$ we have $\sum_{i\in S} f(x_i,k)\le \sum_{i\in [n]} g(x_i,k)$, where $f$ and $g$ are some simple functions, e.g., composed of addition, minimum etc.&#xA;Is there a polynomial algorithm to decide whether this system has an integer solution?&#xA;What if the situation is a bit more complex, like we have several inequalities of the above form and/or additional individual inequalities, e.g., $x_i\le b_i$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Motivation:&#xA;Many classic problems can be brought to the above form, e.g., &lt;a href=&quot;http://en.wikipedia.org/wiki/Erd%C5%91s%E2%80%93Gallai_theorem&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/Erd%C5%91s%E2%80%93Gallai_theorem&lt;/a&gt; and &lt;a href=&quot;http://en.wikipedia.org/wiki/Fulkerson%E2%80%93Chen%E2%80%93Anstee_theorem&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/Fulkerson%E2%80%93Chen%E2%80%93Anstee_theorem&lt;/a&gt;.&#xA;For example in Erdos-Gallai we have $f=x_i+\min(x_i,k)-(k-1)$ and $g=\min(x_i,k)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Seems related but I don't see a direct connection:&#xA;&lt;a href=&quot;http://arxiv.org/abs/1012.4941&quot; rel=&quot;nofollow&quot;&gt;http://arxiv.org/abs/1012.4941&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="419" LastEditorUserId="419" LastEditDate="2015-01-25T19:41:43.520" LastActivityDate="2015-01-25T19:41:43.520" Title="Are highly symmetric inequalities solvable over integers?" Tags="&lt;linear-programming&gt;&lt;integer-programming&gt;" AnswerCount="0" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="29213" PostTypeId="2" ParentId="29210" CreationDate="2015-01-20T16:54:15.490" Score="1" Body="&lt;p&gt;Seems to me that the submodular welfare problem falls under your description. Have a look at &lt;a href=&quot;http://theory.stanford.edu/~jvondrak/data/KAM_thesis.pdf&quot; rel=&quot;nofollow&quot;&gt;http://theory.stanford.edu/~jvondrak/data/KAM_thesis.pdf&lt;/a&gt; chapter 4; here we assume that the utility function of subsets is submodular.&#xA;In general, your problem is just the combinatorial auction problem which is hard to approximate without any assumptions on the valuation function.&lt;/p&gt;&#xA;" OwnerUserId="31758" LastActivityDate="2015-01-20T16:54:15.490" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="29214" PostTypeId="2" ParentId="29132" CreationDate="2015-01-20T20:52:10.850" Score="0" Body="&lt;p&gt;$\Sigma_2^{\rm P}$-hardness holds even when $k = 1$. We prove it by considering a reduction from the validity problem for quantified boolean formulas (QBFs) of the form $\exists X \forall Y \alpha$ where $X = \{x_1, \dots, x_n\}$ and $Y = \{y_1, \dots, y_m\}$ are two disjoint sets of propositional atoms and $Var(\alpha) = X \cup Y$. Consider such a QBF. Let us define new sets of fresh variables $Z = \{z_1, \dots, z_{m+1}\}$ and for every $i \in \{1, \dots, m\}$, $X^i = \{x_1^i, \dots, x_n^i\}$. Let us associate with the QBF the propositional formula $\phi$ defined over $\bigcup_{i = 1}^m{X^i} \cup X \cup Y \cup Z$ as:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\phi = \bigwedge_{i=1}^n\bigwedge_{j=1}^m{x_i \leftrightarrow x_i^j} \wedge (\neg \alpha \rightarrow \bigwedge_{i = 1}^{m+1}{z_i})$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that $|Var(\phi)| = n(m+1) + 2m + 1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We prove that the QBF $\exists X \forall Y \alpha$ is valid if and only if there exists an interpretation $\omega \in Mod(\phi)$ such that $\forall \eta \in Mod(\phi)$, $d_H(\omega, \eta) \leq n(m + 1) + m$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;($\Rightarrow$ part) Assume that $\exists X \forall Y \alpha$ is valid. Then there exists an assignment over $X$ such that any completion of it over $X \cup Y$ satisfies $\neg \alpha$. Let $\omega'$ be such an assignment over $X$. We must have $\omega'(z_1) = \dots = \omega'(z_{m+1}) = 1$.&#xA;Then consider an assignement $\omega$ over $Var(\phi)$ satisfying the following conditions:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\forall i \in \{1, \dots, n\}$, $\omega(x_i) = \omega(x^1_i) = \dots = \omega(x^m_i) = |1 - \omega'(x_i)|$,&#xA;and for all other variables $s \in Y \cup Z$, $\omega(s) = 1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $\eta \in Mod(\phi)$. Then we fall in exactly two cases:&#xA;(i) $\eta$ differs from $\omega$ on all variables from $X$. In this case, $\eta$ and $\omega'$ have the same value on all variables from $\bigcup_{i=1}^m{X^i} \cup X$, so $\eta$ shares the same property as $\omega'$ on the fact that $\eta \models \neg \alpha$. Thus $\eta$ and $\omega$ have the same value on all variables from $Z$, i.e., $\forall i \in \{1, \dots, m+1\}$, $\eta(z_i) = \omega(z_i) = 1$, so $\eta$ and $\omega$ share the same value on at least $m + 1$ variables. Hence, $d_H(\eta, \omega) \leq n(m + 1) + m$.&#xA;(ii) $\eta$ and $\omega$ have the same value on some variable $x_a$ from $X$. Then they also have the same value on all variables $x^i_a$ from $X^i$, i.e., $\forall i \in \{1, \dots, m\}$, $\eta(x^i_a) = \omega(x^i_a)$, so $\eta$ and $\omega$ share the same value on at least $m + 1$ variables. Hence, $d_H(\eta, \omega) \leq |Var(\phi)| - (m + 1) = n(m + 1) + m$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We just proved that $\forall \eta \in Mod(\phi)$, $d_H(\omega, \eta) \leq n(m + 1) + m$. That is, we proved that if QBF $\exists X \forall Y \alpha$ is valid, then there exists an interpretation $\omega \in Mod(\phi)$ such that $\forall \eta \in Mod(\phi)$, $d_H(\omega, \eta) \leq n(m + 1) + m$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;($\Leftarrow$ part) Assume that $\exists X \forall Y \alpha$ is not valid. So it holds that for any assignment over $X$ there is a completion of it over $X \cup Y$ satisfying $\neg \phi$. Let $\omega \in Mod(\phi)$. Consider the assignment $\eta$ over $\bigcup_{i = 1}^m{X^i} \cup X \cup Z$ satisfying the following conditions:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\forall i \in \{1, \dots, n\}$, $\eta(x_i) = \eta(x^1_i) = \dots = \eta(x^m_i) = |1 - \omega(x_i)|$,&#xA;and $\forall i \in \{1, \dots, m+1\}$, $\eta(z_i) = |1 - \omega(z_i)|$.&#xA;By hypothesis, $\eta$ can completed to an assignment over $Var(\phi)$ such that $\eta \models \neg \phi$, and $\eta$ satisfies all constraints of $\phi$, thus $\eta \in Mod(\phi)$. Moreover, $\eta$ differs from $\omega$ on $n(m+1) + m + 1$ variables. So for every $\omega \in Mod(\phi)$, we can find an assignement $\eta \in Mod(\phi)$ such that $d_H(\eta, \omega) &amp;gt; n(m+1) + m$. Hence, there exists no interpretation $\omega \in Mod(\phi)$ such that $\forall \eta \in Mod(\phi)$, $d_H(\omega, \eta) \leq n(m + 1) + m$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This shows that the QBF $\exists X \forall Y \alpha$ is valid if and only if there exists an interpretation $\omega \in Mod(\phi)$ such that $\forall \eta \in Mod(\phi)$, $d_H(\omega, \eta) \leq n(m + 1) + m$, which concludes the proof that the initial problem is $\Sigma_2^{\rm P}$-hard. Since we already knew that it is in $\Sigma_2^{\rm P}$, it is $\Sigma_2^{\rm P}$-complete.&lt;/p&gt;&#xA;" OwnerUserId="31674" LastActivityDate="2015-01-20T20:52:10.850" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="29215" PostTypeId="1" AcceptedAnswerId="29218" CreationDate="2015-01-20T20:52:57.750" Score="4" ViewCount="359" Body="&lt;p&gt;The &lt;em&gt;positive rank&lt;/em&gt; of a square matrix is defined in Theorem $3$ of &lt;a href=&quot;http://dx.doi.org/10.1016/0022-0000(91)90024-Y&quot; rel=&quot;nofollow&quot;&gt;&quot;Expressing Combinatorial Optimization Problems by Linear Programs&quot;&lt;/a&gt; by Mihalis Yannakakis as follows: given a $n\times n$ matrix $A$, the positive rank $rank_{\Bbb R}^+(A)$ is the smallest $m$ such that $A=LR$ for a non-negative $n\times m$ matrix $L$, and non-negative $m\times n$ matrix $R$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This concept is valuable in communication complexity, since it was shown that if $rank_{\Bbb R}^+(A)$ and $rank_{\Bbb R}(A)$ could be subexponentially related for a $0/1$ matrix $A$, then the log-rank conjecture holds.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there an exponential separation between $rank_{\Bbb R}^+(A)$ and $rank_{\Bbb R}(A)$ for a general non-negative real matrix $A$ (as opposed to just $0/1$) or is this problem also open?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I checked the references in Jukna's book, but I am still unable to clarify the above question.&lt;/p&gt;&#xA;" OwnerUserId="1812" LastEditorUserId="6579" LastEditDate="2015-01-21T09:00:18.470" LastActivityDate="2015-01-21T20:48:08.033" Title="On the notion of positive rank of a matrix" Tags="&lt;communication-complexity&gt;&lt;definitions&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="29216" PostTypeId="1" CreationDate="2015-01-20T21:34:17.590" Score="6" ViewCount="487" Body="&lt;p&gt;Say I have $n$ independent Bernoulli random variables, with parameters $p_1,\ldots,p_n$. Say, also, that I wish to decide whether their sum exceeds some given threshold $t$ with probability at least $0.5$. What is the computational complexity of this decision problem, when $p_1,\ldots,p_n$ and $t$ are represented in binary and given as input?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More generally, I'm interested in the generalization of this problem to (non-Bernoulli) discrete distributions. Specifically, there are $n$ independent random variables, each supported on at most $m$ rational numbers, with each variable's probability histogram given explicitly in the input. In this case, also, I want to decide whether the sum of these variables exceeds $t$ with probability at least $0.5$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have a feeling this problem is PP-hard, though I can't quite prove it. I wonder what the answer is, and whether it's already known.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that I'm not looking for approximation algorithms for this problem. It's clear that monte carlo methods yield positive answers to approximate versions of this decision problem. I'm interested in the exact decision problem as stated above.&lt;/p&gt;&#xA;" OwnerUserId="2945" LastActivityDate="2016-06-25T22:26:40.493" Title="Deciding whether the sum of independent random variables exceeds a threshold a majority of the time, PP-hard?" Tags="&lt;cc.complexity-theory&gt;&lt;counting-complexity&gt;" AnswerCount="2" CommentCount="5" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="29218" PostTypeId="2" ParentId="29215" CreationDate="2015-01-21T02:16:51.950" Score="8" Body="&lt;p&gt;There are examples of $n\times n$ real matrices of rank at most $3$ and non-negative rank at least $\sqrt{2n}$. So the non-negative rank cannot be bounded by any function of the rank in general. The construction I am aware of goes through extension complexity. An explanation follows.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The extension complexity $xc(K)$ of a convex set $K$ in $\mathbb{R}^d$ is the smallest possible number of facets of a (higher-dimensional) polytope that projects to $K$. (Equivalently the smallest possible number of constraints in a linear program for $K$). A famous theorem of Yannakakis shows that if there exist $A$, $b$ and $v_1, \ldots, v_n$ such that $K = \{x: Ax \leq b\} = \mathrm{conv}(v_1, \ldots, v_n)$, then &#xA;$$&#xA;xc(K) = \mathrm{rank}^+(S),&#xA;$$&#xA;where $S$ is the slack matrix, defined by $S = b1^T - A^TV$ for $V = (v_1, \ldots, v_n)$, i.e. the matrix whose columns are the $v_i$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A &lt;a href=&quot;http://arxiv.org/abs/1107.0371&quot; rel=&quot;nofollow&quot;&gt;result by Fiorini, Rothvoss, and Tiwari&lt;/a&gt; shows that there exist two-dimensional $n$-gons with extension complexity at least $\sqrt{2n}$. Since any $n$-gon $P$ in $\mathbb{R}^2$ can be written as $P = \{x: Ax \leq b\} = \mathrm{conv}(v_1, \ldots, v_n)$ for $A$ an $n\times 2$ matrix, $b$ an $n\times 1$ vector and $V = (v_1, \ldots, v_n)$ a $2\times n$ matrix, the slack  matrix $S = b1^T - A^TV$ of $P$ is the sum of a rank $1$ and a rank $2$ matrix, and therefore is of rank at most $3$. On the other hand by Yannakakis's and Fiorini et al.'s results $\mathrm{rank}^+(S) = xc(P) \geq \sqrt{2n}$. &lt;/p&gt;&#xA;" OwnerUserId="4896" LastEditorUserId="4896" LastEditDate="2015-01-21T20:48:08.033" LastActivityDate="2015-01-21T20:48:08.033" CommentCount="14" ContentLicense="CC BY-SA 3.0" />
  <row Id="29219" PostTypeId="1" AcceptedAnswerId="29288" CreationDate="2015-01-21T06:09:33.670" Score="2" ViewCount="173" Body="&lt;p&gt;Suppose that Alice and Bob communicate to compute a function $f:\{0,1\}^n\times\{0,1\}^n\rightarrow\{0,1\}$. Does the minimal degree of a real polynomial/rational representation of $f$ play a role for upper and/or lower bounds on the deterministic, non-deterministic, randomized or quantum communication complexity of computing $f$?&lt;/p&gt;&#xA;" OwnerUserId="1812" LastEditorUserId="6579" LastEditDate="2015-01-21T12:30:03.433" LastActivityDate="2015-01-26T10:01:37.530" Title="Real representation versus communication complexity" Tags="&lt;boolean-functions&gt;&lt;communication-complexity&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="29220" PostTypeId="2" ParentId="29205" CreationDate="2015-01-21T07:17:39.517" Score="1" Body="&lt;p&gt;Knowing $F_n(1)$ or $F_n(-1)$ gives good randomized polynomial algorithm for the factorization of $n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We have $|F_n(1)|=\phi(n)$ and $|F_n(-1)|=\sigma(n)$ by definition.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\phi(n)$ is Euler's totient function and $\sigma(n)$ is the sum of divisors function.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The paper you link to proves the case for $\sigma(n)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The same paper cites that the case for $\phi(n)$ is known&#xA;and is derandomized assuming ERH (p. 1).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am pretty sure both algorithms will be quite fast in practice.&lt;/p&gt;&#xA;" OwnerUserId="22348" LastActivityDate="2015-01-21T07:17:39.517" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="29221" PostTypeId="2" ParentId="28062" CreationDate="2015-01-21T10:04:13.437" Score="1" Body="&lt;h2&gt;A preliminary guess at what it is you're looking for&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;I will give a preliminary answer, in the hopes that it might prompt you to elaborate on what promises to be quite a good question. I will assume you're referring to an idea along the lines of page 4 of [&lt;a href=&quot;http://cseweb.ucsd.edu/~russell/ias.ps&quot; rel=&quot;nofollow&quot;&gt;Arora+Impagliazzo+Vazirani&amp;nbsp;1993&lt;/a&gt;], which introduces the concept of &quot;local checkability&quot;  as follows:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;[...] we identify a general principle, the principle of &lt;em&gt;local checkability&lt;/em&gt;, which appears to us to be at the root of the above-mentioned non-relativizing results [&lt;em&gt;e.g.&lt;/em&gt;&amp;nbsp;&lt;strong&gt;IP&lt;/strong&gt;&amp;nbsp;=&amp;nbsp;&lt;strong&gt;PSPACE&lt;/strong&gt; and &lt;strong&gt;MIP&lt;/strong&gt;&amp;nbsp;=&amp;nbsp;&lt;strong&gt;NEXPTIME&lt;/strong&gt;]. While this principle can be formulated in several ways, all of them express the fact that computation is a very local process, and hence checking the correctness of a computation is simpler than performing the computation itself.&lt;sup&gt;1&lt;/sup&gt; We show that &quot;local checkability&quot; is a fact which does not relativize.&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;[...]&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;&lt;sup&gt;1&lt;/sup&gt; This fact is also at the root of the Cook-Levin Theorem, and a preliminary version of this paper identified &quot;local checkability&quot; with the term &quot;Cook-Levin Theorem&quot;.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Without going further into depth (awaiting a more precise description of the property which interests you), quantum computation &lt;em&gt;does&lt;/em&gt; admit a notion of local checkability.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the standard discrete-time models of quantum computation, all transformations are performed on small sets of bits: in this sense, computations are certainly local. So quantum computation is not any more holistic in principle than classical computation in this specific sense.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Local checkability vs. local performability&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;One might fear that the ability to perform local checks is undermined by the phenomenon of superposition, and in particular entanglement. If we have an operation O, which acts on a system A, how can we verify that the state of A after the operation corresponds correctly to the effect of O on the state of A before the operation, if the state of A cannot be isolated in the first place?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we bear in mind that randomized computation is also subject to this complication &amp;mdash; of systems not being independent of their environments &amp;mdash; we can realise that perhaps entanglement does not cause any necessary &quot;holisticness&quot; to quantum computation.&#xA;As usual, entanglement has in common with probabilistic correlations the fact that they are not product distributions; so merely failing to be a product distribution cannot be something which prevents local checkability of a quantum state, if it does not also prevent &lt;em&gt;probability distributions&lt;/em&gt; from being locally checkable. Absent this particular spectre, we may hope that there could be pertinent techniques in the quantum regime.&#xA;Of course, entanglement is more than just correlation of randomized events, because checkable properties of random correlations can be tested (with imperfect soundness) simply by sampling from the distribution, whereas this is not true in general of quantum states. Other techniques must be necessary.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The hint is provided by Arora, Impagliazzo, and Vazirani themselves in their invoking the Cook-Levin Theorem. I would suggest that we make reference to the techniques used to prove the &lt;strong&gt;QMA&lt;/strong&gt;-completeness of LOCAL-HAMILTONIAN, which is the quantum analogue of the Cook-Levin Theorem. One might conjecture that any model of computation which is limited to locally performed operations, and has an analogue of the Cook-Levin theorem (&lt;em&gt;i.e.&lt;/em&gt;&amp;nbsp;complete problems for the class of constraint satisfaction problems admitting efficiently checkable certificates), is similarly subject to local checkability in some sense. A formal exploration of this idea might be an interesting subject in its own right, in the theory of computation.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Quantum local checkability via LOCAL-HAMILTONIAN&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;Not at all unlike the reduction of CIRCUIT-SAT to SAT, the classic proof of the &lt;strong&gt;NP&lt;/strong&gt;-completeness of LOCAL-HAMILTONIAN involves testing whether or not a state satisfies local constraints imposed by simulating the evolution of a circuit.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In quantum information theory, constraints are generally presented as positive semi-definite &quot;observable&quot; operators, and satisfaction of all constraints amounts to the state being a ground-state for all such operators simultaneously. These &quot;observables&quot; correspond to events which can be measured and sampled using standard techniques. &#xA;In quantum computation (as with probability distributions), constraint testing has imperfect soundness error, but soundness can at least be tested statistically provided many copies of the distribution.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'll elaborate later; but the specific constraints which are tested for in the proof of &lt;strong&gt;QMA&lt;/strong&gt;-completeness of LOCAL-HAMILTONIAN correspond precisely to whether the state of a system A before some unitary operation, corresponds to the state of the system A after the unitary operation, this being exactly what local checkability represents.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On this basis, provided that this is what you mean, I would say that quantum computation admits a notion of local checkability.&lt;/p&gt;&#xA;" OwnerUserId="248" LastActivityDate="2015-01-21T10:04:13.437" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="29222" PostTypeId="2" ParentId="25825" CreationDate="2015-01-21T12:14:15.527" Score="2" Body="&lt;p&gt;The quantum Cheshire Cat experiments appear to require postselection even to exhibit. Of course, postselection is itself a computational resource (and an extremely powerful one!) for &quot;bounded&quot; error quantum computation, and one whose power is characterised. To wit: the class &lt;strong&gt;PostBQP&lt;/strong&gt; of decision problems decideable with bounded error using poly-size quantum circuits, conditioning on some single bit having the value 1 (provided that this occurs with non-zero probability) is precisely the class &lt;strong&gt;PP&lt;/strong&gt;. (Recall also that &lt;strong&gt;PP&lt;/strong&gt; contains &lt;strong&gt;NP&lt;/strong&gt; as a subset.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Perhaps one might ask whether quantum Cheshire cats might somehow represent a useful idiom in the design of  &lt;strong&gt;PP&lt;/strong&gt; algorithms for difficult problems. Alternatively, perhaps quantum Cheshire cats correspond to some intriguing feature of quantum mechanics that can be described &lt;em&gt;without&lt;/em&gt; resorting to (anything equivalent to) postselection, and which has implications for quantum computation. However, it isn't obvious at the moment that either of these are the case.&lt;/p&gt;&#xA;" OwnerUserId="248" LastActivityDate="2015-01-21T12:14:15.527" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="29223" PostTypeId="2" ParentId="9806" CreationDate="2015-01-21T14:57:30.110" Score="8" Body="&lt;p&gt;Here is a result from descriptive complexity theory:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$P \ne NP$ if and only if some second order property is not expressible using first order logic plus least fixed point.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Reference:&#xA;Immerman, &lt;a href=&quot;http://people.cs.umass.edu/~immerman/pub/LanguagesWhichSTOC83.pdf&quot;&gt;Languages that capture complexity classes&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="495" LastActivityDate="2015-01-21T14:57:30.110" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="29225" PostTypeId="2" ParentId="16253" CreationDate="2015-01-21T17:29:24.937" Score="4" Body="&lt;p&gt;Here is a &lt;a href=&quot;http://www.stats.ox.ac.uk/people/academic_staff/colin_mcdiarmid/?a=4138&quot; rel=&quot;nofollow&quot;&gt;strongly $NP$-complete&lt;/a&gt; problem (with numerical data as you requested):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Schur Triples problem&lt;/strong&gt;:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Input: list of 3N &lt;strong&gt;distinct&lt;/strong&gt; positive integers&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Question: Is there a partition of the list into N triples $(a_i, b_i, c_i)$ such that $a_i + b_i= c_i$ for each triple $i$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The condition that all numbers must be &lt;strong&gt;distinct&lt;/strong&gt; makes the problem very interesting and McDiarmid calls it a &lt;em&gt;surprisingly troublesome&lt;/em&gt; . &lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2015-01-22T09:30:55.640" LastActivityDate="2015-01-22T09:30:55.640" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="29226" PostTypeId="2" ParentId="9806" CreationDate="2015-01-21T18:20:05.410" Score="7" Body="&lt;p&gt;Ladner theorem can be stated as:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$P \ne NP$ if and only if there exists an incomplete set in $NP-P$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Incomplete set is a set that is not complete for $NP$ under many-one polynomial time reductions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Reference&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Complexity Theory and Cryptology: An Introduction to Cryptocomplexity&#xA; By Jörg Rothe, page 106&lt;/p&gt;&#xA;" OwnerUserId="495" LastActivityDate="2015-01-21T18:20:05.410" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="29227" PostTypeId="1" AcceptedAnswerId="29236" CreationDate="2015-01-21T18:29:09.293" Score="2" ViewCount="305" Body="&lt;p&gt;Let $U$ be a universal Turing Machine. Suppose I have a Kolmogorov incompressible string $s$ of length $n$. Let $A:\{1,...,n\} \to \{0,1\}$ be an algorithm such that $A(i) = s_i$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I believe that the time it takes for the universal Turing machine to evaluate $A$ on input $i$ should be $\Theta(n)$. I'm not familiar with Kolmogorov complexity, and I wanted to ask if the following intuition is correct&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;An upper bound on the running time of $A$ is $O(n)$, since the description of $A$ can just list the whole string $s$ and return $s_i$ on input $i$. The universal Turing machine on inputs $(A,i)$ simply reads the description of $A$ (Which is $O(n)$ in length) and outputs the $i^{th}$ coordinate (which takes time $\log n$)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;A lower bound on the running time of $A$ can be proved as follows.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;a. The description length of $A$ must be at least $n - log n - c$ for a constant $c &amp;gt; 0$. This is because the program $B$: &quot;Run $A$ on every input from $1$ to $n$&quot; has description length $DL(B) = DL(A) + log(n) + c$ and generates the string $s$. Thus $DL(B) \geq n$ and $DL(A) \geq n- \log(n) - c$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;b. The universal Turing machine $U$ on input $(A,i)$ needs to read both $A$ and $i$, which requires at least $DL(A) + \log n \geq n-c$ operations. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Is this intuition correct? Or am I missing something big about Kolmogorov complexity?&lt;/p&gt;&#xA;" OwnerUserId="7040" LastEditorUserId="7040" LastEditDate="2015-01-21T19:18:13.433" LastActivityDate="2015-01-22T21:19:22.850" Title="Kolmogorov Complexity vs Running Time (Edited)" Tags="&lt;kolmogorov-complexity&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="29228" PostTypeId="1" AcceptedAnswerId="29230" CreationDate="2015-01-21T23:48:28.363" Score="6" ViewCount="2965" Body="&lt;p&gt;The convex conjugate of a function, say, $f:X\mapsto \mathbb{R}$ is a function $f^*:X^*\mapsto \mathbb{R}$ defined as&#xA;$$f^*(x^*):=\sup_{x\in X} ~\langle  x, x^*\rangle-f(x),$$ where $X^*$ is the topological dual of $X$ and $\langle\cdot, \cdot\rangle$ is dual pairing between $X$ and $X^*$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The relative entropy (aka Kullback-Leibler divergence) $D(\cdot||Q):\mathcal{P}(X)\mapsto \mathbb{R}^+$, is defined for two probability measures $P$ and $Q$ (P&amp;lt;&amp;lt; Q)  as &#xA;$$D(P||Q)=\int_XdP \log\frac{dP}{dQ}.$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have been trying to calculate the convex conjugate of map $P\mapsto D(P||Q)$ but I have failed. I know that the answer is $\log \mathbb{E}_{Q}[e^{f}]$ where $\mathbb{E}_Q[\cdot]$ is the expectation operator with respect to probability measure $Q$.&lt;/p&gt;&#xA;" OwnerUserId="21925" LastActivityDate="2019-10-03T18:18:38.800" Title="A Question on Convex Conjugate Duality for KL Divergence" Tags="&lt;it.information-theory&gt;&lt;convex-optimization&gt;&lt;convex-geometry&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="29230" PostTypeId="2" ParentId="29228" CreationDate="2015-01-22T05:16:40.740" Score="9" Body="&lt;p&gt;To make it easier let's assume $X$ is finite, of size $n$ and associate the density of $Q$  with an $n$-dimensional vector $q$. Assume also that $q$ is everywhere positive - otherwise replace $X$ with the support of $q$. Then the conjugate is&#xA;$$&#xA;f^*_q(x) = \sup_p\  \langle x, p \rangle - \sum_{i = 1}^n{p_i\log(p_i/q_i)}.&#xA;$$&#xA;where the supremum is over the probability simplex $\{p\geq 0: \sum_i p_i = 1\}$. Since the simplex is compact and the function inside the supremum is continuous, the supremum is achieved at some $p$. Using Lagrange multipliers you get that for some real value $\lambda$ an optimal $p$ must satisfy $x_i - 1 - \log(p_i/q_i) = - \lambda$ for all $i$, which gives $p_i = q_ie^{x_i + \lambda-1  }$. Since $1 = \sum_i p_i$, we have $\lambda - 1 = -\log\left(\sum_i{q_i e^{x_i}}\right)$. Substituting, we get&#xA;$$&#xA;\begin{align}&#xA;f^*_q(x) &amp;amp;= \sum_i{q_i e^{x_i + \lambda- 1 }x_i} - \sum_i{q_i e^{x_i+ \lambda-1 }(x_i+ \lambda-1)}  \\&#xA;&amp;amp;= -(\lambda-1)\sum_i{q_ie^{x_i+ \lambda-1 }}  \\&#xA;&amp;amp;= -(\lambda-1)\sum_i{p_i}\\&#xA;&amp;amp;= -(\lambda-1) = \log\left(\sum_i{q_i e^{x_i}}\right),&#xA;\end{align}&#xA;$$&#xA;which is exactly the logarithm of the expectation of $e^{x_i}$ under $q$.&lt;/p&gt;&#xA;" OwnerUserId="4896" LastEditorUserId="4896" LastEditDate="2015-01-22T09:25:38.970" LastActivityDate="2015-01-22T09:25:38.970" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="29232" PostTypeId="1" AcceptedAnswerId="29234" CreationDate="2015-01-22T12:02:46.220" Score="11" ViewCount="288" Body="&lt;p&gt;It's a fairly well-known fact that deriving a contradiction from a disequality (for example, $(0=1) \to \bot$) in Martin-Loef type theory requires a universe. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The proof is also fairly straightforward -- in the absence of universes, we can erase the dependencies from any dependent type to get a simple type as its shape, and so proving that $(0=1) \to \bot$ implies we can prove $p \to \bot$ for an arbitrary atom $p$, which is of course not possible.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, I can't find who proved this first! Does anyone have a reference?&lt;/p&gt;&#xA;" OwnerUserId="657" LastActivityDate="2015-01-22T14:46:24.787" Title="Reference for the fact that (0=1) implies false requires a universe in MLTT" Tags="&lt;reference-request&gt;&lt;lo.logic&gt;&lt;pl.programming-languages&gt;&lt;type-theory&gt;&lt;dependent-type&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="29233" PostTypeId="1" CreationDate="2015-01-22T13:14:06.543" Score="0" ViewCount="215" Body="&lt;p&gt;I'm using random numbers for simulations. The main reason is to have an input sequence where no (simulation) algorithm is going to lock on a pattern and introduce unwanted effects into the simulation. So it seems random numbers have irreversibly lost the structure and it's unlikely that an algorithm is going to &quot;reverse-engineer&quot; it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a formal way to quantify this, such that pseudo-random numbers come out as being very unstructured?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I've read something about Kolmogorov complexity, but strictly speaking there is a very simple algorithm which can generate (pseudo)random numbers?! So they are not complex in this sense?&lt;/p&gt;&#xA;" OwnerUserId="17246" LastActivityDate="2015-02-08T15:53:25.400" Title="How are random numbers structure-less?" Tags="&lt;pseudorandomness&gt;" AnswerCount="3" CommentCount="7" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="29234" PostTypeId="2" ParentId="29232" CreationDate="2015-01-22T14:46:24.787" Score="10" Body="&lt;p&gt;I know of:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Jan M. Smith, The independence of Peano's fourth axiom from Martin-Löf's type theory without universes, The Journal of Symbolic Logic 53(3), p. 840-845, 1988.&lt;/p&gt;&#xA;" OwnerUserId="673" LastActivityDate="2015-01-22T14:46:24.787" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="29235" PostTypeId="2" ParentId="29233" CreationDate="2015-01-22T14:55:12.420" Score="7" Body="&lt;p&gt;I can give several answers to your question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Algorithmic randomness.&lt;/strong&gt; When should we call a sequence $x_1,\ldots,x_n$ of bits random? A priori, all sequences have the same probability, so it's not clear on what grounds we should single out one sequence or another as not being random. This is partly a philosophical question, but &quot;applied philosophy&quot; has given rise to several definitions of &lt;a href=&quot;http://en.wikipedia.org/wiki/Algorithmically_random_sequence&quot;&gt;algorithmic randomness&lt;/a&gt;, detailed in the Wikipedia entry. These notions are actually for &lt;em&gt;infinite&lt;/em&gt; sequences, but some of them can also be used for finite sequences, for example the notion of Kolmogorov-random sequence that you mention in your question. The trouble with these notions is that one cannot compute random sequences – that's a feature of the definitions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Pseudorandomness.&lt;/strong&gt; Complexity theorists and (theoretical) cryptographers prefer a more permissive notion of randomness. Suppose you need a random sequence to run algorithm A which belongs to complexity class C. A &lt;em&gt;pseudorandom sequence&lt;/em&gt; is a sequence that &quot;fools&quot; algorithms of complexity class C – that is, it looks random to such algorithms. More formally, algorithms of class C cannot distinguish a small set of pseudorandom sequences from a truly random sequence. As joro mentions in their comment, for this definition to make sense, you need to look at a &lt;em&gt;collection&lt;/em&gt; of pseudorandom sequences, since one sequence could always be distinguished from a random sequence (at least in non-uniform computation models).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are no known pseudorandom sequences against complexity classes beyond some very weak ones, though there are constructions which work assuming some complexity assumptions. Such constructions are not necessarily useful for practical applications, for three reasons: (1) you are given a large set of sequences rather than one sequence, and you have to run your (decision) algorithm on all of them; (2) constructions in complexity theory tend to be impractical; the pseudorandom sequences are probably really hard to generate in practice, especially for realistic values of $n$ (the input size); (3) asymptotic analysis doesn't usually yield concrete bounds, so it would be hard for you to figure out what parameters to use; worse, if the security of the construction relies on some non-explicit complexity assumption (e.g. P$\neq$NP), the guarantee could be purely asymptotic, and not give &lt;em&gt;any&lt;/em&gt; explicit bounds.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Practical randomness.&lt;/strong&gt; Random numbers are used in practice in two kinds of situations: numerical simulations and cryptography. When using random numbers for numerical simulations, the &quot;quality&quot; of the numbers is not as important as the time it takes to generate them; in practice, even rather simple pseudorandom number generators seem to &quot;work&quot;. A search of the relevant literature will reveal some modern examples. Some of the old pseudorandom number generators were indeed bad (in some situations), but the this threshold has been crossed, and from an engineering perspective the problem can be considered solved.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Random numbers used for cryptographic purposes need to be more secure, since now we're against somebody who's construction the algorithm for the express purpose of reverse engineering the random stream. In this case one needs to be a bit more careful and use a secure, industry standard &lt;em&gt;stream cipher&lt;/em&gt;. Such ciphers are available, and I strongly urge against using anything else, especially anything which you designed yourself. For extra security, XOR the output of several stream ciphers using independent keys.&lt;/p&gt;&#xA;" OwnerUserId="40" LastActivityDate="2015-01-22T14:55:12.420" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="29236" PostTypeId="2" ParentId="29227" CreationDate="2015-01-22T15:04:43.713" Score="5" Body="&lt;p&gt;It really depends on your computation model. Suppose for example a model which allows random &quot;seek&quot; instructions, say the RAM machine. The algorithm $A$ can just include a description of the string, and on input $i$ you output the $i$th bit of the string. Conceivably, a universal Turing machine (running on a RAM machine) can execute this algorithm in time $O(\log n)$, especially if we engineer it to specifically handle algorithms of this type.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any proof that a universal Turing machine (running on an actual Turing machine) requires time $\Theta(n)$ thus needs to appeal specifically to the Turing machine model. In particular, you claim that the universal Turing machine $U$ must read all of $A$ and $i$. But in fact, for any given string $s$ we can construct a universal Turing machine whose programs come in two types: (1) output $s$; (2) everything else. Such a Turing machine can &quot;simulate&quot; $A$ in time $O(\log n)$. The correct claim you should try to prove thus needs to accommodate finitely many exceptions, unless you are fixing a universal Turing machine. (On second thought, it's not clear whether you can pull it off while keeping the string random. Indeed, it seems you won't be able to recognize the program $A$ without reading all of it, which would take time $n$ if the string is Kolmogorov random.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Even if we fix a universal Turing machine, it's not clear that $A$ necessarily takes time $O(n)$. We can arrange for $A$ to first output $n!$ many zeroes, then erase them and proceed as in your algorithm. Perhaps you meant $A$ to be the one with the lowest time complexity? (say the one minimizing the maximal execution time over all indices)&lt;/p&gt;&#xA;" OwnerUserId="40" LastEditorUserId="40" LastEditDate="2015-01-22T21:19:22.850" LastActivityDate="2015-01-22T21:19:22.850" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="29237" PostTypeId="1" AcceptedAnswerId="29401" CreationDate="2015-01-22T19:23:49.690" Score="2" ViewCount="196" Body="&lt;p&gt;I'm looking for a good reference, possibly a survey, on the different types of cryptography methods. As far as I understand, the security of a cryptographic method depends on some hardness assumptions, and I've heard of methods based on the hardness of factorization, discrete logarithm, NP-complete problems (such as the Knapsack problem) and problems on lattices.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there any good text addressing the different existing paradigms? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In particular, I would be interested on open problems and questions on less studied methods.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Answers for this question may include both references to a text giving an overview of the area but also to specific methods.&lt;/p&gt;&#xA;" OwnerUserId="282" LastActivityDate="2015-02-09T14:02:37.490" Title="Reference on cryptography methods" Tags="&lt;reference-request&gt;&lt;soft-question&gt;&lt;cr.crypto-security&gt;&lt;big-list&gt;" AnswerCount="2" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="29242" PostTypeId="1" CreationDate="2015-01-22T23:23:22.030" Score="0" ViewCount="70" Body="&lt;p&gt;&lt;em&gt;Sorry for the haphazard title: really not sure what this should be called&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose we have a set of $z$ random values $S = r_1, \dots, r_z$ drawn from $\mathbb{Z}_N$ (where $N$ is some large prime).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, suppose we have $n+1$ variables $R_1, \dots, R_n, R_{n+1}$, such as for each $R_i$:&#xA;$R_i = r_{i_1} r_{i_2} \dots r_{i_k}$ where $r_{i_j}$ are $k$ randomly drawn values from $S$ with replacement$^*$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We consider the problem of expressing $R_{n+1}$ as a quotient of $R_i$ ($i &amp;lt; n+1$). That is, find $S_1$, $S_2$ such that:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$R_{n+1} = \frac{\prod_{i \in S_1}{R_i}}{\prod_{i \in S_2}{R_i}}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(ideally, we are looking in $\mathbb{Z}_N$, but I doubt it makes a big difference, provided $N$ is large enough compared to the other parameters)&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;How &quot;difficult&quot; is this problem?&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;(Assuming the previous answer to be: &quot;not so easy&quot; or worse) What about even deciding on the existence of a solution?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Does this problem (or something it can be trivially reduced to) have a formal name? [guess this should be my first question, huh]&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Bonus question (depending on the above): Can any hypothesis be made about the uniqueness of $S_1$/$S_2$ elements (by default, it does not sound like elements should be unique in either collection) or the maximum size of either collection...&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;My intuition is that there is no easy solution, but I cannot see a simple reduction to any NP-Hard problem that I can think of... (there's an obvious parallel set-theory problem, but I'm not sure I see an easier answer for it)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$^*$: or without replacement, if it makes a major difference to the questions/proofs...&lt;/p&gt;&#xA;" OwnerUserId="29117" LastEditorUserId="29117" LastEditDate="2015-02-04T03:14:46.743" LastActivityDate="2015-02-04T03:14:46.743" Title="Finding exact value with a quotients of products of random values" Tags="&lt;np-hardness&gt;&lt;nt.number-theory&gt;&lt;exp-time-algorithms&gt;&lt;set-theory&gt;" AnswerCount="0" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="29243" PostTypeId="1" AcceptedAnswerId="29248" CreationDate="2015-01-22T23:40:24.330" Score="11" ViewCount="292" Body="&lt;p&gt;A read-once decision tree is defined as follows:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;span class=&quot;math-container&quot;&gt;$True$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$False$&lt;/span&gt; are read-once decision trees.&lt;/li&gt;&#xA;&lt;li&gt;If &lt;span class=&quot;math-container&quot;&gt;$A$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$B$&lt;/span&gt; are read-once decision trees and&#xA;&lt;span class=&quot;math-container&quot;&gt;$x$&lt;/span&gt; is a variable not occurring in &lt;span class=&quot;math-container&quot;&gt;$A$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$B$&lt;/span&gt;,&#xA;then &lt;span class=&quot;math-container&quot;&gt;$(x \land A) \lor (\bar x \land B)$&lt;/span&gt; is also a read-once decision tree.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;What is the complexity of the equivalence problem for read-once decision trees?&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Input: Two read-once decision trees &lt;span class=&quot;math-container&quot;&gt;$A$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$B$&lt;/span&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Output: Is &lt;span class=&quot;math-container&quot;&gt;$A \equiv B$&lt;/span&gt;?&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;hr /&gt;&#xA;&lt;h3&gt;Motivation:&lt;/h3&gt;&#xA;&lt;p&gt;This problem came up while I was looking at&#xA;the proof equivalence problem (permutation of rules) of&#xA;a fragment of Linear Logic.&lt;/p&gt;&#xA;" OwnerUserId="30505" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2015-02-06T19:15:02.207" Title="What is the complexity of the equivalence problem for read-once decision trees?" Tags="&lt;cc.complexity-theory&gt;&lt;lo.logic&gt;&lt;decision-trees&gt;&lt;boolean-formulas&gt;" AnswerCount="2" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="29244" PostTypeId="1" CreationDate="2015-01-23T00:25:46.303" Score="3" ViewCount="179" Body="&lt;p&gt;Is there a simple example of a Turing machine $M$, such that whether $M$ halts or not on the empty input cannot be proved within the current mathematical system?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Specifically, I'm curious whether there exists an example simple enough that the state transition of the Turing machine can be drawn as a reasonably-sized diagram.&lt;/p&gt;&#xA;" OwnerUserId="31788" LastActivityDate="2015-01-23T06:01:39.907" Title="Simple example of halting-unprovable Turing machine" Tags="&lt;turing-machines&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="29245" PostTypeId="2" ParentId="29243" CreationDate="2015-01-23T00:48:45.707" Score="2" Body="&lt;p&gt;From a ITE formula $\phi$, you can compute polynomially a reduced assignment list to describe all valuations which makes it true.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To do that, just look at your formula as a tree with nodes labeled by variables and leaves by $0$ and $1$. Left branches are the &quot;then&quot; part setting the variable to true and right branches are the &quot;else&quot; part setting it to false. Each branch leading to a leave $1$ will be labeled by a set of partial variables assignement, for instance $\{x,\overline{y},z\}$. Computing the list of all these sets from your formula is polynomial. You can then compute a normal form of this list by removing a set if it is contained in an other one, and merging sets that differ on a variable: if $\{x,\overline{y},z\}$ and $\{x,y,z\}$ are in your list, you remove them and add $\{x,z\}$, meaning that it works no matter the value of $y$.&#xA;However, if you have $\{x,\overline{y},z,t\}$ and $\{x,y,z\}$, you cannot merge them and keep them like this.&#xA;You apply these rules until you stabilize, once again this procedure is polynomial.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, choose an arbitrary ordering on variables $\{x_1,\dots,x_n\}$, and call $i$ the weight of $x_i$. The weight of a list is the sum of all weights appearing in it (with multiplicites). Apply &quot;rotations&quot; everytime it is possible, in order to minimize the total weight of your normal form. A rotation changes $\{\vec x,x_i,x_j\},\{\vec x,\overline{x_j}\}$ to $\{\vec x,x_i\},\{\vec x,\overline{x_i},\overline{x_j}\}$ with $i&amp;lt;j$ ($\vec x$ is a list, and $x_i$ and $x_j$ can also be negated variables). We can see that it makes the total weight decrease by $j-i$. Hopefully now the normal form is unique, I'll try a formal proof later.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then, two formulas are equivalent iff they have the same normal form list of assignments.&#xA;So your problem seems to be in $P$.&lt;/p&gt;&#xA;" OwnerUserId="8953" LastEditorUserId="8953" LastEditDate="2015-01-23T09:02:30.233" LastActivityDate="2015-01-23T09:02:30.233" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="29246" PostTypeId="1" CreationDate="2015-01-23T01:18:42.610" Score="4" ViewCount="376" Body="&lt;p&gt;I am looking for a data structure $D$ which supports the following operations &#xA;(preferably a (binary) tree-like structure): &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;$D$ is indexed&lt;/strong&gt;, i.e. &#xA;there is a mapping from $\{1, \ldots, n\}$ to items in $D$, &#xA;where $n$ is the size of $D$ (the number of items in $D$).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;$k$-th item in $D$ can be accessed in $\mathcal{O}(\lg n)$ worst-case (non-amortized)&lt;/strong&gt;.&lt;br&gt;&#xA;The operation should not modify the data structure, &#xA;it should be completely &quot;read-only&quot; &#xA;(e.g. no finger searches are allowed). &#xA;(Once the pointer to the $k$-th item is obtained, &#xA;further changes should be supported in $O(1)$ &#xA;without modification to the state of the data structure apart from the actual stored item (e.g. if it is a tree-like data structure, this means no rotation is allowed).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;two instanced $D$ and $D'$ can be merged in time $\mathcal{O}(1)$ worst-case (non-amortized)&lt;/strong&gt;. Destruction of $D$ and $D'$ is fine.&lt;br&gt;&#xA;The result should contains the union of the elements; &#xA;those that come $D$ retain their indices, &#xA;while indices of those coming from $D'$ get incremented by the size of $D$, &#xA;e.g. if we are merging &#xA;$D=\{ 1 \to x_1, 2 \to x_2 \}$ with &#xA;$D'=\{ 1 \to y_1, 2 \to y_2, 3 \to y_3 \}$ &#xA;we should get &#xA;$\{ 1 \to x_1, 2 \to x_2, 3 \to y_1, 4 \to y_2, 5 \to y_3 \}$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;In essence, this data structure should have the properties of &#xA;the fast-mergeable array/vector with asymptotically slower random-access, &#xA;but extremely fast merge/concatenation ($\mathcal{O}(1)$). &#xA;It would also be cool if elements could be listed in order in linear time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would be mostly interested in the references to existing work / papers &#xA;which describe such a data structure or algorithm on an existing data structure.&lt;/p&gt;&#xA;" OwnerUserId="13815" LastEditorUserId="13815" LastEditDate="2015-01-23T17:56:08.967" LastActivityDate="2015-01-23T17:56:08.967" Title="Array-like data structure with O(1) worst-case concatenate/join?" Tags="&lt;reference-request&gt;&lt;ds.data-structures&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="29247" PostTypeId="2" ParentId="29246" CreationDate="2015-01-23T04:42:55.480" Score="4" Body="&lt;p&gt;I think &lt;a href=&quot;http://www.cs.au.dk/~gerth//pub/esa06trees.html&quot; rel=&quot;nofollow&quot;&gt;Purely Functional Worst Case Constant Time Catenable Sorted Lists&lt;/a&gt; by Brodal et al. supplies what you want.&lt;/p&gt;&#xA;" OwnerUserId="43" LastActivityDate="2015-01-23T04:42:55.480" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="29248" PostTypeId="2" ParentId="29243" CreationDate="2015-01-23T04:43:54.607" Score="5" Body="&lt;p&gt;I found a partial solution. The problem is in L.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The negation of $A \leftrightarrow B$ is equivalent to $(\bar A \land B) \lor (A \land \bar{B})$ which is equivalent to $False$ iff both $(\bar A \land B)$ and $(A \land \bar{B})$ are.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The read-once decision tree for $\bar{A}$ can be obtained from the read-once decision tree for $A$ by switching $True$ and $False$ in $A$.&#xA;This can be done in log space.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To check if $\bar A \land B$ is equivlent to $False$ &#xA;(and similarly for ${A} \land \bar{B}$)&#xA;we run through all the pairs of $True$ leaves, one from each tree, &#xA;and check if they are compatible (that is there is no $x$ on one of the paths and $\bar x$ on the other). It is equivalent to $False$ iff we find no compatible pair.&#xA;This can be done in log space.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So the problem is at least in L. &lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;EDIT: I have some ideas to prove this to be L-complete, under $AC_0$ reduction probably. But I'd need to check the details and it won't fit in here. I'll post a link to the article I am writing if it all works out!&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;EDIT2: there it is, &lt;a href=&quot;http://iml.univ-mrs.fr/~bagnol/drafts/mall_bdd.pdf&quot; rel=&quot;nofollow&quot;&gt;http://iml.univ-mrs.fr/~bagnol/drafts/mall_bdd.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So the problem is indeed Logspace-complete.&lt;/p&gt;&#xA;" OwnerUserId="30505" LastEditorUserId="30505" LastEditDate="2015-02-06T19:15:02.207" LastActivityDate="2015-02-06T19:15:02.207" CommentCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="29249" PostTypeId="1" AcceptedAnswerId="29264" CreationDate="2015-01-23T05:26:26.900" Score="3" ViewCount="155" Body="&lt;p&gt;Random &lt;em&gt;independent&lt;/em&gt; misclassification error is an inappropriate noise model for a membership query (MQ) oracle because for any noise rate $\eta&amp;lt;1/2$ one can eliminate noise to an arbitrary extent by simply querying the oracle $p(1/(1-2\eta))$ times with the same input for some polynomial $p(\cdot)$ and taking the majority label returned.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The random &lt;em&gt;persistent&lt;/em&gt; misclassification noise model of Goldman, Kearns, and Schapire, plugs this &quot;loophole&quot; by stipulating that an oracle that assigns a label $l$ to some sample $x$, &lt;em&gt;always&lt;/em&gt; assigns label $l$ to sample $x$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is: What are the known best upper bounds on the time and queries required to solve the learning parities problem with membership queries and random persistent misclassification noise for some constant value of $k$ (the number of relevant attributes)? Is the problem known to be solvable in $O(n \log (n/\delta))$ time and $O(\log (n/\delta))$ queries w.r.t. $n$, the number of attributes and $\delta$, the probability of error? &lt;/p&gt;&#xA;" OwnerUserId="12162" LastEditorUserId="12162" LastEditDate="2015-01-24T06:54:59.813" LastActivityDate="2015-01-24T10:50:51.670" Title="Learning k-parities with Membership Queries and Persistent Noise" Tags="&lt;boolean-functions&gt;&lt;lg.learning&gt;" AnswerCount="2" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="29250" PostTypeId="2" ParentId="29216" CreationDate="2015-01-23T05:26:49.260" Score="3" Body="&lt;p&gt;The general (non-bernoulli) problem is #P hard, via a reduction from #Knapsack.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;#Knapsack is the problem of counting the solutions to an instance of the knapsack problem. This problem is known to be #P complete. An equivalent way to think of the #Knapsack problem is the following: You are given a set of integers $a_1,\ldots,a_n$ and a threshold $t$. Let $x_i$ be a random variable which is either $0$ or $a_i$ with equal probability, and assume those random variables are independent. Compute the probability that $\sum_i x_i \leq t$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is not too hard to see that the #Knapsack problem could be equivalently defined as the problem of computing the probability that $\sum_i x_i \geq t$ (simply flip the sign of all the integers and add a large constant). Therefore, had I stated my problem with an arbitrary probability $p$ rather than $0.5$, the problem stated in the question can be interpreted as the decision version of #knapsack. A reduction of #knapsack to its decision version via binary search would then complete the #P hardness proof.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The way I defined the problem, however, fixed a particular threshold 0.5. It's not too hard to see that this doesn't make the problem easier. We can reduce the decision problem with probability $p\leq 0.5$ to the problem with $p=0.5$ by simply adding an additional random variable $x_0$ which is equal to the threshold $t$ with probability $\frac{0.5-p}{1-p}$ and $0$ the rest of the time. For $p &amp;gt; 0.5$, a similar reductions lets $x_0$ be $-M$ for a sufficiently large $M$ with probability $\frac{p-0.5}{p}$ and $0$ otherwise; if you don't like negative numbers, simply shift all random variables and the threshold $t$ up by a suitable constant.&lt;/p&gt;&#xA;" OwnerUserId="2945" LastEditorUserId="2945" LastEditDate="2015-01-23T05:35:14.293" LastActivityDate="2015-01-23T05:35:14.293" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="29251" PostTypeId="2" ParentId="29244" CreationDate="2015-01-23T06:01:39.907" Score="3" Body="&lt;p&gt;Take the &quot;current mathematical system&quot; $S$ and an undecidable sentence $P$ for $S$. Consider the Turing machine $T$ which enumerates all theorems of $S$ and halts if it ever enumerates either $P$ or $\lnot P$. System $S$ cannot decide whether $T$ halts.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that such a $T$ does not halt.&lt;/p&gt;&#xA;" OwnerUserId="705" LastActivityDate="2015-01-23T06:01:39.907" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="29252" PostTypeId="1" CreationDate="2015-01-23T07:25:26.007" Score="5" ViewCount="130" Body="&lt;p&gt;I'm wondering what are the current known uses/implications of a polynomial-time algorithm for the following problem:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Given $n$ in binary, output a prime $p &amp;gt; n$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I'm both curious about specific useful applications, and any more broad complexity implications (for instance, would this get us any closer to $P=BPP$?).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit: by the way, this problem was (is?) the subject of the &lt;a href=&quot;http://michaelnielsen.org/polymath1/index.php?title=Finding_primes&quot; rel=&quot;nofollow&quot;&gt;Polymath4 project&lt;/a&gt;, which produced &lt;a href=&quot;http://arxiv.org/abs/1009.3956&quot; rel=&quot;nofollow&quot;&gt;this writeup&lt;/a&gt;, but I do not see anywhere that they discuss implications of truth of the conjecture.&lt;/p&gt;&#xA;" OwnerUserId="8243" LastEditorUserId="8243" LastEditDate="2015-02-01T01:09:12.927" LastActivityDate="2015-02-01T01:09:12.927" Title="Implications of a deterministic polytime prime-finding algorithm" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;primes&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="29253" PostTypeId="1" AcceptedAnswerId="31268" CreationDate="2015-01-23T08:54:17.680" Score="3" ViewCount="228" Body="&lt;p&gt;My understanding of these classes is a really fuzzy. The more I am trying to read the more I am getting confused. Can anyone help me understand the relationship between these classes. More precisely, is $\mathsf{MaxSNP} = \mathsf{APX}$  or $\mathsf{MaxSNP} \subset\mathsf{APX}$? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks a lot in advance. :)&lt;/p&gt;&#xA;" OwnerUserId="17773" LastEditorUserId="17773" LastEditDate="2015-01-23T09:17:04.660" LastActivityDate="2015-04-25T17:38:24.970" Title="What is the relationship between $\mathsf{APX}$ and $\mathsf{MaxSNP}$ classes?" Tags="&lt;cc.complexity-theory&gt;&lt;approximation-hardness&gt;" AnswerCount="2" CommentCount="3" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="29254" PostTypeId="1" CreationDate="2015-01-23T08:56:30.717" Score="6" ViewCount="179" Body="&lt;p&gt;A graph is &lt;a href=&quot;http://dml.cz/bitstream/handle/10338.dmlcz/140801/CzechMathJ_60-2010-4_11.pdf&quot;&gt;weakly perfect&lt;/a&gt; if the clique number equals the chromatic&#xA;number, i.e. $\omega(G)=\chi(G)$. Deciding membership is NP-complete&#xA;according to the paper.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Because of the inequality $\omega(G) \le \chi(G)$ a $k$-clique is certificate&#xA;that there isn't smaller than $k$ coloring.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What is the complexity of deciding if a weakly perfect graph is&#xA;  $k$-colorable?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Appears to me it might not be NP-complete because the certificate&#xA;will involve co-NP.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also it might not be in P since it will decide coloring graphs for which&#xA;the inequality happens &quot;by chance&quot; and possibly by adding disjoint&#xA;cliques might be improved.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Searching the web found algebraic constructions of weakly perfect.&#xA;In all papers coloring was polynomial via closed form.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Related to &lt;a href=&quot;https://mathoverflow.net/questions/194431/graph-classes-where-finding-explicit-coloring-have-certificate-that-it-is-minumu&quot;&gt;this&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="22348" LastActivityDate="2015-01-23T11:43:31.730" Title="Complexity of coloring in weakly perfect graphs?" Tags="&lt;graph-theory&gt;&lt;complexity-classes&gt;" AnswerCount="0" CommentCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="29255" PostTypeId="1" CreationDate="2015-01-23T09:15:53.910" Score="3" ViewCount="104" Body="&lt;p&gt;All the problems which are either $\mathsf{APX}-\mathsf{Hard}$ and $\mathsf{MaxSNP}-\mathsf{Hard}$ cannot admit a $\mathsf{PTAS}$, unless $P=NP$. I would like to know whether $\mathsf{MaxSNP}$ hardness results also give an explicit constant in their hardness proofs, or only $\mathsf{APX}-\mathsf{Hard}$ proofs do that? Are there any exceptions? Please support your answers with some examples from literature.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks you.&lt;/p&gt;&#xA;" OwnerUserId="17773" LastActivityDate="2015-01-23T09:15:53.910" Title="$\mathsf{APX}-\mathsf{Hard}$ and $\mathsf{MaxSNP}-\mathsf{Hard}$ problems" Tags="&lt;cc.complexity-theory&gt;&lt;approximation-algorithms&gt;&lt;approximation-hardness&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="29261" PostTypeId="2" ParentId="29249" CreationDate="2015-01-23T20:23:52.230" Score="3" Body="&lt;p&gt;If I understand correctly, this is exactly equivalent to local decoding of the Hadamard code.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We can think of the oracle (with the noise) as being chosen beforehand, and after that we can view the oracle as a corrupted codeword of the Hadamard code. Learning the parity in this case is exactly the task of local decoding the original message from the corrupted codeword.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is well-known to be possible using $O(n \log n/\delta)$ queries, using the Goldreich-Levin theorem, e.g.:&#xA;&lt;a href=&quot;https://lucatrevisan.wordpress.com/2009/03/09/cs276-lecture-12-goldreich-levin/&quot; rel=&quot;nofollow&quot;&gt;https://lucatrevisan.wordpress.com/2009/03/09/cs276-lecture-12-goldreich-levin/&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, it clearly can not be done using $o(n)$ queries, since the algorithm has learn $n$ bits about the parity - i.e., its attributes.&lt;/p&gt;&#xA;" OwnerUserId="8429" LastActivityDate="2015-01-23T20:23:52.230" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="29262" PostTypeId="2" ParentId="16253" CreationDate="2015-01-23T22:38:30.237" Score="0" Body="&lt;p&gt;While thinking about possible answers I came up with this simple numeric strongly NP-complete problem:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;SQUARE FREE SUBSET PRODUCT: Given $3N$ integers, find $N$ of them whose product is square free.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Proof sketch: starting from a an Exact Cover by 3 sets (X3C) instance (strongly NPC) label each element of the universe with a distinct prime (you can generate $3|X|$ of them in polynomial time); then convert every triple $(x,y,z)$ of the subsets to $xyz$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I didn't find it anywhere, so it can be somewhat &quot;original&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It obviously resembles the better known SUBSET PRODUCT (which is not strongly NPC due to the presence of the target product $B$, see David S. Johnson: The NP-Completeness Column: An Ongoing Guide. 393-405).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It can also be hacked a little bit to get other variants, like:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Given $3N$ integers, find $N$ of them whose product is a perfect $21$-th power;&lt;/li&gt;&#xA;&lt;li&gt;Given $N$ integers, find a subset whose product is the 3N-th primorial. (kind of cheating :-)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2015-01-23T22:51:13.717" LastActivityDate="2015-01-23T22:51:13.717" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="29263" PostTypeId="2" ParentId="16253" CreationDate="2015-01-24T09:43:17.033" Score="0" Body="&lt;p&gt;Cieliebak in his &lt;a href=&quot;http://www.ti.inf.ethz.ch/pw/publications/diss/CieliebakThesis.pdf&quot; rel=&quot;nofollow&quot;&gt;Ph.D. Dissertation&lt;/a&gt; proved several problems to be strongly NP-complete. Specifically, the Double Digest problem and k-Equal Sum Subsets problem (when $k= \Omega(n)$ ) are strongly $NP$-complete.&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2015-01-24T09:51:53.067" LastActivityDate="2015-01-24T09:51:53.067" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="29264" PostTypeId="2" ParentId="29249" CreationDate="2015-01-24T10:50:51.670" Score="1" Body="&lt;p&gt;Yes, this upper bound is known.&#xA;Check Section 4 here&#xA;&lt;a href=&quot;http://www.jmlr.org/papers/volume8/feldman07a/feldman07a.pdf&quot; rel=&quot;nofollow&quot;&gt;http://www.jmlr.org/papers/volume8/feldman07a/feldman07a.pdf&lt;/a&gt;&#xA;The analysis there is for the noiseless case. But a look at the algorithm shows that is just checks the expectation of the condition $\chi_(x)=1$ and $x_i=1$ over some distribution. This expectation can be estimated in the presence of random persistent noise (at the expense of using $1/(1-2\eta)^2$ times more queries).&#xA;In fact, as shown later in the paper even worst-case noise can be tolerated with only slightly worse complexity (another k log n factor).&lt;/p&gt;&#xA;" OwnerUserId="968" LastActivityDate="2015-01-24T10:50:51.670" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="29265" PostTypeId="2" ParentId="29253" CreationDate="2015-01-24T11:15:21.560" Score="0" Body="&lt;p&gt;$MaxSNP=APX$. This is according to &lt;a href=&quot;http://en.m.wikipedia.org/wiki/APX&quot; rel=&quot;nofollow&quot;&gt;Wikipedia&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2015-01-24T12:25:59.597" LastActivityDate="2015-01-24T12:25:59.597" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="29266" PostTypeId="1" AcceptedAnswerId="33365" CreationDate="2015-01-24T12:19:53.650" Score="11" ViewCount="1578" Body="&lt;p&gt;Graph isomorphism problem is one of the longest standing problems that resisted classification into $P$ or $NP$-complete problems. We have evidences that it can not be $NP$-complete. Firstly, Graph Isomorphism can not be $NP$-complete unless the polynomial hierarchy [1] collapses to the second level. Also, the counting[2] version of GI is polynomial-time Turing equivalent to its decision version which does not hold for any known $NP$-complete problem. The counting version of $NP$-complete problems seems to have much higher complexity. Finally, the lowness result [3] of GI with respect to $PP$ ($PP^{GI}=PP$) is not known to hold for any $NP$-complete problem. The lowness result of GI has been improved to $SPP^{GI}=SPP$ after Arvind and Kurur proved that GI is in $SPP$ [4].&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What other (recent) results can provide further evidence that GI can not be $NP$-complete?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I posted the question on &lt;a href=&quot;https://mathoverflow.net/questions/192014/evidence-that-graph-isomorphism-problem-is-not-np-complete&quot;&gt;Mathoverflow&lt;/a&gt; without getting an answer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1]: Uwe Schöning, &quot;Graph isomorphism is in the low hierarchy&quot;, Proceedings of the 4th Annual Symposium on Theoretical Aspects of Computer Science, 1987, 114–124&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2]: R. Mathon, &quot;A note on the graph isomorphism counting problem&quot;, Information Processing Letters, 8 (1979) pp. 131–132&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[3]: Köbler, Johannes; Schöning, Uwe; Torán, Jacobo (1992), &quot;Graph isomorphism is low for PP&quot;, Computational Complexity 2 (4): 301–330&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[4]: V. Arvind and P. Kurur. Graph isomorphism is in SPP, ECCC TR02-037, 2002.&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2015-12-15T17:41:27.197" Title="Evidence that Graph Isomorphism problem is not $NP$-complete" Tags="&lt;cc.complexity-theory&gt;&lt;graph-isomorphism&gt;" AnswerCount="1" CommentCount="9" FavoriteCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="29267" PostTypeId="1" AcceptedAnswerId="29272" CreationDate="2015-01-24T12:29:20.680" Score="4" ViewCount="375" Body="&lt;p&gt;&lt;strong&gt;EDIT&lt;/strong&gt; this got &lt;em&gt;'fixed'&lt;/em&gt; on graphclasses, as per answers/comments, so you might not reproduce it, unless you have their earlier database, which is publicly available via sage - &lt;a href=&quot;http://sagemath.org&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://sagemath.org&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Likely this is technical error in graphclasses or in me.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Appears to me graphclasses claims P=NP.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In &lt;a href=&quot;http://graphclasses.org/classes/gc_549.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;Domination perfect&lt;/a&gt;&#xA;we have $\gamma(G)=i(G)$ which implies the complexity of Dominating Set&#xA; (DS) and Independent Dominating Set (IDS) is the same in subclasses of&#xA;domination perfect.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In &lt;a href=&quot;http://graphclasses.org/classes/gc_249.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;line graphs&lt;/a&gt;&#xA;we have DS NP-complete and IDS Polynomial.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;According to the java application of graphclasses, line graphs&#xA;are domination perfect, one of the reasons is they are claw-free.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Appears to me this implies P=NP.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What is wrong?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Screenshot:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/PwoTm.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Answering vb le question about polynomial IDS on line.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Clicking details recursively, we get: Polynomial on claw-free &#xA;and the claim without reference on claw-free:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Polynomial On domination perfect graphs, the Independent set and Independent domininating set problems are equivalent. &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="22348" LastEditorUserId="186" LastEditDate="2015-01-26T07:12:24.003" LastActivityDate="2015-01-26T07:12:24.003" Title="Weird claim of graphclasses about complexity of domination" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;graph-classes&gt;" AnswerCount="2" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="29268" PostTypeId="1" AcceptedAnswerId="29296" CreationDate="2015-01-24T14:02:59.787" Score="11" ViewCount="256" Body="&lt;p&gt;A Vector Addition System (VAS) is a finite set of &lt;em&gt;actions&lt;/em&gt; $A \subset \mathbb{Z}^d$. $\mathbb{N}^d$ is the set of &lt;em&gt;markings&lt;/em&gt;. A run is a non-empty word of markings $m_0 m_1\dots m_n$ s.t. $\forall i \in \{0, \dots, n-1\}, m_{i+1}-m_i \in A$. If such a word exists we say that $m_n$ is &lt;em&gt;reachable&lt;/em&gt; from $m_0$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem of reachability for VASs is known to be decidable (but its complexity is an open problem).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now let us assume that a finite set of forbidden markings (the &lt;em&gt;obstacles&lt;/em&gt;) is given. I would like to know if the problem of reachability is still decidable. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Intuitively, the finite set of obstacles should interfere with paths only locally, so the problem should remain decidable. But it does not seem trivial to prove it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT&lt;/strong&gt;. I will keep @Jérôme's answer as the accepted one, but I would like to add a follow-up question: what if the set of markings is $\mathbb{Z}^d$?&lt;/p&gt;&#xA;" OwnerUserId="30598" LastEditorUserId="30598" LastEditDate="2015-01-27T18:01:41.087" LastActivityDate="2015-01-27T18:01:41.087" Title="Vector Addition Systems with finite &quot;obstacles&quot;" Tags="&lt;fl.formal-languages&gt;&lt;decidability&gt;" AnswerCount="2" CommentCount="6" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="29269" PostTypeId="1" AcceptedAnswerId="29274" CreationDate="2015-01-24T14:09:41.140" Score="3" ViewCount="157" Body="&lt;p&gt;Ladner theorem can be stated as:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$P \ne NP$ if and only if there exists an incomplete set in $NP-P$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here an incomplete set is a set that is not complete for $NP$ under many-one polynomial time reductions (Karp reduction). Therefore, existence of any incomplete problem in $NP$ would immediately imply $P \ne NP$.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there a many-one reduction weaker than Karp reduction for which we can prove the existence of incomplete sets in $NP$?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;An example of weak reductions is $NC^0$ many-one reduction (using circuits of polynomial size, constant depth, and bounded fan-in). In an $NC^0$ reduction, each output bit of the reduction can depend only on a constant number of input bits. Many $NP$-complete problems remain complete under $NC^0$ reductions.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Does there exist an incomplete $NP$ set under $NC^0$ reductions?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2015-01-24T17:09:38.233" LastActivityDate="2015-01-25T01:39:53.383" Title="The relationship between completeness and strength of reductions" Tags="&lt;cc.complexity-theory&gt;&lt;reductions&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="29271" PostTypeId="1" AcceptedAnswerId="29303" CreationDate="2015-01-24T14:32:28.617" Score="7" ViewCount="119" Body="&lt;p&gt;DISCLAIMER: I had originally posted this to &lt;a href=&quot;https://cs.stackexchange.com/questions/37346/quanitifier-free-presburger-arithmetic-upper-bound-on-solution-size&quot;&gt;CS.SE&lt;/a&gt;, but I've deleted it and moved it here, since it received little attention, and I think it is a research level question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;According to &lt;a href=&quot;http://www.cs.cmu.edu/~bryant/pubdir/lics04.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;this paper&lt;/a&gt;, if there is a solution to a quantifier free Presburger formula, there is a solution whose size in bits is polynomial in the problem size. This allows the problem to be in $NP$, easier than arbitrary Presburger formulas.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, the paper doesn't explicitly reference where this bound comes from, just mentioning a connection to Integer Linear Programming.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I was wondering if anyone knew, what was the exact bound on the solution size, or if they could provide a reference for such? I have another problem which I can phrase as a QF Presburger formula, and I'd like to find a definite bound on the solution size. But I'm also trying to work it into an actual software system, so simply knowing &quot;there exists a polynomial&quot; doesn't help me much.&lt;/p&gt;&#xA;" OwnerUserId="16208" LastEditorUserId="-1" LastEditDate="2017-04-13T12:48:30.830" LastActivityDate="2015-01-27T13:23:34.310" Title="Quanitifier Free Presburger Arithmetic: Upper bound on solution size?" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;time-complexity&gt;&lt;integer-programming&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="29272" PostTypeId="2" ParentId="29267" CreationDate="2015-01-24T14:42:27.350" Score="8" Body="&lt;p&gt;The culprit is the claim that Weighted-IDS is polynomial on claw-free graphs, because the independent set problem is and for domination perfect graphs, IDS is equivalent to IS. But for domination perfect graphs, IDS is not equivalent to IS, but to dominating set. So the statement should be: IDS is NPC on line graphs, because domination is.&lt;/p&gt;&#xA;" OwnerUserId="3593" LastActivityDate="2015-01-24T14:42:27.350" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="29273" PostTypeId="2" ParentId="29267" CreationDate="2015-01-24T14:42:50.367" Score="6" Body="&lt;p&gt;Could you give a reference for your claim that IDS is polynomially for line graphs? Indeed, your proof for this fact would imply P=NP.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Yannakakis and Gavril proved in &lt;a href=&quot;http://epubs.siam.org/doi/abs/10.1137/0138030&quot;&gt;this paper&lt;/a&gt; that the the minimum maximal matching problem is NP-complete. This is exactly the independent domination problem on line graphs.&lt;/p&gt;&#xA;" OwnerUserId="6706" LastActivityDate="2015-01-24T14:42:50.367" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="29274" PostTypeId="2" ParentId="29269" CreationDate="2015-01-24T18:19:27.230" Score="9" Body="&lt;p&gt;If I understand correctly your questions are answered in &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://link.springer.com/article/10.1007%2Fs00037-001-8191-1&quot; rel=&quot;nofollow&quot;&gt;Agrawal-Allender-Impagliazzo-Pitassi-Rudich-2001: Reducing the Complexity of Reductions&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Gap Theorem - Any set that is NP-complete under $AC^0$ reductions is NP-complete under $NC^0$ reductions. &lt;/li&gt;&#xA;&lt;li&gt;Stop Gap Theorem - There is a set that is NP-complete under $AC^0[\!\!\mod 2]$&#xA;reductions, but not under $AC^0$ reductions.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="4237" LastEditorUserId="4237" LastEditDate="2015-01-25T01:39:53.383" LastActivityDate="2015-01-25T01:39:53.383" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="29275" PostTypeId="1" CreationDate="2015-01-24T21:24:52.210" Score="2" ViewCount="234" Body="&lt;p&gt;Always when I read about any efficient persistent data structures they use pointer computational model. I'm wondering if you know any efficient implementation which uses power of RAM model?&lt;/p&gt;&#xA;" OwnerUserId="31810" LastActivityDate="2015-01-25T05:00:19.423" Title="Persistent data structures in RAM computational model" Tags="&lt;ds.data-structures&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="29276" PostTypeId="2" ParentId="29275" CreationDate="2015-01-24T22:44:56.690" Score="3" Body="&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://urresearch.rochester.edu/fileDownloadForInstitutionalItem.action?itemId=5260&amp;amp;itemFileId=8146&quot; rel=&quot;nofollow&quot;&gt;Paul F. Dietz's &quot;Fully Persistent Arrays&quot;&lt;/a&gt; uses a variant on van Emde Boas trees, which rely on arrays and also on integers being represented as words.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://www.cs.au.dk/~gerth/pub/soda12.html&quot; rel=&quot;nofollow&quot;&gt;Brodal et al.'s &quot;Fully Persistent B-Trees&quot;&lt;/a&gt; relies on arrays.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://arxiv.org/abs/1402.5492&quot; rel=&quot;nofollow&quot;&gt;Davoodi et al.'s &quot;Cache-Oblivious Persistence&quot;&lt;/a&gt; applies a persistence transform to data structures that don't necessarily work in the pointer model.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/questions/7642/i-dreamt-of-a-data-structure-does-it-exist&quot;&gt;The Bentley-Saxe logarithmic method, also known as cache-oblivious lookahead arrays&lt;/a&gt; is naturally partially persistent, and relies on arrays for the insert time to be $o(\log_B n)$ in an external-memory setting.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="43" LastEditorUserId="43" LastEditDate="2015-01-25T05:00:19.423" LastActivityDate="2015-01-25T05:00:19.423" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="29277" PostTypeId="1" CreationDate="2015-01-24T23:25:46.933" Score="6" ViewCount="308" Body="&lt;p&gt;The &lt;em&gt;positive rank&lt;/em&gt; of a square matrix is defined in Theorem $3$ of &lt;a href=&quot;http://dx.doi.org/10.1016/0022-0000(91)90024-Y&quot; rel=&quot;nofollow noreferrer&quot;&gt;&quot;Expressing Combinatorial Optimization Problems by Linear Programs&quot;&lt;/a&gt; by Mihalis Yannakakis as follows: given a $n\times n$ matrix $A$, the positive rank $rank_{\Bbb R}^+(A)$ is the smallest $m$ such that $A=LR$ for a non-negative $n\times m$ matrix $L$, and non-negative $m\times n$ matrix $R$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This concept is valuable in communication complexity, since it was shown that if $rank_{\Bbb R}^+(A)$ and $rank_{\Bbb R}(A)$ could be quasi-polynomially related for a $0/1$ matrix $A$, then the log-rank conjecture holds.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there an example of a $0/1$ matrix $A$ whose positive rank is strictly smaller than the dimension $m$ of any positive decomposition of $A$ into $0/1$ matrices $L,R$? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think Theorem 1.1 in &lt;a href=&quot;http://cjtcs.cs.uchicago.edu/articles/2016/2/cj16-02.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://cjtcs.cs.uchicago.edu/articles/2016/2/cj16-02.pdf&lt;/a&gt; answers this.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Do we know that if non-negative rank and real rank are not quasipolynomially related then the log-rank conjecture fails?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The converse is direct.&lt;/p&gt;&#xA;" OwnerUserId="1812" LastEditorUserId="1812" LastEditDate="2018-01-06T21:36:04.857" LastActivityDate="2018-01-07T08:44:10.927" Title="On the notion of positive rank" Tags="&lt;co.combinatorics&gt;&lt;communication-complexity&gt;" AnswerCount="2" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="29283" PostTypeId="2" ParentId="632" CreationDate="2015-01-25T15:42:15.540" Score="1" Body="&lt;h3&gt;Stepping backwards during debugging as a motivation for non-determinism&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;The notion of a non-deterministic machine suggests itself when you wish to step backward (in time) through a program while debugging. In a typical computer, each step modifies only a finite amount of memory. If you always save this information for the previous 10000 steps, then you can nicely step both forward and backward in the program, and this possibility is not limited to toy programs. If you try to remove the asymmetry between forward steps and backward steps, then you end up with the notion of a non-deterministic machine.&lt;/p&gt;&#xA;&#xA;&lt;h3&gt;Similarities and differences between non-determinism and randomness&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;While probabilistic machines shares some characteristics with non-deterministic machines, this symmetry between forward steps and backward steps is not shared. To see this, let's model the steps or transitions of a deterministic machine by (total or partial) functions, the transitions of a non-deterministic machine by (finite) relations, and the transitions of a probabilistic machine by (sub)&lt;a href=&quot;http://en.wikipedia.org/wiki/Stochastic_matrix&quot; rel=&quot;nofollow&quot;&gt;stochastic matrices&lt;/a&gt;. For example, here are corresponding definitions for &lt;a href=&quot;http://en.wikipedia.org/wiki/Nondeterministic_finite_automaton&quot; rel=&quot;nofollow&quot;&gt;finite automata&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;a finite set of states $Q$&lt;/li&gt;&#xA;&lt;li&gt;a finite set of input symbols $\Sigma$&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Deterministic_finite_automaton&quot; rel=&quot;nofollow&quot;&gt;deterministic&lt;/a&gt;:&lt;/strong&gt; a transition function $\delta:Q\times \Sigma \to Q$&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;non-deterministic:&lt;/strong&gt; a transition function $\Delta:Q\times \Sigma \to P(Q)$&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;non-deterministic:&lt;/strong&gt; a transition relation $\Delta\subset Q\times \Sigma \times Q$&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;non-deterministic:&lt;/strong&gt; a function $\Delta: \Sigma \to P(Q \times Q)$&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Probabilistic_automaton&quot; rel=&quot;nofollow&quot;&gt;probabilistic&lt;/a&gt;:&lt;/strong&gt; a function $\delta: \Sigma \to ssM(Q)$&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Here $P(Q)$ is the power set of $Q$ and $ssM(Q)$ is the space of substochatic matrices on $Q$. A right substochastic matrix is a nonnegative real matrix, with each row summing to at most 1.&lt;/p&gt;&#xA;&#xA;&lt;h3&gt;There are many different reasonable acceptance conditions&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;The transitions are only one part of a machine, initial and final states, possible output and acceptance conditions are also important. However, there are only very few non-eqivalent acceptance conditions for deterministic machines, a number of reasonable acceptance conditions for non-deterministic machines (NP, coNP, #P, ...), and many possible acceptance conditions for probabilistic machines. Hence this answer focuses primarily on the transitions.&lt;/p&gt;&#xA;&#xA;&lt;h3&gt;Reversibility is non-trivial for probabilistic machines&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;A partial function is reversible iff it is injective. A relation is always reversible in a certain sense, by taking the opposite relation (i.e. reversing the direction of the arrows). For a substochastic matrix, taking the transposed matrix is analogous to taking the opposite relation. In general, the transposed matrix is not a substochastic matrix. If it is, then the matrix is said to be &lt;em&gt;doubly substochastic&lt;/em&gt;. In general $P P^T P\neq P$, even for a doubly substochastic matrix $P$, so one can wonder whether this is a reasonable notion of reversibility at all. It is reasonable, because the probability to reach state $B$ from state $A$ in $k$ forward steps is identical to the probability to reach state $A$ from state $B$ in $k$ backward steps. Each path from A to B has the same probability forward and backward. If suitable acceptance conditions (and other boundary conditions) are selected, then doubly substochastic matrices are an appropriate notion of reversibility for probabilistic machines.&lt;/p&gt;&#xA;&#xA;&lt;h3&gt;Reversibility is tricky even for non-deterministic machines&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;Just like in general $P P^T P\neq P$, in general $R\circ R^{op}\circ R \neq R$ for a binary relation $R$. If $R$ describes a partial function, then $R\circ R^{op}\circ R = R$ and $R^{op}\circ R\circ R^{op} = R^{op}$. Even if relations $P$ and $Q$ should be strictly reversible in this sense, this doesn't imply that $P\circ Q$ will be strictly reversible too. So let's ignore strict reversibility now (even so it feels interesting), and focus on reversal by taking the opposite relation. A similar explanation like for the probabilistic case shows that this reversal works fine if suitable acceptance conditions are used.&lt;/p&gt;&#xA;&#xA;&lt;h3&gt;These considerations also make sense for pushdown automata&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;This post suggests that one motivation for non-determinism is to remove that asymmetry between forward steps and backward steps. Is this symmetry of non-determinism limited to finite automata? Here are corresponding symmetric definitions for &lt;a href=&quot;http://en.wikipedia.org/wiki/Pushdown_automaton&quot; rel=&quot;nofollow&quot;&gt;pushdown automata&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;a finite set of states $Q$&lt;/li&gt;&#xA;&lt;li&gt;a finite set of input symbols $\Sigma$&lt;/li&gt;&#xA;&lt;li&gt;a finite set of stack symbols $\Gamma$&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Deterministic_pushdown_automaton&quot; rel=&quot;nofollow&quot;&gt;deterministic&lt;/a&gt;:&lt;/strong&gt; a partial transition function $\delta:Q\times\Gamma\times (\Sigma\cup\{\epsilon\}) \to Q\times\Gamma^{\{0,2\}}$ such that $\delta(q,\gamma,\epsilon)\neq\epsilon$ only if $\delta(q,\gamma,\sigma)=\epsilon$ for all $\sigma\in\Sigma$&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;non-deterministic:&lt;/strong&gt; a transition function $\Delta:Q\times\Gamma^{\{0,1\}}\times (\Sigma\cup\{\epsilon\}) \to P(Q\times\Gamma^{\{0,1\}})$&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;non-deterministic:&lt;/strong&gt; a transition relation $\Delta\subset Q\times\Gamma^{\{0,1\}}\times (\Sigma\cup\{\epsilon\}) \times Q\times\Gamma^{\{0,1\}}$&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;non-deterministic:&lt;/strong&gt; a function $\Delta: \Sigma\cup\{\epsilon\} \to P(Q\times\Gamma^{\{0,1\}}\ \times\ Q\times\Gamma^{\{0,1\}})$&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Stochastic_context-free_grammar&quot; rel=&quot;nofollow&quot;&gt;probabilistic&lt;/a&gt;:&lt;/strong&gt; a function $\delta: \Sigma\cup\{\epsilon\} \to ssM(Q\times\Gamma^{\{0,1\}})$ such that $\delta(\epsilon)+\delta(\sigma)\in ssM(Q\times\Gamma^{\{0,1\}})$ for all $\sigma\in\Sigma$&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Here $\epsilon$ is the empty string, $\Gamma^{\{0,2\}}=\{\epsilon\}\cup\Gamma\cup(\Gamma\times\Gamma)$ and $\Gamma^{\{0,1\}}=\{\epsilon\}\cup\Gamma$. This notation is used because it is similar to $\Gamma^*$, which is used in many definitions for pushdown automata.&lt;/p&gt;&#xA;&#xA;&lt;h3&gt;Diagramed verification of reversal for (non)advancing input and stack operations&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;An advancing input operation with $b\in\Sigma\subset\Sigma\cup\{\epsilon\}$ gets reversed as follows&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;$a|bc \to a|\boxed{b}c \to ab|c$&lt;br&gt;&#xA;  $a|bc \leftarrow a\boxed{b}|c \leftarrow ab|c$&lt;br&gt;&#xA;  $c|ba \to c|\boxed{b}a \to cb|a$&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;A non advancing input operation with $\epsilon\in\Sigma\cup\{\epsilon\}$ that doesn't read any input can be reversed&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;$a|bc \to a|bc \to a|bc$&lt;br&gt;&#xA;  $a|bc \leftarrow a|bc \leftarrow a|bc$&lt;br&gt;&#xA;  $cb|a \to cb|a \to cb|a$&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Here is a diagram of an advancing input operation whose reversal would look bad&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;$\require{cancel}\xcancel{\begin{matrix}&#xA;a|bc \to \boxed{a}|bc \to ab|c\\&#xA;a|bc \leftarrow \boxed{a}b|c \leftarrow ab|c\\&#xA;c|ba \to c|b\boxed{a} \to cb|a&#xA;\end{matrix}}$  &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;For a stack operation $(s,t) \in \Gamma^{\{0,1\}}\times\Gamma^{\{0,1\}}$, there are the three cases $(s,t)=(a,\epsilon)$, $(s,t)=(\epsilon,a)$, and $(s,t)=(a,b)$. The stack operation $(a,\epsilon)$ gets reversed to $(\epsilon,a)$ as follows&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;$ab\ldots \to \boxed{a}b\ldots \to |b\ldots$&lt;br&gt;&#xA;  $\boxed{a}b\ldots \leftarrow |b\ldots \leftarrow b\ldots$&lt;br&gt;&#xA;  $b\ldots \to |b\ldots \to \boxed{a}b\ldots$&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The stack operation $(a,b)$ gets reversed to $(b,a)$ as follows&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;$ac\ldots \to \boxed{a}c\ldots \to \boxed{b}c\ldots$&lt;br&gt;&#xA;  $\boxed{a}c\ldots \leftarrow \boxed{b}c\ldots \leftarrow bc\ldots$&lt;br&gt;&#xA;  $bc\ldots \to \boxed{b}c\ldots \to \boxed{a}c\ldots$&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;A generalized stack operation $(ab,cde)\in\Gamma^*\times\Gamma^*$ would be reversed to $(cde,ab)$&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;$abf\ldots \to \boxed{ab}f\ldots \to \boxed{cde}f\ldots$&lt;br&gt;&#xA;  $\boxed{ab}f\ldots \leftarrow \boxed{cde}f\ldots \leftarrow cdef\ldots$&lt;br&gt;&#xA;  $cdef\ldots \to \boxed{cde}f\ldots \to \boxed{ab}f\ldots$&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;h3&gt;Reversibility for Turing machines&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;A machine with more than one stack is equivalent to a Turing machine, and stack operations can easily be reversed. The motivation at the beginning also suggests that reversal (of a Turing machine) should not be difficult. A Turing machine with a typical instruction set is not so great for reversal, because the symbol under the head can influence whether the tape will move left or right. But if the instruction set is modified appropriately (without reducing the computational power of the machine), then reversal is nearly trivial again.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A reversal can also be constructed without modifying the instruction set, but it is not canonical and a bit ugly. It might seem that the existence of a reversal is just as difficult to decide as many other question pertaining to Turing machines, but a reversal is a local construction and the difficult questions often have a global flavor, so pessimism would probably be unjustified here.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The urge to switch to equivalent instruction sets (easier to reverse) shows that these questions are less obvious than they first appear. A more subtle switch happened in this post before, when total functions and stochastic matrices were replaced by partial functions and substochastic matrices. This switch is not strictly necessary, but the reversal is ugly otherwise. The switch to the substochastic matrices was actually the point where it became obvious that reversibility is not so trivial after all, and that one should write down details (as done above) instead of taking just a high level perspective (as presented in the motivation at the beginning). The questions raised by Niel de Beaudrap also contributed to the realization that the high level perspective is slightly shaky.&lt;/p&gt;&#xA;&#xA;&lt;h3&gt;Conclusion&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;Non-deterministic machines allow a finite number of deterministic transitions at each step. For probabilistic machines, these transitions additionally have a probability. This post conveys a different perspective on non-determinism and randomness. Ignoring global acceptance conditions, it focuses on local reversibility (as a local symmetry) instead. Because randomness preserves some local symmetries which are not preserved by determinism, this perspective reveals non-trivial differences between non-deterministic and probabilistic machines.&lt;/p&gt;&#xA;" OwnerUserId="20340" LastEditorUserId="20340" LastEditDate="2015-02-05T13:29:41.787" LastActivityDate="2015-02-05T13:29:41.787" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="29286" PostTypeId="2" ParentId="189" CreationDate="2015-01-25T23:35:24.147" Score="1" Body="&lt;p&gt;&lt;strong&gt;Polynomial time Max-Cut algorithm in planar graphs&lt;/strong&gt; of F. HADLOCK. Hadlock gave an elegant reduction from Max-Cut to several other problems on the dual of planar graphs and finally to maximum matching problem which is polytime-solvable. I think this algorithm is very beautiful and should be included in THE BOOK.  &lt;/p&gt;&#xA;" OwnerUserId="21297" LastActivityDate="2015-01-25T23:35:24.147" CommentCount="0" CommunityOwnedDate="2015-01-25T23:35:24.147" ContentLicense="CC BY-SA 3.0" />
  <row Id="29288" PostTypeId="2" ParentId="29219" CreationDate="2015-01-26T07:13:44.383" Score="1" Body="&lt;p&gt;The minimal degree of a real polynomial representing the parity function of $n$ variables is $n$. However, the deterministic communication complexity is at most $2$ bits.&lt;/p&gt;&#xA;" OwnerUserId="1812" LastEditorUserId="6579" LastEditDate="2015-01-26T10:01:37.530" LastActivityDate="2015-01-26T10:01:37.530" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="29289" PostTypeId="1" CreationDate="2015-01-26T08:59:11.987" Score="0" ViewCount="73" Body="&lt;p&gt;I have a DAG like this&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$G_1 = \lbrace A \to B \to C \rbrace$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My algorithm modify $G_1$ so it will be like this&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$ G_2 = \lbrace A \to C, B \to C \rbrace $&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I now that $G_2$ is not a transitive reduction of $G_1$. How it is called this operation?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks in advance&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT&lt;/strong&gt;: basically, $G_2$ contains the edge $(a, b)$ of $G_1$ if and only if $b$ is a sink node and exist a path between $a$ and $b$.&lt;/p&gt;&#xA;" OwnerUserId="31830" LastEditorUserId="31830" LastEditDate="2015-01-26T10:34:28.500" LastActivityDate="2015-01-26T10:34:28.500" Title="DAG reduce edges by transitivity" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;" AnswerCount="0" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="29290" PostTypeId="1" AcceptedAnswerId="29291" CreationDate="2015-01-26T09:52:13.340" Score="3" ViewCount="362" Body="&lt;p&gt;Given an integer $K$, a set of tasks $T=\{a_1,b_1,\dots,a_n,b_n\}$ with sequence dependent execution times $E:T \times T \rightarrow \mathbb{N}$ and precedence constraints on $T$ of the following structure:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/WBdV8.jpg&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does an ordering function $F:T\rightarrow \{1,2,\dots, 2n\}$ exist such that $F(b_n) \leq K$ ($b_n$ is always the last task in the ordering)?&#xA;What is the computational complexity of the problem? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If arbitrary precedence constraints (or any partial orderings) are allowed then the problem is NP-Complete (becomes Jobshop / Flowshop or their variant). The question is what is the complexity in the case when the tasks have the precedence constraints with the fixed structure? &lt;/p&gt;&#xA;" OwnerUserId="20614" LastEditorUserId="20614" LastEditDate="2015-01-26T10:10:24.367" LastActivityDate="2015-01-26T10:34:42.947" Title="Is the following problem in P or in NP?" Tags="&lt;time-complexity&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="29291" PostTypeId="2" ParentId="29290" CreationDate="2015-01-26T10:16:18.093" Score="5" Body="&lt;p&gt;The problem can be solved in $O(n^2)$:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Denote $A=\{a_1,\ldots,a_n\}, B=\{b_1,\ldots,b_n\}$.&#xA;We will build a graph in which every node $(i,j,x)$ will denote which $a$'s and $b$'s we have already executed and $x$ is a bit representing if the last task was $a$.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Construct the product graph $$G_p=(V_p, E_p)$$&#xA;$$V_p = A\times B\times \{0,1\}$$&#xA;$$E_p = \{((a_i,b_j,x),(a_{i+1},b_j,0))\mid x\in\{0,1\},j\leq i\in[n-1]\}$$&#xA;$$ \cup \{((a_i,b_j,x),(a_i,b_{j+1},1)\mid  x\in\{0,1\},j\leq i+1\in[n]\}$$&lt;/li&gt;&#xA;&lt;li&gt;Assign weights:&#xA;$$w(((a_i,b_j,0),(a_{i+1},b_j,0)))=E(a_i,a_{i+1})$$&#xA;$$w(((a_i,b_j,1),(a_{i+1},b_j,0)))=E(b_j,a_{i+1})$$&#xA;$$w(((a_i,b_j,0),(a_i,b_{j+1},1))) = E(a_i,b_{j+1})$$&#xA;$$w(((a_i,b_j,1),(a_i,b_{j+1},1))) = E(b_j,b_{j+1})$$&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;And now simply find the shortest path with an algorithm of your choice (run time is linear in $|G_p|$, since it is a DAG).&lt;/p&gt;&#xA;" OwnerUserId="21001" LastEditorUserId="21001" LastEditDate="2015-01-26T10:34:42.947" LastActivityDate="2015-01-26T10:34:42.947" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="29292" PostTypeId="1" CreationDate="2015-01-26T13:49:52.700" Score="10" ViewCount="406" Body="&lt;p&gt;Following the equivalent questions regarding NP-Completeness (see the &lt;a href=&quot;https://cstheory.stackexchange.com/questions/21130/problems-that-are-easy-on-unweighted-graphs-but-hard-for-weighted-graphs&quot;&gt;weight question&lt;/a&gt; and the &lt;a href=&quot;https://cstheory.stackexchange.com/questions/20989/graph-problems-which-are-np-complete-on-directed-graphs-but-polynomial-on-undire&quot;&gt;directed question&lt;/a&gt;), I was wondering how parameterized problems are affected by these attributes.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;ul&gt;&#xA;  &lt;li&gt;&lt;strong&gt;Which $NP$-hard graph problems are $W[1]$-Hard on directed graphs, but fixed parameter tractable on undirected graphs?&lt;/strong&gt;&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;ul&gt;&#xA;  &lt;li&gt;&lt;strong&gt;Which $NP$-hard graph problems are $W[1]$-Hard on weighted graphs, but fixed parameter tractable on unweighted graphs?&lt;/strong&gt;&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;OK, so we have problems which becomes harder on the directed version. What about weights? Can they make parameterized problem harder?&lt;/p&gt;&#xA;" OwnerUserId="21001" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2015-02-05T03:19:57.993" Title="Which graph problems are $W[1]$-Hard on directed(/weighted) graphs but FPT on undirected(/unweighted) graphs?" Tags="&lt;cc.complexity-theory&gt;&lt;graph-algorithms&gt;&lt;parameterized-complexity&gt;&lt;fixed-parameter-tractable&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="29293" PostTypeId="2" ParentId="21130" CreationDate="2015-01-26T14:09:37.667" Score="3" Body="&lt;p&gt;On &lt;a href=&quot;http://www.graphclasses.org/classes/gc_1227.html&quot; rel=&quot;nofollow&quot;&gt;2K_1-free&lt;/a&gt; Maximum cut is polynomial and Weighted maximum cut is NP-complete.&lt;/p&gt;&#xA;" OwnerUserId="22348" LastActivityDate="2015-01-26T14:09:37.667" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="29296" PostTypeId="2" ParentId="29268" CreationDate="2015-01-26T22:06:15.180" Score="5" Body="&lt;p&gt;The idea is based on a discussion I got with Grégoire Sutre this afternoon. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem is decidable as follows.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A Petri net $T$ is a finite set of pairs in $\mathbb{N}^d\times\mathbb{N}^d$ called transitions. Given a transition $t=(\vec{u},\vec{v})$, we denote by $\xrightarrow{t}$ the binary relation defined on the set of configurations $\mathbb{N}^d$ by $\vec{x}\xrightarrow{t}\vec{y}$ if there exists a vector $\vec{z}\in\mathbb{N}^d$ such that $\vec{x}=\vec{u}+\vec{z}$ and $\vec{y}=\vec{v}+\vec{z}$. We denote by $\xrightarrow{T}$ the one step reachability relation $\bigcup_{t\in T}\xrightarrow{t}$. The reflexive and transitive closure of this relation is denoted by $\xrightarrow{T^*}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $\leq$ be the classical componentwise partial order over $\mathbb{N}^d$ and defined by $\vec{u}\leq \vec{x}$ if there exists $\vec{z}\in\mathbb{N}^d$ such that $\vec{x}=\vec{u}+\vec{z}$. The upward closure of a set $\vec{X}$ of $\mathbb{N}^d$ is the set ${\uparrow}\vec{X}$ of vectors $\{\vec{v}\in\mathbb{N}^d \mid \exists \vec{x}\in\vec{X}.\,\vec{x}\leq\vec{v}\}$. The downward closure of a set $\vec{X}$ is the set ${\downarrow}\vec{X}$ of vectors $\{\vec{v}\in\mathbb{N}^d \mid \exists \vec{x}\in\vec{x}.\,\vec{v}\leq\vec{x}\}$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Notice that if $\vec{U}={\uparrow}\vec{B}$ for some finite set $\vec{B}$ of $\mathbb{N}^d$ and if $T$ is a Petri net, we can compute a new Petri net $T_{\vec{B}}$ such that for every configurations $\vec{x},\vec{y}$, we have $\vec{x}\xrightarrow{T}\vec{y}$ and $\vec{x},\vec{y}\in\vec{U}$ if, and only if, $\vec{x}\xrightarrow{T_{\vec{B}}}\vec{y}$. In fact, if $t=(\vec{u},\vec{v})$ is a transition, then for each $\vec{b}\in\vec{B}$, let $t_{\vec{b}}=(\vec{u}+\vec{z},\vec{v}+\vec{z})$ where $\vec{z}$ is the vector in $\mathbb{N}^d$ defined componentwise by $\vec{z}(i)=\max\{\vec{b}(i)-\vec{u}(i),\vec{b}(i)-\vec{v}(i),0\}$ for every $1\leq i\leq d$. Notice that $T_{\vec{U}}=\{t_{\vec{b}} \mid t\in T\,\vec{b}\in\vec{B}\}$ satisfies the requirement.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, assume that $T$ is a Petri net, $\vec{O}$ the set of obstacle. We introduce the finite set $\vec{D}={\downarrow}\vec{O}$. Observe that we can compute effectively a finite set $\vec{B}$ of $\mathbb{N}^d$ such that ${\uparrow}\vec{B}=\mathbb{N}^d\backslash\vec{D}$. Let $R$ be the binary relation defined over $\mathbb{N}^d\backslash \vec{O}$  by $\vec{x} R \vec{y}$ if $\vec{x}=\vec{y}$, or there exists $\vec{x}',\vec{y}'\in \mathbb{N}^d\backslash \vec{O}$ such that $\vec{x}\xrightarrow{T}\vec{x}'\xrightarrow{T_{\vec{B}}^*}\vec{y}'\xrightarrow{T}\vec{y}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, just observe that if there exists a run from the initial configuration $\vec{x}$ to the final one $\vec{y}$ that avoid the obstacle $\vec{O}$, then there exists one that avoid the obstacle in $\vec{O}$ and that passes by configurations in $\vec{D}\backslash \vec{O}$ at most the cardinal of that set. Hence, the problem reduces to select non-deterministically distinct configurations $\vec{c}_1,\ldots,\vec{c}_n$ in $\vec{D}\backslash \vec{O}$, fix $\vec{c}_0$ as the initial configuration $\vec{x}$, $c_{n+1}$ as the final one $\vec{y}$, and check that $\vec{c}_j R \vec{c}_{j+1}$ for every $j$. This last problem reduces to classical reachability questions for Petri nets.&lt;/p&gt;&#xA;" OwnerUserId="31835" LastActivityDate="2015-01-26T22:06:15.180" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="29297" PostTypeId="2" ParentId="29268" CreationDate="2015-01-27T00:54:21.800" Score="4" Body="&lt;p&gt;I've been thinking about your question for vector addition systems with states (VASS) which are equivalent to VAS and came up with this solution. Now, I've read Jérôme's nice answer and I have to say that my answer is &lt;em&gt;very&lt;/em&gt; similar, so please accept his answer even if you consider mine correct.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Idea: It is possible to convert a VASS $V$ into a VASS $V'$ that forbids vectors smaller or equal to the obstacles. This is not exactly what we want, since vectors smaller but not equal to the obstacles are allowed to be reached. However, there are finitely many such vectors. This allows a decomposition of minimals runs into finitely many runs that are either a transition of $V$ or an equivalent run of $V'$. Therefore, &lt;strong&gt;yes&lt;/strong&gt;, the problem is decidable.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Details: Let $V=(Q,T)$ be a $d$-VASS, i.e. $V$ is a finite labelled graph such that $T \subseteq Q \times \mathbb{Z}^d \times Q$. Let $O \subseteq \mathbb{N}^d$ be the set of obstacles. Let $\pi ­\in T^*$ and $X \subseteq \mathbb{N}^d$, we write $p(\boldsymbol{u}) \xrightarrow{\pi}_X q(\boldsymbol{v})$ whenever $\pi$ is a run from $p(\boldsymbol{u})$ to $q(\boldsymbol{v})$ with every intermediate configuration in $Q \times X$. We denote ${\downarrow}X = \{\boldsymbol{y} : \boldsymbol{y} \leq \boldsymbol{x} \text{ for some }  \boldsymbol{x} \in X\}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $\pi$ be a minimal run such that $p(\boldsymbol{u}) \xrightarrow{\pi}_{\mathbb{N}^d \setminus O} q(\boldsymbol{v})$, i.e. a minimal run that avoids the obstacles. Then, by the pigeonhole principle, $\pi$ can be factorized as a run that enters ${\downarrow}O \setminus O$ only finitely many times. More formally, there exist $t_1, t_1' \ldots, t_{n+1}, t_{n+1}' \in T \cup \{\varepsilon\}$, $\pi_1, \ldots, \pi_{n+1} \in T^*$ and  $\{p_i(\boldsymbol{u}_i), q_i(\boldsymbol{v}_i), r_i(\boldsymbol{w}_i)\}_{i \in [0,n+1]} \subseteq Q \times \mathbb{N}^d$  such that&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$\pi = t_1 \pi_1 t_1' \cdots t_{n+1} \pi_{n+1} t_{n+1}'$,&lt;/li&gt;&#xA;&lt;li&gt;$\forall i \in [0,n]\ \; p_i(\boldsymbol{u}_i) \xrightarrow{t_{i+1}}_{\mathbb{N}^d} q_{i+1}(\boldsymbol{v}_{i+1}) \xrightarrow{\pi_{i+1}}_{\mathbb{N}^d \setminus {\downarrow}O} r_{i+1}(\boldsymbol{w}_{i+1}) \xrightarrow{t_{i+1}'}_{\mathbb{N}^d} p_{i+1}(\boldsymbol{u}_{i+1})$&lt;/li&gt;&#xA;&lt;li&gt;$p_0(\boldsymbol{u}_0) = p(\boldsymbol{u}),\ p_{n+1}(\boldsymbol{u}_{n+1}) = q(\boldsymbol{v})$,&lt;/li&gt;&#xA;&lt;li&gt;$\forall i \in [1,n]\ \; \boldsymbol{u}_i \in {\downarrow}O \setminus O$.&lt;/li&gt;&#xA;&lt;li&gt;$n \leq |Q| \cdot |{\downarrow}O|$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Therefore, it suffices to guess $n$, $t_1, t_1', \ldots, t_{n+1}, t_{n+1}'$ and the intermediate configurations. Testing whether $p(\boldsymbol{x}) \xrightarrow{*}_{\mathbb{N}^d \setminus {\downarrow}O} q(\boldsymbol{y})$ can be carried out by converting $V$ into a new $d$-VASS $V'$ where each transition $t \in T$ is replaced by a gadget of $4|O|+1$ transitions. For example, if $O = \{(1,5), (2,3)\}$ then the transitions are replaced as follows: &lt;img src=&quot;https://i.stack.imgur.com/aqGMR.png&quot; alt=&quot;VASS gadget&quot;&gt;&lt;/p&gt;&#xA;" OwnerUserId="508" LastEditorUserId="508" LastEditDate="2015-01-27T16:58:09.983" LastActivityDate="2015-01-27T16:58:09.983" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="29298" PostTypeId="2" ParentId="29292" CreationDate="2015-01-27T02:33:20.233" Score="9" Body="&lt;p&gt;The disjoint paths problem: given $G$ and $k$ pairs of nodes, are there node disjoint paths connecting the given pairs. Parameterized by $k$, in FPT when $G$ is undirected from the seminal work of Robertson and Seymour. NP-Hard for $k=2$ when $G$ is directed - from work of Fortune, Hopcroft and Wylie (1980).&lt;/p&gt;&#xA;" OwnerUserId="176" LastEditorUserId="176" LastEditDate="2015-01-28T00:57:55.020" LastActivityDate="2015-01-28T00:57:55.020" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="29299" PostTypeId="2" ParentId="16253" CreationDate="2015-01-27T02:55:59.190" Score="0" Body="&lt;p&gt;Here's another strongly $NP$-hard problem:  From the domain of theoretic scheduling and combinatorial optimization, the makespan problem on identical parallel machines (denoted commonly as $P||C_{max}$ in the literature).  Note that some of the hardest scheduling problems almost all have this as a special case (e.g., the makespan problem on unrelated parallel machines.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's strongly $NP$-hard, because you can reduce from the $3$-partition problem (,see &lt;a href=&quot;http://www.cs.cmu.edu/afs/cs/academic/class/15854-f05/www/scribe/lec10.pdf&quot; rel=&quot;nofollow&quot;&gt;http://www.cs.cmu.edu/afs/cs/academic/class/15854-f05/www/scribe/lec10.pdf&lt;/a&gt; section 10.5).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hope this helps!&lt;/p&gt;&#xA;" OwnerUserId="31726" LastActivityDate="2015-01-27T02:55:59.190" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="29300" PostTypeId="2" ParentId="446" CreationDate="2015-01-27T03:11:27.293" Score="3" Body="&lt;p&gt;Scheduling is around us on an almost daily basis.  Whether it be the workplace, manufacturing, or just planning your day, you'll find an $NP$-complete problem that you wish had an efficient exact algorithm.  A situation that arises commonly in scheduling is parallel machine scheduling (typically non-preemptive, and tasks occur in parallel). A trivial way of visualizing parallel machine scheduling problems is stacking blocks.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For instance, finding an assignment of $n$ blocks of varying heights (say $p_j$) with $m$ towers (blocks are stacked to form) with the goal of minimizing the height of the tallest tower is $NP$-hard.  This is equivalent to the makespan problem on identical parallel machines (replace tasks/jobs of length $p_j$ for blocks, towers for machines, and tallest height for the &lt;em&gt;completion time of the machine that finishes last&lt;/em&gt; (called the makespan)).  Asking if there is a tower of height at most $k$ would then be $NP$-complete in this situation.  Observe that this doesn't need to be blocks providing we assume they can't topple over.  It could be stacks of papers, crates, or plates.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hope this helps! &lt;/p&gt;&#xA;" OwnerUserId="31726" LastActivityDate="2015-01-27T03:11:27.293" CommentCount="0" CommunityOwnedDate="2015-01-27T03:11:27.293" ContentLicense="CC BY-SA 3.0" />
  <row Id="29301" PostTypeId="1" AcceptedAnswerId="29305" CreationDate="2015-01-27T05:19:14.057" Score="8" ViewCount="207" Body="&lt;p&gt;For &lt;a href=&quot;https://en.wikipedia.org/wiki/Kolmogorov_complexity#Invariance_theorem&quot; rel=&quot;nofollow noreferrer&quot;&gt;Kolmogorov complexities&lt;/a&gt; $\hspace{.02 in}K$ induced by essentially-optimal description languages,&#xA;&lt;br&gt;&#xA;does there exist an integer $c$ such that for all positive integers $n$,&#xA;&lt;br&gt;&#xA;there exists a string $x$ such that $\;\;\; n \: &amp;lt; \: K(x) \: &amp;lt; \: n\hspace{-0.04 in}+\hspace{-0.03 in}c \;\;\;\;$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Unlike &lt;a href=&quot;https://cstheory.stackexchange.com/questions/27424/is-kolmogorov-complexity-a-surjective-function&quot;&gt;the question I was inspired by&lt;/a&gt;, this question's answer is robust against the choice of $\hspace{.02 in}K\hspace{-0.02 in}$, since by definition $L_{\hspace{.03 in}0}$ is an &quot;essentially-optimal description language&quot; if and only if&#xA;&lt;br&gt;&#xA;it is a computable partial function from $\{\hspace{-0.02 in}0,\hspace{-0.05 in}1\hspace{-0.03 in}\}^{\hspace{-0.03 in}*}$ to itself such that for all&#xA;&lt;br&gt;&#xA;computable partial functions $L_{\hspace{.02 in}1}$ from $\{\hspace{-0.02 in}0,\hspace{-0.05 in}1\hspace{-0.03 in}\}^{\hspace{-0.03 in}*}$ to itself, there exists an&#xA;&lt;br&gt;&#xA;integer $c$ and a computable (total) function $\: f : \{\hspace{-0.02 in}0,\hspace{-0.05 in}1\hspace{-0.03 in}\}^{\hspace{-0.03 in}*} \to \{\hspace{-0.02 in}0,\hspace{-0.05 in}1\hspace{-0.03 in}\}^{\hspace{-0.03 in}*} \:$ such that&#xA;&lt;br&gt;&#xA;for all strings $x$, $\;\;\; \operatorname{length}(\hspace{.05 in}f(x)) \: &amp;lt; \: \operatorname{length}(x)+c \;\;\;$ and $\; L_{\hspace{.03 in}0}\hspace{-0.02 in}(\hspace{.05 in}f(x)) = L_{\hspace{.02 in}1}\hspace{-0.02 in}(x) \:\:$.&lt;br&gt;&lt;br&gt;&lt;/p&gt;&#xA;" OwnerDisplayName="user6973" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2015-01-27T18:27:59.720" Title="Is Kolmogorov complexity quasi-surjective?" Tags="&lt;kolmogorov-complexity&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="29303" PostTypeId="2" ParentId="29271" CreationDate="2015-01-27T13:23:34.310" Score="6" Body="&lt;p&gt;You can find an answer in the following paper:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Joachim von zur Gathen, Malte Sieveking. A bound on solutions of integer linear equalities and inequalities.&#xA;Proc. AMS 72(1) (1978)&#xA;(&lt;a href=&quot;http://www.ams.org/journals/proc/1978-072-01/S0002-9939-1978-0500555-0/S0002-9939-1978-0500555-0.pdf&quot;&gt;pdf&lt;/a&gt;)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A simple corollary of their result follows.&#xA;Let's say we have two integer systems, $A x = b$ and $C x \ge d$,&#xA;where you want $x$ to be in $\mathbb Z^n$.&#xA;Consider determinants of all square submatrices of the matrix $E = \left(\matrix{A &amp;amp; b \\ C &amp;amp; d}\right)$&#xA;and denote by $M$ an upper bound on their absolute values.&#xA;(In other words, set $M$ to be larger than or equal to the absolute value of all minors of $E$.)&#xA;Now, if there exists an $x \in \mathbb Z^n$ satisfying both $A x = b$ and $C x \ge d$, then&#xA;there exists such an $x$ whose components are at most $(n + 1) M$ in absolute value.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It remains to note that a determinant of a $k \times k$-matrix $S$ is at most $k!\, \|S\|_{\mathsf{max}}^k$&#xA;where $\|S\|_{\mathsf{max}} = \max |s_{i j}|$. Combining these two bounds will give a specific polynomial&#xA;bound on the size of a smallest solution (and this is already an easy exercise).&lt;/p&gt;&#xA;" OwnerUserId="13649" LastActivityDate="2015-01-27T13:23:34.310" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="29305" PostTypeId="2" ParentId="29301" CreationDate="2015-01-27T18:27:59.720" Score="6" Body="&lt;p&gt;Suppose $L_0$ is an essentially-optimal description language, and consider the identity function, which is a computable partial function from $\{0,1\}^*$ to itself. According to the definition, there is a computable function $f$ and a constant $C$ such that $|f(x)| \leq |x| + C$ and $L_0(f(x)) = x$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Take now a Kolmogorov random string $x$ of length $n$. On the one hand, $K(x) \geq n$. On the other hand, we have seen above that $K(x) \leq n + C$.&lt;/p&gt;&#xA;" OwnerUserId="40" LastActivityDate="2015-01-27T18:27:59.720" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="29306" PostTypeId="2" ParentId="29277" CreationDate="2015-01-27T21:47:25.707" Score="4" Body="&lt;p&gt;This is not an answer, but another version, &lt;strong&gt;NOT&lt;/strong&gt; equivalent to the original of this excellent, but perhaps hard to grasp question.&#xA;Define the &lt;em&gt;bipartite clique partition number&lt;/em&gt; of a graph as the least number of its complete bipartite subgraphs that cover each edge exactly once.&#xA;Similarly define the &lt;em&gt;support of the fractional bipartite clique partition number&lt;/em&gt; of a graph as the least number of its complete bipartite subgraphs that have a positive weighing such that for each edge the sum of the weights of the subgraphs containing it is exactly one.&#xA;The question is whether these two parameters are always equal or not.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I find it quite surprising that while fractional version are studied a lot, I've never heard of studying the size of the support of the fractional version.&#xA;I also wonder whether this latter parameter has any applications.&#xA;Also, the question could be asked about several other parameters.&lt;/p&gt;&#xA;" OwnerUserId="419" LastEditorUserId="419" LastEditDate="2015-01-28T07:25:06.343" LastActivityDate="2015-01-28T07:25:06.343" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="29309" PostTypeId="1" CreationDate="2015-01-27T22:47:21.630" Score="3" ViewCount="135" Body="&lt;p&gt;Goldbach's conjecture states that every even number greater than 2 can be expressed as the sum of 2 primes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm interested in this function problem:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Given an even natural number &lt;em&gt;n&lt;/em&gt; greater than 2, find a natural number &lt;em&gt;p&lt;/em&gt; such that &lt;em&gt;p&lt;/em&gt; and &lt;em&gt;n&lt;/em&gt; - &lt;em&gt;p&lt;/em&gt; are both prime.&lt;/strong&gt;  (Inputs that are not even natural numbers may be mapped to 0.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we assume that Goldbach's conjecture is true, this function f(&lt;em&gt;n&lt;/em&gt;) = &lt;em&gt;p&lt;/em&gt; is a member of TFNP.  The reason for this is that we are guaranteed by our assumption that Goldbach's conjecture is true that there exists an answer to the problem, and we can easily guess this answer (it is no greater in size than &lt;em&gt;n&lt;/em&gt;), and then verify its accuracy in linear time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can we do any better than TFNP here?  Could there be some algorithm in PPAD that computes this, or could there even be an FP algorithm?&lt;/p&gt;&#xA;" OwnerUserId="1338" LastEditorUserId="1338" LastEditDate="2015-01-28T12:21:15.960" LastActivityDate="2015-01-28T12:21:15.960" Title="Is there a PPAD algorithm for computing primes that sum to even numbers?" Tags="&lt;complexity-classes&gt;&lt;nt.number-theory&gt;" AnswerCount="0" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="29311" PostTypeId="2" ParentId="29292" CreationDate="2015-01-28T09:29:36.823" Score="3" Body="&lt;p&gt;Computing tree-width and tree decomposition in undirected graphs is FPT w.r.t width parameter. Many digraph width measures (or their corresponding game) are equivalent to tree-width in undirected graphs. Exact complexity class of many of them are not known but recently shown that &lt;a href=&quot;http://arxiv.org/abs/1411.2438&quot; rel=&quot;nofollow&quot;&gt;DAG-Width is PSPACE-complete&lt;/a&gt;. &lt;/p&gt;&#xA;" OwnerUserId="1846" LastActivityDate="2015-01-28T09:29:36.823" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="29317" PostTypeId="1" CreationDate="2015-01-28T18:34:03.603" Score="16" ViewCount="564" Body="&lt;p&gt;I read that integer linear programming is solvable in polynominal time if the number $n$ of variables is fixed, i.e. $n \in O(1)$. If the number of variables grows logarithmically, i.e. $n \in O(\log_2(N))$ for a given input of size $N$, is the problem still solvable in polynominal time or is this an open problem?&lt;/p&gt;&#xA;" OwnerUserId="31711" LastEditorUserId="508" LastEditDate="2015-01-28T19:57:53.467" LastActivityDate="2015-01-28T20:38:07.070" Title="Integer linear programming in logarithmic number of variables" Tags="&lt;cc.complexity-theory&gt;&lt;np&gt;&lt;open-problem&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="29318" PostTypeId="2" ParentId="29317" CreationDate="2015-01-28T20:38:07.070" Score="15" Body="&lt;p&gt;I can only give a partial answer to this question. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A result by Lenstra (later improved by Kannan, and Frank and Tardos) states that ILP with $k$ variables can be solved in time $k^{O(k)}$ (times a polynomial in the size of the ILP). Therefore, ILP is in P when the number of variables is $O(\log n/\log\log n)$. I am not sure if a $2^{O(k)}$ algorithm is known, or if such an algorithm would contradict the ETH.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I found this information in Daniel Lokshtanov's dissertation. Here are the relevant references.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;H.W. Lenstra. Integer programming with a fixed number of variables. Mathematics of Operations Research, 8:538–548, 1983.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;R. Kannan. Minkowski’s convex body theorem and integer programming. Mathematics of Operations Research, 12:415–440, 1987.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Andras Frank and Eva Tardos. An application of simultaneous diophantine approximation in combinatorial optimization. Combinatorica, 7:49–65, 1987.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="3168" LastActivityDate="2015-01-28T20:38:07.070" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="29319" PostTypeId="2" ParentId="16692" CreationDate="2015-01-28T21:09:53.680" Score="2" Body="&lt;p&gt;This is a partial answer that only gives a candidate intermediate $NP$-complete problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$k$-Equal Sum Subsets problem: Given a multiset of $n$ positive integers $A = \{a_1,...,a_n\}$, are there $k$ nonempty disjoint subsets $S_1,...,S_k ⊆ \{a_1,...,a_n\}$ such that $sum(S_1) = ... = sum(S_k)$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem is weakly $NP$-complete when $k= O(1)$ and therefore has pseudo-polynomial time algorithm for any fixed constant integer $k &amp;gt; 2$. However, it becomes strongly $NP$-complete when the number of equal sum subsets $k= \Omega(n)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $k= \omega(1)$ and $k= O(\log n)$ then $k$-Equal Sum Subsets problem is a candidate intermediate $NP$-complete problem (as described in the question). This problem is neither known to have a pseudo-polynomial time algorithm nor proven to be $NP$-complete in the strong sense.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Reference:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;CIELIEBAK, EIDENBENZ, PAGOURTZIS, and SCHLUDE, ON THE COMPLEXITY OF VARIATIONS OF EQUAL SUM SUBSETS, Nordic Journal of Computing 14(2008), 151–172&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2015-01-28T21:24:29.820" LastActivityDate="2015-01-28T21:24:29.820" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="29321" PostTypeId="2" ParentId="22018" CreationDate="2015-01-29T11:08:01.820" Score="1" Body="&lt;p&gt;You are probably speaking about something like a &lt;a href=&quot;https://en.wikipedia.org/wiki/Process_ontology&quot; rel=&quot;nofollow&quot;&gt;process ontology&lt;/a&gt;. Lately, that research has focused (moved?) on &lt;a href=&quot;https://scholar.google.com/scholar?hl=en&amp;amp;q=semantic+workflows&quot; rel=&quot;nofollow&quot;&gt;semantic workflows&lt;/a&gt;, e.g. to model processes in science, related with reproducibility. Similarly, we can also find the application of &lt;a href=&quot;https://scholar.google.com/scholar?q=business+process+ontology&quot; rel=&quot;nofollow&quot;&gt;ontologies to business processes&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For more classical (lower level?) approaches, you may be interested in the &lt;a href=&quot;https://en.wikipedia.org/wiki/Homoiconicity&quot; rel=&quot;nofollow&quot;&gt;homoiconicity&lt;/a&gt; property of programming languages like Lisp. In such a case these &quot;networks&quot; usually take the shape of parse trees, i.e. the representation is at a syntactic level and semantics are implicit, e.g. loops and recursive calls are still just a syntactic tree, even if the execution would not result into a tree.&lt;/p&gt;&#xA;" OwnerUserId="6577" LastActivityDate="2015-01-29T11:08:01.820" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="29322" PostTypeId="1" AcceptedAnswerId="29373" CreationDate="2015-01-29T11:48:27.173" Score="3" ViewCount="926" Body="&lt;p&gt;I have the following shortest path problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider a directed graph with $n$ levels.  Each level has $m$ nodes.  Each node at level $i$ is connected to all nodes at level $i+1$.  Let us also make a starting node that is connected to all nodes at level $1$ (the first level). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Each edge is labelled by a pair of non-negative integer weights.  Each level $i$ has a single non-negative integer label which we call $L_i$.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The goal is to minimize the shortest path with respect to the first weight in each edge weight pair from the starting node to the last level while ensuring that the weight of the path from the starting node with respect to the second weight in each edge weight pair is no more than $L_i$ at each level $i$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Has this problem been studied? Is it known to be NP-hard?&lt;/p&gt;&#xA;" OwnerUserId="17390" LastEditorUserId="17390" LastEditDate="2015-01-31T20:09:58.430" LastActivityDate="2015-02-05T12:38:30.513" Title="The complexity of a multi-objective shortest path problem" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;graph-theory&gt;&lt;np-hardness&gt;" AnswerCount="1" CommentCount="8" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="29323" PostTypeId="1" AcceptedAnswerId="29327" CreationDate="2015-01-29T12:29:12.133" Score="11" ViewCount="1048" Body="&lt;p&gt;I came across the following problem in my old Czech algorithm textbook, sadly came with no hints or solution.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&quot;We define Fibonacci words as $F_{0}=a$, $F_{1}=b$, $F_{n+2}=F_{n}F_{n+1}$, where $a$ and $b$ are general letters. How in a given string (over a potentially large alphabet) can you find the longest Fibonacci's sub-word in linear time?&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I know a solution in quadratic time, but can't reduce it to linear. Can anyone point me to the right direction?&lt;/p&gt;&#xA;" OwnerUserId="31868" LastActivityDate="2015-02-23T16:50:14.257" Title="Fibonacci words" Tags="&lt;string-matching&gt;&lt;string-search&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="29324" PostTypeId="1" AcceptedAnswerId="29349" CreationDate="2015-01-29T13:46:39.680" Score="12" ViewCount="555" Body="&lt;p&gt;Are there examples of practical applications of parity games, ie systems, in the real world, that can be represented as parity games ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Usually related documentation on parity games has almost never a practical example of this application.&lt;/p&gt;&#xA;" OwnerUserId="2593" LastActivityDate="2015-02-03T04:13:47.137" Title="Practical applications of parity games" Tags="&lt;lo.logic&gt;&lt;two-player-games&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="29327" PostTypeId="2" ParentId="29323" CreationDate="2015-01-29T16:17:44.240" Score="12" Body="&lt;p&gt;The obvious way to go is dynamic programming: let $F(i,j)$ store the two letters for which a Fibonacci word of order $i$ starts at position $j$, and calculate this by looking at $F(i-2,j)$ and $F(i-1,j+\operatorname{fib}(i))$. This takes $O(n \log n)$ time at most, because there are only logarithmically many possible values of $i$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But I suspect that there can only be $O(n/\operatorname{fib}(i))$ positions for which $F(i-2,j)$ is nonempty (i.e. that when two Fibonacci words of the same length are present they can only overlap for up to a constant fraction of their length rather than most of their length). The nonempty positions of $F(i-2,j)$ are the only ones for which you need to do the (constant time) calculation for $F(i,j)$. So if my suspicion is true then you could speed it up to $O(n)$ by keeping track of a list of nonempty positions for each value of $i$ and using the list for $i-2$ to speed up the computation of the list for $i$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you store $F$ in an array the space would still be $O(n \log n)$ even after the speedup but this could be improved using a hashtable instead. Or alternatively you could store $F$ in a bit-packed array with $O(n)$ $\log n$-bit words (using the observation that you only need to know whether it's empty or not; you can find the two characters for each substring by looking at the first two of its positions in the input string).&lt;/p&gt;&#xA;" OwnerUserId="95" LastEditorUserId="32182" LastEditDate="2015-02-23T16:50:14.257" LastActivityDate="2015-02-23T16:50:14.257" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="29328" PostTypeId="1" CreationDate="2015-01-29T17:42:26.943" Score="9" ViewCount="510" Body="&lt;p&gt;&lt;strong&gt;Instance:&lt;/strong&gt; An undirected graph $G$ with two distinguished vertices $s\neq t$, and an integer $k\geq 0$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question:&lt;/strong&gt; Does there exist an $s-t$ path in $G$, such that the path intersects at most $k$ triangles? (For this problem a path is said to intersect a triangle if the path contains at least one edge from the triangle.)&lt;/p&gt;&#xA;" OwnerUserId="12710" LastActivityDate="2015-02-10T12:52:18.327" Title="Is the complexity of this path problem known?" Tags="&lt;cc.complexity-theory&gt;&lt;graph-algorithms&gt;" AnswerCount="1" CommentCount="11" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="29329" PostTypeId="1" AcceptedAnswerId="29330" CreationDate="2015-01-29T20:35:07.840" Score="0" ViewCount="306" Body="&lt;p&gt;A chordal Graph is a connected graph which contains no chord-less cycle of size greater than three.&#xA;They are also called as Triangulated graphs. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;All Paths are Chordal Graphs (No cycles).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;All Trees are chordal Graphs (No cycles).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;All cliques are chordal graphs. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A Path contains the minimum no of edges and a clique contains the maximum number of edges of a given n vertices chordal graph&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Chordal_graph&quot; rel=&quot;nofollow&quot;&gt;Wiki Link for more explanation of chordal graphs &lt;/a&gt; &lt;/p&gt;&#xA;&#xA;&lt;p&gt;So for a fixed number 'n', what is the algorithm to find all the possible chordal graphs of n vertices? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example: &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;n= 2, Answer = 1 chordal graph. &lt;/li&gt;&#xA;&lt;li&gt;n= 3, Answer = 2 chordal graphs, &lt;/li&gt;&#xA;&lt;li&gt;n= 4, Answer = 5 chordal graphs, &lt;/li&gt;&#xA;&lt;li&gt;n= 5, Answer = 15 chordal graphs.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The above are determined by drawing all possible examples. Any algorithm? &lt;/p&gt;&#xA;" OwnerUserId="31879" LastEditorUserId="8936" LastEditDate="2015-01-29T23:05:10.370" LastActivityDate="2015-01-29T23:05:10.370" Title="What is the Algorithm to find all the possible chordal graphs which can be formed by a given 'n' number of vertices" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;" AnswerCount="1" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="29330" PostTypeId="2" ParentId="29329" CreationDate="2015-01-29T22:34:45.717" Score="1" Body="&lt;p&gt;The best way to do it, if you want to generate billions of graphs is to read up on enumeration algorithms such as:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[Yasuko Matsui, Ryuhei Uehara and Takeaki Uno, Enumeration of Perfect Sequences of Chordal Graph (2008)]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However for many this may be more than what is needed.&#xA;An easier algorithm is:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Enumerate all chordal graphs on n-1 vertices.&lt;/li&gt;&#xA;&lt;li&gt;For each chordal graph G on n-1 vertices and each clique C in G.&#xA;Create a graph G' by adding a vertex v with neighbours C.&lt;/li&gt;&#xA;&lt;li&gt;If G' has not already been found, add G to the list of chordal graphs on n vertices.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;By this algorithm you should be able to generate the chordal graphs on at most 11 vertices which means over a million graphs.&lt;/p&gt;&#xA;" OwnerUserId="8936" LastActivityDate="2015-01-29T22:34:45.717" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="29332" PostTypeId="2" ParentId="11433" CreationDate="2015-01-30T10:02:42.030" Score="1" Body="&lt;p&gt;As Reyzin said, they can be compared from different perspectives.I like all the theoretical beautiful stuff about boosting methods, their convergence guarantees and their bound on generalization error. In reality however, you have to remember boosting methods are meta-algorithms while ANN is a learning method, i.e., ANN can be used as a weak learner in a boosting method. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Lets assume you mean comparing the accuracy of the Adaboost with decision tree as a weak learn and deep neural networks which are the current buzzwords. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;DNNs are able to learn very complex structures. Adaboost with decision trees CAN'T.&#xA;Adaboost can learn perfect classifier when some or all variables are categorical. DNNs CAN'T.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Adaboost are great when we have relative small size datasets. Work very well with most of the medical related datasets and work OK with images.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;DNNs and particularly convolutional neural nets (CNNs) are perfect for images and work poorly with small size datasets need a lot of computation power (If you want to train a good model they should be run on GPU) and sometimes can surprise you by the amazing accuracy that they may return. &lt;/p&gt;&#xA;" OwnerUserId="21710" LastActivityDate="2015-01-30T10:02:42.030" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="29334" PostTypeId="2" ParentId="14182" CreationDate="2015-01-30T10:12:24.540" Score="2" Body="&lt;p&gt;To get you answer,you may wanna look at this paper  &lt;a href=&quot;http://dept.stat.lsa.umich.edu/~gmichail/ada_final.pdf&quot; rel=&quot;nofollow&quot;&gt;http://dept.stat.lsa.umich.edu/~gmichail/ada_final.pdf&lt;/a&gt;.&#xA;Algorithm 2 summarizes the step you have to take to derive a boosting algorithm from any given convex loss including logitboost. &lt;/p&gt;&#xA;" OwnerUserId="21710" LastActivityDate="2015-01-30T10:12:24.540" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="29336" PostTypeId="1" CreationDate="2015-01-30T16:36:17.213" Score="3" ViewCount="46" Body="&lt;p&gt;I have seen a bunch of results concerning Matrix Completion, PCA, Compressed Sensing where a common theme has been to relax the Rank constraint/objective by replacing it with Nuclear Norm. I was wondering if there is a survey of some sort which collects these results, compares them and presents the basic underlying technique. I havent read the original papers yet so they might be the best reference but the purpose of the question is to know if there are other easier to understand references to get started on this topic with. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks in advance &lt;/p&gt;&#xA;" OwnerUserId="12212" LastActivityDate="2015-01-30T16:36:17.213" Title="Reference for Nuclear Norm Relaxations" Tags="&lt;reference-request&gt;&lt;matrices&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="29340" PostTypeId="1" AcceptedAnswerId="29343" CreationDate="2015-01-31T05:37:12.973" Score="23" ViewCount="871" Body="&lt;p&gt;In the paper &lt;a href=&quot;http://aleteya.cs.buap.mx/~jlavalle/papers/complexity/p216-schaefer.pdf&quot;&gt;&quot;THE COMPLEXITY OF SATISFIABILITY PROBLEMS&quot;&lt;/a&gt; by Thomas J. Schaefer, the author has mentioned that&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;code&gt;This raises the intriguing possibility of computer-assisted NP-completeness proofs. Once the researcher has established the basic framework for simulating conjunctions of clauses, the relational complexity could be explored with the help of a computer. The computer would be instructed to randomly generate various input configurations and test whether the defined relation was non-affine, non-bijunctive, etc.&lt;/code&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course, this is a limitation:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;code&gt;The fruitfulness of such an approach remains to be proved: the enumeration of the elements of a relation on lO or 15 variables is Surely not a light computational task.&lt;/code&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am curious that &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;ol&gt;&#xA;  &lt;li&gt;Are there follow-up researches in developing this idea of &quot;computer-assisted NP-completeness proofs&quot;? What is the state-of-the-art (may be specific to $\textsf{3SAT}$ or $\textsf{3-Partition}$)?&lt;br&gt;&#xA;  Since Schaefer has proposed the idea of &quot;computer-assisted&quot; NP-Completeness proof (at least for reductions from $\textsf{SAT}$), does this mean there are some general principles/structures underlying these reductions (for the ones from $\textsf{3SAT}$ or $\text{3-Partition}$)? If so, what are they?    &lt;/li&gt;&#xA;  &lt;li&gt;Does anyone have experience in proving NP-completeness with a computer-assistant? Or can anyone make up an artificial example?&lt;/li&gt;&#xA;  &lt;/ol&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="12739" LastEditorUserId="12739" LastEditDate="2015-02-02T09:56:15.367" LastActivityDate="2016-06-01T13:23:21.313" Title="Curious about computer-assisted NP-completeness proofs" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;soft-question&gt;&lt;reductions&gt;&lt;proof-assistants&gt;" AnswerCount="5" CommentCount="8" FavoriteCount="10" ContentLicense="CC BY-SA 3.0" />
  <row Id="29341" PostTypeId="1" CreationDate="2015-01-31T07:18:11.597" Score="6" ViewCount="138" Body="&lt;p&gt;Most puzzles that you can buy are in P, NP-complete (like Sudoku) or PSPACE-complete (like Sokoban), at least if you scale them up.&#xA;Are there any &lt;em&gt;natural&lt;/em&gt; puzzles that are PPAD-complete?&#xA;What about other similar classes, like PPA, PPADS etc?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we don't insist on natural, then of course practically any PPAD-complete problem would be a puzzle, just during the puzzle you would need to run the some Turing machine a couple of times.&#xA;What I have in mind would be for example finding &lt;a href=&quot;https://kintali.wordpress.com/2009/07/25/finding-a-second-hamilton-circuit/&quot;&gt;another Hamiltonian cycle&lt;/a&gt; in a cubic graph, which is known to be in PPA, just now known to be complete.&lt;/p&gt;&#xA;" OwnerUserId="419" LastActivityDate="2015-01-31T18:29:08.513" Title="Are there PPAD-complete puzzles?" Tags="&lt;puzzles&gt;&lt;board-games&gt;&lt;ppad&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="29343" PostTypeId="2" ParentId="29340" CreationDate="2015-01-31T16:19:59.343" Score="22" Body="&lt;p&gt;As for question 2, there are at least two examples of $NP$-completeness proofs that involve computer-assistant.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://link.springer.com/chapter/10.1007%2F978-3-642-45278-9_13&quot;&gt;Erickson and  Ruskey&lt;/a&gt; provided a computer-aided proof that &lt;a href=&quot;http://alejandroerickson.com/home/blog/im/Erickson-Ruskey-IWOCA-2013.pdf&quot;&gt;Domino Tatami Covering&lt;/a&gt; is NP-complete. They gave a polynomial time reduction from planar 3-SAT to tatami domino covering. A SAT-solver (Minisat) was used to automate gadgets discovery in the reduction. No other $NP$-completeness proof is known for it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www6.in.tum.de/Main/Publications/Ruepp2010a.pdf&quot;&gt;Ruepp and Holzer&lt;/a&gt; proved that pencil puzzle Kakuro is $NP$-complete. Some parts of the $NP$-completeness proof were generated automatically using a SAT-solver ( again Minisat).&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2015-01-31T19:49:39.690" LastActivityDate="2015-01-31T19:49:39.690" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="29344" PostTypeId="2" ParentId="29341" CreationDate="2015-01-31T18:29:08.513" Score="2" Body="&lt;p&gt;In the &lt;a href=&quot;http://www.cs.princeton.edu/~kintali/ppad.html&quot; rel=&quot;nofollow&quot;&gt;most authoritative reference&lt;/a&gt; on PPAD-complete problems, there is no PPAD-complete puzzle mentioned.&lt;/p&gt;&#xA;" OwnerUserId="20164" LastActivityDate="2015-01-31T18:29:08.513" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="29346" PostTypeId="1" AcceptedAnswerId="29348" CreationDate="2015-01-31T21:43:11.807" Score="7" ViewCount="804" Body="&lt;p&gt;In the recent movie called The Imitation Game, there is a affirmation that Turing was building his theoretical machine.&#xA;That machine is the Bombe Machine. Is this machine really equivalent to a Turing Machine ?&lt;/p&gt;&#xA;" OwnerUserId="31900" LastActivityDate="2015-01-31T23:35:00.617" Title="Was bombe machine turing complete?" Tags="&lt;computability&gt;&lt;turing-machines&gt;&lt;universal-turing-machines&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="29348" PostTypeId="2" ParentId="29346" CreationDate="2015-01-31T23:35:00.617" Score="14" Body="&lt;p&gt;No, the bombe was very specific. It consisted of a bunch of enigma machines hooked together. It was very limited in its use. A more interesting question is whether the Colossus computer, also used in Bletchely Park, was Turing-complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;When asking such a question, it should be understood that no physical computer is Turing-complete, since it cannot handle arbitrarily large inputs. But even if we abstract this issue away (in any reasonable way), bombes are not Turing-complete. It could be fun to come up with an appropriate model and determine the exact complexity class covered by bombes.&lt;/p&gt;&#xA;" OwnerUserId="40" LastActivityDate="2015-01-31T23:35:00.617" CommentCount="13" ContentLicense="CC BY-SA 3.0" />
  <row Id="29349" PostTypeId="2" ParentId="29324" CreationDate="2015-02-01T03:31:43.750" Score="11" Body="&lt;p&gt;Here is a rather different application from what you may have had in mind. Linear programming has many practical applications. There are many algorithms for linear programming and those based on George Dantzig's &lt;a href=&quot;http://en.wikipedia.org/wiki/Simplex_algorithm&quot; rel=&quot;nofollow&quot;&gt;simplex method&lt;/a&gt; are among the most commonly implemented. An important parameter of simplex is called the pivoting rule. &lt;a href=&quot;http://en.wikipedia.org/wiki/Klee%E2%80%93Minty_cube&quot; rel=&quot;nofollow&quot;&gt;Victor Klee and George Minty&lt;/a&gt; provides a set of polytopes on which the pivoting rule suggested by Dantzig would require an exponential number of pivoting steps. Since then, examples demonstrating an exponential lower bound have been discovered for nearly every deterministic pivoting rule.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Simplex can however use randomized pivoting rules. &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=129759&quot; rel=&quot;nofollow&quot;&gt;Gil Kalai in 1992&lt;/a&gt; introduced a randomized pivoting rule and proved a sub-exponential upper bound for simplex with this rule. Also in 1992, Micha Sharir and Emo Welzl defined &lt;a href=&quot;http://en.wikipedia.org/wiki/LP-type_problem&quot; rel=&quot;nofollow&quot;&gt;LP-type problems&lt;/a&gt; which include  standard linear programming and &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=142678&quot; rel=&quot;nofollow&quot;&gt;with    Jiří Matoušek&lt;/a&gt; also proposed randomized variants of simplex and proved subexponential upper bounds for this variant. Subexponential lower bounds were also discovered on LP-type problems, but till about 2010 there were no concrete examples of linear programs on which these lower bounds could be demonstrated. See these &lt;a href=&quot;https://gilkalai.wordpress.com/2010/11/09/subexponential-lower-bound-for-randomized-pivot-rules/&quot; rel=&quot;nofollow&quot;&gt;two&lt;/a&gt; &lt;a href=&quot;https://gilkalai.wordpress.com/2008/11/04/a-diameter-problem-6-abstract-objective-functions/&quot; rel=&quot;nofollow&quot;&gt;posts&lt;/a&gt; on Gil Kalai's blog for another telling of this story, the connection to the Hirsch conjecture and links to the literature.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What does any of this have to do with parity games? A couple of steps are required to set up a connection. An open problem in parity games research till about 2009 was to determine if certain policy iteration algorithms for solving parity games might have exponential behaviour. See the &lt;a href=&quot;http://www.dcs.warwick.ac.uk/~mju/Papers/&quot; rel=&quot;nofollow&quot;&gt;papers of Marcin Jurdziński&lt;/a&gt; for more on this. Oliver Friedmann, &lt;a href=&quot;http://oliverfriedmann.com/science/publications/&quot; rel=&quot;nofollow&quot;&gt;starting in 2009&lt;/a&gt;, exhibited examples of parity games on which certain policy iteration algorithms required exponential time. By exploiting a connection between parity games and certain LP-type problems he derived sub-exponential lower bounds for various pivoting rules for simplex. (Note however that one of the results, which concerned the Random Facet algorithm was shown by &lt;a href=&quot;http://arxiv.org/abs/1410.7871&quot; rel=&quot;nofollow&quot;&gt;Oliver Friedmann, Thomas Hansen and Uri Zwick&lt;/a&gt; to be erroneous.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I hope you'll agree that's a pretty fascinating and convincing example of an application of parity games. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is a more direct answer to your question as well. Suppose one wants to design a discrete controller that regulates how some physical system (thermostat, chemical plant, etc.) behaves based on the state of the system and the state of the environment. The question of whether a controller exists to provide the guarantees a designer wants can be reduced to solving parity games. So you can think of a parity game in terms of systems, environments and controllers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another setting is program analysis. Suppose you want to automatically determine if a  program satisfies some correctness property in the modal $\mu$-calculus. Model checking is one approach to solving this problem and $\mu$-calculus model checking is deeply connected to parity games.  &lt;/p&gt;&#xA;" OwnerUserId="4155" LastEditorUserId="4155" LastEditDate="2015-02-03T04:13:47.137" LastActivityDate="2015-02-03T04:13:47.137" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="29351" PostTypeId="2" ParentId="29196" CreationDate="2015-02-01T08:28:12.483" Score="0" Body="&lt;p&gt;(This doesn't fit in a comment.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think I now see how to show that your the salting doesn't necessarily provide&#xA;&lt;br&gt;&#xA;honest-verifier zero-knowledge. $\:$ Let $H_0$ be the secure hash. $\:$ If we know&#xA;&lt;br&gt;&#xA;that $H_0$ can already handle arbitrary-length inputs, then let $H_1$ equal $H_0$,&#xA;&lt;br&gt;&#xA;else let $H_1$ be the result of applying the Merkle–Damgard construction to $H_0$.&#xA;&lt;br&gt;&#xA;(Note that $||$ represents concatenation.) $\:$ Let $H_2$ be such that&#xA;&lt;br&gt;&lt;br&gt;&lt;br&gt;&#xA;For all 3-bit strings $x$ and $z$, for all $\; ((3\hspace{-0.05 in}\cdot \hspace{-0.05 in}b)\hspace{-0.03 in}+\hspace{-0.02 in}6)$-bit$\;$ strings $y$,&#xA;&lt;br&gt;&#xA;for the string $m$ such that $\;\;\;\;\; m \:\: = \:\: x\:||\:111...[b\text{ of them}].\hspace{-0.04 in}.\hspace{-0.04 in}.111\:||\:y\:||\:z \;\;\;\;\;$,&#xA;&lt;br&gt;&#xA;one has $\;\;\;\;\; H_2(m) \;\; = \;\; x\:||\:\:111...[b\text{ of them}].\hspace{-0.04 in}.\hspace{-0.04 in}.111\:||\:H_{\hspace{-0.02 in}1}(m)\:||\:z \;\;\;\;\;$.&#xA;&lt;br&gt;&lt;br&gt;and&lt;br&gt;&lt;br&gt;&#xA;For all 3-bit strings $x$, for all salts $r\hspace{-0.02 in}$, for the string $m$ that results from salting $x$ with $r\hspace{-0.02 in}$, if $m$ is&#xA;&lt;br&gt;&#xA;not of the form addressed above then $\;\;\;\;\; H_2(m) \:\: = \:\: x\:||\:\:111...[b\text{ of them}].\hspace{-0.04 in}.\hspace{-0.04 in}.111\:||\:H_{\hspace{-0.02 in}1}(m)\:||\:x \;\;\;\;\;$.&#xA;&lt;br&gt;&lt;br&gt;and&lt;br&gt;&lt;br&gt;&#xA;For all strings $m$ that are of neither of those two forms,&#xA;&lt;br&gt;&#xA;$H_2(m) \:\: =$&#xA;&lt;br&gt;&#xA;$[b\hspace{-0.04 in}+\hspace{-0.05 in}3 \text{ bits whose values don't matter}]\:||\:H_{\hspace{-0.02 in}1}(m)\:||\:[3 \text{ bits whose values don't matter}]\;\;\;\;\;$.&#xA;&lt;br&gt;&lt;br&gt;&lt;br&gt;&#xA;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;br&gt;&lt;br&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since $H_1$ is involved in the same place in each case, any collision in $H_2$ is also a collision in $H_1$. $\:$ By Merkle-Damgard's security, any collision in $H_1$ can be efficiently transformed&#xA;&lt;br&gt;&#xA;into a collision in $H_0$. $\:$ Thus, if $H_0$ is collision-resistant than so is $H_2$.&#xA;&lt;br&gt;&#xA;However, if the number of vertices is a power of two then by checking the 3 bits&#xA;&lt;br&gt;&#xA;on each end of the root hash, one can determine whether or not the initial and&#xA;&lt;br&gt;&#xA;final vertices received the same color with error probability less than $1/(2^{(b-1)})$.&lt;br&gt;&lt;br&gt;&lt;/p&gt;&#xA;" OwnerDisplayName="user6973" LastActivityDate="2015-02-01T08:28:12.483" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="29353" PostTypeId="1" AcceptedAnswerId="29357" CreationDate="2015-02-01T12:03:51.133" Score="0" ViewCount="275" Body="&lt;p&gt;I'm looking for examples of hard optimization problems, for which we have an optimal approximation (not that this is not the same as $PTAS$, as we require a completely tight approximation, and not $1+\epsilon$-multiplicative approximation), in a sense defined as follows:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Formally, let $L\subseteq\Sigma^*\times \mathbb N$ be the decision version of some minimization (or maximization, flipping the definitions) problem, i.e. &#xA;$$\forall n\leq m:(w,n)\in L\implies (w,m)\in L$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Which examples of such known languages $L$ is $NP$-hard, but if we are allowed of a &lt;em&gt;minimal relaxation&lt;/em&gt;, it is poly time solvable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By &lt;em&gt;minimal relaxation&lt;/em&gt; I mean that there exists a TM such that given an input $(w,n)$:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The machine accepts if $(w,n+1)\in L$.&lt;/li&gt;&#xA;&lt;li&gt;The machine rejects if $(w,n-1)\not \in L$.&lt;/li&gt;&#xA;&lt;li&gt;The machine may act arbitrarily on other cases.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;An example for such problem is the &lt;a href=&quot;http://en.wikipedia.org/wiki/Degree-constrained_spanning_tree&quot; rel=&quot;nofollow&quot;&gt;Degree-constrained spanning tree&lt;/a&gt;, where the problem is finding an MST with minimal maximum vertex degree.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Which other languages are NP-hard but subject to optimal approximation in poly time?&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="21001" LastEditorUserId="21001" LastEditDate="2015-02-01T12:22:43.910" LastActivityDate="2015-02-01T16:01:17.887" Title="NP-complete problems with optimal approximation in poly-time" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;&lt;approximation-algorithms&gt;" AnswerCount="1" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="29357" PostTypeId="2" ParentId="29353" CreationDate="2015-02-01T16:01:17.887" Score="3" Body="&lt;p&gt;One example is the &lt;strong&gt;chromatic index&lt;/strong&gt; (edge-coloring number) of undirected graphs. By Vizing's theorem, the chromatic index either equals the max-degree $\Delta$ or equals $\Delta+1$. &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Vizing's proof gives a polynomial time (inductive) procedure for finding a coloring with $\Delta+1$ colors. &lt;/li&gt;&#xA;&lt;li&gt;Holyer has proved that deciding whether the chromatic index equals $\Delta$ is NP-complete.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="31660" LastActivityDate="2015-02-01T16:01:17.887" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="29358" PostTypeId="2" ParentId="29340" CreationDate="2015-02-01T18:54:56.683" Score="-4" Body="&lt;p&gt;the questioner has indicated he is ok with a more broad interpretation of the Schaefer statement in an answer. coincidentally have been collecting links for a blog on a nearby topic &amp;amp; will write some up here.&lt;/p&gt;&#xA;&lt;p&gt;the original statement (sec 7 p225) is clear in its intentions as illustrated with example of a NP complete reduction from 2 colorable perfect matching thm 7.1 using the &amp;quot;dichotomy thm&amp;quot; 2.1.&lt;/p&gt;&#xA;&lt;p&gt;so his stated idea is that one has some algorithm &lt;span class=&quot;math-container&quot;&gt;$F(x)$&lt;/span&gt; that generates SAT clauses, and one &lt;em&gt;a priori&lt;/em&gt; does not know the overall structure of these clauses, and that one can generate sample formulas and examine their clause structure to see how they relate to the dichotomy thm. the idea is a sketch and omits some details because obviously even if all &lt;em&gt;finite set&lt;/em&gt; of samples adhere to some rule it is not a proof. ie its not &lt;em&gt;automated&lt;/em&gt; but &lt;em&gt;&amp;quot;computer assisted.&amp;quot;&lt;/em&gt; (human analysis/ interpretation is required).&lt;/p&gt;&#xA;&lt;p&gt;Schaefer also refers to &lt;em&gt;randomly generating various input configurations&lt;/em&gt; ie examining samples &lt;span class=&quot;math-container&quot;&gt;$F(x)$&lt;/span&gt; over random &lt;span class=&quot;math-container&quot;&gt;$x$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;p&gt;taking a broad pov these general ideas can be seen to have grown &amp;amp; been explored in many areas of research since these &lt;em&gt;1978&lt;/em&gt; musings/ &amp;quot;seed ideas&amp;quot; leading to entire large branches and research programs, still ongoing, none of which existed in almost any form at the time of writing of Schaefers paper. 1&lt;sup&gt;st&lt;/sup&gt; one general idea is &lt;em&gt;empirical analysis of NP completeness properties via instance generators/ solvers/ analyzers&lt;/em&gt;.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;the largest research area spawned here is into random SAT instances and looking at SAT solver performance on them which led to discovery of the transition point in the mid 1990s, later shown to have deep connections to statistical physics and an apparently ubiquitious/ intrinsic/ fundamental aspect/ characteristic of &lt;em&gt;all&lt;/em&gt; NP complete problems. there are very many papers in this area &amp;amp; now a few books. see eg &lt;a href=&quot;http://cds.cern.ch/record/1166773/files/9780198570837_TOC.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Information, physics, and Computation&lt;/a&gt; Mezard / Montanari&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://www.st.ewi.tudelft.nl/sat/theses/paul.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Decomposing satisfiability problems&#xA;or Using graphs to get a better insight into satisfiability problems&lt;/a&gt;, Herwig 2006 (83pp). this is a somewhat novel approach wrt other published research that looks at the variable-clause graph structure of generated SAT instances and analyzes their structure/ metrics to find correlations with hardness.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;one can take conjectured-hard problems and encode them as SAT instances &amp;amp; then examine their structure or run SAT solvers on them &amp;amp; observe the dynamic behavior of the SAT solvers. its not easy to figure out when this was 1st done but an early case is with factoring, probably in the mid 1990s or so, and these instances showed up in the DIMACS SAT solver contests. unfortunately this was not necessarily considered separately publishable research results at the time. there are allusions in a few SAT papers.&lt;/p&gt;&#xA;&lt;p&gt;see eg &lt;a href=&quot;http://courses.cs.washington.edu/courses/cse573/04au/Project/mini1/TheS&amp;amp;Ateam/SATeamFinalPaper.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Satisfy This: An Attempt at Solving Prime Factorization using Satisfiability Solvers&lt;/a&gt; by Stefan Schoenmackers, Anna Cavender and also cs.se question &lt;a href=&quot;https://cs.stackexchange.com/questions/6588/reducing-the-integer-factorization-problem-to-an-np-complete-problem&quot;&gt;reducing integer factorization problem to NP complete problem&lt;/a&gt; &amp;amp; (there are some other related/ scattered (T)CS stackexchange questions on this).&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;2&lt;sup&gt;nd&lt;/sup&gt; another modern general idea/ seed inherent in Schaefers old statement is &lt;em&gt;attacking hard algorithmic or mathematical problems in general by converting them to SAT instances, and using off-the-shelf (but state-of-the-art) SAT solvers&lt;/em&gt; (ie SAT solving can be regarded broadly as literally one of the earliest cases in logic/ math of &lt;em&gt;computer automated theorem proving&lt;/em&gt; where SAT formula solutions are like &amp;quot;theorems&amp;quot;, although admittedly the modern pov on that may have shifted somewhat) and there are some notable recent successes on this front.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;the &lt;a href=&quot;http://en.m.wikipedia.org/wiki/%C2%B11-sequence#Erd.C5.91s_discrepancy_problem&quot; rel=&quot;nofollow noreferrer&quot;&gt;Erdos Discrepancy problem&lt;/a&gt; related to bounds on random walks is very hard and progress was limited with analytic approaches, and a novel/ unprecedented, empirical approach with SAT was recently taken to achieve some key results on a related open problem, celebrated by many as a veritable breakthrough. &lt;a href=&quot;http://arxiv.org/abs/1402.2184&quot; rel=&quot;nofollow noreferrer&quot;&gt;a SAT attack on the Erdos discrepancy conjecture&lt;/a&gt; Konev, Lisitsa&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;research on optimal sorting networks goes back decades and there are natural hard open problems on minimal sizes of networks to sort a given number of elements. within last few years there has been major recent progress in converting these to SAT instances &amp;amp; running standard solvers on them. &lt;a href=&quot;http://arxiv.org/abs/1501.06946&quot; rel=&quot;nofollow noreferrer&quot;&gt;New Bounds on Optimal Sorting Networks&lt;/a&gt; Ehlers, Müller, also cites other recent work.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2015-02-01T18:54:56.683" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="29359" PostTypeId="2" ParentId="29328" CreationDate="2015-02-01T21:53:57.600" Score="1" Body="&lt;p&gt;Assume there are no self-edges in $G$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For each edge between node $v_i$ and $v_j$ in $G$, let $E[i,j]=1$, and $E[i,j]=0$ if there is no edge. Compute $n\times n$ matrix $C[i,j]=\sum_{k=1}^n E[i,k]\cdot E[k,j]$, which gives the number of two-hop paths between each pair of nodes $v_i$ and $v_j$. Then for edge between $v_i$ and $v_j$ in $G$ compute $D[i,j]=E[i,j]\cdot C[i,j]$ otherwise set $D[i,j]=\infty$, which gives the number of triangles the edge is part of (or infinity if there is no edge). The matrix multiplication needed to compute $C$ costs $O(n^3)$ (could be computed faster depending on sparsity of $G$). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now compute $n\times n$ matrix $A$, such that $A[i,j]=\min(D[i,j],\min_k(D[i,k]+D[k,j]-E[i,j]))$. $A$ is all shortest-paths in $D$ of length up to two augmented to account for paths that go along two edges of some triangle. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now just compute the shortest path between $v_i$ and $v_j$ in $G$ on a new graph of which $A$ is the (weighted) adjacency matrix using Dijkstra (since all edge-weights are positive) i.e. and determine if $A^*[i,j]\leq k$, where $A^*$ is the closure over the tropical semiring (which gives the distance matrix).&lt;/p&gt;&#xA;" OwnerUserId="31904" LastEditorUserId="31904" LastEditDate="2015-02-10T12:52:18.327" LastActivityDate="2015-02-10T12:52:18.327" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="29361" PostTypeId="2" ParentId="29340" CreationDate="2015-02-02T11:50:03.913" Score="15" Body="&lt;p&gt;In this paper, I showed that if for some $k\geq 3$ there is a graph with maximum degree $k$ and chromatic edge strength strictly greater than $k$, then it is $\Theta_2^p$-complete to decide if chromatic edge strength is at most $k$. Such graphs were known for $k&amp;gt;3$ and I did a computer search to find a suitable $12$-vertex graph for $k=3$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.cs.bme.hu/~dmarx/papers/marx-strength.pdf&quot; rel=&quot;nofollow&quot;&gt;The complexity of chromatic strength and chromatic edge strength.&#xA;Computational Complexity, 14(4):308-340, 2006&lt;/a&gt; &lt;/p&gt;&#xA;" OwnerUserId="3189" LastEditorUserId="495" LastEditDate="2016-06-01T13:23:21.313" LastActivityDate="2016-06-01T13:23:21.313" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="29362" PostTypeId="2" ParentId="29340" CreationDate="2015-02-02T15:38:43.973" Score="13" Body="&lt;p&gt;From the comment above:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I used the &lt;a href=&quot;http://choco-solver.org/&quot;&gt;Choco&lt;/a&gt; Java library for &lt;a href=&quot;http://en.wikipedia.org/wiki/Constraint_programming&quot;&gt;Constraint programming&lt;/a&gt; to check the correct behaviour of the gadgets used to prove the NP-completeness of the following puzzles: &#xA;Binary Puzzle, Tents, Rolling cube puzzle without free cells, Net.&#xA;I didn't have the time to publish them, yet, but the draft papers are available on my blog.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The technique used is similar: all those puzzles can be modeled as a grid graph in which every node can contain a different &lt;em&gt;element&lt;/em&gt; (e.g. in binary puzzle the elements are: empty cell, fixed 0, fixed 1, 0, 1), the rules of the puzzle allow or forbid some (local) configurations (e.g. in binary puzzle no more than two $0$s or $1$s next to or below each other are allowed). Then, to prove NP-completeness it is sufficient to build a square $n \times n$ &lt;em&gt;gadget&lt;/em&gt; that simulates:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(A) a logic gate (AND + OR) and links, if we want to use PLANAR SAT as the source NPC problem; or&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(B) a node of degree 3 in which exactly 1 entrance and 1 exit can be activated at the same time, if we want to use HAMILTONIAN CYCLE on grid graphs as the source NPC problem (note that in this case, there must be another condition that forces a &quot;connected path&quot;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In both cases we use an initial configuration that fixes the boundaries of the gadgets (to forbid unwanted interactions) and we allow the interaction between two adjacent gadgets only through a central element (or group of elements). The configuration of such central element should represent a logic value in the (A) case or a traversal in the (B) case.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example to model an AND:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;***C***   *=fixed elements (initial config. of the puzzle)&#xA;*xxxxx*   x=internal logic (some elements can be fixed,&#xA;AxxxxxB     other must be completed/traversed)&#xA;*xxxxx*   A,B,C=elements shared with adjacent gadgets&#xA;*******&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;At this point to check the gadget using a SAT solver (it's better to use a CPL) it's enough to implement the rules of the puzzle, then check the satisfiability when A,B,C take all possible combinations of values; and see if they are consistent with the desired behaviour. E.g. in the AND case, in all gadget valid (satisfiable) configurations in which C is true (C represents the logic value true), both A and B must be true.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If gadgets are very complicated (e.g. in the Rolling cube puzzle) I think that it is the only way to ensure that they work correctly (and that the NPC proof is correct).&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2015-02-02T16:53:08.683" LastActivityDate="2015-02-02T16:53:08.683" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="29366" PostTypeId="1" CreationDate="2015-02-02T23:15:07.470" Score="5" ViewCount="472" Body="&lt;p&gt;Unique Games results provide very interesting barriers to results through semidefinite programming. Lovasz theta ($\vartheta(G)$) function is an incarnation of SDP.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is UG conjecture true $\iff \vartheta(G)$ is best approximation number for independence number $\alpha(G)$ of classes of graphs whose $\alpha(G)$ computation do not have efficient procedure if $P\neq NP$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(I am adding $P\neq NP$ to avoid cases where other techniques such as Haemer's Bound gives better approximation).&lt;/p&gt;&#xA;" OwnerUserId="1812" LastActivityDate="2015-03-31T14:03:58.260" Title="Unique Games versus SDP procedures" Tags="&lt;semidefinite-programming&gt;&lt;unique-games-conjecture&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="29367" PostTypeId="1" AcceptedAnswerId="29447" CreationDate="2015-02-03T04:15:41.213" Score="14" ViewCount="489" Body="&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Kolmogorov_complexity#Chaitin.27s_incompleteness_theorem&quot;&gt;Chaitin's incompleteness theorem&lt;/a&gt; says no sufficiently strong theory of arithmetic can prove $K(s) &amp;gt; L$ where $K(s)$ is the Kolmogorov complexity of string $s$ and $L$ is a sufficiently large constant. $L$ is &lt;a href=&quot;https://golem.ph.utexas.edu/category/2011/09/the_inconsistency_of_arithmeti.html#c039547&quot;&gt;sufficiently large&lt;/a&gt; if it is larger than the size in bits of a proof checking machine (PCM). A PCM for theory $T$ takes a string encoded as an integer as input and outputs a 1 if the string is a valid proof in the language of $T$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assume that $L(T) &amp;gt; |PCM_T|$ for theory $T$ is an upper bound for the complexity of $T$. Consider the following hierarchy of theories: Let the base theory be &lt;a href=&quot;http://en.wikipedia.org/wiki/Robinson_arithmetic&quot;&gt;Robinson arithmetic&lt;/a&gt; ($Q$). Augment $Q$ with increasingly stronger axioms of polynomial bounded induction. Let $Q^*$ be the theory of theorems provable with $Q$ and any of these bounded induction axioms. Assume we can define $L(Q)$ and $L({Q^*})$ by defining PCM's for each theory. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I want to consider an enhanced proof checking machine (EPCM) for $Q^*$. This EPCM takes a string as input just like an ECM and has a second input which defines the rank and level of a sub-theory of $Q^*$. If the input string is a valid proof in $Q^*$ the EPCM then goes through the steps of the proof to determine the highest rank and level of induction used. This EPCM then writes a 1 if the input sentence is a valid proof in the specified sub-theory of $Q^*$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is the enhanced proof checker I describe feasible? If so, would the size of this EPCM be an upper bound not just for the complexity of $Q^*$, but also an upper bound on the complexity of any sub-theory of $Q^*$? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is it reasonable to say there is a constant upper bound on the complexity of $Q^*$ and all of its sub-theories?&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;This question was inpired by Nelson's failed proof of the inconsistency of arithmetic. I didn't point this out earlier because some people find that proof disturbing. My motivation is to ask an interesting question. CSTheory seems to be the right forum for this question. The complexity of $Q^*$ and all of its sub-theories is either bounded by a constant or unbounded. Either answer leads to more questions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If the complexity of the sub-theories is unbounded we can ask questions like what is the weakest sub-theory of $Q^*$ more complex than $Q^*$? Or more complex than PA and ZFC? Thinking about this question has already shown me there is a severe limit on how much a theory can prove about the Kolmogorov complexity of strings. If $Q^*$ is consistent then none of its sub-theories can prove $K(s) &amp;gt; L(Q^*)$ for any string. This means even really strong sub-theories can't prove there are more complex strings than some much weaker sub-theory where the weaker theory is more complex than $Q^*$.&lt;/p&gt;&#xA;" OwnerUserId="4881" LastEditorUserId="4881" LastEditDate="2015-02-07T02:06:15.603" LastActivityDate="2015-02-10T22:50:52.077" Title="Comparing the Kolmogorov complexity of theories" Tags="&lt;lo.logic&gt;&lt;kolmogorov-complexity&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="29368" PostTypeId="2" ParentId="7351" CreationDate="2015-02-03T04:26:44.250" Score="0" Body="&lt;p&gt;graphviz contains tools to make attractive planar layouts. the papers used to inform the programs are listed at &lt;a href=&quot;http://www.graphviz.org/Documentation.php&quot; rel=&quot;nofollow&quot;&gt;http://www.graphviz.org/Documentation.php&lt;/a&gt; .&lt;/p&gt;&#xA;" OwnerUserId="31791" LastActivityDate="2015-02-03T04:26:44.250" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="29369" PostTypeId="2" ParentId="10634" CreationDate="2015-02-03T04:30:25.383" Score="0" Body="&lt;p&gt;i must disagree with Dominique. it was shown by hajek in the mid-1980s that annealing a nonconvex problem under certain strict conditions is guaranteed to reach the global minimum: &lt;a href=&quot;http://dx.doi.org/10.1287/moor.13.2.311&quot; rel=&quot;nofollow&quot;&gt;http://dx.doi.org/10.1287/moor.13.2.311&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="31791" LastActivityDate="2015-02-03T04:30:25.383" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="29370" PostTypeId="2" ParentId="8455" CreationDate="2015-02-03T06:42:06.390" Score="5" Body="&lt;ol&gt;&#xA;&lt;li&gt;This We called Domain Separation, when we use same algorithm for different output size.&lt;/li&gt;&#xA;&lt;li&gt;Separation is necessary because if i found two messages which have hash value (SH256), differs only in last octet and then i can publish the hash value as first 7 octet showing i used SHA224. since i already have two messages colliding on SHA224 which i can use later for forgery attack.&#xA;Using domain separation we can avoid such situation&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="31922" LastActivityDate="2015-02-03T06:42:06.390" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="29373" PostTypeId="2" ParentId="29322" CreationDate="2015-02-03T09:41:18.593" Score="6" Body="&lt;p&gt;It is NP-hard by reduction from &lt;a href=&quot;http://en.wikipedia.org/wiki/Partition_problem&quot; rel=&quot;nofollow&quot;&gt;Partition&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $x_1,\dots,x_n$ be the partition instance.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Create a graph on levels $0,1,\dots,n$ with level $0$ containing the start vertex $s$, and level $i$ containing two vertices, $a_i$ and $b_i$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Every path from $s$ to a vertex in the last level corresponds to a partition of $x_1,\dots,x_n$ into two blocks, $A$ and $B$, as follows:&#xA;If the path goes through $a_i$, then $x_i$ is placed in $A$, otherwise the path must go through $b_i$, and $x_i$ is placed in $B$.&#xA;Conversely, every partition is realized by some path in this way.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For every edge to $a_i$ from the level below, let the cost be $(x_i,0)$, and for every edge to $b_i$ from the level below, set the cost to $(0,x_i)$.&#xA;Finally, set $L_i = \sum_{i=1}^n x_i/2$.&#xA;Now the partition instance has a balanced partition if and only if there is a solution to the path problem with cost $\le \sum_{i=1}^n x_i/2$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Edit: I originally gave a reduction from the shortest weight-constrained path problem, and then to answer a comment; a reduction from partition to the shortest weight-constrained path problem. However, the last reduction is enough by itself.)&lt;/p&gt;&#xA;" OwnerUserId="31924" LastEditorUserId="27464" LastEditDate="2015-02-05T12:38:30.513" LastActivityDate="2015-02-05T12:38:30.513" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="29374" PostTypeId="2" ParentId="10634" CreationDate="2015-02-03T10:56:56.037" Score="1" Body="&lt;p&gt;In general it is computationally hard to optimize multivariate nonconvex functions. The hardness comes in different flavors (cryptographic, NP-hard). One way of seeing this is that mixture models (such as mixture of Guassians or HMMs) are hard to learn, but would be easy(*) if it were possible to efficiently maximize the likelihood. For results on the hardness of learning HMMs, see&#xA;&lt;a href=&quot;http://alex.smola.org/journalclub/AbeWar92.pdf&quot; rel=&quot;nofollow&quot;&gt;http://alex.smola.org/journalclub/AbeWar92.pdf&lt;/a&gt;&#xA;&lt;a href=&quot;http://link.springer.com/chapter/10.1007%2F3-540-45678-3_36&quot; rel=&quot;nofollow&quot;&gt;http://link.springer.com/chapter/10.1007%2F3-540-45678-3_36&lt;/a&gt;&#xA;&lt;a href=&quot;http://www.math.ru.nl/~terwijn/publications/icgiFinal.pdf&quot; rel=&quot;nofollow&quot;&gt;http://www.math.ru.nl/~terwijn/publications/icgiFinal.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(*) modulo the usual conditions of nondegeneracy and identifiability&lt;/p&gt;&#xA;" OwnerUserId="1746" LastEditorUserId="123" LastEditDate="2015-02-03T18:54:19.623" LastActivityDate="2015-02-03T18:54:19.623" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="29375" PostTypeId="2" ParentId="7351" CreationDate="2015-02-03T17:23:51.967" Score="0" Body="&lt;p&gt;force-based methods are probably the most common for graph visualization but its possible that GAs (more recently investigated for this purpose) are effective &amp;amp; currently underexplored &amp;amp; hybrid GA-force based solutions are possible via force analysis in the fitness function. here are some other refs not cited so far&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.68.7377&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;nofollow&quot;&gt;GENETIC ALGORITHMS FOR GRAPH LAYOUTS WITH GEOMETRIC&#xA;CONSTRAINTS&lt;/a&gt; Vrajitoru, El-Gamil&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://ieeexplore.ieee.org/xpl/articleDetails.jsp?arnumber=889735&quot; rel=&quot;nofollow&quot;&gt;Graph layout using a genetic algorithm&lt;/a&gt; Barreto, Barbosa&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://link.springer.com/chapter/10.1007%2F11539902_4&quot; rel=&quot;nofollow&quot;&gt;Drawing Undirected Graphs with Genetic Algorithms&lt;/a&gt; Zhang, Liu, Zhang, Guo&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2015-02-03T17:23:51.967" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="29378" PostTypeId="2" ParentId="29196" CreationDate="2015-02-04T10:19:05.077" Score="1" Body="&lt;p&gt;There is a recent surge in activity in succinct non-interactive zero knowledge arguments. It is known how for example construct an NIZK argument for Circuit-SAT where the argument length is a very small constant number of group elements (see Groth 2010, Lipmaa 2012, Gennaro, Gentry, etc, Eurocrypt 2013, etc). Based on an NP-reduction you can then clearly construct an argument for 3-colorability with the same communication.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course this is a different model compared to your original question - for example, in those arguments, the CRS length is linear in circuit size, and in some sense the can be thought as a part of the communication (though it can be reused in many different arguments).&lt;/p&gt;&#xA;" OwnerUserId="14132" LastActivityDate="2015-02-04T10:19:05.077" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="29383" PostTypeId="1" AcceptedAnswerId="29390" CreationDate="2015-02-04T22:24:47.167" Score="29" ViewCount="5648" Body="&lt;p&gt;Suppose that P = NP is true.  Would there then be any practical application to building a quantum computer such as solving certain problems faster, or would any such improvement be irrelevant based on the fact that P = NP is true?  How would you characterize the improvement in efficiency that would come about if a quantum computer could be built in a world where P = NP, as opposed to a world in which P != NP?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here's a made-up example of about what I'm looking for:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;If P != NP, we see that complexity class ABC is equal to quantum complexity class XYZ...but if P = NP, class ABC collapses to related class UVW anyway.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;(Motivation:  I am curious about this, and relatively new to quantum computing; please migrate this question if it is insufficiently advanced.)&lt;/p&gt;&#xA;" OwnerUserId="1338" LastActivityDate="2015-03-19T15:49:14.767" Title="If P = NP were true, would quantum computers be useful?" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;quantum-computing&gt;" AnswerCount="4" CommentCount="2" FavoriteCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="29384" PostTypeId="2" ParentId="29196" CreationDate="2015-02-05T00:55:02.670" Score="3" Body="&lt;p&gt;So here is the right paper for my purposes:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Joe Kilian, &quot;A note on efficient zero-knowledge proofs and arguments.&quot; &lt;a href=&quot;http://people.csail.mit.edu/vinodv/6892-Fall2013/efficientargs.pdf&quot; rel=&quot;nofollow&quot;&gt;http://people.csail.mit.edu/vinodv/6892-Fall2013/efficientargs.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To get the strongest result, we need to accept zero knowledge &lt;em&gt;arguments&lt;/em&gt; rather than proofs (computationally bounded prover); these are what I am interested in but did not know the terminology.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assuming sufficient cryptographic assumptions, the paper gives zero knowledge arguments with total communication $O(b \log^c n \log (1/p))$ for $c = O(1)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This result is tightened to $O(1)$ rounds by Ishai et al., &quot;On Efficient Zero-Knowledge PCPs&quot;, &lt;a href=&quot;http://www.cs.virginia.edu/~mohammad/files/papers/13%20ZKPCPs.pdf&quot; rel=&quot;nofollow&quot;&gt;http://www.cs.virginia.edu/~mohammad/files/papers/13%20ZKPCPs.pdf&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="13245" LastActivityDate="2015-02-05T00:55:02.670" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="29388" PostTypeId="2" ParentId="29383" CreationDate="2015-02-05T10:31:08.693" Score="4" Body="&lt;p&gt;Addressing the practical part.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $P=NP$, but SAT solvers run in $O(n^{2^{10^3}})$ this&#xA;will be of no practical interest on current hardware.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.math.rutgers.edu/~zeilberg/mamarim/mamarimPDF/pnp.pdf&quot; rel=&quot;nofollow&quot;&gt;On April 1st Doron Zeilberger proved (jokingly) that P is equal to NP&lt;/a&gt;.&#xA;From the paper &quot;Alas the complexity of our algorithm is $O(n^{10^{10000}})$ (with the implied constant being larger than the Skewes number).&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As far as I can tell sufficiently powerful quantum computer&#xA;will be of practical interest in this case.&lt;/p&gt;&#xA;" OwnerUserId="22348" LastActivityDate="2015-02-05T10:31:08.693" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="29390" PostTypeId="2" ParentId="29383" CreationDate="2015-02-05T12:37:34.477" Score="30" Body="&lt;p&gt;The paper &quot;&lt;a href=&quot;http://arxiv.org/abs/0910.4698&quot;&gt;BQP and the Polynomial Hierarchy&lt;/a&gt;&quot; by Scott Aaronson directly addresses your question. If P=NP, then PH would collapse. If furthermore BQP were in PH, then no quantum speed-up would be possible in that case. On the other hand, Aaronson gives evidence for a problem with quantum speedup outside PH, thus such a speed-up would survive a collapse of PH.&lt;/p&gt;&#xA;" OwnerUserId="121" LastEditorUserId="121" LastEditDate="2015-02-05T12:42:50.710" LastActivityDate="2015-02-05T12:42:50.710" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="29391" PostTypeId="1" CreationDate="2015-02-05T13:20:25.437" Score="2" ViewCount="137" Body="&lt;p&gt;Let $(A, dist)$ be a finite metric space. Consider the following &quot;$p$-center problem&quot;: given a positive integer $p$,&#xA;find a subset $B$of $A$ such that $|B| = p$ and which minimizes the number $\max_{a \in A}\min_{b \in B}{dist(a, b)}$.&#xA;Assume that we have an oracle $f$ for this problem, i.e., which finds such optimal subset $B = f((A, dist), p)$ for any given finite metric space $(A, dist)$ and positive integer $p$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider now the following algorithm, which takes in input a finite metric space $(A, dist)$, a positive integer $p \geq 2$ and an element $a \in A$:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) Set $B = f((A, dist), p))$;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) If $a \in B$ then return. Otherwise goto 3;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;3) Select an element $b_* \in B$ which is one of the closest to $a$ with respect to $dist$;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;4) Set $A' = \{a \in A \mid \forall b \in B, dist(a, b_*) \leq dist(a, b)\} \setminus \{b_*\}$;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;5) Set $A = A'$ and goto 1);&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Intuitively, this algorithm seeks for a given point $a \in A$ by solving iteratively the $p$-center problem by reducing the search space $A$ at each step.&#xA;It is useful, e.g., in Product Configuration, when a user wants to reach her preferred product, but doesn't want to browse the (possibly large) catalog $A$.&#xA;Step 1 finds a &quot;well-distributed&quot; set $B$ of $p$ elements among the set $A$ (using $f$). If one of the points in $B$ is the preferred one, then the algorithm stops in Step 2.&#xA;Otherwise, the (rational) user just picks the element $b_*$ from $B$ which is the closest to her ideal one; this is automatically done in Step 3.&#xA;In Step 4 and Step 5, one removes the element $b_*$ from the set $A$, and one further reduces $A$ only to its elements which are closer to $b_*$ than to any other element from $B$. The algorithm iterates the process on the restricted set $A$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is easy to see that the algorithm terminates at most after $|A|$ iterations, since one element at least ($b_*$) is removed from it at each iteration.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;The question is: can we have a tighter upper bound of number of iterations?&lt;/strong&gt; Like, a logarithmic number of iterations in the size of $A$ or the diameter of $A$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I know that in the case where for some constant number $\alpha$, if we have $\forall a_1, a_2 \in A$, $dist(a_1, a_2) = \alpha$, then the number of iterations is not logarithmic but linear in the size of $|A|$, but this is a very specific case. One can make some assumptions like, e.g., the number of elements in $A$ which have the same pairwise distance is bounded by some number $k$.&lt;/p&gt;&#xA;" OwnerUserId="31674" LastActivityDate="2015-02-05T13:20:25.437" Title="number of iterations of this algorithm (upper bound)" Tags="&lt;ds.algorithms&gt;&lt;time-complexity&gt;" AnswerCount="0" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="29396" PostTypeId="2" ParentId="16375" CreationDate="2015-02-06T12:45:12.510" Score="0" Body="&lt;p&gt;Besides what tylerl says, there's another reason why quantum computers aren't necessary for this.  The main difficulty today with implementing quantum computers is to make it be able to do computations on many qubits together.  We already have working quantum computers with only one or a few qubits.  Those simple systems are enough to produce true randomness of the kind you have requested.  In fact, the technology in the quantum cryptography hardware that are already commercially available is enough to produce random bits. &lt;/p&gt;&#xA;" OwnerUserId="8067" LastActivityDate="2015-02-06T12:45:12.510" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="29399" PostTypeId="1" CreationDate="2015-02-06T17:14:52.037" Score="0" ViewCount="102" Body="&lt;p&gt;Let $M$ be symmetric and positive definite matrix (SPD). It is known [1] that &lt;br/&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;if&lt;/strong&gt; $M$ is SPD and &#xA;in addition satisfies $M_{ij}\leq 0$, for $i\neq j$ (called M-matrix) &lt;br/&gt; &#xA;&lt;strong&gt;then&lt;/strong&gt; there is a &lt;strong&gt;positive diagonal&lt;/strong&gt; matrix $D$ such that &lt;br/&gt;&#xA;$DMD$ is symmetric, &lt;strong&gt;diagonally dominant&lt;/strong&gt; and $M_{ij}\leq 0$ (called SDDM matrix).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Q1&lt;/strong&gt;: Let $M$ be SPD. Is there a &lt;strong&gt;diagonal&lt;/strong&gt; matrix $D^{\prime}$ with $D^{\prime}_{ii} \neq 0~~ \forall i$ such that &lt;br/&gt;&#xA;$D^{\prime}MD^{\prime}$ is symmetric and &lt;strong&gt;diagonally dominant&lt;/strong&gt; matrix?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Q2&lt;/strong&gt;: Let $M$ be SPD and $[M\mathbf{1}]_i\leq[\mathrm{diag}(M)\mathbf{1}]_i~~\forall i$ (a weaker condition than $M_{ij}\leq 0$). &lt;br/&gt;&#xA;Is there a &lt;strong&gt;diagonal&lt;/strong&gt; matrix $D^{\prime}$ with $D^{\prime}_{ii} \neq 0~~ \forall i$ such that &lt;br/&gt;&#xA;$D^{\prime}MD^{\prime}$ is symmetric and &lt;strong&gt;diagonally dominant&lt;/strong&gt; matrix?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Q3&lt;/strong&gt;: Is there a matrix $D^\prime$ from above such that all entries $D^{\prime}_{ii} \neq 0$ belong to &lt;br/&gt; a &lt;strong&gt;bounded&lt;/strong&gt; range, say $[-1,1]\backslash{\{0\}}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1]: Topics in Matrix Analysis&#xA;&lt;a href=&quot;http://ebooks.cambridge.org/ebook.jsf?bid=CBO9780511840371&quot; rel=&quot;nofollow&quot;&gt;http://ebooks.cambridge.org/ebook.jsf?bid=CBO9780511840371&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="31889" LastEditorUserId="31889" LastEditDate="2015-02-07T12:17:48.980" LastActivityDate="2015-02-07T12:17:48.980" Title="Is there a diagonal matrix D such that DMD is SDD, where M is SPD matrix" Tags="&lt;linear-algebra&gt;&lt;matrices&gt;&lt;spectral-graph-theory&gt;&lt;matrix-product&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="29400" PostTypeId="1" AcceptedAnswerId="29407" CreationDate="2015-02-06T19:04:49.690" Score="1" ViewCount="2687" Body="&lt;p&gt;How can I check if an LTL (Linear Temporal Logic) property is safety or liveness? Is it right to say that a property is safety OR liveness (or neither)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;How can I evaluate this:&lt;br&gt;&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;G(x -&amp;gt; (a U y) )&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;" OwnerUserId="31975" LastEditorUserId="9901" LastEditDate="2015-02-06T19:25:12.130" LastActivityDate="2015-02-07T10:00:46.020" Title="LTL property - safety or liveness?" Tags="&lt;model-checking&gt;&lt;temporal-logic&gt;&lt;linear-temporal-logic&gt;&lt;mu-calculus&gt;" AnswerCount="2" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="29401" PostTypeId="2" ParentId="29237" CreationDate="2015-02-06T19:20:50.470" Score="4" Body="&lt;p&gt;A good start would be Katz and Lindell's &lt;i&gt;Introduction to Modern Cryptography&lt;/i&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Alternatively, you might want to take one of the crypto courses on Coursera: I recommend the ones taught by Jonathan Katz and by Dan Boneh (search for &quot;cryptography&quot; on Coursera). They are both free.&lt;/p&gt;&#xA;" OwnerUserId="9751" LastActivityDate="2015-02-06T19:20:50.470" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="29402" PostTypeId="1" CreationDate="2015-02-06T19:24:47.873" Score="0" ViewCount="98" Body="&lt;p&gt;Which is the easiest way to find a valid &lt;strong&gt;Invariant&lt;/strong&gt; for a &lt;em&gt;While Program&lt;/em&gt; in the Hoare program correctness verification? &lt;br&gt;&#xA;Is there a &quot;guided&quot; way to do that?&lt;/p&gt;&#xA;" OwnerUserId="31975" LastActivityDate="2015-02-06T19:24:47.873" Title="Hoare program correctness" Tags="&lt;linear-programming&gt;&lt;model-checking&gt;&lt;correctness&gt;" AnswerCount="0" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="29403" PostTypeId="2" ParentId="25302" CreationDate="2015-02-06T19:25:49.427" Score="2" Body="&lt;p&gt;Yes. If you choose the evaluation poitns for the polynomial carefully, this problem is the same as correcting erasures in the Reed-Solomon encoding of a message, and there are faster algorithms for that problem. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Reed%E2%80%93Solomon_error_correction&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/Reed%E2%80%93Solomon_error_correction&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="9751" LastActivityDate="2015-02-06T19:25:49.427" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="29404" PostTypeId="2" ParentId="29400" CreationDate="2015-02-06T21:48:52.360" Score="5" Body="&lt;p&gt;Your first question is answered in this paper: &lt;a href=&quot;https://www.cs.cornell.edu/fbs/publications/RecSafeLive.pdf&quot; rel=&quot;noreferrer&quot;&gt;https://www.cs.cornell.edu/fbs/publications/RecSafeLive.pdf&lt;/a&gt;&#xA;Given an LTL formula, translate it into a B&amp;uuml;chi automaton, and remove states that have no path to an accepting state. Then, change all states to be accepting. If the language of the automaton does not change, then the property is a safety property. If the language of the automaton becomes $\Sigma^\omega$, then it is a liveness property.&lt;/p&gt;&#xA;" OwnerUserId="1536" LastEditorUserId="898" LastEditDate="2015-02-06T23:37:20.357" LastActivityDate="2015-02-06T23:37:20.357" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="29405" PostTypeId="1" AcceptedAnswerId="29415" CreationDate="2015-02-07T00:47:46.950" Score="3" ViewCount="264" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;Given is $\mathcal{P} \in \mathbb{Z}$. Are sought two rectangles which edges have integer, positive value and sum of their areas is $\mathcal{P}$. Find this two rectangles, if you know that sum of their perimeters is the smallest possible. If there are many possible answers, find any of them.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;This question was on pre-olympic polish computer science workshops and I'm looking good, well proven solution. Below I put solution, which received maximal number of points, I believe it will help, but it is illogical (a little bit) and no one knows, why it works...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Task has limitation $\mathcal{P} \leq 10^{18}$ and was at most ten questions per actuation, but I'm interested in general solution. We had 256MB of memory&#xA;and not more than 1.5 second to answer at ten questions (and pre-process).&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Solution: &lt;br /&gt;&#xA;We are looking for $x_1, x_2, y_1, y_2 \in \mathbb{Z}$, such that $x_1\cdot y_1+x_2\cdot y_2 = \mathcal{P}$ and sum $x_1+x_2+y_1+y_2$ is minimal. &lt;br /&gt;&#xA;Let start from small observation, one of rectangles will be very small, second will be very big. If both were similar, sum will be $2 \cdot 4\sqrt{\frac{\mathcal{P}}{2}} = 4\sqrt{2\mathcal{P}}$, otherwise it is $4\sqrt{\mathcal{P}}$ from big one and something near zero from second, so sum is near $4\sqrt{\mathcal{P}}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In our algorithm, we will choose the largest rectangle (and big implicate small) and we will check if it is best, so far. So, we want answer question &quot;best perimeter for area $\mathcal{P}'$&quot; in $\mathrm{O}(1)$ time, where $\mathcal{P}'$ is small.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We can (in $\mathrm{O}(n \lg n)$ time) pre-process table $A[2..10^6]$, in which $A_i$ is best (smallest) perimeter of rectangle with area $i$.&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;set A[i] = 2*(i+1)&#xA;for i in (1, 1KK) :&#xA;    while j &amp;lt;= 1KK : &#xA;        A[j] = min(A[j], 2*(i, j/i))&#xA;            #it is well to keep i, j/i value for best perimeter in B table&#xA;        j += i&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;If we have this table, we can easily answer to above question. And rest of algorithm is easy. &lt;br /&gt;&#xA;If $\mathcal{P}$ is small, we are using just brute-force. Otherwise we are checking all $x_1$ in range $[\sqrt{\mathcal{P}} - 10^6; \sqrt{\mathcal{P}})$, as $y_1$ we are taking biggest integer, such that $x_1\cdot y_1 &amp;lt; \mathcal{P}$. Now $x_2y_2$ is imposed. We are taking $x_2, y_2$ from $B$ table. $(x_2, y_2) = B_{\mathcal{P} - x_1y_1}$. If $\mathcal{P} - x_1y_1 &amp;gt; 10^6$ we are assuming that such pair of rectangles is incorrect and we are taking the next value of $x_1$.&lt;br /&gt;&#xA;If we aren't, we will calculate best second triangle in $\mathrm{O}(\sqrt{\mathcal{P}'})$, we receive TLE (Time Limit Exceeded). Unfortunately we have no time for it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Pseudocode (skipping all special cases, and small input):&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;def fun(P) :&#xA;answer = inf&#xA;for i in range(sqrt(P)-1KK, sqrt(P)) :&#xA;    j = floor(P/i)&#xA;    perimeter = i + j + best_perimeter(P - (i*j))&#xA;    answer = min(answer, perimeter)&#xA;      #we have to keep somewhere size of edges of best rectangles&#xA;return answer&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;My live &lt;a href=&quot;http://pastebin.com/c9VPL5dH&quot; rel=&quot;nofollow&quot;&gt;&lt;strong&gt;C++ code&lt;/strong&gt;&lt;/a&gt; (100/100 points). &lt;br /&gt;&#xA;I don't fully believe in this solution. I will be glad, if someone share with me good, correct, well proved solution. Is here any good solution for any range of $\mathcal{P}$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thank you for any advices!&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Example:&#xA;If $\mathcal{P} = 6$, then $(x_1,y_1,x_2,y_2) = (2,2,1,2)$ is correct answer (perimeter is $14$) and $(5,1,1,1)$ is incorrect ($5 \cdot 1 + 1 \cdot 1 = 6 = \mathcal{P}$, but perimeter is equal to $16 &amp;gt; 14$).&lt;/p&gt;&#xA;" OwnerUserId="31919" LastEditorUserId="31919" LastEditDate="2015-02-07T20:42:06.530" LastActivityDate="2015-02-08T05:04:58.407" Title="Two rectangles whose sum of areas is given" Tags="&lt;ds.algorithms&gt;&lt;nt.number-theory&gt;" AnswerCount="1" CommentCount="13" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="29406" PostTypeId="1" CreationDate="2015-02-07T07:56:39.673" Score="31" ViewCount="3823" Body="&lt;p&gt;Does someone dare to attempt to clarify what's the relation of these fields of study or perhaps even give a more concrete answer at the level of problems? Like which includes which assuming some widely accepted formulations. If I got this correctly, when you go from SAT to SMT you're basically entering the field of CSP; vice-versa, if you limit CSP to booleans you're basically talking of SAT and maybe a few related problems like #SAT. I think this much is clear (e.g. cf Kolaitis and Vardi's chapter &quot;A Logical Approach to Constraint Satisfaction&quot; in &lt;em&gt;Finite Model Theory and Its Applications&lt;/em&gt; by Grädel et al.), but what's less clear to me is when are the constraints &quot;modulo a theory&quot; and when aren't they? Does SMT always imply the theory uses only equality and inequality constraints are always in the broader field of CSP? As far as I can tell, you can often introduce &lt;a href=&quot;http://en.wikipedia.org/wiki/Slack_variable&quot; rel=&quot;noreferrer&quot;&gt;slack variables&lt;/a&gt;, so the distinction [if it exists] is less than obvious.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The relatively recent &lt;a href=&quot;https://books.google.com/books?id=YVSM3sxhBhcC&quot; rel=&quot;noreferrer&quot;&gt;&quot;Satisfiability handbook&quot; (IOP Press 2009)&lt;/a&gt; gathers both SMT and CSP problems under its broad &quot;satisfiability&quot; umbrella, but given the way it is structured (chapters written by various authors) doesn't really help me with figuring out this. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would hope the terminology gets less confusing when you talk of constraint &lt;em&gt;programming&lt;/em&gt;, which (by analogy with the term ''mathematical programming'') I hope involves minimizing/maximizing some objective function. The Wikipedia article on constraint programming is alas so vague that I can't really say if this framing happens though. What I can gather from &lt;em&gt;Essentials of Constraint Programming&lt;/em&gt; by&#xA;Frühwirth and Abdennadher (p. 56)  is that a &quot;constraint solver&quot; usually provides more than just a satisfiability checker, with simplification etc. being important in practice.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Although this is hardly an actual CS-theory research question, I don't expect good answers to this one on the undergraduate CS.SE site given what I saw at &lt;a href=&quot;https://cs.stackexchange.com/questions/14946/distinguish-decision-procedure-vs-smt-solver-vs-theorem-prover-vs-constraint-sol&quot;&gt;https://cs.stackexchange.com/questions/14946/distinguish-decision-procedure-vs-smt-solver-vs-theorem-prover-vs-constraint-sol&lt;/a&gt; (which contains a lot of words but not what I would consider a real answer, alas).&lt;/p&gt;&#xA;" OwnerUserId="30546" LastEditorUserId="-1" LastEditDate="2017-04-13T12:48:30.830" LastActivityDate="2017-08-08T06:44:18.257" Title="Constraint satisfaction problem (CSP) vs. satisfiability modulo theory (SMT); with a coda on constraint programming" Tags="&lt;soft-question&gt;&lt;sat&gt;&lt;terminology&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="16" ContentLicense="CC BY-SA 3.0" />
  <row Id="29407" PostTypeId="2" ParentId="29400" CreationDate="2015-02-07T10:00:46.020" Score="1" Body="&lt;p&gt;To answer your second question: there is one property that is both safety and liveness: True. With this exception, however, it is fair to say that a property is either safety or liveness or neither. &quot;Most&quot; properties (like yours) are actually neither, but every property can be represented by the intersection of a safety and a liveness property. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think your property could be represented by the intersection (conjunction) of the following two properties in LTL notation:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Safety: G(x -&gt; (a W y))&lt;/p&gt;&#xA;&#xA;&lt;p&gt;and &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Liveness: G(x -&gt; F y)&lt;/p&gt;&#xA;" OwnerUserId="7908" LastActivityDate="2015-02-07T10:00:46.020" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="29408" PostTypeId="1" AcceptedAnswerId="29409" CreationDate="2015-02-07T12:38:52.997" Score="-4" ViewCount="108" Body="&lt;p&gt;I have a doubt, in &lt;em&gt;Linear Temporal Logic LTL&lt;/em&gt;, does the &lt;strong&gt;Until operator&lt;/strong&gt; require that the first occurrence is the first term of the formula?&lt;br&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;ex:  &lt;code&gt;a U b&lt;/code&gt; does require that the first term is &lt;code&gt;a&lt;/code&gt; ?&lt;br&gt;&#xA;Is the sequence &lt;code&gt;bbbbbb..bb&lt;/code&gt; valid?&lt;/p&gt;&#xA;" OwnerUserId="31975" LastActivityDate="2015-02-07T13:01:50.967" Title="Temporal Logic - Until" Tags="&lt;lo.logic&gt;&lt;model-checking&gt;&lt;temporal-logic&gt;" AnswerCount="1" CommentCount="3" ClosedDate="2015-02-08T10:13:32.683" ContentLicense="CC BY-SA 3.0" />
  <row Id="29409" PostTypeId="2" ParentId="29408" CreationDate="2015-02-07T12:42:59.543" Score="0" Body="&lt;p&gt;When you evaulate until formulae on paths, you usually require that &lt;strong&gt;either&lt;/strong&gt; $b$ is the case to begin with, &lt;strong&gt;or&lt;/strong&gt; you have a number $a$'s until a $b$ is met.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$bbbb \ldots b$ therefore satisfies the formula.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Example usage:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you want in a system to reach a state satisfying a &lt;strong&gt;goal&lt;/strong&gt; property while ensuring that no intermediate states have a &lt;strong&gt;bad&lt;/strong&gt; property you could verify the following formula:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\lnot \text{bad } U \text{ goal }$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One way to satisfy this property is that the starting configuration satisfies the desired property i.e &lt;strong&gt;goal&lt;/strong&gt; (the semantics may also require $\lnot$bad in this configuration)&lt;/p&gt;&#xA;" OwnerUserId="31734" LastEditorUserId="31734" LastEditDate="2015-02-07T13:01:50.967" LastActivityDate="2015-02-07T13:01:50.967" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="29410" PostTypeId="2" ParentId="7350" CreationDate="2015-02-07T12:45:43.243" Score="1" Body="&lt;p&gt;An alternative answer, that only uses basic tactics:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;code&gt;&#xA;Theorem inclusion_is_antisymmetric : forall x y:set, subset x y /\ subset y x -&gt; x = y.&#xA;Proof.&#xA;  intros x y H.&#xA;  inversion H.&#xA;  apply equality.&#xA;  split.&#xA;  apply H0.&#xA;  apply H1.&#xA;Qed.&#xA;&lt;/code&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For those that don't want to run it through Coq, the proof is fairly obvious, the &lt;code&gt;equality&lt;/code&gt; axiom is literally the antecedent &lt;code&gt;subset x y /\ subset y x&lt;/code&gt; with a little bit of obfuscation (the quantification is in sort of the wrong spot, and we can effectively move it with the split).&lt;/p&gt;&#xA;" OwnerUserId="9520" LastActivityDate="2015-02-07T12:45:43.243" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="29411" PostTypeId="1" CreationDate="2015-02-07T20:33:38.043" Score="5" ViewCount="176" Body="&lt;p&gt;I'm looking for general references in the literature about applications of games algorithmics in computational biology.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Q1.&lt;/strong&gt; What are the notable cases of computational-biology or bioinformatics problems that can be modeled/analyzed by means of &lt;strong&gt;&lt;em&gt;combinatorial&lt;/em&gt;&lt;/strong&gt; games ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Q2.&lt;/strong&gt; What are the notable cases of computational-biology or bioinformatics problems that can be modeled/analyzed by means of &lt;strong&gt;&lt;em&gt;economic&lt;/em&gt;&lt;/strong&gt; games ?&lt;/p&gt;&#xA;" OwnerUserId="20792" LastEditorUserId="20792" LastEditDate="2015-02-07T20:45:16.407" LastActivityDate="2015-02-07T20:45:16.407" Title="Applications of Combinatorial Games in Computational Biology" Tags="&lt;ds.algorithms&gt;&lt;gt.game-theory&gt;&lt;combinatorial-game-theory&gt;&lt;bioinformatics&gt;" AnswerCount="0" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="29414" PostTypeId="2" ParentId="29233" CreationDate="2015-02-08T03:53:38.053" Score="0" Body="&lt;p&gt;Random numbers are defined as a sequence which has no pattern, and therefore no predictability, no matter who looks and no matter what tests) they use. There are problems with finite sequences vs infinite sequences, but we'll not go there. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Random is not in the eye of the beholder -- if the beholder is human. Cats might be very much better, but training them is currently over difficult. Magicians routinely perform parlor tricks asking audience members to produce random numbers. Humans don't do it well at all. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are some tests for randomness (or that find non-random, many perhaps all?, sequences.)  Which is the more or less the inverse problem, of course. Knuth , vol 2, suggests a large number of statistical tests for random sequences, and essentially gives up. These tests will catch some of the most blatant non-random sequences that someone claims is random, but ... By all means, test if you have time, but don't think you problems are over if no non-randomness is found. Might pop up on the test Knuth didn't know about, or the one JoeStat invents tomorrow.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;No program running a finite state machine (all practical computers of any architecture, though perhaps quantum computers might be a possibility) can produce a random sequence. It is the nature of a finite state machine. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some physical processes are believed (with apparently good reason) to be random, and so a reading from such a process might produce random sequences. Both Intel and Via have long built such random number generators into some of their CPUs. Some Silicon Graphics researchers demonstrated that the patterns in a LavaLamp are random (I think I believe this!), and so on. The difficulty is that such processes must be observed and converted into digital information for use. All measurement methods we have are imperfect,and assuring that the method you chose to read white noise from some silicon junction might induce a pattern into the sequences you produce is fundamentally impossible. Can you prove that this is not so?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some mathematical entities are believed to be random. For instance, pi. The digits which make up its sequence are thought to be random. But there exists an algorithm for finding the nth digit of pi very quickly. What consequence does this have?  Or e? Or phi? Or phi? Or ...?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is a difficult problem.  The RANDU routine, from the SHARE algorithm collection, was thought good enough for decades. The random number function in nearly all languages libraries and operating system routines are sadly inadequate. Do not use them without careful investigation. RANDU wasn't random and so much research requiring random sequences may have been flawed. John von Neuman suggested using the inner digits of large squares. But his quote about any one looking for algorithmically generated random numbers being in a state of sin is quite apt.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Randomness appears to be relatively easy to produce, and so many programmers have written routines which claim to be random; which probably accounts for so many library routines being quite non-random. Netscape built one into some early versions of its software until it was proven rather spectacularly to be grossly non-random. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;As a practical matter, Shannon's concepts of information entropy are directly relevant. Kolmogorov complexity is in some sense a measure of the entropy of the sequence under test. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the practical world, in which something purporting to a random number is required, and the randomness of it underpins the security of some security scheme, such caveats are troublesome. No system has sufficient processing capacity to apply all of Knuth's tests, all those other tests, and ...  to the random numbers it not only needs but must use. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hence the concept of cryptographically secure random numbers. Notice the mealy mouth evasion here. These are not random, they are just believed to be &quot;sufficiently random&quot; to be of use in cryptography whose effectiveness (ie, security) is dependent on their randomness. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;And, CSRN vary in how random they can be. For instance, stream cyphers require large sequences of random key material to be generated in a short time. The actual encryption function in these is, in principle, the extremely fast machine instruction XOR. If the key generating sequence can be determined security goes poof. A secure, high speed pseudo random generator is required, and furthermore, one (or many) which provide high security. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Other cyphers, such as the various block cyphers, require random keys for security. Those keys must be long enough to be hard to guess in a brute force attack, but if they are non-random no brute force will be required. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Asymmetric key cypher algorithms also require random keys, but they must meet certain mathematical tests, and be so related that the encryption algorithm is really one way, even against well equipped attack. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Poorly designed encryption algorithms are poor and breakable, no matter how well the keys approach real randomness. Can you tell the difference between such an algorithm and a well designed one?  Specialists have trouble, so modesty is suggested.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Various schemes have been suggested for CSRNGs, but nearly all are somewhat dubious. For instance, if real world data (disk timings, key stroke timings, network packet timings, ...) is used, what degree of assurance can one have that one's disks (etc) don't have some periodicity that a sufficiently motivated attacker can't discover? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The Linux kernel is sufficiently sensitive to this issue that it has two random routines, one which is quick and will continue to produce &quot;random numbers&quot; on each call, and another which is rather slower, but which produces only random numbers tied directly to various physical parameters in the running machine. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;But I suggest you consult Practical Cryptography by Schneier and Ferguson for the design of a CSRNG system they call Fortuna. It goes some way to avoid any entropy limitation from any source, to mix the inputs from each of the (perhaps not entirely random) sources it gets in such a way to decrease predictability as much as possible. It also protects against now unknown attacks against the entropy pool(s) it uses, and to evade attacks against that pool when the machine is off (and so vulnerable to disk theft and analysis).  It is not a simple system, but it appears to be quite robust, sufficiently fast for many uses (if not for the entire key sequence required by high speed stream cyphers -- seeds for such a generator would seem very usable however). And the design, and design criteria, are publicly available, a far from trivial desideratum.   &lt;/p&gt;&#xA;" OwnerUserId="31986" LastActivityDate="2015-02-08T03:53:38.053" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="29415" PostTypeId="2" ParentId="29405" CreationDate="2015-02-08T04:42:06.727" Score="4" Body="&lt;p&gt;Assume all integers involved are even. This can be ensured by multiplying $P$ by 4. Here is an idea that should speed up the search. Let $p = \left\lceil\sqrt{P}\right\rceil$. If $p*p = P$ we are done. Otherwise, let $k$ be the minimum such that $\alpha =p*p-k*k \leq P$. If $\alpha=P$, we are done as $(p-k)\times(p+k)$ is the desired solution with perimeter $$4p$$. Otherwise, clearly $1 \leq k^2 \leq 4p$ (otherwise, $p$ would be smaller). But this implies that $k \leq c*P^{1/4}$, where $c$ is some small constant. This implies that $P - \alpha \leq c'*P^{1/4}$.  Thus, the solution with rectangles $$(p-k)\times(p+k) \text{ and } 1\times(P-\alpha)$$ has perimeter $4p + O(P^{1/4})$. Since $4(p-1)$ is a lower bound on the solution by the argument below (intuitively, the isoperemeteric inequality), this implies that search range is only of size $O(P^{1/4})$ (as far as the overall perimeter is concerned).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It definitely feels like this argument can be pushed even further... &lt;/p&gt;&#xA;&#xA;&lt;p&gt;And Jeff is right - this is not necessarily too interesting as far as pure theory. But it is fun...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Lower bound&lt;/em&gt;. Observe that if the two rectangles are $x_1\times y_1$ and $x_2\times y_2$, then the rectangle $(x_1+x_2)\times(y_1+y_2)$ must have area larger than $P$. But then, the minimum perimeter rectangle of a given area is a square. This implies that $2(x_1+x_2+y_1+y_2) \geq 4\sqrt{P}$.&lt;/p&gt;&#xA;" OwnerUserId="9594" LastEditorUserId="9594" LastEditDate="2015-02-08T05:04:58.407" LastActivityDate="2015-02-08T05:04:58.407" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="29418" PostTypeId="2" ParentId="29233" CreationDate="2015-02-08T15:53:25.400" Score="4" Body="&lt;p&gt;Although the previous answers are fairly comprehensive, let me just add that there are notions of time-bounded Kolmogorov complexity which can apply in your situation. For example, $K^t(x)$ is the length of the shortest program that produces $x$ &lt;em&gt;within time $t(|x|)$&lt;/em&gt;. So, for example, a pseudorandom number generator that takes time $n^3$ could still produce numbers with high $K^t$ for $t(n)=n^2$, even though the numbers it produces will all have usual Kolmogorov complexity bounded by a single constant. Look up &quot;Resource-bounded Kolmogorov complexity&quot; or see &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0387339981&quot; rel=&quot;nofollow&quot;&gt;Li and Vitanyi&lt;/a&gt; chapter 7 for more details.&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2015-02-08T15:53:25.400" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="29421" PostTypeId="1" CreationDate="2015-02-09T06:32:19.277" Score="5" ViewCount="366" Body="&lt;p&gt;Whether or not $\mathbf{BPP} = \mathbf{EXP}^{\mathbf{NP}}$ is an open problem, although we believe the former is strictly contained in the other.  I guess, from the absence of the proof of the separation, that there should have been  a relativized result on this problem, namely, the existence of an oracle relative to which $\mathbf{BPP} = \mathbf{EXP}^{\mathbf{NP}}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there such a result in the literature indeed?&lt;/p&gt;&#xA;" OwnerUserId="7462" LastActivityDate="2015-02-09T06:32:19.277" Title="An oracle relative to which EXP(NP) = BPP" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;oracles&gt;&lt;relativization&gt;" AnswerCount="0" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="29424" PostTypeId="1" AcceptedAnswerId="29425" CreationDate="2015-02-09T08:19:04.217" Score="3" ViewCount="56" Body="&lt;p&gt;Given $k$ affine subspaces in $\{0,1\}^n$, consider the problem of testing whether their union covers all of $\{0,1\}^n$. What's the complexity of this problem? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;P.S.: It seems that this can be reduced to the computation of a characteristic polynomial, which looks like a hard problem. Is there another route?&lt;/p&gt;&#xA;" OwnerUserId="15" LastActivityDate="2015-02-09T10:19:19.800" Title="Emptiness of complement of subspace arrangement" Tags="&lt;co.combinatorics&gt;&lt;computational-geometry&gt;&lt;arrangements&gt;&lt;finite-fields&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="29425" PostTypeId="2" ParentId="29424" CreationDate="2015-02-09T10:19:19.800" Score="3" Body="&lt;p&gt;Your problem is coNP-hard. &#xA;Take a 3SAT instance with variables $X$ and clause set $C$. &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Set the dimension in your problem to $n:=|X|$.&lt;/li&gt;&#xA;&lt;li&gt;For every clause $c\in C$, introduce a corresponding $(n-3)$-dimensional subspace $S(c)$ by restricting the three dimensions that correspond to the three variables in $c$.&lt;br&gt;&#xA;If a variable occurrs positively in $c$, then fix the corresponding coordinate at 0.&#xA;If a variable occurrs negatively in $c$, then fix the corresponding coordinate at 1.&lt;/li&gt;&#xA;&lt;li&gt;A 0-1 truth assignment (to the variables in $X$) violates clause $c$, if and only if the vector corresponding to the truth assignment lies in subspace $S(c)$.&lt;/li&gt;&#xA;&lt;li&gt;A 0-1 truth assignment (to the variables in $X$) satisfies all clauses,&lt;br&gt;&#xA;if and only if the vector corresponding to the truth assignment lies in none of the subspaces $S(c)$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="31660" LastActivityDate="2015-02-09T10:19:19.800" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="29426" PostTypeId="2" ParentId="29237" CreationDate="2015-02-09T14:02:37.490" Score="1" Body="&lt;p&gt;You might like to look at Bernstein, Buchmann, Dahmen (editors): &lt;em&gt;Post-Quantum Cryptography&lt;/em&gt;. The idea of the book is to study what will be available when current methods will become insecure. The book arose via a discussion at an IPAM/UCLA workshop.&lt;/p&gt;&#xA;" OwnerUserId="28659" LastActivityDate="2015-02-09T14:02:37.490" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="29427" PostTypeId="2" ParentId="29383" CreationDate="2015-02-09T14:42:46.017" Score="2" Body="&lt;p&gt;There are studies in the relation between BQP and the polynomial hierachy PH. For instance, there is a problem relative to which BQP is not contained in PH (&lt;a href=&quot;http://arxiv.org/abs/0910.4698&quot; rel=&quot;nofollow&quot;&gt;http://arxiv.org/abs/0910.4698&lt;/a&gt;), and a conjecture that proves the same result in an unrelativized world (&lt;a href=&quot;http://arxiv.org/abs/1007.0305&quot; rel=&quot;nofollow&quot;&gt;http://arxiv.org/abs/1007.0305&lt;/a&gt;). See also the problem of BosonSampling, that is sampling from the probability outcome of photons coming out from a beam splitter network, is thought to be classically hard while can be implemented by a rather simple quantum systems which is not even a universal quantum computer (look for the paper Aaronson, Arkhipov - The Computational Complexity of Linear Optics). It is another hint that quantum computing is stongher than PH: indeed, if a classical computer can efficiently solve BosonSampling with an oracle for a PH problem, then $P^{\# P}\subseteq BPP^{PH}$ which imply the polynomial hierarchy would collapse.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In conclusion, we don't know what is the exact power of quantum computers but there are results suggesting that BQP might be outside PH.&lt;/p&gt;&#xA;" OwnerUserId="32007" LastEditorUserId="32007" LastEditDate="2015-03-16T22:14:42.147" LastActivityDate="2015-03-16T22:14:42.147" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="29428" PostTypeId="2" ParentId="29406" CreationDate="2015-02-09T16:04:03.050" Score="50" Body="&lt;p&gt;SAT, CP, SMT, (much of) ASP all deal with the same set of combinatorial optimisation problems.&#xA;However, they come at these problems from different angles and with different toolboxes.&#xA;These differences are largely in how each approach structures information about the exploration of the search space.&#xA;My working analogy is that SAT is machine code, while the others are higher level languages.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Based on my &lt;a href=&quot;http://ora.ox.ac.uk/objects/uuid:5d641fff-4d95-43b2-9ff8-73395d782ad8&quot; rel=&quot;noreferrer&quot;&gt;thesis work on the structural theory of CSPs&lt;/a&gt;, I have come to believe that the notion of &quot;clause structure&quot; is essential in unifying all these paradigms and in understanding how they differ.&#xA;Each clause of a SAT instance represents a forbidden partial assignment; a clause like $x_1 \lor \overline{x_2} \lor x_3$ forbids the partial assignment $\{(x_1,0),(x_2,1),(x_3,0)\}$ that simultaneously sets $x_1$ and $x_3$ to false and $x_2$ to true.&#xA;The clause structure of a combinatorial optimisation problem is its representation as a SAT instance, using some suitable encoding.&#xA;However, the clause structure includes &lt;em&gt;all&lt;/em&gt; the forbidden partial assignments, not just the ones given at the start.&#xA;The clause structure is therefore usually too large to manipulate directly: typically it has at least exponential size in the number of variables, and may be infinite.&#xA;Hence, the clause structure has to be approximated with a limited amount of space.&#xA;SAT/CP/SMT/ASP maintain and update a more-or-less implicit representation of an underlying clause structure.&#xA;This is possible because if one partial assignment is known to be in the clause structure, then this implies that many other clauses are also present.&#xA;For instance, the SAT clause above also forbids any partial assignment that contains it as a subset, so clauses like $x_1 \lor \overline{x_2} \lor x_3 \lor x_4$ and $x_1 \lor \overline{x_2} \lor x_3 \lor \overline{x_4} \lor x_5$ are all in the clause structure of that instance.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An approximation of the clause structure is kept to narrow down the set of solutions, and to help determine whether this set is empty.&#xA;During search some partial assignments may turn out not to be contained in any solution (even if they individually satisfy each of the constraints in the instance).&#xA;These are known as &lt;em&gt;nogoods&lt;/em&gt;, a term introduced by  &lt;a href=&quot;http://dx.doi.org/10.1016/0004-3702(77)90029-7&quot; rel=&quot;noreferrer&quot;&gt;(&quot;Mr GNU&quot;) Stallman and Sussman&lt;/a&gt;.&#xA;A nogood clause is therefore in the clause structure and can be included in an approximation of the clause structure, as a compact representation of many clauses that can be pruned from the search for solutions.&#xA;Adding nogoods to the approximate clause structure retains all the solutions, but better approximates those solutions.&#xA;So the approximate clause structure usually changes as search progresses.&#xA;Further, the way the problem is modelled in one of the combinatorial optimisation approaches affects the clause structure, often quite significantly.&#xA;For instance, propositional variables can represent intervals such as $x \le 5$ or points such as $x = 5$.&#xA;Hence there isn't a single general clause structure but one associated with each choice of representation, depending on what the singletons (literals) of the clause structure represent.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Constraint_programming&quot; rel=&quot;noreferrer&quot;&gt;Constraint programming&lt;/a&gt; (CP) was traditionally an AI discipline, with a focus on scheduling, timetabling, and combinatorial problems, and therefore has a central role for variables that can take more than just two values (but usually only finitely many).&#xA;CP has emphasised efficient search and, motivated by the traditional applications, has given a central role to the &lt;a href=&quot;http://www.emn.fr/z-info/sdemasse/gccat/Calldifferent.html&quot; rel=&quot;noreferrer&quot;&gt;&lt;code&gt;all-different&lt;/code&gt;&lt;/a&gt; (injectivity) constraint, but has also developed efficient propagators for many other kinds of constraints.&#xA;The formal definitions of CP have been around since at least Montanari's 1974 paper &lt;a href=&quot;http://dx.doi.org/10.1016/0020-0255(74)90008-5&quot; rel=&quot;noreferrer&quot;&gt;&lt;em&gt;Networks of constraints&lt;/em&gt;&lt;/a&gt;, with precursors going back even earlier.&#xA;This weight of history may have contributed to CP lagging behind other approaches in raw performance over the last decade.&#xA;CP classically maintains an approximation of the complement of the clause structure, via a set of active domains for the variables.&#xA;The aim is to eliminate values from the active domains, exploring the clause structure by trying to assign candidate values to variables and backtracking when necessary.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Satisfiability_Modulo_Theories&quot; rel=&quot;noreferrer&quot;&gt;Satisfiability modulo theories&lt;/a&gt; (SMT) came out of the verification community.&#xA;Each theory in an SMT solver forms an implicit representation of potentially infinitely many SAT clauses.&#xA;The theories used with SMT and the constraints used in CP reflect their different historical applications.&#xA;Most of the theories SMT considers have to do with integer-indexed arrays, real closed fields, linear orders, and suchlike; these arise from static analysis of programs (in computer aided verification) or when formalising mathematical proofs (in automated reasoning).&#xA;In contrast, in timetabling and scheduling the injectivity constraint is central, and although the standard &lt;a href=&quot;http://smt-lib.org/&quot; rel=&quot;noreferrer&quot;&gt;SMTLIB&lt;/a&gt; language has had an injectivity constraint since its inception in 2003 (via the &lt;code&gt;distinct&lt;/code&gt; symbol), until 2010 SMT solvers only implemented &lt;code&gt;distinct&lt;/code&gt; via a naive algorithm.&#xA;At that stage the matching technique from the standard CP propagator for &lt;code&gt;all-different&lt;/code&gt; was ported across, to great effect when applied to large lists of variables; see &lt;a href=&quot;http://argo.matf.bg.ac.rs/publications/2010/alldiff-smt2010.pdf&quot; rel=&quot;noreferrer&quot;&gt;&lt;em&gt;An Alldifferent constraint solver in SMT&lt;/em&gt;&lt;/a&gt; by Banković and Marić, SMT 2010.&#xA;Moreover, most CP propagators are designed for problems with finite domains, whereas standard SMT theories deal with infinite domains (integers, and more recently reals) out of the box.&#xA;SMT uses a SAT instance as the approximation of the clause structure, extracting nogood clauses from the theories as appropriate.&#xA;A nice overview is &lt;a href=&quot;http://www.cis.upenn.edu/~alur/CIS673/smt11.pdf&quot; rel=&quot;noreferrer&quot;&gt;&lt;em&gt;Satisfiability Modulo Theories: Introduction and Applications&lt;/em&gt;&lt;/a&gt;&#xA;by De Moura and Bjørner,&#xA;doi:&lt;a href=&quot;http://dx.doi.org/10.1145/1995376.1995394&quot; rel=&quot;noreferrer&quot;&gt;10.1145/1995376.1995394&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Answer_set_programming&quot; rel=&quot;noreferrer&quot;&gt;Answer set programming&lt;/a&gt; (ASP) came out of logic programming.&#xA;Due to its focus on solving the more general problem of finding a stable model, and also because it allows universal as well as existential quantification, ASP was for many years not competitive with CP or SMT.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Formally, SAT is CSP on Boolean domains, but the focus in SAT on clause learning, good heuristics for conflict detection, and fast ways to backtrack are quite different to the traditional CSP focus on propagators, establishing consistency, and heuristics for variable ordering.&#xA;SAT is usually extremely efficient, but for many problems huge effort is required to first express the problem as a SAT instance.&#xA;Using a higher level paradigm like CP can allow a more natural expression of the problem, and then either the CP instance can be translated into SAT by hand, or a tool can take care of the translation.&#xA;A nice overview of the nuts and bolts of SAT is &lt;a href=&quot;http://reasoning.cs.ucla.edu/fetch.php?id=108&amp;amp;type=pdf&quot; rel=&quot;noreferrer&quot;&gt;&lt;em&gt;On Modern Clause-Learning Satisfiability Solvers&lt;/em&gt;&lt;/a&gt; by Pipatsrisawat and Darwiche, doi:&lt;a href=&quot;http://dx.doi.org/10.1007/s10817-009-9156-3&quot; rel=&quot;noreferrer&quot;&gt;10.1007/s10817-009-9156-3&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now let's move on from generalities to present day specifics.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Over the last decade some people in CP have started to focus on lazy clause generation (LCG).&#xA;This is essentially a way to bolt CP propagators together using more flexible SMT-like techniques rather than the rather rigid active domains abstraction.&#xA;This is useful because there is a long history of published CP propagators to efficiently represent and solve many kinds of problems.&#xA;(Of course, a similar effect would be achieved by concerted effort to implement new theories for SMT solvers.)&#xA;LCG has performance that is often competitive with SMT, and for some problems it may be superior.&#xA;A quick overview is Stuckey's CPAIOR 2010 paper &lt;a href=&quot;http://people.eng.unimelb.edu.au/pstuckey/papers/lazy.pdf&quot; rel=&quot;noreferrer&quot;&gt;&lt;em&gt;Lazy Clause Generation: Combining the power of SAT and CP (and MIP?) solving&lt;/em&gt;&lt;/a&gt;, doi:&lt;a href=&quot;http://dx.doi.org/10.1007/978-3-642-13520-0_3&quot; rel=&quot;noreferrer&quot;&gt;10.1007/978-3-642-13520-0_3&lt;/a&gt;.&#xA;It is also worth reading the position paper of Garcia de la Banda, Stuckey, Van Hentenryck and Wallace, which paints a CP-centric vision of &lt;a href=&quot;http://people.eng.unimelb.edu.au/pstuckey/papers/position.pdf&quot; rel=&quot;noreferrer&quot;&gt;&lt;em&gt;The Future of Optimization Technology&lt;/em&gt;&lt;/a&gt;, doi:&lt;a href=&quot;http://dx.doi.org/10.1007/s10601-013-9149-z&quot; rel=&quot;noreferrer&quot;&gt;10.1007/s10601-013-9149-z&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As far as I can tell, much of the focus of recent SMT research seems to have shifted to applications in formal methods and formalised mathematics.  An example is reconstructing proofs found by SMT solvers inside proof systems such as &lt;a href=&quot;http://isabelle.in.tum.de/&quot; rel=&quot;noreferrer&quot;&gt;Isabelle&lt;/a&gt;/HOL, by building Isabelle/HOL tactics to reflect inference rules in SMT proof traces; see &lt;a href=&quot;http://www4.in.tum.de/~boehmes/fast_proof_rec.html&quot; rel=&quot;noreferrer&quot;&gt;&lt;em&gt;Fast LCF-Style Proof Reconstruction for Z3&lt;/em&gt;&lt;/a&gt; by Böhmer and Weber at ITP 2010.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The top ASP solvers have over the last few years been developed to become competitive with CP, SMT and SAT-only solvers.&#xA;I'm only vaguely familiar with the implementation details that have allowed solvers such as &lt;a href=&quot;http://www.cs.uni-potsdam.de/clasp/&quot; rel=&quot;noreferrer&quot;&gt;&lt;code&gt;clasp&lt;/code&gt;&lt;/a&gt; to be competitive so cannot really compare these with SMT and CP, but clasp explicitly advertises its focus on learning nogoods.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Cutting across the traditional boundaries between these formalisms is translation from more abstract problem representations into lower level efficiently implementable formalisms.&#xA;Several of the top ASP and CP solvers now explicitly translate their input into a SAT instance, which is then solved using an off-the-shelf SAT solver.&#xA;In CP, the &lt;a href=&quot;http://savilerow.cs.st-andrews.ac.uk/&quot; rel=&quot;noreferrer&quot;&gt;Savile Row constraint modelling assistant&lt;/a&gt; uses compiler design techniques to translate problems expressed in the medium level language Essence' into a lower level formalism, suitable for input to CP solvers such as &lt;a href=&quot;http://minion.sourceforge.net/&quot; rel=&quot;noreferrer&quot;&gt;Minion&lt;/a&gt; or &lt;a href=&quot;http://www.minizinc.org/2.0/index.html&quot; rel=&quot;noreferrer&quot;&gt;MiniZinc&lt;/a&gt;.&#xA;Savile Row originally worked with a CP representation as the low-level formalism but introduced SAT as a target in version 1.6.2.&#xA;Moreover, the even higher-level language &lt;a href=&quot;http://dx.doi.org/10.1007/s10601-008-9047-y&quot; rel=&quot;noreferrer&quot;&gt;Essence&lt;/a&gt; can now be automatically translated into Essence' by the &lt;a href=&quot;https://github.com/conjure-cp/conjure&quot; rel=&quot;noreferrer&quot;&gt;Conjure&lt;/a&gt; tool.&#xA;At the same time, low level SAT-only solvers like &lt;a href=&quot;http://fmv.jku.at/lingeling/&quot; rel=&quot;noreferrer&quot;&gt;Lingeling&lt;/a&gt; continue to be refined each year, most recently by alternating clause learning and in-processing phases; see the brief overview &lt;a href=&quot;http://www.cs.utexas.edu/~marijn/publications/WhatsHot.pdf&quot; rel=&quot;noreferrer&quot;&gt;&lt;em&gt;What's Hot in the SAT and ASP Competitions&lt;/em&gt;&lt;/a&gt; by Heule and Schaub in AAAI 2015.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The analogy with the history of programming languages therefore seems appropriate.&#xA;SAT is becoming a kind of &quot;machine code&quot;, targeting a low-level model of exploration of the clauses in the clause structure.&#xA;The abstract paradigms are becoming more like higher level computer languages, with their own distinct methodologies and applications they are good at addressing.&#xA;Finally, the increasingly dense collection of links between these different layers is starting to resemble the compiler optimisation ecosystem.&lt;/p&gt;&#xA;" OwnerUserId="109" LastEditorUserId="109" LastEditDate="2017-08-08T06:44:18.257" LastActivityDate="2017-08-08T06:44:18.257" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="29430" PostTypeId="2" ParentId="29340" CreationDate="2015-02-09T18:11:58.290" Score="11" Body="&lt;p&gt;I did this very thing — computer-assisted NP-completeness proof — in my bachelor thesis!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The bad part - it's in Russian and wasn't translated to English.&#xA;&lt;a href=&quot;http://is.ifmo.ru/diploma-theses/_dvorkin_bachelor.pdf&quot;&gt;http://is.ifmo.ru/diploma-theses/_dvorkin_bachelor.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I worked with logical gates in 2D problems. The plan is:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Manually design what a &quot;wire&quot; looks like in your problem.&lt;/li&gt;&#xA;&lt;li&gt;Use very smart and optimized search (in fact dynamic programming over sets of profiles) to automatically design all the necessary logical gates.&lt;/li&gt;&#xA;&lt;li&gt;PROFIT!&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The code is available, by the way:&#xA;&lt;a href=&quot;https://code.google.com/p/metadynamic-programming/&quot;&gt;https://code.google.com/p/metadynamic-programming/&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This way, with manual work only to design the wire and to code the rules of the specific 2D problem, I was able to prove NP-completeness of:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Minesweeper&lt;/li&gt;&#xA;&lt;li&gt;Covering area with horizontal dominoes and vertical triminoes&lt;/li&gt;&#xA;&lt;li&gt;$k$-Cross sum for $k \ge 4$; thus solving an open problem for $k \in [4,6]$!&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="32009" LastActivityDate="2015-02-09T18:11:58.290" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="29431" PostTypeId="1" AcceptedAnswerId="29434" CreationDate="2015-02-09T20:33:11.513" Score="4" ViewCount="202" Body="&lt;p&gt;Various encryption schemes would be considered broken if an adversary could have a non-negligible edge in predicting the first (or any) bit of an encrypted message.  I am looking for a slightly stronger guarantee.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In particular, does any cryptographic system or crypto assumption (that relies on keys, not a one time pad) guarantee that any linear combination of the encrypted bits cannot be predicted after an adversary sees only a polynomial number of messages (possibly of his choosing)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note -- I am not at all an expert in cryptography, and this may be considered trivial.&lt;/p&gt;&#xA;" OwnerUserId="123" LastActivityDate="2015-02-10T00:13:10.727" Title="Cryptographic systems that don't leak linear combinations of encrypted bits" Tags="&lt;cr.crypto-security&gt;&lt;cryptographic-attack&gt;&lt;linear-equations&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="29434" PostTypeId="2" ParentId="29431" CreationDate="2015-02-10T00:13:10.727" Score="6" Body="&lt;p&gt;Yes, if the encryption algorithm achieves IND-CPA security (semantic security), this implies that an adversary cannot predict any linear combination of encrypted bits better than random guessing. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The easiest way to see this is to note that IND-CPA (left-or-right indistinguishability) implies real-or-random indistinguishability under chosen-plaintext attack: an attacker cannot distinguish the encryption of messages $M_1,\dots,M_n$ (chosen by the attacker) from the encryption of random strings $R_1,\dots,R_n$ (chosen randomly and not revealed to the attacker).  This fact is proven in Bellare &amp;amp; Rogaway's lecture notes, or is easy to derive yourself via a hybrid argument.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now your result follows.  Let $\ell$ be any linear function of the message.  Then it follows that no attacker can predict $\ell(M_i)$ better than random guessing.  Why?  $\ell(R_i)$ is a random bit.  So, if knowledge of $E_k(M_i)$ lets you distinguish $\ell(M_i)$ from random (i.e., distinguish $\ell(M_i)$ from $\ell(R_i)$), then it would also let you distinguish $E_k(M_i)$ from $E_k(R_i)$, which would violate semantic security. &lt;/p&gt;&#xA;" OwnerUserId="5038" LastActivityDate="2015-02-10T00:13:10.727" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="29435" PostTypeId="2" ParentId="12661" CreationDate="2015-02-10T05:31:28.100" Score="11" Body="&lt;p&gt;LMN theorem shows that if f is a boolean function$(f:\{-1,1\}^n \rightarrow \{-1,1\})$ computable by an $\text{AC}^0$ circuit of size M,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\sum_{S:|S|&amp;gt; k} \hat f(S)^{2} \leq 2^{-\Omega(k/(\log M)^{d-1})}$$ &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\Rightarrow \hat f([n])^{2} \leq 2^{-\Omega(n/(\log M)^{d-1})}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\Rightarrow |\hat f([n])| \leq 2^{-\Omega(n/(\log M)^{d-1})}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$|\hat f([n])|$ is nothing but the correlation of f with the parity function $(\prod_{i = 1}^{n}x_i)$. Let $\delta$ be the fraction of inputs where $f$ differs from $PARITY$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;\begin{align}&#xA;1 -2 \delta \leq |1 - 2\delta| &amp;amp;= |\hat f([n])| \leq 2^{-\Omega(n/(\log M)^{d-1})}\\&#xA;\Rightarrow \delta &amp;amp;\geq 1 - 2^{-\Omega(n/(\log M)^{d-1})}&#xA;\end{align}&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, if M is $poly(n)$, for $f$ to be equal to $PARITY$,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;\begin{align}&#xA;\delta &amp;amp;\leq \frac{1}{2^n}\\&#xA;\Rightarrow 2^n &amp;amp;\geq 2^{(cn/(\log M)^{d-1})}\\&#xA;\Rightarrow (\log M)^{d-1} &amp;amp;\geq (c-1)n \\&#xA;\Rightarrow M &amp;amp;\geq 2^{\Omega (n^{1/d-1})}&#xA;\end{align}&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, LMN theorem not only proves that $PARITY$ cannot be computed by $AC^{0}$ circuits, it also shows that $PARITY$ has low correlation with $AC^{0}$ circuits. &lt;/p&gt;&#xA;" OwnerUserId="9155" LastEditorUserId="9155" LastEditDate="2016-10-06T12:59:20.050" LastActivityDate="2016-10-06T12:59:20.050" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="29436" PostTypeId="1" CreationDate="2015-02-10T11:06:14.747" Score="2" ViewCount="798" Body="&lt;p&gt;I am an undergraduate student studying Information Technology. I like both math and CS, so I am considering to go into either &quot;Computer Science and Math&quot; or &quot;Theoretical Computer Science&quot; for my postgraduate study. Some of the fields I'm interested are: combinatorial and computational complexity.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I heard that the only career option in Theoretical CS is to become a researcher - and from where I come from, research are not strongly supported and encouraged (especially in CS), so researcher is not just a common career here.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But what I concern the most is people tell me that there are little programming practice in TCS, while I enjoy programming.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Is that true? Of all the research categories in TCS, which ones require more programming practices and what programming is used for there?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;I have never worked theoretical math &amp;amp; rigorous math analysis e.g.: proving theory etc, though I'm quite sure I can master it if I learn it. How much will it affect me if I study TCS?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Your answer will be a great help for me. Thanks in advance!&lt;/p&gt;&#xA;" OwnerUserId="32014" LastEditorUserId="32014" LastEditDate="2015-02-10T11:16:48.163" LastActivityDate="2015-02-10T11:16:48.163" Title="How much programming is practiced in Theoretical Computer Science jobs?" Tags="&lt;career&gt;" AnswerCount="0" CommentCount="5" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="29440" PostTypeId="2" ParentId="22277" CreationDate="2015-02-10T17:10:44.663" Score="14" Body="&lt;h1&gt;How to come up with sum-of-logs potential&lt;/h1&gt;&#xA;&#xA;&lt;p&gt;Let's consider the BST algorithm $A$ that for each access for element $x$, it rearranges only elements in the search path $P$ of $x$ called before-path, into some tree called after-tree. For any element $a$, let $s(a)$ and $s'(a)$ be the size of subtree rooted at $a$ before and after the rearrangement respectively. So $s(a)$ and $s'(a)$ may differ iff $a \in P$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Moreover, $A$ only rearranges constantly many elements in the search path at any moment. Let's call this type of algorithm &quot;local&quot; algorithm. For example, splay tree is local. It rearranges only at most 3 elements at a time by zig, zigzig and zigzag.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, any local algorithm that creates &quot;many&quot; leaves in the after-tree, like splay tree, has the following nice property.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;We can create a mapping $f: P \rightarrow P$ such that&lt;/p&gt;&#xA;  &#xA;  &lt;ol&gt;&#xA;  &lt;li&gt;There are linearly many $a \in P$,  where $s'(f(a)) \le s(a)/2$.&lt;/li&gt;&#xA;  &lt;li&gt;There are constantly many $a \in P$, where  $s'(f(a))$ can be large but trivially at most $n$.&lt;/li&gt;&#xA;  &lt;li&gt;Other elements $a \in P$, $s'(f(a)) \le s(a)$.&lt;/li&gt;&#xA;  &lt;/ol&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;We can see this by unfolding the change of search path. The mapping is actually quite natural. This paper, &lt;a href=&quot;http://arxiv.org/abs/1503.03105&quot;&gt;A Global Geometric View of Splaying&lt;/a&gt;, precisely shows the details how to see the above observation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;After knowing this fact, it is very natural to choose sum-of-logs potential.&#xA;Because we can use the potential change of the type-1 elements to pay for the whole rearrangement. Moreover, for other-type elements, we have to pay for the potential change by at most logarithmic. &#xA;Hence, we can derive logarithm amortized cost.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think the reason why people think this is &quot;black magic&quot; is that the previous analysis do not &quot;unfold&quot; the overall change of the search path, and see what really happens in one step.&#xA;Instead, they show the change in potential for each &quot;local transformation&quot;, and then show that these potential changes &#xA;can be magically telescoped.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;P.S. The paper even shows some limitation of sum-of-logs potential. &#xA;That is, one can prove satisfiability of &lt;em&gt;access lemma&lt;/em&gt; via sum-of-logs potential to only the local algorithm.&lt;/p&gt;&#xA;&#xA;&lt;h1&gt;Interpretation of sum-of-logs potential&lt;/h1&gt;&#xA;&#xA;&lt;p&gt;There is another way to define the potential of BST in &lt;a href=&quot;http://comjnl.oxfordjournals.org/content/47/1/10.full.pdf&quot;&gt;Georgakopoulos and McClurkin's paper&lt;/a&gt; which is essentially the same as sum-of-logs potential in Sleator Tarjan's paper. But this gives good intuition to me. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now I switch to the notation of the paper. We assign a weight $w(u)$ to every node $u$. Let $W(u)$ be the sum of the weight of $u$'s subtree. (This is just the size of $u$'s subtree when the weight of every node is one.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, instead of defining the rank on the nodes, we define the rank to the edges, which they called &lt;strong&gt;progress factor&lt;/strong&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$pf(e)=\log(W(u)/W(v)).$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;And the potential of tree $S$ is&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\Phi(S) = \sum_{e\in S} pf(e).$$&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;This potential has a natural interpretation: if during a search we traverse an edge $(u,v)$ we reduce the search space from the descendants of $u$ to the descendants of $v$, a frantional reduction of $W(u)/W(v)$. Our progress factor is a logarithmic measure of this 'progress', hence its name. [From Section 2.4]&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Observe that this is almost equal Sleator Tarjan's potential, and it is additive on paths. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;edit:&lt;/strong&gt; It turns out that this alternative definition and the intuition behind it was described long ago by Kurt Mehlhorn. See his book &quot;Data Structures and Algorithms&quot; Volume I, Section III. 6.1.2 Splay Trees,  pages 263 - 274.&lt;/p&gt;&#xA;" OwnerUserId="12646" LastEditorUserId="12646" LastEditDate="2015-03-24T10:11:57.333" LastActivityDate="2015-03-24T10:11:57.333" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="29444" PostTypeId="1" AcceptedAnswerId="29452" CreationDate="2015-02-10T19:39:05.923" Score="5" ViewCount="1876" Body="&lt;p&gt;I would like to ask if anybody is aware of a paper comparing the expressiveness of past time LTL and that of (future time) LTL.&lt;/p&gt;&#xA;" OwnerUserId="10526" LastActivityDate="2015-02-12T06:47:19.827" Title="Do past time LTL and future time LTL have the same expressiveness?" Tags="&lt;lo.logic&gt;&lt;temporal-logic&gt;&lt;linear-temporal-logic&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="29446" PostTypeId="1" CreationDate="2015-02-10T22:23:19.427" Score="3" ViewCount="74" Body="&lt;p&gt;I have been working on privacy and come across a neat problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose two random variables $X$ and $Y$, over finite alphabets $\mathcal{X}$ and $\mathcal{Y}$, are given with joint distribution $P_{XY}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We want to make sure that there exists a non-degenerate function acting on $\mathcal{Y}$, say, $f(Y)$, such that $f(Y)$ is independent of $X$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am looking for a sufficient and necessary condition of this.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is clear that a necessary condition for this is that $P_{XY}$ be rank deficient. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am, in particular, hoping to see if there is any connection to the set of singular values of  the conditional expectation operator (like the connection between maximal correlation and the second largest singular value of conditional expectation operator).&lt;/p&gt;&#xA;" OwnerUserId="21925" LastActivityDate="2015-02-10T22:23:19.427" Title="One kind of dependence relation between a pair of random variables" Tags="&lt;cr.crypto-security&gt;&lt;pr.probability&gt;&lt;it.information-theory&gt;&lt;st.statistics&gt;" AnswerCount="0" CommentCount="7" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="29447" PostTypeId="2" ParentId="29367" CreationDate="2015-02-10T22:50:52.077" Score="5" Body="&lt;p&gt;I'll try and give an answer to this question, and try to clear up some confusion as to the exact form of the question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The first point I want to make: the $L$ in the statement of Chaitin's constant is indeed a function of $T$. In the &lt;strong&gt;absolute&lt;/strong&gt; sense, it is monotonic in the expressiveness of $T$: if $L(T)$ is the &lt;strong&gt;smallest&lt;/strong&gt; natural number for which &#xA;$$T\not\vdash K(s)\geq L(T)$$&#xA;for any string $s$, then if $T'$ is a consistent theory stronger than $T$ ($T\vdash\varphi$ implies $T'\vdash\varphi$ for any arithmetic sentence $\varphi$) then $L(T')\geq L(T)$. The argument is very simple: if there exists $s$ such that $T\vdash K(s)\geq L$ then $T'\vdash K(s)\geq L$ by hypothesis.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, this is only true if $L(T)$ is the &lt;strong&gt;absolute&lt;/strong&gt; Chaitin constant. In particular, if $T'$ proves $\mathrm{Con}(T)$, then&#xA;$$ T'\vdash \exists L\forall s\ \lceil T\not\vdash K(\overline{s})\geq \overline{L}\rceil $$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;by internalizing Chaitin's argument. &lt;strong&gt;However&lt;/strong&gt;, a &lt;em&gt;concrete&lt;/em&gt; $l$ for which&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$ T'\vdash\forall s\ \lceil T\not\vdash K(\overline{s})\geq\overline{l}\rceil$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;will in general not be equal to $L(T)$&lt;/strong&gt;. In particular it may be much larger, generally proportional to &lt;strong&gt;the size of the proof of $\mathrm{Con}(T)$ in $T'$&lt;/strong&gt;. This can easily be seen in the proof of the theorem itself, which crucially relies on the consistency of $T$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So while $Q^*$ can prove consistency of the system with bounded induction, the length of these proofs gets longer the closer you get to $Q^*$ in expressiveness (one way to understand the incompleteness theorems is that the length becomes infinite when you reach $Q^*$, thus it has no finite proof of consistency in $Q^*$ itself). Thus the same applies to the various upper bounds on the &lt;strong&gt;internal&lt;/strong&gt; $L(T)$s $Q^*$ can describe for each sub-theory.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So here is the short answer to your question: $L(T)$ is bounded uniformly for all subtheories of $Q^*$, but $Q^*$ itself cannot show that this bound holds for all such sub-theories. This was the crucial mistake Nelson made (buried under several layers of formalism) and that Tao pointed out &lt;a href=&quot;https://golem.ph.utexas.edu/category/2011/09/the_inconsistency_of_arithmeti.html#c039547&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="3984" LastActivityDate="2015-02-10T22:50:52.077" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="29450" PostTypeId="2" ParentId="29444" CreationDate="2015-02-11T06:58:27.603" Score="7" Body="&lt;p&gt;The logics are expressively the same, though past operators make LTL exponentially more succinct. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can start &lt;a href=&quot;http://www.lsv.ens-cachan.fr/~markey/PLTL.php&quot;&gt;here&lt;/a&gt;, from which there are references.&lt;/p&gt;&#xA;" OwnerUserId="7531" LastActivityDate="2015-02-11T06:58:27.603" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="29451" PostTypeId="1" CreationDate="2015-02-11T16:13:34.083" Score="2" ViewCount="321" Body="&lt;p&gt;I was wondering if the following problem has been studied in the past, and what are some of the best ways people can come up with to solve it:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $G=(V,E)$ be an undirected graph, which we use as a flow network with edge capacities $c(e)=1$ for all $e \in E$.&#xA;For all edges $e = \{u,v\} \in E$, we would like to calculate the maximum flow between $u,v$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $t_{mstf}$ be the time it takes to calculate a maximum s-t flow and $t_{mf}$ be the time it takes to calculate a maximum flow.&#xA;We can solve the problem above naively in $\mathcal{O}(|E| \cdot t_{mstf})$ time.&#xA;We can also do it by building a Gomory-Hu tree in $\mathcal{O}(|V| \cdot t_{mf})$ time and then an additional $\mathcal{O}(|E||V|)$ steps to get shortest paths along the tree.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can we do any better?&lt;/p&gt;&#xA;" OwnerUserId="32036" LastEditorUserId="32036" LastEditDate="2015-02-11T16:24:46.033" LastActivityDate="2015-02-11T20:45:43.930" Title="Maximum flow for all edges in an undirected graph" Tags="&lt;graph-algorithms&gt;&lt;max-flow-min-cut&gt;&lt;max-flow&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="29452" PostTypeId="2" ParentId="29444" CreationDate="2015-02-11T18:45:30.690" Score="17" Body="&lt;p&gt;The quick summary is that LTL with only past and no future modalities defines properties expressed over finite-words and these are the star-free subset of the regular languages. Standard LTL when extended with past-time modalities does not have more logical expressive power than LTL with only future modalities but properties can be defined in an exponentially succinct manner. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For a more detailed answer, there are at least three logics one can consider in answering your question and at least three different notions of expressiveness. &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Standard Linear Temporal Logic (LTL), which has the standard modalities next and until and is interpreted over traces that have a finite history and an infinite future. &lt;/li&gt;&#xA;&lt;li&gt;Past-time Linear Temporal Logic (ptLTL), which has the modalities &quot;previously&quot; instead of &quot;next&quot; and &quot;since&quot; instead of until and is interpreted over finite traces, or at some point in an infinite trace but refers to the history of the trace.&lt;/li&gt;&#xA;&lt;li&gt;Temporal logic with past and future modalities (sometimes abbreviated to TL), which has the modalities of LTL and ptLTL and is interpreted either over infinite traces or over finite and infinite traces.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;The three notions of expressiveness are to ask (i) what languages (of finite or infinite words) each logic can define, (ii) what first-order structures these logics define, and (iii) what the complexity of defining a given language (or first-order structure) in each logic is. A more refined vocabulary for comparing expressiveness is provided by the notion of hierarchies, which are briefly mentioned at the bottom.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;First-Order Structures definable by temporal languages&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Kamp in 1968 studied an &lt;em&gt;until&lt;/em&gt; modality that is slightly different from the notion commonly used in computer science today. I will write it as $\mathit{Until}_+$ for because a formula $p ~Until_+~ q$ is true at time instant &lt;em&gt;i&lt;/em&gt; if $q$ is true at some $j &amp;gt; i$ and if $p$ holds at all $i &amp;lt; j' &amp;lt; j$. Note that the orders are strict. The temporal-dual is the modality $Since_+$. Kamp compared temporal logics to the &lt;em&gt;Monadic First-Order Logic of Order&lt;/em&gt; (MLO, sometimes MFLO or FMLO). MLO formulae contain unary predicate symbols and a relation $&amp;lt;$ and are interpreted over linear orders.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Kamp's theorem shows that a logic with only $Until_+$ and $Since_+$ modalities is expressively equivalent to MLO when both logics are interpreted over the naturals or over the non-negative reals. In fact, Kamp's theorem applies to a family of structures called Dedekind-complete chains (which notably does not include the non-negative rationals). Stavi's theorem shows that a temporal logic with standard since and until and a special since and until modality is expressively-equivalent to the first-order monadic logic of order over every linear order. The notion of expressiveness in these results is &quot;definability of first-order structures&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://compscinet.dcs.kcl.ac.uk/staff/dg/048-TAF.pdf&quot;&gt;Gabbay, Pnueli, Shelah and Stavi&lt;/a&gt; considered a family of MLO formulae called &lt;em&gt;future formulae&lt;/em&gt;, which intuitively only refer to future points in time. They showed that on a family of models called &lt;em&gt;discrete, complete orders&lt;/em&gt;, which includes the naturals, future MLO formulae have the same expressive power as temporal logic with the $Until_+$ modality, a &lt;em&gt;next&lt;/em&gt; and &lt;em&gt;previously&lt;/em&gt; modality. So these results relate certain temporal and first-order logics on certain structures.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Relating languages to first-order logic, McNaughton and Papert showed that first-order definable languages are star-free and regular, which in conjunction with Kamp's theorem shows that all the logics above only define subsets of regular languages. Adding the next and previous modalities does not change what you can define and a proof that the third logic above still defines only the star-free regular languages is due to Zuck and Pnueli, I believe. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Comparative expressive power of temporal languages&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Kamp was also one of the first to study how the properties one can express changes with the modalities in a temporal logic.  He showed that the $Until_+$ modality cannot be expressed in a logic with the &lt;em&gt;Eventually&lt;/em&gt;, &lt;em&gt;Next&lt;/em&gt; and more modalities. This difference in expressive power led him to study the $Until_+$ and $Since_+$ modalities.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://compscinet.dcs.kcl.ac.uk/staff/dg/048-TAF.pdf&quot;&gt;Gabbay, Pnueli, Shelah and Stavi&lt;/a&gt; proved what is called a &lt;em&gt;separation theorem&lt;/em&gt;. They showed that a formula that involves $Until_+$ and $Since_+$ can be written as a Boolean combination of formulae that involve either only $Until_+$ or only $Since_+$. (The story goes that when Kamp heard of a form of this separation theorem from Gabbay, he went out and bought Gabbay a cake.) This paper and separation result is sometimes cited as the reason for not including past modalities in temporal logics. It follows from their results that for a formula with $Until_+$ and $Since_+$, there exists a formula involving only $Until_+$ such that at time instant $0$, either both are true or both or false. It follows from this result that a temporal logic with the standard $Next$, $Until$, $Since$ and $Prev$ modalities, when interpreted over time indexed by the natural numbers (the standard semantics in computer science) has the same expressive power as LTL with only $Next$ and $Until$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Unfortunately the only algorithm known to compute the separation above non-elementary complexity. Moreover, not every temporal logic has the separation property. In particular, if you only have an eventually and previously modality, separation does not hold. Lichtenstein, Pnueli and Zuck did show that every formula in LTL with past modalities is equivalent to a formula with the form below.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;$\bigvee_1^n (GF~\varphi_i) \land (FG~\psi_i)$, where $\varphi_i$ and $\psi_i$ do not contain standard $Until$ or $X$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Complexity&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In terms of complexity, it is known that temporal logic with past-time modalities is exponentially more succinct than LTL with only future-time modalities. Nonetheless, a result of &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=3837&quot;&gt;Sistla and Clarke (1985)&lt;/a&gt; shows that the model checking problem for both is in PSpace. The actual complexity issues are a bit more complicated because one can ask for lower-bounds for expressiveness in both logics involved in a comparison. I recommend consulting the references below for more on this.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.mimuw.edu.pl/~vbarany/TL_course.html&quot;&gt;Vince Bárány's temporal logic course&lt;/a&gt; has all the reading material in one place.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.lsv.ens-cachan.fr/~markey/PLTL.php&quot;&gt;Temporal Logic with Past is Exponentially More Succinct&lt;/a&gt;, Laroussinie, Markey, and Schnoebelen has recent results on a logic with a &lt;em&gt;now&lt;/em&gt; modality and a forgettable notion of past.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://rd.springer.com/chapter/10.1007%2F3-540-15648-8_16&quot;&gt;The Glory of the Past&lt;/a&gt;, by Lichtenstein, Pnueli and Zuck is the definite starting point for reading on complexity differences between LTL with and without past-time modalities.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://lib-phds1.weizmann.ac.il/Dissertations/zuck_lenore.pdf&quot;&gt;Lenore Zuck's PhD thesis&lt;/a&gt; is a good place to read about background on past and future modalities, in particular Chapters 2 and 3. Chapter 5 has the main results on expressiveness of the logic with past and regular languages. &lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://jigpal.oxfordjournals.org/content/8/1/55.abstract&quot;&gt;Propositional temporal logics: decidability and completeness&lt;/a&gt;, Lichtenstein and Pnueli, 2000. Studies decidability and completeness of LTL with past and future modalities and has surveys the history of these logics.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.doc.ic.ac.uk/~imh/papers/sep.pdf&quot;&gt;Separation - past, present and future&lt;/a&gt;, Hodkinson and Reynolds, is a survey of many different logics using the notions of until and since from Kamp, and which discusses these issues from the perspective of the separation theorem.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.cs.tau.ac.il/~rabinoa/concur02.ps.gz&quot;&gt;Expressive Power of Temporal Logics&lt;/a&gt;, Rabivonich, 2002 discusses several other notions for comparing expressiveness such as dot-depth, quantifier alternation and basis for a temporal logic.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.kestreltechnology.com/downloads/sttt-tacas02-7.pdf&quot;&gt;Efficient Monitoring of Safety Properties&lt;/a&gt;, Havelund and Rosu studies an application of ptLTL, and is a place to find a definition of the logic.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.cs.rice.edu/~vardi/papers/gandalf11-myv.pdf&quot;&gt;The Rise and Fall of LTL&lt;/a&gt; by Vardi is a talk that covers most of this and much more from a high level.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0890540199928171&quot;&gt;Specification in CTL+Past for Verification in CTL&lt;/a&gt;, Laroussinie and Schnoebelen, 2000, will answer the questions you haven't yet asked about what happens if you have past-time modalities in a branching-time logic.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="4155" LastEditorUserId="4155" LastEditDate="2015-02-12T06:47:19.827" LastActivityDate="2015-02-12T06:47:19.827" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="29453" PostTypeId="2" ParentId="29451" CreationDate="2015-02-11T20:45:43.930" Score="3" Body="&lt;p&gt;There is a randomized algorithm for &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.87.4293&quot; rel=&quot;nofollow&quot;&gt;computing Gomory-Hu tree in $\tilde{O}(|E||V|)$ time&lt;/a&gt; when all edges have capacity 1.&#xA;Once you have the Gomory-Hu tree, you can process it so you can answer maximum flow queries between two vertices in constant time.&lt;/p&gt;&#xA;" OwnerUserId="314" LastActivityDate="2015-02-11T20:45:43.930" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="29455" PostTypeId="1" CreationDate="2015-02-11T22:07:13.017" Score="-1" ViewCount="237" Body="&lt;p&gt;For example:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;(define fact&#xA;    (lambda (n)&#xA;        (if (&amp;lt; n 2) 1 (* n (fact (- n 1)))))&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;How is this an example of applied lambda calculus? I tried to read the Steele paper (or for that matter, the Peyton-Jones paper), but got confused when they made the jump from the description of lambda calculus to the application thereof in Scheme.&lt;/p&gt;&#xA;" OwnerUserId="32039" LastActivityDate="2015-02-11T23:37:27.187" Title="How is does a scheme lambda function relate to lambda calculus?" Tags="&lt;lambda-calculus&gt;&lt;scheme&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="29456" PostTypeId="2" ParentId="29455" CreationDate="2015-02-11T23:37:27.187" Score="2" Body="&lt;p&gt;The terms of the lambda calculus essentially represent a subset of scheme terms. For instance, most people would agree that&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;(lambda (x) (x x))&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;is a term in the lambda calculus and also in scheme, and also that they mean &quot;similar&quot; things. When it comes to evaluation things get a bit more interesting; the lambda calculus, in its purest form, consists of a single rule (beta) that can be applied in arbitrary locations, whereas scheme--as an eager, call-by-value language--applies the beta rule only in certain locations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Sounds like you should ask follow-up questions?&lt;/p&gt;&#xA;" OwnerUserId="3513" LastActivityDate="2015-02-11T23:37:27.187" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="29457" PostTypeId="1" CreationDate="2015-02-12T02:32:42.373" Score="3" ViewCount="205" Body="&lt;p&gt;Let $X = \{x_1, \dots, x_n\}$ be a set, and $f:[1..n]^2 \to [0, 1]$ be a function, such that &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$f(i, j) \cdot f(j, k) \le f(i, k)$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For all $1 \le i, j, k \le n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does there exist a randomized algorithm $A(X, f)$ that outputs permutations of $X$, such that if $\le_A$ is the total order defined by one such output permutation, we have $P(x_i \le_A x_j) = f(i, j)$? ($\le_A$ here is a random variable.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;That is, the permutations that $A$ outputs have a probability proportional to the pairwise probabilities defined by $f$. I believe this implies the probability of a permutation is, in fact, the product of these pairwise probabilities.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We have a special case, where $X$ is already a totally ordered set, and $f(i, j) = \delta_{x_i \le x_j}$, then $A$ is any sorting algorithm. Can this be done for any such $f$ as described? If not, what other requirements does one need? Finally, is there an &lt;em&gt;efficient&lt;/em&gt; such $A$?&lt;/p&gt;&#xA;" OwnerUserId="15633" LastEditorUserId="15633" LastEditDate="2015-02-12T02:44:23.033" LastActivityDate="2015-02-12T02:44:23.033" Title="Probabilistic sorting given pairwise comparison probability" Tags="&lt;pr.probability&gt;&lt;randomized-algorithms&gt;&lt;sorting&gt;" AnswerCount="0" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="29458" PostTypeId="1" AcceptedAnswerId="29461" CreationDate="2015-02-12T03:22:19.257" Score="13" ViewCount="993" Body="&lt;p&gt;I've been trying to wrap my head around the what, why and how of $\lambda$-calculus but I'm unable to come to grips with &quot;why does it work&quot;?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&quot;Intuitively&quot; I get the computability model of Turing Machines (TM). But this $\lambda$-abstraction just leaves me confounded. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let's assume, TMs don't exist - then how can one be &quot;intuitively&quot; convinced about $\lambda$-calculus's ability to capture this notion of computability. How does having a bunch of functions for everything and their composobility imply computability? What am I missing here? I read Alonzo Church's paper on that but I'm still confused and looking for a more &quot;dummed down&quot; understanding of the same. &lt;/p&gt;&#xA;" OwnerUserId="7014" LastActivityDate="2015-02-23T04:12:27.697" Title="How exactly does lambda calculus capture the intuitive notion of computability?" Tags="&lt;soft-question&gt;&lt;computability&gt;&lt;lambda-calculus&gt;&lt;ho.history-overview&gt;&lt;intuition&gt;" AnswerCount="2" CommentCount="4" FavoriteCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="29459" PostTypeId="1" AcceptedAnswerId="29481" CreationDate="2015-02-12T05:00:49.087" Score="6" ViewCount="282" Body="&lt;p&gt;I am quoting a phrase of Martin Dyer in his paper Approximate Counting by Dynamic Programming:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Since 0-1 knapsack is self-reducible, existence of an fpras for the problem now follows indirectly from a general result of Sinclair and Jerrum[19]&lt;/strong&gt; &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In that paper of Sinclair and Jerrum it is stated that:  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;It follows that, for self-reducible structures, polynomial time&#xA;randomised algorithms for counting to within factors of the form (1 +$n^{-\beta}$) are&#xA;available either for all $\beta \in R$ or for no $\beta \in R$.&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Question 1: Does statement 2 mean that counting self reducible structures might have an FPRAS?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Question 2: What is the indirect method Dyer is talking about? Is it some folklore method considered well known?&lt;/p&gt;&#xA;" OwnerUserId="16892" LastActivityDate="2015-02-13T07:34:22.100" Title="FPRAS on #P complete problems and self reducibility" Tags="&lt;ds.algorithms&gt;&lt;counting-complexity&gt;&lt;randomized-algorithms&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="29460" PostTypeId="2" ParentId="29458" CreationDate="2015-02-12T05:36:45.077" Score="6" Body="&lt;p&gt;You program in it! Take a look at &lt;a href=&quot;http://en.wikipedia.org/wiki/Church_encoding&quot;&gt;church encodings&lt;/a&gt;. You can see how pretty much all arithmetic can be performed which should probably convince you that it is extremely powerful. I like to look at operations on lists however. You can define most any data structure in terms of a function that does the most important operation on it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For instance an encoding of a list is the fold function that folds over it. Note this is not Church's encoding but one I got from Percie's types and programming languages. Church's pair encodings do not give us recursion we have to add it back in ourselves with some kind of recursion combinator.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;so a list takes two arguments, a function to do the folding, and a initial value to plug into the fold at some point.&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;cons x xs = lam f. lam a. f x (xs f a)&#xA;nil       = lam f. lam a. a&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;now we can define a summation given an add function (see church encodings from above)&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;sum xs = xs add 0&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;we can do more and define a map function&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;consApply f x xs = cons (f x) xs&#xA;map f xs = xs (consApply f) nil&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;if you are still not convinced that there is computation going on here and want to make sure that you can perform any computation then check out &lt;a href=&quot;http://en.wikipedia.org/wiki/Fixed-point_combinator&quot;&gt;the fixed point combinator&lt;/a&gt;. It hurts my head a bit to think about sometimes however so I'm not sure I would call it intuitive but if you manually evaluate it with some arguments you can see what is going on.&lt;/p&gt;&#xA;" OwnerUserId="21112" LastActivityDate="2015-02-12T05:36:45.077" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="29461" PostTypeId="2" ParentId="29458" CreationDate="2015-02-12T07:07:50.590" Score="22" Body="&lt;p&gt;You're in good company. Kurt Gödel criticized $\lambda$-calculus (as well as his own theory of general recursive functions) as not being a satisfactory notion of computability on the grounds that it is not intuitive, or that it does not sufficiently explain what is going on. In contrast, he found Turing's analysis of computability and the ensuing notion of machine totally convincing. So, don't worry.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, to get some idea on how a model of computability works, it's best to write some programs in it. But you do not have to do it in pure $\lambda$-calculus, although it's fun (in the same sort of way that firewalking is). You can use a modern descendant of $\lambda$-calculus, such as Haskell.&lt;/p&gt;&#xA;" OwnerUserId="705" LastEditorUserId="969" LastEditDate="2015-02-23T04:12:27.697" LastActivityDate="2015-02-23T04:12:27.697" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="29462" PostTypeId="1" AcceptedAnswerId="29473" CreationDate="2015-02-12T07:31:40.330" Score="3" ViewCount="542" Body="&lt;p&gt;It seems to be commonly believed that the maximum biclique problem (on a bipartite graph) is more difficult than the original maximum clique problem. Is there a formal proof for this claim? (For example, a reduction of the maximum clique problem to the maximum biclique problem.)&lt;/p&gt;&#xA;" OwnerUserId="32044" LastEditorUserId="6579" LastEditDate="2015-02-12T09:30:43.203" LastActivityDate="2015-02-12T18:17:48.793" Title="Comparison between the maximum clique and maximum biclique problem" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;&lt;clique&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="29464" PostTypeId="1" CreationDate="2015-02-12T11:13:39.610" Score="3" ViewCount="3096" Body="&lt;p&gt;&lt;strong&gt;Background&lt;/strong&gt;: Let $u,v$ be two vertices of an undirected graph $G=(V,E)$. A vertex set $S\subseteq V$ is a $u,v$-separator if $u$ and $v$ belong to different connected components of $G−S$. If no proper subset of a $u,v$-separator $S$ is a $u,v$-separator then S is a minimal u,v-separator. A vertex set $S \subseteq V$ is a (minimal) separator if there exist vertices $u,v$ such that $S$ is a (minimal) u,v-separator.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there some algorithm to compute the minimal vertex separator on a generic graph?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If I'm not interested in the smallest set but just in a set of separator vertices that disconnects $u$ from $v$ how can I do it?&lt;/p&gt;&#xA;" OwnerUserId="21967" LastActivityDate="2015-02-12T22:40:54.783" Title="Algorithms for computing the minimal vertex separator of a graph" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;approximation-algorithms&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="29467" PostTypeId="1" AcceptedAnswerId="29486" CreationDate="2015-02-12T13:48:23.870" Score="6" ViewCount="121" Body="&lt;p&gt;In a poset $(D, \sqsubseteq)$, a &lt;em&gt;compact&lt;/em&gt; element is an element $d \in D$ such that for every directed set $A$ which happens to have a supremum $\bigsqcup A \in D$ with $d \sqsubseteq \bigsqcup A$, it is $d \sqsubseteq a$ for some $a \in A$ (e.g., Definition I-4.1 of &lt;a href=&quot;https://zbmath.org/?q=an:1088.06001&quot; rel=&quot;noreferrer&quot;&gt;[Gierz et al 2003]&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;My (elementary) question&lt;/strong&gt;. Suppose $d$ is compact and $c \sqsubseteq d$. What are typical extra impositions on the poset, that ensure that $c$ must also be compact?&lt;/p&gt;&#xA;" OwnerUserId="10146" LastEditorUserId="20716" LastEditDate="2015-02-13T13:10:50.523" LastActivityDate="2015-02-13T13:33:18.373" Title="In which posets is the set of compact elements downwards closed?" Tags="&lt;pl.programming-languages&gt;&lt;lambda-calculus&gt;&lt;denotational-semantics&gt;&lt;domain-theory&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="29468" PostTypeId="1" AcceptedAnswerId="29514" CreationDate="2015-02-12T14:19:48.970" Score="7" ViewCount="288" Body="&lt;p&gt;I recently came across the 1995 paper &lt;a href=&quot;http://www.cs.ucla.edu/~palsberg/paper/ic95-ps.pdf&quot; rel=&quot;noreferrer&quot;&gt;Safety analysis versus type inference&lt;/a&gt; (pdf link) by Palsberg and Schartzbach that contrasts unification-based type inference and static analysis methods based on control-flow analysis. According to the paper:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;In unification based type inference each identifier is related to a type variable ranging over type schemes, such as $int$ and $\forall a b . a \rightarrow b$. In control-flow static analysis the identifiers get related to variables ranging over what primitive types and other values in the source program can flow into the identifier.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Unification-based type inference is &quot;local&quot; and can be performed one module at a time. Control-flow analysis tends to be global and require the whole program to be analyzed at once.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Damas-Milner unification is a linear time algorithm (for typical programs) while control-flow analysis tends to have worse case running times that are cubic or worse (and at least quadratic in practice).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Control-flow analysis can reason about program safety more precisely than unification-based inference (for example, it can detect some instances of dead code)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;My question is: is this classification complete or are there other kinds of type inference that they did not mention?&lt;/p&gt;&#xA;" OwnerUserId="7149" LastEditorUserId="7149" LastEditDate="2015-02-12T17:38:49.687" LastActivityDate="2015-02-17T01:14:11.393" Title="Can type inference be classified in two groups: unification-based and control-flow-based?" Tags="&lt;pl.programming-languages&gt;&lt;type-theory&gt;&lt;type-systems&gt;&lt;type-inference&gt;" AnswerCount="1" CommentCount="6" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="29470" PostTypeId="1" CreationDate="2015-02-12T15:27:57.897" Score="3" ViewCount="346" Body="&lt;p&gt;I'm in search for a data structure which efficiently operates over closed intervals with the following properties:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;dynamically add or remove an interval&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;set, and anytime change, a number (&quot;depth&quot;) for each interval. no two depths are ever the same&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;find all intervals that overlap with any given interval, sorted by &quot;depth&quot;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The closest structure I found is &lt;a href=&quot;http://en.wikipedia.org/wiki/Interval_tree&quot; rel=&quot;nofollow&quot;&gt;Interval tree&lt;/a&gt; but it lists the found intervals in arbitrary order with respect to their depths. I could collect all the &quot;unsorted&quot; intervals as reported and sort them afterwards but I was hopping it was possible to avoid to sort the result for every query.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Please, does anyone know of such data structure or have any suggestion how (if at all possible) to enhance the Interval tree to support such sorting?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Example:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;add [1,2] to the empty structure and set its depth to 1&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;add [10,100], depth = 2&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;add [5,55], depth = 3&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;query for [5,50] reports [10,100] and [5,55]&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;set depth of [10,100] to 3, and of [5,55] to 2&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;query for [5,50] reports [5,55] and [10,100]&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm more interested in fast adds/removes and queries, than in updating of depths. A depth can take as much as O(n), if that helps speed-up the other operations.&lt;/p&gt;&#xA;" OwnerUserId="7219" LastEditorUserId="7219" LastEditDate="2015-02-16T12:32:42.423" LastActivityDate="2015-02-17T23:03:31.590" Title="Sorted intervals query" Tags="&lt;ds.algorithms&gt;&lt;ds.data-structures&gt;&lt;cg.comp-geom&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="29471" PostTypeId="1" CreationDate="2015-02-12T15:55:36.150" Score="-2" ViewCount="177" Body="&lt;p&gt;Why theoreticians consider 'types' as the core part of the programming languages? &lt;/p&gt;&#xA;" OwnerUserId="27188" LastEditorUserId="27188" LastEditDate="2015-02-16T09:41:06.077" LastActivityDate="2015-02-16T12:52:45.350" Title="Types as the Core of the Programming Languages" Tags="&lt;type-theory&gt;" AnswerCount="1" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="29472" PostTypeId="2" ParentId="29464" CreationDate="2015-02-12T17:44:21.570" Score="3" Body="&lt;p&gt;A simple way to find just &lt;em&gt;some&lt;/em&gt; minimal $u$-$v$-separator is to find one that is &lt;em&gt;close&lt;/em&gt; to $u$. A separator $S$ is called &lt;em&gt;close&lt;/em&gt; to $u$ if $S \subseteq N_G(u)$. This is actually very easy and can be done in time $O(n + m)$. Consider the graph $G - N_G(u)$ where $u$ is isolated and $v$ lies in some different component, $C$, which simply contains all vertices which are reachable from $v$. Now, adding the vertices $N_G(u)$ back to the graph, the neighbors $N_G(C)$ of $C$ form a minimal $u$-$v$-separator.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose this was not the case, then there exists $x \in N_G(C)$ such that $N_G(C) \setminus \{x\}$ still separates $u$ and $v$. As $x$ is a neighbor of $u$ and also a neighbor of some vertex in $C$, there exists a path from $u$ through $x$ to $C$, from which $v$ can be reached, a contradiction.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To find $N_G(C)$ in linear time, we can first traverse the neighborhood of $u$ and mark all of its neighbors with some color, say blue. This takes time $O(n)$. Then, we start a DFS at $v$ and mark all reachable vertices with another color, say red. However, when a blue vertex is encountered, it is not visited but simply added to another set, $S$. In the end, $S$ contains all neighbors of $C$. The running time of a DFS is $O(n + m)$, including the time that is needed for checking whether a vertex is blue, and adding it to $S$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, in general any set $S \subseteq V(G)$ which separates $u$ and $v$ can be made minimal in time $O(nm)$ by the following steps:&#xA;for each $x \in S$, test whether $S \setminus \{x\}$ still separates $u$ and $v$. If it does, remove $x$ from $S$ and repeat this step. As $S$ can contain at most $n - 2$ vertices and checking whether $u$ and $v$ are still separated can be done by a simple DFS in time $O(m)$, the total time needed is $O(nm)$.&lt;/p&gt;&#xA;" OwnerUserId="32057" LastEditorUserId="32057" LastEditDate="2015-02-12T22:40:54.783" LastActivityDate="2015-02-12T22:40:54.783" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="29473" PostTypeId="2" ParentId="29462" CreationDate="2015-02-12T18:17:48.793" Score="2" Body="&lt;p&gt;Besides the recent W(1)-hardness result for the parametrized complexity of the biclique problem (pointed out by R B), &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0166218X03003330&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt; is a paper whose abstract gives some detailed information about the polynomial-time solvability of variants of biclique detection.&lt;/p&gt;&#xA;" OwnerUserId="223" LastActivityDate="2015-02-12T18:17:48.793" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="29474" PostTypeId="1" CreationDate="2015-02-12T19:52:30.113" Score="3" ViewCount="367" Body="&lt;p&gt;Consider a directed, weakly connected bipartite graph $G = (U, V, E)$ where $U$ and $V$ are sets comprising the nodes of $G$, and $E \subseteq U \times V$ is the set of edges. The task is to find &lt;em&gt;a minimum&lt;/em&gt; directed cut, say $C \subseteq E$, such that the graph $G = (U, V, E - C)$ consists of two disconnected bipartite graphs each of which are (1) not edgeless, and (2) weakly connected. The cut $C$ is directed in the sense that all edges in $C$ originate from the same bipartite subgraph, and minimum in the sense that it has the lowest cardinality possible.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is this problem studied? If so, what is the computational complexity of the best known algorithm that solves it? If not, original algorithm ideas are more than welcome!&lt;/p&gt;&#xA;" OwnerUserId="32058" LastEditorUserId="32058" LastEditDate="2015-02-12T20:13:57.960" LastActivityDate="2016-04-25T02:41:59.683" Title="Finding a minimum directed cut that splits a weakly connected bipartite graph into two such non-edgeless graphs" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;" AnswerCount="2" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="29475" PostTypeId="1" AcceptedAnswerId="29478" CreationDate="2015-02-12T22:04:30.780" Score="2" ViewCount="160" Body="&lt;p&gt;Is anything known about doing cryptography with very small keys?  In particular, is there any theory involving cryptosystems (based on whatever assumption you want) that can encrypt messages of length $n$ with key sizes $s = o(n^{\epsilon})$ for all $\epsilon&amp;gt;0$? (Assume $s$ is still large&#xA;enough that one cannot brute-force search through the space of keys.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If there is no theory, are there real-world cryptosystems that would still &quot;behave&quot; with such small keys and for which much better than brute-force attacks are not known?&lt;/p&gt;&#xA;" OwnerUserId="123" LastEditorUserId="123" LastEditDate="2015-02-12T22:18:39.013" LastActivityDate="2015-02-13T03:44:25.483" Title="Cryptography with very small keys" Tags="&lt;cr.crypto-security&gt;" AnswerCount="1" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="29476" PostTypeId="1" AcceptedAnswerId="29479" CreationDate="2015-02-12T23:53:02.660" Score="22" ViewCount="1983" Body="&lt;p&gt;I've read that initially Church proposed the $\lambda$-calculus as part of his &lt;em&gt;Postulates of Logic&lt;/em&gt; paper (which is a dense read). But Kleene proved his &quot;system&quot; inconsistent after which, Church extracted relevant things for his work on &quot;effective computability&quot; and abandoned his prior work on logic.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So as I understand it, the $\lambda$-system and its notations took form as part of &lt;em&gt;something&lt;/em&gt; to do with logic. What was Church initially trying to achieve that he forked off from later? What were the initial reasons for creating $\lambda$-calculus?&lt;/p&gt;&#xA;" OwnerUserId="7014" LastEditorUserId="32071" LastEditDate="2015-02-13T12:47:31.113" LastActivityDate="2015-02-13T12:47:31.113" Title="What was the original intent for the creation of Lambda calculus?" Tags="&lt;lo.logic&gt;&lt;big-picture&gt;&lt;lambda-calculus&gt;&lt;ho.history-overview&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="29477" PostTypeId="1" CreationDate="2015-02-13T01:49:58.160" Score="1" ViewCount="118" Body="&lt;p&gt;I am reading a &lt;a href=&quot;http://arxiv.org/pdf/1405.3629v1.pdf&quot; rel=&quot;nofollow&quot;&gt;paper&lt;/a&gt; which is mainly about Dobrushin's contraction coefficient and its generalization. In page 27, the following is defined:&#xA;Consider an arbitrary, non-negative, convex function $\psi:\mathbb{R}\mapsto \mathbb{R}$ with $\psi(0)&amp;lt;1$. Then for an integrable random variable $X$ &#xA;$$||X||_{\psi}:=\inf \{c&amp;gt;0:~\mathbb{E}[\psi(\frac{X}{c})]\leq 1\}.$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then letting $\psi^*$ be the convex conjugate of $\psi$, we can write the following for arbitrary random variables $X$ and $Y$ by Young's inequality: &#xA;$$XY\leq \psi(X)+\psi^*(Y)$$ and hence, &#xA;$$\mathbb{E}[XY]\leq 2||X||_{\psi}||Y||_{\psi^*}.$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First of all, in the typical definition of Orlicz norm, it is assumed that $\psi(0)=0$ and also $\psi$ is non-decreasing. Why are those properties removed here? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Secondly, the last inequality is not clear to me. Can anybody proivde a hint on how to show that?&lt;/p&gt;&#xA;" OwnerUserId="21925" LastEditorUserId="6579" LastEditDate="2015-02-13T13:16:45.977" LastActivityDate="2015-02-13T13:16:45.977" Title="Orlicz Norm and a result on expectation" Tags="&lt;pr.probability&gt;&lt;st.statistics&gt;&lt;convex-geometry&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="29478" PostTypeId="2" ParentId="29475" CreationDate="2015-02-13T03:44:25.483" Score="4" Body="&lt;p&gt;Short version: You want a crypto system that, with keys of length $k$, is secure against attackers with running time $2^{k^\epsilon}$, or even $2^{\Omega(k)}$. Most schemes that anyone would want to use in practice are conjectured to satisfy such bounds. Of course, we can't prove that they satisfy bounds like that without, at the very least, separating P from NP.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Longer version:&#xA;&quot;Concrete security&quot; provides the kind of theory I think you are looking for, since it foregoes coarse categorizations (polynomial versus not) in favor of specific bounds.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, you can define a public-key cryptosystem to be $(t,\epsilon)$ secure if no attacker running in time $t$ has probability more than $1/2 + \epsilon$ of winning a chosen-plaintext indistinguishability game. Because the running time includes calls to the underlying encryption schemes, this provides security for messages of length roughly $t$. If you want to be even more precise, you can track running time ($t$) and queries to cryptosystem ($q$) separately. Under sufficiently strong assumptions about the primitives (e.g. exponentially hard to invert one-way permutations), one can construct cryptosystems that are $(t,\epsilon)$-secure for very large $t,q$ (close-ish to $2^{key\ length}$) and very small $\epsilon$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;These types of bounds are used a lot in research papers (especially in the symmetric-key world). They appear less often in lecture notes and textbooks, because they introduce extra bookkeeping and can tax the notation-absorption skills of students.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Luca Trevisan's lecture notes on crypto, though, use this notation; they might be a good resource to start with.&lt;/p&gt;&#xA;" OwnerUserId="9751" LastActivityDate="2015-02-13T03:44:25.483" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="29479" PostTypeId="2" ParentId="29476" CreationDate="2015-02-13T04:41:26.707" Score="26" Body="&lt;p&gt;He wanted to create a formal system for the foundations of logic and mathematics that was simpler than Russell's type theory and Zermelo's set theory.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The basic idea was to add a constant $\Xi$ to the untyped lambda calculus (or combinatory logic) and interpret $XZ$ as expressing &quot;$Z$ satisfies the predicate $X$&quot; and $\Xi XY$ as expressing &quot;$X\subseteq Y$&quot;. With rules expressing these intentions one can then interpret the ${\to}{\forall}$-fragment of intuitionistic predicate logic and unrestricted comprehension, the only problem being that by Curry's paradox, every $X$ is derivable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See p. 7 of:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Cardone and Hindley, &lt;em&gt;History of Lambda-calculus and Combinatory Logic&lt;/em&gt;, 2006:&#xA;&lt;a href=&quot;http://www.users.waitrose.com/~hindley/SomePapers_PDFs/2006CarHin,HistlamRp.pdf&quot;&gt;http://www.users.waitrose.com/~hindley/SomePapers_PDFs/2006CarHin,HistlamRp.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As well as the introduction to:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Barendregt, Bunder and Dekkers, &lt;em&gt;Systems of Illative Combinatory Logic Complete for First-Order Propositional and Predicate Calculus&lt;/em&gt;, JSL 58-3 (1993):&#xA;&lt;a href=&quot;http://ftp.cs.ru.nl/CompMath.Found/ICL1.ps&quot;&gt;http://ftp.cs.ru.nl/CompMath.Found/ICL1.ps&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="673" LastActivityDate="2015-02-13T04:41:26.707" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="29480" PostTypeId="1" AcceptedAnswerId="29492" CreationDate="2015-02-13T05:42:07.857" Score="4" ViewCount="322" Body="&lt;p&gt;Can I get some introductory references for steganography from an information-theoretic standpoint? I recently listened to a talk on it, and the speaker said that he knew of no good introductions to the field besides a few links and papers.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Kessler, Gary C. &lt;em&gt;An Overview of Steganography for the Computer Forensics Examiner&lt;/em&gt;. Retrieved on 02/12/2015. www.garykessler.net/library/fsc_stego.html&lt;/p&gt;&#xA;&lt;p&gt;Hopper, N. J., Langford, J., and von Ahn, L. (2002). Provably Secure Steganography. &lt;em&gt;IEEE Transactions on Computers&lt;/em&gt;, &lt;strong&gt;58&lt;/strong&gt;, 662 - 678.&lt;/p&gt;&#xA;&lt;p&gt;Hundt, C., Liskiewicz, M., and Wolfel, U. (2006). Provably Secure Steganography and the Complexity of Sampling. &lt;em&gt;Algorithms and Computation&lt;/em&gt;, &lt;strong&gt;4288&lt;/strong&gt;, 754 - 763.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="30501" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2015-02-14T00:12:01.843" Title="Introductions to steganography from an information-theoretic standpoint" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;cr.crypto-security&gt;&lt;big-list&gt;&lt;it.information-theory&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="29481" PostTypeId="2" ParentId="29459" CreationDate="2015-02-13T07:34:22.100" Score="3" Body="&lt;p&gt;This theorem from that paper of Sinclair and Jerrum is slightly stronger than the sentence quoted in the question, and gives the fpras mentioned by Dyer:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;THEOREM 4.6. Let $R\subseteq \Sigma^*\times\Sigma^*$ be self-reducible. If there exists a polynomially time-bounded randomised approximate counter for $R$ within&#xA;  ratio $1 + O(n^\alpha)$ for some $\alpha\in\mathbb R$, then there exists a fully polynomial randomised approximation scheme for $\#R$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Note the quantification over $R$. Your first question asks if &quot;counting self-reducible structures might have an FPRAS&quot;, but this theorem is looking at particular $R$'s and showing that if $R$ has a weak kind of approximation algorithm, then $R$ also has a stronger kind of approximation algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Jerrum and Sinclair explain it like this:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;The chief significance of Theorem 4.6 is that it establishes a notion of&#xA;  approximate counting which is robust with respect to polynomial time&#xA;  computation, at least for the large class of self-reducible relations [...] We suggest that this notion will be useful in the future classification&#xA;  of hard counting problems [...]&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="636" LastActivityDate="2015-02-13T07:34:22.100" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="29482" PostTypeId="2" ParentId="29476" CreationDate="2015-02-13T09:12:09.047" Score="2" Body="&lt;p&gt;I'm not sure if this was part of the motivation for creating the lambda calculus, but the lambda calculus was used to resolve the &lt;a href=&quot;http://en.wikipedia.org/wiki/Entscheidungsproblem&quot; rel=&quot;nofollow&quot;&gt;Entscheidungsproblem&lt;/a&gt;, posed by Hilbert in 1928.  Turing independently resolved the Entscheidungsproblem by introducing the Turing machine.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;From the Wikipedia article on Entscheidungsproblem:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;In 1936, Alonzo Church and Alan Turing published independent papers[2]&#xA;  showing that a general solution to the Entscheidungsproblem is&#xA;  impossible, assuming that the intuitive notion of &quot;effectively&#xA;  calculable&quot; is captured by the functions computable by a Turing&#xA;  machine (or equivalently, by those expressible in the lambda&#xA;  calculus).&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="22599" LastActivityDate="2015-02-13T09:12:09.047" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="29483" PostTypeId="2" ParentId="5970" CreationDate="2015-02-13T11:01:59.493" Score="0" Body="&lt;p&gt;It's been several years since this was asked, but then again, there's only that many mentions of domain theory in the forum, so let me try to set some things straight for the sake of my own understanding at least. To skip my disclaimer blah-blah, just scroll down to the bold-face letters.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Possibly confused by Kaveh's justified clarification questions, you write &quot;fully-defined means maximal, yes&quot;, but in the original post you had already written &quot;[...] $f$ is [...] &quot;total&quot; (i.e. the elements of its domain are all finite, and it takes &quot;fully-defined&quot; values to &quot;fully-defined&quot; values) [...]&quot;, which suggested to me that you treat &quot;total&quot; and &quot;fully defined&quot; as synonyms---as indeed I do: you can't get more partial than the undefined $\bot$, and no more defined than some total element. But: I don't agree with the condition that the inputs of $f$ be &quot;finite&quot; (either domain-theoretically or in their number).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In fact, by (the usual) definition, a continuous function $f : A \to B$, for arbitrary data types $A$, $B$, is &lt;em&gt;total&lt;/em&gt; whenever for all $x \in A$, if $x$ is total then also $f(x)$ is total. This presupposes of course that we agree on a notion of totality for &lt;em&gt;base types&lt;/em&gt;, and the obvious choice is to ban everything that involves $\bot$ (assuming that we are working with &lt;em&gt;flat&lt;/em&gt; domains, there's just one such element, but there are possibly more in the non-flat case).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Maximality and totality in domain theory are two quite different things. At &lt;em&gt;flat&lt;/em&gt; base types they coincide, but at higher types they generally don't. There are examples in &lt;a href=&quot;https://zbmath.org/?q=an:0828.06001&quot; rel=&quot;nofollow noreferrer&quot;&gt;[Stoltenberg-Hansen et al 1994, section 8.3]&lt;/a&gt;, but since you already mention Haskell and laziness, let me just recall that in the &lt;em&gt;non-flat&lt;/em&gt; domain $\mathbb{N}_\ast$ of lazy natural numbers you have the maximal but not total element $\{\bot, S\bot, SS\bot,\ldots \}$. Just to be complete, an example of a total but not maximal element at type, e.g., $\mathbb{B}_\bot \to \mathbb{B}_\bot$ would be the function determined by $\bot \mapsto \bot$ and $x \mapsto \mathtt{tt}$ for $x \neq \bot$, which is total but strictly below the function having $x \mapsto tt$ for all $x$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Concerning &lt;a href=&quot;https://cstheory.stackexchange.com/a/5993/10146&quot;&gt;Neel's answer&lt;/a&gt;, though I appreciate its pragmatic intuition and I'm going to take his &quot;this will lead you astray&quot; warning seriously, I still feel that I should stress the obvious good theoretical reasons to want to talk about undefinedness as a bona-fide value: it's the way to thematize computational partiality while conveniently using mathematically total mappings, and so end up with an accurate and rich enough theory. Besides, on the pragmatic level, we do have functions that are either provably or &lt;em&gt;by definition&lt;/em&gt; undefined (no pun) at certain inputs; think here of how one uses &lt;code&gt;Maybe&lt;/code&gt; in Haskell, or the very idea of exception handling in general for that matter, as devices that treat undefinedness as a value.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So I may be lacking basic intuition that Neel has, and therefore be missing his point altogether, but to me a function $f$ as an element of a domain is the &lt;em&gt;known&lt;/em&gt; or &lt;em&gt;expected&lt;/em&gt; program behavior &lt;em&gt;in its ideal entirety&lt;/em&gt; (things are a bit different if we work with more tangible representations of domains, like information systems, where we may assume to only know &lt;em&gt;parts&lt;/em&gt; of the behavior of programs); in particular, I do not talk about some &lt;em&gt;implementation&lt;/em&gt; of $f$ that might run faster or slower than others so that I might never be sure of its termination. On this basis, my answer below differs from Neel's quite radically (and I'd appreciate feedback or corrections on this, from Neel or anyone).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, finally, &lt;strong&gt;to answer the question&lt;/strong&gt;. We assume that $f$ is total and that $g$ is above $f$. I understand that you ask what the maximal $g^{\max}$ above $f$ is.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First a quick remark: we can prove that $g$ is also total (which is sometimes called &quot;extension lemma&quot;), so it would arguably make more sense, from the point of view of effectivity, to ask about &quot;minimal&quot; totality instead of &quot;maximal&quot; totality: if $h$ is some element (possibly partial), what is a minimal way to extend it to an $f$ which will be total? (that we can extend it to a total at all is the content of the fundamental &lt;em&gt;density theorem&lt;/em&gt;, see &lt;a href=&quot;https://zbmath.org/?q=an:1148.68405&quot; rel=&quot;nofollow noreferrer&quot;&gt;[Normann 2008]&lt;/a&gt;). And then: if $f$ is already total, what is a minimal &lt;em&gt;equivalent&lt;/em&gt; total $g$ (that is, a total $g$ which agrees with $f$ on its total inputs)? Of relevance here is the characterization by &lt;a href=&quot;https://zbmath.org/?q=an:0599.03051&quot; rel=&quot;nofollow noreferrer&quot;&gt;[Longo &amp;amp; Moggi 1984]&lt;/a&gt; of two totals being equivalent exactly when they have a total intersection.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But back to the &quot;maximal&quot; totality. One more thing we can prove is that two totals are equivalent if and only if they are bounded. From this follows that, given a total $f$, a first answer to your question is&#xA;$$g^{\max} = \bigsqcup \{g \mid g \mbox{ is total and equivalent to }f\} .$$&#xA;This thing &lt;em&gt;does&lt;/em&gt; exist, since domains are bounded-complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But I say &quot;a first answer&quot;, because I can't think clearly now of an actual &lt;em&gt;technique&lt;/em&gt;, as you specifically ask, of providing this supremum. In other words, I'm not sure of how constructive all the relevant steps are in this thread of thought. Perhaps someone can comment on this aspect (or I might, if I find the time to think about it with a clear head).&lt;/p&gt;&#xA;" OwnerUserId="10146" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.743" LastActivityDate="2015-02-13T11:01:59.493" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="29484" PostTypeId="1" CreationDate="2015-02-13T11:23:43.417" Score="7" ViewCount="158" Body="&lt;p&gt;Given a planar graph $G=(V,E)$, there exists a quadratic algorithms for 4-coloring $G$ (and $G$ is surely 4-colorable).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assume you are given a set of $k$ constraints of the form &quot;$v_i \text{ is colored by }f(v_i)$&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Our goal is to determine whether this precoloring could be extended into a valid 4-coloring of $G$.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Can the 4-colors precoloring extension of $G$ be solved in FPT time (with respect to $k$)?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Notice that the problem is NP-hard by a reduction from 3-coloring of planar graphs - Given a planar instance $G$ which we want to check for 3-colorability, create a vertex $v'$ for each vertex $v$, connect $v'$ with $v$, and force all of the new vertices to be colored in the 4th color.&lt;/p&gt;&#xA;" OwnerUserId="21001" LastActivityDate="2015-02-13T11:23:43.417" Title="Is 4-colors precoloring extension for planar graphs fixed parameter tractable?" Tags="&lt;ds.algorithms&gt;&lt;graph-algorithms&gt;&lt;planar-graphs&gt;&lt;parameterized-complexity&gt;&lt;fixed-parameter-tractable&gt;" AnswerCount="0" CommentCount="1" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="29486" PostTypeId="2" ParentId="29467" CreationDate="2015-02-13T13:33:18.373" Score="7" Body="&lt;p&gt;The only natural condition I can think of is Berry's &quot;I condition&quot; ([1], Sect. 12.3):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(I) each compact element dominates finitely many elements.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The above condition is the defining property of Berry's dI-domains, which are distributive (that's what the &quot;d&quot; stands for) algebraic domains satisfying condition I.  This is a widely known and well studied class of domains, which served as the basis for what is known as &quot;stable&quot; semantics (an attempt to capture the sequential behavior of the $\lambda$-calculus).  Girard's coherence spaces [2] give a particularly simple and useful example of dI-domains.  A coherence space may be seen as the set of cliques of a reflexive graph, ordered by inclusion.  The compact elements are the finite cliques, which obviously satisfy your requirement.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I don't know if generalizations of the I condition have been studied.  A counterexample to your property is given by the ordinal $\omega+2$ ($\omega+1$ is compact but $\omega$ is not), so certainly generalizing &quot;finite&quot; to &quot;well-founded+no infinite antichains&quot; does not work.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1]  Roberto Amadio and Pierre-Louis Curien.  Domains and Lambda-Calculi.  Cambridge Tracts in Theoretical Computer Science, 1998.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] Jean-Yves Girard, Yves Lafont and Paul Taylor.  Proofs and Types.   Cambridge Tracts in Theoretical Computer Science, 1989.&lt;/p&gt;&#xA;" OwnerUserId="20716" LastActivityDate="2015-02-13T13:33:18.373" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="29487" PostTypeId="1" CreationDate="2015-02-13T14:25:58.320" Score="4" ViewCount="161" Body="&lt;p&gt;Is there any analog of the computational classes $FP$ and $FNP$ with probabilistic or quantum Turing machines? If so, what are the relation with other computational classes?&lt;/p&gt;&#xA;" OwnerUserId="32007" LastActivityDate="2015-05-13T23:08:48.420" Title="Probabilistic and quantum analog of $FP$ and $FNP$?" Tags="&lt;quantum-computing&gt;&lt;probabilistic-computation&gt;" AnswerCount="1" CommentCount="14" ContentLicense="CC BY-SA 3.0" />
  <row Id="29488" PostTypeId="1" CreationDate="2015-02-13T16:29:47.283" Score="1" ViewCount="68" Body="&lt;p&gt;Consider the matrix-valued function $f(A) = \frac{A}{\det(A)}$ on the set of $3\times 3$ positive-definite matrices. Is this function matrix-convex ? (i.e., Is $tf(A) + (1-t)f(B) - f(tA+(1-t)B)$ positive definite $\forall \ t \in [0,1]$?)&lt;/p&gt;&#xA;" OwnerUserId="32075" LastEditorUserId="4896" LastEditDate="2015-02-14T20:36:45.773" LastActivityDate="2015-02-14T20:36:45.773" Title="Matrix-convexity of inverse of the cofactor matrix" Tags="&lt;linear-algebra&gt;" AnswerCount="0" CommentCount="1" ClosedDate="2015-02-16T13:55:45.190" ContentLicense="CC BY-SA 3.0" />
  <row Id="29491" PostTypeId="2" ParentId="29470" CreationDate="2015-02-13T22:15:00.833" Score="3" Body="&lt;p&gt;Using an interval tree and sorting results is a great solution.  It will have quite good running time.  You can add, remove, or find an interval in $O(\log n)$ time and change the depth of an interval in $O(1)$ time once you've found it.  Also, you can process an intersection query (report all intervals that overlap a given interval) in $O(\log n + m \log m)$ time, where $n$ is the total number of intervals and $m$ is the number of results.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can you do better?  It seems clear that you can't do very much better.  Obviously, no comparison-based data structure can beat $\Omega(\log n + m)$ running time for intersection queries, so this trivial lower bound shows you are at most $\log m$ times slower than optimal.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, we can prove that no comparison-based data structure can beat $\Omega(\log n + m \log m)$ time for an intersection query in general, if you can change the depth of an interval in $O(1)$ time.  Consider the case $n=m$, and where all intervals overlap and should be returned.  If you could answer the intersection query faster than $O(m \log m)$ time, you could sort $m$ numbers faster than $O(m \log m)$ time, which we know is impossible for comparison-based algorithms.  (Well, more precisely, if you have $t$ arrays of length $m$, and if you knew how to answer intersection queries in $O(\log n + m)$ time and change depths in $O(1)$ time, you could sort all $t$ of those arrays in $O(m \log m + t (m + \log m)) = O(m (t+ \log m))$ time using your data structure by adding $m$ copies of the same interval, changing all their depths based on the first array, doing an intersection query, then changing all of their depths based on the second array, and so on.  However $O(m(t+\log m))$ running time is provably impossible for this task: the standard lower bound on comparison-based sorting shows that this takes $\Omega(t m \log m)$ time, and when $t$ is large enough, this is a contradiction -- e.g., when $t=m$, this would give a way to sort $m$ arrays of length $m$ in $O(m^2)$ time, when we know it actually takes $\Omega(m^2 \log m)$ time.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, if you want to hope for a data structure that allows intersection queries to run strictly faster than $\Theta(\log n + m \log m)$, you either need to allow changing the depth of an interval to take longer than $O(1)$ time, or you need to consider non-comparison-based data structures.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you knew that your depths were all small integers, you could speed up this algorithm by using a faster sorting algorithm optimized for that case (e.g., counting sort).  However in practice existing sorting algorithms are already very fast so it's not clear whether this would make a big difference in practice.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So this algorithm already seems quite good, and it seems unlikely that we can beat it using comparison-based data structures.  If you want to do better, you'll have to specify a model of computation (e.g., the RAM model), but it's unclear that algorithms with a better asymptotic running time will lead to something that is faster in practice.&lt;/p&gt;&#xA;" OwnerUserId="5038" LastEditorUserId="5038" LastEditDate="2015-02-13T22:31:54.960" LastActivityDate="2015-02-13T22:31:54.960" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="29492" PostTypeId="2" ParentId="29480" CreationDate="2015-02-14T00:03:55.560" Score="4" Body="&lt;p&gt;Here is a brief overview and introduction to steganography:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Christian Cachin. &lt;a href=&quot;http://www.zurich.ibm.com/~cca/papers/encyc.pdf&quot; rel=&quot;nofollow&quot;&gt;Digital steganography&lt;/a&gt;. In Henk C.A. van Tilborg, editor, Encyclopedia of Cryptography and Security. Springer, 2005&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since you asked for an introduction specifically for &lt;em&gt;information-theoretic&lt;/em&gt; approaches, you might try this paper as a starting point for more detail:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Christian Cachin. &lt;a href=&quot;http://www.zurich.ibm.com/~cca/papers/stego.pdf&quot; rel=&quot;nofollow&quot;&gt;An information-theoretic model for steganography&lt;/a&gt;. Information and Computation, 192(1):41-56, July 2004.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you want a coding-theoretic perspective, you might also enjoy the following papers:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Yin Wang, Pierre Moulin.  &lt;a href=&quot;http://arxiv.org/pdf/cs.IT/0702161&quot; rel=&quot;nofollow&quot;&gt;Perfectly Secure Steganography: Capacity, Error Exponents, and Code Constructions&lt;/a&gt;.  IEEE Transactions on Information Theory, 2008.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Pierre Moulin, Joseph A. O'Sullivan. &lt;a href=&quot;http://www.ese.wustl.edu/~jao/Papers/JournalPublications/01184136.pdf&quot; rel=&quot;nofollow&quot;&gt;Information-Theoretic Analysis of&#xA;Information Hiding&lt;/a&gt;.  IEEE Transactions on Information Theory, 2003.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I do encourage you to also take a look at computational steganography (e.g., the Hopper et al. paper you cite in your question), as many of the powerful results are in the computational security regime&lt;/p&gt;&#xA;" OwnerUserId="5038" LastEditorUserId="5038" LastEditDate="2015-02-14T00:12:01.843" LastActivityDate="2015-02-14T00:12:01.843" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="29494" PostTypeId="1" AcceptedAnswerId="29495" CreationDate="2015-02-14T08:53:00.157" Score="15" ViewCount="611" Body="&lt;p&gt;AFAIK, The first evidence of using higher order functions goes back to Sch&amp;ouml;nfinkel's 1924 paper: &quot;On the Building Blocks of Mathematical Logic&quot; - where he allowed one to pass functions as arguments to other functions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;That seems interesting. However, everything that I've been reading about his work (and Curry's by extension) seems to allude to one thing in some form or the other: &lt;em&gt;[higher order functions]...this eliminates the need for bound variables...&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What I haven't been able to wrap my head around is - what's the big deal? Why did logicians and mathematicians of that time care about this? And do we as theoreticians, care about this today? Why was it &quot;groundbreaking&quot; to get rid of bound variables and what impact did (or does) it have on computing (theoretically) as we know it?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;PS: I'm aware of how his work paved way for $\lambda$-calculus and the impact of &quot;it&quot; on computing and functional programming in general. My question is mostly directed to the time &quot;prior&quot; to the creation of $\lambda$-calculus and &quot;after&quot; Schönfinkel's paper. The fact the Curry independently picked up that line of work, which was later known as &quot;combinatory logic&quot; too alludes to the importance of Schönfinkel's work. &lt;/p&gt;&#xA;" OwnerUserId="7014" LastEditorUserId="898" LastEditDate="2015-02-14T10:38:13.570" LastActivityDate="2015-02-15T00:06:02.327" Title="Why was Schönfinkel's work on eliminating &quot;bound variables&quot; in logic so crucial?" Tags="&lt;lo.logic&gt;&lt;soft-question&gt;&lt;ho.history-overview&gt;&lt;intuition&gt;&lt;function&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="29495" PostTypeId="2" ParentId="29494" CreationDate="2015-02-14T09:52:52.603" Score="17" Body="&lt;p&gt;TL;DR. The metamathematics of binding are &lt;em&gt;subtle&lt;/em&gt;: they seem trivial but aren't — whether you deal with (higher-order) logics or -calculus. They're so subtle that binding representations form an open research field, with a &lt;em&gt;competition&lt;/em&gt; (&lt;a href=&quot;http://www.seas.upenn.edu/~plclub/poplmark/&quot;&gt;the POPLmark challenge&lt;/a&gt;) some years ago. There are even &lt;a href=&quot;http://semantic-domain.blogspot.de/2014/02/retiring-joke.html&quot;&gt;jokes&lt;/a&gt; by people in the field about the complexity of approaches to binding.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, if you care about metamathematics (and most mathematicians don't), you need to deal with binding. But many mathematicians can safely treat the formalization of binding as if it were a &quot;foundational&quot; problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another point is that binding was the only &quot;new&quot; problem in languages with higher-order functions, because the theory of languages with binding is just algebra (for constants) + binding. Mitchell's &quot;Foundations of Programming Languages&quot; actually presents things in this order and is rather enlightening.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;I'm aware of how his work paved way for λ-calculus and the impact of &quot;it&quot; on computing and functional programming in general. My question is mostly directed to the time &quot;prior&quot; to the creation of λ-calculus and &quot;after&quot; Schönfinkel's paper.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I must be missing something, but this remark seems to make no difference. Binding in higher-order logics and binding in λ-calculus seem as hard, so as long as people cared about higher-order logics, they had to deal with binding. I'm biased by using Curry-Howard-isomorphism-based theorem provers that implement logic by simply implementing a type theory (where types are formulas and programs are proof terms), so that I just deal with binding once.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, IIRC, at the time indeed few cared about Schönfinkel's work — partly because of how he (didn't) publish it — the papers were mostly written by colleagues based on the research he did (see &lt;a href=&quot;http://www.users.waitrose.com/~hindley/SomePapers_PDFs/2006CarHin,HistlamRp.pdf&quot;&gt;here&lt;/a&gt;, page 4); Curry then rediscovered the theory independently.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Caveat: I'm not an historian, but a PhD student in PL, so mine is a modern (and hopefully accurate) perspective on the topic.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT:&lt;/p&gt;&#xA;&#xA;&lt;h1&gt;Why is binding subtle, a bit more concretely&lt;/h1&gt;&#xA;&#xA;&lt;p&gt;There are two facets to it — first, implementing it is hard. Secondly, metamathematics is the mathematics of proof manipulation: this manipulation is typically automatic, that is, it's an &lt;em&gt;algorithm&lt;/em&gt; — so essentially, you face all the difficulties of implementation, plus making proofs about them. Below I give examples. The examples have a modern perspective — they are about actually formalized proofs. However, some of the difficulties would extend to accurate manual proofs — as long as you don't cheat on details.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This shows that Schönfinkel simply gave the &lt;em&gt;first&lt;/em&gt; solution to this problem, but this was far from definitive.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Implementing it is subtle because of &lt;em&gt;shadowing&lt;/em&gt;&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;The basic problem in implementation is shadowing. Usually one doesn't reuse the same name for different bound variables. But you can't avoid it in lambda calculus, at least because  functions (and their bound variables) are duplicated: $(\lambda f. f~1 + f~2) (\lambda x . x)$ reduces to $(\lambda x . x)~1 + (\lambda x . x)~2$. This isn't a problem yet, but starting from $(\lambda f x. f (f x))\ (\lambda g y . g~y)\ z$ gives you $(\lambda g y . g~y)\ (\lambda g y . g~y)\ z$ and then $(\lambda y . (\lambda g y . g~y)~y)\ \ z$: now you need to deal with shadowing. You can avoid this, at the cost of complicating the beta-reduction rule.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Once you have different variables with the same name, you also need to prevent capture. The simplest example of capture is that applying the function $\lambda x y. x$ (return first argument) to $y$ must not give $\lambda y. y$ (the identity function), but $\lambda y'. y$ (a constant function).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What's worse is that the counterexamples to naive algorithms are hard to construct when you know the problem already, let alone when you don't. Bugs in almost correct algorithms often lie undetected for years. I hear that even good students typically fail to come up  (on their own) with the correct definition of capture-avoiding substitution. In fact, PhD students (me included) and professors aren't exempt from these problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;That's one reason why some (including one of the best textbooks on programming languages, &lt;em&gt;Types and Programming Languages&lt;/em&gt; by Benjamin Pierce) recommend nameless representation (not quite combinatory logic, even though it has been used, but rather deBrujin indexes).&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Proofs about it are subtle&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;It turns out that proofs about binding are no simpler than the implementation, as mentioned above. Of course, correct algorithms exist, and proof about them exist — but without advanced machinery, for each language using binding you need to repeat the proofs, and those proofs are simply very big and annoying if you use the definitions for binding on pen and paper.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To exemplify algorithms involved in metamathematics, consider the deduction theorem in logics, that allows composing a proof of $B$ assuming $A$ and a proof of $A$ to get a proof of $B$. To prove that theorem, you actually exhibit an algorithm that works on the syntax of the two proofs involved and produces the syntax for a proof of $B$. This algorithm needs to deal with binding.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Next, I looked up my best example of &quot;what goes wrong if you try formalizing the standard definition&quot;. Russell O’Connor (who's on this site) formalized the first Gödel's incompleteness theorem in Coq (a theorem prover of the kind mentioned above) — and that theorem involves a logic (with all the relevant algorithms) in another logic (with the syntax of the first logic coded as numbers). He used the definitions which are used on paper and formalized them directly.&#xA;Search for &quot;substitution&quot; or &quot;variable&quot; and count how often they appear in reference to problems to get an impression.&#xA;&lt;a href=&quot;http://r6.ca/Goedel/goedel1.html&quot;&gt;http://r6.ca/Goedel/goedel1.html&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I never use those definitions in my work, but each alternative approach has some downside.&lt;/p&gt;&#xA;" OwnerUserId="989" LastEditorUserId="989" LastEditDate="2015-02-15T00:06:02.327" LastActivityDate="2015-02-15T00:06:02.327" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="29498" PostTypeId="1" CreationDate="2015-02-15T08:21:38.827" Score="0" ViewCount="339" Body="&lt;p&gt;I am sophomore studying electrical engineering and I have immense interest in pure mathematics and theoretical computer science. I have studied abstract algebra ,real analysis and little bit of topology and discrete math too. I am also an enthusiastic coder .&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is the 'roadmap' for an engineer interested in theoretical computer science and the best books for an undergrad student , which I should study in order to go ahead in this field ?&lt;/p&gt;&#xA;" OwnerUserId="31987" LastActivityDate="2015-02-15T09:15:55.127" Title="Electrical engineering student interested in Theoretical computer science" Tags="&lt;soft-question&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="29499" PostTypeId="2" ParentId="29498" CreationDate="2015-02-15T09:15:55.127" Score="1" Body="&lt;p&gt;Theoretical computer science has many dimensions. One of them is the study of programming languages (in&#xA;a general sense). Here is a path into this field.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;An introductory textbook on logic like Dirk van Dalen's &quot;Logic and&#xA;Structure&quot;. There are plenty of other good books on the subject, but&#xA;I recommend one that that talks a little bit about proof theory and intuitionistic&#xA;logic as both are at the heart of programming language theory's use of logic.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Followed by an implementation oriented book like John Harrison's&#xA;amazing &quot;Handbook of Practical Logic and Automated Reasoning&quot;.&#xA;After finishing this book you could start coding, for example&#xA;SAT-solvers, a highly interesting field, merging theory and&#xA;practise. It's competitive too: &lt;a href=&quot;http://www.satcompetition.org/&quot; rel=&quot;nofollow&quot;&gt;http://www.satcompetition.org/&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;In parallel you can read an introductory text book on the theory of&#xA;programming languages.  Alas there is nothing really up-to-date,&#xA;reflecting the last 25 years of progress, but Glynn Winskel's &quot;The&#xA;Formal Semantics of Programming Languages&quot; might not be the worst&#xA;place to start.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Some, but not all parts of programming language research is&#xA;enamoured with category theory. The usefulness of category theory&#xA;for programming languages is fiercely debated. But since you've&#xA;already mastered abstract algebra, you should be able to pick up&#xA;category theory without too much pain. You could start with&#xA;&quot;Category Theory&quot; by Steve Awodey, or &quot;Abstract and Concrete&#xA;Categories&quot; by Adamek et al. The categorical viewpoint on a lot of&#xA;things can be quite mind-blowing.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;You would be well-qualified to dive into more specialised subfields of programming language research with this background.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;None of the above would be very useful for the algorithms / complexity&#xA;track of theoretical computer science.&lt;/p&gt;&#xA;" OwnerUserId="898" LastActivityDate="2015-02-15T09:15:55.127" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="29500" PostTypeId="1" AcceptedAnswerId="29501" CreationDate="2015-02-15T12:16:48.810" Score="-2" ViewCount="124" Body="&lt;p&gt;Given an arbitrary graph $G$, could there be a polynomial time algorithm to tell if it has a larger size clique $(\omega(G))$ or larger independence number$(\alpha(G))$? &lt;/p&gt;&#xA;" OwnerUserId="1812" LastEditorUserId="1812" LastEditDate="2015-02-15T13:32:25.347" LastActivityDate="2015-02-15T13:43:22.713" Title="Deciding CL-IS on graph efficiently" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="29501" PostTypeId="2" ParentId="29500" CreationDate="2015-02-15T13:43:22.713" Score="5" Body="&lt;p&gt;Take an abitrary instance of the independent set problem: given an $n$-vertex graph $H=(V,E)$ and an integer $k\ge1$, does $H$ contain an independent set on $k$ vertices.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Construct a new graph $G$ that is the disjoint union of graph $H$, a clique $C$ on $n+k$ vertices and an independent set $I$ on $n$ vertices.&#xA;Note that $\omega(G)=n+k$.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;If $H$ contains an independent set on $k$ vertices, then $\alpha(G)\ge n+k+1$.&#xA;You may use the $k$-element independent set in $G$, the $n$ vertices in $I$, and one vertex from $C$.&lt;/li&gt;&#xA;&lt;li&gt;If $H$ does not contain an independent set on $k$ vertices, then $\alpha(G)\le n+k$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Hence by comparing $\omega(G)$ and $\alpha(G)$, you can answer arbitrary instances of the NP-hard independent set problem.&lt;/p&gt;&#xA;" OwnerUserId="31660" LastActivityDate="2015-02-15T13:43:22.713" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="29502" PostTypeId="1" CreationDate="2015-02-15T15:16:04.580" Score="0" ViewCount="47" Body="&lt;p&gt;I'm learning basics of text algorithms, so my question might seem simple.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let's have word $S$, i want to find longest subword $x$ such that it appears in $S$ two times and those two occurencies are not overlapping. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example $S=ababab$ and the solution will be $ab$, because any longer subword: $aba$ or $bab$ (or longer) are overlapping. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I came up with one solution: it's using suffix arrays, from that i can calculate LCP (longest common prefix) table and LPF(longest previous factor) table and task is almost done. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Next i tried to solve this task with suffix tree (preferably compressed suffix tree, because uncompressed is almost not used), but i don't really know how to do it. &#xA;I'd love to hear some solutions from you. Cheers &lt;/p&gt;&#xA;" OwnerUserId="32094" LastActivityDate="2015-02-15T15:16:04.580" Title="Suffix tree and searching for longest subword that appears two times and two occurencies are not overlapping" Tags="&lt;tree&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="29506" PostTypeId="1" CreationDate="2015-02-16T12:26:03.343" Score="0" ViewCount="155" Body="&lt;p&gt;Working on finding minimal equivalent graphs, which unlike transitive reductions only allows for edge removals from the original graph. I was under the impression that if you allow for new edges to be created, you can simply replace any SCC with a simple Hamiltonian cycle.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This excerpt from The Algorithm Design Manual has me confused however:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&quot;A linear-time, quick-and-dirty transitive reduction algorithm&#xA;  identifies the strongly connected components of G, replaces each by a&#xA;  simple directed cycle, and adds these edges to those bridging the&#xA;  different components. Although this reduction is not provably minimal,&#xA;  it is likely to be pretty close on typical graphs.&quot;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Can anyone explain when this would not be minimal? How is it ever possible to construct a smaller equivalent component than a simple directed cycle?&lt;/p&gt;&#xA;" OwnerUserId="31967" LastActivityDate="2015-02-16T14:46:27.270" Title="Transitive reduction not provably minimal" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;" AnswerCount="0" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="29507" PostTypeId="2" ParentId="29471" CreationDate="2015-02-16T12:52:45.350" Score="2" Body="&lt;p&gt;Virtually every programming language employs types in some form or&#xA;other. Some languages use types only at run-time or only at compile-time,&#xA;but hybrids are also widespread.  Program specification and&#xA;verification often uses types. The fruitful connection between&#xA;programming languages and logic (Curry-Howard correspondence), which has led to technology transfer between both fields, is based on types. Many interesting&#xA;algorithmic questions arise from type-checking and type-inference.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;All of the above are empirical evidence that types should be a core part of the study of programming languages.&lt;/p&gt;&#xA;" OwnerUserId="898" LastActivityDate="2015-02-16T12:52:45.350" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="29510" PostTypeId="2" ParentId="25560" CreationDate="2015-02-16T17:40:53.530" Score="2" Body="&lt;p&gt;I think highway dimension is a formalization of a physical property for roadmaps.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assume that you have a large country. You want to get from one small city to another one. If the cities are far enough from each other, than you can assume that the route between them goes through one of the biggest city of the country. So it make a sense to add all large cities to hub labeling for all small ones.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now we've connected all small cities which are on a big distance from each other. Consider smaller region and make the same step. Find all large cites for the region and add them to all cities there. The maximum over all regions and subregions is the highway dimension.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think authors used balls as a convenient formalization of regions. For example, you can use some facts on covering graph with balls to provide a small hub labeling system.&lt;/p&gt;&#xA;" OwnerUserId="19579" LastActivityDate="2015-02-16T17:40:53.530" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="29514" PostTypeId="2" ParentId="29468" CreationDate="2015-02-17T01:14:11.393" Score="5" Body="&lt;p&gt;Perhaps an even better way to see type inference is as a specialization of a single framework: &lt;a href=&quot;http://en.wikipedia.org/wiki/Abstract_interpretation&quot; rel=&quot;noreferrer&quot;&gt;Abstract Interpretation&lt;/a&gt; (abbreviated AI).  The hallmark of most unification-based type inference algorithms is that they generate the &lt;a href=&quot;http://en.wikipedia.org/wiki/Principal_type&quot; rel=&quot;noreferrer&quot;&gt;principal type&lt;/a&gt; for a term; translated into AI terms, this means that you never need to &lt;strong&gt;widen&lt;/strong&gt;, nor do you need to go to &lt;em&gt;power domains&lt;/em&gt; to find the answer.  Unification turns out to be the 'join' operation -- there is also a nice categorical interpretation of unification which is even more enlightening.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Several comments shed light on this as well: all algorithms can be better understood in terms of generating then solving systems of constraints.  Unification is indeed eager, and constraint-solving (and that includes control-flow based approaches) tend to be lazier.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Perhaps an even better way to see type inference is as an alternate &lt;em&gt;interpreter&lt;/em&gt; for a program: rather than producing values, it produces types.  It is very easy to see type inference as a form a &lt;em&gt;partial evaluation&lt;/em&gt;.  Perhaps an easy introduction to that circle of ideas is via Aaron Stump's &lt;a href=&quot;http://homepage.cs.uiowa.edu/~astump/papers/lmcs12-rewriting-view.pdf&quot; rel=&quot;noreferrer&quot;&gt;A rewriting view of simple typing&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="66" LastActivityDate="2015-02-17T01:14:11.393" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="29515" PostTypeId="1" CreationDate="2015-02-17T02:50:46.863" Score="1" ViewCount="158" Body="&lt;p&gt;Could we realize good bounds on Ramsey theoretic problems using semidefinite programming? Example: Is there a good bound on Ramsey numbers $R(r,s)$ from semidefinite programming?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does number of quantifiers matter in semidefinite programming? In maximizing independence number, we ask ∃ independent set of given size? In Ramsey number we ask ∀ graphs of given size ∃ clique or independent set of given sizes?&lt;/p&gt;&#xA;" OwnerUserId="1812" LastEditorUserId="1812" LastEditDate="2015-02-17T21:11:25.787" LastActivityDate="2015-02-17T21:11:25.787" Title="Ramsey theory through semidefinite programming" Tags="&lt;semidefinite-programming&gt;&lt;ramsey-theory&gt;" AnswerCount="0" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="29518" PostTypeId="1" CreationDate="2015-02-17T07:44:12.700" Score="10" ViewCount="237" Body="&lt;p&gt;Perhaps the main source of performance problems in Haskell is when a program inadvertently builds up a thunk of unbounded depth - this causes both a memory leak and a potential stack overflow when evaluating. The classic example is defining &lt;code&gt;sum = foldr (+) 0&lt;/code&gt; in Haskell.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there any type systems which statically enforce lack of such thunks in a program using a lazy language?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Seems like this should be on the same order of difficulty as proving other static program properties using type system extensions, e.g. some flavors of thread safety or memory safety.&lt;/p&gt;&#xA;" OwnerUserId="326" LastActivityDate="2015-02-18T09:54:53.760" Title="Type systems preventing laziness-related memory leaks?" Tags="&lt;type-theory&gt;&lt;functional-programming&gt;&lt;program-verification&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="29519" PostTypeId="1" AcceptedAnswerId="30522" CreationDate="2015-02-17T12:35:53.653" Score="29" ViewCount="2776" Body="&lt;p&gt;In &lt;a href=&quot;http://en.wikipedia.org/wiki/Turing_completeness&quot;&gt;this wikipedia article on Turing Completeness&lt;/a&gt; it states that:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;The untyped lambda calculus is Turing complete, but many typed lambda calculi, including System F, are not. The value of typed systems is based in their ability to represent most typical computer programs while detecting more errors.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;What is an example of a total computable function that is uncomputable by &lt;a href=&quot;http://en.wikipedia.org/wiki/System_F&quot;&gt;system F&lt;/a&gt;?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In addition, since hindley-milner is:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;A restriction of System F&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;because of the fact that:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;type checking is undecidable for a Curry-style variant of System F, that is, one that lacks explicit typing annotations.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Does this mean that the lambda calculus underlying hindley-milner type systems is not turing complete as well? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If this is true, since &lt;a href=&quot;https://www.haskell.org/&quot;&gt;haskell&lt;/a&gt; is clearly turing complete and we know that it's basis is the lambda calculus and the hindley-milner type system, what features that are not present in the lambda calculus are added in order to make haskell turing complete?&lt;/p&gt;&#xA;" OwnerUserId="20014" LastEditorUserId="20014" LastEditDate="2015-02-18T10:49:00.067" LastActivityDate="2015-07-21T20:02:32.057" Title="What functions can System F not compute?" Tags="&lt;computability&gt;&lt;turing-machines&gt;&lt;haskell&gt;" AnswerCount="2" CommentCount="7" FavoriteCount="17" ContentLicense="CC BY-SA 3.0" />
  <row Id="30519" PostTypeId="1" CreationDate="2015-02-17T14:40:16.493" Score="3" ViewCount="182" Body="&lt;p&gt;In notes, &lt;a href=&quot;http://www.cs.toronto.edu/~toni/Courses/CommComplexity2/Lectures/clique-notes.pdf&quot; rel=&quot;nofollow&quot;&gt;http://www.cs.toronto.edu/~toni/Courses/CommComplexity2/Lectures/clique-notes.pdf&lt;/a&gt;, it is mentioned towards end of section $4$ that &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=237817&quot; rel=&quot;nofollow&quot;&gt;http://dl.acm.org/citation.cfm?id=237817&lt;/a&gt; shows that deterministic complexity of $CIS (\mathsf{Clique-IndependentSet})$ problem is $$D(CIS_G)\geq (2-o(1))n$$ with a specific graph $G$. I checked cited paper, it mentions no citation of $CIS_G$. However, it specifies a function for which $$D(f)\geq(2-o(1))n$$ holds in theorem $3$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is how is this result connected to $CIS_G$? In other words how does lower bounds $D(f)$ on a function $f$ gives lower bounds on $CIS_G$ and/or vice versa?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is best lower bound known for $D(CIS_G)$?&lt;/p&gt;&#xA;" OwnerUserId="1812" LastEditorUserId="1812" LastEditDate="2015-02-17T21:49:31.220" LastActivityDate="2015-02-18T11:40:51.217" Title="$CIS_G$ problem deterministic lower bound" Tags="&lt;graph-theory&gt;&lt;lower-bounds&gt;&lt;communication-complexity&gt;&lt;clique&gt;" AnswerCount="0" CommentCount="5" FavoriteCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="30521" PostTypeId="1" CreationDate="2015-02-17T15:48:26.700" Score="3" ViewCount="123" Body="&lt;p&gt;It was an open question whether multiple knapsack is fpt wrt standard&#xA;parameter. Since at SODA 2009 Jansen has presented an EPTAS for &#xA;multiple knapsack and an EPTAS implies the existense of an fpt algoritm &#xA;[Cesati and Trevisan 1997] this problem should be solved? I ask, since&#xA;the EPTAS has a &quot;parameterized&quot; running time.&lt;/p&gt;&#xA;" OwnerUserId="22558" LastActivityDate="2015-02-17T15:48:26.700" Title="Multiple knapsack fpt?" Tags="&lt;approximation-algorithms&gt;&lt;fixed-parameter-tractable&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="30522" PostTypeId="2" ParentId="29519" CreationDate="2015-02-17T15:59:06.220" Score="50" Body="&lt;p&gt;System $F$ is quite expressive. As proved by Girard &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0049237X08708437&quot; rel=&quot;noreferrer&quot;&gt;here&lt;/a&gt;, the functions of type $\mathbb{N}\rightarrow\mathbb{N}$ (where $\mathbb{N}$ is defined to be $\forall X.\ X\rightarrow (X\rightarrow X)\rightarrow X$) are exactly the definable functions ($\mathbb{N}\rightarrow\mathbb{N}$) in second order Heyting Arithmetic $\mathrm{HA}_2$. Note that this is the same as the functions definable in &lt;a href=&quot;http://en.wikipedia.org/wiki/Second-order_arithmetic&quot; rel=&quot;noreferrer&quot;&gt;second order Peano Arithmetic&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You'll probably want to check &lt;a href=&quot;http://www.paultaylor.eu/stable/prot.pdf&quot; rel=&quot;noreferrer&quot;&gt;Proofs and Types&lt;/a&gt; as a more readable reference. Note that this means that &lt;em&gt;a lot&lt;/em&gt; of programs can be written in system F, from the Ackermann function to interpreters for Gödel's system $T$. As for any total programing language (with some mild conditions) system $F$ cannot implement a &lt;em&gt;self interpreter&lt;/em&gt;, i.e. a function $\mathrm{eval}:\mathbb{N}\rightarrow\mathbb{N}$ which takes as input a code for a term $t$ of system $F$ and returns a (code for a) normal form for $t$. The proof involves a variant of the diagonalizing trick used for undecidability of the halting problem. Andrej explains it beautifully &lt;a href=&quot;https://cstheory.stackexchange.com/questions/24986/a-total-language-that-only-a-turing-complete-language-can-interpret&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To answer your other questions: The $\lambda$-calculus underlying Hindley-Milner (HM) languages is also not Turing complete. In fact it is significantly weaker than system $F$, closer in expressiveness to the &lt;em&gt;simply typed&lt;/em&gt; $\lambda$-calculus.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Haskell is indeed Turing complete. The most distinctive feature enabling this (though there are others) is the presence of &lt;strong&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Recursion_%28computer_science%29#Recursive_programs&quot; rel=&quot;noreferrer&quot;&gt;unrestricted recursion&lt;/a&gt;&lt;/strong&gt;: the definition of any program (function) can refer to the program itself. This is similar to the addition of a $Y$ combinator, such as is done in the definition of &lt;a href=&quot;http://en.wikipedia.org/wiki/Programming_Computable_Functions&quot; rel=&quot;noreferrer&quot;&gt;PCF&lt;/a&gt; which is simply-typed but retains Turing-completeness with the $Y$ combinator.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note there are other features which make Haskell Turing complete, but they are not usually taken to be part of the core language, e.g. references to functions, unrestricted datatypes, etc.&lt;/p&gt;&#xA;" OwnerUserId="3984" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2015-02-17T15:59:06.220" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="30524" PostTypeId="1" AcceptedAnswerId="30527" CreationDate="2015-02-17T20:53:56.013" Score="5" ViewCount="268" Body="&lt;p&gt;I'm trying to find an approximation algorithm for a variant of the weighted set cover problem.  However, this variation doesn't seem to let me apply the traditional set cover arguments for an approximation.  I'd like to know if anyone has ever encountered a similar problem (and, if possible, have info on the approximability of the problem - I'd be glad to have a factor $f$ approximation as there is for set cover, $f$ being the maximum frequency of some element $u \in U$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Say we're given a ground set $U$, subsets $\mathcal{S} \subseteq U$, $\overline{\mathcal{S}} \subseteq U$ and a forbidden set of pairs of the form $\{S, \overline{S} \}$ with $S \in \mathcal{S}, \overline{S} \in \overline{\mathcal{S}}$.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;We can assume that every set is in exactly one forbidden pair, i.e. there is a bijection between $\mathcal{S}$ and $\overline{\mathcal{S}}$ that forms the forbidden pairs.  We can also assume that $\cup_{S \in \mathcal{S}}S = \cup_{\overline{S} \in \overline{\mathcal{S}}}\overline{S} = U$, to guarantee the existence of a set cover without forbidden pairs.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Each set is also weighted by some weight function $w : \mathcal{S} \cup \overline{\mathcal{S}} \rightarrow \mathbb{R}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I want to find a set cover of minimum weight in which no forbidden pair is present.  That is, find $S_1, \ldots, S_k \in \mathcal{S} \cup \overline{\mathcal{S}}$ of minimum total weight such that $\cup_{1 \leq i \leq k}S_i = U$ such that for any $i, j$, $\{S_i, S_j\}$ doesn't form a forbidden pair.&lt;/p&gt;&#xA;" OwnerUserId="10474" LastActivityDate="2015-02-18T05:09:06.913" Title="Set cover in which some pairs of sets are forbidden" Tags="&lt;approximation-algorithms&gt;&lt;approximation-hardness&gt;&lt;set-cover&gt;" AnswerCount="1" CommentCount="7" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="30525" PostTypeId="1" AcceptedAnswerId="30540" CreationDate="2015-02-17T22:50:06.417" Score="4" ViewCount="6799" Body="&lt;p&gt;&lt;a href=&quot;https://www.math.ubc.ca/~anstee/math523/StronglyPolynomialNetworkFlow.pdf&quot; rel=&quot;nofollow&quot;&gt;Orlin's algorithm&lt;/a&gt; is known to solve minimum cost maximum flow problems in $O(|E|^2 \log |V| + |E| \; |V| \log^2 |V|)$ time, where $|E|$ and $|V|$ respectively denote the cardinalities of the edge and the node sets of the graph $G(V, E)$ in question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If the graph $G(V = V_1 \cup V_2, E)$ is known to be bipartite (with $V_1$ and $V_2$ denoting the &quot;left&quot; and &quot;right&quot; node sets), can one compute the minimum cost maximum flow any faster? Here the flow is between an additional source that is connected to the nodes in $V_1$ and an additional sink that is connected to the nodes in $V_2$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm also interested to hear about algorithms that do not have better time complexity, but perform well in practice.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can assume that all capacities and costs are &lt;em&gt;non-negative&lt;/em&gt; integers. There can be both limited-capacity and unlimited-capacity edges in the graph. Also, assume that both the maximum non-infinite capacity $c$, and the maximum edge cost $w$ is small; i.e. one can consider both as $O(1)$ terms for complexity purposes. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit:&lt;/strong&gt; My current-best solution is to use a minimum cost augmentation algorithm, which solves the problem in $O(|E| \; F \log |V|)$ time, where $F$ is the value of the maximum flow. Since $F$ is bounded by $c \;|V|$ (which is $O(|V|)$ under our assumptions), this approach results in an overall time complexity of $O(|E| \; |V| \; \log |V|)$. Is it possible to beat this?&lt;/p&gt;&#xA;" OwnerUserId="32058" LastEditorUserId="32058" LastEditDate="2015-02-18T19:57:37.443" LastActivityDate="2015-03-11T14:15:54.807" Title="Fastest polynomial time algorithm for solving minimum cost maximum flow problems in bipartite graphs" Tags="&lt;ds.algorithms&gt;&lt;graph-algorithms&gt;&lt;max-flow&gt;" AnswerCount="3" CommentCount="10" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="30527" PostTypeId="2" ParentId="30524" CreationDate="2015-02-18T00:49:51.143" Score="6" Body="&lt;p&gt;This problem is way harder than set cover. Here is why...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Intuitively, you can encode independent set as a problem of this type. Indeed, you are given an instance of independent set - a graph $G$ with $n$ vertices, and a number $k$, and the question is whether the graph $G$ has an independent set of size $k$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We assume that $k$ is large (say, polynomial in $n$). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is not hard to form a set system, with $n$ sets, such that any cover of the set system requires at least $\Omega(k/\log n)$ sets, and any specific set of $k$ sets cover the ground set. To this end, have a &quot;large&quot; ground set $X$ (say, of size $t$), and generate $n$ random sets (independently), where you pick every element $x \in X$ to be in the $i$th random set with probability roughly $p = 10(\ln n)/k$. Let $R_1, \ldots, R_n$ be the resulting random sets, and observe that a union of any specific $k$ of them covers the ground set, with high probability. Indeed, the probability that an element of $X$ is not covered, by a specific $k$ sets is bounded by&#xA;$$&#xA;t (1-p)^k &amp;lt; 1/10,&#xA;$$&#xA;for $t = n^{O(1)}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Similarly, consider $k' = c (k/\log n)$ random sets, where $c$ is a sufficiently small constant. We claim that with high probability their union does not cover $X$. Indeed, the probability a specific element is covered by such $k'$ sets is &#xA;$1- (1-p)^{k'}$ which is a constant, say $\alpha &amp;lt; 1$. As such, the probability that these $k'$ random sets cover $X$ is at most $\alpha^t$. In particular, the probability that any of the possible sets of $k'$ random sets cover $X$ is bounded by &#xA;$$&#xA;\alpha^t * \binom{n}{k'} &amp;lt; 1/10,&#xA;$$&#xA;by taking $t$ to be larger than $20 (k/\alpha) \ln n$ (or some similar quantity).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, associate with the $v_i$ vertex in $G$, the set $R_i$. Forbid the pair $\{R_i, R_j\}$ if the edge $v_iv_j$ is in the graph $G$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any solution for the resulting instance, would be an independent set in $G$ of size $\Omega(k / \log n)$. The original independent set of size $k$ is a valid solution in the resulting instance (all with good probabilities). But that implies that using your problem, you can get a log approximation to independent set, which is an extremely unlikely event. More generally, a $\beta$ approximation, would imply a $O( \beta \log n)$ approximation for independent set. Since independent set can not be approximated to within $n^{1-\epsilon}$, you essentially get the same result for your problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;PCP people might be able to derive the above from their known machinery...&lt;/p&gt;&#xA;" OwnerUserId="9594" LastEditorUserId="9594" LastEditDate="2015-02-18T05:09:06.913" LastActivityDate="2015-02-18T05:09:06.913" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="30528" PostTypeId="2" ParentId="29519" CreationDate="2015-02-18T01:02:25.493" Score="11" Body="&lt;p&gt;It is somewhat misleading to say that Haskell's typing system is &quot;the hinley-milner type system&quot;. Haskell's types are much more powerful, including, among others, higher-kinded types. Indeed the typing system is so powerful that you can embed Turing-complete programming languages in the typing system, see &lt;a href=&quot;https://mail.haskell.org/pipermail/haskell/2006-August/018355.html&quot;&gt;here&lt;/a&gt;. This is not the only reason for Haskell's power, Cody has mentioned some others.&lt;/p&gt;&#xA;" OwnerUserId="898" LastActivityDate="2015-02-18T01:02:25.493" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="30529" PostTypeId="2" ParentId="19648" CreationDate="2015-02-18T01:48:35.823" Score="3" Body="&lt;p&gt;Finding the most likely assignment in the Ising model is equivalent to maximum cut, so forget about minimum cut for a minute.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the formulation you give for the Ising model, we are trying to maximize $\sum_{ij\in E}\lambda_{ij}x_{ij}$, where $x_{ij}=1$ if $x_i=x_j$ and $x_{ij}=-1$ otherwise.  In maximum cut, we take each edge weight $w$ and try to maximize $\sum_{ij\in E}w_{ij}(-x_{ij})$ -- this is equivalent to maximizing the weight of the cut because the total weight remaining is completely determined by the cut.  So we just want to set $w_{ij}=\lambda_{ij}$ to make an equivalent formulation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For minimum cut, the problem doesn't make any sense unless you have fields in the Ising model, either local or global.&lt;/p&gt;&#xA;" OwnerUserId="1929" LastEditorUserId="1929" LastEditDate="2015-02-18T01:57:00.960" LastActivityDate="2015-02-18T01:57:00.960" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="30530" PostTypeId="2" ParentId="30525" CreationDate="2015-02-18T07:29:31.107" Score="3" Body="&lt;p&gt;The algorithm by Orlin you mention is quite old, and max flow algorithms came a long way since;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In 1994, &lt;a href=&quot;http://www.csd.uwo.ca/~eschost/Teaching/07-08/CS445a/king-rao-tarjan.pdf&quot; rel=&quot;nofollow&quot;&gt;King et al. showed&lt;/a&gt; that max flow can be solved in $O(n\cdot m)$ whenever $m=\omega(n^{1+\epsilon})$ for some $\epsilon &amp;gt; 0$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This result was lately &lt;a href=&quot;http://jorlin.scripts.mit.edu/docs/O%28nm%29MaxFlow.pdf&quot; rel=&quot;nofollow&quot;&gt;complemented by Orlin himself&lt;/a&gt;, which showed $O(nm)$ time complexity extends for $m=O(n^{\frac{16}{15}})$ (and also gave slight improvement for the $m=O(n)$ case).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you are interested in more practical algorithms you can look at the &lt;em&gt;approximation&lt;/em&gt; algorithms for max flow, (&lt;a href=&quot;http://arxiv.org/pdf/1008.1975v4.pdf&quot; rel=&quot;nofollow&quot;&gt;see Mądry's paper&lt;/a&gt; for example), which is able to produce $O(\log n)$ approximation in near linear time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you are also interested in single-unit capacities, &lt;a href=&quot;http://people.csail.mit.edu/madry/docs/matching_flow.pdf&quot; rel=&quot;nofollow&quot;&gt;Mądry recently gave an (exact) $\widetilde O(m^{\frac{10}{7}})$&lt;/a&gt; for maximum cardinality bipartite matching.&lt;/p&gt;&#xA;" OwnerUserId="21001" LastActivityDate="2015-02-18T07:29:31.107" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="30531" PostTypeId="2" ParentId="29518" CreationDate="2015-02-18T09:54:53.760" Score="4" Body="&lt;p&gt;Levy's &lt;a href=&quot;http://requestforlogic.blogspot.co.uk/2011/08/embracing-and-extending-levy-language.html&quot; rel=&quot;nofollow&quot;&gt;call by push value&lt;/a&gt; calculus makes a distinction between values and their thunks.  For a value &lt;code&gt;v&lt;/code&gt; of type &lt;code&gt;ty&lt;/code&gt; the computation &lt;code&gt;thunk v&lt;/code&gt; has type &lt;code&gt;U ty&lt;/code&gt;.  Lindley and McBride's &lt;a href=&quot;http://homepages.inf.ed.ac.uk/slindley/papers/frankly-draft-march2014.pdf&quot; rel=&quot;nofollow&quot;&gt;Frank&lt;/a&gt; language, inspired by CBPV, also makes this distinction between computations and values explicit, though unlike Haskell, Frank is strict.&lt;/p&gt;&#xA;" OwnerUserId="375" LastActivityDate="2015-02-18T09:54:53.760" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="30533" PostTypeId="2" ParentId="29474" CreationDate="2015-02-18T12:16:00.637" Score="2" Body="&lt;p&gt;I'll provide a naive approach which give $O(m^2 \cdot max_f)$ running time but shows the problem is P. First turn the graph to undirected graph. Suppose one edge is in first graph and the other in the second graph, contract both of them and name them $s,t$. We can find a minimum edge cut that separates s and t in time max_f which is a running time of best maximum flow algorithm on unit weight graph. We run this algorithm for all possible pair of edges. But why this works? trivially there is no smaller cut and the two sides are not edgeless. On the other hand if a graph G is connected  minimum edge cut C between two vertices s, t always cuts the graph into two connected subgraphs. &lt;/p&gt;&#xA;" OwnerUserId="1846" LastActivityDate="2015-02-18T12:16:00.637" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="30535" PostTypeId="2" ParentId="30525" CreationDate="2015-02-18T13:16:31.923" Score="1" Body="&lt;p&gt;I think Orlin's algorithm and many other algorithms, are not good in this case. Simplest algorithm is ford falkerson algorithm and is both practically and theoretically better than almost all of those algorithms. It runs in time $O(m\cdot max_f)$ were max_f is the size of maximum flow. In above problem indeed it's $max_f=O(n)$, because there are at most $n$ edge disjoint paths between two vertices and each of those paths rises $O(1)$ flow. Also if the graph is unit weighted in the bipartite case modified version of dinic algorithm give $O(m\sqrt{ n})$ algorithm and if one wants to find a latest algorithm suitable for this case I would suggest to search for improvement on different sorts of dinic algorithm or ford falkerson not hard improvements on edmond karp algorithm, they have different aspects. One improves running time by use of structure of corresponding graph and supposing weights are not important, the other improves the running time by getting rid of flow size, which is not obstacle in this case (when a max flow is O(n)).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt; Recently (STACS 15) Tarjan et al, improved the best known time complexity of min-cost max-flow algorithm for unit capacity graphs by improvement on sort of Dinic's algorithm, in fact based on cost scaling algorithms of Goldberg and Tarjan, in particular they improved weighted bipartite matching algorithms:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Sagi Hed, Haim Kaplan, Andrew Goldberg, and Robert Tarjan: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&quot;Minimum Cost Flows in Graphs with Unit Capacities&quot;&lt;/p&gt;&#xA;" OwnerUserId="1846" LastEditorUserId="1846" LastEditDate="2015-03-11T14:15:54.807" LastActivityDate="2015-03-11T14:15:54.807" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="30537" PostTypeId="1" AcceptedAnswerId="30538" CreationDate="2015-02-18T15:55:51.693" Score="6" ViewCount="434" Body="&lt;p&gt;In the two-party setting, bounds of $\Theta(n)$ bits are known for deterministic and bounded-error randomized protocols for $\text{DISJ}_n$.&#xA;(Here $\text{DISJ}_n$ is the $n$-element set disjointness function; the parties are each given $n$-bit Boolean vectors $x$ and $y$, and have to decide whether there is some index $i$ so that $x_i = y_i = 1$.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In contrast, for nondeterministic protocols in the two-party setting, the best lower bound I've been able to find in the literature is $\Omega(n^{1/2})$ bits: Alexander A. Sherstov, &lt;em&gt;Communication Lower Bounds Using Directional Derivatives&lt;/em&gt;, JACM 2014, doi:&lt;a href=&quot;http://dx.doi.org/10.1145/2629334&quot;&gt;10.1145/2629334&lt;/a&gt; (&lt;a href=&quot;http://www.cs.ucla.edu/~sherstov/pdf/directional.pdf&quot;&gt;preprint&lt;/a&gt;).&#xA;A large gap remains between this and the trivial upper bound of $n+1$ bits.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Sherstov's bound is for multiparty protocols.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is a better lower bound known for the 2-party case?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Here follows a simple (folklore?) argument that $\Omega(n/\log n)$ bits are required; I am looking for a reference for this so I can cite it, or ideally a stronger $\omega(n/\log n)$ bound.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;A standard result (e.g. Theorem 2.11 in the Kushilevitz/Nisan textbook) is that $$D(f) \le O(N^0(f)N^1(f)),$$ where $N^1(f)$ is the nondeterministic communication complexity of $f$ and $N^0(f)$ is the co-nondeterministic communication complexity.&#xA;For $f = \text{DISJ}_n$ it is easy to see that $N^0(f) = O(\log n)$, by guessing the index of a common element.&#xA;Hence there are constants $C_1,C_2,C_3$ such that for all sufficiently large $n$,&#xA;$$C_1 n \le D(f) \le C_2 N^0(f)N^1(f) \le C_2 C_3(\log n)N^1(f).$$&#xA;Hence $N^1(f) \ge \Omega(n/\log n)$.&lt;/p&gt;&#xA;" OwnerUserId="109" LastActivityDate="2015-02-18T17:31:47.517" Title="Nondeterministic communication complexity of set disjointness?" Tags="&lt;cc.complexity-theory&gt;&lt;lower-bounds&gt;&lt;communication-complexity&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="30538" PostTypeId="2" ParentId="30537" CreationDate="2015-02-18T17:31:47.517" Score="9" Body="&lt;p&gt;$N^1(DISJ_n) \geq n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The fooling set technique actually provides lower bounds on the cover number. $C^1(f)$ is the minimum number of monochromatic rectangles needed to cover the $1$-inputs of $f$.  In the fooling set technique, you create a set of input pairs and show that each must lie in distinct monochromatic rectangles.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In this case, look at the set of input pairs $\{(A,\bar{A}) : A \subseteq [n]\}$.  It is not too hard to show that $(A, \bar{A}), (B, \bar{B})$ must lie in different monochromatic rectangles if $A,B$ are distinct.  Hence, to cover the $1$-inputs, we need at least $2^n$ monochromatic rectangles.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Using $N^1(f) = \log_2(C^1(f))$, we get that $N^1(DISJ_n) \geq n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(This example is Example 1.23 from Kushilevitz/Nisan)&lt;/p&gt;&#xA;" OwnerUserId="1645" LastActivityDate="2015-02-18T17:31:47.517" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="30540" PostTypeId="2" ParentId="30525" CreationDate="2015-02-18T19:36:00.990" Score="4" Body="&lt;p&gt;See &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=196753&quot; rel=&quot;nofollow&quot;&gt;this paper&lt;/a&gt;. I think adopting their technique, many(usually scaling based) min-cost flow algorithms with running time $O(f(n,m))$ can run in $O(f(n_1,m))$ time. Here $n_1$ is the size of the smaller bipartition.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $f(n,m)$ is the best possible run time for min-cost flow on general graphs with $n$ vertices and $m$ edges. There is an easy argument that you can't expect anything running in $o(f(n_1,m))$ time. (with some reasonable assumptions, like $n\leq m$, $f(n,cm)=O(f(n,m))$ for any constant $c$)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Proof: Otherwise, you can apply the standard vertex splitting operation to the input graph and use the bipartite min-cost flow algorithm and get a better running time. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, if you are restricting cost and capacities things, &lt;a href=&quot;http://epubs.siam.org/doi/abs/10.1137/0218069&quot; rel=&quot;nofollow&quot;&gt;these scaling algorithms&lt;/a&gt; is still pretty much state of the art(difference is at most $\log c$ for w/e parameter $c$ you care about). You can decipher that Theorem 3.5 to see which one of them gives you the best result. &lt;/p&gt;&#xA;" OwnerUserId="314" LastEditorUserId="314" LastEditDate="2015-02-18T20:28:47.167" LastActivityDate="2015-02-18T20:28:47.167" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="30541" PostTypeId="1" AcceptedAnswerId="30543" CreationDate="2015-02-18T19:52:12.450" Score="11" ViewCount="893" Body="&lt;p&gt;What is the difference between logical framework and type theory? Both of them have types, terms, and are based on dependently typed lambda calculus. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;We have Edinburg LF which is based on lambda-pi calculus, however, it seems to me that there's some subtle difference there.&lt;/p&gt;&#xA;" OwnerUserId="21833" LastEditorUserId="21833" LastEditDate="2015-02-18T19:57:39.767" LastActivityDate="2015-02-18T22:03:15.937" Title="Logical framework vs type theory" Tags="&lt;lo.logic&gt;&lt;type-theory&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="30542" PostTypeId="1" AcceptedAnswerId="30564" CreationDate="2015-02-18T19:57:22.707" Score="7" ViewCount="613" Body="&lt;p&gt;Homotopy type theory has a notion of propositional truncation type. It seems to me that it's strongly related to a notion of squash types. (See &lt;a href=&quot;https://www.cs.kent.ac.uk/people/staff/sjt/TTFP/ttfp.pdf&quot;&gt;https://www.cs.kent.ac.uk/people/staff/sjt/TTFP/ttfp.pdf&lt;/a&gt; p. 265). It seems that squash types have serious problems with definitions (see the book), and prop. trunc don't. Why this is so? What are these problems? (The book mentions them, but I can't  understand well what they are, they have an example for subtypes but, AFAIU it doesn't apply to squash types).&lt;/p&gt;&#xA;" OwnerUserId="21833" LastActivityDate="2015-02-22T10:35:19.450" Title="Squash type vs Propositional truncation type" Tags="&lt;lo.logic&gt;&lt;type-theory&gt;&lt;homotopy-type-theory&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="30543" PostTypeId="2" ParentId="30541" CreationDate="2015-02-18T20:42:36.623" Score="12" Body="&lt;p&gt;&lt;strong&gt;Summary.&lt;/strong&gt; A logical framework is a meta-language for the formalisation of deductive systems, where deductions become syntactic objects.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course what counts as a meta-language is quite vague, and it is helpful to understand the historical development of logical frameworks.&#xA;The first logical framework was de Bruijn's Automath (1), which is based on $\lambda$-calculus. Many of the ideas from the Automath language family have found their way into modern logical frameworks. Martin-L&amp;ouml;f's work on constructive type-theories, also based on $\lambda$-calculi, has also been influential.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edinburgh's LF (2) is a very influential logical framework.&#xA;Edinburgh LF is what you get when you enrich the simply typed $\lambda$-calculus with type-dependency. That's all. In order to make type-dependency precise, one needs to replace the function space operator $A \rightarrow B$ on types with type-abstraction, usually written $\Pi x^A. B$, and introduce the kind of types, as well as kind abstraction.&#xA;In terms of rules, the key is in the elimiation rule for $A \rightarrow B$, resp. $\Pi x^A. B$:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;\newcommand{\TYPES}[3]{#1 \vdash #2 : #3}&#xA;\newcommand{\SUBST}[2]{\{#1/#2\}}&#xA;\frac{&#xA;   \TYPES{\Gamma}{\color{red}{M}}{A \rightarrow B} &#xA;      \qquad&#xA;   \TYPES{\Gamma}{\color{red}{N}}{A}  }{&#xA; \TYPES{\Gamma}{\color{red}{MN}}{B}   }&#xA;      \qquad&#xA;\frac{&#xA;   \TYPES{\Gamma}{{\color{red}M}}{\Pi x^A. B} &#xA;      \qquad&#xA;   \TYPES{\Gamma}{\color{red}{N}}{A}  }{&#xA; \TYPES{\Gamma}{{\color{red}{MN}}}{B\SUBST{{\color{red}N}}{x}}   }&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the left we have the rule for the simply typed $\lambda$-calculus, on the right the&#xA;rule that generalises the left with type dependency. We see that a value 'flows' into the&#xA;type in the conclusion on the right.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think the interactive proof assistant Isabelle uses intuitionistic second order logic based on $\lambda$-calculus, without any numbers or recursive data types as logical framework. Various others have been proposed.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One advantage of using $\lambda$-calculi as logical framework  is that binding constructs like universal quantifiers can be implemented using the framework's $\lambda$-binder. Note that most logical frameworks are expressively weak: the frameworks  support object-level reasoning, but are insufficient to perform much meta-theoretic reasoning beyond the fact that a particular object-level statement is a theorem. In fact the metal-logic is usually so weak that even proving the deduction theorem for a Hilbert-style object logic is impossible. Of course nothing prevents you from using more powerful type-theories as a logical framework.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For these practical and historical reasons, most logical frameworks in use today are typed $\lambda$-calculi, i.e. type-theories. See (3, 4) for more in-depth discussions of logical frameworks.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;N. de Bruijn: The Mathematical Language AUTOMATH, Its Usage, and Some of Its Extensions.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;R. F. Harper, F. Honsell, G. Plotkin: &lt;a href=&quot;http://homepages.inf.ed.ac.uk/gdp/publications/Framework_Def_Log.pdf&quot;&gt;A Framework for Defining Logics&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;F. Pfenning: Logical frameworks.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;F. Pfenning: &lt;a href=&quot;https://www.cs.cmu.edu/~fp/papers/mdorf01.pdf&quot;&gt;Logical frameworks -- A Brief Introduction&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="898" LastEditorUserId="898" LastEditDate="2015-02-18T22:03:15.937" LastActivityDate="2015-02-18T22:03:15.937" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="30544" PostTypeId="1" AcceptedAnswerId="30555" CreationDate="2015-02-18T21:38:57.970" Score="7" ViewCount="998" Body="&lt;p&gt;I've been reading &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0444520775&quot;&gt;Lectures on the Curry-Howard Isomorphism&lt;/a&gt; and it talks about intuitionistic/constructive logic (IL) , combinatory logic (CL) and lambda calculus ($\lambda$c) before moving on to the Curry-Howard correspondence.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In fact, almost every text I've come across when trying to understand the &quot;history and theory of functional programming&quot;, I've almost found these 3 topics interlinked. However, I'm unable to grasp &lt;em&gt;how exactly are they connected?&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;From what I understand, IL predates CL which predates $\lambda$c.I believe $\lambda$c incorporates the principles of IL and CL in &lt;em&gt;some form&lt;/em&gt; but I can't seem to put a finger on it. It seems this some form has something to do with Curry-Howard Isomorphism (CHI), but I'm unable to find a &quot;non-abstract&quot; example that relates everything together. Most texts have proofs with letters A, B, C and the like and it takes a while to figure out exactly what's going on.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, how are they related? If its CHI, then what's a good example to hit the point home, intuitively speaking? Perhaps a constructive example for the proof of CHI could be helpful.&lt;/p&gt;&#xA;" OwnerUserId="7014" LastActivityDate="2015-02-20T12:07:28.500" Title="What is the relationship between intuitionistic logic, combinatory logic and lambda calculus?" Tags="&lt;big-picture&gt;&lt;lambda-calculus&gt;&lt;intuition&gt;&lt;combinatory-logic&gt;&lt;constructive-mathematics&gt;" AnswerCount="3" CommentCount="2" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="30545" PostTypeId="2" ParentId="30544" CreationDate="2015-02-18T21:52:37.967" Score="4" Body="&lt;p&gt;Simple summary: &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Typed $\lambda$-calculi are a way of presenting intuitionistic&#xA;logics.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Combinatory logic is a presentation of logic (propositional, first-order, higher-order, intuitionistic or otherwise) without binders.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Typed $\lambda$-calculi can easily be translated into combinatory logic. Some combinatory logics can easily be translated to typed&#xA;$\lambda$-calculi.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Not sure that answers your question.&lt;/p&gt;&#xA;" OwnerUserId="898" LastEditorUserId="898" LastEditDate="2015-02-18T21:59:58.530" LastActivityDate="2015-02-18T21:59:58.530" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="30546" PostTypeId="1" CreationDate="2015-02-18T23:57:32.540" Score="3" ViewCount="567" Body="&lt;p&gt;I've always had this question nagging at me subconsciously but have never been able to intuitively grasp it. Why does $\lambda$-calculus have a &lt;em&gt;functional&lt;/em&gt; notation? Why is everything a function?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It seems it has something to do with the evolution of Logic (See &lt;a href=&quot;http://en.wikipedia.org/wiki/History_of_the_function_concept#The_logicians.27_.22function.22_1850.E2.80.931950&quot; rel=&quot;nofollow&quot;&gt;History of the Function Concept&lt;/a&gt;) and trying to &quot;nail down&quot; what was really meant by a &lt;em&gt;function&lt;/em&gt;. Going through the history - FO-logic, intuitionistic logic, combinatory logic, lambda calculus etc., I still am a bit unsure about why did Church go with the &lt;em&gt;function-oriented&lt;/em&gt; view of things. I know he was trying to work on a system for foundations of logic/math which led to the creation of $\lambda$-calculus. But what I wish to understand is his thinking and reasoning that led to the use of &lt;em&gt;functions&lt;/em&gt; as the vehicle of choice, for getting there. &lt;/p&gt;&#xA;" OwnerUserId="7014" LastEditorUserId="7014" LastEditDate="2015-02-19T00:33:52.410" LastActivityDate="2015-02-23T15:21:27.770" Title="Why is lambda calculus so &quot;function&quot; oriented?" Tags="&lt;soft-question&gt;&lt;big-picture&gt;&lt;lambda-calculus&gt;&lt;ho.history-overview&gt;&lt;intuition&gt;" AnswerCount="3" CommentCount="5" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="30547" PostTypeId="1" CreationDate="2015-02-19T02:44:59.067" Score="1" ViewCount="1063" Body="&lt;p&gt;Suppose I have a non-Hamiltonian non-bipartite cubic planar graph $G_1$ = ($V_1$, $E_1$) where no face has fewer than five sides, and that I can partition $V_1$ into two Hamiltonian subgraphs.  Suppose further that $G_1$ has a set of faces that satisfies the Grinberg equation (remember that satisfaction of the Grinberg equation is a necessary but  not sufficient condition for a graph to be Hamiltonian), and is minimally two-connected, i.e., it contains exactly two edges, $v_1$ and $w_1$, whose removal disconnects $G_1$. Finally, assume that $G_1$ contains no separating triangles. Is there an example of such a $G_1$ that I can augment (judiciously) without limit by successively adding sets of vertices and edges to it in such a way that I create the series ($G_1$, $G_2$,...,$G_n$),  |$V_i$| &amp;lt; |$V_j$|, &lt;em&gt;n&lt;/em&gt; $\in$  $\mathbb{Z^+}$, where $G_i$ retains the given properties (including $v_1$and $w_1$) of $G_1$?&lt;/p&gt;&#xA;" OwnerUserId="32139" LastEditorUserId="32139" LastEditDate="2016-10-07T19:12:21.937" LastActivityDate="2016-10-07T19:12:21.937" Title="Example of scalable non-Hamiltonian cubic planar graph" Tags="&lt;graph-theory&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="30548" PostTypeId="1" AcceptedAnswerId="30549" CreationDate="2015-02-19T06:56:41.263" Score="2" ViewCount="240" Body="&lt;p&gt;Inspired by the questions &lt;a href=&quot;https://cstheory.stackexchange.com/questions/30537/nondeterministic-communication-complexity-of-set-disjointness&quot;&gt;Nondeterministic communication complexity of set disjointness?&lt;/a&gt;, I was wondering about the following: &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there an example of a function $f$ where the nondeterministic communication complexity $N(f)$ is asymptotically smaller than the deterministic communication complexity $D(f)$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;When $f$ is the Equality problem or the Set Disjointness problem, we seem to have $D(f) = N(f)$ and, as far as I can tell, the common techniques for showing lower bounds for deterministic protocols (fooling sets and the rank method) work just as well for nondeterministic protocols. &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Are there any known techniques that yield stronger lower bounds for deterministic protocols compared to nondeterministic protocols?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="32141" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2015-02-19T08:20:23.350" Title="Is it possible to prove stronger bounds for the deterministic communication complexity compared to nondeterministic communication complexity?" Tags="&lt;lower-bounds&gt;&lt;communication-complexity&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="30549" PostTypeId="2" ParentId="30548" CreationDate="2015-02-19T07:40:47.563" Score="5" Body="&lt;p&gt;It seems to me that there is some incoherency in the question. What do you mean by better?&#xA;Are you looking for a function where $N(f) \ll D(f)$ or a function where $D(f) \ll N(f)$? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Deterministic protocols are a special case of nondeterministic protocols, so we always have $N(f) \leq D(f)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For examples of functions where $N(f) \ll D(f)$ have a look at the Nisan and Kushilevitz's book.&lt;/p&gt;&#xA;" OwnerUserId="186" LastActivityDate="2015-02-19T07:40:47.563" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="30550" PostTypeId="1" AcceptedAnswerId="30571" CreationDate="2015-02-19T09:07:17.733" Score="-2" ViewCount="157" Body="&lt;p&gt;I'm a student working on my thesis in database theory and looking for some research in the field of formal models of database performance and couldn't find any works in this area. I'm interested: what are the most fundamental database performance parameters and mathematical criterions for the next things: transaction execution, query performance and efficiency (evaluation, parsing, execution) and maybe some more and not just: &quot;this query takes 50 ms to run&quot;. I want to formulate fundamental (mathematical) performance criterions, which I can use to compare on the most general (abstract) way different database models and technologies.&lt;/p&gt;&#xA;" OwnerUserId="32142" LastEditorUserId="32142" LastEditDate="2015-02-19T09:22:25.613" LastActivityDate="2015-02-21T22:53:53.070" Title="What are the most fundamental metrics (criterions) of database performance?" Tags="&lt;db.databases&gt;&lt;query-complexity&gt;&lt;formal-modeling&gt;&lt;formal-methods&gt;&lt;relational-structures&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="30552" PostTypeId="1" AcceptedAnswerId="30568" CreationDate="2015-02-19T14:52:09.893" Score="-2" ViewCount="3540" Body="&lt;p&gt;KMP algorithm works best when there is/are self matching(s) of pattern string that we want to search for. Usually it doesn't happen unless pattern is long enough. So where is the KMP application in real world?&lt;/p&gt;&#xA;" OwnerUserId="32047" LastEditorUserId="32047" LastEditDate="2015-02-19T15:29:32.383" LastActivityDate="2015-02-23T14:23:45.740" Title="What is the applications of kmp algorithm?" Tags="&lt;search-problem&gt;&lt;string-search&gt;" AnswerCount="1" CommentCount="0" ClosedDate="2015-02-21T20:12:51.107" ContentLicense="CC BY-SA 3.0" />
  <row Id="30553" PostTypeId="1" CreationDate="2015-02-19T16:02:32.243" Score="12" ViewCount="796" Body="&lt;p&gt;In the paper &quot;On the complexity of some coloring games&quot;, Bodlaender gives some open questions about the complexity of deciding if player 1 or 2 has a winning strategy in some graph coloring games. Does anyone know if they have been solved?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) In one game, two players take turns selecting one vertex in a graph and coloring it properly with a color from a fixed finite set. The loser is the first player who is unable to color a vertex. In Schaefer's paper it is shown to be pspace-complete with 1 color and Bodlaender shows it to be pspace-complete with 2 colors but gives no answer with more color. Is it still open?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) In another variation, the vertices have numbers 1..n. On a player's turn he must properly color the vertex with the lowest number that has not yet been colored. Again, they are using colors from a fixed set and the loser is the first player who is unable to color his vertex. Bodlaender shows it to be pspace-complete for general graphs. He asks who wins on trees, is it known?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks&lt;/p&gt;&#xA;" OwnerUserId="32149" LastActivityDate="2021-02-23T22:57:20.330" Title="Have these coloring games been solved?" Tags="&lt;graph-colouring&gt;&lt;pspace&gt;&lt;two-player-games&gt;" AnswerCount="2" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="30554" PostTypeId="2" ParentId="30553" CreationDate="2015-02-19T16:59:33.460" Score="2" Body="&lt;p&gt;It sounds like this paper has some of what you're looking for: &lt;a href=&quot;http://arxiv.org/abs/1202.5762&quot; rel=&quot;nofollow&quot;&gt;http://arxiv.org/abs/1202.5762&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The general form of the first question is a really simple reduction: using colors {0, ..., n-1}, start with a Node Kayles instance and create a vertex for each of the colors from 1 to n-1 and connect them to each uncolored vertex.  Now those colors can't be played and you're still playing the Node Kayles game.&lt;/p&gt;&#xA;" OwnerUserId="7902" LastActivityDate="2015-02-19T16:59:33.460" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="30555" PostTypeId="2" ParentId="30544" CreationDate="2015-02-19T17:26:12.207" Score="6" Body="&lt;p&gt;I don't understand exactly what you are looking for, I'll try to explain the Curry-Howard correspondence in a nutshell, you'll let me know if it helps.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The Curry-Howard correspondence (or isomorphism, if you wish) definitely links the three objects you mention: it actually tells that two of them, IL and $\lambda$c, are the same thing.  The term is used today in a broad sense and often without referring to a specific technical statement, but it can be formulated precisely in at least two frameworks:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Hilbert-style deduction for intuitionistic logic and SK combinators;&lt;/li&gt;&#xA;&lt;li&gt;Gentzen's natural deduction and the $\lambda$-calculus.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;The first is actually the &quot;original&quot; correspondence, dating back to the late 50s when Curry observed that the types you would give to the SK combinators&#xA;$$&#xA;\begin{align*}&#xA;S &amp;amp;:(A\rightarrow B\rightarrow C)\rightarrow(A\rightarrow B)\rightarrow A\rightarrow C \\&#xA;K &amp;amp;:A\rightarrow B\rightarrow A&#xA;\end{align*}&#xA;$$&#xA;are exactly the axioms of implicational propositional intuitionistic logic in Hilbert-style deduction.  Note that this latter has only modus ponens as a rule for building proofs; accordingly, terms in combinatory logic are built using only application.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;That's it for the combinatory logic side.  It took another decade before Howard fully formulated the correspondence in the second guise, which I think looks best:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;on the logical side, you have $\mathbf{NJ}^{\Rightarrow,\land}$, Gentzen's natural deduction system for the negative fragment of propositional intuitionistic logic. You have propositional formulas defined by $A,B::=\alpha\mathrel{|} A\Rightarrow B\mathrel{|} A\land B$ (atom, implication and conjunction), proofs built from introduction and elimination rules for each connective, and you have &lt;em&gt;proof normalization&lt;/em&gt;, which consists in 2 rewriting rules replacing what Prawitz calls &quot;&lt;em&gt;detours&lt;/em&gt;&quot; (an introduction of a connective immediately followed by its elimination) with more explicit pieces of proof. This rewriting procedure closely corresponds to cut-elimination in sequent calculus, also introduced by Gentzen.&lt;/li&gt;&#xA;&lt;li&gt;On the computational side, you have the simply-typed $\lambda$-calculus $\Lambda^{\rightarrow,\times}$, with types defined by $T,U::=o\mathrel{|}T\rightarrow U\mathrel{|} T\times U$ (base, function space and pairs), terms built from constructors ($\lambda$ for $\rightarrow$ and pairing for $\times$) and destructors (application for $\rightarrow$ and projections for $\times$), and $\beta$-reduction, which consists of 2 rewriting rules: the usual one and one for handling projections acting on a pair.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The Curry-Howard correspondence, which is the subject of the book you are reading, has three levels:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;formulas = types: just change the notation swapping $\alpha/o$, $\Rightarrow/\rightarrow$ and $\land/\times$;&lt;/li&gt;&#xA;&lt;li&gt;proofs = terms: more precisely, introduction rule=constructor, elimination rule=destructor;&lt;/li&gt;&#xA;&lt;li&gt;normalization = reduction: this is harder to write inline, but it's obvious once you write the rewriting rules of the two systems side by side. The correspondence is one-to-one, i.e., one step in $\mathbf{NJ}^{\Rightarrow,\land}$ corresponds to exactly one step in $\Lambda^{\rightarrow,\times}$ and vice versa.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;At this level, I hesitate to call this an &quot;isomorphism&quot; because it is not entirely clear what structures are being preserved.  Here's where category theory may be of help: if you formulate $\mathbf{NJ}^{\Rightarrow,\land}$ and $\Lambda^{\rightarrow,\times}$ as categories (without being too precise: formulas/types as objects and normal proofs/normal terms as morphisms), then they are isomorphic as Cartesian-closed categories (CCC). Indeed, as I defined them, they both are the free CCC on one object ($\alpha$ if you are a logician or $o$ if you are a computer scientist).  So, there you go, you now have a third object into the picture and you get what Robert Harper calls the &lt;a href=&quot;https://existentialtype.wordpress.com/?s=trinity&quot; rel=&quot;nofollow&quot;&gt;Holy Trinity&lt;/a&gt; (logic, programming languages and categories).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Actually, the above categorical view hides a bit what I think is the most important aspect of the Curry-Howard correspondence, which is normalization = reduction.  Somewhat annoyingly, this is left out in current alternative terminologies for the correspondence: people say &quot;proofs as programs&quot; or &quot;formulae as types&quot;, nobody says &quot;cut-elimination as computation&quot;.  To properly accommodate the third level, you'd have to climb a bit up on the higher-dimensional ladder and make $\mathbf{NJ}^{\Rightarrow,\land}$ and $\Lambda^{\rightarrow,\times}$ into 2-categories, or even more (things make sense up to dimension 3 at least).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you're looking for concrete examples, the above framework isn't very rich but already gives you an idea.  Take the second-order definition of natural number: $$\mathsf{Nat}(x):=\forall\alpha.(\forall y.\alpha(y)\Rightarrow\alpha(\mathsf{s}y))\Rightarrow\alpha(0)\Rightarrow\alpha(x)$$&#xA;($x$ is an integer if it satisfies every property $\alpha$ which is true for $0$ and is true for $y+1$ as soon as it is true for $y$). Now, erase all first-order information and second-order quantification.  You get&#xA;$$(\alpha\Rightarrow\alpha)\Rightarrow\alpha\Rightarrow\alpha$$&#xA;Translated in types, this is&#xA;$$\mathsf{N}:=(o\rightarrow o)\rightarrow o\rightarrow o.$$&#xA;Guess who are the normal forms of type $\mathsf N$?  Exactly the (typed version of the) Church numerals.  So every term $\mathsf{N}\rightarrow\mathsf{N}$ is a function on integers.  If you keep the first and second order information, you get much more.  For instance, the proof in second-order Peano arithmetic that addition is total, i.e., that&#xA;$$\vdash\forall x.\forall y.\mathsf{Nat}(x)\land\mathsf{Nat}(y)\Rightarrow\mathsf{Nat}(x+y)$$&#xA;gives you a $\lambda$-term of type $\mathsf{N}\times\mathsf{N}\rightarrow\mathsf{N}$. Guess what functions it computes? Well, addition, of course (see Krivine's book &quot;Lambda-calculus: Types and Models&quot;). Cool, isn't it?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another classical source to learn about Curry-Howard is Girard, Lafont and Taylor's book &quot;Proofs and Types&quot; (but you may already know that, it's in the bibliography of the book you are reading).&lt;/p&gt;&#xA;" OwnerUserId="20716" LastEditorUserId="20716" LastEditDate="2015-02-20T12:07:28.500" LastActivityDate="2015-02-20T12:07:28.500" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="30556" PostTypeId="2" ParentId="30544" CreationDate="2015-02-19T17:47:16.100" Score="3" Body="&lt;p&gt;Let me offer the simple, intuitive way that I think about this.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you restrict yourself to closed lambda expressions, you have an equivalent of the combinatory logic.  In fact with just a few simple closed lambda expressions you can generate all the others. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Closed lambda expressions give you the equivalent of implications where any conclusion/output you reach is either something you put in as an input, or something that you built by combining your inputs (in the general case, possibly recursively).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This means that you can't pull a result &quot;out of thin air&quot; the way you can with non-constructive logics / mathematics.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The only tricky bit left is how you handle negation / non-termination, which is a whole area by itself, but hopefully I've already given you the simple, but deep, correspondence between the three that you are asking for.&lt;/p&gt;&#xA;" OwnerUserId="629" LastActivityDate="2015-02-19T17:47:16.100" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="30557" PostTypeId="1" CreationDate="2015-02-19T18:36:19.117" Score="3" ViewCount="90" Body="&lt;p&gt;Let $N=2^n$. In Aaronson's &lt;a href=&quot;http://www.scottaaronson.com/papers/qchvpra.pdf&quot; rel=&quot;nofollow&quot;&gt;&lt;em&gt;Quantum Computing and Hidden Variables&lt;/em&gt;&lt;/a&gt; &lt;strong&gt;(1)&lt;/strong&gt; and the recent follow up by Aaronson, Bouland, Fitzsimons, and Lee &lt;a href=&quot;http://arxiv.org/abs/1412.6507&quot; rel=&quot;nofollow&quot;&gt;&lt;em&gt;The space &quot;just above&quot; BQP&lt;/em&gt;&lt;/a&gt; &lt;strong&gt;(2)&lt;/strong&gt;, we consider models of computation involving hidden variables or non-collapsing measurements, and prove that this model of computation is able to simulate Grover's algorithm in time $O(N^{1/3})$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The proof &amp;mdash; Theorem 10 of &lt;strong&gt;(1)&lt;/strong&gt; or Theorem 4.1 of &lt;strong&gt;(2)&lt;/strong&gt;; both go the same way for my question &amp;mdash; starts with applying $N^{1/3}$ Grover iterations.&#xA;After this we should have the state:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\alpha \lvert x\rangle+\beta \!\!\!\sum_{y \in \{0,1\}^n} \!\!\lvert y\rangle$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where $\alpha = \dfrac{1}{\sqrt{2^{n/3} + 2^{-n/3 + 1} + 1}}$ and $\beta = 2^{-n/3}\alpha$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My questions:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;From where do we follow this? The original paper from Grover is referenced, but he provides only the recurrence (in later versions he added a reference to the explicit sin/cos solution).  &lt;/li&gt;&#xA;&lt;li&gt;In my opinion, the state should be something like $\alpha \lvert x\rangle+\beta \sum_{y \in \{0,1\}^n \:\! \setminus\{x\}} \lvert y\rangle$, otherwise we would have for $n=3$ a superposition of $1 + 2^3 = 9$ states. I guess this is only a lazy notation for convenience?&lt;/li&gt;&#xA;&lt;li&gt;Is this state normalized? If I try e.g. $n=3$, then I will have:&#xA;$$\begin{aligned}[b]&#xA;      \alpha &amp;amp;= \frac{1}{\sqrt{2^{1} + 2^{-1 + 1} + 1}}&#xA;      = \frac{1}{2}&#xA;    \\[1ex]&#xA;       \beta &amp;amp;= 2^{-n/3}\alpha = 2^{-1} \cdot \frac{1}{2} = \frac{1}{4} &#xA;    \end{aligned}$$&#xA;If we assume a factor $k$ from the sum, we can try to check the normalization with:&#xA;$$\begin{aligned}[b]&#xA;   1 = \alpha^2 + (k\beta)^2&#xA;= \bigl(\frac{1}{2}\bigr)^2 + \bigl(\frac{k}{4}\bigr)^2&#xA;={}&amp;amp; \frac{4 + k^2}{16}&#xA;\\[1ex]\implies{}&amp;amp; k^2 = 12&#xA;\end{aligned}$$&#xA;which is not solvable in integer. (If I take the $n$ general, substitute by $2^{n/3} = s$, and solve for $\alpha^2 + (k\beta)^2 = 1$, I get a polynomial in 3. degree. The general case does not give any insight for me)&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;The statement from &lt;strong&gt;(1)&lt;/strong&gt; that &quot;one can check that this state is normalized&quot; does not provide a good feeling for my question. Scott Aaronson published a &lt;a href=&quot;http://www.scottaaronson.com/blog/?p=2072&quot; rel=&quot;nofollow&quot;&gt;&quot;list&quot; of some errata&lt;/a&gt; on his blog for this paper, but the list did not include this. What am I missing?&lt;/p&gt;&#xA;" OwnerUserId="32152" LastEditorUserId="248" LastEditDate="2015-02-21T16:39:05.660" LastActivityDate="2015-02-21T16:39:05.660" Title="Clarification for argument in proof of search in N^1/3 queries with hidden variables/non-collapsing measurements" Tags="&lt;quantum-computing&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="30559" PostTypeId="1" CreationDate="2015-02-20T15:11:58.103" Score="2" ViewCount="57" Body="&lt;p&gt;Consider the following problem that I call »Minimum Type Selection«:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Input: $k$ sets of bit vectors, each of length $n$ and a number $l$.&lt;/li&gt;&#xA;&lt;li&gt;Question: Is it possible to pick exactly one bit vector from each of the $k$ sets such that these $k$ bit vectors composed row-wise as a matrix contain at most $l$ distinct columns.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I was able to show that this problem is NP-complete. I now wonder about the parameterized complexity where $k$ is the parameter. For fixed $k$, the problem is trivially in P, implying that the parameterized problem is in XP. What, however, about FPT? Do you have any ideas?&lt;/p&gt;&#xA;" OwnerUserId="26761" LastActivityDate="2015-02-20T15:11:58.103" Title="Parameterized Complexity of Minimum Type Selection" Tags="&lt;matrices&gt;&lt;parameterized-complexity&gt;" AnswerCount="0" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="30561" PostTypeId="2" ParentId="30557" CreationDate="2015-02-20T21:04:47.703" Score="4" Body="&lt;p&gt;The short answer is that the state we wrote down is only an approximation in the large $n$ limit (which is all that is required to prove the upper bound). The state isn't normalized for finite $n$, but becomes normalized as $n \rightarrow \infty$. It looks like we either used a different approximation than what I will describe below, or made a typo - thanks for pointing this out! - but these details don't affect our proof.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The details:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;After $t$ Grover iterations, the exact state of the system is&#xA;$\sin((2t+1)\theta) | x \rangle + \cos((2t+1)\theta) \Sigma_{y\neq x} \frac{1}{\sqrt{2^n-1}} | y\rangle$&#xA;Where $\theta$ is such that $\sin(\theta) = 2^{-n/2}$ (this exact solution is given in Nielsen &amp;amp; Chuang Section 6.1.3).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Working with the exact expression isn't very informative about how this state behaves asymptotically. So most of the time, to analyze asymptotics, people use the approximation that for small $\theta$, we have that $\sin\theta \approx \theta$ and $\cos\theta\approx 1-\theta^2/2$. Using this approximation, you can show that if you set $t=2^{n/3 -1}$, then your resulting state is $\approx \frac{2^{n/3}+1}{2^{n/2}} |x\rangle +\left(1-\frac{1}{2}\left(\frac{2^{n/3}+1}{2^{n/2}}\right)^2\right) \Sigma_{y\neq x} \frac{1}{\sqrt{2^n-1}} | y\rangle$. Note we've lost the normalization because of our approximation - so if you plug in any $n\in\mathbb{N}$ as you did, you'll get a non-normalized state. However as $n\rightarrow\infty$ the state becomes normalized, because the approximation $\sin\theta\approx \theta$ becomes increasingly accurate.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;From this, you can easily see that if you measure this state, you see $x$ with probability $\Theta(2^{-n/3})$. Hence if you could perform $\tilde{O}(2^{n/3})$ non-collapsing measurements, you'd see the marked item once with constant probability. This is all we're using about the state to prove our upper bound. &lt;/p&gt;&#xA;" OwnerUserId="13754" LastActivityDate="2015-02-20T21:04:47.703" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="30564" PostTypeId="2" ParentId="30542" CreationDate="2015-02-21T06:56:36.237" Score="6" Body="&lt;p&gt;Squash types correspond to &lt;em&gt;judgmental&lt;/em&gt; truncation, not &lt;em&gt;propositional&lt;/em&gt; truncation.  In a type theory without a type for judgmental equality, there's non much of a way to make use of an inhabitant of a squash type; there's no way to write an eliminator into any type except another squash type.  Relatedly, having squash types, as presented in the book you linked, makes typechecking undecidable; having propositional truncation types does not result in this drawback.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Why do squash types result in undecidable typechecking?  Quoting the book you linked:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;The first approach to representing the proposition is to consider the ‘squash’&#xA;  type, defined in [C+86a] to be&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;$\|A\| ≡_{df} \{ t : \top\ \mid\ A \}$&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;which will be inhabited by the object $Triv$ if and only if there is some proof&#xA;  object $a : A$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Now let $A$ be your favorite undecidable problem, and ask your typechecker to decide if $Triv$ has type $\|A\|$.  By construction, it can't decide your problem, and thus can't typecheck $Triv : \|A\|$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that this problem is specific to squash types with canonically named inhabitants.  Agda has a form of judgmental truncation, which goes by the name &quot;irrelevant arguments&quot; or &quot;irrelevant fields&quot;, without canonically named inhabitants.  Agda maintains decidable typechecking, though I think it doesn't manage to throw away the proofs, and has to carry them around (perhaps only for technical implementation reasons).  (This would be something to ask about on the Agda mailing list.)  These suffer the drawback, mentioned above, of not being able to eliminate into any non-irrelevant types.&lt;/p&gt;&#xA;" OwnerUserId="32165" LastEditorUserId="32165" LastEditDate="2015-02-22T10:35:19.450" LastActivityDate="2015-02-22T10:35:19.450" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="30565" PostTypeId="1" AcceptedAnswerId="30566" CreationDate="2015-02-21T12:22:51.243" Score="-3" ViewCount="502" Body="&lt;p&gt;Consider the basic problem in which the input is an array A of n bits, and we need to output some index i with A[i]=1 (we can read a single bit each time).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can you give me an example using Yao's minimax principle to lowerbound the complexity of the problem with $\Omega(n)$?&lt;/p&gt;&#xA;" OwnerUserId="32169" LastActivityDate="2015-02-21T13:54:41.737" Title="Using Yao's minimax principle" Tags="&lt;lower-bounds&gt;&lt;randomized-algorithms&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ClosedDate="2015-02-22T03:41:09.980" ContentLicense="CC BY-SA 3.0" />
  <row Id="30566" PostTypeId="2" ParentId="30565" CreationDate="2015-02-21T13:54:41.737" Score="5" Body="&lt;p&gt;First, to be precise in your problem statement, we probably are promised that $A$ has at least one index $i$ with $A[i] = 1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We want to show that no randomized algorithm can guarantee better than $\Omega(n)$ expected number of queries. In other words, we want to show that for any randomized algorithm, on its worst-case input, it requires $\Omega(n)$ queries.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By the minimax principle, the expected number of steps required by any randomized algorithm on its worst-case input is lower-bounded by the following: for any distribution $D$ on inputs, the expected number of steps of the best deterministic algorithm against that distribution.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Make sure that the preceding paragraph makes sense. &lt;em&gt;Any randomized algorithm against its worst-case input has poorer performance than any randomized input distribution against its best-case deterministic algorithm.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So now we have two steps: First, construct a distribution $D$ on inputs; and second, show that the best deterministic algorithm takes $\Omega(n)$ steps in expectation against that distribution.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The nice thing about the argument is that any such $D$ will give you some lower bound. For instance, the distribution on $A$ where $A = (1,0,0,0,...)$ every time is a distribution on inputs. But, the best deterministic algorithm against this distribution just checks the first coordinate first, and always finds a $1$ there, so this gives a lower bound of $1$ query -- pretty terrible.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another distribution would have $A = (1,0,0,...)$ with probability $0.5$ and $A = (0,1,0,0,...)$ with probability $0.5$. Here, the best any deterministic algorithm can do is either check the first position first and then the second, or check the second and then the first. In either case, the deterministic algorithm finds a $1$ with an expected number of queries $0.5\cdot 1 + 0.5\cdot 2 = 1.5$ (because half the time it finds it on the first try and half the time it finds it on the second try). Still not great.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, can you think of a better distribution $A$ to use?&lt;/p&gt;&#xA;" OwnerUserId="8243" LastActivityDate="2015-02-21T13:54:41.737" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="30568" PostTypeId="2" ParentId="30552" CreationDate="2015-02-21T19:55:44.600" Score="0" Body="&lt;p&gt;In real world KMP algorithm is used in those applications where pattern matching is done in long strings, whose symbols are taken from an alphabet with little cardinality. A relevant example is the DNA alphabet, which consists on only 4 symbols (A,C,G,T). Imagine how KMP can work in a &quot;DNA pattern matching problem&quot;: it is really suitable because many repetition of the same letter allows many jumps, and so less computation time wasted. If you are interested in this resarching area just google &quot;DNA pattern matching algorithms&quot;, there's a lot to say.&lt;/p&gt;&#xA;" OwnerUserId="32005" LastEditorUserId="32005" LastEditDate="2015-02-23T14:23:45.740" LastActivityDate="2015-02-23T14:23:45.740" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="30570" PostTypeId="1" AcceptedAnswerId="30576" CreationDate="2015-02-21T21:32:10.627" Score="7" ViewCount="391" Body="&lt;p&gt;&lt;a href=&quot;https://rjlipton.wordpress.com/2013/06/20/three-theorems-about-growth/&quot; rel=&quot;nofollow noreferrer&quot;&gt;RJ Lipton conjectures&lt;/a&gt; a link between group growth theory and complexity theory. Group growth theory has &lt;a href=&quot;http://www.ams.org/journals/bull/0000-000-00/S0273-0979-2015-01475-8/S0273-0979-2015-01475-8.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;undergone rapid advance&lt;/a&gt; in the last decade and has many surface similarities/ parallels with complexity theory. (of course there are other deep &lt;a href=&quot;https://cs.stackexchange.com/questions/14398/bridge-theorems-for-group-theory-and-formal-languages&quot;&gt;known links&lt;/a&gt; between TCS/ group theory.)&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;has anyone seen a link between group growth theory and complexity theory? eg have any complexity class separations been found expressible in this framework, etc?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;(eg conceivably there could be an intermediate link via boolean circuits etc.)&lt;/p&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="-1" LastEditDate="2017-04-13T12:48:30.830" LastActivityDate="2017-03-14T05:41:07.573" Title="possible bridge between group growth theory and complexity theory?" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;complexity-classes&gt;&lt;big-picture&gt;&lt;gr.group-theory&gt;" AnswerCount="2" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="30571" PostTypeId="2" ParentId="30550" CreationDate="2015-02-21T22:53:53.070" Score="1" Body="&lt;p&gt;Some of the performance-related things you can objectively compare between different databases:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;IO complexity and computational complexity of different queries. E.g. there are different ways to do joins, sorting, different kinds of indices (including &quot;no indices&quot;), with objectively different asymptotic complexity. There are also column-oriented and row-oriented ways of organizing data, with different complexity of fetching a subset of columns.&lt;/li&gt;&#xA;&lt;li&gt;Caching behavior: is there a performance cliff when the data stops fitting in a particular level of memory hierarchy (e.g. in RAM), or does it degrade gracefully? The second kind is called &quot;cache-oblivious&quot;; one example is &lt;a href=&quot;http://en.wikipedia.org/wiki/TokuDB&quot; rel=&quot;nofollow&quot;&gt;TokuDB&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Presence or absence of certain types of concurrency or conflict resolution in transaction processing: e.g. if the database doesn't support MVCC, then it cannot concurrently execute transactions reading or affecting the same row.&lt;/li&gt;&#xA;&lt;li&gt;For distributed databases, you can look at how consensus between replicas is achieved, and when is an update considered &quot;done&quot; (acknowledged) - this has huge impact on read/write throughput and latency. See e.g. &lt;a href=&quot;http://wiki.apache.org/cassandra/ArchitectureOverview&quot; rel=&quot;nofollow&quot;&gt;Cassandra architecture overview&lt;/a&gt; for the &quot;R + W &gt; N&quot; rule (I don't have an academic source on the top of my head); for a radically different approach, look at Google's Spanner.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Hope this helps.&lt;/p&gt;&#xA;" OwnerUserId="326" LastActivityDate="2015-02-21T22:53:53.070" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="30573" PostTypeId="1" AcceptedAnswerId="30574" CreationDate="2015-02-22T03:55:53.480" Score="-2" ViewCount="714" Body="&lt;p&gt;In general, the undecidability of the halting problem prohibits the general determination of an algorithm's complexity. However, I can see no reason why the halting problem prohibits one from deciding if a given algorithm runs in polynomial time, since the halting problem doesn't reduce to determining whether an algorithm is polynomial. So what research is there on it? Or what mistake am I making in my reasoning?&lt;/p&gt;&#xA;" OwnerUserId="25335" LastActivityDate="2015-02-22T07:04:42.357" Title="Algorithm to determine if given algorithm runs in polynomial time" Tags="&lt;ds.algorithms&gt;&lt;time-complexity&gt;" AnswerCount="1" CommentCount="2" ClosedDate="2015-02-22T19:15:43.333" ContentLicense="CC BY-SA 3.0" />
  <row Id="30574" PostTypeId="2" ParentId="30573" CreationDate="2015-02-22T05:10:31.590" Score="1" Body="&lt;p&gt;It might not be the Halting Problem exactly, but it is also not possible to decide if a given algorithm runs in polynomial time or not. The reason is the same as many other undecidable problems; using Kleene's Recursion theorem, an algorithm can always query if itself is a polynomial time algorithm, and can adopt the opposite behavior.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Example properties of algorithms that &lt;em&gt;are&lt;/em&gt; decidable are things such as:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;If an algorithm's source code has less than 1000 characters&lt;/li&gt;&#xA;&lt;li&gt;If an algorithm, on a given input $x$, will halt within 500 steps&lt;/li&gt;&#xA;&lt;li&gt;If an algorithm's source code has a particular symbol in it&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;That is, properties of an algorithm that have nothing to do with its execution (or only a limited part of its execution) tend to be decidable, while any nontrivial property of a program's execution will likely be undecidable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, in general, &lt;em&gt;any&lt;/em&gt; property of an algorithm related to its output is undecidable (this is formalized by Rice's theorem), although running time is not a property of its output.&lt;/p&gt;&#xA;" OwnerUserId="8985" LastEditorUserId="8985" LastEditDate="2015-02-22T07:04:42.357" LastActivityDate="2015-02-22T07:04:42.357" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="30575" PostTypeId="2" ParentId="30546" CreationDate="2015-02-22T06:24:44.300" Score="6" Body="&lt;p&gt;The idea of how to 'mechanize mathematical proof' was a hot topic at the time; more specifically, Hilbert posed the &lt;em&gt;Entscheidungsproblem&lt;/em&gt; - could we have a machine in some factory somewhere that takes mathematical statements in, and outputs proofs of the truth or falseness of those statements, as easily as machines might weave cotton or drill holes in steel?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If one was 'merely' dealing with the mathematical concept of a function, then we can define such a function whose input is a mathematical statement (formally, a first order sentence in the language of number theory) and whose output is either 'True' or 'False'. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is perfectly satisfactory as a mathematical function (once one has properly defined what it means for a statement to be true or false) but now one has a &lt;em&gt;constructibility&lt;/em&gt; problem; the mere existence is not useful when your main goal is to actually evaluate this function on given inputs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The purpose of the lambda calculus, and equivalent models such as Turing machines, is to provide this construction. When a mathematical function matches the input/output behavior of a Turing machine, or (equivalently) has a representation in terms of the lambda calculus, then such a function is called 'computable'. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Gödel's Incompleteness Theorem states that the true/false function described above is not computable. It is generally believed that the only mathematical functions that can be evaluated in the 'real world' are exactly the computable ones (this is the Church-Turing Thesis). Therefore, despite existing as a mathematical function, we have absolutely no way to evaluate that function in general (of course, there are still &lt;em&gt;specific&lt;/em&gt; inputs where we can evaluate that function)&lt;/p&gt;&#xA;" OwnerUserId="8985" LastActivityDate="2015-02-22T06:24:44.300" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="30576" PostTypeId="2" ParentId="30570" CreationDate="2015-02-22T07:20:31.297" Score="7" Body="&lt;p&gt;There has been some recent work in terms of characterizing automorphism groups of strongly regular graphs using asymptotic group theory (e.g. &lt;a href=&quot;http://people.cs.uchicago.edu/~laci/papers/14itcs.pdf&quot;&gt;this paper&lt;/a&gt;), which (for many reasons) is likely very closely related to the complexity of algorithms on strongly regular graphs that use group-theoretic methods, although exploiting such properties algorithmically is still an open question.&lt;/p&gt;&#xA;" OwnerUserId="8985" LastActivityDate="2015-02-22T07:20:31.297" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="30577" PostTypeId="2" ParentId="28010" CreationDate="2015-02-22T12:05:06.107" Score="2" Body="&lt;p&gt;Well, Mislove's quote already contains a positive answer: the category of dcpos is carteisan closed and also closed under the probabilistic powerdomain. It can indeed be used to give a denotational semantics to higher-order probabilistic computation. However, dcpos fail to satisfy the &quot;usual approximation assumptions&quot; that every element can be approximated by &quot;finite&quot; elements in some sense, as is the case for algebraic and continuous cpos. These assumptions help with certain denotational arguments but are not needed to give a semantics per se. &lt;/p&gt;&#xA;" OwnerUserId="32177" LastActivityDate="2015-02-22T12:05:06.107" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="30580" PostTypeId="1" CreationDate="2015-02-22T21:03:25.053" Score="4" ViewCount="168" Body="&lt;p&gt;I already posted this question &lt;a href=&quot;https://cs.stackexchange.com/questions/28865/complexity-of-a-naive-algorithm-for-finding-the-longest-fibonacci-substring&quot;&gt;here&lt;/a&gt; but I didn't receive an answer, so I'm posting it here as well :)&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Given two symbols $\text{a}$ and $\text{b}$, let's define the $k$-th Fibonacci string as follows:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$ F(k) = \begin{cases} \text{b} &amp;amp;\mbox{if } k = 0 \\&#xA;\text{a} &amp;amp;\mbox{if } k = 1 \\&#xA;F(k-1) \star F(k-2) &amp;amp;\mbox{else} \end{cases} $$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;with $\star$ denoting string concatenation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thus we'll have:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$F(0) = \text{b}$&lt;/li&gt;&#xA;&lt;li&gt;$F(1) = \text{a}$&lt;/li&gt;&#xA;&lt;li&gt;$F(2) = F(1) \star F(0) = \text{ab}$&lt;/li&gt;&#xA;&lt;li&gt;$F(3) = F(2) \star F(1) = \text{aba}$&lt;/li&gt;&#xA;&lt;li&gt;$F(4) = F(3) \star F(2) = \text{abaab}$&lt;/li&gt;&#xA;&lt;li&gt;...&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Given a string $S$ formed by $n$ symbols, we define a Fibonacci substring as any &lt;a href=&quot;https://en.wikipedia.org/wiki/Substring&quot; rel=&quot;nofollow noreferrer&quot;&gt;substring&lt;/a&gt; of $S$ which is also a Fibonacci string for a suitable choice of $\text{a}$ and $\text{b}$.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;The problem&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;Given $S$, we want to find its longest Fibonacci substring.&lt;/p&gt;&#xA;&#xA;&lt;h3&gt;A trivial algorithm&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;For each position $i$ of the string $S$, suppose that $F(2)$ starts there (it's enough to check that the $i$-th and $(i+1)$-th symbols are distinct). If that's the case, check if it can be extended to $F(3)$, then $F(4)$, and so on. After that, start again from the position $i+1$. Repeat until you reach the position $n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We must look at each symbol at least once, so it's $\Omega(n)$. There are only two for loops involved, so we can furthermore say that it's $O(n^2)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However (somewhat unsurprisingly) this naive algorithm performs much better than usual quadratic algorithms (if it does a lot of work on the $i$-th position, it won't do a lot of work in the next positions).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;How can I use Fibonacci properties to find tighter bounds for the execution time of this algorithm?&lt;/p&gt;&#xA;" OwnerUserId="32182" LastEditorUserId="-1" LastEditDate="2017-04-13T12:48:30.830" LastActivityDate="2015-02-22T21:03:25.053" Title="Complexity of a naive algorithm for finding the longest Fibonacci substring" Tags="&lt;ds.algorithms&gt;&lt;time-complexity&gt;&lt;string-search&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="30581" PostTypeId="1" CreationDate="2015-02-22T22:06:47.437" Score="8" ViewCount="753" Body="&lt;p&gt;Currently, our ToC (Theory of Computation) courses are designed with the following progression of topics:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Finite automata and regular languages&lt;/li&gt;&#xA;&lt;li&gt;Pushdown automata and context-free languages&lt;/li&gt;&#xA;&lt;li&gt;Turing Machines&lt;/li&gt;&#xA;&lt;li&gt;Undecidability and TMs&lt;/li&gt;&#xA;&lt;li&gt;Complexity classes (P, NP etc.)&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;If one were to redesign the ToC course where TMs in #3 and #4 above would be replaced by $\lambda$-calculus how would the rest of the course look like? That is, what would we teach in place of #1 &amp;amp; #2 above to progressively lead to $\lambda$-calculus? Also, could there really be chapter on complexity classes with $\lambda$-calculus as THE model of computation?&lt;/p&gt;&#xA;" OwnerUserId="7014" LastActivityDate="2015-10-13T16:20:43.867" Title="How would a theory of computation course that culminated in lambda-calculus as &quot;the&quot; model of computation, instead of Turing machines, look like?" Tags="&lt;soft-question&gt;&lt;big-list&gt;&lt;big-picture&gt;&lt;lambda-calculus&gt;&lt;teaching&gt;" AnswerCount="2" CommentCount="8" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="30583" PostTypeId="1" CreationDate="2015-02-23T00:37:07.943" Score="1" ViewCount="100" Body="&lt;p&gt;Given an $n\times n$ Vandermonde integer matrix with structured integers (such as arithmetic or geometric progression).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is complexity of approximately computing Vandermonde determinant upto multiplicative error $\epsilon_m$ and additive error $\epsilon_a$ studied in literature?&lt;/p&gt;&#xA;" OwnerUserId="1812" LastEditorUserId="1812" LastEditDate="2015-02-23T04:07:14.577" LastActivityDate="2015-02-23T04:07:14.577" Title="Complexity of Approximating Vandermonde Determinant" Tags="&lt;reference-request&gt;&lt;linear-algebra&gt;" AnswerCount="0" CommentCount="2" FavoriteCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="30586" PostTypeId="2" ParentId="30546" CreationDate="2015-02-23T08:23:43.717" Score="3" Body="&lt;p&gt;I do not know of a source that would allow me to state why Church went for functions. All I can state with confidence is that the concept of a function was of significant interest and controversy at the time.  This was, recall, before Gödel proved it impossible to formalize mathematics completely, and a lot of effort was poured in developing a consistent and complete formal system that could handle all of mathematics.  Functions are a pretty big part of math.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This goes a bit afar from your question, but I believe this needs to be said, in light of the comments and the other answer: For many years, it was by no means obvious that the lambda calculus could be powerful enough to model computability (and I believe nobody even considered that it could).  Eventually, the usual Church encodings were discovered, which led Church to posit that lambda calculus actually does model all effectively calculable functions.  At least Gödel was not convinced.  It was after Turing had published his machine (the correspondence of which with effective calculability is easy to argue for) and proved it equally capable to lambda calculus that what was later called Church's thesis was taken seriously by all.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some papers on the history:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;J. Barkley Rosser: Highlights of the History of the Lambda-Calculus. Annals of the History of Computing 6(4), 337-349, 1984. &lt;a href=&quot;http://dx.doi.org/10.1109/MAHC.1984.10040&quot; rel=&quot;nofollow&quot;&gt;link&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Felice Cardone and J. Roger Hindley: History of Lambda-Calculus and Combinatory Logic. A Chapter of &quot;Handbook of the History of Logic&quot; volume 5, 2006.  &lt;a href=&quot;http://www.pps.univ-paris-diderot.fr/~saurin/Enseignement/LMFI/articles/HindleyCardone06.pdf&quot; rel=&quot;nofollow&quot;&gt;manuscript available online&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Robert I. Soare: Computability and Recursion.  Bulletin of Symbolic Logic 2(3), 284-321, 1996. &lt;a href=&quot;http://www.jstor.org/stable/420992&quot; rel=&quot;nofollow&quot;&gt;link&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Robert I. Soare: Computability and Incomputability.  Computation and Logic in the Real World, LNCS 4497, 705-715, 2007. &lt;a href=&quot;http://dx.doi.org/10.1007/978-3-540-73001-9_75&quot; rel=&quot;nofollow&quot;&gt;link&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="21904" LastActivityDate="2015-02-23T08:23:43.717" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="30588" PostTypeId="1" CreationDate="2015-02-23T12:05:22.447" Score="0" ViewCount="76" Body="&lt;p&gt;In a connected / undirected / node weighted (with both positive and negative weights) network, there are many papers studied about the 'Maximum weight connected subgraph' problem. But are there any algorithms (even heuristic) to find highly weighted (not necessarily maximum) subnetworks that are densely inter-connected? &lt;/p&gt;&#xA;" OwnerUserId="32191" LastEditorUserId="32191" LastEditDate="2015-02-24T09:16:23.693" LastActivityDate="2015-02-24T09:16:23.693" Title="Detect highly weighted but also densely inter-connected subnetworks" Tags="&lt;graph-algorithms&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="30589" PostTypeId="2" ParentId="30581" CreationDate="2015-02-23T15:08:12.710" Score="5" Body="&lt;p&gt;The kind of approach to theory of computation you describe is what I like to call an &lt;em&gt;abstract machine based computability theory&lt;/em&gt;:&#xA;i.e. a theory that define computable functions/languages/etc via some abstract kind of machine (automata, linear automata, Turing&#xA;machine etc).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An approach that uses $\lambda$-calculus instead of Turing machines could be thought as an &lt;em&gt;expressions based computability theory&lt;/em&gt;:&#xA;i.e. a theory where one prescribe some basic operations which are intuitively calculable and some operators defined between them to&#xA;build other computable operations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In this &lt;em&gt;expression based computability theory&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;regular expressions correspond to finite state automata;                                                                             &lt;/li&gt;&#xA;&lt;li&gt;linear and context free grammar correspond to pushdown automaton and linear bounded automaton&lt;/li&gt;&#xA;&lt;li&gt;(untyped) $\lambda$-calculus correspond to Turing machines&lt;/li&gt;&#xA;&lt;li&gt;I don't know very much about complexity in $\lambda$-calculus but I guess  it could be approached as done for complexity of $\mu$-recursive function or of logic formulas, classifying $\lambda$-terms in complexity&#xA;classes by their structure (then of course it would be nice to compare these complexity classes with complexity classes for other models of computation, like Turing machines).&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Hope this helps.&lt;/p&gt;&#xA;" OwnerUserId="25498" LastEditorUserId="25498" LastEditDate="2015-02-26T10:52:29.970" LastActivityDate="2015-02-26T10:52:29.970" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="30590" PostTypeId="2" ParentId="30546" CreationDate="2015-02-23T15:21:27.770" Score="1" Body="&lt;p&gt;This is just a very long comment to Joe Babel answer above.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As said above Church invented $\lambda$-calculus to approach the &lt;em&gt;Entscheidungsproblem&lt;/em&gt; (i.e. the decision problem for first-order logic)&#xA;which asked whether it was possible to provide an &lt;em&gt;effective (i.e. computable) method&lt;/em&gt; that for a given input formula can either prove or disprove the formula.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In order to solve this problem it was necessary to define what computable means:&#xA;Church gave a definition in term of computable functions which are called $\lambda$-terms.&#xA;I guess that this choice was motivated by the intuitive notion of computation that they have at time: a &lt;em&gt;computation&lt;/em&gt; as a process which takes some input and return some output, which is exactly the concept of function.&lt;/p&gt;&#xA;" OwnerUserId="25498" LastActivityDate="2015-02-23T15:21:27.770" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="30591" PostTypeId="1" CreationDate="2015-02-23T18:03:11.473" Score="7" ViewCount="458" Body="&lt;p&gt;I was interested in knowing about open research topics related with sub modularity, specially within its intersection with theoretical machine learning (and related topics). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am particularly interested in algorithms (specially their application to machine learning, and whenever possible, proving theoretical guarantees for them, wether these guarantees are in complexity or learnability).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'd be interested in knowing if there are any &quot;heuristic&quot; algorithms out there in the area of sub modularity and machine learning, with unknown guarantees. From my current knowledge of the topic, the most common heuristic seems to be the &quot;greedy&quot; heuristic, and it seems to be quite well understood. Hence, I was wondering if there was any open problems in the area of designing new algorithms (or improving current ones) or algorithms that already exists, that don't have any guarantees. Is there anything open questions related with theoretical guarantees that is open in sub modularity?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Or of if there aren't any such open question, are there any open question in the intersection of sub modularity and machine learning?&lt;/p&gt;&#xA;" OwnerUserId="20909" LastActivityDate="2015-02-24T07:45:14.670" Title="Are there any interesting open questions having to do with submodularity, specially in the intersection of theoretical machine learning?" Tags="&lt;ds.algorithms&gt;&lt;approximation-algorithms&gt;&lt;machine-learning&gt;&lt;open-problem&gt;&lt;submodularity&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="30592" PostTypeId="1" AcceptedAnswerId="31679" CreationDate="2015-02-23T18:19:33.757" Score="2" ViewCount="554" Body="&lt;p&gt;There are pursuers and evaders in the vertices of a directed graph G with one component.  Each vertex must have atleast one outgoing edge (can be a loop).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;At each time t: &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The evaders must move along an edge to another vertex (may use loop)&lt;/li&gt;&#xA;&lt;li&gt;Each pursuer must check one vertex (it can be any vertex in G).&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;A vertex is considered contaminated at time &lt;em&gt;t&lt;/em&gt; if an evader can be there without having been caught by the pursuers. A vertex &lt;em&gt;v&lt;/em&gt; is decontaminated at time &lt;em&gt;t&lt;/em&gt; if:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;A pursuer is checking &lt;em&gt;v&lt;/em&gt;.&lt;/li&gt;&#xA;&lt;li&gt;All edges to &lt;em&gt;v&lt;/em&gt; originate from vertices which were decontaminated at time &lt;em&gt;t-1&lt;/em&gt;.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;At time &lt;em&gt;t=0&lt;/em&gt; all vertices are contaminated. The goal is that all vertices are decontaminated. This translates to the evaders being guaranteed to be caught.&#xA;A search strategy for &lt;em&gt;k&lt;/em&gt; pursuers is a sequence of &lt;em&gt;k-tuples&lt;/em&gt; referencing &lt;em&gt;k&lt;/em&gt; vertices i.e. &quot;check these &lt;em&gt;k&lt;/em&gt; vertices at time &lt;em&gt;t=0&lt;/em&gt;, then these &lt;em&gt;k&lt;/em&gt; vertices at time &lt;em&gt;t=1&lt;/em&gt;&quot; and so on.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is the minimum amount of pursuers needed to decontaminate all vertices in G?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is the optimal (shortest sequence) search strategy given a graph G and k pursuers?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;So, where can I find this problem definition or an equal one? Is this problem NP-complete and if it is, how can that be shown?&lt;/strong&gt; &lt;/p&gt;&#xA;" OwnerUserId="32194" LastEditorUserId="32194" LastEditDate="2015-02-24T11:17:01.707" LastActivityDate="2015-06-03T20:18:23.943" Title="Has this formulation of pursuit evasion been researched? Similar to Helicopter Cops and Robbers Game" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;" AnswerCount="2" CommentCount="7" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="30593" PostTypeId="2" ParentId="30591" CreationDate="2015-02-23T19:54:09.400" Score="10" Body="&lt;p&gt;There are many open algorithmic problems. All problems below (other than the last bullet) are NP-hard, so we are interested in the best approximation ratio we can achieve in polynomial time. The following are just a sample:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Given a non-negative submodular function on a universe $U$, find a set $A$ of size at most $k$ maximizing $f(A)$. The best known approximation ratio is $1/e+0.004$ (&lt;a href=&quot;http://www.cs.princeton.edu/~roysch/Papers/SMC-BFNS14.pdf&quot;&gt;BFNS14&lt;/a&gt;). When &quot;at most&quot; is replaced by &quot;exactly&quot;, the best known approximation ratio is 0.356 (also BFNS14).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Given a non-negative monotone submodular function and $k$ matroids, find a set $A$ belonging to all different matroids and maximizing $f(A)$. When $k=1$ the best approximation ratio is $1-1/e$, and this is optimal. For larger $k$, &lt;a href=&quot;http://www2.warwick.ac.uk/fac/sci/dcs/people/maxim_sviridenko/MatroidExchange-MOR_rev2.pdf&quot;&gt;LSV&lt;/a&gt; give a $1/k$ approximation, but this is probably not tight.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;There are two algorithms for maximizing a non-negative monotone submodular function over a matroid that give the optimal approximation ratio $1-1/e$: the &lt;a href=&quot;http://web.engr.illinois.edu/~chekuri/papers/submod_max_journal.pdf&quot;&gt;continuous greedy algorithm&lt;/a&gt; and the &lt;a href=&quot;http://www.cs.toronto.edu/~yuvalf/FilmusWard.pdf&quot;&gt;non-oblivious local search algorithm&lt;/a&gt;. Both are randomized. The best known deterministic algorithm is the greedy algorithm, giving a $1/2$ approximation. Can we separate deterministic and randomized algorithms in this oracle setting? A similar question arises in the non-monotone unconstrained case, in which &lt;a href=&quot;http://www.cs.princeton.edu/~roysch/Papers/USM-BFNS12.pdf&quot;&gt;BFNS12&lt;/a&gt; give an optimal randomized $1/2$ approximation algorithm, but the best known deterministic algorithms (one in BFNS12 and an earlier local search algorithm due to &lt;a href=&quot;http://www.wisdom.weizmann.ac.il/~feige/mypapers/FeigeMirrokniVondrak.pdf&quot;&gt;FMV&lt;/a&gt;) give only a $1/3$ approximation.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Both the continuous greedy algorithm and the non-oblivious local search algorithm are rather slow. Is there a fast, $\tilde{O}(n)$ algorithm for maximizing a monotone submodular function over a matroid? (see &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.465.572&amp;amp;rep=rep1&amp;amp;type=pdf&quot;&gt;BV&lt;/a&gt; for the case of a uniform matroid)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Algorithms for &lt;em&gt;minimizing&lt;/em&gt; submodular functions are also a bit slow, the fastest running in time $O(n^5)$ (see &lt;a href=&quot;http://www.zib.eu/groetschel/teaching/PAPER/Iwata2008.pdf&quot;&gt;Iwata's survey&lt;/a&gt;).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="40" LastActivityDate="2015-02-23T19:54:09.400" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="30595" PostTypeId="1" AcceptedAnswerId="30600" CreationDate="2015-02-23T22:46:37.723" Score="3" ViewCount="106" Body="&lt;p&gt;1)  Is there a notion of (deterministic) finite state transducer (FST) that allows the possibility of producing an infinite stream of output symbols?  In other words, one where the transduction relation is a subset of $\Sigma^* \times \Gamma^\omega$ (as opposed to $\Sigma^* \times \Gamma^*$)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, the &lt;a href=&quot;http://en.wikipedia.org/wiki/Finite_state_transducer&quot; rel=&quot;nofollow&quot;&gt;definition of an FST given on Wikipedia&lt;/a&gt; involves a transition relation $\delta \subseteq Q \times (\Sigma \cup \{\epsilon\}) \times (\Gamma \cup \{\epsilon\}) \times Q$, which might first seem to permit infinite streams of output.  However, the transduction relation is defined inductively (basically, the reflexive-transitive closure of $\delta$), thereby ruling out infinitary outputs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2)  Relatedly, the definitions of FSTs that I've seen include a subset $F \subseteq Q$ of accepting states.  Is there a name for the class of (deterministic) FSTs in which $F = Q$, i.e., in which all input strings are accepted and the emphasis is placed on the output?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any references that you can point me to would be greatly appreciated!&lt;/p&gt;&#xA;" OwnerUserId="15804" LastActivityDate="2015-02-24T11:14:28.827" Title="Finite state transducer with infinitary outputs or without emphasis on acceptance?" Tags="&lt;reference-request&gt;&lt;automata-theory&gt;" AnswerCount="1" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="30596" PostTypeId="1" AcceptedAnswerId="30603" CreationDate="2015-02-23T22:59:03.847" Score="30" ViewCount="849" Body="&lt;p&gt;Define $io$-$SUBEXP$ to be the class of languages $L$ such that there is a language $L' \in \cap_{\varepsilon &amp;gt; 0} TIME(2^{n^{\varepsilon}})$ and for infinitely many $n$, $L$ and $L'$ agree on all instances of length $n$. (That is, this is the class of languages which can be &quot;solved infinitely often, in subexponential time&quot;.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there an oracle $A$ such that $NP^A \not\subset io$-$SUBEXP^A$? If we equip SAT with the oracle $A$ in the usual way, can we say that $SAT^A$ is not in this class? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;(I'm asking separate questions here, because we have to be careful with infinitely-often time classes: just because you have a reduction from problem $B$ to problem $C$ and $C$ is solvable infinitely often, you may not actually get that $B$ is solvable infinitely often without further assumptions on the reduction: what if your reduction from $B$ &quot;misses&quot; the input lengths that you can solve $C$ on?)&lt;/p&gt;&#xA;" OwnerUserId="225" LastActivityDate="2015-02-26T00:07:35.673" Title="Is there an oracle such that SAT is not infinitely often in sub-exponential time?" Tags="&lt;cc.complexity-theory&gt;&lt;sat&gt;&lt;oracles&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="30597" PostTypeId="1" CreationDate="2015-02-24T03:28:06.570" Score="6" ViewCount="144" Body="&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Kolmogorov_complexity#Chaitin.27s_incompleteness_theorem&quot; rel=&quot;nofollow noreferrer&quot;&gt;Chaitin's incompleteness theorem&lt;/a&gt; says no sufficiently strong theory of arithmetic can prove $K(x) &amp;gt; L$ where $K(x)$ is the Kolmogorov complexity of natural number $x$ and $L$ is a sufficiently large constant. The size of $L$ depends on the theory.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider the following hierarchy of theories: Let the base theory be &lt;a href=&quot;http://en.wikipedia.org/wiki/Robinson_arithmetic&quot; rel=&quot;nofollow noreferrer&quot;&gt;Robinson arithmetic&lt;/a&gt; ($Q$). Augment $Q$ with increasingly stronger axioms of polynomial bounded induction. Let $Q^*$ be the theory of theorems provable with $Q$ and any of these bounded induction axioms. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $L(T)$ be the least natural number such that $T\not\vdash \exists x(K(x)\geq L(T))$. In &lt;a href=&quot;https://cstheory.stackexchange.com/questions/29367/comparing-the-kolmogorov-complexity-of-theories&quot;&gt;Comparing the Kolmogorov complexity of theories&lt;/a&gt; I asked if there was a constant upper bound for $L(Q^*)$ and all of its sub-theories. The answer was yes. In fact, it was shown that $L(T)$ is monotonic for sub-theories of $Q^*$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One would assume this means $L(Q) \leq L(T) \leq L(Q^*)$ where $T$ is a sub-theory of $Q^*$. $L(Q^*) - L(Q)$ is a finite number and there are an infinite number of sub-theories. Does this mean an infinite number of sub-theories of $Q^*$ have the same complexity ($L(T)$)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another way to ask this question: Is there some point where stronger sub-theories can no longer prove the existence of numbers with larger Kolmogorov complexity than weaker sub-theories can prove. For example, can bounded induction beyond $L(Q^*)$ prove anything about the Kolmogorov complexity of numbers that can't be proven with weaker sub-theories?&lt;/p&gt;&#xA;" OwnerUserId="4881" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2015-02-24T03:28:06.570" Title="Comparing the Kolmogorov complexity of theories - Part 2" Tags="&lt;lo.logic&gt;&lt;kolmogorov-complexity&gt;" AnswerCount="0" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="30600" PostTypeId="2" ParentId="30595" CreationDate="2015-02-24T11:14:28.827" Score="5" Body="&lt;p&gt;There are several relevant references on the subject. I just indicate a few of them. I suggest you to browse the references of these articles to get more.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Early references include the work of Françoise Gire.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] F. Gire, &quot;Relations rationnelles infinitaires&quot;, Thèse de 3ème cycle, Paris VII, 1981.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] F. Gire, Une Extension aux Mots Infinis de la Notion de Transduction Rationnelle, 6th GI Conf., Lect. Notes in Comp. Sci., Volume 145, 1983, p. 123-139.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[3] F. Gire, M. Nivat, Relations rationnelles infinitaires. [Infinitary rational relations] Calcolo 21 (1984), no. 2, 91--125.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Interesting results can be found in&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[4] Latteux, M.; Timmerman, E. Rational $\omega$-transductions. Mathematical foundations of computer science (Banská Bystrica, 1990), 407--415, Lecture Notes in Comput. Sci., 452, Springer, Berlin, 1990.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Section 4.3 of [5] is also a very good reference.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[5] L. Staiger, ω-Languages, Vol 3, Chapter 6 of the Handbook of Formal languages edited by G. Rozenberg and A. Salomaa, (1997) 339-387. Springer-Verlag, Berlin.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, here is a more recent paper, where you will find other relevant references.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[6] Finkel, Olivier. On the accepting power of 2-tape Büchi automata. STACS 2006, 301--312, Lecture Notes in Comput. Sci., 3884, Springer, Berlin, (2006).&lt;/p&gt;&#xA;" OwnerUserId="17203" LastActivityDate="2015-02-24T11:14:28.827" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="30601" PostTypeId="2" ParentId="18238" CreationDate="2015-02-24T11:21:59.460" Score="2" Body="&lt;p&gt;I found a more recent (2014) paper on All-SAT at a VLSI conference, so it is definitely geared toward the practical side (which seems in tune with the OP's question here, albeit less so with cstheory.SE in general):&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&quot;All-SAT using Minimal Blocking Clauses&quot; by Yinlei Yu, Pramod Subramanyan, Nestan Tsiskaridze, Sharad Malik, VLSI Design 2014. &lt;a href=&quot;http://dx.doi.org/10.1109/VLSID.2014.22&quot; rel=&quot;nofollow&quot;&gt;doi:10.1109/VLSID.2014.22&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;For those without an IEEE subscription, there's a free copy on &lt;a href=&quot;http://www.princeton.edu/~psubrama/&quot; rel=&quot;nofollow&quot;&gt;Subramanyan's Princeton web page&lt;/a&gt;. (He uses a file-sharing service to store/distribute copies of his papers and I'm not sure how stable those URLs are, hence this roundabout link.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The gist of this paper seems to be:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Our contribution, the Non-Disjoint-Dec algorithm, generates extremely short blocking clauses that do not contain any of the implied variables in the solver. Note that typically the majority of the variables in a satisfying minterm are implied. Short blocking clauses are very beneficial for solver performance as demonstrated by the evaluation.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Their implementation builds on MiniSat. Source code for their extension doesn't seem to be publicly available though. Alas this seems to be a habit in the field of All-SAT, so papers in this area which contain experimental results just setup some more-or-less straw-man simpler algorithm to beat and can seldom be directly compared (in terms of experimental results) with any other published algorithm for All-SAT. The paper by Jabbour et al. mentioned by Vijay D is also of this kind.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As I don't see it mentioned in the other answer (but only in the comment of András Salamon), the [rather popular] blocking-clauses techinique was introduced in:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.kenmcmil.com/pubs/CAV02.pdf&quot; rel=&quot;nofollow&quot;&gt;“Applying SAT Methods in Unbounded Symbolic Model Checking”&lt;/a&gt; by K. L. McMillan, CAV’02.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="30546" LastEditorUserId="30546" LastEditDate="2015-02-24T12:37:09.153" LastActivityDate="2015-02-24T12:37:09.153" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="30602" PostTypeId="2" ParentId="30592" CreationDate="2015-02-24T11:48:48.433" Score="0" Body="&lt;p&gt;Minimum number of cops (pursuer in your definition) needed to win in similar game is equivalent to &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0304397508001588&quot; rel=&quot;nofollow&quot;&gt;Kelly width&lt;/a&gt; of $G$, and it's NPC to determine that minimum number, it's similar to path decomposition for undirected graphs, but I don't know about minimum number of moves needed such that $k$ cop wins. But there are some works around similar games, if you are interested to know more about them maybe a good search term is cops and invisible inert robber game. Note that we can add loop to every vertex of a graph $G$ to skip the most move condition, then the game is in fact invisible robber game or the kelly width game or for undirected graph it's a well known path-width game (invisible robber is inert by nature). The maybe main difference between Kelly width game and this game is that robber can walk along edges not a single edge (I didn't read the question carefully at first, I read evader walks along edges, but still I don't think it makes totally different game, one may find a gadget to simulate walking along edge by walking along paths,  e.g something like turning vertices to complete graphs).&lt;/p&gt;&#xA;" OwnerUserId="1846" LastEditorUserId="1846" LastEditDate="2015-03-04T01:32:02.933" LastActivityDate="2015-03-04T01:32:02.933" CommentCount="10" ContentLicense="CC BY-SA 3.0" />
  <row Id="30603" PostTypeId="2" ParentId="30596" CreationDate="2015-02-24T11:49:02.020" Score="26" Body="&lt;p&gt;You can just take the oracle A s.t. NP$^A$=EXP$^A$ since EXP is not in i.o.-subexp. For SAT$^A$ it depends on the encoding, for example if the only valid SAT instances have even length then it is easy to solve SAT on odd-length strings. But if you use a language like $L=\{\phi 01^*\ |\ \phi\in SAT^A\}$ then you should be fine.&lt;/p&gt;&#xA;" OwnerUserId="550" LastActivityDate="2015-02-24T11:49:02.020" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="30605" PostTypeId="1" AcceptedAnswerId="30638" CreationDate="2015-02-24T13:09:59.917" Score="1" ViewCount="246" Body="&lt;p&gt;Let the k-inequality-MIS problem be the decision problem whether an arbitrary graph $G=(V, E)$ contains a maximal independent set of at least size $k$, that is the corresponding language is:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\mathbf{M}_{ineq} = \{(G,k): \exists V'\subset V, |V'|\geq k \wedge V'\in MIS(G)\},$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where $MIS(G)$ collects all possible maximal independent sets of $G$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let the k-equality-MIS problem be the decision problem whether $G$ contains such a set exactly of size $k$. Its language being:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\mathbf{M}_{eq} = \{(G,k): \exists V'\subset V, |V'|=k \wedge V'\in MIS(G) \}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm wondering whether $\mathbf{M}_{eq}$ is many-one reducible to $\mathbf{M}_{ineq}$. My intuition tells me it should be but I cannot get it working. As I suspect similar problems pop up quite often, I figured someone here might know.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that this is not trivial as the corresponding independent sets problem, $\mathbf{I}$, where $(G,k)\in\mathbf{I}_{ineq}\Leftrightarrow (G,k)\in\mathbf{I}_{eq}$. As an example, for a graph, $G'$, that is a perfect matching with more than two vertices we have $(G',1)\in\mathbf{M}_{ineq}$ but $(G',1)\not\in\mathbf{M}_{eq}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;And how about the other way around, is $\mathbf{M}_{ineq}$ many-one reducible to $\mathbf{M}_{eq}$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm quite new to complexity theory, so I hope I get this right and the question is not obvious. Also sorry for the rather vague title, but my question is a bit vague. I hope my example made it clear. My question is, however, really about all problems with similar characteristics. &lt;/p&gt;&#xA;" OwnerUserId="27176" LastEditorUserId="27176" LastEditDate="2015-02-24T13:15:16.670" LastActivityDate="2015-03-06T09:06:20.373" Title="Many-one reduction from inequality problem to equality problem" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;reductions&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="30606" PostTypeId="1" CreationDate="2015-02-24T14:02:04.593" Score="5" ViewCount="183" Body="&lt;p&gt;Suppose $G$ is an undirected $d$-regular $n$-vertex graph for some constant $d$. Let $\lambda_k$ be the $k$-th largest eigenvalue of the normalized laplacian $L$ of $G$ (defined as $I - \frac{1}{d} A$ where $A$ is the adjacency matrix of $G$). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If the degree is constant, we can have good expanders of course but I want to say that the lower eigenvalues cannot be &lt;em&gt;too close&lt;/em&gt; to $1$ if the degree is constant. I was wondering if there is a quantitative statement of this sort. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there any bounds known about how close $\lambda_k$ can be to $1$, as a function of $k$? In particular, is something of the following form known:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;``For all $ k \ll n$,  we have $\lambda_k  \; \leq \; \left( 1 - O\left( \frac{1}{k^{0.99}}\right) \right)$'' ?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;(where the constant in the order notation can hide factors of $d$).&lt;/p&gt;&#xA;" OwnerUserId="877" LastActivityDate="2015-03-01T13:38:33.053" Title="Upper bounds on higher order eigenvalues of regular graphs" Tags="&lt;spectral-graph-theory&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="30607" PostTypeId="1" AcceptedAnswerId="30619" CreationDate="2015-02-24T15:38:45.017" Score="1" ViewCount="93" Body="&lt;p&gt;I want to create a bipartite graph where the first partite $U$ contains $L$ vertices with degree $k$ and the second partite $V$ contains $N$ other vertices with degree $a$. I need to find the minimum number of $N$ so that every pair of the $L$ vertices have a common neighbour.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A different formulation of my problem is the following:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assume we have $L$ distinct numbers.&#xA;I want to calculate the minimum number of sets of size $a$ that are needed so that all unordered pairs of numbers are contained in at least one of the sets.&#xA;I understand that finding the sets is similar to the set cover problem: &lt;a href=&quot;http://en.wikipedia.org/wiki/Set_cover_problem&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/Set_cover_problem&lt;/a&gt; (right?), but is there an easier/faster way to calculate the minimum number without calculating the sets, given $L$ and $a$?&lt;/p&gt;&#xA;" OwnerUserId="32206" LastActivityDate="2015-02-25T18:49:11.597" Title="Minimum order of partite in a bipartite graph" Tags="&lt;graph-theory&gt;&lt;set-cover&gt;&lt;set-theory&gt;" AnswerCount="1" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="30608" PostTypeId="1" CreationDate="2015-02-24T17:06:37.507" Score="4" ViewCount="1262" Body="&lt;p&gt;What are some good neighborhood-based local search algorithms or strategies to solve the Asymmetric TSP ? I see many 2-OPT and K-opt based algorithms (e.g. Lin-Kernighan implementations), but I think that these algorithms are more time consuming since the evaluation complexity is not constant (assuming my calculations are correct).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What are some good alternative that are less time consuming? are their any technique swapping nodes for example? Could you suggest a good paper about such algorithms?&lt;/p&gt;&#xA;" OwnerUserId="31798" LastActivityDate="2015-11-30T23:21:45.450" Title="Good algorithms to solve ATSP" Tags="&lt;optimization&gt;&lt;tsp&gt;&lt;heuristics&gt;" AnswerCount="2" CommentCount="8" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="30609" PostTypeId="2" ParentId="30608" CreationDate="2015-02-24T19:31:32.880" Score="1" Body="&lt;p&gt;Best one I know is the polytime approximation algorithm of Asadpour et al., although maybe this isn't what you want (i.e. you want exact solution, I'm guessing). Anyway, the &lt;a href=&quot;http://homes.cs.washington.edu/~shayan/atsp.pdf&quot; rel=&quot;nofollow&quot;&gt;algorithm&lt;/a&gt; achieves $O(\log n / \log \log n)$ approximation for $n$-vertex graphs. &lt;/p&gt;&#xA;" OwnerUserId="32211" LastEditorUserId="223" LastEditDate="2015-03-27T22:08:33.817" LastActivityDate="2015-03-27T22:08:33.817" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="30611" PostTypeId="1" AcceptedAnswerId="30620" CreationDate="2015-02-25T00:04:44.130" Score="2" ViewCount="918" Body="&lt;p&gt;Assume that we have a (directed) graph $G(V \cup \{s, t\}, E)$ and an (integer) capacity function $c : E \mapsto \mathbb{N}$. Let $f : E \mapsto \mathbb{N}$ be a maximum $s-t$ flow on this graph. Suppose that some edge capacities are suddenly reduced; i.e. we now have to work with a capacity function $c_R : E \mapsto \mathbb{N}$ such that $c_R(e) \leq c(e)$ for all $e \in E$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can we efficiently &quot;adjust&quot; our old optimal flow $f$ to find the new optimal flow $f_R$ instead of recomputing the latter from scratch?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Note 1:&lt;/em&gt; Assume that the reduction is consequential; i.e. $c_R(e) &amp;lt; f(e)$ for at least one $e \in E$. Also, for the sake of simplicity, you can assume that the capacity is reduced for only one edge.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Note 2:&lt;/em&gt; One approach would be to treat the problem as an LP. In this case, capacity reductions will simply change variable bounds. Thus, we can use a warm-start capable LP solving method to get from $f$ to $f_R$. For example, if we used the dual simplex method (DSM), we can compute $f_R$ from $f$ via a (hopefully) small number of pivots, each of which involves $O(|V| \cdot |E|)$ arithmetic operations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Note 3:&lt;/em&gt; This &lt;a href=&quot;https://cstheory.stackexchange.com/questions/9938/incremental-maximum-flow-in-dynamic-graphs&quot;&gt;discussion&lt;/a&gt; tries to tackle the related (harder?) problem of adding/removing vertices and modifying the maximum flow.&lt;/p&gt;&#xA;" OwnerUserId="32058" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2015-02-27T21:34:08.267" Title="Efficient recalculation of the maximum flow when edge capacities are reduced" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;max-flow&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="30613" PostTypeId="1" CreationDate="2015-02-25T05:52:29.387" Score="-3" ViewCount="242" Body="&lt;p&gt;A simple algorithm for Horn-SAT (in CNF) is the following:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Given&lt;/em&gt;: A Horn formula $\phi$ in CNF.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Find a unit clause (a clause with one literal) $C_i$.  $~$Set the variable $x_j$ appearing in $C_i$ to TRUE (FALSE) if the literal in $C_i$ is $x_j$ ($\neg x_j$) respectively.  $~$ Adjust all other clauses accordingly.  $~$ That is, if variable $x_j$ appears in a clause $C_k$ with the same polarity as in $C_i$, then $C_k$ is satisfied, hence remove $C_k$ from $\phi$. $~$ On the other hand, if the polarity is the opposite and the literal $x_j$ ($\neg x_j$) appears in $C_k$, then remove $x_j$ ($\neg x_j$) from $C_k$, respectively.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Repeat the above procedure until there are no more unit clauses in $\phi$. $~$ At this point, every clause in $\phi$ has at least one negative literal.  $~$ Now $\phi$ is trivially satisfiable (just set all remaining variables to FALSE).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Seems to me that this algorithm can be solved in log-space.  $~$ Let the first tape be the input tape and let Tape 2 be the working tape.  $~$ In Tape 1, the tape head will go back and forth to modify $\phi$ (and $\phi$ will keep shrinking as the algorithm proceeds).  $~$ In Tape 2, we only need to store the index $j$ of the variable that we are currently working with, its polarity in the unit clause, and some other (constant amount of) information.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It looks like this algorithm only needs log-space. $~$ Your comments?&lt;/p&gt;&#xA;" OwnerUserId="28655" LastActivityDate="2015-02-25T06:19:51.717" Title="Why can't Horn-SAT be solved in Log-space?" Tags="&lt;cc.complexity-theory&gt;&lt;sat&gt;&lt;logspace&gt;" AnswerCount="1" CommentCount="0" ClosedDate="2015-02-25T10:00:32.660" ContentLicense="CC BY-SA 3.0" />
  <row Id="30615" PostTypeId="2" ParentId="30613" CreationDate="2015-02-25T06:19:51.717" Score="2" Body="&lt;p&gt;Log-space computations can't modify the input tape. Otherwise you just get linear space.&lt;/p&gt;&#xA;" OwnerUserId="40" LastActivityDate="2015-02-25T06:19:51.717" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="30617" PostTypeId="2" ParentId="30606" CreationDate="2015-02-25T14:21:52.747" Score="1" Body="&lt;p&gt;I wanted to add this as a comment but it was too long. I am not sure if this completely answers the question. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For bipartite graphs for instance we can possibly get a simple first cut bound from a simple trace method. Lets look at the adjacency matrix. In your case we want to show that $\lambda_k$ is not close to 0. So consider $Trace(A^2)$. For a d-regular graph this is always $\geq dn$. Therefore $$\sum \lambda_i^2 \geq dn$$ which implies that $$2d^2k + n\lambda_k^2 \geq dn$$ Now for $k &amp;lt;&amp;lt; n$ and $d$ a constant one can essentially get a $\Omega(\sqrt{d})$ bound for $\lambda_k$. So indeed they cant be very close to 1 in the normalized laplacian. I am not sure whether the parameters work out in the way you want them to. &lt;/p&gt;&#xA;" OwnerUserId="12212" LastEditorUserId="12212" LastEditDate="2015-02-25T14:29:03.807" LastActivityDate="2015-02-25T14:29:03.807" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="30618" PostTypeId="1" CreationDate="2015-02-25T15:28:41.563" Score="7" ViewCount="233" Body="&lt;p&gt;I want to give a couple of talks on fractional cascading, one of which will focus on applications.  I'm looking for applications that make use of the full version of fractional cascading, not just the simple search-in-k-sorted-lists version.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The applications presented in the original companion paper require a lot of machinery in addition to fractional cascading and are therefore not suitable.  My audience is general CS people who don't have specialized data-structures or computational-geometry knowledge.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any help will be much appreciated.&lt;/p&gt;&#xA;" OwnerUserId="32225" LastActivityDate="2015-08-30T13:18:12.150" Title="Looking for easy applications of fractional cascading" Tags="&lt;ds.data-structures&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="30619" PostTypeId="2" ParentId="30607" CreationDate="2015-02-25T16:28:57.447" Score="2" Body="&lt;p&gt;This is an upper bound on $N$ for the second formulation:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assume that I pick $N$ uniformly random sets.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The probability of a pair of elements not to be covered by a specific set is&#xA;$$1-\left(\frac{a}{L}\right)^2$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Therefore the chance that it is not covered by any set is:&#xA;$$\left(1-\left(\frac{a}{L}\right)^2\right)^N$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Using the union bound, the chance that &lt;em&gt;some&lt;/em&gt; pair will not be covered is at most:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$P={L \choose 2}\left(1-\left(\frac{a}{L}\right)^2\right)^N$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This means that if $P&amp;lt;1$, there &lt;strong&gt;exists&lt;/strong&gt; some proper covering using $N$ sets. Notice that:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$P={L \choose 2}\left(1-\left(\frac{a}{L}\right)^2\right)^N&amp;lt;L^2e^{-N(\frac{a}{L})^2}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Therefore it is enough to demand $L^2e^{-N(\frac{a}{L})^2}&amp;lt;1$, which gives us a bound on $N$:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;\begin{align}&#xA;L^2e^{-N(\frac{a}{L})^2}&amp;lt;1\\&#xA;-N(\frac{a}{L})^2&amp;lt;-2\ln L\\&#xA;N&amp;gt;2\ln L\cdot(\frac{L}{a})^2&#xA;\end{align}&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Which means that there exists a proper covering using $2\ln L\cdot(\frac{L}{a})^2$ sets of size $a$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now notice that every set covers $a\choose 2$ pair of elements, while $L\choose 2$ pairs exist, so a lower bound for $N$ would be:&#xA;$$\frac{L\choose 2}{a\choose 2}\approx (\frac{L}{a})^2$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So the upper bound is tight up to factor $O(\log L)$. (If I had to bet, I'd say the lower bound is loose while the upper is asymptotically tight).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This means that if your goal is to compute the &lt;strong&gt;value&lt;/strong&gt; of the optimal $N$ - answering $(\frac{L}{a})^2\sqrt{\log L}$ would give an approximation ratio of $O(\sqrt{\log L})$.&lt;/p&gt;&#xA;" OwnerUserId="21001" LastEditorUserId="21001" LastEditDate="2015-02-25T18:49:11.597" LastActivityDate="2015-02-25T18:49:11.597" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="30620" PostTypeId="2" ParentId="30611" CreationDate="2015-02-25T19:03:13.400" Score="4" Body="&lt;p&gt;In the worst case, even reduction of the capacity of a single edge may force you to recalculate the flow from scratch.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To see this, consider a flow network $(G,c,s,t)$, i.e., $G=(V,E)$ be a graph such that $s,t\in V$, $c:E\to\mathbb N$ is some capacity function, $s$ is a source vertex, and $t$ is a sink vertex.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now define a new flow network $(G',c,u,t)$, as follows.   $G'=(V\cup\{u,v\}, E\cup\{(u,v),(v,t), (v,s)\}$ is a new graph.  The source vertex of the new flow network is $u$ and the sink vertex is $t$.  Assume that $c((u,v))=c((v,s))=c((v,t))=f^*$, where $f^*$ is the value of the max flow in the original network.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assume now that I give you a maximum flow $f'$ for $G'$ (from $u$ to $t$), namely, $f'((u,v))=f'((v,t))=f^*$ and $f'=0$ for all other edges.  In other words, $f'$ pushes $f^*$ units of flow along the path $u \to v \to t$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now if we reduce $c(v,t)$ to 0, you have to compute the flow for the original network from scratch.&lt;/p&gt;&#xA;" OwnerUserId="21001" LastEditorUserId="5038" LastEditDate="2015-02-27T21:34:08.267" LastActivityDate="2015-02-27T21:34:08.267" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="30621" PostTypeId="2" ParentId="30596" CreationDate="2015-02-26T00:07:35.673" Score="16" Body="&lt;p&gt;You don't have to go to the lengths Lance was suggesting.  For&#xA;example, relative to a random oracle, using the oracle as a one-way function&#xA;(say, evaluated on consecutive bit postions) &#xA;is exponentially hard to invert on all but finitely many lengths.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This problem directly reduces to SAT on the same length input, so it does&#xA;follow that SAT^A is not in infinitely often sub-exp.&lt;/p&gt;&#xA;" OwnerUserId="332" LastActivityDate="2015-02-26T00:07:35.673" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="30624" PostTypeId="1" CreationDate="2015-02-26T12:11:25.120" Score="34" ViewCount="3085" Body="&lt;p&gt;This question is about problems for which there is a big open complexity gap between known lower bound and upper bound, but not because of open problems on complexity classes themselves.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To be more precise, let's say a problem has &lt;em&gt;gap classes&lt;/em&gt; $A,B$ (with $A\subseteq B$, not uniquely defined) if $A$ is a maximal class for which we can prove it is $A$-hard, and $B$ is a minimal known upper bound, i.e. we have an algorithm in $B$ solving the problem. This means if we end up finding out that the problem is $C$-complete with $A\subseteq C\subseteq B$, it will not impact complexity theory in general, as opposed to finding a $P$ algorithm for a $NP$-complete problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am not interested in problems with $A\subseteq P$ and $B=NP$, because it is already the object of &lt;a href=&quot;https://cstheory.stackexchange.com/questions/79/problems-between-p-and-npc&quot;&gt;this question&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am looking for examples of problems with gap classes that are as far as possible. To limit the scope and precise the question, I am especially interested in problems with $A\subseteq P$ and $B\supseteq EXPTIME$, meaning both membership in $P$ and $EXPTIME$-completeness are coherent with current knowledge, without making known classes collapse (say classes from &lt;a href=&quot;http://en.wikipedia.org/wiki/List_of_complexity_classes&quot; rel=&quot;nofollow noreferrer&quot;&gt;this list&lt;/a&gt;). &lt;/p&gt;&#xA;" OwnerUserId="8953" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2015-10-17T04:48:47.200" Title="Problems with big open complexity gaps" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;big-list&gt;" AnswerCount="8" CommentCount="4" FavoriteCount="16" ContentLicense="CC BY-SA 3.0" />
  <row Id="30625" PostTypeId="2" ParentId="30624" CreationDate="2015-02-26T13:26:35.797" Score="30" Body="&lt;p&gt;The &lt;strong&gt;Knot Equivalence Problem&lt;/strong&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given two knots drawn in the plane, are they topologically the same? This problem is known to be decidable, and there do not seem to be any computational complexity obstructions to its being in P. The best upper bound currently known on its time complexity seems to be a tower of $2$s of height $c^n$, where $c = 10^{10^{6}}$, and $n$ is the number of crossings in the knot diagrams. This comes from a bound by &lt;a href=&quot;http://arxiv.org/abs/1104.1882&quot;&gt;Coward and Lackenby&lt;/a&gt; on the number of Reidemeister moves needed to take one knot to an equivalent one. See &lt;a href=&quot;http://people.maths.ox.ac.uk/lackenby/ekt11214.pdf&quot;&gt;Lackenby's more recent paper&lt;/a&gt; for some more recent related results and for &#xA;the explicit form of the bound I give above (page 16). &lt;/p&gt;&#xA;" OwnerUserId="1677" LastEditorUserId="1677" LastEditDate="2015-02-27T21:06:32.743" LastActivityDate="2015-02-27T21:06:32.743" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="30627" PostTypeId="2" ParentId="30624" CreationDate="2015-02-26T19:19:14.117" Score="22" Body="&lt;p&gt;Another natural topological problem, similar in spirit to Peter Shor's answer, is &lt;strong&gt;embeddability of 2-dimensional abstract simplicial complexes in $\mathbb{R}^3$&lt;/strong&gt;. In general it's natural to ask when can we effectively/efficiently decide that an &lt;a href=&quot;http://en.wikipedia.org/wiki/Abstract_simplicial_complex&quot;&gt;abstract $k$-dimensional simplicial complex&lt;/a&gt; can be embedded in $\mathbb{R}^d$. For $k=1$ and $d=2$ this is the &lt;em&gt;graph planarity&lt;/em&gt; problem and has a linear-time algorithm. For $k=2$ and $d=2$ there is also a &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=322156&quot;&gt;linear time algorithm&lt;/a&gt;. The $k=2$, $d=3$ case was open until last year, when it was &lt;a href=&quot;http://arxiv.org/abs/1402.0815&quot;&gt;shown to be decidable by Matousek, Sedgwick, Tancer, and Wagner&lt;/a&gt;. They say that their algorithm has a &lt;em&gt;primitive recursive&lt;/em&gt; time bound, but &lt;em&gt;larger than a tower of exponentials&lt;/em&gt;. On the other hand they speculate that it might be possible to put the problem in NP, but going beyond that would be challenging. However, there doesn't seem to be any strong evidence that a polytime algorithm is impossible.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The latter paper has many references for further reading.&lt;/p&gt;&#xA;" OwnerUserId="4896" LastEditorUserId="4896" LastEditDate="2015-02-27T21:53:30.443" LastActivityDate="2015-02-27T21:53:30.443" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="30630" PostTypeId="2" ParentId="30624" CreationDate="2015-02-27T02:23:28.953" Score="24" Body="&lt;p&gt;Here's a version of the minimum circuit size problem (MCSP): given the $2^n$ bit truth table of a Boolean function, does it have a circuit of size at most $2^{n/2}$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Known to be not in $AC0$. Contained in $NP$. Generally believed to be $NP$-hard, but this is open. I believe it's not even known to be $AC0[2]$-hard. Indeed, recent work with Cody Murray (to appear in CCC'15) shows there's &lt;em&gt;no&lt;/em&gt; uniform NC0 reduction from PARITY to MCSP.&lt;/p&gt;&#xA;" OwnerUserId="225" LastActivityDate="2015-02-27T02:23:28.953" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="30631" PostTypeId="2" ParentId="6539" CreationDate="2015-02-27T08:10:19.770" Score="1" Body="&lt;p&gt;Following &lt;a href=&quot;http://arxiv.org/pdf/1502.05912.pdf&quot; rel=&quot;nofollow&quot;&gt;http://arxiv.org/pdf/1502.05912.pdf&lt;/a&gt; sometimes grobner basis are used to decide isomorphism (when graphs are encoded by systems of equations). But this joins the use of grobner basis in refutating CNFS. &lt;/p&gt;&#xA;" OwnerUserId="4854" LastActivityDate="2015-02-27T08:10:19.770" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="30633" PostTypeId="2" ParentId="30624" CreationDate="2015-02-27T12:35:26.670" Score="12" Body="&lt;p&gt;$\mathsf{QMA}(2)$ (Quantum Merlin-Arthur with two unentangled provers): certainly $\mathsf{QMA}$-hard, but only known to be in $\mathsf{NEXP}$.  &lt;/p&gt;&#xA;" OwnerUserId="121" LastEditorUserId="121" LastEditDate="2015-10-15T06:10:35.890" LastActivityDate="2015-10-15T06:10:35.890" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="30635" PostTypeId="2" ParentId="30624" CreationDate="2015-02-27T14:05:49.007" Score="24" Body="&lt;p&gt;The complexity of computing a bit (specified in binary) of an irrational algebraic number (such as $\sqrt{2}$) has the best known upper bound of $\mathsf{P^{{{PP}^{PP}}^{PP}}}$ via a reduction to the problem &lt;a href=&quot;http://ftp.cs.rutgers.edu/pub/allender/slp.pdf&quot;&gt;$\mathsf{BitSLP}$&lt;/a&gt; which known to have this upper bound &lt;a href=&quot;http://link.springer.com/chapter/10.1007%2F978-3-662-44465-8_2&quot;&gt;[ABD14]&lt;/a&gt;. On the other hand we do not even know if this problem is harder than computing the parity of $n$ bits - for all we know this problem could be in $\mathsf{AC^0}$. Notice however that we know that no finite automaton can compute the bits of an irrational algebraic number &lt;a href=&quot;http://www-irma.u-strasbg.fr/~bugeaud/travaux/AdBuAnn1.pdf&quot;&gt;[AB07]&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="214" LastEditorUserId="4896" LastEditDate="2015-02-28T18:05:38.703" LastActivityDate="2015-02-28T18:05:38.703" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="30637" PostTypeId="2" ParentId="30624" CreationDate="2015-02-27T21:38:43.650" Score="17" Body="&lt;p&gt;Multicounter automata (MCAs) are finite automata equipped with counters that can be incremented and decremented within one step but only take integers &gt;=0 as numbers. Unlike Minsky machines (aka counter automata), MCAs are not allowed to test whether a counter is zero. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;One of the algorithmic problems with a huge gap related to MSCs is the Reachability problem. E.g., whether the automaton can reach, from a configuration with the initial state and all counters zero, a configuration with an accepting state, and all counters zero again.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem is hard for EXPTIME (as shown by Richard Lipton in 1976), decidable (Ernst Mayr, 1981) and solvable in Fω3 (thanks, Sylvain, for pointing this out). A huge gap.&lt;/p&gt;&#xA;" OwnerUserId="32258" LastEditorUserId="32258" LastEditDate="2015-03-05T17:59:43.193" LastActivityDate="2015-03-05T17:59:43.193" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="30638" PostTypeId="2" ParentId="30605" CreationDate="2015-02-27T21:53:39.953" Score="3" Body="&lt;p&gt;The following should yield a many-one reduction from $M_{ineq}$ to $M_{eq}$:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given $G=(V,E)$ and $k$ construct $G'$ with&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;vertex set $V \times \{1,\dots,k\}$ and&lt;/li&gt;&#xA;&lt;li&gt;edges between $(v,i)$ and $(w,j)$ if&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;(1) $i=j$ or&#xA;(2) $v=w$ or&#xA;(3) $(v,w) \in E$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Because of (1), no independent set can be larger than $k$ (as all vertices in the same slice are connected). Because of (2) and (3) each independent set in $G'$ induces an independent set of $G$ and vice versa, therefore $G$ has an ind. set of size $\ge k$ if and only if $G'$ has an independent set of size exactly $k$.&lt;/p&gt;&#xA;" OwnerUserId="32258" LastEditorUserId="109" LastEditDate="2015-03-06T09:06:20.373" LastActivityDate="2015-03-06T09:06:20.373" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="30639" PostTypeId="1" CreationDate="2015-02-27T22:31:36.933" Score="2" ViewCount="637" Body="&lt;p&gt;I have been trying to show the following language is undecidable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$L = \{ (\langle G \rangle , n ): G$ is a context-free grammar with an ambiguous string of length $\le n \}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think it is undecidable because if $G$ doesn't have an ambiguous string, it seems like one would have to check parse trees of arbitrary heights to verify they don't yield $s$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Or, is there some lower bound on the height of a parse tree for a given string $s$, that is any derivation with more than some number of steps cannot yield $s$?  It seems like the presence of rules $S \to \varepsilon$, where $\varepsilon$ is the empty string, would ensure that there would exist parse trees of arbitrary height, in general.&lt;/p&gt;&#xA;" OwnerUserId="13525" LastActivityDate="2015-02-27T22:31:36.933" Title="Decidability of CFG ambiguity" Tags="&lt;context-free&gt;&lt;decidability&gt;" AnswerCount="0" CommentCount="7" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="30641" PostTypeId="1" CreationDate="2015-02-28T10:03:47.220" Score="8" ViewCount="440" Body="&lt;p&gt;I saw this problem: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A non increasing sequence of positive integers $m_1,m_2,..., m_k$ is said to be &lt;em&gt;n-realizable&lt;/em&gt; if the set $I_n=\{1,2,..., n\}$ can be partitioned into $k$ mutually disjoint subsets $S_1,S_2,...,S_k$ such that $\sum_{x\in S_i} x = m_i$ for each $1\leq i \leq k$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;in the paper &quot;PARTITION OF A SET OF INTEGERS INTO SUBSETS WITH&#xA;PRESCRIBED SUMS&quot;, by Fu-Long Chen, Hung-Lin Fu, Yiju Wang and Jianqin Zhou &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://journal.taiwanmathsoc.org.tw/index.php/TJM/article/view/1028&quot; rel=&quot;nofollow&quot;&gt;http://journal.taiwanmathsoc.org.tw/index.php/TJM/article/view/1028&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;They have solved the problem under certain constraints. But I can't find anything about its complexity in general. Does anyone know a reference about the complexity of this problem?&#xA;It reminds me of the bin-packing problem, or in some sense, it is similar to the subset sum problem. So, I guess it must be NP-complete in general?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More precisely, I like to prove the NP-completeness for the fixed value of $k$, for example, when $k = 3, 4, \ldots$?&#xA;In this case, it is very similar to bin-packing or knapsack problem, but as we want the equality it is different. Maybe there are variations of these problems that match my question?&lt;/p&gt;&#xA;" OwnerUserId="24175" LastEditorUserId="24175" LastEditDate="2015-03-09T12:04:49.223" LastActivityDate="2015-03-09T16:00:01.040" Title="Partition of a set of integers into subsets with prescribed sums" Tags="&lt;cc.complexity-theory&gt;" AnswerCount="2" CommentCount="7" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="30644" PostTypeId="1" CreationDate="2015-02-28T23:33:43.827" Score="2" ViewCount="84" Body="&lt;p&gt;What have been some of techniques (like discrepancy, arithmetic combinatorics) that have been introduced to shed light on Log-rank conjecture which roughly states that deterministic communication complexity of a communication problem roughly depends on some fixed power of rank of communication matrix of problem under study?&lt;/p&gt;&#xA;" OwnerUserId="1812" LastActivityDate="2015-02-28T23:33:43.827" Title="Techniques introduced to log-rank conjecture" Tags="&lt;reference-request&gt;&lt;survey&gt;" AnswerCount="0" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="30645" PostTypeId="1" CreationDate="2015-03-01T06:59:56.453" Score="3" ViewCount="93" Body="&lt;p&gt;Suppose L is a linear program that is a relaxation of some 0/1 integer linear program ILP. There is a systematic way to construct SDP relaxations of ILP that are tighter than L by using a Lasserre hierarchy. There are many software tools available to solve linear programs (e.g. CPLEX, lpSOLVE, GLPK) . I am looking for a (free) software tool that can do the following. If I give a linear program and a number t as input, then the tool must output the optimal value of the objective and values of the SDP variables at the t-th level of hierarchy.&lt;/p&gt;&#xA;" OwnerUserId="547" LastActivityDate="2015-03-01T06:59:56.453" Title="Software that generates and solves a Lasserre hierarchy" Tags="&lt;convex-optimization&gt;&lt;software&gt;" AnswerCount="0" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="30650" PostTypeId="2" ParentId="17065" CreationDate="2015-03-01T17:42:29.313" Score="3" Body="&lt;p&gt;Apparently not. &lt;a href=&quot;http://fr.arxiv.org/abs/1502.05729&quot; rel=&quot;nofollow&quot;&gt;&quot;Quicksort, Largest Bucket, and Min-Wise Hashing with Limited Independence&quot;, by  Mathias Bæk Tejs Knudsen and Morten Stöckel&lt;/a&gt; shows &quot;a $k$-independent family of functions that imply [heaviest loaded bin] size $\Omega(n^{1/k})$&quot;.&lt;/p&gt;&#xA;" OwnerUserId="43" LastActivityDate="2015-03-01T17:42:29.313" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="30651" PostTypeId="1" AcceptedAnswerId="30653" CreationDate="2015-03-01T21:00:48.807" Score="14" ViewCount="1590" Body="&lt;p&gt;I've been reading up on Intuitionistic Type Theory (ITT) and it does make sense. But what I'm struggling to understand is &quot;why&quot; was it created in the first place?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Intuitionistic Logic (IL) and Simply-typed $\lambda$-calculus (STLC) and type theory in general predates the very existence of Martin-Löf himself! It seems that one can do everything in STLC that is doable in ITT (I may be wrong, but at least it feels that way).  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;So what was &quot;novel&quot; about ITT and how exactly did (or does) it advance the theory of computation? From what I understand, he introduced the notion of &quot;dependent types&quot;, but it seems they were already there in STLC, in a way. Was his ITT an attempt at abstraction to understand the underlying principles of STLC and IL together? But didn't STLC already held do that? So, just why was ITT created in the first place? What is/was the point?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here's an excerpt from &lt;a href=&quot;http://en.wikipedia.org/wiki/Per_Martin-L%C3%B6f#Logic&quot;&gt;Wikipedia&lt;/a&gt;: But I still don't get the reason behind its creation that didn't already exist before.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Martin-Löf's first draft article on type theory dates back to 1971.&#xA;  This impredicative theory generalized Girard's System F. However, this&#xA;  system turned out to be inconsistent due to Girard's paradox which was&#xA;  discovered by Girard when studying System U, an inconsistent extension&#xA;  of System F. This experience led Per Martin-Löf to develop the&#xA;  philosophical foundations of type theory, his meaning explanation, a&#xA;  form of proof-theoretic semantics, which justifies predicative type&#xA;  theory as presented in his 1984 Bibliopolis book...&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;It seems from the excerpt that the reason was to develop the &quot;&lt;em&gt;philosophical foundations of type theory&lt;/em&gt;&quot; - I thought this foundation already existed (or maybe I assumed it did). Was this the main reason then?&lt;/p&gt;&#xA;" OwnerUserId="7014" LastEditorUserId="7014" LastEditDate="2015-03-01T21:10:55.300" LastActivityDate="2015-03-02T10:41:02.103" Title="Why was there a need for Martin-Löf to create intuitionistic type theory?" Tags="&lt;lo.logic&gt;&lt;soft-question&gt;&lt;type-theory&gt;&lt;big-picture&gt;&lt;ho.history-overview&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="12" ContentLicense="CC BY-SA 3.0" />
  <row Id="30652" PostTypeId="1" AcceptedAnswerId="30668" CreationDate="2015-03-01T21:23:00.430" Score="16" ViewCount="256" Body="&lt;p&gt;The 0-1 principle says that if a sorting network works for all 0-1 sequences, then it works for any set of numbers.&#xA;Is there an $S\subset \{0,1\}^n$ such that if a network sorts every 0-1 sequence from S, then it sorts every 0-1 sequence and the size of $S$ is polynomial in $n$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, if $S$ consists of all sequences where there are at most $2$ runs (intervals) of 1's, then is there a sorting network N and a sequence that is not ordered by N if all members of $S$ are ordered by N?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Answer:&lt;/strong&gt; As can be seen from the answer and the comments to it, the answer is that for every unsorted string there is a sorting network that sorts every other string.&#xA;A simple proof for this is the following.&#xA;Let the string $s=s_1\ldots s_n$ be such that $s_i=0$ for ever $i&amp;lt;k$ and $s_k=1$.&#xA;Since $s$ is unsorted, after sorting $s_k$ should be $0$.&#xA;Compare $k$ with every $i$ for which $s_i=1$.&#xA;Then compare every pair $(i,j)$ such that $i\ne k$ and $j\ne k$ many times.&#xA;This leaves the whole string sorted, except possibly for $s_k$, which is unsorted for $s$, and for certain other strings that have more $1$'s than $s$.&#xA;Now compare $s_k$ for $i=n$ downto $1$ except for the place where $s_k$ should go in $s$.&#xA;This will sort everything but $s$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt; I wonder what happens if we restrict the depth of the network to $O(\log n)$.&lt;/p&gt;&#xA;" OwnerUserId="419" LastEditorUserId="419" LastEditDate="2015-03-03T22:37:24.380" LastActivityDate="2015-03-03T22:37:24.380" Title="Is it enough to sort for polynomially many 0-1 sequences for a sorting network?" Tags="&lt;ds.algorithms&gt;&lt;sorting&gt;&lt;sorting-network&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="30653" PostTypeId="2" ParentId="30651" CreationDate="2015-03-01T21:41:20.770" Score="24" Body="&lt;p&gt;Very briefly: the simply-typed $\lambda$-calculus does not have  dependent types. Dependent types were proposed by de Bruijn and Howard who wanted to extend the Curry-Howard correspondence from propositional to first-order logic. The key contribution of Martin-L&amp;ouml;f's is a novel analysis of equality.&#xA;There are two main ways of giving Curry-Howard style account of equality. &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Using Leibniz's rule of the &lt;a href=&quot;https://en.wikipedia.org/wiki/Identity_of_indiscernibles&quot;&gt;identity of indiscernibles&lt;/a&gt; to encode propositional equality . This approach is used in the calculus of constructions, but it requires impredicative universes which were rejected by Martin-L&amp;ouml;f for philosophical reasons.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;A direct constructive characterisation of equality. Giving such a characterisation using identity types might be the main novelty of Martin-Löf's intuitionistic type theory.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Identity types appear deceptively simple today, but they refocussed the understanding of type-theory partly because they gave rise to intriguing semantical questions such as: are identity proofs unique? In some sense this question lead to homotopy type theory and the univalence axiom (which is incompatible with the uniqueness of identities). That the uniqueness of identity proofs is not derivable in Martin-Löf's intuitionistic type theory was shown &#xA;by Hofmann and Streicher in: &quot;The groupoid interpretation of type theory&quot;. Incidentally, this result also shows that pattern matching is not a conservative extension of traditional type theory.&lt;/p&gt;&#xA;" OwnerUserId="898" LastEditorUserId="898" LastEditDate="2015-03-02T10:41:02.103" LastActivityDate="2015-03-02T10:41:02.103" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="30654" PostTypeId="1" AcceptedAnswerId="30665" CreationDate="2015-03-02T04:08:07.253" Score="5" ViewCount="264" Body="&lt;p&gt;A post here &lt;a href=&quot;https://cstheory.stackexchange.com/questions/22445/for-which-families-of-graphs-is-generalized-geography-in-p&quot;&gt;For which families of graphs is Generalized Geography in $P$?&lt;/a&gt; mentioned that generalized geography on solid grid graphs is open. Is the question still open? A quick search on Google shows no results, but I wanted to see if anyone with more familiarity with the area can confirm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Related to this question, I also wonder if Generalized Geography on grid graphs with holes or thin graphs are also open? What about on bipartite graphs, expander graphs...etc? &lt;/p&gt;&#xA;" OwnerUserId="17736" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.743" LastActivityDate="2015-03-02T22:58:02.497" Title="Generalized geography on solid grid graphs" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;np-hardness&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="30659" PostTypeId="1" AcceptedAnswerId="30664" CreationDate="2015-03-02T13:44:12.093" Score="29" ViewCount="1619" Body="&lt;p&gt;Why is &quot;topological sorting&quot; called &quot;topological&quot;? Is it just because it determines an order without altering any vertices or edges -- like a doughnut and coffee cup are topologically equivalent? Why is it not called &quot;dependency sort&quot; or something else? Why &quot;topological&quot;? I admit I'm mystified. &lt;/p&gt;&#xA;" OwnerUserId="32287" LastEditorUserId="4795" LastEditDate="2020-05-15T15:55:17.437" LastActivityDate="2020-05-15T15:55:17.437" Title="Why is &quot;topological sorting&quot; topological?" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;directed-acyclic-graph&gt;&lt;topology&gt;&lt;topological-sorting&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="30660" PostTypeId="1" CreationDate="2015-03-02T17:05:10.037" Score="0" ViewCount="244" Body="&lt;p&gt;Does Spectral Gap remains same after removal of some edges from a Expander Graph ? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose we take a d-regular graph and remove m edges from it. For a $d$-regular graph We have $\lambda_1 = d$ and $\lambda_2 \leq (1-\epsilon)d $. After removing $m &amp;gt;=0 $ edges, will we have the same spectral gap i.e. $|\lambda_1 - \lambda_2|$ . &lt;/p&gt;&#xA;" OwnerUserId="31911" LastActivityDate="2015-03-02T17:05:10.037" Title="Spectral Gap in Expander Graphs" Tags="&lt;expanders&gt;" AnswerCount="0" CommentCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="30662" PostTypeId="2" ParentId="7561" CreationDate="2015-03-02T20:36:54.807" Score="24" Body="&lt;p&gt;I've already answered somewhat, but I'll try to give a more detailed overview of the type theoretical horizon, if you will.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm a bit fuzzy on the historical specifics, so more informed readers will have to forgive me (and correct me!). The basic story is that Curry had uncovered the basic correspondence between simply-typed combinators (or $\lambda$-terms) and propositional logic, which was extended by Howard to cover first-order logic, and IIRC independently discovered by de Bruijn in investigations around the hugely influential &lt;a href=&quot;http://en.wikipedia.org/wiki/Automath&quot; rel=&quot;noreferrer&quot;&gt;Automath&lt;/a&gt; system.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The Automath system was a refinement of Church's &lt;strong&gt;simple type theory&lt;/strong&gt; which itself was a dramatic simplification of Russel and Whitehead's type theory with universes and the &lt;strong&gt;axiom of reducibility&lt;/strong&gt;. This was relatively well-known logical terrain by the 1960s.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, giving a coherent, simple, foundational system that encompassed both proof and term systems was still a very open question by 1970, and a first answer was given by Per Martin-Löf. He gives a very philosophical overview &lt;a href=&quot;http://www.mpi-sws.org/~skilpat/plerg/papers/martin-lof-meanings-2up.pdf&quot; rel=&quot;noreferrer&quot;&gt;On the Meaning of the Logical Constants and the Justification of Logical Laws&lt;/a&gt;. He reasons that both in logic and mathematics, the meaning of constructions can be given by examining the &lt;strong&gt;introduction rules&lt;/strong&gt; which allow the formation of those constructions as judgements, e.g. for conjunction&#xA;$$ \frac{\vdash A\quad \vdash B}{\vdash A\wedge B}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Determines the corresponding elimination rule. He then gave a very powerful foundational system based on such judgements, allowing him to give a foundational system similar to Automath using very few syntactic constructions. Girard found that this system was contradictory, prompting Martin-Löf to adopt &quot;Russel-style&quot; &lt;strong&gt;predicative universes&lt;/strong&gt;, severely limiting the expressiveness of the theory (by effectively removing the axiom of reducibility) and making it slightly more complex (but had the advantage of making it consistent).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The elegant constructions allowing for the definition of the logical symbols didn't work anymore though, which prompted M-L to introduce them in a different form, as &lt;strong&gt;inductively defined families&lt;/strong&gt;. This is a very powerful idea, as it allows defining everything from judgmental equality and logical operators to natural numbers and functional data-types as they appear in computer science. Note that each family we add is akin to adding a number of axioms, which need to be justified as consistent in each instance. This system (dependent types + universes + inductive families) is usually what is referred to as &lt;strong&gt;ITT&lt;/strong&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However there was some lingering frustration, as the powerful but simple foundational system was inconsistent, and the resulting system was more complex, and somewhat weak (in the sense that it was difficult to develop much of the modern mathematical framework in it). Enter Thierry Coquand, who with his supervisor Gerard Huet, introduced the &lt;strong&gt;Calculus of Constructions (CoC)&lt;/strong&gt;, which mostly solved these issues: a unified approach to proofs and data-types, a powerful (impredicative) foundational system and the ability to define &quot;constructions&quot; of the logical or mathematical variety. This eventually matured into an actual implementation of a system designed as a modern alternative to Automath, culminating in the &lt;a href=&quot;https://coq.inria.fr/&quot; rel=&quot;noreferrer&quot;&gt;Coq&lt;/a&gt; system we know and love.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I highly suggest &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/0890540188900053#&quot; rel=&quot;noreferrer&quot;&gt;this&lt;/a&gt; foundational paper on CoC, as Thierry knows a ridiculous amount about the historical development of type theory, and probably explains this much better than I. You might also want to check out his &lt;a href=&quot;http://plato.stanford.edu/entries/type-theory/&quot; rel=&quot;noreferrer&quot;&gt;article&lt;/a&gt; on type theory, though it doesn't explain the C-H correspondence in much detail.&lt;/p&gt;&#xA;" OwnerUserId="3984" LastEditorUserId="4126" LastEditDate="2018-01-14T18:23:00.517" LastActivityDate="2018-01-14T18:23:00.517" CommentCount="15" ContentLicense="CC BY-SA 3.0" />
  <row Id="30663" PostTypeId="2" ParentId="28018" CreationDate="2015-03-02T21:22:37.257" Score="2" Body="&lt;p&gt;In case the input graph is bipartite, all cliques in the cover must be bicliques. Thus for bipartite graphs the problem that you are describing is the biclique partition problem. The biclique partition problem (and hence the more general problem that you describe) is NP-complete, and is NP-hard to approximate within $n^{1-\epsilon}$ for every $\epsilon&amp;gt;0$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;See here for more details:&#xA;P. Chalermsook, S. Heydrich, E. Holm, A. Karrenbauer: &#xA;Nearly Tight Approximability Results for Minimum Biclique Cover and Partition. In: &#xA;Proceedings of 22th Annual European Symposium on Algorithms (ESA), LNCS 8737, 2014, pp. 235-246&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT: Some easy combinatorial bounds: Let $opt(G)$ denote the minimum number of cliques/bicliques in an edge partition. Then $opt(G)$ is at most the chromatic number of the complement graph $\overline G$. Also, if $bp(G)$ denotes the number of bicliques in a minimum biclique edge partition of $G$, then $opt(G)\le bp(G)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you are interested in implementing a solution... Whereas you cannot resort to approximations, then you can still use some preprocessing and a greedy heuristic. In a preprocessing step, you can put all twin vertices, i.e. pairs of vertices that have the same set of neighbors, into equivalence classes. For the heuristic, call a heuristic for maximum clique, and one for maximum biclique. If the number of edges in the biclique we found is larger than that of the found clique, add the biclique to the edge cover, remove all edges in the biclique, and continue with the remaining graph. Otherwise, we add the clique to the edge cover and proceed in a similar manner. &lt;/p&gt;&#xA;" OwnerUserId="2367" LastEditorUserId="2367" LastEditDate="2015-03-04T22:11:08.663" LastActivityDate="2015-03-04T22:11:08.663" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="30664" PostTypeId="2" ParentId="30659" CreationDate="2015-03-02T21:26:17.887" Score="15" Body="&lt;p&gt;The earliest reference I could find for topological sort is from [Lasser61]:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;A network of directed line segments free of circular elements is assumed. The lines are identified by their terminal nodes and the nodes are assumed to be numbered by a non-topological system. Given a list of these lines in numeric order, a simple technique can be used to create at high speed a list in topological order.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I don't have access to this article right now but I would wager that the &quot;topology&quot; in &quot;topological sort&quot; does not come from the mathematical notion of topology (e.g.: open sets, compactness, etc...) but rather from the &quot;&lt;a href=&quot;http://en.wikipedia.org/wiki/Network_topology&quot;&gt;network topology&lt;/a&gt;&quot; sense.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[Lasser61] Lasser, Daniel J. &quot;&lt;a href=&quot;http://dl.acm.org/citation.cfm?id=366314&quot;&gt;Topological ordering of a list of randomly-numbered elements of a network.&lt;/a&gt;&quot; Communications of the ACM 4, no. 4 (1961): 167-168.&lt;/p&gt;&#xA;" OwnerUserId="751" LastActivityDate="2015-03-02T21:26:17.887" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="30665" PostTypeId="2" ParentId="30654" CreationDate="2015-03-02T22:52:21.663" Score="1" Body="&lt;p&gt;Just to complete my comment:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;GG remains PSPACE-complete on planar bipartite directed graphs with maximum degree 3 (see&lt;br&gt;&#xA;&lt;a href=&quot;http://doi.acm.org/10.1145/322186.322201&quot; rel=&quot;nofollow noreferrer&quot;&gt;D. Lichtenstein, M. Sipser: GO Is Polynomial-Space Hard. J. ACM 27(2): 393-401 (1980)&lt;/a&gt; )&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But (vertex) GG on undirected graphs is in P (see &lt;a href=&quot;https://cstheory.stackexchange.com/q/25897/3247&quot;&gt;this Q&amp;amp;A&lt;/a&gt; and &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/030439759390026P&quot; rel=&quot;nofollow noreferrer&quot;&gt;this paper&lt;/a&gt;) so it is in P also for grid graphs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For directed solid grid graphs I didn't find any reference, however, I think there is an easy way to simulate a planar bipartite directed graph; the following idea should work:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/GDgob.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;br&gt;&#xA;Both the &quot;diamond&quot; structure (A) and the crossover gadget (C), can be converted into an equivalent (directed) solid grid graph gadget (B) and (D).&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2015-03-02T22:58:02.497" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="30666" PostTypeId="1" CreationDate="2015-03-02T22:59:13.087" Score="10" ViewCount="699" Body="&lt;p&gt;Problems have been, as a whole, classified, thanks to Computational Complexity. But, in differential equations, is it possible to classify differential equations depending on their computational structure?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, if a first order non-homogeneous equation is comparatively difficult to solve than a, say, 100th order homogeneous equation, can they be classified as separate convexity classes, given the method to solve was same? If we vary the process of solving, how random shall the solutions, their existence and stability, and other properties vary?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would assume that I am partly convinced that solving differential equations might be NP-Hard:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://mathoverflow.net/questions/158068/simple-example-of-why-differential-equations-can-be-np-hard&quot;&gt;https://mathoverflow.net/questions/158068/simple-example-of-why-differential-equations-can-be-np-hard&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This article:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.cs.princeton.edu/~ken/MCS86.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://www.cs.princeton.edu/~ken/MCS86.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;has been forcing me ask for the scope of computational complexity according to the solvabality of Differential Equations. Starting with ordinary differential equations, we could classify partial, delay, difference equations etc.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I had once thought of incorporating dynamic programming using the iterates that were calculated while approximating a solution, but lost myself somewhere.&lt;/p&gt;&#xA;" OwnerUserId="32292" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2015-03-02T23:40:57.803" Title="Can differential equations be classed into their own complexity classes?" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;computability&gt;&lt;dynamic-algorithms&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="30667" PostTypeId="2" ParentId="30666" CreationDate="2015-03-02T23:40:57.803" Score="5" Body="&lt;p&gt;A first observation in the direction of decidability of ODEs is &lt;a href=&quot;http://arxiv.org/pdf/1204.6671v1.pdf&quot;&gt;this&lt;/a&gt; paper by Avigad, Clarke and Gao, which classifies the complexity of &lt;em&gt;$\delta$-decidability&lt;/em&gt;, in which solutions are to be found within a certain bounded error (the &quot;delta&quot;) in one direction.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;one of the main results is that $\delta$-solvability of (&lt;a href=&quot;http://en.wikipedia.org/wiki/Lipschitz_continuity&quot;&gt;Lipschitz-continuous&lt;/a&gt;) ODEs is $\mathrm{PSPACE}$-complete.&lt;/p&gt;&#xA;" OwnerUserId="3984" LastActivityDate="2015-03-02T23:40:57.803" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="30668" PostTypeId="2" ParentId="30652" CreationDate="2015-03-03T00:45:07.427" Score="8" Body="&lt;p&gt;It seems not.  &lt;a href=&quot;https://larc.unt.edu/ian/pubs/snverify.pdf&quot;&gt;Ian Parberry makes reference&lt;/a&gt; to a paper by Chung and Ravikumar, where they supposedly give a recursive construction of a sorting network that sorts every bitstring but one, and further deduce that the problem of verifying a sorting network is $co$-$NP$ complete.  I can't find the original paper right away, but certainly it matches (my) intuition.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit to add: It is actually very easy to find such a network that misses exactly one string.  The string to be missed will be $(1,0,\ldots,0)$.  Now you just want a circuit that sorts the last $n-1$ bits, then sorts the first $n-1$ bits.  This circuit will sort anything with at least two $1$s, will obviously sort the all-zero string, and will sort any string starting with $0$.&lt;/p&gt;&#xA;" OwnerUserId="1929" LastEditorUserId="1929" LastEditDate="2015-03-03T01:24:26.690" LastActivityDate="2015-03-03T01:24:26.690" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="30671" PostTypeId="2" ParentId="30618" CreationDate="2015-03-03T11:04:39.710" Score="1" Body="&lt;p&gt;Chazelle and Guibas wrote a paper describing some of the good applications that can be made with Fractional Cascading: &lt;a href=&quot;http://www.cs.princeton.edu/~chazelle/pubs/FractionalCascading2.pdf&quot; rel=&quot;nofollow&quot;&gt;Link&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some of the most interesting applications are:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Intersection of a polygonal path $P$ and a line. Given the path $P$, pre-process it and allow queries of the form: Given a line $l$, report all the intersections of $P$ and $l$.&lt;/li&gt;&#xA;&lt;li&gt;Orthogonal Range Search. Given points in $R^d$, and a $d$-orthotope. Return the points that lie in the orthotope.&lt;/li&gt;&#xA;&lt;li&gt;Planar point Location. Locate a point in a planar subdivision.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;You do have to give a bit more background as this problems tend to be geometrical in nature. Fractional Cascading is really only good when tackling higher dimensional problems. &lt;/p&gt;&#xA;" OwnerUserId="26743" LastActivityDate="2015-03-03T11:04:39.710" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="30672" PostTypeId="1" CreationDate="2015-03-03T14:35:46.827" Score="5" ViewCount="243" Body="&lt;p&gt;If we make a random assignment to the variables in $k$-sat ($m$ clauses), we are going to satisfy $(1-2^{-k})m$ clauses in expectation. In general satisfying fewer clauses is considered easy.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are newer algorithms for 3-sat that satisfy $(1-1/8+\epsilon)m$ clauses in $O(2^{8\epsilon m})$ time. I'm wondering if it's believed that this sort of result is tight in spirit of SETH?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In other words, does it seem reasonable to believe, say, that for any $\delta&amp;gt;0$ there exists $k$ so satisfying $(1-2^{-k}+\epsilon)m$ clauses in $k$-sat takes $\Omega((2-\delta)^{2^k\epsilon m})$ time?&lt;/p&gt;&#xA;" OwnerUserId="4310" LastEditorUserId="4310" LastEditDate="2015-03-04T13:04:14.607" LastActivityDate="2015-03-04T13:04:14.607" Title="Is MAX-SAT SETH (like) hard?" Tags="&lt;cc.complexity-theory&gt;&lt;approximation-algorithms&gt;&lt;sat&gt;&lt;approximation-hardness&gt;&lt;exp-time-algorithms&gt;" AnswerCount="0" CommentCount="3" FavoriteCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="30673" PostTypeId="1" CreationDate="2015-03-03T14:40:25.240" Score="4" ViewCount="311" Body="&lt;p&gt;I'm trying to understand and breakdown into simple English Church's paper for &quot;An Unsolvable Problem of Elementary Number Theory&quot; but I'm not finding anything useful online, only citations and links to the full paper.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does anyone know any resources I can get to help me understand this paper?&lt;/p&gt;&#xA;" OwnerUserId="32298" LastActivityDate="2019-04-28T07:46:49.657" Title="Resources for Church's paper &quot;An Unsolvable Problem of Elementary Number Theory&quot;?" Tags="&lt;lambda-calculus&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="30674" PostTypeId="2" ParentId="30641" CreationDate="2015-03-03T17:31:04.277" Score="2" Body="&lt;p&gt;This problem is known to be NP-complete in the strong sense.&#xA;See for instance&lt;br&gt;&#xA;&lt;a href=&quot;https://cstheory.stackexchange.com/questions/709/cutting-sticks-puzzle/713#713&quot;&gt;https://cstheory.stackexchange.com/questions/709/cutting-sticks-puzzle/713&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="31660" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2015-03-03T17:31:04.277" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="30675" PostTypeId="2" ParentId="30659" CreationDate="2015-03-03T19:09:46.057" Score="-2" Body="&lt;p&gt;The topology of a set of items is how they are connected. Topological sorting is sorting items based only on their topology.&lt;/p&gt;&#xA;" OwnerUserId="3113" LastActivityDate="2015-03-03T19:09:46.057" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="30678" PostTypeId="1" CreationDate="2015-03-03T22:55:53.580" Score="5" ViewCount="121" Body="&lt;p&gt;Consider the following constraint satisfaction problem: Let $\alpha_1 , \ldots, \alpha_k \in \mathbb{R}$ be given as well as an error parameter $\epsilon$. Find $p_1, \ldots, p_n$ such that  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;(i) $0 \le p_1, \ldots, p_n \le 1$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(ii) For $1\le j \le k$, $|(\sum_{i=1}^n p_i^j) - \alpha_j|\le \epsilon$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here $k \ll n$. I am interested in the time complexity of this problem: In particular, based on some symmetry considerations, one can show that it suffices to restrict one's search to the case where $p_1, \ldots, p_n$ all come from a set of size at most k. Based on this observation, one can consider all possible ways of partitioning $p_1, \ldots, p_n$ into k sets (which takes time $n^k$) and subsequently solve a problem which requires one to solve polynomial equations over the reals (in k variables and of degree bounded by k). This takes time $k^k$. The dependence of n^k is prohibitive for me and I was wondering if there is a way to solve this in time $O(n^{O(1)} \cdot k^{k})$ or at least better than $n^k$.  &lt;/p&gt;&#xA;" OwnerUserId="32294" LastEditorUserId="32294" LastEditDate="2015-03-04T03:34:42.367" LastActivityDate="2015-03-04T03:34:42.367" Title="Optimizing over symmetric polynomials" Tags="&lt;optimization&gt;&lt;polynomials&gt;" AnswerCount="0" CommentCount="1" FavoriteCount="0" ClosedDate="2015-03-07T09:07:31.310" ContentLicense="CC BY-SA 3.0" />
  <row Id="30679" PostTypeId="1" AcceptedAnswerId="30684" CreationDate="2015-03-04T01:31:56.367" Score="2" ViewCount="981" Body="&lt;p&gt;Is the decision whether a $k$-clique exists in a $k$-partite graph NP-hard? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have found only a very limited number of references on this problem, and they seem to be concerned with heuristics to enumerate the cliques (in particular k-cliques in k-partite graphs). On complexity, they only comment that the max-clique problem is generally hard, but nothing on the specific case. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; This is an edit of my earlier question: &lt;em&gt;whether the max-clique problem in a $k$-partite graph is NP-hard&lt;/em&gt;, with $k$ being part of the input? As Austin pointed out in the comments, it is easy to see that the answer is trivially yes by a reduction from the general max-clique problem; any graph $G$ on $n$ vertices can be considered $n$-partite. &#xA;The new question, however, is more specific and a reduction does not seem so obvious. For example, (and contrary to the original question) for $k=n$ one can easily check if an $n$-partite graph contains/is an $n$-clique. What about general $k$?&lt;/p&gt;&#xA;" OwnerUserId="32162" LastEditorUserId="32162" LastEditDate="2015-03-05T18:31:49.567" LastActivityDate="2017-08-23T04:36:45.653" Title="$k$-clique in $k$-partite graph" Tags="&lt;np-hardness&gt;&lt;clique&gt;" AnswerCount="2" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="30680" PostTypeId="1" CreationDate="2015-03-04T02:37:21.243" Score="12" ViewCount="693" Body="&lt;p&gt;The natural proofs barrier of &lt;a href=&quot;http://eccc.hpi-web.de/report/1994/010/&quot;&gt;Razborov and Rudich&lt;/a&gt; states that under credible cryptographic assumptions one cannot hope to separate NP from P/poly by finding combinatorial properties of functions that are constructive, large, and useful.  There are several well-known results that manage to evade the barrier.  There are also several papers discussing possible loopholes to the three conditions, such as a result of &lt;a href=&quot;http://math.mit.edu/~tchow/almost.pdf&quot;&gt;Chow&lt;/a&gt; showing the barrier is sensitive to weak violations of largeness, and a recent paper of &lt;a href=&quot;http://web.stanford.edu/~rrwill/itcs-single-column.pdf&quot;&gt;Chapman and Williams&lt;/a&gt; suggesting how to potentially avoid the barrier by relaxing the usefulness condition.  My question is whether there are any examples, or even the possibility, of avoiding the natural proofs barrier not by violating constructiveness, largeness, or usefulness, but by falling entirely outside its scope.  That is, it is not at all obvious to me why every potential method of proof should need to be based on finding combinatorial &quot;properties&quot; and then partitioning all functions into those that do and don't meet the property.  Why must this framework of operation apply to all possible proofs, and if it doesn't then what would other types of proofs look like?    &lt;/p&gt;&#xA;" OwnerUserId="32305" LastEditorUserId="109" LastEditDate="2015-03-04T11:27:05.803" LastActivityDate="2015-03-04T11:27:05.803" Title="Scope of natural proofs barrier" Tags="&lt;cc.complexity-theory&gt;&lt;circuit-complexity&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="30682" PostTypeId="2" ParentId="30680" CreationDate="2015-03-04T06:38:40.500" Score="14" Body="&lt;p&gt;Let $f: \{0,1\}^* \rightarrow \{0,1\}$ be a function, and let $C$ be a class of algorithms working on finite slices of $f$. Every circuit lower bound whatsoever is a proof that $f \notin C$, for some $f$ and some $C$. Consider the &quot;combinatorial property of Boolean functions&quot; ${\cal P}_f$, such that &lt;/p&gt;&#xA;&#xA;&lt;p&gt;${\cal P}_f(f) = 1$ and ${\cal P}_f(g) = 0$ for all $g \neq f$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A proof that $f \notin C$ is a proof that ${\cal P}_f$ is &lt;em&gt;useful against $C$&lt;/em&gt;, in the terminology of Razborov and Rudich. That is, &quot;usefulness&quot; is totally unavoidable -- there is no way to &quot;fall outside its scope.&quot; If you have proved a circuit lower bound at all, you have given some useful property.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that, if $f \in TIME[2^{O(n)}]$, then ${\cal P}_f$ is also constructive as well, in the terminology of Razborov and Rudich. So for functions $f$ computable within $E$ but not in (say) $P/poly$, constructivity would also apply to at least one property of Boolean functions that is useful against $P/poly$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, Razborov and Rudich is more fundamental than you might initially think. &lt;/p&gt;&#xA;" OwnerUserId="225" LastActivityDate="2015-03-04T06:38:40.500" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="30684" PostTypeId="2" ParentId="30679" CreationDate="2015-03-04T07:08:45.370" Score="9" Body="&lt;p&gt;This should be indeed NP-hard. And the construction is very similar to one that already worked for a similar question: &lt;a href=&quot;https://cstheory.stackexchange.com/questions/30605/many-one-reduction-from-inequality-problem-to-equality-problem&quot;&gt;Many-one reduction from inequality problem to equality problem&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;From a graph $G=(V,E)$ and $k$ construct the graph $G'$ with vertex set $V \times \{1,\dots,k\}$ and edges between $(v,i)$ and $(w,j)$ if $(i \ne j)$ and $(v \ne w)$ and $(v,w) \in E$. It is easy to see that $G'$ is $k$-partite and it has a $k$-clique if and only if $G$ has.&lt;/p&gt;&#xA;" OwnerUserId="32258" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2015-03-06T08:41:40.570" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="30685" PostTypeId="2" ParentId="30680" CreationDate="2015-03-04T07:33:49.900" Score="6" Body="&lt;p&gt;You are right: the natural proofs theorem is about natural properties (and only informally about proofs). Razborov himself wrote two papers around the same time looking into the class of formal proofs and complexity lower bounds:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://people.cs.uchicago.edu/~razborov/files/bobo.ps&quot;&gt;Bounded Arithmetic and Lower Bounds in Boolean Complexity&lt;/a&gt;, 1995&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://people.cs.uchicago.edu/~razborov/files/ind.pdf&quot;&gt;Unprovability of Lower Bounds on the Circuit Size in Certain Fragments of Bounded Arithmetic&lt;/a&gt;, 1995&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The first studies the formalization of existing lower bound proofs in weak fragments of arithmetic (upper bounds on hardness of proving complexity theory lower bounds). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The second paper is about lower bounds on the hardness of proving stronger complexity theory lower bounds: &lt;strong&gt;how much math do we need to prove $\mathsf{P} \neq \mathsf{NP}$?&lt;/strong&gt; Do we need $ZFC$? $ZF$? $PA$? Maybe at least $PV$? ($PV$ is considered the theory corresponding to reasoning using concepts in $\mathsf{P}$). An ideal result for the second paper would have been: &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;$PV$ cannot prove (a reasonable formalization of) $\mathsf{P} \neq \mathsf{NP}$. &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;To do this we would need to formalize the informal idea that &lt;em&gt;we can extract natural properties from lower bound proofs&lt;/em&gt; in $PV$. However the results in the second paper are much weaker than this.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So it is possible to best of our knowledge that $\mathsf{P} \neq \mathsf{NP}$ has a proof that does not use any concept outside $\mathsf{P}$. In fact it is possible to best of our knowledge that much weaker theories can prove the separation.&lt;/p&gt;&#xA;" OwnerUserId="186" LastActivityDate="2015-03-04T07:33:49.900" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="30693" PostTypeId="1" CreationDate="2015-03-05T05:08:55.107" Score="4" ViewCount="1684" Body="&lt;p&gt;In my research I need an upper bound for chi-square divergence in terms KL divergence which works for general alphabets. To make this precise, note that for two probability measures $P$ and $Q$ defined over a general alphabet $\mathcal{X}$, if $P\ll Q$, then &#xA;$$\chi ^2(P||Q):=\int_{\mathcal{X}}\Big(\frac{dP}{dQ}\Big)^2dQ$$ and &#xA;$$D(P||Q):=\int_{\mathcal{X}}dP\log\frac{dP}{dQ}.$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am looking for an upper bound of $\chi^2(P||Q)$ in terms of $D(P||Q)$ which works wven if $\mathcal{X}$ is uncountable. &#xA;What I need is a special case where $P=P_{XY}$ and $Q=P_X\times P_Y$, for two random variables with joint and product distributions are $P_{XY}$ and $P_X\times P_Y$, respectively. Noticing that in this case KL divergence is equal to the mutual information , I need an upper bound of chi-square divergence in terms of mutual information. &lt;/p&gt;&#xA;" OwnerUserId="21925" LastActivityDate="2019-09-12T17:08:12.917" Title="An upper bound for chi-square divergence in terms of KL divergence for general alphabets" Tags="&lt;pr.probability&gt;&lt;it.information-theory&gt;&lt;st.statistics&gt;" AnswerCount="2" CommentCount="4" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="30695" PostTypeId="1" CreationDate="2015-03-05T07:47:27.567" Score="12" ViewCount="618" Body="&lt;p&gt;Are there any algorithms for reordering data to optimize for compression?  I understand this is specific to the data and the compression algorithm, but is there a word for this topic?  Where can I find research in this area?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Specifically, I have a json list of 1.5 million strings, and I want to reorder the strings so that gzip (for HTTP) compression is optimized.  Sorting the strings does pretty well, but I don't really know if that is optimal.&lt;/p&gt;&#xA;" OwnerUserId="25228" LastEditorUserId="25228" LastEditDate="2019-10-05T04:21:55.117" LastActivityDate="2019-10-05T04:21:55.117" Title="Reordering data (set of strings) to optimize for compression?" Tags="&lt;optimization&gt;&lt;permutations&gt;" AnswerCount="4" CommentCount="2" FavoriteCount="3" ContentLicense="CC BY-SA 4.0" />
  <row Id="30696" PostTypeId="2" ParentId="30695" CreationDate="2015-03-05T09:15:47.090" Score="4" Body="&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Burrows%E2%80%93Wheeler_transform&quot; rel=&quot;nofollow&quot;&gt;Burrows--Wheeler transform&lt;/a&gt; is a well-known compression algorithm that works by reordering the characters in the string to be compressed. &lt;/p&gt;&#xA;" OwnerUserId="32319" LastActivityDate="2015-03-05T09:15:47.090" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="30697" PostTypeId="1" CreationDate="2015-03-05T10:40:30.167" Score="4" ViewCount="144" Body="&lt;p&gt;A graph is &lt;span class=&quot;math-container&quot;&gt;$(p,q)$&lt;/span&gt;-colorable if its vertices can be partitioned&#xA;into &lt;span class=&quot;math-container&quot;&gt;$p$&lt;/span&gt; cliques and &lt;span class=&quot;math-container&quot;&gt;$q$&lt;/span&gt; independent sets.&lt;/p&gt;&#xA;&lt;p&gt;For &lt;span class=&quot;math-container&quot;&gt;$(2,0)$&lt;/span&gt;-colorable graphs clique is polynomial.&lt;/p&gt;&#xA;&lt;p&gt;I am interested how easier (if any) is clique in &lt;span class=&quot;math-container&quot;&gt;$(3,0)$&lt;/span&gt;-colorable,&#xA;when the partitions are given.&lt;/p&gt;&#xA;&lt;p&gt;Given graph &lt;span class=&quot;math-container&quot;&gt;$G$&lt;/span&gt; and 3 partitions of its vertices&#xA;&lt;span class=&quot;math-container&quot;&gt;$A,B,C : A \cup B \cup C=V(G)$&lt;/span&gt; such&#xA;that &lt;span class=&quot;math-container&quot;&gt;$A,B,C$&lt;/span&gt; induce cliques in G.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Q1 Is clique faster in this case?&lt;/p&gt;&#xA;&lt;p&gt;Q2 If it is faster what is the complexity?&lt;/p&gt;&#xA;&lt;p&gt;Q3 How good can we approximate clique in this case?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;We have a clique &lt;span class=&quot;math-container&quot;&gt;$\frac{V(G)}{3}$&lt;/span&gt; for free.&lt;/p&gt;&#xA;" OwnerUserId="22348" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2015-03-05T12:27:55.197" Title="Does it help for clique if the vertices are partitioned into 3 cliques?" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="30698" PostTypeId="2" ParentId="30697" CreationDate="2015-03-05T12:27:55.197" Score="11" Body="&lt;p&gt;Computing a maximum clique in a graph whose vertex set can be partitioned into 3 cliques, is equivalent to computing a maximum independent set in the complement graph, which can be partitioned into 3 independent sets and is therefore 3-colorable. The latter problem is still NP-complete, which can be seen as follows: Start from an arbitrary instance $(G,k)$ of independent set and subdivide each edge twice, i.e., replace each edge ${u,v}$ by a path ${u,e_1, e_2, v}$ on two new vertices. It is not difficult to prove that the resulting graph $G'$ has an independent set of size $k + |E(G)|$ if and only if $G$ has a size-$k$ independent set: for every independent set in $G$, you can add exactly one of the two subdivider vertices on every edge without violating independence.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hence the Clique problem is still NP-complete for such inputs.&lt;/p&gt;&#xA;" OwnerUserId="122" LastActivityDate="2015-03-05T12:27:55.197" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="30699" PostTypeId="2" ParentId="27301" CreationDate="2015-03-05T12:31:48.383" Score="2" Body="&lt;p&gt;B-Trees, N-ary Trees, Autocracy and Democracy&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://rkvsraman.blogspot.in/2008/08/b-trees-n-ary-trees-autocracy-and.html&quot; rel=&quot;nofollow&quot;&gt;http://rkvsraman.blogspot.in/2008/08/b-trees-n-ary-trees-autocracy-and.html&lt;/a&gt; &lt;/p&gt;&#xA;" OwnerUserId="32320" LastActivityDate="2015-03-05T12:31:48.383" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="30700" PostTypeId="2" ParentId="27301" CreationDate="2015-03-05T12:33:55.070" Score="0" Body="&lt;p&gt;Dijkstra's Algorithm and Human Psyche&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://rkvsraman.blogspot.in/2005/12/dijkstras-algorithm-and-human-psyche.html&quot; rel=&quot;nofollow&quot;&gt;http://rkvsraman.blogspot.in/2005/12/dijkstras-algorithm-and-human-psyche.html&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="32320" LastActivityDate="2015-03-05T12:33:55.070" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="30701" PostTypeId="2" ParentId="27301" CreationDate="2015-03-05T13:08:09.290" Score="2" Body="&lt;p&gt;There is a very nice metaphor on decidable languages in the book &lt;a href=&quot;http://en.wikipedia.org/wiki/G%C3%B6del,_Escher,_Bach&quot; rel=&quot;nofollow noreferrer&quot;&gt;Gödel, Escher, Bach&lt;/a&gt; by Douglas Hofstadter.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;He uses drawings as an analogy for recursively enumerable languages.&#xA;Every time you draw something on a sheet of paper, the part of the sheet that is not used by your drawing can be viewed as the &quot;complement&quot; of your drawing.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The artist M.C. Escher plays with such complements in pictures like this one:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/Oq8Iy.jpg&quot; alt=&quot;Tessellation by Escher&quot;&gt; &lt;/p&gt;&#xA;&#xA;&lt;p&gt;We can view this as a picture of birds, whose complement is a picture of fishes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The behaviour is the same with decidable languages: both the language and its complement are recursively enumerable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To sum up, it allows to graphically view an object that &quot;makes sense&quot; (in this case it stands for recursively enumerable), such that the &quot;hole&quot; it leaves in the universe also &quot;makes sense&quot;.&lt;/p&gt;&#xA;" OwnerUserId="8953" LastEditorUserId="8953" LastEditDate="2015-03-05T13:23:18.743" LastActivityDate="2015-03-05T13:23:18.743" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="30702" PostTypeId="2" ParentId="30695" CreationDate="2015-03-05T15:21:51.070" Score="6" Body="&lt;p&gt;This is an addition to the Navin Goyal's answer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since a JSON file can be regarded as a tree data structure, you can use &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=1613680&quot; rel=&quot;noreferrer&quot;&gt;the XBW-transform&lt;/a&gt; for trees, which is an extension of the Burrows-Wheeler transform for strings.&lt;/p&gt;&#xA;" OwnerUserId="26853" LastActivityDate="2015-03-05T15:21:51.070" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="30703" PostTypeId="1" AcceptedAnswerId="30711" CreationDate="2015-03-05T17:16:34.637" Score="3" ViewCount="196" Body="&lt;p&gt;Is there a published algorithm for translating a context-free parsing problem into SAT? That is, an algorithm that translates a context-free grammar and an input string into a set clauses that is satisfiable iff the input string is well-formed according to the grammar.&lt;/p&gt;&#xA;" OwnerUserId="17677" LastActivityDate="2015-03-12T02:18:22.117" Title="Translation of context-free parsing into SAT" Tags="&lt;fl.formal-languages&gt;&lt;sat&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="30704" PostTypeId="1" AcceptedAnswerId="30706" CreationDate="2015-03-05T22:27:25.577" Score="5" ViewCount="516" Body="&lt;p&gt;For counting the number of inversions in an array, there are many $O(n \log n)$ algorithms, e.g. the one that modifies Merge Sort. There is an easy $\Omega(n)$ lower bound simply because you have to look at all the elements. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I saw some faster algorithms in the RAM model, such as this $O(n \sqrt{\log n})$ algorithm for a permutation on $n$ elements: &lt;a href=&quot;http://people.csail.mit.edu/mip/papers/invs/paper.pdf&quot; rel=&quot;noreferrer&quot;&gt;http://people.csail.mit.edu/mip/papers/invs/paper.pdf&lt;/a&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is anything else known in the comparison model for inversion counting? I'm mainly curious if there are better lower bounds.&lt;/p&gt;&#xA;" OwnerUserId="32324" LastActivityDate="2015-03-06T05:15:30.420" Title="Lower bounds for inversion counting in comparison model?" Tags="&lt;ds.algorithms&gt;&lt;lower-bounds&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="30706" PostTypeId="2" ParentId="30704" CreationDate="2015-03-06T05:07:29.057" Score="6" Body="&lt;p&gt;I'm not totally sure, but it seems you can get $\Omega(n \log n)$ lower bound.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose in the worst case we use $o(n \log n)$ queries. Consider a decision tree for our algorithm. Cause of depth of the tree there should be a leaf such that there are at least two permutations which correspond to it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now consider all queries with answers on a path from the root to the leaf. We know that they set a partial, not total, order. Consider two elements, which can not be compared. Take any permutation, which corresponds to this order, and swap these elements.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I don't have a strict proof, but it seems to be true, that after such a swap number of inversions should be changed. If so, we broke our algorithm and obtained lower bound.&lt;/p&gt;&#xA;" OwnerUserId="19579" LastEditorUserId="19579" LastEditDate="2015-03-06T05:15:30.420" LastActivityDate="2015-03-06T05:15:30.420" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="30709" PostTypeId="1" AcceptedAnswerId="30807" CreationDate="2015-03-06T10:10:33.340" Score="3" ViewCount="409" Body="&lt;p&gt;Consider a denotational semantics from simply-typed $\lambda$-calculus into dependent type theory. Is that actually a (trivial) term transformation into that dependent type theory? After all, type theory has a syntax.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In fact, even set theory has a syntax*! So how do we distinguish a denotational semantics from a compositional term transformation?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, let's generalize to less trivial program transformations — say, transformation to continuation-passing style (or store-passing style, environment passing style, ...). You can show the same idea through a &lt;em&gt;non-standard&lt;/em&gt; semantics (here, a continuation-passing semantics) or a term transformation into a continuation-passing term, and they're distinguished by a binding-time shift. Again, isn't the non-standard semantics also a term transformation?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is a concrete confusion which I've observed at least twice:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;In my work (on incremental computation) I've used a non-standard denotational semantics into type theory (a &quot;change-passing&quot; semantics). After a presentation of that, Gabriel Scherer remarked (kindly) that for him, that was a term transformation into a dependently typed language.&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&quot;F-ing modules&quot; preempts this confusion — they defend their presentation of the syntax of semantic objects.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Semantic signatures. The syntax of semantic signatures is given in Figure 9. (&lt;em&gt;And no, this is not an oxymoron, for in our setting the “semantic objects” we are using to model modules are merely pieces of Fω syntax.&lt;/em&gt;) [Emphasis added.]&lt;/p&gt;&#xA;&lt;/blockquote&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;*Apparently, some (non-formalists) claim that set theory is not &quot;just syntax&quot;, but something ontologically different. I'll ignore this subtle philosophical issue; the only reference I know on it is Raymond Turner's &lt;a href=&quot;https://github.com/reflectionalist/DS-PhPL/blob/master/Articles/Raymond-Turner_UnderstandingProgrammingLanguages_2007.pdf&quot; rel=&quot;nofollow&quot;&gt;Understanding Programming Languages&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="989" LastEditorUserId="3984" LastEditDate="2015-03-12T16:36:31.830" LastActivityDate="2015-03-13T17:21:07.380" Title="Distinguishing semantics vs syntactic techniques and the syntax of your semantic domains" Tags="&lt;lo.logic&gt;&lt;pl.programming-languages&gt;&lt;big-picture&gt;" AnswerCount="3" CommentCount="7" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="30710" PostTypeId="2" ParentId="30709" CreationDate="2015-03-06T10:10:33.340" Score="-1" Body="&lt;p&gt;There's at least one important difference between a (compositional) term transformation and a semantics — the output of a term transformation is written in the syntax of an object language, the output of a semantics is written in the syntax of the &lt;em&gt;metalanguage&lt;/em&gt;. While a metalanguage has a syntax, you needn't deal with that additional complexity any more — the metatheory takes care of that.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider for instance proving $f(a) = f(b)$ from $a = b$.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;In a syntactic framework, to do the corresponding thing (go from $a = b$ to $f(a) = f(b)$) you need to apply (in some form) a substitution lemma to the terms $a$, $b$, $f(x)$. EDIT: Also, you need to pick an appropriate equality (usually observational equivalence, but see &lt;a href=&quot;https://cstheory.stackexchange.com/q/30712/989&quot;&gt;For what languages is there already a theory of observational equivalence?&lt;/a&gt;).&lt;/li&gt;&#xA;&lt;li&gt;In a semantic framework, you just go from $a = b$ to $f(a) = f(b)$, because $f$ is a &quot;function&quot; and thus takes equals to equals, and because = has been defined appropriately. That's because the metatheory already proved that &quot;functions&quot; satisfy the &lt;em&gt;specification&lt;/em&gt; of functions.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;According to many, the specification of functions is &lt;em&gt;category theory&lt;/em&gt;. I'm tempted to conclude: &quot;One can ignore the syntax of the metalanguage because somebody else proved that the metalanguage operations model the axioms of categories&quot; — but I'm ignoring all the subtle issues for languages bigger than simply-typed $\lambda$-calculus, and I'm not sure that's a good idea.&lt;/p&gt;&#xA;" OwnerUserId="989" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2015-03-06T15:11:25.220" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="30711" PostTypeId="2" ParentId="30703" CreationDate="2015-03-06T10:16:43.203" Score="12" Body="&lt;p&gt;(I guess the important word in the original question is ``published''.)  There is such an encoding of context-free parsing (more exactly of CYK-style parsing) in  Roland Axelsson, Keijo Heljanko, and Martin Lange, &lt;em&gt;Analyzing Context-Free Grammars Using an Incremental SAT Solver&lt;/em&gt;, ICALP 2008, Lecture Notes in Computer Science vol. 5126, pp. 410--422, &lt;a href=&quot;http://dx.doi.org/10.1007/978-3-540-70583-3_34&quot;&gt;doi:10.1007/978-3-540-70583-3_34&lt;/a&gt;.  They use it in particular to detect ambiguity of words $w$ in context-free grammars for growing word lengths.&lt;/p&gt;&#xA;" OwnerUserId="609" LastActivityDate="2015-03-06T10:16:43.203" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="30712" PostTypeId="1" CreationDate="2015-03-06T15:10:42.830" Score="12" ViewCount="776" Body="&lt;p&gt;For a correctness proof, I'm looking for a usable notion of program equivalence $\cong$ for Barendregt's pure type systems (PTSs); missing that, for enough specific type systems. My goal is simply to use the notion, not to investigate it for its own sake.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This notion should be &quot;&lt;em&gt;extensional&lt;/em&gt;&quot; — in particular, to prove that $t_1 \cong t_2$, it should be enough to prove that $t_1\; v \cong t_2\; v$ for all values $v$ of the appropriate type.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Denotational equivalence&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;Denotational equivalence easily satisfies all the right lemmas, but a denotational semantics for arbitrary PTS seems rather challenging — it'd appear hard already for System F.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Contextual/observational equivalence&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;The obvious alternative are then various forms of contextual equivalence (two terms are equivalent if no ground context can distinguish them), but its definition is not immediately usable; the various lemmas aren't trivial to prove. Have they been proved for PTS? Alternatively, would the theory be an &quot;obvious extension&quot;, or is there reason to believe the theory would be significantly different?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT: I didn't say what's hard above.&lt;/p&gt;&#xA;&#xA;&lt;h3&gt;Easy part: the definition&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;Defining the equivalence is not too hard, and the definition appears in many papers (starting at least from Plotkin 1975's study of PCF, if not earlier — the source might be Morris's PhD thesis from 1968).&#xA;We $t_1 \cong t_2$ if for all &lt;em&gt;ground&lt;/em&gt; contexts $C$, $C[t_1] \simeq C[t_2]$ — that is, $C[t_1]$ and $C[t_2]$ give the same &lt;em&gt;result&lt;/em&gt;. You have a few choices here with lots of alternatives: For instance, in a strongly normalizing language, if you have a ground type of naturals, you can say that ground contexts are the ones that return naturals, and then $a \simeq b$ means that $a$ and $b$ evaluate to the same number. With nontermination, for reasonable languages it is enough to use &quot;X terminates&quot; as observation, because if two programs are equivalent when observing termination, they're also equivalent when observing the result.&lt;/p&gt;&#xA;&#xA;&lt;h3&gt;Hard part: the proofs&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;However, those papers often don't explain how hard it is to actually use this definition. All the references below show how to deal with this problem that, but the needed theory is harder than one thinks. How do we prove that $t_1 \cong t_2$? Do we actually do case analysis and induction on contexts? You don't want to do that.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As Martin Berger points out, you want to use, instead, either bisimulation (as done by Pitts) or a logical equivalence relation (that Harper simply calls &quot;logical equivalence&quot;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, how do you prove extensionality as defined above?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Harper solves these questions in 10 pages for System T, through considerable cleverness and logical relations. Pitts takes more. Some languages are yet more complex.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;How to deal with this&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;I'm actually tempted to make my proofs conditionally on a conjectured theory of equivalence for PTS, but the actual theories require nontrivial arguments, so I'm not sure how likely such a conjecture would be to hold.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm aware (though not in detail) of the following works:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Andrew Pitts (for instance in ATTAPL for an extended System F, and in a few papers, such as the 58-page &quot;Operationally-Based Theories of Program Equivalence&quot;).&lt;/li&gt;&#xA;&lt;li&gt;Practical Foundations of Programming Languages (chapters 47-48), which is inspired by Pitts (but claims to have simpler proofs).&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.theses.fr/2014EMNA0124&quot;&gt;A logical study of program equivalence&lt;/a&gt;. I can't find an English abstract, but it seems to spend a great deal of effort for side effects (references), which seems an orthogonal complication.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="989" LastEditorUserId="270" LastEditDate="2017-03-10T20:15:06.140" LastActivityDate="2017-03-10T21:09:04.040" Title="For what languages is there already a theory of observational equivalence?" Tags="&lt;pl.programming-languages&gt;&lt;type-theory&gt;&lt;operational-semantics&gt;" AnswerCount="3" CommentCount="12" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="30716" PostTypeId="1" CreationDate="2015-03-07T01:45:26.107" Score="2" ViewCount="120" Body="&lt;p&gt;A distribution $D$ on $\{0,1\}^n$ is $k$-wise independent if any $k$ of the underlying $n$ random variables are independent and each is uniformly distributed.&#xA;To me this looks similar in spirit to $D$ having $\textit{min-entropy}$ $k$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there any formal relation between $k$-wise independence of a distribution and its min-entropy?&lt;/p&gt;&#xA;" OwnerUserId="32331" LastActivityDate="2015-03-07T01:45:26.107" Title="k-wise Independence vs. Min-entropy" Tags="&lt;cc.complexity-theory&gt;&lt;pseudorandomness&gt;" AnswerCount="0" CommentCount="1" FavoriteCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="30717" PostTypeId="1" AcceptedAnswerId="30722" CreationDate="2015-03-07T08:23:12.403" Score="8" ViewCount="345" Body="&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/BAVjL.jpg&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the movie Inception  Cobb asks a asks Ariadne to design a maze that takes twice as much time to design. This lends itself to a generalized problem where we have an situation where we are resource limited by some amount and whoever will verify that this problem is in the given complexity class that either will take more time and or space to solve. Is this a novel problem?&lt;/p&gt;&#xA;" OwnerUserId="5385" LastEditorUserId="5385" LastEditDate="2015-03-15T16:06:14.353" LastActivityDate="2015-03-15T16:06:14.353" Title="The hardness of generating an instance of a problem that is harder than the complexity of the resulting problem" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;time-complexity&gt;&lt;space-complexity&gt;" AnswerCount="2" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="30718" PostTypeId="2" ParentId="30712" CreationDate="2015-03-07T09:44:25.703" Score="0" Body="&lt;p&gt;This answer suggests an approach to the problem. (Feedback is welcome).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;PFPL chapter 49 discusses, at once, the equivalent notions of observational equivalence and logical equivalence. Logical equivalence is the same relation used to state parametricity, so the core of the chapter is a proof of parametricity for System F.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Work on parametricity for PTS, AFAICT, does not discuss the relation with observational equivalence. In fact, to even define observational equivalence, unless you have nontermination, you need some positive ground type (naturals, booleans) to use for observations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, the key theorem (PFPL 47.6, 48.3, 49.2) to relate the two relations is proven independently from the specific language:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Observational equivalence is the coarsest consistent congruence on expressions.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Then, to show that logical equivalence implies observational equivalence, one only need show that logical equivalence is a consistent congruence. However, the other direction requires some more work: in particular, to show that logical equivalence is a congruence, one does proceed by induction on contexts.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT: there's a big problem with this approach: you wouldn't get &lt;code&gt;n + 1 = 1 + n&lt;/code&gt;. Let &lt;code&gt;VecN n&lt;/code&gt; be the type of vectors of naturals of length &lt;code&gt;n&lt;/code&gt; (assuming that can be defined or encoded), and consider using &lt;code&gt;VecN&lt;/code&gt; as a context (well, you'd need in fact a context ending in &lt;code&gt;VecN&lt;/code&gt;, but bear with me). Since $n + 1 = 1 + n$ is not a definitional equivalence, types &lt;code&gt;Vec (n + 1)&lt;/code&gt; and &lt;code&gt;Vec (1 + n)&lt;/code&gt; are incompatible, hence &lt;code&gt;n + 1&lt;/code&gt; and &lt;code&gt;1 + n&lt;/code&gt; are not observationally equivalent.&lt;/p&gt;&#xA;" OwnerUserId="989" LastEditorUserId="989" LastEditDate="2016-03-18T13:28:29.557" LastActivityDate="2016-03-18T13:28:29.557" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="30719" PostTypeId="2" ParentId="30717" CreationDate="2015-03-07T14:31:18.097" Score="4" Body="&lt;p&gt;First, I don't think the Arthur-Merlin protocol has to enter the model -- it sounds from the motivation like you just want to produce problem instances quickly so that any algorithm for solving them is slow. In other words, if we could prove that Arthur can produce a hard problem, then there seems to be no need for Merlin to verify that the problem produced is hard.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Very related is &lt;a href=&quot;https://cstheory.stackexchange.com/questions/17456/the-examiners-problem-uniform-generation-of-sat-decision-instances-answers&quot;&gt;this question&lt;/a&gt;: Can we generate in polynomial time a language that is not decidable in polynomial time? The answer turns out to be yes iff unary P is not equal to unary NP.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;That was for deterministically generating an instance. For randomly generating one, if one-way functions $f$ exist, then we can just pick a uniformly random $x$ and present the problem &quot;here is $f$ and $f(x)$, find $x$&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hmm, actually, if we are not constrained, we can generate very hard problems: For a problem of size $n$, we ask whether the $n$th Turing Machine halts on a blank input. Or if we have randomness, we pick a number $i$ in $\{1,\dots,n\}$ uniformly at random and ask whether the $i$th Turing Machine halts. So perhaps it makes sense to limit the kinds of problems we want to generate to only be so hard, e.g. in NP.&lt;/p&gt;&#xA;" OwnerUserId="8243" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2015-03-08T05:41:14.310" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="30720" PostTypeId="1" CreationDate="2015-03-07T16:16:29.987" Score="1" ViewCount="42" Body="&lt;p&gt;Is there an implementation of weighted abduction other than the PT theorem prover? A Google search reveals the PTTP and a few statistical approaches but I'm interested in a rule-based approach. The PTTP is too slow with large knowledge bases. Since I couldn't google up anything useful I guess there's none (maybe statistics is the way to go as abduction is intractable) but maybe someone knows of an alternative in a different branch of logic programming (such as ASP).&lt;/p&gt;&#xA;" OwnerUserId="17677" LastActivityDate="2015-03-13T18:27:59.823" Title="Is there a rule-based implementation of weighted abduction other than the PTTP?" Tags="&lt;lo.logic&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="30721" PostTypeId="2" ParentId="30712" CreationDate="2015-03-07T20:09:43.423" Score="4" Body="&lt;p&gt;A compositional denotational semantics $[\![ {-} ]\!]$ of a programming language (a domain-theoretic or game-theoretic one, for instance) is &lt;strong&gt;adequate&lt;/strong&gt; if semantically equal terms imply that they are observationally equivalent:&#xA;$$[\![ t_1 ]\!] = [\![ t_2 ]\!] \implies t_1 \cong t_2.$$&#xA;It often happens that it is far easier to calculate denotations that to prove observational equivalence. This is a common technique with many known variants. Adequacy is defined already in Plotkin's PCF paper.&lt;/p&gt;&#xA;" OwnerUserId="705" LastEditorUserId="705" LastEditDate="2017-03-10T21:09:04.040" LastActivityDate="2017-03-10T21:09:04.040" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="30722" PostTypeId="2" ParentId="30717" CreationDate="2015-03-08T06:31:50.217" Score="15" Body="&lt;p&gt;This situation comes up frequently in crypto, where you want to generate hard problem instances along with their solutions. For example, there is the work of Eric Bach (and later, Adam Kalai) on efficiently generating random integers with their prime factorizations. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;One of many interesting observations of Impagliazzo and Wigderson (Randomness vs time: derandomization under a uniform assumption. J. Comput. Syst. Sci., 63:672–688, 2001) is that one can efficiently generate uniform random matrices modulo p along with their permanents. (Think about it... use self-reducibility of permanent....) Moreover, we know that the permanent is &lt;em&gt;random&lt;/em&gt; self-reducible. So this is an example of a very hard problem for which we can efficiently generate solved instances.&lt;/p&gt;&#xA;" OwnerUserId="225" LastActivityDate="2015-03-08T06:31:50.217" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="30725" PostTypeId="1" CreationDate="2015-03-08T21:51:19.210" Score="2" ViewCount="123" Body="&lt;p&gt;Let $H$ be a hypothesis class with VC dimension $d$. In supervised learning, we need almost $O(\frac{d}{\epsilon})$ random labelled examples to return a hypothesis within $\epsilon$ from the target (separable case).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Active_learning_(machine_learning)&quot; rel=&quot;nofollow&quot;&gt;Active learning&lt;/a&gt; potential lies in its exponential saving in terms of the number of queries required compared to the supervised learning. This big saving in known for some structures ( for example learning threshold functions requires $O(\frac{1}{\epsilon})$ examples while we can achieve the same goal with $log \frac{1}{\epsilon}$ in active learning ). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;What characterizes this exponential reduction in general? Are there certain properties such that if $H$ satisfies them then active learning would help? &lt;/p&gt;&#xA;" OwnerUserId="17991" LastEditorUserId="17991" LastEditDate="2015-03-08T22:24:25.630" LastActivityDate="2015-03-10T06:48:10.993" Title="Characterizing the exponential savings in active learning" Tags="&lt;machine-learning&gt;&lt;lg.learning&gt;&lt;vc-dimension&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="30726" PostTypeId="1" AcceptedAnswerId="30730" CreationDate="2015-03-09T00:05:46.800" Score="5" ViewCount="246" Body="&lt;p&gt;I have read in several papers it is well known that deterministically extracting even one bit from a weak source is impossible. Could someone explain why?&lt;/p&gt;&#xA;" OwnerUserId="32342" LastActivityDate="2015-03-10T17:23:40.600" Title="Deterministic Randomness Extractors" Tags="&lt;randomness&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="30727" PostTypeId="2" ParentId="30712" CreationDate="2015-03-09T01:55:31.693" Score="2" Body="&lt;p&gt;The domain and model theories of PTSes hasn't been explored all that much I'm afraid. One detailed source is Thomas Streicher's PhD work: &lt;a href=&quot;http://link.springer.com/book/10.1007%2F978-1-4612-0433-6&quot; rel=&quot;nofollow&quot;&gt;Semantics of Type Theory&lt;/a&gt;. He gives category theoretic semantics for all PTS, though I'm not sure he addresses $\eta$-conversion.&lt;/p&gt;&#xA;" OwnerUserId="3984" LastActivityDate="2015-03-09T01:55:31.693" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="30728" PostTypeId="2" ParentId="30624" CreationDate="2015-03-09T04:35:35.880" Score="10" Body="&lt;p&gt;The computational problem associated to Noether's Normalization Lemma for explicit varieties (&quot;explicit&quot; in the sense of &lt;a href=&quot;http://ieee-focs.org/FOCS-2012-Papers/4874a629.pdf&quot;&gt;this paper&lt;/a&gt; [&lt;a href=&quot;http://gct.cs.uchicago.edu/gct5.pdf&quot;&gt;freely available full version&lt;/a&gt;]). Best known upper bound is $\mathsf{EXPSPACE}$ (note, SPACE, not TIME!) but it is conjectured to be in $\mathsf{P}$ (and indeed, its being in $\mathsf{P}$ is essentially equivalent to derandomizing PIT).&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2015-03-09T04:35:35.880" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="30729" PostTypeId="1" CreationDate="2015-03-09T04:49:43.930" Score="2" ViewCount="148" Body="&lt;p&gt;Are there any textbook-style material on black-box separations in cryptography? I tried to read the paper of Impagliazzo and Rudich but couldn't get much of it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A previous &lt;a href=&quot;https://cstheory.stackexchange.com/questions/7471/separation-between-existence-of-crypto-primitives&quot;&gt;StackExchange entry&lt;/a&gt; gives a list of papers on the topic. But I wonder if the topic is covered by introductory-level notes. For example, the intuition behind a PRG is fairly popular. However the intuition behind separation wasn't clear to me from the papers. While I could understand some of the details, I didn't have a clear idea what the overall goal was. Or, for example, I couldn't get the technique of separating a construction from a given primitive compared to that of establishing a lower bound on certain parameters in the construction.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I believe one reason for lack of introductory resources could be that the topic is considered advanced, e.g., despite not being so recent, it's not covered in classical textbooks. Perhaps I'm missing some of these pointers. But otherwise it would be a good idea to compile such an introduction in the comments.&lt;/p&gt;&#xA;" OwnerUserId="32343" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2015-03-09T19:31:26.363" Title="Introduction to Black-Box Separations in Cryptography" Tags="&lt;reductions&gt;&lt;relativization&gt;&lt;black-box&gt;" AnswerCount="0" CommentCount="0" FavoriteCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="30730" PostTypeId="2" ParentId="30726" CreationDate="2015-03-09T04:51:04.690" Score="7" Body="&lt;p&gt;Intuitively, the situation is you'd like some deterministic extractor $E: \{0,1\}^n \rightarrow \{0,1\}$ that can take in $n$ bits sampled from a weak source and output one bit with probability close to $1/2$, say it outputs 0 with probability $1/2 \pm \epsilon$ and 1 with $1/2\pm\epsilon$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here's a weak argument that at the very least, such extractors $E$ can't exist if we don't put any restrictions on the input distribution other than it has 'enough' min-entropy. Suppose $E$ is such a potential extractor. By flipping the output if necessary, we may assume without loss of generality that $|E^{-1}(0)|\ge|E^{-1}(1)|$; that is, $E^{-1}(0)$ is a set of $n$-bit strings of size at least $2^{n}/2$. Thus a random variable that samples uniformly from $E^{-1}(0)$ will have min-entropy at least $n - 1$, but the extractor will never give you any 'random' output other than 0.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course, if we tighten the restrictions on the input distribution (say, we assume all $n$ bits are IID) then we do have deterministic extractors that work. But as problem 6.6 in Salil Vadhan's survey of pseudorandomness shows, even weakening the IID assumption a little bit will cause deterministic extractors to fail, by a slight generalization of the same argument as I made above.&lt;/p&gt;&#xA;" OwnerUserId="8985" LastEditorUserId="6959" LastEditDate="2015-03-10T17:23:40.600" LastActivityDate="2015-03-10T17:23:40.600" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="30732" PostTypeId="1" CreationDate="2015-03-09T10:07:14.307" Score="9" ViewCount="151" Body="&lt;p&gt;Encoding NP-complete problems succintly often makes them NEXP-complete. I am wondering if counting the number of solutions to such a problem with a succint encoding would be any harder than solving the original succint problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For instance, if we use a circuit encoding to represent a 3CNF formula, we obtain SUCCINCT 3SAT, which is NEXP-complete. What is the complexity of counting the number of satisfying assignments to a 3CNF formula represented as a circuit?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;#NEXP would be a natural name for the resulting class, but I cannot find any reference to such a class. Can it be easily shown to be equivalent to NEXP?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The following question is related, but maybe focussing on NEXP which exhibits non-determinism would make it easier to find an appropriate answer.&#xA;&lt;a href=&quot;https://cstheory.stackexchange.com/questions/7983/what-is-the-complexity-of-counting-the-number-of-solutions-of-a-p-space-complete&quot;&gt;What is the complexity of counting the number of solutions of a P-Space Complete problem? How about higher complexity classes?&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="4780" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2015-03-09T10:07:14.307" Title="Is there a counting complexity class for succint problems?" Tags="&lt;cc.complexity-theory&gt;&lt;circuit-complexity&gt;&lt;counting-complexity&gt;&lt;nexp&gt;&lt;succinct&gt;" AnswerCount="0" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="30733" PostTypeId="1" CreationDate="2015-03-09T10:46:23.913" Score="12" ViewCount="952" Body="&lt;p&gt;What are problems with the following properties:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) they are restriction of (possibly well known) problems that are PSPACE-complete;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) the restricted versions are in PSPACE, but it is an &lt;em&gt;open problem&lt;/em&gt; if they are PSPACE-complete (or even if they are NP-hard).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Four examples from &quot;puzzles &amp;amp; C.&quot;:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The complexity of 1x1 Rush Hour [1] (PSPACE-complete for blocks of size 2x1 );&lt;/li&gt;&#xA;&lt;li&gt;[&lt;strong&gt;SOLVED&lt;/strong&gt;] The complexity of planar Subway Shuffle [1] (PSPACE-complete even for planar graphs, a draft of the paper can be &lt;a href=&quot;http://www.nearly42.org/cstheory/subway-shuffle-is-pspace-complete/&quot; rel=&quot;nofollow noreferrer&quot;&gt;downloaded here&lt;/a&gt; );&lt;/li&gt;&#xA;&lt;li&gt;The complexity of Lunar-Lockout without fixed blocks [1] (PSPACE-complete with fixed blocks);&lt;/li&gt;&#xA;&lt;li&gt;(not so famous) The complexity of (my) Switch-network problem (it is a restriction of the PSPACE-complete Sokoban, NP-hard in the non-planar case, see &lt;a href=&quot;https://cstheory.stackexchange.com/q/9387/3247&quot;&gt;this Q&amp;amp;A on cstheory&lt;/a&gt;).&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;If you have many, group them by topic.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] Robert A. Hearn, Erik D. Demaine: Games, puzzles and computation. A K Peters 2009, ISBN 978-1-56881-322-6, pp. I-IX, 1-237&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2015-10-14T16:05:48.600" Title="Problems not known to be PSPACE-complete" Tags="&lt;big-list&gt;&lt;open-problem&gt;" AnswerCount="4" CommentCount="4" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="30734" PostTypeId="2" ParentId="30733" CreationDate="2015-03-09T12:09:13.417" Score="12" Body="&lt;p&gt;Retrograde Chess. It is $PSPACE$-complete if you are allowed to have arbitrarily many kings and none of them can be in check at any time. If no (or only one per player) kings are allowed, it is known that there are positions that require exponential moves, but the problem is only known to be $NP$-hard.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://arxiv.org/abs/1409.1530&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://arxiv.org/abs/1409.1530&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://mathoverflow.net/questions/27944/do-there-exist-chess-positions-that-require-exponentially-many-moves-to-reach&quot;&gt;https://mathoverflow.net/questions/27944/do-there-exist-chess-positions-that-require-exponentially-many-moves-to-reach&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="28912" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2015-03-09T12:09:13.417" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="30736" PostTypeId="2" ParentId="30641" CreationDate="2015-03-09T15:53:39.770" Score="3" Body="&lt;p&gt;For any fixed $k$, isn't it in P, by dynamic programming?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For each $i\in\{0,\ldots,n\}$ and $t_1, t_2, ..., t_k$ such that each $t_i \in \{0,\ldots,m_i\}$, define $S(i, t_1, t_2, \ldots, t_k)$ to be true iff $(t_1, t_2, .., t_k)$ is $i$-realizable.  Then there are $O(n^{2k+1})$ such subproblems (assuming WLOG that $\max_i m_i\le n^2$), and you have a recurrence like&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$ S(i, t_1, t_2, \ldots, t_k)$ &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$~ = S(i-1, t_1 - i, t_2, \ldots, t_k) $&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$~\vee~ S(i-1, t_1, t_2 - i, t_3, \ldots, t_k)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$~\vee~ \cdots$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$~\vee~ S(i-1, t_1, t_2 , t_3, \ldots, t_{k-1}, t_k- i)?$&lt;/p&gt;&#xA;" OwnerUserId="8237" LastEditorUserId="8237" LastEditDate="2015-03-09T16:00:01.040" LastActivityDate="2015-03-09T16:00:01.040" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="30738" PostTypeId="1" AcceptedAnswerId="30741" CreationDate="2015-03-09T19:39:30.313" Score="5" ViewCount="1011" Body="&lt;p&gt;I used to view it just as a set of bit strings of length $n$. What does it mean for it to be the Boolean hypercube? Does viewing it from the hypercube perspective give a useful insight in a certain context?&lt;/p&gt;&#xA;" OwnerUserId="30568" LastActivityDate="2015-03-09T22:25:50.657" Title="Why is $\{0,1\}^n$ referred to as the Boolean hypercube?" Tags="&lt;cc.complexity-theory&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="30739" PostTypeId="2" ParentId="30738" CreationDate="2015-03-09T20:36:56.680" Score="2" Body="&lt;p&gt;The name &quot;Boolean hypercube&quot; is mainly just that &amp;mdash; a name. But in one context it is useful to talk about &lt;em&gt;subcubes&lt;/em&gt;. Namely, Harper's isoperimetric inequality shows that the set of measure $2^{-k}$ with least edge boundary is a co-dimension $k$ subcube.&lt;/p&gt;&#xA;" OwnerUserId="40" LastActivityDate="2015-03-09T20:36:56.680" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="30740" PostTypeId="1" AcceptedAnswerId="30751" CreationDate="2015-03-09T21:20:07.033" Score="14" ViewCount="299" Body="&lt;p&gt;I was reading the wikipedia article about the eight queens problem. It is stated that, there is  no known formula for the exact number of solutions. After some searching, I found a paper named &quot;On the hardness of counting problems of complete mappings&quot;. In this paper there is a problem, shown to be at most as hard as #queens, which is beyond #P. Getting a glimpse at the numbers of the #queens counted exhaustively in the wikipedia article, they seem pretty much super exponential. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I want to ask, if there is a name for this class or if in general there are counting problems belonging to classes above #P (with decision not in PSPACE of course because it would be obvious). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, I want to ask if there are any other known results for other search problems, like finding a three-colored point in Sperner's Lemma for example (PPAD complete).&lt;/p&gt;&#xA;" OwnerUserId="16892" LastActivityDate="2015-03-12T19:50:33.447" Title="Above #P and counting search problems" Tags="&lt;cc.complexity-theory&gt;&lt;counting-complexity&gt;&lt;search-problem&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="30741" PostTypeId="2" ParentId="30738" CreationDate="2015-03-09T22:25:50.657" Score="10" Body="&lt;p&gt;Strictly speaking, the &quot;Boolean hypercube&quot; is not the same as the set $\{0,1\}^n$. The Boolean hypercube is the &lt;em&gt;graph&lt;/em&gt; whose vertices are the set $\{0,1\}^n$, and whose edges are defined as follows: two strings are adjacent if and only if they differ on exactly one bit.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I guess that usually, people refer to $\{0,1\}^n$ as the Boolean hypercube when they really want to think of it as a graph and not as a set of strings.&lt;/p&gt;&#xA;" OwnerUserId="8429" LastActivityDate="2015-03-09T22:25:50.657" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="30742" PostTypeId="1" AcceptedAnswerId="30900" CreationDate="2015-03-09T23:27:14.137" Score="9" ViewCount="957" Body="&lt;p&gt;Given a graph $G=(V,E)$ and a $\delta &amp;gt; 0$ one wants to calculate $h(G,\delta)=min_{\vert S\vert \leq \delta \vert V \vert } \phi(S)$. ($\phi(S) = \frac{ E(S,\bar{S}) }{d min \{\vert S \vert , n - \vert S\vert \}  }$) The ``small-set expansion conjecture&quot; states that it is NP-Hard to determine if this is below $\epsilon$ or above $1-\epsilon$ for $\epsilon = 1/O(log(\frac{1}{\delta} ) )$ &lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;For context one notes that $h(G,\delta = \frac{1}{2})$ is the Cheeger constant which is known to be NP-hard to bound. But there does seem to exist values of $\delta$ (which ones?) for which $\phi(G,\delta)$ can be computed in polynomial time? &lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Towards understanding the small-set expansion conjecture one seems to prove this statement, &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;If $W$ is the span of the Laplacian eigenvectors of $G$ such that their eigenvalues are less than some $\lambda \in [0,1]$ and &lt;em&gt;if&lt;/em&gt; every $w \in W$ satisfies $\mathbb{E}_i[w_i^4 ] \leq C ( E_i [w_i ^2 ]  )^2$ then for every set $S$ such that $\vert S \vert \leq \delta \vert V \vert$ we have $\phi(S) \geq \lambda(1 - \sqrt{C \delta}  )$&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;[Reference, Lemma 8 here, &lt;a href=&quot;http://www.boazbarak.org/sos/files/lec2d.pdf&quot;&gt;http://www.boazbarak.org/sos/files/lec2d.pdf&lt;/a&gt; ] &lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;My questions are,&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;How does the above theorem help understand the conjecture stated at the beginning? What is the relationship between the two? &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Why should such vectors $w$ exists as demanded in the theorem? What is the intuition behind looking at such $w$? &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;What is the intuition behind choosing that specific value of $\epsilon$ as in the statement of the conjecture? &lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="25542" LastActivityDate="2015-03-23T02:54:13.580" Title="About the small set expansion conjecture" Tags="&lt;cc.complexity-theory&gt;&lt;spectral-graph-theory&gt;&lt;expanders&gt;&lt;unique-games-conjecture&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="30744" PostTypeId="2" ParentId="30733" CreationDate="2015-03-10T02:21:56.717" Score="11" Body="&lt;p&gt;I'm not sure if this fits your notion of restriction, but here goes. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The &quot;Minimum QBF-oracle Circuit Size Problem&quot;: given the truth table of a Boolean function and parameter k, is there a circuit of size at most k  computing the function over the basis AND, OR, NOT, and QBF? (A QBF gate interprets its input string as a fully quantified Boolean formula F, and the output is 1 iff F is true.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem is definitely in PSPACE, known to be complete under ZPP reductions, but not known for deterministic polynomial time reductions. Provably not PSPACE-complete under logspace reductions!  See &lt;a href=&quot;http://eccc.hpi-web.de/report/2014/176/&quot;&gt;Allender, Holden, and Kabanets&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="225" LastEditorUserId="225" LastEditDate="2015-03-10T05:19:30.313" LastActivityDate="2015-03-10T05:19:30.313" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="30746" PostTypeId="1" CreationDate="2015-03-10T06:01:16.857" Score="2" ViewCount="112" Body="&lt;p&gt;The communication matrix of a function $f$ is a $2^{n}\times 2^{n}$ matrix $M_f$ where the indices of the rows (columns) correspond to the inputs of Alice (Bob), and each entry $M_f (a,b)$ is the function value $f(a,b)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The log-rank conjecture asserts that for the communication complexity $CC(f)$ it holds that $ CC(f) = (\log rank (M_{f}))^{O(1)}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given $k\in\Bbb N$, is it known whether &#xA;$$\mathsf{P}(CC(f) \leq (\log r)^{k})\geq1-\frac{1}{p(k)}$$ &#xA;where the probability is over $0/1$ matrices $M_f$ of fixed rank $rank (M_{f})=r$, for a polynomial $p(x)\in\Bbb Z_{\geq0}[x]$ or &#xA;$$\mathsf{P}(CC(f) \leq (\log r)^{k})\geq1-\frac{1}{n^k}$$ &#xA;where the probability is over $2^n\times 2^n$ $0/1$-matrices $M_f$ of fixed rank $rank (M_{f})=r$ ?&lt;/p&gt;&#xA;" OwnerUserId="1812" LastEditorUserId="6579" LastEditDate="2015-03-11T15:08:04.657" LastActivityDate="2015-03-11T15:08:04.657" Title="On a possible probabilistic log-rank conjecture" Tags="&lt;pr.probability&gt;&lt;communication-complexity&gt;" AnswerCount="0" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="30747" PostTypeId="2" ParentId="30733" CreationDate="2015-03-10T06:43:48.697" Score="5" Body="&lt;p&gt;The following problem matches the requirement somehow twofold...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Containment of regular expressions&lt;/em&gt;, that is, testing whether the language of a regular expressions $r$ is contained in the language of a regular expression $r'$ (i.e., whether $L(r)\subseteq L(r')$) is a well-known PSPACE-complete problem, even if $r$ is chosen as $\Sigma^*$ (then it is called &lt;em&gt;Universality&lt;/em&gt; of regular expressions). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Similarly, &lt;em&gt;Equivalence of regular expressions&lt;/em&gt; asks whether $L(r)=L(r')$ and is PSPACE-complete (hardness following from &lt;em&gt;Universality&lt;/em&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, the picture becomes less clear for &lt;em&gt;chain regular expressions&lt;/em&gt;: They are of the general form $r_1\cdots r_n$ (therefore: chain) with only restricted factors $r_i$. &#xA;A factor can be of the form $e=(w_1+\ldots+w_m)$ where each $w_j$ is a string or $e^*$ or $e^+$ or $e?$ with the same kind of $e$. An example is $a(b+cd)(ab+cde+f)^*d?$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Containment of chain regular expressions&lt;/em&gt; is still PSPACE-complete but &lt;em&gt;Equivalence of chain regular expressions&lt;/em&gt; is unclear (although known to be coNP-hard and in PSPACE). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;By the way, the PSPACE-upper bound easily follows by translating the expressions into NFAs and nondeterministically searching for a counter-example: guess a string letter by letter and keep track of the state sets that can be reached in the NFAs. &lt;/p&gt;&#xA;" OwnerUserId="32258" LastActivityDate="2015-03-10T06:43:48.697" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="30748" PostTypeId="2" ParentId="30725" CreationDate="2015-03-10T06:48:10.993" Score="1" Body="&lt;p&gt;See Hanneke's disagreement coefficient,&#xA;&lt;a href=&quot;http://projecteuclid.org/euclid.aos/1291388378&quot; rel=&quot;nofollow&quot;&gt;http://projecteuclid.org/euclid.aos/1291388378&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="1746" LastActivityDate="2015-03-10T06:48:10.993" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="30749" PostTypeId="2" ParentId="1772" CreationDate="2015-03-10T09:01:48.197" Score="3" Body="&lt;p&gt;The original formulation of the Schwartz–Zippel lemma only applies to fields:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Lemma&lt;/strong&gt; (Schwartz, Zippel).&lt;br&gt;&#xA;  Let&#xA;  $P\in F[x_1,x_2,\ldots,x_n]$&#xA;  be a non-zero polynomial of total degree $d \geq 0$ over a field, $F$. Let $S$ be a finite subset of $F$ and let $r_1, r_2, \dots, r_n$ be selected at random independently and uniformly from $S$.&lt;br&gt;&#xA;  Then&#xA;  $\Pr[P(r_1,r_2,\ldots,r_n)=0]\leq\frac{d}{|S|}.$&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;One can reformulate the lemma such that it makes sense for arbitrary commutative rings:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Lemma&lt;/strong&gt; (Jeřábek).&lt;br&gt;&#xA;  Let&#xA;  $P\in R[x_1,x_2,\ldots,x_n]$&#xA;  be a non-zero polynomial of total degree $d \geq 0$ over a commutative ring, $R$. Let $S$ be a finite subset of $R$ with $\forall s, t\in S:((\exists u\in R:(u\neq 0\land su=tu))\Rightarrow s=t)$ and let $r_1, r_2, \dots, r_n$ be selected at random independently and uniformly from $S$.&lt;br&gt;&#xA;  Then&#xA;  $\Pr[P(r_1,r_2,\ldots,r_n)=0]\leq\frac{d}{|S|}.$&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The advantage of the &lt;a href=&quot;http://en.wikipedia.org/wiki/Schwartz%E2%80%93Zippel_lemma&quot; rel=&quot;nofollow noreferrer&quot;&gt;proof from wikipedia&lt;/a&gt; is that it generalizes to show that the reformulation holds true for arbitrary commutative rings, &lt;a href=&quot;https://mathoverflow.net/a/186103&quot;&gt;which has been noticed and worked out by Emil Jeřábek here&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This gives an alternative proof of the Schwartz-Zippel lemma, by proving the reformulation for general commutative rings, and obtaining the normal formulation for fields as a corollary.&lt;/p&gt;&#xA;" OwnerUserId="20340" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2015-03-10T09:01:48.197" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="30751" PostTypeId="2" ParentId="30740" CreationDate="2015-03-10T10:09:51.747" Score="14" Body="&lt;p&gt;If the function f is in #P, then given an input string x of some length N, the value f(x) is a nonnegative number bounded by $2^{poly(N)}$.  (This follows from the definition, in terms of number of accepting paths of an NP verifier.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This means that many functions f lie outside of #P for uninteresting reasons---either because f is negative, or, in the case you mention, because the function grows faster than $2^{poly(N)}$.  But for the $n$-queens problem as modeled in the paper, this is just an artifact of the authors' decision to let the input value $n$ be encoded in binary.  If the expected input was the unary string $1^n$, then $f(1^n) :=$ (number of valid $n$-queen configurations) would certainly be in #P, by a simple NP verifier that checks validity of a given configuration.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you want to explore some functions that (conjecturally) lie outside of #P for more interesting reasons, consider e.g. these:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;UNSAT:  $f(\psi) := 1$ if $\psi$ is an unsatisfiable Boolean formula, otherwise $f(\psi) := 0$.  This function is not in #P, unless NP = coNP.  It is probably not in the more general counting class GapP, either; that is, UNSAT is probably not the difference f - g of two #P functions.  However, it lies in the more general counting complexity class $P^{\# P}$, which in fact contains the entire Polynomial Hierarchy by Toda's theorem.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;You might not like that example because it is not a natural &quot;counting problem&quot;.  But the next two will be:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;$f(\psi(x, y)) :=$ the number of assignments to $x$ such that the Boolean formula $\psi(x, \cdot)$ is satisfiable for some setting to $y$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;$f(\psi(x, y)) :=$ the number of $x$ such that, for at least half of all $y$, $\psi(x, y) = 1$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The latter two problems are not known to be efficiently computable even with oracle access to #P. However, they are computable within the so-called &quot;counting hierarchy&quot;.  For some more natural problems classified within this class, see e.g. &lt;a href=&quot;http://www.lix.polytechnique.fr/~mengel/papers/monomialsSTACS12.pdf&quot;&gt;this&lt;/a&gt; recent paper.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Counting Nash equilibria is apparently #P-hard, see &lt;a href=&quot;http://arxiv.org/abs/cs/0205074&quot;&gt;here&lt;/a&gt;.  Also, even problems where the search problem is easy can be #P hard to count, e.g. counting perfect matchings.&lt;/p&gt;&#xA;" OwnerUserId="223" LastActivityDate="2015-03-10T10:09:51.747" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="30754" PostTypeId="2" ParentId="14012" CreationDate="2015-03-10T15:27:25.210" Score="-1" Body="&lt;p&gt;AI is an amazingly broad field with a wide range of possible routes. Some are extremely mathematical, some barely touch mathematics. Others have already given good answers for the more mathematical approaches. Of the subjects you pointed out- &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&quot;Linear Algebra, Probability/Statistics, Calculus, Basic Algorithms and Logic&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;-you do basically need or will benefit from all of them. Many approaches are at least partly directly based on probability and statistics - heuristics, neural networks, genetic algorithms, fuzzy logic. Calculus is equally useful - in AI or in general computing science you will find it almost everywhere. Linear algebra is something you definitely need as well.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The two most essential subjects from a CS/AI perspective are algorithms and logic, algorithms are the real heart of computing science, and logic is the underlying 'language' of algorithms.. The key to learning algorithms though is learning how to program, proficiency and practice at basic programming is one of the most important foundations of almost all computer science or AI subjects. Programming is also a skill that universities are not always particularly good at teaching. Logic is also really essential to most branches of AI; Boolean logic, predicate calculus, symbolic logic, underlying theories of permutation, the hierarchy of design, recursion, finite state machines, Turing Machines, CPU design, etc.. Here we are really stepping away from mathematics into computing science proper..&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Extending to my own field of 'Strong AI' mathematics plays an underlying but absolutely essential role. A very good understanding of basic maths is probably more important than higher maths, but really anything you pick up can be useful. The real problem in a nascent field like Strong AI is that everything is up in the air and so the field is in total flux.&lt;br&gt;&#xA;Subjects that are potentially useful include - neural networks, genetic algorithms, neurology, genetics, psychology, cybernetics and robotics, 3D graphics theory, image processing theory, computer games design, philosophy, art theory, digital electronics, linguistics theory.. In a field like this reading is one of the most important ways to learn. A couple of books that were starting points for me were - The Emperors New Mind by Roger Penrose, Eye and Brain by RL Gregory, but really insights can come from almost anywhere&lt;/p&gt;&#xA;" OwnerUserId="32360" LastEditorUserId="32360" LastEditDate="2015-03-10T15:32:34.547" LastActivityDate="2015-03-10T15:32:34.547" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="30756" PostTypeId="1" AcceptedAnswerId="30765" CreationDate="2015-03-10T18:51:48.987" Score="6" ViewCount="124" Body="&lt;p&gt;Let $G$ be an undirected  graph, given with a planar drawing. &#xA;We do not assume $G$ is a planar graph, we just fix a planar representation of it, such that each vertex is represented by a distinct point in the plane, and each edge is represented by a continuous planar curve between its endpoints. Assume that no other vertex can lie on such a curve, but we allow unlimited intersections among these edge-curves.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $s,t$ be two distinguished vertices in $G$. We say that two $s-t$ paths are &lt;strong&gt;geometrically disjoint,&lt;/strong&gt; (with respect to the given drawing), if their geometric representations  do not share any point, other than $s$ and $t$. Note that it is a stronger requirement than being (internally) vertex disjoint in the graph theoretic sense, because they may be vertex disjoint, yet they may share some intersection point of the curves that represent the edges, when we follow through the paths as geometric curves.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Questions:&lt;/strong&gt; &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;What is the complexity of finding the maximum number of geometrically disjoint $s-t$ paths? &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;How about the special case when the edges are restricted to be straight lines?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Remark:&lt;/strong&gt; Finding the max number of vertex- or edge-disjoint paths is well known to be solvable by network flow techniques in polynomial time. Does the geometric requirement make the problem harder?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit:&lt;/strong&gt; Let us assume that the vertices have polynomially bounded integer coordinates, in terms of the number of vertices. Furthermore, assume an oracle is available that can determine for any two edge-curves whether they intersect or not. When the edges are represented by straight lines, this is straightforward, but in the general case it may be hard to decide whether two curves intersect.&lt;/p&gt;&#xA;" OwnerUserId="12710" LastEditorUserId="12710" LastEditDate="2015-03-11T16:48:14.900" LastActivityDate="2015-03-11T17:45:03.750" Title="Maximum number of geometrically disjoint paths - is the complexity known?" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;computational-geometry&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="30758" PostTypeId="1" CreationDate="2015-03-10T21:01:12.803" Score="5" ViewCount="975" Body="&lt;p&gt;There have been many open challenges questions in this forum.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For instance, &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/questions/17868/research-and-open-challenges-in-programming-language-theory&quot;&gt;Research and open challenges in Programming Language Theory&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/questions/4595/what-are-current-open-problems-in-compiler-theory&quot;&gt;What are current open problems in compiler theory?&lt;/a&gt;   &lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/questions/1638/outstanding-conjectures-and-open-problems-in-algorithmic-game-theory&quot;&gt;Outstanding conjectures and open problems in (algorithmic) game theory?&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/questions/1015/open-problems-on-the-frontiers-of-tcs&quot;&gt;Open problems on the frontiers of TCS&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/questions/20267/open-problems-related-to-graph-isomorphism&quot;&gt;Open problems related to Graph isomorphism&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;What are some of research avenues, areas available within communication complexity? What are some of most interesting open problems? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some famous open problems AFAIK are status of log-rank conjecture, status of $\mathsf{IP}^{}\notin\mathsf{PH}^{cc}$, status of examples of natural problems in $\mathsf{NP}_k^{cc}$,$\mathsf{coNP}_k^{cc}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What are some of lesser known open problems or areas that are not yet mature within communication complexity or areas that have made new progress but much more needs to be done? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there any problems relating other areas such as circuit complexity, machine learning etc?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;AFAIK communication complexity is more about finding bounds that about algorithms. Are there any problems with number theoretic, algebraic, geometric flavor or more generally in an algorithmic flavor?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More generally what would be some areas a newly entered person should focus energy to select a problem to work on (comm complexity field does not have many hearsay research topics as other traditional areas in mainstream theory CS with direct real world applications)?&lt;/p&gt;&#xA;" OwnerUserId="1812" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2015-03-14T16:25:09.273" Title="Research problems in communication complexity" Tags="&lt;big-list&gt;&lt;communication-complexity&gt;&lt;research-practice&gt;&lt;open-problem&gt;&lt;survey&gt;" AnswerCount="2" CommentCount="3" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="30759" PostTypeId="2" ParentId="30758" CreationDate="2015-03-11T04:11:02.683" Score="10" Body="&lt;p&gt;I'll start with answers to your general questions, then give one nice open problem with applications towards circuit complexity.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's hard to say what areas a new communication complexity researcher should delve into, since easy problems have likely been solved already, and harder problems are hard ;)  One suggestion is to take known communication lower bounds (such as for Disjointness or Equality) and apply these to get new lower bounds in other areas of computer science.  New applications of communication complexity pop up all the time, and if you can find a niche no one's considered before, you might be able to leverage the existing bounds you're learning now rather than having to develop new lower bounds.  This will help you get some papers out while you're learning all about communication complexity ;)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another suggestion is to work hard to ask new questions people haven't yet considered, or to think about new settings that are fresh and less well-studied. Multiparty communication might be a good area to look at---it is generally less understood than two-party communication, and (IMO at least) there's lots of fresh motivation for studying it (from e.g. multicore processors to wireless sensor networks)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For a concrete open problem, there's a nice one from multiparty communication in the number-on-the-forehead (NOF) model.  In the NOF communication model, there are $k$ players who wish to compute some function $f(x_1,\ldots, x_k)$ on $k$ inputs.   However, each player $PLR_i$ sees every input except $x_i$.  (You can imagine $PLR_i$ having $x_i$ written on his forehead.) Because lots of input is shared between players, it should be easier to compute functions of their input.  Conversely, proving lower bounds on the communication complexity in the NOF model is harder.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here's a $\textbf{big open problem}$ in this area:  come up with some explicit function f(x_1,\ldots, x_k) for k=polylog(n) such that $\omega(polylog(n))$ communication is required in the NOF model.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Through a chain of results from the early nineties [Hastad-Goldman91, Beigel-Tarui94], it's known that such a result would imply that $f \not\in ACC_0$.  For this connection to circuit complexity, you're actually free to assume that each player sends a single message to some &quot;referee&quot; who compiles the messages to produce an output.  Lower bounds even in this restricted setting are far from what we'd like.  The current state-of-the-art lower bound techniques for the NOF model don't give lower bounds better than $\Omega(n/2^k)$ or thereabouts.  These become trivial once $k &amp;gt; \log(n)$.&lt;/p&gt;&#xA;" OwnerUserId="1645" LastActivityDate="2015-03-11T04:11:02.683" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="30760" PostTypeId="1" CreationDate="2015-03-11T05:35:26.580" Score="0" ViewCount="479" Body="&lt;p&gt;I am new to submodular functions and I am reading the introductions to submodular functions and applications ( &lt;a href=&quot;https://www.ima.umn.edu/optimization/seminar/queyranne.pdf&quot; rel=&quot;nofollow&quot;&gt;https://www.ima.umn.edu/optimization/seminar/queyranne.pdf&lt;/a&gt; ).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In this introduction, it says&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&quot; A submodular set function can be minimized in strongly polynomial time. Remark: • minimizing a submodular function f, subject to a cardinality constraint, such as |A| = b, or |A| ≥ b, or |A| ≤ b are NP-hard when f is a cut function &quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the remark, it says the problem is NP-hard if 1) there is a cardinality constraint and 2) f is a cut function.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What if only one of the 2 constraints holds, i.e. f is not a cut function but there is a cardinality constraint? Is this problem of minimizing f(A) still an NP-hard problem?&lt;/p&gt;&#xA;" OwnerUserId="32366" LastActivityDate="2015-03-11T05:35:26.580" Title="Hardness of Minimizing Submodular Functions with Cardinality Constraints" Tags="&lt;np-hardness&gt;&lt;submodularity&gt;&lt;minimization&gt;" AnswerCount="0" CommentCount="2" FavoriteCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="30762" PostTypeId="1" AcceptedAnswerId="30775" CreationDate="2015-03-11T13:09:25.753" Score="24" ViewCount="1249" Body="&lt;p&gt;I have read in uncountably many articles that determining the Cheeger constant of a graph is $\mathsf{NP}$-hard. It seems to be a folk theorem, but I have never found either a quote or a proof for this statement. Whom should I give credit for it? In an old paper (Isoperimetric Numbers of Graphs, J. Comb. Theory B, 1989) Mohar only proves this assertion &quot;for graphs with multiple edges&quot;.&lt;/p&gt;&#xA;" OwnerUserId="21033" LastEditorUserId="6579" LastEditDate="2015-03-12T09:17:05.717" LastActivityDate="2015-03-12T16:44:27.903" Title="Is the Cheeger constant $\mathsf{NP}$-hard?" Tags="&lt;reference-request&gt;&lt;graph-theory&gt;&lt;spectral-graph-theory&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="30765" PostTypeId="2" ParentId="30756" CreationDate="2015-03-11T17:45:03.750" Score="5" Body="&lt;p&gt;The following paper establishes NP-hardness of essentially all non-trivial questions in this direction:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Jan Kratochvíl, Anna Lubiw, Jaroslav Nesetril:&#xA;  Noncrossing Subgraphs in Topological Layouts. SIAM J. Discrete Math. 4(2): 223-244 (1991)&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="31660" LastActivityDate="2015-03-11T17:45:03.750" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="30767" PostTypeId="1" AcceptedAnswerId="30773" CreationDate="2015-03-11T21:02:02.620" Score="12" ViewCount="740" Body="&lt;p&gt;I'm reading surveys by &lt;a href=&quot;http://theory.stanford.edu/~trevisan/pubs/addcomb-sigact.pdf&quot;&gt;Trevisan&lt;/a&gt; and &lt;a href=&quot;http://cseweb.ucsd.edu/~slovett/files/addcomb-survey.pdf&quot;&gt;Lovett&lt;/a&gt; on applications of additive combinatoric in TCS. The majority of these applications fall under &lt;em&gt;computational complexity&lt;/em&gt;, e.g., lower bounds. I wonder if additive combinatorics has found applications in &lt;em&gt;algorithm design&lt;/em&gt; too.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The motivation for my question is the following: while the connection between additive combinatorics and complexity seems somewhat natural, I'm curious to see how algebraic structure uncovered by additive combinatorics might be exploited in designing efficient algorithms, if any. Pointers to literature would be appreciated.&lt;/p&gt;&#xA;" OwnerUserId="32373" LastEditorUserId="1037" LastEditDate="2015-03-17T02:13:37.967" LastActivityDate="2015-05-15T11:33:39.663" Title="Additive combinatorics applications in algorithm design" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;co.combinatorics&gt;" AnswerCount="5" CommentCount="1" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="30768" PostTypeId="1" CreationDate="2015-03-11T21:20:25.253" Score="1" ViewCount="119" Body="&lt;p&gt;Let L be a language whose minimal running time is $O(n^k)$ do we know of any bounds on the minimal amount of space necessary to compute L other than the trivial $n^k$? Are there any conjectured bounds? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are the bounds different if we require the new algorithm to also take $O(n^k)$?&lt;/p&gt;&#xA;" OwnerUserId="32375" LastActivityDate="2015-03-11T21:20:25.253" Title="What is the minimal known space for polytime algorithms" Tags="&lt;cc.complexity-theory&gt;&lt;time-complexity&gt;&lt;space-bounded&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="30769" PostTypeId="1" CreationDate="2015-03-11T21:57:55.310" Score="9" ViewCount="2754" Body="&lt;p&gt;After reading the literature on type theory (especially the constructive kind - CTT) I'm left wondering &quot;why&quot; should one study type theory, specifically within the confines of &quot;computing&quot; in general?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I understand how type systems (loosely speaking) were created to avoid various paradoxes and the correspondence between philosophy, logic, lambda-calculus and the how it comes together for CTT to serve as a foundation of mathematics. Fair enough.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, functional programming (FP) languages like Haskell, Scala that can be used in large projects are based on an &lt;em&gt;inconsistent logic&lt;/em&gt; - making any kind of (automated) formal reasoning about them nearly impossible - but that seems to be the very need/power of TT! E.g., theorem proving and proof assistants and the notion of programs as proofs. But none of this carries over to FP languages.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So my question is trying to understand the bigger role i.e., interplay of TT &lt;em&gt;and&lt;/em&gt; computing taken together. Most FP languages have just &quot;good enough&quot; type systems (e.g., Haskell &gt; Java). The problem of &quot;type inference&quot; is in some way similar to &quot;logical inference&quot; and doesn't seem all that complicated for simple types. I'm guessing things become undecidable after a particular threshold. Fair enough. I understand its need till this level. But is that it? It seems one can understand type systems/inference without really diving into the details of TT per se. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since FP languages don't really borrow much from TT other than &quot;type systems/inference&quot;, why bother studying the theory in depth especially within computation theory? It seems that after studying a good deal of TT, for fun, I'm still left wondering &quot;what did I gain&quot; - both as a theoretician and a software practitioner? What &quot;is&quot; the &lt;em&gt;aha&lt;/em&gt; understanding that one gains at a deeper level - since very little of TT's power/awesomeness actually gets carried over to &lt;em&gt;commercially viable&lt;/em&gt; FP languages (and not Agda, Epigram etc.,)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;(PS: Here's a similar question on &lt;a href=&quot;https://math.stackexchange.com/questions/567265/why-is-it-worth-spending-time-on-type-theory&quot;&gt;Math.SE&lt;/a&gt;- but that's from a mathematical POV and I get that from that perspective. I'm struggling to see TT's importance when concerned about computing and software engineering in general)&lt;/em&gt;&lt;/p&gt;&#xA;" OwnerUserId="7014" LastEditorUserId="-1" LastEditDate="2017-04-13T12:19:19.363" LastActivityDate="2015-03-12T07:47:35.423" Title="Why study type theory?" Tags="&lt;soft-question&gt;&lt;computability&gt;&lt;type-theory&gt;&lt;big-picture&gt;&lt;intuition&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="30770" PostTypeId="2" ParentId="30767" CreationDate="2015-03-11T22:41:32.410" Score="8" Body="&lt;p&gt;The &lt;a href=&quot;http://algo2.iti.kit.edu/documents/jacm05-revised.pdf&quot;&gt;DC3 algorithm&lt;/a&gt; for computing a suffix array takes advantage of additive combinatorics.  It uses difference covers in a key part of the algorithm.  The ideas are very cool and accessible.  The algorithm also has excellent performance in practice, and is widely taught.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A difference cover for a group $G$ is a set $S$ of group elements such that for every $g \in G$, there exists $s,t \in S$ such that $g=s-t$; this notion is related to &lt;a href=&quot;http://www.encyclopediaofmath.org/index.php/Difference_set&quot;&gt;a difference set&lt;/a&gt;.  In this case, the group $G$ is an additive group of integers modulo $n$, hence the connection to additive combinatorics.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here's the citation:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Juha Kärkkäinen, Peter Sanders, Stefan Burkhardt.  &lt;a href=&quot;http://algo2.iti.kit.edu/documents/jacm05-revised.pdf&quot;&gt;Linear Work Suffix Array Construction&lt;/a&gt;.  Journal of the ACM, 2006.&lt;/p&gt;&#xA;" OwnerUserId="5038" LastEditorUserId="5693" LastEditDate="2015-03-12T09:33:16.943" LastActivityDate="2015-03-12T09:33:16.943" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="30771" PostTypeId="1" CreationDate="2015-03-11T23:02:04.523" Score="2" ViewCount="3135" Body="&lt;p&gt;Does anyone know whether the following decision problem is decidable:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a context-free language $L$, is $L$ regular?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here $L$ can be expressed, e.g., using a context-free grammar. Does anyone know an algorithm that takes as input a context-free grammar $G$ and outputs an equivalent regular grammar $G'$, i.e. $L(G) = L(G')$, if $L(G)$ is regular?&lt;/p&gt;&#xA;" OwnerUserId="32376" LastEditorUserId="16132" LastEditDate="2015-03-12T01:44:12.450" LastActivityDate="2015-03-12T01:44:12.450" Title="Deciding whether a context-free language is regular" Tags="&lt;regular-language&gt;&lt;context-free&gt;&lt;decidability&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="4" ClosedDate="2015-04-03T16:33:27.977" ContentLicense="CC BY-SA 3.0" />
  <row Id="30772" PostTypeId="2" ParentId="30771" CreationDate="2015-03-12T00:18:56.437" Score="9" Body="&lt;p&gt;Regularity is decidable for DCFL, but it is undecidable for general Context-Free Languages.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Regarding DCFL, I have two references (from Hopcroft+Ullman 79):&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0019995867905918&quot;&gt;A regularity test for pushdown machines&lt;/a&gt;,  R.E. Stearns, Information and Control, 1967 (full text by clicking on the page)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.129.8903&amp;amp;rep=rep1&amp;amp;type=pdf&quot;&gt;Regularity and Related Problems for Deterministic Pushdown Automata&lt;/a&gt;, Leslie G. Valiant, JACM 1975&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Regarding a procedure to get a regular version when possible, I have no suggestion.&lt;/p&gt;&#xA;" OwnerUserId="16132" LastActivityDate="2015-03-12T00:18:56.437" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="30773" PostTypeId="2" ParentId="30767" CreationDate="2015-03-12T00:33:49.393" Score="17" Body="&lt;p&gt;Timothy Chan and Moshe Lewenstein have a paper on 3SUM and related problems in the upcoming STOC, which applies an effective version of the BSG theorem from additive combinatorics to solve variants of 3SUM faster than n^2 time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See &lt;a href=&quot;https://cs.uwaterloo.ca/~tmchan/pub.html&quot;&gt;this link to Chan's papers&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="225" LastActivityDate="2015-03-12T00:33:49.393" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="30774" PostTypeId="2" ParentId="30703" CreationDate="2015-03-12T02:18:22.117" Score="0" Body="&lt;p&gt;here is a similar/ more recent ref (2014) using the technique on probabilistic CFGs. (but they seem to skip over details of the SAT solver...?)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://jmlr.csail.mit.edu/proceedings/papers/v34/scicluna14a.pdf&quot; rel=&quot;nofollow&quot;&gt;Grammatical Inference of some Probabilistic Context-Free Grammars from Positive Data using Minimum Satisfiability&lt;/a&gt; / Scicluna, Higuera&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Recently, different theoretical learning results have been found for a variety of context-free grammar subclasses through the use of distributional learning (Clark, 2010b). However, these results are still not extended to probabilistic grammars. In this work, we give a practical algorithm, with some proven properties, that learns a subclass of probabilistic grammars from positive data. A minimum satisfiability solver is used to direct the search towards small grammars. Experiments on typical context-free languages and artificial natural language grammars give positive results.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2015-03-12T02:18:22.117" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="30775" PostTypeId="2" ParentId="30762" CreationDate="2015-03-12T03:13:22.527" Score="14" Body="&lt;p&gt;I too encountered this issue when I was writing a paper that required a citation to hardness of edge expansion (or Cheeger constant) defined as $\min_{S \subset V, |S| \leq |V|/2} |\delta(S)|/|S|$. The classic paper of Leighton and Rao on separators ( &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=331526&quot;&gt;http://dl.acm.org/citation.cfm?id=331526&lt;/a&gt; ) mentions that this is a hard problem and refers to the paper of Garey, Johnson and Stockmeyer (&lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/0304397576900591&quot;&gt;http://www.sciencedirect.com/science/article/pii/0304397576900591&lt;/a&gt;). I could not figure out for a while what they were referring to since there is no mention of edge expansion in the referred to paper. I communicated with Avi Wigderson about this. It finally transpired that one can use the hardness of Max-Cut as shown in the Garey et al paper to relatively easily show that edge-expansion is hard. I forget the details now but it should not be hard to recreate. The paper of Blum etal on hardness of checking whether a graph is a superconcentrator does not directly imply hardness of edge expansion. They are technically not the same problem.&lt;/p&gt;&#xA;" OwnerUserId="176" LastActivityDate="2015-03-12T03:13:22.527" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="30777" PostTypeId="2" ParentId="30762" CreationDate="2015-03-12T07:12:31.987" Score="0" Body="&lt;p&gt;The actual proof of the $NP$-hardness of computing Cheeger constant ( or edge expansion) was given by &lt;a href=&quot;http://arxiv.org/pdf/math/0112146v1.pdf&quot; rel=&quot;nofollow&quot;&gt;Kaibel in a technical report&lt;/a&gt; by a reduction from MAX Cut problem (See theorem 2). The proof is an extension of the proof of the $NP$-hardness of the equicut problem given by &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/0304397576900591&quot; rel=&quot;nofollow&quot;&gt;Garey, Johnson, and Stockmeyer in Some simplified NP-complete&#xA;graph problems&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;V. Kaibel: On the expansion of graphs of 0/1-polytopes. Technical report&#xA;arXiv:math.CO/0112146, 2001&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT&lt;/strong&gt;: The argument below is &lt;strong&gt;incorrect&lt;/strong&gt;, as pointed out by Chekuri, and left for educational purpose.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is not a reference as you requested but it explain the folklore status of the hardness result.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is a proof idea of the CoNP-completeness of deciding whether a connected cubic graph is edge-expander and therefore determining the Cheeger constant $h(G)$ is CoNP-hard.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The &lt;a href=&quot;http://users.monash.edu/~normd/documents/Diaz-Do-Serna-Wormald-02.pdf&quot; rel=&quot;nofollow&quot;&gt;minimum bisection problem is $NP$-complete&lt;/a&gt; for connected cubic graphs. Here we want to decide whether a graph $G$ with an integer $k$ can be partitioned into two equal size parts such that the number of cut edges is less than $k$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note the complement of this problem is equivalent to deciding whether the graph $G$ is expander or not ( every balanced partition of $V$ has cut edges more than $k$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;P.S. Arora in this seminar states that it's $CoNP$-hard to recognize $\alpha$-expander graph ( edge-expansion).  &lt;a href=&quot;http://www.cs.princeton.edu/~zdvir/apx11slides/arora-slides.pptx&quot; rel=&quot;nofollow&quot;&gt;http://www.cs.princeton.edu/~zdvir/apx11slides/arora-slides.pptx&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2015-03-12T16:44:27.903" LastActivityDate="2015-03-12T16:44:27.903" CommentCount="11" ContentLicense="CC BY-SA 3.0" />
  <row Id="30778" PostTypeId="2" ParentId="30769" CreationDate="2015-03-12T07:47:35.423" Score="16" Body="&lt;p&gt;Type theories in which every type is inhabited are far from being useless. True enough, through the eyes of logic they are inconsistent, but there are other things in life apart from logic.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A general purpose programming language has general recursion. This allows it to populate every type, but we would not conclude from this fact that programming is a useless exercise, would we?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the theory of programming languages types are used as a &lt;em&gt;safety feature&lt;/em&gt; (&quot;A well typed program does not go wrong&quot; sad a famous man), as an &lt;em&gt;organizational device&lt;/em&gt;, and a tool for &lt;em&gt;program analysis&lt;/em&gt;. None of these purposes requires that there be an empty type.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Type inference is only one aspect in which type theory relates to programming languages. Some other uses of types in programming languages are:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Specification:&lt;/strong&gt; before the programmer starts writing code he writes down the type of the program he is after. He &lt;em&gt;specifies&lt;/em&gt; (although usually not fully) what he wants. This is also useful for communication between programmers.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Modularization:&lt;/strong&gt; when several pieces of software need to be assembled together we have to make sure they fit. One way of doing this is to &lt;em&gt;speficy the interfaces&lt;/em&gt; through which the pieces connect. This can be done with types.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Dependent types appear in programming languages, but in limited form (because general dependent types cannot be handled automatically by the compiler). For instance, an ML-style module is a dependent sum, while a polymorphic type can be seen as a dependent product.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You ask what is gained by studying type theory? Clarity of mind where there was only Visual Basic before. Ability to write 30000 lines of code without making it look like the Flyng Spaghetti Monster. Inner peace and feeling of superiority over the unfortunate users of Lisp.&lt;/p&gt;&#xA;" OwnerUserId="705" LastActivityDate="2015-03-12T07:47:35.423" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="30779" PostTypeId="2" ParentId="25214" CreationDate="2015-03-12T07:56:47.350" Score="3" Body="&lt;p&gt;I know this is a bit late, but perhaps it is still of interest.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;While not exactly the logic you are interested in, Gödel-Dummett logic, the intermediate logic characterised by linear Kripke-frames, is closely related to S4.3, and for this logic people have looked into similar questions:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;The paper &lt;a href=&quot;http://link.springer.com/chapter/10.1007/978-3-642-29822-6_14&quot; rel=&quot;nofollow&quot;&gt;A Lambda Calculus for Goedel-Dummett Logic Capturing Watifreedom&lt;/a&gt; by Yoichi Hirai gives a lambda calculus based on a hypersequent calculus for that logic.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The paper &lt;a href=&quot;http://www.logic.at/staff/agata/librotonino.ps&quot; rel=&quot;nofollow&quot;&gt;A Natural Deduction System for Intuitionistic Fuzzy Logic&lt;/a&gt; by Matthias Baaz, Agata Ciabattoni and Christian Fermüller gives a natural deduction system for the same logic, which might be used to give proof term assignments.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Also, you might be interested in the paper &lt;em&gt;From Frame Properties to Hypersequent Rules in Modal Logics&lt;/em&gt; by Ori Lahav, which includes an alternative hypersequent calculus for S4.3.&lt;/p&gt;&#xA;" OwnerUserId="32381" LastActivityDate="2015-03-12T07:56:47.350" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="30780" PostTypeId="1" AcceptedAnswerId="30784" CreationDate="2015-03-12T09:23:28.737" Score="7" ViewCount="1535" Body="&lt;p&gt;Several papers appear to imply P=NP via chordal graphs, &#xA;which suggests something is wrong.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As usual $\gamma(G)$ is the domination number and $i(G)$ and $\gamma^i(G)$&#xA;are the independence domination number.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;According to &lt;a href=&quot;http://page.mi.fu-berlin.de/szabo/PS/vizing.ps&quot;&gt;VIZING’S CONJECTURE FOR CHORDAL GRAPHS, p.1&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Theorem 1.1. [2] In chordal graphs $\gamma(G)=\gamma^i(G)=i(G)$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;According to &lt;a href=&quot;http://graphclasses.org/classes/gc_32.html&quot;&gt;graphclasses.org&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;and a &lt;a href=&quot;http://thomas-szymczak.de/dissertation.pdf&quot;&gt;paper p. 55 of the document and 65 of the pdf&lt;/a&gt;:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;In chordal graphs Domination is NP-complete and Independent Domination is&#xA;  polynomial.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The equality in Theorem 1.1 appears to imply P=NP since we can compute&#xA;$\gamma(G)=i(G)$ in chordal graphs by the above result.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What is wrong with this?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="22348" LastActivityDate="2015-03-12T11:14:26.357" Title="Several papers appear to imply P=NP via chordal graphs, what is wrong?" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="30781" PostTypeId="2" ParentId="30767" CreationDate="2015-03-12T09:37:38.490" Score="8" Body="&lt;p&gt;A recent example from STACS 2015 last week is a randomized algorithm for SUBSET SUM instances where no value can arise as a sum of more than $B$ different subsets of $n$ integers running in $O(2^{0.3399n}B^4)$ time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See &lt;a href=&quot;http://drops.dagstuhl.de/opus/volltexte/2015/4903/pdf/3.pdf&quot;&gt;Austrin, P., Kaski, P., Koivisto, M., &amp;amp; Nederlof, J. (2015, February). Subset Sum in the Absence of Concentration. In E. W. Mayr, &amp;amp; N. Ollinger (Eds.), 32nd International Symposium on Theoretical Aspects of Computer Science (STACS 2015) (Vol. 30, pp. 48-61).&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="5693" LastActivityDate="2015-03-12T09:37:38.490" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="30782" PostTypeId="1" AcceptedAnswerId="30783" CreationDate="2015-03-12T10:23:26.073" Score="3" ViewCount="162" Body="&lt;p&gt;How well can an arbitrary unknown (quantum) state $\rvert \psi \rangle = \alpha\rvert 0 \rangle + \beta \rvert 1 \rangle$, be imperfectly/approximately cloned?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given an unknown state ${\rvert \psi \rangle}$, say one can clone ${\rvert \phi \rangle}$ , such that&#xA;$${\langle \phi }{\rvert \psi \rangle}= \delta$$  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $\rvert \phi \rangle$  and  $\rvert \psi \rangle$ are identical and same, $\delta = 1$, however we know, due the no cloning theorem, that $\delta&amp;lt;1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is what is the 'highest' value of $\delta$ one can achieve using polynomial time 'resources', i.e. how well can an UNKNOWN quantum state be imperfectly cloned?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Let's agree we $\rvert \psi \rangle$, both $\alpha, \beta$ are non-zero, i.e. not basis states)&lt;/p&gt;&#xA;" OwnerUserId="17325" LastActivityDate="2015-03-12T11:10:42.173" Title="How well can an arbitrary (unknown) quantum state be imperfectly cloned?" Tags="&lt;reference-request&gt;&lt;quantum-computing&gt;&lt;quantum-information&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="30783" PostTypeId="2" ParentId="30782" CreationDate="2015-03-12T11:10:42.173" Score="5" Body="&lt;p&gt;This problem has been studied in great detail, not just for the case of imperfectly cloning 1 qubit to get 2 copies, but more general problems of how to get m copies of a state given n copies, etc. I don't work in the area, but I'll try to give you some answers. Others may be able to provide a better answer.&lt;/p&gt;&#xA;&lt;p&gt;For the problem you describe, 1 qubit to 2 qubit cloning, the optimal cloner is due to&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Bužek, Vladimir, and Mark Hillery. &amp;quot;Quantum copying: Beyond the no-cloning theorem.&amp;quot; Physical Review A 54, no. 3 (1996): 1844.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;They show how to take an input state &lt;span class=&quot;math-container&quot;&gt;$|\psi\rangle$&lt;/span&gt; and output two qubits such that the reduced density matrix of either output qubit (let's call it &lt;span class=&quot;math-container&quot;&gt;$\rho$&lt;/span&gt;) satisfies &lt;span class=&quot;math-container&quot;&gt;$\langle\psi|\rho|\psi\rangle=5/6$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;p&gt;This was later shown to be optimal by several authors:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Bruß, Dagmar, David P. DiVincenzo, Artur Ekert, Christopher A. Fuchs, Chiara Macchiavello, and John A. Smolin. &amp;quot;Optimal universal and state-dependent quantum cloning.&amp;quot; Physical Review A 57, no. 4 (1998): 2368.&lt;/p&gt;&#xA;&lt;p&gt;Gisin, Nicolas, and Serge Massar. &amp;quot;Optimal quantum cloning machines.&amp;quot; Physical review letters 79, no. 11 (1997): 2153.&lt;/p&gt;&#xA;&lt;p&gt;Gisin, Nicolas. &amp;quot;Quantum cloning without signaling.&amp;quot; Physics Letters A, Volume 242, Issues 1–2, 1998, Pages 1-3&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;A survey on the topic that covers this and much more:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Scarani, Valerio, Sofyan Iblisdir, Nicolas Gisin, and Antonio Acin. &amp;quot;Quantum cloning.&amp;quot; Reviews of Modern Physics 77, no. 4 (2005): 1225.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="206" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2015-03-12T11:10:42.173" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="30784" PostTypeId="2" ParentId="30780" CreationDate="2015-03-12T11:14:26.357" Score="16" Body="&lt;p&gt;The problem is that you confused the definiton in the paper of Aharoni &amp;amp; Szabo and the normally used definition for the term &quot;independence domination number&quot;. The former one refers to the largest size over all minimum set &lt;strong&gt;dominating an independent set&lt;/strong&gt;, and the latter one is the smallest size of &lt;strong&gt;a dominating set which is also an independent set&lt;/strong&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;These two definitions are quite different, and as you noticed they have different symbols: $\gamma^i(G)$ and $i(G)$. The Theorem 1.1 you mentioned actually claims $\gamma(G)=\gamma^i(G)$ for chordal graphs $G$, and generally they are not equal to $i(G)$ even when $G$ is chordal. The following graph is a counterexample:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/9XXWN.png&quot; alt=&quot;example&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where $\gamma(G)=2$ and $i(G)=3$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As a comment, Allan &amp;amp; Laskar showed that $\gamma(G)=i(G)$ when $G$ is &lt;a href=&quot;http://en.wikipedia.org/wiki/Claw-free_graph&quot; rel=&quot;nofollow noreferrer&quot;&gt;claw-free&lt;/a&gt;, but there are no such conclusions for chordal graphs.&lt;/p&gt;&#xA;" OwnerUserId="17320" LastActivityDate="2015-03-12T11:14:26.357" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="30785" PostTypeId="2" ParentId="30709" CreationDate="2015-03-12T11:42:57.170" Score="3" Body="&lt;p&gt;I think I understand your difficulties, indeed if you consider just a programming language both a denotational semantics and a term transformation (into another language) are nothing but mappings of syntactic elements of the given language in mathematical objects (elements of a domain in the first case, terms of the language in the second case).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Notheless differences between these two semantics start to arise if you put an operational semantics in your programming language and so you want that the denotational semantics and term transformations are compatible with this operational semantic.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the first case you would like that denotation of terms/programs that compute the same results have the same denotation, hence the denotational semantics should associates to &lt;em&gt;operational convertible&lt;/em&gt; terms the same denotation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the second case you would simply like that the term transformation maps terms/programs in such a way to preserve the derivations (if you reguard terms and reduction/derivations respectively as objects and morphisms of a category you can say that a term transformation should be a functor).&#xA;In the first case we lost information about the reduction between terms in the second case we preserve it. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the first case &lt;em&gt;semantically equivalent terms&lt;/em&gt; are mapped in the same denotation in the second they are mapped just in &lt;em&gt;operationally equivalent terms&lt;/em&gt; but the term translation does not guaratee that equivalent terms are mapped in the same term (and usually that's not the case).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Denotational semantics  allows to &lt;em&gt;easily&lt;/em&gt; find different terms, supposing that the denotation-mapping is easily computable, in order to distinguish two programs we just need to compute the denotation an see if they are different values.&#xA;Nonetheless in this way we lost information about the reductions (computations of our operational semantics) which are instead preserved by the term transformations. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I hope this helps.&lt;/p&gt;&#xA;" OwnerUserId="25498" LastActivityDate="2015-03-12T11:42:57.170" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="30786" PostTypeId="1" AcceptedAnswerId="30788" CreationDate="2015-03-12T11:53:06.640" Score="11" ViewCount="1327" Body="&lt;p&gt;I was thinking about which class this language belongs:&#xA;$L =\{ \langle G,k \rangle \mid G $ is a graph, $k$ is a natural number and $k$ is the chromatic number of $G\}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I thought of $L$ as (1) &quot; there is no coloring of k-1 colors&quot; and (2) &quot;there is coloring of $k$ colors&quot;. Now, (1) is coNP and (2) is NP-complete so I assume that this language is neither in NP nor in coNP, but I didn't find to which class it belongs.&#xA;Any help will be welcomed.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks&lt;/p&gt;&#xA;" OwnerUserId="26978" LastEditorUserId="3247" LastEditDate="2015-03-12T13:04:17.640" LastActivityDate="2015-03-12T13:04:17.640" Title="To which complexity class does this language belong?" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;&lt;complexity-classes&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="30787" PostTypeId="1" AcceptedAnswerId="40431" CreationDate="2015-03-12T11:58:53.447" Score="4" ViewCount="910" Body="&lt;p&gt;If I have a multi hidden-layered neural network that is getting a better approximation for a function than a single one, does that mean that there is something &quot;fishy&quot; about my multi layered one because of the Universal Approximation Theorem?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am assuming here that all weights are pre-initialized to 1 (I have my reasons) and they are trained on the same exact dataset.&lt;/p&gt;&#xA;" OwnerUserId="15777" LastActivityDate="2018-03-21T19:20:24.267" Title="Are single hidden-layered neural networks at least as good as multi hidden-layered neural networks?" Tags="&lt;machine-learning&gt;&lt;ne.neural-evol&gt;&lt;universal-computation&gt;" AnswerCount="2" CommentCount="6" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="30788" PostTypeId="2" ParentId="30786" CreationDate="2015-03-12T12:12:22.123" Score="14" Body="&lt;p&gt;It is contained in &lt;a href=&quot;https://complexityzoo.uwaterloo.ca/Complexity_Zoo:D#dp&quot;&gt;DP: Difference Polynomial-Time&lt;/a&gt;, which is also &lt;a href=&quot;https://complexityzoo.uwaterloo.ca/Complexity_Zoo:B#bh&quot;&gt;BH$_2$, the second level of the Boolean hierarchy&lt;/a&gt;. This class is itself contained in $\Delta^\textrm{P}$, but that is believed to be a bigger class.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A language L is in DP if it is the intersection of a language L&lt;sub&gt;1&lt;/sub&gt; in NP with a language L&lt;sub&gt;2&lt;/sub&gt; in coNP, and so your example is clearly in DP. &lt;/p&gt;&#xA;" OwnerUserId="206" LastActivityDate="2015-03-12T12:12:22.123" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="30789" PostTypeId="2" ParentId="30786" CreationDate="2015-03-12T12:22:53.143" Score="18" Body="&lt;p&gt;(as pointed out by Robin the problem is in DP...)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;...and it is also DP-complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In fact, Jörg Rothe has shown that this even holds for fixed k=4: Jörg Rothe: Exact complexity of Exact-Four-Colorability. Inf. Process. Lett. (IPL) 87(1):7-12 (2003)&lt;/p&gt;&#xA;" OwnerUserId="32258" LastEditorUserId="32258" LastEditDate="2015-03-12T12:29:08.083" LastActivityDate="2015-03-12T12:29:08.083" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="30791" PostTypeId="1" CreationDate="2015-03-12T13:40:15.543" Score="12" ViewCount="855" Body="&lt;p&gt;Think of the cell-probe model.  Is there a data structure that can allocate contiguous chunks of memory of any length (like e.g. malloc in C), and free them, while avoiding memory segmentation, and executes every operation in &lt;strong&gt;worst-case&lt;/strong&gt; deterministic O(log n) time where n is the total size of the memory?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By avoiding memory segmentation I mean that if the total number of free cells is F, then I should be able to allocate a contiguous segment of F cells or about F cells.&lt;/p&gt;&#xA;" OwnerUserId="259" LastEditorUserId="1677" LastEditDate="2015-03-30T19:47:57.003" LastActivityDate="2017-07-12T15:26:05.033" Title="Data structure for dynamic memory allocation" Tags="&lt;ds.data-structures&gt;&lt;memory&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="30792" PostTypeId="1" AcceptedAnswerId="30842" CreationDate="2015-03-12T15:08:05.820" Score="3" ViewCount="94" Body="&lt;p&gt;I want to know more results about the &lt;strong&gt;computability power or limitations&lt;/strong&gt; of shared $\texttt{read/write}$ registers/objects in distributed/concurrent computing theory.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Two typical examples are:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1]. All types of atomic $\texttt{read/write}$ registers are equivalent in terms of computability: we can simulate the most complex one (i.e., multi-writer multi-reader multi-value atomic register) using the simplest ones (i.e., single-writer single-reader binary atomic registers).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2]. Atomic $\texttt{read/write}$ registers have consensus number $1$. Therefore, from a set of atomic registers, it is &lt;em&gt;impossible&lt;/em&gt; to construct a wait-free implementation of stack, queue, test&amp;amp;set, compare&amp;amp;swap, or memory-to-memory swap.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=1734069&quot; rel=&quot;nofollow&quot;&gt;&quot;The Art of Multiprocessor Programming (book abstract)&quot;&lt;/a&gt; by Maurice Herlihy and Nir Shavit, 2008.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] &quot;Wait-Free Synchronization&quot; by Maurice Herlihy, ACM Transactions on Programming Languages and Systems, 1991. &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Do you know any other results about the &lt;strong&gt;computability power or limitations&lt;/strong&gt; of shared $\texttt{read/write}$ registers in distributed/concurrent computing theory?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Pointers to the literature would be appreciated.&lt;/p&gt;&#xA;" OwnerUserId="12739" LastEditorUserId="12739" LastEditDate="2015-03-13T01:54:59.907" LastActivityDate="2015-03-17T03:07:37.900" Title="Results about computability power or limitations of shared read/write registers" Tags="&lt;reference-request&gt;&lt;computability&gt;&lt;dc.distributed-comp&gt;&lt;concurrency&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="30793" PostTypeId="1" CreationDate="2015-03-12T15:59:26.437" Score="2" ViewCount="204" Body="&lt;p&gt;Given an $\omega$-regular expression $r$, how difficult is it to decide if $L(r)$ is recognizable by some deterministic Büchi automaton? I know it is solvable in EXPTIME by converting the regular expression to a Muller automaton. However, I would asumme that this problem lies in NP but I could not find any proofs of this.&lt;/p&gt;&#xA;" OwnerUserId="14135" LastEditorUserId="2367" LastEditDate="2020-07-07T19:08:04.063" LastActivityDate="2020-07-07T19:08:04.063" Title="Complexity of DBA-recognizable Omega-Languages" Tags="&lt;cc.complexity-theory&gt;&lt;fl.formal-languages&gt;&lt;automata-theory&gt;&lt;regular-expressions&gt;&lt;omega-language&gt;" AnswerCount="0" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="30794" PostTypeId="1" AcceptedAnswerId="30795" CreationDate="2015-03-12T17:09:10.923" Score="3" ViewCount="175" Body="&lt;p&gt;I began studying papers about approximate counting and I keep seeing the above being quoted,  without further explanation. I suppose the procedure that yields the result is very well known and that is why. Can anyone give me roughly the idea if possible and secondly some references about it? &lt;/p&gt;&#xA;" OwnerUserId="16892" LastActivityDate="2015-03-12T17:45:06.450" Title="Almost uniform sampling implies approximate counting" Tags="&lt;counting-complexity&gt;&lt;sample-complexity&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="30795" PostTypeId="2" ParentId="30794" CreationDate="2015-03-12T17:15:35.237" Score="9" Body="&lt;p&gt;Given a set $A \subseteq B$, if you can sample uniformly from $B$, then you can estimate by repeated sampling the probability of the event that the sample is in $A$. That is, you can approximate the probability $|A| / |B|$, which is indeed close to enumerating the elements of $A$, and thus computing its size.&lt;/p&gt;&#xA;" OwnerUserId="9594" LastEditorUserId="3964" LastEditDate="2015-03-12T17:45:06.450" LastActivityDate="2015-03-12T17:45:06.450" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="30796" PostTypeId="2" ParentId="30758" CreationDate="2015-03-12T17:30:00.003" Score="6" Body="&lt;p&gt;Several long-standing key open problems are in the &lt;a href=&quot;http://www.cambridge.org/gb/academic/subjects/computer-science/algorithmics-complexity-computer-algebra-and-computational-g/communication-complexity&quot; rel=&quot;nofollow&quot;&gt;Kushilevitz and Nisan&lt;/a&gt; textbook (see also the list of &lt;a href=&quot;http://www.cs.technion.ac.il/~eyalk/book.html&quot; rel=&quot;nofollow&quot;&gt;errata&lt;/a&gt; which mentions that Open Problem 8.6 was solved by Dietzfelbinger).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Razborov's 2011 &lt;a href=&quot;http://people.cs.uchicago.edu/%7Erazborov/files/cc.pdf&quot; rel=&quot;nofollow&quot;&gt;introductory survey&lt;/a&gt; lists four open problems, two of which are also in the KN textbook:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;(KN 2.10) Is it true that $D(f) \le O(\log \chi(f))$?&#xA;Here $\chi(f)$ is the minimal number of $f$-monochromatic rectangles into which the input space $X \times Y$ can be partitioned.&#xA;$D(f) \ge \log \chi(f)$ was shown by Yao in 1979, and $D(f) \le O((\log \chi(f))^2)$ was shown by Aho/Ullman/Yannakakis in 1983.&#xA;See also KN Theorem 2.11 and the historical discussion in the bibliographic notes to Chapter 2.&lt;/li&gt;&#xA;&lt;li&gt;(Log-rank conjecture, KN 2.20) Is it true that $\log\chi(f) \le (\log rk(M_f))^{O(1)}$ for every Boolean function $f$?&#xA;Here $M_f$ is the communication matrix of $f$, and $rk(M)$ denotes the rank of matrix $M$.&lt;/li&gt;&#xA;&lt;li&gt;Is it true that $R(f) \le poly(Q(f))$?&#xA;Here $R(f)$ denotes the bounded-error communication complexity of $f$ and $Q(f)$ the quantum communication complexity.&#xA;Note that $Q(f) \le R(f)$ by definition.&lt;/li&gt;&#xA;&lt;li&gt;Prove that $D(IP^k_n) \ge n^\epsilon$ for, say, $k = \lceil (\log n)^2\rceil$ and some fixed constant $\epsilon &amp;gt; 0$.&#xA;Here $IP^k_n$ denotes the inner product function with respect to $k$-party NOF protocols.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;As is hinted at by Razborov's survey, there are open questions about the quantum communication setting; this area is not covered by the 1997 textbook.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Edit 2015-03-14:&lt;/em&gt; After some thought, I don't understand problem 4, since the telescope protocol of Grolmusz uses $2k-1$ bits of communication to compute $IP^k_n$ per block of at most $2^{k-1}-1$ rows in the communication matrix.&#xA;For $k \ge 2+\log n$, there is precisely one such block and the cost of the protocol is then just $2k-1$ bits.&#xA;In particular, for $k=(\log n)^2$ this is $2(\log n)^2 - 1 = o(n^\epsilon)$ bits for every $\epsilon &amp;gt; 0$.&#xA;In summary, IP seems to have structure that can be exploited in the number-on-forehead setting when there are a large number of parties.&#xA;To reach the $\Omega(n)$ lower bound in the region $2+\log n \le k \le n/2$ therefore seems to require a different function.&lt;/p&gt;&#xA;" OwnerUserId="109" LastEditorUserId="109" LastEditDate="2015-03-14T16:25:09.273" LastActivityDate="2015-03-14T16:25:09.273" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="30797" PostTypeId="2" ParentId="19358" CreationDate="2015-03-12T18:19:12.803" Score="2" Body="&lt;p&gt;Let's say an algorithm A solves a &quot;special case&quot; of the decision problem L if on input x, $A(x)$ always either outputs the correct answer $L(x)$, or outputs &quot;?&quot;.&lt;br&gt;&#xA;These algorithms (which may be randomized) are sometimes called &quot;errorless heuristics&quot; and have been studied in complexity theory, esp. average-case complexity; see e.g. &lt;a href=&quot;http://www.cs.toronto.edu/~thomasw/papers/eha.pdf&quot; rel=&quot;nofollow&quot;&gt;this paper&lt;/a&gt; of Watson and references therein.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A basic question you can ask about a very difficult decision problem is whether it contains &lt;em&gt;any&lt;/em&gt; nontrivial easy cases.  E.g. if L is decidable, is there any (deterministic) errorless heuristic A for L that solves $L(x)$ on infinitely many inputs?  This has been explored in the notion of &lt;em&gt;immunity&lt;/em&gt; (along with co-immunity, bi-immunity, simplicity and others) in computability theory.  See e.g. &lt;a href=&quot;http://en.wikipedia.org/wiki/Simple_set&quot; rel=&quot;nofollow&quot;&gt;this wiki article&lt;/a&gt;.  Complexity-theoretic analogues have been studied as well.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since you mention multiple instances, I might also interpret the question as looking for research into algorithms which, given instances $x^1, \ldots, x^m$ for a decision problem (i.e. language) L, compute some partial information about the membership/nonmembership of the given strings in $L$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One of the earliest and most influential works of this type was by Jockusch, who in his dissertation and &lt;a href=&quot;http://www.ams.org/journals/tran/1968-131-02/S0002-9947-1968-0220595-7/S0002-9947-1968-0220595-7.pdf&quot; rel=&quot;nofollow&quot;&gt;this 1968 paper&lt;/a&gt; defined &quot;semi-recursive&quot; languages.  L is semi-recursive if there is a computable &quot;selector&quot; function that, given instances $x^1, x^2$, selects one of these two strings as being &quot;logically more likely&quot; to lie in L.  That is, we require that whenever &lt;em&gt;at least one&lt;/em&gt; of $x^1, x^2$ lie in L, the string selected by the selector lies in L.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The study of polynomial-time analogues of this concept was initiated by Selman in &lt;a href=&quot;http://link.springer.com/chapter/10.1007%2F3-540-09510-1_44&quot; rel=&quot;nofollow&quot;&gt;this 1979 paper&lt;/a&gt;.  Since then there has been tons of work on &quot;p-selective&quot; languages (the polytime version of semi-recursive languages) along with &quot;membership comparable&quot; languages and many other related concepts.  I can't summarize all this work, but consult e.g. &lt;a href=&quot;http://people.cs.uchicago.edu/~fortnow/papers/app-sel.pdf&quot; rel=&quot;nofollow&quot;&gt;this article&lt;/a&gt; of Beigel, Fortnow, and Pavan, and &lt;a href=&quot;http://www.cs.rochester.edu/u/lane/=semi-feasible/&quot; rel=&quot;nofollow&quot;&gt;this book&lt;/a&gt; of Hemaspaandra and Torenvliet.  The concept of bounded queries in computability and complexity is also related, see &lt;a href=&quot;https://www.cs.umd.edu/~gasarch/papers/bdq-survey-tech.pdf&quot; rel=&quot;nofollow&quot;&gt;this survey&lt;/a&gt; by Gasarch.&lt;/p&gt;&#xA;" OwnerUserId="223" LastEditorUserId="223" LastEditDate="2015-03-12T18:28:24.063" LastActivityDate="2015-03-12T18:28:24.063" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="30798" PostTypeId="2" ParentId="30740" CreationDate="2015-03-12T19:50:33.447" Score="3" Body="&lt;p&gt;In addition to the accepted answer, here is a recent paper (December '14) on the complexity of counting certain restricted models of Linear-time Temporal Logic. Higher, and more esoteric, complexity classes are present in the results shown: variants of the problem are $\#PSPACE$-complete, $\#EXPTIME$-complete, etc.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://arxiv.org/abs/1408.5752&quot; rel=&quot;nofollow&quot;&gt;The Complexity of Counting Models of Linear-time Temporal Logic&lt;/a&gt; by Hazem Torfah, Martin Zimmermann&lt;/p&gt;&#xA;" OwnerUserId="15988" LastActivityDate="2015-03-12T19:50:33.447" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="30799" PostTypeId="2" ParentId="19358" CreationDate="2015-03-12T19:58:06.943" Score="2" Body="&lt;p&gt;The obvious candidates for these kinds of things are number theoretical. &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;The collatz problem springs to mind, see &lt;a href=&quot;https://cstheory.stackexchange.com/questions/11611/what-is-the-nearest-problem-to-the-collatz-conjecture-that-has-been-successful&quot;&gt;What is the &amp;quot;nearest&amp;quot; problem to the Collatz conjecture that has been successfully resolved?&lt;/a&gt;. The cited article is &lt;a href=&quot;http://arxiv.org/pdf/0906.3329.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;here&lt;/a&gt;, but it is about tag systems rather than number theory.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Termination is, of course, undecidable, but of course there are some nice algorithms that capture realistic classes of terminating systems. In particular &lt;a href=&quot;http://arxiv.org/pdf/1005.0518.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;this paper&lt;/a&gt; by Ben Amram gives a neat criterion in which one can decide whether a program is a) polynomial or b) non-terminating, by finding a bound such that, &lt;em&gt;if the program terminates&lt;/em&gt;, then it does in less than that bound.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The problem of finding solutions of integer polynomial equations is, &lt;a href=&quot;http://en.wikipedia.org/wiki/Hilbert%27s_tenth_problem&quot; rel=&quot;nofollow noreferrer&quot;&gt;as is well-known&lt;/a&gt;, undecidable, but for large classes of problems we &lt;em&gt;do&lt;/em&gt; know the solution. See here &lt;a href=&quot;https://mathoverflow.net/questions/51987/which-types-of-diophantine-equations-are-solvable&quot;&gt;https://mathoverflow.net/questions/51987/which-types-of-diophantine-equations-are-solvable&lt;/a&gt;, or &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.378.8001&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;here&lt;/a&gt; for instance. The criteria for decidability are generally rather simple in this case and will typically depend on the degree of the equation and some algebraic relation on the coefficients. I don't know whether checking this can be called a &quot;decision procedure&quot;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="3984" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2015-03-12T19:58:06.943" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="30801" PostTypeId="1" CreationDate="2015-03-13T00:36:12.627" Score="20" ViewCount="641" Body="&lt;p&gt;How fast would a nondeterministic algorithm for an EXPTIME-complete problem have to be to imply $P \neq NP$?  A polynomial time nondeterministic algorithm would immediately imply this because $P \neq EXPTIME$ but no one believes $NP = EXPTIME$.  If I've done the algebra right (see below) the time hierarchy theorem would still give the $P \neq NP$ implication for $O(2^n/f(n))$ running times for any superpolynomial $f(\cdot)$, but for all I know there are complete problems with efficient reductions that allow slower algorithms to give the result.  Are there EXPTIME-complete problems where we know something like $2^n/n$ or $2^n/n^2$ with nondeterminism is enough?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Clarification of the &quot;algebra&quot;: $P = NP$ implies $EXPTIME=NEXPTIME$ by a padding argument, so a nondeterministic $2^n/f(n)$ algorithm for an EXPTIME-complete problem would also be one for a NEXPTIME-complete problem.  For superpolynomial $f(\cdot)$ this would contradict the nondeterministic time hierarchy theorem since we could reduce using some $L \in$ NTIME$(2^n)$.&lt;/p&gt;&#xA;" OwnerUserId="32393" LastEditorUserId="-1" LastEditDate="2015-03-13T04:22:57.027" LastActivityDate="2015-03-16T08:54:57.533" Title="How fast would a nondeterministic algorithm for an EXPTIME-complete problem have to be to imply $P \neq NP$?" Tags="&lt;cc.complexity-theory&gt;" AnswerCount="2" CommentCount="4" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="30802" PostTypeId="1" CreationDate="2015-03-13T00:38:34.857" Score="10" ViewCount="157" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;&lt;em&gt;Q&lt;/em&gt;&lt;/strong&gt;. What is the complexity of finding the largest volume bounded cell in an arrangment of&#xA;  $n$ hyperplanes in dimension $d$?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I feel I should know this... But I am not finding a definitive reference.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is it $\Omega(n^d)$?&#xA;How about the $d{=}2$ specialization:&#xA;The largest area bounded cell in an arrangement of lines?&lt;/p&gt;&#xA;" OwnerUserId="337" LastEditorUserId="337" LastEditDate="2015-03-13T01:24:02.350" LastActivityDate="2015-05-30T19:17:24.330" Title="Largest cell in an arrangement" Tags="&lt;computational-geometry&gt;&lt;high-dimensional-geometry&gt;&lt;arrangements&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="30803" PostTypeId="1" AcceptedAnswerId="30806" CreationDate="2015-03-13T01:06:18.240" Score="7" ViewCount="511" Body="&lt;p&gt;Generalized Geography (GG) is played on a directed graph where a token is moved along arcs alternatively by two players. The vertices from which the token leaves are deleted. When a player cannot play anymore he loses (and his opponent wins).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;GG is PSPACE-complete (see page 11, Figure 1 of &quot;On the complexity of some two-person perfect-information games&quot; of Schaefer) while its variant on undirected graphs is polynomial time solvable (see for instance &lt;a href=&quot;http://www.math.cmu.edu/~af1p/Teaching/Combinatorics/F03/Class32.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;here&lt;/a&gt;). &#xA;In the technical report &lt;a href=&quot;http://www.cs.uu.nl/research/techreps/repo/CS-1989/1989-29.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Complexity of Path Forming Games&lt;/a&gt; of Hans L. Bodlaender (1989), it is shown that GG becomes polynomial time solvable in graphs of bounded treewidth.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have two questions concerning that result:&lt;br&gt;&#xA;1) Do you agree the algorithm is designed for undirected GG? (which is anyway in P for general graphs). Look at figure 4.1 for instance, plus the fact that the treewidth is not re-defined for directed graphs.&lt;br&gt;&#xA;2) As mentioned by Saeed in a related &lt;a href=&quot;https://cstheory.stackexchange.com/questions/22445/for-which-families-of-graphs-is-generalized-geography-in-p/22463#22463&quot;&gt;post&lt;/a&gt;, &quot;The problem is PSPACE-complete even on digraphs of directed tree width 1&quot;.&lt;br&gt;&#xA;Now, even if we consider (directed) GG, and the treewidth of the undirected graph obtained by changing each arc into an edge, it seems to be untrue that GG is easier with bounded treewidth: take any instance of QBF with bounded pathwidth (which remains PSPACE-complete, result of Atserias and Oliva), number the variables by their order of appearance in bags going from &quot;left to right&quot;, and do the reduction of Schaefer (see also the link given by Saeed). The treewidth of the undirected version of the digraph produced by this reduction is bounded. No?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In view of 1) and 2) why do we think that bounded treewidth makes GG easier? &lt;/p&gt;&#xA;" OwnerUserId="21460" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2015-03-13T11:23:00.540" Title="Generalized Geography on graphs of bounded treewidth" Tags="&lt;cc.complexity-theory&gt;&lt;graph-algorithms&gt;&lt;time-complexity&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="30804" PostTypeId="2" ParentId="30801" CreationDate="2015-03-13T07:54:21.150" Score="15" Body="&lt;p&gt;&lt;strong&gt;Simple Answer:&lt;/strong&gt; For each $EXPTIME$-$hard$ problem there is some constant $c$ such that if we could solve the problem in $NTIME(2^{o(n^{\frac{1}{c}})})$, then $P \neq NP$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note: The constant $c$ comes from the instance size blow-ups that result from the reductions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Justification:&lt;/strong&gt; Let $X$ denote an $EXPTIME$-$hard$ problem.  That means that every problem in $EXPTIME$ is polynomial time reducible to $X$.  In fact, we can show more.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The acceptance problem for $2^n$ time bounded deterministic Turing machines is in $DTIME(n \cdot 2^n) \subseteq EXPTIME$ and therefore is polynomial time reducible to $X$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Therefore, there must be some fixed constant $c$ such that every problem in $DTIME(2^n)$ is polynomial time reducible to $X$ where the instance size blow-up is $O(n^c)$.  That is, instances of size n are reduced to instances of size $O(n^c)$ for $X$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, if we had $X \in NTIME(2^{o(n^{\frac{1}{c}})})$, then $DTIME(2^n) \subseteq NTIME(2^{o(n)})$.  However, this implies $P \neq NP$ (see below for details). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Additional Details:&lt;/strong&gt; One can show that $P=NP$ $\Leftrightarrow$ $\exists c^{\prime}$ $\forall k$ $NTIME(n^k) \subseteq DTIME(n^{c^{\prime}k})$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In other words, if you can solve an $NP$-$complete$ problem in polynomial time, then there is a uniform way of speeding up any problem in $NP$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, let's suppose that $P=NP$.  By the preceding (with $k$=1) we get a constant $c^{\prime}$ such that&#xA;$$NTIME(n) \subseteq DTIME(n^{c^{\prime}}).$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Next, we can use padding to scale up this inclusion and get&#xA;$$NTIME(2^{n}) \subseteq DTIME(2^{c^{\prime}n}).$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then, by the deterministic time hierarchy theorem, we have&#xA;$$NTIME(2^{n}) \subseteq DTIME(2^{c^{\prime}n}) \subsetneq DTIME(2^{(c^{\prime}+\epsilon)n})$$&#xA;for any $\epsilon &amp;gt; 0$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Therefore, we couldn't have&#xA;$DTIME(2^{(c^{\prime}+\epsilon)n}) \subseteq NTIME(2^{n}).$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Further, we couldn't have $DTIME(2^{n}) \subseteq NTIME(2^{o(n)})$ because by padding we would get $DTIME(2^{(c^{\prime}+\epsilon)n}) \subseteq NTIME(2^{o(n)})$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Further Question:&lt;/strong&gt; Does anyone have any simple examples of $EXPTIME$-$complete$ problems where we can easily determine the instance size blow-up constant $c$?&lt;/p&gt;&#xA;" OwnerUserId="14207" LastEditorUserId="14207" LastEditDate="2015-03-16T08:54:57.533" LastActivityDate="2015-03-16T08:54:57.533" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="30805" PostTypeId="2" ParentId="30803" CreationDate="2015-03-13T10:08:45.920" Score="14" Body="&lt;p&gt;The proof in my 1989 paper does not rely on the fact that the graph is undirected.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Directed treewidth is a different notion than the treewidth of the undirected graph obtained by changing each arc to an edge. &lt;/p&gt;&#xA;" OwnerUserId="32399" LastActivityDate="2015-03-13T10:08:45.920" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="30806" PostTypeId="2" ParentId="30803" CreationDate="2015-03-13T10:55:36.067" Score="10" Body="&lt;p&gt;So, in short, the question is, since QBF is PSPACE-complete for bounded pathwidth formulas, why isn't Geography PSPACE-complete for bounded pathwidth graphs?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think the problem with this hardness argument is that the reduction from QBF to Geography by Schaefer does not preserve the pathwidth/treewidth of the formula. The reason is that, in Schaefer's construction, the variables must be added in the graph in the order in which they are quantified, NOT the order of the path decomposition. Hence, you cannot (in an obvious way) guarantee that the resulting digraph has small (undirected) treewidth.&lt;/p&gt;&#xA;" OwnerUserId="3168" LastActivityDate="2015-03-13T10:55:36.067" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="30807" PostTypeId="2" ParentId="30709" CreationDate="2015-03-13T17:21:07.380" Score="2" Body="&lt;p&gt;In general semantics is a mapping $[\![ {-} ]\!]$ of syntax to mathematical objects of some sort. The objects may be syntactic in nature, in which case it is perhaps better to speak of a &lt;em&gt;translation&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some kinds of semantics are clearly not syntax. For example, if you interpret the simply typed $\lambda$-calculus into set theory, then it is not reasonable to claim that this is just a translation of one kind of syntax into another. For instance, in the set-theoretic semantics any set may act as a type, even a non-definable one, and even some definable types will have uncountable cardinality (consider $\mathtt{nat} \to \mathtt{nat}$) –– it would be absurd to claim that these are just syntax.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One should not confuse semantics with how we express the semantic function. Of course, &lt;em&gt;anything&lt;/em&gt; you express in mathematics is &quot;just a bunch of expressions&quot;. But it's been a long time since we learned the difference between a word and its meaning. If you are going to defend the position that &quot;it's all just formalism all the way down&quot; then we have a different issue to discuss, namely: are you a formalist?&lt;/p&gt;&#xA;" OwnerUserId="705" LastActivityDate="2015-03-13T17:21:07.380" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="30808" PostTypeId="2" ParentId="30720" CreationDate="2015-03-13T18:27:59.823" Score="-1" Body="&lt;p&gt;I'm not aware of any alternatives but some first-order abductive problems can be recast as evaluation of stable models.&lt;/p&gt;&#xA;" OwnerUserId="32406" LastActivityDate="2015-03-13T18:27:59.823" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="30809" PostTypeId="2" ParentId="30787" CreationDate="2015-03-13T23:27:40.410" Score="1" Body="&lt;p&gt;In case you're still looking for more information on this, I'll chip in my two cents. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It may help to think of neural networks as just fitting some function based on the training data. Each hidden layer increases the ability of the neural network to fit more complex functions. A network without hidden layers, often called a perceptron, is only able to fit linear (technically linearly separable) functions. As a rule of thumb, each hidden layer adds the ability to fit one higher degree polynomial function. So for example a network with one hidden layer should be able to fit a quadratic function, two hidden layers can fit a cubic function and so on.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Perhaps contrary to your intuition, the cosine you're trying to train is actually a complex dataset for a neural network, precisely because it fits polynomial functions. Implicitly the network will relax to weights that are in principle approximating your cosine with a polynomial. If you look at &lt;a href=&quot;http://en.wikipedia.org/wiki/Taylor_series#Approximation_and_convergence&quot; rel=&quot;nofollow&quot;&gt;the tailor expansion&lt;/a&gt; for a sine for example, you'll see that a close approximation would require a 7th degree polynomial, which together with the rather small $\frac{1}{7 !}$ weight should prove quite a challenge for your network to train.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It might also be interesting to note that the approximation only holds well for $−1 &amp;lt; x &amp;lt; 1$, since a typical polynomial will quickly diverge from the sine/cosine beyond this interval. You might want to take that into account for your training set.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To wrap up it up, the primary reason you should be cautious with just adding hidden layers is the problem of overfitting. If you add too many layers (ie more layers than would be required for the -possibly unknown- polynomial underlying your training data), the network will typically fit too tightly to your training dataset, making it less useful for interpolation or extrapolation, or just evaluating new data outside the set. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A good example would actually be that &lt;a href=&quot;http://en.wikipedia.org/wiki/Taylor_series#Approximation_and_convergence&quot; rel=&quot;nofollow&quot;&gt;tailor expansion&lt;/a&gt; again. If you read on in that section you'll come across the note that higher degree polynomials only marginally improve the accuracy in $−1 &amp;lt; x &amp;lt; 1$, while they perform (much) worse outside this interval. I should note that this may not exactly be the same problem, but it does illustrate what could go wrong.&lt;/p&gt;&#xA;" OwnerUserId="32408" LastEditorUserId="32408" LastEditDate="2015-03-13T23:50:07.587" LastActivityDate="2015-03-13T23:50:07.587" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="30812" PostTypeId="2" ParentId="30767" CreationDate="2015-03-14T17:47:45.077" Score="5" Body="&lt;p&gt;If you include testing in algorithm design, Samorodnitsky uses additive combinatorics to show that linear transformations are efficiently testable &lt;a href=&quot;http://www.ccs.neu.edu/home/viola/papers/add.pdf&quot;&gt;[here]&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="259" LastActivityDate="2015-03-14T17:47:45.077" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="30816" PostTypeId="1" CreationDate="2015-03-15T17:13:54.733" Score="25" ViewCount="732" Body="&lt;p&gt;I don't grasp the full complexity of the counting hierarchy $CH$. I understand $CH$ is in $PSPACE$, and contains $PH$ within its second level, due to the Toda's theorem. But, what would be important consequences of the collapse of $CH$? I got a sort of intuition behind the conjecture the polynomial hierarchy $PH$ doesn't collapse. Nevertheless, since $PP^{PH}\subseteq P^{PP}=P^{\# P}\subseteq C_2^P$ due to the Toda's theorem, where $C_2^P$ is the second level of $CH$, the power of counting seems huge. Thus, what would be wrong or unexpected if $CH$ collapsed? And what if the stronger condition $CH=PSPACE$ held?&lt;/p&gt;&#xA;" OwnerUserId="32007" LastEditorUserId="109" LastEditDate="2017-04-19T09:18:12.580" LastActivityDate="2017-04-19T09:18:12.580" Title="What are consequences of the collapse of CH?" Tags="&lt;cc.complexity-theory&gt;&lt;counting-complexity&gt;&lt;conditional-results&gt;&lt;polynomial-hierarchy&gt;&lt;pspace&gt;" AnswerCount="0" CommentCount="4" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="30817" PostTypeId="1" AcceptedAnswerId="30863" CreationDate="2015-03-15T17:23:14.317" Score="5" ViewCount="419" Body="&lt;p&gt;Motivated by this post on &lt;a href=&quot;https://mathoverflow.net/questions/156455/cubic-graphs-decompositions&quot;&gt;cubic graphs decompositions&lt;/a&gt;, I am interested in decomposing a connected bridgeless graph into edge-disjoint paths of length 3 (P4). My intuition is that it should be NP-complete but did not find a reduction. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am aware that it is $NP$-complete to decide whether a cubic bipartite planar graph is decomposable into vertex-disjoint paths of length 2 (P3).&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is it $NP$-complete to decide whether a bridgeless cubic bipartite graph is decomposable into edge-disjoint paths of length 3 (P4)?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;In a related note, Barnette conjecture states that every 3-connected cubic bipartite planar graph is Hamiltonian. This is equivalent to decomposing every such graph into Hamiltonian cycle and a perfect matching. &lt;a href=&quot;http://theory.stanford.edu/~tomas/barnew.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Feder and Subi&lt;/a&gt; proved that if there is a single graph in the class of the conjecture which does not admit such decomposition then deciding the existence of Hamiltonian cycle in $NP$-complete in that class.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;For general connected cubic graph decomposition problems, under which conditions does the existence of a non-decomposable graph imply the $NP$-completeness of the decomposition problem?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT&lt;/strong&gt; For the second question, Is there a subclass of connected bridgeless cubic graphs where non-decomposable graphs exist but it is polynonial time to decide the existence of a (edge) decomposition? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The linked post on MthOverflow provides some interesting examples of connected cubic graph decomposition problems.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT&lt;/strong&gt; The problem is posted on MathOverflow: &lt;a href=&quot;https://mathoverflow.net/questions/200421/connection-between-barnette-conjecture-and-hardness-of-cubic-graph-decomposition&quot;&gt;Connection between Barnette conjecture and hardness of cubic graph decomposition&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2015-03-19T19:51:04.317" Title="Is it $NP$-complete to decompose bridgeless cubic bipartite graph into edge-disjoint paths of length 3?" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;" AnswerCount="1" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="30818" PostTypeId="1" AcceptedAnswerId="30846" CreationDate="2015-03-15T17:38:51.857" Score="13" ViewCount="562" Body="&lt;p&gt;Since I'm interested in parsers (mainly in parser expression grammars), I'm wondering if there's some work that gives a categorical treatment of parsing. Any reference on applications of category theory to parsing is highly appreciated.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Best,&lt;/p&gt;&#xA;" OwnerUserId="30383" LastEditorUserId="1037" LastEditDate="2015-03-17T02:08:15.373" LastActivityDate="2015-03-17T12:06:21.273" Title="Category theory and parsers --- references wanted" Tags="&lt;reference-request&gt;&lt;functional-programming&gt;&lt;ct.category-theory&gt;&lt;parsing&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="10" ContentLicense="CC BY-SA 3.0" />
  <row Id="30820" PostTypeId="1" AcceptedAnswerId="30847" CreationDate="2015-03-15T21:00:47.660" Score="18" ViewCount="1346" Body="&lt;p&gt;Counting triangles in general graphs can be done trivially in $O(n^3)$ time and I think that doing much faster is hard (references welcome). What about planar graphs? The following straightforward procedure shows that it can be done in $O(n\log{n})$ time. My question is two-fold:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;What is a reference for this procedure?&lt;/li&gt;&#xA;&lt;li&gt;Can the time be made linear?&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;From the algorithmic proof of Lipton-Tarjan's planar separator theorem we can, in time linear in the size of the graph, find a partition of vertices of the graph into three sets $A,B,S$ such that there are no edges with one endpoint in $A$ and the other in $B$, $S$ has size bounded by $O(\sqrt{n})$ and both $A,B$ have sizes upper bounded by $\frac{2}{3}$ of the number of vertices. Notice that any triangle in the graph either lies entirely inside $A$ or entirely inside $B$ or uses at least one vertex of $S$ with the other two vertices from $A \cup S$ or both from $B \cup S$. Thus it suffices to count the number of triangles in the graph on $S$ and the neighbours of $S$ in $A$ (and similarly for $B$). Notice that $S$ and its $A$-neighbours induce a $k$-outer planar graph (the said graph is a subgraph of a planar graph of diameter $4$). Thus counting the number of triangles in such a graph can be done directly by dynamic programming or by an application of Courcelle's theorem (I know for sure that such a counting version exists in the Logspace world by Elberfeld et al and am guessing that it also exists in the linear time world) since forming an undirected triangle is an $\mathsf{MSO}_1$ property and since a bounded width tree decomposition is easy to obtain from an embedded $k$-outer planar graph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thus we have reduced the problem to a pair of problems which are each a constant fraction smaller at the expense of a linear time procedure. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Notice that the procedure can be extended to find the count of the number of instances of any fixed connected graph inside an input graph in $O(n\log{n})$ time.&lt;/p&gt;&#xA;" OwnerUserId="214" LastActivityDate="2015-03-17T23:04:28.953" Title="Time complexity of counting triangles in planar graphs" Tags="&lt;reference-request&gt;&lt;graph-algorithms&gt;&lt;planar-graphs&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="30821" PostTypeId="2" ParentId="30801" CreationDate="2015-03-15T21:55:56.080" Score="16" Body="&lt;p&gt;I think its easier to turn it around.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $\mathsf{P}=\mathsf{NP}$, then $\mathsf{NTIME}(T(n)) \subset \mathsf{DTIME} ((T(n))^c)$ &#xA;for some constant $c$, and any $T(n) &amp;gt; n$.&#xA;Since $\mathsf{DTIME} ((T(n)^c)$ does not contain &#xA;$\mathsf{DTIME}(T(n)^{c}\log T(n)) \subset \mathsf{DTIME}(T(n)^{c+1})$, &#xA;this means we cannot solve, say all problems in $\mathsf{DTIME}(2^n)$ in &#xA;$\mathsf{NTIME} (2^{\epsilon n})$ for some $\epsilon$.&#xA;So a non-deterministic time $2^{o(n)}$ algorithm for a problem complete for&#xA;$\mathsf{DTIME} (2^n)$ under quasi-linear reductions would be enough to prove $\mathsf{P} \neq \mathsf{NP}$.&lt;/p&gt;&#xA;" OwnerUserId="332" LastEditorUserId="6959" LastEditDate="2015-03-15T22:43:08.813" LastActivityDate="2015-03-15T22:43:08.813" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="30824" PostTypeId="2" ParentId="27555" CreationDate="2015-03-16T06:30:15.603" Score="1" Body="&lt;p&gt;I can share some details of experiments that I'm running on Boolean strings.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The number of 2-bit strings are too few -- not much to observe here.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The number of 3-bit strings is $2^3 = 8$, hence the number of possible subsets is $2^8 = 256$.  It turns out that 122 of these are Horn sets and 134 are &lt;strong&gt;not&lt;/strong&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The number of 4-bit strings is $2^4 = 16$, hence the number of possible subsets is $2^{16} = 65536$.  Out of these, only 4960 are Horn sets and 60576 are &lt;strong&gt;not&lt;/strong&gt; Horn.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For $n = 5$, the number of possible subsets is $65536^2$, which is more than 4 billion.  I only have access to 3 machines on campus, so I have divided the problem into several cases and running them case by case (even then, it's going take 2-3 weeks to run).  Looking at the computation so far, only about 5% of the sets seem to be Horn.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For $n \ge 6$, I don't have the computing power!  (Or it'll take months)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Am doing the testing using GAWK.  $~$Happy to share the code files.  (How to post files here?)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Other comments? questions?&lt;/p&gt;&#xA;" OwnerUserId="28655" LastActivityDate="2015-03-16T06:30:15.603" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="30829" PostTypeId="1" CreationDate="2015-03-16T10:19:57.800" Score="7" ViewCount="469" Body="&lt;p&gt;Given a simple undirected grap, how many induced subgraphs does it have that are not isomorphic to each other? (or in a descision version, does it have fewer than k non-isomorphic induced subgraphs).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does anyone know the computational complexity of this problem? Are bounds known?&lt;/p&gt;&#xA;" OwnerUserId="32149" LastActivityDate="2015-03-16T10:19:57.800" Title="Number of non-isomorphic induced subgraphs of a graph" Tags="&lt;cc.complexity-theory&gt;&lt;graph-isomorphism&gt;" AnswerCount="0" CommentCount="5" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="30830" PostTypeId="1" CreationDate="2015-03-16T10:48:04.920" Score="3" ViewCount="173" Body="&lt;p&gt;What is known about log rank conjecture in special situations of $O(\log N)$ rank $0/1$ matrix of size $N\times N$? Is there at least a conditional result showing better than $O(\sqrt{\log N})$ bound?&lt;/p&gt;&#xA;" OwnerUserId="1812" LastEditorUserId="1812" LastEditDate="2015-03-16T11:13:08.387" LastActivityDate="2017-06-07T16:59:46.890" Title="Low rank Log rank conjecture" Tags="&lt;matrices&gt;&lt;communication-complexity&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="30833" PostTypeId="2" ParentId="30818" CreationDate="2015-03-16T15:04:09.427" Score="5" Body="&lt;p&gt;It would appear that (context free) parsing &lt;em&gt;a la&lt;/em&gt; &lt;a href=&quot;http://en.wikipedia.org/wiki/Parsec_%28parser%29&quot; rel=&quot;nofollow noreferrer&quot;&gt;Parsec&lt;/a&gt; is naturally expressed in terms of the &lt;strong&gt;&lt;a href=&quot;http://hackage.haskell.org/package/base-4.7.0.2/docs/Control-Applicative.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;Applicative&lt;/a&gt;&lt;/strong&gt; type class. In turn, this class is described well by so-called &lt;strong&gt;strong lax monoidal functors&lt;/strong&gt;, which are mentioned in &lt;a href=&quot;https://cstheory.stackexchange.com/questions/12412/explaining-applicative-functor-in-categorical-terms-monoidal-functors&quot;&gt;this very nice cstheory question&lt;/a&gt; and &lt;a href=&quot;https://stackoverflow.com/questions/23316255/lax-monoidal-functors-with-a-different-monoidal-structure&quot;&gt;this nice stackoverflow question&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More generally, Parsec parsers are &lt;strong&gt;monads&lt;/strong&gt;, that are so well known in both CS theory and category theory that I'm not going to give references unless asked.&lt;/p&gt;&#xA;" OwnerUserId="3984" LastEditorUserId="-1" LastEditDate="2017-05-23T12:40:09.333" LastActivityDate="2015-03-16T15:04:09.427" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="30835" PostTypeId="1" CreationDate="2015-03-16T20:56:17.590" Score="0" ViewCount="30" Body="&lt;p&gt;Consider a quantum state $\lvert \psi \rangle$, we know from the no cloning theorem, that it cannot be perfectly cloned. Also, loosely speaking, that it can be imperfectly cloned s.t. one can produce a qubit with reduced density matrix of $\rho$, where $\langle \psi \vert \rho \vert \psi \rangle = 5/6$. (for references see Robin Kothari's &lt;a href=&quot;https://cstheory.stackexchange.com/a/30783/17325,&quot;&gt;answer&lt;/a&gt;)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose we call any two states $\lvert \psi \rangle$ and $\lvert \phi \rangle$ &lt;strong&gt;Similar&lt;/strong&gt;, if $\langle \psi \vert \phi \rangle \langle \phi \vert \psi \rangle &amp;gt; 5/6 + \epsilon$, where $\epsilon$ is some small fraction&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, given a state $\lvert \psi \rangle$, is finding another 'Similar' state computationally hard, or information theoretically?&lt;/p&gt;&#xA;" OwnerUserId="17325" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2015-03-16T20:56:17.590" Title="Hardness of finding similar (quantum) states" Tags="&lt;quantum-computing&gt;&lt;quantum-information&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="30839" PostTypeId="1" AcceptedAnswerId="30843" CreationDate="2015-03-17T00:25:09.633" Score="0" ViewCount="2536" Body="&lt;p&gt;I have been reading in multiple places (e.g. [1], section 4) that the VC-dimension of the class of triangles (in 2D space) is 7. &#xA;The issue is that, for the case when 4 points lying on a straight line with alternating signs (like - + - +), I don't see why a triangle could separate the points. Where am I making mistake? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] &lt;a href=&quot;http://www.igi.tugraz.at/lehre/CI/SS08/tutorials/VC_examples/VC_examples.pdf&quot; rel=&quot;nofollow&quot;&gt;http://www.igi.tugraz.at/lehre/CI/SS08/tutorials/VC_examples/VC_examples.pdf&lt;/a&gt; &lt;/p&gt;&#xA;" OwnerUserId="15645" LastActivityDate="2017-03-30T17:33:41.190" Title="VC-dimension of triangles in 2D space" Tags="&lt;cg.comp-geom&gt;&lt;machine-learning&gt;&lt;lg.learning&gt;&lt;computational-geometry&gt;" AnswerCount="1" CommentCount="7" ClosedDate="2017-03-31T08:21:37.473" ContentLicense="CC BY-SA 3.0" />
  <row Id="30842" PostTypeId="2" ParentId="30792" CreationDate="2015-03-17T03:07:37.900" Score="3" Body="&lt;p&gt;You might want to look at the &lt;a href=&quot;http://dblp.uni-trier.de/pers/hd/t/Taubenfeld:Gadi&quot; rel=&quot;nofollow&quot;&gt;work&lt;/a&gt; of Gadi Taubenfeld. Many of his papers deal with  &lt;a href=&quot;http://link.springer.com/chapter/10.1007/978-3-642-10877-8_22&quot; rel=&quot;nofollow&quot;&gt;impacts of different progress conditions&lt;/a&gt; such as (generalized) wait-freedom or &lt;a href=&quot;http://dl.acm.org/citation.cfm?doid=1835698.1835709&quot; rel=&quot;nofollow&quot;&gt;obstruction-freedom&lt;/a&gt; on the computability power of shared objects in distributed systems, which includes registers.&lt;/p&gt;&#xA;" OwnerUserId="6785" LastActivityDate="2015-03-17T03:07:37.900" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="30843" PostTypeId="2" ParentId="30839" CreationDate="2015-03-17T04:51:57.563" Score="0" Body="&lt;p&gt;As Sasho and Huck mentioned in their comments, &quot;shattering means that you have to be able to separate all +/- labelings of the same set of points, given the function class.&quot; &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Therefore, since the set of points on a line is never separable by the class of triangles, it is not a valid set of points to decide the VC-dimension this class. &lt;/p&gt;&#xA;" OwnerUserId="15645" LastEditorUserId="15645" LastEditDate="2015-03-18T20:18:04.013" LastActivityDate="2015-03-18T20:18:04.013" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="30846" PostTypeId="2" ParentId="30818" CreationDate="2015-03-17T09:49:53.027" Score="9" Body="&lt;p&gt;One of the very first applications of category theory to a subject outside of algebraic geometry was to parsing! The keywords you want to guide your search are &quot;Lambek calculus&quot; and &quot;categorial grammar&quot;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In modern terms, Joachim Lambek invented &lt;a href=&quot;http://en.wikipedia.org/wiki/Noncommutative_logic&quot;&gt;noncommutative linear logic&lt;/a&gt; in order to model sentence structure. The basic idea is that you can give basic parts of speech as having types, and then (say) ascribe English adjectives a function type taking noun phrases to noun phrases. (eg, &quot;green&quot; is viewed as function taking nouns to nouns, which means that &quot;green eggs&quot; is well-typed, since &quot;eggs&quot; is a noun). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Linearity arises from the fact that an adjective takes exactly one noun phrase as an argument, and the noncommutativity arises from the fact that the order of words in sentences matters. For example, an adjective's noun argument comes after the adjective (&quot;green eggs&quot;), whereas a prepositional phrase's noun phrase comes &lt;em&gt;before&lt;/em&gt; the prepositional phrases (&quot;green eggs with ketchup&quot;). In categorical terms, you want a (non-symmetric) monoidal category which is closed on the left and the right. So the type $A\setminus{}B$ is the type of a phrase which has type $B$, when it is preceded by an $A$ on the left, and $B/A$ is the type of a phrase which has type $B$ when succeeded by $A$ on the right, and the type $A \ast B$ is the type of a phrase made by concatenating something of type $A$ with something of type $B$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It turns out that Lambek grammars are equivalent to context free languages, though apparently this quite a difficult result -- showing CFGs are a subset of Lambek grammars is easy, but the other direction was only established in 1991 by Pentus.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A good exercise^H^H^Hpublication for the reader (ie, I haven't tried it, but think it would be cool to try) is to use Lambek calculus to reformulate &lt;a href=&quot;http://en.wikipedia.org/wiki/CYK_algorithm#Valiant.27s_algorithm&quot;&gt;Valiant's presentation of CYK parsing via boolean matrix multiplication&lt;/a&gt;, in categorical terms. As motivation, I quote from Lambek's 1958 paper &lt;a href=&quot;http://dx.doi.org/10.2307%2F2310058&quot;&gt;&lt;em&gt;The Mathematics of Sentence Structure&lt;/em&gt;&lt;/a&gt;:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;The calculus presented here is formally identical with a calculus constructed by G.D. Findlay and the present author for a discussion of canonical mappings in  linear and multilinear algebra.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="657" LastEditorUserId="657" LastEditDate="2015-03-17T12:06:21.273" LastActivityDate="2015-03-17T12:06:21.273" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="30847" PostTypeId="2" ParentId="30820" CreationDate="2015-03-17T11:16:07.080" Score="22" Body="&lt;p&gt;The number of occurrences of any fixed subgraph H in a planar graph G can be counted in O(n) time, even if H is disconnected. This, and several related results, are described in the paper &lt;a href=&quot;http://jgaa.info/accepted/99/Eppstein99.3.3.pdf&quot;&gt;Subgraph Isomorphism in Planar Graphs and Related Problems&lt;/a&gt; by David Eppstein of 1999; see Theorem 1. The paper indeed uses treewidth techniques.&lt;/p&gt;&#xA;" OwnerUserId="122" LastEditorUserId="25556" LastEditDate="2015-03-17T23:04:28.953" LastActivityDate="2015-03-17T23:04:28.953" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="30848" PostTypeId="2" ParentId="30820" CreationDate="2015-03-17T14:35:49.857" Score="21" Body="&lt;p&gt;Although Bart Jansen's answer solves the general case of subgraph counting, the problem of counting (or listing) all triangles in a planar graph (or more generally any graph of bounded arboricity) has been known to be linear time for much longer. See&lt;/p&gt;&#xA;&#xA;&lt;p&gt;C. Papadimitriou and M. Yannakakis, The clique problem for planar graphs, Inform.&#xA;Proc. Letters 13 (1981), pp. 131–133.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;and&lt;/p&gt;&#xA;&#xA;&lt;p&gt;N. Chiba and T.Nishizeki, Arboricity and subgraph listing algorithms, SIAM J. Comput.&#xA;14 (1985), pp. 210–223.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2015-03-17T14:35:49.857" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="30850" PostTypeId="1" CreationDate="2015-03-17T18:16:23.997" Score="8" ViewCount="183" Body="&lt;p&gt;I would like to know what is the maximum speed-up of algebraic computation when we work in the word RAM model.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This question is motivated by this theorem from &lt;a href=&quot;http://web.stanford.edu/~rrwill/mat-vec3.pdf&quot;&gt;Ryan's paper&lt;/a&gt;:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Theorem 1.2&lt;/strong&gt; Let $(R, +, \times)$ be a semiring on $K$ elements. For all $\epsilon ∈ (0, 1)$, every $n×n$ matrix $A$ over $R$ can be preprocessed in $O(n^{2+ε\log_2 K})$ time such that every subsequent matrix-vector multiplication can be performed in $O(n^2/(ε \log n)^2  )$ steps on a pointer machine or a $(\log n)$-word RAM, assuming operations in $R$ take constant time.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;For Matrix-vector multiplication over a field there is a lower bound by &lt;a href=&quot;http://www.ncbi.nlm.nih.gov/pmc/articles/PMC223871/&quot;&gt;Winograd&lt;/a&gt;  of $\Omega(n^{2})$ additional gates for an arithmetic circuit, which has the matrix and vector as input. But the theorem above says that there is an algorithm in the word RAM model that, with some preprocessing time, can multiply faster by a factor of $\log^{2}n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there any other example of an algebraic computation where a speed-up of more than $\log^{2}n$ or even more than a polylogarithmic factor can be achieved? &lt;/p&gt;&#xA;" OwnerUserId="12646" LastEditorUserId="6579" LastEditDate="2015-03-19T08:38:01.773" LastActivityDate="2015-03-19T08:38:01.773" Title="Speed-up of Boolean over Algebraic computation" Tags="&lt;ds.algorithms&gt;&lt;algebraic-complexity&gt;" AnswerCount="0" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="30851" PostTypeId="1" AcceptedAnswerId="30854" CreationDate="2015-03-18T00:06:45.640" Score="4" ViewCount="1527" Body="&lt;p&gt;I am reading a paper on privacy that says we can model something as an arbitrary probabilistic function from $X^M \to X^M$.  I'm trying to figure out what exactly that means.  I saw another paper that defined a probabilistic function as a function $\mathcal{F}:X \times Y \to [0, 1]$ that satisfied the condition $$\forall x \in X: \sum_{y \in Y} \mathcal{F}(x, y) \leq 1.$$  But that definition doesn't seem to make sense if the function can take on values in the space $X^M$ where $X$ is an arbitrary set of objects.  So what exactly are probabilistic functions?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks so much!&lt;/p&gt;&#xA;" OwnerUserId="32455" LastActivityDate="2015-03-18T19:17:53.747" Title="What is a probabilistic function and where can I learn more about them?" Tags="&lt;privacy&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="30853" PostTypeId="1" CreationDate="2015-03-18T11:15:21.293" Score="2" ViewCount="94" Body="&lt;p&gt;Consider the following function $$f_s: k \rightarrow \lvert \psi_k \rangle$$ &#xA;where $s,k$ are bit strings, and $\lvert \psi_k \rangle$ is a $n$-qubit state.&#xA;Assume the function is a one-to-one mapping.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given only $\big(f, k, \lvert \psi_k \rangle \big) $ is there a way to produce a (zero knowledge) proof $P$ that only verifies that $\lvert \psi_k \rangle$ has been generated from $k$, but not learn any more information about $\lvert \psi_k \rangle$ or $s$?&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Digression (to the classical world where factoring is difficult)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider a classical function $f_s: k \rightarrow p$&#xA;so a function $f$ does the following $f_p(q) = p*q*r*s$, where  $p,q,r,s$ are all large primes,&#xA;now given only $(f,q, n=p*q*r*s)$, one can easily check $q|n$, but cannot learn $p$ since that requires factoring $p*r*s$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am looking for something similar for the quantum regime.&lt;/p&gt;&#xA;" OwnerUserId="17325" LastEditorUserId="17325" LastEditDate="2015-03-18T20:59:32.620" LastActivityDate="2015-03-18T20:59:32.620" Title="Proofs to verify quantum states without revealing their description" Tags="&lt;quantum-computing&gt;&lt;quantum-information&gt;" AnswerCount="0" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="30854" PostTypeId="2" ParentId="30851" CreationDate="2015-03-18T12:19:17.077" Score="4" Body="&lt;p&gt;The definition you give is essentially the one you need. A probabilistic function from $X$ to $Y$ assigns to each $x\in X$ a &lt;em&gt;subdistribution&lt;/em&gt; of elements of $Y$ (rather than a single $y\in Y$). Such a subdistribution is a function $\delta:Y\to[0,1]$ such that&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\sum_{y\in Y}\delta(y)\leq 1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In other words, a probabilistic function $X\to Y$ is a function $f:X\to(Y\to [0,1])$, i.e. $f:X\times Y\to [0,1]$, such that for all $x\in X,$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\sum_{y\in Y}f(x,y)\leq 1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In your case, both domain and codomain are $X^M$; a probabilistic function from $X^M$ to $X^M$ then is a function $f:X^M\times X^M\to [0,1]$ such that for all $x\in X^M$,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\sum_{y\in X^M} f(x,y)\leq 1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The intended meaning of this is that the function still returns a single point when given some input, but this point is chosen randomly according to the relevant distribution. For example, if $M=2$, and $f(1,2) = \{(1,1)\mapsto 0.5,(2,2)\mapsto 0.5\}$ (all others being $0$), then when you call $f(1,2)$, you will get $(1,1)$ or $(2,2)$ each with probability $0.5$.&lt;/p&gt;&#xA;" OwnerUserId="5183" LastEditorUserId="5183" LastEditDate="2015-03-18T19:17:53.747" LastActivityDate="2015-03-18T19:17:53.747" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="30856" PostTypeId="1" CreationDate="2015-03-18T14:47:42.633" Score="1" ViewCount="358" Body="&lt;p&gt;The primary Impact i know would be that:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Polynomial Hierarchy collapses to Level 1. &#xA;NP=co-NP&#xA;NP=BPP&#xA;NP=PSPACE&#xA;BQP=NP&#xA;and so on..&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What are the attack directions it will open for settling P=NP (in the sense that suppose X=Y or X!=Y is proven P=NP or P!=NP). ?&lt;/p&gt;&#xA;" OwnerUserId="32463" LastEditorUserId="32463" LastEditDate="2015-03-18T17:24:01.787" LastActivityDate="2015-03-18T17:24:01.787" Title="What's the Impact if proven NP/co-NP=PSPACE on settling P=NP? The future directions it opens to settle/attack P=NP? Remaining classes left outside?" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;p-vs-np&gt;" AnswerCount="0" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="30858" PostTypeId="1" CreationDate="2015-03-18T18:10:57.013" Score="4" ViewCount="96" Body="&lt;p&gt;A common scenario is that one has a well-ordered universe, and one wishes to answer queries of the form &quot;how many elements are at most x?&quot;. If one has d elements, then one can pick logd thresholds in a geometric sequence, save information on the sets smaller than the thresholds, and be able to approximately answer such queries. The question below deals with a similar scenario but in which one has a bunch of overlapping sets in the universe, and one has to pick thresholds in each. The issue is that when the sets are overlapping one might want to introduce non-trivial dependencies between the thresholds in different sets.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have a well-ordered universe U of size m, and n (overlapping) subsets $S_1,...,S_n\subseteq U$, each of size $|S_i|=d$.&#xA;For a subset $S_j$ and a number $1\leq i\leq d$ let $S_j^{i}$ be the set of the i smallest elements in $S_j$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'd like to pick as few $S_j^i$ as possible and ensure the following property:&#xA;For any choice of $i_1,\ldots,i_n$ such that $S_{1}^{i_1}\cup...\cup S_n^{i_n}$ contains at least 10% of the elements in U, &#xA;there are $i_1'\leq i_1,...,i_n'\leq i_n$, such that we picked $S_1^{i_1'},\ldots,S_n^{i_n'}$, and $S_{1}^{i_1'}\cup...\cup S_n^{i_n'}$ contains at least 5% of the elements in U.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Clearly, one can take all $n\cdot d$ possible sets. Are $n\cdot \log d$ sets sufficient?&lt;/p&gt;&#xA;" OwnerUserId="1621" LastEditorUserId="1621" LastEditDate="2015-03-18T20:29:33.753" LastActivityDate="2015-03-18T20:29:33.753" Title="Thresholds for overlapping sets" Tags="&lt;co.combinatorics&gt;" AnswerCount="0" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="30860" PostTypeId="1" AcceptedAnswerId="30901" CreationDate="2015-03-18T19:05:19.630" Score="0" ViewCount="69" Body="&lt;p&gt;Question summary: what are the known efficient algorithms to find the intersections of 1-dimensional curves living on a 2-dimensional plane?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Detail: I have a set of 1-dimensional curves on a 2-dimensional plane. Each curve in reality is a set of points connected by straight lines (therefore more like a polygon), and is the numerical solution of a given differential equation. I want to find all the intersection points of the 1-dim curves.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here are what I tried so far.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Method 1. Use interpolating functions &amp;amp; root finding algorithms.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1.1 For each object C_n, cut it into subobjects C_(n, i) at inflection points of C_n, i.e. at dx/dy = 0 and at dy/dx = 0 when we consider the 2-dim plane as the x-y plane.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1.2 For any two subobjects C_(n, i) and C_(m, j) check if they have a common x- and y-domain. If they have, find interpolating function for each of them, y = f_(n, i)(x) and y = f_(m, j)(x), and find roots of f_(n, i)(x) - f_(m, j)(x) = 0.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Method 2. Use a hash table.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2.1 Consider the 2-dim plane as a hash table, where each element is a square bin of a small size, comparable to the resolution of the 1-dim curves.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2.2 Run along each C_n, and when it hits a bin at (i, j), record the hit in the table with (i, j) as a key and {n} as its element.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2.3 Retrieve keys with more than one element.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A Practical issue with Method 1 is there are many things to consider case-by-case when using interpolation and root-fiding algorithms, especially when there are nearly horizontal/vertical curves and when there are more than one root for a given pair of subobjects.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For Method 2, a big issue is that the physical size of the hash table gets big easily, for example I need about 10GB of RAM to deal with my current research project even at its elementary stage.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I suspect there should be previous studies for similar problems, but my background &amp;amp; research area is theoretical physics and I don't know much about such studies. I tried googling but was not successful so far.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On a side remark, I think that a generalization of this problem, i.e. finding intersections of numerically implemented n-dimensional objects in an m-dimensional space may be quite interesting, and I wonder if there is any previous study about such a problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thank you very much in advance.&lt;/p&gt;&#xA;" OwnerUserId="32466" LastActivityDate="2015-03-23T04:41:10.510" Title="Finding intersections of numerically implemented 1-dimensional curves on a 2-dimensional plane" Tags="&lt;ds.algorithms&gt;&lt;computational-geometry&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="30862" PostTypeId="2" ParentId="29383" CreationDate="2015-03-19T15:49:14.767" Score="9" Body="&lt;p&gt;The answer is an unequivocal yes. Quantum computers would definitely still be useful.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Quantum computers are not oracles for BQP, but rather devices which process quantum states, and can communicate using quantum states. Just as the ability to make non-deterministic queries is fundamentally more powerful than the ability to make purely deterministic queries, independent of the status of P vs NP (and indeed this is the root of the oracle separations), the ability to make quantum queries and to communicate using quantum states is fundamentally more powerful than the purely classical counterpart.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This leads to advantages in a wide range of applications&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;The ability to query oracles or external databases in superposition provides a provable separation between quantum computers and classical computers in terms of query complexity.&lt;/li&gt;&#xA;&lt;li&gt;There are a variety of communication tasks which see drastic reductions in communication cost which quantum communication is used.&lt;/li&gt;&#xA;&lt;li&gt;Quantum information processing allows for information theoretically secure protocols for a wider range of problems than are classically possible. Certainly QKD does not require a universal quantum computer to be implemented, but many protocols for other tasks do.&lt;/li&gt;&#xA;&lt;li&gt;Pre- and post-processing of large entangled quantum states allows you to violate the shot noise limit in metrology, resulting in more precise measurements. &lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Aside from the complexity arguments, there is another practical reason to want quantum computers. Much of the data processed on classical computers these days is derived from sensing the natural world (for example via the CCD in a digital camera). However, such measurements necessarily throw away some information about the system in order to render the measurement result as a classical bit string (for example collapsing spatial superpositions of photons), and it is not always clear which information will later be considered the most important when initially recording the data. It is, therefore, reasonable to believe that the ability to store and process quantum states directly, rather than collapsing them in some basis prior to processing will become increasingly desirable.&lt;/p&gt;&#xA;" OwnerUserId="204" LastActivityDate="2015-03-19T15:49:14.767" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="30863" PostTypeId="2" ParentId="30817" CreationDate="2015-03-19T19:51:04.317" Score="5" Body="&lt;p&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/a/2818/775&quot;&gt;As pointed out by David Eppstein&lt;/a&gt; when I asked a related question a while ago: you can do that in polynomial time. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The idea is to find a perfect matching $M$ (which exists and can be found in polynomial time since your graph is cubic and bridgeless), and then to use the edges of $M$ as middle edges of the $P_4$'s.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To complete the construction, remove the edges of $M$ and orient the remaining cycles arbitrarily. Then attach to each edge $\{u, v\}$ of $M$ the arcs going out from $u$ and $v$, and you are done.&lt;/p&gt;&#xA;" OwnerUserId="775" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2015-03-19T19:51:04.317" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="30871" PostTypeId="1" AcceptedAnswerId="30889" CreationDate="2015-03-20T08:09:49.970" Score="4" ViewCount="163" Body="&lt;p&gt;Suppose that several agents need to place points (one per&#xA;agent) on the interval $[0,1]$. An agent's goal is to maximize the&#xA;volume of the Voronoi cell that contains his point. When $n$ agents must&#xA;place their points sequentially, is an optimal strategy known?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;From what I was able to glean from the literature so far, it appears I am asking for the Stackelberg solution to an $n$-player Hotelling's game on a segment.&lt;/p&gt;&#xA;" OwnerUserId="1746" LastActivityDate="2015-03-21T18:52:14.010" Title="Stackelberg solution to $n$-player Hotelling's game on a segment" Tags="&lt;gt.game-theory&gt;" AnswerCount="1" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="30874" PostTypeId="1" CreationDate="2015-03-20T13:01:07.340" Score="12" ViewCount="571" Body="&lt;p&gt;It is known that P ⊆ RP ⊆ NP and P ⊆ co-RP ⊆ co-NP. In an oracle world:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;If NP=co-NP, does RP=co-RP=ZPP follow automatically or does it require additional conditions? &lt;/li&gt;&#xA;&lt;li&gt;If NP=PSPACE, does RP=co-RP=ZPP follow automatically or does it require additional conditions? &lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;In both cases what additional constraints are required to prove RP=co-RP=ZPP if the conditions above are not sufficient?&lt;/p&gt;&#xA;" OwnerUserId="32463" LastEditorUserId="6959" LastEditDate="2015-03-20T16:36:08.380" LastActivityDate="2015-03-20T16:36:08.380" Title="Impact of proof of NP=co-NP on RP vs co-RP Question?" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;relativization&gt;" AnswerCount="0" CommentCount="3" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="30877" PostTypeId="1" CreationDate="2015-03-20T21:02:17.390" Score="0" ViewCount="48" Body="&lt;p&gt;I'm currently reading &quot;Causality: Models, Reasoning, and Inference&quot; by Judea Pearl. Early on, he states that the development assumes that there are no certain entailments, no 1 or 0 probabilities -- that every assignment to variables in a causal model has nonzero probability.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm interested in applying some of these ideas to program analysis, where perfect entailment is the norm, and most combinations of assignments are impossible. How much of the theory of causality still applies in this scenario?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One interesting note is that he actually violates his own rule at one point when he talks about modelling a STRIPS-like planning language, and mentions in passing assigning 1 or 0 probabilities in that case.&lt;/p&gt;&#xA;" OwnerUserId="9522" LastActivityDate="2015-03-20T21:02:17.390" Title="Establishing causality under conditions of certainty" Tags="&lt;pr.probability&gt;&lt;st.statistics&gt;&lt;program-analysis&gt;" AnswerCount="0" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="30878" PostTypeId="1" AcceptedAnswerId="30879" CreationDate="2015-03-20T22:08:16.763" Score="3" ViewCount="909" Body="&lt;p&gt;I am just trying to make the final link of Shor's algorithm clear. Here $r$ is the order of $x$ modulo $N$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We have a number $\psi$, which for a rational number $\dfrac{s}{r}$ satisfies&#xA;\begin{equation}&#xA;\Big| \dfrac{s}{r} - \psi \Big| \leq \dfrac{1}{2r^{2}}&#xA;\end{equation}&#xA;which means that if $\psi$ has continued fraction algorithm $[a_0,\dots,a_N]$ then $\dfrac{s}{r}$ has continued fraction $[a_0,\dots,a_k]$ for $k \leq N$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The book just says that then applying the continued fractions algorithm to $\psi$ we obtain $r'$ which is our estimate for $r$. I'm not too sure how exactly we arrive at this value of $r'$. Is it just that once we obtain our expansion $\psi = [a_0,\dots,a_N]$, we obtain a value $r'_{m}$ for each of the $m^{th}$ convergent expansions and see which one is correct?&lt;/p&gt;&#xA;" OwnerUserId="32489" LastActivityDate="2020-07-07T05:28:09.213" Title="Continued Fraction Algorithm in Shor's Algorithm" Tags="&lt;quantum-computing&gt;&lt;factoring&gt;" AnswerCount="2" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="30879" PostTypeId="2" ParentId="30878" CreationDate="2015-03-21T00:17:59.633" Score="6" Body="&lt;p&gt;Yes, that's exactly the idea.  It is inspired by the following fact:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Theorem.&lt;/strong&gt; Let $\psi$ be an irrational number, and suppose $|\psi - s/r| \le 1/2r^2$.  Then $s/r$ is one of the convergents of the continued fraction expansion of $\psi$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In other words, every &quot;very good&quot; approximation to $\psi$ can be obtained by computing the continued fraction representation of $\psi$ and looking at one of its convergents.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;In the specific situation you mentioned, we know $\psi$, and we don't know $s$ or $r$.  However, we know that there exist $s,r$ such that $|\psi - s/r| \le 1/2r^2$.  It follows from the theorem that $s/r$ must be one of the convergents of the continued fraction of $\psi$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Therefore, if we iterate through the convergents of the continued fraction for $\psi$, this is guaranteed to find $s,r$.  Moreover, this procedure is efficient: you'll only have to look at $O(\lg r)$ convergents, so the running time will be polynomial in $\lg N$.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;See also &lt;a href=&quot;https://math.stackexchange.com/q/1139381/14578&quot;&gt;https://math.stackexchange.com/q/1139381/14578&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="5038" LastEditorUserId="-1" LastEditDate="2017-04-13T12:19:19.363" LastActivityDate="2015-03-21T00:17:59.633" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="30880" PostTypeId="1" CreationDate="2015-03-21T00:38:17.387" Score="1" ViewCount="133" Body="&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Can someone kindly help clarify as to exactly what is the generally accepted definition of the &amp;quot;sparsest cut&amp;quot; problem for a graph?&lt;/p&gt;&#xA;&lt;p&gt;(Isn't the set which achieves the Cheeger constant for a graph, the same set which would be said to have the &amp;quot;sparsest cut&amp;quot;? &lt;strong&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Cheeger_constant_%28graph_theory%29&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://en.wikipedia.org/wiki/Cheeger_constant_%28graph_theory%29&lt;/a&gt;&lt;/strong&gt;)&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;I guess one can think of the ARV algorithm to be giving a polynomial time &lt;span class=&quot;math-container&quot;&gt;$O(\sqrt{log (n)})$&lt;/span&gt;-approximation algorithm to get the Cheeger constant. Right?&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Now consider the quantity, &lt;span class=&quot;math-container&quot;&gt;$N-cut = \sum_{i=1}^{k} \frac { E(S_i,V /\ S_i)}{Vol(S_i) }$&lt;/span&gt; where &lt;span class=&quot;math-container&quot;&gt;$S_i$&lt;/span&gt; are &lt;span class=&quot;math-container&quot;&gt;$k$&lt;/span&gt; disjoint sets partitioning the graph and &lt;span class=&quot;math-container&quot;&gt;$Vol(S_i)$&lt;/span&gt; is the sum of the degrees of the vertices in &lt;span class=&quot;math-container&quot;&gt;$S_i$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Does the ARV algorithm automatically also give an approxmation algorithm for finding the sets &lt;span class=&quot;math-container&quot;&gt;$S_i$&lt;/span&gt; which will give the lowest value of N-cut? (if not, then what is the best known answer to this?)&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;hr /&gt;&#xA;&lt;p&gt;This paper I believe gives the best known approximation algorithm to the Cheeger constant, &lt;a href=&quot;http://www.cs.princeton.edu/%7Earora/pubs/AHK.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://www.cs.princeton.edu/~arora/pubs/AHK.pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="25542" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2015-03-21T00:38:17.387" Title="About the sparsest-cut question" Tags="&lt;graph-algorithms&gt;&lt;complexity-classes&gt;&lt;spectral-graph-theory&gt;&lt;spectral&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="30881" PostTypeId="1" CreationDate="2015-03-21T10:37:23.887" Score="5" ViewCount="334" Body="&lt;p&gt;Let $\phi$ be CNF formula with $n$ variables and $m$ clauses.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am looking for a reduction is $\phi$ satisfiable to a problem&#xA;on a planar graph $G$ with as few vertices as possible.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The majority of reductions I have seen use &quot;crossing gadget&quot;,&#xA;which replaces edge crossing by a planar graph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So far the best reference is $|V(G)|=m^2$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The motivation is that the treewidth of planar graphs&#xA;is at most $4.9 \sqrt{|V(G)|}$ and this gives subexponential&#xA;complexity for problems exponential in the treewidth like&#xA;Independent Set.&lt;/p&gt;&#xA;" OwnerUserId="22348" LastActivityDate="2015-03-21T12:19:38.853" Title="Reduction SAT to a problem on a planar graph with as few vertices as possible" Tags="&lt;graph-theory&gt;&lt;sat&gt;&lt;reductions&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="30882" PostTypeId="2" ParentId="30881" CreationDate="2015-03-21T12:19:38.853" Score="9" Body="&lt;p&gt;You are right that improved reductions from CNF-SAT to any one of various planar graph problems would give improved algorithms for CNF-SAT (via graph algorithms with runtimes exponential in treewidth; such algorithms exist for many graph problems). If you could get $|V(G)| = o(m^2)$ in the reduction you mention, this would imply that the Exponential Time Hypothesis (ETH) is false. This is well-appreciated, yet it has not led to any improvements on running times for CNF-SAT (as far as I know).  For more on how ETH has been used to classify the difficulty of planar (and non-planar) graph problems, see e.g. &lt;a href=&quot;http://www.win.tue.nl/~nikhil/courses/2013/2WO08/eth-lowerbounds.pdf&quot;&gt;this survey&lt;/a&gt; of Lokshtanov, Marx, and Saurabh.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As for reducing the constant in such reductions, achieving $|V(G)| = c m^2$ for $c$ as small as possible, I don't know how much effort has been devoted to this.&lt;/p&gt;&#xA;" OwnerUserId="223" LastActivityDate="2015-03-21T12:19:38.853" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="30883" PostTypeId="1" AcceptedAnswerId="30929" CreationDate="2015-03-21T14:09:20.187" Score="27" ViewCount="803" Body="&lt;p&gt;Some NP-hard problems which are exponential on general&#xA;graphs are subexponential on planar graphs because the&#xA;treewidth is at most $4.9 \sqrt{|V(G)|}$ and they are exponential&#xA;in the treewidth.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Basically I am interested if there are subexponential&#xA;algorithms for PLANAR SAT which is NP-complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $\phi$ be a CNF formula on variables $x_i$ and the&#xA;$i$-th clause is $c_i$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The &lt;a href=&quot;https://dspace.library.uvic.ca:8443/bitstream/handle/1828/4137/Churchley_Ross_MSc_2012.pdf?sequence=3&amp;amp;isAllowed=y&quot;&gt;incidence graph p. 5&lt;/a&gt;&#xA;$G$ of $\phi$ is on vertices $V(G)=\{x_i\} \cup \{c_i\}$&#xA;and edges $(x_i,c_i)$ iff $x_i \in c_i$ or $\lnot x_i \in c_i$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\phi$ is in PLANAR SAT if the incidence graph is planar.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Are there subexponential algorithms for PLANAR SAT in terms of $\phi$?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I don't exclude the possibility reduction SAT to PLANAR SAT&#xA;to make this possible, though SAT still to be exponential&#xA;and $\phi$ is subexponential because of the increase in the size.&lt;/p&gt;&#xA;" OwnerUserId="22348" LastActivityDate="2015-03-26T19:51:49.843" Title="Are there subexponential algorithms for PLANAR SAT known?" Tags="&lt;graph-theory&gt;&lt;sat&gt;&lt;reductions&gt;" AnswerCount="1" CommentCount="6" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="30888" PostTypeId="1" AcceptedAnswerId="30892" CreationDate="2015-03-21T18:35:51.230" Score="11" ViewCount="632" Body="&lt;p&gt;The inverse Ackermann function occurs often when analyzing algorithms. A great presentation of it is here: &lt;a href=&quot;http://www.gabrielnivasch.org/fun/inverse-ackermann&quot; rel=&quot;nofollow&quot;&gt;http://www.gabrielnivasch.org/fun/inverse-ackermann&lt;/a&gt;. &#xA;$$\alpha_1(n) = [n/2]$$&#xA;$$\alpha_2(n) = [\log_2 n]$$&#xA;$$\alpha_3(n) = \log^* n$$&#xA;$$...$$&#xA;$$\alpha_k(n) = 1 + \alpha_k(\alpha_{k−1}(n))$$ &#xA;and&#xA;$$\alpha(n) = \min\{k: \alpha_k(n)\leq 3\}$$&#xA;[Notation: [x] means that we round up x to the nearest integer, while log∗ is the iterated log function discussed here: &lt;a href=&quot;http://en.wikipedia.org/wiki/Iterated_logarithm&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/Iterated_logarithm&lt;/a&gt; ]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is: What is the function&#xA;$$k(n) = \min \{k: \alpha_k(n) \leq k\}$$&#xA;Clearly $1\ll k(n) \leq \alpha(n)$. What tighter bounds can one give on $k(n)$? Is $k(n) \leq \log\alpha(n)$?&lt;/p&gt;&#xA;" OwnerUserId="1621" LastEditorUserId="969" LastEditDate="2015-03-25T20:12:03.320" LastActivityDate="2015-03-25T20:12:03.320" Title="Fun with inverse Ackermann" Tags="&lt;ds.algorithms&gt;&lt;ds.data-structures&gt;&lt;bounds&gt;" AnswerCount="2" CommentCount="7" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="30889" PostTypeId="2" ParentId="30871" CreationDate="2015-03-21T18:52:14.010" Score="4" Body="&lt;p&gt;This game has been studied in&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Hee-Kap Ahn, Siu-Wing Cheng, Otfried Cheong, Mordecai Golin, René van Oostrum:&lt;br&gt;&#xA;  &quot;Competitive facility location: the Voronoi game&quot;&lt;br&gt;&#xA;  Theoretical Computer Science 310, 2004, pp 457-467&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;There also are lots of follow-up works, as for instance&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Sayan Bandyapadhyay, Aritra Banik, Sandip Das, Hirak Sarkar:&lt;br&gt;&#xA;  &quot;Voronoi game on graphs&quot;&lt;br&gt;&#xA;  Theoretical Computer Science 562, 2015, pp 270-282&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="31660" LastActivityDate="2015-03-21T18:52:14.010" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="30890" PostTypeId="2" ParentId="30888" CreationDate="2015-03-21T20:53:11.070" Score="0" Body="&lt;p&gt;This is incorrect; see the comments.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;s&gt;A function very close to this one was called &quot;$\alpha^*$&quot; and used in &lt;a href=&quot;http://web.eecs.umich.edu/~pettie/papers/Deque.pdf&quot; rel=&quot;nofollow&quot;&gt;Pettie's &quot;Splay Trees, Davenport-Schinzel Sequences, and the Deque Conjecture&quot;&lt;/a&gt;, in which he showed that &quot;$n$ deque operations [in a splay tree] take only $O(n\alpha^*(n))$ time,&#xA;where $\alpha^*(n)$ is the minimum number of applications of the inverse-Ackermann function mapping $n$ to a constant.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This function is very slow growing, and is slower growing than $\log \alpha(n)$. Consider the function $f:\mathbb{N} \to \mathbb{N}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;f(n) = \cases{1 &amp;amp; n = 0\\2^{f(n-1)} &amp;amp; n &amp;gt; 0}&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This function is roughly as fast growing as $A(4,n)$, so is more slowly growing than $A'(n) = A(n,n)$. Now I'll evaluate $\log \alpha(n)$ and $\alpha^*(n)$ on $A'(f(n))$:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$ \log \alpha(A'(f(n))) = \log f(n) = f(n-1)$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\alpha^*(A'(f(n))) = 1 + \alpha^*(f(n)) &amp;lt; 1 + \alpha^*(A'(n)) &amp;lt; 2 + \alpha^*(n)$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since $f(n-1) \in \omega(2+\alpha^*(n))$, $\log \alpha(n)$ is much faster growing than $\alpha^*(n)$.&lt;/s&gt;&lt;/p&gt;&#xA;" OwnerUserId="43" LastEditorUserId="43" LastEditDate="2015-03-21T21:37:45.100" LastActivityDate="2015-03-21T21:37:45.100" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="30892" PostTypeId="2" ParentId="30888" CreationDate="2015-03-21T23:49:53.253" Score="12" Body="&lt;p&gt;Let $A_k$ be the inverse of $\alpha_k$. $A_1(x) = 2x, A_2(x) = 2^x, \dots$. I claim that $k^{-1}(x) = A_x(x)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since $x = \alpha_x(A_x(x))$, and since $\forall z, \alpha_y(z) &amp;gt; \alpha_x(z)$, $\alpha_y(A_x(x)) &amp;gt; \alpha_x(A_x(x)) = x$. As a result $k(A_x(x)) = x$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now consider the value of $\alpha(k^{-1}(n)) = \alpha(A_n(n))$. By definition of $\alpha$, this is $\min_z \{\alpha_z(A_n(n)) \leq 3\}$. We know that $\alpha_n(A_n(n)) = n$, so $\alpha(A_n(n)) &amp;gt; n$. I claim that $\alpha(A_n(n)) \leq n+2$. $\alpha_{n+1}(A_n(n)) = 1+\alpha_{n+1}(n)$. Now $\alpha(n) = \min_z\{\alpha_z(n) \leq 3\}$, so $\alpha_{\alpha(n)}(n) \leq 3$. Since $n+1 &amp;gt; \alpha(n)$, $\alpha_{n+1}(n) \leq 3$, so $\alpha_{n+1}(A_n(n)) \leq 4$. Thus, $\alpha_{n+2}(A_n(n)) = 1 + \alpha_{n+2}(\alpha_{n+1}(n)) \leq 1 + \alpha_{n+2}(4) \leq 3$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, we have $n &amp;lt; \alpha(k^{-1}(n)) \leq n+2$, so $k$ and $\alpha$ are essentially equal.&lt;/p&gt;&#xA;" OwnerUserId="43" LastActivityDate="2015-03-21T23:49:53.253" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="30894" PostTypeId="1" AcceptedAnswerId="30895" CreationDate="2015-03-22T18:30:02.547" Score="8" ViewCount="481" Body="&lt;p&gt;Let $X$ be an NP-complete graph problem. Suppose $X$ is solvable in polynomial time on graphs of bounded diameter. In other words, $X$ parameterized by diameter is in XP. (Recall a problem is in XP if it can be solved in $n^{f(k)}$ time). Does this imply solvability in XP time for other interesting parameters?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If so, is there maybe even some more or less &quot;standard&quot; list or web of parameters and how they relate documented somewhere?&lt;/p&gt;&#xA;" OwnerUserId="5693" LastActivityDate="2015-03-29T18:15:31.250" Title="Implications of a problem being in XP when parameterized by diameter" Tags="&lt;graph-theory&gt;&lt;parameterized-complexity&gt;&lt;fixed-parameter-tractable&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="30895" PostTypeId="2" ParentId="30894" CreationDate="2015-03-22T20:03:33.870" Score="10" Body="&lt;p&gt;I think Figure 1 (page 4) of the paper &quot;&lt;a href=&quot;http://fpt.akt.tu-berlin.de/publications/fpt-races.pdf&quot;&gt;New Races in Parameterized Algorithmics&lt;/a&gt;&quot; of Komusiewicz and Niedermeier is what you are looking for.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In particular, being in XP for the parameter diameter implies being in XP for parameters: min dominating set, max independent set, minimum clique cover, distance to cograph, distance to co-cluster, distance to clique, distance to cluster, vertex cover, and cluster editing.&lt;/p&gt;&#xA;" OwnerUserId="21460" LastActivityDate="2015-03-22T20:03:33.870" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="30896" PostTypeId="1" AcceptedAnswerId="30904" CreationDate="2015-03-22T20:05:01.953" Score="10" ViewCount="989" Body="&lt;p&gt;Most type theories that I'm aware of are predicative by which I mean that&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;Void : Prop&#xA;Void = (x : Prop) -&amp;gt; x&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;isn't well-typed in most theorem provers as this pi type belongs to the same universe as &lt;code&gt;Prop&lt;/code&gt; and it isn't the case that &lt;code&gt;Prop : Prop&lt;/code&gt;. This makes them predicative and disallows impredicative definitions like the above. However, an awful lot of &quot;blackboard languages&quot; such as System F or CoC are in fact impredicative. In fact, this impredicativity is vital to defining most of the constructs not included primitively in the language.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is why would one wish to give up impredicativity given it's power in defining logical constructs? I've heard a couple people remark that impredicativity screws up &quot;computation&quot; or &quot;induction&quot; but I'm having trouble finding a concrete explanation.&lt;/p&gt;&#xA;" OwnerUserId="27265" LastEditorUserId="27265" LastEditDate="2015-03-22T20:12:20.603" LastActivityDate="2015-03-24T21:25:02.150" Title="Ramification of An Impredicative Type Theory" Tags="&lt;lo.logic&gt;&lt;type-theory&gt;" AnswerCount="3" CommentCount="9" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="30898" PostTypeId="2" ParentId="30896" CreationDate="2015-03-22T21:04:30.833" Score="10" Body="&lt;p&gt;One dimension is type inference. System F's type inference for example is not decidable, but some its predicative fragments  have decidable (partial) type inference.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another dimension is consistency as a logic. Distinguished thinkers have historically felt a bit queasy about having impredicative foundations of mathematics. After all, it's a form of circular reasoning. I think H. Weyl might have been the first or, one of the first, who tried to reconstruct as much of mathematics as possible in a predicative way ... just to be on the safe side. We have learned that the  circularities of impredicativity are not problematic in classical mathematics, in the sense that no contradictions have ever been derived from 'tame' impredicative definitions.  Over time, we learned to trust them.  Note that this (absence of paradoxa) is an &lt;strong&gt;empirical&lt;/strong&gt; observation! However, much of the development of proof theory, with its weird ordinal constructions has as ultimate goal the wish to build up all of mathematics 'from below', i.e. without impredicative definitions. This programme is not completed. In recent years, interest in predicative foundations of mathematics has shifted from worries about paradoxa to the computational content of proofs, which interesting for various reasons. Turns out that impredicative definitions make it difficult to extract computational content.&#xA;Another angle in the worry about consistency comes from the Curry-Howard tradition. Martin-L&amp;ouml;f's original type theory was impredicative ... and unsound. Following that shock, he proposed only predicative systems, but combined with inductive data types to regain much of impredicativity's power. &lt;/p&gt;&#xA;" OwnerUserId="898" LastEditorUserId="898" LastEditDate="2015-03-24T21:25:02.150" LastActivityDate="2015-03-24T21:25:02.150" CommentCount="24" ContentLicense="CC BY-SA 3.0" />
  <row Id="30900" PostTypeId="2" ParentId="30742" CreationDate="2015-03-23T02:54:13.580" Score="11" Body="&lt;p&gt;I think the following should answer your questions, even though it's not exactly in the same order.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The original formulation of the small set expansion conjecture states that, analogously to the Unique Games Conjecture, for every $\epsilon &amp;gt;0$ there exists $\delta&amp;gt;0$ so that it is NP-hard to determine whether in a graph $G$ it's the &quot;YES&quot; case where there exists a $\delta$-sized set with expansion less than $\epsilon$ or it's the &quot;NO&quot; case where every $\delta$-sized set has expansion at least $1-\epsilon$. The paper of Raghavendra, Steuerer, and Tulsiani &lt;a href=&quot;https://www.cs.cornell.edu/~dsteurer/papers/ssereductions.pdf&quot;&gt;https://www.cs.cornell.edu/~dsteurer/papers/ssereductions.pdf&lt;/a&gt; showed that this is equivalent to the case where $\epsilon = O(\log (1/\delta))$ and in fact the case where in the NO case, for every $\delta' \geq \delta$, sets of size $\delta'$ have at least the same expansion as they would in the &quot;$\epsilon$-noisy Gaussian graph&quot; (see the paper for the precise statement).  The reason for the relation $\epsilon = O(\log (1/\delta))$ is because this is the relation between those parameters in the Gaussian noise graph. This result of Raghavendra et al can be thought of as the small-set expansion analog for the paper of Khot, Kindler, Mossell and O'Donnell who showed a similar result for unique games, giving a very precise relation between the parameters $1/\delta$ (which in the unique games setting is known as the alphabet size) and $\epsilon$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The result you mention discussed in my lecture notes is from Section 8 in my paper with Brandao, Harrow, Kelner, Steurer and Zhou ( &lt;a href=&quot;https://www.cs.cornell.edu/~dsteurer/papers/hypercontract.pdf&quot;&gt;https://www.cs.cornell.edu/~dsteurer/papers/hypercontract.pdf&lt;/a&gt; ). What we show there, roughly speaking, is that a graph is a small set expander if and only if the span of eigenvectors corresponding to low eigenvalues of its Laplacian does not contain an &quot;analytically sparse&quot; vector. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The intuition is the following: consider the following two extremes:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) A random vector $w$. In this case, the distribution of entries of $w$ is approximately the Gaussian distribution, and so this satisfies that $\mathbb{E}_i w_i^4 = O(\mathbb{E}_i w_i^2)^2$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) A vector $w$ that is the characteristic vector of a set of measure $\delta$ (i.e. it has $1$ in the coordinates belonging to the set, and $0$ in the others). In this case, $\mathbb{E}_i w_i^4 = \delta \gg \delta^2 = (\mathbb{E}_i w_i^2)^2$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, roughly speaking, the subspace $W$ corresponding to eigenvalues smaller than $\epsilon$ of the Laplacian corresponds to set which have expansion at most $\epsilon$ in the graph. So, if there exists a $\delta$-sized set with such expansion then there would be a vector $w$ (namely the projection of the characteristic vector of this set to $W$) with $\mathbb{E}_i w_i^4 \gg (\mathbb{E}_i w_i^2)^2$. The other direction (which is more challenging to prove but turns out to be true) is that if there is a vector $w$ with this property then we can also find a set with $o(1)$ measure with not too good expansion.&lt;/p&gt;&#xA;" OwnerUserId="1202" LastActivityDate="2015-03-23T02:54:13.580" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="30901" PostTypeId="2" ParentId="30860" CreationDate="2015-03-23T04:41:10.510" Score="1" Body="&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Sweep_line_algorithm&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/Sweep_line_algorithm&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Or open any standard book on Computational Geometry).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For practical implemented algorithms, see CGAL &lt;a href=&quot;http://www.cgal.org/&quot; rel=&quot;nofollow&quot;&gt;http://www.cgal.org/&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If your main problem is numerical issues, then this can be challenging in practice. A lot of practical work on this problem was done by Dan Halperin in Tel-Aviv University. &lt;/p&gt;&#xA;" OwnerUserId="9594" LastActivityDate="2015-03-23T04:41:10.510" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="30903" PostTypeId="1" CreationDate="2015-03-23T22:03:00.833" Score="11" ViewCount="558" Body="&lt;p&gt;When I look at Earley parsing, it looks very elegant, and I wonder why GLR techniques become popular? Does anyone know what was wrong with Earley parsing that Tomita created GLR?&#xA;Performance? Any publications on these discussion is highly appreciated.&lt;/p&gt;&#xA;" OwnerUserId="22893" LastActivityDate="2018-11-01T05:12:50.353" Title="Why Tomita created GLR and didn't use Earley?" Tags="&lt;parsing&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="30904" PostTypeId="2" ParentId="30896" CreationDate="2015-03-23T22:26:25.967" Score="12" Body="&lt;p&gt;I'm going to elaborate my comments into an answer. The origins of predicative type theory are almost as old as type theory itself, since one of Russel's motivations was to ban &quot;circular&quot; definitions which were identified as part of the source of the XIXth century inconsistencies and paradoxes. Thierry Coquand gives an enlightened overview &lt;a href=&quot;http://plato.stanford.edu/entries/type-theory/#3&quot;&gt;here&lt;/a&gt;. In this theory, predicates over a &quot;level&quot; or type, belong to the types of the &quot;next&quot; level, where there is an infinite (countable) number of levels.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;While Russel's predicative hierarchy was (apparently) sufficient to dismiss the known paradoxes, it turned out to be very difficult to use as a foundational system. In particular, defining even something as simple as the real number system was extremely difficult, and so Russel postulated an axiom, the &lt;a href=&quot;http://en.wikipedia.org/wiki/Axiom_of_reducibility&quot;&gt;Axiom of Reducibility&lt;/a&gt; which postulated that all levels were &quot;reduced&quot; to one. Needless to say, this was not a satisfactory development.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, contrary to the &quot;harmful&quot; impredicative statements (like unrestricted comprehension), this axiom did not seem to introduce any inconsistencies. The subsequent formulations of foundational theories (&lt;a href=&quot;http://plato.stanford.edu/entries/type-theory-church/&quot;&gt;simple type theory&lt;/a&gt;, &lt;a href=&quot;http://en.wikipedia.org/wiki/Zermelo_set_theory&quot;&gt;Zermelo's theory of sets&lt;/a&gt;) accepted them wholesale, making families of predicates (quantifying over possibly the whole universe of sets), predicates at the same level.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Circa 1971, Martin-Löf introduced dependent type theory in which both this principle and the further axiom &lt;code&gt;Type : Type&lt;/code&gt; hold. This system turned out to be inconsistent for subtle reasons: the naive Russel paradox can not be played out (in a straightforward manner), but a clever encoding nevertheless allows a contradiction to be found. This prompted a crisis of faith similar to that of Russel, resulting in the predicative type theory with universes we know and love.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is a way to repair the theory to allow &quot;innocent&quot; impredicativity &lt;em&gt;a la&lt;/em&gt; Zermelo set theory, resulting in type theories like the Calculus of Constructions, but the damage was done, and the &quot;Swedish school&quot; of type theory tends to reject impredicativity.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Several points:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;What does this have to do with intuitionistic mathematics? The answer is not much. At the turn of the XXth century, mathematicians tended to conflate the use of circular/impredicative principles with non-constructive reasoning (the intuition being that impredicative reasoning seems to assume a &lt;em&gt;pre-existing&lt;/em&gt; mathematical universe, as does uses of the excluded middle). However, there are perfectly intuitionistic impredicative theories (like &lt;a href=&quot;http://plato.stanford.edu/entries/set-theory-constructive/&quot;&gt;IZF&lt;/a&gt;). People interested in intuitionism still tend to be interested in predicativism for some reason (I'm guilty of this, of course).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;What &lt;em&gt;can&lt;/em&gt; you do in predicative mathematics? As Martin points out in his answer, &lt;a href=&quot;http://en.wikipedia.org/wiki/Hermann_Weyl#Foundations_of_mathematics&quot;&gt;Hermann Weyl&lt;/a&gt; (not to be confused with Andre Weil) started a program which tried to explore the expressive power of predicative systems, taking as starting point that predicative systems were of expressive strength between &lt;a href=&quot;http://en.wikipedia.org/wiki/Peano_axioms&quot;&gt;Peano Arithmetic&lt;/a&gt; and &lt;a href=&quot;http://en.wikipedia.org/wiki/Second-order_arithmetic&quot;&gt;Second Order Arithmetic&lt;/a&gt;, which is pretty much agreed to be impredicative by most standards (and is comparable to System F on the type theory side). The program was later dubbed &quot;reverse mathematics&quot; as it tried to classify the strength of &lt;em&gt;known&lt;/em&gt; mathematical theorems in terms of the axioms &lt;em&gt;required&lt;/em&gt; to prove them (the reverse of the usual approach). The &lt;a href=&quot;http://en.wikipedia.org/wiki/Reverse_mathematics&quot;&gt;wikipedia page&lt;/a&gt; give a good overview; the program was quite successful, in that most of XIXth century mathematics can easily be accommodated in very weak systems. It is still an open question whether this program can scale to more recent results in, say, higher category theory (the suspicion is that the answer is &quot;yes, with great effort&quot;).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="3984" LastActivityDate="2015-03-23T22:26:25.967" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="30905" PostTypeId="2" ParentId="14323" CreationDate="2015-03-24T01:04:28.947" Score="1" Body="&lt;p&gt;To add on &lt;a href=&quot;https://cstheory.stackexchange.com/a/14324/32515&quot;&gt;Andrej&lt;/a&gt;'s answer, consider two strings &quot;1234567890&quot; and &quot;0123456789&quot;. Attempt to convert one into the other. One takes 2 operations (namely, insert and delete) and the other takes 10 (substitution only). Can you figure out which is which?&lt;/p&gt;&#xA;" OwnerUserId="32515" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2015-03-24T01:04:28.947" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="30906" PostTypeId="1" AcceptedAnswerId="30913" CreationDate="2015-03-24T04:54:54.270" Score="6" ViewCount="146" Body="&lt;p&gt;In &lt;a href=&quot;http://research.microsoft.com/pubs/77673/hs-parity-monomial_SIAM.pdf&quot;&gt;Feldman-Gopalan-Khot-Ponnuswami 06&lt;/a&gt; the authors show that agnostically learning parities reduces to learning parities with random classification noise. They also remark (among other things) that learning conjunctions in this model is NP-hard. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Though I can't remember the source right now, I also recall that a random projection argument gives a reduction from learning parities with malicious noise to learning parities with uniform random noise.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a reduction from learning conjunctions with malicious noise to learning conjunctions with random noise?&lt;/p&gt;&#xA;" OwnerUserId="7091" LastActivityDate="2015-03-25T05:26:30.857" Title="Does learning conjunctions with malicious noise reduce to learning conjunctions with random noise?" Tags="&lt;lg.learning&gt;&lt;reductions&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="30907" PostTypeId="1" AcceptedAnswerId="30912" CreationDate="2015-03-24T08:34:51.143" Score="2" ViewCount="84" Body="&lt;p&gt;In the PAC learning model, suppose the learner actually knows the sampling distribution $P$. Surely this knowledge can be exploited to yield better generalization bounds -- but how? One idea is using PAC-Bayesian techniques to convert the distribution over $X$ into a distribution over hypotheses, which is what I think this paper is doing:&#xA;&lt;a href=&quot;http://www0.cs.ucl.ac.uk/staff/G.Lever/pubs/ALTfinal.pdf&quot; rel=&quot;nofollow&quot;&gt;http://www0.cs.ucl.ac.uk/staff/G.Lever/pubs/ALTfinal.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any other methods for making clever use of $P$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[Edit 25.03.2015: In light of Vitaly's answer, let me sharpen the question. Suppose that I know the sampling distribution only approximately as $Q$. Can we formulate a generalization bound in terms of $D(Q||P)$ or $||P=Q||_{TV}$?]&lt;/p&gt;&#xA;" OwnerUserId="1746" LastEditorUserId="1746" LastEditDate="2015-03-25T08:49:30.873" LastActivityDate="2015-03-25T08:49:30.873" Title="How to exploit knowledge of the sampling distribution for better generalization bounds?" Tags="&lt;machine-learning&gt;&lt;lg.learning&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="30908" PostTypeId="2" ParentId="30896" CreationDate="2015-03-24T13:38:24.047" Score="8" Body="&lt;p&gt;Type theories tend towards predicativity mainly socio-technical reasons. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;First, the informal concept of impredicativity can be formalized in (at least) two different ways. First, we say that a type theory like System F is impredicative because type quantification can range over all types (including the type the quantifier belongs to). So we can define generic identity and composition operators:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;\begin{array}{lclll}&#xA;  \mathit{id} &amp;amp; : &amp;amp; \forall a.\; a \to a &amp;amp; = &amp;amp; \Lambda a.\;\lambda x.\;x\\&#xA;  \mathit{compose} &amp;amp; : &amp;amp; \forall a, b, c.\; (a \to b) \to (b \to c) \to (a \to c)&#xA;   &amp;amp; = &amp;amp; \Lambda a,b,c.\lambda f, g. \lambda x. g(f\;x)&#xA;\end{array}&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, note that in standard (eg, ZFC) set theory, these operations &lt;em&gt;are not definable as objects&lt;/em&gt;. There is &lt;em&gt;no such thing&lt;/em&gt; as &quot;the identity function&quot; in set theory, because a function is a relation between a domain set and a codomain set, and if a single function could be the identity function, then you could use it to construct a set of all sets. (This is basically how John Reynolds showed that System-F style polymorphism had no set-theoretic models.) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, set theory is impredicative in another way, via the powerset axiom. Power sets are impredicative because you can say things like &quot;let $X$ be the intersection of all subsets of $S$ with property $P$&quot; and then proceed to prove that $X$ itself has property $P$. As a result, $X$ has been defined &quot;impredicatively&quot;, in terms of a set of which it is a member. This notion of impredicativity is incompatible with F-style quantification; see Andy Pitts's paper &lt;a href=&quot;http://www.cl.cam.ac.uk/~amp12/papers/nontpt/nontpt.pdf&quot;&gt;&lt;em&gt;Non-trivial Power Types Can't Be Subtypes of Polymorphic Types&lt;/em&gt;&lt;/a&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;So F-style impredicativity is incompatible with a naive view of types as sets. If you are using type theory as a proof assistant, it's nice to be able to port standard math easily to your tool, and so most people implementing such systems simply remove impredicativity. This way everything has both a set-theoretic and type-theoretic reading, and you can interpret types in whatever fashion is most convenient for you. &lt;/p&gt;&#xA;" OwnerUserId="657" LastActivityDate="2015-03-24T13:38:24.047" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="30909" PostTypeId="1" AcceptedAnswerId="30911" CreationDate="2015-03-24T13:38:43.290" Score="6" ViewCount="845" Body="&lt;p&gt;Is there a data structure that supports searching, inserting, deletion in worst-case O(log n) time and that satisfies the following &quot;array implementation&quot; property: at any point in time, the data structure only occupies memory cells 1..n (or 1..O(n)) if there are n elements?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that e.g. heaps do satisfy the property.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In particular, do standard data structures such as red-black, AVL, etc. allow for such an implementation?  (And if so, why is this not discussed in standard textbooks?)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(This is vaguely related to a &lt;a href=&quot;https://cstheory.stackexchange.com/questions/30791/data-structure-for-dynamic-memory-allocation&quot;&gt;previous question&lt;/a&gt; which got no answer.)&lt;/p&gt;&#xA;" OwnerUserId="259" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2015-03-24T16:32:10.100" Title="Array implementation of dictionary data structure" Tags="&lt;ds.data-structures&gt;" AnswerCount="1" CommentCount="8" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="30910" PostTypeId="1" CreationDate="2015-03-24T16:13:42.393" Score="0" ViewCount="61" Body="&lt;p&gt;I wish  to publish my research work. But do not have a good idea about how and where to publish.&lt;/p&gt;&#xA;" OwnerUserId="32522" LastActivityDate="2015-03-24T16:13:42.393" Title="What are good journals for publishing a paper?" Tags="&lt;paper-review&gt;" AnswerCount="0" CommentCount="2" ClosedDate="2015-03-24T21:32:35.263" ContentLicense="CC BY-SA 3.0" />
  <row Id="30911" PostTypeId="2" ParentId="30909" CreationDate="2015-03-24T16:32:10.100" Score="4" Body="&lt;p&gt;I believe you are looking for the paper &lt;a href=&quot;http://dx.doi.org/10.1007/978-3-540-45078-8_11&quot; rel=&quot;nofollow&quot;&gt;Optimal Worst-Case Operations for Implicit Cache-Oblivious Search Trees&lt;/a&gt; by Franceschini and Grossi.&lt;/p&gt;&#xA;" OwnerUserId="313" LastActivityDate="2015-03-24T16:32:10.100" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="30912" PostTypeId="2" ParentId="30907" CreationDate="2015-03-24T18:10:28.900" Score="2" Body="&lt;p&gt;For specific distribution over $X$ uniform convergence bounds scale linearly with the logarithm of the size of the (smallest) $\epsilon$-cover of the concept class $C$ (the cover can use any functions over $X$). This is proved in &quot;Learnability with respect to fixed distributions&quot; paper of Benedek and Itai. As a result sample complexity of PAC learning scales linearly with this parameter. &lt;/p&gt;&#xA;" OwnerUserId="968" LastActivityDate="2015-03-24T18:10:28.900" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="30913" PostTypeId="2" ParentId="30906" CreationDate="2015-03-24T18:30:52.543" Score="9" Body="&lt;p&gt;Let me clarify the question a bit first:&#xA;Agnostic learning conjunctions is known to be NP-hard only if the learner needs to be proper (output a conjunctions as a hypothesis) and work for any input distribution. The reductions in FGKP06 are for the uniform distribution and to the best of my knowledge there is no similar result for general distributions.&#xA;But in either case the answer to your question is &quot;no&quot; (in the sense that such a reduction is not known and unlikely to exist).&#xA;Learning conjunctions with random (classification) noise is an easy problem that was solved in a paper of Anguin and Laird &quot;Learning From Noisy Examples&quot; from 1988 that introduced the model of random noise (see also Kearns 1993 paper on Statistical Queries)&#xA;Learning conjunctions with malicious noise is at least as hard as agnostic learning of conjunctions which is believed to be a hard problem (even over the uniform distribution it is at least as hard as learning log-n sparse parities with noise)&lt;/p&gt;&#xA;" OwnerUserId="968" LastEditorUserId="968" LastEditDate="2015-03-25T05:26:30.857" LastActivityDate="2015-03-25T05:26:30.857" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="30915" PostTypeId="1" CreationDate="2015-03-25T02:29:30.110" Score="6" ViewCount="157" Body="&lt;p&gt;Let $B=\{0,1\}$. A &lt;strong&gt;read-once branching program&lt;/strong&gt; of width $n$ and size $w$ is given by a graph with layers $0,\ldots, n$, where the first layer has just the starting node, the last layer has nodes labeled 0 and 1, each layer has $\le w$ nodes, and each node has 2 edges labeled 0 and 1 pointing to nodes in the next layer. To evaluate the program on $x_1\ldots x_n$, simply start at the start node and follow the edges labeled $x_1,x_2,\ldots$, and read the label on the last node. Fix $n$, and let $w$-ROBP be the class of width $w$ read-once branching programs (and by abuse of notation, the functions computed by them).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Find an $\text{poly}(n,\epsilon)$ algorithm (or else show it would break some hardness assumption) such that given $f:B^n\to B$ as a black box, it computes $g\in w$-ROBP with high probability such that&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;\mathbb{P}_{x\sim B^n}(g(x)\ne f(x))\le \min_{h\in w\text{-ROBP}} \mathbb{P}_{x\sim B^n}(h(x)\ne f(x)) + \epsilon.&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In other words, find an agnostic PAC-learning algorithm for $w$-ROBP.&#xA;Even a weaker bound depending on $\min_{h\in w\text{-ROBP}} \mathbb{P}_x(h(x)\ne f(x))$ would be interesting. I'm convinced that I have an algorithm for when $f\in w$-ROBP (so that the max is 0) but it doesn't generalize to this setting.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A quick literature search shows intractability results for more powerful classes such as &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=225342&quot; rel=&quot;nofollow&quot;&gt;width 3 (read-many) branching programs&lt;/a&gt;, and learning algorithms for finite automata (which are ROBP's with each layer the same), and not much on ROBP's. I would also appreciate any other results/references on learning for ROBP's.&lt;/p&gt;&#xA;" OwnerUserId="20907" LastEditorUserId="20907" LastEditDate="2015-03-30T13:03:38.147" LastActivityDate="2015-03-30T13:03:38.147" Title="Learning read-once branching programs with membership queries" Tags="&lt;machine-learning&gt;&lt;pac-learning&gt;" AnswerCount="0" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="30916" PostTypeId="1" AcceptedAnswerId="31010" CreationDate="2015-03-25T03:39:52.090" Score="2" ViewCount="81" Body="&lt;p&gt;&lt;strong&gt;Background:&lt;/strong&gt; In distributed shared memory (DSM) model, the problem of &lt;em&gt;register simulations/constructions&lt;/em&gt; is to simulate registers with certain characteristic out of registers with weaker features. For example, we can construct the strongest multi-writer multi-reader atomic $\texttt{read/write}$ registers from the weakest single-writer multi-reader safe ones [1].&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question:&lt;/strong&gt; &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is it possible to simulate sequential registers from causal ones in DSM model? And how to, if possible?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I guess the answer is negative. However, I have no idea how to prove/disprove it (Googling does not help on this).&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;[1] The Art of Multiprocessor Programming. By Maurice Herlihy and Nir Shavit (Chapter 4)&lt;/p&gt;&#xA;" OwnerUserId="12739" LastActivityDate="2015-04-04T16:10:22.140" Title="How to simulate sequential registers from causal ones?" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;dc.distributed-comp&gt;&lt;concurrency&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="30920" PostTypeId="1" CreationDate="2015-03-25T20:42:35.563" Score="3" ViewCount="347" Body="&lt;p&gt;The &lt;a href=&quot;http://en.wikipedia.org/wiki/Perron-Frobenius_theorem&quot; rel=&quot;nofollow&quot;&gt;Perron–Frobenius Theorem&lt;/a&gt; states the following.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $A = (a_{ij})$ be an $n \times n$ irreducible, non-negative matrix ($a_{ij} \geq 0, \forall i,j: 1\leq i,j \leq n$). Then the following statements are true.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$A$ has a real eigenvalue $c \geq 0$ such that $c &amp;gt; |c'|$ for all other eigenvalues $c'$.&lt;/li&gt;&#xA;&lt;li&gt;There is an eigenvector $v$ with non-negative real components corresponding to the largest&#xA;eigenvalue $c: Av = cv, v_i \ge 0, 1 \leq i \leq n$, and $v$ is unique up to multiplication by a constant.&lt;/li&gt;&#xA;&lt;li&gt;If the largest eigenvalue $c$ is equal to $1$, then for any starting vector $x^{\langle 0\rangle} \neq 0$ with non-negative components, the sequence of vectors $A^k x^{\langle 0\rangle}$ converge to a vector in the direction of $v$ as $k \rightarrow \infty$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;But the theorem does not say &lt;strong&gt;&lt;em&gt;how fast&lt;/em&gt;&lt;/strong&gt; the sequence of vectors $A^k x^{\langle 0\rangle}$ will converge. Are there any known results on the rate of convergence? What are some good, polynomial-time algorithms to compute this limiting vector?&lt;/p&gt;&#xA;" OwnerUserId="9569" LastEditorUserId="9569" LastEditDate="2015-03-26T21:22:52.933" LastActivityDate="2015-03-26T21:22:52.933" Title="Rate of convergence for the Perron–Frobenius theorem" Tags="&lt;ds.algorithms&gt;&lt;linear-algebra&gt;&lt;matrices&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="30921" PostTypeId="1" CreationDate="2015-03-25T21:01:28.257" Score="2" ViewCount="161" Body="&lt;p&gt;For propositional logic, a decision procedure for satisfiability can be turned&#xA;into a decision procedure for non-validity by giving it the negated&#xA;version of a formula.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does this hold for all logics for which satisfiability is decidable? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;More precisely:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $F$ be a set of well-formed formulas in some logic $L$. $F$ is closed under&#xA;negation, i.e. $f \in F \implies \neg f \in F$. Let $F'$ be a subset of $F$ such that&#xA;satisfiability of $F'$ is decidable. Let $F'' = \{ \neg f | f \in F' \}$. Is there a logic&#xA;$L$ for which satisfiability is decidable for $F'$ but not for $F''$?&lt;/p&gt;&#xA;" OwnerUserId="32536" LastEditorUserId="3984" LastEditDate="2015-03-25T21:07:51.960" LastActivityDate="2015-03-29T21:20:07.080" Title="Deciding satisfiability and non-validity" Tags="&lt;lo.logic&gt;&lt;sat&gt;" AnswerCount="1" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="30922" PostTypeId="2" ParentId="30920" CreationDate="2015-03-25T21:28:57.763" Score="5" Body="&lt;p&gt;See the power method for computing eigenvectors:&#xA;&lt;a href=&quot;http://en.wikipedia.org/wiki/Power_iteration&quot;&gt;http://en.wikipedia.org/wiki/Power_iteration&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Convergence is exponential (geometric in the ratio of the top two eigenvalues).&lt;/p&gt;&#xA;" OwnerUserId="1746" LastActivityDate="2015-03-25T21:28:57.763" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="30923" PostTypeId="1" AcceptedAnswerId="30924" CreationDate="2015-03-25T21:53:32.600" Score="18" ViewCount="1218" Body="&lt;p&gt;Imagine, we defined natural numbers in dependently typed lambda calculus as Church numerals. They might be defined in the following way:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;SimpleNat = (R : Set) → R → (R → R) → R&#xA;&#xA;zero : SimpleNat&#xA;zero = λ R z _ → z&#xA;&#xA;suc : SimpleNat → SimpleNat&#xA;suc sn = λ R z s → s (sn R z s)&#xA;&#xA;SimpleNatRec : (R : Set) → R → (R → R) → SimpleNat → R&#xA;SimpleNatRec R z s sn = sn R z s&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;However, it seems that we can't define Church numerals with the following type of Induction principle:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;NatInd : (C : Nat -&amp;gt; Set) -&amp;gt; (C zero) -&amp;gt; ((n : Nat) -&amp;gt; C n -&amp;gt; C (suc n)) -&amp;gt; (n : Nat) -&amp;gt; (C n)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Why is it so? How can I prove this? It seems that the problem is with defining a type for Nat which becomes recursive. Is it possible to amend lambda calculus to allow this?&lt;/p&gt;&#xA;" OwnerUserId="21833" LastEditorUserId="34737" LastEditDate="2018-07-08T18:38:28.693" LastActivityDate="2018-07-08T18:38:28.693" Title="Why it's impossible to declare an induction principle for Church numerals" Tags="&lt;type-theory&gt;&lt;lambda-calculus&gt;&lt;dependent-type&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="30924" PostTypeId="2" ParentId="30923" CreationDate="2015-03-25T22:19:37.940" Score="21" Body="&lt;p&gt;The question you are asking is interesting and known. You are using the so-called impredicative encoding of the natural numbers. Let me explain a bit of the background.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a type constructor $T : \mathsf{Type} \to \mathsf{Type}$, we might be interested in the &quot;minimal&quot; type $A$ satisfying $A \cong T(A)$. In terms of category theory $T$ is a functor and $A$ is the initial $T$-algebra. For example, if $T(X) = 1 + X$ then $A$ corresponds to the natural numbers. If $T(X) = 1 + X \times X$ then $A$ is the type of finite binary trees.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An idea with long history is that the initial $T$-algebra is the type&#xA;$$A \mathrel{{:}{=}} \prod_{X : \mathsf{Type}} (T(X) \to X) \to X.$$&#xA;(You are using Agda notation for dependent products, but I am using a more traditional mathematical notation.) Why should this be? Well, $A$ essentially encodes the recursion principle for the initial $T$-algebra: given any $T$-algebra $Y$ with a structure morphism $f : T(Y) \to Y$, we get an algebra homomorphism $\phi : A \to Y$ by&#xA;$$\phi(a) = a \, Y \, f.$$&#xA;So we see that $A$ is &lt;em&gt;weakly&lt;/em&gt; initial for sure. For it to be initial we would have to know that $\phi$ is unique as well. This is not true without further assumptions, but the details are technical and nasty and require reading some background material. For instance, if we can show a satisfactory &lt;a href=&quot;http://en.wikipedia.org/wiki/Parametricity&quot;&gt;&lt;em&gt;parametricty&lt;/em&gt; theorem&lt;/a&gt; then we win, but there are also other methods (such as massaging the definition of $A$ and assuming the $K$-axiom and function extensionality).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let us apply the above to $T(X) = 1 + X$:&#xA;$$\mathsf{Nat} =&#xA;  \prod_{X : \mathsf{Type}} ((1 + X) \to X) \to X =&#xA;  \prod_{X : \mathsf{Type}} (X \times (X \to X)) \to X =&#xA;  \prod_{X : \mathsf{Type}} X \to (X \to X) \to X.&#xA;$$&#xA;We got Church numerals! And we also understand now that we will get a recursion principle for free, because the Church numerals &lt;em&gt;are&lt;/em&gt; the recursion principle for numbers, but we will not get induction without parametricity or a similar device.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The tehcnical answer to your question is this: there exist models of type theory in which the type &lt;code&gt;SimpleNat&lt;/code&gt; contains &lt;em&gt;exotic&lt;/em&gt; elements that do not correspond to numerals, and moreover, these elements break the induction principle. The type &lt;code&gt;SimpleNat&lt;/code&gt; in these models is too big and is only a &lt;em&gt;weak&lt;/em&gt; initial algebra.&lt;/p&gt;&#xA;" OwnerUserId="705" LastEditorUserId="705" LastEditDate="2015-03-25T22:24:46.393" LastActivityDate="2015-03-25T22:24:46.393" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="30926" PostTypeId="2" ParentId="25061" CreationDate="2015-03-26T07:40:55.333" Score="1" Body="&lt;p&gt;Looks like the misunderstanding is this:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the final reduction to (0,1)-permanent they are using modular&#xA;arithmetic, which breaks my argument.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $A$ be the original matrix and $B$ the (0,1) matrix.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Working modulo $n$, it might happen $perm(A)=0$ and perm $perm(B)=mn$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Though equality holds modulo $n$, $B$ have cycle covers.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Haven't found the flaw in the question about maximum weighted&#xA;cycle cover, which doesn't appear to be affected by the above.&lt;/p&gt;&#xA;" OwnerUserId="22348" LastActivityDate="2015-03-26T07:40:55.333" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="30927" PostTypeId="1" CreationDate="2015-03-26T11:26:52.370" Score="0" ViewCount="133" Body="&lt;p&gt;I'm trying to solve a  CSP (Constraint-Satisfaction-Problem), which is based on arbitrary context-free grammars. A quick example: Let's say we have a context-free grammar with the following production rules: S-&gt;A, S-&gt;B, S-&gt;AB, A-&gt;Aa, A-&gt;a, A-&gt;aa, B-&gt;Bb, B-&gt;b, B-&gt;bb.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now I'm looking for a word, which uses specific (sub-sequences of) production rules. For example:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&quot;S-&gt;AB&quot; must be used 3 times in the whole derivation-sequence&lt;/li&gt;&#xA;&lt;li&gt;If &quot;S-&gt;AB&quot; is used, it must be followed by &quot;B-&gt;Bb&quot;                                                                                 &lt;/li&gt;&#xA;&lt;li&gt;If &quot;S-&gt;Aa&quot; is used, it must directly be followed by &quot;A-&gt;a&quot;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;I know the problem is a CSP, but I couldnt find a specific algorithm on how to solve this. Any ideas, which (concrete) algorithm could be used? &#xA;Also, I'm thinking about the right data-strucure. Should I rather use an n-Tree or an array (CYK-Table)?&lt;/p&gt;&#xA;" OwnerUserId="32540" LastActivityDate="2015-03-26T11:26:52.370" Title="CSP-problem, based on context-free grammar" Tags="&lt;graph-algorithms&gt;&lt;context-free&gt;&lt;csp&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="30929" PostTypeId="2" ParentId="30883" CreationDate="2015-03-26T19:51:49.843" Score="14" Body="&lt;p&gt;Well, you can apply the planar separator theorem together with dynamic programming and get running time $2^{O(\sqrt{n})}$, where $n$ is the number of vertices in the graph. The idea being that you try all possible assignments for the variable vertices on the separator, and all variables mentioned in clauses in the separator (assuming each clause has a constnat number of variables). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If a clause node is large, then you have to be a bit more clever - you have to guess whether to assign it to the left side or right side subproblem. The details for such things tends to be messy and not immediate, so I am not going to give more details. I think the original papers by Lipton and Tarjan solved similar problems using similar ideas, if my memory serves me right.&lt;/p&gt;&#xA;" OwnerUserId="9594" LastActivityDate="2015-03-26T19:51:49.843" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="30932" PostTypeId="1" AcceptedAnswerId="30934" CreationDate="2015-03-27T04:00:06.197" Score="3" ViewCount="450" Body="&lt;p&gt;In the context of the SOS hierarchy papers, it seems that a &quot;level-r psuedo expectation functional&quot; is the same as an operator taking expectations of functions just that this one has the restriction that expectation of a square of a function is guaranteed to be zero only when the function is a polynomial of degree $\leq \frac{r}{2}$ &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Is the above right? &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;So the polynomials on which one would take the &quot;level-r pseudo expectation functional&quot; are what are to be called &quot;level-r fictitious random variable&quot; ?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Conventionally in optimization questions one would say something like &quot;maximize $P_0$ given that $P_i^2=0$ for $i =1,2,..,m$&quot; but the ``r-round SOS SDP relaxation&quot; of this same question would be to choose a &quot;level-r pseudo expectation functional&quot; say $\tilde{E}$ and say &quot;maximize $\tilde{E}[P_0]$ given that $\tilde{E}[P_i^2]=0$ for $i =1,2,..,m$ for $deg(P_i) \leq \frac{r}{2}$&quot;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Is the above right? &#xA;And if so then how is a specific $\tilde{E}$ chosen to do the relaxation? &lt;/p&gt;&#xA;" OwnerUserId="25542" LastActivityDate="2015-03-27T21:45:32.263" Title="What is a &quot;level-r pseudo expectation functional&quot;?" Tags="&lt;cc.complexity-theory&gt;&lt;approximation-hardness&gt;&lt;semidefinite-programming&gt;&lt;unique-games-conjecture&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="30934" PostTypeId="2" ParentId="30932" CreationDate="2015-03-27T08:57:21.290" Score="3" Body="&lt;p&gt;The degree $r$ pseudo-expectation operator operates on polynomials of at most degree $r$. Since the pseudo-expectation operator is positive semidefinite, we're guaranteed that the square of a polynomial (or sum of squares of polynomials) always has nonnegative pseudo-expectation. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, if we have a system of polynomial equations $\{p_i = 0\}$ of degree at most $r/2$, then we can construct the pseudo-expectation operator to be such that the pseudo-expectation $\tilde{\mathbb{E}}[p_i q] = 0$ for all polynomials $q$ of sufficiently small degree.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The intuition should be that if $\{p_i=0\}$ has a feasible solution, then $\mathbb{E}[ p_i(x) ] = 0$ where $x$ is a random feasible solution to $\{p_i = 0\}$ and $\mathbb{E}$ is the &quot;actual&quot; expectation operator. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;But of course, it is not possible for us to directly sample this distribution. Instead we play a sort of game where we assume that we can evaluate various expectations of polynomials $\mathbb{E}[p]$ (that is, moments) of this distribution over feasible solutions, and 'combine' them together to get a feasible solution.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But of course, we don't really have those moments, either, because again it's too hard to sample the distribution. So we instead use the SoS algorithm to find a pseudo-distribution and pseudo-expectation operator that we can evaluate to get pseudo-moments $\tilde{\mathbb{E}}[p]$, and feed the pseudo-moments to the same 'combiner' algorithm as if they were actual moments, and sometimes we get an answer out that's actually not half bad.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit: It is better to consider the sum of squares SDP as optimizing a particular pseudo-expectation; for example, in Goemans-Williamson, we maximize $\tilde{\mathbb{E}}[ \langle x, Lx \rangle]$ where $L$ is the Laplacian and this corresponds to maximizing the value of our cut.&lt;/p&gt;&#xA;" OwnerUserId="8985" LastEditorUserId="170" LastEditDate="2015-03-27T21:45:32.263" LastActivityDate="2015-03-27T21:45:32.263" CommentCount="16" ContentLicense="CC BY-SA 3.0" />
  <row Id="30935" PostTypeId="1" CreationDate="2015-03-27T14:05:00.530" Score="4" ViewCount="674" Body="&lt;p&gt;Below is a description of the problem:&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Suppose I have two $p$-dimensional Gaussian distributions with the same covariance matrix $\Sigma$ and means $\mu_1$, $\mu_0$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;And I can get $n$ samples $X_1^{(1)}, X_1^{(2)}, \dots, X_1^{(n)}$ from $\mathcal{N}(\mu_1, \Sigma)$, and another $n$ samples $X_0^{(1)}, X_0^{(2)}, \dots, X_0^{(n)}$ from $\mathcal{N}(\mu_0, \Sigma)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then I flip an unbiased coin $b\in\{1,0\}$, and take a sample $s$ from $\mathcal{N}(\mu_b,\Sigma)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I then give the samples $X_1^{(1)}, X_1^{(2)}, \dots, X_1^{(n)}$ and $X_0^{(1)}, X_0^{(2)}, \dots, X_0^{(n)}$ to an algorithm with the sample $s$. The algorithm outputs a bit $b'$ to indicate that the algorithm thinks that $s$ is from $\mathcal{N}(\mu_{b'},\Sigma)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that the algorithm does not know $\Sigma$, $\mu_1$, $\mu_0$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The question is: How large should $n$ be so that $\Pr[b=b'] \geq \frac{1}{2}+\epsilon$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(The bound should be given in terms of $\epsilon$, $\Sigma$, $\mu_1$, $\mu_0$.)&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Are there any papers that have solutions to this problem?&lt;/p&gt;&#xA;" OwnerUserId="8215" LastEditorUserId="8215" LastEditDate="2015-03-27T15:42:40.133" LastActivityDate="2015-03-30T01:53:48.130" Title="Sample complexity of distinguishing two Gaussian distributions?" Tags="&lt;reference-request&gt;&lt;machine-learning&gt;&lt;lg.learning&gt;&lt;sample-complexity&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="30936" PostTypeId="1" CreationDate="2015-03-27T20:03:23.260" Score="2" ViewCount="231" Body="&lt;p&gt;A polynomial random process satisfying the following properties converts a fractional point $(x_1, x_2, \ldots, x_n) \in \mathcal{P}$, $(x_i \in [0,1])$ to a random integer point $(X_1, X_2, \ldots, X_n) \in \mathbb{Z}(\mathcal{P})$, $(X_i \in \{0,1\})$:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;  &lt;li&gt; $\mathbb{E}[X_i]=x_i$, for all $i \in [n]$.&#xA;&lt;/li&gt;&#xA;  &lt;li&gt;For any $S \subseteq [n]$, $\mathbb{E}[\prod_{i\in S} X_i] \leq \prod_{i \in S} x_i$ and $\mathbb{E}[\prod_{i\in S} (1-X_i)] \leq \prod_{i \in S} (1-x_i)$ (negative correlation).&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;An example is the dependent randomized rounding by Chekuri, Vondrak, and Zenklusen (&lt;a href=&quot;http://arxiv.org/pdf/0909.4348v2.pdf&quot; rel=&quot;nofollow&quot;&gt;http://arxiv.org/pdf/0909.4348v2.pdf&lt;/a&gt;). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;We focus on &lt;em&gt;the dependent randomized rounding&lt;/em&gt;. Given a point $x \in \mathcal{P}$, where $\mathcal{P}$ is a matroid polytope, let us assume that $X$ is the outcome of the random process (the dependent randomized rounding). Can we evaluate the value of $Pr\Big(\displaystyle \bigwedge_{i \in S} X_i=1 \Big)$  for some $S \subseteq [n]$? Shall we use sampling for this purpose?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;That would be great if you can comment on this.&lt;/p&gt;&#xA;" OwnerUserId="32553" LastEditorUserId="32553" LastEditDate="2015-03-29T18:48:29.723" LastActivityDate="2015-06-29T11:46:30.913" Title="Evaluating the expected value of negatively correlated random variables" Tags="&lt;approximation-algorithms&gt;&lt;randomized-algorithms&gt;&lt;chernoff-bound&gt;&lt;sample-complexity&gt;" AnswerCount="1" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="30938" PostTypeId="2" ParentId="30935" CreationDate="2015-03-27T23:07:24.373" Score="5" Body="&lt;p&gt;I don't have a solution to this problem, but the analogous case where the two distributions are discrete has been analyzed in the cryptographic literature.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose we want to distinguish between two distributions $\mathcal{D}_0$, $\mathcal{D}_1$, where these two distributions are &quot;close&quot;.  Suppose we have $n$ observations (i.e., a sequence of $n$ numbers that are sampled from either i.i.d. $\mathcal{D}_0$ or i.i.d $\mathcal{D}_1$), and we want to distinguish whether they came from $\mathcal{D}_0$ or from $\mathcal{D}_1$.  Let $d = 0.5 n/D(\mathcal{D}_0 ||\mathcal{D}_1)$, where $D(\mathcal{D}_0 ||\mathcal{D}_1)$ is the Kullback-Leibler divergence between these two distributions.  Then the optimal distinguisher has a probability of error approximately $\Phi(-\sqrt{d}/2)$, where $\Phi(t)$ is the pdf of the standard normal distribution.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See Theorem 6 from &lt;a href=&quot;http://infoscience.epfl.ch/record/88161?ln=en&quot; rel=&quot;nofollow noreferrer&quot;&gt;How Far Can We Go Beyond Linear Cryptanalysis?&lt;/a&gt;, Thomas Baignères, Pascal Junod, Serge Vaudenay, ASIACRYPT 2004.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have no proof that this is valid for multivariate Gaussian distributions as well, but it seems reasonable to conjecture that it might.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Stepping away from discrete distributions, in your particular case of normal distributions, the one-dimensional case ($p=1$) has also been studied in the cryptographic literature.  If you want to distinguish $\mathcal{N}(\mu_0,\sigma_0^2)$ from $\mathcal{N}(\mu_1,\sigma_1^2)$ given a single observation, the optimal distinguisher has probability of error $\text{erfc}(z)$ where $z = (\mu_1-\mu_0)/(\sigma_0+\sigma_1)$.  I don't recall what happens when you get to see $n$ samples from either $\mathcal{N}(\mu_0,\sigma_0^2)$ from $\mathcal{N}(\mu_1,\sigma_1^2)$, but I imagine this case has been worked out before as well.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See &lt;a href=&quot;https://cstheory.stackexchange.com/a/22339/5038&quot;&gt;https://cstheory.stackexchange.com/a/22339/5038&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the multivariate case, the Kullback-Leibler divergence between two multivariate Gaussians is known: see &lt;a href=&quot;https://en.wikipedia.org/wiki/Multivariate_normal_distribution#Kullback.E2.80.93Leibler_divergence&quot; rel=&quot;nofollow noreferrer&quot;&gt;https://en.wikipedia.org/wiki/Multivariate_normal_distribution#Kullback.E2.80.93Leibler_divergence&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, the Kullback-Leibler divergence is additive when you have $n$ i.i.d. samples, so the Kullback-Leibler divergence of the product distribution will be $n$ times the KL divergence for a single sample: $D(\mathcal{D}_0^n ||\mathcal{D}_1^n) = n \times D(\mathcal{D}_0 ||\mathcal{D}_1)$.  This is a very handy property of the KL divergence, and it will let you calculate the KL divergence between $n$ samples of $\mathcal{N}(\mu_0,\Sigma)$ vs $n$ samples of $\mathcal{N}(\mu_1,\Sigma)$.  (As a conjecture, I would guess that the distinguishing advantage becomes significant only when this KL divergence becomes significant, though I don't know any proof of this.)&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Finally, you might be interested in &lt;a href=&quot;https://en.wikipedia.org/wiki/Pinsker%27s_inequality&quot; rel=&quot;nofollow noreferrer&quot;&gt;Pinsker's inequality&lt;/a&gt;, which connects the total variation distance to the Kullback-Leibler divergence.  The total variation distance measures (twice) the advantage of the optimal distinguisher.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Unfortunately, depending on your goals, Pinsker's inequality might &quot;go the wrong way&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See also &lt;a href=&quot;https://stats.stackexchange.com/q/17300/2921&quot;&gt;https://stats.stackexchange.com/q/17300/2921&lt;/a&gt; and &lt;a href=&quot;https://math.stackexchange.com/q/72721/14578&quot;&gt;https://math.stackexchange.com/q/72721/14578&lt;/a&gt; and &lt;a href=&quot;https://stats.stackexchange.com/q/42992/2921&quot;&gt;https://stats.stackexchange.com/q/42992/2921&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Update: All of this assumes the two distributions are known.  I just noticed that you want to consider a version of the problem where the distributions are not known to the algorithm.  This can only make the problem harder, but I don't know how much harder, and I don't know of anyone who has studied that variant.&lt;/p&gt;&#xA;" OwnerUserId="5038" LastEditorUserId="-1" LastEditDate="2017-04-13T12:44:17.130" LastActivityDate="2015-03-30T01:53:48.130" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="30939" PostTypeId="1" CreationDate="2015-03-28T07:46:25.287" Score="-2" ViewCount="79" Body="&lt;p&gt;Store a set of 2d segments S in some data structure. For an arbitrary query 2d segment q, answer a yes/no question in sublinear time: whether q intersect with any segment in S? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If the query is a vertical or horizontal segment, it can be solved by 2D segment tree in O(logn).The preprocessing is to sort the x-coordinates or y-coordinates of end points. But how about an arbitrary segment query? &lt;/p&gt;&#xA;" OwnerUserId="10819" LastActivityDate="2015-03-28T08:39:20.450" Title="arbitrary segment stabbing query for 2d segments" Tags="&lt;cg.comp-geom&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="30940" PostTypeId="2" ParentId="30939" CreationDate="2015-03-28T08:39:20.450" Score="2" Body="&lt;p&gt;This is equivalent to two ray shooting queries.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is a tradeoff in space and query time. For any $n&amp;lt; m&amp;lt;n^2$, there is an data structure that returns result in $O(\frac{n}{\sqrt{m}} \log^{O(1)}(n))$ time using $O(m^{1+\epsilon})$ space. [1]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] Pankaj K. Agarwal and Jiří Matoušek, &lt;em&gt;Ray Shooting and Parametric Search&lt;/em&gt;, SIAM Journal on Computing 1993 22:4, 794-806&lt;/p&gt;&#xA;" OwnerUserId="314" LastActivityDate="2015-03-28T08:39:20.450" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="30944" PostTypeId="1" CreationDate="2015-03-28T16:59:25.780" Score="-1" ViewCount="261" Body="&lt;p&gt;I am trying to model the Ising spin state problem into Integer linear program and find the optimal ground state using lp_solve. (This is just a miniature version of Ising state problem)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;maximise: \sum J_{ij}S_{i}S_{j}&#xA;$$&#xA;$$&#xA;-1\leq J_{ij} \leq 1&#xA;$$&#xA;$$&#xA;S_{i},S_{j} \epsilon (-1,1)&#xA;$$&#xA;Value of $J_{ij}$ is given.&#xA;The goal is to find optimal values of $S_{i}$ to maximise the value. &#xA;For ex:&#xA;$J_{12}=1, J_{13}=-1, J_{23}=-1$. One of the solutions for maximum energy is 3 with $S_{1}=1, S_{2}=1, S_{3}=-1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am finding it difficult to convert this into integer linear program.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is my initial approach for the conversion.&#xA;I tried to take an aditional variable $X_{i}$ and convert this program as&#xA;$$&#xA;maximise: \sum X_{i}&#xA;$$&#xA;$ if((S_{i}=-1 or S_{j}=-1) and J_{ij}=-1) \implies X_{i}=1 $&#xA;$ if((S_{i}=-1 or S_{j}=-1) and J_{ij}=1) \implies X_{i}=-1 $&#xA;$ if((S_{i}=-1 and S_{j}=-1) and J_{ij}=-1) \implies X_{i}=-1 $&#xA;$ if((S_{i}=-1 and S_{j}=-1) and J_{ij}=1) \implies X_{i}=1 $&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I dont know if this approach is correct or not. Even i dont know how to convert this to linear program.&#xA;Any suggestion or help is greatly appreciated.&lt;/p&gt;&#xA;" OwnerUserId="32506" LastEditorUserId="32506" LastEditDate="2015-03-28T17:40:07.757" LastActivityDate="2015-03-28T21:50:02.970" Title="convertion into integer linear program for Ising spin state problem" Tags="&lt;linear-algebra&gt;&lt;linear-programming&gt;&lt;integer-programming&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="1" ClosedDate="2015-03-29T19:41:24.653" ContentLicense="CC BY-SA 3.0" />
  <row Id="30947" PostTypeId="2" ParentId="30944" CreationDate="2015-03-28T21:50:02.970" Score="2" Body="&lt;p&gt;Have a look at the paper &quot;Using a Mixed Integer Quadratic Programming Solver for the Unconstrained Quadratic 0-1 Problem&quot; by Alain Billionnet and Sourour Elloumi. They mention there that the binary quadratic problem &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\min \left\{ x^T Q x + c^Tx : x \in \{0,1\}^n \right\},$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where $Q$ is a symmetric matrix with diagonal entries all zero, is equivalent to the mixed integer linear programming problem&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;\begin{array}{cccc}&#xA;\min &amp;amp; \sum_{i} c_i x_i + \sum_{i &amp;lt; j} 2Q_{ij} y_{ij} \\&#xA;\text{s.t.} &#xA;&amp;amp;  y_{ij} \leq x_i &amp;amp; i &amp;lt; j, &amp;amp; Q_{ij} &amp;lt; 0 \\&#xA;&amp;amp;  y_{ij} \leq x_j &amp;amp; i &amp;lt; j, &amp;amp; Q_{ij} &amp;lt; 0 \\&#xA;&amp;amp;  y_{ij} \geq x_i + x_j - 1 &amp;amp; i &amp;lt; j, &amp;amp; Q_{ij} &amp;gt; 0 \\&#xA;&amp;amp;  y_{ij} \geq 0 &amp;amp; i &amp;lt; j, &amp;amp; Q_{ij} \neq 0\\&#xA;&amp;amp;  x_i \in \{0, 1\}.&#xA;\end{array}&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since you are interested in solving the Ising spin state problem, you should also check out the chapter &quot;Computing Exact Ground States of Hard Ising Spin Glass Problems by Branch-and-Cut&quot; by Frauke Liers, Michael Jünger, Gerhard Reinelt, and Giovanni Rinaldi.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also check out the paper &quot;Solving Max-Cut to optimality by intersecting semidefinite and polyhedral relaxations&quot; by Franz Rendl, Giovanni Rinaldi, and Angelika Wiegele that describes the semidefinite based branch-and-bound software &lt;a href=&quot;http://biqmac.uni-klu.ac.at&quot; rel=&quot;nofollow&quot;&gt;Biq Mac&lt;/a&gt; and its performance on solving Ising spin state problems.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, you can try &lt;a href=&quot;http://lipn.univ-paris13.fr/BiqCrunch/&quot; rel=&quot;nofollow&quot;&gt;BiqCrunch&lt;/a&gt; which is another semidefinite based branch-and-bound solver that is capable of solving Ising spin state problems.&lt;/p&gt;&#xA;" OwnerUserId="32573" LastActivityDate="2015-03-28T21:50:02.970" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="30952" PostTypeId="1" AcceptedAnswerId="30955" CreationDate="2015-03-29T13:41:31.330" Score="0" ViewCount="357" Body="&lt;p&gt;One can bound the Rademacher average $R_n(A)$ of a finite set of vectors $A\subseteq\{0,1\}^n$ using Massart's Finite Lemma:&#xA;$$&#xA;R_n(A)\le \max_{a\in A}\|a\|\frac{\sqrt{2\ln|A|}}{n}&#xA;$$&#xA;where $\|\cdot\|$ is the Euclidean norm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then, using Sauer's Lemma, one can obtain &#xA;$$&#xA;R_n(A)\le C\max_{a\in A}\|a\|\sqrt{\frac{V\ln\frac{n}{V}}{n}},$$&#xA;where $V$ is the (empirical) VC-dimension.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Using chaining and a bound on covering numbers, one can get rid of the logarithmic factor and obtain&#xA;$$&#xA;R_n(A)\le C'\sqrt{\frac{V}{n}}.&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Looking at the proof that uses chaining, I can't seem to find a way to have $\max_{a\in A}\|a\|$ in the second bound. Is it even possible?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It may not change much in theory, but it does in practice, and (in my opinion), it intuitively makes sense that the bound should depend on it.&lt;/p&gt;&#xA;" OwnerUserId="4828" LastEditorUserId="4828" LastEditDate="2015-03-29T16:07:33.747" LastActivityDate="2015-03-29T17:56:45.797" Title="Bounding Rademacher Averages, with and without chaining" Tags="&lt;machine-learning&gt;&lt;pr.probability&gt;&lt;lg.learning&gt;&lt;vc-dimension&gt;" AnswerCount="1" CommentCount="6" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="30955" PostTypeId="2" ParentId="30952" CreationDate="2015-03-29T17:56:45.797" Score="1" Body="&lt;p&gt;Converting the comment to an answer: See the notes here: &#xA;cs.cornell.edu/~sridharan/dudley.pdf&#xA;with the dependence on $\sup_f \hat E[f^2]$&lt;/p&gt;&#xA;" OwnerUserId="1746" LastActivityDate="2015-03-29T17:56:45.797" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="30956" PostTypeId="2" ParentId="30894" CreationDate="2015-03-29T18:15:31.250" Score="1" Body="&lt;p&gt;&lt;a href=&quot;http://www.graphclasses.org/index.html&quot; rel=&quot;nofollow&quot;&gt;ISGCI&lt;/a&gt; just recently added parameters. They are still in beta at the time of writing, but one might look at &lt;a href=&quot;http://www.graphclasses.org/classes/par_6.html&quot; rel=&quot;nofollow&quot;&gt;diameter&lt;/a&gt;: minimum dominating set is a minimal upper bound, and by following the trail upwards, we find maximum independent set, and so forth.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;They reference e.g. the 2013 manuscript of Sorge and Weller, available &lt;a href=&quot;http://fpt.akt.tu-berlin.de/msorge/parameter-hierarchy.pdf&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt; (see Figure 1).&lt;/p&gt;&#xA;" OwnerUserId="5693" LastActivityDate="2015-03-29T18:15:31.250" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="30957" PostTypeId="1" CreationDate="2015-03-29T19:43:45.900" Score="-4" ViewCount="587" Body="&lt;p&gt;Consider the problem $P \mid \mid \sum w_j C_j$. I want to prove that this problem is (strongly) NP-hard by reducing from $3$-Partition, but I am not really sure how to do this.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Just to be precise, this is the definition of $3$-Part in my notes. Given a set $S = \{a_1, \ldots, a_n\}$ of $n = 3m$ positive integers, does there exist a partition $S_0, \ldots S_{m-1}$ of $S$ such that $|S_i| = 3$ and &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\sum_{j \in S_i} aj = B := \frac{1}{m} \sum_j a_j$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So suppose we have an instance of $3$-Part, we construct an instance for $P \mid \mid \sum w_j C_j$ as follows. We have $m$ machines available. For each $a_i$, we have a corresponding job $i$ with $w_i = p_i = a_i$, where $p_i$ is the processing time of job $i$. This is what I have so far, but I am not sure how to proceed. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose I have a yes-instance for $3$-part. How do I distribute the jobs amongst the machines in the most effective way? Is my choice for $w_i$ and $p_i$ correct?&lt;/p&gt;&#xA;" OwnerUserId="32584" LastEditorUserId="32584" LastEditDate="2015-03-29T19:49:57.473" LastActivityDate="2018-03-06T19:42:52.067" Title="Proving NP-hardness of scheduling problem (total weighted completion time)" Tags="&lt;np-hardness&gt;&lt;scheduling&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="30958" PostTypeId="2" ParentId="30921" CreationDate="2015-03-29T21:20:07.080" Score="3" Body="&lt;p&gt;For (propositional) &lt;a href=&quot;http://en.wikipedia.org/wiki/Intermediate_logic&quot; rel=&quot;nofollow noreferrer&quot;&gt;intermediate logics&lt;/a&gt;, a decision procedure for satisfiability cannot generally be turned into a decision procedure for (non)validity, because all intermediate logics happen to have the same set of satisfiable formulas, namely, the set of classically satisfiable formulas, whereas some (a majority of) intermediate logics are undecidable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(To make sense of the juxtaposition, all of the intermediate logics should be considered in the language of the weakest one, i.e., $\land$, $\lor$, $\to$, and $\neg$ or $\bot$.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The coincidence of SAT's for these logics is a consequence of &lt;a href=&quot;http://en.wikipedia.org/wiki/Double-negation_translation#Propositional_logic&quot; rel=&quot;nofollow noreferrer&quot;&gt;Glivenko theorem&lt;/a&gt; (which can be paraphrased by asserting that $\neg\varphi$ is provable classically iff it is provable intuitionistically, for any formula $\varphi$). See also &lt;a href=&quot;https://mathoverflow.net/a/139296&quot;&gt;this post&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="32246" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2015-03-29T21:20:07.080" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="30959" PostTypeId="1" CreationDate="2015-03-29T23:15:13.683" Score="8" ViewCount="307" Body="&lt;p&gt;Originally introduced by Benczur and Karger, cut sparsifiers let one take a dense graph $G=(V,E)$ and produce a weighted sparse graph on the same vertex set, where - only knowing the sparse graph which can be described using as few as $|V|\operatorname{polylog}|V|$ bits - for every $S\subseteq V$ one can still answer the question: &quot;How many edges in $G$ are in the cut $(S,V-S)$ up to a multiplicative $(1\pm \varepsilon)$?&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You're given a dense graph $G=(V,E)$. Can you produce a sparse graph on the same vertex set, where - only knowing the sparse graph - for every $S\subseteq V$, one can still answer: &quot;How many neighbors does $S$ have in $G$ up to a multiplicative $(1\pm\varepsilon)$?&lt;/p&gt;&#xA;" OwnerUserId="1621" LastEditorUserId="566" LastEditDate="2015-03-30T14:57:24.853" LastActivityDate="2015-03-30T14:57:24.853" Title="Are there sparsifiers that approximate vertices rather than edges?" Tags="&lt;graph-algorithms&gt;&lt;spectral-graph-theory&gt;&lt;sparse-matrix&gt;" AnswerCount="0" CommentCount="5" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="30960" PostTypeId="1" CreationDate="2015-03-30T01:00:34.417" Score="1" ViewCount="566" Body="&lt;p&gt;If there is a variable $x_i$ for every vertex $i$ of a $d$-regular graph $G$ then assigning $x_i = \pm 1$ gives a cut, say $(S,\bar{S})$, of the graph. We can then see that, $\langle x,L x\rangle$, where $L = I - A/d$, equals $4E(S,\bar{S})/d$. So trying to maximize $\langle x,Lx \rangle$ over $x \in \{1,-1\}^{|V|}$ maximizes the number of edges crossing across the cut, $(S,\bar{S})$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;With this set-up the Goemans–Williamson algorithm is stated in the sum-of-squares (SOS) literature as the claim that there exists a polynomial-time algorithm such that one can output a vector $z \in \{ \pm 1 \}^{\vert V \vert }$ such that $\langle z,Lz \rangle \geq 2n(1-f_{GW}(\epsilon))$ where $f_{GW}(\epsilon) \leq 10\sqrt{\epsilon}$ &lt;strong&gt;provided&lt;/strong&gt; one is given a degree-2 pseudo-distribution such that $\tilde {\mathbb{E}} [x_i ^2] =1, \tilde {\mathbb{E}} [\langle x, Lx \rangle ] \geq 2n(1-\epsilon)$ &lt;/p&gt;&#xA;&#xA;&lt;p&gt;So naturally the question arises as to from where does one get such a degree-2 pseudo-distribution? The implicit claim seems to be that there exists a &quot;degree-2 SOS algorithm&quot; which when run on these constraints $\{ x_i^2 =1, \langle x, Lx\rangle = 2n(1-\epsilon)\}$ will generate this &quot;degree-2 pseudo-distribution&quot;. This apparently seems to be set up to be a semidefinite programming (SDP) question and hence one basically has to solve a SDP to get this pseudo-distribution!&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;So what is the advantage of the SOS point of view here if one has to anyway run a SDP to get this degree-2 pseudo distribution? &lt;/li&gt;&#xA;&lt;li&gt;Also can someone point out an explicit reference about what exactly is this &quot;degree-2 SOS algorithm&quot; which will run on these constraints to give me the &quot;degree-2 pseudo-distribution&quot;?&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="25542" LastEditorUserId="4193" LastEditDate="2015-03-31T17:05:58.390" LastActivityDate="2015-03-31T17:05:58.390" Title="The Goemans-Williamson algorithm in the $SOS$ framework" Tags="&lt;cc.complexity-theory&gt;&lt;approximation-algorithms&gt;&lt;approximation-hardness&gt;&lt;unique-games-conjecture&gt;" AnswerCount="1" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="30965" PostTypeId="1" CreationDate="2015-03-30T16:50:23.103" Score="11" ViewCount="125" Body="&lt;p&gt;I would like to know if the following problem is known and has been studied:&lt;/p&gt;&#xA;&lt;p&gt;Consider an infinite directed graph that can be built on the infinite lattice &lt;strong&gt;&amp;quot;tiling&amp;quot;&lt;/strong&gt; a finite set of subgraphs, more formally:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;the set of vertices &lt;span class=&quot;math-container&quot;&gt;$V$&lt;/span&gt; is a subset of the infinite lattice (&lt;span class=&quot;math-container&quot;&gt;$V \subseteq \{ (x,y) \mid x,y \in \mathbb{N} \}$&lt;/span&gt;), and&lt;/li&gt;&#xA;&lt;li&gt;the set of edges &lt;span class=&quot;math-container&quot;&gt;$E = \bigcup E_i$&lt;/span&gt; (which also defines &lt;span class=&quot;math-container&quot;&gt;$V$&lt;/span&gt;) is given using a finite set of linear equations:&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$E_i = \{ (P_i,P_i') \}$&lt;/span&gt; where the two nodes &lt;span class=&quot;math-container&quot;&gt;$P_i,P'_i$&lt;/span&gt; are nodes at coordinates:&lt;br&gt;&#xA;&lt;span class=&quot;math-container&quot;&gt;$P_i = (x_{i} + a_ix, y_{i} + b_i y)$&lt;/span&gt;,&lt;br&gt;&#xA;&lt;span class=&quot;math-container&quot;&gt;$P_i' = (x'_{i} + c_i x, y'_{i} + d_i y)$&lt;/span&gt;&lt;/p&gt;&#xA;&lt;p&gt;For each &lt;span class=&quot;math-container&quot;&gt;$E_i$&lt;/span&gt; we can have &lt;em&gt;one&lt;/em&gt; the following cases: &lt;span class=&quot;math-container&quot;&gt;$x,y\geq 0$&lt;/span&gt; (which creates an infinite rectangle of &amp;quot;tiles&amp;quot;); &lt;span class=&quot;math-container&quot;&gt;$x \geq 0, y = 0$&lt;/span&gt; (which creates an infinite horizontal strip of &amp;quot;tiles&amp;quot;), &lt;span class=&quot;math-container&quot;&gt;$x = 0, y \geq 0$&lt;/span&gt; (which creates an infinite vertical strip of &amp;quot;tiles&amp;quot;); &lt;span class=&quot;math-container&quot;&gt;$x=y$&lt;/span&gt; (which creates an infinite diagonal strip of &amp;quot;tiles&amp;quot;).&lt;/p&gt;&#xA;&lt;p&gt;So the set &lt;span class=&quot;math-container&quot;&gt;$E_i$&lt;/span&gt; is defined by the constants &lt;span class=&quot;math-container&quot;&gt;$x_i, x'_i, y_i, y'_i, a_i, b_i, c_i, d_i$&lt;/span&gt; and there is an edge for every value taken by &lt;span class=&quot;math-container&quot;&gt;$x,y$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;p&gt;The set of nodes is given by the union of all the endpoints of the edges.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/6gavS.png&quot; alt=&quot;enter image description here&quot; /&gt;&lt;/p&gt;&#xA;&lt;p&gt;It's not so hard to prove that the s-t connectivity problem (&amp;quot;Given two nodes &lt;span class=&quot;math-container&quot;&gt;$s,t$&lt;/span&gt;; is there a path from &lt;span class=&quot;math-container&quot;&gt;$s$&lt;/span&gt; to &lt;span class=&quot;math-container&quot;&gt;$t$&lt;/span&gt;?&amp;quot;) is &lt;em&gt;undecidable for non planar graphs&lt;/em&gt; (using for example a set of &amp;quot;graph tiles&amp;quot; arranged to simulate the configurations of a two counters machine, in which the value of the counter &lt;span class=&quot;math-container&quot;&gt;$c_1$&lt;/span&gt; is the &lt;span class=&quot;math-container&quot;&gt;$x$&lt;/span&gt;-coordinate, and the value of the counter &lt;span class=&quot;math-container&quot;&gt;$c_2$&lt;/span&gt; is the &lt;span class=&quot;math-container&quot;&gt;$y$&lt;/span&gt;-coordinate).&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;But, is it still undecidable if the graph is planar ?&lt;/p&gt;&#xA;&lt;p&gt;If it is still undecidable on planar graphs, for which subclasses of graphs the problem becomes decidable ?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2015-03-30T22:47:56.883" Title="s-t connectivity on infinite planar graphs with finite description" Tags="&lt;reference-request&gt;&lt;planar-graphs&gt;&lt;undecidability&gt;" AnswerCount="0" CommentCount="6" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="30968" PostTypeId="1" AcceptedAnswerId="36041" CreationDate="2015-03-30T21:00:16.820" Score="13" ViewCount="597" Body="&lt;p&gt;I have been reading a bit about the sum-of-squares method (SOS) from the &lt;a href=&quot;http://arxiv.org/abs/1404.5236&quot;&gt;survey of Barak &amp;amp; Steurer&lt;/a&gt; and the &lt;a href=&quot;http://www.boazbarak.org/sos/&quot;&gt;lecture notes of Barak&lt;/a&gt;. In both cases they sweep issues of numerical accuracy under the rug.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;From my (admittedly limited) understanding of the method, the following should be true:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Given any system of polynomial equalities $E$ over real-valued variables $x \in \mathbb{R}^n$, where all parameters are $O(1)$ ($n$, $|E|$, and degree of each constraint), the degree-&quot;$2n$&quot; ($=O(1)$) SOS method finds a satisfying assignment of the variables or proves none exists in $O(1)$ time.  &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;My first question is whether the above claim is true (is there a naive argument that doesn't use SOS to solve this?). The second question is where numerical accuracy fits in. If I want to get an assignment that satisfies all constraints to within additive $\varepsilon$ accuracy, how does the runtime depend on $1/\varepsilon$? In particular, is it polynomial?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The motivation for this is to, say, apply a divide-and-conquer approach on a large system until the base case is an $O(1)$-size system.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT:&lt;/strong&gt; From Barak-Steurer, it appears that the &quot;degree $l$ sum-of-squares algorithm&quot; on p.9 (and the paragraphs leading up to it) all define problems for solutions over $\mathbb{R}$, and in fact the definition of a pseudo-distribution in section 2.2 is over $\mathbb{R}$. Now I am seeing from Lemma 2.2, however, that one is not guaranteed a solution/refutation at degree $2n$ without binary variables. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;So I can refine my question a little bit. If your variables are not binary, the worry is that the sequence of outputs $\varphi^{(l)}$ is not finite (maybe not even monotonic increasing?). So the question is: is $\varphi^{(l)}$ still increasing? And if so, how far you have to go to get additive accuracy $\varepsilon$? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Though this likely does not change anything, I happen to know my system is satisfiable (there is no refutation of any degree), so I am really just concerned about how large $l$ needs to be. Finally, I am interested in a theoretical solution, not a numerical solver.&lt;/p&gt;&#xA;" OwnerUserId="7091" LastEditorUserId="7091" LastEditDate="2015-03-31T21:32:58.927" LastActivityDate="2016-06-24T17:40:00.433" Title="Numerical precision in sum-of-squares method?" Tags="&lt;optimization&gt;&lt;sum-of-squares&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="30969" PostTypeId="1" AcceptedAnswerId="30970" CreationDate="2015-03-30T21:16:20.053" Score="-3" ViewCount="66" Body="&lt;p&gt;I am trying to figure out how to code these symbols. I am pretty sure I have it, but it gets a little tricky. Let A,B, and C have probabilities .71, .16, and .13 respectively. I am trying to code the pairs of them. I use 0 for up and 1 for down. Observe&lt;/p&gt;&#xA;&#xA;&lt;p&gt;AA .71^2=.5041&lt;/p&gt;&#xA;&#xA;&lt;p&gt;AB .1136&lt;/p&gt;&#xA;&#xA;&lt;p&gt;BA .1136&lt;/p&gt;&#xA;&#xA;&lt;p&gt;AC .0923&lt;/p&gt;&#xA;&#xA;&lt;p&gt;CA .0923&lt;/p&gt;&#xA;&#xA;&lt;p&gt;BB .0256&lt;/p&gt;&#xA;&#xA;&lt;p&gt;BC .0208&lt;/p&gt;&#xA;&#xA;&lt;p&gt;CB .0208&lt;/p&gt;&#xA;&#xA;&lt;p&gt;CC .0169&lt;/p&gt;&#xA;&#xA;&lt;p&gt;After I have dealt with the lower 4 ones. I get the sum of .0841. Then I add that sum to CA to get .1764. Now I have this&lt;/p&gt;&#xA;&#xA;&lt;p&gt;AA .71^2=.5041&lt;/p&gt;&#xA;&#xA;&lt;p&gt;AB .1136&lt;/p&gt;&#xA;&#xA;&lt;p&gt;BA .1136&lt;/p&gt;&#xA;&#xA;&lt;p&gt;AC .0923&lt;/p&gt;&#xA;&#xA;&lt;p&gt;** .1764&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now my problem here is that when I add BA to AC since they are the lowest, I get .2059. Then I add AB to .1764 to get .29 to get&lt;/p&gt;&#xA;&#xA;&lt;p&gt;AA .5041&lt;/p&gt;&#xA;&#xA;&lt;p&gt;.29&lt;/p&gt;&#xA;&#xA;&lt;p&gt;.2059&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then add .2059 and .29. Hence I get this as a coding&lt;/p&gt;&#xA;&#xA;&lt;p&gt;0 100 110 111 1010 101100 101101 101110 101111&lt;/p&gt;&#xA;&#xA;&lt;p&gt;which I might be correct. Please help.&lt;/p&gt;&#xA;" OwnerUserId="32599" LastActivityDate="2015-03-30T21:25:05.277" Title="Complicated Huffman coding" Tags="&lt;coding-theory&gt;" AnswerCount="1" CommentCount="0" ClosedDate="2015-03-31T20:55:25.630" ContentLicense="CC BY-SA 3.0" />
  <row Id="30970" PostTypeId="2" ParentId="30969" CreationDate="2015-03-30T21:25:05.277" Score="0" Body="&lt;p&gt;It's fine. Since AA has probability more than 1/2 it's encoded by 1 bit to minimize expected codeword length. You have a kind of superincreasing distribution and Kraft's inequality forces the other codeword lengths higher.&lt;/p&gt;&#xA;" OwnerUserId="21948" LastActivityDate="2015-03-30T21:25:05.277" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="30971" PostTypeId="1" CreationDate="2015-03-30T22:34:17.583" Score="5" ViewCount="134" Body="&lt;p&gt;It was &lt;a href=&quot;http://www.cs.princeton.edu/~zdvir/papers/Dvir09.pdf&quot;&gt;proved by Dvir&lt;/a&gt; that a Kakeya set in $\mathbb{F}_q^n$ has size at least $q^n/n!$, a bound which was later improved to $q^n/2^n$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For $n = 2$ and $q$ odd the exact bound is $q(q+1)/2 + (q-1)/2$ as given by Blokhuis and Mazzocca in [1], where they also classified the sets attaining this lower bound. For $q$ even the bound is $q(q+1)/2$ and all Kakeya sets attaining this bound are known. Some more examples of &quot;small&quot; Kakeya sets are given in [2] and [3]. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is, &lt;em&gt;what are some possible applications of constructing these small Kakeya sets in $\mathbb{F}_q^2$?&lt;/em&gt; &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Moreover, what is the state of the art for $n &amp;gt; 2$? What are the best known bounds and the examples that achieve those bounds? Would it be worthwhile to construct explicit examples attaining the bounds there? (which is of course subjective)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] A. Blokhuis and F. Mazzocca. The finite field kakeya problem. In Building Bridges, pages 205–218, 2008. &lt;a href=&quot;http://link.springer.com/chapter/10.1007%2F978-3-540-85221-6_6&quot;&gt;http://link.springer.com/chapter/10.1007%2F978-3-540-85221-6_6&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] A. Blokhuis, M. De Boeck, F. Mazzocca, L. Storme. The Kakeya problem: a gap in the spectrum and classification of the smallest examples. Des. Codes Cryptogr., 72 (1) (2014), 21–31. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;[3] J. M. Dover and K. E. Mellinger. Small Kakeya sets in non-prime order planes. European J. of Combin.&#xA;Volume 47 (2015), pages 95–102. &lt;/p&gt;&#xA;" OwnerUserId="32330" LastEditorUserId="32330" LastEditDate="2015-03-30T22:54:44.373" LastActivityDate="2015-03-30T22:54:44.373" Title="Applications of small Kakeya sets over finite fields" Tags="&lt;co.combinatorics&gt;&lt;coding-theory&gt;&lt;extractors&gt;&lt;finite-fields&gt;" AnswerCount="0" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="30972" PostTypeId="2" ParentId="30791" CreationDate="2015-03-31T02:18:38.243" Score="6" Body="&lt;p&gt;Even without the time bound, it is impossible to &quot;avoid memory segmentation&quot; unless you can move the allocated objects around, like in a compacting garbage collector. See Robson's &quot;Bounds for Some Functions Concerning Dynamic Storage Allocation&quot;, which shows that allocating $m$ bytes in blocks of size between $n$ and $N$ requires $\Omega(m \log (N/n))$ bytes of memory.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Additionally, the buddy system achieves this bound and can be done in logarithmic time.&lt;/p&gt;&#xA;" OwnerUserId="43" LastEditorUserId="43" LastEditDate="2015-03-31T02:34:48.617" LastActivityDate="2015-03-31T02:34:48.617" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="30973" PostTypeId="2" ParentId="30960" CreationDate="2015-03-31T04:30:57.940" Score="7" Body="&lt;p&gt;Looking at the Goemans–Williamson algorithm in the SOS framework yields no technical advantages: it is exactly the same algorithm and the same ideas are used in the analysis.&#xA;The only advantages in doing so are:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Arguably the algorithm seems less &quot;magical&quot; in that viewpoint, though of course that's a matter of taste.&lt;/li&gt;&#xA;&lt;li&gt;It's a good basic case to get intuition for the SOS framework, and so understanding this algorithm will help in understanding more complicated uses of it.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;As Sasho Nikolov points out, a degree 2 pseudo-distribution is simply a positive semidefinite (PSD) matrix, and so finding such a matrix satisfying any particular linear constraints can be done via semidefinite programming. In particular, for any pseudo-distribution $\{ u_i \}_i$ of degree at least 2, the matrix $X_{i,j} = \tilde{\mathbb{E}} u_i u_j$ is PSD. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given an $n\times n$ PSD matrix $X$, one can find a Gaussian distribution $y\in\mathbb{R}^n$ such that $\mathbb{E} y_iy_j = X_{i,j}$ for all $i,j$ and hence the distribution $\{ y_i \}_i$ matches the second moments of the pseudo-distribution represented by $X$. (One can obtain $y$ by sampling a standard Gaussian vector $z$ and letting $y=X^{1/2}z$.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The rounding algorithm is to obtain a distribution $w$ over $\{\pm 1\}^n$ by letting $w_i = \textrm{sign}(y_i)$. This is exactly equivalent to the standard description of &quot;hyperplane rounding&quot; whereas one takes vectors $v_1,\ldots,v_n$ such that $X_{i,j} = \langle v_i,v_j \rangle$ and lets $w_i = \textrm{sign}(\langle v_i , z\rangle)$ where $z$ is a random Gaussian vector. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now we want to compare the value of the pseudo-distribution, which (up to scaling) is the same as the sum of $-X_{i,j}$ over all edges $(i,j)$, with the expected value of our rounded solution $w$, which will be the sum of $- w_iw_j$. So now we want to calculate the probability that the edge will be cut by $w$ as a function of $X_{i,j}$. It all boils down to figuring out the following calculation: if $w_i$ and $w_j$ are two Gaussian random variables with $\mathbb{E} w_i^2 = \mathbb{E} w_j^2 = 1$ and  $\mathbb{E} w_i w_j = \rho$, what would be the probability that their signs agree? I personally think that the most interesting regime for Max-Cut is when the objective value is close to $1$. One nice thing in that regime is that you can get some qualitative insight by showing that if $\rho = -1 +\epsilon$ then their signs agree with probability at most $O(\sqrt{\epsilon})$. However, if you are interested in figuring out the approximation ratio (or more generally figure out the precise trigonometric function behind this $O(\cdot)$ term) then Goemans–Williamson's analysis exactly resolves this calculation.&lt;/p&gt;&#xA;" OwnerUserId="1202" LastEditorUserId="4193" LastEditDate="2015-03-31T17:05:48.130" LastActivityDate="2015-03-31T17:05:48.130" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="30974" PostTypeId="2" ParentId="1772" CreationDate="2015-03-31T04:31:02.030" Score="4" Body="&lt;p&gt;Schwartz-Zippel lemma is a special case of a theorem of Noga Alon and Zoltan Füredi as shown in Section 4 of this paper: &lt;a href=&quot;http://arxiv.org/abs/1508.06020&quot; rel=&quot;nofollow&quot;&gt;On Zeros of a Polynomial in a Finite Grid&lt;/a&gt;, and hence any new proof of that theorem gives a new proof of Schwartz-Zippel. As of now, I know six different proofs, two of which appear in the paper and others are referenced there.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The Alon-Furedi theorem says the following:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $F$ be a field, let $A = \prod_{i=1}^n A_i \subset F^n$ be a finite grid, and let $f \in F[\underline{t}] = F[t_1,\ldots,t_n]$ be a polynomial which does not vanish identically on $A$.  Then $f(x) \neq 0$ for&#xA;at least $\min \prod y_i$ elements $x \in A$, where the minimum is taken over all positive integers $y_i \leq  \# A_i$ with $\sum_{i=1}^n y_i = \sum_{i=1}^n \# A_i - \deg f$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In this if you assume $\deg f &amp;lt; \min \#A_i$ and work out the minimum (which can be done easily using the Balls in Bins stuff mentioned in the paper), then you get Schwartz-Zippel lemma over a field (or a domain). &lt;/p&gt;&#xA;" OwnerUserId="32330" LastEditorUserId="32330" LastEditDate="2015-09-04T13:19:34.250" LastActivityDate="2015-09-04T13:19:34.250" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="30975" PostTypeId="2" ParentId="30968" CreationDate="2015-03-31T04:31:35.120" Score="1" Body="&lt;p&gt;I think my answer is probably insufficient, but it remains for completeness' sake (although see Boaz's comments below for probably a better answer)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;When we limit ourselves to boolean variables, the claim can be seen when $(x_i^2-1) \in E$ for all $i \in[n]$ with the observation that degree $2n$ pseudo-distributions are actual distributions, that is, suppose you have a pseudo-distribution $\mu(x)$ over solutions $x$ of your polynomial equalities $E$ satisfying:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\sum_{ x \in \{-1,1\}^n} \mu(x)$ and $\sum_{x\in\{-1,1\}^n} \mu(x) p^2(x)\ge0$ for all polynomials $p$ with degree at most $n$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But degree $n$ polynomials include the indicator polynomial (for example, $x_1 = 1, x_2=-1, x_3=1$ has $2^{-3}(1+x_1)(1-x_2)(1+x_3)$ which is all-zero elsewhere and 1 on that assignment). So $\mu(x) \ge 0$ for all $x\in\{-1,1\}^n$, so we conclude $\mu$ is an actual distribution over the solutions of $E$. Degree $\ell$ pseudo-distributions can be found by using semidefinite programming to find an associated degree $\ell$ pseudo-expectation operator in $n^{O(\ell)}$ time, so we can find the actual distribution $\mu$ in time $n^{O(n)}$ by using that pseudo-expectation (now an actual expectation) to find all the moments of $\mu$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, if $|E| = O(1)$, then you can find a distribution of solutions to $E$ in $O(1)$ time. Of course, brute force search guarantees the same. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, if the solutions are not necessarily boolean, then degree-$2n$ pseudo-expectations are not sufficient to find a distribution over solutions. As can be seen above, the proof that degree $2n$ pseudo-distributions are actual distributions depends on the fact that degree $n$ polynomials are sufficient to 'pick out' individual assignments, which is not true more generally. Another way of viewing it is that boolean-variable polynomials are considered $\mod(x_i^2)$, so the degree of every monomial is at most $n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, one could consider replacing every binary variable with a 4-ary variable, say by including $(x_i^2-1)(x_i^2-4) \in E$. Then you would have to have a degree $4n$ pseudo-expectation in order to guarantee recovery of a distribution over solutions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, for theoretical guarantees, it seems like approximating a root of a system of polynomals is also known as Smale's 17th problem, and apparently there is a randomized (Las Vegas) polynomial time algorithm that solves this - see &lt;a href=&quot;http://arxiv.org/pdf/1211.1528v1.pdf&quot; rel=&quot;nofollow&quot;&gt;http://arxiv.org/pdf/1211.1528v1.pdf&lt;/a&gt;. Note that this seems to be in the Blum-Shub-Smale model, so real operations are the primitive. I am not sure if this gives the guarantee that you need.&lt;/p&gt;&#xA;" OwnerUserId="8985" LastEditorUserId="8985" LastEditDate="2015-04-01T06:47:02.990" LastActivityDate="2015-04-01T06:47:02.990" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="30976" PostTypeId="2" ParentId="29366" CreationDate="2015-03-31T04:48:58.040" Score="12" Body="&lt;p&gt;As far as I know (and can interpret your question) no such result is known. &#xA;There are two reasons:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) Generally unique games hardness results (as well as NP hardness result) do not yield &quot;instance based&quot; hardness. That is, the UG-hardness result have the following flavor - &quot;if the unique games conjecture is true then for problem $P$ no algorithm can get a better approximation ratio than $\alpha$, where $\alpha$ is the ratio that the canonical SDP achieves on $P$&quot; &lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) While the theta function  is an appealing algorithm, and yields a $\sqrt{n}$ approximation for independent set for random graphs, in the worst case its approximation ratio can be close to $n$ (am not sure what's the extreme example), which can of course be achieved trivially. In fact, Hastad has gave an NP-hardness result ruling out an $n^{1-\epsilon}$ approximation for independent set for every $\epsilon&amp;gt;0$. So, even without the unique games conjecture, we know that essentially there is no non-trivial &lt;i&gt;worst case&lt;/i&gt; approximation algorithm for this problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It would be very nice if there was a natural class of graphs where the theta function yields, say, an $O(\sqrt{n})$ approximation, and it is NP or UG hard to do better. I don't know of any such result.&lt;/p&gt;&#xA;" OwnerUserId="1202" LastEditorUserId="1202" LastEditDate="2015-03-31T14:03:58.260" LastActivityDate="2015-03-31T14:03:58.260" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="30978" PostTypeId="1" CreationDate="2015-03-31T16:48:50.747" Score="1" ViewCount="417" Body="&lt;ul&gt;&#xA;&lt;li&gt;Is that the same as saying the one will try to generate a higher-degree &quot;pseudo expectation functional&quot; by solving a SOS-program ? Or is there a difference between the two things? &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Or to take a different view, &lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;We needed to show that the projector to low-degree polynomials has bounded hypercontractive norm. We start off defining the projector $\mathcal{P}_d$ as the map,&#xA;$$\mathcal{P}_d : ( \{ \pm \}^n \rightarrow \mathbb{R}   )  \rightarrow  ( \{ \pm \}^n \rightarrow \mathbb{R}  )$$&#xA;$$ f = \sum_{\alpha \subseteq [n] }\hat {f}_\alpha \chi_\alpha  \rightarrow f' = \sum_{\vert \alpha\vert \leq d } \hat{f}_\alpha \chi_\alpha$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Where $\chi_\alpha = \prod_{i \in \alpha} x_i$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then we show that the over the space of such ''$n-$variate Fourier polynomials&quot; $f'$ with degree at most $d$, $\mathbb{E} [f'^4 ] \leq 9^d ( \mathbb{E} [ f'^2 ] )^2  $ (which is equivalent to showing that  $\Vert \cal{P} \Vert_{2 \rightarrow 4 } \leq 9^d$ ) &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;So in the above context is the choice of ``4&quot; what quantifies the number of &quot;rounds&quot; of Lasserre hierarchy used? (the above is called a degree-4 SOS proof!) (as in you can run the SOS-program trying to optimize the hypercontractive norm of an operator only for as large a value of $x$(here $4$) as for which above kind of hypercontractive bounds can be established?) &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Since this hypercontractive bound on such projection operators is already proven as a theorem then what does the so-called &quot;Tensor-SDP&quot; algorithm achieve in terms of giving an &quot;efficient certificate&quot;?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="32603" LastEditorUserId="32603" LastEditDate="2015-03-31T17:35:17.570" LastActivityDate="2015-03-31T21:25:54.043" Title="What are multiple rounds of SOS/Lasserre hierarchy?" Tags="&lt;cc.complexity-theory&gt;&lt;approximation-algorithms&gt;&lt;approximation-hardness&gt;&lt;unique-games-conjecture&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="30979" PostTypeId="2" ParentId="30978" CreationDate="2015-03-31T18:39:21.330" Score="2" Body="&lt;p&gt;Yes, that's exactly what it is: optimizing over higher degree pseudoexpectations. The results I think you refer to prove that the hypercontractive inequality holds when $f$ is replaced by a degree $4$ pseudo distribution over $\mathbb{R}^{\{-1,1\}^n}$, which is stronger than the classical theorem (see Lemma 2.10 in Boaz's notes). Specifically, the stronger Lasserre version of the inequality is that for any degree 4 pseudo expectation operator $\tilde{\mathbb{E}}$ over $f:\{-1,1\}^n\to \mathbb{R}$ we have&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;\tilde{\mathbb{E}} [\|\Pi_d f\|_4^4] \leq 9^d \tilde{\mathbb{E}}[\|\Pi_d f\|_2^4],&#xA;$$&#xA;where $\Pi_d$ is the linear projection operator onto the span of degree $d$ polynomials on $\{-1, 1\}^n$, and for $g:\{-1, 1\}^n\to \mathbb{R}$, the $L^p$ norm is defined as &#xA;$$&#xA;\|g\|_p = (\mathbb{E}_{x} g(x)^p)^{1/p} = \left(\frac{1}{2^n}\sum_{x \in \{-1, 1\}^n} g(x)^p\right)^{1/p}.&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Equivalently, this means that the inequality can be proved in a weak proof system, the degree $4$ sum of squares proof system, which is the statement given in Lemma 2.10 in Boaz's notes. See the discussion after the statement of the lemma.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Something that may be confusing is that there are two different classes of polynomials going on here. One is the degree $d$ polynomials on $\{-1, 1\}^n$: you should treat these as just a subspace of $\mathbb{R}^{\{-1,1\}^n}$. The other class of polynomials are the polynomials that arise in the sum of squares proof of the hypercontractive inequality. These are polynomials &lt;em&gt;over the values of $f$&lt;/em&gt;.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The reason this is interesting is that it gives a low degree sum of squares proof that the hypercube graph is a small set expander. Roughly speaking, the fact that the cube is a small set expander is one of the main ingredients of proving that certain instances of the unique games problem are &quot;hard&quot; for some weaker SDPs, for example for constant number of rounds of the Sherali Adams + SDP hierarchy (SA+SDP). I.e. on these instances SA+SDP overestimates how many constraints can be satisfied, and in some sense the reason is that it &quot;does not know&quot; that the hypercube is  a small set expander. (This is only a rough intuition, the hard instances for Sherali Adams are much more complicated than the hypercube.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By contrast, because there is a low degree sum of squares proof that the hypergraph is a small set expander (again, I am oversimplifying a lot here, and there are many more ingredients you need), these same instances &lt;em&gt;are not&lt;/em&gt; hard even for 8 rounds of Lasserre, i.e. the Lasserre SDP &lt;em&gt;does not&lt;/em&gt; overestimate how many constraints can be satisfied in these instances. The precise statement of this result is Theorem 6.1. in the paper &lt;a href=&quot;http://arxiv.org/abs/1205.4484v3&quot; rel=&quot;nofollow&quot;&gt;Hypercontractivity, Sum-of-Squares Proofs, and their Applications&lt;/a&gt;. This is interesting, because these were our best candidates for hard instances of unique games. Essentially, we do not know any distribution on unique games instances (or instances of the small set expansion problem) which are not solved with high probability by constant round Lasserre. You may take this as some evidence that unique games may not be hard after all.&lt;/p&gt;&#xA;" OwnerUserId="4896" LastEditorUserId="4896" LastEditDate="2015-03-31T21:25:54.043" LastActivityDate="2015-03-31T21:25:54.043" CommentCount="17" ContentLicense="CC BY-SA 3.0" />
  <row Id="30981" PostTypeId="1" AcceptedAnswerId="30982" CreationDate="2015-03-31T22:20:34.097" Score="4" ViewCount="191" Body="&lt;p&gt;Consider the following communication game.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Independent Set game&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;Let $[n] = \{0,1,\dots,n-1\}$ and let $r$ be a positive integer smaller than $n/(1+\log n)$.&#xA;Alice receives a set $X$ of edges, each edge being a pair of distinct vertices from $[n]$, and Bob receives a set $Y$ of edges.&#xA;Alice and Bob must communicate to determine whether the graph $([n],X \cup Y)$ contains an independent set with $r$ vertices.&#xA;Let IS$_{n,r}(X,Y) = 1$ if there is such a set, and IS$_{n,r}(X,Y) = 0$ otherwise.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is a simple nondeterministic protocol to confirm that IS$_{n,r}(X,Y) = 1$; Alice nondeterministically chooses an $r$-vertex set $I$ that forms an independent set in her graph $([n],X)$ and sends Bob a description of this set using at most $r(1+\log n)$ bits.&#xA;Bob responds with 1 if $I$ is an independent set in $([n],Y)$ also; otherwise he responds with 0.&#xA;On the other hand, there is a fooling set of pairs of sets $(V,V)$ such that $([n],V)$ is a graph formed by $r$ disconnected vertices adjoined to a complete graph with $n-r$ vertices.&#xA;This 1-fooling set contains $\binom{n}{r}$ such fooling pairs, so the nondeterministic communication complexity of $\text{IS}_{n,r}$ is at least $\Omega(r\log n)$.&#xA;It follows that the simple protocol is optimal up to a small constant factor.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there a large 0-fooling set for IS$_{n,r}$?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;If not, is there an efficient deterministic protocol?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would also be interested in pointers to the literature if this problem is known.&#xA;The closest I have found is the Clique vs. Independent Set game of Yannakakis but this did not seem useful here.&lt;/p&gt;&#xA;" OwnerUserId="109" LastActivityDate="2015-03-31T22:55:56.343" Title="Communication complexity of Independent Set game?" Tags="&lt;cc.complexity-theory&gt;&lt;lower-bounds&gt;&lt;communication-complexity&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="30982" PostTypeId="2" ParentId="30981" CreationDate="2015-03-31T22:55:56.343" Score="3" Body="&lt;p&gt;Yes, there is a large 0-fooling set.&#xA;It is enough to prove this for $r=2$, as we can add (the same) $r-2$ independent vertices to all graphs in our construction.&#xA;For $r=2$, take every graph that has exactly ${n\choose 2}/2$ edges.&#xA;Everyone will fool around with its complement.&lt;/p&gt;&#xA;" OwnerUserId="419" LastActivityDate="2015-03-31T22:55:56.343" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="30983" PostTypeId="1" AcceptedAnswerId="30988" CreationDate="2015-04-01T10:57:00.413" Score="4" ViewCount="995" Body="&lt;p&gt;For $n&amp;gt;1$ and $~0&amp;lt;p \leq 1$,   can we upper and lower bound the following   binomial series in terms of $n$ and $p$ $$\Sigma_{i=\lceil p n \rceil}^n {n \choose i} (p )^i(1-p)^{(n-i)}$$&lt;/p&gt;&#xA;" OwnerUserId="22594" LastEditorUserId="22594" LastEditDate="2015-04-01T14:59:53.597" LastActivityDate="2015-04-01T18:03:09.707" Title="Upper and lower bound of binomial summation" Tags="&lt;pr.probability&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="30984" PostTypeId="1" CreationDate="2015-04-01T11:42:51.057" Score="3" ViewCount="146" Body="&lt;p&gt;Are there interesting polynomial time solvable problems that we know of for which the natural convex relaxation has a non-trivial integrality gap? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note: Maximum matching doesn't qualify because I consider natural the exponential-sized poly-time solvable LP.&lt;/p&gt;&#xA;" OwnerUserId="15" LastActivityDate="2015-04-01T11:42:51.057" Title="Exactly solvable but non-trivial integrality gap" Tags="&lt;ds.algorithms&gt;&lt;approximation-algorithms&gt;&lt;linear-programming&gt;&lt;integrality-gap&gt;" AnswerCount="0" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="30987" PostTypeId="2" ParentId="10045" CreationDate="2015-04-01T15:55:54.547" Score="4" Body="&lt;p&gt;see also (more recently) a &lt;a href=&quot;http://www3.nd.edu/~dthain/talks/unsolved-grid12.pptx&quot; rel=&quot;nofollow&quot;&gt;slideshow&lt;/a&gt; &quot;Unsolved Computer Science Problems in Distributed Computing&quot; from 2012 by Notre Dame researcher &lt;a href=&quot;http://www3.nd.edu/~dthain/&quot; rel=&quot;nofollow&quot;&gt;Douglas Thain&lt;/a&gt; who leads their cooperative computing lab. it has more of an applied slant but the key questions listed inevitably lead to theoretical areas.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;The Kiloscale Problem: Any workflow with sufficient concurrency should be able to run correctly on 1K cores the first time and every time with no sysadmin help.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The Halting Problem: Given a workflow running on one thousand nodes, make it stop and clean up all associated state with complete certainty.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The Dependency Problem:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(1) Given a program, figure out everything that it actually needs to run on a different machine. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;(2) Given a process, figure out the (distributed) resources it actually uses while running.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(3) Extend 1 and 2 to an entire workflow.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The Right-Sizing Problem: Given a (structured) application and a given cluster, cloud, or grid, choose a resource allocation that achieves good performance at acceptable cost.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The Troubleshooting Problem: When a failure happens in the middle of a 100-layer software stack, how and when do you report/retry/ignore/suppress the error?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The Design Problem: How should applications be designed so that they are well suited for distributed computing?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2015-04-01T15:55:54.547" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="30988" PostTypeId="2" ParentId="30983" CreationDate="2015-04-01T18:03:09.707" Score="9" Body="&lt;p&gt;Let me denote the sum as $S_{n,p}$. It gives the probability that a random sample from the binomial distribution $B(n,p)$ exceeds its expected value.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For $0&amp;lt;p&amp;lt;1$ constant, the central limit theorem tells you that $B(n,p)$ looks like the normal distribution $N(pn,p(1-p)n)$ for large $n$. Since this is symmetric, $S_{n,p}$ will be approximately $1/2$ as noted in usul’s comment.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This can be quantified using the &lt;a href=&quot;http://en.wikipedia.org/wiki/Berry%E2%80%93Esseen_theorem&quot;&gt;Berry–Esseen theorem&lt;/a&gt;: applying it to $n$ indicator random variables with mean $p$, variance $p(1-p)$, and third moment $(p^2+(1-p)^2)p(1-p)\le p(1-p)$, gives&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\left|S_{n,p}-\tfrac12\right|\le\frac C{\sqrt{p(1-p)n}}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;for a certain constant $C&amp;lt;1/2$.&lt;/p&gt;&#xA;" OwnerUserId="6959" LastActivityDate="2015-04-01T18:03:09.707" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="30992" PostTypeId="2" ParentId="30957" CreationDate="2015-04-02T00:28:19.743" Score="-1" Body="&lt;p&gt;Construct a scheduling instance as you mentioned, with $m$ machines and a job with weight and processing time $p_j=w_j=a_j$ for every $j=1,...,3m$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For any schedule, let $J_i$ be the jobs assigned to machine $i$, and assume wlog that they are scheduled in order of index. Then the cost associated with jobs in $J_i$ is:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$ \sum_{k\in J_i} w_k \sum_{j \leq k | j\in J_i} p_j = \sum_{j,k \in J_i| j\leq i} a_j a_k = \frac12 (\sum_{j \in J_i} a_j )^2  + \frac12 \sum_{j \in J_i} a_j^2 &#xA; .$$ This is independent of the precise way the jobs are scheduled on the machine, only the total load $L_i = \sum_{j \in J_i} p_j$ matters. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It follows that if the 3-Partition is a yes-instance, if and only if there is a schedule with total load $L_i=B$ for every machine $i$ and therefore total cost:&#xA;$$\frac12 m B^2 +  \sum_{j=1}^{3m} \frac12 a_j^2 . $$&lt;/p&gt;&#xA;" OwnerUserId="32620" LastEditorUserId="32620" LastEditDate="2018-03-06T19:42:52.067" LastActivityDate="2018-03-06T19:42:52.067" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="30994" PostTypeId="1" CreationDate="2015-04-02T11:00:57.640" Score="7" ViewCount="145" Body="&lt;p&gt;In the &lt;a href=&quot;https://en.wikipedia.org/wiki/Fair_cake-cutting&quot;&gt;fair cake-cutting&lt;/a&gt;, two different computational models are used:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;A discrete model, in which the algorithm issues queries to the players and proceeds according to their replies;&lt;/li&gt;&#xA;&lt;li&gt;A continuous model, in which one or more &quot;knives&quot; move continuously over the cake under certain restrictions, until a player shouts &quot;stop&quot;.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The continuous model is strictly stronger: there are problems that can be solved easily in the continuous model, but cannot be solved in finite time in the discrete model, e.g, &lt;a href=&quot;https://en.wikipedia.org/wiki/Envy-free#Connected_pieces&quot;&gt;envy-free cake-cutting with connected pieces&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So I wonder what other problems, besides cake-cutting, can benefit from a &quot;moving knife&quot; or a similar continuous model? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, is there a continuous variant of a Turing machine, that can easily solve problems that are unsolvable for a discrete Turing machine?&lt;/p&gt;&#xA;" OwnerUserId="9453" LastActivityDate="2015-04-02T11:00:57.640" Title="What can you do with a moving knife besides cutting a cake?" Tags="&lt;computability&gt;&lt;turing-machines&gt;&lt;machine-models&gt;" AnswerCount="0" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="30997" PostTypeId="2" ParentId="10045" CreationDate="2015-04-02T14:40:55.737" Score="14" Body="&lt;p&gt;The &lt;strong&gt;distributed time complexity&lt;/strong&gt; of numerous &lt;strong&gt;graph problems&lt;/strong&gt; is still an open question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In general, distributed graph algorithms is an area in which we would expect to have (at least asymptotically) &lt;strong&gt;matching upper and lower bounds&lt;/strong&gt; for the distributed time complexity of graph problems. For example, for many optimisation problems &lt;a href=&quot;http://arxiv.org/abs/1011.5470&quot;&gt;tight bounds are known&lt;/a&gt;. However, there are lots of classical symmetry-breaking problems that are still poorly understood.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We do not know, for example, how many communication rounds does it take to find a &lt;strong&gt;maximal independent set&lt;/strong&gt;, a &lt;strong&gt;maximal matching&lt;/strong&gt;, a proper &lt;strong&gt;vertex colouring&lt;/strong&gt; with $\Delta+1$ colours, or a proper &lt;strong&gt;edges colouring&lt;/strong&gt; with $2\Delta-1$ colours in a graph with a maximum degree of $\Delta$. All of these problems are easy to solve with greedy centralised algorithms, and there are efficient distributed algorithms for each of these problems, but we do not know if any of the current algorithms are optimal.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, for all of these problems there are deterministic distributed algorithms for the LOCAL model with running times of $O(\Delta + \log^* n)$, where $n$ is the number of nodes. It is &lt;a href=&quot;http://dx.doi.org/10.1137/0221015&quot;&gt;well known&lt;/a&gt; that these problems cannot be solved in time $O(\Delta) + o(\log^* n)$ rounds, but it is not known if they can be solved in time $o(\Delta) + O(\log^* n)$ rounds. In general, we do not understand how the &lt;a href=&quot;https://users.ics.aalto.fi/suomela/lbla/&quot;&gt;running times depend on the maximum degree&lt;/a&gt; — this is what I call the &lt;strong&gt;local coordination problem&lt;/strong&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The role of &lt;strong&gt;randomness&lt;/strong&gt; is another major issue. For example, many of the above-mentioned problems can be solved in polylog-time with randomised algorithms (i.e., the time is polylog in $n$ for any value of $\Delta$), but no polylog-time deterministic algorithms are known for e.g. maximal independent sets. This questions, as well as many other open problems, are discussed in more detail in Section 11 of the &lt;a href=&quot;http://www.cs.bgu.ac.il/~elkinm/book.pdf&quot;&gt;recent book by Barenboim and Elkin&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Above, I have focused on questions that are specific to distributed computing. There are also open questions in distributed graph algorithms that have nontrivial connections to open problems in theoretical computer science in general. For example, non-constant lower bounds for the &lt;strong&gt;congested clique&lt;/strong&gt; model are a big open question in distributed computing; &lt;a href=&quot;http://dx.doi.org/10.1145/2611462.2611493&quot;&gt;it was recently discovered&lt;/a&gt; that such lower bounds would also imply new lower bounds for ACC.&lt;/p&gt;&#xA;" OwnerUserId="74" LastEditorUserId="74" LastEditDate="2015-04-02T14:48:49.837" LastActivityDate="2015-04-02T14:48:49.837" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="30998" PostTypeId="1" CreationDate="2015-04-02T15:57:50.630" Score="2" ViewCount="132" Body="&lt;p&gt;It is known that approximately counting the independent sets of a graph is hard, even if randomness can be used, and even if we restrict ourselves to bounded degree graphs with degree bound at least 6. Specifically, if an FPRAS exists for such a graph class, it is known to imply the unlikely collapse $\mathsf{NP}=\mathsf{RP}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is: what happens if we are satisfied with a PRAS, rather than FPRAS? That is, in the same setting, we only require that the algorithm runs in polynomial time for any &lt;em&gt;fixed&lt;/em&gt; error parameter $\epsilon&amp;gt;0$, but does not have to be polynomially bounded in $1/\epsilon$. Is there any hardness result known with this weaker assumption?&lt;/p&gt;&#xA;" OwnerUserId="12710" LastActivityDate="2015-04-02T15:57:50.630" Title="Hardness of approximately counting independent sets with a PRAS, rather than FPRAS" Tags="&lt;cc.complexity-theory&gt;&lt;graph-algorithms&gt;&lt;counting-complexity&gt;&lt;approximation-hardness&gt;" AnswerCount="0" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31003" PostTypeId="1" AcceptedAnswerId="31004" CreationDate="2015-04-03T12:14:56.650" Score="3" ViewCount="242" Body="&lt;p&gt;The &lt;a href=&quot;https://en.wikipedia.org/w/index.php?title=Monad_(category_theory)&amp;amp;oldid=644350323#Monads_and_adjunctions&quot; rel=&quot;nofollow&quot;&gt;Wikipedia page for Monad&lt;/a&gt; says just that for a monad $(T,\eta,\mu)$ we can define the category of all adjunctions that define the monad:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Let ￼$\textbf{Adj}(C,T)$ be the category whose objects are the adjunctions ￼$(F,G,e,\varepsilon)$ such that $(GF,e,G\varepsilon F)=(T,\eta,\mu)$￼ and whose arrows are the morphisms of adjunctions which are the identity on ￼$C$. Then this category has&lt;/p&gt;&#xA;  &#xA;  &lt;ul&gt;&#xA;  &lt;li&gt;an initial object $(F_T,G_T,\eta,\mu_T) : C\to C_T$￼, where $C_T$￼ is the &lt;a href=&quot;http://en.wikipedia.org/wiki/Kleisli_category&quot; rel=&quot;nofollow&quot;&gt;Kleisli category&lt;/a&gt;,&lt;/li&gt;&#xA;  &lt;li&gt;a terminal object $(F^T,G^T,\eta,\mu^T) : C\to C^T$￼, where ￼$C^T$ is the Eilenberg-Moore category.&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;What are the morphisms of adjunctions in $\textbf{Adj}(C,T)$ and what is meant by &lt;em&gt;... which are the identity on $C$&lt;/em&gt;?&lt;/p&gt;&#xA;" OwnerUserId="10336" LastActivityDate="2015-04-03T13:19:57.443" Title="What are the morphisms of Adj(C,T) - the category whose objects are the adjunctions of a given monad?" Tags="&lt;ct.category-theory&gt;&lt;monad&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31004" PostTypeId="2" ParentId="31003" CreationDate="2015-04-03T13:19:57.443" Score="8" Body="&lt;p&gt;The definition of morphism of adjunctions may be found in MacLane's book. Let $F:\mathcal C\rightarrow\mathcal D$, $G:\mathcal D\rightarrow\mathcal C$, $F':\mathcal C'\rightarrow\mathcal D'$, $G':\mathcal D'\rightarrow\mathcal C'$, and let $(F,G,\eta,\varepsilon)$, $(F',G',\eta',\varepsilon')$ be adjunctions. A &lt;em&gt;map of adjunctions&lt;/em&gt; from the first to the second is a pair of functors $L:\mathcal C\rightarrow\mathcal C'$, $K:\mathcal D\rightarrow\mathcal D'$ such that $KF=F'L$, $LG=G'K$ and $L\eta=\eta'L$ (or, equivalently, $\varepsilon K=K\varepsilon'$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the case of the category of adjunctions of a monad, the category $\mathcal C$ on which the endofunctor of the monad acts is fixed, so $\mathcal C'=\mathcal C$ and one considers the above definition only in case $L=Id_{\mathcal C}$.&lt;/p&gt;&#xA;" OwnerUserId="20716" LastActivityDate="2015-04-03T13:19:57.443" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="31005" PostTypeId="1" CreationDate="2015-04-03T17:00:23.730" Score="17" ViewCount="458" Body="&lt;p&gt;Has anybody seen the following (or similar) question being considered:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;Can it be &lt;b&gt;easier&lt;/b&gt; to determine the presence/absence of $s$-$t$ paths than to determine the&#xA;presence/absence of &lt;i&gt;short&lt;/i&gt; $s$-$t$ paths?&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;A bit more formally, the &lt;i&gt;distance&lt;/i&gt;-$k$ &lt;i&gt;connectivity&lt;/i&gt; problem STCON(n,k) is, given a subgraph of a complete undirected graph $K_n$ on $[n]=\{1,\ldots,n\}$, to decide whether there is a path from node $s=1$ to node $t=n$ of length $\leq k$. By the &lt;i&gt;length&lt;/i&gt;, I mean the number of inner nodes (just for notational convenience).&#xA;The &lt;i&gt;connectivity&lt;/i&gt; problem STCON(n) corresponds to the case when $k=n-2$:&#xA;is there any $s$-$t$ path at all?&#xA;These problems are monotone boolean functions of $\binom{n}{2}$ variables $x_{i,j}$ corresponding&#xA;to the edges of $K_n$.&#xA;&lt;p&gt;&#xA;It is well known, that $O(kn^2)$ fanin-$2$ AND and OR gates are enough to compute&#xA;STCON(n,k). The desired monotone circuit is given by &lt;a href=&quot;http://en.wikipedia.org/wiki/Bellman%E2%80%93Ford_algorithm&quot; rel=&quot;noreferrer&quot;&gt;Bellman-Ford&lt;/a&gt;:&#xA;first compute $F_j^{(0)}=x_{s,j}$ for all nodes $j$, and then use the recursion&#xA;$F_j^{(l+1)}=\bigvee_{i\in[n]} F_i^{(l)}\land x_{i,j}$. Then $F_j^{(l)}$ accepts a given graph&#xA;iff it has an $s$-$j$ path of length $\leq l$. Hence, $F_n^{(k)}=$STCON(n,k).&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;&lt;b&gt;Question 1:&lt;/b&gt; Can  STCON(n) have more than constant times &lt;b&gt;smaller&lt;/b&gt; monotone circuits than STCON(n,k), for some $k\ll n$?&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;A boolean function $f(x_1,\ldots,x_n)$ is a &lt;i&gt;monotone projection&lt;/i&gt; of a boolean function&#xA;$g(y_1,\ldots,y_m)$, if the function $f$ can be obtained from $g$ by replacing each $y$-variable by $0$ or $1$&#xA;or by some $x$-variable. Say, we trivially have that every THRESHOLD(n,k) is a monotone projection of MAJORITY(2n).&#xA;&lt;p&gt;&#xA;By taking $k$ copies of the input graph for STCON(n,k), one can easily show that STCON(n,k) is a monotone projection of STCON(kn). Thus, STCON(kn) cannot have smaller circuits than STCON(n,k).&#xA;Can the factor &quot;k&quot; here be replaced by some constant?&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;&lt;b&gt;Question 2:&lt;/b&gt; Is  STCON(n,k) a monotone projection of STCON(m) for some $m &amp;lt; kn$?&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;b&gt;ADDDED&lt;/b&gt; (Apr.7 ): Among related results I know are the following:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt; &lt;i&gt;STCON and monotone &lt;b&gt;NC$^1$&lt;/b&gt;&lt;/i&gt;: if a boolean function $f$ has a monotone formula of size $s$, then $f$ is a monotone projection of STCON(m) for $m=O(s)$; this is easy: just view formulas as parallel-sequential networks. In particular, this implies that &lt;i&gt;every&lt;/i&gt; monotone&#xA;    boolean function of $n$ variables &lt;i&gt;is&lt;/i&gt; a monotone projection of STCON(m) for some $m\leq n2^n$ (take a monotone DNF).&#xA;&#xA;&lt;li&gt; &lt;i&gt;STCON itself is not in monotone &lt;b&gt;NC$^1$&lt;/b&gt;&lt;/i&gt;: every monotone circuit for STCON(n,k) requires depth about $(\log k)(\log n)$ (independent on circuit size!).  This was shown by &lt;a href=&quot;http://www.math.ias.edu/~avi/PUBLICATIONS/MYPAPERS/KW90/KW90.pdf&quot; rel=&quot;noreferrer&quot;&gt;Karchmer and Wigderson&lt;/a&gt;. As observed by &lt;a href=&quot;http://www.mathcs.emory.edu/~mic/papers/4.ps&quot; rel=&quot;noreferrer&quot;&gt;Grigni and Sipser&lt;/a&gt;, this holds even when AND gates are allowed to have unbounded fanin! If, however, OR gates can have large fanin and AND gates have fanin-$2$, then&#xA; depth $2\log k$ and size $O(n^3\log k)$ is already enough: repeated squaring of the adjacency matrix  $\log k$ times.&#xA;&#xA;&lt;li&gt; &lt;i&gt;$s$-$t$ Connectivity vs. Connectivity&lt;/i&gt;: If $f=x_1x_2\lor x_3x_4\lor\cdots\lor x_{n-1}x_n$ is a monotone projection of CONN(m), then $m\geq 2^n+1$. This was proved by &#xA; &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=3158&amp;CFID=497574256&amp;CFTOKEN=86163804&quot; rel=&quot;noreferrer&quot;&gt;Skyum and Valiant&lt;/a&gt;.&#xA;   Here CONN is a &quot;sibling&quot; of STCON: accepts a graph iff it is connected. Note that this particular function $f$&#xA;   &lt;i&gt;is&lt;/i&gt; a monotone projection of STCON(m) even for $m=n$: take a bunch of $n/2$ parallel paths&#xA;   of length two. &#xA;&#xA;&lt;li&gt; &lt;i&gt;Formulas vs. Circuits&lt;/i&gt;: If the depth is restricted to $o(\log n)$ then &#xA;STCON(n,k) requires even non-monotone(!) unbounded fanin &lt;i&gt;formulas&lt;/i&gt;&#xA;of size $n^{\Omega(\log k)}$ for all $k\leq \log\log n$. This was proved by &lt;a href=&quot;http://eccc.hpi-web.de/report/2013/169/download&quot; rel=&quot;noreferrer&quot;&gt;Rossman&lt;/a&gt;, and separated for the first time&#xA;bounded-depth circuits from formulas, because for such values of $k$, repeated squaring&#xA;gives the desired small (even monotone) &lt;i&gt;circuit&lt;/i&gt; of depth $2\log k\leq 2\log\log\log n=o(\log n)$. &#xA;&#xA;&lt;li&gt; &lt;i&gt;Directed vs. Undirected Connectivity&lt;/i&gt;: The directed reachability problem DSTCON(n) (where&#xA;input graphs are directed)&#xA;is a monotone projection of STCON(m) only if $m=n^{\Theta(\log n)}$. This was proved by &#xA;&lt;a href=&quot;http://eccc.hpi-web.de/report/2009/142/revision/1/download&quot; rel=&quot;noreferrer&quot;&gt;Potechin&lt;/a&gt;,&#xA;and separated monotone versions of &lt;b&gt;L&lt;/b&gt; and &lt;b&gt;NL&lt;/b&gt;.&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Does anybody know some results more tightly related to the STCON(n,k) vs. STCON(n) question itself?&#xA;&lt;p&gt;&#xA;&lt;hr&gt;&#xA;&lt;b&gt;CORRECTION&lt;/b&gt; (Apr 9): Unfortunately, just taking $k$ copies of the input graph $G$ for STCON(n,k), only shows that&#xA;STCON(n,k) is a monotone projection of &lt;b&gt;D&lt;/b&gt;STCON(kn), the &lt;b&gt;directed&lt;/b&gt; (even acyclic) version of STCON. The difficult direction is to ensure that the modified graph $H=H_G$ has no s-t paths, when $G$ &lt;i&gt;has&lt;/i&gt; s-t paths, but all they are longer than $k$. If $H$ is allowed to be directed, this is easy to ensure by arranging  the copies of $G$ into $k$ layers, and drawing &lt;i&gt;directed&lt;/i&gt; edges between layers according to $G$. But if the edges $H$ are required to be &lt;i&gt;undirected&lt;/i&gt;, this simple layering trick won't work.  So, I must refine my Question 2 as (cf. with the 5-th result by Potechin above):&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;&lt;b&gt;Question 2':&lt;/b&gt; Is  STCON(n,k) a monotone projection of &lt;b&gt;D&lt;/b&gt;STCON(m) for some $m &amp;lt; kn$?&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Both answers would be interesting. If YES, this would show that layering is not the best way to &quot;count&quot;. If NO, this would show that every monotone switching network for STCON(n,k) requires $kn$ nodes. (By the Bellman-Ford algorithm - which itself is just the &quot;layering trick&quot; in disguise - $kn$ nodes are also enough.)&lt;/p&gt;&#xA;" OwnerUserId="5788" LastEditorUserId="5788" LastEditDate="2015-04-09T19:12:44.197" LastActivityDate="2016-04-01T14:00:27.893" Title="Can short-distance connectivity be harder than connectivity?" Tags="&lt;cc.complexity-theory&gt;&lt;graph-algorithms&gt;&lt;circuit-complexity&gt;&lt;lower-bounds&gt;&lt;dynamic-programming&gt;" AnswerCount="0" CommentCount="0" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="31006" PostTypeId="1" CreationDate="2015-04-03T19:52:53.263" Score="18" ViewCount="730" Body="&lt;p&gt;I am interested in the following problem:  Given an $n\times n$ matrix, is there an undirected graph on $n$ vertices whose adjacency matrix squared is that matrix?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is the computational complexity of this problem known?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Remarks:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Of course this can also be phrased as a search problem, where you are given the matrix $A^2$ for $A$ an adjacency matrix of an undirected graph and the problem is to find any adjacency matrix (of an undirected graph) $B$ such that $B^2 = A^2$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Motwani and Sudan (&lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/0166218X94000239&quot;&gt;Computing roots of graphs is hard&lt;/a&gt;, 1994) and &#xA;Kutz (&lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0304397504004165&quot;&gt;The complexity of Boolean matrix root computation&lt;/a&gt;, 2004) show similar but distinct problems from this one are NP-hard - they consider only the square of adjacency matrices under Boolean matrix multiplication.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="32636" LastEditorUserId="123" LastEditDate="2015-04-04T19:15:49.393" LastActivityDate="2015-04-06T22:19:06.133" Title="Complexity of the recovery of an adjacency matrix from its square" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;" AnswerCount="2" CommentCount="4" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="31007" PostTypeId="1" CreationDate="2015-04-03T21:45:11.840" Score="15" ViewCount="432" Body="&lt;p&gt;Information complexity has been a very useful tool in communication complexity, mainly used to lower bound the communication complexity of distributed problems. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there an analogue of information complexity for query complexity? There are many parallels between query complexity and communication complexity; oftentimes (but not always!) a lower bound in one model gets translated to a lower bound in the other model. Sometimes this translation is quite nontrivial.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a notion of information complexity that is useful for lower bounding the query complexity of problems? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A first pass seems to indicate that information complexity is not very useful; for example, the query complexity of computing the OR of $N$ bits is $\Omega(N)$ for randomized algorithms and $\Omega(\sqrt{N})$ for quantum algorithms, whereas the most straightforward adaption of the notion of information complexity indicates that the information learned by any query algorithm is at most $O(\log N)$ (because the algorithm stops when it sees the first $1$ in the input). &lt;/p&gt;&#xA;" OwnerUserId="170" LastActivityDate="2015-04-15T09:05:58.570" Title="Information complexity of query algorithms?" Tags="&lt;it.information-theory&gt;&lt;communication-complexity&gt;&lt;query-complexity&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="31009" PostTypeId="2" ParentId="10045" CreationDate="2015-04-04T06:22:28.487" Score="7" Body="&lt;p&gt;Open problems on &lt;strong&gt;&quot;Distributed Algorithms for Minimum Spanning Trees (MST)&quot;:&lt;/strong&gt; (listed in [1])&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Concerning &lt;em&gt;time&lt;/em&gt; complexity,&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Near time optimal algorithms and lower bounds appear in [2] and references herein. The optimal time complexity remains an open problem.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Concerning &lt;em&gt;message&lt;/em&gt; complexity,&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;As far as &lt;em&gt;message complexity&lt;/em&gt;, although the asymptotically tight bound of $O(m + n \log n)$ for the MST problem in general graphs is known, finding the actual constants remains an open problem.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Concerning &lt;em&gt;synchronous&lt;/em&gt; model:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;In a synchronous model for overlay networks, where all processors are directly connected to each other, an MST can be constructed in sublogarithmic time, namely $O(\log \log n)$ communication rounds [3], and no corresponding lower bound is known.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Also note that there is an $O(\log n)$ &lt;em&gt;approximation&lt;/em&gt; algorithm for distributed MST [4].&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;[1] &lt;a href=&quot;http://link.springer.com/referenceworkentry/10.1007%2F978-0-387-30162-4_116&quot;&gt;Distributed Algorithms for Minimum Spanning Trees&lt;/a&gt; by Sergio Rajsbaum in &quot;Encyclopedia of Algorithms&quot;, 2008.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] &lt;a href=&quot;https://www.eng.tau.ac.il/~boaz/cd/journal5.pdf&quot;&gt;Distributed MST for constant diameter graphs&lt;/a&gt; by Lotker et al. Distrib. Comput., 2006.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[3] &lt;a href=&quot;http://epubs.siam.org/doi/abs/10.1137/S0097539704441848&quot;&gt;Minimum weight spanning tree construction in $O(\log \log n)$ communication&#xA;rounds&lt;/a&gt; by Lotker et al. SIAM J. &#xA;Comput., 35(1), 2005.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[4] &lt;a href=&quot;http://link.springer.com/chapter/10.1007%2F11864219_25&quot;&gt;A Fast Distributed Approximation Algorithm for Minimum Spanning Trees&lt;/a&gt; by Khan et al. DISC 2006.&lt;/p&gt;&#xA;" OwnerUserId="12739" LastActivityDate="2015-04-04T06:22:28.487" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31010" PostTypeId="2" ParentId="30916" CreationDate="2015-04-04T06:53:53.443" Score="0" Body="&lt;p&gt;&lt;strong&gt;Answer my own question:&lt;/strong&gt; The answer is (&lt;em&gt;probably&lt;/em&gt;; please let me know if I am wrong) negative: it is impossible to simulate sequential registers from causal registers. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; the following proof is indirect. And I am still interested in a direct proof.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Theorem: It is impossible to simulate sequential registers from causal registers.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Proof: In the thesis [1], Kawash shows that causal consistency memory (with only $\texttt{read/write}$ operations) cannot solve mutual exclusion. However, &lt;a href=&quot;http://en.wikipedia.org/wiki/Lamport&amp;#39;s_bakery_algorithm&quot; rel=&quot;nofollow&quot;&gt;Lamport's bakery algorithm (wiki)&lt;/a&gt;, when run on sequential consistency memories, solves mutual exclusion.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;[1] &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.136.7383&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;nofollow&quot;&gt;Limitations and Capabilities of Weak Memory Consistency Systems&lt;/a&gt; by Jalal Y. Kawash, PhD Thesis, 2000.&lt;/p&gt;&#xA;" OwnerUserId="12739" LastEditorUserId="12739" LastEditDate="2015-04-04T16:10:22.140" LastActivityDate="2015-04-04T16:10:22.140" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31011" PostTypeId="2" ParentId="31006" CreationDate="2015-04-04T10:04:03.853" Score="3" Body="&lt;p&gt;It is known that squares of bipartite graphs can be recognized in polynomial time ( See &lt;a href=&quot;http://www.cse.cuhk.edu.hk/~chi/papers/bipartite-roots.pdf&quot; rel=&quot;nofollow&quot;&gt;this&lt;/a&gt;). In general, there is a &lt;a href=&quot;http://www.cse.cuhk.edu.hk/~chi/papers/girth.pdf&quot; rel=&quot;nofollow&quot;&gt;characterization&lt;/a&gt; of the complexity of this problem based on the girth of the underlying graph. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Recently there was a optimization &lt;a href=&quot;http://arxiv.org/pdf/1310.5469v1.pdf&quot; rel=&quot;nofollow&quot;&gt;variant&lt;/a&gt; studied, which gives FPT algorithms for the problem when you want to test whether a graph has a square root with at most (respectively at least) $s$ edges for some given integer $s$.&lt;/p&gt;&#xA;" OwnerUserId="256" LastActivityDate="2015-04-04T10:04:03.853" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="31019" PostTypeId="1" AcceptedAnswerId="31022" CreationDate="2015-04-05T06:37:10.460" Score="15" ViewCount="440" Body="&lt;p&gt;If $\mathsf{L = NL}$, &lt;a href=&quot;https://en.wikipedia.org/wiki/2-satisfiability#NL-completeness&quot;&gt;then&lt;/a&gt; there is a logspace algorithm that solves the &lt;em&gt;decision version&lt;/em&gt; of 2-SAT.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Is $\mathsf{L = NL}$ known to imply that there is a logspace algorithm to &lt;em&gt;obtain a satisfying assignment&lt;/em&gt;, when given a satisfiable 2-SAT instance as input?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;If not, what about algorithms which use sub-linear space (in the number of clauses)?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerDisplayName="user6973" LastEditorUserId="248" LastEditDate="2015-04-05T19:50:32.380" LastActivityDate="2015-04-05T19:50:32.380" Title="Complexity of the search version of 2-SAT assuming $\mathsf{L = NL}$" Tags="&lt;sat&gt;&lt;search-problem&gt;&lt;logspace&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31022" PostTypeId="2" ParentId="31019" CreationDate="2015-04-05T15:02:49.517" Score="16" Body="&lt;p&gt;Given a satisfiable 2-CNF $\phi$, you can compute a particular satisfying assignment $e$ by an NL-function (that is, there is an NL-predicate $P(\phi,i)$ that tells you whether $e(x_i)$ is true). One way to do that is described below. I will freely use the fact that NL is closed under $\mathrm{AC}^0$-reductions, hence NL-functions are closed under composition; this is a consequence of NL = coNL.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $\phi(x_1,\dots,x_n)$ be a satisfiable 2-CNF. For any literal $a$, let $a^\to$ be the number of literals reachable from $a$ by a directed path in the implication graph of $\phi$, and $\let\ot\leftarrow a^\ot$ the number of literals from which $a$ is reachable. Both are computable in NL.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Observe that $\let\ob\overline \ob a^\to=a^\ot$, and $\ob a^\ot=a^\to$, due to skew-symmetry of the implication graph. Define an assignment $e$ so that&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;if $a^\ot&amp;gt;a^\to$, then $e(a)=1$;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;if $a^\ot&amp;lt;a^\to$, then $e(a)=0$;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;if $a^\ot=a^\to$, let $i$ be minimal such that $x_i$ or $\ob x_i$ appears in the strongly connected component of $a$ (it cannot be both, as $\phi$ is satisfiable). Put $e(a)=1$ if $x_i$ appears, and $e(a)=0$ otherwise.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The skew-symmetry of the graph implies that $e(\ob a)=\ob{e(a)}$, hence this is a well-defined assignment. Moreover, for any edge $a\to b$ in the implication graph:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;If $a$ is not reachable from $b$, then $a^\ot&amp;lt;b^\ot$, and $a^\to&amp;gt;b^\to$. Thus, $e(a)=1$ implies $e(b)=1$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Otherwise, $a$ and $b$ are in the same strongly connected component, and $a^\ot=b^\ot$, $a^\to=b^\to$. Thus, $e(a)=e(b)$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;It follows that $e(\phi)=1$.&lt;/p&gt;&#xA;" OwnerUserId="6959" LastActivityDate="2015-04-05T15:02:49.517" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="31023" PostTypeId="1" CreationDate="2015-04-05T16:59:36.450" Score="1" ViewCount="108" Body="&lt;p&gt;As input, we are give $k$-bit approximation (after the decimal point) of $\log(a)$ and $\log(b)$ for positive integers $a$ and $b$, i.e, we are given $\alpha$ and $\beta$ (as binary strings) as input such that $(\log(a)-\alpha)\leq \frac{1}{2^k}$ and $(\log(b)-\beta)\leq \frac{1}{2^k}$. We need to compute $(k-c)$-bit approximation of $\log(a+b)$, i.e, we want to compute $\gamma$(as binary string) such that  $(\log(a+b)-\gamma)\leq \frac{1}{2^{k-c}}$. Here $c$ is some constant integer, you can choose it to be anything as long as running time complexity bound is satisfied. Required time complexity is $\mathrm{poly}(|\alpha|, |\beta|, k)$, here time complexity is defined as number of bit operations.  $|\alpha|, |\beta|$ denote the bit length of $\alpha$ and $\beta$ respectively.&lt;/p&gt;&#xA;" OwnerUserId="16008" LastActivityDate="2015-04-05T16:59:36.450" Title="Computing log of sum of positive integers" Tags="&lt;na.numerical-analysis&gt;&lt;computing-over-reals&gt;&lt;approximation&gt;" AnswerCount="0" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="31025" PostTypeId="1" AcceptedAnswerId="31029" CreationDate="2015-04-05T20:10:44.520" Score="14" ViewCount="1189" Body="&lt;p&gt;Most of us are familiar with &amp;mdash; or at least have heard of &amp;mdash; the Shannon entropy of a random variable, $H(X) = -\mathbb{E} \bigl[ \log p(X)\bigr]$, and all the related information-theoretic measures such as relative entropy, mutual information, and so on. There are a few other measures of entropy that are commonly used in theoretical computer science and information theory, such as the min-entropy of a random variable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I've started seeing these &lt;a href=&quot;http://en.wikipedia.org/wiki/R%C3%A9nyi_entropy&quot;&gt;so-called Renyi entropies&lt;/a&gt; more often as I browse the literature. They generalize the Shannon entropy and the min-entropy, and in fact provide a whole spectrum of entropic measures of a random variable. &#xA;I work mostly in the area of quantum information, where the quantum version of Renyi entropy is also considered quite often. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;What I don't really understand is why they are useful. I've heard that oftentimes they're easier to work with analytically than say Shannon/von Neumann entropy or min-entropy. But they also can be related back to Shannon entropy/min-entropy, as well.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can anyone provide examples (classical or quantum) of when using Renyi entropies is &quot;the right thing to do&quot;? What I'm looking for is some &quot;mental hook&quot; or &quot;template&quot; for knowing when I might want to use Renyi entropies.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks!&lt;/p&gt;&#xA;" OwnerUserId="170" LastEditorUserId="248" LastEditDate="2015-04-14T04:46:15.603" LastActivityDate="2018-07-13T09:44:27.050" Title="The utility of Renyi entropies?" Tags="&lt;it.information-theory&gt;&lt;quantum-information&gt;" AnswerCount="5" CommentCount="1" FavoriteCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="31026" PostTypeId="2" ParentId="31025" CreationDate="2015-04-05T20:56:05.980" Score="3" Body="&lt;p&gt;This other stackexchange answer and this blog post might be very helpful to get a quick feel of a basic example,&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://physics.stackexchange.com/questions/73424/deriving-entanglement-entropy-from-renyi-entropy&quot;&gt;https://physics.stackexchange.com/questions/73424/deriving-entanglement-entropy-from-renyi-entropy&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://johncarlosbaez.wordpress.com/2011/02/10/rnyi-entropy-and-free-energy/&quot; rel=&quot;nofollow noreferrer&quot;&gt;https://johncarlosbaez.wordpress.com/2011/02/10/rnyi-entropy-and-free-energy/&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Roughly speaking Renyi entropies know about the excited states of a quantum system but the entanglement entropy knows about the ground states. WARNING: This intuition could be terribly crude but might just be a good &quot;mental hook&quot; :D I would be VERY happy to know of a better and precise way to say this! &lt;/p&gt;&#xA;&#xA;&lt;p&gt;One can think of calculating the entanglement entropy $S_1$ (which is a more physical quantity) as the singular limit of calculating the Renyi entropies ($S_q$ for each $q \in \mathbb{Z}^+$). But this limit $S_1 = limit_{q \rightarrow 1} S_q$ is terribly badly defined. So often the idea is that one can calculate $S_q$ at an arbitrary integer value and then do an analytic continuation of that to $q \in \mathbb{R}$ and then try to define taking of the $ q \rightarrow 1$ limit. (though always $q \in \mathbb{R}$, this I call &quot;analytic&quot; continuation because often enough one needs to do the interpolation via contours in the complex plane - and the continuation can depend on what contours one chooses through the poles and branch-cuts of the $S_q$ that one started with) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;At integral values of $q&amp;gt;1$ typically there is a always a very well-defined construction in terms of some integration of some function on some $q-$branched manifold. After one has done such an integration one happily forgets about the manifold used and just tries to do the analytic continuation parametrically in the variable $q$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are always a lot of issues about existence and well-posedness when one tries to do these anayltic continuations - but for someone like me who is brought up on a daily diet of Feynman path-integrals its a very common issue to deal with and we have a lot of tools to address these. Three nice papers to look into for these issues are, &lt;a href=&quot;http://arxiv.org/pdf/1306.5242.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://arxiv.org/pdf/1306.5242.pdf&lt;/a&gt;, &lt;a href=&quot;http://arxiv.org/pdf/1402.5396.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://arxiv.org/pdf/1402.5396.pdf&lt;/a&gt;, &lt;a href=&quot;http://arxiv.org/pdf/1303.7221.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://arxiv.org/pdf/1303.7221.pdf&lt;/a&gt; (the last of these papers might be an easier starting point) This presentation might also help, &lt;a href=&quot;https://www.icts.res.in/media/uploads/Talk/Document/Tadashi_Takayanagi.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;https://www.icts.res.in/media/uploads/Talk/Document/Tadashi_Takayanagi.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What Renyi entropy says in terms of quantum complexity theory might be an exciting question! Can one think of the Renyi index as somehow parameterizing a hierarchy of complexity classes? That should be fun if true! Do let me know :) &lt;/p&gt;&#xA;" OwnerUserId="32603" LastEditorUserId="-1" LastEditDate="2017-04-13T12:40:17.207" LastActivityDate="2015-04-05T21:38:21.640" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31029" PostTypeId="2" ParentId="31025" CreationDate="2015-04-06T00:33:48.110" Score="15" Body="&lt;p&gt;Consider trying to make atomic guesses for an unknown random variable $X$ distributed over some finite set $A.$ In Shannon entropy, it is assumed that you can query bit by bit, i.e., if $A=\{1,\ldots,N\}$ you can ask: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Is $X\in \{1,\ldots,N/2\}$ ?&lt;/strong&gt; (assume $N$ even or use floor/ceiling functions)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In crypto and some decoding scenarios this is not realistic. Trying to guess an unknown pasword you need to make atomic queries, i.e. query if $X$ is a specific value.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It turns out that the expected number of queries to guess a random variable $X$ then depends tightly on the Renyi entropy of order $1/2.$ So do some higher moments. For example&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$E[G]\leq \frac{(\sum_{x \in A} P_X(x)^{1/2})^2}{2}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;and the numerator is essentially the logarithm of Renyi entropy of order $1/2.$ One can also make Shannon entropy very large while Renyi entropy and expectation of the number of guesses is very small. If you relied on Shannon entropy for security you'd be in trouble in that case.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Please also see the related question &lt;a href=&quot;https://cstheory.stackexchange.com/questions/12892/guessing-a-low-entropy-value-in-multiple-attempts?rq=1&quot;&gt;Guessing a low entropy value in multiple attempts&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some references:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;J. O. Pliam, On the Incomparability of Entropy and Marginal Guesswork in Brute-Force Attacks. INDOCRYPT 2000: 67-79&lt;/li&gt;&#xA;&lt;li&gt;E. Arikan, An inequality on guessing and its application to sequential decoding. IEEE Transactions on Information Theory 42(1): 99-105,1996.&lt;/li&gt;&#xA;&lt;li&gt;S. Boztas, On Renyi entropies and their applications to guessing attacks in cryptography, IEICE Transactions on Fundamentals of Electronics, Communications and Computer Sciences 97(12):2542-2548, 2014.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="21948" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2015-04-06T00:33:48.110" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="31030" PostTypeId="1" AcceptedAnswerId="31035" CreationDate="2015-04-06T01:25:20.980" Score="0" ViewCount="78" Body="&lt;p&gt;In Provably Secure Steganography by Hopper, et al, we  have the following definition&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Cryptographic notions&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $F:\{0,1\}^k \times \{0,1\}^L \rightarrow \{0,1\}^l$ denote a family of functions. Let $A$ be an oracle probabilistic adversary:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Define the $prf$-advantage of $A$ over $F$ as&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$Adv^{prf}_F(A)= | Pr_{K \leftarrow U(k), r\leftarrow \{0,1\}^*}[A_r^{F_k(.)}=1]- Pr_{g \leftarrow U(L,l), r\leftarrow \{0,1\}^*}[A_r^{g}=1] |.$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where $r$ is the string of random bits used by adversary $A$. Define the insecurity of $F$ as&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$InSec^{prf}_{F}(t,q) = max_{A\in \mathcal{A}(t,q)} \{ Adv_F^{prf}(A)\}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where $U(k)$ is a uniform distribution over $k$ bits, $U(L,l)$ is a uniform distribution on functions from $\{0,1\}^L$ to $\{0,1\}^l$, and $F_K$ is a function $F_K:\{0,1\}^k\times\{0,1\}^L\to\{0,1\}^\ell$. But honestly, I don't know how I'm supposed to understand or parse the definition. Intuitively, I get the adversary $A$ is outputting $1$ if it decides that $F_K$ is not sufficiently different from a sample $r$ drawn from the channel distribution. But can someone walk me through, like I'm an idiot, as to what role each part of the definition plays in the overall mechanism of prf-advantage?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Link to paper: &lt;a href=&quot;https://www.cs.cmu.edu/~biglou/PSS.pdf&quot; rel=&quot;nofollow&quot;&gt;https://www.cs.cmu.edu/~biglou/PSS.pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="32600" LastEditorUserId="898" LastEditDate="2015-04-06T11:41:34.277" LastActivityDate="2015-04-06T11:41:34.277" Title="Question on cryptographic advantage" Tags="&lt;cr.crypto-security&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31031" PostTypeId="2" ParentId="28010" CreationDate="2015-04-06T02:11:59.893" Score="4" Body="&lt;p&gt;The comment below is correct, but it's important to understand the meaning of &quot;finite&quot; or &quot;compact&quot; elements of a domain. These are the denotations of objects computable in finite time, so their appearance in a semantic model is not for proof-theoretic convenience - they represent the strong connection between the model and actual computation. &lt;/p&gt;&#xA;" OwnerUserId="32651" LastActivityDate="2015-04-06T02:11:59.893" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31032" PostTypeId="1" AcceptedAnswerId="31034" CreationDate="2015-04-06T02:59:52.413" Score="6" ViewCount="2750" Body="&lt;p&gt;I'm having a difficult time understanding Camerini's algorithm because there are very few clear explanations online. The goal is to find a &lt;a href=&quot;http://en.wikipedia.org/wiki/Minimum_bottleneck_spanning_tree&quot;&gt;minimum-bottleneck spanning tree&lt;/a&gt; in linear time. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Camerini's algorithm does this by splitting the edges by weight into heavy and light halves in O(|E|) time, then building a maximal forest from the light edges. If there is only one tree, then it recurses on the lighter half of edges, but if there are multiple trees, it reduces each tree to a super-vertex, then recurses with the new set of vertices and the heavy edges.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I don't understand how this can run in linear time. If the forest-finding runs in O(|V|+|E|) time, and |V| is not guaranteed to decrease in any predictable fashion, then the algorithm should be bounded by O(|V| log |V| + |E|).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What do I misunderstand about this algorithm?&lt;/p&gt;&#xA;" OwnerUserId="32652" LastActivityDate="2015-04-06T06:01:12.830" Title="How does Camerini's algorithm for minimum-bottleneck-spanning-tree run in linear time?" Tags="&lt;graph-algorithms&gt;&lt;tree&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31033" PostTypeId="2" ParentId="31025" CreationDate="2015-04-06T03:42:34.133" Score="11" Body="&lt;p&gt;Renyi entropy (of order 2) is useful in cryptography for analyzing the probability of collisions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Recall that the Renyi entropy of order 2 of a random variable $X$ is given by&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$H_2(X) = - \log_2 \sum_x \Pr[X=x]^2.$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It turns out that $H_2(X)$ lets us measure of the probability that two values drawn i.i.d. according to the distribution of $X$ happen to be the same (&quot;collide&quot;): this probability is exactly $2^{-H_2(X)}$.  After drawing $n$ times from this distribution, the expected number of collisions among these $n$ draws is $C(n,2) 2^{-H_2(X)}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;These facts are useful in cryptography, where collisions can sometimes be problematic and enable attacks.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For some analysis of other uses in cryptography, I recommend the following PhD dissertation:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Christian Cachin. &lt;a href=&quot;http://www.zurich.ibm.com/~cca/papers/d.pdf&quot;&gt;Entropy Measures and Unconditional Security in&#xA;Cryptography&lt;/a&gt;.  PhD dissertation, ETH Zurich, May 1997.&lt;/p&gt;&#xA;" OwnerUserId="5038" LastActivityDate="2015-04-06T03:42:34.133" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="31034" PostTypeId="2" ParentId="31032" CreationDate="2015-04-06T06:01:12.830" Score="5" Body="&lt;p&gt;First, after each stage throw away any isolated vertices. With these vertices removed (even when the graph is disconnected) the number of vertices in the next stage will be at most twice the number of edges.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Next, use the fact that (with isolated vertices removed, in each stage after the first) $|V|\le 2|E|$ to simplify the time bound in each stage (after the first) from $O(|V|+|E|)$ to $O(|E|)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, observe that at each stage $|E|$ goes down by a factor of two, so all these $O(|E|)$ bounds add in a geometric series to be linear in the size of the original graph.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2015-04-06T06:01:12.830" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31035" PostTypeId="2" ParentId="31030" CreationDate="2015-04-06T06:06:16.823" Score="2" Body="&lt;p&gt;If you're totally lost, you might not have the needed background to get much use out of the paper.  The paper draws on many concepts and foundational ideas from theoretical cryptography (including how to formalize notions of security for various cryptographic tasks), and it assumes familiarity with those ideas.  If the definition looks confusing, it's probably because you don't have that familiarity; the paper's intended audience was cryptographers who already have that familiarity.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You might want to spend a few weeks studying theoretical cryptography (foundations of cryptography), e.g., from Lindell-Katz, the Goldreich book, and/or many lecture notes online on the foundations of cryptography.  You'll find that this kind of definition is routine, and studying that material will prepare you to be able to understand this material and work through the definitions on your own.&lt;/p&gt;&#xA;" OwnerUserId="5038" LastActivityDate="2015-04-06T06:06:16.823" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31036" PostTypeId="1" AcceptedAnswerId="31042" CreationDate="2015-04-06T06:27:45.420" Score="16" ViewCount="976" Body="&lt;p&gt;So a little while back I first had someone tell me that call/cc could allow proof objects for classical proofs by implementing Peirce's law. I did some thinking about the topic recently and I can't seem to find a flaw with it. However I can't really seem to see anyone else talking about it. It seems void of discussion. What gives? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It seems to me that if you have a construction like $f : \neg(\neg P)$ in some context then 1 of two things is true. Either you have access to an instance $\bot$ somehow in the current context in which case control flow would never reach here and we are safe to assume whatever OR given that $f : \neg(\neg P)$ means $f : (P \to \bot) \to \bot$ the only way $f$ can return $\bot$ is by constructing an instance of $P$ and applying it two it's argument (an instance of $P \to \bot)$. In such a case there was already SOME way of constructing an instance of $P$; it seems reasonable for call/cc to pull this construction out for me. My reasoning here seems somewhat suspect to me but my confusion still stands. If call/cc isn't just creating an instance of $P$ out of thin air (I don't see how it is) then what is the issue?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Do some well typed terms not containing call/cc not have normal forms? Is there some other property of such expressions that causes them to be suspect? Is there any noted reason why a constructivist shouldn't like call/cc?&lt;/p&gt;&#xA;" OwnerUserId="21112" LastEditorUserId="32187" LastEditDate="2015-04-06T11:12:42.950" LastActivityDate="2015-04-30T10:23:20.167" Title="Why do constructivists not seem to care too much about call/cc" Tags="&lt;lo.logic&gt;&lt;type-theory&gt;&lt;lambda-calculus&gt;&lt;proof-theory&gt;&lt;constructive-mathematics&gt;" AnswerCount="3" CommentCount="2" FavoriteCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="31037" PostTypeId="1" CreationDate="2015-04-06T14:04:37.647" Score="2" ViewCount="118" Body="&lt;p&gt;In the seminal paper of Polishchuk and Spielman where they give a construction of nearly linear sized $PCP$ for an $NP$ problem, one of the key ingredients is a low-degree test for bivariate polynomials. &#xA;Essentially, to test if the function values on a set of evaluation points correspond to a bivariate polynomial of maximum degrees $(d,d)$, we check whether the restriction of this to axis parallel lines (i.e. rows and columns) are all degree $d$ univariate polynomials (This is an equivalence condition in the absolute case, which is easy to verify. The interesting part is the robustness of the test: that is, if the function values on the restrictions to axis parallel lines agree with low-degree polynomials on &quot;most&quot; points (that is, close to Reed-Solomon codewords), then there is a bivariate low degree polynomial (a Reed-Muller codeword) which also agrees with the function on most evaluation points). The proof of robustness uses the notion of error-corrector polynomial to capture the &quot;bad&quot; evaluation points, polynomial interpolation and then uses resultants. For more details check out sections 2,3,4,5 in &lt;a href=&quot;http://cs.yale.edu/homes/spielman/PAPERS/holographic.pdf&quot; rel=&quot;nofollow&quot;&gt;http://cs.yale.edu/homes/spielman/PAPERS/holographic.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In a follow-up paper by Sudan and Ben-Sasson (lemma 6.13 and section 6.6 in &lt;a href=&quot;http://people.csail.mit.edu/madhu/papers/2005/rspcpp-full.pdf&quot; rel=&quot;nofollow&quot;&gt;http://people.csail.mit.edu/madhu/papers/2005/rspcpp-full.pdf&lt;/a&gt;) they extend the basic argument of Polishchuk-Spielman to obtain a universal constant relating the distances of the function from row, column polynomials and the Reed-Muller polynomial. They claim a basic proof using the constant taken to be 128, without optimization.&#xA;Then in a follow-up paper (by Ben Sasson et al here &lt;a href=&quot;http://eccc.hpi-web.de/report/2012/045/&quot; rel=&quot;nofollow&quot;&gt;http://eccc.hpi-web.de/report/2012/045/&lt;/a&gt;, in section 10 (more precisely section 10.3)) they again talk about optimizing this universal constant and get it down to 10.24.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is, &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Where did the universal constant exactly come into the picture at all, and how did they use the value of 128 in the first place?&lt;/strong&gt; &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It seems to me (and I am sure I'm wrong here but not clear why) that one could have proved that same result without assuming anything about the size of the constant? It would be very helpful if someone could make that (simple and short) proof more explicit so that one sees how the constant and its assumed value enters the proof. Thanks in advance.&lt;/p&gt;&#xA;" OwnerUserId="18154" LastEditorUserId="32187" LastEditDate="2015-04-07T04:08:36.420" LastActivityDate="2015-04-07T04:08:36.420" Title="Universal constant for bivariate testing" Tags="&lt;coding-theory&gt;&lt;polynomials&gt;&lt;pcp&gt;&lt;property-testing&gt;" AnswerCount="0" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31038" PostTypeId="2" ParentId="31036" CreationDate="2015-04-06T14:42:30.833" Score="10" Body="&lt;p&gt;As you note, there is a possible constructive interpretation of classical logic in this sense. The fact that classical logic is &lt;em&gt;equiconsistent&lt;/em&gt; with intuitionistic logic (say, Heyting Arithmetic) has been known for quite some time (already in 1933, e.g. &lt;a href=&quot;http://en.wikipedia.org/wiki/Double-negation_translation&quot; rel=&quot;nofollow noreferrer&quot;&gt;Godel&lt;/a&gt;) using a double negation translation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By a more sophisticated argument, it can be shown that Peano Arithmetic is &lt;em&gt;conservative&lt;/em&gt; over HA for $\Pi^0_2$ statements. The essence of the result is that the classical proofs of $\Pi^0_2$ involving $\mathrm{call/cc}$ have the same computational content as a statement without that construct (by a &lt;a href=&quot;http://en.wikipedia.org/wiki/Continuation-passing_style&quot; rel=&quot;nofollow noreferrer&quot;&gt;CPS&lt;/a&gt; transformation).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However this is &lt;strong&gt;not true&lt;/strong&gt; for statements above $\Pi^0_2$: statements in $\Sigma^0_3$, provable in PA, may not have a normal form amenable to extracting a witness! Computer scientists may not care about computing with proofs at this level, but it is somewhat inconvenient for &lt;em&gt;philosophical&lt;/em&gt; considerations: have we proven the existence of something, or not?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think this summarizes why &quot;fixing&quot; non-constructive logic by addition of $\mathrm{call/cc}$ may be unsatisfactory.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;That being said, there is &lt;em&gt;a lot&lt;/em&gt; of work exploring the computational aspects of computation within the &quot;classical Curry-Howard&quot; framework, e.g. the Krivine Machine, the Parigot calculus ($\lambda\overline{\mu}\tilde\mu$) and many others. See &lt;a href=&quot;http://www.mscs.dal.ca/~selinger/papers/krivine.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;here&lt;/a&gt; for an overview.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, it might be useful to note that while the situation is rather well understood in the predicate calculus and arithmetic cases, more powerful theories are much less explored. For example, IIRC, ZFC is conservative over IZF for $\Pi^0_2$ sentences as well (ZFC is conservative over ZF for arithmetic sentences, and ZF is conservative over IZF), which suggests there is a computational meaning for the axiom of choice. However this is very much an active field of research (&lt;a href=&quot;http://www.pps.univ-paris-diderot.fr/~krivine/articles/quote.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;krivine&lt;/a&gt;, &lt;a href=&quot;http://www.jstor.org/discover/10.2307/2586854?sid=21105900141221&amp;amp;uid=3739256&amp;amp;uid=3739696&amp;amp;uid=4&amp;amp;uid=2129&amp;amp;uid=70&amp;amp;uid=2&quot; rel=&quot;nofollow noreferrer&quot;&gt;Berardi &lt;em&gt;et al.&lt;/em&gt;&lt;/a&gt;)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit:&lt;/strong&gt; A very relevant question on mathoverflow appears here: &lt;a href=&quot;https://mathoverflow.net/questions/29577/solved-sequent-calculus-as-programming-language&quot;&gt;https://mathoverflow.net/questions/29577/solved-sequent-calculus-as-programming-language&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="3984" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2015-04-06T21:44:48.513" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="31039" PostTypeId="2" ParentId="31006" CreationDate="2015-04-06T17:49:10.620" Score="1" Body="&lt;p&gt;If the underlying graph is a sparse, random graph, one can solve the &quot;graph square root&quot; problem in polynomial time; this is also true for weighted graphs. Examples of papers that use this idea are &lt;a href=&quot;http://arxiv.org/abs/1112.1831&quot; rel=&quot;nofollow&quot;&gt;Finding Overlapping Communities in Social Networks&lt;/a&gt; and &lt;a href=&quot;http://arxiv.org/abs/1310.6343&quot; rel=&quot;nofollow&quot;&gt;Provable Bounds for Learning Some Deep Representations&lt;/a&gt;. Any idea about similar algorithms for graph cube roots, fourth roots etc.? &lt;/p&gt;&#xA;" OwnerUserId="32662" LastEditorUserId="32662" LastEditDate="2015-04-06T22:19:06.133" LastActivityDate="2015-04-06T22:19:06.133" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31042" PostTypeId="2" ParentId="31036" CreationDate="2015-04-06T21:29:49.797" Score="19" Body="&lt;p&gt;Constructive mathematics is not just a formal system but rather an understanding of what mathematics is about. Or to put it differently, not every kind of semantics is accepted by a constructive mathematician.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To a constructive mathematician &lt;code&gt;call/cc&lt;/code&gt; looks like cheating. Consider how we witness $p \lor \lnot p$ using &lt;code&gt;call/cc&lt;/code&gt;:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;We provide a function $f$ which allegedly proves $\lnot p$. In reality $f$ is a bag of tricks.&lt;/li&gt;&#xA;&lt;li&gt;If anyone ever applies $f$ to a proof of $p$, then $f$ unleashes &lt;code&gt;call/cc&lt;/code&gt; to roll back time, and with a proof of $p$ in hand, changes its mind about $p \lor \lnot p$: this time claiming that it is a proof of $p$.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;The constructive understanding of disjunction is &lt;em&gt;algorithmic decidability&lt;/em&gt;, but the above is hardly making any decisions. As a test, a constructive mathematician might ask you how &lt;code&gt;call/cc&lt;/code&gt; helps prove that every Turing machine halts or diverges. And what is the program witnessing this fact? (It ought to be the Halting Oracle.)&lt;/p&gt;&#xA;" OwnerUserId="705" LastActivityDate="2015-04-06T21:29:49.797" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31047" PostTypeId="2" ParentId="31025" CreationDate="2015-04-07T09:53:57.980" Score="18" Body="&lt;p&gt;Renyi entropy is analogous, in some sense, to $\ell_p$-norms, so let's first recall why those norms are useful.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose we have a vector of numbers $a \in \mathbb{R}^n$. We want to have a single number that represents, in some sense, how does the typical element of $a$ look like.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One way to do so is to take the average of the numbers in $a$, which roughly corresponds to the $\ell_1$ norm: $\mathbb{E}_{1 \le i \le n}[|a_i|]$. This is often useful, but for some applications it has the following problems: First, the $\ell_1$ norm does not give us a good upper bound on the largest element of $a$, because if there is a single large element and many zeroes, the $\ell_1$ norm will be significantly smaller than the largest element. On the other hand, the $\ell_1$ norm also does not give us a good bound on how small the elements of $a$ are, for example, how many zeroes $a$ has - this problem occurs in exactly the same scenario as before. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course, when the elements of $a$ have a lot of variance, such as in the extreme scenario as above, no single number can give solve both problems above. We have a tradeoff. For example, if we only want to know the largest element, we can use the $\ell_\infty$ norm, but then we will lose all information about the smaller elements. If we want the number of zeroes, we can look at the $\ell_0$ norm, which is just the size of the support of $a$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, the reason for considering $\ell_p$ norms is that they give us the whole continuous tradeoff between the two extremes. If we want more information on the large elements we take $p$ to be larger, and vice versa.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Same goes for Renyi entropies: Shanon's entropy is like $\ell_1$ norm - it tells us something about the &quot;typical&quot; probability of an element, but nothing about the variance or the extremes. The min-entropy gives us information on the element with the largest probability, but loses all information about the rest. The support size gives the other extreme. The Renyi entropies give us a continuous tradeoff between the two extremes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, many times the Renyi-2 entropy is useful because it is on the one hand close to Shanon's entropy, and thus contains information on all the elements on the distribution, and on the other hand gives more information on the elements with the largest probability. In particular, it is known that bounds on the Renyi-2 entropy gives bounds on the min-entropy, see, e.g., Appendix A here: &lt;a href=&quot;http://people.seas.harvard.edu/~salil/research/conductors-prelim.ps&quot;&gt;http://people.seas.harvard.edu/~salil/research/conductors-prelim.ps&lt;/a&gt; &lt;/p&gt;&#xA;" OwnerUserId="8429" LastEditorUserId="8429" LastEditDate="2015-04-13T22:58:08.540" LastActivityDate="2015-04-13T22:58:08.540" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31048" PostTypeId="1" AcceptedAnswerId="31049" CreationDate="2015-04-07T12:46:12.840" Score="2" ViewCount="326" Body="&lt;p&gt;This is inspired by [1] (which still needs answers).&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What is the tight lower bound (or optimal algorithms) for the &quot;finding repeated elements&quot; problem: Given a &lt;strong&gt;sorted&lt;/strong&gt; integer array of size $n$, how to determine whether there exists some element which occurs more than $\lfloor n/k \rfloor$ times?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Note 1:&lt;/strong&gt; The original problem [1] focuses on $k=2$, i.e., the &quot;majority detection&quot; problem. There is a simple $\Theta(\log n)$ algorithm for it: Only the median, called $m$, can be the majority. We can learn the length of the $m$ contiguous block using binary search.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;However, is $\Omega(\log n)$ a lower bound for $k = 2$?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Note 2:&lt;/strong&gt; For &lt;em&gt;unsorted&lt;/em&gt; array, [2] gives an optimal $O(n \log k)$ algorithm. The lower bound is proved using the decision-tree technique (section 5). I failed to extend it to the sorted case.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;[1] &lt;a href=&quot;https://cs.stackexchange.com/q/41072/4911&quot;&gt;Lower bound of finding majority element in an ordered array. @ cs.exchange&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] &lt;a href=&quot;http://dspace.library.cornell.edu/bitstream/1813/6345/1/82-505.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Finding Repeated Elements&lt;/a&gt; by J. Misra and David Gries, TR, 1982.&lt;/p&gt;&#xA;" OwnerUserId="12739" LastEditorUserId="-1" LastEditDate="2017-04-13T12:48:30.830" LastActivityDate="2015-04-07T14:31:53.000" Title="Lower bound for finding repeated elements in sorted array" Tags="&lt;ds.algorithms&gt;&lt;lower-bounds&gt;&lt;decision-trees&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31049" PostTypeId="2" ParentId="31048" CreationDate="2015-04-07T14:21:32.787" Score="2" Body="&lt;p&gt;Any algorithm would need $\Omega(\log n)$ queries.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To see this, define $f(k)$ to be the number of queries needed for deciding whether an element $x$ appears at least $a$ times in a sorted array $A$. We assume that $x$ appears in $A[m],A[m+1],\dots,A[M]$, and that $k\triangleq\min\{a, m-1, n-M\}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Notice that in these notations we are looking to bound $f(\lfloor n/2 \rfloor)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Claim: $f(k)\ge \log k$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Proof:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider the first query made by the algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If it was done within radius $k/2$ of the interval (i.e. somewhere in $[m-k/2,\ldots,M+k/2]$), and found the median at the spot, then we still need at least $f(k/2)$ queries to decide the problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If it was done outside that radius, consider the case where the queried cell did not contain the median. Once again, this leaves us with at least $f(k/2)$ queries to be made.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Continue with induction and you get the $\Omega(\log n)$ bound.&lt;/p&gt;&#xA;" OwnerUserId="21001" LastEditorUserId="21001" LastEditDate="2015-04-07T14:31:53.000" LastActivityDate="2015-04-07T14:31:53.000" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31050" PostTypeId="2" ParentId="17227" CreationDate="2015-04-07T15:54:50.320" Score="0" Body="&lt;p&gt;&lt;a href=&quot;https://cs.stackexchange.com/questions/14228/how-to-query-and-update-ranges-of-arrays/16761#16761&quot;&gt;You can support $\text{increase}$ and $\text{decrease}$ in $O(\sqrt{n}\log n)$ and $\text{support}$ in $O(1)$ time.&lt;/a&gt; The key idea is to break up the table into groups of size $\Theta(\sqrt{n})$. Then each modifying operation ($\text{increase}$ or $\text{decrease}$) operates on at most $O(\sqrt{n})$ groups, and only the ones near the end of its range ($a$ and $b$, in your formulation) take $\omega(\log n)$ time.&lt;/p&gt;&#xA;" OwnerUserId="43" LastEditorUserId="-1" LastEditDate="2017-04-13T12:48:30.830" LastActivityDate="2015-04-07T15:54:50.320" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31051" PostTypeId="1" AcceptedAnswerId="31053" CreationDate="2015-04-07T18:08:08.000" Score="3" ViewCount="227" Body="&lt;p&gt;It is known that it is NP-hard to distinguish whether a set system has discrepancy $0$ or $O(\sqrt{n})$, given that the set system has $n$ elements and $m=O(n)$ sets.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In general if it is so hopeless to estimate or upper-bound discrepancy , then why do we care about algorithms that give colorings of $O(\mathrm{herdisc}(C)(\log m\log n)^{1/2})$ discrepancy ? I am interested in applications of discrepancy in approximation algorithms. &lt;/p&gt;&#xA;" OwnerUserId="32257" LastEditorUserId="32257" LastEditDate="2015-06-02T05:58:17.607" LastActivityDate="2015-06-02T05:58:17.607" Title="Hereditary Discrepancy" Tags="&lt;co.combinatorics&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31053" PostTypeId="2" ParentId="31051" CreationDate="2015-04-07T18:41:20.840" Score="7" Body="&lt;p&gt;Actually for applications to approximation algorithms, hereditary discrepancy is often the right quantity. The central result here is due to &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0195669886800415&quot;&gt;Lovasz, Spencer and Vesztergombi&lt;/a&gt;:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;LSV Thm.&lt;/strong&gt; For any $m\times n$ matrix $A$ and any vector $x \in [0,1]^n$, there exists a vector $y \in \{0,1\}^n$ such that $\|Ax - Ay\|_\infty \leq \mathrm{herdisc}(A)$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;(If you don't have access to the paper, you can check Lemma 1.14 in &lt;a href=&quot;http://www.cs.princeton.edu/~chazelle/pubs/book.pdf&quot;&gt;Chazelle's book&lt;/a&gt; for a proof.)&#xA;This theorem can then be used to round a solution to a linear programming relaxation of a combinatorial problem. A very nice example is the recent work on the bin packing problem: for the basic idea check the paper by &lt;a href=&quot;http://www.math.washington.edu/~rothvoss/publications/BinPackingViaDiscrepancyOfPermutations-talg.pdf&quot;&gt;Eisenbrand, Palvoelgyi, and Rothvoss&lt;/a&gt;, and for the best result to date, check this recent &lt;a href=&quot;http://arxiv.org/abs/1503.08796&quot;&gt;arxiv paper&lt;/a&gt; by Hoberg and Rothvoss.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The exact guarantee you mention -- efficiently finding a coloring with discrepancy bounded by the hereditary discrepancy -- fits very nicely into this, because it's exactly the guarantee to make the LSV theorem constructive. I.e. if you have an algorithm that for any matrix $A$ finds in polynomial time a coloring $x \in \{-1, 1\}^n$ such that $\|Ax\|_\infty \leq \alpha \cdot \mathrm{herdisc}(A)$, then we have an &lt;em&gt;efficient LSV theorem&lt;/em&gt; in which for any $A$ and $x$ there exists a &lt;em&gt;polynomial time computable&lt;/em&gt; $y$ such that $\|Ax - Ay\|_\infty \leq \alpha \cdot \mathrm{herdisc}(A)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By the way, hereditary discrepancy turns out to be the right quantity in other applications too: constructing $\epsilon$-samples and differential privacy, for example. Also it can be &lt;a href=&quot;http://arxiv.org/abs/1311.6204&quot;&gt;efficiently approximated&lt;/a&gt; up to a factor of $\log^{3/2}m$. The &lt;a href=&quot;http://eccc.hpi-web.de/report/2013/159/&quot;&gt;largest hardness of approximation known&lt;/a&gt; for hereditary discrepancy is factor 2, so hereditary discrepancy may even be approximable within a fixed constant (although I'd be surprised). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT&lt;/strong&gt;: Let me say a few more words about the approximation, since you say you want to find upper bounds on $\mathrm{herdisc}$. Although my paper with Kunal is not written this way, what we show in fact is that &#xA;$$&#xA;\gamma_2(A)/O(\log \min(m,n)) \leq \mathrm{herdisc}(A) \leq O(\sqrt{\log m})\gamma_2(A),&#xA;$$&#xA;where $\gamma_2(A)$ is a classical factorization norm, equal to the smallest number $t$ such that there exist vectors $u_1, \ldots, u_m$, $v_1, \ldots, v_n$ satisfying&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;for all $i,j$, $\|u_i\|^2 \leq t$ and $\|v_j\|^2 \leq t$;&lt;/li&gt;&#xA;&lt;li&gt;for all $i, j$, $a_{i,j} = u_i^T v_j$.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;It's not hard to turn this definition into a semidefinite program that computes $\gamma_2(A)$. Besides the approximation, this is very useful because $\gamma_2$ has many nice properties which make it easy to give upper and lower bounds which then translate into upper and lower bounds for hereditary discrepancy. My &lt;a href=&quot;http://arxiv.org/abs/1408.1376&quot;&gt;paper with Matousek&lt;/a&gt; has some applications.&lt;/p&gt;&#xA;" OwnerUserId="4896" LastEditorUserId="4896" LastEditDate="2015-04-07T19:36:53.677" LastActivityDate="2015-04-07T19:36:53.677" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="31054" PostTypeId="1" AcceptedAnswerId="31056" CreationDate="2015-04-07T20:12:02.873" Score="27" ViewCount="5125" Body="&lt;p&gt;In my computer science education, I increasingly notice that most discrete problems are NP-complete (at least), whereas optimizing continuous problems is almost always easily achievable, usually through gradient techniques. Are there exceptions to this?&lt;/p&gt;&#xA;" OwnerUserId="32670" LastEditorUserId="6006" LastEditDate="2015-04-08T13:29:24.150" LastActivityDate="2015-04-15T17:08:32.757" Title="Is it a rule that discrete problems are NP-hard and continuous problems are not?" Tags="&lt;cc.complexity-theory&gt;&lt;co.combinatorics&gt;&lt;optimization&gt;" AnswerCount="5" CommentCount="7" FavoriteCount="13" ContentLicense="CC BY-SA 3.0" />
  <row Id="31056" PostTypeId="2" ParentId="31054" CreationDate="2015-04-07T21:49:37.327" Score="42" Body="&lt;p&gt;An example that I love is the problem where, given distinct $a_1, a_2, \ldots, a_n \in \mathbb{N}$, decide if: $$\int_{-\pi}^{\pi} \cos(a_1 z) \cos(a_2 z) \ldots \cos(a_n z) \, dz \ne 0$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This at first seems like a continuous problem to evaluate this integral, however it is easy to show that this integral is not zero iff there exists a balanced partition of the set $\{a_1, \ldots, a_n\}$, so this integral problem is actually NP-complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course, I encourage playing around with some numerical tools to convince yourself that most (if not all) numerical tricks to evaluate this integral are doomed to failure once $n$ gets large enough.&lt;/p&gt;&#xA;" OwnerUserId="8985" LastActivityDate="2015-04-07T21:49:37.327" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="31057" PostTypeId="2" ParentId="31054" CreationDate="2015-04-07T22:42:25.197" Score="26" Body="&lt;p&gt;There are many continuous problems of the form &quot;test whether this combinatorial input can be realized as a geometric structure&quot; that are complete for the &lt;a href=&quot;https://en.wikipedia.org/wiki/Existential_theory_of_the_reals&quot;&gt;existential theory of the reals&lt;/a&gt;, a continuous analogue of NP. In particular, this implies that these problems are NP-hard rather than polynomially solvable. Examples include testing whether a given graph is a unit distance graph, whether a given graph can be drawn in the plane with straight line segment edges and at most a given number of crossings, or whether a given pseudoline arrangement can be stretched to form a line arrangement.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are other continuous problems that are even harder: for instance, finding a shortest path among polyhedral obstacles in 3d is PSPACE-complete (Canny &amp;amp; Reif, FOCS'87).&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2015-04-07T22:42:25.197" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31058" PostTypeId="2" ParentId="31054" CreationDate="2015-04-07T23:29:27.400" Score="5" Body="&lt;p&gt;Although for &lt;em&gt;some&lt;/em&gt; popular problems, it is indeed true, I think both assumptions are - depending on what you define as an optimization problem - not true.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First some definitions: most optimization problems are &lt;strong&gt;not part of NP&lt;/strong&gt;. For instance for the &lt;em&gt;Knapsack problem&lt;/em&gt;: one cannot exploit non-determinism to construct the most valuable bag, simple because the different non-deterministic branches have no shared memory. &lt;strong&gt;NP&lt;/strong&gt; is also defined as &quot;polynomially verifiable&quot; (verifying a certificate) &lt;code&gt;[1, p. 34]&lt;/code&gt;. In this case the certificate is for instance a &lt;em&gt;bag&lt;/em&gt;: a bitstring where if the &lt;em&gt;i&lt;/em&gt;-th bit is set, it implies the &lt;em&gt;i&lt;/em&gt;-th item is part of the bag. You can indeed check in polynomial time if such bag is more valuable than a given threshold (this is the &lt;em&gt;decision variant&lt;/em&gt;), but you cannot - as far as we know - based on a single bag, (a polynomial number of bags), decide if that bag is the most valuable of all possible bags. That's a vital difference between for instance &lt;strong&gt;NP&lt;/strong&gt; and &lt;strong&gt;EXP&lt;/strong&gt;: in &lt;strong&gt;EXP&lt;/strong&gt;, you can enumerate over all possible bags and do bookkeeping about which bag is the best one.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The &lt;strong&gt;decision variant&lt;/strong&gt; of the optimization problems is in some cases part of &lt;strong&gt;NP&lt;/strong&gt;, one needs to make a clear distinction between the &lt;em&gt;maximization flavor&lt;/em&gt; and the &lt;em&gt;decision flavor&lt;/em&gt;. In the decision flavor, the question is: &quot;&lt;em&gt;Given an optimization problem, and a utility bound, is there a solution with a utility greater than or equal to that bound&lt;/em&gt;&quot; (or slightly modified for a minimization problem).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I also assume that by &lt;strong&gt;NP&lt;/strong&gt; you mean the (hypothetical) part of &lt;strong&gt;NP&lt;/strong&gt; that is not part of &lt;strong&gt;P&lt;/strong&gt;. If &lt;strong&gt;P=NP&lt;/strong&gt;, of course &lt;strong&gt;NP-complete&lt;/strong&gt; still exists, but it will be equal to &lt;strong&gt;P&lt;/strong&gt; (only coincides with P for some notions of reduction, like polynomial-time many-one reductions by @AndrásSalamon), which is not that impressive (and would reduce the &quot;&lt;em&gt;gap&lt;/em&gt;&quot; you are stating in your question).&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;I increasingly notice that most discrete problems are NP-complete.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Now that we have sorted that out: there are a lot of optimization problems that are in &lt;strong&gt;P&lt;/strong&gt;: &lt;em&gt;shortest path problem&lt;/em&gt;, &lt;em&gt;maximum flow problem&lt;/em&gt; (for integral capacities), &lt;em&gt;minimum spanning tree&lt;/em&gt; and &lt;em&gt;maximum matching&lt;/em&gt;. Although these problems may look &quot;trivial to solve&quot; to you, these are still optimization problems, and in many cases the construction (and prove of correctness) is not that easy. So the claim doesn't hold all discrete problems are NP-complete. Given &lt;strong&gt;P&lt;/strong&gt; is not equal to &lt;strong&gt;NP&lt;/strong&gt;, these problems thus can't be &lt;strong&gt;NP-complete&lt;/strong&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One can furthermore walk through the &lt;a href=&quot;http://en.wikipedia.org/wiki/Polynomial_hierarchy&quot; rel=&quot;nofollow&quot;&gt;&lt;em&gt;polynomial hierarchy&lt;/em&gt;&lt;/a&gt;, this hierarchy provides a way to construct a decision problem that is in $\Sigma^P_i$, but given a decision problem, you can (nearly) always construct an optimization problem that is at least as hard (if the optimization variant was less hard, one could solve the decision variant by calling the optimization variant first, and then make a decision based on the result of that algorithm).&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Whereas optimizing continuous problems is almost always easily achievable.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;A popular continuous problem that is &lt;strong&gt;NP-hard&lt;/strong&gt; is &lt;a href=&quot;http://en.wikipedia.org/wiki/Quadratic_programming#Complexity&quot; rel=&quot;nofollow&quot;&gt;&lt;em&gt;quadratic programming&lt;/em&gt;&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In quadratic programming, one is looking for a vector $\vec{x}$ such that:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\dfrac{\vec{x}^T\cdot Q\cdot\vec{x}}{2}+\vec{c}^T\cdot\vec{x}$$ is minimized satisfying:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$A\cdot\vec{x}\leq\vec{b}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Actually &lt;em&gt;Linear programming&lt;/em&gt; has long been considered &lt;strong&gt;NP-hard&lt;/strong&gt; as well, but with very well performing &lt;em&gt;heuristics&lt;/em&gt; (the &lt;em&gt;Simplex&lt;/em&gt; method). &lt;em&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Karmarkar%27s_algorithm&quot; rel=&quot;nofollow&quot;&gt;Karmarkar's algorithm&lt;/a&gt;&lt;/em&gt; is however in &lt;strong&gt;P&lt;/strong&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;From the moment the optimization problem deals with non-convex objects, in general it will be hard - if not impossible - to find an efficient algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Bibliography&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;code&gt;[1]&lt;/code&gt; &lt;a href=&quot;https://www.cs.duke.edu/~reif/courses/complectures/books/AB/ABbook.pdf&quot; rel=&quot;nofollow&quot;&gt;&lt;em&gt;Computational Complexity, a modern approach&lt;/em&gt;, &lt;em&gt;Sanjeev Arora and Boaz Barak&lt;/em&gt;&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="8715" LastEditorUserId="8715" LastEditDate="2015-04-09T17:25:58.390" LastActivityDate="2015-04-09T17:25:58.390" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="31059" PostTypeId="1" CreationDate="2015-04-08T04:35:49.350" Score="6" ViewCount="399" Body="&lt;p&gt;There happens to be this NP-complete question,&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Minimum-Distance-Over-$\mathbb{F}_{2^m}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given $w \in \mathbb{Z}^+$ and a $r \times n$ matrix $H$ over $\mathbb{F}_{2^m}$, is there a $x \in \mathbb{F}_{2^m}^n$ of weight $\leq w$ s.t $Hx=0$?&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Is there some &quot;easy&quot; proof of this? (as opposed to say what I can partly fish out of this paper, &lt;a href=&quot;http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=641542&quot;&gt;http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=641542&lt;/a&gt;) &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Is there any variant of it where the hardness is true even if I assume that $H$ has at least $r$ linearly independent columns? (and such a condition gets automatically satisfied if the rows of $H$ define a code?) &lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="32603" LastEditorUserId="32603" LastEditDate="2015-04-09T22:16:03.207" LastActivityDate="2015-06-08T22:58:27.673" Title="NP-hardness of minimum distance over a code" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;&lt;prefix-free-code&gt;" AnswerCount="1" CommentCount="10" ContentLicense="CC BY-SA 3.0" />
  <row Id="31060" PostTypeId="2" ParentId="8074" CreationDate="2015-04-08T05:13:32.393" Score="14" Body="&lt;p&gt;This question is tricky as the answer (as far as I know) is still &quot;don't know&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To add some weight to this, Flum &amp;amp; Grohe [1] give as open problems (p. 164):&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;ul&gt;&#xA;  &lt;li&gt;Is the $\mathrm{W}$-hierarchy strict under the assumption $\mathrm{FPT} \neq \mathrm{W[P]}$?&lt;/li&gt;&#xA;  &lt;li&gt;For $t \geq 1$, does the equality $\mathrm{W}[t] = \mathrm{W}[t + 1]$ imply $\mathrm{W}[t] = \mathrm{W}[t + 2]$?&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Moreover, in Downey and Fellow's recent monograph [2] the strongest (outright) statement they make is (p. 521):&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;A more subtle hypothesis is that the $\mathrm{W}$-hierarchy is proper, and, in particular, $\mathrm{W}[1] \neq \mathrm{W}[2]$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;There is no following (or later) statement along the lines &quot;otherwise the $\mathrm{W}$-hierarchy would collapse&quot;, or similar.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is also preceded by:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;A weaker hypothesis might be that for some $t$,&#xA;  $$\mathrm{FPT} \neq \mathrm{W}[t]$$&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Implying that it is possible that $\mathrm{FPT} = \mathrm{W}[t-1]$ with no other effects on the hierarchy.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;References:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;J. Flum and M. Grohe, &quot;Parameterized Complexity Theory&quot;, Springer, 2006.&lt;/li&gt;&#xA;&lt;li&gt;R. Downey and M. Fellows, &quot;Fundamentals of Parameterized Complexity Theory&quot;, Springer, 2014.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="9520" LastEditorUserId="969" LastEditDate="2015-04-08T15:34:59.853" LastActivityDate="2015-04-08T15:34:59.853" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31061" PostTypeId="2" ParentId="31054" CreationDate="2015-04-08T09:58:22.020" Score="6" Body="&lt;p&gt;Discrete problems typically tend to be harder (e.g. LP vs. ILP) but it's not the discreteness itself that's the problem... it's how the constraints affect how you can search your domain. For example, you may think that optimizing a polynomial is something that you can do efficiently, but&#xA;&lt;a href=&quot;http://web.mit.edu/~a_a_a/Public/Publications/convexity_nphard.pdf&quot;&gt;deciding convexity of quartics (degree-4 polynomials) is NP-hard&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Which means even if you already have the optimum somehow, simply &lt;em&gt;proving&lt;/em&gt; that you are at the optimum is already NP-hard.&lt;/p&gt;&#xA;" OwnerUserId="6006" LastActivityDate="2015-04-08T09:58:22.020" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="31064" PostTypeId="1" CreationDate="2015-04-08T16:49:07.553" Score="7" ViewCount="115" Body="&lt;p&gt;I am currently studying a complexity problem related to symmetries, and am considering a study of the parameterized complexity of the problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In theory, any part of the input can be fixed as a parameter, but in practice it seems like parameters are almost always integers.&#xA;Some problems use a graph as a parameter, such as the testing whether H is a minor of G (polynomial when H is fixed, hence fixed parameter tractable with H as a parameter).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;My question is&lt;/strong&gt;: do you know any study of the complexity of a problem parameterized by a group?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Candidates could be classical group-related problems, such as coset intersection problem or hidden subgroup problem, but I have not found such parameterized complexity study for them.&lt;/p&gt;&#xA;" OwnerUserId="32683" LastActivityDate="2015-04-08T18:28:41.317" Title="Problem with a group as complexity parameter?" Tags="&lt;parameterized-complexity&gt;&lt;gr.group-theory&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31065" PostTypeId="2" ParentId="31064" CreationDate="2015-04-08T18:28:41.317" Score="2" Body="&lt;p&gt;Many of the best results around graph isomorphism and permutation group algorithms are parametrized by some structure of a relevant group. For example, let $\mathcal{S}_d$ denote the class of groups all of whose composition factors are isomorphic to subgroups of $S_d$. Then coset intersection for groups in $\mathcal{S}_d$ can be solved in polynomial time for constant d. This is closely related to the polynomial-time isomorphism test for bounded-degree graphs. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think there are also several other problems that are solvable in polynomial time when certain associated groups are in $\mathcal{S}_d$ for $d=O(1)$, but I don't have references off the top of my head.&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2015-04-08T18:28:41.317" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="31067" PostTypeId="1" CreationDate="2015-04-08T19:44:02.957" Score="2" ViewCount="88" Body="&lt;p&gt;I'm wondering if someone can provide a good algorithm for the following problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we take 3-SAT in conjunctive normal form, we can partition some or all of the variables (not the literals) into sets.  I'm interested in finding a collection of sets such that at least two of the variables in every 3-SAT clause are in the same set.  We can call this a 2-partitioning.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In order to really solve the problem I'm working on, I need to assign weights to the sets.  If there are $\alpha$ variables in a set, we assign the weight $2^\alpha$ to the set.  We can then total all of the weights of the sets.  For example, if we can find three sets that have sizes $\alpha_1, \alpha_2, \alpha_3$, then the total weight is $2^{\alpha_1} + 2^{\alpha_2} + 2^{\alpha_3}$.  I'm looking for an algorithm that finds a 2-partitioning in time/space less than the total weight.  So, how fast can we make this algorithm?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EXAMPLE 2-PARTITIONING&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we have the formula:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$(\underbrace{x_1 \lor \neg x_2}_\text{set 1} \lor x_3) \land (\underbrace{\neg x_4 \lor x_5}_\text{set 2} \lor x_6) \land (\underbrace{\neg x_1 \lor \neg x_6}_\text{set 1} \lor \neg x_7)$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We can create sets $\{x_1, x_2, x_6\}$ and $\{x_4, x_5\}$ so that at least two of the variables in each clause are part of the same set, as shown above.  The total weight is therefor $2^3 + 2^2 = 12$.&lt;/p&gt;&#xA;" OwnerUserId="1549" LastActivityDate="2015-04-08T19:44:02.957" Title="Forming Sets from 3-SAT Clauses" Tags="&lt;ds.algorithms&gt;&lt;sat&gt;" AnswerCount="0" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31072" PostTypeId="2" ParentId="31059" CreationDate="2015-04-08T21:03:17.363" Score="1" Body="&lt;p&gt;Berlekamp, McEliece and Van Tilborg &#xA;[On the inherent intractability of certain coding problems, IEEE Trans. Information Theory, 24 (1978)]&#xA;proved that deciding if a binary code contains a code word of weight $w$ is NP-complete. In &lt;a href=&quot;http://statweb.stanford.edu/~cgates/PERSI/papers/85_04_radon.pdf&quot; rel=&quot;nofollow&quot;&gt;http://statweb.stanford.edu/~cgates/PERSI/papers/85_04_radon.pdf&lt;/a&gt;&#xA;Diaconis and Graham prove that deciding if a binary code of length $2m$ contains a code word of weight $n$ is NP-complete. &lt;/p&gt;&#xA;" OwnerUserId="32691" LastEditorUserId="-1" LastEditDate="2015-04-08T23:16:46.390" LastActivityDate="2015-04-08T23:16:46.390" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="31073" PostTypeId="1" CreationDate="2015-04-08T22:15:57.640" Score="5" ViewCount="840" Body="&lt;p&gt;It would be nice to show that $P=L$ implies $NP=NL$.  Or, $NP=NL$ implies $UP=UL$.  Or maybe, $⊕P = ⊕L$ implies $PP = PL$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there any known connections between the problems: P vs L, UP vs UL, NP vs NL, ZPL vs ZPP, RL vs RP, BPP vs BPL, PP vs PL, or ⊕P vs ⊕L?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I just started to learn about probabilistic space complexity classes so for all I know there are known results or maybe this hasn't even been investigated thoroughly.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An incomplete list of results (correct me if any of them are wrong):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(1) $L \subseteq UL \subseteq NL$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(2) $L \subseteq ZPL \subseteq RL \subseteq BPL \subseteq PL$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(3) $RL \subseteq NL \subseteq PL \cap ⊕L$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(4) $PL \cup ⊕L \subseteq NC^2 \subseteq P$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One connection: if any of these problems have a positive answer, then we get $NC^2 = P$, $PSPACE = EXPTIME$, and $AL \neq AP$ where it is well known that $AL = P$ and $AP = PSPACE$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, suppose that we have $PP=PL$.  Then, we get $PL = NC^2 = P = PP$.  And, $NC^2 = P$ implies $PSPACE = EXPTIME$.  Further, we can't have $AL = AP$.  Otherwise, we would get $P = PSPACE = EXPTIME$ which violates the time hierarchy theorem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any corrections, ideas, thoughts, results, or references are appreciated.  Thank you for reading!  :)&lt;/p&gt;&#xA;" OwnerUserId="14207" LastEditorUserId="14207" LastEditDate="2015-04-09T14:51:21.003" LastActivityDate="2015-04-09T14:51:21.003" Title="Any known connections between open problems for time and space: P vs L, NP vs NL, BPP vs BPL, ⊕P vs ⊕L" Tags="&lt;space-complexity&gt;&lt;logspace&gt;&lt;structural-complexity&gt;&lt;complexity&gt;&lt;probabilistic-complexity&gt;" AnswerCount="0" CommentCount="7" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31075" PostTypeId="2" ParentId="21608" CreationDate="2015-04-09T15:23:34.717" Score="9" Body="&lt;p&gt;This question has just been resolved! As I mentioned, it was known that &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;$Pn(f) \leq D(f) \leq (Pn(f))^2$,&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;but it was a major open problem to show that either $Pn(f) = \Theta(D(f))$ or that there exists a function for which $Pn(f) = o(D(f))$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A few days ago this was resolved by Mika Göös, Toniann Pitassi, Thomas Watson (&lt;a href=&quot;http://eccc.hpi-web.de/report/2015/050/&quot;&gt;http://eccc.hpi-web.de/report/2015/050/&lt;/a&gt;). They show that there exists a function $f$ which satisfies&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;$Pn(f) = \tilde{O}((D(f))^{2/3})$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;They also show an optimal result for the one-sided version of $Pn(f)$, which I'll denote by $Pn_1(f)$, where you only need to cover the 1-inputs with rectangles. $Pn_1(f)$ also satisfies  &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;$Pn_1(f) \leq D(f) \leq (Pn_1(f))^2$,&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;and they show that this is the best possible relation between the two measures, since they exhibit a function $f$ which satisfies&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;$Pn_1(f) = \tilde{O}((D(f))^{1/2})$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="206" LastActivityDate="2015-04-09T15:23:34.717" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31077" PostTypeId="1" CreationDate="2015-04-09T20:51:58.530" Score="7" ViewCount="504" Body="&lt;p&gt;(I asked a very concise version of this one month ago &lt;a href=&quot;https://cs.stackexchange.com/q/41058/12859&quot;&gt;on cs.stackexchange&lt;/a&gt;,&#xA;&lt;br&gt;&#xA;and although it got edited, it was not (otherwise) responded to.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;br&gt;&#xA;In this post, for positive integer values $k$, &quot;$k$-Sokoban&quot; is simply short for&#xA;&lt;br&gt;&#xA;&quot;the problem &quot;Given an instance of &lt;a href=&quot;https://en.wikipedia.org/wiki/Sokoban&quot; rel=&quot;nofollow noreferrer&quot;&gt;Sokoban&lt;/a&gt; with at most $k$ boxes, is that instance solvable?&quot;&quot;.&#xA;&lt;br&gt;&#xA;For any particular encoding, that is &lt;em&gt;one&lt;/em&gt; problem for which complexities should be expressed&#xA;&lt;br&gt;&#xA;in terms of both $k$ and $n$ (like how the complexity of graph algorithms is frequently&#xA;&lt;br&gt;&#xA;expressed in terms of both $|V\hspace{.02 in}|$ and $|\hspace{.02 in}E\hspace{.03 in}|\hspace{-0.02 in}$), rather than a different problem for each value of $k$.&#xA;&lt;br&gt;&#xA;(Since one could just add inaccessible squares with a box already at its storage location,&#xA;&lt;br&gt;&#xA;&quot;at most&quot; can be replaced with &quot;exactly&quot; as long as $n$ can be increased sufficiently.)&#xA;&lt;br&gt;&#xA;This post has one part on upper bounds for the hardness of $k$-Sokoban,&#xA;&lt;br&gt;&#xA;one part on lower bounds for the hardness of $k$-Sokoban, and&#xA;&lt;br&gt;&#xA;one part on the plausibility of $k$-Sokoban being in a specific class.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Although these questions are complicated, that is just to expand the space of&#xA;&lt;br&gt;&#xA;possible answers to them. $\:$ I &lt;em&gt;could&lt;/em&gt; simplify them, but that would make them harder.&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By &lt;a href=&quot;http://webdocs.cs.ualberta.ca/~joe/TR/TR97-02.ps&quot; rel=&quot;nofollow noreferrer&quot;&gt;this paper&lt;/a&gt;, standard Sokoban can &quot;easily&quot; (i.e., via conversions of low complexity) emulate a non-deterministic LBA with the size increase and slowdown factors bounded by a polynomial&#xA;&lt;br&gt;&#xA;in the number of states per cell. $\:$ (The three places on pages 7 and 9 where it says &quot;Select Next State&quot; show the non-deterministic part, even thought the paper doesn't explicitly claim that.)&#xA;&lt;br&gt;&#xA;On the other hand, instances of $k$-Sokoban with size $n$ have $n^{\hspace{.02 in}O\hspace{.02 in}(k)}$ possible states and&#xA;&lt;br&gt;&#xA;one can easily work with those states, so $k$-Sokoban is in &lt;a href=&quot;https://complexityzoo.uwaterloo.ca/Complexity_Zoo:N#nspace&quot; rel=&quot;nofollow noreferrer&quot;&gt;NSPACE&lt;/a&gt;$[\hspace{-0.02 in}O\hspace{.02 in}(k\hspace{-0.04 in}\cdot \hspace{-0.04 in}\log(n))] \;$.&#xA;&lt;br&gt;&#xA;&lt;strong&gt;Note that any way to solve $O(k)$-Sokoban with just resources of somewhat standard types&lt;/strong&gt;&#xA;&lt;br&gt;&#xA;&lt;strong&gt;that are not known to be able to decide all of $\:\operatorname{NSPACE}\hspace{.02 in}[k\hspace{-0.04 in}\cdot \hspace{-0.04 in}\log(n)]\:$ &#xA;&lt;br&gt;&#xA;would constitute an obstruction in the sense of my upper bound question.&lt;/strong&gt;&#xA;&lt;br&gt;&#xA;As a broad example of that, I'm not aware of any way to show that for each&#xA;&lt;br&gt;&#xA;positive real number $\epsilon$, each (parameterized) language in $\:\operatorname{NSPACE}[\hspace{-0.02 in}O\hspace{.02 in}(k\hspace{-0.04 in}\cdot \hspace{-0.04 in}\log(n))]$&#xA;&lt;br&gt;&#xA;can infinitely-often be decided by the version of &lt;a href=&quot;https://complexityzoo.uwaterloo.ca/Complexity_Zoo&quot; rel=&quot;nofollow noreferrer&quot;&gt;$\;$S$_{\hspace{.02 in}2}$&lt;/a&gt;nonuniform&lt;a href=&quot;https://complexityzoo.uwaterloo.ca/Complexity_Zoo:D#dtisp&quot; rel=&quot;nofollow noreferrer&quot;&gt;TISP&lt;/a&gt;$\left[n^{\hspace{.02 in}k^2\hspace{-0.02 in}\cdot o(\log(n))}\hspace{-0.05 in},\hspace{-0.02 in}n^{\hspace{.02 in}o(k)}\hspace{-0.04 in}\right]$&#xA;&lt;br&gt;&#xA;in which [whichever of $y,\hspace{-0.02 in}z$ is required to exist] can be chosen to have length $n^{\hspace{.02 in}o(k)}\hspace{-0.04 in}$&#xA;&lt;br&gt;&#xA;but the referee has (read-only) random access to $\:2^{\lceil n\text{^}\epsilon \hspace{-0.02 in}\rceil}\:$ bits of &lt;a href=&quot;https://en.wikipedia.org/wiki/Advice_(complexity)&quot; rel=&quot;nofollow noreferrer&quot;&gt;advice&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;The Upper Bound Question:&lt;br&gt;&lt;br&gt;&#xA;  Is there any obstruction to $O(k)$-Sokoban with size $poly(n)$ being &quot;easily&quot;&#xA;  &lt;br&gt;&#xA;  (i.e., via conversions of low complexity) able to emulate non-deterministic&#xA;  &lt;br&gt;&#xA;  Turing machines with $\:k\hspace{-0.04 in}\cdot \hspace{-0.04 in}\log(n)\:$ bits of workspace such that the size increase and&#xA;  &lt;br&gt;&#xA;  slowdown factors are still bounded by a polynomial in the number of states per cell?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;(Other sorts of &quot;obstruction&quot;s would be the existence of such emulation procedures implying&#xA;&lt;br&gt;&#xA;a containment or non-containment or that a problem does or doesn't reduce to its complement,&#xA;&lt;br&gt;&#xA;where there is no known way to show the right-hand-side of the implication unconditionally.&#xA;&lt;br&gt;&#xA;Essentially, such an obstruction could be any argument for why it should be&#xA;&lt;br&gt;&#xA;difficult to prove the existence of such emulation procedures that is significantly&#xA;&lt;br&gt;&#xA;better than &quot;$k$-Sokoban does not appear to support suitable &lt;a href=&quot;https://cstheory.stackexchange.com/q/9173/6973&quot;&gt;gadgets&lt;/a&gt;&quot;.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;br&gt;&lt;br&gt;&#xA;Let &quot;MiTCGG&quot; be short for &quot;the problem &quot;Is there a &lt;a href=&quot;https://en.wikipedia.org/wiki/Bipartite_graph#Matching&quot; rel=&quot;nofollow noreferrer&quot;&gt;matching&lt;/a&gt; from one given set of $k$ vertices&#xA;&lt;br&gt;&#xA;to another given set of $k$ vertices in the transitive closure of the given directed grid graph?&quot;&quot;.&#xA;&lt;br&gt;&#xA;(Those letters stand for &quot;Matching in the Transitive Closure of a Grid Graph&quot;.) $\:$ Since the region&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;X    X&#xA;X XX XX&#xA;X  X  X&#xA;XX    X&#xA;    XXX&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;has neither boxes nor storage locations and is such that a box can be pushed from the top&#xA;&lt;br&gt;&#xA;to exit out the bottom but can't be pushed from the bottom to the top, MiTCGG can easily&#xA;&lt;br&gt;&#xA;be reduced to $k$-Sokoban. $\;\;\;$ By &lt;a href=&quot;http://www.cs.rutgers.edu/pub/allender/plan.ggr.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;this paper&lt;/a&gt;, the $\: k=1 \:$ version of MiTCGG is hard for &lt;a href=&quot;https://complexityzoo.uwaterloo.ca/Complexity_Zoo:N#nc1&quot; rel=&quot;nofollow noreferrer&quot;&gt;NC1&lt;/a&gt;.&#xA;&lt;br&gt;&#xA;Additionally, the nLBA emulation result for standard Sokoban that I cited&#xA;&lt;br&gt;&#xA;earlier in this post will give useful lower bounds when $k$ is large enough.&#xA;&lt;br&gt;&#xA;Thus, $1$-Sokoban (so in particular $k$-Sokoban) is NC1-hard and instances of $O(k)$-Sokoban&#xA;&lt;br&gt;&#xA;with size $O(k)$ can &quot;easily&quot; (i.e., via conversions of low complexity) emulate NSPACE(k).&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;The Lower Bound Question:&lt;br&gt;&lt;br&gt;&#xA;  Are there any hardness results for the search version of $k$-Sokoban&#xA;  &lt;br&gt;&#xA;  which do not automatically follow from the hardness results&#xA;  &lt;br&gt;&#xA;  everything in NC1 $\: \leq \:$ directed Grid Graph reachability $\: \leq \:$ MiTCGG $\: \leq \:$ $k$-Sokoban&#xA;  &lt;br&gt;&#xA;  and the fact that instances of $O(k)$-Sokoban with size $O(k)$ can&#xA;  &lt;br&gt;&#xA;  &quot;easily&quot; (i.e., via conversions of low complexity) emulate NSPACE(k)?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A 2-worktape non-deterministic Turing machine can solve MiTCGG in a way that uses&#xA;&lt;br&gt;&#xA;at most $O(\log(n))$ bits on one work tape and at most $k$ bits on the other work tape.&#xA;&lt;br&gt;&#xA;(Sketch: iterate over the $k$ starting points in order, guess directed paths to currently&#xA;&lt;br&gt;&#xA;unused finishing points, and keep track of which finishing points have been used so far.)&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;The Class Membership Question:&#xA;  &lt;br&gt;&lt;br&gt;&#xA;  Is there any obstruction to $k$-Sokoban being solvable by a 2-worktape&#xA;  &lt;br&gt;&#xA;  non-deterministic Turing machine that uses $\:O\hspace{.02 in}(\log(n))\:$ bits&#xA;  &lt;br&gt;&#xA;  on one work tape and at most $k$ bits on the other work tape?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&#xA;" OwnerDisplayName="user6973" LastEditorUserId="-1" LastEditDate="2017-04-13T12:48:30.830" LastActivityDate="2015-05-07T01:41:20.453" Title="complexity of Sokoban with a small number of boxes" Tags="&lt;space-bounded&gt;&lt;parameterized-complexity&gt;&lt;nondeterminism&gt;&lt;puzzles&gt;" AnswerCount="0" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="31078" PostTypeId="1" CreationDate="2015-04-09T23:01:16.417" Score="4" ViewCount="71" Body="&lt;p&gt;Learning Parity with Noise (LPN) is usually stated with &lt;strong&gt;constant&lt;/strong&gt; noise rate $\eta &amp;lt; 1/2$ on the labels, and it is believed to be hard to learn because of the high statistical dimension of the problem (they are not SQ-learnable even if the parity is assumed to be sparse). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm interested in a noise rate which decays with $n$, the number of features, and I want to know where the known easiness threshold is for this problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Specific notes:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;LPN is easy with noise rate $\eta = O(1/n)$, because drawing $O(n)$ samples will with good probability produce $O(1)$ noisy examples.&lt;/li&gt;&#xA;&lt;li&gt;It seems like it should still be hard for $\eta = O(1/\log n)$ and even $O(1/\sqrt{n})$.&lt;/li&gt;&#xA;&lt;li&gt;Is it known to be easy for any $\eta = \omega(1/n)$?&lt;/li&gt;&#xA;&lt;li&gt;LPN is equivalent to decoding random linear codes, but I have not heard of any work with sublinear noise rates for coding theory.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="7091" LastActivityDate="2015-04-09T23:01:16.417" Title="What is the largest noise rate $\eta(n)$ for which learning parities with noise is easy?" Tags="&lt;lg.learning&gt;&lt;coding-theory&gt;&lt;parity&gt;" AnswerCount="0" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31079" PostTypeId="1" CreationDate="2015-04-10T02:22:55.383" Score="5" ViewCount="157" Body="&lt;p&gt;My understanding is that if we have a totally random k-SAT formula, for a ratio $m &amp;lt; \alpha n$ far enough below the satisfiability threshold, we can solve for satisfiability in polynomial time (with a high probability of success as $n$ tends to infinity).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What I'm curious about, and which I guess is the beginner's question, is what happens if we increase $k$, $m$, and $n$.  To elaborate, we can suppose that the original formula is significantly above the threshold, and therefor no polynomial method is guaranteed.  However, the new increase in $k$ puts the formula significantly below the threshold, and so &lt;em&gt;if the new formula was random&lt;/em&gt;, it could be solved in time polynomial in the new $n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;However&lt;/strong&gt;, the new formula is not random.  It's based on the old one.  So it seems that the polynomial methods don't apply.  My curiosity is, if we could generate several formulas with increased $k$, $m$, and $n$, below the threshold, they may in some way be considered random.  So perhaps the randomness criterion can be satisfied.  I'm wondering if there is any way to prove this...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;ANOTHER APPROACH&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Perhaps what I'm really after is finding out what constitutes randomness in satisfiability instances.  Of course it's a random formula with the proper parameters, but doesn't this mean that if we can repeatedly generate formulas with the same parameters, they can be considered random?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm really hoping that someone can give me a better perspective on things.  I keep wondering if there's some way to modify SAT formulas to take advantage of polynomial methods.&lt;/p&gt;&#xA;" OwnerUserId="1549" LastActivityDate="2015-04-10T02:22:55.383" Title="Satisfiability threshold and partially random formulas" Tags="&lt;sat&gt;&lt;randomness&gt;" AnswerCount="0" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="31082" PostTypeId="1" CreationDate="2015-04-10T07:15:25.543" Score="16" ViewCount="435" Body="&lt;p&gt;There is significant evidence from cryptography that there exist NP-complete problems that are hard in the average case (meaning that e.g. $AvgP \nsupseteq DistNP$). Namely, we have candidate one-way functions and candidate pseudorandom generators.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there similar evidence for an average case analogue of the separation between EXP and NEXP?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT: I have the outline of the argument implying the above separation but the conclusion seems too strong so I suspect there is an error somewhere. The separation between $EXP$ and $NEXP$ corresponds to the separation between $P$ and $NP \cap TALLY$ via unary encoding. Given a language $L \in TALLY$ we can construct the language $L':=\lbrace x | 1^{|x|} \in L \rbrace$. However, it seems that the existence of a heuristic algorithm for $L'$ wrt the uniform distribution implies that $L \in BPP$. Hence, $BPP \nsupseteq NP \cap SPARSE$ implies $HeurP \nsupseteq DistNP$. However, if such a simple average-case to worst-case reduction existed I would probably have encountered it in the literature by now, so I must have got something wrong. What is going on?&lt;/p&gt;&#xA;" OwnerUserId="7030" LastEditorUserId="7030" LastEditDate="2015-04-13T13:24:25.430" LastActivityDate="2015-04-13T13:24:25.430" Title="What is the evidence for average case separation between EXP and NEXP?" Tags="&lt;cc.complexity-theory&gt;&lt;exp-time-algorithms&gt;&lt;average-case-complexity&gt;&lt;nexp&gt;" AnswerCount="0" CommentCount="4" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="31084" PostTypeId="1" CreationDate="2015-04-10T09:19:03.587" Score="-7" ViewCount="3691" Body="&lt;p&gt;I know that it takes billions of years to solve the travelling sales man when n = 25 (Number of cities). I am wondering how fast can a quantum computer solve the travelling sales man problem (for example, A quantum computer with 500 qubits) .I know that a quantum computer with n qubits can make 2^n in a single step and so a quantum computer with 500 qubits can make 2^500 calculations in a single step.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In classical computers, TSM has a time complexity of O(2^n). What is the time complexity if we deal with quantum computers for TSM ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also can a quantum traverse any loop in no time ??&lt;/p&gt;&#xA;" OwnerUserId="32710" LastActivityDate="2015-04-10T17:14:13.447" Title="Travelling sales man with Quantum Computers" Tags="&lt;quantum-computing&gt;&lt;time-complexity&gt;&lt;quantum-information&gt;&lt;np-complete&gt;&lt;analysis-of-algorithms&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="1" ClosedDate="2015-04-10T17:32:47.607" ContentLicense="CC BY-SA 3.0" />
  <row Id="31085" PostTypeId="2" ParentId="31084" CreationDate="2015-04-10T09:58:59.170" Score="5" Body="&lt;p&gt;The set of problems that can be solved by an universal quantum computer in &quot;polynomial time&quot; (with at most 1/3 probability of error) is called &lt;strong&gt;BQP&lt;/strong&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Travelling salesman problem is in complexity class called &lt;strong&gt;NP&lt;/strong&gt;. Furthermore, it is &lt;strong&gt;NP&lt;/strong&gt;-complete: meaning that if the Travelling Salesman Problem can be solved in any model of computation which can also simulate polynomial-time deterministic computation, then that model of computation can solve any problem in &lt;strong&gt;NP&lt;/strong&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, it is not yet known whether &lt;strong&gt;NP&lt;/strong&gt; $\subseteq$ &lt;strong&gt;BQP&lt;/strong&gt;, and the informal consensus is that this containment is in fact very unlikely. &#xA;There is circumstantial evidence, in the sense that &lt;strong&gt;NP&lt;/strong&gt; is not contained in &lt;strong&gt;BQP&lt;/strong&gt; with probability 1 relative to a random oracle, and &lt;strong&gt;NP $\cap$ coNP&lt;/strong&gt; is not contained in &lt;strong&gt;BQP&lt;/strong&gt; with probability 1 relative to a random permutation oracle.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More generally, quantum computers do not provide any known super-polynomial advantage for solving  &lt;strong&gt;NP&lt;/strong&gt;-complete problems. (Techniques such as Grover's Search can provide polynomial-time speedups, though.) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Most results about &lt;strong&gt;BQP&lt;/strong&gt; are summarized at the &lt;a href=&quot;https://complexityzoo.uwaterloo.ca/Complexity_Zoo:B#bqp&quot; rel=&quot;noreferrer&quot;&gt;&lt;strong&gt;BQP&lt;/strong&gt; article in the Complexity Zoo&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="32187" LastEditorUserId="248" LastEditDate="2015-04-10T17:14:13.447" LastActivityDate="2015-04-10T17:14:13.447" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="31086" PostTypeId="1" CreationDate="2015-04-10T12:59:51.250" Score="2" ViewCount="312" Body="&lt;p&gt;I have an algorithm in which I want to dynamically allocate some memory.&#xA;Let's say that I have N numbers and that I want to describe some binary relation over them. To do so I want to create a N*N matrix. But how fast is the memory allocation itself regarding N?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I do not want to zero out the new memory. In fact I do not want to touch it at all in this moment - I just want to allocate it and be sure that all of it is there.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I understand that the answer is: how is the memory allocation implemented?&#xA;Bit I hope that you can give me some upper bounds that are common for most of the popular memory management strategies.&lt;/p&gt;&#xA;" OwnerUserId="16450" LastActivityDate="2015-04-10T20:02:01.713" Title="How to treat dynamic memory allocation in algorithm analysis?" Tags="&lt;analysis-of-algorithms&gt;" AnswerCount="2" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="31088" PostTypeId="2" ParentId="31086" CreationDate="2015-04-10T13:31:58.243" Score="2" Body="&lt;p&gt;Just allocating memory without touching it is very cheap. The cost should be negligible in any kind of theoretical algorithm analysis.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You pay the serious penalty the first time you touch each page. The CPU will generate page faults and the operating system will have to do the one-time setup for each memory page. This is a non-trivial cost. Large constant per memory page.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In general, you should make sure that your algorithm touches each memory page a large number of times; otherwise the memory management cost will dominate.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Let $x$ be a newly allocated array with $n$ words, and let $b$ be the size of the memory page (in words). Very roughly, the following operations (executed in this order) are equally expensive:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Write to $x[0], x[b], x[2b], \dotsc, x[n-b]$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Write to $x[0], x[1], \dotsc, x[n-1]$ and read from $x[0], x[1], \dotsc, x[n-1]$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;In the first step, you only perform $n/b$ write operations, but each of them hits a new memory page and you pay the penalty. In the second step, you perform $n$ write and read operations, but they are now cheap, as we do not have any page faults or memory management overhead.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A typical page size is 4 kilobytes, so if you estimate $b \approx 1000$, you should get reasonable ballpark figures.&lt;/p&gt;&#xA;" OwnerUserId="74" LastEditorUserId="74" LastEditDate="2015-04-10T13:55:06.103" LastActivityDate="2015-04-10T13:55:06.103" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31090" PostTypeId="1" AcceptedAnswerId="31094" CreationDate="2015-04-10T18:28:12.250" Score="4" ViewCount="642" Body="&lt;p&gt;This question was previously posted at &lt;a href=&quot;https://math.stackexchange.com/questions/1220292/example-of-pairwise-independent-random-process-with-expected-max-load-sqrtn&quot;&gt;https://math.stackexchange.com/questions/1220292/example-of-pairwise-independent-random-process-with-expected-max-load-sqrtn&lt;/a&gt; where it has no answers. I now realise this is relevant to hashing so I am reposting it here.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Throw $n$ balls into $n$ bins.  Each bin is selected uniformly at random but the process is only pairwise independent.  Call the maximum number of balls in any bin the &lt;strong&gt;max load&lt;/strong&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Lemma 2 in these &lt;a href=&quot;http://www.cs.cmu.edu/afs/cs/project/pscico-guyb/realworld/www/slidesS14/load-balancing.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;notes&lt;/a&gt; tells us that the max load is at most $\sqrt{2n}$ with probability at least $1/2$. &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Can we give an explicit uniform but only pairwise independent random process for selecting the next bin to put a ball into which gives the&#xA;  expected max load to be $\Theta(\sqrt{n})$ asymptotically?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="16186" LastEditorUserId="-1" LastEditDate="2017-04-13T12:19:19.363" LastActivityDate="2015-04-11T21:14:11.540" Title="Example of pairwise independent random process with expected max load $\sqrt{n}$" Tags="&lt;pr.probability&gt;&lt;randomness&gt;&lt;hash-function&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="31092" PostTypeId="2" ParentId="31086" CreationDate="2015-04-10T20:02:01.713" Score="3" Body="&lt;p&gt;You want to read&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Wilson et al., &lt;em&gt;&lt;a href=&quot;https://scholar.google.co.uk/scholar?hl=en&amp;amp;q=Dynamic%20Storage%20Allocation%3A%20A%20Survey%20and%20Critical%20Review&quot; rel=&quot;nofollow noreferrer&quot;&gt;Dynamic Storage Allocation: A Survey and Critical Review&lt;/a&gt;&lt;/em&gt;, 1995&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;and references therein, especially those to papers by Robson. Here is a quote that answers your question:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Robson put [in 1974] a fairly tight upper and lower bounds on the&#xA;  worst-case performance of the best possible allocation algorithm. He&#xA;  showed that a worst-case-optimal strategy's worst-case memory usage&#xA;  was somewhere between $0.5M\log_2 n$ and about $0.84 M\log_2 n$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Here, $M$ is the live memory, and $n$ is the ratio of the largest to the smallest block.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(So, if your algorithm allocates blocks of wildly different sizes, then you may want to think more carefully about how memory allocation works. This doesn't seem to be the case for the example given in the question.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;PS: I was searching for a link to Robson's article and I found this related CSTheory question: &lt;a href=&quot;https://cstheory.stackexchange.com/questions/30791/data-structure-for-dynamic-memory-allocation&quot;&gt;Data structure for dynamic memory allocation&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="236" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2015-04-10T20:02:01.713" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31093" PostTypeId="2" ParentId="29201" CreationDate="2015-04-10T20:11:12.700" Score="7" Body="&lt;p&gt;I believe he may be referring to this paper: &lt;a href=&quot;http://publications.csail.mit.edu/lcs/pubs/pdf/MIT-LCS-TR-205.pdf&quot; rel=&quot;noreferrer&quot;&gt;NAMING AND SYNCHRONIZATION IN A DECENTRALIZED COMPUTER SYSTEM&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="32714" LastActivityDate="2015-04-10T20:11:12.700" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31094" PostTypeId="2" ParentId="31090" CreationDate="2015-04-11T01:05:14.210" Score="9" Body="&lt;p&gt;Here's how to do it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First, choose a random $k$ between 1 and $n$ to be the &quot;crowded bin&quot;.&#xA;Next, choose a random permutation $\pi$ of $1,2,\ldots, n-1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, for $1 \leq i \leq n-1$,&lt;br&gt;&#xA;$$ \mbox{put ball } i \mbox{ into bin } &#xA;\begin{cases} k \ \ \ \ \ \ \ \ \ \ \ \ \mbox{with probability }\ \frac{1}{\sqrt{n}}, \\&#xA;k + \pi(i) \mbox{ with probability }1 - \frac{1}{\sqrt{n}},&#xA;\end{cases}$$&#xA;where the sum is taken mod $n$.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Put ball $n$ into a random bin.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider balls $i,j$ where $1 \leq i &amp;lt; j \leq n-1$. The bins these two balls fall into are independent. They both go into the crowded bin with probability $\frac{1}{n}$, and the crowded bin is equally likely to be any of the $n$ bins. And if they don't both go into the crowded bin, by symmetry they are equally likely to be in any two different bins. Thus, the bins these two balls are placed into are independent.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since ball $n$ is placed into a random bin, it is independent of the other balls. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The expected max load here is essentially the expected number of balls in the crowded bin, which is&#xA;$$\frac{n-1}{\sqrt{n}}+\frac{1}{n} = \sqrt{n} + o(1).$$&lt;/p&gt;&#xA;" OwnerUserId="1677" LastEditorUserId="1677" LastEditDate="2015-04-11T01:22:51.917" LastActivityDate="2015-04-11T01:22:51.917" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="31096" PostTypeId="1" AcceptedAnswerId="31111" CreationDate="2015-04-11T02:28:39.993" Score="4" ViewCount="420" Body="&lt;p&gt;Given a set of relations/equations in some logic like LTL would it be possible to find a least fixed point for those equations?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example take the equations in LTL&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$ P = Play ~\land X(P \cup S)\\&#xA;   S = Stop \land X(S)$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;These have a least fixed point with &#xA;$$ P = Play~ W~ Stop\\&#xA;   S = G~Stop $$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there any algorithms for finding fixed points or is this problem undecidable?&lt;/p&gt;&#xA;" OwnerUserId="17982" LastEditorUserId="17982" LastEditDate="2015-04-12T14:28:50.567" LastActivityDate="2015-04-12T14:28:50.567" Title="Calculating least fixed points in equations" Tags="&lt;lo.logic&gt;&lt;temporal-logic&gt;&lt;linear-temporal-logic&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="31097" PostTypeId="1" CreationDate="2015-04-11T02:54:29.410" Score="2" ViewCount="125" Body="&lt;p&gt;Does the Johnson-Lindenstrauss Lemma apply to any finite-dimensional Hilbert Space? In particular, I am interested in the space of random variables $X = (X_1,...,X_N)$ over $N$ uncertain states. If $\pi_i$ is the probability of state $i$, then this space has an inner product $\langle X, Y \rangle = E(XY) = \sum_{i=1}^n \pi_i X_i Y_i$ and a norm $\|X\|^2_{\pi} = \langle X, X \rangle = \sum_{i=1}^N \pi_i X_i^2$.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The standard JL lemma says that, if $S$ is a set of $m$ points in $\mathbb{R}^n$ and $n &amp;gt; C \frac{ln(m)}{\varepsilon^2}$ then there a (suitably scaled) random orthogonal projection $f:\mathbb{R}^N \to \mathbb{R}^n$ &#xA;will satisfy&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$(1-\varepsilon)\|u-v\|^2_{N} \leq \|f(u) - f(v)\|_{n}^2 \leq (1+\varepsilon)\|u-v\|_{N}^2$$&#xA;where I have used $\|\cdot\|_{n},\|\cdot\|_{N}$ to denote the standard euclidean norms in $\mathbb{R}^n$ and $\mathbb{R}^N.$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does there exist a version of the lemma with the weighted norm  $\|X\|^2_{\pi}$? What would the corresponding norm in the lower $n$-dimensional space look like?&lt;/p&gt;&#xA;" OwnerUserId="7040" LastActivityDate="2015-04-11T02:54:29.410" Title="Johnson Lindenstrauss for Random variables?" Tags="&lt;machine-learning&gt;&lt;high-dimensional-geometry&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="31104" PostTypeId="1" AcceptedAnswerId="31109" CreationDate="2015-04-11T19:58:45.347" Score="0" ViewCount="140" Body="&lt;p&gt;I am reading a paper about graph matching problem. Which is, to some extent, an optimization version of the graph isomorphism problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To my surprise, some closely related NP-hard problems are quite different in terms of approximation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can anyone give me some intuition behind this phenomenon?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks in advance!&lt;/p&gt;&#xA;" OwnerUserId="32147" LastActivityDate="2015-04-12T16:27:56.413" Title="What is the intuition behind &quot;hardness of approximation&quot;?" Tags="&lt;cc.complexity-theory&gt;&lt;graph-algorithms&gt;&lt;approximation-algorithms&gt;" AnswerCount="1" CommentCount="3" ClosedDate="2015-04-13T03:52:36.947" ContentLicense="CC BY-SA 3.0" />
  <row Id="31107" PostTypeId="1" AcceptedAnswerId="31110" CreationDate="2015-04-12T05:54:23.650" Score="5" ViewCount="139" Body="&lt;p&gt;Suppose we have a &lt;a href=&quot;http://en.wikipedia.org/wiki/String_operations#String_homomorphism&quot;&gt;string homomorphism&lt;/a&gt; $\varphi: \Sigma \rightarrow \Sigma^*$.&#xA;Consider the languages in $\varphi(\Sigma^*)$ whose letters are elements of $\varphi(\Sigma)$, so here I do not want to expand each $\varphi(\Sigma)$, but leave them in this abstract form, e.g., $\varphi(a)\varphi(b)\varphi(a)$ would be a word.&#xA;So in fact for any language $L$, the language $\varphi(L)$ is the same as $L$, over a different alphabet.&#xA;If $M$ was an automaton over $\Sigma$, then there is a natural automaton, $\varphi(M)$, over $\varphi(\Sigma)$ with the same number of states: from any given state after reading $\varphi(a)$, $\varphi(M)$ goes to whatever state $M$ would go after reading all letters of $\varphi(a)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, suppose that $M$ was counting the parity of $b$'s, that is, from state 0 it goes to state 1 iff the read letter is $b$, and vica versa.&#xA;Let $\varphi$ map $a$ to $\varphi(a)=ab$ and $b$ to $\varphi(b)=bab$.&#xA;Then $\varphi(M)$ goes from state 0 to state 1 iff the read letter is $\varphi(a)$.&#xA;Therefore, $M$ and $\varphi(M)$ are isomorphic.&#xA;In fact, for the above $M$, we get an isomorphic automaton if and only if exactly one of $\varphi(a)$ and $\varphi(b)$ have an odd number of $b$'s.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;In general, for what $M$ and $\varphi$ will be $\varphi(M)$ isomorphic to $M$?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;If it makes the question simpler, we can ignore which states are accepting and which is the start state.&#xA;I am interested in any type of conditions, as I could not find anything on the subject.&#xA;I am also curious when $\varphi(M)$ will be minimal for the language it recognizes.&lt;/p&gt;&#xA;" OwnerUserId="419" LastActivityDate="2015-04-12T09:01:37.397" Title="When does automaton stay unchanged after string homomorphism?" Tags="&lt;graph-theory&gt;&lt;automata-theory&gt;&lt;graph-isomorphism&gt;&lt;dfa&gt;&lt;homomorphism&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="31109" PostTypeId="2" ParentId="31104" CreationDate="2015-04-12T07:10:18.887" Score="6" Body="&lt;p&gt;One important reason why problems that look equally hard to compute exactly might be very different to approximate relates to the fragility of NP-completeness reductions. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The simplest example I can think of the relation between VERTEX COVER and MAX INDEPENDENT SET. The two problems are complementary: given a graph $G = (V, E)$ with a vertex cover $S$, the set $V\setminus S$ is an independent set. This is why it's easy to show that one problem is NP-hard by reduction from the other. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;But suppose I can get &quot;close&quot; to a good vertex cover, in that instead of finding the smallest cover $S$, I find a worse cover $S'$ where $|S'| = 2 |S|$. This means that instead of finding the maximum independent set of size $n - |S|$, I've found one of size $n - 2|S|$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose in this graph the max independent set size was $n/2$. Then essentially my approximation to the vertex cover found nothing at all. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In other words, the NP-hardness reduction only preserved the &lt;em&gt;exact&lt;/em&gt; solution relationship, not the &lt;em&gt;approximate&lt;/em&gt; solution relationship. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;To preserve approximations, you need a different kind of reduction called an $L$-reduction, and once you limit yourself to such reductions, you realize that the two problems are indeed quite different. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2015-04-12T07:10:18.887" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31110" PostTypeId="2" ParentId="31107" CreationDate="2015-04-12T09:01:37.397" Score="3" Body="&lt;p&gt;Let $\mathcal{A} = (Q, A, \cdot, q_0, F)$ be the minimal DFA of your language $L$. If I understand correctly, you would like to have a permutation $\sigma$ on $A$ such that&#xA;$$&#xA;q \cdot \varphi(a) = q \cdot \sigma(a)&#xA;$$&#xA;for every state $q$ and letter $a$. This will happen if and only if, there exists $\sigma \in \mathfrak{S}(A)$ such that, for each letter $a$, &#xA;$$&#xA;\varphi(a) \in \bigcap_{q \in Q} L(q, q \cdot \sigma(a))&#xA;$$&#xA;where, given two states $p$ and $q$, $L(p, q) = \{u \in A^* \mid p \cdot u = q\}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For instance, in your example, you get the following conditions when $\sigma$ is the identity&#xA;\begin{align}&#xA; \varphi(a) \in L(0,0) \cap L(1,1) &amp;amp;= \{ u \in A^* \mid |u|_b \text{ is even }\} \\&#xA; \varphi(b) \in L(0,1) \cap L(1,0) &amp;amp;= \{ u \in A^* \mid |u|_b \text{ is odd }\} \\&#xA;\end{align}&#xA;and the following conditions when $\sigma$ is the transposition $(1\ 0)$&#xA;\begin{align}&#xA; \varphi(a) \in L(0,1) \cap L(1,0) &amp;amp;= \{ u \in A^* \mid |u|_b \text{ is odd }\} \\&#xA; \varphi(b) \in L(0,0) \cap L(1,1) &amp;amp;= \{ u \in A^* \mid |u|_b \text{ is even }\} \\&#xA;\end{align}&#xA;which, altogether, gives your condition.&lt;/p&gt;&#xA;" OwnerUserId="17203" LastActivityDate="2015-04-12T09:01:37.397" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31111" PostTypeId="2" ParentId="31096" CreationDate="2015-04-12T11:32:37.753" Score="4" Body="&lt;p&gt;In general, we look at fixed-points of monotone functions over lattices, i.e. with some partial ordering over your elements.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If your lattice is complete (it has a least and greatest element, called a bottom $(\bot)$ and a top $(\top)$), and the function whose fixed-point you're trying to find is monotone, then the &lt;a href=&quot;http://en.wikipedia.org/wiki/Knaster%E2%80%93Tarski_theorem&quot; rel=&quot;nofollow&quot;&gt;Knaster-Tarski Theorem&lt;/a&gt; says that a fixed-point always exists.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, finding this fixed-point may be undecidable. For example, in Hoare logic, there is a function whose fixed-point is the weakest-precondition of a loop. But there's no guarantee that this fixed-point can be found, since finding weakest loop invariants is undecidable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The basic algorithm, which might not halt, is as follows:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;X := bottom&#xA;while (X =/= f(X):&#xA;  X = f(X)&#xA;return X&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;However, you can always find a fixed-point using iteration if you have the &lt;a href=&quot;http://en.wikipedia.org/wiki/Ascending_chain_condition&quot; rel=&quot;nofollow&quot;&gt;Ascending Chain Condition&lt;/a&gt;, which basically means that there are no infinite increasing chains in your partial order. When you have this, and your function is monotone, the above algorithm will always halt.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you have some other &quot;upper bound&quot; on a solution size, then you can use it to ensure the above algorithm halts.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In your case, where you have multiple equations, you just make your lattice contain vectors, and find a fixed-point of a multi-dimensional function.&lt;/p&gt;&#xA;" OwnerUserId="16208" LastActivityDate="2015-04-12T11:32:37.753" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31112" PostTypeId="1" CreationDate="2015-04-12T12:01:54.563" Score="1" ViewCount="957" Body="&lt;p&gt;As we know, an unbounded knapsack problem could be described as:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\max \sum_{i=1}^nc_1x_i$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;s.t. $\sum_{i=1}^na_ix_i\le b$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$x_i\ge0,x_i\in\mathbb Z,i=1,\cdots,n$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;And for an 0-1 knapsack problem, we have an additional restriction:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$x_i\in\{0,1\},i=1,\cdots,n$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, I would like to know whether there exists a reduction from the 0-1 knapsack problem to the unbounded knapsack problem?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have thought over this problem, but I could not imagine whether something could be done in the unbounded problem in order to simulate the effect as the constraint $x_i\in\{0,1\}$ in a 0-1 knapsack problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks!&lt;/p&gt;&#xA;" OwnerUserId="32724" LastActivityDate="2015-04-13T02:56:55.213" Title="Is there a reduction from a 0-1 knapsack problem to the unbounded problem?" Tags="&lt;np-hardness&gt;&lt;reductions&gt;&lt;np&gt;&lt;integer-programming&gt;&lt;np-complete&gt;" AnswerCount="0" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31115" PostTypeId="1" AcceptedAnswerId="31116" CreationDate="2015-04-12T19:15:37.690" Score="2" ViewCount="145" Body="&lt;p&gt;Is it preferable to write $O(n2^n)$ or $O((2 + \epsilon)^n)$? If neither, what is the best way? Since I see a lot of papers with $O(1.42^n)$ instead of $O(2^{\frac{n}{2}})$ and similar transformations, I was wondering what people prefer.&lt;/p&gt;&#xA;" OwnerUserId="25335" LastActivityDate="2015-04-12T19:34:34.040" Title="Preferable way to express $O(n2^n)$" Tags="&lt;notation&gt;&lt;asymptotics&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31116" PostTypeId="2" ParentId="31115" CreationDate="2015-04-12T19:34:34.040" Score="15" Body="&lt;p&gt;If you have an exact and simple formula like $O(n2^n)$ I would go with that. It is more precise than $O((2+\epsilon)^n)$ because it tells you what the epsilon really is. For the same reason I would generally prefer $O(2^{n/2})$ (but with a slashed fraction not a vertical one in the exponent) to $O(1.42^n)$, although in some cases you might want to give the numerical value (or both forms) to show more clearly how a bound compares to previous bounds for the same problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If the formula is more complicated ($c^n$ where $c$ is the largest real root of a higher-degree polynomial, say) it can be helpful to replace $c$ by a numeric value. In this case $c$ should always be rounded up, not down, and lower-order terms like the factor of $n$ in the first formula should be omitted (because they are covered by the rounding of $c$).&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2015-04-12T19:34:34.040" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31117" PostTypeId="2" ParentId="31054" CreationDate="2015-04-12T22:43:41.817" Score="13" Body="&lt;p&gt;While this doesn't exactly answer your original question, it's a (conjectural) example of a sort of philosophical counterpoint: a problem where the presentation is discrete but all of the hardness comes from the 'continuous' aspect of the problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem is the &lt;em&gt;Sum of Square Roots&lt;/em&gt; problem: given two sets of integers $A=\{a_1, a_2, \ldots, a_m\}$ and $B=\{b_1, b_2, \ldots, b_n\}$, is $\sum_{i=1}^m \sqrt{a_i}\leq\sum_{j=1}^n\sqrt{b_j}$?  (There are other formulations, but this is the one I prefer.)  While it's not known for certain to &lt;em&gt;be&lt;/em&gt; hard, it's widely suspected that it may be NP-hard and may in fact be outside of NP (there are, as noted in the comments, excellent reasons to believe that it's not NP-complete); the only containment known to date is several levels higher up the polynomial hierarchy.  Obviously the presentation of this problem is as discrete as can be &amp;mdash; a set of integers and a yes/no question about them &amp;mdash; but the challenge arises because while computing square roots to any specified precision is an easy problem, they may need to be computed to high (potentially superpolynomial) accuracy to settle the inequality one way or the other.  This is a 'discrete' problem that crops up in a surprising number of optimization contexts and helps contribute to their own complexity.&lt;/p&gt;&#xA;" OwnerUserId="1941" LastEditorUserId="1941" LastEditDate="2015-04-15T17:08:32.757" LastActivityDate="2015-04-15T17:08:32.757" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="31118" PostTypeId="1" CreationDate="2015-04-12T23:16:23.943" Score="4" ViewCount="276" Body="&lt;p&gt;It is well known that expanders, and often the special case of bipartite expanders, have found many uses in derandomization, coding, etc. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, I am curious if there are any &lt;em&gt;special&lt;/em&gt; properties of bipartite expanders that more general families of expanders don't have (or vice versa). In particular, are there any &lt;em&gt;extreme&lt;/em&gt; differences, where bipartite and non-bipartite expanders differ greatly (especially in a combinatoric, algorithmic, or complexity-theoretic sense)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A priori, we might expect that bipartite and non-bipartite expanders would likely share many pseudorandom properties, and in fact are constructible from each other. So that would suggest a negative answer to this question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, bipartite graphs in general have many special properties (eg. König's theorem) that have complexity-theoretic implications. So it's not unreasonable to think that differences between random bipartite and non-bipartite graphs may yield interesting differences between bipartite and non-bipartite expanders.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is sort of a vague, open ended question, since I'm not exactly sure what kind of answer I'd like, and I am open to any interpretation. However, an example of a 'non-answer' might be 'bipartiteness is distinguished by the smallest eigenvalue in the spectrum'; I'm more interested in specifically bipartite &lt;em&gt;expanders&lt;/em&gt; rather than spectral properties of bipartite graphs as a whole.&lt;/p&gt;&#xA;" OwnerUserId="8985" LastActivityDate="2015-04-16T00:06:41.047" Title="Special properties of bipartite expanders" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;co.combinatorics&gt;&lt;expanders&gt;&lt;pseudorandomness&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31120" PostTypeId="1" CreationDate="2015-04-13T00:48:47.840" Score="4" ViewCount="108" Body="&lt;p&gt;We know that there are many families of matrices over $\Bbb F_q$, $\Bbb R$ etc are rigid.&#xA;See &lt;a href=&quot;http://mahdi.cheraghchi.info/talks/rigidity_talk.pdf&quot; rel=&quot;nofollow&quot;&gt;http://mahdi.cheraghchi.info/talks/rigidity_talk.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Do we know there are many families of rigid &lt;strong&gt;REAL&lt;/strong&gt; matrices with alphabet $\{0,1\}$ or $\{-1,+1\}$ (note not same as $\Bbb F_2$)?&lt;/p&gt;&#xA;" OwnerUserId="1812" LastActivityDate="2015-04-13T00:48:47.840" Title="Rigid families of $\{0,1\}$ matrices" Tags="&lt;cc.complexity-theory&gt;&lt;linear-algebra&gt;" AnswerCount="0" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31124" PostTypeId="2" ParentId="31118" CreationDate="2015-04-13T05:36:42.070" Score="2" Body="&lt;p&gt;Two things come to mind when I hear &quot;bipartite expanders&quot; &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;The only proof we have about existence of Ramanujan expanders at every size is through bipartite expanders. The &quot;Interlacing families&quot; construction of Marcus-Spielman-Srivastava effectively settles for the case of bipartite graphs what has been conjectured by Bilu and Linial to be true for all graphs - that every graph has a Ramanujan $\mathbb{Z}_2$ signing. [&lt;a href=&quot;http://arxiv.org/abs/1304.4132]&quot; rel=&quot;nofollow&quot;&gt;http://arxiv.org/abs/1304.4132]&lt;/a&gt; &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The work by Michael Capalbo, Omer Reingold, Salil Vadhan, and Avi Wigderson about how entropy can help understand the construction of optimal lossless expanders and zig-zag product seems to be essentially focussed on bipartite expanders. [ &lt;a href=&quot;http://dash.harvard.edu/bitstream/handle/1/3330492/Vadhan_CondLosslessExpanders.pdf?sequence=2&quot; rel=&quot;nofollow&quot;&gt;http://dash.harvard.edu/bitstream/handle/1/3330492/Vadhan_CondLosslessExpanders.pdf?sequence=2&lt;/a&gt; ][ &lt;a href=&quot;http://arxiv.org/abs/math/0406038&quot; rel=&quot;nofollow&quot;&gt;http://arxiv.org/abs/math/0406038&lt;/a&gt;  ]&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Seems all optimality results about expanders are about when they are bipartite? May be this is because somehow our technologies are more tuned to control the upper edge of graph spectrum and only with bipartiteness does it imply something for the whole. (MSS result can in principle be generalized for a larger class of expanders but this larger class is not as conveniently describable) &lt;/p&gt;&#xA;" OwnerUserId="32603" LastEditorUserId="32603" LastEditDate="2015-04-16T00:06:41.047" LastActivityDate="2015-04-16T00:06:41.047" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="31127" PostTypeId="2" ParentId="12229" CreationDate="2015-04-13T12:51:31.473" Score="2" Body="&lt;p&gt;This problem is PSPACE-complete even in the case in which the edge weights obey the triangle inequality. See&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Hsi-Ming Ho, Joel Ouaknine, &lt;em&gt;&lt;a href=&quot;http://arxiv.org/abs/1411.2874&quot; rel=&quot;nofollow&quot;&gt;The Cyclic-Routing UAV Problem is PSPACE-Complete&lt;/a&gt;&lt;/em&gt;, FoSSaCS 2015&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="236" LastActivityDate="2015-04-13T12:51:31.473" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31132" PostTypeId="1" AcceptedAnswerId="31134" CreationDate="2015-04-14T00:57:35.117" Score="6" ViewCount="229" Body="&lt;p&gt;It is known that counting perfect matchings in a bipartite graph is #P-complete. On the other hand, finding a perfect matching belongs in P.&#xA;Is there a problem, that exhibits the same behavior in parametrized  complexity? (Decision in FPT and counting in #W[1] or some other counting class?) &lt;/p&gt;&#xA;" OwnerUserId="16892" LastEditorUserId="21001" LastEditDate="2015-04-15T09:46:35.403" LastActivityDate="2015-04-15T09:46:35.403" Title="Easy decision hard counting Parametrized" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;counting-complexity&gt;&lt;parameterized-complexity&gt;&lt;fixed-parameter-tractable&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31133" PostTypeId="1" AcceptedAnswerId="31135" CreationDate="2015-04-14T06:56:25.460" Score="4" ViewCount="437" Body="&lt;p&gt;Suppose $A$ is any #P-complete problem. Now, $A$ is modified to obtain a decision problem $A'$ not by asking whether there is a solution but whether at least half of the potential solutions are actually true solutions. Question: Is $A'$ PP-complete? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This works if $A$ is #Sat, since MajSat is PP-complete. My approach so far: If $A$ is #P-complete, then there is a reduction from #Sat. So it should be possible to adapt this reduction to obtain a reduction from MajSat to $A'$. However, I ran into the problem that the reduction from #Sat to $A$ often requires a Turing (or Cook) reduction and it seemed far from clear how to obtain a many-one reduction from it.&lt;/p&gt;&#xA;" OwnerUserId="26761" LastActivityDate="2015-04-14T09:22:26.613" Title="#P- vs PP-Completeness" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;counting-complexity&gt;&lt;reductions&gt;&lt;probabilistic-complexity&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31134" PostTypeId="2" ParentId="31132" CreationDate="2015-04-14T07:01:04.630" Score="10" Body="&lt;p&gt;Finding $k$-path (simple paths of length $k$) in a graph is in $FPT$ and can be done in &lt;a href=&quot;http://arxiv.org/pdf/0807.3026.pdf&quot;&gt;$O^*(2^k)$ with a randomized algorithm&lt;/a&gt; or &lt;a href=&quot;http://www.cs.technion.ac.il/~hadas/PUB/REPFAM_SZ.pdf&quot;&gt;$O^*(2.62^k)$ deterministically&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is while &lt;a href=&quot;http://web.stanford.edu/~rrwill/presentations/counting-k-paths.pdf&quot;&gt;Counting $k$-paths is $\#W[1]$-hard&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;A more interesting example (decision is even in $P$ while counting is parameterized-hard) would be counting $k$-matchings in bipartite graph.&#xA;Not only that the problem is $\#P$-complete, it was recently shown to be &lt;a href=&quot;http://arxiv.org/abs/1407.2929&quot;&gt;$\#W[1]$-hard&lt;/a&gt; as well !&lt;/p&gt;&#xA;" OwnerUserId="21001" LastEditorUserId="21001" LastEditDate="2015-04-14T08:15:37.000" LastActivityDate="2015-04-14T08:15:37.000" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31135" PostTypeId="2" ParentId="31133" CreationDate="2015-04-14T09:22:26.613" Score="8" Body="&lt;p&gt;Not necessary. Imagine the following Fake-#SAT problem: possible solutions are extended by one bit, and all vectors with this bit set are solutions. That is, the number of satisfying assignments for the new problem is $2^n+f$, where $f$ is the number of satisfying assignments for the original #SAT problem ($0\le f\le 2^n$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem remains #P-complete; however, the corresponding &quot;majority&quot; problem (formulates as $\ge$ vs $&amp;lt;$) has always the answer &quot;yes&quot;.&lt;/p&gt;&#xA;" OwnerUserId="19643" LastActivityDate="2015-04-14T09:22:26.613" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31136" PostTypeId="2" ParentId="31007" CreationDate="2015-04-14T12:58:45.840" Score="5" Body="&lt;p&gt;Yes, information theory is useful for proving lower bounds on the query complexity of problems in Computer Science.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Alexander Golynski gave a good example in his ground breaking paper titled &quot;Cell probe lower bounds for succinct data structures&quot;, presented at SODA 2009. He uses information theory to prove a lower bound on query complexity, which in turns yields a lower bound in the bit-probe model for (succinct) data structures. You can download the paper from &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.154.3540&quot; rel=&quot;nofollow&quot;&gt;citeseer's cache&lt;/a&gt; or from &lt;a href=&quot;http://dl.acm.org/ft_gateway.cfm?id=1496839&quot; rel=&quot;nofollow&quot;&gt;ACM's repository&lt;/a&gt;. There does not seem to be a journal version of the article.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You might be interested also in the following articles from his bibliography, which also relate communication complexity with information theory:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Peter Bro Miltersen, Noam Nisan, Shmuel Safra, and&#xA;Avi Wigderson. On data structures and asymmetric&#xA;communication complexity. Journal of Computer and&#xA;System Sciences, 57(1):37–49, 1998. &lt;a href=&quot;http://www.cs.au.dk/~bromille/Papers/asym.pdf&quot; rel=&quot;nofollow&quot;&gt;[link]&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Anna Gal and Peter Bro Miltersen. The cell probe&#xA;complexity of succinct data structures. In International&#xA;Colloquium on Automata, Languages and Programming,&#xA;pages 332–344, 2003. &lt;a href=&quot;ftp://ftp.daimi.au.dk/pub/BRICS/RS/03/44/BRICS-RS-03-44.pdf&quot; rel=&quot;nofollow&quot;&gt;[link]&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="191" LastEditorUserId="32187" LastEditDate="2015-04-15T09:05:58.570" LastActivityDate="2015-04-15T09:05:58.570" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31137" PostTypeId="1" AcceptedAnswerId="31138" CreationDate="2015-04-14T19:47:49.670" Score="5" ViewCount="195" Body="&lt;p&gt;Even though it is not known whether one-way functions exist, there are several candidate functions used in practice for cryptographic applications that are efficiently computable but are conjectured to be hard to invert (such as modular exponentiation, the Rabin function etc.) Moreover, many of these functions are relatively simple to compute in some sense.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there any simple candidates for strongly pseudorandom permutations? By a simple candidate, I mean one with small circuit complexity (or maybe small complexity under some different complexity measure). For example, are there any candidates for PRPs that can be computed by $NC^1$ circuits? (I am looking for PRPs which work with arbitrarily long inputs, as opposed to block ciphers operating on fixed-length strings.)&lt;/p&gt;&#xA;" OwnerUserId="32745" LastActivityDate="2015-04-15T04:33:28.853" Title="Simple candidates for pseudorandom permutations?" Tags="&lt;cr.crypto-security&gt;&lt;circuit-complexity&gt;&lt;pseudorandomness&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31138" PostTypeId="2" ParentId="31137" CreationDate="2015-04-14T20:35:23.273" Score="4" Body="&lt;p&gt;Yes.  The following paper presents a candidate for a PRF that is implementable in $NC^1$, whose security is based on a lattice assumption (hardness of LWE):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Abhishek Banerjee, Chris Peikert, Alon Rosen.  &lt;a href=&quot;http://www.cc.gatech.edu/~cpeikert/pubs/prf-lattice.pdf&quot; rel=&quot;nofollow&quot;&gt;Pseudorandom Functions and Lattices&lt;/a&gt;.  EUROCRYPT 2012.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It also has some discussion of related literature that might be helpful.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Also, here are two trivial observations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First, there is a PRP that can be computed in $NC^1$ if and only if there is a PRF that can be computed in $NC^1$.  The &quot;only if&quot; part is immediate, as any PRP with large domain is also a PRF.  The &quot;if&quot; part follows from the Luby-Rackoff construction (i.e., the Feistel cipher), as that shows how to build a PRP out of any PRF; it increases the depth by only a constant factor.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Second, the following paper shows that no PRF can be computed by an AC0 circuit.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Nathan Linial, Yishay Mansour, Noam Nisan.  &lt;a href=&quot;http://www.cs.columbia.edu/~rocco/Teaching/S12/Readings/LMN.pdf&quot; rel=&quot;nofollow&quot;&gt;Constant depth circuits, Fourier transform, and learnability&lt;/a&gt;.  Journal of the ACM, 40(3):607--620, 1993.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It follows that no PRP can be computed by an $AC^0$ circuit.&lt;/p&gt;&#xA;" OwnerUserId="5038" LastEditorUserId="5038" LastEditDate="2015-04-15T04:33:28.853" LastActivityDate="2015-04-15T04:33:28.853" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="31139" PostTypeId="1" AcceptedAnswerId="32113" CreationDate="2015-04-14T23:57:58.083" Score="19" ViewCount="660" Body="&lt;p&gt;Wikipedia listed four problems that are in $BQP$ but conjectured to be outside $P$: Integer factorization; Discrete logarithm; Simulation of quantum systems; Computing the Jones polynomial at certain roots of unity.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there any other such problems?&lt;/p&gt;&#xA;" OwnerUserId="32044" LastEditorUserId="32187" LastEditDate="2015-04-15T09:05:52.090" LastActivityDate="2018-07-30T13:06:30.720" Title="Problems in BQP but conjectured to be outside P" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;quantum-computing&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="31141" PostTypeId="1" CreationDate="2015-04-15T03:47:44.047" Score="9" ViewCount="366" Body="&lt;p&gt;Let $G=(V,E)$ be a graph. A vertex set $X\subseteq V$ is called &lt;em&gt;critical&lt;/em&gt; if $X\neq\emptyset$ and no vertex in $V\setminus X$ is adjacent to exactly one vertex in $X$. The problem is to find a vertex set $S\subseteq V$ of minimum size such that $S\cap X\neq\emptyset$ for every critical set $X$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem has the following rumour-spreading interpretation: Vertex $i$ spreads the rumour to its neighbour $j$ if and only if all other neighbours of $i$ are already informed. The question is then how many vertices do I have to inform initially to make sure that everybody is informed in the end.&lt;/p&gt;&#xA;" OwnerUserId="15637" LastEditorUserId="15637" LastEditDate="2015-04-16T21:12:07.963" LastActivityDate="2015-07-07T22:56:44.680" Title="Is the complexity of this covering problem known?" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;optimization&gt;" AnswerCount="1" CommentCount="10" ContentLicense="CC BY-SA 3.0" />
  <row Id="31142" PostTypeId="1" CreationDate="2015-04-15T04:53:37.997" Score="-1" ViewCount="34" Body="&lt;p&gt;Hey guys I am studying queueing theory and I am trying to understand this problem. Consider an $M/GI/ \infty $ queue with the following service time distribution: the service time is $1/\mu_i$ with probabbility $p_i$, and $\sum_{i=1}^kp_i=1$ and $\sum_{i=1}^kp_i/\mu_i=1/\mu$. In other words the service time consists of a mixture of $K$ deterministic service times. I am trying to understand if the departure process of the model is Poisson? Does anyone have any ideas? Thank you in advance ! &lt;/p&gt;&#xA;" OwnerUserId="32747" LastActivityDate="2015-04-16T17:49:23.440" Title="M/G/$\infty$ queue with mixture of deterministic service times" Tags="&lt;queueing-theory&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31143" PostTypeId="1" AcceptedAnswerId="31144" CreationDate="2015-04-15T06:37:18.023" Score="10" ViewCount="248" Body="&lt;p&gt;There is an open problem in formal languages known as the Separating Problem; which is briefly stated as given two distinct strings of length &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt;, how large of a DFA is required to &amp;quot;separate&amp;quot; them, meaning accept one string but reject the other.&lt;/p&gt;&#xA;&lt;p&gt;Here are some relevant papers &lt;a href=&quot;http://ac.els-cdn.com/0020019089902159/1-s2.0-0020019089902159-main.pdf?_tid=443e0384-e327-11e4-9ba9-00000aab0f02&amp;amp;acdnat=1429072031_920f725524e407becd4d55c06330fe19&quot; rel=&quot;noreferrer&quot;&gt;1&lt;/a&gt;, &lt;a href=&quot;https://cs.uwaterloo.ca/%7Eshallit/Talks/sep2.pdf&quot; rel=&quot;noreferrer&quot;&gt;2&lt;/a&gt;. (I have a few more but I don't have enough reputation to post them).&lt;/p&gt;&#xA;&lt;p&gt;These all discuss the problem of separating &lt;em&gt;two&lt;/em&gt; distinct strings. I am wondering if there been any work done in the area of separating lists of strings, meaning given two lists of strings, &lt;span class=&quot;math-container&quot;&gt;$A$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$B$&lt;/span&gt;, what size DFA is required to accept every string in &lt;span class=&quot;math-container&quot;&gt;$A$&lt;/span&gt; and reject every string in &lt;span class=&quot;math-container&quot;&gt;$B$&lt;/span&gt;. This problem is equivalent to regex golf.&lt;/p&gt;&#xA;&lt;p&gt;There are some basic questions that I have been working on such as if one of the lists is of size &lt;span class=&quot;math-container&quot;&gt;$1$&lt;/span&gt; or if all the strings are of different lengths.&lt;/p&gt;&#xA;&lt;p&gt;I have been searching around but haven't found any papers that deal with this type of problem. Has there been any research done in this area?&lt;/p&gt;&#xA;&lt;p&gt;Thanks in advance.&lt;/p&gt;&#xA;" OwnerUserId="31890" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2015-04-15T11:14:11.770" Title="Separating lists of words" Tags="&lt;fl.formal-languages&gt;&lt;automata-theory&gt;" AnswerCount="2" CommentCount="6" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="31144" PostTypeId="2" ParentId="31143" CreationDate="2015-04-15T08:08:15.167" Score="8" Body="&lt;p&gt;The question you are asking is known as the separation problem for languages: Given two languages $K$ and $L$, is there a third language $M$ (a separator) that separates them, i.e. $K \subseteq M$ and $M \cap L = \emptyset$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You are interested in the restricted case where $K$ and $L$ are finite, and in the size of a DFA for $M$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In a &lt;a href=&quot;http://www.labri.fr/perso/tplace/Files/fsttcs13.pdf&quot;&gt;2013 paper&lt;/a&gt;, authors indicate:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Although the separation problem frequently occurs, it has however not been systematically&#xA;  studied, even in the restricted, yet still challenging case of regular languages.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;They however mention several special cases that have been solved, and that most certainly encompass the finite case.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You may also want to look at &lt;a href=&quot;http://en.wikipedia.org/wiki/Craig_interpolation&quot;&gt;Craig interpolant&lt;/a&gt;, a similar problem on logical formulae.&#xA;Interpolation is used for instance in SAT-based model-checking, in a setting which I think is closer to what you are looking for (especially regarding finiteness of the input). &lt;a href=&quot;http://www.kenmcmil.com/pubs/CAV03.pdf&quot;&gt;This paper&lt;/a&gt; should be a good starting point.&lt;/p&gt;&#xA;" OwnerUserId="32683" LastActivityDate="2015-04-15T08:08:15.167" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31145" PostTypeId="1" CreationDate="2015-04-15T08:53:28.533" Score="14" ViewCount="633" Body="&lt;p&gt;Is anything known about the second smallest $s$-$t$-cut in a flow network? Or, more general, about this problem:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Input: A network $N$ and a number $k$, all in binary.&lt;br&gt;&#xA;  Output: A $k$th smallest $s$-$t$ cut.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;A $k$th smallest $s$-$t$ cut $(S,T)$ is any $s$-$t$ cut, such that there are exactly $k-1$ $s$-$t$ cuts whose capacities &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;are pairwise different and &lt;/li&gt;&#xA;&lt;li&gt;truly smaller than the capacity of $(S,T)$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I would like to know how it can be computed and whether this can be done efficiently as for the case $k=1$.&lt;/p&gt;&#xA;" OwnerUserId="26761" LastEditorUserId="26761" LastEditDate="2015-04-22T17:06:32.923" LastActivityDate="2015-05-07T04:57:10.817" Title="Second Smallest $s$-$t$-Cut in a Network" Tags="&lt;cc.complexity-theory&gt;&lt;optimization&gt;&lt;max-flow-min-cut&gt;&lt;flow-problems&gt;" AnswerCount="1" CommentCount="7" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="31147" PostTypeId="2" ParentId="31143" CreationDate="2015-04-15T09:45:46.640" Score="3" Body="&lt;p&gt;The special case of having exactly one word in $A$ and one word in $B$ has &lt;a href=&quot;https://cstheory.stackexchange.com/questions/22493/are-there-any-open-problems-left-about-dfas/22494#22494&quot;&gt;been mentioned here before&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is called the &quot;The Separating Words Problem&quot;. The slides by Shallit pretty much cover all that is known about the problem (see &lt;a href=&quot;https://cs.uwaterloo.ca/~shallit/Talks/sep2.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;slides1&lt;/a&gt; and &lt;a href=&quot;https://cs.uwaterloo.ca/~shallit/Talks/bc4.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;slides2&lt;/a&gt;).&lt;/p&gt;&#xA;" OwnerUserId="21001" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2015-04-15T11:14:11.770" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31148" PostTypeId="1" CreationDate="2015-04-15T09:49:21.637" Score="1" ViewCount="66" Body="&lt;p&gt;Given a set of points $X\subset R^d$ and a number $r\in R$, create a data structure for queries of the form: &quot;given a point $q\in R^d$ return a point $x\in X$ with $\text{dist}(q,x)\ge r$&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is the dual of the &quot;near neighbour&quot; problem studied by people like Andone and Indyk. I'm wondering if it has a name in the literature. Certainly &quot;far neighbour&quot; doesn't make much sense.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are a few references on &quot;farthest point queries&quot;, however nothing recent and nothing that works in high dimensions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are you aware of a name for the described problem in newer literature?&lt;/p&gt;&#xA;" OwnerUserId="4310" LastActivityDate="2015-04-15T10:20:21.833" Title="Far point queries in high dimensions" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;cg.comp-geom&gt;&lt;hash-function&gt;&lt;high-dimensional-geometry&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31149" PostTypeId="2" ParentId="31148" CreationDate="2015-04-15T10:20:21.833" Score="3" Body="&lt;p&gt;See the following paper. The two problems are equivalent more or less. To see that, assume that the points are on the unit sphere centered at the origin, and observe that if your NN query $q$ is on the sphere, then the far neighbour for the antipodal point $-q$ is the NN to $q$. There might be a full version written somewhere on the web...&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;http://dblp.org/rec/conf/soda/GoelIV01&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Yep, here is a postscript of the full version:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://web.stanford.edu/~ashishg/papers/reductions.ps&quot; rel=&quot;nofollow&quot;&gt;http://web.stanford.edu/~ashishg/papers/reductions.ps&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Postscript is a file format used in the 20th century to ensure that future generations would not be able to read the content of the file.)&lt;/p&gt;&#xA;" OwnerUserId="9594" LastActivityDate="2015-04-15T10:20:21.833" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31151" PostTypeId="2" ParentId="27942" CreationDate="2015-04-15T21:40:28.803" Score="3" Body="&lt;p&gt;As pointed out by Marcus Ritt, the correct name for this operation seems to be &lt;em&gt;stutter&lt;/em&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;As far as I could determine, it has mostly been used in the field of concurrency theory, where I could trace it back at least to &lt;a href=&quot;http://research.microsoft.com/en-us/um/people/lamport/pubs/what-good.pdf&quot; rel=&quot;nofollow&quot;&gt;Lamport's 1983 seminal paper on temporal logic&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="30471" LastActivityDate="2015-04-15T21:40:28.803" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31153" PostTypeId="2" ParentId="18801" CreationDate="2015-04-16T02:38:02.170" Score="-1" Body="&lt;p&gt;there are many answers to this cited elsewhere, here is one additional one that maybe captures the boundary between P/NP in a natural way and fittingly along the lines requested. a distinctive/ interesting model is the $(2+p)$-SAT model for $0 \leq p \leq 1$ inspired by research relating to phase transitions and statistical mechanics. the idea is that instances have a count of 2-width and 3-width clauses in a mixture wrt the $p$ ratio. two papers:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://users.soe.ucsc.edu/~optas/papers/2psat.pdf&quot; rel=&quot;nofollow&quot;&gt;Rigorous results for random (2 + p)-SAT&lt;/a&gt; / Achlioptas, Kirousis, Kranakis, Krizanc&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://www.cs.cornell.edu/selman/papers/pdf/99.random.typical.pdf&quot; rel=&quot;nofollow&quot;&gt;2+ P-SAT: Relation of Typical-Case Complexity to the Nature of the Phase Transition&lt;/a&gt; / Monasson, Zecchina, Kirkpatrick, Selman, Troyansky&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2015-04-16T02:38:02.170" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31156" PostTypeId="1" AcceptedAnswerId="31221" CreationDate="2015-04-16T05:45:27.843" Score="2" ViewCount="2348" Body="&lt;p&gt;In Huffman coding, if we have two symbols to be encoded, we will get the result either &lt;code&gt;01&lt;/code&gt; or &lt;code&gt;10&lt;/code&gt;. If we have three symbols, we will get 12 different encoding. I am wondering if I give a arbitrary number of symbol, is there a formula to calculate how many different encoding we will have by Huffman coding?&lt;/p&gt;&#xA;" OwnerUserId="32760" LastActivityDate="2018-07-13T22:01:03.103" Title="How many different Huffman encoding for a given number of symbols" Tags="&lt;coding-theory&gt;&lt;encoding&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31158" PostTypeId="2" ParentId="18801" CreationDate="2015-04-16T07:01:41.417" Score="10" Body="&lt;p&gt;I asked a &lt;a href=&quot;https://cs.stackexchange.com/a/1235/140&quot;&gt;similar question on cs.stackexchange.com&lt;/a&gt;, perhaps Juho's answer can help you; it contains references to: MONOTONE NAE-3SAT, MONOTONE 1-in-3-SAT, PLANAR 3SAT, k-COLOURABLE MONOTONE NAE-3SAT.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can find other variants also in this &lt;a href=&quot;https://cstheory.stackexchange.com/questions/18899/variations-of-sat&quot;&gt;cstheory question&lt;/a&gt;: 4-BOUNDED PLANAR 3-CONNECTED 3SAT, POSITIVE PLANAR 1-in-3 SAT.&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="-1" LastEditDate="2017-04-13T12:48:30.830" LastActivityDate="2015-04-16T07:01:41.417" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31161" PostTypeId="2" ParentId="9969" CreationDate="2015-04-16T12:10:08.477" Score="8" Body="&lt;p&gt;There's another paper on the same subject:  B. Alexeev, Minimal DFA for testing divisibility, J. Comput. Syst. Sci. 69 (2004), 235–243.&lt;/p&gt;&#xA;" OwnerUserId="3227" LastActivityDate="2015-04-16T12:10:08.477" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31163" PostTypeId="1" CreationDate="2015-04-16T12:45:02.780" Score="10" ViewCount="549" Body="&lt;p&gt;What is the complexity of the following problem ($\in$ P? NP-hard?):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Input:&lt;/strong&gt; a directed acyclic graph $D=(V,E)$, a set of backward edges $E'\subset V\times V$, and two distinct nodes $s$ and $t$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question:&lt;/strong&gt; Let $G=(V,E\cup E')$ denote the graph formed by adding to $D$ the edges from $E'$. Is there a simple path from $s$ to $t$ in $G$ that uses at least one backward edge?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Note: 0) A simple path is a path in which no vertex is repeated, A backward edge is an edge that contradicts the partial order implied by the DAG. &#xA;1) the problem is easy if we request the simple path to use exactly &#xA;one backward edge (or a constant number) by trivial reduction to the disjoint path problem, which admits a simple PTime solution in DAGs&#xA;(&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.92.3962&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;nofollow&quot;&gt;Perl and Shiloach, JACM'78&lt;/a&gt;) &#xA;2) the disjoint path problem is NP-complete in general graphs (&lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/0304397580900092&quot; rel=&quot;nofollow&quot;&gt;Fortune et al., TCS'80&lt;/a&gt;).&lt;/em&gt;&lt;/p&gt;&#xA;" OwnerUserId="20726" LastEditorUserId="20726" LastEditDate="2015-05-19T18:41:41.567" LastActivityDate="2015-08-17T20:47:39.707" Title="Simple path on dag with backward edges" Tags="&lt;graph-algorithms&gt;&lt;time-complexity&gt;&lt;disjoint-paths&gt;" AnswerCount="0" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31165" PostTypeId="1" CreationDate="2015-04-16T13:37:27.093" Score="2" ViewCount="234" Body="&lt;p&gt;I am interested in finding out references that apply dynamical systems analysis to develop the &quot;theory&quot; of deep learning, specifically (say) feedforward deep neural nets. The only paper I seem to have found is &quot;Dynamics of learning in deep linear neural networks&quot; from 2014.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would like to understand if dynamical systems approach makes sense in developing the theory and analysis of deep learning methods. &lt;/p&gt;&#xA;" OwnerUserId="32769" LastActivityDate="2015-04-16T13:37:27.093" Title="Dynamical systems analysis of deep learning" Tags="&lt;reference-request&gt;&lt;optimization&gt;&lt;machine-learning&gt;" AnswerCount="0" CommentCount="1" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="31166" PostTypeId="2" ParentId="18801" CreationDate="2015-04-16T13:52:56.990" Score="5" Body="&lt;p&gt;One can restrict $3$-SAT by allowing only a certain number of occurrences of every variable. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $3$-CNF means that every clause contains at most $3$ variables, then satisfiability of $3$-CNF fomulas remains $\mathsf{NP}$-complete for formulas where every variable has at most 3 occurrences. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $3$-CNF means that every clause contains exactly $3$ variables, then the answer is slightly different:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;for formulas where every variable has at most 3 occurrences satisfiablility is in $\mathsf{P}$ - in fact it is trivial, every such formula is satisfiable. &lt;/li&gt;&#xA;&lt;li&gt;for formulas where every variable has at most 4 occurrences, satisfiability is $\mathsf{NP}$-complete.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="6579" LastActivityDate="2015-04-16T13:52:56.990" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="31167" PostTypeId="2" ParentId="8393" CreationDate="2015-04-16T14:08:08.947" Score="4" Body="&lt;p&gt;Basically, almost any machine learning or compression method is an approximation to Kolmogorov complexity:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;If you have any computable probability distribution which assigns your data probability &lt;span class=&quot;math-container&quot;&gt;$p(x)$&lt;/span&gt; then, by the Kraft inequality, you have a compressor which compresses your data in &lt;span class=&quot;math-container&quot;&gt;$- \log p(x)$&lt;/span&gt; bits.&lt;/li&gt;&#xA;&lt;li&gt;If you have any computable compressor C which compresses your data to &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt; bits, then you have &lt;span class=&quot;math-container&quot;&gt;$K(x) \leq n + s_C$&lt;/span&gt;, where &lt;span class=&quot;math-container&quot;&gt;$s_C$&lt;/span&gt; depends on your compressor, but not on &lt;span class=&quot;math-container&quot;&gt;$x$&lt;/span&gt; (it's basically the number of bits you need to describe C to your universal Turing machine).&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Thus, you can just look for patterns with any compressor or probability distribution and the better they compress your data, the better your upper bound for K(x). Just make sure to add the size of the compressor itself to the size of the compressed data to get the estimate.&lt;/p&gt;&#xA;&lt;p&gt;Better yet, write a self-contained program that outputs your data. The smaller you can make that program, the smaller &lt;span class=&quot;math-container&quot;&gt;$K(x)$&lt;/span&gt; is.&lt;/p&gt;&#xA;&lt;p&gt;Of course, bounding from above may not be enough. What if your estimate is quite big, what's the probability that &lt;span class=&quot;math-container&quot;&gt;$K(x)$&lt;/span&gt; is actually very small? For this you need to make some assumptions, on your data: fix a class of probability distributions (like probabilistic automata), and use a Bayesian mixture over those distributions to compress your data. If your data was actually produced by a probabilistic automaton, the probability that &lt;span class=&quot;math-container&quot;&gt;$K$&lt;/span&gt; is substantially smaller than your estimate vanishes exponentially.&lt;/p&gt;&#xA;&lt;p&gt;You can also use a time bound to define your model class, which leads you to Suresh's answer. Basically, if you assume that your datasource has polynomial time complexity, and you try all polynomial Turing machines to compress it, you can be pretty sure that you've accurately estimated the Kolmogorov complexity. This may still not be that practical, but for lower time bounds, you may be able to compute the full Bayesian mixture, of a good approximation to it.&lt;/p&gt;&#xA;&lt;p&gt;For technical details see &lt;a href=&quot;https://www.researchgate.net/publication/266795088_A_safe_approximation_for_Kolmogorov_complexity&quot; rel=&quot;nofollow noreferrer&quot;&gt;this paper&lt;/a&gt;. Disclaimer: I'm one of the authors.&lt;/p&gt;&#xA;&lt;p&gt;Finally, you should note that &lt;span class=&quot;math-container&quot;&gt;$K(x)$&lt;/span&gt; is only meaningful in an asymptotic sense. For any one dataset the value of &lt;span class=&quot;math-container&quot;&gt;$K(x)$&lt;/span&gt; can change by a constant from one computer to the next, and that constant can be as large as you like. So take approximations of this kind with a grain of salt.&lt;/p&gt;&#xA;" OwnerUserId="7892" LastEditorUserId="7892" LastEditDate="2021-05-19T21:28:15.030" LastActivityDate="2021-05-19T21:28:15.030" CommentCount="0" ContentLicense="CC BY-SA 4.0" />
  <row Id="31168" PostTypeId="1" CreationDate="2015-04-16T14:10:34.593" Score="1" ViewCount="154" Body="&lt;p&gt;Hi I'm looking for a variation of the Orthogonal 3D-BinPacking algorithm with only one bin of unknown size.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have a set $S$ of $n$ cuboids items $i_j$ with $j=1...n$.&#xA;The dimensions of the items are $w_k, l_k, h_k$ with $k=1...n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I need to find the smallest cuboid $B$ that can contain all the items with no overlap and the positions $(x_k, y_k, z_k)$ with $k=1...n$ of the items in container for the optimal solution found.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm looking at the &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.27.8658&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;nofollow&quot;&gt;Martello et al. approach&lt;/a&gt; for the single bin filling.&#xA;What should I use in the branch backtrack condition since I don't know the volume $B$ of the bin?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The original condition is: $\sum_{i \in I}{v_i + (B-V(I)) \le F}$ where $I$ is the subset of items currently placed in the bin, $v_i$ is the volume of the item $i$, $V(I)$ is the volume occupied by the current set of items placed in the bin and $F$ is the current minimum found solution.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any help is appreciated&lt;/p&gt;&#xA;" OwnerUserId="32768" LastActivityDate="2015-04-16T14:10:34.593" Title="3D Bin Packing with one bin with infinite/unknown size" Tags="&lt;approximation-algorithms&gt;&lt;packing&gt;&lt;minimization&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31169" PostTypeId="1" AcceptedAnswerId="31205" CreationDate="2015-04-16T14:11:53.227" Score="7" ViewCount="166" Body="&lt;p&gt;I took a course touching on lexer and parser theory this semester (a sizeable chunk was devoted to regexes and other FSA, but context-free grammars were covered as well).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Over the course of the semester, the prof mentioned that grammars should be optimized to $LL(1)$ whenever possible. Unfortunately, he never explained properly why such grammars are &quot;better.&quot; Wouldn't a greater lookahead make for more effective predictive parsing? Or is it considered harmful taking into account physical resource (RAM, CPU) constraints? Or do parsers with more lookahead simply become more complex than they're worth?&lt;/p&gt;&#xA;" OwnerUserId="13487" LastEditorUserId="13487" LastEditDate="2015-04-18T00:43:12.440" LastActivityDate="2015-04-20T18:14:29.290" Title="Is $LL(k)$ for large $k$ considered harmful? If so, why?" Tags="&lt;grammars&gt;&lt;parsing&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="31174" PostTypeId="1" CreationDate="2015-04-16T17:44:55.730" Score="26" ViewCount="670" Body="&lt;p&gt;I asked this question on &lt;a href=&quot;https://stackoverflow.com/questions/29484864/an-algorithm-to-detect-permutations-of-hankel-matrices&quot;&gt;SO&lt;/a&gt;  on April 7 and added a bounty which has now expired but no poly time solution has been found yet. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am trying to write code to detect if a matrix is a permutation of a Hankel matrix.  Here is the spec.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Input:&lt;/strong&gt; An n by n matrix M whose entries are 1 or 0.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Output:&lt;/strong&gt; A permutation of the rows and columns of M so that M is a &lt;a href=&quot;http://en.m.wikipedia.org/wiki/Hankel_matrix&quot; rel=&quot;nofollow noreferrer&quot;&gt;Hankel matrix&lt;/a&gt; if that is possible. A Hankel matrix has constant skew-diagonals (positive sloping diagonals). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;When I say a permutation, I mean we can apply one permutation to the order of the rows and a possibly different one to the columns.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A very nice $O(n^2)$ time algorithm &lt;a href=&quot;https://stackoverflow.com/questions/20704900/determine-if-some-row-permutation-of-a-matrix-is-toeplitz&quot;&gt;is known&lt;/a&gt; for this problem if we only allow permutation of the order of rows.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Peter de Rivaz pointed out this &lt;a href=&quot;http://www.mat.ucsb.edu/~g.legrady/academic/courses/15w259/d/re_orderableMatrix.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;paper&lt;/a&gt; as a possible route to proving NP-hardness but I haven't managed to get that to work.&lt;/p&gt;&#xA;" OwnerUserId="17390" LastEditorUserId="-1" LastEditDate="2017-05-23T12:40:09.333" LastActivityDate="2015-04-21T10:09:10.950" Title="Is Hankelability NP-hard?" Tags="&lt;cc.complexity-theory&gt;" AnswerCount="0" CommentCount="6" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="31175" PostTypeId="2" ParentId="31142" CreationDate="2015-04-16T17:49:23.440" Score="0" Body="&lt;p&gt;It can be proved that $M/GI/\infty$ queues for any general service time distribution is quasi-reversible, that is the departure process , $D(-\infty,t] $ is Poisson and is independent of the state of the system at time $t$, that is $X(t)$.&#xA;A very nice proof of this can be found in this paper : &lt;a href=&quot;http://www.columbia.edu/~ww2040/physics.pdf&quot; rel=&quot;nofollow&quot;&gt;http://www.columbia.edu/~ww2040/physics.pdf&lt;/a&gt; &lt;/p&gt;&#xA;" OwnerUserId="32257" LastActivityDate="2015-04-16T17:49:23.440" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31177" PostTypeId="1" CreationDate="2015-04-16T23:42:23.990" Score="0" ViewCount="310" Body="&lt;p&gt;Presburger arithmetic is well-known to be decidable but intractable, requiring doubly exponential time even with nondeterminism (Fischer and Rabin, 1974).  I am wondering if it is also known whether the Presburger arithmetic decision problem remains intractable with quantum computation or even just randomized computation, and specifically whether it falls outside of BQP or BPP.  It would be profoundly humbling if such a seemingly weak mathematical theory, which doesn't even allow multiplication, gives rise to provably intractable problems.&lt;/p&gt;&#xA;" OwnerUserId="32779" LastActivityDate="2015-04-18T17:12:14.943" Title="Is the Presburger arithmetic decision problem known to be outside of BQP or BPP?" Tags="&lt;cc.complexity-theory&gt;&lt;quantum-computing&gt;" AnswerCount="2" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31178" PostTypeId="2" ParentId="31177" CreationDate="2015-04-17T00:05:21.893" Score="11" Body="&lt;p&gt;Let $~{\mathrm{PRESARITH}}$ denote the decision problem of the truth of statements in Presburger Arithmetic. As you note, [Fischer+Rabin&amp;nbsp;1974] (&lt;a href=&quot;http://www.lcs.mit.edu/publications/pubs/ps/MIT-LCS-TM-043.ps&quot; rel=&quot;nofollow&quot;&gt;PS manuscript&lt;/a&gt;) show that the nondeterministic time complexity of $\mathrm{PRESARITH}$ is at least $2^{2^{\Omega(n)}}$. In particular, $\mathrm{PRESARITH} \notin \mathsf{NEXP}$.&#xA;However, we have the containments&#xA;$$ \mathsf{&#xA;BPP \;\subseteq\; BQP \;\subseteq\; PP \;\subseteq\; PSPACE \;\subseteq\; EXP \;\subseteq\; NEXP&#xA;}&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thus, it directly follows that $\mathrm{PRESARITH} \notin \mathsf{BQP}$, and in particular it is not in $\mathsf{BPP}$ either.&lt;/p&gt;&#xA;" OwnerUserId="248" LastEditorUserId="248" LastEditDate="2015-04-18T17:12:14.943" LastActivityDate="2015-04-18T17:12:14.943" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="31179" PostTypeId="1" CreationDate="2015-04-17T06:13:25.647" Score="4" ViewCount="356" Body="&lt;p&gt;The papers presented at conferences like SODA, FOCS are hard to understand for undergraduates. Also a lot of background knowledge is assumed for understanding such papers. Are there any conferences/resources/websites where I can find interesting research paper readable by undergrads.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;thanks &lt;/p&gt;&#xA;" OwnerUserId="16106" LastActivityDate="2017-06-01T18:52:11.850" Title="research papers for undergraduate students" Tags="&lt;reference-request&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="31180" PostTypeId="2" ParentId="6820" CreationDate="2015-04-17T08:50:59.533" Score="4" Body="&lt;h2&gt;The relationship of &lt;span class=&quot;math-container&quot;&gt;$\mathsf{AWPP}$&lt;/span&gt; to &lt;span class=&quot;math-container&quot;&gt;$\mathsf{BQP}$&lt;/span&gt;&lt;/h2&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;a href=&quot;https://complexityzoo.uwaterloo.ca/Complexity_Zoo:A#awpp&quot; rel=&quot;nofollow noreferrer&quot;&gt;&lt;span class=&quot;math-container&quot;&gt;$\mathsf{AWPP}$&lt;/span&gt;&lt;/a&gt; is the class of languages &lt;span class=&quot;math-container&quot;&gt;$L$&lt;/span&gt; for which, for each &lt;span class=&quot;math-container&quot;&gt;$\varepsilon \in 2^{-O(\mathop{\mathrm{poly}} n)}$&lt;/span&gt;,&#xA;there is &lt;span class=&quot;math-container&quot;&gt;$g \in \mathsf{GapP}$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$f \in \mathsf{FP}$&lt;/span&gt;,&#xA;such that&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;for &lt;span class=&quot;math-container&quot;&gt;$x \notin L$&lt;/span&gt; we have &lt;span class=&quot;math-container&quot;&gt;$0 \leqslant \frac{g(x)}{f(x)} \leqslant \varepsilon$&lt;/span&gt; and&lt;/li&gt;&#xA;&lt;li&gt;for &lt;span class=&quot;math-container&quot;&gt;$x \in L$&lt;/span&gt; we have &lt;span class=&quot;math-container&quot;&gt;$1-\varepsilon \leqslant \frac{g(x)}{f(x)} \leqslant 1$&lt;/span&gt;.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;This is a [technical but relatively well-known] upper bound for the class &lt;span class=&quot;math-container&quot;&gt;$\mathsf{BQP}$&lt;/span&gt;. Its relationship to other &amp;quot;gap-defined classes&amp;quot; could be summarised as&#xA;&lt;span class=&quot;math-container&quot;&gt;$$ \mathsf{SPP \subseteq LWPP \subseteq WPP \subseteq AWPP \subseteq PP}, $$&lt;/span&gt;&#xA;where &lt;span class=&quot;math-container&quot;&gt;$\mathsf{LWPP}$&lt;/span&gt; is notable as a [once more technical but relatively-well known] upper bound on &lt;span class=&quot;math-container&quot;&gt;$\mathsf{EQP}$&lt;/span&gt; (with algebraic coefficients over any constant set), and &lt;span class=&quot;math-container&quot;&gt;$\mathsf{SPP}$&lt;/span&gt; is the gap-definable version of &lt;span class=&quot;math-container&quot;&gt;$\mathsf{UP}$&lt;/span&gt;. Thus all of these contain &lt;span class=&quot;math-container&quot;&gt;$\mathrm{UNIQUE\text-SAT}$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;p&gt;By Valiant-Vazirani and the closure of &lt;span class=&quot;math-container&quot;&gt;$\mathsf{BQP}$&lt;/span&gt; under subroutines, if &lt;span class=&quot;math-container&quot;&gt;$\mathrm{UNIQUE\text-SAT} \in \mathsf{BQP}$&lt;/span&gt;, we then have &lt;span class=&quot;math-container&quot;&gt;$\mathsf{NP \subseteq PH \subseteq BQP}$&lt;/span&gt;. We may reasonably consider this to be unlikely, so &lt;span class=&quot;math-container&quot;&gt;$\mathrm{UNIQUE\text-SAT}$&lt;/span&gt; is an easy example of a problem in &lt;span class=&quot;math-container&quot;&gt;$\mathsf{AWPP}$&lt;/span&gt; which one may consider unlikely to be in &lt;span class=&quot;math-container&quot;&gt;$\mathsf{BQP}$&lt;/span&gt; (albeit a problem which belongs to classes which &amp;quot;seem much smaller&amp;quot; than &lt;span class=&quot;math-container&quot;&gt;$\mathsf{AWPP}$&lt;/span&gt; as well).&lt;/p&gt;&#xA;&lt;h2&gt;The relationship of &lt;span class=&quot;math-container&quot;&gt;$\mathsf{MQ^2}$&lt;/span&gt; to &lt;span class=&quot;math-container&quot;&gt;$\mathsf{BQP}$&lt;/span&gt;&lt;/h2&gt;&#xA;&lt;p&gt;The class &lt;span class=&quot;math-container&quot;&gt;$\mathsf{AWPP}$&lt;/span&gt; also upper bounds the following (not generally well-known) class defined by Tušarová [&lt;a href=&quot;http://arxiv.org/abs/cs/0507057&quot; rel=&quot;nofollow noreferrer&quot;&gt;arXiv:cs/0507057&lt;/a&gt;]:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;a href=&quot;http://arxiv.org/abs/cs/0507057&quot; rel=&quot;nofollow noreferrer&quot;&gt;&lt;span class=&quot;math-container&quot;&gt;$\mathsf{MQ^2}$&lt;/span&gt;&lt;/a&gt; is the class of languages &lt;span class=&quot;math-container&quot;&gt;$L$&lt;/span&gt; for which there is&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;a [concisely] poly-time computable family &lt;span class=&quot;math-container&quot;&gt;$\bigl\{ T_n \bigr\}_{n \geqslant 1}$&lt;/span&gt; of unitary matrices [&lt;em&gt;i.e.&lt;/em&gt; a family of matrices &lt;span class=&quot;math-container&quot;&gt;$T_n$&lt;/span&gt; such that the function &lt;span class=&quot;math-container&quot;&gt;$(j,k,n) \mapsto \left\langle j \:\!\right\vert \!\!\; T_n \!\!\;\left\vert \:\!k \right\rangle$&lt;/span&gt; can be computed in polynomial time, and where we probably want to impose the restriction to functions computing coefficients over a finite-degree extension of the rational numbers]&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;a poly-time computable string-valued function &lt;span class=&quot;math-container&quot;&gt;$I$&lt;/span&gt;, and&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;a poly-time computable predicate &lt;span class=&quot;math-container&quot;&gt;$\alpha$&lt;/span&gt; on strings,&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;such that &lt;span class=&quot;math-container&quot;&gt;$\displaystyle\sum_{c : \alpha(c,x) = L(x)} \Bigl\vert\langle c \:\!\lvert\;\! T^2 \!\!\:\ \rvert I(x) \rangle\Bigr\vert^2 \geqslant \tfrac{2}{3}$&lt;/span&gt;  [the exponent on the &lt;span class=&quot;math-container&quot;&gt;$T$&lt;/span&gt; is significant here].&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;(In the definition above, we let &lt;span class=&quot;math-container&quot;&gt;$L(x) \in \{0,1\}$&lt;/span&gt; denote the characteristic function of &lt;span class=&quot;math-container&quot;&gt;$L$&lt;/span&gt;.)&lt;/p&gt;&#xA;&lt;p&gt;The functions &lt;span class=&quot;math-container&quot;&gt;$I$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$\alpha$&lt;/span&gt; serve the role of classical pre-processing and post-processing, respectively, in a quantum algorithm in which we have somehow managed to perform a quite possibly complicated unitary, twice in succession.&#xA;The input state &lt;span class=&quot;math-container&quot;&gt;$\lvert I(x) \rangle$&lt;/span&gt; is a standard basis state which could be efficiently computed by deterministic classical computation, and &lt;span class=&quot;math-container&quot;&gt;$\alpha$&lt;/span&gt; serves to deterministically compute whether a possible measurement outcome &lt;span class=&quot;math-container&quot;&gt;$\lvert c \rangle$&lt;/span&gt; is a possible &amp;quot;accepting state&amp;quot; for the problem instance &lt;span class=&quot;math-container&quot;&gt;$x$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;p&gt;It is not clear that &lt;span class=&quot;math-container&quot;&gt;$\mathsf{MQ^2}$&lt;/span&gt; is comparable to &lt;span class=&quot;math-container&quot;&gt;$\mathsf{BQP}$&lt;/span&gt;. The operator &lt;span class=&quot;math-container&quot;&gt;$T$&lt;/span&gt; in the definition of &lt;span class=&quot;math-container&quot;&gt;$\mathsf{MQ^2}$&lt;/span&gt; is specified by its coefficients rather than as a tensor network, so Solovay–Kitaev does not suffice to allow &lt;span class=&quot;math-container&quot;&gt;$\mathsf{BQP}$&lt;/span&gt; to simulate such operators; and clearly we do not expect the coefficients of a tensor network such as a quantum circuit family to be easily evaluated, so the reverse containment would also be surprising.&lt;/p&gt;&#xA;&lt;p&gt;The class &lt;span class=&quot;math-container&quot;&gt;$\mathsf{MQ^2}$&lt;/span&gt; is itself not really well-known enough for there to be any common conjectures about it. (This question is the only place I'm aware of it being discussed, apart from the eprint by Tušarová.) But I get the impression that if the native problem of &lt;span class=&quot;math-container&quot;&gt;$\mathsf{MQ^2}$&lt;/span&gt; — that of simulating (the square of) an exponentially large matrix with efficiently specifiable coefficients — is in &lt;span class=&quot;math-container&quot;&gt;$\mathsf{BQP}$&lt;/span&gt;, the techniques used to show this may have important implications for quantum circuit synthesis, and may shed light on the question of &lt;span class=&quot;math-container&quot;&gt;$\mathsf{BQP \mathrel{?\!\!\:=} BPP^{BQNC}}$&lt;/span&gt;. Thus, if not unlikely, this result would be quite interesting.&lt;/p&gt;&#xA;" OwnerUserId="248" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2015-04-17T16:44:34.123" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="31182" PostTypeId="1" CreationDate="2015-04-17T20:09:42.853" Score="5" ViewCount="238" Body="&lt;p&gt;Using the Earley Algorithm we can use the Leo enhancement to create cached items for recognition. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/030439759190180A&quot;&gt;http://www.sciencedirect.com/science/article/pii/030439759190180A&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Scott's algorithm on building parse trees doesn't take into account this enhancement. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S1571066108001497&quot;&gt;http://www.sciencedirect.com/science/article/pii/S1571066108001497&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Leo notes in his paper his algorithm builds an effective recognizer, but ultimately leaves out information that would be needed to construct the parse forest. Building the parse forest would require the transition items omitted by the enhancement and therefore undo the complexity gains. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;So I would like to know if there is research or findings on creating a parse forest that retains the complexity gains from the Leo enhancement without pushing the complexity from the recognizer to the parse forest generation. Basically, is there a linear time algorithm on LR(k) grammars for building sparsely packed parse forests? &lt;/p&gt;&#xA;" OwnerUserId="32787" LastActivityDate="2015-04-24T14:28:41.423" Title="Is there any research or findings on creating parse forests on Earley parsers with Leo Joop Enhancements?" Tags="&lt;fl.formal-languages&gt;&lt;parsing&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31183" PostTypeId="2" ParentId="31177" CreationDate="2015-04-17T20:20:44.890" Score="7" Body="&lt;p&gt;Niel de Beaudrap answered the question as such, but let me mention for the record that the complexity of Presburger arithmetic is known more precisely than the Fischer&amp;amp;Rabin bound: full Presburger arithmetic is complete for alternating doubly exponential time with a linear number of alternations (due to Berman), and the $\Sigma_{i+1}$-fragment is complete for $\Sigma_i^{EXP}$ (&lt;a href=&quot;http://www.lsv.ens-cachan.fr/Publis/PAPERS/PDF/Haase-csllics14.pdf&quot;&gt;Haase&lt;/a&gt;).&lt;/p&gt;&#xA;" OwnerUserId="6959" LastActivityDate="2015-04-17T20:20:44.890" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31184" PostTypeId="2" ParentId="6974" CreationDate="2015-04-18T08:15:16.723" Score="1" Body="&lt;p&gt;χ(G) + α(G) &amp;lt;= n+1&#xA;where n is the number of vertices of the graph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Proof by Induction:&#xA;Notice that a single vertex has χ(G) + α(G) = 2.&#xA;Add each vertex one by one.&#xA;Notice that by adding a single vertex you can only increase them by one. By doing this, we convert G into G*.&#xA;Say the new vertex v is connected to vertices 1 through r of our previous G and not connected to the vertices r+1 through n.&#xA;For the inequality to be disturbed according to our induction hypothesis both have to be increased at one point&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For χ(G) to increase, the 1 through r vertices, v is connected to needs r colours in any proper colouring of G. Thus |r| &gt;= χ(G).&#xA;Also the maximum independent set that v must be part of has to be contained in G - r. Therefore &#xA;|G - r| &gt;= α(G)&#xA;Adding the two inequalities gets you&#xA;|G| = n &gt;= χ(G) + α(G)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now both increase, showing that n+2&gt;=χ(G*) + α(G*)&#xA;Thus χ(G*) + α(G*) &amp;lt;= |G*| + 1&#xA;QED&#xA;The bound is tight for complete graphs and null graphs.&lt;/p&gt;&#xA;" OwnerUserId="32793" LastActivityDate="2015-04-18T08:15:16.723" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31187" PostTypeId="1" CreationDate="2015-04-19T04:52:10.193" Score="6" ViewCount="224" Body="&lt;p&gt;Let $G=(V,E)$ be a graph. For a given $\rho \leq |V|$ and $\epsilon$ with $(0&amp;lt;\epsilon&amp;lt;1)$, is there any sublinear query algorithm known/possible to decide if the graph has a clique of size $\rho$, or all the cliques are of size at most $\rho(1-\epsilon)$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;More precisely, for a given probability tolerance $\delta$ and error tolerance $\epsilon$, algorithm queries $f(\frac{1}{\epsilon}, \frac{1}{\delta}).o(n^2)$ many position of the corresponding adjacency matrix of the graph, and accept with probability at least $1-\delta$ if the graph has a clique of size $\rho$, or reject probability at least $1-\delta$ if all the cliques are of size at most $\rho(1-\epsilon).$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks in advance. &lt;/p&gt;&#xA;" OwnerUserId="22594" LastEditorUserId="22594" LastEditDate="2015-04-21T03:25:17.943" LastActivityDate="2015-12-06T21:16:56.370" Title="Approximating the clique size of the graph" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;approximation-algorithms&gt;" AnswerCount="1" CommentCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="31189" PostTypeId="1" CreationDate="2015-04-19T06:57:24.027" Score="10" ViewCount="351" Body="&lt;p&gt;In polynomial identity testing we seek a deterministic algorithm to infer equality of two polynomials $g,h\in\Bbb Z[x_1,\dots,x_n]$. Derandomizing known efficient randomized algorithms and producing an efficient deterministic algorithm is an important open problem. Is there a complete problem for PIT so that derandomizing identity testing for this one class of polynomials solves this open problem? If not, are there classes of polynomials where this problem is solved and classes where they are open?&lt;/p&gt;&#xA;" OwnerUserId="1812" LastActivityDate="2015-04-19T10:45:35.667" Title="On derandomizing polynomial identity testing" Tags="&lt;derandomization&gt;&lt;polynomials&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="31190" PostTypeId="2" ParentId="31189" CreationDate="2015-04-19T10:45:35.667" Score="10" Body="&lt;p&gt;&lt;code&gt;[tl;dr]&lt;/code&gt; A lot is known, and it is a very active area! &lt;code&gt;[/tl;dr]&lt;/code&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is important to specify the representation of the input polynomials, since it they are given as lists of coefficients or nonzero monomials, the problem is trivial. Thus one usually assumes the polynomials to be given as &lt;a href=&quot;https://en.wikipedia.org/wiki/Arithmetic_circuit_complexity#Definitions&quot;&gt;arithmetic circuits&lt;/a&gt; (a.k.a. straight-line programs). And the general case actually boils down to testing whether a given polynomial is the zero polynomial.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are two main settings that have been studied: the whitebox case in which one has the arithmetic circuit and can inspect it, and the blackbox case in which one knows some things about the circuit (size, formal degree, ...) but cannot inspect it, only evaluate it on some values. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here are some of the restrictions on the circuits that have been studied:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Bounded depth: The depth of a circuit is the longest path from an input to the output gate. Testing circuits of depth $2$ is trivial, depth $3$ is very well understood (completely solved? I do not know...), depth $4$ is also well understood. There are results showing that solving the problem for depth-$3$ and depth-$4$ circuit is almost the same as solving the general case.&lt;/li&gt;&#xA;&lt;li&gt;Top/bottom fan-in: For bounded-depth circuits, many results have been proved when the fan-in (or arity, that is the number of inputs to a given gate) of either the top gate or the bottom gates is bounded.&lt;/li&gt;&#xA;&lt;li&gt;Other restrictions such as a bound on the number of times a variable is used have also been studied.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;This &lt;a href=&quot;http://arxiv.org/abs/1401.0976&quot;&gt;survey by Nitin Saxena&lt;/a&gt; is a good source for these results. Note though that it is already more than one year (!) old, and this is a very active area. So the most recent results are not covered.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, there are links between the derandomization of PIT and the derandomization of other problems:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://arxiv.org/abs/1209.5993&quot;&gt;Noether's Normalization Lemma&lt;/a&gt;, by Ketan D. Mulmuley;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://eccc.hpi-web.de/report/2014/001/&quot;&gt;Multivariate Polynomial Factorization&lt;/a&gt;, by Swastik Kopparty, Shubhangi Saraf and Amir Shpilka.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="976" LastActivityDate="2015-04-19T10:45:35.667" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31194" PostTypeId="1" CreationDate="2015-04-19T18:31:38.240" Score="2" ViewCount="129" Body="&lt;p&gt;Consider the following problem:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let there be a set A of $n$ items $A=\{z_1, ..., z_n\}$, and let $W$ be a strictly positive integer.  Each item $z_i$ has a value $v_i$ and a weight $w_i$. Finding a subset $AS$ of $A$ so that the weight of $AS$ is less than $W$ and the value of $AS$ (the sum of the value of its items) is maximized is the &lt;strong&gt;0/1 Knapsack Problem&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, consider a deviation from it where the items in $A$ have certain dependency relationships between each other, and these dependencies can be captured by a directed acyclic graph $G(A, E)$.  The value of the set $AS$ is no longer the sum of the value of the items in $AS$. For each item in $AS$,  its value depends on which other items are also in $AS$.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;More formally, this is how we calculate the value of an item $v$ in $AS$.  Let $a$ be &lt;strike&gt;the&lt;/strike&gt; a closest ancestor of $v$ in $G$ that is also in $AS$.  Then the contribution of $v$ to the value of $AS$ would be its own value, plus the value of all the ancestors in the path between $v$ and $a$. (Since this is a DAG, there could be many of these ancestors. See formalization below).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This problem has important applications in computational workflow systems where you have limited storage, and you want to optimize the computational time of running a workflow (represented by a DAG) by storing some of the intermediate datasets for future use.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;My questions&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem is obviously NP-Hard because the Knapsack problem can be reduced to it. I have a feeling that it is likely that no pseudo-polynomial algorithm exists for it. Do you know of a problem that I could use to reduce to my problem to confirm those feelings? Or do you think that it is possible to produce a pseudo-polynomial algorithm for this?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT: FORMALIZATION ON HOW TO COMPUTE VALUE OF $AS$&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To succinctly define the value of $AS$ I will add to the notation from above a little bit. Let $v(z_i)$ be equivalent to $v_i$ from above. Then $v(z_i|AS)$ reads: value of node $z_i$ given answer set $AS$.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;If $z_i \in AS$, then $v(z_i|AS)=0$. &lt;/li&gt;&#xA;&lt;li&gt;Otherwise, if $z_i \not\in AS$, $v(z_i|AS) = v(z_i) + \sum_{z_j \in parents(z_i)}{v(z_j|AS)}$&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Those two definitions are enough to then say that:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$value(AS) = \sum_{z_i \in AS}{v(z_i|AS-\{z_i\})}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;END OF EDIT&lt;/strong&gt;&lt;/p&gt;&#xA;" OwnerUserId="21471" LastEditorUserId="21471" LastEditDate="2015-04-22T03:51:08.753" LastActivityDate="2015-04-22T03:51:08.753" Title="Complexity of Knapsack-type problem with applications to computational workflows" Tags="&lt;np-hardness&gt;&lt;time-complexity&gt;&lt;reductions&gt;" AnswerCount="0" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31195" PostTypeId="1" CreationDate="2015-04-19T20:02:17.073" Score="41" ViewCount="4499" Body="&lt;p&gt;Adleman's proof that $BPP$ is contained in $P/poly$ shows that if there is a randomized algorithm for a problem that runs in time $t(n)$ on inputs of size $n$, then there also is a deterministic algorithm for the problem that runs in time $\Theta(t(n)\cdot n)$ on inputs of size $n$ [the algorithm runs the randomized algorithm on $\Theta(n)$ independent randomness strings. There must be randomness for the repeated algorithm that is good for all $2^n$ possible inputs]. The deterministic algorithm is non-uniform - it may behave differently for different input sizes.&#xA;So Adleman's argument shows that - if one doesn't care about uniformity - randomization can only speed-up algorithms by a factor that is linear in the input size.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What are some concrete examples where randomization speeds up computation (to the best of our knowledge)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One example is polynomial identity testing. Here the input is an n-sized arithmetic circuit computing an m-variate polynomial over a field, and the task is to find out whether the polynomial is identically zero. A randomized algorithm can evaluate the polynomial on a random point, while the best deterministic algorithm we know (and possibly the best that exists) evaluates the polynomial on many points. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another example is minimum spanning tree, where the best randomized algorithm by Karger-Klein-Tarjan is linear time (and the error probability is exponentially small!), while the best deterministic algorithm by Chazelle runs in time $O(m\alpha(m,n))$ ($\alpha$ is the inverse Ackermann function, so the randomization speed-up is really small). Interestingly, it was proved by Pettie and Ramachandran that if there's a non-uniform deterministic linear time algorithm for minimum spanning tree, then there also exists a uniform deterministic linear time algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What are some other examples?&#xA;Which examples do you know where the randomization speed-up is large, but this is possibly just because we haven't found sufficiently efficient deterministic algorithms yet?  &lt;/p&gt;&#xA;" OwnerUserId="1621" LastActivityDate="2020-01-24T15:13:58.777" Title="When does randomization speed up algorithms and it &quot;shouldn't&quot;?" Tags="&lt;randomized-algorithms&gt;" AnswerCount="7" CommentCount="7" FavoriteCount="15" ContentLicense="CC BY-SA 3.0" />
  <row Id="31196" PostTypeId="2" ParentId="31195" CreationDate="2015-04-19T20:26:49.303" Score="1" Body="&lt;p&gt;Best example is in area considered currently best candidates for OWFs where it seems every popular OWF that is cooked up surprisingly has a randomized sub-exponential algorithm while there exists no deterministic sub-exponential algorithm (take integer factorization for instance). In fact, in many cases, there probably is efficient algorithm given some advice strings (cryptoanalysis).&lt;/p&gt;&#xA;" OwnerUserId="1812" LastEditorUserId="1812" LastEditDate="2015-04-19T20:44:25.430" LastActivityDate="2015-04-19T20:44:25.430" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31197" PostTypeId="2" ParentId="31195" CreationDate="2015-04-19T21:16:46.697" Score="28" Body="&lt;p&gt;I don’t know whether randomization “should” or “shouldn’t” help, however, integer primality testing can be done in time $\tilde O(n^2)$ using randomized Miller–Rabin, while as far as I know, the best known deterministic algorithms are $\tilde O(n^4)$ assuming GRH (deterministic Miller–Rabin) or $\tilde O(n^6)$ unconditionally (variants of AKS).&lt;/p&gt;&#xA;" OwnerUserId="6959" LastEditorUserId="6959" LastEditDate="2015-04-20T09:06:16.360" LastActivityDate="2015-04-20T09:06:16.360" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="31198" PostTypeId="1" CreationDate="2015-04-20T01:40:44.190" Score="1" ViewCount="72" Body="&lt;p&gt;recently multivariate polynomial factoring has been &lt;a href=&quot;http://eccc.hpi-web.de/report/2014/001/&quot; rel=&quot;nofollow&quot;&gt;related&lt;/a&gt; to &lt;a href=&quot;http://en.wikipedia.org/wiki/Schwartz%E2%80%93Zippel_lemma#Comparison_of_two_polynomials&quot; rel=&quot;nofollow&quot;&gt;Polynomial Identity Testing / PIT&lt;/a&gt; (by Kopparty, Saraf, Shpilka). &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;where is the complexity of factoring multivariate polynomials over &lt;a href=&quot;http://en.wikipedia.org/wiki/Finite_field&quot; rel=&quot;nofollow&quot;&gt;finite fields&lt;/a&gt; analyzed/ surveyed, in particular for &lt;strong&gt;F&lt;sub&gt;2&lt;/sub&gt;&lt;/strong&gt;?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;(eg is there a complete problem related to that, or does KSS result relate to factorization over finite fields etc?)&lt;/p&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2015-04-20T01:40:44.190" Title="complexity of factoring multivariate polynomials over Fn" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;polynomials&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="31199" PostTypeId="2" ParentId="31195" CreationDate="2015-04-20T02:50:43.000" Score="19" Body="&lt;p&gt;An old example is volume computation. Given a polytope described by a membership oracle, there's a randomized algorithm running in polynomial time to estimate its volume to a $1+\epsilon$ factor, but no deterministic algorithm can come even close &lt;strong&gt;unconditionally&lt;/strong&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The first example of such a randomized strategy was by Dyer, Frieze and Kannan, and the hardness result for deterministic algorithms is by Bárány and Füredi. Alistair Sinclair &lt;a href=&quot;http://www.cs.berkeley.edu/~sinclair/cs294/n16.pdf&quot;&gt;has nice lecture notes on this&lt;/a&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm not sure I fully understand the &quot;and it shouldn't&quot; part of the question, so I'm not sure this fits the bill. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2015-04-20T02:50:43.000" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="31200" PostTypeId="1" CreationDate="2015-04-20T03:01:28.023" Score="1" ViewCount="280" Body="&lt;p&gt;I apologize if this question is not a good fit for CSTheory. I'm a PhD student who has just started out and I'm working on a game-theory problem in one of my classes. Although my professor hasn't explicitly required it, I'd like to prove the NP-hardness or completeness of the problem since it's something I'd like to learn to do. I'm pretty new at theoretical CS since I've been working as a software-engineer for the past 8 or so years. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;My problem is as follows. The defender has a set of targets $T = \{a, b, c, d, e, f, g\}$ and $k$ resources, where $k &amp;lt; |T|$. The defender can place at most one resource on one target to cover it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is an attacker who can attack any subset of targets in $T$. So the attacker's pure strategy $A \subseteq T$ and $A \in \mathcal{P}(T)$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The attacker succeeds if &lt;em&gt;all&lt;/em&gt; the targets he attacks are not covered by the defender. If &lt;em&gt;at least one&lt;/em&gt; of the targets that he attacks &lt;em&gt;is&lt;/em&gt; covered by the defender, he fails. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The defender does not know which targets the attacker will attack, and he also does not know the number of targets either. The defender's job is to come up with an optimal mixed strategy (a vector with a probability assigned to each pure strategy) to guard against the attacker. The probability assigned to a pure-strategy is the probability that the defender will play that pure strategy. This information is also known to the attacker. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I know that the strategy space for both players is large. The total number of pure strategies for the defender is $\binom{|T|}{k}$, and for the attacker it is $2^{|T|}$. There is a standard algorithm that generates a set of linear programs to solve for the defender's mixed strategy. However, we will end up with $2^{|T|}$ linear programs, each with $\binom{|T|}{k}$ variables. So the complexity is $O\big(2^{|T|} \times \binom{|T|}{k}^{3.5}\big)$ (Karmarkar's algorithm).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The algorithm won't perform well at all, because there combinatorial explosion in the strategy space for both the defender and attacker. I'm trying to see if there is an NP-complete problem I can reduce this to, but I'm not sure where to go from here. I have looked at set cover, and exact set cover, but I'm still not sure how I would reduce it to that, or even if those are applicable here.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I read &lt;a href=&quot;https://www.cs.duke.edu/~conitzer/graph_securityAAMAS11.pdf&quot; rel=&quot;nofollow&quot;&gt;this&lt;/a&gt; paper where they deal with a somewhat similar problem (urban network graph, where an attacker can attack any target from a starting point by using any of the paths available; the defender has $k$ resources that he can place on edges to block the attacker). Here, they use a double oracle approach and then prove the NP hardness of the defender and attacker oracle by reducing to set-cover and 3-SAT respectively. The defender oracle tries to find a pure strategy for a given attacker mixed-strategy, and the attacker tries to find a pure strategy for a given defender mixed-strategy. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm trying to do something similar, but I'm not sure where to start, or even of it would be applicable in my case. For example, if we have an attacker with the following mixed-strategy $\{\{b, c\}, \{a, b, c,\}, \{a, b, d\}, \{b, c\}\}$ (where each one has an associated probability), the defender needs to find the optimal pure strategy that covers the most targets and gives him the most payoff. If we assume that the defender has 3 resources, the optimal pure strategy would be one of $\{\{a, b, c\}, \{a, b, d\}, \{a, c, d\}, \{b, c, d\}\}$. Here, it doesn't look like finding a cover would help, since the defender only has 3 resources. So I'm not sure where to go from here.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT:&lt;/strong&gt;  Each target $t \in T$ has an associated payoff of $\tau_t$.&lt;/p&gt;&#xA;" OwnerUserId="32808" LastEditorUserId="32808" LastEditDate="2015-04-20T15:10:41.407" LastActivityDate="2015-04-20T15:10:41.407" Title="Finding an equivalent NP-complete instance for this game-theory problem" Tags="&lt;np-hardness&gt;&lt;gt.game-theory&gt;&lt;np&gt;&lt;np-complete&gt;&lt;combinatorial-game-theory&gt;" AnswerCount="0" CommentCount="5" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31201" PostTypeId="2" ParentId="31195" CreationDate="2015-04-20T09:42:28.613" Score="-5" Body="&lt;p&gt;If you have an algorithm using randomisation, you can always replace it with a deterministic algorithm using pseudo-random numbers: Take the description of the problem, calculate a hash code, use that hash code as the seed for a good pseudo-random number generator. In practice, that's actually what is likely to happen when somebody implements an algorithm using randomisation. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we leave out the hash code, then the difference between this algorithm and an algorithm using true randomisation is that I can predict the sequence of random numbers generated, and I could produce a problem such that the predicted random number applied to my problem will always make the worst possible decision. For example, for Quicksort with a pseudo-random pivot I could construct an input array where the pseudo-random pivot  will always find the largest possible value in the array. With true randomness that isn't possible. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;With the hash code, it would be &lt;em&gt;very difficult&lt;/em&gt; for me to construct a problem where the pseudo-random numbers produce worst outcomes. I can still predict the random numbers, but if I change the problem, the sequence of pseudo-random numbers changes completely. Still, it would be close to impossible for you to &lt;em&gt;prove&lt;/em&gt; that I can't construct such a problem. &lt;/p&gt;&#xA;" OwnerUserId="32817" LastActivityDate="2015-04-20T09:42:28.613" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="31203" PostTypeId="1" CreationDate="2015-04-20T14:14:30.973" Score="3" ViewCount="510" Body="&lt;p&gt;My question is essentially what comes in the subject line: what is the best way to find an induced cycle basis of a graph (i.e., a cycle basis of the graph in which each cycle is an induced subgraph of the original graph)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I can think of the following naive approach:&#xA;Let $T$ be any spanning forest of $G$. Now repeat operation (a) until there are no two edges $e_1 = (u_1, v_1)$ and $e_2 = (u_2, v_2)$ so that $e_1, e_2 \in E(G) \setminus E(T)$ and the path in $T$ from $u_1$ to $v_1$ contains the path in $T$ from $u_2$ to $v_2$. Operation (a) adds edge $e_2$ to $T$ and removes one of the other edges in the path from $u_2$ to $v_2$ in $T$. Finally, construct the cycle basis of $G$ according to the resulting $T$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, there are several things that I am interested in:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;I believe the correctness of the algorithm above is intuitive but I might be wrong. Have I missed something?&lt;/li&gt;&#xA;&lt;li&gt;Even if correct, the above algorithm is obviously very inefficient. Is there an efficient way to implement that idea?&lt;/li&gt;&#xA;&lt;li&gt;Are there other efficient methods of finding an induced cycle basis of a graph?&lt;/li&gt;&#xA;&lt;li&gt;Among different algorithms for doing that, are there any time/space trade-off that I should consider? I am willing to spend a little more on computation if it means smaller memory footprint.&lt;/li&gt;&#xA;&lt;li&gt;The above algorithm only works for undirected graphs. What about directed ones?&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="15892" LastEditorUserId="15892" LastEditDate="2015-04-20T16:36:36.020" LastActivityDate="2015-04-20T22:07:21.433" Title="What is the best way to find an induced cycle basis of a graph?" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;space-time-tradeoff&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="31204" PostTypeId="1" CreationDate="2015-04-20T16:36:38.690" Score="0" ViewCount="565" Body="&lt;p&gt;When a graph has parallel edges and self loops one cannot identify an edge with the set of two adjacent vertices it connects.  I have failed to find a good formal definition of a non-simple graph.  This is my attempt: &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;An edge weighted graph $G = (V, E, \omega, \gamma)$ is a set of vertices $V$ together with a set of edge $E$, a function $\gamma: E \rightarrow \{\{u, v\}: u, v \in V\}$ and a weight function $\omega: E\rightarrow R$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I am wondering whether this is sound, and what is a good standard name for the function $\gamma$ in this context.  &lt;/p&gt;&#xA;" OwnerUserId="22537" LastActivityDate="2015-04-20T16:36:38.690" Title="Proper definition of a graph with with loops and parallel edges" Tags="&lt;graph-theory&gt;" AnswerCount="0" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="31205" PostTypeId="2" ParentId="31169" CreationDate="2015-04-20T18:14:29.290" Score="4" Body="&lt;p&gt;The parsing table of a $LL(k)$ grammar grows exponentially in $k$.&#xA;This is however the worst-case scenario, which is not typical, as Niel pointed out:&#xA;For an $LL(k)$ grammar $G$, $k$ is the size of the maximal lookahead needed across $L(G)$.&#xA;But it appears that in practice, the need for a $k$ lookahead is restricted to a small portion to the language, so that the size of the parsing table remains reasonable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We face here a quite common problem of theoretical complexity not reflecting the practical experience.&#xA;Beyond $LL(k)$ are $LL(*)$ grammars, whose lookahead is adaptative, so as to keep the parsing table no larger than necessary.&#xA;$LL(*)$ technique is examplified by &lt;a href=&quot;http://www.antlr.org&quot; rel=&quot;nofollow&quot;&gt;ANTLR&lt;/a&gt;, and described in this &lt;a href=&quot;http://www.antlr.org/papers/LL-star-PLDI11.pdf&quot; rel=&quot;nofollow&quot;&gt;paper&lt;/a&gt; by Terence Parr.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, I would say that many teachers focus on $LL(1)$ to emphasize that $LL(1)$ suffices to parse most languages in &lt;em&gt;practice&lt;/em&gt;.&#xA;Philosophically, our programming languages lie somewhere between Deterministic and Non-Deterministic Pushdown Automata, but in fact way closer to DPA than to the full NPA.&#xA;A similar observation can be done for &lt;a href=&quot;http://en.wikipedia.org/wiki/Mildly_context-sensitive_grammar_formalism&quot; rel=&quot;nofollow&quot;&gt;natural languages&lt;/a&gt;: context-free is not enough, yet context-sensitive is way too powerful.&lt;/p&gt;&#xA;" OwnerUserId="32683" LastActivityDate="2015-04-20T18:14:29.290" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="31207" PostTypeId="2" ParentId="31203" CreationDate="2015-04-20T20:42:30.067" Score="5" Body="&lt;p&gt;Did you try searching Google scholar for &quot;induced cycle basis&quot;? There is not much, but the following reference seems to be relevant. It characterizes the graphs for which the set of &lt;em&gt;all&lt;/em&gt; induced cycles forms a cycle basis, which I think is more restrictive than your question (you are allowing a proper subset of these cycles in your basis).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://doi.org/10.1016/S0012-365X(00)00103-5&quot; rel=&quot;nofollow&quot;&gt;McKee, Terry A. (2000), Induced cycle structure and outerplanarity, Discrete Math. 223 (1–3): 387–392.&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In any case I believe the following approach will work for your problem. Separately, within each biconnected component, do the following steps:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Start with an induced cycle&lt;/li&gt;&#xA;&lt;li&gt;Repeatedly find an &quot;ear&quot; in an ear decomposition: a simple path that starts and ends in previously chosen cycles, and with each interior vertex not belonging to previous cycles. Choose the ear to be as short as possible (breaking ties by the distance between the path endpoints among edges in previous cycles) so that there is no shortcut edge from an interior vertex back to the set of previous cycles.&lt;/li&gt;&#xA;&lt;li&gt;Connect the endpoints of the ear by a shortest path through the edges used in previous cycles, and add the resulting cycle to the decomposition.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;By using shortest paths to choose each ear and to complete each ear to a cycle, the resulting cycles are all necessarily induced. They form a weakly fundamental set of cycles (each uses an edge not part of previous cycles) so they are independent, and they have the correct number of cycles to span the cycle space of the graph, so they are a cycle basis.&#xA;But unlike your approach (?) they are not a fundamental cycle basis: they do not come from a spanning tree of the graph.&lt;/p&gt;&#xA;" OwnerUserId="95" LastEditorUserId="95" LastEditDate="2015-04-20T22:07:21.433" LastActivityDate="2015-04-20T22:07:21.433" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31209" PostTypeId="1" AcceptedAnswerId="35954" CreationDate="2015-04-20T22:13:55.033" Score="2" ViewCount="909" Body="&lt;p&gt;How do I compare the performance of simulated annealing against the performance of quantum annealing algorithms?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In &lt;a href=&quot;http://arxiv.org/abs/quant-ph/0608154&quot; rel=&quot;nofollow&quot;&gt;Convergence theorems for quantum annealing&lt;/a&gt; by Morita and Nishimori, it has been shown that QA performs better than SA. Let's me quote from the Discussion section:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;We have proved strong ergodicity of the inhomogeneous Markov chains&#xA;  associated with Quantum Annealing using both Path Integral Monte Carlo&#xA;  and Green's Function Monte Carlo methods, mainly with the application&#xA;  to the Transverse Field Ising Model in mind, which covers a wide range&#xA;  of combinatorial optimization problems. Our proof is quite general in&#xA;  the sense that it does not depend on the spatial dimensionality or the&#xA;  lattice structure of the system. The convergence of QA is guaranteed&#xA;  if the transverse field decreases as $\Gamma(t) \approx&#xA; \frac{const}{t^c}$ asymptotically. This annealing schedule for the&#xA;  transverse field is faster than the temperature-annealing schedule,&#xA;  the log-inverse law, found by Geman and Geman for Simulated Annealing.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Does this result settle the question of the performances for Simulated vs. Quantum annealings? I have a feeling that we should put a little more context here.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I assume to settle the question we need to find a quantum annealing schedule which is faster than all simulated annealing schedules. The problem can be reduced to finding a quantum annealing schedule which is faster than the fastest simulated annealing schedule. Now, to me, the fastest simulated annealing schedule makes sense only when we know what optimization problem we are talking about. We cannot find the fastest simulated annealing schedule for all conceivable optimization problems. That just doesn't make sense to me.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, is the performance comparison between SA and QA settled? Is yes, how? If no, how can we do it?&lt;/p&gt;&#xA;" OwnerUserId="13408" LastActivityDate="2016-06-11T03:11:08.830" Title="Complexity: simulated annealing vs. quantum annealing" Tags="&lt;cc.complexity-theory&gt;&lt;optimization&gt;&lt;quantum-computing&gt;&lt;boolean-functions&gt;&lt;physics&gt;" AnswerCount="1" CommentCount="7" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31210" PostTypeId="1" AcceptedAnswerId="31232" CreationDate="2015-04-21T02:59:18.593" Score="4" ViewCount="223" Body="&lt;p&gt;One claim I find in many papers about identity testing, and closeness testing is that any distribution over $[n]$ can be approximated to within $\ell_1$ distance $\epsilon$ in $O\left(\frac{n}{\epsilon^2}\right)$ samples. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I do not seem to be able to find a proof of this anywhere. On trying to prove it, I seem to be able to prove it if I assume that there exists $\delta&amp;gt;0$, such that, $\min_{i \in [n]} P_i &amp;gt; \delta$, where $P$ is the true distribution. However, I do not seem to be able to prove it in the general case.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My attempt at a proof is the following:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $P$ be any distribution over $[n]$. Let $X_1,X_2,\cdots,X_{\frac{n}{\epsilon^2}}$ be iid samples of $P$. Let $m=c\frac{n}{\epsilon^2}$. Define $C_i$, $1 \leq i \leq n$, as&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$C_i= \sum_{j=1}^{m} 1(X_j=i).$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We note that $\mathbb{E}[C_i]= mP_i$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Further from Chernoff bounding, we get that,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$P[C_i &amp;gt; (1+\epsilon)mP_i] \leq \exp(-\epsilon^2 \frac{mP_i}{3})= \exp(-\frac{cnP_i}{3}).$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Similarly,&#xA;$$P[C_i &amp;lt; (1-\epsilon)mP_i] \leq \exp(-\frac{cnP_i}{2}).$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thus defining $\hat{P}_i= \frac{C_i}{m}$, and $\hat{P}=(\hat{P}_1,\cdots,\hat{P}_n)$, by union bounding, we get that with probability at least $1-\sum_{i=1}^n 2\exp(- \frac{cnP_i}{3})$, we have that $||\hat{P}-P||_1 \leq \epsilon$. This gives a proof of the claim as long as there exists $\delta&amp;gt;0$, such that, $\min_{i \in [n]} P_i &amp;gt; \delta$ (as the probability can be made arbitrarily close to 1 by increasing the constant).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, I do not know how I can generalise this result to the general case. I'd appreciate any help with respect to this.&lt;/p&gt;&#xA;" OwnerUserId="22466" LastEditorUserId="22466" LastEditDate="2015-04-21T03:10:19.187" LastActivityDate="2015-04-22T18:31:31.490" Title="Approximating distributions from samples" Tags="&lt;pr.probability&gt;&lt;st.statistics&gt;" AnswerCount="3" CommentCount="0" FavoriteCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31211" PostTypeId="2" ParentId="31210" CreationDate="2015-04-21T04:03:17.150" Score="0" Body="&lt;p&gt;Have a look at Tugkan Batu, Lance Fortnow, Ronitt Rubinfeld, Warren D. Smith, Patrick White: &lt;em&gt;Testing Closeness of Discrete Distributions&lt;/em&gt;. J. ACM 60(1): 4 (2013)&#xA;for a comprehensive treatment. The abstract states&lt;/p&gt;&#xA;&#xA;&lt;p&gt;*Given samples from two distributions over an n-element set, we wish to test whether these distributions are statistically close. We present an algorithm which uses sublinear in $n$, specifically, $O(n^{2/3} \epsilon^{−8/3} \log n)$,&#xA;independent samples from each distribution, runs in time linear in the sample size, makes no assumptions&#xA;about the structure of the distributions, and distinguishes the cases when the distance between the distributions&#xA;is small, less than&#xA;$$\max(\epsilon^{4/3}n^{−1/3}/32, \epsilon n^{−1/2}/4)$$&#xA;or large (more than $\epsilon$) in ${\ell}_1$ distance. This result can&#xA;be compared to the lower bound of &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\Omega(n^{2/3} \epsilon^{−2/3})$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;for this problem given by Valiant [2008].&#xA;Our algorithm has applications to the problem of testing whether a given Markov process is rapidly*&#xA;mixing. We present sublinear algorithms for several variants of this problem as well.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;They distinguish between light and heavy elements of the distribution, among other techniques, to obtain these results.&lt;/p&gt;&#xA;" OwnerUserId="21948" LastActivityDate="2015-04-21T04:03:17.150" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="31212" PostTypeId="1" CreationDate="2015-04-21T04:49:27.617" Score="0" ViewCount="93" Body="&lt;p&gt;We are a set of items $I = \{I_1, I_2,.. I_n\}$, which need to be placed in a certain number of knapsacks $K$. We can use as many knapsacks as we want and each knapsack has an infinite capacity but certain pairs of items $N = \{(I_i,I_j),..\}$ cannot be together in a knapsack, certain pairs of items $Y = \{(I_i,I_j),..\}$ have to be placed together and for certain pairs there is a cost of not placing them together in a knapsack given by $M = \{(I_i,I_j, C_{ij}),..\}$. The objective is to place all the items in knapsacks such that the constraints specified by $Y$ and $N$ are satisfied and the sum of the overall cost incurred due to not placing items together (given by $M$) is minimised.   &lt;/p&gt;&#xA;" OwnerUserId="32829" LastActivityDate="2015-04-21T04:49:27.617" Title="Is this some variant of the Knapsack Problem?" Tags="&lt;complexity-classes&gt;&lt;reductions&gt;" AnswerCount="0" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="31213" PostTypeId="2" ParentId="31195" CreationDate="2015-04-21T05:50:13.770" Score="11" Body="&lt;p&gt;i dont know if this answers your question (or at least part of it). But for real-world examples where randomisation can provide a speed-up is in optimisation problems and the relation to the &lt;a href=&quot;http://en.wikipedia.org/wiki/No_free_lunch_in_search_and_optimization&quot; rel=&quot;noreferrer&quot;&gt;No Free Lunch (&lt;strong&gt;NFL&lt;/strong&gt;) theorem&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;There is a paper &lt;a href=&quot;http://www.martinsewell.com/evolutionary-computation/nfl/DrJW98.pdf&quot; rel=&quot;noreferrer&quot;&gt;&amp;quot;Perhaps not a free lunch but at least a free appetizer&amp;quot;&lt;/a&gt; where it is shown that employing randomisation, (optimisation) algorithms can have better performance.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;Abstract:&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;It is often claimed that Evolutionary Algorithms are superior to other optimization techniques, in particular, in situations where not much is known about the objective function to be optimized.  In contrast to that Wolpert and Macready (1997) proved that all optimization techniques have the same behavior --- on average over all &lt;span class=&quot;math-container&quot;&gt;$f : X \rightarrow Y$&lt;/span&gt; where &lt;span class=&quot;math-container&quot;&gt;$X$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$Y$&lt;/span&gt; are finite sets.  This result is called [the] No Free Lunch Theorem.  Here different scenarios of optimization are presented.  It is argued why the scenario on which the No Free Lunch Theorem is based does not model real life optimization.  For more realistic scenarios it is argued why optimization techniques differ in their efficiency.  For a small example this claim is proved.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;References:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://ti.arc.nasa.gov/m/profile/dhw/papers/78.pdf&quot; rel=&quot;noreferrer&quot;&gt;No Free Lunch Theorems for Optimization&lt;/a&gt; (original &lt;strong&gt;NFL&lt;/strong&gt; theorem for optimisation)&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.martinsewell.com/evolutionary-computation/nfl/DrJW98.pdf&quot; rel=&quot;noreferrer&quot;&gt;Perhaps not a free lunch but at least a free appetizer&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.cs.colostate.edu/%7Egenitor/2001/gecco2001.pdf&quot; rel=&quot;noreferrer&quot;&gt;The No Free Lunch and description length&lt;/a&gt; (shows that &lt;strong&gt;NFL&lt;/strong&gt; results hold for any subset &lt;span class=&quot;math-container&quot;&gt;$F$&lt;/span&gt; of the set of all possible functions iff &lt;span class=&quot;math-container&quot;&gt;$F$&lt;/span&gt; is closed under permutation, &lt;strong&gt;c.u.p.&lt;/strong&gt;)&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://image.diku.dk/igel/paper/OCoFfwNFLRH.pdf&quot; rel=&quot;noreferrer&quot;&gt;On classes of functions for which No Free Lunch results hold&lt;/a&gt; (It is proven that the fraction of subsets that are &lt;strong&gt;c.u.p.&lt;/strong&gt; is negligibly small)&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.cs.cmu.edu/%7Ematts/Research/mstreeter_gecco_2003.pdf&quot; rel=&quot;noreferrer&quot;&gt;Two Broad Classes of Functions for which a No Free Lunch Result Does Not Hold&lt;/a&gt; (shows that a &lt;strong&gt;NFL&lt;/strong&gt; result does not apply to a set of functions when the description length of the functions is sufficiently bounded)&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://hal.inria.fr/inria-00369788/document&quot; rel=&quot;noreferrer&quot;&gt;Continuous lunches are free plus the design of optimal optimization algorithms&lt;/a&gt; (shows that for continuous domains, [official version of] &lt;strong&gt;NFL&lt;/strong&gt; does not hold. This free-lunch theorem is based on the formalization of the concept of random fitness functions by means of random fields)&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.172.6290&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;noreferrer&quot;&gt;Beyond No Free Lunch: Realistic Algorithms for Arbitrary Problem Classes&lt;/a&gt; (shows that &amp;quot;..[a]ll violations of the No Free Lunch  theorems  can  be  expressed  as  non-block-uniform distributions  over  problem  subsets  that  are &lt;strong&gt;c.u.p.&lt;/strong&gt;&amp;quot;)&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://cdn.intechopen.com/pdfs/32858.pdf&quot; rel=&quot;noreferrer&quot;&gt;Swarm-Based Metaheuristic Algorithms and No-Free-Lunch Theorems&lt;/a&gt; (&amp;quot;[..t]herefore, results for non-revisiting time-ordered iterations may not be true for the cases of revisiting cases, because the revisiting iterations break an important assumption of &lt;strong&gt;c.u.p.&lt;/strong&gt; required for proving the NFL theorems (Marshall and Hinton, 2010)&amp;quot;)&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.cs.bham.ac.uk/%7Ewbl/biblio/gecco2006etc/papers/lbp124.pdf&quot; rel=&quot;noreferrer&quot;&gt;No Free Lunch and Algorithmic Randomness&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://duenez.evolicious.org/PDFs/Duenez2012a.pdf&quot; rel=&quot;noreferrer&quot;&gt;No Free Lunch and Benchmarks&lt;/a&gt; (a set-theoretic approach it is generalised to criteria not-specific to &lt;strong&gt;c.u.p.&lt;/strong&gt;, but still notes that (non-trivial) randomised algorithms can outperform deterministic algorithms on average, &amp;quot;[..]it has been demonstrated that probability is inadequate to affirm unconstrained &lt;strong&gt;NFL&lt;/strong&gt; results in the general case. [..]this paper abandons probability, preferring a set-theoretic framework which obviates measure-theoretic limitations by dispensing with probability altogether&amp;quot;)&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;Summary on no-free-lunches (and free lunches) by David H. Wolpert, &lt;a href=&quot;http://www.no-free-lunch.org/coev.pdf&quot; rel=&quot;noreferrer&quot;&gt;What does dinner cost?&lt;/a&gt; (&lt;strong&gt;note&lt;/strong&gt; that &lt;em&gt;NFL-type&lt;/em&gt; theorems never specify an actual &amp;quot;&lt;em&gt;price&lt;/em&gt;&amp;quot; due to their type of proof)&lt;/p&gt;&#xA;&lt;p&gt;specificaly for generalised optimisation (GO):&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Two spaces &lt;span class=&quot;math-container&quot;&gt;$X$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$Z$&lt;/span&gt;. E.g., &lt;span class=&quot;math-container&quot;&gt;$X$&lt;/span&gt; is inputs, &lt;span class=&quot;math-container&quot;&gt;$Z$&lt;/span&gt; is distributions over outputs.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Fitness Function &lt;span class=&quot;math-container&quot;&gt;$f:  X \to Z$&lt;/span&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$m$&lt;/span&gt; (perhaps repeated) sampled points of &lt;span class=&quot;math-container&quot;&gt;$f$&lt;/span&gt;: &lt;span class=&quot;math-container&quot;&gt;$$d_m =  \{d_m(1), d_m(2), ..., d_m(m)\}$$&lt;/span&gt; where &lt;span class=&quot;math-container&quot;&gt;$\forall t$&lt;/span&gt;,&#xA;&lt;span class=&quot;math-container&quot;&gt;$$d_m(t) =\{d^X_m(t),d^Z_m(t)\}$$&lt;/span&gt;&#xA;each &lt;span class=&quot;math-container&quot;&gt;$d^Z_m(t)$&lt;/span&gt; a (perhaps stochastic) function of &lt;span class=&quot;math-container&quot;&gt;$f[d^X_m(t)]$&lt;/span&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Search algorithm &lt;span class=&quot;math-container&quot;&gt;$a  = \{d_t \to d^X_m(t) : t=0..m\}$&lt;/span&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Euclidean vector-valued Cost function &lt;span class=&quot;math-container&quot;&gt;$C(f, d_m)$&lt;/span&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;To capture a particular type of optimization problem,much of the problem structure is expressed in &lt;span class=&quot;math-container&quot;&gt;$C(., .)$&lt;/span&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;&lt;strong&gt;NFL theorems depend crucially on having &lt;span class=&quot;math-container&quot;&gt;$C$&lt;/span&gt; be independent of &lt;span class=&quot;math-container&quot;&gt;$f$&lt;/span&gt;. If &lt;span class=&quot;math-container&quot;&gt;$C$&lt;/span&gt; depends on &lt;span class=&quot;math-container&quot;&gt;$f$&lt;/span&gt;, free lunches may be possible. E.g., have &lt;span class=&quot;math-container&quot;&gt;$C$&lt;/span&gt;&#xA;independent of &lt;span class=&quot;math-container&quot;&gt;$(f, d_m)$&lt;/span&gt;, unless &lt;span class=&quot;math-container&quot;&gt;$f = f^*$&lt;/span&gt;.&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Finally a simple (and a not-so-simple) remark why &lt;strong&gt;randomisation&lt;/strong&gt; (in one form or another) may provide superior performance over strictly deterministic algorithms.&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;In the context of &lt;em&gt;optimisation&lt;/em&gt; (although not restricted in this), a randomised search procedure can &lt;strong&gt;on the average&lt;/strong&gt; &lt;em&gt;escape&lt;/em&gt; local-extrema better than deterministic search, and reach global-extrema.&lt;/li&gt;&#xA;&lt;li&gt;There is an interesting (but also not simple at a first glance) relation between ordering, cardinality and randomisation of a set (in the general sense). The powerset &lt;span class=&quot;math-container&quot;&gt;$2^A$&lt;/span&gt; of a set &lt;span class=&quot;math-container&quot;&gt;$A$&lt;/span&gt; (and its cardinality), intrinsicaly depends on a certain (staticaly) fixed ordering of the set (elements of) &lt;span class=&quot;math-container&quot;&gt;$A$&lt;/span&gt;. Assuming the ordering on (elements of) &lt;span class=&quot;math-container&quot;&gt;$A$&lt;/span&gt; is not (staticaly) fixed (randomisation can enter here, in the form of random ordering), the set &lt;span class=&quot;math-container&quot;&gt;$A$&lt;/span&gt; may be able to represent its own powerset (if it helps think of it as a kind of &lt;em&gt;quantum analog&lt;/em&gt; of a classic set, where dynamic ordering plays such a role as to account for a kind of &lt;em&gt;superposition principle&lt;/em&gt;).&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="21598" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2015-12-31T21:34:20.420" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31214" PostTypeId="1" AcceptedAnswerId="31239" CreationDate="2015-04-21T11:18:50.560" Score="2" ViewCount="252" Body="&lt;p&gt;I'm currently developing a simple key-value NoSQL store and want to build its formal model. I'm interested in knowing if there some work about formalization of key-value stores outside of category theory? I want to use some more simple and lightweight mathematics for the mathematical description of key-value stores. Set theory looks like it might offer some possibilities.  &lt;/p&gt;&#xA;" OwnerUserId="32142" LastEditorUserId="21335" LastEditDate="2015-04-22T21:41:46.103" LastActivityDate="2015-04-23T07:59:09.383" Title="How can I formalize key value stores with set theory?" Tags="&lt;ds.data-structures&gt;&lt;ct.category-theory&gt;&lt;db.databases&gt;&lt;set-theory&gt;" AnswerCount="1" CommentCount="7" ClosedDate="2015-04-23T22:06:14.223" ContentLicense="CC BY-SA 3.0" />
  <row Id="31215" PostTypeId="1" CreationDate="2015-04-21T12:07:41.237" Score="2" ViewCount="335" Body="&lt;p&gt;I cannot find references concerning the complexity of the variant of the knapsack problem (decision version) where one of the two conditions must be a product instead of a sum (0 not allowed). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A related question is this one: &lt;a href=&quot;https://cstheory.stackexchange.com/questions/20559/combining-subset-sum-and-subset-product-problems&quot;&gt;Combining subset sum and subset product problems&lt;/a&gt; .&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is well known that we can say that knapsack is the special case of subset sum (where each weight is equal to each profit and the bounds are the same) to satisfy the equality of subset sum with 2 inequalities. However, this is not possible here since there are 2 equalities to satisfy in the &quot;subset sum product&quot; problem and we have only 2 inequalities in the &quot;knapsack sum product&quot;. &lt;/p&gt;&#xA;" OwnerUserId="21459" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2015-04-21T16:21:56.823" Title="Knapsack combining sum and product" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31216" PostTypeId="1" CreationDate="2015-04-21T13:17:59.980" Score="5" ViewCount="155" Body="&lt;p&gt;Given a primal LP and an optimum solution thereof, it is well-known that complementary slackness conditions &lt;a href=&quot;https://cstheory.stackexchange.com/questions/24892/intuitively-why-is-the-complementary-slackness-condition-true&quot;&gt;[1]&lt;/a&gt; can be used in non-degenerate cases to produce a dual optimum solution.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For instance, if we have an LP of the form $\max c^Tx, Ax\le b, x \ge 0$ with $m$ constraints and $n$ variables, and we are given a vertex optimum solution such that at least $m$ primal slack values and primal optimum coordinates are strictly positive, then it is easy to use Gaussian elimination to produce the optimum solution of the dual.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, many degenerate cases can happen: an optimum vertex can be placed on many more constraints, or many variables can be set to 0, meaning that in such degenerate cases, complementary slackness does not seem to lead to a fast way of getting a dual optimum solution.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there an argument showing that the problem of computing any dual solution in such degenerate cases, while knowing the optimum, is equivalent (in complexity) to solving LP from scratch?&lt;/p&gt;&#xA;" OwnerUserId="6680" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2015-04-21T17:12:30.483" Title="Is computing the dual optimum of a degenerate LP equivalent in complexity to solving LP?" Tags="&lt;optimization&gt;&lt;linear-programming&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31219" PostTypeId="2" ParentId="31215" CreationDate="2015-04-21T16:21:56.823" Score="1" Body="&lt;p&gt;I don't know any reference, so just an extended comment:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you allow a &lt;em&gt;succinct&lt;/em&gt; representation for the input integers, i.e. you can represent the input integers as factors, then the &quot;multiplicative&quot; versions of Knapsack are NP-complete; indeed: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\sum_{i=1}^n w_i x_i \leq W$ can be reduced to the equivalent $\prod_{i=1}^n 2^{w_i} x_i \leq 2^W$;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;and $\sum_{i=1}^n v_i x_i$ maximization can be reduced to  $\prod_{i=1}^n 2^{v_i} x_i$ maximization.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I didn't think about it too much but the above reduction should work even if we require that in a mixed instance ( maximize sum of values under multiplicative weight constraint OR maximize product of values under addictive weight constraint ) all input values must be given with their prime factorization (building a direct reduction from exact cover).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Without a succinct representation the above reduction doesn't work because Knapsack is not strongly NPC.&lt;/p&gt;&#xA;" OwnerUserId="3247" LastActivityDate="2015-04-21T16:21:56.823" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31220" PostTypeId="2" ParentId="31216" CreationDate="2015-04-21T17:12:30.483" Score="2" Body="&lt;p&gt;Yes, in some sense at least.  See the following paper: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Megiddo, Nimrod. &quot;On finding primal-and dual-optimal bases.&quot; ORSA Journal on Computing 3.1 (1991): 63-65. PDF available &lt;a href=&quot;http://theory.stanford.edu/~megiddo/pdf/bases.pdf&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It shows that:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;if there exists a strongly polynomial time algorithm that finds a basis which is optimal for both the primal and&#xA;  the dual problems, given an optimal solution for one of the problems, then there exists a strongly polynomial algorithm for&#xA;  the general linear programming problem. &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;(Note the details of the result though: it is about finding an optimal &lt;strong&gt;basis&lt;/strong&gt; and deals with &lt;strong&gt;strongly&lt;/strong&gt; polynomial-time algorithms.)&lt;/p&gt;&#xA;" OwnerUserId="368" LastActivityDate="2015-04-21T17:12:30.483" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31221" PostTypeId="2" ParentId="31156" CreationDate="2015-04-21T20:27:46.750" Score="6" Body="&lt;p&gt;The answer is $C_{n-1} n!$ . That is, the $(n-1)$&lt;sup&gt;st&lt;/sup&gt; Catalan number times $n$ factorial.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are $C_{n-1}$ ways of making a complete binary tree with $n$ leaves, and there are $n!$ ways of assigning these leaves to the symbols to get a Huffman code.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This sequence goes 2, 12, 120, 1680, 30240, and is listed in the Online Encyclopedia of Integer Sequences as &lt;a href=&quot;http://oeis.org/A001813&quot; rel=&quot;noreferrer&quot;&gt;Quadruple Factorial Numbers&lt;/a&gt;, with a simpler formula than I give above.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The above argument shows that the quadruple factorial numbers give the number of ways of assigning $n$ symbols to codewords in a complete binary prefix code. It's not hard to show that you can assign probabilities to the symbols to make this encoding optimal (so it satisfies the definition of a Huffman code). It's not clear that a given Huffman coding algorithm will generate all of these, however. &lt;/p&gt;&#xA;" OwnerUserId="1677" LastEditorUserId="1677" LastEditDate="2015-04-21T20:47:50.247" LastActivityDate="2015-04-21T20:47:50.247" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31222" PostTypeId="1" CreationDate="2015-04-21T21:22:07.350" Score="0" ViewCount="60" Body="&lt;p&gt;I am looking for an specification language, which supports both primitive data types and objects. I already know about &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.128.2294&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;nofollow&quot;&gt;Object-Z&lt;/a&gt;. But I am wondering if there is any other Specification language that I can use.&lt;/p&gt;&#xA;" OwnerUserId="32841" LastActivityDate="2015-04-21T21:22:07.350" Title="Specification language for specifying both Objects and Primitive data types" Tags="&lt;formal-modeling&gt;&lt;formal-methods&gt;&lt;object-oriented&gt;" AnswerCount="0" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="31223" PostTypeId="1" CreationDate="2015-04-21T21:32:53.143" Score="0" ViewCount="171" Body="&lt;p&gt;I would like to learn about the possible ways of formalizing Classes and Objects (in programing languages like java) using formal languages. Where should I start? This might be related to my previous question I &lt;a href=&quot;https://cstheory.stackexchange.com/questions/31222/specification-language-for-specifying-both-objects-and-primitive-data-types&quot;&gt;asked here.&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="32841" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2015-04-22T07:08:20.120" Title="Theoretical background of Classes and Objects" Tags="&lt;graph-theory&gt;&lt;formal-modeling&gt;&lt;formal-methods&gt;&lt;object-oriented&gt;" AnswerCount="0" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31224" PostTypeId="2" ParentId="6034" CreationDate="2015-04-22T01:51:39.923" Score="7" Body="&lt;p&gt;If $n \sim 10$ and $k$ is fixed, then you can even afford to go with an XP algorithm like the one we implemented for our Android app.  The source code is here: &lt;a href=&quot;https://github.com/drange/Grapher/blob/master/src/no/uib/ii/algo/st8/algorithms/TreewidthInspector.java&quot; rel=&quot;noreferrer&quot;&gt;TreewidthInspector&lt;/a&gt;, and for instance with $n \leq 13$ and $k \leq 4$ it terminates in less than a second.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's approximately 170 lines of code and it's GPL (or MIT or BSD or whatever you should need).&lt;/p&gt;&#xA;" OwnerUserId="10889" LastActivityDate="2015-04-22T01:51:39.923" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31227" PostTypeId="2" ParentId="16187" CreationDate="2015-04-22T07:03:16.063" Score="8" Body="&lt;p&gt;Another famous example of using game theory is in CS is synthesis: in synthesis we get a specification over inputs I and outputs O (e.g. in temporal logic, or as an automaton), and we want to automatically generate a system (i.e. a finite-state transducer), that guarantees that for every input sequence of the environment, the computation induced by the transducer satisfies the specification. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;As it turns out, synthesis can be formulated as a game between the environment and the system, where a winning strategy for the system corresponds to a transducer. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A very important tool from game theory that is used in this context is Borel-determinancy, especially when we work over infinite computations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can start reading about this in &lt;a href=&quot;http://www.cs.rice.edu/~vardi/papers/fmco06.ps.gz&quot;&gt;Moshe Vardi's survey&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="7531" LastActivityDate="2015-04-22T07:03:16.063" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31228" PostTypeId="1" CreationDate="2015-04-22T14:33:20.003" Score="5" ViewCount="353" Body="&lt;p&gt;This is less of a question and more of a &quot;here's my take let me know if you agree&quot; (so I guess it might turn into a big-list?).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Dimensionality reduction&lt;/em&gt; refers to a collection of techniques that input data and return a lower-dimensional version, with some distortion. &lt;a href=&quot;http://en.wikipedia.org/wiki/Principal_component_analysis&quot;&gt;PCA&lt;/a&gt; and &lt;a href=&quot;http://en.wikipedia.org/wiki/Johnson%E2%80%93Lindenstrauss_lemma&quot;&gt;Johnson-Lindenstrauss&lt;/a&gt; are the most common examples.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;From an algorithmic perspective, the tradeoff is clear: lower dimensionality yields faster runtimes and reduced storage space, but compromises precision. I call this the dimension-distortion tradeoff.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;From a statistical/information-theoretic perspective, the situation seems less clear. It is commonly believed that dimensionality reduction (PCA in particular) has a denoising effect and thus should actually improve the performance. On the other hand, dimensionality reduction does discard information, which might cause the performance to degrade. Thus, one must address the statistical question: is the information I'm discarding noise or potentially useful (and even if useful, might the benefits of lower dimension still outweigh the losses)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There appear to be very few formal analyses of the statistical benefits of dimensionality reduction. One that I'm aware of is in our &#xA;&lt;a href=&quot;https://dl.dropboxusercontent.com/u/3198145/dimred-tcs.pdf&quot;&gt;ALT'13&lt;/a&gt;&#xA; paper (with Gottlieb and Krauthgramer). The setting there is fairly general -- metric spaces.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there other formal analyses of the statistical benefits of dimensionality reduction? Perhaps other tradeoffs besides those mentioned above?&lt;/p&gt;&#xA;" OwnerUserId="1746" LastActivityDate="2015-04-27T21:36:55.653" Title="Dimensionality reduction in machine learning" Tags="&lt;machine-learning&gt;&lt;lg.learning&gt;" AnswerCount="3" CommentCount="7" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="31230" PostTypeId="1" CreationDate="2015-04-22T16:10:28.880" Score="7" ViewCount="446" Body="&lt;p&gt;Motivated by Suresh's post, &lt;a href=&quot;https://cstheory.stackexchange.com/questions/20883/techniques-for-showing-that-problem-is-in-hardness-limbo/20891&quot;&gt;Techniques for showing that problem is in hardness limbo&lt;/a&gt;, it seems that there might be an underlying theory that explains why some of these problems can &lt;strong&gt;not&lt;/strong&gt; be complete for $NP$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For instance, the theory should explain why problems with polynomially bounded solutions (FewP) can not be complete. Also, it should explain why problems solvable by bounded nondeterminism (log-clique) can not be complete.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there a research program that tries to link the apparent incompleteness of at least two candidate problems in Suresh's post? What are the obstacles to such program?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT&lt;/strong&gt;: I am also interested in published research studying the connection between incomplete sets for $NP$ and finite versions of Godel's 2nd incompleteness theorem in the context of proof complexity.&#xA;Posted on &lt;a href=&quot;https://mathoverflow.net/questions/206807/is-there-a-program-for-theory-of-incompleteness-in-np&quot;&gt;MathOverflow&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT 2&lt;/strong&gt;:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some of the results in Suresh's post can be interpreted as (conjectured) necessary conditions for the NP-completeness of a given problem B:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1- Problem B must be exponentially dense.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2- Problem B can have exponential number of solutions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;3- Problem B must require linear nondeterministic bits to solve.&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2015-06-04T14:42:38.113" Title="Is there a program for theory of incompleteness in $NP$?" Tags="&lt;cc.complexity-theory&gt;" AnswerCount="0" CommentCount="5" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="31231" PostTypeId="2" ParentId="31210" CreationDate="2015-04-22T17:16:46.310" Score="2" Body="&lt;p&gt;I seem to have resolved this question. The claim (on page 5 of this  &lt;a href=&quot;http://www.eccc.hpi-web.de/report/2015/063/&quot; rel=&quot;nofollow&quot;&gt;http://www.eccc.hpi-web.de/report/2015/063/&lt;/a&gt; survey by Cannone) should have been that one can approximate a distribution to within $\ell_2$ distance $\epsilon$ in $O(\frac{n}{\epsilon^2})$ samples (He does not mention approximate in what sense).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This seems to follow directly from an inequality called the Dvoretzky–Kiefer–Wolfowitz inequality. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If anyone knows the stronger $\ell_1$ result to be true, I'd be grateful if they let me know.&lt;/p&gt;&#xA;" OwnerUserId="22466" LastEditorUserId="22466" LastEditDate="2015-04-22T18:31:31.490" LastActivityDate="2015-04-22T18:31:31.490" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="31232" PostTypeId="2" ParentId="31210" CreationDate="2015-04-22T18:25:19.617" Score="9" Body="&lt;p&gt;I think it's a simple application of Hoeffding's inequality. Using your notation, let $Q_i = \frac1m C_i$, i.e. $Q$ is the empirical distribution that approximates $P$. The total variation distance between $P$ and $Q$, i.e. half the $\ell_1$ distance, is&#xA;$$&#xA;\max_{S \subseteq [n]} \left| \sum_{i \in S}{P_i} - \sum_{i \in S}{Q_i}\right|.&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $P(S):= \sum_{i \in S}{P_i}$ and define $Q(S)$ analogously. The expectation of $Q(S)$ is $P(S)$ and by &lt;a href=&quot;http://en.wikipedia.org/wiki/Hoeffding%27s_inequality#General_case&quot;&gt;Hoeffding&lt;/a&gt;, &#xA;$$&#xA;\mathbb{P}(|Q(S) - P(S)| &amp;gt; \epsilon) \leq 2e^{-\epsilon^2 m}&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we take $m$ a large enough multiple of $n/\epsilon^2$, we have that $\mathbb{P}(|Q(S) - P(S)| &amp;gt; \epsilon) &amp;lt; 2^{-n}/3$ and by a union bound &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;\mathbb{P}(\max_S |Q(S) - P(S)| &amp;gt; \epsilon) &amp;lt; 1/3.&#xA;$$&#xA;So with probability at least 2/3, the total variation distance is at most $\epsilon$.&lt;/p&gt;&#xA;" OwnerUserId="4896" LastActivityDate="2015-04-22T18:25:19.617" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31237" PostTypeId="2" ParentId="31228" CreationDate="2015-04-23T02:22:43.853" Score="-2" Body="&lt;p&gt;agreed this is not studied in general so much. part of the theoretical challenge/ difficulty is its highly dataset- and algorithm-specific (in the sense that different datasets &amp;amp; ML techniques are more or less sensitive to the &quot;dimension-distortion tradeoff&quot;). often dimensionality reduction is regarded as a tunable/ optimizable parameter along with all the other ML parameters and some quality metric intrinsic to the problem (also measuring learning success/ &quot;generalization&quot;) is used to determine how much to apply. typically the performance of the ML algorithm declines if either too little or too much dimensionality reduction is applied.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;however re &quot;formal analysis/ tradeoffs of dimensionality reduction,&quot; newly emerging, try this large paper, which looks at how the Johnson-Lindenstrauss reduction affects datapoint proximity wrt a distance metric &amp;amp; lays out a more general theoretical framework. 60pp&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://arxiv.org/pdf/1311.2542v3.pdf&quot; rel=&quot;nofollow&quot;&gt;TOWARD A UNIFIED THEORY OF SPARSE DIMENSIONALITY REDUCTION IN EUCLIDEAN SPACE&#xA;&lt;/a&gt; / BOURGAIN, DIRKSEN, NELSON&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;as mentioned in the comments, one great applied case study in this type of big data problem &amp;amp; the relevance of PCA/ dimensionality reduction with major statistical/ scientific analysis is in the Netflix prize for movie ratings prediction. prior to the contest, PCA type approaches were somewhat rarely applied to human ratings predictions. however they were found to be extremely effective in this contest combined with careful tuning/ conditioning. the winning solutions used large &quot;blends&quot; of many different techniques but PCA related algorithms composed many of them. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;moreover, sometimes mostly PCA &lt;em&gt;alone&lt;/em&gt; without further learning algorithms applied on top of this data was enough as an effective/ top performing prediction algorithm. in this case one could say that most of the statistical trends in the data were apparently &quot;identified&quot; by PCA and what was &quot;left over&quot; (the &quot;residual&quot;) was either not substantial or noisy. this contest had a $1M prize awarded to collaborating teams and eventually Netflix decided to employ many of these techniques in their live production system.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;see eg&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://www.netflixprize.com/assets/GrandPrize2009_BPC_BellKor.pdf&quot; rel=&quot;nofollow&quot;&gt;The BellKor Solution to the Netflix Grand Prize&lt;/a&gt; / Koren&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://www.netflixprize.com/assets/ProgressPrize2008_BigChaos.pdf&quot; rel=&quot;nofollow&quot;&gt;The BigChaos Solution to the Netflix Prize 2008&lt;/a&gt; / Toscher &amp;amp; Jahrer&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2015-04-23T02:22:43.853" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="31239" PostTypeId="2" ParentId="31214" CreationDate="2015-04-23T07:59:09.383" Score="5" Body="&lt;p&gt;You did not say &lt;em&gt;why&lt;/em&gt; you want a formalization, but presumably you want to &lt;em&gt;do&lt;/em&gt; things with it, for instance prove properties of dictionaries and operations on them. In fact, your question can be understood in two ways: you want a &lt;em&gt;mathematical description&lt;/em&gt; of dictionaries, or you want a &lt;em&gt;computer formalization&lt;/em&gt; of dictionaries.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For a computer formalization have a look at the Coq standard library module &lt;a href=&quot;http://www.lix.polytechnique.fr/coq/stdlib/Coq.FSets.FMaps.html&quot;&gt;FMaps&lt;/a&gt;, and if someone can find something better, please post it in the comments or just edit this question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For a mathematical description all you have to note is that a dictionary is the same thing as a mapping with a finite domain. That is, if we have a dictionary (using Python style syntax):&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;d = { 'a' : 1, 'b' : 3, 'c' : 2 }&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;that is the same thing as a map $d$ whose domain of definition is the set $\{a, b, c\}$ and is defined as:&#xA;$$ d(a) = 1, \quad d(b) = 3, \quad d(c) = 2.$$&#xA;So now you can take any mathematical description of a map and use that. In set theory we would say that $d$ is the set of ordered pairs&#xA;$$\{(a,1), (b,3), (c,2)\}.$$&lt;/p&gt;&#xA;" OwnerUserId="705" LastActivityDate="2015-04-23T07:59:09.383" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31240" PostTypeId="1" AcceptedAnswerId="31245" CreationDate="2015-04-23T09:00:13.297" Score="2" ViewCount="75" Body="&lt;p&gt;Let $S\in\mathbb Z^d$ be a set of points, with some notion of distance $d(x,y)$ between two points $x,y\in S$. I am specifically interested in the &lt;em&gt;max distance&lt;/em&gt;, that is $d(x,y)=\max_{1\le i\le d} |x_i-y_i|$ where $x=(x_1,\dotsc,x_d)$ and $y=(y_1,\dotsc,y_d)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Single-linkage_clustering&quot; rel=&quot;nofollow noreferrer&quot;&gt;Single-linkage clustering&lt;/a&gt; consists in computing a tree $T$ on the set $S$ of &lt;em&gt;minimal distances&lt;/em&gt;, that can be defined by the following algorithm that computes the set $E$ of edges of $T$ as follows:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Set $E=\emptyset$ &lt;em&gt;[each point is a cluster]&lt;/em&gt;&lt;/li&gt;&#xA;&lt;li&gt;While $|E|&amp;lt;|S|-1$, add to $E$ a pair $(x,y)$ such that&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$x$ and $y$ are in distinct connected components of $T$;&lt;/li&gt;&#xA;&lt;li&gt;$d(x,y) = min_{u,v} d(u,v)$ where the minimum is taken over all pairs of points $u$, $v$  that are in distinct connected components of $T$.&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;If one first computes all the distances between pairs of points in $S$ and sort them, the above algorithms allows to compute the tree $T$ in time $\tilde O(n^2)$ if one assumes that the distance can be computed in time $O(1)$. Here the notation $\tilde O(\cdot)$ hides poly-logarithmic factors.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What is the complexity of computing this tree, when the distance is the max distance?&lt;/p&gt;&#xA;  &#xA;  &lt;ul&gt;&#xA;  &lt;li&gt;If $d=2$, is there a quasi-linear algorithm (that is in time $\tilde O(n)$)?&lt;/li&gt;&#xA;  &lt;li&gt;More generally, if $d$ is fixed, is there a quasi-linear algorithm?&lt;/li&gt;&#xA;  &lt;li&gt;Or is there a quadratic lower bound (in some &lt;em&gt;reasonable&lt;/em&gt; model)?&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Note: I asked a &lt;a href=&quot;https://cs.stackexchange.com/questions/41528/complexity-of-clustering-lattice-points&quot;&gt;similar question&lt;/a&gt; some days ago on cs.sx. I had no answer, so I re-post it here with a new (and I guess better) formulation.&lt;/em&gt;&lt;/p&gt;&#xA;" OwnerUserId="976" LastEditorUserId="-1" LastEditDate="2017-04-13T12:48:30.830" LastActivityDate="2015-04-23T19:42:36.147" Title="Complexity for single-linkage clustering with max norm" Tags="&lt;reference-request&gt;&lt;computational-geometry&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31242" PostTypeId="1" CreationDate="2015-04-23T09:50:11.273" Score="1" ViewCount="122" Body="&lt;p&gt;Imagine two lists $L$, $M$ of the same length $n$. How to find $j$ such that &#xA;$\sum_{i=1}^n(L[i]-M[i+j])^2$ is minimal, where the index $i+j$ is taken modulo $n$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course one can take all the indices $j\in\{1, \dots, n\}$ and compute all the sums, but the goal is to find something faster.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The same question hold for matrices: If $A$, $B$ are two square matrices, how to minimize $f(a,b)=\sum_{i=1}^n\sum_{j=1}^n (A[i][j]-B[i+a][j+b])^2$ for $a,b\in\{1,\dots,n\}$, where indices are again taken modulo $n$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks a lot. I would like to apologize, if my question is a classic one, but I searched and I didn't find an answer.&lt;/p&gt;&#xA;" OwnerUserId="32856" LastEditorUserId="976" LastEditDate="2015-04-23T11:22:36.687" LastActivityDate="2015-04-23T11:22:36.687" Title="Minimize L2 norm by circular permutation" Tags="&lt;permutations&gt;&lt;minimization&gt;&lt;norms&gt;" AnswerCount="0" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31243" PostTypeId="1" AcceptedAnswerId="31244" CreationDate="2015-04-23T12:31:08.567" Score="1" ViewCount="1095" Body="&lt;p&gt;I am supposed to write a small paper about DFA in OOP for a CS class in theory. But I am required to connect that (DFA) to axiomatic and denotational semantics!&#xA;I read few resources about axiomatic/denotational semantics but no one is talking specifically about their relation to Data Flow Analysis.&#xA;Can you please guide me about that, or at least guide me to a book, chapter or a paper that talks about that?&lt;/p&gt;&#xA;" OwnerUserId="32858" LastActivityDate="2015-04-23T14:32:50.863" Title="What is the relation/difference between axiomatic and denotational semantics one one side, and the data flow analysis(DFA) on the other sied?" Tags="&lt;semantics&gt;&lt;dfa&gt;&lt;denotational-semantics&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31244" PostTypeId="2" ParentId="31243" CreationDate="2015-04-23T14:32:50.863" Score="4" Body="&lt;p&gt;The textbook that might be most relevant to your question is &lt;a href=&quot;https://www.springer.com/gp/book/9783540654100&quot; rel=&quot;nofollow&quot;&gt;Principles of Program Analysis&lt;/a&gt;&#xA;by Nielson, Nielson and Hankin. It does cover dataflow analysis and its relationship to denotational semantics. It does not deal with axiomatic semantics though.&lt;/p&gt;&#xA;" OwnerUserId="898" LastActivityDate="2015-04-23T14:32:50.863" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31245" PostTypeId="2" ParentId="31240" CreationDate="2015-04-23T15:43:39.090" Score="4" Body="&lt;p&gt;Single-linkage clustering gives the same connections in the same order that you would find using Kruskal's algorithm for the minimum spanning tree, and the clustering can be found by finding a minimum spanning tree and then running Kruskal's algorithm on the resulting $(n-1)$-edge graph. Therefore, the time is bounded by the MST construction + the time to sort the edges of the MST.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The two-dimensional $L^\infty$ MST can be constructed in $O(n\log n)$ time using rectilinear Voronoi diagrams, and an $O(n\log n)$ algorithm for the three-dimensional version is given by&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Krznaric, Drago; Levcopoulos, Christos; Nilsson, Bengt J. (1999),&#xA;Minimum spanning trees in $d$ dimensions,&#xA;&lt;em&gt;Nordic J. Comput.&lt;/em&gt; 6 (4): 446–461. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;more generally an algorithm that is within a polylog factor of linear for any fixed dimension is given by&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Gabow, Harold N.; Bentley, Jon Louis; Tarjan, Robert E. (1984), Scaling and related techniques for geometry problems, &lt;em&gt;Proc. 16th ACM STOC&lt;/em&gt;, pp. 135–143, &lt;a href=&quot;http://doi.org/10.1145/800057.808675&quot; rel=&quot;nofollow&quot;&gt;doi:10.1145/800057.808675&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="95" LastEditorUserId="95" LastEditDate="2015-04-23T15:49:37.190" LastActivityDate="2015-04-23T15:49:37.190" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31246" PostTypeId="1" CreationDate="2015-04-23T19:09:36.847" Score="3" ViewCount="144" Body="&lt;p&gt;My question concerns the  &lt;a href=&quot;http://www.google.de/url?sa=t&amp;amp;rct=j&amp;amp;q=&amp;amp;esrc=s&amp;amp;source=web&amp;amp;cd=1&amp;amp;ved=0CCcQFjAA&amp;amp;url=http%3A%2F%2Fciteseerx.ist.psu.edu%2Fviewdoc%2Fdownload%3Fdoi%3D10.1.1.210.6268%26rep%3Drep1%26type%3Dpdf&amp;amp;ei=2Dk5VeLEGOv_ygPIwoCYDA&amp;amp;usg=AFQjCNFHBPmmgdVIjYDrkJ5ocwMOW1DNjw&amp;amp;bvm=bv.91427555,d.bGQ&amp;amp;cad=rja&quot; rel=&quot;nofollow&quot;&gt;following result of Erd&amp;#337;s and Simonovits&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A graph $G$ is $d$-almost-regular if $d\delta(G)\geq \Delta(G)$. Theorem 1 of the above paper states that a large $n$-vertex graph $G$ with $n^{1+\alpha}$ edges contains a large $d$-almost-regular subgraph $H$ for a constant $d$ depending only on $\alpha$. I cannot follow the proof of the theorem:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In case a) of the proof, if $C_1$ represents less than $\frac{1}{2}n^{1+\alpha}$ many edges, then we consider $G-C_1$. The resulting graph has only then at least $\frac{1}{2}n^{1+\alpha}$ edges, if $n$ refers to the order of the graph we are considering right now in the inductive step and not the order of the original graph (unless we are in the first step of the induction). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;When we later show that the induction terminates after a bounded number os steps, however, we estimate the number of edges by $\frac{1}{(4A)^k}n^{1+\alpha}$. This holds only true if $n$ refers to the order of the original graph throughout the induction. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I tried to modify the proof such that case a) works, that is, $n$ refers to the order of the current graph in the inductive step. It is not hard to show that also then the induction terminates. However, with those modifications I cannot obtain that the subgraph $H$ is still large. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Am I misunderstanding something? Is there a newer presentation of this theorem? &lt;/p&gt;&#xA;" OwnerUserId="17644" LastEditorUserId="898" LastEditDate="2015-04-24T13:52:29.350" LastActivityDate="2015-04-24T13:52:29.350" Title="Question about an old result of Erdős and Simonovits" Tags="&lt;reference-request&gt;&lt;graph-theory&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31249" PostTypeId="2" ParentId="31246" CreationDate="2015-04-24T00:34:07.980" Score="3" Body="&lt;p&gt;Yep. The writing is not great (but this is a nice result [but there should be an easier proof by now]). Anyway, you should read the $n^{1+\alpha}$ in the proof as a fixed quantity $\tau$, which is the number of edges in the original graph. The rest then follows. &lt;/p&gt;&#xA;" OwnerUserId="9594" LastActivityDate="2015-04-24T00:34:07.980" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="31250" PostTypeId="2" ParentId="31228" CreationDate="2015-04-24T01:12:59.840" Score="0" Body="&lt;p&gt;You might take a look at (Hotelling, 1933) which defines PCA as a orthogonal projection into a lower dimensional subspace maximizing the variance of the projected data. (Bishop 2006) might be easier to come by and contains a derivation of PCA based on this definition in chapter 12. &lt;/p&gt;&#xA;" OwnerUserId="32866" LastActivityDate="2015-04-24T01:12:59.840" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31251" PostTypeId="1" CreationDate="2015-04-24T01:47:30.473" Score="3" ViewCount="270" Body="&lt;p&gt;&lt;em&gt;Karatsuba multiplication&lt;/em&gt; of two complex numbers can be performed with just three real multiplications (instead of four) as follows:&#xA;$$(a+bi)(c+di) = (ac-bd) + i ((a+b)(c+d) - ac-bd)$$&#xA;We only need the products $ac$, $bd$ and $(a+b)(c+d)$. Does there exists a similar trick for quaternion multiplication? A naive multiplication would need $16$. This can probably be reduce to $9$ using the same trick as above (and taking into account that quaternion multiplication is non-commutative). My question is it known that $9$ is the lower bound? If not, does there exist an algorithm, which does quaternion multiplications in less than $9$ real multiplications?&lt;/p&gt;&#xA;" OwnerUserId="32867" LastActivityDate="2015-04-24T03:14:36.033" Title="Minimum number of real multiplications to multiply two quaternions" Tags="&lt;ds.algorithms&gt;" AnswerCount="1" CommentCount="2" ClosedDate="2015-04-24T11:54:14.097" ContentLicense="CC BY-SA 3.0" />
  <row Id="31252" PostTypeId="1" AcceptedAnswerId="31260" CreationDate="2015-04-24T01:55:19.237" Score="12" ViewCount="1224" Body="&lt;p&gt;I am looking for a list about the known or unknown complexity of various number theoretic  /algebraic problems. For example,&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;GCD in $NC^1$ is open,&lt;/li&gt;&#xA;&lt;li&gt;factoring in $P$ is open,&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://dl.acm.org/citation.cfm?id=299827&quot; rel=&quot;nofollow noreferrer&quot;&gt;computing sheaf cohomology is $\#P$-hard&lt;/a&gt;,&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://theory.cs.princeton.edu/complexity/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Arora and Barak&lt;/a&gt; state that a variant of factoring is $NP$-complete (though this is not clear based on the discussion at &lt;a href=&quot;https://cstheory.stackexchange.com/questions/4769/an-np-complete-variant-of-factoring&quot;&gt;An NP-complete variant of factoring.&lt;/a&gt;),&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://eprint.iacr.org/2013/400.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Barbulescu et al's breakthrough work on discrete logarithms&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Adleman once published &lt;a href=&quot;http://www.cse.iitk.ac.in/users/manindra/CS681/open-problems-in-number.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;a list&lt;/a&gt; focused on $P$ and $NP$ but it seems outdated. Mumford has &lt;a href=&quot;http://www.dam.brown.edu/people/mumford/alg_geom/papers/1993a-WhatComputeAG-Bayer-DAM.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;a paper&lt;/a&gt; on what is computable in algebraic geometry without regard to complexity.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does anyone know a list of (major) discoveries since these lists were published?&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What are some problems of a number theoretic/algebraic flavor whose complexity classes are possibly already known (since the above lists were published), unknown but conjectured, or unknown and not conjectured?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Some avenues of problems could be interpolation problems (univariate or multivariate, over various fields), Chinese remainder theorem, complexity of point counting over curves, etc.&lt;/p&gt;&#xA;" OwnerUserId="1812" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2018-04-18T15:52:03.660" Title="List of number theoretic or algebraic problems in various complexity classes" Tags="&lt;cc.complexity-theory&gt;&lt;big-list&gt;&lt;algebra&gt;&lt;open-problem&gt;" AnswerCount="2" CommentCount="4" FavoriteCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="31253" PostTypeId="2" ParentId="31251" CreationDate="2015-04-24T03:14:36.033" Score="6" Body="&lt;p&gt;&lt;a href=&quot;http://dx.doi.org/10.1016/0020-0190(75)90036-8&quot;&gt;de Groote showed&lt;/a&gt; that one could compute both $uv$ and $vu$ using only a total of 10 non-scalar multiplications.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Howell and Lafon, in a &lt;a href=&quot;http://www.theworld.com/~sweetser/quaternions/ps/cornellcstr75-245.pdf&quot;&gt;tech report&lt;/a&gt; (that I could not find a refereed version of and have not checked myself, but is probably correct) showed that one can do quaternion product with only 8 multiplications. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;7 is certainly a lower bound, as noted in both of the above papers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(While this was an interesting question and fun to look up, I found the answer in about 5 minutes of Googling. Google is your friend.)&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2015-04-24T03:14:36.033" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31255" PostTypeId="1" AcceptedAnswerId="31267" CreationDate="2015-04-24T08:51:29.363" Score="1" ViewCount="244" Body="&lt;p&gt;In order to analyse the complexity of our algorithm, we try to solve this recurrence:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$T(n)=3T(n-1)-T(n-2)+T(n-k)+3^k$ ; in which $k$ is a parameter to be fixed. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;We know that this kind of recurrence means $T(n)=O(\alpha^n)$, where $\alpha$ is the zero root of the equation $f(x)=x^n-3x^{n-1}+x^{n-2}-x^{n-k}-3^k$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The term $3^k$ expects a small value of $k$, while the rest terms want a big value of $k$, therefore we believe that there should be a best choice of $k$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So the question is how to choose $k$, $(k=g(n))$ in order to minimize $\alpha$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thank you in advance for any idea.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;UPDATE 1:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;The recurrence has been corrected, and yes, $\alpha$ should be between 2 and 3.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Please note that $k$ is a dynamic value, which changes during the recursion. So it's better to consider the recurrence as $T(n)=3T(n-1)-T(n-2)+T(n-g(n))+3^{g(n)}$&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;UPDATE 2:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To somewhat simply the problem, we may consider $g(n)=\beta n$ and try to find the $\beta$ ?&lt;/p&gt;&#xA;" OwnerUserId="32709" LastEditorUserId="32709" LastEditDate="2015-04-24T10:20:05.573" LastActivityDate="2015-05-04T09:43:45.147" Title="Complexity analysis on a parameterized recurrence relation" Tags="&lt;analysis-of-algorithms&gt;&lt;complexity&gt;" AnswerCount="2" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="31256" PostTypeId="2" ParentId="31246" CreationDate="2015-04-24T11:23:51.027" Score="1" Body="&lt;p&gt;In fact $n$ refers to the order of the original graph (they wrote $G^n$) not the graph in the inductive steps, actually this is for the first part of the proof. The idea in the first part of the proof is to find a small set* of vertices of high degree and a small set of vertices of low degree and eliminate them from the original graph so that the resulting graph is almost $d$-regular. So when we eliminate that small set or $C_1$, we have to count the remaining edges w.r.t the original graph minus $C_1$ (not in $G^m$ but in $G^n$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But if the first part does not happen, then we are in the second case, they don't do recursive operation to obtain something which fits for the first part. In the second part of the proof they say we have a big subgraph so that each vertex has a big degree, they obtain that big subgraph with a recursive procedure (it has nothing to do with a first part). I think the paper is not very well written in fact in the part that they wrote: &#xA;&quot;Either we obtain 10A-regular graph by a) or a $G^{m_2}$ by b) from it.&quot; They don't want to transfer to the a) part during recursion if the b) part happened. They simply shrink the graph obtained recursively from the b) part to satisfy the required properties. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;*: Small in a sense that the remaining graph has some function of $n$ many vertices.&lt;/p&gt;&#xA;" OwnerUserId="1846" LastEditorUserId="1846" LastEditDate="2015-04-24T12:51:02.907" LastActivityDate="2015-04-24T12:51:02.907" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31257" PostTypeId="2" ParentId="31182" CreationDate="2015-04-24T14:28:41.423" Score="2" Body="&lt;p&gt;I ended up getting a hint on how to accomplish this by reading the leo semantics post from Jeffrey Kegler's deprecated Marpa algorithm page. &lt;a href=&quot;https://metacpan.org/pod/release/JKEGL/Marpa-PP-0.005_006/pod/Advanced/Algorithm.pod#Leo-Semantics:-Indirect-and-Lazy&quot; rel=&quot;nofollow&quot;&gt;https://metacpan.org/pod/release/JKEGL/Marpa-PP-0.005_006/pod/Advanced/Algorithm.pod#Leo-Semantics:-Indirect-and-Lazy&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Snippit that really helped:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Leo Semantics: Indirect and Lazy&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;Leo's hints about semantic processing, while brief, were insightful.&#xA;  The first decision to make with the Leo semantics was direct versus&#xA;  indirect. The direct approach does the semantic processing with the&#xA;  Leo items themselves, without converting them. This has the advantage&#xA;  that costs are incurred only for the Leo items that are actually used&#xA;  by the semantics. It has the very serious disadvantage of intertwining&#xA;  the Leo logic with the semantics. Dealing directly with Leo items&#xA;  would more than double the complexity of the logic for Marpa's&#xA;  semantics. Because of this, Marpa rejected the direct approach.&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;Leo 1991 suggests an indirect approach. The indirect approach is to&#xA;  expand the Leo completions into the stacks of Earley items for which&#xA;  Leo completions are a shorthand. However, in a naive implementation,&#xA;  the indirect approach eliminates every advantage of using the Leo&#xA;  speedups -- it merely moves processing from the recognizer into the&#xA;  semantic phase.&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;Marpa optimizes by using a lazy implementation of the indirect&#xA;  approach. Only those Leo completions useful for the semantics are&#xA;  expanded.&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;For a lazy and indirect implementation, in all cases, time complexity&#xA;  is the same as with a direct implementation. But for some ambiguous&#xA;  grammars, the space required grows from linear to quadratic with any&#xA;  indirect approach. This does not change the worst case time-complexity&#xA;  -- that was already quadratic. Fortunately, this worst case -- highly ambiguous parses where all the parse results are demanded -- is of&#xA;  limited practical interest.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I ended up using the lazy approach as well and did just in time evaluation for only items needed to complete the parse tree. This avoids the intermediate items that the normal algorithm adds. &lt;/p&gt;&#xA;" OwnerUserId="32787" LastActivityDate="2015-04-24T14:28:41.423" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31260" PostTypeId="2" ParentId="31252" CreationDate="2015-04-24T19:42:44.070" Score="18" Body="&lt;p&gt;&lt;strong&gt;Algebraic geometry&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Noether's Normalization Lemma (NNL) for explicit varieties is currently only known to be in $\mathsf{EXPSPACE}$ (like general NNL), but is &lt;a href=&quot;http://gct.cs.uchicago.edu/gct5.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;conjectured&lt;/a&gt; to be in $\mathsf{P}$ (and is in $\mathsf{P}$ assuming that PIT can be black-box derandomized). Update 4/18/18: It was recently shown that for the variety $\overline{\mathsf{VP}}$ it is in $\mathsf{PSPACE}$ over the rationals (&lt;a href=&quot;https://arxiv.org/abs/1712.09967&quot; rel=&quot;nofollow noreferrer&quot;&gt;Forbes &amp;amp; Shpilka)&lt;/a&gt; and then over arbitrary fields (&lt;a href=&quot;https://arxiv.org/abs/1801.09275&quot; rel=&quot;nofollow noreferrer&quot;&gt;Guo, Saxena, &amp;amp; Sinhababu&lt;/a&gt;).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Testing whether a given set of polynomials has an algebraic dependence. This problem was recently shown to be in $\mathsf{AM} \cap \mathsf{coAM}$ by  &lt;a href=&quot;https://arxiv.org/abs/1801.09275&quot; rel=&quot;nofollow noreferrer&quot;&gt;Guo, Saxena, &amp;amp; Sinhababu&lt;/a&gt; (improving the previous upper bound of $\mathsf{NP}^{\mathsf{\# P}}$ due to &lt;a href=&quot;https://doi.org/10.1090/S0002-9947-2014-06268-5&quot; rel=&quot;nofollow noreferrer&quot;&gt;Mittmann, Saxena, &amp;amp; Scheblechner&lt;/a&gt;, also on the &lt;a href=&quot;https://arxiv.org/abs/1202.4301&quot; rel=&quot;nofollow noreferrer&quot;&gt;arXiv&lt;/a&gt;).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;There are &lt;a href=&quot;http://link.springer.com/article/10.1007%2Fs10208-012-9123-y&quot; rel=&quot;nofollow noreferrer&quot;&gt;several&lt;/a&gt; (&lt;a href=&quot;https://arxiv.org/abs/0905.2212&quot; rel=&quot;nofollow noreferrer&quot;&gt;arXiv&lt;/a&gt;) &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0747717109000133&quot; rel=&quot;nofollow noreferrer&quot;&gt;new&lt;/a&gt; algorithms for computing topological invariants of complex varieties (with various restrictions like smoothness, etc.). I believe for most of these the optimal upper bound is still open.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Hilbert's Nullstellensatz (HN): given integer polynomials, decide if they have a common complex solution, is in $\mathsf{AM}$ assuming GRH (&lt;a href=&quot;http://dx.doi.org/10.1006/jcom.1996.0019&quot; rel=&quot;nofollow noreferrer&quot;&gt;Koiran&lt;/a&gt;). It is unknown if it is in $\mathsf{NP}$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Algorithms for resolution of singularities of algebraic varieties in characteristic zero. The &lt;a href=&quot;http://www.ams.org/mathscinet-getitem?mr=2838220&quot; rel=&quot;nofollow noreferrer&quot;&gt;current best time upper bound&lt;/a&gt;, due to &lt;a href=&quot;http://logic.pdmi.ras.ru/~grigorev/pub/hiron-complex_journal.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Bierstone, Grigoriev, Milman, and Włodarczyk&lt;/a&gt; is $\mathcal{E}^{d+3}$ where $d$ is the dimension of the variety and $\mathcal{E}^{\bullet}$ is the &lt;a href=&quot;http://en.wikipedia.org/wiki/Grzegorczyk_hierarchy&quot; rel=&quot;nofollow noreferrer&quot;&gt;Grzegorczyk hierarchy of primitive recursive functions&lt;/a&gt;. There aren't particularly good (any?) lower bounds on this problem, but for a seemingly much simpler problems related lower bounds are known, namely: There are ideals in $n$ variables generated in degree at most $n$ that require $\mathcal{E}^{n+1}$ such generators. So the current upper bound for resolution of singularities may not be far from the truth, but little is really known.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Isomorphism problems&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Many problems on permutation groups - such as coset intersection, permutation group isomorphism, etc. - are in $\mathsf{NP} \cap \mathsf{coAM}$, but it is unknown if they are in $\mathsf{NP} \cap \mathsf{coNP}$, and it is suspected that they are not in $\mathsf{P}$. Graph Isomorphism reduces to most of those problems, so a better upper bound on them implies a better upper bound on GI. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;In particular, for permutation group isomorphism, the &lt;a href=&quot;http://link.springer.com/chapter/10.1007%2F978-3-642-31594-7_5&quot; rel=&quot;nofollow noreferrer&quot;&gt;current best upper bound&lt;/a&gt; is $2^{O(n)}|G|$, and it is open if it can be done in $2^{O(n)}$ time (depending only on the degree of the permutation group and not on its order), let alone &lt;a href=&quot;https://arxiv.org/abs/1512.03547&quot; rel=&quot;nofollow noreferrer&quot;&gt;quasi-poly time like GI and coset intersection&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Group Isomorphism where groups are given by multiplication tables is known to be in $\mathsf{TIME}(n^{O(\log n)})$, but is suspected to be in $\mathsf{P}$. Known to be in $\mathsf{P}$ for &lt;a href=&quot;http://arxiv.org/abs/1309.1776&quot; rel=&quot;nofollow noreferrer&quot;&gt;several&lt;/a&gt; &lt;a href=&quot;http://dx.doi.org/10.4230/LIPIcs.STACS.2012.453&quot; rel=&quot;nofollow noreferrer&quot;&gt;classes&lt;/a&gt; of &lt;a href=&quot;https://arxiv.org/abs/1010.5466&quot; rel=&quot;nofollow noreferrer&quot;&gt;groups&lt;/a&gt; (update 4/18/18: and a &lt;a href=&quot;https://doi.org/10.1016/j.jalgebra.2016.12.007&quot; rel=&quot;nofollow noreferrer&quot;&gt;couple&lt;/a&gt; (&lt;a href=&quot;https://arxiv.org/abs/1508.03033&quot; rel=&quot;nofollow noreferrer&quot;&gt;arXiv&lt;/a&gt;) &lt;a href=&quot;http://dx.doi.org/10.1007/978-3-662-48971-0_49&quot; rel=&quot;nofollow noreferrer&quot;&gt;more&lt;/a&gt; (&lt;a href=&quot;http://arxiv.org/abs/1507.01917&quot; rel=&quot;nofollow noreferrer&quot;&gt;arXiv&lt;/a&gt;)), but not in general.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Other&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Update 4/18/18: Tensor rank over any field $\mathbb{F}$ is $\exists \mathbb{F}$-complete (&lt;a href=&quot;https://arxiv.org/abs/1612.04338&quot; rel=&quot;nofollow noreferrer&quot;&gt;Schaefer &amp;amp; Stefankovic&lt;/a&gt;). &lt;s&gt;Is tensor rank over $\mathbb{Q}$ in $\mathsf{NP}$?&lt;/s&gt; It is known to be $\mathsf{NP}$-hard (&lt;a href=&quot;http://dx.doi.org/10.1016/0196-6774(90)90014-6&quot; rel=&quot;nofollow noreferrer&quot;&gt;Håstad&lt;/a&gt;), and over finite fields it is in $\mathsf{NP}$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;More generally, many problems on tensors over $\mathbb{Q}$ are $\mathsf{NP}$-hard but not known to be in $\mathsf{NP}$ (&lt;a href=&quot;http://dx.doi.org/10.1145/2512329&quot; rel=&quot;nofollow noreferrer&quot;&gt;Hillar and Lim&lt;/a&gt;, also on the &lt;a href=&quot;http://arxiv.org/abs/0911.1393&quot; rel=&quot;nofollow noreferrer&quot;&gt;arXiv&lt;/a&gt;).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;It would (somewhat sadly) seem that the Adleman-McCurley survey, despite being 21 years old, is pretty up to date in terms of number-theoretic problems, with the exception of the fact that we now know that &lt;a href=&quot;http://dx.doi.org/10.4007%2Fannals.2004.160.781&quot; rel=&quot;nofollow noreferrer&quot;&gt;$\mathsf{PRIMES}$ is in $\mathsf{P}$&lt;/a&gt;...&lt;/p&gt;&#xA;" OwnerUserId="129" LastEditorUserId="129" LastEditDate="2018-04-18T15:52:03.660" LastActivityDate="2018-04-18T15:52:03.660" CommentCount="19" ContentLicense="CC BY-SA 3.0" />
  <row Id="31263" PostTypeId="1" AcceptedAnswerId="45760" CreationDate="2015-04-25T03:09:59.480" Score="14" ViewCount="409" Body="&lt;p&gt;We know that &#xA;$$\mathsf{NP\subseteq P/Poly \iff coNP\subseteq P/Poly\implies PH=\Sigma_2^P}=\mathsf{\Pi_2^P}$$&#xA;$$\mathsf{NP\subseteq P/Log\iff coNP\subseteq P/Log\implies PH=\Sigma_0^P=\Pi_0^P}$$&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there any circuit result that could imply&#xA;  $$\mathsf{PH=\Sigma_1^P=\Pi_1^P}$$ but still $$\mathsf{PH\neq\Sigma_0^P=\Pi_0^P}$$ is a possibility?&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;Is there a possible similar collapse result from non-circuit containment?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Conjecture&lt;/strong&gt;: &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Such result does not exist.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="1812" LastEditorUserId="1812" LastEditDate="2015-04-29T06:40:03.717" LastActivityDate="2019-10-28T20:58:24.347" Title="What would signify hierarchy collapse to first level?" Tags="&lt;cc.complexity-theory&gt;&lt;circuit-complexity&gt;" AnswerCount="1" CommentCount="8" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31266" PostTypeId="1" CreationDate="2015-04-25T15:16:34.650" Score="1" ViewCount="36" Body="&lt;p&gt;The hidden subgroup representation of a $3$-node graph isomorphism problem is defined over the symmetric group, $G = S_6$. So, any hidden subgroup algorithm that wishes to solve the problem should start with constructing the state $|f\rangle$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;|f\rangle = \frac{1}{\sqrt{|G|}} \sum_{g \in G} |g\rangle |f\left(g\right)\rangle&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am trying to figure out the efficient way to construct $\frac{1}{\sqrt{|G|}} \sum_{g \in G} |g\rangle$. For a $3$-node graph isomorphsim problem, $|G| = 720$. It means, if we map each permutation of $G$ to an unique basis state, we need $720$ basis states. It entails that $|g\rangle$ has to be at least a $10$ qubit register.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My questions are:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Is there a more efficient way to construct the state with lesser number of qubits?&lt;/li&gt;&#xA;&lt;li&gt;If we need at least 10 qubits, which $720$ of the $2^{10}$  states should I choose?&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="13408" LastActivityDate="2015-04-25T15:16:34.650" Title="Coset state of $3$-node graph isomorphism problem" Tags="&lt;quantum-computing&gt;&lt;graph-isomorphism&gt;&lt;physics&gt;&lt;gr.group-theory&gt;&lt;quantum-walk&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31267" PostTypeId="2" ParentId="31255" CreationDate="2015-04-25T17:06:33.200" Score="4" Body="&lt;p&gt;First, if $k(n)$ and $T(n)$ are non-negative functions satisfying&#xA;$$T(n)=3T(n-1)-T(n-2)+T(n-k(n))+3^{k(n)}\tag{$*$}$$&#xA;for all sufficiently large $n$, it is easy to see that $T(n)$ cannot have a finite limit, and in particular, it cannot be decreasing. But if $T(n_0+1)\ge T(n_0)$, then $T(n+1)&amp;gt;T(n)$ for all $n&amp;gt;n_0$ by induction on $n$. Thus, $T$ is eventually increasing.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Second, proving bounds on $T(n)$ is inconvenienced by the presence of a negative term in $(*)$. We can fix this by defining a new function&#xA;$$S(n)=\begin{cases}T(\tfrac n2)&amp;amp;\text{$n$ even,}\\T(\tfrac{n+1}2)-T(\tfrac{n-1}2)&amp;amp;\text{$n$ odd,}\end{cases}$$&#xA;which (as we just proved) is also eventually nonnegative, and satisfies the recurrence&#xA;$$S(n)=\begin{cases}S(n-1)+S(n-2)&amp;amp;\text{$n$ even,}\\&#xA;S(n-1)+S(n-2)+S(n-k'(n))+3^{(k'(n)+1)/2}&amp;amp;\text{$n$ odd,}\end{cases}\tag{${*}{*}$}$$&#xA;where $k'(n)=2k((n+1)/2)-1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This makes it obvious that&#xA;$$S(n)\ge S(n-1)+S(n-2),\qquad n\gg0,$$&#xA;hence&#xA;$$S(n)=\Omega(\phi^n)\quad\text{and}\quad T(n)=\Omega(\phi^{2n}),$$&#xA;where $\phi=(1+\sqrt5)/2\approx1{.}618$ is the golden ratio.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I claim that a suitable choice of $k(n)$ gives a matching upper bound. The right choice is to make the two terms involving $k'$ approximately equal; since we are shooting for $S(n)\approx\phi^n$, this means&#xA;$$\phi^{n-k'(n)}\approx3^{k'(n)/2},$$&#xA;thus&#xA;$$k'(n)\sim\beta n,\qquad\beta=\frac{2\log\phi}{2\log\phi+\log3}\approx0{.}467$$&#xA;and $k(n)\sim\beta n$ as well. So, let us assume&#xA;$$\beta n+c\le k'(n)\le\beta n+d$$&#xA;for some constants $c,d$ (with some conditions on $c$ below). I claim that with this setting, any nonnegative solution of $({*}{*})$ satisfies&#xA;$$S(n)\le a\phi^n-b\psi^n\tag{${*}{*}{*}$}$$&#xA;for some constants $a,b&amp;gt;0$, where&#xA;$$\psi=3^{\beta/2}=\phi^{1-\beta}\approx1{.}29,$$&#xA;and consequently&#xA;$$T(n)=O(\phi^{2n}).$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Pick $n_0&amp;gt;2$, $a,b&amp;gt;0$ such that $({*}{*})$ holds for $n\ge n_0$, and $({*}{*}{*})$ holds for $n\le n_0$ (there will be one more condition below). We want to show $({*}{*}{*})$ for all $n$ by induction. The induction step goes as follows:&#xA;$$\begin{align*}&#xA;S(n)&amp;amp;\le a(\phi^{n-1}+\phi^{n-2})-b(\psi^{n-1}+\psi^{n-2})+a\phi^{(1-\beta)n-c}+3^{(\beta n+d+1)/2}\\&#xA;&amp;amp;=a\phi^n-b(\psi^{-2}+\psi^{-1})\psi^n+(a\phi^{-c}+3^{(d+1)/2})\psi^n\\&#xA;&amp;amp;\le a\phi^n-b\psi^n.&#xA;\end{align*}$$&#xA;The last step is valid if&#xA;$$b(\psi^{-2}+\psi^{-1}-1)\ge a\phi^{-c}+3^{(d+1)/2}.\tag{${*}{*}{*}{*}$}$$&#xA;We can arrange this condition by observing that the other requirements on $a,b$ continue to hold if we increase both by the same amount; this will eventually make $({*}{*}{*}{*})$ true if $c$ is sufficiently large so that&#xA;$$\psi^{-2}+\psi^{-1}-1&amp;gt;\phi^{-c}.$$&lt;/p&gt;&#xA;" OwnerUserId="6959" LastEditorUserId="6959" LastEditDate="2015-04-29T11:26:27.310" LastActivityDate="2015-04-29T11:26:27.310" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="31268" PostTypeId="2" ParentId="29253" CreationDate="2015-04-25T17:38:24.970" Score="2" Body="&lt;p&gt;See the following paper by Khanna etal on syntactic vs computational views of approximability. MaxSNP is a syntactic class while APX is a computational class. dl.acm.org/citation.cfm?id=298507&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Made comment into answer as per Suresh's request.&lt;/p&gt;&#xA;" OwnerUserId="176" LastActivityDate="2015-04-25T17:38:24.970" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31270" PostTypeId="1" AcceptedAnswerId="31281" CreationDate="2015-04-25T18:54:10.570" Score="3" ViewCount="145" Body="&lt;p&gt;Contextual equivalence ($M_1 \cong_{ctx} M_2$) is often defined as: &#xA;$C[M_1] \Downarrow V \iff C[M_2] \Downarrow V$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Which is to say for any context $C$, $C[M_1]$ terminates with value $V$ iff $C[M_2]$ terminates with value $V$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a name for the weaker equivalence: $C[M_1] \Downarrow V_1 \wedge C[M_2] \Downarrow V_2 \Rightarrow V_1 = V_2$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Which is to say $C[M_1]$ and $C[M_2]$ reduce to equal values iff they both terminate.&lt;/p&gt;&#xA;" OwnerUserId="11073" LastActivityDate="2015-04-26T07:53:31.623" Title="What is contextual equivalence ignoring non-termination called?" Tags="&lt;lambda-calculus&gt;&lt;denotational-semantics&gt;&lt;operational-semantics&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31278" PostTypeId="1" AcceptedAnswerId="31305" CreationDate="2015-04-26T04:51:46.063" Score="8" ViewCount="2646" Body="&lt;p&gt;I am looking for a proof that Kolmogorov complexity is uncomputable using a reduction from another uncomputable problem. The common proof is a formalization of Berry's paradox rather than a reduction, but there should be a proof by reducing from something like the Halting Problem, or Post's Correspondence Problem. &lt;/p&gt;&#xA;" OwnerUserId="32887" LastEditorUserId="32887" LastEditDate="2015-04-28T00:00:56.937" LastActivityDate="2015-05-06T08:15:49.850" Title="Proof for Kolmogorov complexity is uncomputable using reductions" Tags="&lt;computability&gt;&lt;reductions&gt;&lt;kolmogorov-complexity&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="31280" PostTypeId="1" CreationDate="2015-04-26T07:16:55.643" Score="20" ViewCount="1812" Body="&lt;p&gt;Is there a typed lambda calculus where the corresponding logic under the Curry-Howard correspondence is consistent, and where there are typeable lambda expressions for every computable function?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is admittedly an imprecise question, lacking a precise definition of &quot;typed lambda calculus.&quot; I'm basically wondering whether there are either (a) known examples of this, or (b) known impossibility proofs for something in this area.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit: @cody gives a precise version of this question in his answer below: is there a logical pure type system (LPTS) which is consistent and Turing complete (in a sense defined below)?&lt;/p&gt;&#xA;" OwnerUserId="32888" LastEditorUserId="32888" LastEditDate="2015-05-02T15:36:30.520" LastActivityDate="2015-05-02T17:02:35.447" Title="Is there a typed lambda calculus which is consistent and Turing complete?" Tags="&lt;type-theory&gt;&lt;lambda-calculus&gt;&lt;typed-lambda-calculus&gt;&lt;curry-howard&gt;" AnswerCount="2" CommentCount="11" FavoriteCount="15" ContentLicense="CC BY-SA 3.0" />
  <row Id="31281" PostTypeId="2" ParentId="31270" CreationDate="2015-04-26T07:53:31.623" Score="3" Body="&lt;p&gt;(This is an extended comment).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I may be misreading your definitions, but it seems to me that the relation you introduce, let us call it $\simeq$, is not an equivalence relation because it is not transitive.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $V_1,V_2$ are two distinct closed normal forms (values), then obviously $V_1\not\simeq V_2$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, the genericity lemma (Proposition 14.3.24 in Barendregt's $\lambda$-calculus book) says that given an unsolvable term, say $\Omega$, for any context $C$, either $C[\Omega]\!\Uparrow$ or $C[M]$ has the same normal form (a value, if we assume to work with closed terms) for every term $M$ (including $\Omega$). This shows in particular that $\Omega\simeq V_1$ and $\Omega\simeq V_2$, hence the failure of transitivity.&lt;/p&gt;&#xA;" OwnerUserId="20716" LastActivityDate="2015-04-26T07:53:31.623" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="31282" PostTypeId="1" CreationDate="2015-04-26T11:37:26.973" Score="28" ViewCount="1249" Body="&lt;p&gt;Let us fix a prefix-free encoding of Turing-machines and a universal Turing-machine $U$ that on input $(T,x)$ (encoded as the prefix-free code of $T$ followed by $x$) outputs whatever $T$ outputs on input $x$ (possibly both running forever).&#xA;Define the Kolmogorov complexity of $x$, $K(x)$, as the length of the shortest program $p$ such that $U(p)=x$.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there a Turing machine $T$ such that for every input $x$ it outputs an integer $T(x)\le |x|$ that is different from the Kolmogorov complexity of $x$, i.e., $T(x)\ne K(x)$ but $\liminf_{|x|\rightarrow \infty} T(x)=\infty$?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The conditions are necessary, because&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(a) if $T(x)\not \le |x|$, then it would be easy to output a number that is trivially different from $K(x)$ because it is bigger than $|x|+c_U$,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(b) if $\liminf_{|x|\rightarrow \infty} T(x)&amp;lt;C$ is allowed, then we can just output $0$ (or some other constant) for almost all numbers, by &quot;luckily&quot; guessing the at most one (finitely many numbers) that evaluate to $0$ (to some other constant) and output there something else.&#xA;We can even guarantee $\limsup_{|x|\rightarrow \infty} T(x)=\infty$ by outputting something like $2\log n$ for $x=2^n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also note that our job would be easy if we know that $T(x)$ is not surjective, but &lt;a href=&quot;https://cstheory.stackexchange.com/questions/27424/is-kolmogorov-complexity-a-surjective-function&quot;&gt;little is known&lt;/a&gt; about this, so the answer might depend on $U$, though I doubt it would.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I know that relations are studied a lot in general, but &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Has anyone ever asked a similar question where our goal is to give an algorithm that does &lt;em&gt;not&lt;/em&gt; output some parameter?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;My motivation is this problem &lt;a href=&quot;http://arxiv.org/abs/1302.1109&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://arxiv.org/abs/1302.1109&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="419" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2016-02-18T04:24:24.560" Title="Can we not output the Kolmogorov complexity?" Tags="&lt;cc.complexity-theory&gt;&lt;kolmogorov-complexity&gt;&lt;universal-computation&gt;&lt;universal-turing-machines&gt;" AnswerCount="2" CommentCount="23" FavoriteCount="10" ContentLicense="CC BY-SA 3.0" />
  <row Id="31285" PostTypeId="1" AcceptedAnswerId="31289" CreationDate="2015-04-26T22:33:56.430" Score="3" ViewCount="538" Body="&lt;p&gt;I have a family of directed graphs over the same set of nodes $V$ defined as follows.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Each node $v \in V$ has $k_v$ alternative choices for its set of predecessors. In other words, I am given a relation $\rho\colon V \to 2^{V}$ such that $|\rho(v)| = k_v$ (where $\rho(v) = \{S \subset V \mid (v, S) \in \rho\}$, I'm abusing the relation notation a little bit). This relation induces a family of graphs: if we pick one predecessor set $S_v \in \rho(v)$ for each $v$, we obtain a fixed set of edges $E = \{ (u, v) \mid u \in S_v \}$ for the entire graph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are $\prod\limits_{v \in V} k_v$ such possible graphs, some of them are acyclic, some are not. I want to find at least one acyclic graph among these possibilities, and sort it topologically. Can it be done in polynomial time (i.e., faster than enumerating all possible combinations of choices explicitly)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(As an illustrative application, imagine a package manager where some packages depend on &lt;em&gt;either one of these other packages&lt;/em&gt;, because they all provide similar capabilities.)&lt;/p&gt;&#xA;" OwnerUserId="8868" LastEditorUserId="4795" LastEditDate="2020-05-15T15:57:44.820" LastActivityDate="2020-05-15T15:57:44.820" Title="Topological sort with alternative choices of predecessors" Tags="&lt;graph-algorithms&gt;&lt;topological-sorting&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31286" PostTypeId="2" ParentId="739" CreationDate="2015-04-26T23:40:13.180" Score="3" Body="&lt;p&gt;The &lt;em&gt;9th DIMACS Implementation Challenge - Shortest Paths&lt;/em&gt; ran in 2005-2006 with the goal to produce &quot;a standard set of benchmark instances and generators, as well as benchmark implementations of well-known shortest path algorithms.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The download page contains zipped USA road network graphs that range from 2MB to 335MB with both distance and time weights.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.dis.uniroma1.it/challenge9/download.shtml&quot; rel=&quot;nofollow&quot;&gt;http://www.dis.uniroma1.it/challenge9/download.shtml&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I found this useful to benchmark my own toy implementations of graph functions.&lt;/p&gt;&#xA;" OwnerUserId="32896" LastActivityDate="2015-04-26T23:40:13.180" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31289" PostTypeId="2" ParentId="31285" CreationDate="2015-04-27T00:15:55.507" Score="7" Body="&lt;p&gt;Yes, a valid ordering and a graph that goes with it can be found in polynomial time. I think it's easier to understand this if you look for the topological ordering first, and the graph second.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What you are trying to find is an ordering of the vertices with the property that, for each vertex $v$, at least one of its predecessor sets appears in its entirety before $v$. This can easily be found by a greedy algorithm if it exists:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Initialize an empty ordering and then, while the ordering does not include all of the vertices:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Find a vertex $v$ such that one of the predecessor sets of $v$ has already been included in the ordering&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Add $v$ to the end of the ordering&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;If this succeeds, you have found your topological ordering, and you can choose the graph to be the one that connects each $v$ to its previously-appearing predecessor set. If it fails, then you have found a subset $S$ of vertices (the ones not yet added) so that every predecessor set of a vertex in $S$ contains another vertex in $S$, blocking any solution from existing.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Incidentally, the class of valid orderings for a problem of this type form an &lt;a href=&quot;https://en.wikipedia.org/wiki/Antimatroid&quot;&gt;antimatroid&lt;/a&gt;, and all antimatroids can be represented in this way. This idea that you might have more than one way of satisfying the prerequisites for an object but that, once satisfied, a vertex can never become un-satisfied, is the defining principle of an antimatroid.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2015-04-27T00:15:55.507" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31290" PostTypeId="1" AcceptedAnswerId="31292" CreationDate="2015-04-27T00:46:46.163" Score="-2" ViewCount="208" Body="&lt;p&gt;According to wiki we know that $\mathsf{ACC^0\subseteq TC^0\subseteq NC^1\subseteq L\subseteq P\subseteq NP\subsetneq NEXPTIME}.$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Class $\mathsf{ACC^0}$ is included in $\mathsf{TC^0}$ is in &lt;a href=&quot;http://en.wikipedia.org/wiki/ACC0#Computational_power&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/ACC0#Computational_power&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Class $\mathsf{TC^0}$ is included in $\mathsf{NC^1}$ is in &lt;a href=&quot;https://en.wikipedia.org/wiki/TC0&quot; rel=&quot;nofollow&quot;&gt;https://en.wikipedia.org/wiki/TC0&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Class $\mathsf{NC^1}$ is included in $\mathsf{L}$ which is included in $\mathsf{P}$ is in &#xA;&lt;a href=&quot;https://en.wikipedia.org/wiki/NC_(complexity)#The_NC_hierarchy&quot; rel=&quot;nofollow&quot;&gt;https://en.wikipedia.org/wiki/NC_(complexity)#The_NC_hierarchy&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Class $\mathsf{P}$ is included in $\mathsf{NP}$ is in &lt;a href=&quot;https://en.wikipedia.org/wiki/P_(complexity)#Relationships_to_other_classes&quot; rel=&quot;nofollow&quot;&gt;https://en.wikipedia.org/wiki/P_(complexity)#Relationships_to_other_classes&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Class $\mathsf{NP\subsetneq NEXPTIME}$ is in &lt;a href=&quot;http://en.wikipedia.org/wiki/NEXPTIME&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/NEXPTIME&lt;/a&gt; from time hierarchy theorem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So does it mean, we already know $\mathsf{ACC^0\subsetneq NEXPTIME}$ even before Ryan Williams' breakthrough(&lt;a href=&quot;http://en.wikipedia.org/wiki/ACC0#Computational_power&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/ACC0#Computational_power&lt;/a&gt;)?&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;It seems that from discussion below(with Niel de Beaudrap, Ricky Demer) $\mathsf{ACC^0\subseteq TC^0}$ mentioned in &lt;a href=&quot;http://en.wikipedia.org/wiki/ACC0#Computational_power&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/ACC0#Computational_power&lt;/a&gt; is false. Could someone please clarify?&lt;/p&gt;&#xA;" OwnerUserId="1812" LastEditorUserId="186" LastEditDate="2015-04-27T04:46:23.880" LastActivityDate="2015-04-27T04:46:23.880" Title="A trivial question on hierarchy" Tags="&lt;circuit-complexity&gt;&lt;big-picture&gt;" AnswerCount="1" CommentCount="23" FavoriteCount="1" ClosedDate="2015-04-27T10:10:50.340" ContentLicense="CC BY-SA 3.0" />
  <row Id="31291" PostTypeId="2" ParentId="2547" CreationDate="2015-04-27T01:41:32.513" Score="8" Body="&lt;p&gt;As noted in the question, standard C requires that there exists a value UCHAR_MAX such that every variable of type &lt;code&gt;unsigned char&lt;/code&gt; will always hold a value between 0 and UCHAR_MAX, inclusive.  It further requires that every dynamically-allocated object be represented by a sequence of bytes which is identifiable via pointer of type &lt;code&gt;unsigned char*&lt;/code&gt;, and that there be a constant &lt;code&gt;sizeof(unsigned char*)&lt;/code&gt; such that every pointer of that type be identifiable by a sequence of &lt;code&gt;sizeof(unsigned char *)&lt;/code&gt; values of type &lt;code&gt;unsigned char&lt;/code&gt;.  The number of objects that can be simultaneously dynamically allocated is thus rigidly limited to $UCHAR\_MAX ^{sizeof(unsigned\ char*)}$.  Nothing would prevent a theoretical compiler from assigning the values of those constants so as to support more than $10^{10^{10}}$ objects, but from a theoretical perspective the existence of any bound, no matter how large, means something isn't infinite.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A program could store an unbounded quantity of information on the stack &lt;em&gt;if nothing that is allocated on the stack ever has its address taken&lt;/em&gt;; one could thus have a C program that was capable of doing some things which could not be done by any finite automaton of any size.  Thus, even though (or perhaps because) access to stack variables is much more limited than access to dynamically-allocated variables, it turns C from being a finite automaton into a push-down automaton.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is, however, another potential wrinkle: it is required that if a program examines the underlying fixed-length sequences of character values associated with two pointers to different objects, those sequences must be unique.  Because there are only $UCHAR\_MAX ^{sizeof(unsigned\ char*)}$ possible sequences of character values, any program that created a number of pointers to distinct objects in excess of that could not comply with the C standard &lt;em&gt;if code ever examined the sequence of characters associated with those pointers&lt;/em&gt;.  It would be possible in some cases, however, for a compiler to determine that no code was ever going to examine the sequence of characters associated with a pointer.  If each &quot;char&quot; was actually capable of holding any finite integer, and the machine's memory was a countably-infinite sequence of integers [given an unlimited-tape Turing machine, one could emulate such a machine although it would be &lt;em&gt;really&lt;/em&gt; slow], then it would indeed be possible to make C a Turing-complete language.&lt;/p&gt;&#xA;" OwnerUserId="32898" LastEditorUserId="32898" LastEditDate="2015-05-23T17:03:35.643" LastActivityDate="2015-05-23T17:03:35.643" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="31292" PostTypeId="2" ParentId="31290" CreationDate="2015-04-27T01:58:29.253" Score="4" Body="&lt;p&gt;NC1 $\: = \:$ &lt;a href=&quot;https://en.wikipedia.org/wiki/DLOGTIME&quot; rel=&quot;nofollow&quot;&gt;DLOGTIME&lt;/a&gt;-uniform NC1 $\: \subseteq \:$ &lt;a href=&quot;https://en.wikipedia.org/wiki/Circuit_complexity#Logspace_uniform&quot; rel=&quot;nofollow&quot;&gt;logspace-uniform&lt;/a&gt; NC1 $\: \subseteq \:$ L&#xA;&lt;br&gt;&#xA;and $\;\;\;\;$ non-uniform NC1 $\: \not\subseteq \:$ L $\;\;\;\;$ .&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Ryan Williams showed that $\;\;\;$ NTIME[$2^{\hspace{.02 in}n}$] $\: \not\subseteq \:$ non-uniform ACC0 $\;\;\;$.&lt;/p&gt;&#xA;" OwnerDisplayName="user6973" LastActivityDate="2015-04-27T01:58:29.253" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="31293" PostTypeId="2" ParentId="31278" CreationDate="2015-04-27T07:45:29.767" Score="7" Body="&lt;p&gt;This was a fun question to think about. As described in the other answer and the comments below, there is a Turing reduction from the Halting problem to computing Kolmogorov complexity, but notably there is no such many-one reduction, at least for one definition of 'computing Kolmogorov complexity'.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let's formally define what we're talking about. Let $HALT$ denote the standard language of TM's that halt when given a description of themselves as input. Let $KO$ denote $\{ \langle x,k \rangle \mid x \text{ has Kolmogorov complexity exactly } k \}$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assume that $HALT \le KO$ by some many-one reduction. Let $f: \{0,1\}^* \rightarrow \{0,1\}^*$ denote the function that this reduction computes. Consider the image of $HALT$ under $f$, which I will denote $f(HALT)$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note $f(HALT)$ consists of strings of the form $\langle x,k\rangle$ where $x$ has Kolmogorov complexity exactly $k$. I claim that the $k$'s that occur in $f(HALT)$ are unbounded, as there are only a finite number of strings with Kolmogorov complexity exactly $k$, and $f(HALT)$ is infinite.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since $HALT$ is recursively enumerable (aka Turing-recognizable in some books) it follows that $f(HALT)$ is recursively enumerable. Combined with the fact that the $k$'s are unbounded, we can enumerate $f(HALT)$ until we find some $\langle x,k\rangle$ with $k$ as large as we want; i.e. there exists a TM $M$ that on input $k$ outputs some element $\langle x,k \rangle \in f(HALT)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Write a new TM $M'$ that does the following: first, compute $|M'|$ using Kleene's recursion theorem. Query $M$ with input $|M'|+1$ to get $\langle x, |M'|+1\rangle \in f(HALT)$. Output $x$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Clearly the output $x$ of $M'$ is a string with Kolmogorov complexity at most $|M'|$ but $\langle x, |M'|+1\rangle \in f(HALT)$ which is a contradiction.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I believe you can also substitute in the problem &quot;Kolmogorov complexity exactly $k$&quot; with &quot;Kolmogorov complexity at least $k$&quot; with minor changes.&lt;/p&gt;&#xA;" OwnerUserId="8985" LastEditorUserId="8985" LastEditDate="2015-04-29T23:06:04.743" LastActivityDate="2015-04-29T23:06:04.743" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="31295" PostTypeId="1" AcceptedAnswerId="31303" CreationDate="2015-04-27T10:19:52.000" Score="4" ViewCount="96" Body="&lt;p&gt;During research, I hit a set theoretic claim that I could neither proof nor disproof.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Let &lt;span class=&quot;math-container&quot;&gt;$S_1,S_2,S_3$&lt;/span&gt; be three set systems over the same finite universe &lt;span class=&quot;math-container&quot;&gt;$U$&lt;/span&gt; such that&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$S_1,S_2,S_3$&lt;/span&gt; are closed w.r.t. &lt;span class=&quot;math-container&quot;&gt;$\cap$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$\cup$&lt;/span&gt; and&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;for each pair &lt;span class=&quot;math-container&quot;&gt;$u,v \in U$&lt;/span&gt;, there are two disjoint sets &lt;span class=&quot;math-container&quot;&gt;$X \in S_i, Y \in S_j$&lt;/span&gt;, &lt;span class=&quot;math-container&quot;&gt;$i,j \in \{1,2,3\}$&lt;/span&gt;, &lt;span class=&quot;math-container&quot;&gt;$i \neq j$&lt;/span&gt;, such that &lt;span class=&quot;math-container&quot;&gt;$u \in X$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$v \in Y$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;Then, there is a partition of &lt;span class=&quot;math-container&quot;&gt;$U$&lt;/span&gt; into at most three sets, each from a different set system.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="26761" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2015-04-28T09:52:43.093" Title="Do these set systems imply a partition?" Tags="&lt;set-system&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31300" PostTypeId="2" ParentId="31228" CreationDate="2015-04-27T21:36:55.653" Score="3" Body="&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Information_geometry&quot; rel=&quot;nofollow&quot;&gt;Information Geometry&lt;/a&gt; is a rigorous framework which combines statistical inference, information theory and differential geometry.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Several open problems in statistics (and geometry) have found a new formulation and solution.&#xA;Specificaly the concept of dual connections and dualy-flat spaces. It has been shown that various statistical inference methods (e.g maximum likelihood, EM algorithm etc.) can be formulated in terms of dualy-flat spaces in a statistical manifold (reference &quot;Methods of Information Geometry&quot;, Amari, Nagaoka). The new formulation allows a unified view of previously un-related methods and algorithms.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem of dimensionality reduction and PCA has been formulated information-geometricaly as follows (with emphasis on information):&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://web.eecs.umich.edu/~hero/Preprints/carter_spsmag_igdr_rev3.pdf&quot; rel=&quot;nofollow&quot;&gt;&quot;Information-Geometric Dimensionality Reduction&quot;&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://arxiv.org/pdf/0809.4866.pdf&quot; rel=&quot;nofollow&quot;&gt;&quot;An Information Geometric Framework for Dimensionality Reduction&quot;&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://staff.aist.go.jp/s.akaho/papers/ijcnn-akaho.pdf&quot; rel=&quot;nofollow&quot;&gt;&quot;The e-PCA and m-PCA: Dimension Reduction of Parameters by Information Geometry&quot;&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="21598" LastActivityDate="2015-04-27T21:36:55.653" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31301" PostTypeId="2" ParentId="31252" CreationDate="2015-04-27T21:46:50.933" Score="4" Body="&lt;p&gt;Adding a few more with emphasis on Galois theory and computational Galois theory (see &lt;a href=&quot;https://cs.stackexchange.com/a/41740/17369&quot;&gt;related question on cs.SE&lt;/a&gt;):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The computational complexity of determining if a given monic irreducible polynomial over the integers $\mathbb{Z}$, is soluble by radicals is in $\mathbb{P}$ Ref &lt;a href=&quot;https://www.cs.cmu.edu/~glmiller/Publications/Papers/LaMi85.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;&quot;Solvability by Radicals Is in Polynomial Time&quot;, S. Landau G.L Miller 1984&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;According to a paper Upper bounds on the complexity of some Galois&#xA;  Theory problems by Arvind and Kurur&#xA;  &lt;a href=&quot;http://www.cse.iitk.ac.in/users/ppk/research/publication/AK2003.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;here&lt;/a&gt;,&#xA;  a theorem of Landau gives an exponential upper bound in the size of&#xA;  the polynomial under a certain definition of size. More precisely, her&#xA;  theorem gives a polynomial bound in terms of the size of the Galois&#xA;  group and the size of the polynomial. But the size of the group can be&#xA;  exponential in the size of the polynomial. They show if the Galois&#xA;  group is solvable, then the order can be computed by a randomized&#xA;  polynomial time algorithm with an $NP$ oracle.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;reproduced from &lt;a href=&quot;https://mathoverflow.net/a/149508/50427&quot;&gt;linked question on MO&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="21598" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2015-04-27T21:46:50.933" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31303" PostTypeId="2" ParentId="31295" CreationDate="2015-04-28T09:42:50.343" Score="5" Body="&lt;p&gt;They don't necessarily imply a partition, here is a counterexample.&#xA;Each set in each $S_i$ will have an even size, while $U$ will have an odd number of elements, this already guarantees that a partition is impossible.&#xA;$U$ is the nine vertices of a cycle of length $9$, whose edges are colored with $3$ colors, in an alternating way.&#xA;With the union operation each color class generates a set system, these will be the $S_i$.&#xA;In more detail, the generating edges are 01, 34, 67 for $S_1$, 12, 45, 78 for $S_2$ and 23, 56, 80 for $S_3$.&#xA;It is easy to check that your separating condition holds.&lt;/p&gt;&#xA;" OwnerUserId="419" LastEditorUserId="419" LastEditDate="2015-04-28T09:52:43.093" LastActivityDate="2015-04-28T09:52:43.093" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31304" PostTypeId="1" AcceptedAnswerId="31307" CreationDate="2015-04-28T09:53:35.080" Score="5" ViewCount="293" Body="&lt;p&gt;Are there variants of matching problem (decision or optimization problem) that are polynomial time solvable for bipartite graphs but are NP-hard for general graphs?&lt;/p&gt;&#xA;" OwnerUserId="30570" LastActivityDate="2015-04-28T13:24:55.330" Title="Matching problems that are easy for bipartite graphs but hard for general graphs" Tags="&lt;graph-algorithms&gt;&lt;matching&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31305" PostTypeId="2" ParentId="31278" CreationDate="2015-04-28T10:18:16.003" Score="11" Body="&lt;p&gt;You can find two different proofs in:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://www.cs.auckland.ac.nz/research/groups/CDMTCS/researchreports/008HHP.pdf&quot; rel=&quot;nofollow&quot;&gt;Gregory J. Chaitin, Asat Arslanov, Cristian Calude: Program-size Complexity Computes the Halting Problem. Bulletin of the EATCS 57 (1995)&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In &lt;a href=&quot;http://http//www.springer.com/us/book/9780387339986&quot; rel=&quot;nofollow&quot;&gt;Li, Ming, Vitányi, Paul M.B.; An Introduction to Kolmogorov Complexity and Its Applications&lt;/a&gt; it is presented as an exercise (with a hint on how to solve it that is credited to P. Gács by W. Gasarch in a personal communication Feb 13, 1992).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;** I decided to publish an &lt;a href=&quot;http://www.nearly42.org/cstheory/halting_to_kolmogorov/&quot; rel=&quot;nofollow&quot;&gt;extended version of it on my blog&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2015-05-06T08:15:49.850" LastActivityDate="2015-05-06T08:15:49.850" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="31306" PostTypeId="1" CreationDate="2015-04-28T11:53:32.783" Score="9" ViewCount="641" Body="&lt;p&gt;I'm taking a graduate level course in information theory and I'm constantly struck by how much convex optimization there is in this subject. However, the proofs seem to shy away from using the full machinery of relaxation theory, duality, etc. This is understandable since you don't want to require a full semester of convex optimization in order to teach this stuff. But as someone fairly well-versed in optimization, I feel like I'm missing out on a lot of elegance and intuition when these links aren't explored more. I often notice proofs that would be way shorter if you had utilized convex analysis as well.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there books that cover information theory more from this perspective? We're mostly using lecture notes from Stefan Moser, Y. Polyanskiy and Y. Wu, as well as &lt;em&gt;Network Information Theory&lt;/em&gt; by El Gamal.&lt;/p&gt;&#xA;" OwnerUserId="31967" LastEditorUserId="4193" LastEditDate="2015-04-28T22:09:54.737" LastActivityDate="2015-04-29T10:00:08.560" Title="Information theory and convex optimization" Tags="&lt;reference-request&gt;&lt;it.information-theory&gt;&lt;convex-optimization&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31307" PostTypeId="2" ParentId="31304" CreationDate="2015-04-28T13:24:55.330" Score="6" Body="&lt;p&gt;The stable marriage problem with ties (a matching problem for bipartite graphs) is (trivially) solvable in polynomial time, whereas the stable roommate problem with ties (a matching problem for general graphs) is known to be NP-hard.  See &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/0196677490900072&quot;&gt;Eytan Ronn:&#xA;NP-Complete Stable Matching Problems. J. Algorithms 11(2): 285-304 (1990)&lt;/a&gt; for details.&lt;/p&gt;&#xA;" OwnerUserId="26853" LastActivityDate="2015-04-28T13:24:55.330" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31312" PostTypeId="2" ParentId="18885" CreationDate="2015-04-29T01:38:26.437" Score="-8" Body="&lt;p&gt;In my patent application - &lt;a href=&quot;http://www.faqs.org/patents/app/20150102562&quot; rel=&quot;nofollow&quot;&gt;Turing Complete Sets of Game Components with Divinatory Elements&lt;/a&gt; - I describe variants for game rules (including games played on a 19x19 Go board) which add a degree of complexity to games like chess and Go allowing for board positions to simulate linear bounded automata for an arbitrarily long period of time. As mentioned in the comments above, Go on an infinite board would introduce some difficulties as far as determining a game winner, since it is a game with a territorial objective, unlike chess. From my application: &quot;Many other Turing complete game embodiments are possible, but I will give just two more brief descriptive examples to illustrate some other possibilities for adapting games to be played as Turing complete variants and then discuss ramifications. Games like Gomoku (SCARNE, p. 537) and Go (SCARNE, pp. 533-7) which are played on a 19×19 grid with two different colors of pieces are also candidates for Turing complete variants with divinatory elements. In the case of these games, Rogozhin's (2,18) UTM is used. This is also the UTM used by Churchill (2012) as cited in the prior art references. In order to create a game variant of this type, we will use coins for our game pieces. Prepare to play the chosen game variant by sorting large quantities of two different coins--pennies and dimes for example--into piles based on the date on their obverse sides. In this case, dates on the coins will be used as a substitute for colors in the context of the UTM instructions. Colors have been used for UTM instructions in the previously described embodiments, but this embodiment illustrates that another attribute of the game components, in this case a number, may be used. In the most general case, I will refer to this potential for substituting another attribute of the game components in place of colors as a use of a subset of the set of game components. Each player should start with 19 stacks of 19 of their chosen coin. Each stack of pennies and dimes should contain only coins with the same date--let's say, for example, 19 pennies dated 1991, 19 dimes dated 1991, 19 pennies dated 1992, etc. through 19 dimes dated 2009. A coin may only be played in the leftmost column of the board if it has a 1991 date, the next column to the right requires a coin with the 1992 date, etc. through to 2009 in the rightmost column. Play a game of Go or Gomoku as normal except for this rule regarding which pieces may be played where. When the (2,18) UTM is initiated based on pre selected game criteria (in a similar manner to that described in other embodiments) the UTM read/write head will read a heads up coin as being in state 1 and a heads down coin as being in state 2. A coin with the date 1991 will be considered an A coin by the UTM, 1992=B, 1993=C, etc. skipping over the year 2000. Coins are replaced by others with different dates according to the UTM instructions. As far as divinatory elements are concerned, there are 360 degrees in the zodiac and 360 intersections surrounding the central intersection on a Go board, so Sabian symbols (ROCHE) are an obvious fit. For more divinatory aspects of a Go board and game, see &quot;The Religious Dimensions of Go&quot; (SCHNEIDER).&quot; Go game scenarios where a pre agreed UTM analysis of a board position might be useful include boards with &lt;a href=&quot;http://senseis.xmp.net/?KoPagesTaxonomy&quot; rel=&quot;nofollow&quot;&gt;triple kos and boards with long ko fights&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is the trade off between adding additional complexity in rules in order to introduce Turing completeness to tabletop games worth the effort? Likely the answer to that question depends on the game and the players, but Magic: the Gathering is an example that in at least some cases the answer to that question is likely to be yes.&lt;/p&gt;&#xA;" OwnerUserId="32912" LastEditorUserId="32912" LastEditDate="2015-04-29T21:27:25.920" LastActivityDate="2015-04-29T21:27:25.920" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="31313" PostTypeId="2" ParentId="31306" CreationDate="2015-04-29T10:00:08.560" Score="4" Body="&lt;p&gt;The books below may be more to your liking, but in general, the texts/lecture notes are written for the use of (mainly) postgraduate students in engineering and cannot presume deep knowledge of convex analysis. &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Csizsar, I., and Korner, J., Information Theory: Coding Theorems for Discrete Memoryless Systems, 2nd Ed, Cambridge.&lt;/li&gt;&#xA;&lt;li&gt;Berger, T., Rate Distortion Theory, quite old probably late 70's or early 80s, can't remember the publisher maybe Wiley.&lt;/li&gt;&#xA;&lt;li&gt;Yeung, R.W., A First Course in Information Theory, Springer.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;The research articles on Shannon theory and related fields in, say, IEEE Transactions on Information Theory, may fit the bill better, though not always. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;An older text which may also be of interest is &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Wolfowitz, J., Coding Theorems of Information Theory, Springer, 1960's.&lt;/p&gt;&#xA;" OwnerUserId="21948" LastActivityDate="2015-04-29T10:00:08.560" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="31314" PostTypeId="1" CreationDate="2015-04-29T10:03:06.137" Score="-1" ViewCount="78" Body="&lt;p&gt;I have a rectangular boolean matrix and I'd like to have an efficient algorithm to find non-intersecting submatrices. I'll to demonstrate that in the example below.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The ideal case is when all elements are non-zero and rows and columns are happen to be in such an order that the submatrices all lie on the diagonal.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;\begin{array}{ccccc}&#xA; 1 &amp;amp; 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 \\&#xA; 1 &amp;amp; 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 \\&#xA; 0 &amp;amp; 0 &amp;amp; 1 &amp;amp; 1 &amp;amp; 1 \\&#xA; 0 &amp;amp; 0 &amp;amp; 1 &amp;amp; 1 &amp;amp; 1 \\&#xA;\end{array}&lt;/p&gt;&#xA;&#xA;&lt;p&gt;\begin{array}{ccccc}&#xA; a &amp;amp; a &amp;amp; . &amp;amp; . &amp;amp; . \\&#xA; a &amp;amp; a &amp;amp; . &amp;amp; . &amp;amp; . \\&#xA; . &amp;amp; . &amp;amp; b &amp;amp; b &amp;amp; b \\&#xA; . &amp;amp; . &amp;amp; b &amp;amp; b &amp;amp; b \\&#xA;\end{array}&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Where &lt;code&gt;a&lt;/code&gt; and &lt;code&gt;b&lt;/code&gt; are the sought-for submatrices.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The general case is when the rows and columns and not so fortunately arranged and not all elements in the submatrices are non-zero.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;\begin{array}{ccccc}&#xA; 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 \\&#xA; 0 &amp;amp; 1 &amp;amp; 1 &amp;amp; 0 &amp;amp; 1 \\&#xA; 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; 1 &amp;amp; 0 \\&#xA; 0 &amp;amp; 1 &amp;amp; 0 &amp;amp; 0 &amp;amp; 1 \\&#xA;\end{array}&lt;/p&gt;&#xA;&#xA;&lt;p&gt;\begin{array}{ccccc}&#xA; a &amp;amp; . &amp;amp; . &amp;amp; 0 &amp;amp; . \\&#xA; . &amp;amp; b &amp;amp; b &amp;amp; . &amp;amp; b \\&#xA; a &amp;amp; . &amp;amp; . &amp;amp; a &amp;amp; . \\&#xA; . &amp;amp; b &amp;amp; 0 &amp;amp; . &amp;amp; b \\&#xA;\end{array}&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There's probably a name for that decomposition/transformation but I couldn't find it by googling. Is there a name for that? And an efficient algorithm?&lt;/p&gt;&#xA;" OwnerUserId="1592" LastEditorUserId="1592" LastEditDate="2015-04-29T10:45:13.650" LastActivityDate="2015-04-29T15:52:01.323" Title="Find non-intersecting submatrices" Tags="&lt;matrices&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="31317" PostTypeId="2" ParentId="18885" CreationDate="2015-04-29T13:49:18.173" Score="2" Body="&lt;p&gt;This is a build on my comment, with the idea of using shishos (ladders) as computations. It is merely an attempt to give a computation model that is based on Go, and for which it makes sense to ask whether it is Turing-complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We start by fixing some powerful but not Turing-complete computation model that always halts, for instance some typed $\lambda$-calculus, or primitive recursive functions. This is the &quot;cheating&quot; part as we use an external computation model, but it is a weaker one, so hopefully it is the game of Go which will fill the gap and make it Turing-complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We consider an infinite goban labeled by $\mathbb Z\times\mathbb Z$.&#xA;Now the initial configuration of the goban can be infinite, and is given by an algorithm from our formalism: given coordinates $(i,j)$ the algorithm says whether the intersection $(i,j)$  is empty, occupied by a black stone, or occupied by a white stone.&#xA;We fix a maximal size $N$ of the groups in the initial configuration.&#xA;This means that given a position, we can always compute the group occupying it and its number of liberties, or answer &quot;invalid configuration&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We also fix a &lt;em&gt;marked&lt;/em&gt; stone (say black) at coordinate $(0,0)$.&#xA;An initial configuration is valid if at the beginning the group of the marked stone has two liberties. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now we can view this configuration of the goban as the initial configuration of a non-deterministic machine, where a transition consists in playing a white stone at one of the two liberties of the marked group.&#xA;At each step, black automatically answers at the other liberty.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The run ends if&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The marked group is captured, in which case the input is accepted&lt;/li&gt;&#xA;&lt;li&gt;The marked group acquires more than $2$ liberties, in which case the input is rejected.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The run can also continue forever...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As for non-deterministic Turing machines, the input is accepted if there is an accepting run.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is easy to simulate this machine with a non-deterministic TM, thanks to the existence of the bound $N$ (which is a parameter of the whole model).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Conjecture&lt;/strong&gt;: For $N$ big enough (probably no more than $10$ to get the necessary gadgets), this model is Turing-complete.&lt;/p&gt;&#xA;" OwnerUserId="8953" LastEditorUserId="8953" LastEditDate="2015-04-29T16:30:27.660" LastActivityDate="2015-04-29T16:30:27.660" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31319" PostTypeId="2" ParentId="31314" CreationDate="2015-04-29T15:52:01.323" Score="0" Body="&lt;p&gt;In the first case, if matrices can not have common rows and columns, you can just hash each row and try to select blocks of the same rows. If my assumption works for a beaten matrix you can use something like locality sensitive hashing.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In general case I suppose you need low-rank approximation: &lt;a href=&quot;http://en.wikipedia.org/wiki/Low-rank_approximation&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/Low-rank_approximation&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="19579" LastActivityDate="2015-04-29T15:52:01.323" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31321" PostTypeId="2" ParentId="31280" CreationDate="2015-04-29T18:45:28.307" Score="21" Body="&lt;p&gt;Alright I'll give a crack at it: In general for a given type system $T$, the following is true:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;If&lt;/strong&gt; all well-type terms in the calculus $T$ are normalizing, then $T$ is &lt;em&gt;consistent&lt;/em&gt; when viewed as a logic.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The proof generally proceeds by assuming you have a term $\mathrm{absurd}$ of type $\mathrm{False}$, using subject reduction to get a normal form, and then proceeding by induction on the structure of such a term to get a contradiction.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is natural to wonder if the converse holds, i.e.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;For any type system $T$, if $T$ is &lt;em&gt;logically consistent&lt;/em&gt;, then every well-typed term in $T$ is normalizing.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The problem with this is that there is no real most general notion of &quot;type system&quot;, and even less agreement on the meaning of logical consistency for such systems. However, we can empirically verify that&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;For &lt;em&gt;most known type systems&lt;/em&gt; which have a logical interpretation, the converse does indeed hold.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;How does this tie into Turing Completeness? Well, for one, if type-checking is &lt;strong&gt;decidable&lt;/strong&gt;, then &lt;a href=&quot;https://cstheory.stackexchange.com/questions/24986/a-total-language-that-only-a-turing-complete-language-can-interpret/24994#24994&quot;&gt;Andrej's argument&lt;/a&gt; shows that one of the following &lt;em&gt;must&lt;/em&gt; hold:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;The set of all well-typed programs is &lt;em&gt;not&lt;/em&gt; Turing Complete.&lt;/li&gt;&#xA;&lt;li&gt;There is a non-terminating well typed program.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;This tends to suggest that:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Type systems which have a logical interpretation &lt;strong&gt;and&lt;/strong&gt; are consistent &lt;strong&gt;and&lt;/strong&gt; are recursively enumerable are &lt;strong&gt;not&lt;/strong&gt; Turing Complete.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Giving an actual theorem rather than a suggestion requires making the notion of type systems and logical interpretations mathematically precise.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now two remarks come to mind:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;There is an &lt;em&gt;undecidable&lt;/em&gt; type system, the &lt;a href=&quot;http://projecteuclid.org/download/pdf_1/euclid.ndjfl/1040067315&quot; rel=&quot;noreferrer&quot;&gt;intersection type system&lt;/a&gt; which has a logical interpretation and can represent every normalizing $\lambda$-term. As you remark, this isn't quite the same as being Turing Complete, as the type of a total function may need to be updated (refined, in fact) before applying it to the desired argument. The calculus is a &quot;curry style&quot; calculus and is equal to STLC +&#xA;$$ \frac{\Gamma\vdash M:\tau\quad \Gamma\vdash M:\sigma}{\Gamma\vdash M:\tau\cap\sigma} $$&#xA;and&#xA;$$\frac{\Gamma\vdash M:\tau\cap\sigma}{\Gamma\vdash M:\tau}\quad \frac{\Gamma\vdash M:\tau\cap\sigma}{\Gamma\vdash M:\sigma}$$&#xA;It is clear that the &quot;interpretation&quot; $\cap=\wedge$ leads to a consistent logical interpretation.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;There is a class of type systems, the &lt;a href=&quot;http://en.wikipedia.org/wiki/Pure_type_system&quot; rel=&quot;noreferrer&quot;&gt;Pure Type Systems&lt;/a&gt;, in which such a question might be made precise. In this framework however, the logical interpretation is less clear. One might be tempted to say: &quot;a PTS is consistent if it has an uninhabited type&quot;. But this doesn't work, since types may live in different &quot;universes&quot;, where some might be consistent and some not.&#xA;&lt;a href=&quot;https://hal.inria.fr/inria-00159085/document&quot; rel=&quot;noreferrer&quot;&gt;Coquand and Herbelin&lt;/a&gt; define a notion of &lt;em&gt;Logical Pure Type Systems&lt;/em&gt;, in which the question makes sense, and show&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Every inconsistent, &lt;em&gt;non-dependent&lt;/em&gt; LPTS has a looping combinator (and so is Turing Complete)&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Which answers the question in one direction (inconsistent $\Rightarrow$ TC) in this case. As far as I know, the question for general LPTS is still open and quite difficult.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit:&lt;/strong&gt; The converse of the Coquand-Herbelin result is not as easy as I thought! Here is what I came up with so far.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A &lt;em&gt;Logical Pure Type System&lt;/em&gt; is a PTS with (at least) the sorts $\mathrm{Prop}$ and $\mathrm{Type}$, (at least) the axiom $\mathrm{Prop}:\mathrm{Type}$ and (at least) the rule $(\mathrm{Prop},\mathrm{Prop},\mathrm{Prop})$, with the further requirement that there are no sorts of type $\mathrm{Prop}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now I'm going to assume a particular statement of Turing Completeness: fix an LPTS $L$ and let $\Gamma$ be the context&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$ \Gamma = \mathrm{nat}:\mathrm{Prop},\ 0:\mathrm{nat},\ S:\mathrm{nat}\rightarrow \mathrm{nat}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$L$ is &lt;em&gt;Turing Complete&lt;/em&gt; iff for every total computable function $f:\mathbb{N}\rightarrow\mathbb{N}$ there is a term $t_f$ such that&#xA;$$ \Gamma \vdash t_f : \mathrm{nat}\rightarrow \mathrm{nat}$$&#xA;and for every $n\in\mathbb{N}$&#xA;$$ t_f\ (S^n\ 0)\rightarrow^*_{\beta} S^{f(n)}\ 0$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now Andrej's diagonalization argument shows that there are non-terminating $t$ of type $\mathrm{nat}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now it seems like we are half-way there! Given a non terminating term $\Gamma \vdash \mathrm{loop}:\mathrm{nat}$, we want to replace occurrences of $\mathrm{nat}$ by some generic type $A$ and get rid of $0$ and $S$ in $\Gamma$, and we will have our inconsistency ($A$ is inhabited in the context $A:\mathrm{Prop}$)!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Unfortunately this is where I get stuck, since it is easy to replace $S$ by the identity, but the $0$ is much harder to get rid of. Ideally we would like to use some Kleene recursion theorem, but I haven't figured this out yet.&lt;/p&gt;&#xA;" OwnerUserId="3984" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:30.623" LastActivityDate="2015-05-01T21:24:01.263" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="31322" PostTypeId="2" ParentId="18885" CreationDate="2015-04-29T18:57:02.723" Score="4" Body="&lt;p&gt;Related:  Rengo Kriegspiel, a blindfolded, team variant of Go, is conjectured to be undecidable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Go_variants#Rengo_Kriegspiel&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/Go_variants#Rengo_Kriegspiel&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Robert Hearn's &lt;a href=&quot;http://erikdemaine.org/theses/bhearn.pdf&quot; rel=&quot;nofollow&quot;&gt;thesis&lt;/a&gt; (and the corresponding &lt;a href=&quot;http://www.crcpress.com/product/isbn/9781568813226&quot; rel=&quot;nofollow&quot;&gt;book&lt;/a&gt; with Erik Demaine) discuss this problem.  They prove other problems undecidable through &quot;TEAM COMPUTATION GAME&quot;, which is reduced directly from Turing machine acceptance on empty input (see Theorem 24 on page 70 of the thesis).  So it seems to me that such a reduction would imply Rengo Kriegspiel is Turing complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, their discussion says that this reduction would be very difficult (see page 123). So while this is a potential avenue, it appears that it has been looked into previously.&lt;/p&gt;&#xA;" OwnerUserId="8927" LastActivityDate="2015-04-29T18:57:02.723" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31324" PostTypeId="1" AcceptedAnswerId="31337" CreationDate="2015-04-30T08:28:06.797" Score="12" ViewCount="263" Body="&lt;p&gt;It is known that adding bounded-error randomization to PSPACE doesn't add power. That is, BPPSAPCE=PSPACE.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is famously unknown whether P=BPP, but it is known that $BPP\subseteq \Sigma_2\cap \Pi_2$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thus, it is possible (while conjectured to be false) that adding probability to P adds expressive power.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is whether we know (or have evidence of) the border between P and PSPACE where adding randomization no longer adds power.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Specifically, &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Are there any problems that are known to be in $BP\Sigma_i$ (resp. $BP\Pi_i$) that are not known to be in $\Sigma_i$ (resp. $\Pi_i$)? And similarly for $BPPH$ v.s. $PH$?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="7531" LastActivityDate="2015-05-01T06:27:31.900" Title="When does randomization stops helping within PSPACE" Tags="&lt;randomness&gt;&lt;derandomization&gt;&lt;polynomial-hierarchy&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="31325" PostTypeId="1" AcceptedAnswerId="31327" CreationDate="2015-04-30T09:37:21.573" Score="16" ViewCount="542" Body="&lt;p&gt;I am a mathematician interested in set theory, ordinal theory, infinite combinatorics and general topology.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there any applications for these subjects in computer science?&#xA;I have looked a bit, and found a lot of applications (of course) for finite graph theory, finite topology, low dimensional topology, geometric topology etc.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, I am looking for applications of the infinite objects of these subjects, i.e. infinite trees (&lt;a href=&quot;https://en.wikipedia.org/wiki/Aronszajn_tree&quot;&gt;Aronszajn trees&lt;/a&gt; for example), infinite topology etc.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any ideas?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thank you!!&lt;/p&gt;&#xA;" OwnerUserId="32927" LastEditorUserId="109" LastEditDate="2015-04-30T21:41:38.787" LastActivityDate="2016-07-26T17:45:53.780" Title="Applications for set theory, ordinal theory, infinite combinatorics and general topology in computer science?" Tags="&lt;set-theory&gt;&lt;topology&gt;&lt;topological-graph-theory&gt;" AnswerCount="3" CommentCount="2" FavoriteCount="13" ContentLicense="CC BY-SA 3.0" />
  <row Id="31326" PostTypeId="2" ParentId="31036" CreationDate="2015-04-30T10:23:20.167" Score="8" Body="&lt;p&gt;I agree with both Andrej's and Cody's answer. However, I think it is also worth mentioning why constructivists &lt;em&gt;should&lt;/em&gt; care about control operators (call/cc).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;These operators are usually connected to classical logic because when people looked at their typing rules (Felleisen, Griffin) they noticed that the types have the form of Peirce's Law or double-negation elimination ($\neg\neg P\vdash P$). Nevertheless, control operators were invented in the untyped setting of the Scheme programming language. Their purpose was to be able to enrich the programming language: instead of writing programs in continuation-passing style, one would be able to write programs in direct style using control operators.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One gain in using control operators in Proof Theory is the methodological one: instead of using a double-negation- and A-translation to extract programs from proofs of $\Pi^0_2$-theorems of Classical Arithmetic, one would use a control operator and perform direct rewriting normalization on the proof.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another gain a constructivist should care about is that control operators show a way how to build a Curry-Howard extension of intuitionistic logic which is still constructive. For example, limiting the $P$ from the double negation elimination law to the $\Sigma^0_1$-class of formulas, allows to have a typed control operator that can prove for example &lt;a href=&quot;http://pauillac.inria.fr/~herbelin/articles/lics-Her10-markov+errata.pdf&quot;&gt;Markov's Principle&lt;/a&gt;  or the &lt;a href=&quot;http://hal.inria.fr/hal-00647389&quot;&gt;Double Negation Shift&lt;/a&gt;. These principles are usually not accepted by constructivists, but for hardly a good reason, since it is known that they do not destroy the Disjunction and Existence properties when added to intuitionistic logic.&lt;/p&gt;&#xA;" OwnerUserId="32928" LastActivityDate="2015-04-30T10:23:20.167" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31327" PostTypeId="2" ParentId="31325" CreationDate="2015-04-30T11:30:38.630" Score="21" Body="&lt;p&gt;One major application of topology in semantics is the topological approach to computability. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The basic idea of the topology of computability comes from the observation that termination and nontermination are not symmetric. It is possible to observe whether a black-box program terminates (simply wait long enough), but it's not possible to observe whether it doesn't terminate (since you can never be certain you have not waited long enough to see it terminate). This corresponds to equipping the two point set {HALT, LOOP} with the Sierpinski topology, where $\emptyset, \{HALT\}, and \{HALT, LOOP\}$ are the open sets. So then we can basically get pretty far equating &quot;open set&quot; with &quot;computable property&quot;. One surprise of this approach to traditional topologists is the central role that non-Hausdorff spaces play. This is because you can basically make the following identifications&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;\begin{matrix}&#xA;\mathbf{Computability} &amp;amp; \mathbf{Topology}\\&#xA;\mbox{Type} &amp;amp; \mbox{Space} \\&#xA;\mbox{Computable function} &amp;amp; \mbox{Continuous function} \\&#xA;\mbox{Decidable set} &amp;amp; \mbox{Clopen set} \\&#xA;\mbox{Semi-decidable set} &amp;amp; \mbox{Open set} \\&#xA;\mbox{Set with semidecidable complement} &amp;amp; \mbox{Closed set} \\&#xA;\mbox{Set with decidable equality} &amp;amp; \mbox{Discrete space} \\&#xA;\mbox{Set with semidecidable equality} &amp;amp; \mbox{Hausdorff space} \\&#xA;\mbox{Exhaustively searchable set} &amp;amp; \mbox{Compact space} \\&#xA;\end{matrix}&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Two good surveys of these ideas are MB Smyth's &lt;em&gt;Topology&lt;/em&gt; in the &lt;em&gt;Handbook of Logic in Computer Science&lt;/em&gt; and Martin Escardo's &lt;a href=&quot;http://www.cs.bham.ac.uk/~mhe/papers/entcs87.pdf&quot; rel=&quot;nofollow&quot;&gt;&lt;em&gt;Synthetic topology of data types and classical spaces&lt;/em&gt;&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Topological methods also play an important role in the semantics of concurrency, but I know much less about that. &lt;/p&gt;&#xA;" OwnerUserId="657" LastEditorUserId="20716" LastEditDate="2016-07-26T17:45:53.780" LastActivityDate="2016-07-26T17:45:53.780" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="31331" PostTypeId="1" CreationDate="2015-04-30T18:07:08.057" Score="8" ViewCount="83" Body="&lt;p&gt;In §3 of &lt;a href=&quot;https://scholar.google.de/scholar?cluster=14591684601412534004&amp;amp;hl=de&amp;amp;as_sdt=0,5&quot;&gt;&lt;em&gt;Polytypic values possess polykinded types&lt;/em&gt;&lt;/a&gt;, Ralf Hinze described a calculus of types with higher-kinded recursive types. There is a fixed-point combinator $$\mu_\kappa : (\kappa \rightarrow \kappa) \rightarrow \kappa$$ for every kind $\kappa$. Furthermore, there is a convertibility rule $(\mu)$, which says recursive types and their expansions are interconvertible: $$\mu_\kappa t \leftrightarrow t\;(\mu_\kappa t)\qquad\qquad(\mu)$$ Together with the congruence convertibility rules, $(\mu)$ means that recursive types and their expansions are interchangeable in all contexts. In other words, the system has equirecursive types.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is: Can one decide whether two types in Hinze's system are interconvertible?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The question is related to the equality of Böhm trees; it seems two types are interconvertible iff their Böhm trees are equal. Gérard Huet* showed the decidability of equality between regular Böhm trees, i. e., those with a finite number of distinct subtrees. However, types in Hinze's system can have nonregular Böhm trees; the following type is an example (it is related to the &lt;code&gt;Sequ&lt;/code&gt; datatype in &lt;a href=&quot;https://scholar.google.de/scholar?cluster=14591684601412534004&amp;amp;hl=de&amp;amp;as_sdt=0,5&quot;&gt;Hinze's paper&lt;/a&gt;):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\lambda g.~\mu f.~\lambda a.~g~a~(f~(g~a~a))$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is anything known about the decidability of equality between nonregular Böhm trees?&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Huet, Gérard. &quot;Regular böhm trees.&quot; Mathematical Structures in Computer Science 8.06 (1998): 671-680.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="32934" LastActivityDate="2015-04-30T18:07:08.057" Title="Decidability of equality between higher-kinded equirecursive types (or: between nonregular Böhm trees)" Tags="&lt;lambda-calculus&gt;&lt;type-systems&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31332" PostTypeId="1" CreationDate="2015-04-30T19:07:52.327" Score="2" ViewCount="147" Body="&lt;p&gt;This &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S030439750900067X&quot; rel=&quot;nofollow&quot;&gt;paper&lt;/a&gt; gives some high probability results for UCB algorithm of the form, &lt;/p&gt;&#xA;&#xA;&lt;p&gt;\begin{align}&#xA;\mathbb{P}(R_{n} &amp;gt; r_0.x) \leq O(n^{-2\rho x + 1} + x^{-2 \rho  + 1} )&#xA;\end{align}&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where $\rho$ is a parameter of the algorithm, $R_{n}$ is the regret till time $n$, and $r_{0}$ is the bound for the expected regret that is of order $O(\log n)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is it possible to get high-probability bounds on the regret between time $n_2$ and $n_1$, that is $R_{n_2} - R_{n_1}$ , where $n_2 - n_1 = o(n_1)$ ? I presume we can modify the arguments in the above paper to do so, but if there is any resource that directly gives such bounds, then that would be helpful. &lt;/p&gt;&#xA;" OwnerUserId="32257" LastActivityDate="2015-04-30T19:07:52.327" Title="High-Probability bounds for Stochastic multi-armed Bandit Problems" Tags="&lt;pr.probability&gt;&lt;stochastic-process&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31333" PostTypeId="2" ParentId="18885" CreationDate="2015-04-30T22:53:35.353" Score="-2" Body="&lt;p&gt;here is some evidence/ analysis/ results leaning against your conjecture that a Go generalization might be undecidable (aka &quot;Turing Complete&quot;); at least there does not seem to be a well known or commonly accepted case, and a search returns more results on the idea that its (&quot;natural&quot;?) generalizations are decidable. the generalization considered in this set of papers is PSpace complete. however, there are no &quot;consistent&quot; or &quot;inevitable&quot; ways to generalize games and it is conceivable someone could come up with a variant that is undecidable. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;actually most nontrivial games probably can be modified or generalized in some way to have undecidable variants. (a famous simple game/ example along these lines proved &quot;undecidable&quot; by Conway is &lt;a href=&quot;http://en.wikipedia.org/wiki/Conway%27s_Game_of_Life&quot; rel=&quot;nofollow&quot;&gt;Life&lt;/a&gt;.) the following references also point to many other references. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;another line of thought might be that no game can be undecidable if it is winnable, ie undecidability works against the idea of games terminating with a winner in a finite number of moves. in other words maybe games are better/ more naturally analyzed as within the (decidable) complexity hierarchy as is typically the case.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.levreyzin.com/presentations/Go.pdf&quot; rel=&quot;nofollow&quot;&gt;GO is PSpace hard&lt;/a&gt;, by Reyzin, talk on result by Lichtenstein, Sipser&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.computer.org/csdl/proceedings/focs/1978/5428/00/542800048-abs.html&quot; rel=&quot;nofollow&quot;&gt;GO is PSpace hard&lt;/a&gt; by Lichetenstein, Sipser&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://library.msri.org/books/Book42/files/wolfe.pdf&quot; rel=&quot;nofollow&quot;&gt;Go Endgames Are PSPACE-Hard&lt;/a&gt;, Wolfe&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2015-04-30T22:53:35.353" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31335" PostTypeId="2" ParentId="21750" CreationDate="2015-05-01T01:40:54.840" Score="1" Body="&lt;p&gt;planted clique for $p \neq \frac{1}{2}$ is a special case of this problem and new results (lower bounds) as stated on p2 etc &amp;amp; it includes related refs. (2015)&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;We show that, assuming the (deterministic) Exponential Time Hypothesis, distinguishing between a graph with an induced $k$-clique and a graph in which all $k$-subgraphs have density at most $1 −\varepsilon$, requires $n^{\tilde{\Omega}(\log n)}$ time.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://arxiv.org/abs/1504.08352&quot; rel=&quot;nofollow&quot;&gt;ETH Hardness for Densest-$k$-Subgraph with Perfect Completeness&lt;/a&gt; / Braverman, Ko, Rubinstein, Weinstein&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2015-05-01T01:40:54.840" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31337" PostTypeId="2" ParentId="31324" CreationDate="2015-05-01T05:36:04.613" Score="9" Body="&lt;p&gt;There is a difficulty with the premise of your question &amp;mdash; &quot;when does randomization stops helping within $\mathrm{PSPACE}$ &amp;mdash; because it suggests that the computational classes $\mathrm{X}$ such that $\mathrm{P \subseteq X \subseteq PSPACE}$ form some sort of linear hierarchy when this is not evident.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We can illustrate this by comparisons between the polynomial hierarchy and counting classes. As Emil Jeřábek indicates in the comments,&#xA;   $$\begin{align*} \mathrm{BP\cdot \Sigma_i^p \subseteq \Pi_{i+1}^p} &amp;amp;&amp;amp;\text{and}&amp;amp;&amp;amp;  \mathrm{BP\cdot \Pi_i^p \subseteq \Sigma_{i+1}^p} \end{align*}$$ &#xA; by relativisation of $\mathrm{AM \subseteq \Pi_2^p}\,$; and therefore $\mathrm{BP \cdot PH = PH}$. On the other hand, &lt;a href=&quot;http://en.wikipedia.org/wiki/Toda%27s_theorem#Proof&quot;&gt;Toda's Theorem&lt;/a&gt; shows that&#xA;$$\mathrm{PH \subseteq BP\cdot\oplus P}.$$&#xA;If you suppose that &quot;randomization has stopped adding power by the time you ascend to $\mathrm{PH}$&quot;, then you will be tempted to suspect that because $\mathrm{PH \subseteq BP \cdot \oplus P}$, perhaps in fact $\mathrm{BP \cdot \oplus P = \oplus P}$. But I don't know that anyone conjectures this, or even that $\mathrm{PH \subseteq \oplus P}$ (which would be a necessary consequence); I think that any result of this sort would be considered a major breakthrough.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course, if you only care about the polynomial hierarchy, and more generally (to scale up to $\mathrm{PSPACE}$) quantified boolean formulas, then you can extract some sort of linear answer to your question &amp;mdash; in which case Emil's comments are about as complete an answer as you are likely to get.&lt;/p&gt;&#xA;" OwnerUserId="248" LastEditorUserId="248" LastEditDate="2015-05-01T06:27:31.900" LastActivityDate="2015-05-01T06:27:31.900" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="31339" PostTypeId="1" AcceptedAnswerId="41278" CreationDate="2015-05-01T13:25:39.263" Score="9" ViewCount="175" Body="&lt;p&gt;I'm interested in computer music, where there are approaches to treat pieces of music as sentences in generative grammars or L-systems. Instead of composing, one could then specify a grammar and let the computer generate the music. E.g. the Yale group around the late Paul Hudak are very strong in that.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It has struck me that we use seemingly one-dimensional representations of information to represent higher-dimensional things, like &lt;a href=&quot;https://en.wikipedia.org/wiki/L-system#Example_7:_Fractal_plant&quot; rel=&quot;noreferrer&quot;&gt;plant growth with L-systems&lt;/a&gt;. Music, to me, seems to have at least two dimensions: The obvious time dimension and the &quot;instrument&quot; dimension, i.e. the ability to have several different sounds at the same time. And indeed, music notation has exactly these two dimensions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are 2-dimensional programming languages like &lt;a href=&quot;https://en.wikipedia.org/wiki/Befunge&quot; rel=&quot;noreferrer&quot;&gt;Befunge&lt;/a&gt;, which didn't strike me as very useful (yet), but I couldn't find anything about generative grammars, where the sentences are 2-dimensional.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By a 2-dimensional sentence I mean that the characters are spread on a 2-dimensional grid, e.g. like this:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;ab cde&#xA; aabce&#xA;dca  b&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Production rules could have 2-dimensional sentences on either side of the rule as well:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;a -&amp;gt; bc&#xA;     e&#xA;&#xA;b -&amp;gt; cd&#xA;e    ab&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Has something like this been studied before?&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example in computer music, this could be quite useful. Pieces like &lt;a href=&quot;https://en.wikipedia.org/wiki/Bol%C3%A9ro#Structure&quot; rel=&quot;noreferrer&quot;&gt;Ravel's Boléro&lt;/a&gt; could be generated by a 2-dimensional production rule like this:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;t -&amp;gt; tt&#xA;      t&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;This should be read as &quot;If in a piece, the theme &lt;code&gt;t&lt;/code&gt; is played by instrument 1 at some time, then we can produce a new piece in which &lt;code&gt;t&lt;/code&gt; is played by instrument 1 at the same time, and immediately after by instrument 1 and 2.&quot;&lt;/p&gt;&#xA;" OwnerUserId="32941" LastEditorUserId="32941" LastEditDate="2015-05-02T16:59:18.020" LastActivityDate="2018-07-30T18:22:15.430" Title="Is there higher-dimensional generative grammar?" Tags="&lt;grammars&gt;" AnswerCount="2" CommentCount="5" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31340" PostTypeId="1" AcceptedAnswerId="31345" CreationDate="2015-05-01T15:05:38.817" Score="4" ViewCount="398" Body="&lt;p&gt;Valiant introduced the class &lt;a href=&quot;http://en.wikipedia.org/wiki/Arithmetic_circuit_complexity#Algebraic_P_and_NP&quot; rel=&quot;nofollow&quot;&gt;VNP&lt;/a&gt; with respect to &quot;arithmetic circuits&quot; over 35 years ago in a &quot;rough&quot; analogy to NP. Recently, there have been major advances in the area of arithmetic circuits eg as cited by &lt;a href=&quot;http://blog.computationalcomplexity.org/2014/06/ccc-2014.html&quot; rel=&quot;nofollow&quot;&gt;Fortnow&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What is the intuition that VNP and NP are similar/ analogous in some way? Is there analysis/ results since its introduction that point toward or away from this analogy? Has/ can the study of VNP lead to some insights on NP?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="495" LastEditDate="2015-05-02T12:39:39.060" LastActivityDate="2015-05-02T12:39:39.060" Title="Analogies between VNP and NP" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;big-picture&gt;&lt;p-vs-np&gt;&lt;arithmetic-circuits&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="31342" PostTypeId="1" CreationDate="2015-05-01T17:19:20.890" Score="9" ViewCount="435" Body="&lt;p&gt;Let SAT$_v$ be the language of those instances of SAT that contain variables $[v] = \{0,1,\dots,v-1\}$,&#xA;let $k$-SAT be the language of those instances of SAT in which every clause has at most $k$ literals,&#xA;and let $k$-SAT$_v$ be their intersection.&#xA;Let $s_k = \inf_M\{\delta \mid \exists c\forall v\;( M\text{ decides } k\text{-SAT$_v$ in }2^{v\delta-c})\text{ time}) \}$, where the infimum ranges over all algorithms (machines in some model of computing).&#xA;Let $s_\infty = \lim_{k \to \infty} s_k$.&#xA;For this to make sense, one has to assume that there is a reasonable bound on the size of the input in terms of the number of variables; otherwise one could repeat clauses to force $s_k$ and $s_\infty$ to be as large as desired.&#xA;So assume clauses are not repeated.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that each $k$-CNF formula then has size at most $O(v^k)$, so the size of the input formula is not important when considering an exponent that is linear in $v$.&#xA;It then follows that $s_3 \le s_4 \le \dots \le s_\infty$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The Exponential Time Hypothesis (ETH) is the statement that $s_k &amp;gt; 0$ for some $k\ge 3$.&#xA;The sequence $(s_k)$ increases infinitely often if ETH holds.&#xA;The Strong ETH (SETH) is the statement that $s_\infty &#xA;\ge 1$ or $s_\infty = 1$, depending on which reference one uses.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In contrast, each instance of SAT$_v$ contains up to $3^v$ distinct clauses (each variable can be positive, negative, or absent in each clause).&#xA;Hence an input may have length $\Omega(2^{n\log 3})$ even if no clause is repeated, so this is a lower bound for the time to read the input, and then also for the overall time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we then let $s_\omega =&#xA;\inf_M\{\delta \mid \exists c\forall v\;( M\text{ decides } \text{SAT$_v$ in }2^{v\delta-c})\text{ time}) \}$, it is clear that $s_\omega \ge \log 3 \gt 1.58$ just by considering the input sizes.&#xA;Even if one requires an input formula to contain no clause that is subsumed by another, $s_\omega \ge 1.5$.&#xA;By the trivial algorithm, it is also the case that $s_\omega \le 1+\log 3$.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Why is there a gap between $s_\infty$ and $s_\omega$, assuming SETH?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;In some sense $s_\omega$ is just a different way to take the limit, so it seems puzzling that there should be a gap.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Russell Impagliazzo and Ramamohan Paturi, &lt;em&gt;On the Complexity of $k$-SAT&lt;/em&gt;, JCSS &lt;strong&gt;62&lt;/strong&gt; 367–375, 2001. doi:&lt;a href=&quot;http://dx.doi.org/10.1006/jcss.2000.1727&quot; rel=&quot;nofollow&quot;&gt;10.1006/jcss.2000.1727&lt;/a&gt; (&lt;a href=&quot;http://cseweb.ucsd.edu/~paturi/myPapers/pubs/ImpagliazzoPaturi_2001_jcss.pdf&quot; rel=&quot;nofollow&quot;&gt;preprint&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;li&gt;Evgeny Dantsin and Alexander Wolpert, &lt;em&gt;On Moderately Exponential Time for SAT&lt;/em&gt;, SAT 2010, LNCS 6175 313–325. doi:&lt;a href=&quot;http://dx.doi.org/10.1007/978-3-642-14186-7_27&quot; rel=&quot;nofollow&quot;&gt;10.1007/978-3-642-14186-7_27&lt;/a&gt; (&lt;a href=&quot;http://cs.roosevelt.edu/~dantsin/research/pdf/DW10-SAT.pdf&quot; rel=&quot;nofollow&quot;&gt;preprint&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;li&gt;Chris Calabro, Russell Impagliazzo and Ramamohan Paturi, &lt;em&gt;The Complexity of Satisfiability of Small Depth Circuits&lt;/em&gt;, IWPEC 2009, LNCS 5917 75–85. doi:&lt;a href=&quot;http://dx.doi.org/10.1007/978-3-642-11269-0_6&quot; rel=&quot;nofollow&quot;&gt;10.1007/978-3-642-11269-0_6&lt;/a&gt; (&lt;a href=&quot;http://cseweb.ucsd.edu/~paturi/myPapers/pubs/CalabroImpagliazzoPaturi_2009_iwpec.pdf&quot; rel=&quot;nofollow&quot;&gt;preprint&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;li&gt;Marek Cygan, Holger Dell, Daniel Lokshtanov, Dániel Marx, Jesper Nederlof, Yoshio Okamoto, Ramamohan Paturi, Saket Saurabh, Magnus Wahlström, &lt;em&gt;On Problems as Hard as CNF-SAT&lt;/em&gt;, arXiv:&lt;a href=&quot;http://arxiv.org/abs/1112.2275&quot; rel=&quot;nofollow&quot;&gt;1112.2275v3&lt;/a&gt;, 27 Mar 2014.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="109" LastEditorUserId="879" LastEditDate="2015-05-05T02:42:23.040" LastActivityDate="2015-05-05T02:42:23.040" Title="ETH: k-SAT vs. SAT?" Tags="&lt;cc.complexity-theory&gt;&lt;parameterized-complexity&gt;&lt;conditional-results&gt;" AnswerCount="2" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31343" PostTypeId="2" ParentId="31342" CreationDate="2015-05-01T19:07:03.800" Score="7" Body="&lt;p&gt;The difference between your definitions is that the clause width in $s_\omega$ is allowed to grow with the number of variables, while for $s_\infty$ it is arbitrarily large but constant. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's a similar issue as PH vs PSPACE. If you take an arbitrary constant number of quantifier alterations you get the polynomial hierarchy, but if you allow the formula to be fully quantified you get a PSPACE-complete problem.&lt;/p&gt;&#xA;" OwnerUserId="17068" LastActivityDate="2015-05-01T19:07:03.800" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31344" PostTypeId="2" ParentId="31339" CreationDate="2015-05-01T20:28:09.527" Score="1" Body="&lt;p&gt;there is some theoretical/ scientific/ applied research into modelling music with CS formal grammars. see eg&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://homepages.inf.ed.ac.uk/steedman/papers/music/slides5.pdf&quot; rel=&quot;nofollow&quot;&gt;Formal Grammars for Computational Musical Analysis&lt;/a&gt; / Steedman &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://www.jstor.org/stable/832733&quot; rel=&quot;nofollow&quot;&gt;Musical grammars and computer analysis: a Review&lt;/a&gt; / Snell&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;however grammars may generally be too &quot;regular&quot; to &lt;em&gt;generate&lt;/em&gt; interesting music. for that there are different approaches being explored eg genetic algorithms &amp;amp; there are many references on that. following, one highly cited article. this now known as the field of &lt;a href=&quot;http://en.wikipedia.org/wiki/Evolutionary_music&quot; rel=&quot;nofollow&quot;&gt;evolutionary music&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://ece.umd.edu/~blj/papers/icmc95.pdf&quot; rel=&quot;nofollow&quot;&gt;COMPOSING WITH GENETIC ALGORITHMS&lt;/a&gt; / Jacobs&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2015-05-01T20:28:09.527" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="31345" PostTypeId="2" ParentId="31340" CreationDate="2015-05-01T20:45:09.980" Score="15" Body="&lt;p&gt;The basic idea is that summing over all Boolean strings (VNP) is like counting the solutions to an NP problem. Even from this perspective, one sees that VNP is more like #P than NP. This is also true as permanent is complete for both VNP and #P. Indeed, the Boolean part of VNP is essentially just #P/poly (it contains #P/poly and is contained in $\mathsf{FP}^{\mathsf{\# P}}/poly$ [Burgisser].&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Valiant already observed that $\mathsf{P/poly} \neq \mathsf{NP/poly}$ implies $\mathsf{VP} \neq \mathsf{VNP}$ over $\mathbb{F}_2$, so separating VP from VNP is necessary on the way to proving that NP is not in P/poly. Not only is it a formally necessary first step, but because of the connection between VNP and counting solutions to NP problems, one could imagine that a better understanding of VNP would yield some insight into NP as well.&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2015-05-01T20:45:09.980" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="31346" PostTypeId="1" CreationDate="2015-05-02T04:27:22.647" Score="11" ViewCount="2296" Body="&lt;p&gt;I am a graduate student in theoretical computer science, and in particular, approximation algorithms. I find now that I am more interested in pure math (I can say this because I seem to have enjoyed math courses more than the CS courses). I would like to ask if there are areas in theoretical computer science which are pretty much pure math (to be more precise, an area that is of interest in pure math on it's own without considering the applications to CS), or if I need to consider a major switch. I am already two and a half years into the program, so I am not sure if a switch would be a good idea at this point.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The only such thing I could find was graph minor theory, from browsing acceptance lists of top conferences. But that doesn't count as an 'area' for me that I can just focus on.&lt;/p&gt;&#xA;" OwnerUserId="32950" LastEditorUserId="5385" LastEditDate="2015-05-09T05:59:44.393" LastActivityDate="2015-05-09T05:59:44.393" Title="Are there any topics in theoretical CS that are more about pure math?" Tags="&lt;reference-request&gt;&lt;soft-question&gt;" AnswerCount="6" CommentCount="5" FavoriteCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="31347" PostTypeId="1" CreationDate="2015-05-02T04:41:17.920" Score="4" ViewCount="98" Body="&lt;p&gt;It is known that plain and computational zero knowledge proof systems are not sequentially composable without auxiliary input (see for example &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.39.7073&quot; rel=&quot;nofollow&quot;&gt;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.39.7073&lt;/a&gt;). The proofs that I've found for this seem to rely on the fact that the transcripts generated by the simulator are only computationally or statistically indistinguishable from those generated by the verifier-prover interaction, so there is some &quot;leeway&quot; for the simulator to work with.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What about perfect zero knowledge proof systems, i.e. proof systems where the prover has unlimited computational resources and for any given verifier-prover pair, there exists a simulator with an &lt;em&gt;identical&lt;/em&gt; statistical distribution of transcripts?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are those sequentially composable without auxiliary input?&lt;/p&gt;&#xA;" OwnerUserId="32951" LastActivityDate="2015-05-02T04:41:17.920" Title="Is perfect zero knowledge sequentially composable without auxiliary input?" Tags="&lt;interactive-proofs&gt;&lt;zero-knowledge&gt;&lt;cryptographic-attack&gt;" AnswerCount="0" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31348" PostTypeId="1" CreationDate="2015-05-02T11:01:43.040" Score="-2" ViewCount="696" Body="&lt;p&gt;This is a question that arose when studying Rice's theorem. As you all might know, Rice's theorem (informally and simply) states:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&quot;There is no Turing machine (i.e. program) that can always (or generally) decide whether the language of another given Turing machine (i.e. program) satisfies a particular nontrivial property&quot;.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Some real examples of these nontrivial properties are:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Does a given program eventually halt for all possible inputs? (Turing's halting problem)&lt;/li&gt;&#xA;&lt;li&gt;Are all accesses to an array in a given program inside the array's bounds? (buffer-overflow/overrun)&lt;/li&gt;&#xA;&lt;li&gt;Is a given C program free of &quot;use-after-free&quot; bugs? (using a pointer after releasing it)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;But there are also some other nontrivial properties for programs that can be decided using other programs (for example, compilers):&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Are all the function invocations in a program previously defined? (Detecting undefined function invocations)&lt;/li&gt;&#xA;&lt;li&gt;Are all the variables in a program initialized?&lt;/li&gt;&#xA;&lt;li&gt;Do all assignment operations in a program, satisfy type-safety? (Detecting incompatible types assignments)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;So it seems that not all nontrivial properties are the subject of Rice's undecidability theorem. An explanation in &lt;a href=&quot;http://en.wikipedia.org/wiki/Rice%27s_theorem&quot; rel=&quot;nofollow&quot;&gt;the Wikipedia article&lt;/a&gt; states:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&quot;It is important to note that Rice's theorem does not say anything about those properties of machines or programs that are not also properties of functions and languages.&quot;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Unfortunately, this explanation didn't exactly help me understand the distinguishing aspect of properties that are subject of Rice's theorem from those properties that aren't.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Further down the Wikipedia article, it restates the matter like this:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&quot;There exists no automatic method that decides with generality non-trivial questions on the &lt;strong&gt;behavior of computer programs&lt;/strong&gt;.&quot;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;My speculation from the term &lt;strong&gt;&quot;program behavior&quot;&lt;/strong&gt;, and additionally by observing the example properties, is that &lt;strong&gt;any nontrivial property that is related to the program's runtime data, is the subject of Rice's theorem&lt;/strong&gt; (e.g. array indexing, pointer lifetime, halting, ...). In contrast, properties that are unrelated to the program's runtime data are not subject to Rice's theorem (e.g. type-safety, function definitions, variable initialization, ...). Note that I'm assuming &quot;variable initialization&quot; to be static data, not dynamic runtime data.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;How correct or accurate is my speculation?&lt;/strong&gt; If I'm mistaken then, is there &lt;strong&gt;an intuitive and concise explanation&lt;/strong&gt; on the distinguishing aspects of properties that are subject to Rice's theorem from those that are not?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By &quot;intuitive and concise&quot; I mean an explanation suitable for a one session presentation of Rice's theorem to an audience of higher-undergrads and grad students of CS.&lt;/p&gt;&#xA;" OwnerUserId="28887" LastEditorUserId="28887" LastEditDate="2015-05-02T19:03:55.573" LastActivityDate="2015-05-02T19:54:06.993" Title="How to distinguish the properties applicable to Rice's theorem?" Tags="&lt;undecidability&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="2" ClosedDate="2015-05-03T06:15:46.660" ContentLicense="CC BY-SA 3.0" />
  <row Id="31349" PostTypeId="2" ParentId="31348" CreationDate="2015-05-02T12:12:44.593" Score="1" Body="&lt;p&gt;This question is probably more suitable in cs.se, but until it gets migrated, here is an answer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Rice's theorem regards non-trivial &lt;em&gt;semantic&lt;/em&gt; properties.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Formally, a semantic property is a set of Turing machines $P$ such that for every two TMs $M_1,M_2$, if $L(M_1)=L(M_2)$, then either $M_1,M_2\in P$, or $M_1,M_2\notin P$. That is, membership in $P$ is determined solely by the language of the machine, and not by its &quot;inner working&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Rice's theorem states that for every such property $P$ that is nontrivial (so it is not empty, nor contains every machine), it holds that deciding membership in $P$ is undecidable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT per the OP's request:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An intuitive way to look at a semantic property is that it only concerns &lt;em&gt;what&lt;/em&gt; a program does, rather than &lt;em&gt;how&lt;/em&gt; it does it. That is -  memory management, pointers, data, types, etc - are all syntactic, in a way, and thus are &lt;strong&gt;not&lt;/strong&gt; semantic properties. This is because for every program you can build a different program that works entirely differently, but achieves the same result. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Semantic properties only look at the &quot;output&quot; of the program (in cases where this is well-defined).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thus, your intuition is incorrect. None of the internal workings of a program are subject to Rice's theorem, exactly because if you change entirely the inner workings (while maintaining the output), then either both programs should have the property, or both should not have them.&lt;/p&gt;&#xA;" OwnerUserId="7531" LastEditorUserId="7531" LastEditDate="2015-05-02T19:54:06.993" LastActivityDate="2015-05-02T19:54:06.993" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="31350" PostTypeId="2" ParentId="31280" CreationDate="2015-05-02T16:44:01.617" Score="11" Body="&lt;p&gt;Here is an answer to a variant of @cody's precisification of my question. There is a consistent LPTS which is Turing complete in roughly @cody's sense, if we allow the introduction of additional axioms and $\beta$-reduction rules. Thus strictly speaking the system is &lt;em&gt;not&lt;/em&gt; an LPTS; it is merely something much like one.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider the calculus of constructions (or your favorite member of the $\lambda$-cube). This is an LPTS, but we're going to add extra stuff which makes it not an LPTS. Choose constant symbols $\text{nat}, 0, S$, and add the axioms:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$ \vdash \text{nat} : \ast $$&#xA;$$ \vdash 0 : \text{nat} $$&#xA;$$ \vdash S : \text{nat} \to \text{nat} $$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Index the Turing machine programs by natural numbers, and for each natural number $e$, choose a constant symbol $f_e$, add the axiom $f_e : \text{nat} \to \text{nat}$, and for all $e,x \in \mathbb{N}$, add the $\beta$-reduction rule&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$ f_e(x) \to_\beta \Phi_e(x), $$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where as usual $\Phi_e(x)$ is the output of the $e$th Turing machine program on $x$. If $\Phi_e(x)$ diverges then this rule doesn't do anything. Note that by adding these axioms and rules the system's theorems remain recursively enumerable, though its set of $\beta$-reduction rules is no longer decidable, but merely recursively enumerable. I believe we could easily keep the set of $\beta$-reduction rules decidable by spelling out explicitly the details of a model of computation in the syntax and rules of the system.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, this theory is clearly Turing complete in roughly @cody's sense, just by brute force; but the claim is that it's also consistent. Let's construct a model of it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $U_1 \in U_2 \in U_3$ be three sets, such that:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$\emptyset, \mathbb{N}, 0, S \in U_1$ (where $S$ is the successor function).&lt;/li&gt;&#xA;&lt;li&gt;Each set is transitive; if $a \in b \in U_i$, then $a \in U_i$.&lt;/li&gt;&#xA;&lt;li&gt;Each set is closed under the formation of function spaces; i.e., if $A, B \in U_i$, then $B^A \in U_i$.&lt;/li&gt;&#xA;&lt;li&gt;Each set is closed under the formation of dependent products; i.e., if $A \in U_i$ and $f : A \to U_i$, then $\prod_{a \in A} f(a) \in U_i$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The existence of such sets follows, for example, from ZFC plus the axiom that every cardinal is bounded by an inaccessible cardinal; we can take each set $U_i$ to be a Grothendieck universe.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We define an &quot;interpretation&quot; to be a mapping $v$ from the set of variable names to elements of $U_2$. Given an interpretation $v$, we can define an interpretation $I_v$ of terms of the system in the evident way:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$I_v(x) = v(x)$, for $x$ a variable name.&lt;/li&gt;&#xA;&lt;li&gt;$I_v(\ast) = U_1, I_v(\Box) = U_2$.&lt;/li&gt;&#xA;&lt;li&gt;$I_v(\text{nat}) = \mathbb{N}, I_v(0) = 0, I_v(S) = S$.&lt;/li&gt;&#xA;&lt;li&gt;$I_v(f_e) = \Phi_e$, i.e., the function $\mathbb{N} \to \mathbb{N}$ defined by the $e$th Turing program.&lt;/li&gt;&#xA;&lt;li&gt;$I_v(AB) = I_v(A)(I_v(B))$, if $I_v(A)$ is a function with $I_v(B)$ in its domain, or $I_v(AB) = 0$ otherwise (just an arbitrary choice).&lt;/li&gt;&#xA;&lt;li&gt;$I_v(\lambda x : A. B)$ is the function which maps an element $a \in I_v(A)$ to $I_{v[x:=a]}(B)$.&lt;/li&gt;&#xA;&lt;li&gt;$I_v(\Pi x : A. B) = \prod_{a \in I_v(A)} I_{v[x:=a]}(B)$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;We have that for all terms $A$, $I_v(A) \in U_3$. Now we say that an interpretation $v$ satisfies $A : B$, written $v \models A : B$, if $I_v(A) \in I_v(B)$. We say that $\Gamma \models A : B$ if for all interpretations $v$, if $v \models x : C$ for all $(x : C) \in \Gamma$, then $v \models A : B$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is straightforward to check that if $\Gamma \vdash A : B$, then $\Gamma \models A : B$, so this is a model of the system. But, for any variables $x,y$, it is not the case that $y : \ast \models x : y$, because we can interpret $y$ by $\emptyset$, so the system is consistent.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, this is an answer to my original question, in the sense that this is something that it's reasonable to call a typed lambda calulus, which is consistent and Turing complete. However, it's not an answer to @cody's question, because this is not an LPTS, because of the addition of extra axioms and $\beta$-reduction rules. I imagine that the answer to @cody's question is much harder.&lt;/p&gt;&#xA;" OwnerUserId="32888" LastEditorUserId="32888" LastEditDate="2015-05-02T17:02:35.447" LastActivityDate="2015-05-02T17:02:35.447" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="31351" PostTypeId="1" AcceptedAnswerId="31357" CreationDate="2015-05-02T19:42:29.147" Score="1" ViewCount="376" Body="&lt;p&gt;Few definitions first. The co-NP problem is a decision problem where the answer &quot;NO&quot; can be verified in polynomial time. The perfect matching in a bipartite graph is a set of pairs of nodes (a pair is an edge in the graph) and where every node occurs in this set exactly once.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am given an n x n bipartite graph, and I am trying to find out if the problem of finding whether k different perfect matchings exist in the graph, where k= polynomial(n), is a co-NP problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Work done so far&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To initially simplify the problem, I believe that if k=2, then this is a co-NP problem. I think this is true, because the bipartite graph does not have 2 different perfect matchings, if there does not exist an exchange of neighbors between 2 nodes. I define the exchange of neighbors as the following. Let G1 be the first set in the graph, and G2 be the second set in the graph. The exchange occurs when we have a subset of G1, S1={A,B}, and a second subset of G2, S2={X,Y}, where {(A,X),(A,Y),(B,X),(B,Y)} belongs to the set of edges E. I call it exchange because if A was initially matched with X, and B with Y, then when A gets paired with Y, and B with X, A and B have exchanged their neighbors. I believe that the only way to have 2 different perfect matchings is to have at least one such exchange.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, we can verify that no such exchange exist, in polynomial time. This is true since getting all the possible subsets S1 and S2 has O(n^4) time complexity. This because we need (n choose 2) from G1 multiplied by (n choose 2) from G2, and this gives us an upper bound of n^4.&lt;/p&gt;&#xA;" OwnerUserId="33957" LastEditorUserId="33957" LastEditDate="2015-05-02T21:13:40.360" LastActivityDate="2015-05-03T14:59:22.960" Title="Is finding whether k different perfect matchings exist in a bipartite graph co-NP?" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;np&gt;&lt;matching&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="31352" PostTypeId="2" ParentId="31346" CreationDate="2015-05-02T20:03:59.387" Score="9" Body="&lt;p&gt;Yes: Graph theory, computational geometry, complexity theory, combinatorics are the things I research on in CS. Vector spaces and measure theory could be useful in theoretical machine learning too. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is a lot more pure maths employed in theoretical CS, but they don't hit the news as often like AI and machine learning, which is why you don't hear about them much.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I personally switched over to CS from physics and pure math (yes, like abstract algebra kind of math), and never cease to find interesting problems.&lt;/p&gt;&#xA;" OwnerUserId="33958" LastActivityDate="2015-05-02T20:03:59.387" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31355" PostTypeId="2" ParentId="31342" CreationDate="2015-05-03T10:50:54.840" Score="5" Body="&lt;p&gt;A better way to define these exponents is if you ask about the running time in the form $c^n\cdot poly(|F|)$, where $poly(|F|)$ is an arbitrary polynomial of the input size. Then artifacts like the $3^v$ size disappear.&lt;/p&gt;&#xA;" OwnerUserId="19643" LastActivityDate="2015-05-03T10:50:54.840" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="31356" PostTypeId="1" CreationDate="2015-04-22T14:03:06.967" Score="5" ViewCount="159" Body="&lt;p&gt;$\newcommand{\ket}[1]{\lvert #1 \rangle}$I've met a problem in quantum secret sharing which involves the use of a quantum error-correction code. (let's make it simple to be the 9-qubit Shor code)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the Shor code, Alice encodes $\ket{0}$ as $(\ket{000}+\ket{111})^3$, and $\ket{1}$ as $(\ket{000}-\ket{111})^3$, so the code can fight against 1-qubit flip or phase error, and recover the original qubit.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, what I'm wondering is:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;What becomes of the 9 qubits after measurement? Do they become the original 1 logical qubit? Or do they stay as 9 entangled qubits?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;What would happen if Bob, the one who decodes the code, actually has a slightly different orthogonal basis than the original one due to imperfect knowledge or experimental error, e.g. Bob is measuring with $\ket{0'}=\cos(x)\ket{0}+\sin(x)\ket{1}$ and $\ket{1'}=-\sin(x)\ket{0}+\cos(x)\ket{1}$ but $x$ is small? (Or, let's say he is really unlucky and mistook Alice's $\ket{0}$ and $\ket{1}$ basis entirely, so he uses $\ket{+}$ and $\ket{-}$ basis, then Bell basis for him would become $\ket{+++} + \ket{---}$&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;When $x$ is small, would he still be able to decode out the original qubit using the &quot;wrong&quot; Bell basis? And would there be some way to calculate the error probability?&lt;/p&gt;&#xA;" OwnerUserId="33986" OwnerDisplayName="Mike Wong" LastActivityDate="2015-05-27T16:33:28.897" Title="Shor's quantum error correction code with unknown basis" Tags="&lt;quantum-information&gt;" AnswerCount="1" CommentCount="15" ContentLicense="CC BY-SA 3.0" />
  <row Id="31357" PostTypeId="2" ParentId="31351" CreationDate="2015-05-03T14:59:22.960" Score="5" Body="&lt;p&gt;Yes, cause the problem lies in P. Look at paper &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.53.469&amp;amp;rank=2&quot; rel=&quot;noreferrer&quot;&gt;Fukuda, Matsui ''Finding All The Perfect Matchings in Bipartite Graphs''&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="19579" LastActivityDate="2015-05-03T14:59:22.960" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="31358" PostTypeId="2" ParentId="5004" CreationDate="2015-05-03T16:43:39.670" Score="13" Body="&lt;p&gt;On the positive side, it is decidable whether a one-tape Turing machine runs in time $n \mapsto C \cdot n + D$ for given $C, D \in \mathbb{N}$, see:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;David Gajser: &lt;em&gt;Verifying whether One-Tape Non-Deterministic Turing Machines Run in Time $Cn+D$&lt;/em&gt;, &lt;a href=&quot;http://arxiv.org/abs/1312.0496&quot;&gt;arXiv:1312.0496&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="705" LastActivityDate="2015-05-03T16:43:39.670" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31360" PostTypeId="1" CreationDate="2015-05-03T23:39:28.113" Score="5" ViewCount="186" Body="&lt;p&gt;The definition of Book Embedding on Wikipedia: &quot;A book embedding is a generalization of planar embedding of a graph to embeddings into a book, a collection of half-planes all having the same line as their boundary. &lt;strong&gt;The vertices of the graph are required to lie on this boundary line&lt;/strong&gt;, and the edges are required to stay within a single half-plane&quot;. Full definition is at (&lt;a href=&quot;http://en.wikipedia.org/wiki/Book_embedding&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/Book_embedding&lt;/a&gt;)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Planar embeddings have geometric duals, that has numerous algorithmic application. One of the very nice property of duality of planar graphs is that if $T$ is a spanning tree of a planar grpah $G$, then the set of edges not in $T$ in the dual is a spanning tree of the dual $G^*$. Is there any kind of similar geometric dual for book embeddings? Is there a similar property between the spanning tree of primal and dual graphs as in the planar case?  &lt;/p&gt;&#xA;" OwnerUserId="21297" LastEditorUserId="21297" LastEditDate="2015-05-04T18:24:13.117" LastActivityDate="2015-05-05T16:27:29.160" Title="Book Embedding Duality of Graphs" Tags="&lt;co.combinatorics&gt;&lt;planar-graphs&gt;&lt;embeddings&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31361" PostTypeId="1" CreationDate="2015-05-04T01:33:02.937" Score="4" ViewCount="261" Body="&lt;p&gt;First of all, I want to make clear that my question is about &lt;strong&gt;algorithms&lt;/strong&gt;. I'd like to know if there are &lt;strong&gt;any&lt;/strong&gt; algorithms with &lt;strong&gt;provable guarantees&lt;/strong&gt; in the context of manifold learning (or manifold regularization). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I do &lt;strong&gt;not necessarily&lt;/strong&gt; require that guarantees are with respect to &lt;strong&gt;generalization&lt;/strong&gt;. However, those are always nice though but I just want to emphasize that the main focus of the question is about &lt;strong&gt;algorithms&lt;/strong&gt; (with guarantees), not necessarily about generalization.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What I do want is that given a finite sample of data (maybe mixed with labeled and unlabeled data) if we can provably learn. For example, are there algorithms that guarantee that we learn the manifold or its structure? Or maybe, are there algorithms that theoretically guarantee better prediction with the manifold assumption? Any algorithm with provable guarantees is good.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;To be clear of what I mean with provable guarantees I will give a couple of examples of scenarios/problems (and algorithms) where there are provable guarantees for (learning) algorithms.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider the non-negative matrix factorization problem where we have:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$M =  AW$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;s.t. A and W are $m \times k$ and $k \times n$ and are required to be entry-wise nonnegative. In fact, lets suppose that the columns of M each sum to one. One can interpret this problem as follows. Each column is a document from our model. Its generated as a convex combination from topics (i.e. the columns of A). The combination is specified by the columns of W. Can we recover the best non-negative factorization of the model? It turns out that Vavasis proved its NP-hard &lt;a href=&quot;http://people.csail.mit.edu/moitra/docs/bookex.pdf&quot; rel=&quot;nofollow&quot;&gt;1&lt;/a&gt;. However, under the separability condition on the topics, one can show that there exists a &lt;strong&gt;polynomial time algorithm to compute such a non-negative factorization&lt;/strong&gt; (of minimum inner-dimension). So this scenario has two things that are interesting:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;We can learn the true model (the negative factorization) from the (samples) documents (with some probability conditions)&lt;/li&gt;&#xA;&lt;li&gt;There a polynomial time algorithm for it.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;The algorithm for this is based on finding the &quot;Anchor words&quot; (i.e. the highly technical words for each document) and then taking advantage of that to find the factorization. The some of the details for this can be found on &lt;a href=&quot;http://people.csail.mit.edu/moitra/docs/bookex.pdf&quot; rel=&quot;nofollow&quot;&gt;this monograph on algorithmic aspects of machine learning&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is exactly the type of thing I am interested in, on learning &lt;strong&gt;algorithms&lt;/strong&gt; with some &lt;strong&gt;provable guarantees&lt;/strong&gt; under some conditions. For more example, the following &lt;a href=&quot;http://people.csail.mit.edu/moitra/docs/bookex.pdf&quot; rel=&quot;nofollow&quot;&gt;monograph&lt;/a&gt; has many that are appropriate examples. To name the monograph explains tensor methods, ICA, alternating minimization, mixtures of gaussians, matrix completion, phylogenetic trees, noisy parity and more!&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;References:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://people.csail.mit.edu/moitra/docs/bookex.pdf&quot; rel=&quot;nofollow&quot;&gt;1&lt;/a&gt; S. Vavasis. On the complexity of nonnegative matrix factorization. SIAM&#xA;Journal on Optimization, pages 1364-1377, 2009.&lt;/p&gt;&#xA;" OwnerUserId="20909" LastEditorUserId="20909" LastEditDate="2015-08-03T15:42:12.127" LastActivityDate="2015-08-03T15:42:12.127" Title="Are there any learning algorithms with any provable guarantees for manifold learning or manifold regularization?" Tags="&lt;ds.algorithms&gt;&lt;approximation-algorithms&gt;&lt;machine-learning&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="31362" PostTypeId="1" CreationDate="2015-05-04T04:50:10.003" Score="11" ViewCount="328" Body="&lt;p&gt;The following problem is a special case of k-medians.  Is it NP-hard?  Is it in P?&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Input&lt;/strong&gt;: &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt; points &lt;span class=&quot;math-container&quot;&gt;$(x_1,y_1), (x_2,y_2), \ldots, (x_n, y_n)$&lt;/span&gt; with each &lt;span class=&quot;math-container&quot;&gt;$y_i \ge 0$&lt;/span&gt;, and an integer &lt;span class=&quot;math-container&quot;&gt;$k$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Output&lt;/strong&gt;: a set &lt;span class=&quot;math-container&quot;&gt;$S$&lt;/span&gt; containing &lt;span class=&quot;math-container&quot;&gt;$k$&lt;/span&gt; of the given points, of minimum &lt;em&gt;cost&lt;/em&gt;, defined as &lt;span class=&quot;math-container&quot;&gt;$\sum_i d((x_i,y_i), S)$&lt;/span&gt;, where&#xA;&lt;span class=&quot;math-container&quot;&gt;$$ d((x_i, y_i), S) = \min\big(y_i, ~\min\{ y_i - y_j : j \in S \,\wedge\, y_j \le y_i \,\wedge\,|x_i - x_j| \le 1 \}\big).$$&lt;/span&gt;&lt;/p&gt;&#xA;&lt;p&gt;I think of this as each point &amp;quot;falling&amp;quot; vertically just until it either (a) reaches the x-axis, or (b) is aligned horizontally with, and at distance at most 1 from, one of the &lt;span class=&quot;math-container&quot;&gt;$k$&lt;/span&gt; chosen points.  The goal is to choose the &lt;span class=&quot;math-container&quot;&gt;$k$&lt;/span&gt; points to minimize the total distance fallen by the remaining points, as shown below.  (The input is on the left, a solution with &lt;span class=&quot;math-container&quot;&gt;$k=3$&lt;/span&gt; is on the right.  The cost of the solution is the total length of the dashed vertical lines.)&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$~~~~~~~~~$&lt;/span&gt;&lt;img src=&quot;https://i.stack.imgur.com/EMYbt.png&quot; alt=&quot;enter image description here&quot; /&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$~~~~~~~~~~~~~~~~~~~~~~$&lt;/span&gt; input  &lt;span class=&quot;math-container&quot;&gt;$~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~$&lt;/span&gt; solution with &lt;span class=&quot;math-container&quot;&gt;$k=3$&lt;/span&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="8237" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2015-05-06T18:55:17.177" Title="a geometric variant of k-medians. NP-hard or in P?" Tags="&lt;np-hardness&gt;&lt;set-cover&gt;&lt;polynomial-time&gt;&lt;dynamic-programming&gt;" AnswerCount="0" CommentCount="2" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="31363" PostTypeId="2" ParentId="31346" CreationDate="2015-05-04T04:55:38.950" Score="12" Body="&lt;p&gt;Here are three more fields that fit your criteria.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Category theory&lt;/strong&gt;. This is clearly interesting to most pure maths&#xA;fields, but also has been very influential in the theory of&#xA;(functional, sequential) programming languages.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Logic&lt;/strong&gt;, particularly proof theory. The connections with computer&#xA;science are too many to name, but logic is not only a rich field of&#xA;pure mathematical, but the foundation of mathematics.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Number theory&lt;/strong&gt;, the &quot;queen of mathematics&quot;, which was deemed to&#xA;be devoid of applications ... until cryptography came along.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="898" LastActivityDate="2015-05-04T04:55:38.950" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="31364" PostTypeId="2" ParentId="31255" CreationDate="2015-05-04T09:35:09.383" Score="0" Body="&lt;p&gt;Just to make the discussion more complete, I'd like to add another approach to solve this problem. Please do not hesitate to give your comments/corrections!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I've just found in the literature some &lt;em&gt;standard&lt;/em&gt; ways to solve &lt;strong&gt;Non-homogeneous Recurrence&lt;/strong&gt;, which is exactly our case if we don't consider the parameter $k$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In general, for recurrence like&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;a_n=b_1a_{n-1}+b_2a_{n-2}+...+b_ka_{n-k}+f(n)&#xA;$$&#xA;where $f(n)$ is a function on $n$, here are the steps to follow:&lt;/p&gt;&#xA;&#xA;&lt;h3&gt;1. Solve the &lt;em&gt;Associated Homogeneous Recurrence&lt;/em&gt; (which can be gotten by replace $f(n)$ with 0) in general form&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;Let the result be $a_n=Ad^n$&lt;/p&gt;&#xA;&#xA;&lt;h3&gt;2. Find a particular solution of the non-homogeneous recurrence&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;We can guess the form of solution according to the form of $f(n)$, e.x. if $f(x)=c^n$, then we know the form of the particular solution is $a^*_n=Bc^n$. Then we plug it into the original recurrence to get the value of $B$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More general forms for common $f(x)$ (extracted from the book referenced at last):&#xA;&lt;img src=&quot;https://i.stack.imgur.com/P7Tgd.png&quot; alt=&quot;Particular solutions for common $f(x)$&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;h3&gt;3. Just add up the two solutions&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;$a_n=Ad^n+Bc^n$&lt;/p&gt;&#xA;&#xA;&lt;h3&gt;4. Finally, use initial values to determine A.&lt;/h3&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;h3&gt;Application to our problem&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;Now let's try to apply this to solve our problem. Note $\alpha$ the exponential base that we are searching for, i.e. $T(n)=O^*(\alpha^n)$, by $*$ we suppress polynomial multiplicative terms.&#xA;Now by taking $k=\beta n$, we rewrite our recurrence as:&#xA;$$&#xA;T(n)=3T(n-1)-T(n-2)+     (\alpha^{1-\beta})^n+ (3^\beta)^n&#xA;$$&#xA;which is just a &lt;em&gt;Non-homogeneous recurrence&lt;/em&gt; as above. Now we can solve the homogeneous part to get its complexity, which is $O^*( (\phi^2)^n)$, where $\phi= \frac{1+\sqrt{5}}{2}$ is the golden ratio.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since we only want an asymptotic complexity, the steps followed are much simplified:&#xA;we know directly that&#xA;$$ \alpha=max(\phi^2, \alpha^{1-\beta}, 3^\beta)$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Therefore $\alpha\geq \phi^2$, so we only need to let $$\alpha^{1-\beta}= 3^\beta$$ and set $\alpha= \phi^2$ to get $\beta$, which is $0.467$, same as the accepted answer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I hope that the idea is clear, please help me to make it more formal. I refer readers to the book &lt;a href=&quot;http://www.amazon.fr/Applied-Combinatorics-Alan-Tucker/dp/0470458380&quot; rel=&quot;nofollow noreferrer&quot;&gt;Applied-Combinatorics-Alan-Tucker&lt;/a&gt;.More references can be found by searching &quot;solve linear non-homogeneous recurrence&quot;.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;UPDATE 1:&#xA;In fact since $\alpha^{1-\beta}&amp;lt;\alpha$, so we only need to assure $3^\beta \leq \phi^2$, which gives $$\beta \leq 0.876$$. However I still prefer to take $\beta=0.467$ since in this way the order of terms that we suppress is smallest...&lt;/p&gt;&#xA;" OwnerUserId="32709" LastEditorUserId="32709" LastEditDate="2015-05-04T09:43:45.147" LastActivityDate="2015-05-04T09:43:45.147" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31366" PostTypeId="2" ParentId="31360" CreationDate="2015-05-04T12:03:42.953" Score="2" Body="&lt;p&gt;I don't think we can get any property close to dual's properties in planar graphs, e.g Babai show that every graph can be embedded in a book with three pages (see &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.28.1728&quot; rel=&quot;nofollow&quot;&gt;Archdeacon's survey&lt;/a&gt; Theorem 5.1), so if $p$ is a duality property for books with three pages then $p$ holds for general graphs.&lt;/p&gt;&#xA;" OwnerUserId="1846" LastActivityDate="2015-05-04T12:03:42.953" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="31368" PostTypeId="1" CreationDate="2015-05-04T17:15:58.517" Score="6" ViewCount="276" Body="&lt;p&gt;Consider the problem  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\max_x \;||x||_2\\ x\in P\subseteq \mathbb{R}_{\geq 0}^n$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where $||\cdot||$ is Euclidean 2-norm and $P$ is a polytope in positive orthant of $\mathbb{R}^n$. Is this problem computationally hard?&lt;/p&gt;&#xA;" OwnerUserId="10119" LastActivityDate="2015-05-07T03:39:17.853" Title="Complexity of max problem" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;convex-optimization&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="31371" PostTypeId="2" ParentId="31368" CreationDate="2015-05-04T21:09:19.873" Score="13" Body="&lt;p&gt;It depends how the polytope is represented. In the V-polytope presentation (i.e. $P$ is given in terms of its vertices), the problem is trivial, as Tim mentioned in the comments. In the H-polytope presentation (i.e. $P$ is given as an intersection of halfspaces defined by inequalities), &lt;a href=&quot;http://rd.springer.com/article/10.1007/s00454-002-2756-x#&quot;&gt;Brieden  proved&lt;/a&gt; that a constant factor approximation is impossible unless P=NP. You can check that his proof indeed uses a polytope contained in the positive orthant.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As far as approximation algorithms, I believe the &lt;a href=&quot;http://dx.doi.org/10.1112/S0025579300014364&quot;&gt;best known result&lt;/a&gt; is a factor $O(\sqrt{n/\log n})$ approximation ($n$ is dimension). The algorithm only needs a separation oracle, and this is the best possible approximation achievable in the oracle model, even by randomized algorithms. The same factor is &lt;a href=&quot;https://web.math.princeton.edu/~naor/homepage%20files/subu.pdf&quot;&gt;achievable&lt;/a&gt; if the $\ell_2$ norm is replaced by an $\ell_p$ norm for $1\leq p \leq 2$. A better approximation may be possible for H-polytopes, but I am not aware of any such result.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT&lt;/strong&gt;: Actually I am now realizing that for the very similar problem of approximating the radius of a centrally symmetric H-polytope with $m$ facets, there is a simple SDP rounding that gives $O(\sqrt{\log m})$ approximation. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let's say the problem is given as $\max\{\|x\|_2: -b \leq Ax \leq b\}$, where $A$ is an $m\times n$ matrix and $b \geq 0$ is an $m$-dimensional vector. The following vector program, which can be turned into an SDP in the usual way, is a relaxation:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;\begin{align}&#xA;&amp;amp;\max \sqrt{\sum_{j = 1}^n \|v_j\|_2^2} \text{ s.t.}\\&#xA;&amp;amp;\left\|\sum a_{ij} v_j\right\|_2 \leq b_i \ \ \ \ \ \forall 1 \leq i \leq m&#xA;\end{align}&#xA;$$&#xA;where $v_1, \ldots, v_n$ range over $n$-dimensional vectors. A Gaussian projection now gives an approximation. Let $g$ be a standard $n$-dimensional Gaussian, and define a random $x$ by $x_i = \frac{1}{C\sqrt{\log m}} g^Tv_i$ for a big constant $C$. Then $\mathbb{E}\|x\|_2 = \frac{SDP}{C\sqrt{\log m}}$, where $SDP$ is the value of the relaxation, and for $C$ sufficiently big,&#xA;$$&#xA;\mathbb{E} \max_{i = 1}^m \frac{|(Ax)_i|}{b_i} \leq 1.&#xA;$$&#xA;The last inequality comes from the fact that $(Ax)_i/b_i$ is a Guassian random variable with variance $(C^2\log m)^{-1}$, and the maximum of $m$ such random variables is no more than 1 in expectation by a standard concentration argument.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I very much doubt that I am the first one to think of this approximation: does anyone know of a reference?&lt;/p&gt;&#xA;" OwnerUserId="4896" LastEditorUserId="4896" LastEditDate="2015-05-07T03:39:17.853" LastActivityDate="2015-05-07T03:39:17.853" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="31373" PostTypeId="1" CreationDate="2015-05-05T04:28:02.367" Score="6" ViewCount="162" Body="&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Kolmogorov_complexity#Chaitin.27s_incompleteness_theorem&quot;&gt;Chaitin's incompleteness theorem&lt;/a&gt; says no sufficiently strong theory of arithmetic can prove $K(n) &amp;gt; L$ where $K(n)$ is the Kolmogorov complexity of the number $n$ and $L$ is a sufficiently large constant. The size of $L$ depends on the theory.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some people have suggested since the minimum value of $L$ depends on the theory, $T$, the minimum value of $L(T)$ can be used as a &lt;a href=&quot;https://golem.ph.utexas.edu/category/2011/09/the_inconsistency_of_arithmeti.html#c039544&quot;&gt;measure of the complexity&lt;/a&gt; of theory $T$. Other people have argued this is a &lt;a href=&quot;http://www.jstor.org/discover/10.2307/30226659?uid=3739960&amp;amp;uid=2&amp;amp;uid=4&amp;amp;uid=3739256&amp;amp;sid=21106705767443&quot;&gt;very bad idea&lt;/a&gt;. &lt;a href=&quot;https://johncarlosbaez.wordpress.com/2011/10/06/chaitins-theorem-and-the-surprise-examination-paradox/#comment-8118&quot;&gt;At least one person has speculated&lt;/a&gt; the complexity of Peano arithmetic is less than $10^9$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assume we define $K(x)$ using n-state, 2-symbol &lt;a href=&quot;http://en.wikipedia.org/wiki/Busy_beaver#.CE.A3.2C_complexity_and_unprovability&quot;&gt;busy beavers&lt;/a&gt;(BB). $K(x)=n$ where $n$ is the number of states of the smallest BB that writes exactly $x$ 1's and halts. We don't really need a strong theory to write a computer program so assume our theory, $T$, is &lt;a href=&quot;http://en.wikipedia.org/wiki/Primitive_recursive_arithmetic&quot;&gt;primitive recursive arithmetic&lt;/a&gt;. One way to define $L(PRA)$ is to define it as the size of a computer program that can determine the truth of any statement of the form $K(n) &amp;gt; m$ for any positive integers $n,m$. Assume the programming language is &lt;a href=&quot;http://en.wikipedia.org/wiki/X86_instruction_listings&quot;&gt;x86 assembly&lt;/a&gt;. The size of the program is the size in bits of a compiled executable running on a 64-bit processor.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is a reasonable value for $L(PRA)$? Are there any papers with upper bounds on $L(T)$ for some $T$?&lt;/p&gt;&#xA;" OwnerUserId="4881" LastEditorUserId="4881" LastEditDate="2015-05-05T04:49:59.280" LastActivityDate="2015-05-05T04:49:59.280" Title="What is the Kolmogorov complexity of arithmetic?" Tags="&lt;lo.logic&gt;&lt;turing-machines&gt;&lt;kolmogorov-complexity&gt;" AnswerCount="0" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31374" PostTypeId="2" ParentId="10845" CreationDate="2015-05-05T05:56:12.123" Score="2" Body="&lt;p&gt;&lt;strong&gt;Lemma.&lt;/strong&gt; &lt;em&gt;The problem is NP-hard&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Proof.&lt;/em&gt; The proof is by reduction from Set Cover with sets of size at most 3 (which itself is NP-hard by an easy reduction from 3D-matching).  Given a collection of sets, each of size at most 3, and an integer $k$, the reduction outputs an instance of your problem where the set $S$ contains the edges of the following DAG: For each element $x$, create an &lt;em&gt;element-vertex&lt;/em&gt; $v(x)$.  For each set $s$, create a &lt;em&gt;set-vertex&lt;/em&gt; $v(s)$.  Create a &lt;em&gt;root&lt;/em&gt; vertex $r$.  Add edges from every vertex (except the root) to the root.  For each set $s$ and element $x\in s$, add edge $(v(x), v(s))$.  All edges have weight 1, and $M\ge 3$ is the number of sets minus $k$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To show that the reduction is correct, we show that there is a set cover of size $k$ if and only if there is a solution to your problem of cost $M+n$, where $n$ is the number of elements.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;(only if)&lt;/em&gt;. Assume there is a set cover of size $k$.  For the instance output by the reduction, consider a solution with the following edges.  From each element-vertex $v(x)$, take the edge to some $v(s)$ such that $x\in s$ and $s$ is in the set cover.  (Note that each $v(s)$ has at most $3\le M$ edges into it.) From each set-vertex $v(s)$ where $s$ is &lt;em&gt;not&lt;/em&gt; in the cover, take an edge from $v(s)$ to the root.  In this solution, the root has $M$ chosen edges into it, and each element-vertex has an edge leaving it, so the total number of edges in the solution is $M+n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;(if).&lt;/em&gt; Conversely, suppose the instance output by the reduction has a solution with $M+n$ edges.  Among these edges (by the ILP constraints), the root has at most $M$ (incoming) edges.  Likewise, the solution has at most one edge out of each of the $n$ element-vertices.  Since the solution has $M+n$ edges, and every edge either enters the root or leaves an element vertex, it follows that the solution has exactly $M$ edges entering the root, and exactly one edge leaving each element-vertex, and that no edge in the solution does both, that is, no edge goes from an element-vertex to the root.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It follows that the solution consists of exactly $M$ edges from set-vertices to the root, and exactly $n$ edges from element-vertices, which (by the ILP constraints) must go to the set-vertices that don't have edges to the root in the solution.  There are $k$ of those set-vertices.  Hence, there is a set cover of size $k$. $~~\Box$&lt;/p&gt;&#xA;" OwnerUserId="8237" LastEditorUserId="8237" LastEditDate="2018-08-27T13:34:25.493" LastActivityDate="2018-08-27T13:34:25.493" CommentCount="2" ContentLicense="CC BY-SA 4.0" />
  <row Id="31376" PostTypeId="2" ParentId="31346" CreationDate="2015-05-05T12:49:44.913" Score="4" Body="&lt;p&gt;Not totally a theoretical CS topic but uses many results from theoretical CS : you may be interested in &lt;strong&gt;software verification&lt;/strong&gt; which goal is to ensure that a program do what it's supposed to do, and nothing else. Among the different techniques in that topic, some are particularly math-oriented. Many critical systems, in avionics/spatial/nuclear notably, have been proved that way to ensure they are bug free.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Many mathematical fields are involved : logic, proof theory, automata theory, set theory, ...&lt;/p&gt;&#xA;" OwnerDisplayName="user33984" LastEditorDisplayName="user33984" LastEditDate="2015-05-05T12:57:08.163" LastActivityDate="2015-05-05T12:57:08.163" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31377" PostTypeId="1" CreationDate="2015-05-05T13:16:12.710" Score="2" ViewCount="97" Body="&lt;p&gt;Let $(P,\le)$ be a partially ordered set and $\preceq$ the Hoare pre-order on its subsets, i.e. for $X,Y\subseteq P$, $X\preceq Y$ iff $\forall x\in X:\exists y\in Y:x\le y$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $\sim$ be the equivalence on the power set $2^P$ generated by $\preceq$, i.e. $X\sim Y$ iff $X\preceq Y$ and $Y\preceq X$.  Let $M=2^P/\mathord\sim$ be the quotient, then $\preceq$ passes to a partial order, also denoted $\preceq$, on $M$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is $(M,\preceq)$ a complete lattice?&lt;/p&gt;&#xA;" OwnerUserId="16382" LastActivityDate="2015-05-05T13:16:12.710" Title="Completeness of the quotient of the power set lattice of a partial order induced by the Hoare pre-order" Tags="&lt;partial-order&gt;&lt;order-theory&gt;&lt;lattice&gt;" AnswerCount="0" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="31378" PostTypeId="1" AcceptedAnswerId="31379" CreationDate="2015-05-05T13:33:53.443" Score="1" ViewCount="154" Body="&lt;p&gt;I recently created a parallel implementation of the Merge Sort, in which the sorting of several groups was accomplished by different processes, and was wondering if this was theoretically possible on Turing Machine?&lt;/p&gt;&#xA;" OwnerUserId="33985" LastActivityDate="2015-05-05T14:53:06.427" Title="Is multiprocessing possible on a Turing Machine?" Tags="&lt;turing-machines&gt;&lt;dc.parallel-comp&gt;" AnswerCount="1" CommentCount="3" ClosedDate="2015-05-05T19:59:37.887" ContentLicense="CC BY-SA 3.0" />
  <row Id="31379" PostTypeId="2" ParentId="31378" CreationDate="2015-05-05T14:53:06.427" Score="3" Body="&lt;p&gt;This is a subtle question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;TMs are very much a sequential model of computation. So in some sense, TMs cannot (directly) model multiprocessing. However, TMs can do step-by-step simulations of the reductions a multiprocessor is carrying out. So TMs can do a sequential simulation of a parallel computation. Whether this a genuine model of parallel computation is debatable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See also the discussion &lt;a href=&quot;https://cstheory.stackexchange.com/questions/12377/applicability-of-church-turing-thesis-to-interactive-models-of-computation&quot;&gt;Applicability of Church-Turing thesis to interactive models of computation&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="898" LastActivityDate="2015-05-05T14:53:06.427" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31381" PostTypeId="1" AcceptedAnswerId="31392" CreationDate="2015-05-05T15:32:38.143" Score="9" ViewCount="383" Body="&lt;p&gt;Let $G$ be a graph which is the disjoint union of a clique and an independent set, i.e.&#xA;$$G = K_{n_1} + \overline{K_{n_2}} = K_{n_1} + I_{n_2} .$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The graph class of all such graphs is characterized by the forbidden induced subgraphs set $\mathcal{H} = \{2K_2, P_3\}$ and is thus the intersection of a cluster graph and a split (or threshold) graph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does this (very simple) graph class have a name?  I was unable to find the graph class on&amp;nbsp;&lt;a href=&quot;http://www.graphclasses.org/&quot; rel=&quot;nofollow noreferrer&quot;&gt;ISGCI&lt;/a&gt;, and the papers I know on the topic (e.g. &lt;a href=&quot;http://jgaa.info/getPaper?id=337&quot; rel=&quot;nofollow noreferrer&quot;&gt;Editing Simple Graphs&lt;/a&gt; and &lt;a href=&quot;http://link.springer.com/chapter/10.1007/978-3-662-44465-8_40&quot; rel=&quot;nofollow noreferrer&quot;&gt;On the clique editing problem&lt;/a&gt;) do not refer to the class by a name.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is a figure of such a graph:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/DviE9.png&quot; alt=&quot;cluster-split graph&quot;&gt;&lt;/p&gt;&#xA;" OwnerUserId="10889" LastEditorUserId="10889" LastEditDate="2015-05-05T17:00:05.393" LastActivityDate="2015-05-11T09:55:30.780" Title="Name the graph class: Disjoint union of a clique and an independent set" Tags="&lt;reference-request&gt;&lt;graph-theory&gt;&lt;graph-classes&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31382" PostTypeId="2" ParentId="31360" CreationDate="2015-05-05T16:27:29.160" Score="3" Body="&lt;p&gt;To keep things a little cleaner let's assume that the graph has a Hamiltonian cycle that's embedded along the spine so that each cell of the embedding lives within a single page. Also those spine edges are places where multiple cells meet so let's make them vertices as well.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then, within each page of the book, the dual graph is a forest, with all vertices that are not adjacent to a leaf having degree three or more, and having the spine edge vertices as its leaves. So a book embedding with $p$ pages has a dual graph consisting of $p$ plane forests, sharing a common set of leaves in the same cyclic ordering as each other.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Whether this structure is useful for anything is a different question, of course.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As for your question about generalizations of planar graph decompositions into primal and dual spanning trees: I doubt something like that happens in book embeddings, but it can be generalized to embeddings of graphs onto non-planar manifolds. See my paper &quot;&lt;a href=&quot;http://arxiv.org/abs/cs.DS/0207082&quot; rel=&quot;nofollow&quot;&gt;Dynamic generators of topologically embedded graphs&lt;/a&gt;&quot; (SODA'03).&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2015-05-05T16:27:29.160" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31383" PostTypeId="1" CreationDate="2015-05-05T17:20:24.927" Score="2" ViewCount="98" Body="&lt;p&gt;I was interested in the connection between (statistical) learning guarantees (or any statistical properties) and their relation to run time. For example, I was wondering, in what cases does having more data actually help the algorithms run faster? Or maybe not run faster but yield better results.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let me give you two papers with such examples:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://icml2008.cs.helsinki.fi/papers/266.pdf&quot; rel=&quot;nofollow&quot;&gt;“SVM Optimization: Inverse Dependence on Training Set Size”, Shalev-Shwartz,&#xA;Srebro.&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;This first example discusses how the runtime of SVM optimization should decrease as the training data increases in a theoretical (and empirical) framework.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A second example:&lt;/p&gt;&#xA;&#xA;&lt;ol start=&quot;2&quot;&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://papers.nips.cc/paper/4905-more-data-speeds-up-training-time-in-learning-halfspaces-over-sparse-vectors.pdf&quot; rel=&quot;nofollow&quot;&gt;“More Data Speeds up Training Time in Learning Halfspaces over Sparse Vectors”,&#xA;Daniely, Linial, Shalev-Shwartz.&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;On how we get computational speed ups as data increases when learning halfspaces over sparse vectors.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I was wondering if there were other interesting papers on the same or similar spirit as the two above.&lt;/p&gt;&#xA;" OwnerUserId="20909" LastEditorUserId="20909" LastEditDate="2015-05-06T20:16:08.300" LastActivityDate="2015-05-06T20:16:08.300" Title="List of papers on Runtime and Statistical Tradeoffs on Machine Learning" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;machine-learning&gt;&lt;big-list&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="31384" PostTypeId="2" ParentId="31346" CreationDate="2015-05-05T18:47:00.267" Score="7" Body="&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Geometric_complexity_theory&quot;&gt;Geometric complexity theory&lt;/a&gt; is extremely &quot;mathematical&quot; and many of its leading investigators are more mathematicians. see eg &lt;a href=&quot;http://arxiv.org/abs/1305.7387&quot;&gt;Geometric Complexity Theory: an introduction for&#xA;geometers&lt;/a&gt; / Landsberg&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Group_theory&quot;&gt;Group theory&lt;/a&gt; is being connected to TCS in many deep ways eg in the study of the word problem, isomorphisms, and undecidability. see eg &lt;a href=&quot;http://www.ams.org/journals/bull/1982-06-01/S0273-0979-1982-14963-1/S0273-0979-1982-14963-1.pdf&quot;&gt;THE WORD PROBLEM AND&#xA;THE ISOMORPHISM PROBLEM FOR GROUPS&lt;/a&gt; / Stillwell&lt;/li&gt;&#xA;&lt;li&gt;some &lt;a href=&quot;http://en.wikipedia.org/wiki/Automata_theory&quot;&gt;automata theory&lt;/a&gt; is very mathematical eg the connection of semigroups to finite state transducers etc. see eg &lt;a href=&quot;http://www.liafa.jussieu.fr/~jep/PDF/MPRI/MPRI.pdf&quot;&gt;Mathematical Foundations&#xA;of Automata Theory&lt;/a&gt; / Pin &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2015-05-05T18:47:00.267" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="31385" PostTypeId="1" AcceptedAnswerId="31386" CreationDate="2015-05-05T22:16:08.317" Score="2" ViewCount="143" Body="&lt;p&gt;We define the &lt;a href=&quot;http://www.scholarpedia.org/article/Algorithmic_probability#Discrete_Universal_A_Priori_Probability&quot; rel=&quot;nofollow&quot;&gt;Solomonoff semi-measure&lt;/a&gt; $m$ on finite strings $x$ by&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$m(x) = \sum_{p: U(p) = x} 2^{-l(p)},$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where $U$ is a universal &lt;a href=&quot;http://www.scholarpedia.org/article/Algorithmic_complexity#Prefix_Turing_machine&quot; rel=&quot;nofollow&quot;&gt;prefix Turing machine&lt;/a&gt;, $U(p) = x$ means $U$ outputs $x$ on input $p$, and $l(p)$ is the length of $p$.&#xA;What is the Turing degree of (computing the first $n$ digits of) $m(x)$?&lt;/p&gt;&#xA;" OwnerUserId="7468" LastEditorUserId="7468" LastEditDate="2015-05-05T23:49:40.917" LastActivityDate="2015-05-06T03:55:54.453" Title="Turing degree of Solomonoff semi-measure" Tags="&lt;computability&gt;&lt;pr.probability&gt;&lt;universal-turing-machines&gt;" AnswerCount="1" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="31386" PostTypeId="2" ParentId="31385" CreationDate="2015-05-06T03:55:54.453" Score="3" Body="&lt;p&gt;Note that from $ m (0) $ you can compute a version of Chaitin's $\Omega $. Moreover $ m (x) $ is left-c.e. uniformly in $ x $. So $ m $ has Turing degree $0'$.&lt;/p&gt;&#xA;" OwnerUserId="1993" LastActivityDate="2015-05-06T03:55:54.453" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31389" PostTypeId="1" CreationDate="2015-05-06T05:33:30.503" Score="3" ViewCount="72" Body="&lt;p&gt;In an interactive proof, there are a number of resources that can be traded off against each other. For example, verifier time, verifier space (&lt;a href=&quot;https://cstheory.stackexchange.com/a/12385/80&quot;&gt;as per this question&lt;/a&gt;), amount of randomness used, number of bits of proof probed (for PCPs), the number of rounds, and so on. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there any survey of the known tradeoffs between the different resources used in an interactive proof ? &lt;/p&gt;&#xA;" OwnerUserId="80" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2015-05-06T05:33:30.503" Title="Resource tradeoffs in interactive proofs" Tags="&lt;cc.complexity-theory&gt;&lt;interactive-proofs&gt;" AnswerCount="0" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="31390" PostTypeId="2" ParentId="31346" CreationDate="2015-05-06T06:22:56.410" Score="7" Body="&lt;p&gt;Modern research in automata theory (in a broad sense) is an interesting case. It relies on a lot of mathematics, but not necessarily the kind of mathematics you would learn in standard courses in mathematics. A very loose explanation might be that in computer science, the fundamental object is the Boolean semiring $\mathbb{B}$, while in mathematics, finite fields, including $\mathbb{F}_2$, play a prominent role. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For instance, one makes use of &lt;a href=&quot;http://en.wikipedia.org/wiki/Semigroup&quot;&gt;semigroups&lt;/a&gt; (also groups also play an important role) and a lot of results on finite semigroups in the recent years were originally motivated by automata theory.&#xA;&lt;a href=&quot;http://en.wikipedia.org/wiki/Semiring&quot;&gt;Semirings&lt;/a&gt; are also used (rather than rings): for instance, the tropical semiring was first introduced in automata theory before being used in &lt;a href=&quot;http://en.wikipedia.org/wiki/Tropical_geometry&quot;&gt;tropical geometry&lt;/a&gt;, a successful new area in mathematics.&#xA;Other topics related to automata include logic and finite model theory (think of Rabin's tree theorem), topology, duality and (quasi)-uniform spaces and some number theory (notably for questions dealing with numeration systems and formal power series), probability theory (notably Markov chains) and game theory.&lt;/p&gt;&#xA;" OwnerUserId="17203" LastEditorUserId="898" LastEditDate="2015-05-06T07:03:07.340" LastActivityDate="2015-05-06T07:03:07.340" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31391" PostTypeId="2" ParentId="31383" CreationDate="2015-05-06T08:19:24.793" Score="1" Body="&lt;p&gt;We explored the Runtime-Accuracy tradeoff in the context of nearest neighbors in a 2010 COLT paper [journal version]:&#xA;&lt;a href=&quot;http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=6867374&quot; rel=&quot;nofollow&quot;&gt;http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=6867374&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Roughly speaking, your dataset has margin $\gamma$ if every pair of opposite-labaled points is at least $\gamma$ apart in distance. You can also &lt;b&gt;impose&lt;/b&gt; a desired margin by counting the violating pairs as sample error (this is analogous to the SVM setting where it may be advantageous to impose a margin that's bigger than the data margin, at the expense of some violations). Unlike SVM, the metric margin very much affects the algorithmic runtimes. We also have margin-based generalization bounds. Thus, one can answer questions such as: if my runtime is on a certain budget, what sort of accuracy can I expect?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We continued this line of research in last year's NIPS paper:&#xA;&lt;a href=&quot;http://papers.nips.cc/paper/5528-near-optimal-sample-compression-for-nearest-neighbors.pdf&quot; rel=&quot;nofollow&quot;&gt;http://papers.nips.cc/paper/5528-near-optimal-sample-compression-for-nearest-neighbors.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where we showed that the margin also allows for the sample to be compressed (in fact, nearly optimally).&lt;/p&gt;&#xA;" OwnerUserId="1746" LastActivityDate="2015-05-06T08:19:24.793" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31392" PostTypeId="2" ParentId="31381" CreationDate="2015-05-06T08:24:56.970" Score="7" Body="&lt;p&gt;The edge-complement of graphs in your class are complete split graphs: they can be partitioned into an independent set and a clique, such that every vertex in the independent set is adjacent to every vertex in the clique (see, for example, &lt;a href=&quot;http://www.mathcove.net/petersen/lessons/get-lesson?les=30&quot;&gt;http://www.mathcove.net/petersen/lessons/get-lesson?les=30&lt;/a&gt; ). Hence you could call your graph class co-complete split graphs.&lt;/p&gt;&#xA;" OwnerUserId="122" LastActivityDate="2015-05-06T08:24:56.970" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="31394" PostTypeId="2" ParentId="31346" CreationDate="2015-05-06T15:45:16.590" Score="7" Body="&lt;p&gt;To say a bit more about Geometric Complexity Theory (GCT): this is the application of algebraic geometry and representation theory towards a long-term program to resolve P versus NP. The questions raised in GCT tend to be deep mathematical questions, some of which go back over 100 years to the pioneers of algebraic geometry and representation theory -  seemingly having nothing to do with computation, but via GCT one sees that they are in fact intimately related with computational complexity - and others of which raise new questions and ideas in pure mathematics (again, algebraic geometry and representation theory).&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2015-05-06T15:45:16.590" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31395" PostTypeId="1" CreationDate="2015-05-06T17:12:03.627" Score="18" ViewCount="425" Body="&lt;p&gt;Courcelle's theorem states that  &quot;Every graph property which is expressible in monadic second order logic is decidable in linear time for bounded tree-width graphs&quot;. Later it was extended to bounded clique-width graphs &lt;a href=&quot;http://perso.ens-lyon.fr/eric.thierry/Graphes2007/cmr00.pdf&quot; rel=&quot;nofollow&quot;&gt;[CMR99]&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The theorem also holds with linear time replaced by logarithmic space &lt;a href=&quot;http://wwwmayr.informatik.tu-muenchen.de/konferenzen/Sommerakademie2010/talks/tantau_paper.pdf&quot; rel=&quot;nofollow&quot;&gt;[EJT10]&lt;/a&gt; for bounded tree-width graphs.&#xA;My question is: Does this theorem still hold for bounded clique-width graphs if we replace linear time with logarithmic space? Let me know of the recent progress in this direction.&lt;/p&gt;&#xA;" OwnerUserId="14028" LastEditorUserId="14028" LastEditDate="2016-10-08T07:25:59.187" LastActivityDate="2016-10-08T07:25:59.187" Title="Courcelle's theorem for bounded clique-width graphs" Tags="&lt;cc.complexity-theory&gt;&lt;lo.logic&gt;&lt;cliquewidth&gt;" AnswerCount="0" CommentCount="2" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="31397" PostTypeId="1" CreationDate="2015-05-06T18:53:16.623" Score="4" ViewCount="201" Body="&lt;p&gt;I am interested in the volume of the intersection of two Hamming balls of radius say m/6 in m-dimensional space, the distance between whose centers is about \sqrt{m}. I would ideally like this to be a constant or 1/poly(m) fraction of the volume of the Ball itself and wondering if this is true.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This should be an elementary question and I imagine the answer must be well-known, but I am not able to find this on the interweb. Thanks!&lt;/p&gt;&#xA;" OwnerUserId="34001" LastActivityDate="2015-05-06T18:53:16.623" Title="Intersection of Hamming Balls" Tags="&lt;convex-geometry&gt;" AnswerCount="0" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="31399" PostTypeId="1" CreationDate="2015-05-06T23:14:47.387" Score="4" ViewCount="317" Body="&lt;p&gt;I want to define a category in simple MLTT (not in HoTT). I defined it with the help of setoids. I.e. category consists of:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;a type of objects with equivalence relation (Obj : Set)&lt;/li&gt;&#xA;&lt;li&gt;a type of arrows between two objects with equivalence relation on it (Hom : Obj -&gt; Obj -&gt; Set)&lt;/li&gt;&#xA;&lt;li&gt;a set of category operations (i.e. id : (O : Obj) -&gt; Hom O O, and composition)&lt;/li&gt;&#xA;&lt;li&gt;a proof that these operations respect equivalence relations&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I defined simple notions of category theory with such a definitions, i.e. terminal objects, functors and I feel that everything looks fine. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, I feel that definitions like this isn't exactly what we want when we talk about a category. Consider objects A, B, A' and B'. Assume A is equivalent to A' and B is equivalent to B'. We assume that the structure of arrows between A and B is in some sense isomorphic to A' and B' but the foregoing definition doesn't say anything about this. As far as I understand, HoTT, would require these types of arrows to be &quot;equivalent&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What's wrong with this? What should be added? Is there any name for such a structure?&lt;/p&gt;&#xA;" OwnerUserId="21833" LastActivityDate="2015-05-06T23:14:47.387" Title="Category theory in plain MLTT" Tags="&lt;type-theory&gt;&lt;ct.category-theory&gt;&lt;homotopy-type-theory&gt;" AnswerCount="0" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="31400" PostTypeId="5" CreationDate="2015-05-07T02:16:02.853" Score="0" Body="" OwnerUserId="-1" LastEditorUserId="-1" LastEditDate="2015-05-07T02:16:02.853" LastActivityDate="2015-05-07T02:16:02.853" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31401" PostTypeId="4" CreationDate="2015-05-07T02:16:02.853" Score="0" Body="The pi-calculus is a formal model of concurrent computation that works by creating and exchanging names (connection points)." OwnerUserId="898" LastEditorUserId="898" LastEditDate="2015-05-08T05:36:26.740" LastActivityDate="2015-05-08T05:36:26.740" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31402" PostTypeId="2" ParentId="31145" CreationDate="2015-05-07T04:57:10.817" Score="8" Body="&lt;p&gt;The second smallest cut, and more generally the $k$ smallest cuts, can be found in time polynomial in $k$ and the network size. See:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;H. W. Hamacher. An $(K\cdot n^4)$ algorithm for finding the $k$ best cuts in a network. &lt;em&gt;Oper. Res. Lett.&lt;/em&gt; 1(5):186–189, 1982, &lt;a href=&quot;http://dx.doi.org/10.1016/0167-6377(82)90037-2&quot;&gt;doi:10.1016/0167-6377(82)90037-2&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;H. W. Hamacher, J.-C. Picard, and M. Queyranne. On finding the $K$ best cuts in a network. &lt;em&gt;Oper. Res. Lett.&lt;/em&gt; 2(6):303–305, 1984, &lt;a href=&quot;http://dx.doi.org/10.1016/0167-6377(84)90083-X&quot;&gt;doi:10.1016/0167-6377(84)90083-X&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;H. W. Hamacher and M. Queyranne. $K$ best solutions to combinatorial optimization problems. &lt;em&gt;Ann. Oper. Res.&lt;/em&gt; 4(1–4):123–143, 1985, &lt;a href=&quot;http://dx.doi.org/10.1007/BF02022039&quot;&gt;doi:10.1007/BF02022039&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2015-05-07T04:57:10.817" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="31411" PostTypeId="2" ParentId="17227" CreationDate="2015-05-07T20:15:21.007" Score="2" Body="&lt;p&gt;Use a segment tree — a recursive partition of the range $[1,n]$ into smaller ranges. Each interval $[a,b]$ of your update operations can be partitioned into $O(\log n)$ of the ranges in this recursive partition. For each range $[x,y]$ store:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The number $c(x,y)$ of intervals $[a,b]$ that have been increased and not decreased such that $[x,y]$ is one of the ranges into which $[a,b]$ is partitioned&lt;/li&gt;&#xA;&lt;li&gt;The number $u(x,y)$ of cells that are not covered by partitioned subsets of intervals that are at $[x,y]$ or lower in the recursion&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Then if $[x,y]$ is recursively split into $[x,z]$ and $[z+1,w]$ we have&#xA;$$u(x,y)=\begin{cases}&#xA;0&amp;amp;\text{if }c(x,y)&amp;gt;0\\&#xA;u(x,z)+u(z+1,y)&amp;amp;\text{otherwise}&#xA;\end{cases}$$&#xA;so we can update each $u(x,y)$ value in constant time when the other data for a range changes. Each support query can be answered by looking at $u(1,n)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To perform an increase$(a,b)$ operation, partition $[a,b]$ into $O(\log n)$ ranges, increment $c(x,y)$ for each of these ranges, and use the formula above to recalculate $u(x,y)$ for each of these ranges and each of their ancestors. The decrease operation is the same with a decrement instead of an increment.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2015-05-07T20:15:21.007" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="31412" PostTypeId="1" AcceptedAnswerId="31413" CreationDate="2015-05-07T20:37:49.243" Score="9" ViewCount="237" Body="&lt;p&gt;Consider the following problem:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Input: a simple (undirected) graph &lt;span class=&quot;math-container&quot;&gt;$G=(V,E)$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Question: Is there an orientation of &lt;span class=&quot;math-container&quot;&gt;$G$&lt;/span&gt; satisfying the property that for every &lt;span class=&quot;math-container&quot;&gt;$s,t \in V$&lt;/span&gt; there is at most one (directed) &lt;span class=&quot;math-container&quot;&gt;$s$&lt;/span&gt;-&lt;span class=&quot;math-container&quot;&gt;$t$&lt;/span&gt; walk?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;This can be equivalently phrased as:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Input: a simple (undirected) graph &lt;span class=&quot;math-container&quot;&gt;$G=(V,E)$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Question: Is there an acyclic orientation of &lt;span class=&quot;math-container&quot;&gt;$G$&lt;/span&gt; satisfying the property that for every &lt;span class=&quot;math-container&quot;&gt;$s,t \in V$&lt;/span&gt; there is at most one (directed) &lt;span class=&quot;math-container&quot;&gt;$s$&lt;/span&gt;-&lt;span class=&quot;math-container&quot;&gt;$t$&lt;/span&gt; path?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;What is the class of graphs for which the answer is &amp;quot;yes&amp;quot;? Can this problem be solved in polynomial time?&lt;/p&gt;&#xA;&lt;hr /&gt;&#xA;&lt;p&gt;Some observations:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;If the graph is bipartite, then the answer is &amp;quot;yes.&amp;quot;&lt;/li&gt;&#xA;&lt;li&gt;If the graph has a triangle, then the answer is &amp;quot;no.&amp;quot;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;The first observation follows by orienting the edges from one partition to the other. The second observation is easy to check. This led me to two incorrect guesses:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;The answer is &amp;quot;yes&amp;quot; if and only if the graph is bipartite. (counterexample: the 5-cycle)&lt;/li&gt;&#xA;&lt;li&gt;The answer is &amp;quot;yes&amp;quot; if and only if the graph is triangle-free (counterexample: the cartesian product of an edge with the 5-cycle)&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="13056" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2015-05-07T23:34:12.977" Title="When does a graph admit an orientation in which there is at most one s-t walk?" Tags="&lt;graph-theory&gt;&lt;directed-acyclic-graph&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="31413" PostTypeId="2" ParentId="31412" CreationDate="2015-05-07T23:34:12.977" Score="9" Body="&lt;p&gt;It's NP-complete by a reduction from not-all-equal-3SAT. To see this, observe that&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The only valid orientation of a $4$-cycle is one in which the edges alternate orientations.&lt;/li&gt;&#xA;&lt;li&gt;Let $P$ be a three-edge undirected path, and add a degree-two vertex adjacent to the endpoints of $P$ to form a $5$-cycle. Then the only orientations of $P$ that can be extended to valid orientations of the entire $5$-cycle are the ones in which $P$ is not consistently oriented as a directed path.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;We form a variable gadget for a variable $v$ that belongs to $k$ different clauses of the NAE-3SAT instance, by gluing together $k$ shared $4$-cycles on a shared edge. Then in each of the $4$-cycles, the opposite edge to the shared edge has to be oriented consistently with all of the other $4$-cycles. We will associate the truth value of the variable with this consistent orientation of these edges. Additionally, in any valid orientation of each of these $4$-cycles, there is no path from one $4$-cycle into another $4$-cycle, so these gadgets can interact with each other only in the orientation of their edges and not through the existence of longer paths.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We form a clause gadget for a 3-variable clause of the NAE-3SAT instance by gluing together three of $4$-cycle edges, opposite the shared edges of the appropriate three variable gadgets, into a 3-edge path $P$ and then adding a degree-two vertex to complete $P$ into a $5$-cycle. As discussed above, this $5$-cycle can be consistently oriented if and only if its three edges are not all oriented as a directed path, which (when glued correctly) is true if and only if the truth values associated with these orientations are not all equal.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By the way, DAGS with at most one $s$-$t$ walk for each $s$-$t$ pair have been studied previously, as &quot;multitrees&quot;, &quot;strongly unambiguous graphs&quot;, or &quot;mangroves&quot;; see &lt;a href=&quot;https://en.wikipedia.org/wiki/Multitree&quot;&gt;https://en.wikipedia.org/wiki/Multitree&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2015-05-07T23:34:12.977" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="31414" PostTypeId="2" ParentId="27347" CreationDate="2015-05-08T07:08:03.833" Score="3" Body="&lt;p&gt;Regarding the difficulty of learning grammars, let's stick to regular ones for concreteness. These are precisely the grammars/languages recognized by Deterministic Finite-state Automata (DFAs). The source of difficulty is purely computational; the statistical aspects are quite straightforward. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;If&lt;/em&gt; you were able to find the smallest DFA consistent with your finite sample, simple Occam/cardinality arguments guarantee that this will generalize very well (it's the &quot;optimal&quot; learner in some sense). See Theorems 2 and 3 of Graepel et al.&#xA;&lt;a href=&quot;http://research.microsoft.com/pubs/65635/graepelherbrichtaylor05.pdf&quot; rel=&quot;nofollow&quot;&gt;http://research.microsoft.com/pubs/65635/graepelherbrichtaylor05.pdf&lt;/a&gt;&#xA;for actual state-of-the-art bounds. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, finding such a small DFA is VERY hard (see Angluin, Gold, Pitt-Warmuth, etc):&#xA;&lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0019995878906836&quot; rel=&quot;nofollow&quot;&gt;http://www.sciencedirect.com/science/article/pii/S0019995878906836&lt;/a&gt;&#xA;&lt;a href=&quot;http://web.mit.edu/6.863/www/spring2010/readings/gold67limit.pdf&quot; rel=&quot;nofollow&quot;&gt;http://web.mit.edu/6.863/www/spring2010/readings/gold67limit.pdf&lt;/a&gt;&#xA;&lt;a href=&quot;http://dl.acm.org/citation.cfm?id=138042&quot; rel=&quot;nofollow&quot;&gt;http://dl.acm.org/citation.cfm?id=138042&lt;/a&gt;&#xA;[the latter even gives a hardness-of-approximation result].&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But wait, it gets worse! Suppose you didn't care about a DFA and just wanted to learn the grammar in &lt;em&gt;some&lt;/em&gt; representation (i.e., a mechanism for predicting the labels of test strings drawn from the same distribution as the training set).&#xA;If such an algorithm were to exist, and succeeded against &lt;em&gt;all&lt;/em&gt; distributions, then it would also break RSA and related cryptographic primitives:&#xA;&lt;a href=&quot;http://dl.acm.org/citation.cfm?id=697797&quot; rel=&quot;nofollow&quot;&gt;http://dl.acm.org/citation.cfm?id=697797&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="1746" LastActivityDate="2015-05-08T07:08:03.833" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31415" PostTypeId="1" AcceptedAnswerId="31459" CreationDate="2015-05-08T08:59:01.443" Score="0" ViewCount="193" Body="&lt;p&gt;I'm programming an implementation of the Clique-Percolation algorithm, but I have many doubts about some corner cases.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Imagine we want to find the communities of a graph using $k=4$. We are lucky and every node in the graph belongs at least to one k-clique (with $k \geq 4$). So it's trivial to apply the algorithm by hand (slow, but trivial).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now imagine we add three more nodes to the graph, creating a 3-clique, and connecting this clique to the previous existing nodes with only 1 edge.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's here where I have problems to understand what's expected of the Clique Percolation algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have to add a new community for each new node? Only a new non-overlapping community matching the 3-clique? Nothing (not considering the new nodes in any community)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Example initial graph:&#xA;$$&#xA;A \leftrightarrow B \\&#xA;A \leftrightarrow C \\&#xA;A \leftrightarrow D \\&#xA;B \leftrightarrow C \\&#xA;B \leftrightarrow D \\&#xA;C \leftrightarrow D \\&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Modified graph:&#xA;$$&#xA;A \leftrightarrow B \\&#xA;A \leftrightarrow C \\&#xA;A \leftrightarrow D \\&#xA;B \leftrightarrow C \\&#xA;B \leftrightarrow D \\&#xA;C \leftrightarrow D \\&#xA;D \leftrightarrow E \\&#xA;E \leftrightarrow F \\&#xA;E \leftrightarrow G \\&#xA;F \leftrightarrow G &#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;thanks for your time.&lt;/p&gt;&#xA;" OwnerUserId="5497" LastEditorUserId="5497" LastEditDate="2015-05-10T17:20:54.800" LastActivityDate="2015-05-12T08:15:36.623" Title="Clique-Percolation Algorithm's &quot;corner cases&quot;" Tags="&lt;graph-algorithms&gt;&lt;clique&gt;&lt;percolation&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31417" PostTypeId="1" AcceptedAnswerId="31423" CreationDate="2015-05-08T13:25:02.997" Score="1" ViewCount="70" Body="&lt;p&gt;I am reading through through a paper called &lt;a href=&quot;http://research.microsoft.com/pubs/132621/hmf.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;HMF: Simple Type Inference for First-Class Polymorphism&lt;/a&gt; by Daan Leijen of Microsoft Research.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the paper it describes how to calculate the polymorphic weight of an expression:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/GnTbm.png&quot; alt=&quot;extract from pdf&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am having trouble understanding why the above example &lt;code&gt;[[forall a. [forall b. a -&amp;gt; b]]]&lt;/code&gt; has a weight of 1 rather than two. there are two type abstractions where both type variable are not free in their bodies, should these not be added together?&lt;/p&gt;&#xA;" OwnerUserId="8349" LastActivityDate="2015-05-09T01:57:29.730" Title="Why is the polymorphic weight 1" Tags="&lt;type-theory&gt;&lt;lambda-calculus&gt;&lt;type-inference&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="31418" PostTypeId="1" CreationDate="2015-05-08T14:00:19.467" Score="0" ViewCount="1130" Body="&lt;p&gt;I have a graph optimization problem which is hard to describe in the title.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is a component based system which consists of components and data transmissions between components(components and data transmissions will be represented by BC for short). The system has only one entry and one exit which means the system will always execute from the start component to the end component. Suppose the system only has sequence and concurrence structures. In sequence structure, the components execute one by one. In concurrence structure, components in different branches execute at the same time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Each component and data transmission has a response time $a_i$. Now I have $k$ resources. Each resource can only be allocated to one BC. If a BC has a resource, its response time will drop from $a_i$ to $b_i$. I can calculate the response time of the system because response time in sequence structure can be added up and it will be the max in concurrence structures. So I can get the system response time if I know all the BC's response time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now I need to know what is the best resource allocation strategy to make the system response time minimum?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The system can be represented as a graph $S$ which has $n$ nodes and edges(BC for short). The nodes represent components and the edges represent data transmissions. The graph has only one entry and one exit and all the edges are in one direction. $S=\{BC_1,BC_2,\ldots, BC_n\}$. $BC_i$ has two values $a_i, b_i$. $a_i$ means the normal response time. $b_i$ means the response time when allocated a resource.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have a function to calculate the response time of any graph $G$ which time complexity is $O(n)$ (n is the number of edges and nodes it contains). A naive method is choose the best from $\binom nk$ different allocations. So the time complexity is $O(n \cdot \binom nk)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now I think I can use dynamic programming to solve this problem. My idea is to treat a complex structure as a node then some intermediate results can be cached. I have some images to describe my idea. For example, the graph $S$ can be represented as $N_1,E_A,N_A,E_B,N_3$. The best allocation must come from the 11 different allocations. I can cache the result of allocating $0,1,2$ resource to $N_A$ to avoid repetitive computation. If not, $F(N_A, 0)$ will be calculated 6 times by simply enumerating.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think my solution's time complexity is better than $n \cdot \binom nk$. However I don't know how to prove it. Intuitively I think my solution is solvable in polynomial time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/Xyogh.png&quot; alt=&quot;Treat the concurrence structure as a node which can hold 6 resources.&quot;&gt;&#xA;&lt;img src=&quot;https://i.stack.imgur.com/tmNKX.png&quot; alt=&quot;Treat the up branch and down branch as a node which can hold 3 resources respectively&quot;&gt;&lt;/p&gt;&#xA;" OwnerUserId="34036" LastEditorUserId="34036" LastEditDate="2015-05-10T00:47:38.003" LastActivityDate="2015-05-10T00:47:38.003" Title="How to solve such a graph optimization problem?" Tags="&lt;graph-algorithms&gt;&lt;optimization&gt;&lt;dynamic-programming&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="31419" PostTypeId="2" ParentId="18806" CreationDate="2015-05-08T14:59:58.663" Score="1" Body="&lt;p&gt;Instead of testing each point individually whether it is contained in the convex polyhedron, you should search for a supporting hyperplane of the polyhedron which separates the point from the polyhedron. If a supporting hyperplane does not exists, you know that the point is contained in the polyhedron. Otherwise, the supporting hyperplane helps you to separate additional points from the polyhedron. This is similar to the idea of D.W. but here you only enumerate a smaller number of supporting hyperplanes which is sufficient to separate all outer points. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here are the details: Let $V$ be a matrix whose columns are the vertices $\mathbf{v}_1,\dots,\mathbf{v}_k$ of the polyhedron $\mathbf{P}$. The test points are denoted by $\mathbf{w}_1,\dots,\mathbf{w}_l$. A hyperplane $\{\mathbf{x}\mid \mathbf{n}^T\mathbf{x} = \lambda\}$ separates $\mathbf{P}$ and some point $\mathbf{w}_j$ if and only if $\mathbf{n}^T\mathbf{v}_i \leq \lambda$ for all $i=1,\dots,k$ and there is some positive $\epsilon&amp;gt;0$ with $\mathbf{n}^T\mathbf{w}_j \geq \lambda+\epsilon$. Assume, such an $\epsilon$ exists, then the conditions above are equivalent to&#xA;$\frac{1}{\epsilon}\mathbf{n}^T\mathbf{v}_i - \frac{1}{\epsilon}\lambda \leq 0$ for all $i=1,\dots,k$ and $\frac{1}{\epsilon}\mathbf{n}^T\mathbf{w}_j - \frac{1}{\epsilon}\lambda \geq 1$.&#xA;Substituting $\frac{1}{\epsilon}\mathbf{n}$ by $\tilde{\mathbf{n}}$ and $\frac{1}{\epsilon}\lambda$ by $\tilde{\lambda}$ yields the system of linear inequalities&#xA;$$V\tilde{\mathbf{n}} - \mathbf{1}\tilde{\lambda} \leq 0,\quad \mathbf{w}_j^T\tilde{\mathbf{n}} - \tilde{\lambda} \geq 1$$&#xA;where $\mathbf{1}$ is the vector whose coefficients are all $1$. Hence, the linear program &#xA;$$\mbox{minimize } \lambda \mbox{ subject to } V\mathbf{n} - \mathbf{1}\lambda \leq 0,\ \mathbf{w}_j^T\mathbf{n} - \lambda \geq 1$$&#xA;is either infeasible and $\mathbf{w}_j$ is contained in $\mathbf{P}$ or its  optimal solution $(\lambda, \mathbf{n})$ provides a separating hyperplane, which is indeed a supporting hyperplane of $\mathbf{P}$. Each remaining point $\mathbf{w}_i$ with $\mathbf{n}^T\mathbf{w}_i &amp;gt; \lambda$ is also not contained in $\mathbf{P}$ and can be removed from the test set.&lt;/p&gt;&#xA;" OwnerUserId="34038" LastActivityDate="2015-05-08T14:59:58.663" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31422" PostTypeId="1" CreationDate="2015-05-08T23:15:16.093" Score="0" ViewCount="240" Body="&lt;p&gt;What's the best way to contribute to the lexicon of computer science? There is an obvious organic nature to the naming of things in most sciences. The name of the discoverer is inherited or bestowed, the taxonomy of the subject lends a name directly, the author of the authoritative text names it with their full expertise of the subject behind them... But what are the other routes? What if something is poorly named, conflicts with other names, just ambiguous, etc? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In CS &lt;strong&gt;we frequently have semantic debates&lt;/strong&gt; in the pursuit of good names, cause we're constantly creating things. CS is one of the few fields where these arguments really make a difference. A good deal of any developers time is being thoughtful about the names of things, and it becomes a sort of learned skill. Are there established routes for either renaming something, or proposing new names for things that are ambiguously defined? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are endless examples of the need, but I'd like to provide &lt;strong&gt;a specific example&lt;/strong&gt;: Dynamic programming. The history of the name is well known and it's not well named. &lt;/p&gt;&#xA;" OwnerUserId="34041" LastEditorUserId="34041" LastEditDate="2015-10-15T22:41:21.230" LastActivityDate="2015-10-15T22:41:21.230" Title="How do we contribute to the lexicon of computer science?" Tags="&lt;semantics&gt;" AnswerCount="0" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="31423" PostTypeId="2" ParentId="31417" CreationDate="2015-05-09T01:57:29.730" Score="2" Body="&lt;p&gt;You asked why&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;code&gt;[[forall a. [forall b. a -&amp;gt; b]]]&lt;/code&gt; has a weight of 1&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;It doesn't. It has a &lt;em&gt;polymorphic&lt;/em&gt; weight of 1. The polymorphic weight strips the binder before it looks at the weight. For the $\rho$ you chose:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$[\![\forall \overline{\alpha} . \rho]\!] = wt(\rho) = 1 \neq 2 = wt(\forall \overline{\alpha} . \rho)$&lt;/p&gt;&#xA;" OwnerUserId="43" LastActivityDate="2015-05-09T01:57:29.730" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31424" PostTypeId="1" CreationDate="2015-05-09T07:48:13.410" Score="2" ViewCount="229" Body="&lt;p&gt;I need a reference for CTL* logic (preferably easy to understand). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have gathered some disperse information regarding temporal and CTL logic but I need a more orderly coverage. A chapter of the multi-agent systems book I read depends on this subject and I am stuck.&lt;/p&gt;&#xA;" OwnerUserId="14343" LastEditorUserId="1037" LastEditDate="2015-05-17T03:21:27.513" LastActivityDate="2015-12-13T14:33:01.970" Title="Reference for CTL* logic" Tags="&lt;reference-request&gt;&lt;lo.logic&gt;&lt;temporal-logic&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31426" PostTypeId="1" AcceptedAnswerId="31429" CreationDate="2015-05-09T18:43:39.127" Score="4" ViewCount="529" Body="&lt;p&gt;Given a finite alphabet $\Sigma$, a non-deterministic finite-state transducer representing rational a relation $T \subseteq \wp(\Sigma^* \times \Sigma^*)$, a finite state machine representing a regular language $L \subseteq \Sigma^*$, and a word $w \in \Sigma^*$. Let $T(L)$ denote the image of $T$ over $L$, i.e., $\left\{ w' \in \Sigma^* \mid \exists w \in L. (w,w') \in T\right\}$. Let $\mu$ and $\nu$ respectively represent the least and greatest fixed point operators.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Is it decidable whether $w \in \mu Z. L \cup T(Z)$?&lt;/li&gt;&#xA;&lt;li&gt;Is it decidable whether $w \in \nu Z. L \cap T(Z)$?&lt;/li&gt;&#xA;&lt;li&gt;If questions 1 or 2 are answered in the negative, does this change in the special case where $T$ is expressible as a finite union of deterministic transducers, i.e., $\mid T\left(\left\{w\right\}\right)\mid$ is finite for all $w$?&lt;/li&gt;&#xA;&lt;li&gt;Are these results different when dealing with ranked trees rather than words, i.e., $\Sigma$ is a ranked alphabet, $L$ a tree-regular language, and $w$ a ranked tree over $\Sigma$?&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="34050" LastEditorUserId="34050" LastEditDate="2015-05-09T20:45:04.970" LastActivityDate="2015-05-09T21:41:57.367" Title="Decidability of membership in the fixed point of a rational relation" Tags="&lt;automata-theory&gt;&lt;model-checking&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31427" PostTypeId="1" CreationDate="2015-05-09T20:55:40.510" Score="2" ViewCount="209" Body="&lt;p&gt;If you could ask one computational yes/no question, what would it be?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To be precise, you get to specify a Turing machine (in a convenient language) and an oracle will tell you whether or not it halts. You only get one query (let's say filesize &amp;lt; 1TB); it's answered immediately; and you know for a fact that the answer you get is correct.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, you could ask &quot;Does there exist a proof that $\mathsf{NP}\ne\mathsf{P}$?&quot; by specifying a Turing machine that enumerates all proofs and halts when it finds such a proof. But is that the best question to ask?&lt;/p&gt;&#xA;" OwnerUserId="34051" LastActivityDate="2015-05-13T06:25:04.397" Title="What one bit of computable information would you most like to know?" Tags="&lt;soft-question&gt;" AnswerCount="0" CommentCount="5" FavoriteCount="1" ClosedDate="2015-05-13T17:51:24.770" ContentLicense="CC BY-SA 3.0" />
  <row Id="31428" PostTypeId="1" CreationDate="2015-05-09T20:59:05.723" Score="2" ViewCount="206" Body="&lt;p&gt;I'm very much a novice in these subjects, but Geometry of Interaction and Geometric Complexity Theory seem to speak similar language and have vaguely similar goals. Am I not mistaken? Are there any links between them?&lt;/p&gt;&#xA;" OwnerUserId="19351" LastActivityDate="2015-05-11T08:38:25.403" Title="Are there links between Geometry of Interaction and Geometric Complexity Theory?" Tags="&lt;cc.complexity-theory&gt;&lt;gct&gt;&lt;linear-logic&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31429" PostTypeId="2" ParentId="31426" CreationDate="2015-05-09T21:41:57.367" Score="4" Body="&lt;p&gt;The answer to (1) is no, even for deterministic transducers. The reason is that we can encode configurations (tape contents + head position + machine state) of Turing machines into words such that the configuration changes made by any machine $M$ can be represented by a transducer $T_M$, and then decidability of (1) would imply decidability of the halting problem. In some more detail, this is how it works:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For simplicity, I assume that our Turing machines move left or right in each step, i.e. for any machine state $q\in Q$ and tape symbol $a\in \Sigma$, the action $\delta(q,a)$ performed in $q$ upon reading $a$ is either $(q',a',L)$ or $(q',a',R)$ for some $q',a'$. The alphabet $\Sigma$ contains the blank $\_$, and $\Pi:=\Sigma\setminus\{\_\}$. I also assume that the machine erases the tape before halting, and doesn't write any blanks otherwise - this is a straightforward modification to any given machine, and ensures that all halting configurations are encoded as the same word.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The encoding of a configuration is a word in $(\Sigma\cup Q)^*$ of the form $\_uqav\_$, delimited by blanks, where $q\in Q$ is the current state, $a\in\Sigma$ is the content of the cell under the head, and $u,v\in\Pi^*$ are the contents to the left and to the right, respectively. Due to the above restriction, a halting configuration is encoded as $\_q_e\_\_$, where $q_e$ is the halting state.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The transducer $T_M$ operates in several phases, using its state to temporarily store a symbol $b\in\Sigma$:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;It reads the leading $\_$ and sets $b:=\_$;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;It reads $v = v_1\dots v_k$, in each step outputting $b$ and setting $b$ to the current $v_j$ (if $v$ is empty, then $b$ is still $\_$ after this);&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;It reads $q$ and $a$. Then if $\delta(q,a) = (q',a',L)$, it outputs $q'ba'$, otherwise ($\delta(q,a) = (q',a',R)$), it outputs $ba'q'$. It also remembers the move direction.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;It reads and outputs $w\_$, unless we moved left, $w$ is empty, and $a'=\_$ (to avoid extra trailing $\_$).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Then $T_M^k(\_q_0w\_)$ encodes the configuration of $M$ after $k$ steps on input $w$, and $\_q_e\_\_\in\mu Z.\{\_q_0w\_\}\cup T_M(Z)$ iff $M$ halts on $w$. &lt;/p&gt;&#xA;" OwnerUserId="5183" LastActivityDate="2015-05-09T21:41:57.367" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31431" PostTypeId="1" CreationDate="2015-05-10T01:40:49.130" Score="1" ViewCount="203" Body="&lt;p&gt;I was wondering if there is any research in the field of Diophantine Approximation using the computable numbers. It seems to be a good fit, a dense countable set with a variety of different potential height functions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The basic premise of Diophantine approximation is that you take a dense countable set(traditionally the rationals or the algebraic numbers), $A$ in some range(generally $(0,1)$) and a function $H: A \to \mathbb N$, the height function. You then see how given $N \in \mathbb N$ close you can get a member of $A$, usually referred to as $\alpha$ with $H(\alpha) &amp;lt; N$. The most famous result from this field is Dirichlet's Approximation Theorem which states that for any real in $(0,1)$ there exist infinitely many rationals $\frac{p}{q}$ such that $|x-\frac{p}{q}| \le \frac{1}{q^2}$. This has been shown to be optimal up to a constant.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some height functions I imagined for the computable numbers would be&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) $H_c(\alpha)$ This is a restricted version of the above when the Turing machine is restricted to having $c$-characters not counting blank.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) Same as 1 just counting transitions instead of states.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;3) Some function on the time complexity to generate the number&lt;/p&gt;&#xA;&#xA;&lt;p&gt;4) Some function on the space complexity to generate the number&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The first 2 are basically variants on Kolmogorov complexity I believe. The last two I'm not even sure how to map to the Naturals.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here are some preliminary results I believe are true.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For 1 Using just rationals and an $x \in (0,1)$ you get an approximation of the following form &#xA;$$|x-\alpha| \le Cc^{-H_c(\alpha)}$$&#xA;For some $C&amp;gt;0$. I believe I can prove this. If it is true that using algebraic numbers of degree at most $d$ gives an approximation function of $|x-\alpha| \le cH^{-d-1}(\alpha)$ for some $c&amp;gt;0$ then I believe the same approximation function holds even if you use all algebraic numbers. The basic reasoning behind this is that it takes $O((d+1)\log_c(\max(a_1,\dots,a_{d+1})))$ states to output all the coefficients to the tape and then you should be able to do Newton's algorithm with a constant number of states. In the last equation $a_1,\dots,a_{d+1}$ is the set of coefficients of the minimal polynomial specifying $\alpha$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Noting that the number of transitions is approximately equal to $c+1$ times the number of states you get an equivalent statement for 2 that for $x \in (0,1)$ you get &#xA;$$|x-\alpha| \le Cc^\frac{-H_c(\alpha)}{c+1}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For some constant $C &amp;gt; 0$. Due to these results I'd say 2 is probably the nicest approximation function since $c^\frac{n}{c+1}$ when restricted to integer inputs is bounded by $\sqrt[5]{4}^n$ or roughly $1.3195^n$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A result I'd like to have and I believe is true is that the bounds on the approximation function for $3$ are optimal, that is that there exists $x \in (0,1)$ such that &#xA;$$|x-\alpha| \ge Cc^\frac{-H_c(\alpha)}{c+1}$$&#xA;For some constant $C&amp;gt;0$ and all but finitely many computable $\alpha$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is a cross-post from math.stackexchange. It was suggested to me that this site would be more likely to answer my question if there is any research or if this is worth pursuing any farther.&lt;/p&gt;&#xA;" OwnerUserId="32923" LastActivityDate="2018-10-30T06:24:28.480" Title="Is there any research on approximation of reals with computable numbers" Tags="&lt;computability&gt;&lt;approximation-hardness&gt;&lt;computing-over-reals&gt;&lt;approximation&gt;" AnswerCount="1" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="31433" PostTypeId="1" AcceptedAnswerId="31467" CreationDate="2015-05-10T07:25:16.037" Score="7" ViewCount="195" Body="&lt;p&gt;A &lt;em&gt;priority argument&lt;/em&gt;, an important proof technique in recursion theory, was introduced by Friedberg and Muchnik, to solve Post's Problem, i.e., the existence of two r.e. sets that do not Turing reduce to each other.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is whether or not there has been an attempt to formalize priority arguments in some proof system adopted by proof checkers or proof checkers.  I believe this is an interesting problem, since:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Priority arguments can sometimes be very complicated (for humans to read);&lt;/li&gt;&#xA;&lt;li&gt;Objects constructed by priority arguments are constructive (relative to something else), so it is possible that the argument is suitable to formalize in some proof systems, many of them are based on typed lambda calculi; and&lt;/li&gt;&#xA;&lt;li&gt;Yet most construction in priority arguments do not look like a typical functional programs at all&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="7462" LastEditorUserId="7462" LastEditDate="2015-05-11T19:35:08.900" LastActivityDate="2015-05-12T16:43:03.837" Title="Formalized priority argument" Tags="&lt;reference-request&gt;&lt;lo.logic&gt;&lt;computability&gt;&lt;automated-theorem-proving&gt;&lt;proof-assistants&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="31436" PostTypeId="1" AcceptedAnswerId="31441" CreationDate="2015-05-10T11:58:51.613" Score="10" ViewCount="560" Body="&lt;p&gt;Given two permutations $g$ and $h$ over $n$ elements (i.e., members of $S_n$), what is the complexity of computing the order of the subgroup generated by $g,h$? Or just of deciding whether the subgroup is of order $n!$ (i.e., all of $S_n$)?&lt;/p&gt;&#xA;" OwnerUserId="1746" LastEditorUserId="508" LastEditDate="2015-05-10T22:32:25.580" LastActivityDate="2015-05-10T23:16:07.290" Title="Complexity of computing the order of a permutation group" Tags="&lt;cc.complexity-theory&gt;&lt;algebra&gt;&lt;gr.group-theory&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31437" PostTypeId="2" ParentId="31436" CreationDate="2015-05-10T14:30:53.937" Score="12" Body="&lt;p&gt;The order of permutation groups can be computed in polynomial-time. In fact, I believe even in $\mathsf{NC}$ and also nearly linear Las Vegas time. See, e.g., &lt;a href=&quot;http://www.ams.org/mathscinet-getitem?mr=1970241&quot;&gt;the book by Seress&lt;/a&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For reference, subgroups of $S_n$ (and algorithms related thereto) are typically called &quot;permutation groups&quot; rather than merely &quot;subgroups (of $S_n$)&quot;. So you can google &quot;permutation group algorithms&quot; etc.&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2015-05-10T14:30:53.937" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31438" PostTypeId="1" AcceptedAnswerId="31440" CreationDate="2015-05-10T20:51:35.327" Score="2" ViewCount="155" Body="&lt;p&gt;$\mathbf{Definition.}$ A random variable $X$ has pseudoentropy $k$ if it is computationally indistinguishable from a random variable $Y$ with $H(Y) = k$, where $H(Y)$ is the Shannon entropy of $Y$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By this definition, can we say that any random variable has pseudoentropy equals to its Shannon entropy, just because it is computationally indistinguishable from itself? The caveat here is whether or not the definition of computational indistinguishability is still valid when there is only one random variable, not two.&lt;/p&gt;&#xA;" OwnerUserId="34061" LastActivityDate="2015-05-10T22:23:52.647" Title="On the definition of pseudoentropy" Tags="&lt;pseudorandomness&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31439" PostTypeId="1" CreationDate="2015-05-07T07:48:23.887" Score="12" ViewCount="243" Body="&lt;p&gt;&lt;strong&gt;MCS problem:&lt;/strong&gt; Given a set $\phi$ of Boolean clauses. Find a minimal correction subset (MCS) $M\subseteq\phi$ such that: $\phi\setminus M$ is satisfiable and for all $c\in M$ holds $\phi\setminus (M\setminus\{c\})$ is unsatisfiable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would like to know the complexity hardness of this problem, but I just could not find a clear answer to this question:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Is the computation of a minimal correction subset (MCS) $FP^{NP}$-hard?&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A similiar question would be '&lt;strong&gt;Is the computation of a maximal satisfiable subset (MSS) $FP^{NP}$-hard?&lt;/strong&gt;', since the complement of an MCS is an MSS.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Obviously, the MCS/MSS problem is in the class $FP^{NP}$, since we can iterate over all clauses and check for satisfiability. If satisfiable, add clause to the MSS, otherwise add clause to the MCS.  See for example &lt;a href=&quot;http://ijcai.org/papers13/Papers/IJCAI13-098.pdf&quot;&gt;[Marques-Silva, On Computing Minimal Correction Subsets, 2013]&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If this question is an open research topic, I would be happy, if someone could confirm it (and possibly give a reference to a recent paper).&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;I just found a paper &lt;a href=&quot;http://eccc.hpi-web.de/report/2014/031/&quot;&gt;'On the Query Complexity of Selecting Few Minimal Sets'&lt;/a&gt; by Marques-Silva and Janota (2014). In the introduction it states:&#xA;&quot;For example, it is not known what is the best worst-case number of calls to a SAT solver for computing [..] &lt;strong&gt;a maximally satisable subset&lt;/strong&gt; [..]&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Unfortunately, the paper shows no further references to underline this statement. But, if I interpret '&lt;em&gt;best worst-case&lt;/em&gt;' correctly, it says that there is no known hardness result for MSS (and therefore for MCS, too) in terms of SAT solver calls. Anyone agree or disagree? &lt;/p&gt;&#xA;" OwnerUserId="10219" OwnerDisplayName="John Threepwood" LastEditorUserId="-1" LastEditDate="2015-05-11T08:39:46.957" LastActivityDate="2015-09-27T17:13:17.760" Title="Is the computation of a minimal correction subset (MCS) $FP^{NP}$-hard?" Tags="&lt;cc.complexity-theory&gt;&lt;sat&gt;" AnswerCount="0" CommentCount="7" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="31440" PostTypeId="2" ParentId="31438" CreationDate="2015-05-10T22:23:52.647" Score="3" Body="&lt;p&gt;Yes, we can always say that $X$ has pseudoentropy at least $H(X)$. You can take $Y$ to be a completely separate, independent random variable that has the same distribution as $X$. Then $X$ and $Y$ are computationally indistinguishable (indeed they are &quot;completely&quot; indistinguishable): $\Pr[A(X) = 1] = \Pr[A(Y) = 1]$ for all algorithms $A$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Instead of thinking of psuedoentropy as a property of a random variable, maybe it is more helpful to think of it as a property of a distribution. Not a big difference but emphasizes that, for instance, $X$ and $Y$ are never correlated in the definition.&lt;/p&gt;&#xA;" OwnerUserId="8243" LastActivityDate="2015-05-10T22:23:52.647" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="31441" PostTypeId="2" ParentId="31436" CreationDate="2015-05-10T22:30:34.777" Score="9" Body="&lt;p&gt;As a complement to Joshua Grochow's answer:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Computing the order of a permutation group given generators is in P by &lt;a href=&quot;https://en.wikipedia.org/wiki/Schreier%E2%80%93Sims_algorithm&quot;&gt;Schreier–Sims algorithm&lt;/a&gt;, see also p. 8-9 of &lt;a href=&quot;http://ix.cs.uoregon.edu/~luks/northeasterncourse.pdf&quot;&gt;these lectures notes&lt;/a&gt; by Luks. Just as membership in permutation groups, the problem was believed to be P-complete by many researchers, but it was finally shown to be in NC by &lt;a href=&quot;http://ix.cs.uoregon.edu/~luks/NC.pdf&quot;&gt;Babai, Luks &amp;amp; Seress&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The complexity of problems for permutation groups was extensively studied and their complexity was gradually settled for abelian groups, nilpotent groups, solvable groups, groups with bounded non-abelian composition factors, and finally groups (see work by Babai, Cook, Furst, Hopcroft, Luks, McKenzie, Mulmuley, Seress and many more).&lt;/p&gt;&#xA;" OwnerUserId="508" LastEditorUserId="508" LastEditDate="2015-05-10T23:16:07.290" LastActivityDate="2015-05-10T23:16:07.290" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="31442" PostTypeId="1" AcceptedAnswerId="31443" CreationDate="2015-05-11T03:07:47.423" Score="8" ViewCount="787" Body="&lt;p&gt;I was reading &lt;a href=&quot;https://hal.inria.fr/inria-00073380&quot;&gt;this&lt;/a&gt; abstract and saw that they prove weak normalization and confluence. My limited understanding suggests that those two properties should provide strong normalization, which then leaves me confused about why they'd leave that out in the abstract, thus suggesting I might be wrong.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is it the case that a confluent weakly normalizing system is strongly normalizing? Why/why not?&lt;/p&gt;&#xA;" OwnerUserId="14359" LastActivityDate="2019-02-11T23:31:27.243" Title="Weakly normalizing + confluent = strongly normalizing?" Tags="&lt;lambda-calculus&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="31443" PostTypeId="2" ParentId="31442" CreationDate="2015-05-11T08:33:02.897" Score="10" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;Is it the case that a confluent weakly normalizing system is strongly normalizing?  Why/why not?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;No, it's not necessarily the case. &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Weak normalization means: there exists a reduction strategy that will lead to a normal form. &lt;/li&gt;&#xA;&lt;li&gt;People often use confluence to mean what rewriting people call &quot;local confluence&quot;: this is the property that if $a \leadsto b$ and $a \leadsto c$, then $b$ and $c$ can be joined -- i.e., there exists a $d$ such that $b \leadsto^\ast d$ and $c \leadsto^\ast d$. &lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;This does not rule out the existence of infinite reduction sequences. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;As an example, start with the STLC and add a new base type $X$ and constant $c,d : X$ with the reduction rule $c \leadsto c$ and $c \leadsto d$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is a weak normalization strategy: use a weak normalization strategy for the STLC and immediately reduce any $c$ to $d$. The calculus is also Church-Rosser, since it inherits this property from the STLC. But it isn't strongly normalizing since you can reduce a $c$ forever. &lt;/p&gt;&#xA;" OwnerUserId="657" LastEditorUserId="657" LastEditDate="2015-05-12T10:46:35.180" LastActivityDate="2015-05-12T10:46:35.180" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="31444" PostTypeId="2" ParentId="31428" CreationDate="2015-05-11T08:38:25.403" Score="5" Body="&lt;p&gt;No one knows if there are connections between GoI and GCT. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's quite plausible, since both are used to analyze complexity, and since GoI is formulated in terms of monoidal categories and GCT is based on representation theory. However, to my knowledge there aren't any researchers who understand both well enough to say for certain.  &lt;/p&gt;&#xA;" OwnerUserId="657" LastActivityDate="2015-05-11T08:38:25.403" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31445" PostTypeId="1" CreationDate="2015-05-11T08:43:03.307" Score="9" ViewCount="1182" Body="&lt;p&gt;If we only consider problems in P, are there any big gaps between the fastest known word-RAM algorithm and the fastest known Turing machine algorithm for particular problems? I am particularly interested if there are wide gaps for natural problems of general interest.&lt;/p&gt;&#xA;" OwnerUserId="17390" LastEditorUserId="17390" LastEditDate="2015-05-11T10:38:51.517" LastActivityDate="2017-08-02T21:41:15.087" Title="Big gaps between RAM and Turing machine complexity" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;" AnswerCount="2" CommentCount="9" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="31446" PostTypeId="2" ParentId="31381" CreationDate="2015-05-11T09:49:35.627" Score="6" Body="&lt;p&gt;In a recent article, Hüffner, Komusiewicz, and Nichterlein refer to this class as &lt;strong&gt;sparse&amp;nbsp;split&amp;nbsp;graphs&lt;/strong&gt;.  They also refer to the complement class, the complete split graphs, as &lt;em&gt;dense&amp;nbsp;split&amp;nbsp;graphs&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hüffner, Komusiewicz, and Nichterlein. &lt;em&gt;&quot;Editing Graphs into Few Cliques: Complexity, Approximation, and Kernelization Schemes.&quot;&lt;/em&gt;&lt;/p&gt;&#xA;" OwnerUserId="10889" LastEditorUserId="10889" LastEditDate="2015-05-11T09:55:30.780" LastActivityDate="2015-05-11T09:55:30.780" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31447" PostTypeId="1" AcceptedAnswerId="31471" CreationDate="2015-05-11T12:13:13.647" Score="2" ViewCount="107" Body="&lt;p&gt;We are considering length n strings over the alphabet S. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The goal is to compute a set of string, M, such that for any string, x, in S^n there exists a string, y, in M such that the hamming distance between x and y is at least r.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A way of thinking of this is that we want to guarantee that for any string, we have a string in our solution M which is far away from the given string.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For a given S (with size at least 3), n and r (which may be a funciton of n, for example n/2) for many strings a needed to include in M to guarantee that for any string in S^n, we have a string in M which has a hamming distance to it of at least r.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have a feeling this is well studied and might be related to covering designs. Can someone give me a good reference (or insight)? I would be very grateful.&lt;/p&gt;&#xA;" OwnerUserId="32149" LastActivityDate="2015-05-13T04:54:03.057" Title="Long distance string problem" Tags="&lt;edit-distance&gt;&lt;covering-problems&gt;" AnswerCount="1" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="31448" PostTypeId="1" AcceptedAnswerId="31449" CreationDate="2015-05-11T13:41:24.980" Score="25" ViewCount="1245" Body="&lt;p&gt;Of course, some complexity results may collapse for unary languages but I wonder&#xA;if there is somewhere a survey summarizing the known results in this case: a kind of &#xA;complexity zoo for unary languages. Would you know of such a reference ?&lt;/p&gt;&#xA;" OwnerUserId="17203" LastActivityDate="2015-05-11T23:00:39.507" Title="Complexity zoo for unary languages" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;big-list&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="31449" PostTypeId="2" ParentId="31448" CreationDate="2015-05-11T15:00:06.233" Score="23" Body="&lt;p&gt;There is no Zoo-style reference yet, but a recent automata-theoretic survey of Giovanni Pighizzini has been useful to me, especially the &lt;a href=&quot;http://pighizzini.di.unimi.it/talks/2014/ciaa2014-full.pdf&quot;&gt;slides&lt;/a&gt; from his talk.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Giovanni Pighizzini, &lt;em&gt;Investigations on Automata and Languages over a Unary Alphabet&lt;/em&gt;, CIAA 2014.  doi:&lt;a href=&quot;http://dx.doi.org/10.1007/978-3-319-08846-4_3&quot;&gt;10.1007/978-3-319-08846-4_3&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="109" LastActivityDate="2015-05-11T15:00:06.233" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31450" PostTypeId="2" ParentId="31442" CreationDate="2015-05-11T17:06:39.207" Score="6" Body="&lt;p&gt;In general it is quite possible for even pure &lt;span class=&quot;math-container&quot;&gt;$\lambda$&lt;/span&gt;-terms to be weakly normalizing and confluent without being SN: take&#xA;&lt;span class=&quot;math-container&quot;&gt;$$ K\ I\ \Omega$$&lt;/span&gt;&#xA;where &lt;span class=&quot;math-container&quot;&gt;$K=\lambda xy.x, \ I=\lambda x.x$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$\Omega=(\lambda x. x\ x)(\lambda x.x\ x)$&lt;/span&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The following surprising result was first discovered by &lt;a href=&quot;http://link.springer.com/chapter/10.1007%2FBFb0014062&quot; rel=&quot;nofollow noreferrer&quot;&gt;Mellies&lt;/a&gt;:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;STLC with explicit substitutions may not terminate.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;This is surprising as:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Explicit substitutions alone terminate.&lt;/li&gt;&#xA;&lt;li&gt;Explicit substitutions with an explicit &lt;span class=&quot;math-container&quot;&gt;$\beta$&lt;/span&gt;-rule simulates the &quot;usual&quot; reduction with re-naming.&lt;/li&gt;&#xA;&lt;li&gt;STLC with the usual &lt;span class=&quot;math-container&quot;&gt;$\beta$&lt;/span&gt; rule is terminating.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Most of the subsequent work on explicit substitutions work on repairing this apparent defect.&lt;/p&gt;&#xA;" OwnerUserId="3984" LastEditorUserId="3984" LastEditDate="2019-02-11T23:31:27.243" LastActivityDate="2019-02-11T23:31:27.243" CommentCount="3" ContentLicense="CC BY-SA 4.0" />
  <row Id="31452" PostTypeId="1" CreationDate="2015-05-11T20:39:59.107" Score="1" ViewCount="112" Body="&lt;p&gt;To learn more about dictionary learning, I am currently trying to understand the concept in detail and to do so, I've found the following paper quite informative:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.cs.technion.ac.il/~elad/publications/journals/2004/32_KSVD_IEEE_TSP.pdf&quot; rel=&quot;nofollow&quot;&gt;KSVD: an algorithm for designing overcomplete dictionaries for sparse representation&lt;/a&gt; &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have a few questions:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;does the jth column of D (the overcomplete dictionary) correspond to the jth row of X or its transpose? (where $Y=DX$, Y is our data/signals; D is the dictionary; X is the sparse represenation of signals) So we do work on the transpose of X and not the matrix X itself? Why the notation $x_T ^K$ is used and not $x_K ^T$ ?&lt;/li&gt;&#xA;&lt;li&gt;somewhere in the middle, they suggest to initialize $w_k$ which defines as follows:&#xA;$$w_k=\{i|1 \leq k \leq K: w_k(i) \neq 0\}$$&#xA;is defining this variable necessary in spite of the fact that we will&#xA;define another variable afterwards. $\Omega _k$ is a matrix of size&#xA;$N$ (number of signals (Y)) $\times |w_k|$ where it is one for&#xA;$w_k(i)$ and zero otherwise. why do  we need to define $w_k$?&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="27498" LastActivityDate="2015-05-16T11:42:22.427" Title="A few questions about KSVD algorithm (dictionary learning) in a paper" Tags="&lt;paper-review&gt;" AnswerCount="0" CommentCount="1" ClosedDate="2016-08-22T18:57:27.060" ContentLicense="CC BY-SA 3.0" />
  <row Id="31453" PostTypeId="2" ParentId="31445" CreationDate="2015-05-11T22:04:13.253" Score="6" Body="&lt;p&gt;It is known that any problem that you can compute on a RAM machine in time $T(n)$, you can do it in a Turing Machine in time at most $T(n)^2$. You need to notice that the total size of the memory used can not be more than $T(n)$, since that would mean that you did more write operations than $T(n)$, so each time you fetch something from RAM memory, the Turing machine would take in the worst case $T(n)$ time to find the desired element sequentially from the tape. Besides memory access, the rest of operations should take around the same time. And thus you get the bound.&lt;/p&gt;&#xA;" OwnerUserId="33978" LastActivityDate="2015-05-11T22:04:13.253" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31454" PostTypeId="2" ParentId="31448" CreationDate="2015-05-11T23:00:39.507" Score="12" Body="&lt;p&gt;One interesting question about complexity classes over a unary alphabet that is not in the above references is the strength of Valiant's class #P&lt;sub&gt;1&lt;/sub&gt;, the class of counting problems over a unary alphabet (see &lt;a href=&quot;http://epubs.siam.org/doi/abs/10.1137/0208032&quot;&gt;http://epubs.siam.org/doi/abs/10.1137/0208032&lt;/a&gt;).  Not much is known about its power, though it has natural complete problems and, like unary languages, has polynomial-size circuits.&lt;/p&gt;&#xA;" OwnerUserId="34072" LastActivityDate="2015-05-11T23:00:39.507" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31455" PostTypeId="1" AcceptedAnswerId="31463" CreationDate="2015-05-12T01:45:00.420" Score="3" ViewCount="309" Body="&lt;p&gt;I want to prepare a small presentation with some of the most important results in Counting complexity, continue with recent ones and finish with some interdisciplinary results ,probably with other complexity theory areas. I have some thoughts already. Any paper propositions that should definitively be in?&lt;/p&gt;&#xA;" OwnerUserId="16892" LastActivityDate="2015-05-15T05:59:58.633" Title="Milestones in counting complexity" Tags="&lt;counting-complexity&gt;" AnswerCount="3" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31456" PostTypeId="2" ParentId="31455" CreationDate="2015-05-12T03:04:47.577" Score="7" Body="&lt;p&gt;A couple of obvious ones are Valiant's proof that &lt;a href=&quot;https://en.wikipedia.org/wiki/Sharp-P-completeness_of_01-permanent&quot;&gt;0-1 matrix permanents are $\#P$-complete&lt;/a&gt; (also introducing the class #P) and &lt;a href=&quot;https://en.wikipedia.org/wiki/Toda%27s_theorem&quot;&gt;Toda's theorem&lt;/a&gt; in the form that $P^{\#P}$ contains the polynomial hierarchy. But I'm really writing here to suggest a less obvious choice: the &lt;a href=&quot;https://en.wikipedia.org/wiki/Immerman%E2%80%93Szelepcs%C3%A9nyi_theorem&quot;&gt;Immerman–Szelepcsényi theorem&lt;/a&gt; that space complexity classes are closed under complementation. The statement of the theorem doesn't involve counting but its proof does (more specifically a technique called &quot;inductive counting&quot; that has been used by others since).&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2015-05-12T03:04:47.577" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31458" PostTypeId="1" AcceptedAnswerId="31461" CreationDate="2015-05-12T07:39:01.047" Score="6" ViewCount="224" Body="&lt;p&gt;Let $M$ be a monoid. The family $\operatorname{RAT}(M)$ of rational sets over $M$ is defined inductively:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;If $L$ is a finite subset of $M$, then $L\in\operatorname{RAT}(M)$.&lt;/li&gt;&#xA;&lt;li&gt;If $K,L\in\operatorname{RAT}(M)$, then $K\cup L\in\operatorname{RAT}(M)$ and $KL\in\operatorname{RAT}(M)$.&lt;/li&gt;&#xA;&lt;li&gt;If $L\in\operatorname{RAT}(M)$, then $L^*\in\operatorname{RAT}(M)$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;A similar definition can be found in &quot;J.-E. Pin, &lt;em&gt;Mathematical Foundations of Automata Theory&lt;/em&gt;&quot;, and already &quot;S. Eilenberg, &lt;em&gt;Automata, Languages, and Machines&lt;/em&gt;&quot; defines rational sets.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A &lt;em&gt;nondeterministic $M$-automaton&lt;/em&gt; $\mathcal A = (Q,\delta,I,F)$ consists of a set of states $Q$, a transition relation $\delta\subset Q\times M\times Q$, a set of initial states $I\subset Q$, and a set of final states $F\subset Q$. If $\delta$ is a finte set, then we say that $\mathcal A$ is &lt;em&gt;finite&lt;/em&gt;. A &lt;em&gt;run&lt;/em&gt; on $\mathcal A$ is a sequence of the form $$r=q_1u_1q_2\dots u_nq_{n+1}$$ with $(q_iu_iq_{i+1})\in\delta$ for all $1\leq i\leq n$. If $q_1\in I$ and $q_{n+1}\in F$, then we say that it &lt;em&gt;accepts&lt;/em&gt; $u=u_1\dots u_n$. The &lt;em&gt;set accepted by $\mathcal A$&lt;/em&gt; is defined as $$L(\mathcal A):=\{u\in M|\mathcal A \text{ has a run } r \text{ that accepts }u\}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I found this definition in chapter 7 &lt;em&gt;Automatentheorie&lt;/em&gt; of the German text book &quot;&lt;a href=&quot;http://www.amazon.de/Diskrete-algebraische-Methoden-Arithmetik-Kryptographie/dp/3110312603&quot;&gt;Volker Diekert, Manfred Kufleitner, Gerhard Rosenberger: &lt;em&gt;Diskrete algebraische Methoden: Arithmetik, Kryptographie, Automaten und Gruppen&lt;/em&gt;&lt;/a&gt;”. There we also find the following theorem:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Theorem 7.15&lt;/strong&gt; Let $M$ be a monoid and $L\subset M$. Then the following are equivalent:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;$L$ is rational, i.e. $L\in\operatorname{RAT}(M)$.&lt;/li&gt;&#xA;&lt;li&gt;$L$ is accepted by a nondeterministic finite $M$-automaton.&lt;/li&gt;&#xA;&lt;li&gt;$L$ is accepted by a &quot;spelling&quot; nondeterministic finite $M$-automaton with a single initial state.&lt;/li&gt;&#xA;&lt;li&gt;$L$ is accpected by a nondeterministic finite $M$-automaton with &quot;rational labels&quot;.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;I omitted the definitions for &quot;spelling&quot; and &quot;rational labels&quot;, because I only want to know who first introduced nondeterministic M-automata, and proved the equivalence of (1) and (2).&lt;/p&gt;&#xA;" OwnerUserId="20340" LastActivityDate="2015-05-12T08:33:50.867" Title="Who introduced nondeterministic M-automata, and proved that the finite ones recognize the rational sets over M?" Tags="&lt;automata-theory&gt;&lt;regular-language&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="31459" PostTypeId="2" ParentId="31415" CreationDate="2015-05-12T08:15:36.623" Score="1" Body="&lt;p&gt;Finally, I've found that the answer is that exists the possibility of leaving out many nodes out of any resulting community. There isn't any specified way in the original CPM algorithm to deal with them.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For anyone interested on a possible way to handle the left out nodes, there is an interesting article explaining an extension of CPM to do that:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Extended Clique percolation method to detect overlapping community structure&lt;/strong&gt; : &lt;a href=&quot;http://ieeexplore.ieee.org/xpl/articleDetails.jsp?arnumber=6968420&amp;amp;pageNumber%3D33268%26rowsPerPage%3D100&quot; rel=&quot;nofollow&quot;&gt;http://ieeexplore.ieee.org/xpl/articleDetails.jsp?arnumber=6968420&amp;amp;pageNumber%3D33268%26rowsPerPage%3D100&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;It seems that the modularity score obtained with this extension is usually better than the produced by the original CPM, but it comes with a price: it's slower.&lt;/p&gt;&#xA;" OwnerUserId="5497" LastActivityDate="2015-05-12T08:15:36.623" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31461" PostTypeId="2" ParentId="31458" CreationDate="2015-05-12T08:33:50.867" Score="10" Body="&lt;p&gt;According to J. Sakarovich, &lt;a href=&quot;http://perso.telecom-paristech.fr/~jsaka/ETA/eta.html&quot;&gt;Elements of Automata Theory&lt;/a&gt;, p. 372, &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;It seems that the result appears for the first time in [1]; hidden in a footnote of this seminal but difficult article, it was then given many statements, usually in special cases. &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;[1] C. C. Elgot and J. E. Mezei, On relations defined by generalized finite automata, IBM J. Res. and Develop., vol. 9 (1965), 47–68.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A full proof was also given in S. Eilenberg, Automata, Languages and Machines, vol. A, Academic Press, 1974.&lt;/p&gt;&#xA;" OwnerUserId="17203" LastActivityDate="2015-05-12T08:33:50.867" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31462" PostTypeId="1" AcceptedAnswerId="31468" CreationDate="2015-05-12T13:15:34.093" Score="6" ViewCount="131" Body="&lt;p&gt;By the well-known &lt;a href=&quot;http://en.wikipedia.org/wiki/Boolean_satisfiability_problem#Self-reducibility&quot;&gt;self-reducibility of SAT&lt;/a&gt; we can obtain a satisfying variable assignment for a Boolean formula by a polynomial number of calls to an $NP$ oracle (delivering only yes/no answers). Thus, the computation of a satisfying variable assignment for a Boolean formula is in $FP^{NP}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, it is not possible with only a logarithmic number of $NP$ queries to obtain a satisfying variable assignment of Boolean formula as shown by &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/000437029390069N&quot;&gt;Gottlob and Fermüller&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Has it already been shown that the computation of a satisfying variable assignment is also $FP^{NP}$-hard?&lt;/strong&gt;&lt;/p&gt;&#xA;" OwnerUserId="10219" LastEditorUserId="10219" LastEditDate="2015-05-12T13:40:24.373" LastActivityDate="2015-05-12T17:54:33.157" Title="Is the computation of a satisfying variable assignment for a Boolean formula $FP^{NP}$-hard?" Tags="&lt;sat&gt;&lt;complexity&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31463" PostTypeId="2" ParentId="31455" CreationDate="2015-05-12T13:18:33.847" Score="11" Body="&lt;p&gt;There has been a series of breakthroughs on Dichotomy Theorems by Professor Jin-Yi Cai &lt;a href=&quot;https://rjlipton.wordpress.com/2012/01/20/is-it-time-to-declare-victory-in-counting-complexity/&quot; rel=&quot;nofollow&quot;&gt;https://rjlipton.wordpress.com/2012/01/20/is-it-time-to-declare-victory-in-counting-complexity/&lt;/a&gt;&#xA;Another dichotomy theorem &lt;a href=&quot;https://rjlipton.wordpress.com/2014/06/23/counting-edge-colorings-is-hard/&quot; rel=&quot;nofollow&quot;&gt;https://rjlipton.wordpress.com/2014/06/23/counting-edge-colorings-is-hard/&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://rjlipton.wordpress.com/2011/02/14/classifying-papers-on-classifying-problems/&quot; rel=&quot;nofollow&quot;&gt;https://rjlipton.wordpress.com/2011/02/14/classifying-papers-on-classifying-problems/&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://rjlipton.wordpress.com/2009/06/09/computing-very-large-sums/&quot; rel=&quot;nofollow&quot;&gt;https://rjlipton.wordpress.com/2009/06/09/computing-very-large-sums/&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerDisplayName="user17918" LastEditorDisplayName="user17918" LastEditDate="2015-05-15T05:59:58.633" LastActivityDate="2015-05-15T05:59:58.633" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31464" PostTypeId="1" CreationDate="2015-05-12T13:46:27.800" Score="5" ViewCount="118" Body="&lt;p&gt;This conjecture is from an expert in Game Theory area, I post it here to draw more attentions of TCS experts. Discussions and comments are welcome. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://gtcenter.org/WCS_Call_for_papers.pdf&quot;&gt;http://gtcenter.org/WCS_Call_for_papers.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An unknown deterministic finite automaton with a known number of states $n$ is put in a black box. The states of the automaton are colored in two colors, 0 and 1. Given an input bit the automaton outputs the color of its current states and moves to a new state as a function of the current state and the input bit. A decision maker trying to predict the behaviour of the automaton by feeding it input bits and observing the output repeatedly. An attempt is called successful if the input bit is equal to the output bit. How many attempts does the decision maker need until he can succeed in 99% of the attempts (in expectation)? Neyman (1997) showed that $O(n \log n)$ is sufficient and conjectured that $Ω(n\log n)$ is necessary.&lt;/p&gt;&#xA;" OwnerDisplayName="user17918" LastActivityDate="2015-05-12T13:46:27.800" Title="Learning Finite Automata Behavior by Experimentation" Tags="&lt;cc.complexity-theory&gt;&lt;automata-theory&gt;" AnswerCount="0" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31467" PostTypeId="2" ParentId="31433" CreationDate="2015-05-12T16:43:03.837" Score="1" Body="&lt;p&gt;Computability theory in general has been somewhat under-formalized. The short answer is that most theorems of computability theory do not pass one of the three tests for formalization:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;A proof that is computationally intensive or untrusted for some reason (long, complex).&lt;/li&gt;&#xA;&lt;li&gt;A result that is relevant to undergraduate mathematics.&lt;/li&gt;&#xA;&lt;li&gt;A result that is useful to program verification.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Reason 1 may apply in this case, but the preliminary work to build up to that result unfortunately hasn't been carried out. I found one reference to mechanized computability theory by &lt;a href=&quot;http://link.springer.com/chapter/10.1007%2F978-3-642-39634-2_13&quot; rel=&quot;nofollow&quot;&gt;Xu, Zhang and Urban&lt;/a&gt; in Isabelle. It falls significantly short of priority results though.&lt;/p&gt;&#xA;" OwnerUserId="3984" LastActivityDate="2015-05-12T16:43:03.837" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="31468" PostTypeId="2" ParentId="31462" CreationDate="2015-05-12T17:29:59.757" Score="8" Body="&lt;p&gt;$\let\mr\mathrm$Let me denote the problem as $S$. Gottlob and Fermüller state that if $S$ is solvable in $\mr{FP}^{\mr{SAT}[\log n]}$, then $\mr{P}=\mr{NP}$. However, the argument actually shows more generally that if $S$ is in $\mr{FP}^{\mr{SAT}[q(n)]}$, then SAT is solvable in time $\mr{poly}(n2^{q(n)})$. In particular, assuming the exponential time hypothesis, $S$ cannot be solved with a sublinear number of $\mr{NP}$ queries.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, $S$ shouldn’t be hard for $\mr{FP}^\mr{SAT}$—or even $\mr{FP}^{\mr{SAT}[2]}$—under many-one search-problem reductions. For definiteness, let me assume (following Gottlob and Fermüller) that $S$ is formulated as a total search problem, required to answer “unsatisfiable” for unsatisfiable formulas. Let $L$ be a language whose $\{0,1\}$-valued characteristic function $f_L$ is reducible to $S$, that is, there are poly-time functions $g,h$ such that&#xA;$$S(g(x),y)\implies f_L(x)=h(x,y).$$&#xA;Then&#xA;\begin{align}&#xA;x\in L\iff{}&amp;amp;\bigl(g(x)\in\mr{UNSAT}\land h(x,\text{‘unsat’})=1\bigr)\\&#xA;&amp;amp;\lor\exists y\,\bigl(y\text{ satisfies }g(x)\land h(x,y)=1\bigr),&#xA;\end{align}&#xA;and we have a similar expression for $\overline L$ with $0$ in place of $1$, hence&#xA;$$L\in\mr{DP}\cap\mr{coDP}.$$&#xA;If this were true for all $\mr{DP}$ languages $L$, then the Boolean hierarchy would collapse to $\mr{DP}$, hence the polynomial hierarchy would collapse to something similar one level up. So, assuming no such collapse takes place, there are $\mr{FP}^{\mr{SAT}[2]}$ functions (in fact, characteristic functions of $\mr{DP}$ predicates) not reducible to $S$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that if we instead formulate $S$ so that it is &lt;em&gt;undefined&lt;/em&gt; on unsatisfiable inputs, it only becomes easier; it is a (non-total) $\mr{FNP}$ problem. Then it is not hard to see that $f_L$ is reducible to $S$ only if $L\in\mr{NP}\cap\mr{coNP}$. In particular, $S$ is not hard for $\mr{FP}^{\mr{SAT}[1]}$ (or characteristic functions of $\mr{NP}$ languages) unless $\mr{NP}=\mr{coNP}$.&lt;/p&gt;&#xA;" OwnerUserId="6959" LastEditorUserId="6959" LastEditDate="2015-05-12T17:54:33.157" LastActivityDate="2015-05-12T17:54:33.157" CommentCount="14" ContentLicense="CC BY-SA 3.0" />
  <row Id="31469" PostTypeId="1" AcceptedAnswerId="41479" CreationDate="2015-05-12T22:57:31.063" Score="16" ViewCount="266" Body="&lt;p&gt;I will introduce my problem with an example. Say you are designing an exam, which consists of a certain set of $n$ independent questions (that the candidates can get either right or wrong). You want to decide on a score to give to each of the questions, with the rule being that candidates with total score above a certain threshold will pass, and the others will fail.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In fact, you are very thorough about this, and you have envisioned &lt;em&gt;all&lt;/em&gt; the possible $2^n$ results, and decided for each of them whether a candidate with this performance should pass or fail. So you have a Boolean function $f : \{0, 1\}^n \to \{0, 1\}$ that indicates whether the candidate should pass or fail depending on their exact answers. Of course this function should be &lt;em&gt;monotone&lt;/em&gt;: when getting a set of questions right makes you pass, getting any superset right must make you pass as well.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can you decide on scores (positive real numbers) to give to the questions, and on a threshold, so that your function $f$ is exactly captured by the rule &quot;a candidate passes if the sum of scores for the correct questions is above the threshold&quot;? (Of course the threshold can be taken to be 1 without loss of generality, up to multiplying the scores by a constant.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Formally:&lt;/strong&gt; Is there a characterization of the monotone Boolean functions $f: \{0, 1\}^n \to \{0, 1\}$ for which there exist $w_1, \ldots, w_n \in \mathbb{R}_+$ such that for all $v \in \{0, 1\}^n$, we have $f(v) = 1$ iff $\sum_i w_i v_i \geq 1$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is not so hard to see that not all functions can be thus represented. For instance the function $(x_1 \wedge x_2) \vee (x_3 \wedge x_4)$ cannot: as $(1, 1, 0, 0)$ is accepted we must have $w_1 + w_2 \geq 1$, so one of $w_1, w_2$ must be $\geq 1/2$, and likewise for $w_3, w_4$. Now, if it is, e.g., $w_1$ and $w_3$, we have a contradiction because $w_1 + w_3 \geq 1$ but $(1, 0, 1, 0)$ is rejected; the other cases are analogous.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This looks to me like a very natural problem, so my main question is to know under which name this has been studied. Asking for a &quot;characterization&quot; is vague, of course; my question is to know whether the class of functions that can be represented in this way has a name, what is known about the complexity of testing whether an input function belongs to it (given as a formula, or as a circuit), etc.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course one can think of many variations on this theme. For instance, on real exams, questions are not independent, but there is a DAG on questions indicating the dependence, and candidates can only answer a question if all prerequisites have been answered. The condition on the monotone functions could then be restricted to valuations in $\{0, 1\}^n$ that satisfy the dependencies, and the question would be to determine whether an input function can be thus captured given an input DAG on the variables. One could also think of variants where the scores are $k$-tuples for fixed $k$ (summed pointwise, and compared pointwise to a threshold vector), which can capture more functions than $k = 1$. Alternatively you could want to capture more expressive functions which are not Boolean but go to a totally ordered domain, with different thresholds that should indicate your position in the domain. Last, I'm not sure about what would happen if you allowed negative scores (so you could drop the monotone restriction about the functions).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Note: What made me wonder about this is the Google Code Jam selection round, where candidates are selected if they reach a certain score threshold, and the scores of problems are presumably carefully designed to reflect what sets of problems are deemed sufficient to get selected. Code Jam has a dependency structure on the questions, with some &quot;large input&quot; questions that cannot be solved unless you have solved the &quot;small input&quot; one first.)&lt;/p&gt;&#xA;" OwnerUserId="4795" LastActivityDate="2018-09-01T23:41:03.333" Title="Which monotone Boolean functions are representable as thresholds on sums?" Tags="&lt;reference-request&gt;&lt;boolean-functions&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="31471" PostTypeId="2" ParentId="31447" CreationDate="2015-05-13T02:29:29.387" Score="2" Body="&lt;p&gt;Look up the concept of anticodes. Some bounds exist.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also if you have a linear $t-$error correcting code over $GF(q)$ with length $n$ and covering radius $r$ and use homogeneity under translations by adding vectors $n-d=n-2t-1$ would seem to be your answer but I haven't checked carefully. Cohen and Litsyn have a book on covering codes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;A Simple Construction&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Fix $k\geq 1$ and let $v=\lceil n/k \rceil$ and consider the strings as $GF(q)^n.$ Generate all $k-$tuples over $GF(q)$ to obtain $M=q^k$ codewords. Map these codewords to $GF(q)^n$ by expanding by $v$ for the first $k-1$ coordinates and expanding by $n-(k-1)v$ for the last coordinate. For example, let $q=3,$ $n=5$ and $k=2.$ Your codewords are&#xA;$$&#xA;\begin{array}{cc}&#xA;0&amp;amp;0\\&#xA;0&amp;amp;1\\&#xA;0&amp;amp;2\\&#xA;1&amp;amp;0\\&#xA;1&amp;amp;1\\&#xA;1&amp;amp;2\\&#xA;2&amp;amp;0\\&#xA;2&amp;amp;1\\&#xA;2&amp;amp;2\\&#xA;\end{array}&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;which become upon expansion with $v=4$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;\begin{array}{c}&#xA;0000~000\\&#xA;0000~111\\&#xA;0000~222\\&#xA;1111~000\\&#xA;1111~111\\&#xA;1111~222\\&#xA;2222~000\\&#xA;2222~111\\&#xA;2222~222\\&#xA;\end{array}&#xA;$$&#xA;Now, for any possible vector in $GF(3)^7$ there is a codeword which is quite far from it.&#xA;Namely, if there are fewer than 2 symbols for that vector in a block, there is a codeword which is at Hamming distance $v$ from it. If all 3 symbols occur, there is a codeword at Hamming distance $\geq \lfloor 2v/3 \rfloor$ from it. Since all possible constant blocks occur, for any possible vector in $GF(3)^7$ there is a codeword in this code of only $M=9$ codewords which is at Hamming distance $\geq k \lfloor (q-1)v/q \rfloor \approx n(1-\frac{1}{q}).$ Choosing $v$ a multiple of $q$ will make this more efficient.&lt;/p&gt;&#xA;" OwnerUserId="21948" LastEditorUserId="21948" LastEditDate="2015-05-13T04:54:03.057" LastActivityDate="2015-05-13T04:54:03.057" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31473" PostTypeId="1" CreationDate="2015-05-13T06:58:06.123" Score="18" ViewCount="502" Body="&lt;p&gt;&lt;strong&gt;Question 1:&lt;/strong&gt;  Is it true that for every polynomial $p(n)$ and $\epsilon &amp;gt;0$ there is a polynomial $q(n)$ such that every monotone Boolean function on $n$ variables that can be expressed by a Boolean circuit of size $p(n)$ can be $\epsilon$-approximated by a &lt;em&gt;monotone&lt;/em&gt; Boolean circuit of size at most $q(n)$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A function $f$ is $\epsilon$-approximated by a function $g$ if they agree on at least $(1-\epsilon)$ fraction of inputs. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;We can ask a slightly more general question. Let $\mu_p$ denote the Bernoulli measure on $\{0,1\}^n$ where every variable is '1' with probability $p$. For a (non-constant) monotone function $f$ let $p_c(f)$ be the value such that $\mu_{p_c}(\{x: f(x)=1\})=1/2$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question 2:&lt;/strong&gt;  Is it true that for every polynomial $p(n)$ and $\epsilon &amp;gt;0$ there is a polynomial $q(n)$ such that every monotone Boolean function $f$ on $n$ variables, there is a Boolean function $g$ that can be expressed by a monotone Boolean circuit of size $q(n)$ such that for $p=p_c(f)$, $\mu_p(\{x: f(x) \ne g(x) \}) \le \epsilon$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course, the instinctive thought is that the answers for both these question is &lt;strong&gt;NO&lt;/strong&gt;. Is it known? Razborov famously proved that matching cannot be expressed by a monotone Boolean circuit of polynomial size. But matching can be approximated in its critical probability by the property that there are no isolated vertices and this property admits a monotone (low depth) circuit.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I asked the analog questions (Problems 1,2,3) for $AC^0$ and $TC^0$ in &lt;a href=&quot;https://gilkalai.wordpress.com/2010/02/10/noise-stability-and-threshold-circuits/&quot;&gt;this blog post&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="712" LastEditorUserId="712" LastEditDate="2015-05-13T09:27:55.067" LastActivityDate="2015-05-13T09:27:55.067" Title="Are monotone Boolean functions in P well-approximated by monotone polynomial-size circuits?" Tags="&lt;cc.complexity-theory&gt;&lt;circuit-complexity&gt;&lt;pr.probability&gt;" AnswerCount="0" CommentCount="8" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="31475" PostTypeId="2" ParentId="31455" CreationDate="2015-05-13T10:24:38.337" Score="7" Body="&lt;p&gt;From the comment above: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Perhaps a nice (old) result is the (polynomial-time) equivalence between counting the number of isomorphisms between two graphs and deciding whether two graphs are isomorphic: &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/0020019079900048&quot; rel=&quot;nofollow&quot;&gt;Rudolf Mathon, A note on the graph isomorphism counting problem, Information Processing Letters, Volume 8, Issue 3, 15 March 1979, Pages 131-136.&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that this is an &quot;evidence&quot; to the conjecture that GI is not NP-complete:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Abstract:&lt;/strong&gt;&#xA;The objective of this note is to show that the problem of recognizing whether or not two graphs are isomorphic and the problem of counting all isomorphisms between the graphs are polynomial-time equivalent. Since no NP-complete problem is known for which checking and counting are polynomial-time reducible to each other this result lends evidence to the conjecture that graph isomorphism is not NP-complete. ...&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2015-05-13T15:05:16.313" LastActivityDate="2015-05-13T15:05:16.313" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="31477" PostTypeId="1" CreationDate="2015-05-13T20:54:20.930" Score="1" ViewCount="122" Body="&lt;p&gt;Could I get some references on formal semantics for a calculus on linear algebra that helps you study matrix or tensor based programming languages? I am looking for anything that encompasses linear or multilinear algebra objects and operations as first class constructs. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I remember seeing something on it a while ago but I can't seem to find that paper or any other reference on the subject. If there is any specific terminology that would help me search for it better it would also be appreciated. &lt;/p&gt;&#xA;" OwnerUserId="31761" LastEditorUserId="1037" LastEditDate="2015-05-13T21:32:49.690" LastActivityDate="2015-05-13T21:32:49.690" Title="Has there been work on formal Semantics for linear algebra?" Tags="&lt;reference-request&gt;&lt;linear-algebra&gt;&lt;type-systems&gt;&lt;operational-semantics&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="31478" PostTypeId="2" ParentId="29487" CreationDate="2015-05-13T23:08:48.420" Score="2" Body="&lt;p&gt;I hope the following partially answers your question. I've never seen this  observation published anywhere (please correct me if I'm wrong).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First of all, FQMA - a quantum analog of FNP - was defined: &lt;a href=&quot;https://complexityzoo.uwaterloo.ca/Complexity_Zoo:F#fqma&quot; rel=&quot;nofollow&quot;&gt;https://complexityzoo.uwaterloo.ca/Complexity_Zoo:F#fqma&lt;/a&gt; &lt;/p&gt;&#xA;&#xA;&lt;p&gt;One of the compelling reasons to define the complexity class NP is that there is a decision to search reduction: polynomial access to an oracle that solves NP-Complete problems allows you to search for a solution of any problem in FNP in polynomial time. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A decision to search reduction is not known between QMA and FQMA . For example, access to an oracle for the Local Hamiltonian problem is not known to be sufficient to efficiently construct a ground state.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another related (although, not directly related to your question) reduction which is known for many classical NP problems, but not for QMA problems is downward self reducibility:&#xA;A language L is downward self reducible if there is a cook reduction from L to itself such that the queries are shorter than the original input. For example, given a Local Hamiltonian H with m terms, decide whether its minimal energy is below a or above b (where b-a&gt;1/poly) by asking questions regarding Hamiltonians which have m-1 terms or less. Many decision to search reductions have this additional property.&lt;/p&gt;&#xA;" OwnerUserId="888" LastActivityDate="2015-05-13T23:08:48.420" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31480" PostTypeId="1" CreationDate="2015-05-14T09:31:56.317" Score="3" ViewCount="187" Body="&lt;p&gt;I want to understand the Gottesman-Knill theorem, which basically says that using some subclass of unitary transformations (from the Clifford group) there is no quantum speed-up ie. we can simulate the system efficiently on a classical computer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I want to understand the claims presented in &lt;a href=&quot;http://core.ac.uk/download/pdf/11923581.pdf&quot; rel=&quot;nofollow&quot;&gt;http://core.ac.uk/download/pdf/11923581.pdf&lt;/a&gt; .&#xA;The author says that the reason that using only Clifford group brings efficient classical simulation is because the transformations in Clifford group inlcude only rotations of the Bloch sphere by multiples of $\pi/2$. He then goes on to explain that these transformations don't violate Bell's inequalities (specifically CHSH inequalities): &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;In an entangled quantum system, no amount of $k\pi/2$&#xA;  transformations of one of the constituent systems will cause it to take on an&#xA;  orientation with respect to the other subsystems that is not a multiple of $\pi/2$ (unless it was so oriented initially).And as we have seen above, the statistics of compound&#xA;  states for which the difference in orientation between subsystems is a multiple of $\pi/2$&#xA;  are capable in general of being reproduced by a classical hidden variables theory.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I wan't to know if this claim is correct and first of all, I would be happy if someone explained this to me on an example. I heard that stabilizer formalism can violate Bell's inequalities so this is all weird to me.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;PS. My basic intention is to have a clearer picture of why some subclass of transformations can be efficiently simulated classicaly and I thought this would be a nice way to understand it (if of course it is true). If anyone has any other ideas as to how to explain the Gottesman-Knill (besides stabilizer formalism), I would be very happy.&lt;/p&gt;&#xA;" OwnerUserId="34101" LastEditorUserId="34101" LastEditDate="2015-05-15T12:40:46.230" LastActivityDate="2015-07-29T14:56:46.870" Title="Understanding efficient classical simulation of quantum computing" Tags="&lt;quantum-computing&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="31482" PostTypeId="1" CreationDate="2015-05-14T11:18:19.807" Score="4" ViewCount="194" Body="&lt;p&gt;The usage of an $\mathrm{NP}$-oracles which delivers a witness has been proposed for example in [Buss1995]. I would like to see an example of an $\mathrm{FP}^{\mathrm{NP}}[wit, log]$-hard problem. Can someone tell me?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since I am not a complexity theory expert, I could not come up with an example nor could I find an example by searching through papers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;References:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[Buss1995] Buss, Krajíček, Takeuti, &quot;Provably total functions in the bounded arithmetic theories $R_3^i$, $U_2^i$ and $V_2^i$&quot; (1995)&lt;/p&gt;&#xA;" OwnerUserId="10219" LastEditorUserId="6959" LastEditDate="2015-05-15T13:33:41.307" LastActivityDate="2015-05-16T16:55:08.490" Title="Example of a function problem which is $\mathrm{FP}^{\mathrm{NP}}[wit, log]$-hard?" Tags="&lt;np-hardness&gt;&lt;complexity-classes&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31484" PostTypeId="1" AcceptedAnswerId="31563" CreationDate="2015-05-14T13:06:12.233" Score="5" ViewCount="329" Body="&lt;p&gt;I wonder&lt;sup&gt;1&lt;/sup&gt; whether there is a known relativization barrier against proving $L\neq NP$. Hence I'm looking for a language $A$ for which $L^A=NP^A$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My first idea was to try $A:=SAT$, but then I thought that $L^A\subset P^A = \Delta_2^P$ and $NP^A=\Sigma_2^P$. This seems to disqualify not only $A:=SAT$, but any complete problem $A$ from the &lt;a href=&quot;http://en.wikipedia.org/wiki/Polynomial_hierarchy&quot; rel=&quot;nofollow noreferrer&quot;&gt;polynomial hierarchy&lt;/a&gt; for my purpose.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My next idea was to try $A:=TQBF$, where $TQBF$ is the $PSPACE$-complete problem to decide &lt;a href=&quot;http://en.wikipedia.org/wiki/True_quantified_Boolean_formula&quot; rel=&quot;nofollow noreferrer&quot;&gt;true quantified Boolean formulas&lt;/a&gt;. But $P^A=NP^A$ is well known, and $L^A=NP^A$ is a stronger statement, so $L^A=NP^A$ would be well known, if anybody had proved it.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;My question is just whether there is a known relativization barrier. We certainly can't prove that such a language $A$ can't exist, because otherwise we would get $L\neq NP$ as corollary.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;sub&gt;&#xA; 1. I &lt;a href=&quot;https://cs.stackexchange.com/a/42306&quot;&gt;know&lt;/a&gt; that logarithmically space bounded TMs with stack recognize exactly the languages from $P$, independent of whether the TM is deterministic or not. I don't know whether this result relativizes, but I guess it does. So I wonder whether there can be a language $A$ with $NL^A=P^A$. But asking for $L^A=NP^A$ instead seems easier, because of the connection to the polynomial hierarchy.&#xA;&lt;/sub&gt;&lt;/p&gt;&#xA;" OwnerUserId="20340" LastEditorUserId="-1" LastEditDate="2017-04-13T12:48:30.830" LastActivityDate="2015-05-21T22:48:29.700" Title="Relativized world where $L^A=NP^A$" Tags="&lt;cc.complexity-theory&gt;&lt;relativization&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="31485" PostTypeId="1" CreationDate="2015-05-14T20:15:55.937" Score="1" ViewCount="83" Body="&lt;p&gt;Major rewrite justifiably asked for:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm currently trying to get a categorical way of doing something called the Gelfond-Lifschitz reduct on a set of single-headed Horn clauses. The semantics is the answer set semantics, and the idea is that given a program &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\Pi=\{a_i\gets L_{i_1}, \dots L_{i_k}, i\in\{1\dots n\}\}$ and a model $S$,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;the Gelfond Lifschitz reduct on $\Pi$ is $\Pi$ with the following removed:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;All occurences of clauses with $not\ a$ in the body for $a\in S$&lt;/li&gt;&#xA;&lt;li&gt;All occurences $not\ a$ for all $a\notin S$.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Now, having a basic games model of this already, I'm trying to find out what further contraints on the category of games are required.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A seemingly neat way of doing the first part of the G-L reduct is being able to factor out points denoted by the model $S$ from the object denoting $\Pi$ such that every map in the denotation of $\Pi$ containing a map to the terminal object should be removed. (denoting negation as a map to the terminal object)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Similarly the second part requires a similar construct, where everything not consisdered a point by the denotation of the model should be removed entirely from the object denoted by $\Pi$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I hope this makes more sense and I am very willing to clarify more.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;More Clarification:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To summarize the semantics, we take a program $\Pi$ and denote that it itself is a category with objects as the literals and the horn clauses are the maps. We define a few operations on the category $C_{\Pi}$ denoting $\Pi$, namely the transitive closure as well as satisfiable model map which takes $C_{\Pi}$ to a category whose objects are purely points. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The point is that I have two effective issues at the same time. I need a semantics that allows the literals to be objects and the general denotation of implication to be a map between objects, &lt;em&gt;and&lt;/em&gt; I need a set of operations on the categories denoted by the programs to constrain the categories.&lt;/p&gt;&#xA;" OwnerUserId="25484" LastEditorUserId="25484" LastEditDate="2015-05-20T20:59:25.800" LastActivityDate="2015-05-20T20:59:25.800" Title="Categorical way of factoring out points" Tags="&lt;ct.category-theory&gt;&lt;denotational-semantics&gt;" AnswerCount="0" CommentCount="10" ContentLicense="CC BY-SA 3.0" />
  <row Id="31486" PostTypeId="1" CreationDate="2015-05-14T21:56:26.407" Score="6" ViewCount="212" Body="&lt;p&gt;By the answer to &lt;a href=&quot;https://cstheory.stackexchange.com/questions/14856/what-is-the-space-complexity-of-calculating-eigenvalues/14996#14996&quot;&gt;this question&lt;/a&gt;, computing the eigenvalues of a matrix to within $2^{-n}$ precision can be done in polylogarithmic space. Is it also possible to compute the eigenvectors of a matrix to within precision $2^{-n}$ in polylogarithmic space? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;We can try to find the eigenvectors from the eigenvalues, but since we only have the eigenvalues up to precision $2^{-n}$, this seems to lead to a host of numerical stability issues (in particular, if there are two nearby eigenvalues, small perturbations in the matrix can lead to large perturbations in the eigenvectors). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any references are appreciated!&lt;/p&gt;&#xA;" OwnerUserId="22819" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2015-05-14T21:56:26.407" Title="What is the space complexity of computing the eigenvectors of a matrix?" Tags="&lt;linear-algebra&gt;&lt;space-bounded&gt;&lt;logspace&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="31489" PostTypeId="1" CreationDate="2015-05-02T15:52:12.190" Score="7" ViewCount="69" Body="&lt;p&gt;Consider an arbitrary integer linear program of the form &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\min f(x,y) \\&#xA;@ \  Ax + By \leq c\\&#xA;x,y \in \mathbb{Z}_+$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you continuous-relax the integer constraint and still always get integer points as solutions, we talk about the unimodularity property.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But what if you relax the integer constraints and always get integer solutions for $x$, but not necessarily for $y$? Is there a name for this property, and is this type of problem covered anywhere in literature/research?&lt;/p&gt;&#xA;" OwnerUserId="31967" OwnerDisplayName="luegofuego" LastEditorUserId="31967" LastEditDate="2015-08-13T09:35:41.407" LastActivityDate="2015-08-13T09:35:41.407" Title="Is there a name for this unimodilarity-related property?" Tags="&lt;integer-programming&gt;" AnswerCount="0" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31490" PostTypeId="2" ParentId="30767" CreationDate="2015-05-15T11:33:39.663" Score="3" Body="&lt;p&gt;Another example is the classical work of Coppersmith and Winorgrad from 1990 on matrix multiplication, which is based on additive combinatorics &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0747717108800132&quot; rel=&quot;nofollow&quot;&gt;http://www.sciencedirect.com/science/article/pii/S0747717108800132&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="10823" LastActivityDate="2015-05-15T11:33:39.663" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31496" PostTypeId="2" ParentId="31424" CreationDate="2015-05-16T04:14:28.217" Score="1" Body="&lt;p&gt;See Venema, Yde. Temporal Logic. The blackwell guide to Philosophical Logic.&lt;/p&gt;&#xA;" OwnerUserId="34130" LastActivityDate="2015-05-16T04:14:28.217" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="31499" PostTypeId="1" CreationDate="2015-05-16T13:16:53.577" Score="3" ViewCount="263" Body="&lt;p&gt;A theoretical construct that comes up a lot in algorithmic computability theory is a &lt;em&gt;universal prefix-free language&lt;/em&gt;. For my purposes, this is a language with the following properties:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;its syntax is defined by a binary prefix code. That is, concatenating extra digits to the end of a valid program will never result in another valid program, and if you keep choosing 0s and 1s at random indefinitely, you will eventually end up with a valid program.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;it is Turing complete&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;its output is a stream of binary digits&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I have a slightly crazy idea that would require me to play around with an actual implementation of such a language - I want to be able to generate arbitrary (self-terminating) binary strings, have them interpreted as programs, and get binary strings as output.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course, in principle I could just invent some kind of trivial prefix-free encoding of ASCII, run it through an interpreter for my favourite language, and convert STDOUT to binary. However, if I do this, the chances of it doing anything other than terminate immediately (with a syntax error) are vanishingly small. Thus, I also have the following requirement:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The language is such that a (uniformly) randomly generated program has a reasonable chance of doing something non-trivial and returning output&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;My question is whether such a language exists - either as a formal definition in the literature that wouldn't be too time-consuming to implement, or as a command line tool or (better) a library that can be called from C++ or Python. Given the amount that has been written about this construct, I would find it mildly surprising if no-one had constructed a concrete example, but I haven't been able to track one down.&lt;/p&gt;&#xA;" OwnerUserId="13804" LastEditorUserId="13804" LastEditDate="2015-05-16T15:35:32.587" LastActivityDate="2015-05-18T19:06:10.180" Title="Actual practical example of a prefix-free Turing-complete language" Tags="&lt;pl.programming-languages&gt;" AnswerCount="1" CommentCount="12" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="31500" PostTypeId="2" ParentId="31482" CreationDate="2015-05-16T13:51:45.733" Score="3" Body="&lt;p&gt;$\let\mr\mathrm\def\xx{\mr{FP^{NP[wit,\log]}}}\xx$ is not defined as a class of &lt;em&gt;functions&lt;/em&gt;, but of potentially multivalued &lt;em&gt;search&lt;/em&gt; &lt;em&gt;problems&lt;/em&gt;. It is not difficult to construct $\xx$-complete search problems by variating the usual Cook–Levin theorem. Here is one, somewhat simplified from what I suggested in the comment above.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First, as should be mentioned somewhere in the BKT paper, the class $\xx$ does not change if all the oracle queries are made to ordinary, nonwitnessing NP oracles, except for the final query, which is guaranteed to succeed, and returns a witness $(u,v)$ such that $u$ is the output of the algorithm. Moreover, since $\mr{P^{NP[\log]}}=\mr{P^{\|NP}}$, we can simulate the initial $O(\log n)$ nonwitnessing queries with polynomially many &lt;em&gt;nonadaptive&lt;/em&gt; (parallel) NP queries.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, if $A(x)$ is a polynomial-time algorithm making $n^c$ nonadaptive queries to an NP-oracle, and one witnessing query in the fashion described above, then&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\qquad B(x,1^j)\iff{}$ “the $j$th parallel query made by $A$ on input $x$ is true”&lt;/p&gt;&#xA;&#xA;&lt;p&gt;is an NP-predicate, hence by the Cook–Levin theorem, it is equivalent to the satisfiability of a poly-time (or log-space) constructible 3-CNF. Likewise,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\qquad C(x,a_1,\dots,a_{n^c})\iff{}$ “the final query is true in the run of $A$ on input $x$ such that the $j$th parallel query is answered with $a_j\in\{0,1\}$ for each $j$”&lt;/p&gt;&#xA;&#xA;&lt;p&gt;is an NP-predicate, and the output of $A(x)$ can be read off from a witness to $C(x,\vec a)$ if supplied with the correct $\vec a$. Again, it can be expressed as a 3-CNF. Thus, the following search problem is $\xx$-complete:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Input:&lt;/strong&gt; A sequence of 3-CNFs $(\phi_1,\dots,\phi_n)$ (in whatever variables), and a 3-CNF $\psi(x_1,\dots,x_n,y_1,\dots,y_m)$&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;&lt;strong&gt;Output:&lt;/strong&gt; A satisfying assignment $(b_1,\dots,b_m)$ to $\psi(a_1,\dots,a_n,y_1,\dots,y_m)$, where&#xA;  $$a_j=\begin{cases}1&amp;amp;\text{if $\phi_j$ is satisfiable,}\\&#xA;0&amp;amp;\text{otherwise.}\end{cases}$$&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Perhaps a more compelling $\xx$-complete problem is the following search variant of MAX-3SAT:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Input:&lt;/strong&gt; A 3-CNF $\phi$.&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;&lt;strong&gt;Output:&lt;/strong&gt; An assignment that satisfies the maximum possible number of clauses in $\phi$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;To see that this works, let $(\phi_1,\dots,\phi_n)$ and $\psi$ be as in the previous problem, where due to the way the reduction works, we may assume that $\psi(a_1,\dots,a_n,\vec y)$ is satisfiable for every $\vec a\in\{0,1\}^n$. We may also assume that variables used by the $\phi_j$ are pairwise disjoint, and disjoint from $\vec x,\vec y$. Then let $\phi$ be the conjunction of all clauses of $\phi_1,\dots,\phi_n,\psi$, together with a handful additional clauses that express that $x_j$ is true iff all clauses of $\phi_j$ are true.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given any assignment to variables of $\phi_1,\dots,\phi_n$, we can find an assignment of the remaining variables that satisfies all clauses of $\psi$, and the additional clauses. Moreover, we can change an assignment of the variables of $\phi_j$ without affecting $\phi_k$ for $k\ne j$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thus, an assignment satisfying the maximal number of clauses of $\phi$ will also individually maximize the number of satisfied clauses of each $\phi_j$, and in particular, it will satisfy the whole $\phi_j$ iff $\phi_j$ is satisfiable, and its restriction to the $\vec y$ variables will be a correct solution to the original problem.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;The above are multivalued search problems. As far as I am aware, it is an open problem whether there are $\xx$-complete functions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As should also be mentioned in the BKT paper, predicates (i.e., $\{0,1\}$-valued functions) in $\xx$ are computable using nonwitnessing oracles: they are exactly the predicates in the class&#xA;$$\Theta_2^{\mr P}=\mr{P^{NP[\log]}}=\mr{P^{\|NP}}=\mr{L^{NP}}.$$&#xA;Consequently, a function $f$ is in $\xx$ if and only if&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;$|f(x)|$ is polynomially bounded in $|x|$, and&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;the bit-graph of $f$ is in $\Theta_2^\mr P$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Thus, we could call the class of such functions $\mr{F\Theta_2^P}$. A similar reasoning as above shows that the following is an $\mr{F\Theta_2^P}$-complete function:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Input:&lt;/strong&gt; A sequence of 3-CNFs $(\phi_1,\dots,\phi_n)$&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;&lt;strong&gt;Output:&lt;/strong&gt; The sequence $(a_1,\dots,a_n)$, where&#xA;  $$a_j=\begin{cases}1&amp;amp;\text{if $\phi_j$ is satisfiable,}\\&#xA;0&amp;amp;\text{otherwise.}\end{cases}$$&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Since $\mr{F\Theta_2^P}$ is closed under composition, an inspection of the two complete problems shows:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Proposition:&lt;/strong&gt; The following are equivalent.&lt;/p&gt;&#xA;  &#xA;  &lt;ol&gt;&#xA;  &lt;li&gt;&lt;p&gt;There exists an $\xx$-complete function.&lt;/p&gt;&lt;/li&gt;&#xA;  &lt;li&gt;&lt;p&gt;For every $\xx$-search problem $S(x,y)$, there is an $\mr{F\Theta_2^P}$-function $f$ such that $S(x,f(x))$.&lt;/p&gt;&lt;/li&gt;&#xA;  &lt;li&gt;&lt;p&gt;There is an $\mr{F\Theta_2^P}$-function that computes a satisfying assignment to any given satisfiable 3-CNF.&lt;/p&gt;&lt;/li&gt;&#xA;  &lt;/ol&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="6959" LastEditorUserId="6959" LastEditDate="2015-05-16T16:55:08.490" LastActivityDate="2015-05-16T16:55:08.490" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="31501" PostTypeId="1" CreationDate="2015-05-16T17:24:12.347" Score="1" ViewCount="855" Body="&lt;p&gt;I've got the following problem&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider a DAG $G=(V,E)$ with $V=[v_1,…,v_n]$, and edge-set $E=[e_1,…,e_m]$, with associated costs $c_1,…,c_m$. The problem is to find the shortest paths from an initial vertex $s$ to multiple targets $t_1,…,t_k$, taking into account these costs. A typical shortest path problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, my problem is slightly different:&#xA;the costs $c_1,…,c_m$ depend on the previously traversed nodes&#xA;Is there an alternative to the brute-force solution: find all the simple paths between $s$ and $t$ and then select the one with the lowest cost?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Path can be compared.&#xA;Take as example the following graph:&#xA;Red arcs are &quot;checkpoint arcs&quot;. All the sub-paths having a red arc as last one can be compared, so a local decision can be taken. Similarly, costs are reset after traversing such arcs: 22-&gt;23 has a different cost if the subpath includes the arc 11-&gt;22 or not.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/jc7jb.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT 2:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Costs are related to two sequences: $P$ and $Q$, where $len(P)=N$ and $len(Q)=M$. In the aforementioned case $M=N=4$.&#xA;Each element of $P$ and $Q$ is a tuple $(t,p)$. The tuple ($t_i,p_i)$ is the ith tuple of the sequence. Tuples are constrained on $t$: $t_{i+1} &amp;gt; t_i$. There's no constraint on $p$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $s_p$ a set of valid indices for the sequence $P$ and $s_qp$ a set of valid indices for the sequence $Q$. The cost $C(s_p,s_q)= C_t(s_p,s_q)+C_q(s_p,s_q)$ where $C_t = max(max(P[s_p][t]),max(Q[s_q][t])) - min(min(P[s_p][t]),min(Q[s_q][t]))$ and $C_p = max(max(P[s_p][p]),max(Q[s_q][p])) - min(min(P[s_p][p]),min(Q[s_q][p]))$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The cost $C(s_p,s_q)$ represents the &quot;diameter&quot; of the element obtained by merging the $s_p$th elements of $P$ and the $s_q$th elements of $Q$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Each path in the graph builds different $s_p$ and $s_q$ sets.&#xA;For example, the path 00,11,22,33 has a cost $C_{tot} = C(0,0)+ C(1,1)+ C(2,2)+ C(3,3)$, while the path 00 - 01 - 12 - 22 - 33 has a cost $C_{tot} = C(0,[0,1])+ C([1,2],2)+ C(3,3)$&lt;/p&gt;&#xA;" OwnerUserId="34122" LastEditorUserId="879" LastEditDate="2015-06-02T17:03:51.020" LastActivityDate="2015-06-02T17:03:51.020" Title="Shortest path in DAG with path dependent arc costs" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;directed-acyclic-graph&gt;" AnswerCount="2" CommentCount="7" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31502" PostTypeId="2" ParentId="31501" CreationDate="2015-05-16T19:04:38.450" Score="6" Body="&lt;p&gt;Without further information on how the costs can vary, the problem is NP-complete. For instance, consider the following rule for setting costs:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;If an edge would return to a previously-traversed node then its cost is $n$&lt;/li&gt;&#xA;&lt;li&gt;If an edge reaches $t$ without previously traversing all other nodes then its cost is $n$&lt;/li&gt;&#xA;&lt;li&gt;In all other cases the cost of an edge is $1$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;For such a rule, a Hamiltonian path has cost $n-1$ and all other paths have cost $n$ or greater. The problem could still be solved more efficiently than a brute-force search (e.g. in time $O(n^22^n)$ by dynamic programming) but not in polynomial time unless $\mathsf{P}=\mathsf{NP}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So if you want to find a polynomial time algorithm you will need to be much more specific about what sort of dependence between edge cost and previous path information is allowed.&lt;/p&gt;&#xA;" OwnerUserId="95" LastEditorUserId="95" LastEditDate="2015-05-16T23:56:35.447" LastActivityDate="2015-05-16T23:56:35.447" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="31503" PostTypeId="1" AcceptedAnswerId="31514" CreationDate="2015-05-16T22:54:46.490" Score="15" ViewCount="432" Body="&lt;p&gt;In our recent work, we resolve a computational problem which arose in combinatorial context, under assumption that $\mathsf{EXP} \ne \mathsf{\oplus{}EXP}$, where $\mathsf{\oplus{}EXP}$ is the $\mathsf{EXP}$-version of $\mathsf{\oplus{}P}$. The only paper on $\mathsf{\oplus{}EXP}$ that we found was the Beigel-Buhrman-Fortnow &lt;a href=&quot;http://people.cs.uchicago.edu/~fortnow/papers/newiso.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;1998 paper&lt;/a&gt; that is cited  on &lt;a href=&quot;https://complexityzoo.uwaterloo.ca/Complexity_Zoo:Symbols&quot; rel=&quot;nofollow noreferrer&quot;&gt;Complexity Zoo&lt;/a&gt;. We understand that we can take parity versions of $\mathsf{NEXP}$-complete problems (see &lt;a href=&quot;https://cstheory.stackexchange.com/questions/3297/nexp-complete-problems&quot;&gt;this question&lt;/a&gt;), but perhaps many of them are in fact not complete in $\mathsf{\oplus{}EXP}$.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;QUESTION: Are there complexity reasons to believe that $\mathsf{EXP} \ne \mathsf{\oplus{}EXP}$?  Are there natural combinatorial problems that are complete in $\mathsf{\oplus{}EXP}$?  Are there some references we might be missing?   &lt;/p&gt;&#xA;" OwnerUserId="16704" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2015-05-19T05:40:10.393" Title="$\mathsf{EXP}$ vs $\oplus\mathsf{EXP}$" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;conditional-results&gt;&lt;structural-complexity&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="31504" PostTypeId="2" ParentId="18688" CreationDate="2015-05-17T01:50:08.987" Score="6" Body="&lt;p&gt;I'm thinking right now about how to convince myself that Turing machines are a general model of computation.   I agree that the standard treatment of the Church-Turing thesis in some standard textbooks, e.g. Sipser, is not very complete.  Here is a sketch of how I might go from Turing machines to a more recognizable programming language.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider a block-structured programming language with &lt;code&gt;if&lt;/code&gt; and &lt;code&gt;while&lt;/code&gt; statements, with &lt;em&gt;non-recursive&lt;/em&gt; defined functions and subroutines, with named &lt;em&gt;boolean&lt;/em&gt; random variables and general boolean expressions, and with a single unbounded boolean array &lt;code&gt;tape[n]&lt;/code&gt; with an integer array pointer &lt;code&gt;n&lt;/code&gt; that can be incremented or decremented, &lt;code&gt;n++&lt;/code&gt; or &lt;code&gt;n--&lt;/code&gt;.  The pointer &lt;code&gt;n&lt;/code&gt; is initially zero and the array &lt;code&gt;tape&lt;/code&gt; is initially all zero.   So, this computer language can be C-like or Python-like, but it is very limited in its data types.   In fact, they are so limited that we do not even have a way to use the pointer &lt;code&gt;n&lt;/code&gt; in a boolean expression.  Assuming that &lt;code&gt;tape&lt;/code&gt; is only infinite to the right, we can declare a pointer underflow &quot;system error&quot; if &lt;code&gt;n&lt;/code&gt; is ever negative.   Also, our language has an &lt;code&gt;exit&lt;/code&gt; statement with one argument, to output a boolean answer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then the first point is that this programming language is a good specification language for a Turing machine.  You can easily see that, except for the tape array, the code only has finitely many possible states:  The state of all of its declared variables, and the current line of execution, and its subroutine stack.  The latter only has a finite amount of state because recursive functions are not allowed.  You could imagine a &quot;compiler&quot; that creates an &quot;actual&quot; Turing machine from a code of this type, but the details of that are not important.  The point is that we have a programming language with pretty good syntax, but very primitive data types.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The rest of the construction is to convert this to a more livable programming language with a finite list of library functions and precompilation stages.  We can proceed as follows:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;With a precompiler, we can expand the boolean data type to a larger but finite symbol alphabet such as ASCII.  We can assume that &lt;code&gt;tape&lt;/code&gt; takes values in this larger alphabet.  We can leave a marker at the beginning of the tape to prevent pointer underflow, and a movable marker at the end of the tape to prevent the TM from skating to infinity on the tape accidentally.  We can implement arbitrary binary operations between symbols, and conversions to boolean for &lt;code&gt;if&lt;/code&gt; and &lt;code&gt;while&lt;/code&gt; statements.  (Actually &lt;code&gt;if&lt;/code&gt; can be implemented with &lt;code&gt;while&lt;/code&gt; as well, if it weren't available.)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;We want an unbounded integer data type in order to implement both random access of the tape and (positive) integer arithmetic.  To this end, we simulate a $k$-tape TM  for some fixed $k$ with the one tape that we have.   This construction is given as a theorem in Sipser.  The idea is to interleave the emulated tapes on the low-level tape we have, with marker symbols representing the head positions.  If the low-level tape pointer is at zero, it services the $i$th subtape by moving to position $i$ and then jumping $k$ steps at a time; after each read or write, the low-level tape pointer decrements back to zero.  Just as in the previous stage, it is easier to implement this as a precompiler.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;We designate one tape as symbol-valued &quot;memory&quot; and the others as unsigned, integer-valued &quot;registers&quot; or &quot;variables&quot;.  We store the integers in little-endian binary with termination markers.   We first implement copy of a register and binary decrement of a register.  Combining that with increment and decrement of the memory pointer, we can implement random access seek of the symbol memory.  We can also write functions to calculate binary addition and multiplication of integers.  It is not hard to write a binary addition function with bitwise operations, and a function to multiply by 2 with left shift.  (Or really right shift, since it is little-endian.)  With these primitives, we can write a function to multiply two registers using the long multiplication algorithm.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;We can reorganize the memory tape from a one-dimensional symbol array &lt;code&gt;symbol[n]&lt;/code&gt; to a two-dimensional symbol array &lt;code&gt;symbol[x,y]&lt;/code&gt; using the formula &lt;code&gt;n = (x+y)*(x+y) + y&lt;/code&gt;.  We can now use each row of the memory to express an unsigned integer in binary with a termination symbol, to obtain a one-dimensional, random-access, integer-valued memory &lt;code&gt;memory[x]&lt;/code&gt;.  We can implement reading from the memory to an integer register, and writing from a register to the memory.  Many features can now be implemented with functions:  Signed and floating point arithmetic, symbol strings, etc.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Only one more basic facility strictly requires a precompiler, namely recursive functions.  This can be done with a technique that is widely used to implement interpreted languages.  We assign each high-level, recursive function a name string, and we organize the low-level code into one large &lt;code&gt;while&lt;/code&gt; loop that maintains a call stack with the usual parameters:  the calling point, the called function, and a list of arguments.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;At this point, the construction has enough features of a high-level programming language that further functionality is more the topic of programming languages and compilers rather than CS theory.  It is also already easy to write a Turing-machine simulator in this developed language.  It is not exactly easy, but certainly standard, to write a self-compiler for the language.  Of course you need an outer compiler to create the outer TM from a code in this C-like or Python-like language, but that can be done in any computer language.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that this sketched implementation not only supports the logicians' Church-Turing thesis for the recursive function class, but also the extended (i.e., polynomial) Church-Turing thesis as it applies to deterministic computation.  In other words, it has polynomial overhead.   In fact, if we are given a RAM machine or (my personal favorite) a tree-tape TM, this can be reduced to polylogarithmic overhead for serial computation with RAM memory.&lt;/p&gt;&#xA;" OwnerUserId="34134" LastActivityDate="2015-05-17T01:50:08.987" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31505" PostTypeId="2" ParentId="17079" CreationDate="2015-05-17T04:21:25.303" Score="11" Body="&lt;p&gt;The question is usually taken to be moot, for the following reason.  Grover's algorithm is a combinatorial search algorithm to find a solution to an arbitrary predicate.   While, yes, $\Theta(\log N)$ is the quantum gate complexity in each stage of the black-box algorithm, the predicate needs to be computed too.  The quantum gate complexity of that is $\Omega(\log N)$, because otherwise it wouldn't read the whole input and you could discard some of the input bits from the search.  On the other hand, an interesting predicate could take a lot more time than that.  Hence, the number of calls to the predicate is taken to be the standard coin, just as it is for the classical analogue of Grover's algorithm, namely random guessing.&lt;/p&gt;&#xA;" OwnerUserId="34134" LastEditorUserId="34134" LastEditDate="2015-05-18T05:59:16.000" LastActivityDate="2015-05-18T05:59:16.000" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31506" PostTypeId="2" ParentId="10910" CreationDate="2015-05-17T04:40:16.330" Score="5" Body="&lt;p&gt;There are ways to see that either the answer is probably no, or that the question means more than one thing and has a negotiable answer.   On the one hand, the PCP theorem says that many, but not all, NP-hard problems are still NP-hard to approximate.   The standard belief is that Grover's search algorithm, which gives you a quadratic speedup but no more than that, is the best quantum algorithm for the hardest NP-hard problems.  This leaves fairly little wiggle room to expect any quantum algorithm to have any special relation to approximation to NP-hard problems in general.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some NP-hard problems are easier to approximate than the ones amenable to the PCP theorem.   However, the difficulty of approximation is then highly variable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Meanwhile Shor's algorithm does something very specific:   It finds the period of a periodic function on the integers or on $\mathbb{Z}^n$.   This problem is also in the complexity class SZK, for example.   Maybe you could cook up an approximation problem to an NP-hard problem that lands you in SZK or period-finding, but I suspect that there aren't any known, natural examples of that.&lt;/p&gt;&#xA;" OwnerUserId="34134" LastActivityDate="2015-05-17T04:40:16.330" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31507" PostTypeId="1" CreationDate="2015-05-17T07:26:20.530" Score="8" ViewCount="510" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;DISCLAIMER&lt;/strong&gt;&lt;br&gt;I do apologize in advance if this question turns out to be&#xA;  silly, for some trivial reason that I may be overlooking in this&#xA;  moment.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Suppose for a moment that $\mathbf{P} = \mathbf{BQP}$ is true: it is possible to efficiently simulate quantum computation by classical deterministic computation. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, from that very little I know about quantum computing (I'm much less than an amateur when speaking about it), &lt;em&gt;if I'm not wrong&lt;/em&gt; a Quantum Turing Machine is able, by its very definition, to generate &lt;strong&gt;true&lt;/strong&gt; randomness. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Henceforth, if $\mathbf{P} = \mathbf{BQP}$, then there exists a classical deterministic algorithm which is able to quickly output &lt;strong&gt;true&lt;/strong&gt; randomness (by just quickly simulating some Quantum Turing Machine).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But... what would randomness be then? Would it even exist at all? Would you be willing to continue to call it randomness?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;John Von Neumann once said: &lt;em&gt;&quot;Anyone who considers arithmetical methods of producing random digits is, of course, in a state of sin&quot;&lt;/em&gt;. But the above classical deterministic algorithm would indeed be an arithmetical method of producing random digits, no? When thinking a bit about it, I was also considering Max Tegmark's view (expressed in his last book) according to which randomness does not exist at all: he believes it is only an illusion, more precisely the subjective feeling you perceive each time you get cloned (i.e. each time the Universe you live in gets branched in 2 or more Universes).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;From my amateur point of view, if I were told that we live in a $\mathbf{P} = \mathbf{BQP}$ world, then I would believe that there is no such thing as randomness. How could it even exist, if it is perfectly producible by a mechanical procedure? Where would it reside? If &lt;strong&gt;true&lt;/strong&gt; randomness can be implemented into a C++ concretion of the above classical deterministic algorithm, then where would it actually be? Would it be hidden somewhere? Would it continue to be present somehow, inspite there is no trace of it in the C++ code? For me, simply it would not exist.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, to summarize, this question is not about how likely you consider $\mathbf{P} = \mathbf{BQP}$ to be. Rather, the question boils down to the following:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;In a world where $\mathbf{P} = \mathbf{BQP}$, would randomness exist at all?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="947" LastActivityDate="2015-05-17T21:07:07.963" Title="Suppose $\mathbf{P} = \mathbf{BQP}$. Then what is randomness? Would it even exist at all?" Tags="&lt;cc.complexity-theory&gt;&lt;quantum-computing&gt;&lt;randomness&gt;&lt;physics&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="31508" PostTypeId="2" ParentId="31507" CreationDate="2015-05-17T09:15:58.730" Score="16" Body="&lt;p&gt;P and BQP are &lt;strong&gt;decision-problem classes&lt;/strong&gt;, i.e. the correct output is always a &lt;em&gt;deterministic&lt;/em&gt; functions of the inputs. The only question is whether randomness helps &quot;along the way&quot; to speed up computing this deterministic function (at the cost of sometimes being wrong), or does not. This is the key point: P=BQP says nothing about outputting random strings in general situations, but only for the situation of computing a deterministic function in polynomial time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So for instance the statement&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;if P=BQP, then there exists a classical deterministic algorithm which is able to quickly output true randomness (by just quickly simulating some Quantum Turing Machine).&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;is false. P=BQP only implies that if a machine with randomness can usually output the correct bit, then there is a machine with no randomness that always ouptuts the correct bit.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;More comments on your question:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;What is closer to true is that some form of pseudorandom generators exist (deterministic machines whose output &quot;looks random&quot; to other deterministic machines of bounded running time). However, again, these PRGs would be targeted to machines that always output just a single bit, not all tasks that use randomness in general.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;For an example single-machine problem that can be solved by a randomized machine and provably cannot be solved by a deterministic machine, consider the problem &quot;output a string of Kolmogorov complexity $\geq n$&quot;. This is essentially the problem of outputting a random string, and of course we can prove that no deterministic machine can do this.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;As Kaveh points out, in areas like communication complexity between multiple machines, also distributed systems and probably others, we have provable differences between what can be achieved with and without randomness. The classic example is for two machines to decide if they hold the same $n$-bit string while communicating fewer than $n$ bits.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;It may be that even if BQP = P, the randomized algorithm is much faster and more useful in practice. (It may even be that someday complexity theory could prove this.) Example: Miller-Rabin primality test (randomized) vs AKS (deterministic).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;As I understand it, we could have P = BQP and yet cryptography is perfectly useful, one-way functions exist, etc. (Not the factoring problem, of course.) And cryptography relies completely on randomness.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;I think BPP is as much a model of &quot;true&quot; randomness as BQP. Just a different type of randomness. How to get &quot;truly&quot; random bits in the real world is a different story.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="8243" LastEditorUserId="8243" LastEditDate="2015-05-17T18:37:21.697" LastActivityDate="2015-05-17T18:37:21.697" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="31510" PostTypeId="2" ParentId="6836" CreationDate="2015-05-17T15:45:21.837" Score="2" Body="&lt;p&gt;The gist of the question is, given that quantum probability is a source of true randomness, how does that effect the extended (or efficient, or polynomial-time) Church-Turing thesis?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The answer is that, per conjecture, it doesn't affect it.   People conjecture that BPP = P, i.e., that randomized algorithms can be derandomized with pseudo-random-number generators with polynomial overhead.   Faith in PRNGs as a replacement for true randomness is one reason that people would believe the extended Church-Turing thesis if not for quantum computation.&lt;/p&gt;&#xA;" OwnerUserId="34134" LastActivityDate="2015-05-17T15:45:21.837" CommentCount="0" CommunityOwnedDate="2015-05-17T15:45:21.837" ContentLicense="CC BY-SA 3.0" />
  <row Id="31511" PostTypeId="1" AcceptedAnswerId="31513" CreationDate="2015-05-17T16:17:28.373" Score="15" ViewCount="1318" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;This question was previously posted to Computer Science Stack Exchange &lt;a href=&quot;https://cs.stackexchange.com/questions/42645/what-is-known-about-this-tsp-variant&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Imagine you're a very successful travelling salesman with clients all over the country. To speed up shipping, you've developed a fleet of disposable delivery drones, each with an effective range of 50 kilometers. With this innovation, instead of travelling to each city to deliver your goods, you only need to fly your helicopter within 50km and let the drones finish the job.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Problem: How should your fly your helicopter to minimize travel distance?&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More precisely, given a real number $R&amp;gt;0$ and $N$ distinct points $\{p_1, p_2, \ldots, p_N\}$ in the Euclidean plane, which path intersecting a closed disk of radius $R$ about each point minimizes total arc length? The path need not be closed and may intersect the disks in any order.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Clearly this problem reduces to TSP as $R \to 0$, so I don't expect to find an efficient exact algorithm. I would be satisfied to know what this problem is called in the literature and if efficient approximation algorithms are known.&lt;/p&gt;&#xA;" OwnerUserId="21580" LastEditorUserId="-1" LastEditDate="2017-04-13T12:48:30.830" LastActivityDate="2015-05-17T17:44:29.027" Title="What is known about this TSP variant?" Tags="&lt;ds.algorithms&gt;&lt;approximation-algorithms&gt;&lt;tsp&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="31512" PostTypeId="2" ParentId="31511" CreationDate="2015-05-17T17:44:09.453" Score="10" Body="&lt;p&gt;One relevant TSP version is &quot;Group TSP&quot;. In this problem, the &quot;cities&quot; are divided into groups and the goal is to find a tour that visits each group at least once. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This has also been studied on the plane, which is closer to what you describe. Here each group is a closed region of the plane and it suffices to visit one point in the region to cover it. See e.g. the paper &quot;Approximation Algorithms for Euclidean Group TSP&quot;, by Elbassioni et al. in ICALP 2005.&lt;/p&gt;&#xA;" OwnerUserId="3168" LastActivityDate="2015-05-17T17:44:09.453" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31513" PostTypeId="2" ParentId="31511" CreationDate="2015-05-17T17:44:29.027" Score="21" Body="&lt;p&gt;This is a special case of the Travelling Salesman with Neighborhoods (TSPN) problem. In the general version, the neighborhoods need not all be the same.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A paper by Dumitrescu and Mitchell, &lt;a href=&quot;http://www.ams.sunysb.edu/~jsbm/papers/tspn-soda01.pdf&quot;&gt;Approximation algorithms for TSP with neighborhoods in the plane&lt;/a&gt;, addresses your question. They give a constant factor approximation algorithm for a slightly more general problem (case 1), and a PTAS when the neighborhoods are disjoint balls of the same size (case 2).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As a side comment, I think Mitchell has done a lot of work on geometric TSP variants, so you might want to look at his other papers.&lt;/p&gt;&#xA;" OwnerUserId="969" LastActivityDate="2015-05-17T17:44:29.027" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31514" PostTypeId="2" ParentId="31503" CreationDate="2015-05-17T17:44:38.427" Score="14" Body="&lt;p&gt;In terms of complexity reasons (rather than complete problems): The Hartmanis-Immerman-Sewelson Theorem should also work in this context, namely: $\mathsf{EXP} \neq \oplus \mathsf{EXP}$ iff there is a polynomially sparse set in $\oplus \mathsf{P} \backslash \mathsf{P}$. Given how far apart we think $\mathsf{P}$ and $\oplus \mathsf{P}$ are - e.g. Toda showed that $\mathsf{PH} \subseteq \mathsf{BPP}^{\oplus \mathsf{P}}$ - it would be quite surprising if there were no sparse sets in their difference. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;More directly, if there were no sparse sets in their difference, it would say that for every $\mathsf{NP}$ verifier, if the number of strings of length $n$ with an odd number of witnesses is bounded by $n^{O(1)}$, then the problem [of telling whether there is an odd number of witnesses] must be in $\mathsf{P}$. This seems like quite a striking and unlikely fact.&lt;/p&gt;&#xA;" OwnerUserId="129" LastEditorUserId="129" LastEditDate="2015-05-19T05:40:10.393" LastActivityDate="2015-05-19T05:40:10.393" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="31515" PostTypeId="2" ParentId="31507" CreationDate="2015-05-17T17:53:10.997" Score="11" Body="&lt;p&gt;The questions touches on some very interesting issues regarding quantum computation (and randomness). BQP is the class of decision problems that can be solved efficiently (in polynomial time) but it is not clear that referring just to decision problems suffices to do justice to the power of quantum computing. If we let QSAMPLING describes the probability distributions that can be sampled efficiently by quantum computers then there are reasons to think that QSAMPLING represents computational power of quantum computers (having to do with randomness) that goes beyond BQP. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, it is plausible that a BPP computer (which under your assumption, as well as standard thinking of CC that derandomization is possible, is equivalent (polynomially) to deterministic computer)  cannot perform QSAMPLING even &#xA;if it is equipped by a BQP subroutine. Thus, it is not known that BQP=P implies that QSAMPLING can be performed by a classical computer. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The question about the meaning of randomness you referred to is fairly profound issue in the foundation of probability. (And quantum mechanics does not change the matters drastically.) Computation complexity says quite a bit about randomness but randomness has also various other aspects.         &lt;/p&gt;&#xA;" OwnerUserId="712" LastEditorUserId="712" LastEditDate="2015-05-17T21:07:07.963" LastActivityDate="2015-05-17T21:07:07.963" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31517" PostTypeId="2" ParentId="3794" CreationDate="2015-05-17T19:05:30.720" Score="5" Body="&lt;p&gt;As the post acknowledges, the existence of a classical polynomial-time algorithm to estimate the volume of a convex polytope is a game-changer.  A quantum algorithm is much less likely to be interesting unless it is competitive with classical algorithms.   After all, without that criterion, any classical algorithm could simply be called a quantum algorithm instead.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;That said, there is still room for a polynomial speed-up, and the main, known viewpoint for that type of speedup is a quantum walk, especially considering that the classical acceleration in this case is based on a good random walk.   (Indeed, any quantum algorithm can be viewed as a quantum walk, but for some algorithms this is not necessarily enlightening.)   Various papers in the QC literature have pointed out that the algorithms to estimate the volume of a convex polytope use random walks, and that there could be an acceleration from a quantum walk.  So, it appears that researchers know this suggestion, but that no one has tried to work out what polynomial acceleration you might get for this problem.   You might not get anything if the best classical algorithm has some sort of spoiler, such as a separate stage which is not a random walk with comparable running time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is a collection of papers that all mention the basic idea in passing; again, Google Scholar seems to suggest that no one has gone further.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://arxiv.org/abs/quant-ph/0104137&quot;&gt;arXiv:quant-ph/0104137 - Quantum Walks on the Hypercube&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://arxiv.org/abs/quant-ph/0205083&quot;&gt;arXiv:quant-ph/0205083 - Quantum random walks hit exponentially faster&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://arxiv.org/abs/quant-ph/0301182&quot;&gt;arXiv:quant-ph/0301182 - Decoherence in Discrete quantum walks&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://arxiv.org/abs/quant-ph/0304204&quot;&gt;arXiv:quant-ph/0304204 - Controlling discrete quantum walks: coins and intitial states&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://arxiv.org/abs/quant-ph/0411065&quot;&gt;arXiv:quant-ph/0411065 - Quantum walk on a line with two entangled particles&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://arxiv.org/abs/quant-ph/0504042&quot;&gt;arXiv:quant-ph/0504042 - Entanglement in coined quantum walks on regular graphs&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://arxiv.org/abs/quant-ph/0609204&quot;&gt;arXiv:quant-ph/0609204 - Quantum speedup of classical mixing processes&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://arxiv.org/abs/0804.4259&quot;&gt;arXiv:0804.4259 - Speed-up via quantum sampling&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://classic.rsta.royalsocietypublishing.org/content/364/1849/3407.full&quot;&gt;A random walk approach to quantum algorithms&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://asu.edu.jo/TestWeb/userfiles/file/natural_pdf/Volume-10-2008/Number-1/Discrete%20Quantum%20Walk%20for%20Solving%20NonlinearDiscrete%20Quantum%20Walk%20for%20Solving%20Nonlinear.pdf&quot;&gt;Discrete quantum walk for solving nonlinear equations over finite fields&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;The other side of the classical algorithms to estimate the volume of a convex polytope is linear programming.   I don't know there has been any progress finding a quantum acceleration for that.  It seems difficult to avoid a stage of linear programming in order to put the convex polytope in a favorable position for sampling.&lt;/p&gt;&#xA;" OwnerUserId="34134" LastActivityDate="2015-05-17T19:05:30.720" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="31518" PostTypeId="1" CreationDate="2015-05-17T20:58:03.163" Score="12" ViewCount="346" Body="&lt;p&gt;Given a family ${\cal F}\subset 2^E$ of (&lt;i&gt;feasible solutions&lt;/i&gt;),&#xA;the maximization problem on  ${\cal F}$ is,&#xA; for every weighting $x:E\to \{0,1,\ldots\}$ of ground elements, to compute the maximum weight&#xA;$x(F)=\sum_{e\in F}x(e)$ of a feasible solution $F\in{\cal F}$.&#xA;An algorithm has the &lt;i&gt;approximation factor&lt;/i&gt; $\alpha\leq 1$ on ${\cal F}$, if it always&#xA;(for every input $x$) gives a solution at least $\alpha$ times the optimal solution.&#xA;&lt;p&gt;&#xA;The standard greedy algorithm&#xA;solves this problem by ordering the elements $x(e_1)\geq x(e_2)\geq \ldots \geq x(e_n)$,&#xA;heaviest first. Then it starts with the empty partial solution, and treats the elements in that order. At the $i$-th step, it accepts&#xA; the next element $e_i$ (adds it to the partial solution) iff it &lt;i&gt;can&lt;/i&gt; be accepted, i.e. if the extended solution is still feasible.&#xA; It is assumed that the algorithm is &quot;pessimistic&quot; in that it will always choose&#xA; the worst possible ordering between equally weighted elements.&#xA; &lt;p&gt;&#xA;Via an amazingly simple argument (see below&lt;sup&gt;1&lt;/sup&gt;), Hausmann, Jenkyns and Korte have shown in about 1980 that, for every downwards closed family ${\cal F}$ ($A\subset B$ and $B\in{\cal F}$ implies $A\in{\cal F}$), the approximation factor of the greedy algorithm on ${\cal F}$ just &lt;b&gt;coincides&lt;/b&gt; with the purely combinatorial characteristic of ${\cal F}$ called the&#xA;&lt;i&gt;rank quotient&lt;/i&gt;, and defined by:&#xA;$$&#xA;r({\cal F})=\min\ \left\{\frac{lr(S)}{ur(S)}\colon S\subseteq E, \ ur(S)\neq 0\right\}\,,&#xA;$$&#xA;where $lr(S)$ (the &quot;lower rank&quot;) is the minimum and $ur(S)$ (the &quot;upper rank&quot;) is the maximum &lt;i&gt;cardinality&lt;/i&gt; of a maximal under set inclusion&#xA;feasible subset of $S$. Note that $r({\cal F})$ is the worst possible ratio between the greedy&#xA;solution and  the optimal solution on $0$-$1$ inputs.&#xA; In particular, $r({\cal F})=1$ iff ${\cal F}$ is a &lt;a href=&quot;http://en.wikipedia.org/wiki/Matroid&quot;&gt;matroid&lt;/a&gt;, and it known that $r({\cal F})\geq 1/k$ if ${\cal F}$ is an intersection of $k$ matroids. Thus, this result is a far-reaching extension of the classical Rado-Edmonds theorem for matroids,&#xA; and shows that the worst-case approximation factor of the greedy algorithm&#xA; is achieved already on $0$-$1$ weightings, i.e. that these are the hardest inputs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;p&gt;&#xA;Still, this is a &quot;worst case&quot; result: for &lt;i&gt;every&lt;/i&gt; input weighting $x$, we have&#xA;$\mathrm{alg}(x)\geq r({\cal F})\cdot \mathrm{opt}(x)$, and there exist an input weighting $x$ for which&#xA;$\mathrm{alg}(x)= r({\cal F})\cdot \mathrm{opt}(x)$.&#xA;But what about the &quot;average case&quot;: can greedy achieve a better approximation factor on &lt;i&gt;most&lt;/i&gt; inputs $x$? To be more specific, consider a &lt;i&gt;random $m$-weighting&lt;/i&gt; $\mathbf{x}:E\to \{0,1,\ldots,m-1\}$&#xA;which assigns each element $e\in E$ its weight independently at random with probability $1/m$.&#xA;The following two &quot;amortized&quot; versions of approximation factor seem to be quite natural:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt; The &lt;b&gt;typical&lt;/b&gt; approximation factor $\alpha_p({\cal F})$&#xA;= largest $\alpha$ such that $\mathrm{alg}(\mathbf{x})/\mathrm{opt}(\mathbf{x})\geq \alpha$ holds with probability $\geq p$.&#xA;&#xA;&lt;li&gt; The &lt;b&gt;expected&lt;/b&gt; approximation factor $\alpha[{\cal F}]$&#xA;= expected value of $\mathrm{alg}(\mathbf{x})/\mathrm{opt}(\mathbf{x})$.&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Since the expected weight $\frac{m-1}{2}|A|$ of every subset $A\subseteq E$&#xA;depends only on the cardinality of $A$, we have&#xA;that $\alpha[{\cal F}]\geq r({\cal F})$. We also have that&#xA;$\alpha_p({\cal F})\geq \alpha_1({\cal F}) = r({\cal F})$.&#xA;But, for some families ${\cal F}$, greedy can have much better &quot;amortized&quot;&#xA;behavior.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;p&gt;&#xA;For example, if ${\cal F}$ is the family of all $|{\cal F}|=2^n+1$ feasible solutions for the&#xA;&lt;a href=&quot;http://en.wikipedia.org/wiki/Independent_set_%28graph_theory%29&quot;&gt;vertex packing&lt;/a&gt; (or maximum weight independent set) problem on the star $K_{1,n}$ with $n$ edges, then  $r({\cal F})=1/n$, implying that greedy cannot achieve any better approximation factor than $1/n$ in the worst case.&#xA;But the random $m$-weighting $\mathbf{x}$  will put the center of the star as the &lt;i&gt;first&lt;/i&gt; only with probability  $\leq 1/m$, meaning that $\alpha_p({\cal F})=1$ already for $p= 1-1/m$.&#xA;Thus, even though greedy fails baldly in the worst case, it is optimal on all but a small proportion $1/m$ of all inputs $x$! The expected factor $\alpha[{\cal F}]$ is also near to $1$ for this family.&#xA;&lt;p&gt;&#xA;Does anybody know of more examples of families ${\cal F}$, for which&#xA;$\alpha_p({\cal F})$ and/or $\alpha[{\cal F}]$ are much larger than the&#xA;rank quotient $r({\cal F})$?&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;&lt;b&gt;Question:&lt;/b&gt; Are there any combinatorial/probabilistic lower bounds on $\alpha_p({\cal F})$ and/or $\alpha[{\cal F}]$ depending only on ${\cal F}$, but not on the weightings (as the rank quotient)?&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Strangely enough, from the literature somehow related to this question, I could only find&#xA;&lt;a href=&quot;http://link.springer.com/article/10.1007%2FBF02592060?LI=true&quot;&gt;this paper&lt;/a&gt; (and the literature therein).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;p&gt;&lt;hr&gt;&#xA;Proof of HJK:&#xA; If $e_1,\ldots,e_n$ is any&#xA;ordering of $E$, then for every subset $A\subseteq E$ and for every weighting $x:E\to \{0,1,\ldots\}$, we have&#xA;$x(A)=\sum_{i=1}^n|A_i|\cdot \left( x(e_{i})-x(e_{i+1})\right)$,&#xA;where $x(e_{n+1}):=0$ and $A_i=A\cap E_i$ with $E_i=\{e_1,\ldots,e_i\}$. This  holds, because the difference $|A_i|-|A_{i-1}|$ is either $0$ or $1$, and is $1$ if and only if $e_i\in A_i$.&#xA;If $A$ is the solution produced by the greedy algorithm, then the way the greedy algorithm works&#xA;yields that $|A_i|\geq lr(E_i)$ must hold for all $i$.  On the other hand, $|B_i|\leq ur(E_i)$&#xA;clearly holds for all feasible solutions $B$, including an optimal one.&#xA;By the definition of the rank quotient, $lr(E_i)\geq r({\cal F})\cdot ur(E_i)$ holds for all $i$.&#xA;Moreover, all differences $x(e_{i})-x(e_{i+1})$ are&#xA;nonnegative, since the greedy algorithm uses the heaviest first ordering  $x(e_1)\geq x(e_2)\geq\ldots\geq x(e_n)$. This yields $x(A)\geq  r({\cal F})\cdot x(B)$, as desired. &#xA;&lt;p&gt;&#xA;To see that the approximation factor cannot be larger than $r({\cal F})$, take a set $S\subseteq E$ and two its subsets $A,B\subseteq S$ achieving the minimum in &#xA;the definition of $r({\cal F})$; hence, $r({\cal F})=|A|/|B|$. Give weight $1$ to all elements of $A\cup B$, and weight $0$ to the rest. Then the pessimistic greedy&#xA;will output $A$, whereas the optimum is at least $|B|$. $\Box$&#xA;&lt;/p&gt;&#xA;" OwnerUserId="5788" LastEditorUserId="5788" LastEditDate="2015-05-18T16:11:59.823" LastActivityDate="2015-05-18T16:11:59.823" Title="How good is greedy in average?" Tags="&lt;cc.complexity-theory&gt;&lt;co.combinatorics&gt;&lt;approximation-algorithms&gt;&lt;optimization&gt;&lt;greedy-algorithms&gt;" AnswerCount="0" CommentCount="1" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="31519" PostTypeId="1" CreationDate="2015-05-17T22:05:59.070" Score="2" ViewCount="223" Body="&lt;p&gt;Given a boolean function $f:\{0,1\}^n\rightarrow\{0,1\}$, let $P_{i,\epsilon}$ be minimum multivariate polynomial such that $P_{i,\epsilon}=i\iff f=i$,  $P_{i,\epsilon}\in(i-\epsilon,i+\epsilon)\iff f=1-i$ where $\epsilon\in(0,1)$ at each $i\in\{0,1\}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is atleast for one of $i\in\{0,1\}$,  degrees of $P_{i,\epsilon},P_{i,\epsilon/2}$ polynomially always related? They should be, however I cannot find a reference.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Straight forward interpolation arguments seems to fail as $\epsilon$ gets closer to 1 (but not exactly $1$). &lt;/p&gt;&#xA;" OwnerUserId="1812" LastEditorUserId="1812" LastEditDate="2015-05-18T02:49:32.280" LastActivityDate="2016-06-09T09:47:45.673" Title="One sided approximation degree" Tags="&lt;boolean-functions&gt;" AnswerCount="2" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31520" PostTypeId="2" ParentId="31519" CreationDate="2015-05-17T23:51:43.470" Score="1" Body="&lt;p&gt;I don't think they are polynomially related. Consider the OR function on n bits. There is a polynomial $p(x) = \frac{1}{n} (x_1 + x_2 + \ldots + x_n)$, which approximates it with one sided error $\epsilon = 1- \frac{1}{n}$ because on the all zero input the polynomial is zero, and on any other input its value is between $\frac{1}{n}$ and 1.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However any polynomial approximating the OR function to one sided error $\epsilon/2$ (which is approximately $1/2$) is a bounded-error approximation of OR which is known to require degree $\Omega(\sqrt{n})$.&lt;/p&gt;&#xA;" OwnerUserId="206" LastActivityDate="2015-05-17T23:51:43.470" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="31521" PostTypeId="2" ParentId="21865" CreationDate="2015-05-18T06:36:59.107" Score="4" Body="&lt;p&gt;The Knapsack Problems text by Kellerer et al. cites the two references below as proving that multidimensional knapsack is strongly NP-hard already in the special case of CARDINALITY 2-KP (two-dimensional, with unit values). It also reproduces a proof, reducing from EQUIPARTITION, i.e., the existence of an FPTAS for CARDINALITY 2-KP implies that the EQUIPARTITION decision problem can be solved in polynomial time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I believe the augmented resources version of the (fixed dimension) problem, where you're permitted to exceed the bounds by $\epsilon$ does admit an FPTAS, however.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;G.Y. Gens and E.V. Levner. Computational complexity of approximation algorithms for combinatorial problems. In Mathematical Foundations o f Computer Science, volume 74 of Lecture Notes in Computer Science, pages 292-300. Springer, 1979.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;B. Korte and R. Schrader. On the existence of fast approximation schemes. In O.L. Mangasarian, R.R. Meyer, and S.M. Robinson, editors, Nonlinear Programming, volume 4, pages 415-437. Academic Press, 1981.&lt;/p&gt;&#xA;" OwnerUserId="17099" LastActivityDate="2015-05-18T06:36:59.107" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31524" PostTypeId="1" CreationDate="2015-05-18T12:58:43.597" Score="3" ViewCount="123" Body="&lt;p&gt;Feige's well known result (and more recent results) show that set cover cannot be approximated within a factor of $(1 - o(1)) \ln n$, where $n$ is the number of variables. What if we want an approximation ratio in terms of $\log m$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Apparently, there is a folklore result that the approximation ratio must be of the form $\Omega(\log m)$. (The reason for this is that one can assume that the set cover instances which witness the hardness result of Feige, satisfy $m = \text{poly}(n)$). Does anyone know an actual reference for this result? All the sources I read merely state that this is &quot;well-known.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there anything more specific known about the approximation ratio here? For instance, is it known what is the optimal constant coefficient of $\log m$ in the approximation ratio? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any sources/references would be greatly appreciated &lt;/p&gt;&#xA;" OwnerUserId="5538" LastActivityDate="2015-05-18T12:58:43.597" Title="Set cover approximation ratio as a function of m (number of sets)" Tags="&lt;approximation-hardness&gt;&lt;set-cover&gt;" AnswerCount="0" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31525" PostTypeId="1" AcceptedAnswerId="31555" CreationDate="2015-05-18T18:42:27.650" Score="0" ViewCount="209" Body="&lt;p&gt;Consider a set $S=\{a,b,c,d,e,f,g,h,i,j,k\}$, $\left|S\right|=11$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are ${11 \choose 5} = 462$ combinations of $S$'s members of size $5$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are $462! \approx 1.419 × 10^{1032}$ possible ordering of those sets. All ordering are in $\Phi_0$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For a given ordering, $\phi \in \Phi_0$, $x_i^\phi$ is the set placed at position $i$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Initial $\Phi_0$ was defined, following ones are defined as &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\Phi_i = \left\{\,\phi \in \Phi_{i-1} \mid \not\exists \phi^\prime \in \Phi_{i-1} , C\left(i,\phi^\prime\right) \gt C\left(i,\phi\right)\, \right\}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where $C\left(i,\phi\right)$ is number of subsets given by $x^\phi_i$ which have not already exist as a subset of previous $x^\phi$'s&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$C\left(i,\phi\right)=\left|2^{x^\phi_i} \setminus \bigcup_{\forall h&amp;lt;i}{2^{x^\phi_h}} \right|$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm looking for ways to efficiently enumerate any one of the orderings that exists in $\Phi_{462}$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any suggestions, pointing towards relevant/potential useful algorithms or papers would be appreciated.&lt;/p&gt;&#xA;" OwnerUserId="8341" LastEditorUserId="20716" LastEditDate="2015-05-19T19:00:41.360" LastActivityDate="2015-05-21T17:20:19.557" Title="Enumerating set combinations in an order that maximises the number of previously unseen subsets" Tags="&lt;ds.algorithms&gt;&lt;co.combinatorics&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31527" PostTypeId="2" ParentId="31499" CreationDate="2015-05-18T19:06:10.180" Score="4" Body="&lt;p&gt;While not exactly what you want, esoteric languages &lt;a href=&quot;https://esolangs.org/wiki/Jot&quot; rel=&quot;nofollow&quot;&gt;Jot&lt;/a&gt;, &lt;a href=&quot;https://esolangs.org/wiki/Iota&quot; rel=&quot;nofollow&quot;&gt;Iota&lt;/a&gt; and &lt;a href=&quot;http://semarch.linguistics.fas.nyu.edu/barker/Iota/zot.html&quot; rel=&quot;nofollow&quot;&gt;Zot&lt;/a&gt; could be good starting points. They are all Turing complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In particular Iota language is &lt;a href=&quot;http://semarch.linguistics.fas.nyu.edu/barker/Iota/&quot; rel=&quot;nofollow&quot;&gt;defined&lt;/a&gt; as&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;&lt;pre&gt;&lt;code&gt;syntax            semantic&#xA;F --&amp;gt; i           ^x.xSK&#xA;F --&amp;gt; *  F  F     [F][F]&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;So&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;an Iota program is either an &lt;code&gt;i&lt;/code&gt;, or a &lt;code&gt;*&lt;/code&gt; followed by two Iota (sub-)programs&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;so it satisfies the prefix property. It's extension Zot adds input and output, where the input is the sequence of bits that follow the valid program description. By restricting Zot to programs with empty input you get a language that should satisfy your requirements. (Or alternatively adding just output to Iota.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is &lt;a href=&quot;https://hackage.haskell.org/package/zot&quot; rel=&quot;nofollow&quot;&gt;Haskell implementation of Zot&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="10336" LastActivityDate="2015-05-18T19:06:10.180" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31528" PostTypeId="1" CreationDate="2015-05-18T20:57:45.113" Score="4" ViewCount="1407" Body="&lt;p&gt;I'm working on a problem about $N$ nodes that are randomly positioned on a rectangular grid. I want to take a sample of $n\leq N$ nodes by randomly selecting the first node then visiting the nearest neighbour of the last selected node. Once a node is visited, it is excluded from future selctions. If a node has there multiple nearest neighbours, one is randomly picked among them.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm interested in the probability that a node is visited (I'm also interested in the probability that a pair of nodes appear in the same sample). I'm using the following population as an example: $$\{(-4,6),(0,5),(-3,4),(-2,4),(2,4),(3,4),(1,3),(5,3),(3,2),(2,1),(-1,0),(-3,1),(1,-1),(-4,-2),(-3,-2),(-1,-2),(3,-2),(4,-2),(2,-3),(4,-3),(2,-4),(4,-4),(5,-4),(-5,-5),(2,-5)\}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/lkqIy.png&quot; alt=&quot;enter image description here&quot;&gt;&#xA;&lt;em&gt;(Note: The numbers above the points are just identifying labels. They do not indicate anything about the order in which they are visited. A sample of three points would be something like $6 \rightarrow 5 \rightarrow 7$)&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here are my two approaches:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Enumerate all the possible paths of a specified length, calculate the probability of each path, then sum up the probabilities of the paths that include a particular node.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Repeatedly take samples then calculate the proportion of paths that include a particular node.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Is there a better way to solve my problem? By the way, I'm using R to do the computing.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I don't have any background in graph theory whatsoever. I'd like to look up terms and concepts that would be relevant to what I'm doing, but I'm not even sure where to begin. Do you have any ideas for a solution or do you know of any resources that can be understood by a novice?&lt;/p&gt;&#xA;" OwnerUserId="28631" LastEditorUserId="28631" LastEditDate="2015-05-19T00:58:41.297" LastActivityDate="2015-11-15T20:14:01.377" Title="Paths and Probabilities for a Random Walk on a Graph" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;pr.probability&gt;&lt;random-walks&gt;" AnswerCount="1" CommentCount="6" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31530" PostTypeId="1" CreationDate="2015-05-18T22:16:18.803" Score="10" ViewCount="231" Body="&lt;p&gt;It is an old open problem whether a direct-sum theorem holds for deterministic communication complexity, that is, whether solving $t$ independent instances of a problem is $t$ times harder than solving a single instance. [FKNN95] showed the following results:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;A negative result:&lt;/strong&gt; There is partial function (due to [O90]) whose deterministic communication complexity is $\Theta(\log n)$, but computing it on $t$ independent instances has complexity $\Theta(t + \log t \cdot \log n)$.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;A positive result:&lt;/strong&gt; For every function $f$, if the deterministic communication complexity of $f$ is $c$ then the complexity of computing $f$ on $t$ independent instances is at least $\Omega(t \cdot (\sqrt{c} - \log n))$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I am not aware of any other general positive results on the direct-sum problem. However, it seems that for specific problems that are usually considered in communication complexity, e.g. equality or disjointness, a direct-sum theorem is known to hold.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is, are there other examples of problems for which a deterministic communication complexity theorem is not known to hold, or even known not to hold (beside the function of [O90])?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;References:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[FKNN95] Tomás Feder, Eyal Kushilevitz, Moni Naor, Noam Nisan: Amortized Communication Complexity. SIAM J. Comput. 24(4): 736-750 (1995)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[O90] Two Messages are Almost Optimal for Conveying Information. Alon Orlitsky. PODC, page 219-232. ACM, (1990)&lt;/p&gt;&#xA;" OwnerUserId="8429" LastEditorUserId="8429" LastEditDate="2015-06-03T17:37:51.500" LastActivityDate="2015-06-03T17:37:51.500" Title="Communication problems for which a deterministic direct-sum theorem is not known to hold" Tags="&lt;cc.complexity-theory&gt;&lt;communication-complexity&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="31531" PostTypeId="1" CreationDate="2015-05-19T04:15:01.263" Score="2" ViewCount="50" Body="&lt;p&gt;A covering array is an $N \times k$ array with each entry as one of $v$ symbols, where for every $t$ columns all possible $v^t$ tuples appears at least once. The covering array number (CAN) is the smallest $N$ for which a covering array exists, given $t, k, v$. Many known CANs are &lt;a href=&quot;http://www.public.asu.edu/~ccolbou/src/tabby/catable.html&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have been looking at &quot;optimality&quot; of covering arrays in the following sense: for known values of $N$, and given $v$ and $t$, compute $\frac{N}{v^t}$: call this the &quot;ratio&quot; of the covering array (code is &lt;a href=&quot;https://codereview.stackexchange.com/questions/91128/covering-array-sorter&quot;&gt;here&lt;/a&gt;). From the code, I ordered all of the covering arrays by descending ratio. Surprisingly, the first 229 were covering arrays with $v=t=6$ (the highest ratio is ~829, and the 229th is ~549). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a combinatorial aspect as to why this case is more difficult than any other one? There are several reasons as to why I believe this is so:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;There are known constructions of covering arrays from perfect hash families for $v$ a prime power, and $6$ is not a prime power.&lt;/li&gt;&#xA;&lt;li&gt;With higher values of $t$, computation time to reduce redundant rows (or general metaheuristics such as tabu search, simulated annealing, etc.) grows very large (not to mention the space needed).&lt;/li&gt;&#xA;&lt;li&gt;Most studied cases are for lower values of $v,t$ (and only when $v=t=2$ are the optimal cases known).&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="25556" LastActivityDate="2015-05-19T04:15:01.263" Title="Hardness of Covering Arrays with $v=t=6$" Tags="&lt;co.combinatorics&gt;&lt;heuristics&gt;&lt;covering-problems&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31532" PostTypeId="1" CreationDate="2015-05-19T05:49:53.550" Score="0" ViewCount="80" Body="&lt;p&gt;I have a problem which I want to formulate it as a game, using game theory. In this problem there is several agents, we can consider the agents as the employees of different offices, these agents have some information about the clients and these information are updates and increases over time. the problem is persuading the agents to present their information to a central office over time. the problem have a continous nature. I am seeking for a game to model this problem using game theory. May you please tell me which kind of games is sufficient for this problem?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Best Regards&lt;/p&gt;&#xA;" OwnerUserId="32431" LastActivityDate="2015-05-19T11:58:52.277" Title="Seeking for a game for modelling a problem using game thoery" Tags="&lt;graph-theory&gt;&lt;continuations&gt;&lt;nash-equilibrium&gt;" AnswerCount="1" CommentCount="2" ClosedDate="2015-05-21T07:32:57.713" ContentLicense="CC BY-SA 3.0" />
  <row Id="31535" PostTypeId="2" ParentId="31532" CreationDate="2015-05-19T11:58:52.277" Score="1" Body="&lt;p&gt;The game you're describing is a continuous-time principal-agent problem. See &lt;em&gt;A continuous-time version of the principal-agent problem&lt;/em&gt; (Sannikov 2008). Technically the goal there is to induce optimal effort from the employee, but, by the revelation principal, that's equivalent to having him reveal his private information.&lt;/p&gt;&#xA;" OwnerUserId="34165" LastActivityDate="2015-05-19T11:58:52.277" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31537" PostTypeId="1" AcceptedAnswerId="31540" CreationDate="2015-05-19T13:31:27.280" Score="0" ViewCount="142" Body="&lt;p&gt;this is my first question on Theoretical CS. :)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I've posted a similiar &lt;a href=&quot;https://mathoverflow.net/questions/207012/tsp-heuristics-for-limited-distance-information&quot;&gt;question&lt;/a&gt; on &lt;a href=&quot;https://mathoverflow.net/&quot;&gt;Mathoverflow&lt;/a&gt; and a friendly user advised me to post my question on this site. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Problem:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;I'm looking for TSP heuristics in the case of limited information about the edges, for example: I have $n$ nodes but can only ask for $~\sim4n$ distances. My graphs are &lt;strong&gt;metric&lt;/strong&gt; and&#xA;  I can make an estimate in advance with the euclidean distance, &lt;strong&gt;which provides a lower bound&lt;/strong&gt;, but those estimates might be very bad.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;So what are the TSP-Heuristika for those distance-matrices?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Thanks in advance.&lt;/p&gt;&#xA;" OwnerUserId="34167" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2015-05-20T07:54:06.867" Title="TSP heuristics for limited distance information" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;optimization&gt;&lt;tsp&gt;&lt;heuristics&gt;" AnswerCount="1" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="31538" PostTypeId="1" AcceptedAnswerId="31565" CreationDate="2015-05-19T15:20:47.017" Score="3" ViewCount="634" Body="&lt;p&gt;What is the time complexity of &lt;a href=&quot;https://books.google.com/books?id=Va8AAQAAQBAJ&amp;amp;pg=PA136&amp;amp;lpg=PA136&amp;amp;dq=tucker%27s+algorithm+eulerian+circuit&amp;amp;source=bl&amp;amp;ots=phX2pF2Uzs&amp;amp;sig=kJPB9pYX7sLWfeO8r_p69Ewg2oo&amp;amp;hl=en&amp;amp;sa=X&amp;amp;ei=eq9YVbLVAev6ygOGsoH4Bg&amp;amp;redir_esc=y#v=onepage&amp;amp;q=tucker&amp;#39;s%20algorithm%20eulerian%20circuit&amp;amp;f=false&quot; rel=&quot;nofollow&quot;&gt;Tucker's algorithm&lt;/a&gt; for generating a Eulerian circuit? &#xA;The Tucker's algorithm takes as input a connected graph whose vertices are all of even degree, constructs an arbitrary 2-regular detachment of the graph and then generates a Eulerian circuit.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I couldn't find any reference that says, for example, how the algorithm constructs an arbitrary 2-regular detachment of the graph, what data structures it uses, what the time complexity is, and so on. Any ideas?&lt;/p&gt;&#xA;" OwnerUserId="34169" LastEditorUserId="34169" LastEditDate="2015-05-19T16:12:51.843" LastActivityDate="2015-05-22T07:01:09.947" Title="Runtime of Tucker's algorithm for generating a Eulerian circuit" Tags="&lt;reference-request&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;time-complexity&gt;" AnswerCount="2" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31539" PostTypeId="2" ParentId="31528" CreationDate="2015-05-19T16:31:04.123" Score="1" Body="&lt;p&gt;You can make a state machine from this as follows. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let the set of points generated be $V$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Add extra dummy start node $s$. Add edges $(s, v)$ for all $v \in V$. And add edge &#xA;from $(u, v)$ where $u, v \in V$ are nearest neighbors. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assuming points to visit are chosen uniformly assign probability $1/|V|$ to edges $(s,v)$ &#xA;and probability of $1/\text{number of nearest neighbors}$ to edges that connect nearest neighbors. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This now forms a state diagram like &lt;a href=&quot;http://en.wikipedia.org/wiki/Markov_chain#Example&quot; rel=&quot;nofollow&quot;&gt;http://en.wikipedia.org/wiki/Markov_chain#Example&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The graph can be represented as matrix $G$ where $G_{ij} =1$ if there is edge between $i$ and $j$. &#xA;And probabilities can be put in a matrix $P$ of size $N + 1 \times N + 1$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$G^k_{ij}$ gives number of paths of length $k$ from $i$  to $j$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$(P^k x)_j$ gives probability of reaching $j$ from $i$ in $k$ steps where $x$ is a vector where only $i^{th}$ entry is 1 and others are 0. &lt;/p&gt;&#xA;" OwnerUserId="612" LastActivityDate="2015-05-19T16:31:04.123" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31540" PostTypeId="2" ParentId="31537" CreationDate="2015-05-19T17:06:17.347" Score="3" Body="&lt;p&gt;There is no algorithm that runs in time $o(n^2)$ on an $n$-point metric space and returns a tour with weight within a constant factor of the minimum weight: see the argument in Section 9 of this &lt;a href=&quot;https://people.csail.mit.edu/indyk/metrics99.ps&quot; rel=&quot;nofollow&quot;&gt;paper by Indyk&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, if you just want an approximation to the &lt;em&gt;weight&lt;/em&gt; of the optimal tour, without actually getting a tour, then you can use &lt;a href=&quot;http://www.cs.princeton.edu/courses/archive/spr04/cos598B/bib/Czumaj-Sohler-EstimMST.pdf&quot; rel=&quot;nofollow&quot;&gt;this algorithm&lt;/a&gt; by Czumaj and Sohler. Their algorithm runs in time which is nearly linear in $n/\varepsilon^{O(1)}$ and returns a $1+\varepsilon$ approximation to the weight of minimum weight spanning tree. Since the minimum weight spanning tree is a factor 2 approximation to the minimum weight TSP tour, this gives a factor $2+\varepsilon$ approximation for TSP.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course these are worst-case bounds, but I find it implausible to be able to find a good tour by querying $o(n^2)$ edges unless you know more about your metric space. Metric spaces are very general objects and it's easy to hide information while still satisfying the triangle inequality.&lt;/p&gt;&#xA;" OwnerUserId="4896" LastActivityDate="2015-05-19T17:06:17.347" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31541" PostTypeId="1" AcceptedAnswerId="31567" CreationDate="2015-05-19T17:40:42.567" Score="5" ViewCount="303" Body="&lt;p&gt;Maximal Planar Bipartite graphs are sparser than maximal planar graphs. For which other classes of graphs are maximal Bipartite members sparser than arbitrary maximal members. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $\mathcal{C}$ be a class of graphs and let $\mathcal{B}$ be the class of bipartite graphs. We say that $\mathcal{C}$ is biparted if $\rho(\mathcal{C}) &amp;gt; \rho(\mathcal{B}\cap\mathcal{C})$ (where $\rho(\mathcal{C})$ is defined below) i.e. the asymptotic density of arbitrary graphs in the class is larger than the asymptotic density of the bipartite graphs in the same class.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Examples of biparted graphs are:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Planar Graphs ($\rho(\mathcal{C}) = 6 &amp;gt; 4 = \rho(\mathcal{C}\cap \mathcal{B})$)&lt;/li&gt;&#xA;&lt;li&gt;Graphs of finite genus (same parameters as above)&lt;/li&gt;&#xA;&lt;li&gt;Subclasses of planar graphs e.g. outerplanar graphs &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;My question is:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Are there any other natural classes of biparted graphs? &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;For a graph $G$, let $\rho(G) = \frac{2|E(G)|}{|V(G)|}$ be the average degree of a vertex. We say that a class of graphs $\mathcal{C}$ is maximally $\rho$-sparse - written as $\rho = \rho(\mathcal{C})$ i.e. the maximum of average density (with maximum taken over all graphs from $\mathcal{C}$ with sufficiently many vertices) approaches $\rho$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Planar graphs can be proved to be biparted because Euler formula holds. The same is the case with bounded genus graphs. What about bounded tree-width graphs, graphs excluding a finite set of fixed minors,...?&lt;/p&gt;&#xA;" OwnerUserId="214" LastEditorUserId="214" LastEditDate="2015-05-22T18:31:03.223" LastActivityDate="2015-05-22T23:28:38.373" Title="Sparser Bipartite graphs?" Tags="&lt;reference-request&gt;&lt;graph-theory&gt;&lt;planar-graphs&gt;&lt;graph-minor&gt;&lt;bipartite-graphs&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31542" PostTypeId="2" ParentId="31530" CreationDate="2015-05-19T18:23:12.003" Score="5" Body="&lt;p&gt;I think I can suggest the problem, which is not widely known, but for which I'm interested in. Suppose we have $n$ permutations $\pi_i$ in $S_3$. Alice, Bob and Carol receive first, second and third elements of all permutations, respectively. The goal is to compute $\prod_i sgn(\pi_i)$, where $sgn(\pi_i)$ is a sign of permutation $\pi_i$ (can take -1 or +1). I'm interested in communication complexity in NiH model.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some time ago I've tried to apply direct-sum theorem, but here we have some obstacles with dependence of input of different participants. I still don't know whether $\Omega(n)$ lower bound holds for this problem.&lt;/p&gt;&#xA;" OwnerUserId="19579" LastActivityDate="2015-05-19T18:23:12.003" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31544" PostTypeId="2" ParentId="21865" CreationDate="2015-05-20T01:10:54.907" Score="6" Body="&lt;p&gt;In the paper titled &quot;ON MULTIDIMENSIONAL PACKING PROBLEMS&quot; that appeared in SODA and then in SICOMP (&lt;a href=&quot;http://epubs.siam.org/doi/abs/10.1137/S0097539799356265&quot; rel=&quot;noreferrer&quot;&gt;http://epubs.siam.org/doi/abs/10.1137/S0097539799356265&lt;/a&gt;) we considered several packing problems where items are d-dimensional vectors. We discuss PIPs which are the same as as multidimensional knapsack (we mention this) and their approximability when d is not fixed. You can find hardness results as function of d in that paper.&lt;/p&gt;&#xA;" OwnerUserId="176" LastActivityDate="2015-05-20T01:10:54.907" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31545" PostTypeId="2" ParentId="31538" CreationDate="2015-05-20T02:48:25.380" Score="1" Body="&lt;p&gt;It can be done on $O(|E|\log |E|)$, nevertheless implementing it might be cumbersome. I won't get into details of how implement, but a general overview so we can analyze its running time:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For this we will need and adjacency list instead of an adjacency matrix.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Step 1.-, for each vertex split away the vertices, you can split away all the edges for each vertex, it can be done in $O(|E|)$ in total, by traversing each of the adjacency list of each vertex. Then do a DFS to find and store each cycle components in a doubly linked circular list. And we will need an array A of lists, such that list A[i] will have a pointer to each component such that vertex $i$ appears in that component. This can be done while doing DFS.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Step 2 and 3. For each of the lists at each vertex, we will take two adjacent components, and we will ask if both are the same, if they are, remove the first pointer, and continue. If both are different components, join the two lists, for this, in the list we should have a pointer to the position in the doubly linked list of such vertex. Then we can merge two components in $O(1)$. Then remove one of the entries and proceed until we have only one list, and remove it. Repeat for each vertex until only one list remains, such doubly linked circular list will be our eulerian cycle.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The tricky part, and where the $O(\log |E|)$ comes from is on finding if two components are the same. For this we can do relabeling the smallest component, and we will get an amortized time of $O(\log |E|)$, (see Cormen et al's chapter on Kruskal algorithm). Or maybe use a union-find data structure, in such case you can make it amortized $O(|E|\alpha(|E|))$, which is a little better time. It could be possible to get O(|E|) time but a clever use of pointers might be implied and escapes from my intuition currently.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that this operation to determine if two components are the same would be in function of $|E|$ instead of $n$, since we are duplicating vertices, but the number of vertices and its duplicates is bounded by $|E|$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Notice that you are using a graph theory book and for the pure graph theory point of view the complexity is usually irrelevant, and even more irrelevant the implementation details, from that point of view is enough to show that it can be done systematically, and the focus is on how simple you can explain and prove that it is correct, it is very uncommon to find data structures mentioned in such a book, since that is usually out the book's scope.&lt;/p&gt;&#xA;" OwnerUserId="33978" LastActivityDate="2015-05-20T02:48:25.380" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31547" PostTypeId="1" CreationDate="2015-05-20T07:57:36.333" Score="1" ViewCount="102" Body="&lt;p&gt;Multicuts or multiway cuts are (edge) cuts of minimum capacity that separate each pair of a set of terminals (a subset of the entire node set). For two terminals, this is the classical &lt;span class=&quot;math-container&quot;&gt;$s$&lt;/span&gt;-&lt;span class=&quot;math-container&quot;&gt;$t$&lt;/span&gt; mincut problem. For &lt;span class=&quot;math-container&quot;&gt;$k \geq 3$&lt;/span&gt; terminals, the problem becomes NP-hard.&lt;/p&gt;&#xA;&lt;p&gt;Such a multicut may or may not be composed of mincuts that isolate each single terminal from the others (in case of &lt;span class=&quot;math-container&quot;&gt;$k=3$&lt;/span&gt;, 2 isolating cuts suffice to separate all pairs). I am interested in a multicut variant, where the multicut needs to be composed of such mincuts (one for each terminal). I call such a multicut a mincut-multicut (do you know a better name?).&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Problem Mincut-Multicut:&lt;/p&gt;&#xA;&lt;p&gt;Input: An undirected graph &lt;span class=&quot;math-container&quot;&gt;$G=(V,E)$&lt;/span&gt;, an edge capacity function &lt;span class=&quot;math-container&quot;&gt;$c:E \to \mathbb{N}$&lt;/span&gt;, a set &lt;span class=&quot;math-container&quot;&gt;$T=\{t_1, t_2, \dots t_l\} \subseteq V$&lt;/span&gt; of &lt;span class=&quot;math-container&quot;&gt;$l \geq 2$&lt;/span&gt; terminals and a number &lt;span class=&quot;math-container&quot;&gt;$k$&lt;/span&gt; (all in binary).&lt;/p&gt;&#xA;&lt;p&gt;Question: Is there a set &lt;span class=&quot;math-container&quot;&gt;$E' \subseteq E$&lt;/span&gt; such that &lt;span class=&quot;math-container&quot;&gt;$E' = E_1 \cup E_2 \cup \dots \cup E_l$&lt;/span&gt; where each &lt;span class=&quot;math-container&quot;&gt;$E_i$&lt;/span&gt; is a &lt;span class=&quot;math-container&quot;&gt;$t_i$&lt;/span&gt; isolating mincut, such that &lt;span class=&quot;math-container&quot;&gt;$\sum_{e \in E'} c(e) \leq k$&lt;/span&gt;?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Certainly, the capacity of such a mincut-multicut may be greater than of a conventional multicut, but not smaller. For each terminal, there may be an exponential number of mincuts isolating it from the others. For each terminal, we need to choose one of these exponentially many in order to compose the multicut.&lt;/p&gt;&#xA;&lt;p&gt;If we can choose single terminal isolating mincuts such that the combination of them partitions the set of all nodes into &lt;span class=&quot;math-container&quot;&gt;$k$&lt;/span&gt; sets (one for each terminal), we have found a mincut multicut of minimum capacity. It seems, however, quite challenging to determine whether such a mincut multicut exists.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Question: Is anything known about this problem or do you have any suggestions concerning its complexity?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="26761" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2015-05-20T21:33:59.830" Title="Multicuts composed of Min-Cuts" Tags="&lt;cc.complexity-theory&gt;&lt;max-flow-min-cut&gt;&lt;flow-problems&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31551" PostTypeId="2" ParentId="18038" CreationDate="2015-05-20T15:21:13.183" Score="7" Body="&lt;p&gt;In answer to the &quot;Update&quot;: yes, for any $c$, the existence of an $O(n^c)$ non-commutative algorithm for matrix multiplication is &lt;em&gt;equivalent&lt;/em&gt; to the existence of an $O(n^c)$ commutative algorithm for matrix multiplication (I am assuming, here, that all algorithms are algebraic, in the sense of algebraic circuits). This is because any algebraic circuit computing a bilinear map can be converted into a bilinear circuit at the expense of at most a factor of 2 in the size.&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2015-05-20T15:21:13.183" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="31552" PostTypeId="1" CreationDate="2015-05-20T15:51:26.830" Score="2" ViewCount="70" Body="&lt;p&gt;This &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S030439750900067X&quot; rel=&quot;nofollow&quot;&gt;paper&lt;/a&gt; gives concentration results around the mean of the regret for variants of UCB algorithm in multi-armed stochastic bandits. However, I could not find any similar results for Thompson sampling, where most of the results are only in expectation. Is there any paper which studies concentration of the regret in the case of Thompson sampling ?&lt;/p&gt;&#xA;" OwnerUserId="32257" LastActivityDate="2015-05-20T15:51:26.830" Title="Concentration Bounds for Thompson sampling" Tags="&lt;pr.probability&gt;" AnswerCount="0" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31554" PostTypeId="1" CreationDate="2015-05-20T19:14:55.980" Score="8" ViewCount="262" Body="&lt;p&gt;Given a polynomial $p : \mathbb{C}^n \rightarrow \mathbb{C}$ it is to be called &quot;real-stable&quot; if (1) all its coefficients are real and (2) if it has no roots such that all the coordinates of the root have a positive imaginary part. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;[..clearly if $n=1$ then the polynomial being real-stable is the same as the polynomial being real-rooted..] &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Q1&lt;/strong&gt; Do we know of any method to check for real stability of a polynomial? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Q2&lt;/strong&gt; Even if not a general solution but can one at least be able to check this property on some specific polynomial via some commands on SAGE or Mathematica ? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Q3&lt;/strong&gt; Is any hardness result known about this when thought of as a decision question?  &lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;If necessary feel free to assume that the polynomial is homogeneous.  May be if thinking about the associated projective variety helps...&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;May be you can just choose some specific value of $n$ or the degree of the polynomial if you think that the questions are answerable easier for those values. (like $n=1$ and degree $\leq 5$ are the trivial cases) &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;A generic example of a real-stable polynomial is $p(z,t_1,..,t_n) = det(zI + \sum_{i=1}^{n} t_i B_i)$ where $B_i$ are positive-semi-definite matrices. Now we know that real-stability of a polynomial is preserved under operations like acting by differential operators like $(1+ a \frac{\partial }{\partial x})$ (where $x$ is one of the domain variables of the polynomial and $a \in \mathbb{R}$) or setting any of the variables to a real-number or taking a product of two real-stable polynomials.  Now one obvious way to try to decide if a polynomial is real-stable or not is to see if it can be obtained via doing any combination of these real-stability preserving operations on some other polynomial which is known to be real-stable. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;But I am wondering if any direct method (algorithm) exists..&lt;/p&gt;&#xA;" OwnerUserId="32603" LastEditorUserId="32603" LastEditDate="2015-05-20T23:40:28.527" LastActivityDate="2015-05-24T19:39:39.450" Title="What do we know about checking real-stability of multivariate complex polynomials?" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;&lt;polynomials&gt;&lt;np-complete&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31555" PostTypeId="2" ParentId="31525" CreationDate="2015-05-20T21:05:42.993" Score="1" Body="&lt;p&gt;There are $\sum_{j=1}^4 \binom{11}{j} = 561$ smaller subsets, and each $x^\phi$ contains $\sum_{j=1}^4 \binom{5}{j} = 30$ of them.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you put all $462$ $5$-element sets in a priority queue with priority corresponding to the number of subsets which haven't yet appeared, after each pop you have to check $30$ subsets to see whether they're appearing for the first time, and for each $k$-element subset that is appearing for the first time you have to update the priorities of $\binom{11}{5-k}$ sets. There's an easy upper bound on the number of updates of $25410$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As a follow-up optimisation, once every smaller subset has been seen (which happens after you've removed the first 90 elements from the priority queue), you can just iterate through the rest. If your priority queue is e.g. a binary heap, this will save you a lot of $O(\lg n)$ pops.&lt;/p&gt;&#xA;" OwnerUserId="3131" LastEditorUserId="3131" LastEditDate="2015-05-21T08:39:16.727" LastActivityDate="2015-05-21T08:39:16.727" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="31556" PostTypeId="1" AcceptedAnswerId="31560" CreationDate="2015-05-20T21:33:41.773" Score="2" ViewCount="142" Body="&lt;p&gt;Suppose we have a universe $U$ of $n$ items $u_1,u_2,u_3,...,u_n$.&#xA;And a collection of sets (no restriction on being disjoint or exhaustive etc.)&#xA;which cover some items. Size of each set is bounded by some parameter $k&amp;lt;n$.&#xA;We need to perform the following update and query efficiently.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Update: &#xA;1- Add a new set to the collection having some elements of $U$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2- Delete any existing set from collection.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Query:&#xA;Given two vertices, does there exist a set which has both these vertices.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A trivial way would be to maintain a 2D matrix with each $M(i,j)$ storing number of sets containing both $i$ and $j$. Update would be done in $O(k^2)$ by incrementing $M(i,j)$&#xA;for all pairs of vertices in set S_i. The query can be done in$ O(1)$ time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am looking for some solution with o(k^2) update time and poly log query time..&lt;/p&gt;&#xA;" OwnerUserId="22911" LastActivityDate="2015-05-21T19:28:03.070" Title="Set query in a universe with overlapping sets" Tags="&lt;ds.data-structures&gt;&lt;dynamic-algorithms&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31559" PostTypeId="1" AcceptedAnswerId="31738" CreationDate="2015-05-21T17:28:17.710" Score="25" ViewCount="759" Body="&lt;p&gt;For any $n &amp;gt; 0$, I say that a sequence $s$ of integers in $\{1, \ldots, n\}$ is &lt;em&gt;$n$-complete&lt;/em&gt; if, for every permutation $\mathbf{p}$ of $\{1, \ldots, n\}$, written as a sequence of pairwise distinct integers $p_1, \ldots, p_n$, the sequence $\mathbf{p}$ is a subsequence of $s$, i.e., there exist $1 \leq i_1 &amp;lt; i_2 &amp;lt; \cdots &amp;lt; i_n \leq |s|$ such that $s_{i_j} = p_j$ for all $1 \leq j \leq n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is the complexity of the following problem? Is it in PTIME, or coNP-hard? Note that it is in coNP as you can guess a missing sequence (thanks @MarzioDeBiasi).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;&lt;em&gt;Input:&lt;/em&gt;&lt;/strong&gt; an integer $n$, a sequence $s$ of integers in $\{1, \ldots, n\}$&lt;br&gt;&#xA;&lt;strong&gt;&lt;em&gt;Output:&lt;/em&gt;&lt;/strong&gt; is $s$ $n$-complete?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The notion of $n$-complete sequence is known in combinatorics because people have investigated what is the length of the shortest $n$-complete sequences as a function of $n$ (see, e.g., &lt;a href=&quot;https://mathoverflow.net/a/165321/16035&quot;&gt;this mathoverflow thread&lt;/a&gt; for a summary). However, I was unable to find references to the complexity of recognizing them. Note that in particular we can easily build $n$-complete sequences of length polynomial in $n$, namely, of length $n^2$, as $(1, \ldots, n)$ repeated $n$ times (any permutation $\mathbf{p}$ can be realized by choosing $p_i$ in the $i$-th block). Hence we cannot afford in general to enumerate all permutations.&lt;/p&gt;&#xA;" OwnerUserId="4795" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2015-06-18T09:43:39.410" Title="Recognizing sequences with all permutations of $\{1, \ldots, n\}$ as subsequences" Tags="&lt;cc.complexity-theory&gt;&lt;co.combinatorics&gt;&lt;np-hardness&gt;&lt;permutations&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="12" ContentLicense="CC BY-SA 3.0" />
  <row Id="31560" PostTypeId="2" ParentId="31556" CreationDate="2015-05-21T19:28:03.070" Score="5" Body="&lt;p&gt;One can reverse the roles of elements and sets. This can be seen by considering a Boolean matrix of size $m\times n$ where there are $m$ sets and $n$ is the size of the universe. The $i$th row corresponds to the characteristic vector of the $i$th set. Transposing this matrix reverses the roles of sets and elements ($n$ sets and $m$ elements). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now the question of whether there exists a set containing two items is the same of asking if two sets intersect (after reversing the roles). In a paper that has recently been accepted to WADS 2015, (&lt;a href=&quot;http://arxiv.org/abs/1407.6755&quot;&gt;arxiv version here&lt;/a&gt;. see Theorem 3), we show various tradeoffs for the fully dynamic set intersection problem. Since adding/deleting a set corresponds (after role reversal) to adding/deleting an element to or from a bunch of sets, then in terms of the question in mind the update time would be $S\cdot N^{1-\epsilon}$ and the query time is $N^\epsilon$, where $S$ is the size of the set, $N$ is the sum of the sizes of all of the sets, and $0\leq \epsilon\leq 1$. Notice that different points on this tradeoff curve use a different amount of space, specifically $O(N^{2-2\epsilon})$ words. In particular, for constant query time, the space usage is $O(N^2)$ words and the update time is $O(N)$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, for the particular scenario where one is interested in poly log query time, we have a preprint (&lt;a href=&quot;http://arxiv.org/abs/1407.6756&quot;&gt;arxiv version here&lt;/a&gt;) that in particular shows that unless the 3SUM conjecture is false, if one is interested in sub-polynomial query time, then the constructing of a static data structure for disjointness queries requires $\Omega(N^{2-o(1)})$ time. This immediately implies a lower bound for the incremental version of the problem, where one is only allowed to add elements to sets. In particular, since the total number of elements in sets, counting multiplicity, is $N$, each element that is being added must spend $\Omega(N^{1-o(1)})$ time. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;As such, a (polynomially) more efficient update time does not seem likely, even when allowing poly-log query time. &lt;/p&gt;&#xA;" OwnerUserId="15802" LastActivityDate="2015-05-21T19:28:03.070" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31561" PostTypeId="2" ParentId="31501" CreationDate="2015-05-21T20:16:07.563" Score="0" Body="&lt;p&gt;Although this question does not seem research-level, here is a solution that does not check all possible paths (elaborating on the above comment).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The naive dynamic programming approach is to use a 6-dimensional table $(x,y,min_p,max_p,min_t,max_t)$, storing the cost of the minimum path to node $(x,y)$, such that the minima and maxima since the last checkpoint are $(min_p,max_p,min_t,max_t)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since there are $m+n$ candidate values for each minimum and maximum, this table may be huge, namely size $O(m\cdot n\cdot (m+n)^4)$.&#xA;You can implement this using a hash-table, mapping each $(x,y,min_p,max_p,min_t,max_t)$.&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;// T[x,y,min_p,max_p,min_t,max_t] will eventually contain:&#xA;// the minimum cost of a path (excluding the cost since the last checkpoint) to node (x,y)&#xA;// such that the minimum P.p or Q.p since the last checkpoint of that path is min_p, etc.&#xA;T = empty hash table&#xA;for x in [0..m-1]&#xA;  for y in [0..n-1]&#xA;    for min_p in P.ps + Q.ps&#xA;      for max_p in P.ps + Q.ps&#xA;        for min_t in P.ts + Q.ts&#xA;          for max_t in P.ts + Q.ts&#xA;            T[x,y,min_p,max_p,min_t,max_t] = infinity&#xA;// there is only one path to (0,0)&#xA;// if we don't count the cost since the last checkpoint, this path has cost 0&#xA;T[0,0,min(P[0].p,Q[0].p),max(P[0].p,Q[0].p),...] = 0&#xA;for x in [0..m-1]&#xA;  for y in [0..n-1]&#xA;    for min_p in P.ps + Q.ps&#xA;      for max_p in P.ps + Q.ps&#xA;        for min_t in P.ts + Q.ts&#xA;          for max_t in P.ts + Q.ts&#xA;            cost_to_xy = T[x,y,min_p,max_p,min_t,max_t]&#xA;            // try advance P&#xA;            if x&amp;lt;m-1&#xA;              key = (x+1,y,min(min_p,P[x+1].p),max(max_p,P[x+1].p),...)&#xA;              T[key] = min(T[key], cost_to_xy)&#xA;            // try advance Q&#xA;            if y&amp;lt;n-1&#xA;              key = (x,y+1,min(min_p,Q[y+1].p),max(max_p,Q[y+1].p),...)&#xA;              T[key] = min(T[key], cost_to_xy)&#xA;            // try advance both (checkpoint)&#xA;            if x&amp;lt;m-1 and y&amp;lt;n-1&#xA;              key = (x+1,y+1,min(P[x+1].p,Q[y+1].p),max(P[x+1].p,Q[y+1].p),...)&#xA;              T[key] = min(T[key], cost_to_xy + max_t-min_t + max_p-min_p)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;The cost of the optimal path is then the minimum over all&#xA;$T[m-1,n-1,min_p,max_p,min_t,max_t] + max_t - min_t + max_p - min_p$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Disclaimer: This solution is not at all optimized and you still have to fill some blanks. Neither does it give you the actual path, but you can get it with some small tweaks.&lt;/p&gt;&#xA;" OwnerUserId="27113" LastActivityDate="2015-05-21T20:16:07.563" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31562" PostTypeId="1" CreationDate="2015-05-21T22:35:38.917" Score="4" ViewCount="299" Body="&lt;p&gt;Lately I have been looking around for a formal definition of a what a data structure is. I cannot find neither a paper, nor a book with such a definition. Even the famous &quot;The Art of Computer Programming&quot; is missing one. Even for just a linked data structure, e.g., binary search tree, I couldn't find one.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, is there one? Perhaps a paper that is talking about it?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By formal definition I'm thinking of something like &quot;A data structure is a tuple (Op, El, ..) where ...&quot;. &lt;/p&gt;&#xA;" OwnerUserId="12810" LastActivityDate="2015-05-24T19:57:22.210" Title="Defintion of a Data Structure?" Tags="&lt;ds.data-structures&gt;&lt;formal-modeling&gt;" AnswerCount="1" CommentCount="6" ClosedDate="2015-05-27T18:40:08.637" ContentLicense="CC BY-SA 3.0" />
  <row Id="31563" PostTypeId="2" ParentId="31484" CreationDate="2015-05-21T22:38:52.180" Score="2" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;My question is just whether there is a known relativization barrier.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Yes, there is a known relativization barrier. It's given by $A:=TQBF$, because Emil Jeřábek (see comments) is right: the statement that $TQBF$ is $PSPACE$-complete under logspace many-one reductions is &lt;a href=&quot;http://www.cs.berkeley.edu/~luca/cs172-07/solutions/sol10.pdf&quot; rel=&quot;nofollow&quot;&gt;well&lt;/a&gt; &lt;a href=&quot;https://cseweb.ucsd.edu/classes/sp13/cse200-a/handouts/lec-08-0424.pdf&quot; rel=&quot;nofollow&quot;&gt;known&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Emil Jeřábek's remark &quot;(or even uniform $\mathbf{AC}^0$)&quot; seems less relevant, because $\mathbf{AC}^0$ is easily separated from $L$ (or even uniform $\mathbf{NC}^1$). Because the resulting formula actually depends only very locally on the input for the $PSPACE$-Turing machine, one could even claim that $TQBF$ is $PSPACE$-complete under $L$-uniform $\mathbf{NC}^0$ (instead of &lt;a href=&quot;http://people.cs.umass.edu/~immerman/pub/bis.pdf&quot; rel=&quot;nofollow&quot;&gt;uniform&lt;/a&gt; $\mathbf{AC}^0$). But I find this misleading, because the circuit doesn't really do any non-trivial work at all, it basically just writes down a template.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(The reduction writes down $n^k$ times $\exists c_{1.5}\forall (c_3, c_4) \in \{(c_1, c_{1.5}), (c_{1.5}, c_2)\}$ with systematically varying indices, where each $c_i$ are actually $n^k$ Boolean variables. This entire part only depends on the length of the input, hence the corresponding output variables are hardwired to constants. The final formula could be written as $\forall z. (z_1=i_i\land\dots\land z_n=i_n)\land \phi(x,y,z)$ such that only $i_i,\dots,i_n$ depends on the actual input, and such that this is the only place where $i_i,\dots,i_n$ appear. So this is nearly trivially an $\mathbf{NC}^0$, the entire work has been done by the $L$-algorithm writing down the circuit, whose outputs are nearly all directly hardwired to constant.)&lt;/p&gt;&#xA;" OwnerUserId="20340" LastEditorUserId="20340" LastEditDate="2015-05-21T22:48:29.700" LastActivityDate="2015-05-21T22:48:29.700" CommentCount="1" CommunityOwnedDate="2015-05-21T22:38:52.180" ContentLicense="CC BY-SA 3.0" />
  <row Id="31565" PostTypeId="2" ParentId="31538" CreationDate="2015-05-22T07:01:09.947" Score="7" Body="&lt;p&gt;A version of Tucker's algorithm was used in B. Awerbuch, A. Israeli, and Y. Shiloach, Finding Euler Circuits in Logarithmic Parallel Time, STOC 1984, to find Euler tours efficiently in parallel, and similar ideas can be used to make the algorithm run sequentially in linear time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose you have a connected graph $G$ in which all vertices have even degree, and start by pairing off edges at each vertex. This forms a collection of cycles that together cover the graph, and Tucker's algorithm works by joining the cycles together one at a time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To make this repeated joining process efficient, first run a connected components algorithm (e.g. DFS) to find which edges belong to which cycles. Make a bipartite multigraph $H$, where the vertices on one side of the bipartition correspond one-for-one with the vertices of $G$, the vertices on the other side of the bipartition correspond with the cycles you've constructed, and the edges of $H$ correspond to incidences between cycles and vertices in $G$. Construct a spanning tree $T$ of $H$ (e.g. DFS again), rooted at one of the cycle vertices.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, for each cycle $C$ that is not the root of $T$, join $C$ to its grandparent in $T$ (by swapping the edge pairing at the common vertex of the two cycles, represented by the parent of $C$), in constant time per join.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The same technique also works for directed graphs (and that's the version that Awerbuch et al use for their main presentation); in that case, the only difference is that you want equally many incoming and outgoing edges at each vertex, and the edge-pairing at each vertex must pair incoming edges with outgoing edges.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2015-05-22T07:01:09.947" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31566" PostTypeId="1" AcceptedAnswerId="31568" CreationDate="2015-05-22T17:36:42.690" Score="8" ViewCount="488" Body="&lt;p&gt;Is there a conditional impossibility result or the question is completely open?&lt;/p&gt;&#xA;" OwnerUserId="34204" LastActivityDate="2015-10-06T15:23:05.393" Title="What's known about basing one-way function on the $P \neq NP$ assumption?" Tags="&lt;one-way-function&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="31567" PostTypeId="2" ParentId="31541" CreationDate="2015-05-22T23:22:27.903" Score="6" Body="&lt;p&gt;For an extreme example, chordal graphs can have as many as $\binom{n}{2}$ edges but chordal graphs that happen to also be bipartite can have only $n-1$ edges (they are forests). Or even more extremely, consider complete graphs versus (complete $\cap$ bipartite) graphs. But perhaps it makes sense to restrict your problem only to classes of graphs that are naturally sparse, as the planar and minor-closed graph families are.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is not true that all minor-closed families are biparted; in particular, the graphs of treewidth $k$ are not. An $n$-vertex graph with treewidth $k$ has at most $\binom{k}{2}+k(n-k)$ edges, but (for large $n$ and small $k$) the complete bipartite graph $K_{n-k,k}$ has treewidth $k$ and is almost as dense with $k(n-k)$ edges.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One can extend the bounds from planar graphs to $k$-apex graphs (graphs such that you can delete $k$ vertices and get a planar graph), and their generalization to $(g,k)$-apex graphs for bounded genus $g$: these graphs have at most $(k+3)n+O(g)$ edges but their bipartite subclasses have at most $(k+2)n+O(g)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Moving beyond minor-closed properties but continuing with graphs related to planar graphs, the 1-planar graphs (graphs that can be drawn with at most one crossing per edge) can have at most $4n-8$ edges, but bipartite 1-planar graphs can have at most $3n-6$. See Czap and Hudák, &quot;On drawings and decompositions of 1-planar graphs&quot;, Elect. J. Comb. 2013. And the graphs with book thickness $k$ have at most $(k+1)n-O(1)$ edges ($2n-3$ for the first page and $n-3$ for each subsequent page), but when they are bipartite the constant factor is lower because the first page is outerplanar. I suspect that similar things happen with other types of almost-planar graph.&lt;/p&gt;&#xA;" OwnerUserId="95" LastEditorUserId="95" LastEditDate="2015-05-22T23:28:38.373" LastActivityDate="2015-05-22T23:28:38.373" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="31568" PostTypeId="2" ParentId="31566" CreationDate="2015-05-22T23:28:43.697" Score="15" Body="&lt;p&gt;We cannot hope to prove a general impossibility result since if one-way functions exist (and we believe they do), then in particular it follows that the statement &quot;If $P \ne NP$ then one-way functions exist&quot; is true. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, we can prove that certain proof techniques are too weak to prove that statement. In particular, the following paper of Akavia, Goldreich, Goldwasser and Moshkovitz proves that this statement cannot be proved by certain black-box reductions (conditioned on plausible assumptions):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.wisdom.weizmann.ac.il/~oded/p_aggm.html&quot; rel=&quot;nofollow&quot;&gt;http://www.wisdom.weizmann.ac.il/~oded/p_aggm.html&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="8429" LastEditorUserId="8429" LastEditDate="2015-10-06T15:23:05.393" LastActivityDate="2015-10-06T15:23:05.393" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="31569" PostTypeId="1" AcceptedAnswerId="31610" CreationDate="2015-05-23T06:30:34.303" Score="5" ViewCount="327" Body="&lt;p&gt;I was going over this &lt;a href=&quot;http://theory.stanford.edu/~virgi/cs267/papers/klokskratschmuller.pdf&quot;&gt;paper&lt;/a&gt; and I don't understand a certain proof (section five phase 2).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a graph &lt;em&gt;G=(V,E)&lt;/em&gt; partitioned into the sets of vertices &lt;em&gt;L&lt;/em&gt; and &lt;em&gt;H&lt;/em&gt;. The vertices in &lt;em&gt;L&lt;/em&gt; are at most &lt;em&gt;D&lt;/em&gt; where &lt;em&gt;D&lt;/em&gt; is an arbitrary number and the rest of the vertices are in &lt;em&gt;H&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we take a closer look at Phase 2 (Theorem 5). For each vertex &lt;em&gt;x&lt;/em&gt; in &lt;em&gt;L&lt;/em&gt; compute the square of the adjacency matrix of &lt;em&gt;G[N(x)]&lt;/em&gt; to decide whether &lt;em&gt;G[N(x)]&lt;/em&gt; contains a triangle. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;We know that the fastest way to find a triangle in a graph is using fast matrix multiplication algorithm which is $O(n^\alpha)$. So, we can define a running time of $\sum_{x \epsilon L}^{ } d(x)^\alpha$. Since we know that &lt;em&gt;|L|&lt;/em&gt; can be at most &lt;em&gt;e&lt;/em&gt; (number of edges) if we choose a bad &lt;em&gt;D&lt;/em&gt; and &lt;em&gt;d(x)&lt;/em&gt; is at most &lt;em&gt;D&lt;/em&gt;, why Phase 2 can be done in $O(D^{\alpha-1}e)$. I was under the impression that it was $O(D^{\alpha}e)$ i.e. where is the $\alpha-1$ coming from? I'm pretty sure it's trivial, but I'm missing the point. &lt;/p&gt;&#xA;" OwnerUserId="34209" LastActivityDate="2015-05-27T04:00:14.090" Title="Counting the number of K4" Tags="&lt;graph-theory&gt;&lt;clique&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31570" PostTypeId="1" AcceptedAnswerId="31571" CreationDate="2015-05-23T10:55:56.770" Score="0" ViewCount="109" Body="&lt;p&gt;I’m trying to come up with an algorithm that performs some action a &lt;a href=&quot;http://en.wikipedia.org/wiki/Graham%27s_number&quot; rel=&quot;nofollow&quot;&gt;Graham’s number&lt;/a&gt; of times on a machine with a reasonable amount of memory.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I thougth of the way to organize counter suitable for calculating &lt;a href=&quot;http://en.wikipedia.org/wiki/Knuth%27s_up-arrow_notation&quot; rel=&quot;nofollow&quot;&gt;$a{\uparrow\uparrow}b$&lt;/a&gt;, but got stuck at even smaller problem of counting to $2^a$, where $a$ is a 64-bit integer ($2^{21}$Tb needed for storage of such number is above what I assume reasonable).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there some clever technique to count beyond $2{\uparrow\uparrow}6$? Or is there any conceptual limitations on the counters with a polynomial-bounded memory?&lt;/p&gt;&#xA;" OwnerUserId="27097" LastActivityDate="2015-05-23T11:28:35.367" Title="An algorithm for counting to Graham’s Number" Tags="&lt;space-bounded&gt;&lt;combinatorics&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31571" PostTypeId="2" ParentId="31570" CreationDate="2015-05-23T11:28:35.367" Score="1" Body="&lt;p&gt;With only a polynomial amount of memory, a program that terminates can run for at most exponential time. This is because there are only exponentially many states (i.e. a combination of tape content (exponential), Turing machine state (constant) and position of the head over the tape (polynomial)). Thus any machine that runs for more than exponential time would have to visit some state more than once and hence loop.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In general, to get a program to run for $T(n)$ time you need $\Omega(\log(T(n)))$ memory.&lt;/p&gt;&#xA;" OwnerUserId="28912" LastActivityDate="2015-05-23T11:28:35.367" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31572" PostTypeId="1" CreationDate="2015-05-23T11:32:51.987" Score="9" ViewCount="513" Body="&lt;p&gt;Ok, don't be scared by the title - it is not that I don't know the concept of a Moore machine, or basic FSM concepts in general. However, I think that the term &quot;Moore machine&quot;, despite being frequently used in some areas, is generally poorly defined. I would be grateful if someone could point me to some (authoritative) source.&lt;/p&gt;&#xA;&#xA;&lt;h3&gt;Background&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;The first and most prominent notion of a Moore machine I've come across is that a Moore machine is a certain kind of &lt;strong&gt;deterministic finite-state transducer&lt;/strong&gt;. That is, given an input alphabet $\Sigma$ and an output alphabet $\Omega$, a Moore machine $M$ computes a function $\lambda_M \colon \Sigma^* \to \Omega^*$ such that for each input symbol that is consumed, a single output symbol is produced (this restriction is not always obeyed and, moreover, is not relevant to the question, but I will stick with it for simplicity). Thus, among other things, we have that for all $w \in \Sigma^*$, $|\lambda_M(w)| = |w|$, and in particular $\lambda_M(\varepsilon) = \varepsilon$. A Moore machine $M$ is generally defined as a tuple $M = \langle Q, \Sigma, q_o, \delta, \gamma\rangle$, where $\gamma \colon Q \to \Omega$ is the &lt;em&gt;state output function&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There exists two interpretations of this definition. In the original one presented by Moore, the state output function of the &lt;strong&gt;current&lt;/strong&gt; state determines the output that is emitted when an input symbol is read. Note that in this case, for a given Moore machine $M$, the first symbol of $\lambda_M(w)$, $w \neq \varepsilon$, is necessarily fixed to $\gamma(q_0)$. Note that when relying on this interpretation, there are &lt;em&gt;Mealy&lt;/em&gt; machines for which no equivalent Moore machines exist. On the positive side, this interpretation admits a (minimal) canonical form.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the second interpretation, the &lt;strong&gt;successor&lt;/strong&gt; state determines the output that is emitted when an input symbol is read (i.e., when reading $\sigma\in\Sigma$ in state $q\in Q$, $\gamma(\delta(q, \sigma))$ is emitted). Then, every Mealy machine can be converted into an equivalent Moore machine (with potential blow-up by a factor of $|\Omega|$) and vice versa. However, then Moore machines &lt;strong&gt;do not&lt;/strong&gt; admit a canonical form, due to the degree of freedom introduced by the fact that $\lambda_M$ does not constrain the output of the initial state, i.e., the value for $\gamma(q_0)$. For a more concrete example, consider the transducer with $\Sigma = \{a, b\}$ and $\Omega = \{x, y\}$ that outputs $x$ when reading $a$ and $y$ when reading $b$. The canonical Mealy machine has a single state with two loops with labels $a / x$ and $b / y$. A Moore machine (according to the second interpretation) needs two states, one with output $x$ and one with output $y$. $a$ loops on the $x$-state and $b$ loops on the $y$-state, and the state gets switched on all other inputs. Both states can be chosen as the initial state, and there is no &lt;em&gt;natural&lt;/em&gt; choice.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I've also come across a different notion of Moore machines, namely as a generalization of DFA (i.e., where a DFA is a Moore machine with output alphabet $\Omega = \mathbb{B} = \{0, 1\}$ indicating acceptance). In this case, the value $\lambda_M(w)$ of the output function $\lambda_M \colon \Sigma^* \to \Omega$ is a single symbol only, which is determined by $\gamma(\delta(q_0, w))$. While this admits a canonical form, evaluating $\lambda_M(w)$ in general yields significantly less information than in the above case, but also yields information that is not observable in the transducer interpretation (i.e., for $\lambda_M(\varepsilon)$). These aspects are relevant, e.g., in the field of &lt;em&gt;state identification&lt;/em&gt; (finding the current state in a given Machine by experimentation).&lt;/p&gt;&#xA;&#xA;&lt;h3&gt;Questions&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;This brings me to my main two &lt;strong&gt;questions&lt;/strong&gt;:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;What are the justifications for using Moore machines as transducers in the first place? The &lt;em&gt;slight&lt;/em&gt; simplicity over Mealy machines comes at a high cost, namely either a reduced expressive power (1st interpretation) or the lack of a canonical form (2nd interpretation), and in either case a potentially increased size compared to a Mealy machine. Am I injust when claiming that for these reasons, the concept of a Moore machine should be avoided altogether in a strictly formal setting?&lt;/li&gt;&#xA;&lt;li&gt;Is there an established name for the above-mentioned &quot;generalized DFA&quot;? Clearly, the term Moore machine is to confusing, as it is commonly associated with transducers. I've come across TDFA for the ternary case (true, false, unknown/dontcare/maybe/...), but I am looking for a generalization beyond that. Maybe simply GDFA (generalized DFA)?&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;I'm looking forward to your input on this!&lt;/p&gt;&#xA;" OwnerUserId="34213" LastActivityDate="2015-05-23T11:32:51.987" Title="What exactly are Moore machines?" Tags="&lt;automata-theory&gt;&lt;fsm&gt;" AnswerCount="0" CommentCount="3" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="31573" PostTypeId="2" ParentId="31325" CreationDate="2015-05-23T12:24:45.257" Score="4" Body="&lt;p&gt;Behavior of a reactive system is often modeled using infinite structures ( infinite traced and infinite computation trees) and their Temporal properties (safety and liveness properties) have also been characterized using topology. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Defining Liveness &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/0020019085900560&quot; rel=&quot;nofollow&quot; title=&quot;Defining Liveness Alpern and Schneider&quot;&gt;Alpern and Schneider&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Safety and Liveness in Branching time &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=871868&quot; rel=&quot;nofollow&quot; title=&quot;Safety an liveness in Branching Time&quot;&gt;Manolios et. al.&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="17043" LastEditorUserId="17043" LastEditDate="2016-02-25T13:29:21.087" LastActivityDate="2016-02-25T13:29:21.087" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31576" PostTypeId="1" CreationDate="2015-05-24T01:48:11.200" Score="1" ViewCount="110" Body="&lt;p&gt;From the &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.46.6873&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;nofollow&quot;&gt;paper&lt;/a&gt; of Impagliazzo and Rudich &quot;Limits on the Provable Consequences of One-Way Permutations&quot;:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;We provide strong evidence that it will be difficult to prove that secure secret agreement is possible assuming only that a one-way permutation exists. We model the existence of a one-way permutation by allowing all parties access to a randomly chosen permutation oracle. A random permutation oracle is provable one-way in the strongest possible sense.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Given that we don't know if one-way function exists, how should one interpret this? Doesn't the above say one-way fucntion &lt;em&gt;does&lt;/em&gt; exist?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, they exhibit an oracle relative to which one-way permutation exists, but not key agreement. Again, how is that possible? What does that mean? A &lt;em&gt;black-box&lt;/em&gt; key agreement can be constructed independently ignoring &lt;em&gt;both&lt;/em&gt; the oracle and the one-way permutation. &lt;/p&gt;&#xA;" OwnerUserId="34219" LastEditorUserId="34219" LastEditDate="2015-05-25T07:18:57.967" LastActivityDate="2015-05-25T07:18:57.967" Title="The meaning of separations in cryptography" Tags="&lt;random-oracles&gt;" AnswerCount="0" CommentCount="3" FavoriteCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31577" PostTypeId="2" ParentId="31325" CreationDate="2015-05-24T02:34:02.457" Score="4" Body="&lt;p&gt;&lt;a href=&quot;http://www.math.utu.fi/icalp04/godel2004.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;The 2004 Gödel Prize&lt;/a&gt; was shared between the papers:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;em&gt;The Topological Structure of Asynchronous Computation&lt;/em&gt;.&lt;br /&gt;&#xA;By Maurice Herlihy and Nir Shavit, Journal of the ACM, Vol. 46 (1999), 858-923&lt;/li&gt;&#xA;&lt;li&gt;&lt;em&gt;Wait-Free k-Set Agreement Is Impossible: The Topology of Public Knowledge&lt;/em&gt;.&lt;br /&gt;&#xA;By Michael Saks and Fotios Zaharoglou, SIAM J. on Computing, Vol. 29 (2000), 1449-1483.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Quotes from &lt;a href=&quot;http://www.math.utu.fi/icalp04/godel2004.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;the 2004 Gödel Prize:&lt;/a&gt;&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;The two papers offer one of the most important breakthroughs in the theory of distributed computing.&lt;/p&gt;&#xA;&lt;p&gt;The discovery of the &lt;strong&gt;topological nature of distributed computing&lt;/strong&gt; provides a new perspective on the area and represents one of the most striking examples, possibly in all of applied mathematics, of the use of topological structures to quantify natural computational phenomena.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;hr /&gt;&#xA;&lt;p&gt;Related post: &lt;a href=&quot;https://cstheory.stackexchange.com/q/2898/12739&quot;&gt;Applications of topology to computer science&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="12739" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2015-05-24T02:34:02.457" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31578" PostTypeId="1" CreationDate="2015-05-24T14:46:28.703" Score="6" ViewCount="222" Body="&lt;p&gt;The split find-min data structure is initialized with a sequence of elements $e_1,\ldots,e_n$, each associated with a key. The data structure supports three operations:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(1) $Split(e_i)$ that splits the sequence at position $e_i$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(2) $FindMin(e_i)$ that returns the minimum in the interval that contains $e_i$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;(3) $DecreaseKey(e_i,k)$ that decreases the key of $e_i$ by $k$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For instance, you may have started with $[5,2,1,4]$, where the min is $1$, then split at $2$ to get $[5][2,1,4]$, so the min of the first interval is $5$ and the min of the second interval is $1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Seth Pettie gave an implementation of this data structure that makes at most $O(m\log\alpha(m,n))$ comparisons when $m$ is the number of $DecreaseKey$ operations and $n$ is the number of elements ($\alpha$ is the inverse Ackermann function).&#xA;For more details see the paper:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Sensitivity Analysis of Minimum Spanning Trees in Sub-Inverse-Ackermann Time&#xA;&lt;a href=&quot;http://arxiv.org/abs/1407.1910&quot;&gt;http://arxiv.org/abs/1407.1910&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is: Suppose that you want to support queries not about which is the min element in each interval, but about which are the $l$ smallest elements in each interval, for a parameter $l\gg 1$ (note that you don't need to know the order among the $l$ smallest elements, only what they are). How many comparisons do you need for that?&lt;/p&gt;&#xA;" OwnerUserId="1621" LastActivityDate="2015-05-25T08:03:16.673" Title="Split find-min data structure that finds several small elements?" Tags="&lt;ds.algorithms&gt;&lt;ds.data-structures&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="31579" PostTypeId="2" ParentId="31566" CreationDate="2015-05-24T18:43:41.457" Score="10" Body="&lt;p&gt;If you mean the cryptographic kind of one-way function (i.e. average-case hard to invert), then Or Meir's answer is great. But for the slightly easier notion of &lt;em&gt;worst-case&lt;/em&gt; one-way function - that is, an injective function $f$ that is computable in polynomial time, but where there is no deterministic polynomial-time algorithm $g$ such that $f(g(y)) = y$ for all $y$ &lt;em&gt;in the image of $f$&lt;/em&gt; and $g(y)=0$ otherwise - there is a more precise answer. Namely, worst-case one-way functions exist &lt;em&gt;if and only if&lt;/em&gt; $\mathsf{P} \neq \mathsf{UP}$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;So for worst-case one-way functions, your question essentially boils down to the relationship between $\mathsf{UP}$ and $\mathsf{NP}$. This relationship is essentially wide open, and there are oracles in both directions. A few relationships for &lt;em&gt;related&lt;/em&gt; questions are known - namely, Valiant-Vazirani ($\mathsf{NP} \subseteq \mathsf{RP}^{\mathsf{PromiseUP}}$) and Hemaspaandra-Naik-Ogihara-Selman ($\mathsf{NPMV} \subseteq_c \mathsf{NPSV}$ implies $\mathsf{PH}$ collapses) - but I'm not aware of any direct, unconditional relationship that deals with $\mathsf{NP}$ and $\mathsf{UP}$ precisely.&lt;/p&gt;&#xA;" OwnerUserId="129" LastEditorUserId="129" LastEditDate="2015-05-25T15:05:57.177" LastActivityDate="2015-05-25T15:05:57.177" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="31581" PostTypeId="2" ParentId="31554" CreationDate="2015-05-24T19:39:39.450" Score="6" Body="&lt;p&gt;Here is at least some upper bound: treat the polynomial $\mathbb{C}^n \to \mathbb{C}$ as $\mathbb{R}^{2n} \to \mathbb{R}^2$, and then ask in the first order theory of the reals if $p(x)=0$ implies that the imaginary part of each coordinate of $x$ is nonpositive. This can be solved in $\mathsf{PSPACE}$ (e.g. &lt;a href=&quot;http://en.wikipedia.org/wiki/Existential_theory_of_the_reals&quot;&gt;http://en.wikipedia.org/wiki/Existential_theory_of_the_reals&lt;/a&gt;). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course, the existential theory of the reals is $\mathsf{NP}$-hard, so taking this route in general won't get you below $\mathsf{NP}$...&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2015-05-24T19:39:39.450" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="31582" PostTypeId="2" ParentId="31562" CreationDate="2015-05-24T19:57:22.210" Score="-5" Body="&lt;p&gt;Data structures is nothing but the ways how data of different kinds can be structured in a systematic way. The actual definition may be somewhat lengthy and descriptive which can be found on different sources. But it is all about defining structures of your data that will satisfy your need to solve any particular problem.&lt;/p&gt;&#xA;" OwnerUserId="34224" LastActivityDate="2015-05-24T19:57:22.210" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31583" PostTypeId="1" AcceptedAnswerId="31588" CreationDate="2015-05-24T21:58:56.447" Score="3" ViewCount="156" Body="&lt;p&gt;Are there any practical algorithms for integer factorization that work by solving the decision version of the problem $\log N$ times to isolate a factor? Or is the decision version of only theoretical interest?&lt;/p&gt;&#xA;" OwnerUserId="25335" LastActivityDate="2015-05-25T04:47:00.503" Title="Algorithms for factorization using the decision version" Tags="&lt;factoring&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31585" PostTypeId="1" AcceptedAnswerId="31586" CreationDate="2015-05-25T02:43:16.220" Score="3" ViewCount="677" Body="&lt;p&gt;Consider the (simple, undirected) complete graph $K_n$. Is it possible to partition its edges into less than $n$ cliques, each having less than $n$ vertices?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; It is easy to see that $n$ cliques of size $&amp;lt;n$ always suffice. Take a $K_{n-1}$ as one clique, and take a $K_2$ for each of the $n-1$ edges that are not contained in the $K_{n-1}$. This gives an edge partition into $n$ cliques, each with size $&amp;lt;n$. The question is whether there is such a partition into &lt;strong&gt;less&lt;/strong&gt; than $n$ cliques of size $&amp;lt;n$.&lt;/p&gt;&#xA;" OwnerUserId="12710" LastActivityDate="2015-05-25T03:47:11.270" Title="Partitioning the edges of a complete graph into smaller complete graphs" Tags="&lt;graph-theory&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31586" PostTypeId="2" ParentId="31585" CreationDate="2015-05-25T03:47:11.270" Score="4" Body="&lt;p&gt;After some search, I have found out that a solution was already published in 1948. De Bruijn and Erdos proved that it is &lt;strong&gt;not&lt;/strong&gt; possible to partition the edges of $K_n$ into fewer than $n$ smaller cliques. I do not have a direct link to their paper, but it is referred to in the 1988 paper by &lt;a href=&quot;http://bsmath.hu/~p_erdos/1988-04.pdf&quot; rel=&quot;nofollow&quot;&gt;Erdos, Faudree and Ordman, &quot;Clique Partitions and Clique Coverings&quot;&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="12710" LastActivityDate="2015-05-25T03:47:11.270" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31587" PostTypeId="2" ParentId="31578" CreationDate="2015-05-25T03:54:45.467" Score="3" Body="&lt;p&gt;Use a forest of 2-4 trees in which the keys are at the leaves. Every internal node contains a copy of the minimum key that descends from it as well as a positive integer indicating the number of values of this key descending from it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Additionally, maintain a van Emde Boas tree containing as keys each positive integer $i$ where $e_i$ is the left-most element in one of the 2-4 trees. In the vEB tree, each integer $i$ has satellite data: a pointer to the root of the tree the key associated with $e_i$ is in.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;$Split$ is the normal split on 2-4 trees, updating the internal node data as it proceeds. This takes logarithmic time in the size of the tree being split, while updating the vEB tree takes time corresponding to the logarithm of the logarithm of the number of trees in the forest.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;$FindMin$, which now returns the $l$ smallest keys, does a breadth-first search down the tree containing the element in question. Starting from the root, this takes time linear in $l$. To find the root from the element, access the vEB tree, find the predecessor, then follow the pointer to that root.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;$DecreaseKey$ modifies a single 2-4 tree, taking time logarithmic in the size of that tree.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Each $Split$ uses $O(\log \log n)$ time for the vEB operation and $O(\log n)$ key comparisons. Each $FindMin$ uses $O(\log \log n)$ time for the vEB operation and $O(l)$ key comparisons. Each $DecreaseKey$ uses $O(\log n)$ key comparisons.&lt;/p&gt;&#xA;" OwnerUserId="43" LastEditorUserId="43" LastEditDate="2015-05-25T08:03:16.673" LastActivityDate="2015-05-25T08:03:16.673" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="31588" PostTypeId="2" ParentId="31583" CreationDate="2015-05-25T04:47:00.503" Score="6" Body="&lt;p&gt;All of the following algorithms either find a complete factor or a complete non-trivial factorization:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Trial division.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Pollard rho.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Pollard $p-1$ and its variants, including the elliptic curve method (ECM).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Shanks' SQUFOF.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Quadratic sieve (QS).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Number field sieve (NFS).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;As far as I understand this list includes all algorithms actually used to factor integers in real life.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finding just one bit of a factor sounds very unnatural to me, and I can't imagine an algorithm which can find one bit without finding all bits. (Even the SAT algorithm for factorization will find all bits at once.)&lt;/p&gt;&#xA;" OwnerUserId="40" LastActivityDate="2015-05-25T04:47:00.503" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31591" PostTypeId="1" CreationDate="2015-05-25T17:24:42.580" Score="0" ViewCount="49" Body="&lt;p&gt;I am studying Information theory, coding theory in particular at the moment, and I am having trouble determining how many different cycles are defined by a certain generator polinomial?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a polinomial, for example $g(p)=p^6+p^3+1$, and the length of the code $n = 9$ how can I determine the number of different cycles that are defined? Everything is in modulo 2 arithmetics. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I know that the cycles (001)(010)(100) and (011)(110)(101) are defined, but how can I find the rest of them?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I also wonder if there is an explicit formula that can return me the result, maybe based on the different powers in the generating polinomial?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thank you for helping me.&lt;/p&gt;&#xA;" OwnerUserId="34233" LastEditorUserId="34233" LastEditDate="2015-05-26T15:46:58.340" LastActivityDate="2015-05-26T15:46:58.340" Title="Number of different cycles in cyclic codes with length n" Tags="&lt;coding-theory&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="31593" PostTypeId="1" CreationDate="2015-05-26T02:52:54.253" Score="14" ViewCount="1046" Body="&lt;p&gt;I am looking for examples of results which go against people's intuition for a general audience talk. Results which if asked from non-experts &quot;what does your intuition tell you?&quot;, almost all would get it wrong. Results' statement should be easily explainable to undergraduates in cs/math. I am mainly looking for results in computer science.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What are the most counterintuitive/unexpected results (of general interest) in your area?&lt;/p&gt;&#xA;" OwnerUserId="14197" LastEditorUserId="14197" LastEditDate="2015-10-16T00:02:57.390" LastActivityDate="2015-10-16T04:36:24.347" Title="Counterintuitive results for undergraduates" Tags="&lt;big-list&gt;&lt;teaching&gt;&lt;intuition&gt;" AnswerCount="9" CommentCount="6" FavoriteCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="31594" PostTypeId="1" CreationDate="2015-05-26T09:20:18.057" Score="9" ViewCount="185" Body="&lt;p&gt;I'm wondering if the following problem is NP-hard.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Input:&lt;/strong&gt; $G = (V,E)$ a simple graph, and a coloring $f : E \to \{1,2,3\}$ of the edges &#xA;  ($f$ does not verify any specific property).&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;&lt;strong&gt;Question:&lt;/strong&gt; is it possible to partition $E$ into $|E|/3$ triangles, &#xA;  such that each triangle has one edge of each color?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I know that without the colors the problem of &quot;edge partitioning&quot; a graph into &#xA;$K_n$, $n \geq 3$ is NP-hard &#xA;(see &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.102.6042&amp;amp;rep=rep1&amp;amp;type=pdf&quot;&gt;The NP-Completeness of Some Edge-Partition Problems&lt;/a&gt;)&#xA;but with the colors I don't know.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would also be interested in a result for edge partitioniong into rainbow $K_c$, with $c$ a constant. Of course, in this case the problem becomes:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Input:&lt;/strong&gt; $G = (V,E)$ a simple graph, and a coloring $f : E \to \{1,\ldots,c(c-1)/2\}$ of the edges ($f$ does not verify any specific property).&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;&lt;strong&gt;Question:&lt;/strong&gt; is it possible to partition $E$ into $|E|/(c(c-1)/2)$ $K_c$'s, &#xA;  such that each clique $K_c$ has one edge of each color?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="32018" LastEditorUserId="5693" LastEditDate="2015-05-26T09:34:32.627" LastActivityDate="2019-01-18T09:08:09.447" Title="Edge-partitioning into rainbow triangles" Tags="&lt;graph-theory&gt;&lt;np-hardness&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31596" PostTypeId="2" ParentId="31593" CreationDate="2015-05-26T10:24:30.603" Score="5" Body="&lt;p&gt;Perhaps a good example (not directly related to computational complexity) is the Turing universality of simple computational models.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example the &lt;a href=&quot;http://en.wikipedia.org/wiki/Rule_110&quot; rel=&quot;noreferrer&quot;&gt;rule 110&lt;/a&gt; is efficiently (weakly) universal:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given an (infinite) array of 0-1 (white-black) cells properly initialized and the simple substitution rules:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/3EGbX.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;we have a &quot;working computer&quot;! :-)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the definition of &quot;weakly&quot; and &quot;efficient&quot;, and for other examples of simple universal Turing machines look at: &lt;a href=&quot;http://arxiv.org/abs/1110.2230&quot; rel=&quot;noreferrer&quot;&gt;Turlough Neary, Damien Woods; The complexity of small universal Turing machines: a survey&lt;/a&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another puzzling example is the Turing completeness of the &lt;a href=&quot;http://en.wikipedia.org/wiki/FRACTRAN&quot; rel=&quot;noreferrer&quot;&gt;FRACTRAN&lt;/a&gt; &quot;programming language&quot;:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;the &quot;program&quot; is a list of fractions: $(p_1/q_1, p_2/q_2,..., p_n/q_n)$;&lt;/li&gt;&#xA;&lt;li&gt;given an input $n$ find the first $q_i$ that divides $n$ and replace $n \leftarrow n \cdot \frac{p_i}{q_i}$;&lt;/li&gt;&#xA;&lt;li&gt;repeat the previous step until no $q_i$ divides $n$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;With a suitable encoding of the input $n$, FRACTRAN can simulate any Turing machine.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can also use other models, like cyclic tag systems, ant-automata, ....&lt;br&gt;The not-so-intuitive idea is that &quot;computation&quot; is hidden almost everywhere ... Wolfram wrote 1192 pages filled with figures and text to better express that idea in his &lt;a href=&quot;https://www.wolframscience.com/nksonline/toc.html&quot; rel=&quot;noreferrer&quot;&gt;A New Kind of Science&lt;/a&gt; (yes... yes... despite some critical reviews I finally bought a hard-copy of it :-) &lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2015-05-26T18:34:52.307" LastActivityDate="2015-05-26T18:34:52.307" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31598" PostTypeId="1" CreationDate="2015-05-26T12:12:02.920" Score="1" ViewCount="43" Body="&lt;p&gt;I want to make an application for generating a sequence (called S) of items (I), based on conditions (called C).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The Conditions are defined as a property with a 'bonus/reduction'. The total score (T) is defined by summing up al condition scores.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some conditions are based on a specific item, some not.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Example (where Ix and Iy are different items)&#xA;- Ix on first 5 places in S has a score of +20. &#xA;- Ix directly after Iy has a score of -10.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, I was wondering if there is an algorithm or principle for this problem (to find the highest total score)? It seems reasonably generic (except for the condition specification).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finding the top score by trying all possibilities might end up in a lot of checks (like about 30! for 30 items).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Not all items have to be used in the sequence, but each item has a length, and there is a bonus for having the sum of length equal (as good as possible) to the requested length.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Each item can be used only once (at max).&lt;/p&gt;&#xA;" OwnerUserId="31914" LastEditorUserId="31914" LastEditDate="2015-05-26T13:10:30.657" LastActivityDate="2015-05-26T13:10:30.657" Title="Information about algorithm to generate sequences" Tags="&lt;exp-time-algorithms&gt;" AnswerCount="0" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="31599" PostTypeId="1" CreationDate="2015-05-26T13:03:28.783" Score="0" ViewCount="300" Body="&lt;p&gt;I'm doing my PhD in computer science, namely theoretical computer science and currently waiting for my VIVA. I think one of my examiner is an experimental person, how can I convince her that my work have significant contribution similar to an experimental research.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I don't do experiment but I have theoretical contribution for my PhD. Can anyone recommend good literature that give comparison between theoretical and experimental computer science?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks and will really appreciate your kind replies.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Pradeep&lt;/p&gt;&#xA;" OwnerUserId="34247" LastActivityDate="2015-05-26T13:03:28.783" Title="What is the difference between a TCS PhD thesis and Computer Science experimental PhD thesis?" Tags="&lt;soft-question&gt;" AnswerCount="0" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31602" PostTypeId="2" ParentId="31593" CreationDate="2015-05-26T17:58:17.960" Score="25" Body="&lt;p&gt;For a general audience you have to stick to things that they can &lt;em&gt;see&lt;/em&gt;. As soon as you start theorizing they'll start up their mobile phones.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here are some ideas which could be worked out to complete examples:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;There is a surface which &lt;a href=&quot;https://en.wikipedia.org/wiki/Mobius_strip&quot;&gt;has only one side&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;A curve may &lt;a href=&quot;https://en.wikipedia.org/wiki/Space_filling_curve&quot;&gt;fill an entire square&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;There are &lt;a href=&quot;https://en.wikipedia.org/wiki/Curve_of_constant_width&quot;&gt;constant width curves&lt;/a&gt; other than a circle.&lt;/li&gt;&#xA;&lt;li&gt;It is possible to color the plane with three colors in such a way that &lt;a href=&quot;https://en.wikipedia.org/wiki/Newton_fractal&quot;&gt;every border point is a tri-border&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;If you can rely on a bit of mathematical knowledge, you can do more:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;There are as many odd numbers as there are natural numbers.&lt;/li&gt;&#xA;&lt;li&gt;There is a &lt;a href=&quot;https://en.wikipedia.org/wiki/Weierstrass_function&quot;&gt;continuous and nowhere differentiable function&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;There is a function $f : \mathbb{R} \to \mathbb{R}$ which is discontinuous at all rational numbers and differentiable at all irrational numbers.&lt;/li&gt;&#xA;&lt;li&gt;The &lt;a href=&quot;https://en.wikipedia.org/wiki/Banach%E2%80%93Tarski_paradox&quot;&gt;Banach-Tarski &quot;paradox&quot;&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;For programmers you can try:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;The &lt;a href=&quot;http://math.andrej.com/2007/09/28/seemingly-impossible-functional-programs/&quot;&gt;impossible functionals&lt;/a&gt;: there is a program which takes a predicate &lt;code&gt;p : stream → bool&lt;/code&gt;, where &lt;code&gt;stream&lt;/code&gt; is the datatype of infinite binary sequences, and returns &lt;code&gt;true&lt;/code&gt; if and only if &lt;code&gt;p α&lt;/code&gt; is &lt;code&gt;true&lt;/code&gt; for &lt;em&gt;all&lt;/em&gt; streams &lt;code&gt;α&lt;/code&gt; (that's uncountably many), and &lt;code&gt;false&lt;/code&gt; otherwise.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;It is possible to &lt;a href=&quot;http://www.math.stonybrook.edu/~scott/blair/How_play_poker.html&quot;&gt;play poker by telephone&lt;/a&gt; in a trusted way which prevents cheating.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;A group of people can calculate their average salary without anybody finding out any other person's salary.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;There is a program which &lt;a href=&quot;http://math.andrej.com/2006/04/25/konigs-lemma-and-the-kleene-tree/&quot;&gt;constructs a &lt;em&gt;binary&lt;/em&gt; tree $T$&lt;/a&gt; with the following properties:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;the tree $T$ is infinite&lt;/li&gt;&#xA;&lt;li&gt;there is no program that traces an infinite path in $T$&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="705" LastEditorUserId="705" LastEditDate="2015-05-26T18:18:43.450" LastActivityDate="2015-05-26T18:18:43.450" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="31603" PostTypeId="2" ParentId="31593" CreationDate="2015-05-26T18:58:12.010" Score="17" Body="&lt;p&gt;One idea is something simple from &lt;strong&gt;streaming algorithms&lt;/strong&gt;. Probably the best candidate is the majority algorithm. Say you see a stream of numbers $s_1, \ldots, s_n$, one after the other, and you know one number occurs more than half the time, but you don't know which one. How can you find the majority number if you can only remember &lt;em&gt;two numbers at a time&lt;/em&gt;? The answer is the Misra-Gries algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;At each time step you store a number $x$ from the stream and a frequency counter $f$. At the start you set $x$ to the first number of the stream and initialize the frequency $f$ to 1. Then whenever you see a new number $s_i$, you check if $x = s_i$. If $x=s_i$, increase $f$ to $f+1$, otherwise decrease $f$ to $f-1$. If $f=0$, set $x$ to $s_i$ and $f$ back to $1$. After the last element of the stream, if there was a majority element, it will be equal to $x$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another idea is the well-known game to illustrate &lt;strong&gt;zero knowledge proofs&lt;/strong&gt;. I think it's due to &lt;a href=&quot;http://www.wisdom.weizmann.ac.il/~/oded/poster03.html&quot;&gt;Oded Goldreich&lt;/a&gt; and is similar to the zero knowledge proof for graph isomorphism.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To make the answer self-contained, here is the game. Suppose you want to convince your color-blind friend that you can tell red from green. Your friend has two decks of cards, and he knows one pile is green and the other is red. He does the following without you seeing him: with probability 1/2 he draws one card from each deck, with probability 1/4 he draws two cards from the left deck, and with probability 1/4 he draws two cards from the right deck. Then he shows you the cards and asks you if they are the same color. If you are not color blind, you can of course answer correctly every time. If you are color blind, you will fail with probability 1/2. So now if the game is played 10 times, the probability that you can win every time while being color blind is extremely low.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The kicker is that if your friend knew the two decks of cards are two different colors, but did not know which one is red and which green, he still will not know at the end of this! So in summary:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;There is place for randomness in proofs.&lt;/li&gt;&#xA;&lt;li&gt;You can convince someone you know something without giving them any information about it.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="4896" LastActivityDate="2015-05-26T18:58:12.010" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="31606" PostTypeId="1" CreationDate="2015-05-26T22:16:10.620" Score="1" ViewCount="174" Body="&lt;p&gt;&lt;a href=&quot;https://stackoverflow.com/questions/30215337/errata-erasureserrors-berlekamp-massey-for-reed-solomon-decoding/&quot;&gt;This is a continuation of this post on SO.&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am trying to implement an errata (errors-and-erasures) decoder for Reed-Solomon. My current approach is to use Berlekamp-Massey (because it's the most common algorithm and there are a lot of optimizations tricks that are known, but the Euclidian algorithm is very similar and should be pretty much the same for my case: same initialization variables and same output, only the calculation method is different).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What I know:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;the common errors(-only) Berlekamp Massey to compute (only) the errors &lt;strong&gt;locator&lt;/strong&gt; polynomial.&lt;/li&gt;&#xA;&lt;li&gt;how to extend standard BM to &lt;strong&gt;simultaneously&lt;/strong&gt; compute the errors &lt;strong&gt;evaluator&lt;/strong&gt; polynomial.&lt;/li&gt;&#xA;&lt;li&gt;how to extend standard BM to compute &lt;strong&gt;errata&lt;/strong&gt; (errors-and-erasures) locator polynomial.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;What I don't know: how to mix both extensions, to &lt;strong&gt;simultaneously&lt;/strong&gt; compute the &lt;strong&gt;errata&lt;/strong&gt; (errors-and-erasures) &lt;strong&gt;evaluator&lt;/strong&gt; polynomial. In fact what I think I miss is the &lt;strong&gt;initialization value&lt;/strong&gt; for the errata evaluator &lt;strong&gt;support&lt;/strong&gt; polynomial &lt;strong&gt;A&lt;/strong&gt; (see below).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To be clearer, here are some figures that describe the variations of BM that I cited above, from the book &lt;code&gt;&quot;Algebraic codes for data transmission&quot;, Blahut, Richard E., 2003, Cambridge university press.&lt;/code&gt; (&lt;a href=&quot;https://books.google.fr/books?id=eQs2i-R9-oYC&amp;amp;lpg=PR11&amp;amp;ots=atCPQJm3OJ&amp;amp;dq=%22Algebraic%20codes%20for%20data%20transmission%22%2C%20Blahut%2C%20Richard%20E.%2C%202003%2C%20Cambridge%20university%20press.&amp;amp;lr&amp;amp;hl=fr&amp;amp;pg=PA193#v=onepage&amp;amp;q=%22Algebraic%20codes%20for%20data%20transmission%22,%20Blahut,%20Richard%20E.,%202003,%20Cambridge%20university%20press.&amp;amp;f=false&quot; rel=&quot;nofollow noreferrer&quot;&gt;readable here, chapters 7.4 and 7.5&lt;/a&gt;):&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Standard (errors-only and locator polynomial Lambda only) BM:&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/Qm0vg.png&quot; alt=&quot;Standard Berlekamp-Massey&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;BM extension to simultaneously compute the evaluator polynomial (named Gamma):&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/0VgQA.png&quot; alt=&quot;Berlekamp-Massey with evaluator polynomial&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;BM extension to decode errata (errors-and-erasures) but only locator polynomial:&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/8qZo7.png&quot; alt=&quot;Berlekamp-Massey with errata (errors-and-erasures) decoding&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As of now, I just compute the erasures evaluator polynomial from the erasures locator polynomial, and I initialize Gamma = A = erasures evaluator polynomial (just like Lambda = B = erasures locator polynomial, &lt;a href=&quot;https://stackoverflow.com/questions/30215337/errata-erasureserrors-berlekamp-massey-for-reed-solomon-decoding/&quot;&gt;see post on SO&lt;/a&gt;), but at the end of BM, the errata evaluator polynomial contains terms of too high order that should have been cancelled, for example:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;Gamma:  34x^11 + 187x^10 + 200x^9 + 43x^5 + 129x^4 + 5x^3 + 62x^2 + 8x + 1&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Instead of the correct:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;Gamma:  43x^5 + 129x^4 + 5x^3 + 62x^2 + 8x + 1&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;I guess my initialization of the errata evaluator support polynomial A is wrong (when there's no erasures, Gamma = 1 and A = 0, here with erasures they are both initialized with the erasures evaluator polynomial), but I could not find any academic paper describing the initialization values.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The only paper I have found describing an errata decoder computing simultaneously the locator and evaluator polynomials is using the Euclidian algorithm instead of BM (from &lt;code&gt;&quot;Efficient algorithms for decoding Reed-Solomon codes with erasures&quot;, Todd Mateer, Clemson University, Clemson, SC (2014)&lt;/code&gt;):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/PQZCm.png&quot; alt=&quot;Euclidian algorithm to compute errata (errors-and-erasures) locator and evaluator polynomials&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But here it seems they are just using the same approach I did: initializing Gamma and A (here Omega and little omega) with the erasures evaluator polynomial, and they just do some trimming inside the conditional branches and at the return of the algo by limiting the indices of Omega.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Do someone know what values should Gamma and A be initialized with to avoid playing with the &quot;too high order terms trimming hack&quot;?&lt;/p&gt;&#xA;" OwnerUserId="22024" LastEditorUserId="-1" LastEditDate="2017-05-23T12:40:09.333" LastActivityDate="2015-05-28T00:39:41.850" Title="Initialization of errata evaluator polynomial for simultaneous computation in Berlekamp-Massey for Reed-Solomon" Tags="&lt;it.information-theory&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31607" PostTypeId="2" ParentId="31593" CreationDate="2015-05-26T23:05:47.443" Score="7" Body="&lt;p&gt;building on MdBs answer/ angle, a classic result of something counterintuitive &lt;em&gt;at the time of discovery&lt;/em&gt; in TCS at its foundations is the existence of &lt;a href=&quot;http://en.wikipedia.org/wiki/Undecidable_problem&quot;&gt;(un)decidability&lt;/a&gt; itself. at the turn of the 20&lt;sup&gt;th&lt;/sup&gt; century Hilbert, mirroring the thinking of other leading mathematicians of the time, thought that mathematics could be &lt;em&gt;systematized&lt;/em&gt; (somewhat in the form of what we now recognize as &lt;em&gt;algorithmic&lt;/em&gt;) &amp;amp; somewhat via the concept of &lt;a href=&quot;http://en.wikipedia.org/wiki/Finitism&quot;&gt;&quot;finitism&quot;&lt;/a&gt; (which has rough parallels to the idea of an algorithm as a finite sequence of steps). he proposed famous open problems along these lines. his (and others) intuition turned out to be wrong in a sort of spectacular way. the counterproof is &lt;a href=&quot;http://en.wikipedia.org/wiki/G%C3%B6del%27s_incompleteness_theorems&quot;&gt;Godels theorem&lt;/a&gt; and &lt;a href=&quot;http://en.wikipedia.org/wiki/Halting_problem&quot;&gt;Turings Halting problem&lt;/a&gt;. both were initially extremely abstract concepts/ results and long, highly technical papers/ arguments only understandable to leading mathematicians of the time, but now are refined to simpler conceptual structures and taught to undergraduates. these were not initially seen as two aspects/face of the same phenomenon but now they are. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;also it took close to ~¾ of a century to prove that integer Diophantine equations are undecidable, &lt;a href=&quot;http://en.wikipedia.org/wiki/Hilbert%27s_tenth_problem&quot;&gt;Hilberts 10th problem&lt;/a&gt;. this is counterintuitive in the sense that it was always known that number theory was extremely &lt;em&gt;difficult&lt;/em&gt; but the concept that some specific/ identifiable problems in it may actually be &lt;em&gt;&quot;impossible to resolve&quot;&lt;/em&gt; was nearly shocking at the time to some. undecidability continues to be a deep challenge in math/ TCS even as we have decades of exponential increases in hardware due to Moores law and yet massive supercomputers that are in a sense still &quot;powerless against it&quot;. some aspects of the surprise of undecidability can be found in the book &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0195030850&quot;&gt;Mathematics, Loss of Certainty&lt;/a&gt; by Klein.&lt;/p&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2015-05-26T23:05:47.443" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="31608" PostTypeId="2" ParentId="10287" CreationDate="2015-05-26T23:57:20.210" Score="2" Body="&lt;p&gt;Just an update on the issue: I think that the problem of efficiency of the constant factor is mainly qualitative, rather than quantitative. Indeed, a high constant factor is mainly caused by an inefficient interpretation of the programmer's intent by the language parser.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In this sense, we can say that it's more a problem of semantic linguistics rather than just technical implementation: with a low level language such as C, the language parser don't have to make any guess, since you have direct control of the most basic instructions, and thus are responsible for the whole program flow. With a high level language, you get a more abstract control of the program flow, which makes it easier and faster to design complex program, but at the expense that you delegate some of the program flow design to the language parser: it now has to make some guesses about what you meant, and it can be very costly if it's some kind of program flow that the language parser wasn't primarily made for (such as linear algebra in Python).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is not because of a lack of investment of the language authors, but rather that, like with any level of abstraction, you choose a balance between the conciseness of your words and their preciseness. A word like &quot;humans&quot; is very abstract and describe a whole specie, but it doesn't account for the particularities and all the culture of each individual in this group. Just like scientific jargon, high-level language parsers are designed to concisely and efficiently describe operations of the targetted paradigm, but they cannot describe as concisely every other paradigms.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, now it seems that a new class of languages are emerging: annotated languages, such as Julia or Cython or Numba. They are neither really interpreted nor compiled but in-between: you can write high-level code that the &quot;interpreter&quot; will have to guess how to run the most efficiently possible (and correctly of course), or you can almost compile your code by annotation or by using other specialized constructs such as dispatching or semi-automatic unrolling/vectorization of loops, so that your annotations avoid the need to make the language parser to guess what you were meaning to do at lower levels of abstraction: in short, annotations give you the ability to give precisions on your high-level abstraction. We will see in the future if this concept works out.&lt;/p&gt;&#xA;" OwnerUserId="22024" LastActivityDate="2015-05-26T23:57:20.210" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31609" PostTypeId="2" ParentId="4052" CreationDate="2015-05-27T02:50:33.800" Score="1" Body="&lt;p&gt;The question has to be posed correctly. For example, nobody ever wants to know whether an actual program would complete given infinite memory and some means of accessing it (maybe an operation to move the base address by some number). Turing's theorem is irrelevant to program correctness in any concrete sense and people who cite it as a barrier to program verification are confusing two quite different things. When engineers/programmers talk of program correctness they want to know about finite properties. This is also pretty much true for mathematicians who are interested in whether something is provable. Godel's letter &lt;a href=&quot;http://vyodaiken.com/2009/08/28/godels-lost-letter/&quot; rel=&quot;nofollow&quot;&gt;http://vyodaiken.com/2009/08/28/godels-lost-letter/&lt;/a&gt; explains this in some detail. &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Namely, it would obviously mean that in spite of the undecidability of the Entscheidungsproblem, the mental work of a mathematician concerning Yes-or-No questions could be completely replaced by a machine. After all, one would simply have to choose the natural number n so large that when the machine does not deliver a result, it makes no sense to think more about the problem. &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;It may well be infeasible to examine the immense state set of a program executing on an actual computer and detect bad states, there is no theoretical reason why it can't be done. In fact, there has been a lot of progress in this field - for example see &lt;a href=&quot;http://www.cs.cornell.edu/gomes/papers/SATSolvers-KR-book-draft-07.pdf&quot; rel=&quot;nofollow&quot;&gt;http://www.cs.cornell.edu/gomes/papers/SATSolvers-KR-book-draft-07.pdf&lt;/a&gt; (thanks to Neil Immerman for telling me about this) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A different and more difficult problem is specifying exactly what properties one wants a program to have in order to be correct. &lt;/p&gt;&#xA;" OwnerUserId="34256" LastEditorUserId="34256" LastEditDate="2015-05-27T02:56:37.087" LastActivityDate="2015-05-27T02:56:37.087" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31610" PostTypeId="2" ParentId="31569" CreationDate="2015-05-27T04:00:14.090" Score="3" Body="&lt;p&gt;The sum of all degrees $d(x)$ in a graph is at most $2e$. The sum of all $d(x)^{\alpha}$ is at most $(max degree)^{\alpha -1}$ times sum of all $d(x)$. Together these give the upper bound.&lt;/p&gt;&#xA;" OwnerUserId="225" LastActivityDate="2015-05-27T04:00:14.090" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31612" PostTypeId="2" ParentId="31593" CreationDate="2015-05-27T10:19:48.287" Score="10" Body="&lt;p&gt;A counter intuitive result from complexity theory is the PCP theorem:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Informally, states that for every $NP$ problem $A$, there is an efficient randomized Turing machine that can verify proof correctness (proof of membership in $A$) using logarithmic number of random bits and reading only constant number of bits from the proof. The constant can be reduced to 3 bits. Therefore, the randomized verifier needs to read only three bits from the proclaimed proof.&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2015-05-27T10:40:44.370" LastActivityDate="2015-05-27T10:40:44.370" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="31613" PostTypeId="2" ParentId="31593" CreationDate="2015-05-27T13:49:27.297" Score="13" Body="&lt;p&gt;The volume of a unit sphere of dimension $n$ first grows as $n$ grows ($2,\pi,4\pi/3,\dots$) but starts decreasing for $n=6$ and eventually converges to $0$ as $n\to\infty$.&lt;/p&gt;&#xA;" OwnerUserId="8953" LastActivityDate="2015-05-27T13:49:27.297" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="31614" PostTypeId="2" ParentId="31356" CreationDate="2015-05-27T16:33:28.897" Score="1" Body="&lt;h2&gt;Q1 : Fate of the 9 qubits&lt;/h2&gt;&#xA;&lt;p&gt;There is no (or 2) answer to your question, since it is implementation dependent :&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;If your implementation of the code is ideal, and you have a way to directly measure the syndromes, the 9 qubits are projected on the global 9 entangled qubits state. It is the case, for example, if the code is used in a fault-tolerant implementation of quantum computing.&lt;/li&gt;&#xA;&lt;li&gt;If the implementation is more realistic, the measurement of the 8 syndromes is performed in 2 steps : 1st you apply a global unitary (through a quantum circuit) on the 9 qubits, then you measure 8 qubits, destroying them in the problem. You have then a single qubit, to which you can apply a unitary(depending on the measurement result) to get the single original qubit.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h2&gt;Q2: Effect of misalignment&lt;/h2&gt;&#xA;&lt;p&gt;The misalignment behaves like an error, whether &lt;span class=&quot;math-container&quot;&gt;$x$&lt;/span&gt; is small or &lt;span class=&quot;math-container&quot;&gt;$π/4$&lt;/span&gt; (as in your &lt;span class=&quot;math-container&quot;&gt;$\lvert±\rangle$&lt;/span&gt; example). What you describe correspond to applying the operator &lt;span class=&quot;math-container&quot;&gt;$\cos x I +\sin x XZ$&lt;/span&gt; to each qubit. Measuring the syndrome projects the state to one with a given number of errors, but as long as there is less than 1 X error and 1 Z error, the code is enough to correct it.&lt;/p&gt;&#xA;&lt;p&gt;This condition happens with probability&#xA;&lt;span class=&quot;math-container&quot;&gt;$$(\cos^2 x)^9 + 9 (\cos^2 x)^8\sin^2 x=\cos^{16}x(1+8\sin^2x)\simeq 1-64x^4$$&lt;/span&gt;&#xA;the last approximation being valid for small &lt;span class=&quot;math-container&quot;&gt;$x$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;p&gt;If the rotation is by &lt;span class=&quot;math-container&quot;&gt;$\pi/4$&lt;/span&gt;, the error rate is 50% and your code will not be able to correct it.&lt;/p&gt;&#xA;" OwnerUserId="2368" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2015-05-27T16:33:28.897" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31617" PostTypeId="1" AcceptedAnswerId="38116" CreationDate="2015-05-29T05:41:29.097" Score="2" ViewCount="344" Body="&lt;p&gt;I am trying to understand the notion of &lt;a href=&quot;http://en.wikipedia.org/wiki/Coreset&quot; rel=&quot;nofollow&quot;&gt;$\epsilon$-coreset&lt;/a&gt; and its relation with sampling bounds of a range space having a finite VC-dimension. Although both of them  give an $\epsilon$-approximation sketch of the input data. However, for the later case we know a characterization i.e. if a range space has finite VC dimension, then it can be approximated by a small (constant) size sample. On the other hand, for the case of $\epsilon$-coreset (similar to the concept of VC dimension)  is there any characterization known over the problems which can or cannot be sketched by a small size sample?  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks,&lt;/p&gt;&#xA;" OwnerUserId="22594" LastActivityDate="2017-05-01T21:33:41.123" Title="Coreset and VC dimension" Tags="&lt;approximation-algorithms&gt;&lt;computational-geometry&gt;&lt;sample-complexity&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31621" PostTypeId="1" AcceptedAnswerId="31655" CreationDate="2015-05-29T12:17:16.350" Score="0" ViewCount="108" Body="&lt;p&gt;For arbitrary graph of n node, can I approximate $\sum_{v\neq u}\frac{1}{Rank_u(v)^a\times Rank_v(u)^b}$ with $\sum_{v\neq u}\frac{1}{Rank_u(v)^{a+b}}$ or not when n is large enough? $a,b&amp;gt;0$, $Rank_u(v)=k$ if v is the $k$th nearest node to u. For example, $Rank_u(u)=1$, $Rank_u(u')=2$ where u' is the nearest node to u. Here approximation means something like $\Theta(n)$. Thanks a lot!&lt;/p&gt;&#xA;" OwnerUserId="34291" LastEditorUserId="34291" LastEditDate="2015-05-30T04:56:15.840" LastActivityDate="2015-06-01T16:32:02.883" Title="Calculate sum of reciprocal rank in arbitrary large graph" Tags="&lt;graph-theory&gt;&lt;approximation&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="31623" PostTypeId="1" CreationDate="2015-05-29T15:57:56.510" Score="1" ViewCount="161" Body="&lt;p&gt;1.Its known that a polynomial time approximation algorithm that satisfies 3MaxSAT in 7/8+e clauses implies P=NP. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;2.Its also experimentally known that 3SAT has the most difficult known cases when the clause to literal ratio is approximately 4.2.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Q1. Is there a similar result for 3MaxSAT where the approximation algorithm for satisfying some 7/8+e of clauses becomes on Average difficult if 3MaxSAT has some specific format (like 3SAT in 2.) ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Q2. Is there a benchmark set available for 3MaxSAT approximation algorithms for such cases?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Q3. Is there a similar approximation hardness result for 3SAT (like 3MaxSAT in 1.) if informed that the given 3SAT is satisfiable? Is just the clause to literal ratio is sufficient to represent completely the hardest cases for such approximation algorithms too?&lt;/p&gt;&#xA;" OwnerUserId="32463" LastEditorUserId="32463" LastEditDate="2015-05-29T16:32:05.237" LastActivityDate="2015-05-29T16:32:05.237" Title="Difficult On Average Cases for 3MaxSAT and 3SAT Approximation Algorithm" Tags="&lt;cc.complexity-theory&gt;&lt;approximation-algorithms&gt;" AnswerCount="0" CommentCount="4" FavoriteCount="1" ClosedDate="2017-04-21T14:18:38.567" ContentLicense="CC BY-SA 3.0" />
  <row Id="31624" PostTypeId="2" ParentId="25767" CreationDate="2015-05-29T16:59:22.077" Score="7" Body="&lt;p&gt;&lt;strong&gt;Multiparty communication complexity&lt;/strong&gt; and the Number-on-Forehead model were introduced by &lt;a href=&quot;https://en.wikipedia.org/wiki/Ashok_K._Chandra&quot;&gt;Ashok K. Chandra&lt;/a&gt;, Merrick L. Furst and Richard J. Lipton in &lt;em&gt;Multi-party Protocols&lt;/em&gt;, STOC 1983, doi:&lt;a href=&quot;http://dx.doi.org/10.1145/800061.808737&quot;&gt;10.1145/800061.808737&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The multiparty model is a natural extension of &lt;a href=&quot;https://en.wikipedia.org/wiki/Andrew_Yao&quot;&gt;Yao&lt;/a&gt;'s two-party model of communication complexity, where Alice and Bob each have non-overlapping halves of the input bits, and want to communicate to compute a predetermined function of the whole input.&#xA;However, extending the partition of the input bits to more parties is often not very interesting (for lower bounds, one can usually just consider the first two parties).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Instead, in the NOF model $k$ parties each know all except one number from a set of $k$ integers, with the number not known to the party notionally &quot;displayed on their forehead&quot; for the other parties to see.&#xA;Nowadays the numbers are usually required to be non-negative integers represented using at most $n$ bits.&#xA;The parties want to compute some pre-arranged Boolean function of all the numbers.&#xA;The question is: for which functions can this be done efficiently?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is always possible to just send $n$ bits (for instance, by the second party telling the first party the number on its forehead).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The paper gives a non-trivial but essentially optimal protocol for the function Exactly-$N$, which is true when the sum of the $k$ numbers is $N$.&#xA;In particular, $k=3$ parties can determine Exactly-$N$ using $O(\sqrt{\log N})$ bits.&#xA;Since $N \le k(2^n-1)$, this is $O(\sqrt{n})$ bits.&#xA;The lower bound argument is &lt;a href=&quot;https://en.wikipedia.org/wiki/Ramsey_theory&quot;&gt;Ramsey-theoretic&lt;/a&gt;, via a multidimensional form of &lt;a href=&quot;https://en.wikipedia.org/wiki/Van_der_Waerden%27s_theorem&quot;&gt;Van Der Waerden's theorem&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The NOF model has been used in much subsequent work in circuit complexity: multiparty communication lower bounds naturally translate into circuit lower bounds.&#xA;One classic example is the link made by Håstad and Goldmann in 1991 (doi:&lt;a href=&quot;http://dx.doi.org/10.1007/BF01272517&quot;&gt;10.1007/BF01272517&lt;/a&gt; between fixed-depth threshold circuits of polynomial size, and the multiparty NOF communication complexity of the Inner Product function: a nontrivial lower bound for IP with a more than logarithmic number of parties would yield circuit size lower bounds for TC$^0$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the original paper the multiparty model was linked to branching program lower bounds, yielding that any constant-space branching program for Exactly-$N$ requires superlinear length.&lt;/p&gt;&#xA;" OwnerUserId="109" LastActivityDate="2015-05-29T16:59:22.077" CommentCount="1" CommunityOwnedDate="2015-05-29T16:59:22.077" ContentLicense="CC BY-SA 3.0" />
  <row Id="31625" PostTypeId="1" CreationDate="2015-05-30T02:53:09.660" Score="1" ViewCount="281" Body="&lt;p&gt;Denote $\underline{x}\triangleq x_1,\dots,x_n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a boolean function $f:\{0,1\}^n\rightarrow\{0,1\}$, let $p_\epsilon(\underline{x})\in\Bbb R[\underline{x}]$ be minimum multilinear multivariate polynomial such that $|p_\epsilon(\underline{x})-f(\underline{x})|\leq\epsilon$ at every $\underline{x}\in\{0,1\}^n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can following strict inequality hold for any boolean function $f$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$deg(p_\epsilon)&amp;lt;deg(p_{\tilde\epsilon})$$ when $0&amp;lt;\tilde\epsilon&amp;lt;\epsilon&amp;lt;\frac{1}2$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example if you consider $AND(x_1,\dots,x_{1000})$, can you actually prove that there is a different approximation degree to approximate $AND(x_1,\dots,x_{1000})$ within error $\frac{1}3$ compared to error $\frac{1}{1000^{1000^{1000^{1000}}}}$?&lt;/p&gt;&#xA;" OwnerUserId="1812" LastEditorUserId="1812" LastEditDate="2015-06-04T09:52:37.037" LastActivityDate="2015-06-09T21:02:30.290" Title="Does approximation degree of AND depend on error?" Tags="&lt;boolean-functions&gt;&lt;polynomials&gt;" AnswerCount="2" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="31626" PostTypeId="1" AcceptedAnswerId="31632" CreationDate="2015-05-30T03:43:20.407" Score="11" ViewCount="1090" Body="&lt;p&gt;There are &lt;em&gt;algorithmic&lt;/em&gt; graph theory/number theory/combinatorics/information theory/game theory.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there algorithmic mathematical analysis?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;According to wiki, &lt;a href=&quot;https://en.wikipedia.org/wiki/Mathematical_analysis&quot;&gt;mathematical analysis&lt;/a&gt; includes the theories of differentiation, integration, measure, limits, infinite series, and analytic functions. It is OK to focus on &lt;a href=&quot;https://en.wikipedia.org/wiki/Real_analysis&quot;&gt;real analysis (wiki)&lt;/a&gt; that deals with the real numbers and real-valued functions of a real variable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&quot;Algorithmic&quot; means studying something from the perspectives of computability theory and complexity theory.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Googling of &quot;algorithmic mathematical analysis&quot; leads me to &quot;mathematical analysis of algorithms&quot; or &quot;applications of analysis to algorithms&quot;, which is not what I mean.&lt;/p&gt;&#xA;" OwnerUserId="12739" LastActivityDate="2017-09-30T03:07:11.347" Title="Is there algorithmic mathematical analysis?" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;soft-question&gt;&lt;computability&gt;" AnswerCount="4" CommentCount="4" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="31627" PostTypeId="1" AcceptedAnswerId="31629" CreationDate="2015-05-30T04:01:30.237" Score="-1" ViewCount="154" Body="&lt;p&gt;So the halting problem basically states that there cannot exist any finite length algorithm for automatically verifying if other finite length algorithms terminate. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;But suppose I start listing out all the possible programs. I am allowed to list them as they form a countable set involving finite length permutations of a countable number of symbols. We can label each program $X_0$, $X_1$ ... where $X_n$ denotes the n'th program that is listed by some scheme of selecting and permuting symbols. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Obviously an algorithm cannot exist that is successfully able to verify if ALL of the programs halt or do not. But does there exist any program $X_i$ for which it is simply not possible to verify if it will halt or not? &lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;My analysis of it so far:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assume we discover a program X that isn't verifiable. In other words there is a proof that there does not exist any algorithm A to determine if X terminates or does not. Then simply running X cannot result in us finding out if it terminates. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thus X does not terminate in any finite amount of time. Thus X doesn't halt. Therefore we have concluded that X is verifiable. Meaning there doesn't exist an undecidable program X for which there exists a proof that X cannot be verified by an Algorithm A in a finite amount of time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This however DOES NOT Mean every program X either can be proven to halt or not. Rather it states the programs X that are undecidable themselves do not have a proof of this fact. Here is the catch, if there is a proof that a program X cannot be proven to be undecidable then it must be the case that X is decidable so if X is undecidable then even this type of a proof cannot exist. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;We conclude that if X is undecidable, then there doesn't exist a proof of X is undecidable, nor a proof that there doesn't exist a proof of X being undecidable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is another form of the question, if I arbitrarily continue this chain of analysis I believe I will always conclude that X doesn't exist. That is if $$\exists \text{Proof} (\nexists \text{Proof of} \left( \nexists \text{Proof of} \left( \nexists \text{Proof of} \left( ... \left(\text{Program X is undecidable} \right) \right) \right) \right) $$&#xA;Then,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;X is decidable. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Whats a hint for beginning to prove this result. And if such a proof exists, what philosophical implications does that have?&lt;/p&gt;&#xA;" OwnerUserId="17394" LastEditorUserId="17394" LastEditDate="2015-05-30T04:23:06.527" LastActivityDate="2015-05-30T05:39:39.843" Title="Undecidable Single Programs" Tags="&lt;computability&gt;&lt;proofs&gt;&lt;proof-theory&gt;&lt;halting-problem&gt;&lt;undecidability&gt;" AnswerCount="1" CommentCount="4" ClosedDate="2015-05-30T18:10:00.203" ContentLicense="CC BY-SA 3.0" />
  <row Id="31629" PostTypeId="2" ParentId="31627" CreationDate="2015-05-30T05:28:50.037" Score="1" Body="&lt;p&gt;One way to look at your question is the &lt;a href=&quot;http://en.wikipedia.org/wiki/Busy_beaver&quot; rel=&quot;nofollow&quot;&gt;Busy Beaver Numbers&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What we will do is restrict a &lt;a href=&quot;http://en.wikipedia.org/wiki/Turing_machine&quot; rel=&quot;nofollow&quot;&gt;Turing Machine&lt;/a&gt; so that:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;The blank symbol is a $0$&lt;/li&gt;&#xA;&lt;li&gt;The tape alphabet is $\{0, 1\}$&lt;/li&gt;&#xA;&lt;li&gt;The input to our turing machine is always nothing (the tape is always initialized to only containing $0$'s)&lt;/li&gt;&#xA;&lt;li&gt;There are only $n$ internal states, for some $n \in \mathbb{N}$.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;From here on out whenever I refer to Turing Machines I will be referring to Turing Machines restricted in this way, because this class of Turing Machines is just as powerful as the class of all Turing Machines, and is easier in this context to think about.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that given any $n=k$, the number of possible transition functions are finite. Thus if we really wanted to, we could manually iterate through every $k$-state turing machine, and figure out whether or not that Turing Machine halted. We could then run all of those halting ones and see which one runs the longest, and call this number $c_k$. Then we can solve the halting problem for any $k$-state Turing machine by simply running it and seeing if it runs for more than $c_k$ steps. If it does, then we know it doesn't halt.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We will call $\text{Busy Beaver} (n) = BB(n) = c_n$, where $c_n$ is a constant like ours computed above.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that if we could compute $BB(n)$ (or any function that grew faster than $BB(n)$), we could solve the halting problem. Thus $BB(n)$ is incomputable, in other words, it grows faster than any computable function.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, for a fixed $k$, $BB(k)$ is computable, assuming you have a Turing Machine with much more than $k$ states, and a very long time to compute this.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So then if someone told you that they had a turing machine with $k$ states that you couldn't prove halted or not, you could simply compute $BB(k)$, then run their turing machine for $BB(k)+1$ steps, and then if it was still going you would know that it doesn't halt, otherwise you would know that it does halt. So then they are wrong and you can prove such a thing. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This means that the &quot;Undecidable Single Program&quot; you are searching for doesn't exist, sorry.&lt;/p&gt;&#xA;" OwnerUserId="21793" LastEditorUserId="21793" LastEditDate="2015-05-30T05:39:39.843" LastActivityDate="2015-05-30T05:39:39.843" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="31630" PostTypeId="1" AcceptedAnswerId="31640" CreationDate="2015-05-30T07:46:05.707" Score="4" ViewCount="2372" Body="&lt;p&gt;Minimizing regular expressions (in terms of number of symbols) is PSPACE-complete&#xA;&lt;br&gt;&#xA;(for example as discussed here: &lt;a href=&quot;https://cstheory.stackexchange.com/questions/12361/minimizing-size-of-regular-expression&quot;&gt;minimizing size of regular expression&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But how do you actually do that (i.e., what does an algorithm&#xA;&lt;br&gt;&#xA;for minimizing regular expressions in PSPACE look like)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are many results showing that it's hard in different contexts (such as when&#xA;&lt;br&gt;&#xA;an equivalent DFA is available), but I found none showing how it's actually done.&#xA;&lt;br&gt;&#xA;Probably it's so easy that I'm the only one not getting it. :-)&lt;/p&gt;&#xA;" OwnerUserId="30341" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2015-05-30T21:28:28.050" Title="How can one ACTUALLY minimize a regular expression?" Tags="&lt;regular-expressions&gt;&lt;pspace&gt;" AnswerCount="1" CommentCount="0" ClosedDate="2015-05-31T17:25:54.640" ContentLicense="CC BY-SA 3.0" />
  <row Id="31631" PostTypeId="2" ParentId="31593" CreationDate="2015-05-30T09:13:45.030" Score="9" Body="&lt;p&gt;One thing that proves to be counterintuitive for CS undergraduates, is the fact that one can select the $i$-th order statistics from an unsorted array of $n$ elements in $O(n)$ time. All of the students think they must first necessarily sort the array (in $O(n~lg ~n)$ time).&lt;/p&gt;&#xA;" OwnerUserId="4208" LastActivityDate="2015-05-30T09:13:45.030" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31632" PostTypeId="2" ParentId="31626" CreationDate="2015-05-30T09:40:58.013" Score="18" Body="&lt;p&gt;Check out&#xA;the &lt;a href=&quot;http://cca-net.de&quot; rel=&quot;noreferrer&quot;&gt;Computability and Complexity in Analysis&lt;/a&gt; network. Quote:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;The topics of interest include foundational work on various models and approaches for describing computability and complexity over the real numbers. They also include complexity-theoretic investigations, both foundational and with respect to concrete problems, and new implementations of exact real arithmetic, as well as further developments of already existing software packages.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="1993" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2015-05-30T09:40:58.013" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31633" PostTypeId="1" CreationDate="2015-05-30T12:10:35.310" Score="-2" ViewCount="156" Body="&lt;p&gt;A friend of mine usually talks to me about Church's thesis. Some days ago I found a &lt;a href=&quot;http://research.microsoft.com/en-us/um/people/gurevich/Opera/188.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;proof&lt;/a&gt; and talked about it to him. He said that &lt;em&gt;&quot;it's possible to prove the thesis using an arbitrary definition of algorithm, the problem is that it is a consensus that algorithm is something without mathematical definition and this is why it's a thesis, not a theorem or lemma&quot;&lt;/em&gt;. But sometimes in my readings, it seems that there is one and other times, it seems that there isn't one. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I've also seen &lt;a href=&quot;https://cstheory.stackexchange.com/questions/88/what-would-it-mean-to-disprove-church-turing-thesis&quot;&gt;this&lt;/a&gt;, but it didn't had anything about mathematical definition of algorithms (or at least, not something I could understand).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, my questions are: &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Is there a mathematical definition for algorithms?&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;If not, what would be a mathematical definition for it? What would it need to be in order to be a definition?&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="8643" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2015-05-30T12:43:24.840" Title="Is there a mathematical definition of algorithm?" Tags="&lt;ds.algorithms&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="1" ClosedDate="2015-06-03T06:37:48.840" ContentLicense="CC BY-SA 3.0" />
  <row Id="31634" PostTypeId="2" ParentId="31633" CreationDate="2015-05-30T12:43:24.840" Score="3" Body="&lt;p&gt;I haven't seen this written down, but I'd define an algorithm as &quot;a series of well-defined steps for solving a problem&quot;. By well-defined, I mean that each step is either an algorithm itself (like a subroutine), or else a simple and completely mathematically unambiguous operation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A more precise mathematical definition can follow by defining your model of computation, which mathematically specifies exactly which steps are allowed and in what sequence. For example, a Turing Machine formally specifies what steps it may take and the order it takes them in. Similarly for, say, a pushdown automata, and close to similarly for many programming languages.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One cannot have a universal definition that encompasses all possible models of computation, unless one somehow could formalize the notion of &quot;all possible models of computation&quot;, which seems impossible. For example, tomorrow I may invent a model of computation involving dropping beads into buckets, and as long as I formally specify the model of what steps can be taken and in what order, one could write algorithms for my new type of computer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The Church-Turing thesis is related: It is a proposed natural law stating that any such model of computation could be &quot;simulated&quot; by a Turing Machine. So in that sense, my algorithm for my new type of computer would be no more &quot;powerful&quot; than algorithms for Turing Machines. Because of this, if one accepts the Church-Turing thesis, then it is without loss of generality to define an algorithm as a type of Turing Machine. (But on the other hand, in theoretical CS we often think of models beyond Turing Machines, such as TMs with access to randomness, access to oracles for the halting problem, etc.)&lt;/p&gt;&#xA;" OwnerUserId="8243" LastActivityDate="2015-05-30T12:43:24.840" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31636" PostTypeId="2" ParentId="31626" CreationDate="2015-05-30T17:31:11.817" Score="12" Body="&lt;p&gt;(Disclaimer: I am not an expert, feel free to suggest corrections, or write a more comprehensive answer if you are.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Extending computability and complexity to the real numbers (which is a first step in doing analysis) is tricky and has been done in several inequivalent ways. One is the Blum-Shub-Smale (BSS) model, which augments Turing machines with the ability to store and perform algebraic operations with real numbers. The resulting theory is algebraic in flavor, e.g. all computable functions are piecewise semi-algebraic. The model is interesting but has some strange features that make it seem unrealistic, at least as a model of how computers actually deal with real number computation. For example it allows computation with uncomputable constants: the constant function with value &lt;a href=&quot;http://en.wikipedia.org/wiki/Chaitin%27s_constant&quot; rel=&quot;noreferrer&quot;&gt;Chaitin's constant&lt;/a&gt; is computable in the BSS model. On the other hand, $e^x$ is not computable in the BSS model.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another approach can be found in the field of &lt;em&gt;computable analysis&lt;/em&gt;, and I think that's what you are looking for. Check the &lt;a href=&quot;http://www.fernuni-hagen.de/weihrauch/index_data/book.html&quot; rel=&quot;noreferrer&quot;&gt;book by Weihrauch&lt;/a&gt; for an introduction (the introduction and the chapter on computable real numbers are available on the linked page, and will give you a good idea of what is going on). There still are several not quite equivalent models here, but the rough idea is that rational numbers have finite representation, and then you construct the computable reals the same way you construct the reals as a completion of the rationals. So, analogously to defining a real as a (equivalence class of) a Cauchy sequence of rationals, a computable real is given by a Turing machine that computes arbitrarily good approximations to it. Then a function $f: \mathbb{R} \to \mathbb{R}$ is computable if a Turing machine can compute arbitrarily good approximations of $f(x)$ given (as an oracle) a machine that computes arbitrarily good approximations of $x$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are fascinating connections between computable analysis and classical/modern analysis and many other fields, for example algorithmic randomness. One simple example of a theorem is that all computable functions are continuous. To give a more sophisticated example (without actually going into the details), there are interesting counterparts to classical theorems in analysis, e.g. an analogue of Rademacher's theorem is that all computable Lipschitz functions $f:[0,1] \to [0,1]$ are differentiable at all algorithmically random points (for the right notion of algorithmic randomness). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Formulating a complexity theory for real functions is, AFAIK, even trickier. This is related to the fact that computing a real function is a higher-order computation (since it takes a Turing machine as input) so the bit size of the input is not usually the right thing to measure the runtime against. Check this &lt;a href=&quot;http://arxiv.org/abs/cs/0502066&quot; rel=&quot;noreferrer&quot;&gt;paper by Mark Braverman&lt;/a&gt; for one approach to defining efficient real computation. At this point I am way out of my depth to say more, so I will stop.&lt;/p&gt;&#xA;" OwnerUserId="4896" LastEditorUserId="4896" LastEditDate="2015-06-03T04:06:00.697" LastActivityDate="2015-06-03T04:06:00.697" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31637" PostTypeId="1" AcceptedAnswerId="31644" CreationDate="2015-05-30T18:41:40.290" Score="-4" ViewCount="67" Body="&lt;p&gt;I want to model a probabilistic protocol using a model checker, but a lot of protocols are already implemented (e.g. Randomised Dining Philosophers, Dining cryptographers, Synchronous leader election protocol). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Do you know other protocols, similar with aforementioned protocols?&lt;/p&gt;&#xA;" OwnerUserId="34305" LastActivityDate="2015-05-31T07:05:51.703" Title="Probabilistic protocols" Tags="&lt;randomized-algorithms&gt;&lt;model-checking&gt;&lt;markov-chains&gt;" AnswerCount="1" CommentCount="1" ClosedDate="2015-06-03T06:37:40.637" ContentLicense="CC BY-SA 3.0" />
  <row Id="31638" PostTypeId="2" ParentId="31617" CreationDate="2015-05-30T19:05:58.603" Score="6" Body="&lt;p&gt;Samples provides you only with statistical guarantees. For a fixed $\epsilon$ whatever you compute would hold for everything &quot;except&quot; $(1-\epsilon)$ fraction (I am being very informal here). Thus, taking an $\epsilon$-net sample of a set of points in the plane, computing its smallest enclosing disk, results in a disk $D$ that contains $(1-\epsilon)$ fraction of the whole point set (or $(1-\epsilon)$ of the measure).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Coresets on the other hand, provide geometric guarantees. For example, for a point set $P$ in the plane, an $\epsilon$-coreset for smallest enclosing disk is a subset $S$, such that any disk $D$ that contains $S$, if you slightly expand it (formally, scale it up by a factor of $(1+\epsilon)$, the it must contain all the points of $P$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The beauty of samples is that you can generate them without a priori knowing what you are going to use them for. Coresets on the other hand are application dependent - you need different algorithms to compute them depending on the function you are trying to capture.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As for characterization - we have many positive results (see the survey here: &lt;a href=&quot;http://sarielhp.org/p/04/survey/&quot;&gt;http://sarielhp.org/p/04/survey/&lt;/a&gt;). We also have counter examples which are somewhat mysterious - &lt;a href=&quot;http://sarielhp.org/p/02/2slab/&quot;&gt;http://sarielhp.org/p/02/2slab/&lt;/a&gt; (no coreset no cry [after working for months on trying to compute a coreset for this problem, I definitely wanted to cry]). The rule of thumb is that you are not going to have a coreset if:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(A) The underlying function change dramatically if you can remove a single point, and there are many such points (say, closest pair, or k-center clustering, etc). Solving such problems in linear time requires different techniques.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(B) Or putting (A) differently - the underlying function is not very stable if you move points around.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is unlikely to have a better characterization without assuming something significantly stronger on the underlying function that one is trying to compute.&lt;/p&gt;&#xA;" OwnerUserId="9594" LastActivityDate="2015-05-30T19:05:58.603" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31639" PostTypeId="2" ParentId="30802" CreationDate="2015-05-30T19:17:24.330" Score="6" Body="&lt;p&gt;Somehow doing better than $O(n^d)$ looks hard. If the cell is significantly larger than its average expected size, one can use sampling, to find it. Formally, assume the bounded cells (in the plane) form a polygon of area $1$ (this polygon $Q$ can be computed in near linear time in the plane). Assume the largest bounded cell $C$ in the arrangement of lines has area $\alpha \gg 1/n^2$. Sample, $m = (\log n)/\alpha$ points from $Q$ - and let $P$ be the resulting point set. With high probability one of the points falls inside $C$, and computing all the faces in the arrangement containing points of $P$ takes $O(( n^{2/3} m^{2/3} + n + m)*\mathrm{polylog})$ time using standard magic (i.e., algorithms for computing many faces in the arrangement of lines). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is now straightforward to apply binary search on $\alpha$, to get an algorithm that computes the largest cell, in time $O\Bigl( \bigl(n + 1/\alpha + n^{2/3}/\alpha^{2/3}\bigr) \mathrm{polylog n}\Bigr)$, where $\alpha$ is the fraction of area of the largest cell out of the total area of the bounded cells (i.e., the area of $Q$). &lt;/p&gt;&#xA;" OwnerUserId="9594" LastActivityDate="2015-05-30T19:17:24.330" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31640" PostTypeId="2" ParentId="31630" CreationDate="2015-05-30T21:28:28.050" Score="6" Body="&lt;p&gt;Finding the answer to your question is not overly difficult, if one is used to proving PSPACE upper bounds. But I think one cannot find an answer to your question in the literature, so here it is:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a regular expression r of alphabetic width n, i.e. with n alphabetic letters, you can enumerate all regular expressions of alphabetic width 1,2,3, one by one (see the paper by Gruber et al. 2012), and test for each such candidate expression c whether L(c) = L(r). The first expression where the test succeeds is clearly of minimum alphabetic width.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Apart from the test for language equivalence, this can be implemented using &quot;only&quot; linear space (and using exponential time).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The regular expression equivalence test can be done by converting r and c each to a nondeterministic finite automaton, and check if these automata are equivalent. The latter can be done in PSPACE as follows (this algorithm is mentioned in the paper by Bonchi and Pous 2013): For each word $w$ of length at most $2^n$, test whether $w \in L(r)$ if and only if $w \in L(s)$. If all these $2^{n+1}-1$ tests are successful, then $L(r)=L(s)$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Notes&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The paper by Gruber et al. (2012) also covers the computation of the number of regular languages whose minimal regular expression is of size n for small values of n. This actually uses an implementation of regular expression minimization. The test for language equivalence is not done in polynomial space as described above, but by computing the minimal DFA. This requires exponential space in the worst case. But there are more practical ways (all practical approaches seem to use exponential space) for testing the equivalence of NFAs, see &#xA;&lt;a href=&quot;http://languageinclusion.org/&quot; rel=&quot;noreferrer&quot;&gt;http://languageinclusion.org/&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;References&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Hermann Gruber, Jonathan Lee, Jeffrey Shallit: Enumerating regular expressions and their languages, arXiv:1204.4982 [cs.FL]&lt;/li&gt;&#xA;&lt;li&gt;Filippo Bonchi, Damien Pous: Checking NFA equivalence with bisimulations up to congruence. POPL 2013.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="2367" LastActivityDate="2015-05-30T21:28:28.050" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31643" PostTypeId="1" AcceptedAnswerId="31646" CreationDate="2015-05-31T03:50:02.750" Score="4" ViewCount="138" Body="&lt;p&gt;(Unlike most posts on stackexchange with that word,&#xA;&lt;br&gt;&#xA;I really do doubt that they work as described.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In &lt;a href=&quot;http://arxiv.org/pdf/1204.4659v1.pdf#page=13&quot; rel=&quot;nofollow&quot;&gt;Figure 15 of this paper&lt;/a&gt;, the cells two to the right of the leftmost circle and two to the left of the rightmost circle hold the values 3 and 1 respectively. $\:$ Due to the rows of 1s that are three above each of those circles, the mostly-blank area is presumably supposed to have no mines, which would make the value 3 impossible. $\:$ Since the figure is otherwise mostly symmetric, I believe the 3 I mentioned two sentences ago should be replaced with a 1. $\:$ However, even if that is done, I do not see any way to determine the status of the $z$s even after both $r$ and $s$ are revealed, despite the three sentences on the previous page whose middle sentence starts with &quot;Additionally&quot;. $\:$ For the same reason, Figure 14 also does not seem to do what it is supposed to.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Am I missing something here?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerDisplayName="user6973" LastActivityDate="2015-05-31T12:24:17.703" Title="doubt about two minesweeper gadgets" Tags="&lt;board-games&gt;&lt;paper-review&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31644" PostTypeId="2" ParentId="31637" CreationDate="2015-05-31T07:05:51.703" Score="1" Body="&lt;p&gt;You may be aware of PRISM, a probabilistic model checker, and &lt;a href=&quot;http://www.prismmodelchecker.org/casestudies/&quot; rel=&quot;nofollow&quot;&gt;PRISM Case Studies&lt;/a&gt; which documents (besides others) case studies on the correctness and performance of various &lt;em&gt;randomised distributed algorithms&lt;/em&gt; taken from the literature.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is quite common that one distributed computing problem has several variants (with different assumptions), and each variant has several randomized algorithms. That is, there are quite a few randomized distributed algorithms in the literature.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One way of identifying &quot;new&quot; protocols to check is to pick up an article from the &lt;a href=&quot;http://www.prismmodelchecker.org/casestudies/&quot; rel=&quot;nofollow&quot;&gt;PRISM Case Studies&lt;/a&gt;, make a list of randomized algorithms for variants of the problem it is focused on, and choose one algorithm to work with.&lt;/p&gt;&#xA;" OwnerUserId="12739" LastActivityDate="2015-05-31T07:05:51.703" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31645" PostTypeId="2" ParentId="31626" CreationDate="2015-05-31T07:39:34.853" Score="8" Body="&lt;p&gt;The classic reference for complexity of computation of real functions is:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Ker-I Ko, Computational Complexity of Real Functions, 1991&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Also have a look at chapter 7 in Weirauch's book.&lt;/p&gt;&#xA;" OwnerUserId="186" LastActivityDate="2015-05-31T07:39:34.853" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31646" PostTypeId="2" ParentId="31643" CreationDate="2015-05-31T12:24:17.703" Score="6" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;Since the figure is otherwise mostly symmetric, I believe the 3 I mentioned two sentences ago should be replaced with a 1.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Indeed, the 3 is obviously a typo.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;However, even if that is done, I do not see any way to determine the status of the zs even after...&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;Am I missing something here?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;After $r$ is revealed:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;If it was a mine, you can reveal the numbers on the fields occupied by $r'$.&lt;/li&gt;&#xA;&lt;li&gt;If it was not a mine, you can reveal the numbers on the fields occupied by $r$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;In both cases, you can deduce the status of the $z$s from the revealed numbers.&lt;/p&gt;&#xA;" OwnerUserId="20340" LastActivityDate="2015-05-31T12:24:17.703" CommentCount="2" CommunityOwnedDate="2015-05-31T12:24:17.703" ContentLicense="CC BY-SA 3.0" />
  <row Id="31648" PostTypeId="1" CreationDate="2015-05-31T19:14:20.197" Score="10" ViewCount="317" Body="&lt;p&gt;Let &lt;span class=&quot;math-container&quot;&gt;$k&amp;gt;0$&lt;/span&gt; be a fixed constant.&#xA;Given an integer &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt;, we want to construct a permutation &lt;span class=&quot;math-container&quot;&gt;$\sigma \in S_n$&lt;/span&gt; such that:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;The construction uses constant time and space (i.e. preprocessing takes constant time and space). We can use randomization.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Given &lt;span class=&quot;math-container&quot;&gt;$i\in[n]$&lt;/span&gt;, &lt;span class=&quot;math-container&quot;&gt;$\sigma(i)$&lt;/span&gt; can be computed in constant time and space.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The permutation &lt;span class=&quot;math-container&quot;&gt;$\sigma$&lt;/span&gt; is &lt;span class=&quot;math-container&quot;&gt;$k$&lt;/span&gt;-wise independent,&#xA;i.e., for all &lt;span class=&quot;math-container&quot;&gt;$i_1, \ldots, i_k$&lt;/span&gt;,&#xA;the random variables &lt;span class=&quot;math-container&quot;&gt;$\sigma(i_1), \ldots, \sigma(i_k)$&lt;/span&gt; are independent and&#xA;uniformly distributed over &lt;span class=&quot;math-container&quot;&gt;$[n]$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;The only thing I currently know uses logarithmic space and polynomial computation time per value of &lt;span class=&quot;math-container&quot;&gt;$\sigma(i)$&lt;/span&gt; using pseudo-random generators.&lt;/p&gt;&#xA;&lt;hr /&gt;&#xA;&lt;h3&gt;Background&lt;/h3&gt;&#xA;&lt;p&gt;I needed something like the above for some recent work, and&#xA;I ended up using something weaker:&#xA;I allowed repeated entries and verified that all the numbers that I needed&#xA;were covered (i.e., a mess).&#xA;Specifically, I got a &lt;span class=&quot;math-container&quot;&gt;$k$&lt;/span&gt;-wise independent sequence&#xA;that can be computed in &lt;span class=&quot;math-container&quot;&gt;$O(1)$&lt;/span&gt; time and&#xA;using constant space.&#xA;It would be nice to have something simpler, or just know what is known.&lt;/p&gt;&#xA;&lt;h2&gt;Assumptions&lt;/h2&gt;&#xA;&lt;p&gt;I am assuming the unit-cost RAM model. Every word in memory/register is of size &lt;span class=&quot;math-container&quot;&gt;$O(\log n)$&lt;/span&gt;, and every basic arithmetic operation takes &lt;span class=&quot;math-container&quot;&gt;$O(1)$&lt;/span&gt; time. I am willing to assume any reasonable cryptographic assumption (one way function, discrete log, etc).&lt;/p&gt;&#xA;&lt;h2&gt;Current thingy&lt;/h2&gt;&#xA;&lt;p&gt;As suggested by Kaveh, here is the &amp;quot;easy&amp;quot; hack that I currently have (this is quite standard): Let &lt;span class=&quot;math-container&quot;&gt;$\sigma(x) = \sum_{i=0}^{k+2} a_i x^i \bmod p$&lt;/span&gt; be a polynomial over a prime &lt;span class=&quot;math-container&quot;&gt;$p$&lt;/span&gt; (think about &lt;span class=&quot;math-container&quot;&gt;$p$&lt;/span&gt; as being &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt;). Here, each &lt;span class=&quot;math-container&quot;&gt;$a_i$&lt;/span&gt; is uniformly and randomly sampled from &lt;span class=&quot;math-container&quot;&gt;$[p]$&lt;/span&gt;. It is easy to see that &lt;span class=&quot;math-container&quot;&gt;$\sigma(1), \sigma(2), \ldots, \sigma(n)$&lt;/span&gt; is a sequence that has repetitions, but it is &lt;span class=&quot;math-container&quot;&gt;$k$&lt;/span&gt;-wise independent, and roughly &lt;span class=&quot;math-container&quot;&gt;$n(1-1/e)$&lt;/span&gt; of the numbers of &lt;span class=&quot;math-container&quot;&gt;$[n]$&lt;/span&gt; appear in this sequence. Note, however, that since numbers repeat in this sequence, it is not a permutation.&lt;/p&gt;&#xA;" OwnerUserId="9594" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2015-06-05T06:13:44.320" Title="Can we construct a k-wise independent permutation on [n] using only constant time and space?" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;cr.crypto-security&gt;&lt;derandomization&gt;&lt;k-wise-independence&gt;" AnswerCount="1" CommentCount="14" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="31651" PostTypeId="1" CreationDate="2015-06-01T01:54:45.847" Score="8" ViewCount="369" Body="&lt;p&gt;The Standard Model of physics (the mathematical model which predicts the Higg's boson) is, as far as I understand, our most complete model of the universe. That is to say, it is the best description of the mathematical game to be played to make predictions on the outcome of  experiments performed in our Universe.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As I understand it, quantum physics, used to create models of quantum computation (as used, for example, in the construction of Shor's algorithm) is a mathematical game contained within the Standard Model. Thus, in this sense the Standard Model is a generalization of quantum physics.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is it at all conceivable that the Standard Model can allow for the construction of more general Standard Model computers? Or is there an obvious reason why quantum physics extracts all the benefit modern physics brings over classical models of computation and thus computer scientists should only reason according to quantum physics? Has any fundamental work been done on this? Is my question even well posed? Supposing that a Standard Model of physics computer could be a well-posed mathematical object more general than quantum computers, is there any reason at all to think that there could be any use to reasoning about that? Has there been any work done related to this question?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More informally, you might think of this question as something of the form &quot;could we make a 'Higg's Boson' computer?&quot; a rather natural justification for research in particle physics. Note that I know very little of the Standard Model (but a good deal about quantum physics) so this question might be ill posed, and if so, knowing that would be a clarification of my understanding.&lt;/p&gt;&#xA;" OwnerUserId="34313" LastActivityDate="2015-06-01T13:29:21.533" Title="Is it conceivable at all that the standard model of physics can outperform a quantum computer in any sense?" Tags="&lt;cc.complexity-theory&gt;&lt;quantum-computing&gt;&lt;physics&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31652" PostTypeId="1" CreationDate="2015-06-01T05:28:55.280" Score="0" ViewCount="88" Body="&lt;p&gt;I'm reading Ankur Moitra's excellent lectures notes at &lt;a href=&quot;http://people.csail.mit.edu/moitra/docs/bookex.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://people.csail.mit.edu/moitra/docs/bookex.pdf&lt;/a&gt; .&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In Chapter4, the notes claim that a certain circulant matrix of fourier coefficients is invertible [left as exercise to reader, and I can't find the footnote]. I can not prove it. I'm also not convinced it's true. The pages are attached. Any pointers as to what I should read up on would be helpful.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT: Images are high resolution. Click &quot;open image in new tab&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/TkhW3.jpg&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/kFxrJ.jpg&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;" OwnerUserId="34314" LastActivityDate="2015-06-01T05:28:55.280" Title="Inverting Matrix in Prony's Algorithm" Tags="&lt;linear-algebra&gt;" AnswerCount="0" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="31654" PostTypeId="2" ParentId="31651" CreationDate="2015-06-01T12:48:43.617" Score="10" Body="&lt;p&gt;If quantum computers can simulate in polynomial time the Standard Model, which is a quite complicated quantum field theory, then probably the Standard Model does not provide any extra computational power beyond BQP. Simulating quantum field theories with a quantum computer is not an easy task, but a start has been made by &lt;a href=&quot;http://arxiv.org/abs/1111.3633&quot;&gt;this paper&lt;/a&gt; by Jordan, Lee, and Preskill, which shows how to simulate in polynomial time a much simpler quantum field theory than the Standard Model. &lt;/p&gt;&#xA;" OwnerUserId="1677" LastEditorUserId="1677" LastEditDate="2015-06-01T13:29:21.533" LastActivityDate="2015-06-01T13:29:21.533" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="31655" PostTypeId="2" ParentId="31621" CreationDate="2015-06-01T14:28:57.033" Score="0" Body="&lt;p&gt;If I understand the requirements correctly, the answer is no. I will restate (what I understand to be) the problem:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We are dealing with graphs $(V,E,\delta)$ (undirected, though directed edges won't change the answer), equipped with a distance $\delta$ which generates a ranking $Rank_u$ for each node $u$. This means that there are no $u,v,w$ with $v\neq w$ and $d(u,v)=d(u,w)$; for any node $u$, $Rank_u$ is then the unique function $V\to\{1,...,|V|\}$ such that $Rank_u(v)&amp;lt;Rank_u(w)$ iff $d(u,v)&amp;lt;d(u,w)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I will concentrate on the case $a=b=1$, i.e. consider the sums&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$s_1 := \sum_{v\neq u}\frac{1}{Rank_u(v)Rank_v(u)}$ and $s_2 := \sum_{v\neq u}\frac{1}{Rank_u(v)^2}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The question is whether $s_2$ can be used to approximate $s_1$. Note that for a graph with $n$ nodes, $s_2$ will always be equal to $n\sum_{i=2}^n\frac{1}{i^2}$, which is in $O(n)$, since $\sum_{i=2}^\infty\frac{1}{i^2}$ converges. It is enough to find a family $(V_n,E_n,\delta_n)$ of graphs with $|V_n|=n$ for which $s_1$ grows more quickly. Consider this example:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$(V_n,E_n)$ is the complete graph $K_n$ on $n$ nodes. The metric $\delta_n$ is given by $\delta_n(v_i,v_j) = 2^i+2^j$ for $i\neq j$ (and $0$ for $i=j$). The resulting ranking functions are&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$Rank_{v_i}(v_j) = 1+j$ for $j&amp;lt;i$,&lt;/li&gt;&#xA;&lt;li&gt;$Rank_{v_i}(v_i) = 1$,&lt;/li&gt;&#xA;&lt;li&gt;$Rank_{v_i}(v_j) = j$ for $j&amp;gt;i$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The first sum above then becomes&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$s_1 = 2\sum_{i&amp;lt;j}\frac{1}{Rank_{v_i}(v_j)Rank_{v_j}(v_i)} = 2\sum_{i&amp;lt;j}\frac{1}{j(1+i)} = 2\sum_{j=2}^n(\frac{j-1}{j}\sum_{i=1}^{j-1}\frac{1}{i})$;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;the summand is in $\Theta(\log j)$, and $s_1$ is in $\Theta(n\log n)$.&lt;/p&gt;&#xA;" OwnerUserId="5183" LastEditorUserId="5183" LastEditDate="2015-06-01T16:32:02.883" LastActivityDate="2015-06-01T16:32:02.883" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31656" PostTypeId="1" AcceptedAnswerId="31701" CreationDate="2015-06-01T16:40:44.910" Score="5" ViewCount="629" Body="&lt;p&gt;If Alice and Bob both have $n$ bit strings, consider a one-way randomized communication problem where Bob has to output with some good probability a number which is within a $(1+\epsilon)$ factor of the Hamming distance between their strings. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is the one-way randomized communication complexity of this problem?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have found a lot of literature on seemingly related problems (e.g. promise problems, threshold versions of Hamming distance) but I can't find a reference for this precise formulation.&lt;/p&gt;&#xA;" OwnerUserId="13771" LastActivityDate="2015-06-05T17:50:45.270" Title="One-way randomized communication complexity of approximate Hamming distance" Tags="&lt;communication-complexity&gt;" AnswerCount="2" CommentCount="3" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="31657" PostTypeId="2" ParentId="31656" CreationDate="2015-06-01T17:07:36.890" Score="5" Body="&lt;p&gt;The lower bound problem you're looking for is the GAP-HAMMING problem. &lt;a href=&quot;http://theoryofcomputing.org/articles/v008a008/&quot;&gt;Sherstov has a &quot;simplest&quot; result&lt;/a&gt; for the general communication complexity of GAP HAMMING, and in his paper he has a nice review of the related literature, including the sequence of references for the linear lower bound on the &lt;em&gt;one-way&lt;/em&gt; communication complexity of GAP HAMMING. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2015-06-01T17:07:36.890" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="31660" PostTypeId="1" CreationDate="2015-06-01T21:44:01.793" Score="3" ViewCount="122" Body="&lt;p&gt;Let &lt;code&gt;f&lt;/code&gt; and &lt;code&gt;g&lt;/code&gt; be lambda terms in the normal form, such that &lt;code&gt;f&lt;/code&gt; is intensionally different from &lt;code&gt;g&lt;/code&gt; - that is, their string representation using bruijn indexes isn't the same. Is there any choice of &lt;code&gt;f&lt;/code&gt; and &lt;code&gt;g&lt;/code&gt; such that, for any &lt;code&gt;x&lt;/code&gt; that is also a lambda term, &lt;code&gt;f x == g x&lt;/code&gt;?&lt;/p&gt;&#xA;" OwnerUserId="17388" LastActivityDate="2015-06-02T02:38:05.567" Title="Is there a pair of different lambda terms in the normal form that behave identically when applied to any input?" Tags="&lt;pl.programming-languages&gt;&lt;lambda-calculus&gt;&lt;functional-programming&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31661" PostTypeId="2" ParentId="31660" CreationDate="2015-06-02T00:34:06.310" Score="7" Body="&lt;p&gt;The result you are looking for is Böhm's theorem. The equivalence described by &quot;behaves the same way on all inputs&quot; is the same as the equivalence given by normal forms, but only if you treat eta-equivalent normal forms (λx.Ix and I) as equivalent. You could disallow the former as a normal forms (eta-short) and then you'd have the syntactic condition you want by Böhm's theorem, if I'm not mistaken.&lt;/p&gt;&#xA;" OwnerUserId="34324" LastEditorUserId="342" LastEditDate="2015-06-02T02:38:05.567" LastActivityDate="2015-06-02T02:38:05.567" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="31668" PostTypeId="1" AcceptedAnswerId="31687" CreationDate="2015-06-02T16:02:46.730" Score="4" ViewCount="523" Body="&lt;p&gt;Given a set of points $P = \{(x_1,y_1),(x_2,y_2),\dots,(x_n,y_n) \}$ one can use least squares method to fit a polynomial to $P$.&#xA;In particular I am interested in linear and quadratic regression.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am not familiar with the literature, but it seems a fit to $P$ can be computed in $O(n)$ time,&lt;br&gt;&#xA;(the degree of the polynomial is considered a constant). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there any algorithms for updating these polynomials as one point is added to or removed from P without recomputing the whole polynomial?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit:&#xA;I found this implementation:&#xA;&lt;a href=&quot;http://algs4.cs.princeton.edu/14analysis/LinearRegression.java.html&quot; rel=&quot;nofollow&quot;&gt;http://algs4.cs.princeton.edu/14analysis/LinearRegression.java.html&lt;/a&gt;&#xA;Which easily can be modified to dynamically update a linear regression in constant time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I still wonder how to do quadratic regression but I will try to mimic the technique I found for linear regression.&lt;/p&gt;&#xA;" OwnerUserId="8936" LastEditorUserId="8936" LastEditDate="2015-06-04T14:13:08.300" LastActivityDate="2015-06-05T00:04:55.857" Title="Complexity of iterative least squares regression" Tags="&lt;ds.algorithms&gt;&lt;sum-of-squares&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="31669" PostTypeId="1" AcceptedAnswerId="31843" CreationDate="2015-06-02T18:36:58.787" Score="8" ViewCount="457" Body="&lt;p&gt;Given a graph $G=(V,E)$, find a mapping $f\colon V \rightarrow \mathbb R^d$ such that for every edge $(u,v) \in E$ we have that $||f(u)-f(v)|| \leq r$; and for every $(u,v) \not \in E$, we have the opposite $||f(u)-f(v)|| &amp;gt; r$ for some given $r$.&#xA;One could also view this problem as embedding a unit disc graph back into the euclidean space.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now I have been told that - while the problem is NP-complete - the usual way to do it is as follows. This is where the hearsay starts, so excuse me if I am a little vague. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The proposed approach places an arbitrary node at $0$. Then, run a linear (or quadratic?) program that maximizes $\sum_{v \in V} g(f(v))$ under the side condition stated above, i.e. for all edges $(u,v) \in E$, $(f(u) - f(v))^2 \leq r^2$. $g$ is probably some norm, maybe $L_1$ or $L_2$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is how I more or less understood it. The general gist was to fix the position of an initial node and then &quot;spread&quot; the graph apart using the linear program.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I tried to find some sources on that, maybe a paper that introduced this approach, but so far my efforts failed - there are just too many ways to embed a graph in the $\mathbb R^d$. In particular, I am interested in how this approach deals with noisy data. For example, consider a grid graph of size $n \times n$ which should be perfectly embeddable in the euclidean plane. Now, add an edge from $(0,0)$ to $(n,n)$. Intuitively, in an embedding I would like to ignore the edge since the rest of the graph is a perfect grid. The approach above, however, would most likely produce a weird embedding.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can anyone give me some pointers to work describing this approach?&lt;/p&gt;&#xA;" OwnerUserId="13553" LastEditorUserId="186" LastEditDate="2015-06-03T18:24:07.137" LastActivityDate="2015-06-27T09:32:49.053" Title="Embedding a graph in the euclidean space" Tags="&lt;reference-request&gt;&lt;graph-algorithms&gt;&lt;linear-programming&gt;&lt;embeddings&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="31671" PostTypeId="2" ParentId="11009" CreationDate="2015-06-03T00:39:41.977" Score="0" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;e.g. in a function that &quot;yields&quot; one result at a time; an unexpected condition could occur while producing one of these results, and you may want the calling code to decide whether or not it makes sense to continue producing more results&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I think you are describing coroutines a la &lt;a href=&quot;http://wla.berkeley.edu/~cs61a/fa11/lectures/streams.html#coroutines&quot; rel=&quot;nofollow&quot;&gt;http://wla.berkeley.edu/~cs61a/fa11/lectures/streams.html#coroutines&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="34333" LastActivityDate="2015-06-03T00:39:41.977" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31672" PostTypeId="2" ParentId="1977" CreationDate="2015-06-03T01:15:22.430" Score="3" Body="&lt;p&gt;post a bit old, but wanted to post another answer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is a &lt;strong&gt;non-constructive proof&lt;/strong&gt; (or argument) of computability. It simply says that the function must exist in some sense since i can represent it (or more correctly index it), in the set (or universe) of computable functions. However it &lt;strong&gt;neither constructs the machine itself&lt;/strong&gt; (i.e the algorithm), &lt;strong&gt;nor the index&lt;/strong&gt; (assuming an effective enumeration of computable machines). The english phrase &quot;&lt;em&gt;thanks for nothing&lt;/em&gt;&quot;, seems in these cases most appropriate, like the following:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;-- Look, I proved there is water somewhere! &#xA;&#xA;Now you can be happy, while dying from thirst!&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;People in the history of mathematics have argued quite a bit on the actual validity (or range of validity) and meaning of such arguments. The end result is that the same type of arguments re-appear in the incompleteness theorems of Goedel and turn against this  &lt;a href=&quot;http://en.wikipedia.org/wiki/Closed-world_assumption&quot; rel=&quot;nofollow&quot;&gt;&quot;closed universe assumption&quot;&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you dont like these arguments so much i would not blame you.&lt;/p&gt;&#xA;" OwnerUserId="21598" LastEditorUserId="21598" LastEditDate="2015-09-02T18:12:12.650" LastActivityDate="2015-09-02T18:12:12.650" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31678" PostTypeId="1" AcceptedAnswerId="31689" CreationDate="2015-06-03T17:48:18.830" Score="7" ViewCount="265" Body="&lt;p&gt;A non-deterministic protocol for the inequality function is a protocol that behaves as follows: Alice and Bob get strings $x,y\in\{0,1\}^n$ respectively, and an untrusted prover is trying to convince them that $x \ne y$ by sending them some proof string $\pi$. The protocol accepts if both Alice and Bob accept $\pi$, and rejects otherwise. The prover should succeed in making the protocol accept if and only if indeed $x \ne y$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is well-known that in every such protocol, the string $\pi$ must be of length at least $\log n$. The easiest way to see it is to observe that if this lower bound did not hold, then there would be a deterministic protocol for the equality function that transmits less than $n$ bits. This lower bound is tight, since the prover can choose $\pi$ to be a coordinate $i\in [n]$ suh that $x_i \ne y_i$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is whether the non-deterministic complexity of solving $k$ independent instances of inequality is at least $k\cdot\log(n)$? In other words, is there a direct-sum theorem for the non-deterministic communication complexity of inequality?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Relevant work:&lt;/strong&gt;&#xA;Feder et. al. [FKNN95] proved a general direct-sum theorem for non-deterministic communication complexity. Unfortunately, this theorem only applies to functions whose complexity is $\gg log(n)$, and therefore does not apply to the inequality function. Karchmer et. al. [KKN95] gave an alternative proof for this theorem, which suffers from the same limitation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;References:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[FKNN95] Tomás Feder, Eyal Kushilevitz, Moni Naor, Noam Nisan, &quot;Amortized Communication Complexity&quot;. SIAM J. Comput. 24(4): 736-750 (1995)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[KKN95] Mauricio Karchmer, Eyal Kushilevitz, Noam Nisan, &quot;Fractional Covers and Communication Complexity&quot;. SIAM J. Discrete Math. 8(1): 76-92 (1995)&lt;/p&gt;&#xA;" OwnerUserId="8429" LastActivityDate="2015-06-05T10:00:04.510" Title="A direct-sum theorem for the non-deterministic communication complexity of inequality?" Tags="&lt;cc.complexity-theory&gt;&lt;communication-complexity&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="31679" PostTypeId="2" ParentId="30592" CreationDate="2015-06-03T20:18:23.943" Score="1" Body="&lt;p&gt;My friend Bastian and I devoted our bachelor's thesis to researching this problem. So I guess the problem has been researched (at least a little bit) now which answers my original question. Here is a link to the final result: &lt;a href=&quot;http://urn.kb.se/resolve?urn=urn%3Anbn%3Ase%3Akth%3Adiva-166442&quot; rel=&quot;nofollow&quot; title=&quot;http://urn.kb.se/resolve?urn=urn%3Anbn%3Ase%3Akth%3Adiva-166442&quot;&gt;The Monk Problem&lt;/a&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Results include: &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;New kind of recursive system (EL-systems) which is used as a verifier&lt;/li&gt;&#xA;&lt;li&gt;Connection between search number and strongly connected components&lt;/li&gt;&#xA;&lt;li&gt;Greedy heuristics based on graph decomposition&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The complexity class still remains unknown.&lt;/p&gt;&#xA;" OwnerUserId="32194" LastActivityDate="2015-06-03T20:18:23.943" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="31680" PostTypeId="1" CreationDate="2015-06-04T01:34:23.547" Score="12" ViewCount="791" Body="&lt;p&gt;What are some (not well-known) assertions that if true, the PH must collapse?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Replies containing a short high-level assertion with reference(s) are appreciated. I tried to reverse-search without much luck.&lt;/p&gt;&#xA;" OwnerUserId="34344" LastEditorUserId="129" LastEditDate="2015-06-04T03:01:17.817" LastActivityDate="2017-11-27T14:28:52.050" Title="Sufficient conditions for the collapse of Polynomial Hierarchy (PH)" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;big-list&gt;" AnswerCount="7" CommentCount="6" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31682" PostTypeId="2" ParentId="31680" CreationDate="2015-06-04T08:51:55.237" Score="4" Body="&lt;p&gt;There is a large selection of results that hold assuming PH does not collapse. Let $A := \forall i , \Sigma^{P}_{i} \neq \Pi^{P}_{i}$, i.e. $\mathbb{PH}$ does not collapse. Then such results can then be summarized as $A \implies B$, where B is the result proven. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;By a simple contrapositive, any such result is equivalent to $ \bar{B} \implies \bar{A}$, i.e. if the result does not hold unconditionally, then $\mathbb{PH}$ must also collapse. Historically, those results served two purposes:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;To increase confidence to the intuition that $\mathbb{PH}$ does not collapse, by showing that it implies results that we believe to be true (or equivalently by contrapositive, that unlikely results imply a collapse).&lt;/li&gt;&#xA;&lt;li&gt;To establish a web of results that are true, if one accepts $\mathbb{PH}$ does not collapse, without the need to wait for a proof of that result. i.e. to establish conditional results.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Note: It is also not unusual that papers assume that $\mathbb{PH}$ does not collapse &lt;strong&gt;in addition&lt;/strong&gt; to some other hypothesis, e.g. the (generalized) Riemann hypothesis. Then, the contrapositive simply shows that at least one of the hypothesis is false.&lt;/p&gt;&#xA;" OwnerUserId="879" LastActivityDate="2015-06-04T08:51:55.237" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31683" PostTypeId="2" ParentId="31625" CreationDate="2015-06-04T16:29:16.503" Score="6" Body="&lt;p&gt;Firstly it is well-known that the approximate degree of $\mathrm{AND}$ is $O(\sqrt{n})$:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;b&gt;Theorem 1.&lt;/b&gt; For all $n$ and $\varepsilon&amp;gt;0$, there exists a multilinear polynomial $p : \{\pm 1\}^n \to \mathbb{R}$ of degree $O(\sqrt{n}\log(1/\varepsilon))$ such that $|p(x)-\mathrm{AND}(x)|\leq \varepsilon$ for all $x \in \{\pm 1\}^n$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;i&gt;Proof.&lt;/i&gt; We use the Chebyshev polynomials:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;b&gt;Fact.&lt;/b&gt; For all $\ell$ and $d$ there exists $p_{\ell,d} : [-1,1] \to \mathbb{R}$ of degree at most $d$ such that $|p_{\ell,d}(z)-z^\ell| \leq 2e^{-d^2/2\ell}$ for all $z \in [-1,1]$.&lt;br&gt;&#xA;See &lt;a href=&quot;http://research.microsoft.com/en-us/um/people/nvishno/site/Publications_files/approx-survey.pdf&quot; rel=&quot;nofollow&quot;&gt;Sachdeva-Vishnoi&lt;/a&gt; Theorem 3.3 for a proof.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We also have $$\left|\mathrm{AND}(x) - \left(\sum_{i=1}^n \frac{1-x_i}{2n}\right)^\ell\right| \leq \left(1-\frac{1}{n}\right)^\ell \leq e^{-\ell/n}$$ for all $x \in \{\pm 1\}^n$. Thus $$\left|\mathrm{AND}(x) - p_{\ell,d}\left(\sum_{i=1}^n \frac{1-x_i}{2n}\right)\right| \leq 2e^{-d^2/2\ell} + e^{-\ell/n}$$ for all $x \in \{\pm 1\}^n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Setting $\ell = n \log(3/\varepsilon)$, $d=\sqrt{2\ell \log(3/\varepsilon)}$, and $p(x) = p_{\ell,d}\left(\sum_{i=1}^n \frac{1-x_i}{2n}\right)$ proves the theorem. Q.E.D.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now we show that the approximate degree of $\mathrm{AND}$ becomes the exact degree of $\mathrm{AND}$ (which is maximal) for some value of $\varepsilon&amp;gt;0$:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;b&gt;Theorem 2.&lt;/b&gt; For all $n$, there exists $\tilde\varepsilon&amp;gt;0$ such that no multilinear polynomial $p : \{\pm 1\}^n \to \mathbb{R}$ of degree strictly less than $n$ satisfies $|p(x) - \mathrm{AND}(x)|\leq \tilde\varepsilon$ for all $x \in \{\pm 1\}^n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;i&gt;Proof.&lt;/i&gt;&#xA;Let $\mathcal{P} \subset \mathbb{R}^{\{\pm 1\}^n}$ be the space of functions from $\{\pm 1\}^n$ to $\mathbb{R}$ that have degree strictly less than $n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;b&gt;Claim.&lt;/b&gt; $\mathcal{P}$ is closed with respect to the $\ell_\infty$ norm.&lt;br&gt;&#xA;This follows from the fact that $\mathcal{P}$ is a linear subspace of $\mathbb{R}^{\{\pm 1\}^n}$. It is spanned by the multilinear monomials of degree strictly less than $n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;b&gt;Claim.&lt;/b&gt; $\mathrm{AND} \notin \mathcal{P}$.&lt;br&gt;&#xA;The Fourier transform uniquely expresses $\mathrm{AND}$ in the multilinear monomial basis. We see that the degree is $n$:&#xA;$$\mathrm{AND}(x) = \prod_{i=1}^n \frac{1-x_i}{2} = \sum_{s \subset [n]} \frac{(-1)^{|s|}}{2^n} \prod_{i \in s} x_i.$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;b&gt;Claim.&lt;/b&gt; $\exists \tilde\varepsilon&amp;gt;0~\forall p \in \mathcal{P}~\|\mathrm{AND}-p\|_\infty&amp;gt;\tilde\varepsilon$.&lt;br&gt;&#xA;Since $\mathcal{P}$ is closed, its complement is open. $\mathrm{AND}$ is in the complement of $\mathcal{P}$ which means there exists a closed ball of positive radius $\tilde\varepsilon&amp;gt;0$ centered at $\mathrm{AND}$ that does not intersect $\mathcal{P}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The final claim is exactly the theorem. &#xA;Q.E.D.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thus we have shown that there exists $\tilde\varepsilon&amp;gt;0$ such that $\mathrm{deg}_{\tilde\varepsilon}(\mathrm{AND})&amp;gt;\mathrm{deg}_{1/3}(\mathrm{AND})$.&lt;/p&gt;&#xA;" OwnerUserId="2022" LastEditorUserId="2022" LastEditDate="2015-06-06T20:48:02.453" LastActivityDate="2015-06-06T20:48:02.453" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="31686" PostTypeId="1" CreationDate="2015-06-04T21:19:34.887" Score="15" ViewCount="350" Body="&lt;p&gt;I'm looking into communication complexity with real numbers. One problem if we want to define this is that one can encode many real numbers $0.a_1a_2a_3... , 0.b_1b_2b_3..., 0.c_1c_2c_3...$ using only one number $0.a_1b_1c_1a_2b_2c_2...$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To get around this problem, existing papers that deal with this issue (such as Abelson (1978), Luo and Tsitiklis, and Chen(1994)) assume that the messages that can be sent between Alice and Bob must be continuously differentiable functions of the inputs $x_1,...,x_n$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Do we need differentiability? Is there any problem if the messages are assumed to be continuous (not necessarily differentiable) functions?  I know that there's no continuous bijective function $f: \mathbb{R}^n \to \mathbb{R}$ for $n &amp;gt; 1$, so it seems like just assuming continuity should be enough. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks!&lt;/p&gt;&#xA;" OwnerUserId="7040" LastActivityDate="2015-06-11T15:07:36.197" Title="Communication Complexity with real numbers" Tags="&lt;communication-complexity&gt;" AnswerCount="0" CommentCount="2" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="31687" PostTypeId="2" ParentId="31668" CreationDate="2015-06-05T00:04:55.857" Score="2" Body="&lt;h2&gt;Linear regression&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;Yes.  For linear regression, you can do both updates in $O(1)$ time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Recall that for &lt;a href=&quot;https://en.wikipedia.org/wiki/Linear_regression#Least-squares_estimation_and_related_techniques&quot; rel=&quot;nofollow&quot;&gt;ordinary least squares estimation&lt;/a&gt;, we estimate the parameter vector $\hat\beta$ using the equation&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\hat{\beta} = (X^T X)^{-1} X^T y.$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here $X$ is a $n \times 2$ matrix and $y$ is a $n$-vector.  Adding a point amounts to adding a row to $X$ and $y$; deleting a point corresponds to deleting a row.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, here is the technique.  When you do the initial estimate, remember the value of $X^T X$ (which is a $2 \times 2$ matrix) and of $X^T y$ (which is a $2$-vector).  This only requires $O(1)$ storage.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now let's say you add a point.  This involves adding a row to $X,y$, to obtain new values, call them $X',y'$.  We now need to compute $(X'^T X')^{-1} X'^T y'$.  Fortunately, this can computed efficiently.  It is easy to compute $X'^T X'$ in $O(1)$ time, given the value of $X^T X$ and the row that was added to $X$.  It is also easy to compute $X'^T y'$ in $O(1)$, given the value of $X^T y$ and the row that was added to $X,y$.  Once you know the values of $X'^T X'$ and $X'^T y'$, you can simply multiply them (takes $O(1)$ time) and update the stored values.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A similar procedure can be used to remove a point, if you've stored all of the points and all of $X,y$.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Quadratic regression&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;The same techniques work for quadratic regression.  Now instead of a $n\times 2$ matrix, we have a $n \times 3$ matrix.  Basically, instead of the simple linear model $y \sim \beta_1 x + \beta_2$, we obtain the model $y \sim \beta_1 x^2 + \beta_2 x + \beta_3$, which has three parameters instead of two.  Everything else transfers over, and all updates can be done in $O(1)$ time.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Gradient descent&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;Finally, one last method.  Some variations on linear regression work by using gradient descent (or some other iterative mathematical optimization algorithm) to find the best model that maximizes some objective function (likelihood, or loss, or whatever).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Heuristically, if you update the set of points, you can often update the existing model much more efficiently than computing a new one from scratch.  In particular, you simply use grade descent with the new objective function -- but you use the old model as the starting point / initial point for the gradient descent.  Gradient descent is usually much faster when the starting point is close to the final optimum value, and when you make a small change (like adding or removing one point) we can expect this to be the case.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I don't think there are any complexity-theoretic guarantees with this approach, so it's entirely heuristic -- but it might work in practice if you are using gradient descent based methods for estimation instead of ordinary least squares.&lt;/p&gt;&#xA;" OwnerUserId="5038" LastActivityDate="2015-06-05T00:04:55.857" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31688" PostTypeId="2" ParentId="31680" CreationDate="2015-06-05T01:44:46.853" Score="11" Body="&lt;p&gt;There are a (growing) number of parameterized complexity results where the existence of a polynomial-sized kernelization implies the collapse of the PH to the third level. The central technique is given in [1], building on prior work (referenced in [1]).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As a simple example, the $k$-Path problem is the parameterized version of the Longest Path problem:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;$k$-Path&lt;/strong&gt;&lt;br/&gt;&#xA;  &lt;em&gt;Instance&lt;/em&gt;: A graph $G$ and integer $k$.&lt;br/&gt;&#xA;  &lt;em&gt;Parameter&lt;/em&gt;: $k$.&lt;br/&gt;&#xA;  &lt;em&gt;Question&lt;/em&gt;: Does $G$ contain a path of length $k$?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;This problem is in FPT (with somewhat practical algorithms), but in [2] they show that if it has a polynomially sized kernel (in $k$), then the PH collapses to $\Sigma^{P}_{3}$. (The current presentation is typically phrased as a negative kernalization result unless NP $\subseteq$ coNP/poly or coNP $\subseteq$ NP/poly, so searching for something like &quot;no polynomial kernel unless&quot; nets a lot of results.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;References&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;H. L. Bodlaender, B. M. P. Jansen, and S. Kratsch, &quot;Kernelization lower bounds by cross-composition&quot;, SIAM J. Discrete Math., 28 (2014), pp. 277–305. &lt;a href=&quot;http://arxiv.org/pdf/1206.5941v1.pdf&quot; rel=&quot;noreferrer&quot;&gt;[arXiv version]&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;H. L. Bodlaender, R. G. Downey, M. R. Fellows, D. Hermelin, &quot;On problems without polynomial kernels&quot;, Journal of Computer and System Sciences, 75(8):423-434. 2009. &lt;a href=&quot;http://web.stanford.edu/~rrwill/presentations/no-poly-kernels.pdf&quot; rel=&quot;noreferrer&quot;&gt;[Stanford hosted version]&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="9520" LastEditorUserId="6959" LastEditDate="2017-10-22T08:28:31.233" LastActivityDate="2017-10-22T08:28:31.233" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31689" PostTypeId="2" ParentId="31678" CreationDate="2015-06-05T02:11:29.573" Score="7" Body="&lt;p&gt;I think this can be done with $\log n \cdot\log t + t \cdot\log\log t$ bits of nondeterministic communication.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By encoding all strings with an error correcting code, we may assume that whenever we have an input pair $(x,y)$ with $x\neq y$ the two strings differ in a constant fraction of coordinates. Suppose we are given $t$ pairs $(x^j,y^j)_{j\in[t]}$ that we want to certify are all nonequal. By averaging, there is some coordinate $i\in[n]$ that witnesses $x^j_i\neq y^j_i$ for a constant fraction of $j\in[t]$. Iterating this argument we may construct a set $S\subseteq[n]$ of about $|S|=\log t$ coordinates such that for every $j$ there is some $i\in S$ such that $x^j_i\neq y^j_i$. The nondeterministic proof consists of $S$ (which is $\log t\cdot \log n$ bits) and a mapping $[t]\to S$ (which is $t\cdot\log\log t$ bits) that indicates which coordinate in $S$ to use for each of the $t$ input pairs.&lt;/p&gt;&#xA;" OwnerUserId="34350" LastEditorUserId="8429" LastEditDate="2015-06-05T10:00:04.510" LastActivityDate="2015-06-05T10:00:04.510" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31690" PostTypeId="2" ParentId="31648" CreationDate="2015-06-05T06:13:44.320" Score="3" Body="&lt;p&gt;If you are willing to use cryptographic techniques and rely upon cryptographic assumptions and to accept a computational notion of $k$-wise independence, it's posible that &lt;a href=&quot;https://en.wikipedia.org/wiki/Format-preserving_encryption&quot; rel=&quot;nofollow&quot;&gt;format-preserving encryption&lt;/a&gt; (FPE) might be helpful.  Let me sketch a few different constructions of this sort.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(By &quot;computational notion of $k$-wise independence&quot;, I mean that no adversary with a reasonable running time can distinguish $\sigma$ from a $k$-wise independent permutation, except with negligible advantage.  These schemes won't be information-theoretically $k$-wise independent, but they'll be &quot;essentially as good as $k$-wise independent&quot;, assuming all of the computation in sight is computationally bounded.)&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;A practical scheme, for smaller $n$&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;In particular, use a FPE construction to build a block cipher (pseudorandom permutation, PRP) with the signature $\sigma_k : [n] \to [n]$.  For values of $n$ that are smaller than $2^{128}$, probably the best scheme is to use a Feistel construction with a fixed number of rounds (say, 10) and a round function that is a PRF derived from AES.   The running time to evaluate $\sigma_k(i)$ for a single value of $i$ will be $O(1)$ AES invocations.  Each AES invocation runs in constant time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, note that any pseudorandom permutation is automatically $k$-wise independent.  In particular, the Luby-Rackoff theorem guarantees that with at least 3 rounds, you get (approximate) $k$-wise independence if $k \ll n^{1/4}$, assuming AES is secure.  With more rounds, it's likely that there will be a stronger result, but the theorems are harder to prove and become more technical, though it's widely believed that a constant number of rounds should suffice to get extremely high security (and thus essentially perfect $k$-wise independence for all reasonable values of $k$).&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Generalizing this to larger $n$&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;When $n$ is larger, things get weirder, because the unit-cost RAM model implicitly allows up to $O(\lg n)$ parallelism for free.  It's not clear to me what the cost of PRPs should be in this model (constant? increasing with $n$? I don't know).&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;A third possible construction&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;Let $m$ be a RSA modulus that is a bit larger than $2n$.  Define $G$ to be the subgroup of $(\mathbb{Z}/m\mathbb{Z})^*$ containing the elements whose Jacobi symbol is $+1$.  Define $\pi : G \to G$ by&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\pi(x) = x^3 \bmod m.$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Next, define $\sigma$ by&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\sigma(i) = g(\pi(f(i)),$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where $f,g$ are random bijective 2-independent hash functions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I suspect this construction has a chance of being (approximately) $k$-wise independent, under a RSA-like assumption.  I have no proof, just an intuition.  The main known regularity of $\pi$ is that it is multiplicatively homomorphic: $\pi(xy) = \pi(x) \pi(y)$.  I do not know of any other relevant regularities, even $k$-wise dependence.  Applying a 2-independent hash before and after $\pi$ provably eliminates this regularity: if $\pi$ is $k$-wise independence except for multiplicative homomorphicity, then the 2-wise independent hashes seem like they should provide full $k$-wise independence.  But this is super-sketchy and light-years from a proof of $k$-wise independence.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that you'll need to use format-preserving encryption techniques (e.g., the cycling technique) to ensure that $f,g$ work on $G$ rather than on $(\mathbb{Z}/m\mathbb{Z})$.  This scheme should have $O(1)$ (expected) running time to evaluate $\sigma(i)$ at a given input $i$, with suitable choice of $f,g$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, in some sense this candidate construction is abusing the unit-cost RAM model by relying upon the ability to operate on $\lg n$-bit numbers in $O(1)$ time, for large values of $n$, which isn't really reasonable in practice.  (This last construction won't be secure for small values of $n$, so this last approach fundamentally relies upon the large-$n$ regime for it to have a chance of working... exactly the regime where the unit-cost RAM model is most dubious.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I freely admit that this one is quite a stretch, but I mention it in case it triggers some inspiration for a better solution.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For instance, it might be possible to replace $G$ by a suitable elliptic curve group, so that we have $\pi(x) = e x$ over $G$ (recall that elliptic curve groups usually use additive notation rather than multiplicative notation).  The good thing about this is that it is not totally unreasonable to conjecture that, if the elliptic curve group $G$ is chosen right, $G$ will behave like a &quot;black-box group&quot;, which I think might effectively imply that $\pi$ will be $k$-wise independent &quot;except for effects implied by multiplicative homomorphism&quot;.  I don't have a complete construction ready to propose (the missing piece is how to choose $G$ and how to construct $f,g$ and how to prove $k$-wise independence from this), but it might be possible to put the pieces together somehow.&lt;/p&gt;&#xA;" OwnerUserId="5038" LastActivityDate="2015-06-05T06:13:44.320" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31692" PostTypeId="1" CreationDate="2015-06-05T08:08:58.330" Score="-2" ViewCount="243" Body="&lt;p&gt;Say $\sigma_1, \sigma_2, \dots, \sigma_m$ are i.i.d distributed $\pm1$ variables. How do I show that for any choice of $S_1, S_2, \dots, S_d$ subsets of $\{1, 2, \dots, m\}$, the expectation of the supremum over $S_i$ of the absolute value of the sum of the $\sigma$'s with indices in $S_i$ is bounded above by $\sqrt{2m \log d}$?&lt;/p&gt;&#xA;" OwnerUserId="34352" LastEditorUserId="34352" LastEditDate="2015-06-05T08:22:10.887" LastActivityDate="2015-06-05T13:23:47.107" Title="Lemma needed for my machine learning research" Tags="&lt;co.combinatorics&gt;&lt;machine-learning&gt;&lt;pr.probability&gt;" AnswerCount="2" CommentCount="1" ClosedDate="2015-06-05T20:58:44.517" ContentLicense="CC BY-SA 3.0" />
  <row Id="31693" PostTypeId="2" ParentId="31692" CreationDate="2015-06-05T09:46:07.030" Score="0" Body="&lt;p&gt;Some additional context would be nice and would help initiate a meaningful discussion, as well as make sure that the requirements to use some bound are fulfilled. Also, while related, the question at hand is strictly not TCS, although such lemmas are frequently used in proofs. Finally, it would be beneficial to acquire to research on your own an answer to your question, since i you are planning of conducting additional research in the future this knowledge will be extremely valuable. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would suggest looking into the so-called &quot;concentration inequalities&quot;, which with little modification should provide an answer to your question. If you are still having trouble finding with an answer after a week, I would also recommend cross-posting this question to &lt;a href=&quot;https://math.stackexchange.com/&quot;&gt;math.SE&lt;/a&gt;, which seems more suited to give an answer. Make sure you indicate the question has already been posted elsewhere and provide a link to it, as is required by our site's &lt;a href=&quot;https://cstheory.meta.stackexchange.com/questions/225/official-faq-for-theoretical-computer-science/231#231&quot;&gt;policy&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, I would suggest you read the relevant information on the &lt;a href=&quot;https://cstheory.stackexchange.com/help/on-topic&quot;&gt;help center&lt;/a&gt;, on what kind of questions are relevant for cstheory.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;PS: Posted this as answer as it contains some relevant information and it was too long for a comment.&lt;/p&gt;&#xA;" OwnerUserId="879" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2015-06-05T09:46:07.030" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31694" PostTypeId="2" ParentId="31692" CreationDate="2015-06-05T10:23:26.030" Score="2" Body="&lt;p&gt;This is not a research-level question (is it homework?). Hint: See Massart's Finite Class Lemma, for example here:&#xA;&lt;a href=&quot;http://ttic.uchicago.edu/~tewari/lectures/lecture10.pdf&quot; rel=&quot;nofollow&quot;&gt;http://ttic.uchicago.edu/~tewari/lectures/lecture10.pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="1746" LastActivityDate="2015-06-05T10:23:26.030" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31695" PostTypeId="1" CreationDate="2015-06-05T10:25:09.343" Score="0" ViewCount="42" Body="&lt;p&gt;We have a theorem that, if the graph G is symmetric (both vertex and edge transitive) then G^p (by joining the vertices which are at the distance at most p in G) is also symmetric. See the reference ''Chromatic sets of power graphs and their application to resource&#xA;placement in multicomputer networks'' by N. Imani, H. Sarbazi-Azad, S.G. Akl, P. Moinzadeh;&#xA;Computers and Mathematics with Applications 58 (2009) 403–413.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But if you take Hypercube powers (Q_n)^p, the above question doesn't work out.&lt;/p&gt;&#xA;" OwnerUserId="34353" LastActivityDate="2015-06-05T10:25:09.343" Title="Number of common neighbors of any two adjacent vertices in a edge transitive graph is same or different?" Tags="&lt;symmetry&gt;" AnswerCount="0" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="31697" PostTypeId="1" CreationDate="2015-06-05T12:35:35.333" Score="1" ViewCount="199" Body="&lt;p&gt;Let $\underline{x}\triangleq x_1,\dots,x_n$. &#xA;Given a Boolean function &#xA;$f:\{0,1\}^n\to\{0,1\}$, &#xA;we say that $p(\underline{x})\in\Bbb{R}[\underline{x}]$ is an $\epsilon$-approximation to $f$ &#xA;if  for all $\underline{x}$, $|p(\underline{x})-f(\underline{x})|\leq\epsilon$.&#xA;$\newcommand{\apxdeg}[0]{{{\mathsf{deg}}}}$&#xA;Let $\mathsf{deg}_\epsilon(f)$ be the minimum degree of&#xA;multilinear real polynomial that $\epsilon$-approximates $f$.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Supposing that $\mathsf{deg}_{1/3}(f)\geq(\mathsf{deg}_0(f))^b$ with some $b\in(0.00001,1]$, are there constants $a_f\in(0,0.00001]$ such that,&#xA;  $\mathsf{deg}_\epsilon(f) \geq(\mathsf{deg}_0(f))^{a_f}$ at every $\epsilon\in(0,1)$?&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;Or is there an $f$ such that &#xA;  $\apxdeg_\epsilon(f) \leq \mathsf{polylog}(\apxdeg_0(f))$ at some $\epsilon\in(0,1)$?&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;Note that $a_f$ is unlikely to be independent of $f$. A closely related question corresponds to what is the highest error $\eta_f&amp;lt;1/2$ as it approaches $1/2$ beyond which no further decrease happens in degree except at exactly $\epsilon=\frac{1}2$.&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;&lt;a href=&quot;http://www.cs.huji.ac.il/~noam/degree.ps&quot; rel=&quot;nofollow&quot;&gt;Nisan-Szegedy result&lt;/a&gt; implies only a trivial lower bound of&#xA;  $$\lim_{\epsilon\rightarrow\frac{1}2^-}\mathsf{deg}_\epsilon(f)\geq 1.$$&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;For symmetric $f$ we can have $a_f$ close to $0.5$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a class of functions where a non-trivial lower-bound is not known?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a class of functions it is conjectured approximate degree $\mathsf{deg}_{ \epsilon}(f)$ at some $\epsilon\in(0,\frac{1}2)$ can be polylogarithmically smaller than the exact degree given that $\mathsf{deg}_{1/3}(f)\geq(\mathsf{deg}_0(f))^b$ with some $b\in(0.00001,1]$?&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;When error approaches $1/2$. The bound is $\deg_{0}(f)\leq C_\epsilon(\deg_{\epsilon}(f))^8$ where $C_\epsilon$ depends on $\epsilon$. As $\epsilon$ approaches $0$, $C_\epsilon\rightarrow\infty$. So it is possible the upper bound is because  $C_\epsilon\rightarrow\infty$ and $\deg_{\epsilon}(f)\rightarrow1$. This corresponds to $a_f=0$ in the question. Can this degenerate situation actually happen in a boolean function $f$?&lt;/p&gt;&#xA;" OwnerUserId="1812" LastEditorUserId="1812" LastEditDate="2015-06-06T20:18:24.137" LastActivityDate="2015-06-06T20:18:24.137" Title="Classes of boolean functions where reasonable lower bounds on approximate degree is unknown?" Tags="&lt;boolean-functions&gt;&lt;polynomials&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="31700" PostTypeId="2" ParentId="31697" CreationDate="2015-06-05T14:12:38.207" Score="4" Body="&lt;p&gt;If I understand correctly you are asking about the relationship between the degree necessary for exact representation and the degree necessary for approximate representation.  &lt;a href=&quot;http://www.cs.huji.ac.il/~noam/degree.ps&quot; rel=&quot;nofollow&quot;&gt;The seminal paper by Nisan and Szegedy&lt;/a&gt; shows that for $\epsilon$ constant these degrees are polynomially related.&lt;/p&gt;&#xA;" OwnerUserId="259" LastActivityDate="2015-06-05T14:12:38.207" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="31701" PostTypeId="2" ParentId="31656" CreationDate="2015-06-05T17:45:08.613" Score="9" Body="&lt;p&gt;Here is a simple protocol for Hamming distance that uses $O(\varepsilon^{-2} \log n)$ bits. The protocol is essentially the Alon, Matias, Szegedy second moment sketch. Or you can think of it as a version of the Johnson-Lindenstrauss lemma.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am assuming that Alice has a vector $x \in \{0,1\}^n$ and Bob has a vector $y \in \{0,1\}^n$, and they share randomness. Notice that the Hamming distance between $x$ and $y$ is equal to $\|x-y\|_2^2$. Using the shared randomness Alice and Bob sample a $\varepsilon^{-2} \times n$ matrix $\Sigma$ of IID unbiased $\pm 1$ random variables. The Alice sends $\Sigma x$ and Bob outputs $\varepsilon^{-2}\|\Sigma (x - y)\|_2^2$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the analysis notice that $\mathbb{E}[\varepsilon^{-2}\|\Sigma (x - y)\|_2^2] = \|x-y\|_2^2$, so the output is an unbiased estimator of $\|x-y\|_2^2$. Because the rows of $\Sigma$ are IID,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;\mathrm{Var}[\varepsilon^{-2}\|\Sigma(x-y)\|_2^2] = \varepsilon^{-2} \mathrm{Var}\left[\left(\sum_{i=1}^n{\sigma_i (x-y)}\right)^2\right],&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where $\sigma_1, \ldots, \sigma_n$ are IID unbiased $\pm 1$ random variables. Then, by &lt;a href=&quot;http://en.wikipedia.org/wiki/Khintchine_inequality&quot;&gt;Khintchine's inequality&lt;/a&gt;, for a constant C&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;\begin{align*}&#xA;\mathrm{Var}\left[\left(\sum_{i=1}^n{\sigma_i (x-y)}\right)^2\right] &amp;amp;\leq \mathbb{E}\left[\left(\sum_{i=1}^n{\sigma_i (x-y)}\right)^4\right] \\&#xA;&amp;amp;\leq C \mathbb{E}\left[\left(\sum_{i=1}^n{\sigma_i (x-y)}\right)^2\right]^2 \\&#xA;&amp;amp;= C\|x-y\|_2^4.&#xA;\end{align*}&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, by Chebyshev, with constant probability the output of the protocol is a $1+O(\varepsilon)$ approximation to $\|x-y\|_2^2$, which is equal to the Hamming distance.&lt;/p&gt;&#xA;" OwnerUserId="4896" LastEditorUserId="4896" LastEditDate="2015-06-05T17:50:45.270" LastActivityDate="2015-06-05T17:50:45.270" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="31702" PostTypeId="1" AcceptedAnswerId="31703" CreationDate="2015-06-05T21:17:13.440" Score="13" ViewCount="369" Body="&lt;p&gt;I am interested in understanding the structure of the class of graphs $G$ such that there is no vertex induced subgraph on four vertices that is a perfect matching. Stated differently for any four vertices $a,b,c,d$ in $G$ if $ab$ and $cd$ are edges then the graph should have at least one more edge on the four vertices. Has this class been studied previously? Any references or insights would be appreciated. We understand this class when restricted to bipartite graphs but the general case seems more tricky. &lt;/p&gt;&#xA;" OwnerUserId="176" LastActivityDate="2015-06-05T22:13:31.420" Title="Structure of graphs that exclude a perfect matching on four vertices as an induced graph" Tags="&lt;graph-theory&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31703" PostTypeId="2" ParentId="31702" CreationDate="2015-06-05T22:13:31.420" Score="18" Body="&lt;p&gt;Yes; they are known as &lt;a href=&quot;http://www.graphclasses.org/classes/gc_394.html&quot;&gt;$2K_2$-free graphs&lt;/a&gt;. Some additional references:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&quot;&lt;a href=&quot;http://dx.doi.org/10.1002/jgt.21734&quot;&gt;On Toughness and Hamiltonicity of $2K_2$-Free Graphs&lt;/a&gt;&quot;&lt;/li&gt;&#xA;&lt;li&gt;&quot;&lt;a href=&quot;http://dx.doi.org/10.1016/0012-365X(90)90144-7&quot;&gt;The maximum number of edges in $2K_2$-free graphs of bounded degree&lt;/a&gt;&quot;;&lt;/li&gt;&#xA;&lt;li&gt;&quot;&lt;a href=&quot;http://dx.doi.org/10.1016/j.disc.2006.07.001&quot;&gt;Two characterisations of minimal triangulations of $2_{K2}$-free graphs&lt;/a&gt;&quot;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="95" LastActivityDate="2015-06-05T22:13:31.420" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31704" PostTypeId="1" CreationDate="2015-06-06T08:29:31.177" Score="1" ViewCount="72" Body="&lt;p&gt;In any graph of n nodes in any dimension, define matrix $M_r$ of ranking as $\forall r_{ij}\in M_r$, $r_{ij}$ is the ranking of j to i. That is, j is the $r_{ij}$th nearest node to i. Therefore, any row in $M_r$ is a permutation of {1,2,...,n} if we assume no ties, and $r_{ii}=1,\forall i$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I wonder whether there are any more properties of this kind of matrix. For example, is all kinds of permutation possible? Thanks a lot!&lt;/p&gt;&#xA;" OwnerUserId="34291" LastActivityDate="2015-06-06T08:29:31.177" Title="Matrix of ranking" Tags="&lt;graph-theory&gt;&lt;matrices&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31705" PostTypeId="2" ParentId="31593" CreationDate="2015-06-06T23:05:00.020" Score="3" Body="&lt;p&gt;A few good candidates off the top of my head:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Every NFA has an equivalent DFA&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;There exists a finite field of size $p$ or $p^i$ where $i \in \mathbb{N}$ and $i &amp;gt; 0$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Public key cryptography&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Calling to a function with encrypted arguments and receiving the desired result without revealing information about your inputs&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;RSA encrpytion&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Reed-Solomon codes&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Countability&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;$|\mathbb{N}| = |\mathbb{Z}| = |\mathbb{N} \times \mathbb{N}| = |\mathbb{Q}|$&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The set of elements in the language $\{0,1\}^*$ is countable, but $\mathbb{R}$ is uncountable (Cantor's diagonalization)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Cantor's Theorem: $|S| &amp;lt; |\mathcal{P}(S)|$&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;On a more philosophical level, it astonished me that Turing machines accurately define computation&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="34370" LastActivityDate="2015-06-06T23:05:00.020" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31708" PostTypeId="1" AcceptedAnswerId="32255" CreationDate="2015-06-07T05:17:26.030" Score="4" ViewCount="186" Body="&lt;p&gt;Consider an &lt;a href=&quot;http://en.wikipedia.org/wiki/Independence_system&quot; rel=&quot;nofollow&quot;&gt;independence system&lt;/a&gt; $(E,\mathcal{I})$, and the corresponding polytope:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$P(E,\mathcal{I}):=\operatorname{conv.hull}\{ x^S ~|~S\in \mathcal{I}\}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where $x^S \in \{0,1\}^E$ denotes the characteristic vector of $S$. A &lt;em&gt;rank inequality&lt;/em&gt; has the form $\sum_{i \in S} x_i \le r(S)$, where $S\subseteq E$ and $r(S):=\max\{ |A| : A \subseteq S,~ A \in \mathcal{I}  \}$. Let's say that the nonnegativity bounds $-x_i \le 0,~i \in E$ are trivial.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(1) When is it true that all nontrivial facets of $P(E,\mathcal{I})$ come from rank inequalities? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is known, for example, that if $(E,\mathcal{I})$ is a matroid, or the intersection of two matroids, then all nontrivial facets of $P(E,\mathcal{I})$ come from rank inequalities. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;(2) Does the converse hold, i.e., if all nontrivial facets of $P(E,\mathcal{I})$ come from rank inequalities, then $(E,\mathcal{I})$ can be written as the intersection of two matroids?&lt;/p&gt;&#xA;" OwnerUserId="13056" LastEditorUserId="13056" LastEditDate="2015-06-07T19:18:37.930" LastActivityDate="2015-08-12T15:06:42.610" Title="When are all facets rank facets? (for independence system polyhedra)" Tags="&lt;independence&gt;&lt;polytope&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31710" PostTypeId="1" CreationDate="2015-06-07T11:09:14.637" Score="1" ViewCount="136" Body="&lt;p&gt;In &lt;a href=&quot;https://cstheory.stackexchange.com/questions/2800/if-p-np-could-we-obtain-proofs-of-goldbachs-conjecture-etc&quot;&gt;If P=NP, could we obtain proofs of Goldbach&amp;#39;s Conjecture etc.?&lt;/a&gt; it talks about the hypothetical world where P=NP and using the proof of it to prove a problem/theorem assuming that it has a short proof. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;But what exactly is the restriction imposed on problems/theorems? Do they have to be describable in $\Pi_1$ to use Levin's universal search? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If so, can the question like Navier-Stokes existence and smoothness problem be statble in $\Pi_1$? &lt;/p&gt;&#xA;" OwnerUserId="34376" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2015-06-07T15:42:42.997" Title="Do problems have to be statable in $\Pi_1$ to use Levin's universal search to find short proofs if P=NP" Tags="&lt;cc.complexity-theory&gt;&lt;proof-complexity&gt;&lt;descriptive-complexity&gt;&lt;automated-theorem-proving&gt;" AnswerCount="0" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="31713" PostTypeId="1" CreationDate="2015-06-07T21:49:07.597" Score="-1" ViewCount="290" Body="&lt;p&gt;Consider the polytope&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$P=\{(x_1,x_2,...,x_n)\in \mathbb{R}^n| \sum_{i=1}^n x_i=1; 0\leq a_i\leq x_i\leq b_i, i=1,...,n\}$ &lt;/p&gt;&#xA;&#xA;&lt;p&gt;where $a_i$ and $b_i$ are constant lower and upper bounds for $x_i$. Is it true that the number of extreme points of $P$ is $O(n)$?&lt;/p&gt;&#xA;" OwnerUserId="10119" LastActivityDate="2015-06-07T23:11:06.340" Title="Vertices of a polytope" Tags="&lt;cc.complexity-theory&gt;&lt;linear-algebra&gt;&lt;linear-programming&gt;&lt;computational-geometry&gt;&lt;polytope&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31714" PostTypeId="2" ParentId="31713" CreationDate="2015-06-07T23:11:06.340" Score="8" Body="&lt;p&gt;No. Suppose all $a_i$'s are $0$ and all your $b_i$'s are equal; then the polytopes you can get by varying the $b_i$'s are essentially the &lt;a href=&quot;https://en.wikipedia.org/wiki/Hypersimplex&quot;&gt;hypersimplices&lt;/a&gt;. But the number of vertices of an $n$-dimensional hypersimplex can be any binomial coefficient $\binom{n}{k}$. In particular choosing $k=n/2$ gives an exponential number of extreme points.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2015-06-07T23:11:06.340" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="31715" PostTypeId="1" CreationDate="2015-06-08T08:42:08.157" Score="8" ViewCount="272" Body="&lt;p&gt;Is communication complexity (CC) the only known approach for streaming algorithms lower bounds? Are there any other techniques, even if &lt;em&gt;conditional&lt;/em&gt; lower bounds?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In general, are we satisfied with the progress achieved via CC? Or seeking alternative techniques (even if conditional) would be an interesting direction? &lt;/p&gt;&#xA;" OwnerUserId="34384" LastActivityDate="2015-06-09T19:16:48.543" Title="New Space Lower-Bound Techniques for Streaming Algorithms" Tags="&lt;lower-bounds&gt;&lt;streaming-algorithms&gt;&lt;proof-techniques&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="31716" PostTypeId="2" ParentId="31715" CreationDate="2015-06-08T13:44:22.627" Score="3" Body="&lt;p&gt;While not new, (and depending on what you consider to be &quot;streaming algorithms&quot;), a standard lower bound technique is picking a (as large as possible) set of inputs, and proving that each has to lead the algorithm to a distinct memory configuration. The implied lower bound is then the log of the number of such inputs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, &lt;a href=&quot;http://ilpubs.stanford.edu/504/1/2001-34.pdf&quot; rel=&quot;nofollow&quot;&gt;Datar et al.&lt;/a&gt; showed (Section 3) an $\Omega(\epsilon^{-1}\log^2 N\epsilon)$ lower bound for computing a $(1+\epsilon)$-approximation for the number of ones in the last $N$ bits of a binary stream. &lt;/p&gt;&#xA;" OwnerUserId="21001" LastEditorUserId="21001" LastEditDate="2015-06-09T09:38:42.067" LastActivityDate="2015-06-09T09:38:42.067" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31717" PostTypeId="1" AcceptedAnswerId="31718" CreationDate="2015-06-08T13:57:49.567" Score="9" ViewCount="1574" Body="&lt;p&gt;If I understand correctly, to prove that problem $A$ is NP hard, you need to pick all possible problems $B_{i}$ that are in NP and then prove that they reduce to $A$ by using a polynomial time computable function, that maps instances of each $B_{i}$ to instances of $A$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Once you find the first NP hard problem, by using reductions you can then find that many other problems are either NP Complete or NP Hard. However I imagine that this depends. If you are unlucky, then maybe all $B_{i}$ problems reduce to $A$, but $A$ reduces nowhere else, so your proof is essentially useless.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is about the motivation that Stephen Cook behind showing that the SAT problem is NP hard. Did he see a lot of potential behind this problem? Did he know that if he showed that this problem is NP hard then a lot of other problems could be shown to be NP hard as well?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In short, what is the story behind this proof? Because after studying some basic complexity theory, it really seems like this proof was one of the most significant ones in this area. &lt;/p&gt;&#xA;" OwnerUserId="34388" LastEditorUserId="3984" LastEditDate="2015-06-08T14:40:20.457" LastActivityDate="2015-06-08T14:40:20.457" Title="Did Stephen Cook see the significance of showing that SAT is NP-Hard before actually proving it?" Tags="&lt;soft-question&gt;&lt;ho.history-overview&gt;&lt;cook-levin&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="31718" PostTypeId="2" ParentId="31717" CreationDate="2015-06-08T14:35:12.027" Score="17" Body="&lt;p&gt;First of all, Cook actually showed that the problem of whether a logical expression is a tautology is $\mathbb{NP}$-complete under Cook &lt;a href=&quot;http://en.wikipedia.org/wiki/Polynomial-time_reduction#Types_of_reduction&quot;&gt;reductions&lt;/a&gt;. The proof however works by replacing them with Karp reductions to show that $SAT$ is $\mathbb{NP}$-complete, in the modern sense of the term.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As for whether Cook understood the significance of a $\mathbb{NP}$-complete problem not being in $\mathbb{P}$, going through the actual &lt;a href=&quot;https://www.cs.toronto.edu/~sacook/homepage/1971.pdf&quot;&gt;paper&lt;/a&gt;  shows that he did. However, I believe it wasn't until Karp's &lt;a href=&quot;http://en.wikipedia.org/wiki/Karp%27s_21_NP-complete_problems&quot;&gt;list of 21 complete problems&lt;/a&gt; that the practical significance of Cook's result began to be understood. &lt;/p&gt;&#xA;" OwnerUserId="879" LastActivityDate="2015-06-08T14:35:12.027" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31724" PostTypeId="1" AcceptedAnswerId="31727" CreationDate="2015-06-09T00:05:15.250" Score="1" ViewCount="237" Body="&lt;p&gt;I want to prove that the following optimization problem is NP-Hard.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;max $\prod_{i = 1}^{N} \frac{\left[\sum_{j =1}^M x_j \mathcal{R}_{ij}\right]^2}{ \sum_{j=1}^M x_j}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;subject to&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$x_j \in \{0,1\}\text{  } \forall j$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\sum_{j=1}^M x_j \le T$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;given&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$R_{ij} \in \{0,1\}\text{ } \forall i,j$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As you can see the expression is quite unwieldy, and there does not seem to be any clear way to proceed with the reduction. I tried variants of Knapsack (which seemed closest), as well as other standard reductions but nothing seems to work very easily. The fractional form of the expression, combined with the product makes it quite hard to do reductions. Any help is appreciated!&lt;/p&gt;&#xA;" OwnerUserId="34397" LastActivityDate="2015-06-09T04:05:40.747" Title="NP-Hardness for an optimization problem" Tags="&lt;np-hardness&gt;&lt;optimization&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31727" PostTypeId="2" ParentId="31724" CreationDate="2015-06-09T04:05:40.747" Score="1" Body="&lt;h1&gt;Problem Clarifications&lt;/h1&gt;&#xA;&#xA;&lt;p&gt;There's a few things worth mentioning about the problem you asked. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;First of all, we need to make sure that the expression you are maximizing is well defined, so the denominator must be non-zero. Simply adding the constraint that $\sum_{j=1}^Mx_j \ge 1$ is enough.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Second, I'd rather not get into the problem of talking about whether an optimization problem is NP-hard, so I'm going to explicitly state a decision version of the problem and then the rest of this answer will talk about that.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the decision problem, the following are the inputs (note: variables follow the naming scheme from the question except $G$ which I introduce here and stands for &quot;goal&quot;):&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Two positive integers $N$ and $M$&lt;/li&gt;&#xA;&lt;li&gt;A collection of values $R_{ij}\in\{0,1\}$ specified for every pair of $i$ and $j$ with $1 \le i \le N$ and $1 \le j \le M$&lt;/li&gt;&#xA;&lt;li&gt;A positive integer $T$&lt;/li&gt;&#xA;&lt;li&gt;A value $G$&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;And the output is yes if and only if there exists an assignment of values to the variables $x_j$ for $1 \le j \le M$ such that &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;for all $1 \le j \le M$, $x_j \in \{0,1\}$ and&lt;/li&gt;&#xA;&lt;li&gt;$1 \le \sum_{j=1}^Mx_j \le T$ and&lt;/li&gt;&#xA;&lt;li&gt;$\prod_{i=1}^N\left(\frac{\left(\sum_{j=1}^Mx_jR_{ij}\right)^2}{\sum_{j=1}^Mx_j}\right) &amp;gt; G$ &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;h1&gt;This problem is NP-hard&lt;/h1&gt;&#xA;&#xA;&lt;h2&gt;Reduction&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;We prove this by reduction from dominating set. The dominating set problem asks for a given graph and number $k$ whether some choice of $k$ vertices has the property that every vertex in the graph is either chosen or next to a chosen vertex.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose we are given an instance of dominating set consisting of a graph $G = (V, E)$ and a number $k$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For convenience, label the vertices of $G$ as $v_1, v_2, ..., v_{|V|}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then we construct an instance of the problem in question as follows:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$N = M = |V|$&lt;/li&gt;&#xA;&lt;li&gt;$R_{ij} = 1$ if and only if $(v_i, v_j) \in E$ or $i=j$&lt;/li&gt;&#xA;&lt;li&gt;$T = k$&lt;/li&gt;&#xA;&lt;li&gt;$G = 0$&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;h2&gt;Polynomial Time&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;Very little needs to be done in the reduction to construct the instance, so this reduction is clearly polynomial time.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Answer preserving&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;Every instance generated by this reduction has $G = 0$. Therefore the condition that $\prod_{i=1}^N\left(\frac{\left(\sum_{j=1}^Mx_jR_{ij}\right)^2}{\sum_{j=1}^Mx_j}\right) &amp;gt; G$ is equivalent to the condition that for every $i$ with $1 \le i \le N$, $\sum_{j=1}^Mx_jR_{ij} \ne 0$. That in turn is equivalent to the condition that for all $i =1, ..., N$, there exists some $j \in \{1, ..., M\}$ such that $x_j = R_{ij} = 1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In other words, once we work in the fact that $N = M = |V|$ and $T = k$, we see that the instance is a yes instance if and only if there exists an assignment of zeros and ones to the variables $x_j$ such that &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;at least one and at most $k$ values of $j$ have $x_j = 1$ and&lt;/li&gt;&#xA;&lt;li&gt;for all $i =1, ..., |V|$, there exists some $j \in \{1, ..., |V|\}$ such that $x_j = R_{ij} = 1$&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;That in turn is equivalent to choosing between $1$ and $k$ indices (the ones for which $x_j = 1$) such that for all $i =1, ..., |V|$, some one of the chosen indices $j$ has $R_{ij} = 1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But $R_{ij} = 1$ if and only if $i = j$ or $(v_i, v_j) \in E$. Thus solving the instance is equivalent to choosing between $1$ and $k$ indices from $1$ to $|V|$ such that for every $i$, either $i$ is chosen or $v_i$ is adjacent in $G$ to some $v_j$ with j chosen.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Restating this one last time, the answer to the instance generated by the reduction is the same as the answer to the following question: is it possible to choose between $1$ and $k$ vertices in $G$ such that each vertex is either chosen or adjacent to a chosen vertex. This is the original dominating set instance.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We have shown that the reduction is answer preserving, so this concludes the proof that the decision problem in question is NP-hard.&lt;/p&gt;&#xA;" OwnerUserId="34401" LastActivityDate="2015-06-09T04:05:40.747" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31730" PostTypeId="1" AcceptedAnswerId="31734" CreationDate="2015-06-09T13:57:01.907" Score="12" ViewCount="341" Body="&lt;p&gt;Let $k$ be fixed, and let $G$ be a (connected) graph. If I'm not mistaken, it follows from the work of Bodlaender [1, Theorem 3.11] that if the treewidth of $G$ is roughly at least $2k^3$, then $G$ contains a star $K_{1,k}$ as a minor. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can we make the term $2k^3$ smaller? That is, does say treewidth at least $k$ already imply the existence of a $K_{1,k}$-minor? Is there a proof somewhere?&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;[1] &lt;a href=&quot;http://195.134.81.187/data/courses/treewidth/1-s2.0-S0196677483710011-main.pdf&quot;&gt;Bodlaender, H. L. (1993). On linear time minor tests with depth-first search. Journal of Algorithms, 14(1), 1-23.&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="5693" LastActivityDate="2015-06-10T09:43:42.800" Title="Does treewidth $k$ imply the existence of a $K_{1,k}$ minor?" Tags="&lt;graph-theory&gt;&lt;treewidth&gt;&lt;graph-minor&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="31732" PostTypeId="2" ParentId="7042" CreationDate="2015-06-09T15:25:03.120" Score="1" Body="&lt;p&gt;&lt;strong&gt;Spaghetti sort is at least $O(p)$ where $p$ is the length of the&#xA;longuest spaghetto.&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In order to sort spaghetti, you must level them onto a table. If you&#xA;consider the longest spaghetto, it has to slide down until its bottom&#xA;touches the table, at which point a reaction force will propagate from&#xA;the bottom up so that the whole spaghetto stops, including its top&#xA;end. But propagation from bottom to top cannot be faster than the&#xA;speed of light, hence it has to be proportional to the length of the&#xA;spaghetto.&lt;/p&gt;&#xA;" OwnerUserId="16132" LastActivityDate="2015-06-09T15:25:03.120" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31734" PostTypeId="2" ParentId="31730" CreationDate="2015-06-09T18:00:35.823" Score="15" Body="&lt;p&gt;It is indeed true that every graph $G$ with no $K_{1,k}$ minor has treewidth at most $k-1$. We prove this below, first a few definitions:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $tw(G)$ be the treewidth of $G$ and $\omega(G)$ be the maximum size of a clique in $G$. A graph $H$ is a triangulation of $G$ if $G$ is a subgraph of $H$ and $H$ is chordal (i.e has no induced cycles on at least $4$ vertices). A triangulation $H$ of $G$ is a minimal triangulation if no proper subgraph of $H$ is also a triangulation of $G$. A subset $X$ of vertices of $G$ is a &lt;em&gt;potential maximal clique&lt;/em&gt; if there exists a minimal triangulation $H$ of $G$ such that $X$ is a maximal clique of $H$. It is well known that&#xA;$$tw(G) = \min_{H} \omega(H) - 1$$&#xA;Here, the minimum is taken over all minimal triangulations $H$ of $G$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The above formula implies that to prove that $tw(G) \leq k-1$ it is sufficient to prove that all potential maximal cliques of $G$ have size at most $k$. We now prove this. Let $X$ be a potential maximal clique of $G$, and suppose that $|X| \geq k+1$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;We will use the following characterization of potential maximal cliques: a vertex set $X$ is a potential maximal clique in $G$ if, and only if, for every pair $u$, $v$ of non-adjacent (distinct) vertices in $X$ there is a path $P_{u,v}$ from $u$ to $v$ in $G$ with all its internal vertices outside of $X$. This characterization can be found in the paper &lt;a href=&quot;http://epubs.siam.org/doi/abs/10.1137/S0097539799359683&quot;&gt;Treewidth and Minimum Fill-in: Grouping the Minimal Separators&lt;/a&gt; by Bouchitte and Todinca.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;With this characterization it is easy to derive a $K_{1,k}$ minor from $X$. Let $u \in X$. For every vertex $v \in X \setminus \{u\}$, either $uv$ is an edge of $G$ or there is a path $P_{u,v}$ from $u$ to $v$ with all internal vertices outside $X$. For all $v \in X$ that are non-adjacent to $u$ contract all the internal vertices of $P_{u,v}$ into $u$. We end up with a minor of $G$ in which $u$ is adjacent to all of $X$, and $|X| \geq k+1$. So the degree of $u$ in this minor is at least $k$, completing the proof. &lt;/p&gt;&#xA;" OwnerUserId="27464" LastEditorUserId="27464" LastEditDate="2015-06-10T09:43:42.800" LastActivityDate="2015-06-10T09:43:42.800" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="31735" PostTypeId="2" ParentId="31715" CreationDate="2015-06-09T19:16:48.543" Score="4" Body="&lt;p&gt;A recent &lt;a href=&quot;http://www.cs.princeton.edu/~hlnguyen/papers/lnw14b.pdf&quot; rel=&quot;nofollow&quot;&gt;result of Li, Nguyen, and Woodruff&lt;/a&gt; shows that for any streaming algorithm in the turnstile model (where the stream consists of insertions and deletions of elements) there exists an algorithm that works by only maintaining a linear sketch and uses only slightly more space. So to prove a space lower bound in the turnstile model it is (up to some logarithmic factors) enough to prove a space lower bound for linear sketches. These can be easier to prove, for example by proving a communication lower bound in the simultaneous communication model rather than in the one-way model, or by more directly working with the linear structure of the sketch: check the paper for a lower bound on the space complexity of frequency moments proved this way.&lt;/p&gt;&#xA;" OwnerUserId="4896" LastActivityDate="2015-06-09T19:16:48.543" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31737" PostTypeId="2" ParentId="31625" CreationDate="2015-06-09T21:02:30.290" Score="6" Body="&lt;p&gt;I believe the $\epsilon$-approximate degree of AND is known (up to constants) and is&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;$\text{deg}_{\epsilon}(\text{AND}_n)= \Theta(\sqrt{n\log(1/\epsilon)})$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Indeed, the degree gets higher as you demand better approximations, eventually reaching $\Omega(n)$ once you want exponentially small error.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This result has probably been reproved many times in the literature. One paper that proves both the upper and lower bound is the following:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;R. de Wolf. A note on quantum algorithms and the minimal degree of epsilon-error polynomials for symmetric functions.&#xA;  In Quantum Information and Computation, 8(10):943-950, 2008. quant-ph/0802.1816 &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="206" LastActivityDate="2015-06-09T21:02:30.290" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31738" PostTypeId="2" ParentId="31559" CreationDate="2015-06-10T01:04:40.853" Score="13" Body="&lt;p&gt;I believe the problem to be coNP-complete.&#xA;I have uploaded it as an arXiv &lt;a href=&quot;http://arxiv.org/abs/1506.05079&quot; rel=&quot;nofollow&quot;&gt;preprint&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="34407" LastEditorUserId="34407" LastEditDate="2015-06-18T09:43:39.410" LastActivityDate="2015-06-18T09:43:39.410" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="31742" PostTypeId="1" AcceptedAnswerId="31852" CreationDate="2015-06-10T12:59:03.867" Score="4" ViewCount="110" Body="&lt;p&gt;Roughly speaking, in &lt;a href=&quot;http://www.cs.berkeley.edu/~jrs/papers/2dj.pdf&quot; rel=&quot;nofollow&quot;&gt;Ruppert's Delaunay Triangulation refinement algorithm&lt;/a&gt;, so called &lt;em&gt;encroached edges&lt;/em&gt; are split until no more encroached edges remain.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The algorithm specifies splitting the edges at their midpoint (except in the case of small input angles where &lt;em&gt;concentric circular shells&lt;/em&gt; are suggested. This question is unrelated to these cases.) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In certain domains, given a segment, there are points on the segment that I would prefer to split on that are not necessarily the midpoints (unrelated to the concentric shell trick). These points are chosen based on some domain specific underlying data (considerations beyond the graph structure the algorithm is aware of). &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;What are the implications of splitting on non-midpoints?   &lt;/li&gt;&#xA;&lt;li&gt;What needs to be taken into consideration when selecting among several non-midpoint candidates?   &lt;/li&gt;&#xA;&lt;li&gt;Does splitting on non-midpoints affect any of the convergence properties&#xA;of the algorithm?&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Another way to ask this is: Are there split points that are &lt;em&gt;better&lt;/em&gt; (by some interesting measures) than the &lt;em&gt;a-priori&lt;/em&gt; selected midpoints?&lt;/p&gt;&#xA;" OwnerUserId="2949" LastEditorUserId="2949" LastEditDate="2015-06-12T06:20:53.630" LastActivityDate="2015-07-01T11:25:46.787" Title="Non-Midpoint Segment Splitting in Ruppert's Delaunay Triangulation Refinement Algorithm" Tags="&lt;cg.comp-geom&gt;&lt;computational-geometry&gt;&lt;delaunay-triangulation&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31743" PostTypeId="1" CreationDate="2015-06-10T15:47:03.183" Score="5" ViewCount="294" Body="&lt;p&gt;Any type $A: \mathcal{U}$ can be thought of as a homotopy type, or a sufficiently nice topological space up to homotopy equivalence. Now, manifolds are topological spaces with some extra structure.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some questions in manifold theory are still interesting up to homotopy, for example 2-manifolds are isomorphic whenever they are homotopy equivalent, and it is suspected that 4d extended &lt;a href=&quot;https://en.wikipedia.org/wiki/Topological_quantum_field_theory&quot; rel=&quot;noreferrer&quot;&gt;topological quantum field theories&lt;/a&gt; only carry homotopy information.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Other questions in manifold theory are exactly whether homotopy equivalence implies isomorphism under certain circumstances, for example the question of &lt;a href=&quot;https://en.wikipedia.org/wiki/Homotopy_sphere&quot; rel=&quot;noreferrer&quot;&gt;homotopy spheres&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So I'm wondering whether it's possible to define a predicate like $\text{IsManifold}: \mathcal{U} \to \mathcal{U}$, such that $\text{IsManifold}(A)$ is inhabited by possibilities of defining a manifold that is homotopy equivalent to $A$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As an application, we can define any homotopy invariant of manifolds (like the genus of surfaces) on types satisfying this predicate.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since in all generality, this is probably too much to ask for a start, so here is an easier version:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Surely it is feasible to define a type of simplicial sets $\text{sSet}$. Can we define a proposition $\text{IsManifold}': \text{sSet} \to \text{Bool}$ that decides whether the realisation of a given simplicial set is a manifold?&lt;/p&gt;&#xA;" OwnerUserId="32941" LastActivityDate="2015-06-15T21:35:04.440" Title="In homotopy type theory, is there a IsManifold predicate?" Tags="&lt;homotopy-type-theory&gt;" AnswerCount="2" CommentCount="11" ContentLicense="CC BY-SA 3.0" />
  <row Id="31745" PostTypeId="1" CreationDate="2015-06-11T00:56:01.210" Score="15" ViewCount="990" Body="&lt;p&gt;Suppose that a randomized algorithm uses $r$ random bits. The lowest error probability one can expect (falling short of a deterministic algorithm with 0 error) is $2^{-\Omega(r)}$. Which randomized algorithms achieve such minimal error probability?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A couple of examples that come to mind are: &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Sampling algorithms, e.g., where one wants to estimate the size of a&#xA;set for which one can check membership. If one samples uniformly at&#xA;random the elements to check, the Chernoff bound guarantees an&#xA;exponentially small error probability. &lt;/li&gt;&#xA;&lt;li&gt;The Karger-Klein-Tarjan algorithm for computing minimum spanning tree. The algorithm picks each edge with probability 1/2, and recursively finds the MST in the sample. One can use Chernoff to argue that it's exponentially unlikely there'll be 2n+0.1m of the edges that are better than the tree (i.e., one would prefer to take them over one of the tree edges).&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Can you think of other examples?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Following Andras' answer below:&lt;/strong&gt; Indeed, every polynomial time algorithm can be converted to a &lt;em&gt;slower&lt;/em&gt; polynomial time algorithm with exponentially small error probability. My focus is on algorithms that are as efficient as possible. In particular, for the two examples I gave there are &lt;em&gt;deterministic&lt;/em&gt; polynomial time algorithms that solve the problems. The interest in the randomized algorithms is due to their efficiency. &lt;/p&gt;&#xA;" OwnerUserId="1621" LastEditorUserId="1621" LastEditDate="2015-06-13T00:02:03.453" LastActivityDate="2015-06-19T08:17:15.270" Title="Which randomized algorithms have exponentially small error probability?" Tags="&lt;randomized-algorithms&gt;" AnswerCount="2" CommentCount="6" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="31746" PostTypeId="2" ParentId="31743" CreationDate="2015-06-11T01:46:57.467" Score="0" Body="&lt;p&gt;The usual way that manifold theory gets turned into homotopy theory is transformative in nature. What I mean by this is that it is often possible to phrase questions of manifold theory in homotopy theory. That is not to say that the new objects of homotopy theory are necessarily manifolds (sometimes they are, sometimes they are not). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Homotopy type theory on the other hand declares that &quot;homotopic objects are equal&quot;. Now the problem with an isManifold predicate is that it is not a homotopy invariant notion. This means that you would have two equal (homotopic) objects, one which is a manifold, and the other which is not. So in that sense it is not a well define predicate. Again that is not to say that there is not an encoding of certain questions of manifold theory, but the underlying objects are no longer manifolds.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To see that being a manifold is not a homotopy invariant notion, take any manifold, and add a whisker that grows out of a point (in the case of a sphere, you get something that looks like a ballon with a string tied to it). At the point where the whisker is attached, the space loses the property of being locally Euclidian. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that you can define a notion of a manifold in simplicial sets. They would look something like PL manifolds. The Same problem will occur that there will be equal (homotopic) simplicial sets that are not manifolds.&lt;/p&gt;&#xA;" OwnerUserId="21811" LastActivityDate="2015-06-11T01:46:57.467" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31747" PostTypeId="2" ParentId="31745" CreationDate="2015-06-11T04:21:31.927" Score="18" Body="&lt;p&gt;Impagliazzo and Zuckerman proved (FOCS'89, see &lt;a href=&quot;http://www.computer.org/csdl/proceedings/focs/1989/1982/00/063486.pdf&quot;&gt;here&lt;/a&gt;) that if a BPP algorithm uses $r$ random bits to achieve a correctness probability of at least 2/3, then, applying random walks on expander graphs, this can be improved to a correctness probability of $1-2^{-k}$, using $O(r+k)$ random bits. (&lt;em&gt;Note:&lt;/em&gt; while the authors use the specific constant 2/3 in the abstract, it can be replaced with any other constant greater than 1/2.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we take $k=r$, this means  that &lt;strong&gt;any&lt;/strong&gt; BPP algorithm that achieves a constant error probability $&amp;lt; 1/2$, using $r$ random bits,  can be (non-trivially) improved to have error probability $2^{-\Omega(r)}$. Thus, (unless I misunderstood something), the error probability of $\leq 2^{-\Omega(r)}$ is achievable for &lt;em&gt;every&lt;/em&gt; problem in BPP.&lt;/p&gt;&#xA;" OwnerUserId="12710" LastActivityDate="2015-06-11T04:21:31.927" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31749" PostTypeId="1" AcceptedAnswerId="31752" CreationDate="2015-06-11T14:23:49.410" Score="3" ViewCount="320" Body="&lt;p&gt;I'm attending a course on Type Theory. The textbook is 'Types and Programming Languages' by Prof. Benjamin C. Pierce.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In Chapter 29, Prof. Pierce introduces 'type operator', which can generate another type with an input type. For example, 'Pair' can be a type operator which accepts any two types $X$ and $Y$ to form a type $Pair\; X\; Y$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, the 'type operator' itself is a type - a special type which is different from 'proper type' such as $Nat$ and $Nat \rightarrow Nat$. It seems that all 'proper types' have terms of it. For example, $Nat \rightarrow Nat$ has at least $(\lambda x : Nat. x)$. But type operator like $Pair$ does not have any term of it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Prof. Pierce doesn't explain why $Pair$ has no term. Why 'non-proper' types can be called a 'type' when it does not correspond to any collection of programming language terms?&lt;/p&gt;&#xA;" OwnerUserId="34426" LastEditorUserId="898" LastEditDate="2015-06-11T15:45:38.440" LastActivityDate="2015-06-12T07:32:59.583" Title="Why do non-proper types have no terms?" Tags="&lt;type-theory&gt;" AnswerCount="4" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31750" PostTypeId="2" ParentId="31749" CreationDate="2015-06-11T15:17:19.430" Score="2" Body="&lt;p&gt;The fact that a type operator doesn't describe a set of terms or values is precisely the reason that type operators aren't called proper types, but only improper types. Type operators are somewhat like types (because they are used for typing), but they are also somewhat unlike types (because they don't describe terms or values directly).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;BTW, all proper types describe a set of values or terms, but that doesn't mean the set has to actually contain any values or terms. A proper type might also describe an empty set!&lt;/p&gt;&#xA;" OwnerUserId="22209" LastActivityDate="2015-06-11T15:17:19.430" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="31751" PostTypeId="1" AcceptedAnswerId="31758" CreationDate="2015-06-11T15:21:21.480" Score="7" ViewCount="995" Body="&lt;p&gt;I have seen that there exists &lt;a href=&quot;http://theory.epfl.ch/courses/topicstcs/Lecture3.pdf&quot;&gt;$d$-left regular bipartite graphs&lt;/a&gt;. My question is do there exists $d$-regular bipartite expander graphs in which &lt;em&gt;both the degree of the left and the right vertices&lt;/em&gt; is exactly equal to $d$? If yes, is there any constructive proof for such graphs and what is the expansion factor? Kindly provide a reference as well.&lt;/p&gt;&#xA;" OwnerUserId="17773" LastActivityDate="2015-06-13T00:20:25.607" Title="$d$-regular bipartite expander graph" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;expanders&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="31752" PostTypeId="2" ParentId="31749" CreationDate="2015-06-11T15:39:17.820" Score="3" Body="&lt;p&gt;&lt;strong&gt;Counter-question:&lt;/strong&gt; why should every type be inhabited by a term? You could not have the Curry-Howard correspondence between typing systems and logic if every type was inhabited.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Concrete answer:&lt;/strong&gt; I don't have Pierce's book handy, but I think you are talking about the system $\lambda\underline{\omega}$ in &lt;a href=&quot;https://en.wikipedia.org/wiki/Lambda_cube&quot; rel=&quot;nofollow noreferrer&quot;&gt;Barendregt's $\lambda$-cube&lt;/a&gt;, a classification of typing systems along three orthogonal axes. (Please correct me if I'm wrong.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/H01bJ.png&quot; alt=&quot;Barendregt&amp;#39;s $\lambda$-cube.&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\lambda\underline{\omega}$ is the simplest extension of the simply typed $\lambda$-calculus allowing &lt;strong&gt;type-level computation&lt;/strong&gt;. Note that $\lambda\underline{\omega}$  doesn't have parametric polymorphism or&#xA;type dependency. One way of thinking about $\lambda\underline{\omega}$ is that type-level computation is carried out by having another $\lambda$-calculus, but this time at the type level.&#xA;You can think of type-level computation as being run at 'compile time'.&#xA; Why use a typed language to run type-level computation? Why not use the untyped $\lambda$-calculus at the type level? Because the things that could go wrong at the term level with untyped terms (e.g.  ill-formed programs like $3   + hello$) could now go wrong at the type level (e.g. $\mathbb{B}\; Pair$). So $\lambda\underline{\omega}$ needs a way of preventing ill-formed type-level computation. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;But how? Well, let's use the simply typed $\lambda$-calculus again, but now at the type-level, to carry out, and constrain type-level computation? In order to avoid terminological confusion, we speak of kinds of for this second simply typed $\lambda$-calculus. In summary:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Terms are classified by types.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Types are classified by kinds.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;(As an aside, you can iterate this and have kind-level computation in the same way and so on, but that's not done in $\lambda\underline{\omega}$.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So far, I've said that kinds classify types. That's another way of saying that well-formed programs for type-level computation inhabit kinds. In $\lambda\underline{\omega}$ kinds are given by the grammar &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;\newcommand{\TY}{\mathsf{Ty}}&#xA;\kappa\quad ::= \quad \TY\ \ |\ \  \kappa \rightarrow \kappa&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here $\kappa \rightarrow \kappa'$ is the kind of type-level functions such as&#xA;$\lambda t^{\kappa}. \mathbb{N} \rightarrow \kappa$.&#xA;But what is $\TY$?&#xA;Answer: the base kind. The kind that is inhabited by &#xA;all types that can potentially be inhabited by terms, e.g. types like $\mathbb{B}$&#xA;or $\mathbb{N} \rightarrow \mathbb{B}$. It is the only kind that is&#xA;inhabited by types. This gives  a neat classification of type-level programs into&#xA;types usable to be inhabited by terms, and type-level programs that are only used as components in the computation of such types.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Operators like $Pair$ are not kinded by $\TY$ and so cannot be&#xA;inhabited by terms. Instead $Pair$ has the kind $\TY$ $\rightarrow$&#xA;$\TY$ $\rightarrow$ $\TY$, which, by its very shape, cannot be&#xA;inhabited by types, it can only be used as a program  in a type-level&#xA;computation.  Now $\mathbb{N}$ (integers) and $\mathbb{B}$ (Booleans)&#xA;both are kinded $\TY$, hence the type level program $Pair&#xA;\;\mathbb{N} \;\mathbb{B}$ also has kind $\TY$ and can therefore be&#xA;inhabited by a program.&lt;/p&gt;&#xA;" OwnerUserId="898" LastEditorUserId="898" LastEditDate="2015-06-11T21:37:24.887" LastActivityDate="2015-06-11T21:37:24.887" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="31753" PostTypeId="2" ParentId="31749" CreationDate="2015-06-11T15:42:26.510" Score="6" Body="&lt;p&gt;The best way to understand this is to have a second level of &quot;types above types&quot; which we then call &lt;em&gt;kinds&lt;/em&gt;. Kinds can be formed by the following rules:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;code&gt;Type&lt;/code&gt; is a kind.&lt;/li&gt;&#xA;&lt;li&gt;If &lt;code&gt;K&lt;/code&gt; and &lt;code&gt;L&lt;/code&gt; are kinds then so is &lt;code&gt;K → L&lt;/code&gt;.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Kinds have elements:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;The elements of &lt;code&gt;Type&lt;/code&gt; are types, such as &lt;code&gt;nat&lt;/code&gt;, &lt;code&gt;bool&lt;/code&gt;, &lt;code&gt;nat → nat&lt;/code&gt;, &lt;code&gt;nat × nat&lt;/code&gt;, etc.&lt;/li&gt;&#xA;&lt;li&gt;The elements of &lt;code&gt;K → L&lt;/code&gt; are functions which map elements of &lt;code&gt;K&lt;/code&gt; to elements of &lt;code&gt;L&lt;/code&gt;.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;For instance, &lt;code&gt;Pair&lt;/code&gt; is an element of &lt;code&gt;Type → Type → Type&lt;/code&gt;. It is a &quot;kind-level&quot; function which maps types &lt;code&gt;A&lt;/code&gt; and &lt;code&gt;B&lt;/code&gt; to type &lt;code&gt;A × B&lt;/code&gt;. Another example is &lt;code&gt;List&lt;/code&gt; which is an element of &lt;code&gt;Type → Type&lt;/code&gt; and it maps a type &lt;code&gt;A&lt;/code&gt; to the type &lt;code&gt;List A&lt;/code&gt; of lists of &lt;code&gt;A&lt;/code&gt;s.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A very fancy kind is &lt;code&gt;(Type → Type) → Type&lt;/code&gt; which takes a function on types and returns a type. An example of this is &quot;recursive type definition&quot;. To see this, consider the most general form of a recursive type definition:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;type t = Φ(t)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;For instance, we could define lists of numbers like this (using OCaml notation):&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;type natlist = Nil | Cons of nat * natlist&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;This is a special case of the general recursive type definition if we take&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;Φ(a) = Nil | Cons of nat * a&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;We could actually define an operator &lt;code&gt;rectype&lt;/code&gt; and then write&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;type t = rectype Φ&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;to define the type &lt;code&gt;t&lt;/code&gt; which is equal to &lt;code&gt;Φ(t)&lt;/code&gt;. Now it takes a moment's thought that &lt;code&gt;rectype&lt;/code&gt; is of kind  &lt;code&gt;(Type → Type) → Type&lt;/code&gt;. (At this point, if you have never seen this before, you should be having a minor epiphany.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In Haskell &lt;code&gt;Type&lt;/code&gt; is written as &lt;code&gt;*&lt;/code&gt; so sometimes Haskell tells you that something has type &lt;code&gt;* → *&lt;/code&gt;. This means that the thing is a type-level function taking types to types. In Ocaml there are kinds under the hood but they are never shown to the user (well, kind of since they get exposed through module types).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Professor Pierce of course knows all these things much better than I do, but most likely at this point in the course he does not want to burden you with another layer of $\lambda$-calculus on top of $\lambda$-calculus. A quick and dirty solution is to just put all the kinds together in one big messy pile and call them &quot;improper types&quot;. The trouble with such things is that the smart students will get confused (and rightfully so).&lt;/p&gt;&#xA;" OwnerUserId="705" LastEditorUserId="34426" LastEditDate="2015-06-12T07:32:59.583" LastActivityDate="2015-06-12T07:32:59.583" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="31755" PostTypeId="1" CreationDate="2015-06-12T03:51:19.273" Score="1" ViewCount="632" Body="&lt;p&gt;For network protocols and/or file formats with fixed length fields, the grammar is fairly simple, and can be explained with a regular expression.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, for protocols with varying data lenghts, there is almost always a fixed-length field preceding the data that gives the length of that data.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Without going into details of protocol/format specifications, we can talk about its equivalents in grammar notation. For example, consider the following production rule:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;A -&amp;gt; anb^n&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;where 'a' is some fixed-length symbol, 'n' is a non-negative integer, and b^n is b repeated n times.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm having trouble understanding how such a rule can capture the fact that the value of 'n' is somehow related to how many b's are present in the sentence.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Where in the Chomsky hierarchy do such grammars lie? Also is it possible to automatically generate parsers for such grammars?&lt;/p&gt;&#xA;" OwnerUserId="34433" LastActivityDate="2015-06-12T08:30:35.257" Title="What is the grammar of network protocols and file formats?" Tags="&lt;grammars&gt;&lt;parsing&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31756" PostTypeId="2" ParentId="31749" CreationDate="2015-06-12T05:04:31.537" Score="0" Body="&lt;p&gt;Whether &quot;Pair&quot; is a type or not is mostly a naming question.  &quot;Pair&quot; is not a proper type in the sense that it makes no sense to talk about an object having type &quot;Pair&quot;, but &quot;Pair&quot; exists in the language where types are described, and for this reason it can be described as being a type expression.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;IOW, the language of types includes expressions like &quot;Int&quot; and &quot;Pair Int Int&quot; which are proper types, and this second expression is an instance of the general form &quot;t1 t2&quot; which is basically an application, but at the type-level.  So from this point of view &quot;Pair&quot; is an expression in the language of types, although it is not what is usually considered &quot;a type&quot; (which usually means &quot;a proper type&quot;).&lt;/p&gt;&#xA;" OwnerUserId="10632" LastActivityDate="2015-06-12T05:04:31.537" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="31757" PostTypeId="2" ParentId="31755" CreationDate="2015-06-12T08:30:35.257" Score="4" Body="&lt;p&gt;There is an international agreed notation for describing protocols and format specifications&#xA;(well actually there are several), which is &lt;a href=&quot;http://www.itu.int/en/ITU-T/asn1/Pages/introduction.aspx&quot; rel=&quot;nofollow&quot;&gt;ASN.1&lt;/a&gt;. It is a form of Context_free grammar notation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I used to teach formal notations for networking at one time, but these things have dropped out of the curriculum in favour of security ; which is interesting when a better understanding of the formalism might help enhance security.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is possible to generate code for handling protocols; and some is done that way. Using state machines for the protocol and notations like ASN.1 for the packet descriptions much can be automated, and has been in the past.&lt;/p&gt;&#xA;" OwnerUserId="34198" LastActivityDate="2015-06-12T08:30:35.257" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31758" PostTypeId="2" ParentId="31751" CreationDate="2015-06-12T08:56:33.293" Score="19" Body="&lt;p&gt;There is a simple construction: Take any $d$-regular &lt;em&gt;non-bipartite&lt;/em&gt; expander $G=(V,E)$ - there are several constructions of those, e.g., Margulis, or the Zig-Zag construction. Now, turn it into a bipartite graph $G' = (V_1 \cup V_2, E')$ as follows: $V_1$ and $V_2$ are copies of $V$. Two vertices $v_1 \in V_1$ and $v_2 \in V_2$ are adjacted in $G'$ if and only if the corresponding vertices in $G$ are adjacted. The expansion of $G'$ follows from the expansion of $G$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, one thing that should be noted is that the expansion factor in all those constructions is at most $d/2$. We do not have bipartite expanders that have a better expansion factor and are balanced (i.e. have degree $d$ on both sides).&lt;/p&gt;&#xA;" OwnerUserId="8429" LastEditorUserId="8429" LastEditDate="2015-06-13T00:20:25.607" LastActivityDate="2015-06-13T00:20:25.607" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31759" PostTypeId="1" CreationDate="2015-06-12T13:35:55.953" Score="2" ViewCount="47" Body="&lt;p&gt;We're trying to build a neural network that uses a neurofuzzy approach. Our reference is the book Adaptive Modelling, Estimation and Fusion from Data: A Neurofuzzy Approach by Chris Harris, Xia Hong, and Qiang Gan.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We're trying to compute the second order regularisation, which becomes a problem of finding a matrix K, which is related to the prior, is maybe called the smoother matrix, and &quot;represents the square of the sum of the curvature evaluated at the centre of the basis functions&quot;. The Hessian is equal to&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;    H = beta*A(transpose)*A + alpha*K&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;where A is a matrix from the basis functions and K is the matrix we're having trouble with. alpha/beta is the regularisation coefficient.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;All the resources I've come across suggest that K can be computed from the centres of the basis functions, except our basis functions are Bernstein polynomials, which are not radial basis functions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does anyone have any insight into how to compute K? Does anyone know of any examples of computing K when the basis functions aren't radial?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thank you so much&lt;/p&gt;&#xA;" OwnerUserId="34436" LastActivityDate="2015-06-12T13:35:55.953" Title="second order regularisation on a neurofuzzy network with Bernstein basis functions" Tags="&lt;machine-learning&gt;&lt;ne.neural-evol&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31760" PostTypeId="1" AcceptedAnswerId="31784" CreationDate="2015-06-12T21:49:42.010" Score="0" ViewCount="186" Body="&lt;p&gt;Suppose I have a DAG with non-negative edge lengths. The problem is to compute the minimum number of edges which disconnects all paths of length L or less. We call this &lt;strong&gt;L-length bounded minimum cardinality cut&lt;/strong&gt; problem on DAGs. It can naturally be extended to all directed graphs. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;There can be a further generalization where removing an edge has some associated cost. The L-length bounded min cut problem is finding the set of edges with minimum total weight that gives a &lt;strong&gt;L-length bounded min-cut&lt;/strong&gt;.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The &lt;strong&gt;L-length bounded min-cut&lt;/strong&gt; problem is known to be NP hard. In fact for a given budget it is NP hard to decide if there exists a length bounded cut which does not exceed the budget for series parallel graphs &lt;a href=&quot;http://kam.mff.cuni.cz/~kolman/papers/acmlcuts.pdf&quot; rel=&quot;nofollow&quot;&gt;[1]&lt;/a&gt;. So it holds for DAGs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In this paper &lt;a href=&quot;http://kam.mff.cuni.cz/~kolman/papers/acmlcuts.pdf&quot; rel=&quot;nofollow&quot;&gt;[1]&lt;/a&gt; it is showed that for directed graphs &lt;strong&gt;L-length bounded minimum cardinality cut&lt;/strong&gt; itself is NP hard to have an 1.1377 approximation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) Does there exist NP hardness result for &lt;strong&gt;L-length bounded minimum cardinality cut&lt;/strong&gt; on DAGs?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Or, &lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) Is there any polynomial time, w.r.t. the number of edges and vertices, algorithm to construct the &lt;strong&gt;L-length bounded minimum cardinality cut&lt;/strong&gt; on DAGs?  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;References: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;1: Baier, Georg, et al. &quot;Length-bounded cuts and flows.&quot; Automata, languages and programming. Springer Berlin Heidelberg, 2006. 679-690.&lt;/p&gt;&#xA;" OwnerUserId="34441" LastEditorUserId="34441" LastEditDate="2015-06-17T09:13:14.980" LastActivityDate="2015-06-17T09:13:14.980" Title="Length bounded minimum cardinality cut in DAGs" Tags="&lt;cc.complexity-theory&gt;&lt;graph-algorithms&gt;&lt;max-flow-min-cut&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="31763" PostTypeId="1" CreationDate="2015-06-13T06:12:16.313" Score="1" ViewCount="77" Body="&lt;p&gt;In many papers about DAG (directed-acyclic graph) scheduling in distributed systems, the authors make the assumption that the communication between the processors of the system where the DAG is scheduled is contention-free.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does that mean they assume that each communication link can transfer concurrently an infinite number of messages (connections) and each connection uses the full bandwidth of the communication link?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, in case there are 5 concurrent connections on a 100Mb/s communication link from processor A to processor B, the speed of each connection is assumed to be 100Mb/s instead of 20Mb/s (i.e. 100/5=20)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Many thanks in advance.&lt;/p&gt;&#xA;" OwnerUserId="34447" LastActivityDate="2015-07-17T11:36:38.923" Title="What does the contention-free communication assumption really mean in the context of DAG scheduling?" Tags="&lt;dc.distributed-comp&gt;&lt;directed-acyclic-graph&gt;&lt;scheduling&gt;&lt;network-modeling&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31767" PostTypeId="1" CreationDate="2015-06-15T08:25:29.113" Score="1" ViewCount="156" Body="&lt;p&gt;Let $R$ be a commutative ring. Let $f(x_1, \dots, x_n), g(x_1, \dots, x_n)$ be two multivariate polynomials with the same $x_i$-terms with maximal &lt;a href=&quot;https://math.stackexchange.com/questions/408491/total-degree-of-a-polynomial&quot;&gt;total degree&lt;/a&gt; $\delta$, but with different coefficients in $R$.&#xA;How fast can we compute the product of $f$ and $g$, i.e. the resulting coefficients of each term?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For univariate multiplication in a general setting like this, one can use variants of schonhage-strassen to achieve $O(\delta \log \delta \log\log \delta)$ (e.g. Theorem 8.23 in von zur Gathen &amp;amp; Gerhard, Modern Computer Algebra).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have only been able to find a &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=74556&quot; rel=&quot;nofollow noreferrer&quot;&gt;non-trivial algorithm&lt;/a&gt; for when $R$ is a field of characteristic 0, but not for $R$ being a general commutative ring.&lt;/p&gt;&#xA;" OwnerUserId="28999" LastEditorUserId="-1" LastEditDate="2017-04-13T12:19:19.363" LastActivityDate="2015-06-15T11:37:17.930" Title="Algorithm for multiplying multivariate polynomials in a commutative ring" Tags="&lt;co.combinatorics&gt;&lt;polynomials&gt;&lt;convolution&gt;" AnswerCount="0" CommentCount="12" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31771" PostTypeId="1" CreationDate="2015-06-15T14:43:01.820" Score="3" ViewCount="106" Body="&lt;p&gt;Let $G=(V,E)$ be an undirected, random $r$-regular graph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $s,t\in V$, and denote by $N(v)=\{u\in V\mid (u,v)\in E\}$ the neighborhood of $v$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm looking for the distribution of the number of neighbors of $t$ which are closest to $s$, that is, let&#xA;$$C = \text{argmin}_{u\in N(t)}d(s,u)$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;($d:V\times V\to \mathbb N$ is the unweighted distance function which counts the number of hops between the vertices, i.e., the length of the shortest path).&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;What is the distribution of $|C|$? (fixing $r$ and $n=|V|$)&lt;/strong&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;I'm also interested in a few simpler questions:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;What is $\mathbb E (|C|)$?&lt;/li&gt;&#xA;&lt;li&gt;What is $\Pr(|C| &amp;gt; 1)$?&lt;/li&gt;&#xA;&lt;li&gt;Can we find any of these quantities for $r=4$, which is especially interesting for me?&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;The motivation for the question comes from peer-to-peer routing networks (of a specific type, which can approximately be represented as regular graphs).&#xA;Assume that the source node $s$ broadcasts a message to all vertices such that every vertex propagates the message upon arrival. I'm interested in the number of nodes we need to query before we find a neighbor that received the message already.&lt;/p&gt;&#xA;" OwnerUserId="21001" LastEditorUserId="21001" LastEditDate="2015-06-16T13:20:30.410" LastActivityDate="2015-06-16T13:20:30.410" Title="How many neighbors does a vertex has which are closest to a source vertex in random regular graphs?" Tags="&lt;graph-theory&gt;&lt;randomness&gt;&lt;random-graphs&gt;" AnswerCount="0" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="31773" PostTypeId="2" ParentId="31743" CreationDate="2015-06-15T21:35:04.440" Score="3" Body="&lt;p&gt;I'm afraid I don't have a clear answer to your question. As I imagine you know, the basic definition of being a manifold cannot even be &lt;strong&gt;formulated&lt;/strong&gt; in HoTT, since it crucially relies on the &lt;em&gt;topology&lt;/em&gt; of the space in question, which does not exist for every type!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The primitive notion in HoTT is that of the &lt;em&gt;path space&lt;/em&gt; $I_X$ of a type $X$. But, as far as I know, this does not in general define a topology over $X$, which is required in the usual definition of manifolds.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another point is the &lt;em&gt;property vs structure&lt;/em&gt; problem that seems to underly your question. It is certainly possible to define a manifold &lt;em&gt;structure over a type&lt;/em&gt;: a manifold is a &lt;strong&gt;tuple&lt;/strong&gt; $(X, T, A)$ where $X$ is a type, $T$ is a topology over $X$, and $A$ is an &lt;em&gt;atlas&lt;/em&gt;, etc.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given such a structure (which may include proofs of the various properties that underlie the structure), you can of course ask whether it is &lt;em&gt;homotopy equivalent&lt;/em&gt; to another $Y$, as a homotopy type. This means that being a manifold is first defined as being a &lt;strong&gt;structure&lt;/strong&gt;, and only then can you ask the question whether another type has the &lt;strong&gt;property&lt;/strong&gt; of being homotopy equivalent to some manifold.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is just what you do in &quot;ordinary&quot; math though, and doesn't seem to nicely use the synthetic properties of HoTT. As far as I can tell, the machinery required to talk about manifolds in a synthetic way is still being worked out, and certainly hasn't been well explored yet in any of the current (semi-)implementations of HoTT. This is an exiting avenue of research though. It seems to be structural, and thus requires adding constructs to &quot;ordinary&quot; HoTT.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The most notable proponent of this approach is Urs Shreiber (though Mike Shulman certainly is a close second, and might be able to give a more informed answer), and some pointers can be found &lt;a href=&quot;http://ncatlab.org/nlab/show/formal+smooth+manifold&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt; and &lt;a href=&quot;http://ncatlab.org/nlab/show/cohesive+homotopy+type+theory&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt; (n-Cat Lab).&lt;/p&gt;&#xA;" OwnerUserId="3984" LastActivityDate="2015-06-15T21:35:04.440" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31775" PostTypeId="1" AcceptedAnswerId="31842" CreationDate="2015-06-16T11:23:42.873" Score="11" ViewCount="248" Body="&lt;p&gt;Given a set of hyperplanes determined by the normal vectors $h_1,\dots,h_m \in \mathbf R^d$, its &lt;em&gt;cell types&lt;/em&gt; (or sign vectors) are all vectors $t\in\{+,-\}^m$ for which there exists a vector $v\in\mathbf R^d$ so that $\langle v,h_i \rangle \neq 0$ and $t_i = \text{sign}( \langle v,h_i \rangle )$ holds for all $i$. Here, $\langle u,v\rangle$ denotes the inner product and $\text{sign}(x)$ denotes the sign ($+$ or $-$) of the non-zero real number $x$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question:&lt;/strong&gt; What is the fastest known algorithm for the inverse operation? Given a set $t_1,\dots,t_n$ of cell types, we want to compute some set of hyperplanes in as few dimensions as possible, so that its cell types are a superset of $t_1,\dots,t_n$.&lt;/p&gt;&#xA;" OwnerUserId="239" LastEditorUserId="4896" LastEditDate="2015-06-28T15:58:29.117" LastActivityDate="2015-06-28T15:58:29.117" Title="Compute lowest dimensional polytope from a given set of sign vectors" Tags="&lt;co.combinatorics&gt;&lt;cg.comp-geom&gt;&lt;computational-geometry&gt;&lt;metric-spaces&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31776" PostTypeId="2" ParentId="27582" CreationDate="2015-06-16T13:34:32.463" Score="2" Body="&lt;p&gt;I don't know about a method for analyzing an arbitrary given algorithm to come up with a cache policy in general (this sounds quite hard), but this is essentially what's been done (optimally, in an asymptotic sense) on a case-by-case basis for most known &lt;a href=&quot;https://en.wikipedia.org/wiki/Cache-oblivious_algorithm&quot; rel=&quot;nofollow&quot;&gt;&lt;strong&gt;cache-oblivious algorithms&lt;/strong&gt;&lt;/a&gt;, by analyzing their divide-and-conquer structure. Cache-oblivious algorithms are known for FFT, matrix multiplication, sorting, and a few others. See the &lt;a href=&quot;https://en.wikipedia.org/wiki/Cache-oblivious_algorithm&quot; rel=&quot;nofollow&quot;&gt;Wikipedia page&lt;/a&gt; and references therein.&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2015-06-16T13:34:32.463" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31777" PostTypeId="1" AcceptedAnswerId="31834" CreationDate="2015-06-16T14:45:36.870" Score="-4" ViewCount="231" Body="&lt;p&gt;I am trying to understand the demostration of intractability of the LCS problem, as stated as a reduction from Vertex-Cover problem, and so far, i'm stuck with the demostration of the problem in this paper from &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=322075&quot; rel=&quot;nofollow&quot;&gt;David Maier&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Anybody know some simple example to reduce LCS from Vertex-Cover?&lt;/p&gt;&#xA;" OwnerUserId="34476" LastActivityDate="2015-06-25T16:33:45.890" Title="How to reduce LCS from Vertex-Cover" Tags="&lt;np-complete&gt;" AnswerCount="1" CommentCount="1" ClosedDate="2015-06-25T22:25:08.650" ContentLicense="CC BY-SA 3.0" />
  <row Id="31778" PostTypeId="2" ParentId="1410" CreationDate="2015-06-16T19:12:47.577" Score="5" Body="&lt;p&gt;I've decided to turn all these answers in this thread (especially &#xA;Giorgio Camerani’s answer) into a nice table so that the duality is visible at a single glance:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;\begin{array} {r|c|c}&#xA;&amp;amp;\text{DNF} &amp;amp; \text{CNF} \\\hline&#xA;\text{tautology/unfalsifiability} &amp;amp; \textsf{coNP-complete} &amp;amp; \textsf{P} \; \tiny\text{(each clause has a pair of P and ¬P)} \\\hline&#xA;\text{satisfiability} &amp;amp; \textsf{P} \; \tiny\text{(sat. assignments are explicit)} &amp;amp; \textsf{NP-complete}\\\hline&#xA;\text{falsifiability} &amp;amp; \textsf{NP-complete} &amp;amp; \textsf{P} \; \tiny\text{(fals. assignments are explicit)} \\\hline&#xA;\text{unsatisfiability} &amp;amp; \textsf{P} \; \tiny\text{(each clause has a pair of P and ¬P)} &amp;amp; \textsf{coNP-complete} \\\hline&#xA;\tiny{\text{conversion to normal form, retaining equivalence}}  &amp;amp; (*)  &amp;amp; (*)  \\\hline&#xA;\tiny{\text{conversion to normal form, retaining satisfiability}} &amp;amp; (**) &amp;amp; \textsf{FP} \\\hline&#xA;\tiny{\text{conversion to normal form, retaining falsiability}} &amp;amp; \textsf{FP} &amp;amp; (**)&#xA;\end{array}&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$(*)$: These search problems, as well as DNF to CNF conversion (or vice versa for that matter), require exponential time due to the sheer size of the output. They are in FPSPACE; in fact, they are solvable by a function with a polynomial-time bit-graph, which is as efficient as it gets for an exponential-size-output function, but I’m not aware of this class having a name. Usual notions of poly-time reductions only work sensibly for functions with polynomial-size output; applying them blindly to the present case would make all these search problems FEXP-complete, again due to the size of the output.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$(**)$: These search problems are solvable by an exponential-time function with a polynomial-time bit-graph as in $(*)$. However, they are also solvable in $\mathrm{FP}^{\mathrm{NP}[1]}$, and conversely, they are NP-hard under poly-time Turing reductions (many-one reductions make no sense here, as we are comparing a search problem with a decision problem).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Shortest answer to the question: showing satisfiability (solving SAT) via DNF can only be done in exponential time according to the table above.&lt;/p&gt;&#xA;" OwnerUserId="13573" LastEditorUserId="13573" LastEditDate="2015-06-18T14:01:31.960" LastActivityDate="2015-06-18T14:01:31.960" CommentCount="13" CommunityOwnedDate="2015-06-16T19:12:47.577" ContentLicense="CC BY-SA 3.0" />
  <row Id="31779" PostTypeId="1" AcceptedAnswerId="31780" CreationDate="2015-06-16T20:50:27.350" Score="5" ViewCount="267" Body="&lt;p&gt;Is there a linear-time reduction from the sorting problem to the max-flow problem?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If so, what would such a reduction look like?&lt;/p&gt;&#xA;" OwnerUserId="34477" LastActivityDate="2015-06-16T22:54:00.967" Title="Reducing sorting to max-flow" Tags="&lt;reductions&gt;&lt;sorting&gt;&lt;max-flow&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="31780" PostTypeId="2" ParentId="31779" CreationDate="2015-06-16T22:54:00.967" Score="9" Body="&lt;p&gt;It seems unlikely to me for information-theoretic reasons. Expressing the answer to a sorting problem requires $\Omega(n\log n)$ bits of information. On the other hand, the answer to a maximum flow problem on an $m$-edge graph can be expressed (via a network simplex formulation) using only $O(m)$ bits of information (which edges are saturated, which are unused, and which form a spanning tree of used but unsaturated edges). Similar arguments apply to minimum-cost flow, etc. So to make a flow problem that has enough information in the solution to recover the sorted order, you need $\Omega(n\log n)$ edges.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2015-06-16T22:54:00.967" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="31781" PostTypeId="1" CreationDate="2015-06-17T02:06:04.160" Score="0" ViewCount="68" Body="&lt;p&gt;Few years back a &lt;a href=&quot;https://cstheory.stackexchange.com/questions/4769/an-np-complete-variant-of-factoring?rq=1&quot;&gt;question&lt;/a&gt; on whether a variant of integer factorization was $\mathsf{NP}$ complete was asked, which according to state of mathematics today does not have a conclusive answer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is following variant of polynomial factorization, 'given $p(x)\in\Bbb Z[x], l,u\in\Bbb N$, is there a $q(x)\in\Bbb Z[x]$ with $l\leq\mathsf{deg}(q(x))\leq u$ such that $q(x)|p(x)$', $\mathsf{NP}$ complete?&lt;/p&gt;&#xA;" OwnerUserId="1812" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2015-06-17T23:51:40.460" Title="Complexity of variant polynomial factorization" Tags="&lt;polynomials&gt;&lt;np-complete&gt;" AnswerCount="0" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="31782" PostTypeId="1" CreationDate="2015-06-17T06:17:24.247" Score="0" ViewCount="806" Body="&lt;p&gt;Suppose, we are given a graph $G = (V,E,d)$, where $V$ is the set of vertices, $E$ is the set of edges, and $d$ is a &lt;em&gt;distance&lt;/em&gt; function $d: E \mapsto \mathbb{R^+}$. Let $S$ be the set of &lt;em&gt;source&lt;/em&gt; vertices and $EX$ be the set of &lt;em&gt;exit&lt;/em&gt; vertices in $G$. Further, we are given the integers $k, \gamma$ and $\delta$. A $(k, \gamma, \delta)$-&lt;em&gt;hub&lt;/em&gt; is a set of vertices $H \subseteq V \setminus (S \cup EX)$ such that:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;For any source vertex $s_i \in S$, there exists an exit vertex $t_j \in EX$ and a hub vertex $h_{ij} \in H$ such that $d(s_i,h_{ij}) \le \gamma$ and $d(h_{ij},t_j) \le \delta$,&lt;/li&gt;&#xA;&lt;li&gt;$|H| \le k$, &lt;em&gt;i.e.&lt;/em&gt;, there are at most $k$ hub vertices.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Intuitively, a hub is a &lt;em&gt;small&lt;/em&gt; set of vertices such that for any source vertex, there is a &lt;em&gt;short path&lt;/em&gt; to some exit through an intermediate hub vertex.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An optimization problem is: given $\gamma$ and $\delta$, find the minimum $k$ such that there exists a $(k, \gamma, \delta)$-hub (or show that none exists). This problem is likely to be NP-hard, but I could not find a reduction from an existing NP-hard problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there any known hardness result or approximation algorithm for this problem?&lt;/p&gt;&#xA;" OwnerUserId="9569" LastActivityDate="2015-06-26T07:21:04.983" Title="Finding a set of hubs in a graph" Tags="&lt;graph-algorithms&gt;&lt;optimization&gt;" AnswerCount="2" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31783" PostTypeId="2" ParentId="31782" CreationDate="2015-06-17T07:04:21.853" Score="2" Body="&lt;h1&gt;Reduction&lt;/h1&gt;&#xA;&#xA;&lt;p&gt;The decision version of your problem (where $k$ is given and we wish to know whether a hub exists for that $k$) is NP-hard by reduction from dominating set. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $G = (V, E)$ be the given graph for the dominating set problem and let $k$ be the target number of vertices to be selected for the dominating set problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then construct the instance of your problem (a graph $G'$, a distance function, a set of source vertices $S$, a set of exit vertices $EX$, a target number of hub vertices $k'$, and a pair of values $\gamma$ and $\delta$) as follows:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The new graph $G' = (V', E')$ has vertex set $V'$ and edge set $E'$.&lt;/li&gt;&#xA;&lt;li&gt;$V' = V \times \{0,1,2\}$.&lt;/li&gt;&#xA;&lt;li&gt;For all $v \in V$, $((v, 0), (v, 1))$ and $((v, 1), (v, 2))$ are edges in $E'$.&lt;/li&gt;&#xA;&lt;li&gt;For all $(w, v) \in E$, $((w, 1), (v, 1))$ is an edge in $E'$.&lt;/li&gt;&#xA;&lt;li&gt;No other edges are present in $E'$.&lt;/li&gt;&#xA;&lt;li&gt;Every edge has length 1, so that the distance function is the standard undirected graph distance.&lt;/li&gt;&#xA;&lt;li&gt;$S = V \times \{0\}$.&lt;/li&gt;&#xA;&lt;li&gt;$EX = V \times \{2\}$.&lt;/li&gt;&#xA;&lt;li&gt;$k' = k$.&lt;/li&gt;&#xA;&lt;li&gt;$\gamma = \delta = 2$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;h1&gt;Correctness&lt;/h1&gt;&#xA;&#xA;&lt;p&gt;The choice of a $(k', \gamma, \delta)$-hub is the choice of $k'$ vertices in $V' \backslash (S \cup EX)$ such that for every $v \in S$ there exists a chosen vertex within distance $\gamma$ of that vertex and a vertex $w \in EX$ within distance $\delta$ of that chosen vertex.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The instance generated by the reduction (when run on graph $G = (V, E)$ and value $k$) asks whether a $(k,2,2)$-hub exists. In that particular case, it is a question of whether there exists a choice of $k$ vertices in $V' \backslash (S \cup EX) = V \times \{1\}$ such that for every $v \in S = V \times \{0\}$ there exists a chosen vertex within distance $2$ of that vertex and a vertex $w \in EX = V \times \{2\}$ within distance $2$ of that chosen vertex.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But notice that any vertex that could be a hub vertex is of the form $(v, 1)$, and therefore has distance one from exit vertex $(v, 2)$. The part of the condition requiring a nearby exit vertex is then automatically satisfied.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thus the instance is a &quot;yes&quot; instance if and only if there exists a choice of $k$ vertices in $V' \backslash (S \cup EX) = V \times \{1\}$ such that for every $v \in S = V \times \{0\}$ there exists a chosen vertex within distance $2$ of that vertex. This occurs if there exists a choice of $k$ vertices $C \subseteq V$ such that for every $v \in V$ there exists some $c \in C$ with $d((v, 0), (c, 1)) \le 2$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;But $d((v, 0), (c, 1)) \le 2$ if and only if $c$ and $v$ are equal or neighbors in $G$. Thus we can rewrite the condition for the problem instance to be a &quot;yes&quot; instance as follows: there exists a choice of $k$ vertices in $V$ such that every vertex in $V$ is either adjacent to a chosen vertex or is chosen itself. This is exactly the &quot;yes&quot; condition for the dominating set instance, proving this reduction to be answer preserving.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since the reduction is clearly polynomial time, this concludes the proof that your problem is NP-hard.&lt;/p&gt;&#xA;" OwnerUserId="34401" LastActivityDate="2015-06-17T07:04:21.853" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31784" PostTypeId="2" ParentId="31760" CreationDate="2015-06-17T09:11:04.763" Score="1" Body="&lt;p&gt;The paper mentioned in the question uses a reduction from Vertex Cover problem to show that the length bounded cut problem is NP Hard. The instance they construct given an instance of vertex cover, is nothing but a DAG. In this case all the edge has unit weight which corresponds to the minimum cardinality case. Therefore, the problem of &lt;strong&gt;L-length bounded minimum cardinality cut on DAGs is NP hard&lt;/strong&gt;. &lt;/p&gt;&#xA;" OwnerUserId="34441" LastActivityDate="2015-06-17T09:11:04.763" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31785" PostTypeId="2" ParentId="31763" CreationDate="2015-06-17T10:39:02.477" Score="1" Body="&lt;p&gt;Not my field of expertise, but I think this is a relaxation in comparison with real-life scenarios. In actual systems, once a connection has been established and a &quot;packet&quot; has been sent (what packet here means depends on the context of the problem being solved), it is possible that an unscheduled interrupt occurs  that pauses this communication and allows a new communication with a different processor to occur.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I believe this relaxation means that once a &quot;packet&quot; is sent, we assume that the other processors do not interrupt this connection until this quantum of information has been sent. Essentially, it makes the processors being collaborators instead of antagonizers and it simplifies the analysis, while still keeping it reasonable, since all processors stick to the schedule and do not monopolize the connection (i.e. they will stop transmitting once this quantum of information has been sent, instead of maintaining their connection and sending their entire message in the expense of others, thus ignoring the schedule given).&lt;/p&gt;&#xA;" OwnerUserId="879" LastActivityDate="2015-06-17T10:39:02.477" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31786" PostTypeId="1" CreationDate="2015-06-17T11:18:12.577" Score="4" ViewCount="80" Body="&lt;p&gt;In these &lt;a href=&quot;http://www.wisdom.weizmann.ac.il/~gilc/talks/CTS14.ppsx&quot; rel=&quot;nofollow&quot;&gt;slides&lt;/a&gt;, it is mentioned that for a class of functions $\mathcal{C}$, a pseudorandom generator is a distribution $D$ such that&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;$D$ fools $\mathcal{C}$.&lt;/li&gt;&#xA;&lt;li&gt;$D$ is efficiently samplable.&lt;/li&gt;&#xA;&lt;li&gt;$D$ is sampled using a few random bits.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Then if you want to achieve $(1)$ and $(2)$, let $D = U$, where $U$ is the uniform distribution. This is clear to me. It's mentioned further that for $(1)$ and $(3)$: $\forall \mathcal{C}$ $\exists$ inefficiently samplable $D$ using $O(\log \log |\mathcal{C}|)$ random bits. Could someone explain how to construct such an inefficient $D$?&lt;/p&gt;&#xA;" OwnerUserId="34478" LastEditorUserId="879" LastEditDate="2015-06-17T16:19:20.407" LastActivityDate="2015-06-17T16:19:20.407" Title="Inefficient pseudorandom distribution using a few random bits" Tags="&lt;pseudorandom-generators&gt;" AnswerCount="0" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="31787" PostTypeId="1" AcceptedAnswerId="31809" CreationDate="2015-06-17T16:36:00.527" Score="19" ViewCount="441" Body="&lt;p&gt;&lt;strong&gt;Main/General Question&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $L$ be a language. Define the languages $L_i$ with $L_0 = L$ and &#xA;$$L_i = \{xwy : xy \in L_{i-1}, w \in L\}$$&#xA;for $i \geq 1$. Consider $\hat{L} = \bigcup L_i$. So, we repeatedly &quot;embed&quot; $L$ into itself to obtain $\hat{L}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Has $\hat{L}$ been studied? Does it have a name?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Examples/Motivation&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As requested in the comments by here are some examples to better illustrate what $\hat{L}$ is. Then since no one (so far) seems to have seen this notion I will discuss my motivation for looking at it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Klaus Draeger beat me to adding examples. I'll put those examples from the comments here for increased visibility since they are good examples.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $L$ is a &lt;a href=&quot;https://en.wikipedia.org/wiki/Unary_language&quot;&gt;unary language&lt;/a&gt;, then $\hat{L} = L^+$ (and hence is regular).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $L = {ab}$, then $\hat{L}$ is the &lt;a href=&quot;https://en.wikipedia.org/wiki/Dyck_language&quot;&gt;Dyck language&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is a alternative way to think of $\hat{L}$. Given a language $L$ over an alphabet $A$ we play the following game. We take any $w \in A^*$ the try to reduce $w$ to the empty string $\epsilon$ by repeatedly removing subwords that are in $L$. (Here we need to by a little careful how we treat the empty string itself to make sure that this is equivalent to the definition above, but this is morally correct.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Originally I came the define $\hat{L}$ by considering deleting powers in words. Take $L = \{w^3 : w \in A^*\}$ to be the language of cubes over the binary alphabet $A = \{a,b\}$. Then $aaabaabaabbabab \in \hat{L}$ and we can consider the following &quot;$L$-deletion&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$a(aabaabaab)babab \to ababab \to \epsilon.$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Observe not all deletions will work&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$(aaa)baabaabbabab \to baabaabbabab$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;and we are stuck with a cube-free word. So, there is another notation of &quot;strongly $L$-deletable&quot; which in general does not coincide with $\hat{L}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One final example, if $L$ in the language of squares over the binary alphabet $A = \{a,b\}$, then $\hat{L}$ is the strings with both an even number of $a$'s and an even number of $b$'s. Clearly this condition is necessary. One way to see it is sufficient is to consider deleting squares and recall every binary word of length 4 or great has a square. Here $\hat{L}$ is regular.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For larger alphabets this type of argument fails since there are &lt;a href=&quot;https://en.wikipedia.org/wiki/Square-free_word&quot;&gt;arbitrarily long square-free words&lt;/a&gt;. With alphabets of size $k \geq 3$ I can show $\hat{L}$ is not regular using Myhill-Nerode and the fact there are arbitrarily long square-free words, but I have not been able to say much more. I was hoping looking at it in this more abstract way could shed some light on the situation (and this more abstract definition seems interesting in its own right).&lt;/p&gt;&#xA;" OwnerUserId="34422" LastEditorUserId="34422" LastEditDate="2015-06-19T16:48:41.560" LastActivityDate="2015-09-17T00:47:53.037" Title="&quot;Embedding&quot; a language in itself" Tags="&lt;reference-request&gt;&lt;fl.formal-languages&gt;" AnswerCount="2" CommentCount="8" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="31788" PostTypeId="1" AcceptedAnswerId="31796" CreationDate="2015-06-17T18:21:38.210" Score="13" ViewCount="417" Body="&lt;p&gt;P/poly is the class of decision problems solvable by a family of polynomial-size Boolean circuits. It can alternatively be defined as a polynomial-time Turing machine that receives an advice string that is size polynomial in n and that is based solely on the size of n.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;mP/poly is the class of decision problems solvable by a family of polynomial-size monotone Boolean circuits, but is there a natural alternative definition of mP/poly in terms of a polynomial-time Turing machine?&lt;/p&gt;&#xA;" OwnerUserId="4832" LastEditorUserId="6579" LastEditDate="2017-02-03T08:52:35.583" LastActivityDate="2017-02-03T08:52:35.583" Title="What is an equivalent definition of mP/poly in terms of a Turing machine?" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;circuit-complexity&gt;&lt;polynomial-time&gt;&lt;monotone&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="31789" PostTypeId="1" AcceptedAnswerId="31793" CreationDate="2015-06-17T19:19:24.433" Score="7" ViewCount="856" Body="&lt;p&gt;I'm faced with a situation where I need to get &lt;em&gt;m&lt;/em&gt; samples from a data stream (without replacement). Only one pass through the data is possible.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In my case, the stream contains many duplicate values, and I need to make sure that my sample won't include any duplicate values. It is important to note the the number of distinct values in the stream is huge as well (to big to fit memory).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Standard reservoir sampling algorithms (e.g. Algorithm R) ensure that the probability of any &lt;strong&gt;index&lt;/strong&gt; being sampled is equal or about equal. In my case however, I need to make sure that the probability of any &lt;strong&gt;value&lt;/strong&gt; being sampled is equal, or about equal.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there any way to achieve this?&lt;/p&gt;&#xA;" OwnerUserId="4804" LastEditorUserId="186" LastEditDate="2015-06-22T07:11:27.077" LastActivityDate="2015-06-22T07:11:27.077" Title="Reservoir sampling of distinct values" Tags="&lt;ds.algorithms&gt;&lt;pr.probability&gt;&lt;streaming-algorithms&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="31790" PostTypeId="1" AcceptedAnswerId="31792" CreationDate="2015-06-17T20:12:14.393" Score="1" ViewCount="153" Body="&lt;p&gt;Is there a natural (and hopefully well-known) maximization problem that is known to be in FPT?&#xA;For instance, Vertex Cover is in FPT, but it's a minimization problem. &#xA;I'm looking for natural maximization problems that are in FPT. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit (clarification): &quot;I assume you mean a maximization problem that is in FPT when parameterized by the solution size.&quot; This is exactly what I meant to ask, as the first comment (by Jan Johannsen) points out. &lt;/p&gt;&#xA;" OwnerUserId="34484" LastEditorUserId="34484" LastEditDate="2015-06-18T16:48:33.183" LastActivityDate="2015-06-18T16:48:33.183" Title="Natural maximization problems in FPT" Tags="&lt;parameterized-complexity&gt;&lt;fixed-parameter-tractable&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31791" PostTypeId="1" CreationDate="2015-06-17T20:24:32.630" Score="6" ViewCount="174" Body="&lt;p&gt;I am trying to understand exactly what the lower bounds for the query complexity of statistical algorithms imply for convex relaxations for the planted clique problem ? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A recent paper by &lt;a href=&quot;http://arxiv.org/abs/1311.4821&quot;&gt;Feldman, Perkins and Vempala&lt;/a&gt; builds the connection between Statistical Algorithms and Convex Relaxations by showing that for detecting planted k-CSPs, lower bounds on the complexity of Statistical Algorithms can be translated to lower bounds on the dimension of canonical convex relaxations. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I was wondering if a similar thing can be said about Planted Clique lower bounds for Statistical Algorithms (which were proven &lt;a href=&quot;http://arxiv.org/abs/1201.1214&quot;&gt;here&lt;/a&gt;). In particular what kind (if any) of lower bounds on Convex Relaxations do these imply?&lt;/p&gt;&#xA;" OwnerUserId="12212" LastActivityDate="2015-09-22T06:06:27.837" Title="Statistical Algorithms vs Convex Relaxations - Planted Clique" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;graph-algorithms&gt;&lt;approximation-algorithms&gt;&lt;clique&gt;" AnswerCount="0" CommentCount="0" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="31792" PostTypeId="2" ParentId="31790" CreationDate="2015-06-17T21:00:28.017" Score="5" Body="&lt;p&gt;Here are a few:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Max Cut: Can one color the vertices of an input graph $G$ black and white so that at least $k$ edges go from black to white?&lt;/li&gt;&#xA;&lt;li&gt;Max Sat: Is there an assignment that satisfies at least $k$&#xA;clauses?&lt;/li&gt;&#xA;&lt;li&gt;Max Leaf: Does $G$ have a spanning tree with at least $k$&#xA;leaves?&lt;/li&gt;&#xA;&lt;li&gt;Longest Path / Cycle: Does $G$ contain a simple path / cycle on at least $k$&#xA;vertices? &lt;/li&gt;&#xA;&lt;li&gt;3-Set Packing: Given a set family ${\cal F}$ of sets of&#xA;size $3$, are there $k$ pairwise disjoint sets in ${\cal F}$?&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="27464" LastEditorUserId="27464" LastEditDate="2015-06-17T21:52:14.187" LastActivityDate="2015-06-17T21:52:14.187" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31793" PostTypeId="2" ParentId="31789" CreationDate="2015-06-17T22:34:52.147" Score="5" Body="&lt;p&gt;This is something that min-wise independent hashing is good for. (See &lt;a href=&quot;https://en.wikipedia.org/wiki/MinHash&quot; rel=&quot;nofollow&quot;&gt;a wikipedia explanation here&lt;/a&gt;. &#xA;The idea is to use a family $\mathcal{H}$ of hash functions so that when you pick a random function $h\in H$ from the family, for any set $S$ of $n$ elements, for any $x\notin S$,  $\Pr_{h\in \mathcal{H}}[h(x) &amp;lt; \min_{y\in S} \{h(y)\}] = \frac{1}{n+1}$. This means that every element in $S$ has the same likelihood of being the only one with the smallest hashed value.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As you scan the stream, keep track of the smallest hashed value that you have seen, and whichever element was mapped to that value is your sample. There are families of hash functions that are &lt;em&gt;almost&lt;/em&gt; minwise independent families. For example &lt;a href=&quot;http://arxiv.org/abs/1404.6724&quot; rel=&quot;nofollow&quot;&gt;a paper by Dahlgaard and Thorup  &lt;/a&gt;.&#xA;If you want to sample $k$ elements you could do this naively using $k$ hash functions, but you could also use ideas from bottom-$k$ sketching with only one function. See &lt;a href=&quot;http://arxiv.org/abs/1303.5479&quot; rel=&quot;nofollow&quot;&gt;this paper by Thorup&lt;/a&gt;. &lt;/p&gt;&#xA;" OwnerUserId="15802" LastEditorUserId="15802" LastEditDate="2015-06-21T19:50:47.203" LastActivityDate="2015-06-21T19:50:47.203" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="31795" PostTypeId="1" CreationDate="2015-06-18T11:38:23.683" Score="3" ViewCount="118" Body="&lt;p&gt;I know CORDIC, but is there a better algorithm to compute $\sin x$ and $\cos x$ within specified $n$-digit accuracy?&lt;/p&gt;&#xA;" OwnerUserId="34491" LastActivityDate="2015-06-18T11:38:23.683" Title="An algorithm to compute sine and cosine within $n$-digit precision" Tags="&lt;approximation-algorithms&gt;" AnswerCount="0" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="31796" PostTypeId="2" ParentId="31788" CreationDate="2015-06-18T12:37:48.960" Score="15" Body="&lt;p&gt;There is a notion of a monotone non-deterministic and, more generally, alternating Turing machine in the paper &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=167706&quot;&gt;Monotone Complexity&lt;/a&gt; by Grigni and Sipser. Since polynomial time is the same as alternating logarithmic space, a machine characterization of uniform $\mathsf{mP}$ is the monotone alternating logspace Turing machine. Providing such a machine with polynomial advice will then give a machine definition of $\mathsf{mP/poly}$.&lt;/p&gt;&#xA;" OwnerUserId="6579" LastActivityDate="2015-06-18T12:37:48.960" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31797" PostTypeId="1" CreationDate="2015-06-18T13:49:33.833" Score="6" ViewCount="362" Body="&lt;p&gt;&lt;em&gt;PSPACE-complete$_{FP}$&lt;/em&gt; problems are the &lt;em&gt;PSPACE&lt;/em&gt; problems such that every other &lt;em&gt;PSPACE&lt;/em&gt; problem can be transformed to it with a polynomial time reduction, i.e. the reduction is an algorithm $\in$ &lt;a href=&quot;https://complexityzoo.uwaterloo.ca/Complexity_Zoo:F#fp&quot; rel=&quot;nofollow noreferrer&quot;&gt;&lt;em&gt;FP&lt;/em&gt;&lt;/a&gt;. This class is known as &lt;em&gt;PSPACE-complete&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Similarly, we can define :&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;PSPACE-complete$_{FPSPACE}$&lt;/em&gt; problems, the  &lt;em&gt;PSPACE&lt;/em&gt; problems such that every other &lt;em&gt;PSPACE&lt;/em&gt; problem can be transformed to it with a polynomial space reduction. This class is still &lt;em&gt;PSPACE&lt;/em&gt;, minus trivial problems $\Sigma^*$ and $\emptyset$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;PSPACE-complete$_{FNP}$&lt;/em&gt; problems, the  &lt;em&gt;PSPACE&lt;/em&gt; problems such that every other &lt;em&gt;PSPACE&lt;/em&gt; problem can be transformed to it with a &lt;a href=&quot;https://complexityzoo.uwaterloo.ca/Complexity_Zoo:F#fnp&quot; rel=&quot;nofollow noreferrer&quot;&gt;&lt;em&gt;FNP&lt;/em&gt;&lt;/a&gt; reduction (the function problem extension of the decision problem class &lt;em&gt;NP&lt;/em&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;PSPACE-complete$_{FPH}$&lt;/em&gt; problems, the  &lt;em&gt;PSPACE&lt;/em&gt; problems such that every other &lt;em&gt;PSPACE&lt;/em&gt; problem can be transformed to it with a &lt;em&gt;FPH&lt;/em&gt; reduction (the function problem extension of the decision problem class &lt;em&gt;PH&lt;/em&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It seems to me that all these classes are well defined and that we have :&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;PSPACE-complete&lt;/em&gt; $\subset$ &lt;em&gt;PSPACE-complete$_{FNP}$&lt;/em&gt; $\subset$ &lt;em&gt;PSPACE-complete$_{FPH}$&lt;/em&gt; $\subset$ &lt;em&gt;PSPACE&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Additionally, if &lt;em&gt;PSPACE-complete$_{FPH}$&lt;/em&gt; $\neq$ &lt;em&gt;PSPACE-complete&lt;/em&gt; then &lt;em&gt;P&lt;/em&gt; $\neq$ &lt;em&gt;NP&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Naturally, &lt;em&gt;PSPACE-complete$_{FNP}$&lt;/em&gt; $\neq$ &lt;em&gt;PSPACE-complete&lt;/em&gt; works also but it's more difficult to prove.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What more can be found about the two last defined classes ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Initially asked on &lt;a href=&quot;https://cs.stackexchange.com/questions/40946/pspace-completeness-with-different-kinds-of-reductions&quot;&gt;cs.stackexchange.com&lt;/a&gt;)&lt;/p&gt;&#xA;" OwnerUserId="32548" LastEditorUserId="-1" LastEditDate="2017-04-13T12:48:30.830" LastActivityDate="2015-06-18T17:55:30.570" Title="PSPACE completeness, with different kinds of reductions" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;reductions&gt;&lt;space-complexity&gt;" AnswerCount="0" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31798" PostTypeId="1" AcceptedAnswerId="31815" CreationDate="2015-06-19T07:11:29.697" Score="21" ViewCount="535" Body="&lt;p&gt;I encountered the following result during my research. &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;$$\lim\limits_{n\to \infty} \mathbb{E}\left[ &#xA;\frac{\#\{|a_i-a_j|,1\le i,j\le m \}}{n}&#xA;\right] = 1$$&#xA;  where $m=\omega(\sqrt n)$ and $a_1,\cdots,a_m$ are chosen at random from $[n]$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I am looking for a reference/a direct proof.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://mathoverflow.net/questions/209817/&quot;&gt;Crossposted on MO&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="34495" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2015-06-23T07:39:38.863" Title="Number of distinct differences of $\omega(\sqrt{n})$ integers chosen from $[n]$" Tags="&lt;reference-request&gt;&lt;co.combinatorics&gt;&lt;pr.probability&gt;" AnswerCount="1" CommentCount="10" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="31799" PostTypeId="2" ParentId="31745" CreationDate="2015-06-19T08:10:43.293" Score="2" Body="&lt;p&gt;I'm not sure this is what you're looking for, but it's related:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose I want to find a random $k$-bit prime number.&#xA;The usual algorithm is to pick a random (odd) $k$-bit integer and run the Miller-Rabin primality test for $t$ rounds on it and repeat until a probable prime is found. &#xA;What is the probability that this procedure returns a composite number? Call this probability $p_{k,t}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The standard analysis of the Miller-Rabin primality test shows that $t$ rounds gives a failure probability of at most $4^{-t}$.&#xA;This, along with the prime number theorem, implies $$p_{k,t} \leq O(k\cdot 4^{-t}).$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, we are running the Miller-Rabin test on random inputs, so we can use an average-case error guarantee. We get a much better bound. In particular, for $t=1$,&#xA;$$p_{k,1} \leq 2^{-(1-o(1))\frac{k \ln\ln k}{\ln k}} \leq 2^{-\tilde\Omega(k)}.$$&#xA;That is to say, we get an exponentially-small failure probability with &lt;i&gt;only one repetition&lt;/i&gt; of the test!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See &lt;a href=&quot;http://www.jstor.org/stable/2008231&quot; rel=&quot;nofollow&quot;&gt;Erdös and Pomerance (1986)&lt;/a&gt;, &lt;a href=&quot;http://www.jstor.org/stable/2008733&quot; rel=&quot;nofollow&quot;&gt;Kim and Pomerance (1989)&lt;/a&gt;, and &lt;a href=&quot;http://www.jstor.org/stable/2152945&quot; rel=&quot;nofollow&quot;&gt;Dåmgard, Landrock, and Pomerance (1993)&lt;/a&gt; for more details.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is not a decision problem and the amount of randomness used is $O(k^2)$ bits (although I suspect this can be easily reduced to $O(k)$). However, it's an interesting example where we get exponentially-small failure probability naturally.&lt;/p&gt;&#xA;" OwnerUserId="2022" LastEditorUserId="2022" LastEditDate="2015-06-19T08:17:15.270" LastActivityDate="2015-06-19T08:17:15.270" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31801" PostTypeId="1" CreationDate="2015-06-19T11:09:28.717" Score="2" ViewCount="63" Body="&lt;p&gt;During research, I hit the following problem&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;Exact Cover Variant (ECV)&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;Input: Three set systems &lt;span class=&quot;math-container&quot;&gt;$S_1, S_2, S_3$&lt;/span&gt; over a universe &lt;span class=&quot;math-container&quot;&gt;$U$&lt;/span&gt;, each closed with respect to &lt;span class=&quot;math-container&quot;&gt;$\cap$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$\cup$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Question: Is there an exact cover for &lt;span class=&quot;math-container&quot;&gt;$U$&lt;/span&gt; consisting of sets in &lt;span class=&quot;math-container&quot;&gt;$S_1,S_2,S_3$&lt;/span&gt;?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;This is easy. An important observation is that if there is an exact cover, then there is one consisting of at most one set of each set system (this is due to the closedness regarding &lt;span class=&quot;math-container&quot;&gt;$\cap$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$\cup$&lt;/span&gt;). It hence suffices to iterate over all (polynomially many) possible solutions. So I will make the problem harder again. Instead of giving &lt;span class=&quot;math-container&quot;&gt;$S_1,S_2,S_3$&lt;/span&gt; explicitly, it will be encoded in a multi-terminal network as follows:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;Network Exact Cover (NEC)&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;Input: A 4-terminal network &lt;span class=&quot;math-container&quot;&gt;$N$&lt;/span&gt; with node set &lt;span class=&quot;math-container&quot;&gt;$V$&lt;/span&gt; and terminals &lt;span class=&quot;math-container&quot;&gt;$T=\{t_1,t_2,t_3,t_4\} \subseteq V$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Question: Let &lt;span class=&quot;math-container&quot;&gt;$S_1,S_2,S_3$&lt;/span&gt; be the source sides of all min-cuts separating &lt;span class=&quot;math-container&quot;&gt;$\{t_1,t_2\}, \{t_1,t_3\}, \{t_1,t_4\}$&lt;/span&gt;, respectively, from the remaining terminals. Is there an exact cover of &lt;span class=&quot;math-container&quot;&gt;$V-T$&lt;/span&gt; using sets of &lt;span class=&quot;math-container&quot;&gt;$S_1,S_2,S_3$&lt;/span&gt;?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Due to the submodularity of min-cuts, the sets &lt;span class=&quot;math-container&quot;&gt;$S_1,S_2,S_3$&lt;/span&gt; are closed with respect to &lt;span class=&quot;math-container&quot;&gt;$\cap$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$\cup$&lt;/span&gt; as well.&lt;/p&gt;&#xA;&lt;p&gt;I cannot come up with a polynomial algorithm for NEC, neither can I proof NP-hardness (it clearly is in NP). &lt;strong&gt;Question: Do you have any ideas concerning NEC's complexity?&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;The reason NEC appears to be harder than ECV is that the number of elements of each set system may be exponential in &lt;span class=&quot;math-container&quot;&gt;$|V|$&lt;/span&gt;. Iterating over all possible solutions is not possible anymore. At the same time, these exponentially many min-cuts are given in a data structure (a network) that may make it easier to find a solution.&lt;/p&gt;&#xA;&lt;p&gt;Also note that not for every three sets closed with respect to &lt;span class=&quot;math-container&quot;&gt;$\cap$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$\cup$&lt;/span&gt;, there is a 4-terminal network encoding these sets in the above described way. This interdependency may be exploited (and at the same time makes it hard to find a reduction...).&lt;/p&gt;&#xA;" OwnerUserId="26761" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2015-06-19T11:09:28.717" Title="An Exact Cover Variant encoded in a 4-Terminal Network" Tags="&lt;cc.complexity-theory&gt;&lt;network-modeling&gt;&lt;covering-problems&gt;&lt;flow-problems&gt;&lt;exact-cover&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31803" PostTypeId="1" CreationDate="2015-06-19T21:37:50.117" Score="5" ViewCount="748" Body="&lt;p&gt;The complexity of modular addition is known: $g + p \mod N$ (for $|p| \approx |g| \approx |N|$) can be computed in $O(n = |N|)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The complexity of modular multiplication is open though some results are known: by Toom-Cook $g * p \mod N$ can be performed in $O(n^{1.465})$ and by Schönhage–Strassen in $O(n \log n \log \log n)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Modular exponentiation can be performed in $O(M(n) k)$ where $M(n)$ is the complexity of multiplication and $k$ is the length in bits of the exponent by the square-and-multiply algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am looking for results about the modular arithmetic in general. Are there better complexity results for performing modular exponentiation (over the 'naive' square-and-multiply)? What results are known for modular exponentiation of power towers of height &lt;em&gt;h&lt;/em&gt;?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(For $h = 3$: $g^{g^{g}} \mod N$ and for general $h$: $g^{g^{g^{g^{...^g}}}} \mod N$)&lt;/p&gt;&#xA;" OwnerUserId="3624" LastEditorUserId="3624" LastEditDate="2015-06-19T23:23:44.113" LastActivityDate="2015-06-19T23:51:54.583" Title="Computational complexity of modular power towers (tetration)" Tags="&lt;comp-number-theory&gt;&lt;complexity&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="31804" PostTypeId="2" ParentId="31788" CreationDate="2015-06-19T22:30:14.473" Score="7" Body="&lt;p&gt;There is actually a notion of &lt;em&gt;deterministic&lt;/em&gt; positive Turing machine which matches mP/Poly. It can be found in the article &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0890540198927420&quot;&gt;Positive Versions of Polynomial Time&lt;/a&gt; by Lauteman, Schwentick and Stewart&lt;/p&gt;&#xA;" OwnerUserId="32258" LastEditorUserId="32258" LastEditDate="2015-06-21T16:42:01.893" LastActivityDate="2015-06-21T16:42:01.893" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31805" PostTypeId="2" ParentId="31803" CreationDate="2015-06-19T23:51:54.583" Score="6" Body="&lt;p&gt;Sorry if this answer doesn't tell anything nontrivial, but you don't seem to imply these results in the questionm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider first the problem of computing a &lt;strong&gt;modular exponentiation&lt;/strong&gt; $ a^r \mod m $.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;You say above that you can compute this by repeated squaring modulo $ m $, and that this needs $ O(\log r) $ multiplications.  This is true, and it's certainly a practical algorithm for some range of inputs.  But for other inputs, it's not the best you can do. The important case I want to talk about comes up when $ r $ is very large.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First, let $ c = gcd(a, m) $ and $ b = a/c $ and we'll compute the result as the product of the $ c^r \mod m $ and $ b^r \mod m $ values.  If $ \log_2 m &amp;lt; r $ then $ c^r \equiv 0 $, otherwise computer $ c^r $ by the simple algorithm with $ \log r $ multiplications.  Now we need a number $ s $ such that $ b^s \equiv 1 $, from which we can compute $ b^r $ as $ b^{r \mod s} $.  The Euler phi function $ s = \varphi(m) $ is such a number.  To compute $ s $, you need the integer factorization of $ m $, which takes $ O(m^\epsilon) $ time.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If the exponent $ r $ is so large that even $ \log r $ is significantly greater than $ m $, then reducing the exponent this way gives a faster method for the modular exponentiation.  Alternately, if you have a problem where the inputs are constrained so you always know the factorization of $ m $, such as if you take only prime or power of two exponents, then this method is worth already when $ r $ is significantly greater than $ m $.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This case of the faster method comes up when you want to evaluate an &lt;strong&gt;exponential tower&lt;/strong&gt; $ a^{r^t} \mod m $, supposing $ t $ is significantly larger than $ m $.  For this, first compute $ s = \varphi(m) $ like above, then compute $ r^t \mod s $ by some modular exponentiation algorithm, then compute $ a^{r^t} $ as above.  As $ r^t $ is large, this is faster than the simple method of first computing $ r^t $ and then doing $ O(\log(r^t)) $ modular multiplications.  You can apply this to any exponential tower, thus recursively computing the exponential tower modulo $ m $.  If you have an exponential tower of at least four levels and the final exponent is of comparable size to $ m $, such as in a tetration, then it is very likely that the logarithm of final exponent will be much greater than $ m $, so again this method is worth to compute a tetration.  &lt;/p&gt;&#xA;" OwnerUserId="8067" LastActivityDate="2015-06-19T23:51:54.583" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="31806" PostTypeId="1" AcceptedAnswerId="31810" CreationDate="2015-06-20T07:15:16.750" Score="1" ViewCount="314" Body="&lt;p&gt;I wanted to know whether Greedy approximation algorithms can outperform LP relaxation and rounding based algorithms. Specifically, can it beat the integrality gap of a 'reasonable' LP relaxation, (e.g. the natural relaxation of the ILP by relaxing variables $x_i\in\{1,0\}$ to $x\geq 0$). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For an example, if we consider the Setcover problem with universe set $U$ s.t. $|U|=n$ with max frequency of an element $f$, the greedy algorithm gives an $O(\mathrm{log}~n)$ approximation. Whereas LP relaxation can give an $f$ approximation with deterministic rounding. But we know that the integrality gap is $\Omega(\mathrm{log}~n)$ for the general LP formulation. Indeed through a randomized rounding technique we can achieve a $O(\mathrm{log}~n)$ approximation w.h.p. So the greedy is almost as good as the LP relaxation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does anyone know of an instance of NP Hard problem having approximations using greedy algorithm which is better than the integrality gap? Please point out the references if known. It will be great if the problem is well studied. &lt;/p&gt;&#xA;" OwnerUserId="34441" LastActivityDate="2015-06-21T07:45:03.640" Title="Greedy vs LP Approximation" Tags="&lt;convex-optimization&gt;&lt;combinatorics&gt;&lt;integrality-gap&gt;" AnswerCount="1" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="31809" PostTypeId="2" ParentId="31787" CreationDate="2015-06-20T22:32:03.043" Score="13" Body="&lt;p&gt;This question is related to the so called &lt;em&gt;insertion systems&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An &lt;em&gt;insertion system&lt;/em&gt; is a special type of rewriting system whose rules are of the form $1 \rightarrow r$ for all $r$ in a given language $R$. Let us write $u \rightarrow_R v$ if $u = u'u''$ and $v = u'ru''$ for some $r \in R$. Let us denote by $\buildrel{*}\over\rightarrow_R$ the reflexive transitive closure of the relation $\rightarrow_R$. The closure of a language $L$ of $A^*$ under $\buildrel{*}\over\rightarrow_R$ is the language&#xA;$$  &#xA;[L]_{\buildrel{*}\over\rightarrow_R} = \{ v \in A^* \mid \text{ there exists $u \in L$ such that $u \buildrel{*}\over\rightarrow_R v$} \}&#xA;$$&#xA;Recall that a &lt;em&gt;well quasi-order&lt;/em&gt; on a set $E$ is a reflexive and&#xA;transitive relation $\leqslant$ such that for any infinite sequence $x_0,&#xA;x_1, \ldots$ of elements of $E$, there are two integers $i &amp;lt; j$ such&#xA;that $x_i \leqslant x_j$. The following theorem is proved in [1]:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;If $H$ is a finite set of words such that the language $A^* \setminus&#xA;A^*HA^*$ is finite, then the relation $\buildrel{*}\over\rightarrow_R$ is a well quasi-order on $A^*$ and $[L]_{\buildrel{*}\over\rightarrow_R}$ is regular.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;[1] W. Bucher, A. Ehrenfeucht and D. Haussler, On total regulators generated by derivation relations, &lt;em&gt;Theor. Comput. Sci.&lt;/em&gt; &lt;strong&gt;40&lt;/strong&gt;, 2-3 (1985), 131– 148.&lt;/p&gt;&#xA;" OwnerUserId="17203" LastActivityDate="2015-06-20T22:32:03.043" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31810" PostTypeId="2" ParentId="31806" CreationDate="2015-06-21T07:45:03.640" Score="6" Body="&lt;p&gt;Well, there are cases where LP gives you no useful information. Consider a graph $G$ with $n$ vertices, and the problem of finding a maximum independent set in $G$. The LP gives you a solution of value at least $n/2$ (give every vertex a value of $1/2$). But the optimal independent set might be of size between $1$ and $n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, the greedy algorithm does give useful results in some cases. For example, if the number of edges is $m \ll n^2$, then the greedy algorithm would give you an independent set of size $\Omega(n^2/m)$ (always pick the vertex that has the smallest numbeer of neighbors).&lt;/p&gt;&#xA;" OwnerUserId="9594" LastActivityDate="2015-06-21T07:45:03.640" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31812" PostTypeId="1" CreationDate="2015-06-21T13:19:05.103" Score="1" ViewCount="63" Body="&lt;p&gt;Consider the Parvaresh-Vardy list decoder.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As I understand it, the idea is to decide on a curve over an extension field of the form $(f,f^h mod E, f^{h^2} mod E,\dots)$ and then evaluate each of these field elements (interpreted as univariate polynomials over a base field) on all the elements of the base field. &#xA;This was so that on interpolating to get a multivariate polynomial $Q(x,y_1,y_2,\dots)$, we have a root fining step comprising simply solving for the points lying on $Q=0$ and the curve.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An important consideration here was that $Q$ (the curve) not be identically zero as a polynomial, or that the curve not lie on the hypersurface defined by $Q=0$. This is ensured by taking $Q$ of smallest degree and not divisible by $E$, and by taking the exponent h to be large enough. Basically we adjust degrees of $Q$ and the curve to ensure that the curve does not lie on the surface.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is this:&#xA;Is there any significance to the choice of the Parvaresh Vardy curve as defined, beyond this degree requirement to ensure the curve isn't contained in the hyperplane? &#xA;For instance, could we choose the curve to be simpler, say of the form $(f,f^2 mod E, f^3 mod E,\dots)$? In this case, lets say we take $Q$ to be linear in the $y_i$'s (as used in linear-algebraic list-decoding of folded codes, say) so that the function applied on the curve , $Q(f,f^2,f^3,f^4,\dots)$, cannot be identically zero.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Everywhere it is mentioned that the tuple of functions is &quot;carefully chosen&quot; to ensure the method goes through, but I am unable to see what exactly is the motivation for this particular choice of curve. &#xA;This method is also used in the expander construction of Guruswami-Umans-Vadhan. Also, in a subsequent paper by Ta-Shma-Umans, another curve is used, but that curve too is similar to the Parvaresh-Vardy curve, but using linear combinations of the functions used in the former.&lt;/p&gt;&#xA;" OwnerUserId="18154" LastEditorUserId="18154" LastEditDate="2015-06-21T13:24:49.533" LastActivityDate="2015-06-21T13:24:49.533" Title="The curve used in Parvaresh-Vardy decoding" Tags="&lt;coding-theory&gt;&lt;algebra&gt;&lt;polynomials&gt;&lt;finite-fields&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31814" PostTypeId="1" CreationDate="2015-06-21T16:53:56.237" Score="3" ViewCount="733" Body="&lt;p&gt;This is a variant of my previous question (&lt;a href=&quot;https://cstheory.stackexchange.com/questions/31789/reservoir-sampling-of-distinct-values&quot;&gt;Reservoir sampling of distinct values&lt;/a&gt;)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm faced with a situation where I need to get &lt;em&gt;m&lt;/em&gt; samples from a data stream (without replacement). Only one pass through the data is possible.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In my case, the stream contains many duplicate values, and I need to make sure that my sample set won't include any duplicate values. It is important to note the the number of distinct values in the stream is huge as well (to big to fit memory).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;I need to make sure that the probability of any value being sampled is proportional (or about proportional) to its frequency in the stream.&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there any way to achieve this?&lt;/p&gt;&#xA;" OwnerUserId="4804" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2018-06-14T14:29:38.413" Title="Sampling distinct values with probability proportional to their frequency" Tags="&lt;ds.algorithms&gt;&lt;pr.probability&gt;&lt;streaming-algorithms&gt;" AnswerCount="2" CommentCount="5" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="31815" PostTypeId="2" ParentId="31798" CreationDate="2015-06-21T18:39:22.520" Score="7" Body="&lt;p&gt;Assume as given that $m=\omega(\sqrt{n})$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Fix any $\epsilon&amp;gt;0$. We will consider $r\in[1,n]$ with $r&amp;lt;(1-\epsilon)n$. The aim is to show that with high probability as $n\to\infty$, $r$ is included in the set of differences.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First consider the set $A=\{a_i:i&amp;lt;m/2\}\cap[1,\epsilon n]$. The number of $i$ with $i&amp;lt;m/2$ such that $a_i&amp;lt;\epsilon n$ is binomial with expectation around $\epsilon m/2$. So with high probability as $n\to\infty$, the number of such $i$ will be at least $\epsilon m/4$, which is $\omega(\sqrt{n})$. Then (claim, &quot;left as exercise&quot;, not hard to show) with high probability as $n\to\infty$, the set $A$ has size at least $\sqrt{n}$. Let us write $G$ for this &quot;good event&quot;, that $|A|\geq\sqrt{n}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose that indeed $G$ holds, i.e. there are at least $\sqrt{n}$ distinct values of $a_i$ less than $\epsilon n$, for $i&amp;lt;m/2$. Note that for each such value, there is a value $k\in [1,n]$ which is precisely $r$ larger. Now consider the values of $a_i$ for $i\geq m/2$. These are independent and each one has probability at least $\sqrt{n}/n=1/\sqrt{n}$ of being at distance $r$ from an element of the set $A$. The probability that no difference $r$ is produced is then at most $(1-1/\sqrt{n})^{m/2}$ which goes to 0 as $n\to\infty$ since $m=\omega(\sqrt{n})$. So indeed, the probability that $G$ holds but no difference of size $r$ exists tends to 0 as $n\to\infty$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;So (uniformly in $r&amp;lt;(1-\epsilon)n$) the probability that $r$ is included in the set of differences tends to 1 as $n\to\infty$. &#xA;Hence using linearity of expectation,&#xA;$$&#xA;\liminf&#xA;\limits_{n\to \infty} \mathbb{E}\left[ \frac{\#\{|a_i-a_j|,1\le i,j\le m \}}{n}\right] \geq 1-\epsilon.$$&#xA;Since $\epsilon$ is arbitrary, the limit is 1 as desired. &lt;/p&gt;&#xA;" OwnerUserId="34514" LastEditorUserId="34514" LastEditDate="2015-06-23T07:39:38.863" LastActivityDate="2015-06-23T07:39:38.863" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="31816" PostTypeId="2" ParentId="22678" CreationDate="2015-06-21T20:02:03.663" Score="7" Body="&lt;p&gt;This question has been resolved! &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A few days ago &lt;a href=&quot;http://arxiv.org/abs/1506.04719&quot; rel=&quot;nofollow&quot;&gt;Andris Ambainis, Kaspars Balodis, Aleksandrs Belovs, Troy Lee, Miklos Santha, and Juris Smotrovs&lt;/a&gt; uploaded a preprint showing the existence of a total function $f$ which satisfies&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;$R_0(f) = \tilde{\Omega}(R_2(f)^{2})$&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;and even &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;$R_0(f) = \tilde{\Omega}(R_1(f)^{2})$,&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;where $R_1(f)$ denotes 1-sided bounded-error randomized query complexity.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Both separations are optimal up to log factors!&lt;/p&gt;&#xA;" OwnerUserId="206" LastEditorUserId="206" LastEditDate="2015-09-01T14:12:09.977" LastActivityDate="2015-09-01T14:12:09.977" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31818" PostTypeId="2" ParentId="31814" CreationDate="2015-06-22T00:50:06.937" Score="2" Body="&lt;p&gt;If the problem is well-defined, I suspect it should be achievable using the following method.  Pick a $m$ values uniformly at random from the stream.  For each value, the expected value of the number of times it is included in the sample will be proportion to its frequency in the stream.  If the frequency of every item is small compared to $1/m$, the probability that an item appears in the sample will be approximately proportional to its frequency in the stream.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If some items appear more often than that, use a sketch (e.g., a CountMin sketch) to estimate the frequency of frequently-occurring items.  You don't need to estimate the frequency of all items, only those whose frequency is higher than $1/(1000m)$ (say), so the sketch can be very efficient.  Then, you select $m$ values uniformly at random from the stream, removing duplicates; if any of the selected values is in the CountMin sketch and has probability close to $1/m$ or larger, then you fix things up (e.g., by dropping it with some probability, as needed).  I'll let you work out the exact arithmetic for how to make the probabilities work out however you want (as it's not clear to me exactly what you want to have happen), but this should work and be very efficient, as the sketch only needs to track frequencies for a small number of items.&lt;/p&gt;&#xA;" OwnerUserId="5038" LastEditorUserId="5038" LastEditDate="2015-06-24T01:09:24.147" LastActivityDate="2015-06-24T01:09:24.147" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="31820" PostTypeId="1" CreationDate="2015-06-22T21:29:35.643" Score="29" ViewCount="1377" Body="&lt;p&gt;The following problem came up during research, and it's surprisingly clean:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You have a source of coins. Each coin has a bias, namely a probability that it falls on &quot;head&quot;. &#xA;For each coin independently there's probability 2/3 that it has bias at least 0.9, and with the rest of the probability its bias can be any number in [0,1]. You don't know the biases of the coins. All you can do at any step is toss a coin and observe the outcome.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For a given n, your task is to find a coin with bias at least 0.8 with probability at least $1-\exp(-n)$. Can you do that using only O(n) coin tosses?&lt;/p&gt;&#xA;" OwnerUserId="1621" LastActivityDate="2019-01-24T09:02:13.173" Title="Finding a biased coin using a few coin tosses" Tags="&lt;ds.algorithms&gt;&lt;pr.probability&gt;" AnswerCount="1" CommentCount="16" FavoriteCount="11" ContentLicense="CC BY-SA 3.0" />
  <row Id="31822" PostTypeId="1" CreationDate="2015-06-23T14:52:28.687" Score="1" ViewCount="62" Body="&lt;p&gt;Assume we have a set of integers $X_0=\{x_1\ge x_2\ge\ldots\ge x_n\}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $r\in(0,1]$ be a parameter and consider the ranking process:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;i=0&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;while ($X_i\ne\emptyset$)&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;let $M = \max \{x\in X_i\}$   (i.e., the maximum of the numbers in $X_i$).&lt;/li&gt;&#xA;&lt;li&gt;Let $C = \{x\in X_i | x \ge r\cdot M\}$ (the set of numbers which are at least $r\cdot M$)&lt;/li&gt;&#xA;&lt;li&gt;Pick a uniform random number $y\in C$ as the $i$'th ranked number.&lt;/li&gt;&#xA;&lt;li&gt;Set $X_{i+1} = X_i \setminus \{y\}$ and increment $i$.&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The goal is to compute the rank distribution $D$ of $x_i$ (the input is the set $X$ and an index $i$).&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;How fast can we find $D(X_0,i)$?&lt;/strong&gt; (also - is there a fast way to approximate it?).&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Currently I'm using a simple Monte Carlo simulation, which is quite slow for my application.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;For example, consider $X_0 = \{5,4,3,2,1\}$ and let $r=\frac{1}{2}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The distribution of $x_3 = 3$ is as follows:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;With probability $\frac{1}{3}$ it is ranked first.&lt;/li&gt;&#xA;&lt;li&gt;With probability $\frac{5}{18}$ is ranks second (notice that if $5$ is ranked first, then the chance $x_3$ is ranked second is only $1/3$, but if $4$ was ranked first, it has a probability of $1/2$).&lt;/li&gt;&#xA;&lt;li&gt;With probability $\frac{7}{36}$ is ranks third and with the same probability it ranks fourth.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The output is then $D(X_0,3) = &amp;lt;1/3, 5/18, 7/36, 7/36, 0&amp;gt;$.&lt;/p&gt;&#xA;" OwnerUserId="21001" LastActivityDate="2015-06-23T14:52:28.687" Title="Computing the distribution from which this algorithm samples from" Tags="&lt;ds.algorithms&gt;&lt;pr.probability&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31823" PostTypeId="2" ParentId="2537" CreationDate="2015-06-23T17:33:00.673" Score="-2" Body="&lt;p&gt;Probably.   There are many mathematical problems which probably include some among&#xA;them, that are undecidable, i.e. answer is &quot;yes&quot; but no proof of that exists.&#xA;For example the Collatz 3x+1 problem springs to mind as a candidate.&#xA;Or the question of whether pi contains arbitrarily long strings of consecutive 9s.&#xA;Any such problem could be regarded as a &quot;model of computation&quot; presumably much&#xA;less powerful than a UTM, but it still would be undecidable whether it &quot;halts&quot;&#xA;or whether it &quot;always halts.&quot;&lt;/p&gt;&#xA;" OwnerUserId="34531" LastActivityDate="2015-06-23T17:33:00.673" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31824" PostTypeId="1" CreationDate="2015-06-23T20:08:11.110" Score="19" ViewCount="740" Body="&lt;p&gt;USTCONN is the problem that requires deciding whether there is a path from the source vertex $s$ to the target vertex $t$ in a graph $G$, where these are all given as part of the input.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Omer Reingold showed that USTCONN is in &lt;a href=&quot;https://complexityzoo.uwaterloo.ca/Complexity_Zoo:L#l&quot; rel=&quot;nofollow&quot;&gt;L&lt;/a&gt; (doi:&lt;a href=&quot;http://dx.doi.org/10.1145/1391289.1391291&quot; rel=&quot;nofollow&quot;&gt;10.1145/1391289.1391291&lt;/a&gt;).&#xA;The proof constructs a constant-degree &lt;a href=&quot;https://en.wikipedia.org/wiki/Expander_graph&quot; rel=&quot;nofollow&quot;&gt;expander&lt;/a&gt; by means of the zig-zag product.&#xA;A constant-degree expander has logarithmic diameter and one can then check all the possible paths using a constant number of logarithmic-size markers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Reingold's result gives a logarithmic upper bound on the space complexity of USTCONN, resolving its space complexity &quot;up to a constant factor&quot; according to the paper.&#xA;I am curious about the corresponding lower bound, which is not mentioned anywhere else in the paper.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;How does one prove that logarithmic space is required to decide USTCONN in the worst case?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Edit:&lt;/em&gt; Fix the input representation to be the $N \times N$ adjacency matrix of the underlying $N$-vertex symmetric simple directed graph, with the rows listed consecutively to form an $N^2$-bit string.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Lewis and Papadimitriou showed (doi:&lt;a href=&quot;http://dx.doi.org/10.1016/0304-3975(82)90058-5&quot; rel=&quot;nofollow&quot;&gt;10.1016/0304-3975(82)90058-5&lt;/a&gt;) that USTCONN is SL-complete,&#xA;which with Reingold's result implies that SL=L.&#xA;Savitch showed (doi:&lt;a href=&quot;http://dx.doi.org/10.1016/S0022-0000(70)80006-X&quot; rel=&quot;nofollow&quot;&gt;10.1016/S0022-0000(70)80006-X&lt;/a&gt;) that $\text{NSPACE}(n) \subseteq \text{DSPACE}(n^2)$.&#xA;Further $\text{DSPACE}(f(n)) = \text{DSPACE}(1)$ for any computable function $f(n) = o(\log\log n)$ by Stearns, Hartmanis and Lewis (doi:&lt;a href=&quot;http://dx.doi.org/10.1109/FOCS.1965.11&quot; rel=&quot;nofollow&quot;&gt;10.1109/FOCS.1965.11&lt;/a&gt;), so at least $\Omega(\log\log n)$ space is needed for USTCONN.&#xA;Finally, the usual classes known to be below L (such as $\text{NC}^1$) are defined in terms of circuits and are not obviously comparable to any class defined in terms of a space bound.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As far as I can see, this leaves open the (admittedly unlikely) possibility that there is an even better deterministic algorithm that only uses $O((\log n)^\delta)$ but $\Omega(\log \log n)$ space, for some $\delta &amp;lt; 1$, or even a nondeterministic algorithm for USTCONN that uses $o((\log n)^{1/2})$ space.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By the &lt;a href=&quot;https://en.wikipedia.org/wiki/Space_hierarchy_theorem&quot; rel=&quot;nofollow&quot;&gt;space hierarchy theorem&lt;/a&gt;, $\text{DSPACE}(o(f(n)) \subsetneq \text{DSPACE}(f(n))$ as long as $f(n)$ is space-constructible.&#xA;This might seem to suggest that USTCONN cannot be in $\text{DSPACE}(o(\log n))$.&#xA;However, USTCONN being complete for L under logspace reductions does not seem to imply this.&#xA;It seems still possible that USTCONN has enough structure to encode any problem in L by means of a logspace reduction, yet USTCONN itself only requires sublogarithmic space.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As long as there is some language in L that does require logarithmic space, then showing that USTCONN is complete for L under a strictly &quot;weaker&quot; than logspace reduction would yield the desired lower bound.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is USTCONN complete for L under a reduction that requires $o(\log n)$ space?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Immerman showed (doi:&lt;a href=&quot;http://dx.doi.org/10.1137/0216051&quot; rel=&quot;nofollow&quot;&gt;10.1137/0216051&lt;/a&gt;) that a version of directed reachability in which the desired path (but not the graph itself) is deterministic, is complete for L under first-order reductions, which are computable by AC$^0$ circuits.&#xA;This might then perhaps be adapted to show that USTCONN is complete for L under FO-reductions.&#xA;However, although AC$^0$ is strictly contained in L, AC$^0$ is again a circuit class and I am not aware of any way to perform FO-reductions in sublogarithmic space.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Edit 2015-07-14:&lt;/em&gt;&#xA;It is an interesting philosophical issue whether the space usage of a TM should include the size of an index into the input (thus allowing random access into the input, but needing an extra bit if the input doubles in size), or whether the space used by a TM is the number of worktape squares visited during a computation (which assumes that the input tape head is fixed and does not change when the input tape doubles in size).&#xA;The former RAM-style definition immediately gives a logspace lower bound for &lt;em&gt;any&lt;/em&gt; computation, and models current computers that keep track of the current position in a file as an offset from the start of the file.&#xA;The latter classical definition assumes a paper-like tape with a fixed read head that doesn't know anything about the tape other than the current input symbol, which possibly is what Turing intended in his 1937 paper.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Heuristic arguments like the comment by Thomas, that it is not even possible to index the input with $o(\log n)$ bits of space, appear to assume a modern RAM-style definition.&#xA;Stearns/Hartmanis/Lewis use the TM-style definition, as does most classical work in space-bounded computation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One can prove a logspace lower bound for USTCONN represented as an adjacency matrix by noting that the unary language of perfect squares requires logspace to recognise (see Rūsiņš Freivalds, &lt;em&gt;Models of Computation, Riemann Hypothesis, and Classical Mathematics&lt;/em&gt;, SOFSEM 1998, LNCS 1521, 89–106. doi:&lt;a href=&quot;http://dx.doi.org/10.1007/3-540-49477-4_6&quot; rel=&quot;nofollow&quot;&gt;10.1007/3-540-49477-4_6&lt;/a&gt; (&lt;a href=&quot;http://www.researchgate.net/profile/Rsis_Freivalds/publication/225811967_Models_of_Computation_Riemann_Hypothesis_and_Classical_Mathematics/links/0deec52a4b499606e0000000.pdf&quot; rel=&quot;nofollow&quot;&gt;preprint&lt;/a&gt;)).&#xA;Then the same lower bound applies to USTCONN with the adjacency matrix representation.&#xA;This is perhaps too much of a cheat: usually enforcing the promise in a promise problem is meant to be easy compared to the actual problem, but here enforcing the promise that the input is a graph already gives the lower bound.&#xA;So it would be nice to see an argument for a logspace lower bound for the promise problem where the input is guaranteed to be from the language $\{\{0,1\}^{N \times N} \mid N=1,2,\dots\}$.&lt;/p&gt;&#xA;" OwnerUserId="109" LastEditorUserId="109" LastEditDate="2015-07-14T10:36:32.270" LastActivityDate="2015-07-14T10:36:32.270" Title="How to prove that USTCONN requires logarithmic space?" Tags="&lt;cc.complexity-theory&gt;&lt;lower-bounds&gt;&lt;reductions&gt;&lt;space-bounded&gt;" AnswerCount="1" CommentCount="6" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="31825" PostTypeId="2" ParentId="31820" CreationDate="2015-06-24T08:47:13.820" Score="10" Body="&lt;p&gt;The following is a rather straight-forward &lt;span class=&quot;math-container&quot;&gt;$O(n \log n)$&lt;/span&gt; toss algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assume &lt;span class=&quot;math-container&quot;&gt;$1-\exp(-n)$&lt;/span&gt; is the error probability we are aiming for. Let &lt;span class=&quot;math-container&quot;&gt;$N$&lt;/span&gt; be some power of &lt;span class=&quot;math-container&quot;&gt;$2$&lt;/span&gt; that is between say &lt;span class=&quot;math-container&quot;&gt;$100n$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$200n$&lt;/span&gt; (just some big enough constant times &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt;). We maintain a candidate set of coins, &lt;span class=&quot;math-container&quot;&gt;$C$&lt;/span&gt;. Initially, we put &lt;span class=&quot;math-container&quot;&gt;$N$&lt;/span&gt; coins in &lt;span class=&quot;math-container&quot;&gt;$C$&lt;/span&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now for &lt;span class=&quot;math-container&quot;&gt;$i=1,\dots,\log N$&lt;/span&gt;, do the following:&lt;br&gt;&#xA;Toss each coin in &lt;span class=&quot;math-container&quot;&gt;$C$&lt;/span&gt; for &lt;span class=&quot;math-container&quot;&gt;$D_i = 2^i  10^{10}$&lt;/span&gt; times (just some big enough constant).&lt;br&gt;&#xA;Keep the &lt;span class=&quot;math-container&quot;&gt;$N/2^i$&lt;/span&gt; coins with most heads.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The proof is based on a couple of Chernoff bounds. The main idea is that we half the number of candidates each time and thus can afford twice as many tosses of each coin.&lt;/p&gt;&#xA;" OwnerUserId="34536" LastEditorDisplayName="user30448" LastEditDate="2019-01-24T09:02:13.173" LastActivityDate="2019-01-24T09:02:13.173" CommentCount="12" ContentLicense="CC BY-SA 4.0" />
  <row Id="31826" PostTypeId="1" CreationDate="2015-06-24T14:35:05.793" Score="2" ViewCount="466" Body="&lt;p&gt;w.h.p. can often be seen in the analysis of randomized algorithms.  It's definition can be seen here &lt;a href=&quot;https://en.wikipedia.org/wiki/With_high_probability&quot; rel=&quot;nofollow&quot;&gt;https://en.wikipedia.org/wiki/With_high_probability&lt;/a&gt;. However my confusion is that:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assuming we have 4 cases as bellow, and we can use $\delta$  to replace $1/n$, then $O(\log(n))=O(\log(1/\delta))$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;case 1. ERROR is upper bounded by $O(n)$ with probability $1-\exp^{-n}$;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;case 2. ERROR is upper bounded by $O(n)$ with probability $1-n^{-1}$;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;case 3. ERROR is upper bounded by $O(n)$ with probability $1-n^{-1/3}$;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;case 4. ERROR is upper bounded by $O(n)$ with probability $1-1/\log^{n}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In above cases, all the probabilities turns to be $1$ as $n$ increases, which are all  w.h.p.(based on the above definition wiki). But in practice, case 1 is the most efficient result, case 2 and 3 can be acceptable, while case 4 seems to has no practical meaning. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, it seems we cannot use 'w.h.p.' to persuade other people to believe that the related (randomized) algorithms and theoretical guarantee can work well in practice?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;OR, can we have a rigorous definition for 'w.h.p.'?&lt;/p&gt;&#xA;" OwnerUserId="30506" LastActivityDate="2015-06-24T14:35:05.793" Title="the confusion about 'with high probability (w.h.p.)'" Tags="&lt;cc.complexity-theory&gt;&lt;linear-algebra&gt;&lt;randomized-algorithms&gt;&lt;na.numerical-analysis&gt;&lt;asymptotics&gt;" AnswerCount="0" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31828" PostTypeId="2" ParentId="31824" CreationDate="2015-06-24T17:02:37.973" Score="13" Body="&lt;p&gt;The paper &lt;a href=&quot;http://homepages.inf.ed.ac.uk/kousha/counting_suc_ls_sscj.ps&quot;&gt;Counting Quantifiers, Successor Relations and Logarithmic Space&lt;/a&gt;, by Kousha Etessami proves that the problem $\mathbf{ORD}$ (which is essentially checking if a vertex $s$ precedes a vertex $t$ in an outdegree one graph $G$, that is promised to be a path) is $\mathsf{L}$-hard under quantifier free projections.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem $\mathbf{ORD}$ can be seen to reduce to the problem $\mathbf{USTCONN}$, by $\mathsf{FO}$-reductions: Given an instance $\langle G,s,t\rangle$ of $\mathbf{ORD}$ just delete the edge out of $t$ and output the other edges $u \rightarrow v$ as undirected edges $\{u,v\}$ the $\mathbf{USTCONN}$ question being whether $s,t$ are connected in the resulting graph. (Note: The reduction can probably be made even finer.)&lt;/p&gt;&#xA;" OwnerUserId="214" LastActivityDate="2015-06-24T17:02:37.973" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="31830" PostTypeId="1" CreationDate="2015-06-25T07:14:09.060" Score="1" ViewCount="36" Body="&lt;p&gt;I have just been thinking about the simulated binary crossover (SBX) operator used in the NSGA-II algorithm and other real-valued genetic algorithms; and i am wondering if there is any reason that there always needs to be a crossover from both parents to both children? do both children need to be the &quot;opposite&quot; of each other in order to preserve diversity? or is it something that is just assumed?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As far as i can tell, the SBX operator seems to basically work by flipping a coin for each indexed element along a pair of strings to decide if the operator is called, and if the coin flip is successful, it generates a pair of values that are close to the original parent values in accordance with some probability distribution, and either swaps them between the children (p1_i-&gt;c2_i | p2_i-&gt;c1_i), or inserts them into their respective children (p1_i-&gt;c1_i | p2_i-&gt;c2_i).. but the key being, that the two offspring are always the &quot;inverse&quot; of eachother..&lt;/p&gt;&#xA;&#xA;&lt;p&gt;eg:&lt;br&gt;&#xA;p1 = [&lt;strong&gt;4 6 2 0 3&lt;/strong&gt;]     p2 = [&lt;em&gt;7 1 9 8 5&lt;/em&gt;]&lt;br&gt;&#xA;c1 = [&lt;strong&gt;4&lt;/strong&gt; &lt;em&gt;1 9&lt;/em&gt; &lt;strong&gt;0 3&lt;/strong&gt;]     c2 = [&lt;em&gt;7&lt;/em&gt; &lt;strong&gt;6 2&lt;/strong&gt; &lt;em&gt;8&lt;/em&gt; &lt;em&gt;5&lt;/em&gt;]  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;(to make my point easier to explain, i have omitted the fact that the child values are usually perturbed slightly from their original parent values when using SBX - ie. I am taking a child value of 2.2 to mean the same as a parent value of 2)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can see, in this way, c1 is the &quot;inverse&quot; of c2. Is there any reason why both children can't take on the characteristics of the same parent (p1_i-&gt;c1_i | p1_i-&gt;c2_i)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;eg:&lt;br&gt;&#xA;p1 = [&lt;strong&gt;4 6 2 0 3&lt;/strong&gt;]     p2 = [&lt;em&gt;7 1 9 8 5&lt;/em&gt;]&lt;br&gt;&#xA;c1' = [&lt;strong&gt;4 6&lt;/strong&gt; &lt;em&gt;9&lt;/em&gt; &lt;strong&gt;0&lt;/strong&gt; &lt;em&gt;5&lt;/em&gt;]     c2' = [&lt;strong&gt;4&lt;/strong&gt; &lt;em&gt;1&lt;/em&gt; &lt;strong&gt;2 0&lt;/strong&gt; &lt;em&gt;5&lt;/em&gt;]  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think I understand why this isn't the case with standard binary crossover, as you are dealing with blocks of values, but with real valued crossover you are taking each individual element in the string separately, so why can't both children take on the same value with a certain probability?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The only reason that I can think of is that it might be in order to maintain a higher diversity among the child solutions; and if a solution such as c2' was required, then it must come from a different crossover event in the future.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is my thinking on the right track? or is there another reason?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT:&lt;/strong&gt;&lt;br&gt;&#xA;I suppose the solution to this would be to generate two potential child values per crossover but only one child, which tosses a coin to see which of the potential values it gets; however this would require twice the number of crossover operations.&lt;/p&gt;&#xA;" OwnerUserId="26961" LastActivityDate="2015-06-25T07:14:09.060" Title="Why does there always need to be a direct crossover between parents and children in real valued GAs?" Tags="&lt;ne.neural-evol&gt;&lt;genetic-algorithms&gt;" AnswerCount="0" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31831" PostTypeId="2" ParentId="1556" CreationDate="2015-06-25T07:34:30.940" Score="0" Body="&lt;p&gt;The only other thing I would add to what has been said is, if you haven't already, do a course in linear algebra.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It will help you understand things like what $R^n$ means and concepts like that. Sometimes courses on a topic will give you a brief background in the linear algebra concepts and ideas specific to the material at hand, but they are never very deep; and I always find that it is a lot easier to comprehend and absorb an idea if you have a good understanding of the underlying mechanics.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would suggest the coursera course &lt;a href=&quot;https://www.coursera.org/course/matrix&quot; rel=&quot;nofollow&quot;&gt;Coding the Matrix: Linear Algebra Through Computer Science Applications&lt;/a&gt; from Brown University.&lt;/p&gt;&#xA;" OwnerUserId="26961" LastActivityDate="2015-06-25T07:34:30.940" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31832" PostTypeId="1" CreationDate="2015-06-25T08:05:09.633" Score="6" ViewCount="241" Body="&lt;p&gt;SAT is NP-complete, QBF is PSPACE-complete, DQBF is NEXPTIME-complete. Is there any extension of QBF or restriction of DQBF that is EXPTIME-complete?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Added later: a definition of DQBF can be found here: &lt;a href=&quot;https://www.react.uni-saarland.de/publications/sat14.pdf&quot;&gt;https://www.react.uni-saarland.de/publications/sat14.pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="34544" LastEditorUserId="34544" LastEditDate="2015-06-25T12:21:02.193" LastActivityDate="2015-06-25T12:21:02.193" Title="EXPTIME-complete propositional satisfiability problem" Tags="&lt;cc.complexity-theory&gt;" AnswerCount="0" CommentCount="5" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31833" PostTypeId="1" AcceptedAnswerId="31887" CreationDate="2015-06-25T13:33:13.673" Score="14" ViewCount="444" Body="&lt;p&gt;We consider DAGs (directed acyclic graphs) with one source node $s$ and one target node $t$; parallel edges joining the same pair of vertices are allowed. A $k$-&lt;b&gt;cut&lt;/b&gt; is a set of edges whose removal destroys all $s$-$t$ paths longer than $k$; shorter $s$-$t$ paths as well as long &quot;inner&quot; paths (those not between $s$ and $t$) may survive!&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;&lt;b&gt;Question:&lt;/b&gt;&#xA;Is it enough to remove at most about a $1/k$ portion of edges from a DAG&#xA; in order to destroy all $s$-$t$ paths longer than $k$?&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;That is, if $e(G)$ denotes the total number of edges in $G$, does then every DAG $G$ have&#xA;a $k$-cut with at most about $e(G)/k$ edges?  Two examples:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt; If &lt;i&gt;all&lt;/i&gt; $s$-$t$ paths have length $&amp;gt; k$, then a $k$-cut with $\leq e(G)/k$ edges exists.&#xA; This holds because then &#xA;there must be $k$ disjoint $k$-cuts: just layer the nodes of $G$ according to their&#xA;distance from the source node $s$.&#xA;&#xA;&lt;li&gt; If $G=T_n$ is a &lt;a href=&quot;https://en.wikipedia.org/wiki/Tournament_%28graph_theory%29&quot; rel=&quot;nofollow noreferrer&quot;&gt;transitive tournament&lt;/a&gt; (a complete DAG), then also a $k$-cut with &#xA;$\leq k\binom{n/k}{2} \approx e(G)/k$ edges exists: fix a&#xA;&lt;a href=&quot;https://en.wikipedia.org/wiki/Topological_sorting&quot; rel=&quot;nofollow noreferrer&quot;&gt;topological ordering&lt;/a&gt; of nodes, split the nodes into&#xA;$k$ consecutive intervals of length $n/k$, and remove all edges joining the nodes of the same interval; this will destroy all $s$-$t$ paths longer than $k$.&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;&lt;p&gt;&#xA;&lt;b&gt;Remark 1:&lt;/b&gt; A naive attempt to give a positive answer (which I also &lt;a href=&quot;https://cstheory.stackexchange.com/questions/16104/how-many-disjoint-edge-cuts-a-dag-must-have&quot;&gt;tried&lt;/a&gt; as first) would be to try to show that every DAG&#xA;must have about $k$ &lt;i&gt;disjoint&lt;/i&gt; $k$-cuts. Unfortunately, Example 2 shows that this attempt can badly fail: via a nice argument, David Eppstein has &lt;a href=&quot;https://cstheory.stackexchange.com/a/16123/5788&quot;&gt;shown&lt;/a&gt; that, for $k$ about $\sqrt{n}$, the graph $T_n$ cannot have more than four &lt;i&gt;disjoint&lt;/i&gt; $k$-cuts!&#xA;&lt;p&gt;&#xA;&lt;b&gt;Remark 2:&lt;/b&gt; It is important that a $k$-cut needs only to destroy all long $s$-$t$ paths, and not necessarily all long paths. Namely, there exist&lt;sup&gt;1&lt;/sup&gt; DAGs in which every&#xA;&quot;pure&quot; $k$-cut (avoiding edges incident to $s$ or $t$) must contain almost all edges.&#xA; So, my question actually is: can the possibility to remove also edges incident with $s$ or $t$ substantially reduce the size of a $k$-cut? Most probably, the answer is negative, but I could not find&#xA;a counterexample as yet.&#xA;&lt;p&gt;&#xA;&lt;b&gt;Motivation:&lt;/b&gt; My question is motivated by proving lower bounds for monotone switching-and-rectifier networks. Such a network is just a DAG, some of whose edges are labeled by tests &quot;is $x_i=1$?&quot; (there are no tests $x_i=0$).  The &lt;i&gt;size&lt;/i&gt; of a network is the number of labeled edges. An input&#xA;vector is accepted, if there is an $s$-$t$ path all whose tests are consistent with this vector. Markov has &lt;a href=&quot;http://www.thi.informatik.uni-frankfurt.de/~jukna/boolean/Markov-threshold.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;proved&lt;/a&gt; that, if&#xA;a monotone boolean function $f$ has no minterms shorter than $l$ and no maxterms shorter than $w$, then size  $l\cdot w$ is necessary.  A positive answer to my question would imply that&#xA;networks of size about $k\cdot w_k$ are necessary, if at least $w_k$ variables must be set to $0$ in order to destroy all minterms longer than $k$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;hr&gt;&#xA;&lt;p&gt;&lt;sup&gt;1&lt;/sup&gt;The construction is given in &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/030439758290113X&quot; rel=&quot;nofollow noreferrer&quot;&gt;this paper.&lt;/a&gt;&#xA;Take a complete binary tree $T$ of depth $\log n$. Remove all edges. For every inner node $v$, draw an edge to $v$ from every leaf of the left subtree of $T_v$, and an edge from $v$ to every leaf of the right subtree of $T_v$. Thus, every two leaves of $T$ are connected by a path of length $2$ in the DAG. The DAG itself has $\sim n$ nodes and $\sim n\log n$ edges, but $\Omega(n\log n)$ edges must be removed in order to destroy all paths longer than $\sqrt{n}$. &lt;/p&gt;&#xA;" OwnerUserId="5788" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.743" LastActivityDate="2015-07-12T09:23:59.563" Title="How expensive may it be to destroy all long s-t paths in a DAG?" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;&lt;circuit-complexity&gt;&lt;directed-acyclic-graph&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="31834" PostTypeId="2" ParentId="31777" CreationDate="2015-06-25T16:33:45.890" Score="-2" Body="&lt;p&gt;It was as simple as:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Take a Vertex-Cover problem to convert to LCS&lt;/li&gt;&#xA;&lt;li&gt;Create a string template from the Vertex-Cover graph&lt;/li&gt;&#xA;&lt;li&gt;Take each vertex from the Vertex-Cover problem and generate an equivalent string for it, ommiting the vertex selected&lt;/li&gt;&#xA;&lt;li&gt;Presto, you have a LCS problem equivalent.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Thanks for the downvotes&lt;/p&gt;&#xA;" OwnerUserId="34476" LastActivityDate="2015-06-25T16:33:45.890" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31835" PostTypeId="1" CreationDate="2015-06-25T17:52:48.180" Score="22" ViewCount="968" Body="&lt;p&gt;I am looking into the last open question regarding the existence of &lt;a href=&quot;https://en.wikipedia.org/wiki/Moore_graph&quot; rel=&quot;noreferrer&quot;&gt;Moore Graphs&lt;/a&gt; of diameter 2. A problem that has been open in combinatorics for more than 55 years.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You may recall that &lt;a href=&quot;http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=5392463&quot; rel=&quot;noreferrer&quot;&gt;Hoffman and Singleton&lt;/a&gt; proved that the only &lt;em&gt;Moore Graphs&lt;/em&gt; [: regular graphs achieving the Moore Bound for a given diameter $d$ and a degree $\Delta$] that exist for diameter $d=2$ are for degree $\Delta=2,3,7$ and possibly &lt;strong&gt;57&lt;/strong&gt;, but for no other degrees.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Little is really known about the &lt;em&gt;57-Moore Graph&lt;/em&gt;. I will attempt to make a complete list of all facts known about it here and hopefully start a conversation or discover more of them that I may have missed.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;The 57-Moore Graph&lt;/strong&gt; will have:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Diameter $d=2$, [definition]&lt;/li&gt;&#xA;&lt;li&gt;Degree $\Delta=57$, [definition]&lt;/li&gt;&#xA;&lt;li&gt;Girth $g=5$, [MS10]&lt;/li&gt;&#xA;&lt;li&gt;Number of vertices $|V| = 3250$, [definition]&lt;/li&gt;&#xA;&lt;li&gt;Number of edges $|E| = 92625$, [definition]&lt;/li&gt;&#xA;&lt;li&gt;At most 375 automorphisms, [MS10]&lt;/li&gt;&#xA;&lt;li&gt;Independent Number at most 400, and [reference missing, take it with a grain of salt]&lt;/li&gt;&#xA;&lt;li&gt;It will be regular, [definition]&lt;/li&gt;&#xA;&lt;li&gt;It will not be vertex-transitive. [Ca83]&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Some more results from combinations of the above:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Proposition 1. [MS10]&lt;/strong&gt; &lt;em&gt;It's Adjacency Matrix $A$ will satisfy $$A^2 +A - 56I = J,$$ where $I$ is the identity matrix and $J$ the all one matrix. Consequently, it's eigenvalues will be 57, 7, and −8, with multiplicities 1, 1729, and 1520, respectively.&lt;/em&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;This, to the best of my knowledge, is all we know about the existence of this graph. Have I missed something? Is there something more that we can say about this graph? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Moreover, assuming that this graph exists, is there any hope in pruning down the search space enough to at least try to find it with a semi-brute force approach using supercomputers? Clearly, the search space is too large to brute force even if knew the exact edge count. But can we make other observations towards this or do you think that it is hopeless and that the existence (or not) of this graph would have to be proved some other way?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thank you.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[Ca83] P.J. Cameron, &lt;em&gt;Automorphism groups of graphs&lt;/em&gt;, Selected Topics in Graph Theory II (ed. L. W. Beineke and R. J. Wilson), 89-127, Academic Press, London, 1983.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[MS10] M. Mačaj, J. Širáň, Search for properties of the missing Moore graph, Linear Algebra and its Applications, Volume 432, Issue 9, 15 April 2010, Pages 2381-2398, ISSN 0024-3795 (&lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0024379509003735#&quot; rel=&quot;noreferrer&quot;&gt;http://www.sciencedirect.com/science/article/pii/S0024379509003735#&lt;/a&gt;)&lt;/p&gt;&#xA;" OwnerUserId="49647" LastEditorUserId="49647" LastEditDate="2015-06-26T21:03:36.343" LastActivityDate="2015-06-26T21:03:36.343" Title="$\Delta = 57, d=2$ Moore Graph" Tags="&lt;graph-theory&gt;&lt;open-problem&gt;&lt;combinatorics&gt;" AnswerCount="0" CommentCount="6" FavoriteCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="31836" PostTypeId="1" CreationDate="2015-06-26T02:28:58.817" Score="3" ViewCount="53" Body="&lt;p&gt;Suppose C is a large circuit computing a function $f:2^n \rightarrow 2^m$. For a function $g$ let $B(g)$ denote the size of the minimal Boolean circuit computing $g$. What can be said about the moments of $B(g)$ for $g$ a random restriction of $f$? What about the same question for the concatenation of $k$ random restrictions for some fixed $k$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Apologies if this question is too basic, but I haven't found a source that directly addresses this question, if you know of one please let me know.&lt;/p&gt;&#xA;" OwnerUserId="34552" LastActivityDate="2015-06-26T02:28:58.817" Title="moments of complexity for random restriction" Tags="&lt;boolean-functions&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31837" PostTypeId="2" ParentId="31782" CreationDate="2015-06-26T07:21:04.983" Score="2" Body="&lt;p&gt;In my first answer, I addressed the NP-hardness of this problem. Here I address the approximability. &lt;/p&gt;&#xA;&#xA;&lt;h1&gt;Overview&lt;/h1&gt;&#xA;&#xA;&lt;p&gt;Below, we reduce the Hub problem to the Set Cover problem such that the choice of sets in the Set Cover instance corresponds with a choice of hub vertices. Then any approximation algorithm for Set Cover can be used to approximate this problem (to within the same factor) simply by following the reduction, approximating the resulting Set Cover instance, and outputting a selection of hub vertices which corresponds with the selection of sets in the chosen set cover.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For completeness, we also reduce Set Cover to the Hub problem such that the choice of sets in the Set Cover instance corresponds with a choice of hub vertices. In much the same way, this proves that any approximation algorithm for the Hub problem can be used to approximate Set Cover to within the same factor.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thus the Hub problem is approximable within some factor in polynomial time if and only if Set Cover is approximable within that factor in polynomial time. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Under the assumption that $P \ne NP$, Set Cover is not approximable within a factor of $(1-o(n))\cdot \ln n$ where $n$ is the number of elements in the universe (according to wikipedia: &lt;a href=&quot;https://en.wikipedia.org/wiki/Set_cover_problem#Inapproximability_results&quot; rel=&quot;nofollow&quot;&gt;https://en.wikipedia.org/wiki/Set_cover_problem#Inapproximability_results&lt;/a&gt;). Since under the reductions below every element in the universe corresponds with a start vertex, the Hub problem is inapproximable within a factor of $(1-o(n))\cdot \ln n$ where $n$ is the number of start vertices. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, if a $\Theta(\ln n)$-approximation (where $n$ is the number of start vertices) is of interest, this is certainly possible. In particular, an explicit approximation algorithm for the Hub problem can be constructed out of any approximation algorithm for Set Cover together with the Hub Problem -&gt; Set Cover reduction provided below. Any $\Theta(\log n)$-approximation algorithm for Set Cover from the literature would serve.&lt;/p&gt;&#xA;&#xA;&lt;h1&gt;Hub Problem -&gt; Set Cover reduction&lt;/h1&gt;&#xA;&#xA;&lt;p&gt;For this reduction, we start with an instance of the Hub Problem. This consists of a graph $G = (V, E)$, an assignment of lengths to the edges, a partition of $V$ into start vertices, exit vertices, and vertices that could be hubs, and values $\gamma$ and $\delta$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First conduct an All-Pairs Shortest Paths search to compute the distance between every pair of vertices. If we replace the given graph with a complete graph whose edge lengths are the shortest path distances, the problem clearly remains the same. The benefit of doing this is that removing a vertex (and all of the edges incident on it) will not affect the distance between any two other vertices. Thus if we are certain that a potential hub vertex will not be chosen as a hub, we can remove the vertex while preserving the answer to the problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Conduct a breadth first search of all of the vertices starting at all of the exit vertices that searches to distance $\delta$. This allows us to quickly split the vertices of the graph into two groups: the vertices within distance $\delta$ of at least one exit vertex and the vertices that are a distance of greater than $\delta$ from every exit vertex. Any potential hub vertex in the second group can never serve as a hub between a start vertex and an exit vertex since the exit vertex will be a distance of more than $\delta$ away from the hub. Thus it is never necessary to select a vertex in this second group as a hub. As a result, we can remove all of those vertices from the graph while preserving the answer to the problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we do that, we find that every remaining potential hub vertex will be within distance $\delta$ of at least one exit vertex. Then it is sufficient to select a set of hubs such that every start vertex is within a distance of $\gamma$ of that hub. If we do that, clearly every start vertex will be within a distance of $\gamma$ of a hub that is within a distance of $\delta$ of an exit vertex.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But then, if we remove all the exit vertices and also remove the constraint regarding exit vertices, the answer to the problem will remain the same.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;At this point, we are left with a complete graph on some set of vertices that can be partitioned into start vertices and potential hubs. Each edge has some length, and we wish to select vertices from among the potential hubs such that every start vertex is within distance $\gamma$ of a selected hub. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that since the distance between two vertices is the length of the edge between them, we have a very quick way of determining whether a start vertex and a potential hub have distance at most $\gamma$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now we construct an equivalent Set Cover instance. The universe being covered consists of $n$ elements where $n$ is the number of start vertices. There are $m$ sets with which we could cover this universe, where $m$ is the number of potential hubs. Each element in the universe is associated with a start vertex and each set is associated with a potential hub. In particular, the set associated with a given potential hub consists exactly of the set of elements associated with those start vertices that are within a distance of $\gamma$ of the given potential hub. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Clearly, since shortest paths, breadth first search, and removal of vertices from a graph are all polynomial time operations, this reduction is polynomial time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Furthermore, as argued, the original problem is equivalent to the problem of choosing hubs in the final bipartite graph (with parts for start vertices and parts for potential hubs) such that each start vertex is within range of a chosen hub. The reduction maps the potential hubs to the sets and the start vertices to the elements: the Set Cover instance requires a choice of sets (potential hubs) such that each element (start vertex) is contained in (within $\gamma$ of) at least one chosen set (hub). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thus the reduction is answer preserving.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As we see the reduction is polynomial time and answer preserving. In addition, the choices of hub vertices correspond with choices of sets and $n$ corresponds with the number of start vertices, as claimed in the overview.&lt;/p&gt;&#xA;&#xA;&lt;h1&gt;Set Cover -&gt; Hub Problem reduction&lt;/h1&gt;&#xA;&#xA;&lt;p&gt;For this reduction, we start with an instance of Set Cover consisting of universe $\{1,..., n\}$ and a list of sets $S_1, S_2, ..., S_m$ with $S_i \subseteq \{1,..., n\}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We wish to construct an instance of the Hub problem such that the number of hub vertices necessary to create a hub is equal to the number of sets $S_i$ necessary for their union to be the entire universe.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Construct the instance as follows: &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$G = (V,E)$ has vertex set $V$ and edge set $E$.&lt;/li&gt;&#xA;&lt;li&gt;$V = \{(1, 0), (2, 0), ..., (m, 0)\} \cup \{(1, 1), (2, 1), ..., (m, 1)\} \cup \{(1, 2), (2, 2), ..., (n, 2)\}$&lt;/li&gt;&#xA;&lt;li&gt;For all $i \in \{1, ..., m\}$, $((i,0),(i,1))$ is an edge in $E$.&lt;/li&gt;&#xA;&lt;li&gt;For all $i \in \{1, ..., m\}$ and $j \in \{1, ..., n\}$, $((i,1),(j,2))$ is an edge in $E$ if and only if $j \in S_i$.&lt;/li&gt;&#xA;&lt;li&gt;No other edges are present in $E$.&lt;/li&gt;&#xA;&lt;li&gt;Every edge has length 1, so that the distance function is the standard undirected graph distance.&lt;/li&gt;&#xA;&lt;li&gt;$S = \{(1, 2), (2, 2), ..., (n, 2)\}$.&lt;/li&gt;&#xA;&lt;li&gt;$EX = \{(1, 0), (2, 0), ..., (m, 0)\}$.&lt;/li&gt;&#xA;&lt;li&gt;$\gamma=\delta=1$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Clearly this instance can be constructed in polynomial time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since every vertex that could be a hub vertex (the ones of the form $(i, 1)$) is within distance one of an exit vertex (in particular $(i, 0)$), the only constraint that the Hub problem imposes that is not automatically satisfied is that every start vertex must be within distance one of at least one hub vertex. In other words, every start vertex must be adjacent to a hub vertex. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thus the Hub problem instance is equivalent to the problem of choosing vertices among $\{(1, 1), (2, 1), ..., (m, 1)\}$ such that each vertex in $\{(1, 2), (2, 2), ..., (n, 2)\}$ is adjacent to at least one chosen vertex. But $(j, 2)$ is adjacent to $(i, 1)$ if and only if $j \in S_i$. Thus the Hub problem instance is equivalent to the problem of choosing values among $\{1, 2, ..., m\}$ such that each value in $\{1, 2, ..., n\}$ is in $S_i$ for at least one chosen $i$. This is exactly the Set Cover instance.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thus the reduction is answer preserving.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As we see the reduction is polynomial time and answer preserving. In addition, the choices of hub vertices correspond with choices of sets and $n$ corresponds with the number of start vertices, as claimed in the overview.&lt;/p&gt;&#xA;" OwnerUserId="34401" LastActivityDate="2015-06-26T07:21:04.983" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31838" PostTypeId="1" AcceptedAnswerId="31850" CreationDate="2015-06-26T08:09:38.717" Score="14" ViewCount="1038" Body="&lt;p&gt;$P/poly = NP/poly$ implies $NP \subseteq P/poly$, which in turn has interesting consequences like the collapse of the polynomial hierarchy.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there interesting implications for $P/poly \neq NP/poly$?&lt;/p&gt;&#xA;" OwnerUserId="20340" LastEditorUserId="109" LastEditDate="2015-06-26T17:04:07.133" LastActivityDate="2015-06-28T12:57:46.963" Title="Does P/poly $\neq$ NP/poly have any interesting implications?" Tags="&lt;cc.complexity-theory&gt;&lt;conditional-results&gt;&lt;advice-and-nonuniformity&gt;" AnswerCount="1" CommentCount="10" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="31839" PostTypeId="1" CreationDate="2015-06-26T08:54:13.810" Score="1" ViewCount="93" Body="&lt;p&gt;Consider a the splittable minimum cost flow problem on network $G(V,E,W,C)$ and a set of commodities $(s_i,t_i)$ with demand $d_i$ for $i=1,2,\dots,k$. Here, $w_e$ and $c_e$ is the weight of edge $e$ and the capacity of edge $e$, respectively. My question is what happens if we scale the demands and the capacities linearly but decrease the weights inversely. &#xA;Consider the same problem on $G(V,E,W/\lambda, \lambda C)$ for the commodities $(s_i,t_i)$ with demand $\lambda d_i$ for $i=1,2,\dots,k$, where $\lambda$ is a constant. For each $\lambda$ we get a solution $OPT(\lambda)$. I am interested in the minimization of $OPT(\lambda)$ over $\lambda&amp;gt; 0$.     &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If someone can point me to the existing literature it will be helpful.  &lt;/p&gt;&#xA;" OwnerUserId="34441" LastEditorUserId="34441" LastEditDate="2015-06-29T06:01:47.037" LastActivityDate="2015-06-29T06:01:47.037" Title="Minimum cost flow with Demand and Edge Capacity scaling" Tags="&lt;linear-programming&gt;&lt;max-flow-min-cut&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31840" PostTypeId="1" AcceptedAnswerId="31841" CreationDate="2015-06-26T22:11:53.060" Score="0" ViewCount="86" Body="&lt;p&gt;For each array position it is known if position filled or not.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;How efficiently pick one free position with &lt;em&gt;uniform probability&lt;/em&gt;?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;That task happen during implementation of AI by Monter-Carlo method for board game.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have in mind:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;uniformly pick random index of array and check position, repeat until success - this method is extremely bad for mostly filled arrays&lt;/li&gt;&#xA;&lt;li&gt;count free positions, uniformly pick random number from 1 to count and scan for that free position - this method require 2 arrays scans&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Is it possible uniformly pick free position with only one scan?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;From my intuition this algorithm produce biased solution toward clustered arrays:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;uniformly select index and scal to one side until find free position &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;What if for each &lt;em&gt;free position picking&lt;/em&gt; generate random permutation without cycles and travel across all elements by uniformly choosing index and recursively applying permutation until free position was found? I don't know if this algorithm leads to uniform picking. I don't know how to represent computationally efficient subset of permutations. This way may produce one pass solution... &lt;/p&gt;&#xA;" OwnerUserId="5916" LastActivityDate="2015-06-26T22:24:55.897" Title="Efficiently picking free position from array with uniform probability." Tags="&lt;randomized-algorithms&gt;&lt;search-problem&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31841" PostTypeId="2" ParentId="31840" CreationDate="2015-06-26T22:24:55.897" Score="4" Body="&lt;p&gt;&lt;a href=&quot;https://stackoverflow.com/q/2612648&quot;&gt;Reservoir sampling&lt;/a&gt; can be used to uniformly pick a &quot;free position with only one scan&quot;.&lt;/p&gt;&#xA;" OwnerDisplayName="user6973" LastEditorUserId="-1" LastEditDate="2017-05-23T12:40:09.333" LastActivityDate="2015-06-26T22:24:55.897" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31842" PostTypeId="2" ParentId="31775" CreationDate="2015-06-27T00:20:05.407" Score="5" Body="&lt;p&gt;This is equivalent to computing the sign rank of a matrix, which is NP-hard as shown in &lt;a href=&quot;http://www.math.rutgers.edu/~sk1233/signrankNP.pdf&quot; rel=&quot;noreferrer&quot;&gt;this paper&lt;/a&gt;. So you cannot expect too efficient of an algorithm.&lt;/p&gt;&#xA;" OwnerUserId="4896" LastActivityDate="2015-06-27T00:20:05.407" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31843" PostTypeId="2" ParentId="31669" CreationDate="2015-06-27T03:02:19.267" Score="1" Body="&lt;p&gt;I finally managed to ask the person that originally told me about this approach. It appears to be closely related to &lt;em&gt;maximum variance unfolding&lt;/em&gt; (MVU), see also &lt;a href=&quot;https://en.wikipedia.org/wiki/Semidefinite_embedding&quot; rel=&quot;nofollow&quot;&gt;https://en.wikipedia.org/wiki/Semidefinite_embedding&lt;/a&gt;. The paper introducing this approach is &quot;Learning a kernel matrix for nonlinear dimensionality reduction&quot; by Weinberger, Sha, and Saul if I am not mistaken.&lt;/p&gt;&#xA;" OwnerUserId="13553" LastEditorUserId="13553" LastEditDate="2015-06-27T09:32:49.053" LastActivityDate="2015-06-27T09:32:49.053" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31845" PostTypeId="1" CreationDate="2015-06-27T08:26:09.523" Score="3" ViewCount="174" Body="&lt;p&gt;Many matrix diagonalization algorithms have time complexity $\mathcal{O}(n^3)$ where $n$ is the number of columns/raws (consider only square matrices).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is the best time lower bound it is known?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another question is whether the decision version of this eigenvalue problem is known to be in $L$.&lt;/p&gt;&#xA;" OwnerUserId="32007" LastEditorUserId="1993" LastEditDate="2018-08-02T05:56:14.303" LastActivityDate="2018-08-02T05:56:14.303" Title="Complexity of eigenvalue problem" Tags="&lt;time-complexity&gt;&lt;linear-algebra&gt;" AnswerCount="0" CommentCount="1" ContentLicense="CC BY-SA 4.0" />
  <row Id="31846" PostTypeId="1" CreationDate="2015-06-27T15:43:07.283" Score="11" ViewCount="844" Body="&lt;p&gt;I was wondering what the list of current natural computational problems is for which there is no known complexity advantage in using a quantum computer. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;To start things off, I think computation of the edit distance is one for which the fastest known quantum algorithm seems to be the fastest known classical one. More tentatively, I would also suggest sorting as another problem for which there is no known quantum speedup (compared to the fastest known unit-cost word RAM algorithm).&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Although I don't want to set a hard restriction, I am particularly interested in problems in NP and/or problems with no known efficient classical solution.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Following a suggestion of Juan Bermejo Vega  here is some further clarification.  I am interested in problems in NP for which there is currently no known big $O$ time complexity advantage at all if you use a quantum computer. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am not focusing on cases where we can prove there &lt;em&gt;can't&lt;/em&gt; be an advantage nor am I focusing on &lt;em&gt;exponential&lt;/em&gt; speedups (i.e. &lt;em&gt;polynomial&lt;/em&gt; would also be fine).  So far it seems the only two examples are the ones in my question which seems very surprising if it is really true.&lt;/p&gt;&#xA;" OwnerUserId="17390" LastEditorUserId="7286" LastEditDate="2015-07-13T13:35:52.930" LastActivityDate="2018-04-22T10:57:28.473" Title="Problems with no known quantum advantage" Tags="&lt;ds.algorithms&gt;&lt;quantum-computing&gt;&lt;big-list&gt;" AnswerCount="2" CommentCount="5" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="31848" PostTypeId="2" ParentId="31846" CreationDate="2015-06-27T18:22:35.553" Score="5" Body="&lt;p&gt;This is not in NP, but comparison-based sorting. The $\Omega(n \log n)$ lower bound is information theoretic.&lt;/p&gt;&#xA;" OwnerUserId="3964" LastActivityDate="2015-06-27T18:22:35.553" CommentCount="10" ContentLicense="CC BY-SA 3.0" />
  <row Id="31849" PostTypeId="1" CreationDate="2015-06-27T20:12:11.317" Score="4" ViewCount="91" Body="&lt;p&gt;Let $G=(V, E)$ be an undirected simple graph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is it known how to list all the maximal bipartite subgraphs of $G$, without repetitions, and with a polynomial time delay and a polynomial space complexity ? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;(by polynomial time delay it is meant that the time spent between the outputting of any two subsequent maximal bipartite subgraphs is polynomial in $|V|$)&lt;/p&gt;&#xA;" OwnerUserId="20792" LastEditorUserId="20792" LastEditDate="2015-06-28T18:40:00.673" LastActivityDate="2015-06-28T18:40:00.673" Title="Polynomial Time Delay Enumeration of Maximal Bipartite Subgraphs" Tags="&lt;ds.algorithms&gt;&lt;graph-algorithms&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="31850" PostTypeId="2" ParentId="31838" CreationDate="2015-06-28T12:57:46.963" Score="12" Body="&lt;p&gt;Emil Jeřábek' comment answers the question:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;P/poly $=$ NP/poly is equivalent to NP $\subseteq$ P/poly&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Note the corollary&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;P/poly $\neq$ NP/poly implies P $\neq$ NP.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Proof of corollary: &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;P/poly $=$ NP/poly is equivalent to NP $\subseteq$ P/poly $\ $ (Emil's comment)&lt;/li&gt;&#xA;&lt;li&gt;NP $\subseteq$ P/poly implies P/poly $=$ NP/poly $\ $ (implied by 1.)&lt;/li&gt;&#xA;&lt;li&gt;P/poly $\neq$ NP/poly implies NP $\not\subseteq$ P/poly $\ $ (equivalent to 2.)&lt;/li&gt;&#xA;&lt;li&gt;NP $\not\subseteq$ P/poly implies P $\neq$ NP $\ $ (P $\subseteq$ P/poly)&lt;/li&gt;&#xA;&lt;li&gt;P/poly $\neq$ NP/poly implies P $\neq$ NP $\ $ (implied by 3. and 4.)&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Proof of Emil's comment:&#xA;It is sufficient to show that NP $\subseteq$ P/poly implies P/poly $=$ NP/poly.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;So let's assume NP $\subseteq$ P/poly.&lt;/li&gt;&#xA;&lt;li&gt;Because SAT $\in$ NP there exists $p_{SAT}\geq k_{SAT}&amp;gt;0$ and a sequence of advice strings $s_n$ with $\left|s_n\right|\leq n^{k_{SAT}}$, a deterministic algorithm that can decide SAT instances of size $n$ in time $\leq n^{p_{SAT}}$, if it has access to $s_n$. WLOG, that algorithm can also decide SAT instances of size $\leq n$, because we can define a modified sequence $s'_n=s'_{n-1}s_n$ with $\left|s'_n\right|\leq n^{k_{SAT}+1}$, where all previous advice strings are included in $s'_n$.&lt;/li&gt;&#xA;&lt;li&gt;Now let $L\in$ NP/poly be an arbitrary language, for which we need to show $L\in$ P/poly. There exists $p_L\geq k_L&amp;gt;0$ and a sequence of advice strings $l_n$ with $\left|l_n\right|\leq n^{k_L}$ and a nondeterministic algorithm that can decide $L$ instances of size $n$ in time $\leq n^{p_L}$, if it has access to $l_n$.&lt;/li&gt;&#xA;&lt;li&gt;For each $w$ with $|w|=n$, a SAT instance of size $\leq c\cdot n^{p_L}$ can be computed (in time $O(n^{p_L})$) that is satisfiable exactly if $w\in L$.&lt;/li&gt;&#xA;&lt;li&gt;So for the sequence of advice strings $t_n=l_ns_{c\cdot n^{p_L}}$ with $|t_n|\leq n^{k_L}+(c\cdot n^{p_L})^{k_{SAT}}$, the combination of the deterministic algorithms from 2. and 4. gives a deterministic algorithm that can decide $L$ instances of size $n$ in time $O((c\cdot n^{p_L})^{p_{SAT}})$, if it has access to $t_n$.&lt;/li&gt;&#xA;&lt;li&gt;Because $L\in$ NP/poly was an arbitrary language, this shows NP/poly $\subseteq$ P/poly, under the assumption that NP $\subseteq$ P/poly.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;All the above proofs relativize, because the existence of NP-complete problems is also true in relativized worlds. This suggests that it is fruitless to search for a proof that P/poly $\neq$ NP/poly. However let's summarize the &lt;a href=&quot;https://cstheory.stackexchange.com/revisions/31838/2&quot;&gt;removed motivation section&lt;/a&gt; from the question as &quot;The advice string could be a formal axiomatic system (automatically guaranteed to be consistent, evil grin) whose strength is quickly increasing with input length, and NP is extermely good at exploiting this advice.&quot; If one is not very careful that &quot;existence of a sequence of advice stings&quot; only has &quot;formal&quot; meaning relative to a fixed formal system, that setup is likely to allow the construction of apparent paradoxes. But the construction of such paradoxes might be fun nevertheless, and perhaps they might even suggests ways how to construct independence proofs (for sufficiently weak formal systems).&lt;/p&gt;&#xA;" OwnerUserId="20340" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.743" LastActivityDate="2015-06-28T12:57:46.963" CommentCount="0" CommunityOwnedDate="2015-06-28T12:57:46.963" ContentLicense="CC BY-SA 3.0" />
  <row Id="31851" PostTypeId="1" AcceptedAnswerId="31853" CreationDate="2015-06-28T14:53:37.093" Score="6" ViewCount="150" Body="&lt;p&gt;Assume we have an undirected graph $G=(V,E)$ and vertex locations $\pi: V \rightarrow \mathbb{R}^2$. I am looking for a procedure to perturb the vertex positions to obtain new positions $\pi'$ such that the following statements hold:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;For every pair $s\neq t \in V$, there is a &lt;strong&gt;unique&lt;/strong&gt; shortest s-t-path $P_{s,t}$ in $G$ w.r.t. the euclidean weight function $c(v,w)=|\pi'(v)-\pi'(w)|_2$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;$P_{s,t}$ is also a shortest s-t-path w.r.t. the original vertex positions $\pi$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;$\pi'$ can be deterministically computed in polynomial time given $\pi$. The length of the numbers occuring in $\pi'$ are polynomially bounded in the length of those in $\pi$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;I know that &lt;a href=&quot;https://cstheory.stackexchange.com/a/17581/13956&quot;&gt;lexicographic perturbation&lt;/a&gt; is a standard procedure to do this deterministically. Sadly there is no simple way to modify the distance of only a single edge in euclidean instances.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there any known approach that can be applied to those euclidean instances? Even a randomized perturbation algorithm would be interesting for me.&lt;/p&gt;&#xA;" OwnerUserId="13956" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.743" LastActivityDate="2015-06-28T17:43:05.630" Title="Lexicographic perturbation for euclidean shortest path instances?" Tags="&lt;reference-request&gt;&lt;graph-theory&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="31852" PostTypeId="2" ParentId="31742" CreationDate="2015-06-28T15:47:05.287" Score="2" Body="&lt;p&gt;Alper Ungor did some nice work related to this issues of how do Delaunay refinement with alternative points. See his paper: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;&lt;a href=&quot;http://www.cise.ufl.edu/~ungor/papers/offCenter.pdf&quot; rel=&quot;nofollow&quot;&gt;A. Ungor. Off-centers: A new type of Steiner points for computing size-optimal guaranteed-quality Delaunay triangulations. Computational&#xA;Geometry: Theory and Applications (CGTA), 42(2): 109--118, 2009.&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;&#xA;" OwnerUserId="9594" LastEditorUserId="2949" LastEditDate="2015-07-01T11:25:46.787" LastActivityDate="2015-07-01T11:25:46.787" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="31853" PostTypeId="2" ParentId="31851" CreationDate="2015-06-28T17:43:05.630" Score="7" Body="&lt;p&gt;I think you're unlikely to get a good answer, because this is tied up in difficult and unsolved algebraic problems. The issue is that Euclidean path lengths (for points with integer coordinates) can be expressed as sums of square roots, but we don't know how small the difference between two distinct sums of square roots can be. Because of this, we also don't know how far apart the shortest path length and second-shortest distinct path length between a given pair of vertices can be, and therefore we don't know how small we have to make a perturbation to prevent it from changing the shortest path to a path that wasn't originally shortest.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the same reason, shortest paths in Euclidean graphs are not really known to be solvable in polynomial time, in models of computation that take into account the bit complexity of the inputs, even though Dijkstra is polynomial in a model of computation allowing constant-time real-number arithmetic. So asking for a polynomial time algorithm for a more complicated variant of the problem in which the bit complexity is unavoidable seems likely to have a negative answer.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2015-06-28T17:43:05.630" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="31854" PostTypeId="1" CreationDate="2015-06-28T17:48:57.167" Score="7" ViewCount="258" Body="&lt;p&gt;I'm looking for research into this problem -- computational complexity, solution algorithms, approximation algorithms, etc. If it has a canonical name, that would help me look into prior research.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose there are two sets of integers S1 and S2 that are subsets of the positive integers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The sum of all numbers in S1 equals the sum of all numbers in S2.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Find all subsets of S1 and subsets of S2 such that the the subsets sum up equivalently between the two. For example:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;S1 = (1,2,3,4) S2 = (2, 2, 3, 3)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;solutions:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(1+2 = 3, 3 = 3, 4 = 2+2)&lt;br&gt;&#xA;(1+2+3 = 3+3, 4 = 2+2)&lt;br&gt;&#xA;(1+2+3+4 = 2+2+3+3)&lt;br&gt;&#xA;(1+3 = 2+2, 2+4 = 3+3)&lt;br&gt;&#xA;(1+3+4 = 2+3+3, 2=2)&lt;br&gt;&#xA;(2+3 = 2+3, 1+4 = 2+3)&lt;br&gt;&#xA;etc.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You could also frame this in terms of making all numbers in S2 negative, collapsing them into one set, and finding all permutation subsets such that each subset adds up to 0.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If the numbers in S2 are expressed as negative numbers, the problem could also be expressed as a graph in which each node is an integer, and the goal is to find all possible disjoint sets such that the members of each set add up to 0.&lt;/p&gt;&#xA;" OwnerUserId="34571" LastActivityDate="2015-07-28T21:55:48.177" Title="Does this problem related to subset sum have a name?" Tags="&lt;subset-sum&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="31855" PostTypeId="2" ParentId="31854" CreationDate="2015-06-28T18:37:20.113" Score="2" Body="&lt;p&gt;I've never heard of this problem before, but it's clearly NP-hard.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There's a simple polynomial time reduction from subset-sum to this problem.  All you have to do is take an instance of subset-sum such as:  {x1, x2, x3, ... , x_n} ...and map it to this instance of the problem you describe:  S1 = {x1, x2, x3, ..., x_n}; S2 = {0}.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(I initially misread your question and thought that you were talking about a decision problem; since that was not what you meant, I cannot say anything beyond whether or not it is NP-hard except that it is EXPTIME.  It is likely not NP; see the comments below.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Either way, I don't think you are going to find any good solution or approximation algorithms.&lt;/p&gt;&#xA;" OwnerUserId="1338" LastEditorUserId="1338" LastEditDate="2015-06-28T21:25:49.843" LastActivityDate="2015-06-28T21:25:49.843" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="31856" PostTypeId="1" AcceptedAnswerId="31858" CreationDate="2015-06-29T10:11:48.647" Score="1" ViewCount="348" Body="&lt;p&gt;I have a strongly connected component with over 200 vertices and more than 600 edges. I need to iterate through each simple cycle in the graph exhaustively, without specifying a particular node. Is there any efficient algorithm to perform this operation?&lt;/p&gt;&#xA;" OwnerUserId="34580" LastActivityDate="2015-06-29T12:54:31.950" Title="Finding all possible simple cyclic paths in a digraph" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31857" PostTypeId="2" ParentId="30936" CreationDate="2015-06-29T11:46:30.913" Score="1" Body="&lt;p&gt;I think that in principle it would take exponential time to compute this probability exactly. Hence sampling would be the only option here, although you would have to settle for additive and multiplicative approximation here.&#xA;Can I ask you about the problem in which you need this value to be computed? &lt;/p&gt;&#xA;" OwnerUserId="31758" LastActivityDate="2015-06-29T11:46:30.913" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31858" PostTypeId="2" ParentId="31856" CreationDate="2015-06-29T12:54:31.950" Score="2" Body="&lt;p&gt;Efficient Algorithms are already known in the literature.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See e.g., &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Tarjan, R E and Read, R C (1975) Bounds on backtrack algorithms for listing cycles, paths, and spanning trees. Networks 5(3):237-252&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Johnson, D. B. (1975) Finding All the Elementary Circuits of a Directed Graph. SIAM Journal on Computing 4(1):77-84. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="20792" LastActivityDate="2015-06-29T12:54:31.950" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31860" PostTypeId="1" CreationDate="2015-06-29T16:01:44.947" Score="3" ViewCount="265" Body="&lt;p&gt;Motivated by the mean-variance optimization, I came up with the following question: Given&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$n$ integers $a_1, \cdots, a_n$;&lt;/li&gt;&#xA;&lt;li&gt;$n$ lower bounds $0&amp;lt;\ell_1, \cdots, \ell_n&amp;lt;1$&lt;/li&gt;&#xA;&lt;li&gt;$n$ upper bounds $0&amp;lt;u_1, \cdots, u_n&amp;lt;1$&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The problem is to solve&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;minimize $\sum_{i=1}^n a_i^2 x_i- (\sum_{i=1}^n a_i x_i)^2$&lt;/li&gt;&#xA;&lt;li&gt;subject to $\sum_{i=1}^n x_i=1$ and &#xA;         $\ell_i \leq x_i\leq u_i$ for all $1\leq i\leq n$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;For the complexity consideration, let's consider the decision version of the problem. Obviously this is a quadratic programming problem, so it is in NP. However, I do not know whether it is NP-hard. (My conjecture is, yes, it is.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The intuition is that the (linear) constraints give exponentially many vertices, and it appears that one has to (and only needs to) compare them one by one, hence obstructs a polynomial-time algorithm. But I do not know how to show this formally. Any hints are appreciated. &lt;/p&gt;&#xA;" OwnerUserId="21036" LastActivityDate="2015-06-29T16:01:44.947" Title="NP-hardness of a quadratic programming problem" Tags="&lt;np-hardness&gt;&lt;optimization&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="31861" PostTypeId="2" ParentId="6539" CreationDate="2015-06-29T21:56:16.013" Score="6" Body="&lt;p&gt;Grobner bases are used for the fastest list decoding algorithms for Reed-Solomon codes:&#xA;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.320.1170&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;noreferrer&quot;&gt;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.320.1170&amp;amp;rep=rep1&amp;amp;type=pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="1621" LastActivityDate="2015-06-29T21:56:16.013" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31862" PostTypeId="1" CreationDate="2015-06-29T22:24:25.693" Score="2" ViewCount="151" Body="&lt;p&gt;It is clear that the following problem is in $\mathsf{NP}_\mathbb{R}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Input:&lt;/strong&gt; a list $P$ of triplets $(a,s,t)$&#xA;where $s$ and $t$ are nonnegative integers.&lt;br&gt;&#xA;&lt;strong&gt;Output:&lt;/strong&gt; is there an $x\in \mathbb{R}$ such that&#xA;$$p(x) =\sum_{(a,s,t) \in P} a x^s(1-x)^t \geq 0?$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is this problem $\mathsf{NP}_\mathbb{R}$-hard?&lt;/p&gt;&#xA;" OwnerUserId="34585" LastEditorUserId="-1" LastEditDate="2015-07-01T15:03:14.137" LastActivityDate="2015-07-01T15:03:14.137" Title="Is the nonnegativeness of a polynomial hard for $\mathsf{NP}_\mathbb{R}$?" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;&lt;boolean-functions&gt;&lt;fourier-analysis&gt;&lt;computing-over-reals&gt;" AnswerCount="0" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31863" PostTypeId="1" CreationDate="2015-06-29T22:57:58.363" Score="0" ViewCount="125" Body="&lt;p&gt;I was following the textbook by Cover &amp;amp; Thomas (2006): &lt;a href=&quot;http://coltech.vnu.edu.vn/~thainp/books/Wiley_-_2006_-_Elements_of_Information_Theory_2nd_Ed.pdf&quot; rel=&quot;nofollow&quot;&gt;&lt;em&gt;Elements of Information Theory&lt;/em&gt;&lt;/a&gt;. (hyperlink is not owned by me)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have one question that has been irking for me some time. It is regarding that achievability of the Capacity region for multiple access channels (p530-531):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\mathbf{X_1, X_2}$ are two i.i.d. random $n-$sequences (codes) drawn from a joint distribution $p(x_1, x_2)=p_1(x_1)p_2(x_2)$. These sequences correspond to two indepepndent information sources. These sequences are mapped to an output sequence $\mathbf{Y}$ by a discrete memoryless channel have transition probability mass function $p(y|x_1, x_2)$. Let $A_\epsilon^{(n)}$ the set of jointly-typical $\mathbf{(x_1, x_2, y)}$ sequences. The senders map their input alphabet set $\{1,2,...,2^{nR_1}\}\times\{1,2,...,2^{nR_2}\}$ to the code sequence pair $\mathbf{X_1}(i),\mathbf{X_2}(j)$. The decoder selects that pair $(i, j)$ for which $$(\mathbf{x_1}(i), \mathbf{x_2}(j), \mathbf{y}) \in A_\epsilon^{(n)}.$$ The goal is to bound the probability of error $P_e^{(n)}$ using this typical decoding strategy and eventually to show that it goes to zero as the blocklength $n\rightarrow \infty$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To this end, define the following event:$$E_{ij}=\{(\mathbf{X_1}(i), \mathbf{X_2}(j), \mathbf{Y}) \in A_\epsilon^{(n)}\}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose that the index $(1,1)$ was transmitted. The probability of error in this event is union bounded as$$P_e^{(n)} \leq P(E_{11}^c) + \sum_{i\neq1, j=1}P(E_{i1}) +\sum_{i=1, j \neq 1}P(E_{1j}) + \sum_{i\neq1, j\neq1}P(E_{ij}) $$&#xA;Consider the second term, here is the problem:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;$$P(E_{i1})=P\{(\mathbf{X_1}(i), \mathbf{X_2}(1), \mathbf{Y}) \in A_\epsilon^{(n)}\}=\sum_{(\mathbf{x_1},\mathbf{x_2},\mathbf{y})\in A_\epsilon^{(n)}}p(\mathbf{x_1})p(\mathbf{x_2},\mathbf{y})$$&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;This last factorization of the joint PDF is something i do not understand. The fact that the sequences $\mathbf{X_1}(i)$ and $\mathbf{X_2}(1)$ are independent is certainly not enough to justify it. I would appreciate if someone can shed a little light on it.&lt;/p&gt;&#xA;" OwnerUserId="34584" LastActivityDate="2015-06-29T22:57:58.363" Title="&quot;Elements of Information Theory&quot;: Some (basic) help needed here" Tags="&lt;it.information-theory&gt;" AnswerCount="0" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="31866" PostTypeId="1" AcceptedAnswerId="31869" CreationDate="2015-06-30T15:07:03.290" Score="-2" ViewCount="116" Body="&lt;p&gt;I was thinking that why are their only two bits,0&amp;amp;1. I know that they represent a particular switch in IC being opened or closed. But why not for switch neither completely open nor closed i.e. in intermediate stage relaying only a partial amount of voltage. Then we can have more than one bits, which can make coding much easier.&lt;/p&gt;&#xA;" OwnerUserId="34594" LastActivityDate="2015-06-30T16:39:34.340" Title="Why are there only two bits?" Tags="&lt;ar.hardware-architecture&gt;" AnswerCount="1" CommentCount="0" ClosedDate="2015-07-01T07:12:38.403" ContentLicense="CC BY-SA 3.0" />
  <row Id="31868" PostTypeId="1" CreationDate="2015-06-30T15:24:36.497" Score="0" ViewCount="253" Body="&lt;p&gt;Consider a graph on &lt;em&gt;n&lt;/em&gt; nodes and &lt;em&gt;e&lt;/em&gt; edges that is partitioned into &lt;em&gt;k&lt;/em&gt; &quot;balanced&quot; subgraphs in the sense that each block has an equal number of nodes and the number of cut edges is minimized. Is there a formula for the number of cut edges in this situation?&lt;/p&gt;&#xA;" OwnerUserId="34596" LastEditorUserId="4193" LastEditDate="2015-07-08T23:25:15.477" LastActivityDate="2015-07-08T23:54:20.770" Title="How many edges are cut in a balanced partition of a graph?" Tags="&lt;graph-theory&gt;&lt;partition-problem&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="31869" PostTypeId="2" ParentId="31866" CreationDate="2015-06-30T16:39:34.340" Score="3" Body="&lt;p&gt;A bit is, by definition, a &lt;strong&gt;&lt;em&gt;bi&lt;/em&gt;&lt;/strong&gt;nary digi&lt;strong&gt;&lt;em&gt;t&lt;/em&gt;&lt;/strong&gt;, and binary means base 2.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Base two is the most common model of computing, but it is not the only one.  There is also &lt;a href=&quot;https://en.wikipedia.org/wiki/Analog_computer&quot; rel=&quot;nofollow&quot;&gt;analog computing&lt;/a&gt;, which is not that interesting to computer science.  &lt;a href=&quot;https://en.wikipedia.org/wiki/Ternary_computer&quot; rel=&quot;nofollow&quot;&gt;Ternary logic&lt;/a&gt;, on the other hand, does lead to some interesting theory.  In that case, however, each digit would be called a &lt;strong&gt;&lt;em&gt;trit&lt;/em&gt;&lt;/strong&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One advantage of representing numbers in base 3 is that it is more &lt;a href=&quot;//math.stackexchange.com/q/446664/77144&quot; rel=&quot;nofollow&quot;&gt;efficient&lt;/a&gt;, since 3 is closer to &lt;em&gt;e&lt;/em&gt; ≈ 2.71828….  On the other hand, ternary logic is harder to implement reliably in electronic circuits, so binary computing receives nearly all of the attention.&lt;/p&gt;&#xA;" OwnerUserId="19596" LastActivityDate="2015-06-30T16:39:34.340" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31870" PostTypeId="1" CreationDate="2015-06-30T17:37:34.293" Score="2" ViewCount="161" Body="&lt;p&gt;I'm trying to find undirected random graphs $G(V,E)$ with $|V|$ = $d^2$ for $d \in \mathbb{N}$ such that $\forall v \in V: deg(v) = d$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For $d \in 2\mathbb{N} +1$ this trivially is impossible as no such graph exists: The number of incidences (connections between vertices and edges) is given by $|V|\cdot d = d^3 = 8k^3 + 12k^2 + 6k + 1$ (for some $k$). As the number of incidences is always double the number of edges $|E| = d^3/2$ is a contradiction.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This argument however, doesn't work for $d \in 2\mathbb{N}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My first guess was just constructing a random graph would do, however, this can get stuck in a local maximum. For instance in $d = 2$:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;+---+    example for&#xA;|  /     an incomplete&#xA;| /      graph that&#xA;|/       cannot be&#xA;+   +    completed&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;A similar example can be constructed for $d = 4$ leaving up to two unconnectable vertices (essentially by using a 4-HyperCube).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I strongly suspect that for each $d$ the number of valid graphs significantly outweigh the number of incomplete graphs, but I would like to know &lt;strong&gt;how likely it is to end up with an incomplete graph&lt;/strong&gt;. And if there is a &lt;strong&gt;better way to find these graphs&lt;/strong&gt; than the random algorithm above (which could perhaps be fixed by breaking apart incomplete graphs, but that would not be guaranteed to terminate).&lt;/p&gt;&#xA;" OwnerUserId="1908" LastEditorUserId="1908" LastEditDate="2015-07-01T08:18:22.933" LastActivityDate="2021-03-01T20:27:08.207" Title="Finding a random regular graph with degree d" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;randomness&gt;" AnswerCount="2" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="31872" PostTypeId="1" CreationDate="2015-07-01T01:09:15.387" Score="8" ViewCount="318" Body="&lt;p&gt;$\newcommand{\cc}[1]{\mathsf{#1}}$Does a theorem along the following lines hold: If $g(n)$ is a little bigger than $f(n)$, then $\cc{NTIME}(g) \cap \cc{coNTIME}(g) \neq \cc{NTIME}(f) \cap \cc{coNTIME}(f)$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's easy to show that $\cc{NP} \cap \cc{coNP} \neq \cc{NEXP} \cap \cc{coNEXP}$, at least. Proof: Assume not. Then $$\cc{NEXP} \cap \cc{coNEXP} \subseteq \cc{NP} \cap \cc{coNP} \subseteq \cc{NP} \cup \cc{coNP} \subseteq \cc{NEXP} \cap \cc{coNEXP},$$ so $\cc{NP} = \cc{coNP}$, and hence (by padding) $\cc{NEXP} = \cc{coNEXP}$. But then our assumption implies that $\cc{NP} = \cc{NEXP}$, contradicting the nondeterministic time hierarchy theorem. QED.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But I don't even see how to separate $\cc{NP} \cap \cc{coNP}$ from $\cc{NSUBEXP} \cap \cc{coNSUBEXP}$, as diagonalization seems tricky in this setting.&lt;/p&gt;&#xA;" OwnerUserId="34371" LastEditorUserId="6579" LastEditDate="2015-07-02T09:53:32.530" LastActivityDate="2015-08-01T10:21:17.213" Title="Hierarchy theorem for NTIME intersect coNTIME?" Tags="&lt;cc.complexity-theory&gt;&lt;time-complexity&gt;&lt;nondeterminism&gt;&lt;time-hierarchy&gt;&lt;hierarchy-theorems&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="31873" PostTypeId="1" CreationDate="2015-07-01T05:59:30.240" Score="3" ViewCount="329" Body="&lt;p&gt;As title says what happens to other complexity classes if all $\#P$ (Sharp-P) problems have polynomial-time algorithms? What happens to PSPACE?&lt;/p&gt;&#xA;" OwnerUserId="34609" LastEditorUserId="109" LastEditDate="2015-07-03T08:44:17.433" LastActivityDate="2015-07-03T08:44:17.433" Title="What happens to complexity classes if all $\#P$ problems have polynomial-time algorithms?" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;conditional-results&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31874" PostTypeId="2" ParentId="31870" CreationDate="2015-07-01T06:45:26.927" Score="2" Body="&lt;p&gt;The standard simple way of generating random regular graphs is:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;while the degree &amp;lt; d&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;choose a random perfect matching from the edges still possible to add to the graph&lt;/li&gt;&#xA;&lt;li&gt;If no matching is possible, restart the process.&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The problem with this is that the higher edge degree you want, the more likely it is for the algorithm to get stuck. I see many papers limiting themself to $|V|&amp;gt;d^3$, so I don't know if this process will work for you.&lt;/p&gt;&#xA;" OwnerUserId="8936" LastEditorUserId="8936" LastEditDate="2015-07-01T06:51:36.303" LastActivityDate="2015-07-01T06:51:36.303" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31875" PostTypeId="1" CreationDate="2015-07-01T07:34:32.630" Score="7" ViewCount="263" Body="&lt;p&gt;What are some known ingenious linear programs that have been developed for tackling hard combinatorial optimization problems, especially any linear programs which had helped in getting good approximation algorithms for long standing open questions related to NP-hard optimization problems.&lt;/p&gt;&#xA;" OwnerUserId="17773" LastEditorUserId="123" LastEditDate="2015-07-04T20:06:31.497" LastActivityDate="2015-07-04T20:33:32.590" Title="What are some of the most ingenious linear programs developed for tackling hard combinatorial problems?" Tags="&lt;co.combinatorics&gt;&lt;approximation-algorithms&gt;&lt;optimization&gt;&lt;linear-programming&gt;" AnswerCount="2" CommentCount="3" FavoriteCount="2" CommunityOwnedDate="2015-07-04T20:06:36.567" ContentLicense="CC BY-SA 3.0" />
  <row Id="31876" PostTypeId="2" ParentId="31875" CreationDate="2015-07-01T07:34:32.630" Score="5" Body="&lt;p&gt;Some of the linear programs which comes to my mind are&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;George Dantzig’s linear program for Traveling Salesman Problem. You can find a nice description of the result &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S1572528607000412&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;Flow based Linear program for Capacitated Facility Location Problem. This was a FOCS2014 paper which settled the long standing open problem of whether there is a linear program for this problem with constant integrality gap. You can find the paper &lt;a href=&quot;http://arxiv.org/abs/1407.3263&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;I'm sure there are a lot more of them out there.&lt;/p&gt;&#xA;" OwnerUserId="17773" LastEditorUserId="17773" LastEditDate="2015-07-02T14:19:46.017" LastActivityDate="2015-07-02T14:19:46.017" CommentCount="0" CommunityOwnedDate="2015-07-04T20:06:36.567" ContentLicense="CC BY-SA 3.0" />
  <row Id="31878" PostTypeId="1" AcceptedAnswerId="36140" CreationDate="2015-07-01T09:30:20.187" Score="3" ViewCount="196" Body="&lt;p&gt;Due to the symmetry of information, it follows up to an additive constant that&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;K(X,Y) = K(Y,X) &#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Does this hold for more than two data objects as well? &lt;/p&gt;&#xA;" OwnerUserId="34612" LastEditorUserId="34612" LastEditDate="2015-07-01T12:34:07.793" LastActivityDate="2016-07-08T23:28:38.880" Title="Is joint Kolmogorov Complexity order invariant?" Tags="&lt;cc.complexity-theory&gt;&lt;it.information-theory&gt;&lt;kolmogorov-complexity&gt;" AnswerCount="1" CommentCount="7" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31879" PostTypeId="2" ParentId="31873" CreationDate="2015-07-01T13:08:59.213" Score="1" Body="&lt;p&gt;By definition, $\mathbb{P} = \mathbb{NP}$, since any $\mathbb{NP}$ problem could be solved by answering the question &quot;Is the # of accepting paths non-zero&quot;, which by assumption, can be calculated in $\mathbb{P}$. As a consequence, the polynomial hierarchy collapses as well.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You also get other results by using results or their contrapositives.&lt;/p&gt;&#xA;" OwnerUserId="879" LastEditorUserId="879" LastEditDate="2015-07-01T14:44:24.997" LastActivityDate="2015-07-01T14:44:24.997" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="31880" PostTypeId="1" AcceptedAnswerId="31931" CreationDate="2015-07-01T15:52:19.047" Score="5" ViewCount="981" Body="&lt;p&gt;What is the computational complexity of the problem&#xA;&lt;br&gt;&lt;br&gt;&lt;br&gt;&#xA;INPUT: $\;\;\;$ integers $x$ and $y \:$ (both in binary)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;OUTPUT:&#xA;&lt;br&gt;&#xA;rational approximations to $\: \sin\hspace{-0.03 in}\left(x\hspace{-0.04 in}\cdot \hspace{-0.04 in}2^{\hspace{.02 in}y}\hspace{-0.02 in}\right) \:$ and $\: \cos\hspace{-0.03 in}\left(x\hspace{-0.04 in}\cdot \hspace{-0.04 in}2^{\hspace{.02 in}y}\hspace{-0.02 in}\right)$&#xA;&lt;br&gt;&#xA;whose absolute errors are each less than $1/\hspace{-0.04 in}\left(2^{\hspace{.02 in}\operatorname{length}(x)}\hspace{-0.05 in}\right)$&#xA;&lt;br&gt;&lt;br&gt;&lt;br&gt;&#xA;?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One could just expand $\: x\hspace{-0.04 in}\cdot \hspace{-0.04 in}2^{\hspace{.02 in}y} \:$, $\:$ but that would use at least $\:\left|\hspace{.03 in}y\right|\:$ bits of &lt;em&gt;space&lt;/em&gt;.&#xA;&lt;br&gt;&#xA;(I believe most work on the complexity of such functions&#xA;&lt;br&gt;&#xA;only considers their restrictions to compact intervals.)&#xA;&lt;br&gt;&lt;br&gt;&lt;/p&gt;&#xA;" OwnerDisplayName="user6973" LastActivityDate="2015-07-07T14:11:21.133" Title="What is the computational complexity of sin and cos for floating point inputs?" Tags="&lt;na.numerical-analysis&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31882" PostTypeId="1" AcceptedAnswerId="31886" CreationDate="2015-07-01T16:47:31.780" Score="5" ViewCount="1079" Body="&lt;p&gt;I am wondering if there are any results on the following version of the assignment problem.  We are given a set of jobs $J$ and a set of workers $W$, and for each job $j$ and worker $w$ we are given the expertise of the worker for the job $\omega(w,j)$.  The goal is to select a subset of jobs $S\subseteq J$ and assign &lt;strong&gt;exactly two workers&lt;/strong&gt; to each job $j \in S$ while maximizing the total expertise.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;That is, if $x_{w, j} = 1$ indicates that the worker $w$ has been assigned to job $j$, solve the following program:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;maximize \sum_{j \in S}  x_{w, j} \cdot \omega(w, j)&#xA;$$&#xA;s.t. &#xA;$$&#xA;\sum_{j\in S} x_{w, j} \leq 1,  \forall w\in W&#xA;$$&#xA;$$&#xA;\sum_{w\in W} x_{w, j} = 2, \forall j \in S&#xA;$$&#xA;$$&#xA;x_{w, j} \in \{0, 1\}&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It seems like my explanation is not very clear so I am adding a simple example.  Consider the following graph where dotted edges have weight 0 and solid edges have weight 1.  Worker $i$ has expertise $1$ in job $i$ and expertise $0$ in the other job.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The two possible solutions both have value 1: either assign both workers to job 1, or assign both workers to job 2.  Observe that assigning worker 1 to job 1 and worker 2 to job 2 would result in a solution of value 2, but it is not a valid solution since a job must be assigned exactly 2 workers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/3STvF.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;" OwnerUserId="22537" LastEditorUserId="22537" LastEditDate="2015-07-02T17:16:36.303" LastActivityDate="2015-07-02T17:23:14.937" Title="Assignment problem with multiple workers for each job" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;matching&gt;&lt;bipartite-graphs&gt;" AnswerCount="1" CommentCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="31883" PostTypeId="1" CreationDate="2015-07-01T19:23:57.670" Score="19" ViewCount="1221" Body="&lt;p&gt;I am looking for the smallest possible &lt;a href=&quot;https://en.wikipedia.org/wiki/Combinatory_logic#One-point_basis&quot; rel=&quot;nofollow noreferrer&quot;&gt;universal combinator&lt;/a&gt;, measured by the number of abstractions and applications required to specify such a combinator in the &lt;a href=&quot;https://en.wikipedia.org/wiki/Lambda_calculus#Free_and_bound_variables&quot; rel=&quot;nofollow noreferrer&quot;&gt;lambda calculus&lt;/a&gt;. Examples of universal combinators include:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;size 23:&lt;/strong&gt; λf.f(fS(KKKI))K&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;size 18:&lt;/strong&gt; λf.f(fS(KK))K&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;size 14:&lt;/strong&gt; λf.fKSK&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;size 12:&lt;/strong&gt; λf.fS(λxyz.x)&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;size 11:&lt;/strong&gt; λf.fSK&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;where S = λxyz.xz(yz) of &lt;strong&gt;size 6&lt;/strong&gt; and K = λxy.x of &lt;strong&gt;size 2&lt;/strong&gt; are the combinators of the &lt;a href=&quot;https://en.wikipedia.org/wiki/SKI_combinator_calculus&quot; rel=&quot;nofollow noreferrer&quot;&gt;SK combinator calculus&lt;/a&gt;. The first 4 examples are described in &lt;a href=&quot;http://link.springer.com/article/10.1007%2FBF03180572&quot; rel=&quot;nofollow noreferrer&quot;&gt;this paper&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My questions are:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Are there any universal combinators that are smaller in size?&lt;/li&gt;&#xA;&lt;li&gt;What is the smallest possible universal combinator?&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT:&lt;/strong&gt; See also &lt;a href=&quot;https://math.stackexchange.com/a/180263/76284&quot;&gt;https://math.stackexchange.com/a/180263/76284&lt;/a&gt;, which has &lt;code&gt;λazbc.bc(a(λy.c))&lt;/code&gt; (which would be of &lt;strong&gt;size 8&lt;/strong&gt;, matching the sum of sizes of the SK basis). Does anyone know how to express S and K from this combinator?&lt;/p&gt;&#xA;" OwnerUserId="34357" LastEditorUserId="34357" LastEditDate="2019-10-20T23:24:51.107" LastActivityDate="2019-10-20T23:24:51.107" Title="Smallest possible universal combinator" Tags="&lt;lo.logic&gt;&lt;computability&gt;&lt;lambda-calculus&gt;&lt;universal-computation&gt;&lt;combinatory-logic&gt;" AnswerCount="2" CommentCount="6" FavoriteCount="8" ContentLicense="CC BY-SA 4.0" />
  <row Id="31884" PostTypeId="1" AcceptedAnswerId="32300" CreationDate="2015-07-01T20:06:39.683" Score="8" ViewCount="1236" Body="&lt;p&gt;I find Combinatorial Game Theory very interesting as my primary interest is mathematics. My question is why do Computer Scientists (who tend to have a more practical approach) study it as well? Are there some applications of it? This question is similar to this &lt;a href=&quot;https://cstheory.stackexchange.com/questions/16187/applications-of-game-theory-in-computer-science&quot;&gt;one&lt;/a&gt; but I am asking about combinatorial games such as nim. Could someone provide me with a reference?&lt;/p&gt;&#xA;" OwnerUserId="34615" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2015-09-12T16:45:48.920" Title="What is the application of combinatorial game theory" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;gt.game-theory&gt;&lt;combinatorial-game-theory&gt;" AnswerCount="3" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31885" PostTypeId="2" ParentId="31872" CreationDate="2015-07-02T07:50:34.793" Score="1" Body="&lt;p&gt;(This would've been a comment, but it doesn't render properly when I try that.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&quot;I don't even see how to separate&quot; $\;\;\;$&lt;a href=&quot;https://complexityzoo.uwaterloo.ca/Complexity_Zoo:U#up&quot; rel=&quot;nofollow&quot;&gt;$\mathbf{U}$&lt;/a&gt;$\mathbf{q}$&lt;a href=&quot;https://complexityzoo.uwaterloo.ca/Complexity_Zoo:Q#ql&quot; rel=&quot;nofollow&quot;&gt;$\mathbf{uasiLIN}$&lt;/a&gt; $\cap \; \mathbf{coUquasiLIN} \;\;\;$ from&#xA;&lt;br&gt;&#xA;$[$the &lt;a href=&quot;https://complexityzoo.uwaterloo.ca/Complexity_Zoo:E#e&quot; rel=&quot;nofollow&quot;&gt;linear-exponent&lt;/a&gt; version of &lt;a href=&quot;https://complexityzoo.uwaterloo.ca/Complexity_Zoo:Q#qip2&quot; rel=&quot;nofollow&quot;&gt;QIP[2]&lt;/a&gt;$] \;\; \cap \;\; [$the linear-exponent version of coQIP[2]$] \;\;\;\;\;$.&lt;/p&gt;&#xA;" OwnerDisplayName="user6973" LastActivityDate="2015-07-02T07:50:34.793" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31886" PostTypeId="2" ParentId="31882" CreationDate="2015-07-02T08:07:37.140" Score="3" Body="&lt;p&gt;This problem is a special case of the b-matching problem, and hence can be solved in polynomial time. Extensive information on b-matchings can be found for instance in the book:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;László Lovász and Michael D. Plummer:&lt;br&gt;&#xA;Matching Theory&lt;br&gt;&#xA;ISBN-10: 0-8218-4759-7&lt;br&gt;&#xA;ISBN-13: 978-0-8218-4759-6&lt;/p&gt;&#xA;" OwnerUserId="31660" LastActivityDate="2015-07-02T08:07:37.140" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="31887" PostTypeId="2" ParentId="31833" CreationDate="2015-07-02T16:24:20.003" Score="8" Body="&lt;p&gt;[Self answer; this is a shortened version, the old one can be found &#xA;&lt;a href=&quot;http://www.thi.informatik.uni-frankfurt.de/~jukna/drafts/old-answer.html&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;]&#xA;&lt;p&gt;&#xA;We realized with Georg Schnitger that the answer to my question is &lt;b&gt;strongly negative&lt;/b&gt;: there are DAGs&#xA;(even of constant degree), where every $k$-cut must have a &lt;i&gt;constant&lt;/i&gt; fraction of all edges, not just an about $1/k$ fraction, as in my question. (A slightly weaker result that a $1/\log k$ fraction may be necessary can be obtained by using a much simpler construction mentioned in the footnote above.&#xA;A quick write-up is &lt;a href=&quot;http://www.thi.informatik.uni-frankfurt.de/~jukna/drafts/mincut.pdf&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;)&#xA;&lt;p&gt;&#xA;Namely, in the paper &lt;a href=&quot;http://ieeexplore.ieee.org/xpl/login.jsp?tp=&amp;amp;arnumber=4568095&amp;amp;url=http%3A%2F%2Fieeexplore.ieee.org%2Fstamp%2Fstamp.jsp%3Ftp%3D%26arnumber%3D4568095&quot; rel=&quot;nofollow&quot;&gt;&#xA;&quot;On depth-reduction and grates&quot;&lt;/a&gt;, Georg constructed a sequence of directed acyclic&#xA;graphs $H_n$ of constant maximum degree $d$ on $n=m2^m$ nodes with the following property:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt; For every constant $0\leq \epsilon &amp;lt; 1$ there is a constant $c &amp;gt; 0$ such that, if any subset of at most $cn$ nodes is removed from $H_n$, the remaining graph&#xA;contains a  path of length at least $2^{\epsilon m}$.&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Take now two new nodes $s$ and $t$, and draw an edge from $s$ to every node of $H_n$, and an edge&#xA;from every node of $H_n$ to $t$. The resulting graph $G_n$ still has at most  $2n+dn=O(n)$ edges.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;For every constant $0\leq \epsilon &amp;lt; 1$, there is a constant $c ' &amp;gt; 0$ such that, if any subset of at most $c'n$ edges is removed from $G_n$, the remaining graph&#xA;contains an $s$-$t$ path with  $2^{\epsilon m}$ or more edges.&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;b&gt;Proof:&lt;/b&gt;&#xA;Call the nodes of $H_n$  &lt;i&gt;inner&lt;/i&gt; nodes of $G_n$.&#xA;Remove any subset of at most $c'n$ edges from $G_n$, where $c'=c/2$.&#xA;After that, remove an inner node if it was incident to a removed edge. Note that&#xA;at most $2c'n=cn$ inner nodes are then removed. None of the edges incident to survived nodes&#xA;was removed. In particular, each survived inner node is still&#xA;connected to &lt;i&gt;both&lt;/i&gt; nodes $s$ and $t$. By the above property of $H_n$, there must remain&#xA;a path of length $2^{\epsilon m}$ consisting entirely of survived inner nodes.&#xA;Since the endpoints of each of these paths survived, each of them&#xA;can be extended to an $s$-$t$ path in $G_n$. Q.E.D.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;p&gt;&#xA; A consequence is sad:  there does &lt;b&gt;not&lt;/b&gt; exist any analogue of Markov's lemma for functions with many &lt;i&gt;short&lt;/i&gt; minterms, even though the set of &lt;i&gt;long&lt;/i&gt; minterms has some &quot;complicated&quot; structure: no super-linear lower bounds on the network size can be then proved using this &quot;length times width&quot; argument.&#xA;&lt;p&gt;&#xA;P.S. This &quot;length times width&quot; argument (when all $s$-$t$ paths are long enough) was earlier used by &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/0016003256905592&quot; rel=&quot;nofollow&quot;&gt;Moore and Shannon (1956).&lt;/a&gt; The only difference is that they do not allowed rectifies (unlabeled edges). So, this is, in fact, a &quot;Moore-Shannon-Markov argument&quot;.&lt;/p&gt;&#xA;" OwnerUserId="5788" LastEditorUserId="5788" LastEditDate="2015-07-12T09:23:59.563" LastActivityDate="2015-07-12T09:23:59.563" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31888" PostTypeId="1" CreationDate="2015-07-02T16:41:42.697" Score="1" ViewCount="222" Body="&lt;p&gt;The following non-standard description of Diffie-Hellman is entirely my own, by which I mean that I came up with it having not read about it anywhere else beforehand.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In Diffie-Hellman Alice and Bob choose numbers $x$ and $y$ in a fine representation and publish $x$ and $y$ in a coarser form from which they can both determine $xy$ in coarse form. A form is considered coarse if the product of two numbers in the coarse form is (practically) uncomputable, but the product of a number in the coarse form and another number in the fine form is computable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So is there an information-theoretic analogue? My thoughts are that a number $x \in [0,1] \subset \Bbb R$ can be represented:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;In a fine way using an upper-bound and lower-bound oracle.&lt;/li&gt;&#xA;&lt;li&gt;In one coarse form by using an upper-bound oracle.&lt;/li&gt;&#xA;&lt;li&gt;In another coarse form by using a lower-bound oracle.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Is there any literature on this?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Cheers&lt;/p&gt;&#xA;" OwnerUserId="34621" LastEditorUserId="34621" LastEditDate="2015-07-02T18:16:37.460" LastActivityDate="2015-07-04T16:25:19.557" Title="Information-theoretic Diffie-Hellman" Tags="&lt;cc.complexity-theory&gt;&lt;computability&gt;&lt;cr.crypto-security&gt;&lt;it.information-theory&gt;" AnswerCount="2" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31890" PostTypeId="2" ParentId="31888" CreationDate="2015-07-02T23:10:12.983" Score="5" Body="&lt;p&gt;No, there is no information-theoretic analog that is secure against computationally-unbounded adversaries.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To form an analog, we'd need an injection $\varphi$ that maps $x$ in fine representation to $x$ in coarse representation.  But then Diffie-Hellman involves Alice sending $\varphi(x)$ publicly, and Bob sending $\varphi(y)$ publicly.  An eavesdropper can see $\varphi(x),\varphi(y)$.  Since $\varphi$ is an injection, information-theoretically this reveals $x,y$, which is enough to reveal the negotiated key.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What if we consider a function $\varphi$ that is non-injective?  This doesn't help.  Consider the equivalence relation $\sim$ where $x \sim x'$ if $\varphi(x)=\varphi(x')$, and let $[x]$ be the equivalence class of $x$.  Then for the scheme to work, the negotiated secret has to depend only on $\varphi(x),y$, i.e., only on $[x],y$ (since Bob has to be able to compute it).  Similarly, the negotiated secret has to depend only on $x,[y]$.  It follows that the negotiated secret depends only on $[x],[y]$.  Why?  Let $f(x,y)$ denote the secret negotiated if Alice uses fine value $x$ and Bob uses fine value $y$.  Suppose $x \sim x'$ and $y \sim y'$.  Then since $[x]=[x']$, it follows that $f(x,y)=f(x',y)$ (since $f(x,y)$ depends only on $[x],y$).  Also since $[y]=[y']$, it follows that $f(x',y)=f(x',y')$ (since $f(x,y)$ depends only on $x,[y]$).  Therefore $f(x,y)=f(x',y')$ whenever $x=x'$ and $y=y'$.  In other words, the final negotiated secret depends only on $[x],[y]$.  However, the eavesdropper can observe $\varphi(x),\varphi(y)$, from which $[x],[y]$ are uniquely determined and thus the negotiated secret is uniquely determined and thus information-theoretically cannot be hidden from the eavesdropper.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Public-key exchange can only be secure computationally -- you can't achieve information-theoretically secure public-key exchange.&lt;/p&gt;&#xA;" OwnerUserId="5038" LastActivityDate="2015-07-02T23:10:12.983" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="31891" PostTypeId="1" CreationDate="2015-07-02T23:10:50.130" Score="3" ViewCount="70" Body="&lt;p&gt;We're covering the whole random universe $U$ of size $m$ with random sets $S_{1},\dots S_{n}$. I know that greedy set cover gives us a number between size of the minimal set cover and size of the minimal set cover multiplied by factor $H_{max\{|S_{i}|, \hspace{1 mm} for \hspace{1 mm} i=1,\dots, n\}}$ where $H_{i}$ is the $i-th$ harmonic number. My qestion is, what is the exact average number of sets we're going to get? Does the number of sets given by greedy behave as a normal distribution?&lt;/p&gt;&#xA;" OwnerUserId="34626" LastActivityDate="2015-07-02T23:10:50.130" Title="Average number of sets given by greedy set cover? Is it uniform distribution?" Tags="&lt;set-cover&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31892" PostTypeId="1" CreationDate="2015-07-03T12:30:19.103" Score="3" ViewCount="81" Body="&lt;p&gt;Is there a sort of polynomial hierarchy in the case of function problems?&lt;/p&gt;&#xA;" OwnerUserId="34629" LastEditorUserId="34629" LastEditDate="2015-07-04T19:15:19.647" LastActivityDate="2015-07-04T19:15:19.647" Title="Are there works on function complexity classes not included in FNP?" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;" AnswerCount="0" CommentCount="2" ClosedDate="2015-07-19T20:07:22.953" ContentLicense="CC BY-SA 3.0" />
  <row Id="31895" PostTypeId="2" ParentId="31888" CreationDate="2015-07-04T13:36:32.737" Score="2" Body="&lt;p&gt;(This is a response to Turbo that wouldn't fit in a comment.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An &lt;a href=&quot;https://complexityzoo.uwaterloo.ca/Complexity_Zoo:N#np&quot; rel=&quot;nofollow&quot;&gt;NP&lt;/a&gt; oracle &lt;a href=&quot;http://cseweb.ucsd.edu/~mihir/papers/ug.html&quot; rel=&quot;nofollow&quot;&gt;is enough to break essentially all complexity-based cryptography&lt;/a&gt;, so if public-key cryptography (PKC)&#xA;can be secure against polynomially-capable adversaries then $\mathrm{RP} \neq \mathrm{NP}$ (see &lt;a href=&quot;https://complexityzoo.uwaterloo.ca/Complexity_Zoo:R#rp&quot; rel=&quot;nofollow&quot;&gt;definition of $\mathrm{RP}$&lt;/a&gt;).&#xA;In particular, secure PKC is not &lt;em&gt;known&lt;/em&gt; to be possible, even just against polynomially capable adversaries.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, I think most cryptographers would expect,&#xA;if they thought about it, that there is a PKE scheme such that&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.cs.cornell.edu/courses/cs5430/2011sp/TL04.asymmetric.html&quot; rel=&quot;nofollow&quot;&gt;completeness&lt;/a&gt; holds with certainty, and&lt;/li&gt;&#xA;&lt;li&gt;public keys for the same security parameter $k$ will certainty have the same length, and&lt;/li&gt;&#xA;&lt;li&gt;ciphertexts for the same security parameter $k$ will with certainty give the same value to $\mathrm{length}(\mathrm{ciphertext}) - \mathrm{length}(\mathrm{plaintext})$, and&lt;/li&gt;&#xA;&lt;li&gt;there is a positive real number $\epsilon$ such that even &lt;a href=&quot;https://en.wikipedia.org/wiki/Quantum_computing&quot; rel=&quot;nofollow&quot;&gt;quantum&lt;/a&gt; adversaries with $2^{\lceil k^\epsilon\rceil}$ time and $2^{\lceil k^\epsilon\rceil}$ qubits of &lt;a href=&quot;https://complexityzoo.uwaterloo.ca/Complexity_Zoo:B#bqpqpoly&quot; rel=&quot;nofollow&quot;&gt;advice&lt;/a&gt; cannot distinguish public keys from random strings by more than $2^{-k^\epsilon}$, and&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;there is a positive real number $\epsilon$ such that even quantum adversaries which:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;have the public key and $2^{\lceil k^\epsilon\rceil}$ time, and&lt;/li&gt;&#xA;&lt;li&gt;$2^{\lceil k^\epsilon \rceil}$ qubits of advice, and&lt;/li&gt;&#xA;&lt;li&gt;can submit $2^{\lceil k^\epsilon\rceil}$ strings to the decryption oracle (which functions just like the in the &lt;a href=&quot;https://en.wikipedia.org/wiki/Ciphertext_indistinguishability#Indistinguishability_under_chosen_ciphertext_attack.2Fadaptive_chosen_ciphertext_attack_.28IND-CCA1.2C_IND-CCA2.29&quot; rel=&quot;nofollow&quot;&gt;IND-CCA2&lt;/a&gt; experiment), and&lt;/li&gt;&#xA;&lt;li&gt;can use its responses to choose the plaintext&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;cannot distinguish ciphertexts from random strings by more than $2^{-k^\epsilon}$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerDisplayName="user6973" LastEditorUserId="705" LastEditDate="2015-07-04T16:25:19.557" LastActivityDate="2015-07-04T16:25:19.557" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31898" PostTypeId="1" CreationDate="2015-07-04T19:43:05.887" Score="5" ViewCount="121" Body="&lt;p&gt;Consider the following problem: you are given a matrix (say, with rational entries) some of whose entries are actually left blank; can these blanks be filled in with real numbers so that the resulting matrix is singular? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It seems like deciding this should be NP-hard. Is this so and has this problem ever been studied before?&lt;/p&gt;&#xA;" OwnerUserId="34649" LastEditorUserId="34649" LastEditDate="2015-07-04T19:53:00.567" LastActivityDate="2015-07-10T16:58:54.550" Title="Completing a matrix (over the reals) to be singular" Tags="&lt;np-hardness&gt;&lt;optimization&gt;&lt;linear-algebra&gt;" AnswerCount="0" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="31899" PostTypeId="2" ParentId="31875" CreationDate="2015-07-04T20:33:32.590" Score="6" Body="&lt;p&gt;The relaxation of Calinescu, Karloff and Rabani for the undirected Multiway Cut problem is one my favorites. Had a big influence on subsequent work.&#xA;&lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0022000099916872&quot;&gt;http://www.sciencedirect.com/science/article/pii/S0022000099916872&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="176" LastActivityDate="2015-07-04T20:33:32.590" CommentCount="0" CommunityOwnedDate="2015-07-04T20:33:32.590" ContentLicense="CC BY-SA 3.0" />
  <row Id="31902" PostTypeId="1" CreationDate="2015-07-05T00:01:21.397" Score="3" ViewCount="125" Body="&lt;p&gt;If I understand correctly, the Quine–McCluskey algorithm will find the minimum boolean formula size for given boolean function.  Has there been any attempts to (for lack of a better term) symbolically execute the algorithm with a class of boolean functions rather than a single one to find a circuit unconditional lower bound?  Just curious to see if anybody has tried this before, and if so,(presumably) why it wouldn't work.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Symbolic_execution&quot; rel=&quot;nofollow&quot;&gt;https://en.wikipedia.org/wiki/Symbolic_execution&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="28625" LastActivityDate="2015-07-05T05:12:21.170" Title="Symbolic Execution of the Quine-McCluskey Algorithim" Tags="&lt;circuit-complexity&gt;&lt;lower-bounds&gt;&lt;boolean-functions&gt;&lt;boolean-formulas&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31903" PostTypeId="1" CreationDate="2015-07-05T00:50:04.797" Score="5" ViewCount="129" Body="&lt;p&gt;Is there a known algorithm for sampling a set $S \subset \{1,...,n\}$ with probability&#xA;$p_S = \frac{e^{f(S)}}{\sum_{T \subset \{1,...,n\}} e^{f(T)}}$ where $f: 2^{\{1,...,n\}} \to \mathbb{R}$ is a submodular function?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks!&lt;/p&gt;&#xA;" OwnerUserId="7040" LastActivityDate="2019-03-20T13:04:00.100" Title="How to sample from a distribution with submodular weights" Tags="&lt;ds.algorithms&gt;&lt;submodularity&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31904" PostTypeId="1" CreationDate="2015-07-05T04:51:26.040" Score="6" ViewCount="215" Body="&lt;p&gt;Are there any known examples of P-complete decision problems which take as input a single integer? (non-unary, as unary feels like un-naturally forcing the issue)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It feels like there are many inherently sequential questions I could ask about an integer, but I don't know of any examples that have been shown to be P-complete.&lt;/p&gt;&#xA;" OwnerUserId="34654" LastActivityDate="2015-07-06T05:09:30.580" Title="P-complete decision problems about integers" Tags="&lt;cc.complexity-theory&gt;&lt;time-complexity&gt;&lt;examples&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="31905" PostTypeId="2" ParentId="31902" CreationDate="2015-07-05T05:12:21.170" Score="3" Body="&lt;p&gt;Since you stated your purpose is considering circuit bounds:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Taking a boolean function and &quot;minimizing&quot; using Karnaugh maps or the Quine–McCluskey algorithm, then converting the formula to AND and OR gates will give you a circuit calculating that function.  This however does not actually give you a minimum sized circuit.  Karnaugh maps minimize the number of product terms in the sum of products form of specifying a function, this is NOT the same as minimizing the number of gates in a circuit.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider for instance the $N$ input parity function. The sum of products form will have $2^{N-1}$ minterms, which means you'd need an &lt;em&gt;exponential&lt;/em&gt; number of gates using this method.  However if it takes us $M$ of whatever gates are your basis to make a 2-input XOR gate, we can make the $N$ input parity function with only $M(N-1)$ gates: a &lt;em&gt;linear&lt;/em&gt; bound.&lt;/p&gt;&#xA;" OwnerUserId="34654" LastActivityDate="2015-07-05T05:12:21.170" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="31906" PostTypeId="1" CreationDate="2015-07-05T16:50:53.277" Score="12" ViewCount="723" Body="&lt;p&gt;Given a graph $G$, we need to find the cardinality of the largest set of vertices so that each of them are present in every maximum matching possible. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a solution beside the obvious remove each vertex and find the maximum matching to see it reduces?&lt;/p&gt;&#xA;" OwnerUserId="34658" LastEditorUserId="34658" LastEditDate="2015-07-05T18:07:28.720" LastActivityDate="2016-03-19T17:34:52.587" Title="Number of vertices present in all maximum matchings" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;" AnswerCount="2" CommentCount="5" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="31907" PostTypeId="1" AcceptedAnswerId="33431" CreationDate="2015-07-05T19:53:23.563" Score="0" ViewCount="566" Body="&lt;p&gt;We define a simple undirected graph as a graph where no vertex has a loop and there is only zero or one undirected, unweighted edge between any pair of vertices.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;What is the complexity of the best known algorithm for the simple undirected graph isomorphism problem?&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;I assume it should be a special case of the exponential algorithm by Babai et. al introduced in &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=808746&quot; rel=&quot;nofollow&quot;&gt;Canonical labeling of graphs&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As described in &lt;a href=&quot;http://dabacon.org/pontiff/?p=4148&quot; rel=&quot;nofollow&quot;&gt;Reading List: Graph Isomorphism&lt;/a&gt; by Dave Bacon, this is not among the classes for which we have efficient algorithms. Thanks in advance for your answer.&lt;/p&gt;&#xA;" OwnerUserId="13408" LastActivityDate="2015-12-24T09:03:22.980" Title="Complexity of simple undirected graph isomorphism problem" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;graph-isomorphism&gt;&lt;gr.group-theory&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31908" PostTypeId="2" ParentId="31906" CreationDate="2015-07-05T20:53:48.757" Score="11" Body="&lt;p&gt;Is your graph bipartite? Because, if it is: suppose that one side of the bipartition is left and the other is right. Find a maximum matching, and orient all matched edges left-to-right and all unmatched edges right-to-left. Then a vertex $v$ can be omitted from a maximum matching if and only if one of the three following (mutually exclusive) conditions holds:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$v$ is already unmatched&lt;/li&gt;&#xA;&lt;li&gt;$v$ can be reached from an unmatched vertex on its side of the bipartition in the resulting digraph&lt;/li&gt;&#xA;&lt;li&gt;$v$ can reach an unmatched vertex on its side of the bipartition in the resulting digraph.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;By doing two breadth-first or depth-first searches, one to find the parts of the graph that can be reached from unmatched vertices and one to find the parts that can reach unmatched vertices, you can find the essential vertices in linear time once you already have the matching.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Probably something like this will also work for the non-bipartite case, using a blossom-contracting alternating path search, but the details will be more complicated.&lt;/p&gt;&#xA;" OwnerUserId="95" LastEditorUserId="95" LastEditDate="2016-03-19T17:34:52.587" LastActivityDate="2016-03-19T17:34:52.587" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="31909" PostTypeId="2" ParentId="31906" CreationDate="2015-07-05T23:16:33.407" Score="11" Body="&lt;p&gt;I think you want the Edmonds-Gallai decomposition of your graph which can be computed in time $O(n^3)$ (see &lt;a href=&quot;https://courses.engr.illinois.edu/cs598csc/sp2010/Lectures/Lecture8.pdf&quot;&gt;these notes&lt;/a&gt;).&lt;/p&gt;&#xA;" OwnerUserId="15637" LastActivityDate="2015-07-05T23:16:33.407" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31910" PostTypeId="2" ParentId="31883" CreationDate="2015-07-06T00:26:19.827" Score="7" Body="&lt;p&gt;For your first question I believe this paper may help a bunch. It has a 6 bit combinator calculus that is also an UTM. Also it has a universal combinator that seems to have size 7 with one element given what you want. They call it Zot.&#xA;&lt;a href=&quot;http://arxiv.org/pdf/cs/0508056v1.pdf&quot;&gt;http://arxiv.org/pdf/cs/0508056v1.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am not sure if you can say or prove that there is a minimal combinator. The paper would suggest it would have to be at least be less than 6 bits.&lt;/p&gt;&#xA;" OwnerUserId="5385" LastEditorUserId="5385" LastEditDate="2015-07-06T10:07:35.610" LastActivityDate="2015-07-06T10:07:35.610" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31911" PostTypeId="2" ParentId="31904" CreationDate="2015-07-06T04:52:07.903" Score="0" Body="&lt;p&gt;You can encode a pair (or triple, etc.) of integers as a single integer, using any number of standard techniques.  In particular, there is an efficiently computable bijection $\varphi : \mathbb{N} \times \mathbb{N} \to \mathbb{N}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, take any P-complete problem that take as input a constant number of integers, and you can convert it to a P-complete problem that takes as input a single integer.&lt;/p&gt;&#xA;" OwnerUserId="5038" LastActivityDate="2015-07-06T04:52:07.903" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31912" PostTypeId="2" ParentId="31907" CreationDate="2015-07-06T04:54:09.753" Score="6" Body="&lt;p&gt;Yes, the best known algorithm is still the algorithm from Babai and Luks, with runtime $\exp(O(\sqrt{n \log n}))$, where $n$ is the number of vertices in the graphs. Unless I'm mistaken, even the best known &lt;em&gt;conondeterministic&lt;/em&gt; algorithm for graph isomorphism has exponential runtime. Babai and Luks' algorithm is plausibly near-optimal for deterministic algorithms, but there is much evidence that there is a polynomial time conondeterministic algorithm for graph isomorphism out there to be discovered. In particular, it is &lt;a href=&quot;http://www.cs.umd.edu/~jkatz/complexity/f11/lecture17.pdf&quot;&gt;known&lt;/a&gt; that graph isomorphism is in coAM, and certain circuit lower bounds &lt;a href=&quot;http://www.brics.dk/RS/99/47/BRICS-RS-99-47.pdf&quot;&gt;imply&lt;/a&gt; that coAM = coNP.&lt;/p&gt;&#xA;" OwnerUserId="34371" LastActivityDate="2015-07-06T04:54:09.753" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31913" PostTypeId="2" ParentId="31904" CreationDate="2015-07-06T05:09:30.580" Score="4" Body="&lt;p&gt;Not quite what you're looking for, but &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/0890540189900084&quot; rel=&quot;nofollow&quot;&gt;the iterated mod problem is a P-complete number-theoretic decision problem&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="34371" LastActivityDate="2015-07-06T05:09:30.580" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31914" PostTypeId="1" CreationDate="2015-07-06T11:10:28.677" Score="1" ViewCount="231" Body="&lt;p&gt;Is &lt;a href=&quot;http://redis.io/&quot; rel=&quot;nofollow&quot;&gt;Redis&lt;/a&gt; with all its &lt;a href=&quot;http://redis.io/topics/data-types&quot; rel=&quot;nofollow&quot;&gt;data types&lt;/a&gt; (&lt;strong&gt;Strings&lt;/strong&gt;, &lt;strong&gt;Lists&lt;/strong&gt;, &lt;strong&gt;Hashes&lt;/strong&gt;, &lt;strong&gt;Sets&lt;/strong&gt;, &lt;strong&gt;Sorted Sets&lt;/strong&gt;, etc.) Turing Complete?&lt;/p&gt;&#xA;" OwnerUserId="20132" LastActivityDate="2015-07-07T01:05:58.900" Title="Is Redis Turing Complete?" Tags="&lt;turing-machines&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31915" PostTypeId="2" ParentId="31883" CreationDate="2015-07-06T14:56:26.697" Score="9" Body="&lt;p&gt;It should be noted that finding combinators with certain reduction properties is &lt;em&gt;always&lt;/em&gt; difficult, and finding the smallest such combinator may easily be undecidable (for trivial reasons, as it may be undecidable to prove that a certain application of the combinator even halts).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are several simple open questions of a similar flavor, e.g. problems #4, #6 and #10 from the &lt;a href=&quot;http://tlca.di.unito.it/opltlca/&quot; rel=&quot;nofollow noreferrer&quot;&gt;TLCA list of open problems&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One thing to note is that your combinator certainly needs to have at least 2 bound variables, one of which is duplicated (as does any complete set of combinators) and one needs to be erased. This puts a lower bound of 4, I think (2 abstractions and 2 appearances of a variable), which is not so far from the upper bound of 11.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit: Noam's comments and reference push the lower bound to 5! I wouldn't be surprised if the proof also requires the extra variable to appear as well, which would push us to 6.&lt;/strong&gt;&lt;/p&gt;&#xA;" OwnerUserId="3984" LastEditorUserId="3984" LastEditDate="2017-08-10T20:45:42.877" LastActivityDate="2017-08-10T20:45:42.877" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="31916" PostTypeId="1" CreationDate="2015-07-06T16:31:29.547" Score="6" ViewCount="160" Body="&lt;p&gt;I am trying to find references to a weighted version of the graph factor problem for the case when the &quot;target degree&quot; is a set of integers with &quot;gaps&quot; of size at most one.  The unweighted version of the problem can be defined as follows.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We are given a graph $G = (V, E)$ and a set of integers $B(v)$ associated to each vertex.  The goal is to find a set of edges $F\subseteq E$ such that the degree of each vertex $v\in V$ in the graph (V, F) is one of the integers in the associated set $B(v)$.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem is known to be solvable in polynomial time if $B(v)$ does not have gaps of length greater than one for any $v$.  For example the set $B(v) = \{5, 7, 8\}$ is OK (the gap between 5 and 7 is of length 1) but the set $B(v) = \{5, 8\}$ is not OK (the gap between 5 and 8 is of length 2).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is whether there are any known results for the weighted version of this problem.  So far I found a 1995 survey (Pulleyblank, &quot;Matchings and Extensions&quot;) saying that the weighted version has not been solved: &quot;Recently Cornuejols(1988) developed a polynomially bounded extension of the blossom algorithm for this problem when no gap of size greater than one is permitted. However, the corresponding weighted problem has not yet been solved.&quot; (p. 212 of &quot;Handbook of combinatorics&quot; vol. 1) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Has this problem been solved since?&lt;/p&gt;&#xA;" OwnerUserId="22537" LastEditorUserId="22537" LastEditDate="2015-07-07T15:17:40.063" LastActivityDate="2017-07-25T07:45:39.187" Title="Graph factors of maximum weight" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;matching&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="31917" PostTypeId="1" AcceptedAnswerId="31934" CreationDate="2015-07-06T18:05:36.387" Score="4" ViewCount="65" Body="&lt;p&gt;I expect the answer to be &quot;obviously yes&quot;, but to my inexperienced eye, that's not directly obvious, because the definition of infinite Böhm-reduction does not include a transitivity rule (it wouldn't work), and because I couldn't find a relevant lemma in the papers themselves.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm referring in particular to the definition by Czajka [1] of the relation $\rightarrow^\infty_{\beta\bot}$, called infinitary Böhm-reduction. I've looked at [2], which however does not include Böhm-reduction (such that the defined relation isn't confluent IIUC, which is a problem for me).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Rationale: Defining reduction for infinitary $\lambda$-calculus is tricky. In particular, you cannot create an &quot;infinite transitive closure&quot; which allows an infinite number of transitivity steps, but you need to be more careful. In particular, if you define multi-step reduction coinductively, you cannot include a transitive rule, lest your relation becomes total and thus degenerate. So one ends up doing &lt;em&gt;transitivity elimination&lt;/em&gt;, which is not always trivial; and given how unintuitive coinduction is, I'm afraid I'd fool myself when attempting a proof.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] Łukasz Czajka, 2014. A Coinductive Confluence Proof for Infinitary Lambda-Calculus. Proc. of Rewriting and Typed Lambda Calculi, Springer. &lt;a href=&quot;http://www.mimuw.edu.pl/~lukaszcz/coind.pdf&quot; rel=&quot;nofollow&quot;&gt;http://www.mimuw.edu.pl/~lukaszcz/coind.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] Jorg Endrullis and Andrew Polonsky, 2011. Infinitary Rewriting Coinductively. In Proc. of TYPES, volume 19 of LIPIcs, pages 16–27. Schloss Dagstuhl. &lt;a href=&quot;http://drops.dagstuhl.de/opus/volltexte/2013/3897/&quot; rel=&quot;nofollow&quot;&gt;http://drops.dagstuhl.de/opus/volltexte/2013/3897/&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[3] Richard Kennaway, Jan Willem Klop, M. Ronan Sleep, and Fer-Jan de Vries, 1997. Infinitary lambda calculus. Theoretical Computer Science, 175(1):93–125. &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0304397596001715&quot; rel=&quot;nofollow&quot;&gt;http://www.sciencedirect.com/science/article/pii/S0304397596001715&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="989" LastActivityDate="2015-07-07T19:19:36.207" Title="Is infinitary Böhm-reduction wrt. root-active terms for $\lambda$-calculus transitive?" Tags="&lt;pl.programming-languages&gt;&lt;lambda-calculus&gt;&lt;term-rewriting-systems&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31918" PostTypeId="1" CreationDate="2015-07-06T18:55:13.880" Score="10" ViewCount="531" Body="&lt;p&gt;I am wondering whether there may exist a way to give a sort of &quot;normal form&quot; for binary decision trees (BDT) in a tractable way.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More precisely: a BDT is a tree with internal nodes labelled by boolean variables and leaves labelled by $0$ or $1$. A BDT represents a boolean function in the obvious way. Two BDT $A,B$ are equivalent ($A\sim B$) when they represent the same function.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does there exist a function $f$ that inputs a BDT and turns it into some other data structure such that:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;$f$ is in Ptime&lt;/li&gt;&#xA;&lt;li&gt;$f(A)=f(B)$ if and only if $A\sim B$&lt;/li&gt;&#xA;&lt;li&gt;$f$ has a pseudo-inverse $g$, that is $g(f(A))\sim A$, also in Ptime&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;For instance reduced ordered binary decision diagrams OBDD validate 2 and 3, but not 1 because with the wrong variable ordering the output might be of exponential size.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have a feeling that this might not be possible, but have not found any evidence of that anywhere.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;To comment further on Ricky Demer's suggestion:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://people.cs.uchicago.edu/~fortnow/papers/equiv.pdf&quot; rel=&quot;nofollow&quot;&gt;This paper&lt;/a&gt; defines the $PEq$ (equivalence classes in Ptime) and $Ker$ (complete invariant in Ptime)  and CF (canonical form in Ptime) classes. They study various (unlikely) implications of $PEq=Ker$ and $Ker=CF$ but do not provide a definite answer to these questions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Various negative answers (impossibility of 1&amp;amp;2, 1&amp;amp;2&amp;amp;3) to this question would provide separation results as $PEq\neq Ker$ or $Ker\neq CF$... which seems to be an open problem so far.&lt;/p&gt;&#xA;" OwnerUserId="30505" LastEditorUserId="30505" LastEditDate="2015-07-17T09:34:04.370" LastActivityDate="2015-11-11T21:30:35.130" Title="Canonical representation of Binary Decision Tree in Ptime?" Tags="&lt;cc.complexity-theory&gt;&lt;decision-trees&gt;" AnswerCount="1" CommentCount="8" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="31919" PostTypeId="2" ParentId="31914" CreationDate="2015-07-06T21:06:29.707" Score="4" Body="&lt;p&gt;No and in a sense yes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;No - this question is strongly reminiscent of those about SQL and the conclusion that it isn't (Turing complete). Despite its many capabilities, Redis does not provide looping or recursion for via native API, so that pretty much nails it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, you can &lt;strong&gt;easily&lt;/strong&gt; run Lua scripts in Redis and Lua is in fact Turing complete, so in a sense so is Redis (similarly to how SQL becomes so once you allow the use of PL/SQL or the likes).&lt;/p&gt;&#xA;" OwnerUserId="34667" LastActivityDate="2015-07-06T21:06:29.707" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31920" PostTypeId="1" CreationDate="2015-07-06T21:41:01.337" Score="2" ViewCount="259" Body="&lt;p&gt;I have been working with some colleagues on a metaheuristic for an NP-Hard optimization problem. It is a genetic algorithm using a steady-state population replacement strategy (at each iteration a single new chromosome is created and used to replace an older one). The algorithm iterates until it fails to find a solution which is better than the current incumbent optimum for a pre-set number of consecutive iterations. &#xA;The algorithm has been tested on benchmark instances and proved empirically to be fast and effective, outperforming previous approaches.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We submitted our work to a journal and received rather favorable reviews. Among the modification requests, we were asked to state the time complexity of the procedure. While we have no difficulty to evaluate the (polynomial) complexity of a single iteration, we realized that, given the exponentially large solution space and our termination criterion, our algorithm could theoretically iterate an exponential number of times. Is this considered acceptable for a heuristic? After all, I was thinking, the same conclusion may even apply to a simple local search scheme, should it keep finding marginal improvements in its neighborhoods indefinitely without getting trapped in a local optimum. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Should we look into complexity analysis different from worst-case? Do you have references to works we may look into? Apologies if the question is too trivial, we are not &quot;pure&quot; computer scientists (although we submitted this work to a CS journal since we thought it was the right outlet for it).&lt;/p&gt;&#xA;" OwnerUserId="34669" LastEditorUserId="5385" LastEditDate="2015-07-07T04:22:58.420" LastActivityDate="2015-07-07T06:20:49.297" Title="Heuristic with worst-case exponential complexity" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;heuristics&gt;" AnswerCount="3" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="31921" PostTypeId="2" ParentId="31918" CreationDate="2015-07-07T00:07:29.400" Score="9" Body="&lt;p&gt;I think that assuming that $\mathsf{NP} \not \subseteq \mathsf{SUBEXP}$, such a canonical representation does not exist. Proof: Suppose such a canonical representation does exist. Then the function $A \mapsto g(f(A))$ can be computed in polynomial time, so in particular, $|g(f(A))|$ is $\text{poly}(|A|)$. But if we take $B$ to be a minimal BDT equivalent to $A$, then $g(f(A)) = g(f(B))$, so $|g(f(A))|$ is $\text{poly}(|B|)$. Such an approximation algorithm implies that $\mathsf{NP} \subseteq \mathsf{SUBEXP}$, according to &lt;a href=&quot;https://cstheory.stackexchange.com/a/7963/34371&quot;&gt;an answer on another post&lt;/a&gt;, if I understand correctly.&lt;/p&gt;&#xA;" OwnerUserId="34371" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2015-07-07T20:04:43.370" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="31922" PostTypeId="2" ParentId="31920" CreationDate="2015-07-07T00:28:34.917" Score="0" Body="&lt;p&gt;As I understand your algorithm, whether or not the worst-case running time is exponential does not depend on the size of the search space. If the number of different possible solution values happened to be upper bounded by a polynomial in the input size, then the complexity of your heuristic would be polynomial, too. This is true for many canonical NP-hard problems. Otherwise, additional information about the problem would probably allow for better advice.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Regarding your question whether exponential runtime would be acceptable for a heuristic, my guess is that a good approximation guaranty would be a minimum requirement. I assume that the problem we are dealing with is already solvable in exponential time without error, so why use a less reliable heuristic if it does not save us time? &lt;/p&gt;&#xA;" OwnerUserId="34657" LastActivityDate="2015-07-07T00:28:34.917" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31923" PostTypeId="2" ParentId="31920" CreationDate="2015-07-07T00:43:26.020" Score="3" Body="&lt;p&gt;While there are many heuristics (arguably all of them) that take exponential time in the worst-case, what usually makes them attractive (and marketable) is that they &quot;appear&quot; to perform much better in practice, and in fact it's hard to find examples where they are provably exponential. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Two canonical examples are the simplex algorithm for linear programming and the $k$-means heuristic for clustering. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It seems highly unlikely that you'll be able to show a worst-case running time that's better than exponential for a GA-like heuristic. As Tobias points out, it would be useful to know if there's some kind of guarantee of quality if the heuristic is terminated early - but I'm pessimistic that this can be done as well. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2015-07-07T00:43:26.020" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31925" PostTypeId="1" AcceptedAnswerId="31929" CreationDate="2015-07-07T01:51:35.297" Score="-2" ViewCount="104" Body="&lt;p&gt;in the following paper &lt;a href=&quot;http://journal.frontiersin.org/article/10.3389/fphy.2014.00005/full&quot; rel=&quot;nofollow&quot;&gt;http://journal.frontiersin.org/article/10.3389/fphy.2014.00005/full&lt;/a&gt;&#xA;the author describes the minimax problem as follows:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a graph G = (V, E), we are looking for a particular coloring $C \subseteq E$ such that no two edges in $C$ share a vertex and -- and this is the part I'm confused about -- if nodes $u$ and $v$ belong to edges in $C$ then the edge (u, v) isn't in $E$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But that clearly can't make sense because somehow that means that if $(u, v) \in C$ then $(u, v) \not\in E$ but $C \subseteq E$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Would the correct form of the second requirement be that:&#xA;For each $(u, v) \in E - C$ there exists an edge in $C$ that is adjacent to either $u$ or $v$?&lt;/p&gt;&#xA;" OwnerUserId="4497" LastActivityDate="2015-07-07T09:39:53.677" Title="Is there a typo in this definition of Minimal Maximal Matching" Tags="&lt;graph-theory&gt;&lt;matching&gt;" AnswerCount="2" CommentCount="0" ClosedDate="2015-07-23T20:02:27.050" ContentLicense="CC BY-SA 3.0" />
  <row Id="31926" PostTypeId="2" ParentId="31920" CreationDate="2015-07-07T06:20:49.297" Score="1" Body="&lt;p&gt;SAT-solvers are another common class of heuristics. There are many and of course they take exponential time in the worst case.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My suggestion is to explain to the reviewers that the problem is NP-complete and cannot be solved or approximated in less than exponential time if there are such results. That should suffice if your algorithm outperforms the best known algorithm on standard benchmarks for the problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also you might want to submit your paper to a venue which had published heuristics for the problem before.&lt;/p&gt;&#xA;" OwnerUserId="186" LastActivityDate="2015-07-07T06:20:49.297" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31927" PostTypeId="2" ParentId="31925" CreationDate="2015-07-07T07:14:56.190" Score="0" Body="&lt;p&gt;The &lt;a href=&quot;https://www.nada.kth.se/~viggo/wwwcompendium/node21.html&quot; rel=&quot;nofollow&quot;&gt;standard definition&lt;/a&gt; of the minimum maximal matching problem is exactly what it sounds like: we are looking for a matching (a set $C$ of edges, no two of which share an endpoint) which is maximal (if $e \not \in C$, then $C \cup \{e\}$ is not a matching) with the smallest possible size (i.e. we wish to minimize $|C|$, over all maximal matchings $C$.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm not sure how to interpret the definition in the paper to which you linked. If you replace the second requirement with your proposed criterion, you end up with a definition of a maximal matching.&lt;/p&gt;&#xA;" OwnerUserId="34371" LastActivityDate="2015-07-07T07:14:56.190" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31928" PostTypeId="1" CreationDate="2015-07-07T09:17:08.437" Score="2" ViewCount="148" Body="&lt;p&gt;I try to understand the $n^{1-\epsilon}$ hardness of approximating clique for any $\epsilon$ provided in [1]: www.nada.kth.se/~johanh/cliqueinap.ps&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In fact, I only want to understand the proof of theorem 2.8 (page 10) of [1], which in fact is due to [7]: &lt;a href=&quot;https://www.cs.utexas.edu/users/diz/pubs/approx.ps&quot; rel=&quot;nofollow&quot;&gt;https://www.cs.utexas.edu/users/diz/pubs/approx.ps&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Theorem 2.8 (proved in [7]) says:&#xA;Suppose any language in NP admits a PCP with log random bit and f amortized free bits, then unless NP=ZPP for any $\epsilon$ max clique cannot be approximated within $n^{\frac{1}{1+f+\epsilon}}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As [1] proves that &quot;for any $f &amp;gt; 0$, there exists PCP verifier (for a L in NP) with f amoritzed free bits&quot;, I understand that the result follows immediatly.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To prove theorem 2.8, I want to be sure that I correctly understand the hypothesis, and hence my first question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) We are given &quot;a PCP verifier with $f$ amortized free bits&quot;.&#xA;I know that $f$ amoritzed free bits implies that the number of free bits is &#xA;at most $f log(\frac{1}{s})$, where $s$ is the soundess of the verifier.&#xA;Thus, is it correct to say that&#xA;&quot;&lt;strong&gt;there exists $s&amp;gt;0$&lt;/strong&gt; such that we are given a PCP verifier with soundess $s$ and that uses $f log(\frac{1}{s}))$ free bits ?&#xA;(i.e. we do not control the soundness and the number of free bits, but only the relation between these two numbers)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) If this is true, how can we adapt the Lemma 2.11 of [7]?&#xA;Indeed, in Lemma 2.11, the verifier reads $c$ bits and has a soundess 1/2.&#xA;I understand that I can replace $c$ by $f log(\frac{1}{s}))$ in the number of vertices of the created graph, but how can we adapt the disperser to handle the soundess s ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thank you very much for your answer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Best regards&lt;/p&gt;&#xA;" OwnerUserId="32018" LastActivityDate="2015-07-07T09:17:08.437" Title="hardness of approximating clique: how using FGLSS reduction with PCP verifier of hastad" Tags="&lt;approximation-hardness&gt;&lt;pcp&gt;&lt;clique&gt;" AnswerCount="0" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31929" PostTypeId="2" ParentId="31925" CreationDate="2015-07-07T09:39:53.677" Score="0" Body="&lt;p&gt;I gave a quick look, it looks like you didn't copy the definition right, the second requirement state that if $u$ e $v$ belong to $D$, &lt;strong&gt;not&lt;/strong&gt; $C$, then $(u,v) \notin E$, where $D = \bigcup_{e \in C}∂e$. What I guess they mean is that if, say, $(a,b)$ and $(c,d)$ belong to $C$ and $(u,a)$, $(c,v)$ belong to $E$ then $(u,v) \notin E$ otherwise it could be added to $C$ and it would still be a valid matching.&lt;/p&gt;&#xA;" OwnerUserId="34669" LastActivityDate="2015-07-07T09:39:53.677" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="31930" PostTypeId="1" CreationDate="2015-07-07T14:00:07.433" Score="8" ViewCount="146" Body="&lt;p&gt;Impagliazzo gave a &lt;a href=&quot;https://www.youtube.com/watch?v=kej36yXKKeY&quot;&gt;talk&lt;/a&gt; last week at Simons Institute on oracle separation. At minute 5:34 he asks whether a one-way permutation can be constructed given oracle access to a random function oracle. Then he explains why it is tricky using &quot;history and pre-image&quot; paradigm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This paradigm wasn't clear to me although it seems a cornerstone. Could someone volunteer to explain it?&lt;/p&gt;&#xA;" OwnerUserId="34681" LastActivityDate="2015-07-07T14:00:07.433" Title="Manuel's trick and oracle separation" Tags="&lt;oracles&gt;&lt;separation&gt;" AnswerCount="0" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="31931" PostTypeId="2" ParentId="31880" CreationDate="2015-07-07T14:11:21.133" Score="5" Body="&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$\def\tc{\mathrm{TC}^0}\DeclareMathOperator\len{len}$&lt;/span&gt;Since there were no other takers, let me expand the comments above.&lt;/p&gt;&#xA;&lt;p&gt;The fundamental fact here is that approximations of basic arithmetic operations, and trigonometric and cyclometric functions like &lt;span class=&quot;math-container&quot;&gt;$\sin x$&lt;/span&gt;, &lt;span class=&quot;math-container&quot;&gt;$\cos x$&lt;/span&gt;, &lt;span class=&quot;math-container&quot;&gt;$\arctan x$&lt;/span&gt;, are computable in uniform &lt;span class=&quot;math-container&quot;&gt;$\tc$&lt;/span&gt; (and therefore in logarithmic space) for &lt;strong&gt;fixed-point&lt;/strong&gt; rational inputs. See e.g. &lt;a href=&quot;https://www.cs.duke.edu/%7Ereif/paper/logcircuit.pdf&quot; rel=&quot;noreferrer&quot;&gt;Reif&lt;/a&gt;, &lt;a href=&quot;https://www.cs.duke.edu/%7Ereif/paper/tate/thresh.pdf&quot; rel=&quot;noreferrer&quot;&gt;Reif and Tate&lt;/a&gt;, &lt;a href=&quot;http://dx.doi.org/10.1006/inco.1998.2783&quot; rel=&quot;noreferrer&quot;&gt;Maciel and Thérien&lt;/a&gt; for the basic arguments, however, the most crucial result for the uniform version is the proof that integer division and iterated multiplication are in uniform &lt;span class=&quot;math-container&quot;&gt;$\tc$&lt;/span&gt; by &lt;a href=&quot;http://dx.doi.org/10.1016/S0022-0000(02)00025-9&quot; rel=&quot;noreferrer&quot;&gt;Hesse, Allender, and Barrington&lt;/a&gt;. This is optimal in that all such functions (except addition and subtraction) are &lt;span class=&quot;math-container&quot;&gt;$\tc$&lt;/span&gt;-complete.&lt;/p&gt;&#xA;&lt;p&gt;(These results are typically stated for approximation of functions on a bounded domain, but they apply to arbitrary fixed-point inputs all the same, the point being that as long as there is only a linear number of bits before the binary point, we can reduce the input modulo &lt;span class=&quot;math-container&quot;&gt;$2\pi$&lt;/span&gt; by just computing an approximation of &lt;span class=&quot;math-container&quot;&gt;$2\pi$&lt;/span&gt; with a sufficent accuracy, followed by a division.)&lt;/p&gt;&#xA;&lt;p&gt;This has several consequences.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;First&lt;/strong&gt;, &lt;span class=&quot;math-container&quot;&gt;$\sin(x2^y)$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$\cos(x2^y)$&lt;/span&gt; can also be approximated in uniform &lt;span class=&quot;math-container&quot;&gt;$\tc$&lt;/span&gt; when &lt;span class=&quot;math-container&quot;&gt;$y$&lt;/span&gt; is &lt;em&gt;negative&lt;/em&gt;, by converting the input to fixed-point notation up to the desired accuracy. Thus, from now on I will only consider the case with &lt;span class=&quot;math-container&quot;&gt;$y\ge0$&lt;/span&gt;. We can as well also assume &lt;span class=&quot;math-container&quot;&gt;$x\ge0$&lt;/span&gt;, as this only affects the sign of sin.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Second&lt;/strong&gt;, the problem is not really about trigonometric functions, as all the complexity is in reducing the input to a bounded domain. More precisely, we have:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;Proposition 1:&lt;/strong&gt; The following search problems are equivalent up to uniform &lt;span class=&quot;math-container&quot;&gt;$\tc$&lt;/span&gt; (and a fortiori log-space) bounded-query Turing reductions:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Given &lt;span class=&quot;math-container&quot;&gt;$x,y$&lt;/span&gt;, approximate &lt;span class=&quot;math-container&quot;&gt;$\sin(x2^y)$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$\cos(x2^y)$&lt;/span&gt; to &lt;span class=&quot;math-container&quot;&gt;$\len(x)$&lt;/span&gt; bits of accuracy.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Given &lt;span class=&quot;math-container&quot;&gt;$x,y$&lt;/span&gt;, approximate &lt;span class=&quot;math-container&quot;&gt;$\sin(x2^y)$&lt;/span&gt; to &lt;span class=&quot;math-container&quot;&gt;$\len(x)$&lt;/span&gt; bits of accuracy.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Given &lt;span class=&quot;math-container&quot;&gt;$x,y$&lt;/span&gt;, approximate &lt;span class=&quot;math-container&quot;&gt;$x2^y\bmod 2\pi$&lt;/span&gt; to &lt;span class=&quot;math-container&quot;&gt;$\len(x)$&lt;/span&gt; bits of accuracy.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Given &lt;span class=&quot;math-container&quot;&gt;$y$&lt;/span&gt; and unary &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt;, approximate &lt;span class=&quot;math-container&quot;&gt;$2^y\bmod \pi$&lt;/span&gt; to &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt; bits of accuracy.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Here, approximation of &lt;span class=&quot;math-container&quot;&gt;$z\bmod2\pi$&lt;/span&gt; is defined so that when &lt;span class=&quot;math-container&quot;&gt;$z$&lt;/span&gt; is very close to an integer multiple of &lt;span class=&quot;math-container&quot;&gt;$2\pi$&lt;/span&gt;, numbers close to &lt;span class=&quot;math-container&quot;&gt;$0$&lt;/span&gt; and close to &lt;span class=&quot;math-container&quot;&gt;$2\pi$&lt;/span&gt; are both considered valid outputs.&lt;/p&gt;&#xA;&lt;p&gt;&lt;em&gt;Proof:&lt;/em&gt; For &lt;span class=&quot;math-container&quot;&gt;$1\le2$&lt;/span&gt;, use the identity &lt;span class=&quot;math-container&quot;&gt;$\cos z=1-2\sin^2(z/2)$&lt;/span&gt;. For &lt;span class=&quot;math-container&quot;&gt;$1\le3$&lt;/span&gt;, &lt;span class=&quot;math-container&quot;&gt;$\sin$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$\cos$&lt;/span&gt; are &lt;span class=&quot;math-container&quot;&gt;$2\pi$&lt;/span&gt;-periodic, and computable on &lt;span class=&quot;math-container&quot;&gt;$[0,2\pi]$&lt;/span&gt; in &lt;span class=&quot;math-container&quot;&gt;$\tc$&lt;/span&gt;. For &lt;span class=&quot;math-container&quot;&gt;$3\le1$&lt;/span&gt;, we can compute &lt;span class=&quot;math-container&quot;&gt;$z\bmod2\pi$&lt;/span&gt; from &lt;span class=&quot;math-container&quot;&gt;$u=\cos z$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$v=\sin z$&lt;/span&gt; in &lt;span class=&quot;math-container&quot;&gt;$\tc$&lt;/span&gt; using &lt;span class=&quot;math-container&quot;&gt;$\arctan(v/u)$&lt;/span&gt; and a little fiddling with quadrants. For &lt;span class=&quot;math-container&quot;&gt;$3\le4$&lt;/span&gt;, compute &lt;span class=&quot;math-container&quot;&gt;$2^y\bmod2\pi$&lt;/span&gt; to &lt;span class=&quot;math-container&quot;&gt;$2\len(x)+O(1)$&lt;/span&gt; bits of accuracy, and use &lt;span class=&quot;math-container&quot;&gt;$x2^y\bmod2\pi=x(2^y\bmod2\pi)\bmod2\pi$&lt;/span&gt;, which holds as &lt;span class=&quot;math-container&quot;&gt;$x$&lt;/span&gt; is an integer. QED&lt;/p&gt;&#xA;&lt;p&gt;Curiously, the argument above gives a reduction of &lt;span class=&quot;math-container&quot;&gt;$\cos(x2^y)$&lt;/span&gt; to &lt;span class=&quot;math-container&quot;&gt;$\sin(x2^y)$&lt;/span&gt;—or actually to &lt;span class=&quot;math-container&quot;&gt;$|\sin(x2^y)|$&lt;/span&gt;—and conversely we can reduce &lt;span class=&quot;math-container&quot;&gt;$|\sin(x2^y)|$&lt;/span&gt; to &lt;span class=&quot;math-container&quot;&gt;$\cos(x2^y)$&lt;/span&gt; using the identity &lt;span class=&quot;math-container&quot;&gt;$\sin z=\pm\sqrt{1-\cos^2z}$&lt;/span&gt;, but I don’t know how to reduce &lt;span class=&quot;math-container&quot;&gt;$\sin(x2^y)$&lt;/span&gt; itself to &lt;span class=&quot;math-container&quot;&gt;$\cos(x2^y)$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Third&lt;/strong&gt;, exponentially scaled uniform &lt;span class=&quot;math-container&quot;&gt;$\tc$&lt;/span&gt; circuits can be evaluated with &lt;span class=&quot;math-container&quot;&gt;$O(1)$&lt;/span&gt; alternations of existential and universal nondeterminism, and counting. That is,&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;Proposition 2:&lt;/strong&gt; The problems from Proposition 1 are computable in the &lt;a href=&quot;https://complexityzoo.uwaterloo.ca/Complexity_Zoo:C#ch&quot; rel=&quot;noreferrer&quot;&gt;counting hierarchy&lt;/a&gt; FCH, and therefore in polynomial space.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;(Notice that the trivial algorithm that expands &lt;span class=&quot;math-container&quot;&gt;$x2^y$&lt;/span&gt; in full followed by a computation of &lt;span class=&quot;math-container&quot;&gt;$\sin,\cos$&lt;/span&gt; only gives an exponential-time upper bound, so this is an improvement.)&lt;/p&gt;&#xA;&lt;p&gt;The level of CH the problem lands in corresponds to the depth of the uniform &lt;span class=&quot;math-container&quot;&gt;$\tc$&lt;/span&gt; circuits, up to small differences depending on the exact definitions of the levels and the circuit model. The recent paper by &lt;a href=&quot;http://eccc.hpi-web.de/report/2013/177/&quot; rel=&quot;noreferrer&quot;&gt;Allender, Balaji, and Datta&lt;/a&gt; tries to optimize the level for some of the basic ingredients (division, iterated multiplication). They do not mention trigonometric functions, so this would need further work, however it is a safe guess that the argument should give something in the vicinity of the 3rd–5th level of CH.&lt;/p&gt;&#xA;" OwnerUserId="6959" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2015-07-07T14:11:21.133" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31932" PostTypeId="1" CreationDate="2015-07-07T14:32:31.787" Score="6" ViewCount="217" Body="&lt;p&gt;What is the smallest function $t(n)$ such that there exists an algorithm which prints the binary digits of $\pi$, with the time spent between printing digit $n - 1$ and digit $n$ being $O(t(n))$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since the $n$th bit of $\pi$ &lt;a href=&quot;http://numbers.computation.free.fr/Constants/Algorithms/nthdecimaldigit.pdf&quot; rel=&quot;nofollow&quot;&gt;can be computed in $O(n \log^3 n)$ time&lt;/a&gt; by itself, we can trivially take $t(n)$ to be $n \log^3 n$. But we can hope that $t(n)$ can be much smaller, since we get to &quot;reuse&quot; all of the computations which gave us the previous bits. In fact, I don't see how to rule out $t(n) = 1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, what is the name of this &quot;mode&quot; of computation, where we are listing out the terms of an infinite sequence? It's a little like streaming, but backward...&lt;/p&gt;&#xA;" OwnerUserId="34371" LastEditorUserId="34371" LastEditDate="2015-07-07T19:52:04.853" LastActivityDate="2015-07-07T23:10:40.213" Title="Algorithms for printing the digits of pi, minimizing the time spent between digits" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31933" PostTypeId="1" CreationDate="2015-07-07T17:33:50.160" Score="5" ViewCount="164" Body="&lt;p&gt;Where does &lt;a href=&quot;http://researcher.watson.ibm.com/researcher/files/us-vitaly/ABFKP_Proper_Hardness_08.pdf&quot;&gt;this paper&lt;/a&gt; prove the middle bullet point of its abstract?&#xA;&lt;br&gt;&#xA;I have looked through that paper fairly thoroughly.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are three things I want to read how they're getting around.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Reductions from NP problems to SAT may have the effect&#xA;&lt;br&gt;&#xA;of applying arbitrarily large polynomials to the input size.&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Theorems 2 and 3 and 20 restrict the runtime of their learning algorithms.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Theorems 2 and 3 and 20 consider randomized algorithms.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerDisplayName="user6973" LastActivityDate="2015-07-07T17:33:50.160" Title="The Complexity of Properly Learning Decision Trees" Tags="&lt;decision-trees&gt;&lt;pac-learning&gt;" AnswerCount="0" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31934" PostTypeId="2" ParentId="31917" CreationDate="2015-07-07T19:19:36.207" Score="2" Body="&lt;p&gt;I think you'll find that the exact same proof of Lemma 3 in [1] (the proof itself appears in [2]) concerning $\rightarrow^\infty_\beta$ also holds for $\rightarrow^\infty_{\beta\bot}$: indeed, they are defined in the same way from $\rightarrow^*_\beta$ and $\rightarrow^*_{\beta\bot}$ respectively, which are transitive by definition!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The lemma holds for an arbitrary reflexive-transitive congruence relation in place of $\rightarrow^*_{\beta\bot}$, as you can verify in [2] without needing to go into the detail of the coinductive proofs. In particular, the proofs of lemmas 4.1-5 in [2] are unchanged (with extra &lt;em&gt;induction&lt;/em&gt; cases in 4.4).&lt;/p&gt;&#xA;" OwnerUserId="3984" LastActivityDate="2015-07-07T19:19:36.207" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="31935" PostTypeId="1" AcceptedAnswerId="31939" CreationDate="2015-07-07T21:01:23.057" Score="13" ViewCount="357" Body="&lt;p&gt;Treewidth and pathwidth are popular parameters, measuring the closeness of a graph to a tree or a path, respectively. Indeed, it seems treewidth is so popular it is featured in many papers, books, and lecture notes that give (even very gentle) introductions to the algorithmic aspects of treewidth (see e.g. the Downey &amp;amp; Fellows book). Typically, these resources explain how some NP-hard problem (e.g. independent set) is solved in polynomial time through dynamic programming on a tree decomposition.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, it is sometimes the case a graph problem remains NP-complete for both bounded treewidth and bounded pathwidth graphs. But such hardness results don't imply hardness for bounded &lt;a href=&quot;https://en.wikipedia.org/wiki/Tree-depth&quot;&gt;tree-depth&lt;/a&gt;, which informally measures the closeness to a star.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It seems fair to say tree-depth is not as widely known as treewidth. For someone wanting to learn more about algorithms parameterizing by tree-depth, are there (similarly to treewidth) some nice resources available for learning how such algorithms perhaps typically work?&lt;/p&gt;&#xA;" OwnerUserId="5693" LastActivityDate="2015-07-08T05:31:10.193" Title="Gentle introduction to the algorithmic aspects of tree-depth" Tags="&lt;reference-request&gt;&lt;graph-algorithms&gt;&lt;parameterized-complexity&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="31936" PostTypeId="2" ParentId="31141" CreationDate="2015-07-07T22:56:44.680" Score="5" Body="&lt;p&gt;The problem is known as the &lt;em&gt;propagation problem&lt;/em&gt;. Aazami has proved in his &lt;a href=&quot;http://hdl.handle.net/10012/4147&quot;&gt;PhD thesis&lt;/a&gt; that the weighted version is NP-complete even when the graph is planar and the node weights are in $\{0,1\}$. The complexity for the unweighted version seems to be an open problem.&lt;/p&gt;&#xA;" OwnerUserId="15637" LastActivityDate="2015-07-07T22:56:44.680" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31937" PostTypeId="2" ParentId="31932" CreationDate="2015-07-07T23:10:40.213" Score="10" Body="&lt;p&gt;($M(n)$ is &quot;the time required to perform precision&#xA;$n$&#xA;multiplication.&quot;) $\:$ By &lt;a href=&quot;http://arxiv.org/pdf/1004.3412v2.pdf#page=10&quot;&gt;page 10 of this paper&lt;/a&gt;,&#xA;&lt;br&gt;&#xA;a precision-$n$ approximation to $\pi$ can be computed in time $\;\; O\Big(\hspace{-0.04 in}M(n)\hspace{-0.02 in}\cdot \hspace{-0.02 in}\log(n)\hspace{-0.04 in}\Big) \;\;\;$.&#xA;&lt;br&gt;&#xA;By &lt;a href=&quot;http://link.springer.com/content/pdf/10.1007/BFb0093516.pdf#page=23&quot;&gt;the very end of this paper&lt;/a&gt;, one can find a rational number $c$ such that for all $n$,&#xA;&lt;br&gt;&#xA;the first $n$ bits of $\pi$ are the first $n$ bits of every precision-$\hspace{-0.03 in}\lfloor (19.9\hspace{-0.04 in}\cdot \hspace{-0.04 in}n)\hspace{-0.04 in}+\hspace{-0.04 in}c\rfloor$ approximation&#xA;&lt;br&gt;&#xA;of $\pi$, so the first $n$ bits of $\pi$ can be computed in time $\;\;\; O\Big(\hspace{-0.04 in}M(n) \cdot \hspace{-0.02 in}\log(n)\hspace{-0.04 in}\Big) \:\:\:\:$.&#xA;&lt;br&gt;&#xA;Thus, if &lt;a href=&quot;https://en.wikipedia.org/wiki/Big_O_notation#Family_of_Bachmann.E2.80.93Landau_notations&quot;&gt;$\Theta$&lt;/a&gt;$(M(n)\hspace{-0.04 in}\cdot \hspace{-0.04 in}\log(n))$ has a &lt;a href=&quot;https://en.wikipedia.org/wiki/Constructible_function#Time-constructible_definitions&quot;&gt;time-constructible&lt;/a&gt; function, one can print $\pi$ &quot;with the time&#xA;&lt;br&gt;&#xA;spent between printing digit&quot; $n\hspace{-0.04 in}-\hspace{-0.05 in}1$ &quot;and digit $n$ being&quot; $\;\; O\Big(\hspace{-0.05 in}\big(\hspace{-0.02 in}M(n)\hspace{-0.04 in}\cdot \hspace{-0.04 in}\log(n)\hspace{-0.02 in}\big)\big/n\hspace{-0.04 in}\Big) \;\;$, $\;\;$ as follows:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Recall that the 0th and 1th bits of $\pi$ are both &quot;1&quot;.) $\;\;\;$ Set $\: i = 0  \:$ and $\: t_{curr} =1 \:$ and output &quot;1&quot;, then run the following loop forever. $\;\;\;$ Compute [the first $2^{\hspace{.02 in}i+2}$ bits of $\pi$] and $\big[\hspace{-0.02 in}$an integer&#xA;&lt;br&gt;&#xA;$t_{next}$ in $\Theta \hspace{-0.04 in}\left(\hspace{-0.02 in}M\hspace{-0.04 in}\left(\hspace{-0.02 in}2^i\hspace{-0.02 in}\right)\hspace{-0.06 in}\cdot \hspace{-0.05 in}i\hspace{-0.02 in}\right)$ such that $t_{next}$ is an upper bound on the time it will take to compute&#xA;&lt;br&gt;&#xA;$t_{next}$ and those bits of $\pi \big]$. $\:$ At the start of those computations, output the $2^i\hspace{-0.03 in}$-th bit of $\pi$.&#xA;&lt;br&gt;&#xA;Interleaved with those computations, output a bit of $\pi$ approximately $t_{curr}\hspace{-0.03 in}\big/\hspace{-0.02 in}2^i$ steps after outputting the previous bit of $\pi$. $\:$ At the end of those computations, output the rest of the first $2^{\hspace{.02 in}i+1}$ bits of $\pi$, then increment $i$, set $\: t_{curr} = t_{next} \:$, $\:$ and go back to the beginning of this loop.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;With &lt;a href=&quot;http://arxiv.org/abs/1407.3360&quot;&gt;the fastest known integer multiplication algorithm&lt;/a&gt;,&#xA;&lt;br&gt;&#xA;that would achieve $\;\;\; t\hspace{.02 in}(n) \: = \: (\log(n))^{\hspace{.02 in}2}\hspace{-0.05 in}\cdot 8$&lt;sup&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Iterated_logarithm&quot;&gt;$\hspace{.02 in}\log^{\hspace{-.02 in}*}$&lt;/a&gt;$(n)$&lt;/sup&gt;$\;\;\;$.&#xA;&lt;br&gt;&#xA;To avoid that general trick, one should probably impose a sublinear space bound.&lt;/p&gt;&#xA;" OwnerDisplayName="user6973" LastActivityDate="2015-07-07T23:10:40.213" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31938" PostTypeId="1" CreationDate="2015-07-08T00:08:48.273" Score="9" ViewCount="320" Body="&lt;p&gt;Has anyone explored what is the circuit complexity of classic decision problems such as Primes or Graph-Isomorphism for small input size $N$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;While most people are interested in the how the scaling goes as $N \to \infty$, I think it would also be interesting to see how this grows for small N. Sure, we now know Primes is in P, but it would be neat to see how it grows, and maybe even sharp changes in the growth rate of the graph as the inputs get large enough that a different algorithm becomes more efficient.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is even the (unlikely) possibility that someone could extract from a sequence of circuits a general algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It seems like this approach could answer &lt;em&gt;different&lt;/em&gt; questions than are usually asked about $N \to \infty$.  With the advances of algorithms knowledge (SAT solvers, etc.) and super computing power, concrete answers could be obtained for small $N$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there any references or lists of results for people explicitly computing circuit complexity of decision problems for small $N$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If there are people working on this, what algorithms do they currently use to solve the minimal circuit problem (given a boolean function and set of gates, output a circuit using the minimal number of gates necessary)?&lt;/p&gt;&#xA;" OwnerUserId="34654" LastEditorUserId="34654" LastEditDate="2015-07-08T00:17:59.540" LastActivityDate="2015-07-12T22:12:29.537" Title="Computed circuit complexity of decision problems" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;circuit-complexity&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="31939" PostTypeId="2" ParentId="31935" CreationDate="2015-07-08T05:31:10.193" Score="10" Body="&lt;p&gt;My favorite resource for this subject is the book &lt;em&gt;Sparsity&lt;/em&gt; by Jaroslav Nešetřil and Patrice Ossona de Mendez. It has quite a bit of material specifically about tree-depth, including algorithmic aspects. And for a more brief and quick introduction, there's always &lt;a href=&quot;https://en.wikipedia.org/wiki/Tree-depth&quot;&gt;the Wikipedia article&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2015-07-08T05:31:10.193" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31940" PostTypeId="1" CreationDate="2015-07-08T10:32:51.113" Score="2" ViewCount="43" Body="&lt;p&gt;Does there exist a centralized deterministic spanner construction with low degree and low stretch both independent of the graph diameter (no log D factor), but can be dependent on the number of nodes. There exists distributed spanner construction algorithms that satisfy this property, so I believe there should exist a simpler centralized counterpart.&lt;/p&gt;&#xA;" OwnerUserId="34690" LastActivityDate="2015-07-08T10:32:51.113" Title="centralized deterministic Spanner construction with low degree and low stretch" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;dc.distributed-comp&gt;&lt;computational-geometry&gt;&lt;network-modeling&gt;" AnswerCount="0" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31941" PostTypeId="1" AcceptedAnswerId="31944" CreationDate="2015-07-08T11:14:08.107" Score="7" ViewCount="849" Body="&lt;p&gt;Here is a variant of the classic partition problem: Given a list of integers can it be partitioned into $S_1$, $S_2$, and $S_3$, with $S_1$ and $S_2$ nonempty, so the sum of elements in $S_1$ equals the sum of elements in $S_2$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is this problem NP-hard?&lt;/p&gt;&#xA;" OwnerUserId="34691" LastEditorUserId="34371" LastEditDate="2015-07-08T13:07:05.527" LastActivityDate="2015-07-08T13:07:05.527" Title="&quot;Any&quot; Subset Sum. Is it hard?" Tags="&lt;subset-sum&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31943" PostTypeId="2" ParentId="31941" CreationDate="2015-07-08T12:01:54.490" Score="1" Body="&lt;p&gt;I don't know. Using dynamic programming, we can solve this problem in pseudo-polynomial time $O(nN)$, where $n$ is the number of integers in the list and $N$ is the sum of all integers in the list, as follows. For $m \leq n$, $|M| \leq N$, and $c \in \{\emptyset, \{1\}, \{2\}, \{1, 2\}\}$, let $T(m, M, c)$ tell whether it is possible to partition the first $m$ integers into sets $S_1, S_2, S_3$, so that $(\sum S_2) - (\sum S_1) = M$, and $S_i$ is nonempty for every $i \in c$. Say the integers are $x_1, \dots, x_n$. We have the recurrence&#xA;$$ T(m, M, c) = T(m - 1, M, c) \vee T(m - 1, M + x_m, c \setminus \{1\}) \vee T(m - 1, M - x_m, c \setminus \{2\}). $$&#xA;(We can choose to put $x_m$ in $S_3$, or in $S_1$, or in $S_2$.) From here, the straightforward DP algorithm gives us every value of $T(m, M, c)$ in time $O(nN)$; the answer to the problem is $T(n, 0, \{1, 2\})$.&lt;/p&gt;&#xA;" OwnerUserId="34371" LastEditorUserId="34371" LastEditDate="2015-07-08T12:08:49.593" LastActivityDate="2015-07-08T12:08:49.593" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31944" PostTypeId="2" ParentId="31941" CreationDate="2015-07-08T12:25:28.667" Score="17" Body="&lt;p&gt;The problem is known to be NP-complete: On the equal-subset-sum problem, Woeginger and Yu, IPL'92.&lt;/p&gt;&#xA;" OwnerUserId="9663" LastActivityDate="2015-07-08T12:25:28.667" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="31945" PostTypeId="1" AcceptedAnswerId="31955" CreationDate="2015-07-08T13:47:28.763" Score="3" ViewCount="137" Body="&lt;p&gt;My input is a n-dimensional binary matrix.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My goal is to find the set of Hyperrectangles that covers every '1' at least once and covers not a single '0', which has minimal cardinality (the least amount of Hyperrectangles). The Hyperrectangles may overlap.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Before defining each next Hyperrectangle, I'm allowed to permute the 'rows' (along one or more dimensions) of the matrix.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An approximation algorithm will do, as long as it is always correct.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is this problem reducible to some well-researched problem?&lt;/p&gt;&#xA;" OwnerUserId="4804" LastEditorUserId="4804" LastEditDate="2015-07-09T08:28:15.170" LastActivityDate="2015-07-09T21:40:35.263" Title="Minimal set of Hyperrectangles covering an n-dimensional binary matrix with row permutations" Tags="&lt;ds.algorithms&gt;&lt;matrices&gt;&lt;covering-problems&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31946" PostTypeId="1" AcceptedAnswerId="31950" CreationDate="2015-07-08T16:02:26.380" Score="5" ViewCount="474" Body="&lt;p&gt;Given a lambda calculus with explicit linearity and usual application and abstraction, can the linearity check be done on an untyped syntax tree if we keep track of the structural types? Are the explicit operators necessary?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I suspect the answer is yes, from these &lt;a href=&quot;https://www.cs.cmu.edu/~fp/courses/15816-f01/handouts/linear.pdf&quot; rel=&quot;nofollow&quot;&gt;course notes by Frank Pfenning&lt;/a&gt; because syntactic constructs are needed to use $A \&amp;amp; B$, $A \otimes B$, and $A \oplus B$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, if named functions exist (as in an actual programming language), some types are clearly necessary: consider the function $cond \colon Bool \to A \&amp;amp; A \multimap A$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can type checking and linearity checking be done in two steps, and can linearity checking happen before type checking?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit: The algorithm provided in the above course notes type checks linear lambda calculus terms, which includes determining if the term is linearly well-formed. Is it possible to determine if a term is well-typed via a syntactic linear well-formedness check (which would eliminate $\lambda x. x x$) followed by a type check which does not consider linearity? Or is this interaction essential to complete type inference?&lt;/p&gt;&#xA;" OwnerUserId="34698" LastEditorUserId="4193" LastEditDate="2015-07-08T23:00:12.960" LastActivityDate="2015-07-09T05:04:46.110" Title="Can all linear lambda calculi be linearity checked syntactically?" Tags="&lt;type-theory&gt;&lt;type-systems&gt;&lt;type-inference&gt;&lt;linear-logic&gt;" AnswerCount="1" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="31947" PostTypeId="2" ParentId="16803" CreationDate="2015-07-08T18:07:44.557" Score="2" Body="&lt;p&gt;I think I found an useful example myself!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Perhaps I was a little vague, but I was looking for a problem that met the following specifications:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The problem itself should be easy to explain to someone studying social sciences.&lt;/li&gt;&#xA;&lt;li&gt;It should have an obvious but ineffective algorithm.&lt;/li&gt;&#xA;&lt;li&gt;It should have a better algorithm that is also easy to explain to someone studying social sciences.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;For Eulerian Cycle it's easy to explain that it's a necessary condition that every node must have even degree, but it isn't as easy to explain why it's a sufficient condition.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is the problem that I think so far best meets the specification above:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;FORM_TARGET_SET_WITH_UNIONS&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Collection $C=\{S_1, S_2,...,S_n\}$ of sets&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Target set $T$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Question: Is it possible to form target set $T$ by taking the union of some of the sets in $C$ ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Obvious but ineffective algorithm:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Form all $2^n$ possible unions&lt;/li&gt;&#xA;&lt;li&gt;See if one of them corresponds to $T$&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Better algorithm&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Mark the sets in $C$ that are contained in $T$&lt;/li&gt;&#xA;&lt;li&gt;Form the union $S_{_\cup}$ of these sets&lt;/li&gt;&#xA;&lt;li&gt;If $|S_{_\cup}|=|T|$ answer $YES$, otherwise answer $NO$&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;There is also the sister problem&lt;/p&gt;&#xA;&#xA;&lt;p&gt;FORM_TARGET_SET_WITH_INTERSECTIONS&lt;/p&gt;&#xA;&#xA;&lt;p&gt;for which the better algorithm is&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Mark the sets in $C$ that contain $T$&lt;/li&gt;&#xA;&lt;li&gt;Form the intersection $S_{_\cap}$ of these sets&lt;/li&gt;&#xA;&lt;li&gt;If $|S_{_\cap}|=|T|$ answer $YES$, otherwise answer $NO$&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;As you can see I was looking for something really simple (almost as simple as SUBSET_PRODUCT_IS_ZERO).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem can also be contrasted with SUBSET SUM and SUBSET PRODUCT, which are NP-complete but similar in their formulation. In all these problems one is presented with a collection of objects and asked if an operation on a selection of these objects can produce a desired result.&lt;/p&gt;&#xA;" OwnerUserId="14105" LastActivityDate="2015-07-08T18:07:44.557" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31948" PostTypeId="2" ParentId="4644" CreationDate="2015-07-08T19:57:17.213" Score="7" Body="&lt;p&gt;One can solve the decision problem in $\tilde{O}(nA)$ time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let the sequence of numbers be $S$. Define $F_S$ to be a set such that $(i,j)\in F_S$ iff there exist a subsequence of $S$ of length $j$ that sums to $i$. If we have computed $F_S$, then we just need $O(nA)$ additional time to go thorough $F_S$ to solve your problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $S_1$ and $S_2$ are two subsequences that partitions $S$, then &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$F_S = F_{S_1} + F_{S_2}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where $A+B=\{a+b  | a\in A, b\in B\}$ is the minkowski sum, and addition between tuples are defined coordinate-wise. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Claim: Computing $F_S$ from $F_{S_1}$ and $F_{S_2}$ takes $\tilde{O}(|S|A)$ time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Proof: Apply 2D convolution on two tables of size $A\times |S|$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The algorithm partition the sequence to two equal sized sequences, apply recursion to each, and take the minkowski sum of the result. Let $T_A(n)$ be the worst case running time when the input to the algorithm has $n$ elements and $A$ is an upper bound of the sum.&#xA;We have&lt;br&gt;&#xA;$$&#xA;T_A(n) = 2 T_A(n/2) + A \tilde{O}(n)&#xA;$$&#xA;Which shows $T_A(n) = \tilde{O}(n A)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The hidden $\log$ factor is $\log n \log nA$.&lt;/p&gt;&#xA;" OwnerUserId="314" LastActivityDate="2015-07-08T19:57:17.213" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31949" PostTypeId="2" ParentId="31868" CreationDate="2015-07-08T23:41:41.823" Score="2" Body="&lt;p&gt;Even in the current updated version of the question, it still remains ill defined. There many different ways by which you can partition a graph into symmetric (or balanced if you like) clusters. One question that you might have in mind but have problem expressing is the &lt;strong&gt;minimum multisection&lt;/strong&gt; (or partition): &lt;em&gt;Given a graph $G$ find a symmetric partition $P$ of its vertices such that it minimizes the edges between different clusters.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In which case the answer is that the problem is NP-hard [1] and moreover it is NP-hard to approximate within a constant factor [2].&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] L. Hyafil and R. L. Rivest. Graph partitioning and constructing optimal decision trees are polynomial complete problems. 1973.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] K. Andreev and H. Racke. Balanced graph partitioning. 2004.&lt;/p&gt;&#xA;" OwnerUserId="49647" LastEditorUserId="49647" LastEditDate="2015-07-08T23:54:20.770" LastActivityDate="2015-07-08T23:54:20.770" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31950" PostTypeId="2" ParentId="31946" CreationDate="2015-07-09T05:04:46.110" Score="8" Body="&lt;p&gt;I don't want to make a statement about &quot;all linear lambda calculi&quot; since it's hard to make that precise, but for pure linear lambda-calculus the answer is yes.  One way to enforce linearity in pure lambda calculus is by trying to type application and abstraction using the linear implication $A \multimap B$,&#xA;$$&#xA;\frac{\Gamma \vdash t:A\multimap B\quad \Delta\vdash u:A}{\Gamma,\Delta\vdash t(u):B}&#xA; \qquad&#xA;\frac{x:A,\Gamma \vdash t:B}{\Gamma\vdash \lambda x.t:A\multimap B}&#xA;$$&#xA;together with the linear identity and exchange rules:&#xA;$$&#xA;\frac{}{x:A\vdash x:A}&#xA; \qquad&#xA;\frac{\Gamma,y:B,x:A,\Delta \vdash t:C}{\Gamma,x:A,y:B,\Delta \vdash t:C}&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But if you just want to check that a lambda term is linear, types are overkill, and it suffices to check syntactically that every free or $\lambda$-bound variable is used exactly once.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A way to make that a bit more precise is to define the set of linear lambda terms $\Lambda_1(\gamma)$ with a given list $\gamma = x_i,\dots,x_1$ of distinct free variables.  This is really a &lt;em&gt;family&lt;/em&gt; of sets (indexed by $\gamma$) generated by the following rules (which can be seen as an abstraction of the typing rules above):&#xA;$$&#xA;\frac{}{x \in \Lambda_1(x)}&#xA; \qquad&#xA;\frac{t \in \Lambda_1(\gamma,y,x,\delta)}{t \in \Lambda_1(\gamma,x,y,\delta)}&#xA; \qquad&#xA;\frac{t\in \Lambda_1(\gamma)\quad u \in \Lambda_1(\delta)}{t(u) \in \Lambda_1(\gamma,\delta)}&#xA; \qquad&#xA;\frac{t \in \Lambda_1(x,\gamma)}{\lambda x.t \in \Lambda_1(\gamma)}&#xA;$$&#xA;Then a term $t$ of pure lambda calculus with free variables $\gamma$ is linear just in case $t \in \Lambda_1(\gamma)$.  Note that these rules (like the typing rules) also have the effect of performing &lt;em&gt;scope checking&lt;/em&gt;, and thus ruling out certain syntactic expressions which might look linear but violate scoping (e.g., an expression like &quot;$\lambda x.x(y)(\lambda y.\lambda z.z)$&quot;, where the variable $y$ is used before it is bound).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, pure linear lambda calculus has the remarkable property that &lt;em&gt;every&lt;/em&gt; term is typable (which is related to the fact that it is strongly normalizing).  So, once we know that a lambda term is linear it is always possible to go back and give it a type.  Even more remarkably, the &lt;em&gt;principal&lt;/em&gt; type of a term uniquely identifies its &lt;em&gt;$\beta$-normal form&lt;/em&gt;, so type inference is in fact equivalent to normalization.  Harry Mairson had a nice paper discussing some aspects of these remarkable properties in &lt;a href=&quot;http://www.cs.brandeis.edu/~mairson/Papers/jfp02.pdf&quot;&gt;Linear lambda calculus and PTIME-completeness&lt;/a&gt; (JFP 14:6, 2004).&lt;/p&gt;&#xA;" OwnerUserId="674" LastActivityDate="2015-07-09T05:04:46.110" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31955" PostTypeId="2" ParentId="31945" CreationDate="2015-07-09T19:28:52.323" Score="3" Body="&lt;p&gt;If &quot;n-&lt;a href=&quot;https://en.wikipedia.org/wiki/Bipartite_graph&quot; rel=&quot;nofollow&quot;&gt;partitioned&lt;/a&gt; h&lt;a href=&quot;https://en.wikipedia.org/wiki/Hypergraph&quot; rel=&quot;nofollow&quot;&gt;ypergraphs&lt;/a&gt;&quot; are defined as &quot;hypergraphs together with a partition of their vertices into n subsets such that each hyperedge has only one vertex from each of those subsets&quot; then your problem can be reformulated as  &lt;a href=&quot;https://en.wikipedia.org/wiki/Complete_bipartite_graph&quot; rel=&quot;nofollow&quot;&gt;n-clique&lt;/a&gt; h&lt;a href=&quot;https://en.wikipedia.org/wiki/Bipartite_dimension&quot; rel=&quot;nofollow&quot;&gt;yperdge-cover&lt;/a&gt; for &lt;a href=&quot;https://en.wikipedia.org/wiki/Hypergraph&quot; rel=&quot;nofollow&quot;&gt;n-uniform&lt;/a&gt;&#xA;&lt;br&gt;&#xA;n-partitioned hypergraphs, and that reformulation preserves &lt;a href=&quot;https://en.wikipedia.org/wiki/Bipartite_dimension#Computing_the_bipartite_dimension&quot; rel=&quot;nofollow&quot;&gt;approximations and the parameter&lt;/a&gt;&#xA;&lt;br&gt;&#xA;(when your problem is parametrized by number of hyperrectangles).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In particular, your problem is NP-hard to approximate, even for n=2.&#xA;&lt;br&gt;&lt;br&gt;&lt;br&gt;&#xA;Those problems are equivalent to:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Find [the assignment of one positive integer to each '1' in the matrix] such that with&#xA;&lt;br&gt;&#xA;C being the largest of those positive integers, [for all elements H of {1,2,3,...,C-1,C}&#xA;&lt;br&gt;&#xA;and all '0's in the matrix, there is a coordinate such that no '1' [with the&#xA;&lt;br&gt;&#xA;same value for that coordinate as the '0'] was assigned H], which minimizes C.&#xA;&lt;br&gt;&lt;br&gt;&lt;br&gt;&#xA;Thus, your problem can be solved in&#xA;&lt;br&gt;&#xA;((minimum_number_of_hyperrectangles)^(number_of_'1's)) * poly(input_size)&#xA;&lt;br&gt;&#xA;time with an &lt;a href=&quot;https://en.wikipedia.org/wiki/Embarrassingly_parallel&quot; rel=&quot;nofollow&quot;&gt;embarassingly parallel&lt;/a&gt; workload.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Aside from the reformulation and the equivalent problem I mentioned,&#xA;&lt;br&gt;&#xA;I don't know of any problems that your problem is reducible to for any reason&#xA;&lt;br&gt;&#xA;other than your problem being in &lt;a href=&quot;https://complexityzoo.uwaterloo.ca/Complexity_Zoo:N#npo&quot; rel=&quot;nofollow&quot;&gt;NPO&lt;/a&gt; and the other problem being NPO-hard.&#xA;&lt;br&gt;&lt;br&gt;&lt;/p&gt;&#xA;" OwnerDisplayName="user6973" LastEditorDisplayName="user6973" LastEditDate="2015-07-09T21:40:35.263" LastActivityDate="2015-07-09T21:40:35.263" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31956" PostTypeId="1" CreationDate="2015-07-09T20:17:36.377" Score="3" ViewCount="343" Body="&lt;p&gt;If we consider the following problem: &#xA;Stream of intervals, coming in one at a time, which we maintain in an augmented interval tree (&lt;a href=&quot;https://en.wikipedia.org/wiki/Interval_tree&quot; rel=&quot;nofollow&quot;&gt;Interval tree&lt;/a&gt;). At some point in time later, we get a point, &#xA;and are asked to return all intervals covering that point.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is the complexity of the above lookup operation?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;PS : This is not a homework question, but was an interview question.&lt;/p&gt;&#xA;" OwnerUserId="34725" LastActivityDate="2015-07-16T10:44:46.383" Title="Lookup complexity in augmented interval tree" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;online-algorithms&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="31958" PostTypeId="2" ParentId="16187" CreationDate="2015-07-09T23:25:46.817" Score="7" Body="&lt;p&gt;Combinatorial game theory plays a role in logic and computer science as in, for example, the &lt;a href=&quot;https://en.wikipedia.org/wiki/Ehrenfeucht%E2%80%93Fra%C3%AFss%C3%A9_game&quot; rel=&quot;noreferrer&quot;&gt;Ehrenfeucht-fraïssé game&lt;/a&gt;, which is a logic game played on model-theoretic structures. At each turn, the first player chooses an element from one of the two structures, and the second has to chose an element from the other, trying to maintain a local isomorphisms between the elements chosen up to that point.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The main theorem regarding this game roughly says that if Player 2 has a winning strategy in a game over two structures, then there does not exist a first-order logic formula that differentiate the two structures. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This result is used in a large number of expressibility results for first order logic and for other logics as well (there's notably an extension of the theorem to monadic second-order logic).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;These expressiveness results in turn have strong applications in computer science, e.g. to formal verification, database theory, etc...&lt;/p&gt;&#xA;" OwnerUserId="18101" LastEditorUserId="18101" LastEditDate="2015-07-10T17:28:21.917" LastActivityDate="2015-07-10T17:28:21.917" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31959" PostTypeId="1" AcceptedAnswerId="31960" CreationDate="2015-07-10T07:04:54.110" Score="1" ViewCount="185" Body="&lt;p&gt;Found this from graphclasses.org.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Two papers give conflicting results for coloring &lt;a href=&quot;http://graphclasses.org/classes/gc_396.html&quot; rel=&quot;nofollow&quot;&gt;$P_5$-free&lt;/a&gt;&#xA;graphs  which appear to imply $P=NP$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;From &lt;a href=&quot;http://www.researchgate.net/publication/1959697_Polynomial-time_algorithm_for_vertex_k-colorability_of_P_5-free_graphs&quot; rel=&quot;nofollow&quot;&gt;Polynomial-time algorithm for vertex k-colorability of P_5-free graphs&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Abstract. We give the first polynomial-time algorithm for coloring vertices of P5 -free graphs with k colors. This settles an open problem and generalizes several previously known results.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;From &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0012365X05001019&quot; rel=&quot;nofollow&quot;&gt;Some new hereditary classes where graph coloring remains NP-hard, p 5&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;... Coloring is NP-hard in $2K_2$-free ... and $\{C_5,P_5\} \cup \ldots$-free&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;$2K_2-free \subset P_5-free$ and the other class contains $P_5$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;According to graphclasses, another reason for hardness is&#xA;clique cover on the complement (another paper), click +Details&#xA;for references.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Question:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What is wrong with this seeming contradiction?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="22348" LastActivityDate="2015-07-10T07:56:35.960" Title="Two paper appear to imply collapse via coloring $P_5$-free graphs" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;&lt;graph-colouring&gt;&lt;graph-classes&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31960" PostTypeId="2" ParentId="31959" CreationDate="2015-07-10T07:56:35.960" Score="3" Body="&lt;p&gt;One of those papers is about k-colorability and the other of&#xA;&lt;br&gt;&#xA;those papers does not specify a constant number of colors.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(For a similar example, consider k-variable-SAT versus SAT.)&lt;/p&gt;&#xA;" OwnerDisplayName="user6973" LastActivityDate="2015-07-10T07:56:35.960" CommentCount="14" ContentLicense="CC BY-SA 3.0" />
  <row Id="31962" PostTypeId="1" AcceptedAnswerId="31965" CreationDate="2015-07-10T18:08:42.417" Score="10" ViewCount="423" Body="&lt;p&gt;This blog talks about generating &quot;twisty little mazes&quot; using a computer an enumerating them.  The enumeration can be done using &lt;a href=&quot;http://bl.ocks.org/mbostock/11357811&quot; rel=&quot;nofollow noreferrer&quot;&gt;Wilson's algorithm&lt;/a&gt; to get the &lt;a href=&quot;http://bl.ocks.org/mbostock/11363008&quot; rel=&quot;nofollow noreferrer&quot;&gt;UST&lt;/a&gt;, but I don't remember the formula for how many there.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://strangelyconsistent.org/blog/youre-in-a-space-of-twisty-little-mazes-all-alike&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://strangelyconsistent.org/blog/youre-in-a-space-of-twisty-little-mazes-all-alike&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/XVzQ9.png&quot; alt=&quot;&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In principle the &lt;a href=&quot;http://math.mit.edu/~levine/18.312/alg-comb-lecture-19.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Matrix Tree Theorem&lt;/a&gt; states the number of spanning trees of a graph is equal to the determinant of the Laplacian matrix of the graph.  Let &lt;span class=&quot;math-container&quot;&gt;$G= (E,V)$&lt;/span&gt; be the graph and &lt;span class=&quot;math-container&quot;&gt;$A$&lt;/span&gt; be the adjacency matrix, &lt;span class=&quot;math-container&quot;&gt;$D$&lt;/span&gt; be the degree matrix, then &lt;span class=&quot;math-container&quot;&gt;$\Delta = D - A$&lt;/span&gt; with eigenvalues &lt;span class=&quot;math-container&quot;&gt;$\lambda$&lt;/span&gt;, then:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$$ k(G) = \frac{1}{n} \prod_{k=1}^{n-1} \lambda_k $$&lt;/span&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the case of an &lt;span class=&quot;math-container&quot;&gt;$m \times n$&lt;/span&gt; rectangle both &lt;span class=&quot;math-container&quot;&gt;$A$&lt;/span&gt; and the eigenvalues should take a particularly simple form, which I can't find.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;What is the exact formula (and asymptotics) for the # of spanning trees of an &lt;span class=&quot;math-container&quot;&gt;$m \times n$&lt;/span&gt; rectangle?&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;img src=&quot;https://i.stack.imgur.com/DhoRB.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://bl.ocks.org/mbostock/c03ee31334ee89abad83&quot; rel=&quot;nofollow noreferrer&quot;&gt;Here&lt;/a&gt; is a pretty example of Wilson's algorithm in action.&lt;/p&gt;&#xA;" OwnerUserId="11012" LastEditorUserId="32711" LastEditDate="2019-01-13T20:48:10.107" LastActivityDate="2019-01-13T20:48:10.107" Title="Exact formula for the number of spanning trees of a rectangle" Tags="&lt;graph-theory&gt;&lt;randomized-algorithms&gt;&lt;matrices&gt;&lt;tree&gt;" AnswerCount="2" CommentCount="3" FavoriteCount="4" ContentLicense="CC BY-SA 4.0" />
  <row Id="31963" PostTypeId="1" CreationDate="2015-07-10T22:54:46.600" Score="5" ViewCount="79" Body="&lt;p&gt;From my understanding an Ontology is a description of how a real object can be understood or represented (such as &lt;em&gt;a chair&lt;/em&gt; being &lt;em&gt;a collection of atoms&lt;/em&gt;, &lt;em&gt;a piece of furniture&lt;/em&gt; part of a larger collection of other furniture belonging in a room or perhaps &lt;em&gt;a description of how the components of a chair are related to each other&lt;/em&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand I think KR is the digital representation of an Ontology (such as a &lt;em&gt;struct&lt;/em&gt;, &lt;em&gt;class&lt;/em&gt;, &lt;em&gt;graph&lt;/em&gt;, &lt;em&gt;tree&lt;/em&gt; or other model).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am quite certain that I am wrong and I am finding it hard to answer this question on my own.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Could someone clarify the difference for me? Thank you.&lt;/p&gt;&#xA;" OwnerUserId="34735" LastActivityDate="2015-07-10T22:54:46.600" Title="What is the difference between an Ontology and Knowledge Representation (KR)?" Tags="&lt;knowledge-representation&gt;&lt;definitions&gt;" AnswerCount="0" CommentCount="1" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="31964" PostTypeId="2" ParentId="31962" CreationDate="2015-07-11T01:11:36.203" Score="0" Body="&lt;p&gt;The eigenvalues of the m-by-n rectangle graph can be used to obtain an expression for the number of perfect matchings in such graphs.  See &lt;a href=&quot;https://en.m.wikipedia.org/wiki/Domino_tiling&quot; rel=&quot;nofollow&quot;&gt;the Wikipedia article on domino tilings&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="3964" LastActivityDate="2015-07-11T01:11:36.203" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31965" PostTypeId="2" ParentId="31962" CreationDate="2015-07-11T06:11:46.727" Score="9" Body="&lt;p&gt;According to &lt;a href=&quot;https://www.cse.ust.hk/~golin/pubs/ANALCO_05.pdf&quot;&gt;https://www.cse.ust.hk/~golin/pubs/ANALCO_05.pdf&lt;/a&gt; there is no closed-form formula known.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;According to &lt;a href=&quot;http://arxiv.org/pdf/cond-mat/0004341v1.pdf&quot;&gt;http://arxiv.org/pdf/cond-mat/0004341v1.pdf&lt;/a&gt; the number is asymptotic (for $n$ and $m$ both large) to&#xA;$$\exp (z_{\mathrm{sq}}mn)$$&#xA;where&#xA;$$z_{\mathrm{sq}}=\frac{4}{\pi}\sum_{i=0}^\infty\frac{(-1)^i}{(2i+1)^2}\approx 1.16624$$&#xA;but I'm not sure whether this is a rigorous bound or the result of heuristic physics-based reasoning. The same paper also gives asymptotic formulas of similar type when $m$ is fixed to a small constant and $n$ is large.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2015-07-11T06:11:46.727" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="31967" PostTypeId="1" CreationDate="2015-07-11T09:54:51.880" Score="1" ViewCount="78" Body="&lt;p&gt;We are given a lattice graph $L$, embedded on the plane, and a certain &quot;shape&quot; (a connected, acyclic subgraph $S$ of $L$). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The task is to approximately cover $L$ with translated, rotated and flipped copies of $S$ without pairwise intersections, i.e. find the optimal number of replicas $N^*$ and respective group operations (a finite set) $\mathbf{a}^*$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$ \textbf{a}^*, N^* = \mathop{\arg \max}_{\textbf{a}, N} \sum\limits_i^N \mu(s_i)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;s.t. $ \bigcap\limits_i^N s_i = \emptyset $, &lt;/p&gt;&#xA;&#xA;&lt;p&gt;with  $s_i = a_i(S) \in L$ being the application of the $i$th group operation to $S$, and $\mu(s_i) = \mu(S)$ the measure of $S$ e.g. &lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;* * *&#xA;  *&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;could approximate $L:=\{(i,j)\,|\,0 \leq i \leq 3,\, 0\leq j \leq 4 \}$ in the above sense as follows:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;* . . *&#xA;* * * * &#xA;* . . *&#xA;. * . .&#xA;* * * .&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;or&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;* * * *&#xA;* * * * &#xA;* . * *&#xA;. * . *&#xA;* * * .&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;etc.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;I am thinking that some form of hierarchical rejection sampling should do. However my question is:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is this a known algorithm, and if so, could someone point me to some references?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(In fact, I am pretty sure this is a special case of some well-known algorithm, I'm just not sure how to represent it. NB: I'm not a CS by education and this is not a homework problem)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thank you in advance&lt;/p&gt;&#xA;" OwnerUserId="17624" LastEditorUserId="17624" LastEditDate="2015-07-16T12:14:11.473" LastActivityDate="2015-07-16T12:14:11.473" Title="&quot;conservative approximate Set Cover&quot;?" Tags="&lt;reference-request&gt;&lt;soft-question&gt;&lt;approximation-algorithms&gt;&lt;randomized-algorithms&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31968" PostTypeId="2" ParentId="20944" CreationDate="2015-07-11T19:17:45.560" Score="0" Body="&lt;p&gt;The k=2 case comes up in parallel merge sort since the merging of two sorted arrays from different threads needs to be split up among two threads to maintain the same amount of parallelism. &lt;a href=&quot;http://www2.myoops.org/twocw/mit/NR/rdonlyres/Electrical-Engineering-and-Computer-Science/6-046JFall-2005/30C68118-E436-4FE3-8C79-6BAFBB07D935/0/ps9sol.pdf&quot; rel=&quot;nofollow&quot;&gt;This homework solution&lt;/a&gt; is one reference.&lt;/p&gt;&#xA;" OwnerUserId="34745" LastActivityDate="2015-07-11T19:17:45.560" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31969" PostTypeId="1" CreationDate="2015-07-11T19:22:29.657" Score="9" ViewCount="750" Body="&lt;p&gt;The standard problem &lt;strong&gt;1-in-3 SAT&lt;/strong&gt; (or XSAT or X3SAT) is: &lt;br&gt;&#xA;&lt;strong&gt;Instance&lt;/strong&gt;: a CNF formula with every clause containing exactly 3 literals&lt;br&gt;&#xA;&lt;strong&gt;Question&lt;/strong&gt;: is there a satisfying assignment setting precisely 1 literal per clause true?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem is NP-complete and remains hard even if no variable occurs negated. I wonder whether this problem becomes easy or remains hard if each variable is required to &lt;em&gt;occur at least once positively and at least once negatively&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The usual reduction from 3SAT showing that 1-in-3 SAT is hard replaces a clause $(x\lor y \lor z)$ by clauses $(\lnot x \lor a \lor b)$, $(y\lor b\lor c)$, $(\lnot z \lor c \lor d)$ where $a,b,c,d$ are fresh for each clause. Thus, this reduction doesn't help in answering my question. I've had trouble coming up with a gadget showing hardness of this variant, since if exactly 1 literal in a clause is true, then non-symmetrically 2 literals are false. If it turns out to be easy, thinking in terms of partitions of the clause set might do it, but I can't see how.&lt;/p&gt;&#xA;" OwnerUserId="9876" LastEditorUserId="9876" LastEditDate="2015-07-11T19:28:07.790" LastActivityDate="2019-01-17T10:39:57.190" Title="Does 1-in-3 SAT remain NP-hard even if every variable occurs both positively and negatively?" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;&lt;sat&gt;" AnswerCount="1" CommentCount="6" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="31970" PostTypeId="2" ParentId="31938" CreationDate="2015-07-12T03:38:26.103" Score="7" Body="&lt;p&gt;Yes, this is a natural idea and people have thought about it. In short, the problem is that even the state-of-the-art SAT/QBF-solvers allow to find very small circuits only (with about 10&amp;ndash;12 gates), not to say about proving that there is no small circuit. Some references:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&#xA;&lt;li&gt;Ryan Williams, &lt;a href=&quot;http://arxiv.org/abs/0811.1305&quot;&gt;Applying practice to theory&lt;/a&gt; (2008): &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Our knowledge of Boolean circuit complexity is quite poor. &amp;lt;…&gt;  One good reason why we don’t know much about the true power of circuits is that we don’t have many examples of minimum circuits. We don’t know, for example, what an optimal circuit for $3 \times 3$ Boolean matrix multiplication looks like.&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;One good reason why we don’t know much about the true power of circuits is that we don’t have many examples of minimum circuits. We don’t know, for example, what an optimal circuit for $3 \times 3$ Boolean matrix multiplication looks like. &amp;lt;…&gt; Might we benefit from an Encyclopedia of Minimum Circuits? For example, what do the smallest Boolean circuits for $10 \times 10$ Boolean matrix multiplication look like? Are they regular in structure? It is likely that the answers would give valuable insight into the complexity of the problem. The best algorithms we know of reduce the problem to matrix multiplication over a ring, which is then solved by a highly regular, recursive construction (such as Strassen’s [Str69]). Even if the cataloged circuits are not truly minimal but close to that, concrete examples for small inputs could be useful for theoreticians to mine for inspiration, or perhaps for computers to mine for patterns via machine learning techniques. The power of small examples cannot be underestimated.&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;Experiments with QBF solvers have not yet revealed significant new insight. So far, they have discovered one fact: the optimal size circuit for $2 \times 2$ Boolean matrix multiplication is the obvious one. Well, duh. What about the $3 \times 3$ case? This is already difficult! The sKizzo QBF solver [Ben05] can prove that there is no circuit for $3 &#xA;\times 3$ that has 10 gates, but nothing beyond that. Even when we restrict the gates to have fan-in two, the solver crashes on larger instances.&lt;/li&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;li&gt;Together with Evgeny Demenkov, Arist Kojevnikov, and Grigory Yaroslavtsev we managed to use SAT-solvers to improve upper bounds on the circuit size of symmetric functions. Details can be found in the following two papers: &lt;a href=&quot;http://logic.pdmi.ras.ru/~kulikov/sites/default/files/drafts/2009_finding_efficient_circuits_sat.pdf&quot;&gt;Finding Efficient Circuits Using SAT-solvers&lt;/a&gt; (2009), &lt;a href=&quot;http://logic.pdmi.ras.ru/~kulikov/sites/default/files/drafts/2010_upper_bounds_symmetric_ipl.pdf&quot;&gt;New Upper Bounds on the Boolean Circuit Complexity of Symmetric Functions&lt;/a&gt; (2010). Still, we do not know the exact circuit complexity for many elementary functions: for example, $2.5n \le C(MOD_3) \le 3n$, $2n \le C(AND,OR,XOR) \le 2.5n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;/li&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;li&gt;Exercises 477&amp;ndash;481 in &lt;a href=&quot;http://www-cs-faculty.stanford.edu/~uno/fasc6a.ps.gz&quot;&gt;Section 7.2.2.2: Satisfiability&lt;/a&gt; of TAOCP Volume 4 by Don Knuth (2015) discuss ways of finding optimal circuits with the help of SAT solvers. From the solution to exercise 481:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;It’s true for $n \le 5$. Here’s a 12-step computation when $n=6$ and $a=0$, found in 2014 by Armin Biere: &amp;lt;…&gt; The case $n=6$ and $a \neq 0$, which lies tantalizingly close to the limits of today’s solvers, is still unknown.&#xA;  &lt;/li&gt;&#xA;  &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="1650" LastActivityDate="2015-07-12T03:38:26.103" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31971" PostTypeId="1" CreationDate="2015-07-12T04:05:17.933" Score="2" ViewCount="159" Body="&lt;p&gt;The best deterministic factorization algorithm that is currently known runs in $O(N^{\frac{1}4+\epsilon})$ arithmetic steps.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Randomness and quantumness improves upon this.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I believe Quadratic/Number field sieve run in randomized subexponential time. What is it that quantumness provides that sieve techniques cannot provide? What exact barrier does Shor's algorithm break that randomness cannot?&lt;/p&gt;&#xA;" OwnerUserId="1812" LastEditorUserId="1812" LastEditDate="2015-07-14T03:08:12.390" LastActivityDate="2015-07-14T07:55:53.787" Title="Randomness versus Quantumness in factorization" Tags="&lt;factoring&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31972" PostTypeId="1" AcceptedAnswerId="31984" CreationDate="2015-07-12T09:02:21.990" Score="4" ViewCount="203" Body="&lt;p&gt;Here is a variant of the SAT problem in which a satisfying assignment must have additional properties.&lt;br&gt;&#xA;&lt;strong&gt;Input:&lt;/strong&gt; A 3-CNF formula $f$ with variables $x_{1\dots k}$.&lt;br&gt;&#xA;&lt;strong&gt;Output:&lt;/strong&gt; &#xA;For an assignment $S$ of $x_{1\dots k}$, let $\overline S$ be defined such that $x_i=true$ in $\overline S$ if and only if $x_i=false$ in $S$.&#xA;Is there an assignment $S$ such that both $f(S)$ and $f(\overline S)$ hold?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is this problem still NP-hard?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Examples:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;$f=(x_1\lor x_2\lor x_3)\land(x_1\lor x_2\lor \neg x_3)\land(x_1\lor \neg x_2\lor x_3)\land(x_1\lor \neg x_2\lor \neg x_3)$&lt;br&gt;&#xA;This requires $x_1=true$ in $S$, but then $x_1=false$ in $\overline S$, so $f(S)$ and $f(\overline S)$ cannot simultaneously hold.&lt;/li&gt;&#xA;&lt;li&gt;$f=(x_1\lor x_2\lor x_3)\land(x_1\lor x_2\lor \neg x_3)\land(x_1\lor \neg x_2\lor x_3)$&lt;br&gt;&#xA;$S=\{x_1:true,~x_2:false,~x_3:false\}$&lt;br&gt;&#xA;$\overline S=\{x_1:false,~x_2:true,~x_3:true\}$&lt;br&gt;&#xA;Then both $f(S)$ and $f(\overline S)$ hold.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="27113" LastEditorUserId="27113" LastEditDate="2015-07-12T09:37:33.683" LastActivityDate="2015-07-13T12:06:13.010" Title="Is SAT with two &quot;opposite&quot; solutions NP-hard?" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;&lt;sat&gt;" AnswerCount="1" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="31973" PostTypeId="1" AcceptedAnswerId="31977" CreationDate="2015-07-12T09:11:45.323" Score="2" ViewCount="1907" Body="&lt;p&gt;The general &lt;a href=&quot;https://en.wikipedia.org/wiki/Longest_common_subsequence_problem&quot; rel=&quot;nofollow&quot;&gt;longest common subsequence problem&lt;/a&gt; (LCS) over a binary alphabet is NP-complete. Does the problem remain NP-complete if each input string has &lt;em&gt;m&lt;/em&gt; zeros and &lt;em&gt;n&lt;/em&gt; ones, where &lt;em&gt;m&lt;/em&gt; and &lt;em&gt;n&lt;/em&gt; are constants?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I asked this question on &lt;a href=&quot;https://cs.stackexchange.com/questions/44306/computational-complexity-of-longest-common-subsequence-problem-variation&quot;&gt;cs.stackexchange&lt;/a&gt; and was told, &quot;The problem probably remains NP-complete.&quot; However, I was unsuccessful in showing a reduction from the original LCS problem.&lt;/p&gt;&#xA;" OwnerUserId="32463" LastEditorUserId="4193" LastEditDate="2015-07-15T17:22:51.887" LastActivityDate="2016-01-03T03:16:26.750" Title="Is longest common subsequence with bounded occurrences NP-complete?" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31974" PostTypeId="1" CreationDate="2015-07-12T11:14:21.107" Score="0" ViewCount="66" Body="&lt;p&gt;The given graph is connected but not necessarily bipartite. Please describe the complete approach with useful links , I read stuff related to augmenting paths but could not comprehend well.&lt;br&gt;&#xA;An O(VE) approach will be good for me .&#xA;Though i would prefer O(V^2) approach (if it is known)&lt;/p&gt;&#xA;" OwnerUserId="34750" LastActivityDate="2015-07-12T11:14:21.107" Title="Find the number of vertices that belong to all the maximum matchings of a general connected graph" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;" AnswerCount="0" CommentCount="2" ClosedDate="2015-07-17T22:45:19.390" ContentLicense="CC BY-SA 3.0" />
  <row Id="31975" PostTypeId="1" AcceptedAnswerId="31993" CreationDate="2015-07-12T14:01:52.087" Score="13" ViewCount="3595" Body="&lt;p&gt;Consider the problem where we are given as input a directed acyclic graph $G = (V, E)$, a labeling function $\lambda$ from $V$ to some set $L$ with a total order $&amp;lt;_L$ (e.g., the integers), and where we are asked to compute the &lt;em&gt;lexicographically smallest&lt;/em&gt; topological sort of $G$ in terms of $\lambda$. More precisely, a &lt;em&gt;topological sort&lt;/em&gt; of $G$ is an enumeration of $V$ as $\mathbf{v} = v_1, \ldots, v_n$, such that for all $i \neq j$, whenever there is a path from $v_i$ to $v_j$ in $G$, then we must have $i &amp;lt; j$. The &lt;em&gt;label&lt;/em&gt; of such a topological sort is the sequence of elements of $S$ obtained as $\mathbf{l} = \lambda(v_1), \ldots, \lambda(v_n)$. The lexicographical order on such sequences (which all have length $|V|$) is defined as $\mathbf{l} &amp;lt;_{\text{LEX}} \mathbf{l'}$ iff there is some position $i$ such that $l_i &amp;lt;_L l_i'$ and $l_j = l'_j$ for all $j &amp;lt; i$. Pay attention to the fact that each label in $S$ can be assigned to multiple vertices in $V$ (otherwise the problem is trivial).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This problem can be stated either in a computation variant (&quot;compute the lexicographically minimal topological sort&quot;) or in a decision variant (&quot;is this input word the minimal topological sort?&quot;). My question is, &lt;strong&gt;what is the complexity of this problem&lt;/strong&gt;? Is it in PTIME (or in FP, for the computation variant) or is it NP-hard? If the general problem is NP-hard, I am also interested about the version where the set $S$ of possible labels is fixed in advance (i.e., there are only a constant number of possible labels).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Remarks:&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is a small real-world example to motivate the problem. We can see the DAG as representing tasks of a project (with a dependency relationship between them) and the labels are integers representing the number of days that each task takes. To finish the project, it will take me the same total amount of time no matter the order I choose for the tasks. However, I would like to impress my boss, and to do this I want to finish as many tasks as possible as fast as possible (in a greedy manner, even if it means being very slow at the end because the harder tasks remain). Choosing the lexicographically minimal order optimises the following criterion: I want to choose an order $o$ such that there is no other order $o'$ and a number of days $n$ where after $n$ days I would have finished more tasks with order $o'$ than with order $o$ (i.e., if my boss looks at time $n$, I give a better impression with $o'$), but for all $m &amp;lt; n$ I have finished no less tasks with order $o'$ than with order $o$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To give some insight about the problem: I already know from &lt;a href=&quot;https://cstheory.stackexchange.com/questions/19073/complexity-of-topological-sort-with-constrained-positions&quot;&gt;previous&lt;/a&gt; &lt;a href=&quot;https://cstheory.stackexchange.com/questions/19393/monotone-bijections-between-lists-of-intervals&quot;&gt;answers&lt;/a&gt; that the following related problem is hard: &quot;is there a topological sort which achieves the following sequence&quot;? However, the fact here that I want a sequence which is &lt;em&gt;minimal&lt;/em&gt; for this lexicographic order seems to constrain a lot the possible topological orders that may achieve it (in particular the reductions in those other answers no longer seem to work). Intuitively, there are much less situations where we have a choice to make.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that there seems to be interesting rephrasings of the problems in terms of set cover (when restricting the problem to DAGs that are bipartite, i.e., have height two): given a set of sets, enumerate them in a order $S_1, \ldots, S_n$ that minimises lexicographically the sequence $|S_1|$, $|S_2 \backslash S_1|$, $|S_3 \backslash (S_1 \cup S_2)|$, $\ldots$, $|S_n \backslash (S_1 \cup \cdots \cup S_{n-1})|$. The problem can also be rephrased on undirected graphs (progressively expand a connected area of the graph following the order that minimizes the lexicographic sequence of the uncovered labels). However, because of the fact that the sequence &lt;em&gt;has&lt;/em&gt; to be greedy at all times by definition of the lexicographic order, I can't get reductions (e.g., of Steiner tree) to work.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks in advance for your ideas!&lt;/p&gt;&#xA;" OwnerUserId="4795" LastEditorUserId="4795" LastEditDate="2020-05-15T15:50:13.297" LastActivityDate="2020-05-15T15:50:13.297" Title="Lexicographically minimal topological sort of a labeled DAG" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;&lt;directed-acyclic-graph&gt;&lt;order-theory&gt;&lt;topological-sorting&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31977" PostTypeId="2" ParentId="31973" CreationDate="2015-07-12T19:13:24.597" Score="7" Body="&lt;p&gt;This &lt;a href=&quot;http://pagesperso.lina.univ-nantes.fr/~bulteau-l/pdf/BBJTV-cpm12.pdf&quot;&gt;paper by Blin et al.&lt;/a&gt; (Hardness of Longest Common Subsequence for Sequences with Bounded Run-Lengths, CPM'12) provides a reduction from independent set to LCS where the Hamming weights of all strings are the same (it is $n-1$ where $n$ is the number of vertices in the independent set instance). Thus, the problem remains NP-complete under this assumption.&lt;/p&gt;&#xA;" OwnerUserId="9663" LastActivityDate="2015-07-12T19:13:24.597" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="31978" PostTypeId="2" ParentId="31938" CreationDate="2015-07-12T22:12:29.537" Score="5" Body="&lt;p&gt;In many nonuniform models - Boolean circuits, algebraic circuits, decision trees, branching programs, etc. - computing exact complexity seems to be significantly harder than computing asymptotic complexity. While I maintain hope that your intuition is correct - that understanding exact complexity of small instances might lead to asymptotic insights - I know of only a few cases where this has happened:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Algorithms and lower bounds for matrix multiplication of small formats. There has been a fair amount of work on 2x2 (&lt;a href=&quot;http://dx.doi.org/10.1007/BF02165411&quot;&gt;Strassen&lt;/a&gt;), 3x3 (&lt;a href=&quot;http://dx.doi.org/10.1090/S0002-9904-1976-13988-2&quot;&gt;Laderman&lt;/a&gt;), and other small formats for matrix multiplication (see also &lt;a href=&quot;http://dx.doi.org/10.1137/0215043&quot;&gt;Johnson-McLoughlin&lt;/a&gt; and &lt;a href=&quot;http://dx.doi.org/10.1137/0120004&quot;&gt;Hopcroft-Kerr&lt;/a&gt;). Originally, these could often be used to give asymptotic improvements, because of the recursive structure of matrix multiplication. Eventually, &lt;a href=&quot;http://dx.doi.org/10.1016/S0747-7171(08)80013-2&quot;&gt;Coppersmith-Winograd&lt;/a&gt; supplanted all of these in the asymptotic realm. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;GCT-style lower bounds on small matrix multiplication due to &lt;a href=&quot;http://dx.doi.org/10.1145/2488608.2488627&quot;&gt;B&amp;uuml;rgisser and Ikenmeyer&lt;/a&gt; have yielded asymptotic lower bounds on matrix multiplication. I think this is at least partially because the representation-theoretic structure naturally suggests how to turn a single, exact lower bound into an infinite family.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;(See Alexander Kulikov's answer for a couple more)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Aside from these, there has been a small but nontrivial amount of work on exact complexity of various problems, but mostly problems easier than GraphIso or Primes (except for the last example of the permanent). While I find this work interesting and maintain hope that it will lead to larger theoretical insights, as far as I know it has not yet done so.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Knuth considered the question of the exact number of comparisons needed to sort a list of $n$ elements in Chapter 5, Vol. 3 of &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0321751043&quot;&gt;TAOCP&lt;/a&gt;. Further progress has been made since then (see the work by &lt;a href=&quot;http://dx.doi.org/10.1016/j.ipl.2006.09.001&quot;&gt;Peczarski&lt;/a&gt;, and references therein).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;There has also been some work on exact minimum-depth sorting networks (&lt;a href=&quot;http://arxiv.org/abs/1310.6271&quot;&gt;Bundala and Z&amp;aacute;vodn&amp;yacute;&lt;/a&gt; seems to be the latest).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;With exact complexity, there can be number-theoretic effects due to the size of the input. (When dealing with a divide-and-conquer algorithm, for example, it is easy to imagine how inputs of size $2^k$ might differ from inputs of odd size when it comes to exact complexity.) See &lt;a href=&quot;http://dx.doi.org/10.1137/1.9781611973082.28&quot;&gt;Drmota and Szpankowski&lt;/a&gt; for examples of this, as well as an exact master theorem.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Determinantal complexity of small permanents (upper bound by &lt;a href=&quot;https://scholar.google.com/citations?view_op=view_citation&amp;amp;hl=en&amp;amp;user=EVzRQKQAAAAJ&amp;amp;citation_for_view=EVzRQKQAAAAJ:9yKSN-GCB0IC&quot;&gt;B. Grenet&lt;/a&gt; and recent lower bound on $per_3$ by &lt;a href=&quot;http://arxiv.org/abs/1505.02205&quot;&gt;Alper, Bogart, and Velasco&lt;/a&gt;) and other functions (&lt;a href=&quot;http://dx.doi.org/10.1007/978-3-642-45030-3_12&quot;&gt;Qiao, Sun, and Yu&lt;/a&gt;).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="129" LastActivityDate="2015-07-12T22:12:29.537" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31982" PostTypeId="1" AcceptedAnswerId="31983" CreationDate="2015-07-13T10:48:34.923" Score="5" ViewCount="113" Body="&lt;p&gt;Crossposted from &lt;a href=&quot;https://mathoverflow.net/questions/211209/existence-of-certain-graph-gadget-related-to-coloring-odd-hole-free-graph&quot;&gt;MO&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Wondering about the existence of graph gadget related to coloring&#xA;(or 3-coloring) odd hole free graphs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $G$ be simple $k$-chromatic connected graph with two&#xA;vertices $u,v$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is it possible $G$ to satisfy:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;All &lt;strong&gt;induced&lt;/strong&gt; $uv$ paths have odd order (even number of&#xA;edges).&lt;/li&gt;&#xA;&lt;li&gt;In all proper $k$ colorings, $u$ and $v$ have distinct colors&lt;/li&gt;&#xA;&lt;li&gt;(optional) $G$ doesn't contain induced $C_{2n+1}$ for $n&amp;gt;1$&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;If this is possible, there is reduction $F$ to odd hole free $F'$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Replace an edge $u'v'$ by the gadget $G$ where $u'=u,v'=v$ and the&#xA;rest vertices of $G$ are new vertices.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;According to graphclasses coloring odd hole free is NP hard&#xA;and 3-coloring is unknown.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Computer search suggest small gadgets don't exist (modulo errors).&lt;/p&gt;&#xA;" OwnerUserId="22348" LastActivityDate="2015-07-13T14:15:16.173" Title="Existence of certain graph gadget related to coloring odd hole free graph" Tags="&lt;graph-theory&gt;&lt;graph-colouring&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31983" PostTypeId="2" ParentId="31982" CreationDate="2015-07-13T11:46:25.477" Score="4" Body="&lt;p&gt;One can extract an argument that this cannot work from the paper &lt;a href=&quot;http://www.ime.usp.br/~cris/gcomb/pronex/ps-dvi-files/celina/livro.ps.gz&quot; rel=&quot;nofollow&quot;&gt;found by OP in the MO thread&lt;/a&gt;. Suppose $G=(V,E)$ is as required, and $c:V\to[k]$ is a $k$-coloring. By the assumption, $c(u)\neq c(v)$. Consider the (bipartite) subgraph $H$ induced by $\{x\in V\ |\ c(x)\in\{c(u),c(v)\}\}$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $u$ and $v$ are in the same connected component of $H$, pick any shortest path in $H$ between $u$ and $v$; it is an induced path in $G$, with colors alternating between $c(u),c(v)$, and must have an odd number of edges because the colors at its ends differ. This contradicts the assumption.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So $u,v$ are in different connected components; but then one can toggle the coloring of one of these components to obtain a coloring $c'$ with $c'(u)=c'(v)$, contradiction.&lt;/p&gt;&#xA;" OwnerUserId="5183" LastEditorUserId="5183" LastEditDate="2015-07-13T14:15:16.173" LastActivityDate="2015-07-13T14:15:16.173" CommentCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="31984" PostTypeId="2" ParentId="31972" CreationDate="2015-07-13T12:06:13.010" Score="9" Body="&lt;p&gt;Turning my comment to an answer:&#xA;The problem you describe is known as Not All Equal SAT (NAE-SAT), but is phrased differently. A NAE assignment for a CNF-formula $\phi$ over variables is one where in each clause there is at least one false variable and one true variable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is easy to see that an assignment is NAE iff its inverse is also NAE.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Showing that NAE-SAT is NP-complete is a well-known exercise, and it can be easily solved by splitting it to two parts.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First, given a 3-CNF formula, we can convert it to a 4-CNF formula by adding a variable $w$ and converting every clause of the form $(x\vee y\vee z)$ to $(x\vee y\vee z\vee w)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is easy to see that the original formula is satisfiable iff the resulting formula is in NAE-SAT.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then, standard techniques can be used to convert this formula back to 3-CNF, while maintaining the NAE property.&lt;/p&gt;&#xA;" OwnerUserId="7531" LastActivityDate="2015-07-13T12:06:13.010" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31985" PostTypeId="1" AcceptedAnswerId="31991" CreationDate="2015-07-13T12:12:37.400" Score="7" ViewCount="154" Body="&lt;p&gt;There are several definitions of what basic operators constitute the pi calculus  (see papers from R. Milner, B.Pierce, J.Wing). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The common basic operators ($C$) are:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;the parallel composition &lt;/li&gt;&#xA;&lt;li&gt;reading from a named channel&lt;/li&gt;&#xA;&lt;li&gt;writing to a named channel&lt;/li&gt;&#xA;&lt;li&gt;restriction to get a new named channel&lt;/li&gt;&#xA;&lt;li&gt;replication to get an infinite number of parallel copies of a process&lt;/li&gt;&#xA;&lt;li&gt;the inert process that does nothing.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Sometimes, there is additionally one of the following two operator mentioned as basic operator:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;the sequential operator for sequential execution;&lt;/li&gt;&#xA;&lt;li&gt;the summation operator to choose between processes.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Is $C$ together with the sequential operator equivalent to $C$ with the summation operator? Are they even equivalent to $C$ without any further operator? Why (not)?&lt;/p&gt;&#xA;" OwnerUserId="6424" LastActivityDate="2015-08-01T12:11:48.023" Title="Can choice or sequential execution be expressed with other basic operators of the pi calculus?" Tags="&lt;formal-modeling&gt;&lt;process-algebra&gt;&lt;pi-calculus&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="31986" PostTypeId="1" CreationDate="2015-07-13T12:13:00.983" Score="-2" ViewCount="287" Body="&lt;p&gt;I am a theoratical computer science PhD student.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am wanted some suggestion in how to find research problem for PhD research. I have supervisor and he has given me first problem. We had get progress in this. Now I have to do things fully by my self. Going conferences and workshop is not possible because of money problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In order to finding research problem what I do&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;I open scholar.google site then I search different keywords from my area (which is word combinatorics)&#xA;If some thing look relevant then I read conclusion section&#xA;If I haven't understand then I go for introduction and abstract part&#xA;If I find ok then I read paper else left&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Solving these kind of problems looks difficult. Earlier I had searched some problems and I had tried but I haven't get results as per in sending some conference. So I had left those problems. That is why I am wanted some input in this regards. &lt;/p&gt;&#xA;" OwnerUserId="34765" LastEditorUserId="34765" LastEditDate="2015-07-13T12:34:46.140" LastActivityDate="2015-07-13T13:13:25.787" Title="Finding research problem for PhD(TCS)?" Tags="&lt;co.combinatorics&gt;" AnswerCount="1" CommentCount="6" FavoriteCount="2" ClosedDate="2015-07-23T20:03:02.277" ContentLicense="CC BY-SA 3.0" />
  <row Id="31988" PostTypeId="2" ParentId="31986" CreationDate="2015-07-13T13:13:25.787" Score="4" Body="&lt;p&gt;Read &lt;a href=&quot;http://scienceblogs.com/thescian/2008/03/11/what-are-worthwhile-problems-f/&quot; rel=&quot;nofollow&quot;&gt;Feynman's letter&lt;/a&gt;. Very good advice. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Always be curious and solve little problems you are good at. Eventually you will have enough solved for a major publication.&lt;/p&gt;&#xA;" OwnerUserId="2021" LastActivityDate="2015-07-13T13:13:25.787" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="31990" PostTypeId="1" CreationDate="2015-07-13T16:11:35.007" Score="0" ViewCount="95" Body="&lt;p&gt;It seems to me that &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;All/any algorithm(s) evolve based on what's feasible on a machine. This is captured within its instruction set.&lt;/li&gt;&#xA;&lt;li&gt;By Analogy data structures are closely associated with physical layout of memory hierarchy on a machine including addressing schemes&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Is there a non-formal(with/without math) description of the above dependencies in the form of a set of programming experiments with different instruction sets, memory hierarchies and how they impact design of data structures and algorithms that follow? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Few links that I got :&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;a paper on &quot;Data Structures in Classical and Quantum Computing&quot;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0262640686&quot; rel=&quot;nofollow&quot;&gt;Elements of computing systems&lt;/a&gt;: Building a modern computer from first principles&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;(PS: Not thinking of expanding the scope to distributed and/or parallel processing systems)&lt;/p&gt;&#xA;" OwnerUserId="5873" LastEditorUserId="5873" LastEditDate="2015-07-13T17:51:50.100" LastActivityDate="2015-07-13T17:51:50.100" Title="Dependency of Algorithms, Data structures on Instruction sets ex: Classical vs Quantum computing" Tags="&lt;ds.algorithms&gt;&lt;memory&gt;" AnswerCount="0" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="31991" PostTypeId="2" ParentId="31985" CreationDate="2015-07-13T16:29:58.357" Score="8" Body="&lt;p&gt;This is a really interesting question and only partially understood.&#xA;The $&#xA;\newcommand{\OUT}[2]{\overline{#1} #2 }    &#xA;$ precise answer to such questions depends in subtle ways on exactly what the ambient $\pi$-calculus is and exactly what feature you are encoding. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For &lt;strong&gt;sums&lt;/strong&gt;  you need to realise that there are different kinds of sums for example input guarded sums like $x(v).P + x(v).Q$ or $x(v).P + y(v).Q$, or &#xA;mixed sums like $x(v).P + \OUT{y}{v}.Q$ or even $x(v).P + \OUT{y}{v}.Q + \tau.R$. What you can and cannot encode really depends on what sums you have. The groundbreaking study (1) gives hard limits to &amp;#39;good&amp;#39; encodings. Simplifying greatly, what (1) shows is that adding mixed sums to a calculus strictly increases expressivity. This it cannot be encoded (in a nice way). The reason is that mixed sums allow a certain form of symmetry breaking that is not achievable in conventional $\pi$-calculi without mixed choice.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;With &lt;strong&gt;sequential composition&lt;/strong&gt; $P; Q$ the situation is less complicated, but you need to be clear exactly what sequential means for parallel processes and replication/recursion:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Should $R$ begin to execute when one or both of $P$ and $Q$ terminate in $(P|Q); R$?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;What is the meaning of $(!x(v).P); R$?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;If $(P|Q); R$ means that both $P$ and $Q$ must terminate before $R$ goes to work, and if we disallow sequential composition like $(!x(v).P); R$ with replication, then $P; Q$ is easily encodable, and by (1) it cannot simulate general forms of sums that include mixed sums.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;The curse of Turing completeness.&lt;/strong&gt; There is a further complication. Process calculi typically are  Turing-complete, hence any feature can be &amp;#39;somehow&amp;#39; be encoded. So you need to be very precise about what you mean when you ask if some calculus is &amp;quot;equivalent&amp;quot; to some other. The usual approach to making this precise is to constrain admissible encodings, e.g. to require them to be compositional, or preserve termination, or be closed under renaming, or any number of other interesting structural properties. For different concepts of admissible encoding you tend to get different answers.&#xA;None of this is germane to process calculi, Turing&amp;#39;s curse affects all programming languages, but process calculi are especially subtle, since they can do so much more than mere sequential computation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For an overview of the state-of-the art in process calculus expressivity, see (2, 3).&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;(1) C. Palamidessi, &lt;a href=&quot;http://arxiv.org/abs/1307.2062&quot; rel=&quot;nofollow&quot;&gt;Comparing the Expressive Power of the Synchronous and the Asynchronous π-Calculi&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(2) D. Gorla, &lt;a href=&quot;http://wwwusers.di.uniroma1.it/~gorla/papers/G-IC08.pdf&quot; rel=&quot;nofollow&quot;&gt;Comparing Communication Primitives via their Relative Expressive Power&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(3) D. Gorla, &lt;a href=&quot;http://wwwusers.di.uniroma1.it/~gorla/papers/G-DC10.pdf&quot; rel=&quot;nofollow&quot;&gt;A Taxonomy of Process Calculi for Distribution and Mobility&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="898" LastEditorUserId="-1" LastEditDate="2015-08-01T12:11:48.023" LastActivityDate="2015-08-01T12:11:48.023" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="31992" PostTypeId="2" ParentId="31975" CreationDate="2015-07-13T19:50:25.297" Score="2" Body="&lt;p&gt;According to &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/0020019089901890&quot; rel=&quot;nofollow&quot;&gt;this reference&lt;/a&gt; (1), the lexicographically first topological order problem is NLOG-complete. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;You may want to take a more thorough look at the article to ensure that it covers the case(s) that you're interested in. In particular, based on the &lt;a href=&quot;http://catalog.lib.kyushu-u.ac.jp/handle/2324/3114/rifis-tr-8.pdf&quot; rel=&quot;nofollow&quot;&gt;technical report version (pdf)&lt;/a&gt; of that article, it appears that they're treating the lexicographic ordering of the vertices as strict (e.g.: in your notation, $\lambda(u) \neq \lambda(v) $ for $u \neq v$), but I'm not sure if this affects the applicability of the result.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Shoudai, Takayoshi. &quot;&lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/0020019089901890&quot; rel=&quot;nofollow&quot;&gt;The lexicographically first topological order problem is NLOG-complete.&lt;/a&gt;&quot; Information processing letters 33.3 (1989): 121-124.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="751" LastActivityDate="2015-07-13T19:50:25.297" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="31993" PostTypeId="2" ParentId="31975" CreationDate="2015-07-14T01:01:18.393" Score="12" Body="&lt;p&gt;With multiple copies of the same label allowed, the problem is NP-hard, via a reduction from cliques in graphs. Given a graph $G$ in which you want to find a $k$-clique, make a DAG with a source vertex for each vertex of $G$, a sink vertex for each edge of $G$, and a directed edge $xy$ whenever $x$ is a vertex of $G$ that forms an endpoint of edge $y$. Give the vertices of $G$ the label value $1$ and the edges of $G$ the label value $0$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then, there is a $k$-clique in $G$ if and only if the lexicographically first topological order forms a sequence of $k$ $1$'s and $\tbinom{k}{2}$ $0$'s, with $i-1$ $0$'s following the $i$th $1$. E.g. a six-vertex clique would be represented by the sequence $110100100010000100000$. This is the lexicographically smallest sequence that could possibly begin a topological ordering of a labeled DAG given by this construction (replacing any of the $1$'s by $0$'s would give a sequence with more edges than could be found in a simple graph with that many vertices) and it can only be the beginning of a topological ordering when $G$ contains the desired clique.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2015-07-14T01:01:18.393" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="31994" PostTypeId="2" ParentId="31971" CreationDate="2015-07-14T07:55:53.787" Score="-1" Body="&lt;p&gt;&lt;em&gt;What is it that quantumness provides that sieve techniques cannot provide?&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is more a question why quantum computers are believed to be more powerful than classical  computation models. Short: Quantum computers provide superpositions of quantum states.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Randomized algorithms are restricted to be in a certain state with some (constant) error probablility. Quantumness provides the posibility of evaluating function on every possible state and afterwards measuring a certain state with some error probability.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;What exact barrier does Shor's algorithm break that randomness cannot?&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The quantum states represent the accepted states as well as the rejected states. Shor's algorithm evaluates the accepting states in such an extent that the accepting states are more likely to be measured. Also the quantum algorithm can manipulate all states at the same time. A randomized algorithm is bound to increase the probability of being in such a accepting state, looping often enough to get a certain probability (or extending some other variable).&lt;/p&gt;&#xA;" OwnerUserId="34774" LastActivityDate="2015-07-14T07:55:53.787" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="31995" PostTypeId="1" AcceptedAnswerId="32006" CreationDate="2015-07-14T08:16:20.767" Score="4" ViewCount="919" Body="&lt;p&gt;There is a question raised by Scott Aaronson in one of his papers [1]: &quot;Could we show that if NP ⊆ BQP, then the polynomial hierarchy collapses?&quot;. Assuming the answer is yes, and it is also know that if P=NP then PH collapses to the 0th level.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Based on the above two statements, I would like to ask if BQP contains NP, does this imply that P=NP?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] &lt;a href=&quot;http://www.scottaaronson.com/papers/bqpph.pdf&quot; rel=&quot;nofollow&quot;&gt;http://www.scottaaronson.com/papers/bqpph.pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="27152" LastEditorUserId="27152" LastEditDate="2015-07-29T19:45:28.170" LastActivityDate="2015-07-29T19:45:28.170" Title="If BQP contains NP, does this mean that P=NP?" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;&lt;quantum-computing&gt;&lt;np&gt;" AnswerCount="1" CommentCount="11" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31996" PostTypeId="1" AcceptedAnswerId="32002" CreationDate="2015-07-14T10:37:04.183" Score="1" ViewCount="94" Body="&lt;p&gt;I want to show the following inequality, which seems like it should have an elementary proof (or even a well-known name).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose $p, q$ are discrete probability distributions. And suppose that $p_i \leq x q_i$ for some $x &amp;gt; 1$. Then I want to show that for $r &amp;gt; 1$ we have the inequality:&#xA;$$&#xA;\sum p_i^r \leq x^{r-1} \sum q_i^r&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we take away the requirement that $p$ is a probability distribution, then of course we have instead $\sum p_i^r \leq x^r \sum q_i^r$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT: This is not true. The best inequality one can show is the obvious one $\sum p_i^r \leq x^r \sum q_i^r$.&lt;/p&gt;&#xA;" OwnerUserId="5538" LastEditorUserId="5538" LastEditDate="2015-07-14T23:40:32.790" LastActivityDate="2015-07-15T00:55:15.740" Title="Inequality for p-norm of probability distributions" Tags="&lt;pr.probability&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="31997" PostTypeId="2" ParentId="3253" CreationDate="2015-07-14T14:21:53.577" Score="3" Body="&lt;p&gt;&lt;strong&gt;Algebraic Geometry&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.springer.com/us/book/9780387902449&quot; rel=&quot;nofollow&quot;&gt;Algebraic Geometry&lt;/a&gt; by Robin Hartshorne.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The book is, for me, challenging but covers a broad area of the field of algebraic geometry. I found this a good addition to the next book when learning about ellipc curve cryptography.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Elliptic curves&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.springer.com/us/book/9780387094939&quot; rel=&quot;nofollow&quot;&gt;The Arithmetic of Elliptic Curves&lt;/a&gt; by Joseph H. Silverman. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The book is a good introduction into mathematics of elliptic as well as a suitable source for an extended insight of elliptic curve cryptography. Also it reads very well.&lt;/p&gt;&#xA;" OwnerUserId="34774" LastActivityDate="2015-07-14T14:21:53.577" CommentCount="3" CommunityOwnedDate="2015-07-14T14:21:53.577" ContentLicense="CC BY-SA 3.0" />
  <row Id="31998" PostTypeId="2" ParentId="11611" CreationDate="2015-07-14T15:32:41.750" Score="5" Body="&lt;p&gt;Consider the function $T: \mathbb N \rightarrow \mathbb N$, where $T(n)=n/2$ when $n$ is even and $T(n)=n+1$ when $n$ is odd. Then it is known that for any $n \in \mathbb N$, there exists a $k \in \mathbb N$ such that $T^{(k)}(n)=1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If instead of $T(n)=n+1$ when $n$ is odd, we had defined $T(n)=3n+1$ when $n$ is odd, we would have the Collatz Conjecture, so I think this is the nearest problem to the Collatz Conjecture that has ever been resolved.&lt;/p&gt;&#xA;" OwnerUserId="3091" LastActivityDate="2015-07-14T15:32:41.750" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="32000" PostTypeId="1" CreationDate="2015-07-14T19:00:56.053" Score="5" ViewCount="140" Body="&lt;p&gt;Working on network design this summer I have come across certain applications that have inspired me to ask the following question:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Given an undirected connected graph $G=(V,E)$ what is the minimum number of vertices, $k$, sampled uniformly and independently at random from $V$ (without replacement), such that the induced subgraph on those vertices is connected w.h.p.?&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Notice, I am not looking for a way to sample a connected (induced) subgraph, I am looking for a probabilistic guarantee that I have sampled &lt;strong&gt;enough&lt;/strong&gt; vertices to end up with a connected induced subgraph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does this sounds familiar to anyone? A quick search was not very promising so I decided to ask here if anyone has any references or even directions to point me at.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am assuming the answer would be a function of some structural property(/ies) of the graph, like connectedness, minimum degree, expansion, etc.. &lt;/p&gt;&#xA;" OwnerUserId="49647" LastEditorUserId="49647" LastEditDate="2015-07-14T19:19:19.007" LastActivityDate="2015-07-14T19:19:19.007" Title="Random Sampling Threshold to Get a Connected Induced Subgraph" Tags="&lt;reference-request&gt;&lt;graph-theory&gt;&lt;randomness&gt;" AnswerCount="0" CommentCount="2" FavoriteCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32001" PostTypeId="2" ParentId="31956" CreationDate="2015-07-14T23:13:29.320" Score="2" Body="&lt;p&gt;Let $p$ be the query point, and assume the interval tree is sorted by lower endpoint and each node stores the maximum endpoint in its subtree.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Perform a tree-walk and stop the recursion whenever the lower endpoint of the current node is greater than $p$, or the maximum is smaller than $p$.&#xA;Now at most one downward path (of length $O(\log n)$) reports no interval, namely the path that would be taken by binary searching the lowest endpoints for $p$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Illustrated example:&lt;/strong&gt;&lt;br&gt;&#xA;&lt;img src=&quot;https://i.stack.imgur.com/QmC99.png&quot; alt=&quot;interval tree&quot;&gt;&#xA;Consider this interval tree and query point, the rightmost path visited by the pruned tree-walk is the path of orange nodes (which may not contain a reported interval if their maximum endpoints are all less than $p$).&#xA;All intervals in the right subtrees have a minimum endpoint greater than $p$ so can be ignored.&#xA;However, all intervals in left subtrees (red) of this path have minimum endpoint at most $p$. This means we are sure to report an interval for each (red) subtree (and subtrees thereof) whose maximum endpoint (over the entire subtree) is at least $p$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then, whenever we report a subsequent interval, we do so within $O(\log n)$ time.&#xA;Since there are $m$ such intervals, this amounts to $O((m+1)\log n)$ time.&#xA;Because we prune a tree-walk we also have an upper bound of $O(n)$ time.&#xA;This reduces to $O(n)\cap O((m+1)\log n)=O(\min(n,(m+1)\log n))$ time.&lt;/p&gt;&#xA;" OwnerUserId="27113" LastEditorUserId="27113" LastEditDate="2015-07-16T10:44:46.383" LastActivityDate="2015-07-16T10:44:46.383" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="32002" PostTypeId="2" ParentId="31996" CreationDate="2015-07-15T00:55:15.740" Score="2" Body="&lt;p&gt;(Comment --&gt; answer)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The inequality unfortunately fails to hold, a counterexample is&#xA; $$p = (1,0,\dots,0)$$&#xA;and&#xA; $$q = \left(\frac{1}{2},\frac{1}{2n},\dots,\frac{1}{2n}\right),$$&#xA;where the support size is $n+1$ and $x=2$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then $\sum p_i^r = 1$, but $x^{r-1}\sum q_i^r \approx \frac{1}{2}$:&#xA;\begin{align}&#xA; \sum q_i^r &amp;amp;= \frac{1}{2^r} + n\left(\frac{1}{2n}\right)^r  \\&#xA;  &amp;amp;= \frac{1}{2^r}\left(1 + \frac{1}{n^{r-1}}\right)  \\&#xA;  &amp;amp;\to \frac{1}{2^r}&#xA;\end{align}&#xA;as $n \to \infty$, so $x^{r-1}\sum q_i^r \to \frac{2^{r-1}}{2^r} = \frac{1}{2}$.&lt;/p&gt;&#xA;" OwnerUserId="8243" LastActivityDate="2015-07-15T00:55:15.740" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32003" PostTypeId="1" AcceptedAnswerId="32008" CreationDate="2015-07-15T01:10:33.510" Score="14" ViewCount="1499" Body="&lt;p&gt;Based on the textbook &lt;a href=&quot;https://mitpress.mit.edu/books/introduction-algorithms&quot;&gt;Introduction to Algorithms&lt;/a&gt;, the correctness of a greedy algorithm requires a problem to have two properties:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;greedy choice property&lt;/li&gt;&#xA;&lt;li&gt;optimal substructure&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;It is easy to come up with counter examples for which a greedy solution fails due to the lack of the greedy choice property, e.g. the 0/1 knapsack problem. But I find the other possibility pretty hard to imagine. Can anybody give me a problem and a corresponding greedy algorithm which satisfies the first property but not the second?&lt;/p&gt;&#xA;" OwnerUserId="34782" LastEditorUserId="879" LastEditDate="2015-07-15T10:03:43.067" LastActivityDate="2016-03-05T05:38:19.463" Title="What greedy algorithm satisfies greedy choice property but does not have optimal substructure?" Tags="&lt;greedy-algorithms&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="32005" PostTypeId="1" AcceptedAnswerId="32009" CreationDate="2015-07-15T11:40:43.813" Score="8" ViewCount="162" Body="&lt;p&gt;I came across a &lt;a href=&quot;http://www.cs.cmu.edu/~odonnell/slides/invariance.pps&quot;&gt;presentation&lt;/a&gt; by Ryan O'Donnell regarding invariance principles. After proving the Berry-Esseen theorem, there is a slide that discusses extensions of the theorem and one that is mentioned there is a so-called &quot;derandomized version'':&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;If $X_{1},\ldots,X_{m}$ $C$-nice (that is, has bounded third moment), 3-wise independent., then $X_{1}+\ldots+X_{m}$ is $O(C)$-nice.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I am not sure whether the above is a statement regarding the third moment of the sum of 3-wise independent random variables, or there is indeed some variant of the Berry-Esseen theorem in the case of bounded independence.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Inspecting the proof, I see how 3-wise comes into play, however I could not find any source that discusses bounded-independence variants of this theorem. Are there any?&lt;/p&gt;&#xA;" OwnerUserId="24222" LastEditorUserId="6959" LastEditDate="2015-07-15T18:56:24.187" LastActivityDate="2015-07-15T23:54:23.443" Title="A bounded-independence variant of the Berry-Esseen theorem" Tags="&lt;reference-request&gt;&lt;pr.probability&gt;&lt;limited-independence&gt;&lt;k-wise-independence&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="32006" PostTypeId="2" ParentId="31995" CreationDate="2015-07-15T14:09:40.123" Score="19" Body="&lt;p&gt;No, $\mathrm{NP}\subseteq\mathrm{BQP}$ is not known to imply $\mathrm P=\mathrm{NP}$. Even the stronger assumption $\mathrm{NP}\subseteq\mathrm{BPP}$ is not known to yield a deeper collapse than $\mathrm{NP}=\mathrm{RP}$ and $\mathrm{PH}=\mathrm{ZPP^{RP}}=\mathrm{BPP}$; in particular, it is not even known to imply $\mathrm{NP}=\mathrm{coNP}$. (However, all these implications are likely true by virtue of their premises being false.)&lt;/p&gt;&#xA;" OwnerUserId="6959" LastActivityDate="2015-07-15T14:09:40.123" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32008" PostTypeId="2" ParentId="32003" CreationDate="2015-07-15T19:38:25.230" Score="14" Body="&lt;p&gt;One of the standard estimators in robust statistics is a type of trimmed mean where you choose a majority subset of a set of input numbers in such a way as to minimize the maximum difference between any two selected numbers, and then take the mean of the selected subset. There's an easy greedy-choice first step: choose the median as part of your subset. But once you've made that choice, the remaining problem is not of the same type (i.e. we don't have optimal substructures), so there's no obvious method of continuing this algorithm greedily. In particular it doesn't work to keep choosing medians of the remaining points. (The repeated greedy median strategy, done with a little care, gives the interquartile mean which is also robust but does not solve the same problem and has a lower breakdown point.)&lt;/p&gt;&#xA;" OwnerUserId="95" LastEditorUserId="95" LastEditDate="2015-07-15T20:00:38.497" LastActivityDate="2015-07-15T20:00:38.497" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32009" PostTypeId="2" ParentId="32005" CreationDate="2015-07-15T23:54:23.443" Score="8" Body="&lt;p&gt;There are variants of Berry-Esseen for bounded independence, although I have not seen one which is as general as the original theorem. For example Theorem 5.1. in &lt;a href=&quot;http://www.iliasdiakonikolas.org/papers/bifdeg2.pdf&quot;&gt;Diakonikolas, Kane, Nelson&lt;/a&gt; implies a Berry-Esseen theorem for weighted sums of Bernoulli random variables with bounded independence, as long as none of the weights is too large. If you want error $\varepsilon$ (i.e. Kolmogorov distance from the Gaussian distribution), then $\Theta(1/\varepsilon^2)$-wise independence is necessary and sufficient.&lt;/p&gt;&#xA;" OwnerUserId="4896" LastActivityDate="2015-07-15T23:54:23.443" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32010" PostTypeId="2" ParentId="28041" CreationDate="2015-07-16T00:55:07.320" Score="9" Body="&lt;p&gt;Yes, the finite inverse semigroup isomorphism problem is GI-complete! This is a corollary of&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Theorem:&lt;/strong&gt; Lattice isomorphism is isomorphism complete&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;from section 7.2 Lattices and Posets in&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Booth, Kellogg S.; Colbourn, C. J. (1977), Problems polynomially equivalent to graph isomorphism, Technical Report CS-77-04, Computer Science Department, University of Waterloo.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;because a (semi-)lattice is also an (idempotent commutative) inverse semigroup.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Proof of theorem from technical report:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;It suffices to represent a graph uniquely as a lattice. Given a graph $G$ with $n$ vertices and $m$ edges, we define a lattice with an element for each vertex, an element for each edge, and two additional elements $\text{'}0\text{'}$ and $\text{'}1\text{'}$. Element $\text{'}1\text{'}$ dominates all others (the &lt;em&gt;supremum&lt;/em&gt;), and element $\text{'}0\text{'}$ is dominated by all other elements (the &lt;em&gt;infimum&lt;/em&gt;). An edge dominates exactly those vertices which are its endpoints. The result is a lattice which uniquely represents $G$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;The idea for this answer came from a &lt;a href=&quot;http://chat.stackexchange.com/transcript/message/22783789#22783789&quot;&gt;discussion with vzn about sufficiently focused questions&lt;/a&gt;. The motivation to spend time on graph isomorphism at all also came from vzn's repeated prodding. J.-E. Pin asked in the comment whether there are any specific reasons to consider inverse semigroups. The idea was to have a structure slightly generalizing groups, which is GI complete. I wanted to better understand the relation between &lt;a href=&quot;https://rjlipton.wordpress.com/2011/11/07/the-group-isomorphism-problem-a-possible-polymath-problem/&quot;&gt;group isomorphism&lt;/a&gt; and graph isomorphism, but I fear this answer doesn't provide any insight of this sort.&lt;/p&gt;&#xA;" OwnerUserId="20340" LastActivityDate="2015-07-16T00:55:07.320" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="32011" PostTypeId="1" CreationDate="2015-07-16T04:53:14.597" Score="19" ViewCount="594" Body="&lt;p&gt;Currently, computation of reals in most popular languages is still done via floating point operations. On the other hand, theories like type two effectivity (TTE) and domain theory have long promised exact computation of reals. Clearly, the problem of floating point precision has not dwindled in relevance, so why haven't these theories become more mainstream and why aren't there more conspicuous implementations of them?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, are there domains of applications where we don't care much about floating point errors? Are there significant complexity concerns?&lt;/p&gt;&#xA;" OwnerUserId="13257" LastActivityDate="2015-07-17T17:34:27.197" Title="Computation of reals: floating point vs TTE vs domain theory vs etc" Tags="&lt;cc.complexity-theory&gt;&lt;computing-over-reals&gt;&lt;computable-analysis&gt;&lt;domain-theory&gt;" AnswerCount="3" CommentCount="0" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="32012" PostTypeId="2" ParentId="32011" CreationDate="2015-07-16T08:34:44.363" Score="17" Body="&lt;p&gt;I work in real-number computation, and I wish I knew the real answer. But I can speculate. It's a sociological problem, I think.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The community of people who work on exact real arithmetic consists of theoreticians who are not used to developing software. So they usually &lt;a href=&quot;http://www.dcs.ed.ac.uk/home/mhe/plume/&quot;&gt;relegate the task of implementation to students&lt;/a&gt; (a notable exception is Norbert Müller's &lt;a href=&quot;http://irram.uni-trier.de&quot;&gt;iRRAM&lt;/a&gt;), or they have their own &lt;a href=&quot;https://github.com/andrejbauer/marshall&quot;&gt;toy implementations&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;People who &lt;em&gt;do&lt;/em&gt; have the necessary programming mojo do not have the necessary theoretical background. Without solid theoretical footing it is difficult to design exact real arithmetic correctly. For instance, it is a mistake to add lots of real numbers in a &lt;code&gt;for&lt;/code&gt; loop, as you will get unacceptable performace due to loss of precision. If you want to add lots and lots of reals, you should do it with a tree-like structure, taking into account the magnitudes of the partial sums. Another thing which is difficult to get across is that &lt;code&gt;&amp;lt;&lt;/code&gt; and &lt;code&gt;=&lt;/code&gt; as total boolean function on the reals simply do not exist (you can have &lt;code&gt;=&lt;/code&gt; but it either returns &lt;code&gt;false&lt;/code&gt; or it diverges, and &lt;code&gt;&amp;lt;&lt;/code&gt; diverges when given two equal reals).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Lastly, it is not clear at all that we know how to implement libraries for exact real arithmetic. They're not the usual pieces of libraries which just define some datatypes and some functions on them. Often exact real arithmetic requires special modes of control. For instance, iRRAM takes over the main execution of the program (it literally hijacks &lt;code&gt;main&lt;/code&gt;), as well as standard input and output, so that it can rerun the program when loss of precision occurs. My library for real arithmetic in Haskell happens in a &lt;code&gt;Staged&lt;/code&gt; monad (which is essentially the &lt;code&gt;Reader&lt;/code&gt; monad). Most people expect the real numbers to be &quot;just another datatype&quot;, but I have my doubts about that.&lt;/p&gt;&#xA;" OwnerUserId="705" LastEditorUserId="705" LastEditDate="2015-07-16T08:41:06.093" LastActivityDate="2015-07-16T08:41:06.093" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="32016" PostTypeId="1" CreationDate="2015-07-17T10:36:55.513" Score="4" ViewCount="194" Body="&lt;p&gt;Given a sequence of $n$ propositional formulas $\varphi_1, \cdots, \varphi_n$, a propositional formula $\phi$, a number $1\leq \theta\leq n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Define $K=\min\{k\mid \wedge_{i=k}^n \varphi_i\not\models \phi\}$, i.e., it is the minimal number $k$ such that the conjunction of $\varphi_k, \cdots, \varphi_n$ does &lt;em&gt;not&lt;/em&gt; imply $\phi$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Question: what's the complexity of deciding whether $K=\theta$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What I have tried: Since deciding $\wedge_{i=k}^n\varphi_i\not\models \phi$ is NP-complete, this problem is in $P^{NP}$. Moreover, by binary search, this can be improved to $\Theta^p_2$, i.e., only logarithmic number of NP queries is enough. (Is this correct?) However, I am not clear about the lower bound. Maybe it is just in NP?&lt;/p&gt;&#xA;" OwnerUserId="21036" LastActivityDate="2015-07-17T10:36:55.513" Title="A SAT related question" Tags="&lt;cc.complexity-theory&gt;&lt;sat&gt;&lt;polynomial-hierarchy&gt;" AnswerCount="0" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32018" PostTypeId="2" ParentId="32011" CreationDate="2015-07-17T14:36:27.177" Score="-6" Body="&lt;p&gt;I am hardly an expert, but I have been honing my chops on this over the last few years. The problem is that the &quot;real&quot; numbers simply do not exist in the same way that natrual numbers do. Is there anyone who has an intuitive grasp of &quot;$\pi$-ness&quot;? Essentially the real numbers are defined by various limit processes; many of these limit processes have been given special names, and some of them are special enough that they form significant subsets of the reals (e.g. algebraic numbers)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My point being that if you are going to compute exactly, you have to have placeholders for the special names as well as the familiar names the naturals. At some point you are going to want to approximate the exact value in order to apply it to something in the real world. As it turns out, it is much more efficient to just deal with the whole problem as approximations from the start, unless you have very specialized needs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course, very few working programmers think this way. They mostly say to themselves &quot;Gee, double has more precision than I could possibly ever, might as well use it&quot;, and mostly that is the most economical approach. The problem is that most programmers don't know how to spot when they are getting into trouble because the set of double-precision floats is infinitely smaller than $R$...&lt;/p&gt;&#xA;" OwnerUserId="34822" LastActivityDate="2015-07-17T14:36:27.177" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32019" PostTypeId="2" ParentId="32011" CreationDate="2015-07-17T17:34:27.197" Score="10" Body="&lt;p&gt;In general, people always care about floating point errors. However I disagree with Andrej, and I do not think that floats are preferred to arbitrary precision reals (for the most part) because of sociological reasons.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I believe the main argument against exact computation of reals is one of &lt;em&gt;performance&lt;/em&gt;. So the short answer is, &lt;strong&gt;whenever performance is more important than precision, you'll want to use floating point numbers&lt;/strong&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The application that springs to mind is the use of &lt;a href=&quot;https://en.wikipedia.org/wiki/Computational_fluid_dynamics&quot;&gt;computational fluid dynamics&lt;/a&gt; to design the aerodynamics of cars or planes, where small errors in computation are easily made up with the astronomical gains of using dedicated &lt;a href=&quot;https://en.wikipedia.org/wiki/Floating-point_unit&quot;&gt;floating point units&lt;/a&gt; found in many widespread processors.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In particular, the problem of representing a wide range of real numbers using a fixed number of bits is not as trivial as it may seem at first glance. In numerical simulation, values may vary widely (e.g. when there is turbulence), so fixed-point computations aren't appropriate.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Even when precision is not fixed by the hardware, using arbitrary precision numbers can be several orders of magnitude slower than using floating point numbers. In fact, even in the nice case were all the numbers are rational, simple operations like inverting a matrix can result in large, hard to control denominators (see &lt;a href=&quot;http://wstein.org/books/modform/modform/linear_algebra.html&quot;&gt;here&lt;/a&gt; for an example). Many large linear optimization packages use floating points with appropriate rounding modes to find approximate solutions because of this exact issue (see for example, the majority of programs found &lt;a href=&quot;https://en.wikipedia.org/wiki/List_of_optimization_software&quot;&gt;here&lt;/a&gt;).&lt;/p&gt;&#xA;" OwnerUserId="3984" LastActivityDate="2015-07-17T17:34:27.197" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="32020" PostTypeId="1" AcceptedAnswerId="32050" CreationDate="2015-07-17T18:39:30.980" Score="6" ViewCount="167" Body="&lt;p&gt;Suppose we throw $m_b$ black balls and $m_w$ white balls independently and &#xA;uniformly at random in $n$ bins. &#xA;Let &#xA;$\left\{ B_i \right\}_{i \in \left\{ 1,\ldots,n \right\}}$,&#xA;$\left\{ W_i \right\}_{i \in \left\{ 1,\ldots,n \right\}}$&#xA;be the number of black and white balls that end up in bin $i$, respectively.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let &#xA;$\left\{ M_i \right\}_{i \in \left\{ 1,\ldots,n \right\}}$&#xA;be the binary random variables such that&lt;br&gt;&#xA;$$&#xA;    \Pr(M_{i} = 1 \,|\, B_i&amp;gt;W_i ) = 1,\\  &#xA;    \Pr(M_{i} = 1 \,|\, B_i=W_i ) = 1/2,\\  &#xA;    \Pr(M_{i} = 1 \,|\, B_i&amp;lt;W_i ) = 0.  &#xA;$$&#xA;In other words, $M_{i}$ indicates whether bin $i$ contains more&#xA;black balls than white balls (breaking ties u.a.r.).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In &#xA;&lt;a href=&quot;http://epubs.siam.org/doi/abs/10.1137/S0097539793250767&quot;&gt;Randomized Distributed Edge Coloring via an Extension of the&#xA;Chernoff--Hoeffding Bounds&lt;/a&gt; by&lt;br&gt;&#xA;Alessandro Panconesi and Aravind Srinivasan, it is shown that the&#xA;Chernoff bound holds for dependent binary random variables such that &#xA;for each $I \subseteq \left\{ 1, \cdots, n \right\}$&#xA;$$&#xA;    \Pr \left( \bigwedge_{i \in I} X_{i} = 1 \right) &#xA;    \leq \prod_{i \in I} \Pr \left( X_{i} = 1 \right)&#xA;$$&#xA;They call the latter property negative 1-correlation. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is: are the r.v. $M_{i}$ negatively one correlated? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is very intuitive, but I couldn't figure out any proof. All my attempts end up dealing with the explicit joint probability distribution of the $B_i$ and $W_i$, at which point I'm stuck...&lt;/p&gt;&#xA;" OwnerUserId="4417" LastActivityDate="2015-07-22T17:57:33.603" Title="Are bins with more black than white balls negatively 1-correlated?" Tags="&lt;pr.probability&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="32023" PostTypeId="1" CreationDate="2015-07-19T00:05:38.337" Score="2" ViewCount="49" Body="&lt;p&gt;I have been interested in this kind of &quot;sorting with constraint&quot; problem:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given $n$ items $\{S_1 ,S_2 ,...S_n\}$ with corresponding weight $w_i ,i=1,2,...,n$, we want to sort these $n$ items (i.e. for $p_1 ,p_2 ,...,p_n$, we have a sequence that $S_i$ is at the $p_i$th position) with those constraints and goal below:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Constraint1: for some $&amp;lt;i,j&amp;gt;$, there must have $p_i&amp;lt;p_j$&lt;/li&gt;&#xA;&lt;li&gt;Constraint2: for some $&amp;lt;i,k&amp;gt;$ that have constraint1, there could have some $j$ that cannot be $p_i&amp;lt;p_j&amp;lt;p_k$&lt;/li&gt;&#xA;&lt;li&gt;Goal: maximize $\sum_{1}^{n}p_iw_i$ (or some other loss function that we can call it &quot;sort&quot;)&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;We can assume that there are $O(n)$ constraint1 and constrain2.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is my curiosity about whether there has been any research on this kind of problem, especially about:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Obviously this problem is an $NP$ problem. Is it $NP-hard$ (which we can also be inferred that it is $NP-complete$)?&lt;/li&gt;&#xA;&lt;li&gt;If this is an $NP-complete$ problem, is there any approximation algorithm? In what ratio will this approximation algorithm performs?&lt;/li&gt;&#xA;&lt;li&gt;Consider a special condition: for $\{S_1 ,S_2 ,...S_n\}$, only O(1) items of them have non-zero weight. What will the complexity of this question--and the corresponding algorithm to solve it--be?&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="15809" LastActivityDate="2015-07-19T00:05:38.337" Title="Is there any exsiting research on this kind of &quot;sorting with constraint&quot; problem?" Tags="&lt;approximation-algorithms&gt;&lt;complexity&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32024" PostTypeId="1" AcceptedAnswerId="32037" CreationDate="2015-07-19T01:03:51.860" Score="4" ViewCount="1842" Body="&lt;p&gt;The shortest path problem between 2 arbitrary nodes is one that has been covered extensively and the solution is well-known. Consider the edge costs to be arbitrary.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider the following variant:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Find the two shortest paths between 2 pairs of arbitrary nodes, however  the cost is considered to be the length of the path and &lt;em&gt;in addition&lt;/em&gt; the number of nearby/common edges in the two paths. This cost is $|P_1| + |P_2| + |P_1 \cap P_2|$ when considering only common edges. More generally we can state the cost as $|P_1| + |P_2| + f(P_1, P_2)$ where it can generalize to consider both penalizing common edges or nearby edges.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Has this problem been addressed before?&lt;/p&gt;&#xA;" OwnerUserId="34445" LastEditorUserId="34445" LastEditDate="2015-07-23T00:22:42.873" LastActivityDate="2015-07-23T09:05:10.010" Title="Finding the two shortest paths while minimizing the number of nearby/common edges" Tags="&lt;graph-theory&gt;&lt;optimization&gt;&lt;shortest-path&gt;" AnswerCount="2" CommentCount="4" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="32029" PostTypeId="2" ParentId="32024" CreationDate="2015-07-19T17:04:13.563" Score="-1" Body="&lt;p&gt;Let $P_{1}$, $P_{2}$ be two paths in a undirected unweighted graph $G=(V,E)$. We want to minimize the following quantity:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$ C = min_{P_{1},P_{2} \; paths \; in \; G} \{ |P_{1}| + |P_{2}| + |P_{1} \cap P_{2}| \}$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also suppose $L$ is the length of the shortest path in $G$, i.e. $L = min_{P \; path \; in \; G} \{ |P| \}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Clearly, $2L \leq C \leq 3L$, since even if there is no overlap, the second shortest path cannot have length less than $L$ and in the worst case, we can pick two times the same path, which maximizes overlap.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strike&gt;This simple algorithm should solve your problem:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Calculate the shortest path using your favourite algorithm.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Homeomorphism_(graph_theory)#Subdivision_and_smoothing&quot; rel=&quot;nofollow&quot;&gt;Subdivide&lt;/a&gt; all edges on the shortest path.&lt;/li&gt;&#xA;&lt;li&gt;Run your algorithm again on the new graph $G'$ and obtain a second path.&lt;/li&gt;&#xA;&lt;li&gt;Output the path from 1 and 3 as output, taking care to replace any subdivided edge in it with the original edge.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;The running time is asymptotically the same for the usual algorithms,since  $G'$ has at most $|E|+|V|$ edges and $|V|$ nodes and $|E|$ is almost always the dominating term of the runtime. This can be ignored however to always have the same running time (see below).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Correctness lies on the correctness of the original algorithm, as well as the fact that by subdividing we minimize according to the quantity $ |P_{2}| + |P_{1} \cap P_{2}| $, as desired.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, note that most algorithms may work with weights from $\mathbb{N}$ with no additional cost, so instead of subdividing one may simply double the weight of the edges along the shortest path. This method is more general and shows that the algorithm works equally well on weighted variants of the problem.&lt;/strike&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that it is not necessary for the shortest path to be part of the optimal solution. See the comments for a discussion on this and thus why my proposed algorithm does not guarantee optimality.&lt;/p&gt;&#xA;" OwnerUserId="879" LastEditorUserId="879" LastEditDate="2015-07-20T08:01:23.657" LastActivityDate="2015-07-20T08:01:23.657" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="32032" PostTypeId="1" CreationDate="2015-07-19T21:21:31.787" Score="2" ViewCount="84" Body="&lt;p&gt;I am wondering if this problem has been studied, and in particular if there is an algorithm for it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider a universe $\mathcal U$ and a set $A \subseteq U$, and a family of sets $\mathcal F \subset 2^{\mathcal U}$. We know that&#xA;$$\mathcal U = \bigcup_{F \in \mathcal F} F.$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I want to find a minimal set $\mathcal E \subseteq \mathcal F$ such that&#xA;$$A = \triangle_{E \in \mathcal E} E$$&#xA;where $\triangle_{E \in \mathcal E} E$ means the symmetric difference of all the sets in $\mathcal E$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The set family $\mathcal F$ is not closed under symmetric difference, but we know that for any $B \subseteq \mathcal U$, there exists a $\mathcal F' \subseteq \mathcal F$ such that&#xA;$$B = \triangle_{F \in \mathcal F'} F,$$&#xA;so the problem is solvable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think the decision problem should be NP-hard.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit: The links in Kristoffer Arnsfelt Hansen's comments show that the problem of finding the smallest subset expressible as a symmetric difference of the subsets in $\mathbb F$ is NP-complete. This problem is somewhat different, and I am still looking for an algorithm.&lt;/p&gt;&#xA;" OwnerUserId="5033" LastEditorUserId="5033" LastEditDate="2015-07-19T22:53:25.527" LastActivityDate="2015-07-19T22:53:25.527" Title="Variant of set cover problem with symmetric difference instead of union?" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;set-cover&gt;" AnswerCount="0" CommentCount="1" ClosedDate="2015-07-23T20:05:52.903" ContentLicense="CC BY-SA 3.0" />
  <row Id="32035" PostTypeId="1" CreationDate="2015-07-20T14:25:46.427" Score="5" ViewCount="977" Body="&lt;p&gt;What is the fastest known algorithm for max flow on dags?&#xA;Can there be a linear-time algorithm running in time $O(|V|+|E|)$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Input&lt;/strong&gt;: a weighted dag $G=(V,E,w)$ where &#xA;$E$ is given as an edge list $E$ and&#xA;$w$ is the edge weight function; and&#xA;two vertices $s$ and $t$.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Output&lt;/strong&gt;: a max flow from $s$ to $t$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The dag is simple (no loops, no parallel edges). &#xA;Edge weights are positive integers.&lt;/p&gt;&#xA;" OwnerUserId="29274" LastEditorUserId="186" LastEditDate="2015-07-20T15:23:02.800" LastActivityDate="2015-07-20T15:23:02.800" Title="Is there a linear-time algorithm for max flow on dags" Tags="&lt;ds.algorithms&gt;&lt;directed-acyclic-graph&gt;&lt;max-flow&gt;" AnswerCount="0" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="32036" PostTypeId="1" AcceptedAnswerId="32065" CreationDate="2015-07-20T18:40:04.770" Score="16" ViewCount="1268" Body="&lt;p&gt;Let $A$ and $B$ be subsets of $\{0,\ldots,n\}$. We are interested in finding the Minkowski sum $A+B=\{a+b~|~a\in A,b\in B\}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\chi_X:\{0,\ldots,2n\}\to \{0,1\}$ is a characteristic function of $X$ if $$\chi_X(x) = \begin{cases} 1 \text{ if } x\in X\\ 0 \text{ otherwise}\end{cases}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $f$ be the discrete convolution of $\chi_A$ and $\chi_B$, then $x\in A+B$ if and only if $f(x)&amp;gt; 0$. Hence $A+B$ can be computed in $O(n\log n)$ time by discrete convolution via FFT.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Sometimes it is important to find out the actual pair $a\in A$ and $b\in B$ that sums to $x$. $a\in A$ is called a &lt;em&gt;witness&lt;/em&gt; of $x$, if there exist $b\in B$ such that $a+b=x$. A function $w:A+B\to A$ is called a &lt;em&gt;witness function&lt;/em&gt; if $w(x)$ is a witness of $x$.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is it possible to compute a witness function in $O(n\log n)$ time?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="314" LastEditorUserId="314" LastEditDate="2015-07-21T16:20:13.267" LastActivityDate="2015-08-05T21:53:03.537" Title="Finding witness in minkowski sum of integers" Tags="&lt;convolution&gt;&lt;fft&gt;" AnswerCount="3" CommentCount="9" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="32037" PostTypeId="2" ParentId="32024" CreationDate="2015-07-20T19:09:22.773" Score="7" Body="&lt;p&gt;If the cost is $|P_1|+|P_2|+|P_1∩P_2|$, then a simple reduction to the shortest pair edge disjoint paths gives us a polynomial time solution. For each edge $e=(u,v)$ add two edges $(u,uv)$ and $(uv,v)$ each of them with same edge weight as $e$. The shortest pair edge disjoint paths in the new graph corresponds to the required solution in the original graph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The algorithm for shortest pair edge disjoint paths is known as Suurballe's algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://en.m.wikipedia.org/wiki/Suurballe%27s_algorithm&quot; rel=&quot;nofollow&quot;&gt;https://en.m.wikipedia.org/wiki/Suurballe%27s_algorithm&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If the cost is some arbitrary function the problem can be NP-complete. &#xA;e.g assuming edge weights one, let the cost function be as $|P_1| + |P_2| + |P_1∩P_2| + 2\cdot |G-P_1\cup P_2|$.&#xA;Then the cost is always $ \ge |G|+2$ (if source and terminal are distinct vertices). The equality holds iff the graph has a Hamiltonian cycle.&lt;/p&gt;&#xA;" OwnerUserId="1846" LastEditorUserId="1846" LastEditDate="2015-07-23T09:05:10.010" LastActivityDate="2015-07-23T09:05:10.010" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32038" PostTypeId="1" CreationDate="2015-07-20T20:46:54.970" Score="21" ViewCount="660" Body="&lt;p&gt;Call $\mathsf{PPBP}$ the class of languages decided by poly-size families of &lt;em&gt;permutation&lt;/em&gt; branching programs, which are layered branching programs (i.e., the ones defined &lt;a href=&quot;https://en.wikipedia.org/wiki/NC_%28complexity%29#Barrington.27s_theorem&quot; rel=&quot;noreferrer&quot;&gt;here&lt;/a&gt;) whose transitions functions are permutations (without any restriction on the width).  We know from Barrington's famous result and from the fact that arbitrary poly-size branching programs capture exactly logspace that&#xA;$$\mathsf{NC}^1\subseteq\mathsf{PPBP}\subseteq\mathsf{L}/\mathsf{poly}.$$&#xA;In the closing section of &lt;a href=&quot;http://people.cs.umass.edu/~barring/publications/bwbp.pdf&quot; rel=&quot;noreferrer&quot;&gt;his 1989 paper&lt;/a&gt;, Barrington briefly considers this question and observes that $\mathsf{PPBP}$ is known to contain $\mathsf{L}$-complete problems under $\mathsf{NC}^1$ reductions. This suggests that the first inclusion above is strict but fails to yield a characterization of $\mathsf{PPBP}$ in terms of a well-known class, because it is not known whether $\mathsf{PPBP}$ is closed under $\mathsf{NC}^1$ reductions (right?).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Has any improvement on understanding the power of permutation branching programs been made since Barrington's work?&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit:&lt;/strong&gt; Just for completeness, this is Barrington on what I call here $\mathsf{PPBP}$ (second paragraph of Sect. 8 of his paper &quot;Bounded-Width Polynomial-Size Branching Programs Recognize Exactly Those Languages in $\mathsf{NC}^1$&quot;, &lt;em&gt;Journal of Computer and System Sciences&lt;/em&gt;, 38(1):150-164, 1989):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;code&gt;The power of general poly-size permutation BPs (no restriction on width) was mentioned as an open problem in [Barrington's Ph.D. thesis].  Cook and McKenzie [a 1986 tech report] have just shown that [the word problem for permutation groups] is complete for log space under $\mathsf{NC}^1$ reductions [...]  A poly-size PBP can be constructed to solve this problem, given an appropriate definition of recognition of a language by a PBP.&lt;/code&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The fact that he never explicitly says that poly-size permutation BP are equivalent to poly-size BP led me to assume that having an $\mathsf{L}$-complete problem in $\mathsf{PPBP}$ was not known to be enough to get $\mathsf{PPBP}=\mathsf{L}/\mathsf{poly}$ (e.g., lack of closure under reductions).&lt;/p&gt;&#xA;" OwnerUserId="20716" LastEditorUserId="20716" LastEditDate="2015-07-22T13:22:03.233" LastActivityDate="2015-07-28T13:39:37.240" Title="What is the power of general poly-size permutation branching programs?" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;circuit-complexity&gt;&lt;logspace&gt;&lt;structural-complexity&gt;" AnswerCount="0" CommentCount="8" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="32041" PostTypeId="2" ParentId="12207" CreationDate="2015-07-21T07:29:04.217" Score="2" Body="&lt;p&gt;This &lt;a href=&quot;https://cs.stackexchange.com/questions/24574/what-are-appropriate-isomorphisms-between-formal-languages/43564#43564&quot;&gt;answer&lt;/a&gt; about isomorphisms between formal languages combines algebraic results from the theory of codes with notions from category theory to investigate possible notions of equivalence and isomorphism between formal languages and complexity classes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My own interpretation of these results is that synchronization points in words are different for deterministic and unambiguous non-deterministic transducers, and even different between deterministic forward and deterministic backward transducers. Taking this perspective of synchronization points allows to connect these results to visibly pushdown languages, and raises the question whether those should also consider simple separators (like a space or a comma) in addition to calls and returns. (My guess is that a separator could be emulated by a combined return+call, but because those require two symbols instead of one, it's not clear to me whether this is sufficient. There might also be visibly languages which have only separators, but no call or return symbols.)&lt;/p&gt;&#xA;" OwnerUserId="20340" LastEditorUserId="-1" LastEditDate="2017-04-13T12:48:30.830" LastActivityDate="2015-07-21T07:47:56.557" CommentCount="1" CommunityOwnedDate="2015-07-21T07:29:04.217" ContentLicense="CC BY-SA 3.0" />
  <row Id="32046" PostTypeId="1" AcceptedAnswerId="32049" CreationDate="2015-07-22T10:01:04.383" Score="5" ViewCount="168" Body="&lt;p&gt;All $MSO_1$ and $MSO_2$ definable graph problems can be solved in linear time on bounded tree-width graphs by Courcelle's theorem. But it seems this theorem doesn't work for $MSO_2$ definable graph problems on bounded clique-width graphs. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can some provide me an example of $MSO_2$ definable NP-hard problem on bounded clique-width graphs.&lt;/p&gt;&#xA;" OwnerUserId="14028" LastActivityDate="2015-07-23T07:12:31.317" Title="Example of $MSO_2$ definable NP-hard problem on bounded clique-width graphs" Tags="&lt;lo.logic&gt;&lt;cliquewidth&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32047" PostTypeId="2" ParentId="12207" CreationDate="2015-07-22T12:08:44.227" Score="12" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;[Computational complexity and category theory] seem like such natural pairs.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Given the prominence of computational complexity as a research field, if they were such natural bedfellows, maybe somebody would have brought out the&#xA;connection already?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Wild speculation.&lt;/strong&gt;&#xA;Let me entertain the reader with thoughts about   why a categorical rendering of computational complexity is hard.  Arguably, the&#xA;key concept cluster in category theory is centering around universal&#xA;constructions / properties (with the associated apparatus of functors,&#xA;natural transformations, adjunctions and so on). If we can show that a&#xA;mathematical construction has a universal property, that gives a lot&#xA;of insight.&#xA;So if we wanted a categorical approach to computational complexity, we'd&#xA;need to find a convenient category and exhibit how key concepts of complexity theory (e.g. LOGSPACE&#xA;or NP-hardness) can be given by universal constructions using that category.  This has not&#xA;yet been done, and I think that this is because it's a really difficult problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I suspect that the reason for this difficulty is that the key object of&#xA;complexity theory, the Turing machine, is not well understood algebraically.  The&#xA;problem with TMs is that they are not naturally equipped with a nice&#xA;algebra that allows building up programs in a compositional way. By&#xA;that I mean that we don't usually program TMs by saying our target&#xA;program is the TM T which is composed as e.g. $T = T_1 \oplus T_2&#xA;\otimes T_3$ where the $T_i$ are 'smaller' TMs and $\oplus, \otimes$ are&#xA;algebraic operators on TMs: we just don't have (natural) algebraic operations on TMs that&#xA;enable us to build up TMs in stages in an insightful way&lt;sup&gt;1&lt;/sup&gt;.  Instead, we construct TMs by specifying their two&#xA;components separately: the  control (a FSM) and the tape.&#xA;Neither control nor tape have good algebras&#xA;themselves. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let's look at tapes first.  There are a couple of natural&#xA;ways to compose tapes, none of which appear to work for a compositional&#xA;description of TMs.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Glue them together like ordinal addition.&lt;/strong&gt;&#xA;This isn't the right notion, because tapes are infinite and by&#xA;sticking them together like ordinal addition we obtain a double&#xA;infinite object that goes beyond finite computability, leading to&#xA;infinite computation / hypercomputation, which are interesting as&#xA;mathematical but don't correspond to feasible computation.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Stick them in parallel&lt;/strong&gt;, e.g. two 3-head machines turn into a 6-head&#xA;machine. This doesn't tell us how the component machines interact&#xA;with each other.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Interleave tapes.&lt;/strong&gt; One problem with this approach is that it's&#xA;unclear what the canonical interleaving might be, if any. Moreover,&#xA;interleaving will 'confuse' existing control, which tends to be&#xA;finely tuned towards a specific tape layout. So we can't reuse control directly.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;With FSMs the situation is a bit better, because we do have computationally meaningful algebraic&#xA;theories of automata construction, the most well-know of which might&#xA;be process algebras like CSP, CCS, $\pi$-calculus, ACP and so on. But&#xA;none of them is a calculus of tape-head movements, which is what we'd&#xA;need if we wanted to compose TMs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;All in all, we are quite far away form a substantial algebraic /&#xA;categorical treatment of computational complexity, and we'd need&#xA;several conceptual advances to get there.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;sup&gt;1&lt;/sup&gt; Note that this is&#xA;quite different from other computational formalisms like&#xA;$\lambda$-calculus and $\pi$-calculus, which are algebraic&#xA;calculi. Because they are algebraic, it has been easy to develop&#xA;type-theories for $\lambda$-calculus and $\pi$-calculus as a way to&#xA;constrain programs. However these calculi have powerful operations like&#xA;new-name generation, scope extrusion, $\alpha$-conversion and unlimited copying of terms, which&#xA;make them a priori unsuitable as basic formalisms for complexity theory.  Indeed one can easily show e.g. P = NP if one isn't careful. It was only in 2014 that Accattoli and Dal Lago showed  (in: &lt;a href=&quot;http://arxiv.org/abs/1405.3311&quot;&gt;Beta Reduction is Invariant, Indeed&lt;/a&gt;) that $\lambda$-calculus can be used for defining time-complexity if one is careful. No corresponding results are known for space complexity, or for $\pi$-calculus.&lt;/p&gt;&#xA;" OwnerUserId="898" LastActivityDate="2015-07-22T12:08:44.227" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="32048" PostTypeId="1" AcceptedAnswerId="32051" CreationDate="2015-07-22T15:11:35.980" Score="4" ViewCount="260" Body="&lt;p&gt;We know of the minimum weight perfect matching problem in general graphs which can be solved using a primal-dual algorithm. Assume, we have an additional constraint specifying the exact number of edges that the matching can use. In other words, given a graph G=(V,E) with&#xA;m=|E| and an integer k, where m and k are different in general, we need to find a matching of minimum weight that uses exactly k edges.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is known about the problem? Do we have a polynomial time algorithm for the problem?&lt;/p&gt;&#xA;" OwnerUserId="16074" LastActivityDate="2015-07-22T18:03:28.737" Title="Minimum weight matching in general graphs with additional input specifying the number of matched edges" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;optimization&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32049" PostTypeId="2" ParentId="32046" CreationDate="2015-07-22T17:53:54.413" Score="8" Body="&lt;p&gt;One example is the vertex disjoint paths problem, which is linear time solvable in graphs of bounded tree width but &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0304397506002003&quot; rel=&quot;noreferrer&quot;&gt;NPC in graphs of clique width at most $6$&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="1846" LastEditorUserId="5693" LastEditDate="2015-07-23T07:12:31.317" LastActivityDate="2015-07-23T07:12:31.317" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32050" PostTypeId="2" ParentId="32020" CreationDate="2015-07-22T17:57:33.603" Score="3" Body="&lt;p&gt;A good reference is Concentration of Measure for the Analysis of Randomized Algorithms, by Dubhashi and Panconesi.  This is not a standalone proof but shows how you could use the results therein to prove your desired inequality.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We say a set of random variables $X_i, i \in [n]$ are negatively associated if for all disjoint subsets $I,J \subset [n]$, and all nondecreasing functions $f$ and $g$,&#xA;$$&#xA;\mathbb{E}[f(X_i, i \in I)g(X_j, j \in J)] \leq \mathbb{E}[f(X_i, i \in I)]\mathbb{E}[g(X_j, j \in J)].&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By the proof of proposition 3.1 of D&amp;amp;P, the variables $\{B_1, \dots, B_n\}$ and $\{W_1, \dots, W_n\}$ are negatively associated.  By the disjoint monotone aggregation property of negatively associated variables, (p.35 of D&amp;amp;P), $-W_1, \dots, -W_n$ are also negatively associated, and the random variables $B_i-W_j$, over all choices of $i,j$ are as well.  In particular, the set of variables $B_i - W_i$, for any subset $I \subset [n]$ are negatively associated.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then, per exercise 3.1, or just by applying the above inequality recursively with $f=g=1$,&#xA;$$&#xA;\mathbb{E}[ \prod_{i \in I}M_i ] \leq \prod_{i\in I}\mathbb{E}[ M_i],&#xA;$$&#xA;from which your inequality follows.&lt;/p&gt;&#xA;" OwnerUserId="34592" LastActivityDate="2015-07-22T17:57:33.603" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32051" PostTypeId="2" ParentId="32048" CreationDate="2015-07-22T18:03:28.737" Score="9" Body="&lt;p&gt;Add $n-2k$ extra vertices, each connected to all the original vertices with zero-weight edges, and add a large enough number $W$ to each of the original edges to make their weights all positive. Then look for the minimum weight perfect matching.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2015-07-22T18:03:28.737" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32053" PostTypeId="1" AcceptedAnswerId="32055" CreationDate="2015-07-22T21:53:07.260" Score="5" ViewCount="1658" Body="&lt;p&gt;The emptiness problem for Context free Grammars(CFG) is well studied. The same holds for the equivalence problem between Pushdown Automata (PDA) and CFGs. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Therefore, given a PDA, the straightforward way to decide whether the language it accepts is empty is to convert the PDA into a CFG and then use the known algorithm to decide emptiness of the corresponding CFG.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am wondering whether there exists some algorithm to directly check emptiness of the language of the PDA without going through the conversion to a context free grammar. &lt;/p&gt;&#xA;" OwnerUserId="4242" LastActivityDate="2015-07-23T04:32:05.037" Title="Emptiness of PDA without constructing the corresponding CFG" Tags="&lt;automata-theory&gt;&lt;grammars&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="32054" PostTypeId="1" CreationDate="2015-07-23T01:04:10.283" Score="7" ViewCount="108" Body="&lt;p&gt;&lt;strong&gt;The Question&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $M$ be a finite monoid. Let $S$ be a generating set of $M$. Say we have a binary encoding of $S$ represented by $\phi:S \rightarrow A^*$ where $A = \{0, 1\}$. This encoding should have the prefix property.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is a natural extension of $\phi$ to $M$; for any $a \in M$ choose $b_i \in S$ s.t. $b_1b_2 \cdots b_n = a$ and let $\phi(a) = \phi(b_1)\phi(b_2)\cdots\phi(b_n)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would like to minimize the quantity $\sum_{a \in M} |\phi(a)|$ by choosing $S$ and $\phi$ intelligently. Is there a name for this problem? Has research been conducted on it?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Motivation&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am attempting to design an instruction set for a virtual machine which optimizes code density. In my specific case, $M$ is the transformation monoid on $X$ (e.g. the set of all mappings from $X$ to itself under composition) where $X$ represents the state-space for my machine. Alternately, $M$ can be thought of as the set of all programs my machine can execute and $S$ can be thought of as the instruction set. I assume someone has already thought long and hard about this question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;P.S.&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the sake of propriety, I will add that I have already asked &lt;a href=&quot;https://math.stackexchange.com/questions/1366171/computing-the-shortest-encoding-for-a-transformation&quot;&gt;a similar question&lt;/a&gt; on the Mathematics StackExchange. I feel that the original question was worded very poorly, and that the forum was inappropriate. Hopefully no one minds that I've asked an improved, slightly different question here. If there is a problem, I would be happy to delete the original question.&lt;/p&gt;&#xA;" OwnerUserId="34873" LastEditorUserId="-1" LastEditDate="2017-04-13T12:19:19.363" LastActivityDate="2015-07-23T01:04:10.283" Title="What is the optimal binary encoding of the elements of a monoid?" Tags="&lt;encoding&gt;&lt;prefix-free-code&gt;&lt;monoid&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="32055" PostTypeId="2" ParentId="32053" CreationDate="2015-07-23T03:46:25.433" Score="4" Body="&lt;p&gt;&lt;strong&gt;Quick Answer:&lt;/strong&gt; Yes, there is a really lovely algorithm that solves non-emptiness for pushdown automata that does not involve constructing the equivalent CFG.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Possible Drawback:&lt;/strong&gt; Correct me if I am wrong, but it doesn't appear to be more efficient than the approach where you convert to a CFG.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Basic Idea:&lt;/strong&gt; It can be viewed as a sort of dynamic programming algorithm where you solve reachability without ever constructing the possibly exponential length paths that you need to consider.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You start with a state diagram for a Pushdown Automata. Let's call a transition that doesn't manipulate the stack a resting transition. You proceed with a series of stages. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Start of Stage:&lt;/em&gt; You combine all compatible push and resting transitions. Next, you combine all compatible pop and resting transitions. Then, you combine all compatible pairs of resting transitions with each other.  Finally, you combine all compatible push and pop transitions.  Now, you throw in all of the new transitions into the state diagram.  &lt;em&gt;End of Stage.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You go through stage after stage repeating this process.  There are only so many possible transitions.  Eventually, you either get a transition that leads from the start state to a final state or you must run out of possible transitions to add.  At this point, you know whether the automata's language is empty or not. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question:&lt;/strong&gt; Can you provide me with any books or papers that give a good exposition of this algorithm?  Whenever I searched for it several years ago, it seemed that this algorithm is unpopular or not well known.  I personally really like it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks for asking the question!  I really appreciate it and I hope this helps a little bit.  Have a nice day!  :)&lt;/p&gt;&#xA;" OwnerUserId="14207" LastEditorUserId="14207" LastEditDate="2015-07-23T04:32:05.037" LastActivityDate="2015-07-23T04:32:05.037" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="32056" PostTypeId="1" AcceptedAnswerId="32062" CreationDate="2015-07-23T04:31:33.607" Score="10" ViewCount="309" Body="&lt;p&gt;Let a number $n$ be given.  Consider the following language $L_n = \{ \; ww \; \vert \; w \in \{0,1\}^{n} \; \}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In words, $L_n$ is the set of copy strings of length $2n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider the following state complexity function $s$ such that $s(n)$ is the number of states in the smallest Pushdown Automata that recognizes $L_n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question:&lt;/strong&gt; Can you formally prove any meaningful lower bound for $s(n)$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;My Conjecture:&lt;/strong&gt; $s(n) = 2^{\Theta(n)}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Known Upperbound:&lt;/strong&gt; $s(n) \leq \mathrm{poly}(n) \cdot 2^{\frac{n}{2}}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Rules:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(1) The stack alphabet must be binary.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(2) The input tape is one-way and can't stop on any input character.&lt;/p&gt;&#xA;" OwnerUserId="14207" LastEditorUserId="14207" LastEditDate="2015-07-23T04:41:41.580" LastActivityDate="2015-07-28T08:30:45.417" Title="What is the state complexity of the copy language?" Tags="&lt;fl.formal-languages&gt;&lt;automata-theory&gt;&lt;grammars&gt;&lt;context-free&gt;" AnswerCount="1" CommentCount="7" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32059" PostTypeId="1" CreationDate="2015-07-23T08:33:13.710" Score="2" ViewCount="42" Body="&lt;p&gt;You have k symmetric real n-by-n matrices A_1...A_k, each bounded by some parameter eps &amp;lt; 1/2 in spectral norm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You know that the product (Id+A_1)(Id+A_2)...(Id+A_k) equals an orthogonal matrix Y.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What can you say about the norm of A_1+...+A_k?  (any norm - frobenius, spectral, something else).  note that if n=1 (the scalar case) then clearly it's bounded by O(k eps^2) (by passing from (1+A_i) to exp(A_i+O(A_i^2)), then solving a trivial equation).  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;what can you say about the distance of Y from being the identity matrix (e.g. how low can the trace of Y be?)&lt;/p&gt;&#xA;" OwnerUserId="34881" LastActivityDate="2015-07-23T08:33:13.710" Title="Products of PSD matrices that equal an orthogonal matrix" Tags="&lt;matrices&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32060" PostTypeId="1" CreationDate="2015-07-23T10:55:45.213" Score="8" ViewCount="601" Body="&lt;p&gt;I remember reading a blog post displaying two versions of the same proof, one written by a human and the other by a machine, and asked the readers to tell which is which. Trying to google the post again, I can't seem to find the right keywords; most things just direct me to pages on computer generated or computer assisted proofs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So I'm wondering if anyone else remembers such a post, or better yet, can direct me to some surveys or other materials on this subject.&lt;/p&gt;&#xA;" OwnerUserId="13257" LastEditorUserId="495" LastEditDate="2015-07-23T13:38:00.733" LastActivityDate="2015-07-23T14:22:54.667" Title="Humanifying computer-generated or computer assisted proofs" Tags="&lt;proofs&gt;&lt;proof-assistants&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="32061" PostTypeId="2" ParentId="32060" CreationDate="2015-07-23T11:18:35.220" Score="13" Body="&lt;p&gt;You are probably thinking of Gower's work with Ganesalingam, based on the latter's MSc dissertation (1). Gowers blogged about this in (2) and other places, and they've written a paper on the subject (3). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is other work in that direction, for example from the interactive proof assistant community. The most well-known example here might be the Isar language (4). This is quite an active area of research, see e.g. (5). I know that this is also pursued by more linguistics oriented researchers, but I don't have references handy.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;M. Ganesalingam, &lt;a href=&quot;http://people.ds.cam.ac.uk/mg262/&quot;&gt;A Language for Mathematics&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;W. T. Gowers, &lt;a href=&quot;https://gowers.wordpress.com/2013/03/25/an-experiment-concerning-mathematical-writing/&quot;&gt;An experiment concerning mathematical writing&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;M. Ganesalingam, W. T. Gowers, &lt;a href=&quot;http://arxiv.org/abs/1309.4501&quot;&gt;A fully automatic problem solver with human-style output&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;M. Wenzel, &lt;a href=&quot;https://mediatum.ub.tum.de/doc/601724/601724.pdf&quot;&gt;Isabelle/Isar - a versatile environment for human-readable formal proof documents&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;F. Wiedijk, &lt;a href=&quot;http://arxiv.org/abs/1201.3601&quot;&gt;A Synthesis Of The Procedural And Declarative Styles Of Interactive Theorem Proving&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="898" LastEditorUserId="898" LastEditDate="2015-07-23T14:22:54.667" LastActivityDate="2015-07-23T14:22:54.667" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32062" PostTypeId="2" ParentId="32056" CreationDate="2015-07-23T12:28:23.223" Score="10" Body="&lt;p&gt;The technique described by Yuval: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/questions/4962/do-there-exists-polynomial-size-cfg-that-describe-this-finite-language/4969#4969&quot;&gt;Do there exists polynomial size CFG that describe this finite language?&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(&#xA;you may also read:&#xA;&lt;a href=&quot;https://cstheory.stackexchange.com/questions/5014/lower-bounds-on-the-size-of-cfgs-for-specific-finite-languages?rq=1&quot;&gt;Lower bounds on the size of CFGs for specific finite languages&lt;/a&gt;&#xA;)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;allows to show very easily an exponential lower bound for CFGs.&#xA;Let $G$ a grammar in Chomsky Normal Form for $L_n$.&#xA;For every word $w\in \{0,1\}^n$ there exists at least one non-terminal $A(w)$ accepting a subword $s(w)$ of $ww$ having length between $n/2$ and $n$. Let $p(w)$ be a position in $ww$ where this subword occurs. There are at least $n/2$ bits common to all words $w,w'$ such that $A(w)=A(w')$ and $p(w)=p(w')$. Consequently, there can be at most $2^{n/2}$ words that have the same $A(w)$ and $p(w)$. Hence there are at least $2^{\Theta(n)}$ non-terminals.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Furthermore, the PDA can be converted into a CFG in CNF, of polynomial size so this also gives the $2^{\Theta(n)}$ bound on the state complexity of $L_n$.&lt;/p&gt;&#xA;" OwnerUserId="20726" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2015-07-28T08:30:45.417" CommentCount="10" ContentLicense="CC BY-SA 3.0" />
  <row Id="32064" PostTypeId="2" ParentId="32036" CreationDate="2015-07-23T18:06:53.673" Score="12" Body="&lt;p&gt;Ok, I've been holding off since really Sariel should get credit for an answer, but I'm tired of waiting, so here is my cut at a near-linear randomized algorithm.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;By choosing samples of $n(1-\epsilon)^i$ points, $i=0,1,\dots$, you can get a logarithmic number of subproblems such that each sum from the original problem has constant probability of being represented uniquely in one of the subproblems (the one where the sampling cuts down the expected number of representations to near 1).&lt;/li&gt;&#xA;&lt;li&gt;By repeating the sampling process a logarithmic number of times you can get all sums to have unique representations with high probability.&lt;/li&gt;&#xA;&lt;li&gt;If you have a partition of $A$ and $B$ into two subsets, then by multiplying the numbers by four, adding 2 to the numbers in one of the subsets in $A$, and adding 1 to the numbers in one of the subsets in $B$, you can read off from the mod-4 values of the achievable sums which of the two subsets their summands come from.&lt;/li&gt;&#xA;&lt;li&gt;By repeating the partition process a logarithmic number of times, using each bit position of the binary representations of the values or indices in the subproblems to select the partitions in each step, you can uniquely identify the summands of every uniquely-represented sum.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;This blows up the running time by three logarithmic factors; probably that can be reduced.&lt;/p&gt;&#xA;" OwnerUserId="95" LastEditorUserId="95" LastEditDate="2015-07-23T22:16:11.183" LastActivityDate="2015-07-23T22:16:11.183" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32065" PostTypeId="2" ParentId="32036" CreationDate="2015-07-23T19:24:27.203" Score="11" Body="&lt;p&gt;Here I am explaining how to get $O(n *\mathrm{polylog} n)$ randomized running time. We need a sequence of observations:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;A &lt;em&gt;witness&lt;/em&gt; of a value $v$ is a pair of numbers $(a,b) \in A \times B$ such that $a+b=v$. Let $P_A(x) = \sum_{i \in A} x^i$ and $P_B(x)$ be defined analogously. Observe that  the coefficient of $x^v$ in $P_A(x) * P_B(x)$ is the number of witnesses there are for the value $v$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Assume $v$ has a single witness $(a,b) \in A \times B$, and consider the the polynomial $Q_A(x) = \sum_{i \in A} i*x^i$. Clearly, the coefficient of $x^v$ in $Q_A(x)*P_B(x)$ is $a$, and as such we now know the pair $(a,v-a)$ and we are done.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;So, we are done with the case that there is a single witness. So consider the case that $v$ has $k$ witnesses $(a_1, b_1),\ldots, (a_k,b_k)$. Let $i(k) = \lceil{\lg \sqrt{k}}\rceil$. Observe that $2^{i(k)-1} \leq \sqrt{k} \leq 2^{i(k)}$.&#xA;Next, let $R_j = (A_j, B_j)$, for $j=1,\ldots, m$, for $m=O(\log n)$ be random samples, such that each element of $A$ is choosen into  $A_i$ with probability $p = 1/2^{i(k)}$. The probability that $v$ has a single witness in $R_j$ is $\alpha = \binom{k}{1}p^2 (1-p^2)^{k-1}$, since the witness are disjoint pairs of numbers (since the sum of each pair is $v$). It is easy to verify that $\alpha$ is a constant in $(0,1)$ independent of the value of $k$. As such, it must be, with high probability, that $v$ has a single witness in one of the samples $R_1, \ldots, R_{m}$. As such, by computing the two polynomials associated with with such sample, as described above, in $O(n \log n)$ time (per sample), using FFT, we can decide this in constant time.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;We are almost done. Compute the above random samples for resolutions $i=1,\ldots, \lceil\lg n\rceil$. For each such resolution compute the random samples and associated polynomials. Also, compute the associated polynomial for $A$ and $B$. This preprocessing naively takes $O(n \log^3 n)$, but I suspect that being slightly more careful a $\log n$ factor should be  removable.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The algorithm: For every value $v$, compute how many witness, say k, it has in constant time, by consulting the polynomial $Q_A(x)*P_B(x)$. Next, go to the relevant data-structure for $i(k)$. Then, it finds the random sample that has it as a single witness, and it extract the pair that is this witness in constant time.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Strangely enough, the preprocessing time is $O(n \log^3 n)$, but the expected time to find the witness themselves take only $O(n)$ time, since one can stop the search as soon as one find a witness. This suggests that this algorithm should be improveable. In particular, for $i(k) \ll \lg n$, the polynomials generated are very sparse, and one should be able to do much faster FFT. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="9594" LastEditorUserId="9594" LastEditDate="2015-07-23T19:30:11.943" LastActivityDate="2015-07-23T19:30:11.943" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32066" PostTypeId="1" AcceptedAnswerId="32073" CreationDate="2015-07-23T19:51:46.683" Score="4" ViewCount="183" Body="&lt;p&gt;I have two optimization problems, both of whose inputs are from the set $I$ and whose solutions are from the set $S$, one a minimization with objective function $m_{\min}$ and one a maximization with objective function $m_{\max}$. I am studying what I would like to call the &quot;join&quot; or &quot;direct sum&quot; of these two problems, the problem of maximizing $m_{\max}(x, w) - m_{\min}(x, w)$, though I don't know the correct name for such a problem. In my particular case, each problem on its own has a trivial algorithm that produces optimal solutions, but together, the problem is intractable. Has the structural complexity or approximability of optimization problems of this form been studied in a general way?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(The fact that one is a maximization problem and one is a minimization problem is not crucial here, they could both be the same type of optimization.)&lt;/p&gt;&#xA;" OwnerUserId="4193" LastActivityDate="2015-07-24T11:05:04.313" Title="What do you call the join of two optimization problems?" Tags="&lt;cc.complexity-theory&gt;&lt;optimization&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32071" PostTypeId="1" AcceptedAnswerId="32076" CreationDate="2015-07-24T07:26:08.130" Score="13" ViewCount="618" Body="&lt;p&gt;Is Martin-Löf type theory basically the predicative Calculus of inductive Constructions without impredicative $\mathtt{Prop}$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If they're closely related but with more differences than just $\mathtt{Prop}$, what are those differences?&lt;/p&gt;&#xA;" OwnerUserId="14359" LastActivityDate="2017-02-17T08:27:45.493" Title="Is MLTT effectively pCiC without Prop?" Tags="&lt;type-theory&gt;&lt;calculus-of-constructions&gt;" AnswerCount="1" CommentCount="6" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="32072" PostTypeId="1" AcceptedAnswerId="32089" CreationDate="2015-07-24T08:28:34.913" Score="7" ViewCount="259" Body="&lt;p&gt;This is a variant of &lt;a href=&quot;https://cstheory.stackexchange.com/q/25974/15637&quot;&gt;this previous question&lt;/a&gt;. In the meantime I have learned that what I am really interested in is the discrepancy of the system of all cuts of the complete graph on $n$ vertices. More precisely, my ground set $X$ is the set of all 2-element subsets of $[n]=\{1,\ldots,n\}$, and I am looking at the set system which consists of the sets $S_U=\{\{i,j\}\in X\ :\ i\in U\text{ and }j\not\in U\}$ for all $U\subseteq[n]$. Is there a function $f:X\to\{1,-1\}$ such that&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\forall U\subseteq[n]\ \left\lvert\sum_{\{i,j\}\in S_U}f(\{i,j\})\right\rvert=O(n)\,?$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Choosing $f$ at random gives $O(n^{3/2})$ and I think that is also what follows from Spencer's &lt;a href=&quot;http://www.ams.org/journals/tran/1985-289-02/S0002-9947-1985-0784009-0/&quot; rel=&quot;nofollow noreferrer&quot;&gt;6 standard deviations theorem&lt;/a&gt;. But maybe one can do better by exploiting the cut structure.&lt;/p&gt;&#xA;" OwnerUserId="15637" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2015-07-26T21:03:11.877" Title="Combinatorial discrepancy of the system of all cuts" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32073" PostTypeId="2" ParentId="32066" CreationDate="2015-07-24T11:05:04.313" Score="6" Body="&lt;p&gt;I think this falls in the category of &lt;a href=&quot;https://en.wikipedia.org/wiki/Multi-objective_optimization&quot;&gt;multi-objective function&lt;/a&gt; optimization problems. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;To be specific, it's a &lt;a href=&quot;https://en.wikipedia.org/wiki/Multi-objective_optimization#Scalarizing_multi-objective_optimization_problems&quot;&gt;linear scalarization&lt;/a&gt; of an optimization problem with two objective functions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I don't know this field very well, but I expect their complexity has been studied.&lt;/p&gt;&#xA;" OwnerUserId="1677" LastActivityDate="2015-07-24T11:05:04.313" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32075" PostTypeId="1" CreationDate="2015-07-24T15:52:48.563" Score="1" ViewCount="37" Body="&lt;p&gt;I want to pose a problem as maximisation of MAP probability $P(X,Y|Z)$ and I know which terms I want to have in the objective function. However, I am unable to combine these terms to form a joint probability distribution $P(X,Y,Z)\sim P(X,Y|Z)$. More specifically, $X=x_1...x_t$ and $Y=y_1...y_t$ are hidden variables and $Z=z_1...z_t$ are observations and I want the following terms to appear in the objective function:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$P(z_t|x_t,y_t)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$P(y_t|y_{t-1})$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$P(x_t|x_{t-1},y_{t-1})$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$P(x_t,y_t)$ or $P(y_t|x_t)$ or $P(x_t|y_t)$ (as $P(x_t)$ and $P(y_t)$ are uniform)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;How does one come about deriving the Bayesian network that would describe a probability distribution with these terms? Is there possibly a BN that is specifically suited for this scenario? How should one in general formulate such problems?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thank you.&lt;/p&gt;&#xA;" OwnerUserId="26666" LastActivityDate="2015-07-24T15:52:48.563" Title="How to find a proper probabilistic formulation given the objective function terms?" Tags="&lt;machine-learning&gt;&lt;probabilistic-computation&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32076" PostTypeId="2" ParentId="32071" CreationDate="2015-07-24T17:45:45.283" Score="19" Body="&lt;p&gt;The short answer is yes, MLTT can reasonably be equated with CIC without impredicative &lt;code&gt;Prop&lt;/code&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The main technical issue is that there are dozens of variants when one talks about Martin-Löf Type Theory and, perhaps more surprisingly, when one talks about CIC. For example, taking the version of CIC defined in Benjamin Werner's thesis, it doesn't even make sense to remove &lt;code&gt;Prop&lt;/code&gt;, as one doesn't have either &lt;code&gt;Set&lt;/code&gt; or universes of &lt;code&gt;Type&lt;/code&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The main variations one can consider in either of these theories are:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Universes&lt;/strong&gt;: how many, and how are they defined (Palmgren, &lt;em&gt;On Universes in Type Theory&lt;/em&gt;, discusses many inequivalent variations), and whether or not &lt;em&gt;universe polymorphism&lt;/em&gt; is admitted.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Which inductive types/families&lt;/strong&gt;: Agda admits Inductive-Recursive types, but there are many more mundane variations depending on how &quot;large&quot; the types in the constructors and eliminators are allowed, handling parameters vs indices, etc.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Injectivity of type constructors&lt;/strong&gt;. This leads to a system inconsistent with EM in Agda. Of course Epigram has a more extreme &quot;Observational Type Theory&quot;, but this can be considered something different altogether.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Axiom K&lt;/strong&gt;: this comes for free with certain versions of dependent pattern matching.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Intentional vs Extensional&lt;/strong&gt;: this is a huge difference, where essentially a new conversion rule is added in the extensional systems&#xA;$$ \frac{\Gamma\vdash t:\mathrm{Id}_{\mathrm{Type}}\ A\ B }{\Gamma\vdash A\ =\ B} $$&#xA;Which makes type-checking undecidable (but much more powerful!). Martin-Löf himself seems to have considered both types of systems.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The presence of &lt;strong&gt;coinductive types&lt;/strong&gt; and associated elimination principles.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;All of the above variations (except OTT) have been considered in the literature and associated with the name &quot;Martin-Löf Type Theory&quot; or &quot;Calculus of Inductive Constructions&quot;, mostly because of their association with the Agda and Coq systems, respectively.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So the long answer is that there is no consensus about what the exact definition of either of these systems is.&lt;/p&gt;&#xA;" OwnerUserId="3984" LastEditorUserId="6426" LastEditDate="2017-02-17T08:27:45.493" LastActivityDate="2017-02-17T08:27:45.493" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32077" PostTypeId="1" CreationDate="2015-07-24T22:16:20.603" Score="19" ViewCount="959" Body="&lt;p&gt;In his 1995 paper &lt;a href=&quot;http://arxiv.org/abs/quant-ph/9508027&quot; rel=&quot;noreferrer&quot;&gt;Polynomial-Time Algorithms for Prime Factorization and Discrete Logarithms on a Quantum Computer&lt;/a&gt;, Peter W. Shor discusses an improvement on the order-finding part of his factorization algorithm. The standard algorithm outputs $r'$, a divisor of the order $r$ of $x$ modulo $N$. Instead of checking if $r'=r$ by checking if $x^{r'}\equiv 1 \mod N$, the improvement is the following : &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;[F]or a candidate $r$ one should consider not&#xA;  only $r ′$ but also its small multiples $2r ′ , 3r ′ , \dots$ , to see if these are the actual order of $x$. [... This] technique will reduce the expected number of&#xA;  trials for the hardest $n$ from $O(\log \log n)$ to $O(1)$ if the first ($\log n)^{1+\epsilon}$ multiples of $r ′$ are&#xA;  considered [Odylzko 1995].&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The reference to [Odylzko 1995] is a “personal communication”, but I was not present when Peter Shor and Andrew Odlyzko discussed this... I perfectly understand why it is an improvement, but I don't know how to show the number of trials is reduced to $O(1)$. Do you know any proof of this?&lt;/p&gt;&#xA;" OwnerUserId="2368" LastEditorUserId="2368" LastEditDate="2015-07-31T15:23:12.650" LastActivityDate="2015-07-31T20:13:30.297" Title="Why does Odlyzko improvement of Shor's Algorithm reduces the number of trials to $O(1)$" Tags="&lt;quantum-computing&gt;&lt;nt.number-theory&gt;&lt;factoring&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="32078" PostTypeId="1" CreationDate="2015-07-24T22:56:08.957" Score="4" ViewCount="199" Body="&lt;p&gt;New to this forum, so please let me know if my question format is incorrect.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For linear KP with $n$ items and $c$ capacity, dynamic programming can find exact solutions in $\mathcal{O}(nc)$. I have seen some results extending dynamic programming to approximate solutions to the QKP &lt;a href=&quot;http://www.optimization-online.org/DB_FILE/2012/03/3392.pdf&quot; rel=&quot;noreferrer&quot;&gt;link&lt;/a&gt; giving a lower bound within 0.05% of true solutions in $\mathcal{O}(n^2c)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does there exist an algorithm giving at least as accurate results in at least as good time?&lt;/p&gt;&#xA;" OwnerUserId="34905" LastActivityDate="2015-07-24T22:56:08.957" Title="What is the current &quot;state-of-the-art&quot; solver for quadratic knapsack problems?" Tags="&lt;np-hardness&gt;&lt;dynamic-programming&gt;&lt;packing&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="32079" PostTypeId="1" CreationDate="2015-07-25T01:36:48.913" Score="1" ViewCount="196" Body="&lt;p&gt;Let $[d]$ be a universe and $S_1, \dots, S_m$ be an $(\ell, a)$-design over $[d]$ which means that: &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;$\forall i \in [m], S_i \subseteq [d], |S_i|=\ell$.&lt;/li&gt;&#xA;&lt;li&gt;$\forall i \neq j \in [m]$, $|S_i \cap S_j| \le a$.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;For example, it is known that such designs exist for $a = \log m$, $\ell = C\log m$ and $d = O(C^2\log m)$. I am interested (in general) in such kind of settings of parameters: where you can generate a large number ($m$ in total) of small sets (each of size $O(\log m)$) over a small universe ($O(\log m)$ items in total), and with a small pairwise intersection ($\log m$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question concerns with the behavior of intersections. Specifically, fix any $S_t$ in the system to consider. Consider the sets before it, $S_1,\dots,S_{t-1}$. Start with $S_1$ and find the maximal $i$ such that $|\left(\bigcup_{j=1}^i S_j\right) \cap S_t| \le a$. Let $S_1,\dots,S_i$ be the first chunk you find. Then you repeat this process starting at $S_{i+1}$ (find the second chunk). Let the total number of chunks you identify this way be $k$ (so $k$ is in general a function of $t$ and the set system).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, do we know anything about upper bounding $k$? (over all choices of $t$, say). The intuition is that, at least on average, it should not be the case that $k$ can always reach ${\ell \choose a}$. Do we know anything about constructing an $(\ell, a)$-design (with the above settings of parameters in general) so that one can bound $k$ in the worst-case?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks in advance for any help!&lt;/p&gt;&#xA;" OwnerUserId="875" LastEditorUserId="875" LastEditDate="2015-07-25T13:42:46.707" LastActivityDate="2015-07-25T13:42:46.707" Title="A question about combinatorial design in Nisan-Wigderson Generator" Tags="&lt;pseudorandomness&gt;&lt;pseudorandom-generators&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32080" PostTypeId="1" CreationDate="2015-07-25T07:03:22.200" Score="2" ViewCount="102" Body="&lt;p&gt;Within &lt;a href=&quot;http://arxiv.org/abs/0708.2584&quot; rel=&quot;nofollow&quot;&gt;Claw Finding Algorithms Using Quantum Walk&lt;/a&gt; there is the subroutine $claw_{detect}$ described. As in above paper:&#xA;Let $J_f(N, l)$ and $J_G(M, m)$ be Johnson graphs. Let $F$ and $G$ be vertices of $J_F$ and $J_g$. Let $(F, G)$ be a vertex of the product of the Johnsons graphs. Two vertices in the graph product are conected if: $F$ is adjacent with $F'$ and if $G$ is adjacent with $G'$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On page 5 the superposition created in order to apply Szegedy's framework is described as:&#xA;$|\psi_0\rangle = \frac{1}{\sqrt{\binom{N}{l}\binom{M}{l}l (N-l) m(M-m)}} \otimes |F, G, L_{F, G} \rangle | F', G', L_{F', G'} \rangle$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Taken the nominator of the Amplitude: That would be all possibilities to connect any two vertices in the graph $J_f \times J_g$. The algorithm processes connected vertices in each ''step''.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question:&lt;/strong&gt;&#xA;Is the above assumption of the nominator coorect? If so, why is it not sufficient to create a superposition over all connected vertices in the graph $J_f \times J_g$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I do see that on a quantum level the ''few more connected vertices'' do not have much of an impact on the running time, but does it have some kind of impact on the algorithm?&lt;/p&gt;&#xA;" OwnerUserId="34774" LastEditorUserId="34774" LastEditDate="2015-08-01T13:29:15.317" LastActivityDate="2015-08-01T13:29:15.317" Title="Claw finding using quantum walk: superposition for Szegedy's framework" Tags="&lt;ds.algorithms&gt;&lt;graph-algorithms&gt;&lt;quantum-computing&gt;&lt;cr.crypto-security&gt;&lt;quantum-walk&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32083" PostTypeId="1" CreationDate="2015-07-25T16:25:39.973" Score="7" ViewCount="195" Body="&lt;p&gt;A class of lambda terms can be evaluated using Lamping's abstract algorithm - that is, converting them to interaction nets and applying a set of rules. In order to get the result, you have to read back lambda terms from normalized interaction nets. For example, this net:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://i.stack.imgur.com/ArE3C.png&quot; rel=&quot;noreferrer&quot;&gt;&lt;img src=&quot;https://i.stack.imgur.com/ArE3C.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Reads back as &lt;code&gt;λλ(1 0)&lt;/code&gt;, that is, the church-number 1. This net:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://i.stack.imgur.com/NFPHb.png&quot; rel=&quot;noreferrer&quot;&gt;&lt;img src=&quot;https://i.stack.imgur.com/NFPHb.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Reads back as &lt;code&gt;λλ(1 (1 (1 (1 0))))&lt;/code&gt;, the church-number 4. This net:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://i.stack.imgur.com/IPw2e.png&quot; rel=&quot;noreferrer&quot;&gt;&lt;img src=&quot;https://i.stack.imgur.com/IPw2e.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Reads back as &lt;code&gt;λλ((1 λλ(1 0)) ((1 λλ(1 (1 0))) ((1 λλ(1 (1 (1 0)))) 0)))&lt;/code&gt;, the church list of the numbres 1, 2 and 3. The readback procedure is trivial, but it uses the tag annotations: &lt;code&gt;λ&lt;/code&gt; for a lambda node, &lt;code&gt;@&lt;/code&gt; for an application, &lt;code&gt;R&lt;/code&gt; for root, &lt;code&gt;e&lt;/code&gt; for garbage, &lt;code&gt;D&lt;/code&gt; for fan (duplication). Now, suppose that we erased those tags:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://i.stack.imgur.com/Z6scU.png&quot; rel=&quot;noreferrer&quot;&gt;&lt;img src=&quot;https://i.stack.imgur.com/Z6scU.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/a&gt;&#xA;&lt;a href=&quot;https://i.stack.imgur.com/qwpwA.png&quot; rel=&quot;noreferrer&quot;&gt;&lt;img src=&quot;https://i.stack.imgur.com/qwpwA.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/a&gt;&#xA;&lt;a href=&quot;https://i.stack.imgur.com/5naLt.png&quot; rel=&quot;noreferrer&quot;&gt;&lt;img src=&quot;https://i.stack.imgur.com/5naLt.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is it possible, from the configuration of the net alone, to infer the tags and thus readback the same lambda term without them?&lt;/p&gt;&#xA;" OwnerUserId="17388" LastEditorUserId="17388" LastEditDate="2015-07-25T16:48:13.110" LastActivityDate="2017-06-26T02:50:11.033" Title="Is it possible to unambiguously read back λ terms from interaction nets without node types?" Tags="&lt;ds.algorithms&gt;&lt;lambda-calculus&gt;&lt;functional-programming&gt;&lt;interaction-nets&gt;" AnswerCount="1" CommentCount="6" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32084" PostTypeId="1" CreationDate="2015-07-25T17:30:41.900" Score="4" ViewCount="90" Body="&lt;p&gt;&lt;strong&gt;Disclaimer:&lt;/strong&gt; This is my first question on cstheory.stackexchange.com so please be forgiving.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have a list of &lt;em&gt;M&lt;/em&gt; (&lt;em&gt;M&lt;/em&gt; is big, more than 1 million elements) vectors of integers. Each vector can contain &lt;em&gt;0-N&lt;/em&gt; sorted numbers from range &lt;em&gt;[0,N-1]&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now I have a query vector &lt;em&gt;Q&lt;/em&gt;, that - similarly to vectors in the list - can contain &lt;em&gt;0-N&lt;/em&gt; sorted numbers from range &lt;em&gt;[0,N-1]&lt;/em&gt;. I have to find time efficient way of finding all vectors in the table that have &lt;a href=&quot;https://en.wikipedia.org/wiki/Jaccard_index&quot; rel=&quot;nofollow&quot;&gt;Jaccard similarity coefficient&lt;/a&gt; (&lt;em&gt;T&lt;/em&gt;) of &lt;em&gt;k&lt;/em&gt; or more.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In this particular case, Jaccard similarity coefficient between two vectors &lt;em&gt;a&lt;/em&gt; and &lt;em&gt;b&lt;/em&gt; is defined as:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;Tqb = Nqb / (Nq + Nb - Nqb)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;where &lt;em&gt;Nq&lt;/em&gt; and &lt;em&gt;Nb&lt;/em&gt; are lengths of vectors and &lt;em&gt;Nqb&lt;/em&gt; is the number of common elements.&#xA;The naive solution is to compute &lt;em&gt;Tqb&lt;/em&gt; between &lt;em&gt;Q&lt;/em&gt; and every vector from the table and discard those for which &lt;em&gt;Tqb &amp;lt; k&lt;/em&gt;. A little bit better solution is to precompute vectors lengths and consider only vectors of length &lt;em&gt;L&lt;/em&gt; such that:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;T * Nq &amp;lt;= L &amp;lt;= Nq / T&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;where &lt;em&gt;Nq&lt;/em&gt; is the length of the query vector &lt;em&gt;Q&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another trick is to notice that out of any&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;Nq − T * Nq + 1&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;elements chosen at random from the query vector &lt;em&gt;Q&lt;/em&gt;, at least one must be present in any other vector to achieve a similarity above the threshold &lt;em&gt;k&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;After applying those two constraints the algorithm is still too slow. The lower the threshold &lt;em&gt;k&lt;/em&gt; is, the more vectors pass constraint filtering and the longer it takes to compute coefficient. But unfortunately 'longer' means here &lt;em&gt;exponentially&lt;/em&gt; longer not &lt;em&gt;linearly&lt;/em&gt; longer, probably due to exponentially larger number of vectors passing filtering phase. Ideally, I would like to achieve constant time of finding similar vectors, regardless of &lt;em&gt;k&lt;/em&gt; or &lt;em&gt;Q&lt;/em&gt;. I'm not sure if this is possible, thought.&lt;/p&gt;&#xA;" OwnerUserId="34909" LastEditorUserId="34909" LastEditDate="2015-07-25T19:06:59.207" LastActivityDate="2015-07-25T21:08:10.050" Title="Approximate matching in table of integer vectors" Tags="&lt;approximation-algorithms&gt;&lt;optimization&gt;&lt;time-complexity&gt;&lt;matching&gt;&lt;exp-time-algorithms&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32086" PostTypeId="2" ParentId="32084" CreationDate="2015-07-25T21:08:10.050" Score="3" Body="&lt;p&gt;You are asking for the near neighbor problem for the Jaccard index. If you are ok with some approximation and randomization, I think there exist subquadratic algorithms based on Locality Sensitive Hashing (LSH). LSH schemes based on MinWise independent hashing are known for the Jaccard index: see the &lt;a href=&quot;http://web.mit.edu/andoni/www/papers/CACM-article.ps&quot; rel=&quot;nofollow&quot;&gt;LSH survey&lt;/a&gt; by Andoni and Indyk and references therein, plus the &lt;a href=&quot;http://www.mit.edu/~andoni/LSH/&quot; rel=&quot;nofollow&quot;&gt;LSH webpage&lt;/a&gt; (which has some code, although I am not sure if there is any for Jaccard specifically). Also see the original &lt;a href=&quot;http://www.cs.princeton.edu/courses/archive/spring04/cos598B/bib/BroderCFM-minwise.pdf&quot; rel=&quot;nofollow&quot;&gt;MinWise hashing paper&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="4896" LastActivityDate="2015-07-25T21:08:10.050" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32087" PostTypeId="1" AcceptedAnswerId="32099" CreationDate="2015-07-25T22:49:24.920" Score="2" ViewCount="143" Body="&lt;p&gt;Are there any factorization algorithms that run well on numbers $N = pq$ where $p,q$ are prime and $p = 2^b - k_p, q = 2^b - k_q$ for very small $k_p,k_q$? What about $p = 2^b + k_p, q = 2^b + k_q$ for very small $k_p,k_q$?&lt;/p&gt;&#xA;" OwnerUserId="25335" LastEditorUserId="25335" LastEditDate="2015-07-25T23:10:10.577" LastActivityDate="2015-07-28T04:27:55.697" Title="Factoring semiprimes whose factors very close to a power of two" Tags="&lt;cr.crypto-security&gt;&lt;factoring&gt;" AnswerCount="2" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32088" PostTypeId="2" ParentId="32087" CreationDate="2015-07-26T01:51:32.767" Score="1" Body="&lt;p&gt;I will assume that when you say that a natural number &lt;em&gt;n&lt;/em&gt; is &quot;very small,&quot; that you mean that for some constant &lt;em&gt;j&lt;/em&gt;, &lt;em&gt;n&lt;/em&gt; &amp;lt; &lt;em&gt;j&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given &lt;em&gt;n&lt;/em&gt; and a promise that its prime factors &lt;em&gt;p&lt;/em&gt;,&lt;em&gt;q&lt;/em&gt;, are both within &lt;em&gt;j&lt;/em&gt; of 2^&lt;em&gt;b&lt;/em&gt; for some natural number &lt;em&gt;b&lt;/em&gt; and some natural constant &lt;em&gt;j&lt;/em&gt;, it's not hard to construct a brute-force algorithm that checks every possible value of &lt;em&gt;p&lt;/em&gt; and &lt;em&gt;q&lt;/em&gt; in time polynomial in the size of &lt;em&gt;n.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here's a quick example:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let &lt;em&gt;j&lt;/em&gt; = 20, and let &lt;em&gt;n&lt;/em&gt; = 1018081.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We are guaranteed that the prime factors of &lt;em&gt;n&lt;/em&gt; are within 20 of a power of 2.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So we need only consider every &lt;em&gt;m&lt;/em&gt; s.t. &lt;em&gt;m&lt;/em&gt; +/- 20 &amp;lt;= (2^&lt;em&gt;b&lt;/em&gt;) for some &lt;em&gt;b&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;These values include:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;                           1, 2, 3, 4,   ... ,    21&#xA;                        1, 2, 3, 4, 5,   ... ,    22&#xA;                  1, 2, 3, 4, 5, 6, 7,   ... ,    24&#xA;      1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, ... ,    28&#xA;                          ...&#xA;     236, ... , 254, 255, 256, 257, 258, ... ,   276&#xA;     492, ... , 510, 511, 512, 513, 514, ... ,   532&#xA; 1004, ... , 1022, 1023, 1024, 1025, 1026, ..., 1044&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Because we know that 1024 * 1024 &gt; 1018081, it's clear that we don't need to go beyond 1024 in our list.  This is because we are limited to only two prime factors close to a power of 2.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It ought to be clear that given an integer &lt;em&gt;n&lt;/em&gt;, the number of values that need to be tested as prime factors of &lt;em&gt;n&lt;/em&gt; is roughly:  (2 &lt;em&gt;j&lt;/em&gt; + 1)*(ceil(ln(&lt;em&gt;n&lt;/em&gt;)/ln(2))).  This means that the &quot;naive&quot; algorithm is good enough in this case.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Incidentally, the prime factors of 1018081 are 1009 and 1009, so you might want to try a harder example if you decide to code it.)&lt;/p&gt;&#xA;" OwnerUserId="1338" LastActivityDate="2015-07-26T01:51:32.767" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="32089" PostTypeId="2" ParentId="32072" CreationDate="2015-07-26T05:41:52.883" Score="7" Body="&lt;p&gt;I doubt you can do better than $O(n^{3/2})$. Here is a lower bound, using old arguments by Spencer and Erdos, that shows that the discrepancy is $\Omega(n^{3/2})$ if you expand the set system to cuts of induced subgraphs. &lt;em&gt;See the edit for a lower bound for cuts as well, suggested by Domotor.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $V$ be the vertex set of the complete graph, and fix a function $f:{V \choose 2} \to \{-1, 1\}$. Split $V$ into $L$ and $R$, each of equal size. Let $S$ be a random subset of $L$. Then, for any $v \in R$, &#xA;$$&#xA;\mathbb{P}\left(\Bigl|\sum_{u \in S}{f(u, v)}\Bigr| \geq c\sqrt{n}\right) \ge 1/4,&#xA;$$&#xA;for a suitable constant $c$. (This can be proved using the Central Limit Theorem or a 4-th moment argument.) Letting $T_0$ be the subset of all $v \in R$ satisfying $\Bigl|\sum_{u \in S}{f(u, v)}\Bigr| \geq c\sqrt{n}$, we have that $\mathbb{E}|T_0| \geq n/8$. So there exists some choice of $S$ such that $T_0$ has size at least $n/8$: fix such an $S$ and pick $T = \{v \in R: \sum_{u \in S}{f(u, v)} \geq c\sqrt{n}\}$ or $T = \{v \in R: \sum_{u \in S}{f(u, v)}\leq -c\sqrt{n}\}$, whichever is larger. Clearly &#xA;$$&#xA;\Bigl|\sum_{u \in S, v \in T}{f(u,v)}\Bigr| \ge \frac{cn^{3/2}}{16}.&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT&lt;/strong&gt;: As Domotor pointed out in a comment the above suffices for a $\Omega(n^{3/2})$ lower bound on the discrepancy of cuts as well. Let $S$ and $T$ be the sets above, and $U = V \setminus (S \cup T)$. Define $f(X,Y) = \sum_{x \in X, y \in Y}{f(x,y)}$ for any two subsets $X,Y\subseteq V$. Assume without loss of generality that $f(S,T) \ge c'n^{3/2}$ for $c' = c/16$ (the case $f(S,T) \le -c'n^{3/2}$ is analogous). Then at least one of the cases below holds:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$f(S,U) \ge -c'n^{3/2}/2$ and $f(S, T \cup U) \ge c'n^{3/2}/2$; &lt;/li&gt;&#xA;&lt;li&gt;$f(T,U) \ge -c'n^{3/2}/2$ and $f(S\cup U, T) \ge c'n^{3/2}/2$;&lt;/li&gt;&#xA;&lt;li&gt;$f(S \cup T, U) = f(S, U) + f(T,U) &amp;lt; -c'n^{3/2}$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;In each case the discrepancy of some cut is $\Omega(n^{3/2})$.&lt;/p&gt;&#xA;" OwnerUserId="4896" LastEditorUserId="4896" LastEditDate="2015-07-26T21:03:11.877" LastActivityDate="2015-07-26T21:03:11.877" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="32091" PostTypeId="1" CreationDate="2015-07-26T15:21:09.667" Score="2" ViewCount="303" Body="&lt;p&gt;I am currently an undergraduate heading into my senior year. I've taken some theory/math classes (algorithms, and set theory/topology) in the past year and am taking quite a few more this year (more algorithms, abstract algebra, graph theory). My theory classes were the first classes in college I truly enjoyed. I definitely have an interest/passion for more theoretical and mathematical areas of computer science. I am pretty set on going to grad school/getting a PhD and if had the option, I would want to do research in an algorithms/theory group. However, I am wondering how can I assess if I have what it takes to succeed. Success in the case equates to getting a PhD --not necessarily at the most prestigious university -- but just making my contribution (as tiny as it may be) to the field. The reason I am asking this is because I am not some whiz kid who aces their classes with no sweat. I don't struggle by any means, but considering that algorithms/theory is a very intellectually challenging field, do you think hard work and passion for a subject can allow me to achieve my goal? Essentially, I don't want to put limitations on myself and regret not pursuing something I truly enjoy. However, at the same time, I want to be realistic with myself. Would love to hear your thoughts/experiences with this subject matter. &lt;/p&gt;&#xA;" OwnerUserId="34921" LastActivityDate="2015-07-28T01:36:59.513" Title="General question about pursuing TCS" Tags="&lt;career&gt;" AnswerCount="1" CommentCount="6" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32092" PostTypeId="1" AcceptedAnswerId="32095" CreationDate="2015-07-26T16:53:32.293" Score="4" ViewCount="250" Body="&lt;p&gt;UniqueSAT ={$\phi$| $\phi$ has unique satisfying assignment } represents an important class of computational problems. Unique SAT is CoNP-hard and $US$-complete.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What is the density of UniqueSAT?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I know only weak evidence to support that it can not be sparse: All known CoNP-complete sets are dense and UniqueSAT is CoNP-hard.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here, density $D$ of a set $S$ refers to the number of strings of length less than $n$ in the language. A set $S$ is exponentially dense if its density is $D=\Omega(2^{n^\epsilon})$ for some $\epsilon \gt 0$ and for infinitely many $n$ and sparse if $D$= $O(poly(n))$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Motivation:&lt;/strong&gt; I would like to link the existence of Karp reduction from SAT to UniqueSAT to the existence of &quot;large gap&quot; between the density of the two problems. &lt;a href=&quot;http://www.cs.umd.edu/~jkatz/complexity/f05/lecture6.pdf&quot; rel=&quot;nofollow&quot;&gt;Mahaney's Theorem&lt;/a&gt; gives evidence that Karp reduction can not exist between two $NP$ sets with densities separated by &quot;large gap&quot;. &lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2015-07-28T13:05:45.437" LastActivityDate="2015-07-28T14:26:18.733" Title="Evidence that UniqueSat is dense" Tags="&lt;cc.complexity-theory&gt;&lt;unique-solution&gt;" AnswerCount="1" CommentCount="6" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="32093" PostTypeId="1" AcceptedAnswerId="32098" CreationDate="2015-07-27T11:53:04.523" Score="2" ViewCount="147" Body="&lt;p&gt;Problem Description:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let k and n be some natural numbers. We are given a complete bipartite graph G where each side of G has n vertices. G is edge-labeled with labels being subsets of {1,...,k}. We are looking for a perfect matching G' such that the union of sets labeling edges of G' equals {1,...,k}.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem is clearly NP-hard in k, but is it also NP-hard in n? I.e. can one achieve an algorithm that is polynomial in n while possibly being exponential in k (maybe via adaptation of the Dynamic Programming algorithm for set cover..)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Many thanks,&#xA;Amir&lt;/p&gt;&#xA;" OwnerUserId="34933" LastActivityDate="2015-07-28T16:28:51.363" Title="Perfect Matching with ``set-over-like&quot; constraints?" Tags="&lt;graph-theory&gt;&lt;matching&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32095" PostTypeId="2" ParentId="32092" CreationDate="2015-07-27T14:47:59.497" Score="4" Body="&lt;p&gt;As far as I can tell, UniqueSAT is exponentially dense, in the sense that it contains $2^{\Omega(n)}$ instances of size $n$. (This is a stronger requirement than $2^{n^\varepsilon}$ for infinitely many $n$.)&#xA;&lt;em&gt;The following argument works even for the revised definition of &quot;dense&quot; introduced in version 5 of the question, where all instances of size up to $n$ are taken into account.  Note that $\sum_{i=0}^n 2^i = 2^{n+1} - 1$.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider formulas in CNF with $v$ clauses, each clause containing exactly one literal, such that each variable occurs precisely once in the formula.&#xA;An example of such a &quot;complete 1-SAT&quot; formula for $v=3$ is $x_1\land x_2 \land \lnot x_3$, completely specifying the solution $x_1 = 1, x_2 = 1, x_3 = 0$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We establish an exponential lower bound for the number of complete 1-SAT formulas of size $n$.&#xA;Logarithms are base 2.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Complete 1-SAT formulas each have precisely one solution, and with $v$ variables such a formula has size $v(1+\log v)$.&#xA;There are also $2^v.v!$ distinct complete 1-SAT formulas over $v$ variables.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We then just need to ensure that $v$ is as large as possible in terms of the instance size $n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $v = n/(\log n)^\delta$ for some $\delta = \delta(n)$.&#xA;For the size of complete 1-SAT formulas with $v$ variables to be precisely $n$ bits, we require that&#xA;$n = v(1+\log v)&#xA;= (n/(\log n)^\delta)(1+\log n - \delta\log\log n)$&#xA;so $1+\log n - \delta\log\log n = (\log n)^\delta$.&#xA;We can always choose $\delta$ appropriately to satisfy this expression; note that $1/2 &amp;lt; \delta &amp;lt; 1$ for large enough $n$, with $\delta \to 1$ as $n \to \infty$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This already shows that there are at least $2^{n/\log n}$ such instances, so UniqueSAT is not sparse.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Moreover, the high order term of the exponent of $2^v.v!$ is then $n[(u/(1+u))-(\log e - 1)]$, where $u = \log n - \delta \log\log n$ and $\log e - 1 \approx 0.4427$.&#xA;(For instance, this follows from Robbins' bounds for the factorial function, $\log n! = n\log n - n\log e + 0.5\log n +r_n\log e + 0.5(1+\log \pi)$, where $1/(12n+1) &amp;lt; r_n &amp;lt; 1/(12n)$ for $n \ge 1$.)&#xA;Now $u/(1+u) &amp;gt; 1/2$ for large enough $n$, so there are $2^{\Omega(n)}$ complete 1-SAT instances, and hence $2^{\Omega(n)}$ UniqueSAT instances.&lt;/p&gt;&#xA;" OwnerUserId="109" LastEditorUserId="109" LastEditDate="2015-07-28T14:26:18.733" LastActivityDate="2015-07-28T14:26:18.733" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32096" PostTypeId="2" ParentId="32091" CreationDate="2015-07-27T17:02:41.233" Score="5" Body="&lt;p&gt;If TCS is something you enjoy, and you want to pursue a PhD, I wouldn't let the fear of failure stop you.  You can also mitigate some of the risk by enrolling in a program that awards you a Master's after a year or two -- that way, if you realize research isn't for you, you won't come out &quot;empty-handed&quot;.  And if you don't succeed in landing a research job afterwards, as long as you enjoy grad school, it's not a big sunk cost.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To answer your question about &quot;having what it takes&quot; more directly -- I think you need to &lt;em&gt;both&lt;/em&gt; have talent and put in the hard work to succeed.  My feeling is that most people who fail to get a PhD, however, fail not because they were not talented enough, but because they weren't disciplined enough.&lt;/p&gt;&#xA;" OwnerUserId="123" LastEditorUserId="123" LastEditDate="2015-07-28T01:36:59.513" LastActivityDate="2015-07-28T01:36:59.513" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32098" PostTypeId="2" ParentId="32093" CreationDate="2015-07-27T22:41:23.780" Score="6" Body="&lt;p&gt;The problem can be solved in $O(n^k \, \text{poly}(n))$ time, so it's not &quot;NP-hard in $n$&quot; unless P=NP.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here's one simple algorithm.  Enumerate all subsets $E'$ of $E$ such that $|E'|\le k$.  Check whether the union of labels of $E'$ is equal to $\{1,2,\dots,k\}$; if not, move on to the next candidate for $E'$.  Then, check whether there's a perfect matching of $G$ that includes all edges of $E'$.  This can be done as follows: check that no pair of edges in $E'$ meets in a common vertex; let $V^*$ be the set of vertices that don't touch any edge of $E'$, and $E^*$ the set of edges both of whose endpoints are in $V^*$; then check whether $G^*=(V^*,E^*)$ has a perfect matching.  If such a perfect matching exists, you have found a valid solution to your original problem.  There are $O(n^k)$ possible subsets $E'$, so the entire procedure runs in $O(n^k \, \text{poly}(n))$ time.  Correctness follows because if there is a set of edges whose labels have union equal to $\{1,2,\dots,k\}$, then there is a set of size $\le k$ with this property.&lt;/p&gt;&#xA;" OwnerUserId="5038" LastEditorUserId="5038" LastEditDate="2015-07-28T16:28:51.363" LastActivityDate="2015-07-28T16:28:51.363" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="32099" PostTypeId="2" ParentId="32087" CreationDate="2015-07-27T22:45:00.157" Score="3" Body="&lt;p&gt;If $0 \le k_p &amp;lt; 2^{b/2}$ and $0 \le k_q &amp;lt; 2^{b/2}$, it's easy to factor such numbers.  Consider:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$N = pq = (2^b-k_p)(2^b-k_q) = 2^{2b} -(k_p+k_q) 2^b + k_p k_q.$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Under the stated conditions, you can read off the values of $k_p k_q$ and $k_p+k_q$ from the binary representation of $N$, since $0 \le k_p k_q &amp;lt; 2^b$ and $0 \le k_p+k_q &amp;lt; 2^b$.  In particular, $k_p k_q$ can be obtained as $N \bmod 2^b$, and then you can compute $k_p + k_q$ as $(2^{2b} - N + k_p k_q)/2^b$.  Once you know those values, you can solve for $k_p,k_q$ by solving a quadratic equation (you have a system of 2 equations in 2 unknowns; simple algebra can be used to recover the value of the unknowns).  Once $k_p,k_q$ are known, the factorization of $N$ is immediately revealed.&lt;/p&gt;&#xA;" OwnerUserId="5038" LastEditorUserId="5038" LastEditDate="2015-07-28T04:27:55.697" LastActivityDate="2015-07-28T04:27:55.697" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="32102" PostTypeId="1" CreationDate="2015-07-28T18:00:53.667" Score="0" ViewCount="57" Body="&lt;p&gt;From &lt;a href=&quot;http://www.cs.tau.ac.il/~iftachh/papers/AccessibleEntropy/AccessibleEntropy_full.pdf&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;The notion of pseudoentropy is only useful, however, as a lower bound on the computational entropy in a distribution. Indeed, it can be shown that every distribution on $\{0,1\}^n$ is computationally indistinguishable from a distribution of entropy at most $poly (\log n)$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;How is that any distribution on $n$-cube can be computationally indistinguishable from one with entropy at most $poly(\log n)$?&lt;/p&gt;&#xA;" OwnerUserId="34954" LastActivityDate="2015-07-28T18:49:04.420" Title="Upper bound on the pseudoentropy of any distribution" Tags="&lt;pseudorandomness&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32103" PostTypeId="2" ParentId="32102" CreationDate="2015-07-28T18:49:04.420" Score="2" Body="&lt;p&gt;Take any distribution $D$ on $\{0,1\}^n$. Sample $k(n)$ points $x_1, \cdots, x_{k(n)}$ independently from $D$ and let $\tilde D$ be the uniform distribution that gives a random $x_i$. Then, if $k(n)$ is super-polynomially large e.g. $k=n^{\log n}$, you cannot distinguish $D$ and $\tilde D$ using only $\mathrm{poly}(n)$ samples. Hence $D$ is computationally indistinguishable from a distribution $\tilde D$ with entropy $\mathrm{poly}\log(n)$.&lt;/p&gt;&#xA;" OwnerUserId="2022" LastActivityDate="2015-07-28T18:49:04.420" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32104" PostTypeId="1" CreationDate="2015-07-28T20:13:44.853" Score="0" ViewCount="161" Body="&lt;p&gt;In our research, we faced the following problem optimization problem:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Input&lt;/strong&gt;: a list of $k$ pairs of positive integers $(n_1,d_1), \ldots, (n_k,d_k)$; &#xA;an integer $m$.&lt;br&gt;&#xA;&lt;strong&gt;Output&lt;/strong&gt;: $P$, a partition of the pairs into $m$ nonempty classes,&#xA;&lt;br&gt;&#xA;such that the following objective function is minimized:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\sum_{C \in P}\left(&#xA;\left(\sum_{i \in C} d_i\hspace{-0.08 in}\right) \cdot&#xA;\left(\sqrt{\frac{ 2\log(4\sum_{i\in C} d_i)}{\sum_{i \in C}n_i}} + &#xA; \sqrt{\frac{  \log(2\sum_{i\in C} d_i)}{\sum_{i \in C}n_i}}\hspace{.04 in}\right)\hspace{-0.04 in}&#xA;\right)$$&#xA;We think that the problem is NP-hard, &#xA;but we have not been able to prove this.&#xA;&lt;br&gt;&#xA;We tried to prove that it is NP-hard by reducing it to 3-Partition, &#xA;but we couldn't.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is this problem NP-hard?&lt;/p&gt;&#xA;" OwnerUserId="34956" LastEditorDisplayName="user6973" LastEditDate="2015-07-30T08:31:08.483" LastActivityDate="2015-07-30T08:31:08.483" Title="NP-hardness of minimizing sum of complicated objective function" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;&lt;optimization&gt;&lt;partition-problem&gt;" AnswerCount="0" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="32105" PostTypeId="2" ParentId="20944" CreationDate="2015-07-29T01:54:28.560" Score="2" Body="&lt;p&gt;The algorithm described by Frederickson and Johnson in 1982 considers that all sets have the same size. They also described in 1980 an optimal solution that takes advantage of the different sizes of the sorted sets. The complexity of this algorithm is within $O(k + \sum^k_{i=1}\log{n_i})$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Reference&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Greg N. Frederickson and Donald B. Johnson. 1980. Generalized selection and ranking (Preliminary Version). In Proceedings of the twelfth annual ACM symposium on Theory of computing (STOC '80). ACM, New York, NY, USA, 420-428. DOI=10.1145/800141.804690 &lt;a href=&quot;http://doi.acm.org/10.1145/800141.804690&quot; rel=&quot;nofollow&quot;&gt;http://doi.acm.org/10.1145/800141.804690&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="34959" LastActivityDate="2015-07-29T01:54:28.560" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32106" PostTypeId="1" CreationDate="2015-07-29T04:36:49.767" Score="6" ViewCount="89" Body="&lt;p&gt;Are there any references that address the following (open?) questions:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) Is there an algorithm that 4-colors any planar graph of maximal degree at most 5 in linear time?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) What is the largest number d for which there exist an algorithm that 4-colors any planar graph of maximal degree at most d in linear time?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;3) Is every planar graph of maximal degree 5 or less 4-choosable?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;4) What is the largest number d for which every planar graph of maximal degree at most d is 4-choosable?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Comments: For (1-2) it is not known whether there exists a linear algorithm for 4-coloring of planar graphs without bounded degrees. Even if there exists a linear algorithm for every degree bound d, it does not imply that one exists when degrees are unbounded. (3) might help to show (1). It is known that the d in (4) exists, since there are non-4-choosable planar graphs.&lt;/p&gt;&#xA;" OwnerUserId="34836" LastActivityDate="2015-07-29T04:36:49.767" Title="How much is known about coloring of planar graphs with degree bounds?" Tags="&lt;planar-graphs&gt;&lt;graph-colouring&gt;" AnswerCount="0" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="32107" PostTypeId="1" CreationDate="2015-07-29T07:50:26.257" Score="2" ViewCount="174" Body="&lt;p&gt;An answer to the traveling salesman (and similar) problems can be easily verified on light lambda-calculi. Also, if I understand correctly, the light lambda-calculi can compute every polinomial-time computable function. That way, if one can prove that the traveling salesman problem can't be encoded on the light lambda-calculi, that would also prove the problem can't be solved in poly-time, which would also prove P!=NP. Is that correct, or am I confusing some concepts?&lt;/p&gt;&#xA;" OwnerUserId="17388" LastActivityDate="2015-07-29T09:00:57.323" Title="Would a proof that the traveling salesman algorithm can't be encoded on LAL also prove P!=NP?" Tags="&lt;cc.complexity-theory&gt;&lt;lo.logic&gt;&lt;lambda-calculus&gt;" AnswerCount="1" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="32108" PostTypeId="2" ParentId="32107" CreationDate="2015-07-29T09:00:57.323" Score="1" Body="&lt;p&gt;Yes, in the same sense that if you prove that a specific NP-complete problem can't be reduced to a specific P-hard problem, then you also prove P!=NP. The only issue is that the reduction for which P-hardness hold must be &quot;compatible&quot; with the allowed encodings.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;From the information you give in the question, I conclude that LAL is P-time hard. The article &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0890540108001119&quot; rel=&quot;nofollow&quot;&gt;&lt;em&gt;Light types for polynomial time computation in lambda calculus&lt;/em&gt; by R. Baillot and K. Terui&lt;/a&gt; confirms this, by showing that DLAL (dual light affine logic) is a &lt;a href=&quot;https://en.wikipedia.org/wiki/P-complete&quot; rel=&quot;nofollow&quot;&gt;P-complete&lt;/a&gt; subset of LAL.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;My own experience is that many P-complete problems look attractive and natural. My favorites are linear programming and Horn-satisfiability, but I guess that DLAL (or LAL) look even more attractive to you. But even so they are attractive, using them for resolving N!=NP is probably futile. More than one reduction of specific NP-complete problems to linear programming has been published, but the reductions turned out to exponentially increase the size of the problem.&lt;/p&gt;&#xA;" OwnerUserId="20340" LastActivityDate="2015-07-29T09:00:57.323" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="32109" PostTypeId="1" CreationDate="2015-07-29T11:23:06.913" Score="2" ViewCount="122" Body="&lt;p&gt;Suppose we have an $n\times n$ matrix $A$ with non-negative integer entries such that $\mathsf{Tr}(A^i)=0$ at every $i\in\{1,2,\dots,n-2,n-1\}$ and $\mathsf{Tr}(A^n)\neq0$, then from Trace-Determinant formula we know that $$|n\cdot\mathsf{det}(A)|=\Big|{\mathsf{Tr}(A^n)}\Big|.$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We can use a non-monotone formula for determinant from work of S. J. Berkowitz in On computing the determinant in small parallel time using a small number of processors. Inf. Prod. Letters 18, pp. 147–150, 1984 to compute $|n\cdot\mathsf{det}(A)|$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;1.&lt;/strong&gt; Does Berkowitz formula actually reduce to $\big|{\mathsf{Tr}(A^n)}\big|$ which is actually a monotone formula ($A$ having only non-negative entries is no issue here)? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;2.&lt;/strong&gt; With these matrix types, is complexity of computing $|n\cdot\mathsf{det}(A)|$ the same whether with monotone or with non-monotone formula, or is there a more succint non-monotone formula?&lt;/p&gt;&#xA;" OwnerDisplayName="user34945" LastEditorDisplayName="user34945" LastEditDate="2015-08-10T02:38:40.763" LastActivityDate="2015-08-10T02:38:40.763" Title="Complexity of a particular determinant" Tags="&lt;matrices&gt;&lt;terminology&gt;&lt;algebraic-complexity&gt;&lt;determinant&gt;&lt;monotone&gt;" AnswerCount="0" CommentCount="2" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="32110" PostTypeId="2" ParentId="31480" CreationDate="2015-07-29T12:03:39.333" Score="2" Body="&lt;h1&gt;Brief (negative) answer&lt;/h1&gt;&#xA;&#xA;&lt;p&gt;This claim is incorrect as soon as you have three (or more) qubits, as shown by the GHZ paradox, briefly described below, which shows a 3-partite Bell inequality which is beaten by a state stabilized by Pauli operators, which can be prepared and measured by Clifford operations. This paradox is named after Greenberger, Horne and Zeilinger, who found it in 1989 (&lt;a href=&quot;http://arxiv.org/abs/0712.0921&quot; rel=&quot;nofollow&quot;&gt;2007 arXiv reprint here&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The point is that the Gottesman-Knill theorem does not care about locality, but on simplicity. The Gottesmann-Knill theorem (&lt;a href=&quot;https://en.wikipedia.org/wiki/Gottesman%E2%80%93Knill_theorem&quot; rel=&quot;nofollow&quot;&gt;wiki&lt;/a&gt;, &lt;a href=&quot;http://arxiv.org/abs/quant-ph/9807006v1&quot; rel=&quot;nofollow&quot;&gt;arXiv&lt;/a&gt;) gives a polynomial hidden variable theory for a state constructed with Clifford gates. Nothing prevents this theory to be nonlocal, as the GHZ state shows, but its complexity is bounded : a $n$-qubit state is described by $2n²$ binary hidden variables.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand Bell inequalities characterize &lt;em&gt;local&lt;/em&gt; hidden variable theories, without taking care of their complexity. The violation of a Bell inequality by the GHZ states means that it cannot be described by a model where each player has access to a different local hidden variable.&lt;/p&gt;&#xA;&#xA;&lt;h1&gt;Details of the GHZ paradox&lt;/h1&gt;&#xA;&#xA;&lt;p&gt;The paradox can be explained by the following game, with 3 cooperating players and a referee. the referee asks a question, either $X$ or $Y$ to each player, which answers ±1 without communicating with the other players. The referee either asks $X$ to all the players or asks $X$ to one of them and $Y$ to the others. The players win if the product of their answers obeys the equality below corresponding to the question asked:&#xA;$$\begin{align}&#xA;XXX&amp;amp;=+1\\XYY&amp;amp;=-1\\YXY&amp;amp;=-1 \\YYX&amp;amp;=-1&#xA;\end{align}$$&#xA;It is easy to see that the above set of equation is not consistent, and tha no local hidden variable theory allows to win the game with a probabiliyt greater than 3/4.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, if each of the player has a qubit of a GHZ state $|\mathrm{GHZ}\rangle:=(|000\rangle+|111\rangle)/\sqrt2$, they can win with certainty. Indeed, $|\mathrm{GHZ}\rangle$ is stabilized by the following Pauli operators :&#xA;$$\begin{align}&#xA;S_0&amp;amp;=+XXX\\S_1&amp;amp;=-XYY\\S_2&amp;amp;=-YXY \\S_3&amp;amp;=-YYX.&#xA;\end{align}$$&#xA;Therefore, measuring the Pauli operators corresponding to the referee’s question allows the players to always win the game, and therefore violate a Bell inequality with certainty. Furthermore, this state can be prepared from Clifford operations, which invalidates the idea expressed in the paragraph you cite.&lt;/p&gt;&#xA;" OwnerUserId="2368" LastEditorUserId="2368" LastEditDate="2015-07-29T14:56:46.870" LastActivityDate="2015-07-29T14:56:46.870" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32111" PostTypeId="1" AcceptedAnswerId="32121" CreationDate="2015-07-29T13:01:06.120" Score="8" ViewCount="250" Body="&lt;p&gt;It is common to define $P$-completeness with respect to log-space many-one reductions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am looking for a complexity class $C \subseteq \mathsf{L}$ such that &#xA;there are $\mathsf{P}$-complete problems w.r.t. many-one $C$-reductions. &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What is the smallest known many-one reduction class $C$ &#xA;  such that HornSAT is complete for $\mathsf{P}$ under $C$-reductions?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The question was originally posted on &lt;a href=&quot;https://cs.stackexchange.com/questions/37562/weakest-reduction-for-p-completeness&quot;&gt;CS&lt;/a&gt; with no answer.&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="-1" LastEditDate="2017-04-13T12:48:30.830" LastActivityDate="2015-07-30T17:19:22.613" Title="What is the smallest class of reductions under which there is a $\mathsf{P}$-complete problem?" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;" AnswerCount="1" CommentCount="10" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32112" PostTypeId="1" AcceptedAnswerId="32123" CreationDate="2015-07-29T14:40:10.967" Score="10" ViewCount="219" Body="&lt;p&gt;Let $Q$ be a hereditary class of graphs. (Hereditary = closed with respect to taking induced subgraphs.) Let $Q_n$ denote the set of $n$-vertex graphs in $Q$. Let us say that $Q$ contains &lt;em&gt;almost all&lt;/em&gt; graphs, if the fraction of all $n$-vertex graphs falling in $Q_n$ approaches 1, as $n\rightarrow\infty$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question:&lt;/strong&gt; Is it possible that a hereditary graph class $Q$ contains almost all graphs, but for every $n$ there is at least one graph that is not in $Q_n$? &lt;/p&gt;&#xA;" OwnerUserId="12710" LastActivityDate="2015-07-30T13:46:29.490" Title="Can a hereditary graph class contain almost all, but not all, n-vertex graphs?" Tags="&lt;graph-theory&gt;" AnswerCount="2" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32113" PostTypeId="2" ParentId="31139" CreationDate="2015-07-29T14:54:31.503" Score="22" Body="&lt;p&gt;To have a list of such problems, you can look at the list of superpolynomial speed improvement at the &lt;a href=&quot;http://math.nist.gov/quantum/zoo/&quot; rel=&quot;noreferrer&quot;&gt;quantum algorithm zoo&lt;/a&gt; (QAZ). The list below is based on  this (see &lt;a href=&quot;http://math.nist.gov/quantum/zoo/&quot; rel=&quot;noreferrer&quot;&gt;QAZ&lt;/a&gt; for precise definitions and references. This is another way to say I don’t even pretend to understand many of the problems of this list!)&lt;/p&gt;&#xA;&lt;h2&gt;Algebraic and Number Theoretic Problems&lt;/h2&gt;&#xA;&lt;p&gt;If I’m not mistaken, all problems listed before the Abelian hidden subgroup problem are special cases of it.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Factorization&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Discrete_logarithm#Algorithms&quot; rel=&quot;noreferrer&quot;&gt;Discrete logarithm&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Pell%27s_equation#Concise_representation_and_faster_algorithms&quot; rel=&quot;noreferrer&quot;&gt;Pell’s Equation&lt;/a&gt;. Factoring reduces to Pell’s equation.&lt;/li&gt;&#xA;&lt;li&gt;Principal Ideal Ideal problem. Pell’s equation reduces to this problem, which therefore at least as hard as factoring.&lt;/li&gt;&#xA;&lt;li&gt;Unit Group problem&lt;/li&gt;&#xA;&lt;li&gt;Class Group problem&lt;/li&gt;&#xA;&lt;li&gt;Gauß Sums estimation&lt;/li&gt;&#xA;&lt;li&gt;Matrix Elements of Group Representations&lt;/li&gt;&#xA;&lt;li&gt;Group Order and Membership&lt;/li&gt;&#xA;&lt;li&gt;The Abelian &lt;a href=&quot;https://en.wikipedia.org/wiki/Hidden_subgroup_problem&quot; rel=&quot;noreferrer&quot;&gt;hidden subgroup problem&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Some (but not all) non-Abelian &lt;a href=&quot;https://en.wikipedia.org/wiki/Hidden_subgroup_problem&quot; rel=&quot;noreferrer&quot;&gt;hidden subgroup problems&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Some (but not all) problems phrased as special cases of the hidden shift problem&lt;/li&gt;&#xA;&lt;li&gt;Some (but not all) Hidden Nonlinear Structures problems&lt;/li&gt;&#xA;&lt;li&gt;Exploring some graphs (Welded trees)&lt;/li&gt;&#xA;&lt;li&gt;Group Isomorphism, for Abelian and some non-Abelian groups&lt;/li&gt;&#xA;&lt;li&gt;Find some properties of Finite Rings and Ideals&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2&gt;Approximation and Simulation&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Quantum simulation. Obviously &lt;span class=&quot;math-container&quot;&gt;$BQP$&lt;/span&gt;-complete&lt;/li&gt;&#xA;&lt;li&gt;Computing some knot-invariants, including HOMFLY polynomial, of which the Jones polynomial is a special case. Some of them are &lt;span class=&quot;math-container&quot;&gt;$BQP$&lt;/span&gt;-complete&lt;/li&gt;&#xA;&lt;li&gt;Computing some Three-manifold Invariants. Some of them are &lt;span class=&quot;math-container&quot;&gt;$BQP$&lt;/span&gt;-complete.&lt;/li&gt;&#xA;&lt;li&gt;Estimating the thermodynamic partition function of some classical systems&lt;/li&gt;&#xA;&lt;li&gt;Computing Zeta Functions over finite fields&lt;/li&gt;&#xA;&lt;li&gt;A string rewriting problem is  &lt;span class=&quot;math-container&quot;&gt;$\mathit{PromiseBQP}$&lt;/span&gt;-complete&lt;/li&gt;&#xA;&lt;li&gt;approximating matrix elements of powers of exponentially large sparse matrices.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2&gt;Algorithm I don’t really  get.&lt;/h2&gt;&#xA;&lt;p&gt;These are mainly algorithms where &lt;a href=&quot;http://math.nist.gov/quantum/zoo/&quot; rel=&quot;noreferrer&quot;&gt;QAZ&lt;/a&gt; claims a superpolynomial increase, but I don’t get why the original problem is supposed to be out of &lt;span class=&quot;math-container&quot;&gt;$P$&lt;/span&gt;. That said, I’ll bet lots of my money on &lt;a href=&quot;http://math.nist.gov/quantum/zoo/&quot; rel=&quot;noreferrer&quot;&gt;QAZ&lt;/a&gt; being right and myself being wrong on that.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Pattern matching for large enough (&lt;span class=&quot;math-container&quot;&gt;$&amp;gt;\log(n)$&lt;/span&gt;) patterns&lt;/li&gt;&#xA;&lt;li&gt;Some linear system problems, in &lt;span class=&quot;math-container&quot;&gt;$P$&lt;/span&gt; but having a &lt;span class=&quot;math-container&quot;&gt;$\mathrm{polylog}$&lt;/span&gt; quantum algorithm if the linear system is given as an oracle.&lt;/li&gt;&#xA;&lt;li&gt;Computing the Electrical Resistance of a graph,has a &lt;span class=&quot;math-container&quot;&gt;$\mathrm{polylog}$&lt;/span&gt; quantum algorithm if the electric circuit is given as an oracle&lt;/li&gt;&#xA;&lt;li&gt;Weight Enumerators problem. Something related to code and partition functions, but I don’t understand what it is about.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2&gt;&lt;span class=&quot;math-container&quot;&gt;$P$&lt;/span&gt; problems 1st proved to be in &lt;span class=&quot;math-container&quot;&gt;$BQP$&lt;/span&gt; and then in &lt;span class=&quot;math-container&quot;&gt;$P$&lt;/span&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Here are some problems where an efficient quantum algorithm has been published before a classical one. In other words, they were once conjectured to be in &lt;span class=&quot;math-container&quot;&gt;$BQP$&lt;/span&gt; but not in &lt;span class=&quot;math-container&quot;&gt;$P$&lt;/span&gt;, but this conjecture is now invalidated.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Satisfying more than &lt;span class=&quot;math-container&quot;&gt;$(\tfrac12-\tfrac{\text{constant}}{D})N$&lt;/span&gt; (but less than &lt;span class=&quot;math-container&quot;&gt;$\left(\tfrac12-\tfrac{1}{22D^{3/4}}\right)N$&lt;/span&gt;) constraints of the  Max E3LIN2 problem. As pointed by Juan Berego Vega in the comments : there is now a classical algorithm for &lt;span class=&quot;math-container&quot;&gt;$(\tfrac12-\tfrac{\text{constant}}{\sqrt{D}})N$&lt;/span&gt;, which was motivated by the quantum result. (&lt;a href=&quot;https://lucatrevisan.wordpress.com/2015/05/18/how-many-theoreticians-does-it-take-to-approximate-max-3lin/&quot; rel=&quot;noreferrer&quot;&gt;Blog post on this result&lt;/a&gt;, &lt;a href=&quot;http://arxiv.org/abs/1505.03424&quot; rel=&quot;noreferrer&quot;&gt;paper 1&lt;/a&gt;, &lt;a href=&quot;http://www.csc.kth.se/%7Ejohanh/bounded2.pdf&quot; rel=&quot;noreferrer&quot;&gt;paper2&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Recommender_system&quot; rel=&quot;noreferrer&quot;&gt;Recommendation systems&lt;/a&gt; (see &lt;a href=&quot;https://www.scottaaronson.com/blog/?p=3880&quot; rel=&quot;noreferrer&quot;&gt;Scott Aaronson’s blog post&lt;/a&gt;  for a more detailed explanation). Recommendation system — à la Netflix/Amazon/etc.— can be seen as completing a sparse &lt;span class=&quot;math-container&quot;&gt;$m×n$&lt;/span&gt; matrix of low rank &lt;span class=&quot;math-container&quot;&gt;$k$&lt;/span&gt; with very incomplete data. Known classical algorithm where polynomial in &lt;span class=&quot;math-container&quot;&gt;$m$&lt;/span&gt;, &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt; ad &lt;span class=&quot;math-container&quot;&gt;$k$&lt;/span&gt;. If the matrix is given as an oracle, Iordanis Kerenidis an Anupam Prakash found a &lt;span class=&quot;math-container&quot;&gt;$\mathrm{poly}(k)\mathrm{polylog}(mn)$&lt;/span&gt; quantum algorithm finding samples of the unknown elements of the matrix in 2016 (&lt;a href=&quot;https://arxiv.org/abs/1603.08675&quot; rel=&quot;noreferrer&quot;&gt;paper&lt;/a&gt;). In 2018, while trying to prove this scaling is impossible to reach with a classical machine, Ewin Tang actually found a classical algorithm achieving the same performance under the same conditions (paper available &lt;a href=&quot;https://eccc.weizmann.ac.il/report/2018/128/&quot; rel=&quot;noreferrer&quot;&gt;here&lt;/a&gt; and &lt;a href=&quot;https://arxiv.org/abs/1807.04271&quot; rel=&quot;noreferrer&quot;&gt;here&lt;/a&gt;).&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="2368" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2018-07-30T13:06:30.720" CommentCount="9" ContentLicense="CC BY-SA 4.0" />
  <row Id="32115" PostTypeId="1" CreationDate="2015-07-29T16:58:58.717" Score="1" ViewCount="108" Body="&lt;p&gt;In conditional min-entropy extractor, there is a joint distribution $(X,Y)$ such that if the average min-entropy (for some appropriate notion of it) ${\rm H}_\infty(X|Y)$ is large, then ${\rm Ext}(X, Z)$, where $Z$ is a seed distribution that is &lt;em&gt;independent&lt;/em&gt; from &lt;em&gt;both&lt;/em&gt; $X$ and $Y$, looks random. This can be equivalently viewed as an &quot;adversary&quot;, who has some limited knowledge $Y$ of $X$, cannot predict ${\rm Ext}(X, Z)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question concerns the case where the adversary knows something about $Z$. I model this situation as that there is another random variable $M$ (say of $O(1)$ bits), that is allowed to be correlated with both $X$ and $Z$. Of course, if there is no structure about $M$, then there is no hope. As an example, suppose that $M = {\rm Ext}_1(X, Z)$ where $\rm Ext_1$ is the projection of $\rm Ext$ to its first bit, then clearly one cannot hope that the joint distribution $(M, Y, {\rm Ext}(X, Z))$ looks random.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is then the case where we do know something about $M$. Specifically, consider the case that the correlation between any bit of $M$ and any bit of ${\rm Ext}(X, Z)$ is small. In other words, $(M, {\rm Ext}(X, Z))$ is close to $(M, U)$ where $U$ is the uniform distribution (or modeling in another way, $(M, {\rm Ext}(X, Z))$ is close to $(U, {\rm Ext}(X, Z))$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Do we know extractor constructions in this situation? Any pointer or reference? This problem seems pretty natural.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks.&lt;/p&gt;&#xA;" OwnerUserId="875" LastEditorUserId="875" LastEditDate="2015-07-30T13:35:09.917" LastActivityDate="2015-08-01T09:16:54.630" Title="Extractor with somewhat corrupted seeds" Tags="&lt;cr.crypto-security&gt;&lt;pseudorandomness&gt;&lt;pseudorandom-generators&gt;&lt;extractors&gt;" AnswerCount="0" CommentCount="2" FavoriteCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32117" PostTypeId="1" CreationDate="2015-07-29T17:04:27.827" Score="2" ViewCount="77" Body="&lt;p&gt;I am interested in converting Partial Weighted Max SAT to SAT. I have been recommended to go through CIRCUIT SAT. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Partial Weighted Max SAT consists of a set of hard clauses and a set of weighted soft clauses. We seek an assignment which satisfies all hard clauses and achieves at least a weight of k from the soft clauses. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;How would I encode this as a boolean combinational circuit?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I can see how I can easily encode the hard clauses. But how would I encode the soft clauses, and associate weights with them, and ensure that a weight of at least k is achieved by a satisfying assignment?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks&lt;/p&gt;&#xA;" OwnerUserId="34966" LastActivityDate="2015-07-29T17:04:27.827" Title="Converting Partial Weighted Max SAT to CIRCUIT SAT" Tags="&lt;sat&gt;" AnswerCount="0" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32119" PostTypeId="1" CreationDate="2015-07-29T17:57:10.690" Score="1" ViewCount="25" Body="&lt;p&gt;This question refers to this paper: &lt;a href=&quot;http://www.cs.toronto.edu/~fritz/absps/nips00-bs.pdf&quot; rel=&quot;nofollow&quot;&gt;Using Free Energies to Represent Q-values in a Multiagent Reinforcement Learning Task&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In section 2.1, equations (5) and (6), I am wondering which Q values are being used to adjust the weights of the restricted boltzmann machine:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Option 1: the Q values generated by the original MDP&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Option 2: the approximate Q values obtained by calculating the (negative of the) free energy of the RBM&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Follow up question: When considering states $(s^t, a^t)$ and $(s^{t+1}, a^{t+1})$, how do we determine which values of $a^t$ and $a^{t+1}$ to use? Are these the optimal actions from the original MDP, or are these to be obtained through the alternating Gibbs sampling mentioned later on...(which doesn't make sense, since we would not have weights required for this CD)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks for your help&lt;/p&gt;&#xA;" OwnerUserId="34905" LastActivityDate="2015-07-29T17:57:10.690" Title="Which matrix of Q values is being used here?" Tags="&lt;approximation-algorithms&gt;&lt;optimization&gt;&lt;dynamic-programming&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32120" PostTypeId="1" AcceptedAnswerId="32194" CreationDate="2015-07-29T18:50:03.700" Score="5" ViewCount="229" Body="&lt;p&gt;Are there linear time temporal logics that can express some property $P_{nonlasso}$ that does have a counterexample, but none that is a lasso (or finite)? &lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Details:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One advantage of model checking over other formal methods is their ability to return a counterexample, a (finite path or a) path in form of a lasso. This is sufficient up to (extended) Büchi automata, since an infinite accepting path can be transformed to a lasso that infitely visits some accepting state. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;But is this still the case for more complex linear time logics? Or a non-linear time logic that does have counterexamples, e.g. ACTL*? Can the $\mu$-calculus or MCRL2 express such a linear time property $P_{nonlasso}$? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For instance, having the Kripke structure $s_1 \leftrightarrow init \leftrightarrow s_2$, can I express the counting property &quot;repeat $(init \rightarrow s_1 \rightarrow init)^i \cdot (init \rightarrow s_2 \rightarrow init)^i$ for infinitely increasing $i$&quot;? This path does have a very simple schema...&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Update: I am looking for linear time temporal logics without any relationship between multiple paths (see Makus's answer for other logics).&lt;/p&gt;&#xA;" OwnerUserId="6424" LastEditorUserId="6424" LastEditDate="2015-08-05T13:30:52.267" LastActivityDate="2015-08-05T20:49:27.427" Title="Are there temporal logics linear time properties that only have counterexamples that are more complex than a lasso?" Tags="&lt;model-checking&gt;&lt;temporal-logic&gt;&lt;linear-temporal-logic&gt;" AnswerCount="2" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="32121" PostTypeId="2" ParentId="32111" CreationDate="2015-07-29T20:35:11.113" Score="7" Body="&lt;p&gt;It is easy to show that the &lt;em&gt;Circuit Value Problem&lt;/em&gt; is complete for $\mathsf{P}$ &#xA;under $\mathsf{AC^0}$ reductions (see  András's comment below).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For an easier example consider &#xA;$$A = \{\langle M,x,y\rangle \mid \text{$M$ accepts $x$ in $|y|$ steps} \}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If a class of reductions $C$ contains constant functions, pairing of strings, and functions where the size of their output can bound any polynomial;&#xA;then $A$ is complete for $\mathsf{P}$ w.r.t. $C$.&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2015-07-30T17:19:22.613" LastActivityDate="2015-07-30T17:19:22.613" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32122" PostTypeId="1" AcceptedAnswerId="32158" CreationDate="2015-07-30T01:08:56.470" Score="4" ViewCount="356" Body="&lt;p&gt;My question is based on the structure of the NP-hardness proof in section 6 (page 17) of this paper, &lt;a href=&quot;http://arxiv.org/pdf/quant-ph/0303055v1.pdf&quot; rel=&quot;nofollow&quot;&gt;http://arxiv.org/pdf/quant-ph/0303055v1.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Mathematically one can think of being given a positive semi-definite linear map $\rho : \mathbb{C}^n \otimes \mathbb{C}^m \rightarrow   \mathbb{C}^n \otimes \mathbb{C}^m$ such that its trace is $1$ and one wants to determine if there exists some $k$ (column) vectors $x_i \in \mathbb{C}^n$ and another $k$ (column) vectors $y_i \in \mathbb{C}^m$ such that $\rho = \sum_{i=1}^{k} x_i x_i ^{\dagger} \otimes y_i y_i^{\dagger}$&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;If I understand right then this linked paper is proving the decision version of the above question to be NP-hard. (please correct me if my reading is wrong!) &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;But I am curious to know as to what would be even a brute-force algorithm to solve this! (in my limited experience for all NP-hard questions there is a trivial brute force solution that is always obvious - but not here!)  &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;[Expanding the questions formulated in the comments]&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Trivially it seems that there is no hope of being able to check this unless one allows for some finite precision error. But if with such a discretization the question is redefined then is the corresponding decision question still NP-Hard? &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;So is there a difference between the decision question that is being shown to be NP-Hard and the actual entanglement question that needs to be solved? &lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;EDIT [$4^{th}$ August 2015]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I found this presentation by Aram Harrow which explains many of the issues that I was trying to get to but couldn't explain properly : &lt;a href=&quot;http://simons.berkeley.edu/talks/aram-harrow-2014-09-25&quot; rel=&quot;nofollow&quot;&gt;http://simons.berkeley.edu/talks/aram-harrow-2014-09-25&lt;/a&gt; (he explains pretty much this exact same question inside his lecture!) &lt;/p&gt;&#xA;" OwnerUserId="32603" LastEditorUserId="32603" LastEditDate="2015-08-04T23:22:13.953" LastActivityDate="2015-08-04T23:22:13.953" Title="How does one determine if a mixed bipartite quantum state is entangled or not?" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;quantum-computing&gt;&lt;quantum-information&gt;" AnswerCount="1" CommentCount="7" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32123" PostTypeId="2" ParentId="32112" CreationDate="2015-07-30T05:15:48.427" Score="10" Body="&lt;p&gt;The answer is no - for a fixed $Q$ let $t$ be the number of vertices in the smallest graph $H$ not in $Q$. Now, consider $n$ much bigger than $t$. For a random graph on $n$ vertices, the probability that the $t$ first vertices induce $H$ depends only on $t$. Partitioning the vertex set into $n/t$ disjoint sets of size $t$ and considering the probability that none of the sets are equal to $H$ shows that the probability of being in $Q$ tends to $0$ as $n$ increases.&lt;/p&gt;&#xA;" OwnerUserId="27464" LastActivityDate="2015-07-30T05:15:48.427" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="32124" PostTypeId="1" CreationDate="2015-07-30T07:47:49.047" Score="1" ViewCount="245" Body="&lt;p&gt;Given an integer n, is there an efficient algorithm to find the number of factors of n?&lt;/p&gt;&#xA;" OwnerUserId="34978" LastActivityDate="2015-07-30T07:47:49.047" Title="Efficient algorithm to find number of factors" Tags="&lt;factoring&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="32125" PostTypeId="1" CreationDate="2015-07-30T11:54:05.860" Score="10" ViewCount="210" Body="&lt;p&gt;What are the main results and/or literature on the (self) halting problem&#xA;for other machines than Turing machines? Alternatively, what would be&#xA;the right keywords or tags to search for it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am considering of course the ability to determine halting on given&#xA;input of automata in a family $F$ by one of the members of $F$,&#xA;i.e. the $F$-decidability of the halting problem for $F$-automata.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am not here interested in hypercomputation, but rather in&#xA;&quot;&lt;strong&gt;hypocomputation&lt;/strong&gt;&quot;, i.e. computational models that are weaker than&#xA;Turing machines.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One problem I looked at is the definition of halting for&#xA;non-deterministic models of computation, since non-determinism can&#xA;make a difference for PDA and possibly for LBA. I asked a question on&#xA;that, &lt;a href=&quot;https://cs.stackexchange.com/questions/44231/defining-the-halting-problem-for-non-deterministic-automata&quot;&gt;Defining the halting problem for non-deterministic automata&lt;/a&gt;, but&#xA;was a bit disappointed by answers, and ended up answering it myself (how well, I do not know).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Other issues I have in mind are:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;what would be a proper definition of a family of automata defining&#xA;a model of computation? Should it satisfy some closure property or other?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The reason is that one can contrive simple collections of automata such&#xA;that one of them will decide halting for the whole family. But it&#xA;does not seem very meaningful, if that is all the family has to offer.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;when asking one automaton $H$ to decide on halting of automaton $A$ on&#xA;input $I$, is one free to encode $A$ and $I$ in whatever way&#xA;is deemed convenient?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am not even sure whether stating that there is a standard&#xA;encoding has any meaning.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I realize the question is open. But I do not know how much may exist&#xA;as possible answer, possibly little. If it is too wide, suggestions to&#xA;tighten it would be welcome.&lt;/p&gt;&#xA;" OwnerUserId="16132" LastEditorUserId="-1" LastEditDate="2017-04-13T12:48:30.830" LastActivityDate="2015-07-30T11:54:05.860" Title="The halting problem in computational models weaker than Turing machines" Tags="&lt;computability&gt;&lt;halting-problem&gt;" AnswerCount="0" CommentCount="8" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="32126" PostTypeId="1" AcceptedAnswerId="32161" CreationDate="2015-07-30T13:24:02.417" Score="2" ViewCount="287" Body="&lt;p&gt;I would need a &lt;a href=&quot;https://en.wikipedia.org/wiki/Sidon_sequence&quot; rel=&quot;nofollow&quot;&gt;Sidon sequence&lt;/a&gt; of about $10^9$ elements.&#xA;I found math papers like [1] that explain how to generate Sidon sequences but it seems a lot of pain to write the corresponding program.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are you aware of any existing program that generates a dense enough and large enough Sidon sequence ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Extra&lt;/strong&gt;: my real constraint for the sequence is $a+a′ , a \lt a′ ,~ a,a′ ∈ A$ instead of the true Sidon sequence property $a+a ′ , a ≤ a ′ , a, a ′ ∈ A$.&#xA;So a Sidon sequence would do the job but I could hope for a denser sequence by tuning the program. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] Javier Cilleruelo, &quot;Infinite Sidon sequences&quot;, eprint on arXiv: &lt;a href=&quot;http://arxiv.org/abs/1209.0326&quot; rel=&quot;nofollow&quot;&gt;http://arxiv.org/abs/1209.0326&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="34980" LastActivityDate="2015-08-03T01:56:08.350" Title="Is there an efficient program for generating a Sidon sequence?" Tags="&lt;ds.algorithms&gt;" AnswerCount="1" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="32127" PostTypeId="2" ParentId="32112" CreationDate="2015-07-30T13:46:29.490" Score="10" Body="&lt;p&gt;To add to Daniel's answer, the precise density of hereditary classes has been extensively investigated in combinatorics.&#xA;For a class $C$ of structures, the unlabelled slice $C_n$ is the set of isomorphism classes of structures in $C$ that have $n$ vertices.&#xA;The (unlabelled) &lt;em&gt;speed&lt;/em&gt; of a class $C$ of structures is $|C_n|$.&#xA;Denote the class of graphs by $G$.&#xA;The question is asking whether $\lim_{n\to \infty} |Q_n|/|G_n| = 1$ for any hereditary class of graphs $Q$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since the limit is always 0 for hereditary $Q$, a fundamental question is then how the function $|Q_n|$ itself behaves.&#xA;Let $p(n)$ denote the number of &lt;a href=&quot;http://en.wikipedia.org/wiki/Partition_%28number_theory%29&quot;&gt;integer partitions&lt;/a&gt;, where $p(n) = 2^{\Theta(\sqrt{n})}$.&#xA;It turns out that the unlabelled speed &quot;jumps&quot;: either $|Q_n|$ is polynomially bounded, or otherwise $|Q_n| = \Omega(p(n))$.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;József Balogh, Béla Bollobás, Michael Saks and Vera T. Sós, &lt;em&gt;The unlabelled speed of a hereditary graph property&lt;/em&gt;, Journal of Combinatorial Theory, Series B, &lt;strong&gt;99&lt;/strong&gt; 9–19, 2009.&#xA;doi:&lt;a href=&quot;http://dx.doi.org/10.1016/j.jctb.2008.03.004&quot;&gt;10.1016/j.jctb.2008.03.004&lt;/a&gt; (&lt;a href=&quot;http://www.math.uiuc.edu/~jobal/cikk/divsub.ps&quot;&gt;preprint&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="109" LastActivityDate="2015-07-30T13:46:29.490" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32131" PostTypeId="1" CreationDate="2015-07-31T00:38:39.527" Score="0" ViewCount="175" Body="&lt;p&gt;I try to imagine using Coq to implement large and complicated software with specifications and proof. However, the manual work of writing proof is daunting. As a Coq newbie,  to specify an insertion sort algorithm costs me a week and nearly one thousand lines accounting for specifications and proof.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there possibly to relieve the developer's burden and make computer prove arbitrary theorem, which is much stronger than 'auto' tactic? If not, what is the unsolved question in it?&lt;/p&gt;&#xA;" OwnerUserId="34426" LastActivityDate="2015-07-31T10:55:11.657" Title="Is there an algorithm to generate proof in Coq?" Tags="&lt;coq&gt;&lt;automated-theorem-proving&gt;" AnswerCount="1" CommentCount="2" ClosedDate="2015-08-18T21:04:32.517" ContentLicense="CC BY-SA 3.0" />
  <row Id="32132" PostTypeId="2" ParentId="32120" CreationDate="2015-07-31T03:13:11.413" Score="1" Body="&lt;p&gt;I think it depends on what you mean by linear-time temporal logics. If you mean temporal logics that have linear time semantics (i.e. cannot distinguish more than trace equivalence, a la van Glabbeek) then there are indeed logics that require counter examples that are not just lassos. HyperLTL is an example:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://www.react.uni-saarland.de/publications/CFKMRS14.html&quot; rel=&quot;nofollow&quot;&gt;https://www.react.uni-saarland.de/publications/CFKMRS14.html&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://www.react.uni-saarland.de/publications/FR14.html&quot; rel=&quot;nofollow&quot;&gt;https://www.react.uni-saarland.de/publications/FR14.html&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="7908" LastActivityDate="2015-07-31T03:13:11.413" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="32135" PostTypeId="1" CreationDate="2015-07-31T10:42:49.557" Score="-1" ViewCount="159" Body="&lt;p&gt;A problem $\Pi$ is $\mathsf{NP}$ complete if there is a polynomial time reduction from an $\mathsf{NP}$ complete problem $\Pi^\circ$ to $\Pi$ with polynomial blow up on number of variables and instance size.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What are some examples where the involved polynomial blow up on number of variables is a large degree polynomial (correspondingly giving a large degree polynomial time reduction)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Reason I am asking is this: suppose someone proves a non-linear lower bound on some NP complete problem, is there a direct way to infer that there is a non-linear lower bound for 3SAT by tracing back reductions?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Related: &lt;a href=&quot;https://cstheory.stackexchange.com/questions/21264/natural-candidate-against-the-isomorphism-conjecture&quot;&gt;Natural candidate against the Isomorphism Conjecture?&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="1812" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2015-08-03T11:52:18.320" Title="Will a non-linear lower bound on some NP complete problem prove non-linear lower bound on 3SAT?" Tags="&lt;reductions&gt;&lt;np-complete&gt;" AnswerCount="1" CommentCount="7" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32136" PostTypeId="1" CreationDate="2015-07-31T10:51:11.453" Score="2" ViewCount="282" Body="&lt;p&gt;I know that Shor's 9 bit code can correct phase or bit flip, but I'd like to show that it can correct any type of error on a single qubit. I know that an arbitrary error can be expressed with the error base (phase flipe and bit flip), but I'm lacking the understanding of how does this assist me in deducing that any arbitrary error can be corrected?&lt;/p&gt;&#xA;" OwnerUserId="34994" LastActivityDate="2015-07-31T12:35:04.827" Title="Verifying Shor's quantum error correction code" Tags="&lt;quantum-computing&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32137" PostTypeId="2" ParentId="32131" CreationDate="2015-07-31T10:55:11.657" Score="2" Body="&lt;p&gt;I guess the resource you are looking for is Adam Chlipala's &lt;a href=&quot;http://adam.chlipala.net/cpdt/&quot; rel=&quot;nofollow&quot;&gt;Certified Programming with Dependent Types&lt;/a&gt; in which he builds up powerful tactics.&lt;/p&gt;&#xA;" OwnerUserId="5097" LastActivityDate="2015-07-31T10:55:11.657" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32138" PostTypeId="1" CreationDate="2015-07-31T11:10:33.963" Score="4" ViewCount="180" Body="&lt;p&gt;Does Shor's algorithm produce factors of a $n$-bit number and discrete log modulo $n$-bit prime in $O((\log n)^{2+\epsilon})$ bit operations using fast multiplication? I am trying to read from &lt;a href=&quot;https://en.wikipedia.org/wiki/Shor%27s_algorithm&quot; rel=&quot;nofollow&quot;&gt;wikipedia&lt;/a&gt;. If not what is the 'right' number of comparable 'bit' operations in the classical model? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is the hidden constant in $O((\log n)^{2+\epsilon})$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As far as we know the $2$ in the exponent could be brought down to $1$. There have been many techniques in classical factoring/discrete log calculation that tried to reduce complexity over many decades. Has there been any attempt to bring the exponent from $2$ down to $1$? Or is there a proof that $2$ is the best that can be done?&lt;/p&gt;&#xA;" OwnerUserId="1812" LastEditorUserId="1812" LastEditDate="2015-07-31T14:26:06.437" LastActivityDate="2015-07-31T14:26:06.437" Title="Two questions on Shor's algorithm" Tags="&lt;quantum-computing&gt;" AnswerCount="0" CommentCount="6" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32139" PostTypeId="2" ParentId="32136" CreationDate="2015-07-31T12:35:04.827" Score="1" Body="&lt;p&gt;Since I don’t understand what you don’t understand, I will try to give a quite formal description, hoping it will help.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\newcommand{ket}[1]{\left|#1\right&amp;gt;}$&#xA;Let’s suppose the error is the unitary $U$ applied on the $k$th qubit.&#xA;We have&#xA;$$\begin{align}&#xA;U&amp;amp;=aI+bX+cY+dZ\\&amp;amp;=aI+bX+icXZ+dZ,&#xA;\end{align}$$&#xA;with $a,b,c,d$ being real numbers, $I$ is the identity, $X, Y, Z$ the Pauli operators. $X$ is a bit-flip, and $Z$ is a phase-flip.&#xA;$Y=iXZ$ is a combination of phase and bit-flip.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let’s look at a coherent version of Shor error correction, one where there is no measurement, but a set $A$ of 8 ancilla qubits, initially in the $\ket{0}$ state. Their final state, if measured in the computational basis, contains the code syndrome. The error correction is described by a unitary $V$ acting the 9 qubits of the code ($B$) and the 8 ancilla qubits. Since the code corrects both bit-flips and phase-flips, we have:&#xA;$$&#xA;\begin{align}&#xA;V⋅(I\otimes I)\ket{\psi}_B\ket{0}_A&amp;amp;=\ket{\psi}_B\ket{0}_A\\&#xA;V⋅(X_k\otimes I)\ket{\psi}_B\ket{0}_A&amp;amp;=\ket{\psi}_B\ket{\phi_{k,X}}_A\\&#xA;V⋅(Z_k\otimes I)\ket{\psi}_B\ket{0}_A&amp;amp;=\ket{\psi}_B\ket{\phi_{k,Z}}_A\\&#xA;\end{align}&#xA;$$&#xA;The action of $Y_k=iX_kZ_k$ is also corrected, since it is a phase-flip followed by a bitflip $^*$ :&#xA;$$&#xA;\begin{align}&#xA;V⋅(I_k\otimes I)\ket{\psi}_b\ket{0}_a&amp;amp;=iV⋅(X_k\otimes I)⋅(Z_k\otimes I)\ket{\psi}_b\ket{0}_a\\&#xA;&amp;amp;=\ket{\psi}_b\ket{\phi_{k,Y}}_a\\&#xA;\end{align}&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we apply this to an arbitrary error $U_k$ on the $k$th qubit, we have :&#xA;$$V⋅(U_k\otimes I)\ket{\psi}_b\ket{0}_a=\ket{\psi}_b\left(a\ket0_a+b\ket{\phi_{k,X}}_A+c\ket{\phi_{k,Y}}_A+d\ket{\phi_{k,Z}}_A\right) $$&#xA;and the vector $\ket{\psi}_b$ is recovered.&lt;/p&gt;&#xA;" OwnerUserId="2368" LastActivityDate="2015-07-31T12:35:04.827" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32140" PostTypeId="2" ParentId="32135" CreationDate="2015-07-31T13:45:53.017" Score="0" Body="&lt;p&gt;The reduction from circuit-SAT to formula-SAT increases the number of variables&#xA;&lt;br&gt;&#xA;by the number of internal gates, since it is also a reduction to CNF-SAT.&#xA;&lt;br&gt;&lt;br&gt;&lt;br&gt;&#xA;It creates a new variable for each internal gate and creates&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\;\;\;$ one or more clauses asserting the truth of the circuit's output&#xA;&lt;br&gt;$\;\;\;\;\;\;\;\;$ and&lt;br&gt;&#xA;$\;\;\;$ the clauses $\:$ (input or output) , ((not input) or not output) $\:$ for each NOT gate&#xA;&lt;br&gt;$\;\;\;\;\;\;\;\;$ and&lt;br&gt;&#xA;$\;\;\;$ clauses $\:$ (i_0 or i_1 or ... or i_(fanin-1) or not output) , (output or not i_0)&#xA;&lt;br&gt;&#xA;$\;\;\;$ , (output or not i_1) , ... , (output or not i_(fanin-1)) $\:$ for each OR gate&#xA;&lt;br&gt;$\;\;\;\;\;\;\;\;$ and&lt;br&gt;&#xA;$\;\;\;$ clauses $\:$ ((not i_0) or (not i_1) or ... or (not i_(fanin-1)) or output) , (i_0 or not output)&#xA;&lt;br&gt;&#xA;$\;\;\;$ , (i_1 or not output) , ... , (i_(fanin-1) or not output) $\:$ for each AND gate&lt;/p&gt;&#xA;&#xA;&lt;p&gt;.&lt;br&gt;&lt;br&gt;&lt;br&gt;&#xA;However, that reduction does not blowup instance size.&lt;br&gt;&lt;br&gt;&lt;/p&gt;&#xA;" OwnerDisplayName="user6973" LastEditorDisplayName="user6973" LastEditDate="2015-07-31T15:08:12.187" LastActivityDate="2015-07-31T15:08:12.187" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="32141" PostTypeId="1" AcceptedAnswerId="32159" CreationDate="2015-07-31T15:35:53.690" Score="-2" ViewCount="114" Body="&lt;p&gt;supercomputers have risen dramatically in their computational powers last few decades due to Moore's law &amp;amp; also increasing parallelism technology in hardware and software. many different types of analysis algorithms are run now for many diverse areas of science.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;what can be said about the complexity of typical supercomputing jobs/ applications? are they &quot;mostly&quot; in P? are there examples of major supercomputing projects that tackle NP hard problems or harder? is there some published study/ survey of the complexity of supercomputing problems?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;my (rough) understanding is that maybe &quot;most&quot; are in P. for example &quot;grid&quot; calculations for 3d volumes are typically something like &lt;em&gt;O(n&lt;sup&gt;3&lt;/sup&gt;)&lt;/em&gt; where &lt;em&gt;n&lt;/em&gt; is the grid distance/ length. molecular dynamics simulations have &lt;em&gt;O(n&lt;sup&gt;2&lt;/sup&gt;)&lt;/em&gt; calculations where &lt;em&gt;n&lt;/em&gt; is the number of particles. many other calculations are done on matrices which are typically &lt;em&gt;O(n&lt;sup&gt;2&lt;/sup&gt;)&lt;/em&gt;. etc. (not sure about fluid dynamics simulations.) PageRank &lt;a href=&quot;https://stackoverflow.com/questions/12474398/what-is-pageranks-big-o-complexity&quot;&gt;might be&lt;/a&gt; O(n) or at least Ptime.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(this question is partly motivated by discussion on Aaronsons blog/ comments &lt;a href=&quot;http://www.scottaaronson.com/blog/?p=2408&quot; rel=&quot;nofollow noreferrer&quot;&gt;&quot;introducing some British people to P vs NP&quot;&lt;/a&gt; where there is questions about using supercomputers for theorem proving in the comments etc.)&lt;/p&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="-1" LastEditDate="2017-05-23T11:33:33.907" LastActivityDate="2015-08-02T09:35:14.170" Title="what can be said about complexity of &quot;typical&quot; supercomputing programs/ applications? any NP hard?" Tags="&lt;reference-request&gt;&lt;big-picture&gt;&lt;application-of-theory&gt;&lt;p-vs-np&gt;&lt;ar.hardware-architecture&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32142" PostTypeId="1" CreationDate="2015-07-31T17:34:57.937" Score="2" ViewCount="212" Body="&lt;p&gt;Consider a set of polytopes $P_j\;\;j=1,2,\dots,r$ with the same structure as follows:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$P_j=\Big\{(x_{j1},\dots, x_{jt})\Big| \sum_{i=1}^t x_{ji}=1, x_{ji}\in [a_{ji},b_{ji}]\subseteq [0,1]\Big\}$ for $j=1\dots,r$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is it possible to derive the H-representation of the convex hull of the union of $P_j$s, i.e., ConvexHull$(\bigcup_j P_j)$, efficiently? &lt;/p&gt;&#xA;" OwnerUserId="10119" LastActivityDate="2015-07-31T22:37:31.440" Title="H-representation of convex hull" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;graph-algorithms&gt;&lt;linear-programming&gt;&lt;computational-geometry&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32143" PostTypeId="2" ParentId="32077" CreationDate="2015-07-31T20:13:30.297" Score="5" Body="&lt;p&gt;&lt;a href=&quot;https://mathoverflow.net/a/212754/7507&quot;&gt;Terry Tao's answer&lt;/a&gt; on MathOverflow.&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2015-07-31T20:13:30.297" CommentCount="0" CommunityOwnedDate="2015-07-31T20:13:30.297" ContentLicense="CC BY-SA 3.0" />
  <row Id="32144" PostTypeId="2" ParentId="32142" CreationDate="2015-07-31T22:37:31.440" Score="3" Body="&lt;p&gt;If you're okay with additional variables, then the answer is yes. This follows from &lt;a href=&quot;http://www.math.ku.dk/~erhansen/web/OR/disjprog.pdf&quot; rel=&quot;nofollow&quot;&gt;Balas's extended formulation&lt;/a&gt; for the disjunction of polyhedra. It shows that $\operatorname{convex}.\operatorname{hull} ( \cup_j P_j)$ admits an extended formulation of size at most $\sum_{j}(\operatorname{xc}(P_j)+1)$, where $\operatorname{xc}(\cdot)$ denotes extension complexity. (The extension complexity of $P_j$ is at most the number of inequalities defining $P_j$.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have not thought about whether this can be done in the original space of variables.&lt;/p&gt;&#xA;" OwnerUserId="13056" LastActivityDate="2015-07-31T22:37:31.440" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="32145" PostTypeId="1" CreationDate="2015-08-01T00:12:45.533" Score="2" ViewCount="155" Body="&lt;p&gt;&lt;em&gt;I am studying Graph Isomorphism and also trying to figure out the complexity of a certain class of graph. The graph I am studying at the moment is described below&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Description&lt;/strong&gt; :&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$G$ is a $r$ regular graph, $k$ connected( not a complete , cycle graph).  A vertex of $G$ is $x_1$. &#xA;All vertices which are not adjacent to $x_1$ create a sub-graph $C_1$.&#xA;  All vertices adjacent to $x_1$ create a sub-graph $, D_1 $. &#xA;A vertex of $D_1$ is $x_2$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Using same method, based on adjacency of $x_2$ , $D_1$ can be divided. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;All vertices which are not adjacent to $x_2$ create a sub-graph $C_2$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;All vertices adjacent to $x_2$ create a sub-graph $, D_2 $. &#xA;    In general , $ D_{y-1} $ is a graph and can be divided/ partitioned  in to 2 sub graphs $C_y,  D_y $ .&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are 2 restrictions, they are-&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;$C_y,  D_y $  are $s_y , t_y &amp;gt; 0 ; s_y \neq t_y; $ regular graphs respectively for all iteration $y$&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;$C_y,  D_y $  cannot be complete bipartite graph (utility graph), complete graph or disjoint union of complete graphs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$G$ can be divided/ partitioned maximum $\log_2(|G|)$ times , using  this dividing process recursively if $G$ is a 3 clique free graph , this condition  implies $t_y \leq |D_y|/2$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Questions :&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does there exist such graph in current literature  as described above(follows restriction 1 or 2 or both)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Motivation :&lt;/strong&gt; An algorithm  runs faster than existing results for this kind of graphs. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Related  papers:&lt;/strong&gt; &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;V.A.Taskinov. Regular subgraphs of regular graphs. Sov.Math.Dokl.26(1982), 37-38 .&#xA;In this paper he proved the following : Let $0&amp;lt;k&amp;lt;r$ be positive odd integers. Then every $r$-regular graph contains a $k$-regular subgraph (Here, the graph need not be simple).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;N. ALON,S. FRIEDLAND,G. KALAI.   Regular Subgraphs of Almost Regular Graphs. JOURNAL OF COMBINATORIAL THEORY, Series B 37, 79-91 (1984)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Any advice will help.&lt;/strong&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="27242" LastEditorUserId="27242" LastEditDate="2015-09-05T04:18:30.800" LastActivityDate="2015-09-05T04:18:30.800" Title="Construction of a graph which has regular subgraphs at each iteration of a recursive process" Tags="&lt;reference-request&gt;&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;graph-isomorphism&gt;&lt;spectral-graph-theory&gt;" AnswerCount="0" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="32146" PostTypeId="1" CreationDate="2015-08-01T08:04:51.193" Score="1" ViewCount="66" Body="&lt;p&gt;We suspect following relation:&#xA;$$TC^0\subsetneq NC^1\subsetneq L\subsetneq NL\subsetneq AC^1\subsetneq NC^2\subsetneq P\subsetneq NP\subsetneq PH\subsetneq PSPACE$$ in Turing/boolean circuit complexity model.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What are analogous complexity classes in BSS model and Valiant's arithmetic complexity model?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What are known relations and implications among complexity classes in these models?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What surprise would counter intuitive results such as $P=NP$ have on these hierachies and vice versa?&lt;/p&gt;&#xA;" OwnerUserId="1812" LastActivityDate="2015-08-01T08:04:51.193" Title="Analogues of different complexity classes in various models" Tags="&lt;complexity-classes&gt;&lt;circuit-complexity&gt;&lt;big-picture&gt;&lt;turing-machines&gt;&lt;polynomial-hierarchy&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32147" PostTypeId="1" CreationDate="2015-08-01T09:02:32.290" Score="3" ViewCount="64" Body="&lt;p&gt;Let $F = C_1 \wedge C_2\; \wedge ... \wedge\; C_m$ be a unsatisfiable $k$-CNF on variables $x_1,...,x_n$, where $k$ is constant.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $x_j\rightarrow x_j^1\wedge x_j^2$ be a substitution that replaces each variable $x_j$ in with the conjunction $x_j^1\wedge x_j^2$, where $x_j^1$ and $x_j^2$ are two new variables. Let $G$ be the formula which is obtained from $F$ by applying the substitution above to all variables, and then converting it back to a CNF formula. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Clearly, $F$ is unsatisfiable if and only if $G$ is unsatisfiable. Additionally, $G$ is a $O(k)$-CNF with at most $2^{k}\cdot m$ clauses, &#xA;since intuitively each clause of F is expanded into at most $2^{k}$ clauses. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question:&lt;/strong&gt; Suppose we have a resolution refutation $P$ for $F$ of size $s$. Can $P$ be converted into a resolution refutation for $G$ of size $s^{O(1)}$? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I feel that there might be a standard trick for getting such conversion but I couldn't find any reference. The idea I had in mind was to apply the substitution on each clause appearing in the proof, and then use the fact that resolution is implicationally complete.  But this would only work for refutations of small width, since each clause of width $r$ may be get expanded into up to 2^r clauses.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;References or suggestions are very welcome. &lt;/p&gt;&#xA;" OwnerUserId="34999" LastEditorUserId="34999" LastEditDate="2015-08-01T09:12:31.047" LastActivityDate="2015-08-01T09:12:31.047" Title="Substitution in Resolution Proofs" Tags="&lt;reference-request&gt;&lt;resolution&gt;" AnswerCount="0" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32151" PostTypeId="1" AcceptedAnswerId="32156" CreationDate="2015-08-01T16:05:40.347" Score="9" ViewCount="577" Body="&lt;p&gt;Let $G$ and $H$ be two $r$-regular connected graphs of size $n$.&#xA;Let $A$ be the set of permutations $P$ such that $PGP^{-1}=H$. &#xA;If $G=H$ then $A$ is the set of automorphisms of $G$.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What is the best known upper-bound on the size of of $A$?&lt;br&gt;&#xA;  Are there any results for particular graph classes (not containing complete/cycle graphs)? &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Note: &#xA;Constructing the automorphism group is at least as difficult &#xA;(in terms of its computational complexity) as solving the graph isomorphism problem. &#xA;In fact, just counting the automorphisms is polynomial-time equivalent to &#xA;graph isomorphism, c.f. R. Mathon, &quot;A note on the graph isomorphism counting problem&quot;.&lt;/p&gt;&#xA;" OwnerUserId="27242" LastEditorUserId="186" LastEditDate="2015-08-01T17:38:55.190" LastActivityDate="2015-08-01T18:23:28.217" Title="Number of Automorphisms of a graph for graph isomorphism" Tags="&lt;reference-request&gt;&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;graph-isomorphism&gt;&lt;gr.group-theory&gt;" AnswerCount="2" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32152" PostTypeId="2" ParentId="32151" CreationDate="2015-08-01T16:26:19.063" Score="5" Body="&lt;p&gt;If you allow the graphs to be disconnected, &#xA;then there are no good upper bounds, &#xA;with respect to the number of vertices. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For $r$-regular graphs take the disjoint union of $l$ complete graphs $K_{r+1}$. Then the graph has $(r+1)\cdot l$ vertices, and $(r+1)!\cdot l!$ automorphisms. &lt;/p&gt;&#xA;" OwnerUserId="35005" LastEditorUserId="186" LastEditDate="2015-08-01T17:37:43.807" LastActivityDate="2015-08-01T17:37:43.807" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32153" PostTypeId="1" AcceptedAnswerId="32182" CreationDate="2015-08-01T16:27:39.673" Score="1" ViewCount="131" Body="&lt;p&gt;Let us say that a graph class has the &lt;strong&gt;jump property,&lt;/strong&gt; if it either contains all $n$-vertex graphs for every large enough $n$, or else the fraction of $n$-vertex graphs that belong to the class approaches 0, as $n\rightarrow\infty$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The answers to an earlier question (see &#xA;&lt;a href=&quot;https://cstheory.stackexchange.com/questions/32112/can-a-hereditary-graph-class-contain-almost-all-but-not-all-n-vertex-graphs&quot;&gt;here&lt;/a&gt;) show that every hereditary graph class has this jump property.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question:&lt;/strong&gt; What are some other (nontrivial) examples of graph classes with this  property? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Note:&lt;/em&gt; It would be good to see natural examples, that is, classes that arise from independent considerations, not created just for the sake of the jump property.&lt;/p&gt;&#xA;" OwnerUserId="12710" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2015-08-04T17:55:54.770" Title="Graph classes with a &quot;jump property&quot;" Tags="&lt;graph-theory&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32154" PostTypeId="1" CreationDate="2015-08-01T16:36:26.190" Score="3" ViewCount="96" Body="&lt;p&gt;When analyzing the theoretical expressive power of programming languages (not the verbosity of the programming languages or how concise programs are) are there further criteria besides the class of formal grammar in the Chomsky's hierarchy and the type of logic chosen (for example first/second/higher-order, type logic or whatever other logic formalism)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there an analysis of expressive power of data structures? Are there other constrains that limit the expressiveness of a computer language? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It seems that all these formalisms deal only with how we combine ideas, but not how well we can express an idea using a programming language. For example, they don't enter into the question of the limitations of an imaginary programming language with only a binary and integer primitive type.&lt;/p&gt;&#xA;" OwnerUserId="35006" LastActivityDate="2015-08-01T16:36:26.190" Title="Expressive power of computer languages: it's all about the syntax/logic?" Tags="&lt;language-design&gt;" AnswerCount="0" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="32155" PostTypeId="2" ParentId="3473" CreationDate="2015-08-01T17:05:07.503" Score="7" Body="&lt;p&gt;A subset $U\subseteq V(G)$ of a graph $G$ is a &lt;em&gt;disconnected cutset&lt;/em&gt; if $G[U]$ and $G-U$ are disconnected.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Deciding if a graph of diameter 1 has a disconnected cutset is trivial.&#xA;The problem becomes NP-hard on graphs of diameter 2&#xA;&lt;a href=&quot;http://link.springer.com/chapter/10.1007%2F978-3-642-23786-7_43&quot;&gt;see this paper&lt;/a&gt;&#xA;and is again easy on graphs of diameter at least 3 &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0304397508009407&quot;&gt;see this paper&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="13136" LastActivityDate="2015-08-01T17:05:07.503" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32156" PostTypeId="2" ParentId="32151" CreationDate="2015-08-01T18:16:18.587" Score="9" Body="&lt;p&gt;&lt;a href=&quot;http://www.jstor.org/stable/2043017?seq=1#page_scan_tab_contents&quot;&gt;Wormald&lt;/a&gt; has shown that if $G$ is a connected $3$-regular graph with 2n vertices then the number of automorphisms of $G$ divides $3n\cdot 2^n$. In particular this gives a non-trivial exponential upper-bound for the $3$-regular case. Maybe there are results in this line for general $k$-regular graphs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For a lower bound, consider formula $F$ with $n$ inputs whose gates are addition $\mod k$ gates of fan-in 2.  Then using a resut of &lt;a href=&quot;http://epubs.siam.org/action/showAbstract?page=1093&amp;amp;volume=33&amp;amp;issue=5&amp;amp;journalCode=smjcat&amp;amp;isAuthorized=no&quot;&gt;Toran&lt;/a&gt; one can construct a $k$-regular graph $G(F)$ with $O(k^2\cdot n)$ vertices whose automorphism group encodes all possible evaluations of $F$. This implies that the number of automorphisms of&#xA;$G(F)$ is at least $k^n$. This shows that the there is an exponential lower bound for the number of automorphisms of $k$-regular graphs in function of its number of vertices. &lt;/p&gt;&#xA;" OwnerUserId="4237" LastEditorUserId="4237" LastEditDate="2015-08-01T18:23:28.217" LastActivityDate="2015-08-01T18:23:28.217" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="32157" PostTypeId="1" CreationDate="2015-08-02T03:33:44.247" Score="7" ViewCount="152" Body="&lt;p&gt;If my understanding is correct, one way to check if a set of $m$ data points is linearly separable is to use support vector machines to find a maximum margin hyperlane for separating the data; the data is linearly separable if and only if such a hyperplane exists. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If the data consists of $m$ pairs $(x_1, y_1), \ldots, (x_m,y_m)$, with $x_i \in \{0,1\}^n$ and $y_i \in \{0,1\}$, do we know what the worst case running time is for finding whether or not a maximum margin hyperlane exists?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I can't seem to find a straightforward answer to this. Section 1.4.2 of &lt;a href=&quot;https://mitpress.mit.edu/sites/default/files/titles/content/9780262026253_sch_0001.pdf&quot;&gt;this&lt;/a&gt; says something about complexity and the number of support vectors, but the section also begins by mentioning a &lt;em&gt;lower&lt;/em&gt; bound. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, &lt;a href=&quot;http://www.kyb.mpg.de/fileadmin/user_upload/files/publications/attachments/neco_%5B0%5D.pdf&quot;&gt;this&lt;/a&gt; seems to cite a running time of $O(max(m, n) \times min(m, n)^2)$, at least for the running time of the optimization part of the problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;These texts are not clear to me. Can someone break down the running time for this algorithm? Is the worst case running time known? Can SVMs detect if the $m$ points are linearly separable in polynomial time?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;p.s. I am aware that linear programming can solve this in polynomial time ($\text{poly}(mn)$ I think?), but I would like to know how support vector machines behave here.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit: The Bottou, Lin chapter seems to come from this &lt;a href=&quot;https://mitpress.mit.edu/books/large-scale-kernel-machines&quot;&gt;book&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="35011" LastEditorUserId="3984" LastEditDate="2015-08-02T14:45:13.247" LastActivityDate="2015-08-02T14:45:13.247" Title="SVM - running time for detecting if data is linearly separable?" Tags="&lt;optimization&gt;&lt;linear-programming&gt;&lt;convex-optimization&gt;&lt;svm&gt;" AnswerCount="0" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32158" PostTypeId="2" ParentId="32122" CreationDate="2015-08-02T09:06:33.227" Score="6" Body="&lt;p&gt;In &lt;a href=&quot;http://arxiv.org/pdf/quant-ph/0303055v1.pdf&quot; rel=&quot;noreferrer&quot;&gt;http://arxiv.org/pdf/quant-ph/0303055v1.pdf&lt;/a&gt;, it is shown that the &lt;em&gt;weak&lt;/em&gt; membership problem for the set of separable states is NP-hard. As you can see in Definition 6.2 (page 18), this amounts to deciding if a state has a separable decomposition &lt;em&gt;up to accuracy $\delta$.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you want to convert this to a search problem, you can thus do so by using a $\delta$-net on the set of all separable decompositions and doing an exhaustive search.  Note that the maximal number of terms required in such a decomposition is bounded by $(d_Ad_B)^2$ (where $d_A$ and $d_B$ are the dimensions of the two systems). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In particular, such a decomposition to accuracy $\delta$ can be used as a proof for weak membership in the set of separable states, proving that the problem is in NP.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that the problem clearly remains NP-hard for any higher accuracy (i.e. any accuracy which increases with the problem size).  On the other hand, since any separable decomposition with $N$ digits of accuracy can be verified in $\mathrm{poly}(N)$ time, the problem remains inside NP (and thus NP-complete) even with an exponential precision.&lt;/p&gt;&#xA;" OwnerUserId="4047" LastEditorUserId="4047" LastEditDate="2015-08-03T07:06:50.073" LastActivityDate="2015-08-03T07:06:50.073" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="32159" PostTypeId="2" ParentId="32141" CreationDate="2015-08-02T09:35:14.170" Score="2" Body="&lt;p&gt;The manufacturers of the computing hardware themselves are their own customers, and use supercomputing to approximatively solve a number of well-know and more obscure NP-hard tasks. One of the oldest and best-known is &lt;a href=&quot;https://en.wikipedia.org/wiki/Place_and_route&quot; rel=&quot;nofollow&quot;&gt;place-and-route&lt;/a&gt;, a short overview of &lt;a href=&quot;https://en.wikipedia.org/wiki/Electronic_design_automation&quot; rel=&quot;nofollow&quot;&gt;electronic design automation&lt;/a&gt; reveals many more NP-hard tasks.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Often the employed algorithms are true NP algorithms, whose success (or approximation quality) depend crucially on &lt;em&gt;additional&lt;/em&gt; hints directly and indirectly provided. A typical indirect hint is the hierarchical structure used for &lt;em&gt;compression&lt;/em&gt; in the input file formats. A direct hint might be given by restricting the range of some parameter which is optimized, but the need and possibility for giving hints can go far beyond that.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Rather than dismissing those hint as cheating and semi-automation, it can make sense to explicitly acknowledge the need for those hints. &lt;a href=&quot;https://www.cis.upenn.edu/~alur/nw.html&quot; rel=&quot;nofollow&quot;&gt;Nested Words and Visibly Pushdown Languages used for Program Analysis&lt;/a&gt; are an example of an explicit theoretical framework showing which hints are needed for shifting some problems to more tractable complexity classes.&lt;/p&gt;&#xA;" OwnerUserId="20340" LastActivityDate="2015-08-02T09:35:14.170" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32160" PostTypeId="1" AcceptedAnswerId="32168" CreationDate="2015-08-02T10:17:31.213" Score="26" ViewCount="3960" Body="&lt;p&gt;Motivated by Fortnow's comment on my post, &lt;a href=&quot;https://cstheory.stackexchange.com/questions/29266/evidence-that-graph-isomorphism-problem-is-not-np-complete&quot;&gt;Evidence that Graph Isomorphism problem is not $NP$-complete&lt;/a&gt;, and by the fact that $GI$ is a prime candidate for $NP$-intermediate problem (not $NP$-complete nor in $P$), I am interested in known evidences that $GI$ is not in $P$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One such evidence is the $NP$-completeness of a restricted Graph Automorphism problem(fixed-point free graph automorphism problem is $NP$-complete). This problem and other generalizations of $GI$ were studied in &quot;&lt;a href=&quot;http://epubs.siam.org/doi/abs/10.1137/0210002&quot; rel=&quot;nofollow noreferrer&quot;&gt;Some NP-complete problems similar to Graph Isomorphism&lt;/a&gt;&quot; by Lubiw. Some may argue as evidence the fact that despite more than 45 years no one found polynomial-time algorithm for $GI$. &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What other evidence do we have to believe that $GI$ is not in $P$?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="495" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2019-11-22T10:53:39.397" Title="What evidence is there that Graph Isomorphism is not in $P$?" Tags="&lt;cc.complexity-theory&gt;&lt;graph-isomorphism&gt;" AnswerCount="4" CommentCount="6" FavoriteCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="32161" PostTypeId="2" ParentId="32126" CreationDate="2015-08-02T11:23:34.670" Score="4" Body="&lt;p&gt;Consider a prime $p$ and let $g$ be a primitive root mod $p$. The set $ A= \{ (x,g^{x}), x=0,..,p-2\}$ is a Sidon set in $Z_{p-1} \times Z_{p}$. This is an explicit method. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, since $Z_{p-1} \times Z_{p}$ is isomorphic to $Z_{p(p-1)}$, then the natural isomorphism $\Phi$ maps $A$ in $\Phi(A)$, which is also a Sidon set in $Z_{p(p-1)}$, which is a Sidon set in $[1,p(p-1)]$.&lt;/p&gt;&#xA;" OwnerUserId="35014" LastEditorUserId="5038" LastEditDate="2015-08-03T01:56:08.350" LastActivityDate="2015-08-03T01:56:08.350" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32162" PostTypeId="2" ParentId="32160" CreationDate="2015-08-02T16:28:19.613" Score="11" Body="&lt;p&gt;The smallest set of permutations you have to check to verify that no non-trivial permutations exist in a black box setting is better than $n!$ but still exponential, &lt;a href=&quot;http://oeis.org/A186202&quot; rel=&quot;nofollow&quot;&gt;OEIS A186202&lt;/a&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The number of bits needed to store an unlabeled graph is $log_{2}$ of ${n\choose 2}-n log(n) +O(n)$. See Naor, Moni. &quot;Succinct representation of general unlabeled graphs.&quot; Discrete Applied Mathematics 28.3 (1990): 303-307. The compression method proof is a bit cleaner if I recall. Anyway, lets call that set $U$. Let $L=2^{{n\choose 2}}$ for labeled graphs.&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;--Haskell notation&#xA;graphCanonicalForm :: L -&amp;gt; U&#xA;&#xA;graphIsomorphism :: L -&amp;gt; L -&amp;gt; Bool&#xA;graphIsomorphism a b = (graphCanonicalForm a) == (graphCanonicalForm b)    &#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;$U^L$ and $Bool^{L^{L}}$ if you convert to exponentials. Just examining their type signatures putting graphs in canonical form looks easier, but as shown above GC makes GI easy.&lt;/p&gt;&#xA;" OwnerUserId="2021" LastEditorUserId="2021" LastEditDate="2015-08-05T02:25:14.880" LastActivityDate="2015-08-05T02:25:14.880" CommentCount="10" ContentLicense="CC BY-SA 3.0" />
  <row Id="32163" PostTypeId="2" ParentId="31361" CreationDate="2015-08-02T18:36:03.440" Score="2" Body="&lt;p&gt;It depends what you mean by &quot;learn[ing] the manifold&quot;, but here are a few papers that present some algorithms and a theoretical analysis:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Isomap (see tech report by Bernstein, de Silva, Langford and Tenenbaum)&lt;/li&gt;&#xA;&lt;li&gt;Random linear projections (see paper by Ken Clarkson)&lt;/li&gt;&#xA;&lt;li&gt;Nash-type embedding (see paper by Nakul Verma)&lt;/li&gt;&#xA;&lt;li&gt;Maximum variance unfolding (see arXiv:1209.0016)&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;In terms of using/exploiting manifold structure to help learning or estimation, there are many such results. For example, many of the papers by Misha Belkin and Samory Kpotufe explore this direction.&lt;/p&gt;&#xA;" OwnerUserId="35020" LastActivityDate="2015-08-02T18:36:03.440" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32164" PostTypeId="1" AcceptedAnswerId="32165" CreationDate="2015-08-02T22:00:49.813" Score="4" ViewCount="89" Body="&lt;p&gt;My current (very limited) understanding of the creative process that leads to the design of self-replicators is that any particular self-replicator, like Universal Constructor, Langton's loop or Evoloop, are designed by painstaking, lengthy, meticulous design/engineering, which often involves composing units designed by previous mathematicians/hobbyists into more advanced and better behaved self-replicators. In other words, I believe that the current process of designing a self-replicator is following:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Take a self-replicator somebody designed before.&lt;/li&gt;&#xA;&lt;li&gt;Get an idea of improving it, based on some theoretical research that somebody did, a gut feeling, an idea that's been floated around, a dream you had last night etc. The idea should improve the self-replicator with respect to some property that is commonly recognised to be worth improving (lower period, less fragility, sexual reproduction, etc.).&lt;/li&gt;&#xA;&lt;li&gt;Try to make it work by working through multiple versions of the design, continuously refining the idea, and doing &lt;em&gt;a ton&lt;/em&gt; of micro-optimisation. If you succeed go to step 1, and try to improve your new replicator. If you fail, go to step 2 and pick a different idea.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;This method obviously works very well, as shown by the progress in the field, and is not very different from how &lt;a href=&quot;https://terrytao.wordpress.com/career-advice/dont-prematurely-obsess-on-a-single-big-problem-or-big-theory/&quot; rel=&quot;nofollow&quot;&gt;in general progress in mathematics works&lt;/a&gt;. However, I've been thinking lately of a &lt;em&gt;different approach&lt;/em&gt; to the problem, and I couldn't find any prior art trying this approach.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The process, let's call it &quot;Self-Replicator Data-Mining&quot; would be following:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Take the largest grid you can quickly evolve on your hardware. Size would most likely be limited by the amount of RAM you can devote to a GPU shader, which assuming to be 12 GB, gives a grid of about 100,000^2 squares.&lt;/li&gt;&#xA;&lt;li&gt;Pick a &quot;rich&quot; set of rules, like &lt;a href=&quot;https://en.wikipedia.org/wiki/Brian%27s_Brain&quot; rel=&quot;nofollow&quot;&gt;Brian's Brain&lt;/a&gt;, to get &lt;strong&gt;a lot&lt;/strong&gt; of chaos (you'll have to work on a torus).&lt;/li&gt;&#xA;&lt;li&gt;Run it for about 8 months, periodically saving the state to a hard drive for backups. A back-of-envolope calculation &lt;a href=&quot;https://www.wolframalpha.com/input/?i=8+months+*+%28%28672+GB%2Fsecond%29%2F%2812+GB%29%29+&quot; rel=&quot;nofollow&quot;&gt;shows&lt;/a&gt; that this would give you about billion steps of a simulation.&lt;/li&gt;&#xA;&lt;li&gt;In meantime, design an algorithm which can &lt;em&gt;recognise&lt;/em&gt; a self-replicator by looking at the grid after the nth iteration. The algorithm might be very slow, because it only needs to work once. It does sound like the biggest challenge -- and probably would involve some machine learning/ pattern recognition. In principle a parent can replicate to a slightly mutated child, which would make data mining of self-replicators even more difficult.&lt;/li&gt;&#xA;&lt;li&gt;Publish your newly discoverd self-replicator(s) if you manage to find any. Or go to step 2 and pick a different set of rules, or wait for a graphics card with 120 GB of RAM, or run your simulation for 8 years, or abandon the method entirely in favour of something more fruitful.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Has anything like this ever been tried? Is it a path worth pursuing or are there any obvious flaws?&lt;/p&gt;&#xA;" OwnerUserId="13859" LastEditorUserId="1037" LastEditDate="2018-10-29T17:06:23.340" LastActivityDate="2018-10-29T17:06:23.340" Title="Data Mining of self-replicators" Tags="&lt;machine-learning&gt;&lt;ne.neural-evol&gt;&lt;markov-chains&gt;&lt;cellular-automata&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32165" PostTypeId="2" ParentId="32164" CreationDate="2015-08-03T00:34:10.830" Score="7" Body="&lt;p&gt;Most of the patterns in my collection at &lt;a href=&quot;http://www.ics.uci.edu/~eppstein/ca/replicators/&quot; rel=&quot;noreferrer&quot;&gt;http://www.ics.uci.edu/~eppstein/ca/replicators/&lt;/a&gt; were found with a somewhat different heuristic search process, that was intended to find puffers but also turns out to work for replicators:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Pick a small random seed pattern&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Simulate a moderate number of steps of a modified version of the cellular automaton rule, starting with that seed. The modification is: if you find a small enough set of live cells, separated by far enough from the rest of the pattern, delete them.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;If the simulation finds two states that have the same pattern of cells (but possibly shifted with respect to each other), check it against a collection of known repetitions and shifts and, if it seems new, report it. See &lt;a href=&quot;https://en.wikipedia.org/wiki/Cycle_detection&quot; rel=&quot;noreferrer&quot;&gt;https://en.wikipedia.org/wiki/Cycle_detection&lt;/a&gt; for efficient methods of finding repeated patterns that don't involve testing all against all.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Many replicators eventually reach a state with just two copies of the replicator far from each other, after which the modification to the rule deletes one of them and you get a repetition.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2015-08-03T00:34:10.830" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32167" PostTypeId="1" AcceptedAnswerId="32301" CreationDate="2015-08-03T05:24:53.447" Score="4" ViewCount="579" Body="&lt;p&gt;Let $G(V_1, V_2, E)$ be a bipartite graph such that degree of all the vertices in $V_1$ is bounded by some constant (say) $d$. Now, for given two positive integer $l$ and $k$, we wish to decide if there is a vertex cover $A\cup B$ with $|A|\leq l$&#xA;and $|B|\leq k$,  where $A\subseteq V_1, B \subseteq V_2.$ &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, I have following two questions:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) What is the complexity of the above problem when both $k$ and $l$ are part of input. (Intuitively, it appears to be hard.) If it is hard, then is there any PTAS known to approximate the problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) What is the complexity of the problem when one of the parameters $k$ or $l$ is constant?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Pls let me know if there is any doubt about the problem. &lt;/p&gt;&#xA;" OwnerUserId="22594" LastActivityDate="2015-08-17T05:53:50.693" Title="Constrained version of vertex cover in a bipartite graph" Tags="&lt;graph-theory&gt;&lt;approximation-algorithms&gt;&lt;bipartite-graphs&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32168" PostTypeId="2" ParentId="32160" CreationDate="2015-08-03T08:37:55.167" Score="14" Body="&lt;p&gt;Before this question, my opinion was that Graph Isomorphism might be in P, i.e. that there is no evidence to believe that GI is not in P. So I asked myself what would count as evidence for me: If there were mature algorithms for $p$-group isomorphism that fully exploited the available structure of $p$-groups and still would have no hope to achieve polynomial runtime, then I would agree that GI is probably not in P. There are known algorithms that exploit the available structure like &lt;a href=&quot;http://www.ams.org/mathscinet-getitem?mr=1283739&quot;&gt;&lt;em&gt;Isomorphism testing for $p$-groups.&lt;/em&gt; by O'Brien (1994)&lt;/a&gt;, but I haven't read it in sufficient detail to judge whether it fully exploits the available structure, or whether there is any hope to improve this algorithm (without exploiting additional non-obvious structure of $p$-groups) to achieve polynomial runtime.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But I knew that Dick Lipton called for action near the end of 2011 to clarify the computational complexity of the group isomorphism problem in general, and of the $p$-group isomorphism problem specifically. So I googled for&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;site:https://rjlipton.wordpress.com group isomorphism&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;in order to see whether the call for action had been successful. It was indeed:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://rjlipton.wordpress.com/2011/11/07/the-group-isomorphism-problem-a-possible-polymath-problem/&quot;&gt;The Group Isomorphism Problem: A Possible Polymath Problem?&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://rjlipton.wordpress.com/2013/05/11/advances-on-group-isomorphism/&quot;&gt;Advances on Group Isomorphism&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://rjlipton.wordpress.com/2014/02/17/three-from-ccc/&quot;&gt;Three From CCC: Progress on Group Isomorphism&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;The last post reviews a paper which achieves $n^{O(\log \log n)}$ runtime for certain important families of groups, exploits much of the available structure, and acknowledges the above mentioned paper from 1994. Because the $n^{O(\log \log n)}$ runtime bound is both compatible with the experience that graph isomorphism is not hard in practice, and with the experience that nobody is able to come up with a polynomial time algorithm (even for group isomorphism), this can be counted as evidence that GI is not in P.&lt;/p&gt;&#xA;" OwnerUserId="20340" LastActivityDate="2015-08-03T08:37:55.167" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="32169" PostTypeId="2" ParentId="79" CreationDate="2015-08-03T10:17:01.473" Score="3" Body="&lt;p&gt;A problem that is not known to be either in FP or to be NP-hard is the problem of finding a minimal Steiner tree when the Steiner vertices are promised to fall on two straight line segments intersecting at an angle of 120°.&#xA;If the angle between the line segments is less than 120°, then the problem is NP-hard.&#xA;It is conjectured that when the angle is greater than 120°, then the problem is in FP.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hence the following decision problem currently appears to be of intermediate complexity:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Minimal 120°-Steiner tree&lt;/strong&gt;&lt;br&gt;&#xA;  &lt;em&gt;Input:&lt;/em&gt; a finite set of points in the plane, lying on two line segments intersecting at an angle of 120°, and a positive rational number $q$.&lt;br&gt;&#xA;  &lt;em&gt;Question:&lt;/em&gt; is there a Steiner tree of total length at most $q$?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Of course, this may actually be in P or be NP-complete, but then it seems we would have an interesting dichotomy at 120° instead of an intermediate problem.&#xA;(The conjecture may also be false.)&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;J. H. Rubinstein, D. A. Thomas, N. C. Wormald, &lt;em&gt;Steiner Trees for Terminals Constrained to Curves&lt;/em&gt;, SIAM J. Discrete Math. &lt;strong&gt;10&lt;/strong&gt;(1) 1–17, 1997.&#xA;doi:&lt;a href=&quot;http://dx.doi.org/10.1137/S0895480192241190&quot; rel=&quot;nofollow&quot;&gt;10.1137/S0895480192241190&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="109" LastActivityDate="2015-08-03T10:17:01.473" CommentCount="0" CommunityOwnedDate="2015-08-03T10:17:01.473" ContentLicense="CC BY-SA 3.0" />
  <row Id="32171" PostTypeId="1" AcceptedAnswerId="32174" CreationDate="2015-08-03T12:45:10.790" Score="8" ViewCount="428" Body="&lt;p&gt;In paper 'On vanishing of Kronecker coefficients' here in &lt;a href=&quot;http://arxiv.org/pdf/1507.02955v1.pdf&quot;&gt;http://arxiv.org/pdf/1507.02955v1.pdf&lt;/a&gt;, it is showed that deciding positivity of kronecker coefficients is in general NP hard. However there is a caveat which states that only positivity of 'rectangular Kronecker coefficients' is needed in &lt;a href=&quot;https://en.wikipedia.org/wiki/Geometric_complexity_theory&quot;&gt;GCT&lt;/a&gt;. What is the implication to GCT if this also turns to be NP hard? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A related question is what is consequence to GCT if there is no general positive formula akin to one for special case of LR coefficients?&lt;/p&gt;&#xA;" OwnerUserId="1812" LastEditorUserId="9453" LastEditDate="2015-08-03T18:11:11.057" LastActivityDate="2015-08-30T23:58:07.490" Title="A question on GCT" Tags="&lt;cc.complexity-theory&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="32172" PostTypeId="1" AcceptedAnswerId="32177" CreationDate="2015-08-03T14:35:27.760" Score="4" ViewCount="132" Body="&lt;p&gt;Programming languages with dependent types and/or higher-kinded types feature what might be called compile-time computation at the type-level.  This is usually defined as follows (I'm omitting some details for simplicity), see e.g. [1, 2, 3].&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;A notion $\equiv_{type}$ of type-equivalence is defined on types, e.g. $(\lambda x^{K}.\alpha)\beta \equiv_{type} \alpha[\beta/x]$  or $(\Pi x^{\alpha}.\beta)M \equiv_{type} \beta[M/x]$, where $M$ ranges over programs, $K$ over kinds, and $\alpha, \beta$ over types.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Then the typing system is enriched with a variant of the following rule.&#xA;$$&#xA;\frac{&#xA;\Gamma \vdash M : \alpha&#xA;\quad&#xA;\alpha \equiv_{type} \beta&#xA;}{&#xA;\Gamma \vdash M : \beta&#xA;}&#xA;$$&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;However, we can easily extend the relation $\equiv_{type}$ to typing environments $\Gamma$ pointwise,&#xA;and also to programs, e.g. $\lambda x^{\alpha}.M \equiv_{type} \lambda x^{\beta}.M$ whenever $\alpha \equiv_{type} \beta$, leading to a rule&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;\frac{&#xA;\Gamma \vdash M : \alpha&#xA;\quad&#xA;\Gamma \equiv_{type} \Delta&#xA;\quad&#xA;M \equiv_{type} N&#xA;\quad&#xA;\alpha \equiv_{type} \beta&#xA;}{&#xA;\Delta \vdash N : \beta&#xA;}&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have never seen this done. I assume that it's just a question of convenience and that both approaches are equally expressive, but I am not sure! Is there some problem with the second approach?&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;H. Barendregt, &lt;a href=&quot;http://www.diku.dk/hjemmesider/ansatte/henglein/papers/barendregt1991.pdf&quot; rel=&quot;nofollow&quot;&gt;Introduction to generalised type systems&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;H. Barendregt, &lt;a href=&quot;http://ttic.uchicago.edu/~dreyer/course/papers/barendregt.pdf&quot; rel=&quot;nofollow&quot;&gt;Lambda Calculi with Types&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;B. C. Pierce, Types and Programming Languages.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="898" LastEditorUserId="898" LastEditDate="2015-08-03T14:49:14.443" LastActivityDate="2015-08-03T21:55:46.840" Title="Rendering of type-level computation" Tags="&lt;type-theory&gt;&lt;type-systems&gt;&lt;dependent-type&gt;&lt;typed-lambda-calculus&gt;" AnswerCount="1" CommentCount="9" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32174" PostTypeId="2" ParentId="32171" CreationDate="2015-08-03T17:18:05.497" Score="10" Body="&lt;p&gt;Even if deciding positivity of Kronecker coefficients is NP-hard, or even if there is no general positive formula for them, it is still quite possible for GCT to &quot;work.&quot; Even under the preceding assumption, it is still possible that there is a positive formula (and even a polynomial-time decision procedure) for &lt;em&gt;some&lt;/em&gt; of the rectangular Kronecker coefficients. If one could find such a formula, and then show that the corresponding irreducible representations appear with nonzero multiplicity in the coordinate ring of the orbit closure of an appropriately-sized permanent, it would still prove the (Strong) Permanent versus Determinant Conjecture.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Update 8/30/15&lt;/strong&gt;: I should add that, independent of positive combinatorial formulae, I think the geometric approach to complexity, as in GCT, is a &lt;em&gt;very&lt;/em&gt; useful way to understand the structure of complexity classes, and using representation theory where it naturally arises (such as here) is always a Good Idea. Landsberg's work in this area is notable in this direction (i.e., using geometric techniques combined with representation theory, even in the absence of positive combinatorial formulae). &lt;strong&gt;[end update]&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[Now back to positive combinatorial formulae...] Even if more and more Kronecker coefficients end up being NP-hard to decide their vanishing, or if there isn't a positive combinatorial formula for them, (a) it is simply a testament to just how hard these problems are (after all, while GCT gets around the known barriers, it is still aiming at proving some very hard open problems), and/or (b) suggests where to narrow one's focus in order to get GCT to work (e.g., as above).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, although NP-hardness is &quot;bad news&quot; in general, it is not necessarily the end of the road. For example, although Hamiltonian Cycle is NP-hard, there are still lots of theorems and theoretical understanding around Hamiltonian cycles. The NP-hardness just leads one (or at least, me) to expect that there won't ever be a &quot;complete theory of Hamiltonian cycles&quot;. But one doesn't need such a &quot;complete theory of Kronecker coefficients&quot; to prove a lower bound via GCT - one just needs one family of representations that vanishes on the orbit closure of the determinant but not on the orbit closure of the permanent.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(This answer also applies to the recent paper of &lt;a href=&quot;http://arxiv.org/abs/1507.07131&quot; rel=&quot;nofollow&quot;&gt;Kahle and Michalek&lt;/a&gt; which shows that there are families of plethysm multiplicities that are not given by the number of integer points in a natural family of polytopes.)&lt;/p&gt;&#xA;" OwnerUserId="129" LastEditorUserId="129" LastEditDate="2015-08-30T23:58:07.490" LastActivityDate="2015-08-30T23:58:07.490" CommentCount="13" ContentLicense="CC BY-SA 3.0" />
  <row Id="32176" PostTypeId="2" ParentId="32160" CreationDate="2015-08-03T20:14:35.523" Score="9" Body="&lt;p&gt;Kozen in his paper, &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=990529&quot; rel=&quot;nofollow&quot;&gt;A clique problem equivalent to graph isomorphism&lt;/a&gt;, gives an evidence that $GI$ is not in $P$. The following is from the paper:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&quot;Nevertheless, it is likely that finding a polynomial time algorithm for graph isomorphism will be as difficult as finding a polynomial time algorithm for an NP-complete problem. In support of this claim, we give a problem equivalent to graph isomorphism, a small perturbation of which is NP-complete.&quot;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Also, Babai in his recent breakthrough paper &lt;a href=&quot;http://arxiv.org/abs/1512.03547&quot; rel=&quot;nofollow&quot;&gt;Graph Isomorphism in quasipolynomial time&lt;/a&gt; gives an argument against the existence of efficient algorithms for GI. He observes that the group isomorphism problem (which is reducible to GI) is a major obstacle to placing GI in $P$. Group Isomorphism problem ( groups are given by their Cayley tableis) is solvable in $n^{O(\log n)}$ and it is not known to be in $P$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is an excerpt from Babai's paper:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;The result of the present paper amplifies the significance of the Group Isomorphism problem (and the challenge problem stated) as a barrier to placing GI in P. It is quite possible that the intermediate status of GI (neither NP-complete, nor polynomial time) will persist.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2015-12-20T18:18:56.447" LastActivityDate="2015-12-20T18:18:56.447" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="32177" PostTypeId="2" ParentId="32172" CreationDate="2015-08-03T21:55:46.840" Score="3" Body="&lt;p&gt;In your reference [2], Barendregt shows that the rule&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$ \frac{\Gamma\vdash N:\alpha\quad M\rightarrow^* N\quad \alpha\equiv \beta}{\Gamma\vdash N:\beta} $$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;is indeed admissible for Pure Type Systems, as (a trivial consequence of) Corollary 5.2.16.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However there is an issue with your original rule already: the rule should read&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$ \frac{\Gamma\vdash N:\alpha\quad\alpha\equiv \beta\quad {\bf \Gamma\vdash\beta : s}}{\Gamma\vdash N:\beta} $$&#xA;for some sort $s$, otherwise you may introduce ill-formed types into your typing judgement, like $(\lambda x y. y)\ \Omega\ (\alpha\rightarrow\alpha)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This can be a problem for your extended rule, as usually you only allow &lt;em&gt;well-formed&lt;/em&gt; types into your context, with a rule along the lines of&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$ \frac{\Gamma\vdash \alpha:s}{\Gamma,x:\alpha\ \ \mathrm{wf}}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you add the relevant well-formedness requirements ($\Delta\ \mathrm{wf}$ and $\Delta\vdash\beta:s$), and restrict the term level to &lt;em&gt;reduction&lt;/em&gt; rather than conversion, then your sophisticated rule becomes admissible.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is a not completely trivial induction, using the following &lt;strong&gt;Lemma&lt;/strong&gt;:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;If $\Gamma\vdash t:\alpha$, $\Gamma\equiv\Delta$ and $\Delta\ \mathrm{wf}$ then $\Gamma\vdash t:\alpha$&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The lemma is proven by induction using an application of the conversion rule at the variable case. The theorem is then proven using the above lemma to discharge the conversion case.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;You could adopt the opposite point of view of keeping your more general conversion rule and &lt;strong&gt;weakening the context formation rule&lt;/strong&gt; to&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$ \frac{\Gamma\vdash \beta:s\quad \beta\equiv \alpha}{\Gamma,x:\alpha\ \ \mathrm{wf}}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;then you get a system with possibly ill-formed types, but no additional &lt;em&gt;typeable terms&lt;/em&gt;, though I think this is a very non-trivial result.&lt;/p&gt;&#xA;" OwnerUserId="3984" LastActivityDate="2015-08-03T21:55:46.840" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="32178" PostTypeId="2" ParentId="32160" CreationDate="2015-08-04T03:25:26.317" Score="5" Body="&lt;p&gt;here are other results not cited yet&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://www.uni-ulm.de/fileadmin/website_uni_ulm/iui.inst.190/Mitarbeiter/toran/hard.pdf&quot;&gt;On the hardness of Graph Isomorphism&lt;/a&gt; / Torán&#xA;FOCS 2000 and SIAM J. Comput. 33, 5 1093-1108.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;We show that the graph isomorphism problem is hard under DLOGTIME uniform AC&lt;sup&gt;0&lt;/sup&gt; many-one reductions for the complexity classes NL, PL (probabilistic logarithmic space) for every logarithmic space modular class Mod&lt;sub&gt;k&lt;/sub&gt;L and for the class DET of problems NC&lt;sup&gt;1&lt;/sup&gt; reducible to the determinant. These are the strongest known hardness results for the graph isomorphism problem and imply a randomized logarithmic space reduction from the perfect matching problem to graph isomorphism. We also investigate hardness results for the graph automorphism problem.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://eccc.hpi-web.de/report/2010/117/download/&quot;&gt;Graph Isomorphism is not AC&lt;sup&gt;0&lt;/sup&gt; reducible to Group Isomorphism&lt;/a&gt; / Chattopadhyay, Toran, Wagner&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;We give a new upper bound for the Group and Quasigroup Isomorphism problems when the input structures are given explicitly by multiplication tables. We show that these problems can be computed by polynomial size nondeterministic circuits of unbounded fan-in with O(log log n) depth and O(log&lt;sup&gt;2&lt;/sup&gt; n) nondeterministic bits, where n is the number of group elements. This improves the existing upper bound from [Wol94] for the problems. In the previous upper bound the circuits have bounded fanin but depth O(log&lt;sup&gt;2&lt;/sup&gt; n) and also O(log&lt;sup&gt;2&lt;/sup&gt; n) nondeterministic bits. We then prove that the kind of circuits from our upper bound cannot compute the Parity function. Since Parity is AC&lt;sup&gt;0&lt;/sup&gt; reducible to Graph Isomorphism, this implies that Graph Isomorphism is strictly harder than Group or Quasigroup Isomorphism under the ordering defined by AC&lt;sup&gt;0&lt;/sup&gt; reductions.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2015-08-04T03:25:26.317" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="32179" PostTypeId="1" CreationDate="2015-08-04T10:20:24.430" Score="4" ViewCount="273" Body="&lt;p&gt;We know that using FFT we can compute multiplication of an $a$ bit number with a $b$ bit number in $(a+b)^{1+\epsilon}$ time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is supposing we want to compute $A\bmod B$ where $A$ is an $a=f(b)$ bit number for some linear function of $b$ with $B$ a $b$ bit number, what is the time and space complexity of such an operation? Could it be done in fully linear ($O(a+b)$) time and space complexity (at least assuming $B$ is fixed per $b$ bits and $A$ is input)? I have been unable to find such a reference or procedure for this operation even when $B$ is fixed (which is the case useful in operations such as Diffie Hellman key exchange).&lt;/p&gt;&#xA;" OwnerUserId="1812" LastEditorUserId="1812" LastEditDate="2015-08-05T04:31:30.970" LastActivityDate="2015-08-16T15:36:30.110" Title="Bit complexity of modulo operations?" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;" AnswerCount="0" CommentCount="7" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32180" PostTypeId="1" CreationDate="2015-08-04T11:22:47.220" Score="8" ViewCount="126" Body="&lt;p&gt;Good day. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm currently reading the paper &quot;Purely Functional Representations of Catenable Sorted Lists&quot; by Tarjan and Kaplan&lt;a href=&quot;http://www.math.tau.ac.il/~haimk/papers/loglog23.ps&quot; rel=&quot;nofollow&quot;&gt;[link to the paper]&lt;/a&gt;. But I have a question&#xA;about the modified 2-3 finger search trees in Section 3(nodes of degrees 1 to 4 are allowed on left and right spines).&#xA;Below I briefly describe the problem and where I have the question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More precisely, I interest in how they maintain the Invariant 3.1 during the insertion. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Invariant 3.1&lt;/strong&gt;:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;There are no two 4-nodes with a 3-list between them.&lt;/li&gt;&#xA;&lt;li&gt;There are no two 1-nodes with a 2-list between them.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;They denote the node on the right spine where they insert the element as&#xA;$v$. If $v$ is node of degree 2 or 3 then $y$ denotes the {2-3}-list where $v$ is.&#xA;The insertion operation inserts a key into the regular 2-3 tree $T$ to which $v$ points to.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are two possible cases:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;The height of the tree does not increase.&lt;/li&gt;&#xA;&lt;li&gt;The height of the tree increases by one. Then the inserting algorithm instead&#xA;of splitting the root returns two trees $T_1$ and $T_2$ of the same height as $T$,&#xA;and a key $k$.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;If the case 2 occurs the the degree of $v$ increases by one since it has to point to&#xA;$T_1$ and $T_2$.&#xA;We use the operations Fix&amp;amp;Push and Fix&amp;amp;Concatenate(defined in the paper) to maintain the Invariants 3.1. &#xA;There are four cases according to the change in the degree of $v$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have a question about the case 2: degree of $v$ changes from $3$ to $4$.&#xA;We perform Fix&amp;amp;Push(v, $S_u$) and Fix&amp;amp;Catenate($S_u$, $S_l$), where&#xA;$S_u$ and $S_l$ are the list containing elements of the spine list(I did not give exact definitions here because I count on the help of the researchers how have read the paper). Consider the following example. Let right spine's list $R$ = {{2}, {3, 3, &lt;strong&gt;3&lt;/strong&gt;, 3, 3}, 4}. Then $v$ is bolded element(third element) and $y$ = {3, 3, 3, 3, 3}. After the split of $R$ we have: $S_u$ = {2, {3, 3}} and $S_l$ = {{3, 3}, 4}.&#xA;The degree of $v$ is 4 after the insertion. Then the result of Fix&amp;amp;Push(v, $S_u$) is $S_u$ = {2, {3, 3}}, 4}. And the result of  Fix&amp;amp;Catenate($S_u$, $S_l$) is {{2}, {3, 3}, &lt;strong&gt;4, {3, 3}, 4&lt;/strong&gt;}. This violates the Invariant 3.1(bolded elements).&#xA;This is due to the fact that Fix&amp;amp;Catenate does not fix the cases like&#xA;Fix&amp;amp;Catenate({{3, 3}, 4}, {{3, 3}, 4}). It's very easy to fix it: just add the necessary operations in the Fix&amp;amp;Catenate. But I do not understand why did not the authors do this? May be I'm missing something?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thank you for help. I understand that the description of the problem is vague, but I hope the researches which have read this paper will understand my question.&lt;/p&gt;&#xA;" OwnerUserId="29242" LastEditorUserId="29242" LastEditDate="2015-08-12T11:05:43.730" LastActivityDate="2015-08-12T11:05:43.730" Title="Purely Functional Representations of Catenable Sorted Lists question" Tags="&lt;ds.algorithms&gt;&lt;ds.data-structures&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32181" PostTypeId="1" CreationDate="2015-08-04T14:11:12.280" Score="6" ViewCount="393" Body="&lt;p&gt;The notation is mostly taken from the book &quot;Markov chains and mixing times&quot; by Levin, Peres, and Wilmer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider an irreducible, aperiodic, time-reversible, discrete-time Markov chain on a finite state space. The relaxation time $t_{\mathrm{rel}}$ is the reciprocal of the absolute spectral gap. The $\epsilon$-mixing time $t_{\mathrm{mix}}(\epsilon)$ is the shortest time in which, regardless of any initialization, the state becomes $\epsilon$-close to the stationary distribution in the total variation sense. The two are related as:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Levin-Peres-Wilmer (Theorem 12.3, 12.4)&#xA;  $$(t_{\mathrm{rel}}-1)\log\frac{1}{2\epsilon}\leq t_{\mathrm{mix}}(\epsilon)\leq t_{\mathrm{rel}}\log\frac{1}{\epsilon\min_x\pi(x)}~,$$&#xA;  where $\min_x\pi(x)$ is the smallest atom of the stationary distribution.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;If the Markov chain is a random walk on a 3-regular expander graph, then $t_{\mathrm{rel}}$ is a constant, but $t_{\mathrm{mix}} = \Theta(\log n)$ if the graph has $n$ vertices. Thus, the upper bound here better describes the behavior of the mixing time relative to the relaxation time, since $\pi(x) = \frac 1n$ for all $x.$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is: How large can the ratio $\frac{t_{\mathrm{mix}}(1/8)}{t_{\mathrm{rel}}}$ be? From above theorem, it is at most $\log\frac{8}{\min_x\pi(x)},$ but can it indeed be as large as this when $\min_x \pi(x)$ may be very very tiny? I conjecture that &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\frac{t_{\mathrm{mix}}(1/8)}{t_{\mathrm{rel}}}\leq O(\log n)~.$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any proofs or counterexamples?&lt;/p&gt;&#xA;" OwnerUserId="7823" LastActivityDate="2016-02-01T21:51:36.443" Title="How much larger than the relaxation time can the mixing time be?" Tags="&lt;markov-chains&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="32182" PostTypeId="2" ParentId="32153" CreationDate="2015-08-04T17:55:54.770" Score="5" Body="&lt;p&gt;It's not quite the same, but you may be interested in the 0-1 law for first order properties of graphs. A first order property is something you can describe by a logical formula with existential and universal quantifiers, in which the variables refer to vertices of a graph and there are two two-argument predicates: equality, and another predicate $\sim$ that tests whether two vertices are adjacent. For example, whether there is a universal vertex adjacent to all other vertices can be tested by the first-order formula $\exists v\forall w\,v\ne w\rightarrow v\sim w$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then, for every first-order property, the fraction of all $n$-vertex graphs that satisfy the property, as $n\to\infty$, approaches either 0 or 1. More strongly, there exists an infinite graph, &lt;a href=&quot;https://en.wikipedia.org/wiki/Rado_graph&quot;&gt;the Rado graph&lt;/a&gt;, such that this fraction approaches 0 or 1 exactly when the Rado graph does not or does have the same property, respectively. But when the fraction approaches 1, it still might not be the case that the property holds for all graphs, so this differs somewhat from what you're asking.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2015-08-04T17:55:54.770" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="32185" PostTypeId="1" CreationDate="2015-08-05T12:19:20.630" Score="4" ViewCount="89" Body="&lt;p&gt;&lt;em&gt;Quick version&lt;/em&gt;: is there a definitive definition of weakly parsimonious counting reduction for #P?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Longer version:&lt;/em&gt; I am doing a gadget based reduction for NPC and would like to use it for #P. The reduction definitely isn't strongly parsimonious and to keep it simpler I'd like to avoid making it so.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given the number of solutions to the reduced class, I can get a function which gives me the number of solutions to the original, &lt;strong&gt;IF&lt;/strong&gt; I am allowed to put the original instance into the counting translation function. The number of solutions to the original is going to be something like the number of solutions to the translated problem divided by 2^n, where n is the number of variables in the original SAT problem. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some definitions I've found on the web allow this and some don't, so I want to know if there is an important difference.&lt;/p&gt;&#xA;" OwnerUserId="35060" LastEditorUserId="35060" LastEditDate="2015-08-05T13:15:05.063" LastActivityDate="2015-08-05T13:15:05.063" Title="Can weakly parsimonious counting reductions use the input instance to compute the count?" Tags="&lt;counting-complexity&gt;" AnswerCount="0" CommentCount="5" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32189" PostTypeId="1" CreationDate="2015-08-05T17:26:05.083" Score="3" ViewCount="191" Body="&lt;p&gt;Given a rectangular region $R$ and a set $D$ of $n$ disks such that the union of all disks in $D$ cover the entire rectangular region $R$, the objective is to find the minimum cardinality set $D'$ subset of $D$ such that the union of all disks in $D'$ cover the entire $R$.&#xA;I believe that this problem is NP-hard, but did not find any reference. can somebody help me to find the one or reduction from an NP-hard problem.&lt;/p&gt;&#xA;" OwnerUserId="32176" LastEditorUserId="5385" LastEditDate="2015-08-05T21:27:58.347" LastActivityDate="2015-08-05T22:57:55.113" Title="Is this covering problem NP-hard?" Tags="&lt;reference-request&gt;&lt;np-hardness&gt;&lt;computational-geometry&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32190" PostTypeId="1" CreationDate="2015-08-05T18:18:18.830" Score="4" ViewCount="123" Body="&lt;p&gt;Currently, what are the major applied focuses (if any applications can be deserved such a distinction) of different proof assistants, such as the following? If there are significant differences between each of these assistants, why?&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Coq&lt;/li&gt;&#xA;&lt;li&gt;Isabelle&lt;/li&gt;&#xA;&lt;li&gt;Mizar&lt;/li&gt;&#xA;&lt;li&gt;Agda&lt;/li&gt;&#xA;&lt;li&gt;NuPRL&lt;/li&gt;&#xA;&lt;li&gt;any other assistants you have a lot of experience with.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;This may be an overly broad question for this site; in that case, this more specific question may work better: what are the strengths and weaknesses of these proof assistants for formal verification? (for example, to me intuitively the set theoretic foundation of Mizar seems like a misfit for verification, but I really don't know if this intuition is correct)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(I can't quite justify the broadness of the question, but here's some context: I am the most familiar with Coq and its usage in verification and formalization of mathematics, but much less so with the other assistants. So I guess I want to know what is out there. It's kind of like categorical thinking (as opposed to set theoretic thinking): an object should be characterized by how it's used rather than its extensions. Currently I know some scattered facts about each of these assistants but I really don't have an idea how they are used in practice, other than Coq.)&lt;/p&gt;&#xA;" OwnerUserId="13257" LastEditorUserId="13257" LastEditDate="2015-08-05T20:57:40.807" LastActivityDate="2015-08-05T20:57:40.807" Title="major applied focuses of different proof assistants" Tags="&lt;soft-question&gt;&lt;interactive-proofs&gt;&lt;coq&gt;" AnswerCount="0" CommentCount="5" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="32192" PostTypeId="2" ParentId="32189" CreationDate="2015-08-05T20:44:22.263" Score="1" Body="&lt;p&gt;If I arrange the disks into a spiral pattern then the problem is NP-hard. It may be even harder in your general case. This would be a variation on the polygon covering problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See &lt;a href=&quot;https://en.wikipedia.org/wiki/Polygon_covering&quot; rel=&quot;nofollow&quot;&gt;https://en.wikipedia.org/wiki/Polygon_covering&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="5385" LastActivityDate="2015-08-05T20:44:22.263" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32194" PostTypeId="2" ParentId="32120" CreationDate="2015-08-05T20:49:27.427" Score="2" Body="&lt;p&gt;Pierre Wolper defined in 1983 &lt;em&gt;extended temporal logic&lt;/em&gt; (ETL, in &lt;em&gt;Information and Computation&lt;/em&gt; 56, 72–99, &lt;a href=&quot;http://dx.doi.org/10.1016/S0019-9958(83)80051-5&quot; rel=&quot;nofollow&quot;&gt;doi:10.1016/S0019-9958(83)80051-5&lt;/a&gt;), where a temporal operator $\mathcal A(\varphi_1,\dots,\varphi_n)$ can be introduced for a finite-state automaton $\mathcal A$.  The formula is satisfied in an infinite word $u$ at position $i$, i.e. $u,i\models\mathcal A(\varphi_1,\dots,\varphi_n)$, if there exists a finite word $a_{i_1}\cdots a_{i_n}$ in the language of the automaton $\mathcal A$, such that for every $1\leq j\leq n$, $u, i+(j-1)\models\varphi_{i_j}$.  Extended temporal logic has the same expressive power as the linear-time $\mu$-calculus or MSO on infinite words, so it does not answer your question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One can however go further and allow other languages instead of regular ones in the operator $\mathcal A(\dots)$.  Paul Gastin and Stéphane Demri consider the case of context-free languages at the end of their chapter &lt;em&gt;Specification and Verification using Temporal Logics&lt;/em&gt; of &lt;em&gt;Modern applications of automata theory&lt;/em&gt; (IISc Research Monographs 2, chapter 15, pages 457–494, World Scientific, 2012, &lt;a href=&quot;http://www.lsv.ens-cachan.fr/Publis/PAPERS/PDF/DG-iis09.pdf&quot; rel=&quot;nofollow&quot;&gt;http://www.lsv.ens-cachan.fr/Publis/PAPERS/PDF/DG-iis09.pdf&lt;/a&gt;).  You can certainly express non-lasso properties in such a logic.  It is shown by Gastin and Demri to have (highly) undecidable satisfiability and model-checking problems.&lt;/p&gt;&#xA;" OwnerUserId="609" LastActivityDate="2015-08-05T20:49:27.427" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="32195" PostTypeId="2" ParentId="32189" CreationDate="2015-08-05T21:00:47.223" Score="1" Body="&lt;p&gt;A reduction from planar 3-SAT should work. At least if the disks need not have equal size.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Start by creating a triangular grid of disks (shown in blue in the figure).&#xA;We enforce these disks to be in the cover by not covering one of their points by any other disks.&#xA;Now what remains is to cover the gaps left in between disks by a minimal number of disks.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Illustrated are And- and Or-gadgets that can be connected using &lt;em&gt;wires&lt;/em&gt; of arbitrary (even) length. Wires are simply a series of disks that each cover two gaps.&#xA;&lt;em&gt;Variable&lt;/em&gt; gadgets are each a cycle of And-gadgets, where each C-terminal is connected to the A-terminal of the next And-gadget. This creates B-terminals that can each connect to an Or-gadget.&#xA;Finally, there may be unused gaps (that are not part of any gadget) which we can simply fill using a single disk.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then, if there is a solution to an instance of 3-SAT, there is a set $D'$ that for each And-gadget covers either terminal $A$ or $C$, but never both. And in which the gaps that are part of wires are covered exactly once. Hence, such cover is optimal.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Conversely, if no solution exists, some wire needs more disks to cover, or some And-gadget is covered by both terminal $A$ and $C$, requiring a higher cardinality cover.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://i.stack.imgur.com/x1Fbv.png&quot; rel=&quot;nofollow noreferrer&quot;&gt;&lt;img src=&quot;https://i.stack.imgur.com/x1Fbv.png&quot; alt=&quot;And/Or-gadgets&quot;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="27113" LastEditorUserId="27113" LastEditDate="2015-08-05T22:57:55.113" LastActivityDate="2015-08-05T22:57:55.113" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32196" PostTypeId="2" ParentId="32036" CreationDate="2015-08-05T21:53:03.537" Score="5" Body="&lt;p&gt;This answer gives a determinstic $O(n~\mathrm{polylog} n)$ algorithm. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It appears that Sariel and David's algorithm can be derandomized through an &lt;a href=&quot;http://www.tau.ac.il/~nogaa/PDFS/witf8.pdf&quot; rel=&quot;noreferrer&quot;&gt;approach similar to this paper&lt;/a&gt;. [2] While going through the process I found there is a more general problem that implies this result.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;The $k$-reconstruction problem&lt;/strong&gt;&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;There are hidden sets $S_1,\ldots,S_n \subset \{1,\ldots,m\}$, we have two&#xA;  oracles $Size$ and $Sum$ that take a query set $Q$.&lt;/p&gt;&#xA;  &#xA;  &lt;ol&gt;&#xA;  &lt;li&gt;$Size(Q)$ returns $(|S_1\cap Q|,|S_2\cap Q|,\ldots,|S_n\cap Q|)$, the size of each intersection.&lt;/li&gt;&#xA;  &lt;li&gt;$Sum(Q)$ returns $(\sum_{s\in S_1\cap Q} s,\sum_{s\in S_2\cap Q} s,\ldots,\sum_{s\in S_n\cap Q} s)$, the sum of elements in each intersection.&lt;/li&gt;&#xA;  &lt;/ol&gt;&#xA;  &#xA;  &lt;p&gt;The $k$-reconstruction problem asks one to find $n$ subsets $S_1',\ldots,S_n'$ such&#xA;  that $S_i'\subset S_i$ and $|S_i'|=\min(k,|S_i|)$ for all $i$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Let $f$ be the running time of calling the oracles, and assume $f=\Omega(m+n)$, then one can find the sets in deterministic $O(f k  \log n~\mathrm{polylog}(m))$ time. [1]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now we can reduce the finding witness problem to $1$-reconstruction problem. Here $S_1,\ldots,S_{2n}\subset \{1,\ldots,2n\}$ where $S_i = \{a|a+b = i, a\in A, b\in B\}$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Define the polynomials $\chi_Q(x) = \sum_{i \in Q} x^i$, $I_Q(x) = \sum_{i \in Q}  i x^i$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The coefficient for $x^i$ in $\chi_Q\chi_B(x)$ is $|S_i\cap Q|$ and in $I_Q\chi_B(x)$ is $\sum_{s\in S_i\cap Q} s$. Hence the oracles take $O(n\log n)$ time per call.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This gives us an $O(n~\mathrm{polylog}(n))$ time deterministic algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] Yonatan Aumann, Moshe Lewenstein, Noa Lewenstein, Dekel Tsur:&#xA;&lt;a href=&quot;http://www.cs.bgu.ac.il/~dekelts/publications/peeling.pdf&quot; rel=&quot;noreferrer&quot;&gt;Finding witnesses by peeling&lt;/a&gt;. ACM Transactions on Algorithms 7(2): 24 (2011)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] Noga Alon, Moni Naor: &lt;a href=&quot;http://www.tau.ac.il/~nogaa/PDFS/witf8.pdf&quot; rel=&quot;noreferrer&quot;&gt;Derandomization, witnesses for Boolean matrix multiplication and construction of perfect hash functions&lt;/a&gt;. Algorithmica 16(4-5) (1996)&lt;/p&gt;&#xA;" OwnerUserId="314" LastActivityDate="2015-08-05T21:53:03.537" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32197" PostTypeId="1" AcceptedAnswerId="32278" CreationDate="2015-08-05T23:34:27.263" Score="10" ViewCount="751" Body="&lt;p&gt;Interaction combinators &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.22.9699&quot;&gt;have been proposed&lt;/a&gt; as a compile target for the λ-calculus before. That paper implements the full λ-calculus. It is also known that it is possible to &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=1131315&quot;&gt;optimize interaction-net encodings of the λ-calculus&lt;/a&gt; for the subset of λ-terms that is EAL-typeable. That paper implements that subset of the λ-calculus by translating EAL-typeable λ-terms to interaction nets that are arguably more complex than interaction combinators, since they use an infinite alphabet of labels to group duplicators. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I wonder if it is possible to combine both proposals. That is, is there any encoding for the abstract algorithm - that is, λ-terms that are EAL-typeable - as interaction combinators?&lt;/p&gt;&#xA;" OwnerUserId="17388" LastActivityDate="2015-08-14T14:15:29.583" Title="How do you encode Lamping's abstract algorithm using interaction combinators?" Tags="&lt;lambda-calculus&gt;&lt;functional-programming&gt;&lt;interaction-nets&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="32198" PostTypeId="1" AcceptedAnswerId="32246" CreationDate="2015-08-06T03:56:55.723" Score="8" ViewCount="215" Body="&lt;p&gt;In [1] it is stated that &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&quot;It remains an open question as to whether every function in $\#P$ has $TC^0$ circuits (although it is at least known that not all $\#P$ functions have DLogTime-uniform $TC^0$ circuits).&quot;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;$TC^0$ circuits generated by DLogTime functions does not contain $\#P$.&#xA;We don't know if $TC^0$ circuits generated by arbitrary functions does not contain $\#P$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there anything known about the cases in between these two?&#xA;E.g. is it known if $TC^0$ circuits generated by $L$ does not contain $\#P$?&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;[1] Agarwal, Allender, and Datta, &quot;On $TC^0$, $AC^0$, and Arithmetic Circuits&quot;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="1812" LastEditorUserId="186" LastEditDate="2015-08-06T06:37:49.087" LastActivityDate="2015-08-11T17:37:00.077" Title="What is largest class of functions $C$ such that we know $\#P$ in not contained in $C$-generated $TC^0$?" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;circuit-complexity&gt;&lt;counting-complexity&gt;&lt;permanent&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32199" PostTypeId="2" ParentId="3540" CreationDate="2015-08-06T04:55:09.767" Score="2" Body="&lt;p&gt;These 3 books on arithmetic complexity don't seem to have been mentioned till now, &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;(Amir Shpilka, Amir Yehudayoff)&lt;br&gt;&#xA;&lt;a href=&quot;http://www.cs.tau.ac.il/~shpilka/publications/SY10.pdf&quot; rel=&quot;nofollow&quot;&gt;http://www.cs.tau.ac.il/~shpilka/publications/SY10.pdf&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;(Xi Chen, Neeraj Kayal, and Avi Wigderson)        &lt;a href=&quot;http://research.microsoft.com/apps/pubs/default.aspx?id=154351&quot; rel=&quot;nofollow&quot;&gt;http://research.microsoft.com/apps/pubs/default.aspx?id=154351&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;(Neeraj Kayal and Ramprasad Saptharishi)   &lt;a href=&quot;http://research.microsoft.com/apps/pubs/default.aspx?id=212431&quot; rel=&quot;nofollow&quot;&gt;http://research.microsoft.com/apps/pubs/default.aspx?id=212431&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Some recent books on learning theory&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;(Toby Segaran) &lt;a href=&quot;http://edc.tversu.ru/elib/inf/0251.pdf&quot; rel=&quot;nofollow&quot;&gt;http://edc.tversu.ru/elib/inf/0251.pdf&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;(Hastie-Tisbshirani-Friedman)&lt;br&gt;&#xA;          &lt;a href=&quot;http://statweb.stanford.edu/~tibs/ElemStatLearn/&quot; rel=&quot;nofollow&quot;&gt;http://statweb.stanford.edu/~tibs/ElemStatLearn/&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;(Rakhlin-Sridharan)&#xA;&lt;a href=&quot;http://www.cs.cornell.edu/~sridharan/lecnotes.pdf&quot; rel=&quot;nofollow&quot;&gt;http://www.cs.cornell.edu/~sridharan/lecnotes.pdf&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;(Hazan) Online convex optimization: &lt;a href=&quot;http://ocobook.cs.princeton.edu/&quot; rel=&quot;nofollow&quot;&gt;http://ocobook.cs.princeton.edu/&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="32603" LastEditorUserId="20907" LastEditDate="2015-08-18T20:54:14.643" LastActivityDate="2015-08-18T20:54:14.643" CommentCount="1" CommunityOwnedDate="2015-08-06T04:55:09.767" ContentLicense="CC BY-SA 3.0" />
  <row Id="32201" PostTypeId="1" AcceptedAnswerId="32211" CreationDate="2015-08-06T09:39:07.603" Score="5" ViewCount="355" Body="&lt;p&gt;Let $f:\{0,1\}^{n}\longmapsto\{0,1\}$ be a Boolean function. As usual,&#xA;let $C(f)$ denote circuit complexity of $f$, i.e, the size of the smallest&#xA;Boolean circuit computing $f$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;As we know that every Boolean function&#xA;can be computed by polynomials in $\mathbb{F}_{2}[x_{1},x_{2},\ldots,x_{n}]$.&#xA;Let $P(f)$ be the size of the smallest arithmetic circuit(over&#xA;$\mathbb{F}_{2}$) which computes&#xA;a polynomial $P_{f}$ such that $P_{f}$ computes the same function&#xA;as $f$ on $\mathbb{F}_{2}^{n}$(correspondingly $\{0,1\}^{n}$). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is known that $P(f)\leq\textrm{poly}(C(f))$ and $C(f)\leq\textrm{poly}(P(f))$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;We also know that there is a unique multi-linear polynomial $M_f\in\mathbb{F}_{2}[x_{1},x_{2},\ldots,x_{n}]$ such that $M_{f}$ computes the same function as $f$ on $\mathbb{F}_{2}^{n}$(correspondingly&#xA;$\{0,1\}^{n}$). Let $M(f)$ be the size of the smallest arithmetic circuit(over&#xA;$\mathbb{F}_{2}$) computing $M_{f}$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is clear that $C(f)\leq\textrm{poly}(M(f))$.&#xA;How about other direction? &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Can we bound $M(f)$ polynomially in terms of $C(f)$? &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Anything is known about this or something related? &lt;/p&gt;&#xA;" OwnerUserId="16008" LastActivityDate="2015-08-07T13:58:30.240" Title="Complexity of multi-linear polynomial computing Boolean function" Tags="&lt;circuit-complexity&gt;&lt;boolean-functions&gt;&lt;polynomials&gt;" AnswerCount="1" CommentCount="14" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="32202" PostTypeId="1" AcceptedAnswerId="32206" CreationDate="2015-08-06T09:57:46.830" Score="10" ViewCount="307" Body="&lt;p&gt;The &lt;a href=&quot;https://en.wikipedia.org/wiki/Borsuk%E2%80%93Ulam_theorem&quot; rel=&quot;nofollow&quot;&gt;Borsuk-Ulam theorem&lt;/a&gt; says that for every continuous odd function $g$ from an n-sphere into Euclidean n-space, there is a point $x_0$ such that $g(x_0)=0$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://www.math.hmc.edu/~su/papers.dir/tucker.pdf&quot; rel=&quot;nofollow&quot;&gt;Simmons and Su (2002)&lt;/a&gt; describe a method to approximate the point $x_0$ using &lt;a href=&quot;https://en.wikipedia.org/wiki/Tucker%27s_lemma&quot; rel=&quot;nofollow&quot;&gt;Tucker's lemma&lt;/a&gt;. However, it is not clear what the run-time complexity of their method is.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose we are given an oracle for the function $g$ and an approximation factor $\epsilon&amp;gt;0$. What is the run-time complexity (as a function of $n$) of:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Finding a point $x$ such $|g(x)|&amp;lt;\epsilon$?&lt;/li&gt;&#xA;&lt;li&gt;Finding a point $x$ such that the $|x-x_0|&amp;lt;\epsilon$, when $x_0$ is a point satisfying $g(x_0)=0$?&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="9453" LastEditorUserId="5385" LastEditDate="2015-08-06T18:31:11.467" LastActivityDate="2015-08-08T11:41:15.867" Title="The complexity of finding a Borsuk-Ulam point" Tags="&lt;approximation-algorithms&gt;&lt;time-complexity&gt;&lt;topology&gt;&lt;algebraic-topology&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32204" PostTypeId="1" CreationDate="2015-08-06T16:53:40.533" Score="4" ViewCount="114" Body="&lt;p&gt;Assume $P_1$, $P_2$ and $Q$ are axis-parallel polytopes in $\mathbb{R}^d$. Is it true to say that checking $CH(P_1\cup P_2)\neq Q$ is NP-hard? There is a similar result for the general polytopes but I need the same for polytopes that their facets are parallel to the coordinate axises.  &lt;/p&gt;&#xA;" OwnerUserId="10119" LastActivityDate="2015-08-07T15:51:45.370" Title="Polytopes convex hull" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;linear-programming&gt;&lt;computational-geometry&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32206" PostTypeId="2" ParentId="32202" CreationDate="2015-08-06T22:05:14.660" Score="5" Body="&lt;p&gt;Papadimitriou showed that a version of this problem is PPAD-complete in the paper introducing that class, &lt;a href=&quot;http://www.cs.berkeley.edu/~christos/papers/On%20the%20Complexity.pdf&quot; rel=&quot;nofollow&quot;&gt;&quot;On the complexity of the parity argument and other inefficient proofs of existence&quot;&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;His formulation of the problem is:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;em&gt;Borsuk-Ulam.&lt;/em&gt; Given an integer n and a Turing machine computing for each&#xA;  point $P=(x_1,\dots,x_d)$ with $-n\leq x_i\leq n$ and $\max_{|x_i|}=n$ (the surface of the $L_1$ sphere), a function $f(p)$ with $f(p) \leq \frac{1}{Kn}$. Find an $x$ with $|f(x) - f( - x)| \leq \frac{1}{n^2}$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;(Sidenote -- many times when you see a fixed-point type of theorem, PPAD is a good guess for the complexity of finding it...)&lt;/p&gt;&#xA;" OwnerUserId="8243" LastEditorUserId="8243" LastEditDate="2015-08-08T11:41:15.867" LastActivityDate="2015-08-08T11:41:15.867" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32207" PostTypeId="2" ParentId="32202" CreationDate="2015-08-06T22:09:35.093" Score="4" Body="&lt;p&gt;How is the oracle given and what do we know about $g$?&#xA;If the oracle is black-box and we only know that $g$ is continuous odd, then already for $n=1$ we might require infinitely many questions...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If the oracle is given by some Turing-machine, then you get that your problem is&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;FIXP-complete,&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;PPAD-complete,&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;where the size of the input is length of $\epsilon$.&#xA;For an intro into these, see &lt;a href=&quot;http://homepages.inf.ed.ac.uk/kousha/dagstuhl14-etessami-tutorial-equilibrium.pdf&quot; rel=&quot;nofollow&quot;&gt;http://homepages.inf.ed.ac.uk/kousha/dagstuhl14-etessami-tutorial-equilibrium.pdf&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="419" LastActivityDate="2015-08-06T22:09:35.093" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32208" PostTypeId="1" AcceptedAnswerId="32209" CreationDate="2015-08-07T09:27:22.123" Score="11" ViewCount="1049" Body="&lt;p&gt;Is there a known result on complexity class of 1-in-3-SAT with restricted number of variable occurrences? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I've come up with the following parsimonious reduction with Peter Nightingale,  but I want to cite something if this is known. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is the trick we came up with. This shows that 1-in-3-SAT limited to 3 occurrences per variable is NP complete and #P complete &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0890540196900164&quot;&gt;(since 1-in-3-SAT is)&lt;/a&gt;, while 3-SAT limited to 3 occurrences &lt;a href=&quot;https://people.maths.ox.ac.uk/scott/Papers/restricted3sat.pdf&quot;&gt;is in P&lt;/a&gt; &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let’s say we have more than three occurrences of x.  Say we need 6. Then we will introduce 5 new variables x2 to x6 equivalent to x and two new variables d1 and d2 guaranteed to be false with the following 6 new clauses:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;x  -x2 d1&#xA;x2 -x3 d1&#xA;x3 -x4 d1&#xA;x4 -x5 d2&#xA;x5 -x6 d2&#xA;x6 -x  d2&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Obviously we replace each occurrence of x after the first one by xi for some i. That gives three occurrences of each xi and d.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The above sets each di to false and all the xi to the same value. To see this, x has to be true or false. If it's true then the first clause sets x2 true and d1 false, and then this propagates down the clasues. If x is false then the last clause sets x6 false and d2 false and it propagates up the clauses. It's obviously strongly parsimonious so preserves counting.&lt;/p&gt;&#xA;" OwnerUserId="35060" LastEditorUserId="35060" LastEditDate="2015-08-07T09:35:19.140" LastActivityDate="2019-04-09T10:18:00.540" Title="Limited number of variable occurrences in 1-in-3 SAT" Tags="&lt;reference-request&gt;&lt;sat&gt;&lt;reductions&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="32209" PostTypeId="2" ParentId="32208" CreationDate="2015-08-07T09:59:06.337" Score="12" Body="&lt;p&gt;Up to my knowledge the current &quot;limits&quot; have been settled in:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0166218X13004733&quot;&gt;Stefan Porschen, Tatjana Schmidt, Ewald Speckenmeyer, Andreas Wotzlaw:&#xA;XSAT and NAE-SAT of linear CNF classes. Discrete Applied Mathematics 167: 1-14 (2014)&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See also Schmidt's Thesis: &lt;a href=&quot;http://kups.ub.uni-koeln.de/3129/2/Dissertation_Endversion.pdf&quot;&gt;Computational Complexity of SAT, XSAT and NAE-SAT for linear and mixed Horn CNF formulas&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Theorem 29&lt;/strong&gt;. XSAT remains NP-complete for $k$-$CNF^l_+$ and $k$-$CNF^l$, $k, l \geq 3$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(XSAT for $3$-$CNF^3$ is exactly 1-in-3-SAT where each variable appears exactly $l=3$ times)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that the theorem also proves the NP-completeness of the stronger monotone case ($CNF_+$)&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2015-08-07T10:14:30.653" LastActivityDate="2015-08-07T10:14:30.653" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32210" PostTypeId="1" CreationDate="2015-08-07T10:44:11.517" Score="2" ViewCount="69" Body="&lt;p&gt;To quote wikipedia,&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;The notion of institution has been created by Joseph Goguen and Rod Burstall in the late 1970s in order to deal with the &quot;population explosion among the logical systems used in computer science&quot;. The notion tries to capture the essence of the concept of &quot;logical system&quot;. With this, it is possible to develop concepts of specification languages (like structuring of specifications, parameterization, implementation, refinement, development), proof calculi and even tools in a way completely independent of the underlying logical system. There are also morphisms that allow to relate and translate logical systems. Important applications of this are re-use of logical structure (also called borrowing), heterogeneous specification and combination of logics. Recently, institutional model theory has generalized many notions and deep results of model theory.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;From my cursory experience with institutions, I can't quite get past the impression that this is all abstraction for abstraction's sake. So I want to ask are there any solid applications of institution-independent model theory to, say specification; or perhaps the machinery solved some open problem in logic/CS?&lt;/p&gt;&#xA;" OwnerUserId="13257" LastActivityDate="2015-08-07T10:44:11.517" Title="applications of institution-independent model theory" Tags="&lt;lo.logic&gt;&lt;formal-methods&gt;&lt;model-theory&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32211" PostTypeId="2" ParentId="32201" CreationDate="2015-08-07T13:58:30.240" Score="6" Body="&lt;p&gt;If I understand your question correctly, &lt;a href=&quot;http://eccc.hpi-web.de/report/2015/067/&quot;&gt;the answer is no&lt;/a&gt; (independently from the field, assuming $\mathsf{VP}\neq\mathsf{VNP}$).&lt;/p&gt;&#xA;" OwnerUserId="976" LastActivityDate="2015-08-07T13:58:30.240" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="32212" PostTypeId="1" AcceptedAnswerId="32219" CreationDate="2015-08-07T14:21:11.150" Score="2" ViewCount="79" Body="&lt;p&gt;A pseudo-Boolean function is a mapping from $\mathcal{B}^n = \{0, 1\}^n$ to &#xA;$\mathbb{R}$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Following is a pseudo-Boolean function.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$s_1 s_4 - s_2 s_3 - s_3 s_5 - s_2 s_5 + s_1 + s_4 - s_1 s_3 - s_1 s_5 - s_3 s_5 + &#xA; s_2 s_4 + s_2 + s_4 - s_1 - s_2 + 3 s_1 s_2$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here, $s_i$'s are the Boolean variables taking values from $\{0, 1\}$. It has two solutions for the global minima, $01101$ and $10101$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would like to know what is the best known algorithm to generate a pseudo-Boolean function from a given list of solutions.&lt;/p&gt;&#xA;" OwnerUserId="13408" LastEditorUserId="7707" LastEditDate="2015-08-08T02:42:57.543" LastActivityDate="2015-08-08T06:43:53.603" Title="Complexity of generating a pseudo-Boolean function" Tags="&lt;sat&gt;&lt;boolean-functions&gt;&lt;integer-programming&gt;&lt;combinatorics&gt;&lt;boolean-formulas&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32213" PostTypeId="2" ParentId="32204" CreationDate="2015-08-07T14:46:51.697" Score="1" Body="&lt;p&gt;Assuming your polytopes are closed, I don't think this is true. Each of your polytopes $P_1,P_2,Q$ is a product of (possibly unbounded) intervals $I_i^1$, $I_i^2$, or $I_i^Q$, respectively, for $i=1,\dots,d$. Then $CH(P_1\cup P_2)$ is axis-parallel iff there are no $i,j$ with $i\neq j$ such that one of the following holds:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$I_i^1\not\subseteq I_i^2$, $I_j^1$ has a lower bound $a_j^1$, and $I_j^2$ has a lower bound $a_j^2&amp;lt;a_j^1$,&lt;/li&gt;&#xA;&lt;li&gt;$I_i^1\not\subseteq I_i^2$, $I_j^1$ has an upper bound $b_j^1$, and $I_j^2$ has an upper bound $b_j^2&amp;gt;b_j^1$,&lt;/li&gt;&#xA;&lt;li&gt;$I_j^2\not\subseteq I_j^1$, $I_i^1$ has a lower bound $a_i^1$, and $I_i^2$ has a lower bound $a_i^2&amp;lt;a_i^1$, &lt;/li&gt;&#xA;&lt;li&gt;$I_j^2\not\subseteq I_j^1$, $I_i^1$ has an upper bound $b_i^1$, and $I_i^2$ has an upper bound $b_i^2&amp;gt;b_i^1$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;These are the cases in which $P_1\cup P_2$ (and therefore the convex hull) contains points $x,y$ with $x_i\neq y_i, x_j\neq y_j$, but at least one of the points obtained by replacing e.g. $x_i$ with $y_i$ in $x$ is not in the convex hull. This can be checked in polynomial time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If the convex hull is axis-parallel, then it equals $Q$ iff $I_i^Q=I_i^1\cup I_i^2$ for all $i$, which also can be checked in polynomial time.&lt;/p&gt;&#xA;" OwnerUserId="5183" LastEditorUserId="5183" LastEditDate="2015-08-07T15:51:45.370" LastActivityDate="2015-08-07T15:51:45.370" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32214" PostTypeId="1" CreationDate="2015-08-07T15:24:51.733" Score="2" ViewCount="59" Body="&lt;p&gt;I'm reading about Wang's tessellation problem and the text mentions&#xA;a simpler version: If we consider a finite set of tiles $W_{n}=\{w_{1},...,w_{n}\}$&#xA;where $n$ is &lt;strong&gt;bounded&lt;/strong&gt; then the claim is that now the problem&#xA;is in $R$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course, after writing this claim the text adds the comment&#xA;$$&#xA;\text{(Why ? )}&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;which left me thinking about it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I fail to see how $n$ being bounded helps, since $\mathbb{R}^{2}$&#xA;is still infinite and so this doesn't seem like a finite problem to&#xA;me. Moreover, given some specific $n$ (not bounded a priory) it seems&#xA;that we could of solved the 'easy' problem with that $n$ thinking&#xA;of it as a constant (/bounded).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can someone help me understand the reasoning ?&lt;/p&gt;&#xA;" OwnerUserId="7956" LastActivityDate="2015-08-07T15:24:51.733" Title="Simple version of Wang's tessellation problem" Tags="&lt;computability&gt;" AnswerCount="0" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32215" PostTypeId="1" CreationDate="2015-08-07T17:16:15.480" Score="2" ViewCount="164" Body="&lt;p&gt;I read in several sources that the use of Gomory's cuts exclusively in Integer Programming was shown to be inefficient in practice when Gomory had created them. But later down the line they were shown to quite effective for certain problems (especially when paired with another hueristic such as branch and bound). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there any literature out there that gives strong upper and lower bounds on the performance of the Cutting Plane Algorithm?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Wiki references, didn't lead to anything and I dug around a bit more but still couldn't find an answer. I think if I have Gomory's original paper, where he proves the algorithm must converge in a finite number of steps, that would naturally lead to a start for an upper bound on runtime&lt;/p&gt;&#xA;" OwnerUserId="17394" LastActivityDate="2015-08-07T17:16:15.480" Title="Runtime of Gomory's Cutting Plane Algorithm" Tags="&lt;reference-request&gt;&lt;linear-programming&gt;&lt;convex-optimization&gt;&lt;integer-programming&gt;" AnswerCount="0" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32216" PostTypeId="1" AcceptedAnswerId="32235" CreationDate="2015-08-07T17:52:40.080" Score="9" ViewCount="784" Body="&lt;p&gt;Is there an $O(n+m)$ algorithm to check whether a size $n$ regular expression matches a size $m$ string, assuming a fixed size alphabet if that matters?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The standard NFA algorithm is $O(nm)$ worst case.  Groz et al. achieve linear time for a variety of regular expression classes, but not all.  Are there any better results?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Groz, B., Maneth, S., &amp;amp; Staworko, S. (2012, May). Deterministic regular expressions in linear time.&lt;/p&gt;&#xA;" OwnerUserId="13245" LastEditorUserId="13245" LastEditDate="2015-08-08T03:47:00.987" LastActivityDate="2015-08-10T19:30:01.433" Title="Fully linear time regular expression matching" Tags="&lt;regular-expressions&gt;&lt;parsing&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32217" PostTypeId="1" CreationDate="2015-08-07T18:02:10.830" Score="3" ViewCount="124" Body="&lt;p&gt;What do you call the problem of finding a largest possible subset of strings with smallest possible information content? I'm studying a particular instantiation of this problem in a different setting and would like to know about this more abstract problem. In terms of Kolmogorov complexity, this would be the following decision problem.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Given: a finite set of binary strings &lt;em&gt;S&lt;/em&gt; and positive integers &lt;em&gt;c&lt;/em&gt; and &lt;em&gt;d&lt;/em&gt;.&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;Question: is there a subset &lt;em&gt;S'&lt;/em&gt; of &lt;em&gt;S&lt;/em&gt; such that |&lt;em&gt;S'&lt;/em&gt;| is at least &lt;em&gt;c&lt;/em&gt; and the resource-bounded Kolmogorov complexity of &lt;em&gt;S'&lt;/em&gt; is at most &lt;em&gt;d&lt;/em&gt;?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Edit:&lt;/em&gt; consider the complexity measure to be one of the resource-bounded Kolmogorov complexity measures (for example, the length of the shortest program that outputs a given string, with an additive penalty of the logarithm of the running time of the program) to make the problem computable, as suggested in the comments.&lt;/p&gt;&#xA;" OwnerUserId="4193" LastEditorUserId="4193" LastEditDate="2015-08-07T20:15:39.263" LastActivityDate="2015-08-07T20:15:39.263" Title="What is the problem of finding a largest subset of smallest Kolmogorov complexity?" Tags="&lt;cc.complexity-theory&gt;&lt;it.information-theory&gt;&lt;kolmogorov-complexity&gt;" AnswerCount="0" CommentCount="7" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32218" PostTypeId="1" AcceptedAnswerId="32223" CreationDate="2015-08-07T22:11:12.700" Score="12" ViewCount="713" Body="&lt;p&gt;in 1979 &lt;a href=&quot;https://en.wikipedia.org/wiki/Introduction_to_Automata_Theory,_Languages,_and_Computation&quot; rel=&quot;nofollow noreferrer&quot;&gt;Hopcroft/ Ullman&lt;/a&gt; wrote that L ⊆ P ⊆ NP ⊆ PSpace is known but L ⊊ PSpace is the only proper (&amp;amp; trivial) containment known although all are conjectured to be proper containments, and &quot;where things still stand&quot; ~4 decades later.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;since then is there any known connection(s) between L ⊊ P, P ⊊ PSpace and P ⊊ NP? are they all still thought to be independent, or are there any sign(s) of some interdependency?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;motivation: this question is partly inspired by the recent &lt;a href=&quot;https://rjlipton.wordpress.com/2015/06/01/puzzling-evidence/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Backurs-Indyk results&lt;/a&gt; tying &lt;a href=&quot;https://en.wikipedia.org/wiki/Exponential_time_hypothesis&quot; rel=&quot;nofollow noreferrer&quot;&gt;SETH&lt;/a&gt; to O(n&lt;sup&gt;2&lt;/sup&gt;) edit distance. SETH is exponential time and edit distance is PTime. (&amp;amp; also somewhat the question &lt;a href=&quot;https://cstheory.stackexchange.com/questions/3229/proving-lower-bounds-by-proving-upper-bounds&quot;&gt;proving lower bounds by proving upper bounds&lt;/a&gt;)&lt;/p&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2015-08-08T20:58:09.710" Title="L/P/PSpace vs P/NP" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;lower-bounds&gt;&lt;p-vs-np&gt;&lt;conditional-results&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32219" PostTypeId="2" ParentId="32212" CreationDate="2015-08-08T06:43:53.603" Score="4" Body="&lt;p&gt;There's a straightforward way to construct a function $f_z:\{0,1\}^n \to \mathbb{R}$ that is zero at only a single point $z=(z_1,\dots,z_n)$ and strictly positive everywhere else: namely,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$f_z(x_1,\dots,x_n) = (x_1-z_1)^2 + (x_2-z_2)^2 + \dots + (x_n-z_n)^2.$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Based on this, we can easily construct a function $g : \{0,1\}^n \to \mathbb{R}$ that is zero at only the points $z[1],\dots,z[k]$ and strictly positive elsewhere: namely,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$g(x) = f_{z[1]}(x) \cdot f_{z[2]}(x) \cdots f_{z[n]}(x).$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It follows immediately that the pseudo-Boolean function $g$ has global minima at exactly the points $z[1],\dots,z[k]$ and no others, so it meets all your criteria.  This &quot;algorithm&quot; is simple and efficient.&lt;/p&gt;&#xA;" OwnerUserId="5038" LastActivityDate="2015-08-08T06:43:53.603" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="32220" PostTypeId="1" AcceptedAnswerId="32242" CreationDate="2015-08-08T14:03:14.423" Score="-1" ViewCount="160" Body="&lt;p&gt;On &lt;a href=&quot;http://fpt.wikidot.com/fpt&quot; rel=&quot;nofollow&quot;&gt;this page&lt;/a&gt;, the definition of a Fixed-Parameter Tractable algorithm is given, followed by the very classical example, Vertex Cover.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But how the complexity given for Vertex Cover, $O(kn+1.274^k)$ (which is on the form $O(f(k) + |x|^{O(1)})$) is related to the definition, that gives a complexity of the form $O(f(k)⋅|x|^{O(1)})$ ?&lt;/p&gt;&#xA;" OwnerUserId="35092" LastActivityDate="2015-08-11T05:43:30.280" Title="FPT algorithm equivalent definitions" Tags="&lt;cc.complexity-theory&gt;&lt;parameterized-complexity&gt;&lt;fixed-parameter-tractable&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="1" ClosedDate="2015-08-12T03:17:30.027" ContentLicense="CC BY-SA 3.0" />
  <row Id="32222" PostTypeId="1" AcceptedAnswerId="32224" CreationDate="2015-08-08T19:59:15.670" Score="2" ViewCount="107" Body="&lt;p&gt;Let $\xi$ be an infinite binary sequence, and denote by $T(\xi)$ the set of all factors (infixes) of $\xi$. Also if $w$ is some finite prefix of $\xi$, denote by $\xi/w$ the unique $\eta$ such that $w \cdot \eta = \xi$, i.e. the tail of $\xi$ after deleting the prefix $w$. Is it possible that for $\xi$ we have two prefixes $u,v$ of $\xi$ such that&#xA;$T(\xi/u)$ is regular, but $T(\xi/v)$ is not regular?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Closely related to this question is, if $w \in X^*$ and $\xi$ is an infinite sequence, is $T(w\cdot \xi)$ regular if $T(\xi)$ is regular, and if $w$ is a prefix, does $T(\xi)$ regular imply that $T(\xi/w)$ is regular?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT&lt;/strong&gt;: I guess I have a proof that if $T(\xi)$ is regular, then $T(\xi/w)$ is regular too, but this is somewhat contrary to what Yuval Filmus wrote, so I would be grateful if someone would point out to me what might be wrong with my proof??&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Okay, we introduce the notation $L / v := \{ u : vu \in L \}$ for $L \subseteq X^*$, the so called (right) quotient or derivative of $L$. First note that if $v$ is a prefix of $\xi$ then&#xA;$$&#xA; T(\xi/v) = T(T(\xi)/v).&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Proof: If $w \in T(\xi/v)$ then we have $vxw\eta = \xi$ for some $x \in X^*$. So $vxw \in T(\xi)$ or $xw \in T(\xi) / v$, which shows $w \in T(T(\xi)/v)$. For the other inclusion let $w \in T(T(\xi)/v))$, then $xwy \in T(\xi)/v$ for some $x,y \in X^*$, and by definition $vxwy \in T(\xi)$. If $vxwy$ is a prefix of $\xi$, then $xwy$ is a prefix of $\xi/v$ and we have $xwy \in T(\xi)/v$ and hence $w \in T(\xi)/v$. If $vxwy$&#xA;  is not a prefix of $\xi$, then the part $xwy$ must occur in $\xi/v$, as it begins behind the $|v|$-th position in $\xi$, hence $xwy \in T(\xi)/v$ and so $w \in T(\xi)/v$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Okay, now the proof that $T(\xi)$ regular implies $T(\xi/w)$ is regular.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Proof: I use that if $L$ is regular, then its set of factors $T(L)$ is also regular (I guess this is true). Then if $T(\xi)$ is regular, then $T(\xi)/w$ is regular if $w$ is a prefix of $\xi$ as regular languages are closed under quotients (this could be found in many textbooks). Taken together&#xA;  $$&#xA; T(\xi/w) = T(T(\xi)/w)&#xA;$$&#xA;  is regular, as it is the set of factors of the regular language $T(\xi)/w$. QED&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="17672" LastEditorUserId="17672" LastEditDate="2015-08-09T00:01:07.400" LastActivityDate="2015-08-09T11:57:28.603" Title="If the set of factors of an infinite word $\xi$ is regular, is this property stable under &quot;shift's&quot; of $\xi$?" Tags="&lt;fl.formal-languages&gt;&lt;automata-theory&gt;" AnswerCount="2" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="32223" PostTypeId="2" ParentId="32218" CreationDate="2015-08-08T20:58:09.710" Score="7" Body="&lt;p&gt;The only known proper containment is still $L \subsetneq PSPACE$, though they are all widely believed to be different.  All the rest are still wide-open.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The recent work on ``Fine-Grained Complexity&quot;, like the Edit Distance result of Backurs and Indyk, side-steps the fact that we can't prove proper containments, like $P\neq NP$.  In particular, SETH is a &lt;em&gt;much&lt;/em&gt; stronger conjecture than $P \neq NP$, more or less stating that CNF-SAT requires $2^n$ time (not just super-polynomial time).  Under this stronger conjecture, if you can show a $2^{n/k}$ reduction from CNF-SAT to problems in $P$ (like Edit Distance), then you get an $\Omega(n^k)$ conditional lower bound based on SETH.  So, the distinctions that these works concern themselves with (i.e. $2^{n}$ vs. $2^{(1-\delta)n}$) are much tighter than the distinctions between the traditional complexity classes mentioned in the post.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Similarly, in proving circuit lower bounds by giving faster satisfiability algorithms, we generally only need fine-grained improvements over the trivial $O^\star(2^n)$ algorithms to give lower bounds.  For instance, a $2^{n}poly(n^k)/n^{\omega(1)}$ algorithm for CircuitSAT on circuits of $n^k$ gates would prove $NEXP \not \subseteq P/poly$.&lt;/p&gt;&#xA;" OwnerUserId="26633" LastActivityDate="2015-08-08T20:58:09.710" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="32224" PostTypeId="2" ParentId="32222" CreationDate="2015-08-08T21:26:35.447" Score="6" Body="&lt;p&gt;If $\xi$ is allowed to be ternary, I can give a counterexample; presumably a suitable binary encoding of $\xi$ would give a binary counterexample.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $(k_n)$ be some non-computable sequence, and let $(w_n)$ be a computable enumeration of all binary strings. Consider the word&#xA;$$ \xi = 1^{k_0} 0 w_0 1^{k_1} 0 w_1 1^{k_2} 0 w_2 \ldots $$&#xA;Clearly $T(\xi) = (0+1)^*$ is regular. On the other hand, $T(2\xi) = (0+1)^* + 2P(\xi)$, where $P(\xi)$ is the set of all prefixes of $\xi$. Since $(k_n)$ can be extracted from $P(\xi)$, we conclude that $T(2\xi)$ cannot be regular (or even computable).&lt;/p&gt;&#xA;" OwnerUserId="40" LastActivityDate="2015-08-08T21:26:35.447" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="32225" PostTypeId="1" CreationDate="2015-08-08T21:30:27.207" Score="2" ViewCount="129" Body="&lt;p&gt;Does a single tape Turing machine with access to $\mathsf{PSPACE}$ oracle needs more than $\mathsf O(1)$ working tape memory and $\mathsf O(1)$ working time to solve $\mathsf{NP}$-complete problem?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is largest complexity class oracle that a single tape Turing machine could need so that it will need $\omega(1)$ Space time resource (as against separate space and time) to solve $\mathsf{NP}$-complete problem?&lt;/p&gt;&#xA;" OwnerUserId="1812" LastEditorUserId="1812" LastEditDate="2015-08-09T06:17:56.623" LastActivityDate="2015-08-09T06:17:56.623" Title="Space time lower bound with $\mathsf{PSPACE}$ oracle" Tags="&lt;cc.complexity-theory&gt;&lt;turing-machines&gt;&lt;np-complete&gt;&lt;pspace&gt;&lt;space-time-tradeoff&gt;" AnswerCount="0" CommentCount="5" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32227" PostTypeId="2" ParentId="32222" CreationDate="2015-08-09T11:57:28.603" Score="7" Body="&lt;p&gt;Let $A = \{0,1\}$ be a binary alphabet and let $L = A^* -\{0,1\}^*00\{0,1\}^* = (01,1)^*(\varepsilon + 0)$. I denote by $F(w)$ the set of factors of a word $w$ and by $P(w)$ the set of its prefixes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $w$ be an infinite word such that $F(1w) = L$ and $P(1w)$ is nonregular. Then $F(001w) = L \cup 00P(1w)$. Since $L$ is regular and do not intersect $00P(1w)$, $F(001w)$ is not regular. You can use Yuval's approach to give an explicit construction: take an enumeration $u_0, u_1, ...$ of $L$ and consider a word $1w = 1u_01^2u_1 \dotsm 1^nu_n \dotsm$.&lt;/p&gt;&#xA;" OwnerUserId="17203" LastActivityDate="2015-08-09T11:57:28.603" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="32228" PostTypeId="1" AcceptedAnswerId="32251" CreationDate="2015-08-09T14:25:11.387" Score="9" ViewCount="660" Body="&lt;p&gt;&lt;strong&gt;Classic Problem:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let a number $k$ be given.  The $k$-clique problem is as follows.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a graph $G$, does there exist a subset $S$ of $k$ vertices so that any two vertices of $S$ are adjacent?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Hypergraph Problem:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let numbers $c$ and $k$ be given.  The $(c,k)$-hyperclique problem is as follows.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a $c$-uniform hypergraph $H$, does there exist a set $S$ of $k$ vertices so that any subset of $c$ vertices from $S$ forms a hyperedge.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Questions:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(1) What is the best known algorithm for solving $(c,k)$-hyperclique?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(2) What is its time complexity?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(3) Is there any connection between $(c,k)$-hyperclique and matrix multiplication?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For all I know, this might be a well studied problem.  Any references that investigate this problem are greatly appreciated.&lt;/p&gt;&#xA;" OwnerUserId="14207" LastActivityDate="2019-08-27T06:53:10.290" Title="Complexity of k-clique for hypergraphs" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;&lt;matrices&gt;&lt;clique&gt;&lt;fixed-parameter-tractable&gt;" AnswerCount="1" CommentCount="6" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="32230" PostTypeId="1" AcceptedAnswerId="38618" CreationDate="2015-08-10T04:07:40.047" Score="5" ViewCount="492" Body="&lt;p&gt;I know that with a context-free grammar, one can represent the results of a parse as a parse-tree. Specifically, each node represents one application of a production rule, is usually named for the LHS nonterminal, and its children are the nonterminals on the RHS.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For a context sensitive grammar, it's arguably possible to do the same thing, and to just decorate each node with its production rule's left and right context (non)terminals (or even ignore them entirely).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I've been staring at range concatenation grammars for a few hours now and am slightly boggled with respect to their parse representation. They're weaker than CSGs, stronger than CFGs, and yet I can't seem to digest how their parses are represented. Yes, I could say, &quot;Oh, for this grammar it's clearly a tree because you can construct a tree of the production rules!&quot; But that seems unsatisfactory to me because with CSGs and with CFGs one can trivially recreate the string by infix walking the parse tree. With an RCG, I don't see that being possible without an excess of bookkeeping due to rules like&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$A(xay) \rightarrow B(by)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;sup&gt;(where ASCII symbols $\leq d$ are terminals and $\geq x$ are variables).&lt;/sup&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here to recreate the string one would need to crawl back up the parse tree from any unary production rule $B$ just to figure out that some other production rule $A$ added a symbol $b$ (a new instance non-existent in the original string) to what had been 'produced' in $B$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It makes me uncomfortable in a, &quot;This seems oddly inelegant,&quot; sort of way. The feeling is of course unfounded and arbitrary, but it's there.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What's up with range concatenation grammars' parse representations? Is there a more elegant/&lt;em&gt;useful&lt;/em&gt; way of representing their parse results than the trivial [production-rule $=$ subtree] intuition?&lt;/p&gt;&#xA;&#xA;&lt;h3&gt;EDIT&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;As I read more into Earley parser designs for RCGs, it seems that there's the shared 'forest' way of representing them in papers by &lt;a href=&quot;http://users.sussex.ac.uk/~johnca/iwpt2000/boullier-iwpt2000.ps.gz&quot; rel=&quot;nofollow&quot;&gt;Boullier&lt;/a&gt; and &lt;a href=&quot;https://user.phil-fak.uni-duesseldorf.de/~kallmeyer/papers/KallmMaierParm-ACL09.pdf&quot; rel=&quot;nofollow&quot;&gt;Kallmeyer&lt;/a&gt;, but that doesn't give a particularly clear intuition for what an individual parse &lt;em&gt;is&lt;/em&gt;; they may call it a 'forest' but that doesn't seem to imply the existence of nice and clean 'trees'. :-/&lt;/p&gt;&#xA;&#xA;&lt;h3&gt;EDIT 2&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;I might be conflating features of literal movement grammars with range concatenation grammars. The interpretation I gave of the predicate clause above may be entirely incorrect...&lt;/p&gt;&#xA;&#xA;&lt;h3&gt;EDIT 3&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;Okay, a key point to all of this is that a terminal appearing in a predicate on the RHS of a clause is actually just a &lt;em&gt;range&lt;/em&gt; that is defined to span a part of the input string that is exactly that terminal. This lends credence to the equivalence of these two clauses in the presence of $C(c) \rightarrow \epsilon$:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;$A(x) \rightarrow B(xc)$&lt;/li&gt;&#xA;&lt;li&gt;$A(x) \rightarrow B(xy)C(y)$&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Navigating the parse tree still requires bookkeeping, but the rationale behind that bookkeeping makes more sense.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, I might still very well be writing invalid rules in this example. I don't know if it's a requirement that the ranges present on the RHS be &lt;em&gt;within&lt;/em&gt; the ranges of the LHS or if they may both span anywhere within the original string. If the former, maybe the tree makes a whole lot of sense and that's why I've been misunderstanding this.&lt;/p&gt;&#xA;&#xA;&lt;h3&gt;EDIT 4&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;If I'm understanding Kallmeyer in 'Parsing Beyond Context-Free Grammars' correctly, the ranges appear to be able to span anywhere in the original string. Maybe. I'm still feeling that's a bit ambiguous.&lt;/p&gt;&#xA;&#xA;&lt;h3&gt;EDIT 5&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;It is necessarily the case that the ranges are allowed to span anywhere in the input string being recognized by the grammar regardless of the ranges spanned by the arguments on the LHS of a clause, otherwise Boullier's remarks at the top of page 274 in &quot;Recent Developments in Parsing Technology&quot; (doi:10.1007/1-4020-2295-6_13) would make jack little sense.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Which correspondingly means that my original question still stands.&lt;/p&gt;&#xA;" OwnerUserId="14359" LastEditorUserId="14359" LastEditDate="2015-08-13T02:53:56.280" LastActivityDate="2017-07-13T04:44:44.813" Title="Parse structure of a range concatenation grammar (RCG)" Tags="&lt;grammars&gt;&lt;parsing&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="32233" PostTypeId="1" CreationDate="2015-08-10T13:04:17.707" Score="11" ViewCount="263" Body="&lt;p&gt;In short, the question is: to what extent, computational ability for hard tasks really helps you in solving easy tasks. (There could be various ways to make this question interesting and non-trivial, and here is one such attempt.)&lt;/p&gt;&#xA;&lt;h2&gt;&lt;strong&gt;Question 1:&lt;/strong&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Consider a circuit for solving SAT for a formula with n variables. (Or for finding Hamiltonian cycle for a graph with &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt; edges.)&lt;/p&gt;&#xA;&lt;p&gt;Suppose that every gate allows the computation of an arbitrary Boolean function on &lt;span class=&quot;math-container&quot;&gt;$m$&lt;/span&gt; variables. For concreteness let’s take &lt;span class=&quot;math-container&quot;&gt;$m=0.6 n$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;p&gt;The Strong exponential time hypothesis (SETH) asserts that even with such strong gates we need superpolynomial circuit size. In fact, we need size at least &lt;span class=&quot;math-container&quot;&gt;$\Omega (2^{(0.4-\epsilon) n})$&lt;/span&gt; for every &lt;span class=&quot;math-container&quot;&gt;$\epsilon.$&lt;/span&gt; In a sense, gates on fraction of the variables that represent very complicated Boolean functions (much beyond NP-completeness) do not give you much advantage.&lt;/p&gt;&#xA;&lt;p&gt;We can further ask:&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;(i)&lt;/strong&gt; Can we have such a circuit of size &lt;span class=&quot;math-container&quot;&gt;$2^{0.9 n}$&lt;/span&gt;? &lt;span class=&quot;math-container&quot;&gt;$2^{(1-\epsilon)n}$&lt;/span&gt;?&lt;/p&gt;&#xA;&lt;p&gt;A “no” answer will be a vast strengthening of the SETH . Of course, maybe there is an easy “Yes” answer, that I simply miss.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;(ii)&lt;/strong&gt; If the answer to (i) is YES, do gates that computes arbitrary Boolean functions give some advantages compared to gates which “just” compute (say) arbitrary NP functions; or just smaller instances of SAT itself ?&lt;/p&gt;&#xA;&lt;p&gt;The next question attempts to ask something similar for questions in &lt;span class=&quot;math-container&quot;&gt;$P$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;h2&gt;Question 2:&lt;/h2&gt;&#xA;&lt;p&gt;As before let &lt;span class=&quot;math-container&quot;&gt;$m&amp;lt; n$&lt;/span&gt; and for concreteness put &lt;span class=&quot;math-container&quot;&gt;$m=0.6n$&lt;/span&gt;. (Other values of &lt;span class=&quot;math-container&quot;&gt;$m$&lt;/span&gt; such as &lt;span class=&quot;math-container&quot;&gt;$m=n^\alpha$&lt;/span&gt; are also of interest.) Consider the following types of circuits:&lt;/p&gt;&#xA;&lt;p&gt;a) In one step you can compute an arbitrary Boolean function on &lt;span class=&quot;math-container&quot;&gt;$m$&lt;/span&gt; variables.&lt;/p&gt;&#xA;&lt;p&gt;b) In one step you can solve a SAT problems with &lt;span class=&quot;math-container&quot;&gt;$m$&lt;/span&gt; variables. Or perhaps an arbitrary nondeterministic circuit of polynomial size in &lt;span class=&quot;math-container&quot;&gt;$m$&lt;/span&gt; variables.&lt;/p&gt;&#xA;&lt;p&gt;c) In one step you can perform an arbitrary circuit on &lt;span class=&quot;math-container&quot;&gt;$m$&lt;/span&gt; variables of size &lt;span class=&quot;math-container&quot;&gt;$m^d$&lt;/span&gt; (&lt;span class=&quot;math-container&quot;&gt;$d$&lt;/span&gt; is fixed).&lt;/p&gt;&#xA;&lt;p&gt;d) In one step you can perform ordinary Boolean gates.&lt;/p&gt;&#xA;&lt;p&gt;Let us consider the question of finding a perfect matching for a graph with &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt; edges. Matching has a polynomial size circuit. The question is if the exponent in such a matching algorithm can be improved when you move from circuits of type d) to circuits of type c), and from circuits of size c) to circuits of size b), and from circuits of size b) to circuits of size a).&lt;/p&gt;&#xA;&lt;p&gt;(This may be related to well-known issues about parallel computation or about oracles.)&lt;/p&gt;&#xA;" OwnerUserId="712" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2017-11-02T11:22:22.397" Title="To what extent, computational ability for hard tasks helps in solving easy tasks" Tags="&lt;cc.complexity-theory&gt;&lt;dc.parallel-comp&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="32234" PostTypeId="2" ParentId="2661" CreationDate="2015-08-10T14:37:27.740" Score="8" Body="&lt;p&gt;As a bit of unashamed self-promotion, Marthe Bonamy and I found more negative answers. In particular, Theorem 4 of &lt;a href=&quot;http://arxiv.org/abs/1507.03495&quot; rel=&quot;nofollow&quot;&gt;http://arxiv.org/abs/1507.03495&lt;/a&gt; improves upon the aforementioned result of Král' and Sgall in certain cases. The examples we use are complete bipartite graphs, where we used some extremal combinatorics to analyse them.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The work was motivated in part by this TCS overflow question.&lt;/p&gt;&#xA;" OwnerUserId="233" LastEditorUserId="233" LastEditDate="2015-08-10T22:58:15.737" LastActivityDate="2015-08-10T22:58:15.737" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32235" PostTypeId="2" ParentId="32216" CreationDate="2015-08-10T19:30:01.433" Score="6" Body="&lt;p&gt;Groz et al. explicitly state that the best known algorithm for general regular expressions (as of 2012) is $O(nm(\log\log n)/(\log n)^{3/2}+n+m)$, due to Bille and Thorup 2009, doi:&lt;a href=&quot;http://dx.doi.org/10.1007/978-3-642-02927-1_16&quot;&gt;10.1007/978-3-642-02927-1_16&lt;/a&gt; (&lt;a href=&quot;http://www2.compute.dtu.dk/~phbi/files/publications/2009fremC.pdf&quot;&gt;preprint&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For a fixed size alphabet, Sebastian Maneth pointed out to me that $O(n+m)$ is possible for deterministic regular expressions by constructing the Glushkov DFA: each position in the regular expression is one state, and the transitions are determined by the bounded set of symbols that may appear before moving to a position.&#xA;However, without fixing the alphabet size, it still holds that &quot;finding a time $O(m+n)$ algorithm remains an open problem&quot; even in the deterministic case.&lt;/p&gt;&#xA;" OwnerUserId="109" LastActivityDate="2015-08-10T19:30:01.433" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32236" PostTypeId="1" CreationDate="2015-08-10T22:41:39.263" Score="3" ViewCount="419" Body="&lt;p&gt;I have a (biological) computational system that outputs squared matrices. These matrices will sometimes have a tendency to be diagonal-like, with higher values at and around the diagonal. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would like to have some summary measure on how &quot;much diagonal&quot; a matrix is, so that I can batch process hundreds of outputs and score them on how much the higher entries cluster in and around the diagonal.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any ideas of some standard approach that I can generalise?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks !&#xA;JL&lt;/p&gt;&#xA;" OwnerUserId="35117" LastActivityDate="2015-08-11T09:59:25.653" Title="&quot;How much diagonal&quot; a matrix is" Tags="&lt;matrices&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32237" PostTypeId="1" AcceptedAnswerId="32291" CreationDate="2015-08-11T00:13:12.180" Score="11" ViewCount="1179" Body="&lt;p&gt;At &lt;a href=&quot;http://www.dharwadker.org/tevet/isomorphism/&quot;&gt;http://www.dharwadker.org/tevet/isomorphism/&lt;/a&gt;, there is a presentation of an algorithm for determining if two graphs are isomorphic. Given a number of shall we say, &quot;interesting&quot; claims by A Dharwadker, I am not inclined to believe it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In my investigation, I find that the algorithm will definitely produce the correct answer and tell you that two graphs are not isomorphic when in fact that is correct. However, it is not clear that the algorithm will consistently tell you if two graphs are isomorphic when they actually are. The &quot;proof&quot; of their result leaves something to be desired.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, I am not aware of a counter-example. Before I start writing software to test out the algorithm, I thought I would see if anyone was already aware of a counter-example.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Someone requested a synopsis of the algorithm. I will do what I can here, but to really understand it, you should visit &lt;a href=&quot;http://www.dharwadker.org/tevet/isomorphism/&quot;&gt;http://www.dharwadker.org/tevet/isomorphism/&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are two phases to the algorithm: A &quot;signature&quot; phase and a sorting phase. The first &quot;signature&quot; phase (this is my term for their process; they call it generating the &quot;sign matrix&quot;) effectively sorts vertices into different equivalence classes. The second phase first orders vertices according to their equivalence class, and then applies a sort procedure within equivalence classes to establish an isomorphism between the two graphs. Interestingly, they do not claim to establish a canonical form for the graphs - instead, one graph is used as a kind of template for the second.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The signature phase is actually quite interesting, and I would not do it justice here by attempting to paraphrase it. If you want further details, I recommend following the link to examine his signature phase. The generated &quot;sign matrix&quot; certainly retains all information about the original graph and then establishes a bit more information. After collecting the signatures, they ignore the original matrix since the signatures contain the entire information about the original matrix. Suffice to say that the signature performs some operation that applies to each edge related to the vertex and then they collects the multiset of elements for a vertex to establish an equivalence class for the vertex.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The second phase - the sort phase - is the part that is dubious. In particular, I would expect that if their process worked, then the algorithm developed by Anna Lubiw for providing a &quot;Doubly Lexical Ordering of Matrices&quot; (See: &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=22189&quot;&gt;http://dl.acm.org/citation.cfm?id=22189&lt;/a&gt;) would also work to define a canonical form for a graph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To be fair, I do not entirely understand their sort process, though I think they do a reasonable job of describing it. (I just have not worked through all the details). In other words, I may be missing something. However, it is unclear how this process can do much more than accidentally find an isomorphism. Sure, they will probably find it with high probability, but not with a guarantee. If the two graphs are non-isomorphic, the sort process will never find it, and the process correctly rejects the graphs.&lt;/p&gt;&#xA;" OwnerUserId="28868" LastEditorUserId="28868" LastEditDate="2015-08-11T06:50:48.693" LastActivityDate="2015-08-16T09:37:50.840" Title="Is anyone aware of a counter-example to the Dharwadker-Tevet Graph Isomorphism algorithm?" Tags="&lt;graph-isomorphism&gt;" AnswerCount="1" CommentCount="10" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="32238" PostTypeId="2" ParentId="32236" CreationDate="2015-08-11T01:00:51.337" Score="1" Body="&lt;p&gt;You might consider as a first approximation:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\sum_i((A[i,i])^2) \over \epsilon + \sum_{i \ne j}((A[i,j])^2)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(The epsilon value is there to avoid divide-by-zero errors).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Having said that, you might also consider the question of whether the matrices are tri-diagonal. A matrix is often converted to tri-diagonal form before computing its eigenvalues.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another measure of &quot;diagonalness&quot; could be the sum of the absolute value of the differences between the eigenvalues (arranged in sorted order) and the diagonals (arranged in order of largest diagonal-entry first). This is great if you already know the eigenvalues. In fact, it is probably a better measure. However, in terms of efficiency, I would probably prefer the sum of squares ratios.&lt;/p&gt;&#xA;" OwnerUserId="28868" LastEditorUserId="109" LastEditDate="2015-08-11T09:59:25.653" LastActivityDate="2015-08-11T09:59:25.653" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32239" PostTypeId="1" AcceptedAnswerId="32241" CreationDate="2015-08-11T01:50:11.220" Score="3" ViewCount="1343" Body="&lt;p&gt;The problem I am interested in is a simple variant of the longest path problem on DAGs: find a path between two chosen vertices in a DAG such that the sum of the weights of its constituent edges is maximized, subject to the constraint that the sum of the weights is less than or equal to some upper bound W. Hence the title of this post, that the longest path not be &quot;too long&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am aware that the general longest-path problem is NP-Hard, and that the standard longest-path problem on DAGs is easily solved in O(|V|+|E|) time using topological sort and edge-relaxation (i.e. DP) (or we can solve this as shortest path by negating edge-weights).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I've frustratingly searched for a while on the web and came up with nothing on this problem; one would think that so simple a variant would at least be mentioned somewhere (if even in the general case, not limited to DAGs; or perhaps phrased as a shortest path problem where the path shouldn't be &quot;too short&quot;). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I thought perhaps simply modifying the edge-relaxation condition to include the upper-bound constraint would do the trick, but I realized this is flawed: a &quot;heavier&quot; path may look attractive at the moment, but may end up violating the constraint (and so we should've stuck with the previous, albeit &quot;lighter&quot; estimate). I've not been able to find some alternative way of modifying the DP method to make this go through.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Efficient solutions are appreciated, or, conversely, a proof that this problem is hard. Relevant sources or references would also be appreciated.&lt;/p&gt;&#xA;" OwnerUserId="22739" LastActivityDate="2015-08-11T03:34:10.467" Title="Longest path in a DAG that's not too long" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;directed-acyclic-graph&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32240" PostTypeId="1" CreationDate="2015-08-11T01:54:04.870" Score="2" ViewCount="77" Body="&lt;p&gt;&lt;a href=&quot;http://researcher.watson.ibm.com/researcher/files/us-fagin/jcss03.pdf&quot; rel=&quot;nofollow&quot;&gt;Fagin's Algorithm&lt;/a&gt; is a popular algorithm for finding the top-$k$ items from multiple ranked lists of the items (i.e., via different scoring functions), using some monotonic aggregation function for the final list's scores. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm wondering if there has been any research into a similar algorithm for when the multiple lists have not been ranked yet.  &lt;strong&gt;&lt;em&gt;My goal is to avoid scoring all the items before finding the top-$k$ in the final list.&lt;/em&gt;&lt;/strong&gt; Approximations or some probabilistic approach would be fine; I'm just not finding the area of research to look into.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Example Data:&lt;/strong&gt; given $N$ cars, assume there are several scoring functions representing someone's preferences: &lt;code&gt;safetyPreference()&lt;/code&gt;, &lt;code&gt;coolnessPreference()&lt;/code&gt;, &lt;em&gt;etc.&lt;/em&gt;, where these functions return a value from $1-5$, with higher being more preferred, and the aggregate preference being the sum across all preference functions.&lt;/p&gt;&#xA;" OwnerUserId="4214" LastActivityDate="2015-08-11T01:54:04.870" Title="Are there any algorithms that are similar to Fagin's Algorithm, but for unranked lists?" Tags="&lt;sorting&gt;&lt;ir.information-retrieval&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32241" PostTypeId="2" ParentId="32239" CreationDate="2015-08-11T03:34:10.467" Score="6" Body="&lt;p&gt;This is NP-hard by reduction from subset sum. ​ ​ ​ There is a vertex for each element of the&#xA;&lt;br&gt;&#xA;set and one more vertex. ​ ​ ​ The extra vertex has an outgoing edge to each other vertex&#xA;&lt;br&gt;&#xA;but no incoming edges, and otherwise there is an edge from x to y if and only if ​ x &amp;lt; y .&#xA;&lt;br&gt;&#xA;The weight of each edge is equal to that edge's terminal vertex.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, one can &lt;a href=&quot;https://en.wikipedia.org/wiki/Topological_sorting&quot;&gt;topologically sort&lt;/a&gt; the vertices and then &lt;a href=&quot;https://en.wikipedia.org/wiki/Subset_sum_problem#Pseudo-polynomial_time_dynamic_programming_solution&quot;&gt;use dynamic programming&lt;/a&gt;&#xA;&lt;br&gt;&#xA;in a way that's similar to the dynamic programming algorithm for subset sum.&lt;/p&gt;&#xA;" OwnerDisplayName="user6973" LastActivityDate="2015-08-11T03:34:10.467" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="32242" PostTypeId="2" ParentId="32220" CreationDate="2015-08-11T05:43:30.280" Score="1" Body="&lt;p&gt;It's not hard to show that a function $g(n,k)$ is $O(f(k)\cdot n^c)$ for some computable function $f$ and constant $c$ if and only if $g(n,k)$ is $O(f'(k) + n^{c'})$ for some computable function $f'$ and constant $c'$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, fixed-parameter tractability can be defined using either form equivalently.&lt;/p&gt;&#xA;" OwnerUserId="26633" LastActivityDate="2015-08-11T05:43:30.280" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32244" PostTypeId="1" CreationDate="2015-08-11T11:58:01.947" Score="-1" ViewCount="340" Body="&lt;p&gt;Lets define the simpler of two terms as the one with shortest description length on the untyped λ-calculus. Trying to find the simplest solver for a np-complete problem, I've got this:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;solve_sat = (λab.(a(λcde.(c(λf.(d(λgh.(g(λij.j)(fgh)))))&#xA;    (c(λf.(d(λgh.(g(λij.i)(fgh)))))e)))(λcd.(c(λef.f)d))&#xA;    (λcd.(c(λefg.(f(ge)))(λe.e)b(c(λefg.(f(ge)))(λe.e)b)&#xA;    d))(λcd.d)))&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;This λ-term takes 2 arguments, a church number telling the arity of a church-encoded boolean formula, and the formula itself, and returns &quot;true&quot; if it is satisfiable. Of course, this term is quite long, but serves as an upper ceiling. My question is: &lt;strong&gt;what is the shortest known term that solves an NP-complete problem?&lt;/strong&gt;&lt;/p&gt;&#xA;" OwnerUserId="17388" LastActivityDate="2015-08-12T04:36:33.547" Title="What is the simplest known solver for a np-complete problem?" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;&lt;sat&gt;&lt;lambda-calculus&gt;" AnswerCount="1" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="32245" PostTypeId="1" CreationDate="2015-08-11T17:15:53.197" Score="0" ViewCount="282" Body="&lt;p&gt;Could anybody provide an example of regular language R and context-free grammar G such that $R \subseteq L(G)$ is undecidable. Of course, if such language could be constructed. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks.&lt;/p&gt;&#xA;" OwnerUserId="35123" LastActivityDate="2015-08-11T18:02:01.937" Title="Example of R and G when $R \subseteq L(G)$ is undecidable" Tags="&lt;regular-language&gt;&lt;context-free&gt;&lt;undecidability&gt;" AnswerCount="2" CommentCount="2" ClosedDate="2015-08-12T13:23:57.173" ContentLicense="CC BY-SA 3.0" />
  <row Id="32246" PostTypeId="2" ParentId="32198" CreationDate="2015-08-11T17:37:00.077" Score="6" Body="&lt;p&gt;This is an (interesting) open problem, as far as I know. Rahul Santhanam and I explicitly mention the problem of proving Permanent is not in LOGSPACE-uniform TC0 in our CCC'13 paper (On Medium-Uniformity and Circuit Lower Bounds). &lt;/p&gt;&#xA;" OwnerUserId="225" LastActivityDate="2015-08-11T17:37:00.077" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="32247" PostTypeId="2" ParentId="32245" CreationDate="2015-08-11T17:45:49.873" Score="3" Body="&lt;p&gt;Given an $R$ and a $G$, one can easily construct a TM which outputs whether $R \subseteq L(G)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Consider two TMs, one that just rejects and one that just accepts. If not the first, then the second TM would definitely be correct.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is not possible is this: Give a TM that takes as input any $R$ and any $G$ and accepts iff $R \subseteq L(G)$ and rejects otherwise.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that the same is true for the halting problem. Given a TM $M$, it is decidable whether $M$ halts or not. (The same two TMs mentioned above would do.) What's undecidable is the general problem of being able to decide whether a TM given as input halts or not. (A single machine that can take any TM as input and be correct on all of them.)&lt;/p&gt;&#xA;" OwnerUserId="9143" LastActivityDate="2015-08-11T17:45:49.873" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32248" PostTypeId="2" ParentId="32245" CreationDate="2015-08-11T18:02:01.937" Score="3" Body="&lt;p&gt;If you mean &quot;undecidable&quot; in the computational sense, then see the answer of Suhail Sherif.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Your question becomes more interesting if we take &quot;undecidable&quot; in the proof-theoretic sense, i.e. there is no mathematical proof (say in ZFC) of $R\subseteq L(G)$ and no proof of $R\not\subseteq L(G)$ either.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Such languages exist, because for any undecidable problem $P$ (in the computational sense), there is a particular instance of $P$ which is undecidable in the proof-theoretic sense. Otherwise, enumerating proofs in ZFC would constitute an algorithm to decide $P$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We can build these languages explicitely, using the proof that there is no TM deciding the problem $P$: given $R$ and $G$, do we have $R\subseteq L(G)$ ? It goes like this: look at how the halting problem for any TM $M$ reduces to $P$, and take the $R$ and $G$ obtained from the TM $M_{ZFC}$ which looks for a contradiction in ZFC, and whose halting is undecidable in the proof-theoretic sense. The $R_{ZFC}$ and $G_{ZFC}$ obtained will provably verify $R_{ZFC}\subseteq L(G_{ZFC})$ iff $M_{ZFC}$ halt, and therefore this inclusion will be undecidable in ZFC, by Gödel's second incompleteness theorem.&lt;/p&gt;&#xA;" OwnerUserId="8953" LastActivityDate="2015-08-11T18:02:01.937" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32250" PostTypeId="2" ParentId="32244" CreationDate="2015-08-12T04:36:33.547" Score="1" Body="&lt;p&gt;I believe that the problem as you've described it is undecidable.  Given that UTMs are Turing-equivalent to the lambda calculus, we can rephrase your question as follows:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt; Describe the shortest Turing machine that completely decides any NP-complete problem.&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Assume that we have a fixed UTM and indexing of Turing machines.  Then suppose that you have, in fact, found the true &quot;shortest Turing machine&quot; that decides an NP-complete problem.  The issue is that there may be a shorter Turing machine that fails to halt on all inputs.  This shorter Turing machine cannot be found algorithmically to &lt;em&gt;not&lt;/em&gt; decide an NP-complete problem, due to the undecidability of the halting problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, as a general statement, we can say the following:  Given as input a class of problems &lt;em&gt;X&lt;/em&gt;, there is no Turing machine that finds the shortest Turing machine that decides any member of &lt;em&gt;X&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is somewhat related to &lt;a href=&quot;https://en.wikipedia.org/wiki/Kolmogorov_complexity&quot; rel=&quot;nofollow&quot;&gt;Kolmogorov complexity&lt;/a&gt;; see, in particular, the proof that Kolmogorov complexity is undecidable (it uses the Berry paradox).&lt;/p&gt;&#xA;" OwnerUserId="1338" LastActivityDate="2015-08-12T04:36:33.547" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32251" PostTypeId="2" ParentId="32228" CreationDate="2015-08-12T07:12:43.213" Score="13" Body="&lt;p&gt;It is not known if there is an &lt;span class=&quot;math-container&quot;&gt;$\varepsilon &amp;gt; 0$&lt;/span&gt;, &lt;span class=&quot;math-container&quot;&gt;$c &amp;gt; 2$&lt;/span&gt;, and &lt;span class=&quot;math-container&quot;&gt;$k &amp;gt; c$&lt;/span&gt; such that &lt;span class=&quot;math-container&quot;&gt;$(c,k)$&lt;/span&gt; hyperclique is in &lt;span class=&quot;math-container&quot;&gt;$n^{k-\varepsilon}$&lt;/span&gt; time. Note that the case of &lt;span class=&quot;math-container&quot;&gt;$k \leq c$&lt;/span&gt; is trivial. For years I have communicated this problem to many people, and taught it in cs266 at Stanford, due to its connection to solving &lt;span class=&quot;math-container&quot;&gt;$k$&lt;/span&gt;-Sat. (Several open problem sessions at workshops probably recorded this.)  Here are a few things I know:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I proved several years ago that solving &lt;span class=&quot;math-container&quot;&gt;$4-cycle$&lt;/span&gt; on &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt; node graphs in &lt;span class=&quot;math-container&quot;&gt;$n^{2-\varepsilon}$&lt;/span&gt; time implies &lt;span class=&quot;math-container&quot;&gt;$(3,4)$&lt;/span&gt; hyperclique in &lt;span class=&quot;math-container&quot;&gt;$n^{4-\varepsilon}$&lt;/span&gt; time. Haven't published it. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;UPDATE (Aug 2019)&lt;/strong&gt; the aforementioned result and some generalizations now appear in the paper&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Andrea Lincoln, Virginia Vassilevska Williams, R. Ryan Williams:&#xA;&lt;a href=&quot;https://people.csail.mit.edu/rrw/SparseGraphsShort.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Tight Hardness for Shortest Cycles and Paths in Sparse Graphs&lt;/a&gt;. SODA 2018: 1236-1252&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you can solve &lt;span class=&quot;math-container&quot;&gt;$(3,4)$&lt;/span&gt; hyperclique as indicated above, then Max-3-Sat can be solved in strictly less than &lt;span class=&quot;math-container&quot;&gt;$2^n$&lt;/span&gt; time. Similarly, solving &lt;span class=&quot;math-container&quot;&gt;$(k,k+1)$&lt;/span&gt; hyperclique would yield a faster &lt;span class=&quot;math-container&quot;&gt;$k$&lt;/span&gt;-Sat algorithm. So if you believe Strong ETH then there is an obvious limit here. The reduction is a natural generalization of the reduction from Max-2-Sat to triangle finding (&lt;span class=&quot;math-container&quot;&gt;$(2,3)$&lt;/span&gt; clique) from ICALP'04 and my PhD thesis. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can solve &lt;span class=&quot;math-container&quot;&gt;$(c,k)$&lt;/span&gt; hyperclique in &lt;span class=&quot;math-container&quot;&gt;$n^k/(\log n)^{\Omega(k)}$&lt;/span&gt; time by generalizing the paper &lt;a href=&quot;http://theory.stanford.edu/~virgi/combclique-ipl-g.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Efficient Algorithms for Clique Problems&lt;/a&gt;. &lt;/p&gt;&#xA;" OwnerUserId="225" LastEditorUserId="4795" LastEditDate="2019-08-27T06:53:10.290" LastActivityDate="2019-08-27T06:53:10.290" CommentCount="5" ContentLicense="CC BY-SA 4.0" />
  <row Id="32252" PostTypeId="1" CreationDate="2015-08-12T08:31:58.870" Score="1" ViewCount="106" Body="&lt;p&gt;Consider the following problem:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Input&lt;/strong&gt;: the vertices of two $n$ dimensional axis-parallel cubes: &#xA;$\times_{i=1}^{n} [a_i,b_i] \subseteq [0,1]^n$ and&#xA;$\times_{i=1}^{n} [l_i,u_i] \subseteq [0,1]^n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$P = \{ \vec{p} \in \times_{i=1}^{n} [a_i,b_i] : ||\vec{p}||_1 = 1\}$,&lt;/li&gt;&#xA;&lt;li&gt;$X = \{ \vec{x} \in \times_{i=1}^{n} [l_i,u_i] : ||\vec{x}||_1 = 1\}$,&lt;/li&gt;&#xA;&lt;li&gt;$W = \{ \vec{w} \in [0,1]^n : ||\vec{w}||_1 = 1\}$,&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;where $||\vec{v}||_1 = \sum_{i=1}^n v_i$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Query&lt;/strong&gt;: for all $\vec{p} \in P$&#xA;there are $\vec{x} \in X$ and $\vec{w} \in W$ such that &#xA;$x_iw_i=p_i$ for all $i = 1, \ldots, n$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is the complexity of this problem?&lt;/p&gt;&#xA;" OwnerUserId="10119" LastEditorUserId="10119" LastEditDate="2015-08-12T16:13:53.103" LastActivityDate="2015-08-13T10:55:51.810" Title="Assignment of values for a set" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;time-complexity&gt;&lt;convex-optimization&gt;&lt;convex-geometry&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32253" PostTypeId="1" AcceptedAnswerId="32256" CreationDate="2015-08-12T13:36:39.947" Score="5" ViewCount="113" Body="&lt;p&gt;I have been working on a project that turns out to be a special case of the directed version of the survivable network problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Iterative rounding gives a 2-approximation of the undirected case. I'm wondering if the directed case has been studied at all and if so, what approximations can be guaranteed.&lt;/p&gt;&#xA;" OwnerUserId="31967" LastEditorUserId="5385" LastEditDate="2015-08-13T17:40:19.820" LastActivityDate="2015-08-13T17:40:19.820" Title="Survivable networks, directed case" Tags="&lt;reference-request&gt;&lt;network-modeling&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32255" PostTypeId="2" ParentId="31708" CreationDate="2015-08-12T15:06:42.610" Score="2" Body="&lt;p&gt;On (1): The case of stable sets in graphs may clarify the situation (a &lt;em&gt;stable&lt;/em&gt; set of a graph is a set of pairwise non-adjacent vertices). For each graph $G$, let $\mathcal{S}(G)$ be the set of stable sets of $G$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The graphs $G$ for which the non-trivial facets of $P(V(G),\mathcal{S}(G))$ (i.e the stable polytope) are all rank-facets are called &lt;em&gt;rank-perfect&lt;/em&gt; graphs (see &lt;a href=&quot;https://www.google.fr/url?sa=t&amp;amp;rct=j&amp;amp;q=&amp;amp;esrc=s&amp;amp;source=web&amp;amp;cd=1&amp;amp;cad=rja&amp;amp;uact=8&amp;amp;ved=0CCIQFjAAahUKEwip07-65qPHAhXGtRoKHdUzDFw&amp;amp;url=http%3A%2F%2Fciteseerx.ist.psu.edu%2Fviewdoc%2Fdownload%3Fdoi%3D10.1.1.88.1439%26rep%3Drep1%26type%3Dpdf&amp;amp;ei=R17LVemTBMbratXnsOAF&amp;amp;usg=AFQjCNH6UEQ9JmjiiTp1Pdet2UxmKsVHyQ&amp;amp;bvm=bv.99804247,d.d2s&quot; rel=&quot;nofollow&quot;&gt;Wagler&lt;/a&gt;). They include line graphs (by Edmonds' matching polytope theorem), perfect graphs, series-parallel graphs and more. Wheels with an even number of at least 6 vertices provide a basic example of non-rank-perfection.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To my knowledge, no characterization of rank-perfect graphs is known, and the problem of their recognition may be difficult. &lt;a href=&quot;https://www.google.fr/url?sa=t&amp;amp;rct=j&amp;amp;q=&amp;amp;esrc=s&amp;amp;source=web&amp;amp;cd=1&amp;amp;cad=rja&amp;amp;uact=8&amp;amp;ved=0CCIQFjAAahUKEwihgd3t5aPHAhWGfhoKHXzkCFY&amp;amp;url=http%3A%2F%2Flink.springer.com%2Farticle%2F10.1007%252Fs10107-005-0655-7&amp;amp;ei=pl3LVaGWBIb9afzIo7AF&amp;amp;usg=AFQjCNFzHyhc1OZfz1g5c7Yt3pB3sW9w9g&amp;amp;bvm=bv.99804247,d.d2s&quot; rel=&quot;nofollow&quot;&gt;Pêcher and Wagler&lt;/a&gt; have several partial results on rank-perfect webs. By contrast, Wagler showed that the complements of webs are all rank-perfect.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On (2): the answer is negative as shows the following example. Let $G$ be the claw (i.e the complete bipartite graph $K_{1,3}$). It is well-known that since $G$ is bipartite, the non-trivial facets of $P(V(G),\mathcal{S}(G))$ are the edge-inequalities and hence are rank-facets.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, suppose by contradiction that $\mathcal{S}(G)$ is the set of common independent sets of two matroids. Using the weak circuit axiom of matroids in each matroid (that is, for each distinct circuits $C_1$ and $C_2$ of a matroid $M$ and each $e\in C_1\cap C_2$, there is a circuit in $(C_1\cup C_2)-e$), it is straightforward to check that a clique of size 2 must belong to $\mathcal{S}(G)$: a contradiction.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The same argument shows an example with more vertices but no claw: the circuit with 5 vertices. &lt;/p&gt;&#xA;" OwnerUserId="35112" LastActivityDate="2015-08-12T15:06:42.610" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32256" PostTypeId="2" ParentId="32253" CreationDate="2015-08-12T16:19:00.390" Score="6" Body="&lt;p&gt;The directed versions are much harder. A survey by Nutov available on his web page is &#xA;a good starting point. &#xA;&lt;a href=&quot;http://www.openu.ac.il/home/nutov/Survivable-Network.pdf&quot;&gt;http://www.openu.ac.il/home/nutov/Survivable-Network.pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="176" LastActivityDate="2015-08-12T16:19:00.390" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32257" PostTypeId="1" AcceptedAnswerId="33557" CreationDate="2015-08-12T18:12:45.647" Score="1" ViewCount="145" Body="&lt;p&gt;It is stated e.g. &lt;a href=&quot;https://hackage.haskell.org/package/base-4.8.1.0/docs/Control-Arrow.html#t:ArrowMonad&quot; rel=&quot;nofollow&quot;&gt;on Hackage&lt;/a&gt;, that the &lt;code&gt;ArrowApply&lt;/code&gt; and the &lt;code&gt;Monad&lt;/code&gt; typeclasses are equivalent. I have my doubts about this.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is obvious that there are morphisms from &lt;code&gt;ArrowApply&lt;/code&gt; to &lt;code&gt;Monad&lt;/code&gt; and back, and one can check that one can prove the &lt;code&gt;Monad&lt;/code&gt; laws and the &lt;code&gt;ArrowApply&lt;/code&gt; laws in each case. What I doubt is that these morphisms are inverses.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;They are defined this way:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Let $\leadsto: \operatorname{Type} \times \operatorname{Type} \to \operatorname{Type}$ be an instance of &lt;code&gt;ArrowApply&lt;/code&gt;, so there is $arr: (a \to b) \to (a \leadsto b)$, $first: (a \leadsto b) \to (a \times c \leadsto b \times c)$ and $app: ((b \leadsto c) \times b) \leadsto c$, and $\leadsto$ is the hom of some category. I'm leaving out the universal quantifiers on lower-case letters, like in Haskell-style.&lt;/li&gt;&#xA;&lt;li&gt;We define a monad $m: \operatorname{Type} \to \operatorname{Type}$ by $m a = 1 \leadsto a$. For example, $\operatorname{return}: a \to m a$ is defined as $\operatorname{return} x = arr (\lambda y. x)$, and $\operatorname{join}$ and the monad laws are not very hard.&lt;/li&gt;&#xA;&lt;li&gt;Or the other way: Given a monad $m$, define $a \leadsto b = a \to m b$. This defines obviously a category and also gives rise to an &lt;code&gt;ArrowApply&lt;/code&gt;.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I cannot see at all that these constructions are inverse to each other. Here is what I believe to be a counter-example:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Define your arrow type as the fixpoint of $a \leadsto b = a \to (b \times (a \leadsto b))$. This is the terminal coalgebra of the functor $x \mapsto A \to (b \times x)$. It represents a stateful, causal stream function. Constructions like this are used in functional reactive programming, e.g. &lt;a href=&quot;https://wiki.haskell.org/Yampa&quot; rel=&quot;nofollow&quot;&gt;Yampa&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We then define the monad $m$ in terms of $\leadsto$.&#xA;Intuitively, $m a$ is the type of stream functions from unit to $a$, in other words, streams in $a$.&#xA;But Kleisli arrows of this monad aren't stream functions:&#xA;$$m a = 1 \to a \times (1 \leadsto a) \cong a \times (m a)$$&#xA;$$\implies a \to m b \simeq a \to b \times (m b) \not\simeq a \to b \times (a \leadsto b) \simeq a \leadsto b$$&#xA;So in this case, the constructions are not equivalent, if I haven't made a mistake somewhere.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are &lt;code&gt;ArrowApply&lt;/code&gt; and &lt;code&gt;Monad&lt;/code&gt; inequivalent then, since the constructions aren't inverses of each other? Or is there another construction that makes them equivalent?&lt;/p&gt;&#xA;" OwnerUserId="32941" LastEditorUserId="32941" LastEditDate="2016-01-12T18:35:21.730" LastActivityDate="2016-01-12T18:35:21.730" Title="Are the `ArrowApply` and `Monad` typeclasses equivalent?" Tags="&lt;data-streams&gt;&lt;haskell&gt;&lt;monad&gt;&lt;equivalence&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32259" PostTypeId="2" ParentId="32252" CreationDate="2015-08-12T23:55:38.973" Score="3" Body="&lt;p&gt;The problem as stated now is solvable in linear time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To see this, suppose $p\in P$ is such that there are $x\in X$ and $w\in W$ with $p_i=x_iw_i$ for all $i$. This means on the one hand that $1=\sum_{i=1}^np_i=\sum_{i=1}^nx_iw_i$, but on the other hand because of $1 = \sum_{i=1}^nx_i$ and $1 = \sum_{i=1}^nw_i$ we have $1 = \sum_{i=1}^n\sum_{j=1}^nx_iw_j$, so that $x_iw_j$ must be $0$ for all $i\neq j$ (using also that all the $x_i,w_i$ are nonnegative).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This implies that there is some index $k$ with $x_k=w_k=1$ and $x_j=w_j=0$ for all other $j$: indeed, since $1 = \sum_{i=1}^nx_i$, some $x_k$ must be nonzero. Then $x_kw_j=0$ means $w_j=0$ for all $j\neq k$, and because $1 = \sum_{i=1}^nw_i$, we have $w_k=1$. Analogously we get $x_j=0$ for $j\neq k$ and $x_k=1$. As a consequence, $p_k=1$ and $p_j=0$ for $j\neq k$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The decision problem is whether this is true for all $p\in P$. Since $P$ is convex, this is only possible if $P$ only consists of one of these unit vectors, i.e. for some $k$ we have $a_k=b_k=1$ and $a_j=b_j=0$ for all other $j$; additionally, $X$ must also contain this vector, i.e. we need to have $u_k=1$ and $l_j=0$ for $j\neq k$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT: What we have are the following results:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;If $p,x,w\in[0,1]^n$ with $\sum_ip_i=\sum_ix_i=\sum_iw_i=1$ and $p_i=x_iw_i$ for all $i$, then $p=x=w=e_k$ for some $k$, where $e_k$ is the unit vector given by $(e_k)_k=1$ and $(e_k)_j=0$ for all $j\neq k$.&lt;/li&gt;&#xA;&lt;li&gt;Adding the constraints $a_i\le p_i\le b_i$ and $l_i\le x_i\le u_i$ further restricts the set of solutions to those $e_k$ which are both in $P$ and in $X$, i.e. such that $b_k=u_k=1$ and $a_j=l_j=0$ for $j\neq k$.&lt;/li&gt;&#xA;&lt;li&gt;The decision problem given in the question is whether such $x,w$ exist for all $p\in P$; the answer to this is &quot;yes&quot; if and only if $P$ is a singleton set $\{e_k\}$ for some $k$, i.e. $a_k=b_k=1$ and $a_j=b_j=0$ for $j\neq k$, and additionally this $e_k$ is in $X$, i.e. $u_k=1$ and $l_j=0$ for $j\neq k$. This can be checked in linear time. &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="5183" LastEditorUserId="5183" LastEditDate="2015-08-13T10:55:51.810" LastActivityDate="2015-08-13T10:55:51.810" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="32260" PostTypeId="1" AcceptedAnswerId="32264" CreationDate="2015-08-13T01:34:37.643" Score="7" ViewCount="325" Body="&lt;p&gt;I'm making a language that has higher-kinded types (like Haskell) and allows type synonyms to appear partially applied in type expressions (unlike Haskell). As an example, consider the following pseudo-GHCi session:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;&amp;gt; data Foo f a = Foo (f a)&#xA;&amp;gt; type Bar a = Char&#xA;&amp;gt; type Qux a = a&#xA;&amp;gt; :t Foo 'a'&#xA;Foo 'a' :: (f a ~ Char) =&amp;gt; Foo f a&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;(GHCi's actual output is an error message saying that &lt;code&gt;f a&lt;/code&gt; can't be unified with &lt;code&gt;Char&lt;/code&gt;.)&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;&amp;gt; :t Foo 'a' :: Foo Bar a&#xA;Foo 'a' :: Foo Bar a :: Foo Bar a&#xA;&amp;gt; :t Foo 'a' :: Foo Qux Char&#xA;Foo 'a' :: Foo Qux Char :: Foo Qux Char&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;(GHCi's actual output is an error message saying &lt;code&gt;Bar&lt;/code&gt; and &lt;code&gt;Qux&lt;/code&gt; haven't been passed enough arguments.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I already understand that:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Haskell requires all type synonyms to be fully applied in type expressions. As a consequence, every valid Haskell type expression has an equivalent canonical form in which no type synonyms appear. Haskell type checkers can take advantage of the aforementioned fact by only performing type unification on canonical forms, where the equation &lt;code&gt;f a ~ g b&lt;/code&gt; can be soundly reduced to &lt;code&gt;f ~ g&lt;/code&gt; and &lt;code&gt;a ~ b&lt;/code&gt;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Without the aforementioned restriction, we can't reduce equations of the form &lt;code&gt;f e1 ~ e2&lt;/code&gt;, where &lt;code&gt;f&lt;/code&gt; is a free type variable, and &lt;code&gt;e1&lt;/code&gt; and &lt;code&gt;e2&lt;/code&gt; are arbitrary type expressions. In particular, if &lt;code&gt;e2&lt;/code&gt; isn't a lone type variable, the only thing we can do with such a constraint is attach it to the inferred type signature. This is why, in my pseudo-GHCi seesion above, the principal type of &lt;code&gt;Foo 'a'&lt;/code&gt; is &lt;code&gt;(f a ~ Char) =&amp;gt; Foo f a&lt;/code&gt;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Before I can formulate the remainder of my question, I need to introduce a little terminology:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Head:&lt;/strong&gt; The head of a type expression of the form &lt;code&gt;f a&lt;/code&gt; is equal to the head of &lt;code&gt;f&lt;/code&gt;. The head of any other type expression is the entire type expression itself.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Determinacy:&lt;/strong&gt; A type expression is determinate if and only if its head isn't a free type variable.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Reducibility:&lt;/strong&gt; A type equation is reducible if its left- and right-hand sides are both determinate.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Stuckness:&lt;/strong&gt; A type equation is stuck if either side is the application of a type variable to an arbitrary type expression, and the other side isn't a lone type variable.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Under this new formulation, arbitrarily higher-order (but rank-1) type unification simply consists in reducing a system of equations until no more reducible equations remain (e.g., from &lt;code&gt;Either a b ~ Either c d&lt;/code&gt; to &lt;code&gt;a ~ c&lt;/code&gt; and &lt;code&gt;b ~ d&lt;/code&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, one problem remains: Equations like &lt;code&gt;f a ~ Int&lt;/code&gt; and &lt;code&gt;f a ~ Char&lt;/code&gt; are mutually inconsistent, but, because they're both stuck, the unification algorithm outlined above won't even bother analyzing them. As a result, I'd get a nonsensical inferred type signature like &lt;code&gt;(f a ~ Int, f a ~ Char) =&amp;gt; ...&lt;/code&gt;, instead of a proper type error.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, I'm aware that, in general, higher-order unification is undecidable, so there's no solution to the aforementioned problem that works in all cases. But I have one more constraint that I hope could save the day: All type functions must be parametric. (I just don't like type families.) For example:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;code&gt;f Int ~ Char&lt;/code&gt; and &lt;code&gt;f Char ~ Int&lt;/code&gt; are now mutually inconsistent constraints.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Assuming no kind polymorphism, &lt;code&gt;f a ~ Int&lt;/code&gt; and &lt;code&gt;f b ~ Char&lt;/code&gt; have exactly one solution (up to type synonym replacement): &lt;code&gt;a ~ Int&lt;/code&gt;, &lt;code&gt;b ~ Char&lt;/code&gt; and &lt;code&gt;f&lt;/code&gt; is the identity type function.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Is parametric higher-order type unification decidable? I highly suspect, but have no proof, that the notion of &quot;type expression head&quot; could be the key to giving a positive solution to this problem.&lt;/p&gt;&#xA;" OwnerUserId="6634" LastEditorUserId="6634" LastEditDate="2015-08-13T10:34:33.773" LastActivityDate="2015-08-13T12:45:51.987" Title="Decidability of parametric higher-order type unification" Tags="&lt;ds.algorithms&gt;&lt;type-theory&gt;&lt;type-inference&gt;&lt;parametricity&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32261" PostTypeId="1" CreationDate="2015-08-13T02:13:08.907" Score="5" ViewCount="187" Body="&lt;p&gt;For any language $L$, let us define another language $Tally(L)$, as follows:&#xA;$$Tally(L)=\{1^n\;|\;\exists x \;\mbox{with}\; x\in L \;\mbox{and}\; |x|=n\}$$&#xA;That is, $Tally(L)$ encodes whether there is an $n$-bit string in $L$ or not. (&lt;em&gt;Remark:&lt;/em&gt; there may be a standard name/notation for this construction, but I am not aware of it.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$Tally(L)$ seems interesting for the following reasons:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;If $L\in \mathsf{NP}$, then $Tally(L)\in \mathsf{NP}$. The reason is that one can witness $1^n\in Tally(L)$ by an $x$ with $|x|=n$ and $x\in L$, along with a polynomially sized witness $y$ for $x\in L$. Then $(x,y)$ can serve as a polynomially sized witness for $1^n\in Tally(L)$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;While $L\in \mathsf{NP}$ implies $Tally(L)\in \mathsf{NP}$, yet $Tally(L)$ cannot be $\mathsf{NP}$-complete, even if $L$ is $\mathsf{NP}$-complete (assuming $\mathsf{P}\neq\mathsf{NP}$). This is because $Tally(L)$ is a unary language, and it is well known that a unary (or even a sparse) language cannot be $\mathsf{NP}$-complete, if $\mathsf{P}\neq\mathsf{NP}$, due to Mahaney's Theorem (the unary version was proved earlier by Berman).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;At the same time, it also seems unlikely that $Tally(L)\in \mathsf{P}$ for &lt;strong&gt;every&lt;/strong&gt; $L\in \mathsf{NP}$. This would mean that for &lt;em&gt;every&lt;/em&gt; $\mathsf{NP}$-property we could decide in polynomial time whether there is an $n$-bit string with the property. Or, similarly, for &lt;strong&gt;every&lt;/strong&gt; graph property in $\mathsf{NP}$, no matter how complicated,  we could &lt;em&gt;always&lt;/em&gt;  decide in polynomial time if there is an $n$-vertex graph with the property or not. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question:&lt;/strong&gt; Is anything nontrivial known about this?&lt;/p&gt;&#xA;" OwnerUserId="12710" LastActivityDate="2015-08-13T02:13:08.907" Title="Question about a unary language construction" Tags="&lt;cc.complexity-theory&gt;&lt;np&gt;&lt;np-complete&gt;" AnswerCount="0" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="32264" PostTypeId="2" ParentId="32260" CreationDate="2015-08-13T11:01:44.760" Score="9" Body="&lt;p&gt;No, it's not decidable. The pure simply-typed lambda calculus is parametric in your sense (it has no case analysis) and higher-order unification is undecidable. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In general, permitting partial application of type synonyms is equivalent to adding lambda-abstraction to the language of type expressions. This is because type synonyms suffice to encode the SKI combinators, which are equivalent to the full lambda calculus. &lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt; type I a     = a&#xA; type K a b   = a &#xA; type S a b c = a c (b c)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;It would be very unnatural to write type annotations using such synonyms, but that doesn't matter for decidability results!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, pattern unification and higher-order matching are both decidable, and may be useful for your purposes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In higher-order unification, you have two lambda terms $s$ and $t$ containing unification variables, and a unifier is a substitution $\theta$ such that $\theta(s) =_{\beta\eta} \theta(t)$, with the goal finding a complete set of unifiers (ie, a set such that every unifier factors through this set). &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;In &lt;strong&gt;higher-order matching&lt;/strong&gt;, we assume that only one of the two terms (say $t$) has unification variables, so we are looking for unifiers $\theta$ such that $s = \theta(t)$. This can be useful for type inference, because often we ask programmers to write type annotations (which obviously won't have unification variables in them). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Colin Stirling gives the algorithm for this in his paper &lt;a href=&quot;http://homepages.inf.ed.ac.uk/cps/fossacs09.pdf&quot;&gt;&lt;em&gt;Dependency Tree Automata&lt;/em&gt;&lt;/a&gt;. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;In &lt;strong&gt;pattern unification&lt;/strong&gt;, we assume that every unification variable $X$ only occurs with arguments that are a disjoint set of variables. That is, any application of $X$ must look like $X\;a\;b\;c$, where $a,b,$ and $c$ are variables distinct from one another. This effectively reduces the problem to first-order unification, since applying a variable to a lambda-term can never introduce a new redex. This procedure is the basis of type inference in most proof assistants like Coq and Agda.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.lix.polytechnique.fr/Labo/Dale.Miller/papers/iclp91.pdf&quot;&gt;Dale Miller&lt;/a&gt; originally made this observation, and many people have worked out different presentations of this algorithm. One I like is Gopalan Nadathur and Natalie Linnell's &lt;a href=&quot;http://www-users.cs.umn.edu/~gopalan/papers/pattern-unif.pdf&quot;&gt;&lt;em&gt;Practical Higher-Order Pattern Unification&#xA;With On-the-Fly Raising&lt;/em&gt;&lt;/a&gt;. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="657" LastEditorUserId="657" LastEditDate="2015-08-13T12:45:51.987" LastActivityDate="2015-08-13T12:45:51.987" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="32266" PostTypeId="1" CreationDate="2015-08-13T13:21:17.767" Score="12" ViewCount="412" Body="&lt;p&gt;'Given $a,b,c\in\Bbb N$, is there $x,y\in\Bbb N$, $ax^2+by=c$' is $\mathsf{NP}$-complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Which complexity class does 'Given $a,b,c\in\Bbb N$, is there $x,y\in\Bbb N$, $ax^2+by^2=c$' belong to?&lt;/p&gt;&#xA;" OwnerDisplayName="user34945" LastEditorDisplayName="user34945" LastEditDate="2015-08-14T04:16:32.713" LastActivityDate="2015-08-14T13:32:47.993" Title="Which complexity class does this number theory problem belong to?" Tags="&lt;ds.algorithms&gt;&lt;complexity-classes&gt;&lt;reductions&gt;&lt;nt.number-theory&gt;&lt;np-complete&gt;" AnswerCount="1" CommentCount="11" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="32267" PostTypeId="1" AcceptedAnswerId="32272" CreationDate="2015-08-13T16:02:54.867" Score="16" ViewCount="439" Body="&lt;p&gt;Suppose we are given a set of n boolean variables x_1,...,x_n and a set of m functions y_1...y_m where each y_i is the XOR of a (given) subset of these variables.&#xA;The goal is to compute the minimum number of XOR operations you need to perform to compute all these y_1...y_m functions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that the result of an XOR operation,&#xA;say x_1 XOR x_2 might be used in computation of multiple y_j's but is counted as one. Also, note that it might be useful to compute XOR of a much larger collection of x_i's (larger than any y_i function, e.g. computing XOR of all x_i's) in order to compute y_i's more efficiently,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Equivalently, suppose we have a binary matrix A, and a vector X and the goal is to compute vector Y such that A.X=Y where all operations done in GF(2) using minimum number of operations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Even when each row of A has exactly k one's (say k=3) is interesting.&#xA;Does anybody know about the complexity (hardness of approximation) for this question? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Mohammad Salavatiopur&lt;/p&gt;&#xA;" OwnerUserId="35144" LastActivityDate="2015-08-15T10:52:32.943" Title="smallest circuit size using XOR gates" Tags="&lt;circuit-complexity&gt;&lt;approximation-hardness&gt;&lt;approximation&gt;&lt;matrix-product&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32268" PostTypeId="1" CreationDate="2015-08-13T16:37:18.843" Score="2" ViewCount="872" Body="&lt;p&gt;I was trying to understand if there was a way to express the back-propagation equations from neural networks in a better way as to understand them better. I believe the equations can be written in a recursive manner as follows (using the notation from &lt;a href=&quot;https://web.stanford.edu/class/cs294a/sparseAutoencoder_2011new.pdf&quot; rel=&quot;nofollow&quot;&gt;these notes&lt;/a&gt; from Andrew Ng):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$ \delta^{(n_l)}_{i} = \left( \sum^{s_{l+1}}_{j=1} W^{(l)}_{ji} \delta^{(l+1)}_{j} \right) f'(z^{(l)}_{i})$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I know that some recursions/recurrences have closed form &quot;equations&quot;/solutions. A typical example would be the Fibonacci sequence (or things that use Akra-Bazzi to solve them). I was wondering, because of the similarity to recursion of this equation, does something like that exist for back-propagation equations in Neural Networks? If there is not, does that mean its impossible to get such an equations? I was wondering if there were formal mathematical proofs arguments that might explain the impossibility of such an attempt or any work that has been tried to that goal.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In reality, it seems that the main use of this equation is algorithmically. But I was hoping that having some sort of equation (or even approximation to this recurrence) could help understand back-propagation and neural networks better. Might this require new mathematics to achieve something like this? Or maybe trying to do something like this makes no sense? If so why so?&lt;/p&gt;&#xA;" OwnerUserId="20909" LastActivityDate="2015-08-13T16:37:18.843" Title="Is there a closed form equation for the back-propagation equation update in Neural Networks?" Tags="&lt;machine-learning&gt;&lt;recursion&gt;&lt;recursive&gt;" AnswerCount="0" CommentCount="6" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="32270" PostTypeId="2" ParentId="32266" CreationDate="2015-08-13T17:22:01.923" Score="5" Body="&lt;p&gt;Added later: As noted in the comments, the NP upper bound is trivial if a, b, and c are positive, as was asked.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Theorem 1.2 in &lt;a href=&quot;http://arxiv.org/pdf/math/0611209&quot; rel=&quot;nofollow&quot;&gt;this paper&lt;/a&gt; shows that deciding if a given diophantine equation in two variables has a solution is in NP.&lt;/p&gt;&#xA;" OwnerUserId="259" LastEditorUserId="259" LastEditDate="2015-08-14T13:32:47.993" LastActivityDate="2015-08-14T13:32:47.993" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="32271" PostTypeId="1" AcceptedAnswerId="32282" CreationDate="2015-08-13T17:35:20.717" Score="16" ViewCount="1024" Body="&lt;p&gt;In the formal description of Deterministic Pushdown Automata, they allow $\epsilon$ moves, where the machine can pop or push symbols onto the stack without reading a symbol from the input. If these $\epsilon$ moves aren't allowed, and the stack can only be modified once after each symbol read, are the resulting automata equal to power to DPDAs?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There may be something trivial I am missing with regards to using the powerset of $\Gamma$ as your new $\Gamma$, allowing you to &quot;compress&quot; $\epsilon$ moves into the equivalent automaton without them, similar to how you can compress $\epsilon$ moves in a DFA. Just it seems that such a conversion is not as trivial as for DFAs, and I'm not sure it's even possible.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So are the two equivalent in power? I'm just asking because everyone seems to assume that DPDAs have $\epsilon$ moves and I'm wondering why that assumption exists, since it seems like a more complex model.&lt;/p&gt;&#xA;" OwnerUserId="21793" LastActivityDate="2015-08-15T16:47:05.430" Title="Are DPDAs without a $\epsilon$ moves as powerful as DPDAs with them?" Tags="&lt;automata-theory&gt;&lt;context-free&gt;" AnswerCount="1" CommentCount="7" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32272" PostTypeId="2" ParentId="32267" CreationDate="2015-08-13T20:07:35.557" Score="18" Body="&lt;p&gt;This is NP-hard. See:&#xA;Joan Boyar, Philip Matthews, René Peralta. Logic Minimization Techniques with Applications to Cryptology. &lt;a href=&quot;http://link.springer.com/article/10.1007/s00145-012-9124-7&quot;&gt;http://link.springer.com/article/10.1007/s00145-012-9124-7&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The reduction is from Vertex Cover and is very nice. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a graph $(\{1,\ldots,n\},E)$ with $m=|E|$, define an $m \times (n+1)$ matrix $A$ as: $A[i,j] = 1$ if $j &amp;lt; n+1$ and $(i,j) \in E$, and $A[i,n+1] = 1$. In other words, given $n+1$ variables $x_1,\ldots,x_{n+1}$ we want to compute the $m$ linear forms $x_i+x_j+x_{n+1}$ for all $(i,j) \in E$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A little thought shows that there is an XOR circuit for $A$ with gates of fan-in two computing the linear transformation $A$ with only $m+k$ gates, where $k$ is the optimal vertex cover for the graph. (First compute $x_{i'} + x_{n+1}$ for all $i'$ in the vertex cover, using $k$ operations. The linear forms are then all computable in $m$ more operations.) It turns out that this is also a minimum size circuit!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The proof that the reduction is correct is not so nice. I would love to see a short proof that this reduction is correct.&lt;/p&gt;&#xA;" OwnerUserId="225" LastActivityDate="2015-08-13T20:07:35.557" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="32273" PostTypeId="1" CreationDate="2015-08-14T03:02:08.067" Score="7" ViewCount="216" Body="&lt;p&gt;Sorting is in $\mathsf{NP}$. Given a sorted list, it is trivial to check sortedness in linear time. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there any evidence sorting of elements from an ordered gcd domain(eg: $\Bbb Z$) cannot be done in linear time using $\{\times,+,-,\bmod\}$ operations in unit cost RAM model where ring operations can be performed on arbitrarily large words in unit time?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am thinking of using only $!=0$ comparison using modulo operations. If $x&amp;gt;y$, then $x\bmod y\neq x$. If $x&amp;lt;y$, then $x\bmod y=x$ holds. So using $x-y==0$ followed by $x - (x\bmod y)==0$ will tell if $x&amp;lt;y$. I do not wish to have bit operations. I want more like $\mathsf{BSS}$ model.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let me clarify my sorting problem further.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Say I have been given list of $n$ different integers $a_0,\dots,a_n$ with each $a_i\in(0,2^m-1)$. I can write down the list in a long integer form $$G=a_0+a_12^m+\dots+a_n2^{nm}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is an unique permutation $\sigma\in S_{n+1}$ such&#xA;$$N=a_{\sigma(0)}+a_{\sigma(1)}2^m+\dots+a_{\sigma(n)}2^{nm}$$ is minimum.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;How many ring operations (with $\bmod$) would it take in worst case for converting integer $G$ to $N$? &lt;/p&gt;&#xA;" OwnerDisplayName="user34945" LastEditorDisplayName="user34945" LastEditDate="2016-05-20T20:50:06.023" LastActivityDate="2016-05-20T20:50:06.023" Title="Sorting using ring operations" Tags="&lt;sorting&gt;&lt;algebraic-complexity&gt;" AnswerCount="1" CommentCount="7" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="32274" PostTypeId="2" ParentId="32273" CreationDate="2015-08-14T07:27:00.460" Score="5" Body="&lt;p&gt;This is more a comment than an answer, but the space in the comment box was too short. Or if it's an answer, it's one in the other direction: evidence that linear time is possible.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think you're going to have to specify more precisely which operations you can perform on the RAM, because to compute it needs to be able to do more than just arithmetic. Memory indexing? Comparisons? If you allow bitwise binary operations (including shifts) and either hashing or unbounded memory then it's all over, even without multiplication or division:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;def sort(intlist):&#xA;    backtrans = {}&#xA;    bits = 0&#xA;    for x in intlist:&#xA;        y = 1&amp;lt;&amp;lt;x&#xA;        if y in backtrans:&#xA;            backtrans[y][1] += 1&#xA;        else:&#xA;            backtrans[y] = [x,1]&#xA;        bits |= y&#xA;    while bits:&#xA;        y = bits &amp;amp;~ (bits - 1)&#xA;        x,reps = backtrans[y]&#xA;        for i in range(reps):&#xA;            yield x&#xA;        bits &amp;amp;=~ y&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;There's also a linear time sorting algorithm (for large enough machine words) by Albers and Hagerup 1997 but I'm not sure which operations it needs or whether it could be adapted to use only arithmetic and not bit manipulation. The reference is:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Albers, Susanne; Hagerup, Torben (1997), &quot;&lt;a href=&quot;https://dx.doi.org/10.1006/inco.1997.2632&quot;&gt;Improved parallel integer sorting without concurrent writing&lt;/a&gt;&quot;, &lt;em&gt;Information and Computation&lt;/em&gt; 136 (1): 25–51.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2015-08-14T07:27:00.460" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="32275" PostTypeId="1" CreationDate="2015-08-14T09:31:10.010" Score="2" ViewCount="213" Body="&lt;p&gt;Consider a set of polytopes $P_i : i=1,2,...,k$ each of which has a&#xA;structure as  $P_i:= \{(x_{i1},x_{i2},..., x_{in})\; |\; x_{ij} \in [a_{ij}, b_{ij}] \subseteq [0,1]\}\;\; \text{for all}\;\; j=1,...,n$   and   $\sum_j x_{ij}=1$.&#xA;We define $P= CH (\cup_i  P_i)$ where $CH$ stands for the convex hull.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other side, we have another set of polytopes $Q_t: t=1,2,..., r$&#xA;each of which defined similarly as $Q_t:= \{(y_{t1},y_{t2},..., y_{tn})\; |\; y_{tj} \in&#xA;[c_{tj}, d_{tj}] \subseteq [0,1]\; \text{for all}\; j=1,...,n \;   \text{and}   \sum_j y_{tj}=1\}$.&#xA;Then we define $Q= CH (\cup_t  Q_t)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Please note that the number of polytopes $P_i$, i.e., &lt;em&gt;k&lt;/em&gt; and the number of&#xA;polytopes $Q_t$, i.e., &lt;em&gt;r&lt;/em&gt; are not necessarily equal. However, both polytopes&#xA;$P_i$ and $Q_t$ are defined in $\mathbb{R}^n$ as above.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Query&lt;/strong&gt;: Is checking if $P=Q$ computationally hard?&lt;/p&gt;&#xA;" OwnerUserId="10119" LastEditorUserId="10119" LastEditDate="2015-08-18T13:59:09.500" LastActivityDate="2015-08-18T13:59:09.500" Title="Convex hull of polytopes" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;np-hardness&gt;&lt;computational-geometry&gt;" AnswerCount="0" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32276" PostTypeId="2" ParentId="17703" CreationDate="2015-08-14T10:40:52.193" Score="7" Body="&lt;p&gt;Adiabatic quantum computing (AQC) is a computational model (as Peter said in the comments). Compare AQC with other models of computation such as: &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;circuit-based quantum computing (CBQC) &lt;/li&gt;&#xA;&lt;li&gt;Adleman-Lipton model (a model for computing using DNA)&lt;/li&gt;&#xA;&lt;li&gt;Turing machine model (a model where computations are done with symbols on a tape)&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;One can devise algorithms using the AQC model, such as this algorithm for factoring integers: &lt;a href=&quot;http://arxiv.org/abs/1411.6758&quot; rel=&quot;noreferrer&quot;&gt;http://arxiv.org/abs/1411.6758&lt;/a&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Quantum annealing is a physical process which attempts to implement such algorithms. Start with a set of quantum states, and a time-dependent Hamiltonian $H(t)$ such that the ground state of $H(t_F)$ at a final time $t_F$, encodes the solution to your problem. Let the states evolve according to $H(t)$, and hope that in the end one of the candidate states ends up in the ground state of $H(t_F)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you're lucky enough to have a qubit that starts in the ground state of $H(0)$, and $H(0)$ evolves into $H(t_F)$ slowly enough, then according to the &quot;adiabatic theorem&quot;, the qubit always remains in the ground state of $H(t)$ for all $t$, and you are guaranteed to get the right answer which is encoded in the ground state of $H(t_F)$. This is what the AQC model has in mind, but since it is experimentally difficult to start in the ground state, we sometimes try to implement AQC algorithms using quantum annealing, which unfortunately might not end up in the ground state.&lt;/p&gt;&#xA;" OwnerUserId="35155" LastActivityDate="2015-08-14T10:40:52.193" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32277" PostTypeId="1" AcceptedAnswerId="32279" CreationDate="2015-08-14T14:10:41.800" Score="6" ViewCount="301" Body="&lt;p&gt;In &lt;a href=&quot;https://en.wikipedia.org/w/index.php?title=Lambda_calculus&amp;amp;oldid=675419259#Reduction&quot; rel=&quot;nofollow noreferrer&quot;&gt;lambda calculus&lt;/a&gt; or in &lt;a href=&quot;https://en.wikipedia.org/w/index.php?title=Combinatory_logic&amp;amp;oldid=672097334#Reduction_in_combinatory_logic&quot; rel=&quot;nofollow noreferrer&quot;&gt;combinatory logic&lt;/a&gt; we formally define reduction/expansion rules for terms (and in their typed variants reductions must preserve the type). Then we can talk about properties of such systems, in particular about &lt;a href=&quot;https://en.wikipedia.org/wiki/Normalization_property_(abstract_rewriting)&quot; rel=&quot;nofollow noreferrer&quot;&gt;the normalization property&lt;/a&gt; or &lt;a href=&quot;https://en.wikipedia.org/wiki/Confluence_(abstract_rewriting)&quot; rel=&quot;nofollow noreferrer&quot;&gt;confluence&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;How could one formally define reductions for the &lt;a href=&quot;https://en.wikipedia.org/wiki/Call-with-current-continuation&quot; rel=&quot;nofollow noreferrer&quot;&gt;call/cc&lt;/a&gt; &lt;em&gt;(call with the current continuation)&lt;/em&gt; operator&lt;/strong&gt; in terms of a rewrite system?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The semantics of the operator allows to abandon the current evaluation context and return to the point where the continuation was captured, effectively allowing the evaluation state to become explicit.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'd be interested in such a definition that'd allow to formally talk about  confluence of such a system (and showing it doesn't hold, as the behavior of the operator &lt;a href=&quot;https://stackoverflow.com/q/24711643/1333025&quot;&gt;depends on the evaluation order&lt;/a&gt;).&lt;/p&gt;&#xA;" OwnerUserId="10336" LastEditorUserId="-1" LastEditDate="2017-05-23T12:40:09.333" LastActivityDate="2015-08-15T11:28:24.727" Title="What is the formal definitions of the reduction related to the &quot;call/cc&quot; (call with the current continuation) operator?" Tags="&lt;lambda-calculus&gt;&lt;term-rewriting-systems&gt;&lt;normalization&gt;&lt;continuations&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="32278" PostTypeId="2" ParentId="32197" CreationDate="2015-08-14T14:15:29.583" Score="6" Body="&lt;p&gt;I am not aware of any implementation of Lamping's algorithm directly in the interaction combinators.  I do know that the presence of integer labels is a necessary feature of Lamping's algorithm, even for EAL-typable terms, because the labels reflect the nesting of so-called &lt;em&gt;exponential boxes&lt;/em&gt; in proof nets, and Lamping's algorithm is essentially the execution of proof nets using the geometry of interaction, as first observed by &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=143172&quot;&gt;Gonthier, Abadi and Lévy&lt;/a&gt;.  So the question of implementing the algorithm in the interaction combinators boils down to representing exponential boxes in proof nets using the combinators. This is essentially what Mackie and Pinto did in their paper.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course, Mackie and Pinto's encoding adresses all $\lambda$-terms, which use full linear logic boxes, whereas EAL-typable terms use elementary linear logic boxes, which are simpler (they are so-called &lt;em&gt;functorial boxes&lt;/em&gt;).  However, I do not believe that this simplification would have a notable impact on interaction combinator implementations.  This is because boxes are a global feature (they identify arbitrarily big subnets to be duplicated/erased), whereas the interaction combinators (as any interaction net system) are completely local (reduction only modifies bounded subnets), so the challenge is to represent such global features locally.  Now, global duplication/erasing in EAL is identical as in full linear logic, that is why I do not expect that an interaction combinator implementation of EAL would radically differ from the one proposed by Mackie and Pinto.&lt;/p&gt;&#xA;" OwnerUserId="20716" LastActivityDate="2015-08-14T14:15:29.583" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32279" PostTypeId="2" ParentId="32277" CreationDate="2015-08-14T19:48:27.440" Score="9" Body="&lt;p&gt;The definition is straightforward and can be found e.g. in (1, 2), see also (3). Here is a short summary, using a typed $\lambda$-calculus as basis. Types are not really needed for the presentation of reductions, but clarify the presentation in my opinion. &#xA;Let's assume your &lt;em&gt;language&lt;/em&gt; is given by&#xA;the following grammar.&#xA;$$&#xA;\newcommand{\PROGRAM}[1]{\mathsf{#1}}&#xA;\newcommand{\FV}[1]{\mathsf{fv}(#1)}&#xA;\newcommand{\DOM}[1]{\mathsf{dom}(#1)}&#xA;\newcommand{\VERTICAL}{\;  \mid\hspace{-3.0pt}\mid \; }&#xA;\newcommand{\CALLCC}{\PROGRAM{callcc}}&#xA;\newcommand{\CONT}[1]{\mathsf{Cont}(#1)}&#xA;\newcommand{\THROW}{\PROGRAM{throw}}&#xA;\newcommand{\infer}[2]{\frac{\displaystyle{ #1 }}{\displaystyle{ #2 }}}&#xA;\newcommand{\ZEROPREMISERULE}[1]{\infer{-}{#1}}&#xA;\newcommand{\FS}{\rightarrow}&#xA;\newcommand{\RED}{\rightarrow}&#xA;\newcommand{\ONEPREMISERULE}[2]{\infer{#1}{#2}}&#xA;\newcommand{\TYPES}[3]{#1 \vdash #2 : #3}&#xA;\newcommand{\TWOPREMISERULE}[3]{\infer{#1 \quad #2}{#3}}&#xA;   M ::= x \VERTICAL \lambda x.M \VERTICAL MM \VERTICAL ... \VERTICAL \CALLCC \VERTICAL \THROW&#xA;$$&#xA;Here $\CALLCC$ and $\THROW$ are seen as constants although we could also have defined them in different ways.&#xA;Let us denote by $\FV{M}$ the &lt;em&gt;free variables&lt;/em&gt; of the program $M$.&#xA;&lt;em&gt;Types&lt;/em&gt; could be something like this:&#xA;$$&#xA;        \alpha\&#xA;                ::=\&#xA;        \alpha \FS\alpha&#xA;\VERTICAL \PROGRAM{Int} \VERTICAL&#xA;        ...&#xA;                \VERTICAL&#xA;        \CONT{\alpha}&#xA;$$&#xA;Here $\CONT{\alpha}$ is the type of continuations with final answer&#xA;type $\alpha$.&#xA;The constants $\CALLCC$ and $\THROW$ are values and have the following types.&#xA;$$&#xA;        \ZEROPREMISERULE&#xA;        {&#xA;         	\TYPES{\Gamma}{\CALLCC}{(\CONT{\alpha} \FS \alpha) \FS \alpha}&#xA;        }&#xA;                \qquad&#xA;        \ZEROPREMISERULE&#xA;	{&#xA;                \TYPES{\Gamma}{\THROW}{\CONT{\alpha} \FS \alpha \FS \beta}&#xA;        }&#xA;$$&#xA;Depending on your use-case, the type variables may be quantified.&#xA;Reductions are defined with the help of configurations. &#xA;A &lt;em&gt;configuration&lt;/em&gt; is a pair $(M, \sigma)$ such that $M$ is a&#xA;program and $\sigma$, the &lt;em&gt;continuation map&lt;/em&gt;, ranged over by&#xA;$\sigma, ...$, maps each $k \in \FV{M}$ of type $\CONT{\alpha}$ to an appropriately typed program.&#xA;Then&#xA;&lt;em&gt;reductions&lt;/em&gt; are of the form $(M, \sigma) \RED (N,                                                             &#xA;\sigma')$. For  call-by-value, the reductions are generated as usual, with the following additions for $\CALLCC$&#xA;and $\THROW$.&#xA;$$&#xA;        \ONEPREMISERULE&#xA;        {&#xA;                k, x\ \text{fresh}&#xA;        }&#xA;        {&#xA;                (E[\CALLCC\ V], \sigma) \RED (E[V\;k], \sigma \cdot k \mapsto \lambda x.E[x])&#xA;        }&#xA;                \quad&#xA;        \ONEPREMISERULE&#xA;        {&#xA;                \sigma(k) = M&#xA;        }&#xA;        {&#xA;                (E[\THROW\ k\ V], \sigma) \RED (MV, \sigma)&#xA;        }&#xA;$$&#xA;Here $V$ over ranges over &lt;em&gt;values&lt;/em&gt;, and&#xA;$E[\cdot]$ over the usual call-by-value &lt;em&gt;reduction contexts&lt;/em&gt;. The two new constants give rise to the following evaluation contexts: $\CALLCC\ E[\cdot]$, $\THROW\ E[\cdot]\ M$&#xA;and $\THROW\ V\ E[\cdot]$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that (1) does not use continuation maps to define the CBV semantics of $\CALLCC$&#xA; and $\THROW$. Instead a run-time value is introoduced. The two approaches are equivalent.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As to evaluation order, $\CALLCC$ enriches the power of contexts and can distinguish  programs by application that are&#xA;  indistinguishable in the absence of continuations: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;  \newcommand{\ARGFC}{\PROGRAM{argfc}}&#xA;  \ARGFC  = \CALLCC\ \lambda k.(\THROW\ {k}\ {\lambda&#xA;  x.(\THROW\ {k}\ {\lambda y.x}}))&#xA;  $$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is the classic example of calling a function once, but&#xA;  returning twice. e.g. in&#xA;  $$&#xA;  (\lambda x.(x\; 1);(x\; 2))\ \ARGFC = 1&#xA;  $$&#xA;  and&#xA;  $$&#xA;  (\lambda x.\lambda y.(x\; 1);(y\; 2))\ \ARGFC\ \ARGFC = 2&#xA;  $$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;with $M;N$ being the sequential composition of $M$ and $N$, binding&#xA;more tightly than $\lambda$-abstraction.  The reason is that&#xA;continuations carry information about contexts that may be returned&#xA;(jumped) to later.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;J. G. Riecke, H. Thielecke, &lt;a href=&quot;https://www.cs.bham.ac.uk/~hxt/research/exn-and-cont.ps&quot; rel=&quot;nofollow&quot;&gt;Typed Exceptions and Continuations Cannot Macro-Express Each Other&lt;/a&gt; (Postscript file).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;R. Harper, B. F. Duba, D. MacQueen, &lt;a href=&quot;http://www.cs.cmu.edu/~rwh/papers/callcc/popl91.pdf&quot; rel=&quot;nofollow&quot;&gt;Typing First-Class Continuations in ML&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;H. Thielecke, &lt;a href=&quot;http://www.cs.bham.ac.uk/~hxt/research/Logiccolumn8.pdf&quot; rel=&quot;nofollow&quot;&gt;Continuations, functions and jumps&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="898" LastEditorUserId="898" LastEditDate="2015-08-15T11:28:24.727" LastActivityDate="2015-08-15T11:28:24.727" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32280" PostTypeId="1" CreationDate="2015-08-14T21:53:52.660" Score="1" ViewCount="82" Body="&lt;p&gt;So my exact problem is, I have to find if there is any node which is unique in a shortest path. For example, in a square, any node is in the shortest path between any two adjacent nodes,but it is not unique because even if we delete that we will have another shortest path of exactly the same length.&lt;/p&gt;&#xA;" OwnerUserId="34991" LastActivityDate="2015-08-14T21:53:52.660" Title="In a shortest path between two nodes, find if a certain node is unique" Tags="&lt;shortest-path&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="32281" PostTypeId="1" AcceptedAnswerId="32325" CreationDate="2015-08-14T22:24:38.853" Score="-3" ViewCount="371" Body="&lt;p&gt;Given $N,U,V\in\Bbb N$ is there $n\in[U,V]\cap\Bbb N$ such that $n|N$ is $\mathsf{NP}$-complete modulo Cramer's conjecture on prime gaps is shown in &lt;a href=&quot;https://cstheory.stackexchange.com/questions/4769/an-np-complete-variant-of-factoring&quot;&gt;An NP-complete variant of factoring.&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So supposing status of Cramer's conjecture remains uncertain (that is it is not known to be true/false or undecidable), then is there any consequence of polynomial time algorithm to this variant factoring problem assuming that Cramer's conjecture cannot be removed from the reduction? That is could such an algorithm be of any value other than breaking RSA and some number theory problems? Could we use this algorithm to solve other problems in $\mathsf{NP}$. Would this still imply at least $\mathsf{NP}\subseteq\mathsf{RP}$? Where in Impagliazzo's five worlds would we be in?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt; What is minimum number of distinct primes one needs in $N$ for completeness of this problem under Cramer's conjecture? How many such numbers are there?&lt;/p&gt;&#xA;" OwnerUserId="1812" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2015-08-20T06:06:41.620" Title="Consequences of polynomial time algorithm to variant of integer factorization" Tags="&lt;cc.complexity-theory&gt;&lt;nt.number-theory&gt;&lt;np-complete&gt;&lt;factoring&gt;&lt;undecidability&gt;" AnswerCount="1" CommentCount="6" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32282" PostTypeId="2" ParentId="32271" CreationDate="2015-08-14T23:35:15.007" Score="18" Body="&lt;p&gt;Perhaps I found some relevant information in:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://link.springer.com/chapter/10.1007%2F978-3-642-59136-5_3&quot;&gt;Jean-Michel Autebert, Jean Berstel, Luc Boasson; Context-Free Languages and Pushdown Automata; Handbook of Formal Languages; 1997, pp 111-174&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;DPDAs without $\epsilon$-transitions are known as &lt;em&gt;realtime deterministic pushdown automata&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;They are less powerful than DPDAs, for example &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$L = \{ a^n b^p c  a^n \mid p,n &amp;gt; 0\} \cup \{ a^nb^pdb^p\mid p,n &amp;gt; 0 \}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;is deterministic and can be recognized by a DPDA, but cannot be recognized by any &lt;em&gt;realtime&lt;/em&gt; DPDA.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What you can do is eliminate &lt;em&gt;increasing&lt;/em&gt; $\epsilon$-transitions:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Proposition 5.4&lt;/strong&gt;: For any DPDA it is possible to construct a DPDA recognizing the same language such that any $\epsilon$-rule is decreasing.&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="109" LastEditDate="2015-08-15T16:47:05.430" LastActivityDate="2015-08-15T16:47:05.430" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="32284" PostTypeId="1" AcceptedAnswerId="32288" CreationDate="2015-08-15T10:40:06.570" Score="-2" ViewCount="239" Body="&lt;p&gt;$\mathsf{P/Poly}$ captures those problems that could be solved in polynomial time given some precomputed polynomial number of constants.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there an analogous complexity class in randomized world such as $\mathsf{ZPP/Poly}$, $\mathsf{RP/Poly}$, $\mathsf{coRP/Poly}$, $\mathsf{BPP/Poly}$ etc.? Or is there an intuitive reason why all such bounded error algorithms be removed of randomness to bring to $\mathsf{P/Poly}$?&lt;/p&gt;&#xA;" OwnerUserId="1812" LastActivityDate="2015-08-15T13:52:15.537" Title="Is there a randomized complexity class analogous to $\mathsf{P/Poly}$?" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;big-picture&gt;&lt;randomized-algorithms&gt;&lt;derandomization&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32287" PostTypeId="2" ParentId="12729" CreationDate="2015-08-15T13:35:50.357" Score="10" Body="&lt;p&gt;(Turning a comment into an answer, and expanding on it)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;From talking to someone who worked on this: no. He invented all sorts of clever refinements to many proofs, and restructured many theory developments, both of which are extremely valuable, but the algorithms involved are not interesting -- in fact, many of them are dumb brute force, the very opposite of interesting.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Basically what was sought was as direct a line to the proof of Feit Thompson, without worrying about 'computational content' along the way (and even not overly worrying about reusability of some of the modules).  This was already extremely ambitious given the timelines.  Luckily, several of the people involved in the project have gone on to refactor many parts of the proofs to be&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;more reusable for a wider set of applications&lt;/li&gt;&#xA;&lt;li&gt;more computationally meaningful&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="66" LastActivityDate="2015-08-15T13:35:50.357" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32288" PostTypeId="2" ParentId="32284" CreationDate="2015-08-15T13:50:28.807" Score="11" Body="&lt;p&gt;Suppose you have a circuit which takes as input an advice string and a random string. (So this circuit would be in $BPP/Poly$ or something like that.)  You can convert this into a purely deterministic circuit, which takes a somewhat larger advice string, as follows.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are $2^n$ possible inputs. By hypothesis about the circuit, each random string is good for any input with probability say $3/4$. (By good, I mean that the random string leads the circuit to output the correct value.) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose you select randomly select a set $S$ consisting of $c n$ random strings (chosen uniformly at random with replacement), where $c$ is a large constant. Then, for any input, the probability that the number of selected strings good for that input is below $c n/2$ is $e^{-c' n}$, by the Chernoff bound. By taking $c$ sufficiently large, one can ensure that the probility is below $2^{-n}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By the union bound, the probability that the set $S$ is good for all the $2^n$ input is $&amp;gt; 0$. This means, that there exists some such set $S$. So, fix some such set $S$ and hard-wire it into the circuit. Instead of taking a random string, the circuit evaluates at all the inputs in $S$ and outputs the majority vote. Now the circuit is derandomized, and is correct always.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thus, $BPP/Poly = RP/poly = P/Poly$. So there is no need to consider randomness plus advice strings.&lt;/p&gt;&#xA;" OwnerUserId="5538" LastActivityDate="2015-08-15T13:50:28.807" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32290" PostTypeId="2" ParentId="27496" CreationDate="2015-08-16T01:38:37.410" Score="9" Body="&lt;p&gt;The following is a proof over any ring of characteristic zero that the Hamiltonian cycle polynomial is not a polynomial-size monotone projection of the permanent. The basic idea is that monotone projections of polynomials with nonnegative coefficients lead to the Newton polytope of one being an extended formulation of the Newton polytope of the other, and then applying the recent lower bounds on extended formulations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $f(x_1,\dotsc,x_n)$ and $g(y_1,\dotsc,y_m)$ be polynomials with nonnegative coefficients (as is the case here). Suppose that $f$ is a monotone projection of $g$ under the assignment $\pi$ (following the notation of the question). Under $\pi$, each monomial of $g$ gets mapped either to 0 (iff one of its variables gets mapped to 0) or to a monomial of $f$: there can't be any cancellations because of non-negativity. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $New(f)$ denote the Newton polytope of $f$, and similarly for $New(g)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Claim&lt;/em&gt;: there is an extended formulation for $New(f)$ in $\mathbb{R}^m$, using $\leq n+m$ variables, and a number of constraints that is at most $n+m$ plus the number of constraints defining $New(g)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here's how: Let $e_1,\dotsc,e_m$ be the coordinates on $\mathbb{R}^m$ (in which $New(g)$ lives; viz., an integer point in $\mathbb{R}^m$ with coordinates $(e_1,\dotsc,e_m)$ corresponds to the monomial $y_1^{e_1} \dotsb y_m^{e_m}$). For those $i$ such that $\pi(y_i)=0$, intersect $New(g)$ with $\{e_i = 0\}$ (since only monomials that do not involve $y_i$ can contribute to the projection); this adds at most $m$ additional constraints. Let $P$ denote the resulting polytope. Then $\pi$ induces a linear map $L_{\pi}\colon \mathbb{R}^{m} \to \mathbb{R}^{n}$, such that $L_{\pi}(P) = New(f)$. This last part follows from the lack of cancellations. Thus we get an extended formulation for $New(f)$ by taking $n+m$ variables, the constraints for $P$ on the $m$ variables, and the constraints defining $L_{\pi}$ (of which there are at most $n$, one for each $x_i$). QED Claim&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now take $f$ to be the $n$-th Hamilton cycle polynomial and $g$ to be the $m$-th permanent, and suppose that $f$ is a monotone projection of $g$. The Newton polytope of the permanent (and determinant, incidentally), is the cycle cover polytope. This polytope is easily described by the &quot;edge&quot; variables $e_{ij}$ and the $m$ equations stating that every vertex has degree exactly 2.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The Newton polytope of the Ham. Cycle polynomial is the Hamiltonian cycle polytope (surprise, surprise). But this polytope is the TSP polytope, which &lt;a href=&quot;http://arxiv.org/abs/1111.0837&quot;&gt;requires $2^{n^{\Omega(1)}}$ equations to describe &lt;em&gt;any extended formulation of&lt;/em&gt;&lt;/a&gt;, which, when $m$ is subexponential, contradicts the small extended formulation given by the cycle cover polytope and $L_{\pi}$ as above.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Note that this argument fails if $f$, $g$, or $\pi$ can have negative coefficients, as then there can be cancellations, so $L_{\pi}$ need not map onto $New(f)$.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's interesting to note that the geometry of these polytopes is closely related to the fact that matching is in $\mathsf{P}$ while Hamilton cycle is $\mathsf{NP}$-complete, but I think the above reasoning shows how the geometric structure here really can add something beyond that complexity classification.&lt;/p&gt;&#xA;" OwnerUserId="129" LastEditorUserId="129" LastEditDate="2015-08-22T02:00:14.943" LastActivityDate="2015-08-22T02:00:14.943" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32291" PostTypeId="2" ParentId="32237" CreationDate="2015-08-16T09:37:50.840" Score="20" Body="&lt;p&gt;For &lt;code&gt;graphA.txt&lt;/code&gt;:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;25&#xA; 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0&#xA; 1 0 1 1 1 1 1 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0&#xA; 1 1 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1&#xA; 1 1 1 0 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0&#xA; 1 1 1 0 0 0 0 1 0 0 1 1 0 1 0 0 1 1 0 1 0 0 1 1 0&#xA; 1 1 1 0 0 0 0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1&#xA; 1 1 1 0 0 0 0 0 0 1 0 1 1 0 0 1 0 1 1 0 0 1 0 1 1&#xA; 1 0 0 1 1 0 0 0 1 1 1 0 0 1 0 1 0 0 1 0 0 0 1 1 1&#xA; 1 0 0 1 0 1 0 1 0 1 0 0 1 0 0 0 1 1 1 1 0 1 1 0 0&#xA; 1 0 0 1 0 0 1 1 1 0 0 1 0 0 1 0 1 1 0 0 1 0 0 1 1&#xA; 1 0 0 0 1 1 0 1 0 0 0 1 1 0 1 1 0 0 1 1 1 0 0 1 0&#xA; 1 0 0 0 1 0 1 0 0 1 1 0 1 1 1 0 0 1 0 0 1 1 1 0 0&#xA; 1 0 0 0 0 1 1 0 1 0 1 1 0 1 0 1 1 0 0 1 0 1 0 0 1&#xA; 0 1 0 1 1 0 0 1 0 0 0 1 1 0 1 1 1 0 0 0 0 1 1 0 1&#xA; 0 1 0 1 0 1 0 0 0 1 1 1 0 1 0 0 1 0 1 0 1 1 0 1 0&#xA; 0 1 0 1 0 0 1 1 0 0 1 0 1 1 0 0 0 1 1 1 1 0 0 0 1&#xA; 0 1 0 0 1 1 0 0 1 1 0 0 1 1 1 0 0 1 0 1 0 0 0 1 1&#xA; 0 1 0 0 1 0 1 0 1 1 0 1 0 0 0 1 1 0 1 1 1 0 1 0 0&#xA; 0 1 0 0 0 1 1 1 1 0 1 0 0 0 1 1 0 1 0 0 0 1 1 1 0&#xA; 0 0 1 1 1 0 0 0 1 0 1 0 1 0 0 1 1 1 0 0 1 1 0 1 0&#xA; 0 0 1 1 0 1 0 0 0 1 1 1 0 0 1 1 0 1 0 1 0 0 1 0 1&#xA; 0 0 1 1 0 0 1 0 1 0 0 1 1 1 1 0 0 0 1 1 0 0 1 1 0&#xA; 0 0 1 0 1 1 0 1 1 0 0 1 0 1 0 0 0 1 1 0 1 1 0 0 1&#xA; 0 0 1 0 1 0 1 1 0 1 1 0 0 0 1 0 1 0 1 1 0 1 0 0 1&#xA; 0 0 1 0 0 1 1 1 0 1 0 0 1 1 0 1 1 0 0 0 1 0 1 1 0&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;and &lt;code&gt;graphB.txt&lt;/code&gt;:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;25&#xA; 0 0 0 1 1 0 0 0 0 1 1 1 1 0 0 1 0 1 1 0 1 1 0 1 0&#xA; 0 0 1 1 1 1 1 0 0 0 0 0 0 0 1 1 0 0 1 1 1 1 0 0 1&#xA; 0 1 0 1 0 0 1 1 1 0 1 0 0 0 0 1 0 1 1 1 0 0 1 1 0&#xA; 1 1 1 0 1 0 1 1 1 1 1 1 0 0 1 0 0 0 0 0 0 1 0 0 0&#xA; 1 1 0 1 0 0 0 0 1 1 0 0 0 1 1 1 1 0 0 1 1 0 0 1 0&#xA; 0 1 0 0 0 0 1 0 0 1 1 0 0 0 1 0 1 1 0 0 1 1 1 1 1&#xA; 0 1 1 1 0 1 0 0 1 1 0 0 1 1 0 0 1 1 1 0 0 1 0 0 0&#xA; 0 0 1 1 0 0 0 0 1 0 1 1 1 0 1 0 1 1 0 1 1 0 0 0 1&#xA; 0 0 1 1 1 0 1 1 0 1 0 0 1 1 0 0 0 0 0 0 1 0 1 1 1&#xA; 1 0 0 1 1 1 1 0 1 0 0 1 0 0 0 1 1 1 0 0 0 0 1 0 1&#xA; 1 0 1 1 0 1 0 1 0 0 0 0 1 0 1 1 1 0 0 0 0 1 1 1 0&#xA; 1 0 0 1 0 0 0 1 0 1 0 0 0 1 1 0 0 1 1 1 0 1 1 0 1&#xA; 1 0 0 0 0 0 1 1 1 0 1 0 0 1 0 1 1 0 1 0 1 1 0 0 1&#xA; 0 0 0 0 1 0 1 0 1 0 0 1 1 0 1 0 1 0 1 1 0 1 1 1 0&#xA; 0 1 0 1 1 1 0 1 0 0 1 1 0 1 0 0 1 0 1 0 1 0 1 0 0&#xA; 1 1 1 0 1 0 0 0 0 1 1 0 1 0 0 0 1 0 1 1 0 0 1 0 1&#xA; 0 0 0 0 1 1 1 1 0 1 1 0 1 1 1 1 0 1 0 1 0 0 0 0 0&#xA; 1 0 1 0 0 1 1 1 0 1 0 1 0 0 0 0 1 0 1 1 1 0 0 1 0&#xA; 1 1 1 0 0 0 1 0 0 0 0 1 1 1 1 1 0 1 0 0 1 0 1 0 0&#xA; 0 1 1 0 1 0 0 1 0 0 0 1 0 1 0 1 1 1 0 0 0 1 0 1 1&#xA; 1 1 0 0 1 1 0 1 1 0 0 0 1 0 1 0 0 1 1 0 0 0 0 1 1&#xA; 1 1 0 1 0 1 1 0 0 0 1 1 1 1 0 0 0 0 0 1 0 0 0 1 1&#xA; 0 0 1 0 0 1 0 0 1 1 1 1 0 1 1 1 0 0 1 0 0 0 0 1 1&#xA; 1 0 1 0 1 1 0 0 1 0 1 0 0 1 0 0 0 1 0 1 1 1 1 0 0&#xA; 0 1 0 0 0 1 0 1 1 1 0 1 1 0 0 1 0 0 0 1 1 1 1 0 0&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;which is obtained from &lt;code&gt;graphA.txt&lt;/code&gt; by applying the (random) permutation&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt; 22 9 24 11 15 8 5 18 13 14 2 10 23 0 3 17 4 16 6 19 7 21 12 1 20&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;the C++ program &lt;code&gt;isororphism.cpp&lt;/code&gt; from &lt;strong&gt;Figure 6.3.&lt;/strong&gt; &lt;em&gt;A C++ program for the graph isomorphism algorithm&lt;/em&gt; in &lt;a href=&quot;http://www.dharwadker.org/tevet/isomorphism/&quot;&gt;http://www.dharwadker.org/tevet/isomorphism/&lt;/a&gt; delivers the following output:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;The Graph Isomorphism Algorithm&#xA;by Ashay Dharwadker and John-Tagore Tevet&#xA;http://www.dharwadker.org/tevet/isomorphism/&#xA;Copyright (c) 2009&#xA;Computing the Sign Matrix of Graph A...&#xA;Computing the Sign Matrix of Graph B...&#xA;Graph A and Graph B have the same sign frequency vectors in lexicographic order but cannot be isomorphic.&#xA;See result.txt for details.&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;So we may assume that this is a counter-example to the Dharwadker-Tevet Graph Isomorphism algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As suggested by Bill Province, the problem is&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;4.1. Proposition.&lt;/strong&gt; If graphs $G_A$ and $G_B$ are isomorphic, then the algorithm finds an isomorphism.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Bill Province's objection is that the proof of &lt;strong&gt;Proposition 4.1.&lt;/strong&gt; doesn't use any special property of the sign matrix that wouldn't also apply to the adjacency matrix. More precisely, the following step in the proof is wrong:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;For the induction hypothesis, assume that rows $1, ..., t$ of $A$ and $B$ have been perfectly matched by Procedure 3.4 such that the vertex labels for the rows $1, ..., t$ of $A$ are $v_1, ..., v_t$ and the vertex labels for the rows $1, ..., t$ of $B$ are $φ(v_1) = v'_1, ..., φ(v_t) = v'_t$ respectively.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;because even if the rows have been perfectly matched, it doesn't follow that the vertex labels match the labels given by any isomorphism $φ$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Because a hole in the correctness proof was identified, the above counter-example should be sufficient for refuting claimed correctness of the proposed algorithm.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Acknowledgments&lt;/strong&gt;&#xA;The counter-example is the first of the 8th graph pairs from&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;a href=&quot;http://funkybee.narod.ru/graphs.htm&quot;&gt;http://funkybee.narod.ru/graphs.htm&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;To manipulate graphs, I used and modified source code from ScrewBoxR1160.tar found at&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;a href=&quot;https://people.mpi-inf.mpg.de/~pascal/software/&quot;&gt;https://people.mpi-inf.mpg.de/~pascal/software/&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;To understand the hole in the correctness proof, András Salamon comment about Weisfeiler-Lehman was very helpful, as were the explanations from&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;a href=&quot;http://users.cecs.anu.edu.au/~pascal/docs/thesis_pascal_schweitzer.pdf&quot;&gt;http://users.cecs.anu.edu.au/~pascal/docs/thesis_pascal_schweitzer.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Motivation to use this question as an opportunity to get familiar with &lt;a href=&quot;http://pallini.di.uniroma1.it/&quot;&gt;nauty/Traces&lt;/a&gt; and the practical aspects of graph isomorphism was provided by vzn. The benefit of learning how to use state of the art programs for graph isomorphisms made it worthwhile to sink some time for finding a counter-example (which I strongly believed to exist).&lt;/p&gt;&#xA;" OwnerUserId="20340" LastActivityDate="2015-08-16T09:37:50.840" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="32292" PostTypeId="1" CreationDate="2015-08-16T13:13:16.530" Score="23" ViewCount="2364" Body="&lt;p&gt;Currently bitcoin has a proof of work (PoW) system using SHA256. Other hash functions use a proof of work system use graphs, partial hash function inversion. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is it possible to use a Decision problem in Knot Theory such as Knot recognition and make it into a proof of work function? Also has anyone done this before? Also, when we have this Proof of Work function will it be more useful than what is being currently computed?&lt;/p&gt;&#xA;" OwnerUserId="5385" LastEditorUserId="5385" LastEditDate="2018-05-18T12:50:21.407" LastActivityDate="2018-05-18T12:50:21.407" Title="Knot Recognition as a Proof of Work" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;cr.crypto-security&gt;&lt;algebraic-topology&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="4" ContentLicense="CC BY-SA 4.0" />
  <row Id="32297" PostTypeId="2" ParentId="2517" CreationDate="2015-08-16T20:07:21.217" Score="9" Body="&lt;p&gt;I am not sure whether this is directly relevant to the question, but the following elementary result might be of interest. Given a fixed natural number $k$, the operation $n \to kn$ can be realized by a sequential automaton, provided that $n$ is written in reversed binary notation (that is, Least Significant Bit First). The number of states of the automaton is $k/2^r$ where $2^r$ is the largest power of $2$ dividing $k$. For instance, the operation $n \to 6n$ is realized by the following automaton.&#xA;&lt;a href=&quot;https://i.stack.imgur.com/lhbmw.gif&quot; rel=&quot;noreferrer&quot;&gt;&lt;img src=&quot;https://i.stack.imgur.com/lhbmw.gif&quot; alt=&quot;enter image description here&quot;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For instance, $185 = 1 + 8 + 16 + 32 + 128$ and $6 \times 185 = 1110 = 2 + 4 + 16 + 64 + 1024$. Thus, in reverse binary, $185$ is written as $10011101$ and $1110$ (bad choice, I know...) as $01101010001$. Processing the entry $\color{red}{10011101}$ on this automaton gives the path &#xA;$$&#xA;\xrightarrow{\color{green}0} &#xA;0 \xrightarrow{\color{red}1\mid \color{blue}1} &#xA;1 \xrightarrow{\color{red}0\mid \color{blue}1} &#xA;0 \xrightarrow{\color{red}0\mid \color{blue}0} &#xA;0 \xrightarrow{\color{red}1\mid \color{blue}1} &#xA;1 \xrightarrow{\color{red}1\mid \color{blue}0} &#xA;2 \xrightarrow{\color{red}1\mid \color{blue}1} &#xA;2 \xrightarrow{\color{red}0\mid \color{blue}0} &#xA;1 \xrightarrow{\color{red}1\mid \color{blue}0} &#xA;2 \xrightarrow{\color{green}{01}}&#xA;$$&#xA;which gives the correct output $\color{blue}{01101010001}$.&#xA;The type of sequential automaton I am using here was called &lt;em&gt;subsequential&lt;/em&gt; by Schützenberger: as you can see there is an &lt;em&gt;initial prefix&lt;/em&gt; (in green) and a &lt;em&gt;terminal output function&lt;/em&gt; (also in green). For more details how this sequential machine can be computed in a systematic way, see this &lt;a href=&quot;http://www.liafa.univ-paris-diderot.fr/~jep/PDF/Exposes/Sequential.pdf&quot; rel=&quot;noreferrer&quot;&gt;link&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="17203" LastActivityDate="2015-08-16T20:07:21.217" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="32299" PostTypeId="1" CreationDate="2015-08-17T04:10:25.317" Score="-3" ViewCount="306" Body="&lt;p&gt;There are numerous proofs that &lt;a href=&quot;https://en.wikipedia.org/wiki/Kolmogorov_complexity#Compression&quot; rel=&quot;nofollow&quot;&gt;most strings are incompressible&lt;/a&gt;. I am interested in strings that represent natural numbers. Assume the Kolmogorov complexity of a natural number, $K(n)$, is the smallest &lt;a href=&quot;https://en.wikipedia.org/wiki/Busy_beaver#.CE.A3.2C_complexity_and_unprovability&quot; rel=&quot;nofollow&quot;&gt;busy beaver&lt;/a&gt;(BB) that writes $n$ 1's and halts. It seems easy to prove nearly all natural numbers are compressible using this definition.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider the function $\sum(n)$ which is the maximum number of 1's that can be written by a halting BB with $n$ states. It is simple to show there exists a BB with $n$ states that writes $n$ 1's and halts. This means $K(n) \leq n$. It is known $\sum(3) = 6$ so $K(6) = 3$. This allows us to prove $K(7) \leq 4$. We start with the 3 state BB that writes 6 1's and replace the halt state with a 4th state. On input 0 this state writes a 1 and halts. On input 1 this state writes 1 then moves right and stays in state 4. This new 4 state machine will write 7 1's and halt. We can add this new state as often as we want to write larger numbers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, it is known $\sum(5) \geq 4098$. This means $(n&amp;gt;4098) \rightarrow (K(n) \leq n-4093)$. It seems the larger a number is the more it can be compressed.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does the Kolmogorov complexity of strings representing natural numbers become more compressible as the numbers get larger?&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Apparently, I didn't present my question very well. Let $s$ be a bit string that represents a natural number. I want to know if the Kolmogorov complexity, $K(s)$, is less than $|s|$ for most strings larger than a certain size. Above, I defined $K(n)$ as the number of states of the smallest &lt;a href=&quot;http://www.drivenbycode.com/turing-machines-and-the-busy-beaver-game/&quot; rel=&quot;nofollow&quot;&gt;busy beaver&lt;/a&gt;(BB) that writes $n$ 1's and halts. This means any string with $n$ 1's can represent $n$. I used this definition so I could show how Rado's sigma function, $\sum(x)$, guarantees all representations for $n&amp;gt;5$ are compressible.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A more standard definition of $K(n)$ would be the number of states in the smallest TM/BB that writes $n$ consecutive 1's and halts. Since the BB for $\sum(3)$ writes six consecutive 1's, we can still prove $K(n)&amp;lt;n$ for all $n&amp;gt;5$ with this definition.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We can define the representation of a number as the binary expansion of that number. This means we are assuming the representation can always be compressed such that $K(n) \leq log_2(n)+1$. I want to know if we can do better. Is it true $K(n) &amp;lt; log_2(n)$ for nearly all large enough $n$? (Assuming we represent $n$ by its binary expansion.) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The idea would be to create a set of compressible strings such that any large enough bit string would contain one or more of these compressible sub-strings. For example, since '111111' is a compressible string any representation containing '111111' as a sub-string is also compressible.     &lt;/p&gt;&#xA;" OwnerUserId="4881" LastEditorUserId="4881" LastEditDate="2015-08-18T03:13:10.430" LastActivityDate="2015-08-18T08:00:44.323" Title="Are nearly all natural numbers compressible?" Tags="&lt;kolmogorov-complexity&gt;" AnswerCount="1" CommentCount="2" ClosedDate="2015-08-31T12:10:19.963" ContentLicense="CC BY-SA 3.0" />
  <row Id="32300" PostTypeId="2" ParentId="31884" CreationDate="2015-08-17T04:53:45.077" Score="11" Body="&lt;p&gt;I think Kaveh's comment is the correct answer: applications? We don't need no applications.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But despite all that, combinatorial game theory does appear to have some applications in error correcting codes. See Conway and Sloane, &quot;Lexicographic codes: Error-correcting codes from game theory&quot;, IEEE Trans. Inf. Th. 1986.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More simply, if you are willing to think of nim-addition (bitwise exclusive or) as something that came out of combinatorial game theory, then there are plenty of applications, for instance in &lt;a href=&quot;https://en.wikipedia.org/wiki/Tabulation_hashing&quot;&gt;tabulation hashing&lt;/a&gt;, or as one of the components of Schieber and Vishkin's lowest common ancestors data structure, or as one of the components of some block cipher systems.&lt;/p&gt;&#xA;" OwnerUserId="95" LastEditorUserId="95" LastEditDate="2015-08-17T05:25:51.103" LastActivityDate="2015-08-17T05:25:51.103" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="32301" PostTypeId="2" ParentId="32167" CreationDate="2015-08-17T05:53:50.693" Score="3" Body="&lt;p&gt;The following is a list of results I'm going to prove:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;if $k$ and $l$ are parts of the input and $d = 1$ is a fixed constant then the problem is polynomial time solvable&lt;/li&gt;&#xA;&lt;li&gt;if $k$ and $l$ are parts of the input and $d \ge 2$ is a fixed constant then the problem is NP-complete&lt;/li&gt;&#xA;&lt;li&gt;if $k$ is a fixed constant then the problem is polynomial time solvable&lt;/li&gt;&#xA;&lt;li&gt;if $l$ is a fixed constant then the problem is polynomial time solvable&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The first two bullet points address question number 1 and the last two address question number 2. &lt;/p&gt;&#xA;&#xA;&lt;h2&gt;lemma: if we know $A \subseteq V_1$ with $|A| \le l$ (or $B \subseteq V_2$ with $|B| \le k$), we can decide in polynomial time whether there exists $B \subseteq V_2$ with $|B| \le k$ (resp $A \subseteq V_1$ with $|A| \le l$) such that $A \cup B$ is a vertex cover&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;For the proof of this lemma, we do not use the constraint that vertices in $V_1$ have degree at most $d$. Therefore, the situation is symmetric in the two parts of the bipartite graph, and we can restrict our attention to just one part of this lemma: we wish to show that if $A \subseteq V_1$ with $|A| \le l$ then we can decide in polynomial time whether there exists $B \subseteq V_2$ with $|B| \le k$ such that $A \cup B$ is a vertex cover.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $B' = \{v \in V_2 | \exists x \in V_1 \backslash A \text{ s.t. } (x, v) \in E\}$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose that for some $b \in B'$, it is the case that $b$ is not in $B$. By definition of $B'$, there exists an $x \in V_1 \backslash A$ such that $(x,b) \in E$. Then that edge has $x \in V_1$ with $x \not\in A$ and $b \in V_2$ with $b \not\in B$, so $A \cup B$ is not a vertex cover. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thus in order for $A \cup B$ to be a vertex cover, it must be that $B' \subseteq B$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Next suppose $B' \subseteq B$. Then consider any $(x, v) \in E$. If $x \in A$ then this edge is covered. If $x \not \in A$ then $v \in B'\subseteq B$ by definition of $B'$, so again the edge is covered. Thus $A \cup B$ is a vertex cover.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So $A \cup B$ is a vertex cover if and only if $B' \subseteq B$. Then there exists a $B$ with $|B| \le k$ such that $A \cup B$ is a vertex cover if and only if $|B'| \le k$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So in order to decide whether there exists a $B$ with $|B| \le k$ such that $A \cup B$ is a vertex cover, all we have to do is compute $|B'|$ and compare with $k$. This can be done in polynomial time.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;If $k$ and $l$ are parts of the input and $d = 1$ is a fixed constant then the problem is polynomial time solvable&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;Begin by removing all vertices of degree zero since the presence or absence of those vertices in a set does not affect whether that set is a vertex cover. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since $d = 1$, we see that in the remaining graph, every element of $V_1$ has exactly one neighbor. We can conclude that $G$ has $|V_2|$ connected components, each of which consists of one element of $V_2$ together with all of its neighbors in $V_1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We wish to know whether it is possible to construct a vertex cover $A \cup B$ with $A \subseteq V_1$ and $B \subseteq V_2$ where $|A| \le l$ and $|B| \le k$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Each connected component of the graph provides a choice: either $B$ must contain the element of $V_2$ in that component or $A$ must contain each element of $V_1$ from that component.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then in order to minimize the size of $A$ while maintaining $|B| \le k$, it is clearly optimal to choose $B$ such that it contains the elements of $V_2$ with largest degree.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since we know the optimal value of $B$ (in polynomial time), we can apply the lemma to solve the problem in polynomial time. &lt;/p&gt;&#xA;&#xA;&lt;h2&gt;If $k$ and $l$ are parts of the input and $d \ge 2$ is a fixed constant then the problem is NP-complete&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;First note that the problem is clearly in NP since the set $A \cup B$ forms a certificate. Thus we must simply prove the problem NP-hard in order to show NP-completeness.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We do this by reduction from the clique problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose we are given a clique instance in the form of a graph $G' = (V', E')$ and a value $k'$. This instance is a yes instance if and only if there exists a clique in $G'$ of size $k'$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then we construct an instance of our problem consisting of $G = (V_1, V_2, E)$, $k$, and $l$ as follows:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$V_1 = E'$&lt;/li&gt;&#xA;&lt;li&gt;$V_2 = V'$&lt;/li&gt;&#xA;&lt;li&gt;$E = \{(e, v) \in E' \times V'| v \text{ is an endpoint of } e\}$&lt;/li&gt;&#xA;&lt;li&gt;$l = |E'| - \frac{k'(k' - 1)}{2}$&lt;/li&gt;&#xA;&lt;li&gt;$k = k'$&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Note that each element of $V_1$ has exactly two neighbors (which is ok since $d \ge 2$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This reduction is clearly polynomial time, since each part of the output instance can be computed from the input instance very quickly.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose the input instance in a yes instance. Then let $B$ be a clique in $G'$ of size $k'$ (which exists since the input instance is a yes instance). Let $A \subseteq E'$ contain those edges of $G'$ which are not in the clique $B$. There are $\frac{k'(k' - 1)}{2}$ edges in the clique, so $|A| = |E'| - \frac{k'(k' - 1)}{2}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thus we have found $A \subseteq V_1$ and $B \subseteq V_2$ with $|A| \le l = |E'| - \frac{k'(k' - 1)}{2}$ and $|B| \le k = k'$. The only thing left to do in order to show that the output instance is a yes instance is to show that $A \cup B$ is a vertex cover.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So consider any edge $(e, v) \in E$ (where $e \in V_1 = E'$ and $v \in V_2 = V'$). If $e \in A$ then the edge is covered. If $e \not\in A$ then $e$ must by one of the edges in the clique $B$ (in graph $G'$). By the definition of $E$, $v$ is an endpoint of $e$ (which is an edge in the clique $B$). Thus $v \in B$ and again the edge $(e, v)$ is covered. We see that $A \cup B$ is a vertex cover.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We showed above that if the input instance is a yes instance, so is the output instance.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now suppose that the input instance is not a yes instance. Suppose we have $A \subseteq V_1$ with $|A| \le l = |E'| - \frac{k'(k' - 1)}{2}$ and $B \subseteq V_2$ with $|B| \le k = k'$. Since the input is not a yes instance, there is no clique in $G'$ of size $k'$; therefore fewer than $\frac{k'(k' - 1)}{2}$ edges in $G'$ have both endpoints in $B$. Then since $V_1 \backslash A = E' \backslash A$ contains at least $\frac{k'(k' - 1)}{2}$ elements, each of which is an edge of $G'$, we conclude that at least one edge in $E' \backslash A$ has an endpoint not in $B$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $e = (w, v)$ be an edge in $E'$ with $e \not\in A$ and $v \not\in B$. Then the edge $(e, v)$ (which is in $E$ by the definition of $E$) is not covered, and so $A \cup B$ is not a vertex cover. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;We see then that in the case that the input instance is a no instance, the answer to the output instance is no as well.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We showed above that the reduction is polynomial time and answer preserving. Since the input problem (clique) is NP-hard, the output problem is NP-hard as well.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;If $k$ is a fixed constant then the problem is polynomial time solvable&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;The number of sets $A$ with $|A| \le k$ is $|A| \choose kl$, which is polynomial in the size of the input since $k$ is a fixed constant.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Furthermore, these sets are easily enumerable. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For each candidate value of $A$, we simply apply the lemma to determine whether there exists a corresponding value of $B$ such that $A \cup B$ solves the problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If a solution is found, the answer to the overall problem is yes, and if no solution is found, the answer to the overall problem must be no.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;If $l$ is a fixed constant then the problem is polynomial time solvable&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;The number of sets $B$ with $|B| \le l$ is $|B| \choose l$, which is polynomial in the size of the input since $l$ is a fixed constant.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Furthermore, these sets are easily enumerable. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For each candidate value of $B$, we simply apply the lemma to determine whether there exists a corresponding value of $A$ such that $A \cup B$ solves the problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If a solution is found, the answer to the overall problem is yes, and if no solution is found, the answer to the overall problem must be no.&lt;/p&gt;&#xA;" OwnerUserId="34401" LastActivityDate="2015-08-17T05:53:50.693" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32303" PostTypeId="2" ParentId="31884" CreationDate="2015-08-17T08:29:51.073" Score="1" Body="&lt;p&gt;Combinatorial game theory and topics thereof has received a lot of attention in modelling and verification of reactive systems. I would draw your attention to &lt;a href=&quot;http://www.cs.cornell.edu/Courses/cs6860/2010fa/Handouts/thomas.pdf&quot; rel=&quot;nofollow&quot;&gt;this&lt;/a&gt; nice reference for more information.&lt;/p&gt;&#xA;" OwnerUserId="10119" LastActivityDate="2015-08-17T08:29:51.073" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32304" PostTypeId="2" ParentId="2894" CreationDate="2015-08-17T09:36:34.657" Score="3" Body="&lt;p&gt;Here is a simple (non-formal) proof. Say is the year 2115 and I have a 100 year old computer that I'll call Mac, and a state of the art supercomputer called God. God can easily simulate and predict Mac, until I do the following:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First, I attach a webcam to Mac and point it towards God's screen. Then, I run on Mac a program that, in an infinite loop, stores every number detected in God's screen and generates and displays a number that is not in the list of stored numbers. Finally, I ask God to show me the number that Mac is going to be showing one minute from now. Whatever number God shows, Mac will produce and show a different one, so God will be unable to give a correct answer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is equivalent to the fact that if a supercomputer predicts me, whatever she tells me I'll do, I'll be able to do the opposite (as in &lt;a href=&quot;https://cstheory.stackexchange.com/questions/2894/can-a-computer-simulate-itself-as-part-of-a-simulated-world#comment7050_2894&quot;&gt;Mark's comment&lt;/a&gt;). Also, this holds regardless of the process the supercomputer uses to predict the future (simulation, traveling to the future and coming back, asking an oracle, etc.).&lt;/p&gt;&#xA;" OwnerUserId="35185" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2015-08-17T22:48:17.227" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="32306" PostTypeId="1" CreationDate="2015-08-17T10:03:20.750" Score="8" ViewCount="602" Body="&lt;p&gt;Given $n$ vectors $v_1,\dots,v_n\in\Bbb R^N$ with $\|v_i\|_2^2\leq1$ at every $i\in\{1,\dots,n\}$, Komlos conjecture states that, there is a $c\in\Bbb R$ (independent of $n,N$) such that at some $\epsilon\in\{-1,+1\}^n$, $$\Big\|\sum_{i=1}^n\epsilon_iv_i\Big\|_\infty&amp;lt;c.$$ What is best &lt;strong&gt;lower bound&lt;/strong&gt; known for $c$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Best upper bound is $c=O(\sqrt{\log n})$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a set of examples for $c=1+\delta$ for any $\delta&amp;gt;0$ where Komlos conjecture fails?&lt;/p&gt;&#xA;" OwnerUserId="1812" LastEditorUserId="1812" LastEditDate="2015-08-18T16:07:06.153" LastActivityDate="2018-06-07T21:03:56.617" Title="Constant in Komlos conjecture" Tags="&lt;co.combinatorics&gt;&lt;extremal-combinatorics&gt;" AnswerCount="3" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="32307" PostTypeId="2" ParentId="32306" CreationDate="2015-08-17T13:26:41.360" Score="-3" Body="&lt;p&gt;There is no best lower bound, because c is an upper bound.&#xA;The best known upper bound is $O(\sqrt{\log n})$, as proved by &lt;a href=&quot;http://onlinelibrary.wiley.com/doi/10.1002/(SICI)1098-2418(199807)12:4%3C351::AID-RSA3%3E3.0.CO;2-S/abstract?deniedAccessCustomisedMessage=&amp;amp;userIsAuthenticated=false&quot; rel=&quot;nofollow&quot;&gt;Banaszczyk&lt;/a&gt; in 1998.&lt;/p&gt;&#xA;" OwnerUserId="35191" LastActivityDate="2015-08-17T13:26:41.360" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="32308" PostTypeId="1" CreationDate="2015-08-17T14:06:51.833" Score="3" ViewCount="50" Body="&lt;p&gt;The &lt;a href=&quot;https://en.wikipedia.org/wiki/Generalized_minimum-distance_decoding&quot; rel=&quot;nofollow&quot;&gt;GMD decoder&lt;/a&gt; is an algorithm for decoding concatenated codes up to half their minimal distance. The standard presentation of this algorithm usually proceeds in two steps: First, one shows a randomized decoding algorithm, and proves that this algorithm works &lt;em&gt;in expectation&lt;/em&gt;, rather than &lt;em&gt;with high probability&lt;/em&gt;. Then, one uses the latter proof to show how to derandomize the latter algorithm to get an algorithm that always works.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In all the presentations that I could find, it is never shown that the randomized algorithm works with high probability. However, it is not hard to see that this is indeed the case. I need to use this fact, and I wonder whether it was proved somewhere and I can give a reference, or whether I need to prove it myself.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So in short, my question is: Is there a reference for a paper that proves that the randomized decoder works with high probability?&lt;/p&gt;&#xA;" OwnerUserId="8429" LastActivityDate="2015-08-17T14:06:51.833" Title="Reference for randomized GMD decoding" Tags="&lt;reference-request&gt;&lt;coding-theory&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32309" PostTypeId="1" AcceptedAnswerId="32313" CreationDate="2015-08-17T22:31:16.233" Score="7" ViewCount="351" Body="&lt;p&gt;John Tromp defines a version of the lambda calculus that is encoded in binary:&#xA;&lt;a href=&quot;https://tromp.github.io/cl/cl.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;https://tromp.github.io/cl/cl.html&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;a) Does there exist a concatenative version of this language (or its combinatory equivalent)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;b) Does there exist a concatenative version restricted to the primitive recursive functions (e.g. as per &lt;a href=&quot;https://cstheory.stackexchange.com/questions/15038/combinators-for-the-primitive-recursive-functions&quot;&gt;Combinators for the Primitive Recursive Functions&lt;/a&gt;)?&lt;/p&gt;&#xA;" OwnerUserId="13286" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.743" LastActivityDate="2015-09-17T15:09:35.947" Title="Concatenative binary lambda calculus/combinatory logic" Tags="&lt;lo.logic&gt;&lt;combinatory-logic&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="32310" PostTypeId="1" CreationDate="2015-08-17T23:23:07.757" Score="5" ViewCount="78" Body="&lt;p&gt;Say that a Turing machine $U$ is &lt;em&gt;universal for a class $\mathcal{C}$ of languages&lt;/em&gt; if for any language $L \in \mathcal{C}$, there is a word $w_L$ with:&#xA;$$(\forall w)\quad w \in L \Leftrightarrow U(w_L, w) \text{ accepts}\enspace.$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is an upper bound for the size of $U$ for the classes of regular languages, CFLs, or CSLs?  What is the complexity of the function taking a grammar for a language $L$ in input and outputting $w_L$ for this upper bound?  Does it change anything if the negation of &quot;$U$ accepts&quot; is taken to be &quot;$U$ rejects&quot; or &quot;$U$ does not halt&quot;?&lt;/p&gt;&#xA;" OwnerUserId="88" LastActivityDate="2015-08-17T23:23:07.757" Title="How much smaller can universal Turing machines get if they only need to be universal for a subclass?" Tags="&lt;fl.formal-languages&gt;&lt;universal-turing-machines&gt;" AnswerCount="0" CommentCount="7" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32312" PostTypeId="2" ParentId="32299" CreationDate="2015-08-18T08:00:44.323" Score="3" Body="&lt;p&gt;I think there is confusion here based on binary vs unary representation. The statement 'most strings are incompressible' means that the Kolmogorov complexity $K(n)$ is approximately $|n|$ (that is, approximately $\log_2 n$) for most $n$. Of course, every natural number $n &amp;lt; 2^k$ has a $k$-bit binary representation. It is only in the unary representation that every natural number $n$ has complexity approximately $n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, you may find alternative representations, possibly exotic ones, such as your busy beaver example, which achieves the same bound as the binary representation (i.e., every number $n$ has a representation of size approximately $\log_2 n$) but these do not 'compress' numbers more than the binary representation does.&lt;/p&gt;&#xA;" OwnerUserId="8985" LastActivityDate="2015-08-18T08:00:44.323" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="32313" PostTypeId="2" ParentId="32309" CreationDate="2015-08-18T14:42:38.553" Score="0" Body="&lt;p&gt;As per @cody's comment above, if we require only that &quot;the concatenation of any two programs is a valid program&quot; then I believe that Iota, Jot and Zot (semarch.linguistics.fas.nyu.edu/barker/Iota/zot.html) are examples of a).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, IMO the more interesting question part of the question is b)...&lt;/p&gt;&#xA;" OwnerUserId="13286" LastActivityDate="2015-08-18T14:42:38.553" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32315" PostTypeId="1" AcceptedAnswerId="45751" CreationDate="2015-08-19T04:26:34.363" Score="5" ViewCount="143" Body="&lt;p&gt;Is it possible to estimate within $\epsilon$ the quantiles of a set of integers $\{x_1, x_2, \dots, x_n\}$ given only the values $\sum x_i^0,\sum x_i^1, \sum x_i^2, \dots, \sum x_i^{f(n)}$ where $f \in o(n)$? If so, what is the most slowly growing $f$ that will suffice?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By &quot;estimate the quantiles&quot;, I mean:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;... for any given rank $r$, an $\epsilon$-approximate quantile summary returns a value whose rank $r'$ is guaranteed to be within the interval $[r - \epsilon n, r + \epsilon n]$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;following &lt;a href=&quot;http://infolab.stanford.edu/~datar/courses/cs361a/papers/quantiles.pdf&quot; rel=&quot;noreferrer&quot;&gt;&quot;Space-Efficient Online Computation of Quantile&#xA;Summaries&quot;, by Greenwald and Khanna&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm also interested in whether this is possible with non-integer, non-consecutive moments, so sets of values like $\sum x_i^{-1/2}, \sum x_i^\pi$ are also of interest.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am more interested in deterministic algorithms than randomized ones.&lt;/p&gt;&#xA;" OwnerUserId="43" LastEditorUserId="43" LastEditDate="2015-08-19T08:22:35.820" LastActivityDate="2019-11-25T20:02:10.343" Title="Single-pass streaming quantile estimation using moments" Tags="&lt;ds.algorithms&gt;&lt;data-streams&gt;&lt;streaming-algorithms&gt;&lt;streaming&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="32316" PostTypeId="2" ParentId="32306" CreationDate="2015-08-19T12:33:04.997" Score="8" Body="&lt;p&gt;A simple way of obtaining a lower bound $c\ge\sqrt{2}$ is to consider pairs of vectors $u,v\in\mathbb{R}$. First of all, it makes sense to focus on pairs of unit vectors for which all $\{-1,1\}$-linear combinations are as long as possible (note that this is just an interesting special case, I'm not saying that it is opotimal in any way). This is achieved when $u,v$ are orthogonal, and by checking the possible rotations we find that $u=\frac{1}{\sqrt{2}}(1,1), v=\frac{1}{\sqrt{2}}(1,-1)$ show that $c$ must be at least $\sqrt{2}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This example can be generalized to the sets of vectors $V_k=\{2^{-\frac{k}{2}}v_{i,k}\ |\ 0\le i\le k\}\subseteq\mathbb{R}^{2^k}$, where the $j$-th coefficient $(v_{i,k})_j$ of $v_{i,k}$ is $1$ if the $i-th$ binary digit in $j$ is $0$, and $-1$ otherwise.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The $\infty$-norm of any $\{-1,1\}$-linear combination of the vectors in $V_k$ is $(k+1)2^{-\frac{k}{2}}$, which reaches its maximum $\frac{3}{2}$ at $k=2$, with the set of vectors&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$V_2=\{\frac{1}{2}(1,1,1,1),\frac{1}{2}(1,1,-1,-1),\frac{1}{2}(1,-1,1,-1)\}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There may be better lower bounds, but this is a start.&lt;/p&gt;&#xA;" OwnerUserId="5183" LastEditorUserId="5183" LastEditDate="2015-08-21T13:02:57.210" LastActivityDate="2015-08-21T13:02:57.210" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32317" PostTypeId="1" CreationDate="2015-08-19T12:35:59.433" Score="1" ViewCount="111" Body="&lt;p&gt;It is a known result that Kolmogorov complexity is not computable for every arbitrary sequence. I wonder whether the following problem is computable or not:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&quot;Given $x$ and $y$ as two sequences, whether $K(x)\overset{+}{=}K(y)$, where $\overset{+}{=}$ means equality in Kolmogorov complexity sense.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My next question is a generalisation of this one, i.e. whether the following is computable:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&quot;Given $x$ and $y$ as two sequences, whether $K(x)\overset{+}{&amp;lt;}K(y)$, where $\overset{+}{&amp;lt;}$ means strictly smaller in Kolmogorov complexity sense.&quot;&lt;/p&gt;&#xA;" OwnerUserId="15458" LastActivityDate="2015-08-20T10:37:32.317" Title="&quot;Checking equality for Kolmogorov complexity of two sequences&quot; is computable?" Tags="&lt;kolmogorov-complexity&gt;&lt;complexity&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32318" PostTypeId="1" AcceptedAnswerId="32381" CreationDate="2015-08-19T12:48:27.127" Score="14" ViewCount="334" Body="&lt;p&gt;Suppose we connect the points of $V = \mathbb{Z}^2$ using the set of undirected edges $E$ such that either $(i, j)$ is connected to $(i + 1, j + 1)$, or $(i + 1, j)$ is connected to $(i, j + 1)$, independently and uniformly at random for all $i, j$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Inspired by the title and cover of &lt;a href=&quot;http://10print.org/&quot;&gt;this book&lt;/a&gt;.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is the probability that this graph has an infinitely large connected component?&#xA;Similarly,&#xA;consider $\mathbb{R}^2 \setminus G$, the complement of the planar embedding of the graph.&#xA;What is the probability that the complement has an infinite connected component?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Clearly, if all the diagonals point the same way, both the graph and its complement have an infinite component. How about a uniform random graph of the above kind?&lt;/p&gt;&#xA;" OwnerUserId="20581" LastEditorUserId="20581" LastEditDate="2015-08-21T23:03:47.650" LastActivityDate="2015-08-26T14:21:59.390" Title="Does the infinite graph of diagonals have an infinite component?" Tags="&lt;graph-theory&gt;" AnswerCount="4" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32319" PostTypeId="1" AcceptedAnswerId="32323" CreationDate="2015-08-19T13:00:50.847" Score="15" ViewCount="768" Body="&lt;p&gt;Let $[n]$ denote the set $\{1,...,n\}$ and C(n,k) denote the set of all $k$-combinations of elements from $[n]$ without repetition. &#xA;Let $p= p_1p_2...p_k$ be a $k$-tuple in $C(n,k)$. We say that a permutation &#xA;$\pi:[n]\rightarrow [n]$ of the set $[n]$ avoids $p$ if there is no k-tuple &#xA;of integers $i_1&amp;lt;i_2&amp;lt;...&amp;lt;i_k$ such that &#xA;$$\pi(i_1) = p_1, \;\;\pi(i_2)=p_2,\;\;  ...,\;\;\pi(i_k) = p_k.$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For instance, if $n=5$ then the permutation $12453$ avoids $134$ as a subsequence, while the permutation $\mathbf{1}2\mathbf{3}5\mathbf{4}$ does not. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question:&lt;/strong&gt; Let $k$ be a constant. Given a set $S\subset C(n,k)$ of $k$-tuples, find a permutation &#xA;$\pi:[n]\rightarrow [n]$ that avoids each $k$-tuple in $S$.  &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Is there an algorithm for this problem that is polynomial in $|P|$ and $n$? Here $n$ is given in unary. An algorithm running in time $n^{f(k)}|P|^{g(k)}$ would be fine.&lt;/li&gt;&#xA;&lt;li&gt;Or is this problem NP-complete? &lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Any references for this problem, or suggestions of algorithms are welcome. Note that the notion of permutation avoiding subsequence defined above is not the same as the notion of permutation avoiding pattern  where only the relative order of elements is important, and which seems to be well studied in combinatorics. &lt;/p&gt;&#xA;" OwnerUserId="4237" LastEditorUserId="4237" LastEditDate="2015-08-19T16:07:53.713" LastActivityDate="2015-08-20T01:05:48.563" Title="Permutations with forbidden subsequences" Tags="&lt;reference-request&gt;&lt;co.combinatorics&gt;&lt;permutations&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="32320" PostTypeId="1" CreationDate="2015-08-19T13:40:29.077" Score="4" ViewCount="569" Body="&lt;p&gt;I'm interested in the complexity of the following problem: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Problem $P$: Given an undirected planar graph $G=(V,E)$ and a weight function $w: E \rightarrow \mathbb{Z}$ (so weights can be negative, too), color the vertices in such a way that the sum of the weights of the monochromatic edges (i.e. those between same color vertices) is minimized. Let's call this sum to be the &lt;em&gt;measure&lt;/em&gt; for $(G,w)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT 1:&lt;/strong&gt; A major change in the problem definition: $G$ is planar. Previously, I forgot to specify that. And, edge weights are now integers. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT 2:&lt;/strong&gt; Below text is part of the original post but it's not very useful as Mikhail Rudoy points out in his answer. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is what I've thought so far: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $k$ be the optimal number of colors, which we do not know beforehand. Suppose an oracle gives us $k$. Then, the problem becomes similar to the &lt;a href=&quot;https://www.nada.kth.se/~viggo/wwwcompendium/node43.html&quot; rel=&quot;nofollow&quot;&gt;minimum edge deletion k-partition (MEDKP)&lt;/a&gt; problem, except for the fact that in MEDKP only positive weights are allowed. So, if we modify the weight function by adding a big enough constant $C$ (such that all weights become positive), i.e.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$w'(e) = w(e) + C,\;\;\;e \in E$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;then using $w'$, we exactly have an instance of MEDKP. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;To solve $P$, we solve MEDKP for each feasible value of $k$, i.e. $k=1 \dots |V|$. Let $M_k$ denote the set of monochromatic edges in the solution of MEDKP for $k$. Then, the solution of $P$ would be $ M_{k^*}$  where  $k^* = \underset{k}{\arg\min} \sum_{e \in M_k} w(e)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, I conclude that the problem $P$  is at least as hard as MEDKP. And since MEDKP is not in &lt;a href=&quot;https://en.wikipedia.org/wiki/APX&quot; rel=&quot;nofollow&quot;&gt;APX&lt;/a&gt; [&lt;a href=&quot;https://www.nada.kth.se/~viggo/wwwcompendium/node43.html&quot; rel=&quot;nofollow&quot;&gt;1&lt;/a&gt;], $P$ cannot be in APX either. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is my reasoning correct? Also, independent of my reasoning above, any pointers, hints or comments on the complexity of $P$ is welcome. &lt;/p&gt;&#xA;" OwnerUserId="35211" LastEditorUserId="35211" LastEditDate="2015-08-30T18:33:54.160" LastActivityDate="2015-08-30T18:35:06.893" Title="Graph coloring/partitioning problem" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;&lt;approximation-hardness&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32321" PostTypeId="1" CreationDate="2015-08-19T14:26:33.937" Score="-3" ViewCount="1028" Body="&lt;p&gt;Consider the following matching problem:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Input&lt;/strong&gt;: a complete weighted bipartite graph with $n+m$ vertices, &#xA;given by $n$, $m$, and $w_{i}$ a permutation of $[m]$ for each $i \in [n]$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Output&lt;/strong&gt;: a matching $M: [n] \rightarrowtail [m]$ which minimized the following function:&#xA;$$cost(M) = \max_{i\in[n]} w_{i,M(i)}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is the fastest known algorithm for this problem?&lt;br&gt;&#xA;What if I want to minimize $\sum_{i\in[n]} w_{i, M(i)}$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that $[n] = \{1, 2, /\ldots, n\}$.&lt;br&gt;&#xA;Originally &lt;a href=&quot;https://math.stackexchange.com/q/1396061/&quot;&gt;posted&lt;/a&gt; on MSE.&lt;/p&gt;&#xA;" OwnerUserId="35212" LastEditorUserId="-1" LastEditDate="2017-04-13T12:19:19.363" LastActivityDate="2020-03-31T20:30:11.810" Title="Weighted matching algorithm for minimizing max weight" Tags="&lt;ds.algorithms&gt;&lt;graph-algorithms&gt;&lt;matching&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32322" PostTypeId="2" ParentId="32317" CreationDate="2015-08-19T16:16:58.410" Score="5" Body="&lt;p&gt;I think of the following argument: if we can check whether two sequences have equal Kolmogorov complexity we can write a program that enumerates all sequences of length $\le N$ and divides them into equivalence classes. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;We know that $K(x) \le |x|$. So, we have at most $N$ equivalence classes of sequences. One of this classes should be of size at least $2^{N+1}/N$. All the sequences in this class have Kolmogorov complexity at least $(N+1 - \log N) \ge N / 2$ (as we have at most $2^{n}$ sequences of Kolmogorov complexity $n$). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, now we have a program that can generate a sequence of Kolmogorov complexity at least $N/2$ for any given $N$. But this program itself has some fixed length $L$. Choosing $N$ to be greater than $2(L + \log N)$ leads to contradiction. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The same argument should work for $\overset{+}{&amp;lt;}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(I omited an additive constant that depends on the description language we choose to define $K(x)$.)&lt;/p&gt;&#xA;" OwnerUserId="3934" LastEditorUserId="3934" LastEditDate="2015-08-20T10:37:32.317" LastActivityDate="2015-08-20T10:37:32.317" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32323" PostTypeId="2" ParentId="32319" CreationDate="2015-08-19T16:17:30.697" Score="13" Body="&lt;p&gt;It's NP-complete for $k=3$ by a reduction from &lt;a href=&quot;https://en.wikipedia.org/wiki/Betweenness&quot;&gt;betweenness&lt;/a&gt;. In the betweenness problem, one is given $n$ items to be totally ordered, and constraints on some triples of items forcing one item of the triple to be between the other two. In your problem, the same constraint can be forced by forbidding all the subsequences on three elements that do not place the middle element in the middle. But betweenness is known to be NP-complete: see J. Opatrny, Total ordering problem, &lt;em&gt;SIAM J. Comput.&lt;/em&gt;, 8 (1979), pp. 111–114.&lt;/p&gt;&#xA;" OwnerUserId="95" LastEditorUserId="95" LastEditDate="2015-08-20T01:05:48.563" LastActivityDate="2015-08-20T01:05:48.563" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32325" PostTypeId="2" ParentId="32281" CreationDate="2015-08-19T23:46:30.047" Score="3" Body="&lt;p&gt;ZPP = NP ​ is a &quot;consequence of polynomial time algorithm to this variant factoring problem&quot;, which can be deduced by &lt;em&gt;replacing&lt;/em&gt; Cramer's conjecture with zero-error randomness,&#xA;&lt;br&gt;&#xA;rather than just &lt;em&gt;removing&lt;/em&gt; Cramer's conjecture. ​ ​ ​ ​ Accordingly, we would be in Algorithmica.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One can simply test &lt;em&gt;randomly chosen&lt;/em&gt; numbers in &lt;a href=&quot;https://mathoverflow.net/q/212816/5810&quot;&gt;the relevant intervals&lt;/a&gt;&#xA;&lt;br&gt;&#xA;for primality, rather than choosing them deterministically.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Unless ​ NP $\hspace{-0.02 in}\subseteq$ &lt;a href=&quot;https://complexityzoo.uwaterloo.ca/Complexity_Zoo:B#bqp&quot; rel=&quot;nofollow noreferrer&quot;&gt;BQ&lt;/a&gt;S&lt;a href=&quot;https://complexityzoo.uwaterloo.ca/Complexity_Zoo:S#subexp&quot; rel=&quot;nofollow noreferrer&quot;&gt;UBEXP&lt;/a&gt; ​ infinitely often, one needs [input_length]&lt;a href=&quot;https://en.wikipedia.org/wiki/Big_O_notation#The_Knuth_definition&quot; rel=&quot;nofollow noreferrer&quot;&gt;$^{\hspace{.03 in}\Omega \hspace{.02 in}(1)}$&lt;/a&gt; distinct primes&#xA;&lt;br&gt;&#xA;&quot;in $N$ for completeness of this problem under Cramer's conjecture&quot;,&#xA;&lt;br&gt;&#xA;since Shor's algorithm can be used to &lt;em&gt;find&lt;/em&gt; the prime factors, and given those,&#xA;&lt;br&gt;&#xA;this problem can be solved by trying the products of each sub&lt;a href=&quot;https://en.wikipedia.org/wiki/Multiset&quot; rel=&quot;nofollow noreferrer&quot;&gt;multiset&lt;/a&gt; of those primes.&#xA;&lt;br&gt;&#xA;There are lots of such numbers, since there are lots of primes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Products of n distinct $\big[$primes less than $2^{\hspace{.02 in}n}\hspace{-0.03 in}\big]$ are less than $2^{\hspace{.02 in}n^2}\hspace{-0.06 in}$, so their number of distinct prime factors is not less than [their_length]$^{1/2}$. ​ ​ ​ ​ &lt;a href=&quot;https://en.wikipedia.org/wiki/Prime_number_theorem#Bounds_on_the_prime-counting_function&quot; rel=&quot;nofollow noreferrer&quot;&gt;According to wikipedia&lt;/a&gt;, since 2 is the only power of 2 that's prime, if ​ 6 ≤ n ​ then $\big[$the number of primes less than $2^{\hspace{.02 in}n}\hspace{-0.03 in}\big]$ is greater than $\dfrac{2^{\hspace{.02 in}n}}{\ln \hspace{-0.03 in}\left(2^{\hspace{.02 in}n}\right)\hspace{-0.03 in}+\hspace{-0.03 in}2}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For all n, if ​ 20 ≤ n ​ then $\ln \hspace{-0.03 in}\left(2^{\hspace{.02 in}n}\right)\hspace{-0.03 in}+\hspace{-0.03 in}2 \: = \: (n\hspace{-0.03 in}\cdot \hspace{-0.03 in}\ln(2))+2 \: = \: (\ln(2)\hspace{-0.03 in}\cdot \hspace{-0.03 in}n)+2 \: &amp;lt; \: \Big(\hspace{-0.05 in}\frac7{10}\hspace{-0.03 in}\cdot \hspace{-0.03 in}n\hspace{-0.04 in}\Big)+2 \: \leq \: \Big(\hspace{-0.05 in}\frac7{10}\hspace{-0.03 in}\cdot \hspace{-0.03 in}n\hspace{-0.04 in}\Big)+\Big(\hspace{-0.05 in}\frac1{10}\hspace{-0.03 in}\cdot \hspace{-0.03 in}n\hspace{-0.04 in}\Big) \: = \: \frac45 \cdot n \;\;\;$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For all n, if ​ 20 ≤ n ​ then $\: \dfrac{5\hspace{-0.05 in}\cdot \hspace{-0.05 in}\left(2^{\hspace{.02 in}n-2}\hspace{-0.05 in}\right)}n = \dfrac{\frac54 \hspace{-0.05 in}\cdot \hspace{-0.03 in} 2^{\hspace{.02 in}n}}n = \dfrac{2^{\hspace{.02 in}n}}{\frac45 \hspace{-0.05 in}\cdot \hspace{-0.03 in}n} &amp;lt; \dfrac{2^{\hspace{.02 in}n}}{\ln \hspace{-0.03 in}\left(2^{\hspace{.02 in}n}\right)\hspace{-0.03 in}+\hspace{-0.03 in}2}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For all n, if ​ 20 ≤ n ​ then there are more than $\dfrac{5\hspace{-0.05 in}\cdot \hspace{-0.05 in}\left(2^{\hspace{.02 in}n-2}\hspace{-0.05 in}\right)}n$ primes less than $2^{\hspace{.02 in}n}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For each such n, one can choose n disjoint sets of at least $\left\lfloor \hspace{-0.05 in} \dfrac{5\hspace{-0.05 in}\cdot \hspace{-0.05 in}\left(2^{\hspace{.02 in}n-2}\hspace{-0.05 in}\right)}{n^{\hspace{.02 in}2}}\hspace{-0.04 in} \right\rfloor$ of those primes.&#xA;&lt;br&gt;&lt;br&gt;&lt;br&gt;&#xA;For all n, if ​ 20 ≤ n ​ then $\;\;\; \dfrac{2^{\hspace{.02 in}n}}{n^{\hspace{.02 in}2}} \: = \: \dfrac{4\hspace{-0.05 in}\cdot \hspace{-0.05 in}\left(2^{\hspace{.02 in}n-2}\hspace{-0.05 in}\right)}{n^{\hspace{.02 in}2}} \: &amp;lt; \: \dfrac{\left(4\hspace{-0.05 in}\cdot \hspace{-0.05 in}\left(2^{\hspace{.02 in}n-2}\hspace{-0.05 in}\right)\right)+2^{\hspace{.02 in}n-2}\hspace{-0.04 in}-n^2}{n^{\hspace{.02 in}2}}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$= \: \dfrac{4\hspace{-0.05 in}\cdot \hspace{-0.05 in}\left(2^{\hspace{.02 in}n-2}\hspace{-0.05 in}\right)}{n^{\hspace{.02 in}2}} \: &amp;lt; \: \dfrac{\left(5\hspace{-0.05 in}\cdot \hspace{-0.05 in}\left(2^{\hspace{.02 in}n-2}\hspace{-0.05 in}\right)\right)\hspace{-0.02 in}-n^2}{n^{\hspace{.02 in}2}} \: = \: \dfrac{5\hspace{-0.05 in}\cdot \hspace{-0.05 in}\left(2^{\hspace{.02 in}n-2}\hspace{-0.05 in}\right)}{n^{\hspace{.02 in}2}}-1 \: &amp;lt; \: \left\lfloor \hspace{-0.05 in} \dfrac{5\hspace{-0.05 in}\cdot \hspace{-0.05 in}\left(2^{\hspace{.02 in}n-2}\hspace{-0.05 in}\right)}{n^{\hspace{.02 in}2}}\hspace{-0.04 in} \right\rfloor \;\;\;$.&#xA;&lt;br&gt;&lt;br&gt;&lt;br&gt;&#xA;For all n, if ​ 20 ≤ n ​ then one can choose n disjoint sets of at least $\dfrac{2^{\hspace{.02 in}n}}{n^{\hspace{.02 in}2}}$ primes less than $2^{\hspace{.02 in}n}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For all n, if ​ 20 ≤ n ​ then at least $\bigg(\hspace{-0.04 in}\dfrac{2^{\hspace{.02 in}n}}{n^{\hspace{.02 in}2}}\hspace{-0.06 in}\bigg)^{\hspace{-0.04 in}n}$ number less than $2^{\hspace{.02 in}n^2}$ have n distinct prime factors.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For all n, $\; \bigg(\hspace{-0.04 in}\dfrac{2^{\hspace{.02 in}n}}{n^{\hspace{.02 in}2}}\hspace{-0.06 in}\bigg)^{\hspace{-0.04 in}n} = \dfrac{\left(2^{\hspace{.02 in}n}\hspace{-0.02 in}\right)^n}{\left(\hspace{-0.02 in}n^{\hspace{.02 in}2}\hspace{-0.04 in}\right)^{\hspace{-0.02 in}n}} = \dfrac{2^{\hspace{.02 in}n\cdot n}}{n^{\hspace{.02 in}2\cdot n}} = \dfrac{2^{\hspace{.02 in}n^2}}{n^{\hspace{.02 in}2\cdot n}} \:\:$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Therefore, for all n, if ​ 20 ≤ n ​ then at least $\dfrac{2^{\hspace{.02 in}n^2}}{n^{\hspace{.02 in}2\cdot n}}$ numbers less than $2^{\hspace{.02 in}n^2}$ are&#xA;&lt;br&gt;&#xA;such that their number of distinct prime factors is not less than [their_length]$^{1/2}$.&#xA;&lt;br&gt;&lt;br&gt;&lt;/p&gt;&#xA;" OwnerDisplayName="user6973" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2015-08-20T06:06:41.620" CommentCount="23" ContentLicense="CC BY-SA 3.0" />
  <row Id="32327" PostTypeId="2" ParentId="32320" CreationDate="2015-08-20T06:37:54.053" Score="3" Body="&lt;p&gt;Your problem is NP-complete.&#xA;Take an instance $G'=(V',E')$ of the (NP-complete) max-cut problem. Let $m=|E'|$.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Create two new vertices $x_1$ and $x_2$, create the edge between $x_1$ and $x_2$, and all edges between $V'$ and $\{x_1,x_2\}$.&lt;/li&gt;&#xA;&lt;li&gt;The edge $[x_1,x_2]$ receives positive weight $1000m$&lt;/li&gt;&#xA;&lt;li&gt;All edges $[x_i,v]$ with $i=1,2$ and $v\in V'$ receive negative weight $-2m$&lt;/li&gt;&#xA;&lt;li&gt;All edges in $E'$ receive positive weight $1$&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;It can be easily seen that your optimal coloring for this graph&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;assigns two distinct colors to $x_1$ and $x_2$ (say color 1 to $x_1$ and color 2 to $x_2$)&lt;/li&gt;&#xA;&lt;li&gt;and colors every vertex $v\in V'$ with one of these colors 1 or 2&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Hence, the two-coloring on $V'$ induces a max-cut in $G'$.&lt;/p&gt;&#xA;" OwnerUserId="31660" LastActivityDate="2015-08-20T06:37:54.053" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="32328" PostTypeId="2" ParentId="32320" CreationDate="2015-08-20T11:06:41.677" Score="2" Body="&lt;p&gt;As the previous answer states, your problem is NP-hard by reduction from Max-Cut. It actually also turns out to be Poly-APX-hard by reduction from Max Independent Set (which is Poly-APX-complete). The reduction is almost a strict reduction, where the optimal solution for the instance of $P$ has as its cost the negative of the cost of the  optimal solution for the Max Independent Set instance. The same reduction can also be used to prove NP-hardness.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose we are given a graph $G = (V, E)$ with the task of determining the size of the maximum Independent Set, call it $I$. We reduce this to an instance of problem $P$ as follows:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $G' = (V', E')$ where $V' = V \cup \{x\}$ and $E' = E \cup \{(x, v) | v \in V\}$ and let $w : E' \rightarrow \mathbb{Z}^+$ be a weighting of the edges such that whenever $e \in E$ we have $w(e) = |V|$ and whenever $e = (x, v)$ for some $v \in V$ we have $w(e) = -1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We claim that the measure for $(G', w)$ is $-|I|$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider the coloring of $G'$ which assigns one color to the set $I \cup \{x\}$ and assigns every other vertex a unique color. Under that coloring, the only monochromatic edges are those with both endpoints in $I \cup \{x\}$. Since the subgraph in $G'$ induced by the vertex set $V$ is exactly the graph $G$, and since $I$ is an independent set in $G$, we know that there are no edges with both endpoints in $I$. Thus the only monochromatic edges in $G'$ are those of the form $(x, v)$ where $v \in I$. There are $|I|$ such edges, each with weight $-1$, so the total weight of all monochromatic edges under this coloring is $-|I|$. The measure for $(G', w)$ is then bounded above by the value $-|I|$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Next suppose for the sake of contradiction that the measure for $(G, w)$ is less than $-|I|$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Every negatively weighted edge in $G'$ has weight $-1$. Therefore, in order for the total weight of the monochromatic edges to be less than $-|I|$, there must be more than $|I|$ monochromatic edges of weight $-1$ in $G'$. Every edge of weight $-1$ has $x$ as one end-point. Then since these edges are monochromatic, the other endpoints all have the same color. Thus, we have accumulated a set of vertices $I' \in V$ with $|I'| &amp;gt; |I|$ that are all the same color. Since $I$ is the maximum independent set in $G$, we know that $I'$ is not an independent set, and so there exists an edge $(u, v) \in E$ with endpoints in $I'$. This edge is then monochromatic, and contributes a total of $w((u, v)) = |V|$ to the sum of the weights of the monochromatic edges. The total weight of all of the negatively weighted edges in all of $G'$ is $-|V|$, so already the total monochromatic weight under this coloring must be non-negative. This contradicts the fact that the total weight of the monochromatic edges is supposed to be less than $-|I|$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By contradiction, the measure of $(G', w)$ must be exactly $-|I|$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The above should also be enough to see how a solution to the problem $P$ instance can be used to solve the Max independent Set instance (by taking the set of vertices of the same color as $x$ to be the independent set) though we will not go through the details here.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As a result, the above is an approximation-preserving reduction that is sufficient to show that problem $P$ is Poly-APX-hard.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Now a few notes:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Your reasoning was a bit off in several places. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;First of all, you described a reduction from $P$ to MEDKP (you solved an instance of $P$ by solving several instances of MEDKP) and concluded that $P$ is at least as hard as MEDKP. In fact, that is backwards. What you can actually conclude is that MEDKP is at least as hard as $P$. To make it clearer, consider the version of problem $P$ that you get if you restrict weights to be non-negative. This problem is trivial, since the measure of every instance $(G, w)$ will always by zero (by taking a coloring where each vertex is uniquely colored). However, your argument applies to this problem without modification (you could solve this problem using several instances of MEDKP). If you were to conclude that that problem is at least as hard as MEDKP, then you would have proved that MEDKP is trivial, which it is clearly not.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The second issue I saw was in the construction of weights $w'$. The issue is that modifying the weights leads to the problem changing. When you increase the weights as you did, the total weight of the monochromatic edges in a coloring is itself increased by a value of $C$ for each monochromatic edge. Therefore the total weight of the monochromatic edges changes by different amounts for different colorings, depending on the number of monochromatic edges in the coloring. The optimal coloring could then change! For example, if you take an instance of $P$ produced by the reduction I provided above, finding an optimal coloring is computationally difficult. On the other hand, if you move all the weights up even just by one, the optimal coloring is trivial to find (simply take a coloring with each vertex uniquely colored). Clearly, the problem has changed since the tractability of solving it has changed so much.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Next, I was wondering about whether you had a reason to generalize to real numbers and not just generalize to all integers. Dealing with integers makes things easier in several ways. For one thing, it is intuitively clear how to encode an integer, and not so much so for a real number; depending on your encoding of real numbers, it could be possibly to embed all sorts of difficult problems into $P$ in ways that don't actually shed any light on the nature of $P$ (i.e. you would be forced to solve the sum-of-square-roots problem (see online; cou) in a situation where you had to compare two solutions whose values were each sums of square roots). In addition, it is much more obvious how to discuss terms like &quot;polynomial in the size of the input&quot; when the size of the input is easy to determine from the size of the numbers in the input. In particular, the integer version of $P$ is clearly in NP (and therefore NP-complete) while the real number version is of some unknown difficulty.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I also want to note that I couldn't think of a polynomial factor approximation algorithm for $P$ (either the real number or integer version), and so just like with the NP-hardness result, $P$ is Poly-APX-hard but not necessarily Poly-APX-complete. I would be very interested in seeing further results in either direction.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, I wanted to say that I really liked the problem and found it very interesting to think about; thanks!&lt;/p&gt;&#xA;" OwnerUserId="34401" LastEditorUserId="3984" LastEditDate="2015-08-20T18:45:31.020" LastActivityDate="2015-08-20T18:45:31.020" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="32329" PostTypeId="2" ParentId="32318" CreationDate="2015-08-20T12:05:31.673" Score="2" Body="&lt;p&gt;Hmm, well, here's one first attempt. Let's observe two important things:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;If this graph has an infinitely large connected component, by König's infinity lemma, it has an infinite simple path.&lt;/li&gt;&#xA;&lt;li&gt;The event that the graph has an infinite simple path is independent of each individual choice of edge orientation (and thus, every finite set of edge choices). Therefore it is a tail event and by Kolmogorov's zero-one law the probability is either zero or one.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;So, is it zero or one? It's not immediately clear, though we can make a guess, since by the &quot;infinite monkeys with typewriters&quot; theorem, this graph contain simple paths of arbitrarily large length with probability one. Of course, more is needed to rigorously prove that it actually has an &lt;em&gt;infinite&lt;/em&gt; path with probability one.&lt;/p&gt;&#xA;" OwnerUserId="8985" LastActivityDate="2015-08-20T12:05:31.673" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32331" PostTypeId="2" ParentId="32318" CreationDate="2015-08-20T23:47:27.530" Score="1" Body="&lt;p&gt;Here's some weak empirical evidence that the answer is yes.  Let $G_n$ be a random graph on the $2n+1 \times 2n+1$ lattice defined by picking each diagonal randomly.  Here's a plot of reachability probability estimates vs. $n$ (ignoring the vertices which are always unreachable due to parity).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we rescale the square to $[0,1]^2$, the probability appears to converge to a smooth function independent of scale, which would mean even more: that the probability of the origin reaching infinity is positive.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, it's also possible that I haven't computed far enough out to see the downwards trend (the $n = 800$ plot does seem a little smaller than the others).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Code here: &lt;a href=&quot;https://gist.github.com/girving/16a0ffa1f0abb08934c2&quot; rel=&quot;nofollow noreferrer&quot;&gt;https://gist.github.com/girving/16a0ffa1f0abb08934c2&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://i.stack.imgur.com/zQc1T.png&quot; rel=&quot;nofollow noreferrer&quot;&gt;&lt;img src=&quot;https://i.stack.imgur.com/zQc1T.png&quot; alt=&quot;reachability vs. $n$&quot;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="13245" LastActivityDate="2015-08-20T23:47:27.530" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32332" PostTypeId="1" CreationDate="2015-08-20T23:55:03.963" Score="17" ViewCount="839" Body="&lt;p&gt;A mixed graph is a graph that may have both directed and undirected edges. Its underlying undirected graph is obtained by forgetting the orientations of the directed edges, and in the other direction an orientation of a mixed graph is obtained by assigning a direction to each undirected edge. A set of edges forms a cycle in a mixed graph if it can be oriented to form a directed cycle. A mixed graph is acyclic if and only if it has no cycles.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is all standard and there are many published papers mentioning acyclic mixed graphs. So the following algorithm for testing acyclicity of mixed graphs must be known:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Repeat the following steps:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Remove any vertex that has no incoming directed edges and no incident undirected edges, as it cannot be part of any cycle.&lt;/li&gt;&#xA;&lt;li&gt;If any vertex has no incoming directed edges but it has exactly one incident undirected edge, then any cycle using the undirected edge must come in on that edge. Replace the undirected edge by an incoming directed edge.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Stop when no more steps can be performed. If the result is an empty graph, then the original graph must necessarily have been acyclic. Otherwise, starting from any vertex that remains, one can backtrack through the graph, at each step following backwards through an incoming edge or following an undirected edge that is not the one used to reach the current vertex, until seeing a repeated vertex. The sequence of edges followed between the first and second repetition of this vertex (in reverse order) forms a cycle in the mixed graph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The Wikipedia article on mixed graphs mentions acyclic mixed graphs but doesn't mention how to test them, so I'd like to add to it something about this algorithm, but for that I need a published reference. Can someone tell me where it (or any other algorithm for testing acyclicity) appears in the literature?&lt;/p&gt;&#xA;" OwnerUserId="95" LastEditorUserId="95" LastEditDate="2015-08-21T05:04:46.990" LastActivityDate="2015-08-30T20:03:46.143" Title="Reference for mixed graph acyclicity testing algorithm?" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;directed-acyclic-graph&gt;" AnswerCount="1" CommentCount="7" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32333" PostTypeId="2" ParentId="32318" CreationDate="2015-08-21T00:20:21.773" Score="1" Body="&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt; As pointed out in the comments, the lemma does not imply infinite paths after all, so this answer overall is wrong.  Not sure if it can be used in another probabilistic way.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The answer is yes: an infinite path exists.  Indeed, an infinite path exists for &lt;em&gt;every&lt;/em&gt; such graph; probability is not required.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Lemma:&lt;/strong&gt; Let $G$ be any diagonal graph on the $n \times n$ lattice, with $n \ge 2$.  Then there is either a path from left to the right through even parity vertices or a path from the top to the bottom through odd parity vertices.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Proof sketch: This is essentially the determinacy theorem in Hex on a different graph.  The even and odd parity halves of $G$ are locally dual, so an obstruction in one parity is a connection in the other.  However, I will omit the details since they're hard to write down without pictures and/or case analysis.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If the lemma is true, the infinite version follows from König as noted by Joe. (&lt;strong&gt;Update:&lt;/strong&gt; Wrong, see comments)&lt;/p&gt;&#xA;" OwnerUserId="13245" LastEditorUserId="13245" LastEditDate="2015-08-21T22:11:05.693" LastActivityDate="2015-08-21T22:11:05.693" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="32338" PostTypeId="2" ParentId="32321" CreationDate="2015-08-21T15:31:48.453" Score="3" Body="&lt;p&gt;Both problems are easy to solve using standard methods.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To solve the first (minimize the maximum weight of the edges in the matching): This problem is known as bottleneck matching, and you can find plenty of literature on it by searching for that phrase (thanks to David Eppstein for pointing this out).  One simple approach is to sort the edge weights, then use binary search to find the smallest threshold &lt;span class=&quot;math-container&quot;&gt;$t$&lt;/span&gt; such that a perfect matching exists when you keep only the edges whose weight is &lt;span class=&quot;math-container&quot;&gt;$\le t$&lt;/span&gt;; the running time is &lt;span class=&quot;math-container&quot;&gt;$O(\lg |V|)$&lt;/span&gt; times &lt;a href=&quot;https://en.wikipedia.org/wiki/Matching_%28graph_theory%29#Maximum-cardinality_matching&quot; rel=&quot;nofollow noreferrer&quot;&gt;the running time for unweighted bipartite matching&lt;/a&gt;, and there are multiple algorithms for that.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;To solve the second (minimize the total weight of the edges in the matching): This is known as &lt;a href=&quot;https://en.wikipedia.org/wiki/Assignment_problem&quot; rel=&quot;nofollow noreferrer&quot;&gt;the assignment problem&lt;/a&gt;; just negate all the edge weights first, then maximize the total weight of the edges in the matching.  There are &lt;a href=&quot;https://en.wikipedia.org/wiki/Matching_%28graph_theory%29#In_weighted_bipartite_graphs&quot; rel=&quot;nofollow noreferrer&quot;&gt;standard algorithms&lt;/a&gt; for the assignment problem.&lt;/p&gt;&#xA;" OwnerUserId="5038" LastEditorUserId="49761" LastEditDate="2020-03-31T20:30:11.810" LastActivityDate="2020-03-31T20:30:11.810" CommentCount="2" ContentLicense="CC BY-SA 4.0" />
  <row Id="32339" PostTypeId="1" AcceptedAnswerId="32340" CreationDate="2015-08-21T17:09:34.250" Score="-2" ViewCount="142" Body="&lt;p&gt;In &lt;a href=&quot;http://blog.computationalcomplexity.org/2009/08/finding-primes.html&quot; rel=&quot;nofollow&quot;&gt;http://blog.computationalcomplexity.org/2009/08/finding-primes.html&lt;/a&gt;, a statement is added which reads &quot;Oddly enough we would usually prefer a probabilistic over the deterministic method to find primes. Otherwise the adversary can use the same deterministic procedure and factor your number as easily as you put it together&quot;. As I understand, this seems to state polynomial time deterministic prime finding implies integer factorization can be done in polynomial time. Am I right? How to see this?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there analogous statement to factorization in $\Bbb Z[x]$? Is there an analogous statement to discrete logarithms?&lt;/p&gt;&#xA;" OwnerUserId="1812" LastActivityDate="2015-08-21T17:18:00.960" Title="A curious statement in an old blog" Tags="&lt;complexity-classes&gt;&lt;nt.number-theory&gt;&lt;factoring&gt;&lt;primes&gt;&lt;probabilistic-computation&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32340" PostTypeId="2" ParentId="32339" CreationDate="2015-08-21T17:18:00.960" Score="9" Body="&lt;p&gt;I'm not sure this is a statement about primes so much as it is a statement about secret key generation: if the method is deterministic (e.g. take the smallest prime larger than 10^20), then your adversary can simply reproduce the computation to find your secret key.&lt;/p&gt;&#xA;" OwnerUserId="3984" LastActivityDate="2015-08-21T17:18:00.960" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32343" PostTypeId="1" AcceptedAnswerId="32344" CreationDate="2015-08-22T00:34:22.217" Score="-1" ViewCount="278" Body="&lt;p&gt;I think i have a sufficient condition for non existance of hamiltonian cycle in a graph, I want to check if it has already been found, I tried googling for it and didnt find anything so far, how can i go about finding out if this condition is new?&lt;/p&gt;&#xA;" OwnerUserId="8164" LastActivityDate="2015-08-22T04:35:51.973" Title="A sufficient condition for non existance of hamiltonian cycle" Tags="&lt;graph-theory&gt;&lt;hamiltonian-paths&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32344" PostTypeId="2" ParentId="32343" CreationDate="2015-08-22T01:07:06.457" Score="8" Body="&lt;p&gt;Your question is kind of vague, and I don't know of a comprehensive listing of necessary conditions for Hamiltonicity (or equivalently sufficient conditions for non-Hamiltonicity). But for one such condition, commonly used to prove non-Hamiltonicity of certain planar graphs, see &lt;a href=&quot;https://en.wikipedia.org/wiki/Grinberg%27s_theorem&quot;&gt;Grinberg's theorem&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another necessary condition, valid for all graphs (not just planar graphs), is that a Hamiltonian graph must be &lt;a href=&quot;https://en.wikipedia.org/wiki/Graph_toughness&quot;&gt;1-tough&lt;/a&gt;. So if you can find a set of $k$ vertices whose removal disconnects the remaining graph into more than $k$ pieces, it's not Hamiltonian.&lt;/p&gt;&#xA;" OwnerUserId="95" LastEditorUserId="95" LastEditDate="2015-08-22T04:35:51.973" LastActivityDate="2015-08-22T04:35:51.973" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32348" PostTypeId="1" AcceptedAnswerId="32349" CreationDate="2015-08-22T12:09:16.730" Score="3" ViewCount="113" Body="&lt;p&gt;Deterministic parity automata $(Q, \Sigma, q_0, \Delta, c)$ are powerful enough to recognize all $\omega$-regular languages. However, the number of priorities they require for a language can become arbitrarily high. For example, the languages $L_{i,j} = \{ \alpha \in \{i, \dots, j\}^\omega \mid \text{The highest number occurring infinitely often in } \alpha \text{ is even} \}$ require at least $j-i+1$ priorities. I was not able to prove this theorem so far by myself, in particular I am stuck at the case that the automaton uses exactly the priorities from $i+1$ to $j$. I could not lead this assumption to a contradiction.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any help or link to a paper would be appreciated.&lt;/p&gt;&#xA;" OwnerUserId="14135" LastEditorUserId="17203" LastEditDate="2015-08-23T22:38:23.303" LastActivityDate="2015-08-23T22:38:23.303" Title="Deterministic Parity Automata require unbounded index" Tags="&lt;fl.formal-languages&gt;&lt;automata-theory&gt;&lt;regular-language&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32349" PostTypeId="2" ParentId="32348" CreationDate="2015-08-22T12:34:50.113" Score="5" Body="&lt;p&gt;Take a look at the following paper:&#xA;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.37.4069&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;nofollow&quot;&gt;Relating hierarchies of word and tree automata&lt;/a&gt;.&#xA;They cite the result you are interested in.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As a more concrete answer, consider the following argument: let's look at the language $M_n=\{w\in \{0,...,n\}^\omega: \limsup w_i \text{ is even}\}$ (the same as your language with $i=0$), and assume it has a parity automaton $A$ with ranks $1,...,n+1$ (note that proving it doesn't have a parity automaton with ranks $1,...,n$ is not enough, as it's still possible for it to have ranks $0,...,n-1$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We will construct a word that is accepted by $A$, but is not in the language (or vice-versa). Denote by $k$ the number of states in $A$. Consider the run of $A$ on the word $0^\omega$. It's accepting, so the limsup degree is even, and so at least $2$. Moreover, it must occur during the first $k$ steps, otherwise, since $A$ is deterministic, we have a non-accepting cycle. In addition, this is true for every $0^k$ infix of any word.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, consider the word $(0^k1)^\omega$. This word is not accepted, so the limsup degree is odd, but must be at least 3, since the $0^k$ infixes induce the degree $2$. Finally, this odd degree must occur within the first $k$ cycles of $0^k1$, for similar reasons as above.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We can repeat these alternating examples, constructing a word of the form $(0^k1)^k2$, and so on, with each word requiring a higher degree. However, since we only have degrees $1,...,n+1$, then eventually we will have a word that uses the letters $0,...,n-1$, whose limsup degree is $n+1$. From there, continuing this construction will still leave the limsup degree $n+1$, but will change the word from accepted to non-accepted, or vice-versa. In either case, the automaton fails to recognize the language.&lt;/p&gt;&#xA;" OwnerUserId="7531" LastEditorUserId="7531" LastEditDate="2015-08-23T04:29:35.307" LastActivityDate="2015-08-23T04:29:35.307" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="32350" PostTypeId="1" CreationDate="2015-08-22T15:29:35.333" Score="6" ViewCount="1463" Body="&lt;p&gt;A while ago it occurred to me that the stack data model in a push-down automaton could be exchanged for a queue or deque model. I've explored this a bit as a pet project and it looks like an automaton with a deque model is TM equivalent. Intuitively because analogous to moving a head over a fixed tape, the deque model allows for moving the tape under a fixed head. Formally I think this could be proved nicely via equivalence with a dual stack PDA.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The queue model continues to puzzle me however, since it seems to define a class of languages quite different from the context-free languages (stack vs. queue seems to be analogous to nested vs. cross-serial character dependencies). I haven't been able to prove or disprove whether the queue model also accepts context-free languages though, so it might just as well turn out to be TM equivalent too. On the other hand I also couldn't construct the equivalents of the TM transition relations using the queue model, it seems to fall just short of 'full TM power'.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;At this point I've started going in circles, so I'm left with the question whether the queue model would really define a separate (not necessarily useful) class of languages or not. It seems a simple question but I haven't been able to find any conclusive literature on this, so I was hoping someone could point me to an answer to this question.&lt;/p&gt;&#xA;" OwnerUserId="32408" LastActivityDate="2015-08-22T15:29:35.333" Title="What would a PDA be with a queue instead of a stack?" Tags="&lt;reference-request&gt;&lt;automata-theory&gt;&lt;turing-machines&gt;" AnswerCount="0" CommentCount="10" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="32352" PostTypeId="1" AcceptedAnswerId="32360" CreationDate="2015-08-22T19:30:14.890" Score="8" ViewCount="503" Body="&lt;p&gt;I've always wondered if proofs in computer science would be considered sufficient proofs of the proposition if they needed to assume physical laws?&lt;br&gt;&#xA;For example, I'm wondering what would happen if someone someday proved P != NP under the assumption of the second law of thermodynamics. Would this settle the debate of P != NP?&lt;br&gt;&#xA;Or would the problem be still considered unsolved if it rests on physical assumptions?&lt;/p&gt;&#xA;" OwnerUserId="6006" LastActivityDate="2015-08-26T17:16:37.133" Title="Would a proof assuming a physical law be considered sufficient?" Tags="&lt;proofs&gt;" AnswerCount="3" CommentCount="4" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="32354" PostTypeId="1" AcceptedAnswerId="32358" CreationDate="2015-08-23T01:17:58.823" Score="-1" ViewCount="361" Body="&lt;p&gt;From what I read, the load factor of a hashtable is defined as n/N where n=number of items N=Number of buckets in the hash table&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Its recommended you increase the size of your hashtable when load factor is 0.75&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now my question is this&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If I have 75 items in my list and the size of the hashtable is 100, is it not possible that multiple items are in the same bucket? Which means I could also be using just 40 buckets. So why not resize when number of buckets used reaches close to 100 instead of looking at number of items?&lt;/p&gt;&#xA;" OwnerUserId="35244" LastActivityDate="2015-08-23T16:41:10.753" Title="Load factor of a hashtable: Why not resize based on number of actual buckets used?" Tags="&lt;hash-function&gt;" AnswerCount="1" CommentCount="0" ClosedDate="2015-08-23T19:52:19.620" ContentLicense="CC BY-SA 3.0" />
  <row Id="32355" PostTypeId="1" CreationDate="2015-08-23T04:10:37.157" Score="12" ViewCount="416" Body="&lt;p&gt;Let the $size$ of $\lambda$-terms be defined as follows:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$size(x) = 1$,&lt;/li&gt;&#xA;&lt;li&gt;$size(λx.t) = size(t) + 1$,&lt;/li&gt;&#xA;&lt;li&gt;$size(t s) = size(t) + size(s) + 1$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Let the complexity of a $\lambda$-term $t$ be defined as &#xA;the number of parallel beta reductions from $t x$ to its normal form&#xA;(using an optimal evaluator in Levy's sense).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am looking for an example of two &lt;em&gt;normal&lt;/em&gt; $\lambda$-terms for the same function where &#xA;the larger term has lower complexity.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;...&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Edit for clarity&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;since it seems that it is not obvious what I'm asking, I'll try to give a solid example. There is often a belief that the &quot;naive&quot;/&quot;simplest&quot; definition of a function is slow and not optimal. Better performance increase the complexity of the term, since you need added data-structures, formulas, etc. A great example is &lt;code&gt;fibonacci&lt;/code&gt;, which can be &quot;naively&quot; defined as:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;-- The fixed fibonacci definition&#xA;fib_rec fib n =&#xA;    if (is_zero x) &#xA;        then 1 &#xA;        else fib (n - 1) + f (n - 2)&#xA;&#xA;-- Using church numbers instead of the λ-combinator to get a normal form&#xA;fib n = n fib_rec 0 n &#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;This is often regarded as the &quot;simplest&quot; definition of fib, and is very slow (exponential). If we expand the dependencies of &lt;code&gt;fib&lt;/code&gt; (the &lt;a href=&quot;https://en.wikipedia.org/wiki/Church_encoding&quot; rel=&quot;noreferrer&quot;&gt;usual definitions&lt;/a&gt; for church-number addition, pred, is_zero), and normalize it, we get this term:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;fib = (λa.(a(λbc.(c(λdef.f)(λde.d)(λde.(de))&#xA;      (λde.(b(λfg.(c(λhi.(i(hf)))(λh.g)(λh.h)))&#xA;      d(b(λfg.(c(λhi.(i(h(λjk.(k(jf))))))(λhi.g)&#xA;      (λh.h)(λh.h)))de)))))(λbc.c)a))&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Improvements such as memoization tables would make this term bigger. Yet, &lt;strong&gt;there exists&lt;/strong&gt; a different term that is much smaller...&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;fib = (λa.(a(λb.(b(λcde.(e(λfg.(cf(dfg)))c))))&#xA;      (λb.(b(λcd.(cd))(λcd.d)))(λbc.b)))&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;and, curiously, is also asymptotically superior to the naive one, running in &lt;code&gt;O(N)&lt;/code&gt;. Of all definitions I'm aware, &lt;strong&gt;this is both the fastest and the simplest&lt;/strong&gt;. The same effect happens with sort. &quot;Naive&quot; definitions such as bubble sort and insertion sort often get expanded to huge terms (20+ lines long), but &lt;strong&gt;there exists&lt;/strong&gt; a small definition:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;-- sorts a church list (represented as the fold) of church numbers&#xA;sort = λabc.a(λdefg.f(d(λhij.j(λkl.k(λmn.mhi)l)(h(λkl.l)i))&#xA;       (λhi.i(λjk.bd(jhk))(bd(h(λjk.j(λlm.m)k)c))))e)(λde.e)&#xA;       (λde.d(λfg.g)e)c&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Which also happens to be faster, asymptotically, than every other definition I know. This observation leads me to believe that, as opposed to common belief, the simplest term, with smallest Kolmogorov complexity, is usually the faster. My question is basically wether there is any evidence of the opposite, although I'd have a hard time in formalizing it. &lt;/p&gt;&#xA;" OwnerUserId="17388" LastEditorUserId="17388" LastEditDate="2015-08-24T17:13:59.703" LastActivityDate="2015-08-25T13:33:35.590" Title="An example where smallest normal lambda term is not fastest" Tags="&lt;lo.logic&gt;&lt;computability&gt;&lt;pl.programming-languages&gt;&lt;lambda-calculus&gt;" AnswerCount="1" CommentCount="26" FavoriteCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32357" PostTypeId="1" AcceptedAnswerId="32359" CreationDate="2015-08-23T15:18:03.317" Score="1" ViewCount="647" Body="&lt;p&gt;I'm learning to use the &lt;a href=&quot;https://leanprover.github.io/&quot; rel=&quot;nofollow noreferrer&quot;&gt;LEAN theorem prover&lt;/a&gt; and I got stuck in a proof of a simple fact in first-order logic:&#xA;&lt;span class=&quot;math-container&quot;&gt;$$ p(x) \rightarrow \forall x p(x) $$&lt;/span&gt;&#xA;My code is the following:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;variables (A : Type) (p q : A → Prop)&lt;/p&gt;&#xA;&lt;p&gt;example (x : A) : p x → (∀ x, p x) :=&lt;/p&gt;&#xA;&lt;p&gt;assume H : p x,&lt;/p&gt;&#xA;&lt;p&gt;take x : A,&lt;/p&gt;&#xA;&lt;p&gt;show p x, from H&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;but it keeps saying that H has type p x_1, instead of what I expected, which is type p x.&lt;/p&gt;&#xA;" OwnerUserId="35247" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2015-08-23T17:18:05.023" Title="What's wrong with this LEAN proof?" Tags="&lt;lo.logic&gt;&lt;type-theory&gt;&lt;coq&gt;" AnswerCount="1" CommentCount="1" ClosedDate="2015-08-26T21:32:08.797" ContentLicense="CC BY-SA 3.0" />
  <row Id="32358" PostTypeId="2" ParentId="32354" CreationDate="2015-08-23T16:41:10.753" Score="0" Body="&lt;p&gt;The reason you want number of buckets N to be greater than number of keys n, is that no algorithm (hashvalue + compression) gives a perfect even distribution of keys though the buckets. So when n starts approaching N, the odds of collisions become higher. Which means you will have longer linked lists in certain buckets. Thus increasing the time to find that key.&lt;/p&gt;&#xA;" OwnerUserId="35248" LastActivityDate="2015-08-23T16:41:10.753" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32359" PostTypeId="2" ParentId="32357" CreationDate="2015-08-23T17:02:47.097" Score="6" Body="&lt;p&gt;Your example is not true, that's why you cannot prove it. If we assume your example is true (which we do using the &lt;code&gt;sorry&lt;/code&gt; tactic), then we can prove &lt;code&gt;false&lt;/code&gt;. The proof goes as follows. We first pick &lt;code&gt;x&lt;/code&gt; to be &lt;code&gt;0&lt;/code&gt; and &lt;code&gt;p&lt;/code&gt; to be the property that a number &lt;code&gt;n&lt;/code&gt; is equal to &lt;code&gt;0&lt;/code&gt;. So &lt;code&gt;p x&lt;/code&gt; is &lt;code&gt;p 0&lt;/code&gt; is &lt;code&gt;0 == 0&lt;/code&gt; which is obviously true. Your example now provides us with the proof that &lt;code&gt;p&lt;/code&gt; holds for all numbers. We pick &lt;code&gt;1&lt;/code&gt;, which is a contradiction because &lt;code&gt;0 &amp;lt;&amp;gt; 1&lt;/code&gt;.&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;variables (A : Type) (p : A → Prop)&#xA;&#xA;lemma lma (x : A) : p x → (∀ x', p x') :=&#xA;  assume H : p x,&#xA;  take x' : A,&#xA;  sorry&#xA;&#xA;lemma inconsistent : false :=&#xA;  assert h : 0 == 0 → (∀ x, x == 0), from (lma num (λ n, n==0) 0),&#xA;  assert e : 1 == 0, begin&#xA;    refine (h _ 1), &#xA;    reflexivity&#xA;  end,&#xA;  show false, by cases e&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;The formula that you posted is also false in first order logic, even &lt;code&gt;∀ x, p x → (∀ x, p x)&lt;/code&gt; is not a true statement. Note that your example is different from the true statement &lt;code&gt;(∀ x, p x) → (∀ x, p x)&lt;/code&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The error message that you see stems from the fact that you are trying to use the hypothesis &lt;code&gt;p x&lt;/code&gt; where the hypothesis &lt;code&gt;p x'&lt;/code&gt; is expected (you are confusing the &lt;code&gt;x&lt;/code&gt;es)&lt;/p&gt;&#xA;" OwnerUserId="23077" LastEditorUserId="23077" LastEditDate="2015-08-23T17:18:05.023" LastActivityDate="2015-08-23T17:18:05.023" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32360" PostTypeId="2" ParentId="32352" CreationDate="2015-08-23T17:07:43.470" Score="7" Body="&lt;p&gt;It seems at least possible to me, but currently very unlikely. To sum up the below, it's because the current mathematical statement of (say) P vs NP is completely independent of any laws of physics, so one would need to describe new models of computation that do depend on physics axioms.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The key point that Peter Shor made in his comment is that CS theory questions, such as P vs NP, refer to very simple and stylized mathematical models. They aren't statements about the real world. They just say &quot;in this mathematical model, ___ is true&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, one does often have empirical laws, such as the Church-Turing thesis, that state that the real world acts like these mathematical models. But that's a one-way connection (it doesn't mean that mathematical models must act like the real world!). To flesh out Peter Shor's example, the Pythagorean theorem only needs the ideas of real numbers and the Euclidean plane/distance. The model is much &lt;em&gt;simpler&lt;/em&gt; than the real world and doesn't involve e.g. gravity, electromagnetism, thermodynamics, etc. And even if the Pythagorean theorem were sometimes false in reality because of these complications, this would not affect its mathematical truth.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Similarly, the model for the Turing machine and the definitions of P, NP, etc are much simpler than the real world. The model does not involve things like gravity, thermodynamic entropy, etc. The truth of P vs. NP does not depend on whether computation can actually happen efficiently in the real world.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, it seems to me hypothetically possible that in the future, we could discover closer connections between laws of physics and laws of computation. What would happen then is that the mathematical model of the Turing Machine would have to be &lt;em&gt;expanded&lt;/em&gt; to account for these connections. One would then have to formulate new definitions of P and NP for this new model and argue that these are &quot;better&quot; than the old model and definitions. Then, in this new physics-aware model, one could have physics axioms that are used in proofs. But this seems very unlikely / far from happening, at least to me.&lt;/p&gt;&#xA;" OwnerUserId="8243" LastActivityDate="2015-08-23T17:07:43.470" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="32361" PostTypeId="1" CreationDate="2015-08-23T19:00:02.453" Score="11" ViewCount="270" Body="&lt;p&gt;Fix a finite group $G$. I am interested in the following decision problem: the input is some elements of $G$ with a partial order on them, and the question is whether there is a permutation of the elements that satisfies the order and is such that the composition of the elements in that order yields the group's neutral element $e$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Formally, the &lt;em&gt;$G$-test problem&lt;/em&gt; is as follows, where the group $G$ is fixed:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Input:&lt;/strong&gt; a finite partially ordered set $(P, &amp;lt;)$ with a labeling function $\mu$ from $P$ to $G$.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Output:&lt;/strong&gt; whether there exists a linear extension of $P$ (i.e., a total order $(P, &amp;lt;')$ such that for all $x, y \in P$, $x &amp;lt; y$ implies $x &amp;lt;' y$), such that, writing the elements of $P$ following the total order $&amp;lt;'$ as $x_1, \ldots, x_n$, we have $\mu(x_1) \cdot \cdots \cdot \mu(x_n) = e$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;For any group $G$, the $G$-test problem is clearly in NP. My question is: &lt;strong&gt;Is there a group $G$ such that the $G$-test problem is NP-hard?&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A few remarks about equivalent problem statements:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The language of posets and linear extensions can be equivalently replaced by that of DAGs and topological orders. That is, if you prefer, you can think of the input as a DAG with vertices labeled with group elements, and as the output as asking whether some topological sort of the input DAG achieves $e$.&lt;/li&gt;&#xA;&lt;li&gt;One could instead consider a harder problem where we are given a poset $(P, &amp;lt;)$ and $g \in G$, and ask whether $g$ (rather than $e$) can be realized. In fact the stronger problem reduces to the above: we can ask whether $e$ can be realized by $(P', &amp;lt;)$, where $P'$ is $P$ but with an element labeled $g^{-1}$ which is smaller than all others. Hence the natural choice of $e$ in the above definition.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Now, about my attempts to solve the problem:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Of course, if the group $G$ is commutative, the $G$-test problem is clearly in PTIME as all linear extensions achieve the same group element, so we can just choose any one of them by topological sort and check whether it is $e$ or not. So the interesting case is non-commutative $G$. More generally, if $G$ has a homomorphism to some non-trivial commutative group (e.g., the &lt;a href=&quot;https://en.wikipedia.org/wiki/Parity_of_a_permutation&quot;&gt;signature&lt;/a&gt;, for permutations), a necessary but non-sufficient condition is to look at the problem through the homomorphism and check it in PTIME in the commutative image. I fail to see whether this can generalize to a decomposition scheme for all finite groups.&lt;/li&gt;&#xA;&lt;li&gt;If the order relation is empty (i.e., we are given a multiset of elements in $G$ and can use any permutation), the problem can be solved by dynamic programming, where the states are the number of occurrences of each element in $G$ that are still not used (remember that $G$ is fixed, so the number of states is then polynomial in the input).&lt;/li&gt;&#xA;&lt;li&gt;For inputs that are posets of constant width, we can use a dynamic algorithm following a chain decomposition. So if hardness holds it must be using inputs posets that are arbitrarily wide. Note that for wide posets the number of possible &quot;states&quot; in a dynamic programming approach would be the number of &lt;a href=&quot;https://en.wikipedia.org/wiki/Upper_set&quot;&gt;upsets&lt;/a&gt; of the poset, which in general is exponential and not polynomial, so that approach does not directly work.&lt;/li&gt;&#xA;&lt;li&gt;The same problem could be studied for monoids rather than groups, but for monoids I already know that it is hard, by a fairly convoluted argument that involves the transition monoid of an automaton and reduces to a variant of a &lt;a href=&quot;https://cstheory.stackexchange.com/questions/19393/monotone-bijections-between-lists-of-intervals&quot;&gt;previous CStheory question&lt;/a&gt;. The full proof of this is in &lt;a href=&quot;http://pierre.senellart.com/publications/amarilli2016representing.pdf&quot;&gt;this preprint&lt;/a&gt;, appendices D.1.3 and D.1.4, though the terminology is very different. Hence, when $G$-testing is PTIME, it has to use the invertibility of group elements. &lt;/li&gt;&#xA;&lt;li&gt;If we asked whether &lt;em&gt;all&lt;/em&gt; linear extensions realize $e$ (rather than whether &lt;em&gt;some&lt;/em&gt; does), then I know the problem to be in PTIME (see appendix D.2 of the same preprint), though I also know that this other problem would be coNP-hard for monoids rather than groups (D.1.3 and D.1.4).&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;If $G$-test is hard for some $G$, of course, the natural question is whether some dichotomy holds, and which criterion would distinguish tractable $G$ and non-tractable $G$. In fact this question can be more generally asked when we use finite automata instead of groups. (Formally: Fix a finite alphabet $\Sigma$, and a finite deterministic finite automaton (DFA) $A$ on $\Sigma$, and consider the $A$-test problem, given a poset labeled with elements from $\Sigma$, of checking whether some linear extension forms a word accepted by $A$.) Of course I have no idea about these harder questions.&lt;/p&gt;&#xA;" OwnerUserId="4795" LastActivityDate="2018-05-11T12:32:28.560" Title="Determining what can be achieved by a permutation of elements of a noncommutative group" Tags="&lt;np-hardness&gt;&lt;sorting&gt;&lt;gr.group-theory&gt;&lt;partial-order&gt;&lt;order-theory&gt;" AnswerCount="2" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="32362" PostTypeId="1" CreationDate="2015-08-23T19:46:10.363" Score="7" ViewCount="241" Body="&lt;p&gt;As part of a project I'm working on, we came up with an efficient algorithm for approximating the sum of an integers queue.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The setting is as follows: Let $\epsilon&amp;gt;0$. we need to maintain a space-efficient data structure that supports the following operations:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$add(x)$ - add $x$ to the front of the queue. All elements are integers in the range $0,1,\ldots, R$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$remove()$ - removes the oldest element from the queue. The function is not required to output the element (or anything else).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$sum()$ - returns an approximation for the sum of the elements in the queue. The estimation error must be smaller than $n\cdot R\cdot \epsilon$, where $n$ is the number the queue contains at the moment of the query.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;All operations are required to run in constant time.&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;For example, consider $\epsilon = 0.1, R = 100$ and the sequence:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$add(50)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$add(33)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$add(72)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$remove()$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$sum()$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then the algorithm is required to answer a number within $105\pm 20$.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;A trivial solution maintains a linked list with a sum variable, computing the exact sum. The space requirements of this algorithm is $O(n\cdot\log R)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another simple solution is to keep a linked list of approximated values (represent each element using $O(\log\frac{1}{\epsilon})$ bits), which results in a $O(n\log\frac{1}{\epsilon})$ space algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Our solution uses some compression techniques to reduce the complexity to $O(\min\{\frac{1}{\epsilon} + \log n, n\log\left\lceil1+\frac{1}{n\epsilon}\right\rceil\})$ by keeping an approximate representation of &quot;blocks&quot; of elements.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Is this result known? Are there known sub-linear (in the number of elements in the queue) algorithms for computing statistics (sum / norms / percentiles/ etc.) of a queue?&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;This problem can be viewed as a generalization of summing over sliding windows in streaming data (e.g., see &lt;a href=&quot;http://www-cs.stanford.edu/~datar/papers/sicomp_streams.pdf&quot; rel=&quot;nofollow&quot;&gt;[1]&lt;/a&gt; and &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.111.8399&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;nofollow&quot;&gt;[2]&lt;/a&gt;). &lt;/p&gt;&#xA;" OwnerUserId="21001" LastEditorUserId="21001" LastEditDate="2015-08-24T17:02:59.150" LastActivityDate="2015-08-24T17:02:59.150" Title="Integer queue summation" Tags="&lt;ds.algorithms&gt;&lt;space-bounded&gt;&lt;data-streams&gt;&lt;streaming-algorithms&gt;" AnswerCount="0" CommentCount="4" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="32365" PostTypeId="1" CreationDate="2015-08-24T15:10:27.620" Score="8" ViewCount="475" Body="&lt;p&gt;Are there any known (non-trivial) randomized communication complexity lower bounds for natural gap problems in which the 1-inputs are linearly far from the 0-inputs? That is, partial functions $f:\{0,1\}^{2n} \to \{0,1,*\}$ such that the Hamming distance between every $(x,y) \in f^{-1}(1)$ and $(x',y') \in f^{-1}(0)$ is linear -- and that $f$ requires randomized protocols to communicate (say) $\Omega(\sqrt{n})$ bits?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(For instance, the Gap-Hamming-Distance problem has $2\sqrt{n}$ distance, whereas I'm looking for $\Omega(n)$ distance; where $GHD(x,y) = 1$ if $HD(x,y) \ge n/2 + \sqrt{n}$ and $GHD(x,y) = 1$ if $HD(x,y) \le n/2 - \sqrt{n}$.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit&lt;/strong&gt;: As pointed out by Igor, any communication complexity predicate can be made into a problem with linear-distance by requiring the inputs to be encoded by a good code. What interests me though, is whether there exist problems in the literature, in which the linear-distance occurs in a &lt;strong&gt;natural&lt;/strong&gt; way (as the distance in the Gap-Hamming-Distance problem).&lt;/p&gt;&#xA;" OwnerUserId="35252" LastEditorUserId="35252" LastEditDate="2015-10-26T13:29:33.890" LastActivityDate="2015-10-29T17:57:50.783" Title="Communication complexity problems with linear distance" Tags="&lt;reference-request&gt;&lt;communication-complexity&gt;" AnswerCount="2" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32366" PostTypeId="2" ParentId="32361" CreationDate="2015-08-24T15:54:59.070" Score="2" Body="&lt;p&gt;I show below that the $G$-test problem is NP-hard for some simple but infinite group $G$. The finite case is still open.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;proof&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;Define the following functions: $f(x) = -x$ and $g_a(x) = x + a$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then take $G$ to be the group generated by $f$ and $g_a$ with composition as the operation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that the elements of $G$ are $\{f \circ g_a | a \in \mathbb{Z} \} \cup \{g_a | a \in \mathbb{Z} \}$, so this is actually a pretty simple group.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then the $G$-test problem is NP-hard by reduction from partition.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The partition problem asks for a given sequence of integers $a_1, a_2, ..., a_n$ whether there exists a partition of that sequence into two parts of equal sum.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For any such sequence, we take our poset $P$ to consist of $n+2$ elements with no order imposed. Two of these elements are $f$. The other $n$ elements are $g_{a_i}$ for $i = 1,..., n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that $g_p \circ g_q = g_{p+q}$ and that $f \circ g_p \circ f = g_{-p}$. Using only these facts, we see that the composition of elements in $P$ in any order will always equal $g_{\sum_{i \not\in I}a_i - \sum_{i \in I}a_i}$ where $I$ is the set of indices for which $g_{a_i}$ was positioned between the two occurrences of $f$. Since the identity is $g_0$, an ordering of $P$ composes into the identity if and only if under that ordering $\sum_{i \not\in I}a_i - \sum_{i \in I}a_i = 0$, or in other words if and only if $\sum_{i \not\in I}a_i = \sum_{i \in I}a_i$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then this instance of the $G$-problem has a solution if and only if there exists an $I$ such that $\sum_{i \not\in I}a_i = \sum_{i \in I}a_i$; this is exactly the condition under which the partition instance has a solution.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thus this reduction is answer preserving. Since it is also clearly polynomial time (assuming any reasonable encoding of elements of $G$), the $G$-test problem is NP-complete.&lt;/p&gt;&#xA;" OwnerUserId="34401" LastActivityDate="2015-08-24T15:54:59.070" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32367" PostTypeId="1" CreationDate="2015-08-24T19:28:56.187" Score="3" ViewCount="180" Body="&lt;p&gt;We are given a graph $G = (V,E)$ and we need to find an assignment of non-negative edge weights (You must give every edge a non-negative weight). We are also given a set $R\subseteq V$ and mapping $c_{a,b}: R\times R \rightarrow \mathbb{R^+}$ where $\mathbb{R}^+$ is all positive ($&amp;gt; 0$) reals ($c_{a,b} = c_{b,a}$ for all $a,b$ and $c_{a,a} = 0$ for all $a$ ). Our edge weight assignment is constrained by the requirement that for all vertex pairs $(a,b)\in R\times R$, all paths from $a$ to $b$ need to have at least weight $c_{a,b}$  where the weight of the path is the sum of all edge weights on that path.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now assume that there exists an assignment that satisfies all of the constraints and such that for all vertex pairs $(a,b)\in R \times R $ there exists at least one path from $a$ to $b$ whose weight is exactly equal to $c_{a,b}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now consider the assignment of edge weights (*) that satisfies the constraints and &lt;em&gt;minimizes the total sum of edge weights&lt;/em&gt;. Is it true that for all vertex pairs $(a,b)\in R \times R$ there will exist at least one path from $a$ to $b$ whose weight is exactly equal to $c_{a,b}$ ?&lt;/p&gt;&#xA;" OwnerUserId="35254" LastEditorUserId="35254" LastEditDate="2015-08-26T10:53:17.097" LastActivityDate="2015-08-31T18:07:07.797" Title="Assigning edge weights under shortest path constraints" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;shortest-path&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32368" PostTypeId="1" CreationDate="2015-08-25T01:10:48.700" Score="5" ViewCount="99" Body="&lt;p&gt;In &lt;a href=&quot;http://link.springer.com/chapter/10.1007%2F978-3-662-44522-8_32&quot;&gt;A Unifying Approach for Multistack Pushdown Automata&lt;/a&gt;, multistack visibly pushdown automata are defined in terms of an alphabet where each symbol is either a &lt;em&gt;call&lt;/em&gt; or &lt;em&gt;return&lt;/em&gt; for a particular stack or &lt;em&gt;internal&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is, why is it necessary (or advantageous) to associate each call and return with a particular stack? Why is it not sufficient to label symbols with just call or return and let the same symbol push/pop from different stacks?&lt;/p&gt;&#xA;" OwnerUserId="7515" LastActivityDate="2015-08-25T01:10:48.700" Title="Why do multi-stack visibly pushdown languages label each call/return with a particular stack?" Tags="&lt;automata-theory&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32370" PostTypeId="2" ParentId="32355" CreationDate="2015-08-25T13:33:35.590" Score="11" Body="&lt;p&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Blum%27s_speedup_theorem&quot;&gt;Blum’s speedup theorem&lt;/a&gt; is usually stated in the language of partially recursive functions, but up to trivial differences in notation, it works just the same in the language of $\lambda$-calculus.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It says that given any reasonable complexity measure $M$ (for example, the optimal number of reductions as in the question) and a recursive function $f(x,y)$ (for example, $2^y$), we can find a recursive predicate $P(x)$ such that:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;For every algorithm (i.e., $\lambda$-term in normal form here) $g$ computing $P$, there is another algorithm $h$ for $P$ that has $f$-speedup over $g$:&#xA;  $$f(x,M(h,x))\le M(g,x)\text{ for all large enough inputs }x,$$&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;where $M(g,x)$ denotes the complexity of the computation of $g$ on input $x$ according to measure $M$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consequently:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;$P$ has no asymptotically optimal algorithm in the given measure&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;in particular, the shortest algorithm for $P$ is not asymptotically optimal&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;for any algorithm for $P$, there is an asymptotically faster algorithm whose normal form is longer (because up to renaming of variables, there are only finitely many normal terms of a given length)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="6959" LastActivityDate="2015-08-25T13:33:35.590" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32372" PostTypeId="1" CreationDate="2015-08-25T15:23:37.567" Score="11" ViewCount="105" Body="&lt;p&gt;Is there a &lt;a href=&quot;https://en.wikipedia.org/wiki/Chomsky%E2%80%93Sch%C3%BCtzenberger_representation_theorem&quot;&gt;Chomsky-Schützenberger representation theorem&lt;/a&gt; for deterministic CFLs?  Knowing precisely the class of morphisms &lt;a href=&quot;http://link.springer.com/chapter/10.1007%2F978-3-642-31653-1_15&quot;&gt;under which DCFL is closed&lt;/a&gt;, such a theorem would probably be of the form:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;$L$ is a DCFL iff $L = h(R \cap D_k)$ for $D_k$ the Dyck on $k$&#xA;  parentheses, $R$ a regular language, and $h$ a code with bounded&#xA;  delay.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Does it hold? Does it appear anywhere?&lt;/p&gt;&#xA;" OwnerUserId="88" LastActivityDate="2015-08-25T15:23:37.567" Title="Chomsky-Schützenberger for Deterministic CFLs" Tags="&lt;regular-language&gt;&lt;context-free&gt;&lt;homomorphism&gt;" AnswerCount="0" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32373" PostTypeId="1" AcceptedAnswerId="32375" CreationDate="2015-08-25T18:14:11.017" Score="11" ViewCount="519" Body="&lt;p&gt;Karp reduction is polynomial time computable many-one reduction between two computational problems. Many Karp reductions are actually one-one functions. This raises the question whether every Karp reduction is injective (one-one function).&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there a natural $NP$-complete problem that is known to be complete only under many-one Karp reduction and not known to be complete under injective Karp reduction? What do we gain (and lose) if we define $NP$-completeness using injective Karp reduction?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;One obvious gain is that sparse sets can not be complete under injective Karp reductions.&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2015-08-25T18:20:54.170" LastActivityDate="2019-09-07T08:40:51.480" Title="Completeness under injective Karp reductions" Tags="&lt;cc.complexity-theory&gt;" AnswerCount="3" CommentCount="3" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="32374" PostTypeId="1" AcceptedAnswerId="32377" CreationDate="2015-08-25T20:07:07.497" Score="19" ViewCount="3234" Body="&lt;p&gt;I would like to give a mathematics talk on the &lt;a href=&quot;https://no.wikipedia.org/wiki/Git&quot;&gt;git&lt;/a&gt; revision control system. It is now widely used in mathematics as well as in the computer science industry.  For example, the HoTT (Homotopy Type Theory) community uses it, and it is the go to system for collaborative editing of text files, whether they be source code or latex markup.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I know git uses the notion of a directed acyclic graph, which is a start.  However, a good mathematics talk mentions proofs and theorems.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What theorem might I prove about git that is actually relevant for its use?&lt;/p&gt;&#xA;" OwnerUserId="35271" LastEditorUserId="8936" LastEditDate="2015-08-28T15:32:40.050" LastActivityDate="2015-10-01T20:40:00.873" Title="Math talk: Theorem about git revision control system?" Tags="&lt;co.combinatorics&gt;&lt;application-of-theory&gt;" AnswerCount="4" CommentCount="6" FavoriteCount="11" ContentLicense="CC BY-SA 3.0" />
  <row Id="32375" PostTypeId="2" ParentId="32373" CreationDate="2015-08-25T20:51:20.790" Score="7" Body="&lt;p&gt;Here is an answer to a special case, when we restrict ourselves to the case when the Karp reduction can also be made &lt;strong&gt;length-increasing&lt;/strong&gt;, along with making it injective.  (Length-increasing means that $|f(x)|&amp;gt;|x|$, where $f$ is the function that represents the reduction.) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Claim:&lt;/strong&gt; If every Karp reduction in $NP$ can be transformed into one that is injective &lt;strong&gt;and&lt;/strong&gt;  length-increasing, then $P\neq NP$ holds.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Proof.&lt;/strong&gt;&#xA;Let us assume that every  Karp reduction in $NP$ can be transformed into one that is injective and length-increasing. Then there are two possibilities:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;All these reductions are not just computable in polynomial time, but the inverse of each function, which exists after making the function injective, is also computable in polynomial time. It is known that if two languages are both reducible to each other  by reductions that are polytime computable, polytime invertible and length-increasing, then they are polytime isomorphic (see Theorem 7.4 in the book &quot;Theory of Computational Complexity&quot; by Ding-Zhu Du and Ker-I Ko). This would mean that all $NP$ complete languages are $p$-isomorphic, that is, the Isomorphism Conjecture holds, which is known to imply $P\neq NP$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;There is at least one among these functions, for which the inverse is &lt;strong&gt;not&lt;/strong&gt; computable in polynomial time. This function would provide an example of a worst-case one-way function. It is known, however, that the existence of worst-case one-way functions also implies $P\neq NP$. (See Theorem 2.5 in the book &quot;The Complexity Theory Companion&quot; by Hemaspaandra and Ogihara.)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Therefore, the assumption that every  Karp reduction can be made injective and lenght-increasing implies $P\neq NP$, so it is likely very hard to prove. On the other hand, it might be easier to disprove because that does not seem to have such a dramatic consequence. It is also unclear, what happens if we drop the length-increasing assumption.&lt;/p&gt;&#xA;" OwnerUserId="12710" LastEditorUserId="12710" LastEditDate="2015-08-26T15:08:37.280" LastActivityDate="2015-08-26T15:08:37.280" CommentCount="12" ContentLicense="CC BY-SA 3.0" />
  <row Id="32376" PostTypeId="2" ParentId="32374" CreationDate="2015-08-25T21:52:42.547" Score="1" Body="&lt;p&gt;Yes, you can mathematically define how Git works. You could define primitive Git structures and Git operations on them and then have theorems that prove that using these operations in particular ways achieves particular higher-level goals, or attempt to characterize or quantify situations in which this is not the case.&#xA;(E.g. Git's reliance on hashes leaves a tiny margin for error.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another idea is to do the same thing for Subversion, then produce theorems that compare the two. For instance, it is often claimed that Git is better at dealing with merges; you can have theorems that prove this, qualitatively or quantitively.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Usefulness would critically depend on making the right abstractions. Mathematically describing the workings of the Git source code in all detail is pointless: the source code itself does that much more effectively and concisely.&lt;/p&gt;&#xA;" OwnerUserId="3113" LastEditorUserId="3113" LastEditDate="2015-10-01T20:40:00.873" LastActivityDate="2015-10-01T20:40:00.873" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32377" PostTypeId="2" ParentId="32374" CreationDate="2015-08-25T22:13:43.053" Score="16" Body="&lt;p&gt;A git repository can be thought of as a partially ordered set of revisions (where one revision is earlier than another in the order if it is a direct or indirect successor of the earlier one). The partial orders that you get from git repositories tend to have low width (the size of the largest set of mutually independent revisions) because the width is directly related to the number of active developers and the number of different forks any individual developer might be working on.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Based on this background, I would suggest &lt;a href=&quot;https://en.wikipedia.org/wiki/Dilworth%27s_theorem&quot;&gt;Dilworth's theorem&lt;/a&gt;, which states that the width of any partial order equals the minimum number of chains (totally ordered subsets) needed to cover all of the versions. And to make it on-topic for this board, you could also mention the graph matching based algorithms for computing the width and finding a cover by a minimum number of chains in polynomial time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One way this could be relevant for actual use in Git is in a system for visualizing the version history of a system: most Git visualization systems that I've seen draw time on the vertical axis, and independent versions of the repository horizontally, so this would give you a way to organize the visualization into a small number of independent vertical tracks.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Alternatively, if you want something more ambitious and advanced, try Demaine et al.'s &lt;a href=&quot;http://ezyang.com/papers/demaine13-blametrees.pdf&quot;&gt;blame tree data structure&lt;/a&gt;, which is directly motivated by conflict resolution in git-like version control systems.&lt;/p&gt;&#xA;" OwnerUserId="95" LastEditorUserId="95" LastEditDate="2015-08-25T22:20:40.607" LastActivityDate="2015-08-25T22:20:40.607" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32378" PostTypeId="2" ParentId="32352" CreationDate="2015-08-26T04:26:19.980" Score="5" Body="&lt;p&gt;I like the question… but the answer is still &quot;no&quot;, as other contributors have indicated.  The question itself is metamathematical, which is why I like it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Mathematics and physics are different epistemological universes, and never the twain shall meet.  A mathematical universe is constructed of 1) definitions (like the integers) 2) axioms and 3) rules from contracting new true statements from known true statements (like Modus Ponens, which dictates that A-&gt;B and A together imply B).  Physical objects have no entry into such universe.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The physical universe is matter -- and, as Schopenhauer said, matter is causality and causality is matter.  Mathematical objects and proofs do not have any impact as such on the physical world (though there can be impacts of people believing in mathematical claims and their proofs). Science consists of systems that describe, more or less faithfully, observable phenomena of the physical world.  I think Karl Popper captured this epistemology best in his theory of empirical falsification. Science utilizes mathematics in its descriptions, but science is not itself the phenomenal world.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Natural phenomena do not have to obey our mathematics, and our mathematics cannot be proved true or false by the physical world.  But it is no accident that mathematics seems to capture aspects of what we observe -- we made it that way.  The phenomenal world inspired the definitions that are the stuff of the mathematical universe.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is not so surprising that this question arises in computer science, since the computer is the ultimate &lt;em&gt;physical object&lt;/em&gt; for mimicking the &lt;em&gt;mathematical world&lt;/em&gt;.  &lt;/p&gt;&#xA;" OwnerUserId="28934" LastActivityDate="2015-08-26T04:26:19.980" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32379" PostTypeId="2" ParentId="32367" CreationDate="2015-08-26T07:50:33.357" Score="1" Body="&lt;p&gt;Yes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider an exact assignment as described in your second paragraph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If any edge has a weight $w_{a,b} &amp;gt; c_{a,b}$ there must be an indirect path with total path weight $c_{a,b}$, This means the direct edge $ab$ will not be part of any minimal path.  We can lower the weight to $w_{a,b} = c_{a,b}$ without changing this.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Therefore, if an exact assignment exists, $w_{a,b} = c_{a,b}$ (for all a,b) will be an exact assignment.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is clear that this is the unique assignment with minimal total weight.&lt;/p&gt;&#xA;" OwnerUserId="35277" LastEditorUserId="35277" LastEditDate="2015-08-31T18:07:07.797" LastActivityDate="2015-08-31T18:07:07.797" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="32380" PostTypeId="2" ParentId="32374" CreationDate="2015-08-26T08:04:47.840" Score="17" Body="&lt;p&gt;Interestingly, there is a nascent mathematisation of version control systems, although at this point it's only partially applicable to Git. It's called &lt;strong&gt;patch theory&lt;/strong&gt; [1, 2, 3, 4, 5] and  arose in the context of the DARCS version control system. It can be seen as an abstract theory of &lt;a href=&quot;https://en.wikipedia.org/wiki/Branching_(revision_control)&quot;&gt;branching&lt;/a&gt; and &lt;a href=&quot;https://en.wikipedia.org/wiki/Merge_(revision_control)&quot;&gt;merging&lt;/a&gt;. Recently patch theory has been given HoTT [ 6 ] and categorical [ 7 ] treatments. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Patch theory is work in progress, and doesn't cover all aspects of version control, but contains a lot of theorems that you could look at. It is a clear example of theory that's applicable to the 'real world' -- not surprising, for patch theory is an abstraction / simplification of something very concrete. At the same time it connects with cutting-edge maths like HoTT.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;J. Dagit, &lt;a href=&quot;https://ir.library.oregonstate.edu/xmlui/bitstream/handle/1957/11180/thesis.pdf&quot;&gt;Type-Correct Changes - A Safe Approach to Version Control Implementation&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;G. Sittampalam, &lt;a href=&quot;https://urchin.earth.li/darcs/ganesh/darcs-patch-theory/theory/formal.pdf&quot;&gt;Some properties of darcs patch theory&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;I. Lynagh, Camp Path Theory.&lt;/li&gt;&#xA;&lt;li&gt;D. Roundy, Implementing the darcs patch formalism ... and verifying it.&lt;/li&gt;&#xA;&lt;li&gt;J. Jacobson, &lt;a href=&quot;ftp://ftp.math.ucla.edu/pub/camreport/cam09-83.pdf&quot;&gt;A Formalization Of Darcs Patch Theory Using Inverse Semigroups&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;C. Angiuli, E. Morehouse, D. R. Licata, R. Harper, &lt;a href=&quot;https://www.cs.cmu.edu/~rwh/papers/htpt/paper.pdf&quot;&gt;Homotopical Patch Theory&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;li&gt;S. Mimram, C. Di Giusto, &lt;a href=&quot;http://arxiv.org/abs/1311.3903&quot;&gt;A Categorical Theory of Patches&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="898" LastEditorUserId="898" LastEditDate="2015-08-26T14:35:10.533" LastActivityDate="2015-08-26T14:35:10.533" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32381" PostTypeId="2" ParentId="32318" CreationDate="2015-08-26T14:14:57.590" Score="9" Body="&lt;p&gt;The probability is 0.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This follows from the following theorem (see Theorem 5.33 in Grimmett's Probability on Graphs, &lt;a href=&quot;http://www.statslab.cam.ac.uk/~grg/books/USpgs-rev3.pdf&quot;&gt;http://www.statslab.cam.ac.uk/~grg/books/USpgs-rev3.pdf&lt;/a&gt;):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Theorem&lt;/strong&gt; Consider bond percolation on $\mathbb Z^2$, where each edge between lattice points is open with probability $\frac12$. The probability that the origin is in an infinite connected component is 0.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We can reduce from our problem to this problem: basically it is just 2 disjoint (but dependent) copies of bond percolation on $\mathbb Z^2$. Consider the configuration $D_1$ where the edges form an infinite lattice of diamonds containing the origin. If we flip all edges, we get another infinite lattice of diamonds $D_2$. Consider the intersection of the actual configuration with $D_1$ and with $D_2$. Each of these is exactly the model of bond percolation on $\mathbb Z^2$, just rotated $45^{\circ}$. The probability that any point is in the infinite cluster is hence 0 (No edge in $D_1$ can be connected to an edge in $D_2$.). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;To conclude, note that the sum of a countable number of events with probability 0 has probability 0; sum over the probability that any lattice point is in an infinite cluster.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(The existence of arbitrarily large components is a red herring. One should fix a point, and ask if it's in an unbounded component.)&lt;/p&gt;&#xA;" OwnerUserId="20907" LastEditorUserId="20907" LastEditDate="2015-08-26T14:21:59.390" LastActivityDate="2015-08-26T14:21:59.390" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32382" PostTypeId="2" ParentId="32352" CreationDate="2015-08-26T17:16:37.133" Score="2" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;For example, I'm wondering what would happen if someone someday proved P != NP under the assumption of the second law of thermodynamics.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;the premise of the question is research-oriented but somewhat mixed up/ backwards in the following sense. a deep connection between thermodynamics and CS complexity has indeed been demonstrated in the area of &quot;spin glasses&quot; where the process of magnetic orientations settling during cooling closely mimics the phase transition found in SAT, and this connection continues to be explored and is regarded as much more meaningful than merely coincidental. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;in a sense computational &quot;hardness&quot; seems to be an &quot;explanation&quot; or basic mathematical model for a fundamental thermodynamic process. also thermodynamics has the proscription against perpetual energy machines but which can also be seen as a general constraint against machines that cannot exceed certain &quot;physical speed limits&quot;. if P!=NP then a physical machine that solved NP problems in P time could not exist and would &quot;defy the laws of physics&quot; namely in the &quot;speed&quot; at which it &quot;manipulates information&quot;. but many physicists are concluding the laws of physics apparently essentially come down to manipulation of information. so in short, quite possibly the trend is that computational complexity theory will in the future better explain fundamental thermodynamics laws.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;more detail, see eg this Phd thesis (2013): &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://helda.helsinki.fi/bitstream/handle/10138/40195/landau_daniel_gradu.pdf?sequence=2&quot; rel=&quot;nofollow&quot;&gt;Spin Glasses, Boolean Satisfiability, and Survey Propagation&lt;/a&gt; / Laundau&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2015-08-26T17:16:37.133" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32383" PostTypeId="2" ParentId="16103" CreationDate="2015-08-27T06:58:31.590" Score="1" Body="&lt;p&gt;Ok, according to the paper &lt;a href=&quot;http://people.seas.harvard.edu/~valiant/focs06.pdf&quot; rel=&quot;nofollow&quot;&gt;Accidental algorithms&lt;/a&gt; by Valiant, the  problem ⊕Pl-3/2Bip-Mon-2CNF is ⊕P-complete. So ⊕ 3-REGULAR PLANAR VERTEX COVER would also have to be ⊕P-complete. So it's not in P (unless P = ⊕P-complete).&#xA;But I still don't know if ⊕ 3-REGULAR BIPARTITE PLANAR VERTEX COVER is ⊕P-complete.&lt;/p&gt;&#xA;" OwnerUserId="35268" LastEditorUserId="879" LastEditDate="2015-08-31T11:23:28.483" LastActivityDate="2015-08-31T11:23:28.483" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32385" PostTypeId="1" CreationDate="2015-08-27T13:35:55.873" Score="11" ViewCount="475" Body="&lt;p&gt;Given a DAG (directed acyclic graph) $D$, with sources $S$ and sinks $T$.&#xA;Find a DAG $D'$, with sources $S$ and sinks $T$, with minimum number of edges such that:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For all pairs $u \in S, v \in T$ there is a path from $u$ to $v$ in $D$ if and only if there is a path from $u$ to $v$ in $D'$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One application of this is representing a set family by a DAG.&#xA;For such a representation each source is a variable in the universe and each sink is a set in the set family, and a element u is in a set S if and only if there is a path from the vertex representing u to the vertex representing the set S.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is this problem well known?&#xA;Is there a polynomial algorithm for this problem?&lt;/p&gt;&#xA;" OwnerUserId="8936" LastEditorUserId="8936" LastEditDate="2015-08-28T07:55:28.317" LastActivityDate="2015-11-22T10:36:06.900" Title="Minimum equivalent digraph with respect to sources and sinks" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;" AnswerCount="1" CommentCount="10" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="32386" PostTypeId="2" ParentId="32373" CreationDate="2015-08-27T15:12:44.553" Score="7" Body="&lt;p&gt;No, no such &lt;em&gt;natural&lt;/em&gt; problem is known. The reason is that, as far as I know, &lt;a href=&quot;https://cstheory.stackexchange.com/a/21274/129&quot;&gt;all natural $\mathsf{NP}$-complete problems are known to be p-isomorphic to SAT&lt;/a&gt;, and the Cook-Levin Theorem in fact shows that SAT is complete for $\mathsf{NP}$ under one-one reductions. Combining the one-one reduction to SAT with a p-isomorphism gives a one-one reduction to any p-isomorphic problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In fact, even the potential &quot;unnatural&quot; counterexamples to the Isomorphism Conjecture - the k-creative sets of &lt;a href=&quot;http://dx.doi.org/10.1016/0304-3975(85)90140-9&quot; rel=&quot;nofollow noreferrer&quot;&gt;Joseph and Young&lt;/a&gt;'s Theorem 2.2 - are complete under one-one reductions by construction.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[Repeated from my comment &lt;a href=&quot;https://cstheory.stackexchange.com/a/172/129&quot;&gt;here&lt;/a&gt;:] Since most many-one reductions we build are in fact one-one reductions, why don't we study those when they are formally stronger and we get them most of the time anyways? I think because it's simpler not to have to bother proving injectivity, even though we usually have it. In that sense, maybe many-one reductions are sort of the &quot;Goldilocks reductions:&quot; just the right power, just the right simplicity of proof.&lt;/p&gt;&#xA;" OwnerUserId="129" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2015-08-27T15:12:44.553" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="32388" PostTypeId="1" CreationDate="2015-08-27T15:53:45.440" Score="2" ViewCount="74" Body="&lt;p&gt;What is the relation between number $0$-monochromatic rectangles in characteristic matrix and communication complexity? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is the relation between number $1$-monochromatic rectangles in characteristic matrix and communication complexity?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Precisely how does this connect to logrank conjecture?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is the number of $0$-monochromatic rectangles always almost same as $1$-monchromatic rectangles?&lt;/p&gt;&#xA;" OwnerUserId="1812" LastEditorUserId="1812" LastEditDate="2015-08-27T20:18:04.393" LastActivityDate="2015-08-27T20:18:04.393" Title="Number of $0/1$-monochromatic rectangles and communication complexity" Tags="&lt;communication-complexity&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32389" PostTypeId="2" ParentId="32374" CreationDate="2015-08-27T18:58:01.420" Score="4" Body="&lt;p&gt;Another alternative is to look at persistent (or purely functional) data structures. Git's internal data structure can be seen as a &lt;a href=&quot;https://en.wikipedia.org/w/index.php?title=Persistent_data_structure&amp;amp;oldid=668365743#Trees&quot; rel=&quot;nofollow noreferrer&quot;&gt;confluently persistent tree&lt;/a&gt;:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;a persistent data structure is a data structure that always preserves the previous version of itself when it is modified. Such data structures are effectively immutable, as their operations do not (visibly) update the structure in-place, but instead always yield a new updated structure.&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;A data structure is partially persistent if all versions can be accessed but only the newest version can be modified. The data structure is fully persistent if every version can be both accessed and modified. If there is also a meld or merge operation that can create a new version from two previous versions, the data structure is called confluently persistent.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;This &lt;a href=&quot;https://cstheory.stackexchange.com/questions/1539/whats-new-in-purely-functional-data-structures-since-okasaki&quot;&gt;question&lt;/a&gt; is relevant too.&lt;/p&gt;&#xA;" OwnerUserId="503" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.743" LastActivityDate="2015-08-27T19:03:09.500" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32390" PostTypeId="1" CreationDate="2015-08-27T19:50:02.330" Score="3" ViewCount="251" Body="&lt;p&gt;I have to solve an independent set problem (ISP) on dense graphs with many cliques. To tackle the problem, I'm considering to use graph decompositions such as tree-, modular decomposition or &lt;a href=&quot;https://de.wikipedia.org/wiki/Cliquenweite&quot; rel=&quot;nofollow&quot;&gt;clique-width k-expression&lt;/a&gt; trees. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there some decompositions (or other techniques) favorable for my type of graphs?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;From what I understand, considering e.g. the tree-decomposition, the ISP can be solved in $\mathcal{O}(n2^k)$ where $n$ is number of vertices of the tree and $k$ the tree-width. Moreover, the tree-width is a measure of how similar a graph is to a tree. From this, I concluded that a graph which is not very similar to tree (maybe just like mine) has a large tree-width and, hence, the tree-decomposition is maybe not a favorable decomposition to solve the ISP.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is e.g. the clique-width k-expression tree more suitable for my case? &lt;/p&gt;&#xA;" OwnerUserId="35296" LastActivityDate="2015-10-25T22:28:15.003" Title="Favorable graph decomposition for dense graphs to solve independent set problem" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;" AnswerCount="2" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32391" PostTypeId="2" ParentId="22018" CreationDate="2015-08-27T20:47:21.753" Score="1" Body="&lt;p&gt;John Sowa (probably the foremost expert on knowledge representation) gives a thorough discussion of the subject here:&#xA;&lt;a href=&quot;http://www.jfsowa.com/ontology/causal.htm&quot; rel=&quot;nofollow&quot;&gt;Sowa&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="13286" LastActivityDate="2015-08-27T20:47:21.753" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32393" PostTypeId="1" CreationDate="2015-08-27T21:40:46.203" Score="11" ViewCount="259" Body="&lt;p&gt;I wonder, what would happen, if in the definition of $PH$ (Polynomial Hierarchy, see, e.g., &lt;a href=&quot;https://en.wikipedia.org/wiki/Polynomial_hierarchy&quot;&gt;here&lt;/a&gt;), the role of $NP$ would be replaced by $RP$? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It seems, we could still build a hierarchy, the same way as $PH$ is built, just using $RP$ everywhere instead of $NP$, and $coRP$ instead of $coNP$. Let us call it Randomized Polynomial Hierarchy ($RPH$). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;My first guess is that $RPH\subseteq BPP$, or maybe $RPH=BPP$. It is based on the known  fact that $NP=RP$ implies $PH=BPP$. Nevertheless, if $P\neq RP$, then $RPH$ could still be a proper, infinite hierarchy within $BPP$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course, the edge of the issue is blunted by the fact that $P=RP$ is conjectured (even $P=BPP$), which would flatten $RPH$ into $P$.  However, $P=RP$  is not known at this time, and it has resisted all proof attempts so far. Therefore,  $RPH$ still has at least some chance to be a proper hierarchy.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;While $RPH$, admittedly, has a good chance to be &quot;flat,&quot; could the concept still be useful for something nontrivial? Here is an example: if one can prove $RPH=BPP$, then it would yield that $P=RP$ implies $P=BPP$, which, I think,  would be an interesting result.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is anything known about this?&lt;/p&gt;&#xA;" OwnerUserId="12710" LastActivityDate="2015-08-28T12:05:17.927" Title="Randomized Polynomial Hierarchy?" Tags="&lt;cc.complexity-theory&gt;&lt;randomized-algorithms&gt;&lt;randomness&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="32394" PostTypeId="1" AcceptedAnswerId="32425" CreationDate="2015-08-28T00:06:14.580" Score="3" ViewCount="183" Body="&lt;p&gt;I'm trying to find a low distortion embedding of the trivial metric space into hamming space.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It seems this should be doable by using a large set of low dimensional vectors, with approximately equal pairwise distance.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is if it makes sense to expect error correcting codes to have this property?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Usually when designing error correcting codes, we are interested in finding the highest achievable rate, given a minimum distance between points. A similar question is to consider, instead of the minimum distance, the ratio between the maximum and minimum distance, $\rho=max/min$. Given $\rho$, what codes should one consider for maximizing the rate?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I tried to count the distances in some of the codes from &lt;a href=&quot;http://koti.kapsi.fi/pottonen/codes/&quot; rel=&quot;nofollow&quot;&gt;this list of optimal binary codes&lt;/a&gt;:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The $(7,2^3,4)$ code has all distances equal to four, so $\rho=1$. &lt;/li&gt;&#xA;&lt;li&gt;The $(8,2^4,4)$ code has $112$ pairs of distance $4$ and $8$ of distance $8$, so it has $\rho=2$. &lt;/li&gt;&#xA;&lt;li&gt;The $(9,40,3)$ code has maximum distance $8$, so $\rho=8/3$.&lt;/li&gt;&#xA;&lt;li&gt;The $(24,2^{12},8)$ golay code has maximum distance $24$, so $\rho=3$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The two later codes are nearly as bad as possible. Are there any codes for which I shouldn't expect this to be the case? If not, can I at least say something about the distribution of distances being fairly concentrated?&lt;/p&gt;&#xA;" OwnerUserId="4310" LastEditorUserId="4310" LastEditDate="2015-08-31T19:56:52.520" LastActivityDate="2015-09-01T11:08:01.297" Title="Are there Similar Distance Binary Error Correcting Codes?" Tags="&lt;graph-theory&gt;&lt;coding-theory&gt;&lt;metrics&gt;&lt;embeddings&gt;&lt;metric-spaces&gt;" AnswerCount="2" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="32395" PostTypeId="1" CreationDate="2015-08-28T07:37:09.487" Score="4" ViewCount="93" Body="&lt;p&gt;In one sense, $P$ vs. $PSPACE$ is the &quot;easiest&quot; first step to showing $P \neq NP$... and this is one you hear often about. In a different sense, you could take $L$ at one end and then $PH$ at the other. Is anything known about this question, whether $L \stackrel{?}{=} PH$? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is this separation guaranteed by $L \neq PSPACE$, and so the weakest unanswered questions are when you circumvent the time- and space-hierarchy theorems by either asking to strengthen the lower side into a time-bound class (giving $P \stackrel{?}{=} PSPACE$), or by weakening the harder side into a time-bound class (giving $L \stackrel{?}{=} PH$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It seems that I only ever hear about the first question though, and not the latter. Besides the question of the actual relation between the two classes, is there a reason why one question is so much more popular than the other?&lt;/p&gt;&#xA;" OwnerUserId="12211" LastActivityDate="2015-08-28T07:37:09.487" Title="Are there any non-relativized separations between $L$ and $PH$?" Tags="&lt;polynomial-hierarchy&gt;&lt;logspace&gt;&lt;separation&gt;" AnswerCount="0" CommentCount="5" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32396" PostTypeId="2" ParentId="32394" CreationDate="2015-08-28T08:33:10.927" Score="0" Body="&lt;p&gt;Hadamard code [Sylvester Hadamard Matrices] has length $2^n$, $2^n$ codewords (if you take only the so called linear codewords but not their opposites) and minimum distance $2^{n-1}.$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Simplex code has similar parameters and is constant distance.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Justesen codes are a concatenated construction that give fixed distance.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are codes with few distances as well, e.g., the Golay code.&lt;/p&gt;&#xA;" OwnerUserId="21948" LastEditorUserId="21948" LastEditDate="2015-08-28T09:05:13.420" LastActivityDate="2015-08-28T09:05:13.420" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="32397" PostTypeId="2" ParentId="32393" CreationDate="2015-08-28T09:20:23.533" Score="8" Body="&lt;p&gt;Clearly, $\mathrm{RPH}\subseteq\mathrm{BPP}$. On the other hand, $\mathrm{BPP}=\mathrm{ZPP^{promiseRP}}$ (&lt;a href=&quot;http://dx.doi.org/10.1007/3-540-49116-3_9&quot;&gt;Buhrman&amp;amp;Fortnow&lt;/a&gt;, &lt;a href=&quot;http://people.cs.uchicago.edu/~fortnow/papers/rpvsbpp.pdf&quot;&gt;pdf&lt;/a&gt;), so the only way the hierarchy didn’t collapse to (at most) the second level and didn’t exhaust $\mathrm{BPP}$ would be for the  unlikely reason that $\mathrm{RP}$ oracles were significantly weaker than $\mathrm{promiseRP}$ oracles.&lt;/p&gt;&#xA;" OwnerUserId="6959" LastEditorUserId="6959" LastEditDate="2015-08-28T12:05:17.927" LastActivityDate="2015-08-28T12:05:17.927" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32399" PostTypeId="2" ParentId="19550" CreationDate="2015-08-28T11:57:42.943" Score="6" Body="&lt;p&gt;The answer to the second question is yes, beta-reduction is harder to imitate than beta-eta-reduction.  There is an article by J P Seldin in &quot;Theoretical Computer Science&quot; (2011) I think that discusses the problems to which beta-reduction gives rise.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As to the question, &quot;could we use strong reduction to evaluation lambda terms?&quot;, the correspondence is not as neat as you might wish.  There is a mapping called the H-transformation that takes lambda terms to combinatory terms and which preserves the relation &quot;reduces to&quot;, but it is not one-to-one and therefore not invertible.  So if you start with a lambda term M and find its image H(M) under the H-transformation and you can reduce H(M) to a normal form, you will know that M also has a normal form, but it may not be entirely easy to find it.  In the other direction, there is a mapping called the lambda-transformation that takes combinatory terms to lambda terms but it is not onto and is not the inverse of the H-transformation.  It also does not preserve the reduction relation, unlike the H-transformation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;All the above information is found in sections 6E and 6F of &quot;Combinatory Logic Volume I&quot; by Curry and Feys and in chapter 9 of &quot;Lambda Calculus and Combinators&quot; by Hindley and Seldin.  Hindley also wrote an article published in MLQ in 1977 that discusses these things in more detail.&lt;/p&gt;&#xA;" OwnerUserId="35305" LastActivityDate="2015-08-28T11:57:42.943" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32400" PostTypeId="2" ParentId="14790" CreationDate="2015-08-28T15:15:08.967" Score="2" Body="&lt;p&gt;Agrawal and Biswas presented an NP-complete language for which there is no known  Karp or Cook reduction. The proof of completeness follows because its witness relation is universal ( the witness relation has the required join and equivalence operators needed to be universal). The language is given in section 6.3 in the reference.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;M.Agrawal,S.Biswas, &lt;a href=&quot;http://ieeexplore.ieee.org/xpl/articleDetails.jsp?arnumber=215395&quot; rel=&quot;nofollow&quot;&gt;Universal relations&lt;/a&gt; in Proceedings IEEE Conferenceon Structure in Complexity Theory (1992), pp. 207–220.&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2015-08-29T08:15:34.457" LastActivityDate="2015-08-29T08:15:34.457" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="32401" PostTypeId="1" AcceptedAnswerId="32402" CreationDate="2015-08-28T16:55:20.333" Score="4" ViewCount="307" Body="&lt;p&gt;Here's my problem,&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Problem:&lt;/strong&gt; Given a weighted undirected graph $G=(V,E,w)$ with weight function $w:E\rightarrow\mathbb{R}$ and an integer $k$, find a cut $S$ of graph $G$ such that $|S| \leq k$ and maximize the total weight of edges crossing the cut $S$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;This is a real world problem in Genetics. With the number of vertices, $|V|$, about 1,600, and $k$ about 15.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Each vertices in $G$ is a person, and edges are how much two people are &lt;em&gt;related&lt;/em&gt; (&lt;a href=&quot;https://en.wikipedia.org/wiki/Coefficient_of_relationship&quot; rel=&quot;nofollow&quot;&gt;kinship coefficient&lt;/a&gt;). We want to pick people to do a full genome (DNA) sequence so that we maximize the amount of DNA shared between the selected people and the rest of the pedigree, but we also don't want to spend money to sequence every people.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Approximation algorithm is okay.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Do you know any algorithm or paper that might help me with this problem?&lt;/p&gt;&#xA;" OwnerUserId="35309" LastEditorUserId="5385" LastEditDate="2015-08-29T14:16:47.160" LastActivityDate="2015-08-29T14:16:47.160" Title="Maximum size-k cut" Tags="&lt;reference-request&gt;&lt;graph-algorithms&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32402" PostTypeId="2" ParentId="32401" CreationDate="2015-08-28T23:21:12.123" Score="2" Body="&lt;p&gt;This is a special case of non-monotone submodular maximization with a cardinality constraint, and constant factor approximation algorithms are known. For example, &lt;a href=&quot;http://theory.epfl.ch/moranfe/Publications/FOCS2011.pdf&quot; rel=&quot;nofollow&quot;&gt;Feldman, Naor, and Schwartz&lt;/a&gt; get a factor 1/e, and improve this further in a &lt;a href=&quot;http://theory.epfl.ch/moranfe/Publications/SODA2014.pdf&quot; rel=&quot;nofollow&quot;&gt;subsequent paper with Buchbinder&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="4896" LastActivityDate="2015-08-28T23:21:12.123" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="32403" PostTypeId="1" AcceptedAnswerId="32404" CreationDate="2015-08-29T00:52:04.947" Score="20" ViewCount="2263" Body="&lt;p&gt;I have two historical questions:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Who first described nondeterministic computation?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I know that Cook described NP-complete problems, and &#xA;that Edmonds proposed that P algorithms are &quot;efficient&quot; or &quot;good&quot; algorithms.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I searched &lt;a href=&quot;https://en.wikipedia.org/wiki/Computational_complexity_theory&quot;&gt;this&lt;/a&gt; Wikipedia article and &#xA;skimmed &quot;On the Computational Complexity of Algorithms,&quot; &#xA;but couldn't find any reference to when nondeterministic computation was first discussed.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What was the first reference to the class NP? Was it Cook's 1971 paper?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="1338" LastEditorUserId="186" LastEditDate="2015-08-29T05:44:00.673" LastActivityDate="2015-09-02T11:31:55.657" Title="Who introduced nondeterministic computation?" Tags="&lt;reference-request&gt;&lt;soft-question&gt;&lt;ho.history-overview&gt;&lt;nondeterminism&gt;" AnswerCount="3" CommentCount="5" FavoriteCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="32404" PostTypeId="2" ParentId="32403" CreationDate="2015-08-29T01:35:01.410" Score="31" Body="&lt;p&gt;I have always seen the notion of nondeterminism in computation attributed to Michael Rabin and Dana Scott. They defined nondeterministic finite automata in their famous paper &lt;a href=&quot;http://ieeexplore.ieee.org/xpl/articleDetails.jsp?arnumber=5392601&quot;&gt;Finite Automata and Their Decision Problems&lt;/a&gt;, 1959. Rabin's &lt;a href=&quot;http://amturing.acm.org/award_winners/rabin_9681074.cfm&quot;&gt;Turing Award citation&lt;/a&gt; also suggests that Rabin and Scott introduced nondeterministic machines.&lt;/p&gt;&#xA;" OwnerUserId="4896" LastEditorUserId="186" LastEditDate="2015-08-29T05:45:05.083" LastActivityDate="2015-08-29T05:45:05.083" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32405" PostTypeId="2" ParentId="32403" CreationDate="2015-08-29T04:43:33.600" Score="11" Body="&lt;p&gt;Here is what Odifreddi says on the issue:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&quot;Our model of a Turing machine is deterministic, &#xA;  in the sense that the instructions are required to be consistent &#xA;  (at most one of them is applicable in any given situation). &#xA;  Randomizing elements in computing devices were introduced early on by &#xA;  Shannon [1948] and De Leeuw, Moore, Shannon and Shapiro [1956]. &#xA;  There are basically two models.&#xA;  Nondeterministic Turing machines behave, &#xA;  in an ambiguous situation &#xA;  where conflicting instructions might be applicable, &#xA;  by randomly choosing one of them: &#xA;  their computational power, at least for 0,1-valued functions (sets), &#xA;  does not exceed the power of deterministic ones. &#xA;  Probabilistic machines differ from nondeterministic ones in that &#xA;  the next state has a probability, and thus conflicting instructions &#xA;  do not have the same chance of being chosen by the machine.&quot;&lt;br&gt;&#xA;  [P. Odifreddi, Classical Recursion Theory, Vol. 1, page 50]&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Note that the notion of nondeterminism in the sense of &#xA;&quot;there exists + verifier&quot; existed in computability theory long before complexity theory, &#xA;e.g. &lt;a href=&quot;https://en.wikipedia.org/wiki/Kleene%27s_T_predicate&quot; rel=&quot;nofollow&quot;&gt;Kleene's normal form&lt;/a&gt;, &lt;a href=&quot;https://en.wikipedia.org/wiki/Arithmetical_hierarchy&quot; rel=&quot;nofollow&quot;&gt;arithmetical hierarchy&lt;/a&gt;.&#xA;Other models of computation like&#xA;&lt;a href=&quot;https://en.wikipedia.org/wiki/Post_canonical_system&quot; rel=&quot;nofollow&quot;&gt;Post canonical systems&lt;/a&gt; (known at least since 1943) and grammars are also nondeterministic.&#xA;I think one can even push the notion to the time of Hilbert's &lt;a href=&quot;http://plato.stanford.edu/entries/epsilon-calculus/&quot; rel=&quot;nofollow&quot;&gt;epsilon calculus&lt;/a&gt; and choice operators.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;About NP, I asked Steve Cook. &#xA;The name NP for the class of nondeterministic polynomial-time computable problems &#xA;was introduced by Richard Karp in his famous 1972 paper.&#xA;Cook refers to the class of polynomial time nondeterministic Turing machine computable problems in his famous 1971 paper which defines polynomial time reductions and shows that there are complete problems, but without giving a name to the class.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Before his paper there was not much interest in problems computable in polynomial time by nondeterministic Turing machines,&#xA;only after Karp's paper it became clear that so many natural problems are in NP.&#xA;After Cook's paper some people got interested,&#xA;particularly two who got interested early on (before Karp's paper came out)&#xA;were &lt;a href=&quot;https://en.wikipedia.org/wiki/Michael_O._Rabin&quot; rel=&quot;nofollow&quot;&gt;Michael Rabin&lt;/a&gt; and &lt;a href=&quot;https://en.wikipedia.org/wiki/Allan_Borodin&quot; rel=&quot;nofollow&quot;&gt;Allan Borodin&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Karp's 1972 paper surprised people by showing how pervasive NP-completeness is&#xA;among natural problems.&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2015-09-01T19:35:07.480" LastActivityDate="2015-09-01T19:35:07.480" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="32406" PostTypeId="1" CreationDate="2015-08-29T05:06:37.760" Score="10" ViewCount="364" Body="&lt;p&gt;The following λ-term, here in normal form:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;sort = (λabc.(a(λdefg.(f(d(λhij.(j(λkl.(k(λmn.(mhi))l))&#xA;       (h(λkl.l)i)))(λhi.(i(λjk.(bd(jhk)))(bd(h(λjk.(j&#xA;       (λlm.m)k))c)))))e))(λde.e)(λde.(d(λfg.g)e))c))&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Implements a sorting algorithm for church-encoded lists. That is, the result of:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;sort (λ c n . (c 3 (c 1 (c 2 n)))) β→ (λ c n . (c 1 (c 2 (c 3 n))))&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Similarly,&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;sort_below = λabcd.a(λef.f(λghi.g(λj.h(λkl.kj(ikl)))(hi))e(λgh.h))&#xA;            (λe.d)(λe.b(λf.e(f(λghi.hg)(λgh.cfh))))&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Also implements sorting for the same lists as above, except you must provide an additional argument with a limit for the numbers it will consider:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;sort_below 4 [5,1,3,2,4] → [1,2,3]&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;I am trying to determine whether those terms are typeable on elementary affine logic. Since I don't know any EAL type-checker publicly available, this is proving a harder task than I expected. Is there a type for &lt;code&gt;sort&lt;/code&gt; in elementary affine logic?&lt;/p&gt;&#xA;" OwnerUserId="17388" LastEditorUserId="7931" LastEditDate="2016-02-04T14:44:33.360" LastActivityDate="2016-02-04T14:44:33.360" Title="Is `sort` typeable on elementary affine logic?" Tags="&lt;lo.logic&gt;&lt;lambda-calculus&gt;&lt;type-systems&gt;" AnswerCount="1" CommentCount="11" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="32407" PostTypeId="2" ParentId="32403" CreationDate="2015-08-29T09:42:57.833" Score="7" Body="&lt;p&gt;&lt;strong&gt;Rabin&lt;/strong&gt; and &lt;strong&gt;Scott&lt;/strong&gt; introduced the nondeterministic finite automata with their research paper published in IBM journal, April 1959. In the paper they mentioned:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;we have adopted an even simpler form of the definition&#xA;  by doing away with a complicated output function and&#xA;  having our machines simply give “yes” or “no” answers.&#xA;  This was also used by Myhill, but our &lt;strong&gt;generalizations&lt;/strong&gt; to&#xA;  the &lt;strong&gt;“nondeterministic,”&lt;/strong&gt; “two-way,” and “many-tape”&#xA;  machines seem to be &lt;strong&gt;new&lt;/strong&gt;. &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Whole paper can be seen here: &lt;a href=&quot;http://www.cse.chalmers.se/~coquand/AUTOMATA/rs.pdf&quot; rel=&quot;nofollow&quot;&gt;http://www.cse.chalmers.se/~coquand/AUTOMATA/rs.pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="35319" LastEditorUserId="1151" LastEditDate="2015-09-02T11:31:55.657" LastActivityDate="2015-09-02T11:31:55.657" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32408" PostTypeId="1" CreationDate="2015-08-29T15:43:30.403" Score="2" ViewCount="196" Body="&lt;p&gt;I am new to this subject so this question might seem a bit trivial&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assume that in each round $t\in{{1,...T}}$ we choose $x_t\in K $ where $K$ is a compact and convex set, The common methods for example Online gradient descent guarantees a sub-linear regret &#xA;(Assuming that our loss functions are convex). However does it guarantees a convergence  $x_t \rightarrow x_*$ where  $x_*$ is the best choice in hindsight? and in which rate?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If the answer is yes I will be greatful if you will provide me some reference&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks&lt;/p&gt;&#xA;" OwnerUserId="35323" LastActivityDate="2015-09-01T14:38:31.303" Title="Convergence of online convex optimization methods" Tags="&lt;machine-learning&gt;&lt;convex-optimization&gt;&lt;online-algorithms&gt;" AnswerCount="0" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32410" PostTypeId="1" CreationDate="2015-08-29T19:05:39.713" Score="4" ViewCount="219" Body="&lt;p&gt;What are implications of $\mathsf{P}\neq\mathsf{NP}$ in $\mathsf{BSS}$ model to $\mathsf{Turing}$ model and $\mathsf{Valiant's}$ counting complexity model?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In opposite direction what are implications of $\mathsf{P}=\mathsf{NP}$ in $\mathsf{BSS}$ model to $\mathsf{Turing}$ model and $\mathsf{Valiant's}$ counting complexity model?&lt;/p&gt;&#xA;" OwnerDisplayName="user34945" LastActivityDate="2018-01-05T13:24:12.490" Title="Implications of $\mathsf{P}\neq\mathsf{NP}$ in $\mathsf{BSS}$ model" Tags="&lt;p-vs-np&gt;&lt;machine-models&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="32411" PostTypeId="1" CreationDate="2015-08-29T19:08:46.827" Score="4" ViewCount="117" Body="&lt;p&gt;I am very confused, so this might not make sense. I am following the exposition in the polynomial hierarchy chapter of &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0201530821&quot; rel=&quot;nofollow&quot;&gt;Papadimitriou's textbook&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We are in the function-problem world. The problem CLIQUE-SIZE &quot;given a graph, find the size of its maximum clique&quot; is not thought to be $FP^{NP}$-complete since it can be solved by logarithmically many calls to an NP-oracle through binary search. This puts CLIQUE-SIZE in $FP^{NP[\log(n)]}$, and the problem is known to be complete for this class.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, MAX-WEIGHTED-SAT is known to be $FP^{NP}$-complete. This is the problem &quot;given a CNF-formula with binary clause weights, find an &lt;em&gt;assignment&lt;/em&gt; maximising the weight of satisfied clauses&quot;. Now we seem to be able to solve this question in $O(n^2)$ calls to an NP-oracle, where $n$ is the input size. (See below for why I think this). Hence this problem is in $FP^{NP[n^2]}$, which suggests that $FP^{NP[n^2]} = FP^{NP}$. Is that right? If so, for which (nice) functions $f(n)$ do we have $FP^{NP[f(n)]} = FP^{NP}$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/0022000088900396&quot; rel=&quot;nofollow&quot;&gt;Krentel (1988, Thm 4.2)&lt;/a&gt; shows that (unless $P=NP$) we have $FP^{NP[f(n)]} \subsetneq FP^{NP[g(n)]}$ when $f$ and $g$ are smooth with $f(n) &amp;lt; g(n)$ and $f(n) \le \frac12 \log n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(To find a max-assignment in $O(n^2)$ queries: the maximum possible objective value is the sum of all weights. The logarithm of this value is $O(n)$, since all the digits of the individual weights are part of the input. Hence by binary search we can in $O(n)$ calls to an NP &quot;MAX-WEIGHTED-SAT $\ge k$&quot;-oracle find the maximum possible weight. Now go through the $O(n)$ variables in the formula one-by-one, set them false, and check whether this decreased the possible objective value. If so, set it true, otherwise leave it false. Go to the next variable. This takes $O(n^2)$ calls.)&lt;/p&gt;&#xA;" OwnerUserId="9876" LastEditorUserId="5385" LastEditDate="2015-08-30T03:53:03.463" LastActivityDate="2015-08-30T03:53:03.463" Title="When is $FP^{NP[f(n)]}$ the same as $FP^{NP}$?" Tags="&lt;cc.complexity-theory&gt;&lt;separation&gt;" AnswerCount="0" CommentCount="4" FavoriteCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32413" PostTypeId="1" AcceptedAnswerId="32415" CreationDate="2015-08-30T10:36:11.680" Score="0" ViewCount="134" Body="&lt;p&gt;I am going through some questions and answers regarding Information Theory and I found this question and its solution. Can some one explain this solution to me.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We would like to encode a sequence of symbols that come from an alphabet with d+3 symbols. We want to encode symbols  a_1,a_2,and a_3 using code words that are three bits long and symbols a_4,a_5,…,a_(d+1) with code words that are eight bits long. What is the maximum value of d for which this will be possible, if the code must be uniquely decidable?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;and the answer is:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The codeword lengths are possible if and only if they satisfy the Kraft-MacMillan inequality,which in this case is &lt;br/&gt;&#xA;1/2^3 +1/2^3 +1/2^3 +d/2^8 &amp;lt;= 1 &lt;br/&gt;&#xA;This is equivalent to &lt;br/&gt;&#xA;d/256&amp;lt;=5/8&lt;br/&gt;&#xA;which is equivalent to d&amp;lt;=160. The maximum value possible value of d is therefore 160.&lt;br/&gt;&#xA;what is the function d+3 , and where we used it . How 5/8 appears in equation.&lt;br/&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is the effect of d+3 symbols on all this scenario. If I change it to d+1, what is the effect of it&lt;/p&gt;&#xA;" OwnerUserId="35330" LastEditorUserId="35330" LastEditDate="2015-08-30T12:23:03.567" LastActivityDate="2015-08-30T16:22:53.577" Title="Kraft Macmillan inequality explanation" Tags="&lt;it.information-theory&gt;" AnswerCount="1" CommentCount="1" ClosedDate="2015-09-12T03:35:58.213" ContentLicense="CC BY-SA 3.0" />
  <row Id="32414" PostTypeId="2" ParentId="32332" CreationDate="2015-08-30T11:49:25.593" Score="1" Body="&lt;p&gt;Finding mixed cycles in a mixed graph is equivalent to finding elementary directed cycles (of length &gt;=3) in the corresponding directed graph. The corresponding directed graph is obtained from the mixed graph by replacing each undirected edge by two directed edges pointing in opposite directions. &lt;strong&gt;Proof:&lt;/strong&gt; (1) Each elementary directed cycle (of length &gt;=3) in the digraph corresponds directly to a mixed cycle in the mixed graph. (2) Each mixed cycle in the mixed graph contains an elementary mixed cycle of length &gt;=3, and each such cycle corresponds directly an elementary directed cycle (of length &gt;=3) in the directed graph. (1) and (2) together prove both directions of the statement, &lt;strong&gt;qed&lt;/strong&gt;. So we are looking for references how to compute (all?) elementary cycles (of length &gt;=3) in a directed graph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The comments indicate that cs.stackexchange contains &lt;a href=&quot;https://cs.stackexchange.com/questions/33949/assign-undirected-edges-in-a-mixed-graph-to-make-graph-cyclic-acyclic&quot;&gt;some&lt;/a&gt; &lt;a href=&quot;https://cs.stackexchange.com/questions/7216/find-the-simple-cycles-in-a-directed-graph&quot;&gt;answers&lt;/a&gt; to this question, but it is unclear how to organize the results into a concise answer. This &lt;a href=&quot;https://blog.mister-muffin.de/2012/07/04/enumerating-elementary-circuits-of-a-directed_graph/&quot; rel=&quot;nofollow noreferrer&quot;&gt;blog post&lt;/a&gt; seems to nicely summarize the (most?) important references:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Algorithm by R. Tarjan&lt;/strong&gt;&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;The earliest algorithm that I included was published by R. Tarjan in 1973.&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;Enumeration of the elementary circuits of a directed graph&#xA;R. Tarjan, SIAM Journal on Computing, 2 (1973), pp. 211-216&#xA;http://dx.doi.org/10.1137/0202017&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;  &#xA;  &lt;p&gt;&lt;strong&gt;Algorithm by D. B. Johnson&lt;/strong&gt;&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;The algorithm by D. B. Johnson from 1975 improves on Tarjan's algorithm by its complexity.&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;Finding all the elementary circuits of a directed graph.&#xA;D. B. Johnson, SIAM Journal on Computing 4, no. 1, 77-84, 1975.&#xA;http://dx.doi.org/10.1137/0204007&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;  &#xA;  &lt;p&gt;In the worst case, Tarjan's algorithm has a time complexity of O(n⋅e(c+1)) whereas Johnson's algorithm supposedly manages to stay in O((n+e)(c+1)) where n is the number of vertices, e is the number of edges and c is the number of cycles in the graph.&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;&lt;strong&gt;Algorithm by K. A. Hawick and H. A. James&lt;/strong&gt;&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;The algorithm by K. A. Hawick and H. A. James from 2008 improves further on Johnson's algorithm and does away with its limitations.&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;Enumerating Circuits and Loops in Graphs with Self-Arcs and Multiple-Arcs.&#xA;Hawick and H.A. James, In Proceedings of FCS. 2008, 14-20&#xA;www.massey.ac.nz/~kahawick/cstn/013/cstn-013.pdf&#xA;http://complexity.massey.ac.nz/cstn/013/cstn-013.pdf&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;  &#xA;  &lt;p&gt;In contrast to Johnson's algorithm, the algorithm by K. A. Hawick and H. A. James is able to handle graphs containing edges that start and end at the same vertex as well as multiple edges connecting the same two vertices.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The acyclicity testing itself seems to be easy: Compute the &lt;a href=&quot;https://en.wikipedia.org/wiki/Strongly_connected_component&quot; rel=&quot;nofollow noreferrer&quot;&gt;strongly connected components&lt;/a&gt; of the graph. Any (elementary) cycle is completely contained in a strongly connected component. A strongly connected component contains an elementary cycle iff it is not an undirected tree.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;David Eppstein's proposed algorithm additionally computes one elementary cycle as evidence, and the above algorithms enumerate all elementary cycles. Any vertex or edge not contained in an elementary cycle could be deleted as a preprocessing step to improve the speed of the above algorithms. David Eppstein's algorithm could be used for that purpose, but even if only used on the strongly connected components, it won't delete every possible vertex or edge that can be deleted. But even if it could be extended to do so (computing the &lt;a href=&quot;https://en.wikipedia.org/wiki/Biconnected_component&quot; rel=&quot;nofollow noreferrer&quot;&gt;block-cut tree&lt;/a&gt; at least allows to delete every possible vertex that can be deleted), it is unclear whether this would really improve the speed of the above algorithms.&lt;/p&gt;&#xA;" OwnerUserId="20340" LastEditorUserId="-1" LastEditDate="2017-04-13T12:48:30.830" LastActivityDate="2015-08-30T20:03:46.143" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="32415" PostTypeId="2" ParentId="32413" CreationDate="2015-08-30T12:18:03.740" Score="2" Body="&lt;p&gt;I think it's just in the first inequality (the Kraft inequality): you sum over all the symbols $1/2^{\text{length of encoding}}$. There are 3 symbols of length $3$ bits and $d$ symbols of length $8$ bits, so that's how you get the first inequality. (Also, does your question have a typo? $a_4,a_5,\dots,a_{d+3}$ rather than $\dots,a_{d+1}$.) The $5/8$ comes from simplifying the inequality: you get $3/8 + d/256 \leq 1$, which is equivalent to $d/256 \leq 5/8$.&lt;/p&gt;&#xA;" OwnerUserId="8243" LastEditorUserId="8243" LastEditDate="2015-08-30T16:22:53.577" LastActivityDate="2015-08-30T16:22:53.577" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="32416" PostTypeId="1" AcceptedAnswerId="32417" CreationDate="2015-08-30T15:20:47.447" Score="9" ViewCount="661" Body="&lt;p&gt;In the classical PLDI'98 paper by Necula, &quot;The design and implementation of a certifying compiler&quot;, the high-level verifier uses:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;VCGen to generate verification conditions (safety predicates)&lt;/li&gt;&#xA;&lt;li&gt;First-order logic theorem prover to prove the conditions&lt;/li&gt;&#xA;&lt;li&gt;LF proof checker to check the proof from step (2)&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;I am a bit confused by step (3). Why is it required at all? Will just (1) and (2) not suffice? Why don't we just trust the proof generated by a theorem prover? &lt;/p&gt;&#xA;" OwnerUserId="35331" LastActivityDate="2015-08-30T17:17:27.907" Title="Why is Proof Checker required in Proof Carrying Code" Tags="&lt;proof-theory&gt;&lt;automated-theorem-proving&gt;&lt;program-verification&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="32417" PostTypeId="2" ParentId="32416" CreationDate="2015-08-30T16:51:46.037" Score="18" Body="&lt;p&gt;The purpose of the proof checker is to minimise the &lt;a href=&quot;https://en.wikipedia.org/wiki/Trusted_computing_base&quot;&gt;trusted computing base&lt;/a&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;By having a proof checker, neither the compiler nor the theorem prover need to be correct. The paper makes this point on Page 3:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;Neither the compiler nor the prover need to be correct in order to be guaranteed to   &#xA;detect incorrect compiler output. This is a significant advantage since the VCGen and  &#xA;the  proof checker are significantly simpler than the compiler and the prover.&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;A proof checker is just a couple of lines of code, and can be hand-inspected for correctness. In contrast, an automated prover that performs well is extremely complex and unlikely to be correct, although with well-tested and widely used provers, the mistakes will be in edge cases that might not be easy to trigger. &#xA;Have a look at the 30k LOC C code that make up &lt;a href=&quot;http://fmv.jku.at/lingeling/&quot;&gt;Lingeling&lt;/a&gt;, a state-of-the-art SAT solver to see just how complicated automated theorem provers can be. Without a proof checker, you'd have to prove correct that theorem prover. This is beyond whaty we can economically do in 2015.&lt;/p&gt;&#xA;" OwnerUserId="898" LastEditorUserId="898" LastEditDate="2015-08-30T17:17:27.907" LastActivityDate="2015-08-30T17:17:27.907" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="32419" PostTypeId="2" ParentId="32410" CreationDate="2015-08-31T12:15:31.567" Score="3" Body="&lt;p&gt;$\newcommand\Ptime{\mathsf P} \newcommand\NP{\mathsf{NP}} \newcommand\poly{\mathsf{poly}}$&#xA;It is known that $\Ptime/\poly \neq \NP/\poly \implies \Ptime_{\mathbb C}\neq \NP_\mathbb{C}$ [1] where the latter two represent the classes $\Ptime$ and $\NP$ in the BSS model over the complex numbers. (You can take the contrapositive to obtain a consequence of $\Ptime_\mathbb C = \NP_\mathbb C$.) &#xA;To the best of my knowledge, this is the only known result, though results of the same kind are known for other classes (in particular in &lt;em&gt;Koiran's weak model&lt;/em&gt;). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For more on this, look at Chapter 1 (in particular Fig. 1.1) and Chapter 8 of Bürgisser's book [2].&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] F. Cucker, M. Karpinski, P. Koiran, T. Lickteig, and K. Werther. On real&#xA;Turing machines that toss coins. In &lt;em&gt;Proc. 27th ACM STOC&lt;/em&gt;, Las Vegas,&#xA;pages 335–342, 1995.&lt;br&gt;&#xA;[2] Peter Bürgisser. &lt;em&gt;&lt;a href=&quot;http://www3.math.tu-berlin.de/algebra/work/habil.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Completeness and reductions in algebraic complexity theory&lt;/a&gt;&lt;/em&gt;, 1998.&lt;/p&gt;&#xA;" OwnerUserId="976" LastEditorUserId="976" LastEditDate="2018-01-05T13:24:12.490" LastActivityDate="2018-01-05T13:24:12.490" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="32420" PostTypeId="2" ParentId="6596" CreationDate="2015-08-31T15:24:05.353" Score="0" Body="&lt;p&gt;I think one can prove a lower bound stating that the above data structure cannot exist. Basically, if the data structure uses m bits, then a fixed bit-vector (representation of an input) can correspond to at most (((u-n)+ n eps) \choose (u-n)) sets by a counting argument. Given that 2^m times this number must be at least (u \choose n) (all sets must be represented), we get a lower bound which is basically very close to storing the set S precisely.&lt;/p&gt;&#xA;" OwnerUserId="35344" LastEditorUserId="35344" LastEditDate="2015-09-02T17:52:06.843" LastActivityDate="2015-09-02T17:52:06.843" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32421" PostTypeId="1" CreationDate="2015-07-29T01:59:21.740" Score="2" ViewCount="70" Body="&lt;p&gt;&lt;strong&gt;Motivation:&lt;/strong&gt; I am studying the graph isomorphism problem. I am trying to construct a partitioning method to reduce search cases .&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Partition method:&lt;/strong&gt;&#xA;$G$ is an $r$ regular graph, $k$ connected (not a complete, cycle graph).  A vertex of $G$ is $x_1$. &#xA;All vertices which are not adjacent to $x_1$ create a sub-graph $C_1$.&#xA;  All vertices adjacent to $x_1$ create a sub-graph, $ D_1 $. &#xA;A vertex of $D_1$ is $x_2$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Using same method, based on adjacency of $x_2$ , $D_1$ can be divided. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;All vertices which are not adjacent to $x_2$ create a sub-graph $C_2$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;All vertices adjacent to $x_2$ create a sub-graph, $ D_2 $. &#xA;    In general, $ D_{y-1} $ is a graph and can be divided/partitioned  into 2 sub-graphs $C_y,  D_y $.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;At this stage, let me restrict the problem for simplicity of computation. Restrictions are:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;$C_y,  D_y $  are $s_y , t_y&amp;gt;0 $ regular graphs respectively for all iteration $y$&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;$C_y,  D_y $  cannot be complete bipartite graph (utility graph), complete graph or disjoint union of complete graphs.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;So, $ D_{y-1} $ is a $t_{y-1}$ regular graph and can be divided/partitioned  into 2 sub-graphs $C_y,  D_y $. $C_y,  D_y $  are $s_y , t_y $ regular graphs respectively (given condition). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$G$ can be divided/partitioned a maximum of $\log_2(|G|)$ times, using  this dividing process recursively.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Matrix representation :&lt;/strong&gt; &#xA; $A$ is an adjacency matrix of an $r$-regular graph $G$. &#xA;The matrix A can be divided into 4 sub-matrices based on adjacency of vertex $x_1 \in G$.&#xA;$A_x$ is the adjacency matrix of the graph $(G-x_1)$, where $C_1$ is the adjacency  matrix of the graph created by vertices which are not adjacent to $x_1$, and $D_1$ is the adjacency matrix of the graph created by vertices which are adjacent to $x_1$. $C_1,D_1$ are sub-graphs (regular) of graph $G$, $|C_1|&amp;gt;|D_1|$ where $|C_1|,|D_1|$ are total vertices number of graphs $C_1,D_1$ respectively.&#xA;$$ A_x &#xA;=&#xA;\left( \begin{array}{ccc}&#xA;C_1 &amp;amp; E_1  \\&#xA;E_1^{T} &amp;amp; D_1 \\&#xA;\end{array} \right) &#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Again, this process can be done recursively, where $A_{y+1}=D_y$, $y=$ iteration number of the recursive process. &#xA;$$ A_yx &#xA;=&#xA;\left( \begin{array}{ccc}&#xA;C_y &amp;amp; E_y  \\&#xA;E_y^{T} &amp;amp; D_{y} \\&#xA;\end{array} \right) &#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$A_x$(=$A_1x$) is the matrix of 1st iteration, for 2nd iteration, $A_x$ matrix would be $A_2x$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Claim:&lt;/strong&gt;&lt;br&gt;&#xA; &lt;em&gt;It is not possible to have an $E_y$ matrix as a zero matrix, i.e., it is not  possible to have disconnected sub-graphs $C_y,D_y$ under the given conditions  that $G$ is $k$ connected $r$ regular and $C_y , D_y$ are always regular (which are not complete bipartite, complete graph  nor disjoint union of complete graphs)  graphs in this recursive process.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question: how  a graph can be constructed  so that the graph has regular subgraph as described above?&lt;/strong&gt; &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edition 1 :&lt;/strong&gt; V.A.Taskinov, Regular subgraphs of regular graphs. Sov.Math.Dokl.26(1982), 37-38 .&#xA;In this paper he proved the following : Let $0&amp;lt;k&amp;lt;r$ be positive odd integers. Then every $r$-regular graph contains a $k$-regular subgraph (here, the graph need not be simple).&lt;/p&gt;&#xA;" OwnerUserId="27242" OwnerDisplayName="Jim" LastEditorUserId="27242" LastEditDate="2015-08-31T18:09:25.637" LastActivityDate="2015-08-31T18:09:25.637" Title="Partitioning graph for Graph Isomorphism" Tags="&lt;graph-theory&gt;&lt;ds.algorithms&gt;" AnswerCount="0" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="32422" PostTypeId="1" CreationDate="2015-08-31T20:23:48.253" Score="5" ViewCount="260" Body="&lt;p&gt;The existence of a graph with certain strange-looking properties will imply a counterexample to something I am playing with. I'm stuck on figuring out whether such a graph can exist and so I thought I'd post it here as question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Specifically, for any integer $n$, is it always possible to construct an undirected graph on $n$ nodes such that:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(i) the simple random walk on it has constant spectral gap?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(ii) there exist two vertices $i,j$ such that the stationary distribution at both of them is lower bounded by a constant and the hitting time from $i$ to $j$ is at least linear in $n$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More formally, the question is as follows. Given an undirected graph $G$, the simple random walk is the Markov chain which  transitions to a uniformly random out-neighbor at each step. Let $P$ be its probability transition matrix and $\pi$ be its stationary distribution, i.e, $\pi^T P = \pi^T$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Do there exist positive constants $\alpha, \beta, c$ such that:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;i) For each $n$, there exists an undirected graph on $n$ vertices for which the corresponding matrix $P$ satisfies $\lambda_2(P) \leq 1-\alpha$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;ii) In the same graph, there exist nodes $i,j$ such that $\pi_i \geq \beta$, $\pi_j \geq \beta$ and the hitting time from $i$ to $j$ is at least $cn$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I suspect that this is not possible.&lt;/p&gt;&#xA;" OwnerUserId="35347" LastActivityDate="2015-09-07T23:04:20.553" Title="About a random walk with constant spectral gap" Tags="&lt;graph-theory&gt;&lt;pr.probability&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32425" PostTypeId="2" ParentId="32394" CreationDate="2015-09-01T11:02:13.387" Score="3" Body="&lt;p&gt;Every $\epsilon$-biased set gives a code whose minimal relative distance is $0.5 - \epsilon$ and maximal relative distance is $0.5 + \epsilon$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To see it, write the elements of the set as the rows of a matrix, and then define the code to be the span of the columns of the matrix. The $\epsilon$-biased property of the set is equivalent to saying that the relative distance between codewords is always between $0.5 - \epsilon$ and $0.5 + \epsilon$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One particular construction of such sets will give you a code whose dimension is linear in its block length. It is mentioned here:&#xA;&lt;a href=&quot;http://www.wisdom.weizmann.ac.il/~benaroya/SmallBiasNew.pdf&quot; rel=&quot;nofollow&quot;&gt;http://www.wisdom.weizmann.ac.il/~benaroya/SmallBiasNew.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Basically, the idea is to take AG codes of constant rate and relative distance close to $1$, and concatenating them with the Hadamard code.&lt;/p&gt;&#xA;" OwnerUserId="8429" LastEditorUserId="8429" LastEditDate="2015-09-01T11:08:01.297" LastActivityDate="2015-09-01T11:08:01.297" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="32426" PostTypeId="1" CreationDate="2015-09-01T14:29:57.590" Score="6" ViewCount="752" Body="&lt;p&gt;A new, tighter tardiness bound has been found for global Earliest-Deadline-First scheduling of jobs on symmetric multiprocessors. But this bound seems to be particularly hard to compute. In particular, we were not able either to find a polynomial-time algorithm to compute this bound, or to prove that the problem is NP-hard. In this respect, a sufficient condition for the problem to be NP-hard, is that the following sub-problem is NP-complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;a set $\tau$ of $N$ pairs $(C_i, U_i) \in \mathbb{Q}^2$, with&#xA;$C_i &amp;gt; 0$ and $0 &amp;lt; U_i \le 1$ for all&#xA;$i \in \{1, 2, \ldots, N\}$,&lt;/li&gt;&#xA;&lt;li&gt;the smallest natural number $M$ such that&#xA;$\sum_{i=1}^{N} U_i \le M$ (which implies $M \le N$, because&#xA;$U_i \le 1$),&lt;/li&gt;&#xA;&lt;li&gt;an integer $M'$ with $1 \le M' \le M$,&lt;/li&gt;&#xA;&lt;li&gt;a strictly positive value $b \in \mathbb{Q}$;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;does a permutation&#xA;$\tau' = ( (C_{i_1},U_{i_1}), (C_{i_2},U_{i_2}), \ldots,&#xA;(C_{i_{M'-1}}, U_{i_{M'-1}}))$&#xA;of $M' - 1$ pairs in $\tau$ exist, such that&#xA;$$&#xA;  \sum_{g = 1}^{M'-1}\frac{C_{i_g}}{M - \sum_{v=1}^{g-1}U_{i_v}} \ge b&#xA;  \quad ?&#xA; $$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any suggestion for proving that this is problem is NP-hard, or, on the other hand, for finding a way to solve the problem in polynomial time?&lt;/p&gt;&#xA;" OwnerUserId="35353" LastEditorUserId="35353" LastEditDate="2015-09-04T13:39:55.753" LastActivityDate="2015-09-04T13:39:55.753" Title="Is this permutation-sum problem NP-complete?" Tags="&lt;np-hardness&gt;&lt;time-complexity&gt;" AnswerCount="0" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="32428" PostTypeId="1" AcceptedAnswerId="32436" CreationDate="2015-09-02T01:59:17.503" Score="0" ViewCount="1252" Body="&lt;p&gt;I've seen many papers on scheduling components or tasks once a DAG for the program is known, either by user-input or by domain restriction (i.e. all cross shaped 5-pt stencil codes have a known DAG).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there an algorithm for taking code (or Abstract syntax trees) from a language, say Python, and generating a DAG for it? I've been searching for a paper related to this for a long time and haven't found anything on google scholar.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Intuitively, I'd say that it's not possible, since some languages (such as Python) can change just about everything at run-time, and thus to determine the behavior and dependencies of a given program you would have to run it first for every possible set of inputs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT&lt;/strong&gt;: I'm using DAG in this sense as the Directed Acyclic Graph for the dependencies (i.e. which parts depend on which other parts)&lt;/p&gt;&#xA;" OwnerUserId="35358" LastEditorUserId="35358" LastEditDate="2015-09-02T16:52:30.253" LastActivityDate="2015-09-02T18:33:01.147" Title="Computing the DAG of a program given source code or AST" Tags="&lt;computability&gt;&lt;turing-machines&gt;&lt;compilers&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="32429" PostTypeId="2" ParentId="27104" CreationDate="2015-09-02T09:16:12.077" Score="7" Body="&lt;p&gt;No, bitonic sort is not stable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For this post I will denote numbers as 2;0 where only the part before the &lt;code&gt;;&lt;/code&gt; is used for comparison and the part behind &lt;code&gt;;&lt;/code&gt; to mark the initial position.&#xA;Comparison-exchanges are denoted by arrows where the head points at the desired location of the greater value.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As written in the &lt;a href=&quot;http://hoytech.github.io/sorting-networks/&quot;&gt;link&lt;/a&gt; that &lt;a href=&quot;https://cstheory.stackexchange.com/questions/27104/is-the-bitonic-sort-algorithm-stable#comment64830_27104&quot;&gt;@JukkaSuomela posted&lt;/a&gt; a stable sorting network needs to avoid swaps of equal values.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;When swapping equal values, the bitonic sorter for two values is already unstable:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;0;0 ----- 0;1&#xA;      |&#xA;      v&#xA;0;1 ----- 0;0&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Of course, this can be fixed when we don't swap equal values:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;0;0 ----- 0;0&#xA;      |&#xA;      v&#xA;0;1 ----- 0;1&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;However, it could happen that the order of two equal elements is swapped without them being compared to each other.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is exactly the case in this example of a bitonic sorter for 4 values:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;1;0 ------ 1;0 ------ 0;2 ------ 0;2&#xA;      ^          |          |&#xA;      |          |          v&#xA;1;1 ------ 1;1 --|--- 1;1 ------ 1;1&#xA;                 ||&#xA;                 v|&#xA;0;2 ------ 0;2 ---|-- 1;0 ------ 1;0&#xA;      |           |         |&#xA;      v           v         v&#xA;2;3 ------ 2;3 ------ 2;3 ------ 2;3&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Although we were careful not to swap elements that compared equal (upper left comparison), the merging pass swapped the order of 1;1 and 1;0 which cannot be corrected later on.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This counterexample proves that bitonic sort cannot be stable.&lt;/p&gt;&#xA;" OwnerUserId="35364" LastActivityDate="2015-09-02T09:16:12.077" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32431" PostTypeId="1" CreationDate="2015-09-02T11:02:47.013" Score="7" ViewCount="315" Body="&lt;p&gt;Trying to understand a paper titled &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=2201437&quot; rel=&quot;noreferrer&quot;&gt;KSVD: An Algorithm for Designing Overcomplete Dictionaries for Sparse Representation&lt;/a&gt; by M.Elad, et al;&lt;br /&gt;&#xA;my take of &lt;em&gt;section IV.C.&lt;/em&gt; &lt;em&gt;detailed description of KSVD&lt;/em&gt;, is that we have an objectiove function which we wish to minimize with respect to two variables, D (which is called the dictionary) and X (the coefficient matrix.&#xA;&lt;span class=&quot;math-container&quot;&gt;$$\min_{X,D} \{||Y-DX||_F^2\} \quad \textrm{  subject to} \quad \forall i, ||x_i||\leq T_0$$&lt;/span&gt;&lt;/p&gt;&#xA;&lt;p&gt;One method of doing this is to divide it to two stages, sparse coding and dictionary update. In the sparse coding stage, we assume D is fixed and solve the above problem w.r.t X using a pursuit algorithm. Then we must update the dictionary to better fit our data using the coefficient matrix from previous stage.  In the update stage, we keep both X and D fixed and only one column of D and its corresponding row in X remains in question. After simplifying the objective function and decomposing the multiplication DX to the sum of k rank-1 matrices, one might suggest to use svd. But that would ruin the sparsity of X, so wee need to set constraints. At this point, the authors define some variables and use them for setting constraints. The problem is, I don't understand what is meant by this statement:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;examples that use the atom &lt;span class=&quot;math-container&quot;&gt;$d_k$&lt;/span&gt;,i.e. those where &lt;span class=&quot;math-container&quot;&gt;$x_T^{k} (i)$&lt;/span&gt; is&#xA;nonzero.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Any clarifications would be appreciated.&lt;/p&gt;&#xA;" OwnerUserId="27498" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2017-02-16T17:34:01.687" Title="Trying to understand a paper on ksvd algorithm (dictionary learning) by Elad, et al" Tags="&lt;approximation-algorithms&gt;&lt;machine-learning&gt;&lt;paper-review&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32432" PostTypeId="1" AcceptedAnswerId="32435" CreationDate="2015-09-02T12:56:22.667" Score="6" ViewCount="257" Body="&lt;p&gt;Given a finite state transducer defining a rational relation over infinite words, it is known to be decidable whether or not the relation is a function, i.e. whether each infinite input word is related to at most one infinite output word. This is detailed in a paper by Gire: &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/002001908690058X&quot;&gt;Two Decidability Problems for Infinite Words&lt;/a&gt;. Unfortunately, I cannot find the full text of the paper anywhere. The basic idea seems to be to form the composition of the transducer with its inverse $T \circ T^{-1}$ and check if the resulting transducer is a restriction of the identity function. Note that the inverse of a transducer $T$ is $T$ with input and output word swapped for each transition.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am looking for details of the decision procedure. Do you have any references or a short description of the algorithm?&lt;/p&gt;&#xA;" OwnerUserId="35367" LastEditorUserId="35367" LastEditDate="2015-09-02T14:37:59.700" LastActivityDate="2015-09-05T19:41:15.853" Title="Deciding functionality of transducers over infinite words" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;automata-theory&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="32435" PostTypeId="2" ParentId="32432" CreationDate="2015-09-02T17:31:08.683" Score="7" Body="&lt;p&gt;Françoise Gire actually gives two proofs of her result. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The first proof (I am quoting her paper now) &lt;em&gt;uses a construction similar to the one used in [3] to prove the decidability of the $\omega$-equivalence of two functional finite transducers.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The second proof makes use of the technique you are describing in your question: $T$ is functional if and only if $T \circ T^{-1}$ is a restriction of the identity. The property for an infinitary rational relation of being a restriction of the identity is proved to be decidable in [3,4].&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[3] K. Culik and J. Pachl, Equivalence problems for mappings on infinite strings, &lt;em&gt;Inform. and Control&lt;/em&gt; &lt;strong&gt;49&lt;/strong&gt; (1981) 52-63.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[4] K. Culik, Some decidable results about regular and pushdown translations, &lt;em&gt;Inform. Process. Lett.&lt;/em&gt; &lt;strong&gt;8&lt;/strong&gt; (1979) 5-8.&lt;/p&gt;&#xA;" OwnerUserId="17203" LastActivityDate="2015-09-02T17:31:08.683" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32436" PostTypeId="2" ParentId="32428" CreationDate="2015-09-02T18:33:01.147" Score="3" Body="&lt;p&gt;I assume you're looking for ways to compute the &lt;a href=&quot;https://en.wikipedia.org/wiki/Control_flow_graph&quot; rel=&quot;nofollow&quot;&gt;Control Flow Graph&lt;/a&gt; of a given program.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This graph depends (obviously) on the actual &lt;em&gt;operational semantics&lt;/em&gt; of the language you are interested in, and so cannot be computed from the AST &lt;em&gt;alone&lt;/em&gt;, in the sense that some knowledge of the language semantics themselves are needed.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For a given language it is possible to build the CFG given the AST of the parsed program, and indeed this is usually a very important step in compilers to perform &lt;em&gt;flow analysis&lt;/em&gt;. This can be found in chapter 17 of &lt;a href=&quot;https://www.cs.princeton.edu/~appel/modern/toc.html&quot; rel=&quot;nofollow&quot;&gt;Appel&lt;/a&gt; or in chapter 7 of &lt;a href=&quot;https://books.google.com/books?id=Pq7pHwG1_OkC&quot; rel=&quot;nofollow&quot;&gt;Muchnick&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="3984" LastActivityDate="2015-09-02T18:33:01.147" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32438" PostTypeId="1" CreationDate="2015-09-03T07:13:39.647" Score="1" ViewCount="43" Body="&lt;p&gt;I'm looking for the proof of the Leonid Levin theorem that states that the universal prior distribution function multiplicatively dominates all other functions of its type.&#xA;The original article is Levin 1974 but it is in Russian&#xA;Thanks&lt;/p&gt;&#xA;" OwnerUserId="9947" LastActivityDate="2015-09-03T07:13:39.647" Title="Proof for multiplicative dominance of universal probability distribution" Tags="&lt;computability&gt;" AnswerCount="0" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="32439" PostTypeId="2" ParentId="25548" CreationDate="2015-09-03T10:28:45.273" Score="3" Body="&lt;p&gt;To convert to MaxSAT:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;For each set $ S $ introduce a fresh variable $ X_S $.&lt;/li&gt;&#xA;&lt;li&gt;If two sets $ S $ and $ D $ intersect, produce the hard clause $\lnot X_S\lor \lnot X_D$.&lt;/li&gt;&#xA;&lt;li&gt;For each element $e$ produce the hard clause $\bigvee_{e\in S} X_S$, making sure that at least one set that contains $ e $ is selected.&lt;/li&gt;&#xA;&lt;li&gt;For each set $ S$ with weight $W$ produce the soft clause $\lnot X_S$ with weight $W$, to minimize the total weight of selected sets.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;I wrote a Python script for this (&lt;a href=&quot;http://sat.inesc-id.pt/~mikolas/excover&quot; rel=&quot;nofollow&quot;&gt;http://sat.inesc-id.pt/~mikolas/excover&lt;/a&gt;). This is the most naïve encoding. I believe there are ways how to make it smaller.&lt;/p&gt;&#xA;" OwnerUserId="4506" LastActivityDate="2015-09-03T10:28:45.273" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="32442" PostTypeId="1" CreationDate="2015-08-24T06:24:43.497" Score="15" ViewCount="159" Body="&lt;p&gt;Consider the binary consensus problem in a synchronous setting over dynamic network (thus, there are $n$ nodes, and some of them are connected by edges that may change round to round). Given a randomized $\delta$-error Monte Carlo protocol for Consensus in this setting, is it possible to use this protocol as a black box to obtain another Consensus protocol with smaller error?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that for problems with deterministic outcome (such as Sum), this can be done by repeatedly executing the protocol and taking the majority as the answer. However I am unable to figure out how for Consensus, so I wonder whether this is actually impossible to do.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;--- Details ---&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Dynamic Network.&lt;/strong&gt;&#xA;There are $n$ nodes on a dynamic network over synchronous setting (thus the protocol will proceed in rounds). Each node has a unique ID of size $\log(n)$. There are edges connecting pairs of nodes, and this set of edges may change from round to round (but remains fixed throughout any particular round). There may be additional restrictions to the dynamic network that allows the problem to be solved by some protocol (such as having a fixed diameter), but it is irrelevant to our discussion.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The only information known to each node is their unique ID. They do not know $n$ or the topology of the network. In particular, they do not know who their neighbors are in the current round (neighbors are nodes that are adjacent to them with an edge). The only way to figure out the neighbors is after receiving messages from them.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;How nodes communicate.&lt;/strong&gt;&#xA;The only method of communication between nodes is by broadcasting messages under the $CONGEST$ model (D. Peleg, &quot;Distributed Computing, A Locality-Sensitive Approach&quot;). More specifically, in each round, every node may broadcast an $O(\log n)$ sized message. Then, every node will receive ALL messages that were broadcasted by all of its neighbors in that particular round in an arbitrary order. In particular, nodes may attach their IDs onto their messages, since their IDs are of size $O(\log n)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Binary Consensus.&lt;/strong&gt;&#xA;The binary consensus problem over this network is as follows. Each node has a binary input ($0$ or $1$), and each must decide either $0$ or $1$ under the the validity, termination, and agreement for consensus with $\delta$ error:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;validity means that for $z \in \{0, 1\}$, if all nodes have $z$ as its initial input, then the only possible decision is $z$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;termination means that each node must eventually decide.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;agreement means that all nodes must have the same decision.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The error rate means that under worst case input and worst case network, the probability that the protocol does not satisfy any of the three conditions is at most $\delta$ over average coin flips of the protocol's coin.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question.&lt;/strong&gt; For a particular set of dynamic networks, suppose we have a lower bound on the average number of rounds incurred by any randomized $\delta$-error protocol $P$ for solving binary consensus under this settings such that $\delta &amp;lt; \frac{1}{3}$, under worst case dynamic network from this set, worst case nodes' inputs, and on average coin flips of the protocol. Does this bound automatically hold for any $\delta'$-error protocol for $\delta &amp;lt; \delta' &amp;lt; \frac{1}{3}$?.&lt;/p&gt;&#xA;" OwnerUserId="35376" OwnerDisplayName="Irvan" LastEditorUserId="35376" LastEditDate="2016-05-05T05:38:24.963" LastActivityDate="2016-05-05T11:30:13.050" Title="Is it possible to boost the error probability of a Consensus protocol over dynamic network?" Tags="&lt;ds.algorithms&gt;&lt;reductions&gt;&lt;dc.distributed-comp&gt;" AnswerCount="0" CommentCount="7" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32443" PostTypeId="1" CreationDate="2015-09-01T14:32:37.863" Score="3" ViewCount="61" Body="&lt;p&gt;A new, tighter tardiness bound has been found for global Earliest-Deadline-First scheduling of jobs on symmetric multiprocessors. But this bound seems to be particularly hard to compute. In particular, we were not able either to find a polynomial-time algorithm to compute this bound, or to prove that the problem is NP-hard. In this respect, a sufficient condition for the problem to be NP-hard, is that the following sub-problem is NP-complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;a set $\tau$ of $N$ pairs $(C_i, U_i) \in \mathbb{Q}^2$, with&#xA;$C_i &amp;gt; 0$ and $0 &amp;lt; U_i \le 1$ for all&#xA;$i \in \{1, 2, \ldots, N\}$,&lt;/li&gt;&#xA;&lt;li&gt;the smallest natural number $M$ such that&#xA;$\sum_{i=1}^{N} U_i \le M$ (which implies $M \le N$, because&#xA;$U_i \le 1$),&lt;/li&gt;&#xA;&lt;li&gt;an integer $M'$ with $1 \le M' \le M$,&lt;/li&gt;&#xA;&lt;li&gt;a strictly positive value $b \in \mathbb{Q}$;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;does a permutation&#xA;$\tau' = ( (C_{i_1},U_{i_1}), (C_{i_2},U_{i_2}), \ldots,&#xA;(C_{i_{M'-1}}, U_{i_{M'-1}}))$&#xA;of $M' - 1$ pairs in $\tau$ exist, such that&#xA;$$&#xA;  \sum_{g = 1}^{M'-1}\frac{C_{i_g}}{M - \sum_{v=1}^{g-1}U_{i_v}} \ge b&#xA;  \quad ?&#xA; $$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any suggestion for proving that this is problem is NP-hard, or, on the other hand, for finding a way to solve the problem in polynomial time?&lt;/p&gt;&#xA;" OwnerUserId="35353" OwnerDisplayName="Paolo Valente" LastEditorUserId="35353" LastEditDate="2015-09-04T07:36:47.600" LastActivityDate="2015-09-04T07:36:47.600" Title="Is this permutation-sum problem NP-complete?" Tags="&lt;np-hardness&gt;&lt;time-complexity&gt;&lt;np-complete&gt;" AnswerCount="0" CommentCount="5" ClosedDate="2015-09-04T12:43:01.320" ContentLicense="CC BY-SA 3.0" />
  <row Id="32444" PostTypeId="1" CreationDate="2015-09-04T09:46:49.270" Score="4" ViewCount="105" Body="&lt;p&gt;Given two point clouds $A,B\subset\mathbb Z^d$, let $A\oplus B$ be their &lt;em&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Minkowski_addition&quot; rel=&quot;nofollow&quot;&gt;Minkowski sum&lt;/a&gt;&lt;/em&gt;, defined as the set $\{ a + b : a\in A, b\in B \}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there any known result for the following problem?&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Given a point cloud $S\subset\mathbb Z^d$, are there two point clouds $A$ and $B$, none of them reduced to a single point, such that $A\oplus B = S$? &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I am in particular interested in the case $d=2$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A related result is the following: Given a &lt;em&gt;convex&lt;/em&gt; set of points¹ $S\subset\mathbb Z^2$, it is $\mathsf{NP}$-hard to decide whether it can be written as the sum of two convex sets $A$ and $B$ [1]. As far as I can tell, this does not imply a hardness result for the above problem since the equality is on the convex hulls only, not on the point clouds. In the terminology I used above, in this problem is only required that $A\oplus B\subset S$. The problem on point clouds may well be easier (not $\mathsf{NP}$-hard in particular) since it is much more constrained.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] Gao, S., &amp;amp; Lauder, A. G. (2001). &lt;a href=&quot;http://arxiv.org/pdf/math/0012099&quot; rel=&quot;nofollow&quot;&gt;Decomposition of polytopes and polynomials&lt;/a&gt;. &lt;em&gt;Discrete &amp;amp; Computational Geometry&lt;/em&gt;, 26(1), 89-104.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;¹ A subset $S\subset\mathbb Z^d$ is said &lt;em&gt;convex&lt;/em&gt; if all points of $S$ lie on the boundary of the convex hull of $S$.&lt;/p&gt;&#xA;" OwnerUserId="976" LastEditorUserId="976" LastEditDate="2015-09-04T12:52:05.413" LastActivityDate="2015-09-04T12:52:05.413" Title="Minkowski decomposition of lattice point cloud" Tags="&lt;reference-request&gt;&lt;cg.comp-geom&gt;" AnswerCount="0" CommentCount="6" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32445" PostTypeId="1" AcceptedAnswerId="32447" CreationDate="2015-09-04T15:00:43.920" Score="15" ViewCount="689" Body="&lt;p&gt;The inspiration for this question is the following (vague) question: What are the programming language/logical foundations for having an AI which could reason about its own source code and modify it?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This isn't at all rigorous, so here is my attempt to extract a concrete question out of it. There are two things I'm interested in:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(A) A programming language P that can represent and manipulate its own programs as a datatype Program (e.g., as an AST). (If desired, a object of type Program can be converted into a String, which is the text of a valid program in that language. This would be the opposite of what a compiler does.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(B) A method to reason about what a program in language P does. Here are two levels I'm thinking about it:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Another language Q (with theorem proving capabilities) which models what a P-program does. It should be able to express and prove statements like &quot;the outcome of running Program p is foo.&quot;&lt;/li&gt;&#xA;&lt;li&gt;A way to reason about what a program p:Program does &lt;em&gt;in the language P itself.&lt;/em&gt; (So we are taking P=Q above.)&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;To what degree has something like this been implemented, or what is progress in this direction? What are the practical obstacles? In light of the original intention of the question, what is the best way to formalize the problem?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;*&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As the answers show (thanks!), both (A) and (B1) can be done separately, though it seems doing them together is more of a research question. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here were some of my first thoughts on the question (warning: rather vague). See also my comments on Martin Berger's answer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm interested in the programming language modeling &lt;em&gt;the same&lt;/em&gt; programming language, rather than a simpler one (so P=Q above). This would be a &quot;proof of concept&quot; of a program being able to &quot;reason about its own source code.&quot; Dependently typed programming languages can give guarantees about the outputs of its functions, but this doesn't count as &quot;reasoning about its own source code&quot; any more than a &quot;Hello world!&quot; counts as a quine in a language that will automatically prints out a naked string---there needs to be some kind of quoting/self-reference. The analogue here is having a datatype representing Program.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It seems like a rather large project - the simpler the language, the harder it is to express everything within it; the more complicated the language, the more work has to be done to model the language.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the spirit of the Recursion Theorem, a program can then &quot;get&quot; its own source code and modify it (i.e., output a modified version of itself). (B2) then tells us that the program &lt;em&gt;should be able to express a guarantee about the modified program&lt;/em&gt; (this should be able to recurse, i.e., it should be able to express something about all future modifications-?).&lt;/p&gt;&#xA;" OwnerUserId="20907" LastEditorUserId="20907" LastEditDate="2015-09-04T21:33:11.803" LastActivityDate="2016-01-17T14:38:26.030" Title="Program reasoning about own source code" Tags="&lt;pl.programming-languages&gt;&lt;ai.artificial-intel&gt;&lt;recursion&gt;" AnswerCount="4" CommentCount="11" FavoriteCount="12" ContentLicense="CC BY-SA 3.0" />
  <row Id="32446" PostTypeId="2" ParentId="32445" CreationDate="2015-09-04T15:26:59.247" Score="6" Body="&lt;p&gt;No there is no current system that does all four steps in your system. If you want to design a system one of the first requirements is homoiconic language. At minimum you would want your core programming language that you have as small as possible so that when you enter the system and start to make it interpret itself it will work. So therefore you want a metacircular interpreter which was pioneered in lisp. Other languages have done it also but there is a enormous amount of existing research on lisp.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The first step if you want to do this is to have a homoiconic language like Lisp or some framework where you can reason about a running program. Lisp is used for this for the sole reason that you could define a metacircular interpreter in the language or you can just treat your code as data. Treating the code as data is the most important thing. &lt;a href=&quot;http://c2.com/cgi/wiki?HomoiconicLanguages&quot;&gt;There is along discussion about what homoiconic means on c2 wiki.&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example in Lisp your &quot;Program&quot; datatype is valid lisp programs. You pass the lisp programs to an interpreter and it computes something. It gets rejected by the interpreter if you don't program a valid &quot;Program&quot;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Therefore a homoiconic language does three of your requirements. You can even in lisp define the idea of a formal program.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can you model lisp inside lisp? Yes this is frequently done mainly as an exercise at the end of a lisp programming book to test your abilities. &lt;a href=&quot;https://mitpress.mit.edu/sicp/full-text/book/book.html&quot;&gt;SICP&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;At the current time issue four is a research question and below is what I have found that attempts to answer this question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would say there are many types of programs that attempt to do this. Below is all of the programs that I know about.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://www.jslint.com/&quot;&gt;JSLint&lt;/a&gt; is an example of a static analyzers that take machine code or some other language and look for bugs explicitly. Then it asks for a programmer to correct that.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://coq.inria.fr/&quot;&gt;Coq&lt;/a&gt; is a environment that allows you to specify proofs using a programming language. It also has tactics where it suggests ways for you to solve the problem. Still this expects a human to do the work. Coq uses dependant types to work and is therefore very type theoretic. It is very popular among computer scientists and people working on Homotopy Type Theory.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://www.cs.utexas.edu/users/moore/acl2/&quot;&gt;ACL2&lt;/a&gt; on the other hand is an automated theorem prover. This system will prove statements based on something that you program.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;ACL2 and Coq have a software plugin that interface their system with a &lt;a href=&quot;http://staff.computing.dundee.ac.uk/jheras/acl2ml/&quot;&gt;machine learning system&lt;/a&gt;.  What is used to train these systems are previously written programs. From my understanding these systems add another feature where you have not only your tactics but suggested theorems that aid in proof development.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Below is more of a foundational of what your question means.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html&quot;&gt;gcc&lt;/a&gt; is an example of an optimizng compiler which can take itself as input and then output an optimized version of itself. The idea of a compiler that translates programs from one representation to another and improves the speed due to some optimization flag is very well understood. Once you bootstrap the compiler and it generates valid machine code then you can add an optimization and recompile the compiler and it makes a more efficient version of itself.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="5385" LastEditorUserId="5385" LastEditDate="2015-09-04T18:50:43.673" LastActivityDate="2015-09-04T18:50:43.673" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="32447" PostTypeId="2" ParentId="32445" CreationDate="2015-09-04T17:38:36.657" Score="15" Body="&lt;p&gt;I think you are asking about two different things. &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The ability of a programming language to represent all its programs as data. &lt;/li&gt;&#xA;&lt;li&gt;Reasoning about programs as data.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;For analytical purposes it's useful to keep them apart. I will focus on the former.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The ability of a&#xA;programming languages to  represent, manipulate (and run) its programs&#xA;   as data  goes under terms such as &lt;strong&gt;meta-programming&lt;/strong&gt; or&#xA;   &lt;strong&gt;homoiconicity&lt;/strong&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In an (awkward) way, all well-known programming languages can&#xA;   do meta-programming, namely by using the string data type together with the ability of invoking&#xA;   external programs (compiler, linker etc) on strings (e.g. by&#xA;   writing them to the file system first). However, that's probably not&#xA;   what you mean.  You probably have nice syntax in mind. Strings are not nice syntax for program representation because almost all strings don't represent programs, i.e. the string data type contains a lot of 'junk' when seen as a program representation mechanism. To make matters worse, the algebra of string operations has essentially no connection with the algebra of program construction.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What you probably have in mind is something much nicer. E.g. if $P$ is&#xA;a program, then  $\newcommand{\QUOTE}[1]{\langle #1\rangle}\QUOTE{P}$ is $P$, but&#xA;as data, at hand for manipulation and analysis. This is often called &lt;strong&gt;quotation&lt;/strong&gt;. &#xA;In practise, quotation is inflexible, so we use &lt;strong&gt;quasi-quotation&lt;/strong&gt; instead, which&#xA;is a generalisation of quotation where the quote can have 'holes' in which programs can be run that provide data to 'fill' the holes. &#xA;For example $$\newcommand{\SYNTAX}[1]{\mathsf{#1}}&#xA;\newcommand{\IF}[3]{\SYNTAX{if}\; #1 \; \SYNTAX{then}\; #2\; \SYNTAX{else}\; #3}\QUOTE{\IF{[\cdot]}{7}{8+9}}$$ is a quasi-quote representing a conditional where instead of a condition we have a hole $[\cdot]$. If the program $M$ evaluates to the data $\QUOTE{x &amp;gt; 0}$, then the quasi-quote $$\QUOTE{\IF{[M]}{7}{8+9}}$$ evaluates to &#xA;the data $$\QUOTE{\IF{x &amp;gt; 0}{7}{8+9}}.$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Note that $M$ is a normal program (not a program as data) that returns a quoted program, i.e. program as data.)&#xA;In order for this to work, you need a data-type to represent programs. Typically that data-type is called AST (abstract syntax tree), and you can see (quasi-)quotes as abbreviation mechanisms for ASTs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Several&#xA;programming languages offer quasi-quotes and other feature for meta-programming. It was Lisp with its&#xA;macroing functionality that pioneered this ability to treat programs as data.  Perhaps&#xA;unfortunately, the power of Lisp-based macros was long seen to rest&#xA;largely on Lisp’s minimalistic syntax; it was not until MetaML (1)&#xA;that a modern, syntactically rich language was shown to be capable of&#xA;meta-programming. Since then, MetaOCaml (2) (a descendant&#xA;of MetaML, important for its breakthrough in the still ongoing quest to solve the problem of how to type programs as data), Template Haskell (3)  and Converge (4) (the first language to get all key meta-programming features right in my opinion) have shown that a variety of modern programming languages can house&#xA;meta-programming. It is important to realise that we can take &lt;strong&gt;any&lt;/strong&gt; programming&#xA;language $L$ and turn it into a meta-programming language $L_{mp}$&#xA;that is $L$ together with the ability of representing (and evaluating)&#xA;its own programs as data.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Representing the outcome of running program, given as data, is&#xA;achieved by adding an $\newcommand{\EVAL}{\mathsf{eval}}\EVAL(\cdot)$ function that takes a program (given as&#xA;data) as input and runs it, returning its result. E.g. if $P$ is a&#xA;program evaluating to 17 and $\QUOTE{P}$, the (quasi-)quoted version of $P$,&#xA;i.e. $P$ as data, then $\EVAL(\QUOTE{P})$ also returns 17. There are all&#xA;manner of subtleties here that I'm ignoring here such as the question &lt;em&gt;when&lt;/em&gt; meta-programmed&#xA;programs are being evaluated (giving rise to the distinction between&#xA;compile-time and run-time meta-programmed), what to do with types or&#xA;failing evaluations, what happens to bound and free variables in the&#xA;process of going from $P$ to $\QUOTE{P}$ or vice versa. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;As to the second dimension, reasoning about programs given as data. As soon as you can convert programs into data, they are 'normal' data and can be reasoned about as data.  You can&#xA;use all manner of prover technology, e.g. dependent types or contracts&#xA;or interactive theorem provers or automated tools, as Joshua has&#xA;pointed out. However you will have to represent the semantics of your language in the reasoning process. If that language, as you require, have meta-programming abilities, things can become a bit tricky and not much work has been done in this direction, with (5) being the only program logic for this purpose. There is also Curry-Howard based work on reasoning about meta-programming (6, 7, 8). Note that these logic-based approaches, and the type-based approach (2) can indeed express properties that hold for all future meta-programming stages. Apart from (2) none of those papers have been implemented.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In summary: what you asked for has been implemented, but it's quite subtle, and there are still open questions, in particular to do with types and streamlined reasoning.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;W. Taha. &lt;a href=&quot;http://www.cs.rice.edu/~taha/publications/thesis/thesis.pdf&quot;&gt;Multi-Stage Programming: Its Theory and Applications&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;W. Taha and M. F. Nielsen. &lt;a href=&quot;http://www.cs.rice.edu/~taha/publications/conference/popl03.pdf&quot;&gt;Environment classifiers&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;T. Sheard and S. Peyton Jones. &lt;a href=&quot;http://research.microsoft.com/pubs/67015/meta-haskell.pdf&quot;&gt;Template meta-programming for Haskell&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;L. Tratt. &lt;a href=&quot;http://tratt.net/laurie/research/pubs/papers/tratt__compile-time_meta-programming_in_a_dynamically_typed_oo_language.pdf&quot;&gt;Compile-time meta-programming in a dynamically typed OO language&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;M. Berger, L. Tratt, &lt;a href=&quot;http://users.sussex.ac.uk/~mfb21/publications/lpar10/&quot;&gt;Program Logics for Homogeneous Meta-Programming&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;R. Davies, F. Pfenning, &lt;a href=&quot;https://www.cs.cmu.edu/~fp/papers/jacm00.pdf&quot;&gt;A modal analysis of staged computation&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;R. Davies, &lt;a href=&quot;http://www.brics.dk/RS/95/51/BRICS-RS-95-51.pdf&quot;&gt;A Temporal-Logic Approach to Binding-Time Analysis&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;T. Tsukada, A. Igarashi. &lt;a href=&quot;http://www.fos.kuis.kyoto-u.ac.jp/~igarashi/papers/classifiers.html&quot;&gt;A logical foundation for environment classifiers&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="898" LastEditorUserId="898" LastEditDate="2015-09-04T20:46:01.933" LastActivityDate="2015-09-04T20:46:01.933" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="32448" PostTypeId="1" CreationDate="2015-09-04T20:40:45.740" Score="-2" ViewCount="331" Body="&lt;p&gt;Assume $P\neq BPP\neq NP$ with caveat that there is a deterministic algorithm for every $NP$ complete problem with input size $n$ bits in $2^{(\log n)^{1+f(n)}}$ arithmetic operations on $\log n$ sized words where $f(n)$ grows slower than any definable function.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Where does complexity of intermediate problems stand in this case and utility of randomness stand in this case?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is scenario if $P= BPP\neq NP$ or $P\neq BPP=NP$ holds?&lt;/p&gt;&#xA;" OwnerUserId="1812" LastEditorUserId="1812" LastEditDate="2015-09-05T12:41:24.097" LastActivityDate="2015-09-06T18:47:34.663" Title="What is the status of intermediate problems if P is not NP in worst way imaginable?" Tags="&lt;randomness&gt;&lt;derandomization&gt;&lt;p-vs-np&gt;&lt;conditional-results&gt;&lt;np-intermediate&gt;" AnswerCount="1" CommentCount="15" ContentLicense="CC BY-SA 3.0" />
  <row Id="32450" PostTypeId="1" CreationDate="2015-09-05T05:13:20.973" Score="5" ViewCount="108" Body="&lt;p&gt;Consider a graph optimization on a graph with n vertices and m edges that can be written as an LP (like say bipartite matching). By the duality with vertex cover, we know that there's a sparse dual solution consisting of the  elements of the cover. It's sparse in the sense that its size is linear in n, rather than in m. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider the problem of finding the minimum enclosing ball of a set of $n$ points in $d$ dimensions. This is an LP-type problem with (again) a sparse dual solution: a set of $d+1$ points that define the optimal ball. Here, &quot;sparse&quot; means that the size depends on the (smaller) parameter $d$ rather than $n$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In general, suppose I have a problem that can be expressed via an LP with $n$ variables and $m$ constraints, where $m \gg n$. Are there classes of such  problems for which any optimal solution to the problem can be expressed using the intersection of only $O(n)$ constraints (or dually with only $O(n)$ nonzero dual variables ? &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2015-09-05T05:13:20.973" Title="LPs with &quot;sparse solutions&quot;" Tags="&lt;ds.algorithms&gt;&lt;linear-programming&gt;" AnswerCount="0" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32451" PostTypeId="1" CreationDate="2015-09-05T13:31:55.517" Score="5" ViewCount="199" Body="&lt;p&gt;A set of numbers $S=\{x_1,...,x_n\}$ is said to be &lt;em&gt;algebraically dependent&lt;/em&gt; if there exists a (multivariate) polynomial $p$ with coefficients in $\mathbb Q$ whose roots contain $x_1,...,x_n$ (or a subset thereof).&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Given numbers $S=\{x_1,...,x_n\}$, is it decidable whether they are algebraically dependent?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Now, there is obviously an encoding issue here, since the numbers need to be transcendental, so describing them is problematic. Any solution would do, but specifically, I am interested in the case where all the numbers are of the form $e^{a_i}$, where the $a_i$'s are linearly independent over $\mathbb Q$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The motivation for this question is understanding whether a (positive) solution to &lt;a href=&quot;https://en.wikipedia.org/wiki/Schanuel%27s_conjecture&quot; rel=&quot;nofollow&quot;&gt;Schanuel's conjecture&lt;/a&gt; would automatically lead to a constructive solution.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;UPDATE (based on the comments): the encoding of the numbers is an issue. I'll accept any answer which suggests either a reasonable encoding for a subset of the reals for which the problem is non-trivial, or a solution that uses a computational model that allows real numbers.&lt;/p&gt;&#xA;" OwnerUserId="7531" LastEditorUserId="7531" LastEditDate="2015-09-08T18:22:59.587" LastActivityDate="2015-09-08T18:37:24.810" Title="Is algebraic dependency decidable?" Tags="&lt;algebra&gt;&lt;decidability&gt;" AnswerCount="1" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="32452" PostTypeId="1" AcceptedAnswerId="32453" CreationDate="2015-09-05T13:58:28.120" Score="2" ViewCount="259" Body="&lt;p&gt;I came across &lt;a href=&quot;https://en.wikipedia.org/wiki/True_quantified_Boolean_formula#Solving&quot; rel=&quot;nofollow&quot;&gt;this&lt;/a&gt; section on the wikipedia page for the TQBF solving problem, and just can't wrap my head about the fact that the space requirement is linear. Moreover, it does not provide any reference.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For a given QBF&#xA;$$Q_1x_1Q_2x_2...Q_nx_n\phi(x_1,x_2,...,x_n)$$ &lt;/p&gt;&#xA;&#xA;&lt;p&gt;for each quantifier, the algorithm presented evaluates &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$ A = Q_2x_2...Q_nx_n\phi(0,x_2,...,x_n)$$ &#xA;$$B = Q_2x_2...Q_nx_n\phi(1,x_2,...,x_n)$$ &lt;/p&gt;&#xA;&#xA;&lt;p&gt;and returns $A\wedge B$ for $Q_1 = \forall$ and $A\lor B$ for $Q_1 = \exists$. The way I work it out the space should be $O(2^n)$ instead of $O(n + \log(n)) = O(n)$. When I solve a QBF on paper, I realize it is not exponential, so something must be terribly wrong with my analysis.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;At each step, the new $A$ and $B$ have one quantifier less, but there are twice as many expressions. I assumed that would build up as&#xA;$$ 1: n$$&#xA;$$ 2 : (n-1) + (n-1) $$&#xA;$$ 3 : (n-2) + (n-2) + (n-2) + (n-2) $$&#xA;$$ \ldots $$&#xA;$$ k : 2^k (n-k) $$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;which goes all the way up to $2^{n-1}$ before decreasing to zero. Can anyone provide a pointer on what I am doing wrong, or even better a good reference?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks&lt;/p&gt;&#xA;" OwnerUserId="35408" LastActivityDate="2015-09-06T04:55:38.107" Title="Space requirements for solving True Quantified Boolean Formulas problem" Tags="&lt;sat&gt;&lt;space-complexity&gt;&lt;pspace&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="1" ClosedDate="2015-09-09T23:37:35.847" ContentLicense="CC BY-SA 3.0" />
  <row Id="32453" PostTypeId="2" ParentId="32452" CreationDate="2015-09-05T14:44:27.543" Score="4" Body="&lt;p&gt;The main difference between time and space is that you can reuse space that is not needed anymore.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you return from the recursive call that evaluates $A$, you can reuse the space used by this computation to compute the value of $B$.  Because of this you only need to store one branch of the decision tree of the original QBF formula in memory, which gives you a linear space requirement.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This fact is explained quite well in standard introductory text books on Complexity Theory.  You can have a look into Sipser's &lt;em&gt;Introduction to the Theory of Computation&lt;/em&gt;, for example. On page 332 (3rd edition) he explains the space requirement for SAT, of which QBF is a generalization.&lt;/p&gt;&#xA;" OwnerUserId="35383" LastEditorUserId="35408" LastEditDate="2015-09-06T04:55:38.107" LastActivityDate="2015-09-06T04:55:38.107" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="32455" PostTypeId="2" ParentId="32432" CreationDate="2015-09-05T19:34:58.003" Score="0" Body="&lt;p&gt;The works in the previous answer only seem to establish the decidability, but not the exact complexity. So I see a chance to blatantly advertise my own work here: You could formulate the property in HyperLTL: All pairs of words with the same input sequence must have the same output sequence. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\forall\pi.\forall\pi'. \square\left(\bigwedge_{i} i_\pi\leftrightarrow i_{\pi'} \right)\implies \square\left(\bigwedge_o o_\pi \leftrightarrow o_{\pi'}\right) \,\,,$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where $i$ and $o$ are the input and output propositions, respectively.&#xA;As the formula is in the alternation-free fragment you can check it in NLOGSPACE in the size of the transducer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://www.react.uni-saarland.de/publications/CFKMRS14.html&quot; rel=&quot;nofollow&quot;&gt;https://www.react.uni-saarland.de/publications/CFKMRS14.html&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="7908" LastEditorUserId="7908" LastEditDate="2015-09-05T19:41:15.853" LastActivityDate="2015-09-05T19:41:15.853" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32456" PostTypeId="1" AcceptedAnswerId="32460" CreationDate="2015-09-05T22:29:49.533" Score="7" ViewCount="277" Body="&lt;p&gt;There are obvious differences between a Turing machine and a real computer. Not only is the latter finite in size, it is also prone to failures and it is made from decaying matter. The kind of framework I have in mind is this (but please excuse the handwavy vagueness): In some sense, (quasi)particles that constitute matter can be thought to perform computation: They have state that persists at least for some time (properties such as position, spin, charge, momentum) and they can change their state in feedback loops by interacting with other particles. The more elementary particles locally affect each other, the more complex the state and feedback loops can be. What kinds of computation we can perform on such a substrate depends on the configurations and rules that govern the particles, in particular, how many feedback loops they allow to simultaneously affect a local arrangement of particles. In this sense I'm looking for a framework that is analogous to the Chomsky hierarchy, i.e. in which the complexity of the system is successively extended to eventually build up to a notion of general computation. Is there something similar to this in the literature?&lt;/p&gt;&#xA;" OwnerUserId="13573" LastEditorUserId="13573" LastEditDate="2015-09-06T09:16:17.617" LastActivityDate="2015-09-16T18:59:55.587" Title="Is there a theory of computation that takes failure and decay of the computation substrate into account?" Tags="&lt;reference-request&gt;&lt;turing-machines&gt;&lt;physics&gt;" AnswerCount="3" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32457" PostTypeId="1" CreationDate="2015-09-06T03:23:16.080" Score="5" ViewCount="110" Body="&lt;p&gt;A professor I knew in grad school told me about asking his students to reduce an NP-Complete problem to another, then back to the original, then back again and then watching with amusement as the resulting reductions grew out of control.  Eventually this led me to think that there should be some theory that could get a handle on the size introduced by reductions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, what prevents us from taking a source NP-Complete problem (3-SAT, say) and adding a particular type of structure in the resulting NP-Complete problem (HAMILTONIAN CYCLE, say) such that reducing back to the original (3-SAT) would notice the structure and get back the original instance?  Maybe the original problem would need to be 'pre-structured' so that this type of 'ping-ponging' between NP-Complete problems could occur.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In other words, what prevents us from adding some (polynomial amount of) structure to our NP-Complete problems so that reductions from one NP-Complete problem to another converge in size?  The algorithms for reductions would need to notice the structure embedded in the instance and add their own if need.  I could imagine the features to be indicators for the reduction algorithm so that subsequent reductions would be able to avoid instance inflation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What do these reductions look like?  What's our current best 'inflation factor'? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Surely I'm not the first to think of this.  Does anyone have references that discuss this type of reduction?  Barring that, does anyone have any ideas on what type of structure needs to be added to achieve this result?  I would be surprised if such a method wasn't possible but I would happily hear about any references about impossibility of such a method.&lt;/p&gt;&#xA;" OwnerUserId="834" LastActivityDate="2015-09-08T18:30:13.673" Title="NP-Complete Convergent Reductions?" Tags="&lt;reductions&gt;&lt;np-complete&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="32458" PostTypeId="1" AcceptedAnswerId="32469" CreationDate="2015-09-06T05:49:24.453" Score="-5" ViewCount="129" Body="&lt;p&gt;Consider the following problem: given a number $n$, an alphabet $\Sigma$, and a finite language $L$, how many strings of length $n$ in $\Sigma^*$ contain at least one word $w\in L$? E.g. &lt;code&gt;abcgodef&lt;/code&gt; contains the word &lt;code&gt;go&lt;/code&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is a toy problem I want to use to demonstrate the power of an algorithm I developed. I implemented it as a trivial python script, and was able to solve the above problem for $n = 50, \Sigma = [a-z], |L| = 5$ on my laptop. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does anyone know of an existing technique capable of this? That is, can anyone calculate the answer, or am I the only one? (When I finish my paper, I'll be happy to link it here if people are interested).&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Specifically, $L$ was&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;['the', 'of', 'and', 'you', 'that']&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;" OwnerUserId="25335" LastEditorUserId="25335" LastEditDate="2015-09-06T06:26:11.353" LastActivityDate="2015-09-07T18:44:33.203" Title="A simple challenge" Tags="&lt;co.combinatorics&gt;" AnswerCount="1" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="32460" PostTypeId="2" ParentId="32456" CreationDate="2015-09-06T10:09:41.337" Score="9" Body="&lt;p&gt;I'm not 100% sure what the question is about, but the title seems to ask about computation that allows failure. There is a lot of work on noisy (erroneous) computation in the sense that I think you are asking about. I don't have time to give a complete overview, but here are some pointers that may be of interest.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Distributed systems&lt;/strong&gt;. This is probably by far the most developed field because the very definition of a distributed system is based on the possibility of (partial) faults. There are elaborate theories of DS depending on the chosen fault model, e.g. &lt;a href=&quot;https://en.wikipedia.org/wiki/Fail-stop&quot;&gt;fail/stop&lt;/a&gt; or &lt;a href=&quot;https://en.wikipedia.org/wiki/Byzantine_fault_tolerance&quot;&gt;byzantine failure&lt;/a&gt;. See also the work on &lt;a href=&quot;https://en.wikipedia.org/wiki/Failure_detector&quot;&gt;failure detectors&lt;/a&gt;. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Cryptography&lt;/strong&gt;. This may seem a bit bizarre, but I think much of the field of cryptography can be seen as a form of extreme failure, with the adversary trying to undermine (in a general sense) the working of the system. You can think of the usual polynomially bound attacker as an case of failure model. This lead to things like &lt;a href=&quot;https://en.wikipedia.org/wiki/Secure_multi-party_computation&quot;&gt;secure multi-party computation&lt;/a&gt; as an algorithmic tool in the face of extreme adversity.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;π-calculus&lt;/strong&gt;: see (1) for a generalisation of Shannon-style information theory to interacting processes. I think the error model in (1) is unrealistic, because it does not cater for the situation where an error converts a free into a bound name or vice versa.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Turing machines&lt;/strong&gt;: see (2, 3, 4).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Cellular automata&lt;/strong&gt;: various researchers have added failure models, sorry no references at the moment, maybe look at work by  P. Gacs.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;λ-calculus&lt;/strong&gt;: see (6).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Assembly language&lt;/strong&gt;: see (5, 7).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Quantum computation&lt;/strong&gt;: is all about error correction, I'm not qualified to say more on this.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;An increasingly important subfield of computation is the use of probabilistic process calculi to model &lt;strong&gt;chemical reactions&lt;/strong&gt;. Have a look at &lt;a href=&quot;http://lucacardelli.name/&quot;&gt;Luca Cardelli&lt;/a&gt;'s recent work.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Note also that this line of thinking is very old: J. von Neumann wrote about this in 1956 [8]. Maybe even more impressive &lt;a href=&quot;https://en.wikipedia.org/wiki/Carl_Adam_Petri&quot;&gt;C.-A. Petri&lt;/a&gt; invented &lt;a href=&quot;https://en.wikipedia.org/wiki/Petri_net&quot;&gt;Petri-nets&lt;/a&gt; in August 1939 at the age of 13 for the purpose of describing chemical processes.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;M. Ying, Pi-Calculus With Noisy Channels.&lt;/li&gt;&#xA;&lt;li&gt;I. Capuni, P. Gacs, A Turing Machine Resisting Isolated Bursts Of Faults.&lt;/li&gt;&#xA;&lt;li&gt;I. Capuni, Fault-tolerant Turing Machine.&lt;/li&gt;&#xA;&lt;li&gt;E. Asarin, P. Collins, Noisy Turing Machines.&lt;/li&gt;&#xA;&lt;li&gt;J. Chang, G. A. Reis, D. I. August, Automatic Instruction-Level Software-Only Recovery.&lt;/li&gt;&#xA;&lt;li&gt;D. Walker, L. Mackey, J. Ligatti, G. A. Reis, D. I. August, Static Typing for a Faulty Lambda Calculus.&lt;/li&gt;&#xA;&lt;li&gt;F. Perry, L. Mackey, G. Reis, J. Ligatti, D. I. August, D. Walker, Fault-tolerant Typed Assembly Language.&lt;/li&gt;&#xA;&lt;li&gt;J. von Neumann, Lectures on Probabilistic Logics and the Synthesis of Reliable Organisms From Unreliable Components.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="898" LastEditorUserId="898" LastEditDate="2015-09-06T10:16:05.860" LastActivityDate="2015-09-06T10:16:05.860" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="32461" PostTypeId="1" CreationDate="2015-09-06T17:38:54.493" Score="-2" ViewCount="216" Body="&lt;p&gt;Let character set $\Sigma=\{a,b,(,)\}$. I want to write a regular expression for the language $L$ that does not have a parenthesis inside a parenthesis.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, $(abaab)(bbbaa) \in L$, while $(abb(abb)bb) \not\in L$. Also $(a(a \not \in L$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I cannot think of a good way to write a regular expression for $L$.&lt;/p&gt;&#xA;" OwnerUserId="35413" LastActivityDate="2015-09-06T18:09:43.630" Title="Writing a regular expression for character set $\Sigma = \{a,b,(,)\}$ that not have a parenthesis inside a parenthesis" Tags="&lt;fl.formal-languages&gt;&lt;automata-theory&gt;&lt;regular-language&gt;&lt;regular-expressions&gt;" AnswerCount="1" CommentCount="0" ClosedDate="2015-09-07T05:31:12.210" ContentLicense="CC BY-SA 3.0" />
  <row Id="32462" PostTypeId="2" ParentId="32461" CreationDate="2015-09-06T18:09:43.630" Score="1" Body="&lt;p&gt;First of all, in order to avoid confusion with the parenthesis found in a regular expression, I will use the characters $[$ and $]$ instead of parenthesis in my strings.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I can't tell from the question whether you want the strings in $L$ to be validly parenthesized. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;One way I an interpret your question is that you want the strings of your language to be validly parenthesized. You can then use the following regular expression: &lt;code&gt;(a | b | [(a | b)*])*&lt;/code&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The other way I can interpret your question is that the strings of your language do not have to be validly parenthesized; for example, $aba[b \in L$. Under this interpretation, the reason that the string $[a[a$ is not in $L$ is that it contains two open parenthesis in a row (ignoring $a$s and $b$s). The rule for $L$ with this interpretation is that a string is in $L$ if and only if removing all the $a$s and $b$s results in an element of &lt;code&gt;(ε | ])([])*(ε | [)&lt;/code&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In this case, simply inserting $a$s and $b$s everywhere gives us the regular expression &lt;code&gt;(a | b)*(ε | ])((a | b)*[(a | b)*])*(a | b)*(ε | [)(a | b)*&lt;/code&gt;.&lt;/p&gt;&#xA;" OwnerUserId="34401" LastActivityDate="2015-09-06T18:09:43.630" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32463" PostTypeId="2" ParentId="32448" CreationDate="2015-09-06T18:47:34.663" Score="1" Body="&lt;p&gt;The complexity of intermediate problems stands everywhere, since that case is impossible.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $b$ be the base of $\log$. $\:$ (It's probably $2$ or $e$, but it's value isn't important.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For all $n$, if $\: b &amp;lt; n \:$ then $$2^{\hspace{.02 in}(\hspace{.02 in}\log(n))^{1+\frac1{\log(\log(n))}}} \; = \; 2^{\left(\hspace{-0.03 in}(\hspace{.02 in}\log(n))^1\hspace{-0.02 in}\right) \cdot \left(\hspace{-0.06 in}(\hspace{.02 in}\log(n))^{\frac1{\log(\log(n))}}\hspace{-0.03 in}\right)} \; = \; 2^{\hspace{.02 in}\log(n) \cdot \left(b^{\hspace{.02 in}\log(\log(n))\hspace{.03 in}}\right)^{\frac1{\log(\log(n))}}} \\ = \; 2^{\hspace{.02 in}\log(n) \cdot b^{\hspace{.02 in}\log(\log(n)) \cdot \frac1{\log(\log(n))}}} \; = \; 2^{\hspace{.02 in}\log(n) \cdot b^1} \; = \; 2^{\hspace{.02 in}\log(n) \cdot b} \; = \; \left(b^{\hspace{.02 in}\log(2)}\hspace{-0.04 in}\right)^{\hspace{.02 in}\log(n) \cdot b} \; \\ = \; b^{\hspace{.02 in}\log(2) \cdot \log(n) \cdot b} \; = \; b^{\hspace{.02 in}\log(n) \cdot \log(2) \cdot b} \; = \; \left(b^{\hspace{.02 in}\log(n)}\hspace{-0.04 in}\right)^{\hspace{.02 in}\log(2) \cdot b} \; = \; n^{\hspace{.02 in}\log(2) \cdot b}$$.&lt;/p&gt;&#xA;" OwnerDisplayName="user6973" LastActivityDate="2015-09-06T18:47:34.663" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32466" PostTypeId="2" ParentId="27384" CreationDate="2015-09-07T14:21:07.417" Score="3" Body="&lt;p&gt;John Harrison's handbook on automated theorem proving contains a fairly detailed description of Cooper's algorithm, including the steps necessary for an implementation in ML.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Harrison, J. (2009). &lt;em&gt;Handbook of practical logic and automated reasoning.&lt;/em&gt; Cambridge University Press.&lt;/p&gt;&#xA;" OwnerUserId="35423" LastActivityDate="2015-09-07T14:21:07.417" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32467" PostTypeId="1" AcceptedAnswerId="32472" CreationDate="2015-09-07T14:23:53.413" Score="6" ViewCount="1167" Body="&lt;p&gt;I recently came across a strange concept and was wondering if this was a known / named concept in the realm of CS.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The concept is that you evaluate some computation or logical circuit that takes in N number of binary inputs and gives an output. (and if doing multiple of these in parallel it could then be N inputs to M outputs)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can then change your mind after the fact about the values of the binary inputs you want the algorithm to have evaluated and essentially re-interpret the result of the original equation to get the answer for those different inputs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The benefit here would be that if there was some complex and lengthy computation, that you could do it once, and then just re-interpret the result to get the answer of that same algorithm for different inputs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It sounds strange I know, but are there any existing methods for this, or terminology at least?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As an example let's say you calculated a function $f(x) = x * 8$ for $x=5$ in a specific way that gave you a resulting bit string.  When an operation was done on the bit string, which was a function of the inputs (say, XOR against a number which was the function of the inputs for example), that the value came out to be 40.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But then, you say &quot;OK but what would it be for $f(6)$?&quot;.  Since 6 is different than 5, the XOR constant changes, but you can use that new XOR constant against the result you already got from the previous calculations, to get the new correct answer of 48.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The decoding process is the same regardless of the algorithm/function being evaluated.  It is a function of the inputs, and has nothing to do with the details of the function itself (so isn't iterative computation).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;it almost seems a little related to a karnaugh map, in that you get something boiled down to the results of the algorithm, no matter how complex the steps were to get to that result originally.&lt;/p&gt;&#xA;" OwnerUserId="35424" LastEditorUserId="35424" LastEditDate="2015-09-08T13:59:51.330" LastActivityDate="2015-09-29T14:05:25.437" Title="Is it a Known Concept to Compute an Algorithm Once and Re-Interpret Answer for Different Inputs" Tags="&lt;reference-request&gt;&lt;terminology&gt;" AnswerCount="8" CommentCount="8" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32468" PostTypeId="2" ParentId="32467" CreationDate="2015-09-07T15:15:47.267" Score="8" Body="&lt;p&gt;Some of the very early work on complexity theory used a sequential time model -- that is, rather than studying the worst-case runtime of the TM that can produce the correct output on an arbitrary input, they studied machines that would run infinitely and enumerate the correct output for each input in lexicographic order.  The complexity of the machine was then based on the worst-case time gap (&quot;delay&quot;) between the enumeration of consecutive outputs.  This model can be used to study the problem of taking an input $1^n$ and producing on output the $2^n$-sized truth table of a language on all inputs of length $n$ , while trying to minimize the average computation time required per input (so $2^n poly(n)$ is considered &quot;efficient&quot; in this model).  This seems pretty similar to the question you're asking.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.308.7011&amp;amp;rep=rep1&amp;amp;type=pdf&quot;&gt;Here&lt;/a&gt; is a paper that uses that model.  &lt;a href=&quot;https://rjlipton.wordpress.com/2012/06/15/why-the-hartmanis-stearns-conjecture-is-still-open/&quot;&gt;Here&lt;/a&gt; is a blog post that is only somewhat related, but includes some references that you might find interesting.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One note about this model is that for some NP problems, including SAT, you can print their truth table in polynomial time per bit by exploiting the self-reducibility of the problem.  For example, with SAT, you can always efficiently find the next bit of the truth table by fixing one of the variables, computing the reduced version of the problem under this variable fix, and then looking up the solution to the reduced version of the problem in the truth table that you have computed so far.&lt;/p&gt;&#xA;" OwnerUserId="11051" LastActivityDate="2015-09-07T15:15:47.267" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32469" PostTypeId="2" ParentId="32458" CreationDate="2015-09-07T17:44:29.703" Score="0" Body="&lt;p&gt;This problem can be solved using a fairly standard dynamic programming approach, in time $O(n\cdot \Sigma_{w\in L} |w|)$. This is not counting the complexity of big number arithmetic, which would bring the running time to something like $O(n^2 \log |L| \cdot \Sigma_{w\in L} |w|)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I believe the answer to your sample problem is (barring any mistakes in my program):&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;4361583841553844512216859806590291394203513538220428254669943773111822&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;(Approximately $4.36\cdot 10^{69}$, given that the total number of strings of length $50$ is $5.61\cdot 10^{70}$ this seems reasonable; &quot;or&quot; should be fairly common as a substring.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the following $||$ denotes concatenation, $\emptyset$ the empty string and $\bar{w}$ denotes the string $w$ with its first character removed.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$f(w,i)=\begin{cases}&#xA;    \Sigma|^i, &amp;amp; \text{if $w$ contains a word of $L$}.\\&#xA;     0, &amp;amp; \text{if $i = 0$}.\\&#xA;     f(\bar{w}, i), &amp;amp; \text{if $w$ is not a prefix of any word in $L$}.\\&#xA;      \Sigma_{c\in \Sigma} \space f(w || c, i-1), &amp;amp; \text{otherwise}.&#xA;  \end{cases}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$f(\emptyset, n)$ is the value you're after. It can be computed (efficiently) using dynamic programming.&lt;/p&gt;&#xA;" OwnerUserId="28912" LastEditorUserId="28912" LastEditDate="2015-09-07T18:44:33.203" LastActivityDate="2015-09-07T18:44:33.203" CommentCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="32471" PostTypeId="2" ParentId="32445" CreationDate="2015-09-07T19:12:10.323" Score="3" Body="&lt;p&gt;This paper by Jurgen Schmidthuber might be of interest:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://arxiv.org/pdf/cs/0309048.pdf&quot; rel=&quot;nofollow&quot;&gt;http://arxiv.org/pdf/cs/0309048.pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="13286" LastActivityDate="2015-09-07T19:12:10.323" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32472" PostTypeId="2" ParentId="32467" CreationDate="2015-09-07T19:58:38.370" Score="17" Body="&lt;p&gt;I'm not sure, but you might be talking about what has been termed &lt;strong&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Incremental_computing&quot;&gt;incremental computation&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The key idea behind incremental computation is to program in a way such that the program responds to input changes by updating its output while &lt;strong&gt;only re-evaluating those portions of the program affected by the change&lt;/strong&gt;. Incremental computing is feasible in situations where input changes lead to relatively small changes in the output. Clearly, in limiting cases one cannot avoid a complete re-computation of the output, but in many cases the results of the previous computation may be re-used to obtain the updated output more quickly than a complete re-evaluation. In many cases, taking advantage of incrementality therefore dramatically improves performance, especially as the input size increases. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Designing and developing applications that respond to incremental modifications, however, is challenging: it often involves developing highly specific, complex algorithms.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This has lead some people to investigate the idea of moving the responsibility to avoid reevaluation where possible to the language run-time: instead of expecting the programmer to develop software for a particular application and a particular class of incremental modifications, the language run-time is tracking the dynamic data dependences of the computation and incrementally updating their output as needed. This is called  or &lt;strong&gt;self-adjusting computation&lt;/strong&gt;, and  the person most associated with this programming language approach is Umut Acar. I recommend visiting &lt;a href=&quot;http://www.umut-acar.org/self-adjusting-computation&quot;&gt;his website&lt;/a&gt; for further information.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that ideas like this go back to the 1950s. Ad-hoc forms of incremental computing are heavily used in modern web-browsers because you don't want to reprocess (&quot;reflow&quot;) the full page when a mutatation (e.g. Javascript performs a DOM operation) is performed. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I also recommend to consider the  related field of &lt;strong&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Online_algorithm&quot;&gt;online algorithms&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;&#xA;" OwnerUserId="898" LastEditorUserId="898" LastEditDate="2015-09-07T20:08:08.870" LastActivityDate="2015-09-07T20:08:08.870" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32473" PostTypeId="1" CreationDate="2015-09-07T20:37:35.693" Score="3" ViewCount="358" Body="&lt;p&gt;Almost the exact same question was asked &lt;a href=&quot;https://cstheory.stackexchange.com/questions/8200/counting-words-accepted-by-a-regular-grammar&quot;&gt;here&lt;/a&gt;, but nobody proved or cited its #P-completeness! I found this question because I proved it is #P-complete (proof below), and the proof was &lt;em&gt;trivial&lt;/em&gt;, but I couldn't find it anywhere on the web or in the discussion on that question! (One person commented &quot;I suspect it is #P-complete&quot;.) So either my proof is wrong, which you can judge for yourself, or the result is novel, which I would think is highly unlikely. Which is it?&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Proof:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider the set of regular expressions formed by the union and concatenation of symbols from $(\Sigma\cup{.})$, where $\Sigma$ is an alphabet and $.$ is a symbol for any $l\in\Sigma$. I will show that #SAT reduces in $O(mn)$ time to counting the number of strings that satisfy such a regex, where $m$ is the number of clauses and $n$ is the number of variables in the given formula $\varphi$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The reduction is very simple. First, reduce #SAT to #UNSAT by noting that if $\varphi$ has $n$ variables, then $\#\text{SAT}(\varphi) = 2^n - \#\text{UNSAT}(\varphi)$. So now we have to count the number of falsifying assignments of the variables of $\varphi$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To falsify $\varphi$, it suffices to falsify just one clause. We therefore want to find &#xA;$$\left|\bigcup \limits_{C\in\varphi}F(C)\right|$$&#xA;where $F(C)$ is the set of assignments of literals that falsify $C$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;We thus write a regex representing the language of falsifying assignments for each clause. Using $\Sigma = \{0,1\}$, and letting $r_i$ be the $i^{th}$ symbol of a regex $r$, the regex for the language of assignments that falsify a clause $C$ is&#xA;$$&#xA;r_i = \begin{cases}&#xA;         0 &amp;amp; \text{if } x_i\in C \\&#xA;         1 &amp;amp; \text{if } \overline{x_i}\in C \\&#xA;         . &amp;amp; \text{otherwise}&#xA;      \end{cases}&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We then take the union of the regexes for each clause $C\in\varphi$. For example, if $\varphi = (x_1\vee \overline{x_2}\vee x_3) \wedge (x_1\vee x_3\vee \overline{x_4})\wedge (\overline{x_1}\vee \overline{x_4})$ we would have $r = $&lt;code&gt;010.|0.01|1..1&lt;/code&gt;, where &lt;code&gt;|&lt;/code&gt; denotes union. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The construction yields a union of $m$ strings, each of $n$ symbols. Thus the reduction takes $O(mn)$ time and the size of the regex-counting instance is polynomial in the size of the formula. Further, any regular expression that uses only concatenation, dot, and union represents a finite regular language (specifically, there is no Kleene star). So since we can solve #SAT by counting strings that satisfy such a regex, we can say that counting the words in a finite language is #P-complete.&lt;/p&gt;&#xA;" OwnerUserId="25335" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2016-12-19T16:36:46.070" Title="Is counting the words in a finite regular language #P-complete?" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;complexity-classes&gt;" AnswerCount="1" CommentCount="8" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32474" PostTypeId="2" ParentId="32467" CreationDate="2015-09-07T21:03:57.300" Score="2" Body="&lt;p&gt;This paper describes a new form of incremental computation: taking derivatives on data-type-valued functions (e.g. List-valued functions).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.informatik.uni-marburg.de/~pgiarrusso/papers/pldi14-ilc-author-final.pdf&quot; rel=&quot;nofollow&quot;&gt;http://www.informatik.uni-marburg.de/~pgiarrusso/papers/pldi14-ilc-author-final.pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="13286" LastActivityDate="2015-09-07T21:03:57.300" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32475" PostTypeId="2" ParentId="32445" CreationDate="2015-09-07T21:20:31.290" Score="5" Body="&lt;p&gt;As &lt;a href=&quot;https://cstheory.stackexchange.com/a/32471/21598&quot;&gt;@user217281728's answer&lt;/a&gt; mentions there are a type of machines related more to inference and AI, called &lt;a href=&quot;https://en.wikipedia.org/wiki/G%C3%B6del_machine&quot; rel=&quot;nofollow noreferrer&quot;&gt;Gödel Machines&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;A Gödel machine is a self-improving computer program invented by&#xA;  Jürgen Schmidhuber that solves problems in an optimal way. It uses a&#xA;  recursive self-improvement protocol in which it rewrites its own code&#xA;  when it can prove the new code provides a more optimal strategy.&#xA;  The machine was invented by Jürgen Schmidhuber, but is named after&#xA;  Kurt Gödel who inspired the mathematical theories.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The referenced publication of Jürgen Schmidhuber on &lt;a href=&quot;http://arxiv.org/abs/cs/0309048v5&quot; rel=&quot;nofollow noreferrer&quot;&gt;&quot;Goedel Machines: Self-Referential Universal Problem Solvers Making Provably Optimal Self-Improvements&quot;, (2006) arXiv:cs/0309048v5&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The way the machine works to implement &lt;em&gt;meta-learning&lt;/em&gt; has two phases:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Learning from data (level 1, learn)&lt;/li&gt;&#xA;&lt;li&gt;Using learned data to modify/optimise its source code/algorithm (level 2, learn to learn)&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Since the machine modifies its own source it is self-referential, i.e has the self-modification property (see also &lt;a href=&quot;https://cs.stackexchange.com/a/29646/17369&quot;&gt;here&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In this sense it can modify the learning algorithm itself in a rigorous sense (proving optimal self-modifications). There are the problems with self-reference and undecidability which in this case take the form:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;..a Gödel machine with unlimited computational resources must ignore&#xA;  those self-improvements whose effectiveness it cannot prove&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Other languages (and their associated interpreter machines) which have the self-modification property are for example &lt;a href=&quot;https://en.wikipedia.org/wiki/Lisp_%28programming_language%29&quot; rel=&quot;nofollow noreferrer&quot;&gt;LISP&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In LISP code and data are inter-changeable, or the source code AST is available as data, in the LISP program and can be modified as data. On the other hand, data can be seen as AST, for some source code.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;update&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are &lt;a href=&quot;https://www.eecis.udel.edu/~case/self-ref.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;other machines as well&lt;/a&gt;, like &lt;a href=&quot;http://www.self-programming-machines.org/&quot; rel=&quot;nofollow noreferrer&quot;&gt;self-programming machines&lt;/a&gt; (among others) which combine &lt;strong&gt;self-reference&lt;/strong&gt;, &lt;strong&gt;self-reproduction&lt;/strong&gt; and &lt;strong&gt;self-programming&lt;/strong&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One interesting aspect of the above is that &lt;strong&gt;self-reference is not problematic&lt;/strong&gt; at all, rather it is a &lt;strong&gt;necessary element in &lt;a href=&quot;https://en.wikipedia.org/wiki/Von_Neumann_universal_constructor&quot; rel=&quot;nofollow noreferrer&quot;&gt;self-reproduction&lt;/a&gt; / self-programming automata&lt;/strong&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For further details (and more publications) refer to &lt;a href=&quot;http://www.self-programming-machines.org/pdf/SPM3.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;J.P Moulin, C.R Biologies 329 (2006)&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;abstract&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Living systems are capable to have appropriate responses to&#xA;  unpredictable environment. This kind of self-organisation seems to&#xA;  operate as a self-programming machine, i.e an oprganisation able to&#xA;  modify itself. Until now the models of self-organisation of living&#xA;  beings proposed are functions solutions of differential systems or&#xA;  transition functions of automata. These functions are fixed and these&#xA;  models are therefore unable to modify their organisation. On the other&#xA;  hand, computer science propose a lot of models having the properties&#xA;  of adaptive systems of living beings, but all these models depend on&#xA;  the comparison between a goal and the results and ingenious choices of&#xA;  parameters by programmers, whereas there are no programmer's intention&#xA;  nor choice in the living systems. From two best known examples of&#xA;  adaptive systems of living beings, nervous system and immune system&#xA;  that have in common that the external signals modify the rewriting of&#xA;  their organisation and therefore works as a self-organising machines,&#xA;  we devised machines with a finite set of inputs, based upon a&#xA;  recurrence, are able to rewrite their organisation (Self-programming&#xA;  machines or $\mathbb{m}_\mathbb{sp}$) whenever external conditions&#xA;  vary and have striking properties of adaptation.&#xA;  $\mathbb{M}_\mathbb{sp}$ have similar properties whatever the&#xA;  operation defining the recurrence maybe. These results bring us to&#xA;  make the following statement: adaptive properties of living systems&#xA;  can be explained by their ability to rewrite their organisation&#xA;  whenever external conditions vary under the only assumption that the&#xA;  rewriting mechanism be a deterministic constant recurrence in a finite&#xA;  state set.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="21598" LastEditorUserId="-1" LastEditDate="2017-04-13T12:48:30.830" LastActivityDate="2016-01-17T14:38:26.030" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32476" PostTypeId="2" ParentId="32422" CreationDate="2015-09-07T23:04:20.553" Score="1" Body="&lt;p&gt;No.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First we have the standard bound for how close the distribution is to stationary after $t$ steps. Letting $v$ be the initial distribution, we have (I write my matrices on the left)&#xA;$||(P^tv)_i-(P^t\pi)_i||\le ||P^tv-P^t\pi||_1\le \sqrt n ||P^t(v-\pi)||_2\le \sqrt n \lambda_2^n\sqrt n=n\lambda_2^t$ which is $\le \epsilon$ for $t=\log_{1/\lambda_2}(n/\epsilon)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assume (i) and (ii) hold. So starting from $i$ (or any probability distribution), there is a $\ge \beta - \epsilon$ chance that it hits $j$ on the $\log_{1/\lambda_2}(n/\epsilon)=O_{\lambda_2,\epsilon}(\log n)$th step. If it hasn't hit, there is another $\beta - \epsilon$ chance it will hit in the next so many steps. The expected hitting time is at most $\sum_{m=1}^{\infty}(1-\beta+\epsilon)^{m-1}(\beta-\epsilon) mO_{\lambda_2,\epsilon}(\log n)=O_{\lambda_2,\epsilon,\beta}(\log n)$.&lt;/p&gt;&#xA;" OwnerUserId="20907" LastActivityDate="2015-09-07T23:04:20.553" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32477" PostTypeId="1" AcceptedAnswerId="32480" CreationDate="2015-09-07T23:49:00.120" Score="1" ViewCount="637" Body="&lt;p&gt;I have two questions:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By starting with a nondeterministic Büchi automaton (NBA) $\mathcal{A}^{\varphi} = (Q, \Sigma, \rightarrow, I, F )$ for an $\omega$-regular property $\varphi$, we can construct a NFA $\widehat{\mathcal{A}}^{\varphi} = (Q^{\prime}, \Sigma, \rightarrow^{\prime}, I^{\prime}, F^{\prime} )$ that recognizes the bad prefixes of $\varphi$ as the &lt;strong&gt;&lt;em&gt;complement&lt;/em&gt;&lt;/strong&gt; of NFA $\overline{\mathcal{A}}^{\varphi} = (Q, \Sigma, \rightarrow, I, F_1 )$:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For every state $q \in Q$, if there &lt;strong&gt;&lt;em&gt;is&lt;/em&gt;&lt;/strong&gt; a nontrivial strongly connected component (SCC) $C \subseteq Q$ such that  $C \cap F \neq \emptyset$ and $C$ is reachable from $q$, then $F_1 \leftarrow F_1 \cup \{q\}$. Basically, $q$ is in $F_1$ iff the language of $\mathcal{A}^{\varphi}$ starting from $q$ is nonempty.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;N.B.&lt;/strong&gt; A SCC consisting of a single state with a self-loop is considered nontrivial SCC.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Does NFA $\widehat{\mathcal{A}}^{\varphi}$ recognize &lt;em&gt;all&lt;/em&gt; bad prefixes of $\varphi$ and, hence, $\omega$-regular &lt;strong&gt;safety&lt;/strong&gt; properties are regular &lt;strong&gt;safety&lt;/strong&gt; properties, where a safety property is &lt;em&gt;regular&lt;/em&gt; if its set of bad prefixes is a regular language?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;By determinizing and complementing $\widehat{\mathcal{A}}^{\varphi}$, we can get a NBA $\mathcal{B}^{\psi}$.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is $\psi = Closure(\varphi)$?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;According to &lt;a href=&quot;https://mitpress.mit.edu/books/principles-model-checking&quot; rel=&quot;nofollow&quot;&gt;PMC&lt;/a&gt;, $Closure(\varphi)$ of a linear-time property $\varphi \subseteq \Sigma^{\omega}$ is the set of all infinite words whose finite prefixes are also prefixes of $\varphi$. This coincides with the notion of closure from topology, and $Closure(\varphi)$ will always be a safety property.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Sorry for the elementary question.&lt;/p&gt;&#xA;" OwnerUserId="17514" LastEditorUserId="2367" LastEditDate="2020-07-07T19:09:47.720" LastActivityDate="2020-07-07T19:09:47.720" Title="Regular safety properties and bad prefixes of $\omega$-regular properties" Tags="&lt;model-checking&gt;&lt;program-verification&gt;&lt;temporal-logic&gt;&lt;omega-language&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="32478" PostTypeId="1" CreationDate="2015-09-08T00:12:36.793" Score="0" ViewCount="108" Body="&lt;p&gt;Given a finite alphabet set $\Sigma$, the set $\Sigma^{\omega}$ of infinite words over $\Sigma$ can be topologized with a metric $d: \Sigma^{\omega} \rightarrow \mathbb{R}$ such as:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\forall w_1, w_2 \in \Sigma^{\omega}:\ d(w_1, w_2) = \frac{1}{2^n}$, where $n$ is the longest common prefix.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a linear-time (LT) property $P \subseteq \Sigma^{\omega}$, $P$ is a liveness property iff it is a dense subset of $\Sigma^{\omega}$. Also, $P$ is a safety property iff it is a closed set.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;According to this topology, every finite prefix $u \in \Sigma^{\ast}$ corresponds to the &lt;em&gt;ball&lt;/em&gt; of all infinite extensions of $u$. The radius of that ball is inverse-exponentially related to the length of $u$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have one question:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there some precise sense in which a liveness property $P$ can be approximated with a safety property, e.g., by applying some (possibly arbitrarily large) timeouts on all eventualities in $P$?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;What is meant by timeout, since temporal logic does not know about real time?&lt;/strong&gt; This question mainly arose in synchronous digital circuits where there is a clock signal and every clock edge means an event $\sigma \in \Sigma$ depending on logic signal values observed by that edge.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This question might sound odd, but the answer will surely be illuminating to me (e.g., a topologist might say dense subsets can only be approximated by the entire space $\Sigma^{\omega}$, which is the only property that is both liveness and safety).&lt;/p&gt;&#xA;" OwnerUserId="17514" LastEditorUserId="17514" LastEditDate="2015-09-08T00:17:38.533" LastActivityDate="2015-09-08T00:17:38.533" Title="Approximating liveness properties with safety properties" Tags="&lt;model-checking&gt;&lt;approximation&gt;&lt;topology&gt;&lt;temporal-logic&gt;" AnswerCount="0" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="32479" PostTypeId="2" ParentId="32467" CreationDate="2015-09-08T03:23:23.607" Score="4" Body="&lt;p&gt;Many times, we can use &lt;a href=&quot;https://en.wikipedia.org/wiki/Linearization&quot; rel=&quot;nofollow&quot;&gt;Linearization&lt;/a&gt; of a function to approximate values near a point to reasonable accuracy. A single answer is generated with expensive algorithms (e.g., $\sqrt{2}\approx1.41421...$) then nearby answers are generated from that answer with a simple algorithm (e.g., $\sqrt{x}\approx0.35355x+0.70711, x\approx2$. Using expensive algorithms, $\sqrt{2.05}\approx1.43178$, while the cheap algorithm produces $\sqrt{2.05}\approx1.43189$. $\sqrt{1.95}\approx1.39642$ (expensive) and $\sqrt{1.95}\approx1.39653$ (cheap) are likewise quite close.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A really simplified version of the above is when we approximate a function as constant near a point, such as the surface gravity of a planet. $f={{m_om_nG}\over{r^2}},a={f\over{m_o}}$ becomes $a=c_n$ where $c_n$ is calculated once at planet $n$'s creation in a game or simulation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To a large extent though, this &quot;strange concept&quot; is how basic computer science works. We save intermediate results then calculate many end results from that number, rather than re-doing expensive computations repeatedly. It's just that normal programming simplifies the concept further. $s=\sqrt{2}, x=s+4, y=s+9$ is more readable than $x=\sqrt{2}+4, y=x+5$ (especially if we're calculating hundreds of variables), and if we don't know the offsets ahead of time, $s=\sqrt{2}, x=s+O_x, y=s+O_y$ is faster than $x=\sqrt{2}+O_x, y=x+(O_y-O_x)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another way to use previous data is the incremental results methods used in things like data backup and video streaming to save bandwidth and time. Each frame is re-calculated using multiple differential frames rather than being transmitted in its entirety.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A different class of this concept is calculations that require super-slow or real-money-expensive processes, like humans or sending satellites to space. We take these &quot;algorithms&quot; and re-interpret the results in a different context. For example, we can measure irradiance from the Sun near Earth at $1367 {W\over{m^2}}$ using expensive satellite equipment. Now we can calculate irradiance near other bodies quickly and cheaply. For example, $P_{Mars}=P_{Earth}{(1 AU)^2\over(1.52 AU)^2}\approx592{W\over{m^2}}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Addendum:&lt;br&gt;&#xA;I don't think what you're asking for is possible in a direct sense. If getting $f(x+\Delta x)$ from $f(x)$ is somehow easier than plugging $x+\Delta x$ directly into $f()$ then you can probably simplify $f()$ somehow.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let's use your example. $f(x_1)=8x_1=h$, so now we want to find $f(x_2)$$=f(x_1+\Delta x)$ as a function of $h$ and something else. $f(x_1+\Delta x)$$=8(x_1+\Delta x)$$=h+8\Delta x$$=h+8(x_2-x_1)$. We could try it as $f(x_2)=f(x_1*k_2)$, which gets $f(x_2)$$=8(x_1k_2)$$=h{{x_2}\over{x_1}}$. In either case, we do more work getting $x_2$ from $x_1$ than just calculating $f(x_2)=8x_2$ directly.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I don't have mathematical proof of this, but I would imagine this holds for any complex function, because a function is &lt;em&gt;already&lt;/em&gt; a definition of how to relate inputs to outputs. If you could somehow re-define an extremely complex formula for all inputs relative to a known output, then nobody would bother with the complex formula anymore except to show how they got the fast formula.&lt;/p&gt;&#xA;" OwnerUserId="35429" LastEditorUserId="35429" LastEditDate="2015-09-08T19:35:23.357" LastActivityDate="2015-09-08T19:35:23.357" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="32480" PostTypeId="2" ParentId="32477" CreationDate="2015-09-08T14:37:18.240" Score="2" Body="&lt;p&gt;Your construction for bad prefixes is not correct on NBA's. &#xA;For instance take the NBA on alphabet $A=\{a,b\}$ with two initial states $q_a$ and $q_b$ where for both $x\in A$, $q_x$ goes to an accepting sink if the first letter is $x$ and to a rejecting sink if the first letter is not $x$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then the language recognized is $A^\omega$, but the set of &quot;bad prefixes&quot; you compute is $A^*$ i.e. all finite words.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Your construction works if you first determinize the automaton. Then the new final states are the ones which cannot reach a component $C$ accepting some infinite word. Careful though, the deterministic automaton is no longer Büchi, it is a parity automaton, so it is a little more complicated to check if a component has empty language.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As for your question about closure, you are essentially asking if for any regular language $L$, $Closure(L)$ is the set of words containing no bad prefixes of $L$. This is true: a word is in the closure of $L$ iff it is arbitrarily close to words in $L$ iff it does not contain a bad prefix.&lt;/p&gt;&#xA;" OwnerUserId="8953" LastActivityDate="2015-09-08T14:37:18.240" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="32481" PostTypeId="2" ParentId="32451" CreationDate="2015-09-08T15:11:14.950" Score="4" Body="&lt;p&gt;A model of computation allowing real numbers is the Real-RAM model. In this model, it is impossible to even decide if a number is rational. Indeed, the time-T halting sets are semialgebraic. If any one of them has a non-empty interior, then the time-T yes-set and time-T no-sets are semialgebraic subsets with no-empty interior, which is a contradiction. If none of the time-T halting sets is semialgebraic, then their union cannot be $\mathbb{R}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Answer to the previous version of the question:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $a_1,\dotsc,a_k$ are algebraic numbers that are linearly independent over $\mathbb{Q}$, then $e^{a_1},\dotsc,e^{a_k}$ are algebraically independent over $\mathbb{Q}$. This is the &lt;a href=&quot;https://en.wikipedia.org/wiki/Lindemann%E2%80%93Weierstrass_theorem&quot; rel=&quot;nofollow&quot;&gt;Lindemann–Weierstrass theorem&lt;/a&gt;. So, if $a$'s are algebraic (as in the current version of the question), then the answer to your question is &quot;yes&quot;. &lt;/p&gt;&#xA;" OwnerUserId="2226" LastEditorUserId="2226" LastEditDate="2015-09-08T18:37:24.810" LastActivityDate="2015-09-08T18:37:24.810" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="32482" PostTypeId="2" ParentId="12689" CreationDate="2015-09-08T17:37:21.457" Score="2" Body="&lt;h2&gt;Overview&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;This problem is NP-hard; more precisely, the associated decision problem (in which we ask whether a target number of tridents $k$ can cover all of the given $x_i$s) is NP-hard. We will refer to this decision problem as the Numerical Trident Cover Problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To prove that the Numerical Trident Cover Problem is NP-hard, we introduce the following intermediate problem, which we will call the Grid Triangle Cover Problem:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Input&lt;/strong&gt;: A finite set $S \subset \mathbb{Z}^+ \times \mathbb{Z}^+$ of integer coordinate pairs and an integer value $k$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Output&lt;/strong&gt;: Yes or no, with an output of yes if and only if there exists a set $T \subset \mathbb{Z} \times \mathbb{Z}$ with $|T| \le k$ such that $S \subseteq \bigcup_{(x,y) \in T} \{(x, y), (x, y+1), (x+1, y)\}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thinking about this problem graphically, we are given a subset of the integer lattice and asked to cover every point in this subset with $k$ side-length-$(1, 1, \sqrt{2})$ right triangles in a particular orientation (in particular these triangles must have vertices of the form $(x, y)$, $(x, y+1)$, and $(x+1, y)$). We are asked to say yes if and only if this is possible.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To show that Numerical Trident Cover is NP-hard, we provide two reductions: a reduction from Planar 3SAT to Grid Triangle Cover and a reduction from Grid Triangle Cover to Numerical Trident Cover. Together, these compose into a reduction from the NP-hard problem Planar 3SAT to the Numerical Trident Cover problem, implying that Numerical Trident Cover is NP-hard.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that since we are using real numbers in the Numerical Trident Cover Problem, the issue of encoding and input size should come up. We avoid this problem by always using numbers of the form $p + q\sqrt{2}$ in our Numerical Trident Cover instances, allowing for an efficient encoding simply by encoding $p + q\sqrt{2}$ as $(p, q)$. In fact, the problem is still hard even if the numbers are further restricted to be integers, though that reduction requires a bit more work, and is therefore omitted here.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Reduction 1: From Grid Triangle Cover to Numerical Trident Cover.&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;Suppose we are given an instance of the Grid Triangle Cover problem consisting of a set $S \subseteq \mathbb{Z}^+ \times \mathbb{Z}^+$ and a number $k$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then we construct an instance of Numerical Trident Cover (consisting of a list of real numbers $x_1, ..., x_N$, a pair $a, b$, and a target number of tridents $k'$) as follows.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let the elements of $S$ be $s_1 = (p_1, q_1), s_2 = (p_2, q_2), ..., s_{|S|} = (p_{|S|}, q_{|S|})$. For each $i$ from $1$ to $N = |S|$ let $x_i = -p_i + q_i \sqrt{2}$. Let $a = 1$ and $b = \sqrt{2}$. Finally, let $k' = k$. This is the output instance of Numerical Trident Cover. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This reduction is clearly a polynomial time operation, so the only thing left to show is that the reduction is answer preserving. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;To do this, consider the &quot;reasonable&quot; places to put the tridents. The only places where we can put a trident so that it hits at least one $x_i$ are locations of the form $x_i$, $x_i + a$, or $x_i - b$. For each of the $x_i$s, these three values are all of the form $-v_a + v_b \sqrt{2}$ for some integers $v_a$ and $v_b$. Thus we can restrict our attention to numbers of the form $-v_a + v_b \sqrt{2}$. Define the bijection $f$ between the set of all $p + q \sqrt{2}$ and the set of all pairs of integers according to the rule $f(-v_a + v_b\sqrt{2}) = (v_a, v_b)$. Note that $f$ maps $x_i$ to $s_i$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also note that if a trident is located at $-p + q\sqrt{2}$ then its three prongs are located at $-(p+1) + q\sqrt{2}$, $-p + q\sqrt{2}$, and $-p + (q+1)\sqrt{2}$. In other words, the image of the three prongs under $f$ consists of points $(p,q)$, $(p+1, q)$, and $(p, q+1)$. The image of a trident under $f$ is exactly a triangle of the form we are using to cover the values in $S$. Similarly, every properly oriented triangle maps to a trident under $f^{-1}$. In fact, the triangles and tridents are in exact bijection under $f$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since $f$ is bijective, it is clearly the case that some set of tridents covers $\{x_1, ..., x_{|S|}\}$ if and only if the images of those tridents under $f$ cover $S = \{s_1, ..., s_{|S|}\} = \{f(x_1), ..., f(x_{|S|})\}$. Then since the image of a trident under $f$ is a side-length-$(1,1\sqrt{2})$ triangle in the proper orientation, we can conclude that we can cover the $x_i$s with $k$ tridents if and only if we can cover the set $S$ with $k$ side-length-$(1,1\sqrt{2})$ triangles in the proper orientation. We conclude that the reduction is answer preserving. &lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Reduction 2: From Planar 3SAT to Grid Triangle Cover.&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;For this reduction, we are given a 3SAT instance in the form of a planar bipartite graph. The vertices in one part correspond to variables, and the vertices of the other part, each of degree 3, correspond to clauses. Each edge is labeled as positive or negative, indicating which way the variable is included into the clause (positively or negatively).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then we can construct a Grid Triangle Cover instance $(S, k)$. We can construct $S$ out of variable gadgets, clause gadgets, and wire gadgets. After describing these gadgets and their desired behaviors, we will be able to describe how $k$ is computed.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First we describe a wire. A wire consists of a sequence of an odd number of points (in the integer lattice) where the first and last are called terminals such that every consecutive pair can be covered by a triangle without the triangle hitting any other point in the wire. As an example consider the following wire:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;xoo       x&#xA;   o       o&#xA;   o ooo   o&#xA;   o o  oooo&#xA;    oo&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;The point of a wire is that it can be satisfied using a minimum number of covering triangles in two ways. In particular, if $p$ is the number of non-terminal points in the wire (&quot;o&quot;s in the above example) then $\frac{p+1}{2}$ triangles are necessary and those triangles will, in addition to covering the non-terminal points, cover exactly one of the two terminals.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here we show the two ways to cover the example from above (where two points are labeled the same number if they are covered by the same triangle):&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;x11       9&#xA;   2       9&#xA;   2 556   8&#xA;   3 4  6778&#xA;    34&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;or&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;112       x&#xA;   2       9&#xA;   3 566   9&#xA;   3 5  7788&#xA;    44&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;One concern is that we might wish to connect two terminals with a wire but be unable to do so because any &quot;wire&quot; between those two terminals would have even length. However, that is not the case: we can always choose a route for a wire to make that wire have odd length (and therefore be a valid wire). Replacing any horizontal segment of wire of length 6 with the following length 7 wire segment can fix the parity of the wire length:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;oo  oo&#xA;  ooo &#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Next we introduce a clause gadget. A clause simply connects one of the terminals of three wires in such a way that if one of the wires is satisfied so that the shared terminal is covered, then the triangle covering that shared terminal does not cover any points from the other wires:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;      o&#xA;      o&#xA;      o&#xA;   ooox&#xA;       ooo&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;In order for the shared terminal to be covered, at least one of the three wires must be satisfies in such a way that the triangles satisfying the wire do not cover the wires' non-shared terminal. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, we introduce the variable gadget. The variable gadget is a large wire-like loop (of even length) with terminals optionally occurring to the side every three rows as follows:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;oo&#xA;o o&#xA;o ox&#xA;o o&#xA;o o&#xA;o ox&#xA;o o&#xA;o o&#xA;o ox&#xA;o o&#xA;o o&#xA;o ox&#xA;o o&#xA; oo&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;The variable can grow vertically to accommodate the necessary number of terminals The terminals on rows of even parity correspond to positive occurrences of the variable and those on rows of odd parity correspond to negative occurrences. As with wire, the non-terminal points of the variable gadget can be satisfied using the minimum number of triangles (half the number of points in the loop) in exactly two ways. Those two settings cover either all the positive occurrence terminals or all the negative occurrence terminals of the variable gadget.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Putting it all together is pretty obvious: we build the bipartite graph using variable gadgets, clause gadgets (shared terminals) and wires connecting the terminals. The total number of triangles necessary to cover the non-terminal points of the wires and variables is then the target number of triangles.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Clearly we cannot cover the entire grid with fewer than that triangles. Furthermore, we can be assured that the non-terminal points are each covered since the variables and wires will each be satisfied in one of the two ways described. Thus the only task is to satisfy the terminals.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;At each variable, either all the positive or all the negative occurrence terminals will be satisfied by the variable gadget. The other terminals at the gadget have to be satisfied by their attached wires. Then the clause terminals can be satisfied if and only if every clause is attached to at least one wire whose other terminal did not already use up the wire (a wire whose other terminal was satisfied by its attached variable gadget). In other words, the terminals are all satisfied if and only if the assignment of variables according to the settings of the variable gadgets satisfies every clause.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As you can see, the produced Grid Triangle Cover instance is a yes instance if and only if the input Planar 3SAT instance is a yes instance. Since this reduction is also polynomial time (all of the gadgets require space polynomial in the size of the input instance), we conclude that we have a valid reduction. &lt;/p&gt;&#xA;" OwnerUserId="34401" LastActivityDate="2015-09-08T17:37:21.457" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32483" PostTypeId="2" ParentId="32467" CreationDate="2015-09-08T18:08:06.440" Score="4" Body="&lt;p&gt;This is basically what &lt;strong&gt;dynamic data structures&lt;/strong&gt; and &lt;strong&gt;streaming algorithms&lt;/strong&gt; are about. A few links, off the top of my Google: &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.stingergraph.com/papers/HPEC12_Ediger.pdf&quot; rel=&quot;nofollow&quot;&gt;High performance data structure for streaming graphs&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://erikdemaine.org/theses/mpatrascu.pdf&quot; rel=&quot;nofollow&quot;&gt;Mihai Patrascu's thesis&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://arxiv.org/abs/1408.3045&quot; rel=&quot;nofollow&quot;&gt;Dynamic Integer Sets with Optimal Rank, Select, and Predecessor Search&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.dis.uniroma1.it/~demetres/docs/dynamic-techniques.pdf&quot; rel=&quot;nofollow&quot;&gt;Dynamic shortest paths and transitive closures&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;For example, a dynamic data structure for shortest paths in a graph computes all shortest paths in a graph, and then when you add or remove edges to the graph should do the least amount of work needed to update all of the shortest path information. (Actually, frequently it is a combination of running time and the space needed for the data structure that is considered, but for the purposes of this question that's just a detail.)&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2015-09-08T18:08:06.440" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32484" PostTypeId="2" ParentId="32457" CreationDate="2015-09-08T18:30:13.673" Score="6" Body="&lt;p&gt;&lt;em&gt;Great&lt;/em&gt; question! I have also had thoughts along similar lines, but not found anything in the literature that fully answers all of these questions. However, for this part of your question, I think a satisfactory answer is given by Berman &amp;amp; Hartmanis:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;what prevents us from adding some (polynomial amount of) structure to our NP-Complete problems so that reductions from one NP-Complete problem to another converge in size?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;In some sense, nothing: Berman &amp;amp; Hartmanis showed that if two languages have one-to-one, polynomial-time invertible, length-increasing reductions between them in both directions, then the languages are p-isomorphic. (Here a one-to-one function $f$ is poly-time invertible if there is a poly-time function $g$ such that $g(f(x)) = x$ for all $x$, and $g(y)=\bot$ if $y$ is not in the image of $f$.) Two languages being p-isomorphic basically just means that one is a re-encoding of the other, and thus preserves the &quot;structure&quot; of the other in some sense, that I think is similar to what you're talking about. All known natural $\mathsf{NP}$-complete problems are p-isomorphic. The idea of the proof is a ping-pong-type argument.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, as another pointer to the literature: Although the notion of $\mathsf{NP}$-complete is not sensitive to the size of the reduction (so long as it's bounded by a polynomial), the Exponential Time Hypothesis (ETH) and its variants &lt;em&gt;are&lt;/em&gt; sensitive to super-linear blow-ups in size. So there may be some work on ETH that addresses parts of your question.&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2015-09-08T18:30:13.673" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32485" PostTypeId="2" ParentId="7558" CreationDate="2015-09-09T01:14:46.890" Score="-1" Body="&lt;p&gt;As the accepted answer implies, Quantum Mechanics is a linear theory. That means that unless there is a deeper theory that supersedes it (just as it &amp;amp; Einstein's General Relativity jointly replaced Newtonian Mechanics), then you cannot have non-linear evolution of quantum systems.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;BUT, there is a mighty big catch there: There almost certainly IS a deeper theory that supersedes it, a theory of &quot;quantum gravity&quot;. Quantum physics has no model for gravity, and every attempt to add one has caused the whole thing to fall apart. Our best theory for that force, General Relativity, IS nonlinear and is has survived just as much experimental scrutiny as quantum physics.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The upshot is this: For a machine powered purely by known quantum physics, you won't be able to solve NP-complete problems in polynomial time. But that is a far weaker statement than asserting that the laws of physics definitely PRECLUDE solving NP-complete problems efficiently. Start running that quantum computer in a high gravity field and WE DON'T KNOW what will happen. And given that there are plenty of examples in mathematics of conjectures thought to be true for CENTURIES that were later dis-proven, failing to have found any polynomial-time algorithm for solving NP-complete problems (or nonlinear quantum operators) after less than 80 years of searching is more &quot;par for the course&quot; than &quot;hard evidence none exists&quot;. &lt;/p&gt;&#xA;" OwnerUserId="35452" LastActivityDate="2015-09-09T01:14:46.890" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32487" PostTypeId="2" ParentId="32467" CreationDate="2015-09-07T19:56:42.577" Score="5" Body="&lt;p&gt;You seem to be asking about &lt;a href=&quot;https://en.wikipedia.org/wiki/Incremental_computing&quot;&gt;incremental computation&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In general, it takes the following form: we have a function $f$, which is expensive to compute.  We have computed $f(x)$ for a single input $x$.  Now we want to compute $f(x')$, for a second input $x'$ where $x'$ is somehow &quot;similar&quot; to $x$.  It'd be nice if we could take advantage of the fact that we already know $f(x)$ to compute $f(x')$ more quickly than computing it from scratch.  This is the sort of problem that incremental computation helps with.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are many methods for incremental computation: too many to list here.  The particular method to use will depend on the nature of the function $f$.  The Wikipedia article I linked to has a few references to get you started.  If you want more details, you'll probably need to pick a single function $f$ and ask about that one, or a narrowly-defined class of functions $f$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You might also be interested in &lt;a href=&quot;https://en.wikipedia.org/wiki/Strength_reduction&quot;&gt;strength reduction&lt;/a&gt; from the compiler optimization literature.&lt;/p&gt;&#xA;" OwnerUserId="5038" OwnerDisplayName="D.W." LastActivityDate="2015-09-07T20:19:43.517" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="32488" PostTypeId="2" ParentId="32467" CreationDate="2015-09-08T22:55:53.390" Score="6" Body="&lt;p&gt;It's difficult to know what you mean because you're staying at a level that's so high that there's nothing interesting. Specific cases could be very interesting, but the basic idea that having computed a function for one input can make it easier to compute it for other inputs is too general.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It may be that you have a function $f$ such that having computed $f(x)$, you gain some information about $f(g(x))$ for certain choices of functions $g$: there's an equation of the form $\forall x, f(g(x)) = h(f(x))$. The general term for such properties is a &lt;a href=&quot;https://en.wikipedia.org/wiki/Morphism&quot;&gt;morphism&lt;/a&gt;: $f$ is a morphism from $(D,g)$ to $(R,h)$ where $D$ is the domain of $f$ and $R$ is its range. The interesting part is finding useful algebraic structures with such properties.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Sometimes the computation of $f(x)$ involves work that's the same for all possible inputs, or for a subset of possible inputs that are in some sense sufficiently similar. Splitting the computation into a common part and an input-specific part is known as &lt;a href=&quot;https://en.wikipedia.org/wiki/Partial_evaluation&quot;&gt;partial evaluation&lt;/a&gt;. The interesting aspect is finding useful ways to partially evaluate a function, and useful ways to memorize and consult partial results without wasting more time consulting cached partial results than would have been spent recalculating the thing.&lt;/p&gt;&#xA;" OwnerUserId="634" OwnerDisplayName="Gilles" LastActivityDate="2015-09-08T22:55:53.390" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32489" PostTypeId="1" AcceptedAnswerId="32490" CreationDate="2015-09-09T04:40:36.207" Score="5" ViewCount="97" Body="&lt;p&gt;Given an Graph $G(V,E)$ with $|V|=n$ and $|E|=m$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The goal is to find a vertex ordereing $\sigma$ of V such that for each vertex $v\in V$, all neighbours of $v$ occur in $O(\sqrt{m})$ sequences in $\sigma$.&#xA;That is if I locate all neighbours of $v$ in $\sigma$ I find all the neighbours present in chunks in $\sigma$, where number of such chunks is $O(\sqrt{m})$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Clearly any vertex with degree $&amp;lt;\sqrt{m}$ does not voilate any vertex ordering as even if all its neighbours are separated in $\sigma$ the number of sequences/chunks cannot exceed $degree$ of the vertex.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does such an ordering always exists?Can I find such an ordering efficiently?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Best case would be to find such an ordering in $O(m)$ time. Also is it possible for find such an ordering for smaller number of chunks/sequences? &lt;/p&gt;&#xA;" OwnerUserId="22911" LastActivityDate="2015-09-09T15:54:45.527" Title="Vertex ordering of an graph such that neighbourhood of each vertex occurs as bounded sequences" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32490" PostTypeId="2" ParentId="32489" CreationDate="2015-09-09T06:05:45.030" Score="6" Body="&lt;p&gt;So if I understand it correctly you want the neighbors of each vertex to form a small number of contiguous blocks of the ordering? Then no, you need a larger number of blocks than that.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let's suppose we have a bipartite graph with a small number $k$ of (labeled) vertices on one side and $n$ on the other. Each edge from one side to the other can be present or absent independently of the others, so there are $kn$ bits of information required to specify the whole graph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, suppose you could find an ordering with the neighbors of each vertex forming at most $b$ blocks. Then you could specify the same graph by listing the ordering of the big side of the bipartition (representable in $\le n\log_2 n$ bits of information) and the positions and lengths of the blocks for each of the $k$ vertices on the small side of the bipartition ($\le 2bk\log_2 n$ bits). So to have enough information to specify the whole graph we need&#xA;$$&#xA;n\log_2 n+2bk\log_2 n\ge kn&#xA;$$&#xA;or equivalently&#xA;$$&#xA;b\ge\frac{kn-n\log_2 n}{2k\log_2 n}&#xA;$$&#xA;Setting $k=2\log_2 n$ gives $b=\Omega(n/\log n)$, significantly greater than $\sqrt m=\Theta((n\log n)^{1/2})$.&lt;/p&gt;&#xA;" OwnerUserId="95" LastEditorUserId="95" LastEditDate="2015-09-09T15:54:45.527" LastActivityDate="2015-09-09T15:54:45.527" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="32491" PostTypeId="2" ParentId="32456" CreationDate="2015-09-09T06:14:45.417" Score="3" Body="&lt;p&gt;Rabie introduced the model of &quot;Rusted Turing Machines&quot; in his thesis: &lt;a href=&quot;http://www.lix.polytechnique.fr/~mrabie/these.pdf&quot; rel=&quot;nofollow&quot;&gt;The Power of Weaknesses:What can be computed with Populations, Protocols and Machines&lt;/a&gt; (Chapter 7).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The idea is that there is a restriction on the number of time the TM can change its internal state because of decay. Rabie introduced the class $Piv(f(n))$, the class of Turing Machines that change their internal state $O(f(n))$ times. An RTM is then an element of $Piv(1)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In this model, Rabie &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;gave some results on different languages that can be computed;&lt;/li&gt;&#xA;&lt;li&gt;showed that he halting problem of RTM is decidable;&lt;/li&gt;&#xA;&lt;li&gt;provided upper bound for the busy beaver problem with RTM.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="4873" LastEditorUserId="4873" LastEditDate="2015-09-16T18:59:55.587" LastActivityDate="2015-09-16T18:59:55.587" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32492" PostTypeId="2" ParentId="6536" CreationDate="2015-09-09T13:00:31.477" Score="2" Body="&lt;p&gt;Besides basic &lt;a href=&quot;https://en.wikipedia.org/wiki/Kernighan%E2%80%93Lin_algorithm&quot; rel=&quot;nofollow&quot;&gt;Kerninghan-Lin&lt;/a&gt; algorithm (complexity $O(n^2 log(n))$), there's also &lt;a href=&quot;https://en.wikipedia.org/wiki/Fiduccia-Mattheyses_algorithm&quot; rel=&quot;nofollow&quot;&gt;Fiduccia-Mattheyses&lt;/a&gt; (1982) heuristic, which is a variant of Kerninghan-Lin with linear complexity $O(E)$, where $E$ is number of edges. It also starts with a random bisection and iteratively improves it by swapping the nodes from one partition to the other. In contrast to K-L, Fiduccia-Mattheyses swaps only one node at a time, the one with the highest difference.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Yet another approach chooses &lt;a href=&quot;http://glaros.dtc.umn.edu/gkhome/metis/metis/overview&quot; rel=&quot;nofollow&quot;&gt;METIS&lt;/a&gt; which is a multi-level graph partitioning algorithm by Karypis and Kumar (1999). You can find an open-source implementation of METIS &lt;a href=&quot;http://glaros.dtc.umn.edu/gkhome/metis/metis/download&quot; rel=&quot;nofollow&quot;&gt;Karypis Labs website&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&quot;A Fast and Highly Quality Multilevel Scheme for Partitioning Irregular Graphs&quot;. George Karypis and Vipin Kumar. SIAM Journal on Scientific Computing, Vol. 20, No. 1, pp. 359—392, 1999.&lt;/p&gt;&#xA;" OwnerUserId="35457" LastActivityDate="2015-09-09T13:00:31.477" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32494" PostTypeId="2" ParentId="32456" CreationDate="2015-09-09T16:23:47.007" Score="1" Body="&lt;p&gt;the question is challenging in its broadness &amp;amp; disclaimer of vagueness however some areas of research can be cited that impinge on it. roughly the 1st half of the question is about unreliable models of computation and the 2nd half is asking about a &quot;hierarchy&quot; built out of such unreliable systems. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;a general trend in CS and computer engineering is that &quot;noise is the enemy&quot; and many auxiliary systems are built to reduce/ minimize/ suppress it, even with new models of computation eg quantum computing. the theme that &quot;reliable systems can be built out of unreliable ones&quot; via many techniques is a broad theme in CS &amp;amp; its related engineering. so a &quot;hierarchy&quot; does indeed exist in the sense that larger systems are built out of subsystems but the general idea is to remove noise/ error in the subsystems.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Spintronics&quot; rel=&quot;nofollow&quot;&gt;spintronics&lt;/a&gt; (eg found in recent &lt;a href=&quot;http://www.nature.com/subjects/spintronics&quot; rel=&quot;nofollow&quot;&gt;Nature&lt;/a&gt; articles) is a new general term and area of investigation given for harnessing sub-electronic effects such as electron spin for computation, and also encompasses quantum computation. electron spins are extremely delicate to manipulate, nearly an analog phenomenon, and subject to the Heisenberg uncertainty principle in measurement. by the way one of the leading systems for minimizing noise in QM computation cited by experts is the Martinis lab approaches, recently acquired by Google &amp;amp; published in Nature: &lt;a href=&quot;http://www.nature.com/nature/journal/v519/n7541/abs/nature14270.html&quot; rel=&quot;nofollow&quot;&gt;State preservation by repetitive error detection in a superconducting quantum circuit&lt;/a&gt;, Kelly et al&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;error correction in RAM has been used for many decades. it was &lt;a href=&quot;https://en.wikipedia.org/wiki/Timothy_C._May#Discovery_of_alpha_particle_effects_on_computer_chips&quot; rel=&quot;nofollow&quot;&gt;discovered&lt;/a&gt; that some chip packaging was slightly radioactive and caused RAM to be unreliable by altering bits (aka, literally, as asked, &lt;em&gt;&quot;decay&quot;&lt;/em&gt;). &lt;a href=&quot;https://en.wikipedia.org/wiki/Hamming_code&quot; rel=&quot;nofollow&quot;&gt;Hamming codes&lt;/a&gt; were used to correct this (in one of the early applications of them). some fraction of the RAM is dedicated to the error correction. this can be seen as a sort of hierarchy where the low-level RAM is unreliable but the overall system/ abstraction improves reliability to a high degree. the same technique is used in modern Flash memory. survey/ refs can be found in this paper: &lt;a href=&quot;https://www.cs.csustan.edu/~mmartin/teaching/CS4960F10/MWorleyCS4960.pdf&quot; rel=&quot;nofollow&quot;&gt;Error correction in Flash memory&lt;/a&gt; / Worley&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Internet_protocol_suite&quot; rel=&quot;nofollow&quot;&gt;TCP/IP&lt;/a&gt; and many other network protocols are an example where noisy subsystems are &quot;fixed&quot; with error correction. packets have &quot;checksums&quot; and are rebroadcast if consistency errors are detected by the receiver. the so-called network &lt;a href=&quot;https://en.wikipedia.org/wiki/Protocol_stack&quot; rel=&quot;nofollow&quot;&gt;protocol &quot;stack&quot;&lt;/a&gt; is also a hierarchy-like construction.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2015-09-09T16:23:47.007" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32495" PostTypeId="1" CreationDate="2015-09-09T16:54:57.513" Score="16" ViewCount="450" Body="&lt;p&gt;Prompted by a question Greg Kuperberg asked me, I'm wondering if there are any papers that define and study complexity classes of languages admitting various kinds of &lt;a href=&quot;https://en.wikipedia.org/wiki/Proof_of_knowledge&quot;&gt;proofs of knowledge&lt;/a&gt;.  Classes like &lt;a href=&quot;https://complexityzoo.uwaterloo.ca/Complexity_Zoo:S#szk&quot;&gt;SZK&lt;/a&gt; and &lt;a href=&quot;https://complexityzoo.uwaterloo.ca/Complexity_Zoo:N#niszk&quot;&gt;NISZK&lt;/a&gt; are extremely natural from a complexity standpoint, even if we forgot entirely about zero knowledge and just defined them in terms of their complete promise problems.  By contrast, on googling 'proofs of knowledge,' I was surprised not to find any papers or lecture notes discussing this lovely concept in terms of complexity classes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To give some examples: what can one say about the subclass of SZK&amp;cap;MA&amp;cap;coMA consisting of all languages L that admit statistical zero-knowledge proofs for x&amp;isin;L or x&amp;notin;L, that are also proofs of knowledge of a &lt;i&gt;witness&lt;/i&gt; proving x&amp;isin;L or x&amp;notin;L?  Certainly this class contains things like discrete log, but we couldn't prove that it contains graph isomorphism without putting GI in coMA.  Does the class encompass all of SZK&amp;cap;MA&amp;cap;coMA?  One could also ask: if one-way functions exist, then does every language L&amp;isin;MA&amp;cap;coMA admit a computational zero-knowledge proof, that's also a proof of knowledge of a witness proving x&amp;isin;L or x&amp;notin;L?  (My apologies if one or both of these have trivial answers---I'm just trying to illustrate the sort of thing one &lt;i&gt;could&lt;/i&gt; ask, once one decided to look at PoK in complexity-theoretic terms.)&lt;/p&gt;&#xA;" OwnerUserId="1575" LastActivityDate="2015-09-11T15:05:41.557" Title="Complexity classes for proofs of knowledge" Tags="&lt;complexity-classes&gt;&lt;cr.crypto-security&gt;&lt;zero-knowledge&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="32497" PostTypeId="1" AcceptedAnswerId="32501" CreationDate="2015-09-09T23:31:41.757" Score="1" ViewCount="223" Body="&lt;p&gt;I have a profile hidden Markov model that I use to identify all instances of a user-defined pattern of symbols in a long sequence of symbols. I use the Viterbi algorithm to find the most probable path that generates that long sequence of symbols, and it all works very well to identify the user's pattern. But I'm now interested in extending this, and identifying the k-most probable paths through my model that would generate some long sequence. Is there an existing algorithm to do this? I've come across something called the &quot;1-best&quot; or &quot;k-best&quot; algorithm, but I can't find much of anything describing it. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I've also considered what I'm sure would be a heuristic, by finding the most probable path and then returning the neighbourhood around it. This would be found by iterating over each move between states in the most probable path, setting that particular step to 0, and resolving using Viterbi. This would obviously increase the run-time by a factor of (length of the path ~= length of pattern), which I suspect will be reasonable for my purposes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Has anybody come across something like this, or can anybody see anything obviously wrong in my neighbourhood idea? I'd appreciate any feedback. As a note, this has been cross-posted to the Data Science forum.&lt;/p&gt;&#xA;" OwnerUserId="35464" LastEditorUserId="1993" LastEditDate="2018-10-20T06:39:06.437" LastActivityDate="2018-10-20T06:39:06.437" Title="How can I rank paths through an HMM?" Tags="&lt;ds.algorithms&gt;&lt;dynamic-programming&gt;&lt;markov-chains&gt;" AnswerCount="1" CommentCount="1" ClosedDate="2015-09-15T21:10:30.200" ContentLicense="CC BY-SA 3.0" />
  <row Id="32499" PostTypeId="2" ParentId="32495" CreationDate="2015-09-10T11:29:55.757" Score="10" Body="&lt;p&gt;This is not an actual answer; I'm just sharing some results (which do not fit in one comment).&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Goldreich, Micali and Wigderson (&lt;a href=&quot;https://dl.acm.org/citation.cfm?id=116852&quot; rel=&quot;noreferrer&quot;&gt;J. ACM, 1991&lt;/a&gt;) proved that every language in NP has a zero-knowledge proof of language membership (assuming OWFs exist). To this end, their presented a ZK proof for graph 3-colorability. Later, Bellare and Goldreich (&lt;a href=&quot;http://link.springer.com/chapter/10.1007%2F3-540-48071-4_28&quot; rel=&quot;noreferrer&quot;&gt;CRYPTO '92&lt;/a&gt;) proved that this ZK proof is also a ZK proof of knowledge (PoK). Using Levin reductions (see footnote 12 of the former paper), &lt;strong&gt;Every language in NP has a ZK PoK&lt;/strong&gt; (assuming OWFs exist).&lt;/li&gt;&#xA;&lt;li&gt;Itoh and Sakurai (&lt;a href=&quot;http://link.springer.com/chapter/10.1007/3-540-57332-1_28&quot; rel=&quot;noreferrer&quot;&gt;ASIACRYPT '91&lt;/a&gt;) have a paper on complexity-theoretic results regarding relations having constant-round ZK PoK.&lt;/li&gt;&#xA;&lt;li&gt;This is a seemingly unrelated result, though I can't help noticing some similarities. I somehow feel (not anything formal) that &lt;em&gt;proof of membership&lt;/em&gt; vs. &lt;em&gt;proof of knowledge&lt;/em&gt; is similar to &lt;em&gt;decision&lt;/em&gt; vs. &lt;em&gt;search&lt;/em&gt;. Perhaps in this sense, one can also cite the work of Bellare and Goldwasser (&lt;a href=&quot;http://epubs.siam.org/doi/abs/10.1137/S0097539792228289&quot; rel=&quot;noreferrer&quot;&gt;J. Computing, 1994&lt;/a&gt;), where they (conditionally) prove that not all languages in NP have a reduction from search to decision.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Some open problems (perhaps solved, but not that I know of) regarding complexity-theoretic aspects of PoKs:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Various efficiency measures for ZK PoKs of a specific relation with certain complexity (e.g., a relation in AM):&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Communication complexity of the proof&lt;/li&gt;&#xA;&lt;li&gt;Computational complexity of the parties&lt;/li&gt;&#xA;&lt;li&gt;Knowledge tightness (i.e., the ratio between the (expected) running time of the simulator and the running time of the verifier in the real interaction)&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Complexity of relations admitting ZK PoK with certain limitations, say limited round complexities (Itoh and Sakurai only consider constant-round ZK PoK). Another example is when the prover is polynomial time: He cannot use the reduction to 3-colorability, as he cannot solve NP-complete relations. All NP-complete problems have a Cook reduction from search to decision. Yet, by Bellare-Goldwasser result cited above, such reductions do not necessarily exist for all NP languages/relations.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;Other interesting results regarding PoKs which are not necessarily ZK, but whose knowledge complexity is otherwise limited. See Goldreich and Petrank (&lt;a href=&quot;http://link.springer.com/article/10.1007%2Fs000370050019&quot; rel=&quot;noreferrer&quot;&gt;Comput. complex., 1999&lt;/a&gt;).&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Before concluding, allow me to mention that there are actually several definitions for PoKs, some of which are cited below:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) &lt;strong&gt;Early attempts:&lt;/strong&gt; Feige, Fiat and Shamir (&lt;a href=&quot;http://link.springer.com/article/10.1007%2FBF02351717#page-1&quot; rel=&quot;noreferrer&quot;&gt;J. Cryptology, 1988&lt;/a&gt;), Tompa and Woll (&lt;a href=&quot;http://www.computer.org/csdl/proceedings/focs/1987/5428/00/542800472-abs.html&quot; rel=&quot;noreferrer&quot;&gt;FOCS 1987&lt;/a&gt;), and Feige and Shamir (&lt;a href=&quot;https://dl.acm.org/citation.cfm?id=100272&quot; rel=&quot;noreferrer&quot;&gt;STOC 1990&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) &lt;strong&gt;De facto standard:&lt;/strong&gt; Bellare and Goldreich (&lt;a href=&quot;http://link.springer.com/chapter/10.1007%2F3-540-48071-4_28&quot; rel=&quot;noreferrer&quot;&gt;CRYPTO '92&lt;/a&gt;). This paper surveys the early attempts at defining PoKs, observes their shortcomings, and suggests a new definition which can be considered as &quot;the&quot; definition of PoK. This definition has a black-box nature (the knowledge extractor has black-box access to the cheating prover).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;3) &lt;strong&gt;Conservative PoKs:&lt;/strong&gt; Defined by Halevi and Micali (&lt;a href=&quot;https://eprint.iacr.org/1998/015&quot; rel=&quot;noreferrer&quot;&gt;ePrint Archive: Report 1998/015&lt;/a&gt;), this definition augments the previous definition to guarantee prover feasibility. It also gives a definition for the knowledge of a single prover, which is good when answering the question &quot;what does it mean to say that P knows something?&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;4) &lt;strong&gt;Arguments of Knowledge with Non Black-Box Extraction:&lt;/strong&gt; As mentioned above, the standard definition of PoKs is black box, which makes it impossible to have &lt;em&gt;resettable&lt;/em&gt; zero-knowledge proofs (or arguments) of knowledge for non-trivial languages. Barak et al. (&lt;a href=&quot;http://groups.csail.mit.edu/cis/pubs/shafi/2001-focs.pdf&quot; rel=&quot;noreferrer&quot;&gt;FOCS 2001&lt;/a&gt;) provide a non-black-box definition, which is based on (but differs from) the definition of Feige and Shamir (STOC 1990) cited above.&lt;/p&gt;&#xA;" OwnerUserId="873" LastEditorUserId="873" LastEditDate="2015-09-11T15:05:41.557" LastActivityDate="2015-09-11T15:05:41.557" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32501" PostTypeId="2" ParentId="32497" CreationDate="2015-09-10T19:15:53.777" Score="4" Body="&lt;p&gt;Why not expand the HMM to a state graph and apply a k-shortest-paths algorithm to the graph? I have a recent survey on k-best enumeration that includes the k-shortest paths problem at &lt;a href=&quot;http://bulletin.eatcs.org/index.php/beatcs/article/view/322&quot; rel=&quot;nofollow&quot;&gt;http://bulletin.eatcs.org/index.php/beatcs/article/view/322&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2015-09-10T19:15:53.777" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="32503" PostTypeId="1" AcceptedAnswerId="32507" CreationDate="2015-09-11T01:49:09.673" Score="11" ViewCount="345" Body="&lt;p&gt;Given $p(x_1,\dots,x_n),q(x_1,\dots,x_n)\in \Bbb Z[x_1,\dots,x_n]$ such that coefficients of $p,q$ are bounded by $B$, does $p\equiv q$ hold?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Schwartz-Zippel lemma applies here since it holds for general fields and $\Bbb Z\subset\Bbb Q$ and there is an efficient randomized algorithm for this problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We expect this problem to have efficient derandomization.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is the consequence if this problem does not have an efficient derandomization?&lt;/p&gt;&#xA;" OwnerDisplayName="user34945" LastEditorUserId="109" LastEditDate="2015-09-14T17:57:47.977" LastActivityDate="2016-03-13T23:17:15.103" Title="Consequence of PIT over $\Bbb Z[x_1,\dots,x_n]$ not having efficient algorithm" Tags="&lt;big-picture&gt;&lt;derandomization&gt;&lt;conditional-results&gt;" AnswerCount="2" CommentCount="11" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="32505" PostTypeId="1" AcceptedAnswerId="32509" CreationDate="2015-09-11T13:53:04.613" Score="24" ViewCount="814" Body="&lt;p&gt;For a constant $k \in \mathbb{N}$, one can determine in linear time, given an input graph $G$, whether its &lt;a href=&quot;https://en.wikipedia.org/wiki/Treewidth&quot; rel=&quot;nofollow noreferrer&quot;&gt;treewidth&lt;/a&gt; is $\leq k$. However, when both $k$ and $G$ are given as input, the problem is NP-hard. (&lt;a href=&quot;http://comjnl.oxfordjournals.org/content/51/3/326.abstract&quot; rel=&quot;nofollow noreferrer&quot;&gt;Source&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, when the input graph is &lt;a href=&quot;https://en.wikipedia.org/wiki/Planar_graph&quot; rel=&quot;nofollow noreferrer&quot;&gt;planar&lt;/a&gt;, much less seems to be known about the complexity. The problem was apparently &lt;a href=&quot;https://cstheory.stackexchange.com/a/3326/4795&quot;&gt;open&lt;/a&gt; in 2010, a claim that also appeared in &lt;a href=&quot;http://comjnl.oxfordjournals.org/content/51/3/326.abstract&quot; rel=&quot;nofollow noreferrer&quot;&gt;this survey&lt;/a&gt; in 2007 and on &lt;a href=&quot;https://en.wikipedia.org/wiki/Branch-decomposition#Algorithms_and_complexity&quot; rel=&quot;nofollow noreferrer&quot;&gt;the Wikipedia page for branch decompositions&lt;/a&gt;. Conversely, the problem is claimed NP-hard (without proof of reference) in an &lt;a href=&quot;http://www.labri.fr/perso/courcell/SeminaireDecGraphes/HlinOumSeeGott.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;earlier version&lt;/a&gt; of the previously mentioned survey, but I assume this is an error.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is it still open to determine the complexity of the problem, given $k \in \mathbb{N}$ and a planar graph $G$, of determining $G$ has treewidth $\leq k$? If it is, was this claimed in a recent paper? Are any partial results known? If it isn't, who solved it?&lt;/p&gt;&#xA;" OwnerUserId="4795" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2015-09-11T22:31:10.440" Title="Is it still open to determine the complexity of computing the treewidth of planar graphs?" Tags="&lt;reference-request&gt;&lt;graph-theory&gt;&lt;np-hardness&gt;&lt;open-problem&gt;&lt;treewidth&gt;" AnswerCount="1" CommentCount="6" FavoriteCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="32506" PostTypeId="1" AcceptedAnswerId="33892" CreationDate="2015-09-11T14:02:33.113" Score="7" ViewCount="802" Body="&lt;p&gt;&quot;The Multiplicative Weights Update (MWU) method is known to maximize both utility and entropy&quot;. This is a comment by C. Papadimitriou on MWU. I understand that MWU maximizes utility as it solves linear programming, for example. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The question is how MWU maximizes entropy? Can you give some example/information on this point?&lt;/p&gt;&#xA;" OwnerUserId="32553" LastEditorUserId="1037" LastEditDate="2015-09-11T18:35:27.637" LastActivityDate="2018-05-03T13:51:30.120" Title="How does the Multiplicative Weights Update method maximize entropy?" Tags="&lt;ds.algorithms&gt;&lt;machine-learning&gt;&lt;shannon-entropy&gt;" AnswerCount="2" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="32507" PostTypeId="2" ParentId="32503" CreationDate="2015-09-11T14:57:44.017" Score="8" Body="&lt;p&gt;Since PIT is in $\mathsf{coRP}$, if there is no efficient derandomization then $\mathsf{P} \neq \mathsf{RP}$ (and, in particular, $\mathsf{P} \neq \mathsf{NP}$, but that's not so surprising, since we expect that to be true anyways). This also implies, of course, that $\mathsf{P} \neq \mathsf{BPP}$, so anything which implies $\mathsf{P} = \mathsf{BPP}$ becomes false. For example, sufficiently strong pseudorandom number generators do not exist, and $\mathsf{E} = \mathsf{DTIME}(2^{O(n)})$ would have subexponential size circuits!&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2015-09-11T14:57:44.017" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="32508" PostTypeId="1" AcceptedAnswerId="32512" CreationDate="2015-09-11T21:27:36.473" Score="14" ViewCount="3193" Body="&lt;p&gt;Given composite $N\in\Bbb N$ general number field sieve is best known factorization algorithm for integer factorization of $N$. It is a randomized algorithm and we get an expected complexity of $O\Big(e^{\sqrt{\frac{64}{9}}(\log N)^{\frac 13}(\log\log N)^{\frac 23}}\Big)$ to factor $N$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I looked for information on worst case complexity on this randomized algorithm. However I am unable to locate information. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;(1)&lt;/strong&gt; What is the worst case complexity of Number field sieve? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;(2)&lt;/strong&gt; Also can randomness be removed here to give a deterministic subexponential algorithm?&lt;/p&gt;&#xA;" OwnerDisplayName="user34945" LastActivityDate="2018-04-21T20:11:16.113" Title="What is worst case complexity of number field sieve?" Tags="&lt;reference-request&gt;&lt;derandomization&gt;&lt;factoring&gt;&lt;average-case-complexity&gt;&lt;worst-case&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="32509" PostTypeId="2" ParentId="32505" CreationDate="2015-09-11T22:31:10.440" Score="13" Body="&lt;p&gt;As far as I know the NP-completeness of computing the treewidth of a planar graph is still open. The most recent reference I know is &lt;a href=&quot;http://link.springer.com/chapter/10.1007%2F978-3-642-30891-8_12&quot;&gt;a survey&lt;/a&gt; by Bodlaender from 2012 called `Fixed-Parameter Tractability of Treewidth and Pathwidth' that appeared in the festschrift for Mike Fellows' 65th birthday. The problem is listed in the conclusion of the survey.&lt;/p&gt;&#xA;" OwnerUserId="122" LastActivityDate="2015-09-11T22:31:10.440" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="32512" PostTypeId="2" ParentId="32508" CreationDate="2015-09-12T07:52:15.800" Score="16" Body="&lt;p&gt;The number field sieve has never been analyzed rigorously. The complexity that you quote is merely heuristic. The only subexponential algorithm which has been analyzed rigorously is &lt;a href=&quot;https://www.jstor.org/stable/2007743&quot;&gt;Dixon's factorization algorithm&lt;/a&gt;, which is very similar to the quadratic sieve. According to Wikipedia, Dixon's algorithm runs in time $e^{O(2\sqrt{2}\sqrt{\log n\log\log n})}$. Dixon's algorithm is randomized.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;All (heuristically) known subexponential algorithms require randomization. Dixon's algorithm needs to find integers $x$ such that $x^2 \pmod{n}$ is smooth (can be factored into a product of small primes) and &quot;random&quot;, and the number-field sieve has similar but more complicated requirements. The elliptic curve method needs to find an elliptic curve modulo $n$ whose order modulo some factor of $n$ is smooth. In both cases it seems hard to derandomize the algorithms.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The nominal worst-case complexity of all these algorithms is infinity: in the case of the quadratic sieve and the number-field sieve you might always be generating the same $x$, while in the elliptic curve method you may always be generating the same elliptic curve. There are many ways around this, for example running an exponential time algorithm in parallel.&lt;/p&gt;&#xA;" OwnerUserId="40" LastActivityDate="2015-09-12T07:52:15.800" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="32515" PostTypeId="1" AcceptedAnswerId="32518" CreationDate="2015-09-12T16:11:34.180" Score="9" ViewCount="833" Body="&lt;p&gt;I'm trying to wrap my head around the concepts of universal and existential types but everywhere I look, I see either logical or operational intuitions (or implementations) (e.g. TAPL book by B. Pierce), which, well... is good, but I'd like to see the definitions (where we look at them as sets) -- and from them, derivations of some laws, as well as justifications for our intuitions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, because I cannot find those definitions, I decided to do it myself and I think these may be reasonable:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\forall x.T \overset{def}{:=} \bigcap_{S - type} T[x := S] $$&#xA;$$\exists x.T \overset{def}{:=} \bigcup_{S - type} T[x := S] $$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But, in the aforementioned TAPL book, we are given this definition (although I would call it an identity)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\exists x.T \overset{def}{:=} \forall y. (\forall x. T \rightarrow y) \rightarrow y \quad (*)$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have two problems with this:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;On the LHS of $(*)$ I would expect that $x$ was the only free variable of $T$ (because how to view a type &quot;not-yet-built&quot; with some free variables dangling in it?), but on the RHS it seems like $y$ may have some impact on $T$, so it better be a free variable in $T$. Hence LHS cannot be equal to RHS because sets of free variables of $T$ differ on both sides, right?&lt;/li&gt;&#xA;&lt;li&gt;Even disregarding the concern at the point 1. -- I tried to rewrite RHS using my definitions and see if I can get my definition of existential type but I stuck:&#xA;$$ RHS = \bigcap_{S} (\forall x.T \rightarrow y)[y := S] \rightarrow S  = \bigcap_{S} \left(\bigcap_{R} T[x := R, y := S] \rightarrow S\right) \rightarrow S $$&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;It doesn't even remotely resemble my definition. Is it possible to simplify the formula I arrived at? Intuitively, because there are function types, it probably will never be equal to my definition. But if they are not equal -- are they at least 'isomorphic' in some sense? If not -- what &quot;went wrong&quot;?&lt;/p&gt;&#xA;" OwnerUserId="35510" LastEditorUserId="35510" LastEditDate="2015-09-13T08:31:57.760" LastActivityDate="2015-09-13T12:56:07.397" Title="Universal and existential types" Tags="&lt;lo.logic&gt;&lt;type-theory&gt;&lt;type-systems&gt;&lt;set-theory&gt;" AnswerCount="3" CommentCount="2" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="32516" PostTypeId="2" ParentId="31884" CreationDate="2015-09-12T16:45:48.920" Score="3" Body="&lt;p&gt;I was able to find an application of combinatorial game theory in cryptography. See the link &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.2.2928&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="34615" LastActivityDate="2015-09-12T16:45:48.920" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32517" PostTypeId="2" ParentId="22022" CreationDate="2015-09-12T21:37:37.877" Score="10" Body="&lt;p&gt;A &lt;a href=&quot;http://eccc.hpi-web.de/report/2015/148/&quot;&gt;new preprint&lt;/a&gt; by Carmosino et al. introduces the Nondeterministic Strong Exponential Time Hypothesis (NSETH) which makes the conjecture that there are no $\text{NTIME}[2^{(1-\varepsilon) n}]$ algorithms for DNF-TAUT. NSETH is of course an even stronger assumption than &quot;NETH&quot; which you ask about, and still appears to be consistent with everything we know so far. The authors use this conjecture to show that a number of other fine-grained complexity assumptions are unlikely to be reducible to each other.&lt;/p&gt;&#xA;" OwnerUserId="969" LastActivityDate="2015-09-12T21:37:37.877" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32518" PostTypeId="2" ParentId="32515" CreationDate="2015-09-12T22:35:01.267" Score="9" Body="&lt;p&gt;Set theory is doing you some harm here and the sooner you liberate yourself from it the better it will be for your understanding of computer science.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Forget the intersections and unions. People get this idea that $\forall$ and $\exists$ are like $\bigcap$ and $\bigcup$, which is the sort of thing the Polish school was doing a long time ago with Boolean algebras, but it's really not the way to go (definitely not in computer science).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You would like to look at these as sets. Ok, but then we have to ignore issues of size and pretend that there is a set of all sets. (It is possible to fix the issues of size by passing to a different category.) The type $\forall x . T$ is really like the cartesian product&#xA;$$\forall X . T \mathrel{{:}{=}} \prod_{S : \mathsf{Set}} T[X \mapsto S].$$&#xA;That is, an element of $\forall X . T$ is a &lt;em&gt;function&lt;/em&gt; $f$ from sets to sets: for each set $S$ it gives an element $f(S)$ of type $T[x \mapsto S]$. For instance, an element of $\forall X. (X \to X) \to (X \to X)$ is a function $f$ which takes a set $S$ and gives a function of type $(S \to S) \to (S \to S)$. Here are some such functions:&#xA;\begin{align*}&#xA;f_0(S)(g)(x) &amp;amp;\mathrel{{:}{=}} x \\&#xA;f_1(S)(g)(x) &amp;amp;\mathrel{{:}{=}} g(x) \\&#xA;f_2(S)(g)(x) &amp;amp;\mathrel{{:}{=}} g(g(x)) \\&#xA;f_3(S)(g)(x) &amp;amp;\mathrel{{:}{=}} g(g(g(x)))&#xA;\end{align*}&#xA;So we get one for every natural number, and it's kind of hard to think of any other examples. (Exercise: google &quot;Church encoding of natural numbers&quot;.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Next, let us look at the existential types. Firstly, the correct encoding of $\exists$ in terms of $\forall$ is&#xA;$$\exists X . T \mathrel{{:}{=}} \forall Y . (\forall X . (T \to Y)) \to Y$$&#xA;&lt;em&gt;where the variable $Y$ does not appear in $T$&lt;/em&gt;! (This should be mentioned in Pierce's TAPL.) Before we look at this encoding, let us do $\exists X . T$ directly in terms of sets. This time it is a coproduct:&#xA;$$\exists X . T \mathrel{{:}{=}} \coprod_{S : \mathsf{Set}} T[X \mapsto S].$$&#xA;An element of $\exists X . T$ is a &lt;em&gt;pair&lt;/em&gt; $(S, a)$ where $S$ is a set and $a$ is an element of $T[X \mapsto S]$. An example would the the type $\exists X . (X \times X \to X)$, whose elements are pairs $(S, m)$ where $S$ is a set and $m : S \times S \to S$ is a binary operation on it. This is also known as a &lt;em&gt;magma&lt;/em&gt;. If you get a bit fancier you can express well known structures such as groups and rings (you need to invent &lt;em&gt;identity types&lt;/em&gt; first).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let us see how the encoding of $\exists$ in terms of $\forall$ works. It is &lt;em&gt;wrong&lt;/em&gt; to expect that we will get an &lt;em&gt;equality&lt;/em&gt; between $\exists X. T$ and $\forall Y . (\forall X . (T \to Y)) \to Y$ (NB: $Y$ is fresh) – only set theory would give people such expectations. We should expect the two to be &lt;em&gt;isomorphic&lt;/em&gt;. So the task is to find a bijection between&#xA;$$A \mathrel{{:}{=}} \coprod_{S : \mathsf{Set}} T[X \mapsto S]$$&#xA;and&#xA;$$B \mathrel{{:}{=}} \prod_{R : \mathsf{Set}} \left(\prod_{S : \mathsf{Set}} (T[X \mapsto S] \to R) \right) \to R.$$&#xA;This is an exercise in $\lambda$-calculus. In one direction we have the map $f : A \to B$ defined as&#xA;$$f(S,a)(R)(h) \mathrel{{:}{=}} h(S)(a)$$&#xA;and in the other a map $g : B \to A$ defined by&#xA;$$g(\phi) \mathrel{{:}{=}} \phi(A)(\lambda S . \lambda a . (S, a)).$$&#xA;(The notation $\lambda S . \lambda a . (S, a)$ means the function $S \mapsto a \mapsto (S, a)$.) Now we can check whether $f$ and $g$ are inverses of each other. One direction is easy:&#xA;$$g(f(S,a)) = f(S,a)(A)(\lambda S' . \lambda a' . (S', a'))&#xA;  = (\lambda S' . \lambda a' . (S', a')(S)(a) = (S, a).$$&#xA;The other direction looks like this:&#xA;$$f(g(\phi))(R)(h) = h(\pi_1(g(\phi))(\pi_2(g(\phi))).$$&#xA;We could go on a bit more by rewriting $g(\phi)$ to $\phi(A)(\lambda S . \lambda a . (S, a))$, but then we would get stuck!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It turns out that in set theory the encoding of $\exists$ in terms of $\forall$ &lt;em&gt;does&lt;/em&gt; not work. But it does work in other setups, where types are not sets. For instance, you can convince yourself that in logic the statements&#xA;$$\exists x . \phi(x)$$&#xA;is equivalent to&#xA;$$\forall{P : \mathsf{Prop}} . (\forall x . (\phi(x) \Rightarrow P)) \Rightarrow P,$$&#xA;where $P$ ranges over all propositions (truth values, logical statements). Again, the variable $P$ should not occur in $\phi$.&lt;/p&gt;&#xA;" OwnerUserId="705" LastActivityDate="2015-09-12T22:35:01.267" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="32519" PostTypeId="2" ParentId="32515" CreationDate="2015-09-12T22:37:09.403" Score="3" Body="&lt;p&gt;Regarding question 1): the variable $Y$ &lt;em&gt;must not&lt;/em&gt; appear in $Y$, indeed it needs to be unconstrained. If you want to have any hope of the lhs being equal to the rhs, certainly you should have the same number of free variables on each side, which is impossible if $Y$ gets captured in $T$. The intuition is that $\exists T$ should be equal to the infinite conjunction&#xA;$$ ((\forall x. T\rightarrow U_0)\rightarrow U_0)\wedge((\forall x. T\rightarrow U_1)\rightarrow U_1)\wedge\ldots $$&#xA;for every possible type $U_i$. Indeed, it is not hard to show for any &lt;em&gt;specific&lt;/em&gt; type $U$ that $$\exists x.T \rightarrow ((\forall x. T\rightarrow U)\rightarrow U)$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In words:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Proving that if there is &lt;em&gt;some&lt;/em&gt; (arbitrary) $x$ such that $T(x)$ holds, then $U$ holds is the same as proving that for &lt;em&gt;any&lt;/em&gt; $x$, if $T(x)$ holds than so does $U$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Note that $U$ must not itself depend on $x$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The intuition behind the equality is that this fact, for &lt;em&gt;every possible $U$&lt;/em&gt; is sufficient to characterize the existential quantifier.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For 2), the set theoretic intuition is a bit difficult here, I'm afraid. It's not &lt;em&gt;naively&lt;/em&gt; possible to think of types as sets of elements and arrows as the set-theoretic functions between them. However, intuitively, if some intersection $\bigcap_S A(S)$ is non-empty, then $A(\varnothing)$ should be non empty. In your case this gives&#xA;$$ \left(\bigcap_R \left(T[x:=R]\rightarrow \varnothing\right)\right)\rightarrow\varnothing$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(note the parenthesization) which needs to be non-empty. But the only way for that is that there is some $R$ such that&#xA;$T[x:=R]\rightarrow \varnothing$ is empty, which means that $T[x:=R]$ needs to be non-empty.&lt;/p&gt;&#xA;" OwnerUserId="3984" LastActivityDate="2015-09-12T22:37:09.403" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="32520" PostTypeId="1" AcceptedAnswerId="32521" CreationDate="2015-09-13T03:22:07.087" Score="11" ViewCount="695" Body="&lt;p&gt;In Polymath projects a large group work on an open problem. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;What kind of problems seem to work best in this framework?&lt;br&gt;&#xA;Are there any good candidates for a polymath project in theoretical computer science?&lt;br&gt;&#xA;Are there any obstacles that make Polymath projects less likely to succeed in theoretical computer science in comparison to other areas of mathematics?&lt;/p&gt;&#xA;" OwnerUserId="5385" LastEditorUserId="186" LastEditDate="2015-09-17T14:45:14.910" LastActivityDate="2015-09-17T14:45:14.910" Title="Massive online collaboration for solving open problem in theoretical computer science" Tags="&lt;soft-question&gt;&lt;open-problem&gt;&lt;research-practice&gt;" AnswerCount="2" CommentCount="9" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="32521" PostTypeId="2" ParentId="32520" CreationDate="2015-09-13T04:30:46.987" Score="10" Body="&lt;p&gt;Polymath projects seems to succeed when a breakthrough happens, and one is trying to optimize the result of the breakthrough or come up with simpler or better proof. See &lt;a href=&quot;https://en.wikipedia.org/wiki/Polymath_Project#Problems_solved&quot;&gt;https://en.wikipedia.org/wiki/Polymath_Project#Problems_solved&lt;/a&gt;. As such, you would have to pick a problem of this nature in CS. The only one that comes immediately to mind is improving the constant in matrix multiplication &lt;a href=&quot;https://en.wikipedia.org/wiki/Matrix_multiplication#Algorithms_for_efficient_matrix_multiplication&quot;&gt;https://en.wikipedia.org/wiki/Matrix_multiplication#Algorithms_for_efficient_matrix_multiplication&lt;/a&gt;, which is currently at 2.4... But frankly, I am not sure enough people care about it enough to work on it...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Questions for which I would expect polymath to fail miserably: P=NP, online optimality, UGC, etc. &lt;/p&gt;&#xA;" OwnerUserId="9594" LastActivityDate="2015-09-13T04:30:46.987" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="32522" PostTypeId="2" ParentId="32515" CreationDate="2015-09-13T12:56:07.397" Score="1" Body="&lt;p&gt;I suggest not to give up on the operational intuition. Operational &#xA;is primary, all semantics are derived, and are but proof techniques&#xA;for operational semantics. The key ideas are as follows.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A program $P$ uses a variable $x$ &lt;strong&gt;universal-polymorphically&lt;/strong&gt;, provided $P$&#xA;doesn't do anything with $x$ that requires knowledge of $x$'s type. For example in the&#xA;$\lambda$-calculus the following operations could be polymorphic (whether&#xA;they are or not depends on the precise language semantics).&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;forwarding, e.g. $\lambda x.x.$,&lt;/li&gt;&#xA;&lt;li&gt;reordering, e.g. $\lambda (x,y,z). (z,x, y)$.&lt;/li&gt;&#xA;&lt;li&gt;duplicating, e.g. $\lambda x.(x,x)$.&lt;/li&gt;&#xA;&lt;li&gt;dropping, e.g. $\lambda x.7$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Now existential-polymophism is the exact &lt;strong&gt;dual&lt;/strong&gt; of&#xA;universal-polymorphism: a program $P$ uses a variable $x$&#xA;&lt;strong&gt;existential-polymophially&lt;/strong&gt;, if $P$ provides $x$ only to &lt;strong&gt;contexts&lt;/strong&gt;&#xA;that don't require knowledge of $x$'s type. In other words, $P$ provides&#xA;$x$ only to contexts that use $x$ universal-polymorphically.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In my opinion this &lt;strong&gt;beautiful symmetry&lt;/strong&gt;, is obscured when thinking about universal/existential polymorphism in the&#xA;$\lambda$-calculus. The reason is the &#xA;heavy reliance on the function space operator which alas is not really a&#xA;dualising operator, but something more complicated (covariant in one argument, contravariant in the other).&lt;/p&gt;&#xA;" OwnerUserId="898" LastActivityDate="2015-09-13T12:56:07.397" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="32524" PostTypeId="1" AcceptedAnswerId="32550" CreationDate="2015-09-13T15:54:42.257" Score="2" ViewCount="137" Body="&lt;p&gt;Say you have an OS-independent specification for file names. The file names are case sensitive, and let's say can't be more than 200 characters, and can't have &lt;code&gt;:&lt;/code&gt; or &lt;code&gt;/&lt;/code&gt; in the name.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now say you want to implement this specification in C on different operating systems (different versions of linux and darwin, not windows for now).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let's say for argument's sake, it turns out on some operating system (operating system &quot;A&quot;), that you also can't use &lt;code&gt;|&lt;/code&gt; in the file name. Well, you didn't capture this in your spec initially.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The question is, how do you figure this out &lt;strong&gt;before&lt;/strong&gt; running into this case? In circuits (from my understanding), you can use &quot;model checking&quot; to automatically explore all possible states of the system, to figure out edge cases your spec doesn't handle. That makes sense for relatively simple state machines like logic circuits. But what about this case with file names?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;How would you generate file names, and try to save the file on that operating system, so it can discover these implementation errors, without having to generate every possible string up to 200 characters in length?&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;How do you verify that the implementation of the spec on operating system &quot;A&quot; is valid? The model checker would have to somehow randomly construct a file name using the &lt;code&gt;|&lt;/code&gt; character, and then hit an error. Or maybe I am misunderstanding model checking, and what this really is is automatic &lt;em&gt;testing&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What I'm wondering is, how do you account for these types of cases in advance using formal methods? What are the general techniques or topics to start looking into?&lt;/p&gt;&#xA;" OwnerUserId="27400" LastActivityDate="2015-09-16T13:36:28.467" Title="Practical example: how to formally verify &quot;file name&quot; implementation from a spec?" Tags="&lt;model-checking&gt;&lt;formal-modeling&gt;&lt;program-verification&gt;&lt;formal-methods&gt;" AnswerCount="2" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32525" PostTypeId="2" ParentId="32520" CreationDate="2015-09-13T16:33:54.310" Score="2" Body="&lt;p&gt;If a massively online collaboration is set up, then it should try to focus on problems with a reasonable chance of success. The three classical construction problems of antiquity are known as &quot;squaring the circle&quot;, &quot;trisecting an angle&quot;, and &quot;doubling a cube&quot;. Modern mathematics resolved all three, but much more important was the earlier Descartes revolution, which enabled mathematics to free itself from the mental prison of compass and straightedge constructions. Notice that the Greeks used compass and straightedge as a practical computational device, as witnessed by the &lt;a href=&quot;https://en.wikipedia.org/wiki/Deferent_and_epicycle&quot; rel=&quot;nofollow&quot;&gt;efficient epicycle approximation scheme&lt;/a&gt; for celestial mechanics computations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Many conjectures and generalizations of solved conjectures from graph theory should be amenable to solutions by collaboration. However, typical experience with collaborations suggest that teams of 2-4 members are far more effective than significantly larger teams. An example of a very successful team in this area are N. Robertson, P.D. Seymour and R. Thomas, which attacked problems like the strong perfect graph conjecture, generalizations of the four color theorem, and graph minor related conjectures. The elapsed time between announcement of new results and their actual publication has been notoriously long, also for other teams of researchers in the same area, indicating that pure workload volume here is slowing things down, so that collaboration (which already happens) could be beneficial to speed things up. (I'm still curious when some of the announced generalizations of graph minor related results for directed graphs will be published, and whether the people who will finally publish them will be the ones which initially announced the results.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I currently try to understand the role of completeness of intuitionistic logic in practical applications of computer assisted proof refutation. But if you really plan to do proofs by massively online collaborations, then having a solid computer assisted proof refutation system in place might really be important. After all, if you don't know your collaborators sufficiently well, how will you be able to judge whether you can trust their contributions, without wasting a significant amount of time checking everything they did? (I have the impression that mathematicians are more used to proof refutation and enjoy its positive sides like direct personal feedback, while computer scientists show less routine with this sort of feedback.) Anyway, establishing that proof refutation is a natural part of collaboration when tackling difficult problems seems like a good idea to me.&lt;/p&gt;&#xA;" OwnerUserId="20340" LastActivityDate="2015-09-13T16:33:54.310" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32526" PostTypeId="2" ParentId="32524" CreationDate="2015-09-13T21:11:52.253" Score="2" Body="&lt;p&gt;For the concrete case of a specification of a regular language, there is the &lt;a href=&quot;http://www.brics.dk/JSA/&quot; rel=&quot;nofollow&quot;&gt;Java String Analyzer&lt;/a&gt; which roughly is able to compute a finite state automaton (i.e. regular expression) of the set of strings accepted by a Java method, using various techniques in static analysis.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;While the paper deals directly with the set of strings generated by a piece of Java code, I believe the same techniques apply to the problem of checking whether a piece of code accepts the right inputs.&lt;/p&gt;&#xA;" OwnerUserId="20581" LastActivityDate="2015-09-13T21:11:52.253" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32527" PostTypeId="2" ParentId="32503" CreationDate="2015-09-13T21:43:34.370" Score="0" Body="&lt;p&gt;You are wondering about big picture issues here. A natural number can canonically be represented in unary notation, but this representation is quite space inefficient. You could also represent it in binary notation, which is more space efficient, but no longer canonical, because you could also use tenary notation, or decimal notation. But notice that representation by circuits is not significantly less efficient than binary notation, see for example&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;101101 = (((1+1)*(1+1)+1)*(1+1)+1)*(1+1)*(1+1)+1&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;And notice that &lt;code&gt;(...)*(1+1)&lt;/code&gt; can be replaced by &lt;code&gt;x:=(...) in x+x&lt;/code&gt;, so you don't even need multiplication for this. But because you do have multiplication, you can even efficiently represent numbers like &lt;code&gt;1011^101101&lt;/code&gt;. Also note that you can efficiently add, subtract and multiply numbers in this representation. But this representation isn't limited to numbers, it even work exactly the same way for multivariate polynomial functions. And for polynomials, it is even a quite natural representation, because polynomials are the free algebra for commutative rings, and the representation as circuit can be used for any free algebra.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But let's get back to (natural) numbers for a moment, numbers like&#xA;$c=10^{10^{10^{10^{10}}}}$. N J Wildberger has written some ultrafinitist rants, for example &lt;a href=&quot;http://web.maths.unsw.edu.au/~norman/papers/SetTheory.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Set Theory: Should You Believe?&lt;/a&gt;. In the section &lt;strong&gt;But what about the natural numbers?&lt;/strong&gt; the existence of numbers like $c$ is admitted, because you can obviously write them down. But the existence of nearly all natural numbers between $0$ and $c$ is denied, because most of those numbers would contain more information than could possibly be represented by the physical universe. Most of the rant just made me laugh, but this point got me thinking. Philosophers like Willard Van Orman Quine have protested against claiming the existence of unactualized possibles, among others because those lead to disorderly elements which cannot meaningfully be said to be identical with themselves and distinct from one another. So I found it quite reasonable to wonder about number presentations for which one still perform addition, subtraction and multiplication, and at least meaningfully determine whether two numbers are distinct from one another. The circuit representation achieves this...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Back to polynomials and circuit representations of free algebras. Here are some big picture questions:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Does this representation of a free algebra always allows efficient probabilistic identity testing, or is this limited to commutative rings?&lt;br&gt;&#xA;-&gt; &lt;em&gt;Identity testing is often even undecidable: For $n\geq 4$, the &lt;a href=&quot;https://ncatlab.org/nlab/show/modular+lattice#free_modular_lattices&quot; rel=&quot;nofollow noreferrer&quot;&gt;free modular lattice&lt;/a&gt; generated by $n$ elements is infinite and in fact has an undecidable word problem (Freese, Herrmann).&lt;/em&gt;&lt;/li&gt;&#xA;&lt;li&gt;Is there a free algebra for which efficient deterministic identity testing would invalidate any commonly believed conjectures, like P!=NP?&lt;br&gt;&#xA;-&gt; &lt;em&gt;Yes, identity testing for the free algebra for regular commutative rings is NP-complete. Didn't noticed this for a long time, see below...&lt;/em&gt;&lt;/li&gt;&#xA;&lt;li&gt;Would efficient deterministic identity testing for $\Bbb Z[x_1,\dots,x_n]$ (=the free algebra of commutative rings) invalidate any &lt;em&gt;interesting&lt;/em&gt; conjectures?&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I'm especially wondering about the free algebra for regular commutative rings &lt;a href=&quot;https://cs.stackexchange.com/questions/32151/is-duplicate-in-rpn-enough-for-replacing-variable-binding-in-term-expressions&quot;&gt;here&lt;/a&gt; (i.e. rings with a generalized inverse operation), as they would allow to represent rational numbers and rational functions. Note that if we had used this representation only for numbers, then we might have wondered whether we can efficiently test &lt;code&gt;a &amp;lt; b&lt;/code&gt; for this representation. This question doesn't make sense for the free commutative ring, but it could make sense for polynomials, if we interpret them in the context of free partially ordered rings. But a partially ordered ring is only a relational structure instead of an algebra, so this is a different kind of question...&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Schwartz-Zippel lemma applies here since it holds for general fields and $\Bbb Z\subset\Bbb Q$ and there is an efficient randomized algorithm for this problem.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Well, it is true that Schwartz-Zippel lemma applies here, and that there is an efficient randomized algorithm for this problem, but these two facts are not directly related. Recall that it is &lt;a href=&quot;https://cs.stackexchange.com/questions/32151/is-duplicate-in-rpn-enough-for-replacing-variable-binding-in-term-expressions&quot;&gt;easy&lt;/a&gt; to efficiently represent polynomials like $((3^3+3)^3+x)^3-((2^2+5)^3+x)^2x$ by a circuit. So if $n$ is the circuit size, then coefficient magnitudes of $7^{2^{n/2}}$, or $5^{3^{n/3}}$ are easy to achieve. That said, probabilistic polynomial identity testing still works over $\mathbb Z$. The bound on the coefficients is something like $B=\exp(\exp(n))$, and you just need to randomly guess a prime number which doesn't simultaneously divides all coefficients. Enough prime numbers of order $O(\log B)$ exists for doing this in an efficient probabilistic fashion.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;I would find it quite surprising if PIT over $\Bbb Z[x_1,\dots,x_n]$ could be derandomized. But a similar surprise happened to me before, when primality testing was derandomized.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, I also believe that you can just use any reasonable pseudorandom number generator and thereby decide PIT for all practical purposes, if you just test long enough. I only believe that you can never get rid of the remaining (infinitesimal small) doubt, similar to sets of measure zero, which remain annoying by not being empty.&lt;/p&gt;&#xA;" OwnerUserId="20340" LastEditorUserId="-1" LastEditDate="2017-04-13T12:48:30.830" LastActivityDate="2016-03-13T23:17:15.103" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="32528" PostTypeId="1" AcceptedAnswerId="32535" CreationDate="2015-09-14T06:53:11.363" Score="2" ViewCount="199" Body="&lt;p&gt;Say I have a real valued convex function $f$ on the hypercube $[-1,1]^n$. Let $f'$ be the induced function on the discrete hypercube $\{-1,1\}^n$. Now I want to find a vertex on $\{-1,1\}^n$ on which either  (1) $f' &amp;lt; c$ for some given constant $c$ or (2) $f'$ minimizes. &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Is either of these questions for any class of $f$ known to be solvable in $poly(n)$ time? &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;For any class of $f$ is $f'$ known to become submodular? &lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Typically I am dealing with a $f(\vec{x}) = SpectralNorm ( A + \vec{x}.\vec{M} )$ where the matrices are $2n$ dimensional real symmetric matrices with entries in $\{0,1,-1 \}$ , $\vec{x} \in [-1,1]^n$ and the matrices in the coordinates of the vector (in matrix space) $\vec{M}$ being simultaneously diagonalizable. Any advice specific to this class would be most helpful.  &lt;/p&gt;&#xA;" OwnerUserId="32603" LastEditorUserId="32603" LastEditDate="2015-09-15T16:18:51.663" LastActivityDate="2015-09-15T16:18:51.663" Title="When can a convex function induce submodularity?" Tags="&lt;np-hardness&gt;&lt;convex-optimization&gt;&lt;convex-geometry&gt;&lt;submodularity&gt;&lt;convex-hull&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32530" PostTypeId="1" CreationDate="2015-09-14T15:31:26.907" Score="3" ViewCount="71" Body="&lt;p&gt;In theoretical physics, there is a branch of quantum field theory dealing with chiral gauge theories. It has been conjectured by Feynman [1] and others that all quantum field theories can be simulated in a limit computable manner efficiently on a quantum computer. However, there is the challenge of finding an efficient limit computable simulation of chiral gauge theories on a quantum computer. Does this problem lie within $\mathsf{BQP}$? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] Richard P. Feynman. &lt;a href=&quot;http://www.cs.berkeley.edu/~christos/classics/Feynman.pdf&quot; rel=&quot;nofollow&quot;&gt;Simulating Physics with Computers&lt;/a&gt;. International &#xA;Journal of Theoretical Physics, Vol. 21, Nos. 6/7, 1982 &lt;/p&gt;&#xA;" OwnerUserId="35539" LastEditorUserId="976" LastEditDate="2015-09-14T16:10:31.320" LastActivityDate="2015-09-14T16:10:31.320" Title="Does simulating chiral gauge theories lie within BQP?" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;quantum-computing&gt;&lt;quantum-information&gt;&lt;physics&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="32532" PostTypeId="1" AcceptedAnswerId="32533" CreationDate="2015-09-14T21:02:59.370" Score="14" ViewCount="682" Body="&lt;p&gt;Razborov proved that the monotone function matching is not in &lt;a href=&quot;https://complexityzoo.uwaterloo.ca/Complexity_Zoo:M#mp&quot;&gt;mP&lt;/a&gt;. But can we compute matching using a polynomial size circuit with a few negations? Is there a P/poly circuit with $O(n^\epsilon)$ negations that computes matching? What is the trade-off between the number of negations and the size for matching?&lt;/p&gt;&#xA;" OwnerUserId="14197" LastEditorUserId="14197" LastEditDate="2015-09-15T02:16:58.643" LastActivityDate="2016-04-17T19:59:06.020" Title="How many negations do we need to compute monotone functions?" Tags="&lt;cc.complexity-theory&gt;&lt;circuit-complexity&gt;&lt;lower-bounds&gt;&lt;matching&gt;&lt;monotone&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="32533" PostTypeId="2" ParentId="32532" CreationDate="2015-09-14T21:48:33.023" Score="21" Body="&lt;p&gt;Markov proved that &lt;em&gt;any&lt;/em&gt; function of &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt; inputs can be computed with only &lt;span class=&quot;math-container&quot;&gt;$\lceil \log (n+1)\rceil$&lt;/span&gt; negations. An efficient constructive version was described by Fisher. See also an exposition of the result from the &lt;a href=&quot;https://rjlipton.wordpress.com/2013/12/26/re-gifting-an-old-theorem/&quot; rel=&quot;noreferrer&quot;&gt;GLL blog&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;More precisely:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;Theorem:&lt;/strong&gt; Suppose &lt;span class=&quot;math-container&quot;&gt;$f : \{0,1\}^n \to \{0,1\}^m$&lt;/span&gt; is computed by a circuit &lt;span class=&quot;math-container&quot;&gt;$C$&lt;/span&gt; with &lt;span class=&quot;math-container&quot;&gt;$g$&lt;/span&gt; gates, then it is also computed by a circuit &lt;span class=&quot;math-container&quot;&gt;$C^*$&lt;/span&gt; with &lt;span class=&quot;math-container&quot;&gt;$2g + O(n^2 \log^2 n)$&lt;/span&gt; gates and &lt;span class=&quot;math-container&quot;&gt;$\lceil \log (n+1) \rceil$&lt;/span&gt; negations.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;The main idea is to add for each wire &lt;span class=&quot;math-container&quot;&gt;$w$&lt;/span&gt; in &lt;span class=&quot;math-container&quot;&gt;$C$&lt;/span&gt; a parellel wire &lt;span class=&quot;math-container&quot;&gt;$w'$&lt;/span&gt; in &lt;span class=&quot;math-container&quot;&gt;$C^*$&lt;/span&gt; that always carries the complement of &lt;span class=&quot;math-container&quot;&gt;$w$&lt;/span&gt;. The base case is for the input wires: Fisher describes how to construct an inversion circuit &lt;span class=&quot;math-container&quot;&gt;$I(x) = \overline x$&lt;/span&gt; with &lt;span class=&quot;math-container&quot;&gt;$O(n^2 \log^2 n)$&lt;/span&gt; gates and only  &lt;span class=&quot;math-container&quot;&gt;$\lceil \log (n+1) \rceil$&lt;/span&gt; negations. For the AND gates of circuit &lt;span class=&quot;math-container&quot;&gt;$C$&lt;/span&gt;, we can augment &lt;span class=&quot;math-container&quot;&gt;$a = b \land c$&lt;/span&gt; with &lt;span class=&quot;math-container&quot;&gt;$a' = b' \lor c'$&lt;/span&gt;, and likewise for OR gates. NOT gates in &lt;span class=&quot;math-container&quot;&gt;$C$&lt;/span&gt; cost nothing, we just swap the roles of &lt;span class=&quot;math-container&quot;&gt;$w$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$w'$&lt;/span&gt; downstream of the NOT gate. In this way, the entire circuit besides the inverter subcircuit is monotone.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;A. A. Markov. On the inversion complexity of a system of functions. &lt;em&gt;J. ACM&lt;/em&gt;, 5(4):331–334, 1958.&lt;/p&gt;&#xA;&lt;p&gt;M. J. Fischer. The complexity of negation-limited networks - A brief survey. In&#xA;&lt;em&gt;Automata Theory and Formal Languages&lt;/em&gt;, 71–82, 1975&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="149" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2015-09-15T03:04:07.317" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="32535" PostTypeId="2" ParentId="32528" CreationDate="2015-09-15T08:05:38.750" Score="4" Body="&lt;p&gt;The notion of sub-modularity you use is non-standard. Usually you consider set functions with domain $\lbrace 0, 1\rbrace^n$. But to answer your questions, the Lovász extension establishes the following relationship between sub-modularity and convexity:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A set-function $F$ is sub-modular if and only if its Lovász extension $f$ is convex. For a proof see Proposition 6 in [1]. To go a bit further, e.g. Proposition 2.3 in [2] establishes the fact the very set function can be written as a difference of two sub-modular function. Conversely, the Lovász extension of every set function is DC (difference of convex functions).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The converse is not true: Not every convex function restricted to  $\lbrace 0, 1\rbrace^n$ is sub-modular. Form your description I assume that you matrix is positive semi-definite. But it is not clear to me how you define the convex $f(x)$? With that information, you can start checking sub-modularity. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] &lt;a href=&quot;https://hal.archives-ouvertes.fr/file/index/docid/535950/filename/submodular_tutorial.pdf&quot; rel=&quot;nofollow&quot;&gt;https://hal.archives-ouvertes.fr/file/index/docid/535950/filename/submodular_tutorial.pdf&lt;/a&gt;&#xA;[2] &lt;a href=&quot;http://www.ml.uni-saarland.de/Publications/HeinSetzer-BeyondSC%282011%29-Supplement.pdf&quot; rel=&quot;nofollow&quot;&gt;http://www.ml.uni-saarland.de/Publications/HeinSetzer-BeyondSC%282011%29-Supplement.pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="35546" LastEditorUserId="35546" LastEditDate="2015-09-15T11:27:35.683" LastActivityDate="2015-09-15T11:27:35.683" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="32536" PostTypeId="1" AcceptedAnswerId="32545" CreationDate="2015-09-15T13:23:36.220" Score="22" ViewCount="2316" Body="&lt;p&gt;For randomized algorithms $\mathcal{A}$ taking real values, the &quot;median trick&quot; is a simple way to reduce the probability of failure to any threshold $\delta &amp;gt; 0$, at the cost of only a multiplicative $t=O(\log\frac{1}{\delta})$ overhead. &#xA;Namely, if the $\mathcal{A}$'s output falls into a &quot;good range&quot; $I=[a,b]$ with probability (at least) $2/3$, then running independent copies $\mathcal{A}_1,\dots,\mathcal{A}_t$ and taking the median of their outputs $a_1,\dots,a_t$ will result in a value falling in $I$ with probability at least $1-\delta$ by Chernoff/Hoeffding bounds.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there any generalization of this &quot;trick&quot; to higher dimensions, say $\mathbb{R}^d$, where the good range is now a convex set (or a ball, or any sufficiently nice and structured set)? That is, given a randomized algorithm $\mathcal{A}$ outputting values in $\mathbb{R}^d$, and a &quot;good set&quot; $S\subseteq \mathbb{R}^d$ such that $\mathbb{P}_r\{ \mathcal{A}(x,r) \in S \} \geq 2/3$ for all $x$, how can one boost the probability of success to $1-\delta$ with only a logarithmic cost in $1/\delta$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Phrased differently: given fixed, arbirary $a_1,\dots, a_t\in \mathbb{R}^d$ with the guarantee that at least $\frac{2t}{3}$ of the $a_i$'s belong to $S$, is there a procedure outputting a value from $S$? If so, is there an efficient one?)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;And what is the minimum set of assumptions one needs on $S$ for the above to be achievable?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Sorry if this turns out to be trivial -- I couldn't find a reference on this question...&lt;/p&gt;&#xA;" OwnerUserId="13319" LastActivityDate="2015-09-19T03:40:42.853" Title="Generalizing the &quot;median trick&quot; to higher dimensions?" Tags="&lt;ds.algorithms&gt;&lt;randomized-algorithms&gt;" AnswerCount="3" CommentCount="4" FavoriteCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="32537" PostTypeId="1" AcceptedAnswerId="32546" CreationDate="2015-09-15T15:08:58.293" Score="-1" ViewCount="41" Body="&lt;p&gt;I have a constraint like d &gt;= a ^ b ^ c, where a,b,c,d are binary, ^ is XOR.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is this a pseudo boolean modularity constraint or not? Most Pseudo boolean modularity constraints I saw are with equality, which confuses me a lot.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;what is this constraint, a pseudo boolean modularity or something else?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;How can I turn it into a CNF&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Thank you in advance!&lt;/p&gt;&#xA;" OwnerUserId="35555" LastActivityDate="2015-09-16T06:17:24.910" Title="pseudo boolean modularity constraint?" Tags="&lt;sat&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32538" PostTypeId="1" AcceptedAnswerId="32542" CreationDate="2015-09-15T15:28:08.213" Score="25" ViewCount="2026" Body="&lt;p&gt;I know that it is undecidable to determine if a set of tiles can tile the plane,&#xA;a result of Berger using &lt;a href=&quot;https://en.wikipedia.org/wiki/Wang_tile&quot;&gt;Wang tiles&lt;/a&gt;.&#xA;My question is whether it is also known to be undecidable to determine&#xA;if a &lt;em&gt;single&lt;/em&gt; given tile can tile the plane, a &lt;em&gt;monohedral&lt;/em&gt; tiling.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If this remains unsettled, I would be interested to know what is the minimum&#xA;cardinality of a set of tiles for which there is an undecidability proof.&#xA;(I have not yet accessed Berger's proof.)&lt;/p&gt;&#xA;" OwnerUserId="337" LastEditorUserId="5385" LastEditDate="2015-09-15T20:07:26.813" LastActivityDate="2015-09-15T20:07:26.813" Title="Is it decidable to determine if a given shape can tile the plane?" Tags="&lt;reference-request&gt;&lt;co.combinatorics&gt;&lt;decidability&gt;&lt;undecidability&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="32539" PostTypeId="2" ParentId="32538" CreationDate="2015-09-15T15:31:11.157" Score="14" Body="&lt;p&gt;An extended comment: a recent paper by Demaine &amp;amp; al. proves that one tile is enough to simulate an arbitrary computation:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Erik D. Demaine, Martin L. Demaine, Sándor P. Fekete, Matthew J. Patitz, Robert T. Schweller, Andrew Winslow, Damien Woods; &lt;a href=&quot;http://arxiv.org/abs/1212.4756&quot;&gt;One Tile to Rule Them All: Simulating Any Turing Machine, Tile Assembly System, or Tiling System with a Single Puzzle Piece&lt;/a&gt; (2012)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;but&lt;/strong&gt; the tiling is not an exact tiling : &lt;em&gt;&quot;... The output one-tile system requires tiles to live on the same square or hexagonal lattice, allows tiles to rotate, and is &lt;strong&gt;nearly plane&lt;/strong&gt; tiling in the sense that it leaves tiny gaps between the tiles. ...&quot;&lt;/em&gt;&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2015-09-15T15:45:30.457" LastActivityDate="2015-09-15T15:45:30.457" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="32542" PostTypeId="2" ParentId="32538" CreationDate="2015-09-15T17:41:06.363" Score="23" Body="&lt;p&gt;According to the introduction of [1],&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The complexity of determining if a single polyomino tiles the plane remains open [2,3], and&lt;/li&gt;&#xA;&lt;li&gt;There is an undecidability proof for sets of 5 polyominoes [4].&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;[1] Stefan Langerman, Andrew Winslow. &lt;a href=&quot;http://arxiv.org/abs/1507.02762&quot;&gt;A Quasilinear-Time Algorithm for Tiling the Plane Isohedrally with a Polyomino&lt;/a&gt;. ArXiv e-prints, 2015. arXiv:1507.02762 [cs.CG]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] C. Goodman-Strauss. &lt;a href=&quot;http://comp.uark.edu/~strauss/papers/survey.pdf&quot;&gt;Open questions in tiling&lt;/a&gt;. Online, published 2000.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[3] C. Goodman-Strauss. &lt;a href=&quot;http://www.ams.org/notices/201003/rtx100300343p.pdf&quot;&gt;Can’t decide? undecide!&lt;/a&gt; Notices of the American&#xA;Mathematical Society, 57(3):343–356, 2010.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[4] N. Ollinger. &lt;a href=&quot;https://hal.archives-ouvertes.fr/hal-00335781/document&quot;&gt;Tiling the plane with a fixed number of polyominoes&lt;/a&gt;. In&#xA;A. H. Dediu, A. M. Ionescu, and C. Mart´ın-Vide, editors, LATA 2009,&#xA;volume 5457 of LNCS, pages 638–647. Springer, 2009.&lt;/p&gt;&#xA;" OwnerUserId="21263" LastEditorUserId="21263" LastEditDate="2015-09-15T18:04:29.430" LastActivityDate="2015-09-15T18:04:29.430" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32543" PostTypeId="1" CreationDate="2015-09-15T17:50:55.680" Score="2" ViewCount="73" Body="&lt;p&gt;I need to approximately and quickly solve a minimum k-cut problem for n=2^14 and k=512. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It seems that the 2-approximation algorithm given by Saran and Vazirani which needs to solve O(n) instances of max-flow problem will make the overall algorithm take O(n^2m) time. Though we expect the graph to be sparse, this seems prohibitive.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a O(n) time algorithm with possible compromise on the approximation ratio?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thank you.&lt;/p&gt;&#xA;" OwnerUserId="1143" LastActivityDate="2015-09-15T17:50:55.680" Title="Approximate linear time algorithm for minimum k-cut" Tags="&lt;ds.algorithms&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32544" PostTypeId="2" ParentId="32536" CreationDate="2015-09-15T18:20:09.100" Score="14" Body="&lt;p&gt;This is a neat question and I've thought about it before. Here's what we came up with:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You run your algorithm $n$ times to get outputs $x_1, \cdots, x_n \in \mathbb{R}^d$ and you know what with high probability a large fraction of $x_i$s fall into some good set $G$. You don't know what $G$ is, just that it is convex. The good news is that there is a way to get a point in $G$ with no further information about it. Call this point $f(x_1, \cdots, x_n)$.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;&lt;b&gt;Theorem.&lt;/b&gt; For all natural numbers $n$ and $d$, there exists a function $f : (\mathbb{R}^d)^n \to \mathbb{R}^d$ such that the following holds. Let $x_1 ... x_n \in \mathbb{R}^d$ and let $G \subset \mathbb{R}^d$ be a convex set satisfying $$\frac{1}{n}\left|\left\{ i \in [n] : x_i \in G \right\}\right| &amp;gt; \frac{d}{d+1}.$$ Then $f(x_1, ..., x_n) \in G$. Moreover, $f$ is computable in time polynomial in $n^d$.&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Note that, for $d=1$, we can set $f$ to be the median. So this shows how to generalise the median for $d&amp;gt;1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Before proving this result, note that it is tight: Let $n=d+1$ and let $x_1, \cdots, x_d$ be the standard basis elements and $x_{d+1}=0$. Any subset of $d$ of the points is contained in an affine space $G$ of dimension $d-1$ (which is uniquely defined by those points). But no point is contained in all of those affine spaces. Hence there is some convex $G$ that contains $n\cdot d/(d+1)=d$ points but doesn't contain $f(x_1, \cdots, x_n)$, whatever value that takes. &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;i&gt;Proof.&lt;/i&gt; We use the following result.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&lt;b&gt;Helly's Theorem.&lt;/b&gt; Let $K_1 ... K_m$ be convex subsets of $\mathbb{R}^d$. Suppose the intersection of any $d+1$ $K_i$s is nonempty. Then the intersection of all $K_i$s is nonempty.&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://gilkalai.wordpress.com/2008/11/24/sarkarias-proof-of-tverbergs-theorem-1/&quot;&gt;Click here for a proof of Helly's Theorem.&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now to prove our theorem:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $k&amp;lt;n/(d+1)$ be an upper bound on the number of points not in $G$. Consider all closed halfspaces $K_1 ... K_m \subset \mathbb{R}^d$ containing at least $n-k$ points with their their boundary containing a set of points of maximal rank (this is a finite number of halfspaces as each $K_i$ is defined by $d+1$ points on its boundary).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The complement of each $K_i$ contains at most $k$ points. By a union bound, the intersection any $d+1$ $K_i$s contains at least $n-k(d+1)$&gt;0 points. By Helly's theorem (since halfspaces are convex), there is a point in the intersection of all the $K_is$. We let $f$ be a function that computes an arbitrary point in the intersection of the $K_i$s.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;All that remains is to show that the intersection of the $K_i$s is contained in $G$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Without loss of generality, $G$ is the convex hull of a subset of the points with full rank. That is, we can replace $G$ with the convex hull of the points it contains. If this does not have full rank, we can simply apply our theorem in lower dimension.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Each face of $G$ defines a halfspace, where $G$ is the intersection of these halfspaces. Each of these halfspaces contains $G$ and hence contains at least $n-k$ points. The boundary of one of these half spaces contains a face of $G$ and hence contains a set of points of maximal rank. Thus each of these halfspaces is a $K_i$. Thus the intersection of all $K_i$s is contained in $G$, as required.&lt;/p&gt;&#xA;&#xA;&#xA;&lt;p&gt;To compute $f$, set up a linear program where the linear constraints correspond to $K_i$s and a feasible solution corresponds to a point in the intersection of all the $K_i$s.&#xA;&lt;i&gt;Q.E.D.&lt;/i&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Unfortunately, this result is not very practical in the high-dimensional setting. A good question is whether we can compute $f$ more efficiently:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;&lt;b&gt;Open Problem.&lt;/b&gt; Prove the above theorem with the additional conclusion that $f$ can be computed in time polynomial in $n$ and $d$.&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;b&gt;Aside:&lt;/b&gt; We can also change the problem to get an efficient solution: If $x_1, \cdots, x_n$ have the property that strictly more than half of them lie in a ball $B(y,\varepsilon)$, then we can find a point $z$ that lies in $B(y,3\varepsilon)$ in time polynomial in $n$ and $d$. In particular, we can set $z=x_i$ for an arbitrary $i$ such that strictly more than half of the points are in $B(z,2\varepsilon)$.&lt;/p&gt;&#xA;" OwnerUserId="2022" LastEditorUserId="2022" LastEditDate="2015-09-15T18:40:46.573" LastActivityDate="2015-09-15T18:40:46.573" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32545" PostTypeId="2" ParentId="32536" CreationDate="2015-09-15T20:56:48.367" Score="17" Body="&lt;p&gt;What you're looking for is almost the same a &lt;a href=&quot;https://en.wikipedia.org/wiki/Robust_statistics&quot;&gt;robust&lt;/a&gt; &lt;a href=&quot;https://en.wikipedia.org/wiki/Central_tendency&quot;&gt;central tendency&lt;/a&gt;: a way of reducing a cloud of data points to a single point, such that if many of the data points are close to some &quot;ground truth&quot; but the rest of them are arbitrarily far away, then your output will also be close to the ground truth. The &quot;breakdown point&quot; of such a method is the fraction of arbitrarily-bad outliers it can tolerate. The difference is that in your case you want to replace &quot;close to&quot; by &quot;within the convex hull of&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One way to capture this is with the notion of Tukey depth. A point has Tukey depth $p$ (with respect to a given set of $n$ data points) if every halfspace containing the given point also contains at least $pn$ data points. If there is a good convex subspace that you want to be inside, then a point with Tukey depth $p$ will be inside it as long as there are at least $(1-p)n$ of the data points inside it. So the breakdown point of this method is the largest value of $p$ that you can attain.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Unfortunately this breakdown point is $1/(d+1)$, not close to 1/2, both for Tukey depth and for your problem. Here's why: if your data are clustered near the $d+1$ vertices of a simplex, then as long as fewer than $1/(d+1)$ fraction of them are outliers (but you don't know which ones) then any point in the simplex is safe to pick as it will always be within the convex hull of the non-outliers. But if more than $1/(d+1)$ of the points can be outliers, there is nowhere that is safe to pick: whichever point in the simplex you choose, the outliers could be all of the points from the nearest simplex vertex, and you'd be outside the hull of the non-outliers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you're willing to tolerate a worse breakdown point, more like $O(1/d^2)$, there's a randomized method for finding a deep point that's polynomial in both $n$ and $d$: see my paper&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Approximating center points with iterated Radon points,&#xA;K. Clarkson, D. Eppstein, G.L. Miller, C. Sturtivant, and S.-H. Teng,&#xA;&lt;em&gt;9th ACM Symp. Comp. Geom.&lt;/em&gt;, San Diego, 1993, pp. 91–98,&#xA;&lt;em&gt;Int. J. Comp. Geom. &amp;amp; Appl.&lt;/em&gt; 6 (3): 357–377, 1996,&#xA;&lt;a href=&quot;http://kenclarkson.org/center/p.pdf&quot;&gt;http://kenclarkson.org/center/p.pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2015-09-15T20:56:48.367" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="32546" PostTypeId="2" ParentId="32537" CreationDate="2015-09-16T06:17:24.910" Score="2" Body="&lt;p&gt;You can turn it into CNF using &lt;a href=&quot;https://en.wikipedia.org/wiki/Tseitin_transformation&quot; rel=&quot;nofollow&quot;&gt;the Tseitin transform&lt;/a&gt;.  Some SAT front-ends will do the transformation for you: for instance, the &lt;a href=&quot;https://stp.github.io/&quot; rel=&quot;nofollow&quot;&gt;STP solver&lt;/a&gt; has native support for all of those operations and thus can handle the transformation for you.&lt;/p&gt;&#xA;" OwnerUserId="5038" LastActivityDate="2015-09-16T06:17:24.910" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32547" PostTypeId="1" CreationDate="2015-09-16T06:21:04.677" Score="5" ViewCount="252" Body="&lt;p&gt;I'm an undergraduate strongly interested (well, this is a hunch) in theoretical CS and all things mathematical. While I'd like to devote my time to participating in research opportunities and learning more about academia-related CS, I also want to develop a skillset (in software engineering) that, if I were unsuccessful in entering academia, would give me a fallback. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I suspect that the past an early point, the learning routes for academia-CS and industrial CS diverge, meaning that I can't prepare myself for both. To what extent is this true  -- everybody needs to have experience in a couple of programming languages, for example, but that aside, are there commonalities or differences between preparing for academia and industry that bar or support my plan? Is what I want feasible and, if so, how? Many Thanks.&lt;/p&gt;&#xA;" OwnerUserId="35560" LastActivityDate="2015-09-16T22:41:14.647" Title="Is education for research-based CS at odds with that of industrial CS?" Tags="&lt;soft-question&gt;&lt;advice-request&gt;&lt;career&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32549" PostTypeId="1" AcceptedAnswerId="32552" CreationDate="2015-09-16T11:10:58.043" Score="3" ViewCount="339" Body="&lt;p&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Carath%C3%A9odory%27s_theorem_(convex_hull)&quot; rel=&quot;nofollow&quot;&gt;Carathéodory's theorem&lt;/a&gt; says that if a point $x$ of $R^d$ lies in the convex hull of a point set $P$, then there is a subset $P′ \subseteq P$ consisting of $d + 1$ or fewer points such that $x$ can be expressed as a convex combination of $P′$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A recent result by Barman (see &lt;a href=&quot;http://arxiv.org/pdf/1406.2296v3.pdf&quot; rel=&quot;nofollow&quot;&gt;paper&lt;/a&gt;) shows an approximate version of the above theorem. &#xA;More precisely,  given a set of points $P$ in the $p$-unit ball with norm $p \in [2,\infty)$, then for every point $x$ in the convex hull of $P$ there exists an $\epsilon$-close point $x'$ (under the $p$-norm distance) that can be expressed as a convex combination of $O\left(\frac{p}{\epsilon^2} \right)$ many points of P.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, my question is that does the above result implies (or have some connection with) some kind of dimensionality reduction for the points in the convex hull of $P$. It seems intuitive to me (however I don't have a formal proof of it) - as for any  point $x$ inside the $P$ there is a point (say) $x'$ in a close neighborhood of $x$ which can be written as convex combination of constant many points of $P$, which in some sense dimensionality reduction of $x'$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Pls let me know if I am able put my question clearly.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks.&lt;/p&gt;&#xA;" OwnerUserId="22594" LastActivityDate="2015-09-16T20:25:28.150" Title="Does Approx Carathéodory's theorem implies dimensionality reduction" Tags="&lt;machine-learning&gt;&lt;computational-geometry&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="32550" PostTypeId="2" ParentId="32524" CreationDate="2015-09-16T13:36:28.467" Score="3" Body="&lt;p&gt;In general, the technique used is known as &quot;fuzzing&quot;. Not all errors are equally likely. Let's consider two hypothetical errors:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;System A incorrectly rejects a filename if it contains an &lt;code&gt;|&lt;/code&gt; anywhere.&lt;/li&gt;&#xA;&lt;li&gt;System A incorrectly rejects a filename if it contains a prime number of &lt;code&gt;b&lt;/code&gt; characters.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Errors of the second type are much, much rarer, but this is not explained by Computer Science. It's a result from how humans construct software. Fuzzing tries to focus on typical human bugs. In this case, we can predict the following types of errors are more likely:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Very short paths and very long paths may have boundary errors.&lt;/li&gt;&#xA;&lt;li&gt;Errors near the begin or end of the path are more common than errors at the end&lt;/li&gt;&#xA;&lt;li&gt;Many characters can be organized into classes which are treated identically, such as lowercase characters. All characters in this class are treated equally, so whether a filename is valid does not depend on a substitution within the class.&lt;/li&gt;&#xA;&lt;li&gt;Some characters are a priori known to be problematic and each should be treated as a class on its own. (Examples: &lt;code&gt;&amp;lt;&amp;gt;/\&amp;amp;:&quot;&lt;/code&gt;)&lt;/li&gt;&#xA;&lt;li&gt;Duplicating characters is more likely to cause bugs the closer they're together.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Fuzzing aims to generate a smaller set of strings by omitting irrelevant variations. We obviously generate an initial set of testcases of all possible lengths (1-200). This checks rule 1. We then expand this set by varying a few characters near both ends. We &lt;em&gt;might&lt;/em&gt; try varying the 150th character of the 170 character testcase, but we won't bother with all 254 variations. Nor will we add a variation in the 151th character.&lt;/p&gt;&#xA;" OwnerUserId="3481" LastActivityDate="2015-09-16T13:36:28.467" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="32551" PostTypeId="1" CreationDate="2015-09-16T17:48:48.833" Score="10" ViewCount="569" Body="&lt;p&gt;From the &lt;a href=&quot;https://en.wikipedia.org/w/index.php?title=Evaluation_strategy&amp;amp;oldid=681333382&quot;&gt;evaluation strategy&lt;/a&gt; article on Wikipedia:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;The notion of reduction strategy in lambda calculus is similar but distinct.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;From the &lt;a href=&quot;https://en.wikipedia.org/w/index.php?title=Reduction_strategy_%28lambda_calculus%29&amp;amp;oldid=639577658&quot;&gt;reduction strategy&lt;/a&gt; article on Wikipedia:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;It is similar to but subtly different from the notion of evaluation strategy in computer science.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;What is the subtle distinction between evaluation strategies and reduction strategies that these two articles hint at? Are they just two similar concepts from different domains?&lt;/p&gt;&#xA;" OwnerUserId="3086" LastEditorUserId="3086" LastEditDate="2015-09-17T23:14:19.323" LastActivityDate="2015-09-20T19:07:12.490" Title="What's the difference between reduction strategies and evaluation strategies?" Tags="&lt;pl.programming-languages&gt;&lt;lambda-calculus&gt;&lt;semantics&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="32552" PostTypeId="2" ParentId="32549" CreationDate="2015-09-16T20:18:45.447" Score="9" Body="&lt;p&gt;The approximate Caratheodory theorem goes back to the 60s, and probably way earlier than that (it follows for example from the mistake bound of the preceptron algorithm analysis). As for the dimensionality reduction, the answer is no - the supporting subsets are different subsets, and their number is too large. In particular, the number of possible subsets is $n^{O(1/\epsilon^2)}$ - but there is some connection... &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Specifically, let $P$ be a set of $n$ points in high dimenionsional Euclidean space of diameter $1$. Let $Q$ be an $\epsilon$-net in the convex-hull of $P$. That is, any pair of points of $Q$ is in distance at least $\epsilon$ from each other, and every point of $CH(P)$ is in distance at most $\epsilon$ from some point of $Q$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, by the approximate Caratheodory theorem, we know that $|Q| = n^{O(1/\epsilon^2)}$. Now, imagine that you do some experiment, and with probability half the experiment succeeds for half the points of $Q$ (or, more formally, half the pairs of $Q \times Q$ -- since we look on vectors formed by differences of points of $Q$). How many times do you have to repeat the experiment till all the points are served? Well, roughly $\log_2 |Q| = O(\epsilon^{-2} \log n)$, which is, surprise surprise, the target dimension in the JL lemma. This is of course, does not imply the JL lemma - it is somewhat of a &quot;coincidence&quot; - a wrong calculation that gives the right bounds...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is a useful lesson here however - a set of $n$ points in high dimensions, induces roughly $n^{O(1/\epsilon^2)}$ points that are $\epsilon$-distinct, independent of the ambient dimension.&lt;/p&gt;&#xA;" OwnerUserId="9594" LastEditorUserId="9594" LastEditDate="2015-09-16T20:25:28.150" LastActivityDate="2015-09-16T20:25:28.150" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32556" PostTypeId="2" ParentId="32547" CreationDate="2015-09-16T22:41:14.647" Score="6" Body="&lt;p&gt;I struggled with the same question while pursuing my undergrad in CS. I performed a fair amount of research, but currently work as a software engineer. I can tell you that for the most part, you won't do too much theoretical CS in the industry (assuming a typical SE, not something tailored for R&amp;amp;D or the like). You may want to consider looking into R&amp;amp;D positions after graduating, should you decide not to pursue a career in academia.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The learning routes do definitely differ (although this is university-specific), but the principles learned can be used in either setting. Certain classes (Compilers, Automata Theory, etc.) may not seem like they have a place in the typical industry for software engineers, but you'd be surprised just how much they come into play.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The biggest difference that you should be prepped for is the difference in &quot;soft&quot; classes. Software engineers are often expected to interface directly with customers, nontechnical managers, and the like, while researchers/professors generally rub shoulders with their own kind in the workplace. As a SE, you get a lot more face time than many CS people are prepared for.&lt;/p&gt;&#xA;" OwnerUserId="35588" LastActivityDate="2015-09-16T22:41:14.647" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32557" PostTypeId="2" ParentId="31787" CreationDate="2015-09-17T00:18:26.863" Score="2" Body="&lt;p&gt;As J.-E. Pin pointed out my question deals with &lt;em&gt;insertion&lt;/em&gt;. I have found another source which I will post here for anyone interested.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;L.Kari. On Insertion and Deletion in Formal Languages. Ph.D. Thesis, University of Turku, 1991.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is &lt;a href=&quot;http://www.csd.uwo.ca/~lila/pdfs/THESIS1.pdf&quot; rel=&quot;nofollow&quot;&gt;Part I&lt;/a&gt; and &lt;a href=&quot;http://www.csd.uwo.ca/~lila/pdfs/THESIS2.pdf&quot; rel=&quot;nofollow&quot;&gt;Part II&lt;/a&gt; of the thesis.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;From what I can tell this is the original source for the study of insertion.&lt;/p&gt;&#xA;" OwnerUserId="34422" LastEditorUserId="34422" LastEditDate="2015-09-17T00:47:53.037" LastActivityDate="2015-09-17T00:47:53.037" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32558" PostTypeId="1" CreationDate="2015-09-17T02:22:46.007" Score="5" ViewCount="356" Body="&lt;p&gt;Imagine you want to simulate a cubic meter down to the particle. By following the &lt;a href=&quot;https://en.wikipedia.org/wiki/Standard_Model&quot;&gt;Standard Model&lt;/a&gt; and other basic physical equations, how much computing power would be required to do this, in say, a day?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Would a quantum computer help you in this task? Could you somehow directly simulate the particles?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks&lt;/p&gt;&#xA;" OwnerUserId="35589" LastActivityDate="2015-09-28T17:21:18.013" Title="How Much Computing Power would be Required to Fully Simulate a Cubic Meter?" Tags="&lt;quantum-computing&gt;&lt;physics&gt;" AnswerCount="1" CommentCount="8" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32559" PostTypeId="2" ParentId="32536" CreationDate="2015-09-17T03:00:46.063" Score="7" Body="&lt;p&gt;There is a notion of the median of a set of points in high-dimensions and general norms which is known under various names. It is just the point that minimizes the sum of distances to all the points in the set.&#xA;It is known to have a similar confidence amplification property as the usual median with a small multiplicative increase in the distance. You can find the details in Theorem 3.1 of this paper: &lt;a href=&quot;http://arxiv.org/pdf/1308.1334.pdf&quot; rel=&quot;nofollow&quot;&gt;http://arxiv.org/pdf/1308.1334.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One nice thing that this paper shows is  that the factor by which the distance increases can be made any constant &gt;1  if you can amplify from arbitrarily high (but constant &amp;lt; 1) confidence.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit: there is another recent paper on the topic by Hsu and Sabato &lt;a href=&quot;http://arxiv.org/pdf/1307.1827v6.pdf&quot; rel=&quot;nofollow&quot;&gt;http://arxiv.org/pdf/1307.1827v6.pdf&lt;/a&gt;&#xA;It mostly analyzes and applies the procedure in which the point in the set with the smallest median distance to the rest of the points is used. This procedure can be used with any metric but only gives an approximation factor of 3.&lt;/p&gt;&#xA;" OwnerUserId="968" LastEditorUserId="968" LastEditDate="2015-09-19T03:40:42.853" LastActivityDate="2015-09-19T03:40:42.853" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="32560" PostTypeId="1" CreationDate="2015-09-17T07:40:28.827" Score="6" ViewCount="854" Body="&lt;p&gt;The problem of finding &lt;a href=&quot;https://en.wikipedia.org/wiki/Streaming_algorithm#Heavy_hitters&quot;&gt;heavy hitters&lt;/a&gt; in a stream is defined as follows: given a $N$ sized stream of elements, return a set $\mathcal D$, such that every item which arrived at least $N\theta$ times appear in $\mathcal D$, and no element with frequency lower than $N(\theta-\epsilon)$ belongs to $\mathcal D$. $\epsilon$ and $\theta$ are constant thresholds given as input.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem is well studied, with many algorithms developed for it, such as Sticky Sampling, Lossy counting, Batch decrement, and Space Saving. The last two are optimal, in the sense that they require $O(\frac{1}{\epsilon})$ counters and have constant runtime.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm looking for an algorithm for a weighted variant of the problem:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Every item in the stream is of a tuple $(id, weight)$, and the goal is the return the elements with the highest weight. All weights are in $(0,1]$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Formally, a weighted heavy hitters algorithm is required to return all elements whose sum of weights is at least $W\theta$, and no element with weight lower than $W(\theta-\epsilon)$, where $W$ is the sum of weights of the stream elements.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Are there known (preferably deterministic) algorithms for this problem that use $O(\frac{1}{\epsilon})$ counters and have $O(1)$ runtime?&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Batch Decrement and Space Saving does not seem to have a simple generalization to the weighted case, as both maintain a data structure that allows finding the minimum counter in constant time, which might not be doable in the weighted setting.&lt;/p&gt;&#xA;" OwnerUserId="21001" LastEditorUserId="21001" LastEditDate="2015-09-17T10:51:11.197" LastActivityDate="2017-06-21T03:19:14.203" Title="Algorithm for finding heavy hitters in a weighted stream" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;online-algorithms&gt;&lt;data-streams&gt;&lt;streaming-algorithms&gt;" AnswerCount="3" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32562" PostTypeId="1" CreationDate="2015-09-17T10:23:08.463" Score="5" ViewCount="231" Body="&lt;p&gt;Recently Landsberg and Ressayre &lt;a href=&quot;http://arxiv.org/pdf/1508.05788v2.pdf&quot;&gt;announced&lt;/a&gt; an exponential lower bound for permanent's determinantal complexity assuming certain symmetry conditions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is the status of the problem of Permanent's determinantal complexity after this proof? What more needs to be done to close the loop? Will the natural proof barrier affect whatever needs to be done? In short what progress does this proof intend to give on this important problem?&lt;/p&gt;&#xA;" OwnerDisplayName="user34945" LastActivityDate="2015-09-17T10:23:08.463" Title="What is the status of Determinantal Complexity of Permanent" Tags="&lt;cc.complexity-theory&gt;&lt;lower-bounds&gt;&lt;algebraic-complexity&gt;&lt;permanent&gt;&lt;determinant&gt;" AnswerCount="0" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32564" PostTypeId="2" ParentId="32560" CreationDate="2015-09-17T15:38:15.093" Score="2" Body="&lt;p&gt;Here's a generic randomized solution. (Do we even have deterministic solutions in the unweighted case? Don't Space Saving and Batch Decrement both need hash maps?)&#xA;This is probably not the ideal solution, but it's a start.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;b&gt;Weighted Heavy Hitters Algorithm.&lt;/b&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;i&gt;Input:&lt;/i&gt; $S=\{(\text{id}_i,\text{weight}_i)\}_{i=1}^N$ a weighted stream.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;i&gt;1.&lt;/i&gt; Create an unweighted stream $S'=\{\text{id}_j\}_{j=1}^{N'}$ as follows. For every weighted update $(\text{id}_i,\text{weight}_i)$ in $S$, include the unweighted update $\text{id}_i$ in $S'$ independently with probability $\text{weight}_i$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;i&gt;2.&lt;/i&gt; Apply an unweighted heavy hitters algorithm (i.e. Space Saving or Batch Decrement) to $S'$ and output the heavy hitters for $S$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Clearly this algorithm has $O(1)$ update time. To verify that this algorithm is correct we must prove the following claim.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;b&gt;Claim.&lt;/b&gt; With high probability, for every $\text{id}$, the count of $\text{id}$ in $S'$ is close to the sum of the weights of $\text{id}$ in $S$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $w_\text{id}$ be the &quot;true&quot; weight of $\text{id}$ in $S$ and $W_\text{id}$ the weight of $\text{id}$ in $S'$. Let $w=\sum_\text{id} w_\text{id}$ be the total weight of $S$ and $W=\sum_\text{id} W_\text{id}$ be the total weight of $S'$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Our claim is that $|W_\text{id}-w_\text{id}| \leq \varepsilon w$ for all $\text{id}$ with high probability.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Clearly $\mathbb{E}\left[W_\text{id}\right]=w_\text{id}$. It remains to show concentration bounds. To this end, we use the following result.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;b&gt;Bernstein's Inequality.&lt;/b&gt; Let $X_1, \cdots, X_n \in \{0,1\}$ be independent random variables. Then $$\mathbb{P}\left[ \left| \sum_{i=1}^n X_i - \mathbb{E}\left[X_i\right] \right| &amp;gt; t \right] \leq 2 \cdot \exp\left(-\Omega\left(\frac{t^2}{t+\sum_{i=1}^n \mathsf{Var}\left[X_i\right]}\right)\right)$$ for all $t &amp;gt; 0$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thus  $$\mathbb{P}\left[ \left| W_\text{id}-w_\text{id} \right| &amp;gt; \varepsilon w \right] \leq 2 \cdot \exp\left(-\Omega\left(\frac{\varepsilon^2 w^2}{\varepsilon w+w_\text{id}}\right)\right) \leq 2 \cdot \exp\left(-\Omega\left(\varepsilon^2 w\right)\right).$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that if $w_\text{id}=0$, then $W_\text{id}=0$. So we need only consider the $\text{id}$s that appear in the stream. In particular, we can take a union bound over at most $N$ $\text{id}$s:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $w \geq O\left(\log(N)/\varepsilon^2\right)$, then the weights in $S'$ are close to the weights in $S$ with high probability and the claim is verified.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What about when $w \leq O\left(\log(N)/\varepsilon^2\right)$? Then we can first repeat each weighted update $T$ times. This increases the weight to $Tw$. The good news is that $S'$ is only length $O(Tw)$ and transforming $S$ into $S'$ takes $O(1 + Tw/N)$ (amortized) time per update with high probability. So we just need to find a $T$ with $ O\left(\log(N)/\varepsilon^2\right) \leq Tw \leq O(N)$.&lt;/p&gt;&#xA;" OwnerUserId="2022" LastEditorUserId="2022" LastEditDate="2015-09-17T15:51:17.507" LastActivityDate="2015-09-17T15:51:17.507" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="32567" PostTypeId="2" ParentId="32560" CreationDate="2015-09-17T23:18:39.043" Score="2" Body="&lt;p&gt;If you allow randomization, the &lt;a href=&quot;https://7797b024-a-62cb3a1a-s-sites.googlegroups.com/site/countminsketch/cm-latin.pdf?attachauth=ANoY7cp1a_5Uj5QbLdZ74SjRCuZ5Dw62HtahmsyZDDniMswKBNfZQzrikZOMiXGSTbYxZtqv7Xn2jKGQfNsNsVzx1Wzk0HUSsAzTBnmqiWMCBlGjZJN_v8c-00DQD7CEc2PqBt5aFH7g4shvr6OD4D97eIUySQ-RD0-bAUxft8VLI1l5jH1nUrcLLdsuB81xlhh4T4smDfJYuElJ7KLIdwbAiZkMMryFMg%3D%3D&amp;amp;attredirects=0&quot; rel=&quot;nofollow&quot;&gt;CountMin&lt;/a&gt; (CM) sketch can be used with weights without modification, and can also handle negative weights. When all weights are positive, the standard analysis of CM shows that with a sketch of size $O(\varepsilon^{-1}\log 1/\delta)$ you can compute a $\tilde{w}_i$ so that $\tilde{w_i} \geq w_i$ always, and $\tilde{w}_i \leq w_i + \varepsilon W$ with probability at least $1-\delta$. Now you can set $\delta &amp;lt; 1/3m$, where $m$ is the length of the stream, so that $\tilde{w}_i$ are accurate for all $i$ you encounter in the stream. As you process the stream, in addition to the sketch at any point you maintain the set $S$ of those $i$ with the $1/\theta$ largest $\tilde{w}_i$. At the end you output the $i$ which have $\tilde{w}_i$ at least $\theta W$ (notice all of them have to be in $S$). The details are a bit more complicated if the weights can be negative, check the paper.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This algorithm can be derandomized using &lt;a href=&quot;http://www.cse.iitk.ac.in/users/sganguly/crprecis-escape.pdf&quot; rel=&quot;nofollow&quot;&gt;CR-precis&lt;/a&gt; in place of the CM sketch, but the dependence on $1/\varepsilon$ becomes quadratic, and additional log factors are lost. For a short analysis, you can also check &lt;a href=&quot;https://polylogblog.wordpress.com/2009/09/22/bite-sized-streams-cr-precis/&quot; rel=&quot;nofollow&quot;&gt;Andrew McGregor's blog post&lt;/a&gt;. Once again, with additional work, this can be made to work with negative weights too.&lt;/p&gt;&#xA;" OwnerUserId="4896" LastEditorUserId="4896" LastEditDate="2015-09-18T03:25:18.810" LastActivityDate="2015-09-18T03:25:18.810" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="32568" PostTypeId="1" CreationDate="2015-09-17T23:52:07.310" Score="0" ViewCount="155" Body="&lt;p&gt;According to the answers in &lt;a href=&quot;https://cstheory.stackexchange.com/questions/529/does-vp-neq-vnp-imply-p-neq-np&quot;&gt;posting&lt;/a&gt; it is possible that $\mathsf{VP} = \mathsf{VNP}$ and $\mathsf{P} \neq \mathsf{NP}$ are simultaneously correct. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\mathsf{VP} = \mathsf{VNP}$ implies $\mathsf{P/poly} = \mathsf{PH/poly}$ &#xA;(assuming the Generalized Riemann Hypothesis).&#xA;This means that $\mathsf{VP} = \mathsf{VNP}$ would &#xA;amplify the power of polynomial circuits even if $\mathsf{P} \neq \mathsf{NP}$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The best known obstruction for $\mathsf{P} \neq \mathsf{BPP}$ &#xA;comes from circuit related issue for problems in $\mathsf{E}$. However if circuits have more power which is the scenario posed by $\mathsf{VP}=\mathsf{VNP}$, may be the obstruction for $\mathsf{P} \neq \mathsf{BPP}$ is not legitimate anymore.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;How does $\mathsf{VP} = \mathsf{VNP}$ amplify the power of randomness?&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;If $\mathsf{VP} = \mathsf{VNP}$ were truth then is $\mathsf{P}\neq \mathsf{BPP}=\mathsf{NP}$ most likely scenario? &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Are other possibilities such as $$(1)\mbox{ }\mathsf{P}=\mathsf{BPP}\neq \mathsf{NP}\quad \quad(2)\mbox{ }\mathsf{P}=\mathsf{BPP}=\mathsf{NP}\quad\quad(3)\mbox{ }\mathsf{P}\neq\mathsf{BPP}\neq\mathsf{NP}$$ least likely?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there any reasons to believe or not believe so? &lt;/p&gt;&#xA;" OwnerDisplayName="user34945" LastEditorUserId="-1" LastEditorDisplayName="user34945" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2015-09-18T21:39:15.370" Title="Consequences of VP = VNP on randomness" Tags="&lt;circuit-complexity&gt;&lt;counting-complexity&gt;&lt;derandomization&gt;&lt;p-vs-np&gt;&lt;hierarchy-theorems&gt;" AnswerCount="0" CommentCount="8" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32571" PostTypeId="1" AcceptedAnswerId="32572" CreationDate="2015-09-18T12:52:15.860" Score="2" ViewCount="221" Body="&lt;p&gt;In &lt;a href=&quot;https://cstheory.stackexchange.com/users/259/emanuele-viola&quot;&gt;Emanuele Viola&lt;/a&gt;'s much upvoted &lt;a href=&quot;https://cstheory.stackexchange.com/a/5006/35605&quot;&gt;answer&lt;/a&gt; to the question, &lt;a href=&quot;https://cstheory.stackexchange.com/questions/5004/are-runtime-bounds-in-p-decidable-answer-no&quot;&gt;&amp;quot;Are runtime bounds in &lt;strong&gt;P&lt;/strong&gt; decidable?&amp;quot;&lt;/a&gt; he uses the following proof:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;The problem is undecidable. Specifically, you can reduce the halting problem to it as follows. Given an instance &lt;span class=&quot;math-container&quot;&gt;$(M,x)$&lt;/span&gt; of the halting problem, construct a new machine &lt;span class=&quot;math-container&quot;&gt;$M'$&lt;/span&gt; that works as follows: on inputs of length &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt;, it simulates &lt;span class=&quot;math-container&quot;&gt;$M$&lt;/span&gt; on &lt;span class=&quot;math-container&quot;&gt;$x$&lt;/span&gt; for &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt; steps. If &lt;span class=&quot;math-container&quot;&gt;$M$&lt;/span&gt; accepts, loop for &lt;span class=&quot;math-container&quot;&gt;$n^2$&lt;/span&gt; steps and stop; otherwise loop for &lt;span class=&quot;math-container&quot;&gt;$n^3$&lt;/span&gt; steps and stop.&lt;/p&gt;&#xA;&lt;p&gt;If &lt;span class=&quot;math-container&quot;&gt;$M$&lt;/span&gt; halts on &lt;span class=&quot;math-container&quot;&gt;$x$&lt;/span&gt; it does so in &lt;span class=&quot;math-container&quot;&gt;$t=O(1)$&lt;/span&gt; steps, so the run time of &lt;span class=&quot;math-container&quot;&gt;$M'$&lt;/span&gt; would be &lt;span class=&quot;math-container&quot;&gt;$O(n^2)$&lt;/span&gt;. If &lt;span class=&quot;math-container&quot;&gt;$M$&lt;/span&gt; never halts then the run time of &lt;span class=&quot;math-container&quot;&gt;$M'$&lt;/span&gt; is at least &lt;span class=&quot;math-container&quot;&gt;$n^3$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Hence you can decide if &lt;span class=&quot;math-container&quot;&gt;$M$&lt;/span&gt; accepts &lt;span class=&quot;math-container&quot;&gt;$x$&lt;/span&gt; by deciding if the run time of &lt;span class=&quot;math-container&quot;&gt;$M'$&lt;/span&gt; is &lt;span class=&quot;math-container&quot;&gt;$O(n^2)$&lt;/span&gt; or &lt;span class=&quot;math-container&quot;&gt;$O(n^3)$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;I have a significant problem with this proof, but as it is well accepted by theoreticians much smarter than me I am sure that I must be misunderstanding.&lt;/p&gt;&#xA;&lt;p&gt;Here is my issue:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$M'$&lt;/span&gt; simulates &lt;span class=&quot;math-container&quot;&gt;$M$&lt;/span&gt; on &lt;span class=&quot;math-container&quot;&gt;$x$&lt;/span&gt; for &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt; steps.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;If &lt;span class=&quot;math-container&quot;&gt;$M$&lt;/span&gt; accepts, then &lt;span class=&quot;math-container&quot;&gt;$M$&lt;/span&gt; certainly halts on &lt;span class=&quot;math-container&quot;&gt;$x$&lt;/span&gt;. However, if &lt;span class=&quot;math-container&quot;&gt;$M$&lt;/span&gt; does not accept, this does not mean that &lt;span class=&quot;math-container&quot;&gt;$M$&lt;/span&gt; does not halt on &lt;span class=&quot;math-container&quot;&gt;$x$&lt;/span&gt;; it only means that &lt;span class=&quot;math-container&quot;&gt;$M$&lt;/span&gt; does not halt on &lt;span class=&quot;math-container&quot;&gt;$x$&lt;/span&gt; in the first &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt; steps. In a comment, Emanuele clarifies that &lt;span class=&quot;math-container&quot;&gt;$M$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$x$&lt;/span&gt; are selected independently of &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt;; however, this does not negate the fact that &lt;span class=&quot;math-container&quot;&gt;$M$&lt;/span&gt; is only simulated on &lt;span class=&quot;math-container&quot;&gt;$x$&lt;/span&gt; for &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt; steps.&lt;/p&gt;&#xA;&lt;p&gt;So either this is a reduction from, &amp;quot;Does &lt;span class=&quot;math-container&quot;&gt;$(M,x)$&lt;/span&gt; halt in &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt; steps?&amp;quot; which is a decidable problem, or I am missing some major component of this proof. Could someone please clarify?&lt;/p&gt;&#xA;" OwnerUserId="35605" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2015-09-18T15:08:52.880" Title="Clarification: Are runtime bounds in P decidable?" Tags="&lt;cc.complexity-theory&gt;" AnswerCount="1" CommentCount="6" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="32572" PostTypeId="2" ParentId="32571" CreationDate="2015-09-18T14:27:57.200" Score="4" Body="&lt;p&gt;In my opinion, the wording of the answer is a little confusing.  Specifically:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Given an instance $(M,x)$ of the halting problem, construct a new machine $M′$ that works as follows: on inputs of length $n$, it simulates $M$ on $x$ for n steps.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;...confused me, too.  What you have to understand is that the machine $M'$ is based on &lt;em&gt;one specific instance&lt;/em&gt; of the halting problem; it doesn't simulate $M$ on $x$ for $|x|$ steps.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is how I would word that part:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Fix an instance $(M,x_1)$ of the halting problem.  Construct a machine $M'$ that takes as input $x_2$, and that works as follows:  simulate $M$ on $x_1$ for $|x_2|$ steps.  If $M$ halts within $|x_2|$ steps, loop for $|x_2|^2$ steps and stop; otherwise loop for $|x_2|^3$ steps and stop.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Hopefully that helps.&lt;/p&gt;&#xA;" OwnerUserId="1338" LastEditorUserId="3247" LastEditDate="2015-09-18T15:08:52.880" LastActivityDate="2015-09-18T15:08:52.880" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="32574" PostTypeId="1" AcceptedAnswerId="32592" CreationDate="2015-09-18T22:01:40.000" Score="6" ViewCount="228" Body="&lt;p&gt;Assume $M\in\Bbb Z_{\geq0}[x_1,\dots,x_n]^{m\times m}$ be an $m\times m$ matrix in $n$ variables.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We know that size of smallest formula that computes $\mathsf{Tr}(M^d)$ where $d\in\Bbb N$ could be exponentially large in $n$ and $m$ at least when $n=m^2$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Could it be possible that the smallest circuit size can be polynomial while formula size is exponential at least for case $n=m^2$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Do the answers differ much if we seek monotone circuits and formulas?&lt;/p&gt;&#xA;" OwnerDisplayName="user34945" LastEditorDisplayName="user34945" LastEditDate="2015-09-21T04:53:03.917" LastActivityDate="2015-09-21T19:33:51.183" Title="Arithmetic complexity of matrix powering" Tags="&lt;circuit-complexity&gt;&lt;matrices&gt;&lt;matrix-product&gt;&lt;formulas&gt;&lt;monotone&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="32581" PostTypeId="2" ParentId="32551" CreationDate="2015-09-19T21:09:20.383" Score="6" Body="&lt;p&gt;The &quot;Reduction strategy&quot; wikipedia article is entirely extracted out of &lt;a href=&quot;https://en.wikipedia.org/w/index.php?title=Evaluation_strategy&amp;amp;diff=prev&amp;amp;oldid=570678808&quot; rel=&quot;noreferrer&quot;&gt;a particular edit&lt;/a&gt; made by an anonymous IP to the &quot;Evaluation strategy&quot; article.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The view that it represents is not consensual, in the sense that I suspect relatively few people of the field will spontaneously give this answer if you ask them &quot;would you distinguish the names 'reduction strategy' and 'evaluation strategy'?&quot;. I have only heard it from Matthias Felleisen, which is adamant about the importance of this distinction -- and I assume this point of view is shared by others that had the chance of taking time to discuss these points in details with him.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My current understanding of this point (but I have not yet studied the technical details to their full justice) is about the following: this is about whether you use &quot;big step&quot; versus &quot;small step&quot; semantics -- this distinction is standard and understood by everyone in the field. Small-steps semantics define one atomic step of reduction, and the result is in general still reducible. Big-step semantics define one &quot;big&quot; step of reduction that goes all the way from the starting program to its value (or some richer &quot;answer&quot; type if your language has other observable effects than returning a value, eg. input/output or mutable state).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you define both a big-step and small-step relation, you can check that the big-step semantics is included in the transitive closure of the small step relation, and that the small-step relation does not reduce to other stuck terms than those reached by the big-step relation, or diverge if the big-step reduction is defined. This is the expected coherence relation between both.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think that the wording of the article can be &lt;em&gt;more or less&lt;/em&gt; described, in modern terms, as &quot;evaluation strategy is the big-step relation&quot;, &quot;reduction strategy is the small-step relation&quot;. Do note that the discussion made in the &quot;Reduction strategy&quot; article is mostly about articles and research (and, more importantly, eloquent viewpoints formed during their reading and writing) between 1973 and 1991, at a time where those notions were just born, and probably not as well-understood as they are today. (big-step semantics was emphasized by Kahn in 1987, and one of the most important works on small-step semantics is Wright and Felleisen, 1992)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the more opinionated side of why Felleisen insists on the importance of this difference (that is, why there may be more to it than just &quot;small-step vs. big-step, meh&quot;), my current understanding is the following: the point that is being made is that the small-step semantics should be viewed as an implementation detail. &lt;em&gt;The&lt;/em&gt; semantics, according to this argument, is the abstract function that maps each program to its value/answer, and the rest are implementation devices designed to approximate it (or reason on the equivalence induced by this semantics). When we say big-step today, we think of a system of inference rules of syntactic nature, but the &quot;reduction strategy&quot; that is being discussed above is in fact its abstraction as a mapping. (I don't think this gives more expressivity or strength to the notion in practice, but it makes it more abstract.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So I think that what this wikipedia page, and Matthias Felleisen, are saying is something like: &quot;Define your evaluation in whichever way you like, but in the end of the day the thing that matters is how your programs are mapped to their values/answers/behaviors, and this is what should be called 'operational semantics' and reasoned about.&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that this position goes somewhat against the current distinction (which I think is rather consensual, but it may be a cultural bias on my part) between &quot;operational semantics&quot; and &quot;denotational semantics&quot;, where the former is seen as more syntactic in nature (defined as a reduction relation), and the latter is typically characterized by the fact that computationally equivalent programs have the exact same denotation (so the denotation is oblivious to the actual computation mechanism). Under this latter view, what is proposed as an &quot;evaluation strategy&quot; or &quot;operational semantics&quot; in the articles and my explanation above would rather be seen as a denotational semantics -- but admittedly of a more concrete nature than most: values/answers/behaviors are closer to syntactic objects than many semantic domains.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;References:&lt;/strong&gt; to understand this point of view, it is probably useful to go back to its proclaimed source, which is the article by Gordon Plotkin in 1973. You may also have good luck trying one of the latter articles cited on wikipedia; I found for example that &quot;Parameter-Passing and the Lambda Calculus&quot;, by Crank and Felleisen, 1991, gave a very clear overview of their position on the matter in the first few pages. &lt;/p&gt;&#xA;" OwnerUserId="4984" LastEditorUserId="4984" LastEditDate="2015-09-19T21:17:06.263" LastActivityDate="2015-09-19T21:17:06.263" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32583" PostTypeId="2" ParentId="32551" CreationDate="2015-09-20T19:07:12.490" Score="8" Body="&lt;p&gt;A reduction strategy is a function on Lambda that picks one redex (reducible expression) from all possible redexes -- depending on what you define as a redex. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Informally, an evaluation strategy is the order in which a language evaluates its arguments. A parameter-passing strategy is what the language hands to the function. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;To understand the connection among these, study Plotkin's paper on Call-by-name, call-by-value, and the lambda calculus. He clearly spells out that you want to choose distinct AXIOMS depending on which order of evaluation you want. For Cb-name you want the old beta axiom and for cb-value you want a beta-value axiom. If you do that, all meta-theorems work out the same for both flavors. I showed later on (with many collaborators) that this idea generalizes to everything the world of PL has studied. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's all technical, not some poem that can be interpreted. Just read up on it. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;-- Matthias Felleisen&lt;/p&gt;&#xA;&#xA;&lt;p&gt;p.s. I will say that I think people will have an easier time understanding Plotkin's paper from Part I in our Redex book. But yes, it's 3x as long. &lt;/p&gt;&#xA;" OwnerUserId="35632" LastActivityDate="2015-09-20T19:07:12.490" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="32584" PostTypeId="1" CreationDate="2015-09-20T22:24:44.860" Score="25" ViewCount="1075" Body="&lt;p&gt;Complexity theory, through such concepts as NP-completeness, distinguishes between computational problems that have relatively efficient solutions and those that are intractable. &quot;Fine-grained&quot; complexity aims to refine this qualitative distinction into a quantitative guide as to the exact time required to solve problems. More details can be found here: &lt;a href=&quot;http://simons.berkeley.edu/programs/complexity2015&quot; rel=&quot;noreferrer&quot;&gt;http://simons.berkeley.edu/programs/complexity2015&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here are some important hypotheses:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;ETH: $3$-$SAT$ requires $2^{\delta n}$ time for some $ \delta &amp;gt; 0$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;SETH: for every $\varepsilon &amp;gt; 0$, there is a $k$ such that $k$-$SAT$ on $n$ variables, $m$ clauses cannot be solved in $2^{(1-\varepsilon)n}~poly~m$ time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is known that SETH is stronger than ETH and they both are stronger than $P \neq NP$,and both stronger than $FTP\neq W[1]$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Four other important conjectures: &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;3SUM Conjecture: 3SUM on $n$ integers in $\{-n^3,…,n^3\}$ requires $n^{2-o(1)}$ time&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;OV Conjecture: Orthogonal vectors on $n$ vectors requires $n^{2-o(1)}$ time.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;APSP Conjecture: All Pairs Shortest Path on $n$ nodes and $O(\log n)$ bit weights requires $n^{3-o(1)}$ time.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;BMM Conjecture: Any &quot;combinatorial&quot; algorithm for Boolean matrix multiplication requires $n^{3-o(1)}$ time.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;It is known that SETH implies the OV Conjecture (Ryan Willams, 2004). Besides Ryan’s proof that SETH $\implies$ OV Conjecture, there are no other reductions relating the conjectures known.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question: Do you know other related hypotheses or conjectures in this area? What are the relationships between them?  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Acknowledgement: results listed are from the slides of  Virginia Vassilevska Williams, she also gave me partial answers to this question. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Link to slides: &lt;a href=&quot;http://theory.stanford.edu/~virgi/overview.pdf&quot; rel=&quot;noreferrer&quot;&gt;http://theory.stanford.edu/~virgi/overview.pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerDisplayName="user17918" LastEditorUserId="5385" LastEditDate="2015-11-05T19:10:17.050" LastActivityDate="2015-11-05T19:10:17.050" Title="What are the relationships between those hypotheses in Fine-Grained Complexity Theory?" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;complexity-classes&gt;&lt;fine-grained&gt;" AnswerCount="3" CommentCount="3" FavoriteCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="32585" PostTypeId="2" ParentId="32584" CreationDate="2015-09-20T22:44:22.923" Score="7" Body="&lt;p&gt;Another interesting conjecture is hardness of $k$-Clique for fixed $k$ (see &lt;a href=&quot;https://dl.dropboxusercontent.com/u/14999836/publications/CFG.pdf&quot;&gt;here&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This isn't exactly the sort of relationship you're looking for, but there was an interesting FOCS paper showing that a natural problem called &quot;Matching Triangles&quot; is hard under &lt;em&gt;any&lt;/em&gt; of the SETH, 3SUM, or APSP conjectures (see &lt;a href=&quot;https://dl.dropboxusercontent.com/u/14999836/publications/MatchTria.pdf&quot;&gt;here&lt;/a&gt;).  It is not currently known whether or not any of these three conjectures imply each other in any interesting way -- this is one of the major open questions of Fine-Grained Complexity.&lt;/p&gt;&#xA;" OwnerUserId="11051" LastActivityDate="2015-09-20T22:44:22.923" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="32586" PostTypeId="2" ParentId="32584" CreationDate="2015-09-21T05:47:58.993" Score="14" Body="&lt;p&gt;This is a &lt;a href=&quot;http://eccc.hpi-web.de/report/2015/148/&quot;&gt;recent paper&lt;/a&gt; introducing Nondeterministic Strong Exponential Time Hypothesis (NSETH), which is an extension of SETH.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;NSETH: For every $\epsilon &amp;gt;0$, there is a $k$ such that $k$-DNF-TAUT cannot be solved in nondeterministic time $2^{(1-\epsilon)n}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;NSETH implies SETH. If NSETH is true, then some problems do not have SETH lower bounds (because they have nondeterministic algorithms faster than deterministic algorithms). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This paper also introduced Non-uniform Nondeterministic Strong Exponential Time Hypothesis (NUNSETH), a hypothesis stronger than NSETH and SETH.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;NUNSETH: For every $\epsilon &amp;gt;0$, there is a $k$ such that $k$-DNF-TAUT cannot be recognized by nondeterministic circuit families of size $2^{(1-\epsilon)n}$.&lt;/p&gt;&#xA;" OwnerUserId="34363" LastActivityDate="2015-09-21T05:47:58.993" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="32587" PostTypeId="1" AcceptedAnswerId="32589" CreationDate="2015-09-21T10:04:13.070" Score="14" ViewCount="1033" Body="&lt;p&gt;Consider a vector of variables $\vec{x}$, and a set of &lt;em&gt;linear&lt;/em&gt; constraints specified by $A\vec{x}\leq b$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Furthermore, consider two polytopes&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\begin{align*}&#xA;P_1&amp;amp;=\{(f_1(\vec{x}), \cdots, f_m(\vec{x}))\mid A\vec{x}\leq b\}\\&#xA;P_2&amp;amp;=\{(g_1(\vec{x}), \cdots, g_m(\vec{x}))\mid A\vec{x}\leq b\}&#xA;\end{align*}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where $f$'s and $g$'s are &lt;em&gt;affine&lt;/em&gt; mappings. Namely, they are of the form $\vec{c}\cdot \vec{x} +d$. (We note that $P_1$ and $P_2$ are polytopes because they are &quot;affine mappings&quot; of the polytope $A\vec{x}\leq b$.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The question is, how to decide whether $P_1$ and $P_2$ are equal as sets? What's the complexity?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The motivation of the problem is from sensor networks, but it seems to be a lovely (probably basic?) geometry problem. One can solve this in exptime, possibly by enumerating all the vertices of $P_1$ and $P_2$, but is there a better approach?&lt;/p&gt;&#xA;" OwnerUserId="21036" LastEditorUserId="5038" LastEditDate="2015-09-30T18:22:18.840" LastActivityDate="2015-09-30T18:22:18.840" Title="Checking equivalence of two polytopes" Tags="&lt;cc.complexity-theory&gt;&lt;linear-algebra&gt;&lt;linear-programming&gt;&lt;polytope&gt;" AnswerCount="2" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32588" PostTypeId="1" CreationDate="2015-09-21T11:50:42.163" Score="9" ViewCount="502" Body="&lt;p&gt;The exponential time hypothesis asserts that an algorithm for SAT must take time $2^{\Omega(n)}$. If I am reading this right, this refers only to deterministic algorithms. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is it possible that ETH holds, yet their is a random algorithm in time $2^{o(n)}$? If so, is there any name for the hypothesis that any randomized (say BPP-type) algorithm takes time $2^{\Omega(n)}$ as well? &lt;/p&gt;&#xA;" OwnerUserId="5538" LastActivityDate="2015-09-21T11:50:42.163" Title="Exponential time hypothesis for random algorithms" Tags="&lt;cc.complexity-theory&gt;&lt;randomized-algorithms&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="32589" PostTypeId="2" ParentId="32587" CreationDate="2015-09-21T13:14:25.940" Score="12" Body="&lt;p&gt;I cannot say for sure if you will consider the following approach as better, but from a complexity-theoretic point of view there is a more efficient solution. The idea is to rephrase your question in the first-order theory of the rationals with addition and order. You have that $P_1$ is included in $P_2$ if and only if&#xA;\begin{align*}&#xA;\Phi := &#xA;\forall \vec{x}.\exists \vec{y}.\left( A \cdot \vec{x} \le b \implies \left( A \cdot \vec{y} \le b \wedge \bigwedge_{1\le i\le m} f_i(\vec{x}) = g_i(\vec{y}) \right)\right)&#xA;\end{align*}&#xA;is valid. It is clear how to derive equivalence of $P_1$ and $P_2$ in the same way. Now $\Phi$ has a fixed quantifier-alternation prefix, and is consequently decidable in $\Pi_2^\text{P}$, the second level of the polynomial-time hierarchy (&lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/0020019085900766&quot;&gt;Sontag, 1985&lt;/a&gt;). I'm pretty confident that it is possible to also prove a matching lower bound, I recall reading somewhere that inclusion between two polytopes is $\Pi_2^\text{P}$-hard.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you are looking for tool support in order to solve such problems in practice, modern SMT-solvers such as &lt;a href=&quot;https://github.com/Z3Prover/z3&quot;&gt;z3&lt;/a&gt; fully support this theory.&lt;/p&gt;&#xA;" OwnerUserId="35423" LastActivityDate="2015-09-21T13:14:25.940" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32590" PostTypeId="1" CreationDate="2015-09-21T14:21:07.280" Score="1" ViewCount="75" Body="&lt;p&gt;I am wondering whether there is an &lt;em&gt;efficient&lt;/em&gt; algorithm to compute the basis of the set of vertices of a polytope. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Formally, &lt;/p&gt;&#xA;&#xA;&lt;p&gt;INPUT: a polytope&#xA;$$\Xi=\{(\vec{a}_1\vec{x}+\vec{b}_1, \cdots, \vec{a}_m\vec{x}+\vec{b}_m)\mid C\vec{x}\leq d\}$$&#xA;and a subspace $span(E)$ where $E=\{e_1, \cdots, e_{\ell}\}$ is a given set of vectors&lt;/p&gt;&#xA;&#xA;&lt;p&gt;OUTPUT: a &lt;strong&gt;basis&lt;/strong&gt; of the linear subspace spanned by&#xA;$$V(\Xi)\setminus span(E),$$ where $V(\Xi)$ denotes the set of &lt;strong&gt;vertices&lt;/strong&gt; of $\Xi$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Note that here $\Xi$ is given as an affine mapping of a polytope, which might complicates the problem a little bit.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One can solve the problem in a straightforward approach, but I am asking for an ideally polynomial-time algorithm, or any evidence that this is not possible (e.g., NP-hardness).&lt;/p&gt;&#xA;" OwnerUserId="35648" LastEditorUserId="35648" LastEditDate="2015-09-21T15:40:32.430" LastActivityDate="2015-09-21T15:40:32.430" Title="Compute basis of vertex set of polytope" Tags="&lt;ds.algorithms&gt;&lt;linear-algebra&gt;&lt;computational-geometry&gt;&lt;convex-geometry&gt;" AnswerCount="0" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="32591" PostTypeId="2" ParentId="32587" CreationDate="2015-09-21T14:28:54.800" Score="5" Body="&lt;p&gt;The fact that the underlying polytope $Ax \le b$ is the same for $P_1$ and $P_2$ does not matter, unless we know something specific about $A$ and $b$. This is because a general polytope is an affine projection of a simplex (see, for instance, Ziegler's &quot;Lectures for Polytopes&quot;, Theorem 2.15). Thus, if $A$ and $b$ encode a simplex, your question is equivalent to asking how hard general polytope isomorphism is. A quick search reveals the following paper by Kaibel and Schwartz &lt;a href=&quot;http://arxiv.org/abs/math/0106093&quot;&gt;On the Complexity of Polytope Isomorphism Problems&lt;/a&gt;, where they show that it is Graph Isomorphism hard.&lt;/p&gt;&#xA;" OwnerUserId="30361" LastEditorUserId="30361" LastEditDate="2015-09-21T16:36:22.950" LastActivityDate="2015-09-21T16:36:22.950" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="32592" PostTypeId="2" ParentId="32574" CreationDate="2015-09-21T16:40:09.420" Score="5" Body="&lt;p&gt;It depends on the relationship between $m$ and $d$. If $m \geq 3$ is fixed, but $d$ is allowed to grow without bound, then the corresponding class of functions is exactly the same as functions with polynomial formula size [&lt;a href=&quot;http://dx.doi.org/10.1137/0221006&quot; rel=&quot;nofollow&quot;&gt;Ben-Or and Cleve&lt;/a&gt;]. (For $m=2$, it is not as powerful [&lt;a href=&quot;http://eccc.hpi-web.de/report/2011/083/&quot; rel=&quot;nofollow&quot;&gt;Allender and Wang&lt;/a&gt;]). [&lt;strong&gt;Update&lt;/strong&gt;: As far as I know, this is only true for iterated matrix multiplication $tr(M_1 M_2 \dotsb M_d)$, rather than matrix powering $tr(M^d)$. When $m$ is allowed to grow these two are essentially equivalent, but for fixed $m$, e.g. $m=3$ I don't know if $3 \times 3$ matrix powering is poly-formula-size-complete.]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $m$ can grow but $d$ is fixed, then this is the same as matrix multiplication, up to $O(\log d) = O(1)$ factors. Since circuits for matrix multiplication can be converted to bilinear circuits with only a factor 2 blow-up in size, circuit and formula size here are essentially the same, and the question boils down to the classic open question of the exponent of matrix multiplication.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If both $m$ and $d$ can grow, then this is equivalent in power to the determinant (corresponding to the Boolean class $\mathsf{DET}$ and the algebraic class $\mathsf{VP}_{ws}$). So here the question becomes about the circuit/formula complexity of the determinant. Both of these are well-known open questions (obviously there are cubic circuits; the best known upper bound on formula size of the determinant is quasi-polynomial).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Most (perhaps even all) nontrivial algorithms for matrix multiplication use cancellations in a crucial way, so I would expect there is a difference between the monotone case and the unrestricted case. Also, note that the equivalence between matrix powering and determinant in the last case is necessarily non-monotone (since matrix powering is a polynomial with all nonnegative coefficients, but the determinant is not).&lt;/p&gt;&#xA;" OwnerUserId="129" LastEditorUserId="129" LastEditDate="2015-09-21T19:33:51.183" LastActivityDate="2015-09-21T19:33:51.183" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="32596" PostTypeId="1" CreationDate="2015-09-21T19:27:32.410" Score="0" ViewCount="26" Body="&lt;p&gt;I want to run $k$ programs distributed on $N$ machines. Because of resource constraints, a machine can have at most $p$ of the $k$ programs installed. To have a balanced system, I can install each of the $k$ programs on the same number of machines, that part is easy. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;My problem is how can I do that while minimizing the number of machines having any 2 programs installed. In other words, if I run 2 of those programs, I want to avoid having them run on the same set of machines while some other machines in the cluster are doing nothing.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In terms of sets, the questions becomes how to find $k$ subsets of a set of $N$ elements such that &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;any element is in $p$ subsets and&lt;/li&gt;&#xA;&lt;li&gt;the maximum size of the intersection of any 2 subsets is minimized.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Any pointers / heuristic approach is appreciated.&lt;/p&gt;&#xA;" OwnerUserId="35655" LastActivityDate="2015-09-21T19:27:32.410" Title="Optimizing distribution of load" Tags="&lt;set-cover&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="32597" PostTypeId="1" AcceptedAnswerId="32598" CreationDate="2015-09-21T20:40:34.907" Score="1" ViewCount="105" Body="&lt;p&gt;I started to study Kolmogorov complexity today, and  this question came to mind. Is there any way to use LZW to do this? I'm looking for a guidance to my studies&lt;/p&gt;&#xA;" OwnerUserId="34347" LastActivityDate="2015-09-22T16:23:58.710" Title="How to quantify the complexity of vectors whose components are real numbers?" Tags="&lt;cc.complexity-theory&gt;&lt;kolmogorov-complexity&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32598" PostTypeId="2" ParentId="32597" CreationDate="2015-09-21T21:00:30.757" Score="4" Body="&lt;p&gt;You can use LZW or other standard compression methods to approximate the Kolmogorov complexity. In some real-world cases this works well. However, it is dangerous, as it can also be a pretty bad approximation to the true Kolmogorov complexity, viz. &lt;a href=&quot;http://bactra.org/notebooks/cep-gzip.html&quot; rel=&quot;nofollow&quot;&gt;http://bactra.org/notebooks/cep-gzip.html&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another option is to seek the smallest Boolean circuit that outputs a given string. This problem appears to be hard*, but (a) isn't uncomputable like $K(x)$, and (b) doesn't suffer from the potentially erroneous measure given by gzip etc. (since circuits are a standard non-uniform, universal model of computation).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;*[&lt;strong&gt;Update&lt;/strong&gt;: It's actually essentially the Minimum Circuit Size Problem, which is looking like it's not $\mathsf{NP}$-hard, but it's still quite hard.]&lt;/p&gt;&#xA;" OwnerUserId="129" LastEditorUserId="129" LastEditDate="2015-09-22T16:23:58.710" LastActivityDate="2015-09-22T16:23:58.710" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="32599" PostTypeId="1" CreationDate="2015-09-21T21:41:03.397" Score="5" ViewCount="190" Body="&lt;p&gt;The Ramanujan graphs are optimal from the Alon-Bopanna point of view but..&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Is there any sense in which one can call Ramanujan graphs to be the &quot;optimal&quot; spectral sparsifiers? (Reference : &lt;a href=&quot;http://arxiv.org/pdf/0808.0163v3.pdf&quot; rel=&quot;nofollow&quot;&gt;http://arxiv.org/pdf/0808.0163v3.pdf&lt;/a&gt; ) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;(..At least w.r.t $K_n$ can one say that given any $d$ and $n$, any $d-$regular Ramanujan graph on $n$ vertices, say $R_{(d,n)}$, gives the smallest $a$ s.t $x^T L_{K_{n}}x \leq \frac{n}{d} x^TL_{R_{(d,n)}}x \leq a x^TL_{K_{n} }x , \forall x \in \mathbb{R}^n$?..or some such similar inequality?.. ) &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Does the usual Cheeger's inequality become sharper if restricted to Ramanujan graphs? Or do we otherwise know of graphs which either saturate the Cheeger's inequality and/or maximize any of the combinatorial notions of expansion? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The only kind of connection I know of between the spectral gap of an expander to its combinatorial expansion are statements like Theorem 4 and 6 here in these notes, &lt;a href=&quot;http://www.math.rutgers.edu/~sk1233/courses/graphtheory-F11/expander1.pdf&quot; rel=&quot;nofollow&quot;&gt;http://www.math.rutgers.edu/~sk1233/courses/graphtheory-F11/expander1.pdf&lt;/a&gt;. But even this is a lower bound and not an upperbound. One can put in $\lambda = 2\sqrt{d-1}$ in these two theorems but that somehow looks too weak and naive. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I wonder if something sharper can be said about the combinatorial expansion properties of a Ramanujan expander : may be some sense in which one can justify calling them optimal from this point of view too? &lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Lets say we use the definition of Ramanujan graph as those $d-$regular graphs all of whose  adjacency eigenvalues are of magnitude $\leq 2\sqrt{d-1}$ except the largest and the smallest.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;For Cheeger's Inequality lets use the form as in these notes, &lt;a href=&quot;http://www.eecs.berkeley.edu/~luca/books/expanders.pdf&quot; rel=&quot;nofollow&quot;&gt;http://www.eecs.berkeley.edu/~luca/books/expanders.pdf&lt;/a&gt;, i.e for a $d-$regular graph,&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;$$ \frac { \lambda_{1+min}(I - \frac{1}{d}A )}{2 } \leq \phi(G) = min _{ S \subset V, \vert S \vert \leq \frac{\vert V \vert}{2} } \frac {\vert \partial S \vert }{d \vert S \vert }  \leq \sqrt {2\lambda_{1+min}(I - \frac{1}{d}A )}$$  &lt;/p&gt;&#xA;" OwnerUserId="32603" LastEditorUserId="32603" LastEditDate="2015-09-23T22:37:16.533" LastActivityDate="2015-09-24T17:30:48.680" Title="About some possible optimality properties of Ramanujan graphs" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;&lt;spectral-graph-theory&gt;&lt;expanders&gt;&lt;spectral&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32601" PostTypeId="1" AcceptedAnswerId="32812" CreationDate="2015-09-22T10:45:49.013" Score="6" ViewCount="247" Body="&lt;p&gt;What's the best upper bounds based on number of clauses? In &lt;a href=&quot;https://cstheory.stackexchange.com/questions/1060/best-upper-bounds-on-sat&quot;&gt;this&lt;/a&gt; question shown fastest algorithms for SAT, but there bounds depends from number of variables ( $O(const^n)$ where n is number of variables).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I know that variables bounds can be converted to clauses bounds. If k-SAT formula contains $m$ clauses then $n \leq \frac{k * m}{2}$, consequently if algorithm bounded by $O(const^n)$, it also bounded by $O(const^ \frac{k * m}{2}) = O((const^ \frac{k}{2})^m)$. In that way &lt;a href=&quot;http://arxiv.org/abs/1103.2165&quot; rel=&quot;nofollow noreferrer&quot;&gt;PPSZ for 3-SAT&lt;/a&gt; can be bounded by $O(1.496^m)$. But I'm interested in algorithms which bounds &quot;natively&quot; depends from number of clauses.&lt;/p&gt;&#xA;" OwnerUserId="35639" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2015-10-14T12:19:09.743" Title="Best SAT upper bounds based on number of clauses" Tags="&lt;cc.complexity-theory&gt;&lt;sat&gt;&lt;upper-bounds&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="32602" PostTypeId="1" CreationDate="2015-09-22T14:46:49.947" Score="1" ViewCount="163" Body="&lt;p&gt;I am looking for implementation of optimal reduction for λ-calculus based on interaction nets (&lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S1571066105803639&quot; rel=&quot;nofollow&quot;&gt;McCarthy's amb&lt;/a&gt; allowed) in the spirit of &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S1571066106000934&quot; rel=&quot;nofollow&quot;&gt;&quot;Token-Passing Nets: Call-by-Need for Free&quot; by François-Régis Sinot&lt;/a&gt;. Implementations of optimal reduction that I am aware of either assume a specific strategy for the interaction net reduction, or involve non-pure graph reductions rather than just interaction rules.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The reason why I am interested in such implementation is that I already have a compiler for interaction nets which is based on interaction calculus, but is agnostic to any notion of interface, thus unable to follow any strategy while reducing a configuration simply represented as a queue of active pairs.&lt;/p&gt;&#xA;" OwnerUserId="20992" LastEditorUserId="20992" LastEditDate="2015-09-22T17:21:14.620" LastActivityDate="2015-09-22T17:21:14.620" Title="Optimal reduction using token-passing nets" Tags="&lt;lambda-calculus&gt;&lt;interaction-nets&gt;" AnswerCount="0" CommentCount="2" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="32603" PostTypeId="2" ParentId="6001" CreationDate="2015-09-22T15:09:42.487" Score="7" Body="&lt;p&gt;A natural $\text{NEXP}^{\text{NP}}$-complete problem is deciding a sentence of Presburger arithmetic with an $\exists^*\forall^*\exists^*$-quantifier prefix (as shown &lt;a href=&quot;http://arxiv.org/abs/1401.5266&quot;&gt;here&lt;/a&gt;). Further complete problems related to database theory have been studied &lt;a href=&quot;http://link.springer.com/chapter/10.1007%2F3-540-60246-1_113&quot;&gt;here&lt;/a&gt;. &lt;/p&gt;&#xA;" OwnerUserId="35423" LastActivityDate="2015-09-22T15:09:42.487" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32604" PostTypeId="1" CreationDate="2015-09-22T17:40:36.257" Score="1" ViewCount="67" Body="&lt;p&gt;Do you know the complexity of the following decision problem?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a quantified boolean formula (QBF) $\phi$ with $2n$ free variables with $n\in\mathbb{N}$. Is there a satisfying assignment s.t. exactly $n$ free variables are &lt;code&gt;true&lt;/code&gt; and $n$ free variables are &lt;code&gt;false&lt;/code&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am also interested in the easier case, where we consider propositional logic instead of QBF. What would the complexity be then?&lt;/p&gt;&#xA;" OwnerUserId="35668" LastEditorUserId="35668" LastEditDate="2015-09-22T17:46:56.407" LastActivityDate="2015-09-22T17:46:56.407" Title="Complexity of QBF with Restrictions on Models" Tags="&lt;time-complexity&gt;&lt;sat&gt;" AnswerCount="0" CommentCount="2" ClosedDate="2015-09-26T01:24:51.053" ContentLicense="CC BY-SA 3.0" />
  <row Id="32605" PostTypeId="1" AcceptedAnswerId="32610" CreationDate="2015-09-22T19:33:09.237" Score="1" ViewCount="92" Body="&lt;p&gt;I have a set of N items, each with a subset of those items they can be paired with; each pair has a weight.  I'd like to choose pairs to maximize the total weight, subject to each item being in at most M pairs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I believe this can be seen as an instance of the &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0166218X07001552&quot; rel=&quot;nofollow&quot;&gt;Stable Fixtures Problem&lt;/a&gt; (itself a generalization of the &lt;a href=&quot;https://en.wikipedia.org/wiki/Stable_roommates_problem&quot; rel=&quot;nofollow&quot;&gt;Stable Roommates Problem&lt;/a&gt;), which seeks to find a stable matching if one exists.  However, I don't really care if the matching is stable, and I want to find a high-weight matching in every case.  It doesn't need to be optimal, approximate is fine.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there any approximate solutions for this problem, or does this problem go by another name in another field?  Approaches I can think of would be to randomly perturb the ranks (weights) until a stable matching is found, or perhaps treat it as a linear programming problem.&lt;/p&gt;&#xA;" OwnerUserId="6936" LastActivityDate="2015-09-23T07:31:21.497" Title="Approximations for the Stable Fixtures Problem" Tags="&lt;ds.algorithms&gt;&lt;co.combinatorics&gt;&lt;approximation-algorithms&gt;&lt;matching&gt;&lt;heuristics&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32608" PostTypeId="1" CreationDate="2015-09-23T01:21:01.230" Score="2" ViewCount="83" Body="&lt;p&gt;I encounter a question while reading Quinlan's 1990 paper &amp;quot;Learning Logical Definitions from Relations&amp;quot;. He described that (section 5.2) for learning the recursive relations on lists, the following is &amp;quot;a simple set of examples that are somehow sufficient to discover the relations&amp;quot; and is not randomly generated.&lt;/p&gt;&#xA;&lt;p&gt;Examples:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;list: {&amp;lt;()&amp;gt;, &amp;lt;(a)&amp;gt;, &amp;lt;(b(a)d)&amp;gt;, &amp;lt;((a)d)&amp;gt;, &amp;lt;(d)&amp;gt;}&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;null: {&amp;lt;()&amp;gt;}&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;components: {&amp;lt;(a), a, ()&amp;gt;, &amp;lt;(b(a)b), b, ((a)d)&amp;gt;, &amp;lt;((a)d), ((a)), (d)&amp;gt;, &amp;lt;(d), d, ()&amp;gt;, &amp;lt;(e.f), e, f&amp;gt;}&lt;/p&gt;&#xA;&lt;p&gt;with negative tuples provided by closed-world assumption.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;The induced theories are&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;list(A) &amp;lt;- components(A, B, C), list(C)&lt;/li&gt;&#xA;&lt;li&gt;list(A) &amp;lt;- null(A)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;I don't understand why the provided examples serves as simple and sufficient. Besides, I wonder is there any general principles for selecting good examples in ILP?&lt;/p&gt;&#xA;&lt;p&gt;I'm not from this area hence I'm not sure if partial answers have been provided in any other related literature.&lt;/p&gt;&#xA;" OwnerUserId="35670" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2015-09-23T01:21:01.230" Title="How to select good examples for inductive logic programming?" Tags="&lt;logic-programming&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32610" PostTypeId="2" ParentId="32605" CreationDate="2015-09-23T07:31:21.497" Score="1" Body="&lt;p&gt;Your problem is called maximum weighted simple b-matching, and it's solvable in strongly polynomial time. See &lt;a href=&quot;http://web.archive.org/web/20150920041722/http://web.eecs.umich.edu/~pettie/matching/Muller-Hannemann-Schwartz-b-matching.pdf&quot; rel=&quot;nofollow&quot;&gt;this paper&lt;/a&gt; for instance.&lt;/p&gt;&#xA;" OwnerUserId="168" LastActivityDate="2015-09-23T07:31:21.497" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32619" PostTypeId="2" ParentId="32599" CreationDate="2015-09-24T17:30:48.680" Score="4" Body="&lt;p&gt;At least among regular bi-partite graphs, Ramanujan graphs provide the optimal approximation of the complete bipartite graph. Let's say that a graph $H$ $C$-approximates a graph $G$ if $tL_H \preceq CL_G$ for $t$ the smallest real number such that $L_G \preceq tL_H$. (I.e. $t := \|L_H^{-1/2} L_G L_H^{-1/2}\|$ where the norm is the operator norm and inverses are taken w.r.t. to the space orthogonal to the all-ones vector). The eigenvalues of $L_{K_{n,n}}$ are $\lambda_1 = 0, \lambda_2 = \ldots \lambda_{2n-1} = n, \lambda_{2n} = 2n$. For any $d$-regular bipartite $H$, the eigenvalues $0=\mu_1 \le \ldots \le \mu_{2n} = 2d$  of $L_H$ come in pairs $d \pm x$. By Alon-Boppana, $\mu_2 \le d-2\sqrt{d-1}$, and, therefore, $\mu_{2d-1} \geq d + 2\sqrt{d-1}$ (ignoring lower-order terms). This implies $C \geq \frac{d + 2\sqrt{d-1}}{d - 2\sqrt{d-1}}$, which is achived by a $d$-regular Ramanujan graph.&lt;/p&gt;&#xA;" OwnerUserId="4896" LastActivityDate="2015-09-24T17:30:48.680" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32621" PostTypeId="1" CreationDate="2015-09-25T01:21:10.900" Score="9" ViewCount="482" Body="&lt;p&gt;I believe the answers to &lt;a href=&quot;https://cstheory.stackexchange.com/q/3566/6973&quot;&gt;this question&lt;/a&gt; give classes such that for all polynomials $p$,&#xA;&lt;br&gt;&#xA;there is a problem in the class which does not have circuits of size $p(n)$.&#xA;&lt;br&gt;&#xA;However, I'm asking about circuit size $\omega \hspace{.02 in}(n)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\big(\hspace{-0.07 in}\left\langle \hspace{-0.04 in}0^{\hspace{.02 in}0}\hspace{-0.03 in},\hspace{-0.04 in}1^{\hspace{-0.03 in}1}\hspace{-0.03 in},2^{\hspace{.02 in}2}\hspace{-0.04 in},\hspace{-0.03 in}3^1\hspace{-0.04 in},\hspace{-0.03 in}4^4\hspace{-0.03 in},\hspace{-0.03 in}5^1\hspace{-0.04 in},\hspace{-0.03 in}6^{\hspace{.03 in}6}\hspace{-0.03 in},\hspace{-0.03 in}7^1\hspace{-0.03 in},\hspace{-0.03 in}8^8\hspace{-0.03 in},\hspace{-0.03 in}9^1\hspace{-0.03 in},...\hspace{-0.05 in}\right\rangle \:$ is super-linear but not $\omega \hspace{.02 in}(n)$.&#xA;&lt;br&gt;&#xA;Although such even-odd behavior could be handled by padding, one might instead&#xA;&lt;br&gt;&#xA;have extremely long streaks of super-polynomial values between low values.)&lt;/p&gt;&#xA;" OwnerDisplayName="user6973" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2017-04-04T06:41:14.497" Title="What's the “smallest” complexity class for which an $\omega \hspace{.02 in}(n)$ circuit lower bound is known?" Tags="&lt;circuit-complexity&gt;&lt;lower-bounds&gt;" AnswerCount="2" CommentCount="11" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="32624" PostTypeId="1" AcceptedAnswerId="32625" CreationDate="2015-09-25T05:59:31.030" Score="10" ViewCount="269" Body="&lt;p&gt;Consider the following problem:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Given a matrix $M$ &#xA;  we want to optimize the number of additions in &#xA;  the multiplication algorithm for computing $v \mapsto Mv$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I find this problem interesting because of its ties with &#xA;the complexity of matrix multiplication&#xA;(this problem is a restricted version of matrix multiplication).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is know about this problem?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there any interesting results &#xA;relating this problem to the complexity of matrix multiplication problem?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The answer to the problem seems to involve &#xA;finding circuits with only addition gates. &#xA;What if we allow subtraction gates?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am looking for reductions between this problem and other problems.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Motivated by  &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://cs.stackexchange.com/q/45596/&quot;&gt;Automated optimization of 0-1 matrix vector multiplication&lt;/a&gt; &lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/q/32584/&quot;&gt;What are the relationships between those hypotheses in Fine-Grained Complexity Theory?&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="-1" LastEditDate="2017-04-13T12:48:30.830" LastActivityDate="2015-09-26T12:42:59.090" Title="Matrix vector multiplication algorithm using minimal number of additions" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;circuit-complexity&gt;&lt;matrices&gt;&lt;arithmetic-circuits&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="32625" PostTypeId="2" ParentId="32624" CreationDate="2015-09-25T14:22:15.877" Score="9" Body="&lt;p&gt;This is essentially the problem that motivated Valiant to introduce matrix rigidity into complexity (as far as I understand the history). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A linear circuit is an algebraic circuit whose only gates are two-input linear combination gates. Every linear transformation (matrix) can be computed by a linear circuit of quadratic size, and the question is when can one do better. It is known that for a random matrix one cannot do significantly better.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some matrices - such as the Fourier transform matrix, a matrix of low rank, or a sparse matrix - can be done significantly better. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A sufficiently rigid matrix cannot be computed by linear circuits that are simultaneously linear size and log depth (Valiant), but to this day no explicit matrices are known for which there is a super-linear lower bound on the size of linear circuits. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I don't recall seeing results saying that it's hard to compute the size of the smallest linear circuit for a given matrix, but I wouldn't be surprised if it were NP-hard. &lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2015-09-25T14:22:15.877" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32626" PostTypeId="1" CreationDate="2015-09-25T14:24:30.243" Score="1" ViewCount="55" Body="&lt;p&gt;Im working on image clustering (finding duplicates). I have a metric for images, it uses histogram features (mean, dispersion, skewnewss) for each color channel. So there are 9 dimensions. It is quite easy to calculate distance between two images (L1), but I don't know how to cluster them. Is there any clustering algorithms that use only the metric, other than bruteforce? &lt;a href=&quot;https://en.wikipedia.org/wiki/Clustering_high-dimensional_data#Subspace_clustering&quot; rel=&quot;nofollow&quot;&gt;Wikipedia article&lt;/a&gt; tells about &lt;strong&gt;projected clustering&lt;/strong&gt;, how can it be implemented?&lt;/p&gt;&#xA;" OwnerUserId="35381" LastActivityDate="2015-09-25T14:24:30.243" Title="Clustering algorithm for image metric" Tags="&lt;clustering&gt;&lt;image-processing&gt;" AnswerCount="0" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="32627" PostTypeId="2" ParentId="32624" CreationDate="2015-09-25T18:37:44.627" Score="7" Body="&lt;p&gt;If you do &lt;em&gt;not&lt;/em&gt; allow subtraction, then you are in the semi-group/monotone setting and there are tight lower bounds known for many natural matrices $M$ that come from computational geometry. (The interest in computational geometry is that range counting can be encoded as matrix-vector multiplication.) For example, the following lower bounds on the size of monotone linear circuits are known:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;$\Omega(n (\log n/\log \log n)^{d-1})$ for $M$ an $n\times n$ incidence matrix of axis-aligned boxes in $d$ dimensions;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;$\Omega(n^{4/3})$ for $M$ an $n\times n$ incidence matrix of lines and points in $d$ dimensions;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;$\tilde{\Omega}(n^{2-2/(d+1)})$ for $M$ an $n\times n$ incidence matrix of simplices in $d$ dimensions.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;These bounds are all essentially the best possible. See Chapter 6.3. in &lt;a href=&quot;https://www.cs.princeton.edu/~chazelle/pubs/book.pdf&quot; rel=&quot;nofollow&quot;&gt;Chazelle's book&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="4896" LastEditorUserId="4896" LastEditDate="2015-09-26T12:42:59.090" LastActivityDate="2015-09-26T12:42:59.090" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32630" PostTypeId="1" AcceptedAnswerId="32644" CreationDate="2015-09-26T13:27:17.053" Score="3" ViewCount="208" Body="&lt;p&gt;This is a continuation of my attempts to generate simple combinatorial computational problems that turn out to be computationally hard (NP-complete). In this pursuit, I came up with a permutation problem (&lt;a href=&quot;https://mathoverflow.net/questions/135968/how-hard-is-reconstructing-a-permutation-from-its-differences-sequence&quot;&gt;How hard is reconstructing a permutation from its differences sequence?&lt;/a&gt;) which turned out to be NP-complete. Here, I propose another computational problem which I highly suspect that it is NP-complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The shift of a permutation $\pi(i)$ of numbers $1, 2, \ldots n$ is defined as $\sigma(i)$= $\pi(i+k \mod n)$ for some fixed $k$,  $1 \le k \lt n$. The shift product of a permutation $\pi$ is defined as $ \pi(i+k \mod n) \circ \pi(i)$. We say that a permutation $\pi$ is a square for the shift product if there is a permutation $\tau$ such that $\pi$ is the shift product of $\tau$ (i.e. $\pi(i)=  \tau(i+k \mod n) \circ \tau(i)$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I did not find a notion of shift product for permutations in the literature.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Formally,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Square Permuation&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Instance&lt;/strong&gt;: A permutation $\pi$ of $1, 2, \ldots n$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question&lt;/strong&gt;: Is permutation $\pi$ a square for the shift product?&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there an efficient algorithm to determine whether a given permutation $\pi$ is a square for the shift product of some permutation $\tau$, or is it NP-complete?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The problem appears to be hard even when the shift amount $k=1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This was posted on &lt;a href=&quot;https://mathoverflow.net/questions/219089/how-hard-is-recognizing-a-permutation-that-is-a-square-for-the-shift-product&quot;&gt;mathOverflow&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2015-09-28T13:40:06.430" Title="How hard is recognizing a permutation that is a square for the shift product?" Tags="&lt;cc.complexity-theory&gt;&lt;co.combinatorics&gt;&lt;np-hardness&gt;&lt;permutations&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="32632" PostTypeId="1" AcceptedAnswerId="32633" CreationDate="2015-09-26T23:16:55.187" Score="20" ViewCount="867" Body="&lt;p&gt;Is there any natural problem in &lt;strong&gt;P&lt;/strong&gt; for which the best known running time bound is of the form $O(n^\alpha)$, where $\alpha$ is an &lt;em&gt;irrational&lt;/em&gt; constant?&lt;/p&gt;&#xA;" OwnerUserId="12710" LastActivityDate="2015-09-27T00:27:19.593" Title="Time complexity with irrational exponent?" Tags="&lt;cc.complexity-theory&gt;&lt;time-complexity&gt;&lt;polynomial-time&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="32633" PostTypeId="2" ParentId="32632" CreationDate="2015-09-27T00:27:19.593" Score="22" Body="&lt;p&gt;While admittedly I haven't done the analysis, and this is not strictly a decision problem, I am willing to wager the best known matrix multiplication algorithms (by Coppersmith, Winograd, Stothers, Williams, et al) have irrational exponent. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This can be seen more clearly in the simple case of Strassen's algorithm, which has running time $O(n^{\log_2 7})$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;And, this is not precisely what you asked, but Ryan Williams has shown that all algorithms that solve SAT in space $n^{o(1)}$ require time $n^{2 \cos(\pi/7) - o(1)}$, which is another interesting and unusual appearance of an irrational constant in TCS.&lt;/p&gt;&#xA;" OwnerUserId="8985" LastActivityDate="2015-09-27T00:27:19.593" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="32634" PostTypeId="1" CreationDate="2015-09-27T00:44:08.747" Score="5" ViewCount="176" Body="&lt;p&gt;The church-encoding for natural numbers is a natural mean of implementing addition, multiplication and so on on the lambda calculus. Interaction nets are said to be an alternative universal computation system, yet, nothing is published as to how one could encode simple data structures and algorithms on the interaction nets directly. What are the natural encodings of numbers and numeric algorithms on interaction combinators?&lt;/p&gt;&#xA;" OwnerUserId="17388" LastEditorUserId="17388" LastEditDate="2015-09-28T13:27:10.350" LastActivityDate="2015-09-28T13:27:10.350" Title="How can you encode natural numbers operations on interaction combinators?" Tags="&lt;pl.programming-languages&gt;&lt;lambda-calculus&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="32635" PostTypeId="1" AcceptedAnswerId="32636" CreationDate="2015-09-27T05:58:27.487" Score="15" ViewCount="449" Body="&lt;blockquote&gt;&#xA;&lt;b&gt;Problem:&lt;/b&gt; Given $\phi : \{0,1\}^n \to \{0,1\}$ represented by a boolean circuit, generate a uniformly random $x \in \{0,1\}^n$ such that $\phi(x)=1$ (or output $\perp$ if no such $x$ exists).&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Clearly this problem is NP-hard. My question is whether or not this problem is also &quot;NP-easy&quot;:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;&lt;b&gt;Question:&lt;/b&gt; Does there exist an algorithm that solves the above problem in time polynomial in $n$ and the circuit size of $\phi$ given access to a SAT oracle?&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Alternatively, is there a polynomial-time algorithm assuming NP=P?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Clearly having access to a #SAT oracle suffices, so the complexity lies somewhere between NP and #P.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;I feel like this should have been studied before, but I can't find an answer on Google.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I know how to solve the problem approximately (i.e. generate a satisfying assignment that is statistically close to uniform) using a variant of the Valiant-Vazirani Theorem and/or approximate counting, but getting exactly uniform seems to be a different problem.&lt;/p&gt;&#xA;" OwnerUserId="2022" LastActivityDate="2019-06-13T23:36:37.527" Title="Sampling a uniformly random satisfying assignment" Tags="&lt;np-hardness&gt;&lt;counting-complexity&gt;&lt;reductions&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="32636" PostTypeId="2" ParentId="32635" CreationDate="2015-09-27T07:09:15.130" Score="19" Body="&lt;p&gt;&lt;a href=&quot;https://cseweb.ucsd.edu/~mihir/papers/ug.html&quot; rel=&quot;noreferrer&quot;&gt;Yes.&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(backup links in case that one goes down: &lt;a href=&quot;http://www.wisdom.weizmann.ac.il/~oded/PSX/bgp.pdf&quot; rel=&quot;noreferrer&quot;&gt;1&lt;/a&gt; &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.5.89&quot; rel=&quot;noreferrer&quot;&gt;2&lt;/a&gt; &lt;a href=&quot;http://www.researchgate.net/publication/233577045_Uniform_Generation_of_NP-Witnesses_Using_an_NP-Oracle&quot; rel=&quot;noreferrer&quot;&gt;3&lt;/a&gt; &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0890540100928852&quot; rel=&quot;noreferrer&quot;&gt;4&lt;/a&gt;)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Back up reference, in case all those links go down: Bellare, Mihir, Oded Goldreich, and Erez Petrank. &quot;Uniform generation of NP-witnesses using an NP-oracle.&quot; Information and Computation 163.2 (2000): 510-526.&lt;/p&gt;&#xA;" OwnerDisplayName="user6973" LastEditorUserId="44995" LastEditDate="2019-06-13T23:36:37.527" LastActivityDate="2019-06-13T23:36:37.527" CommentCount="0" ContentLicense="CC BY-SA 4.0" />
  <row Id="32640" PostTypeId="2" ParentId="32634" CreationDate="2015-09-27T21:37:35.303" Score="8" Body="&lt;p&gt;Contrarily to the $\lambda$-calculus, the interaction combinators have no underlying logical system (i.e., there is no Curry-Howard correspondence for them), it is therefore hard to say that a numeral system is more &quot;natural&quot; than another.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(In the $\lambda$-calculus, Church numerals may be claimed to be &quot;natural&quot; because their type is the erasure of the second order definition of natural number, i.e.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\mathsf{Nat}(x) := \forall X.(X(0)\Rightarrow\forall y.(X(y)\Rightarrow X(Sy))\Rightarrow X(x)).$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you erase all quantifiers and first-order terms, you get $X\to(X\to X)\to X$, which is exactly the simple type of Church integers, perhaps modulo a permutation, i.e. $(X\to X)\to X\to X$ also works. But even in the $\lambda$-calculus there are lots of other numeral systems which may be preferred to the Church integers in some cases).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Anyhow, there are at least a couple of reasons why no-one bothered to explicitly define a numeral system for the interaction combinators:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;the interaction combinators are studied more as an abstract model of computation than an actual programming language in which one wants to explicitly code algorithms; more general interaction net systems, in which one defines the agents and the interaction rules arbitrarily, are much more suitable for explicit programming (as shown for instance in Lafont's very first paper on interaction nets, POPL 1990), just like a functional language with a primitive integer type and fixpoint definitions (a la PCF) is better for real-life programming than the bare $\lambda$-calculus.&lt;/li&gt;&#xA;&lt;li&gt;if you really want to, it is fairly straightforward to find numeral systems in the interaction combinators.  It is well known (see for instance Barendregt's &lt;em&gt;The Lambda Calculus&lt;/em&gt; book, Sect. 6.4) that in a language allowing arbitrary recursive definitions (such as the interaction combinators), Turing-completeness is ensured as soon as one is able to define zero, successor, if-then-else (with test for zero) and predecessor. It doesn't take much to find a numeral system satisfying the above. The quickest solution I came up with in 5 minutes is to mimick Scott numerals (another numeral system in the $\lambda$-calculus). Scott numerals have the advantage of being linear, so they may be encoded in multiplicative proof nets, which in turn are essentially the $\gamma\varepsilon$ fragment of the interaction combinators. This is nice because these numerals will be duplicable without problems (by $\delta$ cells). Here are the definitions:&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://i.stack.imgur.com/8Fwrm.png&quot; rel=&quot;nofollow noreferrer&quot;&gt;&lt;img src=&quot;https://i.stack.imgur.com/8Fwrm.png&quot; alt=&quot;Scott numerals in the interaction combinators&quot;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where $\mathbf M_3$ and $\mathbf M_3^\ast$ are the multiplexor and demultiplexor of rank 3 as defined in Lafont's &lt;em&gt;Interaction Combinators&lt;/em&gt; paper (I&amp;amp;C, 1995). They both consist of two $\gamma$ cells and they annihilate with each other generating 3 parallel wires.&lt;/p&gt;&#xA;" OwnerUserId="20716" LastEditorUserId="20716" LastEditDate="2015-09-27T21:54:22.127" LastActivityDate="2015-09-27T21:54:22.127" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32642" PostTypeId="1" CreationDate="2015-09-28T11:40:36.220" Score="1" ViewCount="61" Body="&lt;p&gt;I have a problem in graph theory and search the name and the complexity of the following problem :&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $G = (V,A)$ be a directed graph, $p : A \rightarrow \mathbb{N}$ be a weight on the arcs of $G$ and $k_1, k_2\in \mathbb{N}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a walk $w$ of $G$ of length $k_1$ ($w = (v_{i_1} \ldots v_{i_{k_1}})$) such that $\sum_{j = 1}^{n-1}p((v_{i_j},v_{i_{j+1}})) \leq k_2$ ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can you help to find the name and the complexity of this problem ?&#xA;Anybody has ever read something on this?&lt;/p&gt;&#xA;" OwnerUserId="35742" LastActivityDate="2015-09-28T13:32:21.077" Title="weighted directed Walk in a graph" Tags="&lt;graph-theory&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32643" PostTypeId="2" ParentId="32642" CreationDate="2015-09-28T13:32:21.077" Score="1" Body="&lt;p&gt;This problem is PP-hard under Turing reductions when your weights are encoded in binary. The lower bound follows by a reduction from the $K$-th largest subset problem. Given a set $S\subseteq \{ s_1,\ldots,s_n \}\subseteq \mathbb{N}$ and $B, K\in \mathbb{N}$, this problem asks whether&#xA;\begin{align*}&#xA;\# \{ S'\subseteq S : \sum_{s\in S'} s \le B \} \ge K.&#xA;\end{align*}&#xA;It has recently been &lt;a href=&quot;http://arxiv.org/abs/1501.06729&quot; rel=&quot;nofollow&quot;&gt;shown&lt;/a&gt; that this problem is PP-complete under polynomial-time Turing reductions. It's easily seen how to encode this problem into yours (and see Proposition 4 in &lt;a href=&quot;http://link.springer.com/chapter/10.1007/978-3-540-31982-5_9&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt; in case you need some inspiration).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $k_1$ is given in unary then your problem is PP-complete. If $k_1$ is given in binary then your problem is in PEXP, I cannot say if it is PEXP-complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In general, you often see this kind of problems in the setting of quantitative verification of (stochastic) systems.&lt;/p&gt;&#xA;" OwnerUserId="35423" LastActivityDate="2015-09-28T13:32:21.077" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32644" PostTypeId="2" ParentId="32630" CreationDate="2015-09-28T13:40:06.430" Score="4" Body="&lt;p&gt;It's really quite easy. Let $$\rho_k = \left( \begin{matrix}1&amp;amp;2&amp;amp;\ldots&amp;amp;n\\ (k+1)\bmod n&amp;amp;(k+2)\bmod n&amp;amp;\ldots&amp;amp;(k+n)\bmod n\end{matrix}  \right)$$ be the shift permutation. Then the shift of $\tau$ is just $\sigma = \tau \circ \rho_k$, and the shift product of $\tau$ is $\tau \circ \rho_k \circ \tau$. But $$\pi = \tau \circ \rho_k \circ \tau \iff \rho_k \circ \pi = (\rho_k \circ \tau)^2$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given $\pi$ you can find $\rho_k \circ \pi$ in linear time, and then you just need to &lt;a href=&quot;https://math.stackexchange.com/q/266569/5676&quot;&gt;see whether it has a square root&lt;/a&gt;, which can also be done in linear time.&lt;/p&gt;&#xA;" OwnerUserId="3131" LastEditorUserId="-1" LastEditDate="2017-04-13T12:19:19.363" LastActivityDate="2015-09-28T13:40:06.430" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32646" PostTypeId="1" AcceptedAnswerId="32656" CreationDate="2015-09-28T16:05:34.677" Score="23" ViewCount="1141" Body="&lt;p&gt;Access to a $SAT$ oracle would provide a major, super-polynomial speed-up for everything in ${\bf NP}-{\bf P}$ (assuming the set is not empty). It is less clear, however, how much would $\bf P$ benefit from this oracle access. Of course, the speed-up in $\bf P$ cannot be super-polynomial, but it can still be polynomial. For example, could we find a shortest path faster with a $SAT$ oracle, than without it? How about some more sophisticated tasks, such as submodular function minimization or linear programming? Would they (or other natural problems in $\bf P$) benefit from a $SAT$ oracle?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More generally, if we can pick any problem in ${\bf NP}-{\bf P}$, and use an oracle for it, then which of the problems in $\bf P$ could see a speed-up? &lt;/p&gt;&#xA;" OwnerUserId="12710" LastActivityDate="2015-09-29T23:21:33.243" Title="How much would a SAT oracle help speeding up polynomial time algorithms?" Tags="&lt;cc.complexity-theory&gt;&lt;np&gt;&lt;np-complete&gt;" AnswerCount="3" CommentCount="4" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="32648" PostTypeId="2" ParentId="32558" CreationDate="2015-09-28T17:21:18.013" Score="1" Body="&lt;p&gt;tricky question! there is some diverse crosscutting research into this question, and will attempt to outline it, but will in the end take the position here that the question is &lt;em&gt;contradictory/ impossible&lt;/em&gt; at heart (and anticipating some this may be a controversial conclusion). here are two key recent references from a physics pov addressing your question. &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://arxiv.org/pdf/1312.1695v3.pdf&quot; rel=&quot;nofollow&quot;&gt;Gate count estimates for performing quantum chemistry&#xA;on small quantum computers&lt;/a&gt; / Wecker et al&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://arxiv.org/abs/1111.3633&quot; rel=&quot;nofollow&quot;&gt;Quantum Algorithms for Quantum Field Theories&lt;/a&gt; / Jordan, Lee, Preskill&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;a rough complexity theory estimate of &quot;simulating particle physics&quot; is to count the number of particles, and there are about $O(n^2)$ interactions between particles, and many supercomputer simulations of particle dynamics fit this. so as a rough bound, one would pick the smallest particles, but, wait! the standard model has many &lt;em&gt;subatomic&lt;/em&gt; particles! so one might use neutrinos, one of the smallest known stable particles, as an estimate... but then what about unstable particles such as quarks/ leptons?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;there is also the whole other problematic accuracy/ precision problem of &lt;a href=&quot;https://en.wikipedia.org/wiki/Butterfly_effect&quot; rel=&quot;nofollow&quot;&gt;the butterfly effect&lt;/a&gt; long known in computational physics aka &quot;sensitive dependence on initial conditions&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Aaronson write in his essay &lt;a href=&quot;http://www.pbs.org/wgbh/nova/blogs/physics/2014/04/is-there-anything-beyond-quantum-computing/&quot; rel=&quot;nofollow&quot;&gt;Is There Anything Beyond Quantum Computing?&lt;/a&gt;:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there any such problem that couldn’t be solved efficiently by a quantum computer, but could be solved efficiently by some other computer allowed by the laws of physics?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;so he sketches out weird physics such as black holes or quantum gravity that might not be simulable by a quantum computer. but flipping this whole essay on its head (in a manner it which it was unintended), what he is describing are frontier areas of physics that currently do not have &lt;em&gt;complete/ definite physical theories known by humans&lt;/em&gt; (at best, only plausible candidates/ approximations floating around.) eg: &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;black holes&lt;/li&gt;&#xA;&lt;li&gt;time curves&lt;/li&gt;&#xA;&lt;li&gt;quantum gravity&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;(adding to his list) &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;dark matter/ energy&lt;/li&gt;&#xA;&lt;li&gt;virtual particles, vacuum energy&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;so the problem comes in your title that you literally want to &lt;em&gt;&lt;strong&gt;fully&lt;/strong&gt; simulate&lt;/em&gt; a cubic meter of space. but the standard model is actually ultimately/ technically widely acknowledged/ conceded by physicists themselves (if pressed!) as an &lt;em&gt;incomplete&lt;/em&gt; model of reality due to all the extreme/ problematic &quot;edge cases&quot; listed above, and others not known. even the standard model itself is problematic in that new particles/ tiny forces and revisions are added/ modified all the time, nearly &quot;regularly&quot;, even the famous/ celebrated &lt;a href=&quot;https://en.wikipedia.org/wiki/Higgs_boson&quot; rel=&quot;nofollow&quot;&gt;Higgs particle&lt;/a&gt; recently.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;so actually its a major open question of physics whether the basic rules of reality are computable. this ties in with the &lt;a href=&quot;https://en.wikipedia.org/wiki/Digital_physics&quot; rel=&quot;nofollow&quot;&gt;digital physics&lt;/a&gt; research agenda.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;so physicists generally regard the idea that physics of reality is computable as something of an &quot;approximation&quot; that physical theories are in the continual process of evolving/ finetuning but &quot;very thorough/ precise models&quot; are ultimately not to be confused with &lt;em&gt;accurate simulations.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;also relevant to this question/ impinging is that there is new &quot;cutting edge/ borderline&quot; physics theory/ research and experiments to attempt detect if we are &quot;living in a hologram&quot; ie some kind of &quot;simulation&quot;. it is theorized that cosmic rays might have detectable properties indicating this, or other very sensitive experiments could reveal kinds of &quot;digitization artifacts&quot;, etc.; one example:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.technologyreview.com/view/429561/the-measurement-that-would-reveal-the-universe-as-a-computer-simulation/&quot; rel=&quot;nofollow&quot;&gt;The Measurement That Would Reveal The Universe As A Computer Simulation&lt;/a&gt; / MIT tech review&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2015-09-28T17:21:18.013" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32656" PostTypeId="2" ParentId="32646" CreationDate="2015-09-29T09:32:23.493" Score="15" Body="&lt;p&gt;Actually, acceptance of nondeterministic Turing machines in time $t$ is $O(t \log t)$-time reducible to SAT (the construction is via oblivious simulation, see Arora-Barak), so typically any time a nondeterministic machine is appreciably faster than a deterministic one, we'll see at least some speedup with a SAT oracle.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To be more concrete, primality testing comes to mind, as the best variant of the AKS algorithm appears to test primality of an $n$-bit number in time $O(n^6 \; \text{polylog}\; n)$. But if we go &quot;old school&quot;, Pratt gave a nondeterministic TM to decide primality in time $O(n^3 \; \text{polylog}\; n)$. Acceptance of this machine can be reduced (deterministically) in $O(n^3 \; \text{polylog}\; n)$ time to a SAT instance.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The 3SUM problem may be another example, as it seems like one can guess a solution and check it in subquadratic time, and then acceptance of such a machine can be reduced to SAT in subquadratic time.&lt;/p&gt;&#xA;" OwnerUserId="8985" LastActivityDate="2015-09-29T09:32:23.493" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32657" PostTypeId="2" ParentId="32646" CreationDate="2015-09-29T11:13:20.720" Score="7" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;More generally, if we can pick any problem in NP−P, and use an oracle for it, then which of the problems in P could see a speed-up?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;This question gets more directly at representation and time required to reduce one problem to another....&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The main answer I have in mind is an &lt;strong&gt;Integer/Linear Programming oracle.&lt;/strong&gt; The decision version of that problem is NP-complete. There is a trivial &quot;reduction&quot; from linear programming because it is a special case. But an oracle for linear programming alone (let alone ILP) speeds up many problems that are immediately solvable by linear programming. They can be reduced to it in linear time by rewriting the problem as an LP. For instance, shortest paths and other flow problems, matchings.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But I don't think ILP is the only one by any means, it's probably more that people haven't thought much about &lt;em&gt;e.g.&lt;/em&gt; reducing shortest-path to TSP or so on.&lt;/p&gt;&#xA;" OwnerUserId="8243" LastActivityDate="2015-09-29T11:13:20.720" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32658" PostTypeId="1" CreationDate="2015-09-29T11:54:34.100" Score="8" ViewCount="197" Body="&lt;p&gt;In the paper &lt;strong&gt;Discriminating coded lambda terms - Henk Barendregt&lt;/strong&gt; a &lt;em&gt;coding&lt;/em&gt; $\ulcorner M \urcorner$ of a lambda term $M$ is a term such that $M$ (and its parts) can be reconstructed from it in a lambda-definable way. Essentially we need to be able to write a self-interpreter $\mathsf E$:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\mathsf E \ulcorner M \urcorner =_\beta M.$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are a variety of encodings like Kleene's which uses natural numbers and the most efficient modern encoding is a higher-order syntax by Mogensen. Another possible (trivial) encoding is the identity function, then the interpreter is again the identity function.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there any reasonable notion of an &quot;adequate encoding&quot; that outlaws trivial encodings?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;This question came up when considering the halting problem applied to lambda calculus rather than Turing machines: If stated in terms of the trivial encoding then it holds for the trivial reason that there is essentially nothing we can do with a quoted lambda term.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Put differently: What is the set of functions that we should expect to be able to compute on quoted lambda terms?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I can list a few like: counting the depth of the term, taking subterms, telling if the root node of a term is a lambda or application, ... but I would hesitate to define an &quot;adequate encoding&quot; by just listing assorted functions that came to mind.&lt;/p&gt;&#xA;" OwnerUserId="35754" LastActivityDate="2017-03-18T14:21:32.257" Title="How to state the adequacy of an encoding of lambda calculus in itself?" Tags="&lt;lambda-calculus&gt;&lt;encoding&gt;" AnswerCount="2" CommentCount="5" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="32660" PostTypeId="1" CreationDate="2015-09-29T13:52:24.940" Score="2" ViewCount="60" Body="&lt;p&gt;Given $n$ sets of linear constraints $\Theta_1, \cdots, \Theta_n$ which are over $\vec{x}_1, \cdots, \vec{x}_n$ respectively where $\vec{x}_i$ and $\vec{x}_j$ are pairwise disjoint, and &#xA; $W=&#xA;\begin{bmatrix}&#xA;w_1[\vec{x}_1]\\&#xA;\vdots\\&#xA;w_n[\vec{x}_n]\\&#xA;\end{bmatrix}$ &#xA;where $w_i$ is an $m$-dim row vector  each entry of which is a  &lt;strong&gt;linear function&lt;/strong&gt; over $\vec{x}_i$.  Given $d\in \mathbb{R}^m$, we define &#xA; $\max Wd= &#xA;\begin{bmatrix}&#xA;\max_{\vec{x}_1 \in \Theta_1} w_1[\vec{x}_1] \cdot d\\&#xA;\vdots\\&#xA;\max_{\vec{x}_n \in \Theta_n} w_n[\vec{x}_n] \cdot d\\&#xA;\end{bmatrix}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Clearly &#xA;$A=\{\max Wd\mid d\in \mathbb{R}^m\}$ is &lt;em&gt;not&lt;/em&gt; a linear space (see example below).  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;The question is to compute a basis of the linear space spanned by $A$?&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Eample:&#xA;Let $W=[ x\  y]$ and $\Theta_1=\{0\leq x\leq 1, 0\leq y\leq 1, x+y=1\}$. (In this case $n=1$ and $m=2$). Then &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;for $d=[1\  0]^T$, we have $\max Wd= [1]$; &lt;/li&gt;&#xA;&lt;li&gt;for $d=[ 0\ 1]^T$, we have $\max Wd= [1]$; &lt;/li&gt;&#xA;&lt;li&gt;for $d=[1\ 1]^T$, we have $\max Wd= [1]$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;In this case $A=\mathbb{R}$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The motivation of the problem is from geometry and an interesting feature here is that the optimization is involved which makes the problem unusual. &lt;/p&gt;&#xA;" OwnerUserId="35648" LastActivityDate="2015-09-29T13:52:24.940" Title="How to compute the basis" Tags="&lt;optimization&gt;&lt;linear-algebra&gt;&lt;linear-programming&gt;&lt;computational-geometry&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32662" PostTypeId="2" ParentId="32467" CreationDate="2015-09-29T14:05:25.437" Score="0" Body="&lt;p&gt;For what it's worth, it turns out that this is how quantum computing works.  When it does it's computations, it does so on cubits which can be 1, 0, or a superposition of 1 and 0. If you use superpositional bits, it means that it does the computations on all possible bit value permutations. It's only when the result is &quot;observed&quot; that it collapses into an actual value. Unfortunately you can't (or they don't know how) to clone the result in the unobserved state, so you can't get access to all permutations, only one of them.&lt;/p&gt;&#xA;" OwnerUserId="35424" LastActivityDate="2015-09-29T14:05:25.437" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32663" PostTypeId="2" ParentId="5004" CreationDate="2015-09-29T18:09:00.930" Score="-1" Body="&lt;p&gt;here is recent new more systematic analysis/ angles/ results on this question &amp;amp; related ones, introducing the concept of &quot;algorithmic verifiability&quot; and a Rice-like-thm analog for complexity theory. one relevant section from the abstract is follows and there are many other related theorems related to provability of P vs NP etc&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://eccc.hpi-web.de/report/2015/159/&quot; rel=&quot;nofollow&quot;&gt;Why the Concept of Computational Complexity is Hard for Verifiable Mathematics&lt;/a&gt; / Hromkovic&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;First, we prove Rice's theorem for unprovability, claiming that each nontrivial semantic problem about programs is not almost everywhere solvable in Algorithmically Verifiable &quot;AV&quot;-mathematics. Using this, we show that there are infinitely many algorithms (programs that are provably algorithms) for which there do not exist proofs that they work in polynomial time or that they do not work in polynomial time. ...&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;Note that, if P != NP is provable in AV-mathematics, then for each algorithm A it is provable that &quot;A does not solve SATISFIABILITY or A does not work in polynomial time&quot;. Interestingly, we finally show that there exist algorithms for which it is neither provable that they do not work in polynomial time, nor that they do not solve SATISFIABILITY. Moreover, there is an algorithm solving SATISFIABILITY for which one cannot prove in AV-mathematics that it does not work in polynomial time.&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;Furthermore, we show that P = NP implies the existence of algorithms X for which the claim &quot;X solves SATISFIABILITY in polynomial time&quot; is not provable in AV-mathematics.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2015-09-29T18:09:00.930" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32665" PostTypeId="1" CreationDate="2015-09-29T22:29:14.633" Score="6" ViewCount="125" Body="&lt;p&gt;Consider the problem of higher order unification - that is, finding a substitution for the equation &lt;code&gt;a = b&lt;/code&gt;, where &lt;code&gt;a&lt;/code&gt; and &lt;code&gt;b&lt;/code&gt; are open terms on the lambda calculus, such that &lt;code&gt;a&lt;/code&gt; and &lt;code&gt;b&lt;/code&gt; have the same alpha-beta normal form. That problem is undecidable in general. Now, consider the case where:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;code&gt;b&lt;/code&gt; is a closed term on the shape &lt;code&gt;(λ t . (t Y0 Y1 Y2 ...))&lt;/code&gt;.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;a&lt;/code&gt; is on the shape &lt;code&gt;(λ t . (t (F X0) (F X1) (F X2) ... ))&lt;/code&gt;, where &lt;code&gt;F&lt;/code&gt; is the only variable.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;Xn&lt;/code&gt; and &lt;code&gt;Yn&lt;/code&gt; have no lambdas within applications.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;For example, a valid instance of this problem is:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;a = (λ t . &#xA;    (F (λ a b c d . (a (c d) (a (c (c d)) (a (c (c (c d))) b)))))&#xA;    (F (λ a b c d . (a (c (c d)) (a (c d) (a (c (c (c (c d)))) b)))))&#xA;    (F (λ a b c d . (a (c (c d)) (a (c (c d)) b)))))&#xA;&#xA;b = (λ t . &#xA;    (λ a b . (a (a (a (a (a (a b)))))))&#xA;    (λ a b . (a (a (a (a (a (a (a b))))))))&#xA;    (λ a b . (a (a (a (a b))))))&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;The solution is the substitution:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;F = (λ l f . (l (λ h t e . (h (t e))) (λ n . n) (λ p e . (f (p e))) (λ z . z)))&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Is this problem decidable?&lt;/p&gt;&#xA;" OwnerUserId="17388" LastEditorUserId="17388" LastEditDate="2015-09-29T23:23:48.813" LastActivityDate="2015-09-29T23:23:48.813" Title="Is higher-order unification decidable for terms without abstractions within applications?" Tags="&lt;ds.algorithms&gt;&lt;lambda-calculus&gt;" AnswerCount="0" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32666" PostTypeId="2" ParentId="32646" CreationDate="2015-09-29T23:21:33.243" Score="3" Body="&lt;p&gt;On a related note (more of a comment, posting as an answer by request), if instead of a $SAT$ oracle one allows a $\Sigma_2 SAT$ oracle, then it could be used to find minimal circuits for any problem in $\mathsf{P}$ (this follows the same idea as the proof of Karp-Lipton). This would give a nearly optimal amortized cost to any problem; the reason it's only amortized is that if you only use this once, then the size of the $\Sigma_2 SAT$ formula you write down is essentially the runtime of your original poly-time algorithm, but after that step you then have an optimal circuit for all instances of size $\leq n$.&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2015-09-29T23:21:33.243" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="32667" PostTypeId="2" ParentId="8710" CreationDate="2015-09-30T02:24:23.640" Score="0" Body="&lt;p&gt;you can find a paper copied pdf here.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&amp;amp;arnumber=63533&quot; rel=&quot;nofollow&quot;&gt;http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&amp;amp;arnumber=63533&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="35764" LastActivityDate="2015-09-30T02:24:23.640" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32668" PostTypeId="2" ParentId="19758" CreationDate="2015-09-30T11:54:47.787" Score="1" Body="&lt;p&gt;Regarding (1), the problem is not strongly NP-hard, c.f. Corollary 1 in &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=322287&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Papadimitriou, C. H. (1981). On the complexity of integer programming. &lt;em&gt;Journal of the ACM&lt;/em&gt;, 28(4), 765-768.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Regarding (2), the problem obviously lies in #P if all constants are positive. There is also a #P-complete version of SubsetSum, which almost fits into your problem instance but does, however, require the $x_i$ to be either 0 or 1, see &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S030439750800710X&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Faliszewski, P. and Hemaspaandra, L. (2009). The complexity of power-index comparison. &lt;em&gt;Theoretical Computer Science&lt;/em&gt; 410(1), 101-107.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm pretty sure that the construction used by Faliszewski and Hemaspaandra can be adjusted such that the requirement $x_i\in \{0,1\}$ is not needed and would hence claim that the problem is #P-complete, provided that constants are encoded in binary.&lt;/p&gt;&#xA;" OwnerUserId="35423" LastActivityDate="2015-09-30T11:54:47.787" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32670" PostTypeId="1" CreationDate="2015-09-30T12:43:45.710" Score="5" ViewCount="85" Body="&lt;p&gt;The problem of unifying interaction combinators is probably undecidable since those are turing complete. As opposed to the lambda calculus, there is nothing like a simple type theory for interaction combinators nor a subproblem of them that is known to be decidable. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;When is it possible to unify interaction combinators?&lt;/p&gt;&#xA;" OwnerUserId="17388" LastActivityDate="2016-12-15T16:09:43.457" Title="How can unification be applied to interaction combinators?" Tags="&lt;pl.programming-languages&gt;" AnswerCount="0" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32673" PostTypeId="1" AcceptedAnswerId="32675" CreationDate="2015-09-30T19:52:37.080" Score="2" ViewCount="417" Body="&lt;p&gt;Consider a language like Brainfuck but without the brackets. At the end of each line (i.e. when &quot;\n&quot; occurs), if the current cell is not 0, then the line is re-executed.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An example of an infinite loop:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;+.&#xA;// OUTPUT (numbers represent the corresponding ascii characters)&#xA;1&#xA;2&#xA;3&#xA;...&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Now, would this hypothetical language be Turing-complete? I'd say yes but I'm not sure, since there's no such a &lt;code&gt;goto&lt;/code&gt; thing at all, only &lt;code&gt;while&lt;/code&gt;-like.&lt;/p&gt;&#xA;" OwnerUserId="35777" LastActivityDate="2015-10-01T00:21:24.880" Title="Is my language Turing-complete?" Tags="&lt;pl.programming-languages&gt;&lt;universal-turing-machines&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32675" PostTypeId="2" ParentId="32673" CreationDate="2015-10-01T00:21:24.880" Score="3" Body="&lt;p&gt;Here's a proof that the language is not Turing-complete: its Halting problem can be solved for all programs in your language. This language contains only single loops in sequence, and each loop consists of a finite number of numeric changes to the tape contents. I will gloss over the fact that BF is an 8-bit language, and grant you that the tape contents are all numbers $z \in \mathbb{Z}$. Let $(\alpha_k, \beta_k) \in \mathbb{Z}^{2}$ denote the interval of the tape walked on in statement #k, and let $\nabla_k \in \mathbb{Z}$ denote the amount the tape head moves during each iteration of statement #k. For example, for statment &amp;lt;+&gt;&gt;-&gt;+\n, $(\alpha_k, \beta_k) = (-1,3)$ because it moves one item to the left and 2 to the right, plus 1 for the position on which it started, and the net position change is $\nabla_k = 2$. Now, every statement can only increase and decrease its surrounding tape with some vector $v_k \in \mathbb{Z}^{\beta_k-\alpha_k}$, so the program reduces to following simple code:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Input: Infinite tape of zeros, except for a sequence $x$ of numbers starting at position 1&lt;/p&gt;&#xA;&#xA;&lt;p&gt;p = 1; // initial tape position&lt;/p&gt;&#xA;&#xA;&lt;p&gt;for k = 1..n {&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\quad$while (Tape[p] != 0) {&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\quad\quad$Tape[$p - \alpha_k$ : $p + \beta_k-1$] += $v_k$;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\quad\quad$p += $\nabla_k$;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\quad$}&lt;/p&gt;&#xA;&#xA;&lt;p&gt;}&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of particular interest is $v_{k,\nabla_k}$ and $v_{k, 2\nabla_k}$ and so forth, because they are the amount the machine will change the items it will inspect next. Now it is easy to solve the Halting problem for any program in your language. Suppose we are have arrived at statement #k and have tape contents Tape, with the tape head at $p$. If $\nabla_k$ = 0, then the head does not move in this loop, and we need only check whether T[$p$] - $m \times v_{k,-\alpha_k} = 0$ for some integer m. If $\nabla_k \not= 0$, then the machine will move across the tape at constant speed. Two things can happen: Tape[$p$] can become zero before the tape head reaches the end of the thus-far written tape - which can be checked in finite time - or it moves past the end of the tape into the unwritten region, at which point it &lt;em&gt;must&lt;/em&gt; start repeating itself, which can also be checked in finite time (note that this must be on the positive side of the tape, with $p&amp;gt;0$, otherwise the head has fallen off the tape. It is possible to consider a two-way infinite tape for your language, but the argument still holds). It must start repeating itself in the sense that the contents in Tape[$p - \alpha_k$ : $p + \beta_k$ - 1] must be equal to that of the pervious iteration of loop #k. This is because once arrived in the unwritten region, Tape[$p + \beta_k$] = $v_{k, \beta_k}$, and Tape[$p + \beta_k - \nabla_k] = v_{k,\beta_k} + v_{k, \beta_k - \nabla_k}$, and so forth.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Solving this problem for all statements in a program decides whether that program halts. It is an interesting language nonetheless, and I wonder whether there are programs which have worst-case running times of $\Omega(|x|^2)$, although probably not, and where in the complexity landscape lies the set of languages decided by programs in this BF variant.&lt;/p&gt;&#xA;" OwnerUserId="35749" LastActivityDate="2015-10-01T00:21:24.880" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32676" PostTypeId="1" AcceptedAnswerId="36558" CreationDate="2015-10-01T05:27:36.370" Score="4" ViewCount="154" Body="&lt;p&gt;I'm working on a research project which involves iterative pathfinding over a space whose cells have danger values that change over time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More specifically, the danger values represent bad weather, and the program uses ten days of weather predictions to find the best route across a section of the earth.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Formalized:&lt;/strong&gt;&#xA;We're given a graph where, for each edge $e$, the cost on that edge when starting at time t is $c_e(t)$. Each edge takes one unit of time to traverse. Find the min-cost route from $u$ to $v$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Up until now we've been using a modified A* search, however it is extremely inefficient and has become almost exhaustive.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a better algorithm already out there for such a problem?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I've started to take a look at D* lite, but I don't believe it's the best solution, because we already know what the cost at time t.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any advice is much appreciated.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Cheers,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Arek Sredzki&lt;/p&gt;&#xA;" OwnerUserId="35782" LastEditorUserId="-1" LastEditDate="2015-10-01T19:19:22.617" LastActivityDate="2016-09-09T20:19:16.837" Title="Pathfinding search over a space with known changing costs" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;optimization&gt;&lt;heuristics&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="32678" PostTypeId="1" CreationDate="2015-10-01T11:13:33.243" Score="2" ViewCount="71" Body="&lt;p&gt;Given $n$ polytopes&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\begin{align*}&#xA;P_1&amp;amp;=\{(f^1_1(\vec{x}_1), \cdots, f^1_m(\vec{x}_1))\mid A_1\vec{x}_1\leq b_1\}\\&#xA;P_2&amp;amp;=\{(f^2_1(\vec{x}_2), \cdots, f^2_m(\vec{x}_2))\mid A_2\vec{x}_2\leq b_2\}\\&#xA;\vdots\\&#xA;P_n&amp;amp;=\{(f^n_1(\vec{x}_2), \cdots, f^n_m(\vec{x}_2))\mid A_n\vec{x}_n\leq b_n\}\\&#xA;\end{align*}$$&#xA;where $f$'s are &lt;em&gt;affine&lt;/em&gt; mappings. Namely, they are of &lt;strong&gt;the form&lt;/strong&gt; $\vec{c}\cdot \vec{x} +d$. (We note that each $P_i$ is a polytope because it is an affine projection of the polytope $A_i\vec{x}_i\leq b_i$.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We assume that any $\vec{x}_i$ and $\vec{x}_j$ are disjoint. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;We can form the Minkowski sum of $P_i$'s, i.e., $P=\sum_{i=1}^n P_i$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given $n$ points $\vec{y}_1, \cdots, \vec{y}_n$, decide whether for all $1\leq i\leq n$&#xA;$\vec{y}_i$ is a vertex of $P_i$ and $\sum_{i=1}^n \vec{y}_i$ is a vertex of $P$? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The question is inspired by the recent &lt;a href=&quot;https://cstheory.stackexchange.com/questions/32587/checking-equivalence-of-two-polytopes&quot;&gt;question&lt;/a&gt;. I am particularly interested in the complexity. &lt;/p&gt;&#xA;" OwnerUserId="35648" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.743" LastActivityDate="2015-10-01T11:38:39.833" Title="Check whether a point is a vertex of Minkowski sum of polytopes" Tags="&lt;linear-algebra&gt;&lt;linear-programming&gt;&lt;computational-geometry&gt;&lt;polytope&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="32681" PostTypeId="1" CreationDate="2015-10-01T19:50:15.377" Score="3" ViewCount="108" Body="&lt;p&gt;Are there number theoretic problems (such as those related to $\mathsf{gcd}$) that are in $\mathsf{RL}$? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can these also be $\mathsf{RL}$-complete problems (is there any $\mathsf{RL}$-complete problem at all)?&lt;/p&gt;&#xA;" OwnerDisplayName="user34945" LastEditorDisplayName="user34945" LastEditDate="2015-10-02T06:52:35.503" LastActivityDate="2015-10-02T06:52:35.503" Title="Number theoretic problems complete for $\mathsf{RL}$" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;randomized-algorithms&gt;&lt;nt.number-theory&gt;&lt;logspace&gt;" AnswerCount="0" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32682" PostTypeId="1" CreationDate="2015-10-01T21:35:18.493" Score="12" ViewCount="274" Body="&lt;p&gt;When we want to prove that an $L\in \bf NP$ is $\bf NP$-complete, then the standard approach is to exhibit a polynomial time computable many-one reduction of a known $\bf NP$-complete problem to $L$. In this context we do not need a tight bound on the running time of the reduction. It suffices to have &lt;em&gt;any&lt;/em&gt; polynomial bound, allowing that it may possibly have a very high degree. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Nevertheless, for natural problems, the bound is typically a &lt;em&gt;low degree&lt;/em&gt; polynomial (let us define &lt;em&gt;low&lt;/em&gt; as something in the single digits). I do not claim that this must always be the case, but I am not aware of a counterexample. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question:&lt;/strong&gt; Is there a counterexample? That would be a polytime computable many-one reduction between two natural $NP$-complete problems, such that no no faster reduction is known for the same case, and the best known polynomial running time bound  is a &lt;em&gt;high degree&lt;/em&gt; polynomial. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Note:&lt;/em&gt; Large, or even huge, exponents are occasionally needed for natural problems in $P$, see &#xA;&lt;a href=&quot;https://cstheory.stackexchange.com/questions/6660/polynomial-time-algorithms-with-huge-exponent-constant&quot;&gt;Polynomial-time algorithms with huge exponent/constant&lt;/a&gt;. I wonder if the same also occurs in &lt;em&gt;reductions&lt;/em&gt; among natural problems?&lt;/p&gt;&#xA;" OwnerUserId="12710" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2015-10-03T12:07:55.353" Title="Slowest many-one reduction?" Tags="&lt;cc.complexity-theory&gt;&lt;reductions&gt;&lt;np-complete&gt;" AnswerCount="1" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="32684" PostTypeId="1" CreationDate="2015-10-02T06:16:38.433" Score="3" ViewCount="387" Body="&lt;p&gt;Recently a post was made in Mathoverflow seeking possible avenues for collaborative projects.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I made a proposal for Log Rank conjecture in &lt;a href=&quot;https://mathoverflow.net/questions/219638/proposals-for-polymath-projects/219639#219639&quot;&gt;https://mathoverflow.net/questions/219638/proposals-for-polymath-projects/219639#219639&lt;/a&gt; which has been well received so far&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I feel that this is a good project for collaborative approach. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I know this is a fundamental open problem in CS.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;1.&lt;/strong&gt; Is there a list of possible avenues of research that could open up if progress comes on this topic? For example, I know there are connections to Matrix Rigidity.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;2.&lt;/strong&gt; Could we have a list of possible impact of Log Rank Conjecture and related research in CS?&lt;/p&gt;&#xA;" OwnerDisplayName="user34945" LastEditorUserId="-1" LastEditorDisplayName="user34945" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2015-10-02T15:46:32.537" Title="Log Rank Conjecture Collaborative Approach" Tags="&lt;big-list&gt;&lt;big-picture&gt;&lt;communication-complexity&gt;&lt;open-problem&gt;&lt;research-practice&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="3" ClosedDate="2015-10-06T15:42:45.073" CommunityOwnedDate="2015-10-04T05:00:20.067" ContentLicense="CC BY-SA 3.0" />
  <row Id="32686" PostTypeId="2" ParentId="6660" CreationDate="2015-10-02T09:53:47.453" Score="7" Body="&lt;p&gt;In their &lt;a href=&quot;http://thorehusfeldt.files.wordpress.com/2010/08/spdp-e5d5661.pdf&quot; rel=&quot;noreferrer&quot;&gt;ICALP 2014&lt;/a&gt; paper, Andreas Björklund and Thore Husfeldt give the first (randomized) polynomial algorithm that computes 2 disjoint paths with minimum total length (sum of the two paths length) between two given pairs of vertices. The running time is in $O(n^{11})$.&lt;/p&gt;&#xA;" OwnerUserId="2954" LastEditorUserId="2954" LastEditDate="2015-10-02T15:46:39.960" LastActivityDate="2015-10-02T15:46:39.960" CommentCount="0" CommunityOwnedDate="2015-10-02T09:53:47.453" ContentLicense="CC BY-SA 3.0" />
  <row Id="32688" PostTypeId="2" ParentId="7704" CreationDate="2015-10-02T14:53:29.117" Score="6" Body="&lt;p&gt;There is also &lt;a href=&quot;http://cstheory-jobs.org&quot; rel=&quot;noreferrer&quot;&gt;cstheory-jobs.org&lt;/a&gt;, which in principle seems like a great clearinghouse for CS Theory jobs, but appears to be underutilized. Job posters, advertise &lt;a href=&quot;http://cstheory-jobs.org&quot; rel=&quot;noreferrer&quot;&gt;here&lt;/a&gt;!&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2015-10-02T14:53:29.117" CommentCount="0" CommunityOwnedDate="2015-10-02T14:53:29.117" ContentLicense="CC BY-SA 3.0" />
  <row Id="32690" PostTypeId="2" ParentId="32684" CreationDate="2015-10-02T15:46:32.537" Score="-2" Body="&lt;p&gt;it seems researchers might be cautious/ unlikely to conjecture/ speculate solution to this problem would likely/ definitely open up other areas (eg one you list of matrix rigidity is provably nearly equivalent to the extremely hard challenge of proving nontrivial lower bounds on eg circuits etc) but it definitely provably touches many areas. here is a nice recent survey (Jan 2015) by Lovett that lists &quot;many connections&quot; sec 6 along with two other refs that show crosscutting connections/ formulations&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://cseweb.ucsd.edu/~slovett/files/log-rank-advances.pdf&quot; rel=&quot;nofollow&quot;&gt;Recent advances on the log-rank conjecture in&#xA;communication complexity&lt;/a&gt; / Lovett&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;6.1 Randomized protocols vs approximate rank&lt;/li&gt;&#xA;&lt;li&gt;6.2 Quantum protocols for low-rank matrices&lt;/li&gt;&#xA;&lt;li&gt;6.3 The structure of low-rank sparse matrices, and matrix rigidity&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://eccc.hpi-web.de/report/2013/080/&quot; rel=&quot;nofollow&quot;&gt;En Route to the log-rank Conjecture:&#xA;New Reductions and Equivalent Formulations&lt;/a&gt; / Gavinsky, Lovett&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.35.9428&quot; rel=&quot;nofollow&quot;&gt;On the &quot;log rank&quot;-Conjecture in Communication Complexity&lt;/a&gt; / Raz, Spieker&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2015-10-02T15:46:32.537" CommentCount="6" CommunityOwnedDate="2015-10-04T05:00:20.067" ContentLicense="CC BY-SA 3.0" />
  <row Id="32691" PostTypeId="1" AcceptedAnswerId="32695" CreationDate="2015-10-02T19:23:07.363" Score="7" ViewCount="1593" Body="&lt;p&gt;I am not an expert in this field, but I have read that the existence of one-way functions implies $P \neq NP$. Since there seem to be so many different definitions of one-way-functions and I have not seen a proof  I wanted to ask if someone knows where to read this, or knows the proof. &#xA;Please if you give a proof, also give a precise definition of which version of &quot;one-way-function&quot; you use. The proof can of course be detailed, the detailed, the better! :) &#xA;Thanks!&lt;/p&gt;&#xA;" OwnerDisplayName="user35803" LastActivityDate="2016-12-10T11:35:38.627" Title="What is the proof that the existence of one-way-functions implies $P \neq NP$?" Tags="&lt;cc.complexity-theory&gt;" AnswerCount="3" CommentCount="6" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32693" PostTypeId="2" ParentId="27215" CreationDate="2015-10-02T19:50:05.693" Score="3" Body="&lt;p&gt;As for your first question, Allender states (in &lt;a href=&quot;http://iuuk.mff.cuni.cz/~koucky/papers/gap.pdf&quot; rel=&quot;nofollow&quot;&gt;Amplifying Lower Bounds by Means of Self-Reducibility&lt;/a&gt;) that no natural NP-complete problem is known to lie outside of NTIME(n). This means that all known natural NP-complete sets have linear size witnesses.&lt;/p&gt;&#xA;" OwnerUserId="495" LastActivityDate="2015-10-02T19:50:05.693" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32694" PostTypeId="2" ParentId="32682" CreationDate="2015-10-02T19:52:21.867" Score="3" Body="&lt;p&gt;&lt;a href=&quot;http://iuuk.mff.cuni.cz/~koucky/papers/gap.pdf&quot; rel=&quot;nofollow&quot;&gt;Allender&lt;/a&gt; suggests the answer is no:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;There seems to be no pair of natural NP-complete problems A and B known, where a reduction from A to B is known to require more than linear time (even under the assumption that P $\ne$ NP)&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Reference:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;E. Allender and M. Koucký, &lt;a href=&quot;http://doi.acm.org/10.1145/1706591.1706594&quot; rel=&quot;nofollow&quot;&gt;Amplifying lower bounds by means of self-reducibility&lt;/a&gt;. Journal of the ACM 57, 3, Article 14 (March 2010). &lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2015-10-03T12:07:55.353" LastActivityDate="2015-10-03T12:07:55.353" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="32695" PostTypeId="2" ParentId="32691" CreationDate="2015-10-02T20:01:05.837" Score="11" Body="&lt;p&gt;$P \ne NP$ if and only if worst-case one-way functions exist.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Reference:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Alan L. Selman. A survey of one-way functions in complexity theory. Mathematical systems theory, 25(3):203–221, 1992.&lt;/p&gt;&#xA;" OwnerUserId="495" LastActivityDate="2015-10-02T20:01:05.837" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32698" PostTypeId="1" CreationDate="2015-10-03T16:30:57.327" Score="5" ViewCount="92" Body="&lt;p&gt;Basically, if we are given a natural $x$, in binary, with $x &amp;lt; m_0 \cdot m_1 \cdot m_2 \cdot \dots \cdot m_n$, how quickly can we find $x \bmod m_0$, $x \bmod m_1$,..., and $x \bmod m_n$?  In other words, how quickly can we find $n$ residues in modular arithmetic?  &lt;em&gt;Note that the residues needn't be primes.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I suppose that this is a fairly broad question, and I'm curious if there are special cases where we can find these residues much faster (in other words, if there are special values for the modulus that allow faster calculations).  My motivation is that I'm entertaining some ideas concerning integer multiplication.  Along these lines, I'd like to break apart numbers into smaller residues.  I'm interested in any results besides the trivial situation when some of the moduli are powers of 2.&lt;/p&gt;&#xA;" OwnerUserId="1549" LastActivityDate="2015-10-04T03:05:03.140" Title="How quickly can we decompose a number into a set of residues?" Tags="&lt;arithmetic-circuits&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32699" PostTypeId="1" CreationDate="2015-10-03T20:52:49.897" Score="0" ViewCount="123" Body="&lt;p&gt;I am considering the following problem: there is a set of elements $S$ where each element is assigned to a bin $B$. The bins are disjoint and their union is $S$. There is also a cost function assigning each element $e \in S$ a cost $c$. The problem is to maximize the number of different bins and minimize the total cost of the elements, subject to a cardinality constraint $K$. (I'm interested in both cases: either at most or exactly $K$ elements). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;So the objective function would be: $f(S) = \lambda\sum_{i=1}^N \mathbb{1}_{|B_{i} \cap S| &amp;gt; 0} - \sum_{e \in S} c(e)$, where $N$ is the number of bins and $\lambda$ is a tradeoff parameter. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Maximizing the number of different bins is equivalent to maximizing the rank of a partition matroid. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In addition to partition matroid rank, I'm also interested in other types of coverage-like submodular functions. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This can also be seen as maximizing the difference between a sub modular function and a modular cost function; it is non monotone sub modular. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is this - or a similar formulation - equivalent to any other known problem? &lt;/p&gt;&#xA;" OwnerUserId="35813" LastEditorUserId="35813" LastEditDate="2015-10-04T03:43:34.910" LastActivityDate="2015-10-04T03:43:34.910" Title="Maximize number of bins and minimize cost of elements chosen from a set" Tags="&lt;ds.algorithms&gt;&lt;co.combinatorics&gt;&lt;approximation-algorithms&gt;&lt;packing&gt;&lt;submodularity&gt;" AnswerCount="0" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="32700" PostTypeId="2" ParentId="32698" CreationDate="2015-10-04T03:05:03.140" Score="2" Body="&lt;p&gt;If $m=2^k-t$ where $t$ is small, then you can reduce modulo $m$ faster.  In particular, $a \cdot 2^k + b \equiv at+b \pmod{m}$, so reducing an $\alpha k$-bit number modulo $m$ typically requires $\alpha$ multiplications by $t$ and $\alpha$ additions.  This can be significantly faster than the normal algorithms, if $t$ is small enough.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Something similar holds for $m=2^k+t$, too.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, one plausible approach is to choose a modulus $m$ that is a product $m=m_1 m_2 \cdots m_n$ where each $m_i$ has the form $2^k \pm t$, where $k$ is the word size of your computer (e.g., $k=64$).&lt;/p&gt;&#xA;" OwnerUserId="5038" LastActivityDate="2015-10-04T03:05:03.140" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32701" PostTypeId="2" ParentId="18846" CreationDate="2015-10-04T05:31:47.827" Score="11" Body="&lt;p&gt;A problem from Automata Theory.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Input:&lt;/strong&gt; A DFA $D$ over a binary input alphabet.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question:&lt;/strong&gt; Does there exist a bit string $x$ such that $D$ accepts $x$ and $x$ represents a prime number in binary?  In other words, is $L(D) \cap Primes$ non-empty?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Comments:&lt;/strong&gt; I originally heard this problem from a stackexchange answer by Jeffrey Shallit.  If you know of any references to it, please let me know.  Thank you!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Related Posts:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(1) &lt;a href=&quot;https://cstheory.stackexchange.com/questions/22493/are-there-any-open-problems-left-about-dfas/22503#22503&quot;&gt;Are there any open problems left about DFAs?&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(2) &lt;a href=&quot;https://cs.stackexchange.com/questions/48084/determining-if-infinite-binary-language-dfas-contain-at-least-1-prime&quot;&gt;https://cs.stackexchange.com/questions/48084/determining-if-infinite-binary-language-dfas-contain-at-least-1-prime&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Related Work:&lt;/strong&gt; &lt;a href=&quot;https://cs.uwaterloo.ca/~shallit/Papers/br10.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;https://cs.uwaterloo.ca/~shallit/Papers/br10.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&quot;Minimal Elements for the Prime Numbers&quot; by C. Bright, R. Devillers, and J. Shallit&lt;/p&gt;&#xA;" OwnerUserId="14207" LastEditorUserId="-1" LastEditDate="2017-04-13T12:48:30.830" LastActivityDate="2015-10-14T01:43:26.787" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32703" PostTypeId="1" CreationDate="2015-10-04T16:34:08.603" Score="3" ViewCount="76" Body="&lt;p&gt;What is the minimal space requirement for &#xA;triangular range counting queries in plane &#xA;if one wants to process each query in poly-logarithmic time?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In [Goswami et al, 2004] &#xA;they preprocess the points to create a data structure in $O(n^2)$ time and space&#xA;achieving $O(\log n)$ query time for triangular range counting.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is it the best known result till date?&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;References:&#xA;Partha P. Goswamia, Sandip Dasb, Subhas C. Nandy,&lt;br&gt;&#xA;&quot;&lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S092577210400029X&quot; rel=&quot;nofollow&quot;&gt;Triangular range counting query in 2D and its application in finding k nearest neighbors of a line segment&lt;/a&gt;&quot;, 2004&lt;/p&gt;&#xA;" OwnerUserId="22039" LastEditorUserId="186" LastEditDate="2015-10-04T20:49:37.637" LastActivityDate="2015-10-04T20:49:37.637" Title="Triangular range counting query in poly-logarithmic time" Tags="&lt;ds.data-structures&gt;&lt;computational-geometry&gt;&lt;range-searching&gt;" AnswerCount="0" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="32706" PostTypeId="1" CreationDate="2015-10-04T22:08:17.273" Score="3" ViewCount="262" Body="&lt;p&gt;The Turing degree $\mathbf{0}'$ is defined as &#xA;all languages Turing-equivalent to the halting problem.&#xA;In fact any recursively enumerable language is &#xA;polynomial-time reducible to the halting problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is, are all languages with Turing degree $\mathbf{0}'$ Turing-reducible to each other in polynomial time?&lt;br&gt;&#xA;If not, can the fastest reduction between two $\mathbf{0}'$ languages get arbitrarily slow, and&#xA;are there known subsets of $\mathbf{0}'$ that are polynomial-time reducible to each other?&lt;/p&gt;&#xA;" OwnerUserId="7468" LastEditorUserId="186" LastEditDate="2015-10-05T04:20:45.897" LastActivityDate="2015-10-05T04:20:45.897" Title="Polynomial-time reductions between undecidable languages" Tags="&lt;computability&gt;&lt;reductions&gt;&lt;polynomial-time&gt;&lt;halting-problem&gt;&lt;undecidability&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32707" PostTypeId="2" ParentId="32706" CreationDate="2015-10-04T22:30:14.317" Score="6" Body="&lt;p&gt;Gödel's incompleteness theorem can be thought of as a reduction from the Halting problem to the language $\langle \varphi \mid \varphi \text{ is a true sentence in number theory}\rangle$, and a careful analysis of the running time would show that it is indeed a polynomial time reduction.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Not every such reduction is polynomial time, however. You can observe that a reduction from the Halting problem $\langle i \mid TM_i \text{ halts on input } i\rangle$ to the unary language $\langle 1^i \mid TM_i \text{ halts on input } i\rangle$ has exponential blowup in instance size.&lt;/p&gt;&#xA;" OwnerUserId="8985" LastActivityDate="2015-10-04T22:30:14.317" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32708" PostTypeId="1" CreationDate="2015-10-04T22:35:28.120" Score="-1" ViewCount="141" Body="&lt;p&gt;Context-free grammar can generate the string $a^{2^n}$ for $n \geq 0$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The production rule P is $S \rightarrow SS | a$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The derivations is, for example:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) $S \Rightarrow a$ (this is when n = 0)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) $S \Rightarrow SS \Rightarrow aa$ (this is when n = 1)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;3) $S \Rightarrow SS \Rightarrow SS SS \Rightarrow aaaa$ (this is when n = 2)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;4) $S \Rightarrow SS \Rightarrow SS SS \Rightarrow SS SS SS SS \Rightarrow aaaa aaaa$ (this is when n = 3).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Am I right?&lt;/p&gt;&#xA;" OwnerUserId="35823" LastActivityDate="2015-10-04T23:18:22.943" Title="Can context-free grammar generates $a^{2^n}$" Tags="&lt;context-free&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="1" ClosedDate="2015-10-05T02:52:02.877" ContentLicense="CC BY-SA 3.0" />
  <row Id="32710" PostTypeId="2" ParentId="32708" CreationDate="2015-10-04T23:18:22.943" Score="3" Body="&lt;p&gt;Your grammar actually generates the language $a^+$. For instance, since $S \to SS$, one gets $SS \to SSS$ and hence $S \to SS \to SSS \to aaa$. &lt;/p&gt;&#xA;" OwnerUserId="17203" LastActivityDate="2015-10-04T23:18:22.943" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32711" PostTypeId="2" ParentId="27215" CreationDate="2015-10-04T23:51:55.763" Score="1" Body="&lt;p&gt;Consider the following variant of the &lt;em&gt;MAXCLIQUE&lt;/em&gt; problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Instance:&lt;/strong&gt; A circuit $C$ with $2n$ input bits, and of polynomially bounded size in $n$. This circuit implicitly determines a graph on $2^n$ vertices, such that each vertex is identified with an $n$-bit string, and two vertices are connected with an edge if the $2n$-bit string that is obtained by concatenating the two vertex IDs, is accepted by $C$. Let $G(C)$ denote this graph. Note that it has exponentially many vertices in $n$, but is still determined by the polynomial size description of $C$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question:&lt;/strong&gt; Does $G(C)$ contain a clique of size $n^k$, where $k$ is a fixed  constant?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Notes:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;The problem is NP-complete. The containment in $NP$ is obvious. Completeness can be proved by observing that if the circuit accepts only vertex pairs in which each ID is at most $N=2n^k$, then $G(C)$ can be  an arbitrary $N$-vertex graph plus many isolated vertices. (Any such $N$-vertex graph can be encoded in $C$, since $C$ is allowed to have polynomial size in $n$, and so also in $N$.) Then the question becomes: is there an $N/2$-sized clique in an $N$-vertex graph? This is known to be NP-complete, for general $N$. The issue that $N$ is not arbitrary, it is restricted to $N=2n^k$, can be eliminated by appropriate padding. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The natural witness for the original problem is the $n^k$-sized clique, which can be described by an $O(n^{k+1})$ long string (an $n$-bit string for each of the $n^k$ vertices).  Note that $k$ can  be a very large constant, so the witness can be much longer than linear. (Even if the input size is the description of $C$, rather than $n$, this witness can be still much longer, because $k$ can be chosen independently of $C$.) &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The problem can be viewed as natural, since it is a variant of &lt;em&gt;MAXCLIQUE&lt;/em&gt;. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;When Allender wrote &quot;no natural NP-complete problem is known to lie outside of $NTIME(n)$,&quot; (see &lt;a href=&quot;http://iuuk.mff.cuni.cz/~koucky/papers/gap.pdf&quot; rel=&quot;nofollow&quot;&gt;Amplifying Lower Bounds by Means of Self-Reducibility&lt;/a&gt;, Section 7), he may have had a narrower concept of naturalness in mind. For example, natural could be narrowed to something that people &lt;em&gt;really&lt;/em&gt; want to solve on the grounds of independent, practical motivations. It is not enough if the problem is not constructed via diagonalization. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="12710" LastEditorUserId="12710" LastEditDate="2015-10-05T01:39:28.557" LastActivityDate="2015-10-05T01:39:28.557" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="32713" PostTypeId="5" CreationDate="2015-10-05T04:27:19.077" Score="0" Body="&lt;p&gt;Please read &lt;a href=&quot;http://meta.cstheory.stackexchange.com/questions/274/is-it-ok-to-ask-about-the-correctness-of-preprints-on-crank-friendly-topics/281#281&quot;&gt;our policy regarding famous open problems and preprints&lt;/a&gt; (results not published in a reputable peer-reviewed publication).&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2015-10-05T14:22:41.723" LastActivityDate="2015-10-05T14:22:41.723" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32714" PostTypeId="4" CreationDate="2015-10-05T04:27:19.077" Score="0" Body="Questions about or related to P vs. NP" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2015-10-05T14:22:50.273" LastActivityDate="2015-10-05T14:22:50.273" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32717" PostTypeId="2" ParentId="21849" CreationDate="2015-10-05T11:58:30.093" Score="6" Body="&lt;p&gt;&lt;strong&gt;Short answer.&lt;/strong&gt; It turns out that suspending the requirement of unitary transformations, and requiring each operation to be invertible, gives rise to exact gap-definable classes. The specific classes in question are $\mathsf{LWPP}$ and a 'new' subclass $\mathsf{LPWPP}$, both of which  sit between $\mathsf{SPP}$ and $\mathsf{C_=P}$. These classes have fairly technical definitions, which are briefly described below; though these definitions can now be substituted, in principle, with ones in terms of non-unitary &quot;quantum-like&quot; algorithms.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The counting class $\mathsf{SPP}$ contains GRAPH ISOMORPHISM. It also contains the entire class $\mathsf{UP}$, so we would not expect exact &lt;em&gt;unitary&lt;/em&gt; quantum algorithms to be as powerful as the non-unitary classes (as we could otherwise show $\mathsf{NP \subseteq BQP}$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Longer answer.&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;In my question, I proposed redefining $\mathsf{EQP}$ to allow for problems which are solvable by uniform circuit families which use gates which are efficiently computable, but not necessarily drawn from a finite gate-set. I'm no longer so certain that it is a good idea to &lt;em&gt;redefine&lt;/em&gt; $\mathsf{EQP}$ in this way, though I do believe such circuit families are worthwhile to study. We may call this class something like $\mathsf{UnitaryP_{\mathbb C}}$ instead.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is possible to show that $\mathsf{UnitaryP_{\mathbb C} \subseteq&#xA; LWPP}$, which until recently was the best known bound for&#xA;$\mathsf{EQP}$. The class $\mathsf{LWPP}$ more-or-less corresponds to problems for which there is a randomised algorithm, where NO instances produce an outcome of 1 with probability exactly 0.5, and YES instances produce an outcome of 1 with some probability which can be efficiently and exactly computed in rational form, which is greater than (but possibly exponentially close to) 0.5. The technical definition of $\mathsf{LWPP}$ is presented in terms of nondeterministic Turing machines, but is no more illuminating.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we define $\mathsf{GLP}_{\mathbb C}$ to be the invertible-gate equivalent of $\mathsf{UnitaryP_{\mathbb C}}$, so that it is the set of problems which are exactly solvable by &lt;em&gt;invertible&lt;/em&gt; circuit families with efficiently computable gate coefficients, then $\mathsf{GLP_{\mathbb C} = LWPP}$. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;If we restrict to finite gate-sets, it is possible to show that unitary circuit families may be simulated in a subset of $\mathsf{LWPP}$, which we might call $\mathsf{LPWPP}$. (Using the description of $\mathsf{LWPP}$ above, this corresponds to randomised algorithms where the probability of obtaining an output of 1 for YES instances is exactly $m^{t(x)} / 2^{p(|x|)}$, for some polynomial $p$, some integer $m$, and some efficiently computable polynomial $t$.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we define $\mathsf{EQP_{\mathrm{GL}}}$ to be the invertible-gate&#xA;equivalent of $\mathsf{EQP}$ as it is normally defined, we may show&#xA;that $\mathsf{EQP_{\mathrm{GL}} \subseteq LPWPP}$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;A correction regarding DISCRETE LOG.&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The results above rely on standard techniques to represent algebraic coefficients, in a way which is independent of the input (but which may depend on input size). In the description of the original question, I claimed that [ &lt;a href=&quot;http://arxiv.org/abs/quant-ph/0301093&quot; rel=&quot;nofollow&quot;&gt;Mosca+Zalka 2003&lt;/a&gt; ] show that DISCRETE LOG is exactly solvable by a gate-set with efficiently computable coefficients. The truth appears to be more complicated. If one cares about exact solvability, then I consider exact representation of the coefficients to be important: but Mosca and Zalka do not provide a way of doing this in an input-dependent way. So it is not obvious that DISCRETE LOG is in fact in $\mathsf{EQP}$ or in the new class $\mathsf{UnitaryP_{\mathbb C}}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Reference.&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;de Beaudrap, &lt;em&gt;On exact counting and quasi-quantum complexity&lt;/em&gt;, [&lt;a href=&quot;http://www.arXiv.org/abs/1509.07789&quot; rel=&quot;nofollow&quot;&gt;arXiv:1509.07789&lt;/a&gt;].&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="248" LastEditorUserId="248" LastEditDate="2015-10-05T15:27:45.420" LastActivityDate="2015-10-05T15:27:45.420" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="32719" PostTypeId="1" AcceptedAnswerId="32733" CreationDate="2015-10-05T15:03:32.160" Score="2" ViewCount="170" Body="&lt;p&gt;It is widely known that interaction combinators can implement any interaction net. My question is, can they do so efficiently? I.e., is it possible to prove that there is no interaction net system that can't be emulated on interaction combinators with the same number of reductions up to a finite constant?&lt;/p&gt;&#xA;" OwnerUserId="17388" LastEditorUserId="17388" LastEditDate="2015-10-06T17:17:17.650" LastActivityDate="2015-10-06T19:29:59.763" Title="Can interaction combinators implement any interaction net efficiently?" Tags="&lt;cc.complexity-theory&gt;&lt;computability&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32720" PostTypeId="1" CreationDate="2015-10-05T20:37:44.133" Score="45" ViewCount="5453" Body="&lt;p&gt;I am looking for conjectures about algorithms and complexity that were viewed credible by many at some point in time, but later they were either disproved, or at least disbelieved, due to mounting counter-evidence. Here are two examples:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;em&gt;Random oracle hypothesis:&lt;/em&gt; relationships between complexity classes that hold for almost all relativized worlds, also hold in the unrelativized case. This was disproved by the result $IP=PSPACE$, and by showing that $IP^X\neq PSPACE^X$ holds for almost all random oracles $X$, see &lt;a href=&quot;http://www.csee.umbc.edu/~chang/papers/roh/&quot;&gt;The Random Oracle Hypothesis is False&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;em&gt;Bounded error randomness properly extends the power of polynomial time&lt;/em&gt; (i.e., $P\neq BPP$). This was believed for a while, but later, due to sophisticated derandomization results and their connections to circuit complexity,  the opposite conjecture ($P=BPP$) has become prevalent (although still open). &lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Which are some other conjectures that failed the test of time?&lt;/p&gt;&#xA;" OwnerUserId="12710" LastEditorUserId="12710" LastEditDate="2015-10-07T16:04:45.287" LastActivityDate="2015-10-07T16:04:45.287" Title="Obituaries of dead conjectures" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;" AnswerCount="8" CommentCount="13" FavoriteCount="13" CommunityOwnedDate="2015-10-06T15:41:47.407" ContentLicense="CC BY-SA 3.0" />
  <row Id="32721" PostTypeId="2" ParentId="32720" CreationDate="2015-10-05T20:50:56.303" Score="23" Body="&lt;p&gt;$\mathsf{NL} \neq \mathsf{coNL}$. Prior to the result that these two were equal, I think it was widely believed that they were distinct, by analogy with the belief that $\mathsf{NP} \neq \mathsf{coNP}$ (i.e. the general principle that &quot;nondeterministism and co-nondeterminism are different&quot;; this turned out to be false under space complexity bounds that were at least logarithmic).&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2015-10-05T20:50:56.303" CommentCount="4" CommunityOwnedDate="2015-10-06T15:41:47.407" ContentLicense="CC BY-SA 3.0" />
  <row Id="32722" PostTypeId="2" ParentId="32720" CreationDate="2015-10-05T23:17:23.047" Score="20" Body="&lt;p&gt;Prior to $\mathsf{IP} = \mathsf{PSPACE}$, it was thought possible that even $\mathsf{coNP}$ wasn't contained in $\mathsf{IP}$: in &lt;a href=&quot;http://dx.doi.org/10.1016/0020-0190(88)90199-8&quot;&gt;Fortnow-Sipser 1988&lt;/a&gt; they conjectured this to be the case and gave an oracle relative to which it was true.&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2015-10-05T23:17:23.047" CommentCount="0" CommunityOwnedDate="2015-10-06T15:41:47.407" ContentLicense="CC BY-SA 3.0" />
  <row Id="32723" PostTypeId="2" ParentId="32720" CreationDate="2015-10-06T01:58:23.523" Score="19" Body="&lt;p&gt;The $\mathsf{3SUM}$-conjecture: That any deterministic algorithm for $\mathsf{3SUM}$ requires $\Omega(n^2)$ time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This was disproven in 2014, by Allan Grønlund and Seth Pettie, who gave a deterministic algorithm that runs in $O(n^2/(\log n/\log \log n)^{2/3})$ time [1].&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] Threesomes, Degenerates, and Love Triangles. Allan Grønlund and Seth Pettie. In Foundations of Computer Science (FOCS) 2014, pp. 621-630. &lt;a href=&quot;http://arxiv.org/abs/1404.0799&quot;&gt;arXiv:1404.0799&lt;/a&gt; [cs.DS]&lt;/p&gt;&#xA;" OwnerUserId="21263" LastActivityDate="2015-10-06T01:58:23.523" CommentCount="1" CommunityOwnedDate="2015-10-06T15:41:47.407" ContentLicense="CC BY-SA 3.0" />
  <row Id="32724" PostTypeId="2" ParentId="32720" CreationDate="2015-10-06T04:32:02.643" Score="17" Body="&lt;p&gt;The solution of Hilbert's tenth problem by Davis, Matiyasevich, Putnam, and Robinson, showing that the recursively enumerable sets are precisely the Diophantine sets. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;(I am reproducing here a &lt;a href=&quot;https://andrescaicedo.wordpress.com/2013/08/11/hindsight/&quot;&gt;blog post&lt;/a&gt;, &lt;em&gt;Hindsight&lt;/em&gt;, from a couple of years ago, as suggested in the comments.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;From &lt;a href=&quot;https://en.wikipedia.org/wiki/Georg_Kreisel&quot;&gt;Georg Kreisel&lt;/a&gt;'s review of &lt;em&gt;The decision problem for exponential diophantine equations&lt;/em&gt;, by Martin Davis, Hilary Putnam, and Julia Robinson, Ann. of Math. (2), &lt;strong&gt;74 (3)&lt;/strong&gt;, (1961), 425–436. &lt;a href=&quot;http://www.ams.org/mathscinet-getitem?mr=133227&quot;&gt;MR0133227 (24 #A3061)&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;This paper establishes that every recursively enumerable (r.e.) set can be existentially defined in terms of exponentiation. […] These results are superficially related to Hilbert’s tenth problem on (ordinary, i.e., non-exponential) Diophantine equations. The proof of the authors’ results, though very elegant, does not use recondite facts in the theory of numbers nor in the theory of r.e. sets, and so it is likely that the present result is not closely connected with Hilbert’s tenth problem. Also it is not altogether plausible that all (ordinary) Diophantine problems are uniformly reducible to those in a fixed number of variables of fixed degree, which would be the case if all r.e. sets were Diophantine.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Of course, my favorite quote in relation to the &lt;a href=&quot;https://en.wikipedia.org/wiki/Hilbert%27s_tenth_problem&quot;&gt;tenth problem&lt;/a&gt; is from the Foreword by Martin Davis to Yuri Matiyasevich’s &lt;a href=&quot;http://logic.pdmi.ras.ru/~yumat/H10Pbook/&quot;&gt;&lt;strong&gt;Hilbert’s tenth problem&lt;/strong&gt;&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;During the 1960s I often had occasion to lecture on Hilbert’s Tenth Problem. At that time it was known that the unsolvability would follow from the existence of a single Diophantine equation that satisfied a condition that had been formulated by Julia Robinson. However, it seemed extraordinarily difficult to produce such an equation, and indeed, the prevailing opinion was that one was unlikely to exist. In my lectures, I would emphasize the important consequences that would follow from either a proof or a disproof of the existence of such an equation. Inevitably during the question period I would be asked for my own opinion as to how matters would turn out, and I had my reply ready: “I think that Julia Robinson’s hypothesis is true, and it will be proved by a clever young Russian.”&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="16501" LastActivityDate="2015-10-06T04:32:02.643" CommentCount="0" CommunityOwnedDate="2015-10-06T15:41:47.407" ContentLicense="CC BY-SA 3.0" />
  <row Id="32725" PostTypeId="2" ParentId="32720" CreationDate="2015-10-06T07:55:46.513" Score="18" Body="&lt;p&gt;&lt;b&gt;Constant-width branching programs require more than polynomial length to count&lt;/b&gt;:  After Furst-Saxe-Sipser and Ajtai in 1981 showed that AC&lt;sup&gt;0&lt;/sup&gt; circuits can't count, a natural next step seemed to be to show that constant-width branching programs of polynomial length couldn't count, which was widely conjectured to hold.  David Barrington in 1986 showed that they not only can they count but that &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/0022000089900378&quot;&gt;they are equivalent to NC&lt;sup&gt;1&lt;/sup&gt;&lt;/a&gt;.   &lt;/p&gt;&#xA;" OwnerUserId="35843" LastActivityDate="2015-10-06T07:55:46.513" CommentCount="0" CommunityOwnedDate="2015-10-06T15:41:47.407" ContentLicense="CC BY-SA 3.0" />
  <row Id="32726" PostTypeId="1" CreationDate="2015-10-06T08:24:06.677" Score="11" ViewCount="386" Body="&lt;p&gt;Given a string &lt;span class=&quot;math-container&quot;&gt;$w=\sigma_1\sigma_2\ldots\sigma_n$&lt;/span&gt;, a &lt;em&gt;palindrome cover&lt;/em&gt; is a sequence &lt;span class=&quot;math-container&quot;&gt;$p_1p_2\cdots p_m$&lt;/span&gt; of words &lt;span class=&quot;math-container&quot;&gt;$p_i$&lt;/span&gt; such that &lt;span class=&quot;math-container&quot;&gt;$p_1p_2\cdots p_m = w$&lt;/span&gt; and such that each &lt;span class=&quot;math-container&quot;&gt;$p_i$&lt;/span&gt; is a palindrome.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;How hard is it to find the size minimal palindrome cover? (this seems doable by dynamic programming, but I'm not sure it works).&lt;/p&gt;&#xA;&lt;p&gt;Does the problem become harder if given as input is also a bound &lt;span class=&quot;math-container&quot;&gt;$b$&lt;/span&gt; on each palindrome length?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;Consider the simple greedy algorithm, which always takes the longest palindrome which starts at the current location. For example, if &lt;span class=&quot;math-container&quot;&gt;$w=1213312$&lt;/span&gt;, then it'll output &lt;span class=&quot;math-container&quot;&gt;$(121)\cdot(33)\cdot(1)\cdot(2)$&lt;/span&gt;, while the optimal cover is &lt;span class=&quot;math-container&quot;&gt;$(1)\cdot(213312)$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Does the greedy algorithm provide 2-approximation for the problem?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="35844" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2015-11-03T06:01:36.967" Title="Covering string by palindromes" Tags="&lt;ds.algorithms&gt;&lt;dynamic-programming&gt;&lt;string-matching&gt;&lt;covering-problems&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32727" PostTypeId="2" ParentId="32720" CreationDate="2015-10-06T08:42:41.380" Score="9" Body="&lt;p&gt;The &lt;a href=&quot;https://en.wikipedia.org/wiki/Hilbert&amp;#39;s_program&quot; rel=&quot;nofollow noreferrer&quot;&gt;Hilbert's program&lt;/a&gt; and his &quot;conjecture&quot; about decidability of formal theories.  It was formulated in the early 1920s and was pursued by him&#xA;and his collaborators at the University of Gottingen and elsewhere in the 1920s and 1930s.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;&quot;With this new grounding of mathematics – which one can appropriately call a proof theory – I believe to dispose of the foundational questions in mathematics as such once and for all by&#xA;turning every mathematical statement into a concretely exhibitable and rigorously derivable&#xA;formula and thereby transferring the whole complex of questions into the domain of pure mathematics.&quot;&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is well known that Hilbert's proposals &quot;crashed&quot; (rather quickly [1931]) into &lt;a href=&quot;https://en.wikipedia.org/wiki/G%C3%B6del&amp;#39;s_incompleteness_theorems&quot; rel=&quot;nofollow noreferrer&quot;&gt;Godel's incompleteness theorem&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For a nice overview of the Hilbert's program and later developments see: &lt;a href=&quot;http://people.ucalgary.ca/~rzach/static/hptn.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Richard Zach; Hilbert's Program then and now; Handbook of the Philosophy of Science. Volume 5: Philosophy of Logic; 2006&lt;/a&gt; &lt;/p&gt;&#xA;&#xA;&lt;p&gt;See also &lt;a href=&quot;https://cstheory.stackexchange.com/a/32724/3247&quot;&gt;Andrés Caicedo's answer&lt;/a&gt; for another aspect of the story: the Hilbert's tenth problem that was solved only in 1970. &lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2015-10-06T08:51:51.743" CommentCount="0" CommunityOwnedDate="2015-10-06T15:41:47.407" ContentLicense="CC BY-SA 3.0" />
  <row Id="32728" PostTypeId="2" ParentId="632" CreationDate="2015-10-06T08:46:20.003" Score="0" Body="&lt;p&gt;In the context of Turing Machines (&lt;strong&gt;TMs&lt;/strong&gt;) and automata theory, a &lt;em&gt;non-deterministic machine&lt;/em&gt; is one in which &lt;em&gt;any instantiation of the machine&lt;/em&gt; which accepts is fine. In this sense, it is like &lt;em&gt;running multiple deterministic machines in parallel and take the output of any instances that accept the input&lt;/em&gt;. In fact &lt;a href=&quot;https://en.wikipedia.org/wiki/Powerset_construction&quot; rel=&quot;nofollow&quot;&gt;there is a (deterministic) algorithm&lt;/a&gt; to transform any &lt;em&gt;non-deterministic automaton&lt;/em&gt; (with $n$ states) into an &lt;em&gt;equivalent deterministic one&lt;/em&gt; (with $2^n$ states, exponential) by considering equivalence classes of states, no matter if the algorithm implemented in the machine involves randomisation or probabilities (see below).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But if the algorithm implemented in the machine, involves randomisation or probabilities (intrinsic in the algorithm), then it is a randomised (or probabilistic) machine. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In general, it is always possible to remove non-determinism from a machine and construct a deterministic equivalent (see algorithm above), but the same cannot be done (in general) to remove randomisation (in the context of the above) because it is &lt;strong&gt;intrinsic to the algorithm implemented&lt;/strong&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that in the light of the above, &lt;strong&gt;both a deterministic machine and a non-deterministic machine can be probabilistic&lt;/strong&gt; if the algorithm (involved) uses randomisation (or probabilities) in this way.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To sum up, non-determinism in automata (in this context) refers to classes of similar automata, while randomisation or probabilistic machines refer to the (intrinsic application of randomisation in the) actual algorithms implemented by these automata.&lt;/p&gt;&#xA;" OwnerUserId="21598" LastEditorUserId="21598" LastEditDate="2015-10-06T09:00:14.780" LastActivityDate="2015-10-06T09:00:14.780" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32729" PostTypeId="2" ParentId="32726" CreationDate="2015-10-06T12:10:40.120" Score="9" Body="&lt;p&gt;This problem is called &lt;em&gt;minimum palindromic factorization&lt;/em&gt; and this problem can be solved in $O(n \log n)$ time, see for example:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://dx.doi.org/10.1016/j.jda.2014.08.001&quot; rel=&quot;nofollow&quot;&gt;A subquadratic algorithm for minimum palindrome factorization&lt;/a&gt; by Fici &lt;em&gt;et al&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://arxiv.org/abs/1506.04862&quot; rel=&quot;nofollow&quot;&gt;EERTREE: An Efficient Data Structure for Processing Palindromes in Strings&lt;/a&gt; by Rubinchik and Shur.&lt;/p&gt;&#xA;" OwnerUserId="28542" LastEditorUserId="3984" LastEditDate="2015-11-03T06:01:36.967" LastActivityDate="2015-11-03T06:01:36.967" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32731" PostTypeId="1" CreationDate="2015-10-06T13:29:42.327" Score="-1" ViewCount="234" Body="&lt;p&gt;There is given sequence $a_1,...a_n$ such that there are $O(n^{\frac{3}{2}}) $ inversions in this sequence. I am thinking about sorting algorithm for that.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I know lower bound for number of comparisons - it is $O(n)$ - on the contrary, there would be a minimum finding algorithm faster than $O(n)$.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Nevertheless, I don't have idea how sort it in linear time ? What doy you think ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Inversion is a pair $(i, j)$ such that $i &amp;lt; j$ and  $a_i &amp;gt; a_j$&lt;/p&gt;&#xA;" OwnerUserId="35821" LastEditorUserId="35821" LastEditDate="2015-10-06T14:17:28.903" LastActivityDate="2015-10-08T13:35:05.780" Title="Sorting sequence with $O(n^{\frac{3}{2}})$ inversions" Tags="&lt;sorting&gt;" AnswerCount="2" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="32733" PostTypeId="2" ParentId="32719" CreationDate="2015-10-06T14:15:28.560" Score="3" Body="&lt;p&gt;The answer is yes.  It is an immediate consequence of the definition of &lt;em&gt;translation&lt;/em&gt; used by Lafont in &lt;a href=&quot;http://iml.univ-mrs.fr/~lafont/pub/combinators.ps&quot; rel=&quot;nofollow&quot;&gt;his paper&lt;/a&gt; introducing the interaction combinators.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A &lt;em&gt;Lafont translation&lt;/em&gt; $\Phi$ from an interaction net system to another is an arity-preserving map from the symbols (i.e. the atomic agents) of the first system to &lt;em&gt;principal nets&lt;/em&gt; of the other.  Basically, a principal net of arity $n$ is a &quot;tree&quot; of agents with some leaves connected to each other and with exactly $n$ free leaves.  In particular, it has exactly one free principal port and $n$ free auxiliary ports, so it may be seen as a &quot;macro-agent&quot;.  See Lafont's paper for the exact definition.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A translation $\Phi$ must also satisfy the following &lt;em&gt;simulation property&lt;/em&gt;: for all symbols (i.e. agents) $\alpha,\beta$ of the source system,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\alpha\bowtie\beta\to\nu\qquad\text{implies}\qquad\Phi(\alpha)\bowtie\Phi(\beta)\to^\ast\Phi(\nu)$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where the notation $\alpha\bowtie\beta$ stands for an active pair, and $\Phi(\alpha)\bowtie\Phi(\beta)=\Phi(\alpha\bowtie\beta)$ for its translation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, let $M$ be the longest simulating reduction $\Phi(\alpha)\bowtie\Phi(\beta)\to^\ast\Phi(\nu)$ (such $M$ exists because the number of possible active pairs is finite).  It is clear that, if $\mu\to^\ast\mu'$ in $n$ steps the source system, then $\Phi(\mu)\to^\ast\Phi(\mu')$ in at most $M\cdot n$ steps in the target system.  This is stated as Proposition 4 in Lafont's paper.  So the simulation is efficient according to the notion of efficiency given in the question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The interaction combinators are universal in the sense that every system of interaction nets may be translated in the interaction combinators, in the above sense.  Hence the claim.&lt;/p&gt;&#xA;" OwnerUserId="20716" LastEditorUserId="20716" LastEditDate="2015-10-06T19:29:59.763" LastActivityDate="2015-10-06T19:29:59.763" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32734" PostTypeId="2" ParentId="32720" CreationDate="2015-10-06T15:53:54.020" Score="1" Body="&lt;p&gt;conjectures range on a spectrum from formal to informal. for example Hilberts famous conjecture about the decidability of mathematics was formalized into a few problems eg Hilberts 10th problem but it was also a more grandiose informal conjecture spanning the whole field. it can also be seen as a proposed research program.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;one easy recipe to find such &quot;obituary of dead conjectures&quot; would be to consider the &quot;meta-&quot; statement &quot;[x] conjecture could be proved in my lifetime.&quot; mathematics literature is full of such statements/ expectations that turned out to be &quot;false&quot; in the sense of utterly defying expectations about difficulty and accessibility of a proof. a classic one is the Riemann conjecture, open for over ~1½ century. applying this same model to complexity theory is not as easy because complexity theory is a much younger scientific field. however, heres a key example.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;the early discovery of the P vs NP problem (now open 4½ decades) had a sort of innocence in that the original investigators did not and could not have imagined how hard or crosscutting the problem would turn out to be. to make this more specific, consider the field of circuit complexity invented in the early 1980s eg by Sipser. this was a research program somewhat like Hilberts mounted in part to attack P vs NP. some of the historical outcome is summarized by Arvind in this abstract/ introduction &lt;a href=&quot;http://albcom.lsi.upc.edu/ojs/index.php/beatcs/article/viewFile/118/132&quot; rel=&quot;nofollow&quot;&gt;The computational Complexity Column, BEATCS 106&lt;/a&gt;:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;The 1980’s was a golden period for Boolean circuit complexity lower bounds.&#xA;  There were major breakthroughs. For example, Razborov’s exponential size&#xA;  lower bound for monotone Boolean circuits computing the Clique function and&#xA;  the Razborov-Smolensky superpolynomial size lower bounds for constant depth&#xA;  circuits with MOD&lt;sub&gt;p&lt;/sub&gt; gates for prime p. These results made researchers&#xA;  optimistic of progress on big lower bound questions and complexity class separations.&#xA;  However, in the last two decades, this optimism gradually turned into&#xA;  despair. We still do not know how to prove superpolynomial lower bounds for&#xA;  constant-depth circuits with MOD&lt;sub&gt;6&lt;/sub&gt; gates for a function computable in exponential&#xA;  time.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;there were two key papers that shot down hopes in the field. Razborov had great/ celebrated results on the Clique function but then wrote two opposing papers. one paper showed that Matching, a P-time problem, requires exponential monotone circuits and therefore in some sense the monotone circuit approach to lower bounds was thwarted because of a lack of correspondence in complexity with nonmonotone (&quot;complete&quot;) circuits (still not fully understood).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;this was expanded on in his famous paper &lt;a href=&quot;https://en.wikipedia.org/wiki/Natural_proof&quot; rel=&quot;nofollow&quot;&gt;Natural Proofs&lt;/a&gt; coauthored with Rudich in which it is shown that all prior circuit lower bounds proofs are subject to a particular pattern which has provable weakness in the sense of conflicting with conjectured lower bounds on hard random number generators from cryptography.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;so, to some degree circuits have &quot;fallen from grace&quot;. it is still a massive research area but the conventional wisdom, supported by technical results, is that some kind of special as-yet-unknown proof pattern/ structure would be required to get strong results in the area, if actually even possible. in fact similarly one might suggest that even &quot;strong lower bounds in complexity theory&quot; overall are now seen to be extremely difficult, and this was not widely expected/ predicted in the younger days of the field. but on the other hand this then ranks them up there in difficulty/ significance/ importance with the big (open) problems of mathematics.&lt;/p&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2015-10-06T15:53:54.020" CommentCount="7" CommunityOwnedDate="2015-10-06T15:53:54.020" ContentLicense="CC BY-SA 3.0" />
  <row Id="32736" PostTypeId="2" ParentId="32731" CreationDate="2015-10-06T21:14:50.283" Score="13" Body="&lt;p&gt;You can't sort it in linear time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose you have $n$ items, and you divide them into $\sqrt{n}$ consecutive blocks of $\sqrt{n}$ items each. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;You need to take $\sqrt{n} \log \sqrt{n}$ comparisons to sort each one. And there are $\sqrt{n}$ of them, giving $\theta(n \log n)$ time total. And it's easy to see that there can't be more than $n^{3/2}$ inversions in the sequence, since there can't be more than $n$ inversions in each subsequence.  &lt;/p&gt;&#xA;" OwnerUserId="1677" LastActivityDate="2015-10-06T21:14:50.283" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="32737" PostTypeId="2" ParentId="32731" CreationDate="2015-10-07T00:57:56.563" Score="8" Body="&lt;p&gt;This is a topic of &quot;adaptive sorting.&quot; As a starter, see the wikipedia page &lt;a href=&quot;https://en.wikipedia.org/wiki/Adaptive_sort&quot; rel=&quot;nofollow&quot;&gt;https://en.wikipedia.org/wiki/Adaptive_sort&lt;/a&gt; .&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is known that we can sort a sequence of length $n$ with $k$ inversions with $O(n \log (2+k/n))$ comparisons. When $k=O(n^{3/2})$, this translates to $O(n \log n)$. We also have a lower bound of $\Omega(n \log (2+k/n))$. Thus, we know a linear bound is impossible.&lt;/p&gt;&#xA;" OwnerUserId="2955" LastEditorUserId="6959" LastEditDate="2015-10-08T13:35:05.780" LastActivityDate="2015-10-08T13:35:05.780" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32738" PostTypeId="1" CreationDate="2015-10-07T09:47:40.727" Score="7" ViewCount="388" Body="&lt;p&gt;Inspired by the &lt;a href=&quot;https://cstheory.stackexchange.com/questions/32587/checking-equivalence-of-two-polytopes&quot;&gt;question&lt;/a&gt;, I would like to ask the following question:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Input: A polytope specified by $\Theta=\{\vec{x}\mid A\vec{x}\leq b\}$, and its affine projection &#xA;$f(\Theta)= \{(\vec{c}_1\cdot \vec{x}+ d_1, \cdots, \vec{c}_m\cdot \vec{x}+d_m)\mid A\vec{x}\leq b\}$, a point $\vec{y}\in \mathbf{Q}^m$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Decide whether $\vec{y}$ is a vertex of $f(\Theta)$, what's the complexity? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I strongly believe there is a polynomial time (one might obtain many $\vec{x}$'s which project to the given $\vec{y}$ and check one of these $\vec{x}$'s is a vertex of $\Theta$?). However, I do not have a clear algorithm. &lt;/p&gt;&#xA;" OwnerUserId="21036" LastEditorUserId="4896" LastEditDate="2017-04-16T22:03:28.590" LastActivityDate="2017-04-16T22:03:28.590" Title="Decide whether a point is a vertex of a polytope?" Tags="&lt;linear-programming&gt;&lt;convex-geometry&gt;&lt;polytope&gt;" AnswerCount="1" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="32739" PostTypeId="2" ParentId="32720" CreationDate="2015-10-07T11:16:11.180" Score="8" Body="&lt;p&gt;In a lecture by Madhu Sudan* he claimed there was some belief that there exists $s &amp;gt; 1/2$ such that $\text{PCP}_{1,s}[ \log n, 3] \subseteq \text{P}$, via semidefinite programming, prior to the proof of Håstad's three bit PCP theorem. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Indeed SDP does show $\text{PCP}_{1,1/2}[ \log n, 3] = \text{P}$, giving a tight bound on the complexity of such PCPs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(*I found this lecture of Madhu published in &quot;Computational Complexity Theory edited by Rudich/Wigderson&quot;)&lt;/p&gt;&#xA;" OwnerUserId="8985" LastActivityDate="2015-10-07T11:16:11.180" CommentCount="0" CommunityOwnedDate="2015-10-07T11:16:11.180" ContentLicense="CC BY-SA 3.0" />
  <row Id="32740" PostTypeId="1" AcceptedAnswerId="32742" CreationDate="2015-10-07T12:31:29.800" Score="9" ViewCount="270" Body="&lt;p&gt;Given a regular language $L$ on alphabet $A$, its minimal deterministic automaton can be seen as a directed connected multigraph with constant out-degree $|A|$ and a marked initial state (by forgetting labels of transitions, final states). We keep the initial state because every vertex must be accessible from it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is the converse true ? I.e. given a directed connected multigraph $G$ with constant out-degree and initial state such that every vertex is accessible from it, is there always a language $L$ such that $G$ is the underlying graph of the minimal automaton of $L$ ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For instance if $|A|=1$ it's true, since the graph must be a &quot;lasso&quot; with a prefix of size $i$ and a loop of size $j$, and corresponds to the minimal automaton of $L=\{a^{i+nj}~|~n\in\mathbb N\}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The motivation comes from a related problem encountered in a decidability reduction, where the solution is easier : starting from a non-oriented simple graph, and with more operations allowed like adding sinks. But I was wondering if someone had already looked at this more natural question ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The only things remotely connected I could find in the literature are papers like &lt;a href=&quot;http://arxiv.org/pdf/1412.0799&quot;&gt;Complexity of Road Coloring with Prescribed Reset Words&lt;/a&gt;, where the goal is to color such a multigraph so that the resulting automaton has a synchronizing word. However minimality does not seem to be considered.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Update&lt;/strong&gt;: Follow-up question after the answer of Klaus Draeger: what is the complexity of deciding whether a graph is of this shape ? We can guess the labeling and polynomially verify minimality of the automaton, so it is in NP, but can we say more ?&lt;/p&gt;&#xA;" OwnerUserId="8953" LastEditorUserId="8953" LastEditDate="2015-10-08T09:42:15.963" LastActivityDate="2015-10-09T11:05:39.240" Title="Directed multigraphs as minimal automata" Tags="&lt;graph-theory&gt;&lt;automata-theory&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="32741" PostTypeId="1" AcceptedAnswerId="32751" CreationDate="2015-10-07T13:06:01.067" Score="6" ViewCount="182" Body="&lt;p&gt;Let $p$ and $q$ be two positive integers. I have an oracle that can generate a uniform integer in $\{1, \ldots, p\}$, the integers thus produced being independent across oracle calls. My goal is to generate a random number in $\{1, \ldots, q\}$ with uniform probability, and to do so in a way that minimizes the expected number of oracle calls required.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is: &lt;strong&gt;What is an optimal algorithm to solve this problem?&lt;/strong&gt; I expect this to be a standard problem, so I'd be interested in pointers to the name of this problem in the literature. A special case of this problem ($p = 5$ and $q = 7$) is a standard puzzle or interview question (see &lt;a href=&quot;https://stackoverflow.com/questions/137783/expand-a-random-range-from-1-5-to-1-7/842343&quot;&gt;here&lt;/a&gt;, but I was unable to find pointers to a generalization, and I don't see any optimality proof in those answers. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course, in general, the problem will not be solvable with a bounded number of oracle calls. Take for instance $p = 2$ and $q = 3$, or more generally, cases where some prime divisor of $q$ is not a divisor of $p$, and it is clear that for any bound $N$, the number of possible outcomes when doing $N$ calls, i.e,. $p^N$, cannot be divided evenly in $q$ buckets for each possible value.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One natural approach outlined &lt;a href=&quot;https://stackoverflow.com/a/891304/414272&quot;&gt;here&lt;/a&gt; is to see the oracle calls as generating a uniform real number in [0, 1] from its $p$-ary writing, and terminate whenever the first decimal in the $q$-ary writing of that number is certain: think of it as using the oracle to select a subdivision of size $1/p^k$ in the interval $[0, 1]$, and concluding whenever the interval that you fall in is included in one of the $q$ intervals $[i/q, (i+1)/q]$ for $0 \leq i &amp;lt; q$. However, this approach does not seem optimal: for instance, for $p = q+1$, the approach only concludes in one call if the call returns 1, otherwise a second call is necessary. By contrast, a simpler rejection-based approach that calls the oracle, concludes if it falls in $\{1, \ldots, q\}$, and rejects and tries again if it falls in $q+1$, seems to have better performance.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One can try to generalize the rejection-based approach to the following: letting $k$ be minimal such that $p^k \geq q$, use $k$ oracle calls to get a uniform integer $n$ in $\{1, \ldots, p^k\}$. If $n$ falls in $\{1, \ldots, M\}$, for $M &amp;gt; 0$ the smallest multiple of $q$ which is $\leq p^k$, return $n \text{ mod } q$, otherwise try again. However it would seem that the additional information of &lt;em&gt;which&lt;/em&gt; excess value in $\{M+1, \ldots, p^k\}$ was obtained could be also used in the next attempt. I can imagine how to do this (see &lt;a href=&quot;http://paste.fulltxt.net/1Kze5y&quot; rel=&quot;nofollow noreferrer&quot;&gt;here&lt;/a&gt; for a proposed algorithm, which I think is correct), but I have no idea of how to prove the optimality of such a scheme.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am also curious about the natural variation of this problem where you want to generate not a single random number in $\{1, \ldots, q\}$, but a stream of such numbers. What's the expected number of calls per number, and an optimal method in this case?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[Note that an alternative vision of the problem that does not involve randomness at all is to think of the outcome trees: each node is either a leaf with label in $\{1, \ldots, q\}$ corresponding to a decision, or an internal node with $p$ children corresponding to an oracle call. An algorithm is a (generally infinite) such tree where, for each $1 \leq l \leq q$, the &lt;em&gt;probability mass&lt;/em&gt; of all the leaves labeled $l$ (i.e., the sum of the mass over leaves, where the mass of each leaf is $1/p^h$, where $h$ is its height) is equal to $1/q$; and its expected performance is the sum, over all leaves, of $h/p^h$ (probability mass of this leaf, times the number of oracle calls performed in that case).]&lt;/p&gt;&#xA;" OwnerUserId="4795" LastEditorUserId="-1" LastEditDate="2017-05-23T12:40:09.333" LastActivityDate="2015-10-08T10:45:43.687" Title="Generating uniform integers in a range from a random generator with another range" Tags="&lt;reference-request&gt;&lt;randomness&gt;&lt;pseudorandom-generators&gt;" AnswerCount="1" CommentCount="11" ContentLicense="CC BY-SA 3.0" />
  <row Id="32742" PostTypeId="2" ParentId="32740" CreationDate="2015-10-07T17:22:41.213" Score="8" Body="&lt;p&gt;Any absorbing node $n$ will have to be either accepting or not (so that either everything or nothing is accepted once $n$ is entered). If the graph has more than two absorbing nodes, then some of them will end up equivalent for any choice of labeling and accepting set. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;More generally, for any strongly connected graph $H$ there is only a finite number $n(H)$ of different possible labelings and accepting subsets; if your graph has more than $n(H)$ terminal strongly connected components equivalent to $H$ (attached at the leaves of a tree, say), it cannot correspond to any minimal automaton.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT, regarding the follow-up question: This sounds tricky. One approach suggested by my argument might look like this:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Partition $G$ into SCCs. This is cheap; $O(|V|+|E|)$ using Tarjan's algorithm.&lt;/li&gt;&#xA;&lt;li&gt;Sort the SCCs into isomorphism classes. Unfortunately graph isomorphism is not known to be in $P$.&lt;/li&gt;&#xA;&lt;li&gt;For each terminal isomorphism class, determine the number of permissible corresponding sub-automata, and fail if there are not enough of them. Note that not every combination of accepting subset and edge labeling is permissible: for example, suppose our alphabet is $\{a,b\}$, and a component has two nodes, each with a self-loop and an edge to the other node. Making both nodes accepting and labeling both loops with $a$ (and the other edges with $b$) gives an automaton which is bisimilar to a single absorbing state, violating minimality.&lt;/li&gt;&#xA;&lt;li&gt;Treat the remaining SCCs in the DAG similarly, taking into account the lower ones; I'm a bit fuzzy on the details of this part.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;That is one step whose complexity is famously open, and another one which looks like it may require exponential time (since there may be exponentially many partitions into bisimilarity classes to be excluded when determining permissible automata). Can we do better?&lt;/p&gt;&#xA;" OwnerUserId="5183" LastEditorUserId="5183" LastEditDate="2015-10-09T11:05:39.240" LastActivityDate="2015-10-09T11:05:39.240" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32743" PostTypeId="1" AcceptedAnswerId="32745" CreationDate="2015-10-07T17:40:07.200" Score="0" ViewCount="199" Body="&lt;p&gt;This question is supplementary to the question asked &lt;a href=&quot;https://math.stackexchange.com/questions/1469024/which-graphs-do-have-invertible-adjacency-matrices&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One of the answers give a class of graphs for which the adjacency matrices are invertible which is defined as follows.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Given a permutation $\pi$ of a finite set $V$, form its cycle graph&#xA;  $G$ as follows: the vertex set is $V$ and the edges are pairs $(v,w)$&#xA;  for which $\pi(v)=w$. (This is a simple directed graph.) The adjacency&#xA;  matrix will in fact be the permutation matrix corresponding to $\pi$,&#xA;  which is invertible.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Let's consider a class of graph isomorphism problems where it is promised that both of the input graphs will be from the class defined above.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can the graph isomorphism problems from this class be solved efficiently?&lt;/p&gt;&#xA;" OwnerUserId="13408" LastEditorUserId="-1" LastEditDate="2017-04-13T12:19:19.363" LastActivityDate="2015-10-07T20:10:44.210" Title="Graph isomorphism problem with invertible adjacency matrices" Tags="&lt;graph-theory&gt;&lt;linear-algebra&gt;&lt;matrices&gt;&lt;graph-isomorphism&gt;&lt;permutations&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32745" PostTypeId="2" ParentId="32743" CreationDate="2015-10-07T20:10:44.210" Score="6" Body="&lt;p&gt;Isn't this graph just a collection of cycles? So we only need to compare that all the lengths in the two graphs match (which can be done by sorting the lengths).&lt;/p&gt;&#xA;" OwnerUserId="15711" LastActivityDate="2015-10-07T20:10:44.210" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="32746" PostTypeId="2" ParentId="14216" CreationDate="2015-10-07T20:53:10.143" Score="1" Body="&lt;p&gt;The answers above addressed your concerns, but I wanted to add a complete description of the definition of the class IP and AM and MA here as well.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Interactive Algorithms&lt;/h2&gt;&#xA;&#xA;&lt;h3&gt;Terminology&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;We have a prover $P$, a verifier $V$, and they are talking about some problem with language $L$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;They are given a string $x$ that both can see, then $P$ is trying to convince $V$ that $x \in L$. To do this they send lots of messages back and forth. Then we call $\lt P, V\gt(x)$ the function returning $1$ if $V$ thinks that $x \in L$ ($P$ is telling the truth) and $0$ if $V$ thinks that $x \notin L$ ($P$ is lying).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$V$ is required to return $\lt P, V\gt(x)$ after a polynomial amount of time with respect to the size of $x$, so the entire interaction can only take this long.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $V$ wants to use randomness then it can take probabilistic polynomial time with respect to the size of $x$ instead. It can also generate as many random bits as it wants at any time, and can do this multiple times at different times (so it doesn't need to just request them all at once). The prover does not know what these random bits are, in other words, they are private coins.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's actually really important that $V$ uses randomness, because if they don't, $P$ can just predict how the entire conversation between them will go, and send that as one message instead, which is equivalent to just sending the entire proof across, which is boring.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$P$ has an infinite amount of memory and can do as many things as it wants (even solve the halting problem) in constant time. However, it is restricted in that it can only send a polynomial number of messages, each of which is polynomial in size, before the interaction is done because $V$ is required to run in polynomial time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we create some algorithm (you could also think of it as a protocol) for describing what messages $V$ and $P$ send to each other given input $x$ and describing what they do about those messages and what $\lt P, V\gt(x)$ returns at the end, we call this algorithm an &lt;i&gt;Interactive Algorithm&lt;/i&gt;. (with respect to the language $L$ that they are talking about)&lt;/p&gt;&#xA;&#xA;&lt;h3&gt;Proof Systems&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;We can technically define an interactive algorithm in three parts: The protocol, the prover's algorithm, and the verifier's algorithm (which includes returning $\lt P, V\gt(x)$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We will assume that all protocols are essentially equivalent. We can do this partially because, if $P$ or $V$ sent two messages in a row, it is the equivalent of one message. So the interaction will always be a message from one to the other and then a response back and a response from that and etc. Also, we may assume that $P$ always sends the last message, since if $V$ sent the last message it wouldn't be adding any new information it needed to know before returning $\lt P, V\gt(x)$. So the only thing that's really relevant is who sends the first message, and how the messages are interpreted by the other person. The second one isn't important because we assume they are using a &quot;reasonable encoding&quot; like in other places of TCS. The first one doesn't matter with all of $IP$ because, given $n$ rounds, $n+1$ rounds is equivalent to either the prover or the verifier going first with $n$ rounds.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now we denote an interactive algorithm with prover algorithm $P$ and verifier algorithm $V$ as $(P, V)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This notation may seem different than the above section, but it's just a way of describing a prover's behaviour and verifier's behaviour, which is essentially what we were talking about above anyway, just in an more informal way.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given some $(V, P)$, note that we could create another $P*$ that, from $V$'s perspective, seems to follow the protocol but actually returns the wrong results. Then we could simply call this new algorithm $(V, P^*)$. It would be dumb but it is something we could do.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, we call $(V, P)$ (under some language $L$) a &lt;i&gt;Proof System&lt;/i&gt; if it satisfies the following conditions:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;If $x \in L$, then $\text{Pr}[\lt P, V\gt(x)=1]=1$&lt;/li&gt;&#xA;&lt;li&gt;If $x \notin L$, then for any possible $P^*$ we have $\text{Pr}[\lt P, V\gt(x)=1]\leq\frac{1}{2}$&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;h3&gt;$IP$&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;A language $L$ is in the class $IP$ (interactive proofs) if there exists some proof system in $L$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Our verifier $V$ above was described as using private coins, in other words, coins that the prover $P$ does not know the value of. This is what differentiates $IP$ from $MA$ and $AM$ and etc. - those other complexity classes use public coins where the result of a coin flip is known to $V$ and $P$.&lt;/p&gt;&#xA;&#xA;&lt;h3&gt;$IP[n]$&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;A language $L$ is in the class $IP[n]$ if there exists some proof system in $L$ that uses only $n$ rounds of communication (where each message sent by $V$ counts as one round and each message sent by $P$ also counts as one round, so for example a message sent from $V$ to $P$ and a response message sent from $P$ to $V$ counts as two rounds). Like before, any protocol is valid, as long as it only has $n$ rounds of communication.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that $n$ must be polynomial because we are still restricted to $V$ running in polynomial time relative to the size of the input $x$.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Arthur Merlin&lt;/h2&gt;&#xA;&#xA;&lt;h3&gt;Terminology&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;This has a prover $P$ and verifier $V$ that function in exactly the way as described in the introduction section above, except that when random coins are generated, they are visible to $P$ and $V$. This is called a &lt;i&gt;public coin system&lt;/i&gt;, as opposed to the private coin system above. Note though that, like before, $V$ can generate coins whenever they are needed, and then the important part here is that $P$ doesn't know the value of those coins before $V$ can read what they are as well, so $P$ can't see into the future and determine what the value of the coins will be before they are flipped, but once they are generated $P$ can see them at the same time as $V$ (so they aren't private to $V$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$V$ is required to be deterministic, with the exception that the only piece of randomness it's algorithm has is the value of the coins it generates. In other words, if the coins return the same values twice, $V$ is expected to have the same behavior each time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$P$ will be restricted to only sending one message.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Like before, they are working under some language $L$, and given some string $x$ that they can both see, $P$ is trying to convince $V$ that $x \in L$. We will call $\pi$ the the &quot;proof&quot; sent by the prover, since the prover only sends one message. We will also call $r$ the set of all the values of the random coins generated by $V$ in a single interaction ($P$ and $V$ sending one message and then $V$ returning if it thinks $x\in L$ or not), and remember that $P$ and $V$ can both see these coins once their values are generated. $r$ can have different values every time this interaction between $V$ and $P$ occurs, because they are random coins.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now we will define $V(x, \pi, r)$ as the function similar to $\lt P, V\gt(x)$ above, where $V(x, \pi, r)$ returns $1$ if $V$ believes that $x \in L$ ($V$ thinks $P$ is telling the truth), and $V(x, \pi, r)$ returns $0$ if $V$ believes that $x \notin L$ ($V$ thinks that $P$ is lying). This is dependent on the input $x$, the message $\pi$ sent by $P$, and the random coins $r$ generated by $V$, as expected.&lt;/p&gt;&#xA;&#xA;&lt;h3&gt;AM&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;Consider the case where the verifier $V$ (King Authur) sends only it's random coins to the prover $P$ (Merlin), and may not generate any random coins after that. Then $P$ sends a message (it's &quot;proof&quot; $\pi$) back, and $V$ then examines this message (deterministically) and returns $V(x, \pi, r)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A language $L$ is in the class $AM$ if has a protocol in this manner such that&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;If $x \in L$, then for all possible $r$ there exists a $r$ such that $V(x, \pi, r)=1$&lt;/li&gt;&#xA;&lt;li&gt;If $x \notin L$, then these exists $\pi$ such that for all possible $r$, $\text{Pr}[V(x, \pi, r)=1]\leq\frac{1}{2}$&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;h3&gt;MA&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;In this case, the prover simply sends it's proof $\pi$ to $V$, and then $V$ examines this message, generating random coins as desired, and then returns $V(x, \pi, r)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A language $L$ is in the class $MA$ if has a protocol in this manner such that&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;If $x \in L$, then there exists $\pi$ such that for all possible $r$ we have $V(x, \pi, r)=1$&lt;/li&gt;&#xA;&lt;li&gt;If $x \notin L$, then for all $\pi$ that could be sent by $P$, we have $\text{Pr}[V(x, \pi, r)=1]\leq\frac{1}{2}$&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Much of this is from &lt;a href=&quot;http://www.cs.umd.edu/~jkatz/complexity/f05/lecture10.pdf&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="21793" LastEditorUserId="21793" LastEditDate="2015-10-11T18:29:31.727" LastActivityDate="2015-10-11T18:29:31.727" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32747" PostTypeId="1" CreationDate="2015-10-07T21:17:38.983" Score="6" ViewCount="280" Body="&lt;p&gt;There is a polynomial-time algorithm for computing the number of words of length $n$ in an unambiguous CFG $G = (V, \Sigma, R, S)$ (via a dynamic programming approach). However, for ambiguous CFGs, the algorithm only computes the number of parse trees resulting in strings of length $n$. Therefore, this result is not the number of words of length $n$ in an ambiguous CFG.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a result (other than testing all possible strings of length $n$) for inherently ambiguous CFGs?&lt;/p&gt;&#xA;" OwnerUserId="25556" LastActivityDate="2020-07-05T17:58:02.567" Title="Counting words of length $n$ in an inherently ambiguous CFG?" Tags="&lt;grammars&gt;&lt;context-free&gt;&lt;dynamic-programming&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32748" PostTypeId="1" CreationDate="2015-10-08T02:18:47.630" Score="1" ViewCount="69" Body="&lt;p&gt;In the textbook &quot;Artificial Intelligence - A Modern Approach&quot; (Russel, Norvig), it mentions that a sufficient criteria for the A* search algorithm to complete in polynomial time is for the heuristic estimate h(n) and actual cost h*(n) to never be different by more than O(log(h*(n)), i.e.:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;|h(n) - h*(n)| &amp;lt;= O(log(h*(n)))&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The textbook mentions this result without proof. I am looking for the proof. Does anyone know where I can find this result proven?&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Edit: I discovered that the proof is &lt;strong&gt;most likely available&lt;/strong&gt; in Judea Pearl's textbook &quot;Heuristics: Intelligent Search Strategies for Computer Problem Solving&quot; (&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0201055945&quot; rel=&quot;nofollow&quot;&gt;http://www.amazon.com/exec/obidos/ASIN/0201055945/acmorg-20&lt;/a&gt;) (I should have guessed that this was by Pearl). It appears that the textbook is not available except through pay walls.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I do not want anyone to violate copyright laws and post the content, but if someone can validate that the proof is in this text, I will happily go out and buy the textbook (or get it from the university library).&lt;/p&gt;&#xA;" OwnerUserId="28868" LastEditorUserId="28868" LastEditDate="2015-10-08T23:55:40.540" LastActivityDate="2015-10-08T23:55:40.540" Title="Looking for reference proving polynomial-time bounds for A* search under specific conditions" Tags="&lt;reference-request&gt;&lt;proofs&gt;&lt;heuristics&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32749" PostTypeId="1" CreationDate="2015-10-08T03:03:56.103" Score="2" ViewCount="93" Body="&lt;p&gt;Primitive Recursive Arithmetic is a critical foundational system in mathematics at large, and all the more so in areas studying constructive reasoning and/or computability such as Theoretical Computer Science.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there any proof software that deals with Primitive Recursive Arithmetic... or equivalent systems?&lt;/p&gt;&#xA;" OwnerUserId="35271" LastActivityDate="2015-10-08T17:17:08.230" Title="Proof software for Primitive Recursive Arithmetic" Tags="&lt;computability&gt;&lt;proof-assistants&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32751" PostTypeId="2" ParentId="32741" CreationDate="2015-10-08T10:45:43.687" Score="2" Body="&lt;p&gt;I think I can show the optimality of a scheme that I skteched in the question, the one that does rejection sampling but reuses the remaining entropy.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;&lt;em&gt;Description of the scheme.&lt;/em&gt;&lt;/strong&gt; Thinking as an algorithm, the scheme is the following. It has two parameters, an integer $n$, and a bound $m$, $0 \leq n &amp;lt; m$, with the invariant that $n$ was drawn uniformly at random in $[0, m[$. (I'll rephrase everything to ranges of the form [0, n[ rather than $\{1, \ldots, n\}$ because it's simpler.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;At each step we do the following:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;if $m &amp;lt; q$, then we need more entropy: let $n'$ be the result of calling the oracle that samples in $[0, p[$ uniformly, and recurse with $n := n p + n'$ (i.e., a combination of the current $n$ and the new draw) and $m := m p$ (a larger interval). It is clear that if $n$ is uniform in $[0, m[$ and $n'$ is uniform in $[0, p[$ then the combination $n p + n'$ is uniform in $[0, mp[$&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;if $m \geq q$, then let $M$ be the largest multiple of $q$ which is smaller than $m$. If $n$ is in $[0, M[$, then we return $n \text{ mod } q$ as the result: this is uniform. Otherwise, the remainder $n - M$ is uniform in the range $[0, m - M[$, so we recurse with $n := n - M$ and $q := q - M$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;In pseudocode, reformulating the second point to substract $q$ multiple times instead of finding $M$, we get the following very simple algorithm:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;int algo(int n, int m) {&#xA;  // invariant: n is uniform in the range [0, m[&#xA;  if (m &amp;lt; q)&#xA;    return algo(p*n + randint(p), m * p);  &#xA;  if (n &amp;lt; q)&#xA;    return n;&#xA;  return algo(n-q, m-q);&#xA;}&#xA;&#xA;algo(0, 1);&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;&lt;em&gt;Optimality.&lt;/em&gt;&lt;/strong&gt; This algorithm is, I think, optimal. To see why, let me reformulate it in terms of decision trees. What the algorithm does is, at every level, if we have at least $q$ leaves then turn into leaves the largest multiple of $q$ that you can, and grow the other nodes; otherwise just grow all nodes. (This makes it clear that the scheme is uniform, because the labels in $[0, q[$ on the tree are used in exactly the same way.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let us consider the (generally infinite) tree $T$ obtained by such a scheme, and consider a hypothetical tree $T'$ which denotes a uniform strategy with a better expected score.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is clear that the performance of the tree depends only on the number of internal nodes at every depth. In other words, if I can show that, at every level, the number of internal nodes of $T'$ is at least that of $T$, then $T'$ cannot be better than $T$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But consider any depth $k$. It is clear that, in $T$, the number of internal nodes is precisely $p^k - M$ for $M$ the largest multiple of $q$ which is below $p^k$: let's write $M = mq$. Now if $T'$ does better than this and has less than this number of internal nodes, let us divide the $p^k$ possible outcomes at depth $k$ of $T'$ between the decided ones and the yet undecided ones: more than $mq$ must be decided (to be better than $T$) and they must be split between $q$ outcomes, so the most probable outcome $v$ at that level must have probability at least $(m+1)/p^k$. Now by maximality of $m$ we have $(m+1)q &amp;gt; p^k$, so that $(m+1)/p^k &amp;gt; 1/q$. But by uniformity the probability of $v$ overall (so, in particular, at depth $k$) should not be more than $1/q$. So $T'$ cannot be uniform: outcome $v$ has probability $&amp;gt; 1/q$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hence, $T'$ never does better than $T$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;&lt;em&gt;Expected performance.&lt;/em&gt;&lt;/strong&gt; To compute the expected performance of this optimal strategy, one can just write out an equation system based on which recursive calls are performed by the pseudocode above (with the indicated probability distribution). The value of the parameters is bounded, so presumably, for given values of $p$ and $q$, this should be solvable as a geometric series or something like that. (This can be interpreted as an equation system describing the expected number of draws required for a decision forest with $n$ root nodes, $n$ being the number of nodes at the current level.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;&lt;em&gt;Extending to multiple draws.&lt;/em&gt;&lt;/strong&gt; One can generalize this scheme to draw multiple values, in the following way: when you have made a draw in $[0, q[$, instead of starting at a single-root decision tree for the next draw, start at a forest with $m$ nodes, the number of the outcomes with the same label at the level at which you decided, to use this remaining entropy. My conjecture would be that the resulting scheme would have the same performance as the $p$- and $q$-ary solution sketched in my question (so be optimal for multiple draws while concluding faster for a single draw). I have no proof of this fact, though.&lt;/p&gt;&#xA;" OwnerUserId="4795" LastActivityDate="2015-10-08T10:45:43.687" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32753" PostTypeId="1" CreationDate="2015-10-08T13:47:23.770" Score="3" ViewCount="114" Body="&lt;p&gt;In the traditional oracle Turing machine, the oracle is specified as a decision problem. Roughly speaking, one puts a string in the oracle tape, and asks whether it is true or false. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am wondering whether it makes sense to consider a functional oracle. This means, one puts a string $x$ in the oracle tape, and guarantee the returned result $f(x)$ is polynomially bounded in length by $x$, and the oracle is supposed to return $f(x)$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A very natural such an oracle is an FNP oracle, and one can define a class $P^{FNP}$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any study regarding this? Or the notion is not well defined? Any comments are welcome. &lt;/p&gt;&#xA;" OwnerUserId="21036" LastActivityDate="2015-10-08T13:47:23.770" Title="Functional oracles" Tags="&lt;cc.complexity-theory&gt;&lt;np&gt;&lt;oracles&gt;" AnswerCount="0" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32754" PostTypeId="2" ParentId="27706" CreationDate="2015-10-08T13:58:17.273" Score="2" Body="&lt;p&gt;Cographs have clique width 2, and the number of cographs of size $n$ is asymptotically equal to $3.56^n$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;See &lt;a href=&quot;https://mathoverflow.net/questions/37875/bound-on-the-number-of-unlabeled-cographs-on-n-vertices&quot;&gt;https://mathoverflow.net/questions/37875/bound-on-the-number-of-unlabeled-cographs-on-n-vertices&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am not sure how many graphs with a given clique-width $k$ exist.&lt;/p&gt;&#xA;" OwnerUserId="35872" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2015-10-08T13:58:17.273" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32755" PostTypeId="1" CreationDate="2015-10-08T16:35:11.500" Score="3" ViewCount="312" Body="&lt;p&gt;I am interested about the &lt;em&gt;minimal size&lt;/em&gt; (number of gates) of a family of circuits (with negation) over a complete Boolean basis (with fanin 2) that computes some explicit Boolean function. (In other words, I want results that apply for a specific function, not diagonalization, counting, or non-constructive arguments). I call $n$ the number of inputs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Section 1.5.2 of &lt;em&gt;Boolean Function Complexity&lt;/em&gt; by Stasys Jukna (2011) says that the best such lower bound currently known is in $5n - \text{o}(n)$, from &lt;a href=&quot;http://www.wisdom.weizmann.ac.il/~ranraz/publications/P5nlb.pdf&quot; rel=&quot;nofollow&quot;&gt;Iwama and Morizumi&lt;/a&gt; in 2002. This is very surprising, because, as Shannon proved in 1949 by a counting argument, most Boolean functions require exponential-size circuits.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is the $5n - \text{o}(n)$ result still the best known? Is there any reason why proving a super-linear lower bound on the circuit size of an explicit function seems out of reach? In particular, do we know that solving this would close long-standing open problems in complexity theory as well?&lt;/p&gt;&#xA;" OwnerUserId="4795" LastActivityDate="2015-10-08T16:35:11.500" Title="Why can't we have superlinear bounds on Boolean circuit size for an explicit function?" Tags="&lt;reference-request&gt;&lt;circuit-complexity&gt;&lt;boolean-functions&gt;&lt;open-problem&gt;" AnswerCount="0" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="32756" PostTypeId="1" AcceptedAnswerId="32773" CreationDate="2015-10-08T17:05:07.067" Score="3" ViewCount="306" Body="&lt;p&gt;I came across a claim in a paper &lt;a href=&quot;https://people.cs.umass.edu/~mcgregor/papers/14-esa.pdf&quot; rel=&quot;nofollow&quot; title=&quot;Trace Reconstruction Revisited&quot;&gt;Trace reconstruction revisited&lt;/a&gt; (in Lemma 11), which is basically that the squared Hellinger distance between Binomial$(n,p)$ and Binomial$(n+1,p)$ grows as $O(1/n)$. $p$ is a small positive number less than $\frac{1}{2}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I've been trying to prove it but have not been able to see this. Is there an easy way to see this? &lt;/p&gt;&#xA;" OwnerUserId="22466" LastEditorUserId="22466" LastEditDate="2015-10-09T05:51:20.263" LastActivityDate="2015-10-09T22:28:08.703" Title="Squared Hellinger distance between Binomial(n,p) and Binomial(n+1,p)" Tags="&lt;pr.probability&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32757" PostTypeId="2" ParentId="32749" CreationDate="2015-10-08T17:17:08.230" Score="1" Body="&lt;p&gt;The &lt;a href=&quot;http://www.cs.utexas.edu/users/moore/acl2/v7-1/acl2-doc.html&quot; rel=&quot;nofollow&quot;&gt;ACL2&lt;/a&gt; theorem prover seems quite close to what you want, though it is hard to know exactly what the strength of the system is.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;From the logical description &lt;a href=&quot;http://www.cs.utexas.edu/users/moore/publications/km97a.pdf&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt; it looks like the base is a quantifier-free equational logic with induction principles, which include principles allowing the definition of PR functions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This gives exactly PRA, but in addition, the standard library defines induction up to $\varepsilon_0$, which brings the strength up to full Peano Arithmetic.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You might therefore want to work in ACL2 with a restricted version of the standard induction principle (I don't know how hard that is).&lt;/p&gt;&#xA;" OwnerUserId="3984" LastActivityDate="2015-10-08T17:17:08.230" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32758" PostTypeId="1" AcceptedAnswerId="32786" CreationDate="2015-10-08T18:32:31.730" Score="-1" ViewCount="489" Body="&lt;p&gt;Recently I have been reading about Kolmogorov Complexity.&#xA;As such I started thinking about the &quot;fastest turing machine&quot;.&#xA;In particular I am not interested in finding such a machine, I am only interested&#xA;in the time complexity of it.&#xA;By googling I found the &lt;a href=&quot;http://www.forwardscattering.org/post/13&quot; rel=&quot;nofollow&quot;&gt;blog&lt;/a&gt;, and the definition of the &quot;fastest turing machine&quot; is&#xA;exactly the same as mine:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $L(M) = \{ w \in \Sigma^* | M \text{ accepts } w \}$, $M=$ TM = Turing Machine.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$T_M(n) = \text{ max } \{ t_M(w) | w \in \Sigma^n \}$, where $t_M(w)$ is the computation time of $M$ on $w$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Fix some universal Turing machine $U$. Then we can define:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$T_U(L,n) := min_M \{ T_M(n) : M \text{ recognizes the language } L \}$&#xA;The $min$ is taken with respect to lexicographic ordering of the programs $M$ in the UTM $U$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This $T_U(L,n)$  measures the time of the fastest Turing machine to recognize words of length $n$ of the language $L$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then by definition of $T_U(L,n)$ we have for each TM $M$:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$T_U( L(M), n ) \le T_M(n)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I was wondering if changing the UTM from $U$ to $V$ will have much impact on $T_U(L,n)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I guess that $T_U(L,n) \le c_{UV} \cdot T_V(L,n)$ for some constant $c_{UV}$, which depends solely on $U$ and $V$ and not on $L$ and $n$.&#xA;The intuition behind it, is the same as in the Kolmogorv Complexity case.&#xA;First on has an interpreter from $U$ to $V$, than one runs the programs using this interpreter.&#xA;But how does one make this into a formal proof?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Do you have any idea?&lt;/p&gt;&#xA;" OwnerDisplayName="user35803" LastActivityDate="2015-10-11T16:05:35.020" Title="Fastest Turing Machine" Tags="&lt;cc.complexity-theory&gt;&lt;turing-machines&gt;&lt;kolmogorov-complexity&gt;&lt;universal-turing-machines&gt;" AnswerCount="3" CommentCount="4" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="32759" PostTypeId="1" CreationDate="2015-10-08T19:02:52.140" Score="6" ViewCount="137" Body="&lt;p&gt;Consider $IP(f(x))$, in other words, the class of languages that admit a private coin protocol $(P, V)$ running in $f(x)$ rounds (often in terms of the size of $x$), satisfying standard constraints.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does it matter who sends the first message?&lt;/p&gt;&#xA;" OwnerUserId="21793" LastEditorUserId="7707" LastEditDate="2015-10-10T18:11:40.367" LastActivityDate="2015-10-10T18:11:40.367" Title="Does it matter who begins communication in $IP(f(x))$?" Tags="&lt;complexity-classes&gt;&lt;interactive-proofs&gt;" AnswerCount="0" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="32760" PostTypeId="1" CreationDate="2015-10-09T08:07:02.887" Score="6" ViewCount="862" Body="&lt;p&gt;Assume that Discrete logarithms can be solved in linear time over any group (hence factorization is also trivial by a result of &lt;a href=&quot;http://www.eecs.berkeley.edu/Pubs/TechRpts/1984/CSD-84-186.pdf&quot;&gt;Eric Bach&lt;/a&gt;), is there any other candidate public key exchange problem that will facilitate computationally secure key exchange?&lt;/p&gt;&#xA;" OwnerDisplayName="user34945" LastActivityDate="2015-10-11T12:22:06.893" Title="Alternatives to Diffie Hellman" Tags="&lt;cc.complexity-theory&gt;&lt;cr.crypto-security&gt;&lt;factoring&gt;&lt;security&gt;&lt;key-exchange&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="32761" PostTypeId="2" ParentId="27706" CreationDate="2015-10-09T08:13:38.240" Score="0" Body="&lt;p&gt;you can asymptotically have something like that (I count several times isomorsphic copies) : A k-expression can be constructed from a binary tree as follows: insert between two nodes unary operations. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For k fixed the number of possible unary operations is bounded by $k^k$ (you avoid repetitions: add first edges, and then rename). Since the number of adding operations is k(k-1)/2 and the number of renaming is the number of functions from [k] to [k], you have the bound of $2^{k^2}\times k^k$. So, since the number of binary trees with $n$ leaves is counted by catalan numbers $C_{n-1}$, you have the upper bound $O(2^{k^2}\times C_{n-1})$. &lt;/p&gt;&#xA;" OwnerUserId="4854" LastActivityDate="2015-10-09T08:13:38.240" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32763" PostTypeId="2" ParentId="32758" CreationDate="2015-10-09T10:14:43.770" Score="3" Body="&lt;p&gt;The statement $T_U(L,n) \le c_{UV} \cdot T_V(L,n)$ is not true for all choices of $U$. It's easy to think of a Universal Turing Machine that is simply inefficient. For example choose $U$ as the Machine that is equivalent to $V$ but does a useless iteration over the input tape between any two steps of $V$. This would result in a slowdown linear in $n$ compared to $V$ and thus no such constant $c_{UV}$ exists.&lt;/p&gt;&#xA;" OwnerUserId="35882" LastActivityDate="2015-10-09T10:14:43.770" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32765" PostTypeId="2" ParentId="32760" CreationDate="2015-10-09T10:45:18.083" Score="1" Body="&lt;p&gt;Check &lt;a href=&quot;https://eprint.iacr.org/2011/506.pdf&quot; rel=&quot;nofollow&quot;&gt;Supersingular Isogeny Key Exchnage&lt;/a&gt; for some nice work on a Diffie-Hellman like Key Exchange based on isogenies between supersingular elliptic curves. This will compute computationally secure key. The authors mention that even though the key exchange is secure it will most likely be interesting purely for research/ pedagogical reasons.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There also is a cython implementation by De Feo &lt;a href=&quot;https://github.com/defeo/ss-isogeny-software/&quot; rel=&quot;nofollow&quot;&gt;SSIKE git&lt;/a&gt;. I would not rely on that for cryptographically secure key exchange but it is a good starting point.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Additionally to the wiki page mentioned Adam Smith you might wonna checkout this website for a good overview of literature: &lt;a href=&quot;http://pqcrypto.org/index.html&quot; rel=&quot;nofollow&quot;&gt;pqcrypto&lt;/a&gt;. On that page you will also find a link to this document: &lt;a href=&quot;http://pqcrypto.org/www.springer.com/cda/content/document/cda_downloaddocument/9783540887010-c1.pdf&quot; rel=&quot;nofollow&quot;&gt;Post-Quantum Crypto Introduction&lt;/a&gt;. Thats the introduction to a book called ''Post Quantum Cryptography''. On pages 6-10 you will find a technical overview of three ''common'' post-quantum cryptosystems.&lt;/p&gt;&#xA;" OwnerUserId="34774" LastEditorUserId="34774" LastEditDate="2015-10-11T12:22:06.893" LastActivityDate="2015-10-11T12:22:06.893" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="32766" PostTypeId="1" CreationDate="2015-10-09T14:08:33.883" Score="1" ViewCount="107" Body="&lt;p&gt;Let's say I have a way to represent $N$ bits such that those bits are in a superposition of the $2^N$ possible states those bits can have and that I can do XOR and AND on those superpositional bits to be able to map $N$ superpositional input bits to $M$ superpositional output bits using any logical circuit (since XOR and AND are supported).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let's say that I am also able to include bits in those logic circuits which are not superpositional but have specific values of either 0 or 1.  This way I can do a NOT by XORing a superpositional bit by 1 for example.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;At the end of the logic circuit when I have the superpositional result, I can then decide what values the input bits had, and get a non superpositional result out for those inputs, without evaluating the circuit again.  I can interpret the result as many times as I want for the entire permutation of input bits if I want to.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm wondering, would a superpositional logic technique like this be useful, and does anyone know if any work has been done in this area?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I know this is similar to how quantum computing works, except for a few key differences like not having interference, nor having probabilities for states, but it does allow cloning of the superpositional result, unlike quantum computing which only allows one question to be asked of the result.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I can think of a couple usage cases, but am wondering if there are others?&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Using a superpositional result as a way of letting an untrusted person specify how inputs should map to outputs (basically, &quot;script&quot; some process), without havign to sandbox the logic, worry about division by zero, infinite loops, and the like.&lt;/li&gt;&#xA;&lt;li&gt;I have yet to experiment deeply with this, but if you need to know several values of some function $f(x)$, it may be more computationally efficient to evaluate it superpositionally and then re-interpret the superpositional result several times, versus just calculating the function several times.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="35424" LastEditorUserId="35424" LastEditDate="2015-10-09T16:45:44.967" LastActivityDate="2015-10-09T16:45:44.967" Title="Is Logic Done on Superpositional Bit Values Useful?" Tags="&lt;lo.logic&gt;&lt;quantum-computing&gt;" AnswerCount="0" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="32768" PostTypeId="1" CreationDate="2015-10-09T14:45:31.340" Score="3" ViewCount="109" Body="&lt;p&gt;Given $n$ polytopes $P_1, \cdots, P_n$, each $P_i$ is given as the V-representation, i.e., a set of $m$ points as its set of vertices. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Furthermore, consider a variant of the Minkowski sum (somehow its weighted version). For $n$ &lt;strong&gt;nonnegative&lt;/strong&gt; numbers $\vec{w}=(w_1, \cdots, w_n)$, we write&#xA;$\sum_{\vec{w}}P_i=\{\sum_{i=1}^n w_i \vec{x}_i\mid \vec{x}_i\in P_i\}$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The question is, given two weight vectors $\vec{w}$ and $\vec{v}$, decide whether &#xA;$\sum_{\vec{w}}P_i = \sum_{\vec{v}}P_i$, where $=$ is interpreted as set equivalence. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It appears that a straightforward approach fails because $\sum_{\vec{w}}P_i$ as a polytope, might contain exponentially many vertices (?, order of $m^n$), so I only can show that the problem is in coNP. But is the problem in P, or it is coNP-hard as well?&lt;/p&gt;&#xA;" OwnerUserId="35648" LastEditorUserId="35648" LastEditDate="2015-10-09T15:02:35.473" LastActivityDate="2015-10-09T15:02:35.473" Title="Equivalence of weighted Minkowski sums" Tags="&lt;linear-programming&gt;&lt;computational-geometry&gt;&lt;convex-geometry&gt;&lt;polytope&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32770" PostTypeId="2" ParentId="32760" CreationDate="2015-10-09T16:11:52.387" Score="2" Body="&lt;p&gt;The Wikipedia page on &lt;a href=&quot;https://en.wikipedia.org/wiki/Post-quantum_cryptography&quot; rel=&quot;nofollow&quot;&gt;&quot;Post-quantum cryptography&quot;&lt;/a&gt; provides a list of proposals for PKE resistant to quantum attacks. Quantum algorithms can solve DL in finite abelian groups (as well as a few nonabelian and infinite abelian ones), so they get very close to the spirit of the question you are asking. The learning with errors problem mentioned by one of the commenters is on that list.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I do not know of a general answer to the question of &quot;What is the power of DL in arbitrary (that is, nonabelian) groups?&quot;.&lt;/p&gt;&#xA;" OwnerUserId="9751" LastActivityDate="2015-10-09T16:11:52.387" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32772" PostTypeId="1" CreationDate="2015-10-09T21:25:21.987" Score="4" ViewCount="524" Body="&lt;p&gt;I have the following graph optimization problem. In a directed graph $G$, each node $i$ is endowed with a real value $v_i$ (input) that encodes the minimum &quot;activation threshold&quot; of that node. For each node we can compute the &quot;activation value&quot; $a_i$ as a sum of the activation values of the selected predecessor nodes, i.e.:&#xA;$$a_i = \sum_{j \in P(i)}x_{ji}a_{j}$$&#xA;where $x_{ij} \in \{0,1\}$ are edge selector variables and $P(i)$ is the set of predecessor nodes of $i$. The optimization objective is for each node in the graph to select a set of incoming edges with minimal cost that &quot;activate&quot; that node:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\underset{x}{\text{argmin  }}\sum_{i} \sum_{j \in P(i)} a_ix_{ji}$$&#xA;$$\text{  such that  }  \sum_{j \in P(i)}x_{ji}a_{j}\ge v_i, \forall{i}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We can assume that there exist some leaf nodes in the graph whose activation value is 1, and that each node in the graph can be activated for a large enough subset of incoming edges.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $G$ is a DAG, then we can solve this with dynamic programming, but I can't seem to figure out if there is a way to do this on a general DG, or if its NP hard.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any pointers are appreciated. Thanks a lot.&lt;/p&gt;&#xA;" OwnerUserId="35895" LastEditorUserId="35895" LastEditDate="2015-10-10T07:46:45.763" LastActivityDate="2020-11-09T02:06:40.617" Title="Optimization Problem on a Directed Graph" Tags="&lt;ds.algorithms&gt;&lt;graph-algorithms&gt;&lt;optimization&gt;" AnswerCount="2" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="32773" PostTypeId="2" ParentId="32756" CreationDate="2015-10-09T22:28:08.703" Score="5" Body="&lt;p&gt;Write $$\begin{align}&#xA;h^2(B(n,p), B(n+1,p))&amp;amp; = 2 \left(1 - \sum_{i=0}^{n+1}\sqrt{{n \choose i}p^i(1-p)^{n-i}{n+1 \choose i} p^i (1-p)^{n+1-i}}\right)\\&#xA;&amp;amp;=2\left(1 - \sum_{i=0}^{n+1}\sqrt{\left({n+1 \choose i}p^i(1-p)^{n+1-i}\right)^2 \frac{n+1-i}{(n+1)(1-p)}} \right)\\&#xA;&amp;amp;=2 \left(1 - \sum_{i=0}^{n+1}{n+1 \choose i}p^i(1-p)^{n+1-i}\sqrt{ \frac{n+1-i}{(n+1)(1-p)}} \right)\\&#xA;&amp;amp;=2\left(1-\frac{1}{\sqrt{(n+1)(1-p)}} \mathbb{E}(\sqrt{Z})\right),\\&#xA;\end{align}$$&#xA;where $Z \sim B(n+1, 1-p)$. By Taylor approximation (see &lt;a href=&quot;https://mathoverflow.net/questions/121411/expectation-of-square-root-of-binomial-r-v&quot;&gt;this&lt;/a&gt;), we have&#xA;$$\mathbb{E}(\sqrt{Z}) \ge  \sqrt{(n+1)(1-p)} - \frac{p}{2 \sqrt{(n+1)(1-p)}}. $$&#xA;Combining with the above, we get&#xA;$$ h^2(B(n,p), B(n+1,p)) \le 2 \left(1 - \left(1 - \frac{p}{2 (n+1)(1-p)}\right)\right) = \frac{p}{(n+1)(1-p)}.$$&lt;/p&gt;&#xA;" OwnerUserId="30361" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2015-10-09T22:28:08.703" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32775" PostTypeId="1" CreationDate="2015-10-10T05:05:29.200" Score="4" ViewCount="62" Body="&lt;p&gt;The question about possible implementation of closed reduction using token-passing nets is asked on page 17 in &lt;a href=&quot;http://haslab.uminho.pt/jba/files/07tnfp.pdf&quot; rel=&quot;nofollow&quot;&gt;Token-passing Nets for Functional Languages&lt;/a&gt; by Jose Bacelar Almeida, Jorge Sousa Pinto, and Miguel Vilaca:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;It would be interesting to explore the applicability of this idea to encode closed reduction as defined by Fernandez et al.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Is this question still open?&lt;/p&gt;&#xA;" OwnerUserId="20992" LastActivityDate="2015-10-10T05:05:29.200" Title="Is the question about closed reduction using token-passing nets still open?" Tags="&lt;lambda-calculus&gt;&lt;interaction-nets&gt;" AnswerCount="0" CommentCount="3" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="32776" PostTypeId="1" CreationDate="2015-10-10T06:31:12.170" Score="0" ViewCount="33" Body="&lt;p&gt;Let $X$ and $Y$ be two NPO problems. &#xA;Let $(f,g)$ be a reduction between $X$ and $Y$,&#xA;in particular, assume that $(f,g)$ is both P-reduction &lt;em&gt;and&lt;/em&gt; A-reduction, &#xA;i.e., &lt;/p&gt;&#xA;&#xA;&lt;p&gt;there exist two poly-time  computable functions $c_1,c_2 :(1, +\infty)\cap \mathbb{Q}\mapsto (1, +\infty)\cap \mathbb{Q}$ such that:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$R_B(f(x),y)\leq r \Rightarrow R_A(x, g(x,y))\leq c_2(r)$ (A-reduction) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;and&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$R_B(f(x),y)\leq c_1(r) \Rightarrow R_A(x, g(x,y))\leq r$ (P-reduction) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then, can you prove that $c_1$ is invertible and that $c_1=c_2^{-1}$ is always the case ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(I am reading a paper which asserts that this is always the case, but I don't see it true...) &lt;/p&gt;&#xA;" OwnerUserId="20792" LastEditorUserId="20792" LastEditDate="2015-10-10T10:36:25.867" LastActivityDate="2015-10-10T10:36:25.867" Title="On approx-preserving P- and A-reducibilities" Tags="&lt;ds.algorithms&gt;&lt;np-hardness&gt;&lt;approximation-algorithms&gt;&lt;approximation-hardness&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="32778" PostTypeId="1" CreationDate="2015-10-10T20:48:08.923" Score="2" ViewCount="87" Body="&lt;p&gt;I am searching for an algorithm to decompose a word with the following constraints:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Decompose the word $w$ such that the following value is minimized:&#xA;$\sum_{i=1}^{k} | w_i| + \sum_{i=1}^{k} \log(n_i)$&#xA;where $w=w_{i_1}w_{i_2}\ldots w_{i_l}$ is decomposed in words $w_{i_j} \in \{w_1,\ldots,w_k\}$ of length $|w_{i_j}|$ and $n_{i_j}$ is the number of  occurrences of the word $w_{i_j}$ in the word $w$.&#xA;Or alternatively decompose $w$ such that the value $\sum_{i=1}^{k} | w_i| + \sum_{i=1}^{k} n_i$ is minimized.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does somebody know of any algorithm on how to do this?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Applications of this decomposition would be a compression of the word $w$.&#xA;After decomposing, one would sort the $w_i$ lexicographically and store the corresponding permutation plus one would store the $w_i$ and the $n_i$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Example of the compression with one decomposition (possibly not optimal in the above sense):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$w = bc|a|bc|a|bc|a$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The permutation is given by $\sigma=(1,3,5,0,2,4)$. The Lehmer-Number (For a definition see &quot;Factorial Number System&quot; in Wikipedia) of the permutation is $l(\sigma)=187$&#xA;One would then store: $187;a:3;bc:3$&#xA;To decompress, one would compute the permutation from the Lehmer-Number $187$ and apply its inverse to $(a,a,a,bc,bc,bc)$.&lt;/p&gt;&#xA;" OwnerDisplayName="user35803" LastActivityDate="2015-10-10T20:48:08.923" Title="Algorithm to decompose word" Tags="&lt;ds.algorithms&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32779" PostTypeId="2" ParentId="174" CreationDate="2015-10-10T23:50:06.433" Score="4" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;Getting an O(1) factor approximation algorithm in polytime for the Maximum Independent Set of Rectangles. &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;This is one of the biggest open problems in Computational Geometry. Recently, Anna Adamaszek and Andreas Wiese [1] have given a QPTAS for this problem, which shows the existence of a PTAS assuming standard complexity theory conjectures. However even a constant factor approximation is not known yet that can be achieved in polytime. The best known polytime approximation factor is $O(\log \log n)$ [2]. More recently, Abed et al. [3] have given a constant factor approximation based on a conjecture. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] &lt;a href=&quot;http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&amp;amp;arnumber=6686176&quot; rel=&quot;nofollow&quot;&gt;http://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&amp;amp;arnumber=6686176&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] &lt;a href=&quot;http://ttic.uchicago.edu/~cjulia/papers/rectangles-SODA.pdf&quot; rel=&quot;nofollow&quot;&gt;http://ttic.uchicago.edu/~cjulia/papers/rectangles-SODA.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[3] &lt;a href=&quot;http://drops.dagstuhl.de/opus/volltexte/2015/5291/pdf/1.pdf&quot; rel=&quot;nofollow&quot;&gt;http://drops.dagstuhl.de/opus/volltexte/2015/5291/pdf/1.pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="22039" LastActivityDate="2015-10-10T23:50:06.433" CommentCount="0" CommunityOwnedDate="2015-10-10T23:50:06.433" ContentLicense="CC BY-SA 3.0" />
  <row Id="32780" PostTypeId="1" CreationDate="2015-10-10T23:51:46.667" Score="12" ViewCount="759" Body="&lt;p&gt;Constant time is the absolute low end of time complexity. One may wonder: is there anything nontrivial that can be computed in constant time? If we stick to the Turing machine model, then not much can be done, since the answer can only depend on a constant length initial segment of the input, as farther parts of the input cannot even be reached in constant time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, if we adopt the somewhat more powerful (and more realistic) unit-cost RAM model, in which elementary operations on $O(\log n)$-bit numbers are counted as single steps, then we may be able to solve nontrivial tasks, even in constant time. Here is an example:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Instance:&lt;/strong&gt; Integers $n, k, l, d$, each given in binary format by $O(\log n)$ bits.&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;&lt;strong&gt;Question:&lt;/strong&gt; Does there exist an $n$-vertex graph, such that its vertex connectivity is $k$, its edge connectivity is $l$, and its minimum degree is $d$? &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Note that from the definition it is not even obvious that the problem is in &lt;strong&gt;NP&lt;/strong&gt;. The reason is that the natural witness (the graph) may need $\Omega(n^2)$-bit long description, while the input is given by only $O(\log n)$ bits. On the other hand, the following theorem (see &lt;em&gt; Extremal Graph Theory &lt;/em&gt; by B. Bollobas) comes to the rescue.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;b&gt;Theorem: &lt;/b&gt; Let $n, k, l, d$ be integers. There exists an $n$-vertex graph with vertex connectivity $k$, edge connectivity $l$, and minimum degree  $d$, if and only if one of the following conditions is satisfied: &lt;UL&gt;&#xA;  &lt;LI&gt;  $0\leq k\leq l \leq d &amp;lt;\lfloor n/2 \rfloor$, &#xA;  &lt;LI&gt; $1\leq 2d+2-n\leq k\leq l = d&amp;lt; n-1$&#xA;  &lt;LI&gt; $k=l=d=n-1.$&#xA;  &lt;/UL&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Since these conditions can be checked in constant time (in the unit-cost RAM model), the Theorem leads to a constant time algorithm in this model. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question:&lt;/strong&gt; What are some other nontrivial examples of constant time algorithms?&lt;/p&gt;&#xA;" OwnerUserId="12710" LastActivityDate="2015-10-13T22:50:31.787" Title="Nontrivial problems solvable in constant time?" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;time-complexity&gt;" AnswerCount="3" CommentCount="9" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32783" PostTypeId="1" AcceptedAnswerId="33796" CreationDate="2015-10-11T14:43:01.003" Score="7" ViewCount="480" Body="&lt;p&gt;Is there a known $n^{\alpha \log n+O(1)}$ algorithm for permutation group isomorphism? Here $n$ is the size of the group, and the isomorphism must be a permutational isomorphism.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My hope for such an algorithm comes from reading a &lt;a href=&quot;https://rjlipton.wordpress.com/2011/11/07/the-group-isomorphism-problem-a-possible-polymath-problem/&quot; rel=&quot;nofollow noreferrer&quot;&gt;blog post on the group isomorphism problem&lt;/a&gt; and its comments. Because any group of size $n$ has a generator set of size at most $\log_2 n$, maybe a permutation group will even have a strong generator set of size at most $\log_2 n$ (and hopefully that would already be sufficient for a quasi-polynomial algorithm). The comments mention &lt;a href=&quot;http://people.cs.uchicago.edu/~laci/papers/soda11.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;two&lt;/a&gt; &lt;a href=&quot;http://people.cs.uchicago.edu/~laci/papers/icalp12.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;papers&lt;/a&gt; that relate the complexity of the  problem of permutational isomorphism of permutation groups to the complexity of the problem of isomorphism of semisimple groups, and also mention earlier work on the permutational isomorphism problem.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;A &lt;a href=&quot;https://mathoverflow.net/questions/215464/can-every-permutation-group-be-realized-as-the-automorphism-group-of-a-graph-ac#comment532361_215472&quot;&gt;comment by Ben Barber&lt;/a&gt; on a related question indicates that permutation group isomorphism can be reduced to graph isomorphism, which is not really surprising, but nice to know nevertheless.&lt;/p&gt;&#xA;" OwnerUserId="20340" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2016-02-11T08:32:36.327" Title="Quasi-polynomial time algorithm for permutation group isomorphism" Tags="&lt;cc.complexity-theory&gt;&lt;graph-isomorphism&gt;&lt;gr.group-theory&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32784" PostTypeId="2" ParentId="32758" CreationDate="2015-10-11T15:22:47.013" Score="0" Body="&lt;p&gt;One might define $T_U(L,n)$ using $U$ only for the lexicographic ordering of the programs $M$ which could run on $U$ but whose worst case computation time $T_M(n)$ is not measured on $U$ but measured when the TM $M$ runs with the input $x$ of length $|x|=n$. Hence $T_U(L,n) = T_V(L,n)$ for two UTM $U,V$ and as such one might define $T(L,n) := T_U(L,n)$ without mentioning the UTM $U$ at all.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So to clarify: The UTM $U$ is only needed to make clear, that one is able to order every TM $M$ lexicographically as they are parsed in $U$. But once they are ordered, one can choose one $M$ which has the smallest worst case $T_M(n)$, and hence one might define $T(L,n)$ without reference to the UTM $U$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I agree, that defining $T_U(L,n)$ as the smallest worst case time $T_M(n)$ when run on $U$, then $T_U(L,n)=T_V(L,n)$ is not more valid.&lt;/p&gt;&#xA;" OwnerDisplayName="user35803" LastActivityDate="2015-10-11T15:22:47.013" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32786" PostTypeId="2" ParentId="32758" CreationDate="2015-10-11T16:05:35.020" Score="3" Body="&lt;p&gt;Probably the best one can say at this level of generality is that $T_U(L,n)$ and $T_V(L,n)$ are computably related (if $U$ and $V$ are both universal), i.e. there are computable functions $f,g$ such that $T_U(L,n) \leq f(T_V(L,n))$ and $T_V(L,n) \leq g(T_U(L, n))$. The proof is exactly as you suggest, using an interpreter for one universal TM in the other one.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If one restricts attention to efficiently universal TMs - i.e. a universal TM that can simulate any other TM with only polynomial slow-down (fairly common when studying computational complexity rather than computability) - then the computable functions above are replaceable by polynomials. But that's almost by definition.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let me also draw your attention to two closely related topics:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Circuit complexity. The circuit complexity of $L$ is very close to your $T_U(L,n)$, since for each $n$ you allow a different TM that decides $L$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The &lt;a href=&quot;https://en.wikipedia.org/wiki/Blum%27s_speedup_theorem&quot; rel=&quot;nofollow&quot;&gt;Speed-Up Theorem&lt;/a&gt;. When you don't allow different TMs for $n$ and $n'$, there are languages which have no optimal-running-time TM.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="129" LastActivityDate="2015-10-11T16:05:35.020" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32788" PostTypeId="2" ParentId="174" CreationDate="2015-10-11T19:18:19.220" Score="12" Body="&lt;h2&gt;Summary Table for Answers&lt;/h2&gt;&#xA;&lt;h3&gt;Open Problems&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Matrix Multiplication: &lt;a href=&quot;https://cstheory.stackexchange.com/a/181/&quot;&gt;Can multiplication of &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt; by &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt; matrices be done in &lt;span class=&quot;math-container&quot;&gt;$O(n^2)$&lt;/span&gt; operations?&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Graph Isomorphism: &lt;a href=&quot;https://cstheory.stackexchange.com/a/218/&quot;&gt;Is Graph Isomorphism in P?&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Factoring: &lt;a href=&quot;https://cstheory.stackexchange.com/a/216/&quot;&gt;Is Factoring in P?&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;BPP vs. P: &lt;a href=&quot;https://cstheory.stackexchange.com/a/176/&quot;&gt;Is BPP = P?&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Simplex: &lt;a href=&quot;https://cstheory.stackexchange.com/a/473/&quot;&gt;Is there a pivoting rule for the simplex algorithm that yields worst-case polynomial running time?&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;ETH: &lt;a href=&quot;https://cstheory.stackexchange.com/a/205/&quot;&gt;Is the Exponential Time Hypothesis true?&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Logic for P: &lt;a href=&quot;https://cstheory.stackexchange.com/a/251/&quot;&gt;Is there a logic that captures P?&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;UGC: &lt;a href=&quot;https://cstheory.stackexchange.com/a/183/&quot;&gt;Is the Unique Games Conjecture true?&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Perm vs. Det: &lt;a href=&quot;https://cstheory.stackexchange.com/a/198/&quot;&gt;Permanent vs. Determinant&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;FFT: &lt;a href=&quot;https://cstheory.stackexchange.com/a/248/&quot;&gt;Can we compute the FFT in much less than &lt;span class=&quot;math-container&quot;&gt;$O(n\log n)$&lt;/span&gt; time?&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Splay Trees: &lt;a href=&quot;https://cstheory.stackexchange.com/a/201/&quot;&gt;Is the Dynamic Optimality Conjecture for Splay Trees true?&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;NP vs. coNP: &lt;a href=&quot;https://cstheory.stackexchange.com/a/197/&quot;&gt;Is NP = coNP?&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;MST: &lt;a href=&quot;https://cstheory.stackexchange.com/a/244/&quot;&gt;Is there a linear time deterministic algorithm for the minimum spanning tree problem?&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Frege: &lt;a href=&quot;https://cstheory.stackexchange.com/a/341/&quot;&gt;Do all propositional tautologies have polynomial-size Frege proofs?&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;NC vs. P: &lt;a href=&quot;https://cstheory.stackexchange.com/a/416/&quot;&gt;Are there problems that cannot be solved efficiently by parallel computers?&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;3SUM: &lt;a href=&quot;https://cstheory.stackexchange.com/a/421/&quot;&gt;Are there truly subquadratic-time algorithms for 3SUM-hard Problems?&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Edit Distance: &lt;a href=&quot;https://cstheory.stackexchange.com/a/582/&quot;&gt;Can we compute the edit distance between two strings of length n in sub-quadratic time&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;BQP vs. P: &lt;a href=&quot;https://cstheory.stackexchange.com/a/207/&quot;&gt;Is BQP = P?&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Isomorphism Conjecture: &lt;a href=&quot;https://cstheory.stackexchange.com/a/179/&quot;&gt;Are all NP-complete problems isomorphic?&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Crypo. using NPC: &lt;a href=&quot;https://cstheory.stackexchange.com/a/179/&quot;&gt;Can cryptography be based upon an NP-complete problem?&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Density of NP in EXP: &lt;a href=&quot;https://cstheory.stackexchange.com/a/179/&quot;&gt;What is the probability that an EXP problem is in NP?&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;NP vs. P/poly: &lt;a href=&quot;https://cstheory.stackexchange.com/a/1004/&quot;&gt;Is there an explicit problem requiring superpolynomial circuit size?&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Triangle-freeness: &lt;a href=&quot;https://cstheory.stackexchange.com/a/249/&quot;&gt;What is the query complexity of testing triangle-freeness in dense graphs?&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;NEXP vs. BPP: &lt;a href=&quot;https://cstheory.stackexchange.com/a/2242/&quot;&gt;Is NEXP = BPP?&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Metric TSP: &lt;a href=&quot;https://cstheory.stackexchange.com/a/312/&quot;&gt;What is the approximability of Metric TSP?&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;PIT: &lt;a href=&quot;https://cstheory.stackexchange.com/a/8807/&quot;&gt;Can we derandomize the Polynomial Identity Testing problem?&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Quantum PCP: &lt;a href=&quot;https://cstheory.stackexchange.com/a/243/&quot;&gt;Is there a Quantum PCP theorem?&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Typability of &lt;span class=&quot;math-container&quot;&gt;$F_\omega$&lt;/span&gt;: &lt;a href=&quot;https://cstheory.stackexchange.com/a/775/&quot;&gt;Are there terms untypable in &lt;span class=&quot;math-container&quot;&gt;$F_\omega$&lt;/span&gt; but typable with help of positive recursive types?&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Parity Games: &lt;a href=&quot;https://cstheory.stackexchange.com/a/789/&quot;&gt;Can parity games be solved in polynomial time?&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Sensitivity: &lt;s&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/a/196/&quot;&gt;Is sensitivity polynomially related to block sensitivity?&lt;/a&gt;&lt;/s&gt; (&lt;a href=&quot;https://arxiv.org/abs/1907.00847&quot; rel=&quot;noreferrer&quot;&gt;solved&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;li&gt;Discrete Log: &lt;a href=&quot;https://cstheory.stackexchange.com/a/997/&quot;&gt;Is the Discrete Log problem in P?&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;W&lt;a href=&quot;https://cstheory.stackexchange.com/a/181/&quot;&gt;1&lt;/a&gt; vs. FTP: &lt;a href=&quot;https://cstheory.stackexchange.com/a/2369/&quot;&gt;Is W[1] = FTP?&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;PH vs. BQP:&lt;a href=&quot;https://cstheory.stackexchange.com/a/223/&quot;&gt;Is BQP in PH?&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Learning: &lt;a href=&quot;https://cstheory.stackexchange.com/a/203/&quot;&gt;Is there any hypothesis class that is NP-Hard to (improperly) PAC learn?&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Cook vs. Karp: &lt;a href=&quot;https://cstheory.stackexchange.com/a/18922/&quot;&gt;Is NP-complete w.r.t. Cook reductions the same as NP-complete w.r.t. Karp reductions?&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;PH: &lt;a href=&quot;https://cstheory.stackexchange.com/a/998/&quot;&gt;Does Polynomial Hierarchy collapse?&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3&gt;Open Problem Lists&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://garden.irmacs.sfu.ca/?q=category/theoretical_computer_science&quot; rel=&quot;noreferrer&quot;&gt;Open Problem Garden&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://tlca.di.unito.it/opltlca/&quot; rel=&quot;noreferrer&quot;&gt;TLCA list of open problems&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="186" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2020-02-10T13:30:31.563" CommentCount="1" CommunityOwnedDate="2015-10-11T19:18:19.220" ContentLicense="CC BY-SA 4.0" />
  <row Id="32793" PostTypeId="2" ParentId="32780" CreationDate="2015-10-12T11:52:43.083" Score="7" Body="&lt;p&gt;The paper &lt;a href=&quot;http://onak.pl/download/publications/Nguyen_Onak-constant_time_approximation.pdf&quot;&gt;Constant-Time Approximation Algorithms via Local Improvements&lt;/a&gt; by Nguyen and Onak gives a lot of examples of random constant time approximation schemes: Maximum Matching (the running time depends only on the maximum degree of the graph), Set cover, etc. The authors present a method to design such algorithms.&lt;/p&gt;&#xA;" OwnerUserId="2954" LastActivityDate="2015-10-12T11:52:43.083" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32795" PostTypeId="1" AcceptedAnswerId="32800" CreationDate="2015-10-12T21:04:59.630" Score="4" ViewCount="268" Body="&lt;p&gt;A bistochastic matrix $A$ is a matrix with positive entries in which&#xA;each row/column sums to $1$.&#xA;By the Birkhoff von-Neumann theorem $A$ is a convex combination of &#xA;permutation matrices.&#xA;Further, by the Caratheodory theorem, $A$ can be written as a convex combination of at most $n^2 +1$ such matrices.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is known about the complexity of finding any such permutation-matrix decomposition of A?&#xA;Is this problem known to be NP-hard ?&#xA;Furthermore, suppose we are provided with such a succinct description of $A$, i.e.&#xA;$$&#xA;A = \sum_{i=1}^{n^2+1} c_i P_i, \ \ \sum_i c_i = 1, c_i \geq 0,&#xA;$$&#xA;where each $P_i$ is a permutation matrix.&#xA;Are there problems related to bi-stochastic matrices that become easier,&#xA;say computing the permanent of $A$ ?&lt;/p&gt;&#xA;" OwnerUserId="6238" LastEditorUserId="7286" LastEditDate="2015-10-13T12:28:50.163" LastActivityDate="2015-10-13T13:46:15.733" Title="The complexity of decomposing a bi-stochastic matrix" Tags="&lt;ds.algorithms&gt;&lt;co.combinatorics&gt;&lt;approximation-algorithms&gt;&lt;permutations&gt;&lt;permanent&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32797" PostTypeId="2" ParentId="18846" CreationDate="2015-10-12T23:46:17.257" Score="21" Body="&lt;p&gt;It is unknown whether or not&#xA;&lt;a href=&quot;https://cstheory.stackexchange.com/q/32538/337&quot;&gt;it is decidable to determine if a given shape can tile the plane&lt;/a&gt;,&#xA;even for polyomino tiles.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;hr /&gt;&#xA;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &#xA;&lt;a href=&quot;https://i.stack.imgur.com/284oP.jpg&quot; rel=&quot;nofollow noreferrer&quot;&gt;&lt;img src=&quot;https://i.stack.imgur.com/284oP.jpg&quot; alt=&quot;Tiling&quot;&gt;&lt;/a&gt;&#xA;&lt;br /&gt;&#xA;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &#xA;&lt;sup&gt;&#xA;(Image from &lt;a href=&quot;https://en.wikipedia.org/wiki/Polyomino#Tiling_the_plane_with_copies_of_a_single_polyomino&quot; rel=&quot;nofollow noreferrer&quot;&gt;Wikipedia&lt;/a&gt;.)&#xA;&lt;/sup&gt;&lt;/p&gt;&#xA;&#xA;&lt;hr /&gt;&#xA;" OwnerUserId="337" LastEditorUserId="337" LastEditDate="2019-11-07T17:11:56.583" LastActivityDate="2019-11-07T17:11:56.583" CommentCount="2" ContentLicense="CC BY-SA 4.0" />
  <row Id="32798" PostTypeId="1" CreationDate="2015-10-13T01:51:45.680" Score="11" ViewCount="238" Body="&lt;p&gt;It is well known that certain classes of &lt;strong&gt;NP&lt;/strong&gt;-problems have &lt;em&gt;dichotomy theorems,&lt;/em&gt; which guarantee that every task in the class is either &lt;strong&gt;NP&lt;/strong&gt;-complete or is in &lt;strong&gt;P&lt;/strong&gt;. The best known such result is &#xA;&lt;a href=&quot;https://en.wikipedia.org/wiki/Schaefer%27s_dichotomy_theorem&quot;&gt;Schaefer's dichotomy &#xA;theorem&lt;/a&gt;, along with a number of generalizations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My understanding is that proving these dichotomy theorems is not really easy. I wonder, if there is any relatively short explanation for why certain classes have dichotomy theorems, while others do not? What is the essential problem structure that makes these theorems possible? Or perhaps there is no such clearly understood structure, rather it is a mystery in each case why the class does or does not have a dichotomy theorem?&lt;/p&gt;&#xA;" OwnerUserId="12710" LastEditorUserId="12710" LastEditDate="2015-10-13T02:41:52.260" LastActivityDate="2015-10-13T12:23:18.753" Title="What do dichotomy theorems feed on?" Tags="&lt;cc.complexity-theory&gt;&lt;np&gt;&lt;descriptive-complexity&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32799" PostTypeId="2" ParentId="32798" CreationDate="2015-10-13T07:57:17.653" Score="2" Body="&lt;p&gt;For the case of Schaefer's dichotomy theorem, informally, the universal expressive power of Boolean CNF formulas built from non-Schaefer logical relations is behind the dichotomy. Every logical relation is definable by such formula using existential quantifier. This is stated formally in &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0890540103000373&quot; rel=&quot;nofollow&quot;&gt;Schaefer's expressibility theorem&lt;/a&gt; (Theorem 2.5).&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2015-10-13T12:23:18.753" LastActivityDate="2015-10-13T12:23:18.753" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32800" PostTypeId="2" ParentId="32795" CreationDate="2015-10-13T09:39:31.193" Score="6" Body="&lt;p&gt;&lt;strong&gt;Summary.&lt;/strong&gt; Using your favourite $O(n^d)$ algorithm for finding a matching in graphs on $O(n)$ vertices, there is a simple algorithm using  $O(\max\{n^{d+2},n^4\})$ operations over the reals for decomposing doubly-stochastic matrices. The run-time bound comes from $O(n^2)$ iterations of a procedure in which each iteration involves finding a matching, and modifying coefficients of an $n \times n$ matrix. (There are undoubtedly ways of streamlining these operations, at least in the case of the time required to modify the matrix coefficients.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Details.&lt;/strong&gt; &#xA;The following proof of the Birkhoff&amp;ndash;von Neumann theorem can be found e.g. in [1], and leads to an efficient algorithm for decomposing doubly-stochastic matrices.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We consider matrices $A$ whose rows and columns all sum to the same value (which for a doubly-stochastic input is initially 1). Let $N$ be the number of non-zero entries in your $n \times n$ doubly-stochastic matrix: in decomposing the matrix, we will reduce the number of non-zero entries while keeping the invariant of having constant line-sums. Thus at each stage, we have either $N \geqslant n$ or $N = 0$, by the invariant of having equal line-sums.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Set $t \gets 0$.&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;While $N &amp;gt; 0$:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Set $t \gets t + 1$.&lt;/li&gt;&#xA;&lt;li&gt;For each $i \in [n]$: let $S_i = \bigl\{ j \in [n]: A_{ij} &amp;gt; 0 \bigr\}$.&lt;/li&gt;&#xA;&lt;li&gt;Find a bijection $\sigma: [n] \to [n]$ such that $\sigma(i) \in S_i$&lt;br&gt;(such a bijection exists, and can be found efficiently, by Hall's Marriage criterion).&lt;/li&gt;&#xA;&lt;li&gt;Let $u^{(t)} = \min\,\bigl\{A_{i,\sigma(i)} : i \in [n]\bigr\}$, and let $P^{(t)}$ be the permutation matrix for which $P^{(t)}_{i,\sigma(i)} = 1$ for each $i \in [n]$. &lt;/li&gt;&#xA;&lt;li&gt;Update $A \gets \bigl(A - u^{(t)} P^{(t)}\bigr)$, and update $N$ to the number of non-zero elements of $A$&lt;br&gt;(which is smaller by at least $1$).&lt;/li&gt;&#xA;&lt;/ol&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Return $\bigl(u^{(1)},P^{(1)}\bigr)$, ... $\bigl(u^{(t)},P^{(t)}\bigr)$, representing the decomposition $\sum_{i\in[t]} u^{(i)} P^{(i)}$ of the input.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;[1] &lt;a href=&quot;https://books.google.co.uk/books?id=8-ipCAAAQBAJ&amp;amp;lpg=PA58&amp;amp;ots=aoNEzv1fh_&amp;amp;dq=decomposing%20doubly%20stochastic%20matrices&amp;amp;pg=PA58#v=onepage&amp;amp;q=decomposing%20doubly%20stochastic%20matrices&amp;amp;f=false&quot; rel=&quot;nofollow&quot;&gt;Extremal Combinatorics: With Applications in Computer Science&lt;/a&gt; by Stasys Jukna&lt;/p&gt;&#xA;" OwnerUserId="248" LastEditorUserId="248" LastEditDate="2015-10-13T13:46:15.733" LastActivityDate="2015-10-13T13:46:15.733" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32801" PostTypeId="1" CreationDate="2015-10-13T13:19:09.610" Score="-3" ViewCount="173" Body="&lt;p&gt;There is the basic paper of S.Winograd (&lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/0024379571900097&quot; rel=&quot;nofollow&quot;&gt;http://www.sciencedirect.com/science/article/pii/0024379571900097&lt;/a&gt;) about 2x2 matrix multiplication.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the proof of the main Theorem 3.1, there is a some proposition that&#xA;&quot; ... each c$^{'}_i,_j$ can be computed using only three multiplications&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I don't understand why.&#xA;Please help.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Yury&lt;/p&gt;&#xA;" OwnerUserId="35939" LastActivityDate="2015-10-14T10:10:31.490" Title="Winograd's proof of the lower bound for 2x2 matrix multiplication" Tags="&lt;matrix-product&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32803" PostTypeId="2" ParentId="32780" CreationDate="2015-10-13T14:01:53.020" Score="1" Body="&lt;p&gt;If the prime decomposition of the order $|G|$ of a group $G$ is given and a prime $p$, than combining &lt;a href=&quot;https://en.wikipedia.org/wiki/Cauchy%27s_theorem_%28group_theory%29&quot; rel=&quot;nofollow&quot;&gt;Cauchy's theorem&lt;/a&gt; and &lt;a href=&quot;https://en.wikipedia.org/wiki/Lagrange%27s_theorem_%28group_theory%29&quot; rel=&quot;nofollow&quot;&gt;Lagrange's Theorem&lt;/a&gt;, than it can be checked in time $m$, where $m$ are the number of distinct prime divisors of $|G|$, if $G$ has an element of order $p$. Now it is clear, that this is not constant time if $m$ is variable, but if you try to naively find such an element, for example by trying all elements of $G$, then the time will be at least $|G|$. If $m$ is fixed than it is constant time, namely time $m$, which is constant because $m$ is fixed. On the other hand, if one is pedantic, than one can argue, that no constant time algorithm exists if the algorithm first has to read a variable-length input to make a decision.&lt;/p&gt;&#xA;" OwnerDisplayName="user35803" LastActivityDate="2015-10-13T14:01:53.020" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32804" PostTypeId="1" CreationDate="2015-10-13T16:12:34.813" Score="2" ViewCount="201" Body="&lt;p&gt;Consider the following two system of linear (in)eqaulities:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$S = Ax \leq b;\; Cx = e$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$T = Dx \leq d;\; Gx = g$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;How can I check if $S\cap \neg T=\emptyset$ where $\neg T$ is the complement of the linear system $T$. &lt;/p&gt;&#xA;" OwnerUserId="10119" LastEditorUserId="10119" LastEditDate="2015-10-13T16:20:58.913" LastActivityDate="2015-10-13T16:20:58.913" Title="Inclusion of polytopes" Tags="&lt;ds.algorithms&gt;&lt;linear-algebra&gt;&lt;linear-programming&gt;&lt;computational-geometry&gt;" AnswerCount="0" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="32805" PostTypeId="2" ParentId="30581" CreationDate="2015-10-13T16:20:43.867" Score="1" Body="&lt;p&gt;There is a book by Neil Jones:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.diku.dk/~neil/comp2book2007/book-whole.pdf&quot; rel=&quot;nofollow&quot;&gt;Computability and Complexity from a Programming Perspective&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It uses Lisp S-exps as a more convenient -- from programmer perspective -- 'data-structure' than Gödel numbers and Turing encodings.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It also spends a significant number of pages on complexity. This is also  unlike most other classical computability texts that are based on models other than the Turing model (eg Lambda-calculus)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some paras from the preface..&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;A concrete connection between computability and programming&#xA;  languages: the dry-as-dust “s-m-n theorem” known in computability&#xA;  since the 1930s has proven its worth under the alias partial&#xA;  evaluation or program specialization.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;...&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;The “universal machine,” is nothing but a self-interpreter,&#xA;  well-known in programming languages. Further, the “simulations”&#xA;  seen in introductory computability and complexity texts are&#xA;  mostly achieved by informal compilers or, sometimes,&#xA;  interpreters.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Do I recommend it???&#xA;Well... Depends on your appetite for heavy reading... [No its not easy  ]&lt;/p&gt;&#xA;" OwnerUserId="35941" LastActivityDate="2015-10-13T16:20:43.867" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32808" PostTypeId="2" ParentId="32780" CreationDate="2015-10-13T22:50:31.787" Score="5" Body="&lt;p&gt;There are many examples of games studied in combinatorial game theory where the state of a game can be described by a constant number of integer values. For some of these, a winning strategy for the game can be computed in constant time. But they also raise questions about what exactly your model of computation is.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One of the simplest and most basic combinatorial games is nim: one has a constant number of piles of beans, and in a single move you can remove any number of beans from one pile, either winning or losing (depending on your choice of rules) if you take the last bean. The optimal strategy can be computed in constant time if you allow bitwise Boolean xor operations (i.e. the ^ operator in programming languages like C/C++/Java/etc.) Is this a constant time algorithm in your model?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here's one where it is known that there exists a constant time exact deterministic algorithm (in a possibly-unrealistic extended model of computation that allows you to test primality of a number in constant time) but it's not known what that algorithm is: given a starting move in the game of &lt;a href=&quot;https://en.wikipedia.org/wiki/Sylver_coinage&quot;&gt;Sylver coinage&lt;/a&gt;, determine whether it is a winning or losing move. A flowchart for this problem is given in Berlecamp, Conway, and Guy, &lt;em&gt;Winning Ways&lt;/em&gt;, but it depends on a finite set of counterexamples to a general characterization of the winning moves, and it's not known what that set is (or even whether it is empty).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another interesting example from combinatorial game theory is &lt;a href=&quot;https://en.wikipedia.org/wiki/Wythoff%27s_game&quot;&gt;Wythoff's game&lt;/a&gt;. Each game position can be described by a pair of integers (i.e., constant space, in your model of computation), moves in the game involve reducing one of these two integers to a smaller value, and the winning strategy involves moving to a position where the ratio between these two integers is as close to the golden ratio as possible. But in many game positions there is a choice: you can reduce the larger of the two integers either to the point where it is (nearly) the smaller integer times the golden ratio, or the smaller integer divided by the golden ratio. Only one of these two choices will be a winning move. So the optimal strategy can be defined in terms of a constant number of arithmetic operations, but these operations involve an irrational number, the golden ratio. Is that a constant time algorithm in your model? Maybe it's an example of non-uniform constant time, where the algorithm is constant time if it is given access to a constant amount of extra &quot;hint&quot; information that depends on $n$ (an approximation to the golden ratio accurate to $\log n$ bits) but not constant time using only arithmetic operations (no square roots) and fixed integer constants values?&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2015-10-13T22:50:31.787" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32810" PostTypeId="2" ParentId="32801" CreationDate="2015-10-14T10:10:31.490" Score="1" Body="&lt;p&gt;Because $\mathbf{c}' = R'\mathbf{p}$ and $R'$ contains 3 nonzero elements in each row.&lt;/p&gt;&#xA;" OwnerUserId="7470" LastActivityDate="2015-10-14T10:10:31.490" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32811" PostTypeId="1" CreationDate="2015-10-14T12:17:27.893" Score="0" ViewCount="34" Body="&lt;p&gt;Say I have a finite $n$-ary tree where each node contains state. For the sake of argument, let's say a key-value store. If we are interested in the aggregation of some key(s) at some node, then we fold over the subtree at that node with the appropriate function. However, this doesn't scale well.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An option would be to always fold whenever a node is inserted/removed, keeping a cache of each node's subtree aggregation and updating that. However, if a node were inserted deep in the structure, the resulting cascade up to the root would still be quite expensive.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a known data-structure that makes this aggregation cheap? Specifically, it needs to have cheap access and insert to nodes, their state and their aggregated subtree; while being happy to sacrifice space. (Ideally the aggregation should be precise, but if an estimate is possible, then that will suffice.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The best I've come up with is keeping the tree with a projection of its nodes onto a list, where each subtree occupies a contiguous region thereof, then folding over that to get the aggregate date. However, a fold over a flat bit of memory isn't going to be much better than the same thing over a subtree (i.e., it's still $O(n)$, modulo pointer lookups)... I'm just wondering if there's some clever trick.&lt;/p&gt;&#xA;" OwnerUserId="12872" LastActivityDate="2015-10-14T12:17:27.893" Title="Self-Aggregating Tree" Tags="&lt;ds.data-structures&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="32812" PostTypeId="2" ParentId="32601" CreationDate="2015-10-14T12:19:09.743" Score="6" Body="&lt;p&gt;It's of the order 2^{0.30897m}, see &lt;a href=&quot;http://logic.pdmi.ras.ru/~hirsch/abstracts/sodafull.html&quot;&gt;http://logic.pdmi.ras.ru/~hirsch/abstracts/sodafull.html&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(I am not aware of improvements for the number of clauses.)&lt;/p&gt;&#xA;" OwnerUserId="19643" LastActivityDate="2015-10-14T12:19:09.743" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32813" PostTypeId="2" ParentId="30733" CreationDate="2015-10-14T16:05:48.600" Score="2" Body="&lt;p&gt;games with just 2-buttons and 2-doors in which all doors are initially closed:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&quot;Levels&quot; are finite subgraphs of &lt;a href=&quot;http://mathworld.wolfram.com/GridGraph.html&quot; rel=&quot;nofollow&quot;&gt;the planar grid&lt;/a&gt;. $\:$ Vertices are identified as one of [start,button,empty,door,finish]. $\:$ Each door vertex has a set of opening buttons and a set of closing buttons. $\:$ A k-door is a door that's controlled by at most k buttons, and a a k-button is a button that controls at most k doors. $\:$ Whenever on a button vertex, one can press the button, which opens the doors that the button is an opening button for and closes the doors that the button is a closing button for. $\:$ The goal is to get from the start vertex to the end vertex without going on closed doors.&#xA;&lt;br&gt;&lt;br&gt;&lt;br&gt;&#xA;Such levels can clearly be solved in FPSPACE,&#xA;and solving them is FNPSPACE-hard&#xA;&lt;br&gt;&#xA;even when [each door has exactly one opening button and exactly one closing button]&#xA;&lt;br&gt;&#xA;and [each button opens exactly one door and closes exactly one door].&#xA;&lt;br&gt;&#xA;On the other hand, &lt;a href=&quot;http://arxiv.org/pdf/1411.5951v1.pdf#page=13&quot; rel=&quot;nofollow&quot;&gt;this paper&lt;/a&gt; states that &quot;It is an open problem whether a game with&#xA;&lt;br&gt;&#xA;2-buttons and 2-doors remains PSPACE-hard when all doors are initially  closed.&quot;&#xA;&lt;br&gt;&lt;br&gt;&lt;br&gt;&#xA;FNPSPACE-hardness when all doors are initially closed will be recovered if the exactly-one-of-each conditions from my previous paragraph are modified in either of the following ways:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;allow doors to have 2 opening buttons (in addition to 1 closing button)&#xA;&lt;br&gt;or&lt;br&gt;&#xA;allow buttons to close 2 doors (in addition to opening 1 door)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;.&#xA;&lt;br&gt;&lt;br&gt;&lt;br&gt;&#xA;Page 10 of &lt;a href=&quot;http://www.researchgate.net/publication/224642484_Grid_graph_reachability_problems&quot; rel=&quot;nofollow&quot;&gt;this paper&lt;/a&gt; shows that determining solvability is &lt;a href=&quot;https://complexityzoo.uwaterloo.ca/Complexity_Zoo:N#nc1&quot; rel=&quot;nofollow&quot;&gt;NC1&lt;/a&gt;-hard even with &lt;em&gt;no&lt;/em&gt; buttons and&#xA;&lt;br&gt;&#xA;&lt;em&gt;no&lt;/em&gt; doors. $\:$ Otherwise, I do not know of any hardness results for solving levels with 2-buttons&#xA;&lt;br&gt;&#xA;and 2-doors when all doors are initially closed (even without the exactly-one-of-each conditions).&lt;br&gt;&lt;br&gt;&lt;/p&gt;&#xA;" OwnerDisplayName="user6973" LastActivityDate="2015-10-14T16:05:48.600" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="32815" PostTypeId="2" ParentId="12007" CreationDate="2015-10-14T17:03:25.893" Score="8" Body="&lt;p&gt;&lt;em&gt;(wow! after three years of time passing, this is now easy to answer. funny how that goes! --Daniel)&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This &quot;Learning with (Signed) Errors&quot; (&lt;strong&gt;LWSE&lt;/strong&gt;) problem, as invented-and-stated above by me (three years ago), trivially reduces from the Extended Learning with Errors (&lt;strong&gt;eLWE&lt;/strong&gt;) problem first introduced in the work Bi-Deniable Public-Key Encryption by &lt;a href=&quot;https://eprint.iacr.org/2011/352.pdf&quot;&gt;O'Neill, Peikert, and Waters&lt;/a&gt; at CRYPTO 2011.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The &lt;strong&gt;eLWE&lt;/strong&gt; problem is defined analogously to the &quot;standard&quot; &lt;strong&gt;LWE&lt;/strong&gt; (i.e. [&lt;a href=&quot;http://www.cims.nyu.edu/~regev/papers/qcrypto.pdf&quot;&gt;Regev2005&lt;/a&gt;]), except the distributions' (efficient) distinguisher is additionally given &quot;hints&quot; on the LWE sample's error vector $\vec{x}$, in the form of (possibly noisy) inner products with an arbitrary vector $\vec{z}$. (In applications $\vec{z}$ is often the decryption-key vector of some cryptosystem.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Formally, the $\mathsf{eLWE}_{n,m,q,\chi,\beta}$ problem is described as follows:&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;For an integer $q = q(n) \ge 2$, and an error distribution $\chi = \chi(n)$ over $\mathbb{Z}_q$, the extended learning with errors problem is to distinguish between the following pairs of distributions:&#xA;$$&#xA;\{\mathbf{A}, \vec{b} = \mathbf{A}^T\vec{s}+\vec{x}, \vec{z}, \langle\vec{z}, \vec{x}\rangle + x' \},&#xA;$$&#xA;$$&#xA;\{\mathbf{A}, \vec{u}, \vec{z}, \langle\vec{z}, \vec{x}\rangle + x' \},&#xA;$$&#xA;where $\mathbf{A}\leftarrow \mathbb{Z}_q^{n\times m}, \vec{s}\leftarrow\mathbb{Z}_q^n, \vec{u}\leftarrow\mathbb{Z}_q^m, \vec{x}, \vec{z}\leftarrow\chi^m,$ and $x'\leftarrow\mathcal{D}_{\beta q}$, and where $\mathcal{D}_\alpha$ is the (1-dimensional) Discrete Gaussian distribution with width $\alpha$.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;It is easy to see that &lt;strong&gt;eLWE&lt;/strong&gt; captures &quot;the spirit&quot; of &lt;strong&gt;LWSE&lt;/strong&gt;, though a formal reduction can be shown with not too much additional effort.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Major follow-up ideas toward understanding the Extended-LWE problem are developed in the works:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Circular and KDM Security for Identity-Based Encryption by &lt;a href=&quot;https://www.cc.gatech.edu/grads/j/jmas6/pubs/kdm-ibe.pdf&quot;&gt;Alperin-Sheriff and Peikert&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Classical Hardness of Learning with Errors by &lt;a href=&quot;http://arxiv.org/pdf/1306.0281.pdf&quot;&gt;Brakerski, Langlois, Peikert, Regev, and Stehle&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Depending on whether your secret key lives in $\mathbb{Z}_q$ or is binary (and the nature of various other parameter choices), you can use the first or second paper's reductions to ultimately quantumly/classically reduce from $\mathsf{GapSVP}_\alpha$ with approximation factor $\alpha \ge \Omega(n^{1.5})$ to &lt;strong&gt;LWSE&lt;/strong&gt;.&lt;/p&gt;&#xA;" OwnerUserId="108" LastActivityDate="2015-10-14T17:03:25.893" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="32817" PostTypeId="1" CreationDate="2015-10-14T23:47:48.437" Score="7" ViewCount="288" Body="&lt;p&gt;Are there any evidences (&lt;strong&gt;1&lt;/strong&gt; physics, &lt;strong&gt;2&lt;/strong&gt; mathematics AND &lt;strong&gt;3&lt;/strong&gt; computer science) that particular problems such as integer factorization, discrete logarithm are in BQP but not in BPP? There do not seem to be any classical collapse results if these problems are in BPP. Is there reason to think BQP is certainly a class different from BPP?&lt;/p&gt;&#xA;" OwnerDisplayName="user34945" LastEditorDisplayName="user34945" LastEditDate="2015-10-19T17:11:10.083" LastActivityDate="2015-10-19T17:11:10.083" Title="Evidence that there is some problem in BQP distinct from BPP?" Tags="&lt;quantum-computing&gt;&lt;randomness&gt;" AnswerCount="1" CommentCount="6" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32818" PostTypeId="2" ParentId="32817" CreationDate="2015-10-15T06:07:00.783" Score="8" Body="&lt;p&gt;Scott Aaronson has been addressing this topic: &lt;a href=&quot;http://arxiv.org/abs/0910.4698&quot; rel=&quot;noreferrer&quot;&gt;http://arxiv.org/abs/0910.4698&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Related hardness results:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Boson sampling: &lt;a href=&quot;http://arxiv.org/abs/1011.3245&quot; rel=&quot;noreferrer&quot;&gt;http://arxiv.org/abs/1011.3245&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Commuting circuits: &lt;a href=&quot;http://arxiv.org/abs/1005.1407&quot; rel=&quot;noreferrer&quot;&gt;http://arxiv.org/abs/1005.1407&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;DQC1 model: &lt;a href=&quot;http://arxiv.org/abs/1509.07276&quot; rel=&quot;noreferrer&quot;&gt;http://arxiv.org/abs/1509.07276&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;Extended Clifford circuits: &lt;a href=&quot;http://arxiv.org/abs/1305.6190&quot; rel=&quot;noreferrer&quot;&gt;http://arxiv.org/abs/1305.6190&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="121" LastEditorUserId="121" LastEditDate="2015-10-15T16:19:14.383" LastActivityDate="2015-10-15T16:19:14.383" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="32819" PostTypeId="1" AcceptedAnswerId="32968" CreationDate="2015-10-15T06:26:35.803" Score="6" ViewCount="137" Body="&lt;p&gt;I have read that Furst, Sax, and Sipser came up with their lower bound for nonuniform AC0 while trying to prove an oracle separation. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can someone explain how proving lower bounds for circuits and constructing oracles separating complexity classes are related?&lt;br&gt;&#xA;Are there other circuit lower bounds related to separating oracles?&lt;br&gt;&#xA;Is there a general theme connecting nonuniform lower bounds for circuits and  separating oracles?&lt;/p&gt;&#xA;" OwnerUserId="14197" LastEditorUserId="186" LastEditDate="2015-11-03T08:37:45.793" LastActivityDate="2015-11-03T08:43:58.067" Title="Lower bounds for nonuniform circuits and oracles separating complexity classes" Tags="&lt;cc.complexity-theory&gt;&lt;circuit-complexity&gt;&lt;lower-bounds&gt;&lt;big-picture&gt;&lt;oracles&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="32820" PostTypeId="1" AcceptedAnswerId="39938" CreationDate="2015-10-15T11:09:38.963" Score="3" ViewCount="189" Body="&lt;p&gt;I've been reading the following paper:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;David Karger, Eric Lehman, Tom Leighton, Rina Panigrahy, Mathew Levine, Daniel Lewin, &quot;&lt;a href=&quot;http://doi.acm.org/10.1145/258533.258660&quot; rel=&quot;nofollow&quot;&gt;Consistent Hashing and Random Trees: Distributed Caching Protocols for Relieving Hot Spots on the World Wide Web&lt;/a&gt;&quot;, 1997. &lt;a href=&quot;https://www.akamai.com/us/en/multimedia/documents/technical-publication/consistent-hashing-and-random-trees-distributed-caching-protocols-for-relieving-hot-spots-on-the-world-wide-web-technical-publication.pdf&quot; rel=&quot;nofollow&quot;&gt;pdf&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;In the paper the authors mention that &#xA;the proofs will be available in the &quot;full paper&quot;. &#xA;But I cannot find any extended version of the paper with proofs.&#xA;Can someone direct me to a version with the proofs?&lt;/p&gt;&#xA;" OwnerUserId="35971" LastEditorUserId="186" LastEditDate="2015-10-16T00:10:30.887" LastActivityDate="2018-01-08T09:25:59.110" Title="Extended version of the paper &quot;Consistent Hashing and Random Trees&quot; with proofs" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;randomized-algorithms&gt;&lt;hash-function&gt;&lt;cache-oblivious&gt;" AnswerCount="2" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32821" PostTypeId="2" ParentId="25759" CreationDate="2015-10-15T11:28:47.027" Score="4" Body="&lt;p&gt;As proved in [1], Boolean languages computable in $\mathrm P_\mathbb C$ are in $\mathrm{BPP}$. (They state it for $\mathrm P_\mathbb R$ without inequality tests, which amounts to the same thing.) On the other hand, Boolean NP-languages are computable in $\mathrm{NP}_\mathbb C$, hence&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\mathrm{NP}_\mathbb C=\mathrm P_\mathbb C\implies\mathrm{NP}\subseteq\mathrm{BPP},$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;which is another way to state Smale’s claim. While it is not directly relevant to the question, note that also&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\mathrm{NP}\subseteq\mathrm{BPP}\iff\mathrm{NP}=\mathrm{RP}.$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] F. Cucker, M. Karpinski, P. Koiran, T. Lickteig, and K. Werther: On real Turing machines that toss coins. Proceedings of ACM STOC’95, pp. 335–342, 1995. &lt;a href=&quot;http://dx.doi.org/10.1145/225058.225155&quot; rel=&quot;nofollow&quot;&gt;doi:10.1145/225058.225155&lt;/a&gt;; &lt;a href=&quot;http://theory.cs.uni-bonn.de/~marek/publications/coins.ps.gz&quot; rel=&quot;nofollow&quot;&gt;preprint&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="6959" LastActivityDate="2015-10-15T11:28:47.027" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32824" PostTypeId="1" CreationDate="2015-10-14T11:53:54.327" Score="12" ViewCount="213" Body="&lt;p&gt;(The specific problem I have is stated as precisely as I could in the very last paragraph which starts with a boldface &quot;Question:&quot;, up until then the question provides context for it.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Say we have an undirected vertex-weighted graph $G=(V,E,w)$ on $n$ vertices and want to find an optimal fractional vertex cover. You could use the following linear program (see &lt;a href=&quot;http://theory.stanford.edu/~trevisan/cs261/lecture07.pdf&quot;&gt;these lecture notes&lt;/a&gt;) to do this:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;\begin{align}&#xA;\text{minimize} &amp;amp;\sum_{v \in V} w(v)\cdot x_v \\&#xA;x_v &amp;amp;\leq 1 \qquad \forall v \in V \\&#xA;x_v &amp;amp;\geq 0 \qquad \forall v \in V \\&#xA;x_u + x_v &amp;amp;\geq 1 \qquad \forall \{u,v\} \in E&#xA;\end{align}&lt;/p&gt;&#xA;&#xA;&lt;p&gt;That gives you a polynomial time algorithm since there are polynomially many constraints, and there are polynomial time algorithms for linear programming.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However: what if there are superpolynomially many constraints? I have come across claims that you can still solve linear programs of that kind if you only have polynomially many explicit constraints (i.e. a constraint matrix of polynomial size) and for the remaining constraints, you get an implicit specification called a &quot;separation oracle&quot; (see e.g. &lt;a href=&quot;http://www.cc.gatech.edu/~vempala/acg/www/18.433/L18.pdf&quot;&gt;these notes&lt;/a&gt;): such an oracle is a p-time algorithm that can check whether a constraint was violated and if so, produce a violated constraint. This works for the ellipsoid algorithm since the violated constraint defines a separating hyperplane (if I understood that correctly). An example for such a linear program is the one &lt;a href=&quot;http://dx.doi.org/10.1109/SFCS.1995.492463&quot;&gt;Even et al.&lt;/a&gt; used as part of an approximation algorithm for the &lt;a href=&quot;https://www.nada.kth.se/~viggo/wwwcompendium/node55.html&quot;&gt;minimum linear arrangement&lt;/a&gt; problem, where given an edge-weighted, connected, undirected graph $G=(V,E,w)$, we want to find a bijection $\pi: V \to [|V|]$ that minimizes $\sum_{\{u,v\}=e \in E} w(e)\cdot |\pi(u) - \pi(v)|$. The LP is this:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;\begin{align}&#xA;\text{minimize} &amp;amp;\sum_{e \in E} w(e)\cdot l(e) \\&#xA;&amp;amp;\forall U \subseteq V:\, \forall v\in U: \sum_{u \in U} \text{dist}_l(u,v)\geq \frac{1}{4}(|U|^2-1) \\&#xA;&amp;amp;\forall e\in E:\,l(e) \geq 0&#xA;\end{align}&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here, $\text{dist}_l(u,v)$ is the shortest-path distance between $u$ and $v$ according to $l$. The second line specifies exponentially many constraints, however a separation oracle exists: first, run all-pairs-shortest-paths with respect to $l$, then for each vertex, sort the distances to all other vertices in ascending order. A constraint belonging to the second line is violated iff for some vertex $v$, the first $1\leq k \leq n-1$ distances sum to less than $\frac{(k+1)^2-1}{4}$, and in this case a witness for the violation consists of the endpoints of those shortest paths.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I've also seen claims that instead of the ellipsoid algorithm, one can use interior point methods. From what I've read, &quot;interior point&quot; doesn't refer to a single algorithm (or set of close variants of one algorithm) that solves the linear programming problem, but a number of different algorithms for different classes of problems. The &lt;a href=&quot;http://dx.doi.org/10.1007/BF01594937&quot;&gt;paper where Ye's algorithm&lt;/a&gt; was introduced has extensive references on the development of interior point methods. I was also unable to find references that outline how to use interior point methods to solve implicitly specified linear programs that would have superpolynomial size if specified explicitly.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question:&lt;/strong&gt; Which interior point methods can be used to solve implicitly defined linear programs (which would have superpolynomial size if defined explicitly) in polynomial time, and how does the implicit definition have to be specified?&lt;/p&gt;&#xA;" OwnerUserId="8871" OwnerDisplayName="G. Bach" LastActivityDate="2015-10-15T16:53:58.770" Title="Linear programming with superpolynomially many constraints?" Tags="&lt;linear-programming&gt;" AnswerCount="0" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="32825" PostTypeId="1" CreationDate="2015-10-15T17:32:11.273" Score="1" ViewCount="105" Body="&lt;p&gt;Inspired by &lt;a href=&quot;https://cstheory.stackexchange.com/questions/20883/techniques-for-showing-that-problem-is-in-hardness-limbo&quot;&gt;Suresh's post&lt;/a&gt;, for a new problem in $\mathsf{coNP}$, whose true proof complexity is intermediate between $\mathsf{NP \cap coNP}$ and being coNP-complete, I am interested in methods which show that it is probably hard to prove the existence of good characterization.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What techniques and methods do exist to show that a $coNP$ problem might not have good characterization?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="495" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2015-10-15T17:58:06.450" Title="Techniques for showing intermediate status between $\mathsf{NP \cap coNP}$ and coNP-completeness" Tags="&lt;cc.complexity-theory&gt;&lt;proof-complexity&gt;" AnswerCount="0" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="32828" PostTypeId="1" CreationDate="2015-10-15T23:44:47.480" Score="1" ViewCount="111" Body="&lt;p&gt;I'm taking a class in enumerative combinatorics. The professor focusses on the complexity of solving combinatorics problems like partitions etc. I'm using Enumerative Combinatorics but it does not talk about complexity. What's a good book/website/resource that touches on enumerative (or even extremal) combinatorics and complexity of counting?&lt;/p&gt;&#xA;" OwnerUserId="28589" LastActivityDate="2015-10-20T14:34:57.383" Title="What's a good advanced textbook/resource for studying the complexity of counting and combinatorics?" Tags="&lt;combinatorics&gt;&lt;complexity&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32829" PostTypeId="1" CreationDate="2015-10-16T00:24:21.203" Score="18" ViewCount="611" Body="&lt;p&gt;In the official Clay problem description for P versus NP it's stated that $P \neq NP$ would follow from showing that &quot;every language in $E$ [the class of languages recognizable in exponential time with a deterministic Turing machine] can be computed by a Boolean circuit family $&amp;lt;B_n&amp;gt;$ such that for at least one $n$, $B_n$ has fewer gates than the maximum needed to&#xA;compute any Boolean function $f: \{0,1\}^n \longrightarrow \{0,1\}$.&quot; However, the only reference is that this &quot;is an intriguing observation by V. Kabanets.&quot; Could someone please point me to a published version of this implication with the proof?&lt;/p&gt;&#xA;" OwnerUserId="35977" LastActivityDate="2015-10-17T03:46:59.657" Title="Proof that circuit upper bounds for $E$ imply $P \neq NP$" Tags="&lt;cc.complexity-theory&gt;&lt;circuit-complexity&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="32830" PostTypeId="2" ParentId="32829" CreationDate="2015-10-16T02:30:54.380" Score="6" Body="&lt;p&gt;googling around found me this paper which was published with the refrence below.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Circuit minimization problem&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Valentine Kabanets and Jin-Yi Cai&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;em&gt;We study the complexity of the circuit minimization problem: given the truth table of a Boolean function f and a parameter s, decide whether f can be realized by a Boolean circuit of size at most s. We argue why this problem is unlikely to be in P (or even in P/poly) by giving a number of surprising consequences of such an assumption. We also argue that proving this problem to be NP-complete (if it is indeed true) would imply proving strong circuit lower bounds for the class E, which appears beyond the currently known techniques.&lt;/em&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;This appeared to be published below.&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;extended abstract in Proceedings of the Thirty-Second Annual ACM Symposium on Theory of Computing (STOC'00), pages 73-79, 2000.&#xA;technical report, in Electronic Colloquium on Computational Complexity TR99-045, 1999.&#xA;&lt;a href=&quot;http://www.cs.sfu.ca/%7Ekabanets/Research/circuit.html&quot; rel=&quot;noreferrer&quot;&gt;http://www.cs.sfu.ca/~kabanets/Research/circuit.html&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;extended abstract in Proceedings of the Thirty-Second Annual ACM Symposium on Theory of Computing (STOC'00), pages 73-79, 2000.&#xA;&lt;a href=&quot;http://eccc.hpi-web.de/report/1999/045/&quot; rel=&quot;noreferrer&quot;&gt;http://eccc.hpi-web.de/report/1999/045/&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="5385" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2015-10-16T02:30:54.380" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32831" PostTypeId="2" ParentId="31593" CreationDate="2015-10-16T04:36:24.347" Score="6" Body="&lt;p&gt;It seems obvious, but from personal experience, the idea that you can estimate the median of a collection of items using a constant number of operations is a little shocking. And if that seems a little too technical, you can always convert it into a statement about polls an elections (you need 1300 people to get a sample with 3% error, regardless of the population size). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Related to this is the &lt;a href=&quot;https://en.wikipedia.org/wiki/Birthday_problem&quot; rel=&quot;noreferrer&quot;&gt;birthday paradox&lt;/a&gt; of course. &lt;/p&gt;&#xA;" OwnerUserId="80" LastActivityDate="2015-10-16T04:36:24.347" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32832" PostTypeId="2" ParentId="32829" CreationDate="2015-10-16T07:20:01.847" Score="25" Body="&lt;p&gt;I don't think the paper in the other answer contains an answer to your question. Indeed I am not really sure a proof has been published, because the result follows from other well known results. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The proof of the statement you want is as follows: &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;$\Sigma_3 E$ contains a function of maximum possible circuit complexity on every input length, by simply defining a function which proves itself (using alternation) to be different from all functions with non-maximum circuit complexity. This is standard and the proof idea can be found in sources such as Arora and Barak's textbook.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;If $P = NP$ then $\Sigma_3 E = E$, by padding and the collapse of the polynomial time hierarchy to $P $.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Therefore if $P = NP$ then there is a language in $E$ with maximum circuit complexity. This is the contrapositive of what you want to prove.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="225" LastEditorUserId="17636" LastEditDate="2015-10-17T03:46:59.657" LastActivityDate="2015-10-17T03:46:59.657" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="32833" PostTypeId="1" CreationDate="2015-10-16T09:14:52.240" Score="0" ViewCount="24" Body="&lt;p&gt;Context: &lt;a href=&quot;http://www3.nd.edu/~dchiang/papers/synchtut.pdf&quot; rel=&quot;nofollow&quot;&gt;http://www3.nd.edu/~dchiang/papers/synchtut.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On page 3, under the section &lt;strong&gt;Properties&lt;/strong&gt;, at the end of the paragraph labeled &lt;strong&gt;Closure under composition?&lt;/strong&gt;, the author mentions '&lt;em&gt;tree relations definable by synchronous CFGs&lt;/em&gt;' in contrast to '&lt;em&gt;string relations&lt;/em&gt;'.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I can't quite make out what he means here. If he hadn't made that claim, I'd have naively and happily believed that every synchronous CFG was effectively (reductively...) taking two parse trees and relating them production by production and thus trivially representing some tree-like relation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What's the difference between the two?&lt;/p&gt;&#xA;" OwnerUserId="14359" LastActivityDate="2015-10-16T09:14:52.240" Title="Difference between 'string relations' and 'tree relations' w.r.t. synchronous CFGs" Tags="&lt;context-free&gt;" AnswerCount="0" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="32834" PostTypeId="1" AcceptedAnswerId="32855" CreationDate="2015-10-16T14:08:03.950" Score="5" ViewCount="84" Body="&lt;p&gt;Interaction combinators can be evaluated using a path traversing strategy. That is, instead of applying annihilation/commutation rules to active pairs, one simply walks through the graph using a 2-stack machine to keep track of the exit ports.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is known that this strategy, used naively, can have an exponential slowdown in relation to the former strategy. But that doesn't consider the possibility of jumps. Suppose that, instead of merely walking through the graph, the cursor also keeps track of the nodes it passed through. It it comes back to the same node, it jumps directly to the node whose active port would-be to interact with that one.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is it possible to use this strategy to evaluate interaction combinators? Can it be as efficient as the graph-reduction view?&lt;/p&gt;&#xA;" OwnerUserId="17388" LastActivityDate="2015-10-19T18:16:11.617" Title="Is it possible to evaluate interaction combinators efficiently using a path-traveling strategy?" Tags="&lt;lambda-calculus&gt;&lt;interaction-nets&gt;&lt;interaction-combinators&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32835" PostTypeId="1" AcceptedAnswerId="32844" CreationDate="2015-10-16T15:12:51.997" Score="10" ViewCount="238" Body="&lt;p&gt;The transducers considered here are those Wikipedia calls &lt;a href=&quot;https://en.wikipedia.org/wiki/Finite_state_transducer&quot;&gt;finite state transducers&lt;/a&gt;.  The behavior of a transducer $T$, that is, the relation it computes, is written $[T]$: a word $y$ is an output for $x$ iff $x[T]y$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Question:&lt;/em&gt; Is the following problem decidable:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Given: A transducer $T$ and a regular language $L$&lt;br/&gt;&#xA;  Decide: Does it hold that $\forall x \in L$, $\forall y$ a word, $x[T]y$ implies that $|y| \leq |x|$?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I'm looking for nontrivial analysis/solvable subcases, reduction to known problems and/or related refs. (right now not even sure it is decidable in general...?)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Motivation:&lt;/em&gt; this problem was inspired by analysis/inquiry into &lt;a href=&quot;https://en.wikipedia.org/wiki/Automated_theorem_proving&quot;&gt;automated theorem proving&lt;/a&gt; of number theoretic problems in general and a highly-studied one, &lt;a href=&quot;https://en.wikipedia.org/wiki/Collatz_conjecture&quot;&gt;Collatz conjecture&lt;/a&gt;, in particular.&lt;/p&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="88" LastEditDate="2015-10-17T14:52:24.640" LastActivityDate="2015-10-17T17:22:37.537" Title="Is it decidable whether the output length of a transducer is bounded by the input length?" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;automata-theory&gt;&lt;regular-language&gt;&lt;dfa&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32836" PostTypeId="1" CreationDate="2015-10-16T21:42:06.570" Score="4" ViewCount="221" Body="&lt;p&gt;The $\textsf{GapHammingDistance}$ problem over $\{0,1\}^n$ is defined as follows: Alice (resp. Bob) is given an input $x\in\{0,1\}^n$ (resp, $y\in\{0,1\}^n$), under the promise that their Hamming distance satisfies&#xA;$$&#xA;\operatorname{d}_H(x,y) \in \left\{0,\dots,\frac{n}{2}-\sqrt{n}\right\}\cup\left\{\frac{n}{2}+\sqrt{n},\dots,n\right\}.&#xA;$$&#xA;Their goal is to decide, wth probability at least $2/3$, whether $\operatorname{d}_H(x,y) \leq \frac{n}{2}-\sqrt{n}$; or $\operatorname{d}_H(x,y) \geq \frac{n}{2}+\sqrt{n}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A lower bound of $\Omega(n)$ is know for the one-way communication (randomized) version of this problem, as well as for the unbounded two-way communication.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, I am interested in the following two variants: is a linear lower bound (or &lt;em&gt;a&lt;/em&gt; lower bound) known for the one-way randomized communication complexity of this problem, under the additional constraints:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;(dominated version) $y \preceq x$, i.e. $y_i \leq x_i$ for all $i\in[n]$; or&lt;/li&gt;&#xA;&lt;li&gt;(one-sided version) $\operatorname{d}_H(x,y) = \frac{n}{2}$; or $\operatorname{d}_H(x,y) \geq \frac{n}{2}+\sqrt{n}$&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;(I am mostly interested in the first)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I apologize if this is obvious, or follows easily from the proofs of the lower bounds for Gap-Hamming of Woodruff or Jayram-Kumar-Sivakumar; or the more recent ones for two-way communication. As far as I could tell, these proofs move the problem to the continuous, Gaussian setting, and it was unclear to me how to get the continuous version of the variants above. &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.theoryofcomputing.org/articles/v004a006/&quot; rel=&quot;nofollow&quot;&gt;The One-Way Communication Complexity of Hamming Distance&lt;/a&gt;, by T. S. Jayram, Ravi Kumar, and D. Sivakumar (2008)&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://theoryofcomputing.org/articles/v008a008/&quot; rel=&quot;nofollow&quot;&gt;The Communication Complexity of Gap Hamming Distance&lt;/a&gt;, by Alexander A. Sherstov (2012)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit:&lt;/strong&gt; As pointed out in the comments by Denis Pankratov, the first variant admits a trivial $O(\log n)$ upper bound (sending $\lvert x\rvert$ to Bob is enough).&lt;/p&gt;&#xA;" OwnerUserId="13319" LastEditorUserId="13319" LastEditDate="2015-10-17T12:28:17.247" LastActivityDate="2015-10-17T12:28:17.247" Title="One-way randomized complexity of (variants of) Gap-Hamming-Distance?" Tags="&lt;lower-bounds&gt;&lt;communication-complexity&gt;" AnswerCount="0" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32837" PostTypeId="2" ParentId="30624" CreationDate="2015-10-17T04:48:47.200" Score="9" Body="&lt;p&gt;The &lt;a href=&quot;https://en.wikipedia.org/wiki/Skolem_problem&quot;&gt;Skolem problem&lt;/a&gt; (given a linear recurrence with integer base cases and integer coefficients, does it ever reach the value 0) is known to be NP-hard and not known to be decidable. As far as I know anything in between would be consistent with our current knowledge without any collapses of standard complexity classes.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2015-10-17T04:48:47.200" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32838" PostTypeId="1" CreationDate="2015-10-17T06:30:29.180" Score="0" ViewCount="43" Body="&lt;p&gt;I have two problems for scheduling:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Packets arrive at a router. Router schedules them i.e. router determines which one will go out first and which one last. Here, the problem is which packet to send first and which to last.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Packets arrive to a scheduler and it decides which packet will go out on which path. Here, the problem is to choose between paths -- which we call scheduling.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Is there any equivalence between the two problems ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What do I mean by equivalence : Like consider a FIFO scheduling policy in 1. Is there any policy for problem 2 that can be fundamentally called similar to FIFO policy in 1 ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there any transformation from a solution of problem 1 to 2 ?&lt;/p&gt;&#xA;" OwnerUserId="35986" LastActivityDate="2015-10-17T06:30:29.180" Title="Equilvalence among two Scheduling problems" Tags="&lt;ds.algorithms&gt;&lt;ds.data-structures&gt;&lt;scheduling&gt;&lt;equivalence&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="32839" PostTypeId="1" CreationDate="2015-10-17T08:13:41.753" Score="8" ViewCount="222" Body="&lt;p&gt;What are some practical applications (existing or potential) for Martin Escardo's &lt;a href=&quot;http://math.andrej.com/2007/09/28/seemingly-impossible-functional-programs/&quot; rel=&quot;nofollow&quot;&gt;&quot;Seemingly Impossible Functional Programs&quot;?&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For starters, &lt;a href=&quot;http://www.cs.bham.ac.uk/~mhe/.talks/popl2012/escardo-popl2012.pdf&quot; rel=&quot;nofollow&quot;&gt;here are a few from&lt;/a&gt;:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Alex Simpson’s Lazy functional algorithms for exact real functionals.&#xA;Compute maximum value and integral of a real function, with real numbers&#xA;represented as infinite sequences of digits.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Verification of real-number programs by checking infinitely many cases.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="13286" LastEditorUserId="705" LastEditDate="2015-10-19T13:31:08.153" LastActivityDate="2015-10-19T13:31:08.153" Title="Applications of &quot;Seemingly Impossible Functional Programs&quot;" Tags="&lt;computability&gt;&lt;topology&gt;" AnswerCount="0" CommentCount="0" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="32840" PostTypeId="1" AcceptedAnswerId="32866" CreationDate="2015-10-17T10:12:58.473" Score="1" ViewCount="1280" Body="&lt;p&gt;&lt;strong&gt;Thanks to Petr and Andrej for their feedback. &#xA;I'm rephrasing my question and give a bit of a context:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Functional programming languages are mostly based on lambda calculus.&#xA;Implementing a functional language straight forward is inefficient on today's hardware. For example:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;\begin{eqnarray}&#xA;f &amp;amp;\equiv&amp;amp;\ \lambda x.\lambda y.\ x+y \\&#xA;g &amp;amp;\equiv&amp;amp;\ f\ v&#xA;\end{eqnarray}&#xA;Those functions will have the following types:&#xA;\begin{eqnarray}&#xA;f &amp;amp;\colon&amp;amp; a \rightarrow b \rightarrow c  \\&#xA;g &amp;amp;\colon&amp;amp; a \rightarrow b&#xA;\end{eqnarray}&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now the function $g$ needs to store the variable $v$ in an runtime environment, when the variable $v$ is only accessible in a specific context.&#xA;This concept is known as &lt;em&gt;closure&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm looking for an method to eliminate all closures in a given program and avoid the allocation of environments at runtime.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Is this even possible?&lt;/li&gt;&#xA;&lt;li&gt;What are the disadvantage of such an algorithm? &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Thanks to Petr for mentioning the S-K basis.&#xA;As I understand, the combinator graph reduction will put any function in a point-free style. However by applicate arguments partially, there is still some form of environment necessary.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Original question:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Is a purely functional programming language like Haskell still turing&#xA;complete without the concept of closures?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Or the other way around: Is it possible to eliminate all closures in&#xA;a Haskell program in order to use no heap space?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerDisplayName="user36006" LastEditorDisplayName="user36006" LastEditDate="2015-10-19T12:47:46.087" LastActivityDate="2015-10-20T20:54:34.777" Title="How to implement a functional programming language efficiently?" Tags="&lt;functional-programming&gt;&lt;haskell&gt;" AnswerCount="2" CommentCount="7" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="32842" PostTypeId="2" ParentId="427" CreationDate="2015-10-17T12:29:24.677" Score="1" Body="&lt;p&gt;The annual GECCO conference (pretty much the premier venue for evolutionary computation research) has a `Real World Applications' track.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See also &lt;a href=&quot;http://rain.ifmo.ru/~buzdalov/ec-2015/08-rwa-1.pdf&quot; rel=&quot;nofollow&quot;&gt;this&lt;/a&gt; recent presentation:&lt;/p&gt;&#xA;" OwnerUserId="13286" LastActivityDate="2015-10-17T12:29:24.677" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32843" PostTypeId="2" ParentId="32840" CreationDate="2015-10-17T14:07:54.513" Score="9" Body="&lt;p&gt;It's not entirely clear what do you mean by a functional programming language without closures. Can you give an example?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Functional programming languages are usually based on &lt;a href=&quot;https://en.wikipedia.org/wiki/Lambda_calculus&quot;&gt;lambda calculus&lt;/a&gt;, whose essential part is that you can have open lambda terms. For example the term for the constant function (the K-combinator) $\lambda x . \lambda y . x$ can be viewed as a function that given $x$ returns a constant function that returns $x$ on any argument - a closure of the open term $\lambda y . x$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However you can use another basis, a &lt;a href=&quot;https://en.wikipedia.org/wiki/Combinatory_logic#Combinatory_calculi&quot;&gt;combinatory calculus&lt;/a&gt; such that it's power is equivalent to the lambda calculus. Then you can take a lambda term and convert it into an equivalent combinator that doesn't use any variables at all, so there are even no closures to talk about - see &lt;a href=&quot;https://en.wikipedia.org/wiki/Combinatory_logic#Completeness_of_the_S-K_basis&quot;&gt;Completeness of the S-K basis&lt;/a&gt;. Which I believe answers &lt;em&gt;yes&lt;/em&gt; to your question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is actually what Haskell compilers do under the hood. Evaluating lambda terms with variables is very inefficient and cumbersome, so they convert the program to a representation without variables and use techniques such as &lt;a href=&quot;https://en.wikipedia.org/wiki/Graph_reduction#Combinator_graph_reduction&quot;&gt;combinator graph reduction&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I can recommend two books on the subject which are both available online, the first one more theoretical, the second one focused more on the actual implementation techniques:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://research.microsoft.com/en-us/um/people/simonpj/papers/slpj-book-1987/&quot;&gt;The Implementation of Functional Programming Languages, Simon Peyton Jones, published by Prentice Hall, 1987.&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://research.microsoft.com/en-us/um/people/simonpj/Papers/pj-lester-book/&quot;&gt;Implementing functional languages: a tutorial&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="10336" LastActivityDate="2015-10-17T14:07:54.513" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32844" PostTypeId="2" ParentId="32835" CreationDate="2015-10-17T17:22:37.537" Score="8" Body="&lt;p&gt;&lt;em&gt;The other contributor deleted his answer, maybe to let me extend my above comment, so here it is.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $T$ be a possibly nondeterministic transducer, and $L$ be a regular language.  Modify $T$ into a transducer $T'$ that checks that its input is in $L$ (by, e.g., changing the state set into the Cartesian product of the state sets of  $T$ and $L$, and modifying the transition function so that the $L$ part of the states is properly updated, while retaining the behavior of $T$.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A &lt;em&gt;branch&lt;/em&gt; of $T'$ is a sequence $\rho_1 C_1\rho_2 C_2 \cdots \rho_n C_n \rho_{n+1}$ such that $\rho_1\rho_2 \cdots \rho_{n+1}$ is an accepting simple path in $T'$, and each $C_i$ is a strongly connected component of $T'$ the states of which include the destination of $\rho_i$ (and the origin of $\rho_{i+1}$).  The branch is &lt;em&gt;tame&lt;/em&gt; if:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;The input length of the path $\rho_1\rho_2\cdots\rho_{n+1}$ is greater than or equal to its output length;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;For any $i$, any simple cycle in $C_i$, the input length of the cycle is greater than or equal to its output length.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Fact:&lt;/strong&gt; $\big[$ For any $x, y$, $x[T']y$ implies $|y| \leq |x|$ $\big]$ iff all branches are tame.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The proof is rather immediate.  The latter property being decidable (as the number of branches is bounded, and the number of simple cycles too), this shows that the problem of the question is decidable.&lt;/p&gt;&#xA;" OwnerUserId="88" LastActivityDate="2015-10-17T17:22:37.537" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="32845" PostTypeId="1" AcceptedAnswerId="32846" CreationDate="2015-10-17T20:04:19.423" Score="1" ViewCount="159" Body="&lt;p&gt;It is known that a wide range of algorithms fall into the statistical query (SQ) learning model by Michael Kearns. Examples include k-means, logistic regression, naive Bayes (NB), SVM, ICA, PCA, gaussian discriminant analysis, EM, and backpropagation for neural networks. (See, e.g., &lt;a href=&quot;http://papers.nips.cc/paper/3150-map-reduce-for-machine-learning-on-multicore.pdf&quot; rel=&quot;nofollow&quot;&gt;http://papers.nips.cc/paper/3150-map-reduce-for-machine-learning-on-multicore.pdf&lt;/a&gt; for proofs.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;According to Feldman et al. (&lt;a href=&quot;http://arxiv.org/pdf/1201.1214v5.pdf&quot; rel=&quot;nofollow&quot;&gt;http://arxiv.org/pdf/1201.1214v5.pdf&lt;/a&gt;), it seems that MCMC also belongs to the SQ model. However, I didn't find any concrete proofs for this simple fact in existing literature. So, does MCMC directly falls into the SQ model? Or it requires modifications to fit in?&lt;/p&gt;&#xA;" OwnerUserId="32044" LastActivityDate="2015-10-18T06:14:43.367" Title="Does MCMC belong to the statistical query model?" Tags="&lt;machine-learning&gt;&lt;query-complexity&gt;&lt;pac-learning&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32846" PostTypeId="2" ParentId="32845" CreationDate="2015-10-18T06:14:43.367" Score="4" Body="&lt;p&gt;Let me first clarify what the paper states: &quot;Most algorithmic approaches used in practice and in theory on a wide variety of problems can be implemented using only access to such an [meaning SQ] oracle&quot;. So the question is not really whether MCMC &quot;falls into the SQ framework&quot; (the framework does not place any restrictions on computation) but whether the access to data samples that is necessary to run the algorithm can be replaced with access to an SQ oracle without invalidating the guarantees provided by the algorithm. One can also show that an algorithm for which we have no guarantees is an SQ algorithm but that requires an implementation using an &quot;unbiased&quot; oracle (referred to as 1-STAT in the paper). Lower bounds that can be proved against such an oracle are weaker.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now regarding MCMC with SQs: the main way to apply MCMC to these kinds of problems that we had in mind in described in an example at the bottom of page 4. Please also take a look at the proof of Thm. 9 here in a follow up paper on this type of techniques:&#xA;&lt;a href=&quot;http://arxiv.org/pdf/1311.4821v5.pdf&quot; rel=&quot;nofollow&quot;&gt;http://arxiv.org/pdf/1311.4821v5.pdf&lt;/a&gt; &lt;/p&gt;&#xA;" OwnerUserId="968" LastActivityDate="2015-10-18T06:14:43.367" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32848" PostTypeId="1" AcceptedAnswerId="32863" CreationDate="2015-10-18T12:40:11.160" Score="10" ViewCount="2238" Body="&lt;p&gt;Let $G=(V,E)$ be a simple undirected graph on $n$ vertices and $m$ edges.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm trying to determine the expected running time of &lt;a href=&quot;http://www.cs.cmu.edu/~15859n/RelatedWork/RandomTrees-Wilson.pdf&quot; rel=&quot;nofollow noreferrer&quot; title=&quot;David Wilson. &amp;quot;Generating random spanning trees more quickly than the cover time.&amp;quot; (1996)&quot;&gt;Wilson's algorithm&lt;/a&gt; for generating a random spanning tree of $G$. There, it is shown to be $O(\tau)$, where $\tau$ is the &lt;em&gt;mean hitting time&lt;/em&gt;: $$\tau = \sum_{v \in V} \pi(v) \cdot H(u, v), $$ where:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$\pi$ is the &lt;em&gt;stationary distribution&lt;/em&gt; $\pi(v)=\frac{d(v)}{2m}$,&lt;/li&gt;&#xA;&lt;li&gt;$u$ is an arbitrary vertex, and&lt;/li&gt;&#xA;&lt;li&gt;$H(u,v)$ is the &lt;em&gt;hitting time&lt;/em&gt; (AKA &lt;em&gt;access time&lt;/em&gt;), i.e., the expected number of steps&#xA;before vertex $v$ is visited, starting from vertex $u$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;What is the general upper bound for the mean hitting time? And what is the worst case graph $G$ that maximizes mean hitting time?&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;To make my question clear, I don't require calculations or a detailed proof (although they may be useful to other people encountering this question in the future). For me personally, a citation would be sufficient.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The paper mentions another &lt;a href=&quot;https://www.cs.cmu.edu/~15859n/RelatedWork/Broder-GenRanSpanningTrees.pdf&quot; rel=&quot;nofollow noreferrer&quot; title=&quot;Andrei Broder. &amp;quot;Generating random spanning trees.&amp;quot; (1989)&quot;&gt;algorithm by Broder&lt;/a&gt; that works in expected &lt;em&gt;cover time&lt;/em&gt; (first time when all vertices have been visited). Then it is said, that mean hitting time is always less than cover time. However it only gives an asymptotic bound of $\Theta(n)$ for &lt;em&gt;most graphs&lt;/em&gt; (i.e., &lt;em&gt;expander graphs&lt;/em&gt;) to contrast it with $\Theta(n \log n)$ by Broder for most graphs (with a somewhat more inclusive definition of &lt;em&gt;most&lt;/em&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It does give an example of a graph where mean hitting time is $\Theta(n^2)$ and cover time is $\Theta(n^3)$. While this is known to be the worst case for the latter, he does not specifically say anything about the worst case of the former. This would mean that the worst case for Wilson's algorithm may fall anywhere between $O(n^2)$ and $O(n^3)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are two publicly available implementations of Wilson's algorithm that I'm aware of. One is in the &lt;a href=&quot;http://www.boost.org/doc/libs/1_59_0/libs/graph/doc/random_spanning_tree.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;Boost Graph Library&lt;/a&gt;, while second is in &lt;a href=&quot;https://graph-tool.skewed.de/static/doc/topology.html#graph_tool.topology.random_spanning_tree&quot; rel=&quot;nofollow noreferrer&quot;&gt;graph-tool&lt;/a&gt;. Documentation of the former does not mention running time, while the latter states:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;The typical running time for random graphs is $O(n \log n)$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Which does not answer the question, and actually seems to be inconsistent with Wilson's paper. But I report this just in case, to save time of anybody with the same idea of consulting implementation documentation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I had initially hoped that the worst case might be attained by a graph constructed by attaching a path to a clique, due to &lt;a href=&quot;http://www.cs.elte.hu/~lovasz/erdos.pdf&quot; rel=&quot;nofollow noreferrer&quot; title=&quot;László Lovász. &amp;quot;Random walks on graphs: A survey.&amp;quot; (1993): p. 7&quot;&gt;Lovász&lt;/a&gt;, where the hitting time can be as high as $\Omega(n^3)$. However, the probability of this event is about $\frac{1}{n}$ when picking vertices from stationary distribution. Consequently yielding an $O(n^2)$ bound for the mean hitting time in this graph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A paper by &lt;a href=&quot;https://math.dartmouth.edu/~pw/papers/maxhit.pdf&quot; rel=&quot;nofollow noreferrer&quot; title=&quot;Graham Brightwell and Peter Winkler. &amp;quot;Maximum hitting time for random walks on graphs.&amp;quot; (1990)&quot;&gt;Brightwell and Winkler&lt;/a&gt; shows that a subset of &lt;a href=&quot;http://mathworld.wolfram.com/LollipopGraph.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;lollipop graphs&lt;/a&gt; maximizes the expected hitting time, reaching $4n^3/27$. Graph by Lovász is also a lollipop graph, but in this case the clique size is $\frac{2}{3} n$, rather than half. However, care must be taken not to confuse expected hitting time with mean hitting time. This result, like the previous one, refers to expected hitting time for two specific vertices chosen beforehand.&lt;/p&gt;&#xA;" OwnerUserId="36007" LastEditorUserId="36007" LastEditDate="2016-11-21T23:52:58.810" LastActivityDate="2016-11-26T20:55:55.700" Title="Random walk and mean hitting time in a simple undirected graph" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;co.combinatorics&gt;&lt;random-walks&gt;&lt;analysis-of-algorithms&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="32850" PostTypeId="1" AcceptedAnswerId="32870" CreationDate="2015-10-18T21:52:46.237" Score="10" ViewCount="1057" Body="&lt;p&gt;The following term (using bruijn-indexes):&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;BADTERM = λ((0 λλλλ((((3 λλ(((0 3) 4) (1 λλ0))) λλ(((0 4) 3) (1 0))) λ1) λλ1)) λλλ(2 (2 (2 (2 (2 (2 (2 (2 0)))))))))&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;When applied to a church number &lt;code&gt;N&lt;/code&gt; evaluates to normal form quickly in several existing evaluators, &lt;a href=&quot;http://lpaste.net/143312&quot; rel=&quot;nofollow&quot;&gt;including naive ones&lt;/a&gt;. Yet, if you encode that term to interaction nets and evaluate it using Lamping's Abstract Algorithm, it takes an exponential numbers of beta-reductions in relation to &lt;code&gt;N&lt;/code&gt;. On Optlam, specifically:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;N   interactions(betas)     (BADTERM N)&#xA;1   129(72)                 λλλ(1 (2 (2 (2 (2 (2 (2 (2 0))))))))&#xA;2   437(205)                λλλ(2 (1 (2 (2 (2 (2 (2 (2 0))))))))&#xA;3   976(510)                λλλ(1 (1 (2 (2 (2 (2 (2 (2 0))))))))&#xA;4   1836(1080)              λλλ(2 (2 (1 (2 (2 (2 (2 (2 0))))))))&#xA;5   3448(2241)              λλλ(1 (2 (1 (2 (2 (2 (2 (2 0))))))))&#xA;6   6355(4537)              λλλ(2 (1 (1 (2 (2 (2 (2 (2 0))))))))&#xA;7   11888(9181)             λλλ(1 (1 (1 (2 (2 (2 (2 (2 0))))))))&#xA;8   22590(18388)            λλλ(2 (2 (2 (1 (2 (2 (2 (2 0))))))))&#xA;9   43833(36830)            λλλ(1 (2 (2 (1 (2 (2 (2 (2 0))))))))&#xA;10  85799(73666)            λλλ(2 (1 (2 (1 (2 (2 (2 (2 0))))))))&#xA;11  169287(147420)          λλλ(1 (1 (2 (1 (2 (2 (2 (2 0))))))))&#xA;12  335692(294885)          λλλ(2 (2 (1 (1 (2 (2 (2 (2 0))))))))&#xA;13  668091(589821)          λλλ(1 (2 (1 (1 (2 (2 (2 (2 0))))))))&#xA;14  1332241(1179619)        λλλ(2 (1 (1 (1 (2 (2 (2 (2 0))))))))&#xA;15  2659977(2359329)        λλλ(1 (1 (1 (1 (2 (2 (2 (2 0))))))))&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;On similar evaluators such as BOHM, it takes much less beta steps, but more interactions. If optimal evaluators are optimal, how can they evaluate terms asymptotically slower than existing evaluators?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://lpaste.net/143337&quot; rel=&quot;nofollow&quot;&gt;This link&lt;/a&gt; has an explanation about the origin of the term, as well as an implementation of the same function that behaves the opposite, almost bizarrely so: it should run in exponential time - it does run in exponential time in most evaluators - yet, optimal evaluators normalize it in linear time!&lt;/p&gt;&#xA;" OwnerUserId="17388" LastEditorUserId="17388" LastEditDate="2015-10-19T15:29:54.353" LastActivityDate="2015-10-21T15:56:52.967" Title="Are optimal evaluators actually optimal?" Tags="&lt;cc.complexity-theory&gt;&lt;lambda-calculus&gt;&lt;interaction-nets&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="32853" PostTypeId="2" ParentId="1168" CreationDate="2015-10-19T14:10:36.803" Score="4" Body="&lt;p&gt;&lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0020019097001178&quot; rel=&quot;nofollow&quot;&gt;On Universal Learning Algorithms&lt;/a&gt;, Oded Goldreich and Dana Ron (1997), Information Processing Letters, Volume 63, Issue 3, pp. 131-136. (see also the &lt;a href=&quot;http://www.wisdom.weizmann.ac.il/~oded/p_ul.html&quot; rel=&quot;nofollow&quot;&gt;updated version&lt;/a&gt;)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Adapting Levin's argument for the existence of an optimal algorithm for NP, the authors show that there exists a universal learning algorithm (in several learning settings, including PAC): &lt;em&gt;&quot;if a concept class is learnable, this algorithm will learn it, optimally.&quot;&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Beyond the result itself, and perhaps more strikingly, this is also (as pointed out and discussed in the paper) a great illustration of the dangers of abusing $O(\cdot)$ notations and asymptotics.&lt;/p&gt;&#xA;" OwnerUserId="13319" LastActivityDate="2015-10-19T14:10:36.803" CommentCount="0" CommunityOwnedDate="2015-10-19T14:10:36.803" ContentLicense="CC BY-SA 3.0" />
  <row Id="32855" PostTypeId="2" ParentId="32834" CreationDate="2015-10-19T18:16:11.617" Score="3" Body="&lt;p&gt;This has been a subject of investigation for the Implicit Computational Complexity (ICC) community recently. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is known that in certain cases, when the graph you want to evaluate is of a specific type (be it from typing or a global shape restriction, see references) there is a path-based evaluation strategy that is more efficient than the naive one, allowing for instance to evaluate in Logspace [1,2] or Ptime [3].&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The jump approach you mention has been studied by Danos &amp;amp; Regnier [4]. They proved it correct (you get the same output) but do not provide an evaluation of the performance gain. I do not know of any work carrying on this analysis (in full generality) so far.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] &lt;a href=&quot;http://www2.tcs.ifi.lmu.de/~schoepp/Docs/intml_long.pdf&quot; rel=&quot;nofollow&quot;&gt;http://www2.tcs.ifi.lmu.de/~schoepp/Docs/intml_long.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] &lt;a href=&quot;http://arxiv.org/pdf/1406.2110.pdf&quot; rel=&quot;nofollow&quot;&gt;http://arxiv.org/pdf/1406.2110.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[3] &lt;a href=&quot;http://arxiv.org/pdf/1501.05104v2.pdf&quot; rel=&quot;nofollow&quot;&gt;http://arxiv.org/pdf/1501.05104v2.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[4] &lt;a href=&quot;http://ac.els-cdn.com/S0304397599000493/1-s2.0-S0304397599000493-main.pdf?_tid=09e49fd8-768c-11e5-a270-00000aacb360&amp;amp;acdnat=1445278134_7609d8ba21c272fe7eab424d38c3f225&quot; rel=&quot;nofollow&quot;&gt;http://ac.els-cdn.com/S0304397599000493/1-s2.0-S0304397599000493-main.pdf?_tid=09e49fd8-768c-11e5-a270-00000aacb360&amp;amp;acdnat=1445278134_7609d8ba21c272fe7eab424d38c3f225&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="30505" LastActivityDate="2015-10-19T18:16:11.617" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="32856" PostTypeId="1" CreationDate="2015-10-19T20:03:47.220" Score="3" ViewCount="104" Body="&lt;p&gt;How do quantum annealing or adiabatic quantum optimization deal with continuous optimization problems such as SDP? &lt;/p&gt;&#xA;" OwnerUserId="36027" LastEditorUserId="36027" LastEditDate="2015-10-21T18:46:23.283" LastActivityDate="2015-10-21T18:46:23.283" Title="Quantum annealing or adiabatic quantum optimization with continuous optimization problems" Tags="&lt;optimization&gt;&lt;quantum-computing&gt;&lt;semidefinite-programming&gt;&lt;adiabatic&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32857" PostTypeId="1" CreationDate="2015-10-20T13:17:30.133" Score="1" ViewCount="80" Body="&lt;p&gt;As I have seen a few questions on calculi floating around, I figure this is the right place to ask. Suppose we have an extended process $P \equiv \nu \tilde{n}.\left( \{M/x\} \mid N \right)$ where $\{M/x\}$ denotes an active substitutions and $M$ and $N$ are some terms.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The question i ask myself is, whether we generally substitute $x$ for $M$ in $N$ if $x \in N$, or whether it depends on if $x \in \tilde{n}$ such that it is bound by $\nu \tilde{n}$. In other words, are processes computing in parallel in scope of active substitutions, and if yes, on what conditions?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Despite skimming through several papers, i did not manage to get a clear cut answer.&lt;/p&gt;&#xA;" OwnerUserId="36035" LastEditorUserId="36035" LastEditDate="2015-10-22T20:00:20.303" LastActivityDate="2015-10-23T09:44:50.603" Title="Scope of active substitutions in the applied $\pi$-calculus" Tags="&lt;pi-calculus&gt;" AnswerCount="1" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="32858" PostTypeId="2" ParentId="32828" CreationDate="2015-10-20T14:34:57.383" Score="1" Body="&lt;p&gt;If I understood correctly, you're looking for a book (chapter) on counting complexity. In this case, I'd recommend the book of Sanjeev Arora and Boaz Barak, which has a chapter on counting complexity. A draft of it can be found &lt;a href=&quot;http://theory.cs.princeton.edu/complexity/&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Concerning Extremal Combinatorics, Wiki suggests reading &lt;a href=&quot;http://www.math.tau.ac.il/~nogaa/PDFS/epc7.pdf&quot; rel=&quot;nofollow&quot;&gt;Extremal and Probabilistic Combinatorics&lt;/a&gt; by Noga Alon and Michael Krivelevich which contains pointers to some resources (mainly graph-related).&lt;/p&gt;&#xA;" OwnerUserId="36020" LastActivityDate="2015-10-20T14:34:57.383" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32859" PostTypeId="1" AcceptedAnswerId="32862" CreationDate="2015-10-20T14:39:33.547" Score="14" ViewCount="375" Body="&lt;p&gt;Logical Relations for Impredicative languages like System F seem to rely critically on impredicativity of the ambient logic. Specifically, the interpretation for the forall-type will be defined in terms of all typed relations. In an impredicative system (like CiC/Coq) that's fine, but it seems to be impossible in a predicative system (like Agda).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;How can this be done? For example, how would you prove normalization for System F in Agda? Do you have to build your own impredicative universe?&lt;/p&gt;&#xA;" OwnerUserId="36037" LastEditorUserId="36037" LastEditDate="2015-10-23T13:47:43.697" LastActivityDate="2015-10-23T13:47:43.697" Title="Logical Reations for an Impredicative System in a Predicative MetaTheory" Tags="&lt;lo.logic&gt;&lt;pl.programming-languages&gt;&lt;type-theory&gt;&lt;automated-theorem-proving&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="32860" PostTypeId="2" ParentId="21400" CreationDate="2015-10-20T15:22:47.620" Score="11" Body="&lt;p&gt;here are new results on this said to be the 1&lt;sup&gt;st&lt;/sup&gt; in ~3 decades and some brief commentary&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://eccc.hpi-web.de/report/2015/166/&quot; rel=&quot;noreferrer&quot;&gt;A better-than-3n lower bound for the circuit complexity of an explicit function&lt;/a&gt; / Find, Golovnev, Hirsch, Kulikov&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;We consider Boolean circuits over the full binary basis. We prove a &lt;span class=&quot;math-container&quot;&gt;$(3+\frac{1}{86})n−o(n)$&lt;/span&gt; lower bound on the size of such a circuit for an explicitly defined predicate, namely an affine disperser for sublinear dimension. This improves the &lt;span class=&quot;math-container&quot;&gt;$3n−o(n)$&lt;/span&gt; bound of Norbert Blum (1984).&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://mittheory.wordpress.com/2015/10/20/not-3n-anymore/&quot; rel=&quot;noreferrer&quot;&gt;Better Circuit Lower Bounds for Explicit Functions&lt;/a&gt; / Ilya Razenshteyn, MIT CSAIL student blog&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2015-10-21T01:28:00.123" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32861" PostTypeId="1" CreationDate="2015-10-20T15:34:58.500" Score="0" ViewCount="213" Body="&lt;p&gt;&lt;strong&gt;Definition&lt;/strong&gt;: Let $GraphIso$ be the decision problem whose input is a pair of undirected graphs $(G_1, G_2)$ and the output is &lt;strong&gt;true&lt;/strong&gt; if and only if $G_1$ and $G_2$ are isomorphic.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Definition&lt;/strong&gt;: Define $\textbf{GI}$ to be the class of all decision problems $L$ for which there is a polynomial-time Turing reduction from $L$ to $GraphIso$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Definition&lt;/strong&gt;: Let $\textbf{NP}^{\textbf{GI}}$ be the class all decision problems which can be decided by a polynomial-time non-deterministic Turing machine with access to an oracle for a problem which is in $\textbf{GI}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is then: is this class known? Is it equivalent to a more standard complexity class? Is there any know complete problem for this class?&lt;/p&gt;&#xA;" OwnerUserId="16378" LastActivityDate="2015-12-16T06:13:51.750" Title="Complete problems or alternative definitions of the complexity class NP^GI?" Tags="&lt;cc.complexity-theory&gt;&lt;graph-isomorphism&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32862" PostTypeId="2" ParentId="32859" CreationDate="2015-10-20T16:02:34.333" Score="14" Body="&lt;p&gt;In general, what we usually call the &lt;em&gt;logical relations argument&lt;/em&gt; isn't really linked to impredicativity: the main idea is simply to interpret terms in some abstract algebra $\cal A$, and to represent types as a ($n$-ary) relation $R \subseteq \cal A^n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This works perfectly fine for all kinds of type theories, including dependently typed theories, see e.g. Shürmann and Sarnat: &lt;a href=&quot;http://www.pps.univ-paris-diderot.fr/~sarnat/slr.pdf&quot;&gt;Structural Logical Relations&lt;/a&gt; where a &lt;em&gt;predicative logic&lt;/em&gt; (that of Twelf) is used to prove a certain property (decidability of equality) for a &lt;em&gt;predicative calculus&lt;/em&gt; (simply typed $\lambda$-calculus) using logical relations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As you may have suspected, however, it is &lt;strong&gt;not&lt;/strong&gt; possible to prove normalization of system F in Agda (if Agda isn't secretly stronger than expected, i.e. about the strength of Martin-Löf type theory with a bunch of universes). This is because normalization of system F implies consistency of 2nd order arithmetic ($\mathrm{PA}_2$) which is stronger than M-L type theory with &lt;em&gt;any&lt;/em&gt; number of (predicative) universes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's instructive to work out exactly where the proof goes wrong in Agda, though. It indeed occurs when you try to define the logical relations interpretation of the impredicative quantification. The interpretation of the non-impredicative connectives though (including &quot;dependent&quot; quantification) is kosher in a theory like Agda.&lt;/p&gt;&#xA;" OwnerUserId="3984" LastActivityDate="2015-10-20T16:02:34.333" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="32863" PostTypeId="2" ParentId="32848" CreationDate="2015-10-20T16:40:40.220" Score="11" Body="&lt;p&gt;I have decided to ask David Wilson himself, soon thereafter got a reply:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;For undirected graphs on $n$ vertices, the worst case mean hitting time is $\Theta(n^3)$. The example is the &lt;a href=&quot;http://mathworld.wolfram.com/BarbellGraph.html&quot; rel=&quot;noreferrer&quot;&gt;barbell graph&lt;/a&gt;, which consists of two cliques of size $n/3$ connected by a path of length $n/3$. I don’t know what the worst constant is. The [Brightwell-Winkler] paper looks at (expected) hitting times $H(x,y)$ started at $x$ and ending at $y$.  The mean hitting time is the average of $H(x,y)$ for fixed $x$ and random choices of $y$ from the stationary distribution of a random walk.  It’s a nice fact that this doesn’t depend on $x$. I learned about hitting times from the &lt;a href=&quot;https://www.stat.berkeley.edu/~aldous/RWG/book.html&quot; rel=&quot;noreferrer&quot; title=&quot;Reversible Markov Chains and Random Walks on Graphs&quot;&gt;Aldous-Fill book&lt;/a&gt;, which is unfinished but on the web.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;There is even a proof of this fact in the abovementioned book, which goes like this:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To construct a graph on $n=2n_1+n_2$ vertices, start with two complete graphs on $n_1$ vertices. Distinguish vertices $v_l \neq v_L$ in one graph (&quot;the left bell&quot;) and vertices $v_R \neq v_r$ in the other graph (&quot;the right bell&quot;). Then connect the graphs via a path $v_L - w_1 - \cdots w_{n_2} - v_R $.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then it is informally argued that it takes mean time about $n_1$ to hit $v_L$ and from there, there's chance $\frac{1}{n_1}$ to hit $w_1$, so it takes mean time about $n_1^2$ to hit $w_1$. From $w_1$ there is chance about $\frac{1}{n_2}$ to hit the right bell before returning into the left bell, so it takes mean time about $n_1^2 n_2$ to enter the right bell.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Setting $n_1 = n_2 = n/3$ gives us mean time $O(n^3)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Admittedly, I'm lost at the point they state:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;From $w_1$ there is chance about $\frac{1}{n_2}$ to hit the right bell before returning into the left bell.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;But to ease my mind, I ran a simulation of random walks on barbell graphs constructed this way, between vertices picked from the stationary distribution. Indeed, the mean hitting time fitted very nicely to a curve $\frac{(n+1)^3}{54}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, comments on the informal proof are still welcome.&lt;/p&gt;&#xA;" OwnerUserId="36007" LastEditorUserId="36007" LastEditDate="2015-10-24T09:19:17.500" LastActivityDate="2015-10-24T09:19:17.500" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32865" PostTypeId="2" ParentId="22175" CreationDate="2015-10-20T19:04:01.117" Score="10" Body="&lt;h1&gt;Regarding Beggar-My-Neighbour&lt;/h1&gt;&#xA;&#xA;&lt;p&gt;Paulhus (1, p.164) wrote in 1999:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;If $C$ is a full deck of cards, does ${D_{2}}^{'}(C)$ have a cycle? We&#xA;  leave  this question unanswered except to say that we have been unable&#xA;  to find one in &#xA;  3.2 billion randomly chosen deals.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;But Conway et al. (2, p.892) wrote in 2006:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Strip-Jack-Naked, or Beggar-My-Neighbour **1&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;Another problem that took almost 47 years to solve concerns this old &#xA;  children’s game. Each of the two players starts with about half of the&#xA;  cards  (held face-down), which they alternately turn over onto a&#xA;  face-upwards “stack”  on the table, until one of them (who's now “the&#xA;  commander”) first deals one of  the “commanding cards” (Jack, Queen,&#xA;  King, or Ace).&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;After one of these has been dealt, the other player (now “the&#xA;  responder”) turns  over cards continuously until EITHER. **2 a new&#xA;  commanding card appears (when  the players change roles **3) or&#xA;  respectively 1, 2, 3, or 4 non-commanding cards  have been turned&#xA;  over. In the latter case, the commander turns over the stack  and&#xA;  ajoins it to the bottom of his hand. The responder then starts the&#xA;  formation  of a new stack by turning over his next card, and play&#xA;  continues as before.&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;A player who acquires all the cards is the winner and in real games,&#xA;  it seems  that someone always does win. The interesting mathematical&#xA;  question, posed by  one of us many years ago, was “is it really true&#xA;  that the game always ends?”  &lt;strong&gt;Marc Paulhus has recently found the&#xA;  answer to be “no!”. About 1 in 150,000 games  (played with the usual&#xA;  52 cards) goes on forever.&lt;/strong&gt;&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;We are fairly confident that no one person has played the game&#xA;  anything like  that number of times, so the chance (with random&#xA;  shuffling) of experiencing a  non-terminating game in a lifetime’s&#xA;  play must be very small indeed.&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;Just as surely, however, the total number of times this game has been&#xA;  played by  the World’s **4 children must be significantly larger than&#xA;  150,000, so many of  them will have been theoretically non-terminating&#xA;  ones. We imagine, though, that  in practice most of them actually did&#xA;  terminate because someone made a mistake.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Unfortunately I was not able to found in (2) any reference to the discovery of Paulhus... I would love to see a sequence of cards that gives a non-terminating game in order to say that the problem is solved.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In 2013, Lakshtanov and Aleksenko (3) wrote:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;For card games of the Beggar-My-Neighbor type, we prove finiteness of&#xA;  the mathematical expectation of the game duration under the conditions&#xA;  that a player to play the first card is chosen randomly and that cards&#xA;  in a pile are shuffled before being placed to the deck. The result is&#xA;  also valid for general-type modifications of the game rules. In other&#xA;  words, we show that the graph of the Markov chain for the&#xA;  Beggar-My-Neighbor game is absorbing; i.e., from any vertex there is&#xA;  at least one path leading to the end of the game.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;but their rules are not the ones I followed when I played the game when I was a child ;-)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To the best of my knowledge the longest Beggar-my-Neighbour game was found in 2014 by &lt;a href=&quot;https://plus.google.com/107844874222105920188/posts/fvQepUuXnsZ&quot; rel=&quot;nofollow&quot;&gt;William Rucklidge&lt;/a&gt; with &lt;a href=&quot;http://www.richardpmann.com/beggar-my-neighbour-records.html&quot; rel=&quot;nofollow&quot;&gt;7960 cards&lt;/a&gt;:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;1: -J------Q------AAA-----QQ-&#xA;2: K----JA-----------KQ-K-JJK&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;h1&gt;Regarding Cavacamicia&lt;/h1&gt; &#xA;&#xA;&lt;p&gt;I usually played it with a 40 cards deck, simulations with an half deck (only 20 cards) gives &lt;a href=&quot;https://sites.google.com/site/alessandrogentilini/pelagalletto-infinito-beggar-my-neighbour&quot; rel=&quot;nofollow&quot;&gt;16 non terminating games&lt;/a&gt; on a total of &lt;a href=&quot;http://www.wolframalpha.com/input/?i=20%21%2F%282%21*2%21*2%21*14%21%29&quot; rel=&quot;nofollow&quot;&gt;3.448.400&lt;/a&gt; games.&lt;/p&gt;&#xA;&#xA;&lt;h1&gt;Bibliography&lt;/h1&gt;&#xA;&#xA;&lt;p&gt;(1)&#xA;PAULHUS, Marc M. Beggar my neighbour. &lt;em&gt;American Mathematical Monthly&lt;/em&gt;, 1999, 162-165.&#xA;&lt;a href=&quot;http://www.jstor.org/stable/2589054&quot; rel=&quot;nofollow&quot;&gt;http://www.jstor.org/stable/2589054&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(2)&#xA;BERLEKAMP, Elwyn R.; CONWAY, John H.; GUY, Richard K. &lt;em&gt;Winning Ways for Your Mathematical Plays, Volume 4.&lt;/em&gt; AMC, 2003, 10: 12.&#xA;&lt;a href=&quot;http://www.maa.org/publications/maa-reviews/winning-ways-for-your-mathematical-plays-volume-4&quot; rel=&quot;nofollow&quot;&gt;http://www.maa.org/publications/maa-reviews/winning-ways-for-your-mathematical-plays-volume-4&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(3)&#xA;LAKSHTANOV, Evgenii Leonidovich; ALEKSENKO, Alena Il'inichna. Finiteness in the Beggar-My-Neighbor card game. &lt;em&gt;Problems of Information Transmission&lt;/em&gt;, 2013, 49.2: 163-166.&#xA;&lt;a href=&quot;http://dx.doi.org/10.1134/S0032946013020051&quot; rel=&quot;nofollow&quot;&gt;http://dx.doi.org/10.1134/S0032946013020051&lt;/a&gt; &lt;/p&gt;&#xA;" OwnerUserId="8098" LastEditorUserId="8098" LastEditDate="2015-10-27T19:47:13.500" LastActivityDate="2015-10-27T19:47:13.500" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32866" PostTypeId="2" ParentId="32840" CreationDate="2015-10-20T20:54:34.777" Score="0" Body="&lt;p&gt;&lt;strong&gt;I answer to my own questions since I found a partial answer.&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The &lt;a href=&quot;https://en.wikipedia.org/wiki/Kappa_calculus&quot; rel=&quot;nofollow&quot;&gt;Kappa calculus&lt;/a&gt; sounds very promising.&#xA;From the Wikipedia article:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Unlike lambda calculus, kappa calculus has no higher-order functions; its functions are not first class objects. Kappa-calculus can be regarded as &quot;a reformulation of the first-order fragment of typed lambda calculus&quot;.&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;Because its functions are not first-class objects, evaluation of kappa calculus expressions does not require closures.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Because the kappa calculus does not use any higher-order functions, there is no need for closures. Unfortunately the kappa calculus is not Turing complete and for this reason there is also no way to transform any lambda calculus into to a kappa calculus.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So this answer is not completely satisfying, but it gives some insights what is needed to avoid closures.&#xA;The goal of this question is to find a formal system with the following properties:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The formal system does not require closures&lt;/li&gt;&#xA;&lt;li&gt;The formal system is Turing complete&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;From my understanding this is achievable if the system..&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;is based on first-order functions&lt;/li&gt;&#xA;&lt;li&gt;allows recursion&lt;/li&gt;&#xA;&lt;li&gt;has primitive types as $\mathbb N$&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;First-order functions must be used to avoid closures and the two other requirements should guarantee Turing completeness. &lt;em&gt;If someone can name such a system, I will mark it as accepted answer.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is also a related &lt;a href=&quot;https://stackoverflow.com/questions/2300151/closure-conversion-and-separate-compilation-of-higher-order-function-calls&quot;&gt;Post&lt;/a&gt; on Stackoverflow.&#xA;The accepted answer mentions &lt;a href=&quot;http://mlton.org/&quot; rel=&quot;nofollow&quot;&gt;MLton&lt;/a&gt;, which apparently reduces in some way higher-order functions to first-order. Sadly I can not find any documentation regarding this system.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm quite amazed that there seems to be very little research on this topic.&lt;/p&gt;&#xA;" OwnerDisplayName="user36006" LastActivityDate="2015-10-20T20:54:34.777" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32867" PostTypeId="2" ParentId="18688" CreationDate="2015-10-20T21:36:06.947" Score="1" Body="&lt;p&gt;How about taking the idea represented by user GMB here &lt;em&gt;(Turing machine with one tape can simulate a Turing machine with N tapes by interlacing the N tapes to a single tape and reading any one of those tapes by jumping N locations at a time, a Turing machine with N tapes can implement...)&lt;/em&gt; and write a Turing machine program that implements a simplistic RAM-machine. The RAM-machine might actually be some simplistic, real, CPU with available LLVM or GCC backend. Then the GCC/LLVM can be used for cross-compiling a C program for that CPU and the Turing machine program that simulates the RAM-machine, runs the RAM-machine simulation by having the simulated RAM-machine execute the GCC/LLVM output. The Turing machine implementation might be some very simple C code that fits to a small C file.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What regards to the RAM-machine, then there exists a demo project, where a 32bit CPU is simulated by an 8bit microcontroller and the simulated 32bit CPU boots Linux. Slow as hell, but &lt;a href=&quot;http://dmitry.gr/index.php?r=05.Projects&amp;amp;proj=07.%20Linux%20on%208bit&quot; rel=&quot;nofollow&quot;&gt;according to the author&lt;/a&gt;, Dmitry Grinberg, it worked. Maybe the Zylin CPU &lt;em&gt;(GitHub user zylin)&lt;/em&gt; might be a viable choice for the simulatable RAM-machine. Another RAМ-machine candidate might be the ProjectOberon dot com by &lt;a href=&quot;https://www.youtube.com/watch?v=BJIqHIYSDrk&quot; rel=&quot;nofollow&quot;&gt;Niklaus Wirth&lt;/a&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;(The &quot;dot&quot; and &quot;com&quot; in my text are due to the fact that I just, 2015_10_21,  registered my account at the cstheory.stackexchange and the web-app does not allow more than 2 links for novice users, despite the fact that they can automatically see from my other stackexchange accounts that I might be stupid, but I'm not a troll.)&lt;/em&gt;&lt;/p&gt;&#xA;" OwnerUserId="36044" LastActivityDate="2015-10-20T21:36:06.947" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32870" PostTypeId="2" ParentId="32850" CreationDate="2015-10-21T14:58:43.740" Score="5" Body="&lt;h3&gt;Efficiency of optlam&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;I have not studied the details of BADTERM nor of the implementation of optlam evaluator, but I find quite strange that optlam performs a number of ß-interactions drastically different than another optimal evaluator like BOHM. Such a number must be, by definition, basically the same on a given term. Are you sure of the correctness of optlam's core?&lt;/p&gt;&#xA;&#xA;&lt;h3&gt;Efficiency of optimal evaluators&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;Recall that the notion of optimality of these evaluators is more properly known as Lévy-optimality, and it is not the naive one, since a strategy of reduction performing the minimum number of ß-steps is not computable. What is minimised, then, is the number of parallel ß-reduction steps performed on a whole family of redex, that is roughly the set obtained by the symmetric and transitive closure of the relation which binds two redexes when one is copied from the other. It should in general not surprise to see discrepancies between the number of ß-steps and the rest of duplication-steps, since we know that most of the normalisation load could be transferred from the former to the latter, as shown by Asperti, Coppola and Martini [1].&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It should not surprise us either to see that total number of interactions needed to normalise an term with an optimal evaluator is that lower than with an ordinary one, since previous empirical observation already showed notable performance improvements. In spite of this, such a huge complexity jump, from exponential to linear time, is perhaps the very first of its kind being being discovered, though. (I will check this.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, the theoretical results about the efficiency of optimal reduction (which is your big question), are still few and not yet general, since they are limited to EAL-typed proof-nets (which is basically the same restriction of optmal evaluator, if I correctly understand), but all are mildly positive, since in the worst case the complexity of sharing reduction is bounded by the ordinary one by a constant factor [2,3].&lt;/p&gt;&#xA;&#xA;&lt;h3&gt;&lt;em&gt;References&lt;/em&gt;&lt;/h3&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;A. Asperti, P. Coppola, and S. Martini, &lt;em&gt;(Optimal) Duplication is not elementary recursive&lt;/em&gt;, Information and Computation, vol. 193, 2004.&lt;/li&gt;&#xA;&lt;li&gt;P. Baillot, P. Coppola, and U. Dal Lago, &lt;em&gt;Light logics and optimal reduction: Completeness and complexity&lt;/em&gt;, Information and Computation, vol. 209, no. 2, pp. 118–142, 2011.&lt;/li&gt;&#xA;&lt;li&gt;S. Guerrini, T. Leventis, and M. Solieri, &lt;em&gt;Deep into optimality – complexity and correctness of sharing implementation of bounded logics&lt;/em&gt;, DICE 2012, Tallin, Estonia, 2012.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="7931" LastEditorUserId="7931" LastEditDate="2015-10-21T15:56:52.967" LastActivityDate="2015-10-21T15:56:52.967" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="32872" PostTypeId="2" ParentId="32390" CreationDate="2015-10-22T08:15:22.960" Score="4" Body="&lt;p&gt;The problem is that most decompositions (I know of) are themselves much harder to compute/approximate than INDEPENDENT SET.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, if your graphs are really very dense, their complements might be sparse. Thus, it might be worth considering solving CLIQUE in the complement of the input graph. This can be done in $O(nd\cdot 1.45^d)$ time (&lt;a href=&quot;http://arxiv.org/pdf/1006.5440&quot; rel=&quot;nofollow&quot;&gt;Eppstein, Löffler, Strash&lt;/a&gt;), where $d$ is the degeneracy of the input graph (which is even smaller than the treewidth).&lt;/p&gt;&#xA;" OwnerUserId="36020" LastActivityDate="2015-10-22T08:15:22.960" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32873" PostTypeId="1" CreationDate="2015-10-22T08:47:48.647" Score="19" ViewCount="1526" Body="&lt;p&gt;The decision problem CNF-SAT can be described as follows:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Input:&lt;/strong&gt; A boolean formula $\phi$ in conjunctive normal form.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question:&lt;/strong&gt; Does there exist a variable assignment that satisfies $\phi$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm considering several different approaches for solving CNF-SAT with a &lt;em&gt;non-deterministic two-tape Turing machine&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I believe that there is an NTM that solves CNF-SAT in $n \cdot \texttt{poly}(\log(n))$ steps.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question:&lt;/strong&gt; Is there an NTM that solves CNF-SAT in $O(n)$ steps?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any relevant references are appreciated even if they only provide near linear time non-deterministic approaches.&lt;/p&gt;&#xA;" OwnerUserId="14207" LastEditorUserId="14207" LastEditDate="2015-10-22T08:55:13.100" LastActivityDate="2015-10-23T09:54:57.840" Title="Is there a non-deterministic linear time algorithm for CNF-SAT?" Tags="&lt;time-complexity&gt;&lt;sat&gt;&lt;turing-machines&gt;&lt;np&gt;&lt;nondeterminism&gt;" AnswerCount="2" CommentCount="16" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="32874" PostTypeId="1" CreationDate="2015-10-22T08:56:11.280" Score="1" ViewCount="452" Body="&lt;p&gt;What are the best self contained Books that mainly serve the purpose of:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Demonstrating NP Complete Reductions (other than Garey and Johnson, which mainly lists the problems as NP complete, and provided pointers). &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Practical application of NP Complete Problems and use cases in industry.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="32463" LastActivityDate="2015-10-22T08:56:11.280" Title="NP Complete Problems - Book References - Reductions and Use Cases?" Tags="&lt;cc.complexity-theory&gt;&lt;soft-question&gt;" AnswerCount="0" CommentCount="7" ClosedDate="2015-10-28T15:04:28.827" ContentLicense="CC BY-SA 3.0" />
  <row Id="32875" PostTypeId="2" ParentId="12678" CreationDate="2015-10-22T13:42:29.237" Score="6" Body="&lt;p&gt;Here might be another take on this question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assuming the pseudo Boolean function is k-bounded,   the Walsh polynomial&#xA;representation of the function can be decomposed into k subfunctions.&#xA;All of the linear terms are collected into one subfunction,  the all of the&#xA;pairwise interactions into one subfunction, then the 3-way interactions,  etc.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Each one of these subfunctions is an &quot;elementary landscape&quot; and thus&#xA;each of the subfunctions is an eigenvector of the Laplacian adjacency matrix&#xA;(i.e., the Hamming distance 1 neighborhood).    Each subfunction has a&#xA;corresponding &quot;Wave Equation&quot; of the type found in all elementary landscapes.&#xA;Except now there are k Wave Equations that act in combination.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Knowing the wave equations makes it possible to statistically characterize the&#xA;corresponding search space in rather precise ways.    You can compute mean&#xA;and variance and skew over arbitrary (exponentially large) Hamming balls and over arbitrary hyperplanes of the search space.   &lt;/p&gt;&#xA;&#xA;&lt;p&gt;See Peter Stadler's work on Elementary Landscapes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Andrew Sutton and I (Darrell Whitley) have worked on using these methods&#xA;to understand and improve local search algorithms for pseudo-Boolean &#xA;optimization.  You can use the Walsh polynomials to automatically identify improving moves for local search algorithms. There is never any need to randomly enumerate neighborhoods of the search space.&#xA;The Walsh analysis can directly tell you where the improving moves are located. &lt;/p&gt;&#xA;" OwnerUserId="36062" LastActivityDate="2015-10-22T13:42:29.237" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32876" PostTypeId="2" ParentId="32873" CreationDate="2015-10-22T21:38:53.420" Score="2" Body="&lt;p&gt;Not exactly what your looking for, but for 1-tape NTM, the answer seems to be negative: SAT is not solvable by a 1-tape NTM in non-deterministic linear time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;According to &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0304397509006264&quot; rel=&quot;nofollow&quot;&gt;this paper&lt;/a&gt; (Theorem 4.1), the class of regular languages $REG$ &lt;em&gt;is exactly&lt;/em&gt; the class of languages recognized by a 1-tape NTM in time $o(n \log(n))$.&#xA;Thus, if there existed a 1-tape NTM solving SAT in time $o(n \log(n))$, then SAT (more precisely, the set of satisfiable formulae in CNF) would be a regular language, hence solvable in deterministic constant space.&lt;/p&gt;&#xA;" OwnerUserId="32683" LastEditorUserId="32683" LastEditDate="2015-10-23T07:58:16.987" LastActivityDate="2015-10-23T07:58:16.987" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="32879" PostTypeId="2" ParentId="32385" CreationDate="2015-10-23T08:06:28.303" Score="1" Body="&lt;p&gt;Let's assume that $D$ contains only sources and sinks, since the input can be translated into an equivalent such input easily.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then, note that, in any solution $D'$ for $D$, each vertex $v$ corresponds to a biclique in the underlying undirected graph $G$ of $D$ (the biclique between all sources that reach $v$ in $D'$ and all sinks that are reached from $v$ in $D'$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I conjecture that, if $D'$ is optimal, then it contains a vertex-cut that 1:1 corresponds to an optimal biclique covering of $G$. Then, any minimum vertex-cut in $D'$ corresponds to an optimal biclique covering in $G$. However, since BICLIQUE COVER (aka BIPARTITE DIMENSION) is NP-complete, your problem is unlikely to admit a polynomial-time algorithm unless my conjecture fails.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that, even if my conjecture holds, technically this argument does not prove NP-hardness of your problem, since the reduction is not a Karp- but a Cook reduction.&lt;/p&gt;&#xA;" OwnerUserId="36020" LastEditorUserId="36020" LastEditDate="2015-10-23T10:17:22.390" LastActivityDate="2015-10-23T10:17:22.390" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32880" PostTypeId="1" CreationDate="2015-10-23T09:20:28.387" Score="0" ViewCount="242" Body="&lt;p&gt;Given an arbitrary directed graph(not planar, cycles included), a source node $S$ and constant constraints on edges, for each sink node $t_i$, the maximum flow from $S$ to $t_i$ is denoted by $f(S,t_i)$.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Find $\max{f(S,t_i)}$ &lt;/li&gt;&#xA;&lt;li&gt;Find $\max{d(S,t_i) * f(S,t_i)}$, where $d(S,t_i)$ represents the length of shortest path from $S$ to $t_i$&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;I have found some papers about computing max flows of multiple targets on a planar graph, but is there any algorithm faster than computing $f(S,t_i)$ for $|T|$ times? &lt;/p&gt;&#xA;" OwnerUserId="36069" LastEditorUserId="36069" LastEditDate="2015-10-23T09:26:06.760" LastActivityDate="2015-10-23T09:26:06.760" Title="What's the fastest algorithm to compute Max{max flow with single source and multiple sinks}" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;max-flow&gt;" AnswerCount="0" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32881" PostTypeId="2" ParentId="32873" CreationDate="2015-10-23T09:39:25.823" Score="5" Body="&lt;p&gt;This is only an extended comment.&#xA;A few times ago I asked (myself :-) how fast a multitape NTM that accepts a (reasonably encoded) NP-complete language can be. I came up with this idea: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;3-SAT remains NP-complete even if variables are represented in unary. In particular we can convert a clause - suppose $(x_i \lor \neg x_j \lor x_k)$ - of an arbitrary 3-SAT formula $\varphi$ on $n$ variables and $m$ clauses in a sequence of characters over alphabet $\Sigma = \{ +, -, 1 \}$ in which every variable occurrence is represented in unary:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$ + 1^{i} 0,- 1^{j} ,+ 1^{k} $&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, $(x_2 \lor -x3 \lor +4)$ can be converted to:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;+110-1110+11110&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;So we can convert a 3-SAT formula $\varphi_i$ in an equivalent string $U(\varphi_i)$ concatenating its clauses. The language $L_U = \{ U(\varphi_i) \mid \varphi_i \in 3-SAT \}$ is NP-complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A 2-tape NTM can decide if a string $x \in L_U$ in time $2|x|$ in this way.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;the first head scans the input from left to right and with the internal logic it keeps track when it enters or exit a clause or reach the end of the formula. Whenever it finds a $+$ or $-$, the second head starts moving right with it on the $1^i$ that represents $x_i$. At the end of $1^i$, if the second head is on a $0$ then it guesses a truth value $+$ or $-$ (it makes an assignment) and writes it on the second tape; if it finds a $+$ or $-$ then that variable has already been assigned a value;&lt;/li&gt;&#xA;&lt;li&gt;in both cases, using the internal logic, the NTM matches the truth value under the second head (the assignment) with the last seen $+$ or $-$; if they match then the clause is satisfied;&lt;/li&gt;&#xA;&lt;li&gt;then the second head can return to the rightmost cell;&lt;/li&gt;&#xA;&lt;li&gt;with the internal logic the NTM can keep track if all clauses are satisfied while the first head moves towards the end of the input.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Example:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;Tape 1 (formula)    Tape 2 (variable assignments)&#xA;+110-1110+11110...  0000000000000...&#xA;^                   ^&#xA;+110-1110+11110...  0000000000000...&#xA; ^                  ^&#xA;+110-1110+11110...  0000000000000...&#xA;  ^                  ^&#xA;+110-1110+11110...  0+00000000000... first guess set x2=T; matches +&#xA;  ^                  ^               so remember that current clause is satisfied&#xA;+110-1110+11110...  0+00000000000... &#xA;  ^                  ^&#xA;...&#xA;+110-1110+11110...  0+00000000000... &#xA;    ^               ^&#xA;...&#xA;+110-1110+11110...  0++0000000000... second guess set x3=T&#xA;       ^              ^              don't reject because current&#xA;                                     clause is satisfied (and in every&#xA;                                     case another literal must be parsed)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;The time can be reduced to $|x|$ if we add some redundant symbols to the clause representation:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$ + 1^{i} 0^i,- 1^{j} 0^j ,+ 1^{k} 0^k \; ... \; \text{+++}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;($\text{+++}$ marks the end of the formula)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In this way the second head can return to the leftmost cell while the first scans the $0^i$ part.&#xA;Using $\text{++}$ as a clause delimiter and $\text{+++}$ as a marker for the end of the formula we can use same representation for CNF formulas with an arbitrary number of literals per clause.&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2015-10-23T09:54:57.840" LastActivityDate="2015-10-23T09:54:57.840" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="32882" PostTypeId="2" ParentId="32857" CreationDate="2015-10-23T09:39:50.363" Score="3" Body="&lt;p&gt;The key to understanding scope management in $\pi$-calculi is to look at the &lt;strong&gt;structural congruence&lt;/strong&gt; $P \equiv Q$ and at the notions of &lt;strong&gt;free name&lt;/strong&gt; $\newcommand{\FN}[1]{\text{fn}(#1)}\FN{P}$ and &lt;strong&gt;free variable&lt;/strong&gt; $\newcommand{\FV}[1]{\text{fv}(#1)}\FV{P}$. The great novelty that distinguishes $\pi$-calculi from its predecessors is the ability to &lt;strong&gt;extrude scope&lt;/strong&gt;. It is guided by the following law.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;   P \ |\ (\nu x)Q \ \equiv\ (\nu x)(P\ |\ Q) \qquad \text{if $x \notin \FN{P} \cup \FV{P}$}.&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This rule is also at the heart of the applied $\pi$-calculus, otherwise it would not be a $\pi$-calculus. In order to understand the scope of active substitution in the applied $\pi$-calculus, we need to understand the free names and variables of an active substitution. This is defined in Section 2.1 of &quot;&lt;a href=&quot;http://crysys.hu/members/tvthong/pispi/applied.pdf&quot; rel=&quot;nofollow&quot;&gt;Mobile values, new names, and secure communication&lt;/a&gt;&quot;, the paper that introduces the applied $\pi$-calculus:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$\FV{\{M/x\}} = \FV{M} \cup \{x\}$.&lt;/li&gt;&#xA;&lt;li&gt;$\FN{\{M/x\}} = \FN{M}$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The full definition of structural congruence in applied $\pi$ is a bit more elaborate because the calculus parameterises the definition of structural congruence with application-specific equations that define cryptographic primitives, e.g. $\text{decode}_k(\text{encode}_k(msg)) \equiv msg$. In other words, the algebraic laws that give the (formal) cryptography are embedded in the structural congruence. In addition, active substitution itself has associated structural congruence laws:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$(\nu x)\{M/x\} \equiv 0$.&lt;/li&gt;&#xA;&lt;li&gt;$\{M/x\} | P \equiv \{M/x\} | P\{M/x\}$.&lt;/li&gt;&#xA;&lt;li&gt;$\{M/x\} \equiv \{N/x\}$ whenever the equation $M = N$ holds in the paramterisation. &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;None of these additional structural congruences does anything 'unusual' with extrusion, so, as Damiano says, whether $M$ substitutes for $x$ in $N$ has nothing to do with restrictions 'on the outside' in $(\nu \vec{n})(\{M/x\} | N)$, but only with $x$ occurring in $N$ or not.&lt;/p&gt;&#xA;" OwnerUserId="898" LastEditorUserId="898" LastEditDate="2015-10-23T09:44:50.603" LastActivityDate="2015-10-23T09:44:50.603" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32883" PostTypeId="2" ParentId="32365" CreationDate="2015-10-23T13:42:07.327" Score="6" Body="&lt;p&gt;Let $C:\{0,1\}^{n} \to \{0,1\}^{2n}$ be an error correcting code with linear distance. Let $g: \{0,1\}^{n} \times \{0,1\}^{n} \to \{0,1\}$ be a function whose randomized communication complexity is large (say, $\Omega(\sqrt{n})$ or $\Omega(n))$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Define $f: \{0,1\}^{2n} \times \{0,1\}^{2n} \to \{0,1,*\}$ to be the partial function that on codewords of $C$ outputs $f(x,y) = g(C^{-1}(x),C^{-1}(y))$, and it outputs $*$ if at least one of $x,y$ is not in $C$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Clearly, the communication complexity of $f$ is equal to the communication complexity of $g$, and $f$ satisfies the property that for every two different inputs on which $f$ outputs 0 or 1, the distance between them is linear.&lt;/p&gt;&#xA;" OwnerUserId="15711" LastActivityDate="2015-10-23T13:42:07.327" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32884" PostTypeId="1" AcceptedAnswerId="32888" CreationDate="2015-10-23T15:17:32.850" Score="6" ViewCount="254" Body="&lt;p&gt;this is a followup/ sequel to this recent &lt;a href=&quot;https://cstheory.stackexchange.com/questions/32835/is-it-decidable-whether-the-output-length-of-a-transducer-is-bounded-by-the-inpu&quot;&gt;question&lt;/a&gt; which was answered, this one presumably significantly harder. consider a deterministic &lt;a href=&quot;https://en.wikipedia.org/wiki/Finite_state_transducer&quot; rel=&quot;nofollow noreferrer&quot;&gt;FSM transducer&lt;/a&gt; $F$ and its mapping $F(x)$ of an input word $x$. define a sequence/ composition of such mappings $x_n = F(\ldots F(x_1))$ where $F^n(x)$ is $n$ sequential mappings of $x$. the sequence terminates if/ &quot;at the point&quot; that $F(x_n)$ is unaccepted (by the FSM transducer). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;now consider/ define a property of such sequences &lt;em&gt;&quot;descending&quot;&lt;/em&gt;. a FSM sequence $x_i$ is &lt;em&gt;&quot;descending&quot;&lt;/em&gt; iff $|x_i| \geq |x_{i + 1}|$ where $|x|$ denotes word length, and for all $i,j$, $x_i \neq x_j$. (by defn all such sequences must be finite/ terminating.)&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;question: given an input regular language $L$ and a FSM transducer $F$. is it decidable if all sequences $x_n = F^n(x) = F(\ldots F(x))$ for all $x \in L$ are &lt;em&gt;descending?&lt;/em&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;a complete answer would be ideal but prefer partial answer(s) to none at all. looking for nontrivial analysis, reduction(s) to known problems, refs to related literature etc.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;motivation/ background: a long story, but inspired/ related to investigation of a highly studied open number theory &lt;a href=&quot;https://en.wikipedia.org/wiki/Collatz_conjecture&quot; rel=&quot;nofollow noreferrer&quot;&gt;problem&lt;/a&gt;. the basic idea is to look for/ formulate a generalized &lt;a href=&quot;https://en.wikipedia.org/wiki/Loop_invariant&quot; rel=&quot;nofollow noreferrer&quot;&gt;loop&lt;/a&gt; &lt;a href=&quot;https://en.wikipedia.org/wiki/Invariant_(computer_science)&quot; rel=&quot;nofollow noreferrer&quot;&gt;invariant&lt;/a&gt; function applicable to &lt;a href=&quot;https://en.wikipedia.org/wiki/Automated_theorem_proving&quot; rel=&quot;nofollow noreferrer&quot;&gt;automated theorem proving&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2015-11-01T17:37:06.527" Title="FSM transducer sequential composition decidability" Tags="&lt;reference-request&gt;&lt;automata-theory&gt;&lt;regular-language&gt;&lt;dfa&gt;&lt;decidability&gt;" AnswerCount="2" CommentCount="8" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32885" PostTypeId="1" AcceptedAnswerId="32887" CreationDate="2015-10-23T19:38:18.603" Score="5" ViewCount="1320" Body="&lt;p&gt;Valiant's theorem says that computing the permanent of an $n\times n$ matrix is &lt;a href=&quot;https://en.wikipedia.org/wiki/Sharp-P-complete&quot;&gt;#P-hard&lt;/a&gt;. Is the problem of determining if a permanent is 0 any easier? This arises in the context of sequence &lt;a href=&quot;https://oeis.org/A006063&quot;&gt;A006063&lt;/a&gt; in the &lt;a href=&quot;http://oeis.org/&quot;&gt;OEIS&lt;/a&gt;, where membership is determined by the sign (0 or nonzero) of a certain permanent. (A solution to the restricted problem would be enough for me.)&lt;/p&gt;&#xA;" OwnerUserId="962" LastActivityDate="2015-10-26T17:59:13.957" Title="Matrix permanent is 0" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;matrices&gt;&lt;permutations&gt;&lt;permanent&gt;" AnswerCount="2" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="32886" PostTypeId="1" AcceptedAnswerId="32938" CreationDate="2015-10-23T21:00:46.660" Score="19" ViewCount="2130" Body="&lt;p&gt;I am interested in learning connections between &quot;chaos,&quot; or more broadly, dynamical systems, and&#xA;the $P{=}NP$ question.&#xA;Here is an example of the type of literature I am seeking:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Ercsey-Ravasz, Mária, and Zoltán Toroczkai. &quot;Optimization hardness as transient chaos in an analog approach to constraint satisfaction.&quot; &lt;em&gt;Nature Physics&lt;/em&gt; 7, no. 12 (2011): 966-970. (&lt;a href=&quot;http://www.nature.com/nphys/journal/v7/n12/abs/nphys2105.html&quot;&gt;Journal link&lt;/a&gt;.)&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Has anyone written a survey, or made a bibliographic compendium?&lt;/p&gt;&#xA;" OwnerUserId="337" LastActivityDate="2017-12-09T11:42:18.367" Title="Chaos and the $P{=}NP$ question" Tags="&lt;cc.complexity-theory&gt;&lt;p-vs-np&gt;" AnswerCount="4" CommentCount="10" FavoriteCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="32887" PostTypeId="2" ParentId="32885" CreationDate="2015-10-23T21:32:33.040" Score="17" Body="&lt;p&gt;Expanding &lt;a href=&quot;https://cstheory.stackexchange.com/posts/comments/75330?noredirect=1&quot;&gt;my comment&lt;/a&gt;:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Computing the permanent of a matrix is &lt;a href=&quot;https://en.wikipedia.org/wiki/Sharp-P-completeness_of_01-permanent&quot; rel=&quot;nofollow noreferrer&quot;&gt;#P-hard&lt;/a&gt; &lt;a href=&quot;https://dx.doi.org/10.1016%2F0304-3975%2879%2990044-6&quot; rel=&quot;nofollow noreferrer&quot;&gt;(Valiant 1979)&lt;/a&gt; even if the matrix entries are all either 0 or 1.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We can interpret a matrix $M \in \{0,1\}^{n \times n}$ as a bipartite graph $G$ with left vertices $[n]$ and right vertices $[n]$, where the edge $(i,j)$ is present if and only if $M_{i,j}=1$. A &lt;a href=&quot;https://en.wikipedia.org/wiki/Matching_(graph_theory)&quot; rel=&quot;nofollow noreferrer&quot;&gt;perfect matching&lt;/a&gt; is a subset of the edges of $G$ such that every left and right vertex is incident to exactly one vertex in this subset. Now the permanent of the matrix $M$ is simply the number of perfect matchings in $G$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To see why this is the case, note that each perfect matching in $G$ can be uniquely specified by a permutation $\sigma : [n] \to [n]$. So that the matching is the set of edges $\{(i,\sigma(i)) : i \in [n]\}$. That is each left vertex $i$ is matched to right vertex $\sigma(i)$. A permutation $\sigma$ is a valid matching if and only if all the edges $(i,\sigma(i))$ are present in $G$. By the definition of $G$, a permutation $\sigma$ gives a valid matching if and only if $\prod_{i=1}^n M_{i,\sigma(i)}=1$. Thus the number of valid matchings in $G$ is exactly $$\sum_{\sigma \in S_n} \mathbb{I}[\sigma \text{ specifies a valid matching}] = \sum_{\sigma \in S_n} \prod_{i=1}^n M_{i,\sigma(i)} = \mathrm{Permanent}(M).$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As a consequence $\mathrm{Permanent}(M) \ne 0$ if and only if $G$ has a perfect matching. There are &lt;a href=&quot;https://en.wikipedia.org/wiki/Matching_(graph_theory)#In_unweighted_bipartite_graphs&quot; rel=&quot;nofollow noreferrer&quot;&gt;simple polynomial-time algorithms&lt;/a&gt; to find a perfect matching in a bipartite graph. Thus there is a polynomial-time algorithm to determine whether the permanent of a matrix is nonzero.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This works for all matrices with non-negative entries: Simply replace each nonzero entry with 1. This will distort the permanent but will not change whether or not it is nonzero.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The simplest algorithm for finding a perfect matching is &lt;a href=&quot;https://en.wikipedia.org/wiki/Berge%27s_lemma&quot; rel=&quot;nofollow noreferrer&quot;&gt;augmenting paths&lt;/a&gt; and runs in $O(n^4)$ time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We can actually do better and &lt;a href=&quot;https://en.wikipedia.org/wiki/Computing_the_permanent#Approximate_computation&quot; rel=&quot;nofollow noreferrer&quot;&gt;approximate the permanent&lt;/a&gt; for matrices with non-negative entries.&lt;/p&gt;&#xA;" OwnerUserId="2022" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2015-10-23T21:32:33.040" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32888" PostTypeId="2" ParentId="32884" CreationDate="2015-10-23T23:04:10.430" Score="4" Body="&lt;p&gt;The problem seems undecidable: consider a transducer $F$ that parses and &quot;executes&quot; a single step of a Turing machine $M$ with the head $H$ on symbol $a$, in state $S$ and with tape content $x[a]by$ where $a,b \in \Sigma; x,y \in \Sigma^*$:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\# x \, a \, H\, S \, b \, y \, \# \, w $$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where $w \in \{0,1\}^+$ and it outputs &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\# x \, H \, S' \, a'\, b \, y \, \# \, w' $$ &lt;/p&gt;&#xA;&#xA;&lt;p&gt;if the head moves left, i.e. $\sigma(a,S)\to (a',S',L)$ or it outputs&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\# x \, a' \, b \, H \, S' \, y \, \# \, w' $$ &lt;/p&gt;&#xA;&#xA;&lt;p&gt;if the head moves right, i.e. $\sigma(a,S)\to (a',S',R)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$w'$ is simply $w +1$ (binary addition with the LSB on the left) and its &quot;role&quot; is to make $x_{i+1} \neq x_j \forall j \leq i$ as required.&lt;br&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $M$ halts (when $S'$ is a final state), then $F$ adds an extra $\#$ at the end (i.e. it makes the output &lt;em&gt;ascending&lt;/em&gt;) and rejects to stop the sequence; otherwise it accepts and the length is unaltered.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If there is not enough space for a right move of the head then $F$ rejects to stop the sequence.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If there is not enough space for writing $w+1$ (carry overflow on the right), it simply replaces the last digit with $\#$ (to make $x_{i+1} \neq x_i$) and rejects to stop the sequence.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;$F$ needs only a limited look-ahead buffer (4 symbols) to make the rewrite and also to perform the $w+1$ operation;&lt;/li&gt;&#xA;&lt;li&gt;the internal states of $F$ embeds the internal states of $M$ so it can simulate the transition function $\sigma$;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Now, consider $M$ on an empty tape; we can use an (infinite) regular language: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$L = \{ \# \, H \, S_0\, \, 0^+ \# \, 0^+ \}$ &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$M$ halts if and only if $F^n(x)$ is &lt;em&gt;not&lt;/em&gt; descending for all $n$, for all $x \in L$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Indeed the only length increase occurs when $F$ runs on $\# \, H \, S_0\, 0^s \, \# \, 0^t$ and $s,t$ are such that $M$ halts in less than  $2^t$ steps using at most $s$ space.&lt;/p&gt;&#xA;" OwnerUserId="3247" LastActivityDate="2015-10-23T23:04:10.430" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32889" PostTypeId="1" AcceptedAnswerId="32892" CreationDate="2015-10-24T22:05:17.300" Score="8" ViewCount="261" Body="&lt;p&gt;According to Handshaking Lemma: any undirected graph that has a vertex whose degree is an odd number must have some other vertex whose degree is an odd number. This observation means that if we are given a graph and an odd-degree vertex, and we are asked to find some other odd-degree vertex, then we are searching for something that is guaranteed to exist (so, we have a total search problem).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;PPA ( Christos Papadimitriou in 1994 [1]) is defined as follows. Suppose we have a graph on whose vertices are n-bit binary strings, and the graph is represented by a polynomial-sized circuit that takes a vertex as input and outputs its neighbors. (Note that this allows us to represent an exponentially-large graph on which we can efficiently perform local exploration.) Suppose furthermore that a specific vertex (say the all-zeroes vector) has an odd number of neighbors. We are required to find another odd-degree vertex. The corresponding class of parity arguments for directed graphs is belong to PPAD. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question: What is the complexity of counting odd nodes in directed and undirected graph?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] Papadimitriou, Christos H. &quot;On the complexity of the parity argument and other inefficient proofs of existence.&quot; Journal of Computer and system Sciences 48.3 (1994): 498-532.&lt;/p&gt;&#xA;" OwnerDisplayName="user17918" LastActivityDate="2015-10-25T00:04:53.503" Title="What's the complexity of counting odd nodes in graph?" Tags="&lt;complexity-classes&gt;&lt;counting-complexity&gt;&lt;ppad&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32890" PostTypeId="2" ParentId="1198" CreationDate="2015-10-24T22:36:20.170" Score="4" Body="&lt;p&gt;The set of lectures by Ryan O'Donnell on &lt;em&gt;Analysis of Boolean Functions&lt;/em&gt;, taught in 2012 at CMU, is really nice:&#xA;&lt;a href=&quot;http://www.cs.cmu.edu/~odonnell/aobf12/&quot; rel=&quot;nofollow&quot;&gt;http://www.cs.cmu.edu/~odonnell/aobf12/&lt;/a&gt;&#xA;The page includes the video recording of each lecture.&lt;/p&gt;&#xA;" OwnerUserId="13319" LastActivityDate="2015-10-24T22:36:20.170" CommentCount="1" CommunityOwnedDate="2015-10-24T22:36:20.170" ContentLicense="CC BY-SA 3.0" />
  <row Id="32891" PostTypeId="2" ParentId="1198" CreationDate="2015-10-24T22:39:33.843" Score="5" Body="&lt;p&gt;&lt;a href=&quot;https://sites.google.com/site/plustcs&quot; rel=&quot;noreferrer&quot;&gt;TCS+&lt;/a&gt; (an online biweekly seminar series, using Google Hangouts as medium), has a &lt;a href=&quot;https://www.youtube.com/user/TCSplusSeminars&quot; rel=&quot;noreferrer&quot;&gt;YouTube Channel&lt;/a&gt;, as well as a listing of previous lectures:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://sites.google.com/site/plustcs/past-talks&quot; rel=&quot;noreferrer&quot;&gt;https://sites.google.com/site/plustcs/past-talks&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(This listing also includes the slides of the talks).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The topics are quite diverse, and meant to cover all areas of TCS.&lt;/p&gt;&#xA;" OwnerUserId="13319" LastActivityDate="2015-10-24T22:39:33.843" CommentCount="0" CommunityOwnedDate="2015-10-24T22:39:33.843" ContentLicense="CC BY-SA 3.0" />
  <row Id="32892" PostTypeId="2" ParentId="32889" CreationDate="2015-10-25T00:04:53.503" Score="10" Body="&lt;p&gt;Well, at least $\#\mathsf{P}$-hard. Given a SAT formula, construct a graph with two vertices, $v_x$ and $v_x'$, for every possible assignment of variables $\vec{x}$. If $x$ is a satisfying assignment for the formula, draw an edge between $v_x$ and $v_x'$; these are the only edges. It is easy to construct the circuit for this graph from the SAT formula, and the number of odd vertices is exactly twice the number of satisfying assignments.&lt;/p&gt;&#xA;" OwnerUserId="8243" LastActivityDate="2015-10-25T00:04:53.503" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32893" PostTypeId="1" AcceptedAnswerId="32902" CreationDate="2015-10-25T07:00:52.867" Score="2" ViewCount="146" Body="&lt;p&gt;It seems that the reasonable assumption for the tolerance parameter of statistical query model is roughly $1/\sqrt{n}$, which is obtained from concentration inequalities (see, e.g., Definition 2.3 of Statistical Algorithms and a Lower Bound for Detecting Planted Cliques, &lt;a href=&quot;http://arxiv.org/pdf/1201.1214v5.pdf&quot; rel=&quot;nofollow&quot;&gt;http://arxiv.org/pdf/1201.1214v5.pdf&lt;/a&gt;). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is why this is a reasonable choice. The rationale of this choice seems to come from the argument that the oracle can return the average of the query function over $n$ data points. However, since the query function is adaptively chosen, the $1/\sqrt{n}$ rate of concentration does not always hold. This is because the query function itself also depends on data and thus the independence is ruined. For example, this paper (Section A, Preserving Statistical Validity in Adaptive Data Analysis &lt;a href=&quot;http://arxiv.org/pdf/1411.2664v2.pdf&quot; rel=&quot;nofollow&quot;&gt;http://arxiv.org/pdf/1411.2664v2.pdf&lt;/a&gt;) gives an example in which the concentration fails due to adaptive choice of the query. &lt;/p&gt;&#xA;" OwnerUserId="32044" LastEditorUserId="32044" LastEditDate="2015-10-26T02:30:06.847" LastActivityDate="2015-10-26T05:58:41.933" Title="Tolerance parameter of statistical query model and adaptivity" Tags="&lt;machine-learning&gt;&lt;lg.learning&gt;&lt;st.statistics&gt;&lt;query-complexity&gt;&lt;privacy&gt;" AnswerCount="1" CommentCount="6" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="32895" PostTypeId="1" AcceptedAnswerId="32906" CreationDate="2015-10-25T19:54:26.753" Score="8" ViewCount="428" Body="&lt;p&gt;Monadic First Order Logic is FOL with no function symbols, and predicate symbols restricted to arity 1. For this question, let's say that the = symbol is also forbidden. I want to know the complexity of determining if a monadic FOL sentence is valid, ideally in the form of a completeness result (say, under some notion of reduction that the class &lt;a href=&quot;https://complexityzoo.uwaterloo.ca/Complexity_Zoo:N#ne&quot;&gt;NE&lt;/a&gt; is closed under).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;According to &lt;a href=&quot;http://imps.mcmaster.ca/courses/CAS-701-04/presentations/contributions/Wu-monadic-fol.pdf&quot;&gt;this presentation&lt;/a&gt;, it was proved a century ago that if S is a satisfiable monadic FOL sentence, then S has a model of size at most $2^kr$, where $r$ is the number of variables and $k$ is the number of predicate symbols. From that it follows that the problem is in $NTIME(2^{n^2})$ and $SPACE(2^n)$: First, guess a (respectively, try every) structure of size $\leq 2^k r \leq 2^n n$. Then evaluate the sentence on that structure in the most straightforward deterministic way, by enumerating all the elements of the structure at every quantifier, and evaluating the quantifier-free parts of the sentence in polynomial time. That takes time $(2^n n)^r poly(n)$, which is in $O(2^{n^2})$. On the other side, it is easy to show that the problem is hard for $PSPACE$. &lt;/p&gt;&#xA;" OwnerUserId="28706" LastActivityDate="2015-10-26T18:33:04.030" Title="Complexity of validity problem for Monadic First Order Logic?" Tags="&lt;cc.complexity-theory&gt;&lt;exp-time-algorithms&gt;&lt;nexp&gt;" AnswerCount="1" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="32896" PostTypeId="2" ParentId="32886" CreationDate="2015-10-25T21:32:31.703" Score="5" Body="&lt;p&gt;Unfortunately it's behind a paywall so I'm unable to view that paper but from reading the abstract it bears at least a superficial similarity to some &quot;cartoon pictures&quot; that I've seen on survey propagation and it's use to solve 3-SAT.  Here is a &quot;cartoon picture&quot; from Maneva, Mossel and Wainwright's &lt;a href=&quot;http://www.eecs.berkeley.edu/~wainwrig/Papers/ManMosWai_JACM07.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;&quot;A New Look at Survey Propagation and Its Generalizations&quot;&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://i.stack.imgur.com/fq5hi.png&quot; rel=&quot;nofollow noreferrer&quot;&gt;&lt;img src=&quot;https://i.stack.imgur.com/fq5hi.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here $\alpha_d$ is the value for the density transition and $\alpha_c$ is the critical threshold value ($\approx 4.2$ for 3-SAT).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It'd be interesting to see if the locations of the different fractal regions reported by Ercsey-Ravasz and Toroczkai correspond to the different critical thresholds noticed in survey propagation (or if I'm completely wrong and the similarity really is superficial).&lt;/p&gt;&#xA;" OwnerUserId="834" LastEditorUserId="834" LastEditDate="2015-10-25T22:08:32.873" LastActivityDate="2015-10-25T22:08:32.873" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32897" PostTypeId="2" ParentId="32390" CreationDate="2015-10-25T22:28:15.003" Score="0" Body="&lt;p&gt;Large treewidth does not directly mean that the usual dynamic programming algorithm for independent set will perform poorly. While the biggest table could have $2^{w + 1}$ entries when given a tree decomposition of width $w$, this case will only occur if the bag itself is an independent set. The number of entries in a table directly corresponds to the number of independent sets of the graph induced by the vertices of the associated bag. Hence, if these subgraphs do not have many independent sets, you can probably expect good performance in practice.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, independent set can be solved in polynomial time on chordal graphs by constructing a clique tree (basically a tree decomposition where every bag is a clique), and then running the dynamic programming algorithm for treewidth on it. A bag of size $k$ has only $k + 1$ entries, because at most one vertex from a clique can be part of an independet set, and also an entry for the &quot;empty&quot; independent set is kept.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Tree-length&lt;/em&gt; (see, for example, &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.396.4536&quot; rel=&quot;nofollow&quot;&gt;Tree-decompositions with bags of small diameter&lt;/a&gt; by Dourisboure and Gavoille), where the &lt;em&gt;length&lt;/em&gt; of a tree decomposition is not the number of vertices in a biggest bag but the maximum distance between pairs of vertices of a bag, might be a more appropriate measure in such cases. While chordal graphs have unbounded treewidth, they have tree-length 1.&lt;/p&gt;&#xA;" OwnerUserId="32057" LastActivityDate="2015-10-25T22:28:15.003" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32898" PostTypeId="1" CreationDate="2015-10-26T00:31:37.153" Score="1" ViewCount="262" Body="&lt;p&gt;Consider the following fire  station problem: The input is a positive&#xA;integer k and a complete undirected graph $G = (V,E)$ with distances on the edges. The distances form a&#xA;metric: $d(v, v) = 0$, $d(u, v) = d(v, u) ≥ 0$, and $d(u, w) ≤ d(u, v) + d(v, w)$. The output is a subset $S\subset V$ with $|S| \leq k$ such that cost $\sum_{v\in V} \min _{u\in S} d(v,u)$ is minimized. Let $O^*$ be the optimal value of the cost, is it possible to construct a linear program with rounding that runs in polynomial time and approximately solve the problem such that the cost is no more than $(1+\epsilon) O^*$?&lt;/p&gt;&#xA;" OwnerUserId="36003" LastActivityDate="2015-10-26T00:31:37.153" Title="Linear Programing with Rounding for the Fire Station Problem" Tags="&lt;cc.complexity-theory&gt;&lt;approximation-algorithms&gt;&lt;linear-programming&gt;" AnswerCount="0" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="32901" PostTypeId="1" CreationDate="2015-10-26T05:29:46.817" Score="7" ViewCount="303" Body="&lt;p&gt;In many publications on the computational complexity of &lt;strong&gt;Sum of Squares&lt;/strong&gt; (SoS) algorithms, it is typical to study the degree-$4$ relaxation; e.g. &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://www.cs.cornell.edu/~dsteurer/papers/sosround.pdf&quot; rel=&quot;nofollow&quot;&gt;Rounding Sum-of-Squares Relaxations&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://arxiv.org/pdf/1507.06370v2.pdf&quot; rel=&quot;nofollow&quot;&gt;Sum-of-Squares Lower Bounds for Sparse PCA&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I was curious why this number $4$ seems so crucial here. What is the difficulty of higher order SoS relaxations?&lt;/p&gt;&#xA;" OwnerUserId="36003" LastEditorUserId="39090" LastEditDate="2016-10-22T03:51:27.647" LastActivityDate="2016-10-22T03:51:27.647" Title="Why is it so difficult to study Sum of Squares (SoS) algorithms with degree $d&gt;4$?" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;lower-bounds&gt;&lt;sum-of-squares&gt;" AnswerCount="0" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32902" PostTypeId="2" ParentId="32893" CreationDate="2015-10-26T05:58:41.933" Score="5" Body="&lt;p&gt;What you are saying is that given $N$ random samples one cannot simulate an algorithm that makes $T$ queries to VSTAT$(N)$. If the $T$ queries are chosen adaptively then one might need more samples (the best upper bound is $\sqrt{T} N$ samples). &#xA;This is true but not an issue for the planted clique paper you mentioned. That paper is concerned with proving a lower bound against algorithms using VSTAT. Specifically we prove that any algorithm using a polynomial number of queries to VSTAT$(N)$ will not be able to solve the planted $k$-biclique problem for $N=\tilde{\Omega}(n^2/k^2)$ ($n$ is the number of vertices on each side). Answering even a single query to VSTAT$(N)$ requires $\Omega(N)$ samples so the lower bound reflects the difficulty of solving the problem with with $N$ (or less) samples.&lt;/p&gt;&#xA;" OwnerUserId="968" LastActivityDate="2015-10-26T05:58:41.933" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32905" PostTypeId="2" ParentId="32884" CreationDate="2015-10-26T08:53:23.970" Score="0" Body="&lt;p&gt;This is an extended comment rather than an answer, but it may be helpful to find a decidable subcase.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assume that the transduction $F$ is definable in some logic $\mathcal{L}$, i.e. there exists some formula $\alpha_F(x,y)$ of $\mathcal{L}$, with free SO variables encoding words $x$ and $y$, which is true only when $y = F(x)$.&#xA;Given a word $x$, the property &quot;$(F^n(x))$ is descending&quot; is definable in SO with transitive closure (see &lt;a href=&quot;http://www.springer.com/us/book/9780387986005&quot; rel=&quot;nofollow&quot;&gt;1&lt;/a&gt; for a definition):&#xA;$(\forall y . TC(\alpha_F)(x,y))(\forall z . \exists z' . \alpha_F(y,z') \wedge TC(\alpha_F)(z',z)) (|z| \leq |y| \wedge z \neq y)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The transitive closure operator works as expected. If $\phi$ is a formula with two free variables, it describes a binary relation $R$ over the domain of the variables. $TC(\phi)$ then describes the transitive closure $R^*$ of this relation. Intuitively, the transitive closure allows (in a controlled way) an arbitrary number of quantifications: when $x R^* y$, then $x R^i y$ for some $i$, but expressing $R^i$ would require $i$ existential quantifiers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thus, the language $L_d = \{ x \in L ~|~ (F^n(x)) \text{ is descending} \}$ is definable in $\mathcal{L}$ + SO + TC.&#xA;Thus, if in the latter logic $\mathcal{L}$ + SO + TC, the universality is decidable, then your problem is decidable as well.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Unfortunately, little is known about the appropriate logic needed to define the above $\alpha_F$ in the general case.&lt;/p&gt;&#xA;" OwnerUserId="32683" LastEditorUserId="32683" LastEditDate="2015-11-01T17:37:06.527" LastActivityDate="2015-11-01T17:37:06.527" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="32906" PostTypeId="2" ParentId="32895" CreationDate="2015-10-26T15:34:49.330" Score="4" Body="&lt;p&gt;According to:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://ieeexplore.ieee.org/xpl/articleDetails.jsp?arnumber=287598&quot; rel=&quot;nofollow&quot;&gt;Leo Bachmair, Harald Ganzinger, Uwe Waldmann: Set Constraints are the Monadic Class. LICS 1993: 75-83&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;the problem of checking if a formula of the Monadic Predicate Calculus is &lt;em&gt;satisfiable&lt;/em&gt; is NEXPTIME-complete. So your problem (formula &lt;em&gt;validity&lt;/em&gt;) is coNEXPTIME-complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As cited in the paper, the $NTIME(c^{n / \log n })$ upper and lower bounds  (using different $c &amp;gt; 0$ constants) for the Monadic Predicate Calculus satisfiablility were established in:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/0022000080900276&quot; rel=&quot;nofollow&quot;&gt;Harry R. Lewis: Complexity Results for Classes of Quantificational Formulas. J. Comput. Syst. Sci. 21(3): 317-353 (1980)&lt;/a&gt; [&lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/0022000080900276/pdf?md5=4eb40650392277bc7a4fdcb33c29e115&amp;amp;pid=1-s2.0-0022000080900276-main.pdf&quot; rel=&quot;nofollow&quot;&gt;pdf download&lt;/a&gt;]&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2015-10-26T18:33:04.030" LastActivityDate="2015-10-26T18:33:04.030" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="32908" PostTypeId="2" ParentId="32885" CreationDate="2015-10-26T17:59:13.957" Score="6" Body="&lt;p&gt;If it suffices to know the parity of the permanent, you can compute it in polynomial time by computing the determinant of the matrix over the field of size 2.&lt;/p&gt;&#xA;" OwnerUserId="215" LastActivityDate="2015-10-26T17:59:13.957" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="32913" PostTypeId="1" AcceptedAnswerId="32927" CreationDate="2015-10-27T17:07:03.640" Score="7" ViewCount="191" Body="&lt;p&gt;Let Alice have $n$ binary strings, each of length $n$ and let Bob have one binary string of length $n$.  Bob has to output $1$ if his string matches any of Alice's exactly and $0$ otherwise.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Clearly Alice can just run $n$ copies of a randomized one-way communication protocol to send a total of $O(n\log{n})$ bits to Bob which will let him output the correct answer with good probability.  Is this the best they can do?&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What is the one-way randomized communication complexity, assuming private randomness, of this&#xA;  problem?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;My guess is that this is a known problem with existing tight bounds but I have not managed to find a reference yet.&lt;/p&gt;&#xA;" OwnerUserId="17390" LastEditorUserId="17390" LastEditDate="2015-10-27T17:12:20.390" LastActivityDate="2015-10-29T02:35:18.640" Title="One way communication complexity of multi exact matching" Tags="&lt;communication-complexity&gt;" AnswerCount="2" CommentCount="5" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32914" PostTypeId="1" CreationDate="2015-10-27T17:10:09.073" Score="5" ViewCount="288" Body="&lt;p&gt;It is well-known that $\mathsf{P/poly}(n) = \mathsf{BPP/poly}(n)$. &#xA;It is a major open problem to prove the conjecture $\mathsf{P} = \mathsf{BPP}$.&#xA;$\mathsf{P} = \mathsf{BPP}$ implies $\mathsf{P}/f(n) = \mathsf{BPP}/f(n)$ for all $f(n)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is the smallest class of functions $f(n)$ such that &#xA;$\mathsf{P}/f(n) = \mathsf{BPP}/f(n)$ is known? &lt;/p&gt;&#xA;" OwnerUserId="25556" LastEditorUserId="186" LastEditDate="2015-10-28T23:32:58.637" LastActivityDate="2018-01-23T02:33:53.910" Title="Smallest $f(n)$ such that $P/f(n) = BPP/f(n)$?" Tags="&lt;cc.complexity-theory&gt;&lt;circuit-complexity&gt;&lt;randomized-algorithms&gt;&lt;derandomization&gt;&lt;advice-and-nonuniformity&gt;" AnswerCount="1" CommentCount="17" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="32919" PostTypeId="2" ParentId="32913" CreationDate="2015-10-28T01:21:07.547" Score="4" Body="&lt;p&gt;One simple approach: Use a Bloom filter.  Alice can construct a Bloom filter for the set of strings she has, and then send it to Bob.  The Bloom filter will have size $O(cn)$ bits, and Bob's error probability is exponentially small in $c$.  In practice, you can take $c$ to be a small constant (e.g., 100).&lt;/p&gt;&#xA;" OwnerUserId="5038" LastActivityDate="2015-10-28T01:21:07.547" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32921" PostTypeId="1" AcceptedAnswerId="32922" CreationDate="2015-10-28T10:34:21.023" Score="0" ViewCount="57" Body="&lt;p&gt;Let $G=(V,E)$ be a directed graph, i.e. $V$ is a finite set and $E\subseteq V\times V$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We call a subset $J\subseteq V$ &lt;strong&gt;extending&lt;/strong&gt; if for every $v\in V\setminus J$ there is a directed path from some vertex $j\in J$ to $v$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a polynomial-time algorithm to find an extending subset of minimal size?&lt;/p&gt;&#xA;" OwnerUserId="27518" LastEditorUserId="27518" LastEditDate="2015-10-28T13:01:07.453" LastActivityDate="2015-10-28T13:01:07.453" Title="Minimal-size extending set in a directed graph" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32922" PostTypeId="2" ParentId="32921" CreationDate="2015-10-28T10:58:56.820" Score="7" Body="&lt;p&gt;There is a linear time algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Contract all strongly connected components, then you get a DAG.&#xA;Find all the source vertex in the DAG. For each source vertex in the DAG, pick a single vertex from the strongly connected component represented by the source vertex.&lt;/p&gt;&#xA;" OwnerUserId="314" LastActivityDate="2015-10-28T10:58:56.820" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32923" PostTypeId="1" CreationDate="2015-10-28T13:12:58.963" Score="2" ViewCount="91" Body="&lt;p&gt;When we are trying to figure out in which complexity class a problem lies, we usually try simultaneously to come up with the best algorithm for it, together with the best hardness reduction, until (ideally) they both match the same known complexity class.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Imagine we show that the problem is $A$-hard, and lies in $B$, and $B\subseteq A$ is known but $A=B$ is an open problem in complexity theory. Then it is very likely that we made an error, and we will focus on trying to find it. If there is no error, this is a proof of $A=B$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm curious whether it actually happened, that advances in complexity theory were made this way ? I.e. were open problems on equality of classes solved by trying to find out the exact complexity of a particular problem ? It would be a nice example of serendipity (sort of) for computer scientists.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Notice that the &quot;opposite&quot; happened often: new complexity classes were created to describe the complexity of a particular problem, when it could not be matched to known classes, for instance Graph Isomorphism.&lt;/p&gt;&#xA;" OwnerUserId="8953" LastEditorUserId="8953" LastEditDate="2015-10-28T13:28:14.180" LastActivityDate="2015-10-28T13:28:14.180" Title="Advances in complexity by studying particular problems" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;ho.history-overview&gt;" AnswerCount="0" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="32927" PostTypeId="2" ParentId="32913" CreationDate="2015-10-28T22:07:23.823" Score="7" Body="&lt;p&gt;For the lower bound, consider the following problem: Alice is given $x \in \{0,1\}^n$ and Bob is given $i \in [n]$. Their goal is to output $x_i$ (in other words, they need to decide if $i$ is in the set indicated by $x$). This problem is called $INDEX$ in the literature. For the rest of this answer, I assume that Alice always speaks first.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Claim: the randomized one-way communication complexity of $INDEX$ is $\Omega(n)$. By Yao's minimax principle, it suffices to give a linear lower bound on distributional one-way communication complexity of $INDEX$ with respect to the uniform distribution. Let $\pi$ be a one-way protocol that solves $INDEX$ with probability of error $\le 1/64$ with respect to the uniform distribution. For $x \in \{0,1\}^n$ let $M_x$ denote the message sent by Alice on input $x$, and let $\pi(x,i)$ denote the protocol's output on the input $(x,i)$. We have probability of error = $\mathbb{E}_x (P_i(\pi(x,i) \neq x_i)) \le 1/64$. Thus, by Markov's inequality $P_x(P_i(\pi(x,i) \neq x_i) \ge 1/32) \le 1/2$. Let $A$ be the set of all $x$ such that $P_i(\pi(x,i) \neq x_i) \le 1/32$. Note that $|A| \ge 2^{n-1}$. Let $M$ be a message sent by Alice. Let $o \in \{0,1\}^n$ be the string defined by $o_i = \pi(M,i)$. By above, if $x$ is such that $x \in A$ and $M_x = M$, then $x$ and $o$ differ in at most $n/32$ positions. Number of such $x$ is at most ${n \choose n/32} 2^{n/32} \le (32 e)^{n/32} 2^{n/32} \le 2^{8n/32} = 2^{n/4}$. In other words, we have shown that a given message $M$ can arise out of at most $2^{n/4}$ different inputs. Thus the total number of messages has to be at least $2^{n-1}/2^{n/4} =2^{3n/4-1}$. Therefore there is a message of length at least $3n/4 -1 = \Omega(n)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, this gives an $\Omega(n)$ lower bound for your problem via a reduction. Given $x \in \{0,1\}^n$ Alice constructs $n$ strings $s_1, \ldots, s_n$ as follows: if $x_j = 1$ then Alice sets $s_j$ to be the binary expansion of $j$ (padded to have $n$ bits), otherwise she sets $s_j$ to be 0. Upon, receiving $i$, Bob constructs his own string to be the binary expansion of $i$ (padded to $n$ bits). Bob's string matches one of Alice's strings if and only if $x_i = 1$.&lt;/p&gt;&#xA;" OwnerUserId="30361" LastEditorUserId="30361" LastEditDate="2015-10-29T02:35:18.640" LastActivityDate="2015-10-29T02:35:18.640" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="32930" PostTypeId="1" CreationDate="2015-10-29T09:25:29.883" Score="0" ViewCount="103" Body="&lt;p&gt;To realize correct quantum computing it seems that both quantum error correction and quantum tomography would be necessary. Is this true? What is the relationship between these two fields?&lt;/p&gt;&#xA;" OwnerUserId="10881" LastActivityDate="2015-10-29T09:25:29.883" Title="What is the relationship between quantum tomography and quantum error correction?" Tags="&lt;quantum-computing&gt;" AnswerCount="0" CommentCount="14" ContentLicense="CC BY-SA 3.0" />
  <row Id="32931" PostTypeId="2" ParentId="32365" CreationDate="2015-10-29T17:57:50.783" Score="2" Body="&lt;p&gt;As mentioned in a comment above, the &lt;a href=&quot;http://www.wisdom.weizmann.ac.il/~ranraz/publications/Pbhm.pdf&quot; rel=&quot;nofollow&quot;&gt;Boolean&#xA;Hidden Matching Problem&lt;/a&gt; introduced and studied in [BJK04,KR06] seems to (almost) meet your requirement. The input size is roughly $n\log n$ (as an input is of the form $(x,M,w)\in\{0,1\}^{2n}\times\{0,1\}^{n\times 2n}\times \{0,1\}^{2n}$, where $M$ is a very sparse matrix that can be encoded with $n\log n$ bits); and $\textsf{yes}$- and $\textsf{no}$-instances of the promise problem have distance $\Theta(n)$,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The one-way randomized communication complexity of $\textsf{BHM}_n$ is $\Omega(\sqrt{n})$, as shown in [KR06].&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;[BJK04] Ziv Bar-Yossef, T. S. Jayram, Iordanis Kerenidis. Exponential separation of quantum and classical one-way communication complexity, Proceedings of ACM STOC 2004&lt;/li&gt;&#xA;&lt;li&gt;[KR06] Iordanis Kerenidis, Ran Raz.&#xA;The one-way communication complexity of the Boolean Hidden Matching Problem. Electronic Colloquium on Computational Complexity (ECCC) 13(087) (2006)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="13319" LastActivityDate="2015-10-29T17:57:50.783" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32933" PostTypeId="2" ParentId="32886" CreationDate="2015-10-29T21:05:25.520" Score="6" Body="&lt;p&gt;There is a relatively recent research trend (15 years or so) of mixing statistical physics of disordered systems and discrete, combinatoric, optimization problems. The link is through the Boltzmann probabilities, and the computational hardness is related to the multiplication of metastable states of the physical system. Spin glasses models are provable isomorphic to most discrete optimization problems.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I advice you to start with this PhD thesis, there you'll find more references&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Lenka Zdeborová. &lt;em&gt;Statistical Physics of Hard Optimization Problems&lt;/em&gt; &#xA;at &lt;a href=&quot;http://arxiv.org/abs/0806.4112&quot;&gt;http://arxiv.org/abs/0806.4112&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One classical paper, which, to be sincere I don´t understand that well is:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;David L. Donoho, Jared Tanner. &lt;em&gt;Observed Universality of Phase Transitions in High-Dimensional Geometry, with Implications for Modern Data Analysis and Signal Processing&lt;/em&gt;&#xA;at &lt;a href=&quot;http://arxiv.org/abs/0906.2530&quot;&gt;http://arxiv.org/abs/0906.2530&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, on spin glasses, an introduction&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Tommaso Castellani, Andrea Cavagna. &lt;em&gt;Spin-Glass Theory for Pedestrians&lt;/em&gt;&lt;/p&gt;&#xA;" OwnerUserId="36150" LastActivityDate="2015-10-29T21:05:25.520" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32935" PostTypeId="1" CreationDate="2015-10-30T02:42:59.233" Score="17" ViewCount="494" Body="&lt;p&gt;This question is inspired by the recent, beautiful work On the Cryptographic Hardness of Finding a Nash Equilibrium by &lt;a href=&quot;http://eccc.hpi-web.de/report/2015/001/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Bitansky, Paneth, and Rosen&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Their main result is that the existence of &lt;a href=&quot;https://dash.harvard.edu/handle/1/12644697&quot; rel=&quot;nofollow noreferrer&quot;&gt;indistinguishability obfuscation&lt;/a&gt; ($i\mathcal{O}$) and subexponentially-secure one-way functions implies that the &lt;a href=&quot;https://complexityzoo.uwaterloo.ca/Complexity_Zoo:P#ppad&quot; rel=&quot;nofollow noreferrer&quot;&gt;$\mathsf{PPAD}$-complete&lt;/a&gt; search problem $\mathsf{End}$-$\mathsf{Of}$-$\mathsf{Line}$ (see for example, my &lt;a href=&quot;https://cstheory.stackexchange.com/questions/41/succinct-circuit-representation-of-graphs&quot;&gt;old, old question&lt;/a&gt;) is worst-case hard for polynomial-time algorithms. Recall, of course, that the search problem of finding a Nash equilibrium in a normal form game of three or more players with specified utilities is (correct me if I'm wrong) known to be $\mathsf{PPAD}$-complete from a sequence of works beginning with the breakthrough of &lt;a href=&quot;http://people.csail.mit.edu/costis/simplified.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Daskalakis, Goldberg, and Papadimitriou&lt;/a&gt;. [Update: &lt;a href=&quot;http://www.corelab.ece.ntua.gr/courses/gametheory/material/10.1.1.93.8285.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Finding &lt;strong&gt;two&lt;/strong&gt;-player Nash equilibria is PPAD-complete&lt;/a&gt; -- Thanks Akshayaram Srinivasan for pointing this out.]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Independently, a (the?) major question in theoretical cryptography is to construct cryptographically-secure &lt;a href=&quot;https://eprint.iacr.org/2012/610.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;multilinear maps&lt;/a&gt; from $\underline{\rm standard}$ assumptions, in particular from the Learning with Errors ($\mathsf{LWE}$) assumption [&lt;a href=&quot;http://www.cims.nyu.edu/~regev/papers/qcrypto.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Regev05&lt;/a&gt;]. (Any secure multilinear map, in turn, implies efficient indistinguishability obfuscation for $\mathsf{P/poly}$, landing us &lt;strong&gt;firmly&lt;/strong&gt; far, far into the land of &lt;a href=&quot;http://blog.computationalcomplexity.org/2004/06/impagliazzos-five-worlds.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;Cryptomania&lt;/a&gt;.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, this goal raises an interesting question: Suppose the Crypto community (sometime in the next year or few) jointly produces an appropriate reduction from the standard Learning with Errors assumption to the security of some indistinguishability obfuscation scheme for all circuits. Note that $\mathsf{LWE}$ is believed to be &lt;em&gt;hard for quantum adversaries&lt;/em&gt;, formally by &lt;em&gt;quantum&lt;/em&gt; reduction from approximating $\mathsf{GapSVP}$ to polynomial approximation ratios. In turn, $\mathsf{GapSVP}$ is &quot;believed hard&quot; for quantum computers itself, intuitively by $\mathsf{GapSVP}$'s &quot;relation&quot; to the Non-Abelian Hidden Subgroup Problem ($\mathsf{HSP}$) -- whereas &lt;a href=&quot;http://arxiv.org/abs/quant-ph/9508027&quot; rel=&quot;nofollow noreferrer&quot;&gt;Shor's algorithm&lt;/a&gt; solves the &lt;em&gt;Abelian&lt;/em&gt; variant of $\mathsf{HSP}$. (If someone wants to independently fill me in more on the history/relationship between $\mathsf{GapSVP}$ and the Non-Abelian $\mathsf{HSP}$, great and thank you!)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The point is this: If indistinguishability obfuscation can be constructed for all circuits from $\mathsf{LWE}$ &lt;strong&gt;alone&lt;/strong&gt;, then the resulting obfuscator will be &lt;strong&gt;quantum-secure&lt;/strong&gt;. Intuitively, this seems to yield the following, simple and natural consequence of BPR's result/proof + the conjectured security of $i\mathcal{O}$ from $\mathsf{LWE}$ + the quantum-hardness of $\mathsf{LWE}$:&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;$\bullet$ &lt;strong&gt;Quantum computers cannot efficiently find Nash equilibria in the worst-case.&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;$\underline{\rm Question}:$ What, if any, consequence would the quantum hardness of finding Nash equilibria have? Is this an expected or unexpected outcome? Does anything overly weird occur, which we did not already observe simply from our implicit settling of $\mathsf{P}\ne\mathsf{NP}$ in order to allow a cryptographic assumption like $\mathsf{LWE}$ in the first place?&lt;/p&gt;&#xA;" OwnerUserId="108" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2015-11-06T21:56:44.787" Title="Quantum Hardness of Finding Nash Equilibria" Tags="&lt;cc.complexity-theory&gt;&lt;quantum-computing&gt;&lt;cr.crypto-security&gt;&lt;gt.game-theory&gt;&lt;conditional-results&gt;" AnswerCount="0" CommentCount="3" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="32938" PostTypeId="2" ParentId="32886" CreationDate="2015-10-30T15:47:28.877" Score="7" Body="&lt;p&gt;the paper you cite by &lt;a href=&quot;http://arxiv.org/abs/1208.0526&quot; rel=&quot;noreferrer&quot;&gt;Ercsey-Ravasz, Toroczkai&lt;/a&gt; is very crosscutting; it fits in with/ touches on several lines of NP complete problem/ complexity/ hardness research. the connection to statistical physics and spin glasses was uncovered mainly via &quot;phase transitions&quot; in the mid 1990s and that has led to a large body of work, see Gogioso[1] for a 56p survey. the phase transition coincides with what is known as &quot;the constrainedness knife edge&quot; in [2]. the exact same transition point does turn up in very theoretical analyses of computational complexity/ hardness eg [3] that also relate to early studies of transition point behavior in clique problems by Erdos. [4] is a survey/ video lecture on phase transitions and computational complexity by Moshe Vardi. [5][6] are overviews of phase transition behavior across NP complete problems by Moore, Walsh.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;then there is scattered but maybe increasing study of the diverse connections of dynamical systems with computational complexity and hardness in a variety of contexts. there is a general connection found in [7] possibly explaining some of the underlying reasons for frequent &quot;overlap&quot;. refs [8][9][10][11] are diverse but show a reoccuring theme/ crosscutting appearance between NP complete problems and various dynamical systems. in these papers there is some concept/ examples of a hybrid link between discrete and continuous systems.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;chaotic behavior in NP complete systems is analyzed in [11].&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A somewhat similar ref to Ercsey-Ravasz/ Toroczkai in the area of quantum algorithms in that the dynamical system is found to run &quot;apparently&quot; in P-time [12]&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;In this paper we study a new approach to quantum algorithm which is a combination of the ordinary quantum algorithm with a chaotic dynamical system. We consider the satisfiability problem as an example of NP-complete problems and argue that the problem, in principle, can be solved in polynomial time by using our new quantum algorithm.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;[1] &lt;a href=&quot;http://arxiv.org/abs/1405.3558&quot; rel=&quot;noreferrer&quot;&gt;Aspects of Statistical Physics in Computational Complexity&lt;/a&gt; / Gogioso&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.2.3267&quot; rel=&quot;noreferrer&quot;&gt;The constrainedness knife edge&lt;/a&gt; / Toby Walsh&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[3] &lt;a href=&quot;http://www.cs.cmu.edu/~odonnell/hits09/rossman-monotone-complexity-random-k-clique.pdf&quot; rel=&quot;noreferrer&quot;&gt;The Monotone Complexity of k-Clique on Random Graphs&lt;/a&gt; / Rossman&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[4] &lt;a href=&quot;http://www.birs.ca/events/2014/5-day-workshops/14w5101/videos/watch/201401231116-Vardi.html&quot; rel=&quot;noreferrer&quot;&gt;Phase transitions and computational complexity&lt;/a&gt; / Moshe Vardi&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[5] &lt;a href=&quot;http://tuvalu.santafe.edu/~moore/AMS.pdf&quot; rel=&quot;noreferrer&quot;&gt;Phase transitions in NP-complete problems:&#xA;a challenge for probability, combinatorics, and&#xA;computer science&lt;/a&gt; / Moore&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[6] &lt;a href=&quot;http://www.cse.unsw.edu.au/~tw/phase.ppt&quot; rel=&quot;noreferrer&quot;&gt;Phase transition behavior&lt;/a&gt; / Walsh&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[7] &lt;a href=&quot;http://arxiv.org/abs/1005.0005v1&quot; rel=&quot;noreferrer&quot;&gt;Determining dynamical equations is hard&lt;/a&gt; / Cubitt, Eisert, Wolf&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[8] &lt;a href=&quot;http://www.ohio.edu/people/just/PAPERS/monNPh14.pdf&quot; rel=&quot;noreferrer&quot;&gt;The steady state system problem is NP-hard even for monotone quadratic Boolean dynamical systems&lt;/a&gt; / Just&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[9] &lt;a href=&quot;http://www.dmtcs.org/pdfpapers/dmAB0106.pdf&quot; rel=&quot;noreferrer&quot;&gt;Predecessor and Permutation Existence Problems for Sequential Dynamical Systems&lt;/a&gt; / Barret, Hunt III, Marathe, Ravi, Rosenkrantz, Stearns. (also goes by &lt;a href=&quot;http://www.aamas2015.com/en/AAMAS_2015_USB/aamas/p1501.pdf&quot; rel=&quot;noreferrer&quot;&gt;Analysis Problems for Graphical Dynamical Systems: A Unified Approach Through Graph Predicates&lt;/a&gt;)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[10] &lt;a href=&quot;http://people.duke.edu/~mz61/papers/2006CDC_Zavlanos_GraphMatching.pdf&quot; rel=&quot;noreferrer&quot;&gt;A Dynamical Systems Approach to Weighted Graph Matching&lt;/a&gt; / Zavlanos, Pappas&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[11] &lt;a href=&quot;http://link.springer.com/chapter/10.1007/3-540-19422-3_12&quot; rel=&quot;noreferrer&quot;&gt;On chaotic behaviour of some np-complete problems&lt;/a&gt; / Perl&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[12] &lt;a href=&quot;http://arxiv.org/abs/quant-ph/0406216&quot; rel=&quot;noreferrer&quot;&gt;New quantum algorithm for studying NP-complete problems&lt;/a&gt; / Ohya, Volovich&lt;/p&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2015-10-30T15:47:28.877" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="32941" PostTypeId="1" CreationDate="2015-10-30T20:47:05.373" Score="1" ViewCount="220" Body="&lt;p&gt;Theorem 2.2 in &quot;&lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/030439759200014I&quot; rel=&quot;nofollow&quot;&gt;Nondeterministic circuits, space complexity and quasigroups&lt;/a&gt;&quot;, by Wolf, 1994 (a technical report version is available &lt;a href=&quot;ftp://128.105.2.31/pub/techreports/1989/TR870.pdf&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt; without fee), proves that NP = NNC, where NNC is the class of languages decidable by an L-uniform family of nondeterministic NC circuits. A &lt;em&gt;nondeterministic NC circuit&lt;/em&gt; is an NC circuit with a polynomial number of nondeterministic input bits. The simulation essentially guesses a tableau of an arbitrary NP machine then verifies that each configuration proceeds from the previous one according to the transition function of the machine. My interpretation of this proof is that the NC circuit is in fact an NC&lt;sup&gt;1&lt;/sup&gt; circuit, since it simply takes the conjunction of a polynomial number of subcircuits, each of which checks that a local &quot;window&quot; in the tableau is valid.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assuming that interpretation is correct, it should follow that NP = NL, since NC&lt;sup&gt;1&lt;/sup&gt; is in L, so the same argument will apply. What is the error in my interpretation of this result? Why doesn't the strategy &quot;guess a tableau, verify that each configuration follows from the previous&quot; work?&lt;/p&gt;&#xA;" OwnerUserId="4193" LastActivityDate="2015-10-30T20:47:05.373" Title="Is $\mathsf{NP}$ in $\mathsf{NNC}^1$?" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;" AnswerCount="0" CommentCount="5" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32944" PostTypeId="2" ParentId="14159" CreationDate="2015-10-31T14:48:43.583" Score="27" Body="&lt;p&gt;The following is an obvious consequence:&#xA;$\mathsf{L}^{1+\epsilon} \subseteq \mathsf{P}$ would imply $\mathsf{L} \subsetneq \mathsf{P}$ and therefore $\mathsf{L} \neq \mathsf{P}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By the space hierarchy theorem, $\forall \epsilon &amp;gt; 0: \mathsf{L} \subsetneq \mathsf{L}^{1+\epsilon}$ . &#xA;If $\mathsf{L}^{1+\epsilon} \subseteq \mathsf{P}$ then $\mathsf{L} \subsetneq \mathsf{L}^{1+\epsilon} \subseteq \mathsf{P}$. &lt;/p&gt;&#xA;" OwnerUserId="8345" LastEditorUserId="38604" LastEditDate="2018-01-15T17:53:27.073" LastActivityDate="2018-01-15T17:53:27.073" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32946" PostTypeId="1" CreationDate="2015-10-31T14:56:11.957" Score="54" ViewCount="3769" Body="&lt;p&gt;For (search versions) of &lt;strong&gt;NP&lt;/strong&gt;-complete problems, verifying a solution is clearly easier than finding it, since the verification can be done in polynomial time, while finding a witness takes (probably) exponential time. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In &lt;strong&gt;P&lt;/strong&gt;, however, the solution can also be found in polynomial time, so it does not seem obvious when is the verification  faster than finding the solution.  In fact, different problems seem to behave differently from this point of view. Some examples: &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;3SUM:&lt;/strong&gt; given $n$ input numbers, find 3 among them that sum to 0. As far as I know, the fastest known algorithm runs in  $O(n^{2-o(1)})$ time, and this order is conjectured optimal. On the other hand, the &lt;em&gt;verification&lt;/em&gt; of a solution is much faster, since all we need to do is just to check that the 3 found numbers indeed sum to 0. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;All-Pairs Shortest Paths:&lt;/strong&gt;  given a graph with edge weights, compute its shortest path distance matrix. Once such a matrix is given, can it  be checked faster that it is indeed the correct distance matrix, than re-computing it? My guess is that the answer is perhaps yes, but it is certainly less obvious than for &lt;strong&gt;3SUM.&lt;/strong&gt; &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;Linear Programming.&lt;/strong&gt; If a claimed optimal solution is given, checking it is  easier than re-computing it, when auxiliary information is also given (an optimal dual solution). On the other hand, if only the primal solution is available, it is not clear if one can check it faster, than actually solving the LP.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question:&lt;/strong&gt; what is known about this subject? That is, when is it easier to verify a solution for a problem in &lt;strong&gt;P&lt;/strong&gt;, than finding the solution? &lt;/p&gt;&#xA;" OwnerUserId="12710" LastActivityDate="2015-11-20T18:08:45.323" Title="For which problems in P is it easier to verify the result than to find it?" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;reference-request&gt;" AnswerCount="7" CommentCount="14" FavoriteCount="16" ContentLicense="CC BY-SA 3.0" />
  <row Id="32947" PostTypeId="1" CreationDate="2015-10-31T15:16:22.173" Score="3" ViewCount="754" Body="&lt;p&gt;This is an exercice from Arora &amp;amp; Barak, Chapter 7 : &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Describe a real number $p$ such that given a random coin that comes up&#xA;  &quot;heads&quot; with probability $p$, a Turing machine can decide an undecidable&#xA;  language in polynomial time.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;This follows a discussion about the fact that if $p$ is efficiently computable, then it's no better than a $1/2$-coin.  But if $p$ can be anything, we get new powers.  I guess in this case the way to do is to recover the bits of $p$, but I can't think of a deterministic way to do so.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT : based on comments, this question doesn't seem clear.  I'll rephrase it like this, based on my interpretation of 'decide' (if I'm wrong, please let me know):&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Describe a real number $p$ such that given a random coin that comes up&#xA;  &quot;heads&quot; with probability $p$, there exists an undecidable language $L$ and a Turing machine $M$ such that $M$ runs in polynomial time, and on input $x$, $M$ outputs $1$ if and only if $x \in L$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Note that stated like this $M$ makes zero error.&lt;/p&gt;&#xA;" OwnerUserId="10474" LastEditorUserId="10474" LastEditDate="2015-11-02T15:49:31.487" LastActivityDate="2016-07-12T23:02:12.203" Title="Real number $p$ such that a $p$-coin makes the undecidable decidable" Tags="&lt;randomness&gt;&lt;undecidability&gt;" AnswerCount="1" CommentCount="16" FavoriteCount="1" ClosedDate="2016-07-13T21:06:13.387" ContentLicense="CC BY-SA 3.0" />
  <row Id="32951" PostTypeId="2" ParentId="32946" CreationDate="2015-11-01T01:27:39.457" Score="20" Body="&lt;p&gt;&lt;a href=&quot;http://eccc-preview.hpi-web.de/report/2015/148/download/&quot;&gt;This paper&lt;/a&gt; shows that there are verification algorithms for &lt;strong&gt;both&lt;/strong&gt; YES and NO instances for 3 problems, including Max flow, 3SUM, and APSP, which are faster by a &lt;strong&gt;polynomial factor&lt;/strong&gt; than the known bounds for computing the solution itself.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is a class of problems, namely the ones which improving the running time is SETH-hard, whose the running time for verifying NO instances is unlikely to be significantly faster than the time for computing the solution, otherwise the conjecture from this paper called Nondeterministic Strong Exponential Time Hypothesis would fail.&lt;/p&gt;&#xA;" OwnerUserId="12646" LastEditorUserId="12646" LastEditDate="2015-11-01T21:45:14.433" LastActivityDate="2015-11-01T21:45:14.433" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32952" PostTypeId="2" ParentId="32946" CreationDate="2015-11-01T02:47:46.380" Score="18" Body="&lt;p&gt;For some problems there seems to be no difference. In particular, &lt;a href=&quot;http://ieee-focs.org/FOCS-2010-Proceedings/Subcubic-Equivalences-Between-Path-Matrix-and-Triangle-Problems.pdf&quot;&gt;Vassilevska Williams &amp;amp; Williams&lt;/a&gt; show:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;for Boolean matrix multiplication, computing the matrix product and verifying the matrix product subcubic-equivalent, meaning that they either both have subcubic-time algorithms or neither of them do. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The same is true for matrix product computation and verification over any &quot;extended (min,+) structure&quot; (see paper for the definition, but this includes lots of natural problems). &lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;(Now, of course, it's possible that these problems all have subcubic algorithms, and then there might be a polynomial difference between computing and verifying, but for these problems there can't be a cubic difference. And it seems plausible to me that in fact they all require essentially cubic time.)&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2015-11-01T02:47:46.380" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="32953" PostTypeId="2" ParentId="32946" CreationDate="2015-11-01T03:07:18.040" Score="25" Body="&lt;p&gt;it is known that given a graph G and a tree T, it can be verified in linear time that T is a minimum spanning tree of G. But we don't yet have a deterministic linear time algorithm to compute the MST. Of course the gap is tiny (1 vs $\alpha(n)$), but it's still there :))&lt;/p&gt;&#xA;" OwnerUserId="80" LastEditorUserId="80" LastEditDate="2015-11-01T16:32:07.667" LastActivityDate="2015-11-01T16:32:07.667" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="32957" PostTypeId="1" CreationDate="2015-11-01T18:11:15.377" Score="11" ViewCount="241" Body="&lt;p&gt;I recently came across &lt;a href=&quot;http://arxiv.org/abs/1310.6755&quot;&gt;a paper by Coudron and Yuen&lt;/a&gt; on randomness expansion using quantum devices. The main result of the work is that it is possible to generate &quot;infinite&quot; randomness from a constant number of sources (that is, the number of random bits generated depends only on the number of rounds of the protocol and not on the number of sources). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Naively, this sounds to me like the result allows derandomization of any randomized algorithm with quantum sources, and would imply some kind of containment of randomized complexity classes inside a corresponding quantum class. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;But I don't really understand quantum information theory, and am sure there are many subtleties I'm missing. Not to mention that if such claims were possible, the authors would have made it. So my question is:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Does the existence of &quot;infinite randomness expansion&quot; as described in the paper (and all the related work) imply some kind of derandomization statements for randomized complexity classes ? And if not, why not ? &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Update: I was pointed to &lt;a href=&quot;http://www.americanscientist.org/issues/pub/2014/4/quantum-randomness/&quot;&gt;this excellent high level overview&lt;/a&gt; of the area and of the above paper by Scott Aaronson. Unfortunately I'm still confused :). &lt;/p&gt;&#xA;" OwnerUserId="80" LastEditorUserId="80" LastEditDate="2015-11-01T18:20:48.407" LastActivityDate="2015-11-02T15:06:28.410" Title="Generating &quot;infinite&quot; randomness from a constant number of sources" Tags="&lt;cc.complexity-theory&gt;&lt;quantum-information&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="32959" PostTypeId="2" ParentId="32946" CreationDate="2015-11-01T19:03:36.477" Score="16" Body="&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Deciding if a value exists in an array takes time $\Omega(n)$  (or $\Omega(\log n)$ if the array is sorted).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Verifying that an array contains the given value at a given position is possible in time $O(1)$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Sorting (in the comparison model) takes time $\Omega(n \log n)$, but verifying that an array or list is sorted is possible in time $O(n)$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="1546" LastActivityDate="2015-11-01T19:03:36.477" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="32963" PostTypeId="1" AcceptedAnswerId="44025" CreationDate="2015-11-02T01:56:48.550" Score="23" ViewCount="617" Body="&lt;p&gt;It is well known that many important graph parameters show (strong) concentration on random graphs, at least in some range of the edge probability. Some typical examples are the chromatic number, maximum clique,  maximum independent set, maximum matching, domination number, number of copies of a fixed subgraph, diameter, maximum degree, choice number (list coloring number), Lovasz $\theta$-number, tree width, etc. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question:&lt;/strong&gt; Which are the exceptions, that is, meaningful graph parameters that are &lt;strong&gt;not&lt;/strong&gt; concentrated on random graphs?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit.&lt;/strong&gt;&#xA;A possible definition of concentration is this:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $X_n$ be a graph parameter on $n$-vertex random graphs. We call it &lt;em&gt;concentrated&lt;/em&gt;, if for every $\epsilon&amp;gt;0$, it holds that &#xA;$$\lim_{n\rightarrow\infty}\Pr\big((1-\epsilon)E(X_n)\leq X_n \leq (1+\epsilon)E(X_n)\big)=1.$$&#xA;The concentration is &lt;em&gt;strong&lt;/em&gt;, if the probability approaches 1 at an exponential rate. But sometimes strong is used in a different sense, referring to the fact that the convergence remains true with a shrinking interval, yielding a possibly very narrow range. &#xA; For example, if $X_n$ is the minimum degree, then, for some range of the edge probability $p$,  one can prove &#xA;$$\lim_{n\rightarrow\infty}\Pr\big(\lfloor E(X_n)\rfloor\leq X_n \leq \lceil E(X_n)\rceil\big)=1$$&#xA;which is the shortest possible interval (as the degree is integer, but the expected value may not be). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; One can construct &lt;em&gt;artificial&lt;/em&gt; exemptions from  the concentration rule. For example, let $X_n=n$, if the graph has an odd number of edges, and 0 otherwise. This is clearly not concentrated, but I would not consider it a &lt;em&gt;meaningful&lt;/em&gt; parameter.&lt;/p&gt;&#xA;" OwnerUserId="12710" LastEditorUserId="12710" LastEditDate="2015-11-02T17:29:35.413" LastActivityDate="2019-06-03T08:02:10.677" Title="Which graph parameters are NOT concentrated on random graphs?" Tags="&lt;graph-theory&gt;&lt;pr.probability&gt;&lt;random-graphs&gt;" AnswerCount="2" CommentCount="6" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="32964" PostTypeId="1" CreationDate="2015-11-02T09:17:01.093" Score="1" ViewCount="90" Body="&lt;p&gt;In &lt;a href=&quot;http://www.cs.upc.edu/~roberto/papers/lpar04.pdf&quot; rel=&quot;nofollow&quot;&gt;Abstract DPLL&lt;/a&gt; and some other sources there is a high-level framework/ model explained using states and transitions. I need (to build) such a model for a #SAT algorithm. I do know that #SAT algorithms can be build on top of DPLL or other solvers but i could not find a high-level framework/ model for #SAT.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question:&lt;/strong&gt; Is there any such or similar model for a #SAT solving algorithm, or else which rules will have to be added to abstract DPLL to get a #SAT solver?&lt;/p&gt;&#xA;" OwnerUserId="34774" LastActivityDate="2015-11-04T01:00:47.723" Title="Abstract high-level framwork for #SAT" Tags="&lt;sat&gt;" AnswerCount="2" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32965" PostTypeId="2" ParentId="32957" CreationDate="2015-11-02T14:51:49.857" Score="15" Body="&lt;p&gt;This is a great question, Suresh!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Our randomness expansion result does &lt;em&gt;not&lt;/em&gt; imply any complexity theoretic result. Here's one way to understand the result: we believe that quantum mechanics governs the world, and under this assumption, there &lt;em&gt;are&lt;/em&gt; quantum devices that generate genuine, true, information-theoretic randomness.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, imagine that you're mistrustful of these boxes that claim to do this wonky quantum stuff and generate randomness (for some, this may not take too much imagining). You don't want to deal with qubits. All you understand are classical bit strings. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Randomness expansion is a protocol where you, as a classical verifier, can interact with a bunch of black boxes (think of them as non-communicating &lt;em&gt;provers&lt;/em&gt;), and after running a protocol with these black boxes, you've certified that their outputs contain very high entropy -- if the provers pass. Furthermore, the amount of randomness you started with is much less than the output entropy you certified. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In other words, it's an &lt;em&gt;interactive proof&lt;/em&gt; for randomness generation. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, the only &quot;derandomization&quot; aspect of it is to argue that the protocol itself requires small startup randomness. But the outcome is very un-derandomized: the output produced by the boxes is true randomness, not pseudorandomness (i.e. no computational assumptions).&lt;/p&gt;&#xA;" OwnerUserId="170" LastEditorUserId="170" LastEditDate="2015-11-02T15:06:28.410" LastActivityDate="2015-11-02T15:06:28.410" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="32966" PostTypeId="2" ParentId="14159" CreationDate="2015-11-02T16:39:57.697" Score="27" Body="&lt;p&gt;$&#xA;\newcommand{\DSPACE}{\mathsf{DSPACE}}&#xA;\newcommand{\L}{\mathsf{L}}&#xA;\newcommand{\P}{\mathsf{P}}&#xA;\newcommand{\DTIME}{\mathsf{DTIME}}&#xA;$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\L^2 \subseteq \P$ would refute the &lt;a href=&quot;https://en.wikipedia.org/wiki/Exponential_time_hypothesis&quot; rel=&quot;noreferrer&quot;&gt;Exponential Time Hypothesis&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $\L^2 \subseteq \P$ &#xA;then by a &lt;a href=&quot;https://en.wikipedia.org/wiki/Padding_argument&quot; rel=&quot;noreferrer&quot;&gt;padding argument&lt;/a&gt;&#xA;$\DSPACE(n) \subseteq \DTIME(2^{O(\sqrt n)})$. &#xA;This means that the satisfiability problem $\mathsf{SAT} \in \DSPACE(n)$&#xA;can be decided in $2^{o(n)}$ steps, &#xA;refuting the Exponential Time Hypothesis.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More generally,&#xA;$\DSPACE(\log^{k} n) \subseteq \P$ for $k\geq1$&#xA;implies&#xA;$\mathsf{SAT} \in \DSPACE(n) \subseteq &#xA;\DTIME(2^{O(n^{\frac{1}{k}})})$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(This answer is expanded from a comment by @MichaelWehar.)&lt;/p&gt;&#xA;" OwnerUserId="4193" LastEditorUserId="38604" LastEditDate="2018-01-14T00:37:13.947" LastActivityDate="2018-01-14T00:37:13.947" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="32967" PostTypeId="2" ParentId="32964" CreationDate="2015-11-02T18:18:20.873" Score="2" Body="&lt;p&gt;DPLL can be modified to count model, i.e. to solve #SAT. So yes, you can modify the Abstract DPLL for #SAT.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, AFAIK DPLL is not state-of-the-art for #SAT, so a DPLL-based framework is neither important nor useful. The Abstract DPLL is useful because it covers most state-of-the-art DPLL-based SAT solvers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can take a look at these following papers:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) &lt;a href=&quot;https://www.aaai.org/Papers/AAAI/2000/AAAI00-024.pdf&quot; rel=&quot;nofollow&quot;&gt;Counting Model using Connected Components&lt;/a&gt;. It is implemented in the tool &lt;a href=&quot;https://code.google.com/p/relsat/&quot; rel=&quot;nofollow&quot;&gt;RelSAT&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) &lt;a href=&quot;http://reasoning.cs.ucla.edu/fetch.php?id=145&amp;amp;type=pdf&quot; rel=&quot;nofollow&quot;&gt;On Compiling CNF into Decision-DNNF&lt;/a&gt;. CNF is compited into DNF to count model. The authors have a tool, &lt;a href=&quot;http://reasoning.cs.ucla.edu/c2d/&quot; rel=&quot;nofollow&quot;&gt;c2d&lt;/a&gt;, implementing this approach.&lt;/p&gt;&#xA;" OwnerUserId="10526" LastActivityDate="2015-11-02T18:18:20.873" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32968" PostTypeId="2" ParentId="32819" CreationDate="2015-11-03T05:12:36.260" Score="6" Body="&lt;p&gt;Yes, yes, and yes. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The basic idea is to consider the characteristic function of a language $L$ &#xA;(the oracle you're constructing) at length $n$ as a string of length $2^n$ &#xA;that will be an input to a (&quot;big&quot;) circuit. &#xA;An OR gate in that circuit will correspond to &#xA;a polynomially-bounded existential quantifier, and &#xA;an AND gate to a polynomially-bounded universal quantifier. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider Furst-Saxe-Sipser as an example of &#xA;how this can be used to build oracles:&lt;br&gt;&#xA;If the language $L$ is constructed so that &#xA;the characteristic function of $L \cap \Sigma^n$ is an input &#xA;whose parity differs from an $\mathsf{AC}^0$ function &#xA;(which exists, by Furst-Saxe-Sipser), &#xA;then you've just successfully diagonalized against &#xA;the language in $\mathsf{PH}$ corresponding to that $\mathsf{AC}^0$ function.&#xA;Doing this over all $\mathsf{AC}^0$ diagonalizes against all of $\mathsf{PH}$, and thus builds an oracle $L$ such that $\mathsf{PH}^L \neq \mathsf{PSPACE}^L$&#xA;(since the latter includes the language corresponding to &#xA;the &quot;big&quot; parity circuit).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For more discussion and examples of this general theme see the following survey :&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Ker-I Ko, &quot;&lt;a href=&quot;http://www3.cs.stonybrook.edu/~keriko/survey2.pdf&quot; rel=&quot;noreferrer&quot;&gt;Constructing Oracles by Lower Bound Techniques for Circuits&lt;/a&gt;&quot;, 1989.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="129" LastEditorUserId="186" LastEditDate="2015-11-03T08:43:58.067" LastActivityDate="2015-11-03T08:43:58.067" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32970" PostTypeId="2" ParentId="32946" CreationDate="2015-11-03T07:32:15.967" Score="9" Body="&lt;p&gt;Deciding primality: the best known variant of AKS appears to decide primality in time $\tilde{O}(n^6)$, whereas the classical Pratt certificate of primality implies primality can be decided in nondeterministic time $\tilde{O}(n^3)$.&lt;/p&gt;&#xA;" OwnerUserId="8985" LastActivityDate="2015-11-03T07:32:15.967" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32971" PostTypeId="2" ParentId="32946" CreationDate="2015-11-03T08:51:41.463" Score="10" Body="&lt;p&gt;I think that many examples come from NP-complete problems that fall in P when we &lt;a href=&quot;https://en.wikipedia.org/wiki/Parameterized_complexity&quot;&gt;fix one or more parameters&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, checking if a graph contains a clique of size $k$ is NP-complete if $k$ is part of the input, polynomial-time solvable if $k$ is fixed.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For any fixed $k$, the verification takes linear time, but unless $P=NP$, the search problem (polynomial) complexity depends on $k$ ( $\Omega(n^k) )$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Other examples: finding an Hamiltonian path of length $k$, coloring on  bounded treewidth graphs, ... &lt;/p&gt;&#xA;" OwnerUserId="3247" LastActivityDate="2015-11-03T08:51:41.463" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32973" PostTypeId="1" CreationDate="2015-11-03T19:27:27.133" Score="2" ViewCount="42" Body="&lt;p&gt;I have a simple constraint system with a finite set $C$ of constant symbols, an infinite set $V$ of variables, and two relation symbols - $R_1$, a preorder, and $R_2$, an equivalence relation. Furthermore, $R_1$ and $R_2$ are related in the following way:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\forall x,y. R_1(x,y) \wedge R_1(y,x) \Rightarrow R_2(x,y)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The language of constraints ($\phi$) is as following:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$x,y \in C \cup V$&lt;br /&gt;&#xA;$\phi \in R_1(x,y) ~|~ R_2(x,y) ~|~ \phi \wedge \phi ~|~ true $&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I need to perform abduction in this constraint system. Specifically, for any given mutually consistent pair of constraints $\phi_{cx}$ and $\phi_{cs}$, I need to find a maximally weak (in an intuitive sense) constraint $\varphi$ such that &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\phi_{cx} \wedge \varphi \Rightarrow \phi_{cs}$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have following questions:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Is my constraint system a Herbrand constraint system?&lt;/li&gt;&#xA;&lt;li&gt;Are the results on Simple Constraint Abduction problem described in [M. Maher, Herbrand Constraint Abduction, LICS'05] applicable to my case?&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="19615" LastActivityDate="2015-11-03T19:27:27.133" Title="Abduction in a Herbrand Constraint System" Tags="&lt;lo.logic&gt;&lt;type-inference&gt;&lt;logic-programming&gt;" AnswerCount="0" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32974" PostTypeId="1" CreationDate="2015-11-03T19:35:25.400" Score="1" ViewCount="399" Body="&lt;p&gt;I just wanted to know areas in common to Theoretical Computer Science which have a lot of carrer prospects outside of academia. I specifically wanted to know because I am interested in almost all areas of TCS equally, so why not choose a field for PhD which is more vibrant in terms of carrer choice.&#xA;Inspired by this question  &lt;a href=&quot;https://mathoverflow.net/questions/162125/what-areas-of-pure-mathematics-research-are-best-for-a-post-phd-transition-to-in&quot;&gt;MathOverflow&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My guesses are&#xA;1) Information Theory, all major communication companies and companies which need storage&#xA;2) Cryptography (Specifically protocols and construction of new/better codes)&#xA;3) Algorithmic Game Theory (Companies like Google are investing a lot in it)&#xA;4) Formal Verification(But i think it is a very niche area focussed in Europe)&lt;/p&gt;&#xA;" OwnerUserId="27127" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2015-11-03T20:31:34.287" Title="The most applicable areas in Theoretical Computer Science" Tags="&lt;soft-question&gt;" AnswerCount="1" CommentCount="2" ClosedDate="2015-11-11T13:25:39.930" ContentLicense="CC BY-SA 3.0" />
  <row Id="32976" PostTypeId="2" ParentId="32974" CreationDate="2015-11-03T20:31:34.287" Score="2" Body="&lt;p&gt;Anything to do with Machine Learning has a lot of career prospects because you could be employed by either finance or technology companies in general.&lt;/p&gt;&#xA;" OwnerUserId="5385" LastActivityDate="2015-11-03T20:31:34.287" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32977" PostTypeId="1" AcceptedAnswerId="32979" CreationDate="2015-11-03T22:37:01.357" Score="7" ViewCount="299" Body="&lt;p&gt;A common claim in lattice-based cryptography is that cryptosystems based on the Learning with Errors ($\mathsf{LWE}$) problem are hard to break (for a per-system definition of &quot;break&quot;) for &lt;strong&gt;quantum&lt;/strong&gt; attackers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For instance, the standard paper on $\mathsf{LWE}$, &lt;a href=&quot;http://www.cims.nyu.edu/~regev/papers/qcrypto.pdf&quot; rel=&quot;nofollow&quot;&gt;Regev2005&lt;/a&gt;, makes multiple references to the security of $\mathsf{LWE}$-type systems based on the quantum hardness of solving, say, $\mathsf{GapSVP}_\alpha$ for polynomial approximation ratios $\alpha$. But, as far as I see, there is no mention here as to &lt;strong&gt;why&lt;/strong&gt; a critic might be convinced that such quantum hardness holds.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Across the host of lattice-based cryptography, the reference is generally made back to Regev's first paper, with no more explanation. And this association is quite important to the broader theory community, because likely &lt;em&gt;tens of millions&lt;/em&gt; (or more) dollars are handed out in cryptography grant money based (&lt;strong&gt;in part&lt;/strong&gt;) on this high-level claim.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Searching the CSTheory site also turns up no answer to this question. Perhaps there is a simple place to look up this information online.. in which case, consider this question the &quot;CSTheory catalogue&quot; of where to find this information!&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;$\underline{\rm Question}:$ What is the proper, &quot;standard&quot; justification for why it is believed hard for efficient, &lt;strong&gt;quantum&lt;/strong&gt; algorithms to approximate $\mathsf{GapSVP}_\alpha$ to within polynomial approximation factors $\alpha$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\underline{\rm Question\; Clarification\, /\, What\; I'm\; Looking\; For:}$&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;What structural property of factoring allows Shor's algorithm to run&#xA;quickly, but appears to be missing from worst-case lattice (approximation) problems?&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;In particular:&lt;/strong&gt; How is this gap related to our current understanding of the Abelian Hidden Subgroup Problem (&lt;strong&gt;HSP&lt;/strong&gt;) vs non-Abelian variants of the &lt;strong&gt;HSP&lt;/strong&gt;?&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="108" LastEditorUserId="108" LastEditDate="2015-11-04T05:03:02.807" LastActivityDate="2015-11-13T21:53:20.107" Title="Quantum Hardness of Approximating Lattice Problems" Tags="&lt;reference-request&gt;&lt;quantum-computing&gt;&lt;cr.crypto-security&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="32978" PostTypeId="1" AcceptedAnswerId="33008" CreationDate="2015-11-03T22:57:42.170" Score="4" ViewCount="731" Body="&lt;p&gt;In probability and statistics Orlicz norms are frequently used in concentration inequalities. For example, for Bernstein's inequality, we have versions for sub-exponential random variables using $\psi_1$-norm and for bounded random variables using variance. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;My first thought is that the $\psi_1$-norm version is more general, and includes the case of bounded random variables as a special case. However, an example of Bernoulli random variable with probability $1/n$ being $1$ and $1-1/n$ being $0$ suggests this is not true. For $n$ very large, the variance is roughly of the order $1/n$. However, its $\psi_1$-norm is roughly of the order  ${1}/{\log n}$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This suggests that $\psi_1$-norm (or similarly, $\psi_2$-norm) is actually very loose for very biased Bernoulli random variables. Is there any other notions like $\psi_1$-norm that can accommodate biased Bernoulli random variables?&lt;/p&gt;&#xA;" OwnerUserId="32044" LastEditorUserId="32044" LastEditDate="2015-11-05T04:58:42.783" LastActivityDate="2015-11-06T07:09:16.073" Title="Orlicz norm of random variable and variance" Tags="&lt;pr.probability&gt;&lt;chernoff-bound&gt;" AnswerCount="1" CommentCount="17" FavoriteCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32979" PostTypeId="2" ParentId="32977" CreationDate="2015-11-03T23:25:54.393" Score="7" Body="&lt;p&gt;The answer to your question is the same as with many other such assumptions in cryptography: despite a lot of effort no one has found any substantially faster quantum algorithms for lattice problems. Why do we assume that RSA is secure? We don't have any particular justification for its classical hardness other than the fact that no one has found any fast algorithms for it, and we know that it is vulnerable to quantum attacks. Despite this we trust it to protect billions of dollars of e-commerce.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, the situation is not really the same. There is much better justification for LWE-based systems being secure. What makes LWE appealing is that it's based on the &lt;em&gt;worst-case&lt;/em&gt; (quantum) hardness of lattice problems. As you probably know, a holy grail of crypto is to derive average-case-hard primitives like one-way functions from worst-case hardness assumptions like $P \neq NP$. Regev's reduction is a big step in this research program, and as far as I know there are no non-lattice based schemes whose security is based on worst-case hardness assumptions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, it's worth noting that LWE may still be secure against classical attacks even if there are efficient quantum algorithms for lattice problems. A major open problem in lattice-based cryptography is to prove classical hardness of LWE with parameters that match the quantum reduction. &lt;a href=&quot;http://web.eecs.umich.edu/~cpeikert/pubs/svpcrypto.pdf&quot; rel=&quot;nofollow&quot;&gt;A paper&lt;/a&gt; by Peikert in 2009 and a &lt;a href=&quot;http://arxiv.org/pdf/1306.0281.pdf&quot; rel=&quot;nofollow&quot;&gt;follow-up paper&lt;/a&gt; by Brakerski et al. in 2013 made progress towards this goal by showing classical hardness of LWE under some weaker parameter settings.&lt;/p&gt;&#xA;" OwnerUserId="969" LastEditorUserId="969" LastEditDate="2015-11-13T21:53:20.107" LastActivityDate="2015-11-13T21:53:20.107" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="32980" PostTypeId="2" ParentId="32964" CreationDate="2015-11-04T01:00:47.723" Score="0" Body="&lt;p&gt;Starting with the transition system for DPLL in definition 1 in the paper, add a state corresponding to the condition: $M \models F$ and no $l$ that appears in $F$ is undefined in $M$.  The transition rule for that state should increment the model counter, and add a new clause to $F$ containing a negation of all the literals in $M$.  Since the new clause will be unsatisfied the $Backjump$ state will be matched next.  Eventually the system will run out models of $F$ and terminate at the $Fail$ state with the model counter containing the number of models of $F$.&lt;/p&gt;&#xA;" OwnerUserId="7707" LastActivityDate="2015-11-04T01:00:47.723" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32985" PostTypeId="1" CreationDate="2015-10-17T20:37:11.743" Score="1" ViewCount="109" Body="&lt;p&gt;I don't know if this is the right place to ask but can someone explain in brief what T-Coloring algorithm is and provide a pseudo-code?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I've tried googling it but still cant understand what is it and how to use T-Coloring&lt;/p&gt;&#xA;" OwnerDisplayName="dmh" LastActivityDate="2015-11-04T10:21:56.653" Title="What is T-Colouring Algorithm?" Tags="&lt;ds.algorithms&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="32990" PostTypeId="1" CreationDate="2015-11-04T16:54:14.187" Score="0" ViewCount="120" Body="&lt;p&gt;A &lt;a href=&quot;https://en.wikipedia.org/wiki/Unary_language&quot; rel=&quot;nofollow&quot;&gt;tally language&lt;/a&gt; is a language on an alphabet with only one symbol. One can define complexity classes for tally languages, such as $P_1$ (the tally languages that can be decided in polynomial time).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider the non-unary alphabet $A = \{0, 1\}$.&#xA;Say I have a language $L$ on $A$ such that there is a unary language $L_1$ on the singleton alphabet $\{1\}$ with $L = \{w \in A^* \mid 1^{|w|} \in L_1\}$. In other words, $L$ is the language of words on $A$ whose length (written as a string of $1$'s) is in $L_1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The language $L$ is not a tally language, because it is not on a unary alphabet. Intuitively, however, it's not very far from being one: it can be decided only from the length of the input, or in other words it is a tally language &quot;up to remapping the alphabet&quot;. &lt;strong&gt;Is there a standard name for such a language?&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Further, if I consider the class of all such languages on $A$, for tally languages that range in a given tally complexity class (say, $P_1$), is there a standard name for the resulting non-tally class?&lt;/p&gt;&#xA;" OwnerUserId="4795" LastActivityDate="2015-11-04T16:54:14.187" Title="Complexity classes for problems that can be solved only from the length of the input" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;complexity-classes&gt;&lt;unary-languages&gt;" AnswerCount="0" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32991" PostTypeId="2" ParentId="2877" CreationDate="2015-11-04T21:22:20.157" Score="5" Body="&lt;p&gt;It is not very difficult to transform the vertices problem to an equivalent edge version.&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;Consider a vertex v. Replace v with v1 and v2. &#xA;Join v1 and v2 with an edge of capacity 1.&#xA;All the incoming edges into v go into v1 and all the outgoing edges from v, leave v2.&#xA;ie (u v) -&amp;gt; (u v1) and (v w) -&amp;gt; (v2 w)&#xA;This is equivalent to edge version of the s-t min cut algorithm.&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;" OwnerUserId="36226" LastActivityDate="2015-11-04T21:22:20.157" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32992" PostTypeId="1" CreationDate="2015-11-04T21:45:20.933" Score="1" ViewCount="56" Body="&lt;p&gt;The &lt;a href=&quot;https://en.wikipedia.org/wiki/Simon%27s_problem&quot; rel=&quot;nofollow&quot;&gt;Simon's problem&lt;/a&gt; involves a function which takes binary strings as inputs. One seeks to find the period of the function which acts on those inputs. In the standard method, the first register has the capability to encode the inputs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The graph isomorphism problem is defined over two input graphs. The &lt;a href=&quot;http://arxiv.org/pdf/quant-ph/0012084v1.pdf&quot; rel=&quot;nofollow&quot;&gt;hidden subgroup representation&lt;/a&gt; of the problem involves a function which doesn't take the graphs as inputs. Rather it takes permutation over the vertices as input. Those permutations are agnostic of the input graphs. In the standard method, the first register doesn't have the capability to encode the inputs i.e. the graphs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can anyone explain why the HSP representations of these two problem are so different in the sense that in the standard method of an hidden subgroup approach the first register of one of them encodes the inputs but the other doesn't?&lt;/p&gt;&#xA;" OwnerUserId="13408" LastActivityDate="2015-11-04T21:45:20.933" Title="First register in the hidden subgroup representations of Simon's and graph isomorphism problems" Tags="&lt;quantum-computing&gt;&lt;graph-isomorphism&gt;&lt;quantum-information&gt;&lt;gr.group-theory&gt;" AnswerCount="0" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="32994" PostTypeId="1" AcceptedAnswerId="33035" CreationDate="2015-11-05T12:18:10.377" Score="10" ViewCount="274" Body="&lt;p&gt;Are there any known natural examples of optimization problems for which it is much easier to produce an optimal solution than to evaluate the quality of a given candidate solution?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the sake of concreteness, we may consider polynomial-time solvable optimization problems of the form: &quot;given x, minimize $f(x, y)$&quot;, where $f:\{0,1\}^*\times\{0,1\}^* \to \mathbb{N}$ is, say, #P-hard. Such problems clearly exist (for instance, we could have $f(x, 0) = 0$ for all $x$ even if $f$ is uncomputable), but I am looking for ``natural'' problems exhibiting this phenomenon.&lt;/p&gt;&#xA;" OwnerUserId="2874" LastActivityDate="2015-11-10T06:50:40.030" Title="Easy to optimize but hard to evaluate" Tags="&lt;cc.complexity-theory&gt;&lt;optimization&gt;&lt;examples&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32995" PostTypeId="2" ParentId="32994" CreationDate="2015-11-05T15:12:24.230" Score="15" Body="&lt;p&gt;Here is an example, where one can produce a solution in polynomial time, but evaluating a given solution is &lt;strong&gt;NP&lt;/strong&gt;-hard.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Input:&lt;/strong&gt; Positive integers $n,k$ (in unary encoding), with $k\leq n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Task:&lt;/strong&gt; Maximize the number of edges in an $n$-vertex graph under the  constraint that its maximum clique size is at most $k$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Solution:&lt;/strong&gt; It is known from extremal graph theory that the optimal graph will be  the Turan graph $T(n,k)$ (see &lt;a href=&quot;https://en.wikipedia.org/wiki/Tur%C3%A1n_graph&quot;&gt;here&lt;/a&gt;), which can be easily constructed in polynomial time. On the other hand, checking the quality of a given candidate solution (a given graph) involves checking that its maximum clique size is at most $k$, which is &lt;strong&gt;NP&lt;/strong&gt;-hard.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; If we only want to check whether the solution is &lt;em&gt;optimal&lt;/em&gt;, then it is easy, because the Turan graph is known to be the unique optimum, so it is enough to compare the candidate graph with the Turan graph, which has a simple structure. On the other hand, if we want to evaluate the &lt;em&gt;quality&lt;/em&gt; of a candidate solution, as requested in the question, that is, whether it is feasible and how far it is from the optimum, then we have to check whether it satisfies the maximum clique constraint.  &lt;/p&gt;&#xA;" OwnerUserId="12710" LastEditorUserId="12710" LastEditDate="2015-11-05T16:14:20.990" LastActivityDate="2015-11-05T16:14:20.990" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="32996" PostTypeId="1" CreationDate="2015-11-05T15:48:47.460" Score="2" ViewCount="463" Body="&lt;p&gt;Let $G = (V, E)$ be a connected undirected graph. I am interesting in counting the number of connected spanning subgraphs having:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;$\ge 1$ cycle each (but can have any number of cycles),&lt;/li&gt;&#xA;&lt;li&gt;Exactly $k \ge 1$ cycles each.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;The subgraphs that have $k=1$ are called unicyclic subgraphs. So essentially, I want to count the number of unicyclic spanning subgraphs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the first case, it seems that we can just count the number of connected subgraphs (&lt;a href=&quot;https://cstheory.stackexchange.com/questions/3465/complexity-of-counting-all-connected-subgraphs&quot;&gt;which seems to be #P-complete&lt;/a&gt;), then use Kirchhoff's matrix tree theorem to find the number of spanning trees, and find the difference of the two to get the number of connected subgraphs with $\ge 1$ cycle each.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The second problem seems like a special case of the first, but I haven't been able to find any resources of its complexity. I'm not even sure how to do this for a fixed value of $k$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The application of this would be on better approximating coefficients of the reliability polynomial.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit&lt;/strong&gt;: another interesting direction would be to investigate $k$-regular graphs for $k \ge 3$ (the $k=2$ case is known, of course).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit 2&lt;/strong&gt;: for planar graphs, counting unicyclic subgraphs is poly-time computable (and due to Myrvold, this is reducible to matrix multiplication): &lt;a href=&quot;http://link.springer.com/article/10.1007%2FBF01994058&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://link.springer.com/article/10.1007%2FBF01994058&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="25556" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2016-07-09T22:04:03.443" Title="Complexity of counting spanning subgraphs that have cycle properties" Tags="&lt;graph-theory&gt;&lt;counting-complexity&gt;" AnswerCount="0" CommentCount="5" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="32997" PostTypeId="2" ParentId="32584" CreationDate="2015-11-05T16:38:24.230" Score="3" Body="&lt;p&gt;relatively recent results by Backurs, Indyk accepted to STOC 2015 that computing edit distance in $O(n^{2-\epsilon})$ time → &lt;a href=&quot;https://en.wikipedia.org/wiki/Exponential_time_hypothesis&quot; rel=&quot;nofollow noreferrer&quot;&gt;SETH&lt;/a&gt; false tie in neatly/ strong to the new emerging &quot;fine grained complexity&quot; research program/ paradigm. they are closely related to/ built on Williams result that SETH → Orthogonal Vectors conjecture. (even covered by the mainstream media, Boston Globe).&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://arxiv.org/abs/1412.0348&quot; rel=&quot;nofollow noreferrer&quot;&gt;Edit Distance Cannot Be Computed in Strongly Subquadratic Time (unless SETH is false)&lt;/a&gt;/ Backurs, Indyk&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://www.quantamagazine.org/20150929-edit-distance-computational-complexity/&quot; rel=&quot;nofollow noreferrer&quot;&gt;A New Map Traces the Limits of Computation&lt;/a&gt;/ Pavlus, Quanta magazine&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://www.bostonglobe.com/ideas/2015/08/10/computer-scientists-have-looked-for-solution-that-doesn-exist/tXO0qNRnbKrClfUPmavifK/story.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;For 40 years, computer scientists looked for a solution that doesn’t exist&lt;/a&gt; / Boston Globe&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://rjlipton.wordpress.com/2015/06/01/puzzling-evidence/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Puzzling Evidence&lt;/a&gt; / RJLipton blog&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;a seemingly very similar result due to Wehar considers the &quot;2 DFA intersection emptiness&quot; problem and finds that $O(n^{2-\epsilon})$ time → SETH false.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/questions/29142/deciding-emptiness-of-intersection-of-regular-languages-in-subquadratic-time&quot;&gt;Deciding emptiness of intersection of regular languages in subquadratic time&lt;/a&gt;/ cstheory SE&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Wehar has other results that seem to also fit into general &quot;fine grained complexity&quot; connections, that the same $k$ DFA intersection emptiness in $n^{o(k)}$ time → $NL \subsetneq P$&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.acsu.buffalo.edu/~mwehar/documents/mwehar_INE_2_15_14.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Hardness Results for Intersection Non-Emptiness&lt;/a&gt;/ Wehar&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;along these lines it is also worth mentioning there is a known significant connection between DFA constructions and Levenshtein distance calculations eg in this paper&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://link.springer.com/article/10.1007%2Fs10032-002-0082-8&quot; rel=&quot;nofollow noreferrer&quot;&gt;Fast string correction with Levenshtein automata&lt;/a&gt;/ Shulz, Mihov&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2015-11-05T16:49:41.390" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="32998" PostTypeId="1" CreationDate="2015-11-05T17:23:05.080" Score="14" ViewCount="615" Body="&lt;p&gt;I have a little conjecture that if you could perform matrix multiplication (or solve 3-clique) in $O(n^2 \log(n))$ time, then you could solve CNF-SAT in $O(2^{(1-\epsilon)n})$ time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In other words, more efficient algorithms for matrix multiplication would imply more efficient algorithms for SAT refuting the strong exponential time hypothesis (SETH).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Questions:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Has anyone ever thought about connecting the hardness of matrix multiplication to SETH?  Secondly, does anyone think that there is or isn't a relationship?  Why or why not?&lt;/p&gt;&#xA;" OwnerUserId="14207" LastEditorUserId="14207" LastEditDate="2015-11-27T15:40:04.840" LastActivityDate="2015-11-27T15:40:04.840" Title="Does solving matrix multiplication in quadratic time imply that SETH is false?" Tags="&lt;np-hardness&gt;&lt;sat&gt;&lt;matrices&gt;&lt;clique&gt;&lt;fine-grained&gt;" AnswerCount="0" CommentCount="25" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="33002" PostTypeId="1" CreationDate="2015-11-05T22:01:15.153" Score="7" ViewCount="2468" Body="&lt;p&gt;I am referring to Computational Complexity by Arora and Barak for my course. In the section on NP-completeness reductions, the book has a diagram that is represents how one NP-complete &lt;strike&gt;problem&lt;/strike&gt; language can be reduced to other &lt;strike&gt;problem(s)&lt;/strike&gt; language(s). This is the picture from the book:&#xA;&lt;a href=&quot;https://i.stack.imgur.com/WLl2U.png&quot; rel=&quot;nofollow noreferrer&quot;&gt;&lt;img src=&quot;https://i.stack.imgur.com/WLl2U.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, even after thinking for quite some time, I can't think of a reduction from Vertex Cover to Max-Cut. Nor could I find any resource online. My question is, is there any (non-trivial*) reduction? Or is it some kind of misprint?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;*Non-trivial meaning that it's not of the forms: 1) Vertex Cover -&gt; SAT -&gt; ... -&gt; Max-Cut using Cook-Levin Theorem, or 2) Vertex Cover -&gt; L -&gt; ... -&gt; Max-Cut, where L is some &lt;em&gt;really unrelated language&lt;/em&gt; to both VC and Max-Cut.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note: Even though the arrow reads Ex 2.16, the actual Ex 2.16 just asks to prove that Max-Cut is NP-complete. Also, this is not a homework question.&lt;/p&gt;&#xA;" OwnerUserId="22843" LastActivityDate="2015-11-05T22:01:15.153" Title="Reduction from Vertex Cover to Max-Cut?" Tags="&lt;np-hardness&gt;&lt;max-cut&gt;" AnswerCount="0" CommentCount="9" FavoriteCount="3" ClosedDate="2015-11-08T04:39:44.503" ContentLicense="CC BY-SA 3.0" />
  <row Id="33005" PostTypeId="1" AcceptedAnswerId="33021" CreationDate="2015-11-06T03:37:35.357" Score="15" ViewCount="1043" Body="&lt;p&gt;The $k$-cycle problem is as follows:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Instance:&lt;/strong&gt; An undirected graph $G$ with $n$ vertices and up to $n \choose 2$ edges.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question:&lt;/strong&gt; Does there exist a (proper) $k$-cycle in $G$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Background:&lt;/strong&gt; For any fixed $k$, we can solve $2k$-cycle in $O(n^2)$ time.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;a href=&quot;http://epubs.siam.org/doi/abs/10.1137/S0895480194274133?journalCode=sjdmec&quot;&gt;Raphael Yuster, Uri Zwick: Finding Even Cycles Even Faster. SIAM J. &lt;br&gt; Discrete Math. 10(2): 209-222 (1997)&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;However, it is not known if we can solve 3-cycle (i.e. 3-clique) in less than matrix multiplication time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;My Question:&lt;/strong&gt; Assuming that $G$ contains no 4-cycles, can we solve the 3-cycle problem in $O(n^2)$ time?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;David suggested an approach for solving this variant of the 3-cycle problem in $O(n^{2.111})$ time.&lt;/p&gt;&#xA;" OwnerUserId="14207" LastEditorUserId="14207" LastEditDate="2015-11-08T02:34:47.190" LastActivityDate="2015-11-08T02:34:47.190" Title="Given a 4-cycle free graph $G$, can we determine if it has a 3-cycle in quadratic time?" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;clique&gt;&lt;polynomial-time&gt;&lt;fixed-parameter-tractable&gt;" AnswerCount="2" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33007" PostTypeId="2" ParentId="33005" CreationDate="2015-11-06T06:48:42.950" Score="13" Body="&lt;p&gt;It's not quadratic, but Alon Yuster and Zwick (&quot;Finding and counting given length cycles&quot;, &lt;em&gt;Algorithmica&lt;/em&gt; 1997) give an algorithm for finding triangles in time $O(m^{2\omega/(\omega+1)})$, where $\omega$ is the exponent for fast matrix multiplication. For 4-cycle-free graphs, plugging in $\omega&amp;lt;2.373$ and $m=O(n^{3/2})$ (else there is a $4$-cycle regardless of existence of $3$-cycles) gives time $O(n^{3\omega/(\omega+1)})=O(n^{2.111})$.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2015-11-06T06:48:42.950" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="33008" PostTypeId="2" ParentId="32978" CreationDate="2015-11-06T07:09:16.073" Score="2" Body="&lt;p&gt;The Kearns-Saul inequality states that if $X\sim Ber(p)$ then&#xA;$$ E[\exp(t(X-p))] = (1-p)e^{-tp}+pe^{t(1-p)} \le \exp\left(\frac{1-2p}{4\log((1-p)/p)}t^2\right).$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The subgaussian constant $\frac{1-2p}{4\log((1-p)/p)}$ is optimal.&#xA;See &lt;a href=&quot;http://ecp.ejpecp.org/article/view/2359&quot; rel=&quot;nofollow&quot;&gt;http://ecp.ejpecp.org/article/view/2359&lt;/a&gt; and especially the appendix in &lt;a href=&quot;http://www.jmlr.org/papers/v16/berend15a.html&quot; rel=&quot;nofollow&quot;&gt;http://www.jmlr.org/papers/v16/berend15a.html&lt;/a&gt; for background and a slick proof.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The K-S inequality is a considerable improvement over Hoeffding and Bernstein for very small/large $p$.&lt;/p&gt;&#xA;" OwnerUserId="1746" LastActivityDate="2015-11-06T07:09:16.073" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33010" PostTypeId="1" AcceptedAnswerId="33011" CreationDate="2015-11-06T16:54:36.733" Score="8" ViewCount="288" Body="&lt;p&gt;(re &lt;a href=&quot;https://cstheory.stackexchange.com/questions/32584/what-are-the-relationships-between-those-hypotheses-in-fine-grained-complexity-t&quot;&gt;&quot;fine grained complexity&quot;&lt;/a&gt;) Wehar has &lt;a href=&quot;https://cstheory.stackexchange.com/questions/29142/deciding-emptiness-of-intersection-of-regular-languages-in-subquadratic-time&quot;&gt;proved&lt;/a&gt; that &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Two DFA intersection emptiness in $O(n^{2-\epsilon})$ time → &lt;a href=&quot;https://en.wikipedia.org/wiki/Exponential_time_hypothesis&quot; rel=&quot;nofollow noreferrer&quot;&gt;SETH&lt;/a&gt; false. &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;does anyone see any particular key proof difficulty, challenge, implication etc in the inverse of that? ie &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;if two DFA intersection emptiness is $\Omega(n^2)$ then SETH is true?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;this two DFA intersection emptiness problem seems like a key problem to analyze/ resolve because Wehar has also shown that solving the intersection problem for $k$ DFA's in $n^{o(k)}$ time → $NL \subsetneq P$. (are there any other known problems like that? which relate L,P,NP,ExpTime?) the problem also seems similar to an old important problem complete for &lt;a href=&quot;https://en.wikipedia.org/wiki/EXPSPACE&quot; rel=&quot;nofollow noreferrer&quot;&gt;ExpSpace&lt;/a&gt; analyzed by Meyer/ Stockmeyer, &quot;emptiness of regular expressions with squaring.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;also, what is known on the best lower &lt;em&gt;space&lt;/em&gt; bounds on this problem? (will regard partial answers on these presumably hard questions as ok.)&lt;/p&gt;&#xA;" OwnerUserId="7884" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2015-11-06T22:15:30.620" Title="Two DFA intersection emptiness connections to SETH &amp; L vs P" Tags="&lt;reference-request&gt;&lt;complexity-classes&gt;&lt;p-vs-np&gt;&lt;exp-time-algorithms&gt;&lt;fine-grained&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="33011" PostTypeId="2" ParentId="33010" CreationDate="2015-11-06T22:15:30.620" Score="7" Body="&lt;p&gt;The &quot;inverse&quot; is almost the same as&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;SAT is solvable in $O(2^{(1-\epsilon)n})$ time implies the intersection problem is solvable in&#xA;  $O(n^{2-\epsilon})$ time.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;To show this, it seems that you would need to provide a reduction from an intersection problem instance of size $n$ to a SAT instance of size $2\cdot log_2(n)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This kind of reduction would be very interesting because it would take an instance of one problem to a much smaller instance of another problem.  As a result, this reduction would not be one-to-one.  Actually, there would be exponentially many inputs that map to the same output.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you know of any interesting reductions of this form, please provide a reference.  Thank you.  :)&lt;/p&gt;&#xA;" OwnerUserId="14207" LastActivityDate="2015-11-06T22:15:30.620" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33012" PostTypeId="1" AcceptedAnswerId="37731" CreationDate="2015-11-07T07:49:06.007" Score="3" ViewCount="195" Body="&lt;p&gt;Are the following two problems NP-hard?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Problem 1&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given $n$ ordered pairs of integers $S=\{(a_i,b_i)\}$, $1\leq i \leq n$, and an integer $k$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Find a subset $A$ of $S$ with $k$ elements, such that $\sum_{(a,b) \in A}a+\prod_{(a,b) \in A}b$ is maximized.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Problem 2&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given $n$ ordered pairs of real numbers $S=\{(a_i,b_i)| 0 \leq a_i \leq 1, 1 - a_i \leq b_i \leq 1\}$, $1\leq i \leq n$, and an integer $k$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Find a subset $A$ of $S$ with $k$ elements, such that $\sum_{(a,b) \in A}a-\prod_{(a,b) \in A} b$ is maximized.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Or, equivalently:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given $n$ ordered pairs of real numbers $S=\{(a_i,c_i)| 0 \leq a_i, c_i, \leq 1\}$, $1\leq i \leq n$, and an integer $k$, find a subset $A$ of $S$ with $k$ elements, such that $\sum_{(a,c) \in A}a-\prod_{(a,c) \in A}(1-ac)$ is maximized.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;The objectives can be taken as set functions defined on $2^S$. The objective of the second problem is submodular. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any hint, reference to a book, a paper or related problems is appreciated.&#xA;I have tried finding a reduction from knapsack and set cover, but no luck so far.&lt;/p&gt;&#xA;" OwnerUserId="36263" LastEditorUserId="5038" LastEditDate="2015-11-12T18:51:11.430" LastActivityDate="2017-03-09T19:45:23.027" Title="A maximization problem containing summation and multiplication" Tags="&lt;np-hardness&gt;&lt;submodularity&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33013" PostTypeId="1" CreationDate="2015-11-07T09:44:32.250" Score="2" ViewCount="136" Body="&lt;p&gt;A classic tiling problem with Wang tiles has the form:&#xA;Given $n$ tiles $T=\{t_1,...,t_n\}$ and some constraints&#xA;$H,V\subseteq T\times T$, is there&#xA;a way to tile a  $w\times h$ rectangular grid with $t_1$ at the SW corner, $t_n$ at the NE corner, and such that&#xA;any two horizontally or vertically adjacent tiles are in $H$ or $V$ respectively. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In this problem, $T,H,V$ are given and the question asks for the existence of some $w,h&amp;gt;0$ such that the rectangle can be tiled. This is undecidable and in fact $\Sigma_1^0$-complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A variant problem is the following: Given the same $T,H,V$, are there some dimensions $0&amp;lt;w&amp;lt;\ell$ and a sequence $d_1,...,d_\ell$ of tiles such that $d_1=t_1$, $d_\ell=t_n$,  $(d_i,d_{i+1})\in H$ for all $1\leq i\leq\ell-1$ and $(d_i,d_{i+w})\in V$ for all $1\leq i\leq \ell-w$. This is similar to the rectangular grid problem with $w$ being the width but the $H$ constraint wraps around the lines of the grid and the last line is maybe not full. The classic problem is easily reduced to the variant problem (use several copies of the original tiles so that positional information can be encoded and checked by the H and V constraints) so the variant problem is undecidable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question: is this variant mentioned in the literature? Where? If not, is there a similar problem mentioned somewhere?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Motivation: I am using the classic problem in a reduction showing that some (unrelated) problem is undecidable and the reduction will be simpler/more elegant if I start from the variant problem.&lt;/p&gt;&#xA;" OwnerUserId="16371" LastEditorUserId="16371" LastEditDate="2015-11-09T06:24:50.190" LastActivityDate="2015-11-09T06:24:50.190" Title="A variant of the tiling problem" Tags="&lt;reference-request&gt;&lt;computability&gt;&lt;cellular-automata&gt;" AnswerCount="0" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="33014" PostTypeId="1" CreationDate="2015-11-07T13:20:49.267" Score="8" ViewCount="264" Body="&lt;p&gt;The &lt;a href=&quot;http://en.wikipedia.org/wiki/Berman%E2%80%93Hartmanis_conjecture&quot;&gt;&lt;strong&gt;Isomorphism Conjecture&lt;/strong&gt;&lt;/a&gt; of Berman and Hartmanis states that all $NP$-complete sets are polynomial time isomorphic to each other. This means that $NP$-complete problems are efficiently reducible to each other via polynomial time computable and invertible bijections. The conjecture implies $P\neq NP$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The isomorphism conjecture implies an exponential lower bound on the density of $NP$-complete sets since Satisfiability problem is dense. I am wondering if it also implies an exponential lower bound on the density of witnesses for $NP$-complete set.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Does the isomorphism conjecture imply exponential lower bounds on witnesses density? Does it imply that $NP$-complete problems can not be in &lt;a href=&quot;https://complexityzoo.uwaterloo.ca/Complexity_Zoo:F#fewp&quot;&gt;$FewP$&lt;/a&gt;?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The best result I am aware of is the following:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $P=UP$ and $NP=EXP$ then the &lt;a href=&quot;http://people.cs.uchicago.edu/~fortnow/papers/newiso.pdf&quot;&gt;isomorphism conjecture&lt;/a&gt; holds.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Density $D$ of a set $S$ refers to the number of strings of length less than $n$ in the language. A set $S$ is exponentially dense if its density is $D=\Omega(2^{n^\epsilon})$ for some $\epsilon \gt 0$ and for infinitely many $n$ and sparse if $D$= $O(poly(n))$.&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2015-11-07T16:39:43.160" LastActivityDate="2015-11-07T23:32:21.760" Title="Does the isomorphism conjecture imply exponential lower bounds on witnesses density?" Tags="&lt;cc.complexity-theory&gt;&lt;structural-complexity&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="33015" PostTypeId="2" ParentId="273" CreationDate="2015-11-07T13:53:40.677" Score="3" Body="&lt;p&gt;Maybe slightly tangential to the original question, but the blog entry &quot;&lt;a href=&quot;https://vanemden.wordpress.com/2014/06/18/how-recursion-got-into-programming-a-comedy-of-errors-3/&quot; rel=&quot;nofollow&quot;&gt;How recursion got into programming: a comedy of errors&lt;/a&gt;&quot; describes an  interesting part of early computing history.&lt;/p&gt;&#xA;" OwnerUserId="898" LastActivityDate="2015-11-07T13:53:40.677" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33016" PostTypeId="2" ParentId="273" CreationDate="2015-11-07T14:38:00.953" Score="3" Body="&lt;p&gt;From &lt;a href=&quot;http://plato.stanford.edu/entries/recursive-functions/&quot; rel=&quot;nofollow&quot;&gt;Recursive Functions&lt;/a&gt; article on &lt;a href=&quot;http://plato.stanford.edu/&quot; rel=&quot;nofollow&quot;&gt;SEP&lt;/a&gt;:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;The use of recursion goes back to the 19th century. Dedekind [1888] used the notion to obtain functions needed in his formal analysis of the concept of natural number. In logic, recursion appears in Skolem [1923], where it is noted that many basic functions can be defined by simple applications of the method. The modern formalisation and development of the notion is due to a number of people, most notably Gödel [1931], Herbrand, Rózsa Péter [1951] and Kleene [1936]. Kleene in 1952 described Péter as “the leading contributor to the special theory of recursive functions”. She presented a paper on the recursive functions at the International Congress of Mathematicians in Zurich in 1932.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;It suggest the following for more information:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Rod Adams, &quot;&lt;a href=&quot;https://books.google.ca/books?id=G9YoeRIVSnwC&quot; rel=&quot;nofollow&quot;&gt;An Early History of Recursive Functions and Computability from Gödel to Turing&lt;/a&gt;&quot;, 2011.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;In particular see the section titled &quot;&lt;a href=&quot;https://books.google.ca/books?id=G9YoeRIVSnwC&amp;amp;lpg=PP1&amp;amp;pg=PA5&quot; rel=&quot;nofollow&quot;&gt;The First Recursive Definitions&lt;/a&gt;&quot; on page 5.&lt;/p&gt;&#xA;" OwnerUserId="186" LastActivityDate="2015-11-07T14:38:00.953" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33017" PostTypeId="1" AcceptedAnswerId="33448" CreationDate="2015-11-07T20:12:37.040" Score="3" ViewCount="324" Body="&lt;p&gt;I am interested in approximating the maximum $2$-independent set problem in arbitrary graphs. In a graph $G$ a set $I$ of vertices is called &lt;em&gt;$2$-independent&lt;/em&gt; if the distance between any two distinct vertices in $I$ is more than $2$. In other words $I$ is $2$-independent in $G$ if and only if $I$ is independent in $G^2$, the square of $G$. $2$-independent sets are also sometimes called $2$-packings, packings or closed neighborhood packings.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The maximum $2$-independent set problems ask for the $2$-independence set with maximum cardinality in a given graphs $G$. In [1] it is proved that for any $\epsilon &amp;gt; 0$ it can't be approximated with a better than $O(n^{1/2-\epsilon})$ multiplicative factor (this problem is called maximum distance-$3$ independent set in this paper). However, I did not find any positive results about its approximation. Is there any $O(\sqrt{n})$-approximation (or worse) algorithm? Or, maybe, there are better inapproximability results?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, any results about characterization of the squares of all graphs may help (let us denote the class of squares of all graphs as $\mathcal{G}^{(2)}$). For example, it may occur that $\mathcal{G}^{(2)}$ is a subclass of some class where maximum independent set problem admits some approximation. Or, conversely, it may be a superclass of some class with no approximation better than $n^{1-\epsilon}$. Unfortunately, I am not aware of any such results.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] Eto, Hiroshi and Guo, Fengrui and Miyano, Eiji. Distance-$d$ Independent Set Problems for Bipartite and Chordal Graphs // Combinatorial Optimization and Applications, Vol. 7402 (2012), pages 234-244.&lt;/p&gt;&#xA;" OwnerUserId="21354" LastActivityDate="2015-12-27T00:14:07.247" Title="Approximation algorithms for the maximum $2$-independence set problem" Tags="&lt;graph-theory&gt;&lt;approximation-algorithms&gt;&lt;approximation-hardness&gt;" AnswerCount="1" CommentCount="6" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33018" PostTypeId="1" AcceptedAnswerId="33020" CreationDate="2015-11-07T20:35:22.013" Score="6" ViewCount="298" Body="&lt;p&gt;Since a $2$-uniform hypergraphs are just graphs. The problem of deciding if $2$-uniform is $k$-colorable  for $k=1,2$  is easy, and NP-hard for $k \geq 3$ colors. This is well know and I have seen proofs in many places.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The situation changes if we look at $s$-uniform hypergraphs for $s \geq 3$, then the problem of deciding if an $s$-uniform hypergraph is $2$-colorable becomes NP-hard. I have read this fact multiple places, but without reference. What is the reference for classifying when the problem of deciding if an $s$-uniform hypergraph is $k$-colorable is NP-hard?&lt;/p&gt;&#xA;" OwnerUserId="34422" LastActivityDate="2015-11-07T21:14:43.340" Title="NP-hardness of coloring uniform hypergraphs" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;np-hardness&gt;&lt;graph-colouring&gt;&lt;hypergraphs&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33019" PostTypeId="1" AcceptedAnswerId="33026" CreationDate="2015-11-07T20:58:53.793" Score="0" ViewCount="164" Body="&lt;p&gt;I was reading an abstract for a paper that gives a minimum number &lt;strong&gt;&lt;em&gt;M&lt;/em&gt;&lt;/strong&gt; of good agents that guarantees &lt;strong&gt;&lt;em&gt;f&lt;/em&gt;&lt;/strong&gt;-Byzantine gathering, if there are &lt;strong&gt;&lt;em&gt;f&lt;/em&gt;&lt;/strong&gt; Byzantine agents. It gives a lower bound of &lt;strong&gt;&lt;em&gt;f+1&lt;/em&gt;&lt;/strong&gt; for strongly byzantine agents. It also says that:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&quot;&lt;em&gt;...we give deterministic gathering algorithms for at least &lt;strong&gt;2f+1&lt;/strong&gt; good agents when the size of the network is known...&lt;/em&gt;&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are two lower bounds to the number of good agents. What do those two lower bounds mean? If it was only one lower bound, it would have been clear. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The abstract is: &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=2629656&quot; rel=&quot;nofollow&quot;&gt;Gathering Despite Mischief&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="36267" LastActivityDate="2015-11-13T10:48:52.573" Title="What do these lower bounds really mean?" Tags="&lt;lower-bounds&gt;&lt;dc.distributed-comp&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33020" PostTypeId="2" ParentId="33018" CreationDate="2015-11-07T21:14:43.340" Score="13" Body="&lt;p&gt;$2$-coloring $s$-uniform hypergraphs is also called Set Splitting, problem [SP4] in Garey-Johnson book. &#xA;The hardness proof is due to Lovasz in this &lt;a href=&quot;http://www.cs.elte.hu/~lovasz/scans/covercolor.pdf&quot;&gt;paper&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="6706" LastActivityDate="2015-11-07T21:14:43.340" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33021" PostTypeId="2" ParentId="33005" CreationDate="2015-11-07T23:07:48.090" Score="29" Body="&lt;p&gt;Yes, this is known. It appears in one of the must-cite references on triangle finding...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Namely, Itai and Rodeh show in SICOMP 1978 how to find, in $O(n^2)$ time, a cycle in a graph that has at most one more edge than the minimum length cycle. (See the first three sentences of the abstract here: &lt;a href=&quot;http://www.cs.technion.ac.il/~itai/publications/Algorithms/min-circuit.pdf&quot;&gt;http://www.cs.technion.ac.il/~itai/publications/Algorithms/min-circuit.pdf&lt;/a&gt;) It is a simple procedure based on properties of breadth-first search.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, if your graph is 4-cycle free and there is a triangle, their algorithm must output it, because it cannot output a 5-cycle or larger.&lt;/p&gt;&#xA;" OwnerUserId="225" LastActivityDate="2015-11-07T23:07:48.090" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33022" PostTypeId="2" ParentId="33014" CreationDate="2015-11-07T23:32:21.760" Score="13" Body="&lt;p&gt;I don't see how that would immediately follow: the isomorphism conjecture is about languages, and doesn't seem to have any implications about the witness structure of NP verifiers. (Every language has infinitely many different verifiers for it, and you could potentially rig those verifiers to do odd things.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But your question reveals another very natural intriguing question, about the following strengthening of the Isomorphism Conjecture: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&quot;Are all &lt;strong&gt;verifiers for NP-complete sets&lt;/strong&gt; poly-time isomorphic?&quot; &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I.e., we want not only a poly-time isomorphism $\phi_{L,L'}$ between any two NP-complete languages $L,L'$ defined by verifiers $V,V'$, but also isomorphisms $\psi_{V,V'}$ between their sets of input-witness pairs which respect the isomorphism $\phi_{L,L'}$. (Note: There are multiple ways one might formally define this.) All $NP$-hardness proofs I can think of give you a one-to-one correspondence of this kind, as well. This stronger &quot;Witness Isomorphism Conjecture&quot; would imply some sort of yes-answer to your question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A quick Google search (typing 'witness isomorphism conjecture') found a survey of some approaches to this kind of question:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Eric Allender. Investigations Concerning the Structure of Complete Sets. Perspectives in Computational Complexity: The Somenath Biswas Anniversary Volume, Springer, 2014 &lt;/p&gt;&#xA;" OwnerUserId="225" LastActivityDate="2015-11-07T23:32:21.760" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="33026" PostTypeId="2" ParentId="33019" CreationDate="2015-11-09T07:52:16.647" Score="2" Body="&lt;p&gt;Note that the paper considers &lt;em&gt;strongly Byzantine agents&lt;/em&gt; and &lt;em&gt;weakly Byzantine agents&lt;/em&gt;.&#xA;From the abstract:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;For weakly Byzantine agents, we show that any number of good agents permits solving the problem for networks of known size. If the size is unknown, then this minimum number is f+2. More precisely, we show a deterministic polynomial algorithm that gathers all good agents in an arbitrary network, provided that there are at least f+2 of them. We also provide a matching lower bound: we prove that if the number of good agents is at most f+1, then they are not able to gather deterministically with termination in some networks.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;So for $f$ weakly Byzantine agents any number of good agents will do if the network size is known. Alternatively if it is not known, $\ge f+2$ good agents is a lower bound and they also show the matching upper bound.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;For strongly Byzantine agents, we give a lower bound of f+1, even when the graph is known: we show that f good agents cannot gather deterministically in the presence of f Byzantine agents even in a ring of known size. On the positive side, we give deterministic gathering algorithms for at least 2f+1 good agents when the size of the network is known and for at least 4f+2 good agents when it is unknown.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;In the strongly Byzantine case, they show that $f+1$ is a lower bound on the number of good agents required when the network size is known, which implies that this is true when the network size is unknown. These lower bounds aren't tight it seems as their best algorithms require $\ge 2f+1$ good agents in the case where the network size is known, or $\ge 4f+2$ good agents if the network size is unknown.&lt;/p&gt;&#xA;" OwnerUserId="6785" LastEditorUserId="6785" LastEditDate="2015-11-13T10:48:52.573" LastActivityDate="2015-11-13T10:48:52.573" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="33031" PostTypeId="1" CreationDate="2015-11-09T23:34:10.407" Score="1" ViewCount="76" Body="&lt;p&gt;Assume you have $N$ bags of apples that you want to equally distribute to $K$ people. Each bag contains $n_i$ apples and you are not allowed to open and divide the bags; you must distribute the bags as they are. Your goal is have a distribution of apples that is as close to uniform as possible.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I realize this is a variation of the multiple knapsack problem but with some differences: all bags must be distributed, so some people will inevitably receive slightly more apples than their fair share while others will receive less.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does this problem have a name? I am almost certain it is NP-hard, but is there a good approximate algorithm for this?&lt;/p&gt;&#xA;" OwnerUserId="36292" LastActivityDate="2015-11-09T23:34:10.407" Title="Distributing bags of apples equally" Tags="&lt;approximation-algorithms&gt;&lt;np-complete&gt;&lt;partition-problem&gt;" AnswerCount="0" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="33034" PostTypeId="2" ParentId="21016" CreationDate="2015-11-10T01:44:26.430" Score="7" Body="&lt;p&gt;I think the posterchild for this category, at least as far as difficulty assymetry is concerned, is the following problem:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a planar graph $G$, is $G$ 4-colourable?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The &lt;a href=&quot;https://en.wikipedia.org/wiki/Four_color_theorem&quot;&gt;Four colour theorem&lt;/a&gt; simplifies the algorithm to &lt;code&gt;return true&lt;/code&gt;.&lt;/p&gt;&#xA;" OwnerUserId="13880" LastActivityDate="2015-11-10T01:44:26.430" CommentCount="0" CommunityOwnedDate="2015-11-10T01:44:26.430" ContentLicense="CC BY-SA 3.0" />
  <row Id="33035" PostTypeId="2" ParentId="32994" CreationDate="2015-11-10T06:50:40.030" Score="3" Body="&lt;p&gt;In paper [1], there is a problem with the property that finding an optimal element takes polynomial time despite that computing the objective function values is NP-hard (it means that evaluating the quality of a given candidate solution is NP-hard as well).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] T.C.E.Cheng, Y.Shafransky, C.T.Ng. An alternative approach for proving the NP-hardness of optimization problems. European Journal of Operational Research 248 (2016) 52–58.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Yakov Shafransky&lt;/p&gt;&#xA;" OwnerUserId="36295" LastActivityDate="2015-11-10T06:50:40.030" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33036" PostTypeId="1" CreationDate="2015-11-10T15:47:13.373" Score="2" ViewCount="82" Body="&lt;p&gt;Has anyone explored running times of 3-SAT or #2-SAT given by the occurrences of the highest occurring variable?  In other words, if the variable that appears most often appears $x$ times, has anyone been able to give a runtime that is a function of $x$?&lt;/p&gt;&#xA;" OwnerUserId="1549" LastActivityDate="2015-11-10T15:47:13.373" Title="#2-SAT or 3-SAT and variable that appears most often" Tags="&lt;sat&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="33037" PostTypeId="1" AcceptedAnswerId="33608" CreationDate="2015-11-10T16:35:28.387" Score="14" ViewCount="614" Body="&lt;p&gt;According to &lt;a href=&quot;http://eccc.hpi-web.de/report/2015/148/&quot; rel=&quot;nofollow&quot;&gt;this paper&lt;/a&gt;, which discusses a nondeterministic extension of the &lt;a href=&quot;https://en.wikipedia.org/wiki/Exponential_time_hypothesis#Definition&quot; rel=&quot;nofollow&quot;&gt;Strong Exponential Time Hypothesis&lt;/a&gt; (SETH), &quot;[…] Williams has recently shown related hypotheses about Merlin-Arthur complexity of k-TAUT are false&quot;. However, that paper only cites a personal communication.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;How is the MA version of SETH proven to be false?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I suspect that it involves &lt;a href=&quot;https://cseweb.ucsd.edu/~russell/act-stoc.pdf&quot; rel=&quot;nofollow&quot;&gt;algebrizing&lt;/a&gt; the formula, but do not have any further idea.&lt;/p&gt;&#xA;" OwnerDisplayName="user6973" LastEditorUserId="4193" LastEditDate="2016-01-21T16:50:33.200" LastActivityDate="2016-01-25T07:02:09.947" Title="How is the MA version of SETH proven to be false?" Tags="&lt;sat&gt;&lt;proofs&gt;&lt;nondeterminism&gt;" AnswerCount="1" CommentCount="8" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="33047" PostTypeId="1" CreationDate="2015-11-11T06:25:26.127" Score="8" ViewCount="172" Body="&lt;p&gt;What is the significance of nominal techniques, as far as their application to the formal theory of bound variables is concerned?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have been reading M. J. Gabbay's expository work on the topic that appeared in &lt;em&gt;Bulletin of Symbolic Logic&lt;/em&gt;.  I understand that, the main contribution of nominal techniques to the nasty problem of $\alpha$-conversion is that they introduced new principles of induction and recursion, and a new quantifier.  However, I am not sure if the use of orbits instead of $\alpha$-equivalence classes is strictly necessary for these purposes - because orbits and equivalence classes are essentially the same thing.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I understand the theory of nominal sets are very fruitful in that it can be applied in many different areas - including infinite automata theory and domain theory, due mainly to its general nature.  I would like to know the relevance of the theory's generality - replacing $\alpha$-equivalence classes with orbits - in the very first problem that it is meant to solve, that is, $\alpha$-equivalence of syntactic objects.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT: I knew how nominal techniques  could be applied to reasoning up to $\alpha$-equivalence;  my question was more about the theory's internal methodology, that is, the focus on the group action.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here's an attempt to answer my question: automorphisms on the set-theoretic universe induced by permutations of atoms are crucial in &lt;em&gt;proving&lt;/em&gt; the new recursion/induction principles, so is the reinterpretation of $\alpha$-equivalence as orbits.  However, this reinterpretation might or might not be relevant to the &lt;em&gt;users&lt;/em&gt; of the recursion/induction principles.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let me know if there is something in my answer to be added or corrected.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT 2: My question might have been better phrased as:  do we really need to appeal to axiomatic set theory - something very powerful - to get a proper treatment of alpha-equivalence?&lt;/p&gt;&#xA;" OwnerUserId="36308" LastEditorUserId="36308" LastEditDate="2015-11-14T06:43:15.687" LastActivityDate="2015-11-14T06:43:15.687" Title="What is the significance of nominal techniques?" Tags="&lt;lo.logic&gt;&lt;automated-theorem-proving&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33048" PostTypeId="1" CreationDate="2015-11-11T10:57:45.163" Score="4" ViewCount="68" Body="&lt;p&gt;Assume that we want to construct a sequence $s\in\{a,b\}^{N}$ such that $s$ contains exactly $n$ times the letter '$a$'.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The sequence is then feed to the following probabilistic algorithm:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Initialization: $c = \begin{cases}1&amp;amp;\text{if } s_1=a\\0&amp;amp;otherwise\end{cases}$, $id = s_1$&lt;/li&gt;&#xA;&lt;li&gt;For $i=2,3,\ldots N$:&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;If ($id = a$ and $s_i = a$)&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;c += 1&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;li&gt;Else if ($id\neq s_i$)&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;With probability $1/(c+1)$, replace $id$ with $s_i$ and increment $c$, or do nothing otherwise&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Notice that the value of $c$ after processing the $N$ elements is a random variable. Denote its final value by $C$.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;How to construct a sequence which minimizes $\mathbb E(C)$?&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;The motivation for this question comes from a streaming algorithm for heavy hitters, where such sequence could be the worst-case scenario. $b$ here represents all &quot;tail&quot; items (assumed to appear no more than once) which interfere with the heavy hitter $a$ we are trying to count.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;For example, consider $N=5, n=2$ and the sequence is $a,b,b,a,b$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$c$ starts with $1$.&#xA;With probability $3/4$, the $id$ will be replaced by $b$ in $i=2,3$, so after seeing $a,b,b$ we have:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$id = a, c = 1$ with probability $1/4$&lt;/li&gt;&#xA;&lt;li&gt;$id = b, c = 2$ with probability $3/4$&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Now $a$ comes. If $id=a$, $c$ is incremented, otherwise, $id$ is replaced with probability $1/3$, so after seeing $a,b,b,a$ we get:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$id = a, c = 2$ with probability $1/4$&lt;/li&gt;&#xA;&lt;li&gt;$id = a, c = 3$ with probability $1/4$&lt;/li&gt;&#xA;&lt;li&gt;$id = b, c = 2$ with probability $1/2$&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;When the final $b$ arrives, it may increase the counters, depending on $id$, so overall we get:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$id = a, c = 2$ with probability $1/6$&lt;/li&gt;&#xA;&lt;li&gt;$id = b, c = 3$ with probability $1/12$&lt;/li&gt;&#xA;&lt;li&gt;$id = a, c = 3$ with probability $3/16$&lt;/li&gt;&#xA;&lt;li&gt;$id = b, c = 4$ with probability $1/16$&lt;/li&gt;&#xA;&lt;li&gt;$id = b, c = 2$ with probability $1/2$&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;So overall we get $\mathbb E(C)\approx 2.4$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Which is worse than the sequence $b,b,b,a,a$, in which $C=2$ at the end with probability $1$. &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is late arrival ($s=b^{N-n}a^n$) always the best sequence for minimizing $\mathbb E(C)$?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;(In fact, we only &quot;identify&quot; $a$ if $id=a$ at the end, and we can show that in such cases, $\mathbb E(C) \le n$, so we are not concerned with overestimation here).&lt;/p&gt;&#xA;" OwnerUserId="21001" LastActivityDate="2015-11-11T10:57:45.163" Title="Constructing a bad sequence for counter algorithm" Tags="&lt;ds.algorithms&gt;&lt;randomized-algorithms&gt;&lt;data-streams&gt;&lt;streaming-algorithms&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33049" PostTypeId="1" CreationDate="2015-11-11T11:26:28.123" Score="13" ViewCount="246" Body="&lt;p&gt;A bit of &quot;folklore&quot; in lambda calculus is the idea of characterizing the class of $\beta$-normal terms inductively as a syntactic category ($R$) defined in mutual induction with an auxiliary syntactic category of &quot;neutral&quot; terms ($B$):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$R$ ::= $\lambda x.R \mid B$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$B$ ::= $x \mid B(R)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This division shows up in many places, such as in bidirectional type checking, normalization-by-evaluation, and in proofs by logical relations.  I was recently surprised to see this grammar clearly displayed in an old essay by Don Knuth, &lt;a href=&quot;https://drive.google.com/file/d/0B1AxUVDDwRf0S2Z4bnRTZDBBVzA/view&quot; rel=&quot;noreferrer&quot;&gt;&quot;Examples of Formal Semantics&quot;&lt;/a&gt; (albeit followed by a word of warning!):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://i.stack.imgur.com/Sh8JR.png&quot; rel=&quot;noreferrer&quot;&gt;&lt;img src=&quot;https://i.stack.imgur.com/Sh8JR.png&quot; alt=&quot;a context-free grammar from p.218 of Knuth (1970)&quot;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is the oldest reference that I know (1970), but Jean-Yves Girard's &lt;a href=&quot;http://www.cs.cmu.edu/~kw/scans/girard72thesis.pdf&quot; rel=&quot;noreferrer&quot;&gt;thesis work&lt;/a&gt; was around the same time and also talked explicitly about neutral (&quot;simple&quot;) terms in connection with proofs of strong normalization.  How far back does the idea go?  Did, say, Church or Curry discuss it?&lt;/p&gt;&#xA;" OwnerUserId="674" LastActivityDate="2015-11-11T11:26:28.123" Title="historical question: earliest description of beta-normal terms together with &quot;neutral&quot; terms in lambda calculus?" Tags="&lt;reference-request&gt;&lt;lambda-calculus&gt;&lt;ho.history-overview&gt;" AnswerCount="0" CommentCount="1" FavoriteCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33050" PostTypeId="2" ParentId="33047" CreationDate="2015-11-11T13:05:04.017" Score="9" Body="&lt;p&gt;&lt;strong&gt;Short answer.&lt;/strong&gt; Formal reasoning about binding and $\alpha$-conversion with  nominal approaches is closer to intuitive reasoning than alternative approaches.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Longer answer.&lt;/strong&gt; Binders arise everywhere in mathematics and computer science. &#xA;Dealing with binders has historically been done in a handwaving way (e.g. assuming Barendregt's variable convention). This works well in informal mathematics, but breaks down in formal reasoning. In implementations of programming languages, this problem was initially handled with some form of renaming using a global operation, often called gensym, that creates globally fresh variables. Already in the implementation of programming languages that has some disadvantages, but the problem comes to the fore when reasoning about formal languages with binders, in particular about certified software. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem is that in early formal proofs about languages with binders, a &lt;em&gt;disproportional&lt;/em&gt; amount of effort was dedicated to proving largely uninteresting lemmas about substitutions and $\alpha$-conversion. The core of the problem is that programming language  syntax is usually defined inductively. For example&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;  P \quad ::= \quad x = E \ |\  while\ P\ do\ P \ |\   ...&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given this genesis of programming language&#xA;syntax, it is natural to prove program properties by structural induction on program syntax. This works fine for simple languages like that above, but once we add binders&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;  P \ ::=\ ... \ |\ \lambda x.P&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;the situation changes. $P$ is not a subterm of $\lambda x.P$. We want to identfy programs up to consistent&#xA;renaming of bound variables, for example we don't want to distinguish&#xA;$\lambda x.ax$ from $\lambda y.ay$. In other words, programs are&#xA;equivalence classes ... and structural induction goes out of the&#xA;window. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Several techniques have been proposed for a better mathematisation of  the informal handling of binding.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Higher-order_abstract_syntax&quot;&gt;Higher-order abstract syntax&lt;/a&gt;,&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/De_Bruijn_index&quot;&gt;De Bruijn representation of binding&lt;/a&gt;, &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Getting rid of variables altogether by using combinators.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Nominal technique which replaces substitution by swapping. Swapping is essentially&lt;sup&gt;*&lt;/sup&gt; a first-order operation and can be internalised in the ambient logic.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Of all those proposals, the reasoning about binders with nominal techniques is closest to the intuitive &quot;handwaving&quot; done to handle binders in informal reasoning. That is the key advantage of nominal techniques. This might be best observed in &lt;a href=&quot;http://www.inf.kcl.ac.uk/staff/urbanc/&quot;&gt;Nominal Isabelle&lt;/a&gt;, where most of the reasoning about binders can be hidden from the user. See &lt;a href=&quot;http://www.inf.kcl.ac.uk/staff/urbanc/Publications/nom-cade-05.ps&quot;&gt;Nominal Techniques in Isabelle/HOL&lt;/a&gt; for a discussion. &lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;sup&gt;*&lt;/sup&gt; There is a subtle issue  in that &#xA;if you want to define higher-order functions by recursion in nominal logic, the recursion operator requires some kind   of freshness. See the conclusion of Pitt's &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S089054010300138X&quot;&gt;Nominal logic, a first order theory of names and binding&lt;/a&gt;, which points out that &quot;Nominal Logic does not give a complete axiomatisation of the&#xA;notion of finite support that underlies the notion of freshness in FM-sets. Nevertheless, the first-order&#xA;properties of a notion of freshness of names presented in this paper seem sufficient to develop a useful&#xA;theory, independent of any particular object-level language involving binders&quot;.&lt;/p&gt;&#xA;" OwnerUserId="898" LastEditorUserId="898" LastEditDate="2015-11-11T15:01:22.693" LastActivityDate="2015-11-11T15:01:22.693" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33051" PostTypeId="1" CreationDate="2015-11-11T16:12:51.437" Score="1" ViewCount="76" Body="&lt;p&gt;For each fixed $k \geq 3$, the following well-known problem is NP-complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;k-Multicut&lt;/strong&gt; (aka &quot;Multiway Cut&quot;, &quot;k-Way Cut&quot;, &quot;Multicut&quot;)&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Input: $(N,l)$ where $N=(V,E,T,c)$ is an undirected $k$-terminal network with nodes $V$, edges $E$, terminals $T \subseteq V$ with $|T|=k$, a capacity function $c$ and a positive integer $l$.&lt;/li&gt;&#xA;&lt;li&gt;Question: Is there set $E' \subseteq E$ that separates each pair of terminals from each other such that $\sum_{e \in E'} c(e) \leq l$?&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I only consider $k=3$ from now on, so let the set of terminals be $T = \{t_1,t_2,t_3\}$. The minimum conceivable capacity possible for a multicut in a given 3-terminal network $N$ is $\frac{c_1+c_2+c_3}{2}$, where $c_i$ is the capacity of a min-cut separating $t_i$ from the other two terminals in $N$. I wonder what the complexity is to decide whether a given network allows a multicut of this minimum capacity. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Formally, I would like to know the complexity of:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Minimum 3-Multicut&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Input: A 3-terminal network $N$.&lt;/li&gt;&#xA;&lt;li&gt;Question: Is $\left(N,\frac{c_1+c_2+c_3}{2}\right) \in \textrm{3-Multicut}$?&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;While this problem clearly is in NP, it is not clear whether this problem is in P since each single terminal can be separated from the other two terminals by up to exponentially in $|V|$ many min-cuts. On the other side, a promising candidate for a reduction to show NP-hardness is k-Multicut. However, it is not clear how such a reduction might work.&lt;/p&gt;&#xA;" OwnerUserId="26761" LastActivityDate="2015-11-11T16:12:51.437" Title="Multicuts (or multiway cuts) for 3 Terminals of Minimum Capacity" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;&lt;np-hardness&gt;&lt;polynomial-time&gt;&lt;flow-problems&gt;" AnswerCount="0" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33053" PostTypeId="1" AcceptedAnswerId="33056" CreationDate="2015-11-11T18:42:23.927" Score="16" ViewCount="467" Body="&lt;p&gt;What are some examples of pairs of complexity classes $A$ and $B$ such that&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;we do not know whether $A=B$, and&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;we do not know contradictory relativizations either (i.e., we do not know oracles $P$ and $Q$ such that $A^P = B^P$ and $A^Q \ne B^Q$)?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;To phrase the question another way, what are some exceptions to the heuristic that if can't figure out contradictory relativizations then it is easy to resolve the equality question outright?&lt;/p&gt;&#xA;" OwnerUserId="2970" LastActivityDate="2015-11-12T21:21:14.700" Title="Potentially equal complexity classes without known contradictory relativizations" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;relativization&gt;" AnswerCount="2" CommentCount="4" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="33054" PostTypeId="1" CreationDate="2015-11-11T19:28:00.080" Score="12" ViewCount="149" Body="&lt;p&gt;An &lt;a href=&quot;https://en.wikipedia.org/wiki/Antichain&quot;&gt;antichain&lt;/a&gt; of a &lt;a href=&quot;https://en.wikipedia.org/wiki/Partially_ordered_set&quot;&gt;poset&lt;/a&gt; $(P, &amp;lt;)$ is a subset of pairwise incomparable elements, namely, a subset $A \subseteq P$ such that there are no $x, y \in A$ with $x &amp;lt; y$. By a &lt;a href=&quot;https://wsn-attack-detection.googlecode.com/svn/trunk/writeup/capstone/other_resources/adams_pre_and_proposal/pdfs/complexity%20counting%20cuts.pdf?origin=publication_detail&quot;&gt;result&lt;/a&gt; of Provan and Ball, it is known that it is &lt;a href=&quot;https://en.wikipedia.org/wiki/Sharp-P&quot;&gt;#P-hard&lt;/a&gt;, given a poset, to compute its number of antichains.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is whether this hardness result is known to extend to restricted classes of posets. More specifically, I am interested in posets which are &lt;a href=&quot;https://en.wikipedia.org/wiki/Distributive_lattice&quot;&gt;distributive lattices&lt;/a&gt;. &lt;strong&gt;Is it #P-hard to count antichains in distributive lattices?&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course, one could also ask for which classes of posets is hardness, or tractability, known to hold. Has there been any work on this since Provan and Ball?&lt;/p&gt;&#xA;" OwnerUserId="4795" LastActivityDate="2015-11-11T19:28:00.080" Title="Is it #P-hard to compute the number of antichains of a distributive lattice?" Tags="&lt;reference-request&gt;&lt;counting-complexity&gt;&lt;partial-order&gt;&lt;lattice&gt;" AnswerCount="0" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33056" PostTypeId="2" ParentId="33053" CreationDate="2015-11-12T02:53:03.497" Score="18" Body="&lt;p&gt;I think the biggest such example at present is $BQP $ (quantum polybomial time) vs $PH $ (the polynomial time hierarchy). &lt;strong&gt;Significant&lt;/strong&gt; effort has been put into separating them relative to an oracle, with no success. (Of course a powerful enough oracle will make them equal.) And the best known containment result is that $BQP $ is in $PP $. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some references for attacks on the oracle problem:&#xA;&lt;a href=&quot;http://arxiv.org/abs/0910.4698&quot;&gt;http://arxiv.org/abs/0910.4698&lt;/a&gt;&#xA;&lt;a href=&quot;http://arxiv.org/abs/1007.0305&quot;&gt;http://arxiv.org/abs/1007.0305&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="225" LastActivityDate="2015-11-12T02:53:03.497" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="33057" PostTypeId="1" AcceptedAnswerId="33059" CreationDate="2015-11-12T03:45:38.853" Score="-1" ViewCount="207" Body="&lt;p&gt;Is there any kind of algorithm that can map a set of points and their unordered adjacent neighbours to a 2D lattice graph that would then be addressable using X, Y coordinates?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, given the following input information:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;point    neighbours (unordered!)&#xA;&#xA;a        d, b&#xA;b        a, c, e&#xA;c        f, b&#xA;d        e, a, g&#xA;e        d, f, b, h&#xA;f        i, c, e&#xA;g        d, h&#xA;h        g, i, e&#xA;i        f, h&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Then the algorithm would generate a 2D array like so:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;point    coordinate&#xA;&#xA;a        (0, 0)&#xA;b        (0, 1)&#xA;c        (0, 2)&#xA;d        (1, 0)&#xA;e        (1, 1)&#xA;f        (1, 2)&#xA;g        (2, 0)&#xA;h        (2, 1)&#xA;i        (2, 2)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Which would correspond to the following layout:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt; a      b      c&#xA;*------*------*&#xA;|      |      |&#xA;|d     |e     |f&#xA;*------*------*&#xA;|      |      |&#xA;|g     |h     |i&#xA;*------*------*&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Unfortunately the size of the graph is not known beforehand. Likewise, there is a possibility that the sides of the graph might be circular in nature (like a tube or toroid), in which case I would need to be able to pick a point that the rest of the graph is aligned to as 0, 0 (but the direction the graph travels from there isn't important, so long as I can still address the individual points in X, Y coordinates).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Speed is somewhat important, since the adjacency lists are anywhere from 40 to ~1.8M entries long. The fewer times I have to iterate through that, the better. I have constant lookup time for any given point within the adjacency list, so getting the neighbours for any given point is reasonably fast.&lt;/p&gt;&#xA;" OwnerUserId="36320" LastActivityDate="2015-11-12T06:46:43.500" Title="Reconstructing a 2D lattice graph from an unordered adjacency list" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33059" PostTypeId="2" ParentId="33057" CreationDate="2015-11-12T06:46:43.500" Score="2" Body="&lt;p&gt;The standard answer for this type of question would be: use a planarity testing algorithm. This graph has a unique planar embedding and there are algorithms for finding it in linear time. But that's overkill for this problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A square grid is a special case of a &lt;a href=&quot;https://en.wikipedia.org/wiki/Squaregraph&quot; rel=&quot;nofollow&quot;&gt;squaregraph&lt;/a&gt;, and in my paper &quot;Combinatorics and geometry of finite and infinite squaregraphs&quot; I have a &lt;a href=&quot;https://en.wikipedia.org/wiki/Lexicographic_breadth-first_search&quot; rel=&quot;nofollow&quot;&gt;Lexicographic-BFS&lt;/a&gt; based algorithm for recognizing squaregraphs without the overhead of going through planarity testing. It would also solve your problem. But it's still overkill.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Instead I suggest:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Find a vertex s of degree two.&lt;/li&gt;&#xA;&lt;li&gt;Do a breadth first search starting from s.&lt;/li&gt;&#xA;&lt;li&gt;In the breadth first search, whenever you are processing a vertex v and there are two neighbors of v that are not yet in the queue and need to be added, the one to add first is the one that doesn't have any other neighbors already in the queue.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Then the levels of the breadth first search tree, in the order given by this search, should be exactly the diagonals of your grid. Once you have this ordering, assigning numbers to the vertices should be trivial.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2015-11-12T06:46:43.500" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33060" PostTypeId="1" CreationDate="2015-11-12T13:36:18.723" Score="16" ViewCount="296" Body="&lt;p&gt;Many computer science publications from the 1950s and 1960s contain fascinating philosophical speculations on the nature of the mind and the meaning of information in relation to the physical world. Famous examples are the &quot;Turing Test&quot;, Zuse's &quot;Calculating Space&quot;, Wheeler's &quot;it from bit&quot; etc.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Today such themes are widely covered in popular science books, but seem all but gone from serious research publications. What are some examples of recent TCS publications with philosophical content or implications?&lt;/p&gt;&#xA;" OwnerUserId="36322" LastActivityDate="2015-11-13T00:43:21.990" Title="Recent TCS publications with philosophical aspects" Tags="&lt;reference-request&gt;&lt;soft-question&gt;&lt;philosophy&gt;" AnswerCount="2" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="33061" PostTypeId="1" CreationDate="2015-11-12T15:03:48.633" Score="2" ViewCount="55" Body="&lt;p&gt;Given a complete partial order $(D,\, {\leq})$ and a Scott-continuous function $F\colon D \rightarrow D$ and some fixed point $X = F(X)$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there any criteria that ensure that $X = \mathsf{lfp} F$ where $\mathsf{lfp} F$ is the least fixed point of $F$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Furthermore, are there any criteria that ensure that $Y \leq \mathsf{lfp} F$ for an arbitrary point $Y$?&lt;/p&gt;&#xA;" OwnerUserId="36324" LastActivityDate="2015-11-12T15:03:48.633" Title="Criteria for being below the least fixed point" Tags="&lt;domain-theory&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="33062" PostTypeId="1" AcceptedAnswerId="33151" CreationDate="2015-11-12T15:57:29.567" Score="15" ViewCount="238" Body="&lt;p&gt;In simple form:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Can a two-way finite automaton recognize $v$-vertex graphs that contain a triangle with $o(v^3)$ states?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;h2&gt;Details&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;Of interest here are $v$-vertex graphs encoded using a sequence of edges, each edge being a pair of distinct vertices from $\{0,1,\dots,v-1\}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose $(M_v)$ is a sequence of two-way finite automata (deterministic or nondeterministic), such that $M_v$ recognizes $k$-Clique on $v$-vertex input graphs and has $s(v)$ states.&#xA;A general form of the question is then:&#xA;Is $s(v) = \Omega(v^k)$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $k = k(v) = \omega(1)$ and $s(v) \ge v^{k(v)}$ for infinitely many $v$, then NL ≠ NP.&#xA;Less ambitiously, I am therefore stipulating that $k$ is fixed, and the $k=3$ case is the first nontrivial one.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Background&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;A two-way finite automaton (2FA) is a Turing machine which has no workspace, only a fixed number of internal states, but can move its read-only input head back and forth.&#xA;In contrast, the usual kind of finite automaton (1FA) moves its read-only input head in one direction only.&#xA;Finite automata can be deterministic (DFA) or nondeterministic (NFA), as well as having one-way or two-way access to their input.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A graph property $Q$ is a subset of graphs.&#xA;Let $Q_v$ denote the $v$-vertex graphs with property $Q$.&#xA;For every graph property $Q$, the language $Q_v$ can be recognized by a 1DFA with at most $2^{v(v-1)/2}$ states, by using a state for every possible graph and labelling them according to $Q$, and transitions between states labelled by edges.&#xA;$Q_v$ is therefore a regular language for any property $Q$.&#xA;By the Myhill-Nerode theorem there is then a unique up to isomorphism smallest 1DFA that recognizes $Q_v$.&#xA;If this has $2^{s(v)}$ states, then standard blowup bounds yield that a 2FA recognizing $Q_v$ has at least $s(v)^{\Omega(1)}$ states.&#xA;So this approach via standard blowup bounds only yields at most a quadratic in $v$ lower bound on the number of states in a 2FA for any $Q_v$ (even when $Q$ is hard or undecidable).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$k$-Clique is the graph property of containing a complete $k$-vertex subgraph.&#xA;Recognizing $k$-Clique$_v$ can be done by a 1NFA that first nondeterministically chooses one of $\binom{v}{k}$ different potential $k$-cliques to look for, and then scans the input once, looking for each of the required edges to confirm the clique, and keeping track of these edges using $2^{k(k-1)/2}$ states for each of the different potential cliques.&#xA;Such a 1NFA has $\binom{v}{k}2^{k(k-1)/2} = (c_v 2^{(k-1)/2}/k)^k.v^k$ states, where $1 \le c_v \le e$.&#xA;When $k$ is fixed, this is $\Theta(v^k)$ states.&#xA;Allowing two-way access to the input potentially allows an improvement over this one-way bound.&#xA;The question is then asking for $k=3$ whether a 2FA can do better than this 1FA upper bound.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Addendum (2017-04-16):&lt;/em&gt; see also a &lt;a href=&quot;https://cs.stackexchange.com/q/18330/5323&quot;&gt;related question for deterministic time&lt;/a&gt; and a nice &lt;a href=&quot;https://cs.stackexchange.com/a/18331/5323&quot;&gt;answer covering the best known algorithms&lt;/a&gt;.&#xA;My question focuses on nonuniform nondeterministic space.&#xA;In this context the reduction to matrix multiplication used by the time-efficient algorithms is worse than the brute-force approach.&lt;/p&gt;&#xA;" OwnerUserId="109" LastEditorUserId="109" LastEditDate="2017-04-16T10:20:56.987" LastActivityDate="2017-04-16T10:20:56.987" Title="2FA state complexity of k-Clique?" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;graph-algorithms&gt;&lt;clique&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="33063" PostTypeId="1" AcceptedAnswerId="33083" CreationDate="2015-11-12T16:31:21.463" Score="8" ViewCount="417" Body="&lt;p&gt;I'm looking for more problems in $P$ with classical time complexity lower bounds.  Some people might wonder how you could prove such a lower bound.  See below.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Exponential Lower Bounds:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Claim:&lt;/em&gt; If you have a problem $X$ that is $EXPTIME$-complete under polynomial reductions, then there is a constant $\alpha \in \mathbb{R}$ such that $X$ is not solvable in $O(2^{n^{\alpha}})$ time.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Proof Idea:&lt;/em&gt; By the time hierarchy theorem, there is a problem $Y$ in $O(2^n)$ time that is not in $o(\frac{2^n}{n})$ time.  Further, there must be a polynomial reduction from $Y$ to $X$.  Therefore, there is a constant $c$ such that this reduction takes an instance of size $n$ for $Y$ to an instance of size $n^c$ for $X$.  The lower bound for $Y$ of $O(2^{n^{1-\epsilon}})$ time shifts to a lower bound for $X$ of $O(2^{n^{\frac{1-\epsilon}{c}}})$ time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Polynomial Lower Bounds:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some $EXPTIME$-complete problems have nice parameterizations into polynomial time problems.  Consider the problem $X$ from before.  Suppose we have a parameterization $k$-$X$ for $X$ such that:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;For each fixed $k$, $k$-$X$ is in polynomial time.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;There are of course exceptions to this, but intuitively, as $k$ grows the $k$-$X$ problems should get harder because $X$ has an exponential time complexity lower bound.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;An Example:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One example problem that has come up is intersection non-emptiness for tree automata.  That is, given a finite list of tree automata, does there exist a tree that simultaneously satisfies all of the automata?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This problem was shown to be $EXPTIME$-complete &lt;a href=&quot;http://research.microsoft.com/apps/pubs/default.aspx?id=78382&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;.  Further, we can parameterize the intersection problem by the number of automata $k$.  It can be &lt;a href=&quot;http://link.springer.com/chapter/10.1007%2F978-3-662-47666-6_33&quot; rel=&quot;nofollow&quot;&gt;shown&lt;/a&gt; that for fixed $k$, the intersection problem has time complexity $n^{\Theta(k)}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there any other $EXPTIME$-complete problems that have &lt;em&gt;natural&lt;/em&gt; parameterizations into polynomial time problems with nice lower bounds?&lt;/p&gt;&#xA;" OwnerUserId="14207" LastEditorUserId="14207" LastEditDate="2015-11-13T15:03:11.350" LastActivityDate="2015-11-14T09:14:02.123" Title="Are there more polynomial time problems with complexity lower bounds?" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;time-complexity&gt;&lt;lower-bounds&gt;&lt;polynomial-time&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33065" PostTypeId="2" ParentId="33060" CreationDate="2015-11-12T17:44:18.703" Score="6" Body="&lt;p&gt;some of what you refer to is covered under a general heading known as &lt;a href=&quot;https://en.wikipedia.org/wiki/Digital_physics&quot; rel=&quot;nofollow&quot;&gt;&quot;digital physics&quot;&lt;/a&gt; or &lt;a href=&quot;https://en.wikipedia.org/wiki/Digital_philosophy&quot; rel=&quot;nofollow&quot;&gt;digital philosophy&lt;/a&gt; which has a continuing thread of research in physics albeit not always mainstream.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;a notable example of a TCS paper/ survey with major philosophical angles/ analysis&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.scottaaronson.com/papers/philos.pdf&quot; rel=&quot;nofollow&quot;&gt;Why Philosophers Should Care About Computational Complexity&lt;/a&gt; / Aaronson&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;another key area/ possibility you mention is AI which has generally broken off from TCS research as practiced in academia and is now regarded as either more applied or more abstract/ speculative, and few researchers cross that gap, but there are many books on the subject by respected researchers verging on the philosophical. eg, recently&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/0465065708&quot; rel=&quot;nofollow&quot;&gt;The Master Algorithm: How the Quest for the Ultimate Learning Machine Will Remake Our World&lt;/a&gt; / Domingos (2015)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2015-11-12T17:44:18.703" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33068" PostTypeId="2" ParentId="33053" CreationDate="2015-11-12T21:21:14.700" Score="5" Body="&lt;p&gt;Is there an oracle known to separate $\mathsf{P}^{\#\mathsf{P}}$ from $\mathsf{PSPACE}$?&lt;/p&gt;&#xA;" OwnerUserId="661" LastActivityDate="2015-11-12T21:21:14.700" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="33069" PostTypeId="2" ParentId="33060" CreationDate="2015-11-12T21:32:43.173" Score="6" Body="&lt;p&gt;The paper, &lt;a href=&quot;http://www.math.ias.edu/~avi/PUBLICATIONS/MYPAPERS/AW09/AW09.pdf&quot;&gt;Knowledge, Creativity and P versus NP&lt;/a&gt; by Avi Wigderson is an excellent exposition of the P vs NP problem's implications on the   philosophical question of automating creativity.&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2015-11-12T21:38:15.410" LastActivityDate="2015-11-12T21:38:15.410" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33071" PostTypeId="1" CreationDate="2015-11-13T02:35:47.240" Score="16" ViewCount="263" Body="&lt;p&gt;When first learning about random walks on a graph &lt;span class=&quot;math-container&quot;&gt;$G$&lt;/span&gt;, one may have an intuitive feeling that adding edges to &lt;span class=&quot;math-container&quot;&gt;$G$&lt;/span&gt; will decrease its cover time &lt;span class=&quot;math-container&quot;&gt;$C(G)$&lt;/span&gt;.  However, this is not the case.  The &lt;a href=&quot;https://en.wikipedia.org/wiki/Path_graph&quot; rel=&quot;noreferrer&quot;&gt;path graph&lt;/a&gt; &lt;span class=&quot;math-container&quot;&gt;$P_n$&lt;/span&gt; has cover time &lt;span class=&quot;math-container&quot;&gt;$C(P_n) = \Theta(n^2)$&lt;/span&gt; while the &lt;a href=&quot;http://mathworld.wolfram.com/LollipopGraph.html&quot; rel=&quot;noreferrer&quot;&gt;(&lt;span class=&quot;math-container&quot;&gt;$\frac{n}{2}$&lt;/span&gt;, &lt;span class=&quot;math-container&quot;&gt;$\frac{n}{2}$&lt;/span&gt;)-lollipop graph&lt;/a&gt; &lt;span class=&quot;math-container&quot;&gt;$L_{\frac{n}{2}, \frac{n}{2}}$&lt;/span&gt; has cover time &lt;span class=&quot;math-container&quot;&gt;$C(L_{\frac{n}{2}, \frac{n}{2}}) = \Theta(n^3)$&lt;/span&gt;.  Eventually adding edges does decrease the cover time because the complete graph &lt;span class=&quot;math-container&quot;&gt;$K_n$&lt;/span&gt; has cover time &lt;span class=&quot;math-container&quot;&gt;$C(K_n) = \Theta(n \log n)$&lt;/span&gt; by analogy to the &lt;a href=&quot;https://en.wikipedia.org/wiki/Coupon_collector%27s_problem&quot; rel=&quot;noreferrer&quot;&gt;coupon collector problem&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Under what assumptions though would the supposed intuition hold true?  Specifically, what about &lt;a href=&quot;https://en.wikipedia.org/wiki/Vertex-transitive_graph&quot; rel=&quot;noreferrer&quot;&gt;vertex transitivity&lt;/a&gt;?&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Let &lt;span class=&quot;math-container&quot;&gt;$G$&lt;/span&gt; be a vertex-transitive graph with &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt; vertices.  Consider any vertex-transitive graph &lt;span class=&quot;math-container&quot;&gt;$G^+$&lt;/span&gt; obtained from &lt;span class=&quot;math-container&quot;&gt;$G$&lt;/span&gt; by adding edges (i.e. both &lt;span class=&quot;math-container&quot;&gt;$G$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$G^+$&lt;/span&gt; are vertex transitive and &lt;span class=&quot;math-container&quot;&gt;$G$&lt;/span&gt; is a spanning subgraph of &lt;span class=&quot;math-container&quot;&gt;$G^+$&lt;/span&gt;).&lt;/p&gt;&#xA;&lt;p&gt;Is it the case that &lt;span class=&quot;math-container&quot;&gt;$C(G^+) \le C(G)$&lt;/span&gt;?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="3964" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2015-12-05T10:09:32.237" Title="When does adding edges decrease the cover time of a graph?" Tags="&lt;graph-theory&gt;&lt;pr.probability&gt;" AnswerCount="0" CommentCount="3" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="33072" PostTypeId="1" AcceptedAnswerId="38359" CreationDate="2015-11-13T04:33:14.883" Score="5" ViewCount="351" Body="&lt;p&gt;Following a &lt;a href=&quot;https://cstheory.stackexchange.com/questions/32836/one-way-randomized-complexity-of-variants-of-gap-hamming-distance&quot;&gt;previous question&lt;/a&gt;, I'm trying to get a better understanding of the parameters at play in $\textsf{Gap-Hamming}$. In the &quot;standard&quot; setting, we have&#xA;$x,y\in\{0,1\}^n$ and the partial function&#xA;$$&#xA;\textsf{GHD}_{n,n/2,\sqrt{n}} = \begin{cases}&#xA;0 &amp;amp; \text{ if }\operatorname{d}_H(x,y) \leq \frac{n}{2}-\sqrt{n}\\&#xA;1 &amp;amp; \text{ if }\operatorname{d}_H(x,y) \geq \frac{n}{2}+\sqrt{n}.&#xA;\end{cases}$$&#xA;This can be generalized to &#xA;$$&#xA;\textsf{GHD}_{n,t,g} = \begin{cases}&#xA;0 &amp;amp; \text{ if }\operatorname{d}_H(x,y) \leq t-g\\&#xA;1 &amp;amp; \text{ if }\operatorname{d}_H(x,y) \geq t+g.&#xA;\end{cases}$$&#xA;Lemma 4.1 to Proposition 4.4 of &lt;a href=&quot;http://arxiv.org/abs/1009.3460v3&quot; rel=&quot;nofollow noreferrer&quot;&gt;[CR10]&lt;/a&gt; allow to get a lower bound on the communication complexity of $\textsf{GHD}_{n,t,g}$ for (most) of the settings of $t,g$. Another generalization is introduced and studied in &lt;a href=&quot;http://eccc.hpi-web.de/report/2011/045/&quot; rel=&quot;nofollow noreferrer&quot;&gt;[BBM13]&lt;/a&gt; (Lemma 2.5), $\textsf{EGHD}_{n,k,t}$, which corresponds to $\textsf{GHD}_{n,k/2,g}$ with the additional promise that that $\lvert x\rvert = \lvert y\rvert = k/2$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, as far as I could see none of the above covers the &quot;corner cases&quot; where $t$ is itself sublinear (and say, comparable to $g$), but $\lvert x\rvert, \lvert y\rvert$ are still arbitrary. Is the behaviour of the randomized communication complexity for e.g. $\textsf{GHD}_{n,2\sqrt{n},\sqrt{n}}$ obvious? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;(I suppose two reasonable conjectures would be that the CC be either $\Omega(\sqrt{n})$ or $O(1)$ in this case, the first inspired by the difficulty of distinguish a coin with bias $\varepsilon$ from one with bias $2\varepsilon$ with less than $1/\varepsilon$ samples; the second because it &quot;looks&quot; easy, and a completely hazy feeling.However, and most likely because I'm missing something obvious, I don't really see which holds, nor how to get a general tradeoff that would cover the whole spectrum of $t,g$.)&lt;/p&gt;&#xA;" OwnerUserId="13319" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2017-06-03T17:36:54.623" Title="Gap-Hamming with different &quot;threshold&quot; (i.e., not $n/2$)" Tags="&lt;communication-complexity&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33073" PostTypeId="1" CreationDate="2015-11-13T07:16:10.823" Score="17" ViewCount="1534" Body="&lt;p&gt;&lt;em&gt;Background&lt;/em&gt;. I am a bachelor student who is interested in research related to category theory, monads and Haskell, and I want to find a topic for my bachelor’s thesis in that area.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have looked at the paper &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.disi.unige.it/person/MoggiE/&quot; rel=&quot;noreferrer&quot;&gt;Eugenio Moggi&lt;/a&gt;, “&lt;a href=&quot;http://www.disi.unige.it/person/MoggiE/ftp/ic91.pdf&quot; rel=&quot;noreferrer&quot;&gt;Notions of Computations and Monads&lt;/a&gt;”, 1991,&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;and I do not understand much of it yet. I will probably need quite some time to fully understand it. &#xA;But before spending more time on studying it, I want to get a better understanding of the field and its research potential.&#xA;I recently talked to a professor of mine about it and he told me that monads were in fashion in the research community back in the 90s, but nowadays they are out of fashion. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Therefore&lt;/em&gt;, I am now looking for recent work related to monads, and am wondering:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;In what areas of theoretical computer science is nowadays research done  that is related to category theory and monads?&lt;/li&gt;&#xA;&lt;li&gt;What sort of research has been built up or proposed on E. Moggi’s work on monads in the theory of programming? Has there been any follow up or on going research related to his paper?&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="19600" LastEditorUserId="19600" LastEditDate="2015-11-14T23:19:16.217" LastActivityDate="2015-11-14T23:19:16.217" Title="Status quo of category theory and monads in theoretical computer science research?" Tags="&lt;reference-request&gt;&lt;pl.programming-languages&gt;&lt;big-picture&gt;&lt;ct.category-theory&gt;&lt;monad&gt;" AnswerCount="2" CommentCount="7" FavoriteCount="11" ContentLicense="CC BY-SA 3.0" />
  <row Id="33074" PostTypeId="1" CreationDate="2015-11-13T10:39:03.477" Score="40" ViewCount="2076" Body="&lt;p&gt;I'm a fourth year PhD student in theoretical computer science. I'd like to stay in academia, so I'm thinking about how best to advance my career. Obviously the best way to do that is write lots of good papers, but another question is whether I should be trying to have more of those papers be single author.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So far I only have one single author paper (out of six). It's neither my best work, nor very recent. Is that a red flag when applying for postdoc or faculty positions? Should I try to have more single author papers?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This comes down to my approach to research. I like talking to people. I like telling people what I'm working on and, if they are interested, I'm keen to work with them. In other words, I'm very open to collaboration even when it isn't strictly necessary. Should I change that? That is, should I try to keep projects to myself more so that I end up with some single author papers?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;i&gt;Apologies if this question is off topic. I want to ask this question to people in my area, rather than on a general forum like &lt;a href=&quot;https://academia.stackexchange.com/&quot;&gt;academia.se&lt;/a&gt;. In particular, on all my papers, authors are ordered alphabetically. This makes single author papers a more important signal in TCS than in other areas, where author ordering conveys this information.&lt;/i&gt;&lt;/p&gt;&#xA;" OwnerUserId="36333" LastEditorUserId="-1" LastEditDate="2017-04-13T12:49:59.023" LastActivityDate="2015-11-13T18:51:33.287" Title="Importance of single author papers?" Tags="&lt;soft-question&gt;&lt;career&gt;" AnswerCount="1" CommentCount="6" FavoriteCount="11" ContentLicense="CC BY-SA 3.0" />
  <row Id="33076" PostTypeId="1" CreationDate="2015-11-13T11:38:59.000" Score="23" ViewCount="2445" Body="&lt;p&gt;László Babai recently proved that &#xA;&lt;a href=&quot;http://arxiv.org/abs/1512.03547&quot; rel=&quot;noreferrer&quot;&gt;the Graph Isomorphism problem is in quasipolynomial time&lt;/a&gt;.&#xA;See also his&#xA;&lt;a href=&quot;http://www.math.uchicago.edu/calendar?calendar=Combinatorics%20and%20Theoretical%20Computer%20Science&quot; rel=&quot;noreferrer&quot;&gt;talk&lt;/a&gt; at University of Chicago,&#xA;&lt;a href=&quot;http://jeremykun.com/2015/11/12/a-quasipolynomial-time-algorithm-for-graph-isomorphism-the-details/&quot; rel=&quot;noreferrer&quot;&gt;note from the talks by Jeremy Kun&lt;/a&gt;&#xA;&lt;a href=&quot;https://rjlipton.wordpress.com/2015/11/04/a-big-result-on-graph-isomorphism/&quot; rel=&quot;noreferrer&quot;&gt;GLL post 1&lt;/a&gt;,&#xA;&lt;a href=&quot;https://rjlipton.wordpress.com/2015/11/09/the-world-series-of-complexity-theory/&quot; rel=&quot;noreferrer&quot;&gt;GLL post 2&lt;/a&gt;,&#xA;&lt;a href=&quot;https://rjlipton.wordpress.com/2015/11/11/a-fast-graph-isomorphism-algorithm/&quot; rel=&quot;noreferrer&quot;&gt;GLL post 3&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;According to Ladner’s theorem, &#xA;if &lt;span class=&quot;math-container&quot;&gt;$P \neq NP$&lt;/span&gt;, then &lt;a href=&quot;https://en.wikipedia.org/wiki/NP-intermediate&quot; rel=&quot;noreferrer&quot;&gt;&lt;span class=&quot;math-container&quot;&gt;$NPI$&lt;/span&gt;&lt;/a&gt; is not empty, &#xA;i.e. &lt;span class=&quot;math-container&quot;&gt;$NP$&lt;/span&gt; contains problems that are neither in &lt;span class=&quot;math-container&quot;&gt;$P$&lt;/span&gt; nor &lt;span class=&quot;math-container&quot;&gt;$NP$&lt;/span&gt;-complete. &#xA;However, the language constructed by Ladner is artificial and &#xA;not a natural problem.&#xA;No natural problem is known to be in &lt;span class=&quot;math-container&quot;&gt;$NPI$&lt;/span&gt; &#xA;even conditionally under &lt;span class=&quot;math-container&quot;&gt;$P \neq NP$&lt;/span&gt;. &#xA;But some problems are believed to be good candidates for &lt;span class=&quot;math-container&quot;&gt;$NPI$&lt;/span&gt;, &#xA;such as Factoring integers and GI.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We may think that with Babai's result,&#xA;there might be a polynomial time algorithm for GI.&#xA;Many experts believe that &lt;a href=&quot;https://cstheory.stackexchange.com/questions/21571/is-np-in-dtimenpoly-log-n&quot;&gt;&lt;span class=&quot;math-container&quot;&gt;$NP \not\subseteq QP = DTIME(n^{poly\log n})$&lt;/span&gt;&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are some problems for which we know quasi-polynomial time algorithms, &#xA;but no polynomial time algorithm is known. &#xA;Such problems arise in approximation algorithms; &#xA;a famous example is the directed Steiner tree problem, &#xA;for which there is a quasi-polynomial time approximation algorithm &#xA;achieving an approximation ratio of &lt;span class=&quot;math-container&quot;&gt;$O(\log^3 n)$&lt;/span&gt; &#xA;(&lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt; being the number of vertices). &#xA;However, showing the existence of such a polynomial time algorithm &#xA;is an open problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question: &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Do we know any natural problems which are in &lt;span class=&quot;math-container&quot;&gt;$QP$&lt;/span&gt; but not in &lt;span class=&quot;math-container&quot;&gt;$P$&lt;/span&gt;? &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerDisplayName="user17918" LastEditorUserId="6579" LastEditDate="2019-04-26T07:46:12.777" LastActivityDate="2020-09-14T20:49:41.660" Title="Is there a natural problem in quasi-polynomial time, but not in polynomial time?" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;np-complete&gt;&lt;polynomial-time&gt;&lt;np-intermediate&gt;" AnswerCount="7" CommentCount="19" FavoriteCount="8" ContentLicense="CC BY-SA 4.0" />
  <row Id="33078" PostTypeId="2" ParentId="33074" CreationDate="2015-11-13T18:51:33.287" Score="24" Body="&lt;p&gt;In some fields (like e.g. Economics and Mathematics) single authored papers -are- a good thing to have when you go on the job market. In theoretical computer science, collaboration is much more common, and it is not unusual for even relatively senior researchers to have very few single authored papers. It is not at all suspicious if a student on the market has only papers with co-authors. This is partly because we publish more frequently, so it is ok that each individual paper has less signal about your specific contribution. This is not to say that single authored papers are not impressive, but credit is super-additive across authors, and all things being equal, you should prefer to have a better paper with more coauthors than a worse paper with fewer. This should push you towards collaboration, since collaborators make your research both more fun and generally stronger. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course in hiring decisions, committees will attempt to figure out whether you were a significant contributor to the papers you worked on or not -- but this will be done largely through the letters you obtain. If you have several good papers with the same senior co-author, that coauthor should write a letter for you, since they can explain in detail your contribution. It also helps if you have a clear research agenda of your own. Many papers on -your- topic with a rotating cast of coauthors conveys that you are leading the research direction, in contrast to a series of papers on disparate topics, each in the research agenda of your various coauthors. &lt;/p&gt;&#xA;" OwnerUserId="25" LastActivityDate="2015-11-13T18:51:33.287" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33079" PostTypeId="2" ParentId="33073" CreationDate="2015-11-13T21:06:24.103" Score="1" Body="&lt;p&gt;This &lt;a href=&quot;http://okmij.org/ftp/Haskell/extensible/more.pdf&quot; rel=&quot;nofollow&quot;&gt;paper&lt;/a&gt; gives some important recent work using monads.&lt;/p&gt;&#xA;" OwnerUserId="13286" LastActivityDate="2015-11-13T21:06:24.103" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33080" PostTypeId="2" ParentId="21564" CreationDate="2015-11-13T21:48:18.377" Score="-3" Body="&lt;p&gt;It is probably cultural.  Karatsuba's discovery took place only 7 years after the death of Stalin.  I do not believe it was an environment in which subjects questioned authority, and authority did not ask permission from subjects.  As a professor and member of NAUK, Kolmogorov was definitely authority.   No complaints about Kolmogorov, he left us a lot of good stuff!&lt;/p&gt;&#xA;" OwnerUserId="36344" LastActivityDate="2015-11-13T21:48:18.377" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33081" PostTypeId="2" ParentId="33073" CreationDate="2015-11-13T22:16:22.673" Score="16" Body="&lt;p&gt;There have been a number of developments with regards to the use of monads in the theory of computation since Eugenio Moggi's work. I am not able to give a comprehensive account, but here are some points that I am familiar with, others can chime in with their answers.&lt;/p&gt;&#xA;&#xA;&lt;h3&gt;Specific examples of monads&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;You do not have to study super-general theory all the time. There are examples of monads that are very interesting and sufficiently complicated to fill an entire undergraduate thesis.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I like very much &lt;a href=&quot;http://blog.sigfpe.com&quot;&gt;Dan Piponi's blog&lt;/a&gt; where he gives amazing examples of how monads can be used to mix functional programming and mathematics. Search for his work on knots and braid through monads, for example.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another specific example of mondas worth studying was given by Martin Escardo and Paulo Oliva in the context of selection functionals, see their &lt;a href=&quot;http://www.cs.bham.ac.uk/~mhe/papers/selection-escardo-oliva.pdf&quot;&gt;Selection Functions, Bar Recursion, and Backward Induction&lt;/a&gt;, or perhaps to get interested first read &lt;a href=&quot;http://www.cs.bham.ac.uk/~mhe/papers/msfp2010/Escardo-Oliva-MSFP2010-corrected.pdf&quot;&gt;What Sequential Games, the Tychonoff Theorem and the Double-Negation Shift have in Common&lt;/a&gt; (associated Haskell and Agda files &lt;a href=&quot;http://www.cs.bham.ac.uk/~mhe/papers/msfp2010/&quot;&gt;here&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;h3&gt;Mathematical background&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;Monads come from category theory and are much older than Eugenio Moggi. You could study the background theory if you are mathematically inclined. For instance, you could attack &lt;a href=&quot;https://en.wikipedia.org/wiki/Beck%27s_monadicity_theorem&quot;&gt;Beck's monadicity theorem&lt;/a&gt;. A theoretical computer scientist can never know too much math.&lt;/p&gt;&#xA;&#xA;&lt;h3&gt;Variations on a theme&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;You could look at something that is not strictly monads.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For instance, Connor McBride and Ross Paterson's &lt;a href=&quot;http://staff.city.ac.uk/~ross/papers/Applicative.html&quot;&gt;Idioms: applicative programming with effects&lt;/a&gt; shows how one can generalize monads to something that is practically relevant and insightful.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Or you could look at how comonads are used to model computational effects. Someone should suggest some references for this topic, but a good start might be &lt;a href=&quot;http://www.slideshare.net/davidoverton/comonad&quot;&gt;David Overtone's slides&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;h3&gt;Modal type theory&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;In homotopy type theory, as well as in type theory in general, monads appear in the shape of &lt;a href=&quot;http://ncatlab.org/nlab/show/modal+type+theory&quot;&gt;modal type theory&lt;/a&gt;. Recently modal type theory has been considered in homotopy type theory because the truncation operators are examples of modal operators. And then there is &lt;a href=&quot;http://ncatlab.org/nlab/show/cohesive+homotopy+type+theory&quot;&gt;cohesive homotopy type theory&lt;/a&gt; in which modal operators (which are monads) play an essential role.&lt;/p&gt;&#xA;&#xA;&lt;h3&gt;Algebraic effects and handlers&lt;/h3&gt;&#xA;&#xA;&lt;p&gt;[Disclaimer: partially blowing my own horn here.]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A while ago Gordon Plotkin and John Power obserrved that many computational effects are not just any monads, but special monads arising from algebraic theories. This lead to a whole new treatment of computational effects known as &lt;em&gt;algebraic effects&lt;/em&gt;. Later Gordon Plotkin and Matija Pretnar introduced &lt;em&gt;handlers&lt;/em&gt; and together with algebraic effects they form a very nice theory of computational effects. One advantage of this approach is that algebraic theories can be easily combined while monads cannot.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You could study how exactly algebraic effects relate to monads. You could look at how people implemented algebraic effects and handlers, say in the &lt;a href=&quot;http://www.eff-lang.org&quot;&gt;Eff language&lt;/a&gt; or in &lt;a href=&quot;https://hackage.haskell.org/package/effect-handlers&quot;&gt;Haskell as a library&lt;/a&gt;. This is more or less current research.&lt;/p&gt;&#xA;" OwnerUserId="705" LastEditorUserId="705" LastEditDate="2015-11-13T22:22:43.923" LastActivityDate="2015-11-13T22:22:43.923" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="33082" PostTypeId="1" AcceptedAnswerId="33276" CreationDate="2015-11-14T02:12:51.077" Score="5" ViewCount="293" Body="&lt;p&gt;My question is inspired by &lt;a href=&quot;https://cs.stackexchange.com/q/49288/12859&quot;&gt;this one&lt;/a&gt;. ​ I define &lt;em&gt;2.5-coloring&lt;/em&gt; to be the &lt;a href=&quot;https://en.wikipedia.org/wiki/Parameterized_complexity&quot; rel=&quot;nofollow noreferrer&quot;&gt;parameterized&lt;/a&gt; problem&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Instance: an integer j and an n-vertex non-empty &lt;a href=&quot;http://mathworld.wolfram.com/SimpleGraph.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;simple graph&lt;/a&gt; G&#xA;&lt;br&gt;&#xA;Parameter: integer k&#xA;&lt;br&gt;&#xA;Output: if there is a 3-&lt;a href=&quot;https://en.wikipedia.org/wiki/Graph_coloring&quot; rel=&quot;nofollow noreferrer&quot;&gt;coloring&lt;/a&gt; of G in which at least one of&#xA;&lt;br&gt;&#xA;the colors is used at most ​ min($\hspace{.03 in}$j,k) ​ times then YES else NO&lt;/p&gt;&#xA;&#xA;&lt;p&gt;.&lt;br&gt;&lt;br&gt;&lt;br&gt;&#xA;Since j is part of the input and the only involvement of k is via  ​ min($\hspace{.03 in}$j,k) , ​ increasing k&#xA;&lt;br&gt;&#xA;cannot make 2.5-coloring easier. ​ ​ ​ ​ Even for k=0, that problem &lt;a href=&quot;https://en.wikipedia.org/wiki/SL_(complexity)#Complete_problems&quot; rel=&quot;nofollow noreferrer&quot;&gt;is logspace-complete&lt;/a&gt;.&#xA;&lt;br&gt;&#xA;For k in n&lt;sup&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Big_O_notation#The_Knuth_definition&quot; rel=&quot;nofollow noreferrer&quot;&gt;Ω&lt;/a&gt;(1)&lt;/sup&gt;, that problem is NP-hard by enlarging 3-coloring instances.&#xA;&lt;br&gt;&#xA;By applying &lt;a href=&quot;http://research.microsoft.com/pubs/148550/sl.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Reingold's result&lt;/a&gt; to the &lt;a href=&quot;https://en.wikipedia.org/wiki/Bipartite_double_cover&quot; rel=&quot;nofollow noreferrer&quot;&gt;bipartite double cover&lt;/a&gt; of the subgraph &lt;a href=&quot;https://en.wikipedia.org/wiki/Glossary_of_graph_theory#Subgraphs&quot; rel=&quot;nofollow noreferrer&quot;&gt;induced by&lt;/a&gt; the&#xA;&lt;br&gt;&#xA;non-guessed vertices, 2.5-coloring is in ​ ​ &lt;a href=&quot;https://complexityzoo.uwaterloo.ca/Complexity_Zoo:G#gc&quot; rel=&quot;nofollow noreferrer&quot;&gt;GC&lt;/a&gt; ( max(k$\cdot \hspace{-0.02 in}\lceil \log_2(n)\hspace{-0.02 in}\rceil \hspace{-0.03 in}$,n) , &lt;a href=&quot;https://complexityzoo.uwaterloo.ca/Complexity_Zoo:D#dspace&quot; rel=&quot;nofollow noreferrer&quot;&gt;DSPACE&lt;/a&gt;(O(log(n))) ) ,&#xA;&lt;br&gt;&#xA;since the verifier &lt;a href=&quot;http://epubs.siam.org/doi/pdf/10.1137/S0097539793258295#page=4&quot; rel=&quot;nofollow noreferrer&quot;&gt;has two-way access&lt;/a&gt; to the alleged proof.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is anything else known about the complexity of 2.5-coloring?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;br&gt;&lt;br&gt;&#xA;In particular, &lt;strong&gt;I'd accept any non-trivial consequence of any answer to any of the following,&#xA;&lt;br&gt;&#xA;since I do not expect anyone to manage to outright answer any of them:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is 2.5-coloring in ​ co&lt;a href=&quot;https://complexityzoo.uwaterloo.ca/Complexity_Zoo:N#ntime&quot; rel=&quot;nofollow noreferrer&quot;&gt;NTIME&lt;/a&gt;$\left(\hspace{-0.02 in}n^{o(k)}\hspace{-0.04 in}\right)\hspace{-0.07 in}\big/\hspace{-0.04 in}$&lt;a href=&quot;https://complexityzoo.uwaterloo.ca/Complexity_Zoo:P#ppoly&quot; rel=&quot;nofollow noreferrer&quot;&gt;$n^{o(k)}$&lt;/a&gt; ? ​ ​ ​ ​ Is 2.5-coloring in &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.397.5306&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;rational-unifor&lt;/a&gt;m &lt;a href=&quot;https://complexityzoo.uwaterloo.ca/Complexity_Zoo:A#acc0&quot; rel=&quot;nofollow noreferrer&quot;&gt;ACC0&lt;/a&gt;?&#xA;&lt;br&gt;&#xA;Is 2.5-coloring with k in n&lt;sup&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Big_O_notation#Little-o_notation&quot; rel=&quot;nofollow noreferrer&quot;&gt;o&lt;/a&gt;(1)&lt;/sup&gt; hard for &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.397.5306&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;rational-unifor&lt;/a&gt;m &lt;a href=&quot;https://complexityzoo.uwaterloo.ca/Complexity_Zoo:T#tc0&quot; rel=&quot;nofollow noreferrer&quot;&gt;TC0&lt;/a&gt;?&#xA;&lt;br&gt;&#xA;Is there a function g in &lt;a href=&quot;https://en.wikipedia.org/wiki/Big_O_notation#Family_of_Bachmann.E2.80.93Landau_notations&quot; rel=&quot;nofollow noreferrer&quot;&gt;ω&lt;/a&gt;(log) such that 2.5-coloring with k in n&lt;sup&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Big_O_notation#Little-o_notation&quot; rel=&quot;nofollow noreferrer&quot;&gt;o&lt;/a&gt;(1)&lt;/sup&gt; is GC(g(n),&lt;a href=&quot;https://complexityzoo.uwaterloo.ca/Complexity_Zoo:A#ac0&quot; rel=&quot;nofollow noreferrer&quot;&gt;AC0&lt;/a&gt;)-hard?&#xA;&lt;br&gt;&#xA;Is 2.5-coloring with k in n&lt;sup&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Big_O_notation#Little-o_notation&quot; rel=&quot;nofollow noreferrer&quot;&gt;o&lt;/a&gt;(1)&lt;/sup&gt; hard for ​ GC ( k$\cdot$O(log(n)) , DSPACE(O(log(n))) ) ?&#xA;&lt;br&gt;&#xA;What about the &quot;infinitely-often&quot; versions of any of those questions,&#xA;&lt;br&gt;&#xA;i.e., for pairs k,n such that k is in n&lt;sup&gt;o(1)&lt;/sup&gt; and is arbitrarily large?&lt;br&gt;&lt;br&gt;&lt;/p&gt;&#xA;" OwnerDisplayName="user6973" LastEditorUserId="-1" LastEditDate="2017-04-13T12:48:30.830" LastActivityDate="2015-12-15T23:42:31.533" Title="complexity of graph 2.5-coloring" Tags="&lt;graph-algorithms&gt;&lt;parameterized-complexity&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="33083" PostTypeId="2" ParentId="33063" CreationDate="2015-11-14T08:13:05.163" Score="5" Body="&lt;p&gt;Here's one involving a 2 player pebble game. You decide if it's &lt;em&gt;natural&lt;/em&gt; (:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://epubs.siam.org/doi/abs/10.1137/0208046&quot;&gt;T. Kasai, A. Adachi, S. Iwata. Classes of pebble games and complete problems. 1979&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Theorem 3.1 has the EXPTIME-completeness of pebbling. Theorem 3.3 has the easiness of k-pebble.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://dl.acm.org/citation.cfm?id=322433&quot;&gt;A. Adachi, S. Iwata, T. Kasai. Some Combinatorial Game Problems Require Omega(n^k) Time. 1984&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Theorem 3.2 has the lower bound on k-pebble. Lastly, you might also be interested in:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://link.springer.com/article/10.1007%2FBF01699467&quot;&gt;T. Kasai and S. Iwata. Gradually intractable problems and nondeterminitstic log-space lower bounds. 1985&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Sadly that these are all behind paywalls :(&lt;/p&gt;&#xA;" OwnerUserId="34691" LastEditorUserId="34691" LastEditDate="2015-11-14T09:14:02.123" LastActivityDate="2015-11-14T09:14:02.123" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33084" PostTypeId="2" ParentId="33076" CreationDate="2015-11-14T17:08:15.963" Score="23" Body="&lt;p&gt;&lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/0304397588901314&quot; rel=&quot;noreferrer&quot;&gt;Megiddo and Vishkin&lt;/a&gt; proved that Minimum dominating set in tournaments is in $QP$. They showed that tournament dominating set has P-time algorithm iff SAT has subexponential time algorithm. Therefore, tournament dominating set problem can not be in $P$ unless the ETH is false.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is very interesting to note that the exponential time hypothesis simultaneously implies that tournament dominating set can not have polynomial time algorithms and it &lt;a href=&quot;https://cstheory.stackexchange.com/questions/21571/is-np-in-dtimenpoly-log-n&quot;&gt;can not be $NP$-complete&lt;/a&gt;. In other words, ETH implies that tournament dominating set is in $NP$-intermediate.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0166218X0700128X&quot; rel=&quot;noreferrer&quot;&gt;Woeginger&lt;/a&gt; suggests a candidate problem solvable in quasi-polynomial time and probably does not have polynomial time algorithms: Given $n$ integers, can you select $\log n$ of them that add up to $0$?&lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:30.623" LastActivityDate="2015-11-16T09:52:52.893" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33085" PostTypeId="1" CreationDate="2015-11-14T18:49:51.333" Score="8" ViewCount="323" Body="&lt;p&gt;What are some examples of problems with quasi-polynomial time ($QP$) algorithms that could conceivably be in $P$. In other words, they are in $QP$ for no obvious reason other than no one has found a polynomial-time algorithm?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This question is motivated by the recent graph isomorphism result (which is a valid answer to this question)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some non-examples are&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Finding a clique of size $\log^{100} n$ in a graph &lt;/li&gt;&#xA;&lt;li&gt;Finding a path of size $\log^{100} n$ in a graph &lt;/li&gt;&#xA;&lt;li&gt;Solving k-sum for $k=\log^{100} n$&lt;/li&gt;&#xA;&lt;li&gt;Minimum dominating set in a tournament &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Any of these problems being in $P$ would violate the exponential time hypothesis (ETH).&lt;/p&gt;&#xA;" OwnerUserId="36355" LastEditorUserId="495" LastEditDate="2015-11-19T13:01:20.337" LastActivityDate="2015-11-19T13:01:20.337" Title="Problems in quasi-polynomial time that could conceivably be in P (without causing collapses or violating widely held beliefs)" Tags="&lt;polynomial-time&gt;" AnswerCount="5" CommentCount="1" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="33086" PostTypeId="2" ParentId="33085" CreationDate="2015-11-14T19:04:33.883" Score="7" Body="&lt;p&gt;&lt;a href=&quot;https://rjlipton.wordpress.com/2013/05/11/advances-on-group-isomorphism/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Group isomorphism&lt;/a&gt; is another decently-known problem that's known&#xA;&lt;br&gt;&#xA;to be solvable in quasi-polynomial time. ​ That result can be generalized&#xA;&lt;br&gt;&#xA;to other finite &lt;a href=&quot;https://en.wikipedia.org/wiki/Category_theory#Categories.2C_objects.2C_and_morphisms_2&quot; rel=&quot;nofollow noreferrer&quot;&gt;objects&lt;/a&gt; which &quot;extend&quot; groups in a suitable sense -&#xA;&lt;br&gt;&#xA;[&lt;a href=&quot;https://en.wikipedia.org/wiki/Semiring#Definition&quot; rel=&quot;nofollow noreferrer&quot;&gt;commutative semirings&lt;/a&gt; with the &lt;a href=&quot;https://en.wikipedia.org/wiki/Zero-product_property&quot; rel=&quot;nofollow noreferrer&quot;&gt;zero product property&lt;/a&gt;] and commutative &lt;a href=&quot;https://en.wikipedia.org/wiki/Groupoid&quot; rel=&quot;nofollow noreferrer&quot;&gt;groupoids&lt;/a&gt;&#xA;&lt;br&gt;&#xA;are both &lt;em&gt;not&lt;/em&gt; close enough, but [&lt;a href=&quot;https://en.wikipedia.org/wiki/Big_O_notation#Family_of_Bachmann.E2.80.93Landau_notations&quot; rel=&quot;nofollow noreferrer&quot;&gt;Θ&lt;/a&gt;(1)-length tuples of groups with labels on some tuples&#xA;&lt;br&gt;&#xA;of sets of group elements (that are not necessarily from the same group)] all work.&#xA;&lt;br&gt;&#xA;(That is quite broad, since labeled tuples of singletons allow encoding functions,&#xA;&lt;br&gt;&#xA;and then having tuples of groups allows separate &lt;a href=&quot;https://en.wikipedia.org/wiki/Module_(mathematics)&quot; rel=&quot;nofollow noreferrer&quot;&gt;scalars and vectors&lt;/a&gt;.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For this answer, groups are given by &lt;a href=&quot;https://en.wikipedia.org/wiki/Cayley_table&quot; rel=&quot;nofollow noreferrer&quot;&gt;Cayley tables&lt;/a&gt;. ​ Bear in mind that the problems I'm going&#xA;&lt;br&gt;&#xA;to mention are only &quot;really&quot; known to be in &lt;a href=&quot;https://complexityzoo.uwaterloo.ca/Complexity_Zoo:S#subexp&quot; rel=&quot;nofollow noreferrer&quot;&gt;SUBEXP&lt;/a&gt; when either [their underlying groups&#xA;&lt;br&gt;&#xA;are not necessarily all abelian] or [they can have &quot;a large-enough amount&quot; of labeling that is&#xA;&lt;br&gt;&#xA;not encompassed by [a &quot;small&quot; number of [[subgroups of &lt;a href=&quot;https://en.wikipedia.org/wiki/Direct_sum&quot; rel=&quot;nofollow noreferrer&quot;&gt;direct sums&lt;/a&gt; of those groups] and/or&#xA;&lt;br&gt;&#xA;[functions from and to such subgroups which distribute over addition]]]], since otherwise&#xA;&lt;br&gt;&#xA;everything could be compressed exponentially by expressing things in terms of generating sets,&#xA;&lt;br&gt;&#xA;in which case giving the full tables instead would essentially amount to padding the input.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For inputs consisting of [an ordered pair $\langle \hspace{-0.02 in}$A,B$\hspace{-0.02 in}\rangle$ of such tuples tuples whose lengths are both L]&#xA;&lt;br&gt;&#xA;and [a non-negative integer c such that L and c are both in O(1)] and a length-L tuple of possible restrictions on injecitvity/surjectivity/&lt;a href=&quot;https://en.wikipedia.org/wiki/Zero_morphism#Examples&quot; rel=&quot;nofollow noreferrer&quot;&gt;zero&lt;/a&gt;ness, the existence of more than c [morphisms from&#xA;&lt;br&gt;&#xA;[the left object of that ordered pair] to [the right object of that ordered pair] for which the L&#xA;&lt;br&gt;&#xA;component group homomorphisms satisfy the corresponding restrictions] is decidable in&#xA;&lt;br&gt;&#xA;&lt;a href=&quot;https://complexityzoo.uwaterloo.ca/Complexity_Zoo:G#gc&quot; rel=&quot;nofollow noreferrer&quot;&gt;GC&lt;/a&gt;(O(log(max(cardinality_of_A's_groups))$\cdot$log(max(cardinality_of_B's_groups))),&lt;a href=&quot;https://complexityzoo.uwaterloo.ca/Complexity_Zoo:L#l&quot; rel=&quot;nofollow noreferrer&quot;&gt;logspace&lt;/a&gt;)&#xA;&lt;br&gt;&#xA;by &lt;a href=&quot;http://research.microsoft.com/pubs/148550/sl.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Reingold's result&lt;/a&gt;, since the verifier &lt;a href=&quot;http://epubs.siam.org/doi/pdf/10.1137/S0097539793258295#page=4&quot; rel=&quot;nofollow noreferrer&quot;&gt;has two-way read access&lt;/a&gt; to the alleged proof.&#xA;&lt;br&gt;&#xA;Furthermore (still using Reingold), logspace machines can compute such morphisms given&#xA;&lt;br&gt;&#xA;2-way access to such witnesses, and if they additionally have 2-way access to a random tape,&#xA;&lt;br&gt;&#xA;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.37.4154&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;then&lt;/a&gt; they can give [[a [proof-of-knowledge with respect to an extractor that has 2-way read access&#xA;&lt;br&gt;&#xA;to what it has already outputted] of a such a witness for isomorphism] with the same properties&#xA;&lt;br&gt;&#xA;as the usual &lt;a href=&quot;https://en.wikipedia.org/wiki/Zero-knowledge_proof&quot; rel=&quot;nofollow noreferrer&quot;&gt;ZK&lt;/a&gt;P&lt;a href=&quot;https://en.wikipedia.org/wiki/Proof_of_knowledge&quot; rel=&quot;nofollow noreferrer&quot;&gt;oK&lt;/a&gt; for graph isomorphism] to a logspace verifier with 2-way read access to&#xA;&lt;br&gt;&#xA;its own randomness and the prover's messages. ​ Similarly, the &lt;a href=&quot;https://complexityzoo.uwaterloo.ca/Complexity_Zoo:H#hvszk&quot; rel=&quot;nofollow noreferrer&quot;&gt;HVSZK&lt;/a&gt; proof system for graph&#xA;&lt;br&gt;&#xA;&lt;em&gt;non&lt;/em&gt;-isomorphism carries over essentially unchanged to objects of the type this paragraph is about.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Analogously to the previous paragraph, for non-negative integers k and objects&#xA;&lt;br&gt;&#xA;consisting of a group and a &lt;a href=&quot;https://en.wikipedia.org/wiki/Partial_function&quot; rel=&quot;nofollow noreferrer&quot;&gt;partial function&lt;/a&gt; from [the &lt;a href=&quot;https://en.wikipedia.org/wiki/Power_set&quot; rel=&quot;nofollow noreferrer&quot;&gt;power-set&lt;/a&gt; of the group] to the group,&#xA;&lt;br&gt;&#xA;k-group-element sets are naturally represented with k$\cdot \hspace{-0.02 in}\lceil \hspace{-0.03 in}$log&lt;sub&gt;2&lt;/sub&gt;(cardinality_of_the_group)$\hspace{-0.02 in}\rceil$ bits&#xA;&lt;br&gt;&#xA;and &quot;is a generating set&quot; is checkable in logspace given 2-way read access to the set.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As a consequence, one gets gets that stuff ranging from the simple-to-state&#xA;&lt;br&gt;&#xA;&quot;subgroup-isomorphism&quot;, to the moderate &quot;minimum number of elements that can&#xA;&lt;br&gt;&#xA;be combined with a given subset of an abelian group to generate the whole group&quot;,&#xA;&lt;br&gt;&#xA;to the intentionally-complicated-to-state&#xA;&lt;br&gt;&#xA;&quot;Given a domain whose scalars only need to form a ​ &lt;a href=&quot;https://en.wikipedia.org/wiki/Rng_%28algebra%29&quot; rel=&quot;nofollow noreferrer&quot;&gt;r$\hspace{.02 in}$ng&lt;/a&gt; ​ and a codomain with&#xA;&lt;br&gt;&#xA;not-necessarily-commutative &quot;vector&quot; addition, are there more then 3 &lt;a href=&quot;https://en.wikipedia.org/wiki/Algebra_over_a_field#Generalization:_Algebra_over_a_ring&quot; rel=&quot;nofollow noreferrer&quot;&gt;algebra&lt;/a&gt; homomorphisms such that the map on scalars is not the zero ​ r$\hspace{.02 in}$ng ​ morphism and the map on &quot;vectors&quot; is injective?&quot;&#xA;&lt;br&gt;&#xA;are all in GC$\hspace{-0.02 in}\big(\hspace{-0.03 in}O\big(\hspace{-0.03 in}$(log(n))$^2\hspace{-0.03 in}\big)\hspace{-0.03 in}$,logspace$\hspace{-0.03 in}\big)\hspace{-0.02 in}$, and thus in particular solvable in quasi-polynomial time.&#xA;&lt;br&gt;&lt;br&gt;&lt;br&gt;&#xA;Aside from the fact that [&lt;a href=&quot;https://rjlipton.wordpress.com/2011/10/08/an-annoying-open-problem/&quot; rel=&quot;nofollow noreferrer&quot;&gt;since 2011&lt;/a&gt;, significant &lt;a href=&quot;https://rjlipton.wordpress.com/2013/05/11/advances-on-group-isomorphism/&quot; rel=&quot;nofollow noreferrer&quot;&gt;work on the problem&lt;/a&gt; has &quot;merely&quot; halved the runtime's exponent for general groups and quartered the runtime's exponent for &lt;a href=&quot;https://en.wikipedia.org/wiki/Solvable_group&quot; rel=&quot;nofollow noreferrer&quot;&gt;solvable groups&lt;/a&gt;],&#xA;&lt;br&gt;&#xA;I'm not aware of any evidence that such problems should not be in P.&#xA;&lt;br&gt;&lt;br&gt;&lt;br&gt;&#xA;Evidence that the problems this answer is about are &quot;not so hard&quot;:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I already mentioned the ZKPoK and HVSZK proof system.&#xA;&lt;br&gt;&#xA;Whenever there are &quot;not too many&quot; non-isomorphic objects, [giving the verifier a &quot;not to long&quot; advice string and letting the proofs contain a pointer to locations in it] is enough to additionally&#xA;&lt;br&gt;&#xA;verify the &lt;em&gt;complements&lt;/em&gt; of the type of problem this answer has been about before this sentence.&#xA;&lt;br&gt;&#xA;(The pointer is to where the advice string gives [2 reference objects&#xA;&lt;br&gt;&#xA;that the input objects are isomorphic to] and the answers for them.)&#xA;&lt;br&gt;&#xA;By &lt;a href=&quot;https://cstheory.stackexchange.com/a/33096/6973&quot;&gt;this answer's bound on the number of non-isomorphic groups&lt;/a&gt; (which I don't know how to prove), whenever the labelled tuples are encompassed by the combination of&#xA;&lt;br&gt;&#xA;$\:\: \big[\hspace{-0.02 in}$O(1) &lt;a href=&quot;https://en.wikipedia.org/wiki/Multilinear_map&quot; rel=&quot;nofollow noreferrer&quot;&gt;bi-homomorphisms&lt;/a&gt; and O(log(n)) subgroups and&#xA;&lt;br&gt;&#xA;$\big[\hspace{-0.02 in}$other tuples such that the sum of their lengths is $O\big(\hspace{-0.03 in}$(log(n))$^2\hspace{-0.03 in}\big)\big]\big]\hspace{-0.02 in}$,&#xA;&lt;br&gt;&#xA;&quot;not too long&quot; will be &quot;length $n^{O\left((\log(n))^{\hspace{.02 in}2}\hspace{-0.02 in}\right)}$&quot;. ​ ​ Also, &lt;a href=&quot;http://www.uni-ulm.de/fileadmin/website_uni_ulm/iui.inst.190/Mitarbeiter/toran/group.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;this paper&lt;/a&gt; shows that&#xA;&lt;br&gt;&#xA;&quot;the Group Non-Isomorphism problem&quot; has &quot;a 2-round Arthur-Merlin protocol&quot; such that&#xA;&lt;br&gt;&#xA;&quot;Arthur uses $O\big(\hspace{-0.03 in}$log&lt;sup&gt;6&lt;/sup&gt; n$\hspace{-0.03 in}\big)$ random bits and Merlin uses $O\big(\hspace{-0.03 in}$log&lt;sup&gt;2&lt;/sup&gt; n$\hspace{-0.03 in}\big)$ non-deterministic bits&quot;&#xA;&lt;br&gt;&#xA;and gives &quot;a uniform NP machine for group non-isomorphism, that works&#xA;&lt;br&gt;&#xA;correctly on all but&quot; quasi-polynomially many &quot;inputs of any length&quot;.&#xA;&lt;br&gt;&#xA;Furthermore, that &quot;NP machine is always correct when the input groups are non-isomorphic.&quot;&#xA;&lt;br&gt;&lt;br&gt;&lt;/p&gt;&#xA;" OwnerDisplayName="user6973" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2015-11-17T01:18:27.493" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="33087" PostTypeId="1" CreationDate="2015-11-15T01:32:09.663" Score="2" ViewCount="546" Body="&lt;p&gt;I have a plane graph $G$ and a set of $k$ vertex pairs $\{s_1,t_1\}, \dots, \{s_k, t_k\}$. The goal is to find $k$ non-crossing paths connecting the pairs of terminals $s_i$ with $t_i$ in the graph so that the sum of path lengths is minimized. Note that the paths may &quot;touch&quot; each other, that is, share graph vertices and edges; the only requirement is that they do not cross.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is easy to see that a solution always exists. Is finding an optimal solution NP-hard? I'm interested in the variant when $k$ is arbitrary and $G$ is a planar graph. However, the problem seems non-trivial even when $k=O(1)$ and/or $G$ is restricted. Say, is it possible to efficiently find such paths on a tree or a star?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An example of an input instance and a (possibly non-optimal) solution follows.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://i.stack.imgur.com/8Zq79.png&quot; rel=&quot;nofollow noreferrer&quot;&gt;&lt;img src=&quot;https://i.stack.imgur.com/8Zq79.png&quot; alt=&quot;an instance with a solution&quot;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Most of the existing works (e.g., &lt;a href=&quot;http://jeffe.cs.illinois.edu/pubs/pdf/noncrossing.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Shortest Non-Crossing Walks in the Plane&lt;/a&gt;) consider a similar problem in which the paths are not restricted to a graph and can be routed arbitrarily in the plane. In this setting, the terminals lie on obstacles and a solution might not exist. I'm not aware of a paper considering my variant of the problem.&lt;/p&gt;&#xA;" OwnerUserId="7329" LastEditorUserId="7329" LastEditDate="2015-11-15T01:40:05.740" LastActivityDate="2015-11-15T01:40:05.740" Title="Shortest non-crossing geometric paths" Tags="&lt;graph-algorithms&gt;&lt;planar-graphs&gt;&lt;computational-geometry&gt;&lt;shortest-path&gt;" AnswerCount="0" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="33088" PostTypeId="1" CreationDate="2015-11-15T04:43:01.047" Score="20" ViewCount="767" Body="&lt;p&gt;Let us say that a language $L$ is &lt;strong&gt;P&lt;/strong&gt;-density-close if there is a polynomial time algorithm that correctly decides $L$ on almost all inputs. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In other words, there is an  $A\in$ &lt;strong&gt;P&lt;/strong&gt;, such that $L\Delta A$ is vanishing, which means &#xA;$$\lim_{n\rightarrow\infty} \frac{|(L\Delta A) \cap \{0,1\}^n|}{2^n}=0.$$&#xA;It also means that on a uniform random input, the polytime algorithm for $A$ will give the correct answer for $L$ with probability approaching 1. Therefore, it makes sense to view $L$ &lt;em&gt;almost easy.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that $L\Delta A$ does not have to be sparse. For example, if it has  $2^{n/2}$ $n$-bit strings, then it is still vanishing (at an exponential rate), since $2^{n/2}/2^n=2^{-n/2}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is not hard to (artificially) construct &lt;strong&gt;NP&lt;/strong&gt;-complete problems  that are  &lt;strong&gt;P&lt;/strong&gt;-density-close, according to the above definition. For example, let $L$ be any &lt;strong&gt;NP&lt;/strong&gt;-complete language, and define $L^2=\{xx\,|\, x\in L\}$. Then $L^2$ retains &lt;strong&gt;NP&lt;/strong&gt;-completeness, but has at most $2^{n/2}$ $n$-bit yes-instances. Therefore, the trivial algorithm that answers &quot;no&quot; to every input, will correctly decide $L^2$ on almost all inputs; it will err only on a $\leq 1-2^{-n/2}$ fraction of $n$-bit inputs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, it would be very surprising if  &lt;em&gt;&lt;strong&gt;all&lt;/strong&gt;&lt;/em&gt; &lt;strong&gt;NP&lt;/strong&gt;-complete problems are &lt;strong&gt;P&lt;/strong&gt;-density-close. It would mean that, in a sense,  all &lt;strong&gt;NP&lt;/strong&gt;-complete problems are almost easy. This motivates the &lt;strong&gt;question:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Assuming &lt;strong&gt;P&lt;/strong&gt;$\neq$&lt;strong&gt;NP&lt;/strong&gt;, which are some  &lt;em&gt;natural&lt;/em&gt; &lt;strong&gt;NP&lt;/strong&gt;-complete problems that are &lt;em&gt;&lt;strong&gt;not&lt;/strong&gt;&lt;/em&gt;  &lt;strong&gt;P&lt;/strong&gt;-density-close? &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="12710" LastEditorUserId="12710" LastEditDate="2015-11-15T14:44:01.127" LastActivityDate="2015-11-18T03:17:47.090" Title="&quot;Almost easy&quot; NP-complete problems" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;complexity-classes&gt;&lt;np-complete&gt;" AnswerCount="1" CommentCount="15" FavoriteCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="33092" PostTypeId="1" AcceptedAnswerId="33134" CreationDate="2015-11-15T13:05:28.667" Score="6" ViewCount="233" Body="&lt;p&gt;Let $G$ be some connected bidirectional (or undirected) graph. We define a random walk as a walk that begins at a vertex chosen uniformly at random, and at each step proceeds to one of its current vertex's neighbors uniformly at random. The expected hitting time for a vertex $v$ is the time it takes, on average, for the walk to reach $v$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For what family of graphs is the &lt;em&gt;minimum&lt;/em&gt; of all expected hitting times as large as it can be? &lt;/p&gt;&#xA;" OwnerUserId="36369" LastEditorUserId="36369" LastEditDate="2015-11-18T19:37:11.273" LastActivityDate="2015-11-19T20:12:11.537" Title="Graph that maximizes minimum hitting time?" Tags="&lt;graph-theory&gt;&lt;pr.probability&gt;&lt;randomness&gt;&lt;random-walks&gt;" AnswerCount="1" CommentCount="7" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33093" PostTypeId="1" AcceptedAnswerId="33149" CreationDate="2015-11-15T14:27:34.127" Score="5" ViewCount="1152" Body="&lt;p&gt;Let &lt;span class=&quot;math-container&quot;&gt;$U$&lt;/span&gt; be a small finite set.&#xA;Consider the following problem:&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Input:&lt;/strong&gt; two strings &lt;span class=&quot;math-container&quot;&gt;$u \in U^k$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$v\in U^n$&lt;/span&gt; with &lt;span class=&quot;math-container&quot;&gt;$k \leq n$&lt;/span&gt;.&lt;br /&gt;&#xA;&lt;strong&gt;Output:&lt;/strong&gt; a (contiguous) substring of &lt;span class=&quot;math-container&quot;&gt;$v$&lt;/span&gt; of length &lt;span class=&quot;math-container&quot;&gt;$k$&lt;/span&gt;&#xA;with the minimum &lt;a href=&quot;https://en.wikipedia.org/wiki/Hamming_distance&quot; rel=&quot;nofollow noreferrer&quot;&gt;Hamming distance&lt;/a&gt; from &lt;span class=&quot;math-container&quot;&gt;$u$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;p&gt;In other words I want to compute the following function:&#xA;&lt;span class=&quot;math-container&quot;&gt;$$f(u,v) = \arg\min_{j &amp;lt; n-k} d_H(u, v[j,j+k])$$&lt;/span&gt;&#xA;where &lt;span class=&quot;math-container&quot;&gt;$n = |v|$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$k = |u|$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;What is the fastest algorithm for this problem?&lt;/p&gt;&#xA;&lt;p&gt;Can this problem be solved in time &lt;span class=&quot;math-container&quot;&gt;$O(n\log n)$&lt;/span&gt;?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;hr /&gt;&#xA;&lt;p&gt;I think I can solve the problem if I have a data structure as follows:&#xA;Let &lt;span class=&quot;math-container&quot;&gt;$B = \{0, 1 \}$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$k \le n$&lt;/span&gt; be fixed numbers.&#xA;We want a data structure &lt;span class=&quot;math-container&quot;&gt;$D$&lt;/span&gt; with the following properties:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Build: for &lt;span class=&quot;math-container&quot;&gt;$v \in B^n$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$u \in B^k$&lt;/span&gt;, &lt;span class=&quot;math-container&quot;&gt;$D.Build(v, u)$&lt;/span&gt; builds an instance of &lt;span class=&quot;math-container&quot;&gt;$D$&lt;/span&gt; in time &lt;span class=&quot;math-container&quot;&gt;$O(n \log n)$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Query: for &lt;span class=&quot;math-container&quot;&gt;$1 \le q \le n - k + 1$&lt;/span&gt;, &lt;span class=&quot;math-container&quot;&gt;$D.Query(q)$&lt;/span&gt; returns &lt;span class=&quot;math-container&quot;&gt;$\langle u, v[q, q + k - 1]\rangle$&lt;/span&gt; in time &lt;span class=&quot;math-container&quot;&gt;$O(\log n)$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Is there a data structure with these properties?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$\langle \cdot , \cdot \rangle $&lt;/span&gt; is the dot product and&#xA;&lt;span class=&quot;math-container&quot;&gt;$v[i, j]$&lt;/span&gt; = &lt;span class=&quot;math-container&quot;&gt;$(v_i,\ldots, v_{j})$&lt;/span&gt; is the subsequence of &lt;span class=&quot;math-container&quot;&gt;$v$&lt;/span&gt; from &lt;span class=&quot;math-container&quot;&gt;$i$&lt;/span&gt; to &lt;span class=&quot;math-container&quot;&gt;$j$&lt;/span&gt;.&lt;/p&gt;&#xA;" OwnerUserId="36370" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2015-11-21T19:26:59.563" Title="Min Hamming distance of a given string from substrings of another string" Tags="&lt;ds.algorithms&gt;&lt;ds.data-structures&gt;&lt;linear-algebra&gt;&lt;metrics&gt;&lt;edit-distance&gt;" AnswerCount="2" CommentCount="11" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="33094" PostTypeId="1" CreationDate="2015-11-15T19:57:31.230" Score="3" ViewCount="167" Body="&lt;p&gt;&lt;strong&gt;(1)&lt;/strong&gt; Is there a relation ( conjectured relation) between $\mathsf{\#P}$ and $\mathsf{CH}$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;(2)&lt;/strong&gt; How does $\tau$ conjecture in complexity of factorial fit in the picture? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a good reference?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\mathsf{CH}$ is counting hierarchy and $\mathsf\tau$ conjecture essentially conjectures a lower bound of $\omega(\log^cn)$ for any fixed $c&amp;gt;0$ on number of $\{+,-,\times\}$ operations needed for $n!$ computation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(I searched on answers in ctheory but was unsuccessful)&lt;/p&gt;&#xA;" OwnerDisplayName="user34945" LastEditorDisplayName="user34945" LastEditDate="2015-11-16T20:35:09.687" LastActivityDate="2015-11-16T20:35:09.687" Title="Big picture in counting complexities" Tags="&lt;complexity-classes&gt;&lt;counting-complexity&gt;" AnswerCount="0" CommentCount="8" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33095" PostTypeId="1" AcceptedAnswerId="33096" CreationDate="2015-11-15T20:39:23.163" Score="3" ViewCount="138" Body="&lt;p&gt;&lt;strong&gt;(1)&lt;/strong&gt; Is it known Group Isomorphism is in $\mathsf{coNP}$ and is the conjecture so? Is there a good reference for $\mathsf{coNP}$-ness in similar situations?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;(2)&lt;/strong&gt; Is subgroup isomorphism $\mathsf{NP\text-complete}$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;(3)&lt;/strong&gt; Is there an explicit relation between group cardinality and number of generators and bit size of generators that is used in the presentation of the group? For instance if the group has cardinality $2^{\log^cn}$ is there a bound on size and number of generators?&lt;/p&gt;&#xA;" OwnerDisplayName="user34945" LastEditorDisplayName="user34945" LastEditDate="2015-11-15T21:16:12.407" LastActivityDate="2015-11-15T21:23:26.477" Title="Some nuances on Group and Subgroup Isomorphism?" Tags="&lt;graph-isomorphism&gt;&lt;gr.group-theory&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="33096" PostTypeId="2" ParentId="33095" CreationDate="2015-11-15T20:49:23.463" Score="6" Body="&lt;p&gt;(1) In terms of structural complexity classes (as opposed to just upper bounds on deterministic time), for general Group Isomorphism, the known upper bounds are essentially the same as for Graph Isomorphism, namely $\mathsf{coAM} \cap \mathsf{SZK}$. However, &lt;a href=&quot;http://dx.doi.org/10.1109/CCC.2004.1313808&quot;&gt;Arvind and Toran&lt;/a&gt; showed that Solvable Group Isomorphism is in $\mathsf{NP} \cap \mathsf{coNP}$ under a relatively benign derandomization assumption (in particular, weaker than that currently needed to show Graph Isomorphism is in $\mathsf{coNP}$). Although this isn't general Group Isomorphism, as solvable groups are widely believed to contain the hardest cases of Group Isomorphism, this is &quot;pretty close.&quot; As it is conjecture that $\mathsf{coAM} = \mathsf{coNP}$, it is also conjectured that Group Isomorphism is in $\mathsf{coNP}$. In the Cayley table model, many people believe that Group Isomorphism is even in $\mathsf{P}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(2) Subgroup Isomorphism in the Cayley table model is unlikely to be $\mathsf{NP}$-complete, as it has a quasi-polynomial time algorithm. Namely, $H$ has at most $\log_2|H|$ generators; try all possible mappings of these generators into $G$ to see if any gives an injection. This takes time $|G|^{\log_2|H| + O(1)}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(3) Every finite group has a generating set of size at most $\log_2|G|$ (simple exercise). For the rest of this part of the question, it really depends on how the group is presented. However, note that how the group is given as input - e.g. Cayley table, generating permutations, generating matrices, generators-and-relations, black-box - also has a significant effect on the complexity of the corresponding algorithms. It is known that there are $n^{\Theta(\log^2 n)}$ groups of order $\leq n$, so by counting, groups of order $\leq n$ in general need $\Theta(\log^3 n)$ bits to describe. It is an open question whether there is always a presentation with generators-and-relations of poly-logarithmic size.&lt;/p&gt;&#xA;" OwnerUserId="129" LastEditorUserId="129" LastEditDate="2015-11-15T21:23:26.477" LastActivityDate="2015-11-15T21:23:26.477" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33097" PostTypeId="1" AcceptedAnswerId="33098" CreationDate="2015-11-15T20:51:08.067" Score="-2" ViewCount="602" Body="&lt;p&gt;Let $L$ be a regular language with the alphabet $\Sigma$. I'm trying to find an algorithm to tell whether $L=\Sigma^{*}$, whether $L$ accepts all strings in its alphabet. I think this algorithm uses converting the language to a DFA, but I'm not sure what to do from there. I have only recently began learning about regular languages and complexity, so help would be appreciated&lt;/p&gt;&#xA;" OwnerUserId="36374" LastActivityDate="2016-01-26T02:33:41.123" Title="An algorithm that determines if regular language accepts all string of its alphabet" Tags="&lt;ds.algorithms&gt;&lt;fl.formal-languages&gt;&lt;automata-theory&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="1" ClosedDate="2016-01-26T02:34:04.083" ContentLicense="CC BY-SA 3.0" />
  <row Id="33098" PostTypeId="2" ParentId="33097" CreationDate="2015-11-15T21:31:46.803" Score="0" Body="&lt;p&gt;If we had an algorithm that decide whether $L(M)=\varnothing $ or not then it can be used for deciding whether for some $DFA$ like $M$ $L(M)=\Sigma^*$ or not,(by creating the DFA $M'$ from $M$ such that $L(M)=L(M')^c$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For deciding whether $L(M)=\varnothing $ or not suppose $p$ is &lt;a href=&quot;https://en.wikipedia.org/wiki/Pumping_lemma_for_regular_languages&quot; rel=&quot;nofollow&quot;&gt;pumping lemma&lt;/a&gt; number for $M$, then check for every string in set $A=\left \{ x\in \Sigma^*: |x|&amp;lt;p+1 \right \}$ whether it is in $L(M)$ or not, If $A\cap L(M)\not =\varnothing $ then $L(M)\not = \varnothing $. If $A\cap L(M)=\varnothing $ then $L(M)=\varnothing $, because if there exists a string $x$ such that $|x|&amp;gt;p$ and $x\in L(M)$ then by pumping down on $x$ we can reach a string like $y$ such that $y\in A\cap L(M)$ and this leads to contradiction.&lt;/p&gt;&#xA;" OwnerUserId="36375" LastActivityDate="2015-11-15T21:31:46.803" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33099" PostTypeId="1" AcceptedAnswerId="33116" CreationDate="2015-11-15T21:52:46.177" Score="3" ViewCount="161" Body="&lt;p&gt;Given two groups $G_1$ and $G_2$ what is the complexity class in which the following problem belongs?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\mathsf{Is }|Hom(G_1,G_2)|&amp;gt;0$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given two graphs $H_1$ and $H_2$ what is the complexity class in which the following problem belongs (Answered by Ricky Demer in comment)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\mathsf{Is }|Hom(H_1,H_2)|&amp;gt;0$$&lt;/p&gt;&#xA;" OwnerDisplayName="user34945" LastEditorDisplayName="user34945" LastEditDate="2015-11-15T22:03:52.260" LastActivityDate="2015-11-18T08:52:18.460" Title="Complexity class for some group and graph homomorphism problems" Tags="&lt;graph-isomorphism&gt;&lt;gr.group-theory&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33101" PostTypeId="2" ParentId="33097" CreationDate="2015-11-16T05:02:44.083" Score="0" Body="&lt;p&gt;The very first thing you need to think about is, how are you &quot;given&quot; a regular language?  A language L could contain infinitely many strings, so clearly you are not &quot;given&quot; L itself.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are you given L as a regular expression, finite automaton, right-linear grammar, two-way automaton, or what?  &lt;/p&gt;&#xA;" OwnerUserId="3227" LastActivityDate="2015-11-16T05:02:44.083" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33104" PostTypeId="1" AcceptedAnswerId="33106" CreationDate="2015-11-16T15:25:33.877" Score="1" ViewCount="882" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;Problem: In a directed graph $G=(V,E)$, each edge $e\in E$ is associated with a weight $w_e$ which is geometrically distributed with a parameter $p$, i.e. $P(w_e=i)=p(1-p)^{i-1}, i\geq 1$. $s,t$ are two nodes in $G$ and $k$ is a positive integer. What is the probability of the event that the shortest path from $s$ to $t$ has length at least $k$?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I feel this problem should be #P-hard, but I have no idea how to prove its #P-hardness. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I know I should choose a known #P-complete problem, and reduce it to the problem above. But I don't know which one to choose.&lt;/p&gt;&#xA;" OwnerUserId="36364" LastEditorUserId="6579" LastEditDate="2015-11-16T16:55:08.610" LastActivityDate="2015-11-16T16:55:08.610" Title="Is this problem #P-hard and why?" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;&lt;complexity-classes&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="33105" PostTypeId="1" CreationDate="2015-11-16T15:27:00.310" Score="5" ViewCount="664" Body="&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Tree_decomposition&quot; rel=&quot;noreferrer&quot;&gt;Tree decompositions&lt;/a&gt;&lt;/strong&gt; and &lt;a href=&quot;https://en.wikipedia.org/wiki/Treewidth&quot; rel=&quot;noreferrer&quot;&gt;treewidth&lt;/a&gt; are a standard way to measure how close an &lt;em&gt;undirected&lt;/em&gt; graph is to a tree. I am studying decompositions of &lt;em&gt;directed acyclic&lt;/em&gt; graphs (DAGs), and have come to define them as follows:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a DAG $G = (V, E)$, letting $G'$ be the undirected graph obtained by forgetting about edge orientations, a &lt;em&gt;tree decomposition&lt;/em&gt; of $G$ is a tree decomposition $T$ of $G'$ as a &lt;em&gt;rooted&lt;/em&gt;, &lt;em&gt;directed&lt;/em&gt; tree, such that for any bag $b \in T$ and any vertex $v$ of $V$ in $b$, if $v$ occurs in none of the children of $b$, then for any directed edge $(u, v) \in E$, we have $u \in b$. The &lt;em&gt;width&lt;/em&gt; of $G$ under this definition is then, as usual, the minimum across all decompositions $T$ of the maximal cardinality of a bag in $T$ minus one.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My general question is: &lt;strong&gt;Is such a notion of tree decomposition of a DAG known?&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I know that there are existing definitions of tree decompositions for directed graphs, such as D-width, DAG-width, and directed treewidth. However, I don't think they are related to this definition, because, according to all of them, DAGs have low treewidth. Indeed, these definitions consider acyclic graphs as &quot;simple&quot;. By contrast my definition only applies to DAGs, and its extension to general directed graphs is not interesting: unless I'm wrong, it implies that all elements of each strongly connected component must co-occur in a bag.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Further, in my case, the width of a DAG may be &lt;em&gt;more&lt;/em&gt; than that of the corresponding undirected graph. In fact, a tree decomposition of a DAG $G$ in this sense is a standard tree decomposition of the &lt;a href=&quot;https://en.wikipedia.org/wiki/Moral_graph&quot; rel=&quot;noreferrer&quot;&gt;moral graph&lt;/a&gt; of $G$, with additional conditions enforcing it to have a certain &quot;directed&quot; shape. I think the treewidth of the DAG in this sense can still be arbitrarily larger than that of the moral graph, but I'm not sure how to characterize the DAGs that would have &quot;bounded treewidth&quot; in the sense I proposed.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Motivation.&lt;/strong&gt; In my context, the DAG is a circuit, and I use the tree decomposition to reason about valuations. The property that I require is designed to ensure the following: when processing the tree decomposition bottom-up, when we reach a new bag and we see a new element, we can examine its valuations based on that of its children, which are known because the children must be in the bag: we do not need to guess the valuation (as we would have to if it depended on nodes we haven't seen yet). I suspect that there may also be a relationship to inference in graphical models, where message passing needs to be done in only one direction, but I was unable to find references.&lt;/p&gt;&#xA;" OwnerUserId="4795" LastEditorUserId="4795" LastEditDate="2015-11-23T16:59:57.683" LastActivityDate="2015-11-23T16:59:57.683" Title="Tree decomposition for DAGs" Tags="&lt;reference-request&gt;&lt;directed-acyclic-graph&gt;&lt;treewidth&gt;" AnswerCount="0" CommentCount="11" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="33106" PostTypeId="2" ParentId="33104" CreationDate="2015-11-16T16:09:13.370" Score="0" Body="&lt;p&gt;I show a reduction from positive partitioned 2-DNF assignment counting (see proof of 5.1 in [&lt;a href=&quot;http://www.vldb.org/conf/2004/RS22P1.PDF]&quot; rel=&quot;nofollow&quot;&gt;http://www.vldb.org/conf/2004/RS22P1.PDF]&lt;/a&gt; for details and inspiration of my proof). This problem asks to count the number of valuations that satisfy a formula of the form $\Phi: \bigvee_{(i,j) \in E} X_i Y_j$ with $E \subseteq \mathbb{N}^2$, where the $X_i$ and $Y_j$ are pairwise distinct variables.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Represent the positive partitioned 2-DNF as one vertex $x_i$ per variable $X_i$ and one vertex $y_j$ per variable $X_j$ and an edge from $x_i$ to $y_j$ for each $(i, j) \in E$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I add a source vertex $s$ and an edge from $s$ to each $x_i$ with parameter $p=1/2$, so with probability $1/2$ the distance is $1$ and with probability $1/2$ it is $&amp;gt;1$. Likewise I add an edge from each $y_j$ to the target vertex $t$ with the same distribution. Up to the exact value of edges with length $&amp;gt;1$, is a clear probability-preserving bijection between valuations of the $X_i$ and $Y_j$ and possible worlds of this graph: for a valuation $\nu$, the corresponding graph is the one where the probabilistic edge adjacent to $X_i$ has length $1$ iff $\nu(X_i) = 1$ and length $&amp;gt;1$ otherwise, and likewise for the $Y_j$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I set $k=3$. I claim that the probability that there is a path from $s$ to $t$ is the number of valuations that satisfy $\Phi$ divided by $2^N$, where $N$ is the number of variables. Indeed this is clear as a valuation is true iff some adjacent pair of $X_i$ and $Y_j$ is true iff the incident edges to the corresponding $x_i$ and $y_j$ both have length $1$ in the corresponding world.&#xA;Note that the exact length of any edge of length $&amp;gt;1$ is irrelevant as the structure of the graph ensures it can never be part of a path of length $3$ from $s$ to $t$: there are only edegs from $s$ to the $x_i$, from the $x_i$ to the $y_j$, and from the $y_j$ to $t$.&lt;/p&gt;&#xA;" OwnerUserId="4795" LastActivityDate="2015-11-16T16:09:13.370" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33107" PostTypeId="1" CreationDate="2015-11-16T16:24:56.680" Score="3" ViewCount="52" Body="&lt;p&gt;Let $T$ be the complete hierarchy of functions over $\mathbb{N}$.  That is: $T$ = $\bigcup T_{\tau}$ for all simple types $\tau$ built up from the basic type $\mathbb{N}$, with $T_{\mathbb{N}} = \mathbb{N}$ and $T_{\alpha→\beta} = {T_\beta}^{T_\alpha}$.  For a given signature $\Sigma$ consisting of some members of $T$, there is an obvious way of interpreting the closed terms of type $\tau$ in a simply typed $\lambda$-language $\mathcal{L}_\Sigma$ with constants from $\Sigma$ as denoting functions in $T_\tau$.  Let ${T^\Sigma}$ contain just those members of $T$ that are denoted by closed terms in $\mathcal{L}_\Sigma$.  Say that $T^\Sigma$ is &lt;em&gt;functional&lt;/em&gt; just in case, for any distinct $f, g ∈ {T^\Sigma}_{\alpha→\beta}$, there is some $x ∈ {T^\Sigma}_\alpha$ such that $f(x) \ne g(x)$.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Specific question: let $\Sigma$ consist in all members of $\mathbb{N}$ (of type $\mathbb{N}$) together with the addition function (of type $\mathbb{N}→\mathbb{N}→\mathbb{N}$).  Is this $T^\Sigma$ functional?  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;More general question: is there any useful general condition on $\Sigma$ that is sufficient for $T^\Sigma$ to be functional?  &lt;/p&gt;&#xA;" OwnerUserId="36384" LastActivityDate="2015-11-16T16:24:56.680" Title="Functionality of a hierarchy of definable functions over $\mathbb{N}$" Tags="&lt;typed-lambda-calculus&gt;&lt;extensionality&gt;" AnswerCount="0" CommentCount="5" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33108" PostTypeId="1" CreationDate="2015-11-16T17:43:59.737" Score="3" ViewCount="276" Body="&lt;p&gt;Let $G=(V,E)$ be a graph with adjacency matrix $M=(m_{ij};i,j \in V )$ over $\mathbb{F}_2$ and $k \in \mathbb{Z^+}$. How can we find in polynomial time a subset $A \subseteq V$ such that &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;The rank of the sub matrix $M[A, V\setminus A] \leq k$ &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;$|A|\geq |V|/c$, $|V \setminus A|\geq |V|/c$, for some constant $c&amp;gt;1$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;where  $M[A, V\setminus A]$ denote the submatrix $(m_{ij};i \in A, j \in V \setminus A)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note: Assume that existence of such a subset $A$ is guaranteed. .  &lt;/p&gt;&#xA;" OwnerUserId="14028" LastEditorUserId="14028" LastEditDate="2015-11-19T12:30:42.663" LastActivityDate="2015-11-23T16:26:46.383" Title="Submatrix of small rank" Tags="&lt;graph-theory&gt;&lt;matrices&gt;" AnswerCount="2" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="33110" PostTypeId="2" ParentId="7958" CreationDate="2015-11-16T19:07:09.667" Score="4" Body="&lt;p&gt;In &lt;a href=&quot;http://www.cs.bham.ac.uk/~mhe/.talks/popl2012/escardo-popl2012.pdf&quot; rel=&quot;nofollow&quot;&gt;Slide 26&lt;/a&gt;, Martin Escardo provides an algorithm that might give you what you're looking for:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Go the library.&lt;/li&gt;&#xA;&lt;li&gt;Pick a book on topology.&lt;/li&gt;&#xA;&lt;li&gt;Pick a theorem.&lt;/li&gt;&#xA;&lt;li&gt;Apply the dictionary.&lt;/li&gt;&#xA;&lt;li&gt;Get a theorem in computation.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.cs.bham.ac.uk/~mhe/.talks/popl2012/escardo-popl2012.pdf&quot; rel=&quot;nofollow&quot;&gt;http://www.cs.bham.ac.uk/~mhe/.talks/popl2012/escardo-popl2012.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See also &lt;a href=&quot;http://www.cs.bham.ac.uk/~mhe/papers/exhaustive.pdf&quot; rel=&quot;nofollow&quot;&gt;this paper&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="13286" LastActivityDate="2015-11-16T19:07:09.667" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="33111" PostTypeId="2" ParentId="33085" CreationDate="2015-11-17T00:35:13.900" Score="10" Body="&lt;p&gt;Solving the &lt;a href=&quot;https://en.wikipedia.org/wiki/Planted_clique&quot;&gt;planted clique problem&lt;/a&gt; of distinguishing a uniformly random graph from the union of a random graph and a clique (of size intermediate between $2\log_2 n$ and $\sqrt n$), with success probability bounded away from 1/2. It differs from your ETH-violating example of finding polylog-sized cliques in arbitrary graphs, because this is an average-case problem not a worst-case one.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2015-11-17T00:35:13.900" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33112" PostTypeId="2" ParentId="33085" CreationDate="2015-11-17T01:03:15.993" Score="12" Body="&lt;p&gt;Group Isomorphism! Although Ricky Demer gave lots (though certainly not all) details on this, there is an important point I want to highlight, esp. given the stated motivation for the question, namely:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Putting Group Isomorphism into $\mathsf{P}$ is a key obstacle to putting Graph Isomorphism into $\mathsf{P}$&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Group Isomorphism (when given by multiplication tables) reduces to Graph Isomorphism, so the above was technically always true. But when Graph Iso was way up at $2^{\tilde{O}(\sqrt{n})}$ it was so far from Group Iso's $2^{(\log n)^2}$ that there were clearly other obstacles in the way. If Graph Iso is in time $2^{(\log n)^{O(1)}}$, Group Isomorphism is then a much more immediately relevant obstacle to putting Graph Isomorphism into $\mathsf{P}$. In particular, this would suggest that Babai's algorithm handles much [1] of the combinatorics of GI, and the problem is now down to hard algebra. (Not that there's not hard algebra in GI, but GroupIso is &lt;em&gt;by definition&lt;/em&gt; about algebra.) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] I won't say &quot;all&quot; of the combinatorics, because the exponent in Babai's algorithm is most likely $&amp;gt; 2$, which would still leave a gap between GI and GroupIso. Also because there may still be some combinatorics sitting inside the algebra of GroupIso...&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2015-11-17T01:03:15.993" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="33113" PostTypeId="2" ParentId="33085" CreationDate="2015-11-17T05:07:41.447" Score="7" Body="&lt;p&gt;Approximating the Directed Steiner tree problem to within a poly-logarithmic factor. Currently there is a quasi-polynomial time algorithm that gives an $O(\log^3 k)$-approximation. More precisely, one can obtain an $O(i^2 k^{1/i})$ approximation in $n^{O(i)}$ time. &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0196677499910428&quot;&gt;http://www.sciencedirect.com/science/article/pii/S0196677499910428&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Related to this problem is the Submodular Orienteering problem and its special cases. &lt;a href=&quot;http://ieeexplore.ieee.org/xpl/login.jsp?tp=&amp;amp;arnumber=1530718&amp;amp;url=http%3A%2F%2Fieeexplore.ieee.org%2Fxpls%2Fabs_all.jsp%3Farnumber%3D1530718&quot;&gt;http://ieeexplore.ieee.org/xpl/login.jsp?tp=&amp;amp;arnumber=1530718&amp;amp;url=http%3A%2F%2Fieeexplore.ieee.org%2Fxpls%2Fabs_all.jsp%3Farnumber%3D1530718&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="176" LastActivityDate="2015-11-17T05:07:41.447" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33114" PostTypeId="2" ParentId="33108" CreationDate="2015-11-17T06:55:48.847" Score="2" Body="&lt;p&gt;Essentially, you are asking for a graph &quot;separator&quot; of a certain kind, and while this doesn't answer your question directly, your question is likely related to the notion of the &lt;em&gt;rankwidth&lt;/em&gt; of a graph. You can find more information in &lt;a href=&quot;http://mathsci.kaist.ac.kr/~sangil/pdf/2008exp.pdf&quot; rel=&quot;nofollow&quot;&gt;this paper&lt;/a&gt;, &lt;a href=&quot;http://arxiv.org/abs/1503.00190&quot; rel=&quot;nofollow&quot;&gt;this paper&lt;/a&gt; or &lt;a href=&quot;http://mathsci.kaist.ac.kr/~sangil/pdf/2007partition-esa.pdf&quot; rel=&quot;nofollow&quot;&gt;especially this paper&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that the notion of rankwidth uses &quot;rank over the finite field $\mathbb{F}_2$&quot;, which may or may not be the field you were asking about.&lt;/p&gt;&#xA;" OwnerUserId="8985" LastActivityDate="2015-11-17T06:55:48.847" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33115" PostTypeId="2" ParentId="178" CreationDate="2015-11-17T12:15:55.280" Score="12" Body="&lt;p&gt;&lt;a href=&quot;http://arxiv.org/abs/1503.07648&quot;&gt;Recent work by Alon, Moran, and Yehudayoff&lt;/a&gt; gives an $O(n/\log n)$ approximation algorithm. Let $d$ be the VC-dimension of a sign matrix $S$. The idea is that &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;there exists an efficiently computable matrix $M$ with sign pattern $S$ such that $\mathrm{rank}\ M = O(n^{1-1/d})$;&lt;/li&gt;&#xA;&lt;li&gt;the sign rank of $S$ is at least $d$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;So the algorithm computes $M$ and outputs its rank. The approximation ratio is $O(n^{1-1/d}/d)$, which is maximized at $d = \Theta(\log n)$.&lt;/p&gt;&#xA;" OwnerUserId="4896" LastActivityDate="2015-11-17T12:15:55.280" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33116" PostTypeId="2" ParentId="33099" CreationDate="2015-11-17T15:00:04.537" Score="1" Body="&lt;p&gt;(As I mentioned in a comment,) The graph problem &lt;a href=&quot;https://en.wikipedia.org/wiki/Graph_homomorphism#Connection_to_coloring_and_girth&quot; rel=&quot;nofollow noreferrer&quot;&gt;is NP-complete&lt;/a&gt;, even when H&lt;sub&gt;2&lt;/sub&gt; is a triangle.&#xA;&lt;br&gt;&#xA;By putting 3 isolated vertices into H&lt;sub&gt;1&lt;/sub&gt;, one gets a modified instance such that if the&#xA;&lt;br&gt;&#xA;original instance had no graph homomorphisms then the modified instance also has no&#xA;&lt;br&gt;&#xA;graph homomorphisms else the modified instance has more than 6 graph homomorphisms.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Taking the group problem literally, it is in &lt;a href=&quot;https://complexityzoo.uwaterloo.ca/Complexity_Zoo:D#dtime&quot; rel=&quot;nofollow noreferrer&quot;&gt;DTIME&lt;/a&gt;(1), since it's decided by the algorithm ACCEPT.&#xA;&lt;br&gt;&lt;br&gt;&lt;br&gt;&#xA;On the other hand, let ∃NZH be the result of instead interpreting the &quot;0&quot; from the&#xA;&lt;br&gt;&#xA;group problem as &quot;the cardinality of the singleton whose element is &lt;a href=&quot;https://en.wikipedia.org/wiki/Zero_morphism#Examples&quot; rel=&quot;nofollow noreferrer&quot;&gt;the zero morphism&lt;/a&gt;&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By &lt;a href=&quot;http://research.microsoft.com/pubs/148550/sl.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Reingold's result&lt;/a&gt;, ∃NZH is in ​ &lt;a href=&quot;https://complexityzoo.uwaterloo.ca/Complexity_Zoo:G#gc&quot; rel=&quot;nofollow noreferrer&quot;&gt;GC&lt;/a&gt;$\hspace{-0.02 in}\big(\hspace{-0.04 in}\lceil \hspace{-0.02 in}$log&lt;sub&gt;2&lt;/sub&gt;(|G&lt;sub&gt;1&lt;/sub&gt;|)$\hspace{-0.02 in}\rceil \hspace{-0.06 in}\cdot \hspace{-0.06 in}\lceil \hspace{-0.02 in}$log&lt;sub&gt;2&lt;/sub&gt;(|G&lt;sub&gt;2&lt;/sub&gt;|)$\hspace{-0.02 in}\rceil$,&lt;a href=&quot;https://complexityzoo.uwaterloo.ca/Complexity_Zoo:L#l&quot; rel=&quot;nofollow noreferrer&quot;&gt;logspace&lt;/a&gt;$\hspace{-0.03 in}\big)$ , ​ since that class&#xA;&lt;br&gt;&#xA;&lt;a href=&quot;http://epubs.siam.org/doi/pdf/10.1137/S0097539793258295#page=4&quot; rel=&quot;nofollow noreferrer&quot;&gt;gives the verifier two-way read access&lt;/a&gt; to the alleged proof. ​ Furthermore (still using Reingold), logspace machines can compute such non-zero homomorphisms given 2-way read access to&#xA;&lt;br&gt;&#xA;such witnesses. ​ Additionally, by &lt;a href=&quot;https://cstheory.stackexchange.com/a/33096/6973&quot;&gt;this answer's bound on the number of non-isomorphic groups&lt;/a&gt;&#xA;&lt;br&gt;&#xA;(which I don't know how to prove), the &lt;em&gt;negation&lt;/em&gt; of ∃NZH is in&#xA;&lt;br&gt;&#xA;GC$\hspace{-0.02 in}\big(\hspace{-0.03 in}\big[\hspace{-0.04 in}\lceil$log&lt;sub&gt;2&lt;/sub&gt;(|G&lt;sub&gt;1&lt;/sub&gt;|)$\hspace{-0.03 in}\rceil^{\hspace{-0.02 in}2}\hspace{-0.05 in}+\hspace{-0.06 in}\lceil$log&lt;sub&gt;2&lt;/sub&gt;(|G&lt;sub&gt;2&lt;/sub&gt;|)$\hspace{-0.03 in}\rceil^{\hspace{-0.02 in}2}$ ordinary bits$\hspace{-0.02 in}\big]\hspace{-0.03 in}$+[1 pointer to the &lt;a href=&quot;https://en.wikipedia.org/wiki/Advice_%28complexity%29&quot; rel=&quot;nofollow noreferrer&quot;&gt;advice string&lt;/a&gt;]&#xA;&lt;br&gt;&#xA;,logspace$\hspace{-0.03 in}\big)\hspace{-0.04 in}\big/\hspace{-0.04 in}n^{O\left(\hspace{-0.02 in}(\hspace{.02 in}\log(n))^{\hspace{.02 in}2}\hspace{-0.02 in}\right)}$.&#xA;&lt;br&gt;&#xA;(The pointer is to where the advice string gives [an ordered pair of reference groups with no non-zero homomorphisms] such that each input group is isomorphic to the corresponding reference group.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm not aware of any evidence for there being $\big[\hspace{-0.02 in}$a set S of ordered pairs $\langle \hspace{-0.02 in}$m,n$\hspace{-0.02 in}\rangle$&#xA;&lt;br&gt;&#xA;with min(m,n) not bounded above$\hspace{-0.02 in}\big]$ such that the &lt;em&gt;complement&lt;/em&gt; of the language&#xA;&lt;br&gt;&#xA;$\: \big\{\hspace{-0.05 in}\langle \hspace{-0.02 in}$m,n,G&lt;sub&gt;1&lt;/sub&gt;,G&lt;sub&gt;2&lt;/sub&gt;$\rangle$ ​ : ​ $\langle \hspace{-0.02 in}$m,n$\hspace{-0.02 in}\rangle \hspace{-0.03 in}\in$ S ​ and ​ and ​ |G&lt;sub&gt;1&lt;/sub&gt;| &amp;lt; m ​ and ​ |G&lt;sub&gt;2&lt;/sub&gt;| &amp;lt; n&#xA;&lt;br&gt;&#xA; ​ ​ ​ ​ and ​ G&lt;sub&gt;1&lt;/sub&gt; and G&lt;sub&gt;2&lt;/sub&gt; are both &lt;a href=&quot;https://en.wikipedia.org/wiki/P-group&quot; rel=&quot;nofollow noreferrer&quot;&gt;2-groups&lt;/a&gt; ​ and ​ $\langle \hspace{-0.02 in}$G&lt;sub&gt;1&lt;/sub&gt;,G&lt;sub&gt;2&lt;/sub&gt;$\rangle \hspace{-0.03 in}\in$ ∃NZH $\hspace{-0.08 in}\big\}$&#xA;&lt;br&gt;&#xA;is in ​ GC$\hspace{-0.03 in}\big(\hspace{-0.03 in}o\hspace{-0.02 in}\big(\hspace{-0.03 in}$(log(m+n))&lt;sup&gt;3&lt;/sup&gt;$\hspace{-0.03 in}\big)\hspace{-0.02 in}$,&lt;a href=&quot;https://complexityzoo.uwaterloo.ca/Complexity_Zoo:D#dtime&quot; rel=&quot;nofollow noreferrer&quot;&gt;DTIME&lt;/a&gt;$\hspace{-0.03 in}\big(\hspace{-0.03 in}$2&lt;sup&gt;o(log(m)$\cdot$log(n))&lt;/sup&gt;$\hspace{-0.03 in}\big)\hspace{-0.04 in}\big)\hspace{-0.04 in}\big/\hspace{-0.04 in}$&lt;a href=&quot;https://en.wikipedia.org/wiki/Advice_%28complexity%29&quot; rel=&quot;nofollow noreferrer&quot;&gt;2^$\big(\hspace{-0.04 in}$(m+n)&lt;sup&gt;o(1)&lt;/sup&gt;$\hspace{-0.02 in}\big)$&lt;/a&gt;&#xA;&lt;br&gt;&#xA;or in ​ &lt;a href=&quot;https://complexityzoo.uwaterloo.ca/Complexity_Zoo:N#ntime&quot; rel=&quot;nofollow noreferrer&quot;&gt;NTIME&lt;/a&gt;$\hspace{-0.03 in}\big(\hspace{-0.03 in}$2&lt;sup&gt;o(log(m)$\cdot$log(n))&lt;/sup&gt;$\hspace{-0.03 in}\big)\hspace{-0.04 in}\big/\hspace{-0.04 in}n^{o\hspace{-0.02 in}\left(\hspace{-0.02 in}(\hspace{.02 in}\log(m+n))^{\hspace{.02 in}2}\hspace{-0.02 in}\right)}$ ,&#xA;&lt;br&gt;&#xA;where all five &lt;a href=&quot;https://en.wikipedia.org/wiki/Big_O_notation#Little-o_notation&quot; rel=&quot;nofollow noreferrer&quot;&gt;little-o&lt;/a&gt;s are as min(m,n) increases without bound.&#xA;&lt;br&gt;&#xA;However, I certainly suspect that the negation of ∃NZH is already in those two classes,&#xA;&lt;br&gt;&#xA;i.e., without needing to bring S into the picture or assume that the groups are 2-groups.&lt;/p&gt;&#xA;" OwnerDisplayName="user6973" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2015-11-18T08:52:18.460" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="33117" PostTypeId="1" CreationDate="2015-11-17T16:05:57.807" Score="9" ViewCount="241" Body="&lt;p&gt;Let &lt;span class=&quot;math-container&quot;&gt;$G$&lt;/span&gt; be an acyclic, context-free grammar over a fixed alphabet &lt;span class=&quot;math-container&quot;&gt;$\Sigma=\{a_1,\dots,a_k\}$&lt;/span&gt; with the restriction (without loss of generality) that &lt;span class=&quot;math-container&quot;&gt;$|w|=2$&lt;/span&gt; for each rule &lt;span class=&quot;math-container&quot;&gt;$A\to w$&lt;/span&gt; in the grammar. Acyclic means that if &lt;span class=&quot;math-container&quot;&gt;$N$&lt;/span&gt; is the set of nonterminals, then&#xA;&lt;span class=&quot;math-container&quot;&gt;$$\{(A,B)\in N^2\mid A\to xBy\text{ is a rule in }G\text{; }x,y\in(\Sigma\cup N)^*\}$$&lt;/span&gt;&#xA;is an acyclic relation. So &lt;span class=&quot;math-container&quot;&gt;$L(G)$&lt;/span&gt; is finite. Let in this setting the size of a grammar be defined as the number of nonterminals&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;My question&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;Let &lt;span class=&quot;math-container&quot;&gt;$\#_w(i,j)$&lt;/span&gt; be the number of different &lt;a href=&quot;https://en.wikipedia.org/wiki/Subsequence&quot; rel=&quot;nofollow noreferrer&quot;&gt;subsequences&lt;/a&gt; of &lt;span class=&quot;math-container&quot;&gt;$a_ia_j$&lt;/span&gt; in &lt;span class=&quot;math-container&quot;&gt;$w$&lt;/span&gt;. For example &lt;span class=&quot;math-container&quot;&gt;$w=a_1a_1a_2a_2a_1$&lt;/span&gt; yields &lt;span class=&quot;math-container&quot;&gt;$\#_w(1,2)=4$&lt;/span&gt;, &lt;span class=&quot;math-container&quot;&gt;$\#_w(2,1)=2$&lt;/span&gt;, &lt;span class=&quot;math-container&quot;&gt;$\#_w(1,1)=3$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$\#_w(2,2)=1$&lt;/span&gt;. Now I am looking for the complexity of:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;em&gt;Given:&lt;/em&gt; Acyclic, context-free grammar &lt;span class=&quot;math-container&quot;&gt;$G$&lt;/span&gt; and numbers &lt;span class=&quot;math-container&quot;&gt;$n_{i,j}$&lt;/span&gt; with &lt;span class=&quot;math-container&quot;&gt;$i,j\in\{1,\cdots,k\}$&lt;/span&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;em&gt;Problem:&lt;/em&gt; Is there a word &lt;span class=&quot;math-container&quot;&gt;$w\in L(G)$&lt;/span&gt; with &lt;span class=&quot;math-container&quot;&gt;$\#_w(i,j)=n_{i,j}$&lt;/span&gt; for all &lt;span class=&quot;math-container&quot;&gt;$i,j\in\{1,\cdots,k\}$&lt;/span&gt; ?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;Background / Well-studied, related problem&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;The following problem is one step behind my question. In my question, the number of occurences of all subsequences of length &lt;span class=&quot;math-container&quot;&gt;$2$&lt;/span&gt; are given. We could first ask, what is the complexity, if the given numbers are the occurences of subsequences of length &lt;span class=&quot;math-container&quot;&gt;$1$&lt;/span&gt;, i.e. the given numbers are the occurences of the alphabet symbols. So, let &lt;span class=&quot;math-container&quot;&gt;$\#_w(i)$&lt;/span&gt; denote the number of occurences of &lt;span class=&quot;math-container&quot;&gt;$a_i$&lt;/span&gt; in &lt;span class=&quot;math-container&quot;&gt;$w\in\Sigma^*$&lt;/span&gt;. The following problem is known to be &lt;span class=&quot;math-container&quot;&gt;$\mathsf{NP-complete}$&lt;/span&gt;:&lt;/p&gt;&#xA;&lt;p&gt;&lt;em&gt;Given:&lt;/em&gt; Acyclic, context-free grammar &lt;span class=&quot;math-container&quot;&gt;$G$&lt;/span&gt; and numbers &lt;span class=&quot;math-container&quot;&gt;$n_1,\dots ,n_k$&lt;/span&gt;&lt;br /&gt;&#xA;&lt;em&gt;Problem:&lt;/em&gt; Is there a word &lt;span class=&quot;math-container&quot;&gt;$w\in L(G)$&lt;/span&gt; with &lt;span class=&quot;math-container&quot;&gt;$\#_w(i)=n_i$&lt;/span&gt; for all &lt;span class=&quot;math-container&quot;&gt;$i\in\{1,\cdots,k\}$&lt;/span&gt; ?&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.218.3736&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;McKenzie and Wagner&lt;/a&gt; (&amp;quot;THE COMPLEXITY OF MEMBERSHIP PROBLEMS FOR CIRCUITS OVER SETS OF NATURAL NUMBERS&amp;quot;) provide an &lt;span class=&quot;math-container&quot;&gt;$\mathsf{NP}$&lt;/span&gt; algorithm to solve the membership problem of circuits over the natural numbers with &lt;span class=&quot;math-container&quot;&gt;$\cup$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$+$&lt;/span&gt;. A slightly modified algorithm solves our problem. The algorithm in short: In addition to the given numbers, we guess for each nonterminal how often it occurs in a derivation tree and for each rule how often it is applied in a derivation tree. Afterwards, we check whether there is a derivation tree of &lt;span class=&quot;math-container&quot;&gt;$G$&lt;/span&gt; satisfying the guessed numbers by checking some relations between those numbers. The problem should also be &lt;span class=&quot;math-container&quot;&gt;$\mathsf{NP-hard}$&lt;/span&gt;, e.g. as a conclusion of &lt;a href=&quot;http://www.mimuw.edu.pl/%7Eerykk/papers/parikh.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Kopczyński and Widjaja To&lt;/a&gt; (&amp;quot;Complexity of Problems for Parikh Images of Automata&amp;quot;).&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Still &lt;span class=&quot;math-container&quot;&gt;$\mathsf{NP}$&lt;/span&gt; ?&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;Is the problem for subsequences of length &lt;span class=&quot;math-container&quot;&gt;$2$&lt;/span&gt; still solvable in &lt;span class=&quot;math-container&quot;&gt;$\mathsf{NP}$&lt;/span&gt; ? Of course it is at least as hard as the related problem for subsequences of length &lt;span class=&quot;math-container&quot;&gt;$1$&lt;/span&gt;, because&#xA;&lt;span class=&quot;math-container&quot;&gt;$$\#_w(i,i)=\frac {\#_w(i)\cdot(\#_w(i)-1)}{2}.$$&lt;/span&gt;&#xA;Unfortunately, I am neither able to extend the algorithm of McKenzie and Wagner to get an &lt;span class=&quot;math-container&quot;&gt;$\mathsf{NP}$&lt;/span&gt; algorithm, nor can I show another hardness result like &lt;span class=&quot;math-container&quot;&gt;$\mathsf{coNP}$&lt;/span&gt; hardness.&#xA;Thanks for any help.&lt;/p&gt;&#xA;" OwnerUserId="21809" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2019-01-13T21:40:07.213" Title="Complexity of a problem over acyclic context-free grammars" Tags="&lt;cc.complexity-theory&gt;&lt;circuit-complexity&gt;&lt;np&gt;&lt;grammars&gt;&lt;context-free&gt;" AnswerCount="0" CommentCount="0" FavoriteCount="3" ContentLicense="CC BY-SA 4.0" />
  <row Id="33118" PostTypeId="1" CreationDate="2015-11-18T02:20:08.940" Score="9" ViewCount="127" Body="&lt;p&gt;A well-known fact is that if a function f is computable by a k-CNF and an l-DNF then it can be computed by a tree of depth at most kl. Long time ago I heard the problem what happens if the CNF and DNF only compute f with some small error $\epsilon&amp;gt;0$. Is there a shallow tree computing f with a small error? (I am not sure that the problem was posed in this way, but this is the question I am interested in.)&lt;/p&gt;&#xA;" OwnerUserId="36402" LastActivityDate="2015-11-18T02:20:08.940" Title="Boolean functions computed approximately by k-CNFs and l-DNFs and the depth of trees" Tags="&lt;circuit-complexity&gt;" AnswerCount="0" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="33119" PostTypeId="2" ParentId="33088" CreationDate="2015-11-18T03:17:47.090" Score="5" Body="&lt;p&gt;I looked into whether there is a generally accepted hypothesis in complexity theory, which implies that there must exist an &lt;strong&gt;NP&lt;/strong&gt;-complete language that cannot be accepted in polynomial time on almost all inputs (as defined in the question).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Interestingly, the most &quot;standard&quot; hypotheses do not seem to imply it. That is, it does not appear to follow (unless I overlooked something) from &lt;strong&gt;P&lt;/strong&gt;$\neq$&lt;strong&gt;NP&lt;/strong&gt;, &lt;strong&gt;P&lt;/strong&gt;$=$&lt;strong&gt;BPP&lt;/strong&gt;,&#xA;&lt;strong&gt;NP&lt;/strong&gt;$\neq$&lt;strong&gt;coNP&lt;/strong&gt;, &lt;strong&gt;E&lt;/strong&gt;$\neq$&lt;strong&gt;NE&lt;/strong&gt;, &lt;strong&gt;EXP&lt;/strong&gt;$\neq$&lt;strong&gt;NEXP&lt;/strong&gt;, &lt;strong&gt;NP&lt;/strong&gt;$\neq$&lt;strong&gt;PSPACE&lt;/strong&gt;,  &lt;strong&gt;NP&lt;/strong&gt;$\neq$&lt;strong&gt;EXP&lt;/strong&gt;, &lt;strong&gt;NP&lt;/strong&gt;$\not\subseteq$&lt;strong&gt;P&lt;/strong&gt;/poly, &lt;strong&gt;PH&lt;/strong&gt; does not collapse,  etc.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, I found one, slightly less standard, hypothesis, which does imply the existence of the sought &lt;strong&gt;NP&lt;/strong&gt;-complete problem, albeit not a natural one.  In the theory of &lt;a href=&quot;https://en.wikipedia.org/wiki/Resource_bounded_measure&quot; rel=&quot;noreferrer&quot;&gt;resource bounded measure&lt;/a&gt; the fundamental hypothesis is that &lt;strong&gt;NP&lt;/strong&gt; does not have $p$-measure zero, denoted by &#xA;$\mu_p($&lt;strong&gt;NP&lt;/strong&gt;$)\neq 0$. Informally, this means that &lt;strong&gt;NP&lt;/strong&gt;-languages within &lt;strong&gt;E&lt;/strong&gt; do not form a negligible subset. For details, see a survey &lt;a href=&quot;http://web.cs.iastate.edu/~lutz/=PAPERS/tprbm-eatcs.pdf&quot; rel=&quot;noreferrer&quot;&gt;here&lt;/a&gt;. In this theory they prove, among many other things,  that &#xA;$\mu_p($&lt;strong&gt;NP&lt;/strong&gt;$)\neq 0$ implies the existence of a &lt;strong&gt;P&lt;/strong&gt;-bi-immune language in &lt;strong&gt;NP&lt;/strong&gt;. A language $L$ is &lt;strong&gt;P&lt;/strong&gt;-bi-immune if  neither $L$ nor its complement has an infinite subset in &lt;strong&gt;P&lt;/strong&gt;. Such a language satisfies our requirement in a strong way.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, it still remains unclear whether an example exists that represents a &lt;em&gt;natural&lt;/em&gt; problem. &lt;/p&gt;&#xA;" OwnerUserId="12710" LastActivityDate="2015-11-18T03:17:47.090" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="33120" PostTypeId="2" ParentId="33085" CreationDate="2015-11-18T08:51:01.517" Score="5" Body="&lt;p&gt;The following problem is known to have a quasi-polynomial time algorithm and it does not break any conjecture if in P. Given a hypergraph $\mathcal{H}:=(V,{\cal E}\subseteq 2^V)$, a transversal of ${\cal H}$ is a subset of $V$ that intersects every set in ${\cal E}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Input.&lt;/strong&gt; Two hypergraphs ${\cal H}$ and ${\cal T}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Output.&lt;/strong&gt; Either says that ${\cal T}$ is the set of (incluion-wise) minimal transversals of ${\cal H}$ or gives a counter-example.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The best known algorithm is a quasi-polynomial time algorithm (the first is the one by Fredman and Khachiyan  &lt;a href=&quot;http://dx.doi.org/10.1006/jagm.1996.0062&quot; rel=&quot;noreferrer&quot;&gt;http://dx.doi.org/10.1006/jagm.1996.0062&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem is  known as &lt;em&gt;Monotone Boolean Duality&lt;/em&gt; or &lt;em&gt;Hypergraph Duality&lt;/em&gt; and several enumeration problems are  reducible to this problem or equivalent to it (for instance the enumeration of minimal dominating sets is equivalent to this problem). It is actually believed to be in P.&lt;/p&gt;&#xA;" OwnerUserId="4854" LastActivityDate="2015-11-18T08:51:01.517" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33122" PostTypeId="1" CreationDate="2015-11-18T12:56:14.867" Score="1" ViewCount="144" Body="&lt;p&gt;&lt;strong&gt;Problem:&lt;/strong&gt;&#xA;I am looking for an algorithm which finds all vertices that are adjacent to exterior region of a planar graph(For a planar graph, any region=face can be considered as the  exterior region /face).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Attempt:&lt;/strong&gt;&#xA;Using the planarity check algorithm, an algorithm can be constructed with polynomial bound.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Questions:&lt;/strong&gt;&#xA;My questions are-&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Are there any literature /algorithms regarding the problem?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Can the problem have a log-space time algorithm (without using planarity check algorithm)? &lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Motivation:&lt;/strong&gt; Trying to find the outer cycle of a  planar graph quickly to reduce the complexity of Hamiltonian circuit problem.&lt;/p&gt;&#xA;" OwnerUserId="27242" LastEditorUserId="27242" LastEditDate="2015-11-19T05:58:06.780" LastActivityDate="2015-11-19T05:58:06.780" Title="Vertices adjacent to Exterior region of a Planar Graph(Algorithm)" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;planar-graphs&gt;" AnswerCount="0" CommentCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="33127" PostTypeId="1" AcceptedAnswerId="33133" CreationDate="2015-11-18T22:56:25.917" Score="7" ViewCount="598" Body="&lt;p&gt;There is a $n\times n$ matrix $A$, and we are asked to find the number $N(A)$ of independent rows in it, i.e. rows that are not a linear combination of the other rows. Clearly, if $rank(A)=n$, then $N(A)=n$, but for $rank(A)=n-1$  $N(A)$ can be anywhere between $0$ and $n-1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A straightforward way to check if a row is independent is to check if removing it from $A$ lowers the rank of $A$. Assuming calculating rank requires $O(n^\alpha)$ operations, calculating $N(A)$ this way would require $O(n^{\alpha+1})$. Are there more efficient ways to find $N(A)$?&lt;/p&gt;&#xA;" OwnerUserId="29284" LastEditorUserId="7971" LastEditDate="2015-11-23T15:42:46.097" LastActivityDate="2015-11-23T15:42:46.097" Title="Finding the number of independent rows of a matrix" Tags="&lt;linear-algebra&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="33130" PostTypeId="1" AcceptedAnswerId="33541" CreationDate="2015-11-19T11:53:23.233" Score="10" ViewCount="593" Body="&lt;p&gt;Berman–Hartmanis conjecture: all NP-complete languages look alike, in the sense that they can be related to each other by polynomial time isomorphisms[1]. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am interested in a more fine-grained version of the &quot;polynomial time&quot;, that is, if we use parameterized reductions. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A parameterized problem is a subset of $Σ^∗ × Z \geq 0$, where $Σ$ is a finite alphabet and $Z\geq 0$ is the set of nonnegative numbers. An instance of a parameterized problem is therefore a pair $(I, k)$, where $k$ is the parameter.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A parameterized problem $π_1$ is fixed-parameter reducible to a parameterized problem $π_2$ if there exist functions $f$, $g$ : $Z≥0 → Z≥0$, $ Φ : Σ∗ × Z≥0 → Σ^∗$ and a polynomial $p(·)$ such that for any instance $(I, k)$ of $π_1$, $(Φ(I, k), g(k))$ is an instance of $π_2$ computable in time $f(k) · p(|I|)$ and&#xA;$(I, k) ∈ π_1$ if and only if $(Φ(I, k), g(k)) ∈ π_2$. Two parameterized problems are fixed-parameter equivalent if they are fixed-parameter reducible to each other.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some NP-complete problems are FPT, for example, the decision version of vertex cover problem is NP-Complete, it has a $O(1.2738^k + kn)$ algorithm[2]. Finding better fixed-parameter reductions of a FPT problem which is NP-Complete can lead to a better algorithm, for example, by invoking a reduction to an &#xA;&quot;above guarantee version&quot; of the Multiway Cut problem can lead to an algorithm in time $O^*(4^k)$ for AGVC(Above Guarantee Vertex Cover) problem[3], which is better than the original $O^*(15^k)$ algorithm [4]. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\textbf{My Conjecture: All FPT NP-complete languages are fixed-parameter-isomorphic.}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is that conjecture true? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1]  Berman, L.; Hartmanis, J. (1977), &quot;On isomorphisms and density of NP and other complete sets&quot;, SIAM Journal on Computing 6 (2): 305–322.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] J. Chen, I. A. Kanj, and G. Xia, Improved upper bounds for vertex cover, Theor.Comput. Sci., 411 (2010), pp. 3736-3756.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[3] M. Cygan, M. Pilipczuk, M. Pilipczuk, and J. O. Wojtaszczyk, On multiway&#xA;cut parameterized above lower bounds, in IPEC, 2011.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[4] M. Mahajan and V. Raman, Parameterizing above guaranteed values: Maxsat and&#xA;maxcut, J. Algorithms, 31 (1999), pp. 335-354.&lt;/p&gt;&#xA;" OwnerDisplayName="user17918" LastEditorDisplayName="user17918" LastEditDate="2017-03-07T00:52:54.367" LastActivityDate="2017-03-07T00:52:54.367" Title="Conjecture: All FPT NP-complete languages are fixed-parameter-isomorphic" Tags="&lt;complexity-classes&gt;&lt;np-complete&gt;&lt;fixed-parameter-tractable&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33132" PostTypeId="1" CreationDate="2015-11-19T18:14:06.257" Score="5" ViewCount="451" Body="&lt;p&gt;(This question is related to a previous one, see the discussion in &lt;a href=&quot;https://cstheory.stackexchange.com/questions/33088/almost-easy-np-complete-problems&quot;&gt;&amp;quot;Almost easy&amp;quot; NP-complete problems&lt;/a&gt;, but it may also be of independent interest, so I post it as a separate question.) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let us say that a language $L\subseteq \{0,1\}^*$ has &lt;strong&gt;high density,&lt;/strong&gt; if it contains a positive constant fraction of all $n$-bit strings. That is, there is a constant $c&amp;gt;0$, such that $$|L\cap \{0,1\}^n|\geq c2^n$$ holds for all $n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is not hard to construct &lt;em&gt;artificial&lt;/em&gt; examples of &lt;strong&gt;NP&lt;/strong&gt;-complete problems with high density. For example, let $L$ be &lt;em&gt;any&lt;/em&gt; &lt;strong&gt;NP&lt;/strong&gt;-complete language. For a binary string $z$, let $w(z)$ denote the &lt;em&gt;weight&lt;/em&gt; of $z$, which is the number of 1-bits in $z$. Now define &#xA;$$ L'=\{xx\,|\,x\in L\}\cup \{y\,|\, w(y)\:\mbox{is odd}\}. $$&#xA;It is easy to see that $L'$ has high density, and it still remains &lt;strong&gt;NP&lt;/strong&gt;-complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The above example, however, is quite artificial, it is constructed for the sole reason of exhibiting this property. I expected that one could easily find natural &lt;strong&gt;NP&lt;/strong&gt;-complete problems with high density, and I was surprised that this turned out harder than I thought. So, the &lt;strong&gt;question&lt;/strong&gt; is:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What are some examples of &lt;em&gt;natural&lt;/em&gt; &lt;strong&gt;NP&lt;/strong&gt;-complete problems with high density?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit:&lt;/strong&gt; &lt;/p&gt;&#xA;&#xA;&lt;p&gt;From the discussion in the comments I realized that a better question would be this:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What are some examples of &lt;em&gt;natural&lt;/em&gt; &lt;strong&gt;NP&lt;/strong&gt;-complete problems with the property that &lt;strong&gt;both&lt;/strong&gt; the yes-instances and the no-instances have high density?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="12710" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2015-12-02T02:44:47.880" Title="Natural NP-complete problems with high density?" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;complexity-classes&gt;&lt;np&gt;" AnswerCount="3" CommentCount="12" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="33133" PostTypeId="2" ParentId="33127" CreationDate="2015-11-19T19:33:21.230" Score="6" Body="&lt;p&gt;&lt;em&gt;(what follows solves the question for columns, easily adapted to rows either by transposing or by doing a column echelon instead of a row one)&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can do the following: put your matrix in &lt;a href=&quot;https://en.wikipedia.org/wiki/Row_echelon_form&quot; rel=&quot;nofollow&quot;&gt;reduced echelon form&lt;/a&gt; by the Gauss-Jordan elimination method. Note that this preserves $N(A)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let's say we work on a 5x5 matrix and that we get:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;\begin{bmatrix}&#xA;1 &amp;amp; a_1 &amp;amp; 0  &amp;amp; 0 &amp;amp; b_1 \\&#xA;0 &amp;amp; 0 &amp;amp; 1 &amp;amp; 0 &amp;amp; b_2 \\&#xA;0 &amp;amp; 0 &amp;amp; 0 &amp;amp; 1 &amp;amp; b_3 \\&#xA;0 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 \\&#xA;0 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0 &amp;amp; 0&#xA;\end{bmatrix}&lt;/p&gt;&#xA;&#xA;&lt;p&gt;From this form you can read $N(A)$ immediately: the only columns that can be independent are the ones holding the $1$s (the pivots of the elimination). Now it is obvious that they actually are independent &lt;em&gt;iff.&lt;/em&gt; the coefficients on the right of the $1$ they hold are all $0$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;(in our example: the 1st column is independent &lt;em&gt;iff.&lt;/em&gt; $a_1=0$ and $b_1=0$; the 3rd column is independent &lt;em&gt;iff.&lt;/em&gt; $b_2=0$;&#xA;the 4th column is independent &lt;em&gt;iff.&lt;/em&gt; $b_3=0$)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This way you get $N(A)$ in $O(n^e)$ where $n^e$ is the complexity of computing the echelon form. (the naive algorithm gives $e=3$).&lt;/p&gt;&#xA;" OwnerUserId="30505" LastEditorUserId="30505" LastEditDate="2015-11-23T15:40:45.173" LastActivityDate="2015-11-23T15:40:45.173" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="33134" PostTypeId="2" ParentId="33092" CreationDate="2015-11-19T20:12:11.537" Score="9" Body="&lt;p&gt;It is well known that a barbell graph (two cliques of size $n/3$ connected by a path of length $n/3$) has average hitting time $\Omega(n^3)$, but I believe the same applies to minimum hitting time (for uniform or stationary distribution). Whatever vertex you choose as the one that you think is easiest to hit, you have constant probability of starting in the far clique from that vertex, after which it will take $\Omega(n^3)$ time in expectation before you traverse the connecting path to your chosen vertex.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2015-11-19T20:12:11.537" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33136" PostTypeId="2" ParentId="33093" CreationDate="2015-11-19T21:54:02.923" Score="3" Body="&lt;p&gt;Hint: Express the binary vectors as a polynomial with coefficients in {-1,0,1} and obtain the hamming distance of u with all length k contiguous subsequences of v through a polynomial multiplication.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Use Fourier transforms to improve the complexity to what you need.&lt;/p&gt;&#xA;" OwnerUserId="20910" LastEditorUserId="20910" LastEditDate="2015-11-19T21:59:09.590" LastActivityDate="2015-11-19T21:59:09.590" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33137" PostTypeId="1" AcceptedAnswerId="33138" CreationDate="2015-11-20T06:25:21.470" Score="3" ViewCount="178" Body="&lt;p&gt;What is the fastest known algorithm(s) for finding a minimal sequence of &lt;a href=&quot;https://en.wikipedia.org/wiki/Tree_rotation&quot; rel=&quot;nofollow&quot;&gt;tree rotations&lt;/a&gt; that transform given trees $A$ to $B$ (each with $n$ unlabeled nodes)? Equivalently, how can we find a shortest path between two elements in the &lt;a href=&quot;https://en.wikipedia.org/wiki/Tamari_lattice&quot; rel=&quot;nofollow&quot;&gt;Tamari lattice&lt;/a&gt;? Since Wikipedia lists the problem of finding the length of such a path as not known to be in polynomial time, presumably the best known algorithm is $O(c^n)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As a rough attempt at an upper bound, the Tamari lattice has $C_n$ nodes (Catalan's number), and by its definition each has degree $n-1$ (for the rotations of each of its internal nodes), while the diameter of the graph is at most $2n-2$, so an algorithm of &lt;a href=&quot;https://en.wikipedia.org/wiki/Shortest_path_problem#Directed_graphs_with_nonnegative_weights&quot; rel=&quot;nofollow&quot;&gt;Johnson 1982&lt;/a&gt; for shortest paths yields an $O(C_nn\log\log n)$, or $4^{n-o(n)}$ upper bound.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(I would also be interested to know about polynomial time algorithms that find approximate solutions, for example with length $\le c\ell$ where $\ell$ is the shortest path.)&lt;/p&gt;&#xA;" OwnerUserId="32720" LastEditorUserId="32720" LastEditDate="2015-11-20T08:09:52.093" LastActivityDate="2015-11-20T08:09:52.093" Title="Algorithms for tree rotation" Tags="&lt;cc.complexity-theory&gt;&lt;graph-algorithms&gt;&lt;lattice&gt;&lt;binary-trees&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33138" PostTypeId="2" ParentId="33137" CreationDate="2015-11-20T06:54:19.673" Score="7" Body="&lt;p&gt;It's fixed-parameter tractable in the natural parameter, the distance. So if two trees have distance $k$ you can find the distance in time polynomial + $f(k)$ for some function $f$. The proof is a kernelization that produces a kernel of size $O(k)$ so putting that together with the naive method of finding a shortest path in the flip graph gives time singly exponential in $k$. See &quot;Rotation distance is fixed-parameter tractable&quot;, Cleary &amp;amp; St. John, &lt;em&gt;Inf. Proc. Lett.&lt;/em&gt; 2009, and &quot;An improved kernel size for rotation distance in binary trees&quot;, Lucas, &lt;em&gt;Inf. Proc. Lett.&lt;/em&gt; 2010. See also &quot;A linear-time approximation for rotation distance&quot;, Cleary &amp;amp; St. John, &lt;em&gt;JGAA&lt;/em&gt; 2010.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2015-11-20T06:54:19.673" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="33139" PostTypeId="2" ParentId="32946" CreationDate="2015-11-20T10:12:36.057" Score="3" Body="&lt;p&gt;A &lt;a href=&quot;http://arxiv.org/abs/1510.04622&quot; rel=&quot;nofollow&quot;&gt;paper by Abboud et al.&lt;/a&gt; recently accepted to SODA 2016 shows that subtree isomorphism cannot be solved in $O(n^{2-\epsilon})$ time unless the strong exponential time hypothesis is false.  Of course, we can verify an isomorphism in linear time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In other words, the SETH gives us a natural problem in $\sf{P}$ with an $\Omega(n^{1-\epsilon})$ gap between finding and verifying.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In particular, a $O(n^2/\log n)$ algorithm is known for rooted, constant-degree trees (for which Abboud et al.'s lower bound results still apply). So under SETH, the almost linear find-verify gap is essentially tight for this problem.&lt;/p&gt;&#xA;" OwnerUserId="8927" LastActivityDate="2015-11-20T10:12:36.057" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33140" PostTypeId="1" CreationDate="2015-11-20T13:31:06.157" Score="1" ViewCount="57" Body="&lt;p&gt;The states in LR parsers correspond to sets of items (ie, sets of productions from the original grammar, with a &quot;dot&quot; marking how far into the rule the parser has gotten). In general, states correspond to multiple items, since in general it is not possible to predict which rule will be used for reduction. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is known about the case when it &lt;em&gt;is&lt;/em&gt;? That is, what is known about grammars for which the corresponding LR(k) automata (both $k=0$ and $k&amp;gt;0$) have states with singleton item sets? Has this class been studied, and does it correspond to any well-known class of grammars? (Eg, does it correspond to LL(k), or operator precedence, or similar?) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm curious about this case since the singleton item restriction means that the size of the parse automaton will be bounded by the size of the grammar. &lt;/p&gt;&#xA;" OwnerUserId="657" LastActivityDate="2015-11-20T13:31:06.157" Title="Grammars whose LR automata have singleton item sets?" Tags="&lt;fl.formal-languages&gt;&lt;parsing&gt;" AnswerCount="0" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33143" PostTypeId="1" CreationDate="2015-11-20T20:36:02.740" Score="8" ViewCount="714" Body="&lt;p&gt;Let $X_1,\ldots, X_n$ be $n$ i.i.d. copies of  Gaussian random variable $X \sim N(0, \sigma^2)$. It is known that &#xA;\begin{align}&#xA;\mathbb{P}\Bigl( \Bigl|\frac{1}{n}\sum_{j=1}^n X_j \Bigl| &amp;gt;t\Bigr) &amp;amp;\leq 2 \exp( cnt^2)~~\text{and}\\&#xA;\mathbb{P}\Bigl( \Bigl|\frac{1}{n}\sum_{j=1}^n (X_j^2 - \mathbb{E}X_j^2) \Bigl| &amp;gt;t\Bigr) &amp;amp;\leq 2 \exp( cn\min \{t^2, t\}).&#xA;\end{align}&#xA;These two results follows from the concentration inequality of sub-Gaussian and sub-exponential random variables and the second one is a Bernstein-type inequality. I wonder if there are similar results for the higher moments of Gaussian random variables. Can one have &#xA;\begin{align}&#xA;\mathbb{P}\Bigl( \Bigl|\frac{1}{n}\sum_{j=1}^n (X_j^4 - \mathbb{E}X_j^4) \Bigl| &amp;gt;t\Bigr) \leq 2 \exp( cnt)?&#xA;\end{align}&#xA;And more generally, for a centered random variable $Y$ satisfying $\mathbb{P}(|Y| &amp;gt; t) \leq 2 \exp(c t^{\alpha})$ for $\alpha &amp;gt; 0$, can we get an exponential inequality for the concentration of $\sum_{i=1}^n Y_i$? That is, can we have &#xA;\begin{align}&#xA;\mathbb{P}\Bigl( \Bigl|\frac{1}{n}\sum_{j=1}^n (Y_j - \mathbb{E}Y_j) \Bigl| &amp;gt;t\Bigr) \leq 2 \exp( cnt^\beta)&#xA;\end{align}&#xA;for some $\beta &amp;gt; 0$？&lt;/p&gt;&#xA;" OwnerUserId="36003" LastEditorUserId="36003" LastEditDate="2015-11-22T10:54:00.827" LastActivityDate="2015-11-22T15:28:28.730" Title="Exponential Concentration Inequality for Higher-order moments of Gaussian Random Variables" Tags="&lt;pr.probability&gt;&lt;st.statistics&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33144" PostTypeId="1" AcceptedAnswerId="33388" CreationDate="2015-11-20T21:19:32.387" Score="1" ViewCount="165" Body="&lt;p&gt;In &quot;Structuring Depth-First Search Algorithms in Haskell&quot;, implemented in &lt;a href=&quot;https://hackage.haskell.org/package/containers-0.5.6.3/docs/Data-Graph.html&quot; rel=&quot;nofollow&quot;&gt;Data.Graph&lt;/a&gt; in the Haskell standard library, an algorithm for topologically sorting graphs is given:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;postorder :: Tree a -&amp;gt; [a] -&amp;gt; [a]&#xA;postorder (Node a ts) = postorderF ts . (a :)&#xA;&#xA;postorderF   :: Forest a -&amp;gt; [a] -&amp;gt; [a]&#xA;postorderF ts = foldr (.) id $ map postorder ts&#xA;&#xA;postOrd :: Graph -&amp;gt; [Vertex]&#xA;postOrd g = postorderF (dff g) []&#xA;&#xA;topSort      :: Graph -&amp;gt; [Vertex]&#xA;topSort       = reverse . postOrd&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Experimentally, this topological sort seems to be stable with respect to the &lt;em&gt;reverse&lt;/em&gt; of the input graph, e.g.:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;Prelude&amp;gt; import Data.Graph&#xA;Prelude Data.Graph&amp;gt; let d = buildG (0,3) []&#xA;Prelude Data.Graph&amp;gt; topSort d&#xA;[3,2,1,0]&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Is this actually true? That is, given an ordered list of nodes $N$ with edges $E$, is the result of &lt;code&gt;topSort&lt;/code&gt; on this graph an ordering of nodes such that if there is no path from $n_1$ to $n_2$, the ordering of $n_1$ and $n_2$ from the original list is swapped from in the topologically sorted list? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;As an extra thought, is there an elegant way to rewrite this algorithm so that it doesn't reverse the original order?&lt;/p&gt;&#xA;" OwnerUserId="489" LastActivityDate="2015-12-18T21:10:31.263" Title="Is the topsort from &quot;Structuring Depth-First Search Algorithms&quot; guaranteed to be (reverse) stable?" Tags="&lt;graph-theory&gt;&lt;functional-programming&gt;&lt;haskell&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33145" PostTypeId="2" ParentId="33143" CreationDate="2015-11-20T21:24:57.317" Score="7" Body="&lt;p&gt;See Theorem 23 in &lt;a href=&quot;http://www.contrib.andrew.cmu.edu/~ryanod/?p=1472&quot; rel=&quot;nofollow&quot;&gt;Section 9.3 of Ryan O'Donnell's book Analysis of Boolean functions&lt;/a&gt;. Even though the theorem there is stated for $\pm 1$ variables, it holds for Gaussians as well (see Chapter 10 of the book for details on that).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the more general statement, see Exercise 7 in &lt;a href=&quot;https://terrytao.wordpress.com/2010/01/03/254a-notes-1-concentration-of-measure/&quot; rel=&quot;nofollow&quot;&gt;these lecture notes of Terry Tao&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="40" LastEditorUserId="4896" LastEditDate="2015-11-22T15:28:28.730" LastActivityDate="2015-11-22T15:28:28.730" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="33146" PostTypeId="1" AcceptedAnswerId="33147" CreationDate="2015-11-21T06:07:03.227" Score="5" ViewCount="472" Body="&lt;p&gt;&lt;strong&gt;Given&lt;/strong&gt;: &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;A bipartite graph &lt;em&gt;G=(U,V,E)&lt;/em&gt; &lt;/li&gt;&#xA;&lt;li&gt;Integers &lt;em&gt;n&lt;/em&gt; and &lt;em&gt;k&lt;/em&gt;.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Decision Problem&lt;/strong&gt;: &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Is there a subset of &lt;em&gt;U&lt;/em&gt; of size &lt;em&gt;k&lt;/em&gt; that has at most&#xA;&lt;em&gt;n&lt;/em&gt; neighbours?&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I am trying to figure out whether this problem is NP-hard (I suspect so), but couldn't find any reduction so far. The only well-known NP-hard problems for bipartite graphs seem to be finding bipartite subgraphs in graphs [1], and &lt;a href=&quot;http://everything.explained.today/Bipartite_graph/&quot; rel=&quot;noreferrer&quot;&gt;railway schedule optimization&lt;/a&gt;. It seems somewhat like an inverse of set cover, but is also different from set packing (which appears called as inverse of set cover).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does anyone have ideas which problems could be related?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1]: Computers and Intractability: A Guide to the Theory of NP-Completeness&lt;/p&gt;&#xA;" OwnerUserId="36453" LastActivityDate="2015-11-21T06:55:34.477" Title="Bipartite Graphs - Maximum subset of one partition with at most n neighbours - NP-hard?" Tags="&lt;np-hardness&gt;&lt;set-cover&gt;&lt;bipartite-graphs&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33147" PostTypeId="2" ParentId="33146" CreationDate="2015-11-21T06:55:34.477" Score="10" Body="&lt;p&gt;It's NP-complete by a reduction from cliques in graphs. Given an arbitrary graph $G$, construct a bipartite graph from its incidence matrix, by making one side $U$ of the bipartition correspond to the edges of $G$ and the other side correspond to the vertices of $G$. Then $G$ has a clique of size $\omega$ if and only if the constructed bipartite graph has a set of $\binom{\omega}{2}$ vertices in $U$ that has at most $\omega$ neighbors on the other side of the bipartition.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2015-11-21T06:55:34.477" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33149" PostTypeId="2" ParentId="33093" CreationDate="2015-11-21T18:00:33.327" Score="6" Body="&lt;p&gt;Elaborating &lt;a href=&quot;https://cstheory.stackexchange.com/questions/33093/min-hamming-distance-of-a-given-string-from-substrings-of-another-string/33136#33136&quot;&gt;Paul's suggestion&lt;/a&gt; for a $O(n \log n)$-time algorithm:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;b&gt;Input:&lt;/b&gt; Let $u \in [m]^k$ and $v \in [m]^n$ with $k \leq n$, where $U=[m]=\{1,2,\cdots,m\}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Define polynomials $$p(x,y) = \sum_{i \in [n]} x^i y^{v_i} \qquad \text{and} \qquad q(x,y) = \sum_{j \in [k]} x^{k-j} y^{m-u_j}.$$ &#xA;Compute the polynomial $$r(x,y) = p(x,y) q(x,y).$$ Then $$r(x,y) = \sum_{t,s} x^t y^s \left|\left\{ (i,j) \in [n]\times[k] : i+k-j=t \wedge v_i + m - u_j =s \right\}\right|. $$&#xA;In particular, for $k \leq t \leq n$, the coefficient of $x^{t} y^m$ in $r(x,y)$ is $$\left|\left\{ (i,j) \in [n]\times[k] : i=j+t-k \wedge v_i = u_j\right\}\right| = k-d_H(u,v[t-k+1,t]).$$&#xA;Thus, the coefficients of $r(x,y)$ provide a lookup table for $d_H(u,v[t-k+1,t])$ for $k \leq t \leq n$.&#xA;So, given the coefficients of $r(x,y)$, we can easily solve the problem by picking the $t$ such that $x^{t}y^m$ has the largest coefficient:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;b&gt;Output:&lt;/b&gt; $f(u,v)+k=\mathrm{arg}\max_{k \leq t \leq n} \mathrm{coefficient}_{r(x,y)}(x^{t}y^m)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So how fast is this algorithm? I claim it can be implemented in $O(nm \log (nm))$ time (assuming arithmetic operations with $O(\log (nm))$ bits of precision take constant time) using the &lt;a href=&quot;https://en.wikipedia.org/wiki/Cooley%E2%80%93Tukey_FFT_algorithm&quot; rel=&quot;nofollow noreferrer&quot;&gt;Fast Fourier Transform&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The core of the problem is computing $r(x,y)=p(x,y)q(x,y)$, where the degree of $p(x,y)$ is at most $n$ in $x$ and $m$ in $y$ and the degree of $q(x,y)$ is at most $k$ in $x$ and $m$ in $y$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We can first reduce it to univariate polynomial multiplication by defining $$p'(z) = p(z^{m+1},z) \qquad \text{and} \qquad q'(z)=q(z^{m+1},z),$$ computing $r'(z)=p'(z)q'(z)$, and then extracting $r(x,y)$ from the identity $r'(z)=r(z^{m+1},z)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I won't go through the FFT algorithm (even though it's one of my favourite algorithms), but the general idea is:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Pick $\ell = O(nm)$ special points $w_1, \cdots, w_\ell \in \mathbb{C}$, namely $w_j=\exp(2\pi\sqrt{-1}j/\ell)$ and $\ell$ is a power of $2$ with $\ell &amp;gt; \mathrm{degree}(r'(z))=O(nm)$.&lt;/li&gt;&#xA;&lt;li&gt;Evaluate $p'(w_j)$ and $q'(w_j)$ for all $j \in [\ell]$ in $O(\ell \log \ell)$-time using a divide and conquer algorithm.&lt;/li&gt;&#xA;&lt;li&gt;Compute the values $r'(w_j)=p'(w_j)q'(w_j)$ for all $j$ in $O(\ell)$-time.&lt;/li&gt;&#xA;&lt;li&gt;Interpolate the coefficients of $r'(z)$ from the values $r'(w_j)$ in $O(\ell \log \ell)$-time using essentially the same divide and conquer algorithm.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;The observation that makes the divide and conquer algorithm work is that we can write $p'(z) = p'_\text{even}(z^2) + z \cdot p'_\text{odd}(z^2)$, where $p'_\text{even}$ and $p'_\text{odd}$ have half the degree of $p'$. It then suffices to recursively evaluate $p'_\text{even}(w_{2j})$ and $p'_\text{odd}(w_{2j})$ for $j \in [\ell/2]$.&lt;/p&gt;&#xA;" OwnerUserId="2022" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2015-11-21T19:26:59.563" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33151" PostTypeId="2" ParentId="33062" CreationDate="2015-11-22T08:21:31.913" Score="7" Body="&lt;p&gt;It seems to me that triangles can be done by a 2FA $A$ with $O(n^2)$ state (n being the number of vertices).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For $k=3$ the idea is as follows:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;In phase 1, $A$ chooses some edge $(i,j)$ and stores $(phase 1,i,j)$ in its state&lt;/li&gt;&#xA;&lt;li&gt;In phase 2 it moves to some edge of the form $(i,m)$ or $(m,i)$ and assumes a state of the form $(phase 2,j,m)$&lt;/li&gt;&#xA;&lt;li&gt;In phase 3, it checks that there is some edge $(j,m)$ or $(m,j)$ and assume an accepting state if it finds one.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;This can actually almost be done in a left to right fashion (then $A$ might nondeterministically decide to go first for $(j,m)$ or $(m,j)$ in phase 2). However, if the 2nd edge comes in the form $(m,i)$, $A$ needs to first read $i$ and then $m$, i.e., a single left-step is needed here. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This should result in automata with $O(n^{k-1})$ states for $k$-Clique for $k&amp;gt;3$ by first guessing a set $S$ of size $k-3$ and testing, that he nodes of $S$ are pairwise connected by edges and, for each of  i,j,m in the above, checking that they have edges to all nodes in $S$.&lt;/p&gt;&#xA;" OwnerUserId="32258" LastEditorUserId="32258" LastEditDate="2015-11-22T15:37:21.353" LastActivityDate="2015-11-22T15:37:21.353" CommentCount="10" ContentLicense="CC BY-SA 3.0" />
  <row Id="33154" PostTypeId="2" ParentId="11847" CreationDate="2015-11-23T03:54:53.197" Score="3" Body="&lt;p&gt;In the PRAM model &lt;em&gt;without bit operations&lt;/em&gt;, fairly strong lower bounds are known. For example, in this model, one cannot solve min-cut in $O(\sqrt{n})$ time on $2^{O(\sqrt{n})}$ processors [1]. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Despite being a restricted model, it is strong enough to compute the determinant efficiently, and includes most standard algorithms for poly-time combinatorial optimization problems. See &lt;a href=&quot;https://cstheory.stackexchange.com/a/19318/129&quot;&gt;here&lt;/a&gt;, &lt;a href=&quot;https://cstheory.stackexchange.com/a/22471/129&quot;&gt;here&lt;/a&gt;, or the original paper for more details.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] Mulmuley, K. &lt;a href=&quot;http://dx.doi.org/10.1137/S0097539794282930&quot; rel=&quot;nofollow noreferrer&quot;&gt;Lower Bounds in a Parallel Model without Bit Operations&lt;/a&gt;. SIAM J. Comput., 28(4), 1460–1509, 1999. (&lt;a href=&quot;http://gct.cs.uchicago.edu/lower-bound.ps&quot; rel=&quot;nofollow noreferrer&quot;&gt;from author's webpage without paywall&lt;/a&gt;)&lt;/p&gt;&#xA;" OwnerUserId="129" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2015-11-23T03:54:53.197" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33158" PostTypeId="1" CreationDate="2015-11-23T07:21:20.690" Score="7" ViewCount="131" Body="&lt;p&gt;In Section 4.3.2 entitled &quot;Proof Method&quot; of&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Herlihy and Wing, &quot;&lt;a href=&quot;https://cs.brown.edu/~mph/HerlihyW90/p463-herlihy.pdf&quot; rel=&quot;nofollow&quot;&gt;Linearizability: A Correctness Condition for Concurrent Objects&lt;/a&gt;&quot;, 1990&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;the authors describe the technique for &#xA;verifying implementations of linearizable objects as follows:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Assume that the implementation of $r$ is correct, &#xA;  hence $\text{H} \mid {\small \text{REP}}$ is linearizable &#xA;  for all $\text{H}$ in the implementation. &#xA;  Our verification technique focuses on showing the following property &#xA;  (denoted $\mathcal{P}$ for later reference, by myself):&#xA;  $$\text{For all } r \in \text{Lin}(\text{H}\mid{\small\text{REP}}), \text{I}(r)&#xA;\text{ holds and } \text{A}(r) \subseteq &#xA;\text{Lin}(\text{H}\mid{\small\text{ABS}}).$$&#xA;  This condition implies that $\text{Lin}(\text{H} \mid {\small \text{ABS}})$ &#xA;  is nonempty, hence that $\text{H} \mid {\small \text{ABS}}$ is linearizable.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I don't understand:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Why is it &lt;em&gt;sufficient&lt;/em&gt; to show that $\text{A}(r) \subseteq &#xA;\text{Lin}(\text{H}\mid{\small\text{ABS}})$ (besides the &quot;invariant&quot; $\text{I}(r)$ property) &#xA;  holds for the verification purpose?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Specifically, to show the property $\mathcal{P}$, &#xA;are we showing that there &lt;strong&gt;exists&lt;/strong&gt; an $\text{I}(r)$ and an $\text{A}(r)$&#xA;such that $\mathcal{P}$ holds? &#xA;If so, why cannot we just set $\text{I}(r) = \top$ and $\text{A}(I) = \emptyset$&#xA;which trivially satisfy $\mathcal{P}$? &#xA;If not, what is the formal definition of &quot;verification&quot; here?&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;h3&gt;About examples in this paper:&lt;/h3&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Section 4.3.3: in the &lt;code&gt;queue&lt;/code&gt; example, &#xA;$\text{I}(r)$ and $\text{A}(I)$ are far from trivial.&lt;br&gt;&#xA;What are the specifications that prevent us from choosing &#xA;$\text{A}(I) = \emptyset$ in this example?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Section 4.2: to motivate their definitions of &#xA;$\text{I}(r)$ and $\text{A}(r)$, &#xA;the authors also use the &lt;code&gt;queue&lt;/code&gt; example. &#xA;At the top of page 477, it reads:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Let $r$ be the rep value after this history. &#xA;  Because $\beta$'s &lt;code&gt;Enq&lt;/code&gt; operation has returned, &#xA;  $\text{A}(r)$ &lt;strong&gt;must&lt;/strong&gt; reflect $\beta$'s &lt;code&gt;Enq&lt;/code&gt;. &#xA;  Because $\alpha$'s &lt;code&gt;Enq&lt;/code&gt; operation is still in progress, &#xA;  $\text{A}(r)$ may or may not reflect $\alpha$'s &lt;code&gt;Enq&lt;/code&gt;, &#xA;  &lt;strong&gt;depending on&lt;/strong&gt; how $\text{A}$ is defined.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;(Note that I have used $\alpha, \beta$ instead of &#xA;$A, B$ to denote the processes, to avoid symbol abuses.)&#xA;According to this argument, &#xA;I suppose that there are some constraints on the definition of $\text{A}$. &#xA;But what are they?&lt;/p&gt;&#xA;" OwnerUserId="12739" LastEditorUserId="12739" LastEditDate="2016-10-25T13:58:03.570" LastActivityDate="2016-10-25T13:58:03.570" Title="Confusions about the technique for verifying implementations of linearizable objects in [Herlihy and Wing, 1990]" Tags="&lt;pl.programming-languages&gt;&lt;dc.distributed-comp&gt;&lt;concurrency&gt;&lt;program-verification&gt;&lt;formal-methods&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33162" PostTypeId="2" ParentId="33108" CreationDate="2015-11-23T16:26:46.383" Score="0" Body="&lt;p&gt;This looks rather NP-hard (i.e., as it is obviously in NP, NP-complete) to me: &#xA;Already the case $k=1$ looks hard (and interesting!). &#xA;It asks for a large submatrix for which a vector $v$ exists such that all columns are either zero or $v$. The  subgraph induced by $A$ thus has sets $B$ and $C$ such that (1) the nodes of $B$ have no outgoing edges (in $A$) and (2) all other nodes in $A-B$ have outgoing edges exactly to $C$. &#xA;This looks like a &quot;linear combination&quot; of Clique and Independent set: $B=\emptyset, C=A$ yields a clique, $C=\emptyset,B=A$ and independent set. I do not know whether this has been studied before. &#xA;(This is rather a comment, but it was too long...)&lt;/p&gt;&#xA;" OwnerUserId="32258" LastActivityDate="2015-11-23T16:26:46.383" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33163" PostTypeId="2" ParentId="11019" CreationDate="2015-11-23T16:43:24.470" Score="7" Body="&lt;p&gt;[This answer was copied from my answer on the now-defunct theoreticalphysics stackexchange site.]&#xA;For classical expanders, the spectral definition can be expressed in terms of the second-smallest eigenvalue of the graph Laplacian, which can be thought of as the minimum of a quadratic form over all unit vectors orthogonal to the all-ones vector.  If we restrict this minimization to vectors of the form (a,a,...,a, b,b, ..b), then this yields the edge expansion of the graph.  &lt;a href=&quot;https://lucatrevisan.wordpress.com/2011/01/19/cs359g-lecture-3-cheegers-inequality/&quot;&gt;here&lt;/a&gt; is a discussion.  The rough equivalence of these two definitions is known as &lt;a href=&quot;https://en.wikipedia.org/wiki/Expander_graph#Relationships_between_different_expansion_properties&quot;&gt;Cheeger's inequality&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This suggests that for the quantum case we should consider the action of the channel (formed by applying a random unitary from the expander) on projectors.  A result analogous to Cheeger's inequality is derived in Appendix A of &lt;a href=&quot;http://arxiv.org/abs/0706.0556&quot;&gt;arXiv:0706.0556&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, while this is mathematically analogous, we do still know of many fewer applications of quantum expanders than are known for classical expanders.&lt;/p&gt;&#xA;" OwnerUserId="886" LastActivityDate="2015-11-23T16:43:24.470" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33169" PostTypeId="1" AcceptedAnswerId="33172" CreationDate="2015-11-24T07:27:52.547" Score="0" ViewCount="73" Body="&lt;p&gt;We are talking about one-round coloring algorithms for distributed graphs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In &quot;On the complexity of distributed graph coloring&quot; (theorem 5.1) Kuhn and Wattenhoffer presented a one-round &lt;strong&gt;algorithm to transform an $m$-coloring to a $q$-coloring, where $q = m(d+1)/(d+2)$&lt;/strong&gt; ($d$ is the max degree).&#xA;We can show that if $m &amp;gt;= d+2$, then $q &amp;lt;= m-1$. [Therefore the algorithm returns a smaller coloring, as long as $m &amp;gt;= d+2$]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;They mention that by applying this one-round algorithm over and over, we can &lt;strong&gt;transform an $m$-coloring to a $(d+1)$-coloring in $O(d \log(m/d))$ rounds.&lt;/strong&gt;&#xA;I don't understand how they reached this number.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I thought that the number of rounds n needed to fulfill the equation:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$m((d+1)/(d+2))^n = d+1$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Because $m$ is the starting coloring, and each round we get a lower coloring by a factor of $(d+1)/(d+2)$.&#xA;But this doesn't yield the proper result for $n$. Why is it wrong? We want to get $n = O(d\log(m/d))$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The algorithm itself isn't very complicated and I don't think will contribute to the question; basically for every color that is larger than $q$, we choose for him a color from $\{ 1,\ldots,q \}$ in a way that ensures it is a legal coloring.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Anybody has any insights about the &lt;strong&gt;number of rounds&lt;/strong&gt; needed to achieve a $(d+1)$-coloring? &lt;/p&gt;&#xA;" OwnerUserId="36493" LastEditorUserId="36493" LastEditDate="2015-11-24T09:37:59.507" LastActivityDate="2015-11-28T18:33:24.607" Title="Number of rounds of iterative one-round distributed color reduction" Tags="&lt;dc.distributed-comp&gt;&lt;graph-colouring&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33170" PostTypeId="1" CreationDate="2015-11-24T08:07:57.723" Score="3" ViewCount="169" Body="&lt;p&gt;Håstad has shown that the shrinkage exponent of boolean formulas over the De Morgan basis is 2. In other words, if one keeps each variable of the formula alive with probability $p$ and restricts it with a uniform random bit otherwise, then the resulting formula can be shrunk by a factor of roughly $p^2$ in such a way that it computes the same function. This fact can be used to prove a $\Omega(n^2)$ lower obund for the parity on $n$ bits, and a &#xA;$\Omega(n^{3-o(1)})$ lower bound for Andreev's function.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have the following questions:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;The shrinkage exponent of a formula over the full binary basis is 1 (consider for instance the parity function). Is there some relaxation of the notion of shrinkage exponent which is greater than 1 for formulas over the full binary basis? &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Has such a relaxation of the notion of shrinkage exponent been used to obtain lower bounds? &lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="36495" LastEditorUserId="36495" LastEditDate="2015-11-24T23:41:42.093" LastActivityDate="2015-11-24T23:41:42.093" Title="Shrinkage Exponent of Formulas over the Full Binary Basis" Tags="&lt;circuit-complexity&gt;&lt;boolean-formulas&gt;" AnswerCount="0" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="33171" PostTypeId="1" AcceptedAnswerId="33173" CreationDate="2015-11-24T09:20:04.427" Score="2" ViewCount="161" Body="&lt;p&gt;I am intrigued by compression techniques and I'd like some recommendations about books to study, specifically, on &lt;strong&gt;lossless&lt;/strong&gt; compression algorithms and data structures.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I don't know if there is a comprehensive book (or books) that deals with both compression of general sources (stream of bytes), and known inputs (e.g., integers, strings).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks for your references!&lt;/p&gt;&#xA;" OwnerUserId="36496" LastActivityDate="2015-11-24T11:14:08.920" Title="Lossless Compression Books" Tags="&lt;reference-request&gt;&lt;ds.data-structures&gt;&lt;books&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="33172" PostTypeId="2" ParentId="33169" CreationDate="2015-11-24T11:08:50.050" Score="0" Body="&lt;p&gt;A friend helped me, the equation I wrote was correct. I simply didn't develop the result enough to bring it to the desired form. I will post more details when I have time.&#xA;Edit: what I needed to achieve the desired result is:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$log(a/b)/log(c/d) = log(b/a)/log(d/c)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;And that we should use Taylor expansion to say $log(1+1/d+1) =~ d+1$ as 1/x+1 -&gt; 0.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If anybody needs help contact me.&lt;/p&gt;&#xA;" OwnerUserId="36493" LastEditorUserId="36493" LastEditDate="2015-11-28T18:33:24.607" LastActivityDate="2015-11-28T18:33:24.607" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33173" PostTypeId="2" ParentId="33171" CreationDate="2015-11-24T11:14:08.920" Score="1" Body="&lt;p&gt;I recommend the following books:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Khalid Sayood &quot;Introduction to DATA COMPRESSION&quot;&lt;/li&gt;&#xA;&lt;li&gt;Khalid Sayood &quot;Lossless Compression Handbook&quot;&lt;/li&gt;&#xA;&lt;li&gt;David Salomon &quot;Handbook of Data compression&quot;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;And a little more specific, but also good books in this field:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Timothy Bell &quot;Text compression&quot;&lt;/li&gt;&#xA;&lt;li&gt;Donald Adjeroh, Timothy Bell, Amar Mukherjee &quot;The Burrows-Wheeler Transform: Data Compression, Suffix Arrays, and Pattern&#xA;Matching&quot;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="21809" LastActivityDate="2015-11-24T11:14:08.920" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33174" PostTypeId="1" AcceptedAnswerId="33182" CreationDate="2015-11-24T11:35:38.807" Score="3" ViewCount="982" Body="&lt;p&gt;I have a finite automaton by the standard model Hopcroft &amp;amp; Ullman define:&#xA;$$&#xA;M = (Q, \Sigma, \delta, q_0, F)&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Where $\delta$ is the transition function mapping $Q \times \Sigma \mapsto Q$, such that $\delta(q, a)$ is a state for each state $q \in Q$, the set of all states, and input symbol $a \in \Sigma$, the alphabet. That allows for $\delta$ to map to any element of $Q$. So that's a graph, although it's not described using the usual $G = (V, E)$ notation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Without specifying any particular definition for $\delta$, I'd like to be able to write the constraint that $\delta$ may only define transitions which form a tree. How can that be expressed?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My thought is that I might say that $\delta$ must be recursive somehow (to give a tree shape), but I'm not sure how to go about that.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thank you,&lt;/p&gt;&#xA;" OwnerUserId="36497" LastEditorUserId="36497" LastEditDate="2015-11-24T16:41:37.950" LastActivityDate="2015-11-29T19:34:16.533" Title="How to constrain a finite automaton (NFA and DFA) to a tree?" Tags="&lt;graph-theory&gt;&lt;automata-theory&gt;&lt;tree&gt;&lt;dfa&gt;&lt;nfa&gt;" AnswerCount="5" CommentCount="21" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="33175" PostTypeId="2" ParentId="33174" CreationDate="2015-11-24T13:07:24.053" Score="1" Body="&lt;p&gt;Such a constraint cannot be expressed within (what is normally considered to be) a transition function for a DFA or NFA, where transitions are specified in terms of triples $(\operatorname{from-state},\operatorname{input-symbol},\operatorname{to-state})$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hence they are 'local' to the 'from' state, carrying no information about the path from prior states. Nothing can therefore prevent $\operatorname{to-state}$ pointing back to some previously-encountered state.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One possible alternative would be to use &lt;a href=&quot;https://en.wikipedia.org/wiki/Augmented_transition_network&quot; rel=&quot;nofollow&quot;&gt;augmented transition networks&lt;/a&gt;, which can:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Use registers to record prior state&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Have arbitrary guard conditions associated with transitions.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="13286" LastEditorUserId="13286" LastEditDate="2015-11-24T13:46:24.457" LastActivityDate="2015-11-24T13:46:24.457" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="33176" PostTypeId="2" ParentId="33158" CreationDate="2015-11-24T13:40:35.100" Score="1" Body="&lt;p&gt;Herlihy and Wing write on p. 477: &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;In conclusion, the rep invariant $\mathbf{I}$ must be continually satisfied and the abstraction function continually defined, not only between abstract operations, but also between rep operations implementing abstract operations. The abstraction function maps each rep value to a nonempty set of abstract values:&#xA;  $$&#xA;\mathbf{A}: \mathrm{REP} \to 2^{\mathrm{ABS}}&#xA;$$&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I am tempted to read into this that even when an abstract operation is implemented by a sequence of multiple rep operations, the rep invariant has to hold after each of those rep operations, and when it holds, then the rep value must have at least one abstract counterpart.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Many people have addressed some of the challenges posed in this paper. One of the more interesting and recent developments is  R Jagadeesan and J Riely's &lt;em&gt;Quantitative Quiescent Consistency&lt;/em&gt; [&lt;a href=&quot;http://arxiv.org/abs/1402.4043&quot; rel=&quot;nofollow&quot;&gt;http://arxiv.org/abs/1402.4043&lt;/a&gt;].&lt;/p&gt;&#xA;" OwnerUserId="3552" LastActivityDate="2015-11-24T13:40:35.100" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33177" PostTypeId="2" ParentId="33174" CreationDate="2015-11-24T14:42:31.453" Score="1" Body="&lt;p&gt;The easiest way I can think of is to define the constraint in terms of some ordering on the states.  For instance: say a $\delta$ is only valid if it respects some total ordering $&amp;lt;$ on $Q$, i.e. only relates elements $p, q \in Q$ for which $p &amp;lt; q$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As the comments point out, that does not suffice: all DAGs meet this criterion, not just trees.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So instead, associate ordered &lt;em&gt;intervals&lt;/em&gt; with states: say a $\delta$ is only valid if there exists a function $f: Q \rightarrow I\!\!N^2$ such that&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;if $\delta$ relates elements $p, q \in Q$, then $f(q)$ is in $f(p)$&lt;/li&gt;&#xA;&lt;li&gt;if $\delta$ relates elements $p, q_1$ and $p, q_2 \in Q$, then $f(q_1)$ and $f(q_2)$ are disjoint&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I believe this is only satisfied by trees or forests.&#xA;If you really want a tree, you also need to require connectedness: e.g.:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;only one element exists to which $\delta$ relates no elements&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;I should really withdraw this answer until it comes with a proof ...&lt;/em&gt;&lt;/p&gt;&#xA;" OwnerUserId="3113" LastEditorUserId="3113" LastEditDate="2015-11-29T19:34:16.533" LastActivityDate="2015-11-29T19:34:16.533" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="33180" PostTypeId="2" ParentId="33174" CreationDate="2015-11-24T19:51:09.140" Score="-1" Body="&lt;p&gt;With much help from @unautre (quelqun_dautre on freenode's ##cs):&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;There exists a total order relation on Q, where $q_0$&#xA;  (initial state of the automata) is the minimum, and&#xA;  for all x, y in Q, a in sigma, y = delta(x, a) =&gt; x &amp;lt; y&lt;br&gt;&#xA;  ($\implies$ is implication)&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Where $y = \delta(x,a)$ would be for a DFA, but would be $y \in \delta(x,a)$ for an NFA, since $\delta$ would produce a &lt;em&gt;set&lt;/em&gt; of states for any given symbol.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In maths notation:&#xA;$$&#xA;\forall x, y \in Q, \forall a \in \Sigma, y \in \delta(x, a) \implies x&#xA;&amp;lt; y&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would possibly write $q_1$ and $q_2$ for $x$ and $y$, except I think that might be confusing with respect to $q_0$, the start state.&lt;/p&gt;&#xA;" OwnerUserId="36497" LastActivityDate="2015-11-24T19:51:09.140" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33181" PostTypeId="2" ParentId="33174" CreationDate="2015-11-24T19:55:53.373" Score="1" Body="&lt;p&gt;Another idea, inspired by the pump lemma, would be to just say that there exists a maximum size N on words in the language, with N &amp;lt; |Q|. if there was a cycle, then you could repeat the cycle indefinitely and have a word of arbitrary size ; if you can't, then there's no cycle and your automata is a tree.&lt;/p&gt;&#xA;" OwnerUserId="36502" LastActivityDate="2015-11-24T19:55:53.373" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="33182" PostTypeId="2" ParentId="33174" CreationDate="2015-11-24T20:55:37.750" Score="3" Body="&lt;p&gt;I think the easiest way of enforcing tree shape is the set of conditions&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;$q_0$ is not in the image of $\delta$, &lt;/li&gt;&#xA;&lt;li&gt;$\delta$ is injective, and&lt;/li&gt;&#xA;&lt;li&gt;$M$ is connected (to avoid isolated cycles). Note that this one is global, not local, which may be unavoidable.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Then we can prove (by induction) that for any state $q$ there is a unique path from $q_0$ to $q$.&lt;/p&gt;&#xA;" OwnerUserId="5183" LastActivityDate="2015-11-24T20:55:37.750" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="33184" PostTypeId="2" ParentId="33132" CreationDate="2015-11-25T16:08:41.640" Score="3" Body="&lt;p&gt;Given $n$ non-negative integers less than $2^n$, encoded as $n^2$ input bits (and with a non-square number of input bits decoded by first padding with zeroes to reach the next square length), is there a non-empty subset whose sum is divisible by $2^n$?  This is a variation of SUBSET-SUM and has limit density $1-\frac{1}{e}$.&lt;/p&gt;&#xA;" OwnerUserId="5191" LastEditorUserId="5191" LastEditDate="2015-12-01T00:42:57.550" LastActivityDate="2015-12-01T00:42:57.550" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="33186" PostTypeId="1" CreationDate="2015-11-25T16:51:28.973" Score="3" ViewCount="104" Body="&lt;p&gt;The high level question is as follows:  Suppose some group (here assumed to be a vector space of $\mathbf{F}_2^n$) has a low-distortion embedding into $l_1$.  Under what condition does the quotient of the group by a (normal) subgroup inherit this low-distortion embedding?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Formally:&#xA;Let $G$ be a group with a Cayley graph ${\cal G} = Cay(G,S)$ for some generator set $S\subseteq G$, that can be embedded into the hypercube $\mathbf{F}_2^n$ with low-distortion, i.e. there exists $i: G \hookrightarrow \mathbf{F}_2^n$&#xA;such that for any $x,y\in V({\cal G})$,&lt;br&gt;&#xA;$\frac{1}{c} d_{\cal G}(x,y) \leq \Delta(i(x),i(y))\leq c d_{\cal G}(x,y)$,&#xA;where $\Delta(a,b)$ is the Hamming distance between $a,b\in \mathbf{F}_2^n$,&#xA;and $d_{\cal G}(x,y)$ is the length of a shortest path connecting $x,y$ in ${\cal G}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose now that $N\subseteq G$ is a (normal) subgroup of $G$.&#xA;Is there a choice of generators $S_N\subseteq G / N$, for which the quotient group $G/N$ has a low-distortion embedding into $l_1$ as well ?&lt;/p&gt;&#xA;" OwnerUserId="6238" LastEditorUserId="6238" LastEditDate="2015-11-25T17:02:08.857" LastActivityDate="2015-11-25T17:02:08.857" Title="Embedding distortion under group quotient" Tags="&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;gr.group-theory&gt;&lt;metric-spaces&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33190" PostTypeId="1" AcceptedAnswerId="33191" CreationDate="2015-11-26T07:03:41.173" Score="-3" ViewCount="91" Body="&lt;p&gt;I am going through the Fast Fourier Transform technique mentioned in the Algorithm Design Book by John Kleinberg and Eva Tardos. I have understood why we need to interpret two &lt;code&gt;n-1&lt;/code&gt; degree vectors &lt;code&gt;a&lt;/code&gt; and &lt;code&gt;b&lt;/code&gt; as polynomials &lt;code&gt;A(x)&lt;/code&gt; and &lt;code&gt;B(x)&lt;/code&gt; and use that to compute the convolution &lt;code&gt;c&lt;/code&gt; of the two vectors &lt;code&gt;a&lt;/code&gt; and &lt;code&gt;b&lt;/code&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However I am unable to understand the reason behind the next set of statements which goes this way - ... Now, rather than multiplying &lt;code&gt;A&lt;/code&gt; and &lt;code&gt;B&lt;/code&gt; symbolically, we can treat them as functions of the variable &lt;code&gt;x&lt;/code&gt; and multiply them as follows.&#xA;First we choose 2 * n values &lt;code&gt;x_1&lt;/code&gt;, &lt;code&gt;x_2&lt;/code&gt;, . . . , &lt;code&gt;x_2n&lt;/code&gt; and evaluate &lt;code&gt;A(x_j)&lt;/code&gt; and &lt;code&gt;B(x_j)&lt;/code&gt; for each of &lt;code&gt;j&lt;/code&gt; = 1, 2, . . . , 2 * n. Can someone explain why this step has been chosen? Specifically, the number 2 * n and what is preventing us from doing a symbolic multiplication of &lt;code&gt;A&lt;/code&gt; and &lt;code&gt;B&lt;/code&gt;&lt;/p&gt;&#xA;" OwnerUserId="36520" LastActivityDate="2015-11-26T07:24:58.050" Title="Choosing 2*n values while evaluating Fast Fourier Transform" Tags="&lt;ds.algorithms&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ClosedDate="2015-11-30T12:42:04.423" ContentLicense="CC BY-SA 3.0" />
  <row Id="33191" PostTypeId="2" ParentId="33190" CreationDate="2015-11-26T07:24:58.050" Score="3" Body="&lt;p&gt;Symbolic multiplication of degree $&amp;lt;n$ polynomials $A(x)$ and $B(x)$ would take $O(n^2)$ time. That may be fine, but they are giving an algorithm that takes $O(n \log n)$ time, which is better.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Instead of symbolic multiplication, they are suggesting that you evaluate the polynomials at $2n$ points, multiply those values pointwise, and then interpolate the product polynomial (i.e. compute the coefficients of $A(x)B(x)$ from the values). The reason you need $2n$ points is that $A(x)B(x)$ could have degree $2n-2$ and you need more points than the degree to interpolate.&lt;/p&gt;&#xA;" OwnerUserId="2022" LastActivityDate="2015-11-26T07:24:58.050" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33195" PostTypeId="1" AcceptedAnswerId="33206" CreationDate="2015-11-27T05:17:47.057" Score="4" ViewCount="944" Body="&lt;p&gt;Let $A$ be a heuristic algorithm for problem $Q$.&#xA;I want to evaluate the performance of my algorithm in a &#xA;specific practical environment and&#xA;compare it to other algorithms.&#xA;Is there a rigorous framework for comparison of algorithms in practice?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One method to evaluate the performance and compare it with other algorithms&#xA;is to run them on randomly generated inputs from a distribution&#xA;(based on actual inputs or a theoretical model of inputs) and&#xA;measure the average running time of the algorithms.&#xA;However I want to be able to express that one algorithm is better than other one&#xA;in stronger sense than just having better expected running time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What do people use for to express stronger conditions?&#xA;Would standard deviation be a useful for this purpose?&#xA;What is the best way to measure the confidence level of the performance? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are the any references (books/surveys/tutorials/...) on how to compare the performance of algorithms in practice?&lt;/p&gt;&#xA;" OwnerUserId="10457" LastEditorUserId="186" LastEditDate="2015-11-28T00:43:43.307" LastActivityDate="2015-11-28T02:20:13.197" Title="How to evaluate and compare the performance of algorithms in practice?" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;research-practice&gt;&lt;experimental&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="33196" PostTypeId="1" CreationDate="2015-11-27T07:31:36.907" Score="8" ViewCount="279" Body="&lt;p&gt;In &lt;a href=&quot;https://en.wikipedia.org/wiki/Geometric_complexity_theory&quot;&gt;https://en.wikipedia.org/wiki/Geometric_complexity_theory&lt;/a&gt; it is mentioned that &quot;.. Ketan Mulmuley believes the program, if viable, is likely to take about 100 years before it can settle the P vs. NP problem&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It seems to indicate that the only currently viable program could face serious obstacles.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What are some of the obstacles where the program could fail?&lt;/p&gt;&#xA;" OwnerUserId="1812" LastEditorUserId="1812" LastEditDate="2015-11-27T20:13:20.560" LastActivityDate="2015-11-28T06:48:10.077" Title="Uncertainties in GCT program" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;lower-bounds&gt;&lt;big-list&gt;&lt;big-picture&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="33197" PostTypeId="2" ParentId="33196" CreationDate="2015-11-27T07:58:59.190" Score="5" Body="&lt;p&gt;I believe the &quot;100 years&quot; statement refers that the theory is general, but requires deep understanding and new results in representation theory and algebraic geometry to progress, something that might be slow to progress (I want to make a comparison to number theory, but I am not sure how apt it is).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, there is a loss of precision when translating to the algebro-geometric world: Instead of proving a lower bound against the properties of a complexity class (i.e. polynomials that vanish when objects in that class are given as input), you are proving it against its Zariski closure (of aforementioned polynomials). It is conceivable that in order to separate the two, one has to examine the boundary of that closure (those polynomials that occur only in the closure but on the original set). It is believed that in the determinant vs permanent variant of the GCT program, this is likely the &lt;a href=&quot;http://arxiv.org/pdf/1305.7387.pdf&quot;&gt;case&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally from personal experience, the skillset required to understand GCT in depth is quite different than what is usually the focus of undergraduate or even master programs in CS, essentially picking up the prerequisites is a natural follow-up of choosing to study GCT.&lt;/p&gt;&#xA;" OwnerUserId="879" LastEditorUserId="879" LastEditDate="2015-11-27T08:01:34.577" LastActivityDate="2015-11-27T08:01:34.577" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="33199" PostTypeId="1" CreationDate="2015-11-27T15:23:46.360" Score="2" ViewCount="136" Body="&lt;p&gt;My question is straightforward: Is an empty sudoku grid (not partially completed) still NP-complete?&lt;/p&gt;&#xA;" OwnerUserId="31798" LastActivityDate="2015-11-27T15:23:46.360" Title="Empty sudoku and NP-completeness" Tags="&lt;np-hardness&gt;&lt;optimization&gt;" AnswerCount="0" CommentCount="4" ClosedDate="2015-12-01T07:29:11.500" ContentLicense="CC BY-SA 3.0" />
  <row Id="33201" PostTypeId="1" AcceptedAnswerId="33218" CreationDate="2015-11-27T17:55:07.303" Score="3" ViewCount="373" Body="&lt;p&gt;A post here &lt;a href=&quot;https://cstheory.stackexchange.com/questions/15066/consequences-of-bqp-subseteq-p-poly&quot;&gt;Consequences of $BQP \subseteq P/poly$?&lt;/a&gt; queried on Consequences of $BQP \subseteq P/poly$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is not known if $NP\subseteq BQP$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In general, what are the consequences of $NP\subseteq P/poly$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;How does $NP\subseteq P/poly$ affect $BQP$?&lt;/p&gt;&#xA;" OwnerUserId="1812" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.743" LastActivityDate="2015-11-30T03:04:35.547" Title="Consequences of $NP\subseteq P/poly$ to $BQP$" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;quantum-computing&gt;&lt;circuit-complexity&gt;&lt;big-picture&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33202" PostTypeId="1" AcceptedAnswerId="33204" CreationDate="2015-11-27T18:10:35.917" Score="15" ViewCount="3248" Body="&lt;p&gt;I am a pretty proficient software engineer, but &#xA;I don't know much theory.&#xA;I want to learn more theory.&#xA;Particular topics that I am interested in are:&#xA;computational complexity, formal languages, and type theory.&#xA;But I am at a loss as for how to begin learning about these fields.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What resources would you recommend to someone &#xA;  who wants to learn more theory through self-study?&#xA;  Are there any theoretical computer science self-study guides &#xA;  for software engineers?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="36540" LastEditorUserId="186" LastEditDate="2015-11-27T22:34:19.537" LastActivityDate="2016-07-13T07:30:25.067" Title="Theoretical computer science self-study resources for programmers" Tags="&lt;soft-question&gt;&lt;teaching&gt;&lt;books&gt;" AnswerCount="4" CommentCount="5" FavoriteCount="13" ContentLicense="CC BY-SA 3.0" />
  <row Id="33203" PostTypeId="2" ParentId="33201" CreationDate="2015-11-27T18:46:35.033" Score="9" Body="&lt;p&gt;If $\mathsf{NP} \subseteq \mathsf{P/poly}$, then $\mathsf{PH}$ collapses to $\mathsf{\Sigma_2 P}$ (Karp-Lipton), and in fact to $\mathsf{S_2 P}$ (attributed to Sengupta by &lt;a href=&quot;http://doi.ieeecomputersociety.org/10.1109/SFCS.2001.959938&quot;&gt;Cai, FOCS 2001&lt;/a&gt;), and even to $\mathsf{O_2 P}$ (&lt;a href=&quot;http://www.cs.wisc.edu/~venkat/o2.ps&quot;&gt;Chakaravarthy-Roy, STACS 2006&lt;/a&gt;). Note that one cannot go too much further than this with relativizing techniques, since already $\mathsf{S_2 P} \subseteq \mathsf{ZPP}^{\mathsf{NP}}$ (Cai, 2001, ibid), yet there are oracles where $\mathsf{NP} \subseteq \mathsf{P/poly}$ but $\mathsf{PH} \neq \mathsf{P}^{\mathsf{NP}}$ (&lt;a href=&quot;http://dx.doi.org/10.1016/S0019-9958(86)80012-2&quot;&gt;Heller, 1986&lt;/a&gt;). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Someone more knowledgable in quantum would have to answer if/how this affects $\mathsf{BQP}$.)&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2015-11-27T18:46:35.033" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33204" PostTypeId="2" ParentId="33202" CreationDate="2015-11-27T20:57:00.440" Score="8" Body="&lt;p&gt;It's a wide field with a few quite different areas.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'd start with some of the most fundamental ideas about what computers are: Hopcroft and Ullman, &quot;Introduction to Automata Theory, Languages and Computation.&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The reason I'd recommend that in particular, is their emphasis on proofs. They guide you through a rigorous way of thinking. That's the difference between writing programs and being scientific.&lt;/p&gt;&#xA;" OwnerUserId="36497" LastActivityDate="2015-11-27T20:57:00.440" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="33205" PostTypeId="2" ParentId="14526" CreationDate="2015-11-27T22:30:11.337" Score="1" Body="&lt;p&gt;Although others have pointed out the answer. I thought I may make it self-contained and show why &lt;a href=&quot;https://www.cis.upenn.edu/~mkearns/papers/teaching.pdf&quot; rel=&quot;nofollow&quot;&gt;teaching dimension&lt;/a&gt; is the answer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider a concept class $C$ over input space $X$. A set of elements $S\subseteq X$ is called a teaching set for a concept $f$ if $f$ is the only concept in $C$ consistent with $S$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $\mathcal{T}(f)$ be the set of all teaching sets for $f$ and define TD$(f,C)=min\{\ |S|\ | \ S\in \mathcal{T}(f) \}$ to be the teaching dimension of $f$. i.e., the cardinality of the smallest teaching set TS$_{min}(f)$ in $\mathcal{T}(f)$. Similarly, consider TD$(C)=$max$_{f\in C}$TD$(f,C)$ to be the teaching dimension of $C$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The minimum number of queries needed to identify $f$ is TD$(f,C)$. This happens when the query strategy uses the sequence TS$_{min}(f)$. As for any fewer queries we have at least two concepts consistent with it. And TD$(C)$ is the minimum for any $f$. &lt;/p&gt;&#xA;" OwnerUserId="17991" LastEditorUserId="17991" LastEditDate="2015-11-27T22:39:05.990" LastActivityDate="2015-11-27T22:39:05.990" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="33206" PostTypeId="2" ParentId="33195" CreationDate="2015-11-28T02:20:13.197" Score="6" Body="&lt;p&gt;I believe what you're looking for is the field of Experimental Algorithmics. There is a &lt;a href=&quot;http://www.cambridge.org/us/academic/subjects/computer-science/algorithmics-complexity-computer-algebra-and-computational-g/guide-experimental-algorithmics&quot;&gt;text by McGeoch&lt;/a&gt;, an &lt;a href=&quot;http://www.jea.acm.org/&quot;&gt;ACM Journal&lt;/a&gt;, and a &lt;a href=&quot;https://cstheory.stackexchange.com/questions/822/a-reading-list-on-experimental-algorithmics&quot;&gt;previous question&lt;/a&gt; on this site that provides a reading list for the field.&lt;/p&gt;&#xA;" OwnerUserId="7189" LastActivityDate="2015-11-28T02:20:13.197" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="33207" PostTypeId="2" ParentId="33196" CreationDate="2015-11-28T06:48:10.077" Score="11" Body="&lt;p&gt;It depends what you count as &quot;the GCT program.&quot; &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Consider the specific suggestion (&lt;a href=&quot;http://dx.doi.org/10.1137/S009753970038715X&quot;&gt;GCT I&lt;/a&gt;, &lt;a href=&quot;http://dx.doi.org/10.1137/080718115&quot;&gt;GCT II&lt;/a&gt;) to use the vanishing/nonvanishing of certain multiplicities in the orbit closures of the determinant and permanent to resolve the strong permanent versus determinant conjecture (i.e., that the permanent is not in the orbit closure of any polynomially larger determinant). In this case, it is possible that even if the conjecture is true, that this is not reflected in the vanishing/nonvanishing of multiplicities of irreps supported on these orbit closures. It is even possible that the conjecture is not reflected in the appropriate inequality of multiplicities. I should note that there are various forms of evidence that this shouldn't happen, but it has not yet been formally ruled out.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Note, however, that if instead of multiplicities you merely want a &lt;a href=&quot;http://dx.doi.org/10.1007/s00037-015-0103-x&quot;&gt;separating module&lt;/a&gt;, then the strong perm v det conjecture is true &lt;em&gt;if and only if&lt;/em&gt; there exists a separating module.&lt;/p&gt;&#xA;&#xA;&lt;ol start=&quot;2&quot;&gt;&#xA;&lt;li&gt;&lt;p&gt;If your goal is the original permanent versus determinant conjecture, there is an earlier step in GCT, namely (as pointed out by chazisop) moving to the strong perm v det conjecture by considering the orbit &lt;em&gt;closures&lt;/em&gt;. It is conceivable that the original permanent versus determinant conjecture is true but the strong version is false. However, this seems &lt;em&gt;highly&lt;/em&gt; unlikely to me. Also, if this is the situation, then &lt;a href=&quot;http://dx.doi.org/10.1007/s00037-015-0103-x&quot;&gt;&lt;em&gt;none&lt;/em&gt; of our current methods&lt;/a&gt; can even come close to resolving the perm v det conjecture, since they all currently work for the &quot;strong&quot;/&quot;approximative&quot;/&quot;border-&quot;/Zariski-closed version of whatever algebraic complexity statement they are proving.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;If your goal is not perm v det but Boolean $\mathsf{NP} \not\subseteq \mathsf{P/poly}$, there are additional claimed steps in GCT that have yet to be published. It is possible that one of these unpublished steps could fail as well, but obviously it is hard to comment on the details of mathematics one hasn't seen...&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;[Potential failures of lower bounds in general, not specific to GCT.] GCT is currently aimed at nonuniform lower bounds; that is, even in the GCT approach to Boolean lower bounds, it is aimed at showing $\mathsf{NP} \not\subseteq \mathsf{P/poly}$. But of course, it is consistent with current theorems that $\mathsf{P} \neq \mathsf{NP}$ yet $\mathsf{NP} \subseteq \mathsf{P/poly}$. Of course, it's also technically possible that $\mathsf{P} = \mathsf{NP}$ and the perm v det conjecture is false!&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;However, let me point out that the GCT program as it currently exists still seems to me like the &lt;strong&gt;first thing to try&lt;/strong&gt;. If it turns out that any one of (1)-(3) above actually doesn't work, it will mean that the perm v det conjecture (and hence, $\mathsf{P}$ versus $\mathsf{NP}$) is almost &lt;strong&gt;unimaginably harder&lt;/strong&gt; than we currently think it is. (It may be worth noting that this statement is coming from someone who already thinks that the following analogy may be roughly correct, if not inadequate: $\mathsf{P} \neq \mathsf{NP}$ is to our current state of knowledge as the &lt;a href=&quot;https://en.wikipedia.org/wiki/Classification_of_finite_simple_groups&quot;&gt;Classification of Finite Simple Groups&lt;/a&gt; is to &lt;a href=&quot;https://en.wikipedia.org/wiki/Fermat%27s_little_theorem&quot;&gt;Fermat's Little Theorem&lt;/a&gt;). And even if that is the case, &lt;strong&gt;understanding the exact way in which the failure occurs will likely be important to making further progress&lt;/strong&gt;.&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2015-11-28T06:48:10.077" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="33211" PostTypeId="2" ParentId="33202" CreationDate="2015-11-28T14:38:57.227" Score="9" Body="&lt;p&gt;There are several ways to learn about type theory. For a working programmer, &#xA;   &lt;a href=&quot;https://www.cis.upenn.edu/~bcpierce/tapl/&quot;&gt;Types and Programming Languages&lt;/a&gt; by B. Pierce is a good start.&#xA;&lt;a href=&quot;https://www.cs.cmu.edu/~rwh/plbook/2nded.pdf&quot;&gt;Practical Foundations for Programming Languages&lt;/a&gt; by R. Harper might also be good. If you want a bit of easy to read background on operational semantics, &#xA;I recommend G. Winskel's, &lt;a href=&quot;https://mitpress.mit.edu/books/formal-semantics-programming-languages&quot;&gt;The Formal Semantics of Programming Languages: An Introduction&lt;/a&gt;. With T. Nipkow, G. Klein, &lt;a href=&quot;http://www.concrete-semantics.org/&quot;&gt;Concrete Semantics&lt;/a&gt;, a variant of Winskel's book has been formalised for the Isabelle/HOL interactive proof assistant. I suspect it's really difficult to get to grips with a prover just from this (or any) book, you'd want an expert nearby to ask questions.&#xA;If you want a more mathematical approach to type-theory, you could look at&#xA;J. R. Hindley, J. P. Seldin, &lt;a href=&quot;http://ebooks.cambridge.org/ebook.jsf?bid=CBO9780511809835&quot;&gt;Lambda-Calculus and Combinators: An Introduction&lt;/a&gt;, or&#xA;H. Barendregt's, &lt;a href=&quot;http://ttic.uchicago.edu/~dreyer/course/papers/barendregt.pdf&quot;&gt;Lambda Calculi with Types&lt;/a&gt;. Although I wouldn't recommend starting from Barendregt.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you want a single recommendation, I'd say read all of Pierce except Part VI (Higher-Order Systems), and implement the toy languages the book discusses. You'll end up with a strong grounding in type theory, and probably a better programmer too.&lt;/p&gt;&#xA;" OwnerUserId="898" LastEditorUserId="898" LastEditDate="2015-11-28T14:50:41.980" LastActivityDate="2015-11-28T14:50:41.980" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33215" PostTypeId="2" ParentId="33202" CreationDate="2015-11-29T18:22:49.400" Score="1" Body="&lt;p&gt;I am big fan of Theory and Algorithms. I had once an opportunity to visit Theoretical Computer Science at Indian Institute of Technology, Madras (IIT-M), India. I have got a know about a lot theoreticians there at IIT-M. When I went there I didn't have any idea about what Theory was, but today I am total love with it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks to @Kate F for the pointer, yes Hopcroft and Ullman is an excellent place to start.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However here is how I have started,&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Read the Introduction to Algorithms by Cormen.&amp;lt;\br&gt;&#xA;This is an excellent place to start. When you study try to understand each proof in as much length as possible. If you understand the proof well, try to code the same logic in any language of your choice. (It takes a bit longer but its worth a try)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Follow the top conferences in Theory like &lt;br/&gt;FOCS &lt;br/&gt;SODA &lt;br/&gt;STOC &lt;br/&gt;&#xA;EC (Electronic Commerce) -- Algorithmic Game Theory &lt;br/&gt;&#xA;COLT (Conference on Learning Theory) -- Learning Theory &lt;br/&gt;&#xA;CRYPTO -- Cryptography &lt;br/&gt;&#xA;SOCG (Symposium on Computational Geometry) -- Computational Geometry &lt;br/&gt;&#xA;CCC (Conference on Computational Complexity) -- Complexity Theory &lt;br/&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Even if you don't understand much try to read and &lt;strong&gt;THINK&lt;/strong&gt; as much as possible.&#xA;You have to do as much proofs as possible..&lt;/p&gt;&#xA;&#xA;&lt;ol start=&quot;3&quot;&gt;&#xA;&lt;li&gt;This is a wonder place to look at if you are thinking of Computational complexity in particular (&lt;a href=&quot;http://plato.stanford.edu/entries/computational-complexity/&quot; rel=&quot;nofollow&quot;&gt;This is from Stanford&lt;/a&gt;). &lt;/li&gt;&#xA;&lt;li&gt;Follow Prof. Sanjeev Arora, Boaz Barak, Jelani Nelson, Madhu Sudan &lt;/li&gt;&#xA;&lt;li&gt;Here is a set of synthesized information in the field of &lt;a href=&quot;http://www.cs.berkeley.edu/~luca/notes/complexitynotes02.pdf&quot; rel=&quot;nofollow&quot;&gt;Computational Complexity&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="27170" LastEditorUserId="27170" LastEditDate="2015-11-29T18:34:14.450" LastActivityDate="2015-11-29T18:34:14.450" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33216" PostTypeId="1" AcceptedAnswerId="33226" CreationDate="2015-11-29T21:09:01.187" Score="8" ViewCount="1019" Body="&lt;p&gt;Define $G(n, p)$ as a random &lt;strong&gt;directed&lt;/strong&gt; graph ($n$ vertices; we put edge between two vertices with probability $p$). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;What are the known results for the following problem: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Fix two vertices $v$ and $u$. What is the probability that there is at least a path (of length at most $k$) between $u$ and $v$?  (clearly the result should be a function of $n$, $p$ and $k$). Upper-bound would work too, if there is no known exact answer. &lt;/p&gt;&#xA;" OwnerUserId="15645" LastEditorUserId="15645" LastEditDate="2015-11-30T02:10:14.443" LastActivityDate="2015-12-03T22:15:46.140" Title="Probability of two vertices being connected by some path in a random directed graph" Tags="&lt;graph-theory&gt;&lt;upper-bounds&gt;&lt;random-walks&gt;&lt;random-graphs&gt;" AnswerCount="1" CommentCount="7" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33218" PostTypeId="2" ParentId="33201" CreationDate="2015-11-30T03:04:35.547" Score="10" Body="&lt;p&gt;I'm not aware of any direct consequence of $NP\subset P/poly$ for $BQP$.  Of course it might lessen the interest in quantum computing, since it would mean that we could do something far more impressive with just good old classical nonuniformity than we could with quantum mechanics.  And it would imply $NP\subset BQP/poly$. :-)  OK, it would also weaken the arguments that BosonSampling, and other quantum sampling tasks of that kind, are classically hard.  For those arguments involve showing that if the sampling tasks can be done in classical polynomial time, then $PH$ collapses to the second or third level (along with several other strange things, like $P^{\#P}=BPP^{NP}$).  But if $NP\subset P/poly$, then $PH$ collapses anyway.&lt;/p&gt;&#xA;" OwnerUserId="1575" LastActivityDate="2015-11-30T03:04:35.547" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33222" PostTypeId="1" AcceptedAnswerId="33235" CreationDate="2015-11-30T15:11:43.783" Score="2" ViewCount="209" Body="&lt;p&gt;Let $\tilde{\mathbb{E}}$ be a degree-$r$ pseudo-distribution. If $\tilde{\mathbb{E}}P^2 = 0$, how to prove that $\tilde{\mathbb{E}}PQ=0$ for all polynomials $Q$ such that $\mathrm{deg}(PQ)\le r$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We can prove the case $\mathrm{deg}(PQ) &amp;lt; r$ by induction, but it fails when $\mathrm{deg}(PQ) = r$.&lt;/p&gt;&#xA;" OwnerUserId="20096" LastEditorUserId="20096" LastEditDate="2015-12-01T09:17:30.333" LastActivityDate="2015-12-01T20:23:17.700" Title="How to prove $\tilde{\mathbb{E}}PQ=0$ when $\tilde{\mathbb{E}}P^2 = 0$?" Tags="&lt;sum-of-squares&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33223" PostTypeId="1" AcceptedAnswerId="33264" CreationDate="2015-11-30T15:42:45.200" Score="2" ViewCount="623" Body="&lt;p&gt;Suppose I have a collection $A$ that I want to partition into equivalence classes, according to some equivalence predicate $E$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The naive algorithm for doing this is essentially recursive.  It consists of picking an arbitrary item $x$ of $A$, using it to &quot;seed&quot; its equivalence class $[x]$, and filling $[x]$ out by iterating over the remaining items $y$ of $A$, adding $y$ to $[x]$ iff $E(x, y)$ is true.  Then this base procedure is repeated recursively on the subcollection $A^\prime$ of $A$ consisting of all the items of $A$ that were not assigned to $[x]$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would like to know&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;the technical name for this generic problem; and&lt;/li&gt;&#xA;&lt;li&gt;whether it is possible to do better performance-wise than the naive algorithm described above.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="3529" LastEditorUserId="3529" LastEditDate="2015-12-07T14:51:31.697" LastActivityDate="2015-12-07T14:51:31.697" Title="On partitioning a collection into equivalence classes" Tags="&lt;ds.algorithms&gt;&lt;terminology&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33225" PostTypeId="2" ParentId="33132" CreationDate="2015-11-30T17:25:20.120" Score="8" Body="&lt;p&gt;Comment =&gt; Answer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/0012365X76900686&quot; rel=&quot;nofollow&quot; title=&quot;Hamiltonian circuits in random graphs&quot;&gt;this paper&lt;/a&gt;, Posa shows that for some constant $c$, a graph chosen from the Erdos-Renyi random graph distribution $G(n, c \log n / n)$ has a Hamiltonian cycle with probability approaching $1$ as $n \rightarrow \infty$. If we encode the input to the Hamiltonian Cycle problem as simply a bit-string representing its adjacency matrix, the uniform distribution over $n$-vertex inputs would be exactly the $G(n,1/2)$ distribution (with some irrelevant self loops) -- much more dense than what's needed. Since the existence of a Hamiltonian cycle is a monotone property, the conclusion that the vast majority of graphs have a Hamiltonian cycle follows.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Possible approach to new question&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My guess is that you get exactly that for the question of &quot;does there exist a Hamiltonian cycle where $u$ is a neighbor of $v$&quot;. I'm not going to fully justify everything, but the reasoning may go roughly as follows. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Claim&lt;/strong&gt;: For $G \sim G(n,1/2)$ and $u$ and $v$ designated uniformly at random, there is a Hamiltonian path starting at $v$ and ending at $u$ with at least some constant probability.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Take a random Hamiltonian cycle (many of which will exist with overwhelming probability in $G(n,p)$). We show how to transform this, with at least constant probability of success, into a Hamiltonian Path with endpoints $u$ and $v$. For simplicity, we ignore (immediately fail on) the $o(1)$ fraction of cases in which $u$ and $v$ are a distance less than $4$ apart (thus, their neighborhoods are disjoint and not adjacent in the cycle). An intuitive guess is that the two neighbors of $v$ in this cycle should have an edge with constant probability (close to $1/2$), as should $v$ to one or both of the neighbors of $u$ (probability close to $3/4$). If all this happens (probability close to $3/8$), there is a Hamiltonian Path starting at $v$, heading to a neighbor of $u$, continuing along the original Hamiltonian path in the direction away from $u$ (skipping over $v$ once we get to that point), and finally ending at $u$. $\square$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thus, with some constant probability $c$, there should be a Hamiltonian path starting at $v$ and ending at $u$. The chance that they're adjacent is $1/2$, so with probability $c/2 = \Omega(1)$, there is a Hamiltonian cycle in which $u$ is a neighbor of $v$. Conversely, with probability at least $1/2$ the vertices $u$ and $v$ are not adjacent, so there can't possibly be a Hamiltonian cycle with $u$ and $v$ as neighbors. The conclusion follows.&lt;/p&gt;&#xA;" OwnerUserId="3532" LastEditorUserId="3532" LastEditDate="2015-12-01T07:30:00.327" LastActivityDate="2015-12-01T07:30:00.327" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="33226" PostTypeId="2" ParentId="33216" CreationDate="2015-11-30T22:25:40.163" Score="3" Body="&lt;p&gt;Consider a BFS exploration process, which proceeds in $k$ stages. Put $V_0 = \{u\}$. Given $V_0,\ldots,V_i$, explore all edges from $V_i$ to $V \setminus \bigcup_{j=0}^i V_j$ (where $V$ is the set of all vertices), and set $V_{i+1}$ to consist of all vertices reached in this fashion; their number has a binomial distribution which can easily be calculated. After $k$ steps, check whether the vertex $v$ belongs to $\bigcup_{j=0}^k V_j$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that this process is exactly the same in both the undirected and the directed case. Hence the answer, whatever it is, is identical for both models. Presumably in the undirected case the answer is known and can be looked up. Otherwise you can try to estimate it by estimating the sizes $|V_i|$ and so the probability $\frac{1}{n-1} \sum_{i=1}^k |V_i|$ that $v$ belongs to $\bigcup_{i=1}^k V_i$.&lt;/p&gt;&#xA;" OwnerUserId="40" LastActivityDate="2015-11-30T22:25:40.163" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="33227" PostTypeId="2" ParentId="30608" CreationDate="2015-11-30T23:21:45.450" Score="3" Body="&lt;p&gt;You can also transform the ATSP to TSP; the process requires doubling number of nodes (adding dummy cities).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/0167637783900482&quot; rel=&quot;nofollow&quot;&gt;http://www.sciencedirect.com/science/article/pii/0167637783900482&lt;/a&gt;&#xA;&lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/0167637786900817&quot; rel=&quot;nofollow&quot;&gt;http://www.sciencedirect.com/science/article/pii/0167637786900817&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="36574" LastActivityDate="2015-11-30T23:21:45.450" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33228" PostTypeId="1" AcceptedAnswerId="33229" CreationDate="2015-12-01T02:10:39.167" Score="1" ViewCount="124" Body="&lt;p&gt;I am reading this paper on linear stochastic bandits : &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://papers.nips.cc/paper/4417-improved-algorithms-for-linear-stochastic-bandits.pdf&quot; rel=&quot;nofollow&quot;&gt;http://papers.nips.cc/paper/4417-improved-algorithms-for-linear-stochastic-bandits.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;All the results are stated in a high-probability setting, that is $\delta$ is a parameter to the algorithm , the regret at time $T$ is such that ,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;\begin{align*}&#xA;\mathbb{P}(R_T &amp;gt; f(T) ) \geq 1 - \delta&#xA;\end{align*}&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there any resource where the bounds are obtained in the form $\mathbb{E}[R_T] \leq f(T) $ ? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Trivially replacing $\delta = \frac{1}{T}$, does not give an anytime algorithm, that is the bounds don't hold for all $t &amp;gt; 0$.  &lt;/p&gt;&#xA;" OwnerUserId="32257" LastEditorUserId="123" LastEditDate="2015-12-02T22:24:30.353" LastActivityDate="2015-12-02T22:24:30.353" Title="Average Regret Bounds for Linear Stochastic Bandits" Tags="&lt;pr.probability&gt;&lt;lg.learning&gt;&lt;online-learning&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33229" PostTypeId="2" ParentId="33228" CreationDate="2015-12-01T02:35:37.827" Score="3" Body="&lt;p&gt;Using the &quot;&lt;a href=&quot;https://books.google.com/books?id=i8hQhp1a62UC&amp;amp;pg=766&quot; rel=&quot;nofollow&quot;&gt;doubling trick&lt;/a&gt;,&quot; you can turn your favorite high probability algorithm (e.g. &lt;a href=&quot;http://www.research.rutgers.edu/~lihong/pub/Li10Contextual.pdf&quot; rel=&quot;nofollow&quot;&gt;LinUCB&lt;/a&gt;) to be an anytime algorithm with expected regret as a function of $T$, usually giving a $\tilde{O}(\sqrt{T})$ dependence without knowing $T$ in advance.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This turns out to be tight, i.e. in &lt;a href=&quot;http://www.levreyzin.com/papers/ChuLRS11.pdf&quot; rel=&quot;nofollow&quot;&gt;Chu et al. (2011)&lt;/a&gt;, we give lower bounds on expected regret of $\Theta(\sqrt{dT})$ for the $d$-dimensional linear stochastic bandit problem.  Hence, the expected regret, in the worst case, will indeed still be a function of $T$.&lt;/p&gt;&#xA;" OwnerUserId="123" LastEditorUserId="123" LastEditDate="2015-12-01T05:00:00.267" LastActivityDate="2015-12-01T05:00:00.267" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="33230" PostTypeId="2" ParentId="12173" CreationDate="2015-12-01T03:48:54.830" Score="4" Body="&lt;p&gt;Finding a bit of $A^N[s,t]$ where $A$ is the adjacency matrix of the given graph reduces to the problem $\mathsf{BitSLP}$ defined first in&lt;a href=&quot;http://ftp.cs.rutgers.edu/pub/allender/slp.pdf&quot; rel=&quot;nofollow&quot;&gt; [ABKPM]&lt;/a&gt; which has a $\#\mathsf{P}$ lower bound established in the same paper. However whether the reduction in the reverse direction holds, i.e. from $\mathsf{BitSLP}$ to the matrix powering problem, is open AFAIK.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Notice that $\mathsf{BitSLP}$ sits squarely inside the counting hierarchy $\mathsf{CH} \subseteq \mathsf{PSPACE}$. The best known upper bound on this problem viz. $\mathsf{PH}^{\mathsf{PP}^{\mathsf{PP}^{\mathsf{PP}}}}$ is from &lt;a href=&quot;http://eccc.hpi-web.de/report/2013/177/&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="214" LastEditorUserId="214" LastEditDate="2016-10-30T04:46:39.670" LastActivityDate="2016-10-30T04:46:39.670" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33232" PostTypeId="1" CreationDate="2015-12-01T15:33:32.217" Score="1" ViewCount="845" Body="&lt;p&gt;This maybe is either a question out of place or it is a very elementary one. I wonder what kind of optimization problems can be solved by Binary Search. Looking around some coding competitions, there are a bunch of 'optimization' problems (find the minimal/maximal of ... such that ...) that can be solved by Binary Search, sometimes very easily. Is there any theory that tell us what kind of optimization problems can be solved by that algorithm?, or maybe, are all optimization problems solvable by Binary Search (theoretically)?.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks,&#xA;Mario.&lt;/p&gt;&#xA;" OwnerUserId="35850" LastActivityDate="2015-12-01T15:33:32.217" Title="Binary Search for optimisation problems" Tags="&lt;optimization&gt;&lt;binary-trees&gt;" AnswerCount="0" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33233" PostTypeId="2" ParentId="6665" CreationDate="2015-12-01T17:47:57.980" Score="1" Body="&lt;p&gt;As observed in Aaron Roth's answer, what you're describing does indeed appear to be PLS.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In such cases, there are many, many alternative approaches under the heading of `metaheuristics'. A great introduction to the topic is &lt;a href=&quot;https://cs.gmu.edu/~sean/book/metaheuristics/&quot; rel=&quot;nofollow&quot;&gt;&quot;Essentials of Metaheuristics&quot;&lt;/a&gt; by Sean Luke, but basically this includes techniques like simulated annealing, tabu search, genetic algorithms, particle swarm optimization etc.&lt;/p&gt;&#xA;" OwnerUserId="13286" LastActivityDate="2015-12-01T17:47:57.980" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33235" PostTypeId="2" ParentId="33222" CreationDate="2015-12-01T20:23:17.700" Score="6" Body="&lt;p&gt;That implication is not actually true.&#xA;Consider $P$, $Q$, and the pseudodistribution given by:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$P = x, \quad Q = x^3,$$&#xA;$$r = 4,$$&#xA;$$\mathbb{\tilde E} 1 = 1, \quad \mathbb{\tilde E} x = 0,$$&#xA;$$\mathbb{\tilde E} x^2 = 0, \quad \mathbb{\tilde E} x^3 = 0,$$&#xA;$$\mathbb{\tilde E} x^4 = 1$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then $\mathbb{\tilde E}P^2 = 0$ but $\mathbb{\tilde E} PQ = 1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is a valid degree-4 pseudodistribution since its moment matrix is positive-semidefinite.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$ \left[\begin{array}{ccc} \mathbb{\tilde E}1 &amp;amp; \mathbb{\tilde E}x &amp;amp; \mathbb{\tilde E}x^2 \\ \mathbb{\tilde E}x &amp;amp; \mathbb{\tilde E}x^2 &amp;amp; \mathbb{\tilde E}x^3 \\ \mathbb{\tilde E}x^2 &amp;amp; \mathbb{\tilde E}x^3 &amp;amp; \mathbb{\tilde E}x^4 \\\end{array}\right] = \left[\begin{array}{ccc} 1 &amp;amp; 0 &amp;amp; 0 \\ 0 &amp;amp; 0 &amp;amp; 0  \\ 0 &amp;amp; 0 &amp;amp; 1 \\\end{array}\right] $$&lt;/p&gt;&#xA;" OwnerUserId="21764" LastActivityDate="2015-12-01T20:23:17.700" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33236" PostTypeId="2" ParentId="33132" CreationDate="2015-12-02T02:44:47.880" Score="3" Body="&lt;p&gt;If I've understood your question correctly, this relates closely to phase transitions of NP-Complete problems and determining where the transition point is.  If you're not familiar, the idea is to take an ensemble of NP-Complete instances and choose random instances based on a parameter.  Tuning that parameter will land you in the 'easy', 'hard' or 'middle' region, where 'easy' means the probability of solution is almost surely 1, 'hard' means the probability of a solution is almost surely 0 and the transition point is somewhere in the middle.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, choosing the ensemble of Erdos-Renyi random graphs with the average degree as a parameter for the Hamiltonian path problem.  Low degree leads to almost surely no Hamiltonian cycles whereas high degree yields a Hamiltonian cycle almost surely.  When increasing the average degree (somewhere around 2, say), there is a rapid transition, the so called phase transition, from almost surely no solution existing to a cycle almost surely being present.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A good introduction is the article by Brian Hayes &lt;a href=&quot;http://www.americanscientist.org/issues/pub/the-easiest-hard-problem&quot; rel=&quot;nofollow&quot;&gt;&quot;The Easiest Hard Problem&quot;&lt;/a&gt; and Cheesman et all's &lt;a href=&quot;http://www.dcs.gla.ac.uk/~pat/cpM/papers/cheeseman91where.pdf&quot; rel=&quot;nofollow&quot;&gt;&quot;Where the &lt;em&gt;Really&lt;/em&gt; Hard Problems Are&quot;&lt;/a&gt;.  Searching for &quot;NP-Complete phase transitions&quot; should give you plenty of material.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The common folklore is that &quot;hard&quot; problems, that is, problems that are difficult to solve, happen right in the middle of the transition point, where you'd expect maybe something like probability $\frac{1}{2}$ of finding a solution.  This intuition turns out to be wrong and there should be a distinction between the &lt;strong&gt;probability&lt;/strong&gt; of finding a solution and the &lt;strong&gt;difficulty&lt;/strong&gt; of finding a solution.  For example, for Hamiltonian cycles in Erdos-Renyi random graphs, there's provably almost sure polynomial times to determine whether a graph is Hamiltonian or not, even precisely in the middle of the transition point.  This doesn't mean random graphs are easy, it just means that a particular distribution (the Erdos-Renyi distribution for random graphs, say) is easy and that another should be chosen (maybe on graphs whose vertex degrees are power law degree distributed, say) if intrinsically difficult instances are desired.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To me, choosing random instances of NP-Complete problems is &quot;natural&quot; in the sense you use above.  I think it's accepted at this point that all NP-Complete problems have a phase transition (on some &quot;natural&quot; parametrization of an ensemble).  Once you have an ensemble to choose from and you believe a phase transitions exists, you can tune the parameter to wherever on the curve you like to find the desired proportion of solvable instances you want.&lt;/p&gt;&#xA;" OwnerUserId="834" LastActivityDate="2015-12-02T02:44:47.880" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33238" PostTypeId="1" CreationDate="2015-12-02T09:33:18.143" Score="1" ViewCount="239" Body="&lt;p&gt;The Quadratic Assignment Problem formulated as an integer program:&#xA;\begin{align} &#xA;	\mbox{minimize}\quad &amp;amp; \sum_{i=1}^n\sum_{j=1}^nc_{ij} x_{ij} + \sum_{i=1}^n\sum_{j=1}^n\sum_{k=1}^n\sum_{l=1}^n c_{ijkl}x_{ij}x_{kl}\\ &#xA;	\mbox{subject to}\quad &amp;amp;\sum_{i=1}^n x_{ij} = 1 \quad \forall j=1,\ldots,n,\\ &#xA;&amp;amp;\sum_{j=1}^n x_{ij} = 1 \quad \forall i=1,\ldots,n,\\ &#xA;	&amp;amp;x_{ij}\in\{0,1\}\quad \forall i,j=1,\ldots,n. &#xA;	\end{align}&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A simple and natural linearization:&#xA;\begin{align} &#xA;	\mbox{minimize}\quad &amp;amp; \sum_{i=1}^n\sum_{j=1}^nc_{ij} x_{ij} + \sum_{i=1}^n\sum_{j=1}^n\sum_{k=1}^n\sum_{l=1}^n c_{ijkl}y_{ijkl}\\ &#xA;	\mbox{subject to}\quad &amp;amp;\sum_{i=1}^n x_{ij} = 1 \quad \forall j=1,\ldots,n,\\ &#xA;&amp;amp;\sum_{j=1}^n x_{ij} = 1 \quad \forall i=1,\ldots,n,\\ &#xA;&amp;amp; y_{ijkl} \le x_{ij} \quad \forall i,j,k,l=1,\ldots,n,\\&#xA;&amp;amp; x_{ij} + x_{kl} \le 1+y_{ijkl} \quad \forall i,j,k,l=1,\ldots,n,\\&#xA;&amp;amp; y_{ijkl} = y_{klij} \quad \forall i,j,k,l=1,\ldots,n,\\&#xA;&amp;amp;x_{ij},y_{ijkl}\in\{0,1\}\quad \forall i,j,k,l=1,\ldots,n. &#xA;	\end{align}&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is: &lt;strong&gt;Has this linearization already been considered in the literature?&lt;/strong&gt;&#xA;I did not see it in any papers (&lt;a href=&quot;http://www.opt.math.tu-graz.ac.at/~cela/papers/qap_bericht.pdf&quot; rel=&quot;nofollow&quot;&gt;this one&lt;/a&gt; for example).&lt;/p&gt;&#xA;" OwnerUserId="21840" LastActivityDate="2016-01-03T10:59:16.930" Title="On a Linearization of the Quadratic Assignment Problem" Tags="&lt;optimization&gt;&lt;linear-programming&gt;&lt;integer-programming&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33240" PostTypeId="1" AcceptedAnswerId="33250" CreationDate="2015-12-02T16:46:04.403" Score="11" ViewCount="344" Body="&lt;p&gt;We are not able to settle the (non-)existence of a polynomial kernel for a parameterized combinatorial NP-complete problem (we also tried to apply some recent lower bound techniques to prove the non-existence of a polynomial kernel under reasonable complexity-theoretic assumptions). So we are searching for major open problems that could be used in a parameter-preserving reduction to &amp;quot;underline its hardness&amp;quot;.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;What are major parameterized NP-complete problems for which it is unknown if they have a polynomial kernel ? Is there a survey/technical report on the subject?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;An example could be ODD CYCLE TRANSVERSAL (OCT), the task of making an undirected graph bipartite by deleting as few vertices as possible, parameterized by the number of allowed vertex deletions (though Stefan Kratsch and Magnus Wahlström recently &lt;a href=&quot;http://arxiv.org/abs/1107.3068&quot; rel=&quot;nofollow noreferrer&quot;&gt;showed a randomized polynomial kernel for OCT&lt;/a&gt;)&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="42498" LastEditDate="2020-10-13T12:42:41.193" LastActivityDate="2020-10-13T20:52:07.883" Title="Major open problems on polynomial kernel (non) existence" Tags="&lt;reference-request&gt;&lt;big-list&gt;&lt;parameterized-complexity&gt;&lt;kernelization&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="3" ContentLicense="CC BY-SA 4.0" />
  <row Id="33241" PostTypeId="1" AcceptedAnswerId="33247" CreationDate="2015-12-02T17:51:34.457" Score="9" ViewCount="359" Body="&lt;p&gt;Brzozowski's algorithm for converting a DFA into an equivalent minimum-state DFA is remarkably simple: if $R(D)$ denotes the NFA formed by reversing all the edges in a DFA $D$, making the old start state an accepting state, and making the old accepting states start states, and if $P(N)$ denotes the result of applying the subset construction to the NFA $N$, then $$P(R(P(R(D))))$$ is a minimum-state DFA with the same language as $D$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We can think of a DFA as a computational device that accepts an input string $w$ and then outputs 0 if $w$ ends in a rejecting state and 1 if $w$ ends in an accepting state. A natural generalization of DFAs associated each state in the DFA with some natural number between 0 and $k-1$, inclusive.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To the best of my knowledge, it's possible to minimize these modified classes of DFAs by using a distinguishability-based minimization algorithm, such as the canonical one by Hopcroft. However, I can't see how it would be possible to adapt Brzozowski's minimization algorithm to this new class of automata because the key step (reversing the automaton) no longer has a clear interpretation in this generalized setting.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a known generalization of Brzozowski's algorithm for minimizing these sorts of automata? If not, are there any theoretical reasons why we'd expect that such a modified algorithm wouldn't exist?&lt;/p&gt;&#xA;" OwnerUserId="4354" LastActivityDate="2015-12-03T11:54:28.520" Title="Generalizing Brzozowski's DFA minimization algorithm to finite automata with different classes of accepting states?" Tags="&lt;automata-theory&gt;&lt;minimization&gt;" AnswerCount="2" CommentCount="3" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="33242" PostTypeId="1" CreationDate="2015-12-02T19:09:58.393" Score="5" ViewCount="502" Body="&lt;p&gt;In the question, &lt;a href=&quot;https://cstheory.stackexchange.com/questions/200&quot;&gt;Translating SAT to HornSAT&lt;/a&gt;, Martin Seymour gives &lt;a href=&quot;https://cstheory.stackexchange.com/questions/200/27517#27517&quot;&gt;a method due to Joshua Grochow&lt;/a&gt;.  It transforms 2-SAT into Horn-SAT, by creating a variable for every possible 2-SAT clause.  Then, if a clause (or new variable) follows from two other clauses (variables) from &quot;a single resolution step&quot;, it adds this implication to the formula.  Finally, the unit clauses are added, along with a clause signifying not empty.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can someone please explain, in detail, why we add clauses from &quot;single resolution steps&quot;?  Am I correct in assuming that this means a single resolution step from unit propagation?  Also, and perhaps most importantly, can someone prove that this method works?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Essentially, I'd like to know everything I can to ensure that I can implement this method, and also prove that it works.  I'm also wondering if perhaps this method can be found in the literature somewhere.&lt;/p&gt;&#xA;" OwnerUserId="1549" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2015-12-03T10:54:53.483" Title="Can we confirm that 2-SAT can indeed be transformed into Horn-SAT in this manner?" Tags="&lt;reference-request&gt;&lt;sat&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="33243" PostTypeId="1" CreationDate="2015-12-03T06:22:40.837" Score="4" ViewCount="514" Body="&lt;p&gt;Lynch's &lt;a href=&quot;https://books.google.com/books?id=2wsrLg-xBGgC&quot; rel=&quot;nofollow&quot;&gt;Distributed Algorithms&lt;/a&gt; book is a classic but it is from 1996 and rather out of date. Are there any recent distributed computing books that can be used as textbooks for a graduate distributed computing and algorithms course?&lt;/p&gt;&#xA;" OwnerUserId="14197" LastEditorUserId="14197" LastEditDate="2015-12-03T12:49:10.530" LastActivityDate="2018-11-07T21:19:41.423" Title="Modern distributed computing book" Tags="&lt;dc.distributed-comp&gt;&lt;dc.parallel-comp&gt;&lt;message-passing&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="33244" PostTypeId="2" ParentId="182" CreationDate="2015-12-03T08:36:54.100" Score="5" Body="&lt;p&gt;We address this question in a new preprint:&#xA;&lt;a href=&quot;http://arxiv.org/abs/1512.00481&quot; rel=&quot;noreferrer&quot;&gt;http://arxiv.org/abs/1512.00481&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hitting Set in hypergraphs of low VC-dimension (Karl Bringmann, László Kozma, Shay Moran, N.S. Narayanaswamy). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It turns out that Hitting Set is W[1]-hard already when the VC-dimension is equal to 2.&lt;/p&gt;&#xA;" OwnerUserId="1609" LastActivityDate="2015-12-03T08:36:54.100" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33245" PostTypeId="1" CreationDate="2015-12-03T09:36:04.960" Score="3" ViewCount="109" Body="&lt;p&gt;Given k-distinct permutations $\sigma_1,\sigma_2,...,\sigma_k \in S_n$ where $k \leq 2^{\sqrt{n}}$ and $k &amp;gt;1$ (note that k is much smaller than number of possible permutations on [n]), &lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is the number N of disjoint sets of size 2 from [n] such that for each $\sigma_i$ , $i \in [k]$ the maximum stack depth is $O(n^{0.9})$ when processing following sequence of push and pops obtained from these sets and $\sigma_i$ (ie, upper bound on maximum number of elements in the stack at any time is $O(n^{0.9})$). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;for each set $S_l= \{a,b\}, l\in [N]$,  if replace 'a' (let 'a' appears first when we scan the permutation $\sigma_i$ left to right, i.e, $\sigma_i(1),\sigma_i(2),...,\sigma_i(n)$) by push({a,b}) and 'b' (in the left to right scan 'b' appears after 'a') by pop({a,b}). We ignore all elements $e \in [n]$ which does not belong any of this disjoint sets.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;When processing a pop({a,b}), if {a,b} is not top, then we pop all elements until we pop {a,b} and push back all popped elements except {a,b}.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that: &#xA;(1) Across permutations, disjoint sets $S_1,...,S_N$ are fixed.&#xA;(2) The stack depth condition should hold for each of the permutation $\sigma_i, i\in [k]$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We may apply some process like choosing a permutation $\rho$ from set of all permutations (it can depend on the given permutations) and look for these N sets in $\rho.\sigma_1,\rho.\sigma_2,...,\rho.\sigma_k \in S_n$  instead of in the original permutations $\sigma_1,\sigma_2,...,\sigma_k \in S_n$, but we are not allowed to use different processes for different permutations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For any stack depth D, where $\sqrt{n} \leq D \leq  n^{1-\epsilon}$, where $0&amp;lt;\epsilon&amp;lt;1/2$ is a constant, &#xA;Is it possible to get N to be $\Omega(D.n^{\delta})$, where $\delta&amp;gt;0$ is a constant?&lt;/p&gt;&#xA;" OwnerUserId="36606" LastEditorUserId="36606" LastEditDate="2015-12-07T16:03:13.167" LastActivityDate="2015-12-07T16:03:13.167" Title="On number of disjoint sets with small stack depth in a set of permutations" Tags="&lt;combinatorics&gt;&lt;extremal-combinatorics&gt;" AnswerCount="0" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33246" PostTypeId="2" ParentId="33242" CreationDate="2015-12-03T10:54:53.483" Score="7" Body="&lt;p&gt;&lt;em&gt;Resolution&lt;/em&gt; in this context is broader than unit propagation, since a 2-CNF might not have any unit clauses. Instead resolution refers to the inference rule that given a pair of clauses $C = (x \vee y), \hat{C} = (\neg x \vee z)$ that contain a variable and its negation respectively, we can infer the new clause $(y \vee z)$. In addition, let $(x \vee x), (\neg x \vee \neg x)$ infer the empty clause $()$ which we will declare not satisfiable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See &lt;a href=&quot;https://cstheory.stackexchange.com/a/6891/8985&quot;&gt;here&lt;/a&gt; for an excellent explanation of why repeated application of this resolution rule will always lead to the empty clause iff the 2-CNF was unsatisfiable. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If the 2-CNF is satisfiable, then set $z_C = 1$ for every clause $C$ occurs in or that is inferred by resolution on the 2-CNF, and $0$ for every other clause. Every implication is satisfied, and every unit clause is satisfied. So the Horn formula is satisfied.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If the 2-CNF formula is unsatisfiable, then resolution will generate the empty clause. By the implications in the generated Horn formula, setting $z_C=1$ for each clause $C$ in the 2-CNF implies $z_{empty}=1$. But the unit clause $\neg z_{empty}$ prohibits this. Therefore, the Horn formula is unsatisfiable.&lt;/p&gt;&#xA;" OwnerUserId="8985" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.743" LastActivityDate="2015-12-03T10:54:53.483" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33247" PostTypeId="2" ParentId="33241" CreationDate="2015-12-03T11:26:21.907" Score="7" Body="&lt;p&gt;The answer to your question is yes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See Bonchi, Bonsangue, Rutten and Silva's papers &lt;a href=&quot;http://homepages.cwi.nl/~janr/papers/files-of-papers/2011_SEN1114.pdf&quot;&gt;&lt;em&gt;Brzozowski's algorithm (co)algebraically&lt;/em&gt;&lt;/a&gt; (shorter conference version) and &lt;a href=&quot;http://www.cs.mcgill.ca/~prakash/Pubs/BrzMin.pdf&quot;&gt;&lt;em&gt;Algebra-Coalgebra Duality in Brzozowski’s Minimization Algorithm&lt;/em&gt;&lt;/a&gt; (longer journal version with more generalizations). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;They give a (lightly) categorical presentation of Brzowzowski's algorithm, and use it to derive versions of it for more general classes of automata, including Moore automata (which gives an affirmative answer to your question). &lt;/p&gt;&#xA;" OwnerUserId="657" LastActivityDate="2015-12-03T11:26:21.907" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33248" PostTypeId="2" ParentId="33241" CreationDate="2015-12-03T11:54:28.520" Score="6" Body="&lt;p&gt;Just to add to Neel's answer, in my book &lt;em&gt;Automatic Sequences&lt;/em&gt; with Jean-Paul Allouche we discuss DFAO's (deterministic finite automata with outputs), which are exactly what you asked about (associate an output with each state).  And Theorem 4.3.3 describes how to reverse such a machine.&lt;/p&gt;&#xA;" OwnerUserId="3227" LastActivityDate="2015-12-03T11:54:28.520" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33250" PostTypeId="2" ParentId="33240" CreationDate="2015-12-03T14:35:25.787" Score="11" Body="&lt;p&gt;Currently, I would say the 3 major open cases are:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Directed feedback vertex set (make a given digraph acyclic by deleting at most k vertices) parameterized by the size of the solution&lt;/li&gt;&#xA;&lt;li&gt;Planar Vertex Deletion (make a graph planar by deleting at most k vertices)&lt;/li&gt;&#xA;&lt;li&gt;Edge Multiway cut (given an undirected graph and a list of terminals, delete at most k edges to ensure all the terminals end up in a different connected component)&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;For all of these, the relevant parameter is the size of the solution. You can have a look at the open problem list from the 2013 Workshop on Kernelization ( &lt;a href=&quot;http://worker2013.mimuw.edu.pl/slides/worker-opl.pdf&quot;&gt;http://worker2013.mimuw.edu.pl/slides/worker-opl.pdf&lt;/a&gt; ) for others. Pointers to other (but older) open problem lists in parameterized complexity can be found here: &lt;a href=&quot;http://fpt.wikidot.com/open-problems&quot;&gt;http://fpt.wikidot.com/open-problems&lt;/a&gt; .&lt;/p&gt;&#xA;" OwnerUserId="122" LastActivityDate="2015-12-03T14:35:25.787" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33258" PostTypeId="2" ParentId="33238" CreationDate="2015-12-04T10:01:25.343" Score="1" Body="&lt;p&gt;I don't recall having seen this encoding anywhere in the literature. It would not be surprising if indeed no such academic literature exists, though.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First of all note that your trick to translate a binary quadratic programming problem to an integer programming one is pretty straight-forward. You can find a casual mentioning it on the web from 2005 &lt;a href=&quot;http://de.mathworks.com/matlabcentral/newsreader/view_thread/106700&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But there is more to it. Solving the Quadratic Assignment Problem is known to be NP-complete already, and you reduce it to an NP-hard problem. So in theory, you don't gain anything.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In practice, however, you might. But unless you have evidence that the ILP instances that you get are particularly easy to solve for modern solvers, I wouldn't use your encoding, and here is why: the efficiency from ILP solvers comes from the fact that they can use the convexity of the solution space to their advantage. This allows to perform a branch-and-bound search on the feasible solutions while using an LP solver to find not-quite-yet-valid candidate approximate solutions. But in your encoding, all values are binary! So the ILP solver can't really take advantage of it. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we now have a look at state-of-the-art other methods to solve the problem, there seem to be both exact and heuristic methods (I found &lt;a href=&quot;http://anjos.mgi.polymtl.ca/qaplib//codes.html&quot; rel=&quot;nofollow&quot;&gt;this page&lt;/a&gt; by following links from Wikipedia). One of the methods is reported to work well for problems with $n \leq 15$. For such instances, your encoding requires $15 \cdot 15$ variables of the type $x_{ij}$, and $15^4$ variables of the type $y_{ijkl}$. Even though we can reduce this number of variables by a factor of $16$ (I think), that is an awful lot of variables for an ILP problem where the ILP solver cannot really take advantage of the structure of the problem. So it is possible that the approach that you mention has been invented before but did not make it into any publication as it does not perform well.&lt;/p&gt;&#xA;" OwnerUserId="16000" LastActivityDate="2015-12-04T10:01:25.343" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33259" PostTypeId="1" CreationDate="2015-12-04T10:36:43.173" Score="6" ViewCount="100" Body="&lt;p&gt;Consider a stream of elements $s_1s_2\ldots s_N$. &#xA;A counter-based frequency estimation algorithm uses $m$ counters and is required to answer queries of the form &quot;How many times did $x$ appear&quot;?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is well known that answering such queries to within a one-sided additive error of $N/(k+1)$ requires at least $k$ counters by any deterministic algorithm (&lt;a href=&quot;https://icmi.cs.ucsb.edu/research/tech_reports/reports/2005-23.pdf&quot;&gt;see here&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assume we allow randomized algorithms for the task.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Which lower bounds (on the number of counters required) can we derive on a randomized algorithm which satisfies $$ f_x -N\epsilon\le\mathbb E(\text{query}(x))\le f_x,$$ where the expectancy is over the algorithm internal randomness?&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;In particular, the Majority algorithm (see &lt;a href=&quot;https://icmi.cs.ucsb.edu/research/tech_reports/reports/2005-23.pdf&quot;&gt;1&lt;/a&gt; and [2]) is able to find a majority item in the stream using a single counter. &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Is there a randomized algorithm which is able to identify, using a single counter, an element arriving at least $N(0.5-c)$ of the time for some fixed $c&amp;gt;0$ (with probability larger than 1/2)?&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;1]  R. Boyer and J. Moore. A Fast Majority Vote Algorithm.&#xA;Technical Report 1981-32, Institute for Computing&#xA;Science, University of Texas, Austin, 1981.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2] M. Fischer and S. Salzberg. Finding a Majority&#xA;Among N Votes: Solution to Problem 81-5. Journal&#xA;of Algorithms, 3:376–379, 1982.&lt;/p&gt;&#xA;" OwnerUserId="21001" LastActivityDate="2015-12-04T10:36:43.173" Title="Lower bounds for randomized frequency estimation algorithms" Tags="&lt;ds.algorithms&gt;&lt;lower-bounds&gt;&lt;data-streams&gt;&lt;streaming-algorithms&gt;" AnswerCount="0" CommentCount="2" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="33261" PostTypeId="1" AcceptedAnswerId="33281" CreationDate="2015-12-04T17:18:27.587" Score="12" ViewCount="1632" Body="&lt;p&gt;I am interested in reducing $k$-Clique to SAT without making the instance much larger.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Clique is in NP so it can be reduced to SAT using logarithmic space.&#xA;The straightforward Garey/Johnson textbook reduction blows up the instance to &lt;em&gt;cubic&lt;/em&gt; size.&#xA;However, $k$-Clique is in P for every fixed $k$ so there &quot;ought&quot; to be an efficient reduction at least for fixed $k$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One way to build the reduction is by &lt;a href=&quot;https://cstheory.stackexchange.com/a/617&quot;&gt;using the SAT variables as a characteristic vector&lt;/a&gt;, with a variable that is set to true indicating that the associated vertex is in the clique.&#xA;This reduction is natural but creates a SAT instance of &lt;em&gt;quadratic&lt;/em&gt; size if the graph is sparse.&#xA;For a sparse graph, quadratically many clauses are required to enforce that in every pair of non-adjacent vertices at most one vertex may be in the clique.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let's try to do better than $O(n^2)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The generic reduction of &lt;a href=&quot;http://dx.doi.org/10.1016/0020-0190(88)90152-4&quot;&gt;Cook&lt;/a&gt;/&lt;a href=&quot;http://dx.doi.org/10.1145/322047.322060&quot;&gt;Schnorr&lt;/a&gt;/&lt;a href=&quot;http://dx.doi.org/10.1145/322123.322138&quot;&gt;Pippenger/Fischer&lt;/a&gt; works by first taking a polynomially time-bounded NDTM that decides the language, simulating the NDTM by an oblivious DTM, simulating the oblivious DTM by a circuit, and then simulating the circuit by a 3-SAT instance.&#xA;This creates a 3-SAT instance of size $O(t(n)\log t(n))$ if the NDTM time bound is $t(n)$.&#xA;The log factor seems unavoidable due to overhead when simulating by an oblivious machine.&#xA;For $k$-Clique one seems to have $t(n) = O(nk)$, which yields a 3-SAT instance of $O(nk(\log n + \log k))$ size, which is &lt;em&gt;quasilinear&lt;/em&gt; for fixed $k$.&#xA;In his 1988 paper Cook asked whether a better generic reduction exists for languages in NP, and as far as I know this is still open.&#xA;However, Clique has a lot of structure so perhaps one can do better in this case.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there a better reduction known from Clique to SAT?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;In particular, is it possible for fixed $k$ to reduce $k$-Clique to SAT while keeping the increase in instance size linear?&#xA;Or can one use an existing result to argue that this is unlikely to be possible?&#xA;I have tried using &lt;a href=&quot;http://dx.doi.org/10.1016/j.jcss.2010.06.007&quot;&gt;Fortnow/Santhanam&lt;/a&gt; and &lt;a href=&quot;http://dx.doi.org/10.1145/2629620&quot;&gt;Dell/van Melkebeek&lt;/a&gt; but the overheads seem too large for these results to imply anything specific.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(I have been working with a reduction that seems to avoid the log factor, but before wasting more time on the gory details to verify its correctness, I'd like to know if such a reduction is already known, or if it is unlikely to exist.)&lt;/p&gt;&#xA;" OwnerUserId="109" LastEditorUserId="109" LastEditDate="2015-12-04T17:48:53.803" LastActivityDate="2016-12-10T23:39:06.313" Title="Improving Cook's generic reduction for Clique to SAT?" Tags="&lt;cc.complexity-theory&gt;&lt;sat&gt;&lt;reductions&gt;&lt;clique&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33262" PostTypeId="1" AcceptedAnswerId="33263" CreationDate="2015-12-04T20:02:03.073" Score="6" ViewCount="316" Body="&lt;p&gt;In 1979, Robert Tarjan published &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/0022000079900424&quot;&gt;&quot;A Class of Algorithms Which Require Nonlinear Time To Maintain Disjoint Sets&quot;&lt;/a&gt;, which proved an upper bound of $O(m \alpha(n))$ time on the time complexity of performing $m$ operations on a disjoint-set forest with union-by-rank and path compression, assuming there are $n$ nodes. He also proved a matching lower bound on any data structure for this problem in a pointer machine.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since this paper was published, has anyone devised an data structure that runs in $o(m \alpha(n))$ for this problem? (Such a data structure would have to rely on techniques that don't work on a pointer machine.) Or are there any new lower bounds on non-pointer-machines?&lt;/p&gt;&#xA;" OwnerUserId="4354" LastActivityDate="2015-12-04T23:13:37.043" Title="Improved lower bounds or upper bounds on union-find structures since Tarjan?" Tags="&lt;ds.data-structures&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="33263" PostTypeId="2" ParentId="33262" CreationDate="2015-12-04T23:13:37.043" Score="13" Body="&lt;p&gt;There's a matching lower bound in the cell probe model (with a logarithmic number of bits per memory cell); see Fredman and Saks, &quot;The cell probe complexity of dynamic data structures&quot;, STOC 1989.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2015-12-04T23:13:37.043" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33264" PostTypeId="2" ParentId="33223" CreationDate="2015-12-05T02:06:43.223" Score="6" Body="&lt;p&gt;See the paper&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Varunkumar Jayapaul, J. Ian Munro, Venkatesh Raman, Srinivasa Rao Satti (2015), &quot;Sorting and Selection with Equality Comparisons&quot;,&#xA;&lt;em&gt;Proc. WADS 2015&lt;/em&gt;, LNCS 9214, pp. 434–445, &lt;a href=&quot;http://doi.org/10.1007/978-3-319-21840-3_36&quot;&gt;doi:10.1007/978-3-319-21840-3_36&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is exactly about the problem you ask, finding the equivalence classes of an equivalence relation by querying the equivalences of pairs of elements. For an input with $n$ elements and $c$ equivalence classes, the naive algorithm you describe will take time $O(nc)$, but they give a more precise bound for this same algorithm in terms of the sizes of its equivalence classes (Theorem 3) and similarly analyze another algorithm for the same problem that works better when the equivalence classes have unevenly distributed sizes (Theorem 4).&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2015-12-05T02:06:43.223" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33265" PostTypeId="1" CreationDate="2015-12-05T05:22:30.873" Score="-3" ViewCount="196" Body="&lt;p&gt;I have an interest in a postdoc on scheduling problems but I cannot find many researchers who are actively involved in this. Any help?&lt;/p&gt;&#xA;" OwnerUserId="36596" LastEditorUserId="36596" LastEditDate="2015-12-05T05:37:19.440" LastActivityDate="2015-12-06T07:48:13.777" Title="Who are active researchers in the scheduling theory?" Tags="&lt;scheduling&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="1" ClosedDate="2015-12-08T00:35:26.103" ContentLicense="CC BY-SA 3.0" />
  <row Id="33266" PostTypeId="2" ParentId="33265" CreationDate="2015-12-05T06:07:35.417" Score="5" Body="&lt;p&gt;Kirk Pruhs, Cliff Stein, Kamesh Munagala, Nikhil Bansal, Sungjin Im, Ben Moseley.&lt;/p&gt;&#xA;" OwnerUserId="176" LastActivityDate="2015-12-05T06:07:35.417" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33267" PostTypeId="1" CreationDate="2015-12-05T19:25:22.483" Score="1" ViewCount="43" Body="&lt;p&gt;It is known that interaction combinators can implement any interaction net system efficiently. Now, let us define a modification of interaction combinators, which, instead of two types of fan cells, has an infinite number of fan-cells, labelled with unique integers. That system works exactly like the previous: two nodes with identical labels annihilate; two nodes with different labels duplicate. In other words, interaction combinators are a subset of that system, with only 2 possible ids.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;How can you compile that new system to the former, without losing efficiency?&lt;/p&gt;&#xA;" OwnerUserId="17388" LastActivityDate="2015-12-05T19:25:22.483" Title="Efficient compilation of interaction combinators with infinite cell types to usual interaction combinators?" Tags="&lt;cc.complexity-theory&gt;&lt;functional-programming&gt;&lt;interaction-nets&gt;&lt;interaction-combinators&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33269" PostTypeId="1" CreationDate="2015-12-05T23:33:03.657" Score="5" ViewCount="212" Body="&lt;p&gt;Let $S$ be a set of lines (or line segments) in $\mathbb{R}^3$. Consider the Voronoi diagram $VD(S)$. The best lower bound on the complexity of $VD(S)$ is $\Omega(n^2)$ and the best upper bound is $O(n^{3+\epsilon})$ [1]. What is the current state of research on this problem? Is anything more recent than the references in [2] known?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] Almost tight upper bounds for lower envelopes in higher dimensions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] &lt;a href=&quot;http://cs.smith.edu/~orourke/TOPP/P3.html&quot;&gt;http://cs.smith.edu/~orourke/TOPP/P3.html&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="36641" LastActivityDate="2016-05-02T02:08:23.533" Title="Voronoi Diagram of Lines" Tags="&lt;co.combinatorics&gt;&lt;computational-geometry&gt;&lt;convex-geometry&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33270" PostTypeId="2" ParentId="33269" CreationDate="2015-12-06T00:58:36.717" Score="7" Body="&lt;p&gt;In 2010 &lt;a href=&quot;http://link.springer.com/chapter/10.1007%2F978-3-642-15775-2_34&quot;&gt;Hemmer et al.&lt;/a&gt; gave an exact algorithm for the Voronoi diagram of lines in $\mathbb{R}^3$. In their introduction, they state that the $\Omega(n^2)$ lower bound and $O(n^{3+\varepsilon})$ upper bound are still the best known on the combinatorial complexity of the resulting Voronoi diagram. Their algorithm runs in time $O(n^{3+\varepsilon})$, matching the upper bound on the combinatorial complexity.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As far as I know, theirs was the first (and still, only) exact algorithm for this problem, so I would guess that there haven't been any further improvements on the combinatorial complexity front either.&lt;/p&gt;&#xA;" OwnerUserId="969" LastEditorUserId="969" LastEditDate="2015-12-06T02:09:26.817" LastActivityDate="2015-12-06T02:09:26.817" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33273" PostTypeId="2" ParentId="33265" CreationDate="2015-12-06T07:48:13.777" Score="6" Body="&lt;p&gt;It could be useful to look at the list of participants of recent Dagstuhl seminars on scheduling&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.dagstuhl.de/program/calendar/partlist/?semnr=13111&quot;&gt;http://www.dagstuhl.de/program/calendar/partlist/?semnr=13111&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.dagstuhl.de/program/calendar/partlist/?semnr=11091&quot;&gt;http://www.dagstuhl.de/program/calendar/partlist/?semnr=11091&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.dagstuhl.de/program/calendar/partlist/?semnr=10071&quot;&gt;http://www.dagstuhl.de/program/calendar/partlist/?semnr=10071&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;and then to look at the publications of each participant on DBLP. This would give you a good overview of who is doing what in the area. (The approach should work also for other topics.) &lt;/p&gt;&#xA;" OwnerUserId="3189" LastActivityDate="2015-12-06T07:48:13.777" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33274" PostTypeId="1" AcceptedAnswerId="33352" CreationDate="2015-12-06T10:08:11.487" Score="-2" ViewCount="341" Body="&lt;p&gt;Are Graph and Group Isomorphism problems known to be random self-reducible? If so is there a good proof?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there other non-trivial examples of random self-reducibility? Is there a good reference?&lt;/p&gt;&#xA;" OwnerUserId="1812" LastEditorUserId="1812" LastEditDate="2015-12-06T23:21:04.377" LastActivityDate="2015-12-14T04:12:41.500" Title="Are Graph and Group Isomorphism problems random self-reducible?" Tags="&lt;cc.complexity-theory&gt;&lt;graph-isomorphism&gt;&lt;gr.group-theory&gt;&lt;average-case-complexity&gt;&lt;worst-case&gt;" AnswerCount="1" CommentCount="6" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33275" PostTypeId="2" ParentId="31187" CreationDate="2015-12-06T21:16:56.370" Score="5" Body="&lt;p&gt;It's not possible. The reason is that, to distinguish an $n$-vertex graph with no edges (clique size 1) from a graph with a single randomly-chosen edge (clique size 2) requires $\Theta(n^2)$ queries. So it's not possible to get sublinear queries for $\rho=2$ and $\epsilon&amp;lt;\frac12$, but your question asks for a parameterization that remains sublinear for all $\rho$ and all $\epsilon&amp;gt;0$.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2015-12-06T21:16:56.370" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33276" PostTypeId="2" ParentId="33082" CreationDate="2015-12-06T23:41:37.460" Score="2" Body="&lt;p&gt;(I now realize that one of the questions I gave at the bottom of my OP is trivial,&#xA;&lt;br&gt;&#xA;and for another, a yes answer would have a simple unlikely consequence.&#xA;&lt;br&gt;&#xA;As I stated in my OP, 2.5-coloring is logspace-complete even with k=0,&#xA;&lt;br&gt;&#xA;so it certainly is hard for TC0, and if it's in ACC0 then ​ ACC0 = logspace .)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More interestingly, I &lt;a href=&quot;https://cstheory.stackexchange.com/q/33240/6973&quot;&gt;recently learned about&lt;/a&gt; the odd cycle transversal problem. ​ By using Reingold's algorithm as I mentioned in my OP, odd cycle transversal is logspace-equivalent to 2.5-coloring. ​ Accordingly, &lt;a href=&quot;http://arxiv.org/abs/1107.3068&quot; rel=&quot;nofollow noreferrer&quot;&gt;this paper&lt;/a&gt; yields a significant amount of information&#xA;&lt;br&gt;&#xA;&quot;about the complexity of 2.5-coloring&quot;, and &lt;a href=&quot;http://www.user.tu-berlin.de/hueffner/bipartization-jgaa08.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;this paper&lt;/a&gt; gives a faster algorithm for it.&lt;/p&gt;&#xA;" OwnerDisplayName="user6973" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2015-12-15T23:42:31.533" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33279" PostTypeId="1" AcceptedAnswerId="33280" CreationDate="2015-12-07T04:04:17.857" Score="0" ViewCount="200" Body="&lt;p&gt;The recurrence relation $\forall n\in\mathbb{N}\cup\{0\}$ is $T(n)=\Theta(n^2)+2\sum_{i=1}^{\lfloor\frac{n}{2}\rfloor}{T(i)}$, with base case of $T(0)=0$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Fairly simple tree analysis shows that $T(n)\in\Omega(n^3)$ and $T(n)\in O(n^{\log_2{n}})$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But I want to find $f(n)$ for which $T(n)\in\Theta(f(n))$, or at least tighter lower and upper bounds.&lt;/p&gt;&#xA;" OwnerUserId="36656" LastEditorUserId="36656" LastEditDate="2015-12-08T03:36:40.607" LastActivityDate="2015-12-08T03:36:40.607" Title="How can I find tight asymptotic bounds for this half-history recurrence relation?" Tags="&lt;time-complexity&gt;&lt;recursion&gt;&lt;asymptotics&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="33280" PostTypeId="2" ParentId="33279" CreationDate="2015-12-07T04:18:42.857" Score="1" Body="&lt;p&gt;It is $n^{\Theta(\log n)}$, although I'm not sure exactly what the constant in the theta is. For the upper bound (the one you already have), note that, even without the $n^2$ term but with a base case of $1$ rather than $0$, this recurrence is dominated term-by-term by the recurrence&#xA;$$U(n)=nU(\frac{n}{2}).$$&#xA;For the lower bound, note that it dominates the recurrence&#xA;$$L(n)=\frac{n}{2}L(\frac{n}{4}).$$&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2015-12-07T04:18:42.857" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33281" PostTypeId="2" ParentId="33261" CreationDate="2015-12-07T06:20:12.710" Score="10" Body="&lt;p&gt;You can express $k$-clique as a SAT instance with $O(nk)$ variables and $O(nk^2)$ clauses.  For fixed $k$, this is linear in $n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $x_{iv}=1$ if $v$ is the $i$th vertex in the clique (by lexicographically sorted order).  In other words, $x_i$ is a &quot;one-hot&quot; encoding of the $i$th vertex in the clique (it is the characteristic vector for a set with one element).  This introduces $nk$ variables.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now for each $(i,j)$ you can enforce that the corresponding two vertices are connected by an edge, using $n$ clauses.  e.g., one clause is $(\neg x_{iu} \lor x_{jv_1} \lor \dots \lor x_{jv_m})$ where $v_1,\dots,v_m$ are the vertices that are adjacent to vertex $u$.  You get one clause per vertex $u$.  This introduces a total of $O(nk^2)$ clauses.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For each $i$, you can enforce that $x_i$ is a vector of Hamming weight 1 and that $x_i &amp;lt; x_{i+1}$, using $O(n)$ clauses.  This adds a total of $O(nk)$ more clauses.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;It might be possible to do better by using $k \lg n$ variables to represent the vertices in the clique ($\lg n$ bits suffice to represent the $i$th vertex in the clique) and then building a circuit to check whether a set of $k$ vertices correspond to a clique.  One approach to build such a circuit might be by constructing the list of all $k(k-1)/2$ pairs of these vertices, in sorted order, then comparing that to the list of edges using the Merge procedure from Mergesort, or something like that.  It might be possible to get something like a $O((n+m+k^2) \text{poly}(\lg n))$-size circuit, which then translates to a SAT instance of the same size (where $m = $ the number of edges in the graph).  I haven't tried to work out the details to see whether it's actually possible, though.&lt;/p&gt;&#xA;" OwnerUserId="5038" LastEditorUserId="43598" LastEditDate="2016-12-10T23:39:06.313" LastActivityDate="2016-12-10T23:39:06.313" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33282" PostTypeId="1" AcceptedAnswerId="33367" CreationDate="2015-12-07T06:45:29.660" Score="-3" ViewCount="138" Body="&lt;p&gt;&lt;strong&gt;My question:&lt;/strong&gt;&#xA;What is the dimension of the Fourier transform for $S_5$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;My effort:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The dimensions of the seven irreps of $S_5$ are $1,1,4,4,5,5,6$. According to the &lt;a href=&quot;http://www.cs.umd.edu/~amchilds/teaching/w13/l06.pdf&quot; rel=&quot;nofollow&quot;&gt;notes&lt;/a&gt; of Andrew Childs, the Fourier transform is a unitary transformation from the group algebra, $\mathbb{C} S_5$,to a complex vector space whose basis vectors correspond to matrix elements of the irreps of $S_5$, $\oplus_{\sigma \in \hat{S_5}} \left(\mathbb{C}^{d_\sigma} \otimes \mathbb{C}^{d_\sigma}\right)$.  Here the complete set of  irreps of $S_5$ (which are unique up to isomorphism) is $\hat{S_5}$. We expand the direct sum of the irreps here.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;\oplus_{\sigma \in \hat{S_5}} \left(\mathbb{C}^{d_\sigma} \otimes \mathbb{C}^{d_\sigma}\right) = \left(\mathbb{C}^{d_{\sigma_1}} \otimes \mathbb{C}^{d_{\sigma_1}}\right) \oplus \left(\mathbb{C}^{d_{\sigma_2}} \otimes \mathbb{C}^{d_{\sigma_2}}\right) \oplus \left(\mathbb{C}^{d_{\sigma_3}} \otimes \mathbb{C}^{d_{\sigma_3}}\right) &#xA; \oplus \left(\mathbb{C}^{d_{\sigma_4}} \otimes \mathbb{C}^{d_{\sigma_4}}\right) \oplus \left(\mathbb{C}^{d_{\sigma_5}} \otimes \mathbb{C}^{d_{\sigma_5}}\right) \oplus \left(\mathbb{C}^{d_{\sigma_6}} \otimes \mathbb{C}^{d_{\sigma_6}}\right) \oplus \left(\mathbb{C}^{d_{\sigma_7}} \otimes \mathbb{C}^{d_{\sigma_7}}\right)\\&#xA;= \left(\mathbb{C}^1 \otimes \mathbb{C}^1\right) \oplus \left(\mathbb{C}^1 \otimes \mathbb{C}^1\right) \oplus \left(\mathbb{C}^4 \otimes \mathbb{C}^4\right) &#xA; \oplus \left(\mathbb{C}^4 \otimes \mathbb{C}^4\right) \oplus \left(\mathbb{C}^5 \otimes \mathbb{C}^5\right) \oplus \left(\mathbb{C}^5 \otimes \mathbb{C}^5\right) \oplus \left(\mathbb{C}^6 \otimes \mathbb{C}^6\right)&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, the direct sum is a $26 \times 26$ matrix. The shape of the direct sum is:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;\begin{pmatrix}&#xA;(1) &amp;amp; (0) &amp;amp; (0) &amp;amp; (0) &amp;amp; (0) &amp;amp; (0) &amp;amp; (0) \\&#xA;(0) &amp;amp; (1) &amp;amp; (0) &amp;amp; (0) &amp;amp; (0) &amp;amp; (0) &amp;amp; (0) \\&#xA;(0) &amp;amp; (0) &amp;amp; (4) &amp;amp; (0) &amp;amp; (0) &amp;amp; (0) &amp;amp; (0) \\&#xA;(0) &amp;amp; (0) &amp;amp; (0) &amp;amp; (4) &amp;amp; (0) &amp;amp; (0) &amp;amp; (0) \\&#xA;(0) &amp;amp; (0) &amp;amp; (0) &amp;amp; (0) &amp;amp; (5) &amp;amp; (0) &amp;amp; (0) \\&#xA;(0) &amp;amp; (0) &amp;amp; (0) &amp;amp; (0) &amp;amp; (0) &amp;amp; (5) &amp;amp; (0) \\&#xA;(0) &amp;amp; (0) &amp;amp; (0) &amp;amp; (0) &amp;amp; (0) &amp;amp; (0) &amp;amp; (6) &#xA;\end{pmatrix}&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here $(i)$ is an $i \times i$ matrix.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;According to the note there is one basis vector for each matrix element. So, there are $26^2 = 676$  basis vectors.  The Fourier transform will also be a $26 \times 26$ matrix.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Am I doing it right?&lt;/strong&gt;&lt;/p&gt;&#xA;" OwnerUserId="13408" LastActivityDate="2015-12-15T19:39:36.727" Title="Dimension of the Fourier transform for $S_5$" Tags="&lt;quantum-computing&gt;&lt;quantum-information&gt;&lt;physics&gt;&lt;gr.group-theory&gt;&lt;fourier-analysis&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="1" ClosedDate="2015-12-16T04:43:06.340" ContentLicense="CC BY-SA 3.0" />
  <row Id="33284" PostTypeId="1" AcceptedAnswerId="33292" CreationDate="2015-12-07T08:18:54.143" Score="4" ViewCount="215" Body="&lt;p&gt;Are there any relations between Graph Isomorphism problem and Polynomial Equivalence problem?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In particular does a polynomial time solution to Graph Isomorphism problem provide any evidence towards derandomization of Polynomial Identity Testing?&lt;/p&gt;&#xA;" OwnerUserId="1812" LastActivityDate="2015-12-08T05:08:42.003" Title="Connections between Graph Isomorphism and Polynomial Equivalence" Tags="&lt;graph-isomorphism&gt;&lt;derandomization&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="33285" PostTypeId="1" CreationDate="2015-12-07T11:33:54.737" Score="4" ViewCount="102" Body="&lt;p&gt;Let me define the following &quot;grammar&quot;:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$A_0 \leftarrow 1$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$A_{i+1} \leftarrow A_i \mid A_i \  K_{i+1} \mid A_i \ K_{i+1} \ A_i$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where $1$ and $K_i$ are terminals (infinite amount of them: $K_1, K_2, \dots$ ), $A_0, A_1, \dots$ are non-terminals, $\mid$ means alternative, $\leftarrow$ defines a non-terminal, $i$ is an integer such that $i \geq 0$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;That is, it looks like a grammar composed of an infinite number of rules and terminals.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My questions are:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;can I call such a construction a &quot;grammar&quot;?&lt;/li&gt;&#xA;&lt;li&gt;in which grammar category can I include it?&lt;/li&gt;&#xA;&lt;li&gt;have such structures been studied before, can anyone give links or bibliographic references?&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Thanks a lot.&lt;/p&gt;&#xA;" OwnerUserId="36664" LastEditorUserId="1609" LastEditDate="2015-12-10T17:36:33.770" LastActivityDate="2015-12-10T17:36:33.770" Title="Which kind of grammar is the following?" Tags="&lt;grammars&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33291" PostTypeId="2" ParentId="33285" CreationDate="2015-12-07T20:10:12.420" Score="6" Body="&lt;p&gt;The simple answer would be that, having an infinite set of rules, this is not a grammar in the usual sense. Languages over infinite alphabets have been investigated, but usually using register automata rather than grammars.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;That being said, you could treat the language as a limit (i.e. infinite union) of finitary languages defined by the &quot;truncations&quot; $G_i$ which you obtain by omitting all indices greater than $i$. I am unfortunately not familiar with research into such beasts.&lt;/p&gt;&#xA;" OwnerUserId="5183" LastActivityDate="2015-12-07T20:10:12.420" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33292" PostTypeId="2" ParentId="33284" CreationDate="2015-12-08T05:08:42.003" Score="10" Body="&lt;p&gt;The paper you linked in the comments - and references therein - already seems to answer your first question. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For your second question: I have little reason to think that there is a theorem of the form &quot;If GI is in P, then [something about derandomizing PIT].&quot; For example, it is possible that GI is in P, but Polynomial Equivalence is not. (Note that PolyEq and RingIso are relatively close to one another, and RingIso is as hard as integer factoring...)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that equivalence problems in general tend to be nontrivially harder than their specific instances or testing for triviality. For example, Formula Isomorphism is believed to be intermediate between the first two levels of $\mathsf{PH}$, although testing isomorphism to the trivial formula is $\mathsf{coNP}$-complete. (This is the Boolean analogue of your suggestion of trying to use PolyEq to solve PIT. Of course, one could argue that our intuition for the intermediate status of Formula Iso is largely based on Graph Iso...) As another example, testing for Knottedness is in $\mathsf{NP} \cap \mathsf{coNP}$ (assuming GRH; albeit &lt;a href=&quot;http://arxiv.org/abs/1112.0845&quot; rel=&quot;nofollow noreferrer&quot;&gt;only recently&lt;/a&gt;), but the current best upper bound on testing Knot Equivalence is that it can be done in time that is a tower of 2's of height $c^n$, where $n$ is the number of crossings and $c = 10^{10^6}$ (see &lt;a href=&quot;https://cstheory.stackexchange.com/a/30625/129&quot;&gt;here&lt;/a&gt;). Although it is possible that both Knottedness and Knot Equivalence are in $\mathsf{P}$, the latter seems &lt;em&gt;significantly&lt;/em&gt; harder than the former.&lt;/p&gt;&#xA;" OwnerUserId="129" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2015-12-08T05:08:42.003" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="33293" PostTypeId="2" ParentId="7352" CreationDate="2015-12-08T05:17:27.493" Score="8" Body="&lt;p&gt;Although not (yet) getting all the way down to $\mathsf{P}$, Group Isomorphism and other algebraic problems can depend heavily on the format of the input, in a way that is far more subtle than merely padding. For example, when the groups are given by multiplication tables, there is a trivial $n^{\log n + O(1)}$-time algorithm to test isomorphism. When the groups are given by generating sets (say, of permutations, or of matrices over finite fields), there are slightly sub-exponential algorithms, but the problems are at least as hard as Graph Isomorphism. When the groups are given by generators and relations, the problem is undecidable (indeed, when given by generators and relations, even telling if the group is &lt;em&gt;trivial&lt;/em&gt; or not is undecidable, whereas this particular task is trivial in the other mentioned formats).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another algebraic example is provided by Grobner bases. Most questions about ideals in polynomial rings become comparatively easy if you're given a Grobner basis for the ideal instead of an arbitrary generating set. But computing a Grobner basis is $\mathsf{EXPSPACE}$-complete. (This is perhaps not as good an example, since it is a &lt;em&gt;property&lt;/em&gt; of the input, rather than a the &lt;em&gt;format&lt;/em&gt; of the input that is affecting complexity here. But I thought I'd mention it anyways.)&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2015-12-08T05:17:27.493" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33296" PostTypeId="2" ParentId="7352" CreationDate="2015-12-08T11:02:54.617" Score="4" Body="&lt;p&gt;The complexity of deciding equality of regular languages (and many other problems on regular languages) varies a lot depending on the system of representation:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;P&lt;/strong&gt; for deterministic automaton (more precisely &lt;strong&gt;NL&lt;/strong&gt;-complete)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;PSPACE&lt;/strong&gt;-complete for nondeterministic automaton or regular expression&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;EXPSPACE&lt;/strong&gt;-complete for regular expression with squaring operation.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;strong&gt;NONELEMENTARY&lt;/strong&gt; for Monadic Second-Order (MSO) formula.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="8953" LastEditorUserId="8953" LastEditDate="2015-12-08T13:01:20.947" LastActivityDate="2015-12-08T13:01:20.947" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33297" PostTypeId="1" AcceptedAnswerId="33339" CreationDate="2015-12-08T14:27:54.703" Score="0" ViewCount="571" Body="&lt;p&gt;Supposing we have a linear equation in $n^2$ variables with integer (negatives allowed) coefficients of at most $m$ bits each. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Partition $\Pi_1$ the variables into $n$ disjoint sets of $n$ variables each.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Make another partition $\Pi_2$ the following way. Pick $1$ variable in every disjoint set of variables in $\Pi_1$ form a new subset of variable of size $n$.  Pick $1$ variable in every disjoint set of variables in $\Pi_1$ not picked before to form a new subset of variable of size $n$. So we have another disjoint partition into $n$ disjoint sets of $n$ variables each.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;(1a)&lt;/strong&gt; Is it $\mathsf{NP}$-complete to decide if there is a valid (valid here means vanishing) $0/1$ assignment with exactly $n$ of assignments to be $1$ with exactly $1$ assignment per disjoint set?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;(1b)&lt;/strong&gt; Is it $\mathsf{NP}$-complete to decide if there is a valid (valid here means vanishing) $0/1$ assignment that satisfies exactly $n$ of assignments to be $1$ with exactly $1$ assignment per disjoint set $\Pi_1$ AND with exactly $1$ assignment per disjoint set $\Pi_2$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does subset sum reduce to both of these?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is a good reduction from any $\mathsf{NP}$-complete problem?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It seems to me that the problem &lt;strong&gt;(1a)&lt;/strong&gt; and &lt;strong&gt;(1b)&lt;/strong&gt; qualify as some restricted version of $n$-sum problems. This seems to imply problem is $\mathsf{NP}$-complete. That is it is likely that some special case of $n$-sum reduces to these problems. Since $n$ is a function of number of variables $n^2$ are these problems $\mathsf{NP}$-complete?&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;What if we add the promise that any satisfying assignment will have exactly $n$ $1$s?&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;(2)&lt;/strong&gt; Is it $\mathsf{NP}$-complete to decide if there is a valid (valid here means vanishing) $0/1$ assignment with exactly $n$ of assignments to be $1$ (without regard to partition)? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;has a trivial reduction as shown by Michael Wehar.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;A guess that we can think of &lt;strong&gt;(1a)&lt;/strong&gt; as following:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider problem:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;(3)&lt;/strong&gt; Given $n^2$ integers is there a way to partition the integers into disjoint subsets of size $n$ such that at least one of the subsets sum to $0$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This problem sounds much similar to problem in definition $2$ in section $1.2$ here &lt;a href=&quot;http://dreamboxx.com/mark/data/njc08.pdf&quot; rel=&quot;nofollow&quot;&gt;http://dreamboxx.com/mark/data/njc08.pdf&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;May be we can show &lt;strong&gt;(3)&lt;/strong&gt; is $\mathsf{NP}$-complete and find a way to reduce &lt;strong&gt;(1a)&lt;/strong&gt; to &lt;strong&gt;(3)&lt;/strong&gt;?&lt;/p&gt;&#xA;" OwnerUserId="1812" LastEditorUserId="1812" LastEditDate="2015-12-13T02:38:51.563" LastActivityDate="2015-12-13T02:38:51.563" Title="NP completeness of linear $0-1$ assignment problem" Tags="&lt;linear-programming&gt;&lt;np-complete&gt;&lt;integer-programming&gt;&lt;subset-sum&gt;&lt;complexity&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="33298" PostTypeId="1" CreationDate="2015-12-08T16:29:46.093" Score="2" ViewCount="37" Body="&lt;p&gt;What is the complexity status for the Nearest Common Ancestor Problem on Trees in which the leaves are attached to the tree in DFS order ? &#xA;i.e. Suppose one is visiting a tree T in DFS, and at any time one wants to answers NCA queries as NCA(x,y) for any &lt;strong&gt;already visited&lt;/strong&gt; vertices (x,y).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This can be done in constant time $O(1)$ per NCA query and leaf insertion on RAM machines (Gabow, Tarjan '83, Gabow '90), my question is: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;what is currently known concerning this problem on Pointer-Machines ? &lt;/p&gt;&#xA;" OwnerUserId="20792" LastEditorUserId="20792" LastEditDate="2015-12-08T17:15:28.320" LastActivityDate="2015-12-08T17:15:28.320" Title="Nearest Common Ancestor on DFS Tree (with Addition of Leaves in DFS Order) on Pointer Machines" Tags="&lt;ds.algorithms&gt;&lt;graph-algorithms&gt;" AnswerCount="0" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33300" PostTypeId="2" ParentId="7352" CreationDate="2015-12-08T20:57:15.187" Score="0" Body="&lt;p&gt;Stark example of this phenomena is the fact that it is &lt;a href=&quot;http://www.math.ias.edu/~avi/PUBLICATIONS/MYPAPERS/GW84/GW84.pdf&quot; rel=&quot;nofollow&quot;&gt;NP-complete to decide if undirected graph has a triangle&lt;/a&gt; when the input graph is succinctly represented using small circuits. The problem is in P for adjacency matrix representation.&lt;/p&gt;&#xA;" OwnerUserId="495" LastActivityDate="2015-12-08T20:57:15.187" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33303" PostTypeId="1" CreationDate="2015-12-09T06:04:29.473" Score="-3" ViewCount="81" Body="&lt;p&gt;Def: An abstract proof system is a polynomial time function f whose&#xA;range is equal to the set of tautologies. If T is a tautology, then an f-proof of T is any value w such that f(w)= T&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm a bit confused. To be a proof system every tautology needs to be able to be proven in polynomial-time?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What about proofs that a single formula follows from a set of formulas--do these proofs need to be done in polynomial-time? &#xA;Such as proving:&#xA;A&amp;amp;B-premise&#xA;B&amp;amp;C-premise&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;A&amp;amp;C&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(I'm aware one could put these three formulas into one formula and try to prove that. But technically that would be proving a single tautology and not that such and such follows from such and such.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What I'm asking is: &#xA;If one is given something like the above, but the system is such that it cannot prove A&amp;amp;C from the premises (in polynomial time)...yet the system can prove single formulas to be tautologies in polynomial time...then does the system meet the definition?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(let's say that in the system, for whatever reason, one can't just connect A&amp;amp;B, B&amp;amp;C, A&amp;amp;C in a single formula &#xA;(A&amp;amp;B) &amp;amp; (B&amp;amp;C) --&gt; (A&amp;amp;C))&lt;/p&gt;&#xA;" OwnerUserId="36690" LastActivityDate="2015-12-09T07:44:06.210" Title="On the (Cook) definition of a propositional proof system" Tags="&lt;proof-complexity&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ClosedDate="2015-12-16T04:43:50.377" ContentLicense="CC BY-SA 3.0" />
  <row Id="33305" PostTypeId="1" CreationDate="2015-12-09T07:13:55.400" Score="6" ViewCount="330" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;An abstract proof system is a polynomial time function $f$ whose&#xA;  range is equal to the set of tautologies. If $\tau$ is a tautology, then an $f$-proof of $\tau$ is any value $\pi$ such that $f(\pi) = \tau$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Is there an example of a propositional  proof system which doesn't satisfy this definition?&lt;/p&gt;&#xA;" OwnerUserId="36693" LastEditorUserId="186" LastEditDate="2015-12-09T11:48:16.853" LastActivityDate="2015-12-09T11:49:22.367" Title="Are there any propositional proof systems which are not Cook-Reckhow proof systems?" Tags="&lt;cc.complexity-theory&gt;&lt;lo.logic&gt;&lt;computability&gt;&lt;proof-complexity&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="33306" PostTypeId="2" ParentId="33303" CreationDate="2015-12-09T07:44:06.210" Score="6" Body="&lt;p&gt;$f$ is not a prover, it's a proof-checker. $w$ is the proof. And the polynomial is a polynomial of the length of the proof, which could be much larger than the length of the thing being proved. If you have a proof system for which checking whether something really is a proof (or figuring out what it's a proof of) takes more than polynomial time, then your proofs are too gappy.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2015-12-09T07:44:06.210" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33307" PostTypeId="2" ParentId="33305" CreationDate="2015-12-09T09:16:56.087" Score="9" Body="&lt;p&gt;Natural examples of propositional proof systems that do not fall under this definition are algebraic proof systems where the lines in the proof are arbitrary polynomials (not necessarily fully expanded). To verify the correctness of such proofs, among other things one has to test the identity of polynomials, which is not known to be possible in deterministic polynomial time. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Cf. the paper &quot;&lt;a href=&quot;https://www.cs.toronto.edu/~toni/Papers/pitassi-algebraic.ps&quot;&gt;Algebraic propositional proof systems&lt;/a&gt;&quot; by Toni Pitassi, in  DIMACS Series in Discrete Mathematics and Theoretical Computer Science, Volume 31, Descriptive Complexity and Finite Models, Immerman and Kolaitis (Eds.), pp. 215-244, 1996.  &lt;/p&gt;&#xA;" OwnerUserId="6579" LastActivityDate="2015-12-09T09:16:56.087" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33308" PostTypeId="1" CreationDate="2015-12-09T11:14:13.097" Score="4" ViewCount="246" Body="&lt;p&gt;Assuming that $P \ne NP$ &#xA;how surprising would it be if a weaker form of $P = NP$ holds? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example consider the following weaker forms of $P = NP$:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;$NP \subseteq DTime(2^{O(n^\varepsilon)})$ for some $\varepsilon &amp;lt; 1$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;$NP \subseteq DTime(2^{cn})$ for some constant $c &amp;lt; 1$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;$NP \not\subseteq DTime(2^{O(n^\varepsilon)})$ for any $\varepsilon &amp;lt; 1$, but &#xA;there is an efficient algorithm &#xA;that solves all (or say 99% of) instances that come up in practice.&lt;br&gt;&#xA;E.g. there is some efficiently computable set of inputs and&#xA;an efficient algorithm that solves the promise problem on that set.&#xA;The set contains all &quot;real-world&quot; instances of the problem.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;$NP \not\subseteq DTime(2^{O(n^\epsilon)})$ for any $\epsilon &amp;lt; 1$, but &#xA;there is an efficient probabilistic algorithms &#xA;that is correct with probability $p$ (where $p &amp;lt; 1$).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;5-8. 1-4 above with a quantum computer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;How surprising would any of these statements be to theoreticians &#xA;compared to $P = NP$?&lt;/p&gt;&#xA;" OwnerUserId="34434" LastEditorUserId="4896" LastEditDate="2015-12-09T22:50:29.523" LastActivityDate="2015-12-09T22:50:29.523" Title="Possibility of weaker forms of $P = NP$" Tags="&lt;cc.complexity-theory&gt;" AnswerCount="0" CommentCount="8" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33309" PostTypeId="2" ParentId="33305" CreationDate="2015-12-09T11:39:04.957" Score="2" Body="&lt;p&gt;Assume that you have an algorithm $A$ which satisfies soundness and completeness. You can define a new proof checker which is sound, complete, and runs in polynomial time: it checks if a given $\pi$ is a accepting computation history of $A$ which can be done in polynomial time (in fact $AC^0_2$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The take away is if a proof system is not polynomial time then it is moving from a simple proof checker to something that has to compute and find (some parts of) the proof. There is a trade off between length of shortest proofs and the efficiency of the proof checker. A proof checker is not supposed to search for a proof, just check if a given proof is correct.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is true even in the case of examples that Jan mentions in his answer. The main issue is not that they are algebraic, the main issue is that they are semantic not syntactic: the condition that one line follows from previous ones cannot be checked efficiently. These systems are mainly for mathematical understanding, not proof checking algorithms that can be used (in their semantic form). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For proof checker to make sense in practice we need it to be sound, complete, and efficient (in the general sense, not just what is implied by Cobham thesis).&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2015-12-09T11:49:22.367" LastActivityDate="2015-12-09T11:49:22.367" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="33311" PostTypeId="1" CreationDate="2015-12-09T15:28:17.413" Score="2" ViewCount="216" Body="&lt;p&gt;I'm a physicist who works on inverse problems; I'll explain what these are by means of an example. Consider an object whose refractive index is known; then, the problem of computing scattered electromagnetic fields (also called the forward problem) has a unique solution (whose complexity is essentially that of solving a system of linear equations). The inverse problem is one where one &lt;em&gt;estimates&lt;/em&gt; the refractive index of an object &lt;em&gt;given&lt;/em&gt; the measurements of the scattered electromagnetic fields.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The inverse problem is nonlinear, ill-posed, and ill-conditioned. Such a problem has no unique solution, and shows several local minima if attacked by local optimization techniques. Further more, if I am given a solution, I have no way of checking whether it is the best solution (say in a least squares sense) or not. How would I go about trying to find out, or even start to think, whether this problem is in NP?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'd appreciate any pointers to appropriate resources if you think the question is too basic for this forum. Thanks!&lt;/p&gt;&#xA;" OwnerUserId="36698" LastActivityDate="2015-12-09T15:28:17.413" Title="Are ill-posed inverse problems in NP?" Tags="&lt;cc.complexity-theory&gt;&lt;np&gt;&lt;physics&gt;" AnswerCount="0" CommentCount="3" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="33312" PostTypeId="1" AcceptedAnswerId="33316" CreationDate="2015-12-05T17:00:02.360" Score="15" ViewCount="395" Body="&lt;p&gt;For any arbitrary NP complete language is there always a polytime superset the complement of which is also infinite?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A trivial version which does not stipulate the superset to have infinite complement has been asked at &lt;a href=&quot;https://cs.stackexchange.com/q/50123/42961&quot;&gt;https://cs.stackexchange.com/q/50123/42961&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For purposes of this question, you can assume that $P \ne NP$.  As Vor explained, if $P = NP$ then the answer is &quot;No&quot;.  (If $P = NP$, then $X = \{x \mid x \in \mathbb{N^+} \land x &amp;gt; 1\}$ is NP-complete. Clearly there is no superset of $X$ which is infinite and has an infinite complement, as the complement of $X$ has only a single element.)  Thus we can focus on the case $P \ne NP$.&lt;/p&gt;&#xA;" OwnerUserId="17763" OwnerDisplayName="ARi" LastEditorUserId="-1" LastEditDate="2017-04-13T12:48:30.830" LastActivityDate="2015-12-24T17:49:14.767" Title="Poly time superset of NP complete language with infinitely many strings excluded from it" Tags="&lt;cc.complexity-theory&gt;&lt;np-complete&gt;&lt;structural-complexity&gt;" AnswerCount="2" CommentCount="3" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="33313" PostTypeId="1" CreationDate="2015-12-09T17:57:00.283" Score="2" ViewCount="410" Body="&lt;p&gt;I have a linear program (LP) for which the constraint matrix is NOT totally unimodular (TU).  However, even though constraint matrix is small (14x20), extensive generation of random coefficients for objective function did not allow me to find the problem formulation for which optimal solution value changes if I add integrality constraints.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I believe that the reason might be that I also have some constraints on the objective function coefficients - I know that some coefficients are 0'os, and some coefficients are equal.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given that, I wanted to know if it is possible to prove that given my specific subset of objective functions the objective will always be integral, and what should be the way to do that.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Provided that my hypothesis is true, I also wanted to ask if it is easy to find an integer solution, given the solution of an LP, if I know that the objective function value will be the same. (Some kind of movement on the hyperplane of active constraints?)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any relevant literature links are appreciated.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thank you!&lt;/p&gt;&#xA;" OwnerUserId="26666" LastActivityDate="2015-12-09T17:57:00.283" Title="How to prove integrality of LP with not totally unimodular matrix" Tags="&lt;optimization&gt;&lt;linear-programming&gt;&lt;integer-programming&gt;" AnswerCount="0" CommentCount="4" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="33314" PostTypeId="2" ParentId="33312" CreationDate="2015-12-09T19:48:21.993" Score="5" Body="&lt;p&gt;Interesting question. &#xA;The statement &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;for every NP-complete $L$, there is $U$ in P such that $L \subseteq U$ and $U^c$ is infinite. &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;is equivalent to:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;for every NP-complete $L$, complement of $L$ contains an infinite P set. &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;which is in turn equivalent to &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;every coNP-complete set contains an infinite P set. &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;strike&gt;which is by symmetry the same as &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;every NP-complete set contains an infinite P-set.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I don't think the answer is known.&#xA;I think natural NP-complete sets satisfy this condition easily. &#xA;I don't think we have tools to build an artificial set &#xA;which fails the statement.&#xA;&lt;/strike&gt; (see Lance's comment below)&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2015-12-10T15:23:14.243" LastActivityDate="2015-12-10T15:23:14.243" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="33316" PostTypeId="2" ParentId="33312" CreationDate="2015-12-09T20:43:55.457" Score="10" Body="&lt;p&gt;Every $\mathsf{coNP}$-complete set contains an infinite subset in $\mathsf{P}$ assuming that &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;pseudorandom generators exist, and &lt;/li&gt;&#xA;&lt;li&gt;secure one-way permutations exist.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;In other words, assuming that these two conjectures are true, &#xA;no $\mathsf{coNP}$-complete set is P-&lt;a href=&quot;https://en.wikipedia.org/wiki/Simple_set&quot; rel=&quot;nofollow&quot;&gt;immune&lt;/a&gt;.&#xA;As pointed out in the comments by Lance, &#xA;this is implied by Theorem 4.4 of &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Glasser, Pavan, Selman, and Sengupta, &quot;&lt;a href=&quot;http://epubs.siam.org/doi/abs/10.1137/S009753970444421X&quot; rel=&quot;nofollow&quot;&gt;Properties of NP-complete sets&lt;/a&gt;&quot;,&#xA;SIAM J. Comput. 36(2), 516–542.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;(Kaveh has already shown that your question is equivalent to &#xA;whether every $\mathsf{coNP}$-complete sets &#xA;contains an infinite $\mathsf{P}$ subset. &#xA;In other language, &#xA;this is saying that no $\mathsf{coNP}$-complete set is &quot;$\mathsf{P}$-immune.&quot; This is the language used in the above-referenced theorem.)&lt;/p&gt;&#xA;" OwnerUserId="129" LastEditorUserId="186" LastEditDate="2015-12-24T17:49:14.767" LastActivityDate="2015-12-24T17:49:14.767" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="33317" PostTypeId="1" CreationDate="2015-12-09T21:09:54.187" Score="2" ViewCount="83" Body="&lt;p&gt;Gaussian filtering is popular in applications, for my question it can be written as (I've fixed the size of window):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$y_i = \sum_{j = 1}^{n} x_j e^{(i - j)^2}, \qquad i = 1, 2, ..., n $$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One can implement this operation (computing y for given x) via FFT in $n \log(n)$ operations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The question I am interested: &lt;strong&gt;is $n \log(n)$ really a limit?&lt;/strong&gt; If yes, how can I prove this? If not - how do I write a faster implementation?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Example&lt;/strong&gt; If I had laplacian kernel instead of gaussian, &#xA;$$y_i = \sum_{j = 1}^{n} x_j e^{|i - j|}, \qquad i = 1, 2, ..., n, $$&#xA;I would be able to compute this in $O(n)$ operations.&lt;/p&gt;&#xA;" OwnerUserId="36704" LastEditorUserId="36704" LastEditDate="2015-12-10T03:50:32.633" LastActivityDate="2015-12-10T03:50:32.633" Title="Is gaussian smoothing possible in less operations than O(N log N)" Tags="&lt;cc.complexity-theory&gt;&lt;fft&gt;&lt;convolution&gt;" AnswerCount="0" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33319" PostTypeId="1" AcceptedAnswerId="33322" CreationDate="2015-12-10T02:15:02.997" Score="8" ViewCount="1025" Body="&lt;p&gt;Can intersection of two languages in NP which are not NP complete be NP complete?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can intersection of two languages in coNP which are not coNP complete be coNP complete?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can intersection of two languages one in coNP but not complete and other in NP but not NP complete be NP complete or coNP complete?&lt;/p&gt;&#xA;" OwnerUserId="1812" LastActivityDate="2015-12-30T22:01:31.897" Title="Intersection of languages in NP" Tags="&lt;complexity-classes&gt;&lt;np&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="33320" PostTypeId="1" AcceptedAnswerId="33342" CreationDate="2015-12-10T02:56:42.960" Score="12" ViewCount="2276" Body="&lt;p&gt;I am a math major interested on TCS. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I want to self-study the algorithms, and complexity of them for solving the group theoretical problems like find order of elements, coset enumeration, find generator, test if a given subset generates the group. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;What book should I read?&lt;/p&gt;&#xA;" OwnerUserId="36436" LastEditorUserId="36436" LastEditDate="2015-12-15T16:47:37.473" LastActivityDate="2015-12-16T23:10:32.043" Title="Book for self study of algorithms in group theory" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;gr.group-theory&gt;&lt;books&gt;" AnswerCount="6" CommentCount="3" FavoriteCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="33321" PostTypeId="2" ParentId="33297" CreationDate="2015-12-10T05:13:43.177" Score="4" Body="&lt;p&gt;It seems that we can reduce &lt;a href=&quot;https://en.wikipedia.org/wiki/Subset_sum_problem&quot; rel=&quot;nofollow&quot;&gt;Subset Sum&lt;/a&gt; to your problem (2).  Hence, your problem (2) is NP-complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider the following formulation of Subset Sum.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Instance:&lt;/strong&gt; A multi-set consisting of $n$ integers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question:&lt;/strong&gt; Does there exist a subset of size at least $1$ that sums to zero?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, we reduce Subset Sum to your problem (2).  Let a multi-set $X$ consisting of $n$ integers be given.  We construct a new multi-set $X'$ with $n^2$ integers by taking $X$ and adding integers to it.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;We throw $(n-1)$ zeros into $X$ and we throw $(n^2 - 2n + 1)$ very large numbers into $X$.  The very large numbers are large enough so that we can't choose any of them and still sum to zero.  However, we can either choose the zeros or not choose the zeros for a subset.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, we have that $X$ has a subset of size at least $1$ that sums to zero if and only if $X'$ has a subset of size exactly $n$ that sums to zero.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This $X'$ can be viewed as an instance for your problem 2.  Hence, we are done with the reduction.&lt;/p&gt;&#xA;" OwnerUserId="14207" LastEditorUserId="14207" LastEditDate="2015-12-10T05:19:11.990" LastActivityDate="2015-12-10T05:19:11.990" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="33322" PostTypeId="2" ParentId="33319" CreationDate="2015-12-10T10:43:32.570" Score="19" Body="&lt;p&gt;Just an extended comment to better explain ARi's comment (I was writing it while I saw it).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is sufficient to use a &quot;large gap&quot; approach similar to the one used in Lardner's theorem; for example:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$A_1 = \{ x \mid x \in SAT \land f(|x|) \text { is even}\} \cup \{x \mid f(|x|) \text{ is odd} \}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$A_2 = \{ x \mid x \in SAT \land f(|x|) \text { is odd}\} \cup \{x \mid f(|x|) \text{ is even} \}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Where $f$ is a slow enough increasing function computable in polynomial time. See for example its construction in Ladner's theorem proof in &lt;a href=&quot;http://www.cs.umd.edu/~gasarch/COURSES/652/S14/uniform.pdf&quot; rel=&quot;noreferrer&quot;&gt;Appendix A.1 of Uniformly Hard Languages&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By construction $A_1, A_2$ are not NPC, but $A_1 \cap A_2 = SAT$&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="2367" LastEditDate="2015-12-30T22:01:31.897" LastActivityDate="2015-12-30T22:01:31.897" CommentCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="33324" PostTypeId="2" ParentId="8609" CreationDate="2015-12-10T13:07:43.370" Score="3" Body="&lt;p&gt;We uploaded a preprint that addresses this question, i.e. gives a PTAS for max scatter TSP in the euclidean case. &#xA;&lt;a href=&quot;http://arxiv.org/abs/1512.02963&quot; rel=&quot;nofollow&quot;&gt;http://arxiv.org/abs/1512.02963&lt;/a&gt; &#xA;(László Kozma, Tobias Mömke: A PTAS for Euclidean Maximum Scatter TSP)&lt;/p&gt;&#xA;" OwnerUserId="1609" LastActivityDate="2015-12-10T13:07:43.370" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33327" PostTypeId="2" ParentId="6095" CreationDate="2015-12-11T00:14:51.580" Score="5" Body="&lt;p&gt;It's NP-complete, via a modified version of the reduction Wigderson used to prove that Hamiltonicity of maximal planar graphs is NP-complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Careful examination of Wigderson's 1982 NP-completeness proof of hardness for Hamiltonian cycles in maximal planar graphs (&lt;a href=&quot;http://www.math.ias.edu/avi/node/820&quot;&gt;http://www.math.ias.edu/avi/node/820&lt;/a&gt;) shows that the instances produced by his reduction have the property that there exists an edge $e$ such that either there exists a Hamiltonian cycle through $e$ or there does not exist any Hamiltonian cycle at all. For instance, $e$ can be chosen to be one of the edges in one of Wigderson's $M$-gadgets.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $G$ be a hard instance constructed  in this way, and embed $G$ so that the edge $e$ belongs to the outer triangle of the embedding. Connect many copies of this embedded graph so that their $e$-edges form a cycle, and make the result maximal planar again by adding two more vertices, one on each side of this cycle, connected to all the exposed vertices of the copies of $G$. Let the number of copies be $c$, and call the resulting graph $H$. Let $n$ be the number of vertices in $G$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Our hard instance for the largest common subgraph will be the pair $(H,B)$ where $B$ is a bipyramid with the same number of vertices as $H$. Thus, an optimal common subgraph will have to pair all of the vertices. If we make $c$ large enough, the subgraph will necessarily pair the apexes of the bipyramid with the two added vertices in $H$, because their degrees ($c$ and $2c$) will be sufficiently higher than every other vertex in $H$, so that adding these degrees to the solution size will make up for any disruption elsewhere caused by this pairing.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $G$ is Hamiltonian, then the common subgraph formed by matching the Hamiltonian cycle (minus $e$) in the copies of $G$ to the equator of the bipyramid will have $c(n+2)$ edges, $c(n-1)$ for the equator and $3c$ for the apexes. If $G$ is not Hamiltonian, then (for large enough choices of $c$ that the optimal solution pairs the apexes correctly) any common subgraph will have fewer edges: still $3c$ at the apexes but fewer than $c(n-1)$ elsewhere. So testing whether the common subgraph of $H$ and $B$ has at least $c(n+2)$ edges is NP-complete.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2015-12-11T00:14:51.580" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33328" PostTypeId="2" ParentId="33320" CreationDate="2015-12-11T00:39:04.890" Score="16" Body="&lt;p&gt;It really makes a difference what the input to the algorithm is: how do you specify a group?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you want groups given by generators and relators, I would suggest &lt;em&gt;Combinatorial Group Theory&lt;/em&gt;, by Magnus, Karrass, and Solitar (but algorithms there are sparse because too many of the important problems are undecidable).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you want automatic groups (groups whose elements are strings of symbols and whose group operations are performed by finite automata, with applications in low-dimensional topology), I would suggest &lt;em&gt;Word Processing in Groups&lt;/em&gt; by Epstein (not me!), Cannon, Holt, Levy, Paterson, and Thurston.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you want permutation groups (the kind of group-theoretic algorithm that is most relevant e.g. for graph isomorphism) then Seress has a book &lt;em&gt;Permutation Group Algorithms&lt;/em&gt; but I don't have a copy so I can't tell you whether it's any good.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There should be a fourth paragraph here about matrix group algorithms but I don't know of a book on that topic. There's a little coverage in Seress's book.&lt;/p&gt;&#xA;" OwnerUserId="95" LastEditorUserId="95" LastEditDate="2015-12-12T06:21:04.503" LastActivityDate="2015-12-12T06:21:04.503" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33329" PostTypeId="1" CreationDate="2015-12-11T01:16:48.803" Score="4" ViewCount="247" Body="&lt;p&gt;Is it NP-hard to partition the vertex set of graph G into k subsets so that they induce k claw-free subgraphs of G?&lt;/p&gt;&#xA;" OwnerUserId="36718" LastEditorUserId="879" LastEditDate="2015-12-11T08:06:50.547" LastActivityDate="2015-12-11T19:53:50.260" Title="Partition graph into 2 or more claw-free subgraphs" Tags="&lt;reference-request&gt;&lt;graph-theory&gt;&lt;np-hardness&gt;&lt;np-complete&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="33330" PostTypeId="2" ParentId="33329" CreationDate="2015-12-11T03:27:39.590" Score="6" Body="&lt;p&gt;It's NP-complete for any number three or more of subgraphs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose you have a graph $G$ for which 3-coloring is hard. Then partitioning $G\times K_7$ into three claw-free induced subgraphs is also hard.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here, $\times$ is the &lt;a href=&quot;https://en.wikipedia.org/wiki/Tensor_product_of_graphs&quot;&gt;tensor product of graphs&lt;/a&gt;.&#xA;Each vertex of $G$ is blown up into an independent set of size $7$, and&#xA;each edge of $G$ is blown up into a subgraph $K_{7,7}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a coloring of $G$, you can partition it into claw-free induced subgraphs (actually, independent sets, but independent sets are claw-free) by applying the same coloring to $G\times K_7$. On the other hand, suppose you have a claw-free partition of $G\times K_7$; then for each vertex $v$ of $G$ choose a subgraph of the partition that has at least three vertices of $v\times K_7$ and use that choice to color $v$. The result should be a proper coloring, because if not it contains a claw (actually, a $K_{3,3}$, but $K_{3,3}$ contains a claw).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The same reduction (using a tensor product with a larger complete graph) works for partitioning into any larger number of claw-free induced subgraphs.&#xA;I suspect that even partitioning into two claw-free induced subgraphs is hard, but that would take a different proof.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2015-12-11T03:27:39.590" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33334" PostTypeId="2" ParentId="33329" CreationDate="2015-12-11T19:53:50.260" Score="10" Body="&lt;p&gt;It is NP-hard, even for $k=2$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is a special case of a theorem by Farrugia (Alastair Farrugia, Vertex-partitioning into fixed additive&#xA;induced-hereditary properties is NP-hard, The electronic journal of combinatorics 11 (2004), &lt;a href=&quot;http://www.combinatorics.org/ojs/index.php/eljc/article/view/v11i1r46&quot;&gt;#R46&lt;/a&gt;), &#xA;stating that it is NP-complete to test if the vertex set a graph can be partitioned into two subsets &#xA;A and B such that G(A) belongs to the graph class P and G(B) belongs to the graph class Q, provided &#xA;P and Q are closed under taking vertex-disjoint unions and talking induced subgraphs, and at least &#xA;one of P and Q is non-trivial (meaning not all graphs in the class are edgeless). &lt;/p&gt;&#xA;" OwnerUserId="6706" LastActivityDate="2015-12-11T19:53:50.260" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33335" PostTypeId="2" ParentId="33320" CreationDate="2015-12-11T19:59:08.293" Score="6" Body="&lt;p&gt;The most modern and comprehensive reference is probably &quot;Handbook of Computational Group Theory&quot; by Holt, Eick and O'Brien &lt;a href=&quot;https://www.crcpress.com/Handbook-of-Computational-Group-Theory/Holt-Eick-OBrien/9781584883722&quot;&gt;(link)&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A classic reference is &quot;Computation in Finitely Presented Groups&quot; by Charles Simms.&lt;/p&gt;&#xA;" OwnerUserId="13286" LastActivityDate="2015-12-11T19:59:08.293" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33336" PostTypeId="2" ParentId="33320" CreationDate="2015-12-11T20:49:50.417" Score="4" Body="&lt;p&gt;Not a book but maybe A. Hulpke's &lt;a href=&quot;http://www.math.colostate.edu/~hulpke/CGT/cgtnotes.pdf&quot;&gt;Notes on Computational Group Theory&lt;/a&gt; are of interest? &lt;/p&gt;&#xA;" OwnerUserId="898" LastActivityDate="2015-12-11T20:49:50.417" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33339" PostTypeId="2" ParentId="33297" CreationDate="2015-12-12T01:44:08.777" Score="5" Body="&lt;p&gt;If I understood it well, (1) is also NP-complete, a possible reduction is from SUBSET SUM:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a set of $m$ positive integers $A = \{a_1, ..., a_m\}$, and a positive integer $B$, is there a subset of $A' \subseteq A$ a such that $\sum_{a_i \in A'} a_i$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You simply pick $n = (m+1)$ and build your set in this way:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;add $ a_1, a_2, , ..., a_m$&lt;/li&gt;&#xA;&lt;li&gt;add $m$ zeros&lt;/li&gt;&#xA;&lt;li&gt;add the only negative number $-B$&lt;/li&gt;&#xA;&lt;li&gt;&quot;fill&quot; the other remaining $n^2 - 2m - 1$ elements with $C = \sum_{a_i} + B +1$&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;($\Rightarrow$) If the original subset sum has a solution $A'$ then it is sufficient to use this partition $\Pi_1$&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;a1  C  C  ... C  0  C&#xA; 0 a2  C  ... C  C  C&#xA;        ....&#xA; C  C     ... 0 am  C&#xA; C  C     ... C  C -B&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;and for each &quot;row&quot; pick $a_i$ if $a_i \in A'$, $0$ otherwise (and pick the final $-B$)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;($\Leftarrow$) If there is a partition $\Pi_1$ with a vanishing 0/1 assignment then note that:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(i)  none of the $C$s can be picked (they are too large);&lt;br&gt;&#xA;(ii) at least one row must contain all elements different from $0$ (because there are $m+1$ rows and only $m$ zeros); so at least one nonzero element must be picked;&lt;br&gt;&#xA;(iii) in every case the $-B$ element must be picked to vanish the sum&lt;br&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So the elements $a_i$ picked, no matter how the elements are partitioned between the rows, sum exactly to $B$; i.e. they are a valid solution for the original SUBSET SUM problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;OUCH! I just read Michael's answer about problem (2) and the reduction is almost the same ... so you can also accept his answer!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT&lt;/strong&gt;: the reduction remains valid for the &lt;strong&gt;(1b)&lt;/strong&gt; case:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The ($\Leftarrow$) direction it uses only the constraints on $\Pi_1$ which are the same of case 1a (exactly 1 &quot;pick&quot; from each row).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The ($\Rightarrow$) direction is also valid; to see it &quot;visually&quot;, just build the main diagonal of $\Pi_1$ with the elements of $a_i \in A'$, the element $-B$, while the remaining elements of the diagonal are $0$s.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example if $m = 5$ and the solution of the subset sum is $A' = \{ a_1, a_2, a_4 \}$, $\Pi_1$ is:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt; a1  0  C   C  C   C&#xA;  C a2  0   C  C   C&#xA;  C  C  0  a3  C   C&#xA;  C  C  C  a4  0   C&#xA;  C  C  C   C  0  a5&#xA;  C  C  C   C  c  -B&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;In this way you can build $\Pi_2$ setting the element $j$ of row $i$-th equal to element $j$ of column $i$ in $\Pi_1$. The assignment clearly vanishes both $\Pi_1$ and $\Pi_2$ and the constraints are met.&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2015-12-12T10:36:18.217" LastActivityDate="2015-12-12T10:36:18.217" CommentCount="17" ContentLicense="CC BY-SA 3.0" />
  <row Id="33342" PostTypeId="2" ParentId="33320" CreationDate="2015-12-12T04:26:26.927" Score="6" Body="&lt;p&gt;If you're interested in the group theory that's relevant for Graph Isomorphism, then in addition to Seress's book that David Eppstein mentioned, I would highly recommend&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Dixon and Mortimer's &lt;a href=&quot;http://www.ams.org/mathscinet-getitem?mr=1409812&quot; rel=&quot;noreferrer&quot;&gt;Permutation Groups&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The above is a book on &quot;just&quot; group theory, but of the books on pure group theory, it is probably the most relevant to Graph Isomorphism.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A book that is more directly about algorithms for graph isomorphism, which puts group-theoretic algorithms at center stage, is:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Christoph Hoffman. &lt;a href=&quot;http://dx.doi.org/10.1007/3-540-11493-9/&quot; rel=&quot;noreferrer&quot;&gt;Group-theoretic algorithms and graph isomorphism&lt;/a&gt;. Springer Lecture Notes in Computer Science 136.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The latter (together with Paolo Codenotti's thesis) is currently one of the few widely accessible places where you can really find a complete account of some of the more group-theoretic algorithms for graph isomorphism.&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2015-12-12T04:26:26.927" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33343" PostTypeId="1" AcceptedAnswerId="33386" CreationDate="2015-12-12T11:23:49.973" Score="7" ViewCount="274" Body="&lt;p&gt;Does anyone recognise the following problems? Do they have names? Are they hard?&lt;/p&gt;&#xA;&lt;p&gt;If we were looking for an exact match (0 mismatches), these would be solvable in polynomial time (using e.g. standard algorithms for rooted tree isomorphism). But what about the inexact case?&lt;/p&gt;&#xA;&lt;h2&gt;Variant 1&lt;/h2&gt;&#xA;&lt;p&gt;&lt;strong&gt;Input:&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;A rooted perfect full binary tree &lt;span class=&quot;math-container&quot;&gt;$T$&lt;/span&gt; with &lt;span class=&quot;math-container&quot;&gt;$2^k-1$&lt;/span&gt; nodes; let &lt;span class=&quot;math-container&quot;&gt;$V$&lt;/span&gt; be the set of nodes.&lt;/li&gt;&#xA;&lt;li&gt;Functions &lt;span class=&quot;math-container&quot;&gt;$x\colon V\to \{0,1\}$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$y\colon V\to \{0,1\}$&lt;/span&gt;.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;strong&gt;Output:&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Automorphism &lt;span class=&quot;math-container&quot;&gt;$f\colon V \to V$&lt;/span&gt; of tree &lt;span class=&quot;math-container&quot;&gt;$T$&lt;/span&gt; that minimises the number of nodes &lt;span class=&quot;math-container&quot;&gt;$v \in V$&lt;/span&gt; with &lt;span class=&quot;math-container&quot;&gt;$x(v) \ne y(f(v))$&lt;/span&gt; — these are called &lt;em&gt;mismatches&lt;/em&gt;.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Put otherwise, the task is to find a labelling &lt;span class=&quot;math-container&quot;&gt;$x'$&lt;/span&gt; such that &lt;span class=&quot;math-container&quot;&gt;$x'$&lt;/span&gt; is as close to &lt;span class=&quot;math-container&quot;&gt;$x$&lt;/span&gt; as possible (minimise the number of elements that differ) and the labelled trees &lt;span class=&quot;math-container&quot;&gt;$(T,x')$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$(T,y)$&lt;/span&gt; are isomorphic.&lt;/p&gt;&#xA;&lt;h2&gt;Variant 2&lt;/h2&gt;&#xA;&lt;p&gt;The same as above, but only leaf nodes can have non-zero labels.&lt;/p&gt;&#xA;" OwnerUserId="74" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2015-12-18T17:14:42.097" Title="Inexact labelled binary tree matching" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;optimization&gt;&lt;tree&gt;&lt;binary-trees&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33345" PostTypeId="1" CreationDate="2015-12-13T01:44:19.853" Score="3" ViewCount="161" Body="&lt;p&gt;&lt;a href=&quot;http://www.staff.science.uu.nl/~gadda001/goodtheorist/&quot; rel=&quot;nofollow&quot;&gt;http://www.staff.science.uu.nl/~gadda001/goodtheorist/&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I was wondering if any one has come across a page similar to the above but for CS.&lt;/p&gt;&#xA;" OwnerUserId="36194" LastActivityDate="2015-12-13T01:44:19.853" Title="Is there a computer science equivalent page for this: &quot;How to become a GOOD Theoretical Physicist&quot;?" Tags="&lt;advice-request&gt;" AnswerCount="0" CommentCount="3" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="33347" PostTypeId="1" AcceptedAnswerId="33351" CreationDate="2015-12-13T18:33:28.393" Score="4" ViewCount="129" Body="&lt;p&gt;Is there a $c&amp;gt;1$ (maybe $c=2$) such that every lower than rank $n^{1/c}$ graphs on $n$ vertices can be tested to be in polynomial time?&lt;/p&gt;&#xA;" OwnerUserId="1812" LastActivityDate="2015-12-14T02:37:22.780" Title="On low rank graph isomorphism" Tags="&lt;graph-isomorphism&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="33348" PostTypeId="1" AcceptedAnswerId="33350" CreationDate="2015-12-13T19:27:31.487" Score="-5" ViewCount="128" Body="&lt;p&gt;i'm confused since i see some books mention the NP time algorithms as &quot;very lucky&quot; that means it always finds the right path? also can someone explain the coming points to me please...&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;A nondeterministic computation is viewed as:&lt;br&gt;&#xA;(i) when a choice point is reached, an infallible oracle can be&#xA;consulted to determine the right option.&#xA;(ii) When a choice point is reached, all choices are made and&#xA;computation can proceed simultaneously.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;thank you in advance , i kinda need to get clear about what NP is about&lt;/strong&gt; &lt;/p&gt;&#xA;" OwnerUserId="36747" LastActivityDate="2015-12-13T20:47:38.293" Title="non deterministic algorithm always find the right solution?" Tags="&lt;np&gt;" AnswerCount="1" CommentCount="2" ClosedDate="2015-12-15T14:10:31.953" ContentLicense="CC BY-SA 3.0" />
  <row Id="33350" PostTypeId="2" ParentId="33348" CreationDate="2015-12-13T20:47:38.293" Score="0" Body="&lt;p&gt;Both are true: if you try all the paths or just the right one, in the end you'll have the same result.&lt;/p&gt;&#xA;" OwnerUserId="36502" LastActivityDate="2015-12-13T20:47:38.293" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="33351" PostTypeId="2" ParentId="33347" CreationDate="2015-12-14T02:37:22.780" Score="1" Body="&lt;p&gt;There is such a c if and only if GI &quot;can be tested to be in polynomial time&quot;,&#xA;&lt;br&gt;&#xA;since one can pad with n&lt;sup&gt;c&lt;/sup&gt; isolated vertices.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I don't know of any results on random self reducibility of GI.&lt;/p&gt;&#xA;" OwnerDisplayName="user6973" LastActivityDate="2015-12-14T02:37:22.780" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="33352" PostTypeId="2" ParentId="33274" CreationDate="2015-12-14T04:12:41.500" Score="2" Body="&lt;p&gt;If Graph Isomorphism is randomly self-reducible in the sense of the question (clarified in the comments), then it could be solved in poly time. The reason is that there is in fact an average-case &lt;em&gt;linear time&lt;/em&gt; algorithm for GI (even a canonical form) [BK].&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For Group Isomorphism, this is not known. However, it's also somewhat of a funny question, because of how much the group order can restrict the structure of a group. In many senses, most groups are of order $2^k$, and are nilpotent of class 2. I find it hard to see how one would get a random self-reduction for GroupIso...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[BK]. Laszlo Babai, Ludik Kucera, &lt;a href=&quot;http://doi.ieeecomputersociety.org/10.1109/SFCS.1979.8&quot; rel=&quot;nofollow&quot;&gt;Canonical labelling of graphs in linear average time&lt;/a&gt;. FOCS 1979, pp.39-46.&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2015-12-14T04:12:41.500" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="33355" PostTypeId="1" AcceptedAnswerId="33357" CreationDate="2015-12-14T12:47:12.493" Score="3" ViewCount="127" Body="&lt;p&gt;Let $G_1=(V_1,E_1)$ and $G_2=(V_2,E_2)$ be graphs and let $h:V_2\to V_1$ be a map such that, for every edge $(u_1,v_1)\in E_1$, there is an edge $(u_2,v_2)\in E_2$ such that $h(u_2)=u_1$ and $h(v_2)=v_1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This kind of maps has occurred in our recent research in Database Theory. We think that it looks like a natural &quot;dual&quot; to graph homomorphisms, where $h$ would be $V_1\to V_2$ and map each edge of $G_1$ to an edge of $G_2$. However, we could not find it in the literature, but, since we do not have a name for it, maybe we searched in the wrong places.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some background: in Database Theory, homomorphisms play an important role in the context of the containment problem for conjunctive queries. The &quot;kind-of-dual&quot; form occurs in the context of parallel query evaluation. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In this slightly extended context, testing for existence of such a mapping is NP-complete, and I expect that also for graphs. However, I am not asking for complexity results, but I would be be grateful for pointers to the literature (or even a &lt;em&gt;name&lt;/em&gt;, for that matter).&lt;/p&gt;&#xA;" OwnerUserId="32258" LastEditorUserId="109" LastEditDate="2015-12-15T10:01:56.120" LastActivityDate="2015-12-15T10:01:56.120" Title="Has this form of &quot;kind-of-dual&quot; homomorphisms been studied?" Tags="&lt;co.combinatorics&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33356" PostTypeId="1" CreationDate="2015-12-14T13:23:26.390" Score="1" ViewCount="108" Body="&lt;p&gt;Let $a_1,\cdots,a_n$ and $\theta$ be positive reals, define $A^{k}$ to be:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$A^0=\emptyset;\text{ } A^k=A^{k-1}\cup \{\sum_{i\in S}a_i\mid S\subseteq [n], |S|=k\},$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;namely the sum set without repetition.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;And the distance between two point sets are defined as $d(A,B)=\min_{x\in A; y\in B} \{|x-y|\}$, explore the property of sequence $\{d(A^n,\{\theta\})\}_{n=1}^{\infty}$, or given $\delta &amp;lt;&amp;lt; \theta$, estimate the minimal $k$ such that $d(A^k, [\theta-\delta, \theta+\delta])=0$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This math problem has concrete connection with communication complexity of linear threshold function, where every bit of input is obtained via AND of corresponding bits from two parties. If the decreasing of sequence $\{d(A^n,\{\theta\})\}_{n=1}^{\infty}$ is rapid, then if furthermore linear threshold function has high communication complexity, then we can obtain smooth property about its weights: they would be distributed &quot;almost log-uniformly&quot; on the certain interval of axis, where by &quot;log-unifrom&quot; we mean, after taking logarithm of the coefficients of the weights, the &quot;log-weight&quot; appears to be uniformly distributed in certain interval.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I wonder if there is some previous research on this? Any previous results or ideas on it would help. Thanks a lot.&lt;/p&gt;&#xA;" OwnerUserId="36601" LastEditorUserId="36601" LastEditDate="2015-12-16T05:02:40.960" LastActivityDate="2015-12-16T05:02:40.960" Title="Distance between Sum Sets and Another Point" Tags="&lt;co.combinatorics&gt;" AnswerCount="0" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33357" PostTypeId="2" ParentId="33355" CreationDate="2015-12-14T14:49:33.947" Score="3" Body="&lt;p&gt;In the case of undirected graphs, there is literature about such morphisms called &lt;strong&gt;graph emulators&lt;/strong&gt;.&#xA;They are a refinement of the notion of covering graph.&#xA;A covering graph maps the neighbourhood of a vertex $u$ bijectively to the neighbourhood of $h(u)$, while an emulator is only required to do it surjectively, which seems equivalent to your question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This notion appears in the context of characterizing graphs having planar covers or planar emulators, which yields several open problems, see for instance &lt;a href=&quot;http://www.fi.muni.cz/~hlineny/papers/plcover20-gc.pdf&quot; rel=&quot;nofollow&quot;&gt;this paper&lt;/a&gt; for a survey.&lt;/p&gt;&#xA;" OwnerUserId="8953" LastActivityDate="2015-12-14T14:49:33.947" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33359" PostTypeId="1" AcceptedAnswerId="33360" CreationDate="2015-12-15T04:37:07.387" Score="5" ViewCount="205" Body="&lt;p&gt;Except for planted clique and random 3SAT, what are the other commonly used average-case complexity assumptions?&lt;/p&gt;&#xA;" OwnerUserId="32044" LastEditorUserId="32044" LastEditDate="2015-12-15T05:09:38.387" LastActivityDate="2015-12-15T09:39:36.167" Title="Popular average-case complexity assumptions" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;&lt;complexity-classes&gt;&lt;time-complexity&gt;&lt;average-case-complexity&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33360" PostTypeId="2" ParentId="33359" CreationDate="2015-12-15T05:16:52.110" Score="4" Body="&lt;p&gt;The assumptions often used in crypto are a form of average-case complexity assumptions, such as hardness of factoring or discrete log in various groups. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Many lattice problems used for strong hardness guarantees for lattice based cryptography are qualitatively somewhat different than the factoring/discrete log based cryptographic assumptions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The development of indistinguishability obfuscation has also introduced a number of novel average case hardness assumptions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Often times average case complexity is used in the study of data structures for upper bounds (eg., of hash tables), but there are also some useful lower bounds. For example, the worst case $\Omega(n \log n)$ lower bound on sorting can be generalized to the average case, and to randomized algorithms as well (eg., see &lt;a href=&quot;https://www.cs.cmu.edu/~avrim/451f11/lectures/lect0913.pdf&quot; rel=&quot;nofollow&quot;&gt;these lecture notes&lt;/a&gt;)&lt;/p&gt;&#xA;" OwnerUserId="8985" LastActivityDate="2015-12-15T05:16:52.110" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33361" PostTypeId="1" AcceptedAnswerId="33368" CreationDate="2015-12-15T08:03:16.500" Score="14" ViewCount="393" Body="&lt;p&gt;It is well-known that the Church-Rosser property holds for $\beta \eta$-reduction in simply-typed lambda calculus. This implies that the calculus is consistent, in the sense that not all equations involving $\lambda$-terms are derivable: for example, &lt;strong&gt;K&lt;/strong&gt;$\neq$&lt;strong&gt;I&lt;/strong&gt;, since they don't share the same normal form.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is also known that one can extend the result to pairs which correspond to product types.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But I wonder if one can further extend the result for dependently typed lambda calculus (perhaps) with polymorphic types, e.g. the Calculus of Constructions?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any references would also be great!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks&lt;/p&gt;&#xA;" OwnerUserId="35247" LastEditorUserId="35247" LastEditDate="2015-12-15T08:24:29.863" LastActivityDate="2015-12-16T11:49:49.010" Title="Church-Rosser property for dependently typed lambda calculus?" Tags="&lt;type-theory&gt;&lt;lambda-calculus&gt;&lt;dependent-type&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="33362" PostTypeId="2" ParentId="33359" CreationDate="2015-12-15T09:39:36.167" Score="3" Body="&lt;p&gt;The bounded post correspondence problem is complete for RNP (Randomized NP). Therefore, it is believed to be hard on average over uniformly random distributions of inputs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Y. Gurevich, Average case completeness, J. Comp. Sys. Sci., 42 (3): 346–398, 1991&lt;/p&gt;&#xA;" OwnerUserId="495" LastActivityDate="2015-12-15T09:39:36.167" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33363" PostTypeId="2" ParentId="33361" CreationDate="2015-12-15T13:53:17.057" Score="8" Body="&lt;p&gt;Quite a bit is know about this. The concept of &lt;a href=&quot;https://en.wikipedia.org/wiki/Pure_type_system&quot; rel=&quot;nofollow&quot;&gt;Pure Type Systems&lt;/a&gt; (PTS) is useful for showing Church-Rosser (CR) for large classes of typed $\lambda$-calculi. Paraphrasing (1):&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;PTS with only β reduction satisfy CR on typed terms. This follows immediately from CR on 'pseudoterms', together with subject reduction. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;For PTS with βη-reduction, CR on the set of pseudoterms is false. See (2).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;In PTS with βη reduction CR holds for well-typed terms of a &lt;em&gt;fixed type&lt;/em&gt;. See (1). &lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;PTS are very general formalisms and include System F, Fω, LF as well as the calculus of constructions. The last two are dependently typed. Both (1, 2) are quite old papers, and I imagine that more is known in 2015.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;sup&gt;&#xA;1. H. Geuvers, &lt;a href=&quot;http://www.cs.ru.nl/~herman/PUBS/LICS92_CRbh.ps.gz&quot; rel=&quot;nofollow&quot;&gt;The Church-Rosser property for βη-reduction in typed $\lambda$-calculi&lt;/a&gt;.&#xA;&lt;/sup&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;sup&gt;&#xA;2. R. P. Nederpelt, &lt;a href=&quot;http://www.win.tue.nl/automath/archive/pdf/aut031.pdf&quot; rel=&quot;nofollow&quot;&gt;Strong normalization in a typed lambda calculus with lambda structured types&lt;/a&gt;.&#xA;&lt;/sup&gt;&lt;/p&gt;&#xA;" OwnerUserId="898" LastEditorUserId="898" LastEditDate="2015-12-16T11:49:49.010" LastActivityDate="2015-12-16T11:49:49.010" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33365" PostTypeId="2" ParentId="29266" CreationDate="2015-12-15T17:41:27.197" Score="11" Body="&lt;p&gt;Due to Babai's recent result (see the &lt;a href=&quot;http://arxiv.org/abs/1512.03547&quot; rel=&quot;nofollow noreferrer&quot;&gt;paper&lt;/a&gt;) $GI$ is in quasi-polynomial time ($QP$). If $GI$ is $NP$-complete, then it implies $NP\subseteq  QP=DTIME(n^{polylog\, n})$. This, in turn, implies $EXP=NEXP$, see &#xA;&lt;a href=&quot;https://cstheory.stackexchange.com/questions/21571/is-np-in-dtimenpoly-log-n/21660#21660&quot;&gt;here&lt;/a&gt;. Therefore, if the commonly accepted conjecture $EXP\neq NEXP$ holds, then $GI$ cannot be $NP$-complete.&lt;/p&gt;&#xA;" OwnerUserId="12710" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2015-12-15T17:41:27.197" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33366" PostTypeId="2" ParentId="33320" CreationDate="2015-12-15T18:11:44.507" Score="1" Body="&lt;p&gt;I cut my teeth on Combinatorial Algorithms Generation Enumeration Search, &lt;a href=&quot;http://www.math.mtu.edu/~kreher/cages.html&quot; rel=&quot;nofollow&quot;&gt;http://www.math.mtu.edu/~kreher/cages.html&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would highly recommend it. You learn much faster coding group algorithms as by hand examples break down really quickly. Also grab a system like Sage or Magma to play with to use as a bench calculator.&lt;/p&gt;&#xA;" OwnerUserId="2021" LastActivityDate="2015-12-15T18:11:44.507" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33367" PostTypeId="2" ParentId="33282" CreationDate="2015-12-15T18:52:07.910" Score="5" Body="&lt;p&gt;A quantum Fourier transform is a unitary operation, so the number of basis states of the input and output must be the same. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The number of basis states before the Fourier transform is 120, the number of group elements. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The number of basis states after the Fourier transform is 120, in this case broken up according to the identity&#xA;$$&#xA;120=1^2+1^2+4^2+4^2+5^2+5^2+6^2.&#xA;$$&#xA;This is because there are seven irreducible representations of $S_5$, which have dimensions $1$, $1$, $4$, $4$, $5$, $5$, and $6$. &#xA;The Fourier transform of $S_5$ can be represented as the direct sum of $7$ matrices, where the matrix corresponding to an irrep of dimension $d$ has size $d \times d$. You can take the basis states of the output of the Fourier transform to be all the elements of these 7 matrices.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In fact, if the dimensions of the irreps of a finite group are $d_1$, $d_2$, $\ldots$, $d_k$, the identity&#xA;$$&#xA;|G| = \sum_{j=1}^k d_j^2&#xA;$$&#xA;holds in general, and the basis states of the output of the Fourier transform can be taken to be matrix elements corresponding to an irrep.&lt;/p&gt;&#xA;" OwnerUserId="1677" LastEditorUserId="1677" LastEditDate="2015-12-15T19:39:36.727" LastActivityDate="2015-12-15T19:39:36.727" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33368" PostTypeId="2" ParentId="33361" CreationDate="2015-12-15T20:53:20.803" Score="10" Body="&lt;p&gt;It might be useful to quickly give the counter-example to CR in typed calculi with $\beta$ and $\eta$:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$ t=\lambda x:A.(\lambda y:B.\ y)\ x$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;And we have&#xA;$$ t\rightarrow_\beta \lambda x: A.x$$&#xA;and&#xA;$$ t\rightarrow_\eta \lambda y:B.y$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is immediate that if $A\equiv B$, then the two resulting terms are, in fact, $\alpha$ equivalent, but there is no reason for this to be the case, on &lt;em&gt;untyped&lt;/em&gt; terms.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On &lt;em&gt;typed&lt;/em&gt; terms, it's pretty clear that $A$ has to be equal to $B$ for the resulting term $t$ to be well-typed. The big difficulty that occurs is this: &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;For dependently typed systems, confluence needs to be proven before type preservation!&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;This is because you need the property of &lt;em&gt;$\Pi$-injectivity&lt;/em&gt;&#xA;$$ \Pi x:A.B=_{\beta\eta}\Pi x:A'.B'\ \Leftrightarrow\ A=_{\beta\eta}A'\wedge B=_{\beta\eta} B'$$&#xA;in order to prove inversion, which is required to prove preservation/subject reduction.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So you can't even prove that $\beta\eta$-reductions preserve types without confluence, but confluence doesn't even hold on untyped/ill-typed terms!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Breaking out of this vicious circle requires some technical tricks, which are hard to summarize here, but arguably the simplest to understand is to simply stop being interested in $\eta$-reductions, but instead concentrate on &lt;strong&gt;$\eta$-expansions&lt;/strong&gt;: $t\rightarrow_{\eta*}\lambda x:A.t\ x$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course, you need to restrict this rule to non-$\lambda$ and non-applied terms to even hope to get termination, but with these restrictions it seems that the reduction behavior is much better behaved, and the meta-theory works out without too many problems. A good reference seems to be Neil Ghani, &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.39.9149&amp;amp;rep=rep1&amp;amp;type=pdf&quot;&gt;Eta-Expansions in Dependent Type Theory&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A different, and recently quite popular approach, is described by Abel, &lt;a href=&quot;http://www2.tcs.ifi.lmu.de/~abel/lfsigma.pdf&quot;&gt;Untyped Algorithmic Equality for Martin-Löf's Logical Framework with Surjective Pairs&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="3984" LastActivityDate="2015-12-15T20:53:20.803" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33369" PostTypeId="1" CreationDate="2015-12-15T23:29:57.637" Score="5" ViewCount="175" Body="&lt;p&gt;This is intended to be a simpler version of &lt;a href=&quot;https://cstheory.stackexchange.com/q/31077/6973&quot;&gt;my earlier question here&lt;/a&gt;.&#xA;In this post, 1-Sokoban-search is &lt;a href=&quot;https://en.wikipedia.org/wiki/Sokoban&quot; rel=&quot;nofollow noreferrer&quot;&gt;Sokoban&lt;/a&gt; with only 1 box, 1-Sokoban-decision is&#xA;the &lt;a href=&quot;https://en.wikipedia.org/wiki/Search_problem&quot; rel=&quot;nofollow noreferrer&quot;&gt;corresponding decision problem&lt;/a&gt;, and 1-Sokoban refers to both of those problems.&#xA;(You get to choose whether that also means there's only one storage location or&#xA;still allows more storage locations. ​ Everything I say here applies in either case.)&#xA;1-Sokoban is trivially in NL. ​ Since, regardless of whether the ?s are X or blank, the region&lt;/p&gt;&#xA;&lt;pre&gt;&lt;code&gt;?  X&#xA;X&#xA;XXX?&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&lt;p&gt;will have no box and no storage location and be such that the box can be pushed&#xA;from the top to exit out the right but can't be pushed from the right to the top, &lt;a href=&quot;http://www.cs.rutgers.edu/pub/allender/ggr.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;(directed) Grid Graph Reachability&lt;/a&gt; / (directed) GG search ​ ​ can easily be reduced to ​ 1-Sokoban-decision / 1-Sokoban-search ​ respectively,&#xA;so 1-Sokoban is &lt;a href=&quot;https://complexityzoo.uwaterloo.ca/Complexity_Zoo:N#nc1&quot; rel=&quot;nofollow noreferrer&quot;&gt;NC&lt;sup&gt;1&lt;/sup&gt;&lt;/a&gt;-hard and not known to be solvable by L.&#xA;Grid Graph distance is &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.164.9920&amp;amp;rep=rep1&amp;amp;type=pdf#page=7&quot; rel=&quot;nofollow noreferrer&quot;&gt;known to be in ​ UL ∩ coUL &lt;/a&gt;, ​ so by any search-to-value&#xA;reduction, that is no &lt;em&gt;obstacle&lt;/em&gt; to putting 1-Sokoban in ​ UL ∩ coUL .&#xA;(However, I don't have any evidence for 1-Sokoban being &lt;em&gt;in&lt;/em&gt; even L&lt;sup&gt;&lt;a href=&quot;https://complexityzoo.uwaterloo.ca/Complexity_Zoo:P#promiseup&quot; rel=&quot;nofollow noreferrer&quot;&gt;promis&lt;/a&gt;e&lt;a href=&quot;https://complexityzoo.uwaterloo.ca/Complexity_Zoo:F#fewp&quot; rel=&quot;nofollow noreferrer&quot;&gt;Few&lt;/a&gt;L&lt;/sup&gt;.)&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;h3&gt;Is anything else known about 1-Sokoban?&lt;/h3&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;In particular, I have been unable to come up with any decision-to-search reduction in which the search oracle incorrectly reporting &amp;quot;no solution&amp;quot; never causes false negatives / search-to-decision reduction by any slightly-&amp;quot;natural&amp;quot; class, even with a GGsearch oracle, that can't obviously already solve all of ​ NL / &lt;a href=&quot;https://complexityzoo.uwaterloo.ca/Complexity_Zoo:F#fnp&quot; rel=&quot;nofollow noreferrer&quot;&gt;FN&lt;/a&gt;L ​respectively, and I've also been unable to come up with any&#xA;evidence for or against hardness of 1-Sokoban, beyond the reduction from Grid Graphs.&lt;/p&gt;&#xA;" OwnerDisplayName="user6973" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2016-04-09T19:27:32.743" Title="Is anything known about Sokoban with only 1 box?" Tags="&lt;reductions&gt;&lt;space-bounded&gt;&lt;nondeterminism&gt;" AnswerCount="0" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33370" PostTypeId="1" CreationDate="2015-12-16T04:28:05.153" Score="7" ViewCount="96" Body="&lt;p&gt;Let $H$ be an almost universal hash family of functions from $D^2$ to $D$. For any functions $f,g \in H$ define the function $\langle f,g \rangle : D^4 \to D$ by $\langle f,g \rangle(a,b,c,d) \triangleq f(a,g(b,f(c,d)))$. &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is the family $H' \triangleq \{\langle f,g \rangle : f,g \in H\}$ almost universal?&lt;br&gt;&#xA;  If not, what conditions on $H$ would make $H'$ almost universal?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Note that if we instead defined $\langle f,g \rangle(a,b,c,d) \triangleq g(f(a,b),f(c,d))$, $H'$ would be almost universal. This was defined in Wegman and Carter's &quot;New hash functions and their use in authentication and set equality&quot;, and it is sometimes called &quot;tree hash&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The scheme in which $\langle f,g \rangle(a,b,c,d) \triangleq f(a,g(b,f(c,d)))$ is a variation on one in Shoup's &quot;A composition theorem for universal one-way hash functions&quot;. Shoup proves that $H'$ is a family of Universal One-Way Hash Functions if $H$ is a family of Universal One-Way Hash Functions. However, I do not believe the proof works to show that $H'$ is almost universal if $H$ also is.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One advantage of Shoup's scheme over Carter and Wegman's is that Shoup's functions can be evaluated with room for only one temporary value from $D$.&lt;/p&gt;&#xA;" OwnerUserId="43" LastEditorUserId="186" LastEditDate="2015-12-16T06:27:34.720" LastActivityDate="2020-11-21T15:34:33.353" Title="Shoup-style hashing without one-wayness" Tags="&lt;ds.data-structures&gt;&lt;randomness&gt;&lt;hash-function&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="33371" PostTypeId="2" ParentId="32861" CreationDate="2015-12-16T06:13:51.750" Score="5" Body="&lt;p&gt;[Summarizing the answers in the comments by Ricky Demer and Josh Grochow.]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\mathsf{NP}^{\mathsf{GI}} = \mathsf{NP}^{GraphIso}$, since these are nondeterministic poly-time &lt;em&gt;Turing&lt;/em&gt; reductions, which can be simulated by the oracle machine (as detailed e.g. &lt;a href=&quot;https://cs.stackexchange.com/questions/26317/question-about-the-definition-of-complexity-class-oracles/26332#26332&quot;&gt;here&lt;/a&gt;). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The bounded-time halting problem for non-deterministic machines with a GraphIso oracle is complete for this class, by the usual proof.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Under standard derandomization assumptions (in particular, any that imply $\mathsf{AM} = \mathsf{NP}$), $\mathsf{NP}^{\mathsf{GI}} = \mathsf{NP}$, since under such assumption we have $\mathsf{GI} \subseteq \mathsf{NP} \cap \mathsf{coNP}$, and the latter is low for $\mathsf{NP}$.&lt;/p&gt;&#xA;" OwnerUserId="129" LastEditorUserId="-1" LastEditDate="2017-04-13T12:48:30.830" LastActivityDate="2015-12-16T06:13:51.750" CommentCount="0" CommunityOwnedDate="2015-12-16T06:13:51.750" ContentLicense="CC BY-SA 3.0" />
  <row Id="33372" PostTypeId="1" CreationDate="2015-12-16T07:19:27.477" Score="13" ViewCount="1052" Body="&lt;p&gt;How hard is it to find the sparsest solution to a system of linear equations?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More formally, consider the following decision problem:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Instance:&lt;/strong&gt; A system of linear equations with integer coefficients and a number $c$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question:&lt;/strong&gt; Does there exist a solution to the system with at least $c$ variables assigned to zero?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm also trying to determine what the dependence is on $c$.  That is, maybe the problem is FPT with parameter $c$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any ideas or references are really appreciated.&lt;/p&gt;&#xA;" OwnerUserId="14207" LastActivityDate="2015-12-17T16:50:57.940" Title="Finding the sparsest solution to a system of linear equations" Tags="&lt;np-hardness&gt;&lt;linear-algebra&gt;&lt;linear-programming&gt;&lt;matrices&gt;&lt;sparse-matrix&gt;" AnswerCount="4" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="33373" PostTypeId="2" ParentId="33372" CreationDate="2015-12-16T10:37:15.963" Score="12" Body="&lt;p&gt;Consider the problem $\text{MAX-LIN}(R)$ of maximizing the number of satisfied linear equations over some ring $R$, which is often NP-hard, for example in the case $R=\mathbb{Z}$ &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Take an instance of this problem, $Ax=b$ where $A$ is a $n\times m$ matrix. Let $k=m+1$. Construct a new linear system $\tilde{A}\tilde{x} = \tilde{b}$, where $\tilde{A}$ is a $kn \times (kn+m)$ matrix, $\tilde{x}$ is now a $(kn+m)$ dimensional vector, and $\tilde{b}$ is a $kn$ dimensional vector:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\tilde{A} = \begin{bmatrix}&#xA; A &amp;amp; I_n &amp;amp; &amp;amp;  &amp;amp; \\&#xA; &amp;amp; I_n &amp;amp; -I_n &amp;amp; &amp;amp; \\&#xA; &amp;amp; &amp;amp; I_n &amp;amp; -I_n &amp;amp; \\&#xA; &amp;amp; &amp;amp; &amp;amp; \ddots &amp;amp;\ddots  \\&#xA; &amp;amp; &amp;amp; &amp;amp; &amp;amp; I_n &amp;amp; -I_n \\&#xA;\end{bmatrix}, \tilde{b} = \begin{bmatrix} b \\ 0 \\ \vdots \\ 0 \end{bmatrix}$$&#xA;where $I_n$ is the $n \times n$ identity matrix.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that this system is always satisfied by the vector $\tilde{x} = \begin{pmatrix} 0 &amp;amp; b &amp;amp; b &amp;amp; \cdots &amp;amp;  b \end{pmatrix}^T$. In fact, the first $m$ entries of $\tilde{x}$ can be arbitrary, and there is some solution vector with that prefix.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I now claim that $\delta$ fraction of equations of $Ax=b$ are satisfiable iff there exists a sparse solution of $\tilde{A}\tilde{x}=\tilde{b}$ which has at least $\delta nk$ zeros. This is because every satisfied row of $Ax=b$ yields $k$ potential zeros when $x$ is extended to $\tilde{x}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thus, if we find the sparsity of the sparsest solution to $\tilde{A}\tilde{x}=\tilde{b}$, we have also maximized $\delta$, by dividing the sparsity by $k$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Therefore, I believe your problem is NP-hard.&lt;/p&gt;&#xA;" OwnerUserId="8985" LastActivityDate="2015-12-16T10:37:15.963" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="33374" PostTypeId="2" ParentId="33372" CreationDate="2015-12-16T16:07:56.627" Score="4" Body="&lt;p&gt;This problem is &lt;em&gt;hard&lt;/em&gt;, in various settings. As stated in the other answers to this question, the problem is NP-complete over the integers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In signal processing, the matrix and the vectors have rational entries, and this problem is sometimes called the &lt;em&gt;sparse reconstruction problem&lt;/em&gt;. In this setting, the problem is &lt;a href=&quot;http://dx.doi.org/10.1137/S0097539792240406&quot; rel=&quot;nofollow&quot;&gt;NP-complete&lt;/a&gt; (see Theorem 1).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In coding theory, the entries are from a finite field, and this problem is sometimes called the &lt;em&gt;maximum-likelihood decoding&lt;/em&gt; problem. In this setting, the problem is &lt;a href=&quot;http://dx.doi.org/10.1109/TIT.1978.1055873&quot; rel=&quot;nofollow&quot;&gt;NP-complete&lt;/a&gt; and &lt;a href=&quot;http://conference.itcs.tsinghua.edu.cn/ICS2011/content/paper/33.pdf&quot; rel=&quot;nofollow&quot;&gt;not in subexponential time&lt;/a&gt;, assuming the exponential time hypothesis. Furthermore, according to a previous version of &lt;a href=&quot;http://arxiv.org/abs/1311.3054v1&quot; rel=&quot;nofollow&quot;&gt;a paper on arXiv&lt;/a&gt; (see Lemma C.2 in version 1 of the paper), the problem is W[1]-complete.&lt;/p&gt;&#xA;" OwnerUserId="4193" LastEditorUserId="4193" LastEditDate="2015-12-17T16:50:57.940" LastActivityDate="2015-12-17T16:50:57.940" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="33375" PostTypeId="2" ParentId="33372" CreationDate="2015-12-16T16:29:29.717" Score="6" Body="&lt;p&gt;The problem is NP-complete, by reduction from the following problem: &#xA;Given an $m\times n$ matrix $A$ with integer entries and an integer vector $b$ with $n$ entries, does there exist a 0-1 vector $x$ with $Ax=b$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For every coordinate $x_i$ of vector $x$,  &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;introduce $100(n+m)$ new equations $x_i+y_{i,k}=0$ with $k=1,\ldots,100(n+m)$, and  &lt;/li&gt;&#xA;&lt;li&gt;introduce $100(n+m)$ new equations $x_i+z_{i,k}=1$ with $k=1,\ldots,100(n+m)$.  &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Furthermore use the old equation system $Ax=b$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There exists a 0-1 solution to the original system $Ax=b$, if and only if the new system has a solution in which at least $100(n+m)n$ variables are zero.&lt;/p&gt;&#xA;" OwnerUserId="31660" LastActivityDate="2015-12-16T16:29:29.717" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33376" PostTypeId="2" ParentId="33372" CreationDate="2015-12-16T17:14:34.887" Score="4" Body="&lt;p&gt;This is called the Sparsest Solution Vector problem, and &lt;a href=&quot;http://statweb.stanford.edu/~donoho/Reports/2005/NonNegative-R5.pdf&quot; rel=&quot;nofollow&quot;&gt;it is indeed NP-hard&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="21001" LastActivityDate="2015-12-16T17:14:34.887" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33377" PostTypeId="1" CreationDate="2015-12-07T20:17:03.827" Score="2" ViewCount="54" Body="&lt;p&gt;I am self-studying in the area of query learning and having a difficulty in understanding the definition of closed under projection for concept classes discussed in several papers (for example, &lt;a href=&quot;http://www.cs.technion.ac.il/~bshouty/MyPapers/Learning%20with%20errors%20in%20answers%20to%20membership%20queries/MQ-ERROR.pdf&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt; (page 2), &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.8.8103&amp;amp;rep=rep1&amp;amp;type=pdf&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt; page 18 and &lt;a href=&quot;http://www.cs.columbia.edu/~hila/cs4252_project.pdf&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt; page 8) with regard to learning from membership queries in Query learning. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have a set of elements X. Each concept is a subset of X and the concept class C is a set of concepts. For example the following is a concept class over $X=\{x_1,x_2,x_3,x_4,x_5\}$ with three concepts $f_1$,$f_2$ and $f_3$ represent respectively the sets $\{x_2,x_3,x_4\}$ $\{x_1,x_5\}$ and $\{x_1,x_2,x_4\}$. &lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;      x1|x2|x3|x4|x5&#xA;  f1  0 |1 |1 |1 |0&#xA;  f2  1 |0 |0 |0 |1&#xA;  f3  1 |1 |0 |1 |0&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;The definition is different from restricting boolean functions to a specific range $A\subseteq X$ and can be stated as follows : &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;$C$ is a set of boolean functions $\{0,1\}^n\rightarrow\{0,1\}$. A partial assignment $p$ is $(p_1,p_2,\dots,p_n)$ where $p_i\in\{0,1,*\}$. $C$ is closed under projection if for every concept $f\in C$ and for every partial assignment $p$, $f(p)\in C$. &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;My issue is what's the shape of $f(p)$. What I understand from the definition, is that first I need to see the class as set of boolean functions:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;      000|001|010|011|100|101|110|111&#xA;  f1  0  |1  |1  |1  |0  | 0 | 0 | 0&#xA;  f2  1  |0  |0  |0  |1  | 0 | 0 | 0&#xA;  f3  1  |1  |0  |1  |0  | 0 | 0 | 0&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;(as |X|=5, three new elements were added and mapped to 0). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then for $x\in X$ the projection of $x$ to $p$, $p(x)=(d_1,d_2,\dots,d_n)$ such that $d_i=p_i$ for all $p_i\in \{0,1\}$ and the $ith$ value in $x$ if $p_i=*$. For example, $x=(0,1,1)$ and $p=(1,*,0)$ will result in $(1,1,0)$.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is assumed that most of the classes in the literature are projecton-closed. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider the concept $f_3$ and $p=001$, the projection $f_p$ is a new concept such that $f_p(x)=f_3(p(x))$ for every $x\in X$. As $p$ projects every $x$ to $001$ and $f_3(001)=1$ we have $f_p=\{1,1,1,1,1,1,1,1\}$ . If my understanding is correct then any concept class where initially $|X|\neq 2^n$ will not be projection-closed. Is this true? I'm 99% sure I'm wrong but don't know where. &lt;/p&gt;&#xA;" OwnerUserId="17991" OwnerDisplayName="seteropere" LastActivityDate="2015-12-16T17:29:48.987" Title="Question about the definition of projecting concepts in learning" Tags="&lt;machine-learning&gt;" AnswerCount="0" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33379" PostTypeId="2" ParentId="33320" CreationDate="2015-12-16T23:10:32.043" Score="2" Body="&lt;p&gt;If you're only concerned about finite permutation groups, I found the book &lt;a href=&quot;http://www.springer.com/us/book/9783540549550&quot; rel=&quot;nofollow&quot;&gt;&quot;Fundamental Algorithms for Permutation Groups&quot;&lt;/a&gt; by Gregory Butler very readable.  It's only for finite permutation groups but was one of the only books that gave pseudo code and algorithmic descriptions that I could understand (for Schreirer-Sims, strong generating sets, etc.).  The Seress book recommended by others is decent but for some reason he has an aversion to pseudo code so it was very difficult for me to understand.  Personally, I used the Butler book for a concrete understanding of the algorithms and the Seress book as aid in understanding proofs of correctness.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The Butler book is quite old by now but I still have yet to find a better introduction on finite permutation group algorithms.&lt;/p&gt;&#xA;" OwnerUserId="834" LastActivityDate="2015-12-16T23:10:32.043" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33380" PostTypeId="1" CreationDate="2015-12-17T08:45:50.427" Score="3" ViewCount="80" Body="&lt;p&gt;Is there any first-order method that can solve general SDP in a geometric (linear) rate? or super-geometric (super-linear) rate?&lt;/p&gt;&#xA;" OwnerUserId="32044" LastActivityDate="2015-12-17T08:45:50.427" Title="First-order methods for solving SDP with geometric convergence or better" Tags="&lt;optimization&gt;&lt;time-complexity&gt;&lt;convex-optimization&gt;&lt;semidefinite-programming&gt;" AnswerCount="0" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33382" PostTypeId="2" ParentId="1226" CreationDate="2015-12-17T16:11:04.753" Score="1" Body="&lt;p&gt;Maybe this would also interest you (adapted from &lt;a href=&quot;https://math.stackexchange.com/questions/1167456/methods-to-translate-global-constraints-to-local-constraints&quot;&gt;Methods to translate global constraints to local constraints&lt;/a&gt;)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since greedy methods (more correctly &lt;em&gt;local&lt;/em&gt; methods) employ only local information to achieve global optimisation, if ways are found which are able to transform global conditions to conditons able to be used employing only local information, this provides a (globally) optimal solution to problems using greedy/local techniques only.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;References:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.jmlr.org/papers/volume4/saul03a/saul03a.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Think Globally, Fit Locally: Unsupervised Learning of Low Dimensional Manifolds (Journal of Machine Learning Research 4 (2003))&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://ieeexplore.ieee.org/xpl/login.jsp?tp=&amp;amp;arnumber=646119&amp;amp;url=http%3A%2F%2Fieeexplore.ieee.org%2Fxpls%2Fabs_all.jsp%3Farnumber%3D646119&quot; rel=&quot;nofollow noreferrer&quot;&gt;Global optimization using local information with applications to flow control, Bartal, Y.&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.yaroslavvb.com/papers/amari-why.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Why Natural Gradient?, Amari S., Douglas S.C.&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://ieeexplore.ieee.org/xpl/login.jsp?tp=&amp;amp;arnumber=365690&amp;amp;url=http%3A%2F%2Fieeexplore.ieee.org%2Fstamp%2Fstamp.jsp%3Farnumber%3D365690&quot; rel=&quot;nofollow noreferrer&quot;&gt;Local optimization of global objectives: competitive distributed deadlock resolution and resource allocation, Awerbuch, Baruch, Azar, Y.&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://papers.nips.cc/paper/2506-learning-with-local-and-global-consistency.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Learning with Local and Global Consistency&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://dl.acm.org/citation.cfm?id=2556646&quot; rel=&quot;nofollow noreferrer&quot;&gt;Constraint Satisfaction Problems Solvable by Local Consistency Methods&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;There are a couple of references which tackle the problem of translating global evaluation functions (or constraints) to local ones (using local information) and their consistency (i.e convergence to same global optimum):&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.santafe.edu/media/workingpapers/03-09-048.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Local Evaluation Functions and Global Evaluation&#xA;Functions for Computational Evolution, HAN Jing, 2003&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.santafe.edu/media/workingpapers/02-08-036.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Emergence from Local Evaluation Function, Han Jing and Cai Qingsheng, 2002&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Abstract&lt;/strong&gt; (from 1. above)&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;This paper presents a new look on computational evolution from the&#xA;  aspect of the locality and globality of evaluation functions for&#xA;  solving classical combinatorial problem: the kcoloring Problem&#xA;  (decision problem) and the Minimum Coloring Problem (optimization&#xA;  problem). We first review current algorithms and model the coloring&#xA;  problem as a multi-agent system. We then show that the essential&#xA;  difference between traditional algorithms (Local Search, such as&#xA;  Simulated Annealing) and distributed algorithms (such as the Alife&amp;amp;AER&#xA;  model) lies in the evaluation function: Simulated Annealing uses&#xA;  global information to evaluate the whole system state, which is called&#xA;  the Global Evaluation Function (GEF) method; the Alife&amp;amp;AER model uses&#xA;  local information to evaluate the state of a single agent, which is&#xA;  called the Local Evaluation Function (LEF) method. We compare the&#xA;  performances of LEF and GEF methods for solving the k-coloring&#xA;  Problems and the Minimum Coloring Problems. The computer experimental&#xA;  results show that the LEF is comparable to GEF methods (Simulated&#xA;  Annealing and Greedy), in many problem instances the LEF beats GEF&#xA;  methods. At the same time, we analyze the relationship between GEF and&#xA;  LEF: consistency and inconsistency. The Consistency Theorem shows that&#xA;  Nash Equilibria of an LEF is identical to local optima of a GEF when&#xA;  the LEF is consistent with the GEF. This theorem partly explains why&#xA;  the LEF can lead the system to a global goal. Some rules for&#xA;  constructing a consistent LEF are proposed. In addition to&#xA;  consistency, we give a picture of the LEF and GEF and show their&#xA;  differences in exploration heuristics.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Specificaly the paper addresses methods to determnine whether a local function (LEF) is &lt;strong&gt;consistent&lt;/strong&gt; with a global function (GEF) and methods to construct consistent LEFs from given GEFs (&lt;strong&gt;Consistency theorem&lt;/strong&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Excerpt from Conclusion section&lt;/strong&gt; (from 1. above)&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;This paper is just the beginning of LEF&amp;amp;GEF studies. In addition to&#xA;  the research report above, there is still a lot of future work: more&#xA;  experiments on LEF methods; analytical study on LEF; sufficiency of&#xA;  local information for LEF; and the existence of a consistent GEF for&#xA;  any LEF; Is the consistency concept sufficient? Since Genetic&#xA;  Algorithms also have an evaluation function (fitness function), can we&#xA;  apply LEF&amp;amp;GEF to Genetic Algorithms? … It is our intention to study&#xA;  and attempt to answer all of these questions&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="21598" LastEditorUserId="-1" LastEditDate="2017-04-13T12:19:19.363" LastActivityDate="2015-12-17T16:11:04.753" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33383" PostTypeId="2" ParentId="33370" CreationDate="2015-12-18T03:18:41.657" Score="1" Body="&lt;p&gt;Here is a partial answer:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Sometimes $H'$ is almost universal, but not always.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For an example of an $H$ that makes $H'$ almost universal, let $D$ be a field and consider $H_R = \{ h_x(a,b) = a + bx : x \in D\}$. $H_R$ is universal: Consider $(a,b) \neq (c,d)$. If $b \neq d$, then $(\Pr_x h_x(a,b) = h_x(c,d)) = (\Pr_x a + bx = c + dx) = (\Pr_x (b-d)x = c-a) = (\Pr_x x = (c-a)/(b-d)) = |D|^{-1}$. Otherwise, $b=d$, and thus $a \neq c$, and by a similar calculation $h_x(a,b) \neq h_x(c,d)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In this case, $\langle f,g \rangle(a,b,c,d)$ is a polynomial of degree $3$, with four terms with different coefficients. If $(a',b',c',d') \neq (a,b,c,d)$, $\langle f,g \rangle(a,b,c,d) - \langle f,g \rangle(a',b',c',d')$ is a polynomial of degree at most $3$ with at least one non-zero coefficient. By Schwartz-Zippel, $H'$ is almost universal.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $H = \{h_x(a,b) = ax + b : x \in D\}$, then $\langle h_x, h_y \rangle(a,b,c,d) = ax + by + cx + d$, and $(c,b,a,d) \neq (a,b,c,d)$ is guaranteed to have the same hash value. Thus, $H'$ is not almost universal.&lt;/p&gt;&#xA;" OwnerUserId="43" LastEditorUserId="43" LastEditDate="2015-12-18T14:12:03.423" LastActivityDate="2015-12-18T14:12:03.423" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33384" PostTypeId="1" AcceptedAnswerId="33389" CreationDate="2015-12-18T08:49:04.820" Score="4" ViewCount="266" Body="&lt;p&gt;I am trying to find a way to find a worst-case input for a black-box implementation of an algorithm with worst-case exponential runtime.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem that the program solves (integer linear programming) is &lt;a href=&quot;https://en.wikipedia.org/wiki/Integer_programming&quot; rel=&quot;nofollow&quot;&gt;NP-hard&lt;/a&gt;, but since the proof is by reduction from vertex cover, there is no construction of a hard subset or such. Also vertex cover is in NP due to a reduction from 3SAT. Now for 3SAT it is in no way certain that a hard case for a given 3sat solver would translate to a hard problem for one of my black-box ILP implementations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a systematic way to find a worst-case runtime example for a given problem of size n?&lt;/p&gt;&#xA;" OwnerUserId="36796" LastEditorUserId="6579" LastEditDate="2015-12-18T10:44:28.220" LastActivityDate="2015-12-18T22:58:08.297" Title="Find worst case input for a program solving an NP-hard problem" Tags="&lt;np-hardness&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33385" PostTypeId="2" ParentId="29184" CreationDate="2015-12-18T10:05:02.580" Score="8" Body="&lt;p&gt;&lt;a href=&quot;http://dx.doi.org/10.1007/978-3-642-40313-2_62&quot;&gt;Müller and Szeider&lt;/a&gt; study Resolution proofs where the proof DAG has bounded tree-width or bounded path-width (for suitable extensions of these graph complexity measures to directed graphs.) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;They show that the path-width of the DAG is essentially the same as the space complexity of the proof, and define a generalized notion of proof space which is equivalent to the tree-width.  &lt;/p&gt;&#xA;" OwnerUserId="6579" LastActivityDate="2015-12-18T10:05:02.580" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33386" PostTypeId="2" ParentId="33343" CreationDate="2015-12-18T15:39:31.760" Score="3" Body="&lt;p&gt;I think that the problem is not hard, because if I understood the problem statement correctly, it can be solved in $O(|V|^2)$ time as follows:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We have two $0$-$1$-labeled rooted perfect full binary trees $(A, x)$ and $(B, y)$ with $2^k-1$ nodes. We compute the minimum number of mismatches in any isomorphism between the trees denoted by $F(A, B)$ recursively by using the $F$-values of the subtrees. We have essentially two options when choosing the isomorphism: either we swap the child subtrees of the root in one of the trees or we do not swap anything. Therefore&#xA;$F(X, Y)$ is obtained as a minimum of $F(X_{\text{left}}, Y_{\text{left}}) + F(X_{\text{right}}, Y_{\text{right}})$ and $F(X_{\text{left}}, Y_{\text{right}}) + F(X_{\text{right}}, Y_{\text{left}})$, increased by one if the $x$-label of the root of $X$ and the $y$-label of the root of $Y$ are distinct. If we use dynamic programming to optimize this recursion, we have to compute $F(X, Y)$ only once for every pair of subtrees $X$ and $Y$ of the original tree with equal heights.&lt;/p&gt;&#xA;" OwnerUserId="36804" LastEditorUserId="36804" LastEditDate="2015-12-18T17:14:42.097" LastActivityDate="2015-12-18T17:14:42.097" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="33388" PostTypeId="2" ParentId="33144" CreationDate="2015-12-18T21:10:31.263" Score="4" Body="&lt;p&gt;Stripping the Haskell encryption from your question (and ignoring why you are using dff instead of dfs to get a search that respects a given order), you appear to be asking about the stability of the topological sorting algorithm that performs a depth first search and reverses a postorder traversal of the depth-first spanning forest. However, there is a more general answer to your question: it is not generally possible, given a sequence of vertices in a DAG, to find a topological ordering that respects the input sequence for all incomparable pairs of vertices in the DAG. That is, stable topological ordering is not possible.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To see this, consider a DAG with three vertices $a$, $b$, and $c$, and one edge $a\rightarrow b$, with the vertex ordering $bca$. The DAG has three topological orderings $abc$, $acb$, $cab$, but none of these are stable: $abc$ and $acb$ both reverse the pair $ca$, and $acb$ and $cab$ both reverse the pair $bc$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the same reason, reverse-stable topological ordering is also not possible. In particular the reverse-postorder-dfs algorithm is not reverse-stable.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2015-12-18T21:10:31.263" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33389" PostTypeId="2" ParentId="33384" CreationDate="2015-12-18T22:58:08.297" Score="1" Body="&lt;p&gt;See &lt;a href=&quot;https://cstheory.stackexchange.com/q/6755/5038&quot;&gt;Fast Reduction from RSA to SAT&lt;/a&gt; for some ways to get hard instances of SAT.  Then, you can use the known reductions to turn these into hard instances for ILP.  You could also use the SAT instances at &lt;a href=&quot;http://www.satcompetition.org/&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://www.satcompetition.org/&lt;/a&gt;, too.&lt;/p&gt;&#xA;" OwnerUserId="5038" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.743" LastActivityDate="2015-12-18T22:58:08.297" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33393" PostTypeId="2" ParentId="20621" CreationDate="2015-12-19T04:12:52.480" Score="1" Body="&lt;p&gt;Yes. ​ ​ ​ &lt;a href=&quot;https://eprint.iacr.org/2012/461.pdf&quot; rel=&quot;nofollow&quot;&gt;This paper&lt;/a&gt; constructs &quot;a one-round succinct MIP of knowledge, where each prover runs in time $t\cdot \operatorname{polylog}(t)$ and space $s\cdot \operatorname{polylog}(t)$ and the verifier runs in time&quot; ​ $\operatorname{length}(m) \cdot \operatorname{polylog}(t)$ .&lt;/p&gt;&#xA;" OwnerDisplayName="user6973" LastActivityDate="2015-12-19T04:12:52.480" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33394" PostTypeId="2" ParentId="17427" CreationDate="2015-12-19T05:15:59.820" Score="4" Body="&lt;p&gt;I agree with Kaveh that this looks like an exercise, but I disagree that adapting the idea of rank-augmented binary search trees is the way to solve it. And 2.5 years later there should be no issue with accidentally spoiling someone's homework assignment.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The trick is to maintain, separately from the VEB-tree, the value of the median, and the total number of elements in the tree (from which you can also calculate the rank of the median value that you're storing). Then, when you insert or delete in the VEB-tree, you can compare the changed value to the median you are storing to determine how the change affects its rank. If this change causes it to stop being the median, then the new median is only a successor or predecessor query away, and those sorts of queries are what the VEB-tree is good at.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Unlike rank-augmented binary search trees, I don't know of a good way to do more general queries for finding the kth smallest element in a VEB-tree.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2015-12-19T05:15:59.820" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33395" PostTypeId="1" CreationDate="2015-12-19T07:30:12.900" Score="13" ViewCount="730" Body="&lt;p&gt;Is it true that adding axioms to the CIC might have negative influences in the computational content of definitions and theorems? I understand that, in the theory's normal behavior, any closed term will reduce to its canonical normal form, e.g. if $n : \mathbb{N}$ is true, then $n$ must reduce to a term of the form $(succ ... (succ (0)))$. But when postulating an axiom - say the function extensionality axiom &lt;code&gt;funext&lt;/code&gt; - we just add a new constant to the system&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$ funext : \Pi_{x : A} f (x) = g (x) \to f = g$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;that will just &quot;magically&quot; produces a proof of $f = g$ from any proof of $\Pi_{x : A} f (x) = g (x)$, without any computational meaning at all (&lt;em&gt;in the sense that we cannot extract any code from them?&lt;/em&gt;)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But why is this &quot;bad&quot;?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For &lt;code&gt;funext&lt;/code&gt;, I read in this &lt;a href=&quot;https://coq.inria.fr/cocorico/extensional_equality&quot; rel=&quot;nofollow noreferrer&quot;&gt;coq entry&lt;/a&gt; and this &lt;a href=&quot;https://mathoverflow.net/questions/156238/function-extensionality-does-it-make-a-difference-why-would-one-keep-it-out-of&quot;&gt;mathoverflow question&lt;/a&gt; that it will cause the system to either loose canonicity or decidable checking. The coq entry seems to present a good example, but I still would like some more references on that - and somehow I can't find any.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;How is that adding extra axioms could cause CIC to have a worse behavior? Any practical examples would be great. (For example, the Univalence Axiom?)&#xA;I am afraid in this question is too soft, but if anyone could shed some light on those issues or give me some references would be great!&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;PS: The coq entry mentions that &quot;Thierry Coquand already observed that pattern matching over intensional families is inconsistent with extensionality in the mid 90ies.&quot; Does anyone know in which paper or something?&lt;/p&gt;&#xA;" OwnerUserId="35247" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2015-12-19T16:54:03.923" Title="What are the negative consequences of extending CIC with axioms?" Tags="&lt;type-theory&gt;&lt;lambda-calculus&gt;&lt;dependent-type&gt;&lt;homotopy-type-theory&gt;" AnswerCount="3" CommentCount="0" FavoriteCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="33396" PostTypeId="1" AcceptedAnswerId="33403" CreationDate="2015-12-19T10:34:21.420" Score="5" ViewCount="180" Body="&lt;p&gt;A paper was posted in arxiv &lt;a href=&quot;http://arxiv.org/pdf/1512.03798.pdf&quot;&gt;http://arxiv.org/pdf/1512.03798.pdf&lt;/a&gt; titled 'Rectangular Kronecker coefficients and plethysms in geometric&#xA;complexity theory' by Christian Ikenmeyer and Greta Panova with first line in abstract stating 'We prove that in the geometric complexity theory program the vanishing of rectangular Kronecker coefficients cannot be used to prove superpolynomial determinantal complexity lower bounds for the permanent polynomial'.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If correct what is the implication of this result to the geometric complexity theory program for separating permanent from determinant?&lt;/p&gt;&#xA;" OwnerUserId="1812" LastActivityDate="2015-12-20T05:26:11.733" Title="Implications of a recent negative result to geometric complexity" Tags="&lt;lower-bounds&gt;&lt;big-picture&gt;&lt;algebraic-complexity&gt;&lt;permanent&gt;&lt;determinant&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33397" PostTypeId="1" AcceptedAnswerId="33398" CreationDate="2015-12-19T13:50:19.967" Score="0" ViewCount="92" Body="&lt;p&gt;&lt;strong&gt;My questions:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;What does discarding the second register mean for the standard approach of hidden subgroup algorithm?&lt;/li&gt;&#xA;&lt;li&gt;Why does discarding  let the first register end up in a mixed state?&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;My understanding so far:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am trying to understand the effect of discarding the second register in the standard approach of hidden subgroup algorithm using &lt;a href=&quot;http://arxiv.org/pdf/quant-ph/0504083v2.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;this paper&lt;/a&gt; as resource. I will be using $S_5$ as my group of interest.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is said in the paper that,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://i.stack.imgur.com/BQ1TQ.png&quot; rel=&quot;nofollow noreferrer&quot;&gt;&lt;img src=&quot;https://i.stack.imgur.com/BQ1TQ.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I assume $f$ maps $g$ to it's irrep. So, if we take the case of $S_5$, assuming an automorphism group of a $5$-node graph is hidden inside $S_5$, $|G| = |S_5| = 120$. Both $|g\rangle$ and $|f(g)\rangle$ are $120$ element column vectors.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, when it is said that the second register is discarded what it actually means? Let's take the case of trapped ion qubits. When we say we discard the second register, does it mean that we will not do any unitary transformation or measurement on them anymore but they will always be there? In the &lt;a href=&quot;https://en.wikipedia.org/wiki/Simon%27s_problem&quot; rel=&quot;nofollow noreferrer&quot;&gt;Wikipedia page&lt;/a&gt; of Simon's problem the second register is measured.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I also don't understand why discarding (whatever it means) will let the first register end up in a mixed state. Shouldn't it be in a pure quantum state?&lt;/p&gt;&#xA;" OwnerUserId="13408" LastActivityDate="2016-01-21T14:09:06.290" Title="Question about discarding the second register in the standard approach of hidden subgroup algorithm" Tags="&lt;quantum-computing&gt;&lt;quantum-information&gt;&lt;gr.group-theory&gt;&lt;fourier-analysis&gt;&lt;measure-theory&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33398" PostTypeId="2" ParentId="33397" CreationDate="2015-12-19T14:21:59.463" Score="4" Body="&lt;p&gt;Discarding in this context can be carried out by performing a &lt;a href=&quot;https://en.wikipedia.org/wiki/Partial_trace&quot; rel=&quot;nofollow&quot;&gt;Partial Trace&lt;/a&gt;. The system you're interested in is that of the first register. If you want to know only its state, as opposed to the combined state of the two registers, then you take the density matrix of the whole system and &lt;em&gt;trace out&lt;/em&gt; the second register.  The resultant state will, in this case, be mixed.  What you're seeing at work is more or less &lt;a href=&quot;https://en.wikipedia.org/wiki/Purification_of_quantum_state&quot; rel=&quot;nofollow&quot;&gt;purification&lt;/a&gt; in reverse. The resultant mixed state is the reduced state of some other pure system, namely the system comprised of the two registers.  &lt;/p&gt;&#xA;" OwnerUserId="7189" LastActivityDate="2015-12-19T14:21:59.463" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="33399" PostTypeId="2" ParentId="33395" CreationDate="2015-12-19T15:31:48.597" Score="7" Body="&lt;p&gt;One first reason to reject axioms is that they might be inconsistent. Even for the axioms that are proved consistent, some of them have a computational interpretation (we know how to extend definitional equality with a reduction principle for them) and some do not -- those break canonicity. This is &quot;bad&quot; for different reasons:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;In theory, canonicity lets you prove things about the values of your language, without having to go to a specific model. This is a very satisfying property to have thinking about your system; in particular, it supports claims about the real world -- we can think of the &lt;code&gt;nat&lt;/code&gt; type as formalized in the system as really &quot;natural numbers&quot; because we can prove that its closed normal inhabitants really are natural numbers. Otherwise it's easy to &lt;em&gt;think&lt;/em&gt; that you modelled something correctly in your system, but actually be working with different objects.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;In practice, reduction is a major asset of dependent type theories, because it makes proof easy. Proving a propositional equality can be arbitrarily difficult, while proving a definitional equality is (less often possible) but much easier, as the proof term is trivial. More generally, computation is a core aspect of the user experience of a proof assistant, and it is common to define things just so they reduce correctly as you expect. (You don't need axioms to make computation difficult; for example, using the conversion principle on propositional equalities can already block reductions). The entire business of &lt;a href=&quot;http://poleiro.info/posts/2015-04-13-writing-reflective-tactics.html&quot;&gt;proof by reflection&lt;/a&gt; is based on the use of computation to help proofs. This is a major difference in power and convenience with respect to other logics-based proof assistant (eg. HOL-light, which only supports equality reasoning; or see &lt;a href=&quot;http://www.seas.upenn.edu/~sweirich/papers/congruence-extended.pdf&quot;&gt;Zombie&lt;/a&gt; for a different approach), and using unchecked axioms, or other programming styles, can get you out of this comfort zone.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="4984" LastActivityDate="2015-12-19T15:31:48.597" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="33400" PostTypeId="2" ParentId="33395" CreationDate="2015-12-19T15:47:49.550" Score="4" Body="&lt;p&gt;A practical example of an axiom behaving badly you ask, what about this?&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt; 0 = 1&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;The Coquand paper referred to might be [ 1 ], where he shows that dependent ITT (Martin-L&amp;ouml;f's intuitionistic type theory) extended with pattern matching allows you to prove UIP (axiom of &lt;a href=&quot;https://ncatlab.org/nlab/show/axiom+UIP&quot; rel=&quot;nofollow&quot;&gt;uniqueness of identity proofs&lt;/a&gt;).  Later Streicher and Hoffmann [ 2 ] present a model of in  ITT that falsifies UIP.  Hence pattern matching is not a conservative extension of ITT.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;sub&gt;&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;T. Coquand, &lt;a href=&quot;http://www.cse.chalmers.se/~coquand/pattern.ps&quot; rel=&quot;nofollow&quot;&gt;Pattern matching with dependent types&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;M. Hofmann, T. Streicher, &lt;a href=&quot;http://www.mathematik.tu-darmstadt.de/~streicher/venedig.ps.gz&quot; rel=&quot;nofollow&quot;&gt;The groupoid interpretation of type theory&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;&lt;/sub&gt;&lt;/p&gt;&#xA;" OwnerUserId="898" LastEditorUserId="898" LastEditDate="2015-12-19T16:54:03.923" LastActivityDate="2015-12-19T16:54:03.923" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33401" PostTypeId="2" ParentId="33395" CreationDate="2015-12-19T16:34:37.663" Score="5" Body="&lt;p&gt;To understand why extending a theorem prover with some axioms can cause problems, it is also interesting to see when it is benign to do so. Two cases come to mind and they both have to do with the fact that we do not care about the computational behaviour of the postulates.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;In Observational Type Theory, it is possible to postulate a proof of any consistent &lt;code&gt;Prop&lt;/code&gt; without losing canonicity. Indeed, all the proofs are considered equal and the system enforces this by completely refusing to look at the terms. As a consequence, the fact that a proof was built by hand or simply postulated bears no consequence. A typical example would be the proof of &quot;cohesion&quot;: if we have a proof &lt;code&gt;eq&lt;/code&gt; that &lt;code&gt;A = B : Type&lt;/code&gt; then for any &lt;code&gt;t&lt;/code&gt; of type &lt;code&gt;A&lt;/code&gt;, &lt;code&gt;t == coerce A B eq t&lt;/code&gt; where &lt;code&gt;coerce&lt;/code&gt; simply transports a term along an equality proof.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;In MLTT, one can postulate any &lt;a href=&quot;http://www.cs.bham.ac.uk/~mhe/papers/negative-axioms.pdf&quot; rel=&quot;nofollow&quot;&gt;Negative consistent axiom without loss of canonicity&lt;/a&gt;. The intuition behind this is that negative axioms (axioms of the form &lt;code&gt;A -&amp;gt; False&lt;/code&gt;) are only ever used to dismiss irrelevant branches. If the axiom is consistent, then it can only be used in branches which are indeed irrelevant and will therefore never be taken when evaluating the terms.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="5097" LastActivityDate="2015-12-19T16:34:37.663" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33402" PostTypeId="1" CreationDate="2015-12-19T21:00:38.047" Score="1" ViewCount="54" Body="&lt;p&gt;As a result of the Dilowrth's theorm we know that the Boolean Lattic can be partitioned into    $\dbinom{n}{n/2}$ chains and it is the smallest number of such chains. Another question regarding that, is who many different possible partitioning of a boolean lattic into smallest chains does exists?&#xA;I have some ideas. For example to start from one possible partitioning and find out other possible ones. Please help me with more ideas.&lt;/p&gt;&#xA;" OwnerUserId="36813" LastEditorUserId="36813" LastEditDate="2015-12-20T05:59:55.807" LastActivityDate="2015-12-20T05:59:55.807" Title="partitioning boolean lattice into the smallest number of chains" Tags="&lt;lattice&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="33403" PostTypeId="2" ParentId="33396" CreationDate="2015-12-20T05:26:11.733" Score="8" Body="&lt;p&gt;It means that to separate permanent from determinant (a la GCT) one must either (a) use actual differences in multiplicities (and not merely their vanishing or non-vanishing) in order to get an inequality that rules out an inclusion of complexity classes, and/or (b) seriously consider multiplicities in the coordinate ring of the orbit &lt;em&gt;closure&lt;/em&gt; of the determinant, and not merely use those on the orbit of the determinant as an upper bound. In using (a), one might at least still hope for a significant difference in the &lt;em&gt;magnitude&lt;/em&gt; of the multiplicities, rather than small differences in their exact values - this should make such differences easier to detect.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The possibilities to use both (a) and (b) have been known for several years, though perhaps not everyone agreed regarding their necessity. (I personally have always thought that at the very least we'd need to do (b); it is very nice that their paper actually proves this.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Both (a) and (b) are clearly spelled out in Section 5 of the paper, entitled &quot;Consequences for geometric complexity theory.&quot; Although my answer duplicates the points from the paper, I am posting it here both to give what I think is needed for a complete answer, and to assert that I agree with the authors that these are the ways forward.)&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2015-12-20T05:26:11.733" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33404" PostTypeId="1" CreationDate="2015-12-20T06:31:20.303" Score="-4" ViewCount="264" Body="&lt;p&gt;To my knowledge, graph isomorphism for graphs with bounded clique width or bounded rank width is open.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2015 arxiv paper claims it is polynomial:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://arxiv.org/abs/1505.03737&quot; rel=&quot;nofollow&quot;&gt;Isomorphism Testing for Graphs of Bounded Rank Width&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Abstract:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;We give an algorithm that, for every fixed $k$, decides isomorphism of graphs of rank width at most $k$ in polynomial time. As the clique width of a graph is bounded in terms of its rank width, we also obtain a polynomial time isomorphism test for graph classes of bounded clique width. &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The paper is 48 pages and doesn't appear published in peer reviewed journal.&#xA;There is only one citation on Scholar.google.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Q1 Is graph isomorphism still open for bounded clique width or bounded rank width?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="22348" LastActivityDate="2015-12-20T08:16:24.667" Title="Is graph isomorphism still open for bounded clique width or bounded rank width? 2015 paper claims it is polynomial" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;graph-isomorphism&gt;" AnswerCount="1" CommentCount="3" ClosedDate="2015-12-22T16:07:39.673" ContentLicense="CC BY-SA 3.0" />
  <row Id="33405" PostTypeId="2" ParentId="33404" CreationDate="2015-12-20T08:16:24.667" Score="8" Body="&lt;p&gt;This paper was presented at FOCS 2015 and is published in those proceedings. As far as I am concerned, this means it was peer reviewed and found to be plausibly correct, within the limits of a conference review process.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So I would not consider this problem open, unless a specific flaw is discovered or there is some additional evidence introduced that this paper is not correct.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course, that is not the same as a journal review process, which can often take &lt;em&gt;years&lt;/em&gt; (this paper is only from 7 months ago!)&lt;/p&gt;&#xA;" OwnerUserId="8985" LastActivityDate="2015-12-20T08:16:24.667" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="33406" PostTypeId="1" CreationDate="2015-12-20T12:51:49.313" Score="8" ViewCount="63" Body="&lt;p&gt;Consider numbers $x_1,...,x_n\in \mathbb{R}$ given by TMs $M_1,...,M_n$ such that $M_i$ approximates $x_i$ to an arbitrary precision (by allowing it to run longer and longer).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am interested in the following problem:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Decide whether $x_1,...,x_n$ are algebraically independent.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Clearly this is undecidable, since even deciding whether $x_i=0$ is undecidable. However, if we are given an oracle to the problem of deciding whether $x_i=0$, then the above problem becomes &lt;em&gt;recognizable&lt;/em&gt;: enumerate all polynomials with integer coefficients (e.g. in minlex order), and for each polynomial $p$ compute a TM $M_p$ that approximates $p(x_1,...,x_n)$ arbitrarily. Then, use the oracle to check if this number is $0$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So the question is:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is the problem also decidable under a zero-test oracle? i.e. is it co-recognizable?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Remarks:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;This question relates (but is not directly connected/reducible to) my question &lt;a href=&quot;https://cstheory.stackexchange.com/questions/32451/is-algebraic-dependency-decidable&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;I see that a lot of questions regarding real-numbers encounter issues with encoding. I think the encoding here is well defined (comment if I'm wrong, and I'll revise). Note that not all numbers are of course representable in this model.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="7531" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2015-12-20T12:51:49.313" Title="Oracle-Decidability of Algebraic Independence" Tags="&lt;oracles&gt;&lt;decidability&gt;&lt;undecidability&gt;" AnswerCount="0" CommentCount="0" FavoriteCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33407" PostTypeId="1" CreationDate="2015-12-21T04:10:48.457" Score="6" ViewCount="147" Body="&lt;p&gt;&lt;a href=&quot;http://stanford.edu/~rrwill/cnf-sat-feasible.pdf&quot;&gt;This paper&lt;/a&gt; says &quot;For k ≥ 7, k-Dominating Set can be solved in n&lt;sup&gt;k+o(1)&lt;/sup&gt; time.&quot;,&#xA;&lt;br&gt;&#xA;but &lt;a href=&quot;http://people.idsia.ch/~grandoni/Pubblicazioni/EG04tcs.pdf&quot;&gt;Reference 17&lt;/a&gt; only makes that claim for ​ ℓ ≥ 8 , ​ and it seems like on the&#xA;&lt;br&gt;&#xA;&quot;Proposition 2&quot; page, the matrices would actually have height ​ $\binom{n}{\hspace{-0.02 in}\lceil k/2\rceil \hspace{.02 in}}$ ​ and ​ $\binom{n}{\hspace{-0.02 in}\lfloor k/2\rfloor \hspace{.02 in}}$ .&#xA;&lt;br&gt;&#xA;(I asked Ryan Williams about this 3 days ago and he hasn't responded yet.)&lt;/p&gt;&#xA;" OwnerDisplayName="user6973" LastActivityDate="2015-12-21T04:10:48.457" Title="Is the dominating 7-set problem known to be solvable in ​ n$^{7+\hspace{.03 in}o(1)}$ ​ time?" Tags="&lt;paper-review&gt;" AnswerCount="0" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33408" PostTypeId="2" ParentId="19480" CreationDate="2015-12-21T08:25:00.907" Score="4" Body="&lt;p&gt;Here are two solutions which (as suggested in the question and comments) assume that all the given sets are disjoint and performs destructive set unions (when we find the union of sets A and B, we remove A and B themselves from the family of sets).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Amortized constant time&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We maintain objects for the sets and objects for the elements. The sets know what elements they have, as a concatenable list, so that we can list those elements quickly, but we don't keep pointers from the objects to the sets that contain them (because it would be too slow to update them).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is at most one special set Z, the one containing zero. Every object knows whether it is part of Z or not (a binary flag). The set Z maintains the value of its mex. For every other set, the mex is zero. So you can compute the mex of a set in constant time, given either the set itself or one of its elements.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To form the union of two sets, if neither one is Z, just concatenate their lists. If one of the two sets is Z, run through its elements setting the flag that says the element is now in Z. Then, while the mex is an element of Z, increment it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Each element accounts for one increment operation to the mex of Z, so the amortized time per element, merge, or mex request is constant.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Worst-case logarithmic time&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For a worst-case rather than amortized (but slower) solution, that also allows for creation of new singleton sets and does not assume that the union of all the sets is a contiguous interval, we use the following data structures:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;union-find rather than flags to determine the set that contains any element (even if we just do union-by-rank without path compression, this is worst-case logarithmic per find operation)&lt;/li&gt;&#xA;&lt;li&gt;a binary search tree of the elements in the union of all the sets&lt;/li&gt;&#xA;&lt;li&gt;for each element, the smallest non-element between it and its predecessor in the binary search tree (or zero if it has no predecessor)&lt;/li&gt;&#xA;&lt;li&gt;for each binary search tree node, the smallest non-element listed in its subtree (updated in constant time per tree rotation)&lt;/li&gt;&#xA;&lt;li&gt;the smallest element of each set&lt;/li&gt;&#xA;&lt;li&gt;a priority queue of the smallest elements of sets that are not Z.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Then at all times mex(Z) is the minimum of the priority queue value and the smallest non-element. And as before, for sets that are not Z, the mex is zero. Adding a new singleton set, merging two sets, or finding a mex all take logarithmic time with more-or-less obvious updates.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2015-12-21T08:25:00.907" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33409" PostTypeId="1" CreationDate="2015-12-21T21:10:58.677" Score="10" ViewCount="312" Body="&lt;p&gt;Let $f:\mathbb{K}^n \to \mathbb{K}$ be a &lt;a href=&quot;https://en.wikipedia.org/wiki/Symmetric_polynomial&quot;&gt;symmetric polynomial&lt;/a&gt;, i.e., a polynomial such that $f(x)=f(\sigma(x))$ for all $x \in \mathbb{K}^n$ and all permutations $\sigma \in S_n$.  For convenience, we can assume $\mathbb{K}$ is a finite field, to avoid addressing issues with the model of computation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $C(f)$ denote the complexity of computing $f$, i.e., the complexity of an algorithm that, given $x$, returns $f(x)$.  Can we somehow characterize $C(f)$, based on the properties of $f$?  For instance, are we guaranteed that $C(f)$ is polynomial (in $n$) for all symmetric polynomials $f$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As special case, it looks like (a) we can compute the &lt;a href=&quot;https://en.wikipedia.org/wiki/Power_sum_symmetric_polynomial&quot;&gt;power sum polynomials&lt;/a&gt; in time $\text{poly}(n)$, and (b) we can compute the &lt;a href=&quot;https://en.wikipedia.org/wiki/Elementary_symmetric_polynomial&quot;&gt;elementary symmetric polynomials&lt;/a&gt; in time $\text{poly}(n)$, using &lt;a href=&quot;https://en.wikipedia.org/wiki/Newton&amp;#39;s_identities&quot;&gt;Newton's identities&lt;/a&gt;.  As a consequence, if $f$ is a weighted sum of monomials where no variable is raised to a power higher than 1 (i.e., if $f$ is multilinear), then $f$ can be computed in polynomial time (since it can be expressed as a weighted sum of elementary symmetric polynomials).  For instance, when $\mathbb{K}=GF(2)$, then every symmetric polynomial can be computed in polynomial time.  Can one say anything more than this?&lt;/p&gt;&#xA;" OwnerUserId="5038" LastEditorUserId="5038" LastEditDate="2015-12-22T00:48:05.603" LastActivityDate="2015-12-24T17:09:15.453" Title="Evaluating symmetric polynomials" Tags="&lt;cc.complexity-theory&gt;&lt;permutations&gt;&lt;polynomials&gt;" AnswerCount="1" CommentCount="6" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="33410" PostTypeId="2" ParentId="29184" CreationDate="2015-12-21T21:22:05.727" Score="6" Body="&lt;p&gt;For strong enough proof systems the graph representation of a proof in the system seems less consequential, since (as Joshua Grochow already commented), DAG-like and tree-like Frege proofs are polynomially equivalent (see Krajicek's 1995 &lt;a href=&quot;http://www.cambridge.org/us/academic/subjects/mathematics/logic-categories-and-sets/bounded-arithmetic-propositional-logic-and-complexity-theory&quot;&gt;monograph&lt;/a&gt; for a proof of this fact). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For weaker proof systems such as resolution, tree-like is exponentially weaker than DAG-like proofs (as Yuval Filmus described above).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Beckmann and Buss &lt;a href=&quot;http://www.math.ucsd.edu/~sbuss/ResearchWeb/proofheight/index.html&quot;&gt;[1]&lt;/a&gt; (following Beckmann &lt;a href=&quot;http://eccc.hpi-web.de/eccc-reports/2003/TR03-034/&quot;&gt;[2]&lt;/a&gt;) considered restricting the &lt;strong&gt;height&lt;/strong&gt; (equivalently, depth) of the proof-graph of constant-depth Frege proofs and investigated the relationship between DAG-like, tree-size and height of constant depth Frege proofs. (Note the distinction between restricting the depth of the proof-graph and restricting the depth of a circuit appearing in a proof-line). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;There might also be separations between tree-like and DAG-like Nullstellensatz (and polynomial calculus) proofs, which I currently don't remember.&lt;/p&gt;&#xA;" OwnerUserId="78" LastEditorUserId="78" LastEditDate="2015-12-21T22:54:27.887" LastActivityDate="2015-12-21T22:54:27.887" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33411" PostTypeId="1" CreationDate="2015-12-21T22:30:38.480" Score="15" ViewCount="662" Body="&lt;p&gt;In the circuit complexity, we have separations between powers of various circuit models.&#xA;&lt;p&gt;&#xA;In the proof complexity, we have separations between  powers of various proof systems.&#xA;&lt;p&gt;&#xA;But in the algorithmic, we still have only few separations between powers of &lt;b&gt;algorithmic paradigms&lt;/b&gt;. &lt;p&gt;&#xA;My questions below aim to touch this latter problem for two paradigms: Greedy and Dynamic Programming. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;p&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We have a ground set of elements, and some family of its subsets declared as feasible solutions. We assume that this family is downwards closed: subsets of feasible solution are feasible. Given an assignment of nonnegative weights to the ground-elements, the problem   is to compute the maximum total weight  of a feasible solution.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;p&gt;&#xA;The greedy algorithm starts with an empty partial solution, and at each step, &#xA;it adds a a yet-not-treated element of largest weight iff this is possible, i.e. if &#xA;the extended solution is still feasible. The well-known Rado-Edmonds theorem states  that this algorithm will find an optimal solution for all input weightings iff the family of feasible solutions  is a matroid.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;p&gt;&#xA;Roughly speaking, a DP algorithm is &lt;i&gt;simple&lt;/i&gt;, if it only uses Max and Sum (or Min and Sum) operations. To be more specific (as suggested by Joshua), by a &lt;i&gt;simple DP&lt;/i&gt; algorithm I will mean a (max,+) circuit with fanin-2 Max and Sum gates. Inputs are variables, the $i$-th of which correspond to the weight given to the $i$-th element. Such a circuit can solve &lt;i&gt;any&lt;/i&gt; such problem by just computing the maximum total weight of a feasible solution. But this can be a huge overdone, if we have exponentially many such solutions (as is almost always the case).&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&lt;b&gt; Question 1:&lt;/b&gt;&#xA; Are there matroids, on which any simple DP algorithm will need a super-polynomial number of operations to solve the corresponding maximization problem?&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;COMMENT (added 24.12.2015): This question is already answered (see below): there &lt;b&gt;are&lt;/b&gt; such matroids, even in overwhelming majority.&#xA;&lt;p&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The next question asks to separate Greedy and simple DP for &lt;b&gt;approximation&lt;/b&gt; problems. In the &lt;i&gt;Max-Weight Matching&lt;/i&gt; problem, the family of feasible solutions consists of all matchings in the complete bipartite $n\times n$ graph. For a given assignment of weights to its edges, the goal is to compute the maximum weight of a matching (this will always be a perfect matching, since weight are nonnegative).&#xA;&lt;p&gt;&#xA;The simple greedy algorithm can approximate this problem within the  factor 2: just always take a not-yet-seen disjoint edge of maximal weight. The obtained weight will be at least half of optimal weight.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&lt;b&gt; Question 2:&lt;/b&gt;&#xA;Can a simple DP algorithm approximate the Max-Weight Matching problem within the factor 2 by using only polynomially many Max and Sum operations?&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Of course, a trivial DP algorithm, which outputs $n$ times the maximum weight of an edge, approximates this problem within the factor $n$. But we want a much smaller factor. I guess that even a factor $n/\log n$ cannot be achieved but, again: how to &lt;b&gt;prove&lt;/b&gt; this?&#xA;&lt;p&gt;&#xA;RELATED: A cousin of the Max-Weight Matching is the &lt;i&gt;Assignment problem&lt;/i&gt;: find the &lt;i&gt;minimum&lt;/i&gt; weight of a perfect matching. This problem can be solved (even exactly) by linear programming (so-called Hungarian algorithm) by using only $O(n^3)$ operations. But the lower bound of Razborov on the size of monotone boolean circuits computing the permanent function implies (not quite directly) that any (min,+) circuit approximating this problem within any(!) finite factor must use $n^{\Omega(\log n)}$ operations. Thus, for &lt;i&gt;minimization&lt;/i&gt; problems, simple DP algorithms may be much weaker than Linear Programming. My questions above aim to show that such DP algorithms may be even weaker than Greedy.&#xA;&lt;p&gt;&#xA;Have somebody seen similar questions being considered by someone? &#xA;&lt;hr&gt;&#xA;ADDED (on 24.12.2015): Question 2 aims to show that &lt;b&gt;one particular&lt;/b&gt; maximization problem (the Max-Weight Matching problem), which  can be approximated by the greedy algorithm with factor $r=2$, cannot be approximated by a poly-size simple DP with the &lt;b&gt;same&lt;/b&gt; factor $r$. Meanwhile, I obtained a weaker separation between Greedy and simple DP: for every $r=o(n/\log n)$, there is an explicit maximization problem which can be approximated by the greedy algorithm with factor $r$,&#xA;but no poly-size simple DP algorithm can approximate this problem with a &lt;b&gt;smaller&lt;/b&gt; factor $&amp;lt; r/3$ (see &lt;a href=&quot;http://www.thi.informatik.uni-frankfurt.de/~jukna/greedy1.html&quot; rel=&quot;nofollow&quot;&gt; here&lt;/a&gt; for a sketch). Still, Question 2 itself (not necessarily for this particular Max-Weight problem) remains actual: it would be interesting to target the &lt;b&gt;same&lt;/b&gt; factor by both algorithms.&lt;/p&gt;&#xA;" OwnerUserId="5788" LastEditorUserId="5788" LastEditDate="2015-12-24T13:19:14.627" LastActivityDate="2015-12-24T13:19:14.627" Title="Is Dynamic Programming never weaker than Greedy?" Tags="&lt;cc.complexity-theory&gt;&lt;circuit-complexity&gt;&lt;lower-bounds&gt;&lt;dynamic-programming&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33412" PostTypeId="1" CreationDate="2015-12-21T22:48:52.090" Score="10" ViewCount="162" Body="&lt;p&gt;In recent years, there has been &lt;a href=&quot;https://simons.berkeley.edu/talks/computational-complexity-polynomial-time-problems&quot;&gt;exciting work&lt;/a&gt; in proving lower bounds for polynomial-time problems conditional on conjectures like &lt;a href=&quot;https://en.wikipedia.org/wiki/Exponential_time_hypothesis&quot;&gt;SETH&lt;/a&gt; or &quot;All-Pairs-Shortest-Paths (APSP) cannot be solved in $O(|V|^{3-\epsilon})$ time&quot; and others.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now suppose we have a problem whose input data is naturally arranged in an $m\times n$ array, and there is a plausibly-optimal known $O(m^2n)$ algorithm solving it. Are there any techniques around that could be used to prove matching (conditional) lower bounds of this form?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The existing results seem to me to mainly focus on &quot;1-dimensional&quot; running times, i.e. proving optimality of time quadratic-in-input-length or cubic-in-input-length (or alternatively in the number of vertices of a graph, but assuming it to be either dense or sparse).&lt;/p&gt;&#xA;" OwnerUserId="9876" LastEditorUserId="9876" LastEditDate="2015-12-21T22:57:08.387" LastActivityDate="2015-12-21T22:57:08.387" Title="Hardness in P: methods to show optimality of $O(m^2n)$-like time?" Tags="&lt;cc.complexity-theory&gt;&lt;lower-bounds&gt;&lt;conditional-results&gt;&lt;polynomial-time&gt;" AnswerCount="0" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33413" PostTypeId="1" AcceptedAnswerId="33414" CreationDate="2015-12-22T04:51:51.700" Score="2" ViewCount="465" Body="&lt;p&gt;May be this is trivial but I do not know the answer.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As far as we know $$\mathsf{BPP}\subseteq\mathsf{\Sigma}_2\cap\mathsf{\Pi}_2$$ holds.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As far as we know $$\mathsf{NP}\cup\mathsf{coNP}\subseteq\mathsf{BPP}\subseteq\mathsf{\Sigma}_2\cap\mathsf{\Pi}_2$$ could hold. Am I correct in this?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If so is there a problem that is currently known to be in $$\mathsf{BPP}\backslash\mathsf{NP}\cup\mathsf{coNP}=\mathsf{BPP}\cap\overline{\mathsf{NP}}\cap\overline{\mathsf{coNP}}$$ but conjectured to be in $\mathsf{P}$ just because of our belief $$\mathsf{P}=\mathsf{BPP}$$ should be true essential verdict?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;That is is there a natural problem (not amalgamated ones) with a randomized poly algorithm nevertheless does not have a short &lt;em&gt;yes&lt;/em&gt; or &lt;em&gt;no&lt;/em&gt; certificate? A problem that comes close is &lt;strong&gt;PIT&lt;/strong&gt; which is not known to be in $\mathsf{NP}$ but is in $\mathsf{coNP}$ which is the basis of the amalgamated problem (non-natural) below by Ricky Demer.&lt;/p&gt;&#xA;" OwnerUserId="1812" LastEditorUserId="1812" LastEditDate="2015-12-22T23:01:18.180" LastActivityDate="2015-12-24T07:05:27.883" Title="Is there a problem currently known to be outside class $\mathsf{NP}\cup\mathsf{coNP}$ but inside $\mathsf{BPP}$?" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;big-picture&gt;&lt;randomness&gt;&lt;polynomial-hierarchy&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33414" PostTypeId="2" ParentId="33413" CreationDate="2015-12-22T07:48:41.187" Score="6" Body="&lt;p&gt;In your initial use of it, there was no need for &quot;As far as we know&quot; - We do know that&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Promise_problem&quot; rel=&quot;nofollow&quot;&gt;promise&lt;/a&gt;BPP ⊆ promise&lt;a href=&quot;https://complexityzoo.uwaterloo.ca/Complexity_Zoo:S#s2p&quot; rel=&quot;nofollow&quot;&gt;S&lt;sub&gt;2&lt;/sub&gt;P&lt;/a&gt; ​ ⊆ ​ promise - (Σ&lt;sub&gt;2&lt;/sub&gt; ∩ Π&lt;sub&gt;2&lt;/sub&gt;)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;holds.&#xA;&lt;br&gt;&lt;br&gt;&lt;br&gt;&#xA;If ​ ZPP = NP ​ then&lt;/p&gt;&#xA;&#xA;&lt;p&gt;NP ∪ coNP ​ = ​ ZPP ∪ coZPP ​ = ​ ZPP ∪ ZPP ​ = ​ ZPP ​ ⊆ ​ BPP ​ ⊆ ​ S&lt;sub&gt;2&lt;/sub&gt;P ​ ⊆ ​ Σ&lt;sub&gt;2&lt;/sub&gt; ∩ Π&lt;sub&gt;2&lt;/sub&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;, so as far as we know&lt;/p&gt;&#xA;&#xA;&lt;p&gt;NP ∪ coNP ​ ⊆ ​ BPP ​ ⊆ ​ Σ&lt;sub&gt;2&lt;/sub&gt; ∩ Π&lt;sub&gt;2&lt;/sub&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;could hold.&#xA;&lt;br&gt;&lt;br&gt;&lt;br&gt;&#xA;If ​ NP = coNP ​ then ​ ​ ​ BPP \ (NP ∪ coNP) ​ = ​ BPP \ S&lt;sub&gt;2&lt;/sub&gt;P ​ ⊆ ​ BPP \ BPP ​ = ​ { } ​ ,&#xA;&lt;br&gt;&#xA;in which case there are no problems &quot;outside class ​ NP ∪ coNP ​ but inside BPP&quot;.&#xA;&lt;br&gt;&#xA;In particular, no problems are &quot;currently known to be outside class ​ NP ∪ coNP ​ but inside BPP&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm also not aware of any languages L known to be in BPP for which&#xA;&lt;br&gt;&#xA;it's also known that if L is in ​ NP ∪ coNP ​ then ​ ​ ​ BPP ​ ⊆ ​ NP ∪ coNP ​ .&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&quot;Is exactly 1 of these 2 polynomials identically zero?&quot; ​ is &quot;a problem currently known to be&quot;&#xA;&lt;br&gt;&#xA;&lt;a href=&quot;https://en.wikipedia.org/wiki/Schwartz%E2%80%93Zippel_lemma#Applications&quot; rel=&quot;nofollow&quot;&gt;inside BPP&lt;/a&gt; but not known to be in ​ NP ∪ coNP . ​ ​ ​ More generally, non-monotone&#xA;&lt;br&gt;&#xA;combinations of [problems in RP that aren't known to be in coNP] yield such problems.&#xA;&lt;br&gt;&lt;br&gt;&lt;br&gt;&#xA;There is an oracle relative to which BPP is not a subset of &lt;a href=&quot;https://complexityzoo.uwaterloo.ca/Complexity_Zoo:P#pnp&quot; rel=&quot;nofollow&quot;&gt;P&lt;sup&gt;NP&lt;/sup&gt;&lt;/a&gt;,&#xA;&lt;br&gt;&#xA;so presumably ​ BPP ⊆ P&lt;sup&gt;NP&lt;/sup&gt; ​ is not known to hold.&#xA;&lt;br&gt;&#xA;If that containment is indeed not known to hold, then there pretty much can't be any known&#xA;&lt;br&gt;&#xA;result to the effect that &quot;All problems in BPP are reducible to amalgamations of NP problems.&quot;.&lt;/p&gt;&#xA;" OwnerDisplayName="user6973" LastEditorDisplayName="user6973" LastEditDate="2015-12-24T07:05:27.883" LastActivityDate="2015-12-24T07:05:27.883" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="33415" PostTypeId="2" ParentId="14446" CreationDate="2015-12-22T13:09:53.917" Score="3" Body="&lt;p&gt;For the sake of completeness, here's an answer. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $Q_\epsilon(f)$ denote the $\epsilon$-error quantum query complexity of computing a function $f$ and $\mathsf{OR}_n$ be the OR function on $n$ bits, defined as $\mathsf{OR}_n(x_1,\ldots,x_n)=\bigvee_{i=1}^n x_i$. (Note that this is different from the problem where you are promised that the input has exactly one 1 and the objective is to find that 1. That problem can be solved with no error in $\Theta(\sqrt{n})$ queries.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then we have for all $\epsilon \in [2^{-n},1/3]$,&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;$Q_\epsilon(\mathsf{OR}_n) = \Theta(\sqrt{n\log(1/\epsilon)})$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;This follows from &lt;a href=&quot;http://arxiv.org/abs/cs/9904019v2&quot; rel=&quot;nofollow&quot;&gt;Bounds for Small-Error and Zero-Error Quantum Algorithms&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In fact, we know something more general. For all symmetric functions $f$, which are functions that only depend on the Hamming weight of the input, we have that for all $\epsilon \in [2^{-n},1/3]$,&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;$Q_\epsilon(f) = \Theta(Q_{1/3}(f)+\sqrt{n\log(1/\epsilon)})$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;This was shown in &lt;a href=&quot;http://arxiv.org/abs/0802.1816&quot; rel=&quot;nofollow&quot;&gt;A note on quantum algorithms and the minimal degree of epsilon-error polynomials for symmetric functions&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="206" LastActivityDate="2015-12-22T13:09:53.917" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33416" PostTypeId="2" ParentId="33411" CreationDate="2015-12-22T15:54:33.730" Score="6" Body="&lt;p&gt;I think the answer to my Question 1 is &lt;em&gt;affirmative&lt;/em&gt;: there &lt;em&gt;are&lt;/em&gt; matroids on which simple DP fails badly! That is, simple DP may be much worse than Greedy when trying to solve an optimization problem &lt;em&gt;exactly&lt;/em&gt;. &#xA;&lt;p&gt;&#xA;Let the ground set consists of all edges of $K_n$. As our family of feasible solutions take the family of all forests in $K_n$. This is a motroid, and its bases are spanning trees. So, the corresponding to this matroid polynomial is a multilinear polynomial $f$ whose monomials correspond to spanning trees. &lt;a href=&quot;http://dl.acm.org/citation.cfm?doid=322326.322341&quot;&gt;Jerrum and Snir&lt;/a&gt; have proved (in Section 4.5) that $f$ requires monotone arithmetic circuits of exponential size. This already implies that every $(\max,+)$ circuit, and hence, also every simple DP algorithm, must use an exponential number of Max and Sum operations to solve the maximum weight spanning tree problem. &#xA;&lt;p&gt;&#xA;As Igor Sergeev told me, an affirmative answer to Question 1 follows also by counting: &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/0097316574900636&quot;&gt;Knuth&lt;/a&gt; has shown that there $2^{2^n/n^{3/2}}$ matroids on $n$ points.&#xA;&lt;p&gt;&#xA;P.S. I will not &quot;accept&quot; this my half-answer (which came only right now after rethinking the connection with  monotone arithmetic circuits), because a much more interesting Question 2 remains open: how much worse simple DP can be than Greedy when &lt;b&gt;approximating&lt;/b&gt; optimization problems? This question is more interesting, because Greedy has often a fairly good approximation factor. This factor is known to coincide(!) with the so-called &quot;rank quotient&quot; of the underlying family of feasible solutions (see, e.g. &lt;a href=&quot;http://www.thi.informatik.uni-frankfurt.de/~jukna/EC_Book_2nd/comment3.html&quot;&gt;this writeup&lt;/a&gt;. In the case of Max-Weight Matching problem, this quotient is $2$, and is at most $k$ for any intersection of $k$ matroids. On the other hand, as far as I know, DP based approximation algorithms usually use some kind of &quot;scaling&quot; of input weights, and only apply to &quot;knapsack like&quot; problems or some scheduling problems. A negative answer to Question 2 would &lt;em&gt;confirm&lt;/em&gt; this seeming &quot;approximation weakness&quot; of DP.&lt;/p&gt;&#xA;" OwnerUserId="5788" LastEditorUserId="5788" LastEditDate="2015-12-22T17:32:05.190" LastActivityDate="2015-12-22T17:32:05.190" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="33417" PostTypeId="1" CreationDate="2015-12-22T17:11:38.667" Score="8" ViewCount="427" Body="&lt;p&gt;In the experts problem, $n$ experts give you binary predictions on a daily basis, and you have to predict whether it's going to rain tomorrow.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;That is, at day $t$, you know the past predictions of the experts, the actual weather for days $1,2,\ldots t$, and the predictions for tomorrows, and have to predict whether it will rain the next day.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the classic &lt;a href=&quot;https://en.wikipedia.org/wiki/Weighted_Majority_Algorithm&quot;&gt;Weighted Majority&lt;/a&gt; algorithm, the algorithm makes $O(\log n + m)$ mistakes, where $m$ is the number of mistakes of the best expert.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To me, this seems like an extremely weak promise, as it does not allow any benefit from combining predictions of several experts.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assume that each outcome is $\{\pm 1\}$, prediction of expert $i$ on day $t$ is $p_{i,t}$, and the outcome of day $t$ is $o_t$. We can define an ``optimal weighted majority'' adversary as an optimal weight function $w\in\Delta([n])$, such that the decision made by the adversary on day $t$ is defined as $sign(w\cdot p_t)$, i.e. the weighted majority of the predictions, with respect to the vector $w$. Using this notation, the previous adversary (best expert) could only pick unit vectors.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We can then define the optimal error for days $1,2,\ldots T$ as:&#xA;$$E = \frac{1}{2}\min_{w\in\Delta([n])} \sum_{t=1}^T|sign(w\cdot p_t)-o_t|$$&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;How would you minimize the regret, compared to $E$?&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;To see that this is a much more powerful adversary, consider the case of $3$ experts and $3$ days in which the outcome was always $1$.&#xA;If $p_1=(1,1,-1), p_2 = (1,-1,1), p_3=(-1,1,1)$, then each expert had a mistake, but a weighted majority vector of $(1/3,1/3,1/3)$ had none.&lt;/p&gt;&#xA;" OwnerUserId="21001" LastActivityDate="2016-09-18T05:58:06.993" Title="Competing against an optimal weighted majority in experts algorithm" Tags="&lt;ds.algorithms&gt;&lt;machine-learning&gt;" AnswerCount="1" CommentCount="6" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="33418" PostTypeId="2" ParentId="33409" CreationDate="2015-12-22T17:14:56.197" Score="10" Body="&lt;p&gt;The question seems quite open ended. Or perhaps you wish to have a precise characterization of the time-complexity of any possible symmetric polynomial over finite fields?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In any case, at least to my knowledge, there are several well-known results about the time-complexity of computing symmetric polynomials: &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;If $f$ is an elementary symmetric polynomial over a finite field then it can be computed by polynomial-size uniform $TC^0$ circuits.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;If $f$ is an elementary symmetric polynomial over a characteristic $0$ field, then it can be computed by polynomial-size depth three uniform algebraic circuits (as you already mentioned the Newton polynomial; or by the Lagrange interpolation formula); and so I believe this then translates to polynomial-size uniform Boolean circuits (though perhaps not of constant depth) (but this may depend on the specific field you're working in; for simplicity you might consider the ring of integers; though for the integers I presume $TC^0$ is enough to compute symmetric polynomials in any case.)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;If $f$ is a symmetric polynomial over a finite field then there is an exponential lower bound on depth three algebraic circuits for $f$ (by Grigoriev and Razborov (2000) [following Grigoriev and Karpinsky 1998]). But, as mentioned in 1 above, this corresponds only to constant-depth Boolean circuit lower bounds (while &lt;em&gt;there are&lt;/em&gt; small uniform Boolean circuits in $TC^0$; meaning also that the polynomials are computable in polynomial-time).  &lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Probably there are more known results about the time-complexity of symmetric polynomial...&lt;/p&gt;&#xA;" OwnerUserId="78" LastEditorUserId="78" LastEditDate="2015-12-24T17:09:15.453" LastActivityDate="2015-12-24T17:09:15.453" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33419" PostTypeId="2" ParentId="33417" CreationDate="2015-12-23T02:29:49.900" Score="1" Body="&lt;p&gt;If you don't mind randomization, then standard online learning algorithms in the &quot;online convex optimization framework&quot; give you essentially what you ask for, in expectation. The reason is that these algorithms are required to output a distribution $w \in \Delta([n])$ on experts at each time step, suffering an expected loss equal to the expectation of picking an expert from this distribution. And they have low expected regret compared to the best distribution on experts, i.e. $O(\sqrt{\ln n / T})$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, you can take the classic multiplicative weights algorithm, which is just weighted majority but picking an expert to follow with probability proportional to its &quot;weight&quot;. This is mentioned in Arora's survey (Theorem 6): &lt;a href=&quot;https://www.cs.princeton.edu/~arora/pubs/MWsurvey.pdf&quot; rel=&quot;nofollow&quot;&gt;https://www.cs.princeton.edu/~arora/pubs/MWsurvey.pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="8243" LastActivityDate="2015-12-23T02:29:49.900" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="33420" PostTypeId="1" CreationDate="2015-12-23T07:45:50.013" Score="1" ViewCount="185" Body="&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;I want to know if there are any examples of polynomial time algorithms which can sample uniformly at random from a given uncountably infinite set? (assuming it is possible) &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Does it help if the sample space of events is actually a Lie group on which a Haar measure is known? Does knowing the Haar measure explicitly as a function help one get such an algorithm? (..because the Haar measure is &quot;uniform&quot; in the sense that it is invariant under the group actions..) &lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="32603" LastActivityDate="2015-12-23T07:45:50.013" Title="How does one sample uniformly at random from an uncountably infinite set?" Tags="&lt;randomness&gt;&lt;polynomial-time&gt;&lt;pseudorandomness&gt;&lt;pseudorandom-generators&gt;&lt;sample-complexity&gt;" AnswerCount="0" CommentCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="33421" PostTypeId="2" ParentId="2017" CreationDate="2015-12-23T14:11:45.650" Score="0" Body="&lt;p&gt;I answered the similar question &lt;em&gt;&lt;a href=&quot;https://scicomp.stackexchange.com/questions/1391/are-there-any-famous-problems-algorithms-in-scientific-computing-that-cannot-be&quot;&gt;Are there any famous problems/algorithms in scientific computing that cannot be sped up by parallelisation&lt;/a&gt;&lt;/em&gt; on the &lt;a href=&quot;http://scicomp.stackexchange.com&quot;&gt;Computational Science&lt;/a&gt; site. Let me quote it here, because it offers a practical perspective on a very concrete instance of such a problem:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;The (famous) fast marching method for solving the Eikonal equation cannot be sped up by parallelization. There are other methods (for example fast sweeping methods) for solving the Eikonal equation that are more amenable to parallelization, but even here the potential for (parallel) speedup is limited.&lt;/p&gt;&#xA;&lt;p&gt;The problem with the Eikonal equation is that the flow of information depends on the solution itself. Loosely speaking, the information flows along the characteristics (i.e. light rays in optics), but the characteristics depend on the solution itself. And the flow of information for the discretized Eikonal equation is even worse, requiring additional approximations (like implicitly present in fast sweeping methods) if any parallel speedup is desired.&lt;/p&gt;&#xA;&lt;p&gt;To see the difficulties for parallelization, imagine a nice labyrinth like in some of the examples on &lt;a href=&quot;http://math.berkeley.edu/%7Esethian/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Sethian's webpage&lt;/a&gt;. The number of cells on the shortest path through the labyrinth (probably) is a lower bound for the minimal number of steps/iterations of any (parallel) algorithm solving the corresponding problem.&lt;/p&gt;&#xA;&lt;p&gt;(I write &amp;quot;(probably) is&amp;quot;, because lower bounds are notoriously difficult to prove, and often require some reasonable assumptions on the operations used by an algorithm.)&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="20340" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2015-12-23T14:11:45.650" CommentCount="0" CommunityOwnedDate="2015-12-23T14:11:45.650" ContentLicense="CC BY-SA 3.0" />
  <row Id="33422" PostTypeId="2" ParentId="33202" CreationDate="2015-12-23T14:13:59.407" Score="2" Body="&lt;p&gt;I recommend &lt;em&gt;Computability, Complexity, and Languages&lt;/em&gt; by Martin Davis, Ron Sigal and Elaine Weyuker.&lt;/p&gt;&#xA;" OwnerUserId="35928" LastActivityDate="2015-12-23T14:13:59.407" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33423" PostTypeId="2" ParentId="18556" CreationDate="2015-12-23T17:03:00.137" Score="3" Body="&lt;p&gt;It's NP-complete by a reduction from vertex cover.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $G$ be a graph in which an optimal vertex cover is hard to find.&#xA;Make a new graph $H$ with twice as many vertices, by attaching a new degree-one vertex to each vertex of $G$. Turn $H$ into a metric space by making the distance between adjacent vertices equal to $1$ and the distance between non-adjacent vertices equal to $2$. For this metric space, the weight of a minimum spanning tree of an induced subgraph equals the number of vertices plus the number of connected components of the subgraph minus one.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We can assume that the subgraph with the heaviest MST includes all of the degree-one vertices, because adding one of these vertices to a subset can never decrease the number of components. So the vertices that were removed to form the subgraph are a subset of $G$. We can assume also that these removed vertices form a vertex cover of $G$. For, if some other induced subgraph is formed by removing vertices that do not form a vertex cover, and $uv$ is an edge that is not covered, then removing $v$ leads to an induced subgraph that is at least as good: it has one less vertex but one more connected component, created by the degree-one vertex of $H$ that was attached to $v$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So the optimal subgraph of $H$ is formed by removing a vertex cover from $G$. Such a subgraph will have exactly $n$ components (one for each degree-one vertex added to $H$, either by itself or connected to a vertex of $G$), and a number of vertices equal to $2n-k$ where $n=|V(G)|$ and $k$ is the size of the cover. Thus, the weight of its MST will be $3n-k+1$. To maximize this, we must minimize $k$.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2015-12-23T17:03:00.137" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33424" PostTypeId="2" ParentId="25268" CreationDate="2015-12-23T18:14:57.177" Score="2" Body="&lt;p&gt;Let $d^+_G(x)$ be the in-degree of $x$ in graph $G$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Theorem (&lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/009589567390018X&quot; rel=&quot;nofollow&quot;&gt;Lovász 1973&lt;/a&gt;):&lt;/strong&gt; &#xA;For a directed graph $G$ and a specified vertex $r$, there exist a subgraph $G'$ with the property that $d^+_{G'}(x) = \lambda(r,x,G') = \lambda(r,x,G)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The desired sparse graph exists, as we can keep removing edges to reach a minimal graph with the desired connectivity property. &lt;/p&gt;&#xA;" OwnerUserId="314" LastActivityDate="2015-12-23T18:14:57.177" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33427" PostTypeId="1" CreationDate="2015-12-24T01:14:44.693" Score="1" ViewCount="661" Body="&lt;p&gt;I recently had an interview, at which I was asked to solve the following problem: you have a sorted array of integers, and you need to find if there are 3 numbers that sum to 0. The brute force solution gives $O(n^3)$ complexity. Given that it is sorted, we can iterate over 2 numbers, and the third one using binary search. It gives $O(n^2\log(n))$ complexity. In fact, there exist a solution with $O(n^2)$ complexity, but apparently this is the best what we can get.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I was thinking is there a way to show in advance that $O(n^2$) is the best, and I came up with the following considerations. They are based on the postulate that &lt;strong&gt;if the solution of a problem contains $I$ amount of information, then the minimum amount of operations required to get it is $O(2^I)$.&lt;/strong&gt; Indeed, if we have $n$ equally probable independent answers, i.e., $I=log(n)$, the only way to solve the problem is to try each of them, i.e. spend $O(n)$ operations. Here are the considerations applied to the problem above.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) Let us imagine that the array is unsorted. In this case any combination of 3 digits can be a solution, and therefore the amount of information in the answer is $3\log(n)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) Let us assume that the best sorting algorithm has a complexity $O(n\log(n))$, so we can consider that $\log(n\log(n))$ is the amount of information it gives us about the array. Or in other words, the entropy of the array was decreased on this amount.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;3) Subtracting one from another, we get $3\log(n) - \log(n\log(n)) = 2\log(n) - \log(\log(n))$. This is the amount of information in the solution of the problem. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;4) According to the postulate, the algorithm complexity must be at least $O(2^{2\log(n) - \log(\log(n))}) = O(n^2/\log(n))$. &lt;strong&gt;This coincides with the fact that there exist a solution with the complexity $O(n^2)$, but not $O(n\log(n))$.&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What do you think? Could you advice me to read something similar?&lt;/p&gt;&#xA;" OwnerUserId="36858" LastEditorUserId="36858" LastEditDate="2015-12-24T04:04:38.400" LastActivityDate="2015-12-24T04:04:38.400" Title="Is there any theory that allows to compute the computational complexity boundaries like this?" Tags="&lt;complexity&gt;" AnswerCount="0" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="33428" PostTypeId="1" CreationDate="2015-12-24T06:48:04.803" Score="3" ViewCount="122" Body="&lt;p&gt;The &lt;a href=&quot;https://en.wikipedia.org/wiki/Markov_algorithm&quot; rel=&quot;nofollow noreferrer&quot;&gt;Markov algorithm&lt;/a&gt; is a simple model of computation. For other models of computation, such as Turing machines, cellular automata, tag systems, etc., there is research on the &quot;minimal&quot; instances of the model that are Turing-universal. Here &quot;minimal&quot; is defined differently depending on the formal system in question, but it tends to mean things along the lines of a small number of states. For example, there is a &lt;a href=&quot;https://en.wikipedia.org/wiki/Wolfram%27s_2-state_3-symbol_Turing_machine&quot; rel=&quot;nofollow noreferrer&quot;&gt;2-state, 3-symbol Turing machine&lt;/a&gt; that's arguably Turing-complete. Or &lt;a href=&quot;https://en.wikipedia.org/wiki/Rule_110&quot; rel=&quot;nofollow noreferrer&quot;&gt;rule 110&lt;/a&gt; is an (arguably) Turing-universal cellular automaton with two states and a neighbourhood of three.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is whether this kind of research has been done in the context of Markov algorithms - are there &quot;minimal&quot; Turing-complete sets of transition rules for a Markov algorithm in the literature? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that I'm being deliberately vague about what &quot;minimal&quot; should mean in this context, since I don't want to overly constrain the answers, but I would guess that minimal would mean a small alphabet, a small number of rules, and short search/replace strings within the rules. Similarly, there is leeway in precisely how one would define Turing-universality for a Markov algorithm, but I'd be happy to see results for any half-way reasonable definition.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;sub&gt;Note: there is a &lt;a href=&quot;https://cs.stackexchange.com/questions/44717/simplest-turing-complete-ruleset-for-markov-algorithm&quot;&gt;similar question&lt;/a&gt; over on CS.SE, but I thought it would be worth asking here and spelling out more carefully what I'm looking for.&lt;/sub&gt;&lt;/p&gt;&#xA;" OwnerUserId="13804" LastEditorUserId="-1" LastEditDate="2017-04-13T12:48:30.830" LastActivityDate="2015-12-24T06:48:04.803" Title="Is there research on &quot;minimal&quot; Turing-universal Markov algorithms?" Tags="&lt;fl.formal-languages&gt;&lt;universal-computation&gt;&lt;machine-models&gt;" AnswerCount="0" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33429" PostTypeId="2" ParentId="9122" CreationDate="2015-12-24T07:50:33.767" Score="2" Body="&lt;p&gt;I do not know if such a thing could exist or not. But it is interesting (and perhaps timely) to note that such a &quot;gap amplification&quot; would likely imply a quasipolynomial time algorithm for graph isomorphism (different than the recently announced one)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In &lt;a href=&quot;http://eccc.hpi-web.de/report/2012/078/&quot; rel=&quot;nofollow&quot;&gt;this paper&lt;/a&gt;, an approximation algorithm is given for the &quot;MAX-PGI&quot; problem of maximizing matched pairs of edges/non-edges; if we reduce from GI to &quot;Gap-MAX-PGI&quot;, then we can approximate to distinguish which side of the gap we are on.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, I think Dinur's proof of the PCP theorem is unlikely to be &lt;em&gt;directly&lt;/em&gt; generalizable to such a &quot;gap amplifier&quot;, given the hurdles that would have to be overcome.&lt;/p&gt;&#xA;" OwnerUserId="8985" LastActivityDate="2015-12-24T07:50:33.767" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33431" PostTypeId="2" ParentId="31907" CreationDate="2015-12-24T09:03:22.980" Score="2" Body="&lt;p&gt;László Babai. &lt;a href=&quot;http://arxiv.org/pdf/1512.03547v1&quot; rel=&quot;nofollow&quot;&gt;Graph Isomorphism in Quasipolynomial Time&lt;/a&gt;, 84 pages.  [Version 1.  Fri, 11 Dec 2015]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;From &lt;a href=&quot;http://arxiv.org/abs/1512.03547v1&quot; rel=&quot;nofollow&quot;&gt;Abstract&lt;/a&gt; :&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;Blockquote&gt;&#xA;We show that the Graph Isomorphism (GI) problem and the related problems of String Isomorphism (under group action) (SI) and Coset Intersection (CI) can be solved in quasipolynomial  $\exp ((\log n) ^ {O(1)}) $ time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The best previous bound for GI was&#xA;$ \exp ( O ( \sqrt {n\log n} ) ) ,$&#xA;where $n$ is the number of vertices (Luks, 1983); for the other two problems, the bound was similar,&#xA;$ \exp ( \tilde O ( \sqrt n ) ) ,$&#xA;where n is the size of the permutation domain (Babai, 1983)&#xA;&lt;/Blockquote&gt;&lt;/p&gt;&#xA;" OwnerUserId="36855" LastActivityDate="2015-12-24T09:03:22.980" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33433" PostTypeId="1" CreationDate="2015-12-22T15:33:09.803" Score="7" ViewCount="285" Body="&lt;p&gt;A set is &lt;em&gt;$\mathsf{P}$-immune&lt;/em&gt; iff &#xA;it has no non-trivial $\mathsf{P}$ subset.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is every $\mathsf{coNP}$-complete language $\mathsf{P}$-isomorphic to&#xA;  an $\mathsf{P}$-immune $\mathsf{coNP}$-complete language?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/a/33316/&quot;&gt;Joshua Grochow's answer&lt;/a&gt; to my previous questions shows the answer is negative assuming cryptographic conjectures.&#xA;Is it possible to show the answer is negative &#xA;only assuming  $\mathsf{P}\neq\mathsf{NP}$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Or show the answer as positive with  additional assumptions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As @Kaveh points out based upon a P isomorphism assumption (Bertman-Hartmanis conjecture) one only has to show the existence of one such language.&lt;/p&gt;&#xA;" OwnerUserId="17763" OwnerDisplayName="ARi" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2015-12-28T09:22:03.067" Title="Is every coNP-complete language P-isomorphic to an P-immune coNP-complete language? OR Is there a P-immune coNP-complete language?" Tags="&lt;cc.complexity-theory&gt;&lt;np-complete&gt;&lt;structural-complexity&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="33434" PostTypeId="2" ParentId="376" CreationDate="2015-12-24T13:37:34.677" Score="21" Body="&lt;p&gt;A recent developpement on this topic: U. dal Lago and B. Accatoli proved that the length of the leftmost-outermost reduction (LOr) of a $\lambda$-term is an invariant (time) cost model for $\lambda$-calculus.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;They show that Turing machines (with cost=time) and $\lambda$-terms (with cost=length of the LOr) can simulate each other with a polynomial overhead in time. So for instance the definition of the class P does not depend on which of the two computation model you use to define it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://arxiv.org/abs/1405.3311&quot; rel=&quot;noreferrer&quot;&gt;http://arxiv.org/abs/1405.3311&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="30505" LastEditorUserId="30505" LastEditDate="2017-01-05T03:07:13.337" LastActivityDate="2017-01-05T03:07:13.337" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33435" PostTypeId="1" CreationDate="2015-12-24T14:57:27.057" Score="0" ViewCount="501" Body="&lt;p&gt;I'm looking at the following tutorial on delimited (or composable) continuations: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://community.schemewiki.org/?composable-continuations-tutorial&quot; rel=&quot;nofollow&quot;&gt;http://community.schemewiki.org/?composable-continuations-tutorial&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The author(s) propose the following &quot;rewrite rule&quot;&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt; (reset (...A... (shift K E) ...B...)) &#xA; ; --&amp;gt; &#xA; (let ((K (lambda (x) (reset (...A... x ...B...))))) &#xA;   (reset E)) &#xA;&#xA; (reset E) &#xA; ; --&amp;gt; &#xA; E &#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;This is vastly smaller than anything else I've been able to find on delimited continuations, and doesn't rely on Haskell's Cont monad or on Scheme's call/cc and unique macro system. Therefore, it looks like I can implement this myself to play with outside of Haskell or Scheme / Racket, and that would be grand (see my Mathematica version below).  Problem is that I don't think it's right.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If I fire up Racket, do &lt;code&gt;(require racket/control)&lt;/code&gt; and then&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;(reset (+ 1 (shift k (k 42)))  ~~&amp;gt;  43&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;as expected and as consistent with the above.  If I do &lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;(reset (+ 1 (* 2 (shift k (k 42)))))  ~~&amp;gt;  85&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;this looks right, but doesn't match the prescription above.  That prescription, if I read it correctly, should lead to the second rewrite rule and just produce &lt;code&gt;(+ 1 (* 2 (shift k (k 42))))&lt;/code&gt; because it can't &quot;see&quot; the &lt;code&gt;shift&lt;/code&gt; at the second level, &quot;inside&quot; the &lt;code&gt;(* 2 (shift ...))&lt;/code&gt; subexpression. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;My straight transcription into Mathematica confirms this behavior,&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;reset[h_[As___, shift[k_, E_], Bs___]] :=&#xA;  Block[{K = Function[x, reset[h[As, x, Bs]]]},&#xA;   reset[E /. {k -&amp;gt; K}]]&#xA;reset[E_] := E&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;One level deep (like almost all the concrete examples I've found in papers! so the wiki authors are exonerated), and everything is fine:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;reset[1 + shift[k, k[42]]] ~~&amp;gt;  &#xA;reset[Plus[1, shift[k, k[42]]]] ~~&amp;gt;&#xA;(* h -&amp;gt; Plus, As -&amp;gt; {1}, E -&amp;gt; k[42], Bs -&amp;gt; {} *)&#xA;reset[Plus[1, 42]] ~~&amp;gt;&#xA;43&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;But then I try this:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;reset[1 + (2 * shift[k, k[42]])] ~~&amp;gt;&#xA;reset[Plus[1, Times[2, shift[k, k[42]]]]] ~~&amp;gt;&#xA;1 + (2 * shift[k, k[42]])&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;This fires the second, transparent rewrite rule because &lt;code&gt;shift&lt;/code&gt; is too far down; the first pattern &lt;code&gt;h[As___, shift[k_, E_], Bs___]&lt;/code&gt; can't see it -- it's inside &lt;code&gt;Bs&lt;/code&gt;, which matches the second-level AST &lt;code&gt;Times[2, shift[...]]&lt;/code&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So the final question is:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can I just patch the rewrite rule above, perhaps like this:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt; (reset (...A... (shift K E) ...B...)) &#xA; ; --&amp;gt; &#xA; (let ((K (lambda (x) (reset ( (reset ...A...) x (reset ...B...)))))) &#xA;   (reset E)) &#xA;&#xA; (reset E) &#xA; ; --&amp;gt; &#xA; E &#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;or am I doomed to take the long, scenic tour through vast landscapes of Haskell and OchaCaml and call/cc and denotational semantics just so I can create a small, but correct, toy implementation?  &lt;/p&gt;&#xA;" OwnerUserId="10139" LastEditorUserId="10139" LastEditDate="2015-12-24T15:03:00.743" LastActivityDate="2016-01-01T20:05:01.263" Title="reset and shift only one level deep (delimited continuations)?" Tags="&lt;continuations&gt;&lt;scheme&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="2" ClosedDate="2016-01-05T14:44:53.217" ContentLicense="CC BY-SA 3.0" />
  <row Id="33436" PostTypeId="2" ParentId="9673" CreationDate="2015-12-25T06:50:21.817" Score="0" Body="&lt;p&gt;&lt;strong&gt;FA&lt;/strong&gt; deterministically or non-deterministically accepts the same language(ie. Regular Lang).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But in case of &lt;strong&gt;PDA&lt;/strong&gt;, if we restrict it to behave &lt;strong&gt;deterministically&lt;/strong&gt; it will not accept some CFLs(CFLs &lt;strong&gt;without prefix property&lt;/strong&gt; (except RLs)).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Why so?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider an example of CFL which does not have prefix property(Prefix property of a lang: no string is a proper prefix of another string in the lang).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;L= wwr&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;eg. strings &lt;strong&gt;00&lt;/strong&gt; and &lt;strong&gt;0000&lt;/strong&gt;. (00 is a proper prefix of 0000 thus wwr is not having pref. property).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On occurence of &lt;strong&gt;00&lt;/strong&gt; DPDA will go to final state. Now &lt;strong&gt;since DPDA has no choice between acceptancy and continuity&lt;/strong&gt;, it cannot accept &lt;strong&gt;0000&lt;/strong&gt; after accepting &lt;strong&gt;00&lt;/strong&gt;.&#xA;This is the place where PDA requires &lt;strong&gt;&lt;em&gt;non-determinism&lt;/em&gt;&lt;/strong&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Observations&lt;/strong&gt;: In case of FA, lang(RL) without pref. property can be accepted deterministically(eg. strings starting with 0). &#xA;This shows that the &lt;strong&gt;effect of prefix property of RL and CFL is different&lt;/strong&gt;.&#xA;The difference between determinism and non-determinism for PDA gives rise to a new family of lang. which is accepted by DPDA. This lang is called &lt;strong&gt;DCFL&lt;/strong&gt;.&lt;/p&gt;&#xA;" OwnerUserId="31609" LastActivityDate="2015-12-25T06:50:21.817" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33438" PostTypeId="2" ParentId="33435" CreationDate="2015-12-25T21:21:31.913" Score="0" Body="&lt;p&gt;I found an implementation in Clojure that's in terms of fairly elementary functions and macros (rewriters) that I can translate into other languages like Mathematica or C++ or even python with &lt;a href=&quot;https://github.com/lihaoyi/macropy&quot; rel=&quot;nofollow&quot;&gt;macropy&lt;/a&gt;.  I think this will be easier for me to deal with than the implementations in Haskell (with its deep monad libraries, which I don't want to translate into other languages [too much work]) or Scheme (with its built-in &lt;code&gt;call/cc&lt;/code&gt;, which I can't translate into other languages [without a lot of compiler hacking or similar trouble]).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here: &lt;a href=&quot;http://tinyurl.com/nj23hzj&quot; rel=&quot;nofollow&quot;&gt;http://tinyurl.com/nj23hzj&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="10139" LastActivityDate="2015-12-25T21:21:31.913" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33440" PostTypeId="1" AcceptedAnswerId="33441" CreationDate="2015-12-26T04:57:36.570" Score="4" ViewCount="512" Body="&lt;p&gt;Let $G = (V, E)$ be an arbitrary undirected graph and $W \subseteq V$ a subset of its vertices. What is the complexity of the best algorithms for obtaining the edges $F$ of the induced subgraph $H = (W, F)$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We can iterate over all the pairs of vertices taken from $W$ and test whether they're in $E$ using a hash table. This has a complexity of $O(|W|^2)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another algorithm is to iterate over all the neighbors of all the vertices in $W$, and keep the pairs that are in $W\times W$. If the average number of neighbors is $d$, the complexity of this algorithm is $O(|W|d)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can we do better than either $O(|W|^2)$ or $O(|W|d)$?&lt;/p&gt;&#xA;" OwnerUserId="36880" LastEditorUserId="36880" LastEditDate="2015-12-27T01:09:02.433" LastActivityDate="2015-12-27T01:09:02.433" Title="Fast extraction of the edges of an induced subgraph" Tags="&lt;graph-algorithms&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="33441" PostTypeId="2" ParentId="33440" CreationDate="2015-12-26T07:01:42.287" Score="7" Body="&lt;p&gt;I'm assuming you can do some preprocessing to organize your graph for this computation, since otherwise your question makes little sense.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the $O(|W|d)$ algorithm, you can replace the average degree by the &lt;a href=&quot;https://en.wikipedia.org/wiki/Degeneracy_(graph_theory)&quot;&gt;degeneracy&lt;/a&gt; of $G$. For an undirected graph $G$, being $d$-degenerate means there is a vertex ordering such that each vertex has at most $d$ neighbors that are later in the ordering. To extract the induced subgraph, loop over each vertex of $W$ and test, for each of its $\le d$ later neighbors in a degeneracy ordering, whether that neighbor also belongs to $W$. Each edge is extracted once, when the loop reaches its earlier endpoint.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Because it tests a subset of the same pairs, this algorithm is never worse than your average degree algorithm and could in some cases be significantly better. And if you're computing worst case bounds in terms of the numbers of vertices and edges of the original graph, the average-degree algorithm can be as bad as $\Theta(|W|n)$ (if $W$ picks out vertices of unusually high degree), even for sparse graphs, while the degeneracy algorithm is always $O(|W|\sqrt m)$ (because degeneracy is always $O(\sqrt m)$).&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2015-12-26T07:01:42.287" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33442" PostTypeId="1" CreationDate="2015-12-26T20:15:18.260" Score="4" ViewCount="76" Body="&lt;p&gt;I am looking for a reference for explicit families of $d$-regular Ramanujan graphs for fixed $d.$ In particular, I am looking for a family of $d$-regular graphs such that the associated reversible random walk on any such graph has eigenvalues $\lambda_1 = 1\geq \lambda_2\geq \ldots \geq \lambda_k$ with &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\max_{2\leq i\leq k} |\lambda_i|\leq \frac{2\sqrt{d-1}}{d}~.$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I want the absolute spectral gap bounded in this way, and therefore bipartite expanders won't do for me (since then, $\lambda_k = -1$).&lt;/p&gt;&#xA;" OwnerUserId="7823" LastActivityDate="2015-12-26T20:15:18.260" Title="Explicit Ramanujan graph families (Reference Request)" Tags="&lt;expanders&gt;" AnswerCount="0" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33447" PostTypeId="2" ParentId="33433" CreationDate="2015-12-26T23:08:06.207" Score="4" Body="&lt;p&gt;Josh's answer uses two conjectures and &#xA;both of them are considered to be highly likely to be correct by experts &#xA;even if not proven yet.&#xA;A positive answer means that at least one of the two conjecture is incorrect.&#xA;That would be a major very surprising result.&#xA;In other words, &#xA;it is highly unlikely that the answer to your question is positive, and&#xA;even if the answer is positive, &#xA;it is not possible to prove it at this time &#xA;(otherwise we would have already refuted one of those conjectures).&lt;/p&gt;&#xA;" OwnerUserId="186" LastActivityDate="2015-12-26T23:08:06.207" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33448" PostTypeId="2" ParentId="33017" CreationDate="2015-12-27T00:14:07.247" Score="2" Body="&lt;p&gt;An $O(\sqrt n)$-approximation greedy algorithm for this problem is presented in the paper &quot;Independent sets with domination constraints&quot; by Magnús M. Halldórsson, Jan Kratochvı́l, Jan Arne Tellec (Discrete Applied Mathematics, Vol. 99, Issues 1–3, Pages 39–54). The algorithm is greedy: it consequently selects to the output solution a vertex with minimum degree, such that the output solution is still $2$-independent. Thus, the lower and the upper bounds for this problem coincide.&lt;/p&gt;&#xA;" OwnerUserId="21354" LastActivityDate="2015-12-27T00:14:07.247" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33449" PostTypeId="2" ParentId="10916" CreationDate="2015-12-27T04:02:36.737" Score="8" Body="&lt;p&gt;Algebra (and algebraic geometry) has had a pretty big role to play in cryptography, with elliptic curve groups, (number-theoretic) lattices, and of course $\mathbb{Z}_p$ being the basis for nearly all modern cryptographic work.&lt;/p&gt;&#xA;" OwnerUserId="21618" LastActivityDate="2015-12-27T04:02:36.737" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33455" PostTypeId="2" ParentId="17079" CreationDate="2015-12-29T02:39:37.467" Score="8" Body="&lt;p&gt;Turns out that there is a way to implement Grover's algorithm with fewer than $O(\sqrt{N}\log N)$ gates! That's why you were not able to find a reference claiming that $\Omega(\sqrt{N}\log N)$ gates are needed. At least in the case where there is one marked item it is possible to do better.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A recent preprint by &lt;a href=&quot;http://arxiv.org/abs/1512.07550&quot;&gt;Arunachalam and de Wolf&lt;/a&gt; provides a new algorithm to solve the search problem with one marked item with query complexity $O(\sqrt{N})$ and only $O(\sqrt{N}\log(\log^* N))$ gates (from the gate set Toffoli + all one-qubit gates). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that the function $\log(\log^* N)$ grows so slowly that even if $N$ is the number of atoms in the universe, $\log(\log^* N)$ is at most 3.&lt;/p&gt;&#xA;" OwnerUserId="206" LastActivityDate="2015-12-29T02:39:37.467" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33456" PostTypeId="1" AcceptedAnswerId="33489" CreationDate="2015-12-29T10:04:25.630" Score="0" ViewCount="142" Body="&lt;p&gt;Given $n$ sets of integers $S_1, S_2, \cdots, S_n$, it is guaranteed that&#xA;$$&#xA;x &amp;lt; y, \text{ for } \forall x \in S_i \text{ and } \forall y \in S_{i+1}&#xA;$$&#xA;and let's denote this relationship as $S_i &amp;lt; S_{i+1}$.&#xA;For each set, we want to build a data structure that supports the following two operations:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;$rank(x)$: Return the rank of $x$ in $S_i$, where $x \in S_i$;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;$merge(A, B)$: Let $A$ and $B$ be the structures built on two sets $S_i$ and $S_j$ with $S_i &amp;lt; S_j$. Merge $A$ and $B$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;One implementation is to use an order statistics tree (such as AVL tree, red-black tree), which is able to support $\mathcal{O}(\log n)$ rank operation, but fails(right?) to provide efficient (i.e., logarithmic or constant) merge operation. A linked-list implementation, however, has poor rank performance. A skip-list may be employed, but its worst time complexity is bad.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Can anyone provide a reference about such a structure or proved lower bounds for a structure that supports these two operations at the same time? Any idea is appreciated. Thanks!&lt;/strong&gt;&lt;/p&gt;&#xA;" OwnerDisplayName="user22369" LastEditorDisplayName="user22369" LastEditDate="2015-12-29T11:11:38.793" LastActivityDate="2016-01-02T17:06:45.557" Title="Mergeable Exact Order Statistics Data Structure" Tags="&lt;ds.algorithms&gt;&lt;ds.data-structures&gt;&lt;lower-bounds&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33457" PostTypeId="2" ParentId="33456" CreationDate="2015-12-29T15:19:13.967" Score="0" Body="&lt;p&gt;One option would be a &lt;strong&gt;Treap&lt;/strong&gt; (or &lt;strong&gt;(Implicit) Cartesian tree&lt;/strong&gt;), though it only guarantees $\mathcal{O}(\log n)$ expected time for both operations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Alternatively, a &lt;strong&gt;Splay Tree&lt;/strong&gt; would give you $\mathcal{O}(\log n)$ amortized time for both operations.&lt;/p&gt;&#xA;" OwnerUserId="36909" LastActivityDate="2015-12-29T15:19:13.967" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33459" PostTypeId="1" AcceptedAnswerId="33460" CreationDate="2015-12-29T18:57:10.617" Score="0" ViewCount="272" Body="&lt;p&gt;I am learning computability theory. I am just interested to know some famous problems (Formally languages) whose decidability is in question.&lt;/p&gt;&#xA;" OwnerUserId="36914" LastActivityDate="2015-12-30T00:52:04.417" Title="Are there any open problems concerning decidability?" Tags="&lt;fl.formal-languages&gt;&lt;computability&gt;&lt;turing-machines&gt;&lt;decidability&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="2" ClosedDate="2015-12-30T02:26:58.337" ContentLicense="CC BY-SA 3.0" />
  <row Id="33460" PostTypeId="2" ParentId="33459" CreationDate="2015-12-29T21:01:25.353" Score="9" Body="&lt;p&gt;Given a finite automaton A over the alphabet {0,1}, does A accept the base-2 representation of at least one prime number?   This is currently not known to be either decidable or undecidable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(By contrast, the same problem with &quot;prime&quot; replaced by &quot;composite&quot; is decidable.)&lt;/p&gt;&#xA;" OwnerUserId="3227" LastActivityDate="2015-12-29T21:01:25.353" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33461" PostTypeId="2" ParentId="33459" CreationDate="2015-12-30T00:52:04.417" Score="3" Body="&lt;p&gt;Hilbert's Tenth Problem over the rationals is neither known to be decidable nor undecidable: given a set of polynomial equations with rational coefficients, does it have a rational solution? (The same problem with rationals replaced by integers was famously proved undecidable by Matiyasevich, building on M. Davis, H. Putnam, and J. Robinson. See this &lt;a href=&quot;http://www-math.mit.edu/~poonen/papers/h10_notices.pdf&quot; rel=&quot;nofollow&quot;&gt;nice, brief survey by Bjorn Poonen&lt;/a&gt;.)&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2015-12-30T00:52:04.417" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33462" PostTypeId="1" AcceptedAnswerId="33612" CreationDate="2015-12-30T02:06:39.447" Score="3" ViewCount="236" Body="&lt;p&gt;I'm wondering which is the approximation class of &lt;em&gt;Minimum 0-1 Integer Programming&lt;/em&gt; if only non-negative integers are used. That is:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;minimize $c^T \cdot x$, &lt;/li&gt;&#xA;&lt;li&gt;with $x\in \{0,1\}^n$ and $c\in (\mathbb{Z}^*)^n$, &lt;/li&gt;&#xA;&lt;li&gt;subject to $Ax \geq b$, where $A\in (\mathbb{Z}^*)^{m * n}$ and $b\in (\mathbb{Z}^*)^m$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;where $c^T$ is the transpose of vector $c$ and $\mathbb{Z}^*$ is the set of non-negative integers. Alternatively, $\mathbb{Z}^*$ could be replaced by the set of non-negative rationals, and we could force $b=(1,...,1)$ (it would be the same problem up to normalization).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If negative integers were allowed in $A$ and $b$, then this problem would be &lt;em&gt;Minimum 0-1 Integer Programming&lt;/em&gt;, which is NPO-complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $x$ were a vector of integers, rather than a vector of bits, then it would be &lt;em&gt;Cover Integer Program&lt;/em&gt; (CIP), which can be approximated logarithmically according to &quot;Improved approximations of packing and covering problems&quot; by A. Srinivasan (1995).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are many other known related problems with different variations, e.g. all elements in $A$ must be bits, $\geq$ is $\leq$ and min is max, there is a single inequation (i.e. $m = 1$), etc. I had some hope when I found this: &lt;a href=&quot;https://www.nada.kth.se/~viggo/wwwcompendium/node199.html#7105&quot; rel=&quot;nofollow&quot;&gt;https://www.nada.kth.se/~viggo/wwwcompendium/node199.html#7105&lt;/a&gt;, comments section, last sentence. However, $A$ is a matrix of bits in that work.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is trivial to build an S-reduction from &lt;em&gt;Minimum Set Cover&lt;/em&gt;, so at least it is Log-APX-hard. But at a first glance it looks too &quot;simple&quot; for Poly-APX- or Exp-APX-hardness, I don't know... Has this problem ever been studied?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT: In the last two weeks I have developed an approximation to the problem (not based on linear programming) and, if my maths are right, it is logarithmic. Since it looks like this variant of  &lt;em&gt;Minimum 0-1 Integer Programming&lt;/em&gt; has not been studied yet in the literature, it could be publishable (?). I promise I'll get back here and report it, as soon as some reviewers check out its correctness (also if it's wrong, so that nobody else wastes his time trying the same!). (And, of course, if this problem has already been tackled in the literature, I would really appreciate it if you let me know!!)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT2: As Chandra's answer says below, Kolloiopoulos and Young gave a logarithmic approximation to a generalization of this problem. They define $x$ as a vector of non-negative integers but, simultaneously, include constraints of the form $x \leq d$. By setting $d=(1,...,1)$, $x$ must be a vector of bits.&lt;/p&gt;&#xA;" OwnerUserId="36921" LastEditorUserId="36921" LastEditDate="2016-01-21T22:04:41.230" LastActivityDate="2016-01-21T22:04:41.230" Title="Which is the approximation class of Minimum 0-1 integer programming if only non-negative integers are allowed?" Tags="&lt;complexity-classes&gt;&lt;approximation-algorithms&gt;&lt;integer-programming&gt;" AnswerCount="1" CommentCount="9" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33464" PostTypeId="1" AcceptedAnswerId="33469" CreationDate="2015-12-30T08:32:41.497" Score="2" ViewCount="455" Body="&lt;p&gt;I'm given a universal set $N = \{1, 2, \dots, n\}$, a family of sets $\mathcal{F} = \{ S_1, S_2, \dots, S_m \}$, $S_i \subseteq N$, and I need to count the number of distinct ways to cover the universal set using sets from $\mathcal{F}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I've found a couple of articles describing the usage of inclusion-exclusion principle to tackle a similar problem:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://epubs.siam.org/doi/abs/10.1137/070683933&quot; rel=&quot;nofollow&quot;&gt;Set partitioning via inclusion-exclusion&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0304397510001118&quot; rel=&quot;nofollow&quot;&gt;Dynamic programming based algorithms for set multicover and multiset multicover problems&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The papers describe how to compute the number of $k$-covers $c_k$. A $k$-cover is a tuple $(S_1, \dots, S_k)$ over $\mathcal{F}$ such that $S_1 \cup \dots \cup S_k = N$. According to the papers,&#xA;$$c_k(\mathcal{F}) = \sum_{X \subseteq N} (-1)^{|X|} a(X)^k$$ where&#xA;$a(X) = |\{S \in \mathcal{F} \mid S \cap X = \emptyset\}|$ (the number of sets in $\mathcal{F}$ that avoid $X$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I like this method because it (at least, theoretically) allows to compute the number of covers in $O(n 2^n)$ time. A simple DP approach I can think of requires $O(|\mathcal{F}| 2^n)$ time and is too expensive since in my case $|\mathcal{F}|$ is slightly less than $2^n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I tried this formula on a simple example $\mathcal{F} = \{ \{1\}, \{2\}, \{1, 2\}\}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;\begin{array}{c|c|r}&#xA;X &amp;amp; a(X) &amp;amp; (-1)^{|X|} \\&#xA;\hline&#xA;\emptyset &amp;amp; 3 &amp;amp; 1 \\&#xA;\{1\} &amp;amp; 1 &amp;amp; -1 \\&#xA;\{2\} &amp;amp; 1 &amp;amp; -1  \\&#xA;\{1, 2\} &amp;amp; 0 &amp;amp; 1 &#xA;\end{array}&#xA;$$&#xA;$$&#xA;\begin{array}{c|c|c|c}&#xA;k &amp;amp; c_k(\mathcal{F}) &amp;amp; c_k \text{(computed)} &amp;amp; \text{Number of covers} \\&#xA;\hline&#xA;1 &amp;amp; 3 - 1 - 1 + 0 &amp;amp; 1 &amp;amp; 1\\&#xA;2 &amp;amp; 3^2 - 1^2 - 1^2 + 0 &amp;amp; 7 &amp;amp; 3 \\&#xA;3 &amp;amp; 3^3 - 1^3 - 1^3 + 0 &amp;amp; 25 &amp;amp; 1  \\&#xA;\end{array}&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I don't know how to interpret the values of $c_k$ I've got. They look really strange. Is this method correct? Or is there a simpler way to count set covers in $O(n 2^n)$ time?&lt;/p&gt;&#xA;" OwnerUserId="16919" LastActivityDate="2016-01-29T21:15:38.587" Title="Counting distinct set covers" Tags="&lt;set-cover&gt;&lt;combinatorics&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33469" PostTypeId="2" ParentId="33464" CreationDate="2015-12-30T20:04:38.507" Score="0" Body="&lt;p&gt;Thanks to Andreas Björklund, I realized that $c_k$ is the number of all tuples with repetitions. I reread the article carefully and reformulated the problem in the following way:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $B = 2^{\mathcal{F}}$, $A_i = \{S \in 2^\mathcal{F} \mid S \cap \{i\} = \emptyset \}$ (i.e. set of all subsets of $\mathcal{F}$ that avoid singleton set $\{i\}$), and $C(\mathcal{F})$ is the number of distinct covers of $\mathcal{F}$. Then from the inclusion-exclusion principle we have:&#xA;$$C(\mathcal{F}) = \sum_{X \subseteq N} (-1)^{|X|} 2^{a(X)}$$&#xA;As before, $a(X)$ stands for the number of sets in $\mathcal{F}$ that avoid all of $X$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I've tested this formula on a couple of examples, and it works like a charm. For the simple example from the question above we have:&#xA;$$2^3 - 2^1 - 2^1 + 2^0 = 5$$&lt;/p&gt;&#xA;" OwnerUserId="16919" LastEditorUserId="16919" LastEditDate="2015-12-30T20:25:39.190" LastActivityDate="2015-12-30T20:25:39.190" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33472" PostTypeId="1" AcceptedAnswerId="33478" CreationDate="2015-12-31T00:40:45.410" Score="0" ViewCount="226" Body="&lt;p&gt;I'm searching for an example digraph for the multi-commodity minimum cost flow problem with integer demand. There shouldn't be an integer but fractional optimal solution. I found &lt;a href=&quot;https://cstheory.stackexchange.com/questions/21913/can-the-optimal-minimum-cost-two-commodities-flow-be-fractional-on-this-special&quot;&gt;here&lt;/a&gt; a similar question but it considers an undirected graph or to be precise I don't catch Andreas Björklund's last comment.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can anyone help? Thank you in advance!&lt;/p&gt;&#xA;" OwnerUserId="36935" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2015-12-31T14:14:39.603" Title="Fractional but not integer multi-commodity minimum cost flow" Tags="&lt;graph-theory&gt;&lt;examples&gt;&lt;multicommodity-flow&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33473" PostTypeId="1" AcceptedAnswerId="33483" CreationDate="2015-12-31T02:35:52.273" Score="9" ViewCount="476" Body="&lt;p&gt;On one hand, Gödel's Second Incompleteness Theorem states that any consistent formal theory that is strong enough to express any basic arithmetical statements can't prove its own consistency. On the other hand, the Church-Rosser's property of a formal (rewriting) system tells us that it is consistent, in the sense that not all equations are derivable, for example, &lt;strong&gt;K&lt;/strong&gt;$\neq$&lt;strong&gt;I&lt;/strong&gt;, since they don't have the same normal form.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then the Calculus of Inductive Constructions (CIC) clearly statisfies both conditions. It is strong enough to represent arithmetical propositions (indeed, the $\lambda\beta\eta$-calculus alone is already able to encode the Church numerals and represent all primitive recursive functions). Moreover, CIC also has the confluence or Church-Rosser property. But:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;shouldn't CIC be unable to prove its own consistency by the Second Incompleteness theorem?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Or it just states that the CIC can't prove its own consistency inside the system, and somehow the confluence property is a meta-theorem? Or maybe the confluence property of CIC does not guarantee its consistency?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would highly appreciate  if someone could shed some light on those issues!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks!&lt;/p&gt;&#xA;" OwnerUserId="35247" LastEditorUserId="35247" LastEditDate="2015-12-31T05:59:41.453" LastActivityDate="2016-01-01T13:13:03.777" Title="Contradiction between Gödel's Second Incompleteness Theorem and the Church-Rosser's property of CIC?" Tags="&lt;lo.logic&gt;&lt;type-theory&gt;&lt;lambda-calculus&gt;" AnswerCount="1" CommentCount="10" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="33477" PostTypeId="1" CreationDate="2015-12-31T13:32:26.890" Score="1" ViewCount="142" Body="&lt;p&gt;I want good sources for starting with decision tree complexity and query complexity , what papers to start with ? what book chapters to read ? I already seen arora and barak book and I begin to read it ... so any other suggestions will be welcomed ... &lt;/p&gt;&#xA;" OwnerUserId="15858" LastActivityDate="2016-01-02T07:10:32.117" Title="decision tree complexity and query complexity" Tags="&lt;cc.complexity-theory&gt;&lt;query-complexity&gt;&lt;decision-trees&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="33478" PostTypeId="2" ParentId="33472" CreationDate="2015-12-31T14:14:39.603" Score="1" Body="&lt;p&gt;You can use the example for an undirected edge with unit capacities, but replace each undirected edge from A to B with a set of directed edges that look like this.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://i.stack.imgur.com/WzFe4.jpg&quot; rel=&quot;nofollow noreferrer&quot;&gt;&lt;img src=&quot;https://i.stack.imgur.com/WzFe4.jpg&quot; alt=&quot;enter image description here&quot;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Each edge has a unit capacity. And if you have $x$ units of flow from A to B and $y$ units of flow from B to A, you can route it as long as $x+y \leq 1$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is the gadget referred to in Andreas Björklund's comment.&lt;/p&gt;&#xA;" OwnerUserId="1677" LastActivityDate="2015-12-31T14:14:39.603" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33481" PostTypeId="2" ParentId="6077" CreationDate="2015-12-31T17:10:16.390" Score="3" Body="&lt;p&gt;A lot of progress has been made on this question in 2015.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;First, in &lt;a href=&quot;http://arxiv.org/abs/1506.04719&quot; rel=&quot;nofollow&quot;&gt;arXiv:1506.04719 [cs.CC]&lt;/a&gt;, the authors have improved on the quadratic separation by showing a total function $f$ with&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;Q(f) = \widetilde{O}(D(f)^{1/4}).&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, in &lt;a href=&quot;http://arxiv.org/abs/1512.04016v1&quot; rel=&quot;nofollow&quot;&gt;arXiv:1512.04016 [quant-ph]&lt;/a&gt;, it was shown that the quadratic relationship between quantum and deterministic query complexity holds when the domain of the function is very small. &lt;/p&gt;&#xA;" OwnerUserId="1542" LastActivityDate="2015-12-31T17:10:16.390" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33483" PostTypeId="2" ParentId="33473" CreationDate="2016-01-01T13:13:03.777" Score="12" Body="&lt;p&gt;First, you are confusing consistency of CIC &lt;em&gt;as an equational theory&lt;/em&gt; with consistency of CIC &lt;em&gt;as a logical theory&lt;/em&gt;. The first means that not all terms of CIC (of the same type) are $\beta\eta$-equivalent. The second means that the type $\bot$ is not inhabited. CR implies the first kind of consistency, not the second.  This, as has been pointed out in the comments, is implied instead by (weak) normalization. The prototypical example of this situation is the pure $\lambda$-calculus: it is equationally consistent (CR holds) but, if you consider it as a logical system (as Alonzo Church orginally intended) it is inconsistent (indeed, it does not normalize).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Second, as Emil pointed out, even if CIC has a given property (CR or normalization) it is perfectly possible that CIC cannot itself prove that property. In this case, I do not see any inconsistency in the fact that CIC is able to prove its own CR property, and I guess that this is indeed the case (elementary combinatorial arguments usually suffice for CR, and such arguments definitely fall within the huge logical power of CIC).  However, CIC certainly does not prove its own normalization property, precisely because of the second incompleteness theorem.&lt;/p&gt;&#xA;" OwnerUserId="20716" LastActivityDate="2016-01-01T13:13:03.777" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="33484" PostTypeId="2" ParentId="33435" CreationDate="2016-01-01T20:05:01.263" Score="1" Body="&lt;p&gt;I think you might be misreading those rewrite rules.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A call to shift will find to the &lt;em&gt;nearest enclosing&lt;/em&gt; call to reset, regardless of how deeply nested it is. Other examples in the tutorial you linked to should confirm that.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The &lt;a href=&quot;http://docs.racket-lang.org/reference/cont.html?q=shift&amp;amp;=&amp;amp;=#%28form._%28%28lib._racket%2Fcontrol..rkt%29._reset%29%29&quot; rel=&quot;nofollow&quot;&gt;Racket Reference&lt;/a&gt; has a slightly different set of rewrite rules for reset/shift, that might make things a little clearer.&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;(reset val) =&amp;gt; val&#xA;&#xA;(reset E[(shift k expr)]) =&amp;gt;&#xA;  (reset ((lambda (k) expr)&#xA;          (lambda (v) (reset E[v]))))&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Using your example:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;(reset (+ 1 (* 2 (shift k (k 42)))))&#xA;=&amp;gt;&#xA;(reset ((lambda (k) (k 42))&#xA;          (lambda (v) (reset (+ 1 (* 2 v))))))&#xA;=&amp;gt;&#xA;(reset (reset (+ 1 (* 2 42))))&#xA;=&amp;gt; 85&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;I don't speak Mathematica, but it might be possible to transcribe the rewrite rules from the Racket Reference to get what you want.&lt;/p&gt;&#xA;" OwnerUserId="36949" LastActivityDate="2016-01-01T20:05:01.263" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33485" PostTypeId="2" ParentId="33477" CreationDate="2016-01-02T07:10:32.117" Score="3" Body="&lt;p&gt;Chapters-3,4 in book &lt;a href=&quot;http://analysisofbooleanfunctions.org/&quot; rel=&quot;nofollow&quot;&gt;Analysis of Boolean Functions&lt;/a&gt; by Ryan O'Donnell might be a good starting point. &lt;/p&gt;&#xA;" OwnerUserId="14028" LastActivityDate="2016-01-02T07:10:32.117" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33487" PostTypeId="1" AcceptedAnswerId="33490" CreationDate="2016-01-02T15:34:54.720" Score="15" ViewCount="640" Body="&lt;p&gt;According to &lt;a href=&quot;https://complexityzoo.uwaterloo.ca/Complexity_Zoo:R#reg&quot; rel=&quot;noreferrer&quot;&gt;the Complexity Zoo&lt;/a&gt;,&#xA;&lt;span class=&quot;math-container&quot;&gt;$\mathsf{Reg} \subseteq \mathsf{NC^1}$&lt;/span&gt; and&#xA;we know that &lt;span class=&quot;math-container&quot;&gt;$\mathsf{Reg}$&lt;/span&gt; cannot count so &lt;span class=&quot;math-container&quot;&gt;$\mathsf{TC^0} \not\subseteq \mathsf{Reg}$&lt;/span&gt;.&#xA;However it doesn't say if &lt;span class=&quot;math-container&quot;&gt;$\mathsf{Reg} \subseteq \mathsf{TC^0}$&lt;/span&gt; or not. Since we don't know &lt;span class=&quot;math-container&quot;&gt;$\mathsf{NC^1}\not\subseteq\mathsf{TC^0}$&lt;/span&gt; we also don't know &lt;span class=&quot;math-container&quot;&gt;$\mathsf{Reg} \not\subseteq \mathsf{TC^0}$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Is there a candidate for a problem in &lt;span class=&quot;math-container&quot;&gt;$\mathsf{Reg}$&lt;/span&gt; that is not in &lt;span class=&quot;math-container&quot;&gt;$\mathsf{TC^0}$&lt;/span&gt;?&lt;/p&gt;&#xA;&lt;p&gt;Is there a conditional result implying that &lt;span class=&quot;math-container&quot;&gt;$\mathsf{Reg} \not\subseteq \mathsf{TC^0}$&lt;/span&gt;, e.g. if &lt;span class=&quot;math-container&quot;&gt;$\mathsf{NC^1} \not\subseteq \mathsf{TC^0}$&lt;/span&gt; then &lt;span class=&quot;math-container&quot;&gt;$\mathsf{Reg} \not\subseteq \mathsf{TC^0}$&lt;/span&gt;?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="186" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2016-01-02T19:27:40.010" Title="Regular versus TC0" Tags="&lt;cc.complexity-theory&gt;&lt;fl.formal-languages&gt;&lt;automata-theory&gt;&lt;circuit-complexity&gt;&lt;regular-language&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33488" PostTypeId="1" CreationDate="2016-01-02T16:58:53.927" Score="5" ViewCount="335" Body="&lt;p&gt;I'm self-studying turbo codes for a graduate course in coding theory. I understood how turbo codes works by directly reading Berrou' paper and some of the following works on this topic. Given that, there is a simple question that i canno't answer with my self...&#xA;Turbo code relies on the fundamental principle of message passing during iterative decoding, more formally speaking the extrinsic information produced by one decoder is passed as a-priori information to the next (companion) decoder. This is my problematic point: why extrinsic information, that is an a-posteriori computation (given from the Log-likelihood-ratio) should be passed as an a-priori information the next decoder?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The LLR can be expressed as:&#xA;$$L(u_i)=\log\frac{P(u_i=1|\text{observation})}{P(u_i=0|\text{observation})}=\log\frac{p(obs.|u_i=1)}{p(obs.|u_i=0)}+\log\frac{P(u_i=0)}{P(u_i=1)}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What if the apriori knowledge of the source is known? For example...suppose a indipendent binary source, so that $P(0)=P(1)=1/2$. In this case there is no need to update the apriori knowledge because it is exactly equal to $0$, and extrinsic information is, in general, different from $0$, so the estimate is wrong at each step.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks in advance&lt;/p&gt;&#xA;" OwnerUserId="36952" LastActivityDate="2017-05-06T17:08:11.297" Title="Turbo codes and message passing" Tags="&lt;it.information-theory&gt;&lt;message-passing&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="33489" PostTypeId="2" ParentId="33456" CreationDate="2016-01-02T17:06:45.557" Score="2" Body="&lt;p&gt;Most balanced trees that have logarithmic-time insert and delete also have logarithmic time $merge$. This includes AVL trees, red-black trees, and B trees.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You can see &lt;a href=&quot;https://stackoverflow.com/questions/3176863/concatenating-red-black-trees/&quot;&gt;this question on Stack Overflow for several references results&lt;/a&gt;. They include a paper on CGAL (red-black), a reference to the OCaml standard library (AVL), as well as the red-black tree chapter of CLRS's Introduction to Algorithms.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;When I was learning about this topic, I was happy to find that $merge$ is actually usually a simpler operation than $insert$ and $delete$.&lt;/p&gt;&#xA;" OwnerUserId="43" LastActivityDate="2016-01-02T17:06:45.557" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33490" PostTypeId="2" ParentId="33487" CreationDate="2016-01-02T18:21:00.493" Score="17" Body="&lt;p&gt;Take $S_5$ as alphabet and &#xA;$$L= \{ \sigma_1\cdots \sigma_n \in S_5^*\mid \sigma_1\circ\cdots\circ\sigma_n = \text{Id}\}$$&#xA;Barrington proved in [2] that $L$ is $\textrm{NC}^1$-complete for $\textrm{AC}^0$ reduction (and even with a more restrictive reduction actually). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In particular this shows that regular languages are not in $\textrm{TC}^0$ if $\textrm{TC}^0 \subsetneq \textrm{NC}^1$. By using semigroups theory (see the book of Straubing [1] for more details), we obtain that if $\textrm{ACC}^0$ is strictly in $\textrm{NC}^1$ then all regular languages are either $\textrm{NC}^1$-complete or $\textrm{ACC}^0$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] Straubing, Howard (1994). &quot;Finite automata, formal logic, and circuit complexity&quot;. Progress in Theoretical Computer Science. Basel: Birkhäuser. p. 8. ISBN 3-7643-3719-2. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] Barrington, David A. Mix (1989). &quot;Bounded-Width Polynomial-Size Branching Programs Recognize Exactly Those Languages in NC1&quot;&lt;/p&gt;&#xA;" OwnerUserId="17257" LastEditorUserId="17257" LastEditDate="2016-01-02T18:26:14.157" LastActivityDate="2016-01-02T18:26:14.157" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33491" PostTypeId="2" ParentId="33487" CreationDate="2016-01-02T18:21:18.730" Score="15" Body="&lt;p&gt;Regular languages with unsolvable syntactic monoids are $\mathrm{NC}^1$-complete (due to Barrington; this is the underlying reason behind the more commonly quoted result that  $\mathrm{NC}^1$ equals uniform width-5 branching programs). Thus, any such language is not in $\mathrm{TC}^0$ unless $\mathrm{TC}^0=\mathrm{NC}^1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My favorite $\mathrm{NC}^1$-complete regular expression is $((a|b)^3(ab^∗a|b))^∗$ (this is actually an encoding of $S_5$, as in C.P.'s answer).&lt;/p&gt;&#xA;" OwnerUserId="6959" LastEditorUserId="186" LastEditDate="2016-01-02T19:27:40.010" LastActivityDate="2016-01-02T19:27:40.010" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="33492" PostTypeId="2" ParentId="32181" CreationDate="2016-01-02T21:08:18.743" Score="1" Body="&lt;p&gt;This paper shows that $t_{\mathrm{mix}} = O(kt_{\mathrm{rel}}\log t_{\mathrm{rel}})$ for all Markov chains and that $t_{\mathrm{mix}} = O(kt_{\mathrm{rel}})$ for reversible chains. The conjecture in the question is false since it's shown that $t_{\mathrm{mix}}$ can be as large as $kt_{\mathrm{rel}}.$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://arxiv.org/abs/1310.8021&quot; rel=&quot;nofollow&quot;&gt;http://arxiv.org/abs/1310.8021&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="7823" LastActivityDate="2016-01-02T21:08:18.743" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33493" PostTypeId="1" AcceptedAnswerId="33495" CreationDate="2016-01-02T21:39:47.657" Score="6" ViewCount="316" Body="&lt;p&gt;Following &lt;a href=&quot;https://math.stackexchange.com/questions/1534120/largest-rectangle-not-touching-any-rock-in-a-square-field&quot;&gt;this mathematical question&lt;/a&gt;, I am interested in the algorithmic question:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Given $n$ points in the unit square, &#xA;  find the largest area of an axis-parallel rectangle in the unit square&#xA;  that does not contain any of the given points in its interior.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;What is known about this problem?&lt;/p&gt;&#xA;" OwnerUserId="9453" LastEditorUserId="-1" LastEditDate="2017-04-13T12:19:19.363" LastActivityDate="2016-01-02T23:52:47.753" Title="Largest rectangle not touching any rock in a square field" Tags="&lt;cg.comp-geom&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="33494" PostTypeId="1" AcceptedAnswerId="33544" CreationDate="2016-01-02T23:44:17.187" Score="6" ViewCount="340" Body="&lt;p&gt;Which of the well-known structures of modern algebra (monoids, groups, rings etc) can be expressed as algebraic data types (ADTs)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Presumably a free monoid can be considered to be isomorphic to the familiar Nil, Cons construction for lists. Can finitely-presented monoids be represented as an ADT?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If ADTs can't model structures having inverses, then is there a generalisation which can?&lt;/p&gt;&#xA;" OwnerUserId="13286" LastEditorUserId="13286" LastEditDate="2016-01-02T23:52:13.803" LastActivityDate="2019-06-14T15:54:41.453" Title="Algebra and algebraic data types" Tags="&lt;ds.data-structures&gt;&lt;algebra&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="33495" PostTypeId="2" ParentId="33493" CreationDate="2016-01-02T23:52:47.753" Score="13" Body="&lt;p&gt;&lt;a href=&quot;http://dl.acm.org/citation.cfm?id=41988&quot; rel=&quot;noreferrer&quot;&gt;There is an &lt;span class=&quot;math-container&quot;&gt;$O(n \log^2 n)$&lt;/span&gt; time algorithm&lt;/a&gt;. [Aggarwal and Suri 87]&lt;/p&gt;&#xA;&lt;p&gt;It seems to be the state of the art.&lt;/p&gt;&#xA;" OwnerUserId="314" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2016-01-02T23:52:47.753" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33496" PostTypeId="2" ParentId="31973" CreationDate="2016-01-03T03:16:26.750" Score="-3" Body="&lt;p&gt;I believe the problem was shown to be NP-Hard, as opposed to NP-Complete.  I am not personally familiar with any proof of reducibility of SAT to LCS.  Such a proof is required for a problem to be regarded as NP-Complete.  NP-Complete essentially means that a given problem is at least as hard as SAT.  The reduction of a problem to SAT in P-time and P-space merely shows the problem is itself no harder the SAT.  The LCS problem has a P-time and P-space solution as an answer set problem.&lt;/p&gt;&#xA;" OwnerUserId="36960" LastActivityDate="2016-01-03T03:16:26.750" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="33498" PostTypeId="1" CreationDate="2016-01-03T23:03:54.227" Score="0" ViewCount="114" Body="&lt;p&gt;Assume that I have a pure, multipartite state $\omega_{ABCD}$ and a unitary $U(\omega_{ABCD})=\tau_{ABCD}$. The effect of $U$ on $\omega$ results in&#xA;$$&#xA;S(\omega_B)&amp;lt;S(\tau_B) &#xA;$$ &#xA;and&#xA;$$&#xA;S(\omega_A)&amp;gt;S(\tau_A).&#xA;$$&#xA;$S$ is the von Neumann entropy and the states $\omega_A,\tau_A$ etc are the marginal density matrices (for instance, $\omega_A$= $Tr_{BCD}{\omega_{ABCD}}$). This effect of $U$ is an assumption, I don't say it always holds.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;QUESTION:&#xA;Comparing the joint entropies $S(\omega_{AB})$ and $S(\tau_{AB})$, is this true&#xA;$$&#xA;S(\tau_{AB})-S(\omega_{AB})\leq S(\tau_{B})-S(\omega_{B})&#xA;$$&#xA;and if yes, why?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT: Another assumption is that $S(\omega_{AB})\geq S(\omega_B)$.&lt;/p&gt;&#xA;" OwnerUserId="36969" LastEditorUserId="36969" LastEditDate="2016-01-05T12:49:34.493" LastActivityDate="2016-02-04T19:56:44.613" Title="Entropy inequality of joint von Neumann entropy given some marginal inequalities" Tags="&lt;quantum-information&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33499" PostTypeId="2" ParentId="23767" CreationDate="2016-01-04T10:57:45.710" Score="-2" Body="&lt;p&gt;so that means:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1)&#xA;creating the forward label of A consists of yopying the upwards graph from A&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2)&#xA;prune out all vertices from forward Label L(A) where d(s, u) &gt; dist(s, u)&#xA;(d() = current distance; dist() = real distance; s = start-vertex; u = another vertex)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2.1)&#xA;do a BI-Dijsktra search from s to u and compare the calculated distance = dist(s, u) with the current distance from A's label = d(s, u)&#xA;if its greater, than prune C from A's Label L(A)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;will this not lead to a many to many query like doing a dijsktra from almost every node to every other node?&#xA;Couldnt I then just save all results into an origin-destination matrix?&#xA;Is then the whole benefit of hub labeling just a space-better way than creating an OD-matrix?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Unfortunately I was not able to find a description how they do the hub labeling. They say they use the labes from CH searches. Which searches they mean? Do the really do a many to many search and then save the labes as forward and reverse?&lt;/p&gt;&#xA;" OwnerUserId="36973" LastActivityDate="2016-01-04T10:57:45.710" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33503" PostTypeId="1" CreationDate="2016-01-04T18:59:21.223" Score="14" ViewCount="993" Body="&lt;p&gt;The $k$-th elementary symmetric polynomial $S_k^n(x_1,\ldots,x_n)$ is the sum of all $\binom{n}{k}$ products of $k$ distinct variables. &#xA;I am interested in the monotone arithmetic $(+,\times)$ circuit complexity&#xA;of this polynomial. A simple dynamic programming algorithm (as well as Fig. 1 below) gives a $(+,\times)$ circuit with $O(kn)$ gates.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;&lt;b&gt; Question:&lt;/b&gt;&#xA;Is a lower bound of $\Omega(kn)$  known?&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;A $(+,\times)$ circuit is &lt;i&gt;skew&lt;/i&gt; if at least one of the two inputs of each product&#xA;gate is a variable. Such a circuit is actually  the same as switching-and-rectifying network (a directed acyclic graph with some edges labeled by variables; each s-t path gives the product of its labels, and the output is the sum of over all s-t paths). Already 40 years ago, Markov proved a surprisingly tight result: a minimal&#xA;monotone arithmetic skew circuit for $S_k^n$ has &lt;b&gt;exactly&lt;/b&gt; $k(n-k+1)$ product gates. The &lt;i&gt;upper&lt;/i&gt; bound follows from Fig. 1:&#xA;&lt;a href=&quot;https://i.stack.imgur.com/SNBOw.png&quot; rel=&quot;nofollow noreferrer&quot;&gt;&lt;img src=&quot;https://i.stack.imgur.com/SNBOw.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/a&gt;&#xA;&lt;p&gt;&#xA; But I haven't seen any attempt to prove such a lower bound for non-skew circuits. Is this just our &quot;arrogance&quot;, or are there some inherent difficulties observed along the way?&#xA;&lt;p&gt;&#xA;P.S. I know that $\Omega(n\log n)$ gates are necessary to simultaneously compute all $S_1^n,\ldots,S_n^n$. This follows from the lower bound on the size of monotone boolean circuits sorting the 0-1 input; see page 158 of &lt;a href=&quot;http://eccc.hpi-web.de/static/books/The_Complexity_of_Boolean_Functions/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Ingo Wegener's book&lt;/a&gt;. The &lt;a href=&quot;https://en.wikipedia.org/wiki/Sorting_network&quot; rel=&quot;nofollow noreferrer&quot;&gt;AKS sorting network&lt;/a&gt; also implies that $O(n\log n)$ gates are sufficient in this (boolean) case. Actually, &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/030439758390110X&quot; rel=&quot;nofollow noreferrer&quot;&gt;Baur and Strassen&lt;/a&gt; have proved a tight bound $\Theta(n\log n)$ on the size of &lt;i&gt;non-monotone&lt;/i&gt; arithmetic circuit for $S_{n/2}^n$. But what about &lt;i&gt;monotone&lt;/i&gt; arithmetic circuits?&lt;/p&gt;&#xA;" OwnerUserId="5788" LastEditorUserId="5788" LastEditDate="2016-01-06T16:27:07.523" LastActivityDate="2016-01-06T16:27:07.523" Title="Monotone arithmetic circuit complexity of elementary symmetric polynomials?" Tags="&lt;cc.complexity-theory&gt;&lt;circuit-complexity&gt;&lt;lower-bounds&gt;&lt;arithmetic-circuits&gt;&lt;dynamic-programming&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="33504" PostTypeId="1" CreationDate="2016-01-04T21:38:08.227" Score="2" ViewCount="351" Body="&lt;p&gt;I am reading &#xA;Leslie Lamport's &lt;a href=&quot;http://research.microsoft.com/en-us/um/people/lamport/pubs/paxos-simple.pdf&quot; rel=&quot;nofollow&quot;&gt;Paxos Made Simple&lt;/a&gt; paper. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can someone explain why $P2^c$ implies $P2^b$?&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;$P2^b$ If a proposal with value $v$ is chosen, &#xA;  then every higher-numbered proposal issued by any proposer has value $v$.&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;$P2^c$ For any $v$ and $n$, &#xA;  if a proposal with value $v$ and number $n$ is issued,&#xA;  then there is a set $S$ &#xA;  consisting of a majority of acceptors such that either &lt;/p&gt;&#xA;  &#xA;  &lt;ol&gt;&#xA;  &lt;li&gt;no acceptor in $S$ has accepted any proposal numbered less than $n$, or &lt;/li&gt;&#xA;  &lt;li&gt;$v$ is the value of the highest-numbered proposal among&#xA;  all proposals numbered less than $n$ accepted by the acceptors in $S$.&lt;/li&gt;&#xA;  &lt;/ol&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="36985" LastEditorUserId="186" LastEditDate="2016-01-05T02:40:26.010" LastActivityDate="2017-05-17T15:20:53.693" Title="Paxos made simple, invariant P2c" Tags="&lt;ds.algorithms&gt;&lt;dc.distributed-comp&gt;&lt;proofs&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="33505" PostTypeId="2" ParentId="33498" CreationDate="2016-01-05T04:11:50.887" Score="1" Body="&lt;p&gt;Why should this be true?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let the dimensions of $A, B, C, D$ all be the same. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $\omega_{AB}$ and $\omega_{CD}$ both be pure states, with &#xA;$$S(\omega_A) = S(\omega_B) = S(\omega_C) = S(\omega_D).$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, let $U$ perform a cyclic permutation on $A, B, C, D$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;We have $S(\tau_{AB}) = 2 S(\tau_B)$, and  $S(\omega_{AB}) = 0$, while&#xA;$S(\tau_B) = S(\omega_B)$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now all you have to do is show that you can perturb this construction slightly to get the desired inequalities in your hypothesis. &lt;/p&gt;&#xA;" OwnerUserId="1677" LastActivityDate="2016-01-05T04:11:50.887" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="33506" PostTypeId="2" ParentId="33503" CreationDate="2016-01-05T05:28:17.783" Score="6" Body="&lt;p&gt;One challenge is that if you remove the &quot;monotone&quot; restriction, we &lt;em&gt;do&lt;/em&gt; know how to compute such things efficiently.  You can compute the value of all $S_0^n,\dots,S_n^n$ (evaluate all $n+1$ elementary symmetric polynomials) in $O(n \log^2 n)$ time, using FFT-based polynomial multiplication.  So, proving a $\Omega(nk)$ lower bound in the monotone circuit model would require proving a $\Omega(n^2)$ lower bound on polynomial multiplication.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here's how.  Introduce a formal unknown $y$, and consider the polynomial&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$P(y) = \prod_{i=1}^n (1 + x_i y).$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that since the $x_i$'s are known constants, this is a univariate polynomial with unknown $y$ and with degree $n$.  Now you can note that the coefficient of $y^k$ in $P(y)$ is exactly $S_k^n$, so to evaluate all the $S_0^n,\dots,S_n^n$, it suffices to compute $P(y)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This makes it possible to compute $P(y)$ in $O(n \lg^2 n)$ time: build a balanced binary tree of polynomials with the $(1+x_i y)$'s at the leaves, and multiply the polynomials.  Multiplying two polynomials of degree $d$ takes $O(d \lg d)$ time using FFT techniques, so we get the recurrence $T(n) = 2 T(n/2) + O(n \lg n)$, which solves to $T(n) = O(n \lg^2 n)$.  For convenience, I am ignoring $\text{poly}(\lg \lg n)$ factors.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you care about the case where $k$ is very small, you can compute $S_0^n,\dots,S_k^n$ in $O(n \lg^2 k)$ time using similar tricks, keeping in mind that you only care about $P(x) \bmod y^{k+1}$ (i.e., throwing away all terms of $y^{k+1}$ or higher powers of $y$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course, the FFT uses subtraction, so naively it's not expressible in a monotone circuit.  I don't know whether there's some other way to multiply polynomials efficiently with monotone arithmetic circuits, but any efficient monotone method for polynomial multiplication immediately leads to an algorithm for your problem as well.  So, lower bounds on your problem require/imply lower bounds for polynomial multiplication.&lt;/p&gt;&#xA;" OwnerUserId="5038" LastActivityDate="2016-01-05T05:28:17.783" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="33507" PostTypeId="1" CreationDate="2016-01-05T05:30:13.337" Score="4" ViewCount="125" Body="&lt;p&gt;Every boolean function $f:\{0,1\}^n\to \{0,1\}$ can be uniquely represented as a multilinear polynomial $p=\sum_{S\subseteq [n]}c_S \chi_s$ where $\chi_s=\prod_{i\in S}x_i$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A boolean function is fully-sensitive at $\vec{0}$ if $f(\vec{0})=0$ (wlog) and takes value $1$ on any input with hamming weight $1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Question: Is there any lower bound on the number of nonzero terms for such a polynomial(originated from a boolean function and fully-sensitive at $\vec{0}$?)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To the best of my knowledge, Noam Nisan and Avi Wigderson studied this type of function and proposed an example with degree $O(n^{log_3 2})$, which also suggested an upper bound of $2^{O(n^{\log_3 2})}$ on the number of nonzero terms, but what about the lower bounds? Besides, the character of &quot;fully sensitive at $\vec{0}$&quot; is indeed an embedding of Unique Disjoint Function, which also has results on lower bound on nonnegative ranks, etc. However, those results and ideas seem not directly applicable here. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any previous results or ideas would help. Thanks!&lt;/p&gt;&#xA;" OwnerUserId="36601" LastEditorUserId="36601" LastEditDate="2016-01-20T11:31:27.640" LastActivityDate="2016-01-20T11:31:27.640" Title="Lower Bound for Nonzero Terms of a Polynomial Fully Sensitive at 0" Tags="&lt;cc.complexity-theory&gt;&lt;communication-complexity&gt;" AnswerCount="0" CommentCount="6" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33508" PostTypeId="1" CreationDate="2016-01-05T10:41:10.990" Score="19" ViewCount="662" Body="&lt;p&gt;Let $F$ be an integer valued function such that $2F$ is in $\#P$.  Does it follow that $F$ is in $\#P$?  Are there reasons to believe this is unlikely to always hold?  Any references I should know about?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Somewhat surprisingly, this situation came up (with a much larger constant), for a function $F$ for which $F \in? \#P$ is an old open problem.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; I am aware of the paper M. Ogiwara, L. Hemachandra, &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/002200009390006I&quot;&gt;A complexity theory for feasible closure properties&lt;/a&gt; where a related division-by-2 problem has been studied (see Thm 3.13).  Their problem is different however, as they define the division for &lt;em&gt;all&lt;/em&gt; functions via the floor operator.  That allowed them to make some quick reductions to parity problems.  &lt;/p&gt;&#xA;" OwnerUserId="16704" LastEditorUserId="16704" LastEditDate="2016-01-05T11:08:23.183" LastActivityDate="2016-02-14T02:25:16.267" Title="Division by two of functions in #P" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;counting-complexity&gt;" AnswerCount="1" CommentCount="11" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33509" PostTypeId="1" AcceptedAnswerId="33510" CreationDate="2016-01-05T12:45:42.533" Score="4" ViewCount="1070" Body="&lt;p&gt;Suppose we have a strongly connected directed graph with non-negative weights on its edges. Is there an efficient algorithm to find the directed cycle with the smallest average weight in the graph? (Here, smallest average weight of a directed cycle is the sum of the weights of all edges in the cycle divided by the number of edges.)&lt;/p&gt;&#xA;" OwnerUserId="7823" LastActivityDate="2016-01-05T12:57:49.903" Title="Efficient algorithm for finding directed cycle with smallest average weight" Tags="&lt;graph-algorithms&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33510" PostTypeId="2" ParentId="33509" CreationDate="2016-01-05T12:54:58.677" Score="8" Body="&lt;p&gt;Karp has an algorithm that does exactly that. You can read about it in his paper &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/0012365X78900110&quot;&gt;&quot;A characterization of the minimum cycle mean in a digraph.&quot;&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There seem to be other algorithms proposed &lt;a href=&quot;http://www.math.md/files/csjm/v6-n1/v6-n1-(pp27-34).pdf&quot;&gt;here&lt;/a&gt; which are perhaps easier to read.&lt;/p&gt;&#xA;" OwnerUserId="7531" LastEditorUserId="7531" LastEditDate="2016-01-05T12:57:49.903" LastActivityDate="2016-01-05T12:57:49.903" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33514" PostTypeId="2" ParentId="3390" CreationDate="2016-01-05T18:22:41.707" Score="2" Body="&lt;p&gt;Carter and Wegman cover this in &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/0022000081900337&quot; rel=&quot;nofollow&quot;&gt;New hash functions and their use in authentication and set equality&lt;/a&gt;; it's very similar to what you describe.  Essentially a commutative hash function can be updated one element at a time for insertions and deletions, and high probability matches, in O(1).  &lt;/p&gt;&#xA;" OwnerUserId="34745" LastActivityDate="2016-01-05T18:22:41.707" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="33516" PostTypeId="1" CreationDate="2016-01-06T18:54:15.127" Score="7" ViewCount="906" Body="&lt;p&gt;My understanding of the Church-Turing thesis is the: &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;It puts a limit on what can be computed by &lt;strong&gt;any&lt;/strong&gt; discrete and finite process.&lt;/li&gt;&#xA;&lt;li&gt;Although still a thesis, not a theorem, if it were to be disproven, this wouldn't mean just an update to our current models of computation. It would be a paradigm shifting result for mathematics and physics in general.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Yet many discussions on the Philosophy SE (where I usually hang out) turn to the possibility of &quot;Super-Turing&quot; computation, and arguments in philosophy of mind question are frequently hinged on the proposition that Church-Turing is &lt;em&gt;just&lt;/em&gt; a thesis and the there are several proposals for super-Turing computation or hypercomputation. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The mostly frequently cited source for this is the &lt;a href=&quot;http://plato.stanford.edu/entries/church-turing/&quot;&gt;Stanford Encyclopedia of Philosophy  (SEP) article on the Church-Turing thesis&lt;/a&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In particular the article has a section titled &lt;a href=&quot;http://plato.stanford.edu/entries/church-turing/#Bloopers&quot;&gt;&quot;Misunderstandings of the thesis&quot;&lt;/a&gt;, which states the following: &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;A myth seems to have arisen concerning Turing's paper of 1936, namely that he there gave a treatment of the limits of mechanism and established a fundamental result to the effect that the universal Turing machine can simulate the behaviour of any machine. The myth has passed into the philosophy of mind, generally to pernicious effect.&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;[...] Turing did not show that his machines can solve any problem that can be solved &quot;by instructions, explicitly stated rules, or procedures&quot;, nor did he prove that the universal Turing machine &quot;can compute any function that any computer, with any architecture, can compute&quot;. He proved that his universal machine can compute any function that any Turing machine can compute; and he put forward, and advanced philosophical arguments in support of, the thesis here called Turing's thesis. But a thesis concerning the extent of effective methods -- which is to say, concerning the extent of procedures of a certain sort that a human being unaided by machinery is capable of carrying out -- carries no implication concerning the extent of the procedures that machines are capable of carrying out, even machines acting in accordance with ‘explicitly stated rules’. For among a machine's repertoire of atomic operations there may be those that no human being unaided by machinery can perform.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The above mentioned section and especially the quoted passages seem blatantly wrong to me, as if the author doesn't even get the concept of a Turing machine or what the Church-Turing thesis is. And yet, the article is constantly cited as a source by those who argue against the Church-Turing thesis, not just in the Philosophy SE, but even by relatively well known philosophers like &lt;a href=&quot;http://rationallyspeaking.blogspot.com/2013/08/computation-church-turing-and-all-that.html&quot;&gt;Massimo Pigliucci&lt;/a&gt;. The main reasons why the article carries so much weight is that the SEP is considered a reputable source in the philosophy community, and the articles there are subject to review, and that the article's author, &lt;a href=&quot;https://en.wikipedia.org/wiki/Jack_Copeland&quot;&gt;Jack Copeland&lt;/a&gt;, is an established philosopher who has published extensively on Turing and on AI. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;And yet the way I see it, the article is fundamentally wrong in its presentation of the thesis, reputability of the source and the author not withstanding. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;My questions:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Is my interpretation of the Church-Turing thesis correct? &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;How could one refute those who use that article's &quot;Misunderstandings&quot; section as a justification for the idea that computing beyond the Turing limit is a realistic prospect? &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;Is hyper computation taken seriously by mainstream computability theorists, or is it the CS equivalent of cold fusion and perpetual motion? &lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="32388" LastEditorUserId="32388" LastEditDate="2016-01-06T19:20:50.100" LastActivityDate="2016-03-23T18:46:32.957" Title="Misunderstanding the Church-Turing thesis?" Tags="&lt;church-turing-thesis&gt;&lt;hypercomputation&gt;" AnswerCount="3" CommentCount="3" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="33517" PostTypeId="1" CreationDate="2016-01-06T18:54:26.600" Score="2" ViewCount="230" Body="&lt;p&gt;By Karp-Lipton Theorem we have:&#xA;$$PH\subseteq P/poly\Rightarrow PH=\Sigma^p_2$$&#xA;So this theorem suggest it is unlikely that $PH\subseteq P/poly$.&#xA;I want to know is there any similar conditional or unconditional theorems that study relationship between $LinH$ and $P/poly$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks!   &lt;/p&gt;&#xA;" OwnerUserId="36375" LastActivityDate="2016-01-06T18:54:26.600" Title="Linear Time Hierarchy and Circuit complexity" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;circuit-complexity&gt;&lt;polynomial-hierarchy&gt;" AnswerCount="0" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33520" PostTypeId="1" AcceptedAnswerId="33524" CreationDate="2016-01-07T10:04:32.910" Score="3" ViewCount="357" Body="&lt;p&gt;I want a SAT instance (in CNF) whose set of satisfying assignments are the connected induced subgraphs of a given input graph. A general solution would be helpful, but I really only need this when the input is a subgraph of a 2D grid graph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course, I want the size of the SAT instance to be polynomial in the size of the input graph, so that rules out ideas like encoding every path between each pair of vertices.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit: The answer I needed and accepted allows the use of extra variables to formulate a SAT instance.  Interestingly, @DavidEppstein shows that if no new variables are allowed, the required SAT instance cannot, in general, be found.&lt;/p&gt;&#xA;" OwnerUserId="13747" LastEditorUserId="13747" LastEditDate="2016-01-08T10:16:40.233" LastActivityDate="2016-01-08T10:16:40.233" Title="Generate connected induced subgraphs as the satisfying assignments to a SAT instance" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;co.combinatorics&gt;&lt;sat&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="33523" PostTypeId="2" ParentId="33520" CreationDate="2016-01-07T19:59:20.587" Score="5" Body="&lt;p&gt;It's not possible if the variables are restricted to be only the given ones for the graph vertices. Consider a graph $G$ that has $2n+2$ vertices: $x$, $u_i$, $v_i$, and $y$ for $1\le i\le n$, formed by the union of $n$ edge-disjoint paths $x$--$u_i$--$v_i$--$y$. Also consider only the subgraphs that include both $x$ and $y$: if the whole graph has a small CNF formula for connected subgraphs, then so does this subset of subgraphs, obtained by setting the variables for $x$ and $y$ to true and then simplifying the formula.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The connected subgraphs that include both $x$ and $y$ do have a very simple $2$-DNF formula:&#xA;$$\bigvee\limits_{i=1}^n(u_i\wedge v_i).$$&#xA;However, when you convert this to its (unique) CNF form, it has $2^n$ terms (one for each way of excluding either $u_i$ or $v_i$ from the subgraph, for each $i$). So no polynomial-size CNF formula exists.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$G$ is not a grid graph but the same construction can easily be embedded into a grid by expanding $x$ and $y$ into larger connected subsets of grid points. As above, the whole graph can't have a small CNF formula, because if it did then you'd also have a small CNF formula for the connected subgraphs that include all the grid points representing $x$ and $y$, but we can write down the formula for this subset of the subgraphs and it does not have polynomial size.&lt;/p&gt;&#xA;" OwnerUserId="95" LastEditorUserId="95" LastEditDate="2016-01-07T21:32:19.953" LastActivityDate="2016-01-07T21:32:19.953" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33524" PostTypeId="2" ParentId="33520" CreationDate="2016-01-07T20:55:01.460" Score="4" Body="&lt;p&gt;Constructions are easier in the uniform setting.&#xA;When doing reductions to SAT express the problem &#xA;you want to reduce to SAT as a SO$\exists$ formula&#xA;(by &lt;a href=&quot;https://en.wikipedia.org/wiki/Fagin%27s_theorem&quot; rel=&quot;nofollow&quot;&gt;Fagin's theorem&lt;/a&gt; in &lt;a href=&quot;https://en.wikipedia.org/wiki/Descriptive_complexity_theory&quot; rel=&quot;nofollow&quot;&gt;descriptive complexity&lt;/a&gt; &#xA;SO$\exists$ captures all queries computable in NP).&#xA;Then convert it into a propositional formula using &lt;em&gt;propositional translation&lt;/em&gt;.&#xA;Then convert that to a CNF using &lt;a href=&quot;https://en.wikipedia.org/wiki/Tseytin_transformation&quot; rel=&quot;nofollow&quot;&gt;Tseytin transformation&lt;/a&gt;:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let the input $G$ be given by the number of vertices $n$ and &#xA;the edge relation $E$.&#xA;To simplify things let's assume that each vertex has an edge to itself,&#xA;i.e. $E(v,v)$ for all $v$.&#xA;Let $S$ be a unary predicate that determines the set of selected vertices.&#xA;SO$\exists$ formula for your problem: $\varphi(G,S)$ is&#xA;$$\forall s,t \in S \ \exists P&#xA;\text{ ``$P$ is a path from $s$ to $t$ in $G[S]$''}$$&#xA;To express that $P$ is a path from $v$ to $u$ in $G[S]$&#xA;we think of $P$ as an ordered list of size $n$ of vertices, &#xA;i.e. $P$ is a function from $[n]$ to set of selected vertices:&#xA;$$\forall i \in [n] \ \exists v \in S \ P(i,v) \land&#xA;\forall i \in [n] \forall v\neq u \in [n] (\lnot P(i,v) \lor \lnot P(i,u))$$&#xA;and it is a path from $s$ to $t$:&#xA;$$P(1,s) \land P(n,t) \land &#xA;\forall i \in [n-1] \ \forall v,u \left(&#xA;P(i,v) \land P(i+1,u) \to E(v,u)&#xA;\right)$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now we turn it into a propositional formula using &#xA;the propositional translation.&#xA;We use $q_v$ to express vertex $v$ is in $S$, i.e. $v \in S$.&#xA;We use $p_{iv}$ to express $P(i,v)$.&#xA;Note that when translating &#xA;we need to use different variables for expressing &#xA;the path between each pair.&#xA;It is really $p_{iv}^{st}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\bigwedge_{s,t \in [n]} \left(q_s \land q_t \to ... \right)$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where $...$ is the conjunction of &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\bigwedge_{i\in [n]} \bigvee_{v \in [n]} (q_v \land p_{iv}^{st}) \land &#xA;\bigwedge_{i\in[n]} \bigwedge_{v\neq u \in [n]} &#xA;(\lnot p_{iv}^{st} \lor \lnot p_{iu}^{st})$$&#xA;and&#xA;$$p_{1s}^{st} \land p_{nt}^{st} \land\bigwedge_{i \in [n-1]} \bigwedge_{v,u \in [n]}\left( &#xA;p_{iv}^{st} \land p_{i+1u}^{st} \to e_{vu}&#xA;\right)$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This has polynomial size in $n$.&#xA;To make it CNF perform the reduction from SAT to CNF-SAT using &#xA;Tseytin transformation:&#xA;use new variables (called &lt;em&gt;extension&lt;/em&gt; variables) for each subformula&#xA;and expressing the relationship between the variable for each subformula&#xA;and the variables for its intimidate children in the formula tree and&#xA;that the variable for the root subformula is true.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The result is a polynomial-size CNF formula $\psi(\vec{e}, \vec{q}, \vec{p}, \vec{z})$ with variables $\vec{e}$, $\vec{q}$, $\vec{p}$, &#xA;and a bunch of extension variables $\vec{z}$ (for subformulas).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Fix $\vec{e}$ based on the given $G$. &#xA;Any assignment $\tau$ to $\vec{q}$, $\vec{p}$, $\vec{z}$ that satisfies $\psi$&#xA;gives a connected subgraph $S = \{v \mid \tau(q_v) = \top \}$ of $G$ and&#xA;for any connected subgraph of $G$ there is such an assignment.&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2016-01-07T21:25:20.657" LastActivityDate="2016-01-07T21:25:20.657" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="33525" PostTypeId="2" ParentId="33508" CreationDate="2016-01-07T21:28:42.827" Score="4" Body="&lt;p&gt;I try to give my intuition why I think this is unlikely to hold. Take your favorite problem in $PPA$, and convert it into a problem in $\sharp P$, e.g., our function $f$ can be the number of Hamiltonian cycles in an input 3-regular graph containing a certain fixed edge. From the parity argument we know that $f$ is always even, so you can define $F:=f/2$ and I see no reason why $F$ would be in $\sharp P$.&lt;/p&gt;&#xA;" OwnerUserId="419" LastEditorUserId="419" LastEditDate="2016-02-14T02:25:16.267" LastActivityDate="2016-02-14T02:25:16.267" CommentCount="10" ContentLicense="CC BY-SA 3.0" />
  <row Id="33526" PostTypeId="2" ParentId="33516" CreationDate="2016-01-08T01:26:30.740" Score="10" Body="&lt;p&gt;The fields of philosophy and CS apparently have different definitions/interpretations of the thesis. In CS, I believe it is standard/accepted to define the Church-Turing thesis as the article's &quot;Misunderstandings&quot; section's &quot;Thesis M&quot; (under the narrow/worldly view). However, the article claims that this is an incorrect definition of Church-Turing. So we simply disagree. (And let's try to avoid starting an argument with them about it ... pointless arguments are their &lt;em&gt;forte&lt;/em&gt;, after all.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The approach taken by philosophers is unfortunate, as the average layman is probably interested in the CS Church-Turing thesis, not the philosophy one espoused in the article. So they will cite the article while thinking it refers to our practical/reasonable definition, when it doesn't.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So my answers to your specific questions:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Yes, as far as I can tell.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;I'd tell them that the article refers to a highly specialized philosophy-definition of Church-Turing. But regardless of what one calls the &quot;true&quot; Church-Turing thesis, the following thesis is almost universally believed among computer scientists: &quot;Any usable machine of computation that can be built in this universe can be simulated by a Turing Machine&quot;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;If by hypercomputation you mean physically possible/realizable, then no, it's not taken seriously. But it is interesting to study hypercomputation models even if they cannot appear in the real world, and we do so all the time. For instance, we may consider a Turing Machine that has access to an oracle that solves the halting problem. This object is studied all the time in theory and is uncontroversial, but nobody believes that one can actually be built.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="8243" LastActivityDate="2016-01-08T01:26:30.740" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33527" PostTypeId="1" CreationDate="2016-01-08T09:16:33.870" Score="3" ViewCount="178" Body="&lt;p&gt;I've just understood that FUN's deadline is slowly approaching. The conference page is very vague about what kind of fun they are looking for. So the question is: what the FUN committee is looking for?&lt;/p&gt;&#xA;" OwnerUserId="27007" LastActivityDate="2016-01-08T09:16:33.870" Title="What does it take to be accepted to FUN?" Tags="&lt;conferences&gt;" AnswerCount="0" CommentCount="4" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="33528" PostTypeId="2" ParentId="16187" CreationDate="2016-01-08T14:18:05.963" Score="3" Body="&lt;p&gt;The article in &lt;a href=&quot;http://webee.technion.ac.il/~idish/sigactNews/DC-col42-Jun11.pdf&quot; rel=&quot;nofollow&quot;&gt;Distributed Computing Column 42&lt;/a&gt; attempts to bring a game-theoretic perspective to distributed computing problems.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;em&gt;Distributed Computing Meets Game Theory: Combining Insights From Two Fields&lt;/em&gt;. Ittai Abraham, Lorenzo Alvisi, Joseph Y. Halpern SIGACT News 42(2) June 2011, pp. 68-76&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Quoted from &quot;Idit Keidar&quot;, the editor at that time:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Game theory and fault tolerance offer two different flavors of robustness to distributed systems – the former is robust against participants attempting to maximize their own utilities, whereas the latter offers&#xA;robustness against unexpected faults. This column takes a look at attempts to combine the two. It features a review of recent work that provides both flavors of robustness by Ittai Abraham, Lorenzo Alvisi, and Joe&#xA;Halpern. Ittai, Lorenzo, and Joe discuss how game theory-style strategic behavior can be accounted for in fault-tolerant distributed protocols. They make a compelling case for bringing a game-theoretic perspective&#xA;to distributed computing problems.&lt;/p&gt;&#xA;" OwnerUserId="12739" LastActivityDate="2016-01-08T14:18:05.963" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33531" PostTypeId="2" ParentId="33516" CreationDate="2016-01-08T16:28:04.637" Score="1" Body="&lt;p&gt;The quoted passages are correct. They highlight the distinction between Church-Turing Thesis (an unprovable statement about nature of computation) and existence of a Universal Turing Machine (a mathematical theorem).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The existence of the &lt;a href=&quot;https://en.wikipedia.org/wiki/Universal_Turing_machine&quot; rel=&quot;nofollow&quot;&gt;Universal Turing Machine&lt;/a&gt; was a nontrivial fact at the time Turing wrote his paper. Nowadays, it is considered trivial, and in the field of programming Universal Turing Machine is called an &lt;a href=&quot;https://en.wikipedia.org/wiki/Interpreter_(computing)&quot; rel=&quot;nofollow&quot;&gt;interpreter&lt;/a&gt;, i.e. a program that can run any other program written in a specific language.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What the quoted passages rightly say is that the existence of interpreters cannot prove Church-Turing Thesis.&lt;/p&gt;&#xA;" OwnerUserId="30361" LastActivityDate="2016-01-08T16:28:04.637" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="33532" PostTypeId="2" ParentId="33504" CreationDate="2016-01-09T06:11:05.840" Score="2" Body="&lt;p&gt;We prove it ($P2^c \implies P2^b$) by &lt;a href=&quot;https://en.wikipedia.org/wiki/Mathematical_induction#Complete_induction&quot; rel=&quot;nofollow noreferrer&quot;&gt;strong induction (wiki)&lt;/a&gt;. This proof has actually been given in the &quot;Paxos Made Simple&quot; paper (see the arguments between $P2^b$ and $P2^c$). I re-organize it in the order of &quot;what we know, what we want to prove, and how to prove&quot;. Hope it helps.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;&lt;em&gt;What we know:&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Base case:&lt;/em&gt; Some proposal with number $m$ and value $v$ is chosen.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Inductive assumption:&lt;/em&gt; Every proposal issued with a number in $m \ldots (n-1)$ has value $v$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;The chosen rule of a proposal:&lt;/em&gt; For the proposal number $m$ to be chosen, there must be some set $C$ consisting of a majority of acceptors such that every acceptor in $C$ accepted it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;The issue rule of a proposal:&lt;/em&gt; It is the existence of a set $S$ such that $P2^c (1)$ + $P2^c (2)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;&lt;em&gt;What we want to prove is:&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Goal:&lt;/em&gt; Any proposal issued with number $n &amp;gt; m$ also have value $v$.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;&lt;em&gt;Proof:&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Combining &quot;base case&quot; and &quot;chosen-rule&quot; with &quot;inductive assumption&quot;, we obtain:&lt;br&gt;&#xA;&lt;strong&gt;&lt;em&gt;The $C$-condition:&lt;/em&gt;&lt;/strong&gt; Every acceptor in $C$ has accepted a proposal with number in $m \ldots (n-1)$ (&lt;em&gt;Note:&lt;/em&gt; because at least each of them has accepted a proposal with number $m$),&lt;br&gt;&#xA;and every proposal with number in $m \ldots (n-1)$ accepted by any acceptor has value $v$ (&lt;em&gt;Note:&lt;/em&gt; due to the inductive assumption and the fact that a proposal must be issued by a proposer before it can be accepted by an acceptor).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now consider the set $S$ in $P2^c$ which consists of a majority of acceptors. Because $S \cap C \neq \emptyset$, $P2^c(1)$ cannot happen. Then $P2^c(2)$ must be true. $P2^c(2)$ is actually the &quot;value-issued rule&quot;: the value $v'$ of the proposal with number $n$ is the value of the highest-numbered proposal among all proposals numbered less than $n$ accepted by the acceptors in $S$, therefore $v' = v$ because of the $C$-condition.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Related posts: &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/q/27391/12739&quot;&gt;The proof of P2b in Paxos made simple@cstheory&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/q/25851/12739&quot;&gt;Correctness proofs of classic Paxos and Fast Paxos@cstheory&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="12739" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2016-01-09T06:11:05.840" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33534" PostTypeId="2" ParentId="33516" CreationDate="2016-01-10T00:39:50.437" Score="7" Body="&lt;p&gt;The Stanford Encyclopedia of Philosophy article seems to be missing a very important point. There &lt;strong&gt;&lt;em&gt;were no computers&lt;/em&gt;&lt;/strong&gt; when Turing wrote his 1936 paper. I believe he was thinking about them already, but to explain his theories to the mathematician on the street, who had never dreamt of computing machines that had capabilities beyond the relatively limited office machines built by companies like IBM, he had to frame them in terms of an effective procedure carried out by a human. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Gandy's paper &quot;Church's Thesis and Principles for Mechanisms,&quot; in &lt;em&gt;The Kleene Symposium&lt;/em&gt; (1980) states that the Church-Turing thesis does not apply to machines. It then gives what purports to be a proof of it for a very limited class of machines. &#xA;Among the things that Gandy claims is that the original Church-Turing thesis did not take parallelism into account. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Gandy's machines don't take into account the possibility of randomness, of non-mechanical physics, of action at a distance, of asynchronicity, of continuous variables, and other things that might be used to build actual physical machines. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;So was the original Church-Turing thesis intended by Church or Turing to apply to machines? Andrew Hodges has a &lt;a href=&quot;http://www.turing.org.uk/publications/ct70.pdf&quot; rel=&quot;nofollow&quot;&gt;paper&lt;/a&gt; considering this question, in which he quotes Church's review of Turing's paper:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;The author [Turing] proposes as a criterion that an infinite&#xA;  sequence of digits 0 and 1 be “computable” that it shall be&#xA;  possible to devise a computing machine, occupying a finite&#xA;  space and with working parts of finite size, which will write&#xA;  down the sequence to any desired number of terms if allowed&#xA;  to run for a sufficiently long time. As a matter of convenience,&#xA;  certain further restrictions are imposed in the character of the&#xA;  machine, but these are of such a nature as obviously to cause&#xA;  no loss of generality—in particular, a human calculator, provided with pencil and paper and explicit instructions, can be&#xA;  regarded as a kind of Turing machine.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;So Church clearly thought the Church-Turing thesis extended to machines. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, there seems to have been no effort made by Church or Turing to consider the ramifications of quantum (or other non-elementary) physics on computation, so it was clearly a very limited class of machines they were considering. &lt;/p&gt;&#xA;" OwnerUserId="1677" LastEditorUserId="1677" LastEditDate="2016-03-23T18:46:32.957" LastActivityDate="2016-03-23T18:46:32.957" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="33536" PostTypeId="1" CreationDate="2016-01-10T09:56:27.330" Score="3" ViewCount="161" Body="&lt;p&gt;I have a problem on distributed graph, with the following model: &lt;br&gt;&#xA;1. There is a Global Graph $G=(V,E)$ &lt;br&gt;&#xA;2. There are $k$ computers. &lt;br&gt;&#xA;3. Each computer $1 \leq i \leq k$ knows ALL the nodes of the graph, i.e. $V$, and subset of the edges, i.e. computer $i$ knows $V_i \subseteq V$. &lt;br&gt;&#xA;4. Each computer observes different subset of edges, i.e., for all $i,j$ : $V_i \cap V_j = \emptyset$. &lt;br&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I searched for papers which handle the same model, but I didn't find anything. Do you know if such model is being studied?&lt;/p&gt;&#xA;" OwnerUserId="37050" LastActivityDate="2016-01-10T11:55:12.330" Title="Does such model exists?" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;dc.distributed-comp&gt;&lt;dc.parallel-comp&gt;&lt;network-modeling&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33537" PostTypeId="2" ParentId="33536" CreationDate="2016-01-10T11:55:12.330" Score="4" Body="&lt;p&gt;The model studied in the following work should be a fairly close match with the model that you described (see in particular graph problems &quot;without edge duplication&quot;):&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Woodruff &amp;amp; Zhang: &quot;When Distributed Computation is Communication Expensive&quot; &lt;a href=&quot;http://arxiv.org/abs/1304.4636&quot; rel=&quot;nofollow&quot;&gt;http://arxiv.org/abs/1304.4636&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;See also this work for closely related models:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Klauck et al.: &quot;Distributed Computation of Large-scale Graph Problems&quot; &lt;a href=&quot;http://arxiv.org/abs/1311.6209&quot; rel=&quot;nofollow&quot;&gt;http://arxiv.org/abs/1311.6209&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;You may also be interested in the &quot;congested clique&quot; model, which is the special case such that $k = |V|$ and computer number $i$ is aware of the edges incident to node number $i$.&lt;/p&gt;&#xA;" OwnerUserId="74" LastActivityDate="2016-01-10T11:55:12.330" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33541" PostTypeId="2" ParentId="33130" CreationDate="2016-01-11T01:12:04.070" Score="7" Body="&lt;p&gt;Serge Gaspers already mentioned why your conjecture is trivially true.&#xA;&lt;br&gt;&#xA;However, one can in fact get &lt;em&gt;polynomial-time&lt;/em&gt; fixed-parameter isomorphisms,&#xA;&lt;br&gt;&#xA;which I now realize isn't that much less trivial, since it applies to every&#xA;&lt;br&gt;&#xA;ordered pair of non-trivial FPT problems with a reduction in the ordinary sense.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $c$ be an integer that's greater than the degree of the FPT algorithm for $\pi_1$,&#xA;&lt;br&gt;&#xA;and let $Y$ and $N$ be a yes and no instance respectively of $\pi_2$.&#xA;&lt;br&gt;&#xA;The following will be a &lt;em&gt;polynomial-time&lt;/em&gt; fixed-parameter reduction from $\pi_1$ to $\pi_2$:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Try the FPT algorithm on $\pi_1$ for up to $n^{\hspace{.02 in}c}$ steps.&#xA;&lt;br&gt;&#xA;If that gives an answer, then output $Y$ or $N$ as indicated by that answer.&#xA;&lt;br&gt;&#xA;Otherwise, output the result of applying an ordinary polynomial-time reduction from $\pi_1$ to $\pi_2$.&#xA;&lt;br&gt;&lt;br&gt;&lt;br&gt;&#xA;Correctness and polynomial runtime are obvious. $\:$ Since $c$ is greater than the degree of the FPT algorithm for $\pi_1$, it's the case that for each fixed $k$, there are only finitely many input lengths $n$ for which the FPT algorithm's maximum runtime is not less than $n^{\hspace{.02 in}c}$. $\:$ Thus, for each fixed $k$, the above reduction has only finitely many outputs. $\:$ Therefore it satisfies your fixed-parameter condition.&lt;/p&gt;&#xA;" OwnerDisplayName="user6973" LastEditorDisplayName="user6973" LastEditDate="2016-01-11T12:47:17.963" LastActivityDate="2016-01-11T12:47:17.963" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33542" PostTypeId="1" AcceptedAnswerId="33595" CreationDate="2016-01-11T09:25:46.853" Score="1" ViewCount="138" Body="&lt;p&gt;Theorem 14 of &lt;a href=&quot;http:///http://hci.iwr.uni-heidelberg.de/Staff/ukoethe/lehre/AlgorithmsForBigData/sarlos_06_matrix-approximation.pdf&quot; rel=&quot;nofollow&quot;&gt;this&lt;/a&gt; paper by Tam´as Sarl´os gives a relative error rank-$k$ approximation of a given matrix $A$ under the &lt;a href=&quot;https://en.wikipedia.org/wiki/Matrix_norm#Frobenius_norm&quot; rel=&quot;nofollow&quot;&gt;frobenius&lt;/a&gt; norm. I am looking for reference of a similar result (relative error low rank approximation) under the $l_2$ norm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Pls let me know I am  able to put the question clearly.&lt;/p&gt;&#xA;" OwnerUserId="22594" LastActivityDate="2016-01-17T22:09:19.920" Title="Low rank approximation of matrix under $l_2$ norm" Tags="&lt;linear-algebra&gt;&lt;matrices&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33543" PostTypeId="1" CreationDate="2016-01-11T11:29:03.157" Score="1" ViewCount="47" Body="&lt;p&gt;will replacing the usual schema of primitive recursion:&#xA;$$ &#xA;f(0,\vec x) = c (\vec x)\\&#xA;f(n+1,\vec x) = g(f(n,\vec x), n, \vec x)&#xA;$$&#xA;by the form:&#xA;$$&#xA;f(0,\vec x) = c(\vec x)\\&#xA;f(n+1,\vec x) = g(f(n,\vec x)) &#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;lead to the same class of primitive recursive functions?&lt;/p&gt;&#xA;" OwnerUserId="37063" LastActivityDate="2016-01-11T11:29:03.157" Title="Omitting parameters in primitive recursive functions" Tags="&lt;recursion&gt;" AnswerCount="0" CommentCount="5" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33544" PostTypeId="2" ParentId="33494" CreationDate="2016-01-11T12:39:24.377" Score="4" Body="&lt;p&gt;In my understanding, algebraic data types are basically types whose terms arise as the terms freely constructed by an algebraic specification: the operations of this specification being the term-constructors.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;From this point of view, it seems to me that the only possible structures you can represent with algebraic data types are the free ones, that is those algebraic structures where no axiom is required: for instance magmas.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Observe that the fact you can represent free-monoids (that is monoids of strings/lists) as algebraic data types comes from the fact that lists are  ADTs for the algebraic specification with a &lt;span class=&quot;math-container&quot;&gt;$0$&lt;/span&gt;-ary operation (namely &lt;span class=&quot;math-container&quot;&gt;$\text{Nil}$&lt;/span&gt; or &lt;span class=&quot;math-container&quot;&gt;$[]$&lt;/span&gt;) and a binary operation (&lt;span class=&quot;math-container&quot;&gt;$cons$&lt;/span&gt; or &lt;span class=&quot;math-container&quot;&gt;$(:)$&lt;/span&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Until you work constrained in the setting of simple types you cannot add constraints (that is equations) in your data-types, hence you cannot represent more general algebraic structures.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A possible way to solve this problem is to use dependent type systems with an identity type: in these type-systems you can represent algebraic structures because equations(constraints) becomes terms (they are the same as programs).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hope this helps.&lt;/p&gt;&#xA;" OwnerUserId="25498" LastEditorUserId="25498" LastEditDate="2019-06-14T15:54:41.453" LastActivityDate="2019-06-14T15:54:41.453" CommentCount="0" ContentLicense="CC BY-SA 4.0" />
  <row Id="33545" PostTypeId="2" ParentId="27094" CreationDate="2016-01-11T14:30:48.440" Score="-2" Body="&lt;p&gt;I am not sure if I correctly understand your notion of &quot;recursive complexity&quot;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Lets (reasonably) Assume a programming language that contains a schema for primitive recursion i.e. in which one can define functions $f$ from&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;f(0,\vec x) = c(\vec x)\\&#xA;f(n+1,\vec x) = g(f(n,\vec x),n,\vec x) &#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where $c$ and $g$ are previously defined functions. Further let us assume that the basic functions (constants, projections, successor) have $\mathcal{O}(1)$ &quot;recursive complexity&quot; If I understand your definition correctly, then all primitive recursive functions (and thus problems/relations) have $\mathcal{O}(1)$ &quot;recursive runtime&quot;. This, I think, can be seen by induction on the build up of recursive functions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If all my assumptions are met, then the example you are looking for cannot be primitive recursive.&lt;/p&gt;&#xA;" OwnerUserId="37063" LastActivityDate="2016-01-11T14:30:48.440" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="33548" PostTypeId="1" AcceptedAnswerId="33552" CreationDate="2016-01-11T20:35:54.917" Score="6" ViewCount="282" Body="&lt;p&gt;Given a circuit that computes a polynomial $P(x_1 \dots x_n)$ of low formal degree over some large field $\mathbb{F}$. Moreover, given a point $X \in \mathbb{F}^n$, such that $P(X) \neq 0$. Can one &lt;strong&gt;deterministically&lt;/strong&gt; find another point $X' \neq X$, such that $P(X') \neq 0$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Basically, it is a standard Polynomial identity testing with only one new twist: we know that the solution exists. You can say that it is in some sense problem from $FRP \cap PPP$ (this is very informal statement, I am not sure that this problem is in $PPP$, but it has the same flavor).  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I would be glad if someone can point to some positive or negative results about this problem.&lt;/p&gt;&#xA;" OwnerUserId="27007" LastEditorUserId="186" LastEditDate="2016-01-11T22:27:29.760" LastActivityDate="2016-01-13T20:47:55.797" Title="How to find a non-zero point of a non-zero polynomial of low degree?" Tags="&lt;cc.complexity-theory&gt;&lt;cr.crypto-security&gt;&lt;polynomials&gt;&lt;search-problem&gt;&lt;finite-fields&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="33549" PostTypeId="1" CreationDate="2016-01-11T21:20:06.157" Score="1" ViewCount="64" Body="&lt;p&gt;I am not sure whether the following problem has been studied. Any help would be greatly appreciated. I have $L$ sets, $S_1, S_2,...,S_L$, each of $n$ elements, taken from a universe of $N$ elements. My aim is to find subsets $S'_1 \subseteq S_1, S'_2 \subseteq S_2,...,S'_{M} \subseteq S_M$ of $k$ elements each, such that the subsets are pair-wise disjoint and the number of subsets is maximal.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As an example, consider the three sets ${S_1} = \left\{ {1,2,3,4} \right\},{S_2} = \left\{ {2,3,5,6} \right\},{S_3} = \left\{ {1,3,6,7} \right\}$ where $n=4$ and $k=2$. Then an optimal solution is 3 sets: $S'_1 = \left\{ {1,2} \right\},S'_2 = \left\{ {3,5} \right\},S'_3 = \left\{ {6,7} \right\}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem above is hard in general. However, it turns out that when the maximum pair-wise intersection is $2(n-k)/(L-1)$, a solution of $L$ subsets is guaranteed to exist. Assume that the maximum pair-wise intersection is $2(n-k)/(L-1)$, and that no element appears more than twice in the sets $S_1, S_2,...,S_L$. Denote by $\tilde S_i$ the elements in $S_i$ that belong to $S_i$ only (i.e., not shared by any other set). Then we can represent the problem as a complete graph with $L$ nodes, where an edge between edge $i$ and edge $j$ is of weight $|S_{ij}|$ units. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;The problem&lt;/strong&gt;: How can we distribute the weights between the nodes such that node $i$ receives $k-|\tilde S_i|$ units (if $|\tilde S_i| &amp;lt; k$) out of the weights on edges connected to node $i$ (i.e., together with the elements in $\tilde S_i$ it has $k$ elements)?.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In other words, we want to distribute non-negative integer edge weights between nodes such that each node receives at least $k$ units. It can be shown easily that if node $i$ receives $1/2$ of each weight on its connected edges, then the node will have at least $k$ units. However, the weights are not necessarily even, so this &quot;solution&quot; cannot be applied in general.&lt;/p&gt;&#xA;" OwnerUserId="17147" LastEditorUserId="17147" LastEditDate="2016-01-11T22:40:59.490" LastActivityDate="2016-01-11T22:40:59.490" Title="Optimal distribution of integer edge weights" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;coding-theory&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33550" PostTypeId="1" AcceptedAnswerId="33574" CreationDate="2016-01-12T00:36:39.807" Score="17" ViewCount="1211" Body="&lt;p&gt;It is well known that many NP-complete problems exhibit &lt;strong&gt;phase transition.&lt;/strong&gt; I am interested here in phase transition with respect to containment in the language, rather than the hardness of the input, relative to an algorithm. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;To make the concept unambiguous, let us formally define it as follows. A language $L$ exhibits phase transition (with respect to containment), if &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;There is an &lt;em&gt;order parameter&lt;/em&gt; $r(x)$, which is a polynomial time computable, real valued function of the instance.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;There is a &lt;em&gt;threshold&lt;/em&gt; $t$. It is either a real constant, or it may possibly depend on $n=|x|$, that is, $t=t(n)$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;For almost every $x$ with $r(x)&amp;lt;t$, we have $x\in L$. (&lt;em&gt;Almost every&lt;/em&gt; means here: all but vanishingly many, that is, the proportion approaches 1, as $n\rightarrow\infty$).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;For almost every $x$ with $r(x)&amp;gt;t$, we have $x\notin L$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;For almost every $x$, it holds that $r(x)\neq t$.  (That is, the transitional region is &quot;narrow.&quot;) &lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Many natural NP-complete problems exhibit phase transition in this sense. Examples are numerous variants of SAT, all monotone graph properties, various constraint satisfaction problems,  and probably many others.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question:&lt;/strong&gt; Which are some &quot;nice&quot; exceptions? Is there a natural NP-complete problem, which (probably) does &lt;strong&gt;not&lt;/strong&gt; have a phase transition in the above sense?&lt;/p&gt;&#xA;" OwnerUserId="12710" LastEditorUserId="12710" LastEditDate="2016-01-12T13:20:31.427" LastActivityDate="2017-02-11T00:41:03.057" Title="How common is phase transition in NP-complete problems?" Tags="&lt;cc.complexity-theory&gt;&lt;phase-transition&gt;" AnswerCount="3" CommentCount="2" FavoriteCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="33551" PostTypeId="1" CreationDate="2016-01-12T07:58:14.867" Score="2" ViewCount="123" Body="&lt;p&gt;After reading this post &lt;a href=&quot;https://cstheory.stackexchange.com/questions/4769/an-np-complete-variant-of-factoring&quot;&gt;An NP-complete variant of factoring.&lt;/a&gt; I come up with a question.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To summerize the post, we have the factoring problem (F) which ask for a number $p$ that is prime and divides an given number n and $p$ is between a given interval $l \leq $p$ \leq u$. The variant of the factoring problem (VF) ask for a number $p$ that divides an given number n and $p$ is in the interval $l \leq $p$ \leq u$, but not necessarily needs to be prime. So while (F) is not believed to be NP-complete, (VF) is.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But couldn't you solve (VF) with polynominal many oracle calls to (F), by first getting all prime divisors of n. (This list, lets call it l, has at most $log_2(n)$ many entries)&#xA;Then calculate all subset products of $l$. An upper bound for how many this could be, would be given by the number of ways of choosing $i$ many elements from $l$, for $i = 0$ to $log_2(n)$. So $\sum_{i = 0}^{log_2(n)} \binom{log_2(n)}{i} =  2^{log_2(n)} = n$. So there also polynominal many products, which needs to be checked if they are between $l$ and $u$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Wouldn't this make Factoring also NP-complete?&lt;/p&gt;&#xA;" OwnerUserId="31718" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2016-01-12T07:58:14.867" Title="An NP-complete variant of factoring and relation to factoring" Tags="&lt;np&gt;&lt;np-complete&gt;&lt;factoring&gt;" AnswerCount="0" CommentCount="3" FavoriteCount="2" ClosedDate="2016-01-13T00:55:53.647" ContentLicense="CC BY-SA 3.0" />
  <row Id="33552" PostTypeId="2" ParentId="33548" CreationDate="2016-01-12T08:32:32.590" Score="2" Body="&lt;p&gt;If ​ (&lt;a href=&quot;https://en.wikipedia.org/wiki/Floor_and_ceiling_functions&quot; rel=&quot;nofollow&quot;&gt;ceil&lt;/a&gt;(degree/n))+1 ​ is &quot;large&quot;, then there doesn't actually need to be such an X$\hspace{.02 in}$'.&#xA;&lt;br&gt;&#xA;$\Bigg(\hspace{-0.08 in}$The polynomial can be $\;\;\; \displaystyle\prod_{i\hspace{.02 in}\in \hspace{.02 in}\text{coordinates}} \: \left(\displaystyle\prod_{c\hspace{.02 in}\in (\mathbb{F}\hspace{.03 in}-\{0\})} (x_{\hspace{.02 in}i}-c)\hspace{-0.07 in}\right) \;\;\;$ and X can be the origin.$\hspace{-0.08 in}\Bigg)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If &quot;large&quot; means larger than 1 plus [the minimum over the variables of the degree in that variable], then there's a uniform &lt;a href=&quot;https://complexityzoo.uwaterloo.ca/Complexity_Zoo:N#nc0&quot; rel=&quot;nofollow&quot;&gt;NC$^0$&lt;/a&gt; algorithm that will, with no access to the polynomial, with neither&#xA;&lt;br&gt;&#xA;bit operations nor field operations nor equality tests on field elements ($\hspace{.03 in}$just copying them and&#xA;&lt;br&gt;&#xA;moving them around), output a polynomial-length list of elements of $\mathbb{F}^n$ such that at least one&#xA;&lt;br&gt;&#xA;of those elements is such an X'. ​ (When B is an upper bound on the bracketed expression from&#xA;&lt;br&gt;&#xA;the previous sentence, the algorithm will have B+2 distinct hard-coded field elements and output the ​ n$\cdot$(B+2) ​ results of replacing one of X's coordinates with one of the B+2 field elements.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thus, you need to either consider fields of &quot;intermediate&quot; size, or allow polynomials of&#xA;&lt;br&gt;&#xA;large (superpolynomial) degree. ​ (&lt;a href=&quot;https://en.wikipedia.org/wiki/Arithmetic_circuit_complexity#Definitions&quot; rel=&quot;nofollow&quot;&gt;Arithmetic circuits&lt;/a&gt; can easily have exponential degree.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;br&gt;&lt;br&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A problem that's closer to canonical for ​ FRP ∩ PPP ​ (and is actually obviously in PPP) is&#xA;&lt;br&gt;&lt;br&gt;&lt;br&gt;&#xA;Input: ​ ​ ​ A (circuit encoding a) function ​ f : {0,1}&lt;sup&gt;n+1&lt;/sup&gt; -&gt; {0,1}&lt;sup&gt;n&lt;/sup&gt;&#xA;&lt;br&gt;&#xA;and a (circuit encoding a) function ​ g : {0,1}&lt;sup&gt;n&lt;/sup&gt; -&gt; {0,1}&lt;sup&gt;n+1&lt;/sup&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Correct Outputs: ​ ​ ​ elements x of {0,1}&lt;sup&gt;n+1&lt;/sup&gt; such that ​ g(f(x)) ≠ x&#xA;&lt;br&gt;&lt;br&gt;&lt;br&gt;.&lt;/p&gt;&#xA;" OwnerDisplayName="user6973" LastEditorDisplayName="user6973" LastEditDate="2016-01-13T13:42:47.147" LastActivityDate="2016-01-13T13:42:47.147" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33554" PostTypeId="1" AcceptedAnswerId="33577" CreationDate="2016-01-12T11:12:59.610" Score="19" ViewCount="399" Body="&lt;p&gt;Below, MSO denotes the monadic second order logic of graphs with vertex-set and edge-set quantifications. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $\mathcal{F}$ be a minor closed family of graphs. It follows from Robertson and Seymour's graph minor theory that $\mathcal{F}$ is characterized by a finite list $H_1,H_2,...,H_k$ of forbidden minors.&#xA;In other words, for each graph $G$, we have that $G$ belongs to $\mathcal{F}$ if and only if $G$ excludes all graphs $H_i$ as minors.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As a consequence of this fact, we have an MSO formula $\varphi_{\mathcal{F}}$ which is true on a graph $G$ if and only if $G\in \mathcal{F}$. For instance, planar graphs are characterized by the absence of the graphs $K_{3,3}$ and $K_5$ as minors, and therefore it is easy to write explicitly an MSO formula characterizing planar graphs. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem is that for many nice minor closed graph properties, the list of forbidden minors is unknown. So, while we know that an MSO formula characterizing that family of graphs exist, we may not know what this formula is. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, it may be the case that one is able to come up with an explicit formula for a given property without using the graph minor theorem. My question is related to this possibility. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question 1:&lt;/strong&gt; Is there a minor closed family of graphs $\mathcal{F}$, such that the set of forbidden minors is not known, but some MSO formula $\varphi$ characterizing that set of graphs is known?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question 2:&lt;/strong&gt;  Is some explicit MSO formula $\varphi$ known to characterize some of the following properties?&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Genus 1 (the graph is embeddable in a torus)  &lt;strong&gt;(see EDIT below)&lt;/strong&gt;&lt;/li&gt;&#xA;&lt;li&gt;Genus k for some fixed $k&amp;gt;1$   &lt;strong&gt;(see EDIT below)&lt;/strong&gt;&lt;/li&gt;&#xA;&lt;li&gt;k-outerplanarity for some fixed $k&amp;gt; 1$&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;I would appreciate any reference or thoughts on this matter. Please feel free to consider other minor closed properties, the list given above is only illustrative. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Obs: By explicit I do not mean necessarily small. It is enough to give an explicit argument or algorithm showing how to construct the formula characterizing the given property. Similarly, in the context of this question I consider a family of forbidden minors to be known if one has given an explicit algorithm constructing that family. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;EDIT:&lt;/strong&gt; I found a &lt;a href=&quot;http://www.tdi.informatik.uni-frankfurt.de/~adler/publications/adlgrokre08.pdf&quot;&gt;paper by Adler, Kreutzer, Grohe&lt;/a&gt; which constructs a formula characterizing graphs of genus $k$ with basis on the formula characterizing graphs of genus k-1. So this paper answers the first two items of Question 2. On the other hand this does not answer Question 1 because there is indeed an algorithm that constructs for each k, the family of forbidden minors characterizing graphs of genus k (See section 4.2). Therefore this family is &quot;known&quot; in the sense of the question.&lt;/p&gt;&#xA;" OwnerUserId="4237" LastEditorUserId="4237" LastEditDate="2016-01-13T14:53:53.267" LastActivityDate="2016-01-31T07:36:18.267" Title="Minor closed properties that are explicitly MSO expressible" Tags="&lt;graph-theory&gt;&lt;lo.logic&gt;&lt;graph-minor&gt;&lt;topological-graph-theory&gt;" AnswerCount="1" CommentCount="11" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="33556" PostTypeId="2" ParentId="25317" CreationDate="2016-01-12T16:18:48.427" Score="12" Body="&lt;p&gt;There's a nice compilation of definitions of related NP-complete planar satisfiability problems at &lt;a href=&quot;http://courses.csail.mit.edu/6.890/fall14/scribe/lec7.pdf&quot;&gt;http://courses.csail.mit.edu/6.890/fall14/scribe/lec7.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One of them, planar monotone 3-sat, allows you to split each terminal into positive and negative, with the terminals placed along a line with the positive part on one side of the line and the negative part on the other side of the line. The clauses have only positive or only negative terminals and are placed on the positive or negative side of the line respectively.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2016-01-12T16:18:48.427" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33557" PostTypeId="2" ParentId="32257" CreationDate="2016-01-12T17:13:51.153" Score="1" Body="&lt;p&gt;The problem with your counterexample is that the type you presented is not a valid instance of &lt;code&gt;ArrowApply&lt;/code&gt; as far as I can tell.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You didn't present what the implementation of &lt;code&gt;app&lt;/code&gt; but the only one I could come up with (where you use the input stream function once and then discard it) doesn't satisfy the 2nd and 3rd ArrowApply laws.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What definition of &lt;code&gt;app&lt;/code&gt; did you have in mind?&lt;/p&gt;&#xA;" OwnerUserId="36037" LastActivityDate="2016-01-12T17:13:51.153" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="33558" PostTypeId="1" CreationDate="2016-01-12T19:40:30.763" Score="4" ViewCount="422" Body="&lt;p&gt;I've been searching for some nice &lt;strong&gt;formalization of FGJ (Featherweight Generic Java) in Coq&lt;/strong&gt;. I am going to develop an extension of FGJ in Coq, so I hope there is an appropriate Coq implementation which I can base my work on.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have found &lt;a href=&quot;http://people.csail.mit.edu/bendy/PLoTs/&quot;&gt;this one&lt;/a&gt;. I haven't yet read corresponding paper carefully, but it looks like a whole «framework» for building up FGJ extensions. The Coq files seem to be quite difficult to dive in (probably after reading the paper they'll become clearer).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is anybody aware of another Coq formalizations of FGJ? &lt;/p&gt;&#xA;" OwnerUserId="37080" LastActivityDate="2016-01-12T21:22:37.323" Title="Featherweight Generic Java formalization in Coq" Tags="&lt;type-theory&gt;&lt;type-systems&gt;&lt;coq&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="33559" PostTypeId="2" ParentId="33558" CreationDate="2016-01-12T20:26:14.540" Score="3" Body="&lt;p&gt;I guess somewhat more realistic task would be to find Coq's formalisation of FJ itself (probably with some extensions, but not necessarily FGJ). The one which I googled easily is:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Encoding Featherweight Java with Assignment and&#xA;  Immutability using The Coq Proof Assistant &lt;em&gt;by Mackay et al.&lt;/em&gt; (2012)&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://www.cl.cam.ac.uk/~hm519/ftfjp12.pdf&quot; rel=&quot;nofollow&quot;&gt;[the paper, PDF]&lt;/a&gt;,&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://www.cl.cam.ac.uk/~hm519/FJAI.zip&quot; rel=&quot;nofollow&quot;&gt;[Coq sources, ZIP]&lt;/a&gt;.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Seems a little bit more recent than the one you mentioned. They also mention &lt;em&gt;Delaware et al.&lt;/em&gt; (your reference) in &lt;em&gt;Related work&lt;/em&gt; section.&lt;/p&gt;&#xA;" OwnerUserId="869" LastEditorUserId="869" LastEditDate="2016-01-12T21:22:37.323" LastActivityDate="2016-01-12T21:22:37.323" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33560" PostTypeId="1" CreationDate="2016-01-12T22:30:31.427" Score="4" ViewCount="688" Body="&lt;p&gt;Stefan Kratsch and Pascal Schweitzer in their paper &#xA;&lt;a href=&quot;http://arxiv.org/abs/1208.0142&quot; rel=&quot;nofollow&quot;&gt;Graph Isomorphism for Graph Classes Characterized by two Forbidden Induced Subgraphs&lt;/a&gt; &#xA;give a characterization of graphs on which &#xA;Graph Isomorphism is solvable in polynomial time (Theorem 4, page 8).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have a problem understanding the outline of the proof for Theorem 4 and &#xA;therefore the proofs of the different cases itself. &#xA;The main idea is to construct colored graphs of bounded color valence &#xA;for which the problem is solvable in polynomial time according to Theorem 5.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For creating such graphs one tries to find a &lt;em&gt;canonical coloring&lt;/em&gt;. &#xA;One such method is called &lt;em&gt;individualization&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As this method is just described as:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;We guess an ordered set of vertices of constant size, &#xA;  color the vertices in this set with singleton colors, and then &#xA;  color the remaining vertices according to their adjacencies to &#xA;  the vertices in the ordered set.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;and not further specified in the following proofs. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have two questions:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;How exactly is this coloring done?&lt;/li&gt;&#xA;&lt;li&gt;What exactly is a canonical coloring?&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="37082" LastEditorUserId="186" LastEditDate="2016-01-13T00:40:17.220" LastActivityDate="2016-01-13T00:40:17.220" Title="Canonical way of coloring graphs (individualization) for isomorphism purpose" Tags="&lt;graph-theory&gt;&lt;graph-isomorphism&gt;&lt;graph-colouring&gt;&lt;polynomial-time&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="33561" PostTypeId="2" ParentId="33560" CreationDate="2016-01-12T22:58:00.327" Score="7" Body="&lt;ol&gt;&#xA;&lt;li&gt;Typically the way individualization goes is this. You're trying to decide if two vertex-colored graphs $G$ and $H$ are isomorphic in a way that respects the colors (sends vertices of color $c$ in $G$ to those of the same color $c$ in $H$). You pick a vertex $v$ in $G$ and assign it a new color, say $c$, that has not been used before. This is called &quot;individualization.&quot; Then for each vertex $w \in V(H)$ you will, in turn, try coloring $w$ with $c$ and see if there is an isomorphism $G \to H$ that respects this new coloring. (This incurs a multiplicative cost of $|V(H)|$, so you don't want to do this too often.) In other words, you are guessing the vertex $v$, and then trying to see which vertices of $H$ it can possibly map to. &lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;To aid in this quest, frequently individualization is followed by a process called (Weisfeiler-Lehman) &lt;em&gt;refinement&lt;/em&gt;. What happens here is that you assign new colors to each vertex according to the multi-set of colors of its neighbors. Then you do this again. Then you do this again. And you keep doing this until the partition of vertices by color does not change.&lt;/p&gt;&#xA;&#xA;&lt;ol start=&quot;2&quot;&gt;&#xA;&lt;li&gt;An isomorphism-invariant coloring of graphs is a method of assigning colors to vertices so that if two graphs are isomorphic, then there is an isomorphism between them that sends vertices of color $c$ to vertices of color $c$. Some authors will call this coloring canonical - and indeed, in the paper you cite, it may be that all they need is a canonical coloring in which each color class has bounded size. (Other authors might say that a &lt;em&gt;canonical&lt;/em&gt; coloring is an isomorphism-invariant coloring in which each vertex receives a color that is distinct from that of all other vertices. In this way, if we can compute a canonical coloring of two graphs $G,H$, then there is only one possible isomorphism between them (namely, the one that respects the colors), and it is easy to check whether this is actually an isomorphism.)&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Combined with individualization, one can talk about a coloring that is canonical relative to the individualizations that have been made previously. That is, it may not be canonical with respect to isomorphisms of the original graphs, but given the vertices that have been colored so far it is canonical. (In this sense individualization is a form of &quot;partial brute-force search,&quot; in which you keep track of how the guesses you've made so far constrain your future search.)&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2016-01-12T22:58:00.327" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="33564" PostTypeId="2" ParentId="33550" CreationDate="2016-01-13T09:33:33.683" Score="0" Body="&lt;p&gt;Take graphs such as $G_{n,m}$ graphs, which are graphs chosen uniformly at random from the collection of all graphs which have $n$ nodes, and $m$ edges.This kind of graph has expected edges-$\binom{n}{2}$$m$. The phase transition for the random graph $G_{n,m}$ graphs is not hard for finding the hamiltonian cycles. The paper is &lt;a href=&quot;http://arxiv.org/pdf/1105.5443.pdf&quot; rel=&quot;nofollow&quot;&gt;http://arxiv.org/pdf/1105.5443.pdf&lt;/a&gt;. Phase transition in this paper is not defined  as above but they show that there is a correlation between hard instances of hamiltonian cycle problem with the hamiltonicity, and non hamiltonicity. &lt;/p&gt;&#xA;" OwnerUserId="27305" LastActivityDate="2016-01-13T09:33:33.683" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33566" PostTypeId="1" AcceptedAnswerId="33573" CreationDate="2016-01-13T14:35:44.183" Score="11" ViewCount="462" Body="&lt;p&gt;I'm experimenting with pure type systems in Barendregt's lambda cube, specifically with the most powerfull one, the Calculus of Constructions. This system has sorts &lt;code&gt;*&lt;/code&gt; and &lt;code&gt;BOX&lt;/code&gt;. Just for the record, below I'm using the concrete syntax of the &lt;code&gt;Morte&lt;/code&gt; tool &lt;a href=&quot;https://github.com/Gabriel439/Haskell-Morte-Library&quot; rel=&quot;nofollow noreferrer&quot;&gt;https://github.com/Gabriel439/Haskell-Morte-Library&lt;/a&gt; which is close to the classical lambda calculus.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I see we can emulate inductive types by some kind of Church-like encoding (a.k.a. Boehm-Berarducci isomorphism for algebraic data types).&#xA;For a simple example I use type &lt;code&gt;Bool = ∀(t : *) -&amp;gt; t -&amp;gt; t -&amp;gt; t&lt;/code&gt; with the constructors &lt;code&gt;True = λ(t : *) -&amp;gt; λ(x : t) -&amp;gt; λ(y : t) -&amp;gt; x&lt;/code&gt; and &lt;code&gt;False = λ(t : *) -&amp;gt; λ(x : t) -&amp;gt; λ(y : t) -&amp;gt; y&lt;/code&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I see that the type of term-level functions &lt;code&gt;Bool -&amp;gt; T&lt;/code&gt; is isomorphic to pairs of type &lt;code&gt;Product T T&lt;/code&gt; with classical &lt;code&gt;Product = λ(A : *) -&amp;gt; λ(B : *) -&amp;gt; ∀(t : *) -&amp;gt; (A -&amp;gt; B -&amp;gt; t) -&amp;gt; t&lt;/code&gt; modulo parametricity by means of function &lt;code&gt;if : Bool -&amp;gt; λ(t : *) -&amp;gt; t -&amp;gt; t -&amp;gt; t&lt;/code&gt; which is in fact identity. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;All questions below will be about representations of dependent types &lt;code&gt;Bool -&amp;gt; *&lt;/code&gt;.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;I can split &lt;code&gt;D : Bool -&amp;gt; *&lt;/code&gt; into pair of &lt;code&gt;D True&lt;/code&gt; and &lt;code&gt;D False&lt;/code&gt;. Are there the canonical way to create &lt;code&gt;D&lt;/code&gt; again? I want to reproduce isomosphism &lt;code&gt;Bool -&amp;gt; T = Product T T&lt;/code&gt; by an analogue of function &lt;code&gt;if&lt;/code&gt; at type level but I cannot write this function as simple as original &lt;code&gt;if&lt;/code&gt; because we cannot pass kinds in arguments like types.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;I use a kind of an inductive type with two constuctors to solve question(1). The high level description (Agda-style) is the following type (used instead of type-level &lt;code&gt;if&lt;/code&gt;)&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;data BoolDep (T : *) (F : *) : Bool -&amp;gt; * where&#xA;  DepTrue : T -&amp;gt; BoolDep T F True&#xA;  DepFalse : F -&amp;gt; BoolDep T F False&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;with the following encoding in PTS/CoC:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;λ(T : *) -&amp;gt; λ(F : *) -&amp;gt; λ(bool : Bool ) -&amp;gt;&#xA;∀(P : Bool -&amp;gt; *) -&amp;gt;&#xA;∀(DepTrue : T -&amp;gt; P True ) -&amp;gt;&#xA;∀(DepFalse : F -&amp;gt; P False ) -&amp;gt;&#xA;P bool&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Is my encoding above correct?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;I can write down the constructors for &lt;code&gt;BoolDep&lt;/code&gt; like this code for &lt;code&gt;DepTrue : ∀(T : *) -&amp;gt; ∀(F : *) -&amp;gt; T -&amp;gt; BoolDep T F True&lt;/code&gt;:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;λ(T : *) -&amp;gt;  λ(F : *) -&amp;gt;  λ(arg : T ) -&amp;gt;&#xA;λ(P : Bool -&amp;gt; *) -&amp;gt;&#xA;λ(DepTrue : T -&amp;gt; P True ) -&amp;gt;&#xA;λ(DepFalse : F -&amp;gt; P False ) -&amp;gt;&#xA;DepTrue arg&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;but I cannot write down the inverse function (or any function in the inverse direction). Is it possible? Or should I use another representation for &lt;code&gt;BoolDep&lt;/code&gt; to produce an isomorphism &lt;code&gt;BoolDep T F True = T&lt;/code&gt;?&lt;/p&gt;&#xA;" OwnerDisplayName="user34012" LastEditorUserId="10632" LastEditDate="2018-06-15T10:54:29.423" LastActivityDate="2018-06-15T10:54:29.423" Title="Dependent types over Church-encoded type in PTS/CoC" Tags="&lt;type-theory&gt;&lt;type-systems&gt;&lt;dependent-type&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="5" ContentLicense="CC BY-SA 4.0" />
  <row Id="33567" PostTypeId="1" AcceptedAnswerId="33711" CreationDate="2016-01-13T16:02:38.160" Score="2" ViewCount="377" Body="&lt;p&gt;For the &lt;a href=&quot;https://en.wikipedia.org/wiki/Many-one_reduction&quot; rel=&quot;nofollow&quot;&gt;reductions&lt;/a&gt;, choose a class C such that [it's clear what &lt;a href=&quot;https://complexityzoo.uwaterloo.ca/Complexity_Zoo:F#fp&quot; rel=&quot;nofollow&quot;&gt;F&lt;/a&gt;C means]&#xA;&lt;br&gt;&#xA;and FC is not known to be able to solve the &lt;a href=&quot;https://en.wikipedia.org/wiki/Boolean_satisfiability_problem&quot; rel=&quot;nofollow&quot;&gt;satisfaction&lt;/a&gt; search problem,&#xA;&lt;br&gt;&#xA;and assume that FC indeed can't solve that search problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;br&gt;&lt;br&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;With the following definitions of hardness for &lt;a href=&quot;https://complexityzoo.uwaterloo.ca/Complexity_Zoo:F#fnp&quot; rel=&quot;nofollow&quot;&gt;FNP&lt;/a&gt; problems R,&#xA;&lt;br&gt;&lt;br&gt;&lt;br&gt;&#xA;NP-hard ​ ​ - ​ ​ The &lt;a href=&quot;https://en.wikipedia.org/wiki/Search_problem&quot; rel=&quot;nofollow&quot;&gt;corresponding decision problem&lt;/a&gt; is NP-hard (with respect to C reductions).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;FNP-hard ​ ​ - ​ ​ There is a C reduction f from &lt;a href=&quot;https://en.wikipedia.org/wiki/Boolean_satisfiability_problem&quot; rel=&quot;nofollow&quot;&gt;satisfiability&lt;/a&gt; to the corresponding decision problem&#xA;&lt;br&gt;&#xA;and a function g in FC such that for all instances x of the satisfiability problem,&#xA;&lt;br&gt;&#xA;for all strings y, if ​ f(x) R y ​ then g(x,y) is a satisfying assignment to x.&#xA;&lt;br&gt;&lt;br&gt;&lt;br&gt;&#xA;is there a FNP problem that's NP-hard but not FNP-hard?&#xA;&lt;br&gt;&lt;br&gt;&lt;/p&gt;&#xA;" OwnerDisplayName="user6973" LastEditorDisplayName="user6973" LastEditDate="2016-01-13T16:08:05.610" LastActivityDate="2016-02-05T15:53:30.040" Title="Is there a FNP problem that's NP-hard but not FNP-hard?" Tags="&lt;np-hardness&gt;&lt;reductions&gt;&lt;search-problem&gt;" AnswerCount="1" CommentCount="8" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="33570" PostTypeId="2" ParentId="33548" CreationDate="2016-01-13T20:47:55.797" Score="2" Body="&lt;p&gt;This does not directly answer your question, but if $f$ is $n$-variate, and is known to have partial degrees at most $D$ and at most $T$ terms, and $\mathbb{F}$ is known to contain an element $\omega$ of multiplicative order exceeding $D$, then we cannot have $f(\omega^i, \dots, \omega^i)=0$ for $i=0,1,\dots,2T-1$ by Prony's method / BCH decoding / Ben-Or Tiwari algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Zippel calls your problem the zero avoidance problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See: &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0747717108800181&quot; rel=&quot;nofollow&quot;&gt;Interpolating polynomials from their values.&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="34592" LastActivityDate="2016-01-13T20:47:55.797" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33571" PostTypeId="2" ParentId="14811" CreationDate="2016-01-14T11:00:13.070" Score="3" Body="&lt;p&gt;Actually, my students sometimes ask precisely this -- after spending a large chunk of the semester on finite automata and finally arriving at Turing machines. Why spend so much time on a weaker formalism when a stronger one is available? So I explain the inherent tradeoff in expressive power vs. analytic complexity. The richer models are typically more difficult to analyze. The DFA vs. TM dichotomy is extreme, as the membership problem is trivial for one and uncomputable for the other. A less extreme example would be DFA vs. PDA. The membership problem for the latter turns out to be efficiently solvable, but the solution is not at all trivial. We see this occurrennce in many branches of math and science: study a simple model to get as complete an understanding as possible, which usually leads to insights into more complex models as well.&lt;/p&gt;&#xA;" OwnerUserId="1746" LastActivityDate="2016-01-14T11:00:13.070" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33572" PostTypeId="1" CreationDate="2016-01-14T13:10:52.050" Score="8" ViewCount="298" Body="&lt;p&gt;I read the paper &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Ahmed Younes, &quot;&lt;a href=&quot;http://arxiv.org/abs/1505.06284&quot; rel=&quot;nofollow&quot;&gt;A Bounded-error Quantum Polynomial Time Algorithm for Two Graph Bisection Problems&lt;/a&gt;&quot;, 2015. &lt;a href=&quot;http://link.springer.com/article/10.1007%2Fs11128-015-1069-y&quot; rel=&quot;nofollow&quot;&gt;doi:10.1007/s11128-015-1069-y&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;which is published in Springer's journal Quantum Information Processing.&#xA;The paper seems to claim that it provides &#xA;a BQP algorithm for the NP-hard problems of min-bisection and max-bisection.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If true, this should imply that $NP\subseteq BQP$, &#xA;which would be very surprising because it is common conjecture that &#xA;$NP\not\subseteq BQP$. &#xA;There is even a result that relative to an random oracle, &#xA;$NP\nsubseteq BQP$ with probability 1.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Charles H. Bennett, Ethan Bernstein, Gilles Brassard, and Umesh Vazirani,&#xA;&quot;&lt;a href=&quot;http://arxiv.org/abs/quant-ph/9701001&quot; rel=&quot;nofollow&quot;&gt;Strengths and Weaknesses of Quantum Computing&lt;/a&gt;&quot;, 1997. &lt;a href=&quot;http://dx.doi.org/10.1137/S0097539796300933&quot; rel=&quot;nofollow&quot;&gt;doi: 10.1137/S0097539796300933&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;I'm puzzled because it seems to me that &#xA;the complexity analysis of the paper &#xA;concerns query complexity not time complexity.&#xA;In other words,&#xA;it is not clear the algorithm is in BQP.&#xA;On the other, the implications of the paper &#xA;should have been clear to any reviewer &#xA;in quantum computing so &#xA;I expect that the reviewers really checked &#xA;all the details of the paper to confirm the result &#xA;otherwise it wouldn't be published.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is the algorithm in the paper really in BQP?&#xA;Does the paper really imply that NP $\subseteq$ BQP?&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Ahmed Younes, Jonathan E. Rowe, &quot;&lt;a href=&quot;http://arxiv.org/abs/1507.05061&quot; rel=&quot;nofollow&quot;&gt;A Polynomial Time Bounded-error Quantum Algorithm for Boolean Satisfiability&lt;/a&gt;&quot;, 2015&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="32007" LastEditorUserId="-1" LastEditDate="2016-01-15T03:48:13.323" LastActivityDate="2016-01-15T03:48:13.323" Title="BQP algorithm for two graph bisection problems and its implications on NP $\subseteq$ BQP" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;&lt;quantum-computing&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33573" PostTypeId="2" ParentId="33566" CreationDate="2016-01-14T16:01:55.480" Score="9" Body="&lt;p&gt;You can't do this using the traditional Church encoding for &lt;code&gt;Bool&lt;/code&gt;:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;#Bool = ∀(Bool : *) → ∀(True : Bool) → ∀(False : Bool) → Bool&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;... because you can't write a (useful) function of type:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;#Bool → *&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;The reason why, as you noted, is that you can't pass in &lt;code&gt;*&lt;/code&gt; as the first argument to &lt;code&gt;#Bool&lt;/code&gt;, which in turn means that the &lt;code&gt;True&lt;/code&gt; and &lt;code&gt;False&lt;/code&gt; arguments may not be types.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are at least three ways you can solve this:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Use the Calculus of Inductive Constructions.  Then you could generalize the type of &lt;code&gt;#Bool&lt;/code&gt; to:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;#Bool = ∀(n : Nat) → ∀(Bool : *ₙ) → ∀(True : Bool) → ∀(False : Bool) → Bool&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;... and then you would instantiate &lt;code&gt;n&lt;/code&gt; to &lt;code&gt;1&lt;/code&gt;, which means you could pass in &lt;code&gt;*₀&lt;/code&gt; as the second argument, which would type-check because:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;*₀ : *₁&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;... so then you could use &lt;code&gt;#Bool&lt;/code&gt; to select between two types.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Add one more sort:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;* : □ : △&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Then you would define a separate &lt;code&gt;#Bool₂&lt;/code&gt; type like this:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;#Bool₂ = ∀(Bool : □) → ∀(True : Bool) → ∀(False : Bool) → Bool&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;This is essentially a special case of the Calculus of Inductive constructions, but produces less reusable code since now we must maintain two separate definitions of &lt;code&gt;#Bool&lt;/code&gt;, one for each sort that we wish to support.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Encode &lt;code&gt;#Bool₂&lt;/code&gt; directly within the Calculus of Constructions as:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;#Bool₂ = ∀(True : *) → ∀(False : *) → *&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;If the goal is to use this directly within unmodified &lt;code&gt;morte&lt;/code&gt; then only approach #3 will work.&lt;/p&gt;&#xA;" OwnerUserId="37106" LastActivityDate="2016-01-14T16:01:55.480" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="33574" PostTypeId="2" ParentId="33550" CreationDate="2016-01-14T17:01:01.323" Score="4" Body="&lt;p&gt;expert researchers in this area basically assert that &lt;em&gt;phase transitions are a universal feature of NP complete problems&lt;/em&gt; although this has yet to be formulated/ proven rigorously and it is not yet widely regarded/ disseminated in the larger field (it emanates more from an empirical-oriented branch of study). its nearly an open conjecture. there is strong evidence. there are no plausible candidates for non phase-transition NP complete problems. here are two refs that support this pov:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://tuvalu.santafe.edu/~moore/AMS.pdf&quot; rel=&quot;nofollow&quot;&gt;Phase transitions in NP-complete problems:&#xA;a challenge for probability, combinatorics, and&#xA;computer science&lt;/a&gt; / Moore&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://www.cse.unsw.edu.au/~tw/phase.ppt&quot; rel=&quot;nofollow&quot;&gt;Phase transition behavior&lt;/a&gt; / Walsh (ppt)&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;here is a rough sketch of the truth of the assertion. it has to do with P contained in NP complete. an NP complete problem/ language must have instances that are solvable in P time and others that are solvable in exponential (or at least superpolynomial-) time if P≠NP. but there must always be some way to &quot;group&quot; the P instances from the &quot;non-P&quot; instances. therefore there must also always be some &quot;transition criteria&quot; between the P and non-P instances. in short, maybe this phenomenon is intrisically coupled with P≠NP!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;another rough argument: all NP complete problems are interchangeable via reductions. if a phase transition is found in a single one, it must be found in all of them.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;more circumstantial evidence for this, more recently (~2010) it was shown the phase transition shows up for lower bounds on monotone circuits for clique-detection on random graphs.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://research.nii.ac.jp/~rossman/thesis.pdf&quot; rel=&quot;nofollow&quot;&gt;Average case complexity of detecting cliques&lt;/a&gt; / Rossman &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;full disclosure: Moshe Vardi has studied phase transitions particularly in SAT and has a contrasting more skeptical view in this talk/ video.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://www.birs.ca/events/2014/5-day-workshops/14w5101/videos/watch/201401231116-Vardi.html&quot; rel=&quot;nofollow&quot;&gt;Phase transitions and computational complexity&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="7884" LastActivityDate="2016-01-14T17:01:01.323" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33575" PostTypeId="1" CreationDate="2016-01-14T19:11:58.067" Score="3" ViewCount="67" Body="&lt;p&gt;I have a secret $n$-dimensional vector $\mathbb{s} \in \mathbb{Z}^n$.  I don't know $\mathbb{s}$; my goal is to estimate $\mathbb{s}$.  I do have an oracle for the function $f_\mathbb{s} : \mathbb{Z}^n \to \mathbb{Z}$, defined by&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$f_\mathbb{s}(\mathbb{x}) = \mathbb{s} \cdot \mathbb{x}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(the dot-product of $\mathbb{s}$ and $\mathbb{x}$).  Also, I know that $\mathbb{s}$ is smooth, in some sense: $\mathbb{s}_i$ varies slowly as a function of $i$.  I'm open to reasonable ways to formalize that, but one formulation is that we can assume that $||\mathbb{s}'||_2$ is very small, where $\mathbb{s}'$ is the vector of first-order discrete derivatives, namely,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\mathbb{s}'_i = \mathbb{s}_{i+1} - \mathbb{s}_i.$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The goal is to estimate/approximate $\mathbb{s}$: i.e., to output a vector $\mathbb{t}$ such that $||\mathbb{t}-\mathbb{s}||_2$ is small.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One can recover $\mathbb{s}$ exactly given $n$ queries to $f$, by using linear algebra (even without needing the smoothness constraint).  But given knowledge that $\mathbb{s}$ is smooth, is there a more efficient way to estimate $\mathbb{s}$, using fewer queries?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In other words, the algorithm task is as follows:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Input: $n$, an oracle for $f_\mathbb{s}$, an upper bound on $||\mathbb{s}'||_2$&lt;br&gt;&#xA;Output: $t \in \mathbb{Z}^n$ such that $||\mathbb{t}-\mathbb{s}||_2$ is small&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In my application, $n$ is large (say, around 10,000) but $\mathbb{s}$ is very smooth, so I'm hoping it might be possible to estimate $\mathbb{s}$ with many fewer than $n$ queries.  It would be fine to assume we are working over $\mathbb{R}^n$ if that's easier.  In practice I have $\mathbb{s} \in \{0,1,\dots,255\}^n$.  I'm not wedded to this exact definition of smoothness or of approximation of $\mathbb{s}$ (e.g., some sparsity constraint or other norm might also be a reasonable formulation).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there any techniques for this type of problem?&lt;/p&gt;&#xA;" OwnerUserId="5038" LastEditorUserId="186" LastEditDate="2016-01-14T20:17:21.360" LastActivityDate="2016-01-14T20:17:21.360" Title="Estimate smooth vector, from dot-product queries" Tags="&lt;it.information-theory&gt;&lt;lg.learning&gt;&lt;query-complexity&gt;&lt;approximation&gt;&lt;compressed-sensing&gt;" AnswerCount="0" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="33576" PostTypeId="1" AcceptedAnswerId="33581" CreationDate="2016-01-14T21:25:43.657" Score="2" ViewCount="446" Body="&lt;p&gt;Let $A,B\in\mathbb{F}^{n\times n}$ be two $n\times n$ matrices over&#xA;the underlying field $\mathbb{F}$. In addition, $A$ is guaranteed&#xA;to be a symmetric matrix, i.e, $A=A^{T}$. We assume complexity measure to be the number of field operations over $\mathbb{F}$. Now consider at the following problem:-&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Given $A,B$ and $AB$ as input, can we compute $AB^{T}$ in $o(n^{\omega})$ time?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Here $\omega$ is the exponent of matrix multiplication. Note that $AB^{T}=A^{T}B^{T}=(BA)^{T}$.&#xA;Thus computing $BA$ in $o(n^{\omega})$ time is also enough. &lt;/p&gt;&#xA;" OwnerUserId="16008" LastActivityDate="2016-01-15T10:37:13.917" Title="Matrix multiplication with transpose" Tags="&lt;ds.algorithms&gt;&lt;linear-algebra&gt;&lt;matrices&gt;&lt;matrix-product&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="33577" PostTypeId="2" ParentId="33554" CreationDate="2016-01-14T22:42:16.183" Score="4" Body="&lt;p&gt;I had an answer here involving &lt;a href=&quot;https://en.wikipedia.org/wiki/Covering_graph&quot; rel=&quot;nofollow&quot;&gt;apex graphs&lt;/a&gt; but it fails the definition of not having an explicit obstruction set given in this question: there is a published algorithm for finding the obstruction set, even though is too slow to run so we don't actually know what the obstruction set is.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So here's another parameterizable family of answers without that flaw (at least, as far as I know). Given a minor closed family $F$, and an integer $k\ge 1$, does the given graph $G$ have a $k$-ply &lt;a href=&quot;https://en.wikipedia.org/wiki/Covering_graph&quot; rel=&quot;nofollow&quot;&gt;covering graph&lt;/a&gt; in $F$? Much about this sort of question remains unknown: in particular, Negami's conjecture, which would characterize the graphs that have a &lt;a href=&quot;https://en.wikipedia.org/wiki/Planar_cover&quot; rel=&quot;nofollow&quot;&gt;planar covering graph,&lt;/a&gt; remains unproven. And it's minor-closed because any steps that you take to make a minor from $G$ can be copied in the cover.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To test for the existence of a $k$-ply cover of $G$ in $F$, in MSO$_2$, do the following steps:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Use &lt;a href=&quot;https://en.wikipedia.org/wiki/Tr%C3%A9maux_tree#Logical_expression&quot; rel=&quot;nofollow&quot;&gt;the depth-first-search-tree trick&lt;/a&gt; to get an (arbitrary) orientation of $G$.&lt;/li&gt;&#xA;&lt;li&gt;For each pair $(i,j)$ with $0\le i,j&amp;lt;k$, choose a set of edges in $G$, supposedly the ones that have a covering edge that goes from ply $i$ to ply $j$.&lt;/li&gt;&#xA;&lt;li&gt;Check that each vertex in each ply has exactly one copy of each incident edge, and thus that this information represents a valid covering graph of $G$.&lt;/li&gt;&#xA;&lt;li&gt;Emulate the obstruction set based formula for membership in $F$ on the covering graph.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="95" LastEditorUserId="95" LastEditDate="2016-01-31T07:36:18.267" LastActivityDate="2016-01-31T07:36:18.267" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="33578" PostTypeId="2" ParentId="33572" CreationDate="2016-01-15T02:48:24.483" Score="3" Body="&lt;p&gt;Another paper with the same idea by Ahmed Younes and Jonathan E. Rowe, &lt;a href=&quot;http://arxiv.org/abs/1507.05061&quot; rel=&quot;nofollow&quot;&gt;A Polynomial Time Bounded-error Quantum Algorithm for Boolean Satisfiability&lt;/a&gt;. &lt;a href=&quot;https://news.ycombinator.com/item?id=9931052&quot; rel=&quot;nofollow&quot;&gt;The algorithm is not polynomial time.&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="37111" LastActivityDate="2016-01-15T02:48:24.483" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33579" PostTypeId="2" ParentId="14471" CreationDate="2016-01-15T04:46:39.950" Score="4" Body="&lt;p&gt;The Generalized Littlewood-Offord Theorem isn't exactly what you want, but it gives what I think of as a &quot;reverse Chernoff&quot; bound by showing that the sum of random variables is unlikely to fall within a small range around any particular value (including the expectation).  Perhaps it will be useful.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Formally, the theorem is as follows.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Generalized Littlewood-Offord Theorem&lt;/strong&gt;: Let $a_1, \ldots, a_n$, and $s&amp;gt;0$ be real numbers such that $|a_i| \ge s$ for $1 \le i \le n$ and let $X_1, \ldots, X_n$ be independent random variables that have values zero and one.  For $0 &amp;lt; p \le \frac{1}{2}$, suppose that $p \le \Pr[X_i = 0] \le 1-p$ for all $1 \le i \le n$.  Then, for any $r \in \mathcal{R}$, &#xA;$$\Pr \left[ r \le \sum_{i=1}^{n}{a_iX_i} &amp;lt; r+s\right] \le \frac{c_p}{\sqrt{n}}$$&#xA;Where $c_p$ is a constant depending only on $p$.&lt;/p&gt;&#xA;" OwnerUserId="123" LastEditorUserId="123" LastEditDate="2016-01-15T16:50:30.833" LastActivityDate="2016-01-15T16:50:30.833" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33580" PostTypeId="2" ParentId="14471" CreationDate="2016-01-15T08:58:29.583" Score="4" Body="&lt;p&gt;The exponent in the standard Chernoff bound as it is stated on Wikipedia is tight for 0/1-valued random variables. Let $0&amp;lt;p&amp;lt;1$ and let $X_1,X_2,\ldots $ be a sequence of independent random variables such that for each $i$, $\Pr[X_i=1]=p$ and $\Pr[X_i=0]=1-p$. Then for every $\varepsilon&amp;gt;0$,&#xA;\begin{equation}&#xA;\frac{2^{-D(p+\varepsilon\| p)\cdot n}}{n+1}\leq \Pr\left[ \sum_{i=1}^n X_i \geq (p+\varepsilon)n\right]\leq 2^{-D(p+\varepsilon\| p)\cdot n}.&#xA;\end{equation}&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here, $D(x\| y)=x \log_2(x/y)+(1-x)\log_2((1-x)/(1-y))$, which is the Kullback-Leibler divergence between Bernoulli random variables with parameters $x$ and $y$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As mentioned, the upper bound in the inequality above is proved on Wikipedia (&lt;a href=&quot;https://en.wikipedia.org/wiki/Chernoff_bound&quot; rel=&quot;nofollow&quot;&gt;https://en.wikipedia.org/wiki/Chernoff_bound&lt;/a&gt;) under the name &quot;Chernoff-Hoeffding Theorem, additive form&quot;. The lower bound can be proved using e.g. the &quot;method of types&quot;. See Lemma II.2 in [1]. Also, this is covered in the classic textbook on information theory by Cover and Thomas. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] Imre Csiszár: The Method of Types. IEEE Transactions on Information Theory (1998). &lt;a href=&quot;http://dx.doi.org/10.1109/18.720546&quot; rel=&quot;nofollow&quot;&gt;http://dx.doi.org/10.1109/18.720546&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="9663" LastEditorUserId="9663" LastEditDate="2016-01-15T09:06:13.233" LastActivityDate="2016-01-15T09:06:13.233" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33581" PostTypeId="2" ParentId="33576" CreationDate="2016-01-15T10:37:13.917" Score="8" Body="&lt;p&gt;No.&#xA;Consider block matrices $A = \left(\begin{matrix} 0 &amp;amp; 0 \\ 0 &amp;amp; X \end{matrix}\right)$ (with symmetric $X$) and $B = \left(\begin{matrix} 0 &amp;amp; Y \\ 0 &amp;amp; 0 \end{matrix} \right)$. Computing $AB^T$ from $A$, $B$ and $AB$ means computing $XY^T$ from $X$ and $Y$, since $AB = 0$&lt;/p&gt;&#xA;" OwnerUserId="7470" LastActivityDate="2016-01-15T10:37:13.917" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33583" PostTypeId="2" ParentId="32406" CreationDate="2016-01-16T01:52:12.883" Score="3" Body="&lt;p&gt;I think &lt;code&gt;sort&lt;/code&gt;, as presented there, isn't typeable on EAL. I can't prove that, but it doesn't work on Lamping's Abstract Algorithm without the oracle. Moreover, while the term is somewhat clever and brief, it uses very wacky strategies that are not EAL-friendly.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But behind this question there is a more interesting one: &lt;em&gt;&quot;can a nat-sorting function be implemented in EAL&quot;&lt;/em&gt;? That was a very hard question back then, but now it looks pretty trivial. Yes, of course. There are many simpler ways to do it. For an example, one can just fill a Scott-encoded &lt;code&gt;NatSet&lt;/code&gt; with Church-encoded &lt;code&gt;Nat&lt;/code&gt;s, and then convert it to a list. Here is a complete demonstration:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;-- sort_example.mel&#xA;-- Sorting a list of Church-encoded numbers on the untyped lambda calculus&#xA;-- with terms that can be executed by Lamping's Abstract Algorithm without&#xA;-- using the Oracle. Test by calling `mel sort_example.mel`, using Caramel,&#xA;-- from https://github.com/maiavictor/caramel&#xA;&#xA;-- Constructors for Church-encoded Lists &#xA;-- Haskell: `data List = Cons a (List a) | Nil`&#xA;Cons head tail = (cons nil -&amp;gt; (cons head (tail cons nil)))&#xA;Nil            = (cons nil -&amp;gt; nil)&#xA;&#xA;-- Constructors for Church-encoded Nats&#xA;-- Haskell: `data Nat = Succ Nat | Zero`&#xA;Succ pred = (succ zero -&amp;gt; (succ (pred succ zero)))&#xA;Zero      = (succ zero -&amp;gt; zero)&#xA;&#xA;---- Constructors for Scott-encoded NatMaps&#xA;---- Those work like lists, where `Yep` constructors mean&#xA;---- there is a number on that index, `Nah` constructors&#xA;---- mean there isn't, and `End` ends the list.&#xA;---- Haskell: `data NatMap = Yep NatMap | Nah NatMap | End`&#xA;Yep natMap = (yep nah end -&amp;gt; (yep natMap))&#xA;Nah natMap = (yep nah end -&amp;gt; (nah natMap))&#xA;End        = (yep nah end -&amp;gt; end)&#xA;&#xA;---- insert :: Nat (Church) -&amp;gt; NatMap (Scott) -&amp;gt; NatMap (Scott)&#xA;---- Inserts a Church-encoded Nat into a Scott-encoded NatMap.&#xA;insert nat natMap    = (nat succ zero natMap)&#xA;    succ pred natMap = (natMap yep? nah? end?)&#xA;        yep? natMap  = (Yep (pred natMap))&#xA;        nah? natMap  = (Nah (pred natMap))&#xA;        end?         = (Nah (pred natMap))&#xA;    zero natMap      = (natMap Yep Yep (Yep End))&#xA;&#xA;---- toList :: NatMap (Scott) -&amp;gt; List Nat (Church)&#xA;---- Converts a Scott-Encoded NatMap to a Church-encoded List&#xA;toList natMap        = (go go natMap 0)&#xA;    go go natMap nat = (natMap yep? nah? end?)&#xA;        yep? natMap  = (Cons nat (go go natMap (Succ nat)))&#xA;        nah? natMap  = (go go natMap (Succ nat))&#xA;        end?         = Nil&#xA;&#xA;---- sort :: List Nat (Church) -&amp;gt; List Nat (Church)&#xA;---- Sorts a Church-encoded list of Nats in ascending order.&#xA;sort nats = (toList (nats insert End))&#xA;&#xA;-- Test&#xA;main = (sort [1,4,5,2,3])&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Here is the bruijn-indexed normal form of a slightly altered version of the &lt;code&gt;sort&lt;/code&gt; above, which must receive &lt;code&gt;(x -&amp;gt; (x x))&lt;/code&gt; as the first argument in order to work (otherwise it doesn't have a normal form):&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;λλ(((1 λλλ(((1 λλλ((1 3) (((((5 5) 2) λλ(1 ((5 1) 0))) 1) 0))) &#xA;λ(((3 3) 0) λλ(1 ((3 1) 0)))) λλ0)) ((0 λλ(((1 λλ(((0 λλλλ(2 (&#xA;5 3))) λλλλ(1 (5 3))) λλλ(1 (4 3)))) λ(((0 λλλλ(2 3)) λλλλ(2 3&#xA;)) λλλ(2 λλλ0))) 0)) λλλ0)) λλ0)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Pretty simple in retrospect.&lt;/p&gt;&#xA;" OwnerUserId="17388" LastEditorUserId="17388" LastEditDate="2016-01-16T01:57:53.333" LastActivityDate="2016-01-16T01:57:53.333" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33584" PostTypeId="1" AcceptedAnswerId="33622" CreationDate="2016-01-16T02:15:25.700" Score="6" ViewCount="319" Body="&lt;p&gt;There is a subset of λ-calculus terms that can be reduced by Lamping's Abstract Algorithm without using the Oracle. That is an interesting subset, because only for those terms it is proven that Lamping's algorithm is optimal and superior to naive strategies. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In order to use this in practice, one can write programs on the untyped lambda calculus and experimentally test if Lamping's Algorithm works on them for some inputs. It it does, the term is probably on that subset. For example, my answer to &lt;a href=&quot;https://cstheory.stackexchange.com/questions/32406/is-sort-typeable-on-elementary-afine-logic/33583#33583&quot;&gt;this question&lt;/a&gt; is a Church-nat sorting algorithm that was developed this way. That is inconvenient for 2 obvious reasons:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;You can't be 100% sure an algorithm will work for all inputs by experimenting it on some.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Programming on the untyped lambda calculus can lead to human type errors.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;An immediate solution to problem #2 would be to instead write your programs in a type system on the Lambda Cube (such as System F), but that doesn't work quite well in practice because algorithms on the optimal subset often rely on Scott-encoded data structures (as depicted on my answer above), which are excluded from those type systems. And about problem #1, I'm aware of some type systems based on light logics, but I found them overly complicated and I'm not sure how they could be used in practice. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;What type system better fits the subclass of λ-terms that can be reduced optimally, in a way that could be used as the type system of a practical programming language?&lt;/p&gt;&#xA;" OwnerUserId="17388" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2016-01-23T12:14:50.553" Title="What type system fits the subclass of λ-terms that can be reduced optimally?" Tags="&lt;type-theory&gt;&lt;lambda-calculus&gt;&lt;functional-programming&gt;&lt;type-systems&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="33587" PostTypeId="2" ParentId="17279" CreationDate="2016-01-16T12:22:14.863" Score="2" Body="&lt;p&gt;In general, even approximating a global optimum of a quadratic program, the simplest case of a nonlinear program, is NP-Hard (&lt;a href=&quot;http://web.cs.ucdavis.edu/~rogaway/papers/qp.pdf&quot; rel=&quot;nofollow&quot;&gt;http://web.cs.ucdavis.edu/~rogaway/papers/qp.pdf&lt;/a&gt;), not to mention finding an exact solution of it (&lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/002001909090100C&quot; rel=&quot;nofollow&quot;&gt;http://www.sciencedirect.com/science/article/pii/002001909090100C&lt;/a&gt;). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The polynomial-time solvability of a nonlinear program depends on its convexity, which means that your matrix $Q\in R^{n\times n}$ should be positive semidefinite (i.e. $\forall x\in R^n,\,x^TQx\geq 0$). An easy way to check this in polynomial time is to check the sign of the smallest eigenvalue of $Q$. In the case of a convex quadratic program, you can simply deploy an interior-point algorithm for quadratic programming, which has a poly-time worst case complexity.  These facts can be generalized for nonlinear programming.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As @Austin pointed, there's a way to convert your program to a Quadratically Constrained Quadratic Form. These problems are NP-Hard in general, but you can achieve an $\frac{4}{7}-$approximation of it's solution using an algorithm by Yinyu Ye, which solves an SDP-relaxation of the program.&lt;/p&gt;&#xA;" OwnerUserId="20164" LastEditorUserId="20164" LastEditDate="2016-01-16T12:50:50.520" LastActivityDate="2016-01-16T12:50:50.520" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33593" PostTypeId="1" AcceptedAnswerId="33594" CreationDate="2016-01-17T18:31:03.200" Score="-4" ViewCount="132" Body="&lt;p&gt;Imagine two prisoners held in separate cells, interrogated simultaneously, and offered deals (lighter jail sentences) for betraying their fellow criminal. They can &quot;cooperate&quot; (with the other prisoner) by not snitching, or &quot;defect&quot; by betraying the other. However, there is a catch; if both players defect, then they both serve a longer sentence than if neither said anything. Lower jail sentences are interpreted as higher payoffs (shown in the table).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://i.stack.imgur.com/4GmAt.png&quot; rel=&quot;nofollow noreferrer&quot;&gt;&lt;img src=&quot;https://i.stack.imgur.com/4GmAt.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Wiki says&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;The prisoner's dilemma thus has a single Nash equilibrium: both players choosing to defect i.e. State (4)&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;But how can &lt;code&gt;State (4)&lt;/code&gt; be in &lt;code&gt;Nash Equilibrium&lt;/code&gt;. &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;A can take gain by changing its decision i.e. &lt;code&gt;State (4)&lt;/code&gt; -&gt; &lt;code&gt;State (2)&lt;/code&gt;&#xA;and.&lt;/li&gt;&#xA;&lt;li&gt;B can take gain by changing its decision i.e. &lt;code&gt;State (4)&lt;/code&gt; -&gt; &lt;code&gt;State (3)&lt;/code&gt;.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;According to me State (1) should be in &lt;code&gt;Nash Equilibrium&lt;/code&gt;. Am I getting it correct ...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Nash_equilibrium&quot; rel=&quot;nofollow noreferrer&quot;&gt;Referrence&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="36806" LastActivityDate="2016-01-17T21:41:20.990" Title="Understanding Prisoner's dilemma" Tags="&lt;gt.game-theory&gt;&lt;nash-equilibrium&gt;" AnswerCount="1" CommentCount="0" ClosedDate="2016-01-18T02:54:02.107" ContentLicense="CC BY-SA 3.0" />
  <row Id="33594" PostTypeId="2" ParentId="33593" CreationDate="2016-01-17T21:41:20.990" Score="1" Body="&lt;p&gt;If you look at the definition for Nash equilibrium, you can see that if both $A$ and $B$ are in $\texttt{State 4}$, then if $A$ changes their mind that would mean that they would be defecting from a situation where they get $1$ point to one where they get $0$, a net decrease since at $\texttt{State 4}$ they are both defecting. Similarly for player $B$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The reverse is true for the case where they both cooperate ($\texttt{State 1}$). The reason this isn't a Nash equilibrium is that, if any one of the two chooses to change strategy (i.e. go from cooperation to defection) they would see a net increase in their reward. &lt;/p&gt;&#xA;" OwnerUserId="36687" LastActivityDate="2016-01-17T21:41:20.990" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33595" PostTypeId="2" ParentId="33542" CreationDate="2016-01-17T22:09:19.920" Score="2" Body="&lt;p&gt;This is the median k-flat problem. Feldman wrote some papers on this and related problems. See for example  &lt;a href=&quot;http://arxiv.org/abs/1106.1379&quot; rel=&quot;nofollow&quot;&gt;http://arxiv.org/abs/1106.1379&lt;/a&gt; .&lt;/p&gt;&#xA;" OwnerUserId="9594" LastActivityDate="2016-01-17T22:09:19.920" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33596" PostTypeId="1" CreationDate="2016-01-18T00:12:30.307" Score="1" ViewCount="148" Body="&lt;p&gt;Last week I asked a question on MOF (see &lt;a href=&quot;https://mathoverflow.net/questions/228204/maximal-correlation-versus-correlation-coefficient-when-one-rv-is-gaussian&quot;&gt;here&lt;/a&gt;), but I got no reply. So I am asking my question here.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let a pair of random variables $(X,Y)$ be continuous random variables (i.e., they both have density with respect to Lebesgue measure)  with joint distribution $P_{XY}$. The maximal correlation $\rho_m(X;Y)$ between $X$ and $Y$ is defined as &#xA;$$\rho_m(X;Y):=\sup_{f,g} \rho(f(X); g(Y)),$$ where $\rho(\cdot; \cdot)$ denotes the correlation coefficient (aka Pearson correlation coefficient). Rényi suggested the following simpler representation for maximal correlation:&#xA;$$\rho_m(X;Y):=\sup_{f,g}\mathbb{E}[f(X)g(Y)],$$ where the maximization is taken over real-valued functions $f$ and $g$ such that $\mathbb{E}[f(X)]=\mathbb{E}[g(Y)]=0$ and $\mathbb{E}[f^2(X)]=\mathbb{E}[g^2(Y)]=1$. A single-function characterization of maximal correlation correlation was given by by Renyi as follows:&#xA;$$\rho^2_m(X;Y)=\max_{f}\mathbb{E}[(\mathbb{E}[f(X)|Y])^2],$$ where $f$ satisfies the above conditions as well. One can easily see that for any arbitrary random variables $X$ and $Y$, $0\leq\rho_m(X;Y)\leq 1$ where 0 is achieved iff $X$ and $Y$ are independent and 1 is achieved iff there exists a pair of functions $f$ and $g$ such that $f(X)=g(Y)$ almost surely.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is a well-known fact that for jointly Gaussian $(X,Y)$, we have $\rho_m^2(X; Y)=\rho^2(X; Y)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose now that only $Y$ is Gaussian. I would like to know a necessary and sufficient condition on $P_{XY}$ such that $\rho_m^2(X; Y)=\rho^2(X; Y)$. In particular, I am interested to see if this statement is correct: if $\rho_m^2(X;Y)$ is close to $\rho^2(X;Y)$, then $X$ is close to a Gaussian random variable.   &lt;/p&gt;&#xA;" OwnerUserId="21925" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.530" LastActivityDate="2016-01-23T08:33:15.860" Title="Maximal correlation vs correlation coefficient when one RV is Gaussian" Tags="&lt;pr.probability&gt;&lt;it.information-theory&gt;&lt;st.statistics&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33600" PostTypeId="1" CreationDate="2016-01-18T16:49:58.737" Score="0" ViewCount="458" Body="&lt;p&gt;Does there exist any constructive (indeed, computable) proof of the Halting Problem? All the ones I have encountered make use of proof by contradiction.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As an aside, some proofs I have encountered make use of Cantor's diagonal argument, but this seems to be purely extraneous (e.g. the proof in Sipser).&lt;/p&gt;&#xA;" OwnerUserId="404" LastActivityDate="2016-01-18T19:18:16.987" Title="Constructive proof of the Halting Problem" Tags="&lt;halting-problem&gt;" AnswerCount="1" CommentCount="16" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="33601" PostTypeId="2" ParentId="33600" CreationDate="2016-01-18T19:18:16.987" Score="1" Body="&lt;p&gt;I think if we want to answer this problem constructively, then we should be able propose problem constructively.&#xA;Let language of arithmetic be $L=\{0,S,+,\cdot \}$ and $\phi(n,x,y)$ be kleene predicate in $L$. Now the first problem is:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there any $m\in \mathbb{N}$ such that $$H_1(m):=\forall x\in\mathbb{N}:\forall y \in \mathbb{N} \neg \phi(x,x,y)\leftrightarrow \exists z\in \mathbb{N} \phi(m,x,z)$$&#xA;  ?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Proof. Suppose there exists such $m$, so by above definition we have:&#xA;$$\forall y \in \mathbb{N} \neg \phi(m,m,y)\leftrightarrow \exists z\in \mathbb{N} \phi(m,m,z)$$&#xA;and this leads to a contradiction, therefore there does not such $m$. (note that $\neg \exists A(x)\rightarrow \forall x \neg A(x)$ has a constructive proof.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Define $$H_2(m):=\forall x\in \mathbb{N}\exists ! y\in\{0,1\} \phi(m,x,y) \land \forall x\in\mathbb{N}:\exists u \in \mathbb{N}\phi(x,x,u)\leftrightarrow \phi(m,x,1)$$&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there any $m$ such that $H_2(m)$ satisfied in natural numbers?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;proof. If there exists such m, we can construct number $m'$ from $m$ such that  $H_1(m')$ satisfied in natural numbers and this lead to a contradiction, therefore we have $\forall n\in \mathbb{N}\neg H_2(n)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We can see that $H_2(n)$ means that &quot;partial recursive function with code $n$ is a solution for halting problem&quot;. Actually we can not deduce constructively that $$\neg H_2(n)\leftrightarrow \neg(\forall x\in \mathbb{N}\exists ! y\in\{0,1\} \phi(n,x,y)) \lor \neg(\forall x\in\mathbb{N}:\exists u \in \mathbb{N}\phi(x,x,u)\leftrightarrow \phi(n,x,1))$$, but $\neg H_2(n)$ means &#xA;there exists a time in tmeline that we figure out $\neg\forall x\in \mathbb{N}\exists ! y\in\{0,1\} \phi(n,x,y)$ or $\neg\forall x\in\mathbb{N}:\exists u \in \mathbb{N}\phi(x,x,u)\leftrightarrow \phi(n,x,1)$ although maybe we don't know which of them is true this moment.  &lt;/p&gt;&#xA;" OwnerUserId="36375" LastActivityDate="2016-01-18T19:18:16.987" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33603" PostTypeId="2" ParentId="20245" CreationDate="2016-01-19T00:54:27.493" Score="2" Body="&lt;p&gt;The problem is in $P$ by reducing the problem to submodular minimization. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $v(A)$ be defined as the size of the maximum matching in $G_{|A}$. $v$ is submodular. One way to see this is convert the problem to a max flow problem, and use the fact that the set function $c(U)=$ max flow from $U$ to $t$ defined over $V\setminus \{t\}$ is submodular.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I will use $f(A)$ to mean the $f(G_{|A})$ in your notation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$f(A) = |A| + |V| - 2v(A)$. $|V|$ is a constant, so we can maximize over $f(A)-|V| = |A| - 2v(A)$, which is the same as minimize $g(A) = 2v(A)-|A|$. $g$ is a submodular function(difference of submodular and modular function), and you can apply any polynomial time submodular function minimization algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This can be extended to weighted case if weighted analogue of $v(A)$ is submodular. &lt;/p&gt;&#xA;" OwnerUserId="314" LastActivityDate="2016-01-19T00:54:27.493" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33604" PostTypeId="1" AcceptedAnswerId="33611" CreationDate="2016-01-19T17:00:50.700" Score="11" ViewCount="343" Body="&lt;p&gt;The k-FLIP SAT parametrized problem is defined as:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Input:&lt;/strong&gt; a 3-CNF formula $\varphi$ with $n$ variables and a truth assignment $\sigma : [n] \to \{0,1\}$&lt;br&gt;&#xA;&lt;strong&gt;Parameter:&lt;/strong&gt; $k$&lt;br&gt;&#xA;&lt;strong&gt;Question:&lt;/strong&gt; can we transform the assignment $\sigma$ into a satifying assignment $\sigma'$ for $\varphi$ &lt;em&gt;flipping&lt;/em&gt; the truth value of at most $k$ variables? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem is &lt;strike&gt;clearly&lt;/strike&gt; in FPT (&lt;a href=&quot;http://dx.doi.org/10.1016/j.disopt.2010.07.003&quot; rel=&quot;nofollow&quot;&gt;Stefan Szeider: The Parameterized Complexity of k-Flip Local Search for SAT and MAX SAT. Discrete Optimization 8(1): 139-145 (2011)&lt;/a&gt;) &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Does it admit a polynomial kernel ? (under reasonable complexity assumptions)&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The recent cross-composition techniques (see &lt;a href=&quot;http://arxiv.org/abs/1206.5941&quot; rel=&quot;nofollow&quot;&gt;Hans L. Bodlaender, Bart M. P. Jansen, Stefan Kratsch, &quot;Kernelization Lower Bounds By Cross-Composition&quot;&lt;/a&gt;) seem unuseful for this problem. And they also seem unuseful for similar problems that ask if a given solution to an NP-hard problem can be found from a given instance by local search (limiting the search to the neighbours of the given instance, under some natural distance measure).&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="3247" LastEditDate="2016-01-21T08:31:23.980" LastActivityDate="2016-01-21T08:31:23.980" Title="Polynomial kernel for $k$-FLIP SAT on $3$-CNF formulas" Tags="&lt;parameterized-complexity&gt;&lt;fixed-parameter-tractable&gt;" AnswerCount="1" CommentCount="11" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="33606" PostTypeId="2" ParentId="21387" CreationDate="2016-01-19T18:35:52.207" Score="11" Body="&lt;p&gt;There are absolutely some relationships between the semantics and practice of OOP and category theory. This is somewhat unsurprising since both fields attempt to give a principled &lt;em&gt;generic&lt;/em&gt; account of structure and behavior in a synthetic manner.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The most apparent work I am aware of is the categorical semantics of UML, which is admittedly different from OOP in the large, but I think captures much of the crux of the debate on the semantics of objects themselves. One example is Zinovy Diskin's &lt;a href=&quot;http://www.cs.toronto.edu/~zdiskin/Pubs/KluwerBook-2003.pdf&quot;&gt;Mathematics of UML&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="3984" LastActivityDate="2016-01-19T18:35:52.207" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33608" PostTypeId="2" ParentId="33037" CreationDate="2016-01-20T03:06:23.127" Score="22" Body="&lt;p&gt;You can find a preprint by following this link &lt;a href=&quot;http://eccc.hpi-web.de/report/2016/002/&quot;&gt;http://eccc.hpi-web.de/report/2016/002/&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT (1/24) By request, here is a quick summary, taken from the paper itself, but glossing over many things. Suppose Merlin can prove to Arthur that for a $k$-variable arithmetic circuit $C$, its value on all points in $\{0,1\}^k$ is a certain table of $2^k$ field elements, in time about $(s + 2^k) \cdot d$, where $s$ is the size of $C$ and $d$ is the degree of the polynomial computed by $C$. (We call this a &quot;short non-interactive proof of batch evaluation&quot; --- evaluating $C$ on many assignments.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then Merlin can solve $\#$SAT for Arthur as follows. Given a CNF $F$ on $n$ variables and $m$ clauses, Merlin and Arthur first construct an arithmetic circuit $C$ on $n/2$ variables of degree at most $mn$, size about $mn \cdot 2^{n/2}$, which takes a sum over all assignments to the first $n/2$ variables of the CNF $F$ (adding a $1$ to the sum when $F$ is true, and $0$ when it's false). Using the batch evaluation protocol, Merlin can then prove that $C$ takes on $2^{n/2}$ particular values on all its $2^{n/2}$ Boolean assignments, in about $2^{n/2} poly(n,m)$ time. Summing up all those values, we get the count of the SAT assignments to $F$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now we say at a high level how to do the batch evaluation protocol. We want the proof to be a succinct representation of the circuit $C$ that is both easy to evaluate on all of the $2^k$ given inputs, and also easy to verify with randomness. We set the proof to be a univariate polynomial $Q(x)$ defined over a sufficiently large extension field of the base field $K$ (of characteristic at least $2^n$ for our application), where $Q(x)$ has degree about $2^k \cdot d$, and $Q$ ``sketches'' the evaluation of the degree-$d$ arithmetic circuit $C$ over all $2^k$ assignments. The polynomial $Q$ satisfies two conflicting conditions: &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;The verifier can use the sketch $Q$ to efficiently produce the truth table of $C$. In particular, for some explicitly known $\alpha_i$ from the extension of $K$, we want $(Q(\alpha_0), Q(\alpha_1),\ldots,Q(\alpha_K)) = (C(a_1),\ldots,C(a_{2^K}))$, where $a_i$ is the $i$th Boolean assignment to the $k$ variables of $C$ (under some ordering on assignments). &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The verifier can check that $Q$ is a faithful representation of $C$'s behavior on all $2^k$ Boolean assignments, in about $2^k + s$ time, with randomness. This basically becomes a univariate polynomial identity test.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The construction of $Q$ uses an interpolation trick originating from the holographic proofs, where multivariate expressions can be efficiently ``expressed'' as univariate ones. Both of the two items utilize fast algorithms for manipulating univariate polynomials.&lt;/p&gt;&#xA;" OwnerUserId="225" LastEditorUserId="225" LastEditDate="2016-01-25T07:02:09.947" LastActivityDate="2016-01-25T07:02:09.947" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="33609" PostTypeId="2" ParentId="19341" CreationDate="2016-01-20T07:42:10.907" Score="1" Body="&lt;p&gt;It is the case that $b \notin o( m )$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $G = ( V_G, E_G )$ be a $3$-regular connected graph. Without loss of generality, let us fix $w = |V_G|$ and focus on $\Delta_{|V_G|} = O_{|V_G|} - E_{|V_G|}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Pick an arbitrary edge $e = \{u, v\} \in E_G$. Remove $e$ and replace it with the following gadget:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://i.stack.imgur.com/oxmaL.jpg&quot; rel=&quot;nofollow noreferrer&quot;&gt;&lt;img src=&quot;https://i.stack.imgur.com/oxmaL.jpg&quot; alt=&quot;Gadget&quot;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This has the effect of multiplying $\Delta_{|V_G|}$ by $8$. The resulting graph $H = (V_H, E_H)$ is still $3$-regular connected, and has $60$ vertices more than $G$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;By repeating this process $i$ times, we obtain a $3$-regular connected graph having $|V_H| = |V_G| + 60i$ vertices, and whose $\Delta_{|V_H|}$ is $8^i$ times bigger than $\Delta_{|V_G|}$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;After $i = \frac{|V_G|}{3}$ iterations, our final graph will have $|V_H| = 21|V_G|$ vertices and a $\Delta_{|V_H|}$ which is $2^{|V_G|}$ times bigger than the $\Delta_{|V_G|}$ we started with. Let $n = |V_H|$, recall how $m = 1.5n$ for $3$-regular graphs, and we get a $\Delta_{|V_H|}$ whose absolute value is lower-bounded by $2^{\frac{m}{31.5}}$. Henceforth $b$ is linear in $m$ in the worst case, and thus it cannot belong to $o( m )$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Contrarily to intuition (at least mine), the number of edge covers of odd cardinality and the number of edge covers of even cardinality may diverge by an exponential amount.&lt;/p&gt;&#xA;" OwnerUserId="947" LastActivityDate="2016-01-20T07:42:10.907" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33611" PostTypeId="2" ParentId="33604" CreationDate="2016-01-20T12:18:55.020" Score="13" Body="&lt;p&gt;The problem does not have a polynomial kernel unless NP is in coNP/poly. The cross-composition technique from our paper applies in a nontrivial way.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let me show how the classic Vertex Cover problem OR-cross-composes into the k-FLIP-SAT problem; by the results in the cited paper, this is sufficient. Concretely, we build a polynomial-time algorithm whose input is a sequence of Vertex Cover instances $(G_1,k), (G_2, k), \ldots, (G_t, k)$ that all share the same value of $k$ and all have exactly $n$ vertices. The output is an instance of $k$-FLIP SAT with a parameter value of $O(k + \log t)$, which is sufficiently small for a cross-composition, such that the $k$-FLIP SAT instance has answer yes iff one of the input graphs has a vertex cover of size $k$. By duplicating one input (which does not change the value of the OR) we can ensure that the number of inputs $t$ is a power of two.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The composition proceeds as follows. Number the vertices in graph each input graph $G_i$ as $v_{i,1}, v_{i,2}, \ldots, v_{i,n}$. Make a corresponding variable in the FLIP-SAT instance for each vertex of each input graph. Additionally, make a selector variable $u_i$ for each input instance number $i \in [t]$. For each input graph $G_i$, we add some clauses to the formula. For each edge $\{v_{i,x}, v_{i,y}\}$ of graph $G_i$, add the clause $(v_{i,x} \vee v_{i,y} \vee \neg u_i)$ to the formula, which will encode &quot;either one of the endpoints of this edge is set to true, or the instance $i$ is not active&quot;. In the initial assignment, all vertex-variables are set to false and all selector variables $u_i$ are set to false, so that these clauses are all satisfied. To build the OR-behavior into the composition we will augment the formula to ensure that a satisfying assignment sets at least one selector to true, and must then also form a vertex cover of the selected graph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To make sure we can do this selection while keeping the flip distance small compared to the number of inputs $t$, we use the structure of a complete binary tree with $t$ leaves, which has height $\log t$. Number the leaves from $1$ to $t$ and associate the $i$-th leaf with the variable $u_i$ that controls if input $i$ is active or not. Create a new variable for each internal node of the binary tree. For each internal node, let its corresponding variable be $x$ and the variables of its two children be $y$ and $z$. Add the clause $(\neg x \vee y \vee z)$ to the formula which captures the implication $(x \rightarrow (y \vee z))$, enforcing that $x$ can only be true if one of its children is true. To complete the formula, add a singleton clause saying that the variable of the root node of the binary tree must be true. In the initial truth assignment, the values of all variables for internal nodes is set to false, which satisfies all clauses of the formula except for the singleton clause requiring the root node of the tree to have its variable true.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This completes the description of the formula and truth assignment. Set the parameter $k'$ of the FLIP DISTANCE problem to be equal to $(k + \log t + 1)$, which is suitably bounded for a cross-composition. It remains to show that we can flip $k'$ variables to make the formula true iff some input graph $G_i$ has a vertex cover of size $k$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the reverse direction, suppose that $G_i$ has a size-$k$ vertex cover. Set the $k$ variables corresponding to the $k$ vertices in the cover to true by flipping them. Set the selector variable $u_i$ to true to encode that input $i$ is activated, and flip the variables of the $\log t$ internal binary tree nodes on the path of leaf $i$ to the root to true. It is easy to verify that this is a satisfying assignment: the implications in the binary tree are all satisfied, the root node's value is set to true, the clauses that check edges of $G_{i'}$ for $i' \neq i$ remain satisfied because $u_{i'}$ remains false, while the clauses for graph $G_i$ are satisfied because for every edge we set at least one endpoint to true.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the forward direction, suppose that the formula can be satisfied by flipping at most $k + \log t + 1$ variables. Then we must flip the variable of the root node to true. The implications in the binary tree enforce that at least one selector variable of a leaf is set to true, say $u_i$. To satisfy the implications encoded in the binary tree, all internal nodes on the path from $u_i$ to the root were set to true, accounting for $1 + \log t$ flips. Since $u_i$ is set to true, the clauses made for graph $G_i$ are not satisfied on the literal $\neg u_i$, so they are satisfied because one of the endpoints of each edge of $G_i$ is set to true. Since at least $1 + \log t$ variables of the binary tree were flipped, at most $k$ vertex-variables are flipped to true in this solution. This encodes a vertex cover of size $k$ in $G_i$ and proves that one of the inputs is a YES-instance. This completes the proof.&lt;/p&gt;&#xA;" OwnerUserId="122" LastActivityDate="2016-01-20T12:18:55.020" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="33612" PostTypeId="2" ParentId="33462" CreationDate="2016-01-20T14:15:48.703" Score="4" Body="&lt;p&gt;Kolloiopoulos and Young give an $O(\log m)$ approximation for general covering integer programs. See the paper below.&#xA;&lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0022000005000656&quot; rel=&quot;nofollow&quot;&gt;http://www.sciencedirect.com/science/article/pii/S0022000005000656&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="176" LastActivityDate="2016-01-20T14:15:48.703" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="33614" PostTypeId="1" AcceptedAnswerId="33618" CreationDate="2016-01-20T15:52:42.757" Score="2" ViewCount="1471" Body="&lt;p&gt;Is there a list of 'natural' complexity classes closed under complement? Some that I could think of are P, ZPP, BPP, NP $\cap$ co-NP, PH, PP and PSPACE but surely there are others. Wikipedia and the Complexity-Zoo don't have such a list as far as I can tell but perhaps there are other resources?&lt;/p&gt;&#xA;" OwnerUserId="36207" LastActivityDate="2016-01-22T01:51:05.450" Title="List of complexity classes closed under complement" Tags="&lt;reference-request&gt;" AnswerCount="3" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33615" PostTypeId="2" ParentId="33614" CreationDate="2016-01-20T15:58:42.040" Score="6" Body="&lt;p&gt;Nonderministic Logspace (NL) is closed under complement. That is, $NL=coNL$. This non-trivial result is known as (or rather, is the consequence of) the &lt;a href=&quot;https://en.wikipedia.org/wiki/Immerman%E2%80%93Szelepcs%C3%A9nyi_theorem&quot; rel=&quot;nofollow&quot;&gt;Immerman–Szelepcsényi theorem&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="7531" LastEditorUserId="5038" LastEditDate="2016-01-22T01:51:05.450" LastActivityDate="2016-01-22T01:51:05.450" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="33616" PostTypeId="2" ParentId="33614" CreationDate="2016-01-20T16:50:58.970" Score="2" Body="&lt;p&gt;Shaull already mentioned NL. ​ The same thing also applies to all super-logarithmic space classes. ​ The only other examples I can find for which I don't know of as-natural&#xA;&lt;br&gt;&#xA;equivalent definitions from which closedness under complement trivially follows are:&#xA;&lt;br&gt;&lt;br&gt;&lt;br&gt;&#xA;&lt;a href=&quot;https://complexityzoo.uwaterloo.ca/Complexity_Zoo:S#sac&quot; rel=&quot;nofollow&quot;&gt;SAC&lt;/a&gt; and each of its positive levels&lt;/p&gt;&#xA;&#xA;&lt;p&gt;and&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://complexityzoo.uwaterloo.ca/Complexity_Zoo:S#szk&quot; rel=&quot;nofollow&quot;&gt;SZK&lt;/a&gt;&#xA;&lt;br&gt;&lt;br&gt;&lt;br&gt;.&lt;/p&gt;&#xA;" OwnerDisplayName="user6973" LastActivityDate="2016-01-20T16:50:58.970" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33617" PostTypeId="1" AcceptedAnswerId="33623" CreationDate="2016-01-20T19:03:10.630" Score="7" ViewCount="231" Body="&lt;p&gt;I recently came across the following problem which seems to fall in the context of &lt;a href=&quot;https://en.wikipedia.org/wiki/Graph_rewriting&quot;&gt;graph rewriting&lt;/a&gt; problems:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Input:&lt;/strong&gt; A graph $G=(V,E)$ with maximum degree 3, an edge $e_0 \in E$ and pairs of graphs $(A_1,B_1),\ldots,(A_k,B_k)$ where both $A_i$ and $B_i$ are subgraphs of the complete graph with vertex set $V$ and $A_i$ is isomorphic to $B_i$ for $i=1,\ldots,k$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question:&lt;/strong&gt;  Is there a sequence $a_1,\ldots,a_n$ such that successively replacing the subgraphs $A_{a_i}$ with $B_{a_i}$ in $G_{i-1}$ (where $G_0=G$) to obtain $G_i$ yields a graph $G_n$ with $e_0 \in E(G_n)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that one can only replace $A_{a_i}$ with $B_{a_i}$ in $G_{i-1}$ if $E(A_{a_i}) \subseteq E(G_{i-1})$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is anything about the complexity of this problem known (in particular is it NP-hard?).&lt;/p&gt;&#xA;" OwnerUserId="13956" LastActivityDate="2016-01-21T10:15:03.553" Title="Complexity of a graph-rewriting problem" Tags="&lt;graph-theory&gt;&lt;np-hardness&gt;&lt;graph-isomorphism&gt;&lt;grammars&gt;&lt;program-verification&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="33618" PostTypeId="2" ParentId="33614" CreationDate="2016-01-20T19:32:43.100" Score="3" Body="&lt;p&gt;All deterministic classes are (almost trivially) closed under complement:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a deterministic TM $M$ for a language $L$, one obtains a deterministic TM for its complement by simply running $M$ and then &quot;flipping&quot; the answer. The machine runs in the same time and space asymptotically. By applying the same proof to the complement class, it follows that $L=co-L$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The same obviously holds for all classes where the result can be safely &quot;flipped&quot;, e.g. $ZPP$. Nondeterministic classes obviously fail this requirement.&lt;/p&gt;&#xA;" OwnerUserId="879" LastActivityDate="2016-01-20T19:32:43.100" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33620" PostTypeId="1" CreationDate="2016-01-21T07:01:29.090" Score="4" ViewCount="215" Body="&lt;p&gt;Suppose there is a set of convex polygons ($\mathbb{P}$) on the plane. For each convex polygon $P_i$ there is one &quot;facility&quot; $f_i$ placed on the boundary of $P_i$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The distance between a point $p \in \mathbb{R}^2\setminus \mathbb{P}$ and a facility $f_i$ is the distance of the shortest path between $p$ and $f_i$ avoiding interiors of the convex polygons.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is: Is there a known algorithm to compute the voronoi diagram ($\mathbb{V}$) in such settings ? I found something similar in Aronov's &lt;a href=&quot;http://link.springer.com/article/10.1007%2FBF01553882&quot; rel=&quot;nofollow&quot;&gt;paper&lt;/a&gt; which deals with geodesic voronoi diagrams inside a simple polygon. Since, the paper does not considers holes inside the polygon it does not solve my problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit:&lt;/strong&gt; The problem I stated can also be formulated as follows: Consider a large rectangle ($R$) containing $\mathbb{P}$ as convex holes inside it. The point sites are placed on the boundary of the holes. Now the geodesic voronoi diagram would be same as $\mathbb{V}$ bounded by $R$.&lt;/p&gt;&#xA;" OwnerUserId="12280" LastEditorUserId="12280" LastEditDate="2016-01-22T06:09:32.423" LastActivityDate="2016-01-22T06:09:32.423" Title="Voronoi diagram in presence of polygonal obstacle" Tags="&lt;ds.algorithms&gt;&lt;computational-geometry&gt;&lt;polynomial-time&gt;&lt;voronoi&gt;" AnswerCount="0" CommentCount="7" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33622" PostTypeId="2" ParentId="33584" CreationDate="2016-01-21T09:01:54.070" Score="9" Body="&lt;p&gt;I think that the type system you want is elementary affine logic with fixpoints.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A distinctive feature (actually, &lt;em&gt;the&lt;/em&gt; distinctive feature) of light logics, including elementary linear/affine logic, is that types do not ensure termination: unlike usual logical system, cut-elimination follows from a structural property of proofs (namely, &lt;em&gt;stratification&lt;/em&gt;), the logical complexity of formulas does not play any role.  Types in EAL only give you well-formedness properties (like progress, i.e., normalization doesn't get stuck; or the fact that the normal form will have a certain shape).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The fact that cut-elimination holds regardless of types means that you can add arbitrary type fixpoints to EAL and you still get normalization with the same complexity bounds (elementary), because you still have stratification.  With type fixpoints, Scott numerals get the following type:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\mu \beta.\forall \alpha.(\beta\multimap\alpha)\multimap\alpha\multimap\alpha$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A paper that uses EAL+type fixpoints explicitly is&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Patrick Baillot. &lt;a href=&quot;http://perso.ens-lyon.fr/patrick.baillot/Publications/MESPAPIERS/ELL_Ptime_Long_final.pdf&quot;&gt;&lt;em&gt;On the expressivity of elementary linear logic: Characterizing Ptime and an exponential time hierarchy&lt;/em&gt;&lt;/a&gt;.&#xA;Information and Computation 241: 3-31, 2015. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;You will find formal definitions there.  However, I am afraid that no implementation exists.&lt;/p&gt;&#xA;" OwnerUserId="20716" LastEditorUserId="20716" LastEditDate="2016-01-23T12:14:50.553" LastActivityDate="2016-01-23T12:14:50.553" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="33623" PostTypeId="2" ParentId="33617" CreationDate="2016-01-21T10:15:03.553" Score="5" Body="&lt;p&gt;I don't know if it has been studied before, but after a quick look I think it should be PSPACE complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We can build a reduction using the Nondeterministic Constraint Logic model of computation (NCL). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I quick idea is the following (I assume you're familiar with the NCL model): given an NCL graph $G$, you can replace red and blue directed edges with a suitable gadget (with undirected edges) that &quot;marks&quot; the direction of the edge.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then build the $A_i \to B_i$ subgraphs in such a way that if $A_i$ is a  subgraph of $G$ that represents an NCL  node with valid incoming/outgoing edge constraints, then it can be replaced with $B_i$ which represents a valid flip of one of those edges.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The $A_i / B_i$s should be isomorphic; but this is not a problem for the OR gadget: just add 2 dum nodes &quot;D&quot; so that every node $u$ of the NCL, in the resulting graph has degree 5 with 3 incoming (blue) edges and 2 outgoing (red) edges.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The AND gadget is a little bit more complex, but you can use a &quot;circle&quot; (green edges in the figure) that forces the correct correspondence between the flip of the 2 red edges and the flip of the blue edge (on the opposite side).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://i.stack.imgur.com/WJNuM.jpg&quot; rel=&quot;noreferrer&quot;&gt;&lt;img src=&quot;https://i.stack.imgur.com/WJNuM.jpg&quot; alt=&quot;enter image description here&quot;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If I have enough time I'll give more details about the proof.&lt;/p&gt;&#xA;" OwnerUserId="3247" LastActivityDate="2016-01-21T10:15:03.553" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="33631" PostTypeId="1" CreationDate="2016-01-22T10:56:25.383" Score="3" ViewCount="53" Body="&lt;p&gt;I have two questions concerning ground reachability in string and term rewriting systems.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;String Rewriting Systems:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $\Sigma$ be a finite alphabet.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have a set of rules $R$ of the form $a_ib_i = c_id_i$ where $a_i,b_i,c_i,d_i$ are symbols in $\Sigma$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Problem 1:&lt;/strong&gt; Given strings $u$ and $w$ in $\Sigma^*$ of size $n$ can $u$ be transformed into $w$ by the application&#xA;of rules in $R$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question1:&lt;/strong&gt; Can Problem 1 be solved in time polynomial in $n$? Note that in this case&#xA;the problem is trivially decidable since the rules do not increase the size of the strings.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Term Rewriting Systems:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now I have a ranked alphabet $\Sigma$ with function symbols of arity $0$, $1$ and $2$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have a set $R$ of rules of the form (where $x,y,z$ are variables and $f,g,h,k$ are function symbols)&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;$f(x,y) = g(y,x)$&lt;/li&gt;&#xA;&lt;li&gt;$f(x,g(y,z)) = h(x,k(y,z))$&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Problem 2:&lt;/strong&gt; Given ground terms $u$  and $w$ over $\Sigma$ with $n$ leaves,&#xA;can $u$ be transformed into $w$ by the application of rules in $R$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question 2:&lt;/strong&gt; Can Problem 2 be solved in time polynomial in $n$? Note that&#xA;decidability is also trivial here, since the rules do not increase the size of a term.&lt;/p&gt;&#xA;" OwnerUserId="36495" LastEditorUserId="36495" LastEditDate="2016-01-22T12:38:57.580" LastActivityDate="2016-01-22T12:38:57.580" Title="Ground Reachability in String and Term Rewriting Systems" Tags="&lt;polynomial-time&gt;&lt;term-rewriting-systems&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="33632" PostTypeId="1" AcceptedAnswerId="33634" CreationDate="2016-01-22T11:15:13.053" Score="3" ViewCount="96" Body="&lt;p&gt;A min-plus weighted automaton (WFA) is a nondeterministic automaton with a weight function that assigns each transition a weight in $\mathbb{N}$. The weights along a run are &lt;em&gt;summed&lt;/em&gt;, and the value of a word is the value of the &lt;em&gt;minimal&lt;/em&gt; accepting run of the automaton on it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In a &lt;a href=&quot;https://www.researchgate.net/publication/29612046_Deciding_Unambiguity_and_Sequentiality_of_Polynomially_Ambiguous_Min-Plus_Automata&quot; rel=&quot;nofollow&quot;&gt;beautiful paper&lt;/a&gt;, Kirsten and Lombardy show that deciding unambiguity and sequentiality (i.e. determinizability) for WFAs is decidable for polynomially ambiguous WFA (the general case has been open for years).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Working on related problems, I am trying to tackle the following:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there an example of an exponentially-ambiguous WFA for which there is no equivalent polynomially ambiguous WFA?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Note that by &quot;equivalent&quot; we mean that they represent the same (perhaps partial) function $f:\Sigma^*\to \mathbb{N}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some side-notes:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;It is known that &lt;a href=&quot;https://www.google.co.il/url?sa=t&amp;amp;rct=j&amp;amp;q=&amp;amp;esrc=s&amp;amp;source=web&amp;amp;cd=1&amp;amp;cad=rja&amp;amp;uact=8&amp;amp;ved=0ahUKEwjSqJDQpL3KAhXLNxQKHYGSBFYQFggbMAA&amp;amp;url=http%3A%2F%2Fciteseerx.ist.psu.edu%2Fviewdoc%2Fdownload%3Fdoi%3D10.1.1.7.667%26rep%3Drep1%26type%3Dps&amp;amp;usg=AFQjCNH4B_nsqJFlng0y0zh0pmBQMkO2pQ&amp;amp;sig2=Ci36zbEeBWzftgBtQbhNRw&quot; rel=&quot;nofollow&quot;&gt;exponentially-ambiguous NFAs are exponentially more succinct than polynomially-ambiguous NFAs&lt;/a&gt;. But this is non-trivial. This suggests that in the WFA case this would also be not easy.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;It is well known that WFAs are, in general, non-determinizable. For example, it is easy to construct a WFA for the function that returns the minimal number of occurrences of a certain letter in a word, but this cannot be done with a deterministic WFA. This suggests that the hierarchy between different classes of ambiguity might also be proper (hence my question).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Exponentially ambiguous automata have a very simple syntactic structure: an automaton is exponentially ambiguous iff there is a state $q$ and a word $w$ such that $q$ is reachable from itself using $w$ in at least two different paths.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="7531" LastActivityDate="2016-01-22T12:07:51.717" Title="An exponentially-ambiguous weighted automaton without an equivalent polynomially-ambiguous automaton" Tags="&lt;fl.formal-languages&gt;&lt;automata-theory&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33633" PostTypeId="1" CreationDate="2016-01-22T11:23:11.747" Score="2" ViewCount="110" Body="&lt;p&gt;I am going through &lt;a href=&quot;https://www.math.ucdavis.edu/~vazirani/Papers/hidden.subgroup.pdf&quot; rel=&quot;nofollow&quot;&gt;QUANTUM MECHANICAL ALGORITHMS FOR THE&#xA;NONABELIAN HIDDEN SUBGROUP PROBLEM&lt;/a&gt; by Grigni et al. On page 2, it is said that solving the hidden subgroup problem becomes very easy when the hidden subgroup is very large:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Our lower bound on the runtime of the standard method, for subgroups of a group $G$, depends upon two parameters: the size of the hidden subgroup $H$ (naturally the problem becomes easy if $H$ is very large), and $c(G)$, the number of conjugacy classes in $G$. We give a lower bound showing that approximately $\left(\frac{\sqrt{|G|}}{|H|\sqrt{c(G)}}\right)^{1/3}$ rounds of Fourier sampling are required before the standard method can identify $H$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;My questions:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Why is it easy?&lt;/li&gt;&#xA;&lt;li&gt;How large is 'very large'?&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;My effort:&lt;/strong&gt;&#xA;Let the group be $G$ and the subgroup be $H$. One could argue that If any $g \in G$ is found to be in $H$ we know that all $g^n$ are in $H$ for $n \in \mathbb{Z}$. So we can skip them and check other group elements of $G$. But how do we know that determining $g^n$'s is cheaper than feeding them to the quantum circuit?&lt;/p&gt;&#xA;" OwnerUserId="13408" LastEditorUserId="40" LastEditDate="2016-01-22T19:53:19.253" LastActivityDate="2016-01-22T19:53:19.253" Title="Why hidden subgroup problem is easy for very large subgroup?" Tags="&lt;quantum-computing&gt;&lt;linear-algebra&gt;&lt;quantum-information&gt;&lt;physics&gt;&lt;gr.group-theory&gt;" AnswerCount="0" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="33634" PostTypeId="2" ParentId="33632" CreationDate="2016-01-22T12:07:51.717" Score="3" Body="&lt;p&gt;Here is a natural candidate: the alphabet is $\{a,b,c\}$, and to a word $v=u_1cu_2c\dots cu_k$ with each $u_i\in\{a,b\}^*$, you want to associate $$f(v)=\sum_{i=1}^k \min(|u_i|_a,|u_i|_b)$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is a straigthforward exponentially ambiguous automaton for this $f$: each time you see a $c$, guess if you go to a state counting $a$'s or to a state counting $b$'s.&#xA;It should not be too hard to prove that only exponentially ambigous automata recognize this function $f$. As a very sketchy argument, consider the fact that between two $c$'s, you must either count the number of $a$ or the number of $b$, so you need two different states to do so. Since you must be able to oscillate between these states, it means that you have distinct paths of the form $p\stackrel{w}{\longrightarrow} p$ for some state $p$ and word $w$ (containing some $c$'s).&lt;/p&gt;&#xA;" OwnerUserId="8953" LastActivityDate="2016-01-22T12:07:51.717" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33635" PostTypeId="1" AcceptedAnswerId="33636" CreationDate="2016-01-22T15:26:35.703" Score="3" ViewCount="177" Body="&lt;p&gt;(As for the question in the title: the answer must be no, but then I don't understand what is intended.) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The &lt;a href=&quot;https://en.wikipedia.org/wiki/One-way_function&quot; rel=&quot;nofollow&quot;&gt;Wikipedia page&lt;/a&gt; on one way functions states:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Goldreich gives one construction of a universal one-way function, which is denoted by $f_{univ}$ here.&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;$f_{univ} (desc(M), x) := (desc(M), M(x))$,&#xA;  where $desc(M)$ is the description of Turing machine $M$, and $x$ is an input string. $M(x)$ is defined as the output of machine $M$ given $x$ as input if the running time is at most quadratic on the length of $x$, and otherwise, $M(x) := x$. This definition of $M(x)$ guarantees $f_{univ}$ can be efficiently computed within polynomial time.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The point of $f_{univ}$ is that whenever there exists one way functions that run in quadratic time, then $f_{univ}$ is a one-way function as well. (And the Goldreich reference proves that whenever one-way functions of any running time exist, they can be used to create one way functions that run in quadratic time, hence obtaining the result that the 'concrete' function $f_{univ}$ is a one way function if and only if one way functions exist at all.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am, however, not convinced that the last statement from the quote is obvious.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As I understand it, a computer wanting to compute $M(x)$ needs to do two things:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) Decide whether or not the running time of machine $M$ given $x$ as input is &quot;at most quadratic on the length of $x$&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) Either return $x$ or let $M$ run on input $x$ and return the output&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now it is clear that step 2) takes at most quadratic time in the length of $x$ and hence certainly in the length of the total input of $f_{univ}$. What is not clear is that step 1) can be carried out in polynomial time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To be clear: I can think of an algorithm that tests in polynomial time (even time $|x|^2$) whether or not $M$ runs for at most $|x|^2$ steps on $x$. I can also think up an algorithm that test in polynomial time (even time $1000|x|^2$) whether or not $M$ runs for at most $1000|x|^2$ steps. Etc etc etc. However the term 'quadratic' gives us no information on how big or small the implied constant is.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It seems that whenever I make the definition of $f_{univ}$ concrete as in the example above (so output the output of $M$ on $x$ whenever it can be computed in less than $1000 |x|^2$ steps and otherwise output $x$), there might be a world imaginable where quadratic time one way functions exist but all of them take time longer than 1000 times their input length squared and $f_{univ}$ is not one way at all. The only way I can think of to avoid this is for the computer to somehow decide if $M$ halts on $x$ at all but that is known to be a hard problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What am I missing?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;UPDATE: I see another way out of this: when the proof that any one-way function $f$ can be transformed into a one way function $g$ that runs in quadratic time does in fact give that $g$ runs in time $&amp;lt; cn^2$ for a very concrete $c$. However here it is crucially important that $c$ does not depend on the unkonwn function $f$. This is not clear from me from the &lt;a href=&quot;https://docs.google.com/viewer?url=http%3A%2F%2Fwww.wisdom.weizmann.ac.il%2F~oded%2FPSBookFrag%2Fpart2N.ps&quot; rel=&quot;nofollow&quot;&gt;Goldreich notes&lt;/a&gt; Wikipedia links to. (The proof is in section 2.4.2.) Any help clarifying this is appreciated!  &lt;/p&gt;&#xA;" OwnerUserId="36207" LastEditorUserId="36207" LastEditDate="2016-01-22T15:34:47.137" LastActivityDate="2016-01-22T17:57:55.387" Title="Does Wikipedia assume a solution to the halting problem in their description of universal one way functions?" Tags="&lt;turing-machines&gt;&lt;one-way-function&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33636" PostTypeId="2" ParentId="33635" CreationDate="2016-01-22T17:57:55.387" Score="4" Body="&lt;p&gt;You don't need to know whether it is quadratic on all $x$, only on the particular $x$ that is given as input. And it's easy to decide whether a machine runs in a given time bound on a fixed input $x$. Just simulate it for that many steps and check whether it stops before the time bound runs out.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here, &quot;at most quadratic&quot; is a little sloppy. It should be read as meaning &quot;at most $|x|^2$ steps&quot;, so that there is a concrete time bound to check against. But one should keep in mind that there is a tradeoff between writing that is perfectly rigorous, and writing that can easily be understood by non-specialists, and Wikipedia generally aims for the latter — see &lt;a href=&quot;https://en.wikipedia.org/wiki/Wikipedia:Make_technical_articles_understandable&quot;&gt;https://en.wikipedia.org/wiki/Wikipedia:Make_technical_articles_understandable&lt;/a&gt; and its specific guidance to &quot;explain formulae in English&quot;.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2016-01-22T17:57:55.387" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="33639" PostTypeId="1" AcceptedAnswerId="33655" CreationDate="2016-01-22T22:30:50.303" Score="6" ViewCount="187" Body="&lt;p&gt;There is a sound theory of overloading operators and functions realized by type classes in Haskell, and to rougher extent by traits in Rust, etc. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In mathematics however, there are many situations where one set carries the same structure in multiple ways, like the integers being a monoid under both addition and multiplication.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;We normally just give these different names, but potentially one wants to abstract some tougher mathematical function, or a proof done in the type system.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In principle, one could do this the way mathematicians do it, by applying a type class to a type that associates the operations to the base type, as opposed to just the set itself with a fixed association. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is that the &quot;right&quot; or &quot;only&quot; way to gain this flexibility?  Or is there something else? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In particular, there are a bunch of languages like Scala that do overloading of overloading rules in a rather dangerously complex ways, well even incoherent instances in Haskell probably.  It'd be interesting if there were clearer &quot;more parametric&quot; way to achieve the ends that motivates those design decisions. &lt;/p&gt;&#xA;" OwnerUserId="6665" LastEditorUserId="6665" LastEditDate="2016-01-23T16:05:58.540" LastActivityDate="2016-01-25T16:46:23.763" Title="Is there a theory of overloading types?" Tags="&lt;type-theory&gt;&lt;dependent-type&gt;&lt;proof-assistants&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33640" PostTypeId="1" CreationDate="2016-01-23T02:06:22.280" Score="7" ViewCount="141" Body="&lt;p&gt;It is known that for general arithmetic circuits there is not much of a difference between standard model and one with division: any circuit with divisions that computes a polynomial can be simulated by a circuit without divisions with only polynomial blow-up.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, in the non-commutative world, such a reduction is unknown. In fact, although exponential lower bounds are known for noncommutative formulas without division, proving lower bounds for noncommutative formulas with division is a big open question.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Are we aware of lower bounds for noncommutative circuits with division, but where &lt;em&gt;every gate&lt;/em&gt; computes a polynomial (and not just a rational function)?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="27007" LastEditorUserId="129" LastEditDate="2016-01-23T05:25:16.800" LastActivityDate="2016-01-24T01:21:49.330" Title="Lower bounds for noncommutative arithmetic circuits with exact division?" Tags="&lt;lower-bounds&gt;&lt;arithmetic-circuits&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="33642" PostTypeId="1" AcceptedAnswerId="34103" CreationDate="2016-01-23T11:53:31.550" Score="4" ViewCount="161" Body="&lt;p&gt;There have been a &lt;a href=&quot;http://journals.aps.org/rmp/abstract/10.1103/RevModPhys.82.1&quot; rel=&quot;nofollow&quot;&gt;number of cases&lt;/a&gt; where efficient hidden subgroup algorithms have been found for specific non-Abelian groups with very specific structures. Why haven't we found any efficient quantum algorithm to find a hidden subgroup in a symmetric group even when the structure of the hidden subgroup is heavily restricted (e.g. the hidden subgroup could be a very special direct or semidirect product)?&lt;/p&gt;&#xA;" OwnerUserId="13408" LastActivityDate="2016-03-17T19:48:33.033" Title="Is there any hidden subgroup of a symmetric group which can be efficiently determined?" Tags="&lt;quantum-computing&gt;&lt;linear-algebra&gt;&lt;quantum-information&gt;&lt;physics&gt;&lt;gr.group-theory&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="33643" PostTypeId="1" CreationDate="2016-01-23T21:04:31.213" Score="1" ViewCount="180" Body="&lt;p&gt;I found an algorithm for constructing an $\epsilon$-net for a positive semidefine matrix $A\in[-1,1]^{n\times n}$ which has $rank(A)=d$, described in the paper&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;a href=&quot;http://eccc.hpi-web.de/report/2012/169/&quot; rel=&quot;nofollow&quot;&gt;The approximate rank of a matrix and its algorithmic applications&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;by Alon et al. The main problem is to approximate the quadratic form $x^TAy$, where $x,y\in \Delta_n:=\{x\in R^n:\|x\|_1=1,x\geq0\}$ and $A$ is a positive semidefinite matrix, so it can be written in the form $A=BB^T$ for a matrix $B\in R^{n \times d}$. The authors give an algorithm that constructs a $\frac{\epsilon}{\sqrt[]d}$-net for $A$ with respect to the $\|\|_{\infty}$ norm. It's description can be found in the proof of Theorem 3.1 of the paper.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It seems to be unclear how many samples this algorithm requires and by its description, I hesitatingly deduce that it works with just one sample from $\Delta_n$. Is my conclusion correct and if it is, why?&lt;/p&gt;&#xA;" OwnerUserId="20164" LastEditorUserId="20164" LastEditDate="2016-01-25T11:03:51.143" LastActivityDate="2016-01-25T11:03:51.143" Title="Clarification needed on an algorithm for $\epsilon$-net construction for the column space of PSD matrices" Tags="&lt;ds.algorithms&gt;&lt;cg.comp-geom&gt;&lt;epsilon-nets&gt;" AnswerCount="0" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="33645" PostTypeId="2" ParentId="33640" CreationDate="2016-01-24T01:16:30.563" Score="8" Body="&lt;p&gt;To my knowledge, such a reduction &lt;strong&gt;is in fact known&lt;/strong&gt;: Hrubes and Wigderson ITCS 2014 show how division gates can be eliminated from non-commutative circuits and formulas which compute polynomials.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;They also provide exponential-size lower bounds for non-commutative &lt;em&gt;formulas&lt;/em&gt; with division (not circuits) that compute any entry of the matrix inverse function $X^{-1}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Moreover, your main question about lower bounds for non-commutative &lt;em&gt;circuits&lt;/em&gt;, is not known (while for formulas it is known as mentioned above), because non-commutative circuits in which each gate computes a polynomial (not a rational function) with division constitutes a class which is at least as strong as non-commutative circuits. But there is no known super-polynomial non-commutative circuit lower bound (see [Hrubes, Yehudayoff and Wigderson STOC 2010] on this).&lt;/p&gt;&#xA;" OwnerUserId="78" LastEditorUserId="78" LastEditDate="2016-01-24T01:21:49.330" LastActivityDate="2016-01-24T01:21:49.330" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33647" PostTypeId="2" ParentId="26026" CreationDate="2016-01-24T14:04:10.803" Score="10" Body="&lt;p&gt;It is possible to compute parity using only 2.33n + C  gates. The construction is quite simple and is given in this article.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://link.springer.com/article/10.3103/S0027132215050083&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://link.springer.com/article/10.3103/S0027132215050083&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is an example of a circuit for parity of 6 variables using only 12 gates (each gate is an AND-gate, a circle near the input of a gate means that this input is inverted). Note that a circuit for parity of 6 variables that is constructed by stacking DNF-blocks (like in Marzio’s upper bound) consists of 13 gates.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have checked that for n=2,3,4,5,6 sizes of optimal circuits are 3,5,8,10,12. These values are also sizes of circuits that give 2.33n upper bound. I still don’t know if 2.33n is the size of optimal circuit for every n. Even more, I don’t know the size of optimal circuit for parity of 7 variables (there are two possible values, 14 and 15).&#xA;&lt;a href=&quot;https://i.stack.imgur.com/W7IuT.png&quot; rel=&quot;nofollow noreferrer&quot;&gt;&lt;img src=&quot;https://i.stack.imgur.com/W7IuT.png&quot; alt=&quot;Circuit for patity of 6 variables&quot;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="37210" LastEditorUserId="37210" LastEditDate="2016-01-25T07:27:12.143" LastActivityDate="2016-01-25T07:27:12.143" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33648" PostTypeId="1" CreationDate="2016-01-24T22:05:52.487" Score="3" ViewCount="127" Body="&lt;p&gt;Let's say that I have a multi-variate arithmetical expression $A(x_1, \ldots, x_n)$ that uses addition and multiplication operations and is also in a very simple form of sums of products, e.g., $A_1(x_1, x_2) = x_1\cdot x_1 + x_1\cdot x_2$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let's also say that the size of an expression is the number of addition/multiplication operators that appear in that expression. For example, size of $A_1(x_1, x_2)$ is three.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, I want to find another expression (also only using addition and/or multiplication) that is equivalent to the given expression $A$ and is of the minimum size. For example, formula $A_2(x_1, x_2) = x_1\cdot(x_1+x_2)$ of size two would be the answer to input $A_1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is about the complexity of finding $A_2$ from $A_1$. The decision version of this problem (does there exist such $A_2$ of size at most $k$) is obviously in NP but is it NP-complete?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If yes, then do we have any good approximation algorithm for it? Or other heuristic algorithms?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If not, what is the best known algorithm to solve it?&lt;/p&gt;&#xA;" OwnerUserId="15892" LastEditorUserId="6959" LastEditDate="2016-02-03T11:50:22.010" LastActivityDate="2016-02-03T11:50:22.010" Title="Complexity of minimizing monotone arithmetical formulas" Tags="&lt;cc.complexity-theory&gt;&lt;np-hardness&gt;&lt;approximation-algorithms&gt;&lt;heuristics&gt;" AnswerCount="0" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33651" PostTypeId="1" CreationDate="2016-01-25T05:07:34.430" Score="2" ViewCount="74" Body="&lt;p&gt;My impression is that for standard constructions of &lt;a href=&quot;https://complexityzoo.uwaterloo.ca/Complexity_Zoo:M#mip&quot; rel=&quot;nofollow&quot;&gt;MIP&lt;/a&gt; (&quot;Multiple Independent Prover&quot;) protocols, the verifiers must have shared randomness. ​ What happens if the verifiers are&#xA;&lt;br&gt;&#xA;also independent until the interactions have all finished? ​ (i.e., Each independent&#xA;&lt;br&gt;&#xA;prover &lt;a href=&quot;https://complexityzoo.uwaterloo.ca/Complexity_Zoo:I#ip&quot; rel=&quot;nofollow&quot;&gt;interacts with a&lt;/a&gt; different independent verifier and then the transcripts&#xA;&lt;br&gt;&#xA;of the interactions get sent to the final verifier, which either accepts or rejects.)&#xA;&lt;br&gt;&lt;br&gt;&lt;br&gt;&#xA;More Formally: ​ What is known about the power of MIP protocols in which,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;for each prover, the computation of what (if anything) the verifier sends&#xA;&lt;br&gt;&#xA;does not use anything about the partial transcripts for the other provers&#xA;&lt;br&gt;and&lt;br&gt;&#xA;the randomness strings used for the verifier's interactions&#xA;&lt;br&gt;&#xA;with different provers are independent of each other&lt;/p&gt;&#xA;&#xA;&lt;p&gt;?&lt;br&gt;&lt;br&gt;&lt;br&gt;&#xA;By &lt;a href=&quot;http://arxiv.org/pdf/1401.6848v1.pdf&quot; rel=&quot;nofollow&quot;&gt;this paper&lt;/a&gt;, the &lt;em&gt;public coin minimal-interaction&lt;/em&gt; version of that collapses to AM.&lt;/p&gt;&#xA;" OwnerDisplayName="user6973" LastEditorDisplayName="user6973" LastEditDate="2016-04-25T09:08:46.953" LastActivityDate="2016-04-25T09:08:46.953" Title="Are there non-trivial MIP protocols with initially-independent verifiers?" Tags="&lt;interactive-proofs&gt;&lt;nexp&gt;" AnswerCount="0" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="33652" PostTypeId="1" CreationDate="2016-01-25T09:26:34.583" Score="28" ViewCount="1195" Body="&lt;p&gt;I was reading Andrej Bauer's paper &lt;a href=&quot;http://dx.doi.org/10.1016/j.entcs.2005.11.049&quot; rel=&quot;noreferrer&quot;&gt;First Steps in Synthetic Computability Theory&lt;/a&gt;. In the conclusion he notes that &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Our axiomatization has its limit: it cannot prove any results in computability&#xA;  theory that fail to relativize to oracle computations. This is so because the&#xA;  theory can be interpreted in a variant of the effective topos built from partial&#xA;  recursive functions with access to an oracle.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;This made me wonder about non-relativizing results in computability. All results I know from computability theory do relativize to computation with oracles. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there results in &lt;strong&gt;computability theory&lt;/strong&gt; that do not relativize? I.e. results which hold for computability but do not hold for computability relative to some oracle? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;By result I mean a known theorem in computability theory, not some cooked up statement. If the notion of relativization doesn't make sense for the result then it is not what I am looking for. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is also interesting to know if the result can be stated in the language of Synthetic Computability Theory or not.&lt;/p&gt;&#xA;" OwnerUserId="14197" LastEditorUserId="14197" LastEditDate="2017-03-26T18:31:27.630" LastActivityDate="2020-01-18T03:38:07.497" Title="Is there a result in computability theory that does not relativize?" Tags="&lt;computability&gt;&lt;relativization&gt;" AnswerCount="4" CommentCount="5" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="33654" PostTypeId="1" CreationDate="2016-01-25T15:23:16.333" Score="1" ViewCount="469" Body="&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;What is the computational complexity of computing &lt;a href=&quot;https://en.wikipedia.org/wiki/Ramsey%27s_theorem&quot; rel=&quot;nofollow&quot;&gt;Ramsey numbers&lt;/a&gt; $(n,m) \mapsto R(n,m)$? Is it inside PH?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Would it be easier to compute $R$ if PH=P?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="32463" LastEditorUserId="186" LastEditDate="2016-01-27T01:08:01.010" LastActivityDate="2016-01-27T01:08:01.010" Title="Computational Complexity of Ramsey Numbers" Tags="&lt;cc.complexity-theory&gt;&lt;co.combinatorics&gt;" AnswerCount="0" CommentCount="12" ContentLicense="CC BY-SA 3.0" />
  <row Id="33655" PostTypeId="2" ParentId="33639" CreationDate="2016-01-25T16:46:23.763" Score="3" Body="&lt;p&gt;As far as I know, there is no &quot;right&quot; or &quot;only&quot; way of associating operations of theorems to mathematical structures. Certainly there is no &lt;strong&gt;canonical&lt;/strong&gt; way, and even on paper you often see sentences such as &quot;we write &lt;em&gt;foo&lt;/em&gt; instead of &lt;em&gt;foobar&lt;/em&gt; when no ambiguity occurs&quot;. Even this does not prevent misunderstandings, and often clarification by the author or guesswork by the reader is required.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There has been a lot of work in disambiguating mathematical statements of the kind you describe, especially in mathematical proof assistants like Coq, Isabelle, Mizar, etc., but there are many annoyances in practice, and a lot of compromise to design a disambiguation system which insures:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Inferring reasonable statements, i.e. $1+\pi$ should be easy to recognize as a real number&lt;/li&gt;&#xA;&lt;li&gt;Acceptable performance, i.e. $1+1$ in $\mathbb{N}$ should be recognized nigh-instantaneously, even as part of a much larger expression&lt;/li&gt;&#xA;&lt;li&gt;Understandable error messages, i.e. $\pi+\mathbb{Z}$ should fail because $\mathbb{Z}$ is not (coercible to) a real number, rather than some crazy failure involving additive structure on quotient sets.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;I can't understate how important (and difficult) point 3 is: experimentally, it's better to fail predictably than succeed in a bizarre manner, as I'm sure Scala users are aware.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another issue is that notations like $+$ and $\cdot$ are often used to describe abstract operations like commuative monoids, but also concrete operations on the sets that support them, so if you want to write&#xA;$$ \forall\ x\ y\ z,\ (x\cdot y)\cdot z=x \cdot (y\cdot z)$$&#xA;for any monoid, you have to imagine instantiating $\cdot$ by addition in the naturals.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In general, the idea of applying an operation to a whole structure rather than just the carrier set is called the &lt;strong&gt;bundled&lt;/strong&gt; approach, and it is mostly used in the &lt;a href=&quot;http://math-comp.github.io/math-comp/&quot; rel=&quot;nofollow&quot;&gt;mathematical components&lt;/a&gt; library which was used in the recent formalization of the Feit-Thompson theorem in Coq.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One big disadvantage of the bundled approach is that, as you noticed, mathematical sets often carry a great deal of structure, e.g. $\mathbb{R}$ is a group, and a ring and a field (as well as a topological space, and a great many other things) and one wants to exploit the knowledge that the additive group operation of $\mathbb{R}$ is the same as the $+$ operation of the ring, and that the order $\leq$ is compatible with them.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The &lt;strong&gt;unbundled&lt;/strong&gt; approach is much more amenable to these kinds of &lt;a href=&quot;https://en.wikipedia.org/wiki/Mixin&quot; rel=&quot;nofollow&quot;&gt;mixins&lt;/a&gt;, which are more severe in mathematics than in CS, as &lt;em&gt;properties&lt;/em&gt; need to be supported in addition to simply &lt;em&gt;operations&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The Mathematical Components team has written about these issues in the 2009 paper &lt;a href=&quot;http://hal.inria.fr/inria-00368403/file/main.pdf&quot; rel=&quot;nofollow&quot;&gt;Packaging Mathematical Structures&lt;/a&gt;, as have we in the context of the &lt;a href=&quot;http://leanprover.github.io/about/&quot; rel=&quot;nofollow&quot;&gt;Lean&lt;/a&gt; interactive theorem prover in the paper &lt;a href=&quot;http://arxiv.org/abs/1505.04324&quot; rel=&quot;nofollow&quot;&gt;Elaboration in Dependent Type Theory&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I feel that the question of a reasonable inference mechanism for disambiguation is still a very open question though.&lt;/p&gt;&#xA;" OwnerUserId="3984" LastActivityDate="2016-01-25T16:46:23.763" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33660" PostTypeId="1" AcceptedAnswerId="33662" CreationDate="2016-01-26T10:26:31.033" Score="9" ViewCount="202" Body="&lt;p&gt;Do bounded-visit nondeterministic linear bounded automata recognize only regular languages?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By a nondeterministic linear bounded automaton (nLBA) I mean a single-tape nondeterministic Turing machine where the input comes &quot;padded&quot; with endmarkers on both ends which can never be overwritten, and so that the head can never move out of the input region, &quot;outside&quot; the endmarkers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The LBA is bounded-visit if there is a number $k$ such that &lt;em&gt;all&lt;/em&gt; runs on &lt;em&gt;all&lt;/em&gt; inputs terminate and visit every cell of the tape at most $k$ times.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does such a machine recognize only regular languages? &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0019995865903992&quot; rel=&quot;nofollow&quot;&gt;Hennie's result&lt;/a&gt; seems to say this only for deterministic machines, if I'm reading it right. Does the result hold for nondeterministic machines too? If yes, a reference would be appreciated.&lt;/p&gt;&#xA;" OwnerUserId="7464" LastEditorUserId="2367" LastEditDate="2016-01-31T23:26:41.937" LastActivityDate="2016-01-31T23:26:41.937" Title="Do bounded-visit nondeterministic linear bounded automata recognize only regular languages?" Tags="&lt;automata-theory&gt;&lt;turing-machines&gt;&lt;regular-language&gt;&lt;space-bounded&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33662" PostTypeId="2" ParentId="33660" CreationDate="2016-01-26T11:16:53.457" Score="7" Body="&lt;p&gt;A bit overkill, but:&#xA;&lt;a href=&quot;http://arxiv.org/abs/cs/9906007&quot;&gt;this paper&lt;/a&gt; shows (among other nice things) that non-deterministic Hennie transducers realize exactly the class of non-deterministic MSO-definable transductions. The latter have regular domains.&lt;/p&gt;&#xA;" OwnerUserId="32683" LastActivityDate="2016-01-26T11:16:53.457" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33664" PostTypeId="1" CreationDate="2016-01-26T20:09:12.873" Score="3" ViewCount="73" Body="&lt;p&gt;Supposing we have two strings $A$ and $B$ that are both edit distance $\tau$ from each other at two different sites is there a communication complexity model where synchronizing such strings have been studied? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Supposing before edit errors assume $A$ and $B$ have been distorted by some additive noise is there a communication complexity model where synchronizing such strings have been studied? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am looking for reasonable upper and lower bound models. I am also looking for references and survey of bounds.&lt;/p&gt;&#xA;" OwnerDisplayName="user34945" LastActivityDate="2016-02-08T03:10:15.303" Title="Communication complexity of edit resilient synchronization" Tags="&lt;communication-complexity&gt;&lt;coding-theory&gt;&lt;survey&gt;&lt;edit-distance&gt;&lt;synchronization&gt;" AnswerCount="0" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33665" PostTypeId="2" ParentId="33652" CreationDate="2016-01-26T20:29:11.733" Score="-1" Body="&lt;p&gt;Here's a more or less trivial example:  Consider the halting problem for Turing machines that are specifically prohibited (by the definition of the computation model) from accessing an oracle.  It is undecidable relative both to no oracle and to a trivial oracle, and yet it is decidable relative to an oracle for the halting problem.  (The problem itself doesn't change relative to an oracle because it can't access the oracle, but the (unrestricted) TM that decides the problem becomes more powerful given the oracle.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are plenty of other examples, too.  Just play with the computation model a little and you can find other similar results.&lt;/p&gt;&#xA;" OwnerUserId="1338" LastActivityDate="2016-01-26T20:29:11.733" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="33669" PostTypeId="1" CreationDate="2016-01-27T12:42:18.687" Score="4" ViewCount="622" Body="&lt;p&gt;I have been learning about SQL and at times it feels like set theory.  A statement like &lt;code&gt;SELECT * FROM myTable&lt;/code&gt; is like a set $\{ x: x \in \text{myTable} \}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A table could be defined as any subset of the Cartesian product.  We could define a table called &lt;code&gt;zipcodes&lt;/code&gt; with a schema &lt;code&gt;city STRING(30), state CHAR(2),  zip INTEGER(5)&lt;/code&gt;  then in set theory we could define the zipcodes stable as:&#xA;$$ zicodes \subseteq \text{cities} \times \text{states} \times \text{zips} \simeq \{a, \dots, Z\}^{30} \times \{a, \dots, Z\} \times \{1, \dots, 10^5\}$$&#xA;So any table is a subset of a cartesian product.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My theory has limitations, since you can't store all of $\mathbb{R}$ as a SQL database (e.g. by cantor diagonalization) since $|\mathbb{R}| &amp;gt; |\mathbb{Z}|$ in cardinality.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In any case, do any theories of SQL exist that compare it to set theory?&lt;/p&gt;&#xA;" OwnerUserId="11012" LastActivityDate="2016-03-25T07:08:12.573" Title="Is there a set theoretic way to look at SQL?" Tags="&lt;db.databases&gt;&lt;set-theory&gt;" AnswerCount="3" CommentCount="2" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="33670" PostTypeId="1" CreationDate="2016-01-27T17:12:55.267" Score="2" ViewCount="195" Body="&lt;p&gt;I have troubles to understand how lower bounds w.r.t. circuit complexity and upper bounds w.r.t. uniform machine models can be used to show completeness results. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, the word problem for regular languages is known to be $NC^1$-complete under $AC^0$-reductions and in ALogTime, which equals DLogTime-uniform $NC^1$. But the latter is not known to equal $NC^1$. Maybe I am misunderstanding something about the $AC^0$-reduction, but I would not think that it is powerful enough to &quot;handle&quot; the non-uniformity? This would be the only explanation I can come up with.&lt;/p&gt;&#xA;" OwnerUserId="37252" LastActivityDate="2016-01-27T17:12:55.267" Title="Circuit complexity lower bounds and uniformity" Tags="&lt;circuit-complexity&gt;&lt;upper-bounds&gt;&lt;complexity&gt;&lt;uniformity&gt;" AnswerCount="0" CommentCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="33671" PostTypeId="1" AcceptedAnswerId="40565" CreationDate="2016-01-27T20:31:44.737" Score="3" ViewCount="784" Body="&lt;p&gt;The topic says it all - I've been seeing this referenced a few times in information theory literature (Feedback in the non-asymptotic regime, Y. Polyanskiy et. al. among others), oftentimes making mentions to an article by a guy called Goppa. I've not seen it defined in any of the referencing articles and the article is nowhere to be found online.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, can anyone tell me what it is? A reasonable guess would be that it relates to information density, i.e. $i(x;y) = \log \frac{p(x,y)}{p(x)p(y)}$, but it's hard to say.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT: There seems to be consensus as to what it SHOULD mean at least, i.e. basically the average information density, i.e. $\sum \log \frac{p(x_i,y_i)}{p(x_i)p(y_i)}$ where we're summing over observations. Not going to accept however as I am looking for a definite statement.&lt;/p&gt;&#xA;" OwnerUserId="31967" LastEditorUserId="31967" LastEditDate="2016-01-29T07:46:56.173" LastActivityDate="2018-04-09T19:46:43.467" Title="What is empirical mutual information?" Tags="&lt;it.information-theory&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33673" PostTypeId="1" CreationDate="2016-01-27T23:52:19.487" Score="1" ViewCount="151" Body="&lt;p&gt;How to efficiently generate a random $n\!\times\!n$ $0$-$1$ matrix of rank $k&amp;lt;n$?&lt;/p&gt;&#xA;" OwnerUserId="37255" LastActivityDate="2016-01-27T23:52:19.487" Title="How to efficiently generate a random 0-1 matrix of a given rank" Tags="&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;linear-algebra&gt;&lt;randomized-algorithms&gt;&lt;matrices&gt;" AnswerCount="0" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="33676" PostTypeId="1" CreationDate="2016-01-28T10:00:10.570" Score="16" ViewCount="362" Body="&lt;p&gt;Given an $m$ by $n$ matrix $M$ with $m \leq n$ and elements from $\{-1,1\}$, let us define:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$S_M = |\{Mx : x \in \{-1,1\}^n\}|.$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I believe that it is NP-hard to compute $S_M$ exactly, by applying the reductions from &lt;a href=&quot;https://cstheory.stackexchange.com/questions/20277/decide-whether-a-matrixs-kernel-contains-any-non-zero-vector-all-of-whose-entri&quot;&gt;Decide whether a matrix&amp;#39;s kernel contains any non-zero vector all of whose entries are -1, 0, or 1&lt;/a&gt; to the following decision problem: does $S_M = 2^n$?&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is it possible to approximate $S_M$ to within a constant factor in&#xA;  polynomial time? If not, what is the best one can do in polynomial&#xA;  time?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;[Cross-posted to &lt;a href=&quot;https://mathoverflow.net/questions/229852/complexity-of-approximating-the-size-of-the-range-of-a-matrix&quot;&gt;https://mathoverflow.net/questions/229852/complexity-of-approximating-the-size-of-the-range-of-a-matrix&lt;/a&gt; ] &lt;/p&gt;&#xA;" OwnerUserId="35041" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.530" LastActivityDate="2016-02-02T07:37:22.947" Title="Complexity of approximating the range of a matrix" Tags="&lt;cc.complexity-theory&gt;&lt;approximation-algorithms&gt;&lt;linear-algebra&gt;" AnswerCount="0" CommentCount="1" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="33677" PostTypeId="1" AcceptedAnswerId="33678" CreationDate="2016-01-28T15:21:50.283" Score="-1" ViewCount="123" Body="&lt;p&gt;In propositional linear temporal logic (LTL) over $\mathbb{N}$, it is decidable whether a formula $\varphi$ is satisfiable from time point 0. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is it known to be un/decidable to check the satisfiability of a formula over all time points? For example, given a formula $\varphi$ and a model $M$, can we check whether $\langle M,i\rangle \models \varphi$ for all $i \in \mathbb{N}$&lt;/p&gt;&#xA;" OwnerUserId="27279" LastActivityDate="2016-01-28T15:26:51.240" Title="Global satisfiability in LTL" Tags="&lt;decidability&gt;&lt;temporal-logic&gt;&lt;linear-temporal-logic&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33678" PostTypeId="2" ParentId="33677" CreationDate="2016-01-28T15:26:51.240" Score="2" Body="&lt;p&gt;The statement $\langle M,i\rangle\models \varphi$ for all  $i\in \mathbb{N}$ is equivalent to $\langle M,0\rangle\models G\varphi$. Thus, you can check the latter.&lt;/p&gt;&#xA;" OwnerUserId="7531" LastActivityDate="2016-01-28T15:26:51.240" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33680" PostTypeId="1" AcceptedAnswerId="36187" CreationDate="2016-01-28T17:32:23.117" Score="5" ViewCount="795" Body="&lt;p&gt;Given a set system $(X,\mathcal S)$, let us say that a subset $\mathcal C\subseteq \mathcal S$ &lt;b&gt;doubly covers&lt;/b&gt; a vertex $x$ in $X$ if $x$ is contained in at least two sets of $\mathcal C$. Let us define the following maximization problem:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;b&gt;MAX k DOUBLE SET COVER&lt;/b&gt;&lt;br&gt;&#xA;INPUT: a set system $(X,\mathcal S)$, an integer $k$&lt;br&gt;&#xA;OUTPUT: a set $\mathcal C\subseteq \mathcal S$, $|\mathcal C| \le k$&lt;br&gt;&#xA;MEASURE: the number of elements of $X$ that are doubly covered by $\mathcal C$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;MAX k DOUBLE SET COVER is a generalization of the problem MAX k SET COVER, where we only require simple coverage instead of double coverage (see the celebrated 1998 paper by Feige, &lt;a href=&quot;http://citeseer.ist.psu.edu/viewdoc/summary?doi=10.1.1.35.8576&quot; rel=&quot;nofollow noreferrer&quot;&gt;&quot;A threshold of $\ln n$ for approximating Set Cover&quot;&lt;/a&gt;), where a $(1-1/e)$-approximation is given).&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;b&gt;My question:&lt;/b&gt; Is there any known nontrivial positive approximation bound for MAX k DOUBLE SET COVER?&#xA;  &lt;br&gt;Note: I am especially interested in the restriction where the set system has maximum intersection one, that is, any two sets in $\mathcal S$ share at most one element (SET COVER for these set systems remains hard to approximate, see &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.27.180&quot; rel=&quot;nofollow noreferrer&quot;&gt;this paper&lt;/a&gt;).&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;As pointed out in the answer to &lt;a href=&quot;https://cstheory.stackexchange.com/q/20282/1930&quot;&gt;this other question&lt;/a&gt;, the problem DENSEST k-SUBGRAPH is a special instance restriction of MAX k DOUBLE SET COVER with set systems with intersection one: an input graph $G$ corresponds to the hypergraph $(E(G),\mathcal S_G)$ where $\mathcal S_G$ has a set $S_v$ for each vertex $v$ of $V(G)$ containing the edges incident to $v$ in $G$.&lt;br&gt;&#xA;DENSEST k-SUBGRAPH has an $O(n^{1/4})$-approximation algorithm (&lt;a href=&quot;http://arxiv.org/abs/1001.2891&quot; rel=&quot;nofollow noreferrer&quot;&gt;this paper&lt;/a&gt;); perhaps this algorithm can been (has been) extended to MAX k DOUBLE SET COVER (for set systems with intersection one)?&lt;br&gt;&#xA;(The complexity of DENSEST k-SUBGRAPH being well-studied and a tough open problem, for MAX k DOUBLE SET COVER I am not expecting anything better than an approximation ratio of the form $O(n^{\delta})$ for some $\delta&amp;lt;1$.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any related observation or reference is welcome. Thanks!&lt;/p&gt;&#xA;" OwnerUserId="1930" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2016-12-05T18:03:32.980" Title="Is there an approximation algorithm for MAX k DOUBLE SET COVER?" Tags="&lt;reference-request&gt;&lt;approximation-algorithms&gt;&lt;set-cover&gt;&lt;hypergraphs&gt;&lt;covering-problems&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="33682" PostTypeId="1" AcceptedAnswerId="33689" CreationDate="2016-01-29T01:50:24.743" Score="12" ViewCount="411" Body="&lt;p&gt;How can I solve the following recurrence relation?&#xA;$$ f(n) = f(n-1) + f(n - \log n)$$&lt;/p&gt;&#xA;" OwnerUserId="20830" LastEditorUserId="32711" LastEditDate="2018-05-06T16:56:05.263" LastActivityDate="2018-05-06T16:56:05.263" Title="Solve the recurrence $f(n) = f(n-1) + f(n - \log n)$" Tags="&lt;recursion&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="33683" PostTypeId="2" ParentId="33671" CreationDate="2016-01-29T02:05:34.290" Score="6" Body="&lt;p&gt;I agree with @usul. I've also never seen the term &lt;em&gt;empirical mutual information&lt;/em&gt; mentioned, but I've seen the term &lt;em&gt;empirical entropy&lt;/em&gt; quite a lot, especially in the compression community. The definition of empirical information is $-\Sigma p_i \log p_i$, where $p_i$ are the empirical probabilities, i.e. the fraction of the time that each value appears in your samples.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To compute empirical mutual information given samples $(x_1,y_1),\ldots,(x_n,y_n)$, I'd just compute the empirical entropy of the $x$'s separately, and of the $y$'s separately, and of the pairs together, and then I'd use the standard equation $I(X:Y)=H(X)+H(Y)-H(XY)$, where all quantities on the right hand side are replaced by their empirical analogue.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I don't know if this is equivalent to the equation that @usul gave, and I don't know if this is the quantity referenced in the articles you're reading, but this seems like the natural interpretation to me.&lt;/p&gt;&#xA;" OwnerUserId="20830" LastActivityDate="2016-01-29T02:05:34.290" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33684" PostTypeId="1" AcceptedAnswerId="33685" CreationDate="2016-01-29T05:54:53.597" Score="3" ViewCount="345" Body="&lt;p&gt;A common approach to approximating SETCOVER is the greedy algorithm (Algorithm 2.2 Vazirani). This algorithm greedily picks the most cost-effective subset at each iteration, removes covered elements, until there are no more uncovered elements.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, one can go from the other end. Start with the full set, and iteratively remove the subset that is least cost-effective, and will not cause any elements to be uncovered, until there are no more such subsets.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In some sense, the second algorithm may be better because there wont be any redundant subsets in the solution. My question is, what is the name of this algorithm? Does it have the same runtime complexity and approximation ratio as the first one? I could not find any mention of this algorithm after a few hours of searching.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Please include unweighted SETCOVER for comparison)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit: I see that the number of steps can in fact be as large as $(n-1)$ where $n$ is the number of subsets.&lt;/p&gt;&#xA;" OwnerUserId="9172" LastEditorUserId="9172" LastEditDate="2016-01-29T19:51:53.677" LastActivityDate="2016-01-29T19:51:53.677" Title="What is the reverse of greedy algorithm for setcover?" Tags="&lt;approximation-algorithms&gt;&lt;set-cover&gt;&lt;greedy-algorithms&gt;" AnswerCount="1" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33685" PostTypeId="2" ParentId="33684" CreationDate="2016-01-29T10:05:03.107" Score="4" Body="&lt;p&gt;The approximation guarantee will be significantly worse.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assume you want to cover the set $U=\{1,\ldots,2n\}$.&#xA;For every $i=1,\ldots,n$ define a set with n+1 elements by $S_i=\{i,n+1,\ldots,2n\}$.&#xA;Assume we want to cover U with the sets&#xA;$C=\{S_1,\ldots,S_n,U\}$, where $c(U)=2, c(S_i)=1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We would now start with $C$ ans see that the effectivity of the sets $S_i$ is &#xA;$$\rho(S_i)=\frac{|S_i|}{c(S_i)}=\frac{n+1}{1}=n+1.$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In contrast to this the effectivity of $U$ is&#xA;$$\rho(U)=\frac{|U|}{c(U)}=\frac{2n}{2}=n&amp;lt;n+1.$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thus the reverse greedy would throw out the less effective $U$ leaving us with a solution of cost $n$ while there is a solution of cost $2$.&lt;/p&gt;&#xA;" OwnerUserId="37275" LastActivityDate="2016-01-29T10:05:03.107" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="33686" PostTypeId="1" AcceptedAnswerId="33688" CreationDate="2016-01-29T13:32:34.393" Score="1" ViewCount="80" Body="&lt;p&gt;In &lt;a href=&quot;http://www.cs.tau.ac.il/~amnon/Papers/HRT.stoc00.pdf&quot; rel=&quot;nofollow&quot;&gt;Normal Subgroup Reconstruction and Quantum Computation Using Group Representations&lt;/a&gt; by Hallgren et al. In this paper it is showed that no hidden subgroup algorithm can distinguish the trivial subgroup from an order-$2$ subgroup consisting of $\frac{n}{2}$ disjoint transpositions when the group is a symmetric group $S_n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;My question:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;How the hardness of the hidden subgroup problem changes when the order of the subgroup grows beyond $2$?&lt;/li&gt;&#xA;&lt;li&gt;Is induction the ideal way to derive it?&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;My effort:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am confused how to approach this problem. Should we find the element in the hidden subgroup with with largest absolute value of its character? If we can determine the value, would it be useful?&lt;/p&gt;&#xA;" OwnerUserId="13408" LastActivityDate="2016-01-29T16:08:58.223" Title="How the hardness of hidden subgroup problem in $S_n$ changes as the order of the subgroup grows?" Tags="&lt;quantum-computing&gt;&lt;linear-algebra&gt;&lt;quantum-information&gt;&lt;physics&gt;&lt;gr.group-theory&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33687" PostTypeId="1" CreationDate="2016-01-29T15:25:25.030" Score="5" ViewCount="157" Body="&lt;p&gt;Let &lt;span class=&quot;math-container&quot;&gt;$d \in \mathbb{N}$&lt;/span&gt; be arbitrary. Let &lt;span class=&quot;math-container&quot;&gt;$\mathsf{AC^0_d}$&lt;/span&gt;-Eval be the following promise problem:&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Input:&lt;/strong&gt; A depth &lt;span class=&quot;math-container&quot;&gt;$d$&lt;/span&gt; formula &lt;span class=&quot;math-container&quot;&gt;$\varphi(x)$&lt;/span&gt; and a binary string &lt;span class=&quot;math-container&quot;&gt;$a$&lt;/span&gt;.&lt;br /&gt;&#xA;&lt;strong&gt;Output:&lt;/strong&gt; &lt;span class=&quot;math-container&quot;&gt;$\varphi(a)$&lt;/span&gt;&lt;/p&gt;&#xA;&lt;p&gt;I am looking for a reference to cite for &lt;span class=&quot;math-container&quot;&gt;$\mathsf{AC^0_d}$&lt;/span&gt;-Eval&#xA;&lt;span class=&quot;math-container&quot;&gt;$\in \mathsf{FO}$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;hr /&gt;&#xA;&lt;h3&gt;Notes&lt;/h3&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$\mathsf{FO} = \mathsf{LH} = \mathsf{AltTime}(O(1), O(\lg n)) = \mathsf{DLogTimeUniform\ AC^0}$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;span class=&quot;math-container&quot;&gt;$\mathsf{AltTime}(a(n), t(n))$&lt;/span&gt; is the class of alternating Tuition machines with at most &lt;span class=&quot;math-container&quot;&gt;$a(n)$&lt;/span&gt; alternations and &lt;span class=&quot;math-container&quot;&gt;$t(n)$&lt;/span&gt; time. Some authors use other notations like ATime, AAltTime,  ATimeAlt, etc. to refer to the class of alternating Turning machines with bounds on alternations and time. For details of the definition of alternating Turing machines with small amount of resources refer to Ruzzo, &amp;quot;On uniform circuit complexity&amp;quot;, 1981.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="186" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2016-01-30T18:52:18.230" Title="The evaluation problem for AC$^0_d$ formulas is in FO" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;lo.logic&gt;&lt;circuit-complexity&gt;&lt;ac0&gt;" AnswerCount="0" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="33688" PostTypeId="2" ParentId="33686" CreationDate="2016-01-29T16:08:58.223" Score="1" Body="&lt;p&gt;At worst you have to check one element of each repeated prime cycle, &lt;a href=&quot;https://oeis.org/A186202&quot; rel=&quot;nofollow&quot;&gt;https://oeis.org/A186202&lt;/a&gt; Smaller than n! but still large.&lt;/p&gt;&#xA;" OwnerUserId="2021" LastActivityDate="2016-01-29T16:08:58.223" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="33689" PostTypeId="2" ParentId="33682" CreationDate="2016-01-29T16:30:41.887" Score="14" Body="&lt;p&gt;@Chandra, @Emil, and myself solved the question in the comments. The solution is $$f(n) = 2^{\Theta(n \log \log n / \log n)} \ .$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To see the lower bound, apply the recurrence definition $\log n$ times, to get $$f(n) = 2f(n - \log n) + f(n - \log n - 1) + \ldots + f(n - 2 \log n) \ge \log n \cdot f(n - \log n) \ .$$&#xA;Use this inequality $n / \log n$ times, and we get that the solution is $2^{\Omega(n \log \log n / \log n)}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To get the upper bound, use the recurrence $\log n$ times and get that $$f(n) \le (\log n + 1) \cdot f(n - \log n) \ . $$&#xA;Use this inequality $n / \log n$ times, and we get that the solution is $2^{O(n \log \log n / \log n)}$.&lt;/p&gt;&#xA;" OwnerUserId="20830" LastActivityDate="2016-01-29T16:30:41.887" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33691" PostTypeId="1" AcceptedAnswerId="33694" CreationDate="2016-01-29T19:14:48.813" Score="6" ViewCount="218" Body="&lt;p&gt;Given a sparse matrix $A$ in $\mathbb{Z}^{n\times n}$, how easily could one check whether a coefficient $\alpha_k$ of the characteristic polynomial $P_A$ of $A$ is equal to $0$ (without the need to compute $P_A$)? Are there any known deterministic/randomized algorithms for this task? &lt;/p&gt;&#xA;" OwnerUserId="37255" LastActivityDate="2016-03-10T13:23:02.987" Title="Checking properties of matrices" Tags="&lt;ds.algorithms&gt;&lt;linear-algebra&gt;&lt;randomized-algorithms&gt;&lt;matrices&gt;&lt;sparse-matrix&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33694" PostTypeId="2" ParentId="33691" CreationDate="2016-01-31T02:17:07.260" Score="4" Body="&lt;p&gt;The Faddeev-Leverrier algorithm seems to be a good start to answer your question, since it reduces the computation of $\alpha_k$ to matrix multiplications and traces. It runs in polynomial time (even in &lt;strong&gt;NC&lt;/strong&gt;) and I guess any efficient treatment of sparse matrix operation carries to this algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Oddly enough the wikipedia page about that exists only in French and German:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://fr.wikipedia.org/wiki/Algorithme_de_Faddeev-Leverrier&quot;&gt;https://fr.wikipedia.org/wiki/Algorithme_de_Faddeev-Leverrier&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I found this article in english explaining the method:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.kurims.kyoto-u.ac.jp/~kyodo/kokyuroku/contents/pdf/1085-14.pdf&quot;&gt;http://www.kurims.kyoto-u.ac.jp/~kyodo/kokyuroku/contents/pdf/1085-14.pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="30505" LastActivityDate="2016-01-31T02:17:07.260" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33695" PostTypeId="2" ParentId="31282" CreationDate="2016-01-31T19:35:06.137" Score="3" Body="&lt;p&gt;I think the following works. I'll use $C(x)$ for the Kolmogorov complexity &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Give $U$ a time bound $t$ (say, some exponential function of the length of the input program), and call the result $U^t$. If a program exceeds the timebound, $U^t$ enters an infinite loop.&lt;/li&gt;&#xA;&lt;li&gt;Let $C^t(x)$ be the shortest program for $x$ on $t$. Note that $C^t$ is computable.&lt;/li&gt;&#xA;&lt;li&gt;Let $T(x)$ return $C^t(x) + 1$, unless this value is equal to $|x|$ in which case return 0. Unless $x$ is the output of the empty program, in which case return 1.&lt;/li&gt;&#xA;&lt;li&gt;Since $C(x) \leq C^t(x)$, $T(x)$ will always be different from $C(x)$. The logic in the previous step takes care of the edge cases.&lt;/li&gt;&#xA;&lt;li&gt;$U^t$ functions as a code for all strings, so it has limit inferior infinity.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="7892" LastActivityDate="2016-01-31T19:35:06.137" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="33696" PostTypeId="1" CreationDate="2016-01-31T19:50:02.810" Score="4" ViewCount="709" Body="&lt;p&gt;I would like to know what the status of the following question is: &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Given query access to a non-decreasing, non-negative submodular function $f\colon 2^{[n]} \to \mathbb{R}$ and a parameter $0 \leq m\leq n$, minimize $f(x)$ subject to the cardinality constraint $\lvert x\rvert \geq m$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I am in particular interested in the query complexity of the problem as a function of $n$ and $m$. Without the cardinality constraint, this &lt;a href=&quot;https://en.wikipedia.org/wiki/Submodular_set_function#Submodular_Minimization&quot; rel=&quot;nofollow&quot;&gt;can be done efficiently in strongly polynomial time&lt;/a&gt; (so a fortiori with polynomial query complexity); without the monotonicity, this becomes NP-Hard (I assume this gives little hope in terms of number of queries?).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But now, does the monotonicity buy us anything? And, if not, what about throwing the assumption that $m=n-o(n)$ &amp;mdash; would that help?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm at a loss about where to look &amp;mdash; any answer, pointer, or reference would be welcome.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; at the end of the day, what I am actually given is &lt;em&gt;approximate&lt;/em&gt; query access to $f$ &amp;mdash; i.e., blackbox access to a randomized algorithm that returns w.h.p. a good additive approximation of $f(x)$ for any point $x$. I'm not sure this fundamentally changes the problem, though, and in any case the exact version seems like a good place to start. (But if the approximate version had been considered in the literature, this would make my day.) &lt;/p&gt;&#xA;" OwnerUserId="13319" LastEditorUserId="40" LastEditDate="2016-01-31T21:52:15.700" LastActivityDate="2016-01-31T21:52:15.700" Title="Minimizing a monotone submodular function under a cardinality constraint" Tags="&lt;reference-request&gt;&lt;submodularity&gt;&lt;minimization&gt;" AnswerCount="0" CommentCount="3" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="33697" PostTypeId="1" AcceptedAnswerId="33703" CreationDate="2016-02-01T15:37:58.843" Score="4" ViewCount="363" Body="&lt;p&gt;Let $G = (V, E)$ be an undirected connected graph, which is represented by an adjacency list. A vertex is called a &lt;em&gt;cut vertex&lt;/em&gt; if removing this vertex with its incident edges from $G$ makes the graph disconnected. Finding a cut-vertex can be done in linear time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is as follows: is it possible to find a non-cut vertex in $O(|V|)$ time?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My idea is to find a spanning tree of $G$, since all leaves of the spanning tree are non-cut vertices. However, I cannot find a spanning tree in $O(|V|)$ time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Although I can find a cycle in $O(V)$ time, finding a non-cut vertex in a cycle seems not obvious to me.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am wondering whether this problem has been solved, and I would appreciate any pointers provided by anyone.&lt;/p&gt;&#xA;" OwnerUserId="28542" LastEditorUserId="28542" LastEditDate="2016-02-02T00:49:12.503" LastActivityDate="2016-02-02T06:58:40.707" Title="Is it possible to find a non-cut vertex in O(|V|) time?" Tags="&lt;graph-algorithms&gt;" AnswerCount="1" CommentCount="6" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="33698" PostTypeId="1" AcceptedAnswerId="33700" CreationDate="2016-02-01T16:08:55.367" Score="4" ViewCount="187" Body="&lt;p&gt;It's well known that in the general case, the boolean MQ problem:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;given $(f_1, \ldots, f_n) \in \mathbb{F}_2[x_1, \ldots, x_m]$ with $\deg(f_i) = 2$, can we find a solution $\vec{y}: f_i(\vec{y}) = 0$,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;is NP-hard.  I was wondering if there was an efficient algorithm for the special case in which each $f_i$ is the product of linear functions?&lt;/p&gt;&#xA;" OwnerUserId="37318" LastActivityDate="2016-02-01T22:03:11.580" Title="A special case of the boolean multivariate quadratic polynomial problem" Tags="&lt;cc.complexity-theory&gt;&lt;polynomials&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33700" PostTypeId="2" ParentId="33698" CreationDate="2016-02-01T22:03:11.580" Score="5" Body="&lt;p&gt;This case is still NP-hard. Suppose we have an instance of 3-SAT:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$F=C_1\wedge\ldots\wedge C_n; C_i=L_{i,1}\vee L_{i,2}\vee L_{i,3}$,&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where each literal $L_{i,j}$ is either $V$ or $\neg V$ for some boolean variable $V\in Var$. We can translate this into an equivalent system of equations $f_{i,j}=0$ for $i=1,\dots,n$ and $1\le j\le 4$, where each $f_{i,j}$ is a product of two linear factors, as follows.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Introduce a variable $V'$ for each $V\in Var$, variables $c_i,d_i$ for each clause $C_i$, and an auxiliary variable $z$. For all $i$ and each $1\le j\le 3$, let $t_{i,j}$ be $V'$ if $L_{i,j}=V$, and $(1-V')$ if $L_{i,j}=\neg V$. Then the fact that clause $C_i$ is supposed to be satisfied by a valuation of $Var$ can be split into the conditions:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$(1-c_i)z = (1-c_i)(1-z) = 0$, forcing the value of $c_i$ to be $1$;&lt;/li&gt;&#xA;&lt;li&gt;$(c_i-d_i)(c_i-t_{i,1}) = 0$, forcing $c_i$ to equal $d_i$ or $t_{i,1}$; and&lt;/li&gt;&#xA;&lt;li&gt;$(d_i-t_{i,2})(d_i-t_{i,3})=0$, forcing $d_i$ to equal $t_{i,2}$ or $t_{i,3}$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Together these force at least one of the $t_{i,j}$ to be $1$, corresponding to one of the $L_{i,j}$ being true. Combining these for all $i$ gives a system of equations equivalent to $F$.&lt;/p&gt;&#xA;" OwnerUserId="5183" LastActivityDate="2016-02-01T22:03:11.580" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33701" PostTypeId="1" CreationDate="2016-02-01T22:38:57.883" Score="1" ViewCount="104" Body="&lt;p&gt;For a project I'm working on, it would seem useful to have a normal form for&#xA;deterministic (sub)sequential transducers in which the set of states, $Q$, is&#xA;partitioned into states, $r \in Q_R$, that read a letter from the input tape (but do&#xA;not write any output) and states, $w \in Q_W$, that write a letter to the output&#xA;tape (but do not read any input).  The goal is to have (inputs and) outputs occur one letter at a time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In some proofs that I've seen, a similar kind of normal form is used for&#xA;deterministic pushdown automata.  What I'm looking for is papers that use this kind&#xA;of normal form in the context of (sub)sequential transducers.  Does anyone know of&#xA;any references?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Specifically, in the normal form that I'm thinking about, there would be two transition functions, one for each part of the partition $Q = Q_R \cup Q_W$:&#xA;$$\begin{eqnarray}&#xA;\delta_R &amp;amp;:&amp;amp; Q_R \times \Sigma \to Q \\&#xA;\delta_W &amp;amp;:&amp;amp; Q_W \to \Gamma \times Q \\&#xA;\end{eqnarray}$$&#xA;To enforce finite output, each cycle in the state-transition graph must contain at least one state from $Q_R$.  (For &lt;em&gt;sub&lt;/em&gt;sequential transducers, I think that one needs another class of &quot;terminal write states&quot; that can be entered from a &quot;read state&quot; only when the input has been completely read.)&lt;/p&gt;&#xA;" OwnerUserId="15804" LastActivityDate="2016-02-02T14:36:26.260" Title="Normal form for deterministic (sub)sequential transducers with letter-by-letter outputs" Tags="&lt;reference-request&gt;&lt;automata-theory&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33703" PostTypeId="2" ParentId="33697" CreationDate="2016-02-02T06:58:40.707" Score="9" Body="&lt;p&gt;It's not possible for a deterministic algorithm: an adversary can always either fool the algorithm or make it look at $\Omega(n^2)$ entries of the adjacency lists.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $H$ be a disjoint union of two $n/4$-regular complete bipartite graphs. The adversary will remove a path of three vertices (not revealed to the algorithm) from each of the two components of $H$, and then replace these four removed edges by a different four edges that reconnect the two components, preserving $n/4$-regularity. It can do this in either of two ways:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Swapping the middle vertices of each path results in a graph $H'$ with no non-cut vertices.&lt;/li&gt;&#xA;&lt;li&gt;Replacing one path by an edge connecting its endpoints, and splicing its former middle vertex into the interior of the other path, results in a graph $H''$ with one cut vertex. The cut vertex can be made to be either of the two former middle vertices.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;However, by employing the strategy of making the removed path be in the last place the deterministic algorithm will look for it, it can force the algorithm to either not find the path (and not be able to distinguiish $H'$ from $H''$) or examine $\Omega(n^2)$ edges of the graph. In particular, as long as it is possible to answer a query (what is the $i$th entry of the adjacency list for vertex $v$) consistently with $H$, the adversary does so. Once the adversary is forced to choose the remaining path edges, it makes this choice arbitrarily, along with the choice of $H'$ or $H''$, and then answers the remaining queries according to the choice it made.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In order to force the adversary to choose between $H'$ or $H''$, the deterministic algorithm must see a set of edges that covers all two-edge paths on at least one of the two components on $H$. But each component of $H$ has $\Omega(n^2)$ disjoint two-edge paths, so the deterministic algorithm must see $\Omega(n^2)$ edges before it covers them all. And if it doesn't force the adversary to choose, then it is unable to distinguish graphs that have a cut vertex from those that don't, or to tell which vertex is the cut vertex.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2016-02-02T06:58:40.707" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33704" PostTypeId="1" CreationDate="2016-02-02T08:03:15.140" Score="4" ViewCount="243" Body="&lt;p&gt;While studying &lt;span class=&quot;math-container&quot;&gt;${\bf NP}$&lt;/span&gt; complete problems we have from Ladners' theorem - if &lt;span class=&quot;math-container&quot;&gt;${\bf P}$&lt;/span&gt; &lt;span class=&quot;math-container&quot;&gt;$\neq$&lt;/span&gt; &lt;span class=&quot;math-container&quot;&gt;${\bf NP}$&lt;/span&gt;-there are &lt;span class=&quot;math-container&quot;&gt;${\bf NP}$&lt;/span&gt; problems not in the class &lt;span class=&quot;math-container&quot;&gt;${\bf P}$&lt;/span&gt; nor &lt;span class=&quot;math-container&quot;&gt;${\bf NP}$&lt;/span&gt;-complete.  Ladners' theorem is well known in the setting of &lt;span class=&quot;math-container&quot;&gt;${\bf NP}$&lt;/span&gt; completeness. The analog in the setting of real computation using the Blum-Shub-Smale model, that  &lt;span class=&quot;math-container&quot;&gt;${\bf P}$$_{\mathbb{R}}$&lt;/span&gt; &lt;span class=&quot;math-container&quot;&gt;$\neq$&lt;/span&gt; &lt;span class=&quot;math-container&quot;&gt;${\bf NP}$$_{\mathbb{R}} \Rightarrow$&lt;/span&gt; there are &lt;span class=&quot;math-container&quot;&gt;${\bf NP}$$_{\mathbb{R}}$&lt;/span&gt; problems not in the class &lt;span class=&quot;math-container&quot;&gt;${\bf P}$$_{\mathbb{R}}$&lt;/span&gt; nor are they &lt;span class=&quot;math-container&quot;&gt;${\bf NP}_{\mathbb{R}}$&lt;/span&gt; complete should hold. So it is natural to think of &lt;span class=&quot;math-container&quot;&gt;${\bf NP}$&lt;/span&gt; intermediate problems over reals, or &lt;span class=&quot;math-container&quot;&gt;${\bf NPI}$$_{\mathbb{R}}$&lt;/span&gt; in the context of ladners theorem holding over reals (using the Blum Shub Smale model). Or an analogue of Ladners theorem over the reals(or other algebraic structures). Are there any candidate problems for this class &lt;span class=&quot;math-container&quot;&gt;${\bf NPI}$$_{\mathbb{R}}$&lt;/span&gt;. Is it natural to think of the class &lt;span class=&quot;math-container&quot;&gt;${\bf NPI}$$_{\mathbb{R}}$&lt;/span&gt; - even to think of problems in this class of &lt;span class=&quot;math-container&quot;&gt;${\bf NPI}$$_{\mathbb{R}}$&lt;/span&gt;, or even any known?&lt;/p&gt;&#xA;" OwnerUserId="27305" LastEditorUserId="27305" LastEditDate="2021-01-24T05:39:33.033" LastActivityDate="2021-01-24T05:39:33.033" Title="NP Intermediate problems over Reals" Tags="&lt;cc.complexity-theory&gt;&lt;computing-over-reals&gt;" AnswerCount="0" CommentCount="5" ContentLicense="CC BY-SA 4.0" />
  <row Id="33705" PostTypeId="1" CreationDate="2016-02-02T11:39:56.650" Score="3" ViewCount="159" Body="&lt;p&gt;Consider the problem of needing to support an $n$ integers array structure with two operations:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Set(k,v) - set the $k$'th integer to value $v$ (i.e. $A[k]=v$).&lt;/li&gt;&#xA;&lt;li&gt;Median() - return the median value of the array.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Suppose that the median functionality has to run in $O(1)$ time.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;What is the complexity of the &lt;code&gt;set&lt;/code&gt; operation&lt;/strong&gt;?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;You may assume that the array is initialized to zeros, and you can preprocessing to initialize any data structure you want.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Implementing &lt;code&gt;set&lt;/code&gt; in $O(\log n)$ time is straightforward. &#xA;I'm specifically interested in showing a lower bound.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;The special case in which the &lt;code&gt;set&lt;/code&gt; function may only increase the value of an element is also of interest.&lt;/p&gt;&#xA;" OwnerUserId="21001" LastEditorUserId="21001" LastEditDate="2016-02-02T12:08:14.843" LastActivityDate="2016-02-02T12:08:14.843" Title="Finding median in a changing array" Tags="&lt;ds.algorithms&gt;&lt;lower-bounds&gt;&lt;data-streams&gt;&lt;streaming-algorithms&gt;" AnswerCount="0" CommentCount="10" ContentLicense="CC BY-SA 3.0" />
  <row Id="33708" PostTypeId="2" ParentId="33701" CreationDate="2016-02-02T14:36:26.260" Score="2" Body="&lt;p&gt;I'm not sure what your question is. Tell me if I am mistaken.&#xA;From what I understand:&#xA;Given a subsequential transducer, you can easily transform it into your canonical form by replacing every transition $(q,a)\to (p,v)$ into a transition reading $a$ and producing nothing followed by a sequence of transitions reading nothing and producing $v$ one letter at a time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, given such a transducer with $\epsilon$ transitions where all loop read some letter, you can compress the finite $\epsilon$-paths to get to a classical sequential transducer. &lt;/p&gt;&#xA;" OwnerUserId="37332" LastActivityDate="2016-02-02T14:36:26.260" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="33709" PostTypeId="1" CreationDate="2016-02-02T20:21:53.577" Score="4" ViewCount="269" Body="&lt;blockquote&gt;&#xA;Suppose I give you $n$ labelled coins $C_1, \cdots, C_n$ of unknown bias. I promise you that&#xA;&lt;ul&gt;&#xA;&lt;li&gt;the coins have been sorted by bias (i.e. $\forall i~~\mathbb{P}[C_i=1]\leq\mathbb{P}[C_{i+1}=1]$) and&lt;/li&gt;&#xA;&lt;li&gt;at least one of the coins is unbiased (i.e. $\exists i~~\mathbb{P}[C_i=1]=\frac12$).&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;Your task is to find an approximately unbiased coin. That is, you must find $i_*$ such that $\mathbb{P}[C_{i_*}=1] \in [\frac13,\frac23]$. To do this, you should flip as few coins as possible.&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Here is an algorithm that completes the task by flipping $O(\log n \cdot \log \log n)$ coins: Perform a binary search over the coins - this takes $O(\log n)$ steps. For each step, flip the coin $O(\log \log n)$ times so that the bias of the coin can be approximated to within $0.1$ with probability at least $1-1/O(\log n)$. A union bound shows that this will be correct with high probabiliy.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can we do this using $O(\log n)$ coin flips?&lt;/p&gt;&#xA;" OwnerUserId="2022" LastActivityDate="2016-02-02T21:39:17.497" Title="Binary Search with Errors" Tags="&lt;search-problem&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="33710" PostTypeId="2" ParentId="33709" CreationDate="2016-02-02T21:39:17.497" Score="1" Body="&lt;p&gt;A good old trick is that it's sufficient to give an algorithm that achieves this with $O(\log n)$ &lt;em&gt;expected number&lt;/em&gt; of coin flips and $99\%$ probability, as if we are exceeding the expected running time a lot, we can just output anything, using Markov's inequality this won't ruin our error much. And this we can do as follows.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Always keep an &lt;em&gt;active&lt;/em&gt; interval that is supposed to contain an approximately unbiased coin (but might not). Then repeat the following.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1, Halve the size of the active interval by flipping its middle coin a couple of times. Update the active interval (if the middle coin showed no bias, then arbitrarily).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2, Flip both ends of the active interval a couple of times to check that we made no errors. If an error is detected, then go back to the previous active interval.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This way, with a constant number of coin tosses we halve the size of our active interval with high probability and double it with small probability. Thus, in $O(\log n)$ expected time, we reach size $1$, which means one coin. We can check this coin with $\log n$ further coin tosses (though I'm not sure if this is necessary).&lt;/p&gt;&#xA;" OwnerUserId="419" LastActivityDate="2016-02-02T21:39:17.497" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="33711" PostTypeId="2" ParentId="33567" CreationDate="2016-02-03T04:57:12.373" Score="2" Body="&lt;p&gt;I'm going to argue that the answer is probably &quot;Yes&quot;, i.e.,&#xA;&lt;br&gt;&#xA;there probably are FNP problems that are NP-hard but not FNP-hard.&#xA;&lt;br&gt;&lt;br&gt;&lt;br&gt;&#xA;Warmup: ​ With respect to polynomially-closed reduction classes that can't solve all of FNPSPACE, FNPSPACE-hardness is different from NPSPACE-hardness.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Proof: ​ ​ ​ ​ ​ ​ ​ Let R be the relation given by xRy if and only if [x$\in$QBF$\hspace{.02 in}$ and y is the empty string].&#xA;&lt;br&gt;&#xA;QBF &lt;a href=&quot;https://en.wikipedia.org/wiki/True_quantified_Boolean_formula#Solving&quot; rel=&quot;nofollow&quot;&gt;$\in$&lt;/a&gt; PSPACE-complete &lt;a href=&quot;https://en.wikipedia.org/wiki/Savitch%27s_theorem&quot; rel=&quot;nofollow&quot;&gt;$=$&lt;/a&gt; NPSPACE-complete , ​ so R is in FNPSPACE and NPSPACE-hard.&#xA;&lt;br&gt;&#xA;Let f and g form an arbitrary reduction from an arbitrary&#xA;&lt;br&gt;&#xA;relation S to R, and let x be an arbitrary instance of S.&#xA;&lt;br&gt;&#xA;x has an S-witness ​ $\implies$ ​ f(x) has an R-witness ​ $\implies$&#xA;&lt;br&gt;&#xA;f(x) R empty_string ​ $\implies$ ​ x S g(x,empty_string) ​ .&#xA;&lt;br&gt;&#xA;In other words, an arbitrary reduction from a search problem to R can be used&#xA;&lt;br&gt;&#xA;to solve the search problem. ​ ​ ​ Therefore R is not FNPSPACE-hard with respect&#xA;&lt;br&gt;&#xA;to polynomially-closed reduction classes that can't solve all of FNPSPACE.&#xA;&lt;br&gt;&lt;br&gt;&lt;br&gt;&#xA;Cryptographic Assumptions and sub-P reductions:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For each positive integer j, let R&lt;sub&gt;$\hspace{.02 in}$j&lt;/sub&gt; be the relation given by ​ x R (C,v) ​ if and only if C is a &lt;a href=&quot;https://en.wikipedia.org/wiki/Boolean_circuit&quot; rel=&quot;nofollow&quot;&gt;circuit&lt;/a&gt;&#xA;&lt;br&gt;&#xA;and x is a &lt;a href=&quot;https://en.wikipedia.org/wiki/Conjunctive_normal_form&quot; rel=&quot;nofollow&quot;&gt;CNF&lt;/a&gt;-&lt;a href=&quot;https://en.wikipedia.org/wiki/Boolean_satisfiability_problem&quot; rel=&quot;nofollow&quot;&gt;SAT&lt;/a&gt; instace and ​ size(C) ≤ (number_of_variables_in_(x))&lt;sup&gt;$\hspace{.03 in}$j&lt;/sup&gt; ​ and C(v) &lt;a href=&quot;https://en.wikipedia.org/wiki/Satisfiability&quot; rel=&quot;nofollow&quot;&gt;satisfies&lt;/a&gt; x. ​ ​ ​ Obviously, each R&lt;sub&gt;$\hspace{.02 in}$j&lt;/sub&gt; is in FNP and NP-hard. ​ ​ ​ If they are all FNP-hard under non-uniform &lt;a href=&quot;https://en.wikipedia.org/wiki/NC_%28complexity%29&quot; rel=&quot;nofollow&quot;&gt;parallelizable&lt;/a&gt; reductions, then there can't even be a version of &lt;a href=&quot;http://people.csail.mit.edu/rivest/RivestShamirWagner-timelock.pdf&quot; rel=&quot;nofollow&quot;&gt;time-lock puzzles&lt;/a&gt; against&#xA;&lt;br&gt;&#xA;non-uniform adversaries that is otherwise very weak, namely, ones in which [the size of the&#xA;&lt;br&gt;&#xA;puzzle can be polynomial in the time for an honest user to solve it] and [there is no restriction&#xA;&lt;br&gt;&#xA;on the resources needed to create the puzzle] and [security only needs to hold infinitely often]. ​ Furthermore, if there are efficiently-computable functions that are &lt;a href=&quot;https://en.wikipedia.org/wiki/One-way_function&quot; rel=&quot;nofollow&quot;&gt;one-way&lt;/a&gt; against probabilistic&#xA;&lt;br&gt;&#xA;parallel adversaries then one can replace both instances of &quot;non-uniform&quot; with &quot;probabilistic&quot;. &#xA;&lt;br&gt;&lt;br&gt;&lt;br&gt;&#xA;Probabilistic Polynomial-Time Reductions and handwaving:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(This is essentially tautological, but) If all NP-hard FNP problems are FNP-hard, then all&#xA;&lt;br&gt;&#xA;&lt;a href=&quot;http://www.cs.cornell.edu/~sabhar/publications/iaspcmi-proofcomplexity00.pdf&quot; rel=&quot;nofollow&quot;&gt;proof systems&lt;/a&gt; for SAT are &quot;somewhat constructive&quot;, in the sense that any original instance can&#xA;&lt;br&gt;&#xA;be efficiently turned an equisatisfiable instance so that one will be able to go from any proof of&#xA;&lt;br&gt;&#xA;satisfiability of the equisatisfiable instance to a satisfying assignment of the original instance.&#xA;&lt;br&gt;&#xA;&lt;a href=&quot;http://web.cs.ucla.edu/~rafail/PUBLIC/73.pdf&quot; rel=&quot;nofollow&quot;&gt;Non-interactive zaps&lt;/a&gt; are certainly not obviously &quot;somewhat constructive&quot; in that sense.&lt;br&gt;&lt;br&gt;&lt;/p&gt;&#xA;" OwnerDisplayName="user6973" LastEditorDisplayName="user6973" LastEditDate="2016-02-05T15:53:30.040" LastActivityDate="2016-02-05T15:53:30.040" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33712" PostTypeId="1" AcceptedAnswerId="33823" CreationDate="2016-02-03T05:56:36.140" Score="0" ViewCount="515" Body="&lt;p&gt;Assume we have $n$ fixed size objects with sizes $O_1$ to $O_n$. Also, assume we have $m$ bins with size $a \times B_1$ to $a \times B_m$ in which $a$ is a real number and $a\ge1$. We want to put these objects into bins. If in the process of putting an object to bins, there is a step where there is not enough room in any of the bins to put the object, we can increase $a$ so that we have larger buckets. Starting at $a=1$, the problem is to find the smallest $a$ where all objects can go to bins. Obviously, if $a$ is very large, we can put all objects in one bin.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Is this similar to a known problem in computer science? &lt;/li&gt;&#xA;&lt;li&gt;Can this be modeled using some variation of bin-packing? &lt;/li&gt;&#xA;&lt;li&gt;Can you suggest a heuristic? &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Thank you.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;EDIT:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I implemented the following heuristic and also the optimal version using the integer programming. The average ratio of $a_{heuristic}/a_{optimal}$ is 1.02 (worst case was 1.23) over 200 runs of the simulation for 20 objects, varying number of bins and randomly generated ball and bin sizes. The heuristic is as follows:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$(1)$ Sort objects from largest to smallest using a priority queue. Set $a = 1$. Assume $U_i$ is the total size of all objects in $B_i$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$(2)$ Remove the biggest object and call it $O$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$(3)$ For all bins, find the $1 \le i \le m$ for which $(U_i+O)/B_i$ is the least. Add $O$ to $B_i$ and $U_i = U_i + O$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$(4)$ $a = max(a, U_i/B_i)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$(5)$ Goto $(2)$ if there are more balls.&lt;/p&gt;&#xA;" OwnerUserId="37337" LastEditorUserId="37337" LastEditDate="2016-02-14T08:15:49.977" LastActivityDate="2016-02-15T15:50:53.790" Title="Packing $n$ objects into $m$ bins whose size is variable" Tags="&lt;polynomial-time&gt;&lt;heuristics&gt;&lt;packing&gt;&lt;greedy-algorithms&gt;" AnswerCount="2" CommentCount="12" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="33717" PostTypeId="2" ParentId="33712" CreationDate="2016-02-03T20:55:47.103" Score="1" Body="&lt;p&gt;This seems similar to bin-packing problem.&#xA;I set $a=1$ and try to solve the bin-packing problem of putting objects of size $O_1$ to $O_n$. If I cannot find the solution then I increase $a$ with value $\delta &amp;gt;0$ and try again. If it doesn't work I increase $a$ by $2\delta$ and so on. &lt;/p&gt;&#xA;" OwnerUserId="10188" LastActivityDate="2016-02-03T20:55:47.103" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="33718" PostTypeId="1" AcceptedAnswerId="33746" CreationDate="2016-02-04T00:06:57.397" Score="-4" ViewCount="270" Body="&lt;p&gt;I need to prove that &lt;strong&gt;decision&lt;/strong&gt; problem:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;for a given set of positive integers $a_1, ..., a_n$, does it exist a subset that sums up to a value within interval $[\frac{1}{2}\sum a_i; \frac{1}{2}\sum a_i+max\{a_i\}] $?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;is &lt;strong&gt;NP&lt;/strong&gt;-hard.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This looks more general than canonical subset sum problem, though reminds me of a binary knapsack. Thoughts?&lt;/p&gt;&#xA;" OwnerUserId="37350" LastActivityDate="2016-02-07T09:47:33.147" Title="NP-completeness of one generalized subset sum problem (target sum belongs to interval)" Tags="&lt;np-hardness&gt;&lt;proof-complexity&gt;&lt;subset-sum&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="1" ClosedDate="2016-02-18T04:19:46.177" ContentLicense="CC BY-SA 3.0" />
  <row Id="33719" PostTypeId="1" AcceptedAnswerId="39149" CreationDate="2016-02-04T00:49:50.617" Score="5" ViewCount="343" Body="&lt;p&gt;The lambda calculus is an untyped language that is often extended with logical frameworks such as the vertices of the λ-cube. Is there something similar to it, but for interaction nets? What about interaction combinators?&lt;/p&gt;&#xA;" OwnerUserId="17388" LastActivityDate="2018-05-18T15:30:12.423" Title="Is there a &quot;lambda cube&quot; for interaction nets?" Tags="&lt;type-theory&gt;&lt;lambda-calculus&gt;&lt;type-systems&gt;&lt;interaction-nets&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33720" PostTypeId="1" AcceptedAnswerId="33727" CreationDate="2016-02-04T05:28:35.230" Score="1" ViewCount="130" Body="&lt;p&gt;It is known that the &quot;unbounded quantum fanout operation&quot; is very powerful: (See, for example, Hoyer et al. : &lt;a href=&quot;http://theoryofcomputing.org/articles/v001a005/v001a005.pdf&quot; rel=&quot;nofollow&quot;&gt;http://theoryofcomputing.org/articles/v001a005/v001a005.pdf&lt;/a&gt;). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In particular, it is known that many operations that cannot be done in constant depth classical circuits can be done in constant depth quantum cicuits that include the quantum fan-out operation.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, I can't seem to find any discussion as to whether &quot;constant depth&quot; fanout is possible physically.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In classical computation, it seems fairly reasonable to consider &quot;fan-out&quot; to be an operation that does not add to the &quot;depth&quot; of a circuit: such a computational model models the latency of actual physical circuits of reasonable size.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For a fair comparison, unbounded quantum fanout would need to be achievable using some kind of experiment with a latency that scales as a constant with the size of the fanout (if it scales even logarithmically, then that kind of defeats the whole advantage of the quantum fanout operation).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there any experimental evidence to suggest whether such constant-latency quantum fanout unitary operations are feasible?&lt;/p&gt;&#xA;" OwnerUserId="34313" LastActivityDate="2016-02-04T17:53:05.247" Title="Is unbounded quantum fanout operation experimentally feasible?" Tags="&lt;quantum-computing&gt;&lt;circuit-complexity&gt;&lt;circuit-depth&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33721" PostTypeId="1" AcceptedAnswerId="33722" CreationDate="2016-02-04T08:08:19.310" Score="4" ViewCount="1175" Body="&lt;p&gt;I was wondering is there any relationship between degree of vertex and size of dominating set. For example, if I know the number of vertices is $n$, and I could know each vertex in the graph has degree $\ge n^k \,(k&amp;lt; 1)$, is it possible to bound the size of dominating set, i.e $O(n^k)$? Could anyone point me out any materials/papers/books related to this problem?&lt;/p&gt;&#xA;" OwnerUserId="37352" LastEditorUserId="37352" LastEditDate="2016-02-04T08:13:25.783" LastActivityDate="2016-02-05T22:38:19.483" Title="The relationship between degree of vertex and size of dominating set" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;co.combinatorics&gt;&lt;randomized-algorithms&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33722" PostTypeId="2" ParentId="33721" CreationDate="2016-02-04T09:15:36.583" Score="6" Body="&lt;p&gt;If all vertices have degree at least $d$ then there is always a dominating set of size $\frac{n \ln n}{d} + 1$. Pick a random set $S$ of size $\frac{n \ln n}{d}$. For a particular vertex $v$, the probability that $v$ is not dominated by $S$ is upper bounded by $(1 - \frac{d}{n})^{\frac{n\ln n}{d}} \leq e^{-\ln n} = \frac{1}{n}$. Introduce an indicator variable for every vertex that is $1$ if it is not dominated by $S$ and $0$ otherwise. The number of undominated vertices is the sum of indicator variables, so the expected number of undominated vertices is at most $n \cdot \frac{1}{n} = 1$. Hence there exists a set of size $\frac{n \ln n}{d}$ that leaves at most one vertex undominated, add this vertex to the dominating set.    &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For your question it means that if all vertices have degree at least $n^k$ then there is a dominating set of size $n^{1-k}\log n + 1$. Would be nice to see if one can get rid of the $\log n$ or not. &lt;/p&gt;&#xA;" OwnerUserId="27464" LastActivityDate="2016-02-04T09:15:36.583" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="33723" PostTypeId="1" AcceptedAnswerId="33784" CreationDate="2016-02-04T10:07:42.643" Score="7" ViewCount="142" Body="&lt;p&gt;A problem instance is a finite list of 4-tuples $(\alpha_1, u_1, v_1, \beta_1), ..., (\alpha_N, u_N, v_N, \beta_N)$, where $\alpha_i, \beta_i \in X$ come from a finite set, and each $u_i,v_i \in A^*$ are words over a finite alphabet $A$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A solution to the problem is a sequence of indices $i_1, i_2, ..., i_K$ such that&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;For all $1 \leq k \leq K-1$, we have $\alpha_{i_k} = \beta_{i_{k+1}}$.&lt;/li&gt;&#xA;&lt;li&gt;The words $u' = u_{i_1} u_{i_2} \cdots u_{i_K}$ and $v' = v_{i_1} v_{i_2} \cdots v_{i_K}$ are &lt;strong&gt;not&lt;/strong&gt; prefixes of each other&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;That is, an instance is like an instance of PCP, but with restrictions on how &quot;dominoes&quot; can be composed, and instead of finding strings that are equal, we need strings that differ by at least one symbol.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is not immediately obvious to me how to decide this problem, and I have not been able to find an example of it in the literature.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt; Origin of the problem&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a finite state transducer over input/output alphabets $\Sigma, \Gamma$ and with initial state $p^{-}$, two states $q_1, q_2$ are said to be &lt;em&gt;twinned&lt;/em&gt; iff for all $u,v \in \Sigma^*$ and $y_1,y_2,z_1,z_2 \in \Gamma^*$ if&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$ p^{-} \stackrel{u/y_1}{\to} q_1 \stackrel{v/z_1}{\to} q_1 \text{ and } p^{-} \stackrel{u/y_2}{\to} q_2 \stackrel{v/z_2}{\to} q_2$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;then either $z_1=z_2=\varepsilon$ &lt;strong&gt;or&lt;/strong&gt; $|z_1|=|z_2| \neq 0$ and one of $y_1, y_2$ is a prefix of the other. [Weber &amp;amp; Klemm, Economy of description for single-valued transducers, 1995]. This is equivalent to the &quot;algebraic&quot; definition given in [Berstel, Transductions and Context-free languages, 1979].&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are effective procedures for deciding whether &lt;em&gt;all&lt;/em&gt; states are twinned or not. I am interested in computing all pairs of states that are not twinned. Applying the method of squaring transducers [Beal, Carton, Prieur, Sakarovitch, 2000], this reduces to deciding the problem in my question for all pairs of states.&lt;/p&gt;&#xA;" OwnerUserId="29249" LastEditorUserId="29249" LastEditDate="2016-02-07T16:44:41.240" LastActivityDate="2016-02-10T00:22:20.707" Title="A word anticorrespondence problem" Tags="&lt;reference-request&gt;&lt;fl.formal-languages&gt;&lt;computability&gt;&lt;automata-theory&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33725" PostTypeId="2" ParentId="33719" CreationDate="2016-02-04T12:14:04.140" Score="4" Body="&lt;p&gt;Like Martin said, nothing like an equivalent for the $\lambda$-cube has ever been developed for interaction nets or interaction combinators.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The only work that considers types for interaction nets is Lafont's original paper [1].  (My own CONCUR 2005 paper also considers types but adds nothing new to what Lafont did).  It is an extremely simple system: only basic types plus a polarity, no type constructors at all.  Nevertheless, it is enough to obtain a desirable safety property: a well typed net cannot reduce to a net containing a &quot;clash&quot; (an active pair which does not have a corresponding reduction rule and is therefore &quot;stuck&quot;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course, since multiplicative linear logic proof nets are a particular system of interaction nets, it is defintely possible to equip certain systems of interaction nets with more complex types, using non-trivial type constructors.  But nothing has ever been studied, mostly because the interest of such an endevour is unclear.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] Yves Lafont, Interaction Nets.  In &lt;em&gt;Proceedings of POPL&lt;/em&gt;, 1990.&lt;/p&gt;&#xA;" OwnerUserId="20716" LastActivityDate="2016-02-04T12:14:04.140" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="33726" PostTypeId="1" CreationDate="2016-02-04T15:03:22.530" Score="6" ViewCount="163" Body="&lt;p&gt;Weighted graphs such that if $x$ and $y$ are nodes in the graph, and $p$ and $p'$ are two paths in the graph between $x$ and $y$, then the weight of $p$ equals the weight of $p'$.&lt;/p&gt;&#xA;" OwnerUserId="37362" LastActivityDate="2016-02-04T15:03:22.530" Title="Is there a special name for the following type of graphs?" Tags="&lt;graph-theory&gt;" AnswerCount="0" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="33727" PostTypeId="2" ParentId="33720" CreationDate="2016-02-04T17:53:05.247" Score="2" Body="&lt;p&gt;There are two way to see your question :&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Is unbounded fanout a reasonable approximation for realistic (quantum) circuits ?&lt;/li&gt;&#xA;&lt;li&gt;Is there a realistic quantum architecture which is effectively equivalent to the quantum circuit with unbounded fan-out ?&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Peter Shor essentially suggested the formulation 1. in his comment above, and I’ll let experimentalists answer this question. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The question 2. seems strange, but I bring it forward because its answer is positive : In a 2009 paper (&lt;a href=&quot;http://arxiv.org/abs/0909.4673&quot; rel=&quot;nofollow&quot;&gt;arXiv:0909.4673&lt;/a&gt;, &lt;a href=&quot;http://link.springer.com/chapter/10.1007%2F978-3-642-18073-6_4&quot; rel=&quot;nofollow&quot;&gt;paywalled version&lt;/a&gt;), Dan Browne, Elham Kashefi, and Simon Perdrix showed that &lt;a href=&quot;https://en.wikipedia.org/wiki/One-way_quantum_computer&quot; rel=&quot;nofollow&quot;&gt;Measurement Based Quantum Computing&lt;/a&gt; (MBQC), is equivalent up to a classical side-processing of logarithmic depth, to the quantum circuit model augmented with unbounded fanout gates. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;They basically recall that the unbounded parity gate is a Clifford gate and can be therefore be expressed as a measurement pattern of constant depth (&lt;a href=&quot;http://arxiv.org/abs/quant-ph/0301052&quot; rel=&quot;nofollow&quot;&gt;arXiv&lt;/a&gt;,&lt;a href=&quot;http://journals.aps.org/pra/abstract/10.1103/PhysRevA.68.022312&quot; rel=&quot;nofollow&quot;&gt;paywalled PRA&lt;/a&gt;) and show that a fanout gate is nothing else than a parity gate “sandwiched” between two layers of Hadamard gates, and can therefore be simulated in constant depth.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Therefore, your question&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there any experimental evidence to suggest whether such constant-latency quantum fanout unitary operations are feasible?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;is equivalent to&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there any experimental evidence to suggest whether Measurent Based Quantum Computing is feasible?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I personally think the answer to the latter question is “yes”, but the opinions on the feasibility of a given quantum computing architecture tend to be subjective...&lt;/p&gt;&#xA;" OwnerUserId="2368" LastActivityDate="2016-02-04T17:53:05.247" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33728" PostTypeId="2" ParentId="33498" CreationDate="2016-02-04T18:36:48.327" Score="1" Body="&lt;p&gt;As suspected by Peter Shor, it is not true.&lt;/p&gt;&#xA;&#xA;&lt;h2&gt;Almost a counterexample&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;Let $ω_{ABCD}=Φ_{AC}⊗ψ_{B}⊗ψ_{D}$, with $Φ$ being a maximally entangled state and $ψ$ a pure state. Let $U$ be the unitary $I_A⊗σ_{BC}⊗I_D$ swapping $B$ and $C$, so we have &#xA;$ω_{ABCD}=Φ_{AB}⊗ψ_{C}⊗ψ_{D}$. All the systems are supposed to be of dimension $d$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Your assumptions are almost fulfilled, since&#xA;$$\begin{align}&#xA;S(ω_B)=0&amp;amp;&amp;lt;S(τ_B)=\log d \\&#xA;S(ω_A)=\log d&amp;amp;\ge S(τ_A)=\log d \tag1 \\&#xA;S(ω_{AB})=\log d&amp;amp;&amp;gt; S(ω_B)=0&#xA;\end{align}$$&#xA;but we have &#xA;$$\begin{align}&#xA; S(τ_{AB})-S(ω_{AB})=0-\log d&amp;amp;&amp;lt; S(τ_{B})-S(ω_{B})=\log d -0&#xA;\end{align}$$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In this case, the condition (1) is not fulfilled, since you asked for a strict decrease in $A$’s entropy, and kept $S(A)$ constant with a unitary not touching $A$. This can be changed by perturbing $ω$ and $U$, to have a slight decrease in $A$’s entropy.&lt;/p&gt;&#xA;&#xA;&lt;h1&gt;A real counterexample&lt;/h1&gt;&#xA;&#xA;&lt;p&gt;A concrete way to do this without a pertubative argument is to add another system $A'$ to $A$, which is entangled to another system $D'$ given to $D$. &#xA;$$\begin{align}&#xA;  ω_{AA'BCDD'}&amp;amp;=Φ_{AC}⊗Φ_{A'D'}⊗ψ_{B}⊗ψ_{D}\\&#xA;  U&amp;amp;=σ_{A'D}⊗σ_{BC}⊗I_{D'}\\&#xA;  τ_{AA'BCDD'}&amp;amp;=ψ_{A'}⊗Φ_{AB}⊗Φ_{DD'}⊗ψ_{C}&#xA;\end{align}$$  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In that case, we have&#xA;$$\begin{align}&#xA;S(ω_B)=0&amp;amp;&amp;lt;S(τ_B)=\log d \\&#xA;S(ω_{AA'})=2\log d&amp;amp;&amp;gt; S(τ_A)=\log d \\&#xA;S(ω_{AA'B})=2\log d&amp;amp;&amp;gt; S(ω_B)=0 \\&#xA;S(τ_{AA'B})-S(ω_{AA'B})=0-2\log d&amp;amp;&amp;lt; S(τ_{B})-S(ω_{B})=\log d -0&#xA;\end{align}$$&#xA;Despite all your assumptions fulfilled by at least a $\log d$ margin, your final inequality is violated by a $3\log d$ margin&lt;/p&gt;&#xA;&#xA;&lt;h1&gt;The physical intuition begin these counter examples : conditional entropies&lt;/h1&gt;&#xA;&#xA;&lt;p&gt;The inequality you want to prove and your third assumption are thinly disguised conditional entropies. Moving $S(ω_B)$ to the left-hand side of our third assumption, one obtains &#xA;$$H(A|B)_{ω}≥0,$$&#xA;which is verified by all state which are separable across the $A|B$ split (including my counterexamples.) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Your final condition is equivalent to&#xA;$$H(A|B)_{τ}\stackrel{?}{≤}H(A|B)_{ω}.$$&#xA;Since the right-hand side is positive by assumption, any negative left-hand side is a counterexample. $H(A|B)$ can only be negative for states which are entangled accross the $A|B$ split. In both my counterexamples $H(A|B)_{τ}=-\log d$ because of the entangled state $Φ_{AB}$.&#xA;The increase in $B$’s entropy is provided by the move of the half EPR pair from $C$ to $B$. In the second counter example, in order to have a decrease of $AA'$’s entropy, I artificially increased the initial entropy of $A$ with the state $Φ_{A'D'}$. This entropy is sent to $D$ by $U$.&lt;/p&gt;&#xA;" OwnerUserId="2368" LastEditorUserId="2368" LastEditDate="2016-02-04T19:56:44.613" LastActivityDate="2016-02-04T19:56:44.613" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33731" PostTypeId="2" ParentId="3253" CreationDate="2016-02-05T07:12:31.977" Score="9" Body="&lt;h3&gt;Writing Mathematics&lt;/h3&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Donald E. Knuth, Tracy Larrabee, and Paul M. Roberts, &quot;&lt;a href=&quot;https://books.google.ca/books?id=dDOehHMbUMcC&quot; rel=&quot;noreferrer&quot;&gt;Mathematical Writing&lt;/a&gt;&quot;, 1989 (&lt;a href=&quot;http://jmlr.csail.mit.edu/reviewing-papers/knuth_mathematical_writing.pdf&quot; rel=&quot;noreferrer&quot;&gt;pdf&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="186" LastActivityDate="2016-02-05T07:12:31.977" CommentCount="0" CommunityOwnedDate="2016-02-05T07:12:31.977" ContentLicense="CC BY-SA 3.0" />
  <row Id="33736" PostTypeId="2" ParentId="33721" CreationDate="2016-02-05T22:38:19.483" Score="3" Body="&lt;p&gt;&lt;b&gt;1)&lt;/b&gt; To refine daniello's answer, there is a standard bound in domination that for any graph of minimum degree $d$, there is a dominating set of size at most (roughly) $\frac{\log d}{d}n$.&#xA;This bound has a simple and nice probabilistic proof (similar to the one given by daniello); see for example Theorem 1.2.2 in the Alon-Spencer book &lt;em&gt;The probabilistic method&lt;/em&gt; (there the exact bound they give is $\frac{1+\ln (d+1)}{d+1}n$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Moreover the bound is known to be asymptotically tight. See &lt;a href=&quot;http://link.springer.com/article/10.1007%2FBF01787474&quot; rel=&quot;nofollow&quot;&gt;this paper by Alon&lt;/a&gt;, also available on the author's webpage, for the tightness (in the language of hypergraph transversals).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that for small values of $d$, it is an active field of research to determine the best bound, and the situation is not yet fully understood already for small $d$; see &lt;a href=&quot;http://link.springer.com/article/10.1007/s00373-015-1585-7&quot; rel=&quot;nofollow&quot;&gt;this paper&lt;/a&gt; for a nice discussion about this, as well as some early references for the above bound.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, when $d=n^k$, the bound gives a dominating set of size roughly $kn^{1-k}\ln n$, about the same as what we get from daniello's answer. I don't know whether the Alon construction is tight for such values of $d$, but my guess would be yes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;b&gt;2)&lt;/b&gt; A second easy observation is that when the degrees are bounded by above (say by $\Delta$), any vertex can dominate at most $\Delta+1$ vertices and hence any dominating set has size at least $\frac{n}{\Delta+1}$. This is easily seen to be tight by creating a graph from a collection of disjoint stars with $\Delta$ leaves each (potentially adding a few edges to make it connected).&lt;/p&gt;&#xA;" OwnerUserId="1930" LastActivityDate="2016-02-05T22:38:19.483" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33737" PostTypeId="1" CreationDate="2016-02-05T23:59:26.213" Score="6" ViewCount="223" Body="&lt;p&gt;Is there a graph class for which the chromatic number can be computed in polynomial time, but finding an actual $k$-coloring with $k=\chi(G)$ is NP-hard?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Without any further restriction the answer would be yes. For example, it is known that in the class of 3-chromatic graphs it is still NP-hard to find a 3-coloring, while the chromatic number is trivial: it is 3, by definition.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The above example, however, could be called &quot;cheating&quot; in a sense, because it makes the chromatic number easy by shifting the hardness to the definition of the graph class. Therefore, I think, the right question is this:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a graph class that can be recognized in polynomial time, and the chromatic number of any graph $G$  in this class can also be computed in polynomial time, yet finding an actual $k=\chi(G)$-coloring for $G$ is NP-hard?&lt;/p&gt;&#xA;" OwnerUserId="12710" LastActivityDate="2016-02-06T01:10:25.070" Title="Graph class with easy chromatic number, but NP-hard coloring" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;np-hardness&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="33738" PostTypeId="2" ParentId="33737" CreationDate="2016-02-06T01:10:25.070" Score="5" Body="&lt;p&gt;I think you need to specify more carefully what you mean by &quot;NP-hard&quot; for a problem like this with a known solution but an unknown witness.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The most natural definition, to me, would be something like a many-one reduction, where there exist two polynomial time functions $p$ and $q$, where $p$ maps SAT instances to graphs with a known chromatic number and $q$ maps colorings of these graphs to truth values, such that $q(\chi)$ equals the correct truth value for SAT instance $X$ whenever $\chi$ is a valid optimal coloring of $p(X)$. However, this is not possible unless $\mathsf{NP}=\mathsf{coNP}$. For, if such $p$ and $q$ existed, then every unsatisfiable SAT instance $X$ would have a witness to its unsatisfiability, namely a coloring of $p(X)$.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2016-02-06T01:10:25.070" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33739" PostTypeId="1" AcceptedAnswerId="33740" CreationDate="2016-02-06T02:43:47.697" Score="5" ViewCount="485" Body="&lt;p&gt;Pardon me for asking a question whose answer is surely well-known, but&#xA;is beyond my expertise:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;&lt;em&gt;Q&lt;/em&gt;&lt;/strong&gt;. Is the growth rate of each &lt;a href=&quot;https://en.wikipedia.org/wiki/Primitive_recursive_function&quot;&gt;primitive recursive function&lt;/a&gt; $f(n)$ bounded by some exponential $O(c^n)$, or $O(n^n)$, or ...?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I know &lt;a href=&quot;https://en.wikipedia.org/wiki/Ackermann_function&quot;&gt;Ackermann's function&lt;/a&gt; grows faster than exponential, but it is not primitive recursive.&lt;/p&gt;&#xA;" OwnerUserId="337" LastActivityDate="2016-02-06T04:03:51.250" Title="Growth rate of primitive recursive functions" Tags="&lt;recursion&gt;&lt;recursive&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="33740" PostTypeId="2" ParentId="33739" CreationDate="2016-02-06T03:45:31.863" Score="12" Body="&lt;p&gt;The answer is no, there is no exponential bound on PR.&#xA;PR contains &lt;a href=&quot;https://en.wikipedia.org/wiki/Knuth%27s_up-arrow_notation&quot;&gt;Knuth's up-arrow functions&lt;/a&gt;, &lt;a href=&quot;https://en.wikipedia.org/wiki/ELEMENTARY&quot;&gt;Elementary functions&lt;/a&gt;, etc.&#xA;PR is equal to the union of &lt;a href=&quot;https://en.wikipedia.org/wiki/Grzegorczyk_hierarchy&quot;&gt;Grzegorczyk hierarchy&lt;/a&gt;.&#xA;Exponential functions appear at the third level of the Grzegorczyk hierarchy.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;PR can alternatively be defined using the iteration function in place of recursion.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A good reference for information about these classes is the first chapter of second volume of &quot;&lt;a href=&quot;https://books.google.ca/books?id=Z97uAAAAMAAJ&quot;&gt;Classical Recursion Theory&lt;/a&gt;&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also have the general function growth hierarchies like &#xA;&lt;a href=&quot;https://en.wikipedia.org/wiki/Grzegorczyk_hierarchy&quot;&gt;Grzegorczyk hierarchy&lt;/a&gt;,&#xA;&lt;a href=&quot;https://en.wikipedia.org/wiki/Slow-growing_hierarchy&quot;&gt;slow-growing hierarchy&lt;/a&gt;, and&#xA;&lt;a href=&quot;https://en.wikipedia.org/wiki/Fast-growing_hierarchy&quot;&gt;fast-growing hierarchy&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2016-02-06T04:03:51.250" LastActivityDate="2016-02-06T04:03:51.250" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33741" PostTypeId="1" CreationDate="2016-02-06T04:46:29.957" Score="8" ViewCount="447" Body="&lt;p&gt;As showed in the paper &quot;Monotone Circuits for the Majority Function&quot;, is possible to construct a monotone boolean circuit for the majority function on n variables with size O(n^3) and depth 5.3 log(n)+ O(1).&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;a href=&quot;http://link.springer.com/chapter/10.1007/11830924_38&quot;&gt;http://link.springer.com/chapter/10.1007/11830924_38&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;My question is, what is the time-complexity of such constrution? (i.e., the time needed to construct the circuit, given n in unary)&lt;/p&gt;&#xA;" OwnerUserId="37384" LastEditorUserId="37384" LastEditDate="2016-02-10T20:57:19.623" LastActivityDate="2016-03-11T21:08:48.813" Title="Circuity complexity: monotone circuit of Majority function" Tags="&lt;cc.complexity-theory&gt;&lt;circuit-complexity&gt;&lt;boolean-functions&gt;&lt;circuit-depth&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33743" PostTypeId="1" AcceptedAnswerId="33745" CreationDate="2016-02-06T16:46:25.593" Score="2" ViewCount="497" Body="&lt;p&gt;I'm trying to do the following thing: take a set (here, &lt;code&gt;nat&lt;/code&gt;, for the sake of simplicity), define a subset of &quot;valid&quot; values (here, even numbers), and then prove that two valid values with the same value are the same.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My problem is that my valid values are represented by records. And when I try to prove what I want, I try to use the &lt;code&gt;f_equal&lt;/code&gt; tactic on that record and it does nothing. I imagine this is because both parts of the record are dependent, but I really don't know (I'm new to these).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is my code. Define a boolean predicate for valid values:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;Fixpoint valid (n: nat) : bool :=&#xA;  match n with&#xA;    | 0 =&amp;gt; true&#xA;    | 1 =&amp;gt; false&#xA;    | S (S p) =&amp;gt; valid p&#xA;  end&#xA;.&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Define the type for valid values using the predicate and records:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;Record valid_nat : Type :=&#xA;  { VN_value : nat ;&#xA;    VN_prop  : valid VN_value = true }&#xA;.&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Prove that when the values are the same, the records are the same. I know this implies &lt;em&gt;proof irrelevance&lt;/em&gt;, but that's not my main problem yet:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;Theorem valid_nat_unique:&#xA;  forall (m n: valid_nat), VN_value m = VN_value n -&amp;gt; m = n&#xA;.&#xA;Proof.&#xA;  intros m n H.&#xA;  destruct m as [m_value m_prop].&#xA;  destruct n as [n_value n_prop].&#xA;  simpl in H.&#xA;  f_equal.    (* does nothing *)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Here is the goal before and after the &lt;code&gt;f_equal&lt;/code&gt; tactic:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;m_value : nat&#xA;m_prop : valid m_value = true&#xA;n_value : nat&#xA;n_prop : valid n_value = true&#xA;H : m_value = n_value&#xA;============================&#xA; {| VN_value := m_value; VN_prop := m_prop |} =&#xA; {| VN_value := n_value; VN_prop := n_prop |}&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;I was expecting to get &lt;code&gt;m_value = n_value /\ m_prop = n_prop&lt;/code&gt; (then hypothesis &lt;code&gt;H&lt;/code&gt; and proof irrelevance should be enough to finish. And now I'm stuck.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My Coq version is: &lt;code&gt;The Coq Proof Assistant, version 8.5 (February 2016)&lt;/code&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any help would be highly appreciated. Thank you by advance.&lt;/p&gt;&#xA;" OwnerUserId="37388" LastActivityDate="2016-02-06T18:47:35.903" Title="`f_equal` isn't doing anything" Tags="&lt;coq&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33744" PostTypeId="1" AcceptedAnswerId="33801" CreationDate="2016-02-06T17:54:24.037" Score="12" ViewCount="338" Body="&lt;p&gt;$C$ is an axis-parallel rectangle. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$C_1,\dots,C_n$ are pairwise-interior-disjoint axis-parallel rectangles such that $C_1\cup\dots\cup C_n \subsetneq C$, like this:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://i.stack.imgur.com/e5Tcm.png&quot; rel=&quot;noreferrer&quot;&gt;&lt;img src=&quot;https://i.stack.imgur.com/e5Tcm.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A &lt;strong&gt;rectangle-preserving partition&lt;/strong&gt; of $C$ is a partition $C = E_1\cup\dots\cup E_N$, such that $N\geq n$, the $E_i$ are pairwise-interior-disjoint axis-parallel rectangles, and for every $i=1,\dots,n$: $C_i \subseteq E_i$, i.e, each existing rectangle is contained in a unique new rectangle, like this:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://i.stack.imgur.com/7HSLm.png&quot; rel=&quot;noreferrer&quot;&gt;&lt;img src=&quot;https://i.stack.imgur.com/7HSLm.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is an algorithm for finding a rectangle-preserving partition with a small $N$? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In particular, is there an algorithm for finding a rectangle-preserving partition with $N=O(n)$ parts?&lt;/p&gt;&#xA;" OwnerUserId="9453" LastEditorUserId="9453" LastEditDate="2016-02-12T11:04:07.237" LastActivityDate="2018-11-19T00:15:07.580" Title="Partitioning a rectangle without harming inner rectangles" Tags="&lt;cg.comp-geom&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33745" PostTypeId="2" ParentId="33743" CreationDate="2016-02-06T18:24:00.833" Score="5" Body="&lt;p&gt;The &lt;code&gt;f_equal&lt;/code&gt; tactic does not do anything because what you are trying to prove is not true. You assumed that the first components (&lt;code&gt;VN_value&lt;/code&gt;) of &lt;code&gt;m&lt;/code&gt; and &lt;code&gt;n&lt;/code&gt; are equal, but what about the second components (&lt;code&gt;VN_prop&lt;/code&gt;), how do you intend to prove they are equal?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also note that we cannot decompose the equation&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;{| VN_value := m_value; VN_prop := m_prop |} =&#xA; {| VN_value := n_value; VN_prop := n_prop |}&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;into&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;m_value = n_value&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;and&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;m_prop = n_prop&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;because the second equation is not well typed: the left-hand side has type &lt;code&gt;valid m_value = true&lt;/code&gt; and the right-hand side &lt;code&gt;valid n_value = true&lt;/code&gt;. Instead, we need to &lt;em&gt;transport&lt;/em&gt; &lt;code&gt;m_prop&lt;/code&gt; from the type &lt;code&gt;valid m = true&lt;/code&gt; to the type &lt;code&gt;valid n = true&lt;/code&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, you need transport and you need an extra assumption. Here is how you can do it:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;Fixpoint valid (n: nat) : bool :=&#xA;  match n with&#xA;    | 0 =&amp;gt; true&#xA;    | 1 =&amp;gt; false&#xA;    | S (S p) =&amp;gt; valid p&#xA;  end.&#xA;&#xA;Record valid_nat : Type :=&#xA;  { VN_value : nat ;&#xA;    VN_prop  : valid VN_value = true }.&#xA;&#xA;Definition transport {A : Type} (B : A -&amp;gt; Type) {a b : A}: a = b -&amp;gt; B a -&amp;gt; B b.&#xA;Proof.&#xA;  intros [] ?; assumption.&#xA;Defined.&#xA;&#xA;Lemma valid_nat_unique (m n : valid_nat) (p : VN_value m = VN_value n):&#xA;  transport (fun k =&amp;gt; valid k = true) p (VN_prop m) = VN_prop n -&amp;gt;&#xA;  m = n.&#xA;Proof.&#xA;  destruct m; destruct n.&#xA;  simpl in * |- *.&#xA;  destruct p.&#xA;  intros [].&#xA;  reflexivity.&#xA;Qed.&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;" OwnerUserId="705" LastEditorUserId="705" LastEditDate="2016-02-06T18:47:35.903" LastActivityDate="2016-02-06T18:47:35.903" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="33746" PostTypeId="2" ParentId="33718" CreationDate="2016-02-06T20:37:20.007" Score="0" Body="&lt;p&gt;Current answers to this post explain that the problem always resolves to &quot;yes&quot;, but at the time my answer was posted,  there was no proof of 'why' this was the case. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The post below attempts to complete the answer by showing 'why' the answer is always &quot;yes&quot;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This will work whether $\{a_i\}$ is a set or a multiset.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Informal Proof&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We know that there is at least one subset $C$ of $\{a_i\}$ for which&#xA;$\sum C \ge \frac{1}{2} \sum {a_i}$ (we just let $C = \{a_i\}$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Amongst all the subsets whose sum is $\ge \frac{1}{2} \sum {a_i}$, let $\{c_j\}$ be an arbitrary one whose sum is minimal (clearly $\{c_j\}$ exists).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now assume for contradiction that $\sum{c_j} \gt \frac{1}{2} \sum {a_i} + \max \{a_i\}$. Then we have that&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\sum {c_j} - \max \{{c_j}\} \gt \frac{1}{2} \sum {a_i} + \max\{{a_i}\} - \max\{{c_j}\} \ge \frac{1}{2} \sum {a_i}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But this contradicts the assumption that $\{c_j\}$ had a minimal sum $\ge \frac{1}{2} \sum {a_i}$ (since $\{c_j\} \setminus \{\max\{c_j\}\}$ has a smaller sum $\ge \frac{1}{2} \sum {a_i}$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Therefore it must be that $\sum {c_j} \le \frac{1}{2} \sum {a_i} + \max \{{a_i}\}$.&lt;/p&gt;&#xA;" OwnerUserId="37390" LastEditorUserId="37390" LastEditDate="2016-02-07T09:47:33.147" LastActivityDate="2016-02-07T09:47:33.147" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="33747" PostTypeId="1" AcceptedAnswerId="33763" CreationDate="2016-02-06T23:15:40.740" Score="1" ViewCount="342" Body="&lt;p&gt;Let $X\in\{1,2,\ldots,m\}$ be a discrete random variable with $X\sim p$. &#xA;Let $C$ be a code for $X$ with $l_i$ being the length $i$-th codeword and &#xA;let $L(C)$ be the expected length of the code. &#xA;The Shannon code produces a prefix code $C_{Sh}$ with &#xA;the lengths of the codewords $l_i =\lceil \log_2 \frac{1}{p(i)}\rceil $. &#xA;The Huffman code produces a prefix code $C_{Hu}$ which &#xA;is minimal in expected length, but &#xA;with non-explicit individual codeword lengths. &#xA;Let $H(X)$ be the entropy of $X$.&#xA;We have &#xA;$$H(X)\leq L(C_{Hu}) \leq L(C_{Sh})\leq H(X)+1.$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;My Question:&lt;/strong&gt; &#xA;Though Huffman code produces expected lengths at least as low as &#xA;the Shannon code, are &lt;em&gt;all&lt;/em&gt; of it's individual codewords shorter? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Follow-up Question:&lt;/strong&gt; &#xA;If not, do the lengths of all the codewords in a Huffman code &#xA;at least satisfy the inequality:&#xA;$$ l^{Hu}_i&amp;lt;\log_2 \left(\frac{1}{p_i}\right)+1 ? $$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;(I'm looking for proofs/counterexamples.)&lt;/em&gt;&lt;/p&gt;&#xA;" OwnerUserId="30332" LastEditorUserId="186" LastEditDate="2016-02-17T15:52:05.983" LastActivityDate="2016-02-17T15:52:05.983" Title="Does Huffman coding always produce shorter codes than the Shannon code?" Tags="&lt;it.information-theory&gt;&lt;prefix-free-code&gt;&lt;huffman&gt;&lt;shannon&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33748" PostTypeId="1" CreationDate="2016-02-07T03:26:56.337" Score="1" ViewCount="62" Body="&lt;p&gt;This is a question that I've been thinking about in my research lately. I've gone down the route of a few linear-optimization techniques, but nothing particularly spectacular has come up.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Anyway, the game is as such: my friend John has a sequence of letters that are mapped to a sequence of numbers (the letters are unique but the numbers are not necessarily unique). John now hides the letters from the sequence and sends me only the numbers in the same order as the sequence. My job is to guess the letters of this sequence. The only information available to me is a database that contains all letters of the alphabet and a rough numerical mapping.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, for example, John computes the following:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(a : 5, b : 10, c : 1, e : 15, f : 4)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then john sends me (5, 10, 1, 15, 4). I now have to guess which letters those numbers belong to. As I said above, I have some rough estimate of what number each letter in my database should be mapped to.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This problem is not hard with this domain. The Hungarian algorithm for lowest cost assignment would work fine. However, what about arbitrarily large string sizes? Suppose I have a gigantic database of strings (ranging from a few letters all the way to 20 letters) to number mappings. The database is ordered lexographically. John chooses a subset of this database, changes the numbers of each entry a certain amount (different for all) and then asks me to guess that sequence.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any leads?&lt;/p&gt;&#xA;" OwnerUserId="32211" LastEditorUserId="5038" LastEditDate="2016-02-09T02:10:07.503" LastActivityDate="2016-02-09T02:10:07.503" Title="Matching of points in two discrete linear sequences with potentially missing points" Tags="&lt;ds.algorithms&gt;&lt;co.combinatorics&gt;" AnswerCount="0" CommentCount="2" ClosedDate="2016-02-24T21:51:12.693" ContentLicense="CC BY-SA 3.0" />
  <row Id="33749" PostTypeId="1" CreationDate="2016-02-07T06:06:39.850" Score="3" ViewCount="366" Body="&lt;p&gt;I would like to know if there is any standard algorithm to generate&#xA;a random grid point inside a d-dimensional ball with a given radius r.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Bin Fu&lt;/p&gt;&#xA;" OwnerUserId="37395" LastActivityDate="2016-02-07T20:22:44.677" Title="Random grid point in a d-dimensional ball" Tags="&lt;randomized-algorithms&gt;" AnswerCount="3" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="33751" PostTypeId="2" ParentId="33749" CreationDate="2016-02-07T06:49:30.587" Score="0" Body="&lt;p&gt;Just off the top of my head if you want to do it repeatedly and can afford the memory: 1) Enumerate your &quot;grid points&quot; in advance with each possible coordinate d-tuple assigned to a number from $0$ to $n-1$, where there are $n$ grid points. 2) Pick a random number from $0$ to $n-1$ and look up which coordinate d-tuple it corresponds to. This would use a bit of memory but make each random sampling be as fast as generating a random integer and reading that index in an array.&lt;/p&gt;&#xA;" OwnerUserId="37394" LastActivityDate="2016-02-07T06:49:30.587" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="33752" PostTypeId="2" ParentId="3533" CreationDate="2016-02-07T10:51:03.127" Score="4" Body="&lt;p&gt;I would like to add two books not found on the answers given up to now:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://homepage.cs.uiowa.edu/~astump/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Aaron Stump&lt;/a&gt;, &lt;em&gt;&lt;a href=&quot;http://homepage.cs.uiowa.edu/~astump/books.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;Programming Language Foundations&lt;/a&gt;&lt;/em&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://people.cis.ksu.edu/~schmidt/&quot; rel=&quot;nofollow noreferrer&quot;&gt;David Schmidt&lt;/a&gt;, &lt;em&gt;&lt;a href=&quot;http://people.cis.ksu.edu/~schmidt/text/densem.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;Denotational Semantics: A Methodology for Language Development&lt;/a&gt;&lt;/em&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Stump's book is concise but very clear.&lt;/p&gt;&#xA;" OwnerUserId="1700" LastEditorUserId="989" LastEditDate="2017-09-08T16:55:26.243" LastActivityDate="2017-09-08T16:55:26.243" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33753" PostTypeId="1" AcceptedAnswerId="33760" CreationDate="2016-02-07T11:11:40.910" Score="10" ViewCount="327" Body="&lt;p&gt;There are several interesting classes of graphs with bounded treewidth. For instance, trees (treewidth 1), series parallel graphs (treewidth 2), outerplanar graphs (treewidth 2), $k$-outerplanar graphs (treewidth O(k)), graphs of branchwidth $k$ (treewidth O(k)),...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question:&lt;/strong&gt; Are there examples of interesting classes of graphs whose treewidth is not bounded by a constant, but by a low-growing function?&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Are there well known graph classes with treewidth $O(\log\log n)$?&lt;/li&gt;&#xA;&lt;li&gt;Are there well known graph classes with treewidth $O(\log n)$?&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;I would also be interested in classes of graphs with treewidth &#xA;$O(\log^k n)$ or $O(\log\log...n)$ where the logarithm is repeated a constant number of times.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Obs:&lt;/strong&gt; Of course it is easy to cook up artificial families of graphs with a given treewidth, like the family of $\;O(\log n)\times n\;$ grids. So I'm primarily looking for family of graphs which have been studied in other branches of graph theory and which happen to have treewidth $O(\log n)$ or $O(\log\log n)$, but non-constant treewidth.&lt;/p&gt;&#xA;" OwnerUserId="4237" LastActivityDate="2016-02-07T19:14:55.417" Title="Classes of graphs with superconstant treewidth" Tags="&lt;graph-theory&gt;&lt;treewidth&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="33754" PostTypeId="1" CreationDate="2016-02-07T11:28:46.707" Score="5" ViewCount="420" Body="&lt;p&gt;Does there exist a Graph Isomorphism Algorithm that uses Local Isomorphism to construct a Global Isomorphism?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, two graphs are given, say, $H, G$. it is asked to determine whether $G\simeq H$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now assume there exists an algorithm that splits graph $G$  in to  Subgraph  $G_1, G_2$(in $G$, $G_1$ and $G_2$ are connected through a  set of edges, say, $R_1$) and finds Isomorphism to corresponding graph $H_1 , H_2$(Local Isomorphism), then merge those Isomorphism to check whether $G\simeq H$ (Global isomorphism).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Does there exist such algorithm in Graph Isomorphism Literature ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;&lt;em&gt;EDIT:&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I apologize for a vague description, I should be more specific, but it is really hard to specify at the moment. For the time being, note that I do not mean a splitting based on vertex classification &lt;strong&gt;entirely&lt;/strong&gt; or something like that.  An algorithm that is based on  &lt;strong&gt;$K$  Dimensional  Weisfeiler-lehman(depth $K$  neighborhoods) entirely&lt;/strong&gt;,  is not what I meant, that is for sure**.  if $K=1$, then it can not handle  regular graph. You can &quot;construct&quot; graph that makes $K$  Dimensional  Weisfeiler-lehman ineffective, for example Cai-Furer-Immerman pair. Certainly  I do not mean that.Note that NAUTY  uses  1 Dimensional  Weisfeiler-Lehman method.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/questions/21962/graph-isomorphism-given-a-partial-isomorphism&quot;&gt;This question&lt;/a&gt; is the closest I got to mine, but it does not answer  my query.&lt;/p&gt;&#xA;" OwnerUserId="27242" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.080" LastActivityDate="2016-02-15T16:02:09.643" Title="Local Graph Isomorphism to construct Global Graph Isomorphism" Tags="&lt;reference-request&gt;&lt;graph-theory&gt;&lt;graph-isomorphism&gt;" AnswerCount="2" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="33755" PostTypeId="2" ParentId="33749" CreationDate="2016-02-07T15:05:33.157" Score="3" Body="&lt;p&gt;Let $B$ be the ball you want to sample in. Let $B'$ be the ball centered at the same point, but larger in radius by $\sqrt{d}$. Sample a random point in $B'$ Round off to the nearest integer point. Now, if this integer point is in $B$, accept it. Otherwise, discard it and try again.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This works because every point of the original ball is contained in a unit cube in ball $B'$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;When will this be efficient? You want the ball of $r+ \sqrt{d}$ to be not too much larger than the ball of radius $r$. The ratio of these distances is &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$ \left(\frac{r+\sqrt{d}}{r}\right)^d = \left(1 + \frac{\sqrt{d}}{r}\right)^d \leq \exp\left({\frac{d^{3/2}}{r}}\right).$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So it works well if $r &amp;gt; d^{3/2}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;How do you find a random point in $B'$? Thomas's answer give an algorithm for this.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;If $r &amp;lt; d^{3/2}$, use the Metropolis algorithm. Start with a point $P$ in the ball&amp;mdash;the lattice point closest to the center is easiest. Now, repeatedly perform the following steps.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Choose a random coordinate.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Keeping the remaining coordinates fixed, compute the lowest and highest integer values for this coordinate that are still in the ball.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Pick a random value $v$ for this coordinate, and set this coordinate to $v$ in $P$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;This is guaranteed to converge, and there are theorems that will tell you how quickly it will converge ... I am fairly sure that this case is one that converges in polynomial time.&lt;/p&gt;&#xA;" OwnerUserId="1677" LastEditorUserId="2022" LastEditDate="2016-02-07T18:46:50.520" LastActivityDate="2016-02-07T18:46:50.520" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33756" PostTypeId="2" ParentId="33749" CreationDate="2016-02-07T15:29:03.240" Score="1" Body="&lt;p&gt;&lt;b&gt;EDIT:&lt;/b&gt; I see from the comments that you probably want an integer point -- that is, uniformly random from&#xA;$$B_\mathbb{Z}(d,r)=\left\{ x \in \mathbb{Z}^d : \|x\|_2 = \sqrt{\sum_{i=1}^d x_i^2} \leq r \right\}.$$&#xA;&lt;a href=&quot;https://cstheory.stackexchange.com/a/33755/2022&quot;&gt;Peter Shor's answer&lt;/a&gt; covers this case. Below is an alternative approach.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The approach is to sample one coordinate at a time. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;We can partition $$B_\mathbb{Z}(d,r) = \bigcup_{a \in \mathbb{Z}} ~~ \{a\} \times B_\mathbb{Z}\left(d-1,\sqrt{r^2-a^2}\right).$$&#xA;Thus we can (i) sample $a \in [-r,r] \cap \mathbb{Z}$ from the appropriate marginal distribution and (ii) recursively sample from $B_\mathbb{Z}\left(d-1,\sqrt{r^2-a^2}\right)$. Combining the two gives a uniform sample from $B_\mathbb{Z}(d,r)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Define $f(d,r^2)=\left|B_\mathbb{Z}(d,r)\right|$. We first use $f$ to sample from $B_\mathbb{Z}(d,r)$ and then show how to compute $f$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To sample $a$, we compute $f(d-1,r^2-a^2)$ for all $a \in [-r,r] \cap \mathbb{Z}$ and then scale these values to obtain a probability mass function for $a$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;All that remains is to determine how to compute $f$. We can use the above partition to obtain a recursive formula: $$f(d,r^2) = \sum_{a \in [-r,r] \cap \mathbb{Z}} f(d-1,r^2-a^2).$$&#xA;The base case of the recursion is $f(0,r^2)=1$. So we can compute all necessary values of $f$ using dynamic programming with a lookup table of size $O(r^2d)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Packing this into a single algorithm:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;&lt;b&gt;Algorithm 3: Recursion&lt;/b&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Input: $d,r^2 \in \mathbb{N}$.&lt;/li&gt;&#xA;&lt;li&gt;Output: $x \in B_\mathbb{Z}(d,r)$ uniformly random. &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Allocate a lookup table for $f : \{0, \cdots, d\} \times \{0, \cdots, r^2\} \to \mathbb{N}$.&lt;/li&gt;&#xA;&lt;li&gt;Initialize $f(0,s)=1$ for $s = 0 \cdots r^2$.&lt;/li&gt;&#xA;&lt;li&gt;For $m = 1 \cdots d$:&#xA;&lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;For $s = 0 \cdots r^2$:&lt;/li&gt;&#xA;&lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set $f(m,s) = \sum_{a = \lceil - \sqrt{s} \rceil}^{\lfloor \sqrt{s} \rfloor} f(m-1, s-a^2 ).$&lt;/li&gt;&#xA;&lt;li&gt;Set $s_1=r^2$ and allocate space for $x \in \{\lceil -r \rceil, \cdots ,\lfloor r \rfloor\}^d$.&lt;/li&gt;&#xA;&lt;li&gt;For $i = 1 \cdots d$:&lt;/li&gt;&#xA;&lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Sample $U_i \in \{1, \cdots, ~ f(d+1-i,s_i)\}$ uniformly at random.&lt;/li&gt;&#xA;&lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Pick the largest $x_i \in \{\lceil - \sqrt{s_i} \rceil, \cdots, \lfloor \sqrt{s_i} \rfloor\}$ such that $$\sum_{a = \lceil - \sqrt{s_i} \rceil}^{x_i} f(d-i, s_i-a^2 ) \leq U_i.$$&lt;/li&gt;&#xA;&lt;li&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Set $s_{i+1}=s_i-x_i^2$.&lt;/li&gt;&#xA;&lt;li&gt;Return $x \in B_\mathbb{Z}(d,r)$.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The running time of this algorithm is $O(r^3d)$. Assuming the $U_i$s are uniform and independent, it outputs a uniformly random point from $B_\mathbb{Z}(d,r)$.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;b&gt;Before EDIT:&lt;/b&gt; My understanding of your question is that you want to sample a point uniformly (i.e. Lebesgue measure) from the ball $$B(d,r)=\left\{ x \in \mathbb{R}^d : \|x\|_2 = \sqrt{\sum_{i=1}^d x_i^2} \leq r \right\}.$$&#xA;I will give two algorithms for this. For simplicity, I assume $r=1$, as you can always scale up.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;&lt;b&gt;Algorithm 1: Rejection Sampling&lt;/b&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Sample $U_1, \cdots, U_d \in [-1,1]$ independently and uniformly at random.&lt;/li&gt;&#xA;&lt;li&gt;Let $x = (U_1, \cdots, U_d)$.&lt;/li&gt;&#xA;&lt;li&gt;If $\|x\|_2 \leq 1$, return $x$; else GOTO 1.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;This algorithm is simple. We just use the fact that it is easy to sample from the &quot;box&quot; $[-1,1]^d$ that contains the unit ball. And, by rejecting samples that fall outside the ball, we are able to sample from the desired conditional distribution.&#xA;The downside of this algorithm is that it takes time exponential in $d$, as the probability of a random point from the box being in the ball is decaying exponentially with $d$.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;&lt;b&gt;Algorithm 2: Scaled Spherical Sample&lt;/b&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Sample $G_1, \cdots, G_d \in \mathbb{R}$ independently from a standard Gaussian distribution ($\mathcal{N}(0,1)$).&lt;/li&gt;&#xA;&lt;li&gt;Let $x = (G_1, \cdots, G_d)$ and $y=x/\|x\|_2$.&lt;/li&gt;&#xA;&lt;li&gt;Sample $U \in [0,1]$ uniformly at random.&lt;/li&gt;&#xA;&lt;li&gt;Return $z=y \cdot U^{1/d}$.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;/blockquote&gt; &#xA;&#xA;&lt;p&gt;Since the Gaussian distribution is spherically symmetric, $y$ is a uniformly random unit vector. Now we scale down $y$ by $U^{1/d}$ so that, instead of uniformly sampling from the sphere, we uniformly sample from the ball. To show that this is the right scaling, we just need to show that $$\mathbb{P}\left[\|z\|_2 \leq t\right] = \frac{\text{Volume of $d$-ball of radius $t$}}{\text{Volume of $d$-ball of radius $1$}}.$$&#xA;&lt;a href=&quot;https://en.wikipedia.org/wiki/Volume_of_an_n-ball&quot; rel=&quot;nofollow noreferrer&quot;&gt;We have&lt;/a&gt; $$\frac{\text{Volume of $d$-ball of radius $t$}}{\text{Volume of $d$-ball of radius $1$}} = \frac{\frac{\pi^{d/2}}{\Gamma(d/2+1)} t^{d}}{\frac{\pi^{d/2}}{\Gamma(d/2+1)} 1^{d}} = t^{d}$$ and $$\mathbb{P}\left[\|z\|_2 \leq t\right] = \mathbb{P}\left[U^{1/d} \leq t\right] = \mathbb{P}\left[U \leq t^d\right] = t^d,$$ as required. Finally note that we can efficiently sample standard Gaussians using the &lt;a href=&quot;https://en.wikipedia.org/wiki/Box%E2%80%93Muller_transform&quot; rel=&quot;nofollow noreferrer&quot;&gt;Box-Muller transform&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="2022" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.167" LastActivityDate="2016-02-07T20:22:44.677" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="33757" PostTypeId="1" AcceptedAnswerId="33759" CreationDate="2016-02-07T16:06:49.097" Score="1" ViewCount="126" Body="&lt;p&gt;There are lot of applications of Horn clauses (notable examples include use of rules in cognitive architectures and knowledge bases, as well as use of rules in business rules programs). Are there formal methods that can help specify and verify Horn clauses. Is there semantics of Horn clauses. One can perceive Horn clauses as something similar to programming code of traditional programming languages and therefore one can expect the denotation, operational and similar semantics as well for Horn clauses.&lt;/p&gt;&#xA;" OwnerUserId="9317" LastActivityDate="2016-02-07T18:43:10.600" Title="How to specify and verify Horn clauses (logic programming programs)? Semantics of Horn clauses" Tags="&lt;lo.logic&gt;&lt;pl.programming-languages&gt;&lt;semantics&gt;&lt;logic-programming&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="33758" PostTypeId="1" AcceptedAnswerId="33851" CreationDate="2016-02-07T18:31:34.903" Score="8" ViewCount="397" Body="&lt;p&gt;I have read the introductory parts of a couple of books on programming language semantics (Gordon, Winskel, Nielson &amp;amp; Nielson, Allison, Stump, Schmidt), and while I do understand what they mean by &lt;em&gt;syntactic categories&lt;/em&gt;, or &lt;em&gt;syntactic domains&lt;/em&gt;, I didn't find a rigorous and straightforward definition of those. Is there a standard definition, maybe in earlier works?&lt;/p&gt;&#xA;" OwnerUserId="3961" LastActivityDate="2016-02-18T10:09:58.873" Title="Precise definition of syntatic categories / syntatic domains in abstract syntax" Tags="&lt;semantics&gt;&lt;denotational-semantics&gt;&lt;definitions&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="33759" PostTypeId="2" ParentId="33757" CreationDate="2016-02-07T18:43:10.600" Score="6" Body="&lt;p&gt;You should have a look at &lt;a href=&quot;http://www.lix.polytechnique.fr/~dale/papers/apal91.pdf&quot;&gt;Uniform Proofs as a Foudation for Logic Programming&lt;/a&gt; by Dale Miller, Gopalan Nadathur, Frank Pfenning and Andre Scedrov, 1991. The idea of this work and the rich area that has seen spawn from these ideas is to understand the execution of a logic program as proof search in simple and expressive logics, such as intuitionistic logic or linear logic. A particular class of formulas with good proof search properties are the Hereditary Harrop Formulas, which nicely generalize Horn Clauses.&lt;/p&gt;&#xA;" OwnerUserId="4984" LastActivityDate="2016-02-07T18:43:10.600" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="33760" PostTypeId="2" ParentId="33753" CreationDate="2016-02-07T19:14:55.417" Score="14" Body="&lt;p&gt;I believe that the universal graphs for trees constructed by &lt;a href=&quot;https://dx.doi.org/10.1112%2Fjlms%2Fs2-27.2.203&quot;&gt;Chung and Graham 1983&lt;/a&gt; have treewidth $\Theta(\log n)$. Or for a slightly simpler but similar example consider the transitive closures of balanced binary trees.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, there's a negative result here, too. All the examples you give of interesting graph families are minor-closed, or very closely related to minor-closed families. But a minor-closed graph family either contains all planar graphs (and hence has maximum treewidth $\Theta(\sqrt n)$) or has a forbidden planar minor (and hence has bounded treewidth).&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2016-02-07T19:14:55.417" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33763" PostTypeId="2" ParentId="33747" CreationDate="2016-02-08T02:24:58.277" Score="7" Body="&lt;p&gt;This is actually problem 5.12 in Cover and Thomas's information theory textbook; show that the probability distribution ${1/12,1/4,1/3,1/3}$ gives a counterexample.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;And if you want a really nice counterexample, consider the many non-isomorphic Huffman trees you can make when you have probabilities proportional to $$1,1,1,2,3,5,8,13,21,34$$ (the Fibonacci series with an extra 1). Figure out what the maximum and minimum depths are for a Huffman tree with this probability distribution. This calculation will lead to a counterexample for your follow-up question. &lt;/p&gt;&#xA;" OwnerUserId="1677" LastEditorUserId="1677" LastEditDate="2016-02-17T15:15:01.117" LastActivityDate="2016-02-17T15:15:01.117" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33765" PostTypeId="1" CreationDate="2016-02-08T12:16:33.873" Score="1" ViewCount="429" Body="&lt;p&gt;What if we had an oracle for solving all NP problems which has exactly one solution in polynomial time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The oracle fails if the NP problem has more than 1 solution.&#xA;The question is can we use this oracle to solve all NP problems in polynomial time even if they have multiple solutions?&lt;/p&gt;&#xA;" OwnerUserId="22603" LastActivityDate="2016-02-08T12:16:33.873" Title="Oracle for NP complete problems" Tags="&lt;cc.complexity-theory&gt;" AnswerCount="0" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="33766" PostTypeId="2" ParentId="33758" CreationDate="2016-02-08T18:15:42.497" Score="4" Body="&lt;p&gt;I never found an explicit definition either, but I have inferred the folowing.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As I understand, you split the language into syntactic domains; with the addition that syntactic domains must be fully generated by single different symbols, when you write down the grammar. So a syntactic domain is a subset of your language, and each domain is generated by one single symbol.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(I did not say you should &lt;em&gt;partition&lt;/em&gt; the language, because then an identifier  &quot;$x$&quot; would not be allowed to be in both &quot;integer expressions&quot; and &quot;boolean expressions&quot;, for example)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that using this definition, you can have different syntactic categories when defining abstract syntax of a language (that is, the abstrat syntax may not be unique). A simple example: suppose you need to specify the abstract syntac for expressions, both integer and boolean. Call ${\mathbb Z}$ the set of integers and ${\mathbb B}=\{T,F\}$ the set of boolean values.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You could say all your expressions are one syntactic domain,&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Exp&lt;/strong&gt; contains all expressions, and will be mapped by a semantic function onto ${\mathbb Z} \cup {\mathbb B}$&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;or you could decide to split them:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;ExpBool&lt;/strong&gt; contains boolean expressions, which will be mapped by a semantic function  onto ${\mathbb B}$&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;ExpInt&lt;/strong&gt; contains integer expressions, which will be mapped by a semantic function onto ${\mathbb Z}$&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;So, as far as I understand the exact syntactic domains to be used is a design issue (I mean a decision you make when designing the abstract syntax for your language). But they are certainly subsets of your language, and each syntactic domain must be generated by a different symbol.&lt;/p&gt;&#xA;" OwnerUserId="1700" LastEditorUserId="1700" LastEditDate="2016-02-17T19:34:18.700" LastActivityDate="2016-02-17T19:34:18.700" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33769" PostTypeId="1" AcceptedAnswerId="36225" CreationDate="2016-02-08T22:28:07.720" Score="2" ViewCount="204" Body="&lt;p&gt;&lt;em&gt;Originally posted on PHYS, however, obviously it has more to do with CS&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am currently trying to implement a circuit for computing the greatest common divisor in the Quantum Computing Language. In my work, I partially proceed from the paper &lt;em&gt;Quantum Circuits for GCD Computation with O(nlogn) Depth and O(n) Ancillae&lt;/em&gt; published by I. Markov and M. Saeedi in 2013, which may be found at arXiv &lt;a href=&quot;http://arxiv.org/abs/1304.7516&quot; rel=&quot;nofollow noreferrer&quot;&gt;http://arxiv.org/abs/1304.7516&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The paper introduces a binary GCD algorithm analogue and works out a design of the quantum circuit which is clarified in least details, however, in the same time it is somewhat confusing due to several statements that actually do not correspond with the rest of the work. First of all, let me enclose an image denoting design of the circuit. &#xA;&lt;a href=&quot;https://i.stack.imgur.com/AGIyr.png&quot; rel=&quot;nofollow noreferrer&quot;&gt;&lt;img src=&quot;https://i.stack.imgur.com/AGIyr.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/a&gt;&#xA;&lt;em&gt;(Credit goes to the paper)&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As you may see, the circuit entirely corresponds to the classical binary GCD algorithm. It takes advantage of quantum circuits for comparison, bit shift, addition and multiplication. &lt;strong&gt;Nevertheless, in our case those functions are controlled by state of ancillary qubits and thus, they may not regarded reversible on their own.&lt;/strong&gt; It means, we have to account for a separate register of auxiliary qubits which cannot be erased till the end of our computation as it would simply violate desired reversibility otherwise. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;But in contrast to that, in the paper we may find at least three statements which do actually deny those simple facts. Let me cite: (About preceding works) &lt;em&gt;The authors did not clear all zero-initialized ancillae which limits the applicability of their techniques.&lt;/em&gt; (About the circuit) &lt;em&gt;The zero-initialized ancillae may be modified in-side a given circuit, but should be returned to zero at the end of computation to be reused.&lt;/em&gt;  (About implementation) &lt;em&gt;To count ancillae, note that &lt;strong&gt;all computational ancillae are cleared inside each block&lt;/strong&gt;. After the final multiplication block for R·B, one can copy (in log depth) the final GCD result to another n-qubit zero-initialized register and apply the whole circuit (except for copying the result) in reverse order to recover A,B, and zero-initialized ancillae. Given that all components use O(n) ancillae, the total number of ancillae remains linear.&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I ask myself: How can be all ancillaes cleared at the end of each computational block while the binary GCD seems to be reversible only with regard to an auxiliary register of control qubits? It is apparent this &lt;strong&gt;question reduces to the problem of binary GCD reversibility&lt;/strong&gt; which is actually something I am doubtful about. Maybe I lack of insight and the usage of other control bits is so obvious so as to omit it, however, in every case I would like to ask you about your view on the problem.&lt;/p&gt;&#xA;" OwnerUserId="36147" LastEditorUserId="36147" LastEditDate="2016-02-09T11:30:59.117" LastActivityDate="2016-07-21T01:54:43.337" Title="Quantum GCD circuit: On reversibility and clearing ancillae" Tags="&lt;quantum-computing&gt;&lt;quantum-information&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="33770" PostTypeId="2" ParentId="33741" CreationDate="2016-02-09T01:39:40.377" Score="-1" Body="&lt;p&gt;Time complexity is often defined as the &quot;number of operations in the worst case for a Turing machine.&quot; The monotone circuit model of computation is not the Turing time model. Thus it is not meaningful to say what the time complexity of such a circuit is.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, if we view the monotone circuit model as a model of actual circuits, then one &quot;time cost&quot; of computation is the depth of such a circuit. Thus in that sense the time complexity of the circuit you mention is 5.3log(n).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course, in real circuits there are other factors besides &quot;depth&quot; that contribute to &quot;how long it takes to do the computation.&quot; For example, the longest wire in a circuit often is bottleneck in actual VLSI computation as its larger capacitance takes longer to charge. &lt;/p&gt;&#xA;" OwnerUserId="34313" LastActivityDate="2016-02-09T01:39:40.377" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33771" PostTypeId="1" CreationDate="2016-02-09T06:23:37.853" Score="-1" ViewCount="105" Body="&lt;p&gt;For the definition of a propositional proof system we have:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;An abstract proof system is a polynomial time function f whose range is equal to the set of tautologies. If τ is a tautology, then an f-proof of τ is any value π such that f(π)=τ.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;In regards to a polynomially-bounded propositional proof system, we have:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;If τ is a tautology, then an f-proof of τ is any value π such that f(π)=τ&#xA;  and |π| $ \leq $ f(τ).&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;My question is in regards to a regular propositional proof system, does the function need to run in polynomial-time relative to any particular value? What is the polynomial in terms of?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Am I understanding it right, that the polynomial can in fact be in terms of any number, whereas a polynomial-bounded proof system would have the polynomial be in terms of the value of the size of the given tautology?&lt;/p&gt;&#xA;" OwnerUserId="37481" LastEditorUserId="-1" LastEditDate="2016-02-09T07:56:05.757" LastActivityDate="2016-02-09T07:56:05.757" Title="On the difference between propositional proof system and polynomially-bounded proof system" Tags="&lt;cc.complexity-theory&gt;&lt;lo.logic&gt;&lt;proof-complexity&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33773" PostTypeId="2" ParentId="33771" CreationDate="2016-02-09T07:05:33.667" Score="4" Body="&lt;p&gt;In &lt;a href=&quot;https://en.wikipedia.org/wiki/Propositional_proof_system&quot;&gt;Cook-Reckhow propositional proof systems&lt;/a&gt; &#xA;proof checkers have to run in polynomial time &#xA;w.r.t. the size of their input.&#xA;The size of the input is the size of the proof.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is generally not a restriction:&#xA;if we have a proof verifier algorithm $Q$ that &#xA;does not run in polynomial time &#xA;we can define a new proof verifier algorithm $Q'$ which accepts &#xA;&lt;em&gt;the accenting computations of that verifier $Q$ on a given input $\pi$&lt;/em&gt; &#xA;as proofs. &#xA;The verifier $Q'$ is computable in polynomial time. &#xA;The trade-off is that the proof in $Q'$ can be much larger than those in $Q$.&#xA;E.g. if $Q$ was an exponential time algorithm and &#xA;$\pi$ was a $Q$-proof for $\varphi$&#xA;then there is a $\pi'$ which is a $Q'$ proof for $\varphi$&#xA;which consists of the computation of $Q$ on $\pi$.&#xA;Since the running of $Q$ is exponential&#xA;the size of $\pi'$ is bounded by an exponential &#xA;in the size of the original proof $\pi$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that without a restriction on the running time of the verifier &#xA;the definition is not that useful: &#xA;TAUT is in coNP and therefore &#xA;has an exponential time deterministic algorithm &#xA;which can directly check if a given propositional formula is a tautology.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The existence of a polynomially-bounded proof system is equivalent to&#xA;the existence of an NP algorithm for TAUT and therefore to NP=coNP.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also note that in typical proof systems &#xA;like those based on sequent calculus &#xA;the proven formula is part of the proof &#xA;so the size of the proof is an upper bound on the size of the proven formula.&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2016-02-09T07:26:22.573" LastActivityDate="2016-02-09T07:26:22.573" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33776" PostTypeId="2" ParentId="27042" CreationDate="2016-02-09T13:43:14.120" Score="0" Body="&lt;p&gt;Classes of Boolean functions with unique multilinear presentation contain&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;Pseudo-Boolean functions over reals (Theorem 1.34 [1])&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Boolean function over unit cube  $[0,1]^n$ &lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Background&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;em&gt;&quot;Every Boolean function can be represented by a disjunctive normal form and by a conjuctive normal form.&quot;&lt;/em&gt; (Theorem 1.4 (p.16 [1])&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;so every disjunctive normal form (DNF) of the form $\vee (\wedge {x} \wedge \bar{x} )$ can be written as $\vee (\prod x \prod (1-x))$ and $\sum c \prod x$ and further definitions on the page 18 of the book such as subscripts. You can represent every Boolean function $F$ on $\mathcal B^n$ in terms of powerset $\mathcal P(N)$ and direct sum $\oplus$ such that $f(x_1,\ldots,x_n)=\oplus_{A\in\mathcal P(N)} c(A)\prod_{i\in A} x_i$ (THM1.33).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;and their applications contain&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Game theory on p.579 [1] with focus on multilinear polynomial extensions with the structure $[0,1]^n$&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Reliability Boolean functions characterised in terms of minimum pathsets and different cuts, some information in p.58 [1], with the structure $[0,1]^n$&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;(circuits) &lt;a href=&quot;https://cstheory.stackexchange.com/questions/32201/complexity-of-multi-linear-polynomial-computing-boolean-function?rq=1&quot;&gt;Complexity of multi-linear polynomial computing Boolean function&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;(fourier analysis) &lt;a href=&quot;https://cstheory.stackexchange.com/questions/25291/lower-bounds-for-polynomials-computing-the-boolean-functions&quot;&gt;Lower bounds for Polynomials computing the boolean functions&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;References&lt;/em&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] Boolean Functions Theory, Algorithms, and Applications (Yves Crama, Peter L. Hammer, 2011)&lt;/p&gt;&#xA;" OwnerUserId="2844" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.743" LastActivityDate="2016-02-09T14:10:34.513" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33777" PostTypeId="1" AcceptedAnswerId="33779" CreationDate="2016-02-09T15:32:47.913" Score="8" ViewCount="2006" Body="&lt;p&gt;I might be missing something obvious but I can't find references about the complexity of counting &lt;em&gt;matchings&lt;/em&gt; (not perfect matchings) in bipartite graphs. Here is the formal problem:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Input: a bipartite graph $G = (U, V, E)$ with $E \subseteq U \times V$&lt;/li&gt;&#xA;&lt;li&gt;Output: the number of matchings of $G$, where a &lt;a href=&quot;https://en.wikipedia.org/wiki/Matching_(graph_theory)&quot;&gt;matchings&lt;/a&gt; is a subset $F \subseteq E$ such that there is no $v \in U \sqcup V$ that occurs in two edges of $F$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;What is the complexity of this problem?&lt;/strong&gt; Is it #P-hard?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is well-known that counting &lt;em&gt;perfect&lt;/em&gt; matchings on bipartite graphs is #P-hard, and it is known that counting matchings of &lt;em&gt;arbitrary&lt;/em&gt; graphs (or even planar 3-regular graphs) is #P-hard by &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0304397507004653&quot;&gt;this paper&lt;/a&gt;, but I didn't find anything about counting non-perfect matchings on bipartite graphs.&lt;/p&gt;&#xA;" OwnerUserId="4795" LastActivityDate="2018-07-14T14:40:18.540" Title="Complexity of counting matchings in a bipartite graph" Tags="&lt;counting-complexity&gt;&lt;matching&gt;&lt;bipartite-graphs&gt;" AnswerCount="2" CommentCount="1" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="33778" PostTypeId="1" AcceptedAnswerId="33788" CreationDate="2016-02-09T15:44:34.323" Score="4" ViewCount="182" Body="&lt;p&gt;Consider the following problem:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Input&lt;/strong&gt;: A binary string $w$.&lt;br&gt;&#xA;&lt;strong&gt;Output&lt;/strong&gt;: $|w|$ as a binary number.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is it possible to compute this &#xA;in $\mathsf{DLogTime}$-uniform $\mathsf{AC}^0$ &#xA;(or equivalently in $\mathsf{AltTime}(O(1),O(\lg n))$ or $\mathsf{FO}$)?&lt;/p&gt;&#xA;" OwnerUserId="186" LastActivityDate="2016-02-10T11:48:47.550" Title="Is length uniform AC0 computable?" Tags="&lt;cc.complexity-theory&gt;&lt;circuit-complexity&gt;&lt;uniformity&gt;" AnswerCount="1" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="33779" PostTypeId="2" ParentId="33777" CreationDate="2016-02-09T16:12:36.377" Score="13" Body="&lt;p&gt;The problem of counting such &quot;imperfect&quot; matchings in bipartite graphs is #P-complete.&lt;br&gt;&#xA;This has been proved by Les Valiant himself, on page 415 of the paper&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Leslie G. Valiant&lt;br&gt;&#xA;  The Complexity of Enumeration and Reliability Problems&lt;br&gt;&#xA;  SIAM J. Comput., 8(3), 410–421&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="31660" LastActivityDate="2016-02-09T16:12:36.377" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33780" PostTypeId="2" ParentId="31282" CreationDate="2016-02-09T17:31:28.017" Score="7" Body="&lt;p&gt;The question can be rephrased as whether or not $\lim \inf_{\vert x \vert \rightarrow \infty}{\vert T(x) - K(x) \vert} = 0$, and as Denis points out in the comments this is false for some encodings.  Here is a weaker statement and an attempted proof of it that doesn't depend on any details of the encoding, but I'll assume a binary language for simplicity:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $T:\{0,1\}^* \rightarrow \mathbb{N}$ be a computable function satisfying $0 \le T(x) \le \vert x \vert$ and $\lim \inf_{\vert x \vert \rightarrow \infty}{T(x)} = \infty$.  Then $\lim \inf_{\vert x \vert \rightarrow \infty}{\vert T(x) - K(x) \vert} \lt \infty$.  Informally, if there is a target around each string's Kolmogorov complexity that grows unboundedly wide, no computable function can avoid hitting it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To see this, let $n$ be a random $b$-bit number, i.e. $0 \le n \lt 2^b$ and $K(n) \ge b$.  For all $b$ such a random $n$ exists.   Also note that there are an infinite number of values of $b$ for which $\vert \{T(x) = b\} \vert \ge 2^b$, this follows from the conditions placed on $T$.  Now let $x$ be the $n^{\text{th}}$ smallest string such that $T(x) = b$.  Clearly there is a constant $c_1$ such that $K(x) \gt b - c_1$, because $K(n) \ge b$ and $n$ can be computed from $x$.  And there is a constant $c_2$ such that $K(x) \lt b + c_2$, because $K(n)$ is also bounded from above by only a constant more than $b$, and $x$ can be computed from $n$.  Then $\vert K(x) - T(x) \vert \lt c_1 + c_2$, and we have an infinite number of choices for $b$ (those with a preimage of cardinality at least $2^b$), yielding an infinite number of values for $x$, so we are done.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An implication is that for some $c \in \mathbb{Z}$, $T(x) = K(x) + c$ infinitely often.  So one might say we can't not output something that's not the Kolmogorov complexity!&lt;/p&gt;&#xA;" OwnerUserId="5191" LastEditorUserId="5191" LastEditDate="2016-02-18T04:24:24.560" LastActivityDate="2016-02-18T04:24:24.560" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="33781" PostTypeId="1" CreationDate="2016-02-09T22:27:02.830" Score="0" ViewCount="144" Body="&lt;p&gt;Suppose we have a unit square $S$ that contains $n$ points. Assume we always have a point at each of the four corners. No we triangulate $S$ by adding non-intersecting segments between the points. That is, every face is a triangle.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose that the resulting triangulation has the property that the smallest angle is greater than some constant $\phi$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given this, can we compute a lowerbound $f(n)$ on the minimum distance between the points?&lt;/p&gt;&#xA;" OwnerUserId="37499" LastEditorUserId="37499" LastEditDate="2016-02-10T03:56:53.703" LastActivityDate="2016-02-10T08:22:08.673" Title="Lowerbound for the minimum distance between points in a &quot;nice&quot; triangulation" Tags="&lt;lower-bounds&gt;&lt;computational-geometry&gt;" AnswerCount="1" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="33782" PostTypeId="2" ParentId="33777" CreationDate="2016-02-09T23:49:23.613" Score="0" Body="&lt;p&gt;One week in my complexity theory class in college, our sole homework problem was to prove that #2-SAT was #P-complete, by reducing from #BIPARTITE PERFECT MATCHING. No one could solve it, even when we eventually all banded together to work on it.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Next class, the professor was surprised at how difficult we had all found it and presented his proof. It was wrong. Luckily, one smart cookie was able to give the correct reduction, which was absolutely insane and disgustingly complicated. By the way, the professor has a Turing Award :)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Anyway, while I and my classmates couldn't solve that problem, we were able to solve the easier problem of reducing from #BIPARTITE MATCHING to #2-SAT, so here is the proof I came up with a few years back.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Theorem.&lt;/strong&gt; #BIPARTITE MATCHING $≤_p$ #2-SAT.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;em&gt;Proof&lt;/em&gt;. Let $G = (V,E)$ be an instance of #BIPARTITE MATCHING. Let the partition sets be&#xA;$$A = \{a_i \mid i∈[n]\}, \quad B = \{b_i \mid i∈[m]\}$$&#xA;(so $|A|=n$ and $|B|=m$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now we reduce $G$ to a 2SAT formula $φ$, such that each satisfying assignment of $φ$ is a matching of $G$, and vice versa. To start, for each edge $a_ib_j ∈ E$ create a variable $x_{ij}$. The idea is that setting variable $x_{ij}$ to TRUE corresponds to edge $a_ib_j$ being in the matching. For each vertex $i$, create the 2SAT expressions&#xA;$$ A_i = \bigwedge_{j &amp;lt; k} (¬x_{ij} ∨ ¬x_{ik}), \quad B_i := \bigwedge_{j&amp;lt;k} (¬x_{ji} ∨ ¬x_{ki}) $$&#xA;For $A_i$ to be satisfied, all but at most one of $x_{ij}$ has to be false. To see this, assume both $x_{ij}$ and $x_{ik}$ are true. Then $(¬x_{ij} ∨ ¬x_{ik})$ is false, and so is $A_i$. The same holds for $B_i$. Letting&#xA;$$ C = \bigwedge_{i=1}^n A_i ∧ \bigwedge_{i=1}^m B_i $$&#xA;we have that $C$ is satisfied if and only if each vertex in $G$ is incident to at most one edge we&#xA;choose, and thus the edges form a matching.&lt;/p&gt;&#xA;" OwnerUserId="17064" LastEditorUserId="17064" LastEditDate="2016-02-10T02:55:34.410" LastActivityDate="2016-02-10T02:55:34.410" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="33784" PostTypeId="2" ParentId="33723" CreationDate="2016-02-10T00:22:20.707" Score="2" Body="&lt;p&gt;Isn't the solution a one-counter language? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The succession of the domino's is easily seen as a finite state restriction. For the unequality of $u'$ and $v'$ you have to find a single position where these strings differ. Keep track of $|u'|-|v'|$ during computation on the stack. You just nondeterministically choose such a letter, on a position of the longest of $u'$ and $v'$. Then keep simulating until the shortest string comes alongside with that same position.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I know this construction from a short paper (Prefix and equality languages of rational functions are co-context-free IPL 28 (1988) 77-79): &quot;Theorem. For every two rational functions F and G, the complement of their prefix language Pref(F,G) is a one-counter language&quot;. &#xA;However that technique is a slight variation from an earlier result by J. Berstel: Every iterated morphism yields a co-cfl, Inform. Process. Lett. 22 (1986) 7-9.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Provided of course, I read your definition in the right way.&lt;/p&gt;&#xA;" OwnerUserId="12122" LastActivityDate="2016-02-10T00:22:20.707" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="33786" PostTypeId="2" ParentId="33781" CreationDate="2016-02-10T08:22:08.673" Score="1" Body="&lt;p&gt;The short answer is: no, there is no such lower bound.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $p$ be a positive integer.&#xA;Let $\epsilon = \frac{1}{p}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Put points at coordinates $(i \epsilon, j \epsilon)$ for $i,j \in \{ 0 \dots p \}$, and at coordinates $(i \epsilon + \frac{\epsilon}{2}, j \epsilon + \frac{\epsilon}{2})$ for $i,j \in \{ 1 \dots p \}$.&#xA;You end up with $n = (p+1)^2 + p^2$ points, and a triangulation in which all triangles are both right and isosceles. So all angles are either $\frac{\pi}{2}$ or $\frac{\pi}{4}$, and the minimal distance between two points is $\frac{\epsilon}{\sqrt{2}}$.&lt;/p&gt;&#xA;" OwnerUserId="32683" LastActivityDate="2016-02-10T08:22:08.673" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33787" PostTypeId="1" CreationDate="2016-02-10T08:31:03.443" Score="3" ViewCount="225" Body="&lt;p&gt;The book &lt;a href=&quot;https://en.wikipedia.org/wiki/Proofs_from_THE_BOOK&quot; rel=&quot;nofollow&quot;&gt;&quot;Proofs from The Book&quot;&lt;/a&gt;, referencing Erdős' notion of God's book, which contains the most beautiful proofs, was published in 1998.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Are there any new proofs that should be considered for &quot;The Book&quot;?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;While this is somewhat opinion-based, I think the voting platform in our community is an excellent way to rank the beauty of proofs. &lt;/p&gt;&#xA;" OwnerUserId="7531" LastActivityDate="2016-02-10T08:31:03.443" Title="New proofs from &quot;The Book&quot;" Tags="&lt;big-list&gt;&lt;proofs&gt;" AnswerCount="0" CommentCount="9" FavoriteCount="1" ClosedDate="2016-02-19T08:37:57.987" ContentLicense="CC BY-SA 3.0" />
  <row Id="33788" PostTypeId="2" ParentId="33778" CreationDate="2016-02-10T10:14:21.593" Score="6" Body="&lt;p&gt;Like Emil says, the answer is yes, because the length (in binary) of the input string is actually computable by a deterministic logtime Turing machine, so is &lt;em&gt;a fortiori&lt;/em&gt; in $\mathsf{FO}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You may find this stated as Lemma 13 of Buss's &lt;a href=&quot;http://www.math.ucsd.edu/~sbuss/ResearchWeb/Boolean/paper.pdf&quot;&gt;The Boolean formula value problem is in ALOGTIME&lt;/a&gt;.  The idea, attributed to Dowd, is to use the query tape to do binary search (under the convention that the machine gets an &quot;out of range&quot; response if the query tape contains a binary number exceeding the length of the input).  I cut-and-paste the proof for quick reference (the number $n$ referenced in the proof is the length of the input, i.e., the desired output; the &quot;index tape&quot; is what Emil and I called query tape):&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;The [...] Turing machine proceeds as follows. First determine the least value of $i$ such that $n &amp;lt; 2^i$: this is easily done in $O(\log n)$ time since we assume that the index tape and its tape head are unaffected when the input tape is accessed. Once the value $2^i$ is obtained, written on the [index] tape, it is now easy to do a binary search to determine the value of $n$. Finally the index tape is copied to the output tape.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;(NB: the paper actually says &quot;Once the value $2^i$ is obtained, written on the &lt;em&gt;input&lt;/em&gt; tape&quot;, etc., but it must be a typo, the computation described is obviously done by writing on the index/query tape. Besides, the input tape is usually read-only in this setting).&lt;/p&gt;&#xA;" OwnerUserId="20716" LastEditorUserId="20716" LastEditDate="2016-02-10T11:48:47.550" LastActivityDate="2016-02-10T11:48:47.550" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="33791" PostTypeId="1" AcceptedAnswerId="33793" CreationDate="2016-02-10T16:36:15.487" Score="6" ViewCount="249" Body="&lt;p&gt;I was reading the GCT IV paper (&lt;a href=&quot;http://arxiv.org/pdf/cs/0703110v4.pdf&quot;&gt;http://arxiv.org/pdf/cs/0703110v4.pdf&lt;/a&gt;) and while the representation theory is clear enough (by which I do not mean to say 'easy'!) the relation to complexity theory as stated in the introduction confuses me. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I quote:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;The flip suggests that separating the classes P and NP will require solving difficult positivity problems in algebraic geometry and representation theory. A central positivity problem arising here is the following&#xA;  fundamental problem in the representation theory of the symmetric group.&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;Let $S_r$ denote the symmetric group on $r$ letters and let $M_\nu$ denote the $S_r$-irreducible corresponding to the partition $\nu$. Given three partitions λ, µ, ν of r, the Kronecker coefficient $g_{\lambda \mu \nu}$ is defined to be the multiplicity of $M_\nu$ in the tensor product $M_\lambda \otimes M_\mu$. (...)&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;Problem 1.1 (Kronecker problem). Find a positive combinatorial formula for the Kronecker coefficients $g_{\lambda \mu \nu}$.&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;There are two precise related problems in complexity theory that arise in the flip: (1) find a (positive) #P formula for Kronecker coefficients, and harder, (2) find a polynomial time algorithm to determine whether a Kronecker coefficient is zero.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;My questions are:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A) When they say polynomial time in question (2), what is the input size here? I found it easy to find a $O(d^3)$ algorithm where $d$ is the product of the dimensions of the vector spaces $M_\lambda, M_\mu, M_\nu$, so apparently they are thinking of something smaller than that. But what? The number $r$? How do we know that the dimensions are not polynomial in $r$? (It seems to me they are polynomial in $r$ but with an exponent that depends on the number of elements in the partition, so maybe that doesn't count as truly polynomial?)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;B) How can question (2) be harder than question (1) when, obviously, any solution to question (1) gives you a solution to question (2). (At least I find it hard to imagine a world where an algorithm to compute a number doesn't give you an algortithm to tell if that number is zero.) The $P$ in $\#P$ also means 'polynomial time', right?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It looks like I am missing something really obvious here but what?&lt;/p&gt;&#xA;" OwnerUserId="36207" LastActivityDate="2016-02-10T20:19:08.780" Title="Two extremely naive questions about the Kronecker problem from Geometric Complexity Theory" Tags="&lt;polynomial-time&gt;&lt;gct&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33793" PostTypeId="2" ParentId="33791" CreationDate="2016-02-10T19:50:20.950" Score="7" Body="&lt;p&gt;A) The input here is the triple of partitions $(\lambda, \mu, \nu)$, represented as sequences of numbers in binary. The dimension of the irreducible representation $M_{\lambda}$ can actually be exponential in $r$, take for example the hook partition $n + 1, 1, 1, \dots, 1 \vdash 2n + 1$. Using the hook formula for the dimension we get $\frac {(2n)!}{(n !)^2}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;B) The $P$ in $\# P$ means polynomial time, but the $\#$ in $\#P$ means &quot;count computation paths of a nondeterministic machine&quot;. An example of $\#P$ problem is $\#SAT$ (count the number of satisfying assignments for a given formula), and the corresponding decision problem is $SAT$, which is probably not in $P$.&lt;/p&gt;&#xA;" OwnerUserId="7470" LastEditorUserId="7470" LastEditDate="2016-02-10T20:19:08.780" LastActivityDate="2016-02-10T20:19:08.780" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33794" PostTypeId="1" CreationDate="2016-02-10T20:37:02.927" Score="2" ViewCount="70" Body="&lt;p&gt;Are there any fundamental limitations (impossibility results) known for &lt;a href=&quot;https://en.wikipedia.org/wiki/Similarity_learning&quot; rel=&quot;nofollow&quot;&gt;metric learning&lt;/a&gt;? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there any direct connection reduction from/to that I can use results in clustering? (e.g. &lt;a href=&quot;https://www.cs.cornell.edu/home/kleinber/nips15.pdf&quot; rel=&quot;nofollow&quot;&gt;this&lt;/a&gt;: &lt;a href=&quot;https://www.cs.cornell.edu/home/kleinber/nips15.pdf&quot; rel=&quot;nofollow&quot;&gt;2&lt;/a&gt; ) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://www.cs.cornell.edu/home/kleinber/nips15.pdf&quot; rel=&quot;nofollow&quot;&gt;2&lt;/a&gt; Kleinberg, Jon. &quot;An impossibility theorem for clustering.&quot; Advances in neural information processing systems (2003): 463-470. &lt;/p&gt;&#xA;" OwnerUserId="15645" LastEditorUserId="15645" LastEditDate="2016-02-11T23:39:18.550" LastActivityDate="2016-02-11T23:39:18.550" Title="Impossibility result on metric learning?" Tags="&lt;machine-learning&gt;&lt;st.statistics&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33796" PostTypeId="2" ParentId="32783" CreationDate="2016-02-11T08:32:36.327" Score="2" Body="&lt;p&gt;The answer is basically yes, if we take into account the hidden assumption that the degree of the group is at most $n$. More precisely, let $G_1, G_2$ with $|G_1|=| G_2|=n$ be finite permutation groups acting on a set $\Omega$. Then existence of a permutational isomorphism between $G_1$ and $G_2$ can be checked in time $n^{\log_2 n} \cdot {\max(|\Omega|,n)}^{O(1)}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As suggested in the question, a permutation group has a base and corresponding &lt;a href=&quot;https://en.wikipedia.org/wiki/Strong_generating_set&quot; rel=&quot;nofollow noreferrer&quot;&gt;strong generating set&lt;/a&gt; (SGS) of size at most $\log_2 n$, and both can be computed in time polynomial in $n$. But this isn't even needed, any generating set of size at most $\log_2 n$ is enough.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;After computing such a generating set for $G_1$, the algorithm simply maps successively each element of the generating set to an element of $G_2$, and checks for each such mapping whether it leads to an isomorphism of $G_1$ and $G_2$. For those who do, the algorithm then checks whether there is a permutation of $\Omega$ inducing that isomorphism (for example by a &lt;a href=&quot;https://mathoverflow.net/questions/162428/the-simultaneous-conjugacy-problem-in-the-symmetric-group-s-n/162453#162453&quot;&gt;canonical labeling technique&lt;/a&gt;, which is closely related to a &lt;a href=&quot;https://gentzen.wordpress.com/2015/11/15/a-canonical-labeling-technique-by-brendan-mckay-and-isomorphism-testing-of-deterministic-finite-automata/&quot; rel=&quot;nofollow noreferrer&quot;&gt;similar technique for deterministic finite automata&lt;/a&gt;, but &lt;a href=&quot;https://mathoverflow.net/a/222511&quot;&gt;more group theoretic methods&lt;/a&gt; also work). Those checks can be done in time ${\max(|\Omega|,n)}^{O(1)}$, and because there are at most $n^{\log_2 n}$ such mappings, and every isomorphism between $G_1$ and $G_2$ is determined by such a mapping, the above time bound follows.&lt;/p&gt;&#xA;" OwnerUserId="20340" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2016-02-11T08:32:36.327" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="33797" PostTypeId="1" CreationDate="2016-02-11T16:41:40.457" Score="1" ViewCount="117" Body="&lt;p&gt;Recently I read &lt;a href=&quot;http://www.cs.bme.hu/~dmarx/papers/marx-focs2007-ptas.pdf&quot; rel=&quot;nofollow&quot;&gt;this paper&lt;/a&gt; which was published in FOCS2007. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In section 4, just before Theorem 4.2, the author mentioned that the gadget construction of Minimum Dominating Set in UDG is similar to that of Maximal Independent Set. But it seemed a little bit difficult to find out the actual gadget construction for Minimal DS in UDG. Could you please give some more details about this construction?&lt;/p&gt;&#xA;" OwnerUserId="37562" LastActivityDate="2016-02-11T16:41:40.457" Title="L-reduction From Matrix-Tiling To Minimal Dominating Set in Unit Disk Graph" Tags="&lt;approximation-algorithms&gt;&lt;reductions&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="33799" PostTypeId="2" ParentId="33669" CreationDate="2016-02-11T21:04:24.380" Score="1" Body="&lt;p&gt;It is common wisdom that database field is firmly grounded in the two math disciplines: predicate logic and set theory. However, this is very fuzzy observation, and reality is more subtle.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The structure of the basic building block - relation - is described in set language, but that's about it. This is not really very insightful, because the whole mathematics is written in set language. The fact that probably caught your attention is that the foundation of SQL - relational algebra - has distinct Boolean flavor.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Please also note that SQL actually operates not with relations but multirelations which are bags(multisets) of tuples(rows). Therefore, its algebra is not a [boolean] algebra of sets. There were various attempts at rigorous theory of multirelations, with &lt;a href=&quot;https://www.google.com/search?q=provenance%20semirings&amp;amp;oq=provenance%20semiring&amp;amp;aqs=chrome.0.0j69i57.4959j0j7&amp;amp;sourceid=chrome&amp;amp;es_sm=93&amp;amp;ie=UTF-8#q=provenance%20semiring%20bag%20semantics&quot; rel=&quot;nofollow&quot;&gt;provenance semiring&lt;/a&gt; being the most recent development    &lt;/p&gt;&#xA;" OwnerUserId="3213" LastActivityDate="2016-02-11T21:04:24.380" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33800" PostTypeId="1" AcceptedAnswerId="33814" CreationDate="2016-02-12T03:28:14.847" Score="8" ViewCount="394" Body="&lt;p&gt;I'm trying to understand the paper &lt;a href=&quot;https://www.andres-loeh.de/PiSigma/PiSigma.pdf&quot;&gt;ΠΣ: Dependent Types without the Sugar&lt;/a&gt; by implementing an interpreter and type checker for the language. In doing so, I've seen that the &lt;code&gt;unfold t as x -&amp;gt; u&lt;/code&gt; syntax for recursive definitions (syntax is defined in Section 2.1) binds a variable, but I don't see why that's needed. None of the examples in the paper actually use the variable binding -- they all use a shorthand form &lt;code&gt;unfold t&lt;/code&gt; (meaning &lt;code&gt;unfold t as x -&amp;gt; x&lt;/code&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I &lt;em&gt;do&lt;/em&gt; see that the type checking rule for it (from section 5) uses the variable binding, but I don't understand the implications of this. As far as I can tell &lt;code&gt;unfold t as x -&amp;gt; u&lt;/code&gt; is entirely equivalent to &lt;code&gt;let x = unfold t in u&lt;/code&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can someone provide an example of when the variable binding is helpful or necessary? Is there some term that type-checks with the long form of &lt;code&gt;unfold&lt;/code&gt; but not with the short form and &lt;code&gt;let&lt;/code&gt;?&lt;/p&gt;&#xA;" OwnerUserId="37403" LastEditorUserId="37403" LastEditDate="2016-02-12T03:38:12.360" LastActivityDate="2016-02-14T21:51:04.713" Title="PiSigma: why does 'unfold' bind a variable?" Tags="&lt;type-theory&gt;&lt;dependent-type&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33801" PostTypeId="2" ParentId="33744" CreationDate="2016-02-12T11:33:30.377" Score="4" Body="&lt;p&gt;NEW ANSWER: the following simple algorithm is asymptotically optimal:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Stretch each of the rectangles &lt;span class=&quot;math-container&quot;&gt;$C_i$&lt;/span&gt; arbitrarily, to the maximal extent possible such that the rectangles remain pairwise-disjoint.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The number of holes is at most &lt;span class=&quot;math-container&quot;&gt;$k-2$&lt;/span&gt;. This is asymptotically optimal, as there are configurations in which the number of holes is at least &lt;span class=&quot;math-container&quot;&gt;$k-O(\sqrt k)$&lt;/span&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The proofs are in &lt;a href=&quot;https://epubs.siam.org/doi/abs/10.1137/16M110407X&quot; rel=&quot;nofollow noreferrer&quot;&gt;this paper&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;OLD ANSWER:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The following algorithm, while not optimal, is apparently sufficient for finding a rectangle-preserving partition with &lt;span class=&quot;math-container&quot;&gt;$N=O(n)$&lt;/span&gt; parts.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The algorithm works with a rectilinear polygon &lt;span class=&quot;math-container&quot;&gt;$P$&lt;/span&gt;, which is initialized to the rectangle &lt;span class=&quot;math-container&quot;&gt;$C$&lt;/span&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Phase 1:&lt;/strong&gt; Pick a rectangle &lt;span class=&quot;math-container&quot;&gt;$C_i$&lt;/span&gt; which is adjacent to a western boundary of &lt;span class=&quot;math-container&quot;&gt;$P$&lt;/span&gt; (i.e, there is no other rectangle &lt;span class=&quot;math-container&quot;&gt;$C_j$&lt;/span&gt; between the western side of &lt;span class=&quot;math-container&quot;&gt;$C_i$&lt;/span&gt; and a western boundary of &lt;span class=&quot;math-container&quot;&gt;$P$&lt;/span&gt;). Place &lt;span class=&quot;math-container&quot;&gt;$C_i$&lt;/span&gt; within &lt;span class=&quot;math-container&quot;&gt;$P$&lt;/span&gt; and stretch it until it touches the western boundary of &lt;span class=&quot;math-container&quot;&gt;$P$&lt;/span&gt;. Let &lt;span class=&quot;math-container&quot;&gt;$E_i$&lt;/span&gt; (for &lt;span class=&quot;math-container&quot;&gt;$i=1,\dots,n$&lt;/span&gt;) be the stretched version of &lt;span class=&quot;math-container&quot;&gt;$C_i$&lt;/span&gt;. Let &lt;span class=&quot;math-container&quot;&gt;$P=P\setminus E_i$&lt;/span&gt;. Repeate Phase 1 &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt; times until all &lt;span class=&quot;math-container&quot;&gt;$n$&lt;/span&gt; original rectangles are placed and stretched. In the image below, a possible order of placing the rectangles is &lt;span class=&quot;math-container&quot;&gt;$C_1,C_2,C_4,C_3$&lt;/span&gt;:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://i.stack.imgur.com/KHiTu.png&quot; rel=&quot;nofollow noreferrer&quot;&gt;&lt;img src=&quot;https://i.stack.imgur.com/KHiTu.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, &lt;span class=&quot;math-container&quot;&gt;$P$&lt;/span&gt; is a rectilinear polygon (possibly disconnected), like this:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://i.stack.imgur.com/4cANr.png&quot; rel=&quot;nofollow noreferrer&quot;&gt;&lt;img src=&quot;https://i.stack.imgur.com/4cANr.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I claim that the number of &lt;em&gt;concave vertices&lt;/em&gt; in &lt;span class=&quot;math-container&quot;&gt;$P$&lt;/span&gt; is at most &lt;span class=&quot;math-container&quot;&gt;$2n$&lt;/span&gt;. This is because, whenever a stretched rectangle is removed from &lt;span class=&quot;math-container&quot;&gt;$P$&lt;/span&gt;, there are 3 possibilities:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;2 new concave vertices are added (like when placing &lt;span class=&quot;math-container&quot;&gt;$C_1,C_4$&lt;/span&gt;);&lt;/li&gt;&#xA;&lt;li&gt;3 new concave vertices are added and 1 is removed (like with &lt;span class=&quot;math-container&quot;&gt;$C_3$&lt;/span&gt;);&lt;/li&gt;&#xA;&lt;li&gt;4 new concave vertices are added and 2 are removed (like with &lt;span class=&quot;math-container&quot;&gt;$C_2$&lt;/span&gt;).&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Phase 2:&lt;/strong&gt; Partition &lt;span class=&quot;math-container&quot;&gt;$P$&lt;/span&gt; into axis-parallel rectangles using an existing algorithm (see &lt;a href=&quot;https://mpen.ca/406/files/PolygonDecomp-Keil.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Keil 2000, pages 10-13&lt;/a&gt; and &lt;a href=&quot;http://arxiv.org/pdf/0908.3916.pdf&quot; rel=&quot;nofollow noreferrer&quot;&gt;Eppstein 2009, pages 3-5&lt;/a&gt; for a review).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Keil cites a theorem that says that the number of rectangles in a minimal partition is bounded by 1 + the number of concave vertices. Hence, in our case the number is at most &lt;span class=&quot;math-container&quot;&gt;$2n+1$&lt;/span&gt;, and the total number of rectangles in the partition is &lt;span class=&quot;math-container&quot;&gt;$N\leq 3n+1$&lt;/span&gt;.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;This algorithm is not optimal. E.g, in the above example it gives &lt;span class=&quot;math-container&quot;&gt;$N=13$&lt;/span&gt; while the optimal solution has &lt;span class=&quot;math-container&quot;&gt;$N=5$&lt;/span&gt;. So two questions remain:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A. Is this algorithm correct?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;B. Is there a polynomial-time algorithm for finding the optimal &lt;span class=&quot;math-container&quot;&gt;$N$&lt;/span&gt;, or at least a better approximation?&lt;/p&gt;&#xA;" OwnerUserId="9453" LastEditorUserId="9453" LastEditDate="2018-11-18T06:06:12.073" LastActivityDate="2018-11-18T06:06:12.073" CommentCount="2" ContentLicense="CC BY-SA 4.0" />
  <row Id="33804" PostTypeId="2" ParentId="33754" CreationDate="2016-02-12T21:58:32.037" Score="4" Body="&lt;p&gt;NAUTY &quot;colors&quot; nodes with constant depth neighborhood canonical forms. Babai's new algo does likewise with log size neighborhoods.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The kicker is that in a random graph the diameter is about log n, so you end up gobbling the whole thing.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Definitely worth doing for sparse graphs, can really cut down the state space you need to search. Also when you have to go brute force, only check repeated prime cycles, not all k! &lt;a href=&quot;https://oeis.org/A186202&quot;&gt;https://oeis.org/A186202&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="2021" LastActivityDate="2016-02-12T21:58:32.037" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="33808" PostTypeId="1" AcceptedAnswerId="33838" CreationDate="2016-02-13T23:16:24.017" Score="-3" ViewCount="64" Body="&lt;p&gt;The question concerns two fields - multiagent systems in AI and in software engineering. As the source of the term comes from the AI field, I ask the question here.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Traditionally multiagent system (MAS) is understood as a system with BDI agents - i.e. field of AI.&#xA;But in software engineering by MAS they sometimes call systems that just consist of agents with behaviour,&#xA;like peer-to-peer networks, regardless if they have such intelligent aspects as belief, desire, intelligence.&#xA;Is it correct to use MAS word for such systems?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I've checked wiki (multiagent system, agent based model, software agent), googled, checked relevant journals etc but the issue is still vague.&lt;/p&gt;&#xA;" OwnerUserId="3633" LastActivityDate="2016-02-16T17:52:15.987" Title="Is it correct to call systems with agents without BDI multi-agent systems?" Tags="&lt;dc.distributed-comp&gt;&lt;ai.artificial-intel&gt;" AnswerCount="1" CommentCount="0" ClosedDate="2016-02-16T22:32:59.840" ContentLicense="CC BY-SA 3.0" />
  <row Id="33809" PostTypeId="1" CreationDate="2016-02-14T01:14:03.657" Score="4" ViewCount="736" Body="&lt;p&gt;Suppose you have $m$ $n$ by $n$ matrices $M_1,M_2,\dotsc,M_m$, and you want to calculate their product $\prod_{i=1}^{m} M_i$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The naive method use $m \cdot poly(n)$ times but needs $poly(n)$ memory. I am wondering can there be any algorithm with $polylog(n,m)$ memory but still $m \cdot poly(n)$ or $poly(n,m)$ running time. It sounds like an old problem but I couldn't find any reference.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that using the divide and conquer technique (like in Savitch's theorem), we can achieve $polylog(n,m)$ memory and $m \cdot n^{O(\log m)}$ running time.&lt;/p&gt;&#xA;" OwnerUserId="37670" LastActivityDate="2016-02-14T19:58:46.237" Title="Space complexity for multiplying $m$ matrices" Tags="&lt;lower-bounds&gt;&lt;matrix-product&gt;&lt;space-complexity&gt;" AnswerCount="1" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="33810" PostTypeId="2" ParentId="33809" CreationDate="2016-02-14T08:13:11.473" Score="2" Body="&lt;p&gt;Letting m be [number of vertices minus 1] and letting each matrix be&#xA;&lt;br&gt;&#xA;[the &lt;a href=&quot;https://en.wikipedia.org/wiki/Adjacency_matrix&quot; rel=&quot;nofollow&quot;&gt;adjacency matrix&lt;/a&gt; of the result of giving the vertex t a &lt;a href=&quot;https://en.wikipedia.org/wiki/Loop_(graph_theory)&quot; rel=&quot;nofollow&quot;&gt;loop&lt;/a&gt;]&#xA;&lt;br&gt;&#xA;gives a reduction from &lt;a href=&quot;https://en.wikipedia.org/wiki/St-connectivity&quot; rel=&quot;nofollow&quot;&gt;st-connectivity&lt;/a&gt; to your problem, so &lt;a href=&quot;http://epubs.siam.org/doi/pdf/10.1137/S0097539793283151&quot; rel=&quot;nofollow&quot;&gt;no such algorithm is known&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerDisplayName="user6973" LastEditorDisplayName="user6973" LastEditDate="2016-02-14T19:58:46.237" LastActivityDate="2016-02-14T19:58:46.237" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33812" PostTypeId="1" AcceptedAnswerId="33822" CreationDate="2016-02-14T17:32:04.303" Score="8" ViewCount="300" Body="&lt;p&gt;It seems to be well-known that &lt;a href=&quot;https://www.reddit.com/r/ocaml/comments/3ifwe9/what_are_ocamlers_critiques_of_haskell/czsri44&quot;&gt;programming languages can't have sums, products and nontermination&lt;/a&gt; together.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Q1&lt;/strong&gt;. Is this true? Below (or in the above link I gave) is a partial argument.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, Hinze's &lt;em&gt;&lt;a href=&quot;https://scholar.google.com/scholar?cluster=681136108835857952&amp;amp;hl=en&amp;amp;as_sdt=0,5&quot;&gt;Generic programming with Adjunctions&lt;/a&gt;&lt;/em&gt; ignores the issue, even after discussing somewhat precisely which is the involved category. In particular, he talks (seemingly without reservations) about Haskell being modeled by the category $\mathbf{SCpo}$ of strict continuous partial orders and having sums and products. But we know that Haskell does not have sums (right?).&#xA;(Part of the paper uses $\mathbf{Set}$ instead, but that doesn't allow for non-termination).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Q2&lt;/strong&gt;&#xA;So, what am I missing? I see four options:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;People often ignore non-termination on purpose when discussing Haskell. Perhaps this paper does it too. But why would one mention CPOs then?&lt;/li&gt;&#xA;&lt;li&gt;The barrier I discuss can be avoided in clever ways. In particular, the paper models non-strict Haskell functions $f : A \to B$ by strict functions $f : A_{\bot} \to B$, for other reasons.&lt;/li&gt;&#xA;&lt;li&gt;The paper does mention the limitation and I missed that. I've spent some effort looking for this mention and failed to find any.&lt;/li&gt;&#xA;&lt;li&gt;This is an actual mistake, and as everybody keeps claiming Haskell indeed lacks categorical sums (as other people agree on), even though the paper claims &lt;code&gt;Either&lt;/code&gt; is such a thing. Everything works out nicely instead in total languages with inductive and coinductive types.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;h2&gt;Background&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;It's well known that, in a bicartesian closed category (BCCC), if the initial and final object coincide (that is, if the category has a zero object) the category collapses (with all types being isomorphic) by $A \cong  A \times 1 \cong A \times 0 \cong 0$ for all $A$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This means, for instance, that the &lt;a href=&quot;https://en.wikipedia.org/wiki/Pointed_set&quot;&gt;category of pointed sets&lt;/a&gt;, with its zero object, can't be bicartesian closed.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But the category SCpo also has a zero object for the same reason: all objects are structured sets (CPOs) with a bottom element $\bot$, and arrows are strict (and ($\omega$-)continuous) functions, so they preserve $\bot$. Indeed, this is attributed to Smyth and Plotkin (1982), who describe this category as $\mathbf{CPO}_{\bot}$ and state it lacks categorical products; other categories they consider lack other features of a BiCCC (e.g., their $\mathbf{CPO}$ lacks sums).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is not clear to me is whether every way of handling $\bot$ falls into this trap. However, knowledgeable people on Reddit seem to repeat this claim without good sources (Filinski's master thesis was the best reference I got, and it doesn't lay out a generic categorical argument).&lt;/p&gt;&#xA;" OwnerUserId="989" LastActivityDate="2016-02-15T15:23:59.530" Title="A bicartesian closed category of strict complete partial orders (Hask)" Tags="&lt;pl.programming-languages&gt;&lt;ct.category-theory&gt;&lt;haskell&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="33814" PostTypeId="2" ParentId="33800" CreationDate="2016-02-14T21:51:04.713" Score="1" Body="&lt;p&gt;I don't think there's any magic/necessary reason. IMO, it's written that way to make it more straightforwardly obvious that &lt;code&gt;unfold&lt;/code&gt; is an analytic/checking elimination rule; just like why &lt;code&gt;split&lt;/code&gt; is written the way it is rather than being written as first and second projections, and why &lt;code&gt;case&lt;/code&gt; is written the way it is rather than being written like &lt;code&gt;uneither&lt;/code&gt; in Haskell. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Re the &quot;analytic&quot; bit, note how the other elimination rules are either synthetic/inferring (beta) or bidirectional (bang)&lt;/p&gt;&#xA;" OwnerUserId="1808" LastActivityDate="2016-02-14T21:51:04.713" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33815" PostTypeId="1" CreationDate="2016-02-14T22:49:29.137" Score="2" ViewCount="158" Body="&lt;p&gt;It seems to be commonly believed that quantum computer cannot efficiently solve NP-hard problems. What about the challenging problems in average-case, such as Planted Clique and Random 3-SAT?&lt;/p&gt;&#xA;" OwnerUserId="32044" LastActivityDate="2016-02-14T22:49:29.137" Title="Quantum computer versus Random 3-SAT?" Tags="&lt;np-hardness&gt;&lt;complexity-classes&gt;&lt;quantum-computing&gt;&lt;average-case-complexity&gt;" AnswerCount="0" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33822" PostTypeId="2" ParentId="33812" CreationDate="2016-02-15T15:23:59.530" Score="11" Body="&lt;p&gt;Yes, it's impossible to have a nondegenerate CCC with general recursion and categorical coproducts. The standard reference for this is:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;H. Huwig and A. Poigne. &lt;em&gt;A note on inconsistencies caused by fixpoints  in a cartesian closed category.&lt;/em&gt; Theoretical Computer Science, 73:101–112, 1990.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;However, I and (most of the other people I've met) learned about it from Achim Jung and Samson Abramsky's handbook chapter &lt;a href=&quot;http://www.cs.bham.ac.uk/~axj/pub/papers/handy1.pdf&quot;&gt;&lt;em&gt;Domain Theory&lt;/em&gt;&lt;/a&gt;, which they have kindly made available for free. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Most of the categories of domains that people work with are subcategories of DCPO, the category of predomains and continuous functions on them. Since predomains do not necessarily have a least fixed point, this category &lt;em&gt;is&lt;/em&gt; a bi-CCC, but fixed points only exist for functions into domains. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;On page 46 of these notes, there is a big table telling you which subcategory of DCPO different constructions exist in. &lt;/p&gt;&#xA;" OwnerUserId="657" LastActivityDate="2016-02-15T15:23:59.530" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33823" PostTypeId="2" ParentId="33712" CreationDate="2016-02-15T15:50:53.790" Score="2" Body="&lt;p&gt;One simple &quot;bad&quot; input that needs to be considered for worst-case analysis of this problem is as follows.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $c=(\sqrt{17}-1)/2 \approx 1.56$.&#xA;There are three objects of size $c$, $1$, and $1$.&#xA;There are two bins of size $2$ and $c$.&#xA;Initially $a=1$.&#xA;Some heuristics will place the largest object into the big bin, necessitating $a$ increasing from 1 to at least $(c+1)/2 = 2/c &amp;gt; 1.2807$.&#xA;An optimal packing leaves $a=1$, placing the two small objects into the big bin and the big object into the smaller bin, with no waste.&#xA;Hence such heuristics will have a worst-case actual-to-optimal ratio of more than 1.2807.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Notwithstanding this worst-case analysis, a heuristic like the one described in the edited question is likely to work well for practical examples, even if its worst-case performance is at least 28% worse than optimal.&#xA;Similar heuristics are often used in practice, sometimes with adjustments like &quot;instead of the general criterion, prefer a bin that is only a tiny bit larger than the object to be placed, if one such exists&quot;.&#xA;Most implemented heuristics I'm familiar with are a big mess of such case analysis, but work extremely well in practice.&#xA;However, it is often quite hard to come up with badly behaved inputs for such complex algorithms, and it is even harder to prove that they are the worst possible.&lt;/p&gt;&#xA;" OwnerUserId="109" LastActivityDate="2016-02-15T15:50:53.790" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33824" PostTypeId="2" ParentId="33754" CreationDate="2016-02-15T16:02:09.643" Score="5" Body="&lt;p&gt;This is actually how many graph isomorphism algorithms work (often in combination with Weisfeiler-Lehman). For example, bounded color class isomorphism (Luks 1983) works by first finding isomorphisms within each color class, then combining those using the edges between color classes. Zemlyachenko's trick could then be used to individualize $\tilde{O}(\sqrt{n})$ vertices, so that the resulting graph had bounded color classes (which led to the previous-best algorithm for GI).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Babai's recent algorithm does another kind of divide-and-conquer that is sort of along the lines you mention. It either finds a partition of the graph into small parts (where &quot;small&quot; here means some constant fraction smaller than the original graph; the result is that such recursion can only happen $O(\log n)$ times) or finds a large embedded Johnson scheme. In the latter case, it handles the Johnson scheme by a different recursive technique, but then handles the vertices that aren't in the Johnson scheme essentially along the lines you suggest. (Indeed, if you look at the table of contents of Babai's paper you will see there is quite a lot of talk about &quot;local to global&quot; principles, though it's not really the same &quot;local to global&quot; you're talking about here.)&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2016-02-15T16:02:09.643" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33825" PostTypeId="1" CreationDate="2016-02-15T18:10:04.597" Score="8" ViewCount="345" Body="&lt;p&gt;An $n \times n$ Boolean matrix $B$ has Boolean rank $k$ if there exist matrices $L \in \{0,1\}^{n \times k}$ and $R \in \{0,1\}^{k \times n}$, s.t. $B = L \circ R$. Here $\circ$ denotes the Boolean matrix product (i.e. $1+1 = 1$).&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What is the best upper bound we know for $|\{B \in \{0,1\}^{n \times n} : B \text{ has Boolean rank } \leq k\}|$?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;An equivalent question in terms of bipartite graphs is as follows:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;How many bipartite graphs $G = (V \cup U, E)$ with $|U| = |V| = n$ which can be covered with at most $k$ bicliques exist?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="34504" LastEditorUserId="34504" LastEditDate="2016-02-20T18:45:24.607" LastActivityDate="2016-02-20T18:45:24.607" Title="Upper Bound on Number of $n \times n$ Boolean matrices of Boolean rank at most $k$" Tags="&lt;reference-request&gt;&lt;graph-theory&gt;&lt;co.combinatorics&gt;&lt;upper-bounds&gt;&lt;boolean-matrix&gt;" AnswerCount="0" CommentCount="5" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33826" PostTypeId="1" CreationDate="2016-02-15T22:02:53.373" Score="5" ViewCount="243" Body="&lt;p&gt;Consider the following problem:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Input&lt;/strong&gt;: a complete bipartite graph $G$ with its edges colored either white or black, a number $k$.&lt;br&gt;&#xA;&lt;strong&gt;Output&lt;/strong&gt;: a subset of vertices $W$ of size $k$ which maximizes the following:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;number of black edges with both endpoints in $W$ + number of white edges with at most one endpoint in $W$&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;What is the complexity of this problem?&#xA;Is there a polynomial time algorithm (exact or approximate) for the problem? Could this problem be reduced to any classic Thoeretical CS problem, like the Max-Cut?&lt;/p&gt;&#xA;" OwnerUserId="37702" LastEditorUserId="37702" LastEditDate="2016-02-24T16:47:14.677" LastActivityDate="2016-02-24T23:01:08.420" Title="Maximizing the number of selected edges with opposing requirements" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;graph-theory&gt;&lt;approximation-algorithms&gt;&lt;approximation-hardness&gt;" AnswerCount="0" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33829" PostTypeId="1" CreationDate="2016-02-16T05:45:17.787" Score="3" ViewCount="172" Body="&lt;p&gt;(If this is better for programmers SE, let me know, but I imagined you guys would have more thorough answers)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm a mathematics major, but I have a pretty deep interest in CS (especially in compiler design, reverse engineering, etc). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.msreverseengineering.com/program-analysis-reading-list/&quot; rel=&quot;nofollow&quot;&gt;This site&lt;/a&gt; recommended &lt;a href=&quot;http://rads.stackoverflow.com/amzn/click/1846286913&quot; rel=&quot;nofollow&quot;&gt;a book on formal semantics&lt;/a&gt;. I imagine that a knowledge of semantics is useful there (but I'm not quite sure how, yet). Are there other fields in which this knowledge is directly useful, other than academic treatments of programming languages?&lt;/p&gt;&#xA;" OwnerUserId="32231" LastActivityDate="2016-02-16T12:53:31.167" Title="In what fields does a knowledge of formal semantics prove useful?" Tags="&lt;soft-question&gt;&lt;pl.programming-languages&gt;&lt;semantics&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="33831" PostTypeId="1" AcceptedAnswerId="33847" CreationDate="2016-02-16T07:21:37.383" Score="4" ViewCount="213" Body="&lt;p&gt;I am studying the &lt;a href=&quot;http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-851-advanced-data-structures-spring-2012/calendar-and-notes/&quot; rel=&quot;nofollow&quot;&gt;Advanced Data Structures&lt;/a&gt; material and I'd like to implement the &lt;strong&gt;Ordered-file maintenance&lt;/strong&gt; data structure. I have few questions in order to start.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The papers rely on a static view, where the data structure already contains elements, but I need to start from scratch. The data structure partitions an array of $N$ (circa) elements into chunks of $\log N$ elements, and each chunk is ordered. When inserting, I need to choose a chunk and insert into a blank spot, if I fill the chunk, I need to move and possibly reorder elements based on density in a binary tree fashion.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;At the beginning how many chunks do I have? I suppose &lt;em&gt;one&lt;/em&gt;. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;When the array is full according to the target density, do I need to &lt;em&gt;grow&lt;/em&gt; the array and how? I suppose yes, always by a power of two (number of chunks).&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Is there a possibility that a tree is &lt;em&gt;impossible&lt;/em&gt; to rearrange according to the density? I &lt;em&gt;hope not&lt;/em&gt;.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Is there any source code that I can take a loot at? &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;When $N$ changes do I need to change the chunk size accordingly? I think so.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Thanks!&lt;/p&gt;&#xA;" OwnerUserId="36496" LastEditorUserId="34745" LastEditDate="2016-02-17T20:11:03.313" LastActivityDate="2016-02-19T10:27:30.397" Title="Ordered-file maintenance" Tags="&lt;reference-request&gt;&lt;ds.data-structures&gt;&lt;total-ordering&gt;&lt;cache-oblivious&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="33832" PostTypeId="1" CreationDate="2016-02-16T10:49:22.183" Score="0" ViewCount="75" Body="&lt;p&gt;Assume we have two strings $S_1$ and $S_2$ of lengths $cn$ and $cm$ bits resepctively for some $c\in\Bbb N$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Assume that the Levenshtein distance (minimum number of single-character edits (i.e. insertions, deletions or substitutions)) between $S_1$ and $S_2$ over binary alphabet is $L(2)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For any $b$ such that $b&amp;gt;1$ and $b|c$ consider the strings $S_1$ and $S_2$ over alphabet $\{0,1,\dots,2^b-1\}$. Assume the Levenshtein distance between $S_1$ and $S_2$ over $b$-ary alphabet is $L(2^b)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there any relation between $L(2)$ and $L(2^b)$ in general?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can we say anything for LCS (minimum number of insertions or deletions) distance as well?&lt;/p&gt;&#xA;" OwnerUserId="1812" LastActivityDate="2016-04-29T09:24:38.830" Title="Relation between edit distances over different alphabets" Tags="&lt;edit-distance&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33833" PostTypeId="2" ParentId="33832" CreationDate="2016-02-16T11:39:03.567" Score="1" Body="&lt;p&gt;Obviously, $L(2^b) \leq L(2)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The Levenshtein distance is at most the length of the longest string, so $L(2^b) \leq \max(cn,cm) / b$ whereas $L(2) \leq \max(cn,cm)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;You cannot avoid $L(2^b)(S_1,S_2) = L(2)(S_1,S_2)$ when $L(2)(S_1,S_2) \leq \max(cn,cm) / b$:&#xA;consider for instance $b = c = 2$, $S_1 = 0^{2n}$ and $S_2 = (01)^{p} (00)^{n-p}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;When $L(2)(S_1,S_2) &amp;gt; \max(cn,cm) / b$, you cannot avoid $L(2^b)(S_1,S_2) = \max(cn,cm) / b$.&#xA;Consider for instance $b = c = 2$, $S_1 = 0^{2n}$ and $S_2 = 1^{2n}$.&lt;/p&gt;&#xA;" OwnerUserId="32683" LastActivityDate="2016-02-16T11:39:03.567" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33835" PostTypeId="2" ParentId="33829" CreationDate="2016-02-16T12:53:31.167" Score="6" Body="&lt;p&gt;Formal semantics is useful primarily when you want to reason about programs. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the past this was mainly done in programming language development (and to a lesser degree in compiler construction). Increasingly formal semantics is also used in automatic and interactive program verification, which is beginning to see industrial use. Since you are interested in compiler design, verified and certifying compilation is a hot research topic now that is based heavily on formal semantics. Check out the following systems.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;X. Leroy's &lt;a href=&quot;http://compcert.inria.fr/&quot;&gt;CompCert&lt;/a&gt;. This was the first verified compiler: a realistic, moderately-optimizing compiler for a large subset of the C language down to PowerPC and ARM assembly code.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The MPI's &lt;a href=&quot;http://plv.mpi-sws.org/pils/&quot;&gt;Pilsner&lt;/a&gt;, the first multi-pass compiler for a higher-order imperative language to be compositionally verified. Most prior work (such as CompCert) has focused on verifying whole-program compilers. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://cakeml.org/&quot;&gt;CakeML&lt;/a&gt;. A compiler for an ML dialect. The focus of CakeML is on minimising the trusted computing base, not on optimisation or on breadth of source language features.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;http://arxiv.org/abs/1601.05520&quot;&gt;Cogent&lt;/a&gt;. A certified compiler from a simple functional language with linear types (useful for reasoning about memory management) to C.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Progress on such compilers has been much swifter than many (including myself) anticipated, and I expect to see more and more of this work to seep into industrial compilers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem with formal semantics is rarely to write down the semantics of a language. That's usually simple.  The real issue is how efficiently to prove theorems about programs in a language using the semantics. &lt;/p&gt;&#xA;" OwnerUserId="898" LastActivityDate="2016-02-16T12:53:31.167" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33836" PostTypeId="1" CreationDate="2016-02-16T15:00:41.013" Score="9" ViewCount="263" Body="&lt;p&gt;Given a fixed directed graph (digraph) $D$, the $D$-COLORING decision problem asks whether an input digraph $G$ has a homomorphism to $D$. (A homomorphism of $G$ to $D$ is a mapping $f$ of $V(G)$ to $V(D)$ that preserves the arcs, that is, if $uv$ is an arc of $G$, then $f(u)f(v)$ is an arc of $D$.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The class of $D$-COLORING problems is strongly connected to the Dichotomy Conjecture for CSPs &lt;a href=&quot;http://dx.doi.org/10.1137/S0097539794266766&quot;&gt;stated by Feder and Vardi&lt;/a&gt; (accessible on &lt;a href=&quot;http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.123.7882&quot;&gt;citeseer&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In &lt;a href=&quot;http://dx.doi.org/10.1137/S0895480199383353&quot;&gt;this 2001 paper&lt;/a&gt; (accessible on the author's page, &lt;a href=&quot;http://theory.stanford.edu/~tomas/oriented.ps&quot;&gt;here&lt;/a&gt;), Feder proves a dichotomy theorem when $D$ is an oriented cycle (by &lt;em&gt;oriented cycle&lt;/em&gt; I mean an undirected cycle where each edge is replaced by a single arc, that can be oriented arbitrarily), in other words, he shows that for any oriented cycle $D$, $D$-COLORING is either polynomial-time solvable or NP-complete.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Unfortunately, Feder's classification is highly nontrivial and not explicit, as the complexity of many cases is related to the complexity of certain restricted variants of SAT that depend on the orientation. By looking at the paper, I have not been able to determine the answer to my question:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;b&gt;Question:&lt;/b&gt; What is the smallest size of an oriented cycle $D$ such that $D$-COLORING is NP-complete?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The answer might be stated somewhere in the literature, but I could not find it.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;b&gt;Edit:&lt;/b&gt; Let me give more details on Feder's classification. Feder shows that any NP-complete oriented cycle must be balanced, that is, have the same number of arcs in both directions (hence it has even order). Then, consider the &quot;levels&quot; induced by the orientation (start to go around the cycle at an arbitrary vertex; if an arc goes right, you go up by 1, if an arc goes left, you go down by 1). Then, if there is at most one &quot;top-bottom run&quot;, it is polynomial. If there are at least 3 such &quot;runs&quot; and the cycle is a core, it is NP-complete. (In András' example from the comments, there are three such &quot;runs&quot;, but the cycle is not a core.) The most tricky cases are those with two &quot;top-bottom runs&quot;. Some are hard, some polynomial, and Feder relates them to special SAT problems to obtain a dichotomy. I guess one could make a case-by-case analysis and see what kind of SAT problem it corresponds to...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As an intermediate question: What is the smallest oriented cycle that has three &quot;top-bottom&quot; runs and is a core? Such an example would be NP-complete by the above discussion.&lt;/p&gt;&#xA;" OwnerUserId="1930" LastEditorUserId="1930" LastEditDate="2016-02-19T17:55:21.897" LastActivityDate="2016-02-27T23:44:05.447" Title="Complexity of digraph homomorphism to an oriented cycle" Tags="&lt;reference-request&gt;&lt;graph-theory&gt;&lt;np-hardness&gt;&lt;csp&gt;&lt;homomorphism&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33838" PostTypeId="2" ParentId="33808" CreationDate="2016-02-16T17:52:15.987" Score="-1" Body="&lt;p&gt;After asking one kind scientist my implications are:&#xA;&quot;MAS&quot; could be used for agents with explicit or implicit BDI.&#xA;Or sometimes even with kinda obscurious BDI.&#xA;But not for &quot;passive&quot; components, even if they are active but don't have initiative. &lt;/p&gt;&#xA;" OwnerUserId="3633" LastActivityDate="2016-02-16T17:52:15.987" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33839" PostTypeId="1" CreationDate="2016-02-16T21:17:05.780" Score="1" ViewCount="483" Body="&lt;p&gt;I'd like to as a variation on &lt;a href=&quot;https://stackoverflow.com/questions/28833747/huffman-height-calculation-and-some-challenges&quot;&gt;this question regarding Huffman tree building&lt;/a&gt;. Is there any theory or rule of thumb to calculate the depth of a Huffman tree from the input (or frequency), without drawing tree. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Specific Example is : 10-Input Symbol with Frequency 1 to 10 is 5. the above question mentioned depth is 5.&lt;/p&gt;&#xA;" OwnerUserId="37717" LastEditorUserId="-1" LastEditDate="2017-05-23T12:40:09.333" LastActivityDate="2016-02-16T22:07:03.450" Title="Huffman Tree Depth, Is there any theory?" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;np-hardness&gt;&lt;ds.data-structures&gt;&lt;greedy-algorithms&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33840" PostTypeId="2" ParentId="33839" CreationDate="2016-02-16T22:07:03.450" Score="6" Body="&lt;p&gt;I don't know of a way to compute the length of the code exactly without constructing a Huffman code. And there may be more than one optimal Huffman code for a given set of weighted items, with different lengths. But there has been some related theory on lengths of Huffman codes:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Length-limited Huffman coding is a variant of Huffman coding where you are not allowed to use codewords longer than a given threshold. One can construct an optimal length-limited code in time $O(nL)$ where $n$ is the number of items and $L$ is the length bound; it is unknown whether this can be improved to match the time of unrestricted Huffman coding. See Larmore and Hirschberg, &quot;A fast algorithm for optimal length-limited Huffman codes&quot;, JACM 1990, and Turpin and Moffat, &quot;Practical length-limited coding for large alphabets&quot;, Computer J. 1995.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The length-limited problem was introduced earlier by Gilbert, &quot;Codes based on inaccurate source probabilities&quot;, IEEE Trans. Inf. Th. 1971, who also showed that it is possible to restrict the length to log_2 n + (log log n)^{1+o(1)} while increasing the expected length by at most one. In &quot;Restructuring ordered binary trees&quot;, J. Alg. 2004, Evans and Kirkpatrick write that restricting the length more strongly, to ceiling(log_2 n)+1, can force the expected length increase to be arbitrarily close to one. Evans and Kirkpatrick show that this strong length restriction can be obtained, even for alphabetic codes, with an expected increase in length of two.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2016-02-16T22:07:03.450" CommentCount="11" ContentLicense="CC BY-SA 3.0" />
  <row Id="33841" PostTypeId="1" CreationDate="2016-02-16T22:09:21.183" Score="2" ViewCount="119" Body="&lt;p&gt;Let $N=2^n$ for a natural number $n$ and $B$ be the $N\times N$ square matrix of $0$'s and $1$'s&#xA;$$&#xA;B=\begin{pmatrix}&#xA; 0     &amp;amp; 1 &amp;amp; 0 &amp;amp; \ldots &amp;amp; 0 \\&#xA; 1     &amp;amp; 0 &amp;amp; 1 &amp;amp; \ldots &amp;amp; 0 \\&#xA; 0     &amp;amp; 1 &amp;amp; \ddots &amp;amp; \ddots &amp;amp; \vdots \\&#xA; \vdots    &amp;amp; \vdots &amp;amp; \ddots &amp;amp; 0 &amp;amp; 1 \\&#xA; 0     &amp;amp; 0  &amp;amp; \ldots &amp;amp; 1 &amp;amp; 1 \\&#xA;\end{pmatrix}.&#xA;$$&#xA; Is there a way (FFT or another) to find the $N\times N$ diagonal matrix D, such that the eigenvalues of the product matrix $DB$ are&#xA;$$&#xA; 2\sin\left(\frac{k\pi}{2N}\right), \,\, k=1,2,\dots,N.&#xA;$$&#xA; The solution for an odd $N$ is in my old question: &lt;a href=&quot;https://math.stackexchange.com/questions/400664/eigenvalues-of-a-tridiagonal-trigonometric-matrix&quot;&gt;https://math.stackexchange.com/questions/400664/eigenvalues-of-a-tridiagonal-trigonometric-matrix&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="36968" LastEditorUserId="-1" LastEditDate="2017-04-13T12:19:19.363" LastActivityDate="2016-02-18T22:11:22.997" Title="On FFT and trigonometric matrix eigenvalues" Tags="&lt;quantum-computing&gt;&lt;matrices&gt;&lt;fourier-analysis&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33845" PostTypeId="1" CreationDate="2016-02-17T16:29:49.477" Score="16" ViewCount="786" Body="&lt;p&gt;Russell Impagliazzo published &lt;a href=&quot;http://dx.doi.org/10.1109/SCT.1995.514853&quot; rel=&quot;nofollow noreferrer&quot;&gt;&quot;A Personal View of Average-Case Complexity&quot;&lt;/a&gt; (&lt;a href=&quot;http://cseweb.ucsd.edu/~russell/average.ps&quot; rel=&quot;nofollow noreferrer&quot;&gt;preprint&lt;/a&gt;) back in 1995.&#xA;He presented five possible worlds we could be living in, depending on how P and NP were related.&#xA;The first world presented is Algorithmica, in which P = NP, &quot;or some moral equivalent&quot; such as NP being contained in BPP, or NP = RP ≠ P.&#xA;The remaining four worlds are all variants where P ≠ NP, and they are &quot;morally&quot; different, with differences between the algorithmic applications of hardness differntiating the worlds.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It seems to me that there is a large landscape inside Algorithmica, and I'm wondering:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;has anyone written about Algorithmica in more detail?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The best reference I have found so far is a &lt;a href=&quot;https://rjlipton.wordpress.com/2009/07/03/is-pnp-an-ill-posed-problem/&quot; rel=&quot;nofollow noreferrer&quot;&gt;blog post by Richard Lipton from 2009&lt;/a&gt; which briefly explores Algorithmica but doesn't go into much detail.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Although it seems unlikely that we are living in Algorithmica, understanding that landscape might still motivate interesting work.&#xA;For instance, it might highlight precisely what the world would have to look like for quantum factoring to be rendered irrelevant, or if quantum factoring is ignored, where classical factoring might still be challenging.&#xA;See the related question &lt;a href=&quot;https://cstheory.stackexchange.com/q/1026/109&quot;&gt;Status of Impagliazzo's Worlds?&lt;/a&gt; for a discussion focused on the other parts of the landscape, including Boaz Barak's summary of a 2009 workshop about Impagliazzo's multiverse.&lt;/p&gt;&#xA;" OwnerUserId="109" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2016-02-25T03:59:43.563" Title="Deeper look at Algorithmica?" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;np-hardness&gt;&lt;soft-question&gt;" AnswerCount="0" CommentCount="8" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="33846" PostTypeId="2" ParentId="33831" CreationDate="2016-02-17T17:06:05.417" Score="2" Body="&lt;p&gt;I believe &lt;a href=&quot;http://link.springer.com/chapter/10.1007%2F3-540-10843-2_34&quot; rel=&quot;nofollow&quot;&gt;A sparse table implementation of priority queues&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;by Alon Itai, Alan G. Konheim, and Michael Rodeh is the source of this method.  I haven't read the whole paper, but I believe the reason these details are vaguely described is that more than one method for, eg, expanding the table is given (see pg. 424):  &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;One way to increase the size of the table is by expanding to a table of size nmk+ 1 where n&#xA;  is the number of genuine keys currently in the table. Note that n may be different that n k&#xA;  so that the sequence {nk 0 k ~} no longer plays its former role. Another possibility is to&#xA;  reconfigure when n = n k even if there is no need to do so according to the local densities&#xA;  criterion. &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;You can find this paper cited in some of Demaine's work which is related, so look through the citation graph.  &lt;/p&gt;&#xA;" OwnerUserId="34745" LastActivityDate="2016-02-17T17:06:05.417" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33847" PostTypeId="2" ParentId="33831" CreationDate="2016-02-17T21:10:44.717" Score="4" Body="&lt;p&gt;I assume you're talking about maintaining keys, in order, in an $O(N)$-sized array, with $O(\log^2 N)$ amortized worst-case update time.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;At the beginning how many chunks do I have? I suppose one.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;At the beginning, you will have one chunk.  Ordered file maintenance doesn't make sense for very small arrays.  Pick a smallish number (like 64 or 1024), and only start this whole chunking method once you grow above this small number.  In the small array do something naive, pushing elements around as necessary.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;When the array is full according to the target density, do I need to grow the array and how? I suppose yes, always by a power of two (number of chunks).&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Yes, you can use standard dynamic array methods, like doubling in size when it gets too large.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some data structures like to avoid this, as a full rebuild is a really large cost.  But this isn't a big deal for us, as this data structure is highly amortized anyway.  In other words, you have to do about $\Theta(\log N)$ rebuilds of the entire data structure every $N$ insertions anyway, just to maintain balance.  This just adds an extra one.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there a possibility that a tree is impossible to rearrange according to the density? I hope not.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;No, so long as there aren't too many elements.  This is fairly easy to see---so long as you don't have too many elements, you can distribute the elements in the whole array evenly, meeting the density bound of the top array.  But the arrays have &lt;em&gt;looser&lt;/em&gt; requirements as they go down.  So if the top array fits in density (and the elements are distributed evenly), the entire data structure is correctly balanced.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there any source code that I can take a loot at?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Yes, &lt;a href=&quot;https://github.com/dhruvbird/packed-memory-array&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt; (this was a class project; beyond that I know almost nothing about that code).  The author of that code has a nice &lt;a href=&quot;http://dhruvbird.blogspot.fr/2013/03/pma-packed-memory-array.html&quot; rel=&quot;nofollow&quot;&gt;writeup&lt;/a&gt; of the data structure as well.  Some more recent academic work on that data structure has experimental results.  You may try looking through those as well (though of course, many are variations on the original concept).&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;When $N$ changes do I need to change the chunk size accordingly? I think so.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;It depends on what you mean.  Do you mean &quot;when I insert a single element, so $N\gets N+1$, should I update the chunks?&quot; then the answer is no.  On the other hand, if you mean &quot;when I run out of room in the data structure, and double its size, rebuilding the entire data structure, should I update the chunks?&quot; then the answer is yes.&lt;/p&gt;&#xA;" OwnerUserId="8927" LastEditorUserId="8927" LastEditDate="2016-02-19T10:27:30.397" LastActivityDate="2016-02-19T10:27:30.397" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="33851" PostTypeId="2" ParentId="33758" CreationDate="2016-02-18T10:09:58.873" Score="7" Body="&lt;p&gt;Most people avoid giving precise descriptions of what a syntactic category is, because if you do it properly with all the details, the ratio of insight to necessary mathematical sophistication ends up being very, very low. John Reynolds' book &lt;em&gt;Theories of Programming Languages&lt;/em&gt; has one of the more comprehensive explanations in its chapter 1, as does Robert Harper's &lt;em&gt;Practical Foundations of Programming Languages&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The intuition you should have is that a syntactic category is the set of trees generated by a context free grammar. Given such a definition for a set of trees, you can define functions on this set using &lt;em&gt;structural recursion&lt;/em&gt;, and prove properties about them using &lt;em&gt;structural induction&lt;/em&gt;: i.e., by case-analyzing all the different ways that a tree could be constructed. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, suppose that we have a language of arithmetic operations given by the following grammar:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;e ::= zero | succ(e)| add(e, e)&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Then, we can define an interpretation function &lt;code&gt;eval&lt;/code&gt; which takes a term and gives you an integer, by cases on the ways we can construct a term:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;eval : Expr -&amp;gt; Int&#xA;eval zero     = 0&#xA;eval succ(e)  = 1 + eval e  &#xA;eval add(e, e') = eval e + eval e'*&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Note that we have completely defined this function by giving one clause for each possible way we could have generated an expression from the grammar. The fact that this is a complete definition of a function is called the principle of &lt;em&gt;structural recursion&lt;/em&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;We can also prove properties about this function by using &lt;em&gt;structural induction&lt;/em&gt; -- by doing an inductive analysis for each case. For example, we can prove that for every &lt;code&gt;e&lt;/code&gt;, &lt;code&gt;eval e ≥ 0&lt;/code&gt;. &lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;Proof. By structural induction on e.&#xA;- Case e = zero:&#xA;  By the definition of eval, eval zero = 0. &#xA;  We know 0 ≥ 0 by reflexivity of ≥.    &#xA;&#xA;- Case e = succ(e'):     &#xA;  By induction, we know that eval e' ≥ 0 &#xA;  So we also know that 1 + eval e' ≥ eval e'.&#xA;  By transitivity, 1 + eval e' ≥ 0. &#xA;  But eval succ(e') = 1 + eval e'.&#xA;  So eval succ(e') ≥ 0.&#xA;&#xA;- Case e = add(e', e'').&#xA;  By induction, we know that eval e' ≥ 0.&#xA;  By induction, we know that eval e'' ≥ 0.&#xA;  By properties of addition, we know that eval e' + eval e'' ≥ 0.&#xA;  By the definition of eval, eval add(e',e'') = eval e' + eval e''.&#xA;  So eval add(e',e'') ≥ 0.&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;The fact that considering just the cases for how expressions could be formed constitutes a proof is called the principle of &lt;em&gt;structural induction&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, it's a fact that one can define functions by structural recursion and prove properties by structural induction for &lt;em&gt;any&lt;/em&gt; grammar. However, proving this rigorously requires a certain amount of category theory; you need to formalize syntactic categories as initial algebras of a certain class of functors, and then prove that such initial algebras always exist for that class. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is really heavyweight tooling for proving such an &quot;obvious&quot; result, and so I recommend just trusting your intuition about how structural definitions work, and then only bothering with their detailed semantics if you decide to become a professional logician. &lt;/p&gt;&#xA;" OwnerUserId="657" LastActivityDate="2016-02-18T10:09:58.873" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33856" PostTypeId="1" CreationDate="2016-02-19T16:03:27.177" Score="7" ViewCount="164" Body="&lt;p&gt;Consider the following question:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $N$ be some large prime number, and suppose we are given $n$ &#xA;uniformly independent samples $g_i$ from $0...,N-1$.&#xA;Think of $N$ as being exponentially large in $n$.&#xA;Denote the sampled vector by $g = (g_1,...,g_n)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The question is: find a vector $h = (h_1,...,h_n)$ with $h \cdot g = 0 \mathrm{\ mod\ } N$, such that &#xA;$max_{i\in [n]}(|h_i|)$ is of minimal size.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On one hand, ergodic theory tells us that with high probability, for such uniform $g$, the &quot;average&quot; magnitude of a perpendicular $h$ as defined here is $\Omega(N)$, up to possible logarithmic factors.  Concretely:&#xA;Let $r(h) = \prod_{i=1}^n max(1,|h_i|)$ and define&#xA;$$&#xA;R(g,N) = \sum_{h\in [N]^n, h \cdot g = 0} r(h)^{-1}.&#xA;$$&#xA;Then a theorem by Niederreiter shows that&#xA;$$&#xA;\mathbf{E}_g [R(g,N)] = \Theta(\log^n(N)/N).&#xA;$$&#xA;Since there are $N^{n-1}$ vectors perpendicular to $g$ modulo $N$, it implies that the &quot;typical&quot; value of $r(h)$ is $N^{n}$, so the typical coordinate is $\Omega(N)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On the other hand, algorithmically the situation seems a bit different:&#xA;for uniformly random vector $g$, it is very likely that at least two coordinates, say $g_1,g_2$ share a large greatest-common-divisor of magnitude, say $\sqrt{N}$.  This implies that one can find a vector $h = (h_1,..., h_n)$, with $h_3 = h_4 = ... = h_n = 0$ perpendicular to $g$ with $max_i |h_i| = O(\sqrt{N})$.  Thus a little computation (e.g. computing the GCD) goes a long way in reducing the magnitude of the solution from the &quot;average&quot; magnitude of $N$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So while this problem is probably NP-hard, I am interested in how hard is it to approximate ?  Does it capture the hardness of all lattice problems, or is it somewhat easier?&lt;/p&gt;&#xA;" OwnerUserId="6238" LastEditorUserId="6238" LastEditDate="2016-02-19T21:53:51.957" LastActivityDate="2016-02-19T21:53:51.957" Title="Simplified lattices" Tags="&lt;nt.number-theory&gt;&lt;comp-number-theory&gt;&lt;lattice&gt;&lt;integer-lattice&gt;" AnswerCount="0" CommentCount="4" FavoriteCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33857" PostTypeId="1" AcceptedAnswerId="33859" CreationDate="2016-02-19T18:11:56.917" Score="6" ViewCount="651" Body="&lt;p&gt;I have this problem, which I haven't seen before in the literature: given a bipartite graph and a natural number $k$, can we select at least $k$ of the edges such that each left-hand vertex is incident to exactly two or exactly zero selected edges, and each right-hand vertex is incident to at most one selected edge?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Obviously if replace &quot;two&quot; with one we have the matching problem, which can be solved in polynomial time. I've tried in vain to solve my problem using network flow or matching, and am also stumped when I try to reduce from NP-complete problems.&lt;/p&gt;&#xA;" OwnerUserId="36070" LastActivityDate="2016-02-20T03:20:18.213" Title="Is &quot;two or zero&quot; matching in a bipartite graph NP complete?" Tags="&lt;complexity-classes&gt;&lt;p-vs-np&gt;&lt;bipartite-graphs&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="33859" PostTypeId="2" ParentId="33857" CreationDate="2016-02-20T03:20:18.213" Score="9" Body="&lt;p&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/questions/31882/assignment-problem-with-multiple-workers-for-each-job&quot;&gt;The answer here&lt;/a&gt; seems to imply there is a more general result. For this particular case, here is a self contained way to reduce the problem to maximum weight perfect matching. Assume $k$ is even.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given $G=(L\cup R, E)$, we construct a new graph $G'=(V',E')$ as follows, let $|R|=n$.&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Add vertices in $R$ to $V'$.&lt;/li&gt;&#xA;&lt;li&gt;For each vertex $v \in L$, add vertices $v_1,v_2$ to $V'$.&lt;/li&gt;&#xA;&lt;li&gt;Add vertices $t_1,\ldots,t_{n-k}$ to $V'$.&lt;/li&gt;&#xA;&lt;li&gt;Add edge $v_1v_2$ to $E'$ for each $v\in L$. It has weight $0$.&lt;/li&gt;&#xA;&lt;li&gt;Add edge $v_iu$ to $E'$ for each $vu\in E$,$u\in R,v\in L,i\in \{1,2\}$. It has weight $1$.&lt;/li&gt;&#xA;&lt;li&gt;Add edge $ut_i$ for each $u\in R$ and $1\leq i\leq n-k$. It has weight $0$.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Claim: The maximum weight perfect matching in $G'$ has value $k$ iff the &quot;two or zero&quot; matching has a solution of at least $k$ edges.&lt;/p&gt;&#xA;" OwnerUserId="314" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2016-02-20T03:20:18.213" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="33863" PostTypeId="1" CreationDate="2016-02-20T22:20:56.263" Score="1" ViewCount="158" Body="&lt;p&gt;There are a wide variety of determent-like constructions.  Some like the &lt;a href=&quot;https://en.wikipedia.org/wiki/Computing_the_permanent&quot; rel=&quot;nofollow&quot;&gt;permanent&lt;/a&gt; or immanents are variations on the ordinary determinant for matrices over fields or commutative rings. Some like &lt;a href=&quot;https://en.wikipedia.org/wiki/Quasideterminant&quot; rel=&quot;nofollow&quot;&gt;quasideterminants&lt;/a&gt; extend the theory of determinants to non-commutative rings.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;At least permanents have a &lt;a href=&quot;https://cstheory.stackexchange.com/questions/16471/lower-bound-for-determinant-and-permanent&quot;&gt;rich&lt;/a&gt; complexity theory, perhaps the others do to. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For any of these constructions, is there a quantum algorithm that asymptotically out preforms the fastest classical algorithms for computing it?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm asking because some post-quantum crypto systems like &lt;a href=&quot;http://arxiv.org/abs/1407.1270&quot; rel=&quot;nofollow&quot;&gt;http://arxiv.org/abs/1407.1270&lt;/a&gt; and code-based crypto suffer from extremely large key sizes due to representing public keys as matrices.  A priori, it might be possible to &quot;compress&quot; that large matrix into something like a characteristic polynomial but using some non-commutative analog of the determinant.  This approach sounds less viable if quantum computers could compute some analogs of the determinant more quickly. &lt;/p&gt;&#xA;" OwnerUserId="6665" LastEditorUserId="6665" LastEditDate="2016-02-23T01:32:46.180" LastActivityDate="2016-02-23T01:32:46.180" Title="Quantum algorithms for generalizations of determinants" Tags="&lt;quantum-computing&gt;&lt;cr.crypto-security&gt;&lt;permanent&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="33865" PostTypeId="1" CreationDate="2016-02-21T10:41:54.483" Score="8" ViewCount="1211" Body="&lt;p&gt;I previously asked this question &lt;a href=&quot;https://softwareengineering.stackexchange.com/questions/310676/&quot;&gt;on Programmers.SE&lt;/a&gt;, without success.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm looking for written learning resources on how to design concurrent data structures. I'm more interested in the &lt;em&gt;design process&lt;/em&gt; (e.g., identifying the right invariants) than in the final product (a full code listing).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For a concrete example: I really enjoyed Chris Okasaki's book “Purely Functional Data Structures”, because it's more than just a reference - it guides the reader through the design of its data structures and algorithms. Often, the book motivates a tricky or non-obvious design by first giving a more naïve version, and only then refining it until the desired time complexity (either worst-case or amortized) is achieved. This is the kind of thing I'm looking for.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;What techniques or heuristics exist for designing concurrent data structures?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Are there any books, papers, blog posts, tutorials, etc. explaining these techniques and heuristics?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="6634" LastEditorUserId="-1" LastEditDate="2017-04-12T07:32:01.773" LastActivityDate="2016-02-29T03:03:13.703" Title="How to design concurrent data structures?" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;ds.data-structures&gt;&lt;concurrency&gt;" AnswerCount="3" CommentCount="0" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="33866" PostTypeId="1" CreationDate="2016-02-21T17:01:21.023" Score="12" ViewCount="396" Body="&lt;p&gt;Greibach famously defined a language $H$, the so-called &lt;em&gt;nondeterministic version&lt;/em&gt; of $D_2$, such that any CFL is an inverse morphic image of $H$.  Does there exist a similar statement with DCFL, possibly with some restriction on the morphisms allowed?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(See, e.g., M. Autebert, J. Berstel, and L. Boasson. Context-free languages and&#xA;pushdown automata. In R. Rozenberg and A. Salomaa, editors,&#xA;Handbook of Formal Languages, volume I, chapter 3. Springer Verlag, 1997.)&lt;/p&gt;&#xA;" OwnerUserId="88" LastEditorUserId="2367" LastEditDate="2016-04-15T19:09:06.267" LastActivityDate="2016-04-15T19:09:06.267" Title="Does there exist a hardest DCFL?" Tags="&lt;fl.formal-languages&gt;&lt;open-problem&gt;&lt;context-free&gt;&lt;nondeterminism&gt;&lt;hard-instances&gt;" AnswerCount="3" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="33867" PostTypeId="1" CreationDate="2016-02-21T18:31:49.027" Score="3" ViewCount="203" Body="&lt;p&gt;I need a fast min-dominating-set code for some complexity lower bounds research I am doing.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I could transform to SAT and use an off the shelf SAT solver; but I was hoping min-dom-set had something out there comparable to &lt;a href=&quot;http://users.aalto.fi/~pat/cliquer.html&quot; rel=&quot;nofollow&quot;&gt;Cliquer&lt;/a&gt; for max-clique.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suggestions?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;--Update--&#xA;Currently using Z3 SMT Optimize Python bindings subject to minimizing sum of dominating vertices. 0 = default, 1 = dominating. Sum of vertex and neighborhood must be &gt;= 1 for each vertex. &lt;a href=&quot;https://github.com/0vercl0k/z3-playground/blob/master/graph_optimization_z3.py&quot; rel=&quot;nofollow&quot;&gt;Here is the source code&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="2021" LastEditorUserId="2021" LastEditDate="2016-03-04T15:58:43.513" LastActivityDate="2016-03-04T15:58:43.513" Title="Min dominating set software" Tags="&lt;np-hardness&gt;&lt;software&gt;" AnswerCount="0" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="33868" PostTypeId="2" ParentId="33865" CreationDate="2016-02-21T18:54:24.253" Score="3" Body="&lt;p&gt;The answer is not as simple as functional programming. In functional programming here we have a general concept of what is functional programming and the specification of data structures themselves do not change by the fact that they are functional. However that is not the case with concurrency: &lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;p&gt;There are many models of distributed/parallel/concurrent computation.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;There is not a general transformation that given the specification of a sequential data structure gives you &lt;em&gt;the&lt;/em&gt; specification of its concurrent version. There are various conditions (generally categorized under &lt;a href=&quot;https://en.wikipedia.org/wiki/Safety_(distributed_computing)&quot; rel=&quot;nofollow noreferrer&quot;&gt;safety&lt;/a&gt; and &lt;a href=&quot;https://en.wikipedia.org/wiki/Liveness&quot; rel=&quot;nofollow noreferrer&quot;&gt;liveness&lt;/a&gt; conditions) that we can require from a concurrent version of a data structure, there are various new outcomes (e.g. pausing operations, aborting operations, crashes, etc.). So there can be many different specifications for concurrent versions of a sequential data structure.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Some questions about references on distributed computing:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://cs.stackexchange.com/q/4793/&quot;&gt;Start learning about Theory of Distributed Systems?&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/q/33243/&quot;&gt;Modern distributed computing book&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/a/6338/&quot;&gt;Books: Distributed Computing&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;See also &lt;a href=&quot;https://cstheory.stackexchange.com/q/426/&quot;&gt;Why have we not been able to develop a unified complexity theory of distributed computing?&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="-1" LastEditDate="2017-04-13T12:48:30.830" LastActivityDate="2016-02-21T18:54:24.253" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33869" PostTypeId="2" ParentId="14621" CreationDate="2016-02-21T19:18:13.943" Score="5" Body="&lt;p&gt;One reason consensus problems are important is that they are &lt;em&gt;very simple&lt;/em&gt; and they are kind of &lt;em&gt;universal problems&lt;/em&gt; for distributed computing systems. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we can solve consensus in an async distributed system we can use it to linearize actions on shared objects and obtain linearizability for shared objects. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;For simplicity, how many problems can you think of which are simpler than agreeing on a value?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The impossibility result about consensus in (pure) async distributed systems tells us that we cannot solve problems we want to solve in (pure) async distributed systems without some additional &quot;stuff&quot;. This leads to async models where we can solve consensus, e.g. randomized algorithms, fault detectors, partial synchrony models, etc. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is also the reason why in practice algorithms that solve consensus like Lamport's Paxos, Google's Chubby, Apache ZooKeeper, and more recently Raft are at the core of distributed systems where we often want to replicate a state among servers.&lt;/p&gt;&#xA;" OwnerUserId="186" LastActivityDate="2016-02-21T19:18:13.943" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33870" PostTypeId="2" ParentId="33866" CreationDate="2016-02-21T22:44:41.803" Score="8" Body="&lt;p&gt;An identical homomorphism characterization of DCFL does not seem to be possible. The following is extracted from Greibach's original &lt;a href=&quot;http://epubs.siam.org/doi/abs/10.1137/0202025?journalCode=smjcat&quot;&gt;paper&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;We show that every context-free language can be expressed as $h^{-1}(L_0)$ or $h^{-1}(L_0-\{e\})$ for a homomorphism $h$. The algebraic statement is: the family of context-free languages is a principal AFDL; ... By way of contrast, the family of deterministic context-free languages is not a principal AFDL [7].&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=804031&quot;&gt;paper 7&lt;/a&gt; is the conference version of the paper. In the conference version, Theorem 4.2 states that &quot;The family of deterministic context-free languages is not a principal AFDL&quot;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;However some analogue characterization may still be possible. &lt;a href=&quot;http://tucs.fi/publications/attachment.php?fname=tOkhotin_Alexander13a.full.pdf&quot;&gt;Okhotin&lt;/a&gt; provided homomorphic characterizations of conjunctive and Boolean grammars. For DCFL's the problem seems to be open. The following is the conclusion of Okhotin's paper (from 2013). &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Every family of languages closed under inverse homomorphisms can potentially&#xA;  have an analogue of Greibach’s inverse homomorphic characterization.&#xA;  The question is, which families have it? Could it exist for linear, deterministic&#xA;  or unambiguous variants of ordinary (context-free) grammars? Could&#xA;  there be such a characterization for linear conjunctive grammars, unambiguous&#xA;  conjunctive grammars, etc.?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="4237" LastEditorUserId="4237" LastEditDate="2016-02-21T23:27:20.520" LastActivityDate="2016-02-21T23:27:20.520" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="33872" PostTypeId="1" AcceptedAnswerId="33877" CreationDate="2016-02-22T09:10:30.180" Score="5" ViewCount="372" Body="&lt;p&gt;Fix $c\geq1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Input is a $m$ vertex complete graph with edges assigned $a_1,\dots,a_{\frac{m(m-1)}2}\in\Bbb Z$ in some order.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is it $\mathsf{NP}$-complete to decide if there is a perfect matching of zero-sum for cases:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;(A)&lt;/strong&gt; $|a_i|\leq m^{\frac1c}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;(B)&lt;/strong&gt; $|a_i|\leq\log^{c}m$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I looked at the literature for perfect matching and subset sum and could not find this version. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The closest was minimum weight perfect matching which has a polynomial time algorithm as in &lt;a href=&quot;http://www.math.uwaterloo.ca/~bico/papers/match_ijoc.pdf&quot; rel=&quot;nofollow&quot;&gt;http://www.math.uwaterloo.ca/~bico/papers/match_ijoc.pdf&lt;/a&gt; which however in this case does not work.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It also seems like restricted version of subset sum and so the complexity is not obvious because of size of $|a_i|$.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Update: Including case C.&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;(C)&lt;/strong&gt; What if $a_i$ needs roughly $m^\alpha$ bits for some fixed $\alpha&amp;gt;0$?&lt;/p&gt;&#xA;" OwnerDisplayName="user34945" LastEditorDisplayName="user34945" LastEditDate="2016-02-23T11:25:47.633" LastActivityDate="2016-02-24T07:57:12.810" Title="On Zero sum perfect matching" Tags="&lt;cc.complexity-theory&gt;&lt;np-complete&gt;&lt;matching&gt;&lt;clique&gt;&lt;subset-sum&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="33873" PostTypeId="2" ParentId="14621" CreationDate="2016-02-22T14:17:14.223" Score="0" Body="&lt;p&gt;I would only add that the nature of the computation is becoming increasingly distributed across the stack: many CPUs, many processes on a machine, many machines connected by LANs, many LANs connected by internets. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This makes the problem of common (distributed / global) state paramount - each algorithm assumes certain state and if the computation is to be performed in more than one place, then the state has to be distributed too. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Influential papers (&lt;strong&gt;Paxos&lt;/strong&gt;, and more recently &lt;strong&gt;Raft&lt;/strong&gt;) in this domain were published after the paper you are citing. Both address the issues of consensus in the presence of some failures. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Byzantine errors can be avoided in distributed systems using few approaches.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Have a look at &lt;a href=&quot;https://en.wikipedia.org/wiki/Byzantine_fault_tolerance&quot; rel=&quot;nofollow&quot;&gt;Wikipedia entry on Byzantine Fault Tolerance&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="35068" LastEditorUserId="35068" LastEditDate="2016-02-22T17:17:50.300" LastActivityDate="2016-02-22T17:17:50.300" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33874" PostTypeId="2" ParentId="33865" CreationDate="2016-02-22T19:20:30.153" Score="5" Body="&lt;p&gt;While I have not read deeply in this area, I found The Art of Multiprocessor Programming by Maurice Herlihy and Nir Shavit to be a helpful introduction and survey of techniques.  It explores different algorithms, reasons about how they work and examines the trade-offs, features and limitations of the different approaches.  While it has some formalism I expect it is a fairly introductory and accessible text.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For a flavor of the text, here is the introduction to the section on Atomic Registers from the 2008 edition:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;The obvious place to begin is to ask whether we can solve consensus&#xA;  using atomic registers.  Surprisingly, perhaps, the answer is no.  We&#xA;  will show that there is no binary consensus protocol for two threads. &#xA;  We leave it as an exercise to show that if two threads cannot reach&#xA;  consensus on two values, then &lt;code&gt;n&lt;/code&gt; threads cannot reach consensus on&#xA;  &lt;code&gt;k&lt;/code&gt; values, where &lt;code&gt;n &amp;gt; 2&lt;/code&gt; and &lt;code&gt;k &amp;gt; 2&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="37794" LastEditorUserId="37794" LastEditDate="2016-02-26T20:05:25.583" LastActivityDate="2016-02-26T20:05:25.583" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33876" PostTypeId="2" ParentId="7303" CreationDate="2016-02-23T01:15:19.680" Score="1" Body="&lt;p&gt;The Polynomial Hierarchy in communication complexity as defined by Babai, Frankl, and Simon (see &lt;a href=&quot;http://dl.acm.org/citation.cfm?id=1382962&quot; rel=&quot;nofollow&quot;&gt;the original paper here&lt;/a&gt; and without the paywall &lt;a href=&quot;http://www.tcs.tifr.res.in/~prahladh/teaching/2011-12/comm/papers/BabaiFS1986.pdf&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt;). The significance of this hierarchy is hard to overestimate. First of all, the disjointness function was introduced by BFS in the same paper that introduced the hierarchy, and the disjointness appeared quite naturally as a coNP$^{cc}$-complete problem. As you know, the disjointness is &lt;strong&gt;THE&lt;/strong&gt; function in communication complexity. Secondly, proving lower bounds against the polynomial hierarchy in communication complexity is a major open problem with important implications in other areas of TCS (for example, see &lt;a href=&quot;http://eccc.hpi-web.de/report/2015/049/&quot; rel=&quot;nofollow&quot;&gt;this paper&lt;/a&gt; and references therein).&lt;/p&gt;&#xA;" OwnerUserId="30361" LastEditorUserId="879" LastEditDate="2016-02-23T02:44:27.357" LastActivityDate="2016-02-23T02:44:27.357" CommentCount="1" CommunityOwnedDate="2016-02-23T01:15:19.680" ContentLicense="CC BY-SA 3.0" />
  <row Id="33877" PostTypeId="2" ParentId="33872" CreationDate="2016-02-23T05:08:59.363" Score="5" Body="&lt;p&gt;The problem is in RP in both &lt;strong&gt;(A)&lt;/strong&gt; and &lt;strong&gt;(B)&lt;/strong&gt; by a variation of &lt;a href=&quot;https://www.researchgate.net/publication/221150072_On_determinants_matchings_and_random_algorithms&quot; rel=&quot;nofollow noreferrer&quot;&gt;Lovasz's algorithm&lt;/a&gt;:&lt;/p&gt;&#xA;&lt;p&gt;Fix a finite field &lt;span class=&quot;math-container&quot;&gt;$F$&lt;/span&gt; of characteristic &lt;span class=&quot;math-container&quot;&gt;$2$&lt;/span&gt; on at least &lt;span class=&quot;math-container&quot;&gt;$q=4m\max_i |a_i|$&lt;/span&gt; elements.&#xA;Consider the graph's &lt;a href=&quot;https://en.wikipedia.org/wiki/Tutte_matrix&quot; rel=&quot;nofollow noreferrer&quot;&gt;Tutte matrix&lt;/a&gt; &lt;span class=&quot;math-container&quot;&gt;$T(r)$&lt;/span&gt; where you replace indeterminate &lt;span class=&quot;math-container&quot;&gt;$x_{ij}$&lt;/span&gt; by &lt;span class=&quot;math-container&quot;&gt;$y_{ij}r^{a_{ij}+q/4}$&lt;/span&gt;, where &lt;span class=&quot;math-container&quot;&gt;$y_{ij}=y_{ji}$&lt;/span&gt; is a uniformly and independently randomly chosen element in &lt;span class=&quot;math-container&quot;&gt;$F$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$r$&lt;/span&gt; is an indeterminate. Now observe that the determinant equals &lt;span class=&quot;math-container&quot;&gt;$\sum_{\mbox{Matching }M} \prod_{ij\in M} y_{ij}^2r^{2a_{ij}}$&lt;/span&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Hence, you can solve for the coefficient of &lt;span class=&quot;math-container&quot;&gt;$r^{q/2}$&lt;/span&gt; in the polynomial &lt;span class=&quot;math-container&quot;&gt;$\operatorname{det} T(r)$&lt;/span&gt; to see if there is a zero-sum matching. Compute the determinants of the numerical matrices &lt;span class=&quot;math-container&quot;&gt;$T_r$&lt;/span&gt; obtained after replacing &lt;span class=&quot;math-container&quot;&gt;$r=1,2,\ldots, q$&lt;/span&gt; in &lt;span class=&quot;math-container&quot;&gt;$T(r)$&lt;/span&gt;, and use interpolation to recover the coefficient. It is non-zero with probability at least &lt;span class=&quot;math-container&quot;&gt;$1-m/q$&lt;/span&gt; if and only if the graph had a zero-sum matching.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt; In &lt;strong&gt;(C)&lt;/strong&gt; the problem is NP-complete.&lt;/p&gt;&#xA;&lt;p&gt;Consider an instance &lt;span class=&quot;math-container&quot;&gt;$b_1,b_2,\ldots, b_n$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$t$&lt;/span&gt; to Subset Sum, i.e. is there a subset &lt;span class=&quot;math-container&quot;&gt;$I\subseteq [n]$&lt;/span&gt; such that &lt;span class=&quot;math-container&quot;&gt;$\sum_{i\in I} b_i=t$&lt;/span&gt;?&#xA;We can embed this in a Zero-sum matching problem as follows. Consider the bipartite graph with biadjacency matrix &lt;span class=&quot;math-container&quot;&gt;$\begin{bmatrix}I_n &amp;amp; I_n &amp;amp; 0\\I_n &amp;amp; I_n &amp;amp; 0\\0 &amp;amp; 0 &amp;amp; 1 \end{bmatrix}$&lt;/span&gt;, where &lt;span class=&quot;math-container&quot;&gt;$I_n$&lt;/span&gt; is a &lt;span class=&quot;math-container&quot;&gt;$n\times n$&lt;/span&gt; identity matrix, and weights &lt;span class=&quot;math-container&quot;&gt;$\begin{bmatrix}B &amp;amp; 0_n &amp;amp; 0\\0_n &amp;amp; 0_n &amp;amp; 0\\ 0&amp;amp; 0 &amp;amp; -t \end{bmatrix}$&lt;/span&gt;&#xA;where &lt;span class=&quot;math-container&quot;&gt;$0_n$&lt;/span&gt; is a &lt;span class=&quot;math-container&quot;&gt;$n\times n$&lt;/span&gt; all-zero matrix and &lt;span class=&quot;math-container&quot;&gt;$B=\operatorname{diag}(b_1,b_2,\ldots,b_n)$&lt;/span&gt; is a &lt;span class=&quot;math-container&quot;&gt;$n\times n$&lt;/span&gt; diagonal matrix.&#xA;Now observe that there is a zero-sum perfect matching if and only if there is a solution to the Subset Sum instance.&lt;/p&gt;&#xA;" OwnerUserId="679" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2016-02-24T07:57:12.810" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="33884" PostTypeId="1" AcceptedAnswerId="33889" CreationDate="2016-02-24T04:54:44.220" Score="8" ViewCount="478" Body="&lt;p&gt;In dependent types, &lt;code&gt;Type : Type&lt;/code&gt; results in inconsistency (Girard's or Hurken's paradox). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there examples of universe inconsistency (where assuming &lt;code&gt;Type : Type&lt;/code&gt; would result something that is false) showing up &quot;accidentally&quot; when not deliberately trying to prove it (when proving unrelated things)?&lt;/p&gt;&#xA;" OwnerUserId="37817" LastActivityDate="2016-02-24T19:38:12.263" Title="Examples of Universe inconsistency in normal use of dependent types" Tags="&lt;type-theory&gt;&lt;coq&gt;&lt;dependent-type&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="33885" PostTypeId="1" CreationDate="2016-02-24T04:59:03.917" Score="6" ViewCount="217" Body="&lt;p&gt;The famous Isomorphism Conjecture states that all NP-complete problems are isomorphic via polynomial-time computable and invertible bijections (reductions). Padability is the only property that I know which can be used to show P-isomorphism between two languages (The most direct way is to present the reduction). My intuition suggests that two p-isomorphic languages are two different &lt;em&gt;labelings&lt;/em&gt; for some language and should be related via permutations.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What other techniques (or properties) can be used to show that two languages are P-isomorphic?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Motivation:&lt;/strong&gt; I am trying to extend an analogy from GI. If two graphs are isomorphic then they are just two different labelings of the same mathematical structure. I guess there should be more natural and direct way than padability.   &lt;/p&gt;&#xA;" OwnerUserId="495" LastEditorUserId="495" LastEditDate="2016-02-26T13:24:18.950" LastActivityDate="2016-02-26T13:24:18.950" Title="Proving P-Isomorphism between two languges" Tags="&lt;cc.complexity-theory&gt;&lt;permutations&gt;" AnswerCount="0" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="33886" PostTypeId="1" AcceptedAnswerId="33890" CreationDate="2016-02-24T09:56:16.840" Score="8" ViewCount="247" Body="&lt;p&gt;You are given a $n$-sized &lt;strong&gt;binary&lt;/strong&gt; array.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I want to show that no algorithm can do the following (or to be surprised and find out that such algorithms exist after all):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) Pre-process the input array using unlimited time, but only using $O(n)$ &lt;strong&gt;bits&lt;/strong&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) Answer queries in constant time, where query $(x,y)$ asks for the number of set bits between index $x$ and index $y$ in the array.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It seems that constant time per query should not allow the algorithm to read enough information to compute the number of set bits.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;How can we prove that no such algorithm exists?&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;A more general question would be, &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;given that the algorithm is allowed to use $f(n)$ space, what lower bound on the query time can we derive?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Obviously, if we have $f=\Omega(n\log n)$ space we can store the all partial sums and answer queries in $O(1)$, but what if $f$ is smaller?&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;You may assume that the size of a memory word is $\Theta(\log n)$ and we can read the $x,y$ indices in constant time.&lt;/p&gt;&#xA;" OwnerUserId="21001" LastEditorUserId="21001" LastEditDate="2016-02-24T14:42:38.720" LastActivityDate="2016-04-26T06:31:34.030" Title="Showing that interval-sum queries on a binary array can not be done using linear space and constant time" Tags="&lt;ds.algorithms&gt;&lt;lower-bounds&gt;&lt;it.information-theory&gt;" AnswerCount="3" CommentCount="6" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="33887" PostTypeId="2" ParentId="33866" CreationDate="2016-02-24T17:21:53.727" Score="8" Body="&lt;p&gt;There actually &lt;em&gt;is&lt;/em&gt; a hardest DCFL, which is a deterministic version of Greibach's; it was introduced by Sudborough in 78 in &lt;em&gt;On &#xA;deterministic &#xA;context-free &#xA;languages, &#xA;multihead &#xA;automata, &#xA;and &#xA;the &#xA;power &#xA;of &#xA;an &#xA;auxiliary &#xA;pushdown &#xA;store&lt;/em&gt;—it is however hardest w.r.t log-space reduction.  The language $L_0^{(2)}$ referred therein is the set of  words over $\{a, \bar{a}, b, \bar{b}, \#, [, ]\}$ where:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\gamma_0\;[\bar{a}\gamma_a^{(1)}\#\bar{b}\gamma_b^{(1)}]\;\cdots\; [\bar{a}\gamma_a^{(k)}\#\bar{b}\gamma_b^{(k)}]\enspace,$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;with $\gamma_0, \gamma_a^{(i)}, \gamma_b^{(i)}$ words over $\{a, \bar{a}, b, \bar{b}\}$, such that there exists a word $w_1w_2\cdots w_k \in \{a, b\}^k$ with $\gamma_0 \; \bar{w_1}\gamma_{w_1}^{(1)} \cdots  \bar{w_k}\gamma_{w_k}^{(k)}$ a Dyck word.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It then holds that &lt;strong&gt;$L_0^{(2)}$ is a DCFL and any DCFL log-space-reduces to $L_0^{(2)}$.  In that sense, $L_0^{(2)}$ is the hardest &lt;em&gt;tape&lt;/em&gt; DCFL.&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As mentioned by contributor Mateus de Oliveira Oliveira, DCFL is &lt;em&gt;not&lt;/em&gt; a principal AFL, and it is &lt;em&gt;unknown&lt;/em&gt; whether there exists an exact characterization involving the closure of a single language under some operations.&lt;/p&gt;&#xA;" OwnerUserId="88" LastActivityDate="2016-02-24T17:21:53.727" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33888" PostTypeId="2" ParentId="33886" CreationDate="2016-02-24T18:40:24.060" Score="6" Body="&lt;p&gt;I wouldn’t be so sure such an algorithm doesn’t exist; there are certainly algorithms that get very close. Below, $\log n$ is $\log_2n$, $\log^{(k)}n$ is $\mathop{\underbrace{\log\dots\log}_{k\text{ times}}}n$, $\log^*n$ is &lt;a href=&quot;https://en.wikipedia.org/wiki/Iterated_logarithm&quot;&gt;iterated logarithm&lt;/a&gt;, and $\tilde O(t(n))$ is $O(t(n)\operatorname{polylog}(t(n)))$.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Proposition:&lt;/strong&gt; There are algorithms that achieve&lt;/p&gt;&#xA;  &#xA;  &lt;ol&gt;&#xA;  &lt;li&gt;&lt;p&gt;space $O(n\log^{(k)}n)$ and query time $O(1)$ for any constant $k$;&lt;/p&gt;&lt;/li&gt;&#xA;  &lt;li&gt;&lt;p&gt;space $O(n)$ and query time $\tilde O(\log^*n)$.&lt;/p&gt;&lt;/li&gt;&#xA;  &lt;/ol&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The algorithms work as follows. There are parameters $k&amp;gt;0$ and $n=b_0&amp;gt;b_1&amp;gt;\dots&amp;gt;b_k&amp;gt;0$ depending on $n$. We split the input size-$b_0$ array into size-$b_1$ blocks (level 1); we split each level-1 block into size $b_2$ blocks (level 2); and so on up to level $k$. (Let us pretend all $b_i$ are powers of $2$, to avoid issues with divisibility.) Then:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;For each $i=1,\dots,k$ and each level-$i$ block, we store the number of set bits in the interval from the beginning of the block down to the nearest level-$(i-1)$ block boundary.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;In order to resolve a query, we sum the $k$ stored numbers corresponding to the index, and count the set bits before the index in its level-$k$ block. We do all this for $x$ and $y$ separately, and subtract the results.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;(If the $b_i$ parameters are not easy to compute, we might also store them.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This arrangement uses space&#xA;$$n\sum_{i=1}^k\frac{\log b_{i-1}}{b_i},$$&#xA;and query time&#xA;$$O(k+b_k).$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the proposition, for 1., we let $k$ be constant, and put $b_i=\log^{(i)}n$ for $0&amp;lt;i&amp;lt;k$, $b_k=1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For 2., we can take $k=\log^*n$, and&#xA;$$b_i=i(\log i)^3\log^{(i)}n.$$&#xA;The space is then bounded by roughly&#xA;$$n\sum_{i=1}^k\frac{\log^{(i)}n+2\log i}{i(\log i)^3\log^{(i)}n}\le&#xA;n\sum_{i=1}^\infty\frac{3}{i(\log i)^2}=cn$$&#xA;for some constant $c$.&lt;/p&gt;&#xA;" OwnerUserId="6959" LastActivityDate="2016-02-24T18:40:24.060" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33889" PostTypeId="2" ParentId="33884" CreationDate="2016-02-24T19:38:12.263" Score="9" Body="&lt;p&gt;This is a hard question to answer, in part because it's unclear what it means to get something &quot;by accident&quot;. Regularly, though, people run into the &lt;code&gt;Universe Inconsistency&lt;/code&gt; error of Coq, as some quick googling will show (e.g. &lt;a href=&quot;https://groups.google.com/forum/#!topic/homotopytypetheory/ljBz8cYkfkY&quot;&gt;here&lt;/a&gt;). This certainly sometimes happens by accident, sometimes in the attempt at showing inconsistencies or testing the limits of the prover.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One of the big sources of universe inconsistencies unsurprisingly comes from trying to formalize category theory in Coq, as is mentioned in &lt;a href=&quot;http://arxiv.org/pdf/1401.7694&quot;&gt;this article&lt;/a&gt; by Gross, Chlipala and Spivak.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In most cases, it's hard to tell whether the inconsistency comes from an actually inconsistent statement, or just a limitation of the proof checker, which sometimes has counter-intuitive restrictions on universes, particularly in the allowed parameters for inductive types. This is actually a somewhat tricky subject (see the &lt;a href=&quot;https://coq.inria.fr/refman/Reference-Manual006.html#Cic-inductive-definitions&quot;&gt;official definition&lt;/a&gt; and Chlipala's more accessible &lt;a href=&quot;http://adam.chlipala.net/cpdt/html/Universes.html&quot;&gt;discussion&lt;/a&gt;).&lt;/p&gt;&#xA;" OwnerUserId="3984" LastActivityDate="2016-02-24T19:38:12.263" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33890" PostTypeId="2" ParentId="33886" CreationDate="2016-02-24T20:22:58.413" Score="6" Body="&lt;p&gt;I believe that what you are looking for is a compact data structure supporting the rank operation. See...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://en.m.wikipedia.org/wiki/Succinct_data_structure&quot;&gt;https://en.m.wikipedia.org/wiki/Succinct_data_structure&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Specifically, you can modify Emils (first) solution to remove the pop count operation and replace it with a lookup table (for the details see the wiki article). By reducing the size of a block to (log n)/2 bits, the lookup table uses o(n) bits. &lt;/p&gt;&#xA;" OwnerUserId="37829" LastActivityDate="2016-02-24T20:22:58.413" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="33892" PostTypeId="2" ParentId="32506" CreationDate="2016-02-25T01:35:02.333" Score="5" Body="&lt;p&gt;Here's one way to look at it, based on &lt;a href=&quot;https://cstheory.stackexchange.com/questions/32506/how-does-the-multiplicative-weights-update-method-maximize-entropy#comment74537_32506&quot;&gt;usul's comment&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let the gains of each expert $i$ at time $t$ be given by $g_i^t$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then the expected gains of the algorithm are:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\sum_{u=1}^{t-1}\sum_i p_i^t g_i^u$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We can then define the potential function&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$\Phi=\epsilon \sum_{u=1}^{t-1}\sum_i p_i^t g_i^u + \sum_i p_i^t \ln \left(\frac{1}{p_i^t}\right)$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Where the right-hand term is the entropy and $\epsilon$ is a learning rate.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This function is maximized for&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$p_i^t = \exp\left(\epsilon \sum_{u=1}^{t-1} g_i^u-1\right)$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We can find a similar expression that maximizes the function for $t+1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Taking the logarithms of these expressions and subtracting gives:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$p_i^{t+1}=p_i^t \exp (\epsilon g_i^t)$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Which is the MWU update rule.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Therefore, by applying this update rule we are maximizing a potential function of utility and entropy.&lt;/p&gt;&#xA;" OwnerUserId="21110" LastActivityDate="2016-02-25T01:35:02.333" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33894" PostTypeId="1" CreationDate="2016-02-25T08:08:09.143" Score="4" ViewCount="86" Body="&lt;p&gt;There are some algorithms and methods around, that allow cooperative pathfinding. Unfortunately they all seem to aim at avoiding collisions or conflicts between entities.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm looking for an algorithm that allows agents to explicitly join their paths to go some part of the way together if that minimizes the overall costs, regardless of individual costs (e.g. using the wind shadow of another car)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there any research going on in this area that I'm not aware of, or are there even algorithms around that solve such problems?&lt;/p&gt;&#xA;" OwnerUserId="37836" LastActivityDate="2016-04-25T13:58:44.873" Title="Cooperative Pathfinding to minimize global costs" Tags="&lt;shortest-path&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33897" PostTypeId="2" ParentId="33894" CreationDate="2016-02-25T12:38:53.193" Score="3" Body="&lt;p&gt;This may be related to &lt;em&gt;network formation games&lt;/em&gt; - games in which players try to find a path in a network, and collaborating along a path reduces the cost for both players (i.e. the cost is shared)&#xA;&lt;a href=&quot;http://www.cs.huji.ac.il/~ornak/publications/fossacs14a.pdf&quot; rel=&quot;nofollow&quot;&gt;This paper&lt;/a&gt; may be of help.&lt;/p&gt;&#xA;" OwnerUserId="7531" LastActivityDate="2016-02-25T12:38:53.193" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33898" PostTypeId="1" AcceptedAnswerId="33901" CreationDate="2016-02-25T13:10:59.140" Score="5" ViewCount="150" Body="&lt;p&gt;I was wondering if there is any literature on the following problem:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Maintain a set $S$ where each element is a function from $\mathbb{R}$ to $\mathbb{R}$ supporting the following operations:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Insert a new function $f$&lt;/li&gt;&#xA;&lt;li&gt;Given $k$, query the minimum value of $f(k)$ where $f \in S$&lt;/li&gt;&#xA;&lt;li&gt;Given $k$, remove an element $f$ where $f(k)$ is equal to the minimum value of $g(k)$ where $g \in S$&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Are there restricted classes of functions where we can query and update in $o(|S|)$ time? Are there faster solutions when we restrict to operations (1) and (2)?&lt;/p&gt;&#xA;" OwnerUserId="26743" LastEditorUserId="26743" LastEditDate="2016-02-25T13:27:43.967" LastActivityDate="2016-02-26T01:27:07.217" Title="Generalized Priority Queues" Tags="&lt;ds.data-structures&gt;&lt;cg.comp-geom&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33899" PostTypeId="2" ParentId="33836" CreationDate="2016-02-25T16:26:36.797" Score="5" Body="&lt;p&gt;For the intermediate question (a core with three top-bottom runs), how about this?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some notation: I will be describing runs by words in $\{l,r\}^*$, with e.g. $llrl$ corresponding to a subgraph $\cdot\leftarrow\cdot\leftarrow\cdot\to\cdot\leftarrow\cdot$. The level increases on $r$ arcs and decreases on $l$ arcs, and I assume that its minimum is $0$. Some straightforward constraints are:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;There cannot be a run consisting only of $l$s or only of $r$s, because otherwise there is an obvious homomorphism from $D$ to this run (mapping each node of $D$ to the one with the same level). This also implies that the maximum level must be at least $3$.&lt;/li&gt;&#xA;&lt;li&gt;If the maximum level were $3$, then all top-bottom (resp bottom-top) runs would be of the form $llr(lr)^ill$ (resp. $rrl(rl)^irr)$; again it is not very hard to find a homomorphism from $D$ to the run which minimizes $i$. &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;However, for maximum level $4$ there is a solution, of length $36$: consider $D$ given by $(rrrlrrlllrll)^3$. This has the required top-bottom runs and is a core (see below). By the above constraints, it is necessarily minimal, since each run only has a single &quot;backwards&quot; edge.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To convince ourselves that this is a core, let's first name the vertices ($v_1,\ldots,v_{36}$). The bottom (i.e. level $0$) vertices are $v_1,v_{13},v_{25}$. Any homomorphism $\varphi$ from $D$ to a subgraph must preserve levels, and in particular $\varphi(v_1)\in\{v_1,v_{13},v_{25}\}$; modulo the obvious automorphism $v_i\mapsto v_{i+12}$, it is enough to consider the case $\varphi(v_1)=v_1$. Consider the neighbourhood of $v_1$ in $D$ (annotated with levels):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$v_{34}(1)\to v_{35}(2)\leftarrow v_{36}(1)\leftarrow v_1(0)\to v_2(1)\to v_3(2)\to v_4(3)\leftarrow v_5(2)\to v_6(3)\to v_7(4)$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Starting with $\varphi(v_1)=v_1$, we have $\varphi(v_2)\in\{v_{36},v_2\}$. But if $\varphi(v_2)=v_{36}$, then $\varphi(v_3)=v_{35}$, and we have no possible value for $\varphi(v_4)$. We get $\varphi(v_2)=v_2,\varphi(v_3)=v_3,\varphi(v_4)=v_4$. Next $\varphi(v_5)\in\{v_3,v_5\}$, but for $\varphi(v_5)=v_3$ we get $\varphi(v_6)=v_4$, with no possible value for $\varphi(v_7)$. So $\varphi$ must be the identity on the entire run $v_1\to\ldots\to v_7$, and by repeating the same argument for the remaining runs, the same is true on all of $D$. In particular, $\varphi$ does not map $D$ onto a proper subgraph.&lt;/p&gt;&#xA;" OwnerUserId="5183" LastEditorUserId="5183" LastEditDate="2016-02-27T15:06:34.183" LastActivityDate="2016-02-27T15:06:34.183" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="33901" PostTypeId="2" ParentId="33898" CreationDate="2016-02-25T21:52:54.337" Score="9" Body="&lt;p&gt;You will need to make some assumptions about what kinds of functions are allowed to get anywhere with this.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The version of the problem where the elements of $S$ are linear functions from $\mathbb{R}$ to $\mathbb{R}$ has been studied, in a projectively dual form: if you think of each linear function $y=ax+b$ as being coordinatized by the pair of parameters $(a,b)$, and reinterpret that pair as the Cartesian coordinates of a point, then finding the minimizer for a given $x$ becomes the problem of minimizing a linear function over a dynamic set of two-dimensional points. This can be handled in polylog time per update by a dynamic convex hull data structure, such as the one by Overmars and van Leeuwen 1981 or its more recent improvements by Timothy Chan.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Piecewise-linear functions can be handled by using a weight-balanced segment tree on the set of breakpoints of the functions to replace each query on a set of piecewise-linear functions by logarithmically many queries on subsets of linear functions. This duality approach can also be generalized to higher degree polynomials instead of linear functions but at the expense of turning the problem into a range searching problem in more than two dimensions, for which the time per update will be significantly higher.&lt;/p&gt;&#xA;" OwnerUserId="95" LastEditorUserId="95" LastEditDate="2016-02-26T01:27:07.217" LastActivityDate="2016-02-26T01:27:07.217" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33903" PostTypeId="1" AcceptedAnswerId="33906" CreationDate="2016-02-25T23:48:52.123" Score="0" ViewCount="80" Body="&lt;p&gt;Here is a popular generalization bound:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;If $X$ is the input space and &#xA;  $Y=\{0, 1\}$ is the output/label space, and &#xA;  there is a joint distribution $D$ defined on this space. &#xA;  We sample $m$ points from this joint distribution as observation/training data:&#xA;  $S = ((x_1, y_1)\ldots(x_m,y_m)) \in (X\times Y)^m$.&#xA;  Suppose $H$ is a class we (user) are choosing from, and $h \in H$. &lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;Define the risk (true expected error) as&#xA;  $$L_D(h) := \Pr_{(x,y)\sim D} [h(x)\neq y]$$&#xA;  the empirical risk as&#xA;  $$L_S(h) := \frac{1}{m}\sum_{i=1}^m l(h,z_i)$$&#xA;  where $z_i = (x_i, y_i)$. &lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;Then, with probability of at least $1 − \delta$ we have&#xA;  $$\forall h\in H, L_D(h) \leq L_S(h) + &#xA;c\sqrt{\frac{VCdim(H)+ \log(2/\delta)}{2m}} $$&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Question: &#xA;Any intuition why the dimension of instance space $X$ &#xA;and its size $|X|$ do not come into play in this inequality? &#xA;Intuitively the bigger the dimension is, &#xA;the harder the estimation problem should be. &#xA;(E.g. $X = \mathbb{R}^d$, &#xA;$|\mathbb{R}|=\infty$ should be harder than $|\{x\}|=1$.)&lt;/p&gt;&#xA;" OwnerUserId="15645" LastEditorUserId="186" LastEditDate="2016-02-26T01:56:53.940" LastActivityDate="2017-01-13T11:35:49.620" Title="The dependence of learning generalization bounds on the dimension of the instance space" Tags="&lt;machine-learning&gt;&lt;lg.learning&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33904" PostTypeId="1" CreationDate="2016-02-26T00:44:18.987" Score="5" ViewCount="105" Body="&lt;p&gt;There are plenty of results for muli-class learning with with fixed discrete labels:&lt;br&gt;&#xA;$$&#xA;\text{Standard multi-class classification:} &#xA;\begin{cases}&#xA;f: X \rightarrow Y_{index} = \{1, 2, 3, ..., k \}, \\ s.t. X \subset \mathbb{R}^{d_x}&#xA;\end{cases}&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I was wondering if there are any results which study multi-class learning with (countable, possibly finite) vector-valued outputs. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$&#xA;\text{Vector-output multi-class classification:}  &#xA;\begin{cases}&#xA;f: X \rightarrow Y_{vector} = \{y_1, y_2, y_3, ..., y_k \}, \\ &#xA;s.t. &#xA;X \subset \mathbb{R}^{d_x}, &#xA;y_i \in  \mathbb{R}^{d_y}&#xA;\end{cases}&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One may suggest that this is another problem: &lt;em&gt;metric-learning&lt;/em&gt; between $X$ and $Y$ space:&#xA;$$&#xA;\text{Standard metric-learning problem:}  &#xA;\begin{cases}&#xA;f: X, Y \rightarrow [0,1], \\ &#xA;s.t. &#xA;X \subset \mathbb{R}^{d_x}, &#xA;Y \subset  \mathbb{R}^{d_y}&#xA;\end{cases}&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However all the results I came across in the metric-learning study the functions on one single vector space (as in unsupervised metric learning). In addition, vector-output multi-class classification is much more restricted (easier to learn?) than metric learning, since in what I am asking, the number of possible output vectors is fixed (unlike metric learning). &lt;/p&gt;&#xA;" OwnerUserId="15645" LastEditorUserId="15645" LastEditDate="2016-02-29T01:47:34.573" LastActivityDate="2016-02-29T09:49:59.410" Title="Generalization bounds for multiclass learning when the output is vector space?" Tags="&lt;machine-learning&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33906" PostTypeId="2" ParentId="33903" CreationDate="2016-02-26T05:34:18.233" Score="2" Body="&lt;p&gt;I think the VC-dimension term pretty much takes care of it. You can think of three cases:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The hypothesis space $H$ is far more &quot;complex&quot; than the input space $X$&lt;/li&gt;&#xA;&lt;li&gt;$H$ and $X$ are matched up well to each other&lt;/li&gt;&#xA;&lt;li&gt;$H$ is much &quot;simpler&quot; than $X$&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;We are usually only motivated by the second and third cases, so the VC-dimension term in your bound captures what we care about.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example in $X=\mathbb{R}^d$, you probably want to choose a hypothesis class that depends on $d$, for instance halfspaces in $\mathbb{R}^d$, and so $d$ shows up in the VC-dimension term (in the case of halfspaces, this is $d+1$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There are also some examples of classes with finite VC-dimension that are still interesting. Here even if $X$ is &quot;large&quot; or complex, we can get a small bound.&lt;/p&gt;&#xA;" OwnerUserId="8243" LastActivityDate="2016-02-26T05:34:18.233" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33910" PostTypeId="2" ParentId="12377" CreationDate="2016-02-26T12:11:15.913" Score="-4" Body="&lt;p&gt;I am very much in agreement with Aaronson's comments.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I don't understand Milner's work. (e.g. pi calculus, which Milner invented to describe communicating processes). It is quite unreadable to me, as are nearly all papers on maths and logic, such as Lambek's theories. I have no doubt that Lambek's ideas are very good, but I would like to see them translated into some kind of pidgin English that I can read.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am thrown by Milner's comment that lambda calculus is fine for &quot;sequential processes&quot; but that something more is needed for communicating processes. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;My (perhaps naïve) viewpoint was that cannot be so, because pi-calculus is Turing complete, and  therefore can be converted mechanically to another Turing-complete notation, i.e. lambda calculus. Therefore Milner's pi-calculus notation can be converted automatically to lambda calculus.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It seems that I have identified a project: intuitively, it should be possible to mechanically convert from one Turing-complete language to another. is there an algorithm to do this? I will have to look on Google. Maybe this is incredibly hard to do, and as hard as the halting problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I looked yesterday on the net, and found papers on models of lambda calculus. I surprised to find that this seems to be a very deep rabbit hole.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Richard Mullins&lt;/p&gt;&#xA;" OwnerUserId="37860" LastEditorUserId="8429" LastEditDate="2016-02-27T13:21:56.617" LastActivityDate="2016-02-27T13:21:56.617" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33913" PostTypeId="1" CreationDate="2016-02-26T18:24:42.623" Score="6" ViewCount="258" Body="&lt;p&gt;I am currently researching the best algorithms available to achieve an &lt;strong&gt;inplace merge&lt;/strong&gt; operation: consider two consecutive sorted arrays of size &lt;code&gt;n&lt;/code&gt; and &lt;code&gt;m&lt;/code&gt;, and the goal is to merge it in place into a single sorted array (of size &lt;code&gt;n + m&lt;/code&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have found &lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/S0304397598001625&quot;&gt;this reference&lt;/a&gt; (Geffet et al., 2000), but I was wondering if better algorithms were found since then.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am interested in research in three categories about these algorithms:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;stable inplace merge (regardless of the &quot;implementation difficulty&quot; of the algorithm)&lt;/li&gt;&#xA;&lt;li&gt;unstable inplace merge (regardless of the &quot;implementation difficulty&quot; of the algorithm)&lt;/li&gt;&#xA;&lt;li&gt;&quot;easily implementable&quot; stable inplace merge&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;What are the current bests algorithms in these categories?&lt;/p&gt;&#xA;" OwnerUserId="25474" LastActivityDate="2016-02-29T16:23:19.130" Title="Most efficient inplace merge algorithms (stable and unstable)" Tags="&lt;ds.algorithms&gt;&lt;sorting&gt;&lt;implementation&gt;&lt;analysis-of-algorithms&gt;&lt;bibliography&gt;" AnswerCount="0" CommentCount="1" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="33914" PostTypeId="1" AcceptedAnswerId="40802" CreationDate="2016-02-26T20:58:32.563" Score="8" ViewCount="120" Body="&lt;p&gt;Consider the following decision problem.&#xA;Let $q = \sum_{i=0}^{n/4} \binom{n}{i}$ and let $(C_0^n, C_1^n,\dots,C_{q-1}^n)$ be a suitable enumeration of those subsets of $\{0,1,\dots,n-1\}$ that have at most $n/4$ elements.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Quarter-Subset Membership&lt;/strong&gt;&lt;br&gt;&#xA;  &lt;em&gt;Input:&lt;/em&gt; tuple of non-negative integers $(i,j,n)$ represented in binary&lt;br&gt;&#xA;  &lt;em&gt;Question:&lt;/em&gt; is $i \in C_j^n$?  &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;By picking a &quot;nice&quot; enumeration $(C_i^n)$, can Quarter-Subset Membership be decided by a deterministic Turing machine using no more than $(0.99)n$ bits of workspace, for all large enough $n$?&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;h2&gt;Discussion&lt;/h2&gt;&#xA;&#xA;&lt;p&gt;Let $\log x = \log_2 x$.&#xA;It is easy to enumerate all subsets of at most $k$ elements chosen out of $n$ by keeping track of $k$ indices of size $\lceil \log n \rceil$ bits each.&#xA;(See also the discussion in Knuth's TAOCP section 7.2.1.3.)&#xA;When $k$ is constant this is just $O(\log n)$ bits.&#xA;However, if we let $k = cn$ for some constant $c \le 1/4$, then such enumeration schemes use $\Omega(n\log n)$ space.&#xA;One can also use an $n$-bit characteristic vector together with a check for the number of bits set.&#xA;I'm interested in schemes that beat $n$ bits.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A closely related question is then:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;For positive $c$ satisfying the inequality $c\log(e(1+c)/c) &amp;lt; 1$, is there a code representing subsets of at most $cn$ elements chosen from $n$ that uses $dn$ bits for some constant $d &amp;lt; 1$, and can be decoded efficiently?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Note that for large enough $n$,&#xA;$$\sum_{i=0}^k\binom{n}{i} \le \left(\binom{n}{k}\right) = \binom{n+k-1}{k},$$&#xA;and since&#xA;$$\log\binom{n+k-1}{k} \le \log[(e(n+k-1)/k)^k],$$&#xA;when $k = cn$ then information-theoretically it follows that $d \le c\log(e(1+c)/c)$ would be achieved with a perfect code.&#xA;(This is less than $1$ if $0 &amp;lt; c \le 0.2728$.)&#xA;I am therefore looking for a reasonably clean code that can be manipulated without using lots of space.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To obtain a perfect code, one could pick some enumeration of the subsets, run an index through the enumeration in increasing order, and then obtain each combination by decoding the index.&#xA;However, decoding such a code when $k \ge \Omega(n/\log n)$ seems to require using at least $n$ bits of space for the enumerations I have looked at, such as via characteristic vectors ordered by increasing Hamming weight and then lexicographically, or via Gray codes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strike&gt;There might be a way to do this with $o(n)$ space, but I think $(1-\varepsilon)n$ is more likely to be feasible.&lt;/strike&gt;&#xA;Note that since $\log \binom{n}{cn} \ge cn\log(1/c)$, the information-theoretic lower bound is already $\Omega(n)$ bits, so this really is about whether $(1-\varepsilon)n$ can be achieved for some $\varepsilon &amp;gt; 0$.&#xA;A code that is nice enough (but not necessarily perfect) would seem to be enough to answer my question in the affirmative.&#xA;It might also be the case that Quarter-Subset Membership can be decided efficiently without explicitly constructing a code.&#xA;On the other hand, such an enumeration may not exist: for instance, every sequence of enumerations for values of $n$ might be inherently non-uniform, or it might be the case that any $(1-\varepsilon)n$-bit bound must be breached infinitely often.&lt;/p&gt;&#xA;" OwnerUserId="109" LastEditorUserId="109" LastEditDate="2018-05-17T14:35:06.553" LastActivityDate="2018-05-18T07:54:59.517" Title="Can Quarter-Subset Membership be decided space-efficiently?" Tags="&lt;cc.complexity-theory&gt;&lt;coding-theory&gt;&lt;space-bounded&gt;&lt;space-complexity&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="2" ContentLicense="CC BY-SA 4.0" />
  <row Id="33917" PostTypeId="1" AcceptedAnswerId="33921" CreationDate="2016-02-27T16:41:31.203" Score="-1" ViewCount="2965" Body="&lt;p&gt;In (Sniedovich 2006) &quot;&lt;em&gt;Dijkstra's algorithm revisited: the dynamic programming connexion&lt;/em&gt;&quot;, Sniedovich provides us another interpretation of Dijkstra's algorithm as a dynamic programming implementation. By curiosity, I found the historical book of Bellman 1954: &quot;&lt;em&gt;Dynamic Programming&lt;/em&gt;&quot;, in which Bellman bases Dynamic Programming on the following &lt;em&gt;Principle of optimality&lt;/em&gt; (page 84):&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;An optimal policy has the property that whatever the initial state and initial decision are, the remaining decisions much constitute an optimal policy with regard to the state resulting from the first decision.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;This is the core of dynamic programming while my feeling is that it's exactly the same as the &quot;Principle of Greed&quot;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;So the question is, are DP and Greedy algorithms just two different views of exactly the same thing? Or let's say that they share the same philosophy?&#xA;If the answer is no, what are the main differences between them?&lt;/p&gt;&#xA;" OwnerUserId="32709" LastActivityDate="2016-02-27T23:43:48.383" Title="Dynamic Programming vs Greedy Algorithm" Tags="&lt;ds.algorithms&gt;&lt;dynamic-programming&gt;&lt;greedy-algorithms&gt;" AnswerCount="2" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33918" PostTypeId="2" ParentId="33917" CreationDate="2016-02-27T17:23:25.540" Score="2" Body="&lt;p&gt;Dynamic programming is not a greedy algorithm. It just embodies notions of recursive optimality (Bellman's quote in your question).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A DP solution to an optimization problem gives an optimal solution whereas a greedy solution might not.&lt;/p&gt;&#xA;" OwnerUserId="37873" LastActivityDate="2016-02-27T17:23:25.540" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="33921" PostTypeId="2" ParentId="33917" CreationDate="2016-02-27T23:43:48.383" Score="3" Body="&lt;p&gt;The main difference, in my view, is that DP solves subproblems optimally, then makes the optimal current decision given those sub-solutions. Greedy makes the &quot;optimal&quot; current decision given a local or immediate measure of what's best.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Greedy doesn't reason about the subsequent choices to be made, so its measure of what's best is shortsighted and might be wrong. For example, a greedy pathfinding algorithm might always advance directly toward the target, since at each step this decreases the distance left to be traveled the most. But then it might run into a barrier and have to travel all the way around, resulting in a bad solution.&lt;/p&gt;&#xA;" OwnerUserId="8243" LastActivityDate="2016-02-27T23:43:48.383" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="33922" PostTypeId="1" CreationDate="2016-02-28T00:15:07.143" Score="1" ViewCount="93" Body="&lt;p&gt;I am trying to model domain in logic (first order logic or some of modal logics) and I have variable which is degree and not true-false variable. There can be different conclusions depending on the degree of this variable. How to model such variable? If v ir degree variable and n degrees are possible, then v can be modelled by introduction of n propositional variables v1=true &amp;lt;= v=1, v2=true &amp;lt;= v=2 and so on. Additional constraints (axioms) should be introducted - e.g. only one variable from v1, ..., vn can be true.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Introduction of additional variables is not good, because: 1) it increases complexity; 2) it is not extendable in simple manner.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The question is - &lt;strong&gt;maybe there is some syntactic sugar available for degrees, or maybe special logics are already available for handing degrees of even variables whose domain is set of natural numbers?&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Prolog and other logical programming environments has this feature, maybe this can be brought back to the theory as well.&lt;/p&gt;&#xA;" OwnerUserId="9317" LastActivityDate="2016-02-28T20:11:13.127" Title="How to model degree variable in logic (new type of modal logic?)?" Tags="&lt;lo.logic&gt;&lt;logic-programming&gt;&lt;modal-logic&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33923" PostTypeId="1" AcceptedAnswerId="33934" CreationDate="2016-02-28T14:18:31.453" Score="5" ViewCount="173" Body="&lt;p&gt;Consider two NP-complete languages that are polynomial-time isomorphic. If we know that one of them exhibits phase transition (with respect to some order parameter), does this imply that the other must also have phase transition, with respect to some (possibly different) order parameter?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Intuitively, I would expect that the answer is yes. The reason is that p-isomorphmism means that the two languages are &quot;essentially the same,&quot; apart from a polynomial-time re-encoding. It would appear quite surprising if one of them has phase transition, while the other does not, despite their p-isomorphism. But how can the implication be proved formally?&lt;/p&gt;&#xA;" OwnerUserId="12710" LastActivityDate="2016-02-29T05:37:21.383" Title="Does p-isomorphism preserve phase transition?" Tags="&lt;cc.complexity-theory&gt;&lt;np&gt;&lt;np-complete&gt;&lt;phase-transition&gt;" AnswerCount="1" CommentCount="6" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="33924" PostTypeId="1" CreationDate="2016-02-28T18:16:06.303" Score="3" ViewCount="494" Body="&lt;p&gt;Given two matrices $X \in \mathbb{R}^{m \times k}$, $Y \in \mathbb{R}^{n \times k}$, maximum inner product search (MIPS) asks for the largest $l$ entries of $X Y^T$.  Typically $k \ll m, n$ (many small dot products).  In the approximate version, we ask for entries within a factor $\alpha &amp;lt; 1$ of the true largest.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Unfortunately, &lt;a href=&quot;http://arxiv.org/abs/1510.02824v2&quot; rel=&quot;nofollow&quot;&gt;Ahle et al.&lt;/a&gt; show that an approximate solution to MIPS in subquadratic time $O(k^{O(1)} (mn)^{1-\epsilon})$ for $\epsilon &amp;gt; 0$ would contradict the strong exponential time hypothesis.  Terminology note: Ahle et al. calls it inner product similarity join (IPS) instead of MIPS.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Ahle et al. consider only classical complexity.  However, it is easy to beat the subquadratic limit using a quantum computer: applying Grover to the $m \times n$ search space gives $\tilde{O}(k \sqrt{m n})$ for $l = 1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question&lt;/strong&gt;: Is $\tilde{O}(k \sqrt{m n})$ the right quantum complexity for $l = 1$?  What about for larger $l \ll m, n$?&lt;/p&gt;&#xA;" OwnerUserId="13245" LastEditorUserId="13245" LastEditDate="2016-02-28T18:55:24.250" LastActivityDate="2016-07-31T04:10:32.500" Title="Quantum complexity of maximum inner product search" Tags="&lt;approximation-algorithms&gt;&lt;quantum-computing&gt;&lt;linear-algebra&gt;" AnswerCount="2" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="33926" PostTypeId="2" ParentId="33922" CreationDate="2016-02-28T20:11:13.127" Score="1" Body="&lt;p&gt;What semantics of the logical operators would you like to have? Two of the best studied semantics for degrees are (propositional) Łukasiewicz logic and Gödel-Dummet logic. The latter enforces the domain to be a linear order which would allow you to model them via the naturals. It is also axiomatizable, since it is equivalent to intuitionistic propositional logic with the axiom of linearity &lt;code&gt;(A =&amp;gt; B) \/ (B =&amp;gt; A)&lt;/code&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;It also has a hyper-sequent calculus which is sound and complete (have a look at e.g. A. Avron &quot;A Simple Proof of Completeness and Cut-elimination for Propositional Gödel Logic&quot;), which you could implement in Prolog.&lt;/p&gt;&#xA;" OwnerUserId="20458" LastActivityDate="2016-02-28T20:11:13.127" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="33930" PostTypeId="1" AcceptedAnswerId="33933" CreationDate="2016-02-29T02:40:23.843" Score="5" ViewCount="181" Body="&lt;p&gt;The Berman Hartmanis conjecture which formally states that there is an isomorphism for two $NP$ complete languages $L_{1}$, and $L_{2}$, the isomorphism is a bijective function $f()$ such that $f()$ maps strings from $L_{1}$ to $L_{2}$, such that $x \in L_{1}$ iff $f(x) \in L_{2}$. The isomorphism holds for all $NP$-complete languages under polynomial time assumptions(p-isomorphisms). Special conditions are: p-isomorphisms, polynomial run time $f()$, and so also the inverse of $f()$ is computable in polynomial time. The conjecture if true, would imply no $NP$-complete language is sparse. What are the analogues to the conjecture in various types of reductions, for example under $AC^{0}$ reductions the conjecture is true: Under $AC^{0}$ many-one reductions, all $NP$ complete languages do show an $AC^{0}$&lt;a href=&quot;ftp://athos.rutgers.edu/http/http/cs/pub/allender/stoc97.pdf&quot;&gt; isomorphism&lt;/a&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;This leads one to the creativity conjecture, which is: Are all NP-creative sets  languages the same as NP-complete sets under $\leq^{m}_{p}$ reductions. Formally, creativity for a set is defined as: A set $A$ is creative if its complement is &quot;productive&quot;. By &quot;productivity&quot; of a set $A$, over a class of languages $C$, we mean there is a function(not necessarily polynomial), that witnesses $A \notin C$. So, it is natural to think of problems to be creative under different conditions, eg, a polynomial time function $f$, or even under log time, or oracular function restrictions. So, while $AC^{0}$ many-one reductions give a resolution to the Berman-Hartmanis conjecture, is there resolution to the creativity conjecture under $AC^{0}$ reductions(or any other reasonable assumptions)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Creativity(&lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/0304397591900454&quot;&gt;k-creativity&lt;/a&gt;), like the Berman-Hartmanis conjecture(truth of which shows that there are no sparse $NP$-complete languages), shows us another fine grained level nature of $NP$ complete problems. Are there $NP$ complete problems that show creative(&lt;a href=&quot;http://www.sciencedirect.com/science/article/pii/0304397591900454&quot;&gt;k-creativity&lt;/a&gt;, for one) properties, and some don't. Are there natural problems that &#xA;that one would consider creativity, such that the $NP$-complete language is known to be creative (any variants of SAT)? &lt;/p&gt;&#xA;" OwnerUserId="27305" LastEditorUserId="27305" LastEditDate="2016-02-29T05:09:57.477" LastActivityDate="2016-02-29T05:27:36.993" Title="Analogues of the Berman Hartmanis conjecture and the Creativity Hypothesis" Tags="&lt;reductions&gt;&lt;np&gt;&lt;np-complete&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33931" PostTypeId="2" ParentId="33865" CreationDate="2016-02-29T03:03:13.703" Score="1" Body="&lt;p&gt;The first rule of concurrent data structures is: You do not want concurrency.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the ideal case, distributed/parallel/concurrent computing means that you have a number of completely independent sequential processes. Each process has its own data and resources, and the process is not even aware of any other processes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the worst case, you have a shared memory system with multiple threads querying and updating the same data structures concurrently. Something has probably gone horribly wrong, if you are seriously considering this.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Of course, when we are talking about concurrent data structures, some degree of concurrency is unavoidable. We still want to minimize it. The longer a process can work sequentially without touching mutexes, doing atomic operations, or passing messages, the more likely everything works correctly and the performance is acceptable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Static data structures with batch updates require less synchronization than dynamic data structures. You should try to make your concurrent data structures static, or at least as close to static as possible. If your algorithm requires interleaving queries with updates, try changing the algorithm before resorting to shared dynamic structures.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The same design principle also applies to updating static data structures. The more independent you can make the processes updating the structure, the better everything works.&lt;/p&gt;&#xA;" OwnerUserId="56" LastActivityDate="2016-02-29T03:03:13.703" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="33932" PostTypeId="1" AcceptedAnswerId="33937" CreationDate="2016-02-29T03:23:49.133" Score="1" ViewCount="978" Body="&lt;p&gt;It is common knowledge that a universal Turing machine can simulate any Turing machine with logarithmic overhead. Is it possible to make this overhead constant by constructing an analogous &quot;Universal&quot; multi head Turing machine?&lt;/p&gt;&#xA;" OwnerUserId="37402" LastActivityDate="2016-02-29T15:37:30.587" Title="Multi Head universal Turing machine" Tags="&lt;turing-machines&gt;&lt;universal-turing-machines&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33933" PostTypeId="2" ParentId="33930" CreationDate="2016-02-29T05:27:36.993" Score="8" Body="&lt;p&gt;First of all, Mahaney's Theorem says that merely assuming $\mathsf{P} \neq \mathsf{NP}$, there are no sparse $\mathsf{NP}$-complete sets. (Historically, Mahaney was motivated to study this precisely because of Berman-Hartmanis, but the theorem is independent of BH Isomorphism.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The $\mathsf{AC}^0$ version of the isomorphism conjecture (with various restrictions on uniformity) is a theorem. See the following paper and references therein:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Manindra Agrawal, &lt;a href=&quot;http://www.cse.iitk.ac.in/users/manindra/isomorphism/ac0-uniform-iso-jcss.pdf&quot;&gt;The Isomorphism Conjecture for Constant Depth Reductions&lt;/a&gt;, JCSS 77 (special issue on Karp's Kyoto Prize): 3-13, 2011.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;You may also be interested in other work of Agrawal, Allender, and others on related questions. Agrawal's and Allender's webpages have links to most of the relevant papers (I only say &quot;most&quot; in case I've missed a few that didn't involve either Agrawal or Allender, but I haven't done a thorough literature review recently).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;On creativity, Joseph and Young's construction is still one of the main pieces of evidence against BH.&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2016-02-29T05:27:36.993" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33934" PostTypeId="2" ParentId="33923" CreationDate="2016-02-29T05:37:21.383" Score="8" Body="&lt;p&gt;Yes, but I'm not sure it means much. Yes in a trivial way: suppose $\varphi$ is an isomorphism between two $\mathsf{NP}$-complete languages $L_1, L_2$, and $L_1$ exhibits a phase transition with respect to some parameter $m(x)$. Then so does $L_2$, with respect to the parameter $m_2(y) := m(\varphi^{-1}(y))$. (This relies on the fact that &quot;phase transition&quot; talks about the fraction of satisfiable instances jumping from 0 to 1, as a fraction of an exponential number of instances of a given size, and p-isomorphisms preserve densities up to a polynomial.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm not sure this is such a meaningful statement, however, because the parameter $m_2$ above can be totally unnatural from the point of view of $L_2$. Most phase transitions of interest are with respect to some natural parameter (e.g. clause-to-variable ratio in k-SAT, density of a graph, etc.). But those natural parameters are defined in terms of some &quot;internal&quot; structure to the instances, not by just treating the problem instances as abstract strings in $\Sigma^*$ ($\Sigma$ your finite alphabet). But p-isomorphism &lt;em&gt;does&lt;/em&gt; just treat inputs as abstract strings, and &quot;knows nothing&quot; about the internal structure that we like to impose on them. So, sure, you can say that all paddable languages have a phase transition since k-SAT does. But that doesn't tell you if, for example, solvability of quadratic Diophantine equations exhibits a phase transition in terms of any parameter that is natural from the point of view of Diophantine equations...&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2016-02-29T05:37:21.383" CommentCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="33935" PostTypeId="2" ParentId="33904" CreationDate="2016-02-29T09:49:59.410" Score="6" Body="&lt;p&gt;Sounds like you're trying to learn a map from vector space $X$ to vector space $Y$. The first thing that comes to mind is regression, which is a map from $X$ to $\mathbb{R}$. You can of course perform multiple regressions in parallel -- one for each dimension of $Y$ -- to learn a map from $X$ to $Y$. This has the shortcoming of ignoring any &quot;interaction&quot; or dependencies between the labels. You could first perform PCA on both the inputs in $X$ &lt;em&gt;and&lt;/em&gt; the outputs in $Y$, and learn a map from the principal vectors of the input to the principle vectors of the output.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another idea -- one that I'm particularly fond of -- is to perform Lipschitz extension. This assumes that $X$ and $Y$ are both metric spaces with known metrics. (A &lt;em&gt;much&lt;/em&gt; more general setting than vectors spaces!) See the pioneering paper of von Luxburg and Bousquet, for example:&#xA;&lt;a href=&quot;http://www.jmlr.org/papers/volume5/luxburg04b/luxburg04b.pdf&quot;&gt;http://www.jmlr.org/papers/volume5/luxburg04b/luxburg04b.pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="1746" LastActivityDate="2016-02-29T09:49:59.410" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33936" PostTypeId="1" CreationDate="2016-02-29T13:50:32.903" Score="2" ViewCount="142" Body="&lt;p&gt;I'd like to know more about &lt;strong&gt;real performances&lt;/strong&gt; of data structures, in particular two families attract my interests:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;hash tables&lt;/li&gt;&#xA;&lt;li&gt;cache oblivious&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;My researches didn't find any &quot;&lt;em&gt;comprehensive&lt;/em&gt;&quot; (let me use this adjective) book or article that describes the advantages and disadvantages of these two families.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;When is a hash table more performant than a cache oblivious data structure? What are the real use cases for a hash table, when is a cache oblivious B-tree (or simply binary) preferable? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The questions I'm asking are related not only on theoretical results, but also on &lt;strong&gt;real results&lt;/strong&gt; on real computers.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I've read the book &quot;Handbook of Data Structures and Applications&quot;, but it contains only theoretical limits, and it is not sufficient to me: I need to evaluate which data structures to implement on a real system.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks for any pointers!&lt;/p&gt;&#xA;" OwnerUserId="36496" LastActivityDate="2016-02-29T16:08:17.807" Title="Hashtable vs cache-oblivious" Tags="&lt;reference-request&gt;&lt;ds.data-structures&gt;&lt;cache-oblivious&gt;" AnswerCount="0" CommentCount="4" ClosedDate="2016-04-01T14:50:41.907" ContentLicense="CC BY-SA 3.0" />
  <row Id="33937" PostTypeId="2" ParentId="33932" CreationDate="2016-02-29T15:24:21.887" Score="3" Body="&lt;p&gt;If we have a fixed number of tapes then yes we can simulate them without the logarithmic overhead. E.g simulation of two-tape (and in general $k$-tape) TMs on a two-tape machine can be done without the logarithmic factor increase.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we want to simulate an arbitrary constant number of tapes then AFAIK we don't know any such simulation. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;See these questions and the references there:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://cstheory.stackexchange.com/q/5297/&quot;&gt;Justification of log f in DTIME hierarchy theorem&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://cs.stackexchange.com/q/2878/&quot;&gt;Universal simulation of Turing machines&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="-1" LastEditDate="2017-04-13T12:48:30.830" LastActivityDate="2016-02-29T15:37:30.587" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="33942" PostTypeId="2" ParentId="33924" CreationDate="2016-03-01T14:40:08.740" Score="1" Body="&lt;p&gt;I think the quantum complexity is right for $l=1$, if a quantum oracle $O$ that can compute the inner product of any two row vectors from $X$ and $Y$, namely, $O: |i\rangle|j\rangle|0\rangle \rightarrow |i\rangle|j\rangle|X_i\cdot X_j\rangle$, is provided. Computing the inner product of two $k$-length vectors requires time $\mathcal{O}(k)$. Based on this oracle, we can use the &lt;a href=&quot;http://arxiv.org/abs/quant-ph/9607014&quot; rel=&quot;nofollow&quot;&gt;quantum algorithm for finding minimun&lt;/a&gt; to find maximum and the oracle complexity will scales as $\mathcal{O}(\sqrt{mn})$. Then the total time complexity will be $\mathcal{O}(k\sqrt{mn})$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The above algorithm can be utilized to find $l$ largest entries of $XY^{T}$ in a successive manner. For example, finding the second largest entry is equivalent to finding the largest entry of the rest entries when we 'take' the true largest one away. Therefore, i think the quantum complexity for finding $l$ largest entries will be $\mathcal{O}(lk\sqrt{mn})$.&lt;/p&gt;&#xA;" OwnerUserId="34888" LastActivityDate="2016-03-01T14:40:08.740" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33944" PostTypeId="1" CreationDate="2016-03-01T22:09:22.660" Score="2" ViewCount="260" Body="&lt;p&gt;I am not sure if there is a better forum to ask this question, so I will try here.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider an image, say in .jpeg format, representing a directed graph, with nodes. Is there an algorithm, be it a machine learning/image processing/computer vision algorithm, that can read and process this image, and generate a potential adjacency matrix representation of this graph? What if the graph isn't planar, i.e. edges can intersect. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The graph itself could be unshaded circles representing nodes, with an arrow representing an edge from one node to another. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Obviously, as it is a supervised learning problem, some training data needs to be provided, but if this can be done, how would I go about doing it? If someone can point me to research in this problem, I'd appreciate it, as my search seems to have been to no avail.&lt;/p&gt;&#xA;" OwnerUserId="37914" LastActivityDate="2016-04-29T09:42:40.380" Title="Converting a pictorial representation of a directed graph to a adjacency matrix" Tags="&lt;graph-theory&gt;&lt;cv.computer-vision&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33946" PostTypeId="2" ParentId="33944" CreationDate="2016-03-02T00:38:54.107" Score="6" Body="&lt;p&gt;See&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Christopher Auer, Christian Bachmaier, Franz-Josef Brandenburg, Andreas Gleißner, Josef Reislhuber:&#xA;Optical Graph Recognition.&#xA;&lt;em&gt;Graph Drawing&lt;/em&gt; 2012, pp. 529-540&#xA;&lt;a href=&quot;http://dx.doi.org/10.1007/978-3-642-36763-2_47&quot;&gt;http://dx.doi.org/10.1007/978-3-642-36763-2_47&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2016-03-02T00:38:54.107" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33950" PostTypeId="1" AcceptedAnswerId="37009" CreationDate="2016-03-02T15:54:45.360" Score="5" ViewCount="287" Body="&lt;p&gt;For the following equivalent questions, you choose&#xA;&lt;br&gt;&#xA;whether-or-not the 3 variables in a clause must be distinct.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there an integer $k$ such that for all &lt;a href=&quot;https://en.wikipedia.org/wiki/Boolean_satisfiability_problem#3-satisfiability&quot; rel=&quot;nofollow noreferrer&quot;&gt;3-SAT&lt;/a&gt; formulas $\mathcal{F}$ without negations,&#xA;  &lt;br&gt;&#xA;  if every ​ $(\leq k)$-clause sub-formula of $\mathcal{F}$ is &lt;a href=&quot;https://en.wikipedia.org/wiki/Boolean_satisfiability_problem#Exactly-1_3-satisfiability&quot; rel=&quot;nofollow noreferrer&quot;&gt;1-in-3&lt;/a&gt; satisfiable then $\mathcal{F}$ is &lt;a href=&quot;http://blog.geomblog.org/2008/03/joys-of-nae-sat.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;NAE&lt;/a&gt;-satisfiable?&#xA;  &lt;br&gt;&lt;br&gt;&#xA;  Equivalently, is there an integer $k$ such that for all&#xA;  &lt;br&gt;&#xA;  &lt;a href=&quot;https://en.wikipedia.org/wiki/Boolean_satisfiability_problem#3-satisfiability&quot; rel=&quot;nofollow noreferrer&quot;&gt;3-SAT&lt;/a&gt; formulas $\mathcal{F}$ without negations, if $\mathcal{F}$ is not &lt;a href=&quot;http://blog.geomblog.org/2008/03/joys-of-nae-sat.html&quot; rel=&quot;nofollow noreferrer&quot;&gt;NAE&lt;/a&gt;-satisfiable then&#xA;  &lt;br&gt;&#xA;  $\mathcal{F}$ has a ​ $(\leq k)$-clause sub-formula which is not &lt;a href=&quot;https://en.wikipedia.org/wiki/Boolean_satisfiability_problem#Exactly-1_3-satisfiability&quot; rel=&quot;nofollow noreferrer&quot;&gt;1-in-3&lt;/a&gt; satisfiable?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;(The &lt;a href=&quot;https://en.wikipedia.org/wiki/Fano_plane&quot; rel=&quot;nofollow noreferrer&quot;&gt;Fano plane&lt;/a&gt; shows that $k$ can't be less than $7$.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;br&gt;&#xA;&lt;strong&gt;Motivation:&lt;/strong&gt; ​ ​ ​ That is the &quot;low end&quot; of my question&#xA;&lt;br&gt;&#xA;&lt;a href=&quot;https://cs.stackexchange.com/q/51828/12859&quot;&gt;on cs.stackexchange&lt;/a&gt; which was inspired by the&#xA;&lt;br&gt;&#xA;possibility of generalizing &lt;a href=&quot;https://en.wikipedia.org/wiki/Schaefer%27s_dichotomy_theorem&quot; rel=&quot;nofollow noreferrer&quot;&gt;Schaefer's dichotomy theorem&lt;/a&gt;&#xA;&lt;br&gt;&#xA;to constraint satisfaction &lt;a href=&quot;https://en.wikipedia.org/wiki/Promise_problem&quot; rel=&quot;nofollow noreferrer&quot;&gt;promise&lt;/a&gt; problems.&#xA;&lt;br&gt;&#xA;Specifically, for &lt;em&gt;the simplest&lt;/em&gt; non-trivial promise-constraint,&#xA;&lt;br&gt;&#xA;with m being the size of the input set, I have neither managed to&#xA;&lt;br&gt;&#xA;find evidence for it being in ​ &lt;a href=&quot;https://complexityzoo.uwaterloo.ca/Complexity_Zoo:P#promisebqp&quot; rel=&quot;nofollow noreferrer&quot;&gt;promise&lt;/a&gt;co&lt;a href=&quot;https://complexityzoo.uwaterloo.ca/Complexity_Zoo:Q#qip2&quot; rel=&quot;nofollow noreferrer&quot;&gt;QIP[2]&lt;/a&gt;T&lt;a href=&quot;https://complexityzoo.uwaterloo.ca/Complexity_Zoo:N#ntime&quot; rel=&quot;nofollow noreferrer&quot;&gt;IME&lt;/a&gt;$\hspace{-0.02 in}\big(\hspace{-0.04 in}$2&lt;sup&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Big_O_notation#Little-o_notation&quot; rel=&quot;nofollow noreferrer&quot;&gt;o&lt;/a&gt;(m)&lt;/sup&gt;$\hspace{-0.03 in}\big)\hspace{-0.04 in}\big/\hspace{-0.04 in}$&lt;a href=&quot;https://complexityzoo.uwaterloo.ca/Complexity_Zoo:Q#qmaqpoly&quot; rel=&quot;nofollow noreferrer&quot;&gt;q&lt;/a&gt;2&lt;sup&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Big_O_notation#Little-o_notation&quot; rel=&quot;nofollow noreferrer&quot;&gt;o&lt;/a&gt;(m)&lt;/sup&gt;&#xA;&lt;br&gt;&#xA;for infinitely many m, nor find evidence that it's not solvable&#xA;&lt;br&gt;&#xA;in &lt;a href=&quot;https://complexityzoo.uwaterloo.ca/Complexity_Zoo:C#conp&quot; rel=&quot;nofollow noreferrer&quot;&gt;co&lt;/a&gt;N&lt;a href=&quot;https://complexityzoo.uwaterloo.ca/Complexity_Zoo:N#ntime&quot; rel=&quot;nofollow noreferrer&quot;&gt;TIME&lt;/a&gt;(O(1)) on essentially the most basic &lt;a href=&quot;https://duckduckgo.com/?q=%22word+RAM%22+complexity&quot; rel=&quot;nofollow noreferrer&quot;&gt;word RAM&lt;/a&gt;.&#xA;&lt;br&gt;&#xA;The former applies even when each variable occurs exactly twice&#xA;&lt;br&gt;&#xA;and &quot;many m&quot; gets replaced with &quot;many &lt;em&gt;even&lt;/em&gt; m&quot; (since 3 is odd),&#xA;&lt;br&gt;&#xA;and the latter applies even when &lt;a href=&quot;https://en.wikipedia.org/wiki/Boolean_satisfiability_problem#Basic_definitions_and_terminology&quot; rel=&quot;nofollow noreferrer&quot;&gt;negative literals&lt;/a&gt; are allowed.&lt;br&gt;&lt;br&gt;&lt;/p&gt;&#xA;" OwnerDisplayName="user6973" LastEditorUserId="-1" LastEditDate="2017-04-13T12:48:30.830" LastActivityDate="2016-11-20T21:30:33.257" Title="Does every NO instance of this promise problem have a local refutation?" Tags="&lt;csp&gt;" AnswerCount="1" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="33953" PostTypeId="1" AcceptedAnswerId="33960" CreationDate="2016-03-02T19:08:17.603" Score="1" ViewCount="174" Body="&lt;p&gt;&lt;strong&gt;Edit:&lt;/strong&gt; I originally defined a regular function as a function computable by a Mealy machine, but Denis pointed out that that was a weaker model than what I was thinking of.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So to be more precise, by a &quot;finite-state transducer&quot; with input alphabet $A$ and output alphabet $B$, I mean a deterministic finite automaton over $(A \cup \{\epsilon\}) \times (B \cup \{\epsilon\})$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In particular, if both of the following hold for a transducer, then the transducer computes a function:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Every transition $(q, (x,y), q')$ is uniquely determined by $q$ and $x$;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;If there is a transition $(q, (\epsilon, x), q')$ for any $x$, then there are no other transitions from state $q$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Feel free to generalize or restrict as desired.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Definitions&lt;/strong&gt;:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $L$ and $M$ be languages. A &lt;em&gt;regular function&lt;/em&gt; $f:L\to M$ is a function computable by a finite-state transducer $A$ such that $(l,m)\in L(A)$ if and only if $l \in L$ and $m=f(L)\in M$. Note that it is decidable whether the relation computed by a given FST is a function. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Define the &lt;em&gt;equalizer&lt;/em&gt; $Eq(f,g)$ of two regular functions $f,g:A\to B$ as the set of all strings $x\in A$ such that $f(x)=g(x)=y$ for some $y\in B$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;&quot;Theorem&quot;:&lt;/strong&gt; The equalizer of two regular functions is regular.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;&quot;Proof&quot;:&lt;/strong&gt; Since $f$ and $g$ are regular functions, they are also regular relations. In particular, we can take their intersection $h=f\cap g$. By definition, we have $(x,y)\in h$ if and only if $(x,y)\in f$ and $(x,y)\in g$; in function notation this becomes $(x,y)\in h$ iff $f(x)=g(x)=y$. By the closure properties of regular relations, it follows that $h$ is a regular relation; and since $f$ and $g$ are functions, $h$ is also a function.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Since $h$ is a regular relation, it is recognized by some finite state transducer $T$. We can take the input projection $\pi_1 T$, giving us a finite automaton which accepts a string $x$ if and only if $(x,y)\in h$ for some $y$. Let $E$ denote the language of the automaton $\pi_1 T$. By the definitions of $h$, $f$, and $g$, it follows that $x\in E$ if and only if $x\in A$ and $f(x)=g(x)=y$ for some $y\in B$. $\square$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;But wait.&lt;/strong&gt; Suppose $A$ is the set of all nonempty strings $\Sigma^+$ over some alphabet $\Sigma$, and suppose $f$ and $g$ are homomorphisms (every homomorphism is a regular function.) Then we can take the equalizer $P=Eq(f,g)$, which is regular by the above &quot;theorem&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now $P$ will be nonempty iff there is a string $x\in \Sigma^+$ such that $f(x)=g(x)$. In other words, $P$ encodes the Post correspondence problem (PCP) for $f$ and $g$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;But since $P$ is regular, it is recognized by some finite automaton, and emptiness is decidable for finite automata. Since intersection and projection are computable constructions on transducers, we therefore have a method to solve PCP given the transducers for the homomorphisms $f$ and $g$. But this is impossible since PCP is undecidable. &lt;strong&gt;So where am I wrong?&lt;/strong&gt;&lt;/p&gt;&#xA;" OwnerUserId="35855" LastEditorUserId="35855" LastEditDate="2016-03-02T21:29:50.997" LastActivityDate="2016-03-03T09:38:36.360" Title="Are equalizers of regular functions always regular languages? (My guess is no because PCP, but...)" Tags="&lt;fl.formal-languages&gt;&lt;automata-theory&gt;&lt;proofs&gt;&lt;undecidability&gt;&lt;post-correspondence&gt;" AnswerCount="2" CommentCount="6" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33954" PostTypeId="2" ParentId="33953" CreationDate="2016-03-02T19:28:57.513" Score="4" Body="&lt;p&gt;If you use Mealy machines, it forces your functions to be length-preserving, and therefore you cannot encode PCP with them.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Your regularity theorem holds with length-preserving functions.&#xA;If you want to allow length-increasing functions (that you need for PCP), you need a more powerful transducer model, for which undecidability quickly kicks in.&lt;/p&gt;&#xA;" OwnerUserId="8953" LastActivityDate="2016-03-02T19:28:57.513" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33957" PostTypeId="2" ParentId="33924" CreationDate="2016-03-03T02:12:07.277" Score="1" Body="&lt;p&gt;The mechanism of finding $l$ largest entries is equivalent to finding $l$ least entries. The &lt;a href=&quot;http://arxiv.org/abs/quant-ph/9607014&quot; rel=&quot;nofollow&quot;&gt;quantum algorithm for finding minimum&lt;/a&gt; can be slightly changed to find $l$ least entries. In the step 2 of that algorithm, we replace the total running time '$22.5\sqrt{N}+1.4lg(N)^2$' with $18\sqrt{N/l}+1.4lg(N)(lg(N)-lg(l))$ (the result is derived by summing over $l+1$ instead of 2 to $N$ in the proof of lemma 2). Then one of $l$ least elements occurs with a nonnegligible probability. Running the new algorithm about $l$ time to reveal all the least $l$ elements. Therefore, the total running time of new algorithm for finding the $l$ least entries will be $\mathcal{O}(lk\sqrt{mn/l})=\mathcal{O}(k\sqrt{lmn})$. This is only my coarse idea and it might not be precise.&lt;/p&gt;&#xA;" OwnerUserId="34888" LastEditorUserId="34888" LastEditDate="2016-03-03T02:25:24.350" LastActivityDate="2016-03-03T02:25:24.350" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33959" PostTypeId="1" AcceptedAnswerId="33967" CreationDate="2016-03-03T07:31:36.980" Score="4" ViewCount="1108" Body="&lt;p&gt;I've tried to comb the literature and seen a lot of references to results that almost but don't quite seem to address this.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Question:&lt;/strong&gt; Is it known to be true or is there a hardness result contradicting that, for a monotone non-decreasing supermodular $f$, there is a polynomial-time&#xA;  constant-factor approximation algorithm for maximizing $f$ subject to&#xA;  a maximum cardinality constraint?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Background:&lt;/strong&gt; Given a ground set $U$ of items, $f: 2^U \to \mathbb{R}_{+}$ is &lt;em&gt;supermodular&lt;/em&gt; if for all subsets $A,B$ of $U$, we have $f(A) + f(B) \leq f(A \cup B) + f(A \cap B)$. It is &lt;em&gt;monotone non-decreasing&lt;/em&gt; if $S \subseteq S' \implies f(S) \leq f(S')$. A maximum cardinality constraint means to maximize $f(S)$ over all subsets $S$ of size at most $k$, where $k$ is given as input.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;My current understanding:&lt;/strong&gt; This problem seems under-studied because supermodular maximization is equivalent to submodular minimization, so people focus on the latter. Submodular minimization subject to a smallest-size cardinality constraint (i.e. $|S| \geq k$) has a very strong lower bound[1].&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But there are several issues in transferring such bounds. (1) It is not clear how the notion of approximation factor would transfer (I'm assuming my supermodular function is nonnegative so the transformation would be always negative...). (2) I'm assuming my supermodular function is montone increasing, whereas it seems nobody has been motivated to study the case of negative decreasing submodular minimization. (3) In this particular example, the cardinality constraint &quot;goes the wrong way&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For a different example approach, you might try to reason as follows. The clique problem (find a clique of size k) is hard, and in fact, known to be inapproximable, hence my objective is inapproximable. However, when you think about the supermodular objective function for clique, it would be &quot;find the set of at most $k$ vertices having the most edges in their induced subgraph&quot;, whereas the inapproximability result applies to &quot;find the largest clique of size at most $k$&quot;. And I don't see a hardness result anywhere for the correct objective. The same kind of issue seems to go for planted clique and densest $k$-subgraph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In short, it seems that it would be very surprising to have an approximation, but nobody has bothered to prove this in so many words (though actually for all I know, an efficient approximation algorithm exists).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] Svitkeina, Fleisher 2008 &lt;a href=&quot;http://arxiv.org/abs/0805.1071&quot;&gt;http://arxiv.org/abs/0805.1071&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="8243" LastEditorUserId="8243" LastEditDate="2016-03-03T13:07:35.053" LastActivityDate="2016-03-03T21:05:20.983" Title="Maximizing a monotone supermodular function s.t. cardinality" Tags="&lt;ds.algorithms&gt;&lt;approximation-algorithms&gt;&lt;optimization&gt;&lt;approximation-hardness&gt;&lt;submodularity&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="33960" PostTypeId="2" ParentId="33953" CreationDate="2016-03-03T09:38:36.360" Score="4" Body="&lt;p&gt;The problem is in your assumption that rational relations are closed under intersection. The following counter-example is taken from Example 2.5 in Berstel's &quot;Transductions and Context-Free Languages&quot;:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $X, Y \subseteq \{a\}^* \times \{b,c\}^*$ be rational relations defined by&#xA;\begin{align*} X ={}&amp;amp; \{ (a^n, b^n c^k) \mid n,k \geq 0 \} \\ Y ={}&amp;amp; \{ (a^n, b^k c^n) \mid n,k \geq 0 \} \end{align*}&lt;/p&gt;&#xA;&#xA;&lt;p&gt;They are rational since $X = (a,b)^* (1,c)^*$ and $Y=(1,b)^*(a,c)^*$. But the intersection&#xA;$$ Z = X \cap Y = \{ (a^n, b^n c^n) \} $$&#xA;is not rational. If there was a transduction $\tau : \{a\}^* \to \mathcal{P}(\{b,c\}^*)$ realizing $Z$, then since transductions preserve regular languages, the language $\tau(a^*) = \{b^n c^n\}$ would be regular, a contradiction.&lt;/p&gt;&#xA;" OwnerUserId="29249" LastActivityDate="2016-03-03T09:38:36.360" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33965" PostTypeId="1" CreationDate="2016-03-03T16:12:43.910" Score="2" ViewCount="45" Body="&lt;p&gt;I am interested in a class of optimization problems of which we know that the input variable is first subjected to noise $\xi$ before entering the data-producing process $f$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I write the objective in probability, e.g. $x^* = \underset{x \in X}{\arg } \{ P[\partial f(x + \xi)^\intercal w \leq \epsilon_1 ] \geq 1 - \epsilon_2\}$ where $X \subset \mathbb{R}^d$ and $\epsilon_i$ and $w$ are constant w.r.t $x$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Notes : &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;$f$ is not known explicitly but is continuous and quite regular, so we are able to compute subgradients for any realization of $\xi$. I am pretty sure it is not convex over all $X$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;We do not know the distribution of $\xi$ and it might have a dependency on $x$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Question :&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;I've seen many works in stochastic approximation dealing with additive noise (noisy zeroth and first- order oracles); is there any relevant literature on &quot;noisy control variables&quot; ? I would be very grateful for any pointers, especially to approximation algorithms. &lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Thank you in advance&lt;/p&gt;&#xA;" OwnerUserId="17624" LastEditorUserId="17624" LastEditDate="2016-03-03T17:36:43.840" LastActivityDate="2016-03-03T17:36:43.840" Title="Stochastic optimization with erroneous oracles" Tags="&lt;reference-request&gt;&lt;approximation-algorithms&gt;&lt;optimization&gt;&lt;stochastic-process&gt;" AnswerCount="0" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33967" PostTypeId="2" ParentId="33959" CreationDate="2016-03-03T21:05:20.983" Score="4" Body="&lt;p&gt;I think this is an example showing no kind of approximation is possible except with exponential$(k)$ value queries.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let $f(S) = 0$ if $|S| \leq k$, otherwise $f(S) = |S| - k$. Now pick a special set $S^*$ uniformly at random from all sets of size $k$, and let $f(S^*) = 0.5$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm claiming that this function is supermodular because every element initially has $0$ marginal value, then possibly $0.5$, then $1$ thereafter. So marginal value of any element only increases in a superset.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$S^*$ maximizes the function subject to a cardinality constraint of $k$, with an objective value of $0.5$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Meanwhile any algorithm making subexponentially many value queries will be unable (except with tiny probability) to find a feasible set with nonzero value.&lt;/p&gt;&#xA;" OwnerUserId="8243" LastActivityDate="2016-03-03T21:05:20.983" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="33971" PostTypeId="1" CreationDate="2016-03-04T13:21:48.057" Score="8" ViewCount="141" Body="&lt;p&gt;I would like to know if the following NP-complete problem has a name and has been studied:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Input:&lt;/strong&gt; Given a CNF formula $\varphi$ on $n$ variables, a truth assignment $\sigma:[n] \to \{T,F\}$ and an integer $k$;&lt;br&gt;&#xA;  &lt;strong&gt;Question:&lt;/strong&gt; Can we transform $\sigma$  into a &lt;em&gt;satisfying assignment&lt;/em&gt; for $\varphi$, &lt;em&gt;swapping&lt;/em&gt; the truth values of at most $k$ pairs of variables.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;It is very similar to the problem k-FLIP SAT (see &lt;a href=&quot;https://cstheory.stackexchange.com/q/33604/3247&quot;&gt;my previous question&lt;/a&gt; for details); but here the number of truth values used cannot change.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In particular, I would like to know if there are some results about its parameterized complexity in the general case and under some restrictions (e.g. q-CNF formulas, max occurrences of a variable).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I did a few searches on google, but didn't find anything (but probably I'm not using the correct terms).&lt;/p&gt;&#xA;" OwnerUserId="3247" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.117" LastActivityDate="2016-03-04T13:21:48.057" Title="&quot;k-Swap SAT&quot; problem" Tags="&lt;reference-request&gt;&lt;sat&gt;&lt;parameterized-complexity&gt;" AnswerCount="0" CommentCount="7" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33973" PostTypeId="1" AcceptedAnswerId="33975" CreationDate="2016-03-04T15:34:37.160" Score="2" ViewCount="575" Body="&lt;p&gt;Consider a weighted tree $T = (V,E)$. The &lt;em&gt;bottleneck weight&lt;/em&gt; for a pair of vertices $v_1,v_2 \in V$ is the highest weight of the edges on the unique path from $v_1$ to $v_2$ (if $v_1 = v_2$ it is 0). Clearly, using a simple graph traversal from a given node we can find the bottleneck weight from that node to all other nodes in $\mathcal O(|V|)$ time, so we can find all $V^2$ bottleneck weights in $\mathcal O(|V|^2)$ time. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am interested in the situation where $V$ is large, and we are not interested in finding bottlenecks for all pairs $(v_1,v_2)$, but nonetheless for an (also large) number of pairs $Q$ (the letter $Q$ stands for queries).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am wondering whether it is possible to do some preprocessing in less than $\mathcal O(|V|^2)$ time -- in particular, in $\mathcal O(|V|\log|V|)$ -- so that we produce some search mechanism, which will then produce a bottleneck weight for $(v_1,v_2)$ in $\mathcal O(\log |V|)$ time. Then we can produce the answer to all queries in $\mathcal O(|V|\log |V| + Q\log|V|)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that there are $\mathcal O(|V|)$ edges, and thus also that many possible answers to a query. Hence, a balanced decision tree whose leaves are the edge weights, which takes pairs of vertices and decides the highest weight edge between them -- if such a tree exists -- would do the job.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One attempt to build the tree was as follows: recursively split the original tree by removing the highest weight edge. Assign the nodes of the tree indices so that both resulting trees have indices in a contiguous range. Then make a node in the decision tree, which when given two vertices decides whether they lie in the same of the two ranges; if not, this search tree node represents the highest weight edge between the vertices; if so, continue in either of the children of the search tree node.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Unfortunately, this construction fails as the decision tree need not be balanced. Consider, for example, the tree which is just a simple path with ever decreasing weights along the path. Balancing the tree does not seem to be an option, as the decision procedures created by the balancing operations grow too fast (traversing the tree would take too long).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any suggestions or insights are welcome.&lt;/p&gt;&#xA;" OwnerUserId="37958" LastActivityDate="2016-03-04T16:15:25.880" Title="Efficient all pair bottleneck computation for a tree" Tags="&lt;graph-algorithms&gt;&lt;time-complexity&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33974" PostTypeId="1" CreationDate="2016-03-04T15:34:45.703" Score="4" ViewCount="149" Body="&lt;p&gt;In the referee (SMP: Simultaneous Message Passing) model introduced by Yao (see e.g. [1]), Alice and Bob have respectively inputs $x\in X$ and $y\in Y$, and wish to communicate with a third-party, the Referee, to compute $f(x,y)$ where $f\colon X\times Y\to\{0,1\}$ is a function known to the three parties.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The restriction, however, is that the communication is one-way: Alice and Bob can only send a message to the referee, who then must output the answer ($A\leadsto R$ and $B\leadsto R$). (This differs from the one-way CC setting as the referee does not hold any input.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;While the deterministic communication complexity in this model seems well-understood, and lower bounds (tight for $\sf EQ_n$) for the private-coin setting are known [1], I could not find examples of cases (preferably for promise problems, i.e. with a gap between $\sf yes$ and $\sf no$-instances) for which there was a strong separation between one-way &lt;em&gt;public-coin&lt;/em&gt; communication complexity and SMP &lt;em&gt;public-coin&lt;/em&gt; communication complexity.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What are problems $\Pi$ for which there is a gap between $\operatorname{ow-CC}_{\rm pub}(\Pi)$ and $\operatorname{smp-CC}_{\rm pub}(\Pi)$?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;For instance, ${\sf EQ}_n$ is $\Theta(\sqrt{n})$ for SMP private-coin, and $O(\log {n})$ for one-way private-coin; but in the public-coin setting, it is $O(1)$ for both. On the other end of the spectrum, ${\sf DISJ}_n$ is $\Theta({n})$ for both models, and so is ${\sf GAPHAMMING}_n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(As a side note, one can derive a separation between one-way &lt;em&gt;&quot;imperfectly-shared&quot;-coin&lt;/em&gt; communication complexity and SMP &lt;em&gt;&quot;imperfectly-shared&quot;-coin&lt;/em&gt; communication from the work of Bavarian et al. [2] on communication with correlated random bits, from their ${\sf GAPIP}_n$ problem, but this separation does not hold for perfectly shared randomness (public coins)).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] &lt;em&gt;Randomized simultaneous messages: solution of a problem of Yao in communication complexity&lt;/em&gt;, L. Babai. 1997.&#xA;&lt;a href=&quot;http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=612319&amp;amp;tag=1&quot; rel=&quot;noreferrer&quot;&gt;http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=612319&amp;amp;tag=1&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] &lt;em&gt;On the Role of Shared Randomness in Simultaneous Communication,&lt;/em&gt; M. Bavarian, D. Gavinsky, T. Ito, 2014.&#xA;&lt;a href=&quot;http://arxiv.org/abs/1508.06395&quot; rel=&quot;noreferrer&quot;&gt;http://arxiv.org/abs/1508.06395&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="13319" LastEditorUserId="13319" LastEditDate="2016-03-04T16:00:12.803" LastActivityDate="2016-03-08T15:15:58.620" Title="Problems still &quot;hard&quot; in the SMP/Referee model with shared randomness?" Tags="&lt;reference-request&gt;&lt;communication-complexity&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="33975" PostTypeId="2" ParentId="33973" CreationDate="2016-03-04T16:15:25.880" Score="4" Body="&lt;p&gt;You can even get $O(|V|)$ time if the edge weights are sorted. See the following paper:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Erik D. Demaine, Gad Landau, and Oren Weimann, “On Cartesian Trees and Range Minimum Queries”, in Proceedings of the 36th International Colloquium on Automata, Languages and Programming (ICALP 2009), Lecture Notes in Computer Science, volume 5555, Rhodes, Greece, July 5–12, 2009, pages 341–353.&lt;/p&gt;&#xA;" OwnerUserId="314" LastActivityDate="2016-03-04T16:15:25.880" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33976" PostTypeId="2" ParentId="33974" CreationDate="2016-03-04T18:38:10.777" Score="2" Body="&lt;p&gt;If A has a pointer (of length $\log n$) to a bit of B (whose input has length $n$), that requires, $\Theta(\log n)$ one-way communication, even with a public-coin. On the other hand, the referee needs $\Theta(n)$ bits to solve the problem, even with a public-coin. Or did I misunderstand something?&lt;/p&gt;&#xA;" OwnerUserId="419" LastActivityDate="2016-03-04T18:38:10.777" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33977" PostTypeId="1" CreationDate="2016-03-04T21:58:22.760" Score="17" ViewCount="329" Body="&lt;p&gt;The title should be pretty self-explanatory, but to be more precise, consider the decision version of factoring, which is given input $(x,k)$, where $x$ and $k$ are binary encodings of integers, to determine whether $x$ has a prime factor less than $k$. Does this decision problem have a statistical zero knowledge proof? &lt;/p&gt;&#xA;" OwnerUserId="170" LastActivityDate="2016-07-11T18:46:34.717" Title="Does Factoring have a Statistical Zero Knowledge Proof?" Tags="&lt;cr.crypto-security&gt;&lt;nt.number-theory&gt;&lt;factoring&gt;&lt;zero-knowledge&gt;" AnswerCount="0" CommentCount="5" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="33981" PostTypeId="2" ParentId="2894" CreationDate="2016-03-05T12:32:49.180" Score="-2" Body="&lt;p&gt;A finite computer cannot simulate itself, in contrast to a Turing machine that has an infinite tape and can simulate any other Turing machine. It is, however, possible to simulate any computer on a similar computer, but you need a little more memory than the &quot;simulated&quot; one (like in a virtual machine): &lt;a href=&quot;http://meaningofstuff.blogspot.com/2016/03/can-computer-or-human-simulate-itself.html&quot; rel=&quot;nofollow&quot;&gt;http://meaningofstuff.blogspot.com/2016/03/can-computer-or-human-simulate-itself.html&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="37969" LastActivityDate="2016-03-05T12:32:49.180" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="33982" PostTypeId="1" CreationDate="2016-03-05T14:22:24.367" Score="1" ViewCount="185" Body="&lt;p&gt;The input is set of (disjoint) intervals $I$. The output should be the following rooted binary tree. Each leaf node corresponds to an interval from $I$. Each interior node contains an interval which encloses intervals from both child nodes. The goal is to minimize the sum of lengths of intervals in interior nodes.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Example. Input $I=\{[1,5], [7,9], [20,25]\}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;leaf nodes: $l_1 = [1,5], l_2 = [7,9], l_3=[20,25]$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;interior nodes $i_1 = (l_1, l_2, [1,9]), i_2= (i_1, l_3,[1,25])$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is this problem NP-hard? &lt;/p&gt;&#xA;" OwnerUserId="37968" LastActivityDate="2016-03-05T14:22:24.367" Title="Is &quot;Binary Interval Tree&quot; NP-hard?" Tags="&lt;np-hardness&gt;&lt;binary-trees&gt;" AnswerCount="0" CommentCount="3" FavoriteCount="1" ClosedDate="2016-03-07T06:49:23.060" ContentLicense="CC BY-SA 3.0" />
  <row Id="33984" PostTypeId="1" AcceptedAnswerId="33989" CreationDate="2016-03-06T09:35:52.593" Score="7" ViewCount="1866" Body="&lt;p&gt;I am trying to grok dependent types, and there's something that I find unclear. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In C++, templates can have non-type (template) parameters. The values of these parameters have to be specified at compile time, and it is then - at compile time - that the value-dependant types are defined/created/generated/declared. &#xA;It is not possible to generate a dependent-type with a run-time value. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Beyond syntactic differences, how are languages with dependent types like e.g. Idris different from what C++ does (albeit with somewhat awkward and possibly convoluted syntax)? After all, the whole point of their strong type systems is also to catch type errors at compile time, so obviously any runtime behavior is already after all the compile time checks have succeeded. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If I was to define the proverbial fixed-size list/vector type (where the list size is embedded in the type), then &lt;code&gt;append()&lt;/code&gt; would return a (new) list of a new type with the new incremented size specified as part of the type. In C++, you would need to know the actual types, i.e. the size of the list, at compile time. There is no way to call &lt;code&gt;append()&lt;/code&gt; on the result of the previous &lt;code&gt;append()&lt;/code&gt; call, a runtime-determined number of times (as in a loop), because there is no (obvious) way to specify the type of the object to hold the previous result at runtime. Calling it recursively would cause a compile-time stack explosion. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;What does e.g. Idris do that is different?&lt;br&gt;&#xA;What extra power comes from dependent-types in languages that support them?&lt;br&gt;&#xA;Alternatively, what is C++ missing to be considered as a language that supports dependent-types?&lt;/p&gt;&#xA;" OwnerUserId="2949" LastEditorUserId="2949" LastEditDate="2016-03-06T10:35:01.987" LastActivityDate="2016-03-07T01:53:26.077" Title="Dependent Types and Compile Time Types" Tags="&lt;dependent-type&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="33986" PostTypeId="2" ParentId="3331" CreationDate="2016-03-06T14:53:30.463" Score="10" Body="&lt;p&gt;By the work of Klivans and van Melkebeek (which relativizes), if E = DTIME($2^{O(n)}$) does not have circuits with PP gates of size $2^{o(n)}$ then PH is in PP. The contrapositive says that if PH is not in PP then E has subexponential-size circuits with PP gates. That is consistent with the fact that an oracle proof of PH not in PP gives a relativized lower bound for PP. No reason to think it implies any upper bound for PP, or any strength for circuits without PP gates. &lt;/p&gt;&#xA;" OwnerUserId="550" LastEditorUserId="550" LastEditDate="2016-03-06T21:46:13.900" LastActivityDate="2016-03-06T21:46:13.900" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33989" PostTypeId="2" ParentId="33984" CreationDate="2016-03-07T01:53:26.077" Score="15" Body="&lt;p&gt;A language can be thought of as having both a static semantics, which determines the compile-time analysis that occurs; and a dynamic semantics, which determines the execution-time behavior of programs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In Standard ML, for example, the static semantics concerns a language of Modules and a language of Types. The semantics show how types are assigned to terms in the core language and then checked for consistency. The module static semantics describe how signatures and structures are matched, how functors transform one structure to another, etc.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is a fairly rich and complex language that is evaluated solely at compile-time; once this occurs, almost all of the semantic objects involved are no longer relevant to the execution semantics of the program and can be forgotten. The semantics works over the same syntax as the dynamic semantics, but the static semantics is very different in character from the dynamic semantics!&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In a language such as Idris, which is dependently typed, the character of evaluation of the static semantics and the dynamic semantics ends up having far greater overlap. Instead of the static semantics working over types and the dynamic semantics working over values, &lt;em&gt;both&lt;/em&gt; semantics now encompass both types and values. This doesn't mean that there aren't differences in the character of the static and dynamic semantics, just that there is significant overlap and they both concern some of the same semantic objects. In particular, the static semantics is often restricted to &lt;em&gt;total&lt;/em&gt; functions, which ensures that evaluation will terminate (albeit sometimes after a lengthy delay).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Some parts of programs in dependently-typed languages exist only to provide evidence in the static semantics that other parts of the program are indeed well-typed. Idris doesn't make any syntactic distinctions here, but ATS (a systems programming language with dynamic semantics similar to C, but with a dependent type system) syntactically distinguishes terms that exist only to provide proof of assertions made in types. Idris does, on the other hand, allow annotation of programmer intent that some terms be &quot;erased&quot;, which will produce an error in the static semantics if that desire can't be met.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, with that out of the way, let's look at C++ templates:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Instead of dealing with polymorphism and dependency of types on values directly in the static semantics, C++ adds an extra untyped language of template expansion into the static semantics. Rather than deal with complex static semantics, extra code is generated that should be checkable simply via the simple core language static semantics.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Although this lets you deal with some of the same practical problems that can be solved with polymorphic and more general dependent types (polymorphism is just a different sort of dependency, one of terms depending on types) it's not actually part of the type system; it's just an extra layer in the static semantics &lt;em&gt;separate&lt;/em&gt; from the type system. Furthermore, the only way any extra &quot;stuff&quot; generated by template expansion could be erased would be by the general &quot;dead code elimination&quot; portion of the compiler, which isn't even a well-defined part of the static C++ semantics.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Sometimes in a dependently-typed language, type parameters can't be erased at run-time, because they are relevant to the determination of the run-time semantics. In C++, you would have to carry an extra parameter as well; this might be a &quot;length&quot; parameter that would be part of a Vector type in a dependently-typed language. C++ lacks the ability to make such parameters implicit and to define code that automatically calculates on them and make appropriate consistency checks with them.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Dependently-typed languages give you the choice of how much effort you will put into static proof of the runtime-irrelevance of such parameters; with little effort you can let them carry over into the dynamic semantics and be run-time checked, but with more effort you may be able to supply a proof that the property asserted by the type term is never violated and thus erase the run-time representation entirely.&lt;/p&gt;&#xA;" OwnerUserId="37988" LastActivityDate="2016-03-07T01:53:26.077" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="33995" PostTypeId="1" AcceptedAnswerId="34012" CreationDate="2016-03-07T13:24:19.413" Score="8" ViewCount="360" Body="&lt;p&gt;I am interested in decompositions of a directed graph $G=(V,E)$ into non-intersecting Eulerian subgraphs $G_i=(V_i, E_i)$. I want to find the decomposition that covers the largest number of edges.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I believe that the best case is when a &quot;Eulerian decomposition&quot; exists, that is, the union of $E_i$ gives back $E$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This problem is related to the &lt;a href=&quot;http://dx.doi.org/10.1137/S0097539794267255&quot; rel=&quot;nofollow&quot;&gt;minimum cycle cover of a graph&lt;/a&gt; but distinct. The minimum cycle cover wants to find cycles covering all edges with minimum overlap, whereas I want find cycles with no overlap covering as many edges as possible.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;More specifically, I am interested in complexity results related to the following problems:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Given an integer $k$, is there an edge-disjoint cycle decomposition covering more than $k$ edges?&lt;/li&gt;&#xA;&lt;li&gt;Is there an edge-disjoint cycle decomposition covering all edges?&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;The second question has been answered in comments and appears to be polynomial.&lt;/li&gt;&#xA;&lt;li&gt;The first question seems to be equivalent to &quot;What is the smallest number of edges that can be removed from a graph so that each vertex has the same in-degree as its out-degree.&quot;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="4780" LastEditorUserId="4780" LastEditDate="2016-03-09T09:33:10.407" LastActivityDate="2016-03-09T14:37:13.523" Title="Complexity of the edge-disjoint cycle covers" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;graph-theory&gt;&lt;covering-problems&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="33996" PostTypeId="1" AcceptedAnswerId="34007" CreationDate="2016-03-07T19:52:39.220" Score="4" ViewCount="260" Body="&lt;p&gt;The Balanced Max-2-SAT is a special case of Max-2-SAT (each clause is a disjunction of exactly 2 literals) in which for every variable $x$, there is a $k$ such that $x$ appears positive exactly $k$ times in the clauses, and exactly $k$ times negative in the clauses. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm looking for a published proof of NP-Hardness for this problem, for references.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is implied NP-Hard by &lt;a href=&quot;https://www.google.ca/url?sa=t&amp;amp;rct=j&amp;amp;q=&amp;amp;esrc=s&amp;amp;source=web&amp;amp;cd=1&amp;amp;cad=rja&amp;amp;uact=8&amp;amp;ved=0ahUKEwiVzrLzqq_LAhXFmIMKHZzBDHwQFggbMAA&amp;amp;url=http%3A%2F%2Feccc.hpi-web.de%2Freport%2F2006%2F088%2Fdownload%2F&amp;amp;usg=AFQjCNEd0NwBfa1vhvsEhxEjEq1EnJeogA&amp;amp;sig2=un1ewatash0gQ9f48Imn_w&amp;amp;bvm=bv.116274245,d.amc&quot; rel=&quot;noreferrer&quot;&gt;[this paper]&lt;/a&gt;, &#xA;but I can't find the original NP-Hardness proof.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is it a consequence of the hardness of Max-2-SAT ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also as a bonus, Balanced Max-2-SAT($k$) is the subcase in which &lt;em&gt;every&lt;/em&gt; variable appears exactly $k$ times positive, exactly $k$ times negative.&#xA;Is there some known $k$ for which NP-Hardness is published?&#xA;I know that Balanced Max-3-SAT(2) is hard, but found nothing for the $2$ case.&lt;/p&gt;&#xA;" OwnerUserId="10474" LastActivityDate="2016-03-08T13:07:22.457" Title="Balanced Max-2-SAT NP-Hardness" Tags="&lt;np-hardness&gt;&lt;sat&gt;&lt;max2sat&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="33998" PostTypeId="1" CreationDate="2016-03-07T21:03:25.487" Score="-5" ViewCount="911" Body="&lt;p&gt;I heard brute-force is the only method. Is there any other way? Is there a way to prove that the complexity cannot be exponential?&lt;/p&gt;&#xA;" OwnerUserId="38006" LastActivityDate="2016-03-07T22:38:26.653" Title="What is the complexity of the fastest method of k-coloring any graph?" Tags="&lt;graph-theory&gt;&lt;time-complexity&gt;&lt;graph-colouring&gt;" AnswerCount="1" CommentCount="0" ClosedDate="2016-04-02T16:49:08.597" ContentLicense="CC BY-SA 3.0" />
  <row Id="34000" PostTypeId="2" ParentId="33998" CreationDate="2016-03-07T22:29:26.640" Score="9" Body="&lt;p&gt;There are non-obvious improvements over simple brute-force search for $k$-coloring (and for many other NP-hard problems). The obvious approach would take roughly $k^n$ time, but one can do it in time $O(2^n \cdot poly(n))$, and for $k = 3$, one can get $O(1.33^n)$.  Algorithms in this area involve simple but interesting applications of dynamic programming and inclusion-exclusion, and for state-of-the-art results can involve intricate case analysis.  One good starting point: these lecture notes (with references) by Uri Feige&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.wisdom.weizmann.ac.il/~dinuri/courses/11-BoundaryPNP/L01.pdf&quot;&gt;http://www.wisdom.weizmann.ac.il/~dinuri/courses/11-BoundaryPNP/L01.pdf&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;which also include open problems; e.g., can one get running time $O(2^n \cdot poly(n))$ as above with polynomial space usage?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A broader/deeper introduction to improved exponential-time algorithms for NP problems can be found in the textbook &quot;Exact Exponential Algorithms&quot; by Fomin and Kratsch:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://www.springer.com/us/book/9783642165320&quot;&gt;http://www.springer.com/us/book/9783642165320&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="223" LastEditorUserId="223" LastEditDate="2016-03-07T22:38:26.653" LastActivityDate="2016-03-07T22:38:26.653" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="34007" PostTypeId="2" ParentId="33996" CreationDate="2016-03-08T13:07:22.457" Score="7" Body="&lt;p&gt;I think it is possible to reduce Max Cut to this problem: given a graph $G(V,E)$, make a variable for each vertex, and for each edge $(u,v)\in E$ make the two clauses $(x_u\lor x_v)$ and $(\neg x_u\lor\neg x_v)$. In the resulting instance, $x_u$ appears $d(x_u)$ times positive and the same number of times negative. Since Max Cut is still NP-hard on regular graphs, this proves that the version for which $k$ is the same for all variables is also hard.&lt;/p&gt;&#xA;" OwnerUserId="3168" LastActivityDate="2016-03-08T13:07:22.457" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="34011" PostTypeId="1" CreationDate="2016-03-08T22:39:49.180" Score="1" ViewCount="66" Body="&lt;p&gt;I have two SDP problems which are proved to be equivalent (in terms of optimal objective values) to each other in theory. Moreover, they have same number of constraints and variables respectively.  But in numerical tests, we found out that solving one is faster than the other. I can't find a reason to explain this observation.  Do you have any idea about the possible reasons to explain this?&lt;/p&gt;&#xA;" OwnerUserId="38017" LastActivityDate="2016-03-08T22:39:49.180" Title="Equivalent SDP problems different solving times" Tags="&lt;semidefinite-programming&gt;&lt;complexity&gt;" AnswerCount="0" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="34012" PostTypeId="2" ParentId="33995" CreationDate="2016-03-09T14:37:13.523" Score="8" Body="&lt;p&gt;The problem is polynomial-time solvable.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Say that a vertex is &lt;em&gt;balanced&lt;/em&gt; if its in-degree equals its out-degree.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that a directed graph is Eulerian iff every vertex is balanced and its underlying undirected graph is connected. Now, a directed graph is a vertex-disjoint union of Eulerian graphs iff every vertex is balanced. So, the problem amounts to deleting a smallest number of arcs so that each vertex becomes balanced. In Theorem 2 of the following paper, this problem is solved in polynomial time using network flows.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Marek Cygan, Dániel Marx, Marcin Pilipczuk, Michal Pilipczuk, Ildikó Schlotter:&#xA;&lt;a href=&quot;http://dx.doi.org/10.1007/s00453-012-9667-x&quot;&gt;Parameterized Complexity of Eulerian Deletion Problems&lt;/a&gt;. Algorithmica 68(1): 41-61 (2014).&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="72" LastActivityDate="2016-03-09T14:37:13.523" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="34013" PostTypeId="1" AcceptedAnswerId="34014" CreationDate="2016-03-09T14:50:02.907" Score="6" ViewCount="432" Body="&lt;p&gt;Given a k-partite graph which is already partitioned into k parts,&#xA;what is the complexity of finding a vertex cover of minimum size?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I guess that it's NP-hard, but couldn't yet prove it or find reference for it.&#xA;I'm also interested in the dependence on k.&lt;/p&gt;&#xA;" OwnerUserId="7832" LastActivityDate="2016-03-09T18:40:37.730" Title="What is the complexity of vertex cover on k-partite graphs?" Tags="&lt;graph-theory&gt;&lt;np-hardness&gt;&lt;complexity&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="34014" PostTypeId="2" ParentId="34013" CreationDate="2016-03-09T18:40:37.730" Score="11" Body="&lt;p&gt;For bipartite graphs, vertex cover is polynomially solvable by routine techniques from matching theory.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For $k$-partite graphs with $k\ge3$, we observe the following:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Vertex cover is NP-complete on cubic graphs&lt;/li&gt;&#xA;&lt;li&gt;By Brooks' theorem, every cubic graph (except $K_4$) is 3-colorable and hence 3-partite.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="31660" LastActivityDate="2016-03-09T18:40:37.730" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="34015" PostTypeId="1" AcceptedAnswerId="34016" CreationDate="2016-03-09T18:55:48.470" Score="9" ViewCount="278" Body="&lt;p&gt;Wikipedia [1] states that the best known lower bound for size of Frege proofs is quadratic, and that there is no known superlinear lower bounds for the number of lines of Frege proofs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Questions: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;1) What is the best known lower bound for the number of lines of extended Frege proofs? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;2) What is the best known lower bound for the size of extended Frege proofs? Is it still quadratic as in Frege? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;3) Tree-like Extended Frege can simulate DAG-like Extended Frege in a polynomial number of steps. Are there any superlinear lower bounds for size/number of lines on tree-like extended Frege? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;4) What are the tautologies that lead to the linear lower bound for number of lines and to the quadratic lower bound for the size in Frege proofs as stated at wikipedia? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Obs: I'm aware of the fact that for constant depth Frege we have size lower bounds of the order of $2^{\Omega(n^{6^{-d}})}$. But I'm really interested in full power Frege and Extended Frege. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] &lt;a href=&quot;https://en.wikipedia.org/wiki/Frege_system&quot;&gt;https://en.wikipedia.org/wiki/Frege_system&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="36495" LastEditorUserId="36495" LastEditDate="2016-03-09T19:05:52.080" LastActivityDate="2016-03-09T19:45:06.453" Title="Lower Bounds for Frege and Extended Frege" Tags="&lt;proof-complexity&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="34016" PostTypeId="2" ParentId="34015" CreationDate="2016-03-09T19:45:06.453" Score="13" Body="&lt;p&gt;1, 2, 4) The best known lower bounds on extended Frege are the same as for Frege: linear number of lines, and quadratic size. This applies e.g. to the tautologies $\neg^{2n}\top$ (basically, any tautology that is not a substitution instance of a shorter tautology, and whose sum of lengths of all subformulas is quadratic). This is proved in Krajíček’s &lt;em&gt;Bounded arithmetic, propositional logic, and complexity theory&lt;/em&gt; for Frege systems, but the argument works for extended Frege systems as well.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;3) It’s not entirely clear to me how exactly you define tree-like extended Frege (there has to be a mechanism allowing reuse of extension axioms), but I am not aware of any superlinear lower bounds on the number of lines in treelike Frege or extended Frege systems.&lt;/p&gt;&#xA;" OwnerUserId="6959" LastActivityDate="2016-03-09T19:45:06.453" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="34027" PostTypeId="1" AcceptedAnswerId="34029" CreationDate="2016-03-10T17:09:03.937" Score="2" ViewCount="539" Body="&lt;p&gt;Let $G=(X\cup Y\cup Z,E)$ be a 3-partite graph such that:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;$|X|=|Y|=|Z|=q$.&lt;/li&gt;&#xA;&lt;li&gt;$2 \leq d(v) \leq 6$ for all $v \in X\cup Y\cup Z$, where $d(v)$ is the degree of v.&lt;/li&gt;&#xA;&lt;li&gt;$\sum_{x \in X} d(x)=\sum_{y \in Y}d(y)=\sum_{z \in Z} d(z)$&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Can we partition $G$ into $q$ vertex-disjoint triangles?&lt;/p&gt;&#xA;" OwnerUserId="38007" LastActivityDate="2016-03-10T18:19:41.703" Title="Partition into triangles in a 3-partite graphe" Tags="&lt;graph-theory&gt;&lt;graph-colouring&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="34029" PostTypeId="2" ParentId="34027" CreationDate="2016-03-10T18:19:41.703" Score="7" Body="&lt;p&gt;A recent paper by Custic, Klinz, Woeginger &quot;Geometric versions of the three-dimensional assignment problem under general norms&quot;, Discrete Optimization 18: 38-55 (2015) contains (and proves) the following proposition:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Proposition 5.1:&lt;/strong&gt; Partition into triangles on 6-regular tripartite graphs is NP-complete.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Now just follow the reduction in the proof with a NO-instance, and you will get a 6-regular tripartite graph on $3q$ vertices that cannot be partitioned into $q$ triangles.&lt;/p&gt;&#xA;" OwnerUserId="31660" LastActivityDate="2016-03-10T18:19:41.703" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="34033" PostTypeId="1" AcceptedAnswerId="34034" CreationDate="2016-03-11T16:15:26.333" Score="2" ViewCount="45" Body="&lt;p&gt;I have a set $S$ with two preorders $\mathord{\le}_1,\mathord{\le}_2\subseteq S\times S$ which a priori are unrelated.  Let $\equiv_1$ and $\equiv_2$ be the induced equivalences (i.e., $x\equiv_1 y$ iff $x\le_1 y\le_1 x$ and $x\equiv_2 y$ iff $x\le_2 y\le_2 x$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I also have an operation $\land$ which turns out to give greatest lower bounds for &lt;em&gt;both&lt;/em&gt; preorders: for all $x,y\in S$, $x\le_1 y$ iff $x\land y\equiv_1 x$ and $x\le_2 y$ iff $x\land y\equiv_2 x$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can I conclude anything about the relationship between my preorders?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(Note that the problem becomes trivial if my preorders are partial orders: in that case, the above implies $\mathord{\le}_1=\mathord{\le}_2$.)&lt;/p&gt;&#xA;" OwnerUserId="16382" LastEditorUserId="16382" LastEditDate="2016-03-11T16:31:10.113" LastActivityDate="2016-03-11T16:53:53.747" Title="Two preorders with same glb" Tags="&lt;partial-order&gt;&lt;order-theory&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="34034" PostTypeId="2" ParentId="34033" CreationDate="2016-03-11T16:53:53.747" Score="3" Body="&lt;p&gt;I'd say no. Consider the following example. Let $(A,\land)$ and $(B,\land)$ be two unrelated semilattices. Let $(S,\land)$ be their direct product, and put $(a,b)\le_1(a',b')$ iff $a\le a'$, $(a,b)\le_2(a',b')$ iff $b\le b'$. Then your conditions are satisfied, even though the two preorders look nothing like each other.&lt;/p&gt;&#xA;" OwnerUserId="6959" LastActivityDate="2016-03-11T16:53:53.747" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="34035" PostTypeId="1" CreationDate="2016-03-11T17:05:26.770" Score="1" ViewCount="115" Body="&lt;p&gt;It is well known that we can compute:&#xA;$$&#xA;a^e \mod m&#xA;$$&#xA;in $O(\log e \log ^2 m)$ bit operations (assuming multiplication $nm$ in $O(\log n \log m)$ time) via exponentiation by squaring. I am wondering if there is a way to compute:&#xA;$$&#xA;a^e \mod p^n&#xA;$$&#xA;for some prime $p$, in time better than $O(\log e\ n^2 \log ^2 p)$, given by the above method. Such a technique could be combined with the chinese remainder theorem to obtain an efficient algorithm to compute $a^e \mod m$ when the prime factorization of $m$ is known.&lt;/p&gt;&#xA;" OwnerUserId="29273" LastEditorUserId="29273" LastEditDate="2016-03-12T17:29:09.520" LastActivityDate="2016-03-12T17:29:09.520" Title="Computing $a^e \mod p^n$ Efficiently" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;time-complexity&gt;&lt;algebra&gt;" AnswerCount="0" CommentCount="3" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="34045" PostTypeId="1" CreationDate="2016-03-12T20:19:14.203" Score="10" ViewCount="223" Body="&lt;p&gt;Is it known if the existence of a polynomial-time algorithm for the promise problem of factoring of numbers with two prime factors implies that factoring in general has a polynomial-time algorithm?&lt;/p&gt;&#xA;" OwnerUserId="38067" LastEditorUserId="186" LastEditDate="2016-03-13T00:19:24.777" LastActivityDate="2016-03-13T00:19:24.777" Title="Does a polynomial-time algorithm for factoring product of two primes imply a polynomial-time algorithm for factoring in general?" Tags="&lt;ds.algorithms&gt;&lt;conditional-results&gt;&lt;comp-number-theory&gt;" AnswerCount="0" CommentCount="1" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="34048" PostTypeId="1" AcceptedAnswerId="34049" CreationDate="2016-03-12T22:15:58.767" Score="0" ViewCount="233" Body="&lt;p&gt;In the book 'Logical Foundations of Proof Complexity', co-authored by Stephen Cook, the following definition is given:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A proof-system $F$ is said to be &lt;em&gt;polynomially-bounded&lt;/em&gt; if there is a polynomial p(n) such that for all tautologies $A$, there is a proof $X$ of $A$ in $F$ such that |x| $\leq$ p(|A|). Informally, a proof system is polynomially-bounded if every tautology has a short proof in F.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is in regards to what &quot;all tautologies&quot; means. Is it in regards to every tautology in $F$ or any tuatology in in any adequate proof system, which first needs to be converted to an equivalent formula in $F$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For example, let's say we are dealing with 2 very different proof-systems, A and B. Let's just assume for the moment that B is polynomially-bounded. Then every tautology in B has a short proof. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is: Given a tautology in system A--denoted as $\phi$--, is it necessary that the conversion from $\phi$ in A to its equivalent formula $\phi'$ in B happens in polynomial-time? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Or is the only thing that is necessary for B to be considered a polynomially-bounded proof system this: that once $\phi$ is represented in the system B (regardless of how long this conversion takes place), then &lt;em&gt;this&lt;/em&gt; formula has a short proof in B?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So if it was inefficient to convert $\phi$ to $\phi'$, yet $\phi'$ nonetheless still had a short proof in system B, is B still considered a polynomially-bounded proof system?&lt;/p&gt;&#xA;" OwnerUserId="38060" LastEditorUserId="38060" LastEditDate="2016-03-12T22:40:03.973" LastActivityDate="2016-03-14T05:30:11.617" Title="In regards to the tautologies of a polynomially-bounded propositional proof system" Tags="&lt;cc.complexity-theory&gt;&lt;lo.logic&gt;&lt;computability&gt;&lt;open-problem&gt;&lt;proof-complexity&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="34049" PostTypeId="2" ParentId="34048" CreationDate="2016-03-12T23:31:46.843" Score="2" Body="&lt;p&gt;Your question is like asking what is the class of formulas for the problem SAT?&#xA;In the definition of SAT it is fixed to some fixed class, &#xA;say those based on $\{\lnot, \land, \lor\}$ &#xA;but it doesn't really matter usually whether &#xA;we talk about formulas based on &#xA;$\{\lnot, \land, \lor\}$ or $\{\bot, \to \}$ or &#xA;any other complete set of Boolean connectives.&#xA;Therefore it is often not explicitly stated.&#xA;The reason is they can simulate each other with &#xA;at most polynomial increase in the size of formulas.&#xA;Therefore it is often not explicitly mentioned.&#xA;If we pick an unusual one then things might be completely different.&#xA;E.g. DNF-SAT is in P, but this does not mean SAT is in P.&#xA;Similarly CNF-TAUT is in P and therefore &#xA;if we define the concept of proof system for CNF-TAUT &#xA;it has polynomially bounded proof system.&#xA;But again this does not mean that &#xA;TAUT has polynomially bounded proof system.&#xA;The problem we are interested in is TAUT, not CNF-TAUT.&#xA;We want a polynomially bounded proof system for TAUT.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the definition of proof system &#xA;we have to similarly fix the class of tautologies. &#xA;If we pick different classes we get different definitions.&#xA;TAUT being the dual to SAT &#xA;it is natural to take the dual of the formulas for SAT &#xA;(i.e. formulas based on connectives $\{\lnot, \land, \lor\}$).&#xA;It is also common to use DNF-TAUT as a dual to CNF-SAT&#xA;(there is a simple reduction from SAT to CNF-SAT &#xA;using new extension variables such that &#xA;the set of satisfying assignments of the original formula and resulting CNF&#xA;are P-isomorphic).&#xA;But as long as we can efficiently express DNF formulas &#xA;it usually does not matter what we use.&#xA;It can be linear equations, or any class of computational objects &#xA;as long as they can express DNFs with at most a polynomial increase in size. &#xA;If that is not the case then &#xA;the system is trivially not polynomially bounded as &#xA;it is not a proof system for TAUT (or DNF-TAUT).&#xA;The book does not deal with cases where &#xA;the class of formulas does not contain DNFs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For the purpose of the book you can assume that the class of propositional formulas contains DNFs and every tautology means every DNF tautology.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;A proof system $Q$ is polynomially bounded if&#xA;  there is a polynomial $p$ such that&#xA;  for every DNF tautology $\varphi$ &#xA;  there is a $Q$-proof $\pi$ such that&#xA;  $|\pi| \leq p(|\varphi|)$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;As you can see there is no mention of other proof systems.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If you want the more general definitions look at &lt;a href=&quot;https://www.cs.toronto.edu/~sacook/homepage/reckhow_thesis.pdf&quot; rel=&quot;nofollow&quot;&gt;Reckhow's thesis&lt;/a&gt;.&#xA;Reckhow looks at the more general definition with different set of connectives&#xA;and classes of formulas. &#xA;He shows that any two Frege systems polynomially simulate each other &#xA;as long as we have a complete set of Boolean connectives. &#xA;I think the simplest way to explain it is as follows: &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;If we have a complete set of connectives &#xA;  we can express in polynomial size the &lt;em&gt;truth&lt;/em&gt; of formulas &#xA;  based on another finite set of Boolean connectives.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;For more see the section in &lt;a href=&quot;https://www.cs.toronto.edu/~sacook/homepage/reckhow_thesis.pdf&quot; rel=&quot;nofollow&quot;&gt;Reckhow's thesis&lt;/a&gt; &#xA;discussing polynomial simulation &#xA;between proof systems with different class of formulas.&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2016-03-14T05:30:11.617" LastActivityDate="2016-03-14T05:30:11.617" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="34050" PostTypeId="1" AcceptedAnswerId="34080" CreationDate="2016-03-13T05:26:02.467" Score="1" ViewCount="457" Body="&lt;p&gt;Formally, I have 2 finite sets of polynomials :&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$P = \{p_1, p_2, p_3, ...p_m\}$ and $Q = \{q_1, q_2, q_3, ...q_n\}$, where for $1 \leq i \leq m$, and $1 \leq j \leq n$, I have $p_i, q_j \in \mathbb{C}[x_1, x_2, \ldots x_k]$ (that is these are multivariate polynomials that can admit roots with possibly complex values for each of the variables) [although the coefficients can be assumed to be over $\mathbb{Z}$ or $\mathbb{Q}$]&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What are the most efficient (having running time polynomial in the number of variables, and number of polynomials, but not necessarily the degree) algorithms to check for existence of a solution $\bar{u} = (u_1, \ldots, u_k) \in \mathbb{C}^k$ such that $p_i(u_1, \ldots, u_k) = 0$, and $q_j(u_1, \ldots, u_k)\neq 0$, for all $1 \leq i \leq m$, and $1 \leq j \leq n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;P.S: For the specific problem I am looking into, the degree (maximum sum of powers of variables in any term) does not exceed 2.That is the polynomials, are in some sense, &lt;em&gt;sparse&lt;/em&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Remark&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;The set of all such points in $\mathbb{C}^k$ is sometimes referred to as &lt;em&gt;constructible&lt;/em&gt; sets, and I understand that an &lt;em&gt;efficient&lt;/em&gt; algorithm for calculating GCD of multi-variate polynomials immediately yields an efficient algorithm for solving the above problem. I tried to do a (somewhat extensive) survey for relevant literature, but could not really find efficient algorithms (that run in time polynomial in the number of variables, and the number of polynomials).&lt;/li&gt;&#xA;&lt;li&gt;Are there any efficient randomized algorithms ?&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="22137" LastEditorUserId="5183" LastEditDate="2016-03-13T18:29:10.547" LastActivityDate="2016-03-15T16:19:09.457" Title="Existence of solution for a system of multi-variate polynomial equations and in-equations" Tags="&lt;cc.complexity-theory&gt;&lt;polynomials&gt;" AnswerCount="1" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="34052" PostTypeId="1" AcceptedAnswerId="34053" CreationDate="2016-03-13T21:09:23.577" Score="12" ViewCount="529" Body="&lt;p&gt;Let $A(f)$ denote the minimum size of a (non-monotone) arithmetic $(+,\times,-)$ circuit&#xA;computing a given multilinear  polynomial&#xA;$$&#xA; f(x_1,\ldots,x_n)=\sum_{e\in E}c_e\prod_{i=1}^n x_i^{e_i}\,,&#xA;$$ &#xA; and $B(f)$ denote the minimum size of a (non-monotone) boolean $(\lor,\land,\neg)$ circuit&#xA;computing the&lt;b&gt; boolean version&lt;/b&gt; $f_b$ of $f$ defined by:&#xA;$$&#xA; f_b(x_1,\ldots,x_n)=\bigvee_{e\in E}\ \bigwedge_{i\colon e_i\neq 0} x_i\,.&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;Are polynomials $f$ known for which $B(f)$ is smaller than $A(f)$?&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;If we consider &lt;i&gt;monotone&lt;/i&gt; versions of circuits -- no Minus $(-)$ and no Not $(\neg)$ gates -- then $B(f)$ can be even &lt;b&gt;exponentially&lt;/b&gt; smaller than $A(f)$: take, for example, the shortest s-t path polynomial $f$ on $K_n$;&#xA;then $B(f)=O(n^3)$ and $A(f)=2^{\Omega(n)}$. But what happens in the &quot;non-monotone world&quot;? Of course, &lt;b&gt;big&lt;/b&gt; gaps cannot be known just because we do not have large lower bounds on $A(f)$. But perhaps there are at least some small gaps known? &#xA;&lt;hr&gt;&#xA;NOTE (15.03.2016) In my question, I do not specified how large coefficients $c_e$ are allowed. Igor Sergeev remembered me that, for example, the following (univariate) polynomial $f(z)=\sum_{j=1}^m 2^{2^{jm}} z^j$ has $A(f)=\Omega(m^{1/2})$ (Strassen and people of his group). But $B(f)=0$ for this polynomial, since $f_b(z)=z$. We can obtain fron $f$ a &lt;i&gt;multivariate&lt;/i&gt; polynomial $f'(x_1,\ldots,x_n)$&#xA;of $n=\log m$ variables using using Kronecker substitution. Associate with every exponent $j$ a monomial $X_j=\prod_{i:a_i=1}x_i$, where $(a_1,\ldots,a_n)$ are the 0-1 coefficients of the binary representation of $j$. Then the desired polynomial&#xA;is $f'=\sum_{j=1}^m c_j X_j$, and we have that &#xA;$$&#xA;A(f')+n\geq  A(f)=\Omega(m^{1/2})=2^{\Omega(n)}.&#xA;$$ &#xA;But the boolean version of $f'$ is just an OR of variables, so $B(f')\leq n-1$, and we have an even exponential gap. Thus, if magnitude of coefficients can be triple-exponential in the number $n$ of variables then the gap $A(f)/B(f)$ &lt;b&gt;can&lt;/b&gt; be shown to be even exponential. (Actually, not the magnitude itself -- more the algebraic dependence of the coefficients.)&#xA;This is why the real problem with $A(f)$ is the case of &lt;i&gt;small&lt;/i&gt; coefficients (ideally, only 0-1). But in this case, as Joshua recalled, the lower bound $A(f)=\Omega(n\log n)$ of Strassen and Baur (with 0-1 coefficients) remains the best what we have today. &lt;/p&gt;&#xA;" OwnerUserId="5788" LastEditorUserId="5788" LastEditDate="2016-03-16T10:17:09.603" LastActivityDate="2016-03-16T10:17:09.603" Title="Are arithmetic circuits weaker than boolean?" Tags="&lt;cc.complexity-theory&gt;&lt;circuit-complexity&gt;&lt;lower-bounds&gt;&lt;arithmetic-circuits&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="34053" PostTypeId="2" ParentId="34052" CreationDate="2016-03-14T05:01:02.100" Score="9" Body="&lt;p&gt;The permanent would seem to qualify, at least conditionally (that is, assuming $\mathsf{VP}^0 \neq \mathsf{VNP}^0$). Note that the Boolean version of the permanent is just to decide whether a given bipartite graph has a perfect matching, which has poly-size circuits.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[Summarizing the comments below:] Despite this example being conditional, nothing more than a logarithmic gap can be expected unconditionally at the moment, since $\Omega(n \log n)$ is still the best known lower bound on general algebraic circuits. As pointed out by Stasys, this logarithmic gap is achieved by the function $\sum_{i=1}^n x_i^n$ (requires algebraic circuits of size $\Omega(n \log n)$ by Baur-Strassen), whose Boolean-ized version is just $x_1 \vee x_2 \vee \dotsb \vee x_n$.&lt;/p&gt;&#xA;" OwnerUserId="129" LastEditorUserId="129" LastEditDate="2016-03-14T19:17:32.823" LastActivityDate="2016-03-14T19:17:32.823" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="34055" PostTypeId="1" CreationDate="2016-03-14T08:13:21.923" Score="5" ViewCount="150" Body="&lt;p&gt;In the $k$-PATH problem, we receive as input a graph $G$ and an integer $k$. The goal is to decide whether there exists a simple path of length $k$ in $G$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A $\alpha$-approximation for $k$-PATH is an algorithm which given an input $\langle G,k\rangle$ either confirms that a path of length $k/\alpha$ exists in $G$, or denies the existence of a $k$-path. It may act arbitrarily if the longest simple path in $G$ is at least of size $k/\alpha$ and at most of size $k$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Is there a constant $\alpha&amp;gt;0$ for which $k$-PATH is $\alpha$-approximable in poly time?&lt;/strong&gt;&lt;/p&gt;&#xA;" OwnerUserId="38084" LastEditorUserId="31660" LastEditDate="2016-03-14T14:44:45.183" LastActivityDate="2016-03-14T14:44:45.183" Title="Does k-PATH admit a constant approximation?" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;approximation-algorithms&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="34060" PostTypeId="2" ParentId="34055" CreationDate="2016-03-14T14:18:39.750" Score="6" Body="&lt;p&gt;Karger, Motwani and Ramkumar (1997) discuss this question.&#xA;They show that if any polynomial-time algorithm can approximate the longest path to a ratio of $2^{O(\log^{1−\epsilon} n)}$, for any $\epsilon&amp;gt;0$, then NP has a quasi-polynomial deterministic time simulation; this results even holds for graphs of bounded degree.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;David R. Karger, Rajeev Motwani, G. D. S. Ramkumar:&lt;br&gt;&#xA;  On Approximating the Longest Path in a Graph.&lt;br&gt;&#xA;  Algorithmica 18(1): 82-98 (1997)&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="31660" LastActivityDate="2016-03-14T14:18:39.750" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="34061" PostTypeId="1" CreationDate="2016-03-14T14:35:09.020" Score="14" ViewCount="455" Body="&lt;p&gt;I'm looking for examples of problems for which it is easy to get algorithms running in time $2^{O(n\log n)}$, or $2^{O(n^c)}$ for some $c&amp;gt;1$ but for which it is not known whether there is an algorithm running in time $2^{O(n)}$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm mostly interested on graph theoretic problems, but other nice examples would also be welcome.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For instance, it is trivial to develop an algorithm running in time &#xA;$O(n!) = 2^{O(n\log n)}$ for the Hamiltonian path problem. Just test all permutations. Using dynamic programming however, one can achieve time $2^{O(n)}$. Are there other natural connectivity problems, or variations of the Hamiltonian path problem for which no algorithm running in time $2^{O(n)}$&#xA;is known? &lt;/p&gt;&#xA;" OwnerUserId="36495" LastEditorUserId="36495" LastEditDate="2016-03-14T14:42:34.990" LastActivityDate="2020-09-30T18:42:44.307" Title="Problems with Unknown Single Exponential Time Agorithms" Tags="&lt;exp-time-algorithms&gt;&lt;hamiltonian-paths&gt;" AnswerCount="6" CommentCount="0" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="34064" PostTypeId="1" CreationDate="2016-03-06T14:51:22.343" Score="4" ViewCount="484" Body="&lt;p&gt;Given two graphs $G, H$ (each has $n$ vertices). We, split $G$ into subgraphs $G_1, G_2... G_x$ (total $x$ vertex set). Similarly,assume  $H$ has  subgraphs $H_1, H_2... H_x$ (total $x$ vertex set).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider, a permutation $\pi_k \in \beta_k$ where $H_k^{\pi_k}=G_k$ such that $P= \pi_1 \times \pi_2...\pi_x$ (i.e. $P$ is  the direct product of permutations $\pi_1, \pi_2 ..... \pi_x$) and $H^P=G$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$\pi_k$ is a local isomorphism and $P$ is global isomorphism of $G,H$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$G_k, \forall k$ is not an $Independent$ $ Set$ .&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here, $\beta_k (k\leq x \leq n/2)$ is a set of permutations  for each $H_k$. Let, $\beta$ is a number and $\beta_k$ has maximum $\beta$ permutations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question&lt;/strong&gt;  If All $\beta_k$ are given, how many steps are required to construct $P$, i.e. what is the computational complexity of finding $P$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Brute force leads to $\beta^x$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Does there exist  a  $\beta^c$ algorithm where $c$ is a constant?&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit:&lt;/strong&gt;&#xA;1. Consider that  all $H_k$ are ordered according to $G_k$.&lt;/p&gt;&#xA;&#xA;&lt;ol start=&quot;2&quot;&gt;&#xA;&lt;li&gt;&lt;p&gt;A &quot;sifting technique&quot;  might help !&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;$G_k$ has the same vertices of $H_k$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;$G_k$ has no disconnected component.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;" OwnerUserId="27242" OwnerDisplayName="Jim" LastEditorUserId="27242" LastEditDate="2016-04-01T12:41:54.440" LastActivityDate="2016-06-02T20:30:35.353" Title="Construction of a Global Isomorphism(permutation) for Graph Isomorphism using Local Isomorphism" Tags="&lt;gr.group-theory&gt;&lt;graph-theory&gt;&lt;ds.algorithms&gt;" AnswerCount="1" CommentCount="11" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="34067" PostTypeId="2" ParentId="34061" CreationDate="2016-03-14T18:24:57.267" Score="11" Body="&lt;p&gt;&lt;strong&gt;Update 28 Sep 2020&lt;/strong&gt;: This has been resolved by &lt;a href=&quot;https://doi.org/10.1137/1.9781611975994.14&quot; rel=&quot;nofollow noreferrer&quot;&gt;Wiebking in SODA '20&lt;/a&gt;, where he gave a &lt;span class=&quot;math-container&quot;&gt;$2^{O(n)}$&lt;/span&gt;-time algorithm, with no remaining dependence on &lt;span class=&quot;math-container&quot;&gt;$|G|$&lt;/span&gt;. (I'll leave up the rest of the answer for historical purposes.)&lt;/p&gt;&#xA;&lt;p&gt;Permutational Isomorphism of Permutation Groups, aka Permutation Group Conjugacy:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Input: Two lists of permutations in &lt;span class=&quot;math-container&quot;&gt;$S_n$&lt;/span&gt;, say &lt;span class=&quot;math-container&quot;&gt;$(\pi_1, \dotsc, \pi_k)$&lt;/span&gt; and &lt;span class=&quot;math-container&quot;&gt;$(\rho_1, \dotsc, \rho_\ell)$&lt;/span&gt;&lt;/p&gt;&#xA;&lt;p&gt;Output: A permutation &lt;span class=&quot;math-container&quot;&gt;$\pi \in S_n$&lt;/span&gt; such that &lt;span class=&quot;math-container&quot;&gt;$\pi^{-1} \langle \pi_1, \dotsc, \pi_k \rangle \pi = \langle \rho_1, \dotsc, \rho_\ell \rangle$&lt;/span&gt;, or &amp;quot;NOT ISOMORPHIC&amp;quot;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;(where &lt;span class=&quot;math-container&quot;&gt;$\langle \pi_1, \dotsc, \pi_k \rangle$&lt;/span&gt; means the subgroup generated by the &lt;span class=&quot;math-container&quot;&gt;$\pi_i$&lt;/span&gt;).&lt;/p&gt;&#xA;&lt;p&gt;As with the Hamiltonian path example, there is a trivial &lt;span class=&quot;math-container&quot;&gt;$n! = 2^{O(n \log n)}$&lt;/span&gt; algorithm. The best &lt;a href=&quot;http://dx.doi.org/10.1007/978-3-642-31594-7_5&quot; rel=&quot;nofollow noreferrer&quot;&gt;currently known&lt;/a&gt; is &lt;span class=&quot;math-container&quot;&gt;$2^{O(n)} |G|^{O(1)}$&lt;/span&gt; where &lt;span class=&quot;math-container&quot;&gt;$G = \langle \pi_1, \dotsc, \pi_k \rangle$&lt;/span&gt;. Note that &lt;span class=&quot;math-container&quot;&gt;$|G|$&lt;/span&gt; can be as large as &lt;span class=&quot;math-container&quot;&gt;$n!$&lt;/span&gt; (trivially: &lt;span class=&quot;math-container&quot;&gt;$G = S_n$&lt;/span&gt;) or even &lt;span class=&quot;math-container&quot;&gt;$n! / n^{O(1)}$&lt;/span&gt; for nontrivial &lt;span class=&quot;math-container&quot;&gt;$G$&lt;/span&gt; (see, e.g., the &lt;a href=&quot;https://en.wikipedia.org/wiki/O%27Nan%E2%80%93Scott_theorem&quot; rel=&quot;nofollow noreferrer&quot;&gt;O'Nan-Scott Theorem&lt;/a&gt;).* Removing the dependence on &lt;span class=&quot;math-container&quot;&gt;$|G|$&lt;/span&gt; was left there as an important open problem.&lt;/p&gt;&#xA;&lt;p&gt;* - Despite the fact that &lt;span class=&quot;math-container&quot;&gt;$G$&lt;/span&gt; can be large, so in the worst case this appears to be asymptotically no better than trivial, it turns out that &lt;span class=&quot;math-container&quot;&gt;$2^{O(n)}|G|^{O(1)}$&lt;/span&gt; was exactly what was needed for the polynomial-time isomorphism test of groups with no Abelian normal subgroups.&lt;/p&gt;&#xA;" OwnerUserId="129" LastEditorUserId="129" LastEditDate="2020-09-28T15:52:13.223" LastActivityDate="2020-09-28T15:52:13.223" CommentCount="0" ContentLicense="CC BY-SA 4.0" />
  <row Id="34069" PostTypeId="2" ParentId="34061" CreationDate="2016-03-14T19:08:31.527" Score="10" Body="&lt;p&gt;Computing the crossing number of a graph. Existing exact algorithms involve formulating it as an integer linear program with a number of variables cubic in the number of edges &lt;a href=&quot;http://doi.org/10.1007/978-3-540-87744-8_24&quot;&gt;[Chimani et al, ESA 2008]&lt;/a&gt;. Even for the restricted one-page crossing number, in which the vertices are placed on the boundary of a disk and the edges interior to the disk, known algorithms are exponential in $O(n\log n)$ rather than singly-exponential &lt;a href=&quot;http://arxiv.org/abs/1308.5741&quot;&gt;[Bannister et al, GD 2013]&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2016-03-14T19:08:31.527" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="34070" PostTypeId="1" CreationDate="2016-03-14T20:53:59.130" Score="8" ViewCount="265" Body="&lt;p&gt;Stated briefly, my question is: is Karp's original proof reducing SAT to 3SAT  unnecessarily elaborate?  The details are as follows.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In his 1972 paper &lt;em&gt;Reducibility Among Combinatorial Problems&lt;/em&gt;, Karp proved that SAT reduces to 3SAT by stating:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Replace a clause $\sigma_1 \cup \sigma_2&#xA; \cup \ldots \cup \sigma_m$, where the&#xA;   $\sigma_i$ are literals and $m&amp;gt;3$, by&#xA;   $$&#xA;   (\sigma_1 \cup \sigma_2 \cup u_1)&#xA;   (\sigma_3 \cup \ldots \cup \sigma_m \cup \bar{u}_1) (\bar{\sigma}_3 \cup u_1) \ldots (\bar{\sigma}_m \cup u_1),&#xA; $$&#xA;   where $u_1$ is a new variable. Repeat this&#xA;   transformation until no clause has more than&#xA;   three literals.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;It seems to me that the final $m-2$ clauses (i.e. the clauses containing two literals) here are unnecessary. So, the construction is correct as written but it is more elaborate than necessary. Without the 2-literal clauses,  we obtain the construction usually given in undergraduate textbooks.   Is this correct, or am I missing something obvious?   I feel extremely unsure of myself suggesting that anything done by Karp could be expressed more elegantly.&lt;/p&gt;&#xA;" OwnerUserId="38088" LastActivityDate="2016-03-14T21:24:47.500" Title="Verifying a subtlety of Karp's original proof that SAT has a polynomial time reduction to 3SAT" Tags="&lt;cc.complexity-theory&gt;&lt;sat&gt;&lt;reductions&gt;" AnswerCount="1" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="34071" PostTypeId="2" ParentId="34070" CreationDate="2016-03-14T21:17:18.417" Score="9" Body="&lt;p&gt;The conjunction of the first two clauses, $(\sigma_1\cup\sigma_2\cup u_1)(\sigma_3\cup\ldots\cup\sigma_m\cup\bar{u}_1)$ is equisatisfiable to the original clause, as can be easily checked (any valuation satisfying one of the $\sigma_i$ also satisfies one of the two new clauses, and can be extended to $u_1$ as needed to satisfy the other; any valuation satisfying both new clauses has to satisfy some $\sigma_i$, since it cannot satisfy both $u_1$ and $\bar{u}_1$.) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The additional clauses ensure that $u_1$ is in fact equivalent to $\sigma_3\cup\ldots\cup\sigma_m$, but as far as I can see, Karp does not actually use this. He credits Cook's 1971 paper for this particular reduction, but the version found there (actually for DNF tautologies rather than CNF satisfiability) does not feature these extra constraints.&lt;/p&gt;&#xA;" OwnerUserId="5183" LastEditorUserId="5183" LastEditDate="2016-03-14T21:24:47.500" LastActivityDate="2016-03-14T21:24:47.500" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="34076" PostTypeId="1" CreationDate="2016-03-15T02:44:17.517" Score="7" ViewCount="151" Body="&lt;p&gt;Adleman and  McCurley published a paper in 1994 called &quot;Open problems in number theoretic complexity, II&quot; (&lt;a href=&quot;http://ww.cstheory.com/papers/open.ps.gz&quot;&gt;http://ww.cstheory.com/papers/open.ps.gz&lt;/a&gt;)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Problem 18 of this list of open problems is about testing if an element of $\mathbb{Z}/p\mathbb{Z}$, where $p$ is a prime, generates the group. It is  known that this problem can be reduced to factorization and to discrete log (this reduction requires ERH).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Shoup 1990 (&lt;a href=&quot;http://www.shoup.net/papers/primroots.pdf&quot;&gt;http://www.shoup.net/papers/primroots.pdf&lt;/a&gt;) gives a method that generates a subset of a finite field that contains at least one primitive root.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But what is known about checking if a element is a primitive root?&#xA;What are the best algorithms for this?&#xA;What do we know about the complexity classes in which this problem lies?&lt;/p&gt;&#xA;" OwnerUserId="36436" LastEditorUserId="6579" LastEditDate="2016-03-15T08:45:03.117" LastActivityDate="2016-03-15T08:45:03.117" Title="Recognition of a primitive root" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;nt.number-theory&gt;&lt;algebraic-complexity&gt;&lt;gr.group-theory&gt;" AnswerCount="0" CommentCount="2" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="34078" PostTypeId="2" ParentId="34061" CreationDate="2016-03-15T06:39:19.687" Score="13" Body="&lt;p&gt;In the &lt;strong&gt;Graph Homomorphism&lt;/strong&gt; problem, the input is two graphs $G$ and $H$ and the question is whether there is a mapping $h$ from the vertices of $G$ to the vertices of $H$ such that for every edge $uv\in E(G)$ we have that $h(u) h(v)\in E(H)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem can be solved in time $O^*(|V(H)|^{|V(G)})$ by a brute-force algorithm (the $O^*$-notation hides factors polynomial in the input size).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However it is open whether it can be solved in time $O^*(c^{|V(H)|+|V(G)|})$, and this appears as an open question in&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Fedor V. Fomin, Pinar Heggernes, Dieter Kratsch:&#xA;&lt;a href=&quot;http://dx.doi.org/10.1007/s00224-007-2007-x&quot;&gt;Exact Algorithms for Graph Homomorphisms&lt;/a&gt;. Theory Comput. Syst. 41(2): 381-393 (2007)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="72" LastActivityDate="2016-03-15T06:39:19.687" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="34080" PostTypeId="2" ParentId="34050" CreationDate="2016-03-15T16:19:09.457" Score="6" Body="&lt;p&gt;The question seems to be based on false premises, so let me try to deconfuse it.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Solvability of systems of polynomial equations with integer coefficients is NP-hard over any fixed field (or integral domain). For instance, it is straightforward to reduce the satisfiability of a 3-CNF $\phi(x_1,\dots,x_k)$ to the solvability of a polynomial system including $\{x_i^2-x_i:i=1,\dots,k\}$ and a bunch of polynomials translating each 3-clause.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Solvability of general polynomial systems with integer (or rational) coefficients is polynomially reducible to solvability of systems of multilinear degree-$2$ polynomials with coefficients in $\{-1,0,1\}$ and at most $3$ nonzero monomials each. To see this, express each polynomial by an arithmetical circuit (aka straightline program) using operations $+$, $\cdot$, variables, and constants $0,1,-1$. Introduce a new variable for each node in the circuit, and take the set of polynomials describing the value of each node in terms of its inputs.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;The multivariate polynomial ring $K[x_1,\dots,x_k]$ (for a field $K$) is indeed a GCD domain, but for $k\ge2$ it is not a Bézout domain, hence the gcd’s do not behave the way you think they do. For example, the polynomials $x_1$ and $x_2$ have a common root $(0,0)$, even though $\gcd(x_1,x_2)=1$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Thus, your problem is NP-hard, and as such it has no known polynomial-time algorithm (deterministic or randomized). Under plausible assumptions, it even has no subexponential-time randomized algorithm.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Furthermore:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Over a field, inequations can be replaced by equations: instead of $q(x_1,\dots,x_k)\ne0$, use $q(x_1,\dots,x_k)y=1$, where $y$ is a fresh variable.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Solvability of systems of polynomial equations (hence also inequations, by above) in $\mathbb C$ can be ckecked in PSPACE, due to Canny [1]. This is the best known unconditional result, but:&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Assuming the Riemann hypothesis for Dedekind $\zeta$ functions, solvability of polynomial systems in $\mathbb C$ can be checked in the class AM, due to Koiran [2]. Moreover, we can derandomize AM to NP under plausible Nisan–Widgerson-style complexity assumptions, thus assuming both, the problem becomes NP-complete.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;[1] John Canny, &lt;em&gt;Some algebraic and geometric computations in PSPACE&lt;/em&gt;, Proc. 20th Annual ACM Symposium on Theory of Computing, 1988, pp. 460–467.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] Pascal Koiran, &lt;em&gt;Hilbert’s Nullstellensatz is in the Polynomial Hierarchy&lt;/em&gt;, Journal of Complexity 12 (1996), no. 4, pp. 273–286.&lt;/p&gt;&#xA;" OwnerUserId="6959" LastActivityDate="2016-03-15T16:19:09.457" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="34083" PostTypeId="1" CreationDate="2016-03-16T09:35:07.757" Score="8" ViewCount="683" Body="&lt;p&gt;I understand that in Unification we try to find a general solution to an equation between two terms, but what is anti-unification, and how is it different?&lt;/p&gt;&#xA;" OwnerUserId="38106" LastEditorUserId="6579" LastEditDate="2016-03-16T10:38:00.237" LastActivityDate="2016-03-17T15:12:50.497" Title="What is the difference between unification and anti-unification?" Tags="&lt;lo.logic&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="34089" PostTypeId="1" AcceptedAnswerId="34092" CreationDate="2016-03-16T15:35:39.027" Score="7" ViewCount="223" Body="&lt;p&gt;Let $G=(V,E)$ be a finite undirected graph. A &lt;em&gt;&lt;a href=&quot;https://en.wikipedia.org/wiki/Tree_decomposition&quot;&gt;tree decomposition&lt;/a&gt;&lt;/em&gt; $(T,\lambda)$ of $G$ is a tree $T$ with labeling function $\lambda : T \to 2^{V}$ such that:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;For every edge $\{v_1,v_2\} \in E$, there exists a node $n$ of $T$ such that $v_1,v_2 \in \lambda(n)$.&lt;/li&gt;&#xA;&lt;li&gt;For every vertex $v \in V$, the set $\{n \in T \mid v \in n\}$ forms a connected subtree of $T$.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;For my purposes (namely, showing the tractability of model-checking for a particular logical fragment), I am interested in a restricted kind of tree decompositions, that satisfies an additional condition. I call a &lt;em&gt;tree-decomposition with clique interfaces&lt;/em&gt; a tree decomposition $(T,\lambda)$ of $G$ that respects the following additional property:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;For every two adjacent nodes $n_1$ and $n_2$ of the tree decomposition $T$, we require that the &lt;em&gt;interface&lt;/em&gt; $\lambda(n_1) \cap \lambda(n_2)$ forms a clique in $G$. In other words, for every pair of distinct elements $a,b$ occurring both in $n_1$ and $n_2$, we must have $\{a, b\} \in E$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;As usual, the &lt;em&gt;width&lt;/em&gt; of such a decomposition is $max_{n \in T}|\lambda(n)|-1$ and the &lt;em&gt;width&lt;/em&gt; of $G$ is the minimal width of such a decomposition.&#xA;Note that, of course, the width of $G$ according to this definition is necessarily greater than its treewidth in the usual sense.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is to know &lt;strong&gt;if this notion of width has already been studied and has an established name&lt;/strong&gt;. In particular, I am interested in alternative characterization of graphs whose width is low in this sense, in the complexity of computing it, etc.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This could be related to the notion of &lt;em&gt;&lt;a href=&quot;http://dmg.tuwien.ac.at/drmota/DAHeinz.apdf&quot;&gt;$k$-trees&lt;/a&gt;&lt;/em&gt;. In k-trees, we impose in tree decompositions that $\lambda(n)$ forms a clique for all $n$ and that the interfaces are of size $k$. However not all graphs have such a decomposition, while for the notion that I propose, all graphs would have a decomposition (at worst the trivial one with width $|V|-1$) so it looks like this notion could have been studied in a general context.&lt;/p&gt;&#xA;" OwnerUserId="38111" LastEditorUserId="38111" LastEditDate="2016-03-16T15:58:54.637" LastActivityDate="2016-03-16T17:54:01.347" Title="Tree-decomposition with clique interfaces" Tags="&lt;reference-request&gt;&lt;graph-theory&gt;&lt;clique&gt;&lt;treewidth&gt;" AnswerCount="1" CommentCount="2" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="34092" PostTypeId="2" ParentId="34089" CreationDate="2016-03-16T17:54:01.347" Score="10" Body="&lt;p&gt;See &lt;a href=&quot;http://dx.doi.org/10.1016/0012-365X(85)90051-2&quot;&gt;&quot;Decomposition by clique separators&quot;, Robert E. Tarjan, &lt;em&gt;Discrete Mathematics&lt;/em&gt; 55 (2): 221–232, 1985&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If I understand correctly, your notion of width is essentially the size of the largest piece in Tarjan's decomposition.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2016-03-16T17:54:01.347" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="34094" PostTypeId="2" ParentId="34083" CreationDate="2016-03-16T23:33:19.983" Score="12" Body="&lt;p&gt;The following category theory inspired analysis (adapted from Plotkin's &lt;a href=&quot;http://homepages.inf.ed.ac.uk/gdp/publications/MI5_note_ind_gen.pdf&quot;&gt;A Note on Inductive Generalization&lt;/a&gt;) explains a sense in which unification and anti-unification are dual concepts. As notation, let's write&#xA;$$t \underset{\sigma}{\Longrightarrow} u$$&#xA;for two terms $t$ and $u$ and a substitution $\sigma$ whenever $t\sigma = u$.  The existence of such a subsitution $\sigma$ implies that $t$ is a &lt;em&gt;generalization&lt;/em&gt; of $u$, and that $u$ is a &lt;em&gt;specialization&lt;/em&gt; of $t$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose given two terms $t_1,t_2$.  A &lt;strong&gt;unifier&lt;/strong&gt; of $t_1$ and $t_2$ is a term $u$ together with a pair of substitutions $\sigma_1$ and $\sigma_2$ such that&#xA;$$&#xA;t_1 \underset{\sigma_1}{\Longrightarrow} u \underset{\sigma_2}{\Longleftarrow} t_2&#xA;$$&#xA;It is a &lt;strong&gt;most general&lt;/strong&gt; unifier if it is a generalization of any other unifier, that is, if for any other unifier&#xA;$$&#xA;t_1 \underset{\sigma_1'}{\Longrightarrow} u' \underset{\sigma_2'}{\Longleftarrow} t_2&#xA;$$&#xA;there is some $\sigma'$ such that&#xA;$$&#xA;u \underset{\sigma'}{\Longrightarrow} u'&#xA;$$&#xA;In other words, a most general unifier is precisely a &lt;a href=&quot;https://en.wikipedia.org/wiki/Coproduct&quot;&gt;coproduct&lt;/a&gt; in the category $\mathcal{C}$ whose objects are terms and where there is a morphism $t \to u$ just in case $t \underset{\sigma}{\Longrightarrow} u$ for some $\sigma$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;To define anti-unification we just reverse all the arrows!  Which is to say that...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An &lt;strong&gt;anti-unifier&lt;/strong&gt; of $t_1$ and $t_2$ is a term $u$ together with a pair of substitutions $\sigma_1$ and $\sigma_2$ such that&#xA;$$&#xA;t_1 \underset{\sigma_1}{\Longleftarrow} u \underset{\sigma_2}{\Longrightarrow} t_2&#xA;$$&#xA;It is a &lt;strong&gt;least general&lt;/strong&gt; anti-unifier if it is a specialization of any other anti-unifier, that is, if for any other anti-unifier&#xA;$$&#xA;t_1 \underset{\sigma_1'}{\Longleftarrow} u' \underset{\sigma_2'}{\Longrightarrow} t_2&#xA;$$&#xA;there is some $\sigma'$ such that&#xA;$$&#xA;u' \underset{\sigma'}{\Longrightarrow} u&#xA;$$&#xA;This means that a least general anti-unifier is precisely a &lt;a href=&quot;https://en.wikipedia.org/wiki/Product_(category_theory)&quot;&gt;product&lt;/a&gt; in the category $\mathcal{C}$ defined above.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt; fixed the accidentally dualized terminology in the original description (thanks Yann Hamdaoui!).&lt;/p&gt;&#xA;" OwnerUserId="674" LastEditorUserId="674" LastEditDate="2016-03-17T15:12:50.497" LastActivityDate="2016-03-17T15:12:50.497" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="34098" PostTypeId="2" ParentId="21434" CreationDate="2016-03-17T10:15:14.000" Score="2" Body="&lt;p&gt;Graphs where every connected component is a split graph are (C4, C5, P5, necktie, bowtie)-free (see &lt;a href=&quot;http://dx.doi.org/10.1186%2Fs13015-015-0043-7&quot; rel=&quot;nofollow&quot;&gt;A graph modification approach for finding core–periphery structures in protein interaction networks&lt;/a&gt;).&lt;/p&gt;&#xA;" OwnerUserId="251" LastActivityDate="2016-03-17T10:15:14.000" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="34099" PostTypeId="2" ParentId="1215" CreationDate="2016-03-17T11:45:35.083" Score="2" Body="&lt;p&gt;k-Balanced Partition Problem on graphs, in which one has to partition the $n$ vertices into $k$ connected components of size at most $\lceil\frac{n}{k}\rceil$ each and at the same time minimize the total cost of edges connecting vertices in different sets, called the cut cost.&#xA;This problem is actually APX-hard even on unweighted trees of constant maximum degree[&lt;a href=&quot;http://lucafoschini.com/papers/Balanced_Algorithmica.pdf&quot; rel=&quot;nofollow&quot;&gt;1&lt;/a&gt;].&lt;/p&gt;&#xA;" OwnerUserId="17773" LastActivityDate="2016-03-17T11:45:35.083" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="34101" PostTypeId="2" ParentId="1215" CreationDate="2016-03-17T15:07:39.477" Score="-1" Body="&lt;p&gt;Is Circuit SAT on trees NPC?. Tree inner vertices are labeled as OR/AND gates. Leaves are inputs. Determine if there is a satisfying set of inputs for the circuit to evaluate to True.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;At first glance it seems you can solve bottom up, but constraints get nasty as you move up the tree and OR gates suddenly need one of the other $2^k - 1$ assignments.&lt;/p&gt;&#xA;" OwnerUserId="2021" LastActivityDate="2016-03-17T15:07:39.477" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="34103" PostTypeId="2" ParentId="33642" CreationDate="2016-03-17T16:08:27.757" Score="3" Body="&lt;p&gt;From what I understand, it is partially because we don't have any techniques currently that take advantage of structure of the hidden subgroup itself. Weak Fourier sampling solves the problem whenever the hidden subgroup is normal (but this is not a property of the subgroup itself - analogous to being a direct product etc - but rather how the subgroup sits within the larger group), but that's no help for the symmetric group because its only normal subgroup is the alternating group (for $n \geq 5$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;From the examples of [1] - which shows that in the symmetric group strong Fourier sampling produces distributions for the hidden trivial group vs a hidden random involution that are exponentially close - and [2], it would seem that there may be some hope if the hidden subgroup is promised to be relatively large. But you would need to either be able to show that Fourier sampling succeeds in this case, or to come up with a different method that (likely) really took advantage of the largeness of the hidden subgroup.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Moore, Russell, and Sniady [3] also showed that the other relatively successful method - a Kuperberg-style sieve - doesn't work efficiently in a group very close to the symmetric group (namely, $S_n \wr S_2 = (S_n \times S_n) \rtimes S_2$), to distinguish a hidden trivial group from a hidden involution.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] Moore, C., A. Russell, and L. J. Schulman. &lt;a href=&quot;http://dx.doi.org/10.1137/050644896&quot; rel=&quot;nofollow&quot;&gt;The Symmetric Group Defies Strong Fourier Sampling&lt;/a&gt;. SIAM J. Comput. 37, p. 1842, 2008. Preliminary version in FOCS 2005. (&lt;a href=&quot;http://arxiv.org/abs/quant-ph/0501056&quot; rel=&quot;nofollow&quot;&gt;arXiv version&lt;/a&gt;)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[2] Grigni, M., L. J. Schulman, M. Vazirani, and U. Vazirani. &lt;a href=&quot;http://dx.doi.org/10.1007/s00493-004-0009-8&quot; rel=&quot;nofollow&quot;&gt;Quantum Mechanical Algorithms for the Nonabelian Hidden Subgroup Problem&lt;/a&gt;.&#xA;Combinatorica 24, p. 137, 2004. Preliminary version in STOC 2001.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[3] Moore, Russell, and Sniady. &lt;a href=&quot;http://dx.doi.org/10.1137/080724101&quot; rel=&quot;nofollow&quot;&gt;On the impossibility of a quantum sieve algorithm for graph isomorphism&lt;/a&gt;. SIAM J. Comput. 39 (2010), no. 6, 2377–2396. Preliminary version in STOC 2007.&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2016-03-17T16:08:27.757" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="34107" PostTypeId="2" ParentId="33642" CreationDate="2016-03-17T19:48:33.033" Score="1" Body="&lt;p&gt;Exact classical bounds are known, &lt;a href=&quot;https://oeis.org/A186202&quot; rel=&quot;nofollow&quot;&gt;https://oeis.org/A186202&lt;/a&gt; , you only have to sample certain prime cycles as they form a min dominating set on $S_n$ under a detection relation. Smaller than $n!$ but still about the order of $p!$ were $p$ is the largest prime less than or equal to $n$. &lt;/p&gt;&#xA;" OwnerUserId="2021" LastActivityDate="2016-03-17T19:48:33.033" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="34112" PostTypeId="1" CreationDate="2016-03-18T10:26:11.207" Score="6" ViewCount="164" Body="&lt;p&gt;Graphical models are a very useful tool with many applications, &#xA;whereby a joint distribution of a set of random variables is modeled &#xA;using only pairwise dependencies between the variables, and &#xA;two variables with a direct causal relationship are connected by an edge, &#xA;which is associated with their joint distribution.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It makes sense to extend this by looking at &quot;hypergraphical models&quot;, &#xA;where we allow direct causal relationships involving say up to $d$ variables, and &#xA;the hyperedges connecting them are associated with a $d$-way joint distribution. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I want to know if such models have been studied, and in case they are&#xA;is there a good survey or reference to learn more about the research that&#xA;on belief propagation type algorithms on them?&lt;/p&gt;&#xA;" OwnerUserId="38137" LastEditorUserId="186" LastEditDate="2016-04-23T02:34:58.250" LastActivityDate="2016-04-23T02:34:58.250" Title="Machine learning algorithms on hypergrap models" Tags="&lt;ds.algorithms&gt;&lt;reference-request&gt;&lt;graph-theory&gt;&lt;machine-learning&gt;&lt;lg.learning&gt;" AnswerCount="0" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="34118" PostTypeId="1" CreationDate="2016-03-19T15:07:36.223" Score="7" ViewCount="845" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;CNF-SAT refers to the following problem:&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;Given a boolean formula $\phi$ in conjunctive normal form, does there&#xA;  exist an assignment to the variables that satisfies $\phi$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;There are several parameters that one can associate with $\phi$:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$n$ will denote the number of variables in $\phi$.&lt;/li&gt;&#xA;&lt;li&gt;$m$ will denote the number of clauses in $\phi$.&lt;/li&gt;&#xA;&lt;li&gt;$N$ will denote the number of variable occurrences in $\phi$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Claim:&lt;/strong&gt; For every fixed $k$, we can reduce an arbitrary instance $\phi$ of CNF-SAT to an instance $G$ of $k$-Clique with roughly&#xA;  $2^{\frac{N}{k}}$ vertices and $2^{\frac{2 N}{k}}$ edges.&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;&lt;strong&gt;Proof Idea:&lt;/strong&gt; Any clause in $\phi$ can be split into two clauses by adding an&#xA;  additional variable.  The positive literal gets added to one of the&#xA;  new clauses and the negative literal gets added to the other new clause.&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;We make at most $k$ splits to the clauses of $\phi$ to get a new&#xA;  formula $\phi'$ such that:&lt;/p&gt;&#xA;  &#xA;  &lt;ul&gt;&#xA;  &lt;li&gt;$\phi'$ has at most $N+2k$ variable occurrences.&lt;/li&gt;&#xA;  &lt;li&gt;$\phi'$ can be expressed as $\bigwedge_{i\in[k]} \phi_{i}'$ where each $\phi_{i}'$ is a CNF formula with at most $\frac{N}{k} + 2$&#xA;  variable occurrences.&lt;/li&gt;&#xA;  &lt;li&gt;$\phi$ is satisfiable if and only if $\phi'$ is satisfiable.&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;  &#xA;  &lt;p&gt;We can look at each $\phi_{i}'$ independently and build up a list of&#xA;  all the satisfying assignments.  There are at most $2^{\frac{N}{k}+2}$&#xA;  satisfying assignments for each $\phi_{i}'$.&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;The satisfying assignments for the $\phi_i'$'s will represent the&#xA;  vertices of the graph $G$.  In total, $G$ will have at most $k \cdot 2^{\frac{N}{k}+2}$ vertices.&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;Vertices $v$ and $u$ are adjacent in $G$ if the following are true:&lt;/p&gt;&#xA;  &#xA;  &lt;ul&gt;&#xA;  &lt;li&gt;$v$ and $u$ represent assignments for $\phi_i'$ and $\phi_j'$ respectively where $i \neq j$.&lt;/li&gt;&#xA;  &lt;li&gt;For the variables that are in both $\phi_i'$ and $\phi_j'$, the assignments for $v$ and $u$ agree on their respective bit values.&lt;/li&gt;&#xA;  &lt;/ul&gt;&#xA;  &#xA;  &lt;p&gt;Now, if a $k$-Clique exists in $G$, then we get an assignment for each&#xA;  $\phi_i'$ where no two assignments disagree on bit values for the same&#xA;  variables.  As a result, these assignments can be joined to form a&#xA;  satisfying assignment for $\phi'$.&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;Conversely, if a satisfying assignment exists for $\phi'$, then we can&#xA;  remove variables from this assignment to get a satsfying assignment&#xA;  for each of the $\phi_i'$'s where no two assignments have any bit&#xA;  mismatches making them form a $k$-Clique in $G$.  $\square$&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Using fast matrix multiplication, we can solve $k$-Clique in $O(n^{.792 k})$ time.  Therefore, we can solve CNF-SAT in $2^{.792 N}$ time.  In fact, there is a trivial algorithm for solving CNF-SAT in $2^{.5 N}$ time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, it is not known if we can solve CNF-SAT in $poly(N) \cdot 2^{(1-\epsilon) \cdot n}$ time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question:&lt;/strong&gt; Does there exist a constant $c$ such that for every fixed $k$, we can reduce an arbitrary instance $\phi$ of CNF-SAT to an instance $G$ of $k$-Clique with roughly $2^{\frac{c \cdot n}{k}}$ vertices and $2^{\frac{2 \cdot c \cdot n}{k}}$ edges.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Relevant Links:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Exponential Time Hypothesis: &lt;a href=&quot;https://en.wikipedia.org/wiki/Exponential_time_hypothesis&quot; rel=&quot;noreferrer&quot;&gt;https://en.wikipedia.org/wiki/Exponential_time_hypothesis&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Algorithms for $k$-Clique: &lt;a href=&quot;http://theory.stanford.edu/~virgi/combclique-ipl-g.pdf&quot; rel=&quot;noreferrer&quot;&gt;http://theory.stanford.edu/~virgi/combclique-ipl-g.pdf&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Sparsification Lemma: &lt;a href=&quot;https://cseweb.ucsd.edu/~russell/ipz.pdf&quot; rel=&quot;noreferrer&quot;&gt;https://cseweb.ucsd.edu/~russell/ipz.pdf&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="14207" LastEditorUserId="14207" LastEditDate="2016-03-20T04:51:57.263" LastActivityDate="2016-03-22T21:20:54.427" Title="On reducing the hardness of CNF-SAT to k-Clique" Tags="&lt;np-hardness&gt;&lt;sat&gt;&lt;reductions&gt;&lt;clique&gt;&lt;fine-grained&gt;" AnswerCount="1" CommentCount="8" ContentLicense="CC BY-SA 3.0" />
  <row Id="34119" PostTypeId="1" CreationDate="2016-03-20T01:44:28.100" Score="14" ViewCount="438" Body="&lt;p&gt;For a Boolean function $f\colon\{-1,1\}^n \to \{-1,1\}$, the influence of the $i$th variable is defined as&#xA;$$&#xA;\operatorname{Inf}_i[f] \stackrel{\rm def}{=} \Pr_{x\sim\{-1,1\}^n}[ f(x) \neq f(x^{\oplus i})]&#xA;$$&#xA;where $x^{\oplus i}$ is the string obtained by flipping the $i$th bit of $x$. The minimum influence of $f$ is then $$\operatorname{MinInf}[f] \stackrel{\rm def}{=} \min_{i\in[n]}\operatorname{Inf}_i[f].$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a parameter $p\in[0,1]$, we choose a $p$-random function $f$ by choosing its value on each of the $2^n$ inputs independently at random to be $1$ with probability $p$, and $-1$ with probability $1-p$. Then, it is easy to see that, for every $i\in[n]$ &#xA;$$&#xA;\mathbb{E}_{f}[\operatorname{Inf}_i[f]] = 2p(1-p)&#xA;$$&#xA;and &lt;em&gt;a fortiori&lt;/em&gt;&#xA;$$&#xA;I_n(p) \stackrel{\rm def}{=}\mathbb{E}_{f}[\operatorname{MinInf}[f]] \leq 2p(1-p).&#xA;$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is: &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is there an asymptotically (with regard to $n$) &lt;em&gt;tight&lt;/em&gt; expression for $I_n(p)$? Even for $p=\frac{1}{2}$, can we get such an expression?&lt;/p&gt;&#xA;  &#xA;  &lt;p&gt;&lt;em&gt;Specifically, I do care about the low order terms, i.e. I'd be interested in an asymptotic equivalent for the quantity $2p(1-p)-I_n(p)$.&lt;/em&gt;&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;(The next question, but which is subordinate to the first, is whether one can also get good concentration bounds around this expectation.)&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;By Chernoff bounds one can  also show that each $\operatorname{Inf}_i[f]$ has good concentration, so that by a union bound we get (if I did not mess up too badly)&#xA;$$&#xA; \frac{1}{2} - O\left(\sqrt{\frac{n}{2^n}}\right) \leq I_n\left(\frac{1}{2}\right) \leq \frac{1}{2}&#xA;$$&#xA;but this is most likely loose on the lower bound (due to the union bound) and definitely on the upper bound. (I am in particular looking for an upper bound strictly less than the trivial $\frac{1}{2}$).&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Note that one of the issues in doing that, besides taking the minimum of $n$ identically distributed random variables (the influences), is that these random variables are not independent... although I do expect their correlation to decay &quot;pretty fast&quot; with $n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(For what it's worth, I have computed explicitly the first few $I_n(1/2)$'s up to $n=4$, and have run simulations to estimate the following ones, up to $n=20$ or so. Not sure how helpful this could be, but I can include that once I am back to my office.)&lt;/p&gt;&#xA;" OwnerUserId="13319" LastEditorUserId="13319" LastEditDate="2016-03-20T01:49:55.017" LastActivityDate="2016-03-25T22:18:59.723" Title="Expected minimum influence of a random Boolean function $f\colon\{-1,1\}^n \to \{-1,1\}$" Tags="&lt;reference-request&gt;&lt;pr.probability&gt;&lt;boolean-functions&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="34123" PostTypeId="2" ParentId="34118" CreationDate="2016-03-20T16:31:10.937" Score="11" Body="&lt;p&gt;I don't know the answer to your specific question (it seems related to the question of whether W&lt;a href=&quot;https://scholar.google.com/scholar?biw=1895&amp;amp;bih=878&amp;amp;bav=on.2,or.r_cp.&amp;amp;bvm=bv.117218890,d.cGc&amp;amp;um=1&amp;amp;ie=UTF-8&amp;amp;lr&amp;amp;cites=11230959911679679574&quot; rel=&quot;nofollow&quot;&gt;1&lt;/a&gt;=W[2]). &lt;/p&gt;&#xA;&#xA;&lt;p&gt;But the algorithm you give in your question is subsumed by several other results. Using your definition of $N$, CNF-SAT is basically solvable in $O(1.1279^N)$ time, as in the &lt;a href=&quot;https://scholar.google.com/scholar?biw=1895&amp;amp;bih=878&amp;amp;bav=on.2,or.r_cp.&amp;amp;bvm=bv.117218890,d.cGc&amp;amp;um=1&amp;amp;ie=UTF-8&amp;amp;lr&amp;amp;cites=11230959911679679574&quot; rel=&quot;nofollow&quot;&gt;paper by Wahlstrom&lt;/a&gt; (link goes to a google scholar page of papers that cite it). In particular, Wahlstrom shows that if $d$ is the average number of occurrences of a variable in the CNF, and no variable appears at most once, then CNF-SAT can be solved in $O(1.1279^{n(d - 2)})$ time. (There are other references with similarly strong running times.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Update: Another reference is: &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hirsch, E.A.: New worst-case upper bounds for SAT. J. Autom.&#xA;Reason. 24(4), 397–420 (2000)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This gives faster algorithms in terms of $m$ and your $N$ (which is typically called $\ell$). Namely, Hirsch gets $2^{0.30897m}$ and $2^{0.10299\ell}$ time.&lt;/p&gt;&#xA;" OwnerUserId="225" LastEditorUserId="225" LastEditDate="2016-03-22T21:20:54.427" LastActivityDate="2016-03-22T21:20:54.427" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="34128" PostTypeId="2" ParentId="8486" CreationDate="2016-03-21T04:40:03.703" Score="0" Body="&lt;p&gt;An approximation algorithm for Optimization Algorithms is presented &lt;a href=&quot;http://arxiv.org/pdf/1411.4028v1.pdf&quot; rel=&quot;nofollow&quot;&gt;here&lt;/a&gt; - the paper presents an quantum approximation algorithm for an objective function that has a  unitary gate that has its locality as an optimum of the objective function. For a fixed $i$, and one that varies with the size of input the quantum algorithm finds an approximation to the optimal solution. They have studied the application to  MaxSat, and MAX-CUT(for some cases of regular graphs) optimization problems. The objective function for an optimization problem is seen as a special unitary operator, that concentrates the solution, and thereby achieves the approximation. &lt;/p&gt;&#xA;" OwnerUserId="27305" LastActivityDate="2016-03-21T04:40:03.703" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="34129" PostTypeId="1" CreationDate="2016-03-21T06:57:57.200" Score="2" ViewCount="151" Body="&lt;p&gt;Under isolation lemma if you have a graph with $2n$ vertices and $m$ edges an isolating weight assignment can be obtained by assigning edges weights randomly from $\{1,2,\dots,2m-1,2m\}$. A weight assignment is isolating if there is an unique perfect matching with minimum sum weight.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is $\Omega(m)$ weight necessary or would it be possible that there is a (deterministic) scheme that can get the job done in $O(\sqrt m)$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that the best weights we know uses $O(2^m)$.&lt;/p&gt;&#xA;" OwnerDisplayName="user34945" LastEditorDisplayName="user34945" LastEditDate="2016-03-21T07:03:28.460" LastActivityDate="2016-04-29T08:52:36.283" Title="Minimum weights needed to derandomize weight assignment by isolation lemma" Tags="&lt;ds.algorithms&gt;&lt;derandomization&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="34130" PostTypeId="1" CreationDate="2016-03-21T07:01:03.677" Score="1" ViewCount="40" Body="&lt;p&gt;I have read some papers about network coding and dynamic flows (flows over time).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I think I have made comprehensive searches on google, google scholar and IEEE Xplore.&#xA;IMHO, the reasons for the difficulty in finding such references are that this topic is new and that there are not many people doing research on this topic.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As Kaveh's comment below, I am going to explain the problem with more detail.&#xA;The original network coding theory addresses the maximum flow problem under the circumstances that every node in the network can combine the information it receives, which is the counterpart of the maximum flow problem in the network with coding ability. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The quickest flow (flows over time) addresses the problem how soon a/some commodity/commodities can be transship to some certain nodes, and this model is applicable in, for example, evacuation. Some reference for the flows over time are &lt;a href=&quot;https://www.google.com.hk/url?sa=t&amp;amp;rct=j&amp;amp;q=&amp;amp;esrc=s&amp;amp;source=web&amp;amp;cd=1&amp;amp;cad=rja&amp;amp;uact=8&amp;amp;ved=0ahUKEwjls8L2jqTMAhXJj5QKHXd3Cj4QFggaMAA&amp;amp;url=%68%74%74%70%3A%2F%2F%70%61%67%65%2E%6D%61%74%68%2E%74%75%2D%62%65%72%6C%69%6E%2E%64%65%2F%7E%73%6B%75%74%65%6C%6C%61%2F%46%6C%65%69%73%63%68%65%72%53%6B%75%74%65%6C%6C%61%2E%70%64%66&amp;amp;usg=AFQjCNFgTRCo08WLCZzlqKLpQ7-sfB-MwQ&quot; rel=&quot;nofollow&quot;&gt;Quickest flows over time&lt;/a&gt; and &lt;a href=&quot;https://www.google.com.hk/url?sa=t&amp;amp;rct=j&amp;amp;q=&amp;amp;esrc=s&amp;amp;source=web&amp;amp;cd=5&amp;amp;cad=rja&amp;amp;uact=8&amp;amp;ved=0ahUKEwjls8L2jqTMAhXJj5QKHXd3Cj4QFghFMAQ&amp;amp;url=%68%74%74%70%3A%2F%2F%77%77%77%2E%73%63%69%65%6E%63%65%64%69%72%65%63%74%2E%63%6F%6D%2F%73%63%69%65%6E%63%65%2F%61%72%74%69%63%6C%65%2F%70%69%69%2F%53%30%33%30%34%33%39%37%35%30%37%30%30%31%35%30%38&amp;amp;usg=AFQjCNFU-JIbTin6uMHsZN2kjfT5cm_SIw&quot; rel=&quot;nofollow&quot;&gt;Multicommodity flows over time&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem I am interested in is how to combine the coding ability, as in the network coding theory, to the quickest flow model. Once the network has coding ability, there maybe some promotion in the counterpart of the quickest flow.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks in advance!&lt;/p&gt;&#xA;" OwnerUserId="38162" LastEditorUserId="38162" LastEditDate="2016-04-23T06:36:11.453" LastActivityDate="2016-04-23T06:36:11.453" Title="Reference request on dynamic flows combined with network coding" Tags="&lt;coding-theory&gt;&lt;encoding&gt;&lt;flow-problems&gt;" AnswerCount="0" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="34131" PostTypeId="1" CreationDate="2016-03-21T11:16:14.760" Score="3" ViewCount="135" Body="&lt;p&gt;Let $\{L^c_i\}_{i}$ be an efficient enumeration of languages in $DTime(2^{n^c})$,&#xA;e.g. clocked TMs.&#xA;Assume $EXP\not = NEXP$. &#xA;Let $L$ be an $NEXP$-complete language and therefore not in $EXP$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;There is a diagonal function $f$ &#xA;such that for all $c$ and $i$:&#xA;$$f(i,c) \in L^c_i \leftrightarrow f(i,c) \not\in L$$&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Can such an $f$ be in $FPH$ or $FEXP$?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Also related to the above question,&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Is $S_2+EXP=NEXP$ consistant?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="36375" LastEditorUserId="36375" LastEditDate="2016-03-25T10:33:03.873" LastActivityDate="2016-03-25T10:33:03.873" Title="Complexity of counterexample function and bounded arithmetic" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="34133" PostTypeId="2" ParentId="6486" CreationDate="2016-03-21T18:47:21.990" Score="1" Body="&lt;p&gt;This is simple. Assume the adjacency matrix is $A$. As it is symmetric, it guarantees that $A$ can be diagonalized as $A=U\Sigma U^T$ by SVD decomposition, where $\Sigma=diag(\lambda_1,...,\lambda_n)$ is the diagonal matrix of eigenvalues. For node $i$, just add this mount of loop to it: $\text{ceiling}(|min(\lambda_i,0)|)$.&lt;/p&gt;&#xA;" OwnerUserId="32191" LastActivityDate="2016-03-21T18:47:21.990" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="34134" PostTypeId="2" ParentId="34129" CreationDate="2016-03-21T19:20:36.797" Score="6" Body="&lt;p&gt;A deterministic scheme with tiny weights is easy to achieve: first, compute an arbitrary perfect matching, deterministically. Then, give the matched edges weight zero and all other edges weight one. The difficult question is how to compute a deterministic isolating scheme more quickly than finding a perfect matching.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2016-03-21T19:20:36.797" CommentCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="34137" PostTypeId="1" CreationDate="2016-03-22T04:05:35.313" Score="5" ViewCount="196" Body="&lt;p&gt;Let $L$ be an &lt;strong&gt;NP&lt;/strong&gt;-complete language.  Let $W(x)$ denote the set of (polynomially length bounded) witnesses that certify $x\in L$. That is, $x\in L$ if and only if there exists a $w$, such that $w\in W(x)$. For example, if $x$ encodes a SAT instance, then $W(x)$ contains all satisfying truth assignments of the formula $x$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let us assume that every witness has even length, and define the following new language:&#xA;$$L'=\{x\#u\:|\: \exists v \; \mbox{such that}\; |u|=|v|\; \mbox{and}\; uv\in W(x)\}$$&#xA;where $\#$ is a symbol that is only used for separation, it does not occur in $x$ and $u$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The meaning of this construction is that with every input $x$, the new language $L'$ reveals the first half of a witness. In this sense, $L'$ is &quot;easier&quot; than $L$, because we only need to find the second half of the witness, its first half is already given. On the other hand, finding the second half still appears hard. For example, if for a SAT instance half of a satisfying truth assignment is given, it is still hard to find the other half, since after substituting the given truth values, in general we are still left with a polynomial sized formula to satisfy.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Question:&lt;/strong&gt; Is there any condition which guarantees that  $L'$ remains &lt;strong&gt;NP&lt;/strong&gt;-complete?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; In general, $L'$ does not have to remain &lt;strong&gt;NP&lt;/strong&gt;-complete. For example, if each witness is constructed such that its second half is only a dummy filler (such as all 0), then $L'\in {\bf P}.$&lt;/p&gt;&#xA;" OwnerUserId="12710" LastActivityDate="2016-03-22T04:05:35.313" Title="When will an NP-complete language remain hard if half of a witness is revealed with the instance?" Tags="&lt;cc.complexity-theory&gt;&lt;np-complete&gt;" AnswerCount="0" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="34139" PostTypeId="1" CreationDate="2016-03-22T13:38:51.940" Score="3" ViewCount="256" Body="&lt;p&gt;Given a multivariate &lt;strong&gt;cubic&lt;/strong&gt; equation $f(\vec{x})$ over reals where all coefficients of $f$ are integers, and a hyper-rectangle $B=\bigwedge_i x_i\in[a_i, b_i]$ where $a_i, b_i$ are constant integers, the problem is to check whether $f$ has a zero in $B$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;What’s the complexity of this problem?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Obviously, it is in PSPACE; more precisely, it is a special case of the existential theory of the reals, hence it is in the class &lt;a href=&quot;https://en.wikipedia.org/wiki/Existential_theory_of_the_reals&quot; rel=&quot;nofollow noreferrer&quot;&gt;$\exists\mathbb R$&lt;/a&gt;. A related problem (denoted here as 4FEAS), viz. to check whether a &lt;strong&gt;quartic&lt;/strong&gt; equation with integer coefficients (even without constraints in $B$) has a real zero is $\exists\mathbb R$-complete. Likewise, checking whether a &lt;em&gt;set&lt;/em&gt; of quadratic (or cubic) equations has a common zero is $\exists\mathbb R$-complete. On the other hand, if one drops the constraint of $B$, a zero exists trivially if the cubic equation is nondegenerate. Hence, an obvious question is, can we reduce 4FEAS to the current problem?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A variant of 4FEAS with real coefficients is $\mathrm{NP}_\mathbb R$-complete in the Blum–Shub–Smale model, but this question is about the Boolean Turing model, not BSS.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A related question is here: &lt;a href=&quot;https://cstheory.stackexchange.com/questions/34202&quot;&gt;Checking whether two quadratic equations have a common zero&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="21036" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2016-04-04T14:44:09.667" Title="Zero of a multivariate cubic equation" Tags="&lt;cc.complexity-theory&gt;&lt;computing-over-reals&gt;" AnswerCount="1" CommentCount="9" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="34143" PostTypeId="2" ParentId="6900" CreationDate="2016-03-22T20:27:50.447" Score="6" Body="&lt;p&gt;If the only randomness you can obtain is sampling from a set of polynomial size, you are not going to be able to get two random permutations, because the probability of any particular pair of random permutations is&#xA;$$&#xA;\frac{2}{n! (n! - 1)}&#xA;$$&#xA;and $n!-1$ doesn't necessarily factor into polynomial-size numbers.&lt;/p&gt;&#xA;" OwnerUserId="1677" LastEditorUserId="1677" LastEditDate="2016-03-22T21:49:21.610" LastActivityDate="2016-03-22T21:49:21.610" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="34145" PostTypeId="1" AcceptedAnswerId="34151" CreationDate="2016-03-23T05:49:04.700" Score="9" ViewCount="2517" Body="&lt;p&gt;I'm currently a sophomore interested in TCS. Recently I've been somewhat bothered by the difficulty of getting into PhD programs in the future since the selection is indeed very competitive.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I looked through the webpages of some top CS school and found that their current grad students mostly also come from top undergrad schools and many graduated summa cum laude, i.e. with highest honors(top GPA, I guess?).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I've also been advised by a PhD student that by the time of application, I'd better figure out a specific area in theory(algorithms, complexity, crypto, etc) to write in my PS. Being interested in a wide range of topics would put me at disadvantage.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Though I'm at a top 5 university, I started learning CS only after getting into college. I fell in love with theory right away but I felt really left behind by many around me. I have a relatively good GPA, but not stellar enough. I've also been doing research in a few diffenrent topics but haven't published a paper yet. And currently I'm still widely interested in graph theory, complexity, cryptography and even quantum computing.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I know I still have two years to go. But sometimes I felt really pushed by the scenario in academia nowadays. I believe that many students are in the same boat as I am.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I wonder roughly what is the difficulty of getting into top graduate programs in theoretical cs(MIT,Berkeley,Stanford,CMU,Princeton etc.)nowadays? Does GPA really play no role once you have reached a &quot;bar&quot;(like 3.7/4), as many said? &#xA;Do I have to decide on a specific area just after 3 years of undergrad studies?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;And any other advice related to my situation(research, application, anything) would be appreciated.&lt;/p&gt;&#xA;" OwnerUserId="34813" LastActivityDate="2016-03-26T17:36:07.623" Title="Difficulty of Getting into Top Graduate Program in TCS" Tags="&lt;soft-question&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="7" ContentLicense="CC BY-SA 3.0" />
  <row Id="34146" PostTypeId="1" CreationDate="2016-03-23T09:04:12.673" Score="16" ViewCount="1405" Body="&lt;p&gt;What are some major examples of successful derandomization or at least progress in showing concrete evidence towards $P=BPP$ goal (not the hardness randomness connection)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The only example that comes to my mind is AKS deterministic polynomial time primality testing (even for this there was a methodology assuming GRH). So what specific evidence through example do we have for derandomization (again not the hardness or oracle connection)?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Please keep examples to only where &lt;strong&gt;time complexity&lt;/strong&gt; improvement was shown from randomized poly to deterministic poly or something that is very close for specific problems.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;Following is more of a comment and I do not know much it will help this query.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Chazelle has a very intriguing statement in &lt;a href=&quot;http://www.cs.princeton.edu/~chazelle/linernotes.html&quot; rel=&quot;nofollow&quot;&gt;http://www.cs.princeton.edu/~chazelle/linernotes.html&lt;/a&gt; under 'The Discrepancy Method: Randomness and Complexity   (Cambridge University Press, 2000)'.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;'It's been an endless source of fascination for me that a deeper understanding of deterministic computation should require the mastery of randomization. I wrote this book to illustrate this powerful connection. From minimum spanning trees to linear programming to Delaunay triangulations, the most efficient algorithms are often derandomizations of probabilistic solutions. The discrepancy method puts the spotlight on one of the most fruitful questions in all of computer science: if you think you need random bits, please tell us why?'&lt;/p&gt;&#xA;" OwnerDisplayName="user34945" LastEditorDisplayName="user34945" LastEditDate="2016-06-10T08:47:10.830" LastActivityDate="2021-05-14T14:00:45.720" Title="Examples of successful derandomization from BPP to P" Tags="&lt;cc.complexity-theory&gt;&lt;big-list&gt;&lt;randomized-algorithms&gt;&lt;derandomization&gt;&lt;pseudorandom-generators&gt;" AnswerCount="5" CommentCount="5" FavoriteCount="9" ContentLicense="CC BY-SA 3.0" />
  <row Id="34147" PostTypeId="1" CreationDate="2016-03-23T14:05:16.510" Score="1" ViewCount="238" Body="&lt;p&gt;I have a non-weighted directed graph G with edges E and vertices G. Edges can be added or removed, and therefore vertices can be added.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For instance, if I have a graph with 4 nodes: 0, 1, 2, 3 and if I add the edge 3 -&gt; 4, it means the node 4 will be added. Nodes cannot be removed.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am studying the problem of determining the shortest distance (just distance, not path) in this dynamic graph. I am very newbie in this problem, but as I know it would be still an open problem.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is the fastest algorithm for this problem so far?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thank you very much&lt;/p&gt;&#xA;" OwnerUserId="38206" LastEditorUserId="38206" LastEditDate="2016-03-23T14:28:14.087" LastActivityDate="2016-03-26T17:44:48.610" Title="Finding the shortest distance in a dynamic graph" Tags="&lt;graph-algorithms&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="34148" PostTypeId="2" ParentId="34146" CreationDate="2016-03-23T14:40:04.840" Score="20" Body="&lt;p&gt;$SL = L$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$RL$ stands for randomized logspace and $RL=L$ is a smaller version of the problem $RP=P$. A major stepping stone was the proof of Reingold in '04 (&quot;Undirected S-T Connectivity in Logspace&quot;) that $SL = L$, where $S$ stands for &quot;symmetric&quot; and $SL$ is an intermediate class between $RL$ and $L$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The idea is that you can think of a randomized logspace Turing machine as an polynomial-sized directed graph, where nodes are states of the machine, and an RL algorithm takes a random walk that has good properties. SL corresponds to &lt;em&gt;undirected&lt;/em&gt; graphs of this form. Reingold's proof built on work on expander graphs, particularly Reingold, Vadhan, and Wigderson's &quot;zig-zag product&quot;, to take any random walk on an undirected graph with good properties and turn it into a psuedorandom walk retaining those properties.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;edit&lt;/strong&gt; this question was posted before the question was explicitly changed to focus exclusively on P vs BPP ... I am leaving it up because it seems to be of interest.&lt;/p&gt;&#xA;" OwnerUserId="8243" LastEditorUserId="8243" LastEditDate="2016-03-24T02:48:20.150" LastActivityDate="2016-03-24T02:48:20.150" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="34149" PostTypeId="1" AcceptedAnswerId="34153" CreationDate="2016-03-23T16:26:01.340" Score="1" ViewCount="252" Body="&lt;p&gt;I have a function f(x, y) which takes two integers and returns a scalar.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My task is to find the set of (x, y) pairs, 0&amp;lt;x&amp;lt;W, 0&amp;lt;y&amp;lt;H where f(x, y)&amp;gt;0, which maximize the sum f(x_i, y_i) with the constraint that no two pairs shall overlap. &#xA;Two pairs (x1, y1) and (x2, y2) overlap if (x2 &gt;= x1 and x2 &amp;lt; x1+y1).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have implemented a practical solution which processes in O(WxH) time with O(W) memory. I'm pretty sure this is optimal. It seems to me that it is a kind of a graph flow algorithm, but I don't know how to formally describe it without pseudo code.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can anybody tell me what class of problems this problem belongs to?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I attach a screenshot of a solution to one configuration (darker means higher f(x, y)). &#xA;&lt;a href=&quot;https://i.stack.imgur.com/XZ2EK.png&quot; rel=&quot;nofollow noreferrer&quot;&gt;&lt;img src=&quot;https://i.stack.imgur.com/XZ2EK.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="38210" LastActivityDate="2016-04-29T09:02:01.630" Title="How do I describe this (graph-)problem for a research paper?" Tags="&lt;graph-algorithms&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="34150" PostTypeId="1" CreationDate="2016-03-23T19:43:30.040" Score="8" ViewCount="332" Body="&lt;p&gt;The first-order theory over the reals as an ordered field with polynomials is decidable with doubly exponential complexity. However, if we additionally allow the exponential function, that is $e^x$ decidability is unknown &lt;a href=&quot;https://en.wikipedia.org/wiki/Decidability_of_first-order_theories_of_the_real_numbers&quot; rel=&quot;noreferrer&quot;&gt;(see here)&lt;/a&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;If we consider the existential fragment of first-order theory with polynomials the complexity is PSACE instead of doubly exponential &lt;a href=&quot;https://en.wikipedia.org/wiki/Existential_theory_of_the_reals&quot; rel=&quot;noreferrer&quot;&gt;(see here)&lt;/a&gt;. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am interested in results concerning decidability of existential first-order theory with polynomials extended with the function $a^x$, where $a$ is a rational number. I consider this not standard exponential function because of the application I have for this logic.&lt;/p&gt;&#xA;" OwnerUserId="35668" LastEditorUserId="35668" LastEditDate="2016-03-24T12:31:22.657" LastActivityDate="2016-03-24T12:31:22.657" Title="Decidability of existential first-order theory of reals with exponential" Tags="&lt;decidability&gt;" AnswerCount="0" CommentCount="5" FavoriteCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="34151" PostTypeId="2" ParentId="34145" CreationDate="2016-03-23T22:07:30.257" Score="8" Body="&lt;p&gt;&lt;i&gt;Disclaimer: I am just a student, so I cannot speak authoritatively about admissions. I haven't been on an admissions committee, but I can tell you my understanding of how it works.&lt;/i&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A PhD admissions committee looks at an application and asks &quot;will this person do well in our PhD program?&quot; Doing a PhD is first and foremost about doing novel research. So the question is: &quot;Can this person do research?&quot;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Your application has several parts, which together need to convince the committee that the answer is yes. Below are my thoughts on the various aspects.&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;b&gt;Recommendation Letters:&lt;/b&gt; These are extremely important. A good recommendation letter comes from someone who knows you well in a research setting and who is an established researcher. Such a person should be in a good position to judge your ability to do research and their opinion will carry a lot of weight.&#xA;&lt;p&gt; A strong recommendation letter will talk about research-level work you have done and speak about your skills as a researcher, particularly your ability to be self-directed. A letter that only talks about how you did in class is not strong.&#xA;&lt;p&gt; To get strong recommendation letters, you should try to do research projects with professors either at your college or at a different college through an REU program or similar. If you do well, those professors will be able to write strong letters for you. (Make sure to work with research-active professors. e.g. work with a professor that has current PhD students. The more well-known your letter writer is, the more weight their recommendation carries.)&#xA;&lt;li&gt; &lt;b&gt;Publications:&lt;/b&gt; If you already have written research articles, that is a clear sign that you can do research. Don't worry too much about this. If your recommendation letters say that the work you did is of publishable quality, that already says a lot, even if it hasn't been published yet.&#xA;&lt;li&gt; &lt;b&gt;GPA and Transcript:&lt;/b&gt; Having a good GPA and transcript matters, but is not decisive on its own. It shows that you are hardworking and that you have the appropriate background, which are necessary attributes for a PhD student. &#xA;&lt;p&gt;More important than overall GPA is which courses you took and how well you did in them. Getting a B in art history will not sink your Theoretical Computer Science PhD application, whereas a B in Algorithms or Linear Algebra is a red flag. &#xA;Taking more computer science and math courses, particularly at higher levels, and getting good grades makes your application look solid.&#xA;&lt;li&gt; &lt;b&gt;Your College:&lt;/b&gt; Being an undergraduate at a top research university is an advantage because it gives you exposure to a research environment and gives you opportunities to do research, which leads to strong recommendation letters. If you are at, say, a liberal arts college, you will need to be more proactive about finding research opportunities (e.g. by doing a REU at a research university over the summer).&#xA;&lt;p&gt; Admissions committees will not discount your application based on your undergraduate institution.&#xA;&lt;li&gt;&lt;b&gt;Personal Statement:&lt;/b&gt; The personal statement should convince the committee that you have the right motivation for doing a PhD. In particular, it should tell them why you want to do research.&lt;p&gt;Do not talk about what you did when you were 10 years old --- that's completely irrelevant. Talk about your recent research experiences; talk about scientific questions that excite you. &#xA;&lt;p&gt; You do not need to choose a subfield when applying. However, it looks good if you can discuss some subfields that interest you; it shows that you have thought seriously about what you want to do. &lt;p&gt;Read up on the professors at the school you are applying to. If one of them does something that excites you, mention it (and why).&#xA;&lt;li&gt;&lt;b&gt;GRE scores:&lt;/b&gt; Everyone knows the GRE is flawed, but it is the only standardized information available. Top programs receive far too many applications, so they may use the GRE to &quot;filter&quot; applications. As long as your GRE score is passable, it is not a problem.&#xA;&lt;li&gt;&lt;b&gt;Writing Sample:&lt;/b&gt; A few places ask for a writing sample. They want to know if you can write clearly --- this is important when writing research articles. &lt;p&gt; Just make sure this has been appropriately proofread. Bad spelling and grammar or rambling are a bad look. (This applies to your whole application!)&#xA;&lt;li&gt;&lt;b&gt;CV:&lt;/b&gt; This should be a concise overview of your skills and experiences.&#xA;&lt;li&gt;&lt;b&gt;Web Presence:&lt;/b&gt; Some professors will google you. So your web presence can matter.&lt;p&gt;You can take control of your web presence by setting up a homepage. This doesn't need to be fancy. As a bonus, you can set up analytics and see who is googling you.&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;The fact that you are thinking about this as a sophomore is a promising sign that you are on the right track. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Don't worry too much! Get some research experience --- this is also useful to you, as it gives you useful experience and helps you figure out whether you will enjoy doing research full time. Otherwise, just work hard and take courses that interest you.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;One final piece of advice: Ask people to read over your application, e.g. the people writing your recommendation letters. They can tell you if you have missed something.  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;b&gt;TL;DR:&lt;/b&gt; Do research!&lt;/p&gt;&#xA;" OwnerUserId="38219" LastActivityDate="2016-03-23T22:07:30.257" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="34153" PostTypeId="2" ParentId="34149" CreationDate="2016-03-24T06:27:21.717" Score="5" Body="&lt;p&gt;Replace any negative value with zero. Then, think of the numbers in the range $1\dots W$ as vertices in a graph, and think of a pair $(x,y)$ as corresponding to an edge from vertex $x$ to vertex $x+y$ (or to $W$ if $x+y&amp;gt;W$), with weight $f(x,y)$. This graph is a DAG, and what you are looking for are the nonzero edges on a longest path from $1$ to $W$ in this DAG. DAG longest path problems can be solved in time linear in the size of the DAG (here, $O(WH)$); see &lt;a href=&quot;https://en.wikipedia.org/wiki/Longest_path_problem&quot;&gt;https://en.wikipedia.org/wiki/Longest_path_problem&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="95" LastActivityDate="2016-03-24T06:27:21.717" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="34154" PostTypeId="2" ParentId="34146" CreationDate="2016-03-24T18:15:23.973" Score="16" Body="&lt;p&gt;There is basically only one interesting problem in BPP not known to be in P: Polynomial Identity Testing, given an algebraic circuit is the polynomial it generates identically zero. &lt;a href=&quot;http://dx.doi.org/10.1007/s00037-004-0182-6&quot;&gt;Impagliazzo and Kabanets&lt;/a&gt; show that PIT in P would imply some circuit lower bounds. So circuit lower bounds are the only reason (but a pretty good one) that we believe P = BPP. &lt;/p&gt;&#xA;" OwnerUserId="550" LastActivityDate="2016-03-24T18:15:23.973" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="34156" PostTypeId="2" ParentId="33669" CreationDate="2016-03-25T05:30:20.047" Score="-2" Body="&lt;p&gt;Consider doing a join operation on your data. You are doing nothing but a cross product on the data. This falls under relational algebra. Set operations are the most basic and vague way of looking at the query on hand.&lt;/p&gt;&#xA;" OwnerUserId="37563" LastActivityDate="2016-03-25T05:30:20.047" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="34157" PostTypeId="2" ParentId="33669" CreationDate="2016-03-25T07:08:12.573" Score="1" Body="&lt;p&gt;A co-Relational Model of Data for Large Shared Data Banks by Erik Meijer and Gavin Bierman, &lt;a href=&quot;http://queue.acm.org/detail.cfm?id=1961297&quot; rel=&quot;nofollow&quot;&gt;http://queue.acm.org/detail.cfm?id=1961297&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Good article describing SQL and No-SQL databases as categorical duals.&lt;/p&gt;&#xA;" OwnerUserId="2021" LastActivityDate="2016-03-25T07:08:12.573" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="34159" PostTypeId="2" ParentId="34146" CreationDate="2016-03-25T16:07:21.327" Score="13" Body="&lt;p&gt;Besides polynomial identity testing, one other very important problem known to be in BPP but not in P is approximating the permanent of a non-negative matrix or even the number of perfect matchings in a graph. There is a randomized poly-time algorithm to approximate these numbers within a (1+eps) factor, whereas the best deterministic algorithms achieve only ~ 2^n factor approximations. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;While permanent is the main example, there are many approximate counting problems for which there is a huge gap between randomized algorithms (typically based on 'MCMC' methods) and deterministic algoritms. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another problem in a similar vein is approximating the volume of an explicitly given convex body (say a polyhedron described by a collection of linear inequalities). &lt;/p&gt;&#xA;" OwnerUserId="38235" LastActivityDate="2016-03-25T16:07:21.327" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="34160" PostTypeId="1" CreationDate="2016-03-25T16:18:03.713" Score="7" ViewCount="332" Body="&lt;p&gt;Genetic Programming (GP) is stochastic algorithm, there has been early attempts to explain its convergence with the Schmea Theorem (Holland 1975) for Genetic &lt;em&gt;Algorithm&lt;/em&gt; adapted for GP such as (Koza 1992) (O'Reilly 1994) (Altenberg 1994) (Rosca 1997), but I was wondering if someone could point me to &lt;strong&gt;the&lt;/strong&gt; generally agreed theorem that proves GP's covergence? Does it exist?&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;h3&gt;References:&lt;/h3&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;[Altenberg 1994]: Altenberg, Lee. &quot;Emergent phenomena in genetic programming.&quot; Evolutionary Programming—&#xA;Proceedings of the Third Annual Conference. World Scientific Publishing, 1994.&lt;/li&gt;&#xA;&lt;li&gt;[Goldberg 1989]: Goldberg, David. “Genetic Algorithms in Search, Optimization and Machine Learning.” Addison-&#xA;Wesley Professional, Reading, MA 1989.&lt;/li&gt;&#xA;&lt;li&gt;[Koza 1992]: Koza, John R. Genetic programming: on the programming of computers by means of natural selection.&lt;/li&gt;&#xA;&lt;li&gt;[O'reilly 1994]: O'Reilly, Una-May, and Franz Oppacher. Using Building Block Functions to Investigate a Building Block Hypothesis for Genetic. No. 94-04-020. 1994.&#xA;Vol. 1. MIT press, 1992.&lt;/li&gt;&#xA;&lt;li&gt;[Rosca 1997]: Rosca, Justinian P. &quot;Analysis of complexity drift in genetic programming.&quot; Genetic Programming&#xA;(1997): 286-294.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="17596" LastEditorUserId="751" LastEditDate="2016-03-25T18:27:21.653" LastActivityDate="2016-04-17T18:41:16.560" Title="Convergence theorem for Genetic Programming?" Tags="&lt;reference-request&gt;&lt;genetic-algorithms&gt;&lt;genetic-programming&gt;" AnswerCount="3" CommentCount="2" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="34163" PostTypeId="2" ParentId="34119" CreationDate="2016-03-25T20:59:26.307" Score="3" Body="&lt;p&gt;Here's a step in the right direction...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'll argue that for $p=1/2$, &#xA;you have $1/2 - I_n(1/2) = \Omega(\sqrt{1/2^n})$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;(This is not quite as strong as it should be.&#xA;Maybe someone can strengthen the argument to show $\Omega(\sqrt{n/2^n})$.)&#xA;Here's a proof sketch.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It suffices to show $1/2 - E_f[\min(\text{Inf}_1[f],\text{Inf}_2[f])] = \Omega(\sqrt{1/2^n})$. We do that.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that if $\text{Inf}_1[f]$ and $\text{Inf}_2[f]$ were completely independent, we'd be done because the expectation of the minimum of the two independent sums is $1/2-\Omega(\sqrt{1/2^n})$.  First, we'll argue carefully that the two sums are almost independent.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider the universe of points $X=\{-1,1\}^n$.  Call $x$ and $x'$ in $X$ &lt;em&gt;$i$-neighbors&lt;/em&gt; if they differ in just the $i$th coordinate.  Say the two neighbors &lt;em&gt;contribute&lt;/em&gt; (to $\text{Inf}_i[f]$) if $f(x) \ne f(x')$.  (So $\text{Inf}_i[f]$ is the number of contributing $i$-neighbors, divided by $2^{n-1}$.) Note that, if $x$ and $x'$ are $i$-neighbors, and $y$ and $y'$ are $i$-neighbors, then either $\{x,x'\}=\{y,y'\}$ or $\{x,x'\}\cap\{y,y'\}=\emptyset$.  Hence, the number of contributing $i$-neighbors is the sum of $2^{n-1}$ independent random variables, each with expectation $1/2$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Partition the universe $X$ into $2^{n-2}$ groups of size four, where $x$ and $x'$ are in the same group iff $x$ and $x'$ agree on all but their first two coordinates. Then for each pair $(x,x')$ of 1-neighbors, and each pair $(x,x')$ of 2-neighbors, $x$ and $x'$ are in the same group.  For a given group $g$ and $i\in\{1,2\}$, let r.v. $c^g_i$ be the number of contributing $i$-neighbors in $g$. Then, for example, the number of contributing 1-neighbors overall is $\sum_g c^g_1$, a sum of $2^{n-2}$ independent random variables, each in $\{0,1,2\}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Note that $c^g_1$ and $c^{g'}_2$ are independent if $g\ne g'$. By a case analysis, if $g=g'$, the joint distribution of $c^g_1$ and $c^g_2$ is &#xA;$$\begin{array}{c|ccc}&#xA; &amp;amp; 0 &amp;amp; 1 &amp;amp; 2 \\ \hline&#xA;0 &amp;amp; 1/8 &amp;amp; 0 &amp;amp; 1/8 \\&#xA;1 &amp;amp; 0 &amp;amp; 1/2 &amp;amp; 0 \\&#xA;2 &amp;amp; 1/8 &amp;amp; 0 &amp;amp; 1/8 \\&#xA;\end{array}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Let r.v. $N=\{ g : c^g_1=c^g_2=1\}$ denote the set of &lt;em&gt;neutral&lt;/em&gt; groups. (They contribute exactly their expected amount to the 1-influence and the 2-influence.) The number of contributing 1-neighbors is then&#xA;$$|N| + \sum_{g\in \overline{N}} c^g_1.$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Conditioned on $N$, for each $g\in \overline N$ r.v.'s $c^g_1$ and $c^g_2$ are independent (by inspection of their joint distribution above), so (conditioned on $N$) all r.v.'s $\{c^g_i : i\in\{1,2\}, g\in\overline N\}$ are i.i.d. uniformly over $\{0,2\}$ so, &#xA;$$\textstyle E\Big[|\overline N|- \min\big(\sum_{g\in \overline N} c^g_1, \sum_{g\in \overline N} c^g_2\big) ~\Big|~ N\Big] \ge \Theta(\sqrt{|\overline N|}).$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, note that each group is neutral with probability 1/2, so $\Pr[|\overline N| \le 2^{n-2}/3]$ is extremely small, say $\exp(-\Omega(2^n))$ (and even in that case the left-hand-side above is at least $-2^n$). From this the claimed lower bound follows...&lt;/p&gt;&#xA;" OwnerUserId="8237" LastEditorUserId="8237" LastEditDate="2016-03-25T22:18:59.723" LastActivityDate="2016-03-25T22:18:59.723" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="34167" PostTypeId="2" ParentId="29159" CreationDate="2016-03-26T15:28:44.450" Score="3" Body="&lt;p&gt;Elaborating on David Eppstein's answer, Clique Cover remains $\mathsf{NP}$-hard for locally bipartite graphs. Let $G$ be the line graph of a cubic triangle-free graph $H$. It is easy to see that $G$ is locally bipartite (in fact, the open neighbourhood of each vertex induces a perfect matching) and $\theta(G) = \beta(H)$, where $\theta$ is the clique covering number and $\beta$ is the vertex cover number. But then, just use the fact that Vertex Cover is $\mathsf{NP}$-hard for cubic triangle-free graphs (for example, by &lt;a href=&quot;http://www.jaist.ac.jp/~uehara/pdf/triangle.pdf&quot; rel=&quot;nofollow&quot;&gt;this&lt;/a&gt; nice result).&lt;/p&gt;&#xA;" OwnerUserId="38238" LastActivityDate="2016-03-26T15:28:44.450" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="34168" PostTypeId="2" ParentId="33866" CreationDate="2016-03-26T17:02:05.350" Score="8" Body="&lt;p&gt;The paper &lt;/p&gt;&#xA;&#xA;&lt;p&gt;J.-M. Autebert, Une note sur le cylindre des langages déterministes,&#xA;&lt;em&gt;Theoretical Computer Science&lt;/em&gt; &lt;strong&gt;8&lt;/strong&gt; (1979), 395-399&lt;/p&gt;&#xA;&#xA;&lt;p&gt;gives a short proof of the following result (credited to Greibach) which seems to answer your question: &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;there is no deterministic context-free language $L$ such that, for&#xA;  every deterministic context-free language $C$, there is an&#xA;  homomorphism $h$ and a regular language $R$ such that $C = h^{-1}(L)\cap R$.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="17203" LastActivityDate="2016-03-26T17:02:05.350" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="34169" PostTypeId="2" ParentId="34160" CreationDate="2016-03-26T17:20:08.977" Score="-3" Body="&lt;p&gt;You have an endofunction:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;genetic :: Population -&gt; Population&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What are the idempotents? What are the indexes and periods?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Convergence means that under iteration most Populations hit upon a high fitness Population, i.e. high fitness Populations form a near dominating set over the rest of the population space if you make a graph that has edges f^i -&gt; f.&lt;/p&gt;&#xA;" OwnerUserId="2021" LastActivityDate="2016-03-26T17:20:08.977" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="34170" PostTypeId="2" ParentId="34145" CreationDate="2016-03-26T17:36:07.623" Score="0" Body="&lt;p&gt;Double your chances by also applying to their Math department. You are going to have to take their grad level Algebra and Combinatorics classes anyway, also real analysis if you want to do stuff like fractal dimension.&lt;/p&gt;&#xA;" OwnerUserId="2021" LastActivityDate="2016-03-26T17:36:07.623" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="34171" PostTypeId="2" ParentId="34147" CreationDate="2016-03-26T17:44:48.610" Score="2" Body="&lt;p&gt;The search keywords are &quot;dynamic all pairs shortest paths&quot;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Demetrescu and Italiano have a good survey,&#xA;&lt;a href=&quot;http://dl.acm.org/citation.cfm?id=1198519&quot; rel=&quot;nofollow&quot;&gt;http://dl.acm.org/citation.cfm?id=1198519&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Looks like $O(n^2 log^3 n)$ cost per update if you want to maintain fast lookups.&lt;/p&gt;&#xA;" OwnerUserId="2021" LastActivityDate="2016-03-26T17:44:48.610" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="34173" PostTypeId="1" CreationDate="2016-03-27T11:45:28.313" Score="2" ViewCount="295" Body="&lt;p&gt;Consider the problem that receives two trees $T_1$, $T_2$, and asks to find a minimum size tree $T$ such that there exists a subtree of $T_1$ which is isomorphic to $T$, but there is no such isomorphic subtree in $T_2$.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What is known about the complexity of this problem?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;" OwnerUserId="21001" LastActivityDate="2016-08-25T23:30:59.733" Title="Finding a minimum tree which is isomorphic to a subtree of $T_1$ but not to a subtree of $T_2$" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;graph-algorithms&gt;&lt;tree&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="34180" PostTypeId="1" CreationDate="2016-03-27T23:40:48.150" Score="2" ViewCount="163" Body="&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;Given a joint probability distribution over a finite number of random variables (each with a finite range space) of which only a certain subset is observable, is there a notion of &quot;sample complexity&quot; as in the minimum number of samples required of the observables for the full joint distribution to be recoverable with some given accuracy? (when possible) &lt;/p&gt;&#xA;&#xA;&lt;p&gt;More precisely think of being given a distribution $D$ and constants $\epsilon, \delta &amp;gt;0$ and let there be some parameter say $p(D)$ that one is trying to learn.  Now lets say that by taking $N$ samples (denoted as $\{N\}$) from $D$ by using some algorithm $A$, one is able to estimate $p(D)$ as $p'(D,N,A)$. Now I would think that a natural notion of &quot;sample complexity&quot; would be to look for this number, &lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;$$min_{N} [ \{ N \vert  Pr_{\{N\}} [ \vert p(D) - p'(D,N,A) \vert \leq \epsilon  ]  ] \geq 1- \delta \} ]$$ &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Has such a thing been defined or computed or studied? (...maybe one would very optimistically also want to put in a ``$min_A$&quot; over the whole expression if in any restricted scenario that too is possible to account for and hence making the quantity truly intrinsic to $D$!..)  &lt;/p&gt;&#xA;&#xA;&lt;p&gt;(..I can imagine such a question coming up with say &quot;topic modelling&quot; where one can sample only the &quot;word&quot; random variables (the &quot;views&quot;) and under certain conditions one can recover the joint distribution of the topics and the views..)&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;I would be equally happy to know if there above kind of notion of &quot;sample complexity&quot; has been studied in situations when either all the random variables are observable or when few or all of the random variables have a continuum range. &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;Can someone kindly link me to some pedagogic reference about how one proves lower bounds on such a notion of sample complexity of learning a joint distribution?&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;The closest thing I have found in this regard are things like Theorem 1 (page 12) , Theorem 2 and Theorem 3 (page 14) in this paper, &lt;a href=&quot;http://newport.eecs.uci.edu/anandkumar/pubs/AltTensorDecomp_Part2LVMs.pdf&quot; rel=&quot;nofollow&quot;&gt;http://newport.eecs.uci.edu/anandkumar/pubs/AltTensorDecomp_Part2LVMs.pdf&lt;/a&gt; But then I am not understanding as to why these would be called &quot;sample complexity&quot; because these theorems don't seem to tell me any lower bounds on the number of samples needed to learn the tensors they are looking at. What one can do at best is to take the RHS of the equations proved in these three theorems and ask for that to be upper-bounded by some error tolerance and hence invert that to get a lower-bound on the number of samples needed. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;But this is a-priori not the same thing as finding out the minimal number of samples needed to get that accuracy. Am I missing something? &lt;/p&gt;&#xA;" OwnerUserId="32603" LastEditorUserId="32603" LastEditDate="2016-04-01T02:15:14.357" LastActivityDate="2016-04-01T02:15:14.357" Title="About lower bounding the sample complexity of a distribution" Tags="&lt;cc.complexity-theory&gt;&lt;complexity-classes&gt;&lt;machine-learning&gt;&lt;lg.learning&gt;&lt;sample-complexity&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="34181" PostTypeId="1" CreationDate="2016-03-28T01:26:27.930" Score="3" ViewCount="252" Body="&lt;p&gt;Problem:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given a finite set of strings $\{x_1, x_2, ..., x_n\}$ of length $\ell$ or less from some finite alphabet $\Sigma=\{a_1, a_2, ..., a_k\}$, find the minimal context free grammar that recognizes all of these strings.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;If $k$ is a constant, and $n = poly(\ell)$, what can one say about this problem's complexity as $\ell$ grows?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This seems similar to the &lt;a href=&quot;https://en.wikipedia.org/wiki/Smallest_grammar_problem&quot; rel=&quot;nofollow&quot;&gt;smallest grammar problem&lt;/a&gt;, which is NP-Hard for the optimization problem. However it is a little different because of having multiple strings, since now one needs to recognize each string independently instead of recognizing all of them at once. The smallest grammar problem is clearly a subset of this, but for small $\ell$ this might be much easier to solve, I'm not sure.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there a way to approximately solve this problem efficiently?&lt;/p&gt;&#xA;" OwnerUserId="21793" LastEditorUserId="21793" LastEditDate="2016-03-28T20:06:50.933" LastActivityDate="2016-03-28T20:06:50.933" Title="Finding a minimal context free grammar that recognizes a finite set of strings of bounded length" Tags="&lt;np-hardness&gt;&lt;approximation-hardness&gt;&lt;context-free&gt;" AnswerCount="2" CommentCount="2" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="34182" PostTypeId="1" CreationDate="2016-03-28T01:53:47.030" Score="0" ViewCount="253" Body="&lt;p&gt;For a set of sets $A$, let $\cup A := \cup_{S \in A} S$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Consider the following problem:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Input&lt;/strong&gt;: &lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;a list of $m$ weights $w = (w_1, \ldots, w_m)$,&lt;/li&gt;&#xA;&lt;li&gt;a list of $n$ distinct subsets $T = (S_1, \ldots, S_n)$ such that $\bigcup_{S\in T} S = [m]$,&lt;/li&gt;&#xA;&lt;li&gt;an integer $k$.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Let $P$ be a partition of $T$. &#xA;We say $P$ is a &lt;em&gt;$k$-good partition&lt;/em&gt; when&#xA;the size of each part is at most $k$:&#xA;$\forall p \in P \ |p| \leq k$.&#xA;The cost of $P$ is defined as &#xA;the sum of weight of items counted once for each part they appear in, i.e.&#xA;$$cost(P) := \sum_{p\in P} \ \sum_{x\in \cup p} w_x $$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Output&lt;/strong&gt;: a $k$-good partition of $P$ of $T$ minimizing $cost(P)$.&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;What is the complexity of this problem?&lt;br&gt;&#xA;  Is it NP-hard or is there a polynomial-time algorithm?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Example&lt;/strong&gt;:&lt;br&gt;&#xA;$m = 7$, $w=(2,2,3,4,1,2,2)$,&lt;br&gt;&#xA;$n = 3$, $T=(S_1=\{1,2,3\}, S_2=\{3,4,5\}, S_3=\{5,6,7\})$&lt;br&gt;&#xA;$k=2$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In this case, since $k&amp;lt;|T|$, &#xA;it is obvious that more than one partition is needed. &#xA;Moreover,  $S_1$ and $S_2$ should be packed together in the same configuration because of their heavy overlap ($S_1 \cap S_2$ gives the biggest overlap in our example - we pay 3 less cost units). So the optimal $P$ is $\{S_1, S_2\}, \{S_3\}$ with the total cost 12+5=17.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;The unweighted version (when the weights of the elements are all 1) &#xA;is also very interesting to me. &lt;/p&gt;&#xA;" OwnerUserId="38270" LastEditorUserId="8237" LastEditDate="2016-04-01T03:33:50.523" LastActivityDate="2016-04-29T09:15:44.220" Title="Packing sets to maximize overlap" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;np-hardness&gt;&lt;packing&gt;" AnswerCount="1" CommentCount="13" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="34183" PostTypeId="2" ParentId="34181" CreationDate="2016-03-28T03:49:56.430" Score="3" Body="&lt;p&gt;If $\ell$ and $k$ are fixed, there are only finitely many possible problem instances, so you can write a program that has a hardcoded table of all possible instances and their solutions.  Consequently, the complexity will be $O(1)$, if you consider $\ell$ and $k$ as fixed and look at the asymptotics as $n$ increases.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Why are there only finitely many possible problem instances?  Because when $\Sigma$ and $\ell$ are fixed and $\Sigma$ is finite, there are only finitely many subsets of $\Sigma^1 \cup \Sigma^2 \cup \Sigma^3 \cup \cdots \cup \Sigma^{\ell}$.&lt;/p&gt;&#xA;" OwnerUserId="5038" LastActivityDate="2016-03-28T03:49:56.430" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="34186" PostTypeId="2" ParentId="34181" CreationDate="2016-03-28T15:17:31.263" Score="2" Body="&lt;p&gt;Worst case you have a Kolmogorov complexity issue where you have chosen half of the $k^l$ words at random. Since it is random your CFG has to take $O(k^l)$ space since it cannot compress.&lt;/p&gt;&#xA;" OwnerUserId="2021" LastActivityDate="2016-03-28T15:17:31.263" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="34187" PostTypeId="2" ParentId="34173" CreationDate="2016-03-28T16:02:06.150" Score="1" Body="&lt;p&gt;You can put a tree into a cannonical form in $O(n)$ with leaf contractions. Read, Ronald C. (1972), &quot;The coding of various kinds of unlabeled trees&quot;, Graph Theory and Computing, Academic Press, New York, pp. 153–182&lt;/p&gt;&#xA;&#xA;&lt;p&gt;When $T_{1}$ and $T_{2}$ are isomorphic you can solve it in $O(n)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Shamir's paper has $O({k^{1.5}\over log\ k}n)$ for testing if one tree is a subtree of the other, &lt;a href=&quot;https://www.cs.bgu.ac.il/~dekelts/publications/subtree.pdf&quot; rel=&quot;nofollow&quot;&gt;https://www.cs.bgu.ac.il/~dekelts/publications/subtree.pdf&lt;/a&gt; &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Not sure if that helps.&lt;/p&gt;&#xA;" OwnerUserId="2021" LastActivityDate="2016-03-28T16:02:06.150" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="34196" PostTypeId="1" CreationDate="2016-03-30T07:22:24.603" Score="4" ViewCount="219" Body="&lt;p&gt;Inside &lt;a href=&quot;https://github.com/Muzietto/es6-lambda-calculus&quot;&gt;a lambda calculus implementation for ECMASCript 6&lt;/a&gt;, we are trying to implement new constructs such as type tags for strong typing, and conditionals such as the &lt;code&gt;if&lt;/code&gt; statement by wrapping in lambdas the branches of the conditional.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;General recursion can also be implemented with the Y combinator. However, when trying to implement tail recursion we get an ever-expanding stack trace. Is it even possible to do so without resorting to &lt;code&gt;while&lt;/code&gt; loops, which are not available in the primitives of lambda calculus? Is there a related impossibility result?&lt;/p&gt;&#xA;" OwnerUserId="38299" LastActivityDate="2016-03-30T07:22:24.603" Title="Is it possible to implement tail recursion inside a lambda calculus built on top of functions?" Tags="&lt;lambda-calculus&gt;" AnswerCount="0" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="34198" PostTypeId="2" ParentId="34160" CreationDate="2016-03-30T09:54:44.300" Score="3" Body="&lt;p&gt;I am not sure that there is one Theorem to point to. Anyhow, you will probably be interested in the following reference, which summarizes many more recent results than those you mention in the question, e.g., for the (1+1)-EA with linear functions, quadratic functions, and monotone polynomials as objective functions (I know these are probably much simpler functions than you care about). Anyway the citations within should give you good pointers, via Google Scholar, to even newer results.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Stefan Droste, Thomas Jansen, Günter Rudolph, Hans-Paul Schwefel, Karsten Tinnefeld, and Ingo Wegener (2002): &lt;strong&gt;Theory of evolutionary algorithms and genetic programming.&lt;/strong&gt;  In H.-P. Schwefel, I. Wegener, and K. Weinert (Eds.): Advances in Computational Intelligence Theory and Practice. Springer, Berlin, Germany, pages 107-144.&lt;/p&gt;&#xA;" OwnerUserId="368" LastEditorUserId="368" LastEditDate="2016-03-30T15:31:47.807" LastActivityDate="2016-03-30T15:31:47.807" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="34200" PostTypeId="1" CreationDate="2016-03-30T18:00:56.210" Score="1" ViewCount="76" Body="&lt;p&gt;So the well-cited article by Feldman et al from 2005 has a method of constructing the convex hull of the feasible set for ML-decoding.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Basically, he considers the parity check matrix $H$ as a Tanner graph. For each check node $j$ and its neighboring variable node set $N(j)$, he considers the set of all even-sized subsets $S$ of each $N(j)$ and introduces an auxilliary indicator variable $w_{j,S}$ that is one if and only if each variable in $S$ is set to one. He then requires that at least one of these is set to one (or that $w_{j,\emptyset}$ is set to one) and that $x_i = \sum w_{j,S}$, i.e. $x_i$ is one iff its included in some even sized subset $S$ with $w_{j,S} = 1$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Clearly, this results in a highly exponential algorithm for non-LDPC codes, but ok. What I'm wondering is why the 'first thing that pops into your mind' doesn't work.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What I mean by that is that we have constraints like the following:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$$x_1 + x_2 + x_3 = 0 \text{ (mod 2)}$$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It's easy to check that the convex hull of this corresponds to four hyperplanes in $\mathbb{R}^3$. I haven't calculated it for degree four explicitily, but say a degree four equation would correspond to $M$ linear inequalities in $\mathbb{R}^4$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Given that we have an LDPC code with $m$ parity check equations, each of degree four or less, the complexity of calculating the convex hull by explicitly producing the corresponding linear inequalities would be $\mathcal{O}(m)$ - still linear.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;So why go through all the trouble of introducing an auxilliary variable at all? What's the problem with computing the convex hull directly?&lt;/p&gt;&#xA;" OwnerUserId="31967" LastActivityDate="2016-03-30T18:00:56.210" Title="Convex hull of codebook (LP-decoding)" Tags="&lt;linear-programming&gt;&lt;coding-theory&gt;&lt;convex-hull&gt;" AnswerCount="0" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="34201" PostTypeId="1" AcceptedAnswerId="34256" CreationDate="2016-03-30T20:28:36.317" Score="1" ViewCount="79" Body="&lt;p&gt;I am reading a paper called &quot;Revealing Information while Preserving Privacy&quot;, by Dinur and Nissim.  There is a definition in the paper called&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Definition 3 (Non-Privacy).  A database $\mathcal{D} = (d, \mathcal{A})$ is $t(n)$-non-private if for every constant $\epsilon &amp;gt; 0$ there exists a probabilistic Turing Machine $\mathcal{M}$ with time complexity $t(n)$ so that Pr[$\mathcal{M}^{\mathcal{A}}(1^n)$ outputs $c$ s.t. $dist(c, d) &amp;lt; \epsilon n$] $\geq 1 - neg(n)$.  The probability is taken over the coin tosses of $\mathcal{A}$ and $\mathcal{M}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As I understand it, this basically means that with high probability, we can always find some algorithm that essentially outputs the database (or a version of the database that differs on an arbitrarily small fraction of rows) in $t(n)$ time.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;But I am having trouble understanding the part about $\mathcal{M}^{\mathcal{A}}(1^n)$.  Is $1^n$ just the number $1$ repeated $n$ times?  Why would we want to use $1^n$ as the input to the algorithm?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks.&lt;/p&gt;&#xA;" OwnerUserId="22775" LastEditorUserId="22775" LastEditDate="2016-03-30T20:35:54.897" LastActivityDate="2016-04-05T18:34:28.260" Title="Question about non-private databases and $1^n$" Tags="&lt;privacy&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="34202" PostTypeId="1" CreationDate="2016-03-30T23:10:52.533" Score="9" ViewCount="262" Body="&lt;p&gt;Given two quadratic equations (with integer coefficients):&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$x^T A_1 x+ b^T_1 x + c_1=0$ and $x^T A_2 x+ b^T_2 x + c_2=0$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem is to decide whether they have a common zero.  Here $x$ is a vector of real numbers, i.e., we are looking for real solutions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Q: what is the complexity of this problem?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What we know is that checking whether a &lt;em&gt;family&lt;/em&gt; of quadratic equations has a common zero is $\exists R$-complete. However, the current question restricts the family size to be 2. A natural question arises: is this problem simpler, or remains to be $\exists R$-complete?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;A related question is here: &lt;a href=&quot;https://cstheory.stackexchange.com/questions/34139&quot;&gt;Zero of a multivariate cubic equation&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="21036" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.053" LastActivityDate="2016-04-04T14:44:58.437" Title="Checking whether two quadratic equations have a common zero" Tags="&lt;cc.complexity-theory&gt;&lt;algebraic-complexity&gt;&lt;quadratic&gt;" AnswerCount="0" CommentCount="6" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="34203" PostTypeId="1" CreationDate="2016-03-30T23:15:08.297" Score="13" ViewCount="852" Body="&lt;p&gt;Linear Logic is interpreted using &lt;strong&gt;Coherent spaces&lt;/strong&gt;, and they feature prominently in Girard's papers. I know all the three main ways to formally define them, and they don't really pose any problem to use and prove stuff about, but I just can't understand &lt;em&gt;what they mean&lt;/em&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It really feels like there is some kind of a way to &lt;em&gt;understand&lt;/em&gt; them. First of all, there're some examples about them which use functions on booleans (like at a &lt;a href=&quot;http://llwiki.ens-lyon.fr/mediawiki/index.php/Coherent_spaces&quot;&gt;wiki somewhere&lt;/a&gt;). And it hints at something interesting and meaningful behind the formal definition. However, &lt;code&gt;bool&lt;/code&gt; is a very simple coherent space, with no clique of size &lt;code&gt;&amp;gt; 1&lt;/code&gt;. Can someone elaborate?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Another thing Girard says somewhere that every point of a coherent space represents a specific &quot;sequence of questions/answers&quot;, with two points being coherent if they &quot;bifurcate negatively (i.e., on different questions)&quot;, and incoherent if they bifurcate on different answers[1]. It seems like an easy to grasp idea but I just can't invent an example so it means I don't really get it...&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Could someone please help me with that?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;[1] J-Y Girard, &lt;em&gt;The phantom of transparency&lt;/em&gt;. URL: &lt;a href=&quot;http://iml.univ-mrs.fr/~girard/longo1.pdf&quot;&gt;http://iml.univ-mrs.fr/~girard/longo1.pdf&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="19351" LastEditorUserId="19351" LastEditDate="2016-03-30T23:25:08.900" LastActivityDate="2016-08-29T17:12:26.363" Title="Can you explain an intuition behind Coherent Spaces?" Tags="&lt;lo.logic&gt;&lt;linear-logic&gt;" AnswerCount="2" CommentCount="5" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="34205" PostTypeId="1" CreationDate="2016-03-31T09:12:55.637" Score="4" ViewCount="77" Body="&lt;p&gt;For ordinary streams $S_A := \nu X. A \times X$, there is a bisimulation lemma. It says that two streams are equal if there exists a bisimulation between them. A bisimulation is a relation $\sim$ on streams defined like this:&#xA;$s_1 \sim s_2 \iff \operatorname{head} s_1 = \operatorname{head} s_2 \wedge \operatorname{tail} s_1 \sim \operatorname{tail} s_2$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now, let $M$ be a monad. We'll define the type of &lt;strong&gt;&quot;monadic streams&quot;&lt;/strong&gt; $S^M_A := \nu X. M (A \times X)$. Intuitively, if $M$ corresponds to a side effect, every time I retrieve the head from the stream I have to perform the side effect. I can define $\operatorname{head}^M: S^M_A \to M A$ and $\operatorname{tail}^M: S^M_A \to M S^M_A$ (using functoriality of $M$).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is now: Is there anything similar to bisimulation for monadic streams? Can I prove equality of monadic streams in the same way, using $\operatorname{head}^M$ and $\operatorname{tail}^M$? If not, what are proof methods that work on this coinductive type? Maybe the approximation lemma?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Edit: Maybe there has to be a restriction on the monad, like being completely positive?&lt;/p&gt;&#xA;" OwnerUserId="32941" LastEditorUserId="32941" LastEditDate="2016-04-01T20:53:56.907" LastActivityDate="2016-04-01T20:53:56.907" Title="Does bisimulation or the approximation lemma work for monadic streams?" Tags="&lt;data-streams&gt;&lt;monad&gt;&lt;streaming&gt;" AnswerCount="1" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="34207" PostTypeId="1" AcceptedAnswerId="34495" CreationDate="2016-03-31T15:08:09.123" Score="1" ViewCount="104" Body="&lt;p&gt;I am looking for a good data structure for storing a set of points &#xA;$P\subset \mathbb{N}^n$ that is able to answer the following query:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Given a point $x=(x_1,\cdots,x_n)$, does there exist a point $p = (p_1,\cdots,p_n)\in P$ such that $p \leq x$, meaning that $p_i\leq x_i$ for all $i\in \{1,\cdots, n\}$?&lt;br&gt;&#xA;  If the answer is yes, then the data structure should return one such point.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Ideally, it should be possible to dynamically add points to $P$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The data structure can 'forget' a point $p \in P$ if there exists another point $p'$ with $p' \leq p$. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The use case that I am thinking about has 'small points'. &#xA;Something like $x = (x_i)$ with $\sum_i x_i \leq 30$. &#xA;But has a somewhat larger $n$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;ps: I have removed the copy on SO.&lt;/p&gt;&#xA;" OwnerUserId="38318" LastEditorUserId="186" LastEditDate="2016-04-23T03:10:01.417" LastActivityDate="2016-04-25T10:48:51.500" Title="Data structure for storing points and finding a predecessor of a point" Tags="&lt;ds.data-structures&gt;&lt;high-dimensional-geometry&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="34209" PostTypeId="1" AcceptedAnswerId="34223" CreationDate="2016-03-31T20:02:53.110" Score="15" ViewCount="625" Body="&lt;p&gt;Let $\mathcal{L}$ be the family of all languages over $\Sigma$ satisfying the &lt;i&gt;pumping property&lt;/i&gt; of regular languages. Namely: for each $L\in\mathcal{L}$, there is an $N\in\mathbb{N}$ s.t. every word $w\in L$, $|w|&amp;gt; N$ can be written in the form&#xA;$ w=xyz$ where:&#xA;1. $|y|&amp;gt;0$,&#xA;2. $|xy|\le N$,&#xA;3. $xy^i z\in L$ for all $i\ge 0$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It is a simple exercise[1] to prove that $\mathcal{L}$ contains the singleton languages $L=\{\sigma\}$, $\sigma\in\Sigma$, and is closed under union, concatenation, and Kleene star. It is likewise well-known that the family of regular languages is the smallest one that contains the singletons and is closed under union, concatenation, and Kleene star. Conclusion: the regular languages satisfy the pumping property.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Question: has anyone seen this proof in the literature?&#xA;[1] Proposed by D. Berend.&lt;/p&gt;&#xA;" OwnerUserId="1746" LastEditorUserId="751" LastEditDate="2016-03-31T20:16:42.343" LastActivityDate="2016-04-01T23:07:06.677" Title="Novel proof of pumping lemma for regular languages" Tags="&lt;reference-request&gt;&lt;fl.formal-languages&gt;&lt;automata-theory&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="34210" PostTypeId="2" ParentId="739" CreationDate="2016-03-31T20:40:29.703" Score="0" Body="&lt;p&gt;You can use Musketeer, see &lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://people.cs.clemson.edu/~isafro/musketeer/index.html&quot; rel=&quot;nofollow&quot;&gt;https://people.cs.clemson.edu/~isafro/musketeer/index.html&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;This is a multiscale graph generator that accepts some input graph and generates another graph that can be arbitrarily similar to the original. The parameters are flexible enough to generate a new structure at different coarse-grained resolutions. See examples in the gallery.&#xA;This package is perfect for creating experimental instances for verification and benchmarking algorithms.&lt;/p&gt;&#xA;" OwnerUserId="38324" LastActivityDate="2016-03-31T20:40:29.703" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="34212" PostTypeId="1" CreationDate="2016-04-01T01:57:33.877" Score="0" ViewCount="119" Body="&lt;p&gt;Assume $M\in\Bbb Z_{\geq0}[x_1,\dots,x_n]^{m\times m}$ be an $m\times m$ matrix in $n$ variables with $x_i$ being non-commutative.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;What is the complexity class and circuit and formula complexity of computing $\mathsf{Tr}(M^d)$ when $d=O(m)$ and $n=O(m^2)$?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can this class be algebraic class $\mathsf{VNP}$?&lt;/p&gt;&#xA;" OwnerDisplayName="user34945" LastEditorDisplayName="user34945" LastEditDate="2016-04-04T05:06:50.903" LastActivityDate="2016-04-04T05:06:50.903" Title="Arithmetic complexity of matrix powering with non-commutative entries" Tags="&lt;cc.complexity-theory&gt;&lt;arithmetic-circuits&gt;" AnswerCount="0" CommentCount="4" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="34214" PostTypeId="2" ParentId="34182" CreationDate="2016-04-01T03:30:53.267" Score="1" Body="&lt;p&gt;I believe it's NP-hard, by a reduction from &lt;a href=&quot;https://www.nada.kth.se/~viggo/wwwcompendium/node95.html&quot; rel=&quot;nofollow&quot;&gt;min-balanced cut&lt;/a&gt;.  Given a graph $G=(V,E)$ and integer $\ell$, min-balanced cut asks whether there is a cut that is balanced (has $|V|/2$ vertices on each side), and cuts at most $\ell$ edges.  Given $G$ and $\ell$, construct the following instance of your problem.  For each vertex $v$, create a set $S_v$ containing the edges incident to $v$.  Take $k=|V|/2$.  Then the (minimal) $k$-good partitions are partitions of the sets into two equal-size groups, corresponding to the balanced cuts of $G$, and your (unweighted) cost for such a solution equals $|E|$ plus the number of edges cut.  Unless I'm mistaken :-).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;EDIT: Similarly you can reduce the following problem to yours: given a graph $G=(V,E)$ and integer $\ell$, color the vertices of $G$ so that each color class has at most $k$ vertices, minimizing the number of edges whose two endpoints have the same color.  (The reduction: make a set $S_v$ for each vertex $v\in V$, containing the pairs $\{v,w\}$ not in $E$.)&lt;/p&gt;&#xA;" OwnerUserId="8237" LastEditorUserId="8237" LastEditDate="2016-04-02T05:53:57.787" LastActivityDate="2016-04-02T05:53:57.787" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="34215" PostTypeId="2" ParentId="34205" CreationDate="2016-04-01T07:51:26.140" Score="-1" Body="&lt;p&gt;Here's a well written piece explaining what the proper definition of a stream monad should be: &lt;a href=&quot;http://patternsinfp.wordpress.com/2010/12/31/stream-monad/&quot; rel=&quot;nofollow&quot;&gt;Proper Definition of the Stream Monad&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The resumption and reactive resumption monads are similar to the stream monad:&lt;a href=&quot;https://www.google.com/url?sa=t&amp;amp;rct=j&amp;amp;q=&amp;amp;esrc=s&amp;amp;source=web&amp;amp;cd=1&amp;amp;cad=rja&amp;amp;uact=8&amp;amp;ved=0ahUKEwjqzejI-ezLAhXBJR4KHV-oDCcQFggcMAA&amp;amp;url=http%3A%2F%2Fwww.softlab.ntua.gr%2Fresearch%2Ftechrep%2FCSD-SW-TR-2-01.pdf&amp;amp;usg=AFQjCNE5GXnUYg8tYNRNsz4-hRGL6FXmbg&amp;amp;sig2=HpsCmHLRfebxEk06BqysNg&amp;amp;bvm=bv.118443451,d.dmo&quot; rel=&quot;nofollow&quot; title=&quot;Resumption Monad Transformers&quot;&gt;Resumption Monad Transformers&lt;/a&gt; &lt;/p&gt;&#xA;" OwnerUserId="38329" LastActivityDate="2016-04-01T07:51:26.140" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="34216" PostTypeId="2" ParentId="34203" CreationDate="2016-04-01T10:17:10.067" Score="10" Body="&lt;p&gt;The intuition behind coherence spaces is that the elements of a coherence space represent observations of some underlying data, and the coherence relation tells you whether two observations could have come from the same piece of data.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Concretely, suppose we have a set of animals&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;Animals = {cat, duck, fish}&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Now, we can have a set of observations:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;Observations = {warm-blooded, swims, water-breathing, furry}&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;Let us say that two observations are &lt;em&gt;compatible&lt;/em&gt; if they could both be made of the same animal. Every observation is compatible with itself, and in addition:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;warm-blooded $\stackrel{{\large\frown}}{{\small\smile}}$ furry&lt;/li&gt;&#xA;&lt;li&gt;warm-blooded $\stackrel{{\large\frown}}{{\small\smile}}$ swims&lt;/li&gt;&#xA;&lt;li&gt;warm-blooded $\stackrel{{\large\frown}}{{\small\smile}}$ furry&lt;/li&gt;&#xA;&lt;li&gt;swims $\stackrel{{\large\frown}}{{\small\smile}}$ water-breathing&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;We know that being warm-blooded is compatible with swimming, because ducks are both warm-blooded and swim. But being warm-blooded and water-breathing are not compatible, since we have no animals which are both warm-blooded and water-breathing.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;At this point, we have defined a coherence space (&lt;code&gt;Observations&lt;/code&gt;, $\stackrel{{\large\frown}}{{\small\smile}}$), where &lt;code&gt;Observations&lt;/code&gt; is the web, and $\stackrel{{\large\frown}}{{\small\smile}}$ is the coherence relation.&lt;/p&gt;&#xA;" OwnerUserId="657" LastEditorUserId="657" LastEditDate="2016-04-01T15:57:21.527" LastActivityDate="2016-04-01T15:57:21.527" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="34219" PostTypeId="1" CreationDate="2016-04-01T19:28:05.010" Score="1" ViewCount="71" Body="&lt;p&gt;In this paper &lt;a href=&quot;https://www.lri.fr/~filliatr/ftp/publis/puf-wml07.pdf&quot; rel=&quot;nofollow&quot;&gt;https://www.lri.fr/~filliatr/ftp/publis/puf-wml07.pdf&lt;/a&gt;, they claim to have a practically fast persistent union-find data structure for most use-cases, but it's still not polylogarithmic in the worst case (the worst case being, I have two variants which I alternately update between); only in a backtracking search.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there any implementations of a persistent union find datastructure which guarantee amortized polylogarithmic time complexity per operation regardless of how it's used?&lt;/p&gt;&#xA;" OwnerUserId="13643" LastActivityDate="2016-04-01T19:28:05.010" Title="Best Asymptotic Complexity for Persistent Union Find" Tags="&lt;ds.data-structures&gt;&lt;time-complexity&gt;&lt;functional-programming&gt;" AnswerCount="0" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="34221" PostTypeId="1" CreationDate="2016-04-01T20:01:48.190" Score="5" ViewCount="873" Body="&lt;p&gt;I was wondering if there are any results on the average case complexity of the simplex algorithm. Let $A \in \mathbb{R}^{m \times n}$ be the matrix in the linear constraint.  I know that Smale did some work in the 80's that says that if we fix $m$, then the average complexity is linear in $n$ when $n$ goes to infinity.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, by duality theory, $m$ and $n$ are symmetric in LP. Also in the 80's, Adler et al. showed that the expected number of pivots is quadratic in $\min \{ m, n\}$. (See ``A Simplex Algorithm Whose Average Number of Steps&#xA;Is Bounded between Two Quadratic Functions&#xA;of the Smaller Dimension '') And they even showed a quadratic lower bound.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I was wondering if there are any recent development on such average-case analysis. &lt;/p&gt;&#xA;" OwnerUserId="36003" LastEditorUserId="32044" LastEditDate="2016-04-03T03:36:18.327" LastActivityDate="2016-04-29T08:42:06.603" Title="The Average-case Complexity of Simplex Algorithm" Tags="&lt;cc.complexity-theory&gt;&lt;linear-programming&gt;&lt;convex-optimization&gt;&lt;average-case-complexity&gt;&lt;simplex&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="34222" PostTypeId="2" ParentId="5154" CreationDate="2016-04-01T20:38:27.163" Score="1" Body="&lt;p&gt;It took a few years (five!), but here is a partial answer to the question:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;http://arxiv.org/abs/1602.00023&quot; rel=&quot;nofollow&quot;&gt;http://arxiv.org/abs/1602.00023&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Optimal Prefix Free Codes With Partial Sorting&#xA;Jérémy Barbay&#xA;(Submitted on 29 Jan 2016)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;We describe an algorithm computing an optimal prefix free code for n unsorted positive weights in time within O(n(1+lgα))⊆O(nlgn), where the alternation α∈[1..n−1] measures the amount of sorting required by the computation. This asymptotical complexity is within a constant factor of the optimal in the algebraic decision tree computational model, in the worst case over all instances of size n and alternation α. Such results refine the state of the art complexity of Θ(nlgn) in the worst case over instances of size n in the same computational model, a landmark in compression and coding since 1952, by the mere combination of van Leeuwen's algorithm to compute optimal prefix free codes from sorted weights (known since 1976), with Deferred Data Structures to partially sort a multiset depending on the queries on it (known since 1988). &lt;/p&gt;&#xA;" OwnerUserId="191" LastActivityDate="2016-04-01T20:38:27.163" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="34223" PostTypeId="2" ParentId="34209" CreationDate="2016-04-01T23:07:06.677" Score="14" Body="&lt;p&gt;Essentially the same argument is made by &lt;a href=&quot;http://dx.doi.org/10.1016/S0019-9958(76)90083-8&quot;&gt;Andries P.J. van der Walt (1976, Lemma 2.3 and Example 2.9)&lt;/a&gt; for the variant of the pumping lemma where $N$ letters are marked and all three of $x$, $y$, $z$ must contain marked letters.  See also &lt;a href=&quot;http://dx.doi.org/10.1016/S0019-9958(78)90365-0&quot;&gt;Autebert, Boasson, and Cousineau (1978)&lt;/a&gt; for more properties of abstract families of languages satisfying this variant of the pumping lemma.&lt;/p&gt;&#xA;" OwnerUserId="609" LastActivityDate="2016-04-01T23:07:06.677" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="34224" PostTypeId="1" AcceptedAnswerId="34230" CreationDate="2016-04-02T00:25:56.993" Score="-3" ViewCount="428" Body="&lt;p&gt;We see &lt;a href=&quot;https://cs.stackexchange.com/a/6889/1709&quot;&gt;here the following statement&lt;/a&gt; about Godelization:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;Gödel numbering in computer science means more or less &amp;quot;source code&amp;quot; and &amp;quot;data in binary format&amp;quot;, so I hope the significance of this should be obvious if I can convince you that this really is so.&lt;/p&gt;&#xA;&lt;p&gt;Before modern computers came into existence, people made single-purpose computing devices (I am telling you a story, not a history), for example someone made a machine for calculating arctanarctan, and someone else made a machine for calculating the Bessel function. Turing's original insight was that we only had to build one machine (the universal one), which took as input the description of any machine and simulated it. But what is a &amp;quot;description of a machine&amp;quot;? An engineer might think of circuit designs and assembly instructions. But that is very complicated and not easily presented to a machine. And perhaps ever more complicated machines require ever more complicated descriptions?&lt;/p&gt;&#xA;&lt;p&gt;We need a way of describing machines that is as simple as possible. Here Gödel's idea was important: he showed some years before Turing that all sorts of things in logic (formulas, proofs) could be encoded with numbers, and then manipulated within arithmetic. We can do a similar trick with Turing machines: encode the program, the current state, and the contents of the tape used so far, with a string of symbols on a tape (for examples 00's and 11's), and then manipulate the string with a Turing machine.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;We see &lt;a href=&quot;https://en.wikipedia.org/wiki/Church_encoding&quot; rel=&quot;nofollow noreferrer&quot;&gt;here the following explanation of Church-encoding&lt;/a&gt;:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;In mathematics, Church encoding is a means of representing data and operators in the lambda calculus. The data and operators form a mathematical structure which is embedded in the lambda calculus. The Church numerals are a representation of the natural numbers using lambda notation. The method is named for Alonzo Church, who first encoded data in the lambda calculus this way.&lt;/p&gt;&#xA;&lt;p&gt;Terms that are usually considered primitive in other notations (such as integers, booleans, pairs, lists, and tagged unions) are mapped to higher-order functions under Church encoding. The Church-Turing thesis asserts that any computable operator (and its operands) can be represented under Church encoding. In the untyped lambda calculus the only primitive data type is the function.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;&lt;a href=&quot;https://stackoverflow.com/a/18403442/15441&quot;&gt;This statement appears&lt;/a&gt; to combine to two in a way that says they're orthogonal (ie that being church-encoded or not is irrelevant to the Gödelization process) - but I'm not sure:&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;So let's say that you have natural numbers (or a Church encoding of natural numbers) in your typed lambda calculus. It's possible to do a Gödel numbering that assigns every term in System F to a unique natural number.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;My question is: &lt;strong&gt;Can we say that Church encoding is a form of Gödelization?&lt;/strong&gt;&lt;/p&gt;&#xA;" OwnerUserId="608" LastEditorUserId="-1" LastEditDate="2020-06-17T09:38:08.363" LastActivityDate="2016-04-02T16:22:39.647" Title="Can we say that Church encoding is a form of Gödelization?" Tags="&lt;functional-programming&gt;&lt;compilers&gt;&lt;encoding&gt;&lt;church-turing-thesis&gt;" AnswerCount="1" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="34226" PostTypeId="1" CreationDate="2016-04-02T10:49:42.457" Score="2" ViewCount="587" Body="&lt;p&gt;I'm a mathematician currently working on the &lt;a href=&quot;https://en.wikipedia.org/wiki/Langton%27s_ant&quot; rel=&quot;nofollow&quot;&gt;Langton's ant&lt;/a&gt; conjecture, just for fun. I have some result but I don't know if they are meaningless.&#xA;So that is why I'm asking.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;1)&#xA;Is there a mathematical proof that the Langton's ant will stay forever on the highway once it's enter in it ?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;2)&#xA;Is there a proof that for only one initial condition the Langton's ant will always build the highway ? &lt;/p&gt;&#xA;" OwnerUserId="38348" LastEditorUserId="186" LastEditDate="2016-04-02T15:50:56.650" LastActivityDate="2019-04-25T07:20:01.500" Title="Langton's ant questions" Tags="&lt;computability&gt;&lt;turing-machines&gt;&lt;cellular-automata&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="34230" PostTypeId="2" ParentId="34224" CreationDate="2016-04-02T16:10:24.340" Score="1" Body="&lt;blockquote&gt;&#xA;  &lt;p&gt;It's possible to do a Gödel numbering that assigns every term in System F to a unique natural number? &lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The answer is yes, pick your favorite way of coding terms in F, simply because they are countable number of expressions. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Just being able to assign numbers to expressions in a system is not useful by itself, the question is can it be done in a manner that supports some operations, e.g. substitution, inside the system. The answer is again yes, the standard one works, operations are computable in Girard's F. &lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;Can we say that Church encoding is a form of Gödelization?&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;Church encoding is an encoding of &lt;em&gt;natural numbers&lt;/em&gt; by lambda terms, it is not an &lt;em&gt;arithmetization of a language&lt;/em&gt; (the correct terminology is arithmetization not Godelization). For arithmetization of a language we need some way of representing natural numbers in a language, but that is independent of the arithmetization of the language itself. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;But really the more important question is why would one want to arithmetize a language? Godel does it to be able to talk about the language itself in arithmetic and perform computation over the language. If you think about it what we really want is to talk about computation of functions over the syntactic expressions of a language, and we arithmetize because arithmetic can only talk about numbers. It is just a way of representing language expressions as numbers so we can talk about computation over them, the same way we encode language, numbers, graphs, etc. as binary strings when we deal with computers. Arithmetization was ingenious at the time of Godel, but now it is kind of trivial (in a sense) for a computer programmer. We can encode a formal language as numbers and perform computation over it, sure.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, if you can arithmetize language in a system, you can arithmetize langauge in any system extending it. The syntactic constructions that one is interested do not change from say PA to Godel's T to Girard's F.&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2016-04-02T16:22:39.647" LastActivityDate="2016-04-02T16:22:39.647" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="34233" PostTypeId="1" CreationDate="2016-04-02T23:20:33.313" Score="1" ViewCount="114" Body="&lt;p&gt;Given a bipartite graph with fixed nodes and incrementally arriving edges, is there any efficient algorithm to compute and update the maximum matching?&lt;/p&gt;&#xA;" OwnerUserId="38124" LastEditorUserId="8237" LastEditDate="2016-04-02T23:21:51.313" LastActivityDate="2016-04-02T23:21:51.313" Title="Algorithm for maximum bipartite matching with arriving edges?" Tags="&lt;matching&gt;&lt;dynamic-algorithms&gt;&lt;bipartite-graphs&gt;" AnswerCount="0" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="34234" PostTypeId="2" ParentId="34221" CreationDate="2016-04-03T08:09:03.417" Score="2" Body="&lt;p&gt;The first thing that comes to mind is &quot;Smoothed Analysis&quot; of Spielman and Teng: arxiv.org/pdf/cs/0111050.pdf. Their main result is Theorem 5.0.1, which bounds the expected (over &quot;typical instances&quot;) runtime of a version of the Simplex algorithm by a polynomial, though the degree of the polynomial is not stated there.&lt;/p&gt;&#xA;" OwnerUserId="1746" LastActivityDate="2016-04-03T08:09:03.417" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="34236" PostTypeId="1" AcceptedAnswerId="34238" CreationDate="2016-04-03T17:09:54.533" Score="13" ViewCount="808" Body="&lt;p&gt;I am looking for:&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Michael O. Rabin, &quot;Degree of difficulty of computing a function, and a partial ordering of recursive sets&quot;, Hebrew University, Jerusalem, 1960&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Summary:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;“We attempt to measure the amount of work inherent in the task of computing a given computable (recursive) function. A notion of degree of difficulty of computing is introduced and studied. The notion is invariant in the sense that it is independent of the idealized computers (Turing Machines) used for computing the functions in question. Applications are made to the classification of solvable decision problems (recursive sets) according to relative difficulty.”&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;I couldn't find a copy online or at our library.&lt;/p&gt;&#xA;" OwnerUserId="186" LastEditorUserId="186" LastEditDate="2016-04-06T14:46:58.707" LastActivityDate="2016-04-06T14:46:58.707" Title="Rabin's &quot;degree of difficulty of computing a function, and a partial ordering of recursive sets&quot;" Tags="&lt;cc.complexity-theory&gt;&lt;reference-request&gt;&lt;ho.history-overview&gt;" AnswerCount="1" CommentCount="5" FavoriteCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="34238" PostTypeId="2" ParentId="34236" CreationDate="2016-04-03T22:18:13.163" Score="14" Body="&lt;p&gt;There are two loanable copies at The National Library of Israel. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is a scanned &lt;a href=&quot;https://www.cs.toronto.edu/~sacook/homepage/rabin_thesis.pdf&quot;&gt;copy&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="40" LastEditorUserId="186" LastEditDate="2016-04-06T14:43:57.407" LastActivityDate="2016-04-06T14:43:57.407" CommentCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="34240" PostTypeId="2" ParentId="34139" CreationDate="2016-04-04T06:30:23.947" Score="2" Body="&lt;p&gt;That problem is &lt;a href=&quot;https://en.wikipedia.org/wiki/Strong_NP-completeness&quot; rel=&quot;nofollow&quot;&gt;strongly&lt;/a&gt; NP-hard by reduction from 3-SAT:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Each a&lt;sub&gt;i&lt;/sub&gt; is 0, each b&lt;sub&gt;i&lt;/sub&gt; is 1, each &lt;a href=&quot;https://en.wikipedia.org/wiki/Literal_(mathematical_logic)&quot; rel=&quot;nofollow&quot;&gt;negative&lt;/a&gt; literal is represented by its propositional variable,&#xA;&lt;br&gt;&#xA;each positive literal is represented by 1 minus that, each clause is represented by the product&#xA;&lt;br&gt;&#xA;of the representations of its literals, and f is the sum of the representations of the clauses.&#xA;&lt;br&gt;&lt;br&gt;&lt;br&gt;&#xA;I don't have any evidence regarding possible ∃ℝ-completeness or membership in NP.&lt;/p&gt;&#xA;" OwnerDisplayName="user6973" LastActivityDate="2016-04-04T06:30:23.947" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="34241" PostTypeId="1" AcceptedAnswerId="34242" CreationDate="2016-04-04T06:54:28.507" Score="6" ViewCount="661" Body="&lt;p&gt;A result of Johnson and Lindenstrauss shows that a set of $n$ points in high&#xA;dimensional Euclidean space can be mapped into an $O(\frac{\log n}{\epsilon^2})$- dimensional Euclidean space such that the distance between any two points changes by only a factor of $(1\pm \epsilon).$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I am looking for reference for a similar result for Hamming space- &lt;em&gt;i.e.&lt;/em&gt;  a set of $n$ binary vectors  can be mapped into a very low dimensional  space such that the hamming distance between any pair of vectors is approximately preserved. &lt;/p&gt;&#xA;" OwnerUserId="22594" LastEditorUserId="22594" LastEditDate="2016-04-04T08:09:38.403" LastActivityDate="2016-04-04T08:38:10.163" Title="Johnson and Lindenstrauss lemma for hamming space" Tags="&lt;randomized-algorithms&gt;&lt;high-dimensional-geometry&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="34242" PostTypeId="2" ParentId="34241" CreationDate="2016-04-04T08:38:10.163" Score="12" Body="&lt;p&gt;Consider the $n$ vectors $e_1,\ldots,e_n$ of weight $1$, and the zero vector $e_0$. The Hamming distance between $e_0$ to any $e_i$ is $1$. Let $\varphi$ be a map into a Hamming cube of dimension $m$, and suppose that it preserves distances up to a factor of $C$. In particular, the $n$ points $\varphi(e_1),\ldots,\varphi(e_n)$ are within distance $C$ of $\varphi(e_0)$. On the other hand, the number of points at distance at most $C$ from $\varphi(e_0)$ is $O(m^C)$. We conclude that $m = \Omega(n^{1/C})$ is polynomial in $n$ rather than logarithmic in $n$.&lt;/p&gt;&#xA;" OwnerUserId="40" LastActivityDate="2016-04-04T08:38:10.163" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="34244" PostTypeId="1" CreationDate="2016-04-04T15:29:27.127" Score="3" ViewCount="546" Body="&lt;p&gt;I am searching for an algorithm to apply to a specific graph partition problem that I am interested in. It feels like a topic that people from CS may have worked on but it is also different from standard min, max cut problems. I have searched for a suitable algorithm for several days but with no success. Maybe someone can give a suggestion or at least come up with a standard name for such problem?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The problem is as follows:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Input:&lt;/strong&gt; Undirected graph $V$ with vertex weights $u_i$ and edge weights $w_{ij}$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Output:&lt;/strong&gt; Graph partition in two components $S_1$ and $S_2$ to minimize the following:&lt;br&gt;&#xA;$$\max((\sum_{i\in S_1}u_i-\sum_{i,j\in S_1}w_{ij}), (\sum_{i\in V-S_1}u_i-\sum_{i,j\in V-S_1}w_{ij})) $$&lt;br&gt;&#xA;Basically, if we define $weight$ of a component as the sum of weights of its vertices minus the sum of weights of its edges, then I would like to find a pair of components such that a maximal weight out of the two components is minimal over all possible pairs. The edges between two components are removed.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Here is an example of possible graph partition (there may be several). The numbers mean the weights:&lt;br&gt;&#xA;&lt;a href=&quot;https://i.stack.imgur.com/EkDEN.png&quot; rel=&quot;noreferrer&quot;&gt;&lt;img src=&quot;https://i.stack.imgur.com/EkDEN.png&quot; alt=&quot;Possible partition of a weighted graph&quot;&gt;&lt;/a&gt;&#xA;Thanks in advance for suggestions!&lt;/p&gt;&#xA;" OwnerUserId="38379" LastActivityDate="2016-04-04T15:29:27.127" Title="Graph partition with weighted vertices and edges" Tags="&lt;cc.complexity-theory&gt;&lt;graph-theory&gt;&lt;partition-problem&gt;" AnswerCount="0" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="34245" PostTypeId="1" CreationDate="2016-04-04T15:34:20.413" Score="15" ViewCount="247" Body="&lt;p&gt;&lt;strong&gt;The question:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Suppose I have a specification of a problem consisting of axioms and a goal (i.e. the associated proof problem is whether the goal is satisfiable given all the axioms). Let us also assume that the problem does not contain any inconsistencies/contradictions among the axioms. &#xA;Is there a way to determine in advance (i.e. without first constructing a full proof) that proving the problem will require &quot;higher-order reasoning&quot;?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;By &quot;higher-order reasoning&quot;, I mean applying proof steps which require higher-order logic to be written down. A typical example for &quot;higher-order reasoning&quot; would be induction: Writing down an induction scheme in principle requires using higher-order logic.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Example:&lt;/strong&gt; &lt;/p&gt;&#xA;&#xA;&lt;p&gt;One can specify the proof problem &quot;Is addition on two natural numbers commutative?&quot; using first-order logic (i.e. define natural number via constructors zero/succ along with standard axioms, together with axioms that recursively define a &quot;plus&quot; function). Proving this problem requires induction on the structure of either the first or the second argument of &quot;plus&quot; (depending on the exact definition of &quot;plus&quot;). Could I have known this before attempting to prove it, e.g. by analyzing the nature of the input problem...? (Of course, this is just a simple example for illustration purposes - in reality, this would be interesting for more difficult proof problems than commutativity of plus.)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Some more context:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In my research, I frequently try to apply automated first-order theorem provers like Vampire, eprover etc. to solve proof problems (or parts of proof problems), some of which may require higher-order reasoning. Often, provers require quite some time to come up with a proof (provided there is a proof which only requires first-order reasoning techniques). Of course, trying to apply a first-order theorem prover to a problem that requires higher-order reasoning typically results in a timeout. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Therefore, I have been wondering whether there are any methods/techniques which can tell me in advance whether a proof problem will require higher-order reasoning techniques (meaning &quot;don't waste time trying to hand it to a first-order theorem prover&quot;) or not, at least maybe for particular input problems.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I looked in the literature for an answer to my question and asked some fellow researchers from the area of theorem proving about that - but so far, I didn't receive any good answers. My expectation would be that there is some research on that topic from people who try to combine interactive theorem proving and automated theorem proving (Coq community? Isabelle community (Sledgehammer)?) - but so far, I could not find anything.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I guess that in general, the problem I outlined here is undecidable (is it?). But maybe there are good answers for refined versions of the problem...?&lt;/p&gt;&#xA;" OwnerUserId="38380" LastActivityDate="2018-07-18T18:39:06.167" Title="How to determine whether a proof requires &quot;higher-order reasoning techniques&quot;?" Tags="&lt;automated-theorem-proving&gt;&lt;program-verification&gt;" AnswerCount="1" CommentCount="4" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="34248" PostTypeId="1" CreationDate="2016-03-28T19:24:34.880" Score="7" ViewCount="153" Body="&lt;p&gt;In the 1996 paper &quot;&lt;a href=&quot;http://dx.doi.org/10.1109/SFCS.1996.548467&quot; rel=&quot;nofollow&quot;&gt;Short Paths in Expander Graphs&lt;/a&gt;&quot; by Kleinberg and Rubinfeld, the authors show a randomized polynomial-time algorithm for finding an embedding of a graph $H$ into a graph $G$, if $G$ is a regular expander on $n$ nodes and $H$ is a graph on at most $cn / \log^k n$ nodes and edges, where $c$ and $k$ are constants.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have searched for a while for an extension of this result to hypergraphs, with no luck. I was wondering if anyone was aware of a similar result for hypergraphs?&lt;/p&gt;&#xA;" OwnerUserId="17939" OwnerDisplayName="user17939" LastEditorUserId="4193" LastEditDate="2016-04-11T23:36:22.600" LastActivityDate="2016-04-11T23:36:22.600" Title="Kleinberg Rubinfeld Short Paths in Expander Graphs for Hypergraphs" Tags="&lt;graph-theory&gt;&lt;reference-request&gt;" AnswerCount="0" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="34250" PostTypeId="1" AcceptedAnswerId="34253" CreationDate="2016-04-05T07:31:59.467" Score="-2" ViewCount="90" Body="&lt;p&gt;I have recently come across a &lt;a href=&quot;https://github.com/hushell/drnn/tree/master/PGM/model/lr&quot; rel=&quot;nofollow noreferrer&quot;&gt;Matlab implementation&lt;/a&gt; that appears to be using only the first term (i.e. in itself a product) of the typical logistic regression cost function. &#xA;&lt;a href=&quot;https://i.stack.imgur.com/cFdQ8.png&quot; rel=&quot;nofollow noreferrer&quot;&gt;&lt;img src=&quot;https://i.stack.imgur.com/cFdQ8.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;f = - full(mean(sum(Y.*log(Yr))));&#xA;f = f + 0.5*lambda*sum(W(:).^2);&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;When I create a two class simple dataset and adjust the cost function to its traditional form I still get separation between classes albeit the vector of parameters are slightly different (for a fixed lambda regularizer in both cases).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://i.stack.imgur.com/8Oy2r.png&quot; rel=&quot;nofollow noreferrer&quot;&gt;&lt;img src=&quot;https://i.stack.imgur.com/8Oy2r.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;f = - full(mean(sum(Y.*log(Yr) + (1-Y).*log(1-Yr))));&#xA;f = f + 0.5*lambda*sum(W(:).^2);&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;For better visualization see the following plot&#xA;&lt;a href=&quot;https://i.stack.imgur.com/vRw9P.png&quot; rel=&quot;nofollow noreferrer&quot;&gt;&lt;img src=&quot;https://i.stack.imgur.com/vRw9P.png&quot; alt=&quot;Orange due to simpler, blue due to full cost&quot;&gt;&lt;/a&gt; &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Once the cost function is set, the parameters are learned using limited-memory BFGS. Gradient functions remain the same (i.e. derived from the correct classical cost function).&#xA;&lt;a href=&quot;https://i.stack.imgur.com/tigsO.png&quot; rel=&quot;nofollow noreferrer&quot;&gt;&lt;img src=&quot;https://i.stack.imgur.com/tigsO.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Naturally, my question is: Has this choice been deliberate ? Is the first objective function sufficient ? Or is it just an obvious inconsistency.&lt;/p&gt;&#xA;" OwnerUserId="13507" LastEditorUserId="13507" LastEditDate="2016-04-05T10:21:07.820" LastActivityDate="2016-04-05T14:26:26.730" Title="Can you use only the first summation term of cost function for typical logistic regression?" Tags="&lt;machine-learning&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="34251" PostTypeId="1" CreationDate="2016-04-05T08:08:43.190" Score="2" ViewCount="433" Body="&lt;p&gt;This is related to my academic project&lt;/p&gt;&#xA;&#xA;&lt;p&gt;An extended finite state machine is a tuple $SM=(I,S,T)$ (simplified):&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$I$ is the set of identifiers and it's divided into two sets Inputs and outputs, for simplification we will just consider boolean variables. Let $\sigma$ be the evaluation function $\sigma :I \to \{0,1\}$ which associate to very identifier its value, And let $\Sigma$ be the set of all evaluations.&lt;/li&gt;&#xA;&lt;li&gt;$S$ is the set of states &lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;$T\subseteq S\times S \times G\times A$ the set of transitions, a transition $t=(s_1,s_2,g,a)$ means :&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;$s_1$ the source state&lt;/li&gt;&#xA;&lt;li&gt;$s_2$ the target state&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;$g$ the guard,which is usual expressed in the guard language and here we can just consider it as its semantic $g:\Sigma \to \{0,1\}$ where $g(\sigma)$ is an element of $\{0,1\}$.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;$a$ is usually expressed in the action language, and we will here identify it with its semantic $a:\Sigma \to \Sigma $ where $f(\sigma)$ is another evaluation function.&lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;p&gt;Now a configuration of the state machine $SM$ is a tuple $(s_i,\sigma)$ where $s_i$ is the current state and the $\sigma$ the current evaluation function. A run of the machine is :&#xA;$$(\sigma_0,s_0)\to(\sigma_1,s_{1})\to (\sigma_2,s_2)\to \cdots (\sigma_k,s_k)\to(\sigma_{k+1},s_{k+1})\to \cdots $$&#xA;where for every $k$ we have $(s_k,s_{k+1},g,a)$ is a transition and $g(\sigma_k)=1$ (meaning true) and $a(\sigma_k)=\sigma_{k+1}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Example of action : we denote an action by $Rep(a)=[e_1,\cdots,e_n] $ where $e_i$ is a boolean expression over the variables in $I=[o_1,\cdots,o_n,i_1,\cdots ,i_k]$ where $i_j$ are the inputs of the system and are determined by the environment. And from this representation of the action we can have $a(\sigma)(x)=e_j(\sigma) $ if $x=o_j$ and $a(\sigma)(x)=i_j$ if $x=i_j$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The guards  are represented by expressions over the set of the variables $I$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;What I am  able to do :&lt;/strong&gt; I was able to generate some boolean expressions that are valid or satisfiable using either well known examples, or using the threshold density of boolean formulas. Hence I am able to generate the guards and the actions (which are random, and have some properties like satisfiable or valid)&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Question :&lt;/strong&gt; how could I generate a random Extended State machine with the property that: Every state is reachable and every transition can be executed&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;you can use that fact that I am able to generate a formula that evaluates to $1$ or $0$ and I can generate a satisfiable or unsatisfiable formula&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Any other ideas to do  tests  with Extended State Machines?&#xA;Thanks&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Edit 29/04/2016&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As my question is either not very clear or difficult; I have an alternative question:&lt;/p&gt;&#xA;&#xA;&lt;blockquote&gt;&#xA;  &lt;p&gt;&lt;strong&gt;Question 2:&lt;/strong&gt; what are some well known random Extended State Machines for which every state is reachable.&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&#xA;&lt;p&gt;The purpose of my project is to test the efficiency of an algorithm &lt;/p&gt;&#xA;" OwnerUserId="32535" LastEditorUserId="32535" LastEditDate="2016-04-29T07:26:18.260" LastActivityDate="2016-05-01T14:42:25.610" Title="How to generate Extended Finite State Machines Randomly with some properties?" Tags="&lt;automata-theory&gt;&lt;randomness&gt;" AnswerCount="1" CommentCount="3" FavoriteCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="34252" PostTypeId="1" CreationDate="2016-04-05T08:38:08.793" Score="4" ViewCount="257" Body="&lt;p&gt;Given an undirected graph $G$, an &lt;strong&gt;&lt;em&gt;orientation&lt;/em&gt;&lt;/strong&gt; of $G$ is a directed graph obtained by assigning every edge a direction, a &lt;strong&gt;&lt;em&gt;superorientation&lt;/em&gt;&lt;/strong&gt; of $G$ is a directed graph obtained by orienting every edge in one direction or both ways.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Aim&lt;/strong&gt;: &#xA;Enumerate all superorientations (isomorphic superorientations count as one) of an undirected graph.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;What for:&lt;/strong&gt; &#xA;Compute all &lt;a href=&quot;http://users.encs.concordia.ca/~chvatal/kernel.html&quot; rel=&quot;nofollow&quot;&gt;kernels&lt;/a&gt; (absorbing independent vertex sets) in as many digraphs as possible by using &lt;a href=&quot;http://lemon.cs.elte.hu/egres/open/Polyhedral_description_of_kernels&quot; rel=&quot;nofollow&quot;&gt;polyhedral descriptions of kernels&lt;/a&gt;, which are essentially linear programs (hence the problem can be solved efficiently).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Current solution&lt;/strong&gt; (for enumerating all superorientations)&lt;strong&gt;:&lt;/strong&gt;&#xA;Given an undirected graph $G=(V,E)$,&#xA;for each edge $uv\in E$ generate 3 different arc sets $\{(u,v)\},\{(v,u)\} $ and $\{(u,v),(v,u)\}$ first.&#xA;Then enumerate all combinations of arc sets, which yields precisely $3^{|E|}$ digraphs in the result.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Code in &lt;em&gt;Mathematica&lt;/em&gt;:&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;SuperOrientation[g_Graph]:= Module[{el,tal,al},&#xA;  el=EdgeList[g];&#xA;  tal=DirectedEdge@@@el;&#xA;  al=Flatten/@Tuples[Subsets[#,{1,2}]&amp;amp;/@Thread[List[tal,Reverse/@tal]]];&#xA;  Graph/@al];&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Problem:&lt;/strong&gt;&#xA;Current solution gives too many isomorphic digraphs, especially for highly symmetric graphs.&#xA;I can delete isomorphic superorientations &quot;efficiently&quot; in &lt;em&gt;Mathematica&lt;/em&gt; (the isomorphism test in &lt;em&gt;Mathematica&lt;/em&gt; is implemented by &lt;a href=&quot;http://www3.cs.stonybrook.edu/~algorith/implement/nauty/implement.shtml&quot; rel=&quot;nofollow&quot;&gt;&lt;em&gt;NAUTY&lt;/em&gt;&lt;/a&gt;, which claims to be the fastest graph isomorphism test program in practice).&#xA;But testing graph isomorphism is still quite time consuming due to the fact that graph isomorphism problem is &lt;em&gt;NP&lt;/em&gt;-intermediate.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Question:&lt;/strong&gt;&#xA;Is there a way to generate as less isomorphic graphs as possible in the enumeration before the isomorphism test?&#xA;It is unlikely to have a general solution.&#xA;But how about some special classes of graphs, say highly symmetric graphs.&#xA;Complete graphs, or subgraphs of complete graphs with only a few edges missing might be good starts, as my isomorphism test for superorientations of $K_7$ never ends. &lt;/p&gt;&#xA;" OwnerUserId="27524" LastEditorUserId="27524" LastEditDate="2016-04-07T13:55:00.887" LastActivityDate="2016-04-09T14:26:15.003" Title="Enumerating all (super)orientations of an undirected graph" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;" AnswerCount="1" CommentCount="9" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="34253" PostTypeId="2" ParentId="34250" CreationDate="2016-04-05T14:26:26.730" Score="-1" Body="&lt;p&gt;Actually I have realized where the misunderstanding came from. In fact the implementation aforementioned specifies a cost for the general case, namely the multinational logistic regression. Therefore the implementation is deliberate and correct.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See the screenshot below.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;&lt;a href=&quot;https://i.stack.imgur.com/WJBqB.png&quot; rel=&quot;nofollow noreferrer&quot;&gt;&lt;img src=&quot;https://i.stack.imgur.com/WJBqB.png&quot; alt=&quot;enter image description here&quot;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;" OwnerUserId="13507" LastActivityDate="2016-04-05T14:26:26.730" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="34255" PostTypeId="1" AcceptedAnswerId="34257" CreationDate="2016-04-05T16:52:38.003" Score="4" ViewCount="363" Body="&lt;p&gt;Are there some popular journals in the field of theoretical CS that serve the kind of purpose that a journal like &quot;Physics Today&quot; does for the Physics community ? &lt;/p&gt;&#xA;" OwnerUserId="38394" LastActivityDate="2016-04-05T20:52:17.260" Title="Popular Journals for Theoretical CS" Tags="&lt;soft-question&gt;" AnswerCount="1" CommentCount="1" FavoriteCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="34256" PostTypeId="2" ParentId="34201" CreationDate="2016-04-05T18:34:28.260" Score="2" Body="&lt;p&gt;As Huck Bennett pointed out, $1^n$ is the &quot;security parameter&quot;, which is a cryptographer's way of expressing that the input has length n.  They express the input this way to make it easier to prove theorems about time complexity, resource requirements, etc, that are all supposed to be expressed in terms of the size of the input, instead of its value.&lt;/p&gt;&#xA;" OwnerUserId="22775" LastActivityDate="2016-04-05T18:34:28.260" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="34257" PostTypeId="2" ParentId="34255" CreationDate="2016-04-05T20:52:17.260" Score="4" Body="&lt;p&gt;From the information I could find online, I assume that the purpose of &quot;Physics Today&quot; is to summarize the incredibly vast field of physics and promote results that are considered important enough to be known from researchers with a different specialization from the subject matter. The focus is also on newly published results, rather than re-examining classical ones or establishing a &quot;must-know&quot; basis.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;With this assumption, I believe the answer is no. The field has embraced Web technologies to a degree where results are usually known months before their official publishing in conferences and years before the journal version is out, with preprints being available typically via &lt;a href=&quot;http://arxiv.org/&quot; rel=&quot;nofollow noreferrer&quot;&gt;arxiv&lt;/a&gt; and rigorous discussions being held in popular blogs (for example &lt;a href=&quot;https://rjlipton.wordpress.com/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Lipton&amp;amp;Regan&lt;/a&gt;, &lt;a href=&quot;http://blog.computationalcomplexity.org/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Fortnow&amp;amp;Gasarch&lt;/a&gt; , &lt;a href=&quot;http://www.scottaaronson.com/blog/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Aaronson&lt;/a&gt; ), &lt;a href=&quot;https://sites.google.com/site/plustcs/rss-feeds&quot; rel=&quot;nofollow noreferrer&quot;&gt;TCS+&lt;/a&gt; and questions appearing on this site as well.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Perhaps the one that comes the closest is &lt;a href=&quot;http://jacm.acm.org/&quot; rel=&quot;nofollow noreferrer&quot;&gt;Journal of the ACM (JACM)&lt;/a&gt;.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;See also this &lt;a href=&quot;https://cstheory.stackexchange.com/questions/27972/some-good-theoretical-computer-science-journals&quot;&gt;question&lt;/a&gt;.&lt;/p&gt;&#xA;" OwnerUserId="879" LastEditorUserId="-1" LastEditDate="2017-04-13T12:32:28.077" LastActivityDate="2016-04-05T20:52:17.260" CommentCount="4" ContentLicense="CC BY-SA 3.0" />
  <row Id="34259" PostTypeId="1" AcceptedAnswerId="34263" CreationDate="2016-04-06T06:04:44.977" Score="3" ViewCount="201" Body="&lt;p&gt;Consider the equivalence relation $\sim$ on boolean matrices $A,B\in\{0,1\}^{m\times n}$ which is defined as follows:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$A\sim B$ :iff there are permutation matrices $P\in\{0,1\}^{n\times n}, Q\in\{0,1\}^{m\times m}$, so that $B=QAP$ &lt;/p&gt;&#xA;&#xA;&lt;p&gt;In other words two matrices are equivalent, if they are equal up to permutation of rows and columns. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;A &lt;strong&gt;&lt;em&gt;canonisation function for $\sim$&lt;/em&gt;&lt;/strong&gt; is any function $N$ on the set of all boolean matrices with $N(A)\in \{0,1\}^{m\times n}$ for all $m,n\geq 1$ and $A\in \{0,1\}^{m\times n}$ with the following two properties:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;$N(A)\sim A$ for every $A$&lt;/li&gt;&#xA;&lt;li&gt;$A\sim B \Leftrightarrow N(A)=N(B)$ for all $A,B\in\{0,1\}^{m\times n}$&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;Now i want to find a canonisation function for $\sim$ that is most efficiently computable.&#xA;One possible canonisation function is the function $\mathrm{MaxLex}$ which maps every matrix $A$ to the lexicographically largest $B$ that is equivalent to $A$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For this i first define a linear order on bitvectors as follows:&#xA;For $b,c\in\{0,1\}^k$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$b&amp;lt;_{llex} c$ iff: the number of ones in $c$ is larger than in $b$ or ($b$ and $c$ have the same number of ones and $b(i)&amp;gt;c(i)$ for the first index $i$ with $b(i)\neq c(i)$)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then a lexicographic order $&amp;lt;_{lex}$ on matrices of equal dimension is defined as follows:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;$A&amp;lt;_{lex}B$ iff $w_A&amp;lt;_{llex}w_B$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;where&#xA;$w_X=X(1,-)X(2,-)\ldots X(m,-)\in\{0,1\}^{mn}$ denotes the bit vector that results from the concatenation of the rows $X(i,-)$ of $X$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Then $\mathrm{MaxLex}(A):=\max_{&amp;lt;_{lex}} \{ B : A\sim B\}$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I have found a simple recursive algorithm that computes $\mathrm{MaxLex}$, which has however a worst case runtime of $\mathcal{O}(m!)$.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Now my questions are:&lt;/p&gt;&#xA;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Is there a more efficient algorithm that computes $\mathrm{MaxLex}$ than my $\mathcal{O}(m!)$ algorithm?&lt;/li&gt;&#xA;&lt;li&gt;Is there a polynomial time algorithm that computes  $\mathrm{MaxLex}$&lt;/li&gt;&#xA;&lt;li&gt;Is there a canonisation function for $\sim$ that is computable in polynomial time?&lt;/li&gt;&#xA;&lt;li&gt;Is anything known about the computational complexity of this problem?&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&#xA;&lt;p&gt;I am thankful for any tips, pointers or comments. I have already googled this problem but couldn't find anything. The only thing i found which resembles this is the decision problem of whether a boolean matrix is equivalent to a triangle matrix, which according to &lt;a href=&quot;https://mathoverflow.net/questions/191963/transforming-a-binary-matrix-into-triangular-form-using-permutation-matrices&quot;&gt;this posting&lt;/a&gt; is in NP, but not known to be NP-hard nor in P.&lt;/p&gt;&#xA;" OwnerUserId="10812" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2016-04-06T20:22:03.213" Title="Canonisation of boolean matrices under row and column permutations" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;matrices&gt;&lt;boolean-matrix&gt;" AnswerCount="3" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="34260" PostTypeId="2" ParentId="34259" CreationDate="2016-04-06T06:24:32.903" Score="1" Body="&lt;p&gt;This kind of problem has been studied, e.g. in the exploitation of symmetries in model-checking and in satisfaction constraint problems.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;The short answer is that it is $NP$-hard.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I suggest this draft by Junttila as a starting point: &lt;a href=&quot;https://users.ics.aalto.fi/tjunttil/publications/orbit.ps&quot; rel=&quot;nofollow&quot;&gt;A note on the computational complexity of a string orbit problem&lt;/a&gt;.&#xA;It addresses the complexity question (in the subcase of vectors), and references important related work.&lt;/p&gt;&#xA;" OwnerUserId="32683" LastActivityDate="2016-04-06T06:24:32.903" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="34261" PostTypeId="2" ParentId="34259" CreationDate="2016-04-06T06:26:10.640" Score="0" Body="&lt;p&gt;$O(p!)$ where $p$ is the largest prime less than or equal to $n$. &lt;a href=&quot;https://oeis.org/A186202&quot; rel=&quot;nofollow&quot;&gt;https://oeis.org/A186202&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;MAXLEX is equivalent to MAX-CLIQUE if you read the entries starting at the upper left and read them in an increasing frontier (and put 1's down the main diagonal).&lt;/p&gt;&#xA;" OwnerUserId="2021" LastEditorUserId="2021" LastEditDate="2016-04-06T06:36:45.613" LastActivityDate="2016-04-06T06:36:45.613" CommentCount="2" ContentLicense="CC BY-SA 3.0" />
  <row Id="34263" PostTypeId="2" ParentId="34259" CreationDate="2016-04-06T20:22:03.213" Score="5" Body="&lt;p&gt;This problem is precisely the canonization problem for isomorphism of bipartite undirected graphs. While the lexicographically maximum form may be harder, &lt;em&gt;any&lt;/em&gt; canonical form will be GI-hard (and so, in particular, it doesn't matter whether the $P$ and $Q$ are restricted to satisfy $P=Q^{-1}$ or not, as asked in a comment above).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In particular, there is a canonization procedure that takes only $2^{\tilde{O}(\sqrt{n})}$ time (much better than $n! \sim 2^{\Theta(n \log n)}$), by Babai-Luks 1983, though in practice I'd recommend just using nauty.&lt;/p&gt;&#xA;" OwnerUserId="129" LastActivityDate="2016-04-06T20:22:03.213" CommentCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="34267" PostTypeId="1" AcceptedAnswerId="34269" CreationDate="2016-04-07T09:45:26.750" Score="12" ViewCount="226" Body="&lt;p&gt;I'm looking for a survey paper of the important concepts in the field of Quantum Automata. I've found &lt;a href=&quot;https://www.researchgate.net/publication/221351451_Quantum_Automata_Theory_-_A_Review&quot;&gt;Quantum Automata Theory -- A Review&lt;/a&gt;&#xA; by Hirvensalo, but it sounds too succinct to grasp the topic.&#xA;Is there a quite comprehensive survey on the topic of Quantum Automata?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Also, could you point me to the essential literature about the topic?&lt;/p&gt;&#xA;" OwnerUserId="18101" LastEditorUserId="38202" LastEditDate="2016-04-07T14:00:23.707" LastActivityDate="2016-04-29T09:14:03.913" Title="Is there a survey of the field of quantum automata?" Tags="&lt;reference-request&gt;&lt;quantum-computing&gt;&lt;automata-theory&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="5" ContentLicense="CC BY-SA 3.0" />
  <row Id="34268" PostTypeId="2" ParentId="34252" CreationDate="2016-04-07T15:15:12.587" Score="1" Body="&lt;p&gt;For complete graphs:&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Order the possible-directed-edges as [[1,0],[2,0],...,[|V|-1,0],[0,1],[2,1],...,[|V|-1,1],[0,2],[1,2],...,[|V|-1,2],...,[0,|V|-1],[1,|V|-1]],[2,|V|-1],...,[|V|-2,|V|-1]], and imagine the &lt;a href=&quot;https://en.wikipedia.org/wiki/Binary_tree#Types_of_binary_trees&quot; rel=&quot;nofollow&quot;&gt;perfect&lt;/a&gt; binary &lt;a href=&quot;https://en.wikipedia.org/wiki/Binary_tree#Types_of_binary_trees&quot; rel=&quot;nofollow&quot;&gt;rooted&lt;/a&gt; tree whose levels correspond to initial segments of the possible-edges under that ordering,&#xA;&lt;br&gt;&#xA;and whose nodes correspond to which of those possible edges are/aren't present.&#xA;&lt;br&gt;&#xA;Do roughly a &lt;a href=&quot;https://en.wikipedia.org/wiki/Depth-first_search&quot; rel=&quot;nofollow&quot;&gt;depth-first search&lt;/a&gt; on that tree &lt;em&gt;without actually constructing the tree&lt;/em&gt;,&#xA;&lt;br&gt;&#xA;where you do ignore tree-edges that would make neither [u,v] nor [v,u] be present&#xA;&lt;br&gt;&#xA;and you can ignore tree-edges that would necessarily make [number_of_superorientation_edges_to_(i+1),number_of_superorientation_edges_from_(i+1)] &lt;a href=&quot;https://en.wikipedia.org/wiki/Lexicographical_order&quot; rel=&quot;nofollow&quot;&gt;lexicographically less than&lt;/a&gt; [number_of_superorientation_edges_to_(i),number_of_superorientation_edges_from_(i)].&#xA;&lt;br&gt;&#xA;Output the &lt;a href=&quot;https://en.wikipedia.org/wiki/Tree_(data_structure)#Terminology&quot; rel=&quot;nofollow&quot;&gt;leaves&lt;/a&gt; that search reaches. ​ In Python:&lt;/p&gt;&#xA;&#xA;&lt;pre&gt;&lt;code&gt;n  =  number of vertices&#xA;possibilities = tuple([(i,j) for j in range(n) for i in range(n) if j!=i])&#xA;&#xA;def might_be_valid_and_canonical_(choices):&#xA; for v in range(n):&#xA;  for u in range(v):&#xA;   i = possibilities.index((v,u))&#xA;   if (i &amp;lt; len(choices)) and not choices[i]:&#xA;    j = possibilities.index((u,v))&#xA;    if (j &amp;lt; len(choices)) and not choices[j]:&#xA;     return False&#xA; max_out_of,max_into,min_out_of,min_into = [0]*n,[0]*n,[0]*n,[0]*n&#xA; for i in range(len(choices)):&#xA;  if choices[i]:&#xA;   u,v = possibilites[i]&#xA;   max_out_of[u] += 1&#xA;   max_into[v] += 1&#xA;   min_out_of[u] += 1&#xA;   min_into[v] += 1&#xA; for (u,v) in possibilities[len(choices):]&#xA;   max_out_of[u] += 1&#xA;   max_into[v] += 1&#xA; for i in range(n-1):&#xA;  if (max_into[i+1],max_out_of[i+1]) &amp;lt; (min_into[i],min_out_of[i]):&#xA;   return False&#xA; return True&#xA;&#xA;numedges = n*(n-1)&#xA;&#xA;def superorientations():&#xA; if n&amp;lt;2:&#xA;  raise NotImplemented&#xA; choices,try_child = tuple(),0&#xA; while True:&#xA;  LofC = len(choices)&#xA;  if LofC == numedges:&#xA;   yield [possibilities[i] for i in range(numedges) if choices[i]]&#xA;   try_child = int(choices[LofC-1])+1&#xA;   choices = choices[:LofC-1]&#xA;   continue&#xA;  if try_child == 0:&#xA;   if might_be_valid_and_canonical_(choices+(False,)):&#xA;    choices += (False,)&#xA;    continue&#xA;   try_child = 1&#xA;  if try_child == 1:&#xA;   if might_be_valid_and_canonical_(choices+(True,)):&#xA;    choices += (True,)&#xA;    try_child = 0&#xA;    continue&#xA;   try_child = 2&#xA;  if try_child == 2:&#xA;   LofC = len(choices)&#xA;   if LofC == 0:&#xA;    return&#xA;   try_child = int(choices[LofC-1])+1&#xA;   choices = choices[:LofC-1]&#xA;&lt;/code&gt;&lt;/pre&gt;&#xA;&#xA;&lt;p&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&#xA;For nearly-complete graphs, you can do that to the subgraph consisting of the&#xA;&lt;br&gt;&#xA;vertices with degree |V|-1, and output the extensions of those to the whole graph.&lt;/p&gt;&#xA;" OwnerDisplayName="user6973" LastEditorDisplayName="user6973" LastEditDate="2016-04-09T14:26:15.003" LastActivityDate="2016-04-09T14:26:15.003" CommentCount="6" ContentLicense="CC BY-SA 3.0" />
  <row Id="34269" PostTypeId="2" ParentId="34267" CreationDate="2016-04-07T18:16:39.547" Score="11" Body="&lt;p&gt;You can check the recent survey by Ambainis and Yakaryilmaz: &lt;a href=&quot;http://arxiv.org/abs/1507.01988&quot;&gt;Automata and Quantum Computing&lt;/a&gt;. It is comprehensive and points the essential literature with some open questions.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Moreover, &lt;a href=&quot;http://publication.wikia.com/wiki/Quantum_automata&quot;&gt;here&lt;/a&gt; is a list of papers published on quantum automata until 2015.  &lt;/p&gt;&#xA;" OwnerUserId="7358" LastActivityDate="2016-04-07T18:16:39.547" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="34270" PostTypeId="1" CreationDate="2016-04-07T18:16:43.733" Score="2" ViewCount="187" Body="&lt;p&gt;There are some theorems that state $P = BPP$ if some condition is satisfied. For example, a theorem of Impagliazzo and Wigderson states tha $P=BPP$ unless $DTIME(2^{O(n)})$ has sub-exponential circuits for infinitely many input lengths. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Hence there is a polynomial time deterministic algorithm thet solves the Polynomial Identity Testing problem, that works correctly if this condition ($DTIME (2^{O(n)})$ does not have sub-exponential circuits) is satisfied. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Can one state this algorithm explicitly?&lt;/p&gt;&#xA;" OwnerUserId="26721" LastEditorUserId="6579" LastEditDate="2016-04-08T07:43:48.957" LastActivityDate="2016-04-08T07:43:48.957" Title="Derandomization of Polynomial Identity Testing" Tags="&lt;cc.complexity-theory&gt;&lt;derandomization&gt;" AnswerCount="0" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="34271" PostTypeId="1" CreationDate="2016-04-07T18:55:59.547" Score="11" ViewCount="774" Body="&lt;p&gt;In a read-twice opposite CNF formula each variable appears twice, once positive and once negative.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I'm interested in the $\oplus\text{Rtw-Opp-CNF}$ problem, which consists in computing the parity of the number of satisfying assignments of a read-twice opposite CNF formula.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;I was unable to find any reference about the complexity of such problem. The closest I was able to find is that the counting version $\#\text{Rtw-Opp-CNF}$ is $\#\text{P}$-complete (see section 6.3 in &lt;a href=&quot;http://pages.cs.wisc.edu/~jyc/papers/interpolation08.pdf&quot; rel=&quot;nofollow&quot;&gt;this paper&lt;/a&gt;).&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Thanks in advance for your help.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Update 10th April 2016&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;In &lt;a href=&quot;https://books.google.it/books?id=8I8ECAAAQBAJ&amp;amp;pg=PA3&amp;amp;lpg=PA3&amp;amp;dq=readtwiceoppositesat&amp;amp;source=bl&amp;amp;ots=FWTMKbn9Ev&amp;amp;sig=ubyMUmIZo0awDlYM-IGTyFRU1c8&amp;amp;hl=it&amp;amp;sa=X&amp;amp;ved=0ahUKEwjissTkzITMAhVMVRQKHe81AL8Q6AEIHzAA#v=onepage&amp;amp;q=readtwiceoppositesat&amp;amp;f=false&quot; rel=&quot;nofollow&quot;&gt;this paper&lt;/a&gt;, the $\oplus\text{Rtw-Opp-SAT}$ problem is shown to be $\oplus\text{P}$-complete, however the formula produced by reduction from $3\text{SAT}$ is not in CNF, and as soon as you try to convert it back into CNF you get a read-thrice formula.&lt;/li&gt;&#xA;&lt;li&gt;The monotone version $\oplus\text{Rtw-Mon-CNF}$ is shown to be $\oplus\text{P}$-complete in &lt;a href=&quot;http://people.seas.harvard.edu/~valiant/focs06.pdf&quot; rel=&quot;nofollow&quot;&gt;this paper&lt;/a&gt;. In such paper, $\oplus\text{Rtw-Opp-CNF}$ is quickly mentioned at the end of section 4: Valiant says it is degenerate. It is not clear to me what being degenerate exactly means, nor what does it imply in terms of hardness.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Update 12th April 2016&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;It would be also very interesting to know if anyone has ever studied the complexity of the $\Delta\text{Rtw-Opp-CNF}$ problem. Given a read-twice opposite CNF formula, such problem asks to compute the difference between the number of satisfying assignments having an odd number of variables set to true and the number of satisfying assignments having an even number of variables set to true. I've not found any literature about it.&lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;p&gt;&lt;strong&gt;Update 29th May 2016&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As pointed out by Emil Jeřábek in his comment, it is not true that Valiant said that the problem $\oplus\text{Rtw-Opp-CNF}$ is degenerate. He only said that a more restricted version of such problem, $\oplus\text{Pl-Rtw-Opp-3CNF}$, is degenerate. In the meanwhile, I continue to not know what degenerate exactly means, but at least now it seems clear that it is a synonym of lack of expressive power.&lt;/p&gt;&#xA;" OwnerUserId="947" LastEditorUserId="947" LastEditDate="2016-05-29T14:09:03.357" LastActivityDate="2016-10-26T13:58:21.880" Title="Complexity of computing the parity of read-twice opposite CNF formula ($\oplus\text{Rtw-Opp-CNF}$)" Tags="&lt;cc.complexity-theory&gt;&lt;ds.algorithms&gt;&lt;counting-complexity&gt;" AnswerCount="3" CommentCount="7" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="34281" PostTypeId="1" CreationDate="2016-04-08T15:12:15.903" Score="1" ViewCount="67" Body="&lt;p&gt;Are there complexity theoretic results about recoverability or learnability of the marginals (of the source vertices) and the conditionals (along each of the edges) of a Bayesian network from having access to some subset of the vertices? &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Are there at least known conditions when this is provably impossible or when some hardness result has been proven? &lt;/p&gt;&#xA;&#xA;&lt;hr&gt;&#xA;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;p&gt;I am typically assuming that the random variables (one at each vertex) are mapping the same sample space into some finite space which could be different for each random variable/vertex. I would equally well want to know if there are results with continuous distributions.  &lt;/p&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;p&gt;I would be equally well helped to know if there are such results known with Marokov Random Fields or Factor Graphs.  &lt;/p&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;" OwnerUserId="32603" LastEditorUserId="32603" LastEditDate="2016-04-08T16:22:02.903" LastActivityDate="2016-04-08T16:22:02.903" Title="About complexity of recovering or learning Bayesian networks" Tags="&lt;graph-theory&gt;&lt;graph-algorithms&gt;&lt;np-hardness&gt;&lt;approximation-hardness&gt;&lt;graph-colouring&gt;" AnswerCount="0" CommentCount="3" ContentLicense="CC BY-SA 3.0" />
  <row Id="34285" PostTypeId="2" ParentId="17845" CreationDate="2016-04-08T19:29:41.243" Score="1" Body="&lt;p&gt;By &lt;a href=&quot;http://www.cs.ubc.ca/~condon/papers/condon-lipton89.pdf#page=6&quot; rel=&quot;nofollow&quot;&gt;Theorem 3.1&lt;/a&gt; and the proof's IPS being one-way,&#xA;&lt;br&gt;&#xA;for all real numbers $\epsilon$, if ​ $0&amp;lt;\epsilon$ ​ then the &lt;a href=&quot;https://en.wikipedia.org/wiki/Promise_problem&quot; rel=&quot;nofollow&quot;&gt;promise problem&lt;/a&gt;&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Input: ​ a game as described in my question&#xA;&lt;br&gt;&#xA;must output YES if : ​ ​ ​ the game's value for Player 1 is greater than 1-$\hspace{.025 in}\epsilon$&#xA;&lt;br&gt;&#xA;must output ​ NO ​ if : ​ ​ ​ the game's value for Player 1 is less than $\epsilon$&lt;/p&gt;&#xA;&#xA;&lt;p&gt;remains &lt;a href=&quot;https://complexityzoo.uwaterloo.ca/Complexity_Zoo:R#re&quot; rel=&quot;nofollow&quot;&gt;RE&lt;/a&gt;-hard even when&lt;/p&gt;&#xA;&#xA;&lt;p&gt;player_to_move is always 1 ​ (i.e., only 1 player is needed)&#xA;&lt;br&gt;and&lt;br&gt;&#xA;s&lt;sub&gt;0&lt;/sub&gt; ≠ s&lt;sub&gt;a&lt;/sub&gt; ​ and ​ s&lt;sub&gt;a&lt;/sub&gt; is not in Range(next_state_table)&#xA;&lt;br&gt;&#xA;(i.e., it's literally impossible for the player to lose)&#xA;&lt;br&gt;and&lt;br&gt;&#xA;p1_info and p2_info and number_of_choices are independent of the state&#xA;&lt;br&gt;&#xA;(i.e., the player's &lt;em&gt;only&lt;/em&gt; feedback is whether or not it just won)&lt;/p&gt;&#xA;&#xA;&lt;p&gt;.&lt;/p&gt;&#xA;" OwnerDisplayName="user6973" LastEditorDisplayName="user6973" LastEditDate="2016-04-15T17:11:59.133" LastActivityDate="2016-04-15T17:11:59.133" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="34286" PostTypeId="1" CreationDate="2016-04-08T21:45:14.057" Score="1" ViewCount="118" Body="&lt;p&gt;The notion of observational equivalence is rather intuitive, but formally I'm having some doubts in the particular case of open terms. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;Lets consider the simple case where  the terms &lt;code&gt;M&lt;/code&gt; and &lt;code&gt;N&lt;/code&gt; are free variables, &lt;code&gt;M = x&lt;/code&gt; and &lt;code&gt;N = y&lt;/code&gt;. Choosing the program context &lt;code&gt;C[-] = (λxy.[-]) v w&lt;/code&gt; we have,&lt;br&gt;&#xA;&lt;code&gt;C[M] = (λxy.x) v w →* v&lt;/code&gt;&lt;br&gt;&#xA;&lt;code&gt;C[N] = (λxy.y) v w →* w&lt;/code&gt;&lt;br&gt;&#xA;So by definition &lt;code&gt;M&lt;/code&gt; and &lt;code&gt;N&lt;/code&gt; wouldn't be observationally equivalent.        &lt;/p&gt;&#xA;&#xA;&lt;p&gt;However, consider any &lt;em&gt;adequate&lt;/em&gt; denotational semantics of PCF. Then by definition of adequacy, &lt;code&gt;⟦M⟧ = ⟦N⟧&lt;/code&gt; implies &lt;code&gt;M&lt;/code&gt; and &lt;code&gt;N&lt;/code&gt; observationally equivalent. The denotations of both (open) terms are,&lt;br&gt;&#xA;&lt;code&gt;⟦M⟧ = ⟦x ⊢ x⟧ = id&lt;/code&gt;&lt;br&gt;&#xA;&lt;code&gt;⟦N⟧ = ⟦y ⊢ y⟧ = id&lt;/code&gt;&lt;br&gt;&#xA;From what we conclude &lt;code&gt;M&lt;/code&gt; and &lt;code&gt;N&lt;/code&gt;  to be observationally equivalent. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;So, surely I must be going wrong somewhere, and I suspect it to be some trivial mistake. But where?&lt;/p&gt;&#xA;" OwnerUserId="38435" LastEditorUserId="186" LastEditDate="2016-04-30T00:56:28.983" LastActivityDate="2016-04-30T00:56:28.983" Title="Observational Equivalence of open terms in PCF" Tags="&lt;pl.programming-languages&gt;&lt;functional-programming&gt;&lt;semantics&gt;&lt;denotational-semantics&gt;&lt;typed-lambda-calculus&gt;" AnswerCount="1" CommentCount="0" FavoriteCount="1" ContentLicense="CC BY-SA 3.0" />
  <row Id="34287" PostTypeId="2" ParentId="34286" CreationDate="2016-04-08T22:52:30.103" Score="2" Body="&lt;p&gt;Got the answer, thanks to jonsterling on reddit for the insight. &lt;/p&gt;&#xA;&#xA;&lt;p&gt;The error is that both &lt;code&gt;M&lt;/code&gt; and &lt;code&gt;N&lt;/code&gt; written as full judgements, must be weakened to have the same environment, and one that fits &lt;code&gt;C[-]&lt;/code&gt;. So the question becomes whether  &lt;code&gt;⟦M⟧ = ⟦x,y ⊢ x⟧&lt;/code&gt; and &lt;code&gt;⟦N⟧ = ⟦x,y ⊢ y⟧&lt;/code&gt; are observationally equivalent.  And the contradiction above disappears. &lt;/p&gt;&#xA;" OwnerUserId="38435" LastActivityDate="2016-04-08T22:52:30.103" CommentCount="0" ContentLicense="CC BY-SA 3.0" />
  <row Id="34288" PostTypeId="1" AcceptedAnswerId="34334" CreationDate="2016-04-09T00:22:14.473" Score="11" ViewCount="454" Body="&lt;p&gt;One of the most practical consequences of the &quot;Curry-Howard-Lambek&quot; correspondence is that the syntax of many lambda-calucli/logics can be used to perform constructions in a sufficiently structured category.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;For instance, Synthetic Differential Geometry has models in topoi that contain and embedding of the category of smooth manifolds, so you can use higher-order logic to construct smooth functions and solve differential equations.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;As another example, in &lt;a href=&quot;http://arxiv.org/abs/1208.3596&quot; rel=&quot;noreferrer&quot;&gt;this paper&lt;/a&gt;, they notice that &quot;step-indexing&quot; is really just working with presheaves over the naturals (another topos), so you can use the syntax of higher order logic to define step-indexed logical relations without the tedious manipulation of steps.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Finally, Andrej Bauer shows in &lt;a href=&quot;https://mathoverflow.net/questions/124991/what-can-be-expressed-in-and-proved-with-the-internal-logic-of-a-topos/126492#126492&quot;&gt;this MO question&lt;/a&gt; that you can do a lot with the &quot;internal language&quot; of the topos of graphs.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;My question is, &lt;strong&gt;has anyone realized this vision literally in a theorem prover&lt;/strong&gt;?&#xA;For instance, if I show that a category I care about is Cartesian Closed, I could then move to &quot;internal mode&quot; where I write lambda-calculus syntax (with some model-specific axioms) and then can move back to &quot;external mode&quot; and manipulate them as objects in my model?&lt;/p&gt;&#xA;&#xA;&lt;p&gt;In the extreme I would even want topos theory and higher-order logic, so I could write my step-indexed logical relations without steps, or teach classical mechanics with a theorem prover using SDG. This seems to me to be a very powerful idea as someone could implement extensional dependent type theory once and provide nice tooling and then use it with wildly different applications as described above.&lt;/p&gt;&#xA;" OwnerUserId="36037" LastEditorUserId="-1" LastEditDate="2017-04-13T12:57:54.777" LastActivityDate="2016-04-29T09:53:59.673" Title="Implementing &quot;Internal&quot; Languages" Tags="&lt;r